summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2023-04-24 12:39:42 +0900
committerDaiki Ueno <ueno@gnu.org>2023-04-24 12:45:46 +0900
commitaa5950abab56b011331ad4331409b6ff8efb8aeb (patch)
treead363fb38e8b65c942876641cda9c76caa13b498
parent0fe9cb6842d63761718046cc7dd7eb437e6c5163 (diff)
downloadgnutls-aa5950abab56b011331ad4331409b6ff8efb8aeb.tar.gz
build: re-indent code
Signed-off-by: Daiki Ueno <ueno@gnu.org>
-rw-r--r--doc/alert-printlist.c21
-rw-r--r--doc/common.c2
-rw-r--r--doc/errcodes.c32
-rw-r--r--doc/examples/ex-alert.c6
-rw-r--r--doc/examples/ex-cert-select-pkcs11.c27
-rw-r--r--doc/examples/ex-cert-select.c40
-rw-r--r--doc/examples/ex-client-anon.c21
-rw-r--r--doc/examples/ex-client-dtls.c25
-rw-r--r--doc/examples/ex-client-psk.c25
-rw-r--r--doc/examples/ex-client-resume.c27
-rw-r--r--doc/examples/ex-client-srp.c11
-rw-r--r--doc/examples/ex-client-x509-3.1.c25
-rw-r--r--doc/examples/ex-client-x509.c29
-rw-r--r--doc/examples/ex-crq.c15
-rw-r--r--doc/examples/ex-ocsp-client.c47
-rw-r--r--doc/examples/ex-pkcs11-list.c8
-rw-r--r--doc/examples/ex-pkcs12.c17
-rw-r--r--doc/examples/ex-serv-anon.c29
-rw-r--r--doc/examples/ex-serv-dtls.c104
-rw-r--r--doc/examples/ex-serv-psk.c46
-rw-r--r--doc/examples/ex-serv-srp.c37
-rw-r--r--doc/examples/ex-serv-x509.c41
-rw-r--r--doc/examples/ex-session-info.c16
-rw-r--r--doc/examples/ex-verify-ssh.c26
-rw-r--r--doc/examples/ex-verify.c47
-rw-r--r--doc/examples/ex-x509-info.c8
-rw-r--r--doc/examples/examples.h15
-rw-r--r--doc/examples/print-ciphersuites.c14
-rw-r--r--doc/examples/tcp.c4
-rw-r--r--doc/examples/tlsproxy/buffer.c20
-rw-r--r--doc/examples/tlsproxy/buffer.h26
-rw-r--r--doc/examples/tlsproxy/crypto-gnutls.c132
-rw-r--r--doc/examples/tlsproxy/crypto-gnutls.h19
-rw-r--r--doc/examples/tlsproxy/tlsproxy.c61
-rw-r--r--doc/examples/udp.c10
-rw-r--r--doc/examples/verify.c8
-rw-r--r--doc/printlist.c45
-rw-r--r--extra/gnutls_openssl.c175
-rw-r--r--extra/includes/gnutls/openssl.h447
-rw-r--r--extra/openssl_compat.c64
-rw-r--r--extra/openssl_compat.h4
-rw-r--r--fuzz/certs.h266
-rw-r--r--fuzz/fuzzer.h12
-rw-r--r--fuzz/gnutls_base64_decoder_fuzzer.c4
-rw-r--r--fuzz/gnutls_base64_encoder_fuzzer.c4
-rw-r--r--fuzz/gnutls_client_fuzzer.c8
-rw-r--r--fuzz/gnutls_client_rawpk_fuzzer.c25
-rw-r--r--fuzz/gnutls_dn_parser_fuzzer.c4
-rw-r--r--fuzz/gnutls_ext_raw_parse_fuzzer.c7
-rw-r--r--fuzz/gnutls_handshake_client_fuzzer.c10
-rw-r--r--fuzz/gnutls_handshake_server_fuzzer.c31
-rw-r--r--fuzz/gnutls_idna_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_ocsp_req_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_ocsp_resp_parser_fuzzer.c6
-rw-r--r--fuzz/gnutls_pkcs12_key_parser_fuzzer.c9
-rw-r--r--fuzz/gnutls_pkcs7_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_pkcs8_key_parser_fuzzer.c9
-rw-r--r--fuzz/gnutls_private_key_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_psk_client_fuzzer.c14
-rw-r--r--fuzz/gnutls_psk_server_fuzzer.c33
-rw-r--r--fuzz/gnutls_reverse_idna_parser_fuzzer.c4
-rw-r--r--fuzz/gnutls_server_fuzzer.c29
-rw-r--r--fuzz/gnutls_server_rawpk_fuzzer.c25
-rw-r--r--fuzz/gnutls_set_trust_file_fuzzer.c13
-rw-r--r--fuzz/gnutls_srp_client_fuzzer.c8
-rw-r--r--fuzz/gnutls_srp_server_fuzzer.c44
-rw-r--r--fuzz/gnutls_x509_crl_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_x509_crq_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_x509_parser_fuzzer.c2
-rw-r--r--fuzz/gnutls_x509_verify_fuzzer.c17
-rw-r--r--fuzz/handshake.h25
-rw-r--r--fuzz/main.c30
-rw-r--r--fuzz/mem.h11
-rw-r--r--fuzz/psk.h9
-rw-r--r--fuzz/srp.h10
-rw-r--r--lib/abstract_int.h67
-rw-r--r--lib/accelerated/aarch64/aarch64-common.c146
-rw-r--r--lib/accelerated/aarch64/aarch64-common.h39
-rw-r--r--lib/accelerated/aarch64/aes-aarch64.h32
-rw-r--r--lib/accelerated/aarch64/aes-cbc-aarch64.c34
-rw-r--r--lib/accelerated/aarch64/aes-ccm-aarch64.c61
-rw-r--r--lib/accelerated/aarch64/aes-gcm-aarch64.c66
-rw-r--r--lib/accelerated/aarch64/hmac-sha-aarch64.c113
-rw-r--r--lib/accelerated/aarch64/sha-aarch64.c60
-rw-r--r--lib/accelerated/aarch64/sha-aarch64.h12
-rw-r--r--lib/accelerated/accelerated.c6
-rw-r--r--lib/accelerated/accelerated.h4
-rw-r--r--lib/accelerated/afalg.c102
-rw-r--r--lib/accelerated/cryptodev-gcm.c69
-rw-r--r--lib/accelerated/cryptodev.c127
-rw-r--r--lib/accelerated/cryptodev.h8
-rw-r--r--lib/accelerated/x86/aes-cbc-x86-aesni.c30
-rw-r--r--lib/accelerated/x86/aes-cbc-x86-ssse3.c34
-rw-r--r--lib/accelerated/x86/aes-ccm-x86-aesni.c62
-rw-r--r--lib/accelerated/x86/aes-gcm-aead.h33
-rw-r--r--lib/accelerated/x86/aes-gcm-padlock.c43
-rw-r--r--lib/accelerated/x86/aes-gcm-x86-aesni.c40
-rw-r--r--lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c99
-rw-r--r--lib/accelerated/x86/aes-gcm-x86-pclmul.c59
-rw-r--r--lib/accelerated/x86/aes-gcm-x86-ssse3.c42
-rw-r--r--lib/accelerated/x86/aes-padlock.c22
-rw-r--r--lib/accelerated/x86/aes-padlock.h30
-rw-r--r--lib/accelerated/x86/aes-x86.h70
-rw-r--r--lib/accelerated/x86/aes-xts-x86-aesni.c34
-rw-r--r--lib/accelerated/x86/hmac-padlock.c144
-rw-r--r--lib/accelerated/x86/hmac-x86-ssse3.c108
-rw-r--r--lib/accelerated/x86/sha-padlock.c110
-rw-r--r--lib/accelerated/x86/sha-padlock.h22
-rw-r--r--lib/accelerated/x86/sha-x86-ssse3.c56
-rw-r--r--lib/accelerated/x86/sha-x86.h12
-rw-r--r--lib/accelerated/x86/x86-common.c739
-rw-r--r--lib/accelerated/x86/x86-common.h29
-rw-r--r--lib/alert.c59
-rw-r--r--lib/algorithms.h251
-rw-r--r--lib/algorithms/cert_types.c4
-rw-r--r--lib/algorithms/ciphers.c673
-rw-r--r--lib/algorithms/ciphersuites.c2201
-rw-r--r--lib/algorithms/ecc.c464
-rw-r--r--lib/algorithms/groups.c310
-rw-r--r--lib/algorithms/kx.c155
-rw-r--r--lib/algorithms/mac.c446
-rw-r--r--lib/algorithms/protocols.c323
-rw-r--r--lib/algorithms/publickey.c242
-rw-r--r--lib/algorithms/secparams.c50
-rw-r--r--lib/algorithms/sign.c811
-rw-r--r--lib/anon_cred.c45
-rw-r--r--lib/asn1_tab.c126
-rw-r--r--lib/atfork.c14
-rw-r--r--lib/atfork.h32
-rw-r--r--lib/atomic.h30
-rw-r--r--lib/auth.c160
-rw-r--r--lib/auth.h28
-rw-r--r--lib/auth/anon.c57
-rw-r--r--lib/auth/anon.h8
-rw-r--r--lib/auth/anon_ecdh.c65
-rw-r--r--lib/auth/cert.c728
-rw-r--r--lib/auth/cert.h85
-rw-r--r--lib/auth/dh_common.c236
-rw-r--r--lib/auth/dh_common.h26
-rw-r--r--lib/auth/dhe.c39
-rw-r--r--lib/auth/dhe_psk.c233
-rw-r--r--lib/auth/ecdhe.c210
-rw-r--r--lib/auth/ecdhe.h35
-rw-r--r--lib/auth/psk.c121
-rw-r--r--lib/auth/psk.h36
-rw-r--r--lib/auth/psk_passwd.c44
-rw-r--r--lib/auth/psk_passwd.h11
-rw-r--r--lib/auth/rsa.c72
-rw-r--r--lib/auth/rsa_common.h11
-rw-r--r--lib/auth/rsa_psk.c146
-rw-r--r--lib/auth/srp_kx.c717
-rw-r--r--lib/auth/srp_kx.h20
-rw-r--r--lib/auth/srp_passwd.c89
-rw-r--r--lib/auth/srp_passwd.h12
-rw-r--r--lib/auth/srp_rsa.c148
-rw-r--r--lib/auth/srp_sb64.c132
-rw-r--r--lib/auth/vko_gost.c87
-rw-r--r--lib/auto-verify.c17
-rw-r--r--lib/buffers.c694
-rw-r--r--lib/buffers.h69
-rw-r--r--lib/cert-cred-rawpk.c73
-rw-r--r--lib/cert-cred-x509.c400
-rw-r--r--lib/cert-cred.c330
-rw-r--r--lib/cert-cred.h44
-rw-r--r--lib/cert-session.c257
-rw-r--r--lib/cipher-cbc.c55
-rw-r--r--lib/cipher.c496
-rw-r--r--lib/cipher.h37
-rw-r--r--lib/cipher_int.c235
-rw-r--r--lib/cipher_int.h158
-rw-r--r--lib/compress.c176
-rw-r--r--lib/compress.h14
-rw-r--r--lib/constate.c617
-rw-r--r--lib/constate.h15
-rw-r--r--lib/crypto-api.c444
-rw-r--r--lib/crypto-api.h29
-rw-r--r--lib/crypto-backend.c141
-rw-r--r--lib/crypto-backend.h336
-rw-r--r--lib/crypto-selftests-pk.c465
-rw-r--r--lib/crypto-selftests.c3876
-rw-r--r--lib/crypto.h15
-rw-r--r--lib/datum.c6
-rw-r--r--lib/datum.h28
-rw-r--r--lib/db.c67
-rw-r--r--lib/db.h8
-rw-r--r--lib/debug.c14
-rw-r--r--lib/debug.h6
-rw-r--r--lib/dh-primes.c2796
-rw-r--r--lib/dh-session.c266
-rw-r--r--lib/dh.c255
-rw-r--r--lib/dh.h25
-rw-r--r--lib/dtls-sw.c20
-rw-r--r--lib/dtls.c193
-rw-r--r--lib/dtls.h83
-rw-r--r--lib/ecc.c23
-rw-r--r--lib/ecc.h10
-rw-r--r--lib/errors.c216
-rw-r--r--lib/errors.h218
-rw-r--r--lib/ext/alpn.c110
-rw-r--r--lib/ext/alpn.h10
-rw-r--r--lib/ext/cert_types.h8
-rw-r--r--lib/ext/client_cert_type.c184
-rw-r--r--lib/ext/client_cert_type.h6
-rw-r--r--lib/ext/compress_certificate.c50
-rw-r--r--lib/ext/compress_certificate.h28
-rw-r--r--lib/ext/cookie.c46
-rw-r--r--lib/ext/cookie.h6
-rw-r--r--lib/ext/dumbfw.c10
-rw-r--r--lib/ext/dumbfw.h6
-rw-r--r--lib/ext/early_data.c34
-rw-r--r--lib/ext/early_data.h6
-rw-r--r--lib/ext/ec_point_formats.c49
-rw-r--r--lib/ext/ec_point_formats.h6
-rw-r--r--lib/ext/etm.c49
-rw-r--r--lib/ext/etm.h6
-rw-r--r--lib/ext/ext_master_secret.c31
-rw-r--r--lib/ext/ext_master_secret.h8
-rw-r--r--lib/ext/heartbeat.c181
-rw-r--r--lib/ext/heartbeat.h20
-rw-r--r--lib/ext/key_share.c507
-rw-r--r--lib/ext/key_share.h6
-rw-r--r--lib/ext/max_record.c66
-rw-r--r--lib/ext/max_record.h6
-rw-r--r--lib/ext/post_handshake.c21
-rw-r--r--lib/ext/post_handshake.h6
-rw-r--r--lib/ext/pre_shared_key.c349
-rw-r--r--lib/ext/pre_shared_key.h22
-rw-r--r--lib/ext/psk_ke_modes.c69
-rw-r--r--lib/ext/psk_ke_modes.h6
-rw-r--r--lib/ext/record_size_limit.c62
-rw-r--r--lib/ext/record_size_limit.h6
-rw-r--r--lib/ext/safe_renegotiation.c178
-rw-r--r--lib/ext/safe_renegotiation.h15
-rw-r--r--lib/ext/server_cert_type.c169
-rw-r--r--lib/ext/server_cert_type.h6
-rw-r--r--lib/ext/server_name.c139
-rw-r--r--lib/ext/server_name.h6
-rw-r--r--lib/ext/session_ticket.c216
-rw-r--r--lib/ext/session_ticket.h14
-rw-r--r--lib/ext/signature.c193
-rw-r--r--lib/ext/signature.h16
-rw-r--r--lib/ext/srp.c116
-rw-r--r--lib/ext/srp.h17
-rw-r--r--lib/ext/srtp.c183
-rw-r--r--lib/ext/srtp.h14
-rw-r--r--lib/ext/status_request.c110
-rw-r--r--lib/ext/status_request.h12
-rw-r--r--lib/ext/supported_groups.c145
-rw-r--r--lib/ext/supported_groups.h10
-rw-r--r--lib/ext/supported_versions.c80
-rw-r--r--lib/ext/supported_versions.h6
-rw-r--r--lib/extras/hex.h10
-rw-r--r--lib/extras/randomart.c17
-rw-r--r--lib/extras/randomart.h7
-rw-r--r--lib/extv.c43
-rw-r--r--lib/extv.h29
-rw-r--r--lib/file.c2
-rw-r--r--lib/file.h4
-rw-r--r--lib/fingerprint.c10
-rw-r--r--lib/fips.c129
-rw-r--r--lib/fips.h71
-rw-r--r--lib/fipshmac.c22
-rw-r--r--lib/global.c79
-rw-r--r--lib/global.h12
-rw-r--r--lib/gnutls_int.h866
-rw-r--r--lib/gthreads.h26
-rw-r--r--lib/handshake-checks.c46
-rw-r--r--lib/handshake-defs.h42
-rw-r--r--lib/handshake-tls13.c354
-rw-r--r--lib/handshake.c1391
-rw-r--r--lib/handshake.h155
-rw-r--r--lib/hash_int.c93
-rw-r--r--lib/hash_int.h76
-rw-r--r--lib/hello_ext.c293
-rw-r--r--lib/hello_ext.h64
-rw-r--r--lib/hello_ext_lib.c35
-rw-r--r--lib/hello_ext_lib.h41
-rw-r--r--lib/includes/gnutls/abstract.h746
-rw-r--r--lib/includes/gnutls/compat.h221
-rw-r--r--lib/includes/gnutls/crypto.h285
-rw-r--r--lib/includes/gnutls/dtls.h20
-rw-r--r--lib/includes/gnutls/gnutls.h.in1811
-rw-r--r--lib/includes/gnutls/gnutlsxx.h2257
-rw-r--r--lib/includes/gnutls/ocsp.h131
-rw-r--r--lib/includes/gnutls/openpgp.h491
-rw-r--r--lib/includes/gnutls/pkcs11.h335
-rw-r--r--lib/includes/gnutls/pkcs12.h79
-rw-r--r--lib/includes/gnutls/pkcs7.h72
-rw-r--r--lib/includes/gnutls/self-test.h12
-rw-r--r--lib/includes/gnutls/socket.h11
-rw-r--r--lib/includes/gnutls/system-keys.h20
-rw-r--r--lib/includes/gnutls/tpm.h38
-rw-r--r--lib/includes/gnutls/urls.h18
-rw-r--r--lib/includes/gnutls/x509-ext.h134
-rw-r--r--lib/includes/gnutls/x509.h1422
-rw-r--r--lib/inih/ini.c14
-rw-r--r--lib/inih/ini.h101
-rw-r--r--lib/iov.c21
-rw-r--r--lib/iov.h27
-rw-r--r--lib/kx.c313
-rw-r--r--lib/kx.h18
-rw-r--r--lib/locks.c5
-rw-r--r--lib/locks.h60
-rw-r--r--lib/mbuffers.c46
-rw-r--r--lib/mbuffers.h83
-rw-r--r--lib/mem.c7
-rw-r--r--lib/mem.h47
-rw-r--r--lib/mpi.c73
-rw-r--r--lib/mpi.h94
-rw-r--r--lib/name_val_array.h24
-rw-r--r--lib/nettle/cipher.c1602
-rw-r--r--lib/nettle/ecc-gost-curve.h63
-rw-r--r--lib/nettle/gnettle.h10
-rw-r--r--lib/nettle/gost/acpkm.c17
-rw-r--r--lib/nettle/gost/acpkm.h41
-rw-r--r--lib/nettle/gost/bignum-le.c10
-rw-r--r--lib/nettle/gost/bignum-le.h36
-rw-r--r--lib/nettle/gost/cmac-kuznyechik.c20
-rw-r--r--lib/nettle/gost/cmac-magma.c19
-rw-r--r--lib/nettle/gost/cmac.h82
-rw-r--r--lib/nettle/gost/ecc-gost-hash.c7
-rw-r--r--lib/nettle/gost/gost-point-mul-g.c2
-rw-r--r--lib/nettle/gost/gost-point.c14
-rw-r--r--lib/nettle/gost/gost-wrap.c33
-rw-r--r--lib/nettle/gost/gost28147.c10569
-rw-r--r--lib/nettle/gost/gost28147.h293
-rw-r--r--lib/nettle/gost/gostdsa-keygen.c8
-rw-r--r--lib/nettle/gost/gostdsa-mask.c8
-rw-r--r--lib/nettle/gost/gostdsa2.h25
-rw-r--r--lib/nettle/gost/hmac-gost.h71
-rw-r--r--lib/nettle/gost/hmac-streebog.c33
-rw-r--r--lib/nettle/gost/kuznyechik.c48
-rw-r--r--lib/nettle/gost/kuznyechik.h55
-rw-r--r--lib/nettle/gost/kuztable.h45244
-rw-r--r--lib/nettle/gost/magma.c34
-rw-r--r--lib/nettle/gost/magma.h51
-rw-r--r--lib/nettle/gost/nettle-write.h14
-rw-r--r--lib/nettle/gost/streebog-meta.c16
-rw-r--r--lib/nettle/gost/streebog.c1869
-rw-r--r--lib/nettle/gost/streebog.h89
-rw-r--r--lib/nettle/gost/write-le32.c7
-rw-r--r--lib/nettle/gost_keywrap.c25
-rw-r--r--lib/nettle/init.c2
-rw-r--r--lib/nettle/int/block8.h18
-rw-r--r--lib/nettle/int/drbg-aes-self-test.c51
-rw-r--r--lib/nettle/int/drbg-aes.c31
-rw-r--r--lib/nettle/int/drbg-aes.h54
-rw-r--r--lib/nettle/int/dsa-compute-k.c16
-rw-r--r--lib/nettle/int/dsa-compute-k.h17
-rw-r--r--lib/nettle/int/dsa-fips.h128
-rw-r--r--lib/nettle/int/dsa-keygen-fips186.c126
-rw-r--r--lib/nettle/int/dsa-validate.c57
-rw-r--r--lib/nettle/int/ecdsa-compute-k.c34
-rw-r--r--lib/nettle/int/ecdsa-compute-k.h17
-rw-r--r--lib/nettle/int/mpn-base256.c8
-rw-r--r--lib/nettle/int/mpn-base256.h12
-rw-r--r--lib/nettle/int/provable-prime.c1658
-rw-r--r--lib/nettle/int/rsa-fips.h38
-rw-r--r--lib/nettle/int/rsa-keygen-fips186.c103
-rw-r--r--lib/nettle/int/rsa-pad.c20
-rw-r--r--lib/nettle/int/tls1-prf.c62
-rw-r--r--lib/nettle/int/tls1-prf.h30
-rw-r--r--lib/nettle/mac.c270
-rw-r--r--lib/nettle/mpi.c44
-rw-r--r--lib/nettle/nettle-alloca.h33
-rw-r--r--lib/nettle/pk.c3754
-rw-r--r--lib/nettle/prf.c126
-rw-r--r--lib/nettle/rnd-common.h20
-rw-r--r--lib/nettle/rnd-fips.c12
-rw-r--r--lib/nettle/rnd-fuzzer.c26
-rw-r--r--lib/nettle/rnd.c47
-rw-r--r--lib/nettle/sysrng-bcrypt.c7
-rw-r--r--lib/nettle/sysrng-getentropy.c6
-rw-r--r--lib/nettle/sysrng-linux.c53
-rw-r--r--lib/nettle/sysrng-netbsd.c4
-rw-r--r--lib/nettle/sysrng-windows.c10
-rw-r--r--lib/num.h64
-rw-r--r--lib/ocsp-api.c179
-rw-r--r--lib/openpgp_compat.c367
-rw-r--r--lib/pathbuf.c4
-rw-r--r--lib/pathbuf.h14
-rw-r--r--lib/pcert.c125
-rw-r--r--lib/pin.c17
-rw-r--r--lib/pin.h11
-rw-r--r--lib/pk.c224
-rw-r--r--lib/pk.h168
-rw-r--r--lib/pkcs11.c1189
-rw-r--r--lib/pkcs11_int.c200
-rw-r--r--lib/pkcs11_int.h454
-rw-r--r--lib/pkcs11_privkey.c371
-rw-r--r--lib/pkcs11_secret.c18
-rw-r--r--lib/pkcs11_write.c644
-rw-r--r--lib/pkcs11x.c104
-rw-r--r--lib/pkcs11x.h6
-rw-r--r--lib/prf.c93
-rw-r--r--lib/priority.c1567
-rw-r--r--lib/privkey.c473
-rw-r--r--lib/privkey_raw.c171
-rw-r--r--lib/profiles.c26
-rw-r--r--lib/profiles.h13
-rw-r--r--lib/psk.c138
-rw-r--r--lib/pubkey.c641
-rw-r--r--lib/random.c7
-rw-r--r--lib/random.h10
-rw-r--r--lib/randomart.c11
-rw-r--r--lib/range.c102
-rw-r--r--lib/record.c889
-rw-r--r--lib/record.h39
-rw-r--r--lib/safe-memfuncs.c1
-rw-r--r--lib/secrets.c63
-rw-r--r--lib/secrets.h45
-rw-r--r--lib/session.c125
-rw-r--r--lib/session_pack.c351
-rw-r--r--lib/session_pack.h8
-rw-r--r--lib/srp.c232
-rw-r--r--lib/srp.h28
-rw-r--r--lib/sslv2_compat.c68
-rw-r--r--lib/sslv2_compat.h6
-rw-r--r--lib/state.c445
-rw-r--r--lib/state.h61
-rw-r--r--lib/stek.c49
-rw-r--r--lib/stek.h28
-rw-r--r--lib/str-iconv.c30
-rw-r--r--lib/str-idna.c54
-rw-r--r--lib/str-unicode.c54
-rw-r--r--lib/str.c241
-rw-r--r--lib/str.h426
-rw-r--r--lib/str_array.h28
-rw-r--r--lib/supplemental.c75
-rw-r--r--lib/supplemental.h12
-rw-r--r--lib/system-keys.h14
-rw-r--r--lib/system.c13
-rw-r--r--lib/system.h82
-rw-r--r--lib/system/certs.c223
-rw-r--r--lib/system/fastopen.c107
-rw-r--r--lib/system/keys-dummy.c11
-rw-r--r--lib/system/keys-win.c521
-rw-r--r--lib/system/ktls.c704
-rw-r--r--lib/system/ktls.h16
-rw-r--r--lib/system/sockets.c60
-rw-r--r--lib/system/threads.c6
-rw-r--r--lib/system_override.c27
-rw-r--r--lib/tls-sig.c388
-rw-r--r--lib/tls-sig.h33
-rw-r--r--lib/tls13-sig.c99
-rw-r--r--lib/tls13-sig.h30
-rw-r--r--lib/tls13/anti_replay.c49
-rw-r--r--lib/tls13/anti_replay.h9
-rw-r--r--lib/tls13/certificate.c216
-rw-r--r--lib/tls13/certificate.h4
-rw-r--r--lib/tls13/certificate_request.c169
-rw-r--r--lib/tls13/certificate_request.h6
-rw-r--r--lib/tls13/certificate_verify.c62
-rw-r--r--lib/tls13/certificate_verify.h4
-rw-r--r--lib/tls13/early_data.c18
-rw-r--r--lib/tls13/early_data.h4
-rw-r--r--lib/tls13/encrypted_extensions.c21
-rw-r--r--lib/tls13/encrypted_extensions.h4
-rw-r--r--lib/tls13/finished.c45
-rw-r--r--lib/tls13/finished.h9
-rw-r--r--lib/tls13/hello_retry.c45
-rw-r--r--lib/tls13/hello_retry.h4
-rw-r--r--lib/tls13/key_update.c38
-rw-r--r--lib/tls13/key_update.h6
-rw-r--r--lib/tls13/post_handshake.c71
-rw-r--r--lib/tls13/psk_ext_parser.c10
-rw-r--r--lib/tls13/psk_ext_parser.h17
-rw-r--r--lib/tls13/session_ticket.c110
-rw-r--r--lib/tls13/session_ticket.h15
-rw-r--r--lib/tpm.c654
-rw-r--r--lib/tpm2.c32
-rw-r--r--lib/tpm2.h18
-rw-r--r--lib/tpm2_esys.c516
-rw-r--r--lib/urls.c26
-rw-r--r--lib/urls.h20
-rw-r--r--lib/verify-tofu.c164
-rw-r--r--lib/vko.c89
-rw-r--r--lib/vko.h20
-rw-r--r--lib/x509.h22
-rw-r--r--lib/x509/attributes.c50
-rw-r--r--lib/x509/attributes.h16
-rw-r--r--lib/x509/common.c407
-rw-r--r--lib/x509/common.h310
-rw-r--r--lib/x509/crl.c302
-rw-r--r--lib/x509/crl_write.c100
-rw-r--r--lib/x509/crq.c688
-rw-r--r--lib/x509/dn.c281
-rw-r--r--lib/x509/email-verify.c66
-rw-r--r--lib/x509/extensions.c232
-rw-r--r--lib/x509/hostname-verify.c95
-rw-r--r--lib/x509/ip-in-cidr.h18
-rw-r--r--lib/x509/ip.c18
-rw-r--r--lib/x509/ip.h4
-rw-r--r--lib/x509/key_decode.c223
-rw-r--r--lib/x509/key_encode.c346
-rw-r--r--lib/x509/krb5.c82
-rw-r--r--lib/x509/krb5.h10
-rw-r--r--lib/x509/mpi.c96
-rw-r--r--lib/x509/name_constraints.c423
-rw-r--r--lib/x509/ocsp.c541
-rw-r--r--lib/x509/ocsp.h10
-rw-r--r--lib/x509/ocsp_output.c132
-rw-r--r--lib/x509/output.c1006
-rw-r--r--lib/x509/pkcs12.c559
-rw-r--r--lib/x509/pkcs12_bag.c146
-rw-r--r--lib/x509/pkcs12_encr.c23
-rw-r--r--lib/x509/pkcs7-attrs.c13
-rw-r--r--lib/x509/pkcs7-crypt.c892
-rw-r--r--lib/x509/pkcs7-output.c78
-rw-r--r--lib/x509/pkcs7.c611
-rw-r--r--lib/x509/pkcs7_int.h109
-rw-r--r--lib/x509/privkey.c672
-rw-r--r--lib/x509/privkey_openssl.c70
-rw-r--r--lib/x509/privkey_pkcs8.c522
-rw-r--r--lib/x509/privkey_pkcs8_pbes1.c53
-rw-r--r--lib/x509/prov-seed.c35
-rw-r--r--lib/x509/prov-seed.h9
-rw-r--r--lib/x509/sign.c52
-rw-r--r--lib/x509/spki.c18
-rw-r--r--lib/x509/time.c90
-rw-r--r--lib/x509/tls_features.c25
-rw-r--r--lib/x509/verify-high.c684
-rw-r--r--lib/x509/verify-high.h4
-rw-r--r--lib/x509/verify-high2.c268
-rw-r--r--lib/x509/verify.c912
-rw-r--r--lib/x509/virt-san.c54
-rw-r--r--lib/x509/virt-san.h8
-rw-r--r--lib/x509/x509.c1117
-rw-r--r--lib/x509/x509_dn.c141
-rw-r--r--lib/x509/x509_ext.c902
-rw-r--r--lib/x509/x509_ext_int.h10
-rw-r--r--lib/x509/x509_int.h466
-rw-r--r--lib/x509/x509_write.c492
-rw-r--r--lib/x509_b64.c92
-rw-r--r--lib/x509_b64.h25
-rw-r--r--libdane/dane-params.c28
-rw-r--r--libdane/dane.c231
-rw-r--r--libdane/errors.c33
-rw-r--r--libdane/includes/gnutls/dane.h80
-rw-r--r--src/benchmark-cipher.c49
-rw-r--r--src/benchmark-tls.c475
-rw-r--r--src/benchmark.c20
-rw-r--r--src/benchmark.h44
-rw-r--r--src/certtool-cfg.c1202
-rw-r--r--src/certtool-cfg.h12
-rw-r--r--src/certtool-common.c306
-rw-r--r--src/certtool-common.h124
-rw-r--r--src/certtool-extras.c18
-rw-r--r--src/certtool.c723
-rw-r--r--src/cfg.c6
-rw-r--r--src/cfg.h4
-rw-r--r--src/cli-debug.c273
-rw-r--r--src/cli.c477
-rw-r--r--src/common.c254
-rw-r--r--src/common.h116
-rw-r--r--src/danetool.c114
-rw-r--r--[-rwxr-xr-x]src/inline_cmds.h25
-rw-r--r--src/ocsptool-common.c81
-rw-r--r--src/ocsptool-common.h23
-rw-r--r--src/ocsptool.c100
-rw-r--r--src/p11tool.c58
-rw-r--r--src/p11tool.h79
-rw-r--r--src/pkcs11.c460
-rw-r--r--src/psk.c75
-rw-r--r--src/serv.c598
-rw-r--r--src/socket.c189
-rw-r--r--src/socket.h57
-rw-r--r--src/srptool.c99
-rw-r--r--src/systemkey.c15
-rw-r--r--src/tests.c481
-rw-r--r--src/tests.h18
-rw-r--r--src/tpmtool.c48
-rw-r--r--src/udp-serv.c120
-rw-r--r--src/udp-serv.h10
-rw-r--r--tests/aead-cipher-vec.c18
-rw-r--r--tests/alerts.c62
-rw-r--r--tests/alpn-server-prec.c70
-rw-r--r--tests/anonself.c54
-rw-r--r--tests/atfork.c10
-rw-r--r--tests/auto-verify.c333
-rw-r--r--tests/base64-raw.c146
-rw-r--r--tests/base64.c169
-rw-r--r--tests/buffer.c37
-rw-r--r--tests/cert-common.h3223
-rw-r--r--tests/cert-repro-20170915.h749
-rw-r--r--tests/cert-status.c57
-rw-r--r--tests/cert.c15
-rw-r--r--tests/cert_verify_inv_utf8.c43
-rw-r--r--tests/certificate_set_x509_crl.c38
-rw-r--r--tests/certuniqueid.c213
-rw-r--r--tests/chainverify-unsorted.c1099
-rw-r--r--tests/chainverify.c87
-rw-r--r--tests/cipher-alignment.c263
-rw-r--r--tests/cipher-neg-common.c42
-rw-r--r--tests/cipher-padding.c40
-rw-r--r--tests/ciphersuite-name.c17
-rw-r--r--tests/client-fastopen.c60
-rw-r--r--tests/client-secrets.h520
-rw-r--r--tests/client-sign-md5-rep.c1106
-rw-r--r--tests/client_dsa_key.c36
-rw-r--r--tests/cmocka-common.h18
-rw-r--r--tests/common-cert-key-exchange.c164
-rw-r--r--tests/common-cert-key-exchange.h154
-rw-r--r--tests/common-key-tests.h110
-rw-r--r--tests/conv-utf8.c132
-rw-r--r--tests/crl-basic.c179
-rw-r--r--tests/crl_apis.c117
-rw-r--r--tests/crlverify.c295
-rw-r--r--tests/crq-basic.c122
-rw-r--r--tests/crq_apis.c163
-rw-r--r--tests/crq_key_id.c47
-rw-r--r--tests/crt_apis.c107
-rw-r--r--tests/crt_inv_write.c28
-rw-r--r--tests/crt_type-neg-common.c178
-rw-r--r--tests/custom-urls-override.c72
-rw-r--r--tests/custom-urls.c81
-rw-r--r--tests/cve-2008-4989.c217
-rw-r--r--tests/cve-2009-1415.c54
-rw-r--r--tests/cve-2009-1416.c2
-rw-r--r--tests/dane-strcodes.c5
-rw-r--r--tests/dane.c865
-rw-r--r--tests/datefudge-check.c2
-rw-r--r--tests/dh-compute.c131
-rw-r--r--tests/dh-params.c13
-rw-r--r--tests/dhepskself.c50
-rw-r--r--tests/dhex509self.c77
-rw-r--r--tests/dn.c93
-rw-r--r--tests/dn2.c72
-rw-r--r--tests/dss-sig-val.c223
-rw-r--r--tests/dtls-client-with-seccomp.c58
-rw-r--r--tests/dtls-etm.c81
-rw-r--r--tests/dtls-handshake-versions.c17
-rw-r--r--tests/dtls-max-record.c24
-rw-r--r--tests/dtls-pthread.c57
-rw-r--r--tests/dtls-rehandshake-anon.c93
-rw-r--r--tests/dtls-rehandshake-cert-2.c87
-rw-r--r--tests/dtls-rehandshake-cert-3.c81
-rw-r--r--tests/dtls-rehandshake-cert.c87
-rw-r--r--tests/dtls-repro-20170915.c14
-rw-r--r--tests/dtls-session-ticket-lost.c46
-rw-r--r--tests/dtls-sliding-window.c8
-rw-r--r--tests/dtls-with-seccomp.c58
-rw-r--r--tests/dtls/dtls-stress.c645
-rw-r--r--tests/dtls1-2-mtu-check.c406
-rw-r--r--tests/dtls10-cert-key-exchange.c11
-rw-r--r--tests/dtls12-cert-key-exchange.c62
-rw-r--r--tests/duplicate-extensions.c79
-rw-r--r--tests/eagain-auto-auth.c57
-rw-r--r--tests/eagain-common.h422
-rw-r--r--tests/eagain.c26
-rw-r--r--tests/ecdh-compute.c202
-rw-r--r--tests/empty_retrieve_function.c37
-rw-r--r--tests/fallback-scsv.c59
-rw-r--r--tests/fips-mode-pthread.c46
-rw-r--r--tests/fips-rsa-sizes.c23
-rw-r--r--tests/fips-test.c112
-rw-r--r--tests/global-init-override.c7
-rw-r--r--tests/global-init.c2
-rw-r--r--tests/gnutls-ids.c2
-rw-r--r--tests/gnutls-strcodes.c39
-rw-r--r--tests/gnutls_ext_raw_parse.c69
-rw-r--r--tests/gnutls_ext_raw_parse_dtls.c73
-rw-r--r--tests/gnutls_hmac_fast.c50
-rw-r--r--tests/gnutls_ktls.c67
-rw-r--r--tests/gnutls_ocsp_resp_list_import2.c335
-rw-r--r--tests/gnutls_record_overhead.c61
-rw-r--r--tests/gnutls_session_set_id.c22
-rw-r--r--tests/gnutls_x509_crq_sign.c57
-rw-r--r--tests/gnutls_x509_crt_list_import.c504
-rw-r--r--tests/gnutls_x509_crt_sign.c62
-rw-r--r--tests/gnutls_x509_privkey_import.c85
-rw-r--r--tests/handshake-false-start.c65
-rw-r--r--tests/handshake-large-cert.c89
-rw-r--r--tests/handshake-large-packet.c54
-rw-r--r--tests/handshake-timeout.c43
-rw-r--r--tests/handshake-versions.c12
-rw-r--r--tests/handshake-write.c29
-rw-r--r--tests/hex.c114
-rw-r--r--tests/hex.h10
-rw-r--r--tests/hostname-check-utf8.c113
-rw-r--r--tests/hostname-check.c1470
-rw-r--r--tests/id-on-xmppAddr.c21
-rw-r--r--tests/infoaccess.c120
-rw-r--r--tests/init_roundtrip.c2
-rw-r--r--tests/insecure_key.c34
-rw-r--r--tests/iov.c227
-rw-r--r--tests/ip-check.c235
-rw-r--r--tests/ip-utils.c88
-rw-r--r--tests/kdf-api.c58
-rw-r--r--tests/key-export-pkcs8.c119
-rw-r--r--tests/key-import-export.c322
-rw-r--r--tests/key-material-dtls.c90
-rw-r--r--tests/key-material-set-dtls.c68
-rw-r--r--tests/key-openssl.c163
-rw-r--r--tests/key-usage-ecdhe-rsa.c169
-rw-r--r--tests/key-usage-rsa.c241
-rw-r--r--tests/keylog-env.c27
-rw-r--r--tests/keylog-func.c84
-rw-r--r--tests/ktls_keyupdate.c197
-rw-r--r--tests/long-session-id.c113
-rw-r--r--tests/mini-alpn.c65
-rw-r--r--tests/mini-chain-unsorted.c279
-rw-r--r--tests/mini-dtls-discard.c63
-rw-r--r--tests/mini-dtls-fork.c107
-rw-r--r--tests/mini-dtls-heartbeat.c96
-rw-r--r--tests/mini-dtls-hello-verify-48.c89
-rw-r--r--tests/mini-dtls-hello-verify.c80
-rw-r--r--tests/mini-dtls-large.c105
-rw-r--r--tests/mini-dtls-lowmtu.c100
-rw-r--r--tests/mini-dtls-mtu.c91
-rw-r--r--tests/mini-dtls-record-asym.c106
-rw-r--r--tests/mini-dtls-record.c137
-rw-r--r--tests/mini-dtls-srtp.c90
-rw-r--r--tests/mini-dtls0-9.c72
-rw-r--r--tests/mini-eagain-dtls.c24
-rw-r--r--tests/mini-emsgsize-dtls.c36
-rw-r--r--tests/mini-global-load.c78
-rw-r--r--tests/mini-key-material.c87
-rw-r--r--tests/mini-loss-time.c51
-rw-r--r--tests/mini-overhead.c136
-rw-r--r--tests/mini-record-2.c174
-rw-r--r--tests/mini-record-failure.c91
-rw-r--r--tests/mini-record-range.c65
-rw-r--r--tests/mini-record.c83
-rw-r--r--tests/mini-server-name.c74
-rw-r--r--tests/mini-session-verify-function.c107
-rw-r--r--tests/mini-termination.c117
-rw-r--r--tests/mini-tls-nonblock.c123
-rw-r--r--tests/mini-x509-2.c287
-rw-r--r--tests/mini-x509-callbacks-intr.c87
-rw-r--r--tests/mini-x509-callbacks.c97
-rw-r--r--tests/mini-x509-cas.c15
-rw-r--r--tests/mini-x509-ipaddr.c36
-rw-r--r--tests/mini-x509.c35
-rw-r--r--tests/missingissuer.c38
-rw-r--r--tests/missingissuer_aia.c42
-rw-r--r--tests/mpi.c2
-rw-r--r--tests/multi-alerts.c114
-rw-r--r--tests/naked-alerts.c37
-rw-r--r--tests/name-constraints-ip.c514
-rw-r--r--tests/name-constraints-merge.c219
-rw-r--r--tests/name-constraints.c201
-rw-r--r--tests/no-extensions.c21
-rw-r--r--tests/no-signal.c60
-rw-r--r--tests/no-status-request.c67
-rw-r--r--tests/nul-in-x509-names.c110
-rw-r--r--tests/null_retrieve_function.c37
-rw-r--r--tests/ocsp-common.h1000
-rw-r--r--tests/ocsp-filename-memleak.c10
-rw-r--r--tests/ocsp.c926
-rw-r--r--tests/oids.c20
-rw-r--r--tests/openconnect-dtls12.c62
-rw-r--r--tests/openssl.c8
-rw-r--r--tests/parse_ca.c53
-rw-r--r--tests/pcert-list.c465
-rw-r--r--tests/pkcs1-digest-info.c150
-rw-r--r--tests/pkcs11/distrust-after.c174
-rw-r--r--tests/pkcs11/gnutls_pcert_list_import_x509_file.c48
-rw-r--r--tests/pkcs11/gnutls_x509_crt_list_import_url.c44
-rw-r--r--tests/pkcs11/list-objects.c13
-rw-r--r--tests/pkcs11/list-tokens.c27
-rw-r--r--tests/pkcs11/pkcs11-cert-import-url-exts.c23
-rw-r--r--tests/pkcs11/pkcs11-cert-import-url4-exts.c26
-rw-r--r--tests/pkcs11/pkcs11-chainverify.c85
-rw-r--r--tests/pkcs11/pkcs11-combo.c306
-rw-r--r--tests/pkcs11/pkcs11-ec-privkey-test.c116
-rw-r--r--tests/pkcs11/pkcs11-eddsa-privkey-test.c108
-rw-r--r--tests/pkcs11/pkcs11-get-exts.c20
-rw-r--r--tests/pkcs11/pkcs11-get-issuer.c49
-rw-r--r--tests/pkcs11/pkcs11-get-raw-issuer-exts.c24
-rw-r--r--tests/pkcs11/pkcs11-import-url-privkey.c25
-rw-r--r--tests/pkcs11/pkcs11-import-with-pin.c64
-rw-r--r--tests/pkcs11/pkcs11-is-known.c621
-rw-r--r--tests/pkcs11/pkcs11-mechanisms.c22
-rw-r--r--tests/pkcs11/pkcs11-mock-ext.h8
-rw-r--r--tests/pkcs11/pkcs11-mock.c1496
-rw-r--r--tests/pkcs11/pkcs11-mock.h6
-rw-r--r--tests/pkcs11/pkcs11-mock2.c22
-rw-r--r--tests/pkcs11/pkcs11-mock3.c30
-rw-r--r--tests/pkcs11/pkcs11-obj-import.c93
-rw-r--r--tests/pkcs11/pkcs11-obj-raw.c45
-rw-r--r--tests/pkcs11/pkcs11-pin-func.c8
-rw-r--r--tests/pkcs11/pkcs11-privkey-always-auth.c31
-rw-r--r--tests/pkcs11/pkcs11-privkey-export.c23
-rw-r--r--tests/pkcs11/pkcs11-privkey-fork-reinit.c38
-rw-r--r--tests/pkcs11/pkcs11-privkey-fork.c38
-rw-r--r--tests/pkcs11/pkcs11-privkey-generate.c57
-rw-r--r--tests/pkcs11/pkcs11-privkey-pthread.c52
-rw-r--r--tests/pkcs11/pkcs11-privkey-safenet-always-auth.c25
-rw-r--r--tests/pkcs11/pkcs11-privkey.c138
-rw-r--r--tests/pkcs11/pkcs11-pubkey-import-ecdsa.c4
-rw-r--r--tests/pkcs11/pkcs11-pubkey-import-rsa.c4
-rw-r--r--tests/pkcs11/pkcs11-pubkey-import.c89
-rw-r--r--tests/pkcs11/pkcs11-rsa-pss-privkey-test.c100
-rw-r--r--tests/pkcs11/pkcs11-token-raw.c42
-rw-r--r--tests/pkcs11/softhsm.h61
-rw-r--r--tests/pkcs11/tls-neg-pkcs11-key.c352
-rw-r--r--tests/pkcs11/tls-neg-pkcs11-no-key.c136
-rw-r--r--tests/pkcs12_encode.c65
-rw-r--r--tests/pkcs12_s2k.c115
-rw-r--r--tests/pkcs12_s2k_pem.c398
-rw-r--r--tests/pkcs12_simple.c19
-rw-r--r--tests/pkcs7-cat-parse.c93
-rw-r--r--tests/pkcs7-gen.c113
-rw-r--r--tests/pkcs7-verify-double-free.c255
-rw-r--r--tests/pkcs7.c15
-rw-r--r--tests/pkcs8-key-decode-encrypted.c21
-rw-r--r--tests/pkcs8-key-decode.c44
-rw-r--r--tests/post-client-hello-change-prio.c28
-rw-r--r--tests/prf.c316
-rw-r--r--tests/priorities-groups.c20
-rw-r--r--tests/priorities.c35
-rw-r--r--tests/priority-init2.c100
-rw-r--r--tests/priority-mix.c23
-rw-r--r--tests/priority-set.c14
-rw-r--r--tests/priority-set2.c14
-rw-r--r--tests/privkey-keygen.c54
-rw-r--r--tests/privkey-verify-broken.c26
-rw-r--r--tests/protocol-set-allowlist.c29
-rw-r--r--tests/psk-file.c289
-rw-r--r--tests/pskself.c55
-rw-r--r--tests/pskself2.c78
-rw-r--r--tests/pubkey-import-export.c126
-rw-r--r--tests/random-art.c109
-rw-r--r--tests/rawpk-api.c59
-rw-r--r--tests/record-pad.c173
-rw-r--r--tests/record-retvals.c159
-rw-r--r--tests/record-sendfile.c70
-rw-r--r--tests/record-sizes-range.c34
-rw-r--r--tests/record-sizes.c24
-rw-r--r--tests/record-timeouts.c7
-rw-r--r--tests/recv-data-before-handshake.c52
-rw-r--r--tests/rehandshake-ext-secret.c27
-rw-r--r--tests/rehandshake-switch-cert-allow.c30
-rw-r--r--tests/rehandshake-switch-cert-client-allow.c42
-rw-r--r--tests/rehandshake-switch-cert-client.c42
-rw-r--r--tests/rehandshake-switch-cert.c30
-rw-r--r--tests/rehandshake-switch-psk-id.c10
-rw-r--r--tests/rehandshake-switch-srp-id.c79
-rw-r--r--tests/resume-dtls.c106
-rw-r--r--tests/resume-lifetime.c34
-rw-r--r--tests/resume-with-false-start.c18
-rw-r--r--tests/resume-with-previous-stek.c73
-rw-r--r--tests/resume-with-record-size-limit.c94
-rw-r--r--tests/resume-with-stek-expiration.c81
-rw-r--r--tests/resume.c599
-rw-r--r--tests/rfc7633-missing.c123
-rw-r--r--tests/rfc7633-ok.c72
-rw-r--r--tests/rng-fork.c12
-rw-r--r--tests/rng-no-onload.c6
-rw-r--r--tests/rng-op-key.c4
-rw-r--r--tests/rng-op-nonce.c4
-rw-r--r--tests/rng-op-random.c4
-rw-r--r--tests/rng-op.c9
-rw-r--r--tests/rng-pthread.c28
-rw-r--r--tests/rng-sigint.c36
-rw-r--r--tests/rsa-encrypt-decrypt.c107
-rw-r--r--tests/rsa-illegal-import.c101
-rw-r--r--tests/rsa-psk-cb.c65
-rw-r--r--tests/rsa-psk.c58
-rw-r--r--tests/rsa-rsa-pss.c76
-rw-r--r--tests/safe-renegotiation/srn0.c104
-rw-r--r--tests/safe-renegotiation/srn1.c101
-rw-r--r--tests/safe-renegotiation/srn2.c112
-rw-r--r--tests/safe-renegotiation/srn3.c105
-rw-r--r--tests/safe-renegotiation/srn4.c113
-rw-r--r--tests/safe-renegotiation/srn5.c114
-rw-r--r--tests/sec-params.c2
-rw-r--r--tests/seccomp.c39
-rw-r--r--tests/send-client-cert.c22
-rw-r--r--tests/send-data-before-handshake.c52
-rw-r--r--tests/server-kx-neg-common.c120
-rw-r--r--tests/server-secrets.h586
-rw-r--r--tests/server-sign-md5-rep.c96
-rw-r--r--tests/server_ecdsa_key.c35
-rw-r--r--tests/session-export-funcs.c19
-rw-r--r--tests/session-rdn-read.c34
-rw-r--r--tests/session-tickets-missing.c63
-rw-r--r--tests/session-tickets-ok.c52
-rw-r--r--tests/set-default-prio.c100
-rw-r--r--tests/set_key.c79
-rw-r--r--tests/set_key_utf8.c47
-rw-r--r--tests/set_known_dh_params_anon.c48
-rw-r--r--tests/set_known_dh_params_psk.c52
-rw-r--r--tests/set_known_dh_params_x509.c39
-rw-r--r--tests/set_pkcs12_cred.c29
-rw-r--r--tests/set_x509_key.c38
-rw-r--r--tests/set_x509_key_file-late.c30
-rw-r--r--tests/set_x509_key_file.c37
-rw-r--r--tests/set_x509_key_file_der.c21
-rw-r--r--tests/set_x509_key_file_legacy.c37
-rw-r--r--tests/set_x509_key_file_ocsp.c399
-rw-r--r--tests/set_x509_key_file_ocsp_multi2.c135
-rw-r--r--tests/set_x509_key_mem.c36
-rw-r--r--tests/set_x509_key_utf8.c58
-rw-r--r--tests/set_x509_ocsp_multi_cli.c89
-rw-r--r--tests/set_x509_ocsp_multi_invalid.c140
-rw-r--r--tests/set_x509_ocsp_multi_pem.c82
-rw-r--r--tests/set_x509_ocsp_multi_unknown.c111
-rw-r--r--tests/set_x509_pkcs12_key.c37
-rw-r--r--tests/setcredcrash.c2
-rw-r--r--tests/sign-is-secure.c60
-rw-r--r--tests/sign-pk-api.c12
-rw-r--r--tests/sign-verify-data-newapi.c79
-rw-r--r--tests/sign-verify-data.c79
-rw-r--r--tests/sign-verify-deterministic.c183
-rw-r--r--tests/sign-verify-ed25519-rfc8080.c46
-rw-r--r--tests/sign-verify-ext.c143
-rw-r--r--tests/sign-verify-ext4.c152
-rw-r--r--tests/sign-verify-newapi.c156
-rw-r--r--tests/sign-verify.c166
-rw-r--r--tests/simple.c88
-rw-r--r--tests/slow/cipher-api-test.c73
-rw-r--r--tests/slow/cipher-openssl-compat.c105
-rw-r--r--tests/slow/cipher-test.c2
-rw-r--r--tests/slow/gendh.c2
-rw-r--r--tests/slow/hash-large.c38
-rw-r--r--tests/spki-abstract.c28
-rw-r--r--tests/spki.c31
-rw-r--r--tests/srp.c144
-rw-r--r--tests/srpbase64.c87
-rw-r--r--tests/ssl2-hello.c40
-rw-r--r--tests/ssl30-cert-key-exchange.c2
-rw-r--r--tests/ssl30-cipher-neg.c142
-rw-r--r--tests/ssl30-server-kx-neg.c192
-rw-r--r--tests/status-request-ext.c83
-rw-r--r--tests/status-request-ok.c123
-rw-r--r--tests/status-request-revoked.c339
-rw-r--r--tests/status-request.c67
-rw-r--r--tests/str-idna.c66
-rw-r--r--tests/str-unicode.c78
-rw-r--r--tests/strict-der.c63
-rw-r--r--tests/suite/eagain-cli.c43
-rw-r--r--tests/suite/mini-record-timing.c305
-rw-r--r--tests/suite/prime-check.c2
-rw-r--r--tests/suite/rng.c2
-rw-r--r--tests/system-override-curves-allowlist.c7
-rw-r--r--tests/system-override-hash.c2
-rw-r--r--tests/system-override-sig-tls.c62
-rw-r--r--tests/system-override-sig.c16
-rw-r--r--tests/system-prio-file.c9
-rw-r--r--tests/test-chains-issuer-aia.h6
-rw-r--r--tests/test-chains-issuer.h367
-rw-r--r--tests/test-chains.h4585
-rw-r--r--tests/time.c29
-rw-r--r--tests/tls-channel-binding.c63
-rw-r--r--tests/tls-client-with-seccomp.c56
-rw-r--r--tests/tls-crt_type-neg.c425
-rw-r--r--tests/tls-etm.c81
-rw-r--r--tests/tls-ext-not-in-dtls.c109
-rw-r--r--tests/tls-ext-register.c148
-rw-r--r--tests/tls-force-ems.c16
-rw-r--r--tests/tls-force-etm.c154
-rw-r--r--tests/tls-neg-ext-key.c228
-rw-r--r--tests/tls-neg-ext4-key.c392
-rw-r--r--tests/tls-pthread.c56
-rw-r--r--tests/tls-record-size-limit-asym.c14
-rw-r--r--tests/tls-record-size-limit.c367
-rw-r--r--tests/tls-session-ext-override.c96
-rw-r--r--tests/tls-session-ext-register.c135
-rw-r--r--tests/tls-session-supplemental.c76
-rw-r--r--tests/tls-supplemental.c85
-rw-r--r--tests/tls-with-seccomp.c58
-rw-r--r--tests/tls10-cert-key-exchange.c9
-rw-r--r--tests/tls10-cipher-neg.c150
-rw-r--r--tests/tls10-prf.c79
-rw-r--r--tests/tls10-server-kx-neg.c655
-rw-r--r--tests/tls11-cert-key-exchange.c19
-rw-r--r--tests/tls11-cipher-neg.c150
-rw-r--r--tests/tls11-server-kx-neg.c655
-rw-r--r--tests/tls12-anon-upgrade.c216
-rw-r--r--tests/tls12-cert-key-exchange.c406
-rw-r--r--tests/tls12-cipher-neg.c384
-rw-r--r--tests/tls12-ffdhe.c478
-rw-r--r--tests/tls12-invalid-key-exchanges.c50
-rw-r--r--tests/tls12-max-record.c25
-rw-r--r--tests/tls12-prf.c115
-rw-r--r--tests/tls12-rehandshake-cert-2.c113
-rw-r--r--tests/tls12-rehandshake-cert-3.c75
-rw-r--r--tests/tls12-rehandshake-cert-auto.c64
-rw-r--r--tests/tls12-rehandshake-cert.c19
-rw-r--r--tests/tls12-rehandshake-set-prio.c22
-rw-r--r--tests/tls12-rehandshake-ticket.c42
-rw-r--r--tests/tls12-server-kx-neg.c909
-rw-r--r--tests/tls13-cert-key-exchange.c342
-rw-r--r--tests/tls13-cipher-neg.c258
-rw-r--r--tests/tls13-compat-mode.c31
-rw-r--r--tests/tls13-early-data-neg.c164
-rw-r--r--tests/tls13-early-data-neg2.c98
-rw-r--r--tests/tls13-early-data.c379
-rw-r--r--tests/tls13-early-start.c82
-rw-r--r--tests/tls13-rehandshake-cert.c18
-rw-r--r--tests/tls13-server-kx-neg.c503
-rw-r--r--tests/tls13-without-timeout-func.c20
-rw-r--r--tests/tls13/anti_replay.c27
-rw-r--r--tests/tls13/change_cipher_spec.c85
-rw-r--r--tests/tls13/compress-cert-cli.c81
-rw-r--r--tests/tls13/compress-cert-neg.c104
-rw-r--r--tests/tls13/compress-cert-neg2.c76
-rw-r--r--tests/tls13/compress-cert.c109
-rw-r--r--tests/tls13/cookie.c76
-rw-r--r--tests/tls13/ext-parse.h76
-rw-r--r--tests/tls13/hello_retry_request.c65
-rw-r--r--tests/tls13/hello_retry_request_resume.c76
-rw-r--r--tests/tls13/key_limits.c42
-rw-r--r--tests/tls13/key_share.c33
-rw-r--r--tests/tls13/key_update.c32
-rw-r--r--tests/tls13/key_update_multiple.c33
-rw-r--r--tests/tls13/multi-ocsp.c94
-rw-r--r--tests/tls13/no-auto-send-ticket.c81
-rw-r--r--tests/tls13/no-psk-exts.c56
-rw-r--r--tests/tls13/ocsp-client.c84
-rw-r--r--tests/tls13/post-handshake-with-cert-auto.c103
-rw-r--r--tests/tls13/post-handshake-with-cert-pkcs11.c151
-rw-r--r--tests/tls13/post-handshake-with-cert-ticket.c99
-rw-r--r--tests/tls13/post-handshake-with-cert.c109
-rw-r--r--tests/tls13/post-handshake-with-psk.c101
-rw-r--r--tests/tls13/post-handshake-without-cert.c60
-rw-r--r--tests/tls13/prf-early.c154
-rw-r--r--tests/tls13/prf.c174
-rw-r--r--tests/tls13/psk-dumbfw.c71
-rw-r--r--tests/tls13/psk-ext.c207
-rw-r--r--tests/tls13/psk-ke-modes.c23
-rw-r--r--tests/tls13/rnd-check-rollback-val.c83
-rw-r--r--tests/tls13/rnd-rollback-detection.c81
-rw-r--r--tests/tls13/supported_versions.c109
-rw-r--r--tests/tls13/tls12-no-tls13-exts.c48
-rw-r--r--tests/tlsext-decoding.c58
-rw-r--r--tests/tlsfeature-crt.c34
-rw-r--r--tests/tlsfeature-ext.c52
-rw-r--r--tests/trust-store.c2
-rw-r--r--tests/trustdb-tofu.c123
-rw-r--r--tests/urls.c2
-rw-r--r--tests/utils-adv.c88
-rw-r--r--tests/utils.c79
-rw-r--r--tests/utils.h164
-rw-r--r--tests/version-checks.c20
-rw-r--r--tests/virt-time.h38
-rw-r--r--tests/win-certopenstore.c4
-rw-r--r--tests/windows/cng-windows.c122
-rw-r--r--tests/windows/crypt32.c118
-rw-r--r--tests/windows/ncrypt-int.h2
-rw-r--r--tests/windows/ncrypt.c89
-rw-r--r--tests/x509-cert-callback-legacy.c69
-rw-r--r--tests/x509-cert-callback-ocsp.c39
-rw-r--r--tests/x509-cert-callback.c69
-rw-r--r--tests/x509-dn-decode-compat.c101
-rw-r--r--tests/x509-dn-decode.c253
-rw-r--r--tests/x509-dn.c35
-rw-r--r--tests/x509-extensions.c207
-rw-r--r--tests/x509-server-verify.c49
-rw-r--r--tests/x509-upnconstraint.c153
-rw-r--r--tests/x509-verify-duplicate.c273
-rw-r--r--tests/x509-verify-with-crl.c128
-rw-r--r--tests/x509_altname.c69
-rw-r--r--tests/x509cert-ct.c181
-rw-r--r--tests/x509cert-dntypes.c89
-rw-r--r--tests/x509cert-invalid.c85
-rw-r--r--tests/x509cert-tl.c320
-rw-r--r--tests/x509cert.c111
-rw-r--r--tests/x509dn.c79
-rw-r--r--tests/x509self.c68
-rw-r--r--tests/x509sign-verify-common.h134
-rw-r--r--tests/x509sign-verify-ecdsa.c12
-rw-r--r--tests/x509sign-verify-error.c162
-rw-r--r--tests/x509sign-verify-gost.c12
-rw-r--r--tests/x509sign-verify-rsa.c16
-rw-r--r--tests/x509sign-verify.c85
-rw-r--r--tests/xts-key-check.c5
1069 files changed, 103655 insertions, 111337 deletions
diff --git a/doc/alert-printlist.c b/doc/alert-printlist.c
index 0aede185e1..d2bcc19c72 100644
--- a/doc/alert-printlist.c
+++ b/doc/alert-printlist.c
@@ -52,25 +52,24 @@ static void main_texinfo(void)
gnutls_mac_algorithm_t mac;
gnutls_protocol_t version;
- printf
- ("@multitable @columnfractions .55 .10 .30\n@anchor{tab:alerts}\n");
+ printf("@multitable @columnfractions .55 .10 .30\n@anchor{tab:alerts}\n");
printf("@headitem Alert @tab ID @tab Description\n");
for (i = 0; i < 256; i++) {
if (gnutls_alert_get_strname(i) == NULL)
continue;
printf("@item %s\n@tab %d\n@tab %s\n",
- escape_texi_string(gnutls_alert_get_strname
- (i), buffer,
- sizeof(buffer)),
+ escape_texi_string(gnutls_alert_get_strname(i),
+ buffer, sizeof(buffer)),
(unsigned int)i, gnutls_alert_get_name(i));
}
printf("@end multitable\n");
-
}
}
static const char headers[] = "\\tablefirsthead{%\n"
- "\\hline\n" "Alert & ID & Description\\\\\n" "\\hline}\n"
+ "\\hline\n"
+ "Alert & ID & Description\\\\\n"
+ "\\hline}\n"
#if 0
"\\tablehead{%\n"
"\\hline\n"
@@ -81,7 +80,8 @@ static const char headers[] = "\\tablefirsthead{%\n"
"\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n"
"\\hline}\n"
#endif
- "\\tablelasttail{\\hline}\n" "\\bottomcaption{The TLS alert table}\n\n";
+ "\\tablelasttail{\\hline}\n"
+ "\\bottomcaption{The TLS alert table}\n\n";
static void main_latex(void)
{
@@ -91,8 +91,7 @@ static void main_latex(void)
puts(headers);
- printf
- ("\\begin{supertabular}{|p{.50\\linewidth}|p{.07\\linewidth}|p{.34\\linewidth}|}\n\\label{tab:alerts}\n");
+ printf("\\begin{supertabular}{|p{.50\\linewidth}|p{.07\\linewidth}|p{.34\\linewidth}|}\n\\label{tab:alerts}\n");
{
size_t i;
@@ -113,9 +112,7 @@ static void main_latex(void)
}
printf("\\end{supertabular}\n\n");
-
}
return;
-
}
diff --git a/doc/common.c b/doc/common.c
index 0c14f7ea16..b4142abab1 100644
--- a/doc/common.c
+++ b/doc/common.c
@@ -20,7 +20,6 @@ char *escape_string(const char *str, char *buffer, int buffer_size)
buffer[j] = 0;
return buffer;
-
}
char *escape_texi_string(const char *str, char *buffer, int buffer_size)
@@ -41,5 +40,4 @@ char *escape_texi_string(const char *str, char *buffer, int buffer_size)
buffer[j] = 0;
return buffer;
-
}
diff --git a/doc/errcodes.c b/doc/errcodes.c
index 0750a08887..a5e4c042e1 100644
--- a/doc/errcodes.c
+++ b/doc/errcodes.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -41,15 +41,16 @@ typedef struct {
static int compar(const void *_n1, const void *_n2)
{
const error_name *n1 = (const error_name *)_n1,
- *n2 = (const error_name *)_n2;
+ *n2 = (const error_name *)_n2;
return strcmp(n1->name, n2->name);
}
static const char headers[] = "\\tablefirsthead{%\n"
- "\\hline\n"
- "\\multicolumn{1}{|c}{Code} &\n"
- "\\multicolumn{1}{c}{Name} &\n"
- "\\multicolumn{1}{c|}{Description} \\\\\n" "\\hline}\n"
+ "\\hline\n"
+ "\\multicolumn{1}{|c}{Code} &\n"
+ "\\multicolumn{1}{c}{Name} &\n"
+ "\\multicolumn{1}{c|}{Description} \\\\\n"
+ "\\hline}\n"
#if 0
"\\tablehead{%\n"
"\\hline\n"
@@ -60,7 +61,8 @@ static const char headers[] = "\\tablefirsthead{%\n"
"\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n"
"\\hline}\n"
#endif
- "\\tablelasttail{\\hline}\n" "\\bottomcaption{The error codes table}\n\n";
+ "\\tablelasttail{\\hline}\n"
+ "\\bottomcaption{The error codes table}\n\n";
int main(int argc, char *argv[])
{
@@ -78,7 +80,7 @@ static int main_texinfo(void)
const char *desc;
const char *_name;
char buffer[500];
- error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */
+ error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */
printf("@multitable @columnfractions .15 .40 .37\n");
@@ -111,12 +113,11 @@ static void main_latex(void)
static char buffer2[500];
const char *desc;
const char *_name;
- error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */
+ error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */
puts(headers);
- printf
- ("\\begin{supertabular}{|p{.05\\linewidth}|p{.40\\linewidth}|p{.45\\linewidth}|}\n");
+ printf("\\begin{supertabular}{|p{.05\\linewidth}|p{.40\\linewidth}|p{.45\\linewidth}|}\n");
memset(names_to_sort, 0, sizeof(names_to_sort));
j = 0;
@@ -130,7 +131,7 @@ static void main_latex(void)
j++;
}
-//qsort( names_to_sort, j, sizeof(error_name), compar);
+ //qsort( names_to_sort, j, sizeof(error_name), compar);
for (i = 0; i < j; i++) {
_name = names_to_sort[i].name;
@@ -139,10 +140,8 @@ static void main_latex(void)
continue;
printf("%d & {\\scriptsize{%s}} & %s",
- names_to_sort[i].error_index, escape_string(_name,
- buffer1,
- sizeof
- (buffer1)),
+ names_to_sort[i].error_index,
+ escape_string(_name, buffer1, sizeof(buffer1)),
escape_string(desc, buffer2, sizeof(buffer2)));
printf("\\\\\n");
}
@@ -150,5 +149,4 @@ static void main_latex(void)
printf("\\end{supertabular}\n\n");
return;
-
}
diff --git a/doc/examples/ex-alert.c b/doc/examples/ex-alert.c
index 56e7467d13..176a2a8dc9 100644
--- a/doc/examples/ex-alert.c
+++ b/doc/examples/ex-alert.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -18,8 +18,8 @@ void check_alert(gnutls_session_t session, int ret)
{
int last_alert;
- if (ret == GNUTLS_E_WARNING_ALERT_RECEIVED
- || ret == GNUTLS_E_FATAL_ALERT_RECEIVED) {
+ if (ret == GNUTLS_E_WARNING_ALERT_RECEIVED ||
+ ret == GNUTLS_E_FATAL_ALERT_RECEIVED) {
last_alert = gnutls_alert_get(session);
/* The check for renegotiation is only useful if we are
diff --git a/doc/examples/ex-cert-select-pkcs11.c b/doc/examples/ex-cert-select-pkcs11.c
index 0cc3ed4cd5..e24c8a7be3 100644
--- a/doc/examples/ex-cert-select-pkcs11.c
+++ b/doc/examples/ex-cert-select-pkcs11.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -18,34 +18,35 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <getpass.h> /* for getpass() */
+#include <getpass.h> /* for getpass() */
/* A TLS client that loads the certificate and key.
*/
-#define CHECK(x) assert((x)>=0)
+#define CHECK(x) assert((x) >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
-#define MIN(x,y) (((x)<(y))?(x):(y))
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
/* The URLs of the objects can be obtained
* using p11tool --list-all --login
*/
-#define KEY_URL "pkcs11:manufacturer=SomeManufacturer;object=Private%20Key" \
- ";objecttype=private;id=%db%5b%3e%b5%72%33"
-#define CERT_URL "pkcs11:manufacturer=SomeManufacturer;object=Certificate;" \
- "objecttype=cert;id=db%5b%3e%b5%72%33"
+#define KEY_URL \
+ "pkcs11:manufacturer=SomeManufacturer;object=Private%20Key" \
+ ";objecttype=private;id=%db%5b%3e%b5%72%33"
+#define CERT_URL \
+ "pkcs11:manufacturer=SomeManufacturer;object=Certificate;" \
+ "objecttype=cert;id=db%5b%3e%b5%72%33"
extern int tcp_connect(void);
extern void tcp_close(int sd);
-static int
-pin_callback(void *user, int attempt, const char *token_url,
- const char *token_label, unsigned int flags, char *pin,
- size_t pin_max)
+static int pin_callback(void *user, int attempt, const char *token_url,
+ const char *token_label, unsigned int flags, char *pin,
+ size_t pin_max)
{
const char *password;
int len;
@@ -161,7 +162,7 @@ int main(void)
CHECK(gnutls_bye(session, GNUTLS_SHUT_RDWR));
- end:
+end:
tcp_close(sd);
diff --git a/doc/examples/ex-cert-select.c b/doc/examples/ex-cert-select.c
index 93ec9ddce7..258712e7fe 100644
--- a/doc/examples/ex-cert-select.c
+++ b/doc/examples/ex-cert-select.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -22,7 +22,7 @@
/* A TLS client that loads the certificate and key.
*/
-#define CHECK(x) assert((x)>=0)
+#define CHECK(x) assert((x) >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -34,12 +34,11 @@
extern int tcp_connect(void);
extern void tcp_close(int sd);
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey);
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey);
gnutls_pcert_st pcrt;
gnutls_privkey_t key;
@@ -52,8 +51,8 @@ static void load_keys(void)
CHECK(gnutls_load_file(CERT_FILE, &data));
- CHECK(gnutls_pcert_import_x509_raw(&pcrt, &data,
- GNUTLS_X509_FMT_PEM, 0));
+ CHECK(gnutls_pcert_import_x509_raw(&pcrt, &data, GNUTLS_X509_FMT_PEM,
+ 0));
gnutls_free(data.data);
@@ -61,8 +60,8 @@ static void load_keys(void)
CHECK(gnutls_privkey_init(&key));
- CHECK(gnutls_privkey_import_x509_raw(key, &data,
- GNUTLS_X509_FMT_PEM, NULL, 0));
+ CHECK(gnutls_privkey_import_x509_raw(key, &data, GNUTLS_X509_FMT_PEM,
+ NULL, 0));
gnutls_free(data.data);
}
@@ -146,7 +145,7 @@ int main(void)
CHECK(gnutls_bye(session, GNUTLS_SHUT_RDWR));
- end:
+end:
tcp_close(sd);
@@ -164,12 +163,11 @@ int main(void)
* before a handshake.
*/
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
char issuer_dn[256];
int i, ret;
@@ -181,8 +179,7 @@ cert_callback(gnutls_session_t session,
if (nreqs > 0)
printf("- Server's trusted authorities:\n");
else
- printf
- ("- Server did not send us any trusted authorities names.\n");
+ printf("- Server did not send us any trusted authorities names.\n");
/* print the names (if any) */
for (i = 0; i < nreqs; i++) {
@@ -208,5 +205,4 @@ cert_callback(gnutls_session_t session,
}
return 0;
-
}
diff --git a/doc/examples/ex-client-anon.c b/doc/examples/ex-client-anon.c
index 38e70264b1..da25251858 100644
--- a/doc/examples/ex-client-anon.c
+++ b/doc/examples/ex-client-anon.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -17,11 +17,11 @@
/* A very basic TLS client, with anonymous authentication.
*/
-#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
- assert(rval >= 0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -46,8 +46,8 @@ int main(void)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "PERFORMANCE:+ANON-ECDH:+ANON-DH", NULL);
+ gnutls_priority_set_direct(session, "PERFORMANCE:+ANON-ECDH:+ANON-DH",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -64,8 +64,7 @@ int main(void)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fprintf(stderr, "*** Handshake failed\n");
@@ -102,7 +101,7 @@ int main(void)
LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_RDWR));
- end:
+end:
tcp_close(sd);
diff --git a/doc/examples/ex-client-dtls.c b/doc/examples/ex-client-dtls.c
index 1ecf95b7eb..7fb0cc999f 100644
--- a/doc/examples/ex-client-dtls.c
+++ b/doc/examples/ex-client-dtls.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -18,12 +18,12 @@
/* A very basic Datagram TLS client, over UDP with X.509 authentication.
*/
-#define CHECK(x) assert((x)>=0)
-#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
- assert(rval >= 0)
+#define CHECK(x) assert((x) >= 0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -62,9 +62,9 @@ int main(void)
/* put the x509 credentials to the current session */
CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred));
- CHECK(gnutls_server_name_set
- (session, GNUTLS_NAME_DNS, "www.example.com",
- strlen("www.example.com")));
+ CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS,
+ "www.example.com",
+ strlen("www.example.com")));
gnutls_session_set_verify_cert(session, "www.example.com", 0);
@@ -80,8 +80,7 @@ int main(void)
/* Perform the TLS handshake */
do {
ret = gnutls_handshake(session);
- }
- while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN);
+ } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN);
/* Note that DTLS may also receive GNUTLS_E_LARGE_PACKET */
if (ret < 0) {
@@ -122,7 +121,7 @@ int main(void)
* be lost */
CHECK(gnutls_bye(session, GNUTLS_SHUT_WR));
- end:
+end:
udp_close(sd);
diff --git a/doc/examples/ex-client-psk.c b/doc/examples/ex-client-psk.c
index 069b387373..e35c185d67 100644
--- a/doc/examples/ex-client-psk.c
+++ b/doc/examples/ex-client-psk.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -17,12 +17,12 @@
/* A very basic TLS client, with PSK authentication.
*/
-#define CHECK(x) assert((x)>=0)
-#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
- assert(rval >= 0)
+#define CHECK(x) assert((x) >= 0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -55,10 +55,8 @@ int main(void)
*/
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- ret =
- gnutls_set_default_priority_append(session,
- "-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK",
- &err, 0);
+ ret = gnutls_set_default_priority_append(
+ session, "-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK", &err, 0);
/* Alternative for pre-3.6.3 versions:
* gnutls_priority_set_direct(session, "NORMAL:+ECDHE-PSK:+DHE-PSK:+PSK", &err)
@@ -85,8 +83,7 @@ int main(void)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fprintf(stderr, "*** Handshake failed\n");
@@ -123,7 +120,7 @@ int main(void)
CHECK(gnutls_bye(session, GNUTLS_SHUT_RDWR));
- end:
+end:
tcp_close(sd);
diff --git a/doc/examples/ex-client-resume.c b/doc/examples/ex-client-resume.c
index b3510bd193..2997b64e48 100644
--- a/doc/examples/ex-client-resume.c
+++ b/doc/examples/ex-client-resume.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <string.h>
@@ -20,12 +20,12 @@ extern void tcp_close(int sd);
* Note that error recovery is minimal for simplicity.
*/
-#define CHECK(x) assert((x)>=0)
-#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
- assert(rval >= 0)
+#define CHECK(x) assert((x) >= 0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -49,7 +49,7 @@ int main(void)
CHECK(gnutls_certificate_allocate_credentials(&xcred));
CHECK(gnutls_certificate_set_x509_system_trust(xcred));
- for (t = 0; t < 2; t++) { /* connect 2 times to the server */
+ for (t = 0; t < 2; t++) { /* connect 2 times to the server */
sd = tcp_connect();
@@ -79,8 +79,7 @@ int main(void)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fprintf(stderr, "*** Handshake failed\n");
@@ -90,10 +89,10 @@ int main(void)
printf("- Handshake was completed\n");
}
- if (t == 0) { /* the first time we connect */
+ if (t == 0) { /* the first time we connect */
/* get the session data */
CHECK(gnutls_session_get_data2(session, &sdata));
- } else { /* the second time we connect */
+ } else { /* the second time we connect */
/* check if we actually resumed the previous session */
if (gnutls_session_is_resumed(session) != 0) {
@@ -129,13 +128,13 @@ int main(void)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+ end:
tcp_close(sd);
gnutls_deinit(session);
- } /* for() */
+ } /* for() */
gnutls_certificate_free_credentials(xcred);
diff --git a/doc/examples/ex-client-srp.c b/doc/examples/ex-client-srp.c
index 3ae7e8596d..b51dded380 100644
--- a/doc/examples/ex-client-srp.c
+++ b/doc/examples/ex-client-srp.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -56,8 +56,8 @@ int main(void)
/* Set the priorities.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:+SRP:+SRP-RSA:+SRP-DSS", NULL);
+ gnutls_priority_set_direct(session, "NORMAL:+SRP:+SRP-RSA:+SRP-DSS",
+ NULL);
/* put the SRP credentials to the current session
*/
@@ -71,8 +71,7 @@ int main(void)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fprintf(stderr, "*** Handshake failed\n");
@@ -110,7 +109,7 @@ int main(void)
}
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
tcp_close(sd);
diff --git a/doc/examples/ex-client-x509-3.1.c b/doc/examples/ex-client-x509-3.1.c
index 891efb9c54..5a4501323e 100644
--- a/doc/examples/ex-client-x509-3.1.c
+++ b/doc/examples/ex-client-x509-3.1.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -17,12 +17,12 @@
* Note that error recovery is minimal for simplicity.
*/
-#define CHECK(x) assert((x)>=0)
-#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
- assert(rval >= 0)
+#define CHECK(x) assert((x) >= 0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
@@ -101,8 +101,7 @@ int main(void)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fprintf(stderr, "*** Handshake failed\n");
@@ -139,7 +138,7 @@ int main(void)
CHECK(gnutls_bye(session, GNUTLS_SHUT_RDWR));
- end:
+end:
tcp_close(sd);
@@ -173,14 +172,14 @@ static int _verify_certificate_callback(gnutls_session_t session)
type = gnutls_certificate_type_get(session);
- CHECK(gnutls_certificate_verification_status_print(status, type,
- &out, 0));
+ CHECK(gnutls_certificate_verification_status_print(status, type, &out,
+ 0));
printf("%s", out.data);
gnutls_free(out.data);
- if (status != 0) /* Certificate is not trusted */
+ if (status != 0) /* Certificate is not trusted */
return GNUTLS_E_CERTIFICATE_ERROR;
/* notify gnutls to continue handshake normally */
diff --git a/doc/examples/ex-client-x509.c b/doc/examples/ex-client-x509.c
index aa6d6cee1d..bed318785c 100644
--- a/doc/examples/ex-client-x509.c
+++ b/doc/examples/ex-client-x509.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -16,12 +16,12 @@
* verification. Note that error recovery is minimal for simplicity.
*/
-#define CHECK(x) assert((x)>=0)
-#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
- assert(rval >= 0)
+#define CHECK(x) assert((x) >= 0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -63,9 +63,9 @@ int main(void)
/* Initialize TLS session */
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- CHECK(gnutls_server_name_set
- (session, GNUTLS_NAME_DNS, "www.example.com",
- strlen("www.example.com")));
+ CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS,
+ "www.example.com",
+ strlen("www.example.com")));
/* It is recommended to use the default priorities */
CHECK(gnutls_set_default_priority(session));
@@ -86,15 +86,14 @@ int main(void)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
if (ret == GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR) {
/* check certificate verification status */
type = gnutls_certificate_type_get(session);
status = gnutls_session_get_verify_cert_status(session);
- CHECK(gnutls_certificate_verification_status_print
- (status, type, &out, 0));
+ CHECK(gnutls_certificate_verification_status_print(
+ status, type, &out, 0));
printf("cert verify output: %s\n", out.data);
gnutls_free(out.data);
}
@@ -131,7 +130,7 @@ int main(void)
CHECK(gnutls_bye(session, GNUTLS_SHUT_RDWR));
- end:
+end:
tcp_close(sd);
diff --git a/doc/examples/ex-crq.c b/doc/examples/ex-crq.c
index a06e430cf0..9ba81f573f 100644
--- a/doc/examples/ex-crq.c
+++ b/doc/examples/ex-crq.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,17 +35,17 @@ int main(void)
/* Generate an RSA key of moderate security.
*/
- bits =
- gnutls_sec_param_to_pk_bits(GNUTLS_PK_RSA, GNUTLS_SEC_PARAM_MEDIUM);
+ bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_RSA,
+ GNUTLS_SEC_PARAM_MEDIUM);
gnutls_x509_privkey_generate(key, GNUTLS_PK_RSA, bits, 0);
/* Add stuff to the distinguished name
*/
- gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_X520_COUNTRY_NAME,
- 0, "GR", 2);
+ gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_X520_COUNTRY_NAME, 0,
+ "GR", 2);
- gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_X520_COMMON_NAME,
- 0, "Nikos", strlen("Nikos"));
+ gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_X520_COMMON_NAME, 0,
+ "Nikos", strlen("Nikos"));
/* Set the request version.
*/
@@ -84,5 +84,4 @@ int main(void)
gnutls_x509_privkey_deinit(key);
return 0;
-
}
diff --git a/doc/examples/ex-ocsp-client.c b/doc/examples/ex-ocsp-client.c
index 92f053a89f..6273fe35a2 100644
--- a/doc/examples/ex-ocsp-client.c
+++ b/doc/examples/ex-ocsp-client.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -11,19 +11,17 @@
#include <gnutls/crypto.h>
#include <gnutls/ocsp.h>
#ifndef NO_LIBCURL
-# include <curl/curl.h>
+#include <curl/curl.h>
#endif
#include "read-file.h"
size_t get_data(void *buffer, size_t size, size_t nmemb, void *userp);
static gnutls_x509_crt_t load_cert(const char *cert_file);
-static void _response_info(const gnutls_datum_t * data);
-static void
-_generate_request(gnutls_datum_t * rdata, gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer, gnutls_datum_t * nonce);
-static int
-_verify_response(gnutls_datum_t * data, gnutls_x509_crt_t cert,
- gnutls_x509_crt_t signer, gnutls_datum_t * nonce);
+static void _response_info(const gnutls_datum_t *data);
+static void _generate_request(gnutls_datum_t *rdata, gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t issuer, gnutls_datum_t *nonce);
+static int _verify_response(gnutls_datum_t *data, gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t signer, gnutls_datum_t *nonce);
/* This program queries an OCSP server.
It expects three files. argv[1] containing the certificate to
@@ -66,14 +64,9 @@ int main(int argc, char *argv[])
signer = load_cert(signer_file);
if (hostname == NULL) {
-
for (seq = 0;; seq++) {
- ret =
- gnutls_x509_crt_get_authority_info_access(cert,
- seq,
- GNUTLS_IA_OCSP_URI,
- &tmp,
- NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ cert, seq, GNUTLS_IA_OCSP_URI, &tmp, NULL);
if (ret == GNUTLS_E_UNKNOWN_ALGORITHM)
continue;
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
@@ -101,7 +94,6 @@ int main(int argc, char *argv[])
gnutls_free(tmp.data);
break;
}
-
}
/* Note that the OCSP servers hostname might be available
@@ -120,9 +112,8 @@ int main(int argc, char *argv[])
if (handle == NULL)
exit(1);
- headers =
- curl_slist_append(headers,
- "Content-Type: application/ocsp-request");
+ headers = curl_slist_append(headers,
+ "Content-Type: application/ocsp-request");
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(handle, CURLOPT_POSTFIELDS, (void *)req.data);
@@ -152,7 +143,7 @@ int main(int argc, char *argv[])
return v;
}
-static void _response_info(const gnutls_datum_t * data)
+static void _response_info(const gnutls_datum_t *data)
{
gnutls_ocsp_resp_t resp;
int ret;
@@ -206,9 +197,8 @@ static gnutls_x509_crt_t load_cert(const char *cert_file)
return crt;
}
-static void
-_generate_request(gnutls_datum_t * rdata, gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer, gnutls_datum_t * nonce)
+static void _generate_request(gnutls_datum_t *rdata, gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t issuer, gnutls_datum_t *nonce)
{
gnutls_ocsp_req_t req;
int ret;
@@ -234,9 +224,8 @@ _generate_request(gnutls_datum_t * rdata, gnutls_x509_crt_t cert,
return;
}
-static int
-_verify_response(gnutls_datum_t * data, gnutls_x509_crt_t cert,
- gnutls_x509_crt_t signer, gnutls_datum_t * nonce)
+static int _verify_response(gnutls_datum_t *data, gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t signer, gnutls_datum_t *nonce)
{
gnutls_ocsp_resp_t resp;
int ret;
@@ -259,8 +248,8 @@ _verify_response(gnutls_datum_t * data, gnutls_x509_crt_t cert,
if (ret < 0)
exit(1);
- if (rnonce.size != nonce->size || memcmp(nonce->data, rnonce.data,
- nonce->size) != 0) {
+ if (rnonce.size != nonce->size ||
+ memcmp(nonce->data, rnonce.data, nonce->size) != 0) {
exit(1);
}
diff --git a/doc/examples/ex-pkcs11-list.c b/doc/examples/ex-pkcs11-list.c
index 3f9c370584..736002f32b 100644
--- a/doc/examples/ex-pkcs11-list.c
+++ b/doc/examples/ex-pkcs11-list.c
@@ -17,15 +17,15 @@ int main(int argc, char **argv)
int ret;
unsigned int i;
- ret = gnutls_pkcs11_obj_list_import_url4(&obj_list, &obj_list_size, URL,
- GNUTLS_PKCS11_OBJ_FLAG_CRT |
- GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY);
+ ret = gnutls_pkcs11_obj_list_import_url4(
+ &obj_list, &obj_list_size, URL,
+ GNUTLS_PKCS11_OBJ_FLAG_CRT |
+ GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY);
if (ret < 0)
return -1;
/* now all certificates are in obj_list */
for (i = 0; i < obj_list_size; i++) {
-
gnutls_x509_crt_init(&xcrt);
gnutls_x509_crt_import_pkcs11(xcrt, obj_list[i]);
diff --git a/doc/examples/ex-pkcs12.c b/doc/examples/ex-pkcs12.c
index a77c697a37..d0f3cf2c76 100644
--- a/doc/examples/ex-pkcs12.c
+++ b/doc/examples/ex-pkcs12.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -19,9 +19,8 @@
* encrypted using a PKCS #12 cipher, or some browsers will crash)
* password: is the password used to encrypt the PKCS #12 packet.
*/
-int
-write_pkcs12(const gnutls_datum_t * cert,
- const gnutls_datum_t * pkcs8_key, const char *password)
+int write_pkcs12(const gnutls_datum_t *cert, const gnutls_datum_t *pkcs8_key,
+ const char *password)
{
gnutls_pkcs12_t pkcs12;
int ret, bag_index;
@@ -71,9 +70,8 @@ write_pkcs12(const gnutls_datum_t * cert,
/* Now the key.
*/
- ret = gnutls_pkcs12_bag_set_data(key_bag,
- GNUTLS_BAG_PKCS8_ENCRYPTED_KEY,
- pkcs8_key);
+ ret = gnutls_pkcs12_bag_set_data(
+ key_bag, GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, pkcs8_key);
if (ret < 0) {
fprintf(stderr, "ret: %s\n", gnutls_strerror(ret));
return 1;
@@ -104,9 +102,8 @@ write_pkcs12(const gnutls_datum_t * cert,
gnutls_pkcs12_generate_mac(pkcs12, password);
pkcs12_struct_size = sizeof(pkcs12_struct);
- ret =
- gnutls_pkcs12_export(pkcs12, GNUTLS_X509_FMT_DER,
- pkcs12_struct, &pkcs12_struct_size);
+ ret = gnutls_pkcs12_export(pkcs12, GNUTLS_X509_FMT_DER, pkcs12_struct,
+ &pkcs12_struct_size);
if (ret < 0) {
fprintf(stderr, "ret: %s\n", gnutls_strerror(ret));
return 1;
diff --git a/doc/examples/ex-serv-anon.c b/doc/examples/ex-serv-anon.c
index 618de8a546..a90e7d6719 100644
--- a/doc/examples/ex-serv-anon.c
+++ b/doc/examples/ex-serv-anon.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -18,9 +18,13 @@
/* This is a sample TLS 1.0 echo server, for anonymous authentication only.
*/
-#define SOCKET_ERR(err,s) if(err==-1) {perror(s);return(1);}
+#define SOCKET_ERR(err, s) \
+ if (err == -1) { \
+ perror(s); \
+ return (1); \
+ }
#define MAX_BUF 1024
-#define PORT 5556 /* listen to 5556 port */
+#define PORT 5556 /* listen to 5556 port */
int main(void)
{
@@ -57,7 +61,7 @@ int main(void)
memset(&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
- sa_serv.sin_port = htons(PORT); /* Server Port number */
+ sa_serv.sin_port = htons(PORT); /* Server Port number */
setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *)&optval,
sizeof(int));
@@ -80,20 +84,19 @@ int main(void)
printf("- connection from %s, port %d\n",
inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf,
- sizeof(topbuf)), ntohs(sa_cli.sin_port));
+ sizeof(topbuf)),
+ ntohs(sa_cli.sin_port));
gnutls_transport_set_int(session, sd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(sd);
gnutls_deinit(session);
- fprintf(stderr,
- "*** Handshake has failed (%s)\n\n",
+ fprintf(stderr, "*** Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
continue;
}
@@ -106,14 +109,14 @@ int main(void)
ret = gnutls_record_recv(session, buffer, MAX_BUF);
if (ret == 0) {
- printf
- ("\n- Peer has closed the GnuTLS connection\n");
+ printf("\n- Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) {
fprintf(stderr, "*** Warning: %s\n",
gnutls_strerror(ret));
} else if (ret < 0) {
- fprintf(stderr, "\n*** Received corrupted "
+ fprintf(stderr,
+ "\n*** Received corrupted "
"data(%d). Closing the connection.\n\n",
ret);
break;
@@ -130,7 +133,6 @@ int main(void)
close(sd);
gnutls_deinit(session);
-
}
close(listen_sd);
@@ -139,5 +141,4 @@ int main(void)
gnutls_global_deinit();
return 0;
-
}
diff --git a/doc/examples/ex-serv-dtls.c b/doc/examples/ex-serv-dtls.c
index 73811f49d6..1fc4380cbe 100644
--- a/doc/examples/ex-serv-dtls.c
+++ b/doc/examples/ex-serv-dtls.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,9 +28,9 @@
*/
#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
#define MAX_BUFFER 1024
#define PORT 5557
@@ -81,9 +81,8 @@ int main(void)
gnutls_certificate_set_x509_crl_file(x509_cred, CRLFILE,
GNUTLS_X509_FMT_PEM);
- ret =
- gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE,
- KEYFILE, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE, KEYFILE,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
printf("No certificate or key were found\n");
exit(1);
@@ -97,9 +96,8 @@ int main(void)
* "NORMAL:-VERS-TLS-ALL:+VERS-DTLS1.0:%SERVER_PRECEDENCE",
* NULL);
*/
- gnutls_priority_init2(&priority_cache,
- "%SERVER_PRECEDENCE",
- NULL, GNUTLS_PRIORITY_INIT_DEF_APPEND);
+ gnutls_priority_init2(&priority_cache, "%SERVER_PRECEDENCE", NULL,
+ GNUTLS_PRIORITY_INIT_DEF_APPEND);
gnutls_key_generate(&cookie_key, GNUTLS_COOKIE_KEY_SIZE);
@@ -112,7 +110,7 @@ int main(void)
sa_serv.sin_addr.s_addr = INADDR_ANY;
sa_serv.sin_port = htons(PORT);
- { /* DTLS requires the IP don't fragment (DF) bit to be set */
+ { /* DTLS requires the IP don't fragment (DF) bit to be set */
#if defined(IP_DONTFRAG)
int optval = 1;
setsockopt(listen_sd, IPPROTO_IP, IP_DONTFRAG,
@@ -139,12 +137,10 @@ int main(void)
(struct sockaddr *)&cli_addr, &cli_addr_size);
if (ret > 0) {
memset(&prestate, 0, sizeof(prestate));
- ret =
- gnutls_dtls_cookie_verify(&cookie_key,
- &cli_addr,
- sizeof(cli_addr),
- buffer, ret, &prestate);
- if (ret < 0) { /* cookie not valid */
+ ret = gnutls_dtls_cookie_verify(&cookie_key, &cli_addr,
+ sizeof(cli_addr),
+ buffer, ret, &prestate);
+ if (ret < 0) { /* cookie not valid */
priv_data_st s;
memset(&s, 0, sizeof(s));
@@ -152,19 +148,15 @@ int main(void)
s.cli_addr = (void *)&cli_addr;
s.cli_addr_size = sizeof(cli_addr);
- printf
- ("Sending hello verify request to %s\n",
- human_addr((struct sockaddr *)
- &cli_addr,
- sizeof(cli_addr), buffer,
- sizeof(buffer)));
+ printf("Sending hello verify request to %s\n",
+ human_addr((struct sockaddr *)&cli_addr,
+ sizeof(cli_addr), buffer,
+ sizeof(buffer)));
- gnutls_dtls_cookie_send(&cookie_key,
- &cli_addr,
- sizeof(cli_addr),
- &prestate,
- (gnutls_transport_ptr_t)
- & s, push_func);
+ gnutls_dtls_cookie_send(
+ &cookie_key, &cli_addr,
+ sizeof(cli_addr), &prestate,
+ (gnutls_transport_ptr_t)&s, push_func);
/* discard peeked data */
recvfrom(sock, buffer, sizeof(buffer), 0,
@@ -174,9 +166,9 @@ int main(void)
continue;
}
printf("Accepted connection from %s\n",
- human_addr((struct sockaddr *)
- &cli_addr, sizeof(cli_addr),
- buffer, sizeof(buffer)));
+ human_addr((struct sockaddr *)&cli_addr,
+ sizeof(cli_addr), buffer,
+ sizeof(buffer)));
} else
continue;
@@ -214,10 +206,9 @@ int main(void)
printf("- Handshake was completed\n");
for (;;) {
- LOOP_CHECK(ret,
- gnutls_record_recv_seq(session, buffer,
- MAX_BUFFER,
- sequence));
+ LOOP_CHECK(ret, gnutls_record_recv_seq(session, buffer,
+ MAX_BUFFER,
+ sequence));
if (ret < 0 && gnutls_error_is_fatal(ret) == 0) {
fprintf(stderr, "*** Warning: %s\n",
@@ -235,11 +226,10 @@ int main(void)
}
buffer[ret] = 0;
- printf
- ("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n",
- sequence[0], sequence[1], sequence[2],
- sequence[3], sequence[4], sequence[5],
- sequence[6], sequence[7], buffer);
+ printf("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n",
+ sequence[0], sequence[1], sequence[2],
+ sequence[3], sequence[4], sequence[5],
+ sequence[6], sequence[7], buffer);
/* reply back */
LOOP_CHECK(ret,
@@ -253,7 +243,6 @@ int main(void)
LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_WR));
gnutls_deinit(session);
-
}
close(listen_sd);
@@ -263,7 +252,6 @@ int main(void)
gnutls_global_deinit();
return 0;
-
}
static int wait_for_connection(int fd)
@@ -315,20 +303,19 @@ static int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms)
* from
*/
cli_addr_size = sizeof(cli_addr);
- ret =
- recvfrom(priv->fd, &c, 1, MSG_PEEK,
- (struct sockaddr *)&cli_addr, &cli_addr_size);
+ ret = recvfrom(priv->fd, &c, 1, MSG_PEEK, (struct sockaddr *)&cli_addr,
+ &cli_addr_size);
if (ret > 0) {
- if (cli_addr_size == priv->cli_addr_size
- && memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
+ if (cli_addr_size == priv->cli_addr_size &&
+ memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
return 1;
}
return 0;
}
-static ssize_t
-push_func(gnutls_transport_ptr_t p, const void *data, size_t size)
+static ssize_t push_func(gnutls_transport_ptr_t p, const void *data,
+ size_t size)
{
priv_data_st *priv = p;
@@ -345,21 +332,18 @@ static ssize_t pull_func(gnutls_transport_ptr_t p, void *data, size_t size)
int ret;
cli_addr_size = sizeof(cli_addr);
- ret =
- recvfrom(priv->fd, data, size, 0,
- (struct sockaddr *)&cli_addr, &cli_addr_size);
+ ret = recvfrom(priv->fd, data, size, 0, (struct sockaddr *)&cli_addr,
+ &cli_addr_size);
if (ret == -1)
return ret;
- if (cli_addr_size == priv->cli_addr_size
- && memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
+ if (cli_addr_size == priv->cli_addr_size &&
+ memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
return ret;
- printf("Denied connection from %s\n", human_addr((struct sockaddr *)
- &cli_addr,
- sizeof(cli_addr),
- buffer,
- sizeof(buffer)));
+ printf("Denied connection from %s\n",
+ human_addr((struct sockaddr *)&cli_addr, sizeof(cli_addr),
+ buffer, sizeof(buffer)));
gnutls_transport_set_errno(priv->session, EAGAIN);
return -1;
diff --git a/doc/examples/ex-serv-psk.c b/doc/examples/ex-serv-psk.c
index 92cd2d44d2..5130de7c93 100644
--- a/doc/examples/ex-serv-psk.c
+++ b/doc/examples/ex-serv-psk.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -21,20 +21,24 @@
#define CRLFILE "crl.pem"
#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
/* This is a sample TLS echo server, supporting X.509 and PSK
authentication.
*/
-#define SOCKET_ERR(err,s) if(err==-1) {perror(s);return(1);}
+#define SOCKET_ERR(err, s) \
+ if (err == -1) { \
+ perror(s); \
+ return (1); \
+ }
#define MAX_BUF 1024
-#define PORT 5556 /* listen to 5556 port */
+#define PORT 5556 /* listen to 5556 port */
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
printf("psk: username %s\n", username);
key->data = gnutls_malloc(4);
@@ -89,9 +93,8 @@ int main(void)
* "NORMAL:+PSK:+ECDHE-PSK:+DHE-PSK",
* NULL);
*/
- gnutls_priority_init2(&priority_cache,
- "+ECDHE-PSK:+DHE-PSK:+PSK",
- NULL, GNUTLS_PRIORITY_INIT_DEF_APPEND);
+ gnutls_priority_init2(&priority_cache, "+ECDHE-PSK:+DHE-PSK:+PSK", NULL,
+ GNUTLS_PRIORITY_INIT_DEF_APPEND);
gnutls_certificate_set_known_dh_params(x509_cred,
GNUTLS_SEC_PARAM_MEDIUM);
@@ -104,7 +107,7 @@ int main(void)
memset(&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
- sa_serv.sin_port = htons(PORT); /* Server Port number */
+ sa_serv.sin_port = htons(PORT); /* Server Port number */
setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *)&optval,
sizeof(int));
@@ -133,15 +136,15 @@ int main(void)
printf("- connection from %s, port %d\n",
inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf,
- sizeof(topbuf)), ntohs(sa_cli.sin_port));
+ sizeof(topbuf)),
+ ntohs(sa_cli.sin_port));
gnutls_transport_set_int(session, sd);
LOOP_CHECK(ret, gnutls_handshake(session));
if (ret < 0) {
close(sd);
gnutls_deinit(session);
- fprintf(stderr,
- "*** Handshake has failed (%s)\n\n",
+ fprintf(stderr, "*** Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
continue;
}
@@ -158,19 +161,18 @@ int main(void)
/* print_info(session); */
for (;;) {
- LOOP_CHECK(ret,
- gnutls_record_recv(session, buffer,
- MAX_BUF));
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer,
+ MAX_BUF));
if (ret == 0) {
- printf
- ("\n- Peer has closed the GnuTLS connection\n");
+ printf("\n- Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) {
fprintf(stderr, "*** Warning: %s\n",
gnutls_strerror(ret));
} else if (ret < 0) {
- fprintf(stderr, "\n*** Received corrupted "
+ fprintf(stderr,
+ "\n*** Received corrupted "
"data(%d). Closing the connection.\n\n",
ret);
break;
@@ -187,7 +189,6 @@ int main(void)
close(sd);
gnutls_deinit(session);
-
}
close(listen_sd);
@@ -199,5 +200,4 @@ int main(void)
gnutls_global_deinit();
return 0;
-
}
diff --git a/doc/examples/ex-serv-srp.c b/doc/examples/ex-serv-srp.c
index cdf5fe7ebc..eac21ad541 100644
--- a/doc/examples/ex-serv-srp.c
+++ b/doc/examples/ex-serv-srp.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -23,16 +23,20 @@
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
/* This is a sample TLS-SRP echo server.
*/
-#define SOCKET_ERR(err,s) if(err==-1) {perror(s);return(1);}
+#define SOCKET_ERR(err, s) \
+ if (err == -1) { \
+ perror(s); \
+ return (1); \
+ }
#define MAX_BUF 1024
-#define PORT 5556 /* listen to 5556 port */
+#define PORT 5556 /* listen to 5556 port */
int main(void)
{
@@ -80,7 +84,7 @@ int main(void)
memset(&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
- sa_serv.sin_port = htons(PORT); /* Server Port number */
+ sa_serv.sin_port = htons(PORT); /* Server Port number */
setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *)&optval,
sizeof(int));
@@ -117,7 +121,8 @@ int main(void)
printf("- connection from %s, port %d\n",
inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf,
- sizeof(topbuf)), ntohs(sa_cli.sin_port));
+ sizeof(topbuf)),
+ ntohs(sa_cli.sin_port));
gnutls_transport_set_int(session, sd);
@@ -125,8 +130,7 @@ int main(void)
if (ret < 0) {
close(sd);
gnutls_deinit(session);
- fprintf(stderr,
- "*** Handshake has failed (%s)\n\n",
+ fprintf(stderr, "*** Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
continue;
}
@@ -137,19 +141,18 @@ int main(void)
/* print_info(session); */
for (;;) {
- LOOP_CHECK(ret,
- gnutls_record_recv(session, buffer,
- MAX_BUF));
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer,
+ MAX_BUF));
if (ret == 0) {
- printf
- ("\n- Peer has closed the GnuTLS connection\n");
+ printf("\n- Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) {
fprintf(stderr, "*** Warning: %s\n",
gnutls_strerror(ret));
} else if (ret < 0) {
- fprintf(stderr, "\n*** Received corrupted "
+ fprintf(stderr,
+ "\n*** Received corrupted "
"data(%d). Closing the connection.\n\n",
ret);
break;
@@ -165,7 +168,6 @@ int main(void)
close(sd);
gnutls_deinit(session);
-
}
close(listen_sd);
@@ -175,5 +177,4 @@ int main(void)
gnutls_global_deinit();
return 0;
-
}
diff --git a/doc/examples/ex-serv-x509.c b/doc/examples/ex-serv-x509.c
index a42040abab..977aec004d 100644
--- a/doc/examples/ex-serv-x509.c
+++ b/doc/examples/ex-serv-x509.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -21,11 +21,11 @@
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
#define CRLFILE "crl.pem"
-#define CHECK(x) assert((x)>=0)
+#define CHECK(x) assert((x) >= 0)
#define LOOP_CHECK(rval, cmd) \
- do { \
- rval = cmd; \
- } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+ do { \
+ rval = cmd; \
+ } while (rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
/* The OCSP status file contains up to date information about revocation
* of the server's certificate. That can be periodically be updated
@@ -40,7 +40,7 @@
*/
#define MAX_BUF 1024
-#define PORT 5556 /* listen to 5556 port */
+#define PORT 5556 /* listen to 5556 port */
int main(void)
{
@@ -73,13 +73,11 @@ int main(void)
* (the latter since 3.5.6). See the manual pages of the individual
* functions for more information.
*/
- CHECK(gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE,
- KEYFILE,
+ CHECK(gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE, KEYFILE,
GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_ocsp_status_request_file(x509_cred,
- OCSP_STATUS_FILE,
- 0));
+ CHECK(gnutls_certificate_set_ocsp_status_request_file(
+ x509_cred, OCSP_STATUS_FILE, 0));
CHECK(gnutls_priority_init(&priority_cache, NULL, NULL));
@@ -105,7 +103,7 @@ int main(void)
memset(&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
- sa_serv.sin_port = htons(PORT); /* Server Port number */
+ sa_serv.sin_port = htons(PORT); /* Server Port number */
setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *)&optval,
sizeof(int));
@@ -137,7 +135,8 @@ int main(void)
printf("- connection from %s, port %d\n",
inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf,
- sizeof(topbuf)), ntohs(sa_cli.sin_port));
+ sizeof(topbuf)),
+ ntohs(sa_cli.sin_port));
gnutls_transport_set_int(session, sd);
@@ -145,8 +144,7 @@ int main(void)
if (ret < 0) {
close(sd);
gnutls_deinit(session);
- fprintf(stderr,
- "*** Handshake has failed (%s)\n\n",
+ fprintf(stderr, "*** Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
continue;
}
@@ -156,19 +154,18 @@ int main(void)
/* print_info(session); */
for (;;) {
- LOOP_CHECK(ret,
- gnutls_record_recv(session, buffer,
- MAX_BUF));
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer,
+ MAX_BUF));
if (ret == 0) {
- printf
- ("\n- Peer has closed the GnuTLS connection\n");
+ printf("\n- Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) {
fprintf(stderr, "*** Warning: %s\n",
gnutls_strerror(ret));
} else if (ret < 0) {
- fprintf(stderr, "\n*** Received corrupted "
+ fprintf(stderr,
+ "\n*** Received corrupted "
"data(%d). Closing the connection.\n\n",
ret);
break;
@@ -185,7 +182,6 @@ int main(void)
close(sd);
gnutls_deinit(session);
-
}
close(listen_sd);
@@ -195,5 +191,4 @@ int main(void)
gnutls_global_deinit();
return 0;
-
}
diff --git a/doc/examples/ex-session-info.c b/doc/examples/ex-session-info.c
index bd51c2c8da..225fd74569 100644
--- a/doc/examples/ex-session-info.c
+++ b/doc/examples/ex-session-info.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -62,7 +62,7 @@ int print_info(gnutls_session_t session)
dhe = 1;
break;
- case GNUTLS_CRD_ANON: /* anonymous authentication */
+ case GNUTLS_CRD_ANON: /* anonymous authentication */
printf("- Anonymous authentication.\n");
if (kx == GNUTLS_KX_ANON_ECDH)
@@ -71,14 +71,14 @@ int print_info(gnutls_session_t session)
dhe = 1;
break;
- case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */
+ case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */
/* Check if we have been using ephemeral Diffie-Hellman.
*/
if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS)
dhe = 1;
- else if (kx == GNUTLS_KX_ECDHE_RSA
- || kx == GNUTLS_KX_ECDHE_ECDSA)
+ else if (kx == GNUTLS_KX_ECDHE_RSA ||
+ kx == GNUTLS_KX_ECDHE_ECDSA)
ecdh = 1;
/* if the certificate list is available, then
@@ -88,7 +88,7 @@ int print_info(gnutls_session_t session)
break;
default:
break;
- } /* switch */
+ } /* switch */
/* read the negotiated group - if any */
group = gnutls_group_get(session);
@@ -97,8 +97,8 @@ int print_info(gnutls_session_t session)
} else {
if (ecdh != 0)
printf("- Ephemeral ECDH using curve %s\n",
- gnutls_ecc_curve_get_name(gnutls_ecc_curve_get
- (session)));
+ gnutls_ecc_curve_get_name(
+ gnutls_ecc_curve_get(session)));
else if (dhe != 0)
printf("- Ephemeral DH using prime of %d bits\n",
gnutls_dh_get_prime_bits(session));
diff --git a/doc/examples/ex-verify-ssh.c b/doc/examples/ex-verify-ssh.c
index 66750545ca..e4d1212149 100644
--- a/doc/examples/ex-verify-ssh.c
+++ b/doc/examples/ex-verify-ssh.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -12,7 +12,7 @@
#include <assert.h>
#include "examples.h"
-#define CHECK(x) assert((x)>=0)
+#define CHECK(x) assert((x) >= 0)
/* This function will verify the peer's certificate, check
* if the hostname matches. In addition it will perform an
@@ -38,13 +38,13 @@ int _ssh_verify_certificate_callback(gnutls_session_t session)
type = gnutls_certificate_type_get(session);
- CHECK(gnutls_certificate_verification_status_print(status,
- type, &out, 0));
+ CHECK(gnutls_certificate_verification_status_print(status, type, &out,
+ 0));
printf("%s", out.data);
gnutls_free(out.data);
- if (status != 0) /* Certificate is not trusted */
+ if (status != 0) /* Certificate is not trusted */
return GNUTLS_E_CERTIFICATE_ERROR;
/* Do SSH verification */
@@ -55,8 +55,8 @@ int _ssh_verify_certificate_callback(gnutls_session_t session)
}
/* service may be obtained alternatively using getservbyport() */
- ret = gnutls_verify_stored_pubkey(NULL, NULL, hostname, "https",
- type, &cert_list[0], 0);
+ ret = gnutls_verify_stored_pubkey(NULL, NULL, hostname, "https", type,
+ &cert_list[0], 0);
if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND) {
printf("Host %s is not known.", hostname);
if (status == 0)
@@ -68,11 +68,9 @@ int _ssh_verify_certificate_callback(gnutls_session_t session)
/* if not trusted */
return GNUTLS_E_CERTIFICATE_ERROR;
} else if (ret == GNUTLS_E_CERTIFICATE_KEY_MISMATCH) {
- printf
- ("Warning: host %s is known but has another key associated.",
- hostname);
- printf
- ("It might be that the server has multiple keys, or you are under attack\n");
+ printf("Warning: host %s is known but has another key associated.",
+ hostname);
+ printf("It might be that the server has multiple keys, or you are under attack\n");
if (status == 0)
printf("Its certificate is valid for %s.\n", hostname);
@@ -89,8 +87,8 @@ int _ssh_verify_certificate_callback(gnutls_session_t session)
/* user trusts the key -> store it */
if (ret != 0) {
- CHECK(gnutls_store_pubkey(NULL, NULL, hostname, "https",
- type, &cert_list[0], 0, 0));
+ CHECK(gnutls_store_pubkey(NULL, NULL, hostname, "https", type,
+ &cert_list[0], 0, 0));
}
/* notify gnutls to continue handshake normally */
diff --git a/doc/examples/ex-verify.c b/doc/examples/ex-verify.c
index b37bd115d4..c2946424a1 100644
--- a/doc/examples/ex-verify.c
+++ b/doc/examples/ex-verify.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -13,7 +13,7 @@
#include "examples.h"
-#define CHECK(x) assert((x)>=0)
+#define CHECK(x) assert((x) >= 0)
/* All the available CRLs
*/
@@ -25,18 +25,16 @@ int crl_list_size;
gnutls_x509_crt_t *ca_list;
int ca_list_size;
-static int print_details_func(gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer,
+static int print_details_func(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
gnutls_x509_crl_t crl,
unsigned int verification_output);
/* This function will try to verify the peer's certificate chain, and
* also check if the hostname matches.
*/
-void
-verify_certificate_chain(const char *hostname,
- const gnutls_datum_t * cert_chain,
- int cert_chain_length)
+void verify_certificate_chain(const char *hostname,
+ const gnutls_datum_t *cert_chain,
+ int cert_chain_length)
{
int i;
gnutls_x509_trust_list_t tlist;
@@ -66,27 +64,22 @@ verify_certificate_chain(const char *hostname,
GNUTLS_X509_FMT_DER));
}
- CHECK(gnutls_x509_trust_list_verify_named_crt(tlist, cert[0],
- hostname,
- strlen(hostname),
- GNUTLS_VERIFY_DISABLE_CRL_CHECKS,
- &output,
- print_details_func));
+ CHECK(gnutls_x509_trust_list_verify_named_crt(
+ tlist, cert[0], hostname, strlen(hostname),
+ GNUTLS_VERIFY_DISABLE_CRL_CHECKS, &output, print_details_func));
/* if this certificate is not explicitly trusted verify against CAs
*/
if (output != 0) {
- CHECK(gnutls_x509_trust_list_verify_crt(tlist, cert,
- cert_chain_length, 0,
- &output,
- print_details_func));
+ CHECK(gnutls_x509_trust_list_verify_crt(
+ tlist, cert, cert_chain_length, 0, &output,
+ print_details_func));
}
if (output & GNUTLS_CERT_INVALID) {
fprintf(stderr, "Not trusted\n");
- CHECK(gnutls_certificate_verification_status_print(output,
- GNUTLS_CRT_X509,
- &txt, 0));
+ CHECK(gnutls_certificate_verification_status_print(
+ output, GNUTLS_CRT_X509, &txt, 0));
fprintf(stderr, "Error: %s\n", txt.data);
gnutls_free(txt.data);
@@ -96,9 +89,8 @@ verify_certificate_chain(const char *hostname,
/* Check if the name in the first certificate matches our destination!
*/
if (!gnutls_x509_crt_check_hostname(cert[0], hostname)) {
- printf
- ("The certificate's owner does not match hostname '%s'\n",
- hostname);
+ printf("The certificate's owner does not match hostname '%s'\n",
+ hostname);
}
for (i = 0; i < cert_chain_length; i++) {
@@ -111,10 +103,9 @@ verify_certificate_chain(const char *hostname,
return;
}
-static int
-print_details_func(gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer, gnutls_x509_crl_t crl,
- unsigned int verification_output)
+static int print_details_func(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ gnutls_x509_crl_t crl,
+ unsigned int verification_output)
{
char name[512];
char issuer_name[512];
diff --git a/doc/examples/ex-x509-info.c b/doc/examples/ex-x509-info.c
index f312a38ba8..3a75ca7d13 100644
--- a/doc/examples/ex-x509-info.c
+++ b/doc/examples/ex-x509-info.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -69,9 +69,8 @@ void print_x509_certificate_info(gnutls_session_t session)
/* This is the preferred way of printing short information about
a certificate. */
- ret =
- gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_ONELINE,
- &cinfo);
+ ret = gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_ONELINE,
+ &cinfo);
if (ret == 0) {
printf("\t%s\n", cinfo.data);
gnutls_free(cinfo.data);
@@ -117,6 +116,5 @@ void print_x509_certificate_info(gnutls_session_t session)
printf("\tIssuer's DN: %s\n", dn);
gnutls_x509_crt_deinit(cert);
-
}
}
diff --git a/doc/examples/examples.h b/doc/examples/examples.h
index 910cc0b0ad..28452b7675 100644
--- a/doc/examples/examples.h
+++ b/doc/examples/examples.h
@@ -1,10 +1,10 @@
#ifndef EXAMPLES_H
-# define EXAMPLES_H
+#define EXAMPLES_H
void check_alert(gnutls_session_t session, int ret);
-int write_pkcs12(const gnutls_datum_t * cert,
- const gnutls_datum_t * pkcs8_key, const char *password);
+int write_pkcs12(const gnutls_datum_t *cert, const gnutls_datum_t *pkcs8_key,
+ const char *password);
void verify_certificate(gnutls_session_t session, const char *hostname);
@@ -14,11 +14,10 @@ void print_x509_certificate_info(gnutls_session_t session);
int _ssh_verify_certificate_callback(gnutls_session_t session);
-void
-verify_certificate_chain(const char *hostname,
- const gnutls_datum_t * cert_chain,
- int cert_chain_length);
+void verify_certificate_chain(const char *hostname,
+ const gnutls_datum_t *cert_chain,
+ int cert_chain_length);
int verify_certificate_callback(gnutls_session_t session);
-#endif /* EXAMPLES_H */
+#endif /* EXAMPLES_H */
diff --git a/doc/examples/print-ciphersuites.c b/doc/examples/print-ciphersuites.c
index ab26088786..67d52649f8 100644
--- a/doc/examples/print-ciphersuites.c
+++ b/doc/examples/print-ciphersuites.c
@@ -27,21 +27,19 @@ static void print_cipher_suite_list(const char *priorities)
}
for (i = 0;; i++) {
- ret =
- gnutls_priority_get_cipher_suite_index(pcache,
- i, &idx);
+ ret = gnutls_priority_get_cipher_suite_index(pcache, i,
+ &idx);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
if (ret == GNUTLS_E_UNKNOWN_CIPHER_SUITE)
continue;
- name =
- gnutls_cipher_suite_info(idx, id, NULL, NULL,
- NULL, &version);
+ name = gnutls_cipher_suite_info(idx, id, NULL, NULL,
+ NULL, &version);
if (name != NULL)
- printf("%-50s\t0x%02x, 0x%02x\t%s\n",
- name, (unsigned char)id[0],
+ printf("%-50s\t0x%02x, 0x%02x\t%s\n", name,
+ (unsigned char)id[0],
(unsigned char)id[1],
gnutls_protocol_get_name(version));
}
diff --git a/doc/examples/tcp.c b/doc/examples/tcp.c
index 283f12342d..22ebe320df 100644
--- a/doc/examples/tcp.c
+++ b/doc/examples/tcp.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -49,6 +49,6 @@ extern int tcp_connect(void)
*/
extern void tcp_close(int sd)
{
- shutdown(sd, SHUT_RDWR); /* no more receptions */
+ shutdown(sd, SHUT_RDWR); /* no more receptions */
close(sd);
}
diff --git a/doc/examples/tlsproxy/buffer.c b/doc/examples/tlsproxy/buffer.c
index e983495f80..b4d34a8d67 100644
--- a/doc/examples/tlsproxy/buffer.c
+++ b/doc/examples/tlsproxy/buffer.c
@@ -88,7 +88,7 @@ buffer_t *bufNew(ssize_t size, ssize_t hwm)
return b;
}
-void bufFree(buffer_t * b)
+void bufFree(buffer_t *b)
{
free(b->buf);
free(b);
@@ -97,7 +97,7 @@ void bufFree(buffer_t * b)
/* get a maximal span to read. Returns 0 if buffer
* is empty
*/
-ssize_t bufGetReadSpan(buffer_t * b, void **addr)
+ssize_t bufGetReadSpan(buffer_t *b, void **addr)
{
if (b->empty) {
*addr = NULL;
@@ -112,7 +112,7 @@ ssize_t bufGetReadSpan(buffer_t * b, void **addr)
/* get a maximal span to write. Returns 0 id buffer is full
*/
-ssize_t bufGetWriteSpan(buffer_t * b, void **addr)
+ssize_t bufGetWriteSpan(buffer_t *b, void **addr)
{
if (b->empty) {
*addr = b->buf;
@@ -132,7 +132,7 @@ ssize_t bufGetWriteSpan(buffer_t * b, void **addr)
}
/* mark size bytes as read */
-void bufDoneRead(buffer_t * b, ssize_t size)
+void bufDoneRead(buffer_t *b, ssize_t size)
{
while (!b->empty && (size > 0)) {
/* empty can't occur here, so equal pointers means full */
@@ -159,7 +159,7 @@ void bufDoneRead(buffer_t * b, ssize_t size)
}
/* mark size bytes as written */
-void bufDoneWrite(buffer_t * b, ssize_t size)
+void bufDoneWrite(buffer_t *b, ssize_t size)
{
while ((b->empty || (b->ridx != b->widx)) && (size > 0)) {
/* full can't occur here, so equal pointers means empty */
@@ -182,27 +182,27 @@ void bufDoneWrite(buffer_t * b, ssize_t size)
}
}
-int bufIsEmpty(buffer_t * b)
+int bufIsEmpty(buffer_t *b)
{
return b->empty;
}
-int bufIsFull(buffer_t * b)
+int bufIsFull(buffer_t *b)
{
return !b->empty && (b->ridx == b->widx);
}
-int bufIsOverHWM(buffer_t * b)
+int bufIsOverHWM(buffer_t *b)
{
return bufGetCount(b) > b->hwm;
}
-ssize_t bufGetFree(buffer_t * b)
+ssize_t bufGetFree(buffer_t *b)
{
return b->size - bufGetCount(b);
}
-ssize_t bufGetCount(buffer_t * b)
+ssize_t bufGetCount(buffer_t *b)
{
if (b->empty)
return 0;
diff --git a/doc/examples/tlsproxy/buffer.h b/doc/examples/tlsproxy/buffer.h
index 6d8a205a56..28b08e4632 100644
--- a/doc/examples/tlsproxy/buffer.h
+++ b/doc/examples/tlsproxy/buffer.h
@@ -23,23 +23,23 @@ OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __TLSPROXY_BUFFERS_H
-# define __TLSPROXY_BUFFERS_H
+#define __TLSPROXY_BUFFERS_H
-# include <stdlib.h>
-# include <sys/types.h>
+#include <stdlib.h>
+#include <sys/types.h>
typedef struct buffer buffer_t;
buffer_t *bufNew(ssize_t size, ssize_t hwm);
-void bufFree(buffer_t * b);
-ssize_t bufGetReadSpan(buffer_t * b, void **addr);
-ssize_t bufGetWriteSpan(buffer_t * b, void **addr);
-void bufDoneRead(buffer_t * b, ssize_t size);
-void bufDoneWrite(buffer_t * b, ssize_t size);
-int bufIsEmpty(buffer_t * b);
-int bufIsFull(buffer_t * b);
-int bufIsOverHWM(buffer_t * b);
-ssize_t bufGetFree(buffer_t * b);
-ssize_t bufGetCount(buffer_t * b);
+void bufFree(buffer_t *b);
+ssize_t bufGetReadSpan(buffer_t *b, void **addr);
+ssize_t bufGetWriteSpan(buffer_t *b, void **addr);
+void bufDoneRead(buffer_t *b, ssize_t size);
+void bufDoneWrite(buffer_t *b, ssize_t size);
+int bufIsEmpty(buffer_t *b);
+int bufIsFull(buffer_t *b);
+int bufIsOverHWM(buffer_t *b);
+ssize_t bufGetFree(buffer_t *b);
+ssize_t bufGetCount(buffer_t *b);
#endif
diff --git a/doc/examples/tlsproxy/crypto-gnutls.c b/doc/examples/tlsproxy/crypto-gnutls.c
index a9da58912b..b0495f99b9 100644
--- a/doc/examples/tlsproxy/crypto-gnutls.c
+++ b/doc/examples/tlsproxy/crypto-gnutls.c
@@ -60,20 +60,20 @@ struct tlssession {
};
#define BUF_SIZE 65536
-#define BUF_HWM ((BUF_SIZE*3)/4)
+#define BUF_HWM ((BUF_SIZE * 3) / 4)
static int falsequit(void *opaque)
{
return FALSE;
}
-static int quit(tlssession_t * s)
+static int quit(tlssession_t *s)
{
return s->quitfn(s->opaque);
}
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
+#pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
#endif
static int stderrout(void *opaque, const char *format, va_list ap)
@@ -81,7 +81,7 @@ static int stderrout(void *opaque, const char *format, va_list ap)
return vfprintf(stderr, format, ap);
}
-static int errout(tlssession_t * s, const char *format, ...)
+static int errout(tlssession_t *s, const char *format, ...)
{
va_list ap;
int ret;
@@ -91,7 +91,7 @@ static int errout(tlssession_t * s, const char *format, ...)
return ret;
}
-static int debugout(tlssession_t * s, const char *format, ...)
+static int debugout(tlssession_t *s, const char *format, ...)
{
va_list ap;
int ret = 0;
@@ -122,7 +122,7 @@ static int verify_certificate_callback(gnutls_session_t session)
tlssession_t *s;
/* read session pointer */
- s = (tlssession_t *) gnutls_session_get_ptr(session);
+ s = (tlssession_t *)gnutls_session_get_ptr(session);
if (gnutls_certificate_type_get(session) != GNUTLS_CRT_X509)
return GNUTLS_E_CERTIFICATE_ERROR;
@@ -131,9 +131,8 @@ static int verify_certificate_callback(gnutls_session_t session)
* structure. So you must have installed one or more CA certificates.
*/
if (s->hostname && *s->hostname)
- ret =
- gnutls_certificate_verify_peers3(session, s->hostname,
- &status);
+ ret = gnutls_certificate_verify_peers3(session, s->hostname,
+ &status);
else
ret = gnutls_certificate_verify_peers2(session, &status);
@@ -145,10 +144,8 @@ static int verify_certificate_callback(gnutls_session_t session)
if (status) {
gnutls_datum_t txt;
- ret =
- gnutls_certificate_verification_status_print(status,
- GNUTLS_CRT_X509,
- &txt, 0);
+ ret = gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &txt, 0);
if (ret >= 0) {
debugout(s, "verification error: %s\n", txt.data);
gnutls_free(txt.data);
@@ -163,12 +160,12 @@ static int verify_certificate_callback(gnutls_session_t session)
return 0;
}
-tlssession_t *tlssession_new(int isserver,
- char *keyfile, char *certfile, char *cacertfile,
- char *hostname, int insecure, int debug,
- int (*quitfn)(void *opaque),
+tlssession_t *tlssession_new(int isserver, char *keyfile, char *certfile,
+ char *cacertfile, char *hostname, int insecure,
+ int debug, int (*quitfn)(void *opaque),
int (*erroutfn)(void *opaque, const char *format,
- va_list ap), void *opaque)
+ va_list ap),
+ void *opaque)
{
int ret;
tlssession_t *s = calloc(1, sizeof(tlssession_t));
@@ -196,9 +193,8 @@ tlssession_t *tlssession_new(int isserver,
}
if (cacertfile != NULL) {
- ret =
- gnutls_certificate_set_x509_trust_file(s->creds, cacertfile,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_file(
+ s->creds, cacertfile, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
errout(s, "Error setting the x509 trust file: %s\n",
gnutls_strerror(ret));
@@ -206,10 +202,10 @@ tlssession_t *tlssession_new(int isserver,
}
if (!insecure) {
- gnutls_certificate_set_verify_function(s->creds,
- verify_certificate_callback);
- gnutls_certificate_set_verify_flags(s->creds,
- GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
+ gnutls_certificate_set_verify_function(
+ s->creds, verify_certificate_callback);
+ gnutls_certificate_set_verify_flags(
+ s->creds, GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
}
}
@@ -217,10 +213,8 @@ tlssession_t *tlssession_new(int isserver,
certfile = keyfile;
if (certfile != NULL && keyfile != NULL) {
- ret =
- gnutls_certificate_set_x509_key_file(s->creds, certfile,
- keyfile,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_file(
+ s->creds, certfile, keyfile, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
errout(s,
@@ -244,9 +238,8 @@ tlssession_t *tlssession_new(int isserver,
gnutls_session_set_ptr(s->session, (void *)s);
if (!isserver && s->hostname && *s->hostname) {
- ret =
- gnutls_server_name_set(s->session, GNUTLS_NAME_DNS,
- s->hostname, strlen(s->hostname));
+ ret = gnutls_server_name_set(s->session, GNUTLS_NAME_DNS,
+ s->hostname, strlen(s->hostname));
if (ret < 0) {
errout(s, "Cannot set server name: %s\n",
gnutls_strerror(ret));
@@ -261,9 +254,8 @@ tlssession_t *tlssession_new(int isserver,
goto error;
}
- ret =
- gnutls_credentials_set(s->session, GNUTLS_CRD_CERTIFICATE,
- s->creds);
+ ret = gnutls_credentials_set(s->session, GNUTLS_CRD_CERTIFICATE,
+ s->creds);
if (ret < 0) {
errout(s, "Cannot set session GNUTL credentials: %s\n",
gnutls_strerror(ret));
@@ -278,14 +270,14 @@ tlssession_t *tlssession_new(int isserver,
return s;
- error:
+error:
if (s->session)
gnutls_deinit(s->session);
free(s);
return NULL;
}
-void tlssession_close(tlssession_t * s)
+void tlssession_close(tlssession_t *s)
{
if (s->session)
gnutls_deinit(s->session);
@@ -298,7 +290,7 @@ int tlssession_init(void)
return gnutls_global_init();
}
-int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
+int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t *s)
{
fd_set readfds;
fd_set writefds;
@@ -318,7 +310,7 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
/* set it up to work with our FD */
gnutls_transport_set_ptr(s->session,
- (gnutls_transport_ptr_t) (intptr_t) cryptfd);
+ (gnutls_transport_ptr_t)(intptr_t)cryptfd);
/* Now do the handshake */
ret = gnutls_handshake(s->session);
@@ -350,7 +342,7 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
size_t buffered = gnutls_record_check_pending(s->session);
if (buffered)
- wait = FALSE; /* do not wait for select to return if we have buffered data */
+ wait = FALSE; /* do not wait for select to return if we have buffered data */
if (plainEOF) {
/* plain text end has closed, but me may still have
@@ -384,12 +376,11 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
do {
timeout.tv_sec = wait ? 1 : 0;
timeout.tv_usec = 0;
- result =
- select(maxfd, &readfds, &writefds, NULL, &timeout);
+ result = select(maxfd, &readfds, &writefds, NULL,
+ &timeout);
selecterrno = errno;
- }
- while ((result == -1) && (selecterrno == EINTR) && !quit(s));
+ } while ((result == -1) && (selecterrno == EINTR) && !quit(s));
if (quit(s))
break;
@@ -404,9 +395,8 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
if (len > 0) {
do {
ret = read(plainfd, addr, (size_t)len);
- }
- while ((ret < 0) && (errno == EINTR)
- && !quit(s));
+ } while ((ret < 0) && (errno == EINTR) &&
+ !quit(s));
if (quit(s))
break;
if (ret < 0) {
@@ -417,7 +407,9 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
if (ret == 0) {
plainEOF = TRUE;
} else {
- bufDoneWrite(plainToCrypt, ret); /* mark ret bytes as written to the buffer */
+ bufDoneWrite(
+ plainToCrypt,
+ ret); /* mark ret bytes as written to the buffer */
}
}
}
@@ -433,9 +425,8 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
if (len > 0) {
do {
ret = write(plainfd, addr, (size_t)len);
- }
- while ((ret < 0) && (errno == EINTR)
- && !quit(s));
+ } while ((ret < 0) && (errno == EINTR) &&
+ !quit(s));
if (quit(s))
break;
if (ret < 0) {
@@ -443,7 +434,9 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
"Error on write to plain socket: %m\n");
goto error;
}
- bufDoneRead(cryptToPlain, ret); /* mark ret bytes as read from the buffer */
+ bufDoneRead(
+ cryptToPlain,
+ ret); /* mark ret bytes as read from the buffer */
}
}
@@ -457,11 +450,10 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
ssize_t len = bufGetWriteSpan(cryptToPlain, &addr);
if (len > 0) {
do {
- ret =
- gnutls_record_recv(s->session, addr,
- (size_t)len);
- }
- while (ret == GNUTLS_E_INTERRUPTED && !quit(s));
+ ret = gnutls_record_recv(
+ s->session, addr, (size_t)len);
+ } while (ret == GNUTLS_E_INTERRUPTED &&
+ !quit(s));
/* do not loop on GNUTLS_E_AGAIN - this means we'd block so we'd loop for
* ever
*/
@@ -476,7 +468,9 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
if (ret == 0) {
cryptEOF = TRUE;
} else {
- bufDoneWrite(cryptToPlain, ret); /* mark ret bytes as written to the buffer */
+ bufDoneWrite(
+ cryptToPlain,
+ ret); /* mark ret bytes as written to the buffer */
}
}
}
@@ -492,16 +486,14 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
if (len > 0) {
do {
if (tls_wr_interrupted) {
- ret =
- gnutls_record_send
- (s->session, NULL, 0);
+ ret = gnutls_record_send(
+ s->session, NULL, 0);
} else {
- ret =
- gnutls_record_send
- (s->session, addr, len);
+ ret = gnutls_record_send(
+ s->session, addr, len);
}
- }
- while (ret == GNUTLS_E_INTERRUPTED && !quit(s));
+ } while (ret == GNUTLS_E_INTERRUPTED &&
+ !quit(s));
if (quit(s))
break;
if (ret == GNUTLS_E_AGAIN) {
@@ -515,7 +507,9 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
gnutls_strerror(ret));
goto error;
} else {
- bufDoneRead(plainToCrypt, ret); /* mark ret bytes as read from the buffer */
+ bufDoneRead(
+ plainToCrypt,
+ ret); /* mark ret bytes as read from the buffer */
}
}
}
@@ -524,10 +518,10 @@ int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * s)
ret = 0;
goto freereturn;
- error:
+error:
ret = -1;
- freereturn:
+freereturn:
gnutls_bye(s->session, GNUTLS_SHUT_RDWR);
shutdown(plainfd, SHUT_RDWR);
bufFree(plainToCrypt);
diff --git a/doc/examples/tlsproxy/crypto-gnutls.h b/doc/examples/tlsproxy/crypto-gnutls.h
index be04e665d2..b315c9a274 100644
--- a/doc/examples/tlsproxy/crypto-gnutls.h
+++ b/doc/examples/tlsproxy/crypto-gnutls.h
@@ -25,19 +25,18 @@ OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __TLSPROXY_CRYPTO_GNUTLS_H
-# define __TLSPROXY_CRYPTO_GNUTLS_H
+#define __TLSPROXY_CRYPTO_GNUTLS_H
int tlssession_init(void);
typedef struct tlssession tlssession_t;
-tlssession_t *tlssession_new(int isserver,
- char *keyfile, char *certfile, char *cacertfile,
- char *hostname, int insecure, int debug,
- int (*quitfn)(void *opaque),
- int (*erroutfn)(void *opaque,
- const char *format,
- va_list ap), void *opaque);
-void tlssession_close(tlssession_t * s);
-int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t * session);
+tlssession_t *tlssession_new(int isserver, char *keyfile, char *certfile,
+ char *cacertfile, char *hostname, int insecure,
+ int debug, int (*quitfn)(void *opaque),
+ int (*erroutfn)(void *opaque, const char *format,
+ va_list ap),
+ void *opaque);
+void tlssession_close(tlssession_t *s);
+int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t *session);
#endif
diff --git a/doc/examples/tlsproxy/tlsproxy.c b/doc/examples/tlsproxy/tlsproxy.c
index f9ce373fdc..dc5bea2aee 100644
--- a/doc/examples/tlsproxy/tlsproxy.c
+++ b/doc/examples/tlsproxy/tlsproxy.c
@@ -64,10 +64,10 @@ static int bindtoaddress(char *addrport)
snprintf(addr, sizeof(addr), "%s", addrport);
memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */
- hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
- hints.ai_socktype = SOCK_STREAM; /* Stream socket */
- hints.ai_protocol = 0; /* any protocol */
+ hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */
+ hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
+ hints.ai_socktype = SOCK_STREAM; /* Stream socket */
+ hints.ai_protocol = 0; /* any protocol */
char *colon = strrchr(addr, ':');
const char *port = defaultport;
@@ -90,9 +90,8 @@ static int bindtoaddress(char *addrport)
if (fd >= 0) {
int one = 1;
- if (setsockopt
- (fd, SOL_SOCKET, SO_REUSEADDR, &one,
- sizeof(one)) < 0) {
+ if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one,
+ sizeof(one)) < 0) {
close(fd);
continue;
}
@@ -108,7 +107,7 @@ static int bindtoaddress(char *addrport)
return -1;
}
- freeaddrinfo(result); /* No longer needed */
+ freeaddrinfo(result); /* No longer needed */
if (listen(fd, 5) < 0) {
close(fd);
@@ -128,10 +127,10 @@ static int connecttoaddress(char *addrport)
snprintf(addr, sizeof(addr), "%s", addrport);
memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */
- hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
- hints.ai_socktype = SOCK_STREAM; /* Stream socket */
- hints.ai_protocol = 0; /* any protocol */
+ hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */
+ hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
+ hints.ai_socktype = SOCK_STREAM; /* Stream socket */
+ hints.ai_protocol = 0; /* any protocol */
char *colon = strrchr(addr, ':');
const char *port = defaultport;
@@ -166,7 +165,7 @@ static int connecttoaddress(char *addrport)
return -1;
}
- freeaddrinfo(result); /* No longer needed */
+ freeaddrinfo(result); /* No longer needed */
return fd;
}
@@ -185,10 +184,9 @@ static int runproxy(int acceptfd)
return -1;
}
- tlssession_t *session =
- tlssession_new(server, keyfile, certfile, cacertfile, hostname,
- insecure,
- debug, quitfn, NULL, NULL);
+ tlssession_t *session = tlssession_new(server, keyfile, certfile,
+ cacertfile, hostname, insecure,
+ debug, quitfn, NULL, NULL);
if (!session) {
fprintf(stderr, "Could create TLS session\n");
close(connectfd);
@@ -235,8 +233,7 @@ static int runlistener(void)
return -1;
}
}
- }
- while (fd < 0 && !rxsigquit);
+ } while (fd < 0 && !rxsigquit);
if (rxsigquit)
break;
if (nofork < 2) {
@@ -287,18 +284,18 @@ static void processoptions(int argc, char **argv)
{
while (1) {
static const struct option longopts[] = {
- {"connect", required_argument, 0, 'c'},
- {"listen", required_argument, 0, 'l'},
- {"key", required_argument, 0, 'K'},
- {"cert", required_argument, 0, 'C'},
- {"cacert", required_argument, 0, 'A'},
- {"hostname", required_argument, 0, 'H'},
- {"server", no_argument, 0, 's'},
- {"insecure", no_argument, 0, 'i'},
- {"nofork", no_argument, 0, 'n'},
- {"debug", no_argument, 0, 'd'},
- {"help", no_argument, 0, 'h'},
- {0, 0, 0, 0}
+ { "connect", required_argument, 0, 'c' },
+ { "listen", required_argument, 0, 'l' },
+ { "key", required_argument, 0, 'K' },
+ { "cert", required_argument, 0, 'C' },
+ { "cacert", required_argument, 0, 'A' },
+ { "hostname", required_argument, 0, 'H' },
+ { "server", no_argument, 0, 's' },
+ { "insecure", no_argument, 0, 'i' },
+ { "nofork", no_argument, 0, 'n' },
+ { "debug", no_argument, 0, 'd' },
+ { "help", no_argument, 0, 'h' },
+ { 0, 0, 0, 0 }
};
int optidx = 0;
@@ -309,7 +306,7 @@ static void processoptions(int argc, char **argv)
break;
switch (c) {
- case 0: /* set a flag, nothing else to do */
+ case 0: /* set a flag, nothing else to do */
break;
case 'c':
diff --git a/doc/examples/udp.c b/doc/examples/udp.c
index beded4d0d1..09181afa0f 100644
--- a/doc/examples/udp.c
+++ b/doc/examples/udp.c
@@ -1,7 +1,7 @@
/* This example code is placed in the public domain. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,12 +41,12 @@ extern int udp_connect(void)
#if defined(IP_DONTFRAG)
optval = 1;
- setsockopt(sd, IPPROTO_IP, IP_DONTFRAG,
- (const void *)&optval, sizeof(optval));
+ setsockopt(sd, IPPROTO_IP, IP_DONTFRAG, (const void *)&optval,
+ sizeof(optval));
#elif defined(IP_MTU_DISCOVER)
optval = IP_PMTUDISC_DO;
- setsockopt(sd, IPPROTO_IP, IP_MTU_DISCOVER,
- (const void *)&optval, sizeof(optval));
+ setsockopt(sd, IPPROTO_IP, IP_MTU_DISCOVER, (const void *)&optval,
+ sizeof(optval));
#endif
err = connect(sd, (struct sockaddr *)&sa, sizeof(sa));
diff --git a/doc/examples/verify.c b/doc/examples/verify.c
index 62e6cfd462..fb6475cca6 100644
--- a/doc/examples/verify.c
+++ b/doc/examples/verify.c
@@ -1,5 +1,5 @@
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,8 +43,8 @@ int verify_certificate_callback(gnutls_session_t session)
type = gnutls_certificate_type_get(session);
- ret =
- gnutls_certificate_verification_status_print(status, type, &out, 0);
+ ret = gnutls_certificate_verification_status_print(status, type, &out,
+ 0);
if (ret < 0) {
printf("Error\n");
return GNUTLS_E_CERTIFICATE_ERROR;
@@ -54,7 +54,7 @@ int verify_certificate_callback(gnutls_session_t session)
gnutls_free(out.data);
- if (status != 0) /* Certificate is not trusted */
+ if (status != 0) /* Certificate is not trusted */
return GNUTLS_E_CERTIFICATE_ERROR;
/* notify gnutls to continue handshake normally */
diff --git a/doc/printlist.c b/doc/printlist.c
index fac3a2d795..8099033f26 100644
--- a/doc/printlist.c
+++ b/doc/printlist.c
@@ -56,24 +56,20 @@ static void main_texinfo(void)
printf("@heading Ciphersuites\n");
printf("@multitable @columnfractions .60 .20 .20\n");
printf("@headitem Ciphersuite name @tab TLS ID @tab Since\n");
- for (i = 0;
- (name =
- gnutls_cipher_suite_info(i, id, &kx, &cipher, &mac,
- &version)); i++) {
+ for (i = 0; (name = gnutls_cipher_suite_info(
+ i, id, &kx, &cipher, &mac, &version));
+ i++) {
printf("@item %s\n@tab 0x%02X 0x%02X\n@tab %s\n",
- escape_texi_string(name, buffer,
- sizeof(buffer)),
- (unsigned char)id[0],
- (unsigned char)id[1],
+ escape_texi_string(name, buffer, sizeof(buffer)),
+ (unsigned char)id[0], (unsigned char)id[1],
gnutls_protocol_get_name(version));
}
printf("@end multitable\n");
-
}
{
const gnutls_certificate_type_t *p =
- gnutls_certificate_type_list();
+ gnutls_certificate_type_list();
printf("\n\n@heading Certificate types\n");
printf("@table @code\n");
@@ -137,8 +133,7 @@ static void main_texinfo(void)
{
const gnutls_sign_algorithm_t *p = gnutls_sign_list();
- printf
- ("\n@heading Public key signature algorithms\n@table @code\n");
+ printf("\n@heading Public key signature algorithms\n@table @code\n");
for (; *p; p++) {
printf("@item %s\n", gnutls_sign_get_name(*p));
}
@@ -157,7 +152,9 @@ static void main_texinfo(void)
}
static const char headers[] = "\\tablefirsthead{%\n"
- "\\hline\n" "Ciphersuite name & TLS ID & Since\\\\\n" "\\hline}\n"
+ "\\hline\n"
+ "Ciphersuite name & TLS ID & Since\\\\\n"
+ "\\hline}\n"
#if 0
"\\tablehead{%\n"
"\\hline\n"
@@ -168,7 +165,8 @@ static const char headers[] = "\\tablefirsthead{%\n"
"\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n"
"\\hline}\n"
#endif
- "\\tablelasttail{\\hline}\n" "\\bottomcaption{The ciphersuites table}\n\n";
+ "\\tablelasttail{\\hline}\n"
+ "\\bottomcaption{The ciphersuites table}\n\n";
static void main_latex(void)
{
@@ -178,8 +176,7 @@ static void main_latex(void)
puts(headers);
- printf
- ("\\begin{supertabular}{|p{.64\\linewidth}|p{.12\\linewidth}|p{.09\\linewidth}|}\n");
+ printf("\\begin{supertabular}{|p{.64\\linewidth}|p{.12\\linewidth}|p{.09\\linewidth}|}\n");
{
size_t i;
@@ -190,19 +187,17 @@ static void main_latex(void)
gnutls_mac_algorithm_t mac;
gnutls_protocol_t version;
- for (i = 0; (name = gnutls_cipher_suite_info
- (i, id, &kx, &cipher, &mac, &version)); i++) {
- printf
- ("{\\small{%s}} & \\code{0x%02X 0x%02X} & %s",
- escape_string(name, buffer, sizeof(buffer)),
- (unsigned char)id[0], (unsigned char)id[1],
- gnutls_protocol_get_name(version));
+ for (i = 0; (name = gnutls_cipher_suite_info(
+ i, id, &kx, &cipher, &mac, &version));
+ i++) {
+ printf("{\\small{%s}} & \\code{0x%02X 0x%02X} & %s",
+ escape_string(name, buffer, sizeof(buffer)),
+ (unsigned char)id[0], (unsigned char)id[1],
+ gnutls_protocol_get_name(version));
printf("\\\\\n");
}
printf("\\end{supertabular}\n\n");
-
}
return;
-
}
diff --git a/extra/gnutls_openssl.c b/extra/gnutls_openssl.c
index f61d09829a..f4a63ae219 100644
--- a/extra/gnutls_openssl.c
+++ b/extra/gnutls_openssl.c
@@ -33,7 +33,7 @@
* undefine it to avoid the conflict with openssl.h.
*/
#ifdef X509_NAME
-# undef X509_NAME
+#undef X509_NAME
#endif
#include <gnutls/openssl.h>
@@ -42,8 +42,8 @@
#undef shutdown
/* XXX: See lib/gnutls_int.h. */
-#define GNUTLS_POINTER_TO_INT(_) ((int) GNUTLS_POINTER_TO_INT_CAST (_))
-#define GNUTLS_INT_TO_POINTER(_) ((void*) GNUTLS_POINTER_TO_INT_CAST (_))
+#define GNUTLS_POINTER_TO_INT(_) ((int)GNUTLS_POINTER_TO_INT_CAST(_))
+#define GNUTLS_INT_TO_POINTER(_) ((void *)GNUTLS_POINTER_TO_INT_CAST(_))
/* WARNING: Error functions aren't currently thread-safe */
@@ -64,11 +64,11 @@ void OpenSSL_add_all_algorithms(void)
/* SSL_CTX structure handling */
-SSL_CTX *SSL_CTX_new(SSL_METHOD * method)
+SSL_CTX *SSL_CTX_new(SSL_METHOD *method)
{
SSL_CTX *ctx;
- ctx = (SSL_CTX *) calloc(1, sizeof(SSL_CTX));
+ ctx = (SSL_CTX *)calloc(1, sizeof(SSL_CTX));
if (!ctx)
return NULL;
@@ -77,18 +77,18 @@ SSL_CTX *SSL_CTX_new(SSL_METHOD * method)
return ctx;
}
-void SSL_CTX_free(SSL_CTX * ctx)
+void SSL_CTX_free(SSL_CTX *ctx)
{
free(ctx->method);
free(ctx);
}
-int SSL_CTX_set_default_verify_paths(SSL_CTX * ctx)
+int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)
{
return 0;
}
-int SSL_CTX_use_certificate_file(SSL_CTX * ctx, const char *certfile, int type)
+int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *certfile, int type)
{
ctx->certfile = (char *)calloc(1, strlen(certfile) + 1);
if (!ctx->certfile)
@@ -100,7 +100,7 @@ int SSL_CTX_use_certificate_file(SSL_CTX * ctx, const char *certfile, int type)
return 1;
}
-int SSL_CTX_use_PrivateKey_file(SSL_CTX * ctx, const char *keyfile, int type)
+int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *keyfile, int type)
{
ctx->keyfile = (char *)calloc(1, strlen(keyfile) + 1);
if (!ctx->keyfile)
@@ -110,28 +110,26 @@ int SSL_CTX_use_PrivateKey_file(SSL_CTX * ctx, const char *keyfile, int type)
ctx->keyfile_type = type;
return 1;
-
}
-void
-SSL_CTX_set_verify(SSL_CTX * ctx, int verify_mode,
- int (*verify_callback)(int, X509_STORE_CTX *))
+void SSL_CTX_set_verify(SSL_CTX *ctx, int verify_mode,
+ int (*verify_callback)(int, X509_STORE_CTX *))
{
ctx->verify_mode = verify_mode;
ctx->verify_callback = verify_callback;
}
-unsigned long SSL_CTX_set_options(SSL_CTX * ctx, unsigned long options)
+unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long options)
{
return (ctx->options |= options);
}
-long SSL_CTX_set_mode(SSL_CTX * ctx, long mode)
+long SSL_CTX_set_mode(SSL_CTX *ctx, long mode)
{
return 0;
}
-int SSL_CTX_set_cipher_list(SSL_CTX * ctx, const char *list)
+int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *list)
{
/* FIXME: ignore this for the moment */
/* We're going to have to parse the "list" string to do this */
@@ -144,64 +142,64 @@ int SSL_CTX_set_cipher_list(SSL_CTX * ctx, const char *list)
/* SSL_CTX statistics */
-long SSL_CTX_sess_number(SSL_CTX * ctx)
+long SSL_CTX_sess_number(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_connect(SSL_CTX * ctx)
+long SSL_CTX_sess_connect(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_connect_good(SSL_CTX * ctx)
+long SSL_CTX_sess_connect_good(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_connect_renegotiate(SSL_CTX * ctx)
+long SSL_CTX_sess_connect_renegotiate(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_accept(SSL_CTX * ctx)
+long SSL_CTX_sess_accept(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_accept_good(SSL_CTX * ctx)
+long SSL_CTX_sess_accept_good(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_accept_renegotiate(SSL_CTX * ctx)
+long SSL_CTX_sess_accept_renegotiate(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_hits(SSL_CTX * ctx)
+long SSL_CTX_sess_hits(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_misses(SSL_CTX * ctx)
+long SSL_CTX_sess_misses(SSL_CTX *ctx)
{
return 0;
}
-long SSL_CTX_sess_timeouts(SSL_CTX * ctx)
+long SSL_CTX_sess_timeouts(SSL_CTX *ctx)
{
return 0;
}
/* SSL structure handling */
-SSL *SSL_new(SSL_CTX * ctx)
+SSL *SSL_new(SSL_CTX *ctx)
{
SSL *ssl;
int err;
- ssl = (SSL *) calloc(1, sizeof(SSL));
+ ssl = (SSL *)calloc(1, sizeof(SSL));
if (!ssl)
return NULL;
@@ -220,9 +218,8 @@ SSL *SSL_new(SSL_CTX * ctx)
gnutls_credentials_set(ssl->gnutls_state, GNUTLS_CRD_CERTIFICATE,
ssl->gnutls_cred);
if (ctx->certfile)
- gnutls_certificate_set_x509_trust_file(ssl->gnutls_cred,
- ctx->certfile,
- ctx->certfile_type);
+ gnutls_certificate_set_x509_trust_file(
+ ssl->gnutls_cred, ctx->certfile, ctx->certfile_type);
if (ctx->keyfile)
gnutls_certificate_set_x509_key_file(ssl->gnutls_cred,
ctx->certfile,
@@ -234,13 +231,13 @@ SSL *SSL_new(SSL_CTX * ctx)
ssl->options = ctx->options;
- ssl->rfd = (gnutls_transport_ptr_t) - 1;
- ssl->wfd = (gnutls_transport_ptr_t) - 1;
+ ssl->rfd = (gnutls_transport_ptr_t)-1;
+ ssl->wfd = (gnutls_transport_ptr_t)-1;
return ssl;
}
-void SSL_free(SSL * ssl)
+void SSL_free(SSL *ssl)
{
gnutls_certificate_free_credentials(ssl->gnutls_cred);
gnutls_deinit(ssl->gnutls_state);
@@ -251,7 +248,7 @@ void SSL_load_error_strings(void)
{
}
-int SSL_get_error(SSL * ssl, int ret)
+int SSL_get_error(SSL *ssl, int ret)
{
if (ret > 0)
return SSL_ERROR_NONE;
@@ -259,58 +256,57 @@ int SSL_get_error(SSL * ssl, int ret)
return SSL_ERROR_ZERO_RETURN;
}
-int SSL_set_fd(SSL * ssl, int fd)
+int SSL_set_fd(SSL *ssl, int fd)
{
gnutls_transport_set_ptr(ssl->gnutls_state, GNUTLS_INT_TO_POINTER(fd));
return 1;
}
-int SSL_set_rfd(SSL * ssl, int fd)
+int SSL_set_rfd(SSL *ssl, int fd)
{
ssl->rfd = GNUTLS_INT_TO_POINTER(fd);
- if (ssl->wfd != (gnutls_transport_ptr_t) - 1)
+ if (ssl->wfd != (gnutls_transport_ptr_t)-1)
gnutls_transport_set_ptr2(ssl->gnutls_state, ssl->rfd,
ssl->wfd);
return 1;
}
-int SSL_set_wfd(SSL * ssl, int fd)
+int SSL_set_wfd(SSL *ssl, int fd)
{
ssl->wfd = GNUTLS_INT_TO_POINTER(fd);
- if (ssl->rfd != (gnutls_transport_ptr_t) - 1)
+ if (ssl->rfd != (gnutls_transport_ptr_t)-1)
gnutls_transport_set_ptr2(ssl->gnutls_state, ssl->rfd,
ssl->wfd);
return 1;
}
-void SSL_set_bio(SSL * ssl, BIO * rbio, BIO * wbio)
+void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio)
{
gnutls_transport_set_ptr2(ssl->gnutls_state, rbio->fd, wbio->fd);
/* free(BIO); ? */
}
-void SSL_set_connect_state(SSL * ssl)
+void SSL_set_connect_state(SSL *ssl)
{
}
-int SSL_pending(SSL * ssl)
+int SSL_pending(SSL *ssl)
{
return gnutls_record_check_pending(ssl->gnutls_state);
}
-void
-SSL_set_verify(SSL * ssl, int verify_mode,
- int (*verify_callback)(int, X509_STORE_CTX *))
+void SSL_set_verify(SSL *ssl, int verify_mode,
+ int (*verify_callback)(int, X509_STORE_CTX *))
{
ssl->verify_mode = verify_mode;
ssl->verify_callback = verify_callback;
}
-const X509 *SSL_get_peer_certificate(SSL * ssl)
+const X509 *SSL_get_peer_certificate(SSL *ssl)
{
const gnutls_datum_t *cert_list;
unsigned int cert_list_size = 0;
@@ -323,7 +319,7 @@ const X509 *SSL_get_peer_certificate(SSL * ssl)
/* SSL connection open/close/read/write functions */
-int SSL_connect(SSL * ssl)
+int SSL_connect(SSL *ssl)
{
X509_STORE_CTX *store;
unsigned int cert_list_size = 0;
@@ -335,9 +331,8 @@ int SSL_connect(SSL * ssl)
if (ssl->options & SSL_OP_NO_TLSv1) {
snprintf(x_priority, sizeof(x_priority), "%s:-VERS-TLS1.0",
ssl->ctx->method->priority_string);
- err =
- gnutls_priority_set_direct(ssl->gnutls_state,
- x_priority, NULL);
+ err = gnutls_priority_set_direct(ssl->gnutls_state, x_priority,
+ NULL);
if (err < 0) {
last_error = err;
return 0;
@@ -352,7 +347,7 @@ int SSL_connect(SSL * ssl)
return 0;
}
- store = (X509_STORE_CTX *) calloc(1, sizeof(X509_STORE_CTX));
+ store = (X509_STORE_CTX *)calloc(1, sizeof(X509_STORE_CTX));
if (!store)
return 0;
@@ -373,7 +368,7 @@ int SSL_connect(SSL * ssl)
return 1;
}
-int SSL_accept(SSL * ssl)
+int SSL_accept(SSL *ssl)
{
X509_STORE_CTX *store;
unsigned int cert_list_size = 0;
@@ -385,9 +380,8 @@ int SSL_accept(SSL * ssl)
if (ssl->options & SSL_OP_NO_TLSv1) {
snprintf(x_priority, sizeof(x_priority), "%s:-VERS-TLS1.0",
ssl->ctx->method->priority_string);
- err =
- gnutls_priority_set_direct(ssl->gnutls_state,
- x_priority, NULL);
+ err = gnutls_priority_set_direct(ssl->gnutls_state, x_priority,
+ NULL);
if (err < 0) {
last_error = err;
return 0;
@@ -404,7 +398,7 @@ int SSL_accept(SSL * ssl)
return 0;
}
- store = (X509_STORE_CTX *) calloc(1, sizeof(X509_STORE_CTX));
+ store = (X509_STORE_CTX *)calloc(1, sizeof(X509_STORE_CTX));
if (!store)
return 0;
store->ssl = ssl;
@@ -424,7 +418,7 @@ int SSL_accept(SSL * ssl)
return 1;
}
-int SSL_shutdown(SSL * ssl)
+int SSL_shutdown(SSL *ssl)
{
if (!ssl->shutdown) {
gnutls_bye(ssl->gnutls_state, GNUTLS_SHUT_WR);
@@ -438,7 +432,7 @@ int SSL_shutdown(SSL * ssl)
return 1;
}
-int SSL_read(SSL * ssl, void *buf, int len)
+int SSL_read(SSL *ssl, void *buf, int len)
{
int ret;
@@ -453,7 +447,7 @@ int SSL_read(SSL * ssl, void *buf, int len)
return ret;
}
-int SSL_write(SSL * ssl, const void *buf, int len)
+int SSL_write(SSL *ssl, const void *buf, int len)
{
int ret;
@@ -468,7 +462,7 @@ int SSL_write(SSL * ssl, const void *buf, int len)
return ret;
}
-int SSL_want(SSL * ssl)
+int SSL_want(SSL *ssl)
{
return SSL_NOTHING;
}
@@ -478,7 +472,7 @@ int SSL_want(SSL * ssl)
SSL_METHOD *SSLv23_client_method(void)
{
SSL_METHOD *m;
- m = (SSL_METHOD *) calloc(1, sizeof(SSL_METHOD));
+ m = (SSL_METHOD *)calloc(1, sizeof(SSL_METHOD));
if (!m)
return NULL;
@@ -492,7 +486,7 @@ SSL_METHOD *SSLv23_client_method(void)
SSL_METHOD *SSLv23_server_method(void)
{
SSL_METHOD *m;
- m = (SSL_METHOD *) calloc(1, sizeof(SSL_METHOD));
+ m = (SSL_METHOD *)calloc(1, sizeof(SSL_METHOD));
if (!m)
return NULL;
@@ -505,7 +499,7 @@ SSL_METHOD *SSLv23_server_method(void)
SSL_METHOD *SSLv3_client_method(void)
{
SSL_METHOD *m;
- m = (SSL_METHOD *) calloc(1, sizeof(SSL_METHOD));
+ m = (SSL_METHOD *)calloc(1, sizeof(SSL_METHOD));
if (!m)
return NULL;
@@ -519,7 +513,7 @@ SSL_METHOD *SSLv3_client_method(void)
SSL_METHOD *SSLv3_server_method(void)
{
SSL_METHOD *m;
- m = (SSL_METHOD *) calloc(1, sizeof(SSL_METHOD));
+ m = (SSL_METHOD *)calloc(1, sizeof(SSL_METHOD));
if (!m)
return NULL;
@@ -533,7 +527,7 @@ SSL_METHOD *SSLv3_server_method(void)
SSL_METHOD *TLSv1_client_method(void)
{
SSL_METHOD *m;
- m = (SSL_METHOD *) calloc(1, sizeof(SSL_METHOD));
+ m = (SSL_METHOD *)calloc(1, sizeof(SSL_METHOD));
if (!m)
return NULL;
@@ -547,7 +541,7 @@ SSL_METHOD *TLSv1_client_method(void)
SSL_METHOD *TLSv1_server_method(void)
{
SSL_METHOD *m;
- m = (SSL_METHOD *) calloc(1, sizeof(SSL_METHOD));
+ m = (SSL_METHOD *)calloc(1, sizeof(SSL_METHOD));
if (!m)
return NULL;
@@ -560,33 +554,33 @@ SSL_METHOD *TLSv1_server_method(void)
/* SSL_CIPHER functions */
-SSL_CIPHER *SSL_get_current_cipher(SSL * ssl)
+SSL_CIPHER *SSL_get_current_cipher(SSL *ssl)
{
if (!ssl)
return NULL;
ssl->ciphersuite.version =
- gnutls_protocol_get_version(ssl->gnutls_state);
+ gnutls_protocol_get_version(ssl->gnutls_state);
ssl->ciphersuite.cipher = gnutls_cipher_get(ssl->gnutls_state);
ssl->ciphersuite.kx = gnutls_kx_get(ssl->gnutls_state);
ssl->ciphersuite.mac = gnutls_mac_get(ssl->gnutls_state);
ssl->ciphersuite.compression =
- gnutls_compression_get(ssl->gnutls_state);
+ gnutls_compression_get(ssl->gnutls_state);
ssl->ciphersuite.cert = gnutls_certificate_type_get(ssl->gnutls_state);
return &(ssl->ciphersuite);
}
-const char *SSL_CIPHER_get_name(SSL_CIPHER * cipher)
+const char *SSL_CIPHER_get_name(SSL_CIPHER *cipher)
{
if (!cipher)
return ("NONE");
- return gnutls_cipher_suite_get_name(cipher->kx,
- cipher->cipher, cipher->mac);
+ return gnutls_cipher_suite_get_name(cipher->kx, cipher->cipher,
+ cipher->mac);
}
-int SSL_CIPHER_get_bits(SSL_CIPHER * cipher, int *bits)
+int SSL_CIPHER_get_bits(SSL_CIPHER *cipher, int *bits)
{
int bit_result;
@@ -601,7 +595,7 @@ int SSL_CIPHER_get_bits(SSL_CIPHER * cipher, int *bits)
return bit_result;
}
-const char *SSL_CIPHER_get_version(SSL_CIPHER * cipher)
+const char *SSL_CIPHER_get_version(SSL_CIPHER *cipher)
{
const char *ret;
@@ -615,7 +609,7 @@ const char *SSL_CIPHER_get_version(SSL_CIPHER * cipher)
return ("unknown");
}
-char *SSL_CIPHER_description(SSL_CIPHER * cipher, char *buf, int size)
+char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int size)
{
char *tmpbuf;
int tmpsize;
@@ -646,10 +640,10 @@ char *SSL_CIPHER_description(SSL_CIPHER * cipher, char *buf, int size)
/* X509 functions */
-X509_NAME *X509_get_subject_name(const X509 * cert)
+X509_NAME *X509_get_subject_name(const X509 *cert)
{
gnutls_x509_dn *dn;
- dn = (gnutls_x509_dn *) calloc(1, sizeof(gnutls_x509_dn));
+ dn = (gnutls_x509_dn *)calloc(1, sizeof(gnutls_x509_dn));
if (!dn)
return (NULL);
if (gnutls_x509_extract_certificate_dn(cert, dn) < 0) {
@@ -659,10 +653,10 @@ X509_NAME *X509_get_subject_name(const X509 * cert)
return dn;
}
-X509_NAME *X509_get_issuer_name(const X509 * cert)
+X509_NAME *X509_get_issuer_name(const X509 *cert)
{
gnutls_x509_dn *dn;
- dn = (gnutls_x509_dn *) calloc(1, sizeof(gnutls_x509_dn));
+ dn = (gnutls_x509_dn *)calloc(1, sizeof(gnutls_x509_dn));
if (!dn)
return (NULL);
if (gnutls_x509_extract_certificate_issuer_dn(cert, dn) < 0) {
@@ -672,15 +666,14 @@ X509_NAME *X509_get_issuer_name(const X509 * cert)
return dn;
}
-char *X509_NAME_oneline(gnutls_x509_dn * name, char *buf, int len)
+char *X509_NAME_oneline(gnutls_x509_dn *name, char *buf, int len)
{
/* XXX openssl allocates buffer if buf == NULL */
if (!buf)
return NULL;
memset(buf, 0, len);
- snprintf(buf, len - 1,
- "C=%s, ST=%s, L=%s, O=%s, OU=%s, CN=%s/Email=%s",
+ snprintf(buf, len - 1, "C=%s, ST=%s, L=%s, O=%s, OU=%s, CN=%s/Email=%s",
name->country, name->state_or_province_name,
name->locality_name, name->organization,
name->organizational_unit_name, name->common_name,
@@ -688,7 +681,7 @@ char *X509_NAME_oneline(gnutls_x509_dn * name, char *buf, int len)
return buf;
}
-void X509_free(const X509 * cert)
+void X509_free(const X509 *cert)
{
/* only get certificates as const items */
}
@@ -705,7 +698,7 @@ BIO *BIO_new_socket(int sock, int close_flag)
{
BIO *bio;
- bio = (BIO *) malloc(sizeof(BIO));
+ bio = (BIO *)malloc(sizeof(BIO));
if (!bio)
return NULL;
@@ -777,7 +770,7 @@ int RAND_egd_bytes(const char *path, int bytes)
/* message digest functions */
-void MD5_Init(MD5_CTX * ctx)
+void MD5_Init(MD5_CTX *ctx)
{
int ret;
ret = gnutls_hash_init((void *)&ctx->handle, GNUTLS_DIG_MD5);
@@ -785,12 +778,12 @@ void MD5_Init(MD5_CTX * ctx)
abort();
}
-void MD5_Update(MD5_CTX * ctx, const void *buf, int len)
+void MD5_Update(MD5_CTX *ctx, const void *buf, int len)
{
gnutls_hash(ctx->handle, buf, len);
}
-void MD5_Final(unsigned char *md, MD5_CTX * ctx)
+void MD5_Final(unsigned char *md, MD5_CTX *ctx)
{
gnutls_hash_deinit(ctx->handle, md);
}
@@ -806,7 +799,7 @@ unsigned char *MD5(const unsigned char *buf, unsigned long len,
return md;
}
-void RIPEMD160_Init(RIPEMD160_CTX * ctx)
+void RIPEMD160_Init(RIPEMD160_CTX *ctx)
{
int ret;
ret = gnutls_hash_init((void *)&ctx->handle, GNUTLS_DIG_RMD160);
@@ -814,12 +807,12 @@ void RIPEMD160_Init(RIPEMD160_CTX * ctx)
abort();
}
-void RIPEMD160_Update(RIPEMD160_CTX * ctx, const void *buf, int len)
+void RIPEMD160_Update(RIPEMD160_CTX *ctx, const void *buf, int len)
{
gnutls_hash(ctx->handle, buf, len);
}
-void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX * ctx)
+void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *ctx)
{
gnutls_hash_deinit(ctx->handle, md);
}
diff --git a/extra/includes/gnutls/openssl.h b/extra/includes/gnutls/openssl.h
index aead126767..0383ee6997 100644
--- a/extra/includes/gnutls/openssl.h
+++ b/extra/includes/gnutls/openssl.h
@@ -29,283 +29,284 @@
*/
#ifndef GNUTLS_OPENSSL_H
-# define GNUTLS_OPENSSL_H
+#define GNUTLS_OPENSSL_H
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
/* Extra definitions that no longer exist in gnutls.
*/
-# define GNUTLS_X509_CN_SIZE 256
-# define GNUTLS_X509_C_SIZE 3
-# define GNUTLS_X509_O_SIZE 256
-# define GNUTLS_X509_OU_SIZE 256
-# define GNUTLS_X509_L_SIZE 256
-# define GNUTLS_X509_S_SIZE 256
-# define GNUTLS_X509_EMAIL_SIZE 256
-
- typedef struct {
- char common_name[GNUTLS_X509_CN_SIZE];
- char country[GNUTLS_X509_C_SIZE];
- char organization[GNUTLS_X509_O_SIZE];
- char organizational_unit_name[GNUTLS_X509_OU_SIZE];
- char locality_name[GNUTLS_X509_L_SIZE];
- char state_or_province_name[GNUTLS_X509_S_SIZE];
- char email[GNUTLS_X509_EMAIL_SIZE];
- } gnutls_x509_dn;
-
-# define OPENSSL_VERSION_NUMBER (0x0090604F)
-# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER
-# define OPENSSL_VERSION_TEXT ("GNUTLS " GNUTLS_VERSION " ")
-
-# define SSL_ERROR_NONE (0)
-# define SSL_ERROR_SSL (1)
-# define SSL_ERROR_WANT_READ (2)
-# define SSL_ERROR_WANT_WRITE (3)
-# define SSL_ERROR_SYSCALL (5)
-# define SSL_ERROR_ZERO_RETURN (6)
-
-# define SSL_FILETYPE_PEM (GNUTLS_X509_FMT_PEM)
-
-# define SSL_VERIFY_NONE (0)
-
-# define SSL_ST_OK (1)
-
-# define X509_V_ERR_CERT_NOT_YET_VALID (1)
-# define X509_V_ERR_CERT_HAS_EXPIRED (2)
-# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT (3)
-
-# define SSL_OP_ALL (0x000FFFFF)
-# define SSL_OP_NO_TLSv1 (0x0400000)
-
-# define SSL_MODE_ENABLE_PARTIAL_WRITE (0x1)
-# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER (0x2)
-# define SSL_MODE_AUTO_RETRY (0x4)
-
-# undef X509_NAME
-# undef X509
- typedef gnutls_x509_dn X509_NAME;
- typedef gnutls_datum_t X509;
-
- typedef struct _SSL SSL;
-
- typedef struct {
- char priority_string[256];
- unsigned int connend;
- } SSL_METHOD;
-
- typedef struct {
- gnutls_protocol_t version;
- gnutls_cipher_algorithm_t cipher;
- gnutls_kx_algorithm_t kx;
- gnutls_mac_algorithm_t mac;
- gnutls_compression_method_t compression;
- gnutls_certificate_type_t cert;
- } SSL_CIPHER;
-
- typedef struct _BIO {
- gnutls_transport_ptr_t fd;
- } BIO;
-
- typedef struct {
- SSL *ssl;
- int error;
- const gnutls_datum_t *cert_list;
-# define current_cert cert_list
- } X509_STORE_CTX;
-
-# define X509_STORE_CTX_get_current_cert(ctx) ((ctx)->current_cert)
-
- typedef struct _SSL_CTX {
- SSL_METHOD *method;
- char *certfile;
- int certfile_type;
- char *keyfile;
- int keyfile_type;
- unsigned long options;
-
- int (*verify_callback)(int, X509_STORE_CTX *);
- int verify_mode;
-
- } SSL_CTX;
-
- struct _SSL {
- gnutls_session_t gnutls_state;
-
- gnutls_certificate_client_credentials gnutls_cred;
-
- SSL_CTX *ctx;
- SSL_CIPHER ciphersuite;
-
- int last_error;
- int shutdown;
- int state;
- unsigned long options;
-
- int (*verify_callback)(int, X509_STORE_CTX *);
- int verify_mode;
+#define GNUTLS_X509_CN_SIZE 256
+#define GNUTLS_X509_C_SIZE 3
+#define GNUTLS_X509_O_SIZE 256
+#define GNUTLS_X509_OU_SIZE 256
+#define GNUTLS_X509_L_SIZE 256
+#define GNUTLS_X509_S_SIZE 256
+#define GNUTLS_X509_EMAIL_SIZE 256
+
+typedef struct {
+ char common_name[GNUTLS_X509_CN_SIZE];
+ char country[GNUTLS_X509_C_SIZE];
+ char organization[GNUTLS_X509_O_SIZE];
+ char organizational_unit_name[GNUTLS_X509_OU_SIZE];
+ char locality_name[GNUTLS_X509_L_SIZE];
+ char state_or_province_name[GNUTLS_X509_S_SIZE];
+ char email[GNUTLS_X509_EMAIL_SIZE];
+} gnutls_x509_dn;
+
+#define OPENSSL_VERSION_NUMBER (0x0090604F)
+#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER
+#define OPENSSL_VERSION_TEXT ("GNUTLS " GNUTLS_VERSION " ")
+
+#define SSL_ERROR_NONE (0)
+#define SSL_ERROR_SSL (1)
+#define SSL_ERROR_WANT_READ (2)
+#define SSL_ERROR_WANT_WRITE (3)
+#define SSL_ERROR_SYSCALL (5)
+#define SSL_ERROR_ZERO_RETURN (6)
+
+#define SSL_FILETYPE_PEM (GNUTLS_X509_FMT_PEM)
+
+#define SSL_VERIFY_NONE (0)
+
+#define SSL_ST_OK (1)
+
+#define X509_V_ERR_CERT_NOT_YET_VALID (1)
+#define X509_V_ERR_CERT_HAS_EXPIRED (2)
+#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT (3)
+
+#define SSL_OP_ALL (0x000FFFFF)
+#define SSL_OP_NO_TLSv1 (0x0400000)
+
+#define SSL_MODE_ENABLE_PARTIAL_WRITE (0x1)
+#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER (0x2)
+#define SSL_MODE_AUTO_RETRY (0x4)
+
+#undef X509_NAME
+#undef X509
+typedef gnutls_x509_dn X509_NAME;
+typedef gnutls_datum_t X509;
+
+typedef struct _SSL SSL;
+
+typedef struct {
+ char priority_string[256];
+ unsigned int connend;
+} SSL_METHOD;
+
+typedef struct {
+ gnutls_protocol_t version;
+ gnutls_cipher_algorithm_t cipher;
+ gnutls_kx_algorithm_t kx;
+ gnutls_mac_algorithm_t mac;
+ gnutls_compression_method_t compression;
+ gnutls_certificate_type_t cert;
+} SSL_CIPHER;
+
+typedef struct _BIO {
+ gnutls_transport_ptr_t fd;
+} BIO;
+
+typedef struct {
+ SSL *ssl;
+ int error;
+ const gnutls_datum_t *cert_list;
+#define current_cert cert_list
+} X509_STORE_CTX;
+
+#define X509_STORE_CTX_get_current_cert(ctx) ((ctx)->current_cert)
+
+typedef struct _SSL_CTX {
+ SSL_METHOD *method;
+ char *certfile;
+ int certfile_type;
+ char *keyfile;
+ int keyfile_type;
+ unsigned long options;
+
+ int (*verify_callback)(int, X509_STORE_CTX *);
+ int verify_mode;
+
+} SSL_CTX;
+
+struct _SSL {
+ gnutls_session_t gnutls_state;
+
+ gnutls_certificate_client_credentials gnutls_cred;
+
+ SSL_CTX *ctx;
+ SSL_CIPHER ciphersuite;
+
+ int last_error;
+ int shutdown;
+ int state;
+ unsigned long options;
+
+ int (*verify_callback)(int, X509_STORE_CTX *);
+ int verify_mode;
+
+ gnutls_transport_ptr_t rfd;
+ gnutls_transport_ptr_t wfd;
+};
- gnutls_transport_ptr_t rfd;
- gnutls_transport_ptr_t wfd;
- };
+#define rbio gnutls_state
-# define rbio gnutls_state
+typedef struct {
+ void *handle;
+} MD_CTX;
- typedef struct {
- void *handle;
- } MD_CTX;
+struct rsa_st;
+typedef struct rsa_st RSA;
- struct rsa_st;
- typedef struct rsa_st RSA;
+#define MD5_CTX MD_CTX
+#define RIPEMD160_CTX MD_CTX
-# define MD5_CTX MD_CTX
-# define RIPEMD160_CTX MD_CTX
+#define OpenSSL_add_ssl_algorithms() SSL_library_init()
+#define SSLeay_add_ssl_algorithms() SSL_library_init()
+#define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms()
-# define OpenSSL_add_ssl_algorithms() SSL_library_init()
-# define SSLeay_add_ssl_algorithms() SSL_library_init()
-# define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms()
-
-# define SSL_get_cipher_name(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
-# define SSL_get_cipher(ssl) SSL_get_cipher_name(ssl)
-# define SSL_get_cipher_bits(ssl,bp) SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl),(bp))
-# define SSL_get_cipher_version(ssl) SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
+#define SSL_get_cipher_name(ssl) \
+ SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
+#define SSL_get_cipher(ssl) SSL_get_cipher_name(ssl)
+#define SSL_get_cipher_bits(ssl, bp) \
+ SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl), (bp))
+#define SSL_get_cipher_version(ssl) \
+ SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
/* Library initialisation functions */
- int SSL_library_init(void);
- void OpenSSL_add_all_algorithms(void);
+int SSL_library_init(void);
+void OpenSSL_add_all_algorithms(void);
/* SSL_CTX structure handling */
- SSL_CTX *SSL_CTX_new(SSL_METHOD * method);
- void SSL_CTX_free(SSL_CTX * ctx);
- int SSL_CTX_set_default_verify_paths(SSL_CTX * ctx);
- int SSL_CTX_use_certificate_file(SSL_CTX * ctx,
- const char *certfile, int type);
- int SSL_CTX_use_PrivateKey_file(SSL_CTX * ctx, const char *keyfile,
- int type);
- void SSL_CTX_set_verify(SSL_CTX * ctx, int verify_mode,
- int (*verify_callback)(int, X509_STORE_CTX *));
- unsigned long SSL_CTX_set_options(SSL_CTX * ctx, unsigned long options);
- long SSL_CTX_set_mode(SSL_CTX * ctx, long mode);
- int SSL_CTX_set_cipher_list(SSL_CTX * ctx, const char *list);
+SSL_CTX *SSL_CTX_new(SSL_METHOD *method);
+void SSL_CTX_free(SSL_CTX *ctx);
+int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
+int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *certfile, int type);
+int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *keyfile, int type);
+void SSL_CTX_set_verify(SSL_CTX *ctx, int verify_mode,
+ int (*verify_callback)(int, X509_STORE_CTX *));
+unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long options);
+long SSL_CTX_set_mode(SSL_CTX *ctx, long mode);
+int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *list);
/* SSL_CTX statistics */
- long SSL_CTX_sess_number(SSL_CTX * ctx);
- long SSL_CTX_sess_connect(SSL_CTX * ctx);
- long SSL_CTX_sess_connect_good(SSL_CTX * ctx);
- long SSL_CTX_sess_connect_renegotiate(SSL_CTX * ctx);
- long SSL_CTX_sess_accept(SSL_CTX * ctx);
- long SSL_CTX_sess_accept_good(SSL_CTX * ctx);
- long SSL_CTX_sess_accept_renegotiate(SSL_CTX * ctx);
- long SSL_CTX_sess_hits(SSL_CTX * ctx);
- long SSL_CTX_sess_misses(SSL_CTX * ctx);
- long SSL_CTX_sess_timeouts(SSL_CTX * ctx);
+long SSL_CTX_sess_number(SSL_CTX *ctx);
+long SSL_CTX_sess_connect(SSL_CTX *ctx);
+long SSL_CTX_sess_connect_good(SSL_CTX *ctx);
+long SSL_CTX_sess_connect_renegotiate(SSL_CTX *ctx);
+long SSL_CTX_sess_accept(SSL_CTX *ctx);
+long SSL_CTX_sess_accept_good(SSL_CTX *ctx);
+long SSL_CTX_sess_accept_renegotiate(SSL_CTX *ctx);
+long SSL_CTX_sess_hits(SSL_CTX *ctx);
+long SSL_CTX_sess_misses(SSL_CTX *ctx);
+long SSL_CTX_sess_timeouts(SSL_CTX *ctx);
/* SSL structure handling */
- SSL *SSL_new(SSL_CTX * ctx);
- void SSL_free(SSL * ssl);
- void SSL_load_error_strings(void);
- int SSL_get_error(SSL * ssl, int ret);
- int SSL_set_fd(SSL * ssl, int fd);
- int SSL_set_rfd(SSL * ssl, int fd);
- int SSL_set_wfd(SSL * ssl, int fd);
- void SSL_set_bio(SSL * ssl, BIO * rbio, BIO * wbio);
- void SSL_set_connect_state(SSL * ssl);
- int SSL_pending(SSL * ssl);
- void SSL_set_verify(SSL * ssl, int verify_mode,
- int (*verify_callback)(int, X509_STORE_CTX *));
- const X509 *SSL_get_peer_certificate(SSL * ssl);
+SSL *SSL_new(SSL_CTX *ctx);
+void SSL_free(SSL *ssl);
+void SSL_load_error_strings(void);
+int SSL_get_error(SSL *ssl, int ret);
+int SSL_set_fd(SSL *ssl, int fd);
+int SSL_set_rfd(SSL *ssl, int fd);
+int SSL_set_wfd(SSL *ssl, int fd);
+void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
+void SSL_set_connect_state(SSL *ssl);
+int SSL_pending(SSL *ssl);
+void SSL_set_verify(SSL *ssl, int verify_mode,
+ int (*verify_callback)(int, X509_STORE_CTX *));
+const X509 *SSL_get_peer_certificate(SSL *ssl);
/* SSL connection open/close/read/write functions */
- int SSL_connect(SSL * ssl);
- int SSL_accept(SSL * ssl);
- int SSL_shutdown(SSL * ssl);
- int SSL_read(SSL * ssl, void *buf, int len);
- int SSL_write(SSL * ssl, const void *buf, int len);
+int SSL_connect(SSL *ssl);
+int SSL_accept(SSL *ssl);
+int SSL_shutdown(SSL *ssl);
+int SSL_read(SSL *ssl, void *buf, int len);
+int SSL_write(SSL *ssl, const void *buf, int len);
- int SSL_want(SSL * ssl);
+int SSL_want(SSL *ssl);
-# define SSL_NOTHING (1)
-# define SSL_WRITING (2)
-# define SSL_READING (3)
-# define SSL_X509_LOOKUP (4)
+#define SSL_NOTHING (1)
+#define SSL_WRITING (2)
+#define SSL_READING (3)
+#define SSL_X509_LOOKUP (4)
-# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING)
-# define SSL_want_read(s) (SSL_want(s) == SSL_READING)
-# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING)
-# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP)
+#define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING)
+#define SSL_want_read(s) (SSL_want(s) == SSL_READING)
+#define SSL_want_write(s) (SSL_want(s) == SSL_WRITING)
+#define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP)
/* SSL_METHOD functions */
- SSL_METHOD *SSLv23_client_method(void);
- SSL_METHOD *SSLv23_server_method(void);
- SSL_METHOD *SSLv3_client_method(void);
- SSL_METHOD *SSLv3_server_method(void);
- SSL_METHOD *TLSv1_client_method(void);
- SSL_METHOD *TLSv1_server_method(void);
+SSL_METHOD *SSLv23_client_method(void);
+SSL_METHOD *SSLv23_server_method(void);
+SSL_METHOD *SSLv3_client_method(void);
+SSL_METHOD *SSLv3_server_method(void);
+SSL_METHOD *TLSv1_client_method(void);
+SSL_METHOD *TLSv1_server_method(void);
/* SSL_CIPHER functions */
- SSL_CIPHER *SSL_get_current_cipher(SSL * ssl);
- const char *SSL_CIPHER_get_name(SSL_CIPHER * cipher);
- int SSL_CIPHER_get_bits(SSL_CIPHER * cipher, int *bits);
- const char *SSL_CIPHER_get_version(SSL_CIPHER * cipher);
- char *SSL_CIPHER_description(SSL_CIPHER * cipher, char *buf, int size);
+SSL_CIPHER *SSL_get_current_cipher(SSL *ssl);
+const char *SSL_CIPHER_get_name(SSL_CIPHER *cipher);
+int SSL_CIPHER_get_bits(SSL_CIPHER *cipher, int *bits);
+const char *SSL_CIPHER_get_version(SSL_CIPHER *cipher);
+char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int size);
/* X509 functions */
- X509_NAME *X509_get_subject_name(const X509 * cert);
- X509_NAME *X509_get_issuer_name(const X509 * cert);
- char *X509_NAME_oneline(gnutls_x509_dn * name, char *buf, int len);
- void X509_free(const X509 * cert);
+X509_NAME *X509_get_subject_name(const X509 *cert);
+X509_NAME *X509_get_issuer_name(const X509 *cert);
+char *X509_NAME_oneline(gnutls_x509_dn *name, char *buf, int len);
+void X509_free(const X509 *cert);
/* BIO functions */
- void BIO_get_fd(gnutls_session_t gnutls_state, int *fd);
- BIO *BIO_new_socket(int sock, int close_flag);
+void BIO_get_fd(gnutls_session_t gnutls_state, int *fd);
+BIO *BIO_new_socket(int sock, int close_flag);
/* error handling */
- unsigned long ERR_get_error(void);
- const char *ERR_error_string(unsigned long e, char *buf);
+unsigned long ERR_get_error(void);
+const char *ERR_error_string(unsigned long e, char *buf);
/* RAND functions */
- int RAND_status(void);
- void RAND_seed(const void *buf, int num);
- int RAND_bytes(unsigned char *buf, int num);
- int RAND_pseudo_bytes(unsigned char *buf, int num);
- const char *RAND_file_name(char *buf, size_t len);
- int RAND_load_file(const char *name, long maxbytes);
- int RAND_write_file(const char *name);
+int RAND_status(void);
+void RAND_seed(const void *buf, int num);
+int RAND_bytes(unsigned char *buf, int num);
+int RAND_pseudo_bytes(unsigned char *buf, int num);
+const char *RAND_file_name(char *buf, size_t len);
+int RAND_load_file(const char *name, long maxbytes);
+int RAND_write_file(const char *name);
- int RAND_egd_bytes(const char *path, int bytes);
-# define RAND_egd(p) RAND_egd_bytes((p), 255)
+int RAND_egd_bytes(const char *path, int bytes);
+#define RAND_egd(p) RAND_egd_bytes((p), 255)
/* message digest functions */
-# define MD5_DIGEST_LENGTH 16
+#define MD5_DIGEST_LENGTH 16
- void MD5_Init(MD5_CTX * ctx);
- void MD5_Update(MD5_CTX * ctx, const void *buf, int len);
- void MD5_Final(unsigned char *md, MD5_CTX * ctx);
- unsigned char *MD5(const unsigned char *buf, unsigned long len,
- unsigned char *md);
+void MD5_Init(MD5_CTX *ctx);
+void MD5_Update(MD5_CTX *ctx, const void *buf, int len);
+void MD5_Final(unsigned char *md, MD5_CTX *ctx);
+unsigned char *MD5(const unsigned char *buf, unsigned long len,
+ unsigned char *md);
- void RIPEMD160_Init(RIPEMD160_CTX * ctx);
- void RIPEMD160_Update(RIPEMD160_CTX * ctx, const void *buf, int len);
- void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX * ctx);
- unsigned char *RIPEMD160(const unsigned char *buf,
- unsigned long len, unsigned char *md);
+void RIPEMD160_Init(RIPEMD160_CTX *ctx);
+void RIPEMD160_Update(RIPEMD160_CTX *ctx, const void *buf, int len);
+void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *ctx);
+unsigned char *RIPEMD160(const unsigned char *buf, unsigned long len,
+ unsigned char *md);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
+#endif
#endif
diff --git a/extra/openssl_compat.c b/extra/openssl_compat.c
index f50e8f61cd..da81b7131e 100644
--- a/extra/openssl_compat.c
+++ b/extra/openssl_compat.c
@@ -26,7 +26,7 @@
#include "gnutls_int.h"
-#include <string.h> /* memset */
+#include <string.h> /* memset */
#include <x509/x509_int.h>
#include <libtasn1.h>
#include <gnutls/x509.h>
@@ -42,9 +42,8 @@
* peer is invalid, or in any other failure this function returns error.
* Returns a negative error code in case of an error.
-*/
-int
-gnutls_x509_extract_certificate_dn(const gnutls_datum_t * cert,
- gnutls_x509_dn * ret)
+int gnutls_x509_extract_certificate_dn(const gnutls_datum_t *cert,
+ gnutls_x509_dn *ret)
{
gnutls_x509_crt_t xcert;
int result;
@@ -61,13 +60,12 @@ gnutls_x509_extract_certificate_dn(const gnutls_datum_t * cert,
}
len = sizeof(ret->country);
- gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_COUNTRY_NAME,
- 0, 0, ret->country, &len);
+ gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0,
+ ret->country, &len);
len = sizeof(ret->organization);
- gnutls_x509_crt_get_dn_by_oid(xcert,
- GNUTLS_OID_X520_ORGANIZATION_NAME, 0,
- 0, ret->organization, &len);
+ gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_ORGANIZATION_NAME,
+ 0, 0, ret->organization, &len);
len = sizeof(ret->organizational_unit_name);
gnutls_x509_crt_get_dn_by_oid(xcert,
@@ -76,17 +74,17 @@ gnutls_x509_extract_certificate_dn(const gnutls_datum_t * cert,
&len);
len = sizeof(ret->common_name);
- gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_COMMON_NAME,
- 0, 0, ret->common_name, &len);
+ gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_COMMON_NAME, 0, 0,
+ ret->common_name, &len);
len = sizeof(ret->locality_name);
- gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_LOCALITY_NAME,
- 0, 0, ret->locality_name, &len);
+ gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_X520_LOCALITY_NAME, 0,
+ 0, ret->locality_name, &len);
len = sizeof(ret->state_or_province_name);
gnutls_x509_crt_get_dn_by_oid(xcert,
- GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME,
- 0, 0, ret->state_or_province_name, &len);
+ GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0,
+ 0, ret->state_or_province_name, &len);
len = sizeof(ret->email);
gnutls_x509_crt_get_dn_by_oid(xcert, GNUTLS_OID_PKCS9_EMAIL, 0, 0,
@@ -107,9 +105,8 @@ gnutls_x509_extract_certificate_dn(const gnutls_datum_t * cert,
* peer is invalid, or in any other failure this function returns error.
* Returns a negative error code in case of an error.
-*/
-int
-gnutls_x509_extract_certificate_issuer_dn(const gnutls_datum_t * cert,
- gnutls_x509_dn * ret)
+int gnutls_x509_extract_certificate_issuer_dn(const gnutls_datum_t *cert,
+ gnutls_x509_dn *ret)
{
gnutls_x509_crt_t xcert;
int result;
@@ -126,9 +123,8 @@ gnutls_x509_extract_certificate_issuer_dn(const gnutls_datum_t * cert,
}
len = sizeof(ret->country);
- gnutls_x509_crt_get_issuer_dn_by_oid(xcert,
- GNUTLS_OID_X520_COUNTRY_NAME,
- 0, 0, ret->country, &len);
+ gnutls_x509_crt_get_issuer_dn_by_oid(
+ xcert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, ret->country, &len);
len = sizeof(ret->organization);
gnutls_x509_crt_get_issuer_dn_by_oid(xcert,
@@ -136,31 +132,27 @@ gnutls_x509_extract_certificate_issuer_dn(const gnutls_datum_t * cert,
0, 0, ret->organization, &len);
len = sizeof(ret->organizational_unit_name);
- gnutls_x509_crt_get_issuer_dn_by_oid(xcert,
- GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
- 0, 0,
- ret->organizational_unit_name,
- &len);
+ gnutls_x509_crt_get_issuer_dn_by_oid(
+ xcert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, 0, 0,
+ ret->organizational_unit_name, &len);
len = sizeof(ret->common_name);
- gnutls_x509_crt_get_issuer_dn_by_oid(xcert,
- GNUTLS_OID_X520_COMMON_NAME,
+ gnutls_x509_crt_get_issuer_dn_by_oid(xcert, GNUTLS_OID_X520_COMMON_NAME,
0, 0, ret->common_name, &len);
len = sizeof(ret->locality_name);
gnutls_x509_crt_get_issuer_dn_by_oid(xcert,
- GNUTLS_OID_X520_LOCALITY_NAME,
- 0, 0, ret->locality_name, &len);
+ GNUTLS_OID_X520_LOCALITY_NAME, 0,
+ 0, ret->locality_name, &len);
len = sizeof(ret->state_or_province_name);
- gnutls_x509_crt_get_issuer_dn_by_oid(xcert,
- GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME,
- 0, 0,
- ret->state_or_province_name, &len);
+ gnutls_x509_crt_get_issuer_dn_by_oid(
+ xcert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0, 0,
+ ret->state_or_province_name, &len);
len = sizeof(ret->email);
- gnutls_x509_crt_get_issuer_dn_by_oid(xcert, GNUTLS_OID_PKCS9_EMAIL,
- 0, 0, ret->email, &len);
+ gnutls_x509_crt_get_issuer_dn_by_oid(xcert, GNUTLS_OID_PKCS9_EMAIL, 0,
+ 0, ret->email, &len);
gnutls_x509_crt_deinit(xcert);
diff --git a/extra/openssl_compat.h b/extra/openssl_compat.h
index f09897cdad..b05cacb606 100644
--- a/extra/openssl_compat.h
+++ b/extra/openssl_compat.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_COMPAT8_H
-# define GNUTLS_COMPAT8_H
+#define GNUTLS_COMPAT8_H
/* Extra definitions */
-# include <gnutls/openssl.h>
+#include <gnutls/openssl.h>
int gnutls_x509_extract_certificate_dn(const gnutls_datum_t *,
gnutls_x509_dn *);
diff --git a/fuzz/certs.h b/fuzz/certs.h
index feb831cf4e..caf4deefd2 100644
--- a/fuzz/certs.h
+++ b/fuzz/certs.h
@@ -22,7 +22,7 @@
*/
#ifndef CERTS_H
-# define CERTS_H
+#define CERTS_H
static const uint8_t kRSACertificateDER[] = {
0x30, 0x82, 0x02, 0xff, 0x30, 0x82, 0x01, 0xe7, 0xa0, 0x03, 0x02, 0x01,
@@ -197,108 +197,76 @@ static const uint8_t kRSAPrivateKeyDER[] = {
static const uint8_t kECDSACertificateDER[] = {
0x30, 0x82, 0x02, 0xA6, 0x30, 0x82, 0x01, 0x5E, 0xA0, 0x03, 0x02, 0x01,
- 0x02, 0x02, 0x08, 0x53,
- 0x66, 0x2B, 0x39, 0x11, 0xBE, 0x18, 0xCB, 0x30, 0x0D, 0x06, 0x09, 0x2A,
- 0x86, 0x48, 0x86, 0xF7,
- 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x19, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04,
+ 0x02, 0x02, 0x08, 0x53, 0x66, 0x2B, 0x39, 0x11, 0xBE, 0x18, 0xCB, 0x30,
+ 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B,
+ 0x05, 0x00, 0x30, 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
0x03, 0x13, 0x0E, 0x47, 0x6E, 0x75, 0x54, 0x4C, 0x53, 0x20, 0x54, 0x65,
- 0x73, 0x74, 0x20, 0x43,
- 0x41, 0x30, 0x22, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x34, 0x30, 0x35, 0x30,
- 0x34, 0x31, 0x31, 0x35,
- 0x37, 0x34, 0x36, 0x5A, 0x18, 0x0F, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32,
- 0x33, 0x31, 0x32, 0x33,
+ 0x73, 0x74, 0x20, 0x43, 0x41, 0x30, 0x22, 0x18, 0x0F, 0x32, 0x30, 0x31,
+ 0x34, 0x30, 0x35, 0x30, 0x34, 0x31, 0x31, 0x35, 0x37, 0x34, 0x36, 0x5A,
+ 0x18, 0x0F, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33,
0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x14, 0x31, 0x12, 0x30, 0x10, 0x06,
- 0x03, 0x55, 0x04, 0x03,
- 0x13, 0x09, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x68, 0x6F, 0x73, 0x74, 0x30,
- 0x59, 0x30, 0x13, 0x06,
- 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, 0x06, 0x08, 0x2A, 0x86,
- 0x48, 0xCE, 0x3D, 0x03,
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x09, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x68,
+ 0x6F, 0x73, 0x74, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2A, 0x86, 0x48,
+ 0xCE, 0x3D, 0x02, 0x01, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03,
0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x4C, 0x54, 0x46, 0xB0, 0x82, 0x30,
- 0x2F, 0x08, 0x16, 0xB7,
- 0x9F, 0x23, 0xFF, 0xCF, 0xBA, 0x05, 0x0D, 0x8B, 0x6D, 0x18, 0x58, 0xAC,
- 0x46, 0xB9, 0xD0, 0x9E,
- 0xAB, 0x72, 0x76, 0xF7, 0xC8, 0x0B, 0x3B, 0xD7, 0x6F, 0x6D, 0xC4, 0x97,
- 0xFB, 0x0D, 0x88, 0x33,
+ 0x2F, 0x08, 0x16, 0xB7, 0x9F, 0x23, 0xFF, 0xCF, 0xBA, 0x05, 0x0D, 0x8B,
+ 0x6D, 0x18, 0x58, 0xAC, 0x46, 0xB9, 0xD0, 0x9E, 0xAB, 0x72, 0x76, 0xF7,
+ 0xC8, 0x0B, 0x3B, 0xD7, 0x6F, 0x6D, 0xC4, 0x97, 0xFB, 0x0D, 0x88, 0x33,
0xBD, 0x17, 0xE2, 0xFE, 0x43, 0x8B, 0x48, 0x99, 0x60, 0x24, 0x57, 0x9C,
- 0xB7, 0x25, 0x6E, 0x71,
- 0x4A, 0x3F, 0x03, 0x64, 0xDC, 0xB1, 0xA3, 0x81, 0x8D, 0x30, 0x81, 0x8A,
- 0x30, 0x0C, 0x06, 0x03,
- 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x14,
- 0x06, 0x03, 0x55, 0x1D,
+ 0xB7, 0x25, 0x6E, 0x71, 0x4A, 0x3F, 0x03, 0x64, 0xDC, 0xB1, 0xA3, 0x81,
+ 0x8D, 0x30, 0x81, 0x8A, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01,
+ 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x14, 0x06, 0x03, 0x55, 0x1D,
0x11, 0x04, 0x0D, 0x30, 0x0B, 0x82, 0x09, 0x6C, 0x6F, 0x63, 0x61, 0x6C,
- 0x68, 0x6F, 0x73, 0x74,
- 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06,
- 0x08, 0x2B, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x0F,
- 0x01, 0x01, 0xFF, 0x04,
+ 0x68, 0x6F, 0x73, 0x74, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04,
+ 0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03,
+ 0x01, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04,
0x05, 0x03, 0x03, 0x07, 0x80, 0x00, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D,
- 0x0E, 0x04, 0x16, 0x04,
- 0x14, 0xBE, 0xF6, 0x00, 0xC6, 0x24, 0x6B, 0x60, 0xEA, 0xB5, 0xF8, 0x13,
- 0xC9, 0xA5, 0xD5, 0xE0,
- 0xC9, 0x29, 0xD5, 0xD7, 0x33, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23,
- 0x04, 0x18, 0x30, 0x16,
+ 0x0E, 0x04, 0x16, 0x04, 0x14, 0xBE, 0xF6, 0x00, 0xC6, 0x24, 0x6B, 0x60,
+ 0xEA, 0xB5, 0xF8, 0x13, 0xC9, 0xA5, 0xD5, 0xE0, 0xC9, 0x29, 0xD5, 0xD7,
+ 0x33, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16,
0x80, 0x14, 0x4D, 0x56, 0xB7, 0x6A, 0x00, 0x58, 0xF1, 0x67, 0x92, 0xF4,
- 0xA6, 0x75, 0x55, 0x1B,
- 0x8E, 0x53, 0x01, 0x03, 0xEF, 0xCF, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
- 0x48, 0x86, 0xF7, 0x0D,
- 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x31, 0x00, 0x63, 0xCD,
- 0xAF, 0xA6, 0xFF, 0xCC,
+ 0xA6, 0x75, 0x55, 0x1B, 0x8E, 0x53, 0x01, 0x03, 0xEF, 0xCF, 0x30, 0x0D,
+ 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05,
+ 0x00, 0x03, 0x82, 0x01, 0x31, 0x00, 0x63, 0xCD, 0xAF, 0xA6, 0xFF, 0xCC,
0x78, 0x47, 0xE5, 0x00, 0xE3, 0x69, 0xF8, 0xC5, 0x19, 0x47, 0xA0, 0xD7,
- 0x0A, 0x95, 0x95, 0x5C,
- 0xC7, 0x88, 0x1C, 0x0A, 0x2A, 0x97, 0x1C, 0x7E, 0xC0, 0x0E, 0xBD, 0x3D,
- 0xFF, 0x9A, 0xBC, 0x17,
- 0x0E, 0xD9, 0xB8, 0x30, 0xDE, 0x84, 0x5F, 0x13, 0xA7, 0xA3, 0xC4, 0xA3,
- 0x3F, 0x01, 0x4F, 0x48,
+ 0x0A, 0x95, 0x95, 0x5C, 0xC7, 0x88, 0x1C, 0x0A, 0x2A, 0x97, 0x1C, 0x7E,
+ 0xC0, 0x0E, 0xBD, 0x3D, 0xFF, 0x9A, 0xBC, 0x17, 0x0E, 0xD9, 0xB8, 0x30,
+ 0xDE, 0x84, 0x5F, 0x13, 0xA7, 0xA3, 0xC4, 0xA3, 0x3F, 0x01, 0x4F, 0x48,
0xBB, 0x8A, 0xD2, 0x59, 0x4F, 0x17, 0x6B, 0x99, 0xD7, 0xD7, 0x26, 0xF7,
- 0xFB, 0xFB, 0xAB, 0x8F,
- 0x79, 0x45, 0x1C, 0x6C, 0x46, 0xD3, 0x4A, 0xB3, 0x39, 0x70, 0xE2, 0x40,
- 0x12, 0x02, 0x60, 0xCA,
- 0xE9, 0x6E, 0xDB, 0x13, 0xC8, 0x24, 0x46, 0x38, 0xAB, 0x4A, 0xBC, 0xCE,
- 0xFF, 0x3C, 0x2D, 0x99,
+ 0xFB, 0xFB, 0xAB, 0x8F, 0x79, 0x45, 0x1C, 0x6C, 0x46, 0xD3, 0x4A, 0xB3,
+ 0x39, 0x70, 0xE2, 0x40, 0x12, 0x02, 0x60, 0xCA, 0xE9, 0x6E, 0xDB, 0x13,
+ 0xC8, 0x24, 0x46, 0x38, 0xAB, 0x4A, 0xBC, 0xCE, 0xFF, 0x3C, 0x2D, 0x99,
0xDC, 0x53, 0xF5, 0xC2, 0x2D, 0x42, 0x3A, 0xA8, 0xB6, 0x3D, 0x4D, 0x1C,
- 0x1D, 0x7D, 0xF3, 0x38,
- 0x89, 0xC0, 0xDE, 0xCB, 0x90, 0x00, 0x5A, 0x5A, 0xB8, 0xA5, 0x3C, 0x76,
- 0xD7, 0x1D, 0x60, 0xE9,
- 0x12, 0x31, 0x2B, 0x8C, 0xD3, 0xA0, 0xA0, 0x6B, 0x67, 0x17, 0xE8, 0xAD,
- 0x50, 0x87, 0xCA, 0x24,
+ 0x1D, 0x7D, 0xF3, 0x38, 0x89, 0xC0, 0xDE, 0xCB, 0x90, 0x00, 0x5A, 0x5A,
+ 0xB8, 0xA5, 0x3C, 0x76, 0xD7, 0x1D, 0x60, 0xE9, 0x12, 0x31, 0x2B, 0x8C,
+ 0xD3, 0xA0, 0xA0, 0x6B, 0x67, 0x17, 0xE8, 0xAD, 0x50, 0x87, 0xCA, 0x24,
0x74, 0xFD, 0x4E, 0xED, 0x21, 0x10, 0xC1, 0x70, 0x59, 0x7E, 0x2B, 0x9D,
- 0x8B, 0x0E, 0xCB, 0x03,
- 0xEC, 0xE5, 0x75, 0xC8, 0x1E, 0xB4, 0xAA, 0x1F, 0x81, 0x93, 0x1B, 0x8D,
- 0x77, 0xAF, 0x96, 0x83,
- 0xBD, 0x03, 0xEC, 0x68, 0x4D, 0xE5, 0x1A, 0x7E, 0x32, 0x78, 0x85, 0x0D,
- 0x34, 0xBC, 0x60, 0xE2,
+ 0x8B, 0x0E, 0xCB, 0x03, 0xEC, 0xE5, 0x75, 0xC8, 0x1E, 0xB4, 0xAA, 0x1F,
+ 0x81, 0x93, 0x1B, 0x8D, 0x77, 0xAF, 0x96, 0x83, 0xBD, 0x03, 0xEC, 0x68,
+ 0x4D, 0xE5, 0x1A, 0x7E, 0x32, 0x78, 0x85, 0x0D, 0x34, 0xBC, 0x60, 0xE2,
0xDC, 0x2F, 0x43, 0x42, 0x1D, 0xE5, 0x66, 0xD2, 0x45, 0xAA, 0x86, 0x84,
- 0x41, 0xB3, 0x31, 0xA9,
- 0xC8, 0x2F, 0xA6, 0x79, 0xC6, 0xA2, 0xBB, 0x7E, 0x08, 0x84, 0x43, 0x14,
- 0xBC, 0xB9, 0x30, 0xCA,
- 0xA4, 0x46, 0x51, 0xFA, 0x40, 0xF4, 0x09, 0xAC, 0x03, 0xE0, 0xBC, 0xCE,
- 0x2C, 0xB3, 0xB4, 0x55,
+ 0x41, 0xB3, 0x31, 0xA9, 0xC8, 0x2F, 0xA6, 0x79, 0xC6, 0xA2, 0xBB, 0x7E,
+ 0x08, 0x84, 0x43, 0x14, 0xBC, 0xB9, 0x30, 0xCA, 0xA4, 0x46, 0x51, 0xFA,
+ 0x40, 0xF4, 0x09, 0xAC, 0x03, 0xE0, 0xBC, 0xCE, 0x2C, 0xB3, 0xB4, 0x55,
0xC7, 0x20, 0x4F, 0xE8, 0xAC, 0xC4, 0x95, 0x81, 0x6B, 0x4B, 0x1C, 0x02,
- 0x12, 0xB7, 0xA4, 0x1A,
- 0x69, 0x69, 0xF1, 0x7D, 0x97, 0x55, 0xB4, 0x53, 0x40, 0x95, 0x10, 0x3A,
- 0x23, 0xE9, 0x43, 0xD3,
- 0x62, 0xB7, 0x07, 0xAF, 0xE0, 0xF6, 0x81, 0x47, 0x93, 0x55, 0x1E, 0xE1,
- 0x0A, 0x64, 0xAA, 0x62,
+ 0x12, 0xB7, 0xA4, 0x1A, 0x69, 0x69, 0xF1, 0x7D, 0x97, 0x55, 0xB4, 0x53,
+ 0x40, 0x95, 0x10, 0x3A, 0x23, 0xE9, 0x43, 0xD3, 0x62, 0xB7, 0x07, 0xAF,
+ 0xE0, 0xF6, 0x81, 0x47, 0x93, 0x55, 0x1E, 0xE1, 0x0A, 0x64, 0xAA, 0x62,
0x1D, 0x8B, 0xEA, 0xFA, 0xC7, 0x15, 0xA0, 0x8F, 0x88, 0xE0
};
static const uint8_t kECDSAPrivateKeyDER[] = {
0x30, 0x78, 0x02, 0x01, 0x01, 0x04, 0x21, 0x00, 0xDB, 0x98, 0xC6, 0xEB,
- 0xDB, 0xC9, 0x68, 0x33,
- 0x25, 0x2C, 0x0B, 0xA9, 0xEC, 0x0C, 0x98, 0x4A, 0x3A, 0x01, 0x38, 0xB6,
- 0x10, 0x70, 0x4E, 0x24,
- 0x5B, 0xAB, 0xB7, 0xD0, 0xB2, 0xC3, 0x99, 0xAB, 0xA0, 0x0A, 0x06, 0x08,
- 0x2A, 0x86, 0x48, 0xCE,
+ 0xDB, 0xC9, 0x68, 0x33, 0x25, 0x2C, 0x0B, 0xA9, 0xEC, 0x0C, 0x98, 0x4A,
+ 0x3A, 0x01, 0x38, 0xB6, 0x10, 0x70, 0x4E, 0x24, 0x5B, 0xAB, 0xB7, 0xD0,
+ 0xB2, 0xC3, 0x99, 0xAB, 0xA0, 0x0A, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE,
0x3D, 0x03, 0x01, 0x07, 0xA1, 0x44, 0x03, 0x42, 0x00, 0x04, 0x4C, 0x54,
- 0x46, 0xB0, 0x82, 0x30,
- 0x2F, 0x08, 0x16, 0xB7, 0x9F, 0x23, 0xFF, 0xCF, 0xBA, 0x05, 0x0D, 0x8B,
- 0x6D, 0x18, 0x58, 0xAC,
- 0x46, 0xB9, 0xD0, 0x9E, 0xAB, 0x72, 0x76, 0xF7, 0xC8, 0x0B, 0x3B, 0xD7,
- 0x6F, 0x6D, 0xC4, 0x97,
+ 0x46, 0xB0, 0x82, 0x30, 0x2F, 0x08, 0x16, 0xB7, 0x9F, 0x23, 0xFF, 0xCF,
+ 0xBA, 0x05, 0x0D, 0x8B, 0x6D, 0x18, 0x58, 0xAC, 0x46, 0xB9, 0xD0, 0x9E,
+ 0xAB, 0x72, 0x76, 0xF7, 0xC8, 0x0B, 0x3B, 0xD7, 0x6F, 0x6D, 0xC4, 0x97,
0xFB, 0x0D, 0x88, 0x33, 0xBD, 0x17, 0xE2, 0xFE, 0x43, 0x8B, 0x48, 0x99,
- 0x60, 0x24, 0x57, 0x9C,
- 0xB7, 0x25, 0x6E, 0x71, 0x4A, 0x3F, 0x03, 0x64, 0xDC, 0xB1
+ 0x60, 0x24, 0x57, 0x9C, 0xB7, 0x25, 0x6E, 0x71, 0x4A, 0x3F, 0x03, 0x64,
+ 0xDC, 0xB1
};
static const uint8_t kEd25519CertificateDER[] = {
@@ -350,13 +318,13 @@ static const uint8_t kEd25519PrivateKeyDER[] = {
};
static const uint8_t kEd448PrivateKeyDER[] = {
- 0x30, 0x47, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x71,
- 0x04, 0x3b, 0x04, 0x39, 0x0c, 0xf8, 0x7e, 0xb0, 0x94, 0xbf, 0x46, 0xd1,
- 0x61, 0xbd, 0xe3, 0xb9, 0x9d, 0x1d, 0x32, 0x85, 0x6f, 0xec, 0xfa, 0xe0,
- 0x14, 0x23, 0x92, 0xcd, 0x98, 0xc0, 0x91, 0xdb, 0x20, 0x6d, 0x17, 0x4b,
- 0xbf, 0x8e, 0xf4, 0x76, 0xa9, 0xcf, 0x74, 0x6d, 0x94, 0x30, 0x6c, 0x56,
- 0x5f, 0x97, 0xac, 0x50, 0x79, 0x6f, 0x02, 0x1e, 0xff, 0x8d, 0x77, 0x9c,
- 0xa5
+ 0x30, 0x47, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65,
+ 0x71, 0x04, 0x3b, 0x04, 0x39, 0x0c, 0xf8, 0x7e, 0xb0, 0x94, 0xbf,
+ 0x46, 0xd1, 0x61, 0xbd, 0xe3, 0xb9, 0x9d, 0x1d, 0x32, 0x85, 0x6f,
+ 0xec, 0xfa, 0xe0, 0x14, 0x23, 0x92, 0xcd, 0x98, 0xc0, 0x91, 0xdb,
+ 0x20, 0x6d, 0x17, 0x4b, 0xbf, 0x8e, 0xf4, 0x76, 0xa9, 0xcf, 0x74,
+ 0x6d, 0x94, 0x30, 0x6c, 0x56, 0x5f, 0x97, 0xac, 0x50, 0x79, 0x6f,
+ 0x02, 0x1e, 0xff, 0x8d, 0x77, 0x9c, 0xa5
};
static const uint8_t kEd448CertificateDER[] = {
@@ -419,17 +387,17 @@ static const uint8_t kEd448CertificateDER[] = {
/* Raw public-key key material for testing */
static char rawpk_public_key_pem1[] =
- "-----BEGIN PUBLIC KEY-----\n"
- "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyAeBq7Ti7oVExeVT1PqH\n"
- "GBXzC+johdeVnZgZRLhDTIaIGODV5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarN\n"
- "H/+AcfV6ZJQSG4SSmhoIGzfdcdjuBmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim\n"
- "/LVL/M/1Rd6Urskv/5jXGG4FVUNfhXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdo\n"
- "h5oBuxdooaH9/kwphqJAp03LwtaSStX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8s\n"
- "ryHXkC8nsdA+h+IRd8bPa/KuWQNfjxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2Nh\n"
- "N4V0/7fwFLbZtfUBg4pqUl2ktkdwsNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X\n"
- "1qCVmfHzBZCM5OhxoeoauE+xu+5nvYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mE\n"
- "VKn9vsQeaVvw9D6PgNQM99HkbGhRMGPOzcHjS/ZeLd1zAgMBAAE=\n"
- "-----END PUBLIC KEY-----";
+ "-----BEGIN PUBLIC KEY-----\n"
+ "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyAeBq7Ti7oVExeVT1PqH\n"
+ "GBXzC+johdeVnZgZRLhDTIaIGODV5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarN\n"
+ "H/+AcfV6ZJQSG4SSmhoIGzfdcdjuBmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim\n"
+ "/LVL/M/1Rd6Urskv/5jXGG4FVUNfhXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdo\n"
+ "h5oBuxdooaH9/kwphqJAp03LwtaSStX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8s\n"
+ "ryHXkC8nsdA+h+IRd8bPa/KuWQNfjxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2Nh\n"
+ "N4V0/7fwFLbZtfUBg4pqUl2ktkdwsNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X\n"
+ "1qCVmfHzBZCM5OhxoeoauE+xu+5nvYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mE\n"
+ "VKn9vsQeaVvw9D6PgNQM99HkbGhRMGPOzcHjS/ZeLd1zAgMBAAE=\n"
+ "-----END PUBLIC KEY-----";
const gnutls_datum_t rawpk_public_key1 = {
(unsigned char *)rawpk_public_key_pem1,
@@ -437,59 +405,59 @@ const gnutls_datum_t rawpk_public_key1 = {
};
static char rawpk_private_key_pem1[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG4wIBAAKCAYEAyAeBq7Ti7oVExeVT1PqHGBXzC+johdeVnZgZRLhDTIaIGODV\n"
- "5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarNH/+AcfV6ZJQSG4SSmhoIGzfdcdju\n"
- "BmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim/LVL/M/1Rd6Urskv/5jXGG4FVUNf\n"
- "hXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdoh5oBuxdooaH9/kwphqJAp03LwtaS\n"
- "StX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8sryHXkC8nsdA+h+IRd8bPa/KuWQNf\n"
- "jxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2NhN4V0/7fwFLbZtfUBg4pqUl2ktkdw\n"
- "sNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X1qCVmfHzBZCM5OhxoeoauE+xu+5n\n"
- "vYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mEVKn9vsQeaVvw9D6PgNQM99HkbGhR\n"
- "MGPOzcHjS/ZeLd1zAgMBAAECggGBALHiAw3Yscqd11gJpbCMDqF7u4VG3alQ26un\n"
- "PClhl++w380H/Q62TriK1LKKpHgj8834NpXUsXg2d4jTTDcmCn6/L9GoFOzmxOeV\n"
- "0O2b4sOZvaNl397qrwLxDAPhec7z9yL4B4tcBqmJ3b3+izX6cS3gaC/uG9fDpgN9\n"
- "xOKPYBFInhOB86twAz9cc9eXysto0nJvlODDBj/xwUjvso9qydl1Or7PhWvf7Ek+\n"
- "H9ur5MUjqOWe/b/xaSWsfTrJzF/ovbRnGbXLIpozIx609TZS4wYSqU5FUjkL0zTB\n"
- "bTdb3jgFm/5SHnnThD67zbZavCxiN9wiTs3zeGlxYf8hMeaTkOYiAOR4/1bOTe2J\n"
- "ttRA1EcY+i6H0+JOtLkqwj5ka0m3lrH2KD3E/mHs1yfERQx7VVjw9IpeAKmi5lzQ\n"
- "v1lhIXiv75Mb0NMsCknGYPLHCyOY5aA2dhR8Wnr67gOYu3ssexLzMKczk5OTzl5c\n"
- "PRHJRXDpJqgOYWujF99uCYhnxonO4QKBwQDUQB0s4shWTyOylq7j4rCSbHf2zHDf\n"
- "HBYC75wyjQECNQXNk6hp5jJz2BC0XvnO7PYSRXaVauMc/S3V7V7GMsry3uugfwLy\n"
- "XNnyRVY4voe5SNt/WAArybNsPNPEIPzgkZmeWvcpoY8ESufPfVW54BvGHt3YjPjI\n"
- "gYmFUkpPRUWXfji91NpTlIrsP6jtBTYXGV4kVm+TawP06a6FdCjJQaI7Nm2dwUiX\n"
- "Cmf4oFSo8mGxi0wimX+BiLJep2bYnUF2gqMCgcEA8UKESDX3jBpyz59vpSjmfpw1\n"
- "AnlEfR6s83W92m0HfEYLulfxq9xA2zaQjy4GbaKVRfLrO2Pj3bZWs89RGXTQVGgq\n"
- "ztCLIRsL+M1SQ883e8yx4jwFaqIM+pPpvAjOOOTdpgY33h7w20tgrbzVKeOl1ghC\n"
- "IZ+K8C/tIGZXI5/TYppl7csIOoYRtzuRpyDE0tmwy658RfyxzEtfLxJoaLiFXOE0\n"
- "zFFrEvT/jto4jN+cwsdnHhxrY9+bVNUNyb9ZH7bxAoHARvcIyjEo+nKLZPKsltT8\n"
- "ZHiPw5ynQHGLin/CocQzSiGgRxPPg1jMFZ9wNl5q95ySyZkgBOUv+klMQfKTdYEW\n"
- "Cg4uigLtYUtaM36rTV2m03RgrzslE37k1pOf2juNUShdTGztpqW1w6Gnz+AAAZ3E\n"
- "q4E2e2jm5WMqL8FLxyVKF1TEc/Pu63MG3+aI/HZ5l0+MAmpD8+4b7I8VItmrqV6g\n"
- "d1vDWrN9KcL48E/q/nHL6CjC0+6uiwjBWpRt9o7djFoxAoHAJzK/e1wJVGIXtVQa\n"
- "N6Nlj7yhgD1ju1B4mTXQGuUMCkz3KtePFHU8tGExK5I2ySlZR3wobAXWx/cQLzbH\n"
- "3nL0RkKGcgPAFyjl0Q7LBulsAllHrZJC7whVQ4E0wLBNkUDeIlNwUE6Go5qjopbD\n"
- "q4KpNxUwaXYahNvEkzcNgWQ+XA7p8LDELX4K8tJi39ybHgbwiqdW2ags2xyD4ooD\n"
- "HMCeKnEMuwWfd/0GaJdcCMdsGNl9D49eg2OZQTc8fkLwoA6BAoHATQdk3VZwGGn/\n"
- "93p9vu189alkshTmir+SOo/ufH5U+j7t8cPeT7psuYAPZWS+Z6KEzvHxj54pAvcp\n"
- "mlAngD3+AfHDn/VAtYv5HVcpZ+K2K0X4v8N5HGIubgaebs2oVNz+RAWnd8K2drDG\n"
- "NcJV3C+zLziTCwvpGCIy3T/lHjKe+YczjGfhg2e6PgfwhTqPAjuhUZ8wScYo7l7V\n"
- "zAhlSL0665IXJ32zX+3LyQFDbkB6pbKy5TU+rX3DmDyj3MSbc3kR\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG4wIBAAKCAYEAyAeBq7Ti7oVExeVT1PqHGBXzC+johdeVnZgZRLhDTIaIGODV\n"
+ "5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarNH/+AcfV6ZJQSG4SSmhoIGzfdcdju\n"
+ "BmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim/LVL/M/1Rd6Urskv/5jXGG4FVUNf\n"
+ "hXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdoh5oBuxdooaH9/kwphqJAp03LwtaS\n"
+ "StX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8sryHXkC8nsdA+h+IRd8bPa/KuWQNf\n"
+ "jxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2NhN4V0/7fwFLbZtfUBg4pqUl2ktkdw\n"
+ "sNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X1qCVmfHzBZCM5OhxoeoauE+xu+5n\n"
+ "vYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mEVKn9vsQeaVvw9D6PgNQM99HkbGhR\n"
+ "MGPOzcHjS/ZeLd1zAgMBAAECggGBALHiAw3Yscqd11gJpbCMDqF7u4VG3alQ26un\n"
+ "PClhl++w380H/Q62TriK1LKKpHgj8834NpXUsXg2d4jTTDcmCn6/L9GoFOzmxOeV\n"
+ "0O2b4sOZvaNl397qrwLxDAPhec7z9yL4B4tcBqmJ3b3+izX6cS3gaC/uG9fDpgN9\n"
+ "xOKPYBFInhOB86twAz9cc9eXysto0nJvlODDBj/xwUjvso9qydl1Or7PhWvf7Ek+\n"
+ "H9ur5MUjqOWe/b/xaSWsfTrJzF/ovbRnGbXLIpozIx609TZS4wYSqU5FUjkL0zTB\n"
+ "bTdb3jgFm/5SHnnThD67zbZavCxiN9wiTs3zeGlxYf8hMeaTkOYiAOR4/1bOTe2J\n"
+ "ttRA1EcY+i6H0+JOtLkqwj5ka0m3lrH2KD3E/mHs1yfERQx7VVjw9IpeAKmi5lzQ\n"
+ "v1lhIXiv75Mb0NMsCknGYPLHCyOY5aA2dhR8Wnr67gOYu3ssexLzMKczk5OTzl5c\n"
+ "PRHJRXDpJqgOYWujF99uCYhnxonO4QKBwQDUQB0s4shWTyOylq7j4rCSbHf2zHDf\n"
+ "HBYC75wyjQECNQXNk6hp5jJz2BC0XvnO7PYSRXaVauMc/S3V7V7GMsry3uugfwLy\n"
+ "XNnyRVY4voe5SNt/WAArybNsPNPEIPzgkZmeWvcpoY8ESufPfVW54BvGHt3YjPjI\n"
+ "gYmFUkpPRUWXfji91NpTlIrsP6jtBTYXGV4kVm+TawP06a6FdCjJQaI7Nm2dwUiX\n"
+ "Cmf4oFSo8mGxi0wimX+BiLJep2bYnUF2gqMCgcEA8UKESDX3jBpyz59vpSjmfpw1\n"
+ "AnlEfR6s83W92m0HfEYLulfxq9xA2zaQjy4GbaKVRfLrO2Pj3bZWs89RGXTQVGgq\n"
+ "ztCLIRsL+M1SQ883e8yx4jwFaqIM+pPpvAjOOOTdpgY33h7w20tgrbzVKeOl1ghC\n"
+ "IZ+K8C/tIGZXI5/TYppl7csIOoYRtzuRpyDE0tmwy658RfyxzEtfLxJoaLiFXOE0\n"
+ "zFFrEvT/jto4jN+cwsdnHhxrY9+bVNUNyb9ZH7bxAoHARvcIyjEo+nKLZPKsltT8\n"
+ "ZHiPw5ynQHGLin/CocQzSiGgRxPPg1jMFZ9wNl5q95ySyZkgBOUv+klMQfKTdYEW\n"
+ "Cg4uigLtYUtaM36rTV2m03RgrzslE37k1pOf2juNUShdTGztpqW1w6Gnz+AAAZ3E\n"
+ "q4E2e2jm5WMqL8FLxyVKF1TEc/Pu63MG3+aI/HZ5l0+MAmpD8+4b7I8VItmrqV6g\n"
+ "d1vDWrN9KcL48E/q/nHL6CjC0+6uiwjBWpRt9o7djFoxAoHAJzK/e1wJVGIXtVQa\n"
+ "N6Nlj7yhgD1ju1B4mTXQGuUMCkz3KtePFHU8tGExK5I2ySlZR3wobAXWx/cQLzbH\n"
+ "3nL0RkKGcgPAFyjl0Q7LBulsAllHrZJC7whVQ4E0wLBNkUDeIlNwUE6Go5qjopbD\n"
+ "q4KpNxUwaXYahNvEkzcNgWQ+XA7p8LDELX4K8tJi39ybHgbwiqdW2ags2xyD4ooD\n"
+ "HMCeKnEMuwWfd/0GaJdcCMdsGNl9D49eg2OZQTc8fkLwoA6BAoHATQdk3VZwGGn/\n"
+ "93p9vu189alkshTmir+SOo/ufH5U+j7t8cPeT7psuYAPZWS+Z6KEzvHxj54pAvcp\n"
+ "mlAngD3+AfHDn/VAtYv5HVcpZ+K2K0X4v8N5HGIubgaebs2oVNz+RAWnd8K2drDG\n"
+ "NcJV3C+zLziTCwvpGCIy3T/lHjKe+YczjGfhg2e6PgfwhTqPAjuhUZ8wScYo7l7V\n"
+ "zAhlSL0665IXJ32zX+3LyQFDbkB6pbKy5TU+rX3DmDyj3MSbc3kR\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t rawpk_private_key1 = {
(unsigned char *)rawpk_private_key_pem1,
sizeof(rawpk_private_key_pem1) - 1
};
-# define IGNORE_CERTS \
- (void) kEd25519PrivateKeyDER; \
- (void) kEd25519CertificateDER; \
- (void) kEd448PrivateKeyDER; \
- (void) kEd448CertificateDER; \
- (void) kECDSAPrivateKeyDER; \
- (void) kECDSACertificateDER; \
- (void) kRSAPrivateKeyDER; \
- (void) kRSACertificateDER
+#define IGNORE_CERTS \
+ (void)kEd25519PrivateKeyDER; \
+ (void)kEd25519CertificateDER; \
+ (void)kEd448PrivateKeyDER; \
+ (void)kEd448CertificateDER; \
+ (void)kECDSAPrivateKeyDER; \
+ (void)kECDSACertificateDER; \
+ (void)kRSAPrivateKeyDER; \
+ (void)kRSACertificateDER
#endif
diff --git a/fuzz/fuzzer.h b/fuzz/fuzzer.h
index 66141adddc..f6cc3efc02 100644
--- a/fuzz/fuzzer.h
+++ b/fuzz/fuzzer.h
@@ -15,19 +15,21 @@
* along with gnutls. If not, see <https://www.gnu.org/licenses/>.
*/
-#include <stddef.h> // size_t
-#include <stdint.h> // uint8_t
+#include <stddef.h> // size_t
+#include <stdint.h> // uint8_t
#include <gnutls/gnutls.h>
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic ignored "-Wvla-larger-than="
+#pragma GCC diagnostic ignored "-Wvla-larger-than="
#endif
#ifdef __cplusplus
extern "C"
#endif
-#define VERS_STR "-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size);
+#define VERS_STR \
+ "-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0"
+ int
+ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
static void __attribute__((constructor)) init(void)
{
diff --git a/fuzz/gnutls_base64_decoder_fuzzer.c b/fuzz/gnutls_base64_decoder_fuzzer.c
index 8cc8bc8c1f..8f71e0226d 100644
--- a/fuzz/gnutls_base64_decoder_fuzzer.c
+++ b/fuzz/gnutls_base64_decoder_fuzzer.c
@@ -21,9 +21,9 @@
#include <gnutls/gnutls.h>
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
- gnutls_datum_t raw = {.data = (unsigned char *)data,.size = size };
+ gnutls_datum_t raw = { .data = (unsigned char *)data, .size = size };
gnutls_datum_t out;
unsigned char result[50];
size_t result_size = sizeof(result);
diff --git a/fuzz/gnutls_base64_encoder_fuzzer.c b/fuzz/gnutls_base64_encoder_fuzzer.c
index 07c2017bf3..0f178c3bb0 100644
--- a/fuzz/gnutls_base64_encoder_fuzzer.c
+++ b/fuzz/gnutls_base64_encoder_fuzzer.c
@@ -21,9 +21,9 @@
#include <gnutls/gnutls.h>
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
- gnutls_datum_t raw = {.data = (unsigned char *)data,.size = size };
+ gnutls_datum_t raw = { .data = (unsigned char *)data, .size = size };
gnutls_datum_t out;
char result[50];
size_t result_size = sizeof(result);
diff --git a/fuzz/gnutls_client_fuzzer.c b/fuzz/gnutls_client_fuzzer.c
index 7c3b62168a..a6ad995cce 100644
--- a/fuzz/gnutls_client_fuzzer.c
+++ b/fuzz/gnutls_client_fuzzer.c
@@ -30,7 +30,7 @@
#include "mem.h"
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_session_t session;
@@ -46,10 +46,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
assert(res >= 0);
/*res = gnutls_set_default_priority(session); */
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:+SIGN-EDDSA-ED448:" VERS_STR,
- NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:+SIGN-EDDSA-ED448:" VERS_STR, NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_client_rawpk_fuzzer.c b/fuzz/gnutls_client_rawpk_fuzzer.c
index 9302ac7453..a945002c32 100644
--- a/fuzz/gnutls_client_rawpk_fuzzer.c
+++ b/fuzz/gnutls_client_rawpk_fuzzer.c
@@ -51,7 +51,7 @@
#include "mem.h"
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
IGNORE_CERTS;
int res;
@@ -65,26 +65,23 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
res = gnutls_certificate_allocate_credentials(&rawpk_cred);
assert(res >= 0);
- res =
- gnutls_certificate_set_rawpk_key_mem(rawpk_cred,
- &rawpk_public_key1,
- &rawpk_private_key1,
- GNUTLS_X509_FMT_PEM,
- NULL, 0, NULL, 0, 0);
+ res = gnutls_certificate_set_rawpk_key_mem(
+ rawpk_cred, &rawpk_public_key1, &rawpk_private_key1,
+ GNUTLS_X509_FMT_PEM, NULL, 0, NULL, 0, 0);
assert(res >= 0);
gnutls_certificate_set_known_dh_params(rawpk_cred,
GNUTLS_SEC_PARAM_MEDIUM);
- res =
- gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, rawpk_cred);
+ res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ rawpk_cred);
assert(res >= 0);
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:" VERS_STR
- ":-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- NULL);
+ res = gnutls_priority_set_direct(
+ session,
+ "NORMAL:" VERS_STR
+ ":-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_dn_parser_fuzzer.c b/fuzz/gnutls_dn_parser_fuzzer.c
index 4c7e3d6511..ccaa722990 100644
--- a/fuzz/gnutls_dn_parser_fuzzer.c
+++ b/fuzz/gnutls_dn_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t out, raw;
gnutls_x509_dn_t dn;
@@ -48,7 +48,7 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
gnutls_free(out.data);
- cleanup:
+cleanup:
gnutls_x509_dn_deinit(dn);
return 0;
}
diff --git a/fuzz/gnutls_ext_raw_parse_fuzzer.c b/fuzz/gnutls_ext_raw_parse_fuzzer.c
index d97e1f7885..b0ae78d0fd 100644
--- a/fuzz/gnutls_ext_raw_parse_fuzzer.c
+++ b/fuzz/gnutls_ext_raw_parse_fuzzer.c
@@ -26,14 +26,13 @@
#include "fuzzer.h"
-static
-int cb(void *ctx, unsigned tls_id, const unsigned char *data,
- unsigned data_size)
+static int cb(void *ctx, unsigned tls_id, const unsigned char *data,
+ unsigned data_size)
{
return 0;
}
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
diff --git a/fuzz/gnutls_handshake_client_fuzzer.c b/fuzz/gnutls_handshake_client_fuzzer.c
index dec0305cc1..35cbc5b1ac 100644
--- a/fuzz/gnutls_handshake_client_fuzzer.c
+++ b/fuzz/gnutls_handshake_client_fuzzer.c
@@ -32,7 +32,7 @@
#include "fuzzer.h"
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
memset(data, 0xff, len);
@@ -43,7 +43,7 @@ int __attribute__((visibility("protected")))
return 0;
}
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_session_t session;
@@ -60,10 +60,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
assert(res >= 0);
/*res = gnutls_set_default_priority(session); */
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_handshake_server_fuzzer.c b/fuzz/gnutls_handshake_server_fuzzer.c
index de9e1197e3..89c4292be0 100644
--- a/fuzz/gnutls_handshake_server_fuzzer.c
+++ b/fuzz/gnutls_handshake_server_fuzzer.c
@@ -30,7 +30,7 @@
#include "fuzzer.h"
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
memset(data, 0xff, len);
@@ -41,7 +41,7 @@ int __attribute__((visibility("protected")))
return 0;
}
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_datum_t rsa_cert, rsa_key;
@@ -79,25 +79,20 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
ed448_key.data = (unsigned char *)kEd448PrivateKeyDER;
ed448_key.size = sizeof(kEd448PrivateKeyDER);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
+ GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ecdsa_cert, &ecdsa_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert,
- &ed25519_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed25519_cert, &ed25519_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed448_cert, &ed448_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed448_cert, &ed448_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM);
@@ -106,10 +101,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
assert(res >= 0);
/*res = gnutls_set_default_priority(session); */
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_idna_parser_fuzzer.c b/fuzz/gnutls_idna_parser_fuzzer.c
index 5c7c6a0d13..cd72d6cf7a 100644
--- a/fuzz/gnutls_idna_parser_fuzzer.c
+++ b/fuzz/gnutls_idna_parser_fuzzer.c
@@ -25,7 +25,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t out;
diff --git a/fuzz/gnutls_ocsp_req_parser_fuzzer.c b/fuzz/gnutls_ocsp_req_parser_fuzzer.c
index b317dc315a..17c945d807 100644
--- a/fuzz/gnutls_ocsp_req_parser_fuzzer.c
+++ b/fuzz/gnutls_ocsp_req_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t out;
diff --git a/fuzz/gnutls_ocsp_resp_parser_fuzzer.c b/fuzz/gnutls_ocsp_resp_parser_fuzzer.c
index f0e6fbea66..003f273a21 100644
--- a/fuzz/gnutls_ocsp_resp_parser_fuzzer.c
+++ b/fuzz/gnutls_ocsp_resp_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t out;
@@ -39,8 +39,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
ret = gnutls_ocsp_resp_import(resp, &raw);
if (ret >= 0) {
- ret =
- gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_FULL, &out);
+ ret = gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_FULL,
+ &out);
assert(ret >= 0);
gnutls_free(out.data);
}
diff --git a/fuzz/gnutls_pkcs12_key_parser_fuzzer.c b/fuzz/gnutls_pkcs12_key_parser_fuzzer.c
index ffa2cdaa33..b731a09667 100644
--- a/fuzz/gnutls_pkcs12_key_parser_fuzzer.c
+++ b/fuzz/gnutls_pkcs12_key_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw = { (unsigned char *)data, (unsigned int)size };
gnutls_pkcs12_t p12;
@@ -49,9 +49,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
/* catch crashes */
gnutls_pkcs12_verify_mac(p12, "1234");
- ret =
- gnutls_pkcs12_simple_parse(p12, "1234", &key, &chain, &chain_len,
- &extras, &extras_len, &crl, 0);
+ ret = gnutls_pkcs12_simple_parse(p12, "1234", &key, &chain, &chain_len,
+ &extras, &extras_len, &crl, 0);
if (ret >= 0) {
gnutls_x509_privkey_deinit(key);
if (crl)
@@ -68,7 +67,7 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
}
}
- cleanup:
+cleanup:
gnutls_pkcs12_deinit(p12);
return 0;
}
diff --git a/fuzz/gnutls_pkcs7_parser_fuzzer.c b/fuzz/gnutls_pkcs7_parser_fuzzer.c
index 570f3065d4..92f1f33d3f 100644
--- a/fuzz/gnutls_pkcs7_parser_fuzzer.c
+++ b/fuzz/gnutls_pkcs7_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t out;
diff --git a/fuzz/gnutls_pkcs8_key_parser_fuzzer.c b/fuzz/gnutls_pkcs8_key_parser_fuzzer.c
index 8e86682a92..97379620d2 100644
--- a/fuzz/gnutls_pkcs8_key_parser_fuzzer.c
+++ b/fuzz/gnutls_pkcs8_key_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_x509_privkey_t key;
@@ -37,9 +37,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
ret = gnutls_x509_privkey_init(&key);
assert(ret >= 0);
- ret =
- gnutls_x509_privkey_import_pkcs8(key, &raw, GNUTLS_X509_FMT_DER,
- "password", 0);
+ ret = gnutls_x509_privkey_import_pkcs8(key, &raw, GNUTLS_X509_FMT_DER,
+ "password", 0);
if (ret < 0) {
goto cleanup;
}
@@ -52,7 +51,7 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
gnutls_free(out.data);
- cleanup:
+cleanup:
gnutls_x509_privkey_deinit(key);
return 0;
}
diff --git a/fuzz/gnutls_private_key_parser_fuzzer.c b/fuzz/gnutls_private_key_parser_fuzzer.c
index 8260dc5254..c7d4a7b526 100644
--- a/fuzz/gnutls_private_key_parser_fuzzer.c
+++ b/fuzz/gnutls_private_key_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_x509_privkey_t key;
diff --git a/fuzz/gnutls_psk_client_fuzzer.c b/fuzz/gnutls_psk_client_fuzzer.c
index 31ec258bc6..65ece84cff 100644
--- a/fuzz/gnutls_psk_client_fuzzer.c
+++ b/fuzz/gnutls_psk_client_fuzzer.c
@@ -35,7 +35,7 @@
#include "mem.h"
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_session_t session;
@@ -52,18 +52,16 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
res = gnutls_psk_allocate_client_credentials(&pcred);
assert(res >= 0);
- res =
- gnutls_psk_set_client_credentials(pcred, "test", &psk_key,
- GNUTLS_PSK_KEY_RAW);
+ res = gnutls_psk_set_client_credentials(pcred, "test", &psk_key,
+ GNUTLS_PSK_KEY_RAW);
assert(res >= 0);
res = gnutls_credentials_set(session, GNUTLS_CRD_PSK, pcred);
assert(res >= 0);
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:"
- VERS_STR, NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:" VERS_STR,
+ NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_psk_server_fuzzer.c b/fuzz/gnutls_psk_server_fuzzer.c
index a4b8007fdb..f5a123fc03 100644
--- a/fuzz/gnutls_psk_server_fuzzer.c
+++ b/fuzz/gnutls_psk_server_fuzzer.c
@@ -35,7 +35,7 @@
#include "fuzzer.h"
static int psk_cb(gnutls_session_t session, const char *username,
- gnutls_datum_t * key)
+ gnutls_datum_t *key)
{
key->data = (unsigned char *)gnutls_malloc(16);
assert(key->data != NULL);
@@ -46,7 +46,7 @@ static int psk_cb(gnutls_session_t session, const char *username,
return 0;
}
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_datum_t rsa_cert, rsa_key;
@@ -90,25 +90,20 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
ed448_key.data = (unsigned char *)kEd448PrivateKeyDER;
ed448_key.size = sizeof(kEd448PrivateKeyDER);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
+ GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ecdsa_cert, &ecdsa_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert,
- &ed25519_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed25519_cert, &ed25519_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed448_cert, &ed448_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed448_cert, &ed448_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM);
@@ -119,10 +114,10 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
res = gnutls_credentials_set(session, GNUTLS_CRD_PSK, pcred);
assert(res >= 0);
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+RSA-PSK:"
- VERS_STR, NULL);
+ res = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+RSA-PSK:" VERS_STR,
+ NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_reverse_idna_parser_fuzzer.c b/fuzz/gnutls_reverse_idna_parser_fuzzer.c
index 00402e05e4..34310d9deb 100644
--- a/fuzz/gnutls_reverse_idna_parser_fuzzer.c
+++ b/fuzz/gnutls_reverse_idna_parser_fuzzer.c
@@ -25,7 +25,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t out;
int ret;
@@ -37,6 +37,6 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
assert(out.size == strlen((char *)out.data));
gnutls_free(out.data);
- cleanup:
+cleanup:
return 0;
}
diff --git a/fuzz/gnutls_server_fuzzer.c b/fuzz/gnutls_server_fuzzer.c
index 6ceeb8340c..c5a363fcc6 100644
--- a/fuzz/gnutls_server_fuzzer.c
+++ b/fuzz/gnutls_server_fuzzer.c
@@ -28,7 +28,7 @@
#include "mem.h"
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_datum_t rsa_cert, rsa_key;
@@ -65,25 +65,20 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
ed448_key.data = (unsigned char *)kEd448PrivateKeyDER;
ed448_key.size = sizeof(kEd448PrivateKeyDER);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
+ GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ecdsa_cert, &ecdsa_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert,
- &ed25519_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed25519_cert, &ed25519_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed448_cert, &ed448_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed448_cert, &ed448_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM);
@@ -92,10 +87,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
assert(res >= 0);
/*res = gnutls_set_default_priority(session); */
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:+SIGN-EDDSA-ED448:" VERS_STR,
- NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:+SIGN-EDDSA-ED448:" VERS_STR, NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_server_rawpk_fuzzer.c b/fuzz/gnutls_server_rawpk_fuzzer.c
index 0ac40e5920..940599ceed 100644
--- a/fuzz/gnutls_server_rawpk_fuzzer.c
+++ b/fuzz/gnutls_server_rawpk_fuzzer.c
@@ -48,7 +48,7 @@
#include "mem.h"
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
IGNORE_CERTS;
int res;
@@ -62,26 +62,23 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
res = gnutls_certificate_allocate_credentials(&rawpk_cred);
assert(res >= 0);
- res =
- gnutls_certificate_set_rawpk_key_mem(rawpk_cred,
- &rawpk_public_key1,
- &rawpk_private_key1,
- GNUTLS_X509_FMT_PEM,
- NULL, 0, NULL, 0, 0);
+ res = gnutls_certificate_set_rawpk_key_mem(
+ rawpk_cred, &rawpk_public_key1, &rawpk_private_key1,
+ GNUTLS_X509_FMT_PEM, NULL, 0, NULL, 0, 0);
assert(res >= 0);
gnutls_certificate_set_known_dh_params(rawpk_cred,
GNUTLS_SEC_PARAM_MEDIUM);
- res =
- gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, rawpk_cred);
+ res = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ rawpk_cred);
assert(res >= 0);
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:" VERS_STR
- ":-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- NULL);
+ res = gnutls_priority_set_direct(
+ session,
+ "NORMAL:" VERS_STR
+ ":-CTYPE-ALL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_set_trust_file_fuzzer.c b/fuzz/gnutls_set_trust_file_fuzzer.c
index c5dec58258..21c51e6471 100644
--- a/fuzz/gnutls_set_trust_file_fuzzer.c
+++ b/fuzz/gnutls_set_trust_file_fuzzer.c
@@ -26,14 +26,15 @@
static const uint8_t *g_data;
static size_t g_size;
-#if ! defined _WIN32 && defined HAVE_FMEMOPEN
-# include <stdio.h>
-# include <string.h>
-# include <dlfcn.h>
+#if !defined _WIN32 && defined HAVE_FMEMOPEN
+#include <stdio.h>
+#include <string.h>
+#include <dlfcn.h>
FILE *fopen(const char *pathname, const char *mode)
{
FILE *(*libc_fopen)(const char *, const char *) =
- (FILE *(*)(const char *, const char *))dlsym(RTLD_NEXT, "fopen");
+ (FILE * (*)(const char *, const char *))
+ dlsym(RTLD_NEXT, "fopen");
if (!strcmp(pathname, "ca_or_crl"))
return fmemopen((void *)g_data, g_size, mode);
@@ -42,7 +43,7 @@ FILE *fopen(const char *pathname, const char *mode)
}
#endif
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
g_data = data;
g_size = size;
diff --git a/fuzz/gnutls_srp_client_fuzzer.c b/fuzz/gnutls_srp_client_fuzzer.c
index bdd86fad86..501d31389d 100644
--- a/fuzz/gnutls_srp_client_fuzzer.c
+++ b/fuzz/gnutls_srp_client_fuzzer.c
@@ -35,7 +35,7 @@
#include "mem.h"
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
int res;
gnutls_session_t session;
@@ -54,10 +54,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
res = gnutls_credentials_set(session, GNUTLS_CRD_SRP, pcred);
assert(res >= 0);
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS",
- NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS", NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_srp_server_fuzzer.c b/fuzz/gnutls_srp_server_fuzzer.c
index 6c9cd51efa..021128fa2c 100644
--- a/fuzz/gnutls_srp_server_fuzzer.c
+++ b/fuzz/gnutls_srp_server_fuzzer.c
@@ -34,10 +34,9 @@
#include "mem.h"
#include "fuzzer.h"
-static int
-srp_cb(gnutls_session_t session, const char *username,
- gnutls_datum_t * salt, gnutls_datum_t * verifier,
- gnutls_datum_t * generator, gnutls_datum_t * prime)
+static int srp_cb(gnutls_session_t session, const char *username,
+ gnutls_datum_t *salt, gnutls_datum_t *verifier,
+ gnutls_datum_t *generator, gnutls_datum_t *prime)
{
int ret;
@@ -45,28 +44,27 @@ srp_cb(gnutls_session_t session, const char *username,
memcpy(salt->data, (unsigned char *)SALT, SALT_SIZE);
salt->size = SALT_SIZE;
- generator->data = (unsigned char *)
- gnutls_malloc(gnutls_srp_1024_group_generator.size);
+ generator->data = (unsigned char *)gnutls_malloc(
+ gnutls_srp_1024_group_generator.size);
memcpy(generator->data, gnutls_srp_1024_group_generator.data,
gnutls_srp_1024_group_generator.size);
generator->size = gnutls_srp_1024_group_generator.size;
- prime->data =
- (unsigned char *)gnutls_malloc(gnutls_srp_1024_group_prime.size);
+ prime->data = (unsigned char *)gnutls_malloc(
+ gnutls_srp_1024_group_prime.size);
memcpy(prime->data, gnutls_srp_1024_group_prime.data,
gnutls_srp_1024_group_prime.size);
prime->size = gnutls_srp_1024_group_prime.size;
- ret =
- gnutls_srp_verifier(USERNAME, PASSWORD, salt, generator, prime,
- verifier);
+ ret = gnutls_srp_verifier(USERNAME, PASSWORD, salt, generator, prime,
+ verifier);
if (ret < 0)
return -1;
return 0;
}
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
IGNORE_CERTS;
int res;
@@ -104,20 +102,16 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
ed25519_key.data = (unsigned char *)kEd25519PrivateKeyDER;
ed25519_key.size = sizeof(kEd25519PrivateKeyDER);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(xcred, &rsa_cert, &rsa_key,
+ GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ecdsa_cert, &ecdsa_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ecdsa_cert, &ecdsa_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
- res =
- gnutls_certificate_set_x509_key_mem(xcred, &ed25519_cert,
- &ed25519_key,
- GNUTLS_X509_FMT_DER);
+ res = gnutls_certificate_set_x509_key_mem(
+ xcred, &ed25519_cert, &ed25519_key, GNUTLS_X509_FMT_DER);
assert(res >= 0);
gnutls_certificate_set_known_dh_params(xcred, GNUTLS_SEC_PARAM_MEDIUM);
@@ -128,10 +122,8 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
res = gnutls_credentials_set(session, GNUTLS_CRD_SRP, pcred);
assert(res >= 0);
- res =
- gnutls_priority_set_direct(session,
- "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS",
- NULL);
+ res = gnutls_priority_set_direct(
+ session, "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS", NULL);
assert(res >= 0);
memdata.data = data;
diff --git a/fuzz/gnutls_x509_crl_parser_fuzzer.c b/fuzz/gnutls_x509_crl_parser_fuzzer.c
index 005aca769a..b306501df2 100644
--- a/fuzz/gnutls_x509_crl_parser_fuzzer.c
+++ b/fuzz/gnutls_x509_crl_parser_fuzzer.c
@@ -26,7 +26,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t out;
diff --git a/fuzz/gnutls_x509_crq_parser_fuzzer.c b/fuzz/gnutls_x509_crq_parser_fuzzer.c
index 2249afee83..4f7ebee78d 100644
--- a/fuzz/gnutls_x509_crq_parser_fuzzer.c
+++ b/fuzz/gnutls_x509_crq_parser_fuzzer.c
@@ -26,7 +26,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t out;
diff --git a/fuzz/gnutls_x509_parser_fuzzer.c b/fuzz/gnutls_x509_parser_fuzzer.c
index 33acea74c1..87b09c4f71 100644
--- a/fuzz/gnutls_x509_parser_fuzzer.c
+++ b/fuzz/gnutls_x509_parser_fuzzer.c
@@ -24,7 +24,7 @@
#include "fuzzer.h"
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t out;
diff --git a/fuzz/gnutls_x509_verify_fuzzer.c b/fuzz/gnutls_x509_verify_fuzzer.c
index f8b20a92bb..19773d1a81 100644
--- a/fuzz/gnutls_x509_verify_fuzzer.c
+++ b/fuzz/gnutls_x509_verify_fuzzer.c
@@ -161,7 +161,7 @@ unsigned char _ca_der[] = {
unsigned int _ca_der_len = 1510;
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1553835274;
if (t)
@@ -170,7 +170,7 @@ static time_t mytime(time_t * t)
return then;
}
-int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
gnutls_datum_t raw;
gnutls_datum_t ca;
@@ -200,14 +200,15 @@ int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
if (ret < 0)
goto fail;
- ret = gnutls_x509_crt_list_verify(&crt, 1, &ca_crt, 1, NULL, 0,
- GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN |
- GNUTLS_VERIFY_ALLOW_BROKEN |
- GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS,
- &status);
+ ret = gnutls_x509_crt_list_verify(
+ &crt, 1, &ca_crt, 1, NULL, 0,
+ GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN |
+ GNUTLS_VERIFY_ALLOW_BROKEN |
+ GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS,
+ &status);
assert(ret < 0 || status != 0);
- fail:
+fail:
gnutls_x509_crt_deinit(crt);
gnutls_x509_crt_deinit(ca_crt);
return 0;
diff --git a/fuzz/handshake.h b/fuzz/handshake.h
index 429c521908..333b3403aa 100644
--- a/fuzz/handshake.h
+++ b/fuzz/handshake.h
@@ -22,17 +22,17 @@
*/
#ifndef HANDSHAKE_H
-# define HANDSHAKE_H
+#define HANDSHAKE_H
-# define HANDSHAKE_MAX_RETRY_COUNT 10
+#define HANDSHAKE_MAX_RETRY_COUNT 10
typedef struct mem_st {
const uint8_t *data;
size_t size;
} mem_st;
-static ssize_t
-error_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t error_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
return -1;
}
@@ -42,16 +42,15 @@ static ssize_t error_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
return -1;
}
-static int
-handshake_discard(gnutls_session_t session,
- gnutls_record_encryption_level_t level,
- gnutls_handshake_description_t htype,
- const void *data, size_t data_size)
+static int handshake_discard(gnutls_session_t session,
+ gnutls_record_encryption_level_t level,
+ gnutls_handshake_description_t htype,
+ const void *data, size_t data_size)
{
return 0;
}
-static int handshake_pull(gnutls_session_t session, mem_st * data)
+static int handshake_pull(gnutls_session_t session, mem_st *data)
{
uint32_t level, size;
int ret;
@@ -61,7 +60,7 @@ static int handshake_pull(gnutls_session_t session, mem_st * data)
}
level = ((unsigned)data->data[0] << 24) | (data->data[1] << 16) |
- (data->data[2] << 8) | data->data[3];
+ (data->data[2] << 8) | data->data[3];
data->size -= 4;
data->data += 4;
@@ -71,7 +70,7 @@ static int handshake_pull(gnutls_session_t session, mem_st * data)
}
size = ((unsigned)data->data[0] << 24) | (data->data[1] << 16) |
- (data->data[2] << 8) | data->data[3];
+ (data->data[2] << 8) | data->data[3];
data->size -= 4;
data->data += 4;
@@ -81,7 +80,7 @@ static int handshake_pull(gnutls_session_t session, mem_st * data)
}
ret = gnutls_handshake_write(session,
- (gnutls_record_encryption_level_t) level,
+ (gnutls_record_encryption_level_t)level,
data->data, size);
data->size -= size;
data->data += size;
diff --git a/fuzz/main.c b/fuzz/main.c
index 207ad775e1..03a45615a6 100644
--- a/fuzz/main.c
+++ b/fuzz/main.c
@@ -35,13 +35,13 @@
#ifdef TEST_RUN
-# include <dirent.h>
+#include <dirent.h>
-# ifdef _WIN32
-# define SLASH '\\'
-# else
-# define SLASH '/'
-# endif
+#ifdef _WIN32
+#define SLASH '\\'
+#else
+#define SLASH '/'
+#endif
static int test_single_file(const char *fname)
{
@@ -121,13 +121,13 @@ int main(int argc, char **argv)
target_len = strlen(target);
-# ifdef _WIN32
- target_len -= 4; // ignore .exe
-# endif
+#ifdef _WIN32
+ target_len -= 4; // ignore .exe
+#endif
- if (argc > 1) { /* test a single file */
+ if (argc > 1) { /* test a single file */
test_single_file(argv[1]);
- } else { /* test the target directory */
+ } else { /* test the target directory */
int rc;
char corporadir[sizeof(SRCDIR) + 1 + target_len + 8];
snprintf(corporadir, sizeof(corporadir), SRCDIR "/%.*s.in",
@@ -149,7 +149,7 @@ int main(int argc, char **argv)
#else
-# ifndef __AFL_LOOP
+#ifndef __AFL_LOOP
static int __AFL_LOOP(int n)
{
static int first = 1;
@@ -161,14 +161,14 @@ static int __AFL_LOOP(int n)
return 0;
}
-# endif
+#endif
int main(int argc, char **argv)
{
int ret;
unsigned char buf[64 * 1024];
- while (__AFL_LOOP(10000)) { // only works with afl-clang-fast
+ while (__AFL_LOOP(10000)) { // only works with afl-clang-fast
ret = fread(buf, 1, sizeof(buf), stdin);
if (ret < 0)
return 0;
@@ -179,4 +179,4 @@ int main(int argc, char **argv)
return 0;
}
-#endif /* TEST_RUN */
+#endif /* TEST_RUN */
diff --git a/fuzz/mem.h b/fuzz/mem.h
index 78de427503..4c107962b5 100644
--- a/fuzz/mem.h
+++ b/fuzz/mem.h
@@ -22,14 +22,14 @@
*/
#ifndef MEM_H
-# define MEM_H
+#define MEM_H
typedef struct mem_st {
const uint8_t *data;
size_t size;
} mem_st;
-# define MIN(x,y) ((x)<(y)?(x):(y))
+#define MIN(x, y) ((x) < (y) ? (x) : (y))
static ssize_t mem_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
return len;
@@ -52,15 +52,14 @@ static ssize_t mem_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
return len;
}
-static
-int mem_pull_timeout(gnutls_transport_ptr_t tr, unsigned int ms)
+static int mem_pull_timeout(gnutls_transport_ptr_t tr, unsigned int ms)
{
struct mem_st *p = (struct mem_st *)tr;
if (p->size > 0)
- return 1; /* available data */
+ return 1; /* available data */
else
- return 0; /* timeout */
+ return 0; /* timeout */
}
#endif
diff --git a/fuzz/psk.h b/fuzz/psk.h
index fe4a8af743..a47b40d4ea 100644
--- a/fuzz/psk.h
+++ b/fuzz/psk.h
@@ -22,11 +22,10 @@
*/
#ifndef PSK_H
-# define PSK_H
+#define PSK_H
-static const uint8_t psk_key16[] = {
- 0x8a, 0x77, 0x59, 0xb3, 0xf2, 0x69, 0x83, 0xc4,
- 0x53, 0xe4, 0x48, 0x06, 0x0b, 0xde, 0x89, 0x81
-};
+static const uint8_t psk_key16[] = { 0x8a, 0x77, 0x59, 0xb3, 0xf2, 0x69,
+ 0x83, 0xc4, 0x53, 0xe4, 0x48, 0x06,
+ 0x0b, 0xde, 0x89, 0x81 };
#endif
diff --git a/fuzz/srp.h b/fuzz/srp.h
index 9a384ab9f0..75a388dccd 100644
--- a/fuzz/srp.h
+++ b/fuzz/srp.h
@@ -22,12 +22,12 @@
*/
#ifndef SRP_H
-# define SRP_H
+#define SRP_H
-# define USERNAME "test"
-# define PASSWORD "test"
+#define USERNAME "test"
+#define PASSWORD "test"
-# define SALT "\xeb\x0e\x6a\x5c\x02\x0d\x4b\xa9\x97\xb6\xbe\x73\x4a\x71\xc5\x00"
-# define SALT_SIZE 16
+#define SALT "\xeb\x0e\x6a\x5c\x02\x0d\x4b\xa9\x97\xb6\xbe\x73\x4a\x71\xc5\x00"
+#define SALT_SIZE 16
#endif
diff --git a/lib/abstract_int.h b/lib/abstract_int.h
index 03bc0aa9c3..88d4cb40a9 100644
--- a/lib/abstract_int.h
+++ b/lib/abstract_int.h
@@ -21,13 +21,13 @@
*/
#ifndef GNUTLS_LIB_ABSTRACT_INT_H
-# define GNUTLS_LIB_ABSTRACT_INT_H
+#define GNUTLS_LIB_ABSTRACT_INT_H
-# include <gnutls/abstract.h>
+#include <gnutls/abstract.h>
typedef int (*gnutls_privkey_pk_params_func)(gnutls_privkey_t key,
void *userdata,
- gnutls_pk_params_st * params);
+ gnutls_pk_params_st *params);
struct gnutls_privkey_st {
gnutls_privkey_type_t type;
@@ -35,11 +35,11 @@ struct gnutls_privkey_st {
union {
gnutls_x509_privkey_t x509;
-# ifdef ENABLE_PKCS11
+#ifdef ENABLE_PKCS11
gnutls_pkcs11_privkey_t pkcs11;
-# endif
+#endif
struct {
- gnutls_privkey_sign_func sign_func; /* raw like TLS 1.x */
+ gnutls_privkey_sign_func sign_func; /* raw like TLS 1.x */
gnutls_privkey_sign_data_func sign_data_func;
gnutls_privkey_sign_hash_func sign_hash_func;
gnutls_privkey_decrypt_func decrypt_func;
@@ -57,7 +57,7 @@ struct gnutls_privkey_st {
};
struct gnutls_pubkey_st {
- unsigned int bits; /* an indication of the security parameter */
+ unsigned int bits; /* an indication of the security parameter */
/* the size of params depends on the public
* key algorithm
@@ -70,7 +70,7 @@ struct gnutls_pubkey_st {
*/
gnutls_pk_params_st params;
- unsigned int key_usage; /* bits from GNUTLS_KEY_* */
+ unsigned int key_usage; /* bits from GNUTLS_KEY_* */
struct pin_info_st pin;
};
@@ -79,12 +79,12 @@ int _gnutls_privkey_get_public_mpis(gnutls_privkey_t key,
gnutls_pk_params_st *);
int _gnutls_privkey_get_spki_params(gnutls_privkey_t key,
- gnutls_x509_spki_st * params);
+ gnutls_x509_spki_st *params);
int _gnutls_privkey_update_spki_params(gnutls_privkey_t key,
gnutls_pk_algorithm_t pk,
gnutls_digest_algorithm_t dig,
unsigned flags,
- gnutls_x509_spki_st * params);
+ gnutls_x509_spki_st *params);
unsigned _gnutls_privkey_compatible_with_sig(gnutls_privkey_t key,
gnutls_sign_algorithm_t sig);
@@ -92,34 +92,29 @@ unsigned _gnutls_privkey_compatible_with_sig(gnutls_privkey_t key,
void _gnutls_privkey_cleanup(gnutls_privkey_t key);
int privkey_sign_and_hash_data(gnutls_privkey_t signer,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature,
- gnutls_x509_spki_st * params);
-int
-privkey_sign_raw_data(gnutls_privkey_t key,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature, gnutls_x509_spki_st * params);
-
-unsigned pubkey_to_bits(const gnutls_pk_params_st * params);
-int _gnutls_pubkey_compatible_with_sig(gnutls_session_t,
- gnutls_pubkey_t pubkey,
- const version_entry_st * ver,
+ const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature,
+ gnutls_x509_spki_st *params);
+int privkey_sign_raw_data(gnutls_privkey_t key, const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *data, gnutls_datum_t *signature,
+ gnutls_x509_spki_st *params);
+
+unsigned pubkey_to_bits(const gnutls_pk_params_st *params);
+int _gnutls_pubkey_compatible_with_sig(gnutls_session_t, gnutls_pubkey_t pubkey,
+ const version_entry_st *ver,
gnutls_sign_algorithm_t sign);
-int _gnutls_pubkey_get_mpis(gnutls_pubkey_t key, gnutls_pk_params_st * params);
+int _gnutls_pubkey_get_mpis(gnutls_pubkey_t key, gnutls_pk_params_st *params);
-int pubkey_verify_data(const gnutls_sign_entry_st * se,
- const mac_entry_st * me,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params,
- gnutls_x509_spki_st * sign_params, unsigned vflags);
+int pubkey_verify_data(const gnutls_sign_entry_st *se, const mac_entry_st *me,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params, unsigned vflags);
-const mac_entry_st *_gnutls_dsa_q_to_hash(const gnutls_pk_params_st *
- params, unsigned int *hash_len);
+const mac_entry_st *_gnutls_dsa_q_to_hash(const gnutls_pk_params_st *params,
+ unsigned int *hash_len);
-int
-_gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st * params);
+int _gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st *params);
-#endif /* GNUTLS_LIB_ABSTRACT_INT_H */
+#endif /* GNUTLS_LIB_ABSTRACT_INT_H */
diff --git a/lib/accelerated/aarch64/aarch64-common.c b/lib/accelerated/aarch64/aarch64-common.c
index c40aacd60a..1b16c9cd4e 100644
--- a/lib/accelerated/aarch64/aarch64-common.c
+++ b/lib/accelerated/aarch64/aarch64-common.c
@@ -30,21 +30,21 @@
#include <gnutls/crypto.h>
#include "errors.h"
#ifdef HAVE_LIBNETTLE
-# include <nettle/aes.h> /* for key generation in 192 and 256 bits */
-# include "sha-aarch64.h"
-# include "aes-aarch64.h"
+#include <nettle/aes.h> /* for key generation in 192 and 256 bits */
+#include "sha-aarch64.h"
+#include "aes-aarch64.h"
#endif
#include "aarch64-common.h"
#ifdef HAVE_GETAUXVAL
-# include <sys/auxv.h>
-# ifdef AT_HWCAP
-# define USE_AUXVAL
-# endif
+#include <sys/auxv.h>
+#ifdef AT_HWCAP
+#define USE_AUXVAL
+#endif
#elif defined(__OpenBSD__)
-# include <sys/sysctl.h>
-# include <machine/cpu.h>
-# include <machine/armreg.h>
+#include <sys/sysctl.h>
+#include <machine/cpu.h>
+#include <machine/armreg.h>
#endif
#if defined(__GNUC__)
@@ -70,13 +70,13 @@ static void capabilities_to_cpuid(unsigned capabilities)
/* Correspond to asm/hwcap.h for aarch64 */
#ifdef USE_AUXVAL
-# define HWCAP_ASIMD (1 << 1)
-# define HWCAP_AES (1 << 3)
-# define HWCAP_PMULL (1 << 4)
-# define HWCAP_SHA1 (1 << 5)
-# define HWCAP_SHA2 (1 << 6)
-# define HWCAP_SHA3 (1 << 17)
-# define HWCAP_SHA512 (1 << 21)
+#define HWCAP_ASIMD (1 << 1)
+#define HWCAP_AES (1 << 3)
+#define HWCAP_PMULL (1 << 4)
+#define HWCAP_SHA1 (1 << 5)
+#define HWCAP_SHA2 (1 << 6)
+#define HWCAP_SHA3 (1 << 17)
+#define HWCAP_SHA512 (1 << 21)
#endif
static void discover_caps(unsigned int *caps)
@@ -118,8 +118,7 @@ static void discover_caps(unsigned int *caps)
#endif
}
-static
-void _register_aarch64_crypto(unsigned capabilities)
+static void _register_aarch64_crypto(unsigned capabilities)
{
int ret;
@@ -132,18 +131,14 @@ void _register_aarch64_crypto(unsigned capabilities)
if (_gnutls_arm_cpuid_s & ARMV8_SHA1) {
_gnutls_debug_log("Aarch64 SHA1 was detected\n");
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA1,
- 80,
- &_gnutls_sha_aarch64,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA1, 80, &_gnutls_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA1, 80, &_gnutls_hmac_sha_aarch64, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA1, 80, &_gnutls_hmac_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -152,66 +147,50 @@ void _register_aarch64_crypto(unsigned capabilities)
if (_gnutls_arm_cpuid_s & ARMV8_SHA256) {
_gnutls_debug_log("Aarch64 SHA2 was detected\n");
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA224,
- 80,
- &_gnutls_sha_aarch64,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA224, 80, &_gnutls_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA224, 80, &_gnutls_hmac_sha_aarch64, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA224, 80, &_gnutls_hmac_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA256,
- 80,
- &_gnutls_sha_aarch64,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA256, 80, &_gnutls_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA256, 80, &_gnutls_hmac_sha_aarch64, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA256, 80, &_gnutls_hmac_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA384,
- 80,
- &_gnutls_sha_aarch64,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA384, 80, &_gnutls_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA384, 80, &_gnutls_hmac_sha_aarch64, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA384, 80, &_gnutls_hmac_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA512,
- 80,
- &_gnutls_sha_aarch64,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA512, 80, &_gnutls_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA512, 80, &_gnutls_hmac_sha_aarch64, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA512, 80, &_gnutls_hmac_sha_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -223,59 +202,52 @@ void _register_aarch64_crypto(unsigned capabilities)
if (_gnutls_arm_cpuid_s & ARMV8_PMULL) {
_gnutls_debug_log("Aarch64 PMULL was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 90,
- &_gnutls_aes_gcm_aarch64, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 90,
+ &_gnutls_aes_gcm_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 90,
- &_gnutls_aes_gcm_aarch64, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 90,
+ &_gnutls_aes_gcm_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 90,
- &_gnutls_aes_gcm_aarch64, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 90,
+ &_gnutls_aes_gcm_aarch64, 0);
if (ret < 0) {
gnutls_assert();
}
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CBC, 90, &_gnutls_aes_cbc_aarch64,
- 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CBC, 90, &_gnutls_aes_cbc_aarch64,
+ 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CBC, 90, &_gnutls_aes_cbc_aarch64,
- 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CBC, 90, &_gnutls_aes_cbc_aarch64,
+ 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CCM, 90, &_gnutls_aes_ccm_aarch64,
- 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CCM, 90, &_gnutls_aes_ccm_aarch64,
+ 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CCM, 90, &_gnutls_aes_ccm_aarch64,
- 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CCM, 90, &_gnutls_aes_ccm_aarch64,
+ 0);
if (ret < 0) {
gnutls_assert();
}
diff --git a/lib/accelerated/aarch64/aarch64-common.h b/lib/accelerated/aarch64/aarch64-common.h
index 6ba1936e74..f47d09513f 100644
--- a/lib/accelerated/aarch64/aarch64-common.h
+++ b/lib/accelerated/aarch64/aarch64-common.h
@@ -21,28 +21,27 @@
*/
#ifndef GNUTLS_LIB_ACCELERATED_AARCH64_AARCH64_COMMON_H
-# define GNUTLS_LIB_ACCELERATED_AARCH64_AARCH64_COMMON_H
+#define GNUTLS_LIB_ACCELERATED_AARCH64_AARCH64_COMMON_H
-# if !__ASSEMBLER__
-# define NN_HASH(name, update_func, digest_func, NAME) { \
- #name, \
- sizeof(struct name##_ctx), \
- NAME##_DIGEST_SIZE, \
- NAME##_DATA_SIZE, \
- (nettle_hash_init_func *) name##_init, \
- (nettle_hash_update_func *) update_func, \
- (nettle_hash_digest_func *) digest_func \
-}
+#if !__ASSEMBLER__
+#define NN_HASH(name, update_func, digest_func, NAME) \
+ { \
+#name, sizeof(struct name##_ctx), NAME##_DIGEST_SIZE, \
+ NAME##_DATA_SIZE, \
+ (nettle_hash_init_func *)name##_init, \
+ (nettle_hash_update_func *)update_func, \
+ (nettle_hash_digest_func *)digest_func \
+ }
void register_aarch64_crypto(void);
-# endif
+#endif
-# define ARMV7_NEON (1<<0)
-# define ARMV7_TICK (1<<1)
-# define ARMV8_AES (1<<2)
-# define ARMV8_SHA1 (1<<3)
-# define ARMV8_SHA256 (1<<4)
-# define ARMV8_PMULL (1<<5)
-# define ARMV8_SHA512 (1<<6)
+#define ARMV7_NEON (1 << 0)
+#define ARMV7_TICK (1 << 1)
+#define ARMV8_AES (1 << 2)
+#define ARMV8_SHA1 (1 << 3)
+#define ARMV8_SHA256 (1 << 4)
+#define ARMV8_PMULL (1 << 5)
+#define ARMV8_SHA512 (1 << 6)
-#endif /* GNUTLS_LIB_ACCELERATED_AARCH64_AARCH64_COMMON_H */
+#endif /* GNUTLS_LIB_ACCELERATED_AARCH64_AARCH64_COMMON_H */
diff --git a/lib/accelerated/aarch64/aes-aarch64.h b/lib/accelerated/aarch64/aes-aarch64.h
index 46bfaaa16e..acea6c1340 100644
--- a/lib/accelerated/aarch64/aes-aarch64.h
+++ b/lib/accelerated/aarch64/aes-aarch64.h
@@ -1,13 +1,13 @@
#ifndef GNUTLS_LIB_ACCELERATED_AARCH64_AES_AARCH64_H
-# define GNUTLS_LIB_ACCELERATED_AARCH64_AES_AARCH64_H
+#define GNUTLS_LIB_ACCELERATED_AARCH64_AES_AARCH64_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
-# define ALIGN16(x) \
- ((void *)(((ptrdiff_t)(x)+(ptrdiff_t)0x0f)&~((ptrdiff_t)0x0f)))
+#define ALIGN16(x) \
+ ((void *)(((ptrdiff_t)(x) + (ptrdiff_t)0x0f) & ~((ptrdiff_t)0x0f)))
-# define AES_KEY_ALIGN_SIZE 4
-# define AES_MAXNR 14
+#define AES_KEY_ALIGN_SIZE 4
+#define AES_MAXNR 14
typedef struct {
/* We add few more integers to allow alignment
* on a 16-byte boundary.
@@ -16,12 +16,12 @@ typedef struct {
uint32_t rounds;
} AES_KEY;
-# define CHECK_AES_KEYSIZE(s) \
+#define CHECK_AES_KEYSIZE(s) \
if (s != 16 && s != 24 && s != 32) \
- return GNUTLS_E_INVALID_REQUEST
+ return GNUTLS_E_INVALID_REQUEST
-# include <intprops.h>
-# define AES_GCM_ENCRYPT_MAX_BYTES ((1ULL << 36) - 32)
+#include <intprops.h>
+#define AES_GCM_ENCRYPT_MAX_BYTES ((1ULL << 36) - 32)
static inline int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
{
size_t sum;
@@ -36,19 +36,19 @@ static inline int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
}
int aes_v8_set_encrypt_key(const unsigned char *userKey, int bits,
- AES_KEY * key);
+ AES_KEY *key);
int aes_v8_set_decrypt_key(const unsigned char *userKey, int bits,
- AES_KEY * key);
+ AES_KEY *key);
void aes_v8_cbc_encrypt(const unsigned char *in, unsigned char *out,
- size_t length, const AES_KEY * key, unsigned char *ivec,
+ size_t length, const AES_KEY *key, unsigned char *ivec,
int enc);
void aes_v8_encrypt(const unsigned char *in, unsigned char *out,
- const AES_KEY * key);
+ const AES_KEY *key);
void aes_v8_decrypt(const unsigned char *in, unsigned char *out,
- const AES_KEY * key);
+ const AES_KEY *key);
extern const gnutls_crypto_cipher_st _gnutls_aes_gcm_aarch64;
extern const gnutls_crypto_cipher_st _gnutls_aes_cbc_aarch64;
extern const gnutls_crypto_cipher_st _gnutls_aes_ccm_aarch64;
-#endif /* GNUTLS_LIB_ACCELERATED_AARCH64_AES_AARCH64_H */
+#endif /* GNUTLS_LIB_ACCELERATED_AARCH64_AES_AARCH64_H */
diff --git a/lib/accelerated/aarch64/aes-cbc-aarch64.c b/lib/accelerated/aarch64/aes-cbc-aarch64.c
index a185447d70..457ddff70e 100644
--- a/lib/accelerated/aarch64/aes-cbc-aarch64.c
+++ b/lib/accelerated/aarch64/aes-cbc-aarch64.c
@@ -39,13 +39,13 @@ struct aes_ctx {
int enc;
};
-static int
-aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
- if (algorithm != GNUTLS_CIPHER_AES_128_CBC
- && algorithm != GNUTLS_CIPHER_AES_192_CBC
- && algorithm != GNUTLS_CIPHER_AES_256_CBC)
+ if (algorithm != GNUTLS_CIPHER_AES_128_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_192_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_256_CBC)
return GNUTLS_E_INVALID_REQUEST;
*_ctx = gnutls_calloc(1, sizeof(struct aes_ctx));
@@ -59,8 +59,8 @@ aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
return 0;
}
-static int
-aes_aarch64_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int aes_aarch64_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct aes_ctx *ctx = _ctx;
int ret;
@@ -68,13 +68,11 @@ aes_aarch64_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
CHECK_AES_KEYSIZE(keysize);
if (ctx->enc)
- ret =
- aes_v8_set_encrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aes_v8_set_encrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
else
- ret =
- aes_v8_set_decrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aes_v8_set_decrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
@@ -82,9 +80,8 @@ aes_aarch64_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
return 0;
}
-static int
-aes_aarch64_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_aarch64_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_ctx *ctx = _ctx;
@@ -99,9 +96,8 @@ aes_aarch64_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_aarch64_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_aarch64_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_ctx *ctx = _ctx;
diff --git a/lib/accelerated/aarch64/aes-ccm-aarch64.c b/lib/accelerated/aarch64/aes-ccm-aarch64.c
index 74f9897fec..579b23ac55 100644
--- a/lib/accelerated/aarch64/aes-ccm-aarch64.c
+++ b/lib/accelerated/aarch64/aes-ccm-aarch64.c
@@ -30,13 +30,13 @@
#ifdef HAVE_LIBNETTLE
-# include <gnutls/crypto.h>
-# include "errors.h"
-# include <aarch64-common.h>
-# include <byteswap.h>
-# include <nettle/ccm.h>
-# include <aes-aarch64.h>
-# include <fips.h>
+#include <gnutls/crypto.h>
+#include "errors.h"
+#include <aarch64-common.h>
+#include <byteswap.h>
+#include <nettle/ccm.h>
+#include <aes-aarch64.h>
+#include <fips.h>
typedef struct ccm_aarch64_aes_ctx {
AES_KEY key;
@@ -44,9 +44,8 @@ typedef struct ccm_aarch64_aes_ctx {
/* CCM mode
*/
-static void aarch64_aes_encrypt(const void *_ctx,
- size_t length, uint8_t * dst,
- const uint8_t * src)
+static void aarch64_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
AES_KEY *ctx = (void *)_ctx;
unsigned i;
@@ -58,8 +57,8 @@ static void aarch64_aes_encrypt(const void *_ctx,
}
}
-static int
-aes_ccm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **ctx, int enc)
+static int aes_ccm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_CCM &&
@@ -88,13 +87,11 @@ static int aes_ccm_cipher_setkey(void *_ctx, const void *key, size_t length)
return 0;
}
-static int
-aes_ccm_aead_encrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+static int aes_ccm_aead_encrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *plain, size_t plain_size,
+ void *encr, size_t encr_size)
{
struct ccm_aarch64_aes_ctx *ctx = _ctx;
/* proper AEAD cipher */
@@ -126,20 +123,17 @@ aes_ccm_aead_encrypt(void *_ctx,
break;
}
- ccm_encrypt_message(&ctx->key, aarch64_aes_encrypt,
- nonce_size, nonce,
- auth_size, auth,
- tag_size, plain_size + tag_size, encr, plain);
+ ccm_encrypt_message(&ctx->key, aarch64_aes_encrypt, nonce_size, nonce,
+ auth_size, auth, tag_size, plain_size + tag_size,
+ encr, plain);
return 0;
}
-static int
-aes_ccm_aead_decrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+static int aes_ccm_aead_decrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *encr, size_t encr_size, void *plain,
+ size_t plain_size)
{
struct ccm_aarch64_aes_ctx *ctx = _ctx;
int ret;
@@ -174,10 +168,9 @@ aes_ccm_aead_decrypt(void *_ctx,
break;
}
- ret = ccm_decrypt_message(&ctx->key, aarch64_aes_encrypt,
- nonce_size, nonce,
- auth_size, auth,
- tag_size, encr_size - tag_size, plain, encr);
+ ret = ccm_decrypt_message(&ctx->key, aarch64_aes_encrypt, nonce_size,
+ nonce, auth_size, auth, tag_size,
+ encr_size - tag_size, plain, encr);
if (unlikely(ret == 0))
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
diff --git a/lib/accelerated/aarch64/aes-gcm-aarch64.c b/lib/accelerated/aarch64/aes-gcm-aarch64.c
index 8d247897f3..ca266f765a 100644
--- a/lib/accelerated/aarch64/aes-gcm-aarch64.c
+++ b/lib/accelerated/aarch64/aes-gcm-aarch64.c
@@ -66,8 +66,8 @@ struct aes_gcm_ctx {
};
void gcm_init_v8(u128 Htable[16], const uint64_t Xi[2]);
-void gcm_ghash_v8(uint64_t Xi[2], const u128 Htable[16],
- const uint8_t * inp, size_t len);
+void gcm_ghash_v8(uint64_t Xi[2], const u128 Htable[16], const uint8_t *inp,
+ size_t len);
void gcm_gmult_v8(uint64_t Xi[2], const u128 Htable[16]);
static void aes_gcm_deinit(void *_ctx)
@@ -78,8 +78,8 @@ static void aes_gcm_deinit(void *_ctx)
gnutls_free(ctx);
}
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_GCM &&
@@ -96,17 +96,16 @@ aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
return 0;
}
-static int
-aes_gcm_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct aes_gcm_ctx *ctx = _ctx;
int ret;
CHECK_AES_KEYSIZE(keysize);
- ret =
- aes_v8_set_encrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aes_v8_set_encrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
@@ -146,8 +145,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static void
-gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t * src, size_t src_size)
+static void gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t *src,
+ size_t src_size)
{
size_t rest = src_size % GCM_BLOCK_SIZE;
size_t aligned_size = src_size - rest;
@@ -161,10 +160,10 @@ gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t * src, size_t src_size)
}
}
-static void
-ctr32_encrypt_blocks_inplace(const unsigned char *in, unsigned char *out,
- size_t blocks, const AES_KEY * key,
- const unsigned char ivec[16])
+static void ctr32_encrypt_blocks_inplace(const unsigned char *in,
+ unsigned char *out, size_t blocks,
+ const AES_KEY *key,
+ const unsigned char ivec[16])
{
unsigned i;
uint8_t ctr[16];
@@ -182,10 +181,9 @@ ctr32_encrypt_blocks_inplace(const unsigned char *in, unsigned char *out,
}
}
-static void
-ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out,
- size_t blocks, const AES_KEY * key,
- const unsigned char ivec[16])
+static void ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out,
+ size_t blocks, const AES_KEY *key,
+ const unsigned char ivec[16])
{
unsigned i;
uint8_t ctr[16];
@@ -205,24 +203,21 @@ ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out,
}
}
-static inline void
-ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t * src,
- uint8_t * dst, size_t pos, size_t length)
+static inline void ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t *src,
+ uint8_t *dst, size_t pos, size_t length)
{
uint8_t tmp[GCM_BLOCK_SIZE];
uint8_t out[GCM_BLOCK_SIZE];
memcpy(tmp, &src[pos], length);
- ctr32_encrypt_blocks(tmp, out, 1,
- ALIGN16(&ctx->expanded_key), ctx->gcm.Yi.c);
+ ctr32_encrypt_blocks(tmp, out, 1, ALIGN16(&ctx->expanded_key),
+ ctx->gcm.Yi.c);
memcpy(&dst[pos], out, length);
-
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t length)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t length)
{
struct aes_gcm_ctx *ctx = _ctx;
int blocks = src_size / GCM_BLOCK_SIZE;
@@ -243,8 +238,7 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
}
if (blocks > 0) {
- ctr32_encrypt_blocks(src, dst,
- blocks,
+ ctr32_encrypt_blocks(src, dst, blocks,
ALIGN16(&ctx->expanded_key),
ctx->gcm.Yi.c);
@@ -253,7 +247,7 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
_gnutls_write_uint32(counter, ctx->gcm.Yi.c + 12);
}
- if (rest > 0) { /* last incomplete block */
+ if (rest > 0) { /* last incomplete block */
ctr_encrypt_last(ctx, src, dst, exp_blocks, rest);
ctx->finished = 1;
}
@@ -264,9 +258,8 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_gcm_ctx *ctx = _ctx;
int blocks = src_size / GCM_BLOCK_SIZE;
@@ -284,8 +277,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
ctx->gcm.len.u[1] += src_size;
if (blocks > 0) {
- ctr32_encrypt_blocks(src, dst,
- blocks,
+ ctr32_encrypt_blocks(src, dst, blocks,
ALIGN16(&ctx->expanded_key),
ctx->gcm.Yi.c);
@@ -294,7 +286,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
_gnutls_write_uint32(counter, ctx->gcm.Yi.c + 12);
}
- if (rest > 0) { /* last incomplete block */
+ if (rest > 0) { /* last incomplete block */
ctr_encrypt_last(ctx, src, dst, exp_blocks, rest);
ctx->finished = 1;
}
diff --git a/lib/accelerated/aarch64/hmac-sha-aarch64.c b/lib/accelerated/aarch64/hmac-sha-aarch64.c
index c60c37644d..42bc1c9f58 100644
--- a/lib/accelerated/aarch64/hmac-sha-aarch64.c
+++ b/lib/accelerated/aarch64/hmac-sha-aarch64.c
@@ -57,133 +57,120 @@ struct aarch64_hmac_ctx {
set_key_func setkey;
};
-static void
-aarch64_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void aarch64_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &aarch64_sha1, key_length, key);
}
-static void
-aarch64_hmac_sha1_update(struct hmac_sha1_ctx *ctx,
- size_t length, const uint8_t * data)
+static void aarch64_hmac_sha1_update(struct hmac_sha1_ctx *ctx, size_t length,
+ const uint8_t *data)
{
aarch64_sha1_update(&ctx->state, length, data);
}
-static void
-aarch64_hmac_sha1_digest(struct hmac_sha1_ctx *ctx,
- size_t length, uint8_t * digest)
+static void aarch64_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &aarch64_sha1, length, digest);
}
-static void
-aarch64_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void aarch64_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &aarch64_sha256, key_length, key);
}
-static void
-aarch64_hmac_sha256_update(struct hmac_sha256_ctx *ctx,
- size_t length, const uint8_t * data)
+static void aarch64_hmac_sha256_update(struct hmac_sha256_ctx *ctx,
+ size_t length, const uint8_t *data)
{
aarch64_sha256_update(&ctx->state, length, data);
}
-static void
-aarch64_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
- size_t length, uint8_t * digest)
+static void aarch64_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &aarch64_sha256, length, digest);
}
-static void
-aarch64_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void aarch64_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &aarch64_sha224, key_length, key);
}
-static void
-aarch64_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,
- size_t length, uint8_t * digest)
+static void aarch64_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &aarch64_sha224, length, digest);
}
-static void
-aarch64_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void aarch64_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &aarch64_sha384, key_length, key);
}
-static void
-aarch64_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,
- size_t length, uint8_t * digest)
+static void aarch64_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &aarch64_sha384, length, digest);
}
-static void
-aarch64_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void aarch64_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &aarch64_sha512, key_length, key);
}
-static void
-aarch64_hmac_sha512_update(struct hmac_sha512_ctx *ctx,
- size_t length, const uint8_t * data)
+static void aarch64_hmac_sha512_update(struct hmac_sha512_ctx *ctx,
+ size_t length, const uint8_t *data)
{
aarch64_sha512_update(&ctx->state, length, data);
}
-static void
-aarch64_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,
- size_t length, uint8_t * digest)
+static void aarch64_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &aarch64_sha512, length, digest);
}
-static int
-_hmac_ctx_init(gnutls_mac_algorithm_t algo, struct aarch64_hmac_ctx *ctx)
+static int _hmac_ctx_init(gnutls_mac_algorithm_t algo,
+ struct aarch64_hmac_ctx *ctx)
{
switch (algo) {
case GNUTLS_MAC_SHA1:
- ctx->update = (update_func) aarch64_hmac_sha1_update;
- ctx->digest = (digest_func) aarch64_hmac_sha1_digest;
- ctx->setkey = (set_key_func) aarch64_hmac_sha1_set_key;
+ ctx->update = (update_func)aarch64_hmac_sha1_update;
+ ctx->digest = (digest_func)aarch64_hmac_sha1_digest;
+ ctx->setkey = (set_key_func)aarch64_hmac_sha1_set_key;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA224:
- ctx->update = (update_func) aarch64_hmac_sha256_update;
- ctx->digest = (digest_func) aarch64_hmac_sha224_digest;
- ctx->setkey = (set_key_func) aarch64_hmac_sha224_set_key;
+ ctx->update = (update_func)aarch64_hmac_sha256_update;
+ ctx->digest = (digest_func)aarch64_hmac_sha224_digest;
+ ctx->setkey = (set_key_func)aarch64_hmac_sha224_set_key;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA256:
- ctx->update = (update_func) aarch64_hmac_sha256_update;
- ctx->digest = (digest_func) aarch64_hmac_sha256_digest;
- ctx->setkey = (set_key_func) aarch64_hmac_sha256_set_key;
+ ctx->update = (update_func)aarch64_hmac_sha256_update;
+ ctx->digest = (digest_func)aarch64_hmac_sha256_digest;
+ ctx->setkey = (set_key_func)aarch64_hmac_sha256_set_key;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA384:
- ctx->update = (update_func) aarch64_hmac_sha512_update;
- ctx->digest = (digest_func) aarch64_hmac_sha384_digest;
- ctx->setkey = (set_key_func) aarch64_hmac_sha384_set_key;
+ ctx->update = (update_func)aarch64_hmac_sha512_update;
+ ctx->digest = (digest_func)aarch64_hmac_sha384_digest;
+ ctx->setkey = (set_key_func)aarch64_hmac_sha384_set_key;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA512:
- ctx->update = (update_func) aarch64_hmac_sha512_update;
- ctx->digest = (digest_func) aarch64_hmac_sha512_digest;
- ctx->setkey = (set_key_func) aarch64_hmac_sha512_set_key;
+ ctx->update = (update_func)aarch64_hmac_sha512_update;
+ ctx->digest = (digest_func)aarch64_hmac_sha512_digest;
+ ctx->setkey = (set_key_func)aarch64_hmac_sha512_set_key;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
@@ -221,7 +208,7 @@ static void *wrap_aarch64_hmac_copy(const void *_ctx)
{
struct aarch64_hmac_ctx *new_ctx;
const struct aarch64_hmac_ctx *ctx = _ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_malloc(sizeof(struct aarch64_hmac_ctx));
if (new_ctx == NULL) {
@@ -230,7 +217,7 @@ static void *wrap_aarch64_hmac_copy(const void *_ctx)
}
memcpy(new_ctx, ctx, sizeof(*new_ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
@@ -244,8 +231,8 @@ static int wrap_aarch64_hmac_setkey(void *_ctx, const void *key, size_t keylen)
return GNUTLS_E_SUCCESS;
}
-static int
-wrap_aarch64_hmac_update(void *_ctx, const void *text, size_t textsize)
+static int wrap_aarch64_hmac_update(void *_ctx, const void *text,
+ size_t textsize)
{
struct aarch64_hmac_ctx *ctx = _ctx;
@@ -254,8 +241,8 @@ wrap_aarch64_hmac_update(void *_ctx, const void *text, size_t textsize)
return GNUTLS_E_SUCCESS;
}
-static int
-wrap_aarch64_hmac_output(void *src_ctx, void *digest, size_t digestsize)
+static int wrap_aarch64_hmac_output(void *src_ctx, void *digest,
+ size_t digestsize)
{
struct aarch64_hmac_ctx *ctx;
ctx = src_ctx;
@@ -311,4 +298,4 @@ const gnutls_crypto_mac_st _gnutls_hmac_sha_aarch64 = {
.fast = wrap_aarch64_hmac_fast,
};
-#endif /* HAVE_LIBNETTLE */
+#endif /* HAVE_LIBNETTLE */
diff --git a/lib/accelerated/aarch64/sha-aarch64.c b/lib/accelerated/aarch64/sha-aarch64.c
index f4df58371e..c8fc3acbec 100644
--- a/lib/accelerated/aarch64/sha-aarch64.c
+++ b/lib/accelerated/aarch64/sha-aarch64.c
@@ -56,8 +56,8 @@ struct aarch64_hash_ctx {
init_func init;
};
-static int
-wrap_aarch64_hash_update(void *_ctx, const void *text, size_t textsize)
+static int wrap_aarch64_hash_update(void *_ctx, const void *text,
+ size_t textsize)
{
struct aarch64_hash_ctx *ctx = _ctx;
@@ -72,7 +72,7 @@ static void wrap_aarch64_hash_deinit(void *hd)
}
void aarch64_sha1_update(struct sha1_ctx *ctx, size_t length,
- const uint8_t * data)
+ const uint8_t *data)
{
struct {
uint32_t h0, h1, h2, h3, h4;
@@ -105,7 +105,6 @@ void aarch64_sha1_update(struct sha1_ctx *ctx, size_t length,
length -= res;
if (length > 0) {
-
t2 = length / SHA1_DATA_SIZE;
sha1_block_data_order(&octx, data, t2);
@@ -127,11 +126,10 @@ void aarch64_sha1_update(struct sha1_ctx *ctx, size_t length,
if (res > 0) {
sha1_update(ctx, res, data);
}
-
}
void aarch64_sha256_update(struct sha256_ctx *ctx, size_t length,
- const uint8_t * data)
+ const uint8_t *data)
{
struct {
uint32_t h[8];
@@ -179,7 +177,7 @@ void aarch64_sha256_update(struct sha256_ctx *ctx, size_t length,
}
void aarch64_sha512_update(struct sha512_ctx *ctx, size_t length,
- const uint8_t * data)
+ const uint8_t *data)
{
struct {
uint64_t h[8];
@@ -235,41 +233,41 @@ static int _ctx_init(gnutls_digest_algorithm_t algo,
switch (algo) {
case GNUTLS_DIG_SHA1:
sha1_init(&ctx->ctx.sha1);
- ctx->update = (update_func) aarch64_sha1_update;
- ctx->digest = (digest_func) sha1_digest;
- ctx->init = (init_func) sha1_init;
+ ctx->update = (update_func)aarch64_sha1_update;
+ ctx->digest = (digest_func)sha1_digest;
+ ctx->init = (init_func)sha1_init;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA224:
sha224_init(&ctx->ctx.sha224);
- ctx->update = (update_func) aarch64_sha256_update;
- ctx->digest = (digest_func) sha224_digest;
- ctx->init = (init_func) sha224_init;
+ ctx->update = (update_func)aarch64_sha256_update;
+ ctx->digest = (digest_func)sha224_digest;
+ ctx->init = (init_func)sha224_init;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA256:
sha256_init(&ctx->ctx.sha256);
- ctx->update = (update_func) aarch64_sha256_update;
- ctx->digest = (digest_func) sha256_digest;
- ctx->init = (init_func) sha256_init;
+ ctx->update = (update_func)aarch64_sha256_update;
+ ctx->digest = (digest_func)sha256_digest;
+ ctx->init = (init_func)sha256_init;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA384:
sha384_init(&ctx->ctx.sha384);
- ctx->update = (update_func) aarch64_sha512_update;
- ctx->digest = (digest_func) sha384_digest;
- ctx->init = (init_func) sha384_init;
+ ctx->update = (update_func)aarch64_sha512_update;
+ ctx->digest = (digest_func)sha384_digest;
+ ctx->init = (init_func)sha384_init;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA512:
sha512_init(&ctx->ctx.sha512);
- ctx->update = (update_func) aarch64_sha512_update;
- ctx->digest = (digest_func) sha512_digest;
- ctx->init = (init_func) sha512_init;
+ ctx->update = (update_func)aarch64_sha512_update;
+ ctx->digest = (digest_func)sha512_digest;
+ ctx->init = (init_func)sha512_init;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
@@ -308,7 +306,7 @@ static void *wrap_aarch64_hash_copy(const void *_ctx)
{
struct aarch64_hash_ctx *new_ctx;
const struct aarch64_hash_ctx *ctx = _ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_malloc(sizeof(struct aarch64_hash_ctx));
if (new_ctx == NULL) {
@@ -317,13 +315,13 @@ static void *wrap_aarch64_hash_copy(const void *_ctx)
}
memcpy(new_ctx, ctx, sizeof(*new_ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
-static int
-wrap_aarch64_hash_output(void *src_ctx, void *digest, size_t digestsize)
+static int wrap_aarch64_hash_output(void *src_ctx, void *digest,
+ size_t digestsize)
{
struct aarch64_hash_ctx *ctx;
ctx = src_ctx;
@@ -354,16 +352,16 @@ static int wrap_aarch64_hash_fast(gnutls_digest_algorithm_t algo,
}
const struct nettle_hash aarch64_sha1 =
-NN_HASH(sha1, aarch64_sha1_update, sha1_digest, SHA1);
+ NN_HASH(sha1, aarch64_sha1_update, sha1_digest, SHA1);
const struct nettle_hash aarch64_sha224 =
-NN_HASH(sha224, aarch64_sha256_update, sha224_digest, SHA224);
+ NN_HASH(sha224, aarch64_sha256_update, sha224_digest, SHA224);
const struct nettle_hash aarch64_sha256 =
-NN_HASH(sha256, aarch64_sha256_update, sha256_digest, SHA256);
+ NN_HASH(sha256, aarch64_sha256_update, sha256_digest, SHA256);
const struct nettle_hash aarch64_sha384 =
-NN_HASH(sha384, aarch64_sha512_update, sha384_digest, SHA384);
+ NN_HASH(sha384, aarch64_sha512_update, sha384_digest, SHA384);
const struct nettle_hash aarch64_sha512 =
-NN_HASH(sha512, aarch64_sha512_update, sha512_digest, SHA512);
+ NN_HASH(sha512, aarch64_sha512_update, sha512_digest, SHA512);
const gnutls_crypto_digest_st _gnutls_sha_aarch64 = {
.init = wrap_aarch64_hash_init,
diff --git a/lib/accelerated/aarch64/sha-aarch64.h b/lib/accelerated/aarch64/sha-aarch64.h
index ee13a7dbd0..25eb4f3d60 100644
--- a/lib/accelerated/aarch64/sha-aarch64.h
+++ b/lib/accelerated/aarch64/sha-aarch64.h
@@ -1,7 +1,7 @@
#ifndef GNUTLS_LIB_ACCELERATED_AARCH64_SHA_AARCH64_H
-# define GNUTLS_LIB_ACCELERATED_AARCH64_SHA_AARCH64_H
+#define GNUTLS_LIB_ACCELERATED_AARCH64_SHA_AARCH64_H
-# include <nettle/sha.h>
+#include <nettle/sha.h>
extern const struct nettle_hash aarch64_sha1;
extern const struct nettle_hash aarch64_sha224;
@@ -13,10 +13,10 @@ extern const gnutls_crypto_digest_st _gnutls_sha_aarch64;
extern const gnutls_crypto_mac_st _gnutls_hmac_sha_aarch64;
void aarch64_sha1_update(struct sha1_ctx *ctx, size_t length,
- const uint8_t * data);
+ const uint8_t *data);
void aarch64_sha256_update(struct sha256_ctx *ctx, size_t length,
- const uint8_t * data);
+ const uint8_t *data);
void aarch64_sha512_update(struct sha512_ctx *ctx, size_t length,
- const uint8_t * data);
+ const uint8_t *data);
-#endif /* GNUTLS_LIB_ACCELERATED_AARCH64_SHA_AARCH64_H */
+#endif /* GNUTLS_LIB_ACCELERATED_AARCH64_SHA_AARCH64_H */
diff --git a/lib/accelerated/accelerated.c b/lib/accelerated/accelerated.c
index 8fb0b11f65..c7d0442f09 100644
--- a/lib/accelerated/accelerated.c
+++ b/lib/accelerated/accelerated.c
@@ -23,10 +23,10 @@
#include <config.h>
#include <accelerated.h>
#if defined(ASM_X86)
-# include <x86/aes-x86.h>
-# include <x86/x86-common.h>
+#include <x86/aes-x86.h>
+#include <x86/x86-common.h>
#elif defined(ASM_AARCH64)
-# include <aarch64/aarch64-common.h>
+#include <aarch64/aarch64-common.h>
#endif
void _gnutls_register_accel_crypto(void)
diff --git a/lib/accelerated/accelerated.h b/lib/accelerated/accelerated.h
index 3f722aa2c1..990ddbc717 100644
--- a/lib/accelerated/accelerated.h
+++ b/lib/accelerated/accelerated.h
@@ -1,6 +1,6 @@
#ifndef GNUTLS_LIB_ACCELERATED_ACCELERATED_H
-# define GNUTLS_LIB_ACCELERATED_ACCELERATED_H
+#define GNUTLS_LIB_ACCELERATED_ACCELERATED_H
void _gnutls_register_accel_crypto(void);
-#endif /* GNUTLS_LIB_ACCELERATED_ACCELERATED_H */
+#endif /* GNUTLS_LIB_ACCELERATED_ACCELERATED_H */
diff --git a/lib/accelerated/afalg.c b/lib/accelerated/afalg.c
index 9c27fc95e6..d7cb1d940b 100644
--- a/lib/accelerated/afalg.c
+++ b/lib/accelerated/afalg.c
@@ -23,13 +23,13 @@
#ifdef ENABLE_AFALG
-# include "errors.h"
-# include "gnutls_int.h"
+#include "errors.h"
+#include "gnutls_int.h"
-# include <gnutls/crypto.h>
-# include <kcapi.h>
-# include <limits.h>
-# include "malloca.h"
+#include <gnutls/crypto.h>
+#include <kcapi.h>
+#include <limits.h>
+#include "malloca.h"
/************************ Symmetric cipher algorithms ************************/
@@ -52,8 +52,8 @@ static const char *gnutls_cipher_map[] = {
[GNUTLS_CIPHER_AES_256_XTS] = "xts(aes)",
};
-static int
-afalg_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int afalg_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
struct kcapi_handle *handle;
struct kcapi_ctx *ctx;
@@ -102,14 +102,14 @@ static int afalg_cipher_setiv(void *_ctx, const void *iv, size_t iv_size)
memcpy(ctx->iv, iv, iv_size);
if (ctx->enc) {
- if (kcapi_cipher_stream_init_enc(ctx->handle, ctx->iv, NULL, 0)
- < 0) {
+ if (kcapi_cipher_stream_init_enc(ctx->handle, ctx->iv, NULL,
+ 0) < 0) {
gnutls_assert();
return GNUTLS_E_ENCRYPTION_FAILED;
}
} else {
- if (kcapi_cipher_stream_init_dec(ctx->handle, ctx->iv, NULL, 0)
- < 0) {
+ if (kcapi_cipher_stream_init_dec(ctx->handle, ctx->iv, NULL,
+ 0) < 0) {
gnutls_assert();
return GNUTLS_E_ENCRYPTION_FAILED;
}
@@ -218,9 +218,8 @@ static int afalg_cipher_register(void)
_gnutls_debug_log("afalg: registering: %s\n",
gnutls_cipher_get_name(i));
- ret = gnutls_crypto_single_cipher_register(i, 90,
- &afalg_cipher_struct,
- 0);
+ ret = gnutls_crypto_single_cipher_register(
+ i, 90, &afalg_cipher_struct, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -255,8 +254,8 @@ static void afalg_aead_deinit(void *_ctx)
gnutls_free(ctx);
}
-static int
-afalg_aead_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int afalg_aead_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
struct kcapi_handle *handle;
struct kcapi_aead_ctx *ctx;
@@ -299,12 +298,10 @@ static int afalg_aead_setkey(void *_ctx, const void *key, size_t keysize)
return 0;
}
-static int afalg_aead_decrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
+static int afalg_aead_decrypt(void *_ctx, const void *nonce, size_t nonce_size,
const void *auth, size_t auth_size,
- size_t tag_size,
- const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+ size_t tag_size, const void *encr,
+ size_t encr_size, void *plain, size_t plain_size)
{
int ret = 0;
struct kcapi_aead_ctx *ctx = _ctx;
@@ -349,8 +346,8 @@ static int afalg_aead_decrypt(void *_ctx,
ret = GNUTLS_E_DECRYPTION_FAILED;
goto end;
}
- if (kcapi_aead_stream_init_dec(ctx->handle, ccm_iv, NULL, 0)
- < 0) {
+ if (kcapi_aead_stream_init_dec(ctx->handle, ccm_iv, NULL, 0) <
+ 0) {
free(ccm_iv);
gnutls_assert();
ret = GNUTLS_E_DECRYPTION_FAILED;
@@ -358,8 +355,8 @@ static int afalg_aead_decrypt(void *_ctx,
}
free(ccm_iv);
} else {
- if (kcapi_aead_stream_init_dec(ctx->handle, nonce, NULL, 0)
- < 0) {
+ if (kcapi_aead_stream_init_dec(ctx->handle, nonce, NULL, 0) <
+ 0) {
gnutls_assert();
ret = GNUTLS_E_DECRYPTION_FAILED;
goto end;
@@ -392,8 +389,8 @@ static int afalg_aead_decrypt(void *_ctx,
/* Set PT buffer to be filled by kernel */
uint32_t outbuflen = kcapi_aead_outbuflen_dec(ctx->handle,
encr_size - tag_size,
- auth_size,
- tag_size) - auth_size;
+ auth_size, tag_size) -
+ auth_size;
iov[1].iov_base = (void *)plain;
iov[1].iov_len = (plain_size > outbuflen) ? outbuflen : plain_size;
@@ -403,16 +400,15 @@ static int afalg_aead_decrypt(void *_ctx,
goto end;
}
- end:
+end:
freea(authtmp);
return ret;
}
static int afalg_aead_encrypt(void *_ctx, const void *nonce, size_t nonce_size,
const void *auth, size_t auth_size,
- size_t tag_size,
- const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+ size_t tag_size, const void *plain,
+ size_t plain_size, void *encr, size_t encr_size)
{
int ret = 0;
struct kcapi_aead_ctx *ctx = _ctx;
@@ -460,8 +456,8 @@ static int afalg_aead_encrypt(void *_ctx, const void *nonce, size_t nonce_size,
ret = GNUTLS_E_ENCRYPTION_FAILED;
goto end;
}
- if (kcapi_aead_stream_init_enc(ctx->handle, ccm_iv, NULL, 0)
- < 0) {
+ if (kcapi_aead_stream_init_enc(ctx->handle, ccm_iv, NULL, 0) <
+ 0) {
free(ccm_iv);
gnutls_assert();
ret = GNUTLS_E_ENCRYPTION_FAILED;
@@ -469,8 +465,8 @@ static int afalg_aead_encrypt(void *_ctx, const void *nonce, size_t nonce_size,
}
free(ccm_iv);
} else {
- if (kcapi_aead_stream_init_enc(ctx->handle, nonce, NULL, 0)
- < 0) {
+ if (kcapi_aead_stream_init_enc(ctx->handle, nonce, NULL, 0) <
+ 0) {
gnutls_assert();
ret = GNUTLS_E_ENCRYPTION_FAILED;
goto end;
@@ -513,9 +509,9 @@ static int afalg_aead_encrypt(void *_ctx, const void *nonce, size_t nonce_size,
iov[0].iov_len = auth_size;
/* Set CT buffer to be filled by kernel */
- uint32_t outbuflen = kcapi_aead_outbuflen_enc(ctx->handle,
- plain_size, auth_size,
- tag_size) - auth_size;
+ uint32_t outbuflen = kcapi_aead_outbuflen_enc(ctx->handle, plain_size,
+ auth_size, tag_size) -
+ auth_size;
iov[1].iov_base = encr;
iov[1].iov_len = (encr_size > outbuflen) ? outbuflen : encr_size;
@@ -526,7 +522,7 @@ static int afalg_aead_encrypt(void *_ctx, const void *nonce, size_t nonce_size,
goto end;
}
- end:
+end:
freea(authtmp);
return ret;
}
@@ -544,8 +540,8 @@ static int afalg_aead_register(void)
unsigned int i;
int ret = 0;
- for (i = 0;
- i < sizeof(gnutls_aead_map) / sizeof(gnutls_aead_map[0]); i++) {
+ for (i = 0; i < sizeof(gnutls_aead_map) / sizeof(gnutls_aead_map[0]);
+ i++) {
struct kcapi_handle *handle;
if (gnutls_aead_map[i] == 0)
@@ -559,9 +555,8 @@ static int afalg_aead_register(void)
_gnutls_debug_log("afalg: registering: %s\n",
gnutls_cipher_get_name(i));
- ret = gnutls_crypto_single_cipher_register(i, 90,
- &afalg_aead_struct,
- 0);
+ ret = gnutls_crypto_single_cipher_register(
+ i, 90, &afalg_aead_struct, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -639,7 +634,6 @@ static int afalg_mac_output(void *ctx, void *digest, size_t digestsize)
}
return 0;
-
}
static void afalg_mac_deinit(void *ctx)
@@ -686,7 +680,7 @@ static int afalg_mac_fast(gnutls_mac_algorithm_t algorithm, const void *nonce,
ret = 0;
- out:
+out:
kcapi_md_destroy(handle);
return ret;
@@ -707,7 +701,8 @@ static int afalg_mac_register(void)
unsigned int i;
int ret = 0;
- for (i = 0; i < sizeof(gnutls_mac_map) / sizeof(gnutls_mac_map[0]); i++) {
+ for (i = 0; i < sizeof(gnutls_mac_map) / sizeof(gnutls_mac_map[0]);
+ i++) {
struct kcapi_handle *handle;
if (gnutls_mac_map[i] == 0)
@@ -787,7 +782,7 @@ static int afalg_digest_fast(gnutls_digest_algorithm_t algorithm,
ret = 0;
- out:
+out:
kcapi_md_destroy(handle);
return ret;
@@ -822,9 +817,8 @@ static int afalg_digest_register(void)
_gnutls_debug_log("afalg: registering: %s\n",
gnutls_digest_get_name(i));
- ret = gnutls_crypto_single_digest_register(i, 90,
- &afalg_digest_struct,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ i, 90, &afalg_digest_struct, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -858,7 +852,7 @@ void _gnutls_afalg_deinit(void)
return;
}
-#else /* ENABLE_AFALG */
+#else /* ENABLE_AFALG */
int _gnutls_afalg_init(void)
{
@@ -870,4 +864,4 @@ void _gnutls_afalg_deinit(void)
return;
}
-#endif /* ENABLE_AFALG */
+#endif /* ENABLE_AFALG */
diff --git a/lib/accelerated/cryptodev-gcm.c b/lib/accelerated/cryptodev-gcm.c
index 35073b8b62..8a8fb68ffa 100644
--- a/lib/accelerated/cryptodev-gcm.c
+++ b/lib/accelerated/cryptodev-gcm.c
@@ -28,21 +28,21 @@
#ifdef ENABLE_CRYPTODEV
-# include <fcntl.h>
-# include <sys/ioctl.h>
-# include <crypto/cryptodev.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <crypto/cryptodev.h>
-# ifndef CRYPTO_CIPHER_MAX_KEY_LEN
-# define CRYPTO_CIPHER_MAX_KEY_LEN 64
-# endif
+#ifndef CRYPTO_CIPHER_MAX_KEY_LEN
+#define CRYPTO_CIPHER_MAX_KEY_LEN 64
+#endif
-# ifndef EALG_MAX_BLOCK_LEN
-# define EALG_MAX_BLOCK_LEN 16
-# endif
+#ifndef EALG_MAX_BLOCK_LEN
+#define EALG_MAX_BLOCK_LEN 16
+#endif
-# ifdef CIOCAUTHCRYPT
+#ifdef CIOCAUTHCRYPT
-# define GCM_BLOCK_SIZE 16
+#define GCM_BLOCK_SIZE 16
struct cryptodev_gcm_ctx {
struct session_op sess;
@@ -53,7 +53,7 @@ struct cryptodev_gcm_ctx {
void *auth_data;
unsigned int auth_data_size;
- int op; /* whether encryption op has been executed */
+ int op; /* whether encryption op has been executed */
int cfd;
};
@@ -72,8 +72,8 @@ static const int cipher_map[] = {
[GNUTLS_CIPHER_AES_256_GCM] = CRYPTO_AES_GCM,
};
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
struct cryptodev_gcm_ctx *ctx;
@@ -92,8 +92,8 @@ aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
return 0;
}
-static int
-aes_gcm_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct cryptodev_gcm_ctx *ctx = _ctx;
@@ -125,9 +125,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct cryptodev_gcm_ctx *ctx = _ctx;
@@ -152,13 +151,12 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
ctx->cryp.auth_len = 0;
ctx->op = 1;
- memcpy(ctx->tag, &((uint8_t *) dst)[src_size], GCM_BLOCK_SIZE);
+ memcpy(ctx->tag, &((uint8_t *)dst)[src_size], GCM_BLOCK_SIZE);
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct cryptodev_gcm_ctx *ctx = _ctx;
@@ -183,7 +181,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
ctx->cryp.auth_len = 0;
ctx->op = 1;
- memcpy(ctx->tag, &((uint8_t *) dst)[src_size], GCM_BLOCK_SIZE);
+ memcpy(ctx->tag, &((uint8_t *)dst)[src_size], GCM_BLOCK_SIZE);
return 0;
}
@@ -221,7 +219,7 @@ static void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
ctx->op = 0;
}
-# include "x86/aes-gcm-aead.h"
+#include "x86/aes-gcm-aead.h"
static const gnutls_crypto_cipher_st cipher_struct = {
.init = aes_gcm_cipher_init,
@@ -242,11 +240,11 @@ int _cryptodev_register_gcm_crypto(int cfd)
uint8_t fake_key[CRYPTO_CIPHER_MAX_KEY_LEN];
unsigned int i;
int ret;
-# ifdef CIOCGSESSINFO
+#ifdef CIOCGSESSINFO
struct session_info_op siop;
memset(&siop, 0, sizeof(siop));
-# endif
+#endif
memset(&sess, 0, sizeof(sess));
@@ -262,33 +260,32 @@ int _cryptodev_register_gcm_crypto(int cfd)
if (ioctl(cfd, CIOCGSESSION, &sess)) {
continue;
}
-# ifdef CIOCGSESSINFO
- siop.ses = sess.ses; /* do not register ciphers that are not hw accelerated */
+#ifdef CIOCGSESSINFO
+ siop.ses =
+ sess.ses; /* do not register ciphers that are not hw accelerated */
if (ioctl(cfd, CIOCGSESSINFO, &siop) == 0) {
if (!(siop.flags & SIOP_FLAG_KERNEL_DRIVER_ONLY)) {
ioctl(cfd, CIOCFSESSION, &sess.ses);
continue;
}
}
-# endif
+#endif
ioctl(cfd, CIOCFSESSION, &sess.ses);
_gnutls_debug_log("/dev/crypto: registering: %s\n",
gnutls_cipher_get_name(i));
- ret =
- gnutls_crypto_single_cipher_register(i, 90,
- &cipher_struct, 0);
+ ret = gnutls_crypto_single_cipher_register(i, 90,
+ &cipher_struct, 0);
if (ret < 0) {
gnutls_assert();
return ret;
}
-
}
return 0;
}
-# endif /* CIOCAUTHCRYPT */
+#endif /* CIOCAUTHCRYPT */
-#endif /* ENABLE_CRYPTODEV */
+#endif /* ENABLE_CRYPTODEV */
diff --git a/lib/accelerated/cryptodev.c b/lib/accelerated/cryptodev.c
index 0a60ab241d..beb148f9c4 100644
--- a/lib/accelerated/cryptodev.c
+++ b/lib/accelerated/cryptodev.c
@@ -28,18 +28,18 @@
#ifdef ENABLE_CRYPTODEV
-# include <assert.h>
-# include <fcntl.h>
-# include <sys/ioctl.h>
-# include <crypto/cryptodev.h>
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <crypto/cryptodev.h>
-# ifndef CRYPTO_CIPHER_MAX_KEY_LEN
-# define CRYPTO_CIPHER_MAX_KEY_LEN 64
-# endif
+#ifndef CRYPTO_CIPHER_MAX_KEY_LEN
+#define CRYPTO_CIPHER_MAX_KEY_LEN 64
+#endif
-# ifndef EALG_MAX_BLOCK_LEN
-# define EALG_MAX_BLOCK_LEN 16
-# endif
+#ifndef EALG_MAX_BLOCK_LEN
+#define EALG_MAX_BLOCK_LEN 16
+#endif
int _gnutls_cryptodev_fd = -1;
@@ -64,8 +64,8 @@ static const int gnutls_cipher_map[] = {
[GNUTLS_CIPHER_DES_CBC] = CRYPTO_DES_CBC,
};
-static int
-cryptodev_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int cryptodev_cipher_init(gnutls_cipher_algorithm_t algorithm,
+ void **_ctx, int enc)
{
struct cryptodev_ctx *ctx;
int cipher = gnutls_cipher_map[algorithm];
@@ -115,9 +115,8 @@ static int cryptodev_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-cryptodev_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int cryptodev_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct cryptodev_ctx *ctx = _ctx;
ctx->cryp.len = src_size;
@@ -139,9 +138,8 @@ cryptodev_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-cryptodev_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int cryptodev_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct cryptodev_ctx *ctx = _ctx;
@@ -187,9 +185,9 @@ static int register_crypto(int cfd)
uint8_t fake_key[CRYPTO_CIPHER_MAX_KEY_LEN];
unsigned int i;
int ret;
-# ifdef CIOCGSESSINFO
+#ifdef CIOCGSESSINFO
struct session_info_op siop;
-# endif
+#endif
memset(&sess, 0, sizeof(sess));
@@ -207,37 +205,36 @@ static int register_crypto(int cfd)
if (ioctl(cfd, CIOCGSESSION, &sess)) {
continue;
}
-# ifdef CIOCGSESSINFO
+#ifdef CIOCGSESSINFO
memset(&siop, 0, sizeof(siop));
- siop.ses = sess.ses; /* do not register ciphers that are not hw accelerated */
+ siop.ses =
+ sess.ses; /* do not register ciphers that are not hw accelerated */
if (ioctl(cfd, CIOCGSESSINFO, &siop) == 0) {
if (!(siop.flags & SIOP_FLAG_KERNEL_DRIVER_ONLY)) {
ioctl(cfd, CIOCFSESSION, &sess.ses);
continue;
}
}
-# endif
+#endif
ioctl(cfd, CIOCFSESSION, &sess.ses);
_gnutls_debug_log("/dev/crypto: registering: %s\n",
gnutls_cipher_get_name(i));
- ret =
- gnutls_crypto_single_cipher_register(i, 90,
- &cipher_struct, 0);
+ ret = gnutls_crypto_single_cipher_register(i, 90,
+ &cipher_struct, 0);
if (ret < 0) {
gnutls_assert();
return ret;
}
-
}
-# ifdef CIOCAUTHCRYPT
+#ifdef CIOCAUTHCRYPT
return _cryptodev_register_gcm_crypto(cfd);
-# else
+#else
return 0;
-# endif
+#endif
}
int _gnutls_cryptodev_init(void)
@@ -250,7 +247,7 @@ int _gnutls_cryptodev_init(void)
gnutls_assert();
return GNUTLS_E_CRYPTODEV_DEVICE_ERROR;
}
-# ifndef CRIOGET_NOT_NEEDED
+#ifndef CRIOGET_NOT_NEEDED
{
int cfd = -1;
/* Clone file descriptor */
@@ -268,7 +265,7 @@ int _gnutls_cryptodev_init(void)
close(_gnutls_cryptodev_fd);
_gnutls_cryptodev_fd = cfd;
}
-# endif
+#endif
ret = register_crypto(_gnutls_cryptodev_fd);
if (ret < 0)
@@ -298,7 +295,7 @@ void _gnutls_cryptodev_deinit(void)
/* if we are using linux /dev/crypto
*/
-# if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_RESET)
+#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_RESET)
static const int gnutls_mac_map[] = {
[GNUTLS_MAC_MD5] = CRYPTO_MD5_HMAC,
@@ -308,11 +305,10 @@ static const int gnutls_mac_map[] = {
[GNUTLS_MAC_SHA512] = CRYPTO_SHA2_512_HMAC,
};
-static int
-cryptodev_mac_fast(gnutls_mac_algorithm_t algo,
- const void *nonce, size_t nonce_size,
- const void *key, size_t key_size, const void *text,
- size_t text_size, void *digest)
+static int cryptodev_mac_fast(gnutls_mac_algorithm_t algo, const void *nonce,
+ size_t nonce_size, const void *key,
+ size_t key_size, const void *text,
+ size_t text_size, void *digest)
{
struct cryptodev_ctx ctx;
int ret;
@@ -346,17 +342,15 @@ cryptodev_mac_fast(gnutls_mac_algorithm_t algo,
return 0;
}
-# define cryptodev_mac_deinit cryptodev_deinit
+#define cryptodev_mac_deinit cryptodev_deinit
-static const gnutls_crypto_mac_st mac_struct = {
- .init = NULL,
- .setkey = NULL,
- .setnonce = NULL,
- .hash = NULL,
- .output = NULL,
- .deinit = NULL,
- .fast = cryptodev_mac_fast
-};
+static const gnutls_crypto_mac_st mac_struct = { .init = NULL,
+ .setkey = NULL,
+ .setnonce = NULL,
+ .hash = NULL,
+ .output = NULL,
+ .deinit = NULL,
+ .fast = cryptodev_mac_fast };
/* Digest algorithms */
@@ -368,9 +362,9 @@ static const int gnutls_digest_map[] = {
[GNUTLS_DIG_SHA512] = CRYPTO_SHA2_512,
};
-static int
-cryptodev_digest_fast(gnutls_digest_algorithm_t algo,
- const void *text, size_t text_size, void *digest)
+static int cryptodev_digest_fast(gnutls_digest_algorithm_t algo,
+ const void *text, size_t text_size,
+ void *digest)
{
struct cryptodev_ctx ctx;
int ret;
@@ -413,12 +407,13 @@ static int register_mac_digest(int cfd)
uint8_t fake_key[CRYPTO_CIPHER_MAX_KEY_LEN];
unsigned int i;
int ret;
-# ifdef CIOCGSESSINFO
+#ifdef CIOCGSESSINFO
struct session_info_op siop;
-# endif
+#endif
memset(&sess, 0, sizeof(sess));
- for (i = 0; i < sizeof(gnutls_mac_map) / sizeof(gnutls_mac_map[0]); i++) {
+ for (i = 0; i < sizeof(gnutls_mac_map) / sizeof(gnutls_mac_map[0]);
+ i++) {
if (gnutls_mac_map[i] == 0)
continue;
@@ -429,17 +424,18 @@ static int register_mac_digest(int cfd)
if (ioctl(cfd, CIOCGSESSION, &sess)) {
continue;
}
-# ifdef CIOCGSESSINFO
+#ifdef CIOCGSESSINFO
memset(&siop, 0, sizeof(siop));
- siop.ses = sess.ses; /* do not register ciphers that are not hw accelerated */
+ siop.ses =
+ sess.ses; /* do not register ciphers that are not hw accelerated */
if (ioctl(cfd, CIOCGSESSINFO, &siop) == 0) {
if (!(siop.flags & SIOP_FLAG_KERNEL_DRIVER_ONLY)) {
ioctl(cfd, CIOCFSESSION, &sess.ses);
continue;
}
}
-# endif
+#endif
_gnutls_debug_log("/dev/crypto: registering: HMAC-%s\n",
gnutls_mac_get_name(i));
@@ -464,7 +460,7 @@ static int register_mac_digest(int cfd)
if (ioctl(cfd, CIOCGSESSION, &sess)) {
continue;
}
-# ifdef CIOCGSESSINFO
+#ifdef CIOCGSESSINFO
memset(&siop, 0, sizeof(siop));
siop.ses = sess.ses;
@@ -474,15 +470,14 @@ static int register_mac_digest(int cfd)
continue;
}
}
-# endif
+#endif
ioctl(cfd, CIOCFSESSION, &sess.ses);
_gnutls_debug_log("/dev/crypto: registering: %s\n",
gnutls_mac_get_name(i));
- ret =
- gnutls_crypto_single_digest_register(i, 90,
- &digest_struct, 0);
+ ret = gnutls_crypto_single_digest_register(i, 90,
+ &digest_struct, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -492,15 +487,15 @@ static int register_mac_digest(int cfd)
return 0;
}
-# else
+#else
static int register_mac_digest(int cfd)
{
return 0;
}
-# endif /* defined(COP_FLAG_UPDATE) */
+#endif /* defined(COP_FLAG_UPDATE) */
-#else /* ENABLE_CRYPTODEV */
+#else /* ENABLE_CRYPTODEV */
int _gnutls_cryptodev_init(void)
{
return 0;
@@ -510,4 +505,4 @@ void _gnutls_cryptodev_deinit(void)
{
return;
}
-#endif /* ENABLE_CRYPTODEV */
+#endif /* ENABLE_CRYPTODEV */
diff --git a/lib/accelerated/cryptodev.h b/lib/accelerated/cryptodev.h
index bd3567b5cc..9d40183fa6 100644
--- a/lib/accelerated/cryptodev.h
+++ b/lib/accelerated/cryptodev.h
@@ -1,14 +1,14 @@
#ifndef GNUTLS_LIB_ACCELERATED_CRYPTODEV_H
-# define GNUTLS_LIB_ACCELERATED_CRYPTODEV_H
+#define GNUTLS_LIB_ACCELERATED_CRYPTODEV_H
extern int _gnutls_cryptodev_fd;
-# define CHECK_AES_KEYSIZE(s) \
+#define CHECK_AES_KEYSIZE(s) \
if (s != 16 && s != 24 && s != 32) \
- return GNUTLS_E_INVALID_REQUEST
+ return GNUTLS_E_INVALID_REQUEST
void _gnutls_cryptodev_deinit(void);
int _gnutls_cryptodev_init(void);
int _cryptodev_register_gcm_crypto(int cfd);
-#endif /* GNUTLS_LIB_ACCELERATED_CRYPTODEV_H */
+#endif /* GNUTLS_LIB_ACCELERATED_CRYPTODEV_H */
diff --git a/lib/accelerated/x86/aes-cbc-x86-aesni.c b/lib/accelerated/x86/aes-cbc-x86-aesni.c
index 3029701b8d..cf3c81df1a 100644
--- a/lib/accelerated/x86/aes-cbc-x86-aesni.c
+++ b/lib/accelerated/x86/aes-cbc-x86-aesni.c
@@ -40,13 +40,13 @@ struct aes_ctx {
int enc;
};
-static int
-aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
- if (algorithm != GNUTLS_CIPHER_AES_128_CBC
- && algorithm != GNUTLS_CIPHER_AES_192_CBC
- && algorithm != GNUTLS_CIPHER_AES_256_CBC)
+ if (algorithm != GNUTLS_CIPHER_AES_128_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_192_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_256_CBC)
return GNUTLS_E_INVALID_REQUEST;
*_ctx = gnutls_calloc(1, sizeof(struct aes_ctx));
@@ -68,13 +68,11 @@ static int aes_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
CHECK_AES_KEYSIZE(keysize);
if (ctx->enc)
- ret =
- aesni_set_encrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aesni_set_encrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
else
- ret =
- aesni_set_decrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aesni_set_decrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
@@ -93,9 +91,8 @@ static int aes_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-aes_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_encrypt(void *_ctx, const void *src, size_t src_size, void *dst,
+ size_t dst_size)
{
struct aes_ctx *ctx = _ctx;
@@ -110,9 +107,8 @@ aes_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_decrypt(void *_ctx, const void *src, size_t src_size, void *dst,
+ size_t dst_size)
{
struct aes_ctx *ctx = _ctx;
diff --git a/lib/accelerated/x86/aes-cbc-x86-ssse3.c b/lib/accelerated/x86/aes-cbc-x86-ssse3.c
index ff5c128745..633006c1ae 100644
--- a/lib/accelerated/x86/aes-cbc-x86-ssse3.c
+++ b/lib/accelerated/x86/aes-cbc-x86-ssse3.c
@@ -40,13 +40,13 @@ struct aes_ctx {
int enc;
};
-static int
-aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
- if (algorithm != GNUTLS_CIPHER_AES_128_CBC
- && algorithm != GNUTLS_CIPHER_AES_192_CBC
- && algorithm != GNUTLS_CIPHER_AES_256_CBC)
+ if (algorithm != GNUTLS_CIPHER_AES_128_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_192_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_256_CBC)
return GNUTLS_E_INVALID_REQUEST;
*_ctx = gnutls_calloc(1, sizeof(struct aes_ctx));
@@ -60,8 +60,8 @@ aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
return 0;
}
-static int
-aes_ssse3_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int aes_ssse3_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct aes_ctx *ctx = _ctx;
int ret;
@@ -69,13 +69,11 @@ aes_ssse3_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
CHECK_AES_KEYSIZE(keysize);
if (ctx->enc)
- ret =
- vpaes_set_encrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = vpaes_set_encrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
else
- ret =
- vpaes_set_decrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = vpaes_set_decrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
@@ -83,9 +81,8 @@ aes_ssse3_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
return 0;
}
-static int
-aes_ssse3_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_ssse3_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_ctx *ctx = _ctx;
@@ -100,9 +97,8 @@ aes_ssse3_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_ssse3_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_ssse3_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_ctx *ctx = _ctx;
diff --git a/lib/accelerated/x86/aes-ccm-x86-aesni.c b/lib/accelerated/x86/aes-ccm-x86-aesni.c
index 2c0d6733e4..98e8028c8f 100644
--- a/lib/accelerated/x86/aes-ccm-x86-aesni.c
+++ b/lib/accelerated/x86/aes-ccm-x86-aesni.c
@@ -30,14 +30,14 @@
#ifdef HAVE_LIBNETTLE
-# include <gnutls/crypto.h>
-# include "errors.h"
-# include <aes-x86.h>
-# include <x86-common.h>
-# include <byteswap.h>
-# include <nettle/ccm.h>
-# include <aes-x86.h>
-# include <fips.h>
+#include <gnutls/crypto.h>
+#include "errors.h"
+#include <aes-x86.h>
+#include <x86-common.h>
+#include <byteswap.h>
+#include <nettle/ccm.h>
+#include <aes-x86.h>
+#include <fips.h>
typedef struct ccm_x86_aes_ctx {
AES_KEY key;
@@ -45,15 +45,15 @@ typedef struct ccm_x86_aes_ctx {
/* CCM mode
*/
-static void x86_aes_encrypt(const void *_ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+static void x86_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
AES_KEY *ctx = (void *)_ctx;
aesni_ecb_encrypt(src, dst, length, ctx, 1);
}
-static int
-aes_ccm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **ctx, int enc)
+static int aes_ccm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_CCM &&
@@ -79,13 +79,11 @@ static int aes_ccm_cipher_setkey(void *_ctx, const void *key, size_t length)
return 0;
}
-static int
-aes_ccm_aead_encrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+static int aes_ccm_aead_encrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *plain, size_t plain_size,
+ void *encr, size_t encr_size)
{
struct ccm_x86_aes_ctx *ctx = _ctx;
/* proper AEAD cipher */
@@ -117,20 +115,17 @@ aes_ccm_aead_encrypt(void *_ctx,
break;
}
- ccm_encrypt_message(&ctx->key, x86_aes_encrypt,
- nonce_size, nonce,
- auth_size, auth,
- tag_size, plain_size + tag_size, encr, plain);
+ ccm_encrypt_message(&ctx->key, x86_aes_encrypt, nonce_size, nonce,
+ auth_size, auth, tag_size, plain_size + tag_size,
+ encr, plain);
return 0;
}
-static int
-aes_ccm_aead_decrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+static int aes_ccm_aead_decrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *encr, size_t encr_size, void *plain,
+ size_t plain_size)
{
struct ccm_x86_aes_ctx *ctx = _ctx;
int ret;
@@ -165,10 +160,9 @@ aes_ccm_aead_decrypt(void *_ctx,
break;
}
- ret = ccm_decrypt_message(&ctx->key, x86_aes_encrypt,
- nonce_size, nonce,
- auth_size, auth,
- tag_size, encr_size - tag_size, plain, encr);
+ ret = ccm_decrypt_message(&ctx->key, x86_aes_encrypt, nonce_size, nonce,
+ auth_size, auth, tag_size,
+ encr_size - tag_size, plain, encr);
if (unlikely(ret == 0))
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
diff --git a/lib/accelerated/x86/aes-gcm-aead.h b/lib/accelerated/x86/aes-gcm-aead.h
index 6f9bdb1d36..3041861f5c 100644
--- a/lib/accelerated/x86/aes-gcm-aead.h
+++ b/lib/accelerated/x86/aes-gcm-aead.h
@@ -1,13 +1,10 @@
#ifndef GNUTLS_LIB_ACCELERATED_X86_AES_GCM_AEAD_H
-# define GNUTLS_LIB_ACCELERATED_X86_AES_GCM_AEAD_H
-
-static int
-aes_gcm_aead_encrypt(void *ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+#define GNUTLS_LIB_ACCELERATED_X86_AES_GCM_AEAD_H
+
+static int aes_gcm_aead_encrypt(void *ctx, const void *nonce, size_t nonce_size,
+ const void *auth, size_t auth_size,
+ size_t tag_size, const void *plain,
+ size_t plain_size, void *encr, size_t encr_size)
{
/* proper AEAD cipher */
if (unlikely(encr_size - tag_size < plain_size))
@@ -18,17 +15,15 @@ aes_gcm_aead_encrypt(void *ctx,
aes_gcm_encrypt(ctx, plain, plain_size, encr, encr_size);
- aes_gcm_tag(ctx, ((uint8_t *) encr) + plain_size, tag_size);
+ aes_gcm_tag(ctx, ((uint8_t *)encr) + plain_size, tag_size);
return 0;
}
-static int
-aes_gcm_aead_decrypt(void *ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+static int aes_gcm_aead_decrypt(void *ctx, const void *nonce, size_t nonce_size,
+ const void *auth, size_t auth_size,
+ size_t tag_size, const void *encr,
+ size_t encr_size, void *plain,
+ size_t plain_size)
{
uint8_t tag[MAX_HASH_SIZE];
@@ -46,10 +41,10 @@ aes_gcm_aead_decrypt(void *ctx,
aes_gcm_tag(ctx, tag, tag_size);
- if (gnutls_memcmp(((uint8_t *) encr) + encr_size, tag, tag_size) != 0)
+ if (gnutls_memcmp(((uint8_t *)encr) + encr_size, tag, tag_size) != 0)
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
return 0;
}
-#endif /* GNUTLS_LIB_ACCELERATED_X86_AES_GCM_AEAD_H */
+#endif /* GNUTLS_LIB_ACCELERATED_X86_AES_GCM_AEAD_H */
diff --git a/lib/accelerated/x86/aes-gcm-padlock.c b/lib/accelerated/x86/aes-gcm-padlock.c
index a822762592..3ffaa32fc4 100644
--- a/lib/accelerated/x86/aes-gcm-padlock.c
+++ b/lib/accelerated/x86/aes-gcm-padlock.c
@@ -29,28 +29,27 @@
#ifdef HAVE_LIBNETTLE
-# include <gnutls/crypto.h>
-# include "errors.h"
-# include <aes-x86.h>
-# include <x86-common.h>
-# include <byteswap.h>
-# include <nettle/gcm.h>
-# include <aes-padlock.h>
+#include <gnutls/crypto.h>
+#include "errors.h"
+#include <aes-x86.h>
+#include <x86-common.h>
+#include <byteswap.h>
+#include <nettle/gcm.h>
+#include <aes-padlock.h>
-# define GCM_BLOCK_SIZE 16
+#define GCM_BLOCK_SIZE 16
/* GCM mode
* Actually padlock doesn't include GCM mode. We just use
* the ECB part of padlock and nettle for everything else.
*/
struct gcm_padlock_aes_ctx {
- struct GCM_CTX (struct padlock_ctx) inner;
+ struct GCM_CTX(struct padlock_ctx) inner;
size_t rekey_counter;
};
-static void padlock_aes_encrypt(const void *_ctx,
- size_t length, uint8_t * dst,
- const uint8_t * src)
+static void padlock_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
struct padlock_ctx *ctx = (void *)_ctx;
struct padlock_cipher_data *pce;
@@ -62,7 +61,7 @@ static void padlock_aes_encrypt(const void *_ctx,
}
static void padlock_aes128_set_encrypt_key(struct padlock_ctx *_ctx,
- const uint8_t * key)
+ const uint8_t *key)
{
struct padlock_ctx *ctx = _ctx;
ctx->enc = 1;
@@ -71,7 +70,7 @@ static void padlock_aes128_set_encrypt_key(struct padlock_ctx *_ctx,
}
static void padlock_aes256_set_encrypt_key(struct padlock_ctx *_ctx,
- const uint8_t * key)
+ const uint8_t *key)
{
struct padlock_ctx *ctx = _ctx;
ctx->enc = 1;
@@ -87,8 +86,8 @@ static void aes_gcm_deinit(void *_ctx)
gnutls_free(ctx);
}
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_GCM &&
@@ -134,9 +133,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t length)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t length)
{
struct gcm_padlock_aes_ctx *ctx = _ctx;
int ret;
@@ -154,9 +152,8 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct gcm_padlock_aes_ctx *ctx = _ctx;
@@ -183,7 +180,7 @@ static void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
GCM_DIGEST(&ctx->inner, padlock_aes_encrypt, tagsize, tag);
}
-# include "aes-gcm-aead.h"
+#include "aes-gcm-aead.h"
const gnutls_crypto_cipher_st _gnutls_aes_gcm_padlock = {
.init = aes_gcm_cipher_init,
diff --git a/lib/accelerated/x86/aes-gcm-x86-aesni.c b/lib/accelerated/x86/aes-gcm-x86-aesni.c
index b36a8e452d..ef90b94dae 100644
--- a/lib/accelerated/x86/aes-gcm-x86-aesni.c
+++ b/lib/accelerated/x86/aes-gcm-x86-aesni.c
@@ -30,52 +30,52 @@
#ifdef HAVE_LIBNETTLE
-# include <gnutls/crypto.h>
-# include "errors.h"
-# include <aes-x86.h>
-# include <x86-common.h>
-# include <byteswap.h>
-# include <nettle/gcm.h>
+#include <gnutls/crypto.h>
+#include "errors.h"
+#include <aes-x86.h>
+#include <x86-common.h>
+#include <byteswap.h>
+#include <nettle/gcm.h>
/* GCM mode
* It is used when the CPU doesn't include the PCLMUL instructions.
*/
struct gcm_x86_aes_ctx {
- struct GCM_CTX (AES_KEY) inner;
+ struct GCM_CTX(AES_KEY) inner;
size_t rekey_counter;
};
-static void x86_aes_encrypt(const void *_ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+static void x86_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
AES_KEY *ctx = (void *)_ctx;
aesni_ecb_encrypt(src, dst, length, ctx, 1);
}
-static void x86_aes128_set_encrypt_key(void *_ctx, const uint8_t * key)
+static void x86_aes128_set_encrypt_key(void *_ctx, const uint8_t *key)
{
AES_KEY *ctx = _ctx;
aesni_set_encrypt_key(key, 16 * 8, ctx);
}
-static void x86_aes192_set_encrypt_key(void *_ctx, const uint8_t * key)
+static void x86_aes192_set_encrypt_key(void *_ctx, const uint8_t *key)
{
AES_KEY *ctx = _ctx;
aesni_set_encrypt_key(key, 24 * 8, ctx);
}
-static void x86_aes256_set_encrypt_key(void *_ctx, const uint8_t * key)
+static void x86_aes256_set_encrypt_key(void *_ctx, const uint8_t *key)
{
AES_KEY *ctx = _ctx;
aesni_set_encrypt_key(key, 32 * 8, ctx);
}
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_GCM &&
@@ -125,9 +125,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t length)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t length)
{
struct gcm_x86_aes_ctx *ctx = _ctx;
int ret;
@@ -145,9 +144,8 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct gcm_x86_aes_ctx *ctx = _ctx;
@@ -182,7 +180,7 @@ static void aes_gcm_deinit(void *_ctx)
gnutls_free(ctx);
}
-# include "aes-gcm-aead.h"
+#include "aes-gcm-aead.h"
const gnutls_crypto_cipher_st _gnutls_aes_gcm_x86_aesni = {
.init = aes_gcm_cipher_init,
diff --git a/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c b/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
index c0e6173ce2..fd1689e930 100644
--- a/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
+++ b/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
@@ -65,7 +65,7 @@ struct aes_gcm_ctx {
};
void gcm_init_avx(u128 Htable[16], const uint64_t Xi[2]);
-void gcm_ghash_avx(uint64_t Xi[2], const u128 Htable[16], const uint8_t * in,
+void gcm_ghash_avx(uint64_t Xi[2], const u128 Htable[16], const uint8_t *in,
size_t len);
void gcm_gmult_avx(uint64_t Xi[2], const u128 Htable[16]);
@@ -77,8 +77,8 @@ static void aes_gcm_deinit(void *_ctx)
gnutls_free(ctx);
}
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_GCM &&
@@ -95,22 +95,21 @@ aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
return 0;
}
-static int
-aes_gcm_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct aes_gcm_ctx *ctx = _ctx;
int ret;
CHECK_AES_KEYSIZE(keysize);
- ret =
- aesni_set_encrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aesni_set_encrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
- aesni_ecb_encrypt(ctx->gcm.H.c, ctx->gcm.H.c,
- GCM_BLOCK_SIZE, ALIGN16(&ctx->expanded_key), 1);
+ aesni_ecb_encrypt(ctx->gcm.H.c, ctx->gcm.H.c, GCM_BLOCK_SIZE,
+ ALIGN16(&ctx->expanded_key), 1);
ctx->gcm.H.u[0] = bswap_64(ctx->gcm.H.u[0]);
ctx->gcm.H.u[1] = bswap_64(ctx->gcm.H.u[1]);
@@ -137,8 +136,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
ctx->gcm.Yi.c[GCM_BLOCK_SIZE - 2] = 0;
ctx->gcm.Yi.c[GCM_BLOCK_SIZE - 1] = 1;
- aesni_ecb_encrypt(ctx->gcm.Yi.c, ctx->gcm.EK0.c,
- GCM_BLOCK_SIZE, ALIGN16(&ctx->expanded_key), 1);
+ aesni_ecb_encrypt(ctx->gcm.Yi.c, ctx->gcm.EK0.c, GCM_BLOCK_SIZE,
+ ALIGN16(&ctx->expanded_key), 1);
ctx->gcm.Yi.c[GCM_BLOCK_SIZE - 1] = 2;
ctx->finished = 0;
ctx->auth_finished = 0;
@@ -146,8 +145,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static void
-gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t * src, size_t src_size)
+static void gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t *src,
+ size_t src_size)
{
size_t rest = src_size % GCM_BLOCK_SIZE;
size_t aligned_size = src_size - rest;
@@ -162,24 +161,21 @@ gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t * src, size_t src_size)
}
}
-static inline void
-ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t * src,
- uint8_t * dst, size_t pos, size_t length)
+static inline void ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t *src,
+ uint8_t *dst, size_t pos, size_t length)
{
uint8_t tmp[GCM_BLOCK_SIZE];
uint8_t out[GCM_BLOCK_SIZE];
memcpy(tmp, &src[pos], length);
- aesni_ctr32_encrypt_blocks(tmp, out, 1,
- ALIGN16(&ctx->expanded_key), ctx->gcm.Yi.c);
+ aesni_ctr32_encrypt_blocks(tmp, out, 1, ALIGN16(&ctx->expanded_key),
+ ctx->gcm.Yi.c);
memcpy(&dst[pos], out, length);
-
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t length)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t length)
{
struct aes_gcm_ctx *ctx = _ctx;
int blocks = src_size / GCM_BLOCK_SIZE;
@@ -200,8 +196,7 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
}
if (blocks > 0) {
- aesni_ctr32_encrypt_blocks(src, dst,
- blocks,
+ aesni_ctr32_encrypt_blocks(src, dst, blocks,
ALIGN16(&ctx->expanded_key),
ctx->gcm.Yi.c);
@@ -210,7 +205,7 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
_gnutls_write_uint32(counter, ctx->gcm.Yi.c + 12);
}
- if (rest > 0) { /* last incomplete block */
+ if (rest > 0) { /* last incomplete block */
ctr_encrypt_last(ctx, src, dst, exp_blocks, rest);
ctx->finished = 1;
}
@@ -221,9 +216,8 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_gcm_ctx *ctx = _ctx;
int blocks = src_size / GCM_BLOCK_SIZE;
@@ -241,8 +235,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
ctx->gcm.len.u[1] += src_size;
if (blocks > 0) {
- aesni_ctr32_encrypt_blocks(src, dst,
- blocks,
+ aesni_ctr32_encrypt_blocks(src, dst, blocks,
ALIGN16(&ctx->expanded_key),
ctx->gcm.Yi.c);
@@ -251,7 +244,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
_gnutls_write_uint32(counter, ctx->gcm.Yi.c + 12);
}
- if (rest > 0) { /* last incomplete block */
+ if (rest > 0) { /* last incomplete block */
ctr_encrypt_last(ctx, src, dst, exp_blocks, rest);
ctx->finished = 1;
}
@@ -297,13 +290,11 @@ static void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
#ifdef ASM_X86_64
/* requires AVX */
-static int
-aesni_gcm_aead_encrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+static int aesni_gcm_aead_encrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *plain, size_t plain_size,
+ void *encr, size_t encr_size)
{
struct aes_gcm_ctx *ctx = _ctx;
size_t s = 0;
@@ -322,21 +313,19 @@ aesni_gcm_aead_encrypt(void *_ctx,
}
if ((plain_size - s) > 0)
- aes_gcm_encrypt(ctx, ((uint8_t *) plain) + s, plain_size - s,
- ((uint8_t *) encr) + s, encr_size - s);
+ aes_gcm_encrypt(ctx, ((uint8_t *)plain) + s, plain_size - s,
+ ((uint8_t *)encr) + s, encr_size - s);
- aes_gcm_tag(ctx, ((uint8_t *) encr) + plain_size, tag_size);
+ aes_gcm_tag(ctx, ((uint8_t *)encr) + plain_size, tag_size);
return 0;
}
-static int
-aesni_gcm_aead_decrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+static int aesni_gcm_aead_decrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *encr, size_t encr_size,
+ void *plain, size_t plain_size)
{
struct aes_gcm_ctx *ctx = _ctx;
uint8_t tag[MAX_HASH_SIZE];
@@ -361,21 +350,21 @@ aesni_gcm_aead_decrypt(void *_ctx,
}
if ((encr_size - s) > 0) {
- aes_gcm_decrypt(ctx, ((uint8_t *) encr) + s, encr_size - s,
- ((uint8_t *) plain) + s, plain_size - s);
+ aes_gcm_decrypt(ctx, ((uint8_t *)encr) + s, encr_size - s,
+ ((uint8_t *)plain) + s, plain_size - s);
}
aes_gcm_tag(ctx, tag, tag_size);
- if (gnutls_memcmp(((uint8_t *) encr) + encr_size, tag, tag_size) != 0)
+ if (gnutls_memcmp(((uint8_t *)encr) + encr_size, tag, tag_size) != 0)
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
return 0;
}
#else
-# define aesni_gcm_aead_decrypt aes_gcm_aead_decrypt
-# define aesni_gcm_aead_encrypt aes_gcm_aead_encrypt
-# include "aes-gcm-aead.h"
+#define aesni_gcm_aead_decrypt aes_gcm_aead_decrypt
+#define aesni_gcm_aead_encrypt aes_gcm_aead_encrypt
+#include "aes-gcm-aead.h"
#endif
const gnutls_crypto_cipher_st _gnutls_aes_gcm_pclmul_avx = {
diff --git a/lib/accelerated/x86/aes-gcm-x86-pclmul.c b/lib/accelerated/x86/aes-gcm-x86-pclmul.c
index 8c8901eb82..596332c437 100644
--- a/lib/accelerated/x86/aes-gcm-x86-pclmul.c
+++ b/lib/accelerated/x86/aes-gcm-x86-pclmul.c
@@ -64,8 +64,8 @@ struct aes_gcm_ctx {
};
void gcm_init_clmul(u128 Htable[16], const uint64_t Xi[2]);
-void gcm_ghash_clmul(uint64_t Xi[2], const u128 Htable[16],
- const uint8_t * inp, size_t len);
+void gcm_ghash_clmul(uint64_t Xi[2], const u128 Htable[16], const uint8_t *inp,
+ size_t len);
void gcm_gmult_clmul(uint64_t Xi[2], const u128 Htable[16]);
static void aes_gcm_deinit(void *_ctx)
@@ -76,8 +76,8 @@ static void aes_gcm_deinit(void *_ctx)
gnutls_free(ctx);
}
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_GCM &&
@@ -94,22 +94,21 @@ aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
return 0;
}
-static int
-aes_gcm_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct aes_gcm_ctx *ctx = _ctx;
int ret;
CHECK_AES_KEYSIZE(keysize);
- ret =
- aesni_set_encrypt_key(userkey, keysize * 8,
- ALIGN16(&ctx->expanded_key));
+ ret = aesni_set_encrypt_key(userkey, keysize * 8,
+ ALIGN16(&ctx->expanded_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
- aesni_ecb_encrypt(ctx->gcm.H.c, ctx->gcm.H.c,
- GCM_BLOCK_SIZE, ALIGN16(&ctx->expanded_key), 1);
+ aesni_ecb_encrypt(ctx->gcm.H.c, ctx->gcm.H.c, GCM_BLOCK_SIZE,
+ ALIGN16(&ctx->expanded_key), 1);
ctx->gcm.H.u[0] = bswap_64(ctx->gcm.H.u[0]);
ctx->gcm.H.u[1] = bswap_64(ctx->gcm.H.u[1]);
@@ -136,8 +135,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
ctx->gcm.Yi.c[GCM_BLOCK_SIZE - 2] = 0;
ctx->gcm.Yi.c[GCM_BLOCK_SIZE - 1] = 1;
- aesni_ecb_encrypt(ctx->gcm.Yi.c, ctx->gcm.EK0.c,
- GCM_BLOCK_SIZE, ALIGN16(&ctx->expanded_key), 1);
+ aesni_ecb_encrypt(ctx->gcm.Yi.c, ctx->gcm.EK0.c, GCM_BLOCK_SIZE,
+ ALIGN16(&ctx->expanded_key), 1);
ctx->gcm.Yi.c[GCM_BLOCK_SIZE - 1] = 2;
ctx->finished = 0;
ctx->auth_finished = 0;
@@ -145,8 +144,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static void
-gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t * src, size_t src_size)
+static void gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t *src,
+ size_t src_size)
{
size_t rest = src_size % GCM_BLOCK_SIZE;
size_t aligned_size = src_size - rest;
@@ -161,24 +160,21 @@ gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t * src, size_t src_size)
}
}
-static inline void
-ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t * src,
- uint8_t * dst, size_t pos, size_t length)
+static inline void ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t *src,
+ uint8_t *dst, size_t pos, size_t length)
{
uint8_t tmp[GCM_BLOCK_SIZE];
uint8_t out[GCM_BLOCK_SIZE];
memcpy(tmp, &src[pos], length);
- aesni_ctr32_encrypt_blocks(tmp, out, 1,
- ALIGN16(&ctx->expanded_key), ctx->gcm.Yi.c);
+ aesni_ctr32_encrypt_blocks(tmp, out, 1, ALIGN16(&ctx->expanded_key),
+ ctx->gcm.Yi.c);
memcpy(&dst[pos], out, length);
-
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t length)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t length)
{
struct aes_gcm_ctx *ctx = _ctx;
int blocks = src_size / GCM_BLOCK_SIZE;
@@ -199,8 +195,7 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
}
if (blocks > 0) {
- aesni_ctr32_encrypt_blocks(src, dst,
- blocks,
+ aesni_ctr32_encrypt_blocks(src, dst, blocks,
ALIGN16(&ctx->expanded_key),
ctx->gcm.Yi.c);
@@ -209,7 +204,7 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
_gnutls_write_uint32(counter, ctx->gcm.Yi.c + 12);
}
- if (rest > 0) { /* last incomplete block */
+ if (rest > 0) { /* last incomplete block */
ctr_encrypt_last(ctx, src, dst, exp_blocks, rest);
ctx->finished = 1;
}
@@ -220,9 +215,8 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct aes_gcm_ctx *ctx = _ctx;
int blocks = src_size / GCM_BLOCK_SIZE;
@@ -240,8 +234,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
ctx->gcm.len.u[1] += src_size;
if (blocks > 0) {
- aesni_ctr32_encrypt_blocks(src, dst,
- blocks,
+ aesni_ctr32_encrypt_blocks(src, dst, blocks,
ALIGN16(&ctx->expanded_key),
ctx->gcm.Yi.c);
@@ -250,7 +243,7 @@ aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
_gnutls_write_uint32(counter, ctx->gcm.Yi.c + 12);
}
- if (rest > 0) { /* last incomplete block */
+ if (rest > 0) { /* last incomplete block */
ctr_encrypt_last(ctx, src, dst, exp_blocks, rest);
ctx->finished = 1;
}
diff --git a/lib/accelerated/x86/aes-gcm-x86-ssse3.c b/lib/accelerated/x86/aes-gcm-x86-ssse3.c
index b3aad36c8a..eee6ee944e 100644
--- a/lib/accelerated/x86/aes-gcm-x86-ssse3.c
+++ b/lib/accelerated/x86/aes-gcm-x86-ssse3.c
@@ -30,24 +30,24 @@
#ifdef HAVE_LIBNETTLE
-# include <gnutls/crypto.h>
-# include "errors.h"
-# include <aes-x86.h>
-# include <x86-common.h>
-# include <byteswap.h>
-# include <nettle/gcm.h>
-# include <assert.h>
+#include <gnutls/crypto.h>
+#include "errors.h"
+#include <aes-x86.h>
+#include <x86-common.h>
+#include <byteswap.h>
+#include <nettle/gcm.h>
+#include <assert.h>
/* GCM mode
* It is used when the CPU doesn't include the PCLMUL instructions.
*/
struct gcm_x86_aes_ctx {
- struct GCM_CTX (AES_KEY) inner;
+ struct GCM_CTX(AES_KEY) inner;
size_t rekey_counter;
};
-static void x86_aes_encrypt(const void *_ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+static void x86_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
AES_KEY *ctx = (void *)_ctx;
unsigned i;
@@ -62,29 +62,29 @@ static void x86_aes_encrypt(const void *_ctx,
}
}
-static void x86_aes_128_set_encrypt_key(void *_ctx, const uint8_t * key)
+static void x86_aes_128_set_encrypt_key(void *_ctx, const uint8_t *key)
{
AES_KEY *ctx = _ctx;
vpaes_set_encrypt_key(key, 16 * 8, ctx);
}
-static void x86_aes_192_set_encrypt_key(void *_ctx, const uint8_t * key)
+static void x86_aes_192_set_encrypt_key(void *_ctx, const uint8_t *key)
{
AES_KEY *ctx = _ctx;
vpaes_set_encrypt_key(key, 24 * 8, ctx);
}
-static void x86_aes_256_set_encrypt_key(void *_ctx, const uint8_t * key)
+static void x86_aes_256_set_encrypt_key(void *_ctx, const uint8_t *key)
{
AES_KEY *ctx = _ctx;
vpaes_set_encrypt_key(key, 32 * 8, ctx);
}
-static int
-aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
if (algorithm != GNUTLS_CIPHER_AES_128_GCM &&
@@ -134,9 +134,8 @@ static int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t length)
+static int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t length)
{
struct gcm_x86_aes_ctx *ctx = _ctx;
int ret;
@@ -154,9 +153,8 @@ aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct gcm_x86_aes_ctx *ctx = _ctx;
@@ -191,7 +189,7 @@ static void aes_gcm_deinit(void *_ctx)
gnutls_free(ctx);
}
-# include "aes-gcm-aead.h"
+#include "aes-gcm-aead.h"
const gnutls_crypto_cipher_st _gnutls_aes_gcm_x86_ssse3 = {
.init = aes_gcm_cipher_init,
diff --git a/lib/accelerated/x86/aes-padlock.c b/lib/accelerated/x86/aes-padlock.c
index 6e1e755fa2..518d8bd4a8 100644
--- a/lib/accelerated/x86/aes-padlock.c
+++ b/lib/accelerated/x86/aes-padlock.c
@@ -32,17 +32,17 @@
#include "errors.h"
#include <aes-x86.h>
#include <x86-common.h>
-#include <nettle/aes.h> /* for key generation in 192 and 256 bits */
+#include <nettle/aes.h> /* for key generation in 192 and 256 bits */
#include <sha-padlock.h>
#include <aes-padlock.h>
-static int
-aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
+static int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
+ int enc)
{
/* we use key size to distinguish */
- if (algorithm != GNUTLS_CIPHER_AES_128_CBC
- && algorithm != GNUTLS_CIPHER_AES_256_CBC
- && algorithm != GNUTLS_CIPHER_AES_192_CBC)
+ if (algorithm != GNUTLS_CIPHER_AES_128_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_256_CBC &&
+ algorithm != GNUTLS_CIPHER_AES_192_CBC)
return GNUTLS_E_INVALID_REQUEST;
*_ctx = gnutls_calloc(1, sizeof(struct padlock_ctx));
@@ -125,9 +125,8 @@ static int aes_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-padlock_aes_cbc_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int padlock_aes_cbc_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct padlock_ctx *ctx = _ctx;
struct padlock_cipher_data *pce;
@@ -144,9 +143,8 @@ padlock_aes_cbc_encrypt(void *_ctx, const void *src, size_t src_size,
return ret ? 0 : GNUTLS_E_ENCRYPTION_FAILED;
}
-static int
-padlock_aes_cbc_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int padlock_aes_cbc_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct padlock_ctx *ctx = _ctx;
struct padlock_cipher_data *pcd;
diff --git a/lib/accelerated/x86/aes-padlock.h b/lib/accelerated/x86/aes-padlock.h
index a33391ef19..0b638e2127 100644
--- a/lib/accelerated/x86/aes-padlock.h
+++ b/lib/accelerated/x86/aes-padlock.h
@@ -1,25 +1,25 @@
#ifndef GNUTLS_LIB_ACCELERATED_X86_AES_PADLOCK_H
-# define GNUTLS_LIB_ACCELERATED_X86_AES_PADLOCK_H
+#define GNUTLS_LIB_ACCELERATED_X86_AES_PADLOCK_H
-# include "gnutls_int.h"
-# include <aes-x86.h>
+#include "gnutls_int.h"
+#include <aes-x86.h>
struct padlock_cipher_data {
- unsigned char iv[16]; /* Initialization vector */
+ unsigned char iv[16]; /* Initialization vector */
union {
unsigned int pad[4];
struct {
- unsigned rounds:4;
- unsigned dgst:1; /* n/a in C3 */
- unsigned align:1; /* n/a in C3 */
- unsigned ciphr:1; /* n/a in C3 */
- unsigned int keygen:1;
- unsigned interm:1;
- unsigned int encdec:1;
- unsigned ksize:2;
+ unsigned rounds : 4;
+ unsigned dgst : 1; /* n/a in C3 */
+ unsigned align : 1; /* n/a in C3 */
+ unsigned ciphr : 1; /* n/a in C3 */
+ unsigned int keygen : 1;
+ unsigned interm : 1;
+ unsigned int encdec : 1;
+ unsigned ksize : 2;
} b;
- } cword; /* Control word */
- AES_KEY ks; /* Encryption key */
+ } cword; /* Control word */
+ AES_KEY ks; /* Encryption key */
};
struct padlock_ctx {
@@ -42,4 +42,4 @@ int padlock_ecb_encrypt(void *out, const void *inp,
struct padlock_cipher_data *ctx, size_t len);
int padlock_cbc_encrypt(void *out, const void *inp,
struct padlock_cipher_data *ctx, size_t len);
-#endif /* GNUTLS_LIB_ACCELERATED_X86_AES_PADLOCK_H */
+#endif /* GNUTLS_LIB_ACCELERATED_X86_AES_PADLOCK_H */
diff --git a/lib/accelerated/x86/aes-x86.h b/lib/accelerated/x86/aes-x86.h
index b9e6dc5b2a..c6bc1cb399 100644
--- a/lib/accelerated/x86/aes-x86.h
+++ b/lib/accelerated/x86/aes-x86.h
@@ -1,15 +1,15 @@
#ifndef GNUTLS_LIB_ACCELERATED_X86_AES_X86_H
-# define GNUTLS_LIB_ACCELERATED_X86_AES_X86_H
+#define GNUTLS_LIB_ACCELERATED_X86_AES_X86_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
void register_x86_crypto(void);
-# define ALIGN16(x) \
- ((void *)(((ptrdiff_t)(x)+(ptrdiff_t)0x0f)&~((ptrdiff_t)0x0f)))
+#define ALIGN16(x) \
+ ((void *)(((ptrdiff_t)(x) + (ptrdiff_t)0x0f) & ~((ptrdiff_t)0x0f)))
-# define AES_KEY_ALIGN_SIZE 4
-# define AES_MAXNR 14
+#define AES_KEY_ALIGN_SIZE 4
+#define AES_MAXNR 14
typedef struct {
/* We add few more integers to allow alignment
* on a 16-byte boundary.
@@ -18,12 +18,12 @@ typedef struct {
uint32_t rounds;
} AES_KEY;
-# define CHECK_AES_KEYSIZE(s) \
+#define CHECK_AES_KEYSIZE(s) \
if (s != 16 && s != 24 && s != 32) \
- return GNUTLS_E_INVALID_REQUEST
+ return GNUTLS_E_INVALID_REQUEST
-# include <intprops.h>
-# define AES_GCM_ENCRYPT_MAX_BYTES ((1ULL << 36) - 32)
+#include <intprops.h>
+#define AES_GCM_ENCRYPT_MAX_BYTES ((1ULL << 36) - 32)
static inline int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
{
size_t sum;
@@ -37,49 +37,45 @@ static inline int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
return 0;
}
-void aesni_ecb_encrypt(const unsigned char *in, unsigned char *out,
- size_t len, const AES_KEY * key, int enc);
+void aesni_ecb_encrypt(const unsigned char *in, unsigned char *out, size_t len,
+ const AES_KEY *key, int enc);
-void aesni_cbc_encrypt(const unsigned char *in, unsigned char *out,
- size_t len, const AES_KEY * key,
- unsigned char *ivec, const int enc);
+void aesni_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len,
+ const AES_KEY *key, unsigned char *ivec, const int enc);
int aesni_set_decrypt_key(const unsigned char *userKey, const int bits,
- AES_KEY * key);
+ AES_KEY *key);
int aesni_set_encrypt_key(const unsigned char *userKey, const int bits,
- AES_KEY * key);
+ AES_KEY *key);
-void aesni_ctr32_encrypt_blocks(const unsigned char *in,
- unsigned char *out,
- size_t blocks,
- const void *key, const unsigned char *ivec);
+void aesni_ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out,
+ size_t blocks, const void *key,
+ const unsigned char *ivec);
size_t aesni_gcm_encrypt(const void *inp, void *out, size_t len,
- const AES_KEY * key, const unsigned char iv[16],
- uint64_t * Xi);
+ const AES_KEY *key, const unsigned char iv[16],
+ uint64_t *Xi);
size_t aesni_gcm_decrypt(const void *inp, void *out, size_t len,
- const AES_KEY * key, const unsigned char iv[16],
- uint64_t * Xi);
+ const AES_KEY *key, const unsigned char iv[16],
+ uint64_t *Xi);
-void aesni_xts_encrypt(const unsigned char *in, unsigned char *out,
- size_t len, const AES_KEY * key, const AES_KEY * key2,
+void aesni_xts_encrypt(const unsigned char *in, unsigned char *out, size_t len,
+ const AES_KEY *key, const AES_KEY *key2,
const unsigned char iv[16]);
-void aesni_xts_decrypt(const unsigned char *in, unsigned char *out,
- size_t len, const AES_KEY * key, const AES_KEY * key2,
+void aesni_xts_decrypt(const unsigned char *in, unsigned char *out, size_t len,
+ const AES_KEY *key, const AES_KEY *key2,
const unsigned char iv[16]);
-int vpaes_set_encrypt_key(const unsigned char *userKey, int bits,
- AES_KEY * key);
-int vpaes_set_decrypt_key(const unsigned char *userKey, int bits,
- AES_KEY * key);
+int vpaes_set_encrypt_key(const unsigned char *userKey, int bits, AES_KEY *key);
+int vpaes_set_decrypt_key(const unsigned char *userKey, int bits, AES_KEY *key);
void vpaes_cbc_encrypt(const unsigned char *in, unsigned char *out,
- size_t length, const AES_KEY * key, unsigned char *ivec,
+ size_t length, const AES_KEY *key, unsigned char *ivec,
int enc);
void vpaes_encrypt(const unsigned char *in, unsigned char *out,
- const AES_KEY * key);
+ const AES_KEY *key);
void vpaes_decrypt(const unsigned char *in, unsigned char *out,
- const AES_KEY * key);
+ const AES_KEY *key);
extern const gnutls_crypto_cipher_st _gnutls_aes_gcm_pclmul;
extern const gnutls_crypto_cipher_st _gnutls_aes_gcm_pclmul_avx;
@@ -92,4 +88,4 @@ extern const gnutls_crypto_cipher_st _gnutls_aes_ssse3;
extern const gnutls_crypto_cipher_st _gnutls_aesni_x86;
-#endif /* GNUTLS_LIB_ACCELERATED_X86_AES_X86_H */
+#endif /* GNUTLS_LIB_ACCELERATED_X86_AES_X86_H */
diff --git a/lib/accelerated/x86/aes-xts-x86-aesni.c b/lib/accelerated/x86/aes-xts-x86-aesni.c
index 52761068c3..0f02f1b3ed 100644
--- a/lib/accelerated/x86/aes-xts-x86-aesni.c
+++ b/lib/accelerated/x86/aes-xts-x86-aesni.c
@@ -40,9 +40,8 @@ struct x86_aes_xts_ctx {
int enc;
};
-static int
-x86_aes_xts_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
- int enc)
+static int x86_aes_xts_cipher_init(gnutls_cipher_algorithm_t algorithm,
+ void **_ctx, int enc)
{
if (algorithm != GNUTLS_CIPHER_AES_128_XTS &&
algorithm != GNUTLS_CIPHER_AES_256_XTS)
@@ -59,8 +58,8 @@ x86_aes_xts_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,
return 0;
}
-static int
-x86_aes_xts_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
+static int x86_aes_xts_cipher_setkey(void *_ctx, const void *userkey,
+ size_t keysize)
{
struct x86_aes_xts_ctx *ctx = _ctx;
int ret;
@@ -81,20 +80,17 @@ x86_aes_xts_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
keybits = keysize * 4;
if (ctx->enc)
- ret =
- aesni_set_encrypt_key(key, keybits,
- ALIGN16(&ctx->block_key));
+ ret = aesni_set_encrypt_key(key, keybits,
+ ALIGN16(&ctx->block_key));
else
- ret =
- aesni_set_decrypt_key(key, keybits,
- ALIGN16(&ctx->block_key));
+ ret = aesni_set_decrypt_key(key, keybits,
+ ALIGN16(&ctx->block_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
- ret =
- aesni_set_encrypt_key(key + (keysize / 2), keybits,
- ALIGN16(&ctx->tweak_key));
+ ret = aesni_set_encrypt_key(key + (keysize / 2), keybits,
+ ALIGN16(&ctx->tweak_key));
if (ret != 0)
return gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
@@ -112,9 +108,8 @@ static int x86_aes_xts_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-x86_aes_xts_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int x86_aes_xts_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct x86_aes_xts_ctx *ctx = _ctx;
@@ -129,9 +124,8 @@ x86_aes_xts_encrypt(void *_ctx, const void *src, size_t src_size,
return 0;
}
-static int
-x86_aes_xts_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int x86_aes_xts_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct x86_aes_xts_ctx *ctx = _ctx;
diff --git a/lib/accelerated/x86/hmac-padlock.c b/lib/accelerated/x86/hmac-padlock.c
index 8913166f34..5dd3f450dc 100644
--- a/lib/accelerated/x86/hmac-padlock.c
+++ b/lib/accelerated/x86/hmac-padlock.c
@@ -37,9 +37,9 @@
#ifdef HAVE_LIBNETTLE
-# define IPAD 0x36
-# define OPAD 0x5c
-# define MAX_SHA_DIGEST_SIZE (512/8)
+#define IPAD 0x36
+#define OPAD 0x5c
+#define MAX_SHA_DIGEST_SIZE (512 / 8)
typedef void (*update_func)(void *, size_t, const uint8_t *);
typedef void (*digest_func)(void *, size_t, uint8_t *);
@@ -62,133 +62,120 @@ struct padlock_hmac_ctx {
set_key_func setkey;
};
-static void
-padlock_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void padlock_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &padlock_sha1, key_length, key);
}
-static void
-padlock_hmac_sha1_update(struct hmac_sha1_ctx *ctx,
- size_t length, const uint8_t * data)
+static void padlock_hmac_sha1_update(struct hmac_sha1_ctx *ctx, size_t length,
+ const uint8_t *data)
{
padlock_sha1_update(&ctx->state, length, data);
}
-static void
-padlock_hmac_sha1_digest(struct hmac_sha1_ctx *ctx,
- size_t length, uint8_t * digest)
+static void padlock_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &padlock_sha1, length, digest);
}
-static void
-padlock_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void padlock_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &padlock_sha256, key_length, key);
}
-static void
-padlock_hmac_sha256_update(struct hmac_sha256_ctx *ctx,
- size_t length, const uint8_t * data)
+static void padlock_hmac_sha256_update(struct hmac_sha256_ctx *ctx,
+ size_t length, const uint8_t *data)
{
padlock_sha256_update(&ctx->state, length, data);
}
-static void
-padlock_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
- size_t length, uint8_t * digest)
+static void padlock_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &padlock_sha256, length, digest);
}
-static void
-padlock_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void padlock_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &padlock_sha224, key_length, key);
}
-static void
-padlock_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,
- size_t length, uint8_t * digest)
+static void padlock_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &padlock_sha224, length, digest);
}
-static void
-padlock_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void padlock_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &padlock_sha384, key_length, key);
}
-static void
-padlock_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,
- size_t length, uint8_t * digest)
+static void padlock_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &padlock_sha384, length, digest);
}
-static void
-padlock_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void padlock_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &padlock_sha512, key_length, key);
}
-static void
-padlock_hmac_sha512_update(struct hmac_sha512_ctx *ctx,
- size_t length, const uint8_t * data)
+static void padlock_hmac_sha512_update(struct hmac_sha512_ctx *ctx,
+ size_t length, const uint8_t *data)
{
padlock_sha512_update(&ctx->state, length, data);
}
-static void
-padlock_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,
- size_t length, uint8_t * digest)
+static void padlock_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,
+ size_t length, uint8_t *digest)
{
HMAC_DIGEST(ctx, &padlock_sha512, length, digest);
}
-static int
-_hmac_ctx_init(gnutls_mac_algorithm_t algo, struct padlock_hmac_ctx *ctx)
+static int _hmac_ctx_init(gnutls_mac_algorithm_t algo,
+ struct padlock_hmac_ctx *ctx)
{
switch (algo) {
case GNUTLS_MAC_SHA1:
- ctx->update = (update_func) padlock_hmac_sha1_update;
- ctx->digest = (digest_func) padlock_hmac_sha1_digest;
- ctx->setkey = (set_key_func) padlock_hmac_sha1_set_key;
+ ctx->update = (update_func)padlock_hmac_sha1_update;
+ ctx->digest = (digest_func)padlock_hmac_sha1_digest;
+ ctx->setkey = (set_key_func)padlock_hmac_sha1_set_key;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA224:
- ctx->update = (update_func) padlock_hmac_sha256_update;
- ctx->digest = (digest_func) padlock_hmac_sha224_digest;
- ctx->setkey = (set_key_func) padlock_hmac_sha224_set_key;
+ ctx->update = (update_func)padlock_hmac_sha256_update;
+ ctx->digest = (digest_func)padlock_hmac_sha224_digest;
+ ctx->setkey = (set_key_func)padlock_hmac_sha224_set_key;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA256:
- ctx->update = (update_func) padlock_hmac_sha256_update;
- ctx->digest = (digest_func) padlock_hmac_sha256_digest;
- ctx->setkey = (set_key_func) padlock_hmac_sha256_set_key;
+ ctx->update = (update_func)padlock_hmac_sha256_update;
+ ctx->digest = (digest_func)padlock_hmac_sha256_digest;
+ ctx->setkey = (set_key_func)padlock_hmac_sha256_set_key;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA384:
- ctx->update = (update_func) padlock_hmac_sha512_update;
- ctx->digest = (digest_func) padlock_hmac_sha384_digest;
- ctx->setkey = (set_key_func) padlock_hmac_sha384_set_key;
+ ctx->update = (update_func)padlock_hmac_sha512_update;
+ ctx->digest = (digest_func)padlock_hmac_sha384_digest;
+ ctx->setkey = (set_key_func)padlock_hmac_sha384_set_key;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA512:
- ctx->update = (update_func) padlock_hmac_sha512_update;
- ctx->digest = (digest_func) padlock_hmac_sha512_digest;
- ctx->setkey = (set_key_func) padlock_hmac_sha512_set_key;
+ ctx->update = (update_func)padlock_hmac_sha512_update;
+ ctx->digest = (digest_func)padlock_hmac_sha512_digest;
+ ctx->setkey = (set_key_func)padlock_hmac_sha512_set_key;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
@@ -226,7 +213,7 @@ static void *wrap_padlock_hmac_copy(const void *_ctx)
{
struct padlock_hmac_ctx *new_ctx;
const struct padlock_hmac_ctx *ctx = _ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_malloc(sizeof(struct padlock_hmac_ctx));
if (new_ctx == NULL) {
@@ -235,7 +222,7 @@ static void *wrap_padlock_hmac_copy(const void *_ctx)
}
memcpy(new_ctx, ctx, sizeof(*new_ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
@@ -249,8 +236,8 @@ static int wrap_padlock_hmac_setkey(void *_ctx, const void *key, size_t keylen)
return GNUTLS_E_SUCCESS;
}
-static int
-wrap_padlock_hmac_update(void *_ctx, const void *text, size_t textsize)
+static int wrap_padlock_hmac_update(void *_ctx, const void *text,
+ size_t textsize)
{
struct padlock_hmac_ctx *ctx = _ctx;
@@ -259,8 +246,8 @@ wrap_padlock_hmac_update(void *_ctx, const void *text, size_t textsize)
return GNUTLS_E_SUCCESS;
}
-static int
-wrap_padlock_hmac_output(void *src_ctx, void *digest, size_t digestsize)
+static int wrap_padlock_hmac_output(void *src_ctx, void *digest,
+ size_t digestsize)
{
struct padlock_hmac_ctx *ctx;
ctx = src_ctx;
@@ -283,22 +270,22 @@ static void wrap_padlock_hmac_deinit(void *hd)
gnutls_free(ctx);
}
-static int
-wrap_padlock_hmac_fast(gnutls_mac_algorithm_t algo,
- const void *nonce, size_t nonce_size,
- const void *key, size_t key_size, const void *text,
- size_t text_size, void *digest)
+static int wrap_padlock_hmac_fast(gnutls_mac_algorithm_t algo,
+ const void *nonce, size_t nonce_size,
+ const void *key, size_t key_size,
+ const void *text, size_t text_size,
+ void *digest)
{
if (algo == GNUTLS_MAC_SHA1 || algo == GNUTLS_MAC_SHA256) {
unsigned char *pad;
unsigned char pad2[SHA1_DATA_SIZE + MAX_SHA_DIGEST_SIZE];
unsigned char hkey[MAX_SHA_DIGEST_SIZE];
unsigned int digest_size =
- _gnutls_mac_get_algo_len(mac_to_entry(algo));
+ _gnutls_mac_get_algo_len(mac_to_entry(algo));
if (key_size > SHA1_DATA_SIZE) {
- wrap_padlock_hash_fast((gnutls_digest_algorithm_t)
- algo, key, key_size, hkey);
+ wrap_padlock_hash_fast((gnutls_digest_algorithm_t)algo,
+ key, key_size, hkey);
key = hkey;
key_size = digest_size;
}
@@ -312,8 +299,8 @@ wrap_padlock_hmac_fast(gnutls_mac_algorithm_t algo,
memcpy(&pad[SHA1_DATA_SIZE], text, text_size);
- wrap_padlock_hash_fast((gnutls_digest_algorithm_t) algo,
- pad, text_size + SHA1_DATA_SIZE,
+ wrap_padlock_hash_fast((gnutls_digest_algorithm_t)algo, pad,
+ text_size + SHA1_DATA_SIZE,
&pad2[SHA1_DATA_SIZE]);
zeroize_temp_key(pad, text_size + SHA1_DATA_SIZE);
@@ -322,9 +309,8 @@ wrap_padlock_hmac_fast(gnutls_mac_algorithm_t algo,
memset(pad2, OPAD, SHA1_DATA_SIZE);
memxor(pad2, key, key_size);
- wrap_padlock_hash_fast((gnutls_digest_algorithm_t) algo,
- pad2, digest_size + SHA1_DATA_SIZE,
- digest);
+ wrap_padlock_hash_fast((gnutls_digest_algorithm_t)algo, pad2,
+ digest_size + SHA1_DATA_SIZE, digest);
zeroize_temp_key(pad2, sizeof(pad2));
zeroize_temp_key(hkey, sizeof(hkey));
@@ -370,4 +356,4 @@ const gnutls_crypto_mac_st _gnutls_hmac_sha_padlock = {
.fast = wrap_padlock_hmac_fast,
};
-#endif /* HAVE_LIBNETTLE */
+#endif /* HAVE_LIBNETTLE */
diff --git a/lib/accelerated/x86/hmac-x86-ssse3.c b/lib/accelerated/x86/hmac-x86-ssse3.c
index d743e28bf7..e037c4658b 100644
--- a/lib/accelerated/x86/hmac-x86-ssse3.c
+++ b/lib/accelerated/x86/hmac-x86-ssse3.c
@@ -57,92 +57,80 @@ struct x86_hmac_ctx {
set_key_func setkey;
};
-static void
-x86_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void x86_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx, size_t key_length,
+ const uint8_t *key)
{
HMAC_SET_KEY(ctx, &x86_sha1, key_length, key);
}
-static void
-x86_hmac_sha1_update(struct hmac_sha1_ctx *ctx,
- size_t length, const uint8_t * data)
+static void x86_hmac_sha1_update(struct hmac_sha1_ctx *ctx, size_t length,
+ const uint8_t *data)
{
x86_sha1_update(&ctx->state, length, data);
}
-static void
-x86_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length, uint8_t * digest)
+static void x86_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &x86_sha1, length, digest);
}
-static void
-x86_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void x86_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &x86_sha256, key_length, key);
}
-static void
-x86_hmac_sha256_update(struct hmac_sha256_ctx *ctx,
- size_t length, const uint8_t * data)
+static void x86_hmac_sha256_update(struct hmac_sha256_ctx *ctx, size_t length,
+ const uint8_t *data)
{
x86_sha256_update(&ctx->state, length, data);
}
-static void
-x86_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,
- size_t length, uint8_t * digest)
+static void x86_hmac_sha256_digest(struct hmac_sha256_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &x86_sha256, length, digest);
}
-static void
-x86_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void x86_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &x86_sha224, key_length, key);
}
-static void
-x86_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,
- size_t length, uint8_t * digest)
+static void x86_hmac_sha224_digest(struct hmac_sha224_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &x86_sha224, length, digest);
}
-static void
-x86_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void x86_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &x86_sha384, key_length, key);
}
-static void
-x86_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,
- size_t length, uint8_t * digest)
+static void x86_hmac_sha384_digest(struct hmac_sha384_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &x86_sha384, length, digest);
}
-static void
-x86_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,
- size_t key_length, const uint8_t * key)
+static void x86_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &x86_sha512, key_length, key);
}
-static void
-x86_hmac_sha512_update(struct hmac_sha512_ctx *ctx,
- size_t length, const uint8_t * data)
+static void x86_hmac_sha512_update(struct hmac_sha512_ctx *ctx, size_t length,
+ const uint8_t *data)
{
x86_sha512_update(&ctx->state, length, data);
}
-static void
-x86_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,
- size_t length, uint8_t * digest)
+static void x86_hmac_sha512_digest(struct hmac_sha512_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &x86_sha512, length, digest);
}
@@ -151,37 +139,37 @@ static int _hmac_ctx_init(gnutls_mac_algorithm_t algo, struct x86_hmac_ctx *ctx)
{
switch (algo) {
case GNUTLS_MAC_SHA1:
- ctx->update = (update_func) x86_hmac_sha1_update;
- ctx->digest = (digest_func) x86_hmac_sha1_digest;
- ctx->setkey = (set_key_func) x86_hmac_sha1_set_key;
+ ctx->update = (update_func)x86_hmac_sha1_update;
+ ctx->digest = (digest_func)x86_hmac_sha1_digest;
+ ctx->setkey = (set_key_func)x86_hmac_sha1_set_key;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA224:
- ctx->update = (update_func) x86_hmac_sha256_update;
- ctx->digest = (digest_func) x86_hmac_sha224_digest;
- ctx->setkey = (set_key_func) x86_hmac_sha224_set_key;
+ ctx->update = (update_func)x86_hmac_sha256_update;
+ ctx->digest = (digest_func)x86_hmac_sha224_digest;
+ ctx->setkey = (set_key_func)x86_hmac_sha224_set_key;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA256:
- ctx->update = (update_func) x86_hmac_sha256_update;
- ctx->digest = (digest_func) x86_hmac_sha256_digest;
- ctx->setkey = (set_key_func) x86_hmac_sha256_set_key;
+ ctx->update = (update_func)x86_hmac_sha256_update;
+ ctx->digest = (digest_func)x86_hmac_sha256_digest;
+ ctx->setkey = (set_key_func)x86_hmac_sha256_set_key;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA384:
- ctx->update = (update_func) x86_hmac_sha512_update;
- ctx->digest = (digest_func) x86_hmac_sha384_digest;
- ctx->setkey = (set_key_func) x86_hmac_sha384_set_key;
+ ctx->update = (update_func)x86_hmac_sha512_update;
+ ctx->digest = (digest_func)x86_hmac_sha384_digest;
+ ctx->setkey = (set_key_func)x86_hmac_sha384_set_key;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA512:
- ctx->update = (update_func) x86_hmac_sha512_update;
- ctx->digest = (digest_func) x86_hmac_sha512_digest;
- ctx->setkey = (set_key_func) x86_hmac_sha512_set_key;
+ ctx->update = (update_func)x86_hmac_sha512_update;
+ ctx->digest = (digest_func)x86_hmac_sha512_digest;
+ ctx->setkey = (set_key_func)x86_hmac_sha512_set_key;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
@@ -219,7 +207,7 @@ static void *wrap_x86_hmac_copy(const void *_ctx)
{
struct x86_hmac_ctx *new_ctx;
const struct x86_hmac_ctx *ctx = _ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_malloc(sizeof(struct x86_hmac_ctx));
if (new_ctx == NULL) {
@@ -228,7 +216,7 @@ static void *wrap_x86_hmac_copy(const void *_ctx)
}
memcpy(new_ctx, ctx, sizeof(*new_ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
@@ -274,10 +262,10 @@ static void wrap_x86_hmac_deinit(void *hd)
gnutls_free(ctx);
}
-static int wrap_x86_hmac_fast(gnutls_mac_algorithm_t algo,
- const void *nonce, size_t nonce_size,
- const void *key, size_t key_size,
- const void *text, size_t text_size, void *digest)
+static int wrap_x86_hmac_fast(gnutls_mac_algorithm_t algo, const void *nonce,
+ size_t nonce_size, const void *key,
+ size_t key_size, const void *text,
+ size_t text_size, void *digest)
{
struct x86_hmac_ctx ctx;
int ret;
@@ -306,4 +294,4 @@ const gnutls_crypto_mac_st _gnutls_hmac_sha_x86_ssse3 = {
.fast = wrap_x86_hmac_fast,
};
-#endif /* HAVE_LIBNETTLE */
+#endif /* HAVE_LIBNETTLE */
diff --git a/lib/accelerated/x86/sha-padlock.c b/lib/accelerated/x86/sha-padlock.c
index 14f1d85976..1671c2f32a 100644
--- a/lib/accelerated/x86/sha-padlock.c
+++ b/lib/accelerated/x86/sha-padlock.c
@@ -55,8 +55,8 @@ struct padlock_hash_ctx {
init_func init;
};
-static int
-wrap_padlock_hash_update(void *_ctx, const void *text, size_t textsize)
+static int wrap_padlock_hash_update(void *_ctx, const void *text,
+ size_t textsize)
{
struct padlock_hash_ctx *ctx = _ctx;
@@ -70,32 +70,33 @@ static void wrap_padlock_hash_deinit(void *hd)
gnutls_free(hd);
}
-# define MD1_INCR(c) (c->count++)
-# define SHA1_COMPRESS(ctx, data) (padlock_sha1_blocks((void*)(ctx)->state, data, 1))
-# define SHA256_COMPRESS(ctx, data) (padlock_sha256_blocks((void*)(ctx)->state, data, 1))
-# define SHA512_COMPRESS(ctx, data) (padlock_sha512_blocks((void*)(ctx)->state, data, 1))
+#define MD1_INCR(c) (c->count++)
+#define SHA1_COMPRESS(ctx, data) \
+ (padlock_sha1_blocks((void *)(ctx)->state, data, 1))
+#define SHA256_COMPRESS(ctx, data) \
+ (padlock_sha256_blocks((void *)(ctx)->state, data, 1))
+#define SHA512_COMPRESS(ctx, data) \
+ (padlock_sha512_blocks((void *)(ctx)->state, data, 1))
-void
-padlock_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t * data)
+void padlock_sha1_update(struct sha1_ctx *ctx, size_t length,
+ const uint8_t *data)
{
MD_UPDATE(ctx, length, data, SHA1_COMPRESS, MD1_INCR(ctx));
}
-void
-padlock_sha256_update(struct sha256_ctx *ctx,
- size_t length, const uint8_t * data)
+void padlock_sha256_update(struct sha256_ctx *ctx, size_t length,
+ const uint8_t *data)
{
MD_UPDATE(ctx, length, data, SHA256_COMPRESS, MD1_INCR(ctx));
}
-void
-padlock_sha512_update(struct sha512_ctx *ctx,
- size_t length, const uint8_t * data)
+void padlock_sha512_update(struct sha512_ctx *ctx, size_t length,
+ const uint8_t *data)
{
MD_UPDATE(ctx, length, data, SHA512_COMPRESS, MD_INCR(ctx));
}
-static void _nettle_write_be32(unsigned length, uint8_t * dst, uint32_t * src)
+static void _nettle_write_be32(unsigned length, uint8_t *dst, uint32_t *src)
{
unsigned i;
unsigned words;
@@ -128,8 +129,8 @@ static void _nettle_write_be32(unsigned length, uint8_t * dst, uint32_t * src)
}
}
-static void
-padlock_sha1_digest(struct sha1_ctx *ctx, size_t length, uint8_t * digest)
+static void padlock_sha1_digest(struct sha1_ctx *ctx, size_t length,
+ uint8_t *digest)
{
uint64_t bit_count;
@@ -147,8 +148,8 @@ padlock_sha1_digest(struct sha1_ctx *ctx, size_t length, uint8_t * digest)
_nettle_write_be32(length, digest, ctx->state);
}
-static void
-padlock_sha256_digest(struct sha256_ctx *ctx, size_t length, uint8_t * digest)
+static void padlock_sha256_digest(struct sha256_ctx *ctx, size_t length,
+ uint8_t *digest)
{
uint64_t bit_count;
@@ -168,8 +169,8 @@ padlock_sha256_digest(struct sha256_ctx *ctx, size_t length, uint8_t * digest)
_nettle_write_be32(length, digest, ctx->state);
}
-static void
-padlock_sha512_digest(struct sha512_ctx *ctx, size_t length, uint8_t * digest)
+static void padlock_sha512_digest(struct sha512_ctx *ctx, size_t length,
+ uint8_t *digest)
{
uint64_t high, low;
@@ -215,41 +216,41 @@ static int _ctx_init(gnutls_digest_algorithm_t algo,
switch (algo) {
case GNUTLS_DIG_SHA1:
sha1_init(&ctx->ctx.sha1);
- ctx->update = (update_func) padlock_sha1_update;
- ctx->digest = (digest_func) padlock_sha1_digest;
- ctx->init = (init_func) sha1_init;
+ ctx->update = (update_func)padlock_sha1_update;
+ ctx->digest = (digest_func)padlock_sha1_digest;
+ ctx->init = (init_func)sha1_init;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA224:
sha224_init(&ctx->ctx.sha224);
- ctx->update = (update_func) padlock_sha256_update;
- ctx->digest = (digest_func) padlock_sha256_digest;
- ctx->init = (init_func) sha224_init;
+ ctx->update = (update_func)padlock_sha256_update;
+ ctx->digest = (digest_func)padlock_sha256_digest;
+ ctx->init = (init_func)sha224_init;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA256:
sha256_init(&ctx->ctx.sha256);
- ctx->update = (update_func) padlock_sha256_update;
- ctx->digest = (digest_func) padlock_sha256_digest;
- ctx->init = (init_func) sha256_init;
+ ctx->update = (update_func)padlock_sha256_update;
+ ctx->digest = (digest_func)padlock_sha256_digest;
+ ctx->init = (init_func)sha256_init;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA384:
sha384_init(&ctx->ctx.sha384);
- ctx->update = (update_func) padlock_sha512_update;
- ctx->digest = (digest_func) padlock_sha512_digest;
- ctx->init = (init_func) sha384_init;
+ ctx->update = (update_func)padlock_sha512_update;
+ ctx->digest = (digest_func)padlock_sha512_digest;
+ ctx->init = (init_func)sha384_init;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA512:
sha512_init(&ctx->ctx.sha512);
- ctx->update = (update_func) padlock_sha512_update;
- ctx->digest = (digest_func) padlock_sha512_digest;
- ctx->init = (init_func) sha512_init;
+ ctx->update = (update_func)padlock_sha512_update;
+ ctx->digest = (digest_func)padlock_sha512_digest;
+ ctx->init = (init_func)sha512_init;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
@@ -288,7 +289,7 @@ static void *wrap_padlock_hash_copy(const void *_ctx)
{
struct padlock_hash_ctx *new_ctx;
const struct padlock_hash_ctx *ctx = _ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_malloc(sizeof(struct padlock_hash_ctx));
if (new_ctx == NULL) {
@@ -297,13 +298,13 @@ static void *wrap_padlock_hash_copy(const void *_ctx)
}
memcpy(new_ctx, ctx, sizeof(*new_ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
-static int
-wrap_padlock_hash_output(void *src_ctx, void *digest, size_t digestsize)
+static int wrap_padlock_hash_output(void *src_ctx, void *digest,
+ size_t digestsize)
{
struct padlock_hash_ctx *ctx;
ctx = src_ctx;
@@ -318,27 +319,22 @@ wrap_padlock_hash_output(void *src_ctx, void *digest, size_t digestsize)
return 0;
}
-int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo,
- const void *text, size_t text_size, void *digest)
+int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo, const void *text,
+ size_t text_size, void *digest)
{
if (text_size == 0 && text == NULL)
text = digest;
if (algo == GNUTLS_DIG_SHA1) {
uint32_t iv[5] = {
- 0x67452301UL,
- 0xEFCDAB89UL,
- 0x98BADCFEUL,
- 0x10325476UL,
- 0xC3D2E1F0UL,
+ 0x67452301UL, 0xEFCDAB89UL, 0x98BADCFEUL,
+ 0x10325476UL, 0xC3D2E1F0UL,
};
padlock_sha1_oneshot(iv, text, text_size);
_nettle_write_be32(20, digest, iv);
} else if (algo == GNUTLS_DIG_SHA256) {
uint32_t iv[8] = {
- 0x6a09e667UL, 0xbb67ae85UL, 0x3c6ef372UL,
- 0xa54ff53aUL,
- 0x510e527fUL, 0x9b05688cUL, 0x1f83d9abUL,
- 0x5be0cd19UL,
+ 0x6a09e667UL, 0xbb67ae85UL, 0x3c6ef372UL, 0xa54ff53aUL,
+ 0x510e527fUL, 0x9b05688cUL, 0x1f83d9abUL, 0x5be0cd19UL,
};
padlock_sha256_oneshot(iv, text, text_size);
_nettle_write_be32(32, digest, iv);
@@ -360,15 +356,15 @@ int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo,
}
const struct nettle_hash padlock_sha1 =
-NN_HASH(sha1, padlock_sha1_update, padlock_sha1_digest, SHA1);
+ NN_HASH(sha1, padlock_sha1_update, padlock_sha1_digest, SHA1);
const struct nettle_hash padlock_sha224 =
-NN_HASH(sha224, padlock_sha256_update, padlock_sha256_digest, SHA224);
+ NN_HASH(sha224, padlock_sha256_update, padlock_sha256_digest, SHA224);
const struct nettle_hash padlock_sha256 =
-NN_HASH(sha256, padlock_sha256_update, padlock_sha256_digest, SHA256);
+ NN_HASH(sha256, padlock_sha256_update, padlock_sha256_digest, SHA256);
const struct nettle_hash padlock_sha384 =
-NN_HASH(sha384, padlock_sha512_update, padlock_sha512_digest, SHA384);
+ NN_HASH(sha384, padlock_sha512_update, padlock_sha512_digest, SHA384);
const struct nettle_hash padlock_sha512 =
-NN_HASH(sha512, padlock_sha512_update, padlock_sha512_digest, SHA512);
+ NN_HASH(sha512, padlock_sha512_update, padlock_sha512_digest, SHA512);
const gnutls_crypto_digest_st _gnutls_sha_padlock_oneshot = {
.init = NULL,
@@ -387,4 +383,4 @@ const gnutls_crypto_digest_st _gnutls_sha_padlock = {
.fast = wrap_padlock_hash_fast,
};
-#endif /* HAVE_LIBNETTLE */
+#endif /* HAVE_LIBNETTLE */
diff --git a/lib/accelerated/x86/sha-padlock.h b/lib/accelerated/x86/sha-padlock.h
index fe5b9e4185..990c02d989 100644
--- a/lib/accelerated/x86/sha-padlock.h
+++ b/lib/accelerated/x86/sha-padlock.h
@@ -1,7 +1,7 @@
#ifndef GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H
-# define GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H
+#define GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H
-# include <nettle/sha.h>
+#include <nettle/sha.h>
void padlock_sha1_oneshot(void *ctx, const void *inp, size_t len);
void padlock_sha256_oneshot(void *ctx, const void *inp, size_t len);
@@ -10,15 +10,15 @@ void padlock_sha1_blocks(unsigned int *ctx, const void *inp, size_t blocks);
void padlock_sha256_blocks(unsigned int *ctx, const void *inp, size_t blocks);
void padlock_sha512_blocks(unsigned int *ctx, const void *inp, size_t blocks);
-int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo,
- const void *text, size_t text_size, void *digest);
+int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo, const void *text,
+ size_t text_size, void *digest);
-void padlock_sha1_update(struct sha1_ctx *ctx,
- size_t length, const uint8_t * data);
-void padlock_sha256_update(struct sha256_ctx *ctx,
- size_t length, const uint8_t * data);
-void padlock_sha512_update(struct sha512_ctx *ctx,
- size_t length, const uint8_t * data);
+void padlock_sha1_update(struct sha1_ctx *ctx, size_t length,
+ const uint8_t *data);
+void padlock_sha256_update(struct sha256_ctx *ctx, size_t length,
+ const uint8_t *data);
+void padlock_sha512_update(struct sha512_ctx *ctx, size_t length,
+ const uint8_t *data);
extern const struct nettle_hash padlock_sha1;
extern const struct nettle_hash padlock_sha224;
@@ -29,4 +29,4 @@ extern const struct nettle_hash padlock_sha512;
extern const gnutls_crypto_mac_st _gnutls_hmac_sha_padlock;
extern const gnutls_crypto_digest_st _gnutls_sha_padlock;
-#endif /* GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H */
+#endif /* GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H */
diff --git a/lib/accelerated/x86/sha-x86-ssse3.c b/lib/accelerated/x86/sha-x86-ssse3.c
index bcfcc4d337..5f099d5cb0 100644
--- a/lib/accelerated/x86/sha-x86-ssse3.c
+++ b/lib/accelerated/x86/sha-x86-ssse3.c
@@ -70,7 +70,7 @@ static void wrap_x86_hash_deinit(void *hd)
gnutls_free(hd);
}
-void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t * data)
+void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t *data)
{
struct {
uint32_t h0, h1, h2, h3, h4;
@@ -103,7 +103,6 @@ void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t * data)
length -= res;
if (length > 0) {
-
t2 = length / SHA1_DATA_SIZE;
sha1_block_data_order(&octx, data, t2);
@@ -125,11 +124,10 @@ void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t * data)
if (res > 0) {
sha1_update(ctx, res, data);
}
-
}
void x86_sha256_update(struct sha256_ctx *ctx, size_t length,
- const uint8_t * data)
+ const uint8_t *data)
{
struct {
uint32_t h[8];
@@ -177,7 +175,7 @@ void x86_sha256_update(struct sha256_ctx *ctx, size_t length,
}
void x86_sha512_update(struct sha512_ctx *ctx, size_t length,
- const uint8_t * data)
+ const uint8_t *data)
{
struct {
uint64_t h[8];
@@ -232,41 +230,41 @@ static int _ctx_init(gnutls_digest_algorithm_t algo, struct x86_hash_ctx *ctx)
switch (algo) {
case GNUTLS_DIG_SHA1:
sha1_init(&ctx->ctx.sha1);
- ctx->update = (update_func) x86_sha1_update;
- ctx->digest = (digest_func) sha1_digest;
- ctx->init = (init_func) sha1_init;
+ ctx->update = (update_func)x86_sha1_update;
+ ctx->digest = (digest_func)sha1_digest;
+ ctx->init = (init_func)sha1_init;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA224:
sha224_init(&ctx->ctx.sha224);
- ctx->update = (update_func) x86_sha256_update;
- ctx->digest = (digest_func) sha224_digest;
- ctx->init = (init_func) sha224_init;
+ ctx->update = (update_func)x86_sha256_update;
+ ctx->digest = (digest_func)sha224_digest;
+ ctx->init = (init_func)sha224_init;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA256:
sha256_init(&ctx->ctx.sha256);
- ctx->update = (update_func) x86_sha256_update;
- ctx->digest = (digest_func) sha256_digest;
- ctx->init = (init_func) sha256_init;
+ ctx->update = (update_func)x86_sha256_update;
+ ctx->digest = (digest_func)sha256_digest;
+ ctx->init = (init_func)sha256_init;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA384:
sha384_init(&ctx->ctx.sha384);
- ctx->update = (update_func) x86_sha512_update;
- ctx->digest = (digest_func) sha384_digest;
- ctx->init = (init_func) sha384_init;
+ ctx->update = (update_func)x86_sha512_update;
+ ctx->digest = (digest_func)sha384_digest;
+ ctx->init = (init_func)sha384_init;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA512:
sha512_init(&ctx->ctx.sha512);
- ctx->update = (update_func) x86_sha512_update;
- ctx->digest = (digest_func) sha512_digest;
- ctx->init = (init_func) sha512_init;
+ ctx->update = (update_func)x86_sha512_update;
+ ctx->digest = (digest_func)sha512_digest;
+ ctx->init = (init_func)sha512_init;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
@@ -305,7 +303,7 @@ static void *wrap_x86_hash_copy(const void *_ctx)
{
struct x86_hash_ctx *new_ctx;
const struct x86_hash_ctx *ctx = _ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_malloc(sizeof(struct x86_hash_ctx));
if (new_ctx == NULL) {
@@ -314,7 +312,7 @@ static void *wrap_x86_hash_copy(const void *_ctx)
}
memcpy(new_ctx, ctx, sizeof(*new_ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
@@ -332,8 +330,8 @@ static int wrap_x86_hash_output(void *src_ctx, void *digest, size_t digestsize)
return 0;
}
-static int wrap_x86_hash_fast(gnutls_digest_algorithm_t algo,
- const void *text, size_t text_size, void *digest)
+static int wrap_x86_hash_fast(gnutls_digest_algorithm_t algo, const void *text,
+ size_t text_size, void *digest)
{
struct x86_hash_ctx ctx;
int ret;
@@ -349,16 +347,16 @@ static int wrap_x86_hash_fast(gnutls_digest_algorithm_t algo,
}
const struct nettle_hash x86_sha1 =
-NN_HASH(sha1, x86_sha1_update, sha1_digest, SHA1);
+ NN_HASH(sha1, x86_sha1_update, sha1_digest, SHA1);
const struct nettle_hash x86_sha224 =
-NN_HASH(sha224, x86_sha256_update, sha224_digest, SHA224);
+ NN_HASH(sha224, x86_sha256_update, sha224_digest, SHA224);
const struct nettle_hash x86_sha256 =
-NN_HASH(sha256, x86_sha256_update, sha256_digest, SHA256);
+ NN_HASH(sha256, x86_sha256_update, sha256_digest, SHA256);
const struct nettle_hash x86_sha384 =
-NN_HASH(sha384, x86_sha512_update, sha384_digest, SHA384);
+ NN_HASH(sha384, x86_sha512_update, sha384_digest, SHA384);
const struct nettle_hash x86_sha512 =
-NN_HASH(sha512, x86_sha512_update, sha512_digest, SHA512);
+ NN_HASH(sha512, x86_sha512_update, sha512_digest, SHA512);
const gnutls_crypto_digest_st _gnutls_sha_x86_ssse3 = {
.init = wrap_x86_hash_init,
diff --git a/lib/accelerated/x86/sha-x86.h b/lib/accelerated/x86/sha-x86.h
index f1fcea055b..d96936663f 100644
--- a/lib/accelerated/x86/sha-x86.h
+++ b/lib/accelerated/x86/sha-x86.h
@@ -1,7 +1,7 @@
#ifndef GNUTLS_LIB_ACCELERATED_X86_SHA_X86_H
-# define GNUTLS_LIB_ACCELERATED_X86_SHA_X86_H
+#define GNUTLS_LIB_ACCELERATED_X86_SHA_X86_H
-# include <nettle/sha.h>
+#include <nettle/sha.h>
extern const struct nettle_hash x86_sha1;
extern const struct nettle_hash x86_sha224;
@@ -9,13 +9,13 @@ extern const struct nettle_hash x86_sha256;
extern const struct nettle_hash x86_sha384;
extern const struct nettle_hash x86_sha512;
-void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t * data);
+void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t *data);
void x86_sha256_update(struct sha256_ctx *ctx, size_t length,
- const uint8_t * data);
+ const uint8_t *data);
void x86_sha512_update(struct sha512_ctx *ctx, size_t length,
- const uint8_t * data);
+ const uint8_t *data);
extern const gnutls_crypto_digest_st _gnutls_sha_x86_ssse3;
extern const gnutls_crypto_mac_st _gnutls_hmac_sha_x86_ssse3;
-#endif /* GNUTLS_LIB_ACCELERATED_X86_SHA_X86_H */
+#endif /* GNUTLS_LIB_ACCELERATED_X86_SHA_X86_H */
diff --git a/lib/accelerated/x86/x86-common.c b/lib/accelerated/x86/x86-common.c
index 24744c41cb..a7047a7ba1 100644
--- a/lib/accelerated/x86/x86-common.c
+++ b/lib/accelerated/x86/x86-common.c
@@ -34,15 +34,15 @@
#include <sha-x86.h>
#include <x86-common.h>
#ifdef HAVE_LIBNETTLE
-# include <nettle/aes.h> /* for key generation in 192 and 256 bits */
-# include <sha-padlock.h>
+#include <nettle/aes.h> /* for key generation in 192 and 256 bits */
+#include <sha-padlock.h>
#endif
#include <aes-padlock.h>
#ifdef HAVE_CPUID_H
-# include <cpuid.h>
+#include <cpuid.h>
#else
-# define __get_cpuid(...) 0
-# define __get_cpuid_count(...) 0
+#define __get_cpuid(...) 0
+#define __get_cpuid_count(...) 0
#endif
/* ebx, ecx, edx
@@ -56,57 +56,57 @@ __hidden
unsigned int GNUTLS_x86_cpuid_s[4];
#ifndef bit_SHA
-# define bit_SHA (1<<29)
+#define bit_SHA (1 << 29)
#endif
/* ecx */
#ifndef bit_AVX512BITALG
-# define bit_AVX512BITALG 0x4000
+#define bit_AVX512BITALG 0x4000
#endif
#ifndef bit_PCLMUL
-# define bit_PCLMUL 0x2
+#define bit_PCLMUL 0x2
#endif
#ifndef bit_SSSE3
/* ecx */
-# define bit_SSSE3 0x0000200
+#define bit_SSSE3 0x0000200
#endif
#ifndef bit_AES
-# define bit_AES 0x2000000
+#define bit_AES 0x2000000
#endif
#ifndef bit_AVX
-# define bit_AVX 0x10000000
+#define bit_AVX 0x10000000
#endif
#ifndef bit_AVX2
-# define bit_AVX2 0x00000020
+#define bit_AVX2 0x00000020
#endif
#ifndef bit_AVX512F
-# define bit_AVX512F 0x00010000
+#define bit_AVX512F 0x00010000
#endif
#ifndef bit_AVX512IFMA
-# define bit_AVX512IFMA 0x00200000
+#define bit_AVX512IFMA 0x00200000
#endif
#ifndef bit_AVX512BW
-# define bit_AVX512BW 0x40000000
+#define bit_AVX512BW 0x40000000
#endif
#ifndef bit_AVX512VL
-# define bit_AVX512VL 0x80000000
+#define bit_AVX512VL 0x80000000
#endif
#ifndef bit_OSXSAVE
-# define bit_OSXSAVE 0x8000000
+#define bit_OSXSAVE 0x8000000
#endif
#ifndef bit_MOVBE
-# define bit_MOVBE 0x00400000
+#define bit_MOVBE 0x00400000
#endif
#define bit_PADLOCK (0x3 << 6)
@@ -116,19 +116,18 @@ unsigned int GNUTLS_x86_cpuid_s[4];
/* Our internal bit-string for cpu capabilities. Should be set
* in GNUTLS_CPUID_OVERRIDE */
#define EMPTY_SET 1
-#define INTEL_AES_NI (1<<1)
-#define INTEL_SSSE3 (1<<2)
-#define INTEL_PCLMUL (1<<3)
-#define INTEL_AVX (1<<4)
-#define INTEL_SHA (1<<5)
-#define PADLOCK (1<<20)
-#define PADLOCK_PHE (1<<21)
-#define PADLOCK_PHE_SHA512 (1<<22)
+#define INTEL_AES_NI (1 << 1)
+#define INTEL_SSSE3 (1 << 2)
+#define INTEL_PCLMUL (1 << 3)
+#define INTEL_AVX (1 << 4)
+#define INTEL_SHA (1 << 5)
+#define PADLOCK (1 << 20)
+#define PADLOCK_PHE (1 << 21)
+#define PADLOCK_PHE_SHA512 (1 << 22)
#ifndef HAVE_GET_CPUID_COUNT
-static inline void
-get_cpuid_level7(unsigned int *eax, unsigned int *ebx,
- unsigned int *ecx, unsigned int *edx)
+static inline void get_cpuid_level7(unsigned int *eax, unsigned int *ebx,
+ unsigned int *ecx, unsigned int *edx)
{
/* we avoid using __get_cpuid_count, because it is not available with gcc 4.8 */
if (__get_cpuid_max(7, 0) < 7)
@@ -138,7 +137,7 @@ get_cpuid_level7(unsigned int *eax, unsigned int *ebx,
return;
}
#else
-# define get_cpuid_level7(a,b,c,d) __get_cpuid_count(7, 0, a, b, c, d)
+#define get_cpuid_level7(a, b, c, d) __get_cpuid_count(7, 0, a, b, c, d)
#endif
static unsigned read_cpuid_vals(unsigned int vals[4])
@@ -170,7 +169,7 @@ static unsigned check_4th_gen_intel_features(unsigned ecx)
#if defined(_MSC_VER) && !defined(__clang__)
xcr0 = _xgetbv(0);
#else
- __asm__("xgetbv": "=a"(xcr0): "c"(0):"%edx");
+ __asm__("xgetbv" : "=a"(xcr0) : "c"(0) : "%edx");
#endif
/* Check if xmm and ymm state are enabled in XCR0. */
return (xcr0 & 6) == 6;
@@ -191,8 +190,8 @@ static void capabilities_to_intel_cpuid(unsigned capabilities)
if (a[1] & bit_AES) {
GNUTLS_x86_cpuid_s[1] |= bit_AES;
} else {
- _gnutls_debug_log
- ("AESNI acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "AESNI acceleration requested but not available\n");
}
}
@@ -200,8 +199,8 @@ static void capabilities_to_intel_cpuid(unsigned capabilities)
if (a[1] & bit_SSSE3) {
GNUTLS_x86_cpuid_s[1] |= bit_SSSE3;
} else {
- _gnutls_debug_log
- ("SSSE3 acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "SSSE3 acceleration requested but not available\n");
}
}
@@ -210,8 +209,8 @@ static void capabilities_to_intel_cpuid(unsigned capabilities)
check_4th_gen_intel_features(a[1])) {
GNUTLS_x86_cpuid_s[1] |= bit_AVX | bit_MOVBE;
} else {
- _gnutls_debug_log
- ("AVX acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "AVX acceleration requested but not available\n");
}
}
@@ -219,8 +218,8 @@ static void capabilities_to_intel_cpuid(unsigned capabilities)
if (a[1] & bit_PCLMUL) {
GNUTLS_x86_cpuid_s[1] |= bit_PCLMUL;
} else {
- _gnutls_debug_log
- ("PCLMUL acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "PCLMUL acceleration requested but not available\n");
}
}
@@ -228,8 +227,8 @@ static void capabilities_to_intel_cpuid(unsigned capabilities)
if (a[2] & bit_SHA) {
GNUTLS_x86_cpuid_s[2] |= bit_SHA;
} else {
- _gnutls_debug_log
- ("SHA acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "SHA acceleration requested but not available\n");
}
}
}
@@ -253,7 +252,7 @@ static unsigned check_sha(void)
static unsigned check_avx_movbe(void)
{
return (GNUTLS_x86_cpuid_s[1] & (bit_AVX | bit_MOVBE)) ==
- (bit_AVX | bit_MOVBE);
+ (bit_AVX | bit_MOVBE);
}
static unsigned check_pclmul(void)
@@ -277,8 +276,8 @@ static unsigned capabilities_to_zhaoxin_edx(unsigned capabilities)
if (c & bit_PADLOCK) {
GNUTLS_x86_cpuid_s[2] |= bit_PADLOCK;
} else {
- _gnutls_debug_log
- ("Padlock acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "Padlock acceleration requested but not available\n");
}
}
@@ -286,8 +285,8 @@ static unsigned capabilities_to_zhaoxin_edx(unsigned capabilities)
if (c & bit_PADLOCK_PHE) {
GNUTLS_x86_cpuid_s[2] |= bit_PADLOCK_PHE;
} else {
- _gnutls_debug_log
- ("Padlock-PHE acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "Padlock-PHE acceleration requested but not available\n");
}
}
@@ -295,8 +294,8 @@ static unsigned capabilities_to_zhaoxin_edx(unsigned capabilities)
if (c & bit_PADLOCK_PHE_SHA512) {
GNUTLS_x86_cpuid_s[2] |= bit_PADLOCK_PHE_SHA512;
} else {
- _gnutls_debug_log
- ("Padlock-PHE-SHA512 acceleration requested but not available\n");
+ _gnutls_debug_log(
+ "Padlock-PHE-SHA512 acceleration requested but not available\n");
}
}
@@ -340,12 +339,10 @@ static int check_fast_pclmul(void)
static int check_phe_partial(void)
{
- const char text[64] =
- "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
- uint32_t iv[5] = { 0x67452301UL, 0xEFCDAB89UL,
- 0x98BADCFEUL, 0x10325476UL, 0xC3D2E1F0UL
- };
+ const char text[64] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+ uint32_t iv[5] = { 0x67452301UL, 0xEFCDAB89UL, 0x98BADCFEUL,
+ 0x10325476UL, 0xC3D2E1F0UL };
/* If EAX is set to -1 (this is the case with padlock_sha1_blocks), the
* xsha1 instruction takes a complete SHA-1 block (64 bytes), while it
@@ -368,19 +365,17 @@ static unsigned check_zhaoxin(void)
return 0;
/* Zhaoxin and VIA CPU was detected */
- if ((memcmp(&b, "Cent", 4) == 0 &&
- memcmp(&d, "aurH", 4) == 0 &&
+ if ((memcmp(&b, "Cent", 4) == 0 && memcmp(&d, "aurH", 4) == 0 &&
memcmp(&c, "auls", 4) == 0) ||
- (memcmp(&b, " Sh", 4) == 0 &&
- memcmp(&d, "angh", 4) == 0 && memcmp(&c, "ai ", 4) == 0)) {
+ (memcmp(&b, " Sh", 4) == 0 && memcmp(&d, "angh", 4) == 0 &&
+ memcmp(&c, "ai ", 4) == 0)) {
return 1;
}
return 0;
}
-static
-void register_x86_padlock_crypto(unsigned capabilities)
+static void register_x86_padlock_crypto(unsigned capabilities)
{
int ret, phe;
unsigned edx;
@@ -402,47 +397,41 @@ void register_x86_padlock_crypto(unsigned capabilities)
if (check_ssse3()) {
_gnutls_debug_log("Zhaoxin SSSE3 was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 90,
- &_gnutls_aes_gcm_x86_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 90,
+ &_gnutls_aes_gcm_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 90,
- &_gnutls_aes_gcm_x86_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 90,
+ &_gnutls_aes_gcm_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 90,
- &_gnutls_aes_gcm_x86_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 90,
+ &_gnutls_aes_gcm_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CBC, 90, &_gnutls_aes_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CBC, 90, &_gnutls_aes_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_CBC, 90, &_gnutls_aes_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_CBC, 90, &_gnutls_aes_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CBC, 90, &_gnutls_aes_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CBC, 90, &_gnutls_aes_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -452,239 +441,191 @@ void register_x86_padlock_crypto(unsigned capabilities)
if (check_sha())
_gnutls_debug_log("Zhaoxin SHA was detected\n");
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA1,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA1, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA224,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA224, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA256,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA256, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA1,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA1, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA224,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA224, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA256,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA256, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA384,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA384, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA512,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA512, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA384,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA384, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA512,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA512, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
}
if (check_optimized_aes()) {
_gnutls_debug_log("Zhaoxin AES accelerator was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CBC, 80, &_gnutls_aesni_x86, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CBC, 80, &_gnutls_aesni_x86, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_CBC, 80, &_gnutls_aesni_x86, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_CBC, 80, &_gnutls_aesni_x86, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CBC, 80, &_gnutls_aesni_x86, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CBC, 80, &_gnutls_aesni_x86, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CCM, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CCM, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CCM, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CCM, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CCM_8, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CCM_8, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CCM_8, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CCM_8, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_XTS, 80,
- &_gnutls_aes_xts_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_XTS, 80,
+ &_gnutls_aes_xts_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_XTS, 80,
- &_gnutls_aes_xts_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_XTS, 80,
+ &_gnutls_aes_xts_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
-# ifdef ASM_X86_64
+#ifdef ASM_X86_64
if (check_pclmul()) {
/* register GCM ciphers */
- _gnutls_debug_log
- ("Zhaoxin GCM accelerator was detected\n");
+ _gnutls_debug_log(
+ "Zhaoxin GCM accelerator was detected\n");
if (check_avx_movbe() && check_fast_pclmul()) {
- _gnutls_debug_log
- ("Zhaoxin GCM accelerator (AVX) was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 80,
- &_gnutls_aes_gcm_pclmul_avx, 0);
+ _gnutls_debug_log(
+ "Zhaoxin GCM accelerator (AVX) was detected\n");
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 80,
+ &_gnutls_aes_gcm_pclmul_avx, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 80,
- &_gnutls_aes_gcm_pclmul_avx, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 80,
+ &_gnutls_aes_gcm_pclmul_avx, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 80,
- &_gnutls_aes_gcm_pclmul_avx, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 80,
+ &_gnutls_aes_gcm_pclmul_avx, 0);
if (ret < 0) {
gnutls_assert();
}
} else {
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 80,
- &_gnutls_aes_gcm_pclmul, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 80,
+ &_gnutls_aes_gcm_pclmul, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 80,
- &_gnutls_aes_gcm_pclmul, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 80,
+ &_gnutls_aes_gcm_pclmul, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 80,
- &_gnutls_aes_gcm_pclmul, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 80,
+ &_gnutls_aes_gcm_pclmul, 0);
if (ret < 0) {
gnutls_assert();
}
}
} else
-# endif
+#endif
{
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 80,
- &_gnutls_aes_gcm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 80,
+ &_gnutls_aes_gcm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 80,
- &_gnutls_aes_gcm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 80,
+ &_gnutls_aes_gcm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 80,
- &_gnutls_aes_gcm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 80,
+ &_gnutls_aes_gcm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -693,40 +634,35 @@ void register_x86_padlock_crypto(unsigned capabilities)
if (check_padlock(edx)) {
_gnutls_debug_log("Padlock AES accelerator was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CBC, 80, &_gnutls_aes_padlock, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CBC, 80, &_gnutls_aes_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_CBC, 80, &_gnutls_aes_padlock, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_CBC, 80, &_gnutls_aes_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
/* register GCM ciphers */
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 90,
- &_gnutls_aes_gcm_padlock, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 90, &_gnutls_aes_gcm_padlock,
+ 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CBC, 80, &_gnutls_aes_padlock, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CBC, 80, &_gnutls_aes_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 90,
- &_gnutls_aes_gcm_padlock, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 90, &_gnutls_aes_gcm_padlock,
+ 0);
if (ret < 0) {
gnutls_assert();
}
@@ -735,134 +671,105 @@ void register_x86_padlock_crypto(unsigned capabilities)
if (!check_optimized_aes() && !check_padlock(edx))
_gnutls_priority_update_non_aesni();
-# ifdef HAVE_LIBNETTLE
+#ifdef HAVE_LIBNETTLE
phe = check_phe(edx);
if (phe && check_phe_partial()) {
- _gnutls_debug_log
- ("Padlock SHA1 and SHA256 (partial) accelerator was detected\n");
+ _gnutls_debug_log(
+ "Padlock SHA1 and SHA256 (partial) accelerator was detected\n");
if (check_phe_sha512(edx)) {
- _gnutls_debug_log
- ("Padlock SHA512 (partial) accelerator was detected\n");
- ret =
- gnutls_crypto_single_digest_register
- (GNUTLS_DIG_SHA384, 80, &_gnutls_sha_padlock, 0);
+ _gnutls_debug_log(
+ "Padlock SHA512 (partial) accelerator was detected\n");
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA384, 80, &_gnutls_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register
- (GNUTLS_DIG_SHA512, 80, &_gnutls_sha_padlock, 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA512, 80, &_gnutls_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA384, 80,
- &_gnutls_hmac_sha_padlock, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA384, 80,
+ &_gnutls_hmac_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register
- (GNUTLS_MAC_SHA512, 80,
- &_gnutls_hmac_sha_padlock, 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA512, 80,
+ &_gnutls_hmac_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA1,
- 90,
- &_gnutls_sha_padlock,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA1, 90, &_gnutls_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA224,
- 90,
- &_gnutls_sha_padlock,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA224, 90, &_gnutls_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA256,
- 90,
- &_gnutls_sha_padlock,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA256, 90, &_gnutls_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA1,
- 90,
- &_gnutls_hmac_sha_padlock,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA1, 90, &_gnutls_hmac_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
/* we don't register MAC_SHA224 because it is not used by TLS */
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA256,
- 90,
- &_gnutls_hmac_sha_padlock,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA256, 90, &_gnutls_hmac_sha_padlock, 0);
if (ret < 0) {
gnutls_assert();
}
} else if (phe) {
/* Original padlock PHE. Does not support incremental operations.
*/
- _gnutls_debug_log
- ("Padlock SHA1 and SHA256 accelerator was detected\n");
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA1,
- 90,
- &_gnutls_sha_padlock_oneshot,
- 0);
+ _gnutls_debug_log(
+ "Padlock SHA1 and SHA256 accelerator was detected\n");
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA1, 90, &_gnutls_sha_padlock_oneshot, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA256,
- 90,
- &_gnutls_sha_padlock_oneshot,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA256, 90, &_gnutls_sha_padlock_oneshot, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA1,
- 90,
- &_gnutls_hmac_sha_padlock_oneshot,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA1, 90, &_gnutls_hmac_sha_padlock_oneshot,
+ 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA256,
- 90,
- &_gnutls_hmac_sha_padlock_oneshot,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA256, 90,
+ &_gnutls_hmac_sha_padlock_oneshot, 0);
if (ret < 0) {
gnutls_assert();
}
}
-# endif
+#endif
return;
}
@@ -882,21 +789,20 @@ static enum x86_cpu_vendor check_x86_cpu_vendor(void)
return X86_CPU_VENDOR_OTHER;
}
- if (memcmp(&b, "Genu", 4) == 0 &&
- memcmp(&d, "ineI", 4) == 0 && memcmp(&c, "ntel", 4) == 0) {
+ if (memcmp(&b, "Genu", 4) == 0 && memcmp(&d, "ineI", 4) == 0 &&
+ memcmp(&c, "ntel", 4) == 0) {
return X86_CPU_VENDOR_INTEL;
}
- if (memcmp(&b, "Auth", 4) == 0 &&
- memcmp(&d, "enti", 4) == 0 && memcmp(&c, "cAMD", 4) == 0) {
+ if (memcmp(&b, "Auth", 4) == 0 && memcmp(&d, "enti", 4) == 0 &&
+ memcmp(&c, "cAMD", 4) == 0) {
return X86_CPU_VENDOR_AMD;
}
return X86_CPU_VENDOR_OTHER;
}
-static
-void register_x86_intel_crypto(unsigned capabilities)
+static void register_x86_intel_crypto(unsigned capabilities)
{
int ret;
enum x86_cpu_vendor vendor;
@@ -918,10 +824,9 @@ void register_x86_intel_crypto(unsigned capabilities)
* OpenSSL does. Should we clear
* bit_AVX512DQ, bit_AVX512PF, bit_AVX512ER,
* and bit_AVX512CD? */
- GNUTLS_x86_cpuid_s[2] &= ~(bit_AVX2 |
- bit_AVX512F |
- bit_AVX512IFMA |
- bit_AVX512BW | bit_AVX512BW);
+ GNUTLS_x86_cpuid_s[2] &=
+ ~(bit_AVX2 | bit_AVX512F | bit_AVX512IFMA |
+ bit_AVX512BW | bit_AVX512BW);
}
} else {
capabilities_to_intel_cpuid(capabilities);
@@ -937,47 +842,41 @@ void register_x86_intel_crypto(unsigned capabilities)
if (check_ssse3()) {
_gnutls_debug_log("Intel SSSE3 was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 90,
- &_gnutls_aes_gcm_x86_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 90,
+ &_gnutls_aes_gcm_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 90,
- &_gnutls_aes_gcm_x86_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 90,
+ &_gnutls_aes_gcm_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 90,
- &_gnutls_aes_gcm_x86_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 90,
+ &_gnutls_aes_gcm_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CBC, 90, &_gnutls_aes_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CBC, 90, &_gnutls_aes_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_CBC, 90, &_gnutls_aes_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_CBC, 90, &_gnutls_aes_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CBC, 90, &_gnutls_aes_ssse3, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CBC, 90, &_gnutls_aes_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -987,156 +886,117 @@ void register_x86_intel_crypto(unsigned capabilities)
if (check_sha())
_gnutls_debug_log("Intel SHA was detected\n");
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA1,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA1, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA224,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA224, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA256,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA256, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA1,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA1, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA224,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA224, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA256,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA256, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA384,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA384, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_digest_register(GNUTLS_DIG_SHA512,
- 80,
- &_gnutls_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_digest_register(
+ GNUTLS_DIG_SHA512, 80, &_gnutls_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA384,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA384, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
- ret =
- gnutls_crypto_single_mac_register(GNUTLS_MAC_SHA512,
- 80,
- &_gnutls_hmac_sha_x86_ssse3,
- 0);
+ ret = gnutls_crypto_single_mac_register(
+ GNUTLS_MAC_SHA512, 80, &_gnutls_hmac_sha_x86_ssse3, 0);
if (ret < 0)
gnutls_assert();
}
if (check_optimized_aes()) {
_gnutls_debug_log("Intel AES accelerator was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CBC, 80, &_gnutls_aesni_x86, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CBC, 80, &_gnutls_aesni_x86, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_CBC, 80, &_gnutls_aesni_x86, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_CBC, 80, &_gnutls_aesni_x86, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CBC, 80, &_gnutls_aesni_x86, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CBC, 80, &_gnutls_aesni_x86, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CCM, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CCM, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CCM, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CCM, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_CCM_8, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_CCM_8, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_CCM_8, 80,
- &_gnutls_aes_ccm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_CCM_8, 80,
+ &_gnutls_aes_ccm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_XTS, 80,
- &_gnutls_aes_xts_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_XTS, 80,
+ &_gnutls_aes_xts_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_XTS, 80,
- &_gnutls_aes_xts_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_XTS, 80,
+ &_gnutls_aes_xts_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -1145,54 +1005,48 @@ void register_x86_intel_crypto(unsigned capabilities)
if (check_pclmul()) {
/* register GCM ciphers */
if (check_avx_movbe()) {
- _gnutls_debug_log
- ("Intel GCM accelerator (AVX) was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 80,
- &_gnutls_aes_gcm_pclmul_avx, 0);
+ _gnutls_debug_log(
+ "Intel GCM accelerator (AVX) was detected\n");
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 80,
+ &_gnutls_aes_gcm_pclmul_avx, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 80,
- &_gnutls_aes_gcm_pclmul_avx, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 80,
+ &_gnutls_aes_gcm_pclmul_avx, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 80,
- &_gnutls_aes_gcm_pclmul_avx, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 80,
+ &_gnutls_aes_gcm_pclmul_avx, 0);
if (ret < 0) {
gnutls_assert();
}
} else {
- _gnutls_debug_log
- ("Intel GCM accelerator was detected\n");
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 80,
- &_gnutls_aes_gcm_pclmul, 0);
+ _gnutls_debug_log(
+ "Intel GCM accelerator was detected\n");
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 80,
+ &_gnutls_aes_gcm_pclmul, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 80,
- &_gnutls_aes_gcm_pclmul, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 80,
+ &_gnutls_aes_gcm_pclmul, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 80,
- &_gnutls_aes_gcm_pclmul, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 80,
+ &_gnutls_aes_gcm_pclmul, 0);
if (ret < 0) {
gnutls_assert();
}
@@ -1200,26 +1054,23 @@ void register_x86_intel_crypto(unsigned capabilities)
} else
#endif
{
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_128_GCM, 80,
- &_gnutls_aes_gcm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_128_GCM, 80,
+ &_gnutls_aes_gcm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_192_GCM, 80,
- &_gnutls_aes_gcm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_192_GCM, 80,
+ &_gnutls_aes_gcm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
- ret =
- gnutls_crypto_single_cipher_register
- (GNUTLS_CIPHER_AES_256_GCM, 80,
- &_gnutls_aes_gcm_x86_aesni, 0);
+ ret = gnutls_crypto_single_cipher_register(
+ GNUTLS_CIPHER_AES_256_GCM, 80,
+ &_gnutls_aes_gcm_x86_aesni, 0);
if (ret < 0) {
gnutls_assert();
}
diff --git a/lib/accelerated/x86/x86-common.h b/lib/accelerated/x86/x86-common.h
index 8d6d14f4af..97d984677c 100644
--- a/lib/accelerated/x86/x86-common.h
+++ b/lib/accelerated/x86/x86-common.h
@@ -20,29 +20,28 @@
*
*/
#ifndef GNUTLS_LIB_ACCELERATED_X86_X86_COMMON_H
-# define GNUTLS_LIB_ACCELERATED_X86_X86_COMMON_H
+#define GNUTLS_LIB_ACCELERATED_X86_X86_COMMON_H
-# include <config.h>
+#include <config.h>
-# if defined(ASM_X86)
+#if defined(ASM_X86)
void gnutls_cpuid(unsigned int func, unsigned int *ax, unsigned int *bx,
unsigned int *cx, unsigned int *dx);
-# endif
+#endif
-# define CHECK_AES_KEYSIZE(s) \
+#define CHECK_AES_KEYSIZE(s) \
if (s != 16 && s != 24 && s != 32) \
- return GNUTLS_E_INVALID_REQUEST
+ return GNUTLS_E_INVALID_REQUEST
-# define NN_HASH(name, update_func, digest_func, NAME) { \
- #name, \
- sizeof(struct name##_ctx), \
- NAME##_DIGEST_SIZE, \
- NAME##_DATA_SIZE, \
- (nettle_hash_init_func *) name##_init, \
- (nettle_hash_update_func *) update_func, \
- (nettle_hash_digest_func *) digest_func \
-}
+#define NN_HASH(name, update_func, digest_func, NAME) \
+ { \
+#name, sizeof(struct name##_ctx), NAME##_DIGEST_SIZE, \
+ NAME##_DATA_SIZE, \
+ (nettle_hash_init_func *)name##_init, \
+ (nettle_hash_update_func *)update_func, \
+ (nettle_hash_digest_func *)digest_func \
+ }
#endif
diff --git a/lib/alert.c b/lib/alert.c
index f0b9e5da0c..97608ead5c 100644
--- a/lib/alert.c
+++ b/lib/alert.c
@@ -33,8 +33,10 @@ typedef struct {
const char *desc;
} gnutls_alert_entry;
-#define ALERT_ENTRY(x,y) \
- {x, #x, y}
+#define ALERT_ENTRY(x, y) \
+ { \
+ x, #x, y \
+ }
static const gnutls_alert_entry sup_alerts[] = {
ALERT_ENTRY(GNUTLS_A_CLOSE_NOTIFY, N_("Close notify")),
@@ -42,26 +44,22 @@ static const gnutls_alert_entry sup_alerts[] = {
ALERT_ENTRY(GNUTLS_A_BAD_RECORD_MAC, N_("Bad record MAC")),
ALERT_ENTRY(GNUTLS_A_DECRYPTION_FAILED, N_("Decryption failed")),
ALERT_ENTRY(GNUTLS_A_RECORD_OVERFLOW, N_("Record overflow")),
- ALERT_ENTRY(GNUTLS_A_DECOMPRESSION_FAILURE,
- N_("Decompression failed")),
+ ALERT_ENTRY(GNUTLS_A_DECOMPRESSION_FAILURE, N_("Decompression failed")),
ALERT_ENTRY(GNUTLS_A_HANDSHAKE_FAILURE, N_("Handshake failed")),
ALERT_ENTRY(GNUTLS_A_BAD_CERTIFICATE, N_("Certificate is bad")),
ALERT_ENTRY(GNUTLS_A_UNSUPPORTED_CERTIFICATE,
N_("Certificate is not supported")),
ALERT_ENTRY(GNUTLS_A_CERTIFICATE_REVOKED,
N_("Certificate was revoked")),
- ALERT_ENTRY(GNUTLS_A_CERTIFICATE_EXPIRED,
- N_("Certificate is expired")),
- ALERT_ENTRY(GNUTLS_A_CERTIFICATE_UNKNOWN,
- N_("Unknown certificate")),
+ ALERT_ENTRY(GNUTLS_A_CERTIFICATE_EXPIRED, N_("Certificate is expired")),
+ ALERT_ENTRY(GNUTLS_A_CERTIFICATE_UNKNOWN, N_("Unknown certificate")),
ALERT_ENTRY(GNUTLS_A_ILLEGAL_PARAMETER, N_("Illegal parameter")),
ALERT_ENTRY(GNUTLS_A_UNKNOWN_CA, N_("CA is unknown")),
ALERT_ENTRY(GNUTLS_A_ACCESS_DENIED, N_("Access was denied")),
ALERT_ENTRY(GNUTLS_A_DECODE_ERROR, N_("Decode error")),
ALERT_ENTRY(GNUTLS_A_DECRYPT_ERROR, N_("Decrypt error")),
ALERT_ENTRY(GNUTLS_A_EXPORT_RESTRICTION, N_("Export restriction")),
- ALERT_ENTRY(GNUTLS_A_PROTOCOL_VERSION,
- N_("Error in protocol version")),
+ ALERT_ENTRY(GNUTLS_A_PROTOCOL_VERSION, N_("Error in protocol version")),
ALERT_ENTRY(GNUTLS_A_INSUFFICIENT_SECURITY,
N_("Insufficient security")),
ALERT_ENTRY(GNUTLS_A_USER_CANCELED, N_("User canceled")),
@@ -83,11 +81,10 @@ static const gnutls_alert_entry sup_alerts[] = {
ALERT_ENTRY(GNUTLS_A_MISSING_EXTENSION,
N_("An extension was expected but was not seen")),
ALERT_ENTRY(GNUTLS_A_NO_APPLICATION_PROTOCOL,
- N_
- ("No supported application protocol could be negotiated")),
+ N_("No supported application protocol could be negotiated")),
ALERT_ENTRY(GNUTLS_A_CERTIFICATE_REQUIRED,
N_("Certificate is required")),
- {0, NULL, NULL}
+ { 0, NULL, NULL }
};
/**
@@ -149,22 +146,21 @@ const char *gnutls_alert_get_strname(gnutls_alert_description_t alert)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_alert_send(gnutls_session_t session, gnutls_alert_level_t level,
- gnutls_alert_description_t desc)
+int gnutls_alert_send(gnutls_session_t session, gnutls_alert_level_t level,
+ gnutls_alert_description_t desc)
{
uint8_t data[2];
int ret;
const char *name;
- data[0] = (uint8_t) level;
- data[1] = (uint8_t) desc;
+ data[0] = (uint8_t)level;
+ data[1] = (uint8_t)desc;
- name = gnutls_alert_get_name((gnutls_alert_description_t) data[1]);
+ name = gnutls_alert_get_name((gnutls_alert_description_t)data[1]);
if (name == NULL)
name = "(unknown)";
- _gnutls_record_log("REC: Sending Alert[%d|%d] - %s\n", data[0],
- data[1], name);
+ _gnutls_record_log("REC: Sending Alert[%d|%d] - %s\n", data[0], data[1],
+ name);
if (session->internals.alert_read_func) {
record_parameters_st *params;
@@ -172,17 +168,16 @@ gnutls_alert_send(gnutls_session_t session, gnutls_alert_level_t level,
ret = _gnutls_epoch_get(session, EPOCH_WRITE_CURRENT, &params);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = session->internals.alert_read_func(session,
- params->write.level,
- level, desc);
+ ret = session->internals.alert_read_func(
+ session, params->write.level, level, desc);
if (ret < 0)
return gnutls_assert_val(ret);
return ret;
}
- ret = _gnutls_send_int(session, GNUTLS_ALERT, -1,
- EPOCH_WRITE_CURRENT, data, 2, MBUFFER_FLUSH);
+ ret = _gnutls_send_int(session, GNUTLS_ALERT, -1, EPOCH_WRITE_CURRENT,
+ data, 2, MBUFFER_FLUSH);
return (ret < 0) ? ret : 0;
}
@@ -207,7 +202,7 @@ int gnutls_error_to_alert(int err, int *level)
{
int ret, _level = -1;
- switch (err) { /* send appropriate alert */
+ switch (err) { /* send appropriate alert */
case GNUTLS_E_PK_SIG_VERIFY_FAILED:
case GNUTLS_E_ERROR_IN_FINISHED_PACKET:
ret = GNUTLS_A_DECRYPT_ERROR;
@@ -384,14 +379,14 @@ int gnutls_alert_send_appropriate(gnutls_session_t session, int err)
int alert;
int level;
- if (err != GNUTLS_E_REHANDSHAKE && (!gnutls_error_is_fatal(err) ||
- err ==
- GNUTLS_E_FATAL_ALERT_RECEIVED))
+ if (err != GNUTLS_E_REHANDSHAKE &&
+ (!gnutls_error_is_fatal(err) ||
+ err == GNUTLS_E_FATAL_ALERT_RECEIVED))
return gnutls_assert_val(0);
alert = gnutls_error_to_alert(err, &level);
- return gnutls_alert_send(session, (gnutls_alert_level_t) level, alert);
+ return gnutls_alert_send(session, (gnutls_alert_level_t)level, alert);
}
/**
@@ -409,5 +404,5 @@ int gnutls_alert_send_appropriate(gnutls_session_t session, int err)
**/
gnutls_alert_description_t gnutls_alert_get(gnutls_session_t session)
{
- return (gnutls_alert_description_t) session->internals.last_alert;
+ return (gnutls_alert_description_t)session->internals.last_alert;
}
diff --git a/lib/algorithms.h b/lib/algorithms.h
index 727bc5c9f9..c59dc87b8b 100644
--- a/lib/algorithms.h
+++ b/lib/algorithms.h
@@ -22,41 +22,45 @@
*/
#ifndef GNUTLS_LIB_ALGORITHMS_H
-# define GNUTLS_LIB_ALGORITHMS_H
+#define GNUTLS_LIB_ALGORITHMS_H
-# include "auth.h"
+#include "auth.h"
-# ifdef DISABLE_SYSTEM_CONFIG
-# define SYSTEM_CONFIG_OR_CONST const
-# else
-# define SYSTEM_CONFIG_OR_CONST
-# endif
+#ifdef DISABLE_SYSTEM_CONFIG
+#define SYSTEM_CONFIG_OR_CONST const
+#else
+#define SYSTEM_CONFIG_OR_CONST
+#endif
-# define version_to_entry _gnutls_version_to_entry
+#define version_to_entry _gnutls_version_to_entry
-# define GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR 0x00
-# define GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR 0xFF
+#define GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR 0x00
+#define GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR 0xFF
-# define GNUTLS_FALLBACK_SCSV_MAJOR 0x56
-# define GNUTLS_FALLBACK_SCSV_MINOR 0x00
+#define GNUTLS_FALLBACK_SCSV_MAJOR 0x56
+#define GNUTLS_FALLBACK_SCSV_MINOR 0x00
-# define IS_GOSTEC(x) (((x)==GNUTLS_PK_GOST_01) || \
- ((x)==GNUTLS_PK_GOST_12_256)|| \
- ((x)==GNUTLS_PK_GOST_12_512))
+#define IS_GOSTEC(x) \
+ (((x) == GNUTLS_PK_GOST_01) || ((x) == GNUTLS_PK_GOST_12_256) || \
+ ((x) == GNUTLS_PK_GOST_12_512))
-# define IS_EC(x) (((x)==GNUTLS_PK_ECDSA)|| \
- ((x)==GNUTLS_PK_ECDH_X25519)||((x)==GNUTLS_PK_EDDSA_ED25519)|| \
- ((x)==GNUTLS_PK_ECDH_X448)||((x)==GNUTLS_PK_EDDSA_ED448))
+#define IS_EC(x) \
+ (((x) == GNUTLS_PK_ECDSA) || ((x) == GNUTLS_PK_ECDH_X25519) || \
+ ((x) == GNUTLS_PK_EDDSA_ED25519) || ((x) == GNUTLS_PK_ECDH_X448) || \
+ ((x) == GNUTLS_PK_EDDSA_ED448))
-# define SIG_SEM_PRE_TLS12 (1<<1)
-# define SIG_SEM_TLS13 (1<<2)
-# define SIG_SEM_DEFAULT (SIG_SEM_PRE_TLS12|SIG_SEM_TLS13)
+#define SIG_SEM_PRE_TLS12 (1 << 1)
+#define SIG_SEM_TLS13 (1 << 2)
+#define SIG_SEM_DEFAULT (SIG_SEM_PRE_TLS12 | SIG_SEM_TLS13)
-# define TLS_SIGN_AID_UNKNOWN {{255, 255}, 0}
-# define HAVE_UNKNOWN_SIGAID(aid) ((aid)->id[0] == 255 && (aid)->id[1] == 255)
+#define TLS_SIGN_AID_UNKNOWN \
+ { \
+ { 255, 255 }, 0 \
+ }
+#define HAVE_UNKNOWN_SIGAID(aid) ((aid)->id[0] == 255 && (aid)->id[1] == 255)
-# define CS_INVALID_MAJOR 0x00
-# define CS_INVALID_MINOR 0x00
+#define CS_INVALID_MAJOR 0x00
+#define CS_INVALID_MINOR 0x00
/* Functions for version handling. */
const version_entry_st *version_to_entry(gnutls_protocol_t version);
@@ -67,23 +71,22 @@ const version_entry_st *_gnutls_legacy_version_max(gnutls_session_t session);
const version_entry_st *_gnutls_version_max(gnutls_session_t session);
int _gnutls_version_priority(gnutls_session_t session,
gnutls_protocol_t version);
-int _gnutls_nversion_is_supported(gnutls_session_t session,
- unsigned char major, unsigned char minor);
+int _gnutls_nversion_is_supported(gnutls_session_t session, unsigned char major,
+ unsigned char minor);
gnutls_protocol_t _gnutls_version_get(uint8_t major, uint8_t minor);
unsigned _gnutls_version_is_too_high(gnutls_session_t session, uint8_t major,
uint8_t minor);
-int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t * buffer,
+int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t *buffer,
ssize_t buffer_size);
/* Functions for feature checks */
-int
-_gnutls_figure_common_ciphersuite(gnutls_session_t session,
- const ciphersuite_list_st * peer_clist,
- const gnutls_cipher_suite_entry_st ** ce);
+int _gnutls_figure_common_ciphersuite(gnutls_session_t session,
+ const ciphersuite_list_st *peer_clist,
+ const gnutls_cipher_suite_entry_st **ce);
inline static int
-_gnutls_version_has_selectable_prf(const version_entry_st * ver)
+_gnutls_version_has_selectable_prf(const version_entry_st *ver)
{
if (unlikely(ver == NULL))
return 0;
@@ -91,23 +94,21 @@ _gnutls_version_has_selectable_prf(const version_entry_st * ver)
}
inline static int
-_gnutls_version_has_selectable_sighash(const version_entry_st * ver)
+_gnutls_version_has_selectable_sighash(const version_entry_st *ver)
{
if (unlikely(ver == NULL))
return 0;
return ver->selectable_sighash;
}
-inline static
-int _gnutls_version_has_extensions(const version_entry_st * ver)
+inline static int _gnutls_version_has_extensions(const version_entry_st *ver)
{
if (unlikely(ver == NULL))
return 0;
return ver->extensions;
}
-inline static
-int _gnutls_version_has_explicit_iv(const version_entry_st * ver)
+inline static int _gnutls_version_has_explicit_iv(const version_entry_st *ver)
{
if (unlikely(ver == NULL))
return 0;
@@ -116,10 +117,10 @@ int _gnutls_version_has_explicit_iv(const version_entry_st * ver)
/* Functions for MACs. */
const mac_entry_st *_gnutls_mac_to_entry(gnutls_mac_algorithm_t c);
-# define mac_to_entry(x) _gnutls_mac_to_entry(x)
-# define hash_to_entry(x) mac_to_entry((gnutls_mac_algorithm_t)(x))
+#define mac_to_entry(x) _gnutls_mac_to_entry(x)
+#define hash_to_entry(x) mac_to_entry((gnutls_mac_algorithm_t)(x))
-inline static int _gnutls_mac_is_ok(const mac_entry_st * e)
+inline static int _gnutls_mac_is_ok(const mac_entry_st *e)
{
if (unlikely(e == NULL) || e->id == 0)
return 0;
@@ -136,7 +137,7 @@ inline static int _gnutls_mac_is_ok(const mac_entry_st * e)
* Returns: length (in bytes) of the MAC output size, or 0 if the
* given MAC algorithm is invalid.
-*/
-inline static size_t _gnutls_mac_get_algo_len(const mac_entry_st * e)
+inline static size_t _gnutls_mac_get_algo_len(const mac_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
@@ -144,7 +145,7 @@ inline static size_t _gnutls_mac_get_algo_len(const mac_entry_st * e)
return e->output_size;
}
-inline static const char *_gnutls_x509_mac_to_oid(const mac_entry_st * e)
+inline static const char *_gnutls_x509_mac_to_oid(const mac_entry_st *e)
{
if (unlikely(e == NULL))
return NULL;
@@ -152,7 +153,7 @@ inline static const char *_gnutls_x509_mac_to_oid(const mac_entry_st * e)
return e->oid;
}
-inline static const char *_gnutls_mac_get_name(const mac_entry_st * e)
+inline static const char *_gnutls_mac_get_name(const mac_entry_st *e)
{
if (unlikely(e == NULL))
return NULL;
@@ -160,7 +161,7 @@ inline static const char *_gnutls_mac_get_name(const mac_entry_st * e)
return e->name;
}
-inline static int _gnutls_mac_block_size(const mac_entry_st * e)
+inline static int _gnutls_mac_block_size(const mac_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
@@ -168,7 +169,7 @@ inline static int _gnutls_mac_block_size(const mac_entry_st * e)
return e->block_size;
}
-inline static int _gnutls_mac_get_key_size(const mac_entry_st * e)
+inline static int _gnutls_mac_get_key_size(const mac_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
@@ -182,20 +183,20 @@ _gnutls_mac_to_dig(gnutls_mac_algorithm_t mac)
if (unlikely(mac >= GNUTLS_MAC_AEAD))
return GNUTLS_DIG_UNKNOWN;
- return (gnutls_digest_algorithm_t) mac;
+ return (gnutls_digest_algorithm_t)mac;
}
-# define MAC_TO_DIG(mac) _gnutls_mac_to_dig(mac)
+#define MAC_TO_DIG(mac) _gnutls_mac_to_dig(mac)
/* Functions for digests. */
-# define _gnutls_x509_digest_to_oid _gnutls_x509_mac_to_oid
-# define _gnutls_digest_get_name _gnutls_mac_get_name
-# define _gnutls_hash_get_algo_len _gnutls_mac_get_algo_len
+#define _gnutls_x509_digest_to_oid _gnutls_x509_mac_to_oid
+#define _gnutls_digest_get_name _gnutls_mac_get_name
+#define _gnutls_hash_get_algo_len _gnutls_mac_get_algo_len
-# define DIG_TO_MAC(dig) (gnutls_mac_algorithm_t)(dig)
+#define DIG_TO_MAC(dig) (gnutls_mac_algorithm_t)(dig)
/* Security against pre-image attacks */
-inline static int _gnutls_digest_is_secure(const mac_entry_st * e)
+inline static int _gnutls_digest_is_secure(const mac_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
@@ -205,93 +206,92 @@ inline static int _gnutls_digest_is_secure(const mac_entry_st * e)
/* Functions for cipher suites. */
int _gnutls_get_client_ciphersuites(gnutls_session_t session,
- gnutls_buffer_st * cdata,
- const version_entry_st * minver,
+ gnutls_buffer_st *cdata,
+ const version_entry_st *minver,
unsigned add_scsv);
int _gnutls_supported_ciphersuites(gnutls_session_t session,
- uint8_t * cipher_suites,
+ uint8_t *cipher_suites,
unsigned int max_cipher_suite_size);
-const gnutls_cipher_suite_entry_st
- * cipher_suite_get(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_cipher_algorithm_t cipher_algorithm,
- gnutls_mac_algorithm_t mac_algorithm);
+const gnutls_cipher_suite_entry_st *
+cipher_suite_get(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_cipher_algorithm_t cipher_algorithm,
+ gnutls_mac_algorithm_t mac_algorithm);
const char *_gnutls_cipher_suite_get_name(const uint8_t suite[2]);
gnutls_kx_algorithm_t _gnutls_cipher_suite_get_kx_algo(const uint8_t suite[2]);
-int
-_gnutls_cipher_suite_get_id(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_cipher_algorithm_t cipher_algorithm,
- gnutls_mac_algorithm_t mac_algorithm,
- uint8_t suite[2]);
+int _gnutls_cipher_suite_get_id(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_cipher_algorithm_t cipher_algorithm,
+ gnutls_mac_algorithm_t mac_algorithm,
+ uint8_t suite[2]);
-const gnutls_cipher_suite_entry_st *ciphersuite_to_entry(const uint8_t
- suite[2]);
+const gnutls_cipher_suite_entry_st *
+ciphersuite_to_entry(const uint8_t suite[2]);
/* Functions for ciphers. */
const cipher_entry_st *_gnutls_cipher_to_entry(gnutls_cipher_algorithm_t c);
-# define cipher_to_entry(x) _gnutls_cipher_to_entry(x)
+#define cipher_to_entry(x) _gnutls_cipher_to_entry(x)
const cipher_entry_st *cipher_name_to_entry(const char *name);
-inline static cipher_type_t _gnutls_cipher_type(const cipher_entry_st * e)
+inline static cipher_type_t _gnutls_cipher_type(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
- return CIPHER_AEAD; /* doesn't matter */
+ return CIPHER_AEAD; /* doesn't matter */
return e->type;
}
-inline static int _gnutls_cipher_get_block_size(const cipher_entry_st * e)
+inline static int _gnutls_cipher_get_block_size(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
return e->blocksize;
}
-inline static int _gnutls_cipher_get_implicit_iv_size(const cipher_entry_st * e)
+inline static int _gnutls_cipher_get_implicit_iv_size(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
return e->implicit_iv;
}
-inline static int _gnutls_cipher_get_iv_size(const cipher_entry_st * e)
+inline static int _gnutls_cipher_get_iv_size(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
return e->cipher_iv;
}
-inline static int _gnutls_cipher_get_explicit_iv_size(const cipher_entry_st * e)
+inline static int _gnutls_cipher_get_explicit_iv_size(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
return e->explicit_iv;
}
-inline static int _gnutls_cipher_get_key_size(const cipher_entry_st * e)
+inline static int _gnutls_cipher_get_key_size(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
return e->keysize;
}
-inline static const char *_gnutls_cipher_get_name(const cipher_entry_st * e)
+inline static const char *_gnutls_cipher_get_name(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return NULL;
return e->name;
}
-inline static int _gnutls_cipher_algo_is_aead(const cipher_entry_st * e)
+inline static int _gnutls_cipher_algo_is_aead(const cipher_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
return (e->type == CIPHER_AEAD) ? 1 : 0;
}
-inline static int _gnutls_cipher_is_ok(const cipher_entry_st * e)
+inline static int _gnutls_cipher_is_ok(const cipher_entry_st *e)
{
if (unlikely(e == NULL) || e->id == 0)
return 0;
@@ -299,7 +299,7 @@ inline static int _gnutls_cipher_is_ok(const cipher_entry_st * e)
return 1;
}
-inline static int _gnutls_cipher_get_tag_size(const cipher_entry_st * e)
+inline static int _gnutls_cipher_get_tag_size(const cipher_entry_st *e)
{
size_t ret = 0;
@@ -318,20 +318,22 @@ int _gnutls_kx_is_ok(gnutls_kx_algorithm_t algorithm);
int _gnutls_kx_get_id(const char *name);
-gnutls_credentials_type_t _gnutls_map_kx_get_cred(gnutls_kx_algorithm_t
- algorithm, int server);
+gnutls_credentials_type_t
+_gnutls_map_kx_get_cred(gnutls_kx_algorithm_t algorithm, int server);
/* KX to PK mapping. */
-unsigned
-_gnutls_kx_supports_pk(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_pk_algorithm_t pk_algorithm);
+unsigned _gnutls_kx_supports_pk(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_pk_algorithm_t pk_algorithm);
-unsigned
-_gnutls_kx_supports_pk_usage(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_pk_algorithm_t pk_algorithm,
- unsigned key_usage);
+unsigned _gnutls_kx_supports_pk_usage(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_pk_algorithm_t pk_algorithm,
+ unsigned key_usage);
-enum encipher_type { CIPHER_ENCRYPT = 0, CIPHER_SIGN = 1, CIPHER_IGN };
+enum encipher_type {
+ CIPHER_ENCRYPT = 0,
+ CIPHER_SIGN = 1,
+ CIPHER_IGN
+};
enum encipher_type _gnutls_kx_encipher_type(gnutls_kx_algorithm_t kx_algorithm);
@@ -369,10 +371,11 @@ void _gnutls_version_mark_disabled_all(void);
void _gnutls_sign_mark_insecure_all(hash_security_level_t level);
void _gnutls_digest_mark_insecure_all(void);
-# define GNUTLS_SIGN_FLAG_TLS13_OK 1 /* if it is ok to use under TLS1.3 */
-# define GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE (1 << 1) /* reverse order of bytes in CrtVrfy signature */
-# define GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE (1 << 2)
-# define GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE (1 << 3)
+#define GNUTLS_SIGN_FLAG_TLS13_OK 1 /* if it is ok to use under TLS1.3 */
+#define GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE \
+ (1 << 1) /* reverse order of bytes in CrtVrfy signature */
+#define GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE (1 << 2)
+#define GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE (1 << 3)
struct gnutls_sign_entry_st {
const char *name;
const char *oid;
@@ -398,7 +401,8 @@ struct gnutls_sign_entry_st {
/* See RFC 5246 HashAlgorithm and SignatureAlgorithm
for values to use in aid struct. */
const sign_algorithm_st aid;
- hash_security_level_t slevel; /* contains values of hash_security_level_t */
+ hash_security_level_t
+ slevel; /* contains values of hash_security_level_t */
/* 0 if it matches the predefined hash output size, otherwise
* it is truncated or expanded (with XOF) */
@@ -407,15 +411,15 @@ struct gnutls_sign_entry_st {
typedef struct gnutls_sign_entry_st gnutls_sign_entry_st;
const gnutls_sign_entry_st *_gnutls_sign_to_entry(gnutls_sign_algorithm_t sign);
-const gnutls_sign_entry_st *_gnutls_pk_to_sign_entry(gnutls_pk_algorithm_t pk,
- gnutls_digest_algorithm_t
- hash);
+const gnutls_sign_entry_st *
+_gnutls_pk_to_sign_entry(gnutls_pk_algorithm_t pk,
+ gnutls_digest_algorithm_t hash);
const gnutls_sign_entry_st *_gnutls_oid_to_sign_entry(const char *oid);
/* returns true if that signature can be generated
* from the given private key algorithm. */
inline static unsigned
-sign_supports_priv_pk_algorithm(const gnutls_sign_entry_st * se,
+sign_supports_priv_pk_algorithm(const gnutls_sign_entry_st *se,
gnutls_pk_algorithm_t pk)
{
if (pk == se->pk || (se->priv_pk && se->priv_pk == pk))
@@ -427,34 +431,33 @@ sign_supports_priv_pk_algorithm(const gnutls_sign_entry_st * se,
/* returns true if that signature can be verified with
* the given public key algorithm. */
inline static unsigned
-sign_supports_cert_pk_algorithm(const gnutls_sign_entry_st * se,
+sign_supports_cert_pk_algorithm(const gnutls_sign_entry_st *se,
gnutls_pk_algorithm_t pk)
{
- if ((!se->cert_pk && pk == se->pk)
- || (se->cert_pk && se->cert_pk == pk))
+ if ((!se->cert_pk && pk == se->pk) ||
+ (se->cert_pk && se->cert_pk == pk))
return 1;
return 0;
}
-bool _gnutls_sign_is_secure2(const gnutls_sign_entry_st * se,
+bool _gnutls_sign_is_secure2(const gnutls_sign_entry_st *se,
unsigned int flags);
gnutls_pk_algorithm_t _gnutls_x509_sign_to_pk(gnutls_sign_algorithm_t sign);
const char *_gnutls_x509_sign_to_oid(gnutls_pk_algorithm_t,
gnutls_digest_algorithm_t mac);
-const gnutls_sign_entry_st *_gnutls_tls_aid_to_sign_entry(uint8_t id0,
- uint8_t id1,
- const version_entry_st
- * ver);
+const gnutls_sign_entry_st *
+_gnutls_tls_aid_to_sign_entry(uint8_t id0, uint8_t id1,
+ const version_entry_st *ver);
-gnutls_sign_algorithm_t
-_gnutls_tls_aid_to_sign(uint8_t id0, uint8_t id1, const version_entry_st * ver);
+gnutls_sign_algorithm_t _gnutls_tls_aid_to_sign(uint8_t id0, uint8_t id1,
+ const version_entry_st *ver);
const sign_algorithm_st *_gnutls_sign_to_tls_aid(gnutls_sign_algorithm_t sign);
-const gnutls_sign_entry_st
- * _gnutls13_sign_get_compatible_with_privkey(gnutls_privkey_t privkey);
+const gnutls_sign_entry_st *
+_gnutls13_sign_get_compatible_with_privkey(gnutls_privkey_t privkey);
unsigned int _gnutls_pk_bits_to_subgroup_bits(unsigned int pk_bits);
gnutls_digest_algorithm_t _gnutls_pk_bits_to_sha_hash(unsigned int pk_bits);
@@ -469,16 +472,16 @@ typedef struct gnutls_ecc_curve_entry_st {
const char *oid;
gnutls_ecc_curve_t id;
gnutls_pk_algorithm_t pk;
- unsigned size; /* the size in bytes */
- unsigned sig_size; /* the size of curve signatures in bytes (EdDSA) */
+ unsigned size; /* the size in bytes */
+ unsigned sig_size; /* the size of curve signatures in bytes (EdDSA) */
unsigned gost_curve;
bool supported;
bool supported_revertible;
gnutls_group_t group;
} gnutls_ecc_curve_entry_st;
-const gnutls_ecc_curve_entry_st
- * _gnutls_ecc_curve_get_params(gnutls_ecc_curve_t curve);
+const gnutls_ecc_curve_entry_st *
+_gnutls_ecc_curve_get_params(gnutls_ecc_curve_t curve);
unsigned _gnutls_ecc_curve_is_supported(gnutls_ecc_curve_t);
@@ -489,12 +492,12 @@ gnutls_group_t _gnutls_group_get_id(const char *name);
gnutls_ecc_curve_t _gnutls_ecc_bits_to_curve(gnutls_pk_algorithm_t pk,
int bits);
-# define MAX_ECC_CURVE_SIZE 66
+#define MAX_ECC_CURVE_SIZE 66
gnutls_pk_algorithm_t _gnutls_oid_to_pk_and_curve(const char *oid,
- gnutls_ecc_curve_t * curve);
+ gnutls_ecc_curve_t *curve);
-inline static int _curve_is_eddsa(const gnutls_ecc_curve_entry_st * e)
+inline static int _curve_is_eddsa(const gnutls_ecc_curve_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
@@ -503,7 +506,7 @@ inline static int _curve_is_eddsa(const gnutls_ecc_curve_entry_st * e)
return 0;
}
-inline static int _curve_is_modern_ecdh(const gnutls_ecc_curve_entry_st * e)
+inline static int _curve_is_modern_ecdh(const gnutls_ecc_curve_entry_st *e)
{
if (unlikely(e == NULL))
return 0;
@@ -559,19 +562,19 @@ static inline unsigned _gnutls_kx_is_vko_gost(gnutls_kx_algorithm_t kx)
return 0;
}
-static inline bool _sign_is_gost(const gnutls_sign_entry_st * se)
+static inline bool _sign_is_gost(const gnutls_sign_entry_st *se)
{
gnutls_pk_algorithm_t pk = se->pk;
- return (pk == GNUTLS_PK_GOST_01) ||
- (pk == GNUTLS_PK_GOST_12_256) || (pk == GNUTLS_PK_GOST_12_512);
+ return (pk == GNUTLS_PK_GOST_01) || (pk == GNUTLS_PK_GOST_12_256) ||
+ (pk == GNUTLS_PK_GOST_12_512);
}
static inline int _sig_is_ecdsa(gnutls_sign_algorithm_t sig)
{
if (sig == GNUTLS_SIGN_ECDSA_SHA1 || sig == GNUTLS_SIGN_ECDSA_SHA224 ||
- sig == GNUTLS_SIGN_ECDSA_SHA256 || sig == GNUTLS_SIGN_ECDSA_SHA384
- || sig == GNUTLS_SIGN_ECDSA_SHA512)
+ sig == GNUTLS_SIGN_ECDSA_SHA256 ||
+ sig == GNUTLS_SIGN_ECDSA_SHA384 || sig == GNUTLS_SIGN_ECDSA_SHA512)
return 1;
return 0;
@@ -582,4 +585,4 @@ bool _gnutls_pk_are_compat(gnutls_pk_algorithm_t pk1,
unsigned _gnutls_sign_get_hash_strength(gnutls_sign_algorithm_t sign);
-#endif /* GNUTLS_LIB_ALGORITHMS_H */
+#endif /* GNUTLS_LIB_ALGORITHMS_H */
diff --git a/lib/algorithms/cert_types.c b/lib/algorithms/cert_types.c
index 41c3b903a1..e78ec2e4f6 100644
--- a/lib/algorithms/cert_types.c
+++ b/lib/algorithms/cert_types.c
@@ -69,9 +69,7 @@ gnutls_certificate_type_t gnutls_certificate_type_get_id(const char *name)
}
static const gnutls_certificate_type_t supported_certificate_types[] = {
- GNUTLS_CRT_X509,
- GNUTLS_CRT_RAWPK,
- 0
+ GNUTLS_CRT_X509, GNUTLS_CRT_RAWPK, 0
};
/**
diff --git a/lib/algorithms/ciphers.c b/lib/algorithms/ciphers.c
index 3a6b86efcc..3efe121cb8 100644
--- a/lib/algorithms/ciphers.c
+++ b/lib/algorithms/ciphers.c
@@ -38,332 +38,348 @@
* that specify them (they will be a no-op).
*/
static const cipher_entry_st algorithms[] = {
- {.name = "AES-256-CBC",
- .id = GNUTLS_CIPHER_AES_256_CBC,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-192-CBC",
- .id = GNUTLS_CIPHER_AES_192_CBC,
- .blocksize = 16,
- .keysize = 24,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-128-CBC",
- .id = GNUTLS_CIPHER_AES_128_CBC,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-128-GCM",
- .id = GNUTLS_CIPHER_AES_128_GCM,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .tagsize = 16},
- {.name = "AES-192-GCM",
- .id = GNUTLS_CIPHER_AES_192_GCM,
- .blocksize = 16,
- .keysize = 24,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .tagsize = 16},
- {.name = "AES-256-GCM",
- .id = GNUTLS_CIPHER_AES_256_GCM,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .tagsize = 16},
- {.name = "AES-128-CCM",
- .id = GNUTLS_CIPHER_AES_128_CCM,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
- .tagsize = 16},
- {.name = "AES-256-CCM",
- .id = GNUTLS_CIPHER_AES_256_CCM,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
- .tagsize = 16},
- {.name = "AES-128-CCM-8",
- .id = GNUTLS_CIPHER_AES_128_CCM_8,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
- .tagsize = 8},
- {.name = "AES-256-CCM-8",
- .id = GNUTLS_CIPHER_AES_256_CCM_8,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
- .tagsize = 8},
- {.name = "ARCFOUR-128",
- .id = GNUTLS_CIPHER_ARCFOUR_128,
- .blocksize = 1,
- .keysize = 16,
- .type = CIPHER_STREAM,
- 0, 0, 0, 0},
- {.name = "ESTREAM-SALSA20-256",
- .id = GNUTLS_CIPHER_ESTREAM_SALSA20_256,
- .blocksize = 64,
- .keysize = 32,
- .type = CIPHER_STREAM, 0, 0, 8, 0},
- {.name = "SALSA20-256",
- .id = GNUTLS_CIPHER_SALSA20_256,
- .blocksize = 64,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .explicit_iv = 0,
- .cipher_iv = 8},
- {.name = "CHACHA20-32",
- .id = GNUTLS_CIPHER_CHACHA20_32,
- .blocksize = 64,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .explicit_iv = 0,
- /* IV includes counter */
- .cipher_iv = 16},
- {.name = "CHACHA20-64",
- .id = GNUTLS_CIPHER_CHACHA20_64,
- .blocksize = 64,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .explicit_iv = 0,
- /* IV includes counter */
- .cipher_iv = 16},
- {.name = "CAMELLIA-256-CBC",
- .id = GNUTLS_CIPHER_CAMELLIA_256_CBC,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "CAMELLIA-192-CBC",
- .id = GNUTLS_CIPHER_CAMELLIA_192_CBC,
- .blocksize = 16,
- .keysize = 24,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "CAMELLIA-128-CBC",
- .id = GNUTLS_CIPHER_CAMELLIA_128_CBC,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "CHACHA20-POLY1305",
- .id = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .blocksize = 64,
- .keysize = 32,
- .type = CIPHER_AEAD,
- .implicit_iv = 12,
- .explicit_iv = 0,
- /* in chacha20 we don't need a rekey after 2^24 messages */
- .flags = GNUTLS_CIPHER_FLAG_XOR_NONCE | GNUTLS_CIPHER_FLAG_NO_REKEY,
- .cipher_iv = 12,
- .tagsize = 16},
- {.name = "CAMELLIA-128-GCM",
- .id = GNUTLS_CIPHER_CAMELLIA_128_GCM,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_AEAD, 4, 8, 12, 16},
- {.name = "CAMELLIA-256-GCM",
- .id = GNUTLS_CIPHER_CAMELLIA_256_GCM,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_AEAD,
- .implicit_iv = 4,
- .explicit_iv = 8,
- .cipher_iv = 12,
- .tagsize = 16},
- {.name = "GOST28147-TC26Z-CFB",
- .id = GNUTLS_CIPHER_GOST28147_TC26Z_CFB,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 8},
- {.name = "GOST28147-CPA-CFB",
- .id = GNUTLS_CIPHER_GOST28147_CPA_CFB,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 8},
- {.name = "GOST28147-CPB-CFB",
- .id = GNUTLS_CIPHER_GOST28147_CPB_CFB,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 8},
- {.name = "GOST28147-CPC-CFB",
- .id = GNUTLS_CIPHER_GOST28147_CPC_CFB,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 8},
- {.name = "GOST28147-CPD-CFB",
- .id = GNUTLS_CIPHER_GOST28147_CPD_CFB,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 8},
+ { .name = "AES-256-CBC",
+ .id = GNUTLS_CIPHER_AES_256_CBC,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-192-CBC",
+ .id = GNUTLS_CIPHER_AES_192_CBC,
+ .blocksize = 16,
+ .keysize = 24,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-128-CBC",
+ .id = GNUTLS_CIPHER_AES_128_CBC,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-128-GCM",
+ .id = GNUTLS_CIPHER_AES_128_GCM,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .tagsize = 16 },
+ { .name = "AES-192-GCM",
+ .id = GNUTLS_CIPHER_AES_192_GCM,
+ .blocksize = 16,
+ .keysize = 24,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .tagsize = 16 },
+ { .name = "AES-256-GCM",
+ .id = GNUTLS_CIPHER_AES_256_GCM,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .tagsize = 16 },
+ { .name = "AES-128-CCM",
+ .id = GNUTLS_CIPHER_AES_128_CCM,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
+ .tagsize = 16 },
+ { .name = "AES-256-CCM",
+ .id = GNUTLS_CIPHER_AES_256_CCM,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
+ .tagsize = 16 },
+ { .name = "AES-128-CCM-8",
+ .id = GNUTLS_CIPHER_AES_128_CCM_8,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
+ .tagsize = 8 },
+ { .name = "AES-256-CCM-8",
+ .id = GNUTLS_CIPHER_AES_256_CCM_8,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD,
+ .tagsize = 8 },
+ { .name = "ARCFOUR-128",
+ .id = GNUTLS_CIPHER_ARCFOUR_128,
+ .blocksize = 1,
+ .keysize = 16,
+ .type = CIPHER_STREAM,
+ 0,
+ 0,
+ 0,
+ 0 },
+ { .name = "ESTREAM-SALSA20-256",
+ .id = GNUTLS_CIPHER_ESTREAM_SALSA20_256,
+ .blocksize = 64,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ 0,
+ 0,
+ 8,
+ 0 },
+ { .name = "SALSA20-256",
+ .id = GNUTLS_CIPHER_SALSA20_256,
+ .blocksize = 64,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .explicit_iv = 0,
+ .cipher_iv = 8 },
+ { .name = "CHACHA20-32",
+ .id = GNUTLS_CIPHER_CHACHA20_32,
+ .blocksize = 64,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .explicit_iv = 0,
+ /* IV includes counter */
+ .cipher_iv = 16 },
+ { .name = "CHACHA20-64",
+ .id = GNUTLS_CIPHER_CHACHA20_64,
+ .blocksize = 64,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .explicit_iv = 0,
+ /* IV includes counter */
+ .cipher_iv = 16 },
+ { .name = "CAMELLIA-256-CBC",
+ .id = GNUTLS_CIPHER_CAMELLIA_256_CBC,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "CAMELLIA-192-CBC",
+ .id = GNUTLS_CIPHER_CAMELLIA_192_CBC,
+ .blocksize = 16,
+ .keysize = 24,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "CAMELLIA-128-CBC",
+ .id = GNUTLS_CIPHER_CAMELLIA_128_CBC,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "CHACHA20-POLY1305",
+ .id = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .blocksize = 64,
+ .keysize = 32,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 12,
+ .explicit_iv = 0,
+ /* in chacha20 we don't need a rekey after 2^24 messages */
+ .flags = GNUTLS_CIPHER_FLAG_XOR_NONCE | GNUTLS_CIPHER_FLAG_NO_REKEY,
+ .cipher_iv = 12,
+ .tagsize = 16 },
+ { .name = "CAMELLIA-128-GCM",
+ .id = GNUTLS_CIPHER_CAMELLIA_128_GCM,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_AEAD,
+ 4,
+ 8,
+ 12,
+ 16 },
+ { .name = "CAMELLIA-256-GCM",
+ .id = GNUTLS_CIPHER_CAMELLIA_256_GCM,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_AEAD,
+ .implicit_iv = 4,
+ .explicit_iv = 8,
+ .cipher_iv = 12,
+ .tagsize = 16 },
+ { .name = "GOST28147-TC26Z-CFB",
+ .id = GNUTLS_CIPHER_GOST28147_TC26Z_CFB,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "GOST28147-CPA-CFB",
+ .id = GNUTLS_CIPHER_GOST28147_CPA_CFB,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "GOST28147-CPB-CFB",
+ .id = GNUTLS_CIPHER_GOST28147_CPB_CFB,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "GOST28147-CPC-CFB",
+ .id = GNUTLS_CIPHER_GOST28147_CPC_CFB,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "GOST28147-CPD-CFB",
+ .id = GNUTLS_CIPHER_GOST28147_CPD_CFB,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 8 },
- {.name = "AES-128-CFB8",
- .id = GNUTLS_CIPHER_AES_128_CFB8,
- .blocksize = 16,
- .keysize = 16,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-192-CFB8",
- .id = GNUTLS_CIPHER_AES_192_CFB8,
- .blocksize = 16,
- .keysize = 24,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-256-CFB8",
- .id = GNUTLS_CIPHER_AES_256_CFB8,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-128-XTS",
- .id = GNUTLS_CIPHER_AES_128_XTS,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-256-XTS",
- .id = GNUTLS_CIPHER_AES_256_XTS,
- .blocksize = 16,
- .keysize = 64,
- .type = CIPHER_BLOCK,
- .explicit_iv = 16,
- .cipher_iv = 16},
- {.name = "AES-128-SIV",
- .id = GNUTLS_CIPHER_AES_128_SIV,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_AEAD,
- .explicit_iv = 16,
- .cipher_iv = 16,
- .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD |
- GNUTLS_CIPHER_FLAG_TAG_PREFIXED,
- .tagsize = 16},
- {.name = "AES-256-SIV",
- .id = GNUTLS_CIPHER_AES_256_SIV,
- .blocksize = 16,
- .keysize = 64,
- .type = CIPHER_AEAD,
- .explicit_iv = 16,
- .cipher_iv = 16,
- .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD |
- GNUTLS_CIPHER_FLAG_TAG_PREFIXED,
- .tagsize = 16},
- {.name = "GOST28147-TC26Z-CNT",
- .id = GNUTLS_CIPHER_GOST28147_TC26Z_CNT,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 8},
- {.name = "MAGMA-CTR-ACPKM",
- .id = GNUTLS_CIPHER_MAGMA_CTR_ACPKM,
- .blocksize = 8,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 4,
- .cipher_iv = 8},
- {.name = "KUZNYECHIK-CTR-ACPKM",
- .id = GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM,
- .blocksize = 16,
- .keysize = 32,
- .type = CIPHER_STREAM,
- .implicit_iv = 8,
- .cipher_iv = 16},
- {.name = "3DES-CBC",
- .id = GNUTLS_CIPHER_3DES_CBC,
- .blocksize = 8,
- .keysize = 24,
- .type = CIPHER_BLOCK,
- .explicit_iv = 8,
- .cipher_iv = 8},
- {.name = "DES-CBC",
- .id = GNUTLS_CIPHER_DES_CBC,
- .blocksize = 8,
- .keysize = 8,
- .type = CIPHER_BLOCK,
- .explicit_iv = 8,
- .cipher_iv = 8},
- {.name = "ARCFOUR-40",
- .id = GNUTLS_CIPHER_ARCFOUR_40,
- .blocksize = 1,
- .keysize = 5,
- .type = CIPHER_STREAM},
- {.name = "RC2-40",
- .id = GNUTLS_CIPHER_RC2_40_CBC,
- .blocksize = 8,
- .keysize = 5,
- .type = CIPHER_BLOCK,
- .explicit_iv = 8,
- .cipher_iv = 8},
- {.name = "NULL",
- .id = GNUTLS_CIPHER_NULL,
- .blocksize = 1,
- .keysize = 0,
- .type = CIPHER_STREAM},
- {0, 0, 0, 0, 0, 0, 0}
+ { .name = "AES-128-CFB8",
+ .id = GNUTLS_CIPHER_AES_128_CFB8,
+ .blocksize = 16,
+ .keysize = 16,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-192-CFB8",
+ .id = GNUTLS_CIPHER_AES_192_CFB8,
+ .blocksize = 16,
+ .keysize = 24,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-256-CFB8",
+ .id = GNUTLS_CIPHER_AES_256_CFB8,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-128-XTS",
+ .id = GNUTLS_CIPHER_AES_128_XTS,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-256-XTS",
+ .id = GNUTLS_CIPHER_AES_256_XTS,
+ .blocksize = 16,
+ .keysize = 64,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 16,
+ .cipher_iv = 16 },
+ { .name = "AES-128-SIV",
+ .id = GNUTLS_CIPHER_AES_128_SIV,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_AEAD,
+ .explicit_iv = 16,
+ .cipher_iv = 16,
+ .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD |
+ GNUTLS_CIPHER_FLAG_TAG_PREFIXED,
+ .tagsize = 16 },
+ { .name = "AES-256-SIV",
+ .id = GNUTLS_CIPHER_AES_256_SIV,
+ .blocksize = 16,
+ .keysize = 64,
+ .type = CIPHER_AEAD,
+ .explicit_iv = 16,
+ .cipher_iv = 16,
+ .flags = GNUTLS_CIPHER_FLAG_ONLY_AEAD |
+ GNUTLS_CIPHER_FLAG_TAG_PREFIXED,
+ .tagsize = 16 },
+ { .name = "GOST28147-TC26Z-CNT",
+ .id = GNUTLS_CIPHER_GOST28147_TC26Z_CNT,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "MAGMA-CTR-ACPKM",
+ .id = GNUTLS_CIPHER_MAGMA_CTR_ACPKM,
+ .blocksize = 8,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 4,
+ .cipher_iv = 8 },
+ { .name = "KUZNYECHIK-CTR-ACPKM",
+ .id = GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM,
+ .blocksize = 16,
+ .keysize = 32,
+ .type = CIPHER_STREAM,
+ .implicit_iv = 8,
+ .cipher_iv = 16 },
+ { .name = "3DES-CBC",
+ .id = GNUTLS_CIPHER_3DES_CBC,
+ .blocksize = 8,
+ .keysize = 24,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "DES-CBC",
+ .id = GNUTLS_CIPHER_DES_CBC,
+ .blocksize = 8,
+ .keysize = 8,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "ARCFOUR-40",
+ .id = GNUTLS_CIPHER_ARCFOUR_40,
+ .blocksize = 1,
+ .keysize = 5,
+ .type = CIPHER_STREAM },
+ { .name = "RC2-40",
+ .id = GNUTLS_CIPHER_RC2_40_CBC,
+ .blocksize = 8,
+ .keysize = 5,
+ .type = CIPHER_BLOCK,
+ .explicit_iv = 8,
+ .cipher_iv = 8 },
+ { .name = "NULL",
+ .id = GNUTLS_CIPHER_NULL,
+ .blocksize = 1,
+ .keysize = 0,
+ .type = CIPHER_STREAM },
+ { 0, 0, 0, 0, 0, 0, 0 }
};
-#define GNUTLS_CIPHER_LOOP(b) \
- const cipher_entry_st *p; \
- for(p = algorithms; p->name != NULL; p++) { b ; }
+#define GNUTLS_CIPHER_LOOP(b) \
+ const cipher_entry_st *p; \
+ for (p = algorithms; p->name != NULL; p++) { \
+ b; \
+ }
-#define GNUTLS_ALG_LOOP(a) \
- GNUTLS_CIPHER_LOOP( if(p->id == algorithm) { a; break; } )
+#define GNUTLS_ALG_LOOP(a) \
+ GNUTLS_CIPHER_LOOP(if (p->id == algorithm) { \
+ a; \
+ break; \
+ })
/* CIPHER functions */
const cipher_entry_st *_gnutls_cipher_to_entry(gnutls_cipher_algorithm_t c)
{
- GNUTLS_CIPHER_LOOP(if (c == p->id) return p) ;
+ GNUTLS_CIPHER_LOOP(if (c == p->id) return p);
return NULL;
}
@@ -373,9 +389,7 @@ const cipher_entry_st *_gnutls_cipher_to_entry(gnutls_cipher_algorithm_t c)
*/
const cipher_entry_st *cipher_name_to_entry(const char *name)
{
- GNUTLS_CIPHER_LOOP(if (c_strcasecmp(p->name, name) == 0) {
- return p;}
- ) ;
+ GNUTLS_CIPHER_LOOP(if (c_strcasecmp(p->name, name) == 0) { return p; });
return NULL;
}
@@ -393,7 +407,6 @@ unsigned gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm)
size_t ret = 0;
GNUTLS_ALG_LOOP(ret = p->blocksize);
return ret;
-
}
/**
@@ -441,11 +454,10 @@ unsigned gnutls_cipher_get_iv_size(gnutls_cipher_algorithm_t algorithm)
* the given cipher is invalid.
**/
size_t gnutls_cipher_get_key_size(gnutls_cipher_algorithm_t algorithm)
-{ /* In bytes */
+{ /* In bytes */
size_t ret = 0;
GNUTLS_ALG_LOOP(ret = p->keysize);
return ret;
-
}
/**
@@ -481,10 +493,10 @@ gnutls_cipher_algorithm_t gnutls_cipher_get_id(const char *name)
gnutls_cipher_algorithm_t ret = GNUTLS_CIPHER_UNKNOWN;
GNUTLS_CIPHER_LOOP(if (c_strcasecmp(p->name, name) == 0) {
- if (p->id == GNUTLS_CIPHER_NULL
- || _gnutls_cipher_exists(p->id))
- ret = p->id; break;}
- ) ;
+ if (p->id == GNUTLS_CIPHER_NULL || _gnutls_cipher_exists(p->id))
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -510,10 +522,9 @@ const gnutls_cipher_algorithm_t *gnutls_cipher_list(void)
if (supported_ciphers[0] == 0) {
int i = 0;
- GNUTLS_CIPHER_LOOP(if
- (p->id == GNUTLS_CIPHER_NULL
- || _gnutls_cipher_exists(p->id))
- supported_ciphers[i++] = p->id;) ;
+ GNUTLS_CIPHER_LOOP(if (p->id == GNUTLS_CIPHER_NULL ||
+ _gnutls_cipher_exists(p->id))
+ supported_ciphers[i++] = p->id;);
supported_ciphers[i++] = 0;
}
diff --git a/lib/algorithms/ciphersuites.c b/lib/algorithms/ciphersuites.c
index 7df945bf83..8e702ce6d9 100644
--- a/lib/algorithms/ciphersuites.c
+++ b/lib/algorithms/ciphersuites.c
@@ -33,1097 +33,1535 @@
#include <ext/safe_renegotiation.h>
#ifndef ENABLE_SSL3
-# define GNUTLS_SSL3 GNUTLS_TLS1
+#define GNUTLS_SSL3 GNUTLS_TLS1
#endif
/* Cipher SUITES */
-#define ENTRY( name, canonical_name, block_algorithm, kx_algorithm, mac_algorithm, min_version, dtls_version ) \
- { #name, name, canonical_name, block_algorithm, kx_algorithm, mac_algorithm, min_version, GNUTLS_TLS1_2, dtls_version, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA256}
-#define ENTRY_PRF( name, canonical_name, block_algorithm, kx_algorithm, mac_algorithm, min_version, dtls_version, prf ) \
- { #name, name, canonical_name, block_algorithm, kx_algorithm, mac_algorithm, min_version, GNUTLS_TLS1_2, dtls_version, GNUTLS_DTLS1_2, prf}
-#define ENTRY_TLS13( name, canonical_name, block_algorithm, min_version, prf ) \
- { #name, name, canonical_name, block_algorithm, 0, GNUTLS_MAC_AEAD, min_version, GNUTLS_TLS1_3, GNUTLS_VERSION_UNKNOWN, GNUTLS_VERSION_UNKNOWN, prf}
+#define ENTRY(name, canonical_name, block_algorithm, kx_algorithm, \
+ mac_algorithm, min_version, dtls_version) \
+ { \
+#name, name, canonical_name, block_algorithm, kx_algorithm, \
+ mac_algorithm, min_version, GNUTLS_TLS1_2, \
+ dtls_version, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA256 \
+ }
+#define ENTRY_PRF(name, canonical_name, block_algorithm, kx_algorithm, \
+ mac_algorithm, min_version, dtls_version, prf) \
+ { \
+#name, name, canonical_name, block_algorithm, kx_algorithm, \
+ mac_algorithm, min_version, GNUTLS_TLS1_2, \
+ dtls_version, GNUTLS_DTLS1_2, prf \
+ }
+#define ENTRY_TLS13(name, canonical_name, block_algorithm, min_version, prf) \
+ { \
+#name, name, canonical_name, block_algorithm, 0, \
+ GNUTLS_MAC_AEAD, min_version, GNUTLS_TLS1_3, \
+ GNUTLS_VERSION_UNKNOWN, GNUTLS_VERSION_UNKNOWN, prf \
+ }
/* TLS 1.3 ciphersuites */
-#define GNUTLS_AES_128_GCM_SHA256 { 0x13, 0x01 }
-#define GNUTLS_AES_256_GCM_SHA384 { 0x13, 0x02 }
-#define GNUTLS_CHACHA20_POLY1305_SHA256 { 0x13, 0x03 }
-#define GNUTLS_AES_128_CCM_SHA256 { 0x13, 0x04 }
-#define GNUTLS_AES_128_CCM_8_SHA256 { 0x13,0x05 }
+#define GNUTLS_AES_128_GCM_SHA256 \
+ { \
+ 0x13, 0x01 \
+ }
+#define GNUTLS_AES_256_GCM_SHA384 \
+ { \
+ 0x13, 0x02 \
+ }
+#define GNUTLS_CHACHA20_POLY1305_SHA256 \
+ { \
+ 0x13, 0x03 \
+ }
+#define GNUTLS_AES_128_CCM_SHA256 \
+ { \
+ 0x13, 0x04 \
+ }
+#define GNUTLS_AES_128_CCM_8_SHA256 \
+ { \
+ 0x13, 0x05 \
+ }
/* RSA with NULL cipher and MD5 MAC
* for test purposes.
*/
-#define GNUTLS_RSA_NULL_MD5 { 0x00, 0x01 }
-#define GNUTLS_RSA_NULL_SHA1 { 0x00, 0x02 }
-#define GNUTLS_RSA_NULL_SHA256 { 0x00, 0x3B }
+#define GNUTLS_RSA_NULL_MD5 \
+ { \
+ 0x00, 0x01 \
+ }
+#define GNUTLS_RSA_NULL_SHA1 \
+ { \
+ 0x00, 0x02 \
+ }
+#define GNUTLS_RSA_NULL_SHA256 \
+ { \
+ 0x00, 0x3B \
+ }
/* ANONymous cipher suites.
*/
-#define GNUTLS_DH_ANON_3DES_EDE_CBC_SHA1 { 0x00, 0x1B }
-#define GNUTLS_DH_ANON_ARCFOUR_128_MD5 { 0x00, 0x18 }
+#define GNUTLS_DH_ANON_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x1B \
+ }
+#define GNUTLS_DH_ANON_ARCFOUR_128_MD5 \
+ { \
+ 0x00, 0x18 \
+ }
- /* rfc3268: */
-#define GNUTLS_DH_ANON_AES_128_CBC_SHA1 { 0x00, 0x34 }
-#define GNUTLS_DH_ANON_AES_256_CBC_SHA1 { 0x00, 0x3A }
+/* rfc3268: */
+#define GNUTLS_DH_ANON_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x34 \
+ }
+#define GNUTLS_DH_ANON_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x3A \
+ }
/* rfc4132 */
-#define GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA1 { 0x00,0x46 }
-#define GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA1 { 0x00,0x89 }
+#define GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA1 \
+ { \
+ 0x00, 0x46 \
+ }
+#define GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA1 \
+ { \
+ 0x00, 0x89 \
+ }
/* rfc5932 */
-#define GNUTLS_RSA_CAMELLIA_128_CBC_SHA256 { 0x00,0xBA }
-#define GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA256 { 0x00,0xBD }
-#define GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256 { 0x00,0xBE }
-#define GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA256 { 0x00,0xBF }
-#define GNUTLS_RSA_CAMELLIA_256_CBC_SHA256 { 0x00,0xC0 }
-#define GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA256 { 0x00,0xC3 }
-#define GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256 { 0x00,0xC4 }
-#define GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA256 { 0x00,0xC5 }
+#define GNUTLS_RSA_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0x00, 0xBA \
+ }
+#define GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0x00, 0xBD \
+ }
+#define GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0x00, 0xBE \
+ }
+#define GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0x00, 0xBF \
+ }
+#define GNUTLS_RSA_CAMELLIA_256_CBC_SHA256 \
+ { \
+ 0x00, 0xC0 \
+ }
+#define GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA256 \
+ { \
+ 0x00, 0xC3 \
+ }
+#define GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256 \
+ { \
+ 0x00, 0xC4 \
+ }
+#define GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA256 \
+ { \
+ 0x00, 0xC5 \
+ }
/* rfc6367 */
-#define GNUTLS_ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256 { 0xC0,0x72 }
-#define GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384 { 0xC0,0x73 }
-#define GNUTLS_ECDHE_RSA_CAMELLIA_128_CBC_SHA256 { 0xC0,0x76 }
-#define GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 { 0xC0,0x77 }
-#define GNUTLS_PSK_CAMELLIA_128_CBC_SHA256 { 0xC0,0x94 }
-#define GNUTLS_PSK_CAMELLIA_256_CBC_SHA384 { 0xC0,0x95 }
-#define GNUTLS_DHE_PSK_CAMELLIA_128_CBC_SHA256 { 0xC0,0x96 }
-#define GNUTLS_DHE_PSK_CAMELLIA_256_CBC_SHA384 { 0xC0,0x97 }
-#define GNUTLS_RSA_PSK_CAMELLIA_128_CBC_SHA256 { 0xC0,0x98 }
-#define GNUTLS_RSA_PSK_CAMELLIA_256_CBC_SHA384 { 0xC0,0x99 }
-#define GNUTLS_ECDHE_PSK_CAMELLIA_128_CBC_SHA256 { 0xC0,0x9A }
-#define GNUTLS_ECDHE_PSK_CAMELLIA_256_CBC_SHA384 { 0xC0,0x9B }
-
-#define GNUTLS_RSA_CAMELLIA_128_GCM_SHA256 { 0xC0, 0x7A }
-#define GNUTLS_RSA_CAMELLIA_256_GCM_SHA384 { 0xC0,0x7B }
-#define GNUTLS_DHE_RSA_CAMELLIA_128_GCM_SHA256 { 0xC0,0x7C }
-#define GNUTLS_DHE_RSA_CAMELLIA_256_GCM_SHA384 { 0xC0,0x7D }
-#define GNUTLS_DHE_DSS_CAMELLIA_128_GCM_SHA256 { 0xC0,0x80 }
-#define GNUTLS_DHE_DSS_CAMELLIA_256_GCM_SHA384 { 0xC0,0x81 }
-#define GNUTLS_DH_ANON_CAMELLIA_128_GCM_SHA256 { 0xC0,0x84 }
-#define GNUTLS_DH_ANON_CAMELLIA_256_GCM_SHA384 { 0xC0,0x85 }
-#define GNUTLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 { 0xC0,0x86 }
-#define GNUTLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 { 0xC0,0x87 }
-#define GNUTLS_ECDHE_RSA_CAMELLIA_128_GCM_SHA256 { 0xC0,0x8A }
-#define GNUTLS_ECDHE_RSA_CAMELLIA_256_GCM_SHA384 { 0xC0,0x8B }
-#define GNUTLS_PSK_CAMELLIA_128_GCM_SHA256 { 0xC0,0x8E }
-#define GNUTLS_PSK_CAMELLIA_256_GCM_SHA384 { 0xC0,0x8F }
-#define GNUTLS_DHE_PSK_CAMELLIA_128_GCM_SHA256 { 0xC0,0x90 }
-#define GNUTLS_DHE_PSK_CAMELLIA_256_GCM_SHA384 { 0xC0,0x91 }
-#define GNUTLS_RSA_PSK_CAMELLIA_128_GCM_SHA256 { 0xC0,0x92 }
-#define GNUTLS_RSA_PSK_CAMELLIA_256_GCM_SHA384 { 0xC0,0x93 }
-
-#define GNUTLS_DH_ANON_AES_128_CBC_SHA256 { 0x00, 0x6C }
-#define GNUTLS_DH_ANON_AES_256_CBC_SHA256 { 0x00, 0x6D }
+#define GNUTLS_ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x72 \
+ }
+#define GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x73 \
+ }
+#define GNUTLS_ECDHE_RSA_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x76 \
+ }
+#define GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x77 \
+ }
+#define GNUTLS_PSK_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x94 \
+ }
+#define GNUTLS_PSK_CAMELLIA_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x95 \
+ }
+#define GNUTLS_DHE_PSK_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x96 \
+ }
+#define GNUTLS_DHE_PSK_CAMELLIA_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x97 \
+ }
+#define GNUTLS_RSA_PSK_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x98 \
+ }
+#define GNUTLS_RSA_PSK_CAMELLIA_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x99 \
+ }
+#define GNUTLS_ECDHE_PSK_CAMELLIA_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x9A \
+ }
+#define GNUTLS_ECDHE_PSK_CAMELLIA_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x9B \
+ }
+
+#define GNUTLS_RSA_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x7A \
+ }
+#define GNUTLS_RSA_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x7B \
+ }
+#define GNUTLS_DHE_RSA_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x7C \
+ }
+#define GNUTLS_DHE_RSA_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x7D \
+ }
+#define GNUTLS_DHE_DSS_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x80 \
+ }
+#define GNUTLS_DHE_DSS_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x81 \
+ }
+#define GNUTLS_DH_ANON_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x84 \
+ }
+#define GNUTLS_DH_ANON_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x85 \
+ }
+#define GNUTLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x86 \
+ }
+#define GNUTLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x87 \
+ }
+#define GNUTLS_ECDHE_RSA_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x8A \
+ }
+#define GNUTLS_ECDHE_RSA_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x8B \
+ }
+#define GNUTLS_PSK_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x8E \
+ }
+#define GNUTLS_PSK_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x8F \
+ }
+#define GNUTLS_DHE_PSK_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x90 \
+ }
+#define GNUTLS_DHE_PSK_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x91 \
+ }
+#define GNUTLS_RSA_PSK_CAMELLIA_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x92 \
+ }
+#define GNUTLS_RSA_PSK_CAMELLIA_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x93 \
+ }
+
+#define GNUTLS_DH_ANON_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0x6C \
+ }
+#define GNUTLS_DH_ANON_AES_256_CBC_SHA256 \
+ { \
+ 0x00, 0x6D \
+ }
/* draft-ietf-tls-chacha20-poly1305-02 */
-#define GNUTLS_ECDHE_RSA_CHACHA20_POLY1305 { 0xCC, 0xA8 }
-#define GNUTLS_ECDHE_ECDSA_CHACHA20_POLY1305 { 0xCC, 0xA9 }
-#define GNUTLS_DHE_RSA_CHACHA20_POLY1305 { 0xCC, 0xAA }
+#define GNUTLS_ECDHE_RSA_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xA8 \
+ }
+#define GNUTLS_ECDHE_ECDSA_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xA9 \
+ }
+#define GNUTLS_DHE_RSA_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xAA \
+ }
-#define GNUTLS_PSK_CHACHA20_POLY1305 { 0xCC, 0xAB }
-#define GNUTLS_ECDHE_PSK_CHACHA20_POLY1305 { 0xCC, 0xAC }
-#define GNUTLS_DHE_PSK_CHACHA20_POLY1305 { 0xCC, 0xAD }
-#define GNUTLS_RSA_PSK_CHACHA20_POLY1305 { 0xCC, 0xAE }
+#define GNUTLS_PSK_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xAB \
+ }
+#define GNUTLS_ECDHE_PSK_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xAC \
+ }
+#define GNUTLS_DHE_PSK_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xAD \
+ }
+#define GNUTLS_RSA_PSK_CHACHA20_POLY1305 \
+ { \
+ 0xCC, 0xAE \
+ }
/* PSK (not in TLS 1.0)
* draft-ietf-tls-psk:
*/
-#define GNUTLS_PSK_ARCFOUR_128_SHA1 { 0x00, 0x8A }
-#define GNUTLS_PSK_3DES_EDE_CBC_SHA1 { 0x00, 0x8B }
-#define GNUTLS_PSK_AES_128_CBC_SHA1 { 0x00, 0x8C }
-#define GNUTLS_PSK_AES_256_CBC_SHA1 { 0x00, 0x8D }
+#define GNUTLS_PSK_ARCFOUR_128_SHA1 \
+ { \
+ 0x00, 0x8A \
+ }
+#define GNUTLS_PSK_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x8B \
+ }
+#define GNUTLS_PSK_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x8C \
+ }
+#define GNUTLS_PSK_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x8D \
+ }
-#define GNUTLS_DHE_PSK_ARCFOUR_128_SHA1 { 0x00, 0x8E }
-#define GNUTLS_DHE_PSK_3DES_EDE_CBC_SHA1 { 0x00, 0x8F }
-#define GNUTLS_DHE_PSK_AES_128_CBC_SHA1 { 0x00, 0x90 }
-#define GNUTLS_DHE_PSK_AES_256_CBC_SHA1 { 0x00, 0x91 }
+#define GNUTLS_DHE_PSK_ARCFOUR_128_SHA1 \
+ { \
+ 0x00, 0x8E \
+ }
+#define GNUTLS_DHE_PSK_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x8F \
+ }
+#define GNUTLS_DHE_PSK_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x90 \
+ }
+#define GNUTLS_DHE_PSK_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x91 \
+ }
-#define GNUTLS_RSA_PSK_ARCFOUR_128_SHA1 { 0x00, 0x92 }
-#define GNUTLS_RSA_PSK_3DES_EDE_CBC_SHA1 { 0x00, 0x93 }
-#define GNUTLS_RSA_PSK_AES_128_CBC_SHA1 { 0x00, 0x94 }
-#define GNUTLS_RSA_PSK_AES_256_CBC_SHA1 { 0x00, 0x95 }
+#define GNUTLS_RSA_PSK_ARCFOUR_128_SHA1 \
+ { \
+ 0x00, 0x92 \
+ }
+#define GNUTLS_RSA_PSK_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x93 \
+ }
+#define GNUTLS_RSA_PSK_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x94 \
+ }
+#define GNUTLS_RSA_PSK_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x95 \
+ }
#ifdef ENABLE_SRP
/* SRP (rfc5054)
*/
-# define GNUTLS_SRP_SHA_3DES_EDE_CBC_SHA1 { 0xC0, 0x1A }
-# define GNUTLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1 { 0xC0, 0x1B }
-# define GNUTLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1 { 0xC0, 0x1C }
+#define GNUTLS_SRP_SHA_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x1A \
+ }
+#define GNUTLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x1B \
+ }
+#define GNUTLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x1C \
+ }
-# define GNUTLS_SRP_SHA_AES_128_CBC_SHA1 { 0xC0, 0x1D }
-# define GNUTLS_SRP_SHA_RSA_AES_128_CBC_SHA1 { 0xC0, 0x1E }
-# define GNUTLS_SRP_SHA_DSS_AES_128_CBC_SHA1 { 0xC0, 0x1F }
+#define GNUTLS_SRP_SHA_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x1D \
+ }
+#define GNUTLS_SRP_SHA_RSA_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x1E \
+ }
+#define GNUTLS_SRP_SHA_DSS_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x1F \
+ }
-# define GNUTLS_SRP_SHA_AES_256_CBC_SHA1 { 0xC0, 0x20 }
-# define GNUTLS_SRP_SHA_RSA_AES_256_CBC_SHA1 { 0xC0, 0x21 }
-# define GNUTLS_SRP_SHA_DSS_AES_256_CBC_SHA1 { 0xC0, 0x22 }
+#define GNUTLS_SRP_SHA_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x20 \
+ }
+#define GNUTLS_SRP_SHA_RSA_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x21 \
+ }
+#define GNUTLS_SRP_SHA_DSS_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x22 \
+ }
#endif
/* RSA
*/
-#define GNUTLS_RSA_ARCFOUR_128_SHA1 { 0x00, 0x05 }
-#define GNUTLS_RSA_ARCFOUR_128_MD5 { 0x00, 0x04 }
-#define GNUTLS_RSA_3DES_EDE_CBC_SHA1 { 0x00, 0x0A }
+#define GNUTLS_RSA_ARCFOUR_128_SHA1 \
+ { \
+ 0x00, 0x05 \
+ }
+#define GNUTLS_RSA_ARCFOUR_128_MD5 \
+ { \
+ 0x00, 0x04 \
+ }
+#define GNUTLS_RSA_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x0A \
+ }
/* rfc3268:
*/
-#define GNUTLS_RSA_AES_128_CBC_SHA1 { 0x00, 0x2F }
-#define GNUTLS_RSA_AES_256_CBC_SHA1 { 0x00, 0x35 }
+#define GNUTLS_RSA_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x2F \
+ }
+#define GNUTLS_RSA_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x35 \
+ }
/* rfc4132 */
-#define GNUTLS_RSA_CAMELLIA_128_CBC_SHA1 { 0x00,0x41 }
-#define GNUTLS_RSA_CAMELLIA_256_CBC_SHA1 { 0x00,0x84 }
+#define GNUTLS_RSA_CAMELLIA_128_CBC_SHA1 \
+ { \
+ 0x00, 0x41 \
+ }
+#define GNUTLS_RSA_CAMELLIA_256_CBC_SHA1 \
+ { \
+ 0x00, 0x84 \
+ }
-#define GNUTLS_RSA_AES_128_CBC_SHA256 { 0x00, 0x3C }
-#define GNUTLS_RSA_AES_256_CBC_SHA256 { 0x00, 0x3D }
+#define GNUTLS_RSA_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0x3C \
+ }
+#define GNUTLS_RSA_AES_256_CBC_SHA256 \
+ { \
+ 0x00, 0x3D \
+ }
/* DHE DSS
*/
-#define GNUTLS_DHE_DSS_3DES_EDE_CBC_SHA1 { 0x00, 0x13 }
+#define GNUTLS_DHE_DSS_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x13 \
+ }
/* draft-ietf-tls-56-bit-ciphersuites-01:
*/
-#define GNUTLS_DHE_DSS_ARCFOUR_128_SHA1 { 0x00, 0x66 }
+#define GNUTLS_DHE_DSS_ARCFOUR_128_SHA1 \
+ { \
+ 0x00, 0x66 \
+ }
/* rfc3268:
*/
-#define GNUTLS_DHE_DSS_AES_256_CBC_SHA1 { 0x00, 0x38 }
-#define GNUTLS_DHE_DSS_AES_128_CBC_SHA1 { 0x00, 0x32 }
+#define GNUTLS_DHE_DSS_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x38 \
+ }
+#define GNUTLS_DHE_DSS_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x32 \
+ }
/* rfc4132 */
-#define GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA1 { 0x00,0x44 }
-#define GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA1 { 0x00,0x87 }
+#define GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA1 \
+ { \
+ 0x00, 0x44 \
+ }
+#define GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA1 \
+ { \
+ 0x00, 0x87 \
+ }
-#define GNUTLS_DHE_DSS_AES_128_CBC_SHA256 { 0x00, 0x40 }
-#define GNUTLS_DHE_DSS_AES_256_CBC_SHA256 { 0x00, 0x6A }
+#define GNUTLS_DHE_DSS_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0x40 \
+ }
+#define GNUTLS_DHE_DSS_AES_256_CBC_SHA256 \
+ { \
+ 0x00, 0x6A \
+ }
/* DHE RSA
*/
-#define GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1 { 0x00, 0x16 }
+#define GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1 \
+ { \
+ 0x00, 0x16 \
+ }
/* rfc3268:
*/
-#define GNUTLS_DHE_RSA_AES_128_CBC_SHA1 { 0x00, 0x33 }
-#define GNUTLS_DHE_RSA_AES_256_CBC_SHA1 { 0x00, 0x39 }
+#define GNUTLS_DHE_RSA_AES_128_CBC_SHA1 \
+ { \
+ 0x00, 0x33 \
+ }
+#define GNUTLS_DHE_RSA_AES_256_CBC_SHA1 \
+ { \
+ 0x00, 0x39 \
+ }
/* rfc4132 */
-#define GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 { 0x00,0x45 }
-#define GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 { 0x00,0x88 }
+#define GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 \
+ { \
+ 0x00, 0x45 \
+ }
+#define GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 \
+ { \
+ 0x00, 0x88 \
+ }
-#define GNUTLS_DHE_RSA_AES_128_CBC_SHA256 { 0x00, 0x67 }
-#define GNUTLS_DHE_RSA_AES_256_CBC_SHA256 { 0x00, 0x6B }
+#define GNUTLS_DHE_RSA_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0x67 \
+ }
+#define GNUTLS_DHE_RSA_AES_256_CBC_SHA256 \
+ { \
+ 0x00, 0x6B \
+ }
/* GCM: RFC5288 */
-#define GNUTLS_RSA_AES_128_GCM_SHA256 { 0x00, 0x9C }
-#define GNUTLS_DHE_RSA_AES_128_GCM_SHA256 {0x00,0x9E}
-#define GNUTLS_DHE_DSS_AES_128_GCM_SHA256 {0x00,0xA2}
-#define GNUTLS_DH_ANON_AES_128_GCM_SHA256 {0x00,0xA6}
-#define GNUTLS_RSA_AES_256_GCM_SHA384 { 0x00, 0x9D }
-#define GNUTLS_DHE_RSA_AES_256_GCM_SHA384 {0x00,0x9F}
-#define GNUTLS_DHE_DSS_AES_256_GCM_SHA384 {0x00,0xA3}
-#define GNUTLS_DH_ANON_AES_256_GCM_SHA384 {0x00,0xA7}
+#define GNUTLS_RSA_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0x9C \
+ }
+#define GNUTLS_DHE_RSA_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0x9E \
+ }
+#define GNUTLS_DHE_DSS_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0xA2 \
+ }
+#define GNUTLS_DH_ANON_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0xA6 \
+ }
+#define GNUTLS_RSA_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0x9D \
+ }
+#define GNUTLS_DHE_RSA_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0x9F \
+ }
+#define GNUTLS_DHE_DSS_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0xA3 \
+ }
+#define GNUTLS_DH_ANON_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0xA7 \
+ }
/* CCM: RFC6655/7251 */
-#define GNUTLS_RSA_AES_128_CCM { 0xC0, 0x9C }
-#define GNUTLS_RSA_AES_256_CCM { 0xC0, 0x9D }
-#define GNUTLS_DHE_RSA_AES_128_CCM {0xC0,0x9E}
-#define GNUTLS_DHE_RSA_AES_256_CCM {0xC0,0x9F}
+#define GNUTLS_RSA_AES_128_CCM \
+ { \
+ 0xC0, 0x9C \
+ }
+#define GNUTLS_RSA_AES_256_CCM \
+ { \
+ 0xC0, 0x9D \
+ }
+#define GNUTLS_DHE_RSA_AES_128_CCM \
+ { \
+ 0xC0, 0x9E \
+ }
+#define GNUTLS_DHE_RSA_AES_256_CCM \
+ { \
+ 0xC0, 0x9F \
+ }
-#define GNUTLS_ECDHE_ECDSA_AES_128_CCM {0xC0,0xAC}
-#define GNUTLS_ECDHE_ECDSA_AES_256_CCM {0xC0,0xAD}
+#define GNUTLS_ECDHE_ECDSA_AES_128_CCM \
+ { \
+ 0xC0, 0xAC \
+ }
+#define GNUTLS_ECDHE_ECDSA_AES_256_CCM \
+ { \
+ 0xC0, 0xAD \
+ }
-#define GNUTLS_PSK_AES_128_CCM { 0xC0, 0xA4 }
-#define GNUTLS_PSK_AES_256_CCM { 0xC0, 0xA5 }
-#define GNUTLS_DHE_PSK_AES_128_CCM {0xC0,0xA6}
-#define GNUTLS_DHE_PSK_AES_256_CCM {0xC0,0xA7}
+#define GNUTLS_PSK_AES_128_CCM \
+ { \
+ 0xC0, 0xA4 \
+ }
+#define GNUTLS_PSK_AES_256_CCM \
+ { \
+ 0xC0, 0xA5 \
+ }
+#define GNUTLS_DHE_PSK_AES_128_CCM \
+ { \
+ 0xC0, 0xA6 \
+ }
+#define GNUTLS_DHE_PSK_AES_256_CCM \
+ { \
+ 0xC0, 0xA7 \
+ }
/* CCM-8: RFC6655/7251 */
-#define GNUTLS_RSA_AES_128_CCM_8 { 0xC0, 0xA0 }
-#define GNUTLS_RSA_AES_256_CCM_8 { 0xC0, 0xA1 }
-#define GNUTLS_DHE_RSA_AES_128_CCM_8 {0xC0,0xA2}
-#define GNUTLS_DHE_RSA_AES_256_CCM_8 {0xC0,0xA3}
+#define GNUTLS_RSA_AES_128_CCM_8 \
+ { \
+ 0xC0, 0xA0 \
+ }
+#define GNUTLS_RSA_AES_256_CCM_8 \
+ { \
+ 0xC0, 0xA1 \
+ }
+#define GNUTLS_DHE_RSA_AES_128_CCM_8 \
+ { \
+ 0xC0, 0xA2 \
+ }
+#define GNUTLS_DHE_RSA_AES_256_CCM_8 \
+ { \
+ 0xC0, 0xA3 \
+ }
-#define GNUTLS_ECDHE_ECDSA_AES_128_CCM_8 {0xC0,0xAE}
-#define GNUTLS_ECDHE_ECDSA_AES_256_CCM_8 {0xC0,0xAF}
+#define GNUTLS_ECDHE_ECDSA_AES_128_CCM_8 \
+ { \
+ 0xC0, 0xAE \
+ }
+#define GNUTLS_ECDHE_ECDSA_AES_256_CCM_8 \
+ { \
+ 0xC0, 0xAF \
+ }
-#define GNUTLS_PSK_AES_128_CCM_8 { 0xC0, 0xA8 }
-#define GNUTLS_PSK_AES_256_CCM_8 { 0xC0, 0xA9 }
-#define GNUTLS_DHE_PSK_AES_128_CCM_8 {0xC0,0xAA}
-#define GNUTLS_DHE_PSK_AES_256_CCM_8 {0xC0,0xAB}
+#define GNUTLS_PSK_AES_128_CCM_8 \
+ { \
+ 0xC0, 0xA8 \
+ }
+#define GNUTLS_PSK_AES_256_CCM_8 \
+ { \
+ 0xC0, 0xA9 \
+ }
+#define GNUTLS_DHE_PSK_AES_128_CCM_8 \
+ { \
+ 0xC0, 0xAA \
+ }
+#define GNUTLS_DHE_PSK_AES_256_CCM_8 \
+ { \
+ 0xC0, 0xAB \
+ }
/* RFC 5487 */
/* GCM-PSK */
-#define GNUTLS_PSK_AES_128_GCM_SHA256 { 0x00, 0xA8 }
-#define GNUTLS_DHE_PSK_AES_128_GCM_SHA256 { 0x00, 0xAA }
-#define GNUTLS_PSK_AES_256_GCM_SHA384 { 0x00, 0xA9 }
-#define GNUTLS_DHE_PSK_AES_256_GCM_SHA384 { 0x00, 0xAB }
-
-#define GNUTLS_PSK_AES_256_CBC_SHA384 { 0x00,0xAF }
-#define GNUTLS_PSK_NULL_SHA384 { 0x00,0xB1 }
-#define GNUTLS_DHE_PSK_AES_256_CBC_SHA384 { 0x00,0xB3 }
-#define GNUTLS_DHE_PSK_NULL_SHA384 { 0x00,0xB5 }
-
-#define GNUTLS_PSK_NULL_SHA1 { 0x00,0x2C }
-#define GNUTLS_DHE_PSK_NULL_SHA1 { 0x00,0x2D }
-#define GNUTLS_RSA_PSK_NULL_SHA1 { 0x00,0x2E }
-#define GNUTLS_ECDHE_PSK_NULL_SHA1 { 0xC0,0x39 }
-
-#define GNUTLS_RSA_PSK_AES_128_GCM_SHA256 { 0x00,0xAC }
-#define GNUTLS_RSA_PSK_AES_256_GCM_SHA384 { 0x00,0xAD }
-#define GNUTLS_RSA_PSK_AES_128_CBC_SHA256 { 0x00,0xB6 }
-#define GNUTLS_RSA_PSK_AES_256_CBC_SHA384 { 0x00,0xB7 }
-#define GNUTLS_RSA_PSK_NULL_SHA256 { 0x00,0xB8 }
-#define GNUTLS_RSA_PSK_NULL_SHA384 { 0x00,0xB9 }
+#define GNUTLS_PSK_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0xA8 \
+ }
+#define GNUTLS_DHE_PSK_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0xAA \
+ }
+#define GNUTLS_PSK_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0xA9 \
+ }
+#define GNUTLS_DHE_PSK_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0xAB \
+ }
+
+#define GNUTLS_PSK_AES_256_CBC_SHA384 \
+ { \
+ 0x00, 0xAF \
+ }
+#define GNUTLS_PSK_NULL_SHA384 \
+ { \
+ 0x00, 0xB1 \
+ }
+#define GNUTLS_DHE_PSK_AES_256_CBC_SHA384 \
+ { \
+ 0x00, 0xB3 \
+ }
+#define GNUTLS_DHE_PSK_NULL_SHA384 \
+ { \
+ 0x00, 0xB5 \
+ }
+
+#define GNUTLS_PSK_NULL_SHA1 \
+ { \
+ 0x00, 0x2C \
+ }
+#define GNUTLS_DHE_PSK_NULL_SHA1 \
+ { \
+ 0x00, 0x2D \
+ }
+#define GNUTLS_RSA_PSK_NULL_SHA1 \
+ { \
+ 0x00, 0x2E \
+ }
+#define GNUTLS_ECDHE_PSK_NULL_SHA1 \
+ { \
+ 0xC0, 0x39 \
+ }
+
+#define GNUTLS_RSA_PSK_AES_128_GCM_SHA256 \
+ { \
+ 0x00, 0xAC \
+ }
+#define GNUTLS_RSA_PSK_AES_256_GCM_SHA384 \
+ { \
+ 0x00, 0xAD \
+ }
+#define GNUTLS_RSA_PSK_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0xB6 \
+ }
+#define GNUTLS_RSA_PSK_AES_256_CBC_SHA384 \
+ { \
+ 0x00, 0xB7 \
+ }
+#define GNUTLS_RSA_PSK_NULL_SHA256 \
+ { \
+ 0x00, 0xB8 \
+ }
+#define GNUTLS_RSA_PSK_NULL_SHA384 \
+ { \
+ 0x00, 0xB9 \
+ }
/* PSK - SHA256 HMAC */
-#define GNUTLS_PSK_AES_128_CBC_SHA256 { 0x00, 0xAE }
-#define GNUTLS_DHE_PSK_AES_128_CBC_SHA256 { 0x00, 0xB2 }
+#define GNUTLS_PSK_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0xAE \
+ }
+#define GNUTLS_DHE_PSK_AES_128_CBC_SHA256 \
+ { \
+ 0x00, 0xB2 \
+ }
-#define GNUTLS_PSK_NULL_SHA256 { 0x00, 0xB0 }
-#define GNUTLS_DHE_PSK_NULL_SHA256 { 0x00, 0xB4 }
+#define GNUTLS_PSK_NULL_SHA256 \
+ { \
+ 0x00, 0xB0 \
+ }
+#define GNUTLS_DHE_PSK_NULL_SHA256 \
+ { \
+ 0x00, 0xB4 \
+ }
/* ECC */
-#define GNUTLS_ECDH_ANON_NULL_SHA1 { 0xC0, 0x15 }
-#define GNUTLS_ECDH_ANON_3DES_EDE_CBC_SHA1 { 0xC0, 0x17 }
-#define GNUTLS_ECDH_ANON_AES_128_CBC_SHA1 { 0xC0, 0x18 }
-#define GNUTLS_ECDH_ANON_AES_256_CBC_SHA1 { 0xC0, 0x19 }
-#define GNUTLS_ECDH_ANON_ARCFOUR_128_SHA1 { 0xC0, 0x16 }
+#define GNUTLS_ECDH_ANON_NULL_SHA1 \
+ { \
+ 0xC0, 0x15 \
+ }
+#define GNUTLS_ECDH_ANON_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x17 \
+ }
+#define GNUTLS_ECDH_ANON_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x18 \
+ }
+#define GNUTLS_ECDH_ANON_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x19 \
+ }
+#define GNUTLS_ECDH_ANON_ARCFOUR_128_SHA1 \
+ { \
+ 0xC0, 0x16 \
+ }
/* ECC-RSA */
-#define GNUTLS_ECDHE_RSA_NULL_SHA1 { 0xC0, 0x10 }
-#define GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 { 0xC0, 0x12 }
-#define GNUTLS_ECDHE_RSA_AES_128_CBC_SHA1 { 0xC0, 0x13 }
-#define GNUTLS_ECDHE_RSA_AES_256_CBC_SHA1 { 0xC0, 0x14 }
-#define GNUTLS_ECDHE_RSA_ARCFOUR_128_SHA1 { 0xC0, 0x11 }
+#define GNUTLS_ECDHE_RSA_NULL_SHA1 \
+ { \
+ 0xC0, 0x10 \
+ }
+#define GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x12 \
+ }
+#define GNUTLS_ECDHE_RSA_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x13 \
+ }
+#define GNUTLS_ECDHE_RSA_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x14 \
+ }
+#define GNUTLS_ECDHE_RSA_ARCFOUR_128_SHA1 \
+ { \
+ 0xC0, 0x11 \
+ }
/* ECC-ECDSA */
-#define GNUTLS_ECDHE_ECDSA_NULL_SHA1 { 0xC0, 0x06 }
-#define GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 { 0xC0, 0x08 }
-#define GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA1 { 0xC0, 0x09 }
-#define GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA1 { 0xC0, 0x0A }
-#define GNUTLS_ECDHE_ECDSA_ARCFOUR_128_SHA1 { 0xC0, 0x07 }
+#define GNUTLS_ECDHE_ECDSA_NULL_SHA1 \
+ { \
+ 0xC0, 0x06 \
+ }
+#define GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x08 \
+ }
+#define GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x09 \
+ }
+#define GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x0A \
+ }
+#define GNUTLS_ECDHE_ECDSA_ARCFOUR_128_SHA1 \
+ { \
+ 0xC0, 0x07 \
+ }
/* RFC5289 */
/* ECC with SHA2 */
-#define GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256 {0xC0,0x23}
-#define GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256 {0xC0,0x27}
-#define GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384 { 0xC0,0x28 }
+#define GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x23 \
+ }
+#define GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x27 \
+ }
+#define GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x28 \
+ }
/* ECC with AES-GCM */
-#define GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256 {0xC0,0x2B}
-#define GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256 {0xC0,0x2F}
-#define GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384 {0xC0,0x30}
+#define GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x2B \
+ }
+#define GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256 \
+ { \
+ 0xC0, 0x2F \
+ }
+#define GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x30 \
+ }
/* SuiteB */
-#define GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384 {0xC0,0x2C}
-#define GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384 {0xC0,0x24}
+#define GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384 \
+ { \
+ 0xC0, 0x2C \
+ }
+#define GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x24 \
+ }
/* ECC with PSK */
-#define GNUTLS_ECDHE_PSK_3DES_EDE_CBC_SHA1 { 0xC0, 0x34 }
-#define GNUTLS_ECDHE_PSK_AES_128_CBC_SHA1 { 0xC0, 0x35 }
-#define GNUTLS_ECDHE_PSK_AES_256_CBC_SHA1 { 0xC0, 0x36 }
-#define GNUTLS_ECDHE_PSK_AES_128_CBC_SHA256 { 0xC0, 0x37 }
-#define GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384 { 0xC0, 0x38 }
-#define GNUTLS_ECDHE_PSK_ARCFOUR_128_SHA1 { 0xC0, 0x33 }
-#define GNUTLS_ECDHE_PSK_NULL_SHA256 { 0xC0, 0x3A }
-#define GNUTLS_ECDHE_PSK_NULL_SHA384 { 0xC0, 0x3B }
+#define GNUTLS_ECDHE_PSK_3DES_EDE_CBC_SHA1 \
+ { \
+ 0xC0, 0x34 \
+ }
+#define GNUTLS_ECDHE_PSK_AES_128_CBC_SHA1 \
+ { \
+ 0xC0, 0x35 \
+ }
+#define GNUTLS_ECDHE_PSK_AES_256_CBC_SHA1 \
+ { \
+ 0xC0, 0x36 \
+ }
+#define GNUTLS_ECDHE_PSK_AES_128_CBC_SHA256 \
+ { \
+ 0xC0, 0x37 \
+ }
+#define GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384 \
+ { \
+ 0xC0, 0x38 \
+ }
+#define GNUTLS_ECDHE_PSK_ARCFOUR_128_SHA1 \
+ { \
+ 0xC0, 0x33 \
+ }
+#define GNUTLS_ECDHE_PSK_NULL_SHA256 \
+ { \
+ 0xC0, 0x3A \
+ }
+#define GNUTLS_ECDHE_PSK_NULL_SHA384 \
+ { \
+ 0xC0, 0x3B \
+ }
/* draft-smyshlyaev-tls12-gost-suites */
#ifdef ENABLE_GOST
-# define GNUTLS_GOSTR341112_256_28147_CNT_IMIT { 0xc1, 0x02 }
+#define GNUTLS_GOSTR341112_256_28147_CNT_IMIT \
+ { \
+ 0xc1, 0x02 \
+ }
#endif
-#define CIPHER_SUITES_COUNT (sizeof(cs_algorithms)/sizeof(gnutls_cipher_suite_entry_st)-1)
+#define CIPHER_SUITES_COUNT \
+ (sizeof(cs_algorithms) / sizeof(gnutls_cipher_suite_entry_st) - 1)
/* The following is a potential list of ciphersuites. For the options to be
* available, the ciphers and MACs must be available to gnutls as well.
*/
static const gnutls_cipher_suite_entry_st cs_algorithms[] = {
-/* TLS 1.3 */
+ /* TLS 1.3 */
ENTRY_TLS13(GNUTLS_AES_128_GCM_SHA256, "TLS_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_TLS1_3,
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_TLS1_3,
GNUTLS_MAC_SHA256),
ENTRY_TLS13(GNUTLS_AES_256_GCM_SHA384, "TLS_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_TLS1_3,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_TLS1_3,
GNUTLS_MAC_SHA384),
ENTRY_TLS13(GNUTLS_CHACHA20_POLY1305_SHA256,
"TLS_CHACHA20_POLY1305_SHA256",
- GNUTLS_CIPHER_CHACHA20_POLY1305,
- GNUTLS_TLS1_3,
+ GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_TLS1_3,
GNUTLS_MAC_SHA256),
ENTRY_TLS13(GNUTLS_AES_128_CCM_SHA256, "TLS_AES_128_CCM_SHA256",
- GNUTLS_CIPHER_AES_128_CCM,
- GNUTLS_TLS1_3,
+ GNUTLS_CIPHER_AES_128_CCM, GNUTLS_TLS1_3,
GNUTLS_MAC_SHA256),
ENTRY_TLS13(GNUTLS_AES_128_CCM_8_SHA256, "TLS_AES_128_CCM_8_SHA256",
- GNUTLS_CIPHER_AES_128_CCM_8,
- GNUTLS_TLS1_3,
+ GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_TLS1_3,
GNUTLS_MAC_SHA256),
/* RSA-NULL */
- ENTRY(GNUTLS_RSA_NULL_MD5, "TLS_RSA_WITH_NULL_MD5",
- GNUTLS_CIPHER_NULL,
+ ENTRY(GNUTLS_RSA_NULL_MD5, "TLS_RSA_WITH_NULL_MD5", GNUTLS_CIPHER_NULL,
GNUTLS_KX_RSA, GNUTLS_MAC_MD5, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
- ENTRY(GNUTLS_RSA_NULL_SHA1, "TLS_RSA_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL,
+ ENTRY(GNUTLS_RSA_NULL_SHA1, "TLS_RSA_WITH_NULL_SHA", GNUTLS_CIPHER_NULL,
GNUTLS_KX_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_NULL_SHA256, "TLS_RSA_WITH_NULL_SHA256",
- GNUTLS_CIPHER_NULL,
- GNUTLS_KX_RSA, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
/* RSA */
ENTRY(GNUTLS_RSA_ARCFOUR_128_SHA1, "TLS_RSA_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR_128,
- GNUTLS_KX_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_VERSION_UNKNOWN),
+ GNUTLS_CIPHER_ARCFOUR_128, GNUTLS_KX_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_RSA_ARCFOUR_128_MD5, "TLS_RSA_WITH_RC4_128_MD5",
- GNUTLS_CIPHER_ARCFOUR_128,
- GNUTLS_KX_RSA, GNUTLS_MAC_MD5, GNUTLS_SSL3,
- GNUTLS_VERSION_UNKNOWN),
+ GNUTLS_CIPHER_ARCFOUR_128, GNUTLS_KX_RSA, GNUTLS_MAC_MD5,
+ GNUTLS_SSL3, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_RSA_3DES_EDE_CBC_SHA1, "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC,
- GNUTLS_KX_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_AES_128_CBC_SHA1, "TLS_RSA_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_AES_256_CBC_SHA1, "TLS_RSA_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_CAMELLIA_128_CBC_SHA256,
"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_CAMELLIA_256_CBC_SHA256,
"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_CAMELLIA_128_CBC_SHA1,
"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_CAMELLIA_256_CBC_SHA1,
"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_AES_128_CBC_SHA256, "TLS_RSA_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_AES_256_CBC_SHA256, "TLS_RSA_WITH_AES_256_CBC_SHA256",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
-/* GCM */
+ /* GCM */
ENTRY(GNUTLS_RSA_AES_128_GCM_SHA256, "TLS_RSA_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_RSA_AES_256_GCM_SHA384,
- "TLS_RSA_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ "TLS_RSA_WITH_AES_256_GCM_SHA384", GNUTLS_CIPHER_AES_256_GCM,
+ GNUTLS_KX_RSA, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_RSA_CAMELLIA_128_GCM_SHA256,
"TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_RSA_CAMELLIA_256_GCM_SHA384,
"TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
-/* CCM */
+ /* CCM */
ENTRY(GNUTLS_RSA_AES_128_CCM, "TLS_RSA_WITH_AES_128_CCM",
- GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_AES_256_CCM, "TLS_RSA_WITH_AES_256_CCM",
- GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
-/* CCM_8 */
+ /* CCM_8 */
ENTRY(GNUTLS_RSA_AES_128_CCM_8, "TLS_RSA_WITH_AES_128_CCM_8",
- GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_AES_256_CCM_8, "TLS_RSA_WITH_AES_256_CCM_8",
- GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
- /* DHE_DSS */
+/* DHE_DSS */
#ifdef ENABLE_DHE
ENTRY(GNUTLS_DHE_DSS_ARCFOUR_128_SHA1, "TLS_DHE_DSS_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR_128, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_VERSION_UNKNOWN),
+ GNUTLS_CIPHER_ARCFOUR_128, GNUTLS_KX_DHE_DSS, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_DHE_DSS_3DES_EDE_CBC_SHA1,
- "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_DHE_DSS, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_DSS_AES_128_CBC_SHA1,
- "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_DHE_DSS, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_DSS_AES_256_CBC_SHA1,
- "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_DHE_DSS, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA256,
"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_CBC,
- GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_DHE_DSS,
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA256,
"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_256_CBC,
- GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_DHE_DSS,
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA1,
"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_128_CBC,
- GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_DHE_DSS,
+ GNUTLS_MAC_SHA1, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA1,
"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_256_CBC,
- GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_DHE_DSS,
+ GNUTLS_MAC_SHA1, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_DSS_AES_128_CBC_SHA256,
- "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_DHE_DSS, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_DSS_AES_256_CBC_SHA256,
- "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_DHE_DSS, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
-/* GCM */
+ /* GCM */
ENTRY(GNUTLS_DHE_DSS_AES_128_GCM_SHA256,
- "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256", GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_KX_DHE_DSS, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_DSS_AES_256_GCM_SHA384,
"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_DSS, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_DHE_DSS_CAMELLIA_128_GCM_SHA256,
"TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_DSS_CAMELLIA_256_GCM_SHA384,
"TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_DHE_DSS,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
/* DHE_RSA */
ENTRY(GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1,
- "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_DHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_RSA_AES_128_CBC_SHA1,
- "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_DHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_RSA_AES_256_CBC_SHA1,
- "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_DHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256,
"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_CBC,
- GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_DHE_RSA,
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256,
"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_256_CBC,
- GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_DHE_RSA,
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1,
"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_128_CBC,
- GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_DHE_RSA,
+ GNUTLS_MAC_SHA1, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1,
"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_256_CBC,
- GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_DHE_RSA,
+ GNUTLS_MAC_SHA1, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_RSA_AES_128_CBC_SHA256,
- "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_DHE_RSA, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_RSA_AES_256_CBC_SHA256,
- "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_DHE_RSA, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
-/* GCM */
+ /* GCM */
ENTRY(GNUTLS_DHE_RSA_AES_128_GCM_SHA256,
- "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_KX_DHE_RSA, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_RSA_AES_256_GCM_SHA384,
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_DHE_RSA_CAMELLIA_128_GCM_SHA256,
"TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_RSA_CAMELLIA_256_GCM_SHA384,
"TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_DHE_RSA_CHACHA20_POLY1305,
"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_KX_DHE_RSA,
GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
-/* CCM */
+ /* CCM */
ENTRY(GNUTLS_DHE_RSA_AES_128_CCM, "TLS_DHE_RSA_WITH_AES_128_CCM",
- GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_DHE_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_RSA_AES_256_CCM, "TLS_DHE_RSA_WITH_AES_256_CCM",
- GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_DHE_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_RSA_AES_128_CCM_8, "TLS_DHE_RSA_WITH_AES_128_CCM_8",
- GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_DHE_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_RSA_AES_256_CCM_8, "TLS_DHE_RSA_WITH_AES_256_CCM_8",
- GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_DHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_DHE_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
-#endif /* DHE */
+#endif /* DHE */
#ifdef ENABLE_ECDHE
-/* ECC-RSA */
+ /* ECC-RSA */
ENTRY(GNUTLS_ECDHE_RSA_NULL_SHA1, "TLS_ECDHE_RSA_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA1,
- "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_RSA_AES_128_CBC_SHA1,
- "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_RSA_AES_256_CBC_SHA1,
- "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY_PRF(GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384,
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_RSA_ARCFOUR_128_SHA1,
- "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_RSA_WITH_RC4_128_SHA", GNUTLS_CIPHER_ARCFOUR,
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_ECDHE_RSA_CAMELLIA_128_CBC_SHA256,
"TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384,
"TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
/* ECDHE-ECDSA */
ENTRY(GNUTLS_ECDHE_ECDSA_NULL_SHA1, "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1,
- "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA1,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA1,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_ECDSA_ARCFOUR_128_SHA1,
- "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", GNUTLS_CIPHER_ARCFOUR,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256,
"TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384,
"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
/* More ECC */
ENTRY(GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256,
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256,
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256,
"TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384,
"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256,
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384,
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256,
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ECDHE_RSA, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384,
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384,
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_RSA_CAMELLIA_128_GCM_SHA256,
"TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_RSA_CAMELLIA_256_GCM_SHA384,
"TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_RSA_CHACHA20_POLY1305,
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_KX_ECDHE_RSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_ECDSA_CHACHA20_POLY1305,
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_128_CCM,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CCM",
- GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CCM", GNUTLS_CIPHER_AES_128_CCM,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_256_CCM,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CCM",
- GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CCM", GNUTLS_CIPHER_AES_256_CCM,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_128_CCM_8,
- "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
- GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8", GNUTLS_CIPHER_AES_128_CCM_8,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_ECDHE_ECDSA_AES_256_CCM_8,
- "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8",
- GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8", GNUTLS_CIPHER_AES_256_CCM_8,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
#endif
#ifdef ENABLE_PSK
/* ECC - PSK */
ENTRY(GNUTLS_ECDHE_PSK_3DES_EDE_CBC_SHA1,
- "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_PSK_AES_128_CBC_SHA1,
- "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_PSK_AES_256_CBC_SHA1,
- "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_PSK_AES_128_CBC_SHA256,
"TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384,
"TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384",
GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_PSK_ARCFOUR_128_SHA1,
- "TLS_ECDHE_PSK_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDHE_PSK_WITH_RC4_128_SHA", GNUTLS_CIPHER_ARCFOUR,
+ GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_ECDHE_PSK_NULL_SHA1, "TLS_ECDHE_PSK_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDHE_PSK_NULL_SHA256, "TLS_ECDHE_PSK_WITH_NULL_SHA256",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_PSK_NULL_SHA384,
- "TLS_ECDHE_PSK_WITH_NULL_SHA384",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1,
+ "TLS_ECDHE_PSK_WITH_NULL_SHA384", GNUTLS_CIPHER_NULL,
+ GNUTLS_KX_ECDHE_PSK, GNUTLS_MAC_SHA384, GNUTLS_TLS1,
GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_ECDHE_PSK_CAMELLIA_128_CBC_SHA256,
"TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_ECDHE_PSK_CAMELLIA_256_CBC_SHA384,
"TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_ECDHE_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
/* PSK */
ENTRY(GNUTLS_PSK_ARCFOUR_128_SHA1, "TLS_PSK_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_VERSION_UNKNOWN),
+ GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_PSK_3DES_EDE_CBC_SHA1, "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_PSK_AES_128_CBC_SHA1, "TLS_PSK_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_PSK_AES_256_CBC_SHA1, "TLS_PSK_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_PSK_AES_128_CBC_SHA256, "TLS_PSK_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_PSK_AES_256_GCM_SHA384,
- "TLS_PSK_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ "TLS_PSK_WITH_AES_256_GCM_SHA384", GNUTLS_CIPHER_AES_256_GCM,
+ GNUTLS_KX_PSK, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_PSK_CAMELLIA_128_GCM_SHA256,
"TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_PSK_CAMELLIA_256_GCM_SHA384,
"TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_PSK_AES_128_GCM_SHA256, "TLS_PSK_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
- ENTRY(GNUTLS_PSK_NULL_SHA1, "TLS_PSK_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
+ ENTRY(GNUTLS_PSK_NULL_SHA1, "TLS_PSK_WITH_NULL_SHA", GNUTLS_CIPHER_NULL,
+ GNUTLS_KX_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_PSK_NULL_SHA256, "TLS_PSK_WITH_NULL_SHA256",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_PSK_CAMELLIA_128_CBC_SHA256,
"TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_PSK_CAMELLIA_256_CBC_SHA384,
"TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_PSK_AES_256_CBC_SHA384,
- "TLS_PSK_WITH_AES_256_CBC_SHA384",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
+ "TLS_PSK_WITH_AES_256_CBC_SHA384", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_PSK, GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_PSK_NULL_SHA384, "TLS_PSK_WITH_NULL_SHA384",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK, GNUTLS_MAC_SHA384,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
/* RSA-PSK */
ENTRY(GNUTLS_RSA_PSK_ARCFOUR_128_SHA1, "TLS_RSA_PSK_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_TLS1,
- GNUTLS_VERSION_UNKNOWN),
+ GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_TLS1, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_RSA_PSK_3DES_EDE_CBC_SHA1,
- "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_TLS1,
+ "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA1, GNUTLS_TLS1,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_PSK_AES_128_CBC_SHA1,
- "TLS_RSA_PSK_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_TLS1,
+ "TLS_RSA_PSK_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA1, GNUTLS_TLS1,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_PSK_AES_256_CBC_SHA1,
- "TLS_RSA_PSK_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_TLS1,
+ "TLS_RSA_PSK_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA1, GNUTLS_TLS1,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_PSK_CAMELLIA_128_GCM_SHA256,
"TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_RSA_PSK_CAMELLIA_256_GCM_SHA384,
"TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_RSA_PSK_AES_128_GCM_SHA256,
- "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256", GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_KX_RSA_PSK, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_PSK_AES_128_CBC_SHA256,
- "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_RSA_PSK_NULL_SHA1, "TLS_RSA_PSK_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_TLS1,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_TLS1, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_RSA_PSK_NULL_SHA256, "TLS_RSA_PSK_WITH_NULL_SHA256",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_RSA_PSK_AES_256_GCM_SHA384,
"TLS_RSA_PSK_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_RSA_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_RSA_PSK_AES_256_CBC_SHA384,
"TLS_RSA_PSK_WITH_AES_256_CBC_SHA384",
GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_RSA_PSK_NULL_SHA384, "TLS_RSA_PSK_WITH_NULL_SHA384",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_RSA_PSK, GNUTLS_MAC_SHA384,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_RSA_PSK_CAMELLIA_128_CBC_SHA256,
"TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_RSA_PSK_CAMELLIA_256_CBC_SHA384,
"TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
/* DHE-PSK */
ENTRY(GNUTLS_DHE_PSK_ARCFOUR_128_SHA1, "TLS_DHE_PSK_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_VERSION_UNKNOWN),
+ GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_DHE_PSK_3DES_EDE_CBC_SHA1,
- "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_PSK_AES_128_CBC_SHA1,
- "TLS_DHE_PSK_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_PSK_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_PSK_AES_256_CBC_SHA1,
- "TLS_DHE_PSK_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DHE_PSK_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_PSK_AES_128_CBC_SHA256,
- "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_AES_128_GCM_SHA256,
- "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256", GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_KX_DHE_PSK, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_NULL_SHA1, "TLS_DHE_PSK_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DHE_PSK_NULL_SHA256, "TLS_DHE_PSK_WITH_NULL_SHA256",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA256,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_PSK_NULL_SHA384, "TLS_DHE_PSK_WITH_NULL_SHA384",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_SHA384,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_DHE_PSK_AES_256_CBC_SHA384,
"TLS_DHE_PSK_WITH_AES_256_CBC_SHA384",
GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY_PRF(GNUTLS_DHE_PSK_AES_256_GCM_SHA384,
"TLS_DHE_PSK_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_DHE_PSK_CAMELLIA_128_CBC_SHA256,
"TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_PSK_CAMELLIA_256_CBC_SHA384,
"TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_SHA384, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_DHE_PSK_CAMELLIA_128_GCM_SHA256,
"TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DHE_PSK_CAMELLIA_256_GCM_SHA384,
"TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_PSK_AES_128_CCM, "TLS_PSK_WITH_AES_128_CCM",
- GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_PSK_AES_256_CCM, "TLS_PSK_WITH_AES_256_CCM",
- GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_AES_128_CCM, "TLS_DHE_PSK_WITH_AES_128_CCM",
- GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_AES_256_CCM, "TLS_DHE_PSK_WITH_AES_256_CCM",
- GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_PSK_AES_128_CCM_8, "TLS_PSK_WITH_AES_128_CCM_8",
- GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_PSK_AES_256_CCM_8, "TLS_PSK_WITH_AES_256_CCM_8",
- GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_AES_128_CCM_8, "TLS_PSK_DHE_WITH_AES_128_CCM_8",
- GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_128_CCM_8, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_AES_256_CCM_8, "TLS_PSK_DHE_WITH_AES_256_CCM_8",
- GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_DHE_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_AES_256_CCM_8, GNUTLS_KX_DHE_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DHE_PSK_CHACHA20_POLY1305,
"TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_KX_DHE_PSK,
@@ -1140,164 +1578,133 @@ static const gnutls_cipher_suite_entry_st cs_algorithms[] = {
ENTRY(GNUTLS_PSK_CHACHA20_POLY1305,
"TLS_PSK_WITH_CHACHA20_POLY1305_SHA256",
- GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_KX_PSK,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_KX_PSK, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
#endif
#ifdef ENABLE_ANON
/* DH_ANON */
ENTRY(GNUTLS_DH_ANON_ARCFOUR_128_MD5, "TLS_DH_anon_WITH_RC4_128_MD5",
- GNUTLS_CIPHER_ARCFOUR_128,
- GNUTLS_KX_ANON_DH, GNUTLS_MAC_MD5,
+ GNUTLS_CIPHER_ARCFOUR_128, GNUTLS_KX_ANON_DH, GNUTLS_MAC_MD5,
GNUTLS_SSL3, GNUTLS_VERSION_UNKNOWN),
ENTRY(GNUTLS_DH_ANON_3DES_EDE_CBC_SHA1,
- "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DH_ANON_AES_128_CBC_SHA1,
- "TLS_DH_anon_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DH_anon_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DH_ANON_AES_256_CBC_SHA1,
- "TLS_DH_anon_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_DH_anon_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA256,
"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_128_CBC,
- GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_ANON_DH,
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA256,
"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256",
- GNUTLS_CIPHER_CAMELLIA_256_CBC,
- GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_ANON_DH,
+ GNUTLS_MAC_SHA256, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA1,
"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_128_CBC,
- GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_ANON_DH,
+ GNUTLS_MAC_SHA1, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA1,
"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA",
- GNUTLS_CIPHER_CAMELLIA_256_CBC,
- GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_ANON_DH,
+ GNUTLS_MAC_SHA1, GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_DH_ANON_AES_128_CBC_SHA256,
- "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DH_anon_WITH_AES_128_CBC_SHA256", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DH_ANON_AES_256_CBC_SHA256,
- "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
+ "TLS_DH_anon_WITH_AES_256_CBC_SHA256", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY(GNUTLS_DH_ANON_AES_128_GCM_SHA256,
- "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
- GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
+ "TLS_DH_anon_WITH_AES_128_GCM_SHA256", GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_KX_ANON_DH, GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DH_ANON_AES_256_GCM_SHA384,
"TLS_DH_anon_WITH_AES_256_GCM_SHA384",
- GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_ANON_DH, GNUTLS_MAC_AEAD,
+ GNUTLS_TLS1_2, GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
ENTRY(GNUTLS_DH_ANON_CAMELLIA_128_GCM_SHA256,
"TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256",
GNUTLS_CIPHER_CAMELLIA_128_GCM, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2),
ENTRY_PRF(GNUTLS_DH_ANON_CAMELLIA_256_GCM_SHA384,
"TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384",
GNUTLS_CIPHER_CAMELLIA_256_GCM, GNUTLS_KX_ANON_DH,
- GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
- GNUTLS_DTLS1_2, GNUTLS_MAC_SHA384),
+ GNUTLS_MAC_AEAD, GNUTLS_TLS1_2, GNUTLS_DTLS1_2,
+ GNUTLS_MAC_SHA384),
-/* ECC-ANON */
+ /* ECC-ANON */
ENTRY(GNUTLS_ECDH_ANON_NULL_SHA1, "TLS_ECDH_anon_WITH_NULL_SHA",
- GNUTLS_CIPHER_NULL, GNUTLS_KX_ANON_ECDH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
- GNUTLS_DTLS_VERSION_MIN),
+ GNUTLS_CIPHER_NULL, GNUTLS_KX_ANON_ECDH, GNUTLS_MAC_SHA1,
+ GNUTLS_SSL3, GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDH_ANON_3DES_EDE_CBC_SHA1,
- "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ANON_ECDH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_ANON_ECDH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDH_ANON_AES_128_CBC_SHA1,
- "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ANON_ECDH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDH_anon_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_ANON_ECDH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDH_ANON_AES_256_CBC_SHA1,
- "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ANON_ECDH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDH_anon_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_ANON_ECDH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_ECDH_ANON_ARCFOUR_128_SHA1,
- "TLS_ECDH_anon_WITH_RC4_128_SHA",
- GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_ANON_ECDH,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_ECDH_anon_WITH_RC4_128_SHA", GNUTLS_CIPHER_ARCFOUR,
+ GNUTLS_KX_ANON_ECDH, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_VERSION_UNKNOWN),
#endif
#ifdef ENABLE_SRP
/* SRP */
ENTRY(GNUTLS_SRP_SHA_3DES_EDE_CBC_SHA1,
- "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_SRP,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_SRP, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_AES_128_CBC_SHA1,
- "TLS_SRP_SHA_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_SRP,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_SRP, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_AES_256_CBC_SHA1,
- "TLS_SRP_SHA_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_SRP,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_SRP, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1,
- "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_SRP_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_SRP_DSS, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1,
- "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA",
- GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_SRP_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA", GNUTLS_CIPHER_3DES_CBC,
+ GNUTLS_KX_SRP_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_DSS_AES_128_CBC_SHA1,
- "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_SRP_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_SRP_DSS, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_RSA_AES_128_CBC_SHA1,
- "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA",
- GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_SRP_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA", GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_KX_SRP_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_DSS_AES_256_CBC_SHA1,
- "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_SRP_DSS,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_SRP_DSS, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
ENTRY(GNUTLS_SRP_SHA_RSA_AES_256_CBC_SHA1,
- "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA",
- GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_SRP_RSA,
- GNUTLS_MAC_SHA1, GNUTLS_SSL3,
+ "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA", GNUTLS_CIPHER_AES_256_CBC,
+ GNUTLS_KX_SRP_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
GNUTLS_DTLS_VERSION_MIN),
#endif
@@ -1309,15 +1716,23 @@ static const gnutls_cipher_suite_entry_st cs_algorithms[] = {
GNUTLS_VERSION_UNKNOWN, GNUTLS_MAC_STREEBOG_256),
#endif
- {0, {0, 0}, 0, 0, 0, 0, 0, 0}
+ { 0, { 0, 0 }, 0, 0, 0, 0, 0, 0 }
};
-#define CIPHER_SUITE_LOOP(b) { \
- const gnutls_cipher_suite_entry_st *p; \
- for(p = cs_algorithms; p->name != NULL; p++) { b ; } }
+#define CIPHER_SUITE_LOOP(b) \
+ { \
+ const gnutls_cipher_suite_entry_st *p; \
+ for (p = cs_algorithms; p->name != NULL; p++) { \
+ b; \
+ } \
+ }
-#define CIPHER_SUITE_ALG_LOOP(a, suite) \
- CIPHER_SUITE_LOOP( if( (p->id[0] == suite[0]) && (p->id[1] == suite[1])) { a; break; } )
+#define CIPHER_SUITE_ALG_LOOP(a, suite) \
+ CIPHER_SUITE_LOOP( \
+ if ((p->id[0] == suite[0]) && (p->id[1] == suite[1])) { \
+ a; \
+ break; \
+ })
/* Cipher Suite's functions */
const gnutls_cipher_suite_entry_st *ciphersuite_to_entry(const uint8_t suite[2])
@@ -1332,7 +1747,6 @@ gnutls_kx_algorithm_t _gnutls_cipher_suite_get_kx_algo(const uint8_t suite[2])
CIPHER_SUITE_ALG_LOOP(ret = p->kx_algorithm, suite);
return ret;
-
}
const char *_gnutls_cipher_suite_get_name(const uint8_t suite[2])
@@ -1345,18 +1759,19 @@ const char *_gnutls_cipher_suite_get_name(const uint8_t suite[2])
return ret;
}
-const gnutls_cipher_suite_entry_st
- * cipher_suite_get(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_cipher_algorithm_t cipher_algorithm,
- gnutls_mac_algorithm_t mac_algorithm)
+const gnutls_cipher_suite_entry_st *
+cipher_suite_get(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_cipher_algorithm_t cipher_algorithm,
+ gnutls_mac_algorithm_t mac_algorithm)
{
const gnutls_cipher_suite_entry_st *ret = NULL;
CIPHER_SUITE_LOOP(if (kx_algorithm == p->kx_algorithm &&
- cipher_algorithm == p->block_algorithm
- && mac_algorithm == p->mac_algorithm) {
- ret = p; break;}
- ) ;
+ cipher_algorithm == p->block_algorithm &&
+ mac_algorithm == p->mac_algorithm) {
+ ret = p;
+ break;
+ });
return ret;
}
@@ -1364,9 +1779,9 @@ const gnutls_cipher_suite_entry_st
/* Returns 0 if the given KX has not the corresponding parameters
* (DH or RSA) set up. Otherwise returns 1.
*/
-static unsigned
-check_server_dh_params(gnutls_session_t session,
- unsigned cred_type, gnutls_kx_algorithm_t kx)
+static unsigned check_server_dh_params(gnutls_session_t session,
+ unsigned cred_type,
+ gnutls_kx_algorithm_t kx)
{
unsigned have_dh_params = 0;
@@ -1385,41 +1800,41 @@ check_server_dh_params(gnutls_session_t session,
*/
if (cred_type == GNUTLS_CRD_CERTIFICATE) {
gnutls_certificate_credentials_t x509_cred =
- (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, cred_type);
+ (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, cred_type);
- if (x509_cred != NULL
- && (x509_cred->dh_params || x509_cred->params_func
- || x509_cred->dh_sec_param)) {
+ if (x509_cred != NULL &&
+ (x509_cred->dh_params || x509_cred->params_func ||
+ x509_cred->dh_sec_param)) {
have_dh_params = 1;
}
#ifdef ENABLE_ANON
} else if (cred_type == GNUTLS_CRD_ANON) {
gnutls_anon_server_credentials_t anon_cred =
- (gnutls_anon_server_credentials_t)
- _gnutls_get_cred(session, cred_type);
+ (gnutls_anon_server_credentials_t)_gnutls_get_cred(
+ session, cred_type);
- if (anon_cred != NULL
- && (anon_cred->dh_params || anon_cred->params_func
- || anon_cred->dh_sec_param)) {
+ if (anon_cred != NULL &&
+ (anon_cred->dh_params || anon_cred->params_func ||
+ anon_cred->dh_sec_param)) {
have_dh_params = 1;
}
#endif
#ifdef ENABLE_PSK
} else if (cred_type == GNUTLS_CRD_PSK) {
gnutls_psk_server_credentials_t psk_cred =
- (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, cred_type);
+ (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, cred_type);
- if (psk_cred != NULL
- && (psk_cred->dh_params || psk_cred->params_func
- || psk_cred->dh_sec_param)) {
+ if (psk_cred != NULL &&
+ (psk_cred->dh_params || psk_cred->params_func ||
+ psk_cred->dh_sec_param)) {
have_dh_params = 1;
}
#endif
} else {
- return 1; /* no need for params */
+ return 1; /* no need for params */
}
return have_dh_params;
@@ -1441,11 +1856,10 @@ check_server_dh_params(gnutls_session_t session,
* Returns: a string that contains the name of a TLS cipher suite,
* specified by the given algorithms, or %NULL.
**/
-const char *gnutls_cipher_suite_get_name(gnutls_kx_algorithm_t
- kx_algorithm,
- gnutls_cipher_algorithm_t
- cipher_algorithm,
- gnutls_mac_algorithm_t mac_algorithm)
+const char *
+gnutls_cipher_suite_get_name(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_cipher_algorithm_t cipher_algorithm,
+ gnutls_mac_algorithm_t mac_algorithm)
{
const gnutls_cipher_suite_entry_st *ce;
@@ -1468,11 +1882,10 @@ const char *gnutls_cipher_suite_get_name(gnutls_kx_algorithm_t
*
* Returns: 0 on success or a negative error code otherwise.
-*/
-int
-_gnutls_cipher_suite_get_id(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_cipher_algorithm_t cipher_algorithm,
- gnutls_mac_algorithm_t mac_algorithm,
- uint8_t suite[2])
+int _gnutls_cipher_suite_get_id(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_cipher_algorithm_t cipher_algorithm,
+ gnutls_mac_algorithm_t mac_algorithm,
+ uint8_t suite[2])
{
const gnutls_cipher_suite_entry_st *ce;
@@ -1504,12 +1917,11 @@ _gnutls_cipher_suite_get_id(gnutls_kx_algorithm_t kx_algorithm,
* about the cipher suite in the output variables. If @idx is out of
* bounds, %NULL is returned.
**/
-const char *gnutls_cipher_suite_info(size_t idx,
- unsigned char *cs_id,
- gnutls_kx_algorithm_t * kx,
- gnutls_cipher_algorithm_t * cipher,
- gnutls_mac_algorithm_t * mac,
- gnutls_protocol_t * min_version)
+const char *gnutls_cipher_suite_info(size_t idx, unsigned char *cs_id,
+ gnutls_kx_algorithm_t *kx,
+ gnutls_cipher_algorithm_t *cipher,
+ gnutls_mac_algorithm_t *mac,
+ gnutls_protocol_t *min_version)
{
if (idx >= CIPHER_SUITES_COUNT)
return NULL;
@@ -1528,37 +1940,38 @@ const char *gnutls_cipher_suite_info(size_t idx,
return cs_algorithms[idx].name + sizeof("GNU") - 1;
}
-#define VERSION_CHECK(entry) \
- if (is_dtls) { \
- if (entry->min_dtls_version == GNUTLS_VERSION_UNKNOWN || \
- version->id < entry->min_dtls_version || \
- version->id > entry->max_dtls_version) \
- continue; \
- } else { \
- if (entry->min_version == GNUTLS_VERSION_UNKNOWN || \
- version->id < entry->min_version || \
- version->id > entry->max_version) \
- continue; \
- }
+#define VERSION_CHECK(entry) \
+ if (is_dtls) { \
+ if (entry->min_dtls_version == GNUTLS_VERSION_UNKNOWN || \
+ version->id < entry->min_dtls_version || \
+ version->id > entry->max_dtls_version) \
+ continue; \
+ } else { \
+ if (entry->min_version == GNUTLS_VERSION_UNKNOWN || \
+ version->id < entry->min_version || \
+ version->id > entry->max_version) \
+ continue; \
+ }
-#define CIPHER_CHECK(algo) \
- if (session->internals.priorities->force_etm && !have_etm) { \
- const cipher_entry_st *_cipher; \
- _cipher = cipher_to_entry(algo); \
- if (_cipher == NULL || _gnutls_cipher_type(_cipher) == CIPHER_BLOCK) \
- continue; \
- }
+#define CIPHER_CHECK(algo) \
+ if (session->internals.priorities->force_etm && !have_etm) { \
+ const cipher_entry_st *_cipher; \
+ _cipher = cipher_to_entry(algo); \
+ if (_cipher == NULL || \
+ _gnutls_cipher_type(_cipher) == CIPHER_BLOCK) \
+ continue; \
+ }
-#define KX_SRP_CHECKS(kx, action) \
+#define KX_SRP_CHECKS(kx, action) \
if (kx == GNUTLS_KX_SRP_RSA || kx == GNUTLS_KX_SRP_DSS) { \
if (!_gnutls_get_cred(session, GNUTLS_CRD_SRP)) { \
- action; \
- } \
+ action; \
+ } \
}
static unsigned kx_is_ok(gnutls_session_t session, gnutls_kx_algorithm_t kx,
unsigned cred_type,
- const gnutls_group_entry_st ** sgroup)
+ const gnutls_group_entry_st **sgroup)
{
if (_gnutls_kx_is_ecc(kx)) {
if (session->internals.cand_ec_group == NULL) {
@@ -1581,18 +1994,17 @@ static unsigned kx_is_ok(gnutls_session_t session, gnutls_kx_algorithm_t kx,
}
/* Called on server-side only */
-int
-_gnutls_figure_common_ciphersuite(gnutls_session_t session,
- const ciphersuite_list_st * peer_clist,
- const gnutls_cipher_suite_entry_st ** ce)
+int _gnutls_figure_common_ciphersuite(gnutls_session_t session,
+ const ciphersuite_list_st *peer_clist,
+ const gnutls_cipher_suite_entry_st **ce)
{
-
unsigned int i, j;
int ret;
const version_entry_st *version = get_version(session);
unsigned int is_dtls = IS_DTLS(session);
gnutls_kx_algorithm_t kx;
- gnutls_credentials_type_t cred_type = GNUTLS_CRD_CERTIFICATE; /* default for TLS1.3 */
+ gnutls_credentials_type_t cred_type =
+ GNUTLS_CRD_CERTIFICATE; /* default for TLS1.3 */
const gnutls_group_entry_st *sgroup = NULL;
gnutls_ext_priv_data_t epriv;
unsigned have_etm = 0;
@@ -1605,7 +2017,7 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
* because we only set (security_params) EtM to true only after the ciphersuite is
* negotiated. */
ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ETM, &epriv);
- if (ret >= 0 && ((intptr_t) epriv) != 0)
+ if (ret >= 0 && ((intptr_t)epriv) != 0)
have_etm = 1;
/* If we didn't receive the supported_groups extension, then
@@ -1616,16 +2028,16 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
!_gnutls_hello_ext_is_present(session,
GNUTLS_EXTENSION_SUPPORTED_GROUPS)) {
session->internals.cand_ec_group =
- _gnutls_id_to_group(DEFAULT_EC_GROUP);
+ _gnutls_id_to_group(DEFAULT_EC_GROUP);
}
if (session->internals.priorities->server_precedence == 0) {
for (i = 0; i < peer_clist->size; i++) {
- _gnutls_debug_log
- ("checking %.2x.%.2x (%s) for compatibility\n",
- (unsigned)peer_clist->entry[i]->id[0],
- (unsigned)peer_clist->entry[i]->id[1],
- peer_clist->entry[i]->name);
+ _gnutls_debug_log(
+ "checking %.2x.%.2x (%s) for compatibility\n",
+ (unsigned)peer_clist->entry[i]->id[0],
+ (unsigned)peer_clist->entry[i]->id[1],
+ peer_clist->entry[i]->name);
VERSION_CHECK(peer_clist->entry[i]);
kx = peer_clist->entry[i]->kx_algorithm;
@@ -1637,29 +2049,29 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
for (j = 0; j < session->internals.priorities->cs.size;
j++) {
- if (session->internals.priorities->
- cs.entry[j] == peer_clist->entry[i]) {
+ if (session->internals.priorities->cs.entry[j] ==
+ peer_clist->entry[i]) {
sgroup = NULL;
- if (!kx_is_ok
- (session, kx, cred_type, &sgroup))
+ if (!kx_is_ok(session, kx, cred_type,
+ &sgroup))
continue;
/* if we have selected PSK, we need a ciphersuites which matches
* the selected binder */
if (session->internals.hsk_flags &
HSK_PSK_SELECTED) {
- if (session->key.
- binders[0].prf->id !=
- session->
- internals.priorities->cs.
- entry[j]->prf)
+ if (session->key.binders[0]
+ .prf->id !=
+ session->internals
+ .priorities->cs
+ .entry[j]
+ ->prf)
continue;
} else if (cred_type ==
GNUTLS_CRD_CERTIFICATE) {
- ret =
- _gnutls_select_server_cert
- (session,
- peer_clist->entry[i]);
+ ret = _gnutls_select_server_cert(
+ session,
+ peer_clist->entry[i]);
if (ret < 0) {
/* couldn't select cert with this ciphersuite */
gnutls_assert();
@@ -1669,8 +2081,8 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
/* select the group based on the selected ciphersuite */
if (sgroup)
- _gnutls_session_group_set
- (session, sgroup);
+ _gnutls_session_group_set(
+ session, sgroup);
*ce = peer_clist->entry[i];
return 0;
}
@@ -1678,49 +2090,49 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
}
} else {
for (j = 0; j < session->internals.priorities->cs.size; j++) {
- VERSION_CHECK(session->internals.priorities->
- cs.entry[j]);
+ VERSION_CHECK(
+ session->internals.priorities->cs.entry[j]);
- CIPHER_CHECK(session->internals.priorities->
- cs.entry[j]->block_algorithm);
+ CIPHER_CHECK(session->internals.priorities->cs.entry[j]
+ ->block_algorithm);
for (i = 0; i < peer_clist->size; i++) {
- _gnutls_debug_log
- ("checking %.2x.%.2x (%s) for compatibility\n",
- (unsigned)peer_clist->entry[i]->id[0],
- (unsigned)peer_clist->entry[i]->id[1],
- peer_clist->entry[i]->name);
-
- if (session->internals.priorities->
- cs.entry[j] == peer_clist->entry[i]) {
+ _gnutls_debug_log(
+ "checking %.2x.%.2x (%s) for compatibility\n",
+ (unsigned)peer_clist->entry[i]->id[0],
+ (unsigned)peer_clist->entry[i]->id[1],
+ peer_clist->entry[i]->name);
+
+ if (session->internals.priorities->cs.entry[j] ==
+ peer_clist->entry[i]) {
sgroup = NULL;
kx = peer_clist->entry[i]->kx_algorithm;
if (!version->tls13_sem)
cred_type =
- _gnutls_map_kx_get_cred(kx,
- 1);
+ _gnutls_map_kx_get_cred(
+ kx, 1);
- if (!kx_is_ok
- (session, kx, cred_type, &sgroup))
+ if (!kx_is_ok(session, kx, cred_type,
+ &sgroup))
break;
/* if we have selected PSK, we need a ciphersuites which matches
* the selected binder */
if (session->internals.hsk_flags &
HSK_PSK_SELECTED) {
- if (session->key.
- binders[0].prf->id !=
- session->
- internals.priorities->cs.
- entry[j]->prf)
+ if (session->key.binders[0]
+ .prf->id !=
+ session->internals
+ .priorities->cs
+ .entry[j]
+ ->prf)
break;
} else if (cred_type ==
GNUTLS_CRD_CERTIFICATE) {
- ret =
- _gnutls_select_server_cert
- (session,
- peer_clist->entry[i]);
+ ret = _gnutls_select_server_cert(
+ session,
+ peer_clist->entry[i]);
if (ret < 0) {
/* couldn't select cert with this ciphersuite */
gnutls_assert();
@@ -1730,14 +2142,13 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
/* select the group based on the selected ciphersuite */
if (sgroup)
- _gnutls_session_group_set
- (session, sgroup);
+ _gnutls_session_group_set(
+ session, sgroup);
*ce = peer_clist->entry[i];
return 0;
}
}
}
-
}
/* nothing in common */
@@ -1745,23 +2156,21 @@ _gnutls_figure_common_ciphersuite(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_NO_CIPHER_SUITES);
}
-#define CLIENT_VERSION_CHECK(minver, maxver, e) \
- if (is_dtls) { \
- if (e->min_dtls_version > maxver->id) \
- continue; \
- } else { \
- if (e->min_version > maxver->id) \
- continue; \
- }
+#define CLIENT_VERSION_CHECK(minver, maxver, e) \
+ if (is_dtls) { \
+ if (e->min_dtls_version > maxver->id) \
+ continue; \
+ } else { \
+ if (e->min_version > maxver->id) \
+ continue; \
+ }
#define RESERVED_CIPHERSUITES 4
-int
-_gnutls_get_client_ciphersuites(gnutls_session_t session,
- gnutls_buffer_st * cdata,
- const version_entry_st * vmin,
- unsigned add_scsv)
+int _gnutls_get_client_ciphersuites(gnutls_session_t session,
+ gnutls_buffer_st *cdata,
+ const version_entry_st *vmin,
+ unsigned add_scsv)
{
-
unsigned int j;
int ret;
unsigned int is_dtls = IS_DTLS(session);
@@ -1777,32 +2186,32 @@ _gnutls_get_client_ciphersuites(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_NO_PRIORITIES_WERE_SET);
for (j = 0; j < session->internals.priorities->cs.size; j++) {
- CLIENT_VERSION_CHECK(vmin, vmax,
- session->internals.priorities->
- cs.entry[j]);
+ CLIENT_VERSION_CHECK(
+ vmin, vmax, session->internals.priorities->cs.entry[j]);
kx = session->internals.priorities->cs.entry[j]->kx_algorithm;
- if (kx != GNUTLS_KX_UNKNOWN) { /* In TLS 1.3 ciphersuites don't map to credentials */
+ if (kx !=
+ GNUTLS_KX_UNKNOWN) { /* In TLS 1.3 ciphersuites don't map to credentials */
cred_type = _gnutls_map_kx_get_cred(kx, 0);
- if (!session->internals.premaster_set
- && _gnutls_get_cred(session, cred_type) == NULL)
+ if (!session->internals.premaster_set &&
+ _gnutls_get_cred(session, cred_type) == NULL)
continue;
KX_SRP_CHECKS(kx, continue);
}
- _gnutls_debug_log("Keeping ciphersuite %.2x.%.2x (%s)\n",
- (unsigned)session->internals.priorities->
- cs.entry[j]->id[0],
- (unsigned)session->internals.priorities->
- cs.entry[j]->id[1],
- session->internals.priorities->cs.
- entry[j]->name);
+ _gnutls_debug_log(
+ "Keeping ciphersuite %.2x.%.2x (%s)\n",
+ (unsigned)session->internals.priorities->cs.entry[j]
+ ->id[0],
+ (unsigned)session->internals.priorities->cs.entry[j]
+ ->id[1],
+ session->internals.priorities->cs.entry[j]->name);
cipher_suites[cipher_suites_size] =
- session->internals.priorities->cs.entry[j]->id[0];
+ session->internals.priorities->cs.entry[j]->id[0];
cipher_suites[cipher_suites_size + 1] =
- session->internals.priorities->cs.entry[j]->id[1];
+ session->internals.priorities->cs.entry[j]->id[1];
cipher_suites_size += 2;
if (cipher_suites_size >= MAX_CIPHERSUITE_SIZE * 2)
@@ -1825,13 +2234,12 @@ _gnutls_get_client_ciphersuites(gnutls_session_t session,
if (session->internals.priorities->fallback) {
cipher_suites[cipher_suites_size] = GNUTLS_FALLBACK_SCSV_MAJOR;
cipher_suites[cipher_suites_size + 1] =
- GNUTLS_FALLBACK_SCSV_MINOR;
+ GNUTLS_FALLBACK_SCSV_MINOR;
cipher_suites_size += 2;
}
- ret =
- _gnutls_buffer_append_data_prefix(cdata, 16, cipher_suites,
- cipher_suites_size);
+ ret = _gnutls_buffer_append_data_prefix(cdata, 16, cipher_suites,
+ cipher_suites_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1856,9 +2264,8 @@ _gnutls_get_client_ciphersuites(gnutls_session_t session,
*
* Since: 3.0.9
**/
-int
-gnutls_priority_get_cipher_suite_index(gnutls_priority_t pcache,
- unsigned int idx, unsigned int *sidx)
+int gnutls_priority_get_cipher_suite_index(gnutls_priority_t pcache,
+ unsigned int idx, unsigned int *sidx)
{
unsigned int i, j;
unsigned max_tls = 0;
@@ -1873,8 +2280,8 @@ gnutls_priority_get_cipher_suite_index(gnutls_priority_t pcache,
pcache->protocol.priorities[j] >= max_tls) {
max_tls = pcache->protocol.priorities[j];
} else if (pcache->protocol.priorities[j] <=
- GNUTLS_DTLS_VERSION_MAX
- && pcache->protocol.priorities[j] >= max_dtls) {
+ GNUTLS_DTLS_VERSION_MAX &&
+ pcache->protocol.priorities[j] >= max_dtls) {
max_dtls = pcache->protocol.priorities[j];
}
}
diff --git a/lib/algorithms/ecc.c b/lib/algorithms/ecc.c
index f5eadd1dbd..fe60543f84 100644
--- a/lib/algorithms/ecc.c
+++ b/lib/algorithms/ecc.c
@@ -33,86 +33,86 @@
static SYSTEM_CONFIG_OR_CONST gnutls_ecc_curve_entry_st ecc_curves[] = {
#ifdef ENABLE_NON_SUITEB_CURVES
{
- .name = "SECP192R1",
- .oid = "1.2.840.10045.3.1.1",
- .id = GNUTLS_ECC_CURVE_SECP192R1,
- .group = GNUTLS_GROUP_SECP192R1,
- .pk = GNUTLS_PK_ECDSA,
- .size = 24,
- .supported = 1,
- },
+ .name = "SECP192R1",
+ .oid = "1.2.840.10045.3.1.1",
+ .id = GNUTLS_ECC_CURVE_SECP192R1,
+ .group = GNUTLS_GROUP_SECP192R1,
+ .pk = GNUTLS_PK_ECDSA,
+ .size = 24,
+ .supported = 1,
+ },
{
- .name = "SECP224R1",
- .oid = "1.3.132.0.33",
- .id = GNUTLS_ECC_CURVE_SECP224R1,
- .group = GNUTLS_GROUP_SECP224R1,
- .pk = GNUTLS_PK_ECDSA,
- .size = 28,
- .supported = 1,
- },
+ .name = "SECP224R1",
+ .oid = "1.3.132.0.33",
+ .id = GNUTLS_ECC_CURVE_SECP224R1,
+ .group = GNUTLS_GROUP_SECP224R1,
+ .pk = GNUTLS_PK_ECDSA,
+ .size = 28,
+ .supported = 1,
+ },
#endif
{
- .name = "SECP256R1",
- .oid = "1.2.840.10045.3.1.7",
- .id = GNUTLS_ECC_CURVE_SECP256R1,
- .group = GNUTLS_GROUP_SECP256R1,
- .pk = GNUTLS_PK_ECDSA,
- .size = 32,
- .supported = 1,
- },
+ .name = "SECP256R1",
+ .oid = "1.2.840.10045.3.1.7",
+ .id = GNUTLS_ECC_CURVE_SECP256R1,
+ .group = GNUTLS_GROUP_SECP256R1,
+ .pk = GNUTLS_PK_ECDSA,
+ .size = 32,
+ .supported = 1,
+ },
{
- .name = "SECP384R1",
- .oid = "1.3.132.0.34",
- .id = GNUTLS_ECC_CURVE_SECP384R1,
- .group = GNUTLS_GROUP_SECP384R1,
- .pk = GNUTLS_PK_ECDSA,
- .size = 48,
- .supported = 1,
- },
+ .name = "SECP384R1",
+ .oid = "1.3.132.0.34",
+ .id = GNUTLS_ECC_CURVE_SECP384R1,
+ .group = GNUTLS_GROUP_SECP384R1,
+ .pk = GNUTLS_PK_ECDSA,
+ .size = 48,
+ .supported = 1,
+ },
{
- .name = "SECP521R1",
- .oid = "1.3.132.0.35",
- .id = GNUTLS_ECC_CURVE_SECP521R1,
- .group = GNUTLS_GROUP_SECP521R1,
- .pk = GNUTLS_PK_ECDSA,
- .size = 66,
- .supported = 1,
- },
+ .name = "SECP521R1",
+ .oid = "1.3.132.0.35",
+ .id = GNUTLS_ECC_CURVE_SECP521R1,
+ .group = GNUTLS_GROUP_SECP521R1,
+ .pk = GNUTLS_PK_ECDSA,
+ .size = 66,
+ .supported = 1,
+ },
{
- .name = "X25519",
- .oid = ECDH_X25519_OID,
- .id = GNUTLS_ECC_CURVE_X25519,
- .group = GNUTLS_GROUP_X25519,
- .pk = GNUTLS_PK_ECDH_X25519,
- .size = 32,
- .supported = 1,
- },
+ .name = "X25519",
+ .oid = ECDH_X25519_OID,
+ .id = GNUTLS_ECC_CURVE_X25519,
+ .group = GNUTLS_GROUP_X25519,
+ .pk = GNUTLS_PK_ECDH_X25519,
+ .size = 32,
+ .supported = 1,
+ },
{
- .name = "Ed25519",
- .oid = SIG_EDDSA_SHA512_OID,
- .id = GNUTLS_ECC_CURVE_ED25519,
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .size = 32,
- .sig_size = 64,
- .supported = 1,
- },
+ .name = "Ed25519",
+ .oid = SIG_EDDSA_SHA512_OID,
+ .id = GNUTLS_ECC_CURVE_ED25519,
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .size = 32,
+ .sig_size = 64,
+ .supported = 1,
+ },
{
- .name = "X448",
- .oid = ECDH_X448_OID,
- .id = GNUTLS_ECC_CURVE_X448,
- .pk = GNUTLS_PK_ECDH_X448,
- .size = 56,
- .supported = 1,
- },
+ .name = "X448",
+ .oid = ECDH_X448_OID,
+ .id = GNUTLS_ECC_CURVE_X448,
+ .pk = GNUTLS_PK_ECDH_X448,
+ .size = 56,
+ .supported = 1,
+ },
{
- .name = "Ed448",
- .oid = SIG_ED448_OID,
- .id = GNUTLS_ECC_CURVE_ED448,
- .pk = GNUTLS_PK_EDDSA_ED448,
- .size = 57,
- .sig_size = 114,
- .supported = 1,
- },
+ .name = "Ed448",
+ .oid = SIG_ED448_OID,
+ .id = GNUTLS_ECC_CURVE_ED448,
+ .pk = GNUTLS_PK_EDDSA_ED448,
+ .size = 57,
+ .sig_size = 114,
+ .supported = 1,
+ },
#if ENABLE_GOST
/* Curves for usage in GOST digital signature algorithm (GOST R
* 34.10-2001/-2012) and key agreement (VKO GOST R 34.10-2001/-2012).
@@ -138,132 +138,136 @@ static SYSTEM_CONFIG_OR_CONST gnutls_ecc_curve_entry_st ecc_curves[] = {
* TC26 OIDs are usable only for GOST R 34.10-2012 keys.
*/
{
- .name = "CryptoPro-A",
- .oid = "1.2.643.2.2.35.1",
- .id = GNUTLS_ECC_CURVE_GOST256CPA,
- .group = GNUTLS_GROUP_GC256B,
- .pk = GNUTLS_PK_UNKNOWN,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "CryptoPro-A",
+ .oid = "1.2.643.2.2.35.1",
+ .id = GNUTLS_ECC_CURVE_GOST256CPA,
+ .group = GNUTLS_GROUP_GC256B,
+ .pk = GNUTLS_PK_UNKNOWN,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "CryptoPro-B",
- .oid = "1.2.643.2.2.35.2",
- .id = GNUTLS_ECC_CURVE_GOST256CPB,
- .group = GNUTLS_GROUP_GC256C,
- .pk = GNUTLS_PK_UNKNOWN,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "CryptoPro-B",
+ .oid = "1.2.643.2.2.35.2",
+ .id = GNUTLS_ECC_CURVE_GOST256CPB,
+ .group = GNUTLS_GROUP_GC256C,
+ .pk = GNUTLS_PK_UNKNOWN,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "CryptoPro-C",
- .oid = "1.2.643.2.2.35.3",
- .id = GNUTLS_ECC_CURVE_GOST256CPC,
- .group = GNUTLS_GROUP_GC256D,
- .pk = GNUTLS_PK_UNKNOWN,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "CryptoPro-C",
+ .oid = "1.2.643.2.2.35.3",
+ .id = GNUTLS_ECC_CURVE_GOST256CPC,
+ .group = GNUTLS_GROUP_GC256D,
+ .pk = GNUTLS_PK_UNKNOWN,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "CryptoPro-XchA",
- .oid = "1.2.643.2.2.36.0",
- .id = GNUTLS_ECC_CURVE_GOST256CPXA,
- .group = GNUTLS_GROUP_GC256B,
- .pk = GNUTLS_PK_UNKNOWN,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "CryptoPro-XchA",
+ .oid = "1.2.643.2.2.36.0",
+ .id = GNUTLS_ECC_CURVE_GOST256CPXA,
+ .group = GNUTLS_GROUP_GC256B,
+ .pk = GNUTLS_PK_UNKNOWN,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "CryptoPro-XchB",
- .oid = "1.2.643.2.2.36.1",
- .id = GNUTLS_ECC_CURVE_GOST256CPXB,
- .group = GNUTLS_GROUP_GC256D,
- .pk = GNUTLS_PK_UNKNOWN,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "CryptoPro-XchB",
+ .oid = "1.2.643.2.2.36.1",
+ .id = GNUTLS_ECC_CURVE_GOST256CPXB,
+ .group = GNUTLS_GROUP_GC256D,
+ .pk = GNUTLS_PK_UNKNOWN,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-256-A",
- .oid = "1.2.643.7.1.2.1.1.1",
- .id = GNUTLS_ECC_CURVE_GOST256A,
- .group = GNUTLS_GROUP_GC256A,
- .pk = GNUTLS_PK_GOST_12_256,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-256-A",
+ .oid = "1.2.643.7.1.2.1.1.1",
+ .id = GNUTLS_ECC_CURVE_GOST256A,
+ .group = GNUTLS_GROUP_GC256A,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-256-B",
- .oid = "1.2.643.7.1.2.1.1.2",
- .id = GNUTLS_ECC_CURVE_GOST256B,
- .group = GNUTLS_GROUP_GC256B,
- .pk = GNUTLS_PK_GOST_12_256,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-256-B",
+ .oid = "1.2.643.7.1.2.1.1.2",
+ .id = GNUTLS_ECC_CURVE_GOST256B,
+ .group = GNUTLS_GROUP_GC256B,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-256-C",
- .oid = "1.2.643.7.1.2.1.1.3",
- .id = GNUTLS_ECC_CURVE_GOST256C,
- .group = GNUTLS_GROUP_GC256C,
- .pk = GNUTLS_PK_GOST_12_256,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-256-C",
+ .oid = "1.2.643.7.1.2.1.1.3",
+ .id = GNUTLS_ECC_CURVE_GOST256C,
+ .group = GNUTLS_GROUP_GC256C,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-256-D",
- .oid = "1.2.643.7.1.2.1.1.4",
- .id = GNUTLS_ECC_CURVE_GOST256D,
- .group = GNUTLS_GROUP_GC256D,
- .pk = GNUTLS_PK_GOST_12_256,
- .size = 32,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-256-D",
+ .oid = "1.2.643.7.1.2.1.1.4",
+ .id = GNUTLS_ECC_CURVE_GOST256D,
+ .group = GNUTLS_GROUP_GC256D,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .size = 32,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-512-A",
- .oid = "1.2.643.7.1.2.1.2.1",
- .id = GNUTLS_ECC_CURVE_GOST512A,
- .group = GNUTLS_GROUP_GC512A,
- .pk = GNUTLS_PK_GOST_12_512,
- .size = 64,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-512-A",
+ .oid = "1.2.643.7.1.2.1.2.1",
+ .id = GNUTLS_ECC_CURVE_GOST512A,
+ .group = GNUTLS_GROUP_GC512A,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .size = 64,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-512-B",
- .oid = "1.2.643.7.1.2.1.2.2",
- .id = GNUTLS_ECC_CURVE_GOST512B,
- .group = GNUTLS_GROUP_GC512B,
- .pk = GNUTLS_PK_GOST_12_512,
- .size = 64,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-512-B",
+ .oid = "1.2.643.7.1.2.1.2.2",
+ .id = GNUTLS_ECC_CURVE_GOST512B,
+ .group = GNUTLS_GROUP_GC512B,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .size = 64,
+ .gost_curve = 1,
+ .supported = 1,
+ },
{
- .name = "TC26-512-C",
- .oid = "1.2.643.7.1.2.1.2.3",
- .id = GNUTLS_ECC_CURVE_GOST512C,
- .group = GNUTLS_GROUP_GC512C,
- .pk = GNUTLS_PK_GOST_12_512,
- .size = 64,
- .gost_curve = 1,
- .supported = 1,
- },
+ .name = "TC26-512-C",
+ .oid = "1.2.643.7.1.2.1.2.3",
+ .id = GNUTLS_ECC_CURVE_GOST512C,
+ .group = GNUTLS_GROUP_GC512C,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .size = 64,
+ .gost_curve = 1,
+ .supported = 1,
+ },
#endif
- {0, 0, 0}
+ { 0, 0, 0 }
};
-#define GNUTLS_ECC_CURVE_LOOP(b) \
- { const gnutls_ecc_curve_entry_st *p; \
- for(p = ecc_curves; p->name != NULL; p++) { b ; } }
+#define GNUTLS_ECC_CURVE_LOOP(b) \
+ { \
+ const gnutls_ecc_curve_entry_st *p; \
+ for (p = ecc_curves; p->name != NULL; p++) { \
+ b; \
+ } \
+ }
/**
* gnutls_ecc_curve_list:
@@ -282,10 +286,9 @@ const gnutls_ecc_curve_t *gnutls_ecc_curve_list(void)
if (supported_curves[0] == 0) {
int i = 0;
- GNUTLS_ECC_CURVE_LOOP(if
- (p->supported
- && _gnutls_pk_curve_exists(p->id))
- supported_curves[i++] = p->id;) ;
+ GNUTLS_ECC_CURVE_LOOP(
+ if (p->supported && _gnutls_pk_curve_exists(p->id))
+ supported_curves[i++] = p->id;);
supported_curves[i++] = 0;
}
@@ -294,10 +297,8 @@ const gnutls_ecc_curve_t *gnutls_ecc_curve_list(void)
unsigned _gnutls_ecc_curve_is_supported(gnutls_ecc_curve_t curve)
{
- GNUTLS_ECC_CURVE_LOOP(if
- (p->id == curve && p->supported
- && _gnutls_pk_curve_exists(p->id))
- return 1;) ;
+ GNUTLS_ECC_CURVE_LOOP(if (p->id == curve && p->supported &&
+ _gnutls_pk_curve_exists(p->id)) return 1;);
return 0;
}
@@ -314,12 +315,12 @@ gnutls_ecc_curve_t gnutls_oid_to_ecc_curve(const char *oid)
{
gnutls_ecc_curve_t ret = GNUTLS_ECC_CURVE_INVALID;
- GNUTLS_ECC_CURVE_LOOP(if
- (p->oid != NULL && c_strcasecmp(p->oid, oid) == 0
- && p->supported
- && _gnutls_pk_curve_exists(p->id)) {
- ret = p->id; break;}
- ) ;
+ GNUTLS_ECC_CURVE_LOOP(
+ if (p->oid != NULL && c_strcasecmp(p->oid, oid) == 0 &&
+ p->supported && _gnutls_pk_curve_exists(p->id)) {
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -339,11 +340,12 @@ gnutls_ecc_curve_t gnutls_ecc_curve_get_id(const char *name)
{
gnutls_ecc_curve_t ret = GNUTLS_ECC_CURVE_INVALID;
- GNUTLS_ECC_CURVE_LOOP(if
- (c_strcasecmp(p->name, name) == 0 && p->supported
- && _gnutls_pk_curve_exists(p->id)) {
- ret = p->id; break;}
- ) ;
+ GNUTLS_ECC_CURVE_LOOP(if (c_strcasecmp(p->name, name) == 0 &&
+ p->supported &&
+ _gnutls_pk_curve_exists(p->id)) {
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -374,16 +376,16 @@ void _gnutls_ecc_curve_mark_disabled_all(void)
}
}
-int
-_gnutls_ecc_curve_set_enabled(gnutls_ecc_curve_t curve, unsigned int enabled)
+int _gnutls_ecc_curve_set_enabled(gnutls_ecc_curve_t curve,
+ unsigned int enabled)
{
gnutls_ecc_curve_entry_st *p;
for (p = ecc_curves; p->name != NULL; p++) {
if (p->id == curve) {
if (!p->supported_revertible) {
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
p->supported = enabled;
return 0;
@@ -393,7 +395,7 @@ _gnutls_ecc_curve_set_enabled(gnutls_ecc_curve_t curve, unsigned int enabled)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
-static int _gnutls_ecc_pk_compatible(const gnutls_ecc_curve_entry_st * p,
+static int _gnutls_ecc_pk_compatible(const gnutls_ecc_curve_entry_st *p,
gnutls_pk_algorithm_t pk)
{
if (!p->supported || !_gnutls_pk_curve_exists(p->id))
@@ -425,10 +427,11 @@ gnutls_ecc_curve_t _gnutls_ecc_bits_to_curve(gnutls_pk_algorithm_t pk, int bits)
else
ret = GNUTLS_ECC_CURVE_ED25519;
- GNUTLS_ECC_CURVE_LOOP(if (_gnutls_ecc_pk_compatible(p, pk)
- && 8 * p->size >= (unsigned)bits) {
- ret = p->id; break;}
- ) ;
+ GNUTLS_ECC_CURVE_LOOP(if (_gnutls_ecc_pk_compatible(p, pk) &&
+ 8 * p->size >= (unsigned)bits) {
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -449,8 +452,9 @@ const char *gnutls_ecc_curve_get_name(gnutls_ecc_curve_t curve)
const char *ret = NULL;
GNUTLS_ECC_CURVE_LOOP(if (p->id == curve) {
- ret = p->name; break;}
- ) ;
+ ret = p->name;
+ break;
+ });
return ret;
}
@@ -471,8 +475,9 @@ const char *gnutls_ecc_curve_get_oid(gnutls_ecc_curve_t curve)
const char *ret = NULL;
GNUTLS_ECC_CURVE_LOOP(if (p->id == curve) {
- ret = p->oid; break;}
- ) ;
+ ret = p->oid;
+ break;
+ });
return ret;
}
@@ -485,14 +490,15 @@ const char *gnutls_ecc_curve_get_oid(gnutls_ecc_curve_t curve)
*
* Returns: a pointer to #gnutls_ecc_curve_entry_st or %NULL.
-*/
-const gnutls_ecc_curve_entry_st
- * _gnutls_ecc_curve_get_params(gnutls_ecc_curve_t curve)
+const gnutls_ecc_curve_entry_st *
+_gnutls_ecc_curve_get_params(gnutls_ecc_curve_t curve)
{
const gnutls_ecc_curve_entry_st *ret = NULL;
GNUTLS_ECC_CURVE_LOOP(if (p->id == curve) {
- ret = p; break;}
- ) ;
+ ret = p;
+ break;
+ });
return ret;
}
@@ -510,8 +516,9 @@ int gnutls_ecc_curve_get_size(gnutls_ecc_curve_t curve)
int ret = 0;
GNUTLS_ECC_CURVE_LOOP(if (p->id == curve) {
- ret = p->size; break;}
- ) ;
+ ret = p->size;
+ break;
+ });
return ret;
}
@@ -529,8 +536,9 @@ gnutls_pk_algorithm_t gnutls_ecc_curve_get_pk(gnutls_ecc_curve_t curve)
int ret = GNUTLS_PK_UNKNOWN;
GNUTLS_ECC_CURVE_LOOP(if (p->id == curve && p->supported) {
- ret = p->pk; break;}
- ) ;
+ ret = p->pk;
+ break;
+ });
return ret;
}
@@ -547,11 +555,11 @@ gnutls_group_t _gnutls_ecc_curve_get_group(gnutls_ecc_curve_t curve)
{
gnutls_group_t ret = GNUTLS_GROUP_INVALID;
- GNUTLS_ECC_CURVE_LOOP(if
- (p->id == curve && p->supported
- && _gnutls_pk_curve_exists(p->id)) {
- ret = p->group; break;}
- ) ;
+ GNUTLS_ECC_CURVE_LOOP(if (p->id == curve && p->supported &&
+ _gnutls_pk_curve_exists(p->id)) {
+ ret = p->group;
+ break;
+ });
return ret;
}
diff --git a/lib/algorithms/groups.c b/lib/algorithms/groups.c
index dba091cbc6..ed8a3aa284 100644
--- a/lib/algorithms/groups.c
+++ b/lib/algorithms/groups.c
@@ -32,167 +32,163 @@
static const gnutls_group_entry_st supported_groups[] = {
{
- .name = "SECP192R1",
- .id = GNUTLS_GROUP_SECP192R1,
- .curve = GNUTLS_ECC_CURVE_SECP192R1,
- .tls_id = 19,
- .pk = GNUTLS_PK_ECDSA,
- },
+ .name = "SECP192R1",
+ .id = GNUTLS_GROUP_SECP192R1,
+ .curve = GNUTLS_ECC_CURVE_SECP192R1,
+ .tls_id = 19,
+ .pk = GNUTLS_PK_ECDSA,
+ },
{
- .name = "SECP224R1",
- .id = GNUTLS_GROUP_SECP224R1,
- .curve = GNUTLS_ECC_CURVE_SECP224R1,
- .tls_id = 21,
- .pk = GNUTLS_PK_ECDSA,
- },
+ .name = "SECP224R1",
+ .id = GNUTLS_GROUP_SECP224R1,
+ .curve = GNUTLS_ECC_CURVE_SECP224R1,
+ .tls_id = 21,
+ .pk = GNUTLS_PK_ECDSA,
+ },
{
- .name = "SECP256R1",
- .id = GNUTLS_GROUP_SECP256R1,
- .curve = GNUTLS_ECC_CURVE_SECP256R1,
- .tls_id = 23,
- .pk = GNUTLS_PK_ECDSA,
- },
+ .name = "SECP256R1",
+ .id = GNUTLS_GROUP_SECP256R1,
+ .curve = GNUTLS_ECC_CURVE_SECP256R1,
+ .tls_id = 23,
+ .pk = GNUTLS_PK_ECDSA,
+ },
{
- .name = "SECP384R1",
- .id = GNUTLS_GROUP_SECP384R1,
- .curve = GNUTLS_ECC_CURVE_SECP384R1,
- .tls_id = 24,
- .pk = GNUTLS_PK_ECDSA,
- },
+ .name = "SECP384R1",
+ .id = GNUTLS_GROUP_SECP384R1,
+ .curve = GNUTLS_ECC_CURVE_SECP384R1,
+ .tls_id = 24,
+ .pk = GNUTLS_PK_ECDSA,
+ },
{
- .name = "SECP521R1",
- .id = GNUTLS_GROUP_SECP521R1,
- .curve = GNUTLS_ECC_CURVE_SECP521R1,
- .tls_id = 25,
- .pk = GNUTLS_PK_ECDSA,
- },
- {
- .name = "X25519",
- .id = GNUTLS_GROUP_X25519,
- .curve = GNUTLS_ECC_CURVE_X25519,
- .tls_id = 29,
- .pk = GNUTLS_PK_ECDH_X25519},
+ .name = "SECP521R1",
+ .id = GNUTLS_GROUP_SECP521R1,
+ .curve = GNUTLS_ECC_CURVE_SECP521R1,
+ .tls_id = 25,
+ .pk = GNUTLS_PK_ECDSA,
+ },
+ { .name = "X25519",
+ .id = GNUTLS_GROUP_X25519,
+ .curve = GNUTLS_ECC_CURVE_X25519,
+ .tls_id = 29,
+ .pk = GNUTLS_PK_ECDH_X25519 },
#ifdef ENABLE_GOST
/* draft-smyshlyaev-tls12-gost-suites-06, Section 6 */
{
- .name = "GC256A",
- .id = GNUTLS_GROUP_GC256A,
- .curve = GNUTLS_ECC_CURVE_GOST256A,
- .pk = GNUTLS_PK_GOST_12_256,
- .tls_id = 34,
- },
+ .name = "GC256A",
+ .id = GNUTLS_GROUP_GC256A,
+ .curve = GNUTLS_ECC_CURVE_GOST256A,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .tls_id = 34,
+ },
{
- .name = "GC256B",
- .id = GNUTLS_GROUP_GC256B,
- .curve = GNUTLS_ECC_CURVE_GOST256B,
- .pk = GNUTLS_PK_GOST_12_256,
- .tls_id = 35,
- },
+ .name = "GC256B",
+ .id = GNUTLS_GROUP_GC256B,
+ .curve = GNUTLS_ECC_CURVE_GOST256B,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .tls_id = 35,
+ },
{
- .name = "GC256C",
- .id = GNUTLS_GROUP_GC256C,
- .curve = GNUTLS_ECC_CURVE_GOST256C,
- .pk = GNUTLS_PK_GOST_12_256,
- .tls_id = 36,
- },
+ .name = "GC256C",
+ .id = GNUTLS_GROUP_GC256C,
+ .curve = GNUTLS_ECC_CURVE_GOST256C,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .tls_id = 36,
+ },
{
- .name = "GC256D",
- .id = GNUTLS_GROUP_GC256D,
- .curve = GNUTLS_ECC_CURVE_GOST256D,
- .pk = GNUTLS_PK_GOST_12_256,
- .tls_id = 37,
- },
+ .name = "GC256D",
+ .id = GNUTLS_GROUP_GC256D,
+ .curve = GNUTLS_ECC_CURVE_GOST256D,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .tls_id = 37,
+ },
{
- .name = "GC512A",
- .id = GNUTLS_GROUP_GC512A,
- .curve = GNUTLS_ECC_CURVE_GOST512A,
- .pk = GNUTLS_PK_GOST_12_512,
- .tls_id = 38,
- },
+ .name = "GC512A",
+ .id = GNUTLS_GROUP_GC512A,
+ .curve = GNUTLS_ECC_CURVE_GOST512A,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .tls_id = 38,
+ },
{
- .name = "GC512B",
- .id = GNUTLS_GROUP_GC512B,
- .curve = GNUTLS_ECC_CURVE_GOST512B,
- .pk = GNUTLS_PK_GOST_12_512,
- .tls_id = 39,
- },
+ .name = "GC512B",
+ .id = GNUTLS_GROUP_GC512B,
+ .curve = GNUTLS_ECC_CURVE_GOST512B,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .tls_id = 39,
+ },
{
- .name = "GC512C",
- .id = GNUTLS_GROUP_GC512C,
- .curve = GNUTLS_ECC_CURVE_GOST512C,
- .pk = GNUTLS_PK_GOST_12_512,
- .tls_id = 40,
- },
+ .name = "GC512C",
+ .id = GNUTLS_GROUP_GC512C,
+ .curve = GNUTLS_ECC_CURVE_GOST512C,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .tls_id = 40,
+ },
#endif
- {
- .name = "X448",
- .id = GNUTLS_GROUP_X448,
- .curve = GNUTLS_ECC_CURVE_X448,
- .tls_id = 30,
- .pk = GNUTLS_PK_ECDH_X448},
+ { .name = "X448",
+ .id = GNUTLS_GROUP_X448,
+ .curve = GNUTLS_ECC_CURVE_X448,
+ .tls_id = 30,
+ .pk = GNUTLS_PK_ECDH_X448 },
#ifdef ENABLE_DHE
- {
- .name = "FFDHE2048",
- .id = GNUTLS_GROUP_FFDHE2048,
- .generator = &gnutls_ffdhe_2048_group_generator,
- .prime = &gnutls_ffdhe_2048_group_prime,
- .q = &gnutls_ffdhe_2048_group_q,
- .q_bits = &gnutls_ffdhe_2048_key_bits,
- .pk = GNUTLS_PK_DH,
- .tls_id = 0x100},
- {
- .name = "FFDHE3072",
- .id = GNUTLS_GROUP_FFDHE3072,
- .generator = &gnutls_ffdhe_3072_group_generator,
- .prime = &gnutls_ffdhe_3072_group_prime,
- .q = &gnutls_ffdhe_3072_group_q,
- .q_bits = &gnutls_ffdhe_3072_key_bits,
- .pk = GNUTLS_PK_DH,
- .tls_id = 0x101},
- {
- .name = "FFDHE4096",
- .id = GNUTLS_GROUP_FFDHE4096,
- .generator = &gnutls_ffdhe_4096_group_generator,
- .prime = &gnutls_ffdhe_4096_group_prime,
- .q = &gnutls_ffdhe_4096_group_q,
- .q_bits = &gnutls_ffdhe_4096_key_bits,
- .pk = GNUTLS_PK_DH,
- .tls_id = 0x102},
- {
- .name = "FFDHE6144",
- .id = GNUTLS_GROUP_FFDHE6144,
- .generator = &gnutls_ffdhe_6144_group_generator,
- .prime = &gnutls_ffdhe_6144_group_prime,
- .q = &gnutls_ffdhe_6144_group_q,
- .q_bits = &gnutls_ffdhe_6144_key_bits,
- .pk = GNUTLS_PK_DH,
- .tls_id = 0x103},
- {
- .name = "FFDHE8192",
- .id = GNUTLS_GROUP_FFDHE8192,
- .generator = &gnutls_ffdhe_8192_group_generator,
- .prime = &gnutls_ffdhe_8192_group_prime,
- .q = &gnutls_ffdhe_8192_group_q,
- .q_bits = &gnutls_ffdhe_8192_key_bits,
- .pk = GNUTLS_PK_DH,
- .tls_id = 0x104},
+ { .name = "FFDHE2048",
+ .id = GNUTLS_GROUP_FFDHE2048,
+ .generator = &gnutls_ffdhe_2048_group_generator,
+ .prime = &gnutls_ffdhe_2048_group_prime,
+ .q = &gnutls_ffdhe_2048_group_q,
+ .q_bits = &gnutls_ffdhe_2048_key_bits,
+ .pk = GNUTLS_PK_DH,
+ .tls_id = 0x100 },
+ { .name = "FFDHE3072",
+ .id = GNUTLS_GROUP_FFDHE3072,
+ .generator = &gnutls_ffdhe_3072_group_generator,
+ .prime = &gnutls_ffdhe_3072_group_prime,
+ .q = &gnutls_ffdhe_3072_group_q,
+ .q_bits = &gnutls_ffdhe_3072_key_bits,
+ .pk = GNUTLS_PK_DH,
+ .tls_id = 0x101 },
+ { .name = "FFDHE4096",
+ .id = GNUTLS_GROUP_FFDHE4096,
+ .generator = &gnutls_ffdhe_4096_group_generator,
+ .prime = &gnutls_ffdhe_4096_group_prime,
+ .q = &gnutls_ffdhe_4096_group_q,
+ .q_bits = &gnutls_ffdhe_4096_key_bits,
+ .pk = GNUTLS_PK_DH,
+ .tls_id = 0x102 },
+ { .name = "FFDHE6144",
+ .id = GNUTLS_GROUP_FFDHE6144,
+ .generator = &gnutls_ffdhe_6144_group_generator,
+ .prime = &gnutls_ffdhe_6144_group_prime,
+ .q = &gnutls_ffdhe_6144_group_q,
+ .q_bits = &gnutls_ffdhe_6144_key_bits,
+ .pk = GNUTLS_PK_DH,
+ .tls_id = 0x103 },
+ { .name = "FFDHE8192",
+ .id = GNUTLS_GROUP_FFDHE8192,
+ .generator = &gnutls_ffdhe_8192_group_generator,
+ .prime = &gnutls_ffdhe_8192_group_prime,
+ .q = &gnutls_ffdhe_8192_group_q,
+ .q_bits = &gnutls_ffdhe_8192_key_bits,
+ .pk = GNUTLS_PK_DH,
+ .tls_id = 0x104 },
#endif
- {0, 0, 0}
+ { 0, 0, 0 }
};
-#define GNUTLS_GROUP_LOOP(b) \
- { const gnutls_group_entry_st *p; \
- for(p = supported_groups; p->name != NULL; p++) { b ; } }
+#define GNUTLS_GROUP_LOOP(b) \
+ { \
+ const gnutls_group_entry_st *p; \
+ for (p = supported_groups; p->name != NULL; p++) { \
+ b; \
+ } \
+ }
/* Returns the TLS id of the given curve
*/
const gnutls_group_entry_st *_gnutls_tls_id_to_group(unsigned num)
{
- GNUTLS_GROUP_LOOP(if (p->tls_id == num &&
- (p->curve == 0
- || _gnutls_ecc_curve_is_supported(p->curve))) {
- return p;}
- ) ;
+ GNUTLS_GROUP_LOOP(
+ if (p->tls_id == num &&
+ (p->curve == 0 ||
+ _gnutls_ecc_curve_is_supported(p->curve))) { return p; });
return NULL;
}
@@ -202,11 +198,11 @@ const gnutls_group_entry_st *_gnutls_id_to_group(unsigned id)
if (id == 0)
return NULL;
- GNUTLS_GROUP_LOOP(if (p->id == id &&
- (p->curve == 0
- || _gnutls_ecc_curve_is_supported(p->curve))) {
- return p;}
- ) ;
+ GNUTLS_GROUP_LOOP(
+ if (p->id == id && (p->curve == 0 ||
+ _gnutls_ecc_curve_is_supported(p->curve))) {
+ return p;
+ });
return NULL;
}
@@ -230,10 +226,9 @@ const gnutls_group_t *gnutls_group_list(void)
if (groups[0] == 0) {
int i = 0;
- GNUTLS_GROUP_LOOP(if
- (p->curve == 0
- || _gnutls_ecc_curve_is_supported(p->curve))
- groups[i++] = p->id;) ;
+ GNUTLS_GROUP_LOOP(if (p->curve == 0 ||
+ _gnutls_ecc_curve_is_supported(p->curve))
+ groups[i++] = p->id;);
groups[i++] = 0;
}
@@ -255,12 +250,12 @@ gnutls_group_t gnutls_group_get_id(const char *name)
{
gnutls_group_t ret = GNUTLS_GROUP_INVALID;
- GNUTLS_GROUP_LOOP(if
- (c_strcasecmp(p->name, name) == 0
- && (p->curve == 0
- || _gnutls_ecc_curve_is_supported(p->curve))) {
- ret = p->id; break;}
- ) ;
+ GNUTLS_GROUP_LOOP(if (c_strcasecmp(p->name, name) == 0 &&
+ (p->curve == 0 ||
+ _gnutls_ecc_curve_is_supported(p->curve))) {
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -273,8 +268,9 @@ gnutls_group_t _gnutls_group_get_id(const char *name)
gnutls_group_t ret = GNUTLS_GROUP_INVALID;
GNUTLS_GROUP_LOOP(if (c_strcasecmp(p->name, name) == 0) {
- ret = p->id; break;}
- ) ;
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -292,9 +288,7 @@ gnutls_group_t _gnutls_group_get_id(const char *name)
**/
const char *gnutls_group_get_name(gnutls_group_t group)
{
- GNUTLS_GROUP_LOOP(if (p->id == group) {
- return p->name;}
- ) ;
+ GNUTLS_GROUP_LOOP(if (p->id == group) { return p->name; });
return NULL;
}
diff --git a/lib/algorithms/kx.c b/lib/algorithms/kx.c
index df020d8a3f..41b65b5cd7 100644
--- a/lib/algorithms/kx.c
+++ b/lib/algorithms/kx.c
@@ -50,36 +50,36 @@ extern mod_auth_st vko_gost_auth_struct;
typedef struct {
gnutls_kx_algorithm_t algorithm;
gnutls_credentials_type_t client_type;
- gnutls_credentials_type_t server_type; /* The type of credentials a server
+ gnutls_credentials_type_t server_type; /* The type of credentials a server
* needs to set */
} gnutls_cred_map;
static const gnutls_cred_map cred_mappings[] = {
- {GNUTLS_KX_ECDHE_RSA, GNUTLS_CRD_CERTIFICATE,
- GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_ECDHE_ECDSA, GNUTLS_CRD_CERTIFICATE,
- GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_RSA, GNUTLS_CRD_CERTIFICATE, GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_DHE_DSS, GNUTLS_CRD_CERTIFICATE,
- GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_DHE_RSA, GNUTLS_CRD_CERTIFICATE,
- GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_ECDHE_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_PSK},
- {GNUTLS_KX_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_PSK},
- {GNUTLS_KX_DHE_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_PSK},
- {GNUTLS_KX_RSA_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_SRP, GNUTLS_CRD_SRP, GNUTLS_CRD_SRP},
- {GNUTLS_KX_SRP_RSA, GNUTLS_CRD_SRP, GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_SRP_DSS, GNUTLS_CRD_SRP, GNUTLS_CRD_CERTIFICATE},
- {GNUTLS_KX_ANON_DH, GNUTLS_CRD_ANON, GNUTLS_CRD_ANON},
- {GNUTLS_KX_ANON_ECDH, GNUTLS_CRD_ANON, GNUTLS_CRD_ANON},
- {GNUTLS_KX_VKO_GOST_12, GNUTLS_CRD_CERTIFICATE, GNUTLS_CRD_CERTIFICATE},
- {0, 0, 0}
+ { GNUTLS_KX_ECDHE_RSA, GNUTLS_CRD_CERTIFICATE, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_ECDHE_ECDSA, GNUTLS_CRD_CERTIFICATE,
+ GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_RSA, GNUTLS_CRD_CERTIFICATE, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_DHE_DSS, GNUTLS_CRD_CERTIFICATE, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_DHE_RSA, GNUTLS_CRD_CERTIFICATE, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_ECDHE_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_PSK },
+ { GNUTLS_KX_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_PSK },
+ { GNUTLS_KX_DHE_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_PSK },
+ { GNUTLS_KX_RSA_PSK, GNUTLS_CRD_PSK, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_SRP, GNUTLS_CRD_SRP, GNUTLS_CRD_SRP },
+ { GNUTLS_KX_SRP_RSA, GNUTLS_CRD_SRP, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_SRP_DSS, GNUTLS_CRD_SRP, GNUTLS_CRD_CERTIFICATE },
+ { GNUTLS_KX_ANON_DH, GNUTLS_CRD_ANON, GNUTLS_CRD_ANON },
+ { GNUTLS_KX_ANON_ECDH, GNUTLS_CRD_ANON, GNUTLS_CRD_ANON },
+ { GNUTLS_KX_VKO_GOST_12, GNUTLS_CRD_CERTIFICATE,
+ GNUTLS_CRD_CERTIFICATE },
+ { 0, 0, 0 }
};
-#define GNUTLS_KX_MAP_LOOP(b) \
- const gnutls_cred_map *p; \
- for(p = cred_mappings; p->algorithm != 0; p++) { b ; }
+#define GNUTLS_KX_MAP_LOOP(b) \
+ const gnutls_cred_map *p; \
+ for (p = cred_mappings; p->algorithm != 0; p++) { \
+ b; \
+ }
struct gnutls_kx_algo_entry {
const char *name;
@@ -92,54 +92,59 @@ typedef struct gnutls_kx_algo_entry gnutls_kx_algo_entry;
static const gnutls_kx_algo_entry _gnutls_kx_algorithms[] = {
#ifdef ENABLE_ECDHE
- {"ECDHE-RSA", GNUTLS_KX_ECDHE_RSA, &ecdhe_rsa_auth_struct, 0, 1},
- {"ECDHE-ECDSA", GNUTLS_KX_ECDHE_ECDSA, &ecdhe_ecdsa_auth_struct,
- 0, 1},
+ { "ECDHE-RSA", GNUTLS_KX_ECDHE_RSA, &ecdhe_rsa_auth_struct, 0, 1 },
+ { "ECDHE-ECDSA", GNUTLS_KX_ECDHE_ECDSA, &ecdhe_ecdsa_auth_struct, 0,
+ 1 },
#endif
- {"RSA", GNUTLS_KX_RSA, &rsa_auth_struct, 0, 0},
+ { "RSA", GNUTLS_KX_RSA, &rsa_auth_struct, 0, 0 },
#ifdef ENABLE_DHE
- {"DHE-RSA", GNUTLS_KX_DHE_RSA, &dhe_rsa_auth_struct, 1, 1},
- {"DHE-DSS", GNUTLS_KX_DHE_DSS, &dhe_dss_auth_struct, 1, 1},
+ { "DHE-RSA", GNUTLS_KX_DHE_RSA, &dhe_rsa_auth_struct, 1, 1 },
+ { "DHE-DSS", GNUTLS_KX_DHE_DSS, &dhe_dss_auth_struct, 1, 1 },
#endif
#ifdef ENABLE_PSK
- {"PSK", GNUTLS_KX_PSK, &psk_auth_struct, 0, 0},
- {"RSA-PSK", GNUTLS_KX_RSA_PSK, &rsa_psk_auth_struct, 0, 0},
-# ifdef ENABLE_DHE
- {"DHE-PSK", GNUTLS_KX_DHE_PSK, &dhe_psk_auth_struct,
- 1 /* needs DHE params */ , 0},
-# endif
-# ifdef ENABLE_ECDHE
- {"ECDHE-PSK", GNUTLS_KX_ECDHE_PSK, &ecdhe_psk_auth_struct, 0, 0},
-# endif
+ { "PSK", GNUTLS_KX_PSK, &psk_auth_struct, 0, 0 },
+ { "RSA-PSK", GNUTLS_KX_RSA_PSK, &rsa_psk_auth_struct, 0, 0 },
+#ifdef ENABLE_DHE
+ { "DHE-PSK", GNUTLS_KX_DHE_PSK, &dhe_psk_auth_struct,
+ 1 /* needs DHE params */, 0 },
+#endif
+#ifdef ENABLE_ECDHE
+ { "ECDHE-PSK", GNUTLS_KX_ECDHE_PSK, &ecdhe_psk_auth_struct, 0, 0 },
+#endif
#endif
#ifdef ENABLE_SRP
- {"SRP-DSS", GNUTLS_KX_SRP_DSS, &srp_dss_auth_struct, 0, 0},
- {"SRP-RSA", GNUTLS_KX_SRP_RSA, &srp_rsa_auth_struct, 0, 0},
- {"SRP", GNUTLS_KX_SRP, &srp_auth_struct, 0, 0},
+ { "SRP-DSS", GNUTLS_KX_SRP_DSS, &srp_dss_auth_struct, 0, 0 },
+ { "SRP-RSA", GNUTLS_KX_SRP_RSA, &srp_rsa_auth_struct, 0, 0 },
+ { "SRP", GNUTLS_KX_SRP, &srp_auth_struct, 0, 0 },
#endif
#if defined(ENABLE_ANON) && defined(ENABLE_DHE)
- {"ANON-DH", GNUTLS_KX_ANON_DH, &anon_auth_struct, 1, 0},
+ { "ANON-DH", GNUTLS_KX_ANON_DH, &anon_auth_struct, 1, 0 },
#endif
#if defined(ENABLE_ANON) && defined(ENABLE_ECDHE)
- {"ANON-ECDH", GNUTLS_KX_ANON_ECDH, &anon_ecdh_auth_struct, 0, 0},
+ { "ANON-ECDH", GNUTLS_KX_ANON_ECDH, &anon_ecdh_auth_struct, 0, 0 },
#endif
#ifdef ENABLE_GOST
- {"VKO-GOST-12", GNUTLS_KX_VKO_GOST_12, &vko_gost_auth_struct, 0, 0},
+ { "VKO-GOST-12", GNUTLS_KX_VKO_GOST_12, &vko_gost_auth_struct, 0, 0 },
#endif
/* for deprecated and legacy algorithms no longer supported, use
* GNUTLS_KX_INVALID as an entry. This will make them available
* as priority strings, but they will be a no-op.
*/
- {"RSA-EXPORT", GNUTLS_KX_INVALID, NULL, 0, 0},
- {0, 0, 0, 0, 0}
+ { "RSA-EXPORT", GNUTLS_KX_INVALID, NULL, 0, 0 },
+ { 0, 0, 0, 0, 0 }
};
-#define GNUTLS_KX_LOOP(b) \
- const gnutls_kx_algo_entry *p; \
- for(p = _gnutls_kx_algorithms; p->name != NULL; p++) { b ; }
+#define GNUTLS_KX_LOOP(b) \
+ const gnutls_kx_algo_entry *p; \
+ for (p = _gnutls_kx_algorithms; p->name != NULL; p++) { \
+ b; \
+ }
-#define GNUTLS_KX_ALG_LOOP(a) \
- GNUTLS_KX_LOOP( if(p->algorithm == algorithm) { a; break; } )
+#define GNUTLS_KX_ALG_LOOP(a) \
+ GNUTLS_KX_LOOP(if (p->algorithm == algorithm) { \
+ a; \
+ break; \
+ })
/* Key EXCHANGE functions */
mod_auth_st *_gnutls_kx_auth_struct(gnutls_kx_algorithm_t algorithm)
@@ -147,7 +152,6 @@ mod_auth_st *_gnutls_kx_auth_struct(gnutls_kx_algorithm_t algorithm)
mod_auth_st *ret = NULL;
GNUTLS_KX_ALG_LOOP(ret = p->auth_struct);
return ret;
-
}
/**
@@ -183,11 +187,11 @@ gnutls_kx_algorithm_t gnutls_kx_get_id(const char *name)
{
gnutls_kx_algorithm_t ret = GNUTLS_KX_UNKNOWN;
- GNUTLS_KX_LOOP(if
- (c_strcasecmp(p->name, name) == 0
- && (int)p->algorithm != GNUTLS_KX_INVALID) {
- ret = p->algorithm; break;}
- ) ;
+ GNUTLS_KX_LOOP(if (c_strcasecmp(p->name, name) == 0 &&
+ (int)p->algorithm != GNUTLS_KX_INVALID) {
+ ret = p->algorithm;
+ break;
+ });
return ret;
}
@@ -201,8 +205,9 @@ int _gnutls_kx_get_id(const char *name)
gnutls_kx_algorithm_t ret = GNUTLS_KX_UNKNOWN;
GNUTLS_KX_LOOP(if (c_strcasecmp(p->name, name) == 0) {
- ret = p->algorithm; break;}
- ) ;
+ ret = p->algorithm;
+ break;
+ });
return ret;
}
@@ -258,9 +263,8 @@ bool _gnutls_kx_allows_false_start(gnutls_session_t session)
#if defined(ENABLE_DHE) || defined(ENABLE_ANON)
if (needs_dh != 0) {
- bits =
- gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH,
- GNUTLS_SEC_PARAM_HIGH);
+ bits = gnutls_sec_param_to_pk_bits(
+ GNUTLS_PK_DH, GNUTLS_SEC_PARAM_HIGH);
/* check whether sizes are sufficient */
if (e && e->prime) {
if (e->prime->size * 8 < (unsigned)bits)
@@ -269,14 +273,13 @@ bool _gnutls_kx_allows_false_start(gnutls_session_t session)
ret = 0;
} else
#endif
- if (algorithm == GNUTLS_KX_ECDHE_RSA
- || algorithm == GNUTLS_KX_ECDHE_ECDSA) {
- bits =
- gnutls_sec_param_to_pk_bits(GNUTLS_PK_EC,
- GNUTLS_SEC_PARAM_HIGH);
-
- if (e != NULL
- && gnutls_ecc_curve_get_size(e->curve) * 8 < bits)
+ if (algorithm == GNUTLS_KX_ECDHE_RSA ||
+ algorithm == GNUTLS_KX_ECDHE_ECDSA) {
+ bits = gnutls_sec_param_to_pk_bits(
+ GNUTLS_PK_EC, GNUTLS_SEC_PARAM_HIGH);
+
+ if (e != NULL &&
+ gnutls_ecc_curve_get_size(e->curve) * 8 < bits)
ret = 0;
}
}
@@ -299,12 +302,14 @@ _gnutls_map_kx_get_cred(gnutls_kx_algorithm_t algorithm, int server)
gnutls_credentials_type_t ret = -1;
if (server) {
GNUTLS_KX_MAP_LOOP(if (p->algorithm == algorithm) {
- ret = p->server_type; break;}
- ) ;
+ ret = p->server_type;
+ break;
+ });
} else {
GNUTLS_KX_MAP_LOOP(if (p->algorithm == algorithm) {
- ret = p->client_type; break;}
- ) ;
+ ret = p->client_type;
+ break;
+ });
}
return ret;
diff --git a/lib/algorithms/mac.c b/lib/algorithms/mac.c
index 50ad49a3ba..9d1c9b8f3b 100644
--- a/lib/algorithms/mac.c
+++ b/lib/algorithms/mac.c
@@ -37,185 +37,189 @@
#define MAC_OID_STREEBOG_512 "1.2.643.7.1.1.4.2"
static SYSTEM_CONFIG_OR_CONST mac_entry_st hash_algorithms[] = {
- {.name = "SHA1",
- .oid = HASH_OID_SHA1,
- .mac_oid = MAC_OID_SHA1,
- .id = GNUTLS_MAC_SHA1,
- .output_size = 20,
- .key_size = 20,
- .block_size = 64},
- {.name = "MD5+SHA1",
- .id = GNUTLS_MAC_MD5_SHA1,
- .output_size = 36,
- .key_size = 36,
- .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE,
- .block_size = 64},
- {.name = "SHA256",
- .oid = HASH_OID_SHA256,
- .mac_oid = MAC_OID_SHA256,
- .id = GNUTLS_MAC_SHA256,
- .output_size = 32,
- .key_size = 32,
- .block_size = 64},
- {.name = "SHA384",
- .oid = HASH_OID_SHA384,
- .mac_oid = MAC_OID_SHA384,
- .id = GNUTLS_MAC_SHA384,
- .output_size = 48,
- .key_size = 48,
- .block_size = 128},
- {.name = "SHA512",
- .oid = HASH_OID_SHA512,
- .mac_oid = MAC_OID_SHA512,
- .id = GNUTLS_MAC_SHA512,
- .output_size = 64,
- .key_size = 64,
- .block_size = 128},
- {.name = "SHA224",
- .oid = HASH_OID_SHA224,
- .mac_oid = MAC_OID_SHA224,
- .id = GNUTLS_MAC_SHA224,
- .output_size = 28,
- .key_size = 28,
- .block_size = 64},
- {.name = "SHA3-256",
- .oid = HASH_OID_SHA3_256,
- .id = GNUTLS_MAC_SHA3_256,
- .output_size = 32,
- .key_size = 32,
- .block_size = 136},
- {.name = "SHA3-384",
- .oid = HASH_OID_SHA3_384,
- .id = GNUTLS_MAC_SHA3_384,
- .output_size = 48,
- .key_size = 48,
- .block_size = 104},
- {.name = "SHA3-512",
- .oid = HASH_OID_SHA3_512,
- .id = GNUTLS_MAC_SHA3_512,
- .output_size = 64,
- .key_size = 64,
- .block_size = 72},
- {.name = "SHA3-224",
- .oid = HASH_OID_SHA3_224,
- .id = GNUTLS_MAC_SHA3_224,
- .output_size = 28,
- .key_size = 28,
- .block_size = 144},
- {.name = "UMAC-96",
- .id = GNUTLS_MAC_UMAC_96,
- .output_size = 12,
- .key_size = 16,
- .nonce_size = 8},
- {.name = "UMAC-128",
- .id = GNUTLS_MAC_UMAC_128,
- .output_size = 16,
- .key_size = 16,
- .nonce_size = 8},
- {.name = "AEAD",
- .id = GNUTLS_MAC_AEAD,
- .placeholder = 1},
- {.name = "MD5",
- .oid = HASH_OID_MD5,
- .id = GNUTLS_MAC_MD5,
- .output_size = 16,
- .key_size = 16,
- .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE,
- .block_size = 64},
- {.name = "MD2",
- .oid = HASH_OID_MD2,
- .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE,
- .id = GNUTLS_MAC_MD2},
- {.name = "RIPEMD160",
- .oid = HASH_OID_RMD160,
- .id = GNUTLS_MAC_RMD160,
- .output_size = 20,
- .key_size = 20,
- .block_size = 64},
- {.name = "GOSTR341194",
- .oid = HASH_OID_GOST_R_3411_94,
- .mac_oid = MAC_OID_GOST_R_3411_94,
- .id = GNUTLS_MAC_GOSTR_94,
- .output_size = 32,
- .key_size = 32,
- .block_size = 32,
- .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE},
- {.name = "STREEBOG-256",
- .oid = HASH_OID_STREEBOG_256,
- .mac_oid = MAC_OID_STREEBOG_256,
- .id = GNUTLS_MAC_STREEBOG_256,
- .output_size = 32,
- .key_size = 32,
- .block_size = 64},
- {.name = "STREEBOG-512",
- .oid = HASH_OID_STREEBOG_512,
- .mac_oid = MAC_OID_STREEBOG_512,
- .id = GNUTLS_MAC_STREEBOG_512,
- .output_size = 64,
- .key_size = 64,
- .block_size = 64},
- {.name = "AES-CMAC-128",
- .id = GNUTLS_MAC_AES_CMAC_128,
- .output_size = 16,
- .key_size = 16,},
- {.name = "AES-CMAC-256",
- .id = GNUTLS_MAC_AES_CMAC_256,
- .output_size = 16,
- .key_size = 32},
- {.name = "AES-GMAC-128",
- .id = GNUTLS_MAC_AES_GMAC_128,
- .output_size = 16,
- .key_size = 16,
- .nonce_size = 12},
- {.name = "AES-GMAC-192",
- .id = GNUTLS_MAC_AES_GMAC_192,
- .output_size = 16,
- .key_size = 24,
- .nonce_size = 12},
- {.name = "AES-GMAC-256",
- .id = GNUTLS_MAC_AES_GMAC_256,
- .output_size = 16,
- .key_size = 32,
- .nonce_size = 12},
- {.name = "GOST28147-TC26Z-IMIT",
- .id = GNUTLS_MAC_GOST28147_TC26Z_IMIT,
- .output_size = 4,
- .key_size = 32,
- .block_size = 8,
- .flags = GNUTLS_MAC_FLAG_CONTINUOUS_MAC},
- {.name = "SHAKE-128",
- .oid = HASH_OID_SHAKE_128,
- .id = GNUTLS_MAC_SHAKE_128,
- .block_size = 168},
- {.name = "SHAKE-256",
- .oid = HASH_OID_SHAKE_256,
- .id = GNUTLS_MAC_SHAKE_256,
- .block_size = 136},
- {.name = "OMAC-MAGMA",
- .id = GNUTLS_MAC_MAGMA_OMAC,
- .output_size = 8,
- .key_size = 32,
- .block_size = 8},
- {.name = "OMAC-KUZNYECHIK",
- .id = GNUTLS_MAC_KUZNYECHIK_OMAC,
- .output_size = 16,
- .key_size = 32,
- .block_size = 16},
- {.name = "MAC-NULL",
- .id = GNUTLS_MAC_NULL},
- {0, 0, 0, 0, 0, 0, 0, 0, 0}
+ { .name = "SHA1",
+ .oid = HASH_OID_SHA1,
+ .mac_oid = MAC_OID_SHA1,
+ .id = GNUTLS_MAC_SHA1,
+ .output_size = 20,
+ .key_size = 20,
+ .block_size = 64 },
+ { .name = "MD5+SHA1",
+ .id = GNUTLS_MAC_MD5_SHA1,
+ .output_size = 36,
+ .key_size = 36,
+ .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE,
+ .block_size = 64 },
+ { .name = "SHA256",
+ .oid = HASH_OID_SHA256,
+ .mac_oid = MAC_OID_SHA256,
+ .id = GNUTLS_MAC_SHA256,
+ .output_size = 32,
+ .key_size = 32,
+ .block_size = 64 },
+ { .name = "SHA384",
+ .oid = HASH_OID_SHA384,
+ .mac_oid = MAC_OID_SHA384,
+ .id = GNUTLS_MAC_SHA384,
+ .output_size = 48,
+ .key_size = 48,
+ .block_size = 128 },
+ { .name = "SHA512",
+ .oid = HASH_OID_SHA512,
+ .mac_oid = MAC_OID_SHA512,
+ .id = GNUTLS_MAC_SHA512,
+ .output_size = 64,
+ .key_size = 64,
+ .block_size = 128 },
+ { .name = "SHA224",
+ .oid = HASH_OID_SHA224,
+ .mac_oid = MAC_OID_SHA224,
+ .id = GNUTLS_MAC_SHA224,
+ .output_size = 28,
+ .key_size = 28,
+ .block_size = 64 },
+ { .name = "SHA3-256",
+ .oid = HASH_OID_SHA3_256,
+ .id = GNUTLS_MAC_SHA3_256,
+ .output_size = 32,
+ .key_size = 32,
+ .block_size = 136 },
+ { .name = "SHA3-384",
+ .oid = HASH_OID_SHA3_384,
+ .id = GNUTLS_MAC_SHA3_384,
+ .output_size = 48,
+ .key_size = 48,
+ .block_size = 104 },
+ { .name = "SHA3-512",
+ .oid = HASH_OID_SHA3_512,
+ .id = GNUTLS_MAC_SHA3_512,
+ .output_size = 64,
+ .key_size = 64,
+ .block_size = 72 },
+ { .name = "SHA3-224",
+ .oid = HASH_OID_SHA3_224,
+ .id = GNUTLS_MAC_SHA3_224,
+ .output_size = 28,
+ .key_size = 28,
+ .block_size = 144 },
+ { .name = "UMAC-96",
+ .id = GNUTLS_MAC_UMAC_96,
+ .output_size = 12,
+ .key_size = 16,
+ .nonce_size = 8 },
+ { .name = "UMAC-128",
+ .id = GNUTLS_MAC_UMAC_128,
+ .output_size = 16,
+ .key_size = 16,
+ .nonce_size = 8 },
+ { .name = "AEAD", .id = GNUTLS_MAC_AEAD, .placeholder = 1 },
+ { .name = "MD5",
+ .oid = HASH_OID_MD5,
+ .id = GNUTLS_MAC_MD5,
+ .output_size = 16,
+ .key_size = 16,
+ .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE,
+ .block_size = 64 },
+ { .name = "MD2",
+ .oid = HASH_OID_MD2,
+ .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE,
+ .id = GNUTLS_MAC_MD2 },
+ { .name = "RIPEMD160",
+ .oid = HASH_OID_RMD160,
+ .id = GNUTLS_MAC_RMD160,
+ .output_size = 20,
+ .key_size = 20,
+ .block_size = 64 },
+ { .name = "GOSTR341194",
+ .oid = HASH_OID_GOST_R_3411_94,
+ .mac_oid = MAC_OID_GOST_R_3411_94,
+ .id = GNUTLS_MAC_GOSTR_94,
+ .output_size = 32,
+ .key_size = 32,
+ .block_size = 32,
+ .flags = GNUTLS_MAC_FLAG_PREIMAGE_INSECURE },
+ { .name = "STREEBOG-256",
+ .oid = HASH_OID_STREEBOG_256,
+ .mac_oid = MAC_OID_STREEBOG_256,
+ .id = GNUTLS_MAC_STREEBOG_256,
+ .output_size = 32,
+ .key_size = 32,
+ .block_size = 64 },
+ { .name = "STREEBOG-512",
+ .oid = HASH_OID_STREEBOG_512,
+ .mac_oid = MAC_OID_STREEBOG_512,
+ .id = GNUTLS_MAC_STREEBOG_512,
+ .output_size = 64,
+ .key_size = 64,
+ .block_size = 64 },
+ {
+ .name = "AES-CMAC-128",
+ .id = GNUTLS_MAC_AES_CMAC_128,
+ .output_size = 16,
+ .key_size = 16,
+ },
+ { .name = "AES-CMAC-256",
+ .id = GNUTLS_MAC_AES_CMAC_256,
+ .output_size = 16,
+ .key_size = 32 },
+ { .name = "AES-GMAC-128",
+ .id = GNUTLS_MAC_AES_GMAC_128,
+ .output_size = 16,
+ .key_size = 16,
+ .nonce_size = 12 },
+ { .name = "AES-GMAC-192",
+ .id = GNUTLS_MAC_AES_GMAC_192,
+ .output_size = 16,
+ .key_size = 24,
+ .nonce_size = 12 },
+ { .name = "AES-GMAC-256",
+ .id = GNUTLS_MAC_AES_GMAC_256,
+ .output_size = 16,
+ .key_size = 32,
+ .nonce_size = 12 },
+ { .name = "GOST28147-TC26Z-IMIT",
+ .id = GNUTLS_MAC_GOST28147_TC26Z_IMIT,
+ .output_size = 4,
+ .key_size = 32,
+ .block_size = 8,
+ .flags = GNUTLS_MAC_FLAG_CONTINUOUS_MAC },
+ { .name = "SHAKE-128",
+ .oid = HASH_OID_SHAKE_128,
+ .id = GNUTLS_MAC_SHAKE_128,
+ .block_size = 168 },
+ { .name = "SHAKE-256",
+ .oid = HASH_OID_SHAKE_256,
+ .id = GNUTLS_MAC_SHAKE_256,
+ .block_size = 136 },
+ { .name = "OMAC-MAGMA",
+ .id = GNUTLS_MAC_MAGMA_OMAC,
+ .output_size = 8,
+ .key_size = 32,
+ .block_size = 8 },
+ { .name = "OMAC-KUZNYECHIK",
+ .id = GNUTLS_MAC_KUZNYECHIK_OMAC,
+ .output_size = 16,
+ .key_size = 32,
+ .block_size = 16 },
+ { .name = "MAC-NULL", .id = GNUTLS_MAC_NULL },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
-#define GNUTLS_HASH_LOOP(b) \
- const mac_entry_st *p; \
- for(p = hash_algorithms; p->name != NULL; p++) { b ; }
+#define GNUTLS_HASH_LOOP(b) \
+ const mac_entry_st *p; \
+ for (p = hash_algorithms; p->name != NULL; p++) { \
+ b; \
+ }
-#define GNUTLS_HASH_ALG_LOOP(a) \
- GNUTLS_HASH_LOOP( if(p->id == algorithm) { a; break; } )
+#define GNUTLS_HASH_ALG_LOOP(a) \
+ GNUTLS_HASH_LOOP(if (p->id == algorithm) { \
+ a; \
+ break; \
+ })
const mac_entry_st *_gnutls_mac_to_entry(gnutls_mac_algorithm_t c)
{
- GNUTLS_HASH_LOOP(if (c == p->id) return p) ;
+ GNUTLS_HASH_LOOP(if (c == p->id) return p);
return NULL;
}
@@ -253,8 +257,9 @@ const char *gnutls_digest_get_name(gnutls_digest_algorithm_t algorithm)
const char *ret = NULL;
GNUTLS_HASH_LOOP(if (algorithm == (unsigned)p->id && p->oid != NULL) {
- ret = p->name; break;}
- ) ;
+ ret = p->name;
+ break;
+ });
return ret;
}
@@ -273,11 +278,12 @@ gnutls_digest_algorithm_t gnutls_digest_get_id(const char *name)
{
gnutls_digest_algorithm_t ret = GNUTLS_DIG_UNKNOWN;
- GNUTLS_HASH_LOOP(if (p->oid != NULL && c_strcasecmp(p->name, name) == 0) {
- if (_gnutls_digest_exists
- ((gnutls_digest_algorithm_t) p->id))
- ret = (gnutls_digest_algorithm_t) p->id; break;}
- ) ;
+ GNUTLS_HASH_LOOP(if (p->oid != NULL &&
+ c_strcasecmp(p->name, name) == 0) {
+ if (_gnutls_digest_exists((gnutls_digest_algorithm_t)p->id))
+ ret = (gnutls_digest_algorithm_t)p->id;
+ break;
+ });
return ret;
}
@@ -289,7 +295,7 @@ int _gnutls_digest_mark_insecure(gnutls_digest_algorithm_t dig)
mac_entry_st *p;
for (p = hash_algorithms; p->name != NULL; p++) {
- if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t) dig) {
+ if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t)dig) {
p->flags |= GNUTLS_MAC_FLAG_PREIMAGE_INSECURE;
return 0;
}
@@ -307,25 +313,24 @@ void _gnutls_digest_mark_insecure_all(void)
for (p = hash_algorithms; p->name != NULL; p++) {
p->flags |= GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE |
- GNUTLS_MAC_FLAG_PREIMAGE_INSECURE;
+ GNUTLS_MAC_FLAG_PREIMAGE_INSECURE;
}
#endif
}
-int
-_gnutls_digest_set_secure(gnutls_digest_algorithm_t dig, unsigned int secure)
+int _gnutls_digest_set_secure(gnutls_digest_algorithm_t dig,
+ unsigned int secure)
{
#ifndef DISABLE_SYSTEM_CONFIG
mac_entry_st *p;
for (p = hash_algorithms; p->name != NULL; p++) {
- if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t) dig) {
- if (!
- (p->flags &
- GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE)) {
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t)dig) {
+ if (!(p->flags &
+ GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE)) {
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
if (secure) {
p->flags &= ~GNUTLS_MAC_FLAG_PREIMAGE_INSECURE;
@@ -345,7 +350,7 @@ unsigned _gnutls_digest_is_insecure(gnutls_digest_algorithm_t dig)
const mac_entry_st *p;
for (p = hash_algorithms; p->name != NULL; p++) {
- if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t) dig) {
+ if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t)dig) {
return p->flags & GNUTLS_MAC_FLAG_PREIMAGE_INSECURE;
}
}
@@ -358,12 +363,11 @@ bool _gnutls_digest_is_insecure2(gnutls_digest_algorithm_t dig, unsigned flags)
const mac_entry_st *p;
for (p = hash_algorithms; p->name != NULL; p++) {
- if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t) dig) {
+ if (p->oid != NULL && p->id == (gnutls_mac_algorithm_t)dig) {
return (p->flags & GNUTLS_MAC_FLAG_PREIMAGE_INSECURE &&
- !(flags &
- GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE
- && p->flags &
- GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE));
+ !(flags & GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE &&
+ p->flags &
+ GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE));
}
}
@@ -385,9 +389,10 @@ gnutls_mac_algorithm_t gnutls_mac_get_id(const char *name)
gnutls_mac_algorithm_t ret = GNUTLS_MAC_UNKNOWN;
GNUTLS_HASH_LOOP(if (c_strcasecmp(p->name, name) == 0) {
- if (p->placeholder != 0 || _gnutls_mac_exists(p->id))
- ret = p->id; break;}
- ) ;
+ if (p->placeholder != 0 || _gnutls_mac_exists(p->id))
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -448,10 +453,9 @@ const gnutls_mac_algorithm_t *gnutls_mac_list(void)
if (supported_macs[0] == 0) {
int i = 0;
- GNUTLS_HASH_LOOP(if
- (p->placeholder != 0
- || _gnutls_mac_exists(p->id))
- supported_macs[i++] = p->id;) ;
+ GNUTLS_HASH_LOOP(
+ if (p->placeholder != 0 || _gnutls_mac_exists(p->id))
+ supported_macs[i++] = p->id;);
supported_macs[i++] = 0;
}
@@ -475,13 +479,12 @@ const gnutls_digest_algorithm_t *gnutls_digest_list(void)
if (supported_digests[0] == 0) {
int i = 0;
- GNUTLS_HASH_LOOP(if (p->oid != NULL && (p->placeholder != 0 ||
- _gnutls_mac_exists
- (p->id))) {
-
- supported_digests[i++] =
- (gnutls_digest_algorithm_t) p->id;}
- ) ;
+ GNUTLS_HASH_LOOP(
+ if (p->oid != NULL && (p->placeholder != 0 ||
+ _gnutls_mac_exists(p->id))) {
+ supported_digests[i++] =
+ (gnutls_digest_algorithm_t)p->id;
+ });
supported_digests[i++] = 0;
}
@@ -502,11 +505,11 @@ const gnutls_digest_algorithm_t *gnutls_digest_list(void)
gnutls_digest_algorithm_t gnutls_oid_to_digest(const char *oid)
{
GNUTLS_HASH_LOOP(if (p->oid && strcmp(oid, p->oid) == 0) {
- if (_gnutls_digest_exists
- ((gnutls_digest_algorithm_t) p->id)) {
- return (gnutls_digest_algorithm_t) p->id;}
- break;}
- ) ;
+ if (_gnutls_digest_exists((gnutls_digest_algorithm_t)p->id)) {
+ return (gnutls_digest_algorithm_t)p->id;
+ }
+ break;
+ });
return GNUTLS_DIG_UNKNOWN;
}
@@ -525,10 +528,11 @@ gnutls_digest_algorithm_t gnutls_oid_to_digest(const char *oid)
gnutls_mac_algorithm_t gnutls_oid_to_mac(const char *oid)
{
GNUTLS_HASH_LOOP(if (p->mac_oid && strcmp(oid, p->mac_oid) == 0) {
- if (_gnutls_mac_exists(p->id)) {
- return p->id;}
- break;}
- ) ;
+ if (_gnutls_mac_exists(p->id)) {
+ return p->id;
+ }
+ break;
+ });
return GNUTLS_MAC_UNKNOWN;
}
@@ -547,8 +551,8 @@ gnutls_mac_algorithm_t gnutls_oid_to_mac(const char *oid)
const char *gnutls_digest_get_oid(gnutls_digest_algorithm_t algorithm)
{
GNUTLS_HASH_LOOP(if (algorithm == (unsigned)p->id && p->oid != NULL) {
- return p->oid;}
- ) ;
+ return p->oid;
+ });
return NULL;
}
diff --git a/lib/algorithms/protocols.c b/lib/algorithms/protocols.c
index d3f5398857..947cf09473 100644
--- a/lib/algorithms/protocols.c
+++ b/lib/algorithms/protocols.c
@@ -29,133 +29,133 @@
/* TLS Versions */
static SYSTEM_CONFIG_OR_CONST version_entry_st sup_versions[] = {
- {.name = "SSL3.0",
- .id = GNUTLS_SSL3,
- .age = 0,
- .major = 3,
- .minor = 0,
- .transport = GNUTLS_STREAM,
+ { .name = "SSL3.0",
+ .id = GNUTLS_SSL3,
+ .age = 0,
+ .major = 3,
+ .minor = 0,
+ .transport = GNUTLS_STREAM,
#ifdef ENABLE_SSL3
- .supported = 1,
+ .supported = 1,
#endif
- .explicit_iv = 0,
- .extensions = 0,
- .selectable_sighash = 0,
- .selectable_prf = 0,
- .obsolete = 1,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 0},
- {.name = "TLS1.0",
- .id = GNUTLS_TLS1,
- .age = 1,
- .major = 3,
- .minor = 1,
- .transport = GNUTLS_STREAM,
- .supported = 1,
- .explicit_iv = 0,
- .extensions = 1,
- .selectable_sighash = 0,
- .selectable_prf = 0,
- .obsolete = 0,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 0},
- {.name = "TLS1.1",
- .id = GNUTLS_TLS1_1,
- .age = 2,
- .major = 3,
- .minor = 2,
- .transport = GNUTLS_STREAM,
- .supported = 1,
- .explicit_iv = 1,
- .extensions = 1,
- .selectable_sighash = 0,
- .selectable_prf = 0,
- .obsolete = 0,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 0},
- {.name = "TLS1.2",
- .id = GNUTLS_TLS1_2,
- .age = 3,
- .major = 3,
- .minor = 3,
- .transport = GNUTLS_STREAM,
- .supported = 1,
- .explicit_iv = 1,
- .extensions = 1,
- .selectable_sighash = 1,
- .selectable_prf = 1,
- .obsolete = 0,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 1},
- {.name = "TLS1.3",
- .id = GNUTLS_TLS1_3,
- .age = 5,
- .major = 3,
- .minor = 4,
- .transport = GNUTLS_STREAM,
- .supported = 1,
- .explicit_iv = 0,
- .extensions = 1,
- .selectable_sighash = 1,
- .selectable_prf = 1,
- .tls13_sem = 1,
- .obsolete = 0,
- .only_extension = 1,
- .post_handshake_auth = 1,
- .multi_ocsp = 1,
- .key_shares = 1,
- .false_start = 0, /* doesn't make sense */
- .tls_sig_sem = SIG_SEM_TLS13},
- {.name = "DTLS0.9", /* Cisco AnyConnect (based on about OpenSSL 0.9.8e) */
- .id = GNUTLS_DTLS0_9,
- .age = 200,
- .major = 1,
- .minor = 0,
- .transport = GNUTLS_DGRAM,
- .supported = 1,
- .explicit_iv = 1,
- .extensions = 1,
- .selectable_sighash = 0,
- .selectable_prf = 0,
- .obsolete = 0,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 0},
- {.name = "DTLS1.0",
- .id = GNUTLS_DTLS1_0,
- .age = 201,
- .major = 254,
- .minor = 255,
- .transport = GNUTLS_DGRAM,
- .supported = 1,
- .explicit_iv = 1,
- .extensions = 1,
- .selectable_sighash = 0,
- .selectable_prf = 0,
- .obsolete = 0,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 0},
- {.name = "DTLS1.2",
- .id = GNUTLS_DTLS1_2,
- .age = 202,
- .major = 254,
- .minor = 253,
- .transport = GNUTLS_DGRAM,
- .supported = 1,
- .explicit_iv = 1,
- .extensions = 1,
- .selectable_sighash = 1,
- .selectable_prf = 1,
- .obsolete = 0,
- .only_extension = 0,
- .tls_sig_sem = SIG_SEM_PRE_TLS12,
- .false_start = 1},
- {0, 0, 0, 0, 0}
+ .explicit_iv = 0,
+ .extensions = 0,
+ .selectable_sighash = 0,
+ .selectable_prf = 0,
+ .obsolete = 1,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 0 },
+ { .name = "TLS1.0",
+ .id = GNUTLS_TLS1,
+ .age = 1,
+ .major = 3,
+ .minor = 1,
+ .transport = GNUTLS_STREAM,
+ .supported = 1,
+ .explicit_iv = 0,
+ .extensions = 1,
+ .selectable_sighash = 0,
+ .selectable_prf = 0,
+ .obsolete = 0,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 0 },
+ { .name = "TLS1.1",
+ .id = GNUTLS_TLS1_1,
+ .age = 2,
+ .major = 3,
+ .minor = 2,
+ .transport = GNUTLS_STREAM,
+ .supported = 1,
+ .explicit_iv = 1,
+ .extensions = 1,
+ .selectable_sighash = 0,
+ .selectable_prf = 0,
+ .obsolete = 0,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 0 },
+ { .name = "TLS1.2",
+ .id = GNUTLS_TLS1_2,
+ .age = 3,
+ .major = 3,
+ .minor = 3,
+ .transport = GNUTLS_STREAM,
+ .supported = 1,
+ .explicit_iv = 1,
+ .extensions = 1,
+ .selectable_sighash = 1,
+ .selectable_prf = 1,
+ .obsolete = 0,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 1 },
+ { .name = "TLS1.3",
+ .id = GNUTLS_TLS1_3,
+ .age = 5,
+ .major = 3,
+ .minor = 4,
+ .transport = GNUTLS_STREAM,
+ .supported = 1,
+ .explicit_iv = 0,
+ .extensions = 1,
+ .selectable_sighash = 1,
+ .selectable_prf = 1,
+ .tls13_sem = 1,
+ .obsolete = 0,
+ .only_extension = 1,
+ .post_handshake_auth = 1,
+ .multi_ocsp = 1,
+ .key_shares = 1,
+ .false_start = 0, /* doesn't make sense */
+ .tls_sig_sem = SIG_SEM_TLS13 },
+ { .name = "DTLS0.9", /* Cisco AnyConnect (based on about OpenSSL 0.9.8e) */
+ .id = GNUTLS_DTLS0_9,
+ .age = 200,
+ .major = 1,
+ .minor = 0,
+ .transport = GNUTLS_DGRAM,
+ .supported = 1,
+ .explicit_iv = 1,
+ .extensions = 1,
+ .selectable_sighash = 0,
+ .selectable_prf = 0,
+ .obsolete = 0,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 0 },
+ { .name = "DTLS1.0",
+ .id = GNUTLS_DTLS1_0,
+ .age = 201,
+ .major = 254,
+ .minor = 255,
+ .transport = GNUTLS_DGRAM,
+ .supported = 1,
+ .explicit_iv = 1,
+ .extensions = 1,
+ .selectable_sighash = 0,
+ .selectable_prf = 0,
+ .obsolete = 0,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 0 },
+ { .name = "DTLS1.2",
+ .id = GNUTLS_DTLS1_2,
+ .age = 202,
+ .major = 254,
+ .minor = 253,
+ .transport = GNUTLS_DGRAM,
+ .supported = 1,
+ .explicit_iv = 1,
+ .extensions = 1,
+ .selectable_sighash = 1,
+ .selectable_prf = 1,
+ .obsolete = 0,
+ .only_extension = 0,
+ .tls_sig_sem = SIG_SEM_PRE_TLS12,
+ .false_start = 1 },
+ { 0, 0, 0, 0, 0 }
};
const version_entry_st *version_to_entry(gnutls_protocol_t version)
@@ -179,12 +179,11 @@ const version_entry_st *nversion_to_entry(uint8_t major, uint8_t minor)
return NULL;
}
-static int
-version_is_valid_for_session(gnutls_session_t session,
- const version_entry_st * v)
+static int version_is_valid_for_session(gnutls_session_t session,
+ const version_entry_st *v)
{
- if (!v->supported
- && !(v->supported_revertible && _gnutls_allowlisting_mode()))
+ if (!v->supported &&
+ !(v->supported_revertible && _gnutls_allowlisting_mode()))
return 0;
if (v->transport != session->internals.transport)
return 0;
@@ -219,8 +218,8 @@ void _gnutls_version_mark_disabled_all(void)
#endif
}
-int
-_gnutls_protocol_set_enabled(gnutls_protocol_t version, unsigned int enabled)
+int _gnutls_protocol_set_enabled(gnutls_protocol_t version,
+ unsigned int enabled)
{
#ifndef DISABLE_SYSTEM_CONFIG
version_entry_st *p;
@@ -228,8 +227,8 @@ _gnutls_protocol_set_enabled(gnutls_protocol_t version, unsigned int enabled)
for (p = sup_versions; p->name != NULL; p++)
if (p->id == version) {
if (!p->supported_revertible) {
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
p->supported = enabled;
return 0;
@@ -239,8 +238,8 @@ _gnutls_protocol_set_enabled(gnutls_protocol_t version, unsigned int enabled)
}
/* Return the priority of the provided version number */
-int
-_gnutls_version_priority(gnutls_session_t session, gnutls_protocol_t version)
+int _gnutls_version_priority(gnutls_session_t session,
+ gnutls_protocol_t version)
{
unsigned int i;
@@ -265,7 +264,7 @@ const version_entry_st *_gnutls_version_lowest(gnutls_session_t session)
for (i = 0; i < session->internals.priorities->protocol.num_priorities;
i++) {
cur_prot =
- session->internals.priorities->protocol.priorities[i];
+ session->internals.priorities->protocol.priorities[i];
v = version_to_entry(cur_prot);
if (v != NULL && version_is_valid_for_session(session, v)) {
@@ -302,7 +301,7 @@ const version_entry_st *_gnutls_version_max(gnutls_session_t session)
for (i = 0; i < session->internals.priorities->protocol.num_priorities;
i++) {
cur_prot =
- session->internals.priorities->protocol.priorities[i];
+ session->internals.priorities->protocol.priorities[i];
for (p = sup_versions; p->name != NULL; p++) {
if (p->id == cur_prot) {
@@ -310,18 +309,17 @@ const version_entry_st *_gnutls_version_max(gnutls_session_t session)
if (p->obsolete != 0)
break;
#endif
- if (!p->supported
- && !(p->supported_revertible
- && _gnutls_allowlisting_mode()))
+ if (!p->supported &&
+ !(p->supported_revertible &&
+ _gnutls_allowlisting_mode()))
break;
if (p->transport !=
session->internals.transport)
break;
- if (p->tls13_sem
- && (session->
- internals.flags & INT_FLAG_NO_TLS13))
+ if (p->tls13_sem && (session->internals.flags &
+ INT_FLAG_NO_TLS13))
break;
if (max == NULL || cur_prot > max->id) {
@@ -356,7 +354,7 @@ const version_entry_st *_gnutls_legacy_version_max(gnutls_session_t session)
* error code. It will return GNUTLS_E_UNSUPPORTED_VERSION_PACKET
* if there is no version >= TLS 1.3.
*/
-int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t * buffer,
+int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t *buffer,
ssize_t buffer_size)
{
gnutls_protocol_t cur_prot;
@@ -368,16 +366,16 @@ int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t * buffer,
for (i = 0; i < session->internals.priorities->protocol.num_priorities;
i++) {
cur_prot =
- session->internals.priorities->protocol.priorities[i];
+ session->internals.priorities->protocol.priorities[i];
for (p = sup_versions; p->name != NULL; p++) {
if (p->id == cur_prot) {
if (p->obsolete != 0)
break;
- if (!p->supported
- && !(p->supported_revertible
- && _gnutls_allowlisting_mode()))
+ if (!p->supported &&
+ !(p->supported_revertible &&
+ _gnutls_allowlisting_mode()))
break;
if (p->transport !=
@@ -388,9 +386,9 @@ int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t * buffer,
at_least_one_new = 1;
if (buffer_size > 2) {
- _gnutls_debug_log
- ("Advertizing version %d.%d\n",
- (int)p->major, (int)p->minor);
+ _gnutls_debug_log(
+ "Advertizing version %d.%d\n",
+ (int)p->major, (int)p->minor);
buffer[0] = p->major;
buffer[1] = p->minor;
written_bytes += 2;
@@ -407,7 +405,7 @@ int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t * buffer,
}
}
- finish:
+finish:
if (written_bytes == 0)
return gnutls_assert_val(GNUTLS_E_NO_PRIORITIES_WERE_SET);
@@ -425,7 +423,8 @@ unsigned _gnutls_version_is_too_high(gnutls_session_t session, uint8_t major,
const version_entry_st *e;
e = _gnutls_legacy_version_max(session);
- if (e == NULL) /* we don't know; but that means something is unconfigured */
+ if (e ==
+ NULL) /* we don't know; but that means something is unconfigured */
return 1;
if (e->transport == GNUTLS_DGRAM) {
@@ -552,9 +551,8 @@ gnutls_protocol_t _gnutls_version_get(uint8_t major, uint8_t minor)
/* Version Functions */
-int
-_gnutls_nversion_is_supported(gnutls_session_t session,
- unsigned char major, unsigned char minor)
+int _gnutls_nversion_is_supported(gnutls_session_t session, unsigned char major,
+ unsigned char minor)
{
const version_entry_st *p;
int version = 0;
@@ -565,13 +563,12 @@ _gnutls_nversion_is_supported(gnutls_session_t session,
if (p->obsolete != 0)
return 0;
#endif
- if (p->tls13_sem
- && (session->internals.flags & INT_FLAG_NO_TLS13))
+ if (p->tls13_sem &&
+ (session->internals.flags & INT_FLAG_NO_TLS13))
return 0;
- if (!p->supported
- && !(p->supported_revertible
- && _gnutls_allowlisting_mode()))
+ if (!p->supported && !(p->supported_revertible &&
+ _gnutls_allowlisting_mode()))
return 0;
if (p->transport != session->internals.transport)
@@ -586,7 +583,7 @@ _gnutls_nversion_is_supported(gnutls_session_t session,
return 0;
if (_gnutls_version_priority(session, version) < 0)
- return 0; /* disabled by the user */
+ return 0; /* disabled by the user */
else
return 1;
}
diff --git a/lib/algorithms/publickey.c b/lib/algorithms/publickey.c
index 010fabd7d5..77c947510f 100644
--- a/lib/algorithms/publickey.c
+++ b/lib/algorithms/publickey.c
@@ -30,7 +30,8 @@
typedef struct {
gnutls_kx_algorithm_t kx_algorithm;
gnutls_pk_algorithm_t pk_algorithm;
- enum encipher_type encipher_type; /* CIPHER_ENCRYPT if this algorithm is to be used
+ enum encipher_type
+ encipher_type; /* CIPHER_ENCRYPT if this algorithm is to be used
* for encryption, CIPHER_SIGN if signature only,
* CIPHER_IGN if this does not apply at all.
*
@@ -45,60 +46,60 @@ typedef struct {
* use GNUTLS_KX_RSA or GNUTLS_KX_DHE_RSA.
*/
static const gnutls_pk_map pk_mappings[] = {
- {GNUTLS_KX_RSA, GNUTLS_PK_RSA, CIPHER_ENCRYPT},
- {GNUTLS_KX_DHE_RSA, GNUTLS_PK_RSA, CIPHER_SIGN},
- {GNUTLS_KX_SRP_RSA, GNUTLS_PK_RSA, CIPHER_SIGN},
- {GNUTLS_KX_ECDHE_RSA, GNUTLS_PK_RSA, CIPHER_SIGN},
- {GNUTLS_KX_ECDHE_ECDSA, GNUTLS_PK_EC, CIPHER_SIGN},
- {GNUTLS_KX_ECDHE_ECDSA, GNUTLS_PK_EDDSA_ED25519, CIPHER_SIGN},
- {GNUTLS_KX_ECDHE_ECDSA, GNUTLS_PK_EDDSA_ED448, CIPHER_SIGN},
- {GNUTLS_KX_DHE_DSS, GNUTLS_PK_DSA, CIPHER_SIGN},
- {GNUTLS_KX_DHE_RSA, GNUTLS_PK_RSA_PSS, CIPHER_SIGN},
- {GNUTLS_KX_ECDHE_RSA, GNUTLS_PK_RSA_PSS, CIPHER_SIGN},
- {GNUTLS_KX_SRP_DSS, GNUTLS_PK_DSA, CIPHER_SIGN},
- {GNUTLS_KX_RSA_PSK, GNUTLS_PK_RSA, CIPHER_ENCRYPT},
- {GNUTLS_KX_VKO_GOST_12, GNUTLS_PK_GOST_01, CIPHER_SIGN},
- {GNUTLS_KX_VKO_GOST_12, GNUTLS_PK_GOST_12_256, CIPHER_SIGN},
- {GNUTLS_KX_VKO_GOST_12, GNUTLS_PK_GOST_12_512, CIPHER_SIGN},
- {0, 0, 0}
+ { GNUTLS_KX_RSA, GNUTLS_PK_RSA, CIPHER_ENCRYPT },
+ { GNUTLS_KX_DHE_RSA, GNUTLS_PK_RSA, CIPHER_SIGN },
+ { GNUTLS_KX_SRP_RSA, GNUTLS_PK_RSA, CIPHER_SIGN },
+ { GNUTLS_KX_ECDHE_RSA, GNUTLS_PK_RSA, CIPHER_SIGN },
+ { GNUTLS_KX_ECDHE_ECDSA, GNUTLS_PK_EC, CIPHER_SIGN },
+ { GNUTLS_KX_ECDHE_ECDSA, GNUTLS_PK_EDDSA_ED25519, CIPHER_SIGN },
+ { GNUTLS_KX_ECDHE_ECDSA, GNUTLS_PK_EDDSA_ED448, CIPHER_SIGN },
+ { GNUTLS_KX_DHE_DSS, GNUTLS_PK_DSA, CIPHER_SIGN },
+ { GNUTLS_KX_DHE_RSA, GNUTLS_PK_RSA_PSS, CIPHER_SIGN },
+ { GNUTLS_KX_ECDHE_RSA, GNUTLS_PK_RSA_PSS, CIPHER_SIGN },
+ { GNUTLS_KX_SRP_DSS, GNUTLS_PK_DSA, CIPHER_SIGN },
+ { GNUTLS_KX_RSA_PSK, GNUTLS_PK_RSA, CIPHER_ENCRYPT },
+ { GNUTLS_KX_VKO_GOST_12, GNUTLS_PK_GOST_01, CIPHER_SIGN },
+ { GNUTLS_KX_VKO_GOST_12, GNUTLS_PK_GOST_12_256, CIPHER_SIGN },
+ { GNUTLS_KX_VKO_GOST_12, GNUTLS_PK_GOST_12_512, CIPHER_SIGN },
+ { 0, 0, 0 }
};
-#define GNUTLS_PK_MAP_LOOP(b) \
- const gnutls_pk_map *p; \
- for(p = pk_mappings; p->kx_algorithm != 0; p++) { b }
+#define GNUTLS_PK_MAP_LOOP(b) \
+ const gnutls_pk_map *p; \
+ for (p = pk_mappings; p->kx_algorithm != 0; p++) { \
+ b \
+ }
-#define GNUTLS_PK_MAP_ALG_LOOP(a) \
- GNUTLS_PK_MAP_LOOP( if(p->kx_algorithm == kx_algorithm) { a; break; })
+#define GNUTLS_PK_MAP_ALG_LOOP(a) \
+ GNUTLS_PK_MAP_LOOP(if (p->kx_algorithm == kx_algorithm) { \
+ a; \
+ break; \
+ })
-unsigned
-_gnutls_kx_supports_pk(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_pk_algorithm_t pk_algorithm)
+unsigned _gnutls_kx_supports_pk(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_pk_algorithm_t pk_algorithm)
{
- GNUTLS_PK_MAP_LOOP(if
- (p->kx_algorithm == kx_algorithm
- && p->pk_algorithm == pk_algorithm) {
- return 1;}
- )
- return 0;
+ GNUTLS_PK_MAP_LOOP(if (p->kx_algorithm == kx_algorithm &&
+ p->pk_algorithm == pk_algorithm) { return 1; })
+ return 0;
}
-unsigned
-_gnutls_kx_supports_pk_usage(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_pk_algorithm_t pk_algorithm,
- unsigned int key_usage)
+unsigned _gnutls_kx_supports_pk_usage(gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_pk_algorithm_t pk_algorithm,
+ unsigned int key_usage)
{
const gnutls_pk_map *p;
for (p = pk_mappings; p->kx_algorithm != 0; p++) {
- if (p->kx_algorithm == kx_algorithm
- && p->pk_algorithm == pk_algorithm) {
+ if (p->kx_algorithm == kx_algorithm &&
+ p->pk_algorithm == pk_algorithm) {
if (key_usage == 0)
return 1;
- else if (p->encipher_type == CIPHER_SIGN
- && (key_usage & GNUTLS_KEY_DIGITAL_SIGNATURE))
+ else if (p->encipher_type == CIPHER_SIGN &&
+ (key_usage & GNUTLS_KEY_DIGITAL_SIGNATURE))
return 1;
- else if (p->encipher_type == CIPHER_ENCRYPT
- && (key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT))
+ else if (p->encipher_type == CIPHER_ENCRYPT &&
+ (key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT))
return 1;
else
return 0;
@@ -114,63 +115,103 @@ struct gnutls_pk_entry {
const char *name;
const char *oid;
gnutls_pk_algorithm_t id;
- gnutls_ecc_curve_t curve; /* to map PK to specific OID, we need to know the curve for EdDSA */
- bool no_prehashed; /* non-zero if the algorithm cannot sign pre-hashed data */
+ gnutls_ecc_curve_t
+ curve; /* to map PK to specific OID, we need to know the curve for EdDSA */
+ bool no_prehashed; /* non-zero if the algorithm cannot sign pre-hashed data */
};
typedef struct gnutls_pk_entry gnutls_pk_entry;
static const gnutls_pk_entry pk_algorithms[] = {
/* having duplicate entries is ok, as long as the one
* we want to return OID from is first */
- {.name = "RSA",.oid = PK_PKIX1_RSA_OID,.id = GNUTLS_PK_RSA,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "RSA-PSS",.oid = PK_PKIX1_RSA_PSS_OID,.id = GNUTLS_PK_RSA_PSS,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "RSA (X.509)",.oid = PK_X509_RSA_OID,.id = GNUTLS_PK_RSA,
- .curve = GNUTLS_ECC_CURVE_INVALID}, /* some certificates use this OID for RSA */
- {.name = "RSA-MD5",.oid = SIG_RSA_MD5_OID,.id = GNUTLS_PK_RSA,
- .curve = GNUTLS_ECC_CURVE_INVALID}, /* some other broken certificates set RSA with MD5 as an indicator of RSA */
- {.name = "RSA-SHA1",.oid = SIG_RSA_SHA1_OID,.id = GNUTLS_PK_RSA,
- .curve = GNUTLS_ECC_CURVE_INVALID}, /* some other broken certificates set RSA with SHA1 as an indicator of RSA */
- {.name = "RSA-SHA1",.oid = ISO_SIG_RSA_SHA1_OID,.id = GNUTLS_PK_RSA,
- .curve = GNUTLS_ECC_CURVE_INVALID}, /* some other broken certificates set RSA with SHA1 as an indicator of RSA */
- {.name = "DSA",.oid = PK_DSA_OID,.id = GNUTLS_PK_DSA,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "GOST R 34.10-2012-512",.oid = PK_GOST_R3410_2012_512_OID,.id =
- GNUTLS_PK_GOST_12_512,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "GOST R 34.10-2012-256",.oid = PK_GOST_R3410_2012_256_OID,.id =
- GNUTLS_PK_GOST_12_256,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "GOST R 34.10-2001",.oid = PK_GOST_R3410_2001_OID,.id =
- GNUTLS_PK_GOST_01,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "GOST R 34.10-94",.oid = PK_GOST_R3410_94_OID,.id =
- GNUTLS_PK_UNKNOWN,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "EC/ECDSA",.oid = "1.2.840.10045.2.1",.id = GNUTLS_PK_ECDSA,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "EdDSA (Ed25519)",.oid = SIG_EDDSA_SHA512_OID,.id =
- GNUTLS_PK_EDDSA_ED25519,
- .curve = GNUTLS_ECC_CURVE_ED25519,.no_prehashed = 1},
- {.name = "EdDSA (Ed448)",.oid = SIG_ED448_OID,.id =
- GNUTLS_PK_EDDSA_ED448,
- .curve = GNUTLS_ECC_CURVE_ED448,.no_prehashed = 1},
- {.name = "DH",.oid = NULL,.id = GNUTLS_PK_DH,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {.name = "ECDH (X25519)",.oid = ECDH_X25519_OID,.id =
- GNUTLS_PK_ECDH_X25519,
- .curve = GNUTLS_ECC_CURVE_X25519},
- {.name = "ECDH (X448)",.oid = ECDH_X448_OID,.id = GNUTLS_PK_ECDH_X448,
- .curve = GNUTLS_ECC_CURVE_X448},
- {.name = "UNKNOWN",.oid = NULL,.id = GNUTLS_PK_UNKNOWN,
- .curve = GNUTLS_ECC_CURVE_INVALID},
- {0, 0, 0, 0}
+ { .name = "RSA",
+ .oid = PK_PKIX1_RSA_OID,
+ .id = GNUTLS_PK_RSA,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "RSA-PSS",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_PK_RSA_PSS,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "RSA (X.509)",
+ .oid = PK_X509_RSA_OID,
+ .id = GNUTLS_PK_RSA,
+ .curve =
+ GNUTLS_ECC_CURVE_INVALID }, /* some certificates use this OID for RSA */
+ { .name = "RSA-MD5",
+ .oid = SIG_RSA_MD5_OID,
+ .id = GNUTLS_PK_RSA,
+ .curve =
+ GNUTLS_ECC_CURVE_INVALID }, /* some other broken certificates set RSA with MD5 as an indicator of RSA */
+ { .name = "RSA-SHA1",
+ .oid = SIG_RSA_SHA1_OID,
+ .id = GNUTLS_PK_RSA,
+ .curve =
+ GNUTLS_ECC_CURVE_INVALID }, /* some other broken certificates set RSA with SHA1 as an indicator of RSA */
+ { .name = "RSA-SHA1",
+ .oid = ISO_SIG_RSA_SHA1_OID,
+ .id = GNUTLS_PK_RSA,
+ .curve =
+ GNUTLS_ECC_CURVE_INVALID }, /* some other broken certificates set RSA with SHA1 as an indicator of RSA */
+ { .name = "DSA",
+ .oid = PK_DSA_OID,
+ .id = GNUTLS_PK_DSA,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "GOST R 34.10-2012-512",
+ .oid = PK_GOST_R3410_2012_512_OID,
+ .id = GNUTLS_PK_GOST_12_512,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "GOST R 34.10-2012-256",
+ .oid = PK_GOST_R3410_2012_256_OID,
+ .id = GNUTLS_PK_GOST_12_256,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "GOST R 34.10-2001",
+ .oid = PK_GOST_R3410_2001_OID,
+ .id = GNUTLS_PK_GOST_01,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "GOST R 34.10-94",
+ .oid = PK_GOST_R3410_94_OID,
+ .id = GNUTLS_PK_UNKNOWN,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "EC/ECDSA",
+ .oid = "1.2.840.10045.2.1",
+ .id = GNUTLS_PK_ECDSA,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "EdDSA (Ed25519)",
+ .oid = SIG_EDDSA_SHA512_OID,
+ .id = GNUTLS_PK_EDDSA_ED25519,
+ .curve = GNUTLS_ECC_CURVE_ED25519,
+ .no_prehashed = 1 },
+ { .name = "EdDSA (Ed448)",
+ .oid = SIG_ED448_OID,
+ .id = GNUTLS_PK_EDDSA_ED448,
+ .curve = GNUTLS_ECC_CURVE_ED448,
+ .no_prehashed = 1 },
+ { .name = "DH",
+ .oid = NULL,
+ .id = GNUTLS_PK_DH,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "ECDH (X25519)",
+ .oid = ECDH_X25519_OID,
+ .id = GNUTLS_PK_ECDH_X25519,
+ .curve = GNUTLS_ECC_CURVE_X25519 },
+ { .name = "ECDH (X448)",
+ .oid = ECDH_X448_OID,
+ .id = GNUTLS_PK_ECDH_X448,
+ .curve = GNUTLS_ECC_CURVE_X448 },
+ { .name = "UNKNOWN",
+ .oid = NULL,
+ .id = GNUTLS_PK_UNKNOWN,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
+ { 0, 0, 0, 0 }
};
-#define GNUTLS_PK_LOOP(b) \
- { const gnutls_pk_entry *p; \
- for(p = pk_algorithms; p->name != NULL; p++) { b ; } }
+#define GNUTLS_PK_LOOP(b) \
+ { \
+ const gnutls_pk_entry *p; \
+ for (p = pk_algorithms; p->name != NULL; p++) { \
+ b; \
+ } \
+ }
/**
* gnutls_pk_algorithm_get_name:
@@ -186,8 +227,9 @@ const char *gnutls_pk_algorithm_get_name(gnutls_pk_algorithm_t algorithm)
const char *ret = NULL;
GNUTLS_PK_LOOP(if (p->id == algorithm) {
- ret = p->name; break;}
- ) ;
+ ret = p->name;
+ break;
+ });
return ret;
}
@@ -211,11 +253,12 @@ const gnutls_pk_algorithm_t *gnutls_pk_list(void)
if (supported_pks[0] == 0) {
int i = 0;
- GNUTLS_PK_LOOP(if (p->id != GNUTLS_PK_UNKNOWN &&
- supported_pks[i > 0 ? (i - 1) : 0] != p->id
- && _gnutls_pk_exists(p->id)) {
- supported_pks[i++] = p->id;}
- ) ;
+ GNUTLS_PK_LOOP(
+ if (p->id != GNUTLS_PK_UNKNOWN &&
+ supported_pks[i > 0 ? (i - 1) : 0] != p->id &&
+ _gnutls_pk_exists(p->id)) {
+ supported_pks[i++] = p->id;
+ });
supported_pks[i++] = 0;
}
@@ -361,7 +404,7 @@ const char *gnutls_pk_get_oid(gnutls_pk_algorithm_t algorithm)
* Since: 3.6.0
-*/
gnutls_pk_algorithm_t _gnutls_oid_to_pk_and_curve(const char *oid,
- gnutls_ecc_curve_t * curve)
+ gnutls_ecc_curve_t *curve)
{
gnutls_pk_algorithm_t ret = GNUTLS_PK_UNKNOWN;
const gnutls_pk_entry *p;
@@ -389,8 +432,7 @@ enum encipher_type _gnutls_kx_encipher_type(gnutls_kx_algorithm_t kx_algorithm)
{
int ret = CIPHER_IGN;
GNUTLS_PK_MAP_ALG_LOOP(ret = p->encipher_type)
- return ret;
-
+ return ret;
}
bool _gnutls_pk_are_compat(gnutls_pk_algorithm_t pk1, gnutls_pk_algorithm_t pk2)
diff --git a/lib/algorithms/secparams.c b/lib/algorithms/secparams.c
index 60fa9d38f5..a1268bbc78 100644
--- a/lib/algorithms/secparams.c
+++ b/lib/algorithms/secparams.c
@@ -28,34 +28,35 @@
typedef struct {
const char *name;
gnutls_sec_param_t sec_param;
- unsigned int bits; /* security level */
- unsigned int pk_bits; /* DH, RSA, SRP */
- unsigned int dsa_bits; /* bits for DSA. Handled differently since
+ unsigned int bits; /* security level */
+ unsigned int pk_bits; /* DH, RSA, SRP */
+ unsigned int dsa_bits; /* bits for DSA. Handled differently since
* choice of key size in DSA is political.
*/
- unsigned int subgroup_bits; /* subgroup bits */
- unsigned int ecc_bits; /* bits for ECC keys */
+ unsigned int subgroup_bits; /* subgroup bits */
+ unsigned int ecc_bits; /* bits for ECC keys */
} gnutls_sec_params_entry;
static const gnutls_sec_params_entry sec_params[] = {
- {"Insecure", GNUTLS_SEC_PARAM_INSECURE, 0, 0, 0, 0, 0},
- {"Export", GNUTLS_SEC_PARAM_EXPORT, 42, 512, 0, 84, 0},
- {"Very weak", GNUTLS_SEC_PARAM_VERY_WEAK, 64, 767, 0, 128, 0},
- {"Weak", GNUTLS_SEC_PARAM_WEAK, 72, 1008, 1008, 160, 160},
+ { "Insecure", GNUTLS_SEC_PARAM_INSECURE, 0, 0, 0, 0, 0 },
+ { "Export", GNUTLS_SEC_PARAM_EXPORT, 42, 512, 0, 84, 0 },
+ { "Very weak", GNUTLS_SEC_PARAM_VERY_WEAK, 64, 767, 0, 128, 0 },
+ { "Weak", GNUTLS_SEC_PARAM_WEAK, 72, 1008, 1008, 160, 160 },
#ifdef ENABLE_FIPS140
- {"Low", GNUTLS_SEC_PARAM_LOW, 80, 1024, 1024, 160, 160},
- {"Legacy", GNUTLS_SEC_PARAM_LEGACY, 96, 1024, 1024, 192, 192},
- {"Medium", GNUTLS_SEC_PARAM_MEDIUM, 112, 2048, 2048, 224, 224},
- {"High", GNUTLS_SEC_PARAM_HIGH, 128, 3072, 3072, 256, 256},
+ { "Low", GNUTLS_SEC_PARAM_LOW, 80, 1024, 1024, 160, 160 },
+ { "Legacy", GNUTLS_SEC_PARAM_LEGACY, 96, 1024, 1024, 192, 192 },
+ { "Medium", GNUTLS_SEC_PARAM_MEDIUM, 112, 2048, 2048, 224, 224 },
+ { "High", GNUTLS_SEC_PARAM_HIGH, 128, 3072, 3072, 256, 256 },
#else
- {"Low", GNUTLS_SEC_PARAM_LOW, 80, 1024, 1024, 160, 160}, /* ENISA-LEGACY */
- {"Legacy", GNUTLS_SEC_PARAM_LEGACY, 96, 1776, 2048, 192, 192},
- {"Medium", GNUTLS_SEC_PARAM_MEDIUM, 112, 2048, 2048, 256, 224},
- {"High", GNUTLS_SEC_PARAM_HIGH, 128, 3072, 3072, 256, 256},
+ { "Low", GNUTLS_SEC_PARAM_LOW, 80, 1024, 1024, 160,
+ 160 }, /* ENISA-LEGACY */
+ { "Legacy", GNUTLS_SEC_PARAM_LEGACY, 96, 1776, 2048, 192, 192 },
+ { "Medium", GNUTLS_SEC_PARAM_MEDIUM, 112, 2048, 2048, 256, 224 },
+ { "High", GNUTLS_SEC_PARAM_HIGH, 128, 3072, 3072, 256, 256 },
#endif
- {"Ultra", GNUTLS_SEC_PARAM_ULTRA, 192, 8192, 8192, 384, 384},
- {"Future", GNUTLS_SEC_PARAM_FUTURE, 256, 15360, 15360, 512, 512},
- {NULL, 0, 0, 0, 0, 0}
+ { "Ultra", GNUTLS_SEC_PARAM_ULTRA, 192, 8192, 8192, 384, 384 },
+ { "Future", GNUTLS_SEC_PARAM_FUTURE, 256, 15360, 15360, 512, 512 },
+ { NULL, 0, 0, 0, 0, 0 }
};
/**
@@ -73,9 +74,8 @@ static const gnutls_sec_params_entry sec_params[] = {
*
* Since: 2.12.0
**/
-unsigned int
-gnutls_sec_param_to_pk_bits(gnutls_pk_algorithm_t algo,
- gnutls_sec_param_t param)
+unsigned int gnutls_sec_param_to_pk_bits(gnutls_pk_algorithm_t algo,
+ gnutls_sec_param_t param)
{
unsigned int ret = 0;
const gnutls_sec_params_entry *p;
@@ -201,8 +201,8 @@ const char *gnutls_sec_param_get_name(gnutls_sec_param_t param)
*
* Since: 2.12.0
**/
-gnutls_sec_param_t
-gnutls_pk_bits_to_sec_param(gnutls_pk_algorithm_t algo, unsigned int bits)
+gnutls_sec_param_t gnutls_pk_bits_to_sec_param(gnutls_pk_algorithm_t algo,
+ unsigned int bits)
{
gnutls_sec_param_t ret = GNUTLS_SEC_PARAM_INSECURE;
const gnutls_sec_params_entry *p;
diff --git a/lib/algorithms/sign.c b/lib/algorithms/sign.c
index 7f0e6ae934..9e1356dfd7 100644
--- a/lib/algorithms/sign.c
+++ b/lib/algorithms/sign.c
@@ -33,109 +33,110 @@
*/
#ifdef ALLOW_SHA1
-# define SHA1_SECURE_VAL _SECURE
+#define SHA1_SECURE_VAL _SECURE
#else
-# define SHA1_SECURE_VAL _INSECURE_FOR_CERTS
+#define SHA1_SECURE_VAL _INSECURE_FOR_CERTS
#endif
static SYSTEM_CONFIG_OR_CONST gnutls_sign_entry_st sign_algorithms[] = {
/* RSA-PKCS#1 1.5: must be before PSS,
* so that gnutls_pk_to_sign() will return
* these first for backwards compatibility. */
- {.name = "RSA-SHA256",
- .oid = SIG_RSA_SHA256_OID,
- .id = GNUTLS_SIGN_RSA_SHA256,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA256,
- .aid = {{4, 1}, SIG_SEM_DEFAULT}},
- {.name = "RSA-SHA384",
- .oid = SIG_RSA_SHA384_OID,
- .id = GNUTLS_SIGN_RSA_SHA384,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA384,
- .aid = {{5, 1}, SIG_SEM_DEFAULT}},
- {.name = "RSA-SHA512",
- .oid = SIG_RSA_SHA512_OID,
- .id = GNUTLS_SIGN_RSA_SHA512,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA512,
- .aid = {{6, 1}, SIG_SEM_DEFAULT}},
+ { .name = "RSA-SHA256",
+ .oid = SIG_RSA_SHA256_OID,
+ .id = GNUTLS_SIGN_RSA_SHA256,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA256,
+ .aid = { { 4, 1 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-SHA384",
+ .oid = SIG_RSA_SHA384_OID,
+ .id = GNUTLS_SIGN_RSA_SHA384,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA384,
+ .aid = { { 5, 1 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-SHA512",
+ .oid = SIG_RSA_SHA512_OID,
+ .id = GNUTLS_SIGN_RSA_SHA512,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA512,
+ .aid = { { 6, 1 }, SIG_SEM_DEFAULT } },
/* RSA-PSS */
- {.name = "RSA-PSS-SHA256",
- .oid = PK_PKIX1_RSA_PSS_OID,
- .id = GNUTLS_SIGN_RSA_PSS_SHA256,
- .pk = GNUTLS_PK_RSA_PSS,
- .priv_pk = GNUTLS_PK_RSA, /* PKCS#11 doesn't separate RSA from RSA-PSS privkeys */
- .hash = GNUTLS_DIG_SHA256,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 9}, SIG_SEM_DEFAULT}},
- {.name = "RSA-PSS-RSAE-SHA256",
- .oid = PK_PKIX1_RSA_PSS_OID,
- .id = GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- .pk = GNUTLS_PK_RSA_PSS,
- .cert_pk = GNUTLS_PK_RSA,
- .priv_pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA256,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 4}, SIG_SEM_DEFAULT}},
- {.name = "RSA-PSS-SHA384",
- .oid = PK_PKIX1_RSA_PSS_OID,
- .id = GNUTLS_SIGN_RSA_PSS_SHA384,
- .pk = GNUTLS_PK_RSA_PSS,
- .priv_pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA384,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 0x0A}, SIG_SEM_DEFAULT}},
- {.name = "RSA-PSS-RSAE-SHA384",
- .oid = PK_PKIX1_RSA_PSS_OID,
- .id = GNUTLS_SIGN_RSA_PSS_RSAE_SHA384,
- .pk = GNUTLS_PK_RSA_PSS,
- .cert_pk = GNUTLS_PK_RSA,
- .priv_pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA384,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 5}, SIG_SEM_DEFAULT}},
- {.name = "RSA-PSS-SHA512",
- .oid = PK_PKIX1_RSA_PSS_OID,
- .id = GNUTLS_SIGN_RSA_PSS_SHA512,
- .pk = GNUTLS_PK_RSA_PSS,
- .priv_pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA512,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 0x0B}, SIG_SEM_DEFAULT}},
- {.name = "RSA-PSS-RSAE-SHA512",
- .oid = PK_PKIX1_RSA_PSS_OID,
- .id = GNUTLS_SIGN_RSA_PSS_RSAE_SHA512,
- .pk = GNUTLS_PK_RSA_PSS,
- .cert_pk = GNUTLS_PK_RSA,
- .priv_pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA512,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 6}, SIG_SEM_DEFAULT}},
+ { .name = "RSA-PSS-SHA256",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_SIGN_RSA_PSS_SHA256,
+ .pk = GNUTLS_PK_RSA_PSS,
+ .priv_pk =
+ GNUTLS_PK_RSA, /* PKCS#11 doesn't separate RSA from RSA-PSS privkeys */
+ .hash = GNUTLS_DIG_SHA256,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 9 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-PSS-RSAE-SHA256",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ .pk = GNUTLS_PK_RSA_PSS,
+ .cert_pk = GNUTLS_PK_RSA,
+ .priv_pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA256,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 4 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-PSS-SHA384",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_SIGN_RSA_PSS_SHA384,
+ .pk = GNUTLS_PK_RSA_PSS,
+ .priv_pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA384,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 0x0A }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-PSS-RSAE-SHA384",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_SIGN_RSA_PSS_RSAE_SHA384,
+ .pk = GNUTLS_PK_RSA_PSS,
+ .cert_pk = GNUTLS_PK_RSA,
+ .priv_pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA384,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 5 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-PSS-SHA512",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_SIGN_RSA_PSS_SHA512,
+ .pk = GNUTLS_PK_RSA_PSS,
+ .priv_pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA512,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 0x0B }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-PSS-RSAE-SHA512",
+ .oid = PK_PKIX1_RSA_PSS_OID,
+ .id = GNUTLS_SIGN_RSA_PSS_RSAE_SHA512,
+ .pk = GNUTLS_PK_RSA_PSS,
+ .cert_pk = GNUTLS_PK_RSA,
+ .priv_pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA512,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 6 }, SIG_SEM_DEFAULT } },
/* Ed25519: The hash algorithm here is set to be SHA512, although that is
* an internal detail of Ed25519; we set it, because CMS/PKCS#7 requires
* that mapping. */
- {.name = "EdDSA-Ed25519",
- .oid = SIG_EDDSA_SHA512_OID,
- .id = GNUTLS_SIGN_EDDSA_ED25519,
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .hash = GNUTLS_DIG_SHA512,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 7}, SIG_SEM_DEFAULT}},
+ { .name = "EdDSA-Ed25519",
+ .oid = SIG_EDDSA_SHA512_OID,
+ .id = GNUTLS_SIGN_EDDSA_ED25519,
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .hash = GNUTLS_DIG_SHA512,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 7 }, SIG_SEM_DEFAULT } },
/* Ed448: The hash algorithm here is set to be SHAKE256, although that is
* an internal detail of Ed448; we set it, because CMS/PKCS#7 requires
* that mapping. */
- {.name = "EdDSA-Ed448",
- .oid = SIG_ED448_OID,
- .id = GNUTLS_SIGN_EDDSA_ED448,
- .pk = GNUTLS_PK_EDDSA_ED448,
- .hash = GNUTLS_DIG_SHAKE_256,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{8, 8}, SIG_SEM_DEFAULT},
- .hash_output_size = 114},
+ { .name = "EdDSA-Ed448",
+ .oid = SIG_ED448_OID,
+ .id = GNUTLS_SIGN_EDDSA_ED448,
+ .pk = GNUTLS_PK_EDDSA_ED448,
+ .hash = GNUTLS_DIG_SHAKE_256,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 8, 8 }, SIG_SEM_DEFAULT },
+ .hash_output_size = 114 },
/* ECDSA */
/* The following three signature algorithms
@@ -147,277 +148,282 @@ static SYSTEM_CONFIG_OR_CONST gnutls_sign_entry_st sign_algorithms[] = {
* as an alias to them. */
/* we have intentionally the ECDSA-SHAXXX algorithms first
* so that gnutls_pk_to_sign() will return these. */
- {.name = "ECDSA-SHA256",
- .oid = "1.2.840.10045.4.3.2",
- .id = GNUTLS_SIGN_ECDSA_SHA256,
- .pk = GNUTLS_PK_ECDSA,
- .hash = GNUTLS_DIG_SHA256,
- .aid = {{4, 3}, SIG_SEM_PRE_TLS12}},
- {.name = "ECDSA-SHA384",
- .oid = "1.2.840.10045.4.3.3",
- .id = GNUTLS_SIGN_ECDSA_SHA384,
- .pk = GNUTLS_PK_ECDSA,
- .hash = GNUTLS_DIG_SHA384,
- .aid = {{5, 3}, SIG_SEM_PRE_TLS12}},
- {.name = "ECDSA-SHA512",
- .oid = "1.2.840.10045.4.3.4",
- .id = GNUTLS_SIGN_ECDSA_SHA512,
- .pk = GNUTLS_PK_ECDSA,
- .hash = GNUTLS_DIG_SHA512,
- .aid = {{6, 3}, SIG_SEM_PRE_TLS12}},
-
- {.name = "ECDSA-SECP256R1-SHA256",
- .id = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
- .pk = GNUTLS_PK_ECDSA,
- .curve = GNUTLS_ECC_CURVE_SECP256R1,
- .hash = GNUTLS_DIG_SHA256,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{4, 3}, SIG_SEM_TLS13}},
- {.name = "ECDSA-SECP384R1-SHA384",
- .id = GNUTLS_SIGN_ECDSA_SECP384R1_SHA384,
- .pk = GNUTLS_PK_ECDSA,
- .curve = GNUTLS_ECC_CURVE_SECP384R1,
- .hash = GNUTLS_DIG_SHA384,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{5, 3}, SIG_SEM_TLS13}},
- {.name = "ECDSA-SECP521R1-SHA512",
- .id = GNUTLS_SIGN_ECDSA_SECP521R1_SHA512,
- .pk = GNUTLS_PK_ECDSA,
- .curve = GNUTLS_ECC_CURVE_SECP521R1,
- .hash = GNUTLS_DIG_SHA512,
- .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
- .aid = {{6, 3}, SIG_SEM_TLS13}},
+ { .name = "ECDSA-SHA256",
+ .oid = "1.2.840.10045.4.3.2",
+ .id = GNUTLS_SIGN_ECDSA_SHA256,
+ .pk = GNUTLS_PK_ECDSA,
+ .hash = GNUTLS_DIG_SHA256,
+ .aid = { { 4, 3 }, SIG_SEM_PRE_TLS12 } },
+ { .name = "ECDSA-SHA384",
+ .oid = "1.2.840.10045.4.3.3",
+ .id = GNUTLS_SIGN_ECDSA_SHA384,
+ .pk = GNUTLS_PK_ECDSA,
+ .hash = GNUTLS_DIG_SHA384,
+ .aid = { { 5, 3 }, SIG_SEM_PRE_TLS12 } },
+ { .name = "ECDSA-SHA512",
+ .oid = "1.2.840.10045.4.3.4",
+ .id = GNUTLS_SIGN_ECDSA_SHA512,
+ .pk = GNUTLS_PK_ECDSA,
+ .hash = GNUTLS_DIG_SHA512,
+ .aid = { { 6, 3 }, SIG_SEM_PRE_TLS12 } },
+
+ { .name = "ECDSA-SECP256R1-SHA256",
+ .id = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
+ .pk = GNUTLS_PK_ECDSA,
+ .curve = GNUTLS_ECC_CURVE_SECP256R1,
+ .hash = GNUTLS_DIG_SHA256,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 4, 3 }, SIG_SEM_TLS13 } },
+ { .name = "ECDSA-SECP384R1-SHA384",
+ .id = GNUTLS_SIGN_ECDSA_SECP384R1_SHA384,
+ .pk = GNUTLS_PK_ECDSA,
+ .curve = GNUTLS_ECC_CURVE_SECP384R1,
+ .hash = GNUTLS_DIG_SHA384,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 5, 3 }, SIG_SEM_TLS13 } },
+ { .name = "ECDSA-SECP521R1-SHA512",
+ .id = GNUTLS_SIGN_ECDSA_SECP521R1_SHA512,
+ .pk = GNUTLS_PK_ECDSA,
+ .curve = GNUTLS_ECC_CURVE_SECP521R1,
+ .hash = GNUTLS_DIG_SHA512,
+ .flags = GNUTLS_SIGN_FLAG_TLS13_OK,
+ .aid = { { 6, 3 }, SIG_SEM_TLS13 } },
/* ECDSA-SHA3 */
- {.name = "ECDSA-SHA3-224",
- .oid = SIG_ECDSA_SHA3_224_OID,
- .id = GNUTLS_SIGN_ECDSA_SHA3_224,
- .pk = GNUTLS_PK_EC,
- .hash = GNUTLS_DIG_SHA3_224,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "ECDSA-SHA3-256",
- .oid = SIG_ECDSA_SHA3_256_OID,
- .id = GNUTLS_SIGN_ECDSA_SHA3_256,
- .pk = GNUTLS_PK_EC,
- .hash = GNUTLS_DIG_SHA3_256,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "ECDSA-SHA3-384",
- .oid = SIG_ECDSA_SHA3_384_OID,
- .id = GNUTLS_SIGN_ECDSA_SHA3_384,
- .pk = GNUTLS_PK_EC,
- .hash = GNUTLS_DIG_SHA3_384,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "ECDSA-SHA3-512",
- .oid = SIG_ECDSA_SHA3_512_OID,
- .id = GNUTLS_SIGN_ECDSA_SHA3_512,
- .pk = GNUTLS_PK_EC,
- .hash = GNUTLS_DIG_SHA3_512,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-SHA3-224",
- .oid = SIG_RSA_SHA3_224_OID,
- .id = GNUTLS_SIGN_RSA_SHA3_224,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA3_224,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-SHA3-256",
- .oid = SIG_RSA_SHA3_256_OID,
- .id = GNUTLS_SIGN_RSA_SHA3_256,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA3_256,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-SHA3-384",
- .oid = SIG_RSA_SHA3_384_OID,
- .id = GNUTLS_SIGN_RSA_SHA3_384,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA3_384,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-SHA3-512",
- .oid = SIG_RSA_SHA3_512_OID,
- .id = GNUTLS_SIGN_RSA_SHA3_512,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA3_512,
- .aid = TLS_SIGN_AID_UNKNOWN},
+ { .name = "ECDSA-SHA3-224",
+ .oid = SIG_ECDSA_SHA3_224_OID,
+ .id = GNUTLS_SIGN_ECDSA_SHA3_224,
+ .pk = GNUTLS_PK_EC,
+ .hash = GNUTLS_DIG_SHA3_224,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "ECDSA-SHA3-256",
+ .oid = SIG_ECDSA_SHA3_256_OID,
+ .id = GNUTLS_SIGN_ECDSA_SHA3_256,
+ .pk = GNUTLS_PK_EC,
+ .hash = GNUTLS_DIG_SHA3_256,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "ECDSA-SHA3-384",
+ .oid = SIG_ECDSA_SHA3_384_OID,
+ .id = GNUTLS_SIGN_ECDSA_SHA3_384,
+ .pk = GNUTLS_PK_EC,
+ .hash = GNUTLS_DIG_SHA3_384,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "ECDSA-SHA3-512",
+ .oid = SIG_ECDSA_SHA3_512_OID,
+ .id = GNUTLS_SIGN_ECDSA_SHA3_512,
+ .pk = GNUTLS_PK_EC,
+ .hash = GNUTLS_DIG_SHA3_512,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-SHA3-224",
+ .oid = SIG_RSA_SHA3_224_OID,
+ .id = GNUTLS_SIGN_RSA_SHA3_224,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA3_224,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-SHA3-256",
+ .oid = SIG_RSA_SHA3_256_OID,
+ .id = GNUTLS_SIGN_RSA_SHA3_256,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA3_256,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-SHA3-384",
+ .oid = SIG_RSA_SHA3_384_OID,
+ .id = GNUTLS_SIGN_RSA_SHA3_384,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA3_384,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-SHA3-512",
+ .oid = SIG_RSA_SHA3_512_OID,
+ .id = GNUTLS_SIGN_RSA_SHA3_512,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA3_512,
+ .aid = TLS_SIGN_AID_UNKNOWN },
/* DSA-SHA3 */
- {.name = "DSA-SHA3-224",
- .oid = SIG_DSA_SHA3_224_OID,
- .id = GNUTLS_SIGN_DSA_SHA3_224,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA3_224,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA3-256",
- .oid = SIG_DSA_SHA3_256_OID,
- .id = GNUTLS_SIGN_DSA_SHA3_256,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA3_256,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA3-384",
- .oid = SIG_DSA_SHA3_384_OID,
- .id = GNUTLS_SIGN_DSA_SHA3_384,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA3_384,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA3-512",
- .oid = SIG_DSA_SHA3_512_OID,
- .id = GNUTLS_SIGN_DSA_SHA3_512,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA3_512,
- .aid = TLS_SIGN_AID_UNKNOWN},
+ { .name = "DSA-SHA3-224",
+ .oid = SIG_DSA_SHA3_224_OID,
+ .id = GNUTLS_SIGN_DSA_SHA3_224,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA3_224,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA3-256",
+ .oid = SIG_DSA_SHA3_256_OID,
+ .id = GNUTLS_SIGN_DSA_SHA3_256,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA3_256,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA3-384",
+ .oid = SIG_DSA_SHA3_384_OID,
+ .id = GNUTLS_SIGN_DSA_SHA3_384,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA3_384,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA3-512",
+ .oid = SIG_DSA_SHA3_512_OID,
+ .id = GNUTLS_SIGN_DSA_SHA3_512,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA3_512,
+ .aid = TLS_SIGN_AID_UNKNOWN },
/* legacy */
- {.name = "RSA-RAW",
- .oid = NULL,
- .id = GNUTLS_SIGN_RSA_RAW,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_UNKNOWN,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-SHA1",
- .oid = SIG_RSA_SHA1_OID,
- .id = GNUTLS_SIGN_RSA_SHA1,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA1,
- .slevel = SHA1_SECURE_VAL,
- .aid = {{2, 1}, SIG_SEM_DEFAULT}},
- {.name = "RSA-SHA1",
- .oid = ISO_SIG_RSA_SHA1_OID,
- .id = GNUTLS_SIGN_RSA_SHA1,
- .pk = GNUTLS_PK_RSA,
- .slevel = SHA1_SECURE_VAL,
- .hash = GNUTLS_DIG_SHA1,
- .aid = {{2, 1}, SIG_SEM_DEFAULT}},
- {.name = "RSA-SHA224",
- .oid = SIG_RSA_SHA224_OID,
- .id = GNUTLS_SIGN_RSA_SHA224,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_SHA224,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-RMD160",
- .oid = SIG_RSA_RMD160_OID,
- .id = GNUTLS_SIGN_RSA_RMD160,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_RMD160,
- .slevel = _INSECURE_FOR_CERTS,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA1",
- .oid = SIG_DSA_SHA1_OID,
- .id = GNUTLS_SIGN_DSA_SHA1,
- .pk = GNUTLS_PK_DSA,
- .slevel = SHA1_SECURE_VAL,
- .hash = GNUTLS_DIG_SHA1,
- .aid = {{2, 2}, SIG_SEM_PRE_TLS12}},
- {.name = "DSA-SHA1",
- .oid = "1.3.14.3.2.27",
- .id = GNUTLS_SIGN_DSA_SHA1,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA1,
- .slevel = SHA1_SECURE_VAL,
- .aid = {{2, 2}, SIG_SEM_PRE_TLS12}},
- {.name = "DSA-SHA224",
- .oid = SIG_DSA_SHA224_OID,
- .id = GNUTLS_SIGN_DSA_SHA224,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA224,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA256",
- .oid = SIG_DSA_SHA256_OID,
- .id = GNUTLS_SIGN_DSA_SHA256,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA256,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-MD5",
- .oid = SIG_RSA_MD5_OID,
- .id = GNUTLS_SIGN_RSA_MD5,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_MD5,
- .slevel = _INSECURE,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-MD5",
- .oid = "1.3.14.3.2.25",
- .id = GNUTLS_SIGN_RSA_MD5,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_MD5,
- .slevel = _INSECURE,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "RSA-MD2",
- .oid = SIG_RSA_MD2_OID,
- .id = GNUTLS_SIGN_RSA_MD2,
- .pk = GNUTLS_PK_RSA,
- .hash = GNUTLS_DIG_MD2,
- .slevel = _INSECURE,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "ECDSA-SHA1",
- .oid = "1.2.840.10045.4.1",
- .id = GNUTLS_SIGN_ECDSA_SHA1,
- .pk = GNUTLS_PK_EC,
- .slevel = SHA1_SECURE_VAL,
- .hash = GNUTLS_DIG_SHA1,
- .aid = {{2, 3}, SIG_SEM_DEFAULT}},
- {.name = "ECDSA-SHA224",
- .oid = "1.2.840.10045.4.3.1",
- .id = GNUTLS_SIGN_ECDSA_SHA224,
- .pk = GNUTLS_PK_EC,
- .hash = GNUTLS_DIG_SHA224,
- .aid = TLS_SIGN_AID_UNKNOWN},
+ { .name = "RSA-RAW",
+ .oid = NULL,
+ .id = GNUTLS_SIGN_RSA_RAW,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_UNKNOWN,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-SHA1",
+ .oid = SIG_RSA_SHA1_OID,
+ .id = GNUTLS_SIGN_RSA_SHA1,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA1,
+ .slevel = SHA1_SECURE_VAL,
+ .aid = { { 2, 1 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-SHA1",
+ .oid = ISO_SIG_RSA_SHA1_OID,
+ .id = GNUTLS_SIGN_RSA_SHA1,
+ .pk = GNUTLS_PK_RSA,
+ .slevel = SHA1_SECURE_VAL,
+ .hash = GNUTLS_DIG_SHA1,
+ .aid = { { 2, 1 }, SIG_SEM_DEFAULT } },
+ { .name = "RSA-SHA224",
+ .oid = SIG_RSA_SHA224_OID,
+ .id = GNUTLS_SIGN_RSA_SHA224,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_SHA224,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-RMD160",
+ .oid = SIG_RSA_RMD160_OID,
+ .id = GNUTLS_SIGN_RSA_RMD160,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_RMD160,
+ .slevel = _INSECURE_FOR_CERTS,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA1",
+ .oid = SIG_DSA_SHA1_OID,
+ .id = GNUTLS_SIGN_DSA_SHA1,
+ .pk = GNUTLS_PK_DSA,
+ .slevel = SHA1_SECURE_VAL,
+ .hash = GNUTLS_DIG_SHA1,
+ .aid = { { 2, 2 }, SIG_SEM_PRE_TLS12 } },
+ { .name = "DSA-SHA1",
+ .oid = "1.3.14.3.2.27",
+ .id = GNUTLS_SIGN_DSA_SHA1,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA1,
+ .slevel = SHA1_SECURE_VAL,
+ .aid = { { 2, 2 }, SIG_SEM_PRE_TLS12 } },
+ { .name = "DSA-SHA224",
+ .oid = SIG_DSA_SHA224_OID,
+ .id = GNUTLS_SIGN_DSA_SHA224,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA224,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA256",
+ .oid = SIG_DSA_SHA256_OID,
+ .id = GNUTLS_SIGN_DSA_SHA256,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA256,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-MD5",
+ .oid = SIG_RSA_MD5_OID,
+ .id = GNUTLS_SIGN_RSA_MD5,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_MD5,
+ .slevel = _INSECURE,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-MD5",
+ .oid = "1.3.14.3.2.25",
+ .id = GNUTLS_SIGN_RSA_MD5,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_MD5,
+ .slevel = _INSECURE,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "RSA-MD2",
+ .oid = SIG_RSA_MD2_OID,
+ .id = GNUTLS_SIGN_RSA_MD2,
+ .pk = GNUTLS_PK_RSA,
+ .hash = GNUTLS_DIG_MD2,
+ .slevel = _INSECURE,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "ECDSA-SHA1",
+ .oid = "1.2.840.10045.4.1",
+ .id = GNUTLS_SIGN_ECDSA_SHA1,
+ .pk = GNUTLS_PK_EC,
+ .slevel = SHA1_SECURE_VAL,
+ .hash = GNUTLS_DIG_SHA1,
+ .aid = { { 2, 3 }, SIG_SEM_DEFAULT } },
+ { .name = "ECDSA-SHA224",
+ .oid = "1.2.840.10045.4.3.1",
+ .id = GNUTLS_SIGN_ECDSA_SHA224,
+ .pk = GNUTLS_PK_EC,
+ .hash = GNUTLS_DIG_SHA224,
+ .aid = TLS_SIGN_AID_UNKNOWN },
/* GOST R 34.10-2012-512 */
- {.name = "GOSTR341012-512",
- .oid = SIG_GOST_R3410_2012_512_OID,
- .id = GNUTLS_SIGN_GOST_512,
- .pk = GNUTLS_PK_GOST_12_512,
- .hash = GNUTLS_DIG_STREEBOG_512,
- .flags = GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE,
- .aid = {{8, 65}, SIG_SEM_PRE_TLS12}},
+ { .name = "GOSTR341012-512",
+ .oid = SIG_GOST_R3410_2012_512_OID,
+ .id = GNUTLS_SIGN_GOST_512,
+ .pk = GNUTLS_PK_GOST_12_512,
+ .hash = GNUTLS_DIG_STREEBOG_512,
+ .flags = GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE,
+ .aid = { { 8, 65 }, SIG_SEM_PRE_TLS12 } },
/* GOST R 34.10-2012-256 */
- {.name = "GOSTR341012-256",
- .oid = SIG_GOST_R3410_2012_256_OID,
- .id = GNUTLS_SIGN_GOST_256,
- .pk = GNUTLS_PK_GOST_12_256,
- .hash = GNUTLS_DIG_STREEBOG_256,
- .flags = GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE,
- .aid = {{8, 64}, SIG_SEM_PRE_TLS12}},
+ { .name = "GOSTR341012-256",
+ .oid = SIG_GOST_R3410_2012_256_OID,
+ .id = GNUTLS_SIGN_GOST_256,
+ .pk = GNUTLS_PK_GOST_12_256,
+ .hash = GNUTLS_DIG_STREEBOG_256,
+ .flags = GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE,
+ .aid = { { 8, 64 }, SIG_SEM_PRE_TLS12 } },
/* GOST R 34.10-2001 */
- {.name = "GOSTR341001",
- .oid = SIG_GOST_R3410_2001_OID,
- .id = GNUTLS_SIGN_GOST_94,
- .pk = GNUTLS_PK_GOST_01,
- .hash = GNUTLS_DIG_GOSTR_94,
- .flags = GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE,
- .aid = TLS_SIGN_AID_UNKNOWN},
+ { .name = "GOSTR341001",
+ .oid = SIG_GOST_R3410_2001_OID,
+ .id = GNUTLS_SIGN_GOST_94,
+ .pk = GNUTLS_PK_GOST_01,
+ .hash = GNUTLS_DIG_GOSTR_94,
+ .flags = GNUTLS_SIGN_FLAG_CRT_VRFY_REVERSE,
+ .aid = TLS_SIGN_AID_UNKNOWN },
/* GOST R 34.10-94 */
- {.name = "GOSTR341094",
- .oid = SIG_GOST_R3410_94_OID,
- .id = 0,
- .pk = 0,
- .hash = 0,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA384",
- .oid = SIG_DSA_SHA384_OID,
- .id = GNUTLS_SIGN_DSA_SHA384,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA384,
- .aid = TLS_SIGN_AID_UNKNOWN},
- {.name = "DSA-SHA512",
- .oid = SIG_DSA_SHA512_OID,
- .id = GNUTLS_SIGN_DSA_SHA512,
- .pk = GNUTLS_PK_DSA,
- .hash = GNUTLS_DIG_SHA512,
- .aid = TLS_SIGN_AID_UNKNOWN},
-
- {.name = 0,
- .oid = 0,
- .id = 0,
- .pk = 0,
- .hash = 0,
- .aid = TLS_SIGN_AID_UNKNOWN}
+ { .name = "GOSTR341094",
+ .oid = SIG_GOST_R3410_94_OID,
+ .id = 0,
+ .pk = 0,
+ .hash = 0,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA384",
+ .oid = SIG_DSA_SHA384_OID,
+ .id = GNUTLS_SIGN_DSA_SHA384,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA384,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+ { .name = "DSA-SHA512",
+ .oid = SIG_DSA_SHA512_OID,
+ .id = GNUTLS_SIGN_DSA_SHA512,
+ .pk = GNUTLS_PK_DSA,
+ .hash = GNUTLS_DIG_SHA512,
+ .aid = TLS_SIGN_AID_UNKNOWN },
+
+ { .name = 0,
+ .oid = 0,
+ .id = 0,
+ .pk = 0,
+ .hash = 0,
+ .aid = TLS_SIGN_AID_UNKNOWN }
};
-#define GNUTLS_SIGN_LOOP(b) \
- do { \
- const gnutls_sign_entry_st *p; \
- for(p = sign_algorithms; p->name != NULL; p++) { b ; } \
- } while (0)
+#define GNUTLS_SIGN_LOOP(b) \
+ do { \
+ const gnutls_sign_entry_st *p; \
+ for (p = sign_algorithms; p->name != NULL; p++) { \
+ b; \
+ } \
+ } while (0)
-#define GNUTLS_SIGN_ALG_LOOP(a) \
- GNUTLS_SIGN_LOOP( if(p->id && p->id == sign) { a; break; } )
+#define GNUTLS_SIGN_ALG_LOOP(a) \
+ GNUTLS_SIGN_LOOP(if (p->id && p->id == sign) { \
+ a; \
+ break; \
+ })
/**
* gnutls_sign_get_name:
@@ -450,24 +456,23 @@ unsigned gnutls_sign_is_secure(gnutls_sign_algorithm_t algorithm)
return gnutls_sign_is_secure2(algorithm, 0);
}
-bool _gnutls_sign_is_secure2(const gnutls_sign_entry_st * se,
- unsigned int flags)
+bool _gnutls_sign_is_secure2(const gnutls_sign_entry_st *se, unsigned int flags)
{
if (se->hash != GNUTLS_DIG_UNKNOWN &&
- _gnutls_digest_is_insecure2(se->hash,
- flags &
- GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE
- ?
- GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE
- : 0)) {
+ _gnutls_digest_is_insecure2(
+ se->hash,
+ flags & GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE ?
+ GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE :
+ 0)) {
return gnutls_assert_val(false);
}
return (flags & GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS ?
- se->slevel == _SECURE :
- (se->slevel == _SECURE || se->slevel == _INSECURE_FOR_CERTS)) ||
- (flags & GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE &&
- se->flags & GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE);
+ se->slevel == _SECURE :
+ (se->slevel == _SECURE ||
+ se->slevel == _INSECURE_FOR_CERTS)) ||
+ (flags & GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE &&
+ se->flags & GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE);
}
/* This is only called by cfg_apply in priority.c, in blocklisting mode. */
@@ -505,18 +510,18 @@ void _gnutls_sign_mark_insecure_all(hash_security_level_t level)
#endif
}
-int
-_gnutls_sign_set_secure(gnutls_sign_algorithm_t sign,
- hash_security_level_t slevel)
+int _gnutls_sign_set_secure(gnutls_sign_algorithm_t sign,
+ hash_security_level_t slevel)
{
#ifndef DISABLE_SYSTEM_CONFIG
gnutls_sign_entry_st *p;
for (p = sign_algorithms; p->name != NULL; p++) {
if (p->id && p->id == sign) {
- if (!(p->flags & GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE)) {
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ if (!(p->flags &
+ GNUTLS_SIGN_FLAG_INSECURE_REVERTIBLE)) {
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
p->slevel = slevel;
return 0;
@@ -563,13 +568,13 @@ const gnutls_sign_algorithm_t *gnutls_sign_list(void)
int i = 0;
GNUTLS_SIGN_LOOP(
- /* list all algorithms, but not duplicates */
- if (supported_sign[i] != p->id &&
- _gnutls_pk_sign_exists(p->id)) {
- assert(i + 1 < MAX_ALGOS);
- supported_sign[i++] = p->id;
- supported_sign[i + 1] = 0;}
- ) ;
+ /* list all algorithms, but not duplicates */
+ if (supported_sign[i] != p->id &&
+ _gnutls_pk_sign_exists(p->id)) {
+ assert(i + 1 < MAX_ALGOS);
+ supported_sign[i++] = p->id;
+ supported_sign[i + 1] = 0;
+ });
}
return supported_sign;
@@ -589,18 +594,16 @@ gnutls_sign_algorithm_t gnutls_sign_get_id(const char *name)
gnutls_sign_algorithm_t ret = GNUTLS_SIGN_UNKNOWN;
GNUTLS_SIGN_LOOP(if (c_strcasecmp(p->name, name) == 0) {
- ret = p->id; break;}
- ) ;
+ ret = p->id;
+ break;
+ });
return ret;
-
}
const gnutls_sign_entry_st *_gnutls_oid_to_sign_entry(const char *oid)
{
- GNUTLS_SIGN_LOOP(if (p->oid && strcmp(oid, p->oid) == 0) {
- return p;}
- ) ;
+ GNUTLS_SIGN_LOOP(if (p->oid && strcmp(oid, p->oid) == 0) { return p; });
return NULL;
}
@@ -627,13 +630,11 @@ gnutls_sign_algorithm_t gnutls_oid_to_sign(const char *oid)
return se->id;
}
-const gnutls_sign_entry_st *_gnutls_pk_to_sign_entry(gnutls_pk_algorithm_t pk,
- gnutls_digest_algorithm_t
- hash)
+const gnutls_sign_entry_st *
+_gnutls_pk_to_sign_entry(gnutls_pk_algorithm_t pk,
+ gnutls_digest_algorithm_t hash)
{
- GNUTLS_SIGN_LOOP(if (pk == p->pk && hash == p->hash) {
- return p;}
- ) ;
+ GNUTLS_SIGN_LOOP(if (pk == p->pk && hash == p->hash) { return p; });
return NULL;
}
@@ -648,8 +649,8 @@ const gnutls_sign_entry_st *_gnutls_pk_to_sign_entry(gnutls_pk_algorithm_t pk,
*
* Returns: return a #gnutls_sign_algorithm_t value, or %GNUTLS_SIGN_UNKNOWN on error.
**/
-gnutls_sign_algorithm_t
-gnutls_pk_to_sign(gnutls_pk_algorithm_t pk, gnutls_digest_algorithm_t hash)
+gnutls_sign_algorithm_t gnutls_pk_to_sign(gnutls_pk_algorithm_t pk,
+ gnutls_digest_algorithm_t hash)
{
const gnutls_sign_entry_st *e;
@@ -735,9 +736,8 @@ gnutls_pk_algorithm_t gnutls_sign_get_pk_algorithm(gnutls_sign_algorithm_t sign)
*
* Returns: return non-zero when the provided algorithms are compatible.
**/
-unsigned
-gnutls_sign_supports_pk_algorithm(gnutls_sign_algorithm_t sign,
- gnutls_pk_algorithm_t pk)
+unsigned gnutls_sign_supports_pk_algorithm(gnutls_sign_algorithm_t sign,
+ gnutls_pk_algorithm_t pk)
{
const gnutls_sign_entry_st *p;
unsigned r;
@@ -753,20 +753,19 @@ gnutls_sign_supports_pk_algorithm(gnutls_sign_algorithm_t sign,
return 0;
}
-gnutls_sign_algorithm_t
-_gnutls_tls_aid_to_sign(uint8_t id0, uint8_t id1, const version_entry_st * ver)
+gnutls_sign_algorithm_t _gnutls_tls_aid_to_sign(uint8_t id0, uint8_t id1,
+ const version_entry_st *ver)
{
gnutls_sign_algorithm_t ret = GNUTLS_SIGN_UNKNOWN;
if (id0 == 255 && id1 == 255)
return ret;
- GNUTLS_SIGN_LOOP(if (p->aid.id[0] == id0 &&
- p->aid.id[1] == id1 &&
+ GNUTLS_SIGN_LOOP(if (p->aid.id[0] == id0 && p->aid.id[1] == id1 &&
((p->aid.tls_sem & ver->tls_sig_sem) != 0)) {
-
- ret = p->id; break;}
- ) ;
+ ret = p->id;
+ break;
+ });
return ret;
}
@@ -794,32 +793,26 @@ const gnutls_sign_entry_st *_gnutls_sign_to_entry(gnutls_sign_algorithm_t sign)
return ret;
}
-const gnutls_sign_entry_st *_gnutls_tls_aid_to_sign_entry(uint8_t id0,
- uint8_t id1,
- const version_entry_st
- * ver)
+const gnutls_sign_entry_st *
+_gnutls_tls_aid_to_sign_entry(uint8_t id0, uint8_t id1,
+ const version_entry_st *ver)
{
if (id0 == 255 && id1 == 255)
return NULL;
- GNUTLS_SIGN_LOOP(if (p->aid.id[0] == id0 &&
- p->aid.id[1] == id1 &&
- ((p->aid.tls_sem & ver->tls_sig_sem) != 0)) {
-
- return p;}
- ) ;
+ GNUTLS_SIGN_LOOP(
+ if (p->aid.id[0] == id0 && p->aid.id[1] == id1 &&
+ ((p->aid.tls_sem & ver->tls_sig_sem) != 0)) { return p; });
return NULL;
}
-const gnutls_sign_entry_st
- * _gnutls13_sign_get_compatible_with_privkey(gnutls_privkey_t privkey)
+const gnutls_sign_entry_st *
+_gnutls13_sign_get_compatible_with_privkey(gnutls_privkey_t privkey)
{
GNUTLS_SIGN_LOOP(if ((p->flags & GNUTLS_SIGN_FLAG_TLS13_OK) &&
- _gnutls_privkey_compatible_with_sig(privkey,
- p->id)) {
- return p;}
- ) ;
+ _gnutls_privkey_compatible_with_sig(
+ privkey, p->id)) { return p; });
return NULL;
}
diff --git a/lib/anon_cred.c b/lib/anon_cred.c
index 851b1643c4..6f9c787cfa 100644
--- a/lib/anon_cred.c
+++ b/lib/anon_cred.c
@@ -24,12 +24,12 @@
#ifdef ENABLE_ANON
-# include "errors.h"
-# include <auth/anon.h>
-# include "auth.h"
-# include "dh.h"
-# include "num.h"
-# include "mpi.h"
+#include "errors.h"
+#include <auth/anon.h>
+#include "auth.h"
+#include "dh.h"
+#include "num.h"
+#include "mpi.h"
/**
* gnutls_anon_free_server_credentials:
@@ -53,10 +53,8 @@ void gnutls_anon_free_server_credentials(gnutls_anon_server_credentials_t sc)
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_anon_allocate_server_credentials(gnutls_anon_server_credentials_t * sc)
+int gnutls_anon_allocate_server_credentials(gnutls_anon_server_credentials_t *sc)
{
-
*sc = gnutls_calloc(1, sizeof(anon_server_credentials_st));
return 0;
@@ -83,8 +81,7 @@ static const gnutls_anon_client_credentials_t anon_dummy = &anon_dummy_struct;
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t * sc)
+int gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t *sc)
{
/* anon_dummy is only there for *sc not to be null.
* it is not used at all;
@@ -107,9 +104,8 @@ gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t * sc)
* or later. Since 3.6.0, DH parameters are negotiated
* following RFC7919.
**/
-void
-gnutls_anon_set_server_dh_params(gnutls_anon_server_credentials_t res,
- gnutls_dh_params_t dh_params)
+void gnutls_anon_set_server_dh_params(gnutls_anon_server_credentials_t res,
+ gnutls_dh_params_t dh_params)
{
if (res->deinit_dh_params) {
res->deinit_dh_params = 0;
@@ -118,10 +114,8 @@ gnutls_anon_set_server_dh_params(gnutls_anon_server_credentials_t res,
}
res->dh_params = dh_params;
- res->dh_sec_param =
- gnutls_pk_bits_to_sec_param(GNUTLS_PK_DH,
- _gnutls_mpi_get_nbits(dh_params->params
- [0]));
+ res->dh_sec_param = gnutls_pk_bits_to_sec_param(
+ GNUTLS_PK_DH, _gnutls_mpi_get_nbits(dh_params->params[0]));
}
/**
@@ -143,9 +137,8 @@ gnutls_anon_set_server_dh_params(gnutls_anon_server_credentials_t res,
*
* Since: 3.5.6
**/
-int
-gnutls_anon_set_server_known_dh_params(gnutls_anon_server_credentials_t res,
- gnutls_sec_param_t sec_param)
+int gnutls_anon_set_server_known_dh_params(gnutls_anon_server_credentials_t res,
+ gnutls_sec_param_t sec_param)
{
res->dh_sec_param = sec_param;
@@ -166,9 +159,8 @@ gnutls_anon_set_server_known_dh_params(gnutls_anon_server_credentials_t res,
* following RFC7919.
*
**/
-void
-gnutls_anon_set_server_params_function(gnutls_anon_server_credentials_t
- res, gnutls_params_function * func)
+void gnutls_anon_set_server_params_function(
+ gnutls_anon_server_credentials_t res, gnutls_params_function *func)
{
res->params_func = func;
}
@@ -187,9 +179,8 @@ gnutls_anon_set_server_params_function(gnutls_anon_server_credentials_t
* following RFC7919.
*
**/
-void
-gnutls_anon_set_params_function(gnutls_anon_server_credentials_t res,
- gnutls_params_function * func)
+void gnutls_anon_set_params_function(gnutls_anon_server_credentials_t res,
+ gnutls_params_function *func)
{
res->params_func = func;
}
diff --git a/lib/asn1_tab.c b/lib/asn1_tab.c
index a657b94686..ab11171882 100644
--- a/lib/asn1_tab.c
+++ b/lib/asn1_tab.c
@@ -1,70 +1,70 @@
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <libtasn1.h>
const asn1_static_node gnutls_asn1_tab[] = {
- {"GNUTLS", 536872976, NULL},
- {NULL, 1073741836, NULL},
- {"RSAPublicKey", 1610612741, NULL},
- {"modulus", 1073741827, NULL},
- {"publicExponent", 3, NULL},
- {"RSAPrivateKey", 1610612741, NULL},
- {"version", 1073741827, NULL},
- {"modulus", 1073741827, NULL},
- {"publicExponent", 1073741827, NULL},
- {"privateExponent", 1073741827, NULL},
- {"prime1", 1073741827, NULL},
- {"prime2", 1073741827, NULL},
- {"exponent1", 1073741827, NULL},
- {"exponent2", 1073741827, NULL},
- {"coefficient", 1073741827, NULL},
- {"otherPrimeInfos", 16386, "OtherPrimeInfos"},
- {"OtherPrimeInfos", 1612709899, NULL},
- {"MAX", 1074266122, "1"},
- {NULL, 2, "OtherPrimeInfo"},
- {"OtherPrimeInfo", 1610612741, NULL},
- {"prime", 1073741827, NULL},
- {"exponent", 1073741827, NULL},
- {"coefficient", 3, NULL},
- {"AlgorithmIdentifier", 1610612741, NULL},
- {"algorithm", 1073741836, NULL},
- {"parameters", 541081613, NULL},
- {"algorithm", 1, NULL},
- {"DigestInfo", 1610612741, NULL},
- {"digestAlgorithm", 1073741826, "DigestAlgorithmIdentifier"},
- {"digest", 2, "Digest"},
- {"DigestAlgorithmIdentifier", 1073741826, "AlgorithmIdentifier"},
- {"Digest", 1073741831, NULL},
- {"DSAPublicKey", 1073741827, NULL},
- {"DSAParameters", 1610612741, NULL},
- {"p", 1073741827, NULL},
- {"q", 1073741827, NULL},
- {"g", 3, NULL},
- {"DSASignatureValue", 1610612741, NULL},
- {"r", 1073741827, NULL},
- {"s", 3, NULL},
- {"DSAPrivateKey", 1610612741, NULL},
- {"version", 1073741827, NULL},
- {"p", 1073741827, NULL},
- {"q", 1073741827, NULL},
- {"g", 1073741827, NULL},
- {"Y", 1073741827, NULL},
- {"priv", 3, NULL},
- {"DHParameter", 1610612741, NULL},
- {"prime", 1073741827, NULL},
- {"base", 1073741827, NULL},
- {"privateValueLength", 16387, NULL},
- {"ECPoint", 1073741831, NULL},
- {"ECParameters", 1610612754, NULL},
- {"namedCurve", 12, NULL},
- {"ECPrivateKey", 536870917, NULL},
- {"Version", 1073741827, NULL},
- {"privateKey", 1073741831, NULL},
- {"parameters", 1610637314, "ECParameters"},
- {NULL, 2056, "0"},
- {"publicKey", 536895494, NULL},
- {NULL, 2056, "1"},
- {NULL, 0, NULL}
+ { "GNUTLS", 536872976, NULL },
+ { NULL, 1073741836, NULL },
+ { "RSAPublicKey", 1610612741, NULL },
+ { "modulus", 1073741827, NULL },
+ { "publicExponent", 3, NULL },
+ { "RSAPrivateKey", 1610612741, NULL },
+ { "version", 1073741827, NULL },
+ { "modulus", 1073741827, NULL },
+ { "publicExponent", 1073741827, NULL },
+ { "privateExponent", 1073741827, NULL },
+ { "prime1", 1073741827, NULL },
+ { "prime2", 1073741827, NULL },
+ { "exponent1", 1073741827, NULL },
+ { "exponent2", 1073741827, NULL },
+ { "coefficient", 1073741827, NULL },
+ { "otherPrimeInfos", 16386, "OtherPrimeInfos" },
+ { "OtherPrimeInfos", 1612709899, NULL },
+ { "MAX", 1074266122, "1" },
+ { NULL, 2, "OtherPrimeInfo" },
+ { "OtherPrimeInfo", 1610612741, NULL },
+ { "prime", 1073741827, NULL },
+ { "exponent", 1073741827, NULL },
+ { "coefficient", 3, NULL },
+ { "AlgorithmIdentifier", 1610612741, NULL },
+ { "algorithm", 1073741836, NULL },
+ { "parameters", 541081613, NULL },
+ { "algorithm", 1, NULL },
+ { "DigestInfo", 1610612741, NULL },
+ { "digestAlgorithm", 1073741826, "DigestAlgorithmIdentifier" },
+ { "digest", 2, "Digest" },
+ { "DigestAlgorithmIdentifier", 1073741826, "AlgorithmIdentifier" },
+ { "Digest", 1073741831, NULL },
+ { "DSAPublicKey", 1073741827, NULL },
+ { "DSAParameters", 1610612741, NULL },
+ { "p", 1073741827, NULL },
+ { "q", 1073741827, NULL },
+ { "g", 3, NULL },
+ { "DSASignatureValue", 1610612741, NULL },
+ { "r", 1073741827, NULL },
+ { "s", 3, NULL },
+ { "DSAPrivateKey", 1610612741, NULL },
+ { "version", 1073741827, NULL },
+ { "p", 1073741827, NULL },
+ { "q", 1073741827, NULL },
+ { "g", 1073741827, NULL },
+ { "Y", 1073741827, NULL },
+ { "priv", 3, NULL },
+ { "DHParameter", 1610612741, NULL },
+ { "prime", 1073741827, NULL },
+ { "base", 1073741827, NULL },
+ { "privateValueLength", 16387, NULL },
+ { "ECPoint", 1073741831, NULL },
+ { "ECParameters", 1610612754, NULL },
+ { "namedCurve", 12, NULL },
+ { "ECPrivateKey", 536870917, NULL },
+ { "Version", 1073741827, NULL },
+ { "privateKey", 1073741831, NULL },
+ { "parameters", 1610637314, "ECParameters" },
+ { NULL, 2056, "0" },
+ { "publicKey", 536895494, NULL },
+ { NULL, 2056, "1" },
+ { NULL, 0, NULL }
};
diff --git a/lib/atfork.c b/lib/atfork.c
index e46aa4a3aa..79ec55a922 100644
--- a/lib/atfork.c
+++ b/lib/atfork.c
@@ -35,15 +35,15 @@ unsigned int _gnutls_forkid = 0;
#ifndef _WIN32
-# ifdef HAVE_ATFORK
+#ifdef HAVE_ATFORK
static void fork_handler(void)
{
_gnutls_forkid++;
}
-# endif
+#endif
-# if defined(HAVE___REGISTER_ATFORK)
-extern int __register_atfork(void (*)(void), void(*)(void), void (*)(void),
+#if defined(HAVE___REGISTER_ATFORK)
+extern int __register_atfork(void (*)(void), void (*)(void), void (*)(void),
void *);
extern void *__dso_handle;
@@ -54,7 +54,7 @@ int _gnutls_register_fork_handler(void)
return 0;
}
-# else
+#else
unsigned int _gnutls_get_forkid(void)
{
@@ -75,6 +75,6 @@ int _gnutls_register_fork_handler(void)
return 0;
}
-# endif
+#endif
-#endif /* !_WIN32 */
+#endif /* !_WIN32 */
diff --git a/lib/atfork.h b/lib/atfork.h
index 6c8ef3e06b..9ffe40f685 100644
--- a/lib/atfork.h
+++ b/lib/atfork.h
@@ -21,23 +21,23 @@
*/
#ifndef GNUTLS_LIB_ATFORK_H
-# define GNUTLS_LIB_ATFORK_H
+#define GNUTLS_LIB_ATFORK_H
-# include <config.h>
-# include "gnutls_int.h"
+#include <config.h>
+#include "gnutls_int.h"
extern unsigned int _gnutls_forkid;
-# if defined(HAVE___REGISTER_ATFORK)
-# define HAVE_ATFORK
-# endif
+#if defined(HAVE___REGISTER_ATFORK)
+#define HAVE_ATFORK
+#endif
-# ifndef _WIN32
+#ifndef _WIN32
/* API */
-int _gnutls_register_fork_handler(void); /* global init */
+int _gnutls_register_fork_handler(void); /* global init */
-# if defined(HAVE_ATFORK)
+#if defined(HAVE_ATFORK)
inline static int _gnutls_detect_fork(unsigned int forkid)
{
if (forkid == _gnutls_forkid)
@@ -49,16 +49,16 @@ inline static unsigned int _gnutls_get_forkid(void)
{
return _gnutls_forkid;
}
-# else
+#else
int _gnutls_detect_fork(unsigned int forkid);
unsigned int _gnutls_get_forkid(void);
-# endif
+#endif
-# else
+#else
-# define _gnutls_detect_fork(x) 0
-# define _gnutls_get_forkid() 0
+#define _gnutls_detect_fork(x) 0
+#define _gnutls_get_forkid() 0
-# endif
+#endif
-#endif /* GNUTLS_LIB_ATFORK_H */
+#endif /* GNUTLS_LIB_ATFORK_H */
diff --git a/lib/atomic.h b/lib/atomic.h
index 8f50bb453b..e01476ca26 100644
--- a/lib/atomic.h
+++ b/lib/atomic.h
@@ -21,20 +21,20 @@
*/
#ifndef GNUTLS_LIB_ATOMIC_H
-# define GNUTLS_LIB_ATOMIC_H
+#define GNUTLS_LIB_ATOMIC_H
-# ifdef HAVE_STDATOMIC_H
-# include <stdatomic.h>
+#ifdef HAVE_STDATOMIC_H
+#include <stdatomic.h>
-# define gnutls_atomic_uint_t atomic_uint
-# define DEF_ATOMIC_INT(x) atomic_uint x
-# define gnutls_atomic_increment(x) (*x)++
-# define gnutls_atomic_decrement(x) (*x)--
-# define gnutls_atomic_init(x) (*x)=(0)
-# define gnutls_atomic_deinit(x)
-# define gnutls_atomic_val(x) (*x)
-# else
-# include "locks.h"
+#define gnutls_atomic_uint_t atomic_uint
+#define DEF_ATOMIC_INT(x) atomic_uint x
+#define gnutls_atomic_increment(x) (*x)++
+#define gnutls_atomic_decrement(x) (*x)--
+#define gnutls_atomic_init(x) (*x) = (0)
+#define gnutls_atomic_deinit(x)
+#define gnutls_atomic_val(x) (*x)
+#else
+#include "locks.h"
struct gnutls_atomic_uint_st {
void *lock;
@@ -42,7 +42,7 @@ struct gnutls_atomic_uint_st {
};
typedef struct gnutls_atomic_uint_st *gnutls_atomic_uint_t;
-# define DEF_ATOMIC_INT(x) struct gnutls_atomic_uint_st x
+#define DEF_ATOMIC_INT(x) struct gnutls_atomic_uint_st x
inline static unsigned gnutls_atomic_val(gnutls_atomic_uint_t x)
{
@@ -77,6 +77,6 @@ inline static void gnutls_atomic_deinit(gnutls_atomic_uint_t x)
{
gnutls_mutex_deinit(&x->lock);
}
-# endif
+#endif
-#endif /* GNUTLS_LIB_ATOMIC_H */
+#endif /* GNUTLS_LIB_ATOMIC_H */
diff --git a/lib/auth.c b/lib/auth.c
index ffa4d6e784..6bbda1f8ae 100644
--- a/lib/auth.c
+++ b/lib/auth.c
@@ -45,7 +45,7 @@
**/
void gnutls_credentials_clear(gnutls_session_t session)
{
- if (session->key.cred) { /* beginning of the list */
+ if (session->key.cred) { /* beginning of the list */
auth_cred_st *ccred, *ncred;
ccred = session->key.cred;
while (ccred != NULL) {
@@ -91,14 +91,13 @@ void gnutls_credentials_clear(gnutls_session_t session)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_credentials_set(gnutls_session_t session,
- gnutls_credentials_type_t type, void *cred)
+int gnutls_credentials_set(gnutls_session_t session,
+ gnutls_credentials_type_t type, void *cred)
{
auth_cred_st *ccred = NULL, *pcred = NULL;
int exists = 0;
- if (session->key.cred == NULL) { /* beginning of the list */
+ if (session->key.cred == NULL) { /* beginning of the list */
session->key.cred = gnutls_malloc(sizeof(auth_cred_st));
if (session->key.cred == NULL)
@@ -122,7 +121,7 @@ gnutls_credentials_set(gnutls_session_t session,
/* After this, pcred is not null.
*/
- if (exists == 0) { /* new entry */
+ if (exists == 0) { /* new entry */
pcred->next = gnutls_malloc(sizeof(auth_cred_st));
if (pcred->next == NULL)
return GNUTLS_E_MEMORY_ERROR;
@@ -134,7 +133,7 @@ gnutls_credentials_set(gnutls_session_t session,
ccred->next = NULL;
ccred->algorithm = type;
- } else { /* modify existing entry */
+ } else { /* modify existing entry */
ccred->credentials = cred;
}
}
@@ -148,20 +147,20 @@ gnutls_credentials_set(gnutls_session_t session,
if (c != NULL && c->ncerts != 0) {
for (i = 0; i < c->ncerts; i++) {
- key_usage =
- get_key_usage(session,
- c->certs[i].
- cert_list[0].pubkey);
- if (key_usage == 0
- || (key_usage &
- GNUTLS_KEY_DIGITAL_SIGNATURE)) {
+ key_usage = get_key_usage(
+ session,
+ c->certs[i].cert_list[0].pubkey);
+ if (key_usage == 0 ||
+ (key_usage &
+ GNUTLS_KEY_DIGITAL_SIGNATURE)) {
allow_tls13 = 1;
break;
}
}
- if (session->security_parameters.entity == GNUTLS_SERVER
- && !c->tls13_ok)
+ if (session->security_parameters.entity ==
+ GNUTLS_SERVER &&
+ !c->tls13_ok)
allow_tls13 = 0;
if (!allow_tls13) {
@@ -198,9 +197,8 @@ gnutls_credentials_set(gnutls_session_t session,
*
* Since: 3.3.3
**/
-int
-gnutls_credentials_get(gnutls_session_t session,
- gnutls_credentials_type_t type, void **cred)
+int gnutls_credentials_get(gnutls_session_t session,
+ gnutls_credentials_type_t type, void **cred)
{
const void *_cred;
@@ -285,8 +283,8 @@ gnutls_credentials_type_t gnutls_auth_client_get_type(gnutls_session_t session)
const void *_gnutls_get_kx_cred(gnutls_session_t session,
gnutls_kx_algorithm_t algo)
{
- int server =
- session->security_parameters.entity == GNUTLS_SERVER ? 1 : 0;
+ int server = session->security_parameters.entity == GNUTLS_SERVER ? 1 :
+ 0;
return _gnutls_get_cred(session, _gnutls_map_kx_get_cred(algo, server));
}
@@ -328,93 +326,83 @@ void _gnutls_free_auth_info(gnutls_session_t session)
}
switch (session->key.auth_info_type) {
- case GNUTLS_CRD_SRP:
- {
- srp_server_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_SRP);
+ case GNUTLS_CRD_SRP: {
+ srp_server_auth_info_t info =
+ _gnutls_get_auth_info(session, GNUTLS_CRD_SRP);
- if (info == NULL)
- break;
+ if (info == NULL)
+ break;
- gnutls_free(info->username);
- info->username = NULL;
- }
- break;
+ gnutls_free(info->username);
+ info->username = NULL;
+ } break;
#ifdef ENABLE_ANON
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info =
+ _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- break;
+ if (info == NULL)
+ break;
- dh_info = &info->dh;
- _gnutls_free_dh_info(dh_info);
- }
- break;
+ dh_info = &info->dh;
+ _gnutls_free_dh_info(dh_info);
+ } break;
#endif
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info =
+ _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- break;
+ if (info == NULL)
+ break;
- gnutls_free(info->username);
- info->username = NULL;
- info->username_len = 0;
+ gnutls_free(info->username);
+ info->username = NULL;
+ info->username_len = 0;
- gnutls_free(info->hint);
- info->hint = NULL;
- info->hint_len = 0;
+ gnutls_free(info->hint);
+ info->hint = NULL;
+ info->hint_len = 0;
#ifdef ENABLE_DHE
- dh_info = &info->dh;
- _gnutls_free_dh_info(dh_info);
+ dh_info = &info->dh;
+ _gnutls_free_dh_info(dh_info);
#endif
- }
- break;
- case GNUTLS_CRD_CERTIFICATE:
- {
- unsigned int i;
- cert_auth_info_t info = _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
-
- if (info == NULL)
- break;
+ } break;
+ case GNUTLS_CRD_CERTIFICATE: {
+ unsigned int i;
+ cert_auth_info_t info =
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
- dh_info = &info->dh;
- for (i = 0; i < info->ncerts; i++) {
- _gnutls_free_datum(&info->raw_certificate_list
- [i]);
- }
+ if (info == NULL)
+ break;
- for (i = 0; i < info->nocsp; i++) {
- _gnutls_free_datum(&info->raw_ocsp_list[i]);
- }
+ dh_info = &info->dh;
+ for (i = 0; i < info->ncerts; i++) {
+ _gnutls_free_datum(&info->raw_certificate_list[i]);
+ }
+
+ for (i = 0; i < info->nocsp; i++) {
+ _gnutls_free_datum(&info->raw_ocsp_list[i]);
+ }
- gnutls_free(info->raw_certificate_list);
- gnutls_free(info->raw_ocsp_list);
- info->ncerts = 0;
- info->nocsp = 0;
+ gnutls_free(info->raw_certificate_list);
+ gnutls_free(info->raw_ocsp_list);
+ info->ncerts = 0;
+ info->nocsp = 0;
#ifdef ENABLE_DHE
- _gnutls_free_dh_info(dh_info);
+ _gnutls_free_dh_info(dh_info);
#endif
- }
+ }
- break;
+ break;
default:
return;
-
}
gnutls_free(session->key.auth_info);
session->key.auth_info_size = 0;
session->key.auth_info_type = 0;
-
}
/* This function will create the auth info structure in the key
@@ -423,10 +411,9 @@ void _gnutls_free_auth_info(gnutls_session_t session)
* If allow change is !=0 then this will allow changing the auth
* info structure to a different type.
*/
-int
-_gnutls_auth_info_init(gnutls_session_t session,
- gnutls_credentials_type_t type, int size,
- int allow_change)
+int _gnutls_auth_info_init(gnutls_session_t session,
+ gnutls_credentials_type_t type, int size,
+ int allow_change)
{
if (session->key.auth_info == NULL) {
session->key.auth_info = gnutls_calloc(1, size);
@@ -456,7 +443,6 @@ _gnutls_auth_info_init(gnutls_session_t session,
* to passive eavesdropers.
*/
if (type != session->key.auth_info_type) {
-
_gnutls_free_auth_info(session);
session->key.auth_info = gnutls_calloc(1, size);
diff --git a/lib/auth.h b/lib/auth.h
index 71a6ae5956..96bafc82c6 100644
--- a/lib/auth.h
+++ b/lib/auth.h
@@ -21,33 +21,34 @@
*/
#ifndef GNUTLS_LIB_AUTH_H
-# define GNUTLS_LIB_AUTH_H
+#define GNUTLS_LIB_AUTH_H
-# include "str.h"
+#include "str.h"
typedef struct mod_auth_st_int {
- const char *name; /* null terminated */
+ const char *name; /* null terminated */
int (*gnutls_generate_server_certificate)(gnutls_session_t,
gnutls_buffer_st *);
int (*gnutls_generate_client_certificate)(gnutls_session_t,
gnutls_buffer_st *);
int (*gnutls_generate_server_kx)(gnutls_session_t, gnutls_buffer_st *);
- int (*gnutls_generate_client_kx)(gnutls_session_t, gnutls_buffer_st *); /* used in SRP */
+ int (*gnutls_generate_client_kx)(gnutls_session_t,
+ gnutls_buffer_st *); /* used in SRP */
int (*gnutls_generate_client_crt_vrfy)(gnutls_session_t,
gnutls_buffer_st *);
int (*gnutls_generate_server_crt_request)(gnutls_session_t,
gnutls_buffer_st *);
- int (*gnutls_process_server_certificate)(gnutls_session_t,
- uint8_t *, size_t);
- int (*gnutls_process_client_certificate)(gnutls_session_t,
- uint8_t *, size_t);
+ int (*gnutls_process_server_certificate)(gnutls_session_t, uint8_t *,
+ size_t);
+ int (*gnutls_process_client_certificate)(gnutls_session_t, uint8_t *,
+ size_t);
int (*gnutls_process_server_kx)(gnutls_session_t, uint8_t *, size_t);
int (*gnutls_process_client_kx)(gnutls_session_t, uint8_t *, size_t);
int (*gnutls_process_client_crt_vrfy)(gnutls_session_t, uint8_t *,
size_t);
- int (*gnutls_process_server_crt_request)(gnutls_session_t,
- uint8_t *, size_t);
+ int (*gnutls_process_server_crt_request)(gnutls_session_t, uint8_t *,
+ size_t);
} mod_auth_st;
const void *_gnutls_get_cred(gnutls_session_t session,
@@ -71,9 +72,8 @@ int _gnutls_auth_info_init(gnutls_session_t session,
* In case of GNUTLS_CRD_CERTIFICATE returns a type of &cert_auth_info_t;
* In case of GNUTLS_CRD_SRP returns a type of &srp_(server/client)_auth_info_t;
-*/
-inline static
-void *_gnutls_get_auth_info(gnutls_session_t session,
- gnutls_credentials_type_t type)
+inline static void *_gnutls_get_auth_info(gnutls_session_t session,
+ gnutls_credentials_type_t type)
{
if (type == session->key.auth_info_type)
return session->key.auth_info;
@@ -81,4 +81,4 @@ void *_gnutls_get_auth_info(gnutls_session_t session,
return NULL;
}
-#endif /* GNUTLS_LIB_AUTH_H */
+#endif /* GNUTLS_LIB_AUTH_H */
diff --git a/lib/auth/anon.c b/lib/auth/anon.c
index b84a9d098c..24bc5a214c 100644
--- a/lib/auth/anon.c
+++ b/lib/auth/anon.c
@@ -30,14 +30,14 @@
#if defined(ENABLE_ANON) && defined(ENABLE_DHE)
-# include "auth.h"
-# include "errors.h"
-# include "dh.h"
-# include "auth/anon.h"
-# include "num.h"
-# include "mpi.h"
-# include <state.h>
-# include <auth/dh_common.h>
+#include "auth.h"
+#include "errors.h"
+#include "dh.h"
+#include "auth/anon.h"
+#include "num.h"
+#include "mpi.h"
+#include <state.h>
+#include <auth/dh_common.h>
static int gen_anon_server_kx(gnutls_session_t, gnutls_buffer_st *);
static int proc_anon_client_kx(gnutls_session_t, uint8_t *, size_t);
@@ -48,40 +48,38 @@ const mod_auth_st anon_auth_struct = {
NULL,
NULL,
gen_anon_server_kx,
- _gnutls_gen_dh_common_client_kx, /* this can be shared */
+ _gnutls_gen_dh_common_client_kx, /* this can be shared */
NULL,
NULL,
NULL,
- NULL, /* certificate */
+ NULL, /* certificate */
proc_anon_server_kx,
proc_anon_client_kx,
NULL,
NULL
};
-static int gen_anon_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_anon_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret;
gnutls_anon_server_credentials_t cred;
- cred = (gnutls_anon_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_ANON);
+ cred = (gnutls_anon_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_ANON);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
- sizeof(anon_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
+ sizeof(anon_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_figure_dh_params(session, cred->dh_params,
- cred->params_func, cred->dh_sec_param);
+ ret = _gnutls_figure_dh_params(session, cred->dh_params,
+ cred->params_func, cred->dh_sec_param);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -94,24 +92,21 @@ static int gen_anon_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
-static int
-proc_anon_client_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
+static int proc_anon_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
- return
- _gnutls_proc_dh_common_client_kx(session, data, _data_size, NULL);
-
+ return _gnutls_proc_dh_common_client_kx(session, data, _data_size,
+ NULL);
}
-int
-proc_anon_server_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
+int proc_anon_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
-
int ret;
/* set auth_info */
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
- sizeof(anon_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
+ sizeof(anon_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -125,4 +120,4 @@ proc_anon_server_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
return 0;
}
-#endif /* ENABLE_ANON */
+#endif /* ENABLE_ANON */
diff --git a/lib/auth/anon.h b/lib/auth/anon.h
index 943fda97c6..3a8db4b5b3 100644
--- a/lib/auth/anon.h
+++ b/lib/auth/anon.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_LIB_AUTH_ANON_H
-# define GNUTLS_LIB_AUTH_ANON_H
+#define GNUTLS_LIB_AUTH_ANON_H
/* this is not to be included by gnutls_anon.c */
-# include <auth.h>
-# include <auth/dh_common.h>
+#include <auth.h>
+#include <auth/dh_common.h>
typedef struct gnutls_anon_server_credentials_st {
gnutls_dh_params_t dh_params;
@@ -49,4 +49,4 @@ typedef struct anon_auth_info_st {
typedef struct anon_auth_info_st anon_auth_info_st;
-#endif /* GNUTLS_LIB_AUTH_ANON_H */
+#endif /* GNUTLS_LIB_AUTH_ANON_H */
diff --git a/lib/auth/anon_ecdh.c b/lib/auth/anon_ecdh.c
index 8564532d73..caf26bbe1b 100644
--- a/lib/auth/anon_ecdh.c
+++ b/lib/auth/anon_ecdh.c
@@ -29,15 +29,15 @@
#if defined(ENABLE_ANON) && defined(ENABLE_ECDHE)
-# include "auth.h"
-# include "errors.h"
-# include "dh.h"
-# include "auth/anon.h"
-# include "num.h"
-# include "mpi.h"
-# include <state.h>
-# include <auth/ecdhe.h>
-# include <ext/supported_groups.h>
+#include "auth.h"
+#include "errors.h"
+#include "dh.h"
+#include "auth/anon.h"
+#include "num.h"
+#include "mpi.h"
+#include <state.h>
+#include <auth/ecdhe.h>
+#include <ext/supported_groups.h>
static int gen_anon_ecdh_server_kx(gnutls_session_t, gnutls_buffer_st *);
static int proc_anon_ecdh_client_kx(gnutls_session_t, uint8_t *, size_t);
@@ -48,41 +48,39 @@ const mod_auth_st anon_ecdh_auth_struct = {
NULL,
NULL,
gen_anon_ecdh_server_kx,
- _gnutls_gen_ecdh_common_client_kx, /* this can be shared */
+ _gnutls_gen_ecdh_common_client_kx, /* this can be shared */
NULL,
NULL,
NULL,
- NULL, /* certificate */
+ NULL, /* certificate */
proc_anon_ecdh_server_kx,
proc_anon_ecdh_client_kx,
NULL,
NULL
};
-static int
-gen_anon_ecdh_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_anon_ecdh_server_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret;
gnutls_anon_server_credentials_t cred;
- cred = (gnutls_anon_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_ANON);
+ cred = (gnutls_anon_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_ANON);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
- sizeof(anon_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
+ sizeof(anon_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_ecdh_common_print_server_kx(session, data,
- get_group(session));
+ ret = _gnutls_ecdh_common_print_server_kx(session, data,
+ get_group(session));
if (ret < 0) {
gnutls_assert();
}
@@ -90,35 +88,30 @@ gen_anon_ecdh_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
-static int
-proc_anon_ecdh_client_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int proc_anon_ecdh_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
gnutls_anon_server_credentials_t cred;
- cred = (gnutls_anon_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_ANON);
+ cred = (gnutls_anon_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_ANON);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- return _gnutls_proc_ecdh_common_client_kx(session, data,
- _data_size,
+ return _gnutls_proc_ecdh_common_client_kx(session, data, _data_size,
get_group(session), NULL);
}
-int
-proc_anon_ecdh_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+int proc_anon_ecdh_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
-
int ret;
/* set auth_info */
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
- sizeof(anon_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
+ sizeof(anon_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -132,4 +125,4 @@ proc_anon_ecdh_server_kx(gnutls_session_t session, uint8_t * data,
return 0;
}
-#endif /* ENABLE_ANON */
+#endif /* ENABLE_ANON */
diff --git a/lib/auth/cert.c b/lib/auth/cert.c
index 8b484c1380..d331d44055 100644
--- a/lib/auth/cert.c
+++ b/lib/auth/cert.c
@@ -47,17 +47,19 @@
#include "abstract_int.h"
#include "debug.h"
-static void
-selected_certs_set(gnutls_session_t session,
- gnutls_pcert_st * certs, int ncerts,
- gnutls_ocsp_data_st * ocsp, unsigned nocsp,
- gnutls_privkey_t key, int need_free,
- gnutls_status_request_ocsp_func ocsp_func,
- void *ocsp_func_ptr);
+static void selected_certs_set(gnutls_session_t session, gnutls_pcert_st *certs,
+ int ncerts, gnutls_ocsp_data_st *ocsp,
+ unsigned nocsp, gnutls_privkey_t key,
+ int need_free,
+ gnutls_status_request_ocsp_func ocsp_func,
+ void *ocsp_func_ptr);
#define MAX_CLIENT_SIGN_ALGOS 5
-#define CERTTYPE_SIZE (MAX_CLIENT_SIGN_ALGOS+1)
-typedef enum CertificateSigType { RSA_SIGN = 1, DSA_SIGN = 2, ECDSA_SIGN = 64,
+#define CERTTYPE_SIZE (MAX_CLIENT_SIGN_ALGOS + 1)
+typedef enum CertificateSigType {
+ RSA_SIGN = 1,
+ DSA_SIGN = 2,
+ ECDSA_SIGN = 64,
#ifdef ENABLE_GOST
GOSTR34102012_256_SIGN = 67,
GOSTR34102012_512_SIGN = 68
@@ -78,7 +80,7 @@ enum CertificateSigTypeFlags {
* another internal certificate struct (cert_auth_info_t), and deinitializes
* the former.
*/
-int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st * certs,
+int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st *certs,
size_t ncerts)
{
size_t i, j;
@@ -96,7 +98,7 @@ int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st * certs,
}
info->raw_certificate_list =
- gnutls_calloc(ncerts, sizeof(gnutls_datum_t));
+ gnutls_calloc(ncerts, sizeof(gnutls_datum_t));
if (info->raw_certificate_list == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -119,10 +121,9 @@ int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st * certs,
/* returns 0 if the algo_to-check exists in the pk_algos list,
* -1 otherwise.
*/
-inline static int
-check_pk_algo_in_list(const gnutls_pk_algorithm_t *
- pk_algos, int pk_algos_length,
- gnutls_pk_algorithm_t algo_to_check)
+inline static int check_pk_algo_in_list(const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length,
+ gnutls_pk_algorithm_t algo_to_check)
{
int i;
for (i = 0; i < pk_algos_length; i++) {
@@ -136,14 +137,15 @@ check_pk_algo_in_list(const gnutls_pk_algorithm_t *
/* Returns the issuer's Distinguished name in odn, of the certificate
* specified in cert.
*/
-static int cert_get_issuer_dn(gnutls_pcert_st * cert, gnutls_datum_t * odn)
+static int cert_get_issuer_dn(gnutls_pcert_st *cert, gnutls_datum_t *odn)
{
asn1_node dn;
int len, result;
int start, end;
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.Certificate", &dn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.Certificate", &dn)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -156,10 +158,10 @@ static int cert_get_issuer_dn(gnutls_pcert_st * cert, gnutls_datum_t * odn)
return _gnutls_asn2err(result);
}
- result =
- asn1_der_decoding_startEnd(dn, cert->cert.data,
- cert->cert.size,
- "tbsCertificate.issuer", &start, &end);
+ result = asn1_der_decoding_startEnd(dn, cert->cert.data,
+ cert->cert.size,
+ "tbsCertificate.issuer", &start,
+ &end);
if (result != ASN1_SUCCESS) {
/* couldn't decode DER */
@@ -183,12 +185,11 @@ static int cert_get_issuer_dn(gnutls_pcert_st * cert, gnutls_datum_t * odn)
* That is to guess which certificate to use, based on the
* CAs and sign algorithms supported by the peer server.
*/
-static int
-find_x509_client_cert(gnutls_session_t session,
- const gnutls_certificate_credentials_t cred,
- const uint8_t * _data, size_t _data_size,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, int *indx)
+static int find_x509_client_cert(gnutls_session_t session,
+ const gnutls_certificate_credentials_t cred,
+ const uint8_t *_data, size_t _data_size,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, int *indx)
{
unsigned size;
gnutls_datum_t odn = { NULL, 0 }, asked_dn;
@@ -204,21 +205,18 @@ find_x509_client_cert(gnutls_session_t session,
* then send that one.
*/
if (cred->ncerts == 1 &&
- (data_size == 0
- || (session->internals.flags & GNUTLS_FORCE_CLIENT_CERT))) {
+ (data_size == 0 ||
+ (session->internals.flags & GNUTLS_FORCE_CLIENT_CERT))) {
if (cred->certs[0].cert_list[0].type == GNUTLS_CRT_X509) {
-
- key_usage =
- get_key_usage(session,
- cred->certs[0].cert_list[0].pubkey);
+ key_usage = get_key_usage(
+ session, cred->certs[0].cert_list[0].pubkey);
/* For client certificates we require signatures */
- result =
- _gnutls_check_key_usage_for_sig(session, key_usage,
- 1);
+ result = _gnutls_check_key_usage_for_sig(session,
+ key_usage, 1);
if (result < 0) {
- _gnutls_debug_log
- ("Client certificate is not suitable for signing\n");
+ _gnutls_debug_log(
+ "Client certificate is not suitable for signing\n");
return gnutls_assert_val(result);
}
@@ -239,10 +237,9 @@ find_x509_client_cert(gnutls_session_t session,
for (i = 0; i < cred->ncerts; i++) {
for (j = 0; j < cred->certs[i].cert_list_length; j++) {
- if ((result =
- cert_get_issuer_dn(&cred->certs
- [i].cert_list
- [j], &odn)) < 0) {
+ if ((result = cert_get_issuer_dn(
+ &cred->certs[i].cert_list[j],
+ &odn)) < 0) {
gnutls_assert();
return result;
}
@@ -250,16 +247,15 @@ find_x509_client_cert(gnutls_session_t session,
if (odn.size == 0 || odn.size != asked_dn.size)
continue;
- key_usage =
- get_key_usage(session,
- cred->certs[i].
- cert_list[0].pubkey);
+ key_usage = get_key_usage(
+ session,
+ cred->certs[i].cert_list[0].pubkey);
/* For client certificates we require signatures */
- if (_gnutls_check_key_usage_for_sig
- (session, key_usage, 1) < 0) {
- _gnutls_debug_log
- ("Client certificate is not suitable for signing\n");
+ if (_gnutls_check_key_usage_for_sig(
+ session, key_usage, 1) < 0) {
+ _gnutls_debug_log(
+ "Client certificate is not suitable for signing\n");
continue;
}
@@ -267,19 +263,15 @@ find_x509_client_cert(gnutls_session_t session,
* the *_SIGN algorithm matches
* the cert is our cert!
*/
- cert_pk =
- gnutls_pubkey_get_pk_algorithm(cred->certs
- [i].cert_list
- [0].pubkey,
- NULL);
-
- if ((memcmp
- (odn.data, asked_dn.data,
- asked_dn.size) == 0)
- &&
- (check_pk_algo_in_list
- (pk_algos, pk_algos_length,
- cert_pk) == 0)) {
+ cert_pk = gnutls_pubkey_get_pk_algorithm(
+ cred->certs[i].cert_list[0].pubkey,
+ NULL);
+
+ if ((memcmp(odn.data, asked_dn.data,
+ asked_dn.size) == 0) &&
+ (check_pk_algo_in_list(pk_algos,
+ pk_algos_length,
+ cert_pk) == 0)) {
*indx = i;
break;
}
@@ -293,11 +285,9 @@ find_x509_client_cert(gnutls_session_t session,
/* move to next record */
data += size;
- }
- while (1);
+ } while (1);
return 0;
-
}
/* Locates the first raw public-key.
@@ -305,11 +295,10 @@ find_x509_client_cert(gnutls_session_t session,
* Associating more raw pubkeys with a session has no use because we
* don't know how to select the correct one.
*/
-static int
-find_rawpk_client_cert(gnutls_session_t session,
- const gnutls_certificate_credentials_t cred,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, int *indx)
+static int find_rawpk_client_cert(gnutls_session_t session,
+ const gnutls_certificate_credentials_t cred,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, int *indx)
{
unsigned i;
int ret;
@@ -321,33 +310,31 @@ find_rawpk_client_cert(gnutls_session_t session,
/* We know that our list length will be 1, therefore we can
* ignore the rest.
*/
- if (cred->certs[i].cert_list_length == 1
- && cred->certs[i].cert_list[0].type == GNUTLS_CRT_RAWPK) {
- pk = gnutls_pubkey_get_pk_algorithm(cred->
- certs[i].cert_list
- [0].pubkey, NULL);
+ if (cred->certs[i].cert_list_length == 1 &&
+ cred->certs[i].cert_list[0].type == GNUTLS_CRT_RAWPK) {
+ pk = gnutls_pubkey_get_pk_algorithm(
+ cred->certs[i].cert_list[0].pubkey, NULL);
/* For client certificates we require signatures */
- ret =
- _gnutls_check_key_usage_for_sig(session,
- get_key_usage
- (session,
- cred->
- certs[i].cert_list
- [0].pubkey), 1);
+ ret = _gnutls_check_key_usage_for_sig(
+ session,
+ get_key_usage(
+ session,
+ cred->certs[i].cert_list[0].pubkey),
+ 1);
if (ret < 0) {
/* we return an error instead of skipping so that the user is notified about
* the key incompatibility */
- _gnutls_debug_log
- ("Client certificate is not suitable for signing\n");
+ _gnutls_debug_log(
+ "Client certificate is not suitable for signing\n");
return gnutls_assert_val(ret);
}
/* Check whether the public-key algorithm of our credential is in
* the list with supported public-key algorithms and whether the
* cert type matches. */
- if ((check_pk_algo_in_list
- (pk_algos, pk_algos_length, pk) == 0)) {
+ if ((check_pk_algo_in_list(pk_algos, pk_algos_length,
+ pk) == 0)) {
// We found a compatible credential
*indx = i;
break;
@@ -361,9 +348,8 @@ find_rawpk_client_cert(gnutls_session_t session,
/* Returns the number of issuers in the server's
* certificate request packet.
*/
-static int
-get_issuers_num(gnutls_session_t session, const uint8_t * data,
- ssize_t data_size)
+static int get_issuers_num(gnutls_session_t session, const uint8_t *data,
+ ssize_t data_size)
{
int issuers_dn_len = 0;
unsigned size;
@@ -400,10 +386,8 @@ get_issuers_num(gnutls_session_t session, const uint8_t * data,
/* Returns the issuers in the server's certificate request
* packet.
*/
-static int
-get_issuers(gnutls_session_t session,
- gnutls_datum_t * issuers_dn, int issuers_len,
- const uint8_t * data, size_t data_size)
+static int get_issuers(gnutls_session_t session, gnutls_datum_t *issuers_dn,
+ int issuers_len, const uint8_t *data, size_t data_size)
{
int i;
unsigned size;
@@ -416,7 +400,6 @@ get_issuers(gnutls_session_t session,
* of X509 certificates.
*/
if (issuers_len > 0) {
-
for (i = 0; i < issuers_len; i++) {
/* The checks here for the buffer boundaries
* are not needed since the buffer has been
@@ -442,11 +425,11 @@ get_issuers(gnutls_session_t session,
/* Calls the client or server certificate get callback.
*/
-static int
-call_get_cert_callback(gnutls_session_t session,
- const gnutls_datum_t * issuers_dn,
- int issuers_dn_length,
- gnutls_pk_algorithm_t * pk_algos, int pk_algos_length)
+static int call_get_cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *issuers_dn,
+ int issuers_dn_length,
+ gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length)
{
gnutls_privkey_t local_key = NULL;
int ret = GNUTLS_E_INTERNAL_ERROR;
@@ -457,8 +440,8 @@ call_get_cert_callback(gnutls_session_t session,
unsigned int ocsp_length = 0;
unsigned int pcert_length = 0;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -480,11 +463,10 @@ call_get_cert_callback(gnutls_session_t session,
info.cred = cred;
/* we avoid all allocations and transformations */
- ret =
- cred->get_cert_callback3(session, &info,
- &pcert, &pcert_length,
- &ocsp, &ocsp_length,
- &local_key, &flags);
+ ret = cred->get_cert_callback3(session, &info, &pcert,
+ &pcert_length, &ocsp,
+ &ocsp_length, &local_key,
+ &flags);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_USER_ERROR);
@@ -496,12 +478,11 @@ call_get_cert_callback(gnutls_session_t session,
local_key = NULL;
}
- selected_certs_set(session, pcert, pcert_length,
- ocsp, ocsp_length,
- local_key,
- (flags & GNUTLS_CERT_RETR_DEINIT_ALL) ? 1 :
- 0, cred->glob_ocsp_func,
- cred->glob_ocsp_func_ptr);
+ selected_certs_set(
+ session, pcert, pcert_length, ocsp, ocsp_length,
+ local_key,
+ (flags & GNUTLS_CERT_RETR_DEINIT_ALL) ? 1 : 0,
+ cred->glob_ocsp_func, cred->glob_ocsp_func_ptr);
return 0;
} else {
@@ -516,11 +497,10 @@ call_get_cert_callback(gnutls_session_t session,
* 20020128: added ability to select a certificate depending on the SIGN
* algorithm (only in automatic mode).
*/
-int
-_gnutls_select_client_cert(gnutls_session_t session,
- const uint8_t * _data, size_t _data_size,
- gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length)
+int _gnutls_select_client_cert(gnutls_session_t session, const uint8_t *_data,
+ size_t _data_size,
+ gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length)
{
int result;
int indx = -1;
@@ -531,8 +511,8 @@ _gnutls_select_client_cert(gnutls_session_t session,
gnutls_datum_t *issuers_dn = NULL;
gnutls_certificate_type_t cert_type;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -541,12 +521,11 @@ _gnutls_select_client_cert(gnutls_session_t session,
cert_type = get_certificate_type(session, GNUTLS_CTYPE_CLIENT);
if (cred->get_cert_callback3 != NULL) {
-
/* use a callback to get certificate
*/
if (cert_type == GNUTLS_CRT_X509) {
issuers_dn_length =
- get_issuers_num(session, data, data_size);
+ get_issuers_num(session, data, data_size);
if (issuers_dn_length < 0) {
gnutls_assert();
return issuers_dn_length;
@@ -554,17 +533,16 @@ _gnutls_select_client_cert(gnutls_session_t session,
if (issuers_dn_length > 0) {
issuers_dn =
- gnutls_malloc(sizeof(gnutls_datum_t) *
- issuers_dn_length);
+ gnutls_malloc(sizeof(gnutls_datum_t) *
+ issuers_dn_length);
if (issuers_dn == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
}
- result =
- get_issuers(session, issuers_dn,
- issuers_dn_length, data,
- data_size);
+ result = get_issuers(session, issuers_dn,
+ issuers_dn_length, data,
+ data_size);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -574,10 +552,9 @@ _gnutls_select_client_cert(gnutls_session_t session,
issuers_dn_length = 0;
}
- result =
- call_get_cert_callback(session, issuers_dn,
- issuers_dn_length, pk_algos,
- pk_algos_length);
+ result = call_get_cert_callback(session, issuers_dn,
+ issuers_dn_length, pk_algos,
+ pk_algos_length);
goto cleanup;
} else {
@@ -590,8 +567,7 @@ _gnutls_select_client_cert(gnutls_session_t session,
pk_algos_length, &indx);
break;
case GNUTLS_CRT_RAWPK:
- result = find_rawpk_client_cert(session, cred,
- pk_algos,
+ result = find_rawpk_client_cert(session, cred, pk_algos,
pk_algos_length, &indx);
break;
default:
@@ -609,25 +585,24 @@ _gnutls_select_client_cert(gnutls_session_t session,
cred->certs[indx].cert_list_length,
cred->certs[indx].ocsp_data,
cred->certs[indx].ocsp_data_length,
- cred->certs[indx].pkey, 0,
- NULL, NULL);
+ cred->certs[indx].pkey, 0, NULL,
+ NULL);
} else {
- selected_certs_set(session, NULL, 0, NULL, 0,
- NULL, 0, NULL, NULL);
+ selected_certs_set(session, NULL, 0, NULL, 0, NULL, 0,
+ NULL, NULL);
}
result = 0;
}
- cleanup:
+cleanup:
gnutls_free(issuers_dn);
return result;
-
}
/* Generate certificate message
*/
-static int gen_x509_crt(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_x509_crt(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret, i;
gnutls_pcert_st *apr_cert_list;
@@ -637,9 +612,9 @@ static int gen_x509_crt(gnutls_session_t session, gnutls_buffer_st * data)
/* find the appropriate certificate
*/
- if ((ret =
- _gnutls_get_selected_cert(session, &apr_cert_list,
- &apr_cert_list_length, &apr_pkey)) < 0) {
+ if ((ret = _gnutls_get_selected_cert(session, &apr_cert_list,
+ &apr_cert_list_length,
+ &apr_pkey)) < 0) {
gnutls_assert();
return ret;
}
@@ -665,12 +640,9 @@ static int gen_x509_crt(gnutls_session_t session, gnutls_buffer_st * data)
return gnutls_assert_val(ret);
for (i = 0; i < apr_cert_list_length; i++) {
- ret =
- _gnutls_buffer_append_data_prefix(data, 24,
- apr_cert_list[i].
- cert.data,
- apr_cert_list[i].
- cert.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 24, apr_cert_list[i].cert.data,
+ apr_cert_list[i].cert.size);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -683,7 +655,7 @@ static int gen_x509_crt(gnutls_session_t session, gnutls_buffer_st * data)
*
* Returns the number of bytes sent or a negative error code.
*/
-int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret;
gnutls_pcert_st *apr_cert_list;
@@ -712,11 +684,9 @@ int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st * data)
if (apr_cert_list_length == 0) {
ret = _gnutls_buffer_append_prefix(data, 24, 0);
} else {
- ret = _gnutls_buffer_append_data_prefix(data, 24,
- apr_cert_list[0].
- cert.data,
- apr_cert_list[0].
- cert.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 24, apr_cert_list[0].cert.data,
+ apr_cert_list[0].cert.size);
}
if (ret < 0)
@@ -725,8 +695,8 @@ int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st * data)
return data->length;
}
-int
-_gnutls_gen_cert_client_crt(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_cert_client_crt(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
gnutls_certificate_type_t cert_type;
@@ -743,8 +713,8 @@ _gnutls_gen_cert_client_crt(gnutls_session_t session, gnutls_buffer_st * data)
}
}
-int
-_gnutls_gen_cert_server_crt(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_cert_server_crt(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
gnutls_certificate_type_t cert_type;
@@ -761,8 +731,7 @@ _gnutls_gen_cert_server_crt(gnutls_session_t session, gnutls_buffer_st * data)
}
}
-static
-int check_pk_compat(gnutls_session_t session, gnutls_pubkey_t pubkey)
+static int check_pk_compat(gnutls_session_t session, gnutls_pubkey_t pubkey)
{
unsigned cert_pk;
unsigned kx;
@@ -789,10 +758,11 @@ int check_pk_compat(gnutls_session_t session, gnutls_pubkey_t pubkey)
/* Process server certificate
*/
-#define CLEAR_CERTS for(x=0;x<peer_certificate_list_size;x++) gnutls_pcert_deinit(&peer_certificate_list[x])
-static int
-_gnutls_proc_x509_crt(gnutls_session_t session,
- uint8_t * data, size_t data_size)
+#define CLEAR_CERTS \
+ for (x = 0; x < peer_certificate_list_size; x++) \
+ gnutls_pcert_deinit(&peer_certificate_list[x])
+static int _gnutls_proc_x509_crt(gnutls_session_t session, uint8_t *data,
+ size_t data_size)
{
int size, len, ret;
uint8_t *p = data;
@@ -804,16 +774,15 @@ _gnutls_proc_x509_crt(gnutls_session_t session,
size_t peer_certificate_list_size = 0, j, x;
gnutls_datum_t tmp;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
- sizeof(cert_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
+ sizeof(cert_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -870,10 +839,8 @@ _gnutls_proc_x509_crt(gnutls_session_t session,
* certificate list
*/
- peer_certificate_list =
- gnutls_calloc(1,
- sizeof(gnutls_pcert_st) *
- (peer_certificate_list_size));
+ peer_certificate_list = gnutls_calloc(
+ 1, sizeof(gnutls_pcert_st) * (peer_certificate_list_size));
if (peer_certificate_list == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -893,10 +860,9 @@ _gnutls_proc_x509_crt(gnutls_session_t session,
tmp.size = len;
tmp.data = p;
- ret =
- gnutls_pcert_import_x509_raw(&peer_certificate_list
- [j], &tmp,
- GNUTLS_X509_FMT_DER, 0);
+ ret = gnutls_pcert_import_x509_raw(&peer_certificate_list[j],
+ &tmp, GNUTLS_X509_FMT_DER,
+ 0);
if (ret < 0) {
gnutls_assert();
peer_certificate_list_size = j;
@@ -913,10 +879,8 @@ _gnutls_proc_x509_crt(gnutls_session_t session,
goto cleanup;
}
- ret =
- _gnutls_pcert_to_auth_info(info,
- peer_certificate_list,
- peer_certificate_list_size);
+ ret = _gnutls_pcert_to_auth_info(info, peer_certificate_list,
+ peer_certificate_list_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -924,15 +888,14 @@ _gnutls_proc_x509_crt(gnutls_session_t session,
return 0;
- cleanup:
+cleanup:
CLEAR_CERTS;
gnutls_free(peer_certificate_list);
return ret;
-
}
-int _gnutls_proc_rawpk_crt(gnutls_session_t session,
- uint8_t * data, size_t data_size)
+int _gnutls_proc_rawpk_crt(gnutls_session_t session, uint8_t *data,
+ size_t data_size)
{
int cert_size, ret;
cert_auth_info_t info;
@@ -978,9 +941,8 @@ int _gnutls_proc_rawpk_crt(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
// Import our raw certificate holding only a raw public key into this pcert
- ret =
- gnutls_pcert_import_rawpk_raw(peer_certificate, &tmp_cert,
- GNUTLS_X509_FMT_DER, 0, 0);
+ ret = gnutls_pcert_import_rawpk_raw(peer_certificate, &tmp_cert,
+ GNUTLS_X509_FMT_DER, 0, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1016,7 +978,7 @@ int _gnutls_proc_rawpk_crt(gnutls_session_t session,
return GNUTLS_E_SUCCESS;
- cleanup:
+cleanup:
if (peer_certificate != NULL) {
gnutls_pcert_deinit(peer_certificate);
gnutls_free(peer_certificate);
@@ -1025,14 +987,13 @@ int _gnutls_proc_rawpk_crt(gnutls_session_t session,
return ret;
}
-int _gnutls_proc_crt(gnutls_session_t session, uint8_t * data, size_t data_size)
+int _gnutls_proc_crt(gnutls_session_t session, uint8_t *data, size_t data_size)
{
gnutls_certificate_credentials_t cred;
gnutls_certificate_type_t cert_type;
- cred =
- (gnutls_certificate_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -1076,9 +1037,8 @@ inline static int _gnutls_check_supported_sign_algo(CertificateSigType algo)
return -1;
}
-int
-_gnutls_proc_cert_cert_req(gnutls_session_t session, uint8_t * data,
- size_t data_size)
+int _gnutls_proc_cert_cert_req(gnutls_session_t session, uint8_t *data,
+ size_t data_size)
{
int size, ret;
uint8_t *p;
@@ -1092,16 +1052,15 @@ _gnutls_proc_cert_cert_req(gnutls_session_t session, uint8_t * data,
if (unlikely(ver == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
- sizeof(cert_auth_info_st), 0)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
+ sizeof(cert_auth_info_st), 0)) < 0) {
gnutls_assert();
return ret;
}
@@ -1161,9 +1120,8 @@ _gnutls_proc_cert_cert_req(gnutls_session_t session, uint8_t * data,
/* now we ask the user to tell which one
* he wants to use.
*/
- if ((ret =
- _gnutls_select_client_cert(session, p, size, pk_algos,
- pk_algos_length)) < 0) {
+ if ((ret = _gnutls_select_client_cert(session, p, size, pk_algos,
+ pk_algos_length)) < 0) {
gnutls_assert();
return ret;
}
@@ -1171,9 +1129,8 @@ _gnutls_proc_cert_cert_req(gnutls_session_t session, uint8_t * data,
return 0;
}
-int
-_gnutls_gen_cert_client_crt_vrfy(gnutls_session_t session,
- gnutls_buffer_st * data)
+int _gnutls_gen_cert_client_crt_vrfy(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret;
gnutls_pcert_st *apr_cert_list;
@@ -1188,19 +1145,17 @@ _gnutls_gen_cert_client_crt_vrfy(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
/* find the appropriate certificate */
- if ((ret =
- _gnutls_get_selected_cert(session, &apr_cert_list,
- &apr_cert_list_length, &apr_pkey)) < 0) {
+ if ((ret = _gnutls_get_selected_cert(session, &apr_cert_list,
+ &apr_cert_list_length,
+ &apr_pkey)) < 0) {
gnutls_assert();
return ret;
}
if (apr_cert_list_length > 0) {
- if ((ret =
- _gnutls_handshake_sign_crt_vrfy(session,
- &apr_cert_list[0],
- apr_pkey,
- &signature)) < 0) {
+ if ((ret = _gnutls_handshake_sign_crt_vrfy(
+ session, &apr_cert_list[0], apr_pkey,
+ &signature)) < 0) {
gnutls_assert();
return ret;
}
@@ -1226,9 +1181,8 @@ _gnutls_gen_cert_client_crt_vrfy(gnutls_session_t session,
}
}
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, signature.data,
- signature.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, signature.data,
+ signature.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1236,21 +1190,20 @@ _gnutls_gen_cert_client_crt_vrfy(gnutls_session_t session,
ret = data->length - init_pos;
- cleanup:
+cleanup:
_gnutls_free_datum(&signature);
return ret;
}
-int
-_gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session,
- uint8_t * data, size_t data_size)
+int _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session, uint8_t *data,
+ size_t data_size)
{
int size, ret;
ssize_t dsize = data_size;
uint8_t *pdata = data;
gnutls_datum_t sig;
cert_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
gnutls_pcert_st peer_cert;
gnutls_sign_algorithm_t sign_algo = GNUTLS_SIGN_UNKNOWN;
const version_entry_st *ver = get_version(session);
@@ -1263,15 +1216,15 @@ _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session,
return GNUTLS_E_INTERNAL_ERROR;
}
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- vflags =
- cred->verify_flags | session->internals.additional_verify_flags;
+ vflags = cred->verify_flags |
+ session->internals.additional_verify_flags;
if (_gnutls_version_has_selectable_sighash(ver)) {
DECR_LEN(dsize, 2);
@@ -1286,8 +1239,8 @@ _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session,
ret = _gnutls_session_sign_algo_enabled(session, sign_algo);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
DECR_LEN(dsize, 2);
size = _gnutls_read_uint16(pdata);
@@ -1298,18 +1251,16 @@ _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session,
sig.data = pdata;
sig.size = size;
- ret = _gnutls_get_auth_info_pcert(&peer_cert,
- session->security_parameters.
- client_ctype, info);
+ ret = _gnutls_get_auth_info_pcert(
+ &peer_cert, session->security_parameters.client_ctype, info);
if (ret < 0) {
gnutls_assert();
return ret;
}
- if ((ret =
- _gnutls_handshake_verify_crt_vrfy(session, vflags, &peer_cert,
- &sig, sign_algo)) < 0) {
+ if ((ret = _gnutls_handshake_verify_crt_vrfy(
+ session, vflags, &peer_cert, &sig, sign_algo)) < 0) {
gnutls_assert();
gnutls_pcert_deinit(&peer_cert);
return ret;
@@ -1319,9 +1270,8 @@ _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session,
return 0;
}
-int
-_gnutls_gen_cert_server_cert_req(gnutls_session_t session,
- gnutls_buffer_st * data)
+int _gnutls_gen_cert_server_cert_req(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
gnutls_certificate_credentials_t cred;
int ret, i;
@@ -1338,8 +1288,8 @@ _gnutls_gen_cert_server_cert_req(gnutls_session_t session,
* performance.
*/
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -1349,9 +1299,10 @@ _gnutls_gen_cert_server_cert_req(gnutls_session_t session,
size_t j;
flags = 0;
- for (j = 0; j < session->internals.priorities->sigalg.size; j++) {
+ for (j = 0; j < session->internals.priorities->sigalg.size;
+ j++) {
const gnutls_sign_entry_st *se =
- session->internals.priorities->sigalg.entry[j];
+ session->internals.priorities->sigalg.entry[j];
switch (se->pk) {
case GNUTLS_PK_RSA:
case GNUTLS_PK_RSA_PSS:
@@ -1373,19 +1324,18 @@ _gnutls_gen_cert_server_cert_req(gnutls_session_t session,
#endif
default:
gnutls_assert();
- _gnutls_debug_log
- ("%s is unsupported for cert request\n",
- gnutls_pk_get_name(se->pk));
+ _gnutls_debug_log(
+ "%s is unsupported for cert request\n",
+ gnutls_pk_get_name(se->pk));
}
}
} else {
#ifdef ENABLE_GOST
- if (_gnutls_kx_is_vko_gost
- (session->security_parameters.cs->kx_algorithm)) {
- flags =
- GOSTR34102012_256_SIGN_FLAG |
- GOSTR34102012_512_SIGN_FLAG;
+ if (_gnutls_kx_is_vko_gost(
+ session->security_parameters.cs->kx_algorithm)) {
+ flags = GOSTR34102012_256_SIGN_FLAG |
+ GOSTR34102012_512_SIGN_FLAG;
} else
#endif
{
@@ -1427,15 +1377,9 @@ _gnutls_gen_cert_server_cert_req(gnutls_session_t session,
if (session->security_parameters.client_ctype == GNUTLS_CRT_X509 &&
session->internals.ignore_rdn_sequence == 0) {
-
- ret =
- _gnutls_buffer_append_data_prefix(data, 16,
- cred->
- tlist->x509_rdn_sequence.
- data,
- cred->
- tlist->x509_rdn_sequence.
- size);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 16, cred->tlist->x509_rdn_sequence.data,
+ cred->tlist->x509_rdn_sequence.size);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
@@ -1454,32 +1398,29 @@ _gnutls_gen_cert_server_cert_req(gnutls_session_t session,
* It is normal to return 0 with no certificates in client side.
*
*/
-int
-_gnutls_get_selected_cert(gnutls_session_t session,
- gnutls_pcert_st ** apr_cert_list,
- int *apr_cert_list_length,
- gnutls_privkey_t * apr_pkey)
+int _gnutls_get_selected_cert(gnutls_session_t session,
+ gnutls_pcert_st **apr_cert_list,
+ int *apr_cert_list_length,
+ gnutls_privkey_t *apr_pkey)
{
if (session->security_parameters.entity == GNUTLS_SERVER) {
-
*apr_cert_list = session->internals.selected_cert_list;
*apr_pkey = session->internals.selected_key;
*apr_cert_list_length =
- session->internals.selected_cert_list_length;
+ session->internals.selected_cert_list_length;
if (*apr_cert_list_length == 0 || *apr_cert_list == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- } else { /* CLIENT SIDE */
+ } else { /* CLIENT SIDE */
/* _gnutls_select_client_cert() must have been called before.
*/
*apr_cert_list = session->internals.selected_cert_list;
*apr_cert_list_length =
- session->internals.selected_cert_list_length;
+ session->internals.selected_cert_list_length;
*apr_pkey = session->internals.selected_key;
-
}
return 0;
@@ -1490,16 +1431,16 @@ void _gnutls_selected_certs_deinit(gnutls_session_t session)
if (session->internals.selected_need_free != 0) {
int i;
- for (i = 0;
- i < session->internals.selected_cert_list_length; i++) {
- gnutls_pcert_deinit(&session->internals.
- selected_cert_list[i]);
+ for (i = 0; i < session->internals.selected_cert_list_length;
+ i++) {
+ gnutls_pcert_deinit(
+ &session->internals.selected_cert_list[i]);
}
gnutls_free(session->internals.selected_cert_list);
for (i = 0; i < session->internals.selected_ocsp_length; i++) {
- _gnutls_free_datum(&session->internals.
- selected_ocsp[i].response);
+ _gnutls_free_datum(
+ &session->internals.selected_ocsp[i].response);
}
gnutls_free(session->internals.selected_ocsp);
@@ -1515,13 +1456,12 @@ void _gnutls_selected_certs_deinit(gnutls_session_t session)
return;
}
-static void
-selected_certs_set(gnutls_session_t session,
- gnutls_pcert_st * certs, int ncerts,
- gnutls_ocsp_data_st * ocsp, unsigned nocsp,
- gnutls_privkey_t key, int need_free,
- gnutls_status_request_ocsp_func ocsp_func,
- void *ocsp_func_ptr)
+static void selected_certs_set(gnutls_session_t session, gnutls_pcert_st *certs,
+ int ncerts, gnutls_ocsp_data_st *ocsp,
+ unsigned nocsp, gnutls_privkey_t key,
+ int need_free,
+ gnutls_status_request_ocsp_func ocsp_func,
+ void *ocsp_func_ptr)
{
_gnutls_selected_certs_deinit(session);
@@ -1538,7 +1478,7 @@ selected_certs_set(gnutls_session_t session,
session->internals.selected_ocsp_func_ptr = ocsp_func_ptr;
}
-static void get_server_name(gnutls_session_t session, uint8_t * name,
+static void get_server_name(gnutls_session_t session, uint8_t *name,
size_t max_name_size)
{
int ret, i;
@@ -1548,8 +1488,8 @@ static void get_server_name(gnutls_session_t session, uint8_t * name,
ret = 0;
for (i = 0; !(ret < 0); i++) {
max_name = max_name_size;
- ret =
- gnutls_server_name_get(session, name, &max_name, &type, i);
+ ret = gnutls_server_name_get(session, name, &max_name, &type,
+ i);
if (ret >= 0 && type == GNUTLS_NAME_DNS)
return;
}
@@ -1571,11 +1511,10 @@ static void get_server_name(gnutls_session_t session, uint8_t * name,
* If, in the future, this routine is called at the client then we
* need to adapt the implementation accordingly.
*/
-static
-int cert_select_sign_algorithm(gnutls_session_t session,
- gnutls_pcert_st * cert,
- gnutls_privkey_t pkey,
- const gnutls_cipher_suite_entry_st * cs)
+static int cert_select_sign_algorithm(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey,
+ const gnutls_cipher_suite_entry_st *cs)
{
gnutls_pubkey_t pubkey = cert->pubkey;
gnutls_certificate_type_t cert_type = cert->type;
@@ -1597,32 +1536,30 @@ int cert_select_sign_algorithm(gnutls_session_t session,
key_usage = get_key_usage(session, pubkey);
/* In TLS1.3 we support only signatures; ensure the selected key supports them */
- if (ver->tls13_sem
- && _gnutls_check_key_usage_for_sig(session, key_usage, 1) < 0)
+ if (ver->tls13_sem &&
+ _gnutls_check_key_usage_for_sig(session, key_usage, 1) < 0)
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
- if (!ver->tls13_sem
- && !_gnutls_kx_supports_pk_usage(cs->kx_algorithm, pk, key_usage)) {
+ if (!ver->tls13_sem &&
+ !_gnutls_kx_supports_pk_usage(cs->kx_algorithm, pk, key_usage)) {
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
}
- if (!ver->tls13_sem
- && _gnutls_kx_encipher_type(cs->kx_algorithm) != CIPHER_SIGN)
+ if (!ver->tls13_sem &&
+ _gnutls_kx_encipher_type(cs->kx_algorithm) != CIPHER_SIGN)
return 0;
if (!_gnutls_version_has_selectable_sighash(ver)) {
/* For SSL3.0 and TLS1.0 we lie as we cannot express md5-sha1 as
* signature algorithm. */
- algo =
- gnutls_pk_to_sign(cert->pubkey->params.algo,
- GNUTLS_DIG_SHA1);
+ algo = gnutls_pk_to_sign(cert->pubkey->params.algo,
+ GNUTLS_DIG_SHA1);
gnutls_sign_algorithm_set_server(session, algo);
return 0;
}
- algo =
- _gnutls_session_get_sign_algo(session, cert, pkey, 0,
- cs->kx_algorithm);
+ algo = _gnutls_session_get_sign_algo(session, cert, pkey, 0,
+ cs->kx_algorithm);
if (algo == GNUTLS_SIGN_UNKNOWN)
return gnutls_assert_val(GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
@@ -1643,19 +1580,18 @@ int cert_select_sign_algorithm(gnutls_session_t session,
* selected certificate will be in session->internals.selected_*.
*
*/
-int
-_gnutls_select_server_cert(gnutls_session_t session,
- const gnutls_cipher_suite_entry_st * cs)
+int _gnutls_select_server_cert(gnutls_session_t session,
+ const gnutls_cipher_suite_entry_st *cs)
{
unsigned i, j;
int idx, ret;
gnutls_certificate_credentials_t cred;
char server_name[MAX_CN];
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
- gnutls_assert(); /* we don't need to select a cert */
+ gnutls_assert(); /* we don't need to select a cert */
return 0;
}
@@ -1670,34 +1606,29 @@ _gnutls_select_server_cert(gnutls_session_t session,
return gnutls_assert_val(ret);
if (session->internals.selected_cert_list_length == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_INSUFFICIENT_CREDENTIALS);
-
- if (unlikely
- (session->internals.selected_cert_list == NULL)) {
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS);
+
+ if (unlikely(session->internals.selected_cert_list ==
+ NULL)) {
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- _gnutls_debug_log("Selected (%s) cert\n",
- gnutls_pk_get_name(session->
- internals.selected_cert_list
- [0].pubkey->
- params.algo));
+ _gnutls_debug_log(
+ "Selected (%s) cert\n",
+ gnutls_pk_get_name(
+ session->internals.selected_cert_list[0]
+ .pubkey->params.algo));
}
if (session->internals.selected_key == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_INSUFFICIENT_CREDENTIALS);
+ return gnutls_assert_val(
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS);
- ret = cert_select_sign_algorithm(session,
- &session->
- internals.selected_cert_list
- [0],
- session->
- internals.selected_key, cs);
+ ret = cert_select_sign_algorithm(
+ session, &session->internals.selected_cert_list[0],
+ session->internals.selected_key, cs);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1710,9 +1641,9 @@ _gnutls_select_server_cert(gnutls_session_t session,
get_server_name(session, (unsigned char *)server_name,
sizeof(server_name));
- _gnutls_handshake_log("HSK[%p]: Requested server name: '%s'\n",
- session, server_name);
- idx = -1; /* default is use no certificate */
+ _gnutls_handshake_log("HSK[%p]: Requested server name: '%s'\n", session,
+ server_name);
+ idx = -1; /* default is use no certificate */
/* find certificates that match the requested server_name
*/
@@ -1721,28 +1652,25 @@ _gnutls_select_server_cert(gnutls_session_t session,
for (j = 0; j < cred->ncerts; j++) {
i = cred->sorted_cert_idx[j];
- if (cred->certs[i].names != NULL
- && _gnutls_str_array_match(cred->certs[i].names,
- server_name) != 0) {
+ if (cred->certs[i].names != NULL &&
+ _gnutls_str_array_match(cred->certs[i].names,
+ server_name) != 0) {
/* if requested algorithms are also compatible select it */
- ret = cert_select_sign_algorithm(session,
- &cred->certs
- [i].cert_list
- [0],
- cred->
- certs[i].pkey,
- cs);
+ ret = cert_select_sign_algorithm(
+ session, &cred->certs[i].cert_list[0],
+ cred->certs[i].pkey, cs);
if (ret >= 0) {
idx = i;
- _gnutls_debug_log
- ("Selected (%s) cert based on ciphersuite %x.%x: %s\n",
- gnutls_pk_get_name(cred->certs
- [i].cert_list
- [0].pubkey->
- params.algo),
- (unsigned)cs->id[0],
- (unsigned)cs->id[1], cs->name);
+ _gnutls_debug_log(
+ "Selected (%s) cert based on ciphersuite %x.%x: %s\n",
+ gnutls_pk_get_name(
+ cred->certs[i]
+ .cert_list[0]
+ .pubkey->params
+ .algo),
+ (unsigned)cs->id[0],
+ (unsigned)cs->id[1], cs->name);
/* found */
goto finished;
}
@@ -1754,25 +1682,27 @@ _gnutls_select_server_cert(gnutls_session_t session,
for (j = 0; j < cred->ncerts; j++) {
i = cred->sorted_cert_idx[j];
- _gnutls_handshake_log
- ("HSK[%p]: checking compat of %s with certificate[%d] (%s/%s)\n",
- session, cs->name, i,
- gnutls_pk_get_name(cred->certs[i].cert_list[0].pubkey->
- params.algo),
- gnutls_certificate_type_get_name(cred->certs[i].
- cert_list[0].type));
+ _gnutls_handshake_log(
+ "HSK[%p]: checking compat of %s with certificate[%d] (%s/%s)\n",
+ session, cs->name, i,
+ gnutls_pk_get_name(
+ cred->certs[i].cert_list[0].pubkey->params.algo),
+ gnutls_certificate_type_get_name(
+ cred->certs[i].cert_list[0].type));
ret = cert_select_sign_algorithm(session,
&cred->certs[i].cert_list[0],
cred->certs[i].pkey, cs);
if (ret >= 0) {
idx = i;
- _gnutls_debug_log
- ("Selected (%s) cert based on ciphersuite %x.%x: %s\n",
- gnutls_pk_get_name(cred->certs[i].
- cert_list[0].pubkey->params.
- algo), (unsigned)cs->id[0],
- (unsigned)cs->id[1], cs->name);
+ _gnutls_debug_log(
+ "Selected (%s) cert based on ciphersuite %x.%x: %s\n",
+ gnutls_pk_get_name(
+ cred->certs[i]
+ .cert_list[0]
+ .pubkey->params.algo),
+ (unsigned)cs->id[0], (unsigned)cs->id[1],
+ cs->name);
/* found */
goto finished;
}
@@ -1781,7 +1711,7 @@ _gnutls_select_server_cert(gnutls_session_t session,
/* store the certificate pointer for future use, in the handshake.
* (This will allow not calling this callback again.)
*/
- finished:
+finished:
if (idx >= 0) {
gnutls_status_request_ocsp_func ocsp_func = NULL;
void *ocsp_ptr = NULL;
@@ -1799,12 +1729,10 @@ _gnutls_select_server_cert(gnutls_session_t session,
ocsp_ptr = cred->certs[idx].ocsp_func_ptr;
}
- selected_certs_set(session,
- &cred->certs[idx].cert_list[0],
- cred->certs[idx].cert_list_length,
- ocsp, nocsp,
- cred->certs[idx].pkey, 0,
- ocsp_func, ocsp_ptr);
+ selected_certs_set(session, &cred->certs[idx].cert_list[0],
+ cred->certs[idx].cert_list_length, ocsp,
+ nocsp, cred->certs[idx].pkey, 0, ocsp_func,
+ ocsp_ptr);
} else {
/* Certificate does not support REQUESTED_ALGO. */
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
@@ -1813,9 +1741,8 @@ _gnutls_select_server_cert(gnutls_session_t session,
return 0;
}
-int _gnutls_gen_dhe_signature(gnutls_session_t session,
- gnutls_buffer_st * data, uint8_t * plain,
- unsigned plain_size)
+int _gnutls_gen_dhe_signature(gnutls_session_t session, gnutls_buffer_st *data,
+ uint8_t *plain, unsigned plain_size)
{
gnutls_pcert_st *apr_cert_list;
gnutls_privkey_t apr_pkey;
@@ -1832,25 +1759,23 @@ int _gnutls_gen_dhe_signature(gnutls_session_t session,
ddata.size = plain_size;
/* find the appropriate certificate */
- if ((ret =
- _gnutls_get_selected_cert(session, &apr_cert_list,
- &apr_cert_list_length, &apr_pkey)) < 0) {
+ if ((ret = _gnutls_get_selected_cert(session, &apr_cert_list,
+ &apr_cert_list_length,
+ &apr_pkey)) < 0) {
gnutls_assert();
return ret;
}
if (apr_cert_list_length > 0) {
- if ((ret =
- _gnutls_handshake_sign_data(session,
- &apr_cert_list[0],
- apr_pkey, &ddata,
- &signature, &sign_algo)) < 0) {
+ if ((ret = _gnutls_handshake_sign_data(
+ session, &apr_cert_list[0], apr_pkey, &ddata,
+ &signature, &sign_algo)) < 0) {
gnutls_assert();
goto cleanup;
}
} else {
gnutls_assert();
- ret = 0; /* ANON-DH, do not put a signature - ILLEGAL! */
+ ret = 0; /* ANON-DH, do not put a signature - ILLEGAL! */
goto cleanup;
}
@@ -1880,29 +1805,27 @@ int _gnutls_gen_dhe_signature(gnutls_session_t session,
}
}
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, signature.data,
- signature.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, signature.data,
+ signature.size);
if (ret < 0) {
gnutls_assert();
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&signature);
return ret;
}
-int
-_gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t * data,
- size_t _data_size, gnutls_datum_t * vparams)
+int _gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t *data,
+ size_t _data_size, gnutls_datum_t *vparams)
{
int sigsize;
gnutls_datum_t signature;
int ret;
cert_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
ssize_t data_size = _data_size;
gnutls_pcert_st peer_cert;
gnutls_sign_algorithm_t sign_algo = GNUTLS_SIGN_UNKNOWN;
@@ -1917,15 +1840,15 @@ _gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t * data,
return GNUTLS_E_INTERNAL_ERROR;
}
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- vflags =
- cred->verify_flags | session->internals.additional_verify_flags;
+ vflags = cred->verify_flags |
+ session->internals.additional_verify_flags;
/* VERIFY SIGNATURE */
if (_gnutls_version_has_selectable_sighash(ver)) {
@@ -1955,15 +1878,14 @@ _gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t * data,
// Retrieve the negotiated certificate type
cert_type = get_certificate_type(session, GNUTLS_CTYPE_SERVER);
- if ((ret =
- _gnutls_get_auth_info_pcert(&peer_cert, cert_type, info)) < 0) {
+ if ((ret = _gnutls_get_auth_info_pcert(&peer_cert, cert_type, info)) <
+ 0) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_handshake_verify_data(session, vflags, &peer_cert, vparams,
- &signature, sign_algo);
+ ret = _gnutls_handshake_verify_data(session, vflags, &peer_cert,
+ vparams, &signature, sign_algo);
gnutls_pcert_deinit(&peer_cert);
if (ret < 0) {
diff --git a/lib/auth/cert.h b/lib/auth/cert.h
index d571526c3f..aec0bc327e 100644
--- a/lib/auth/cert.h
+++ b/lib/auth/cert.h
@@ -22,17 +22,17 @@
*/
#ifndef GNUTLS_LIB_AUTH_CERT_H
-# define GNUTLS_LIB_AUTH_CERT_H
+#define GNUTLS_LIB_AUTH_CERT_H
-# include "auth.h"
-# include <auth/dh_common.h>
-# include <x509/x509_int.h>
-# include <gnutls/abstract.h>
-# include <gnutls/compat.h>
-# include <str_array.h>
-# include "abstract_int.h"
+#include "auth.h"
+#include <auth/dh_common.h>
+#include <x509/x509_int.h>
+#include <gnutls/abstract.h>
+#include <gnutls/compat.h>
+#include <str_array.h>
+#include "abstract_int.h"
-# define MAX_OCSP_RESPONSES 8
+#define MAX_OCSP_RESPONSES 8
/* We use the structure below to hold a certificate chain
* with corresponding public/private key pair. This structure will
@@ -41,12 +41,12 @@
* the list length is always 1.
*/
typedef struct {
- gnutls_pcert_st *cert_list; /* a certificate chain */
- unsigned int cert_list_length; /* its length */
- gnutls_str_array_t names; /* the names in the first certificate */
+ gnutls_pcert_st *cert_list; /* a certificate chain */
+ unsigned int cert_list_length; /* its length */
+ gnutls_str_array_t names; /* the names in the first certificate */
gnutls_status_request_ocsp_func ocsp_func;
- void *ocsp_func_ptr; /* corresponding OCSP response function + ptr */
+ void *ocsp_func_ptr; /* corresponding OCSP response function + ptr */
gnutls_ocsp_data_st ocsp_data[MAX_OCSP_RESPONSES];
unsigned int ocsp_data_length;
@@ -60,8 +60,8 @@ typedef struct {
*/
typedef struct gnutls_certificate_credentials_st {
gnutls_dh_params_t dh_params;
- unsigned deinit_dh_params; /* if the internal values are set */
- gnutls_sec_param_t dh_sec_param; /* used in RFC7919 negotiation */
+ unsigned deinit_dh_params; /* if the internal values are set */
+ gnutls_sec_param_t dh_sec_param; /* used in RFC7919 negotiation */
/* this callback is used to retrieve the DH or RSA
* parameters.
@@ -69,7 +69,7 @@ typedef struct gnutls_certificate_credentials_st {
gnutls_params_function *params_func;
certs_st *certs;
- unsigned ncerts; /* the number of certs */
+ unsigned ncerts; /* the number of certs */
/* contains sorted index values for certs. Sorted in a way
* that RSA-PSS keys always take precedence over plain RSA keys
@@ -80,8 +80,8 @@ typedef struct gnutls_certificate_credentials_st {
/* X509 specific stuff */
gnutls_x509_trust_list_t tlist;
- unsigned flags; /* gnutls_certificate_flags */
- unsigned int verify_flags; /* flags to be used at
+ unsigned flags; /* gnutls_certificate_flags */
+ unsigned int verify_flags; /* flags to be used at
* certificate verification.
*/
unsigned int verify_depth;
@@ -89,7 +89,7 @@ typedef struct gnutls_certificate_credentials_st {
/* It's a mess here. However we need to keep the old 3 functions
* for compatibility */
- gnutls_certificate_retrieve_function *legacy_cert_cb1; /* deprecated */
+ gnutls_certificate_retrieve_function *legacy_cert_cb1; /* deprecated */
gnutls_certificate_retrieve_function2 *legacy_cert_cb2;
gnutls_certificate_retrieve_function3 *get_cert_callback3;
@@ -101,7 +101,7 @@ typedef struct gnutls_certificate_credentials_st {
/* OCSP */
gnutls_status_request_ocsp_func glob_ocsp_func;
- void *glob_ocsp_func_ptr; /* corresponding OCSP response function */
+ void *glob_ocsp_func_ptr; /* corresponding OCSP response function */
/* This is only used by server to indicate whether this
* credentials can be used for signing in TLS 1.3. */
@@ -141,53 +141,50 @@ int _gnutls_proc_cert_cert_req(gnutls_session_t, uint8_t *, size_t);
int _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t, uint8_t *, size_t);
int _gnutls_proc_crt(gnutls_session_t, uint8_t *, size_t);
int _gnutls_get_selected_cert(gnutls_session_t session,
- gnutls_pcert_st ** apr_cert_list,
+ gnutls_pcert_st **apr_cert_list,
int *apr_cert_list_length,
- gnutls_privkey_t * apr_pkey);
+ gnutls_privkey_t *apr_pkey);
-int
-_gnutls_select_client_cert(gnutls_session_t session,
- const uint8_t * _data, size_t _data_size,
- gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length);
+int _gnutls_select_client_cert(gnutls_session_t session, const uint8_t *_data,
+ size_t _data_size,
+ gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length);
-int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st * certs,
+int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st *certs,
size_t ncerts);
-int
-_gnutls_select_server_cert(gnutls_session_t session,
- const gnutls_cipher_suite_entry_st * cs);
+int _gnutls_select_server_cert(gnutls_session_t session,
+ const gnutls_cipher_suite_entry_st *cs);
void _gnutls_selected_certs_deinit(gnutls_session_t session);
-int _gnutls_get_auth_info_pcert(gnutls_pcert_st * gcert,
+int _gnutls_get_auth_info_pcert(gnutls_pcert_st *gcert,
gnutls_certificate_type_t type,
cert_auth_info_t info);
int _gnutls_selected_cert_supported_kx(struct gnutls_session_int *session,
- gnutls_kx_algorithm_t * alg,
+ gnutls_kx_algorithm_t *alg,
int *alg_size);
int _gnutls_check_key_cert_match(gnutls_certificate_credentials_t res);
-int _gnutls_gen_dhe_signature(gnutls_session_t session,
- gnutls_buffer_st * data, uint8_t * plain,
- unsigned plain_size);
-int _gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t * data,
- size_t _data_size, gnutls_datum_t * vparams);
+int _gnutls_gen_dhe_signature(gnutls_session_t session, gnutls_buffer_st *data,
+ uint8_t *plain, unsigned plain_size);
+int _gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t *data,
+ size_t _data_size, gnutls_datum_t *vparams);
-int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st * data);
-int _gnutls_proc_rawpk_crt(gnutls_session_t session,
- uint8_t * data, size_t data_size);
+int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st *data);
+int _gnutls_proc_rawpk_crt(gnutls_session_t session, uint8_t *data,
+ size_t data_size);
inline static unsigned get_key_usage(gnutls_session_t session,
gnutls_pubkey_t pubkey)
{
if (unlikely(session->internals.priorities &&
- session->internals.
- priorities->allow_server_key_usage_violation))
+ session->internals.priorities
+ ->allow_server_key_usage_violation))
return 0;
else
return pubkey->key_usage;
}
-#endif /* GNUTLS_LIB_AUTH_CERT_H */
+#endif /* GNUTLS_LIB_AUTH_CERT_H */
diff --git a/lib/auth/dh_common.c b/lib/auth/dh_common.c
index e5f8930402..925e98c5d4 100644
--- a/lib/auth/dh_common.c
+++ b/lib/auth/dh_common.c
@@ -43,7 +43,7 @@
/* Frees the dh_info_st structure.
*/
-void _gnutls_free_dh_info(dh_info_st * dh)
+void _gnutls_free_dh_info(dh_info_st *dh)
{
dh->secret_bits = 0;
_gnutls_free_datum(&dh->prime);
@@ -51,10 +51,8 @@ void _gnutls_free_dh_info(dh_info_st * dh)
_gnutls_free_datum(&dh->public_key);
}
-int
-_gnutls_proc_dh_common_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size,
- gnutls_datum_t * psk_key)
+int _gnutls_proc_dh_common_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size, gnutls_datum_t *psk_key)
{
uint16_t n_Y;
size_t _n_Y;
@@ -74,10 +72,10 @@ _gnutls_proc_dh_common_client_kx(gnutls_session_t session,
if (data_size != 0)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
- if (_gnutls_mpi_init_scan_nz
- (&session->key.proto.tls12.dh.client_Y, &data[2], _n_Y)) {
+ if (_gnutls_mpi_init_scan_nz(&session->key.proto.tls12.dh.client_Y,
+ &data[2], _n_Y)) {
gnutls_assert();
- return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER; /* most likely zero or illegal size */
+ return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER; /* most likely zero or illegal size */
}
_gnutls_dh_set_peer_public(session,
@@ -86,9 +84,8 @@ _gnutls_proc_dh_common_client_kx(gnutls_session_t session,
peer_pub.params[DH_Y] = session->key.proto.tls12.dh.client_Y;
/* calculate the key after calculating the message */
- ret =
- _gnutls_pk_derive(GNUTLS_PK_DH, &tmp_dh_key,
- &session->key.proto.tls12.dh.params, &peer_pub);
+ ret = _gnutls_pk_derive(GNUTLS_PK_DH, &tmp_dh_key,
+ &session->key.proto.tls12.dh.params, &peer_pub);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -97,9 +94,9 @@ _gnutls_proc_dh_common_client_kx(gnutls_session_t session,
if (psk_key == NULL) {
session->key.key.data = tmp_dh_key.data;
session->key.key.size = tmp_dh_key.size;
- } else { /* In DHE_PSK the key is set differently */
- ret =
- _gnutls_set_psk_session_key(session, psk_key, &tmp_dh_key);
+ } else { /* In DHE_PSK the key is set differently */
+ ret = _gnutls_set_psk_session_key(session, psk_key,
+ &tmp_dh_key);
_gnutls_free_temp_key_datum(&tmp_dh_key);
}
@@ -109,7 +106,7 @@ _gnutls_proc_dh_common_client_kx(gnutls_session_t session,
}
ret = 0;
- error:
+error:
_gnutls_mpi_release(&session->key.proto.tls12.dh.client_Y);
gnutls_pk_params_clear(&session->key.proto.tls12.dh.params);
@@ -117,15 +114,14 @@ _gnutls_proc_dh_common_client_kx(gnutls_session_t session,
}
int _gnutls_gen_dh_common_client_kx(gnutls_session_t session,
- gnutls_buffer_st * data)
+ gnutls_buffer_st *data)
{
return _gnutls_gen_dh_common_client_kx_int(session, data, NULL);
}
-int
-_gnutls_gen_dh_common_client_kx_int(gnutls_session_t session,
- gnutls_buffer_st * data,
- gnutls_datum_t * pskkey)
+int _gnutls_gen_dh_common_client_kx_int(gnutls_session_t session,
+ gnutls_buffer_st *data,
+ gnutls_datum_t *pskkey)
{
int ret;
gnutls_pk_params_st peer_pub;
@@ -134,21 +130,18 @@ _gnutls_gen_dh_common_client_kx_int(gnutls_session_t session,
gnutls_pk_params_init(&peer_pub);
- ret =
- _gnutls_pk_generate_keys(GNUTLS_PK_DH, 0,
- &session->key.proto.tls12.dh.params, 1);
+ ret = _gnutls_pk_generate_keys(GNUTLS_PK_DH, 0,
+ &session->key.proto.tls12.dh.params, 1);
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_dh_set_secret_bits(session,
- _gnutls_mpi_get_nbits(session->key.
- proto.tls12.dh.
- params.params[DH_X]));
+ _gnutls_dh_set_secret_bits(
+ session,
+ _gnutls_mpi_get_nbits(
+ session->key.proto.tls12.dh.params.params[DH_X]));
- ret =
- _gnutls_buffer_append_mpi(data, 16,
- session->key.proto.tls12.dh.
- params.params[DH_Y], 0);
+ ret = _gnutls_buffer_append_mpi(
+ data, 16, session->key.proto.tls12.dh.params.params[DH_Y], 0);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -157,18 +150,18 @@ _gnutls_gen_dh_common_client_kx_int(gnutls_session_t session,
peer_pub.params[DH_Y] = session->key.proto.tls12.dh.client_Y;
/* calculate the key after calculating the message */
- ret =
- _gnutls_pk_derive(GNUTLS_PK_DH, &tmp_dh_key,
- &session->key.proto.tls12.dh.params, &peer_pub);
+ ret = _gnutls_pk_derive(GNUTLS_PK_DH, &tmp_dh_key,
+ &session->key.proto.tls12.dh.params, &peer_pub);
if (ret < 0) {
gnutls_assert();
goto error;
}
- if (session->security_parameters.cs->kx_algorithm != GNUTLS_KX_DHE_PSK) {
+ if (session->security_parameters.cs->kx_algorithm !=
+ GNUTLS_KX_DHE_PSK) {
session->key.key.data = tmp_dh_key.data;
session->key.key.size = tmp_dh_key.size;
- } else { /* In DHE_PSK the key is set differently */
+ } else { /* In DHE_PSK the key is set differently */
ret = _gnutls_set_psk_session_key(session, pskkey, &tmp_dh_key);
_gnutls_free_temp_key_datum(&tmp_dh_key);
}
@@ -180,15 +173,14 @@ _gnutls_gen_dh_common_client_kx_int(gnutls_session_t session,
ret = data->length - init_pos;
- error:
+error:
gnutls_pk_params_clear(&session->key.proto.tls12.dh.params);
return ret;
}
/* Returns the bytes parsed */
-int
-_gnutls_proc_dh_common_server_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size)
+int _gnutls_proc_dh_common_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
uint16_t n_Y, n_g, n_p;
size_t _n_Y, _n_g, _n_p, _n_q;
@@ -234,8 +226,8 @@ _gnutls_proc_dh_common_server_kx(gnutls_session_t session,
_n_g = n_g;
_n_p = n_p;
- if (_gnutls_mpi_init_scan_nz
- (&session->key.proto.tls12.dh.client_Y, data_Y, _n_Y) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&session->key.proto.tls12.dh.client_Y,
+ data_Y, _n_Y) != 0) {
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
@@ -244,77 +236,79 @@ _gnutls_proc_dh_common_server_kx(gnutls_session_t session,
if (session->internals.priorities->groups.have_ffdhe != 0) {
/* verify whether the received parameters match the advertised, otherwise
* log that. */
- for (j = 0; j < session->internals.priorities->groups.size; j++) {
- if (session->internals.priorities->groups.
- entry[j]->generator
- && session->internals.priorities->groups.
- entry[j]->generator->size == n_g
- && session->internals.priorities->groups.
- entry[j]->prime->size == n_p
- && memcmp(session->internals.priorities->
- groups.entry[j]->generator->data, data_g,
- n_g) == 0
- && memcmp(session->internals.priorities->
- groups.entry[j]->prime->data, data_p,
- n_p) == 0) {
-
+ for (j = 0; j < session->internals.priorities->groups.size;
+ j++) {
+ if (session->internals.priorities->groups.entry[j]
+ ->generator &&
+ session->internals.priorities->groups.entry[j]
+ ->generator->size == n_g &&
+ session->internals.priorities->groups.entry[j]
+ ->prime->size == n_p &&
+ memcmp(session->internals.priorities->groups
+ .entry[j]
+ ->generator->data,
+ data_g, n_g) == 0 &&
+ memcmp(session->internals.priorities->groups
+ .entry[j]
+ ->prime->data,
+ data_p, n_p) == 0) {
session->internals.hsk_flags |= HSK_USED_FFDHE;
- _gnutls_session_group_set(session,
- session->
- internals.priorities->
- groups.entry[j]);
+ _gnutls_session_group_set(
+ session, session->internals.priorities
+ ->groups.entry[j]);
session->key.proto.tls12.dh.params.qbits =
- *session->internals.priorities->
- groups.entry[j]->q_bits;
- data_q =
- session->internals.priorities->
- groups.entry[j]->q->data;
- _n_q =
- session->internals.priorities->
- groups.entry[j]->q->size;
+ *session->internals.priorities->groups
+ .entry[j]
+ ->q_bits;
+ data_q = session->internals.priorities->groups
+ .entry[j]
+ ->q->data;
+ _n_q = session->internals.priorities->groups
+ .entry[j]
+ ->q->size;
break;
}
}
if (!(session->internals.hsk_flags & HSK_USED_FFDHE)) {
- _gnutls_audit_log(session,
- "FFDHE groups advertised, but server didn't support it; falling back to server's choice\n");
+ _gnutls_audit_log(
+ session,
+ "FFDHE groups advertised, but server didn't support it; falling back to server's choice\n");
}
}
-# ifdef ENABLE_FIPS140
+#ifdef ENABLE_FIPS140
if (gnutls_fips140_mode_enabled() &&
!_gnutls_dh_prime_match_fips_approved(data_p, n_p, data_g, n_g,
NULL, NULL)) {
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
-# endif
+#endif
- if (_gnutls_mpi_init_scan_nz
- (&session->key.proto.tls12.dh.params.params[DH_G], data_g,
- _n_g) != 0) {
+ if (_gnutls_mpi_init_scan_nz(
+ &session->key.proto.tls12.dh.params.params[DH_G], data_g,
+ _n_g) != 0) {
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
- if (_gnutls_mpi_init_scan_nz
- (&session->key.proto.tls12.dh.params.params[DH_P], data_p,
- _n_p) != 0) {
+ if (_gnutls_mpi_init_scan_nz(
+ &session->key.proto.tls12.dh.params.params[DH_P], data_p,
+ _n_p) != 0) {
gnutls_assert();
/* we release now because session->key.proto.tls12.dh.params.params_nr is not yet set */
- _gnutls_mpi_release(&session->key.proto.tls12.dh.
- params.params[DH_G]);
+ _gnutls_mpi_release(
+ &session->key.proto.tls12.dh.params.params[DH_G]);
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
- if (data_q
- && _gnutls_mpi_init_scan_nz(&session->key.proto.tls12.dh.
- params.params[DH_Q], data_q,
- _n_q) != 0) {
+ if (data_q && _gnutls_mpi_init_scan_nz(
+ &session->key.proto.tls12.dh.params.params[DH_Q],
+ data_q, _n_q) != 0) {
/* we release now because params_nr is not yet set */
- _gnutls_mpi_release(&session->key.proto.tls12.dh.
- params.params[DH_P]);
- _gnutls_mpi_release(&session->key.proto.tls12.dh.
- params.params[DH_G]);
+ _gnutls_mpi_release(
+ &session->key.proto.tls12.dh.params.params[DH_P]);
+ _gnutls_mpi_release(
+ &session->key.proto.tls12.dh.params.params[DH_G]);
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
@@ -329,29 +323,27 @@ _gnutls_proc_dh_common_server_kx(gnutls_session_t session,
return bits;
}
- p_bits =
- _gnutls_mpi_get_nbits(session->key.proto.tls12.dh.
- params.params[DH_P]);
+ p_bits = _gnutls_mpi_get_nbits(
+ session->key.proto.tls12.dh.params.params[DH_P]);
if (p_bits < bits) {
/* the prime used by the peer is not acceptable
*/
gnutls_assert();
- _gnutls_debug_log
- ("Received a prime of %u bits, limit is %u\n",
- (unsigned)_gnutls_mpi_get_nbits(session->key.
- proto.tls12.dh.
- params.params
- [DH_P]),
- (unsigned)bits);
+ _gnutls_debug_log(
+ "Received a prime of %u bits, limit is %u\n",
+ (unsigned)_gnutls_mpi_get_nbits(
+ session->key.proto.tls12.dh.params
+ .params[DH_P]),
+ (unsigned)bits);
return GNUTLS_E_DH_PRIME_UNACCEPTABLE;
}
if (p_bits >= DEFAULT_MAX_VERIFY_BITS) {
gnutls_assert();
- _gnutls_debug_log
- ("Received a prime of %u bits, limit is %u\n",
- (unsigned)p_bits,
- (unsigned)DEFAULT_MAX_VERIFY_BITS);
+ _gnutls_debug_log(
+ "Received a prime of %u bits, limit is %u\n",
+ (unsigned)p_bits,
+ (unsigned)DEFAULT_MAX_VERIFY_BITS);
return GNUTLS_E_DH_PRIME_UNACCEPTABLE;
}
}
@@ -367,9 +359,8 @@ _gnutls_proc_dh_common_server_kx(gnutls_session_t session,
return ret;
}
-int
-_gnutls_dh_common_print_server_kx(gnutls_session_t session,
- gnutls_buffer_st * data)
+int _gnutls_dh_common_print_server_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret;
unsigned q_bits = session->key.proto.tls12.dh.params.qbits;
@@ -379,43 +370,36 @@ _gnutls_dh_common_print_server_kx(gnutls_session_t session,
gnutls_assert();
_gnutls_debug_log("too small q_bits value for DH: %u\n",
q_bits);
- q_bits = 0; /* auto-detect */
+ q_bits = 0; /* auto-detect */
}
/* Y=g^x mod p */
- ret =
- _gnutls_pk_generate_keys(GNUTLS_PK_DH, q_bits,
- &session->key.proto.tls12.dh.params, 1);
+ ret = _gnutls_pk_generate_keys(GNUTLS_PK_DH, q_bits,
+ &session->key.proto.tls12.dh.params, 1);
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_dh_set_secret_bits(session,
- _gnutls_mpi_get_nbits(session->key.
- proto.tls12.dh.
- params.params[DH_X]));
+ _gnutls_dh_set_secret_bits(
+ session,
+ _gnutls_mpi_get_nbits(
+ session->key.proto.tls12.dh.params.params[DH_X]));
- ret =
- _gnutls_buffer_append_mpi(data, 16,
- session->key.proto.tls12.dh.
- params.params[DH_P], 0);
+ ret = _gnutls_buffer_append_mpi(
+ data, 16, session->key.proto.tls12.dh.params.params[DH_P], 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_mpi(data, 16,
- session->key.proto.tls12.dh.
- params.params[DH_G], 0);
+ ret = _gnutls_buffer_append_mpi(
+ data, 16, session->key.proto.tls12.dh.params.params[DH_G], 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_mpi(data, 16,
- session->key.proto.tls12.dh.
- params.params[DH_Y], 0);
+ ret = _gnutls_buffer_append_mpi(
+ data, 16, session->key.proto.tls12.dh.params.params[DH_Y], 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -423,7 +407,7 @@ _gnutls_dh_common_print_server_kx(gnutls_session_t session,
ret = data->length - init_pos;
- cleanup:
+cleanup:
return ret;
}
diff --git a/lib/auth/dh_common.h b/lib/auth/dh_common.h
index cc523d633e..cb93f9f5f5 100644
--- a/lib/auth/dh_common.h
+++ b/lib/auth/dh_common.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_AUTH_DH_COMMON_H
-# define GNUTLS_LIB_AUTH_DH_COMMON_H
+#define GNUTLS_LIB_AUTH_DH_COMMON_H
-# include <auth.h>
+#include <auth.h>
typedef struct {
int secret_bits;
@@ -33,18 +33,16 @@ typedef struct {
gnutls_datum_t public_key;
} dh_info_st;
-void _gnutls_free_dh_info(dh_info_st * dh);
+void _gnutls_free_dh_info(dh_info_st *dh);
-int _gnutls_gen_dh_common_client_kx_int(gnutls_session_t,
- gnutls_buffer_st *,
- gnutls_datum_t * pskkey);
+int _gnutls_gen_dh_common_client_kx_int(gnutls_session_t, gnutls_buffer_st *,
+ gnutls_datum_t *pskkey);
int _gnutls_gen_dh_common_client_kx(gnutls_session_t, gnutls_buffer_st *);
-int _gnutls_proc_dh_common_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size,
- gnutls_datum_t * psk_key);
-int _gnutls_dh_common_print_server_kx(gnutls_session_t,
- gnutls_buffer_st * data);
-int _gnutls_proc_dh_common_server_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size);
+int _gnutls_proc_dh_common_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size,
+ gnutls_datum_t *psk_key);
+int _gnutls_dh_common_print_server_kx(gnutls_session_t, gnutls_buffer_st *data);
+int _gnutls_proc_dh_common_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size);
-#endif /* GNUTLS_LIB_AUTH_DH_COMMON_H */
+#endif /* GNUTLS_LIB_AUTH_DH_COMMON_H */
diff --git a/lib/auth/dhe.c b/lib/auth/dhe.c
index 5a01457675..eeaf831c7f 100644
--- a/lib/auth/dhe.c
+++ b/lib/auth/dhe.c
@@ -52,15 +52,15 @@ const mod_auth_st dhe_rsa_auth_struct = {
_gnutls_gen_cert_client_crt,
gen_dhe_server_kx,
_gnutls_gen_dh_common_client_kx,
- _gnutls_gen_cert_client_crt_vrfy, /* gen client cert vrfy */
- _gnutls_gen_cert_server_cert_req, /* server cert request */
+ _gnutls_gen_cert_client_crt_vrfy, /* gen client cert vrfy */
+ _gnutls_gen_cert_server_cert_req, /* server cert request */
_gnutls_proc_crt,
_gnutls_proc_crt,
proc_dhe_server_kx,
proc_dhe_client_kx,
- _gnutls_proc_cert_client_crt_vrfy, /* proc client cert vrfy */
- _gnutls_proc_cert_cert_req /* proc server cert request */
+ _gnutls_proc_cert_client_crt_vrfy, /* proc client cert vrfy */
+ _gnutls_proc_cert_cert_req /* proc server cert request */
};
const mod_auth_st dhe_dss_auth_struct = {
@@ -69,27 +69,27 @@ const mod_auth_st dhe_dss_auth_struct = {
_gnutls_gen_cert_client_crt,
gen_dhe_server_kx,
_gnutls_gen_dh_common_client_kx,
- _gnutls_gen_cert_client_crt_vrfy, /* gen client cert vrfy */
- _gnutls_gen_cert_server_cert_req, /* server cert request */
+ _gnutls_gen_cert_client_crt_vrfy, /* gen client cert vrfy */
+ _gnutls_gen_cert_server_cert_req, /* server cert request */
_gnutls_proc_crt,
_gnutls_proc_crt,
proc_dhe_server_kx,
proc_dhe_client_kx,
- _gnutls_proc_cert_client_crt_vrfy, /* proc client cert vrfy */
- _gnutls_proc_cert_cert_req /* proc server cert request */
+ _gnutls_proc_cert_client_crt_vrfy, /* proc client cert vrfy */
+ _gnutls_proc_cert_cert_req /* proc server cert request */
};
#endif
-static int gen_dhe_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_dhe_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret = 0;
gnutls_certificate_credentials_t cred;
unsigned sig_pos;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -101,9 +101,8 @@ static int gen_dhe_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
- ret =
- _gnutls_figure_dh_params(session, cred->dh_params,
- cred->params_func, cred->dh_sec_param);
+ ret = _gnutls_figure_dh_params(session, cred->dh_params,
+ cred->params_func, cred->dh_sec_param);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -121,8 +120,8 @@ static int gen_dhe_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
data->length - sig_pos);
}
-static int
-proc_dhe_server_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
+static int proc_dhe_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
gnutls_datum_t vdata;
int ret;
@@ -134,12 +133,12 @@ proc_dhe_server_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
vdata.data = data;
vdata.size = ret;
- return _gnutls_proc_dhe_signature(session, data + ret,
- _data_size - ret, &vdata);
+ return _gnutls_proc_dhe_signature(session, data + ret, _data_size - ret,
+ &vdata);
}
-static int
-proc_dhe_client_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
+static int proc_dhe_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
return _gnutls_proc_dh_common_client_kx(session, data, _data_size,
NULL);
diff --git a/lib/auth/dhe_psk.c b/lib/auth/dhe_psk.c
index 6ff31012db..ab5eddd16a 100644
--- a/lib/auth/dhe_psk.c
+++ b/lib/auth/dhe_psk.c
@@ -32,78 +32,73 @@
/* Contains PSK code for DHE and ECDHE
*/
-# include "auth.h"
-# include "errors.h"
-# include "dh.h"
-# include <auth/psk.h>
-# include "num.h"
-# include "mpi.h"
-# include <state.h>
-# include <auth/dh_common.h>
-# include <auth/ecdhe.h>
-# include <datum.h>
-# include <auth/psk_passwd.h>
-
-static int
-proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size);
+#include "auth.h"
+#include "errors.h"
+#include "dh.h"
+#include <auth/psk.h>
+#include "num.h"
+#include "mpi.h"
+#include <state.h>
+#include <auth/dh_common.h>
+#include <auth/ecdhe.h>
+#include <datum.h>
+#include <auth/psk_passwd.h>
+
+static int proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size);
static int gen_dhe_psk_server_kx(gnutls_session_t, gnutls_buffer_st *);
static int gen_dhe_psk_client_kx(gnutls_session_t, gnutls_buffer_st *);
static int gen_ecdhe_psk_client_kx(gnutls_session_t, gnutls_buffer_st *);
static int proc_ecdhe_psk_client_kx(gnutls_session_t, uint8_t *, size_t);
static int proc_dhe_psk_server_kx(gnutls_session_t, uint8_t *, size_t);
static int gen_ecdhe_psk_server_kx(gnutls_session_t session,
- gnutls_buffer_st * data);
-static int proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
+ gnutls_buffer_st *data);
+static int proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t *data,
size_t _data_size);
-# ifdef ENABLE_DHE
-const mod_auth_st dhe_psk_auth_struct = {
- "DHE PSK",
- NULL,
- NULL,
- gen_dhe_psk_server_kx,
- gen_dhe_psk_client_kx,
- NULL,
- NULL,
-
- NULL,
- NULL, /* certificate */
- proc_dhe_psk_server_kx,
- proc_dhe_psk_client_kx,
- NULL,
- NULL
-};
-# endif
-
-# ifdef ENABLE_ECDHE
-const mod_auth_st ecdhe_psk_auth_struct = {
- "ECDHE PSK",
- NULL,
- NULL,
- gen_ecdhe_psk_server_kx,
- gen_ecdhe_psk_client_kx,
- NULL,
- NULL,
-
- NULL,
- NULL, /* certificate */
- proc_ecdhe_psk_server_kx,
- proc_ecdhe_psk_client_kx,
- NULL,
- NULL
-};
-# endif
-
-static int
-gen_ecdhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+#ifdef ENABLE_DHE
+const mod_auth_st dhe_psk_auth_struct = { "DHE PSK",
+ NULL,
+ NULL,
+ gen_dhe_psk_server_kx,
+ gen_dhe_psk_client_kx,
+ NULL,
+ NULL,
+
+ NULL,
+ NULL, /* certificate */
+ proc_dhe_psk_server_kx,
+ proc_dhe_psk_client_kx,
+ NULL,
+ NULL };
+#endif
+
+#ifdef ENABLE_ECDHE
+const mod_auth_st ecdhe_psk_auth_struct = { "ECDHE PSK",
+ NULL,
+ NULL,
+ gen_ecdhe_psk_server_kx,
+ gen_ecdhe_psk_client_kx,
+ NULL,
+ NULL,
+
+ NULL,
+ NULL, /* certificate */
+ proc_ecdhe_psk_server_kx,
+ proc_ecdhe_psk_client_kx,
+ NULL,
+ NULL };
+#endif
+
+static int gen_ecdhe_psk_client_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret, free;
gnutls_psk_client_credentials_t cred;
gnutls_datum_t username, key;
unsigned init_pos = data->length;
- cred = (gnutls_psk_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL)
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
@@ -112,9 +107,8 @@ gen_ecdhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, username.data,
- username.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, username.data,
+ username.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -129,7 +123,7 @@ gen_ecdhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
ret = data->length - init_pos;
- cleanup:
+cleanup:
if (free) {
_gnutls_free_datum(&username);
_gnutls_free_temp_key_datum(&key);
@@ -138,16 +132,16 @@ gen_ecdhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
-static int
-gen_dhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_dhe_psk_client_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret, free;
gnutls_psk_client_credentials_t cred;
gnutls_datum_t username, key;
unsigned init_pos = data->length;
- cred = (gnutls_psk_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL)
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
@@ -156,9 +150,8 @@ gen_dhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, username.data,
- username.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, username.data,
+ username.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -173,7 +166,7 @@ gen_dhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
ret = data->length - init_pos;
- cleanup:
+cleanup:
if (free) {
_gnutls_free_datum(&username);
_gnutls_free_temp_key_datum(&key);
@@ -182,37 +175,35 @@ gen_dhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
-static int
-gen_dhe_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_dhe_psk_server_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret;
gnutls_psk_server_credentials_t cred;
gnutls_datum_t hint = { NULL, 0 };
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_figure_dh_params(session, cred->dh_params,
- cred->params_func, cred->dh_sec_param);
+ ret = _gnutls_figure_dh_params(session, cred->dh_params,
+ cred->params_func, cred->dh_sec_param);
if (ret < 0) {
gnutls_assert();
return ret;
}
if (cred->hint) {
- hint.data = (uint8_t *) cred->hint;
+ hint.data = (uint8_t *)cred->hint;
hint.size = strlen(cred->hint);
}
@@ -227,22 +218,21 @@ gen_dhe_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
-static int
-gen_ecdhe_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_ecdhe_psk_server_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret;
gnutls_psk_server_credentials_t cred;
gnutls_datum_t hint = { NULL, 0 };
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
@@ -250,7 +240,7 @@ gen_ecdhe_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
}
if (cred->hint) {
- hint.data = (uint8_t *) cred->hint;
+ hint.data = (uint8_t *)cred->hint;
hint.size = strlen(cred->hint);
}
@@ -266,9 +256,8 @@ gen_ecdhe_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
-static int
-proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
int ret;
gnutls_datum_t psk_key;
@@ -277,17 +266,16 @@ proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
gnutls_datum_t username;
ssize_t data_size = _data_size;
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -319,9 +307,8 @@ proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* Adjust the data */
data += username.size + 2;
- ret =
- _gnutls_psk_pwd_find_entry(session, info->username,
- info->username_len, &psk_key);
+ ret = _gnutls_psk_pwd_find_entry(session, info->username,
+ info->username_len, &psk_key);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -331,12 +318,10 @@ proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
_gnutls_free_key_datum(&psk_key);
return ret;
-
}
-static int
-proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
int ret;
gnutls_psk_server_credentials_t cred;
@@ -345,17 +330,16 @@ proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
gnutls_datum_t username;
ssize_t data_size = _data_size;
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -389,9 +373,8 @@ proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* should never fail. It will always return a key even if it is
* a random one */
- ret =
- _gnutls_psk_pwd_find_entry(session, info->username,
- info->username_len, &psk_key);
+ ret = _gnutls_psk_pwd_find_entry(session, info->username,
+ info->username_len, &psk_key);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -403,20 +386,17 @@ proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
return ret;
}
-static int
-proc_dhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int proc_dhe_psk_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
-
int ret;
ssize_t data_size = _data_size;
psk_auth_info_t info;
gnutls_datum_t hint;
/* set auth_info */
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -451,20 +431,17 @@ proc_dhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
return 0;
}
-static int
-proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
-
int ret;
ssize_t data_size = _data_size;
psk_auth_info_t info;
gnutls_datum_t hint;
/* set auth_info */
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -499,4 +476,4 @@ proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
return 0;
}
-#endif /* ENABLE_PSK */
+#endif /* ENABLE_PSK */
diff --git a/lib/auth/ecdhe.c b/lib/auth/ecdhe.c
index 350cb27da7..b69323c539 100644
--- a/lib/auth/ecdhe.c
+++ b/lib/auth/ecdhe.c
@@ -44,12 +44,10 @@
#include <pk.h>
static int gen_ecdhe_server_kx(gnutls_session_t, gnutls_buffer_st *);
-static int
-proc_ecdhe_server_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size);
-static int
-proc_ecdhe_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size);
+static int proc_ecdhe_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size);
+static int proc_ecdhe_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size);
#if defined(ENABLE_ECDHE)
const mod_auth_st ecdhe_ecdsa_auth_struct = {
@@ -57,7 +55,7 @@ const mod_auth_st ecdhe_ecdsa_auth_struct = {
_gnutls_gen_cert_server_crt,
_gnutls_gen_cert_client_crt,
gen_ecdhe_server_kx,
- _gnutls_gen_ecdh_common_client_kx, /* This is the only difference */
+ _gnutls_gen_ecdh_common_client_kx, /* This is the only difference */
_gnutls_gen_cert_client_crt_vrfy,
_gnutls_gen_cert_server_cert_req,
@@ -74,7 +72,7 @@ const mod_auth_st ecdhe_rsa_auth_struct = {
_gnutls_gen_cert_server_crt,
_gnutls_gen_cert_client_crt,
gen_ecdhe_server_kx,
- _gnutls_gen_ecdh_common_client_kx, /* This is the only difference */
+ _gnutls_gen_ecdh_common_client_kx, /* This is the only difference */
_gnutls_gen_cert_client_crt_vrfy,
_gnutls_gen_cert_server_cert_req,
@@ -86,9 +84,8 @@ const mod_auth_st ecdhe_rsa_auth_struct = {
_gnutls_proc_cert_cert_req
};
-static int calc_ecdh_key(gnutls_session_t session,
- gnutls_datum_t * psk_key,
- const gnutls_ecc_curve_entry_st * ecurve)
+static int calc_ecdh_key(gnutls_session_t session, gnutls_datum_t *psk_key,
+ const gnutls_ecc_curve_entry_st *ecurve)
{
gnutls_pk_params_st pub;
int ret;
@@ -101,9 +98,8 @@ static int calc_ecdh_key(gnutls_session_t session,
pub.raw_pub.size = session->key.proto.tls12.ecdh.raw.size;
pub.curve = ecurve->id;
- ret =
- _gnutls_pk_derive(ecurve->pk, &tmp_dh_key,
- &session->key.proto.tls12.ecdh.params, &pub);
+ ret = _gnutls_pk_derive(ecurve->pk, &tmp_dh_key,
+ &session->key.proto.tls12.ecdh.params, &pub);
if (ret < 0) {
ret = gnutls_assert_val(ret);
goto cleanup;
@@ -111,10 +107,10 @@ static int calc_ecdh_key(gnutls_session_t session,
if (psk_key == NULL) {
memcpy(&session->key.key, &tmp_dh_key, sizeof(gnutls_datum_t));
- tmp_dh_key.data = NULL; /* no longer needed */
+ tmp_dh_key.data = NULL; /* no longer needed */
} else {
- ret =
- _gnutls_set_psk_session_key(session, psk_key, &tmp_dh_key);
+ ret = _gnutls_set_psk_session_key(session, psk_key,
+ &tmp_dh_key);
_gnutls_free_temp_key_datum(&tmp_dh_key);
if (ret < 0) {
@@ -125,7 +121,7 @@ static int calc_ecdh_key(gnutls_session_t session,
ret = 0;
- cleanup:
+cleanup:
/* no longer needed */
_gnutls_mpi_release(&session->key.proto.tls12.ecdh.x);
_gnutls_mpi_release(&session->key.proto.tls12.ecdh.y);
@@ -134,10 +130,9 @@ static int calc_ecdh_key(gnutls_session_t session,
return ret;
}
-int _gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size,
- const struct gnutls_group_entry_st
- *group, gnutls_datum_t * psk_key)
+int _gnutls_proc_ecdh_common_client_kx(
+ gnutls_session_t session, uint8_t *data, size_t _data_size,
+ const struct gnutls_group_entry_st *group, gnutls_datum_t *psk_key)
{
ssize_t data_size = _data_size;
int ret, i = 0;
@@ -163,12 +158,9 @@ int _gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
DECR_LEN(data_size, point_size);
if (ecurve->pk == GNUTLS_PK_EC) {
- ret =
- _gnutls_ecc_ansi_x962_import(&data[i], point_size,
- &session->key.proto.tls12.
- ecdh.x,
- &session->key.proto.tls12.
- ecdh.y);
+ ret = _gnutls_ecc_ansi_x962_import(
+ &data[i], point_size, &session->key.proto.tls12.ecdh.x,
+ &session->key.proto.tls12.ecdh.y);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -176,9 +168,8 @@ int _gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
} else if (ecurve->pk == GNUTLS_PK_ECDH_X25519 ||
ecurve->pk == GNUTLS_PK_ECDH_X448) {
if (ecurve->size != point_size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
ret = _gnutls_set_datum(&session->key.proto.tls12.ecdh.raw,
&data[i], point_size);
@@ -190,8 +181,8 @@ int _gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
/* RFC7748 requires to mask the MSB in the final byte
* for X25519 (not X448) */
if (ecurve->id == GNUTLS_ECC_CURVE_X25519) {
- session->key.proto.tls12.ecdh.raw.data[point_size -
- 1] &= 0x7f;
+ session->key.proto.tls12.ecdh.raw.data[point_size - 1] &=
+ 0x7f;
}
} else {
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
@@ -208,7 +199,7 @@ int _gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
gnutls_assert();
goto cleanup;
}
- cleanup:
+cleanup:
_gnutls_mpi_release(&session->key.proto.tls12.ecdh.x);
_gnutls_mpi_release(&session->key.proto.tls12.ecdh.y);
_gnutls_free_datum(&session->key.proto.tls12.ecdh.raw);
@@ -216,35 +207,31 @@ int _gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
return ret;
}
-static int
-proc_ecdhe_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size)
+static int proc_ecdhe_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
gnutls_certificate_credentials_t cred;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- return _gnutls_proc_ecdh_common_client_kx(session, data,
- _data_size,
+ return _gnutls_proc_ecdh_common_client_kx(session, data, _data_size,
get_group(session), NULL);
}
-int
-_gnutls_gen_ecdh_common_client_kx(gnutls_session_t session,
- gnutls_buffer_st * data)
+int _gnutls_gen_ecdh_common_client_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
return _gnutls_gen_ecdh_common_client_kx_int(session, data, NULL);
}
-int
-_gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
- gnutls_buffer_st * data,
- gnutls_datum_t * psk_key)
+int _gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
+ gnutls_buffer_st *data,
+ gnutls_datum_t *psk_key)
{
int ret;
gnutls_datum_t out;
@@ -263,31 +250,27 @@ _gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
pk = ecurve->pk;
/* generate temporal key */
- ret =
- _gnutls_pk_generate_keys(pk, ecurve->id,
- &session->key.proto.tls12.ecdh.params, 1);
+ ret = _gnutls_pk_generate_keys(
+ pk, ecurve->id, &session->key.proto.tls12.ecdh.params, 1);
if (ret < 0)
return gnutls_assert_val(ret);
if (pk == GNUTLS_PK_EC) {
- ret =
- _gnutls_ecc_ansi_x962_export(ecurve->id,
- session->key.proto.tls12.
- ecdh.params.
- params[ECC_X] /* x */ ,
- session->key.proto.tls12.
- ecdh.params.
- params[ECC_Y] /* y */ ,
- &out);
+ ret = _gnutls_ecc_ansi_x962_export(
+ ecurve->id,
+ session->key.proto.tls12.ecdh.params
+ .params[ECC_X] /* x */,
+ session->key.proto.tls12.ecdh.params
+ .params[ECC_Y] /* y */,
+ &out);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data_prefix(data, 8, out.data,
- out.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 8, out.data,
+ out.size);
_gnutls_free_datum(&out);
@@ -296,14 +279,10 @@ _gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
goto cleanup;
}
} else if (pk == GNUTLS_PK_ECDH_X25519 || pk == GNUTLS_PK_ECDH_X448) {
- ret =
- _gnutls_buffer_append_data_prefix(data, 8,
- session->key.proto.
- tls12.ecdh.params.raw_pub.
- data,
- session->key.proto.
- tls12.ecdh.params.raw_pub.
- size);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 8,
+ session->key.proto.tls12.ecdh.params.raw_pub.data,
+ session->key.proto.tls12.ecdh.params.raw_pub.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -318,14 +297,13 @@ _gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
}
ret = data->length - init_pos;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&session->key.proto.tls12.ecdh.params);
return ret;
}
-static int
-proc_ecdhe_server_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size)
+static int proc_ecdhe_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
int ret;
gnutls_datum_t vparams;
@@ -337,13 +315,12 @@ proc_ecdhe_server_kx(gnutls_session_t session,
vparams.data = data;
vparams.size = ret;
- return _gnutls_proc_dhe_signature(session, data + ret,
- _data_size - ret, &vparams);
+ return _gnutls_proc_dhe_signature(session, data + ret, _data_size - ret,
+ &vparams);
}
-int
-_gnutls_proc_ecdh_common_server_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size)
+int _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
int i, ret;
unsigned point_size;
@@ -392,21 +369,17 @@ _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session,
DECR_LEN(data_size, point_size);
if (ecurve->pk == GNUTLS_PK_EC) {
- ret =
- _gnutls_ecc_ansi_x962_import(&data[i], point_size,
- &session->key.proto.tls12.
- ecdh.x,
- &session->key.proto.tls12.
- ecdh.y);
+ ret = _gnutls_ecc_ansi_x962_import(
+ &data[i], point_size, &session->key.proto.tls12.ecdh.x,
+ &session->key.proto.tls12.ecdh.y);
if (ret < 0)
return gnutls_assert_val(ret);
} else if (ecurve->pk == GNUTLS_PK_ECDH_X25519 ||
ecurve->pk == GNUTLS_PK_ECDH_X448) {
if (ecurve->size != point_size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
ret = _gnutls_set_datum(&session->key.proto.tls12.ecdh.raw,
&data[i], point_size);
@@ -416,8 +389,8 @@ _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session,
/* RFC7748 requires to mask the MSB in the final byte
* for X25519 (not X448) */
if (ecurve->id == GNUTLS_ECC_CURVE_X25519) {
- session->key.proto.tls12.ecdh.raw.data[point_size -
- 1] &= 0x7f;
+ session->key.proto.tls12.ecdh.raw.data[point_size - 1] &=
+ 0x7f;
}
} else {
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
@@ -431,8 +404,8 @@ _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session,
/* If the psk flag is set, then an empty psk_identity_hint will
* be inserted */
int _gnutls_ecdh_common_print_server_kx(gnutls_session_t session,
- gnutls_buffer_st * data,
- const gnutls_group_entry_st * group)
+ gnutls_buffer_st *data,
+ const gnutls_group_entry_st *group)
{
uint8_t p;
int ret;
@@ -459,28 +432,25 @@ int _gnutls_ecdh_common_print_server_kx(gnutls_session_t session,
return gnutls_assert_val(ret);
/* generate temporal key */
- ret =
- _gnutls_pk_generate_keys(group->pk, group->curve,
- &session->key.proto.tls12.ecdh.params, 1);
+ ret = _gnutls_pk_generate_keys(group->pk, group->curve,
+ &session->key.proto.tls12.ecdh.params,
+ 1);
if (ret < 0)
return gnutls_assert_val(ret);
if (group->pk == GNUTLS_PK_EC) {
- ret =
- _gnutls_ecc_ansi_x962_export(group->curve,
- session->key.proto.tls12.
- ecdh.params.
- params[ECC_X] /* x */ ,
- session->key.proto.tls12.
- ecdh.params.
- params[ECC_Y] /* y */ ,
- &out);
+ ret = _gnutls_ecc_ansi_x962_export(
+ group->curve,
+ session->key.proto.tls12.ecdh.params
+ .params[ECC_X] /* x */,
+ session->key.proto.tls12.ecdh.params
+ .params[ECC_Y] /* y */,
+ &out);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(data, 8, out.data,
- out.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 8, out.data,
+ out.size);
_gnutls_free_datum(&out);
@@ -489,14 +459,10 @@ int _gnutls_ecdh_common_print_server_kx(gnutls_session_t session,
} else if (group->pk == GNUTLS_PK_ECDH_X25519 ||
group->pk == GNUTLS_PK_ECDH_X448) {
- ret =
- _gnutls_buffer_append_data_prefix(data, 8,
- session->key.proto.
- tls12.ecdh.params.raw_pub.
- data,
- session->key.proto.
- tls12.ecdh.params.raw_pub.
- size);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 8,
+ session->key.proto.tls12.ecdh.params.raw_pub.data,
+ session->key.proto.tls12.ecdh.params.raw_pub.size);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
@@ -506,15 +472,14 @@ int _gnutls_ecdh_common_print_server_kx(gnutls_session_t session,
return data->length - init_pos;
}
-static int
-gen_ecdhe_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_ecdhe_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret = 0;
gnutls_certificate_credentials_t cred;
unsigned sig_pos;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -528,9 +493,8 @@ gen_ecdhe_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
sig_pos = data->length;
- ret =
- _gnutls_ecdh_common_print_server_kx(session, data,
- get_group(session));
+ ret = _gnutls_ecdh_common_print_server_kx(session, data,
+ get_group(session));
if (ret < 0) {
gnutls_assert();
return ret;
diff --git a/lib/auth/ecdhe.h b/lib/auth/ecdhe.h
index a691360b7f..d0eba71506 100644
--- a/lib/auth/ecdhe.h
+++ b/lib/auth/ecdhe.h
@@ -22,30 +22,25 @@
*/
#ifndef GNUTLS_LIB_AUTH_ECDHE_H
-# define GNUTLS_LIB_AUTH_ECDHE_H
+#define GNUTLS_LIB_AUTH_ECDHE_H
-# include <auth.h>
+#include <auth.h>
-int
-_gnutls_gen_ecdh_common_client_kx(gnutls_session_t session,
- gnutls_buffer_st * data);
+int _gnutls_gen_ecdh_common_client_kx(gnutls_session_t session,
+ gnutls_buffer_st *data);
-int
-_gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
- gnutls_buffer_st * data,
- gnutls_datum_t * psk_key);
+int _gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,
+ gnutls_buffer_st *data,
+ gnutls_datum_t *psk_key);
-int
-_gnutls_proc_ecdh_common_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size,
- const struct gnutls_group_entry_st *group,
- gnutls_datum_t * psk_key);
+int _gnutls_proc_ecdh_common_client_kx(
+ gnutls_session_t session, uint8_t *data, size_t _data_size,
+ const struct gnutls_group_entry_st *group, gnutls_datum_t *psk_key);
-int _gnutls_ecdh_common_print_server_kx(gnutls_session_t,
- gnutls_buffer_st * data,
- const struct gnutls_group_entry_st
- *group);
-int _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session, uint8_t * data,
+int _gnutls_ecdh_common_print_server_kx(
+ gnutls_session_t, gnutls_buffer_st *data,
+ const struct gnutls_group_entry_st *group);
+int _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session, uint8_t *data,
size_t _data_size);
-#endif /* GNUTLS_LIB_AUTH_ECDHE_H */
+#endif /* GNUTLS_LIB_AUTH_ECDHE_H */
diff --git a/lib/auth/psk.c b/lib/auth/psk.c
index 25eea8785d..17206f69c5 100644
--- a/lib/auth/psk.c
+++ b/lib/auth/psk.c
@@ -24,43 +24,39 @@
#ifdef ENABLE_PSK
-# include "errors.h"
-# include "auth.h"
-# include "debug.h"
-# include "num.h"
-# include <auth/psk.h>
-# include <auth/psk_passwd.h>
-# include <str.h>
-# include <datum.h>
+#include "errors.h"
+#include "auth.h"
+#include "debug.h"
+#include "num.h"
+#include <auth/psk.h>
+#include <auth/psk_passwd.h>
+#include <str.h>
+#include <datum.h>
static int _gnutls_proc_psk_client_kx(gnutls_session_t, uint8_t *, size_t);
-static int
-_gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size);
-
-const mod_auth_st psk_auth_struct = {
- "PSK",
- NULL,
- NULL,
- _gnutls_gen_psk_server_kx,
- _gnutls_gen_psk_client_kx,
- NULL,
- NULL,
-
- NULL,
- NULL, /* certificate */
- _gnutls_proc_psk_server_kx,
- _gnutls_proc_psk_client_kx,
- NULL,
- NULL
-};
+static int _gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size);
+
+const mod_auth_st psk_auth_struct = { "PSK",
+ NULL,
+ NULL,
+ _gnutls_gen_psk_server_kx,
+ _gnutls_gen_psk_client_kx,
+ NULL,
+ NULL,
+
+ NULL,
+ NULL, /* certificate */
+ _gnutls_proc_psk_server_kx,
+ _gnutls_proc_psk_client_kx,
+ NULL,
+ NULL };
/* Set the PSK premaster secret.
*/
-int
-_gnutls_set_psk_session_key(gnutls_session_t session,
- gnutls_datum_t * ppsk /* key */ ,
- gnutls_datum_t * dh_secret)
+int _gnutls_set_psk_session_key(gnutls_session_t session,
+ gnutls_datum_t *ppsk /* key */,
+ gnutls_datum_t *dh_secret)
{
gnutls_datum_t pwd_psk = { NULL, 0 };
size_t dh_secret_size;
@@ -103,7 +99,7 @@ _gnutls_set_psk_session_key(gnutls_session_t session,
ret = 0;
- error:
+error:
_gnutls_free_temp_key_datum(&pwd_psk);
return ret;
}
@@ -118,7 +114,7 @@ _gnutls_set_psk_session_key(gnutls_session_t session,
* } ClientKeyExchange;
*
*/
-int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret, free;
gnutls_datum_t username = { NULL, 0 };
@@ -126,8 +122,8 @@ int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
gnutls_psk_client_credentials_t cred;
psk_auth_info_t info;
- cred = (gnutls_psk_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
@@ -150,9 +146,8 @@ int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, username.data,
- username.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, username.data,
+ username.size);
if (ret < 0) {
gnutls_assert();
}
@@ -170,7 +165,7 @@ int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
goto cleanup;
}
- cleanup:
+cleanup:
if (free) {
gnutls_free(username.data);
_gnutls_free_temp_key_datum(&key);
@@ -181,9 +176,8 @@ int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
/* just read the username from the client key exchange.
*/
-static int
-_gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
ssize_t data_size = _data_size;
int ret;
@@ -191,17 +185,16 @@ _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t * data,
gnutls_psk_server_credentials_t cred;
psk_auth_info_t info;
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -230,9 +223,8 @@ _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t * data,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_psk_pwd_find_entry(session, info->username,
- info->username_len, &psk_key);
+ ret = _gnutls_psk_pwd_find_entry(session, info->username,
+ info->username_len, &psk_key);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -244,7 +236,7 @@ _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t * data,
ret = 0;
- error:
+error:
_gnutls_free_key_datum(&psk_key);
return ret;
@@ -261,13 +253,13 @@ _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t * data,
* } ServerKeyExchange;
*
*/
-int _gnutls_gen_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_psk_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
gnutls_psk_server_credentials_t cred;
gnutls_datum_t hint;
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
@@ -280,7 +272,7 @@ int _gnutls_gen_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
return GNUTLS_E_INT_RET_0;
}
- hint.data = (uint8_t *) cred->hint;
+ hint.data = (uint8_t *)cred->hint;
hint.size = strlen(cred->hint);
return _gnutls_buffer_append_data_prefix(data, 16, hint.data,
@@ -288,9 +280,8 @@ int _gnutls_gen_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
}
/* Read the hint from the server key exchange */
-static int
-_gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int _gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
int ret;
ssize_t data_size = _data_size;
@@ -298,15 +289,13 @@ _gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t * data,
psk_auth_info_t info;
gnutls_datum_t hint;
- cred =
- (gnutls_psk_client_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL)
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
- ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1);
+ ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -327,4 +316,4 @@ _gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t * data,
return ret;
}
-#endif /* ENABLE_PSK */
+#endif /* ENABLE_PSK */
diff --git a/lib/auth/psk.h b/lib/auth/psk.h
index d5a55f58bc..06d7913c85 100644
--- a/lib/auth/psk.h
+++ b/lib/auth/psk.h
@@ -21,15 +21,16 @@
*/
#ifndef GNUTLS_LIB_AUTH_PSK_H
-# define GNUTLS_LIB_AUTH_PSK_H
+#define GNUTLS_LIB_AUTH_PSK_H
-# include <auth.h>
-# include <auth/dh_common.h>
+#include <auth.h>
+#include <auth/dh_common.h>
-# define _gnutls_copy_psk_username(info, datum) \
- _gnutls_copy_psk_string(&(info)->username, &(info)->username_len, (datum))
+#define _gnutls_copy_psk_username(info, datum) \
+ _gnutls_copy_psk_string(&(info)->username, &(info)->username_len, \
+ (datum))
-# define _gnutls_copy_psk_hint(info, datum) \
+#define _gnutls_copy_psk_hint(info, datum) \
_gnutls_copy_psk_string(&(info)->hint, &(info)->hint_len, (datum))
typedef struct gnutls_psk_client_credentials_st {
@@ -74,9 +75,8 @@ typedef struct psk_auth_info_st {
typedef struct psk_auth_info_st psk_auth_info_st;
-inline static int
-_gnutls_copy_psk_string(char **dest, uint16_t * dest_len,
- const gnutls_datum_t str)
+inline static int _gnutls_copy_psk_string(char **dest, uint16_t *dest_len,
+ const gnutls_datum_t str)
{
char *_tmp;
@@ -95,17 +95,15 @@ _gnutls_copy_psk_string(char **dest, uint16_t * dest_len,
return GNUTLS_E_SUCCESS;
}
-# ifdef ENABLE_PSK
+#ifdef ENABLE_PSK
-int
-_gnutls_set_psk_session_key(gnutls_session_t session, gnutls_datum_t * key,
- gnutls_datum_t * psk2);
-int _gnutls_gen_psk_server_kx(gnutls_session_t session,
- gnutls_buffer_st * data);
+int _gnutls_set_psk_session_key(gnutls_session_t session, gnutls_datum_t *key,
+ gnutls_datum_t *psk2);
+int _gnutls_gen_psk_server_kx(gnutls_session_t session, gnutls_buffer_st *data);
int _gnutls_gen_psk_client_kx(gnutls_session_t, gnutls_buffer_st *);
-# else
-# define _gnutls_set_psk_session_key(x,y,z) GNUTLS_E_UNIMPLEMENTED_FEATURE
-# endif /* ENABLE_PSK */
+#else
+#define _gnutls_set_psk_session_key(x, y, z) GNUTLS_E_UNIMPLEMENTED_FEATURE
+#endif /* ENABLE_PSK */
-#endif /* GNUTLS_LIB_AUTH_PSK_H */
+#endif /* GNUTLS_LIB_AUTH_PSK_H */
diff --git a/lib/auth/psk_passwd.c b/lib/auth/psk_passwd.c
index 35cfff311d..70f59c7738 100644
--- a/lib/auth/psk_passwd.c
+++ b/lib/auth/psk_passwd.c
@@ -39,7 +39,7 @@
/* this function parses passwd.psk file. Format is:
* string(username):hex(passwd)
*/
-static int pwd_put_values(gnutls_datum_t * psk, char *str)
+static int pwd_put_values(gnutls_datum_t *psk, char *str)
{
char *p;
int len, ret;
@@ -74,8 +74,8 @@ static int pwd_put_values(gnutls_datum_t * psk, char *str)
return 0;
}
-static bool username_matches(const gnutls_datum_t * username,
- const char *line, size_t line_size)
+static bool username_matches(const gnutls_datum_t *username, const char *line,
+ size_t line_size)
{
int retval;
unsigned i;
@@ -94,8 +94,7 @@ static bool username_matches(const gnutls_datum_t * username,
/* move to first ':' */
i = 0;
- while ((i < line_size) && (line[i] != '\0')
- && (line[i] != ':')) {
+ while ((i < line_size) && (line[i] != '\0') && (line[i] != ':')) {
i++;
}
@@ -108,17 +107,15 @@ static bool username_matches(const gnutls_datum_t * username,
return gnutls_assert_val(0);
if (hex_username.size == username->size)
- retval =
- memcmp(username->data, hex_username.data,
- username->size);
+ retval = memcmp(username->data, hex_username.data,
+ username->size);
else
retval = -1;
_gnutls_free_datum(&hex_username);
} else {
- retval =
- strncmp((const char *)username->data, line,
- MAX(i, username->size));
+ retval = strncmp((const char *)username->data, line,
+ MAX(i, username->size));
}
return (retval == 0);
@@ -127,7 +124,7 @@ static bool username_matches(const gnutls_datum_t * username,
/* Randomizes the given password entry. It actually sets a random password.
* Returns 0 on success.
*/
-static int _randomize_psk(gnutls_datum_t * psk)
+static int _randomize_psk(gnutls_datum_t *psk)
{
int ret;
@@ -151,23 +148,19 @@ static int _randomize_psk(gnutls_datum_t * psk)
/* Returns the PSK key of the given user.
* If the user doesn't exist a random password is returned instead.
*/
-int
-_gnutls_psk_pwd_find_entry(gnutls_session_t session,
- const char *username, uint16_t username_len,
- gnutls_datum_t * psk)
+int _gnutls_psk_pwd_find_entry(gnutls_session_t session, const char *username,
+ uint16_t username_len, gnutls_datum_t *psk)
{
gnutls_psk_server_credentials_t cred;
FILE *fp;
char *line = NULL;
size_t line_size = 0;
int ret;
- gnutls_datum_t username_datum = {
- .data = (unsigned char *)username,
- .size = username_len
- };
+ gnutls_datum_t username_datum = { .data = (unsigned char *)username,
+ .size = username_len };
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -179,7 +172,7 @@ _gnutls_psk_pwd_find_entry(gnutls_session_t session,
if (cred->pwd_callback != NULL) {
ret = cred->pwd_callback(session, &username_datum, psk);
- if (ret == 1) { /* the user does not exist */
+ if (ret == 1) { /* the user does not exist */
ret = _randomize_psk(psk);
if (ret < 0) {
gnutls_assert();
@@ -232,7 +225,7 @@ _gnutls_psk_pwd_find_entry(gnutls_session_t session,
}
ret = 0;
- cleanup:
+cleanup:
if (fp != NULL)
fclose(fp);
@@ -240,7 +233,6 @@ _gnutls_psk_pwd_find_entry(gnutls_session_t session,
free(line);
return ret;
-
}
/* returns the username and they key for the PSK session.
@@ -248,7 +240,7 @@ _gnutls_psk_pwd_find_entry(gnutls_session_t session,
*/
int _gnutls_find_psk_key(gnutls_session_t session,
gnutls_psk_client_credentials_t cred,
- gnutls_datum_t * username, gnutls_datum_t * key,
+ gnutls_datum_t *username, gnutls_datum_t *key,
int *free)
{
int ret;
diff --git a/lib/auth/psk_passwd.h b/lib/auth/psk_passwd.h
index a1a1d8d83b..18ac72b34b 100644
--- a/lib/auth/psk_passwd.h
+++ b/lib/auth/psk_passwd.h
@@ -21,16 +21,15 @@
*/
#ifndef GNUTLS_LIB_AUTH_PSK_PASSWD_H
-# define GNUTLS_LIB_AUTH_PSK_PASSWD_H
+#define GNUTLS_LIB_AUTH_PSK_PASSWD_H
/* this is locally allocated. It should be freed using the provided function */
-int _gnutls_psk_pwd_find_entry(gnutls_session_t,
- const char *username, uint16_t username_len,
- gnutls_datum_t * key);
+int _gnutls_psk_pwd_find_entry(gnutls_session_t, const char *username,
+ uint16_t username_len, gnutls_datum_t *key);
int _gnutls_find_psk_key(gnutls_session_t session,
gnutls_psk_client_credentials_t cred,
- gnutls_datum_t * username, gnutls_datum_t * key,
+ gnutls_datum_t *username, gnutls_datum_t *key,
int *free);
-#endif /* GNUTLS_LIB_AUTH_PSK_PASSWD_H */
+#endif /* GNUTLS_LIB_AUTH_PSK_PASSWD_H */
diff --git a/lib/auth/rsa.c b/lib/auth/rsa.c
index 492ec119fa..a11c33fd86 100644
--- a/lib/auth/rsa.c
+++ b/lib/auth/rsa.c
@@ -49,33 +49,34 @@ const mod_auth_st rsa_auth_struct = {
"RSA",
_gnutls_gen_cert_server_crt,
_gnutls_gen_cert_client_crt,
- NULL, /* gen server kx */
+ NULL, /* gen server kx */
_gnutls_gen_rsa_client_kx,
- _gnutls_gen_cert_client_crt_vrfy, /* gen client cert vrfy */
- _gnutls_gen_cert_server_cert_req, /* server cert request */
+ _gnutls_gen_cert_client_crt_vrfy, /* gen client cert vrfy */
+ _gnutls_gen_cert_server_cert_req, /* server cert request */
_gnutls_proc_crt,
_gnutls_proc_crt,
- NULL, /* proc server kx */
- proc_rsa_client_kx, /* proc client kx */
- _gnutls_proc_cert_client_crt_vrfy, /* proc client cert vrfy */
- _gnutls_proc_cert_cert_req /* proc server cert request */
+ NULL, /* proc server kx */
+ proc_rsa_client_kx, /* proc client kx */
+ _gnutls_proc_cert_client_crt_vrfy, /* proc client cert vrfy */
+ _gnutls_proc_cert_cert_req /* proc server cert request */
};
-static
-int check_key_usage_for_enc(gnutls_session_t session, unsigned key_usage)
+static int check_key_usage_for_enc(gnutls_session_t session, unsigned key_usage)
{
if (key_usage != 0) {
- if (!(key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT)
- && !(key_usage & GNUTLS_KEY_KEY_AGREEMENT)) {
+ if (!(key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT) &&
+ !(key_usage & GNUTLS_KEY_KEY_AGREEMENT)) {
gnutls_assert();
if (session->internals.allow_key_usage_violation == 0) {
- _gnutls_audit_log(session,
- "Peer's certificate does not allow encryption. Key usage violation detected.\n");
+ _gnutls_audit_log(
+ session,
+ "Peer's certificate does not allow encryption. Key usage violation detected.\n");
return GNUTLS_E_KEY_USAGE_VIOLATION;
} else {
- _gnutls_audit_log(session,
- "Peer's certificate does not allow encryption. Key usage violation detected (ignored).\n");
+ _gnutls_audit_log(
+ session,
+ "Peer's certificate does not allow encryption. Key usage violation detected (ignored).\n");
}
}
}
@@ -96,9 +97,8 @@ int check_key_usage_for_enc(gnutls_session_t session, unsigned key_usage)
* checks need to be build in order to retrieve the correct
* certificate type.
*/
-int
-_gnutls_get_public_rsa_params(gnutls_session_t session,
- gnutls_pk_params_st * params)
+int _gnutls_get_public_rsa_params(gnutls_session_t session,
+ gnutls_pk_params_st *params)
{
int ret;
cert_auth_info_t info;
@@ -145,14 +145,14 @@ _gnutls_get_public_rsa_params(gnutls_session_t session,
gnutls_pcert_deinit(&peer_cert);
return 0;
- cleanup2:
+cleanup2:
gnutls_pcert_deinit(&peer_cert);
return ret;
}
-static int
-proc_rsa_client_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
+static int proc_rsa_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
gnutls_datum_t ciphertext;
int ret, dsize;
@@ -201,8 +201,8 @@ proc_rsa_client_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
return ret;
}
- gnutls_privkey_decrypt_data2(session->internals.selected_key,
- 0, &ciphertext, session->key.key.data,
+ gnutls_privkey_decrypt_data2(session->internals.selected_key, 0,
+ &ciphertext, session->key.key.data,
session->key.key.size);
/* After this point, any conditional on failure that cause differences
* in execution may create a timing or cache access pattern side
@@ -230,10 +230,10 @@ proc_rsa_client_kx(gnutls_session_t session, uint8_t * data, size_t _data_size)
/* return RSA(random) using the peers public key
*/
-int _gnutls_gen_rsa_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_rsa_client_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
cert_auth_info_t auth = session->key.auth_info;
- gnutls_datum_t sdata; /* data to send */
+ gnutls_datum_t sdata; /* data to send */
gnutls_pk_params_st params;
int ret;
@@ -262,14 +262,14 @@ int _gnutls_gen_rsa_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
if (session->internals.rsa_pms_version[0] == 0) {
session->key.key.data[0] =
- _gnutls_get_adv_version_major(session);
+ _gnutls_get_adv_version_major(session);
session->key.key.data[1] =
- _gnutls_get_adv_version_minor(session);
- } else { /* use the version provided */
+ _gnutls_get_adv_version_minor(session);
+ } else { /* use the version provided */
session->key.key.data[0] =
- session->internals.rsa_pms_version[0];
+ session->internals.rsa_pms_version[0];
session->key.key.data[1] =
- session->internals.rsa_pms_version[1];
+ session->internals.rsa_pms_version[1];
}
/* move RSA parameters to key (session).
@@ -279,9 +279,8 @@ int _gnutls_gen_rsa_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
}
- ret =
- _gnutls_pk_encrypt(GNUTLS_PK_RSA, &sdata, &session->key.key,
- &params);
+ ret = _gnutls_pk_encrypt(GNUTLS_PK_RSA, &sdata, &session->key.key,
+ &params);
gnutls_pk_params_release(&params);
@@ -297,10 +296,9 @@ int _gnutls_gen_rsa_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
return ret;
} else
#endif
- { /* TLS 1.x */
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, sdata.data,
- sdata.size);
+ { /* TLS 1.x */
+ ret = _gnutls_buffer_append_data_prefix(data, 16, sdata.data,
+ sdata.size);
_gnutls_free_datum(&sdata);
return ret;
diff --git a/lib/auth/rsa_common.h b/lib/auth/rsa_common.h
index e56b095d7e..8a68bc0bfa 100644
--- a/lib/auth/rsa_common.h
+++ b/lib/auth/rsa_common.h
@@ -28,12 +28,11 @@
*/
#ifndef GNUTLS_LIB_AUTH_RSA_COMMON_H
-# define GNUTLS_LIB_AUTH_RSA_COMMON_H
+#define GNUTLS_LIB_AUTH_RSA_COMMON_H
-# include <abstract_int.h>
+#include <abstract_int.h>
-int
-_gnutls_get_public_rsa_params(gnutls_session_t session,
- gnutls_pk_params_st * params);
+int _gnutls_get_public_rsa_params(gnutls_session_t session,
+ gnutls_pk_params_st *params);
-#endif /* GNUTLS_LIB_AUTH_RSA_COMMON_H */
+#endif /* GNUTLS_LIB_AUTH_RSA_COMMON_H */
diff --git a/lib/auth/rsa_psk.c b/lib/auth/rsa_psk.c
index c1e9ac4dab..e9e99761cf 100644
--- a/lib/auth/rsa_psk.c
+++ b/lib/auth/rsa_psk.c
@@ -29,52 +29,51 @@
#ifdef ENABLE_PSK
-# include "auth.h"
-# include "dh.h"
-# include "errors.h"
-# include "mpi.h"
-# include "num.h"
-# include "gnutls_int.h"
-# include "pk.h"
-# include "random.h"
-# include <abstract_int.h>
-# include <algorithms.h>
-# include <auth/dh_common.h>
-# include <auth/psk.h>
-# include <auth/psk_passwd.h>
-# include <auth/rsa_common.h>
-# include <cert.h>
-# include <datum.h>
-# include <state.h>
+#include "auth.h"
+#include "dh.h"
+#include "errors.h"
+#include "mpi.h"
+#include "num.h"
+#include "gnutls_int.h"
+#include "pk.h"
+#include "random.h"
+#include <abstract_int.h>
+#include <algorithms.h>
+#include <auth/dh_common.h>
+#include <auth/psk.h>
+#include <auth/psk_passwd.h>
+#include <auth/rsa_common.h>
+#include <cert.h>
+#include <datum.h>
+#include <state.h>
static int _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session,
- gnutls_buffer_st * data);
+ gnutls_buffer_st *data);
static int _gnutls_proc_rsa_psk_client_kx(gnutls_session_t, uint8_t *, size_t);
-static int
-_gnutls_proc_rsa_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size);
+static int _gnutls_proc_rsa_psk_server_kx(gnutls_session_t session,
+ uint8_t *data, size_t _data_size);
const mod_auth_st rsa_psk_auth_struct = {
"RSA PSK",
_gnutls_gen_cert_server_crt,
- NULL, /* generate_client_certificate */
+ NULL, /* generate_client_certificate */
_gnutls_gen_psk_server_kx,
_gnutls_gen_rsa_psk_client_kx,
- NULL, /* generate_client_cert_vrfy */
- NULL, /* generate_server_certificate_request */
+ NULL, /* generate_client_cert_vrfy */
+ NULL, /* generate_server_certificate_request */
_gnutls_proc_crt,
- NULL, /* process_client_certificate */
+ NULL, /* process_client_certificate */
_gnutls_proc_rsa_psk_server_kx,
_gnutls_proc_rsa_psk_client_kx,
- NULL, /* process_client_cert_vrfy */
- NULL /* process_server_certificate_reuqest */
+ NULL, /* process_client_cert_vrfy */
+ NULL /* process_server_certificate_reuqest */
};
/* Set the PSK premaster secret.
*/
-static int
-set_rsa_psk_session_key(gnutls_session_t session,
- gnutls_datum_t * ppsk, gnutls_datum_t * rsa_secret)
+static int set_rsa_psk_session_key(gnutls_session_t session,
+ gnutls_datum_t *ppsk,
+ gnutls_datum_t *rsa_secret)
{
unsigned char *p;
size_t rsa_secret_size;
@@ -107,7 +106,7 @@ set_rsa_psk_session_key(gnutls_session_t session,
ret = 0;
- error:
+error:
return ret;
}
@@ -121,11 +120,11 @@ set_rsa_psk_session_key(gnutls_session_t session,
* } exchange_keys;
* } ClientKeyExchange;
*/
-static int
-_gnutls_gen_rsa_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
cert_auth_info_t auth = session->key.auth_info;
- gnutls_datum_t sdata; /* data to send */
+ gnutls_datum_t sdata; /* data to send */
gnutls_pk_params_st params;
gnutls_psk_client_credentials_t cred;
gnutls_datum_t username, key;
@@ -160,14 +159,14 @@ _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
/* Set version */
if (session->internals.rsa_pms_version[0] == 0) {
premaster_secret.data[0] =
- _gnutls_get_adv_version_major(session);
+ _gnutls_get_adv_version_major(session);
premaster_secret.data[1] =
- _gnutls_get_adv_version_minor(session);
- } else { /* use the version provided */
+ _gnutls_get_adv_version_minor(session);
+ } else { /* use the version provided */
premaster_secret.data[0] =
- session->internals.rsa_pms_version[0];
+ session->internals.rsa_pms_version[0];
premaster_secret.data[1] =
- session->internals.rsa_pms_version[1];
+ session->internals.rsa_pms_version[1];
}
/* move RSA parameters to key (session).
@@ -178,17 +177,16 @@ _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
}
/* Encrypt premaster secret */
- if ((ret =
- _gnutls_pk_encrypt(GNUTLS_PK_RSA, &sdata, &premaster_secret,
- &params)) < 0) {
+ if ((ret = _gnutls_pk_encrypt(GNUTLS_PK_RSA, &sdata, &premaster_secret,
+ &params)) < 0) {
gnutls_assert();
return ret;
}
gnutls_pk_params_release(&params);
- cred = (gnutls_psk_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
@@ -218,16 +216,15 @@ _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
/* Write psk_identity and EncryptedPreMasterSecret into data stream
*/
- ret =
- _gnutls_buffer_append_data_prefix(data, 16,
- username.data, username.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, username.data,
+ username.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, sdata.data, sdata.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, sdata.data,
+ sdata.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -235,7 +232,7 @@ _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
ret = data->length - init_pos;
- cleanup:
+cleanup:
_gnutls_free_datum(&sdata);
_gnutls_free_temp_key_datum(&premaster_secret);
if (free) {
@@ -249,9 +246,8 @@ _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
/*
Process the client key exchange message
*/
-static int
-_gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session,
+ uint8_t *data, size_t _data_size)
{
gnutls_datum_t username;
psk_auth_info_t info;
@@ -264,8 +260,8 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
gnutls_psk_server_credentials_t cred;
gnutls_datum_t premaster_secret = { NULL, 0 };
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
@@ -279,7 +275,7 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
return ret;
}
- /*** 1. Extract user psk_identity ***/
+ /*** 1. Extract user psk_identity ***/
DECR_LEN(data_size, 2);
username.size = _gnutls_read_uint16(&data[0]);
@@ -308,7 +304,7 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* Adjust data so it points to EncryptedPreMasterSecret */
data += username.size + 2;
- /*** 2. Decrypt and extract EncryptedPreMasterSecret ***/
+ /*** 2. Decrypt and extract EncryptedPreMasterSecret ***/
DECR_LEN(data_size, 2);
ciphertext.data = &data[2];
@@ -320,17 +316,16 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
}
ciphertext.size = dsize;
- ret =
- gnutls_privkey_decrypt_data(session->internals.selected_key, 0,
- &ciphertext, &plaintext);
+ ret = gnutls_privkey_decrypt_data(session->internals.selected_key, 0,
+ &ciphertext, &plaintext);
if (ret < 0 || plaintext.size != GNUTLS_MASTER_SIZE) {
/* In case decryption fails then don't inform
* the peer. Just use a random key. (in order to avoid
* attack against pkcs-1 formatting).
*/
gnutls_assert();
- _gnutls_debug_log
- ("auth_rsa_psk: Possible PKCS #1 format attack\n");
+ _gnutls_debug_log(
+ "auth_rsa_psk: Possible PKCS #1 format attack\n");
if (ret >= 0) {
gnutls_free(plaintext.data);
}
@@ -339,10 +334,11 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* If the secret was properly formatted, then
* check the version number.
*/
- if (_gnutls_get_adv_version_major(session) != plaintext.data[0]
- || (session->internals.allow_wrong_pms == 0
- && _gnutls_get_adv_version_minor(session) !=
- plaintext.data[1])) {
+ if (_gnutls_get_adv_version_major(session) !=
+ plaintext.data[0] ||
+ (session->internals.allow_wrong_pms == 0 &&
+ _gnutls_get_adv_version_minor(session) !=
+ plaintext.data[1])) {
/* No error is returned here, if the version number check
* fails. We proceed normally.
* That is to defend against the attack described in the paper
@@ -350,8 +346,8 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
* Ondej Pokorny and Tomas Rosa.
*/
gnutls_assert();
- _gnutls_debug_log
- ("auth_rsa: Possible PKCS #1 version check format attack\n");
+ _gnutls_debug_log(
+ "auth_rsa: Possible PKCS #1 version check format attack\n");
}
}
@@ -385,9 +381,8 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* find the key of this username
*/
- ret =
- _gnutls_psk_pwd_find_entry(session, info->username,
- strlen(info->username), &pwd_psk);
+ ret = _gnutls_psk_pwd_find_entry(session, info->username,
+ strlen(info->username), &pwd_psk);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -400,16 +395,15 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_key_datum(&pwd_psk);
_gnutls_free_temp_key_datum(&premaster_secret);
return ret;
}
-static int
-_gnutls_proc_rsa_psk_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int _gnutls_proc_rsa_psk_server_kx(gnutls_session_t session,
+ uint8_t *data, size_t _data_size)
{
/* In RSA-PSK the key is calculated elsewhere.
* Moreover, since we only keep a single auth info structure, we cannot
@@ -421,4 +415,4 @@ _gnutls_proc_rsa_psk_server_kx(gnutls_session_t session, uint8_t * data,
return 0;
}
-#endif /* ENABLE_PSK */
+#endif /* ENABLE_PSK */
diff --git a/lib/auth/srp_kx.c b/lib/auth/srp_kx.c
index ed27b47caf..8658c81eb5 100644
--- a/lib/auth/srp_kx.c
+++ b/lib/auth/srp_kx.c
@@ -24,41 +24,39 @@
#ifdef ENABLE_SRP
-# include "errors.h"
-# include <auth/srp_passwd.h>
-# include "auth.h"
-# include "srp.h"
-# include "num.h"
-# include <auth/srp_kx.h>
-# include <str.h>
-# include <datum.h>
-# include <ext/srp.h>
-
-const mod_auth_st srp_auth_struct = {
- "SRP",
- NULL,
- NULL,
- _gnutls_gen_srp_server_kx,
- _gnutls_gen_srp_client_kx,
- NULL,
- NULL,
-
- NULL,
- NULL, /* certificate */
- _gnutls_proc_srp_server_kx,
- _gnutls_proc_srp_client_kx,
- NULL,
- NULL
-};
-
-# define _b session->key.proto.tls12.srp.b
-# define B session->key.proto.tls12.srp.B
-# define _a session->key.proto.tls12.srp.a
-# define A session->key.proto.tls12.srp.A
-# define N session->key.proto.tls12.srp.srp_p
-# define G session->key.proto.tls12.srp.srp_g
-# define V session->key.proto.tls12.srp.x
-# define S session->key.proto.tls12.srp.srp_key
+#include "errors.h"
+#include <auth/srp_passwd.h>
+#include "auth.h"
+#include "srp.h"
+#include "num.h"
+#include <auth/srp_kx.h>
+#include <str.h>
+#include <datum.h>
+#include <ext/srp.h>
+
+const mod_auth_st srp_auth_struct = { "SRP",
+ NULL,
+ NULL,
+ _gnutls_gen_srp_server_kx,
+ _gnutls_gen_srp_client_kx,
+ NULL,
+ NULL,
+
+ NULL,
+ NULL, /* certificate */
+ _gnutls_proc_srp_server_kx,
+ _gnutls_proc_srp_client_kx,
+ NULL,
+ NULL };
+
+#define _b session->key.proto.tls12.srp.b
+#define B session->key.proto.tls12.srp.B
+#define _a session->key.proto.tls12.srp.a
+#define A session->key.proto.tls12.srp.A
+#define N session->key.proto.tls12.srp.srp_p
+#define G session->key.proto.tls12.srp.srp_g
+#define V session->key.proto.tls12.srp.x
+#define S session->key.proto.tls12.srp.srp_key
/* Checks if a%n==0,+1,-1%n which is a fatal srp error.
* Returns a proper error code in that case, and 0 when
@@ -112,7 +110,7 @@ inline static int check_param_mod_n(bigint_t a, bigint_t n, int is_a)
/* Send the first key exchange message ( g, n, s) and append the verifier algorithm number
* Data is allocated by the caller, and should have data_size size.
*/
-int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret;
SRP_PWD_ENTRY *pwd_entry;
@@ -123,15 +121,15 @@ int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
unsigned init_pos;
ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRP, &epriv);
- if (ret < 0) { /* peer didn't send a username */
+ if (ret < 0) { /* peer didn't send a username */
gnutls_assert();
return GNUTLS_E_UNKNOWN_SRP_USERNAME;
}
priv = epriv;
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_SRP,
- sizeof(srp_server_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_SRP,
+ sizeof(srp_server_auth_info_st), 1)) <
+ 0) {
gnutls_assert();
return ret;
}
@@ -190,9 +188,8 @@ int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
/* copy N (mod n)
*/
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, pwd_entry->n.data,
- pwd_entry->n.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, pwd_entry->n.data,
+ pwd_entry->n.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -200,9 +197,8 @@ int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
/* copy G (generator) to data
*/
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, pwd_entry->g.data,
- pwd_entry->g.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, pwd_entry->g.data,
+ pwd_entry->g.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -210,10 +206,8 @@ int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
/* copy the salt
*/
- ret =
- _gnutls_buffer_append_data_prefix(data, 8,
- pwd_entry->salt.data,
- pwd_entry->salt.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 8, pwd_entry->salt.data,
+ pwd_entry->salt.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -232,13 +226,13 @@ int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
ret = data->length - init_pos;
- cleanup:
+cleanup:
_gnutls_srp_entry_free(pwd_entry);
return ret;
}
/* return A = g^a % N */
-int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st *data)
{
int ret;
char *username, *password;
@@ -247,14 +241,14 @@ int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
srp_ext_st *priv;
ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRP, &epriv);
- if (ret < 0) { /* peer didn't send a username */
+ if (ret < 0) { /* peer didn't send a username */
gnutls_assert();
return GNUTLS_E_UNKNOWN_SRP_USERNAME;
}
priv = epriv;
- cred = (gnutls_srp_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_SRP);
+ cred = (gnutls_srp_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_SRP);
if (cred == NULL) {
gnutls_assert();
@@ -265,7 +259,6 @@ int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
username = cred->username;
password = cred->password;
} else {
-
username = priv->username;
password = priv->password;
}
@@ -315,9 +308,8 @@ int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
zrelease_temp_mpi_key(&session->key.proto.tls12.srp.u);
zrelease_temp_mpi_key(&B);
- ret =
- _gnutls_mpi_dprint(session->key.proto.tls12.srp.srp_key,
- &session->key.key);
+ ret = _gnutls_mpi_dprint(session->key.proto.tls12.srp.srp_key,
+ &session->key.key);
zrelease_temp_mpi_key(&S);
if (ret < 0) {
@@ -337,9 +329,8 @@ int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
}
/* just read A and put it to session */
-int
-_gnutls_proc_srp_client_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+int _gnutls_proc_srp_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
ssize_t _n_A;
ssize_t data_size = _data_size;
@@ -391,9 +382,8 @@ _gnutls_proc_srp_client_kx(gnutls_session_t session, uint8_t * data,
zrelease_temp_mpi_key(&session->key.proto.tls12.srp.u);
zrelease_temp_mpi_key(&B);
- ret =
- _gnutls_mpi_dprint(session->key.proto.tls12.srp.srp_key,
- &session->key.key);
+ ret = _gnutls_mpi_dprint(session->key.proto.tls12.srp.srp_key,
+ &session->key.key);
zrelease_temp_mpi_key(&S);
if (ret < 0) {
@@ -404,28 +394,23 @@ _gnutls_proc_srp_client_kx(gnutls_session_t session, uint8_t * data,
return 0;
}
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
/* Static parameters according to draft-ietf-tls-srp-07
* Note that if more parameters are added check_g_n()
* and _gnutls_srp_entry_free() should be changed.
*/
static const unsigned char srp_params_1024[] = {
- 0xEE, 0xAF, 0x0A, 0xB9, 0xAD, 0xB3, 0x8D, 0xD6,
- 0x9C, 0x33, 0xF8, 0x0A, 0xFA, 0x8F, 0xC5, 0xE8,
- 0x60, 0x72, 0x61, 0x87, 0x75, 0xFF, 0x3C, 0x0B,
- 0x9E, 0xA2, 0x31, 0x4C, 0x9C, 0x25, 0x65, 0x76,
- 0xD6, 0x74, 0xDF, 0x74, 0x96, 0xEA, 0x81, 0xD3,
- 0x38, 0x3B, 0x48, 0x13, 0xD6, 0x92, 0xC6, 0xE0,
- 0xE0, 0xD5, 0xD8, 0xE2, 0x50, 0xB9, 0x8B, 0xE4,
- 0x8E, 0x49, 0x5C, 0x1D, 0x60, 0x89, 0xDA, 0xD1,
- 0x5D, 0xC7, 0xD7, 0xB4, 0x61, 0x54, 0xD6, 0xB6,
- 0xCE, 0x8E, 0xF4, 0xAD, 0x69, 0xB1, 0x5D, 0x49,
- 0x82, 0x55, 0x9B, 0x29, 0x7B, 0xCF, 0x18, 0x85,
- 0xC5, 0x29, 0xF5, 0x66, 0x66, 0x0E, 0x57, 0xEC,
- 0x68, 0xED, 0xBC, 0x3C, 0x05, 0x72, 0x6C, 0xC0,
- 0x2F, 0xD4, 0xCB, 0xF4, 0x97, 0x6E, 0xAA, 0x9A,
- 0xFD, 0x51, 0x38, 0xFE, 0x83, 0x76, 0x43, 0x5B,
+ 0xEE, 0xAF, 0x0A, 0xB9, 0xAD, 0xB3, 0x8D, 0xD6, 0x9C, 0x33, 0xF8, 0x0A,
+ 0xFA, 0x8F, 0xC5, 0xE8, 0x60, 0x72, 0x61, 0x87, 0x75, 0xFF, 0x3C, 0x0B,
+ 0x9E, 0xA2, 0x31, 0x4C, 0x9C, 0x25, 0x65, 0x76, 0xD6, 0x74, 0xDF, 0x74,
+ 0x96, 0xEA, 0x81, 0xD3, 0x38, 0x3B, 0x48, 0x13, 0xD6, 0x92, 0xC6, 0xE0,
+ 0xE0, 0xD5, 0xD8, 0xE2, 0x50, 0xB9, 0x8B, 0xE4, 0x8E, 0x49, 0x5C, 0x1D,
+ 0x60, 0x89, 0xDA, 0xD1, 0x5D, 0xC7, 0xD7, 0xB4, 0x61, 0x54, 0xD6, 0xB6,
+ 0xCE, 0x8E, 0xF4, 0xAD, 0x69, 0xB1, 0x5D, 0x49, 0x82, 0x55, 0x9B, 0x29,
+ 0x7B, 0xCF, 0x18, 0x85, 0xC5, 0x29, 0xF5, 0x66, 0x66, 0x0E, 0x57, 0xEC,
+ 0x68, 0xED, 0xBC, 0x3C, 0x05, 0x72, 0x6C, 0xC0, 0x2F, 0xD4, 0xCB, 0xF4,
+ 0x97, 0x6E, 0xAA, 0x9A, 0xFD, 0x51, 0x38, 0xFE, 0x83, 0x76, 0x43, 0x5B,
0x9F, 0xC6, 0x1D, 0x2F, 0xC0, 0xEB, 0x06, 0xE3
};
@@ -433,226 +418,156 @@ static const unsigned char srp_generator = 0x02;
static const unsigned char srp3072_generator = 0x05;
static const unsigned char srp8192_generator = 19;
-const gnutls_datum_t gnutls_srp_1024_group_prime = {
- (void *)srp_params_1024, sizeof(srp_params_1024)
-};
+const gnutls_datum_t gnutls_srp_1024_group_prime = { (void *)srp_params_1024,
+ sizeof(srp_params_1024) };
const gnutls_datum_t gnutls_srp_1024_group_generator = {
(void *)&srp_generator, sizeof(srp_generator)
};
static const unsigned char srp_params_1536[] = {
- 0x9D, 0xEF, 0x3C, 0xAF, 0xB9, 0x39, 0x27, 0x7A, 0xB1,
- 0xF1, 0x2A, 0x86, 0x17, 0xA4, 0x7B, 0xBB, 0xDB, 0xA5,
- 0x1D, 0xF4, 0x99, 0xAC, 0x4C, 0x80, 0xBE, 0xEE, 0xA9,
- 0x61, 0x4B, 0x19, 0xCC, 0x4D, 0x5F, 0x4F, 0x5F, 0x55,
- 0x6E, 0x27, 0xCB, 0xDE, 0x51, 0xC6, 0xA9, 0x4B, 0xE4,
- 0x60, 0x7A, 0x29, 0x15, 0x58, 0x90, 0x3B, 0xA0, 0xD0,
- 0xF8, 0x43, 0x80, 0xB6, 0x55, 0xBB, 0x9A, 0x22, 0xE8,
- 0xDC, 0xDF, 0x02, 0x8A, 0x7C, 0xEC, 0x67, 0xF0, 0xD0,
- 0x81, 0x34, 0xB1, 0xC8, 0xB9, 0x79, 0x89, 0x14, 0x9B,
- 0x60, 0x9E, 0x0B, 0xE3, 0xBA, 0xB6, 0x3D, 0x47, 0x54,
- 0x83, 0x81, 0xDB, 0xC5, 0xB1, 0xFC, 0x76, 0x4E, 0x3F,
- 0x4B, 0x53, 0xDD, 0x9D, 0xA1, 0x15, 0x8B, 0xFD, 0x3E,
- 0x2B, 0x9C, 0x8C, 0xF5, 0x6E, 0xDF, 0x01, 0x95, 0x39,
- 0x34, 0x96, 0x27, 0xDB, 0x2F, 0xD5, 0x3D, 0x24, 0xB7,
- 0xC4, 0x86, 0x65, 0x77, 0x2E, 0x43, 0x7D, 0x6C, 0x7F,
- 0x8C, 0xE4, 0x42, 0x73, 0x4A, 0xF7, 0xCC, 0xB7, 0xAE,
- 0x83, 0x7C, 0x26, 0x4A, 0xE3, 0xA9, 0xBE, 0xB8, 0x7F,
- 0x8A, 0x2F, 0xE9, 0xB8, 0xB5, 0x29, 0x2E, 0x5A, 0x02,
- 0x1F, 0xFF, 0x5E, 0x91, 0x47, 0x9E, 0x8C, 0xE7, 0xA2,
- 0x8C, 0x24, 0x42, 0xC6, 0xF3, 0x15, 0x18, 0x0F, 0x93,
- 0x49, 0x9A, 0x23, 0x4D, 0xCF, 0x76, 0xE3, 0xFE, 0xD1,
- 0x35, 0xF9, 0xBB
+ 0x9D, 0xEF, 0x3C, 0xAF, 0xB9, 0x39, 0x27, 0x7A, 0xB1, 0xF1, 0x2A, 0x86,
+ 0x17, 0xA4, 0x7B, 0xBB, 0xDB, 0xA5, 0x1D, 0xF4, 0x99, 0xAC, 0x4C, 0x80,
+ 0xBE, 0xEE, 0xA9, 0x61, 0x4B, 0x19, 0xCC, 0x4D, 0x5F, 0x4F, 0x5F, 0x55,
+ 0x6E, 0x27, 0xCB, 0xDE, 0x51, 0xC6, 0xA9, 0x4B, 0xE4, 0x60, 0x7A, 0x29,
+ 0x15, 0x58, 0x90, 0x3B, 0xA0, 0xD0, 0xF8, 0x43, 0x80, 0xB6, 0x55, 0xBB,
+ 0x9A, 0x22, 0xE8, 0xDC, 0xDF, 0x02, 0x8A, 0x7C, 0xEC, 0x67, 0xF0, 0xD0,
+ 0x81, 0x34, 0xB1, 0xC8, 0xB9, 0x79, 0x89, 0x14, 0x9B, 0x60, 0x9E, 0x0B,
+ 0xE3, 0xBA, 0xB6, 0x3D, 0x47, 0x54, 0x83, 0x81, 0xDB, 0xC5, 0xB1, 0xFC,
+ 0x76, 0x4E, 0x3F, 0x4B, 0x53, 0xDD, 0x9D, 0xA1, 0x15, 0x8B, 0xFD, 0x3E,
+ 0x2B, 0x9C, 0x8C, 0xF5, 0x6E, 0xDF, 0x01, 0x95, 0x39, 0x34, 0x96, 0x27,
+ 0xDB, 0x2F, 0xD5, 0x3D, 0x24, 0xB7, 0xC4, 0x86, 0x65, 0x77, 0x2E, 0x43,
+ 0x7D, 0x6C, 0x7F, 0x8C, 0xE4, 0x42, 0x73, 0x4A, 0xF7, 0xCC, 0xB7, 0xAE,
+ 0x83, 0x7C, 0x26, 0x4A, 0xE3, 0xA9, 0xBE, 0xB8, 0x7F, 0x8A, 0x2F, 0xE9,
+ 0xB8, 0xB5, 0x29, 0x2E, 0x5A, 0x02, 0x1F, 0xFF, 0x5E, 0x91, 0x47, 0x9E,
+ 0x8C, 0xE7, 0xA2, 0x8C, 0x24, 0x42, 0xC6, 0xF3, 0x15, 0x18, 0x0F, 0x93,
+ 0x49, 0x9A, 0x23, 0x4D, 0xCF, 0x76, 0xE3, 0xFE, 0xD1, 0x35, 0xF9, 0xBB
};
-const gnutls_datum_t gnutls_srp_1536_group_prime = {
- (void *)srp_params_1536, sizeof(srp_params_1536)
-};
+const gnutls_datum_t gnutls_srp_1536_group_prime = { (void *)srp_params_1536,
+ sizeof(srp_params_1536) };
const gnutls_datum_t gnutls_srp_1536_group_generator = {
(void *)&srp_generator, sizeof(srp_generator)
};
static const unsigned char srp_params_2048[] = {
- 0xAC, 0x6B, 0xDB, 0x41, 0x32, 0x4A, 0x9A, 0x9B, 0xF1,
- 0x66, 0xDE, 0x5E, 0x13, 0x89, 0x58, 0x2F, 0xAF, 0x72,
- 0xB6, 0x65, 0x19, 0x87, 0xEE, 0x07, 0xFC, 0x31, 0x92,
- 0x94, 0x3D, 0xB5, 0x60, 0x50, 0xA3, 0x73, 0x29, 0xCB,
- 0xB4, 0xA0, 0x99, 0xED, 0x81, 0x93, 0xE0, 0x75, 0x77,
- 0x67, 0xA1, 0x3D, 0xD5, 0x23, 0x12, 0xAB, 0x4B, 0x03,
- 0x31, 0x0D, 0xCD, 0x7F, 0x48, 0xA9, 0xDA, 0x04, 0xFD,
- 0x50, 0xE8, 0x08, 0x39, 0x69, 0xED, 0xB7, 0x67, 0xB0,
- 0xCF, 0x60, 0x95, 0x17, 0x9A, 0x16, 0x3A, 0xB3, 0x66,
- 0x1A, 0x05, 0xFB, 0xD5, 0xFA, 0xAA, 0xE8, 0x29, 0x18,
- 0xA9, 0x96, 0x2F, 0x0B, 0x93, 0xB8, 0x55, 0xF9, 0x79,
- 0x93, 0xEC, 0x97, 0x5E, 0xEA, 0xA8, 0x0D, 0x74, 0x0A,
- 0xDB, 0xF4, 0xFF, 0x74, 0x73, 0x59, 0xD0, 0x41, 0xD5,
- 0xC3, 0x3E, 0xA7, 0x1D, 0x28, 0x1E, 0x44, 0x6B, 0x14,
- 0x77, 0x3B, 0xCA, 0x97, 0xB4, 0x3A, 0x23, 0xFB, 0x80,
- 0x16, 0x76, 0xBD, 0x20, 0x7A, 0x43, 0x6C, 0x64, 0x81,
- 0xF1, 0xD2, 0xB9, 0x07, 0x87, 0x17, 0x46, 0x1A, 0x5B,
- 0x9D, 0x32, 0xE6, 0x88, 0xF8, 0x77, 0x48, 0x54, 0x45,
- 0x23, 0xB5, 0x24, 0xB0, 0xD5, 0x7D, 0x5E, 0xA7, 0x7A,
- 0x27, 0x75, 0xD2, 0xEC, 0xFA, 0x03, 0x2C, 0xFB, 0xDB,
- 0xF5, 0x2F, 0xB3, 0x78, 0x61, 0x60, 0x27, 0x90, 0x04,
- 0xE5, 0x7A, 0xE6, 0xAF, 0x87, 0x4E, 0x73, 0x03, 0xCE,
- 0x53, 0x29, 0x9C, 0xCC, 0x04, 0x1C, 0x7B, 0xC3, 0x08,
- 0xD8, 0x2A, 0x56, 0x98, 0xF3, 0xA8, 0xD0, 0xC3, 0x82,
- 0x71, 0xAE, 0x35, 0xF8, 0xE9, 0xDB, 0xFB, 0xB6, 0x94,
- 0xB5, 0xC8, 0x03, 0xD8, 0x9F, 0x7A, 0xE4, 0x35, 0xDE,
- 0x23, 0x6D, 0x52, 0x5F, 0x54, 0x75, 0x9B, 0x65, 0xE3,
- 0x72, 0xFC, 0xD6, 0x8E, 0xF2, 0x0F, 0xA7, 0x11, 0x1F,
+ 0xAC, 0x6B, 0xDB, 0x41, 0x32, 0x4A, 0x9A, 0x9B, 0xF1, 0x66, 0xDE, 0x5E,
+ 0x13, 0x89, 0x58, 0x2F, 0xAF, 0x72, 0xB6, 0x65, 0x19, 0x87, 0xEE, 0x07,
+ 0xFC, 0x31, 0x92, 0x94, 0x3D, 0xB5, 0x60, 0x50, 0xA3, 0x73, 0x29, 0xCB,
+ 0xB4, 0xA0, 0x99, 0xED, 0x81, 0x93, 0xE0, 0x75, 0x77, 0x67, 0xA1, 0x3D,
+ 0xD5, 0x23, 0x12, 0xAB, 0x4B, 0x03, 0x31, 0x0D, 0xCD, 0x7F, 0x48, 0xA9,
+ 0xDA, 0x04, 0xFD, 0x50, 0xE8, 0x08, 0x39, 0x69, 0xED, 0xB7, 0x67, 0xB0,
+ 0xCF, 0x60, 0x95, 0x17, 0x9A, 0x16, 0x3A, 0xB3, 0x66, 0x1A, 0x05, 0xFB,
+ 0xD5, 0xFA, 0xAA, 0xE8, 0x29, 0x18, 0xA9, 0x96, 0x2F, 0x0B, 0x93, 0xB8,
+ 0x55, 0xF9, 0x79, 0x93, 0xEC, 0x97, 0x5E, 0xEA, 0xA8, 0x0D, 0x74, 0x0A,
+ 0xDB, 0xF4, 0xFF, 0x74, 0x73, 0x59, 0xD0, 0x41, 0xD5, 0xC3, 0x3E, 0xA7,
+ 0x1D, 0x28, 0x1E, 0x44, 0x6B, 0x14, 0x77, 0x3B, 0xCA, 0x97, 0xB4, 0x3A,
+ 0x23, 0xFB, 0x80, 0x16, 0x76, 0xBD, 0x20, 0x7A, 0x43, 0x6C, 0x64, 0x81,
+ 0xF1, 0xD2, 0xB9, 0x07, 0x87, 0x17, 0x46, 0x1A, 0x5B, 0x9D, 0x32, 0xE6,
+ 0x88, 0xF8, 0x77, 0x48, 0x54, 0x45, 0x23, 0xB5, 0x24, 0xB0, 0xD5, 0x7D,
+ 0x5E, 0xA7, 0x7A, 0x27, 0x75, 0xD2, 0xEC, 0xFA, 0x03, 0x2C, 0xFB, 0xDB,
+ 0xF5, 0x2F, 0xB3, 0x78, 0x61, 0x60, 0x27, 0x90, 0x04, 0xE5, 0x7A, 0xE6,
+ 0xAF, 0x87, 0x4E, 0x73, 0x03, 0xCE, 0x53, 0x29, 0x9C, 0xCC, 0x04, 0x1C,
+ 0x7B, 0xC3, 0x08, 0xD8, 0x2A, 0x56, 0x98, 0xF3, 0xA8, 0xD0, 0xC3, 0x82,
+ 0x71, 0xAE, 0x35, 0xF8, 0xE9, 0xDB, 0xFB, 0xB6, 0x94, 0xB5, 0xC8, 0x03,
+ 0xD8, 0x9F, 0x7A, 0xE4, 0x35, 0xDE, 0x23, 0x6D, 0x52, 0x5F, 0x54, 0x75,
+ 0x9B, 0x65, 0xE3, 0x72, 0xFC, 0xD6, 0x8E, 0xF2, 0x0F, 0xA7, 0x11, 0x1F,
0x9E, 0x4A, 0xFF, 0x73
};
-const gnutls_datum_t gnutls_srp_2048_group_prime = {
- (void *)srp_params_2048, sizeof(srp_params_2048)
-};
+const gnutls_datum_t gnutls_srp_2048_group_prime = { (void *)srp_params_2048,
+ sizeof(srp_params_2048) };
const gnutls_datum_t gnutls_srp_2048_group_generator = {
(void *)&srp_generator, sizeof(srp_generator)
};
static const unsigned char srp_params_3072[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9,
- 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6,
- 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E,
- 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
- 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E,
- 0x34, 0x04, 0xDD, 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A,
- 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14,
- 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
- 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4,
- 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF,
- 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38, 0x6B,
- 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
- 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC,
- 0xE4, 0x5B, 0x3D, 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63,
- 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3,
- 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
- 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C,
- 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5,
- 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D, 0x67, 0x0C, 0x35,
- 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
- 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E,
- 0x36, 0xCE, 0x3B, 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E,
- 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2,
- 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
- 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39,
- 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2,
- 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10, 0x15, 0x72, 0x8E,
- 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
- 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF,
- 0x1C, 0xBA, 0x64, 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB,
- 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C,
- 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
- 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E,
- 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3,
- 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B, 0xF1, 0x2F, 0xFA,
- 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
- 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17,
- 0x7B, 0x20, 0x0C, 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61,
- 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46,
- 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
- 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B,
- 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x3A, 0xD2, 0xCA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_srp_3072_group_generator = {
(void *)&srp3072_generator, sizeof(srp3072_generator)
};
-const gnutls_datum_t gnutls_srp_3072_group_prime = {
- (void *)srp_params_3072, sizeof(srp_params_3072)
-};
+const gnutls_datum_t gnutls_srp_3072_group_prime = { (void *)srp_params_3072,
+ sizeof(srp_params_3072) };
static const unsigned char srp_params_4096[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA,
- 0xA2,
- 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C,
- 0xD1,
- 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE,
- 0xA6,
- 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04,
- 0xDD,
- 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A,
- 0x6D,
- 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2,
- 0x45,
- 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42,
- 0xE9,
- 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7,
- 0xED,
- 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24,
- 0x11,
- 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B,
- 0x3D,
- 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48,
- 0x36,
- 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF,
- 0x5F,
- 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3,
- 0x56,
- 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96,
- 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C,
- 0x08,
- 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE,
- 0x3B,
- 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83,
- 0xA2,
- 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52,
- 0xC9,
- 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49,
- 0x7C,
- 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05,
- 0x10,
- 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17,
- 0x0D,
- 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA,
- 0x64,
- 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71,
- 0x57,
- 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4,
- 0xC7,
- 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94,
- 0xE0,
- 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE,
- 0x6B,
- 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02,
- 0x73,
- 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20,
- 0x0C,
- 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88,
- 0xC0,
- 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB,
- 0x31,
- 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1,
- 0x20,
- 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6,
- 0xD7,
- 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27,
- 0x18,
- 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B,
- 0xDA,
- 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2,
- 0xDB,
- 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA,
- 0xA6,
- 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96,
- 0x4F,
- 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7,
- 0xED,
- 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD,
- 0x76,
- 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A,
- 0xA9,
- 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7,
- 0xDC,
- 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31,
- 0x99,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
+ 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18,
+ 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
+ 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
+ 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
+ 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F,
+ 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
+ 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76,
+ 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
+ 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC,
+ 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
@@ -660,144 +575,100 @@ const gnutls_datum_t gnutls_srp_4096_group_generator = {
(void *)&srp3072_generator, sizeof(srp3072_generator)
};
-const gnutls_datum_t gnutls_srp_4096_group_prime = {
- (void *)srp_params_4096, sizeof(srp_params_4096)
-};
+const gnutls_datum_t gnutls_srp_4096_group_prime = { (void *)srp_params_4096,
+ sizeof(srp_params_4096) };
static const unsigned char srp_params_8192[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
- 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
- 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
- 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
- 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
- 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
- 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
- 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
- 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
- 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
- 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
- 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
- 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
- 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
- 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
- 0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
- 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
- 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
- 0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
- 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
- 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
- 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
- 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
- 0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
- 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
- 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
- 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
- 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
- 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
- 0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
- 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
- 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
- 0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
- 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
- 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
- 0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
- 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
- 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
- 0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
- 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
- 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
- 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
- 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
- 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
- 0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
- 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
- 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
- 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
- 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
- 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
- 0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
- 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
- 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
- 0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
- 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
- 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
- 0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
- 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
- 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
- 0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
- 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
- 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26,
- 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE,
- 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
- 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E,
- 0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE,
- 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
- 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
- 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED,
- 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
- 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B,
- 0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42,
- 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
- 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC,
- 0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
- 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
- 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82,
- 0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E,
- 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
- 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE,
- 0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5,
- 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
- 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8,
- 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0,
- 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
- 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76,
- 0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0,
- 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
- 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
- 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68,
- 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
- 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6,
- 0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59,
- 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4,
- 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C,
- 0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA,
- 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00,
- 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED,
- 0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66,
- 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68,
- 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78,
- 0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D,
- 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9,
- 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07,
- 0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7,
- 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B,
- 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD,
- 0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8,
- 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A,
- 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6,
- 0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D,
- 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36,
- 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1,
- 0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D,
- 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1,
- 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73,
- 0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68,
- 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92,
- 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7,
- 0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B,
- 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47,
- 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA,
- 0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF,
- 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71,
- 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
+ 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18,
+ 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
+ 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
+ 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
+ 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F,
+ 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
+ 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76,
+ 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
+ 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC,
+ 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
+ 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 0xC1, 0xD4, 0xDC, 0xB2,
+ 0x60, 0x26, 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
+ 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38, 0x2F,
+ 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
+ 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 0xDA, 0x3E, 0xDB, 0xEB,
+ 0xCF, 0x9B, 0x14, 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
+ 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51,
+ 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
+ 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0, 0x32, 0xEA, 0x15,
+ 0xD1, 0x72, 0x1D, 0x03, 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
+ 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31,
+ 0x90, 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
+ 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D, 0x45, 0xB7,
+ 0xFF, 0x58, 0x5A, 0xC5, 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
+ 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 0x14, 0xCC, 0x5E, 0xD2,
+ 0x0F, 0x80, 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
+ 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA, 0x3D,
+ 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
+ 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 0x38, 0x7F, 0xE8, 0xD7,
+ 0x6E, 0x3C, 0x04, 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
+ 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E,
+ 0x6D, 0xBE, 0x11, 0x59, 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4,
+ 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 0xD8, 0xBE, 0xC4, 0xD0,
+ 0x73, 0xB9, 0x31, 0xBA, 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00,
+ 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 0x25, 0x76, 0xF6, 0x93,
+ 0x6B, 0xA4, 0x24, 0x66, 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68,
+ 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 0x23, 0x8F, 0x16, 0xCB,
+ 0xE3, 0x9D, 0x65, 0x2D, 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9,
+ 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 0x13, 0xEB, 0x57, 0xA8,
+ 0x1A, 0x23, 0xF0, 0xC7, 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B,
+ 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 0xFA, 0x9D, 0x4B, 0x7F,
+ 0xA2, 0xC0, 0x87, 0xE8, 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A,
+ 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 0x6D, 0x2A, 0x13, 0xF8,
+ 0x3F, 0x44, 0xF8, 0x2D, 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36,
+ 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 0x64, 0xF3, 0x1C, 0xC5,
+ 0x08, 0x46, 0x85, 0x1D, 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1,
+ 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 0xFA, 0xF3, 0x6B, 0xC3,
+ 0x1E, 0xCF, 0xA2, 0x68, 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92,
+ 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 0x88, 0x9A, 0x00, 0x2E,
+ 0xD5, 0xEE, 0x38, 0x2B, 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47,
+ 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 0x9E, 0x30, 0x50, 0xE2,
+ 0x76, 0x56, 0x94, 0xDF, 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71,
+ 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF
};
-const gnutls_datum_t gnutls_srp_8192_group_prime = {
- (void *)srp_params_8192, sizeof(srp_params_8192)
-};
+const gnutls_datum_t gnutls_srp_8192_group_prime = { (void *)srp_params_8192,
+ sizeof(srp_params_8192) };
const gnutls_datum_t gnutls_srp_8192_group_generator = {
(void *)&srp8192_generator, sizeof(srp8192_generator)
@@ -807,27 +678,25 @@ const gnutls_datum_t gnutls_srp_8192_group_generator = {
/* Check if G and N are parameters from the SRP draft.
*/
-static int
-check_g_n(const uint8_t * g, size_t n_g, const uint8_t * n, size_t n_n)
+static int check_g_n(const uint8_t *g, size_t n_g, const uint8_t *n, size_t n_n)
{
-
if (n_n == sizeof(srp_params_8192)) {
- if (memcmp(srp_params_8192, n, n_n) == 0 &&
- n_g == 1 && g[0] == srp8192_generator)
+ if (memcmp(srp_params_8192, n, n_n) == 0 && n_g == 1 &&
+ g[0] == srp8192_generator)
return 0;
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
if (n_n == sizeof(srp_params_4096)) {
- if (memcmp(srp_params_4096, n, n_n) == 0 &&
- n_g == 1 && g[0] == srp3072_generator)
+ if (memcmp(srp_params_4096, n, n_n) == 0 && n_g == 1 &&
+ g[0] == srp3072_generator)
return 0;
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
if (n_n == sizeof(srp_params_3072)) {
- if (memcmp(srp_params_3072, n, n_n) == 0 &&
- n_g == 1 && g[0] == srp3072_generator)
+ if (memcmp(srp_params_3072, n, n_n) == 0 && n_g == 1 &&
+ g[0] == srp3072_generator)
return 0;
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
@@ -859,9 +728,8 @@ check_g_n(const uint8_t * g, size_t n_g, const uint8_t * n, size_t n_n)
/* receive the key exchange message ( n, g, s, B)
*/
-int
-_gnutls_proc_srp_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+int _gnutls_proc_srp_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
uint8_t n_s;
uint16_t n_g, n_n, n_b;
@@ -885,8 +753,8 @@ _gnutls_proc_srp_server_kx(gnutls_session_t session, uint8_t * data,
}
priv = epriv;
- cred = (gnutls_srp_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_SRP);
+ cred = (gnutls_srp_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_SRP);
if (cred == NULL) {
gnutls_assert();
@@ -987,22 +855,21 @@ _gnutls_proc_srp_server_kx(gnutls_session_t session, uint8_t * data,
/* generate x = SHA(s | SHA(U | ":" | p))
* (or the equivalent using bcrypt)
*/
- if ((ret =
- _gnutls_calc_srp_x(username, password, (uint8_t *) data_s,
- n_s, &_n_g, hd)) < 0) {
+ if ((ret = _gnutls_calc_srp_x(username, password, (uint8_t *)data_s,
+ n_s, &_n_g, hd)) < 0) {
gnutls_assert();
return ret;
}
- if (_gnutls_mpi_init_scan_nz(&session->key.proto.tls12.srp.x, hd, _n_g)
- != 0) {
+ if (_gnutls_mpi_init_scan_nz(&session->key.proto.tls12.srp.x, hd,
+ _n_g) != 0) {
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
- return i; /* return the processed data
+ return i; /* return the processed data
* needed in auth_srp_rsa.
*/
}
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
diff --git a/lib/auth/srp_kx.h b/lib/auth/srp_kx.h
index 1a7de64e0a..f4fd7eca70 100644
--- a/lib/auth/srp_kx.h
+++ b/lib/auth/srp_kx.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_LIB_AUTH_SRP_KX_H
-# define GNUTLS_LIB_AUTH_SRP_KX_H
+#define GNUTLS_LIB_AUTH_SRP_KX_H
-# include <auth.h>
+#include <auth.h>
-# define MAX_FAKE_SALT_SEED_SIZE 64
+#define MAX_FAKE_SALT_SEED_SIZE 64
typedef struct gnutls_srp_client_credentials_st {
char *username;
@@ -50,11 +50,11 @@ typedef struct srp_server_auth_info_st {
char *username;
} *srp_server_auth_info_t;
-# ifdef ENABLE_SRP
+#ifdef ENABLE_SRP
-int _gnutls_proc_srp_server_hello(gnutls_session_t state,
- const uint8_t * data, size_t data_size);
-int _gnutls_gen_srp_server_hello(gnutls_session_t state, uint8_t * data,
+int _gnutls_proc_srp_server_hello(gnutls_session_t state, const uint8_t *data,
+ size_t data_size);
+int _gnutls_gen_srp_server_hello(gnutls_session_t state, uint8_t *data,
size_t data_size);
int _gnutls_gen_srp_server_kx(gnutls_session_t, gnutls_buffer_st *);
@@ -67,8 +67,8 @@ typedef struct srp_server_auth_info_st srp_server_auth_info_st;
/* MAC algorithm used to generate fake salts for unknown usernames
*/
-# define SRP_FAKE_SALT_MAC GNUTLS_MAC_SHA1
+#define SRP_FAKE_SALT_MAC GNUTLS_MAC_SHA1
-# endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
-#endif /* GNUTLS_LIB_AUTH_SRP_KX_H */
+#endif /* GNUTLS_LIB_AUTH_SRP_KX_H */
diff --git a/lib/auth/srp_passwd.c b/lib/auth/srp_passwd.c
index ac375b339a..a3766d477e 100644
--- a/lib/auth/srp_passwd.c
+++ b/lib/auth/srp_passwd.c
@@ -26,28 +26,28 @@
#ifdef ENABLE_SRP
-# include "x509_b64.h"
-# include "errors.h"
-# include <auth/srp_passwd.h>
-# include <auth/srp_kx.h>
-# include "auth.h"
-# include "srp.h"
-# include "dh.h"
-# include "debug.h"
-# include <str.h>
-# include <datum.h>
-# include <num.h>
-# include <random.h>
-# include <algorithms.h>
-
-static int _randomize_pwd_entry(SRP_PWD_ENTRY * entry,
+#include "x509_b64.h"
+#include "errors.h"
+#include <auth/srp_passwd.h>
+#include <auth/srp_kx.h>
+#include "auth.h"
+#include "srp.h"
+#include "dh.h"
+#include "debug.h"
+#include <str.h>
+#include <datum.h>
+#include <num.h>
+#include <random.h>
+#include <algorithms.h>
+
+static int _randomize_pwd_entry(SRP_PWD_ENTRY *entry,
gnutls_srp_server_credentials_t cred,
const char *username);
/* this function parses tpasswd.conf file. Format is:
* string(username):base64(v):base64(salt):int(index)
*/
-static int parse_tpasswd_values(SRP_PWD_ENTRY * entry, char *str)
+static int parse_tpasswd_values(SRP_PWD_ENTRY *entry, char *str)
{
char *p;
int len, ret;
@@ -55,7 +55,7 @@ static int parse_tpasswd_values(SRP_PWD_ENTRY * entry, char *str)
size_t verifier_size;
int indx;
- p = strrchr(str, ':'); /* we have index */
+ p = strrchr(str, ':'); /* we have index */
if (p == NULL) {
gnutls_assert();
return GNUTLS_E_SRP_PWD_PARSING_ERROR;
@@ -71,7 +71,7 @@ static int parse_tpasswd_values(SRP_PWD_ENTRY * entry, char *str)
}
/* now go for salt */
- p = strrchr(str, ':'); /* we have salt */
+ p = strrchr(str, ':'); /* we have salt */
if (p == NULL) {
gnutls_assert();
return GNUTLS_E_SRP_PWD_PARSING_ERROR;
@@ -90,7 +90,7 @@ static int parse_tpasswd_values(SRP_PWD_ENTRY * entry, char *str)
}
/* now go for verifier */
- p = strrchr(str, ':'); /* we have verifier */
+ p = strrchr(str, ':'); /* we have verifier */
if (p == NULL) {
_gnutls_free_datum(&entry->salt);
return GNUTLS_E_SRP_PWD_PARSING_ERROR;
@@ -128,14 +128,14 @@ static int parse_tpasswd_values(SRP_PWD_ENTRY * entry, char *str)
/* this function parses tpasswd.conf file. Format is:
* int(index):base64(n):int(g)
*/
-static int parse_tpasswd_conf_values(SRP_PWD_ENTRY * entry, char *str)
+static int parse_tpasswd_conf_values(SRP_PWD_ENTRY *entry, char *str)
{
char *p;
int len;
uint8_t *tmp;
int ret;
- p = strrchr(str, ':'); /* we have g */
+ p = strrchr(str, ':'); /* we have g */
if (p == NULL) {
gnutls_assert();
return GNUTLS_E_SRP_PWD_PARSING_ERROR;
@@ -159,7 +159,7 @@ static int parse_tpasswd_conf_values(SRP_PWD_ENTRY * entry, char *str)
entry->g.size = ret;
/* now go for n - modulo */
- p = strrchr(str, ':'); /* we have n */
+ p = strrchr(str, ':'); /* we have n */
if (p == NULL) {
_gnutls_free_datum(&entry->g);
gnutls_assert();
@@ -187,7 +187,7 @@ static int parse_tpasswd_conf_values(SRP_PWD_ENTRY * entry, char *str)
/* this function opens the tpasswd.conf file and reads the g and n
* values. They are put in the entry.
*/
-static int pwd_read_conf(const char *pconf_file, SRP_PWD_ENTRY * entry, int idx)
+static int pwd_read_conf(const char *pconf_file, SRP_PWD_ENTRY *entry, int idx)
{
FILE *fp;
char *line = NULL;
@@ -208,8 +208,8 @@ static int pwd_read_conf(const char *pconf_file, SRP_PWD_ENTRY * entry, int idx)
while (getline(&line, &line_size, fp) > 0) {
/* move to first ':' */
i = 0;
- while ((i < line_size) && (line[i] != ':')
- && (line[i] != '\0')) {
+ while ((i < line_size) && (line[i] != ':') &&
+ (line[i] != '\0')) {
i++;
}
@@ -225,17 +225,15 @@ static int pwd_read_conf(const char *pconf_file, SRP_PWD_ENTRY * entry, int idx)
}
ret = GNUTLS_E_SRP_PWD_ERROR;
- cleanup:
+cleanup:
zeroize_key(line, line_size);
free(line);
fclose(fp);
return ret;
-
}
-int
-_gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
- SRP_PWD_ENTRY ** _entry)
+int _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
+ SRP_PWD_ENTRY **_entry)
{
gnutls_srp_server_credentials_t cred;
FILE *fp = NULL;
@@ -253,8 +251,8 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
}
entry = *_entry;
- cred = (gnutls_srp_server_credentials_t)
- _gnutls_get_cred(state, GNUTLS_CRD_SRP);
+ cred = (gnutls_srp_server_credentials_t)_gnutls_get_cred(
+ state, GNUTLS_CRD_SRP);
if (cred == NULL) {
gnutls_assert();
ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -268,10 +266,10 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
ret = cred->pwd_callback(state, username, &entry->salt,
&entry->v, &entry->g, &entry->n);
- if (ret == 1) { /* the user does not exist */
+ if (ret == 1) { /* the user does not exist */
if (entry->g.size != 0 && entry->n.size != 0) {
- ret =
- _randomize_pwd_entry(entry, cred, username);
+ ret = _randomize_pwd_entry(entry, cred,
+ username);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -279,7 +277,7 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
return 0;
} else {
gnutls_assert();
- ret = -1; /* error in the callback */
+ ret = -1; /* error in the callback */
}
}
@@ -314,8 +312,8 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
while (getline(&line, &line_size, fp) > 0) {
/* move to first ':' */
i = 0;
- while ((i < line_size) && (line[i] != '\0')
- && (line[i] != ':')) {
+ while ((i < line_size) && (line[i] != '\0') &&
+ (line[i] != ':')) {
i++;
}
@@ -324,9 +322,8 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
/* Keep the last index in memory, so we can retrieve fake parameters (g,n)
* when the user does not exist.
*/
- if (pwd_read_conf
- (cred->password_conf_file, entry,
- idx) == 0) {
+ if (pwd_read_conf(cred->password_conf_file,
+ entry, idx) == 0) {
ret = 0;
goto found;
} else {
@@ -358,11 +355,11 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
ret = GNUTLS_E_SRP_PWD_ERROR;
- cleanup:
+cleanup:
gnutls_assert();
_gnutls_srp_entry_free(entry);
- found:
+found:
if (line) {
zeroize_key(line, line_size);
free(line);
@@ -376,7 +373,7 @@ _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
* to random data and sets the salt based on fake_salt_seed and
* username. Returns 0 on success.
*/
-static int _randomize_pwd_entry(SRP_PWD_ENTRY * entry,
+static int _randomize_pwd_entry(SRP_PWD_ENTRY *entry,
gnutls_srp_server_credentials_t sc,
const char *username)
{
@@ -439,7 +436,7 @@ static int _randomize_pwd_entry(SRP_PWD_ENTRY * entry,
/* Free all the entry parameters, except if g and n are
* the static ones defined in gnutls.h
*/
-void _gnutls_srp_entry_free(SRP_PWD_ENTRY * entry)
+void _gnutls_srp_entry_free(SRP_PWD_ENTRY *entry)
{
_gnutls_free_key_datum(&entry->v);
_gnutls_free_datum(&entry->salt);
@@ -464,4 +461,4 @@ void _gnutls_srp_entry_free(SRP_PWD_ENTRY * entry)
gnutls_free(entry);
}
-#endif /* ENABLE SRP */
+#endif /* ENABLE SRP */
diff --git a/lib/auth/srp_passwd.h b/lib/auth/srp_passwd.h
index d9d97bc011..05270a273b 100644
--- a/lib/auth/srp_passwd.h
+++ b/lib/auth/srp_passwd.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_AUTH_SRP_PASSWD_H
-# define GNUTLS_LIB_AUTH_SRP_PASSWD_H
+#define GNUTLS_LIB_AUTH_SRP_PASSWD_H
-# ifdef ENABLE_SRP
+#ifdef ENABLE_SRP
typedef struct {
char *username;
@@ -37,9 +37,9 @@ typedef struct {
/* this is locally allocated. It should be freed using the provided function */
int _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,
SRP_PWD_ENTRY **);
-void _gnutls_srp_entry_free(SRP_PWD_ENTRY * entry);
-int _gnutls_sbase64_decode(char *data, size_t data_size, uint8_t ** result);
+void _gnutls_srp_entry_free(SRP_PWD_ENTRY *entry);
+int _gnutls_sbase64_decode(char *data, size_t data_size, uint8_t **result);
-# endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
-#endif /* GNUTLS_LIB_AUTH_SRP_PASSWD_H */
+#endif /* GNUTLS_LIB_AUTH_SRP_PASSWD_H */
diff --git a/lib/auth/srp_rsa.c b/lib/auth/srp_rsa.c
index 13b2664608..1a16f46996 100644
--- a/lib/auth/srp_rsa.c
+++ b/lib/auth/srp_rsa.c
@@ -24,60 +24,56 @@
#ifdef ENABLE_SRP
-# include "errors.h"
-# include <auth/srp_passwd.h>
-# include "auth.h"
-# include "auth.h"
-# include "srp.h"
-# include "debug.h"
-# include "num.h"
-# include <auth/srp_kx.h>
-# include <str.h>
-# include <auth/cert.h>
-# include <datum.h>
-# include <tls-sig.h>
-# include <x509.h>
-# include <algorithms.h>
+#include "errors.h"
+#include <auth/srp_passwd.h>
+#include "auth.h"
+#include "auth.h"
+#include "srp.h"
+#include "debug.h"
+#include "num.h"
+#include <auth/srp_kx.h>
+#include <str.h>
+#include <auth/cert.h>
+#include <datum.h>
+#include <tls-sig.h>
+#include <x509.h>
+#include <algorithms.h>
static int gen_srp_cert_server_kx(gnutls_session_t, gnutls_buffer_st *);
static int proc_srp_cert_server_kx(gnutls_session_t, uint8_t *, size_t);
-const mod_auth_st srp_rsa_auth_struct = {
- "SRP",
- _gnutls_gen_cert_server_crt,
- NULL,
- gen_srp_cert_server_kx,
- _gnutls_gen_srp_client_kx,
- NULL,
- NULL,
-
- _gnutls_proc_crt,
- NULL, /* certificate */
- proc_srp_cert_server_kx,
- _gnutls_proc_srp_client_kx,
- NULL,
- NULL
-};
-
-const mod_auth_st srp_dss_auth_struct = {
- "SRP",
- _gnutls_gen_cert_server_crt,
- NULL,
- gen_srp_cert_server_kx,
- _gnutls_gen_srp_client_kx,
- NULL,
- NULL,
-
- _gnutls_proc_crt,
- NULL, /* certificate */
- proc_srp_cert_server_kx,
- _gnutls_proc_srp_client_kx,
- NULL,
- NULL
-};
-
-static int
-gen_srp_cert_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
+const mod_auth_st srp_rsa_auth_struct = { "SRP",
+ _gnutls_gen_cert_server_crt,
+ NULL,
+ gen_srp_cert_server_kx,
+ _gnutls_gen_srp_client_kx,
+ NULL,
+ NULL,
+
+ _gnutls_proc_crt,
+ NULL, /* certificate */
+ proc_srp_cert_server_kx,
+ _gnutls_proc_srp_client_kx,
+ NULL,
+ NULL };
+
+const mod_auth_st srp_dss_auth_struct = { "SRP",
+ _gnutls_gen_cert_server_crt,
+ NULL,
+ gen_srp_cert_server_kx,
+ _gnutls_gen_srp_client_kx,
+ NULL,
+ NULL,
+
+ _gnutls_proc_crt,
+ NULL, /* certificate */
+ proc_srp_cert_server_kx,
+ _gnutls_proc_srp_client_kx,
+ NULL,
+ NULL };
+
+static int gen_srp_cert_server_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
ssize_t ret;
gnutls_datum_t signature, ddata;
@@ -102,25 +98,24 @@ gen_srp_cert_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
ddata.data = &data->data[init_pos];
ddata.size = data->length - init_pos;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
/* find the appropriate certificate */
- if ((ret =
- _gnutls_get_selected_cert(session, &apr_cert_list,
- &apr_cert_list_length, &apr_pkey)) < 0) {
+ if ((ret = _gnutls_get_selected_cert(session, &apr_cert_list,
+ &apr_cert_list_length,
+ &apr_pkey)) < 0) {
gnutls_assert();
return ret;
}
- if ((ret =
- _gnutls_handshake_sign_data(session, &apr_cert_list[0],
- apr_pkey, &ddata, &signature,
- &sign_algo)) < 0) {
+ if ((ret = _gnutls_handshake_sign_data(session, &apr_cert_list[0],
+ apr_pkey, &ddata, &signature,
+ &sign_algo)) < 0) {
gnutls_assert();
return ret;
}
@@ -151,9 +146,8 @@ gen_srp_cert_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
}
}
- ret =
- _gnutls_buffer_append_data_prefix(data, 16, signature.data,
- signature.size);
+ ret = _gnutls_buffer_append_data_prefix(data, 16, signature.data,
+ signature.size);
if (ret < 0) {
gnutls_assert();
@@ -162,14 +156,13 @@ gen_srp_cert_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
ret = data->length - init_pos;
- cleanup:
+cleanup:
_gnutls_free_datum(&signature);
return ret;
}
-static int
-proc_srp_cert_server_kx(gnutls_session_t session, uint8_t * data,
- size_t _data_size)
+static int proc_srp_cert_server_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
ssize_t ret;
int sigsize;
@@ -192,15 +185,15 @@ proc_srp_cert_server_kx(gnutls_session_t session, uint8_t * data,
data_size = _data_size - ret;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- vflags =
- cred->verify_flags | session->internals.additional_verify_flags;
+ vflags = cred->verify_flags |
+ session->internals.additional_verify_flags;
info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
if (info == NULL || info->ncerts == 0) {
@@ -211,7 +204,7 @@ proc_srp_cert_server_kx(gnutls_session_t session, uint8_t * data,
/* VERIFY SIGNATURE */
- vparams.size = ret; /* all the data minus the signature */
+ vparams.size = ret; /* all the data minus the signature */
vparams.data = data;
p = &data[vparams.size];
@@ -239,19 +232,16 @@ proc_srp_cert_server_kx(gnutls_session_t session, uint8_t * data,
signature.data = &p[2];
signature.size = sigsize;
- ret =
- _gnutls_get_auth_info_pcert(&peer_cert,
- session->
- security_parameters.server_ctype, info);
+ ret = _gnutls_get_auth_info_pcert(
+ &peer_cert, session->security_parameters.server_ctype, info);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_handshake_verify_data(session, vflags, &peer_cert, &vparams,
- &signature, sign_algo);
+ ret = _gnutls_handshake_verify_data(session, vflags, &peer_cert,
+ &vparams, &signature, sign_algo);
gnutls_pcert_deinit(&peer_cert);
if (ret < 0) {
@@ -262,4 +252,4 @@ proc_srp_cert_server_kx(gnutls_session_t session, uint8_t * data,
return 0;
}
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
diff --git a/lib/auth/srp_sb64.c b/lib/auth/srp_sb64.c
index 34835b66c1..6683ac3d31 100644
--- a/lib/auth/srp_sb64.c
+++ b/lib/auth/srp_sb64.c
@@ -32,36 +32,24 @@
* It seems that everybody makes their own base64 conversion.
*/
static const uint8_t b64table[] =
- "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./";
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./";
static const uint8_t asciitable[128] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0x3e, 0x3f,
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
- 0x06, 0x07, 0x08, 0x09, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x0a,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
- 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
- 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c,
- 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
- 0x23, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x24, 0x25, 0x26, 0x27, 0x28,
- 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
- 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34,
- 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
- 0x3b, 0x3c, 0x3d, 0xff, 0xff, 0xff,
- 0xff, 0xff
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0x3f,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c,
+ 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
+ 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
+ 0x3b, 0x3c, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff
};
-inline static int encode(uint8_t * result, const uint8_t * rdata, unsigned left)
+inline static int encode(uint8_t *result, const uint8_t *rdata, unsigned left)
{
-
int data_len;
int c, ret = 4;
uint8_t data[3];
@@ -78,26 +66,23 @@ inline static int encode(uint8_t * result, const uint8_t * rdata, unsigned left)
case 3:
result[0] = b64table[((data[0] & 0xfc) >> 2)];
result[1] =
- b64table[(((((data[0] & 0x03) & 0xff) << 4) & 0xff) |
- ((data[1] & 0xf0) >> 4))];
- result[2] =
- b64table[((((data[1] & 0x0f) << 2) & 0xff) |
- ((data[2] & 0xc0) >> 6))];
+ b64table[(((((data[0] & 0x03) & 0xff) << 4) & 0xff) |
+ ((data[1] & 0xf0) >> 4))];
+ result[2] = b64table[((((data[1] & 0x0f) << 2) & 0xff) |
+ ((data[2] & 0xc0) >> 6))];
result[3] = b64table[(data[2] & 0x3f) & 0xff];
break;
case 2:
if ((c = ((data[0] & 0xf0) >> 4)) != 0) {
result[0] = b64table[c];
- result[1] =
- b64table[((((data[0] & 0x0f) << 2) & 0xff) |
- ((data[1] & 0xc0) >> 6))];
+ result[1] = b64table[((((data[0] & 0x0f) << 2) & 0xff) |
+ ((data[1] & 0xc0) >> 6))];
result[2] = b64table[(data[1] & 0x3f) & 0xff];
result[3] = '\0';
ret -= 1;
} else {
- if ((c =
- ((data[0] & 0x0f) << 2) | ((data[1] & 0xc0) >>
- 6)) != 0) {
+ if ((c = ((data[0] & 0x0f) << 2) |
+ ((data[1] & 0xc0) >> 6)) != 0) {
result[0] = b64table[c];
result[1] = b64table[data[1] & 0x3f];
result[2] = '\0';
@@ -132,14 +117,13 @@ inline static int encode(uint8_t * result, const uint8_t * rdata, unsigned left)
}
return ret;
-
}
/* encodes data and puts the result into result (locally allocated)
* The result_size is the return value
*/
-static int
-_gnutls_sbase64_encode(uint8_t * data, size_t data_size, char **result)
+static int _gnutls_sbase64_encode(uint8_t *data, size_t data_size,
+ char **result)
{
unsigned i, j;
int ret, tmp;
@@ -159,7 +143,7 @@ _gnutls_sbase64_encode(uint8_t * data, size_t data_size, char **result)
return GNUTLS_E_MEMORY_ERROR;
i = j = 0;
-/* encode the bytes that are not a multiple of 3
+ /* encode the bytes that are not a multiple of 3
*/
if (mod > 0) {
tmp = encode(tmpres, &data[0], mod);
@@ -171,9 +155,8 @@ _gnutls_sbase64_encode(uint8_t * data, size_t data_size, char **result)
memcpy(&(*result)[0], tmpres, tmp);
i = mod;
j = tmp;
-
}
-/* encode the rest
+ /* encode the rest
*/
for (; i < data_size; i += 3, j += 4) {
tmp = encode(tmpres, &data[i], data_size - i);
@@ -190,8 +173,8 @@ _gnutls_sbase64_encode(uint8_t * data, size_t data_size, char **result)
/* data must be 4 bytes
* result should be 3 bytes
*/
-# define TOASCII(c) (c < 127 ? asciitable[c] : 0xff)
-inline static int decode(uint8_t * result, const uint8_t * data)
+#define TOASCII(c) (c < 127 ? asciitable[c] : 0xff)
+inline static int decode(uint8_t *result, const uint8_t *data)
{
uint8_t a1, a2;
int ret = 3;
@@ -233,7 +216,7 @@ inline static int decode(uint8_t * result, const uint8_t * data)
* That function does not ignore newlines tabs etc. You should remove them
* before calling it.
*/
-int _gnutls_sbase64_decode(char *data, size_t idata_size, uint8_t ** result)
+int _gnutls_sbase64_decode(char *data, size_t idata_size, uint8_t **result)
{
unsigned i, j;
int ret, left;
@@ -272,7 +255,7 @@ int _gnutls_sbase64_decode(char *data, size_t idata_size, uint8_t ** result)
/* rest data */
for (i = left, j = tmp; i < idata_size; i += 4) {
- tmp = decode(tmpres, (uint8_t *) & data[i]);
+ tmp = decode(tmpres, (uint8_t *)&data[i]);
if (tmp < 0) {
gnutls_free((*result));
return tmp;
@@ -303,9 +286,8 @@ int _gnutls_sbase64_decode(char *data, size_t idata_size, uint8_t ** result)
* Returns: %GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not
* long enough, or 0 on success.
**/
-int
-gnutls_srp_base64_encode(const gnutls_datum_t * data, char *result,
- size_t *result_size)
+int gnutls_srp_base64_encode(const gnutls_datum_t *data, char *result,
+ size_t *result_size)
{
char *res;
int size;
@@ -344,8 +326,8 @@ gnutls_srp_base64_encode(const gnutls_datum_t * data, char *result,
*
* Returns: 0 on success, or an error code.
**/
-int
-gnutls_srp_base64_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
+int gnutls_srp_base64_encode2(const gnutls_datum_t *data,
+ gnutls_datum_t *result)
{
char *res;
int size;
@@ -358,7 +340,7 @@ gnutls_srp_base64_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
gnutls_free(res);
return GNUTLS_E_INVALID_REQUEST;
} else {
- result->data = (uint8_t *) res;
+ result->data = (uint8_t *)res;
result->size = size;
}
@@ -382,16 +364,14 @@ gnutls_srp_base64_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
* Returns: %GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not
* long enough, or 0 on success.
**/
-int
-gnutls_srp_base64_decode(const gnutls_datum_t * b64_data, char *result,
- size_t *result_size)
+int gnutls_srp_base64_decode(const gnutls_datum_t *b64_data, char *result,
+ size_t *result_size)
{
uint8_t *res;
int size;
- size =
- _gnutls_sbase64_decode((char *)b64_data->data, b64_data->size,
- &res);
+ size = _gnutls_sbase64_decode((char *)b64_data->data, b64_data->size,
+ &res);
if (size < 0)
return size;
@@ -424,16 +404,14 @@ gnutls_srp_base64_decode(const gnutls_datum_t * b64_data, char *result,
*
* Returns: 0 on success, or an error code.
**/
-int
-gnutls_srp_base64_decode2(const gnutls_datum_t * b64_data,
- gnutls_datum_t * result)
+int gnutls_srp_base64_decode2(const gnutls_datum_t *b64_data,
+ gnutls_datum_t *result)
{
uint8_t *ret;
int size;
- size =
- _gnutls_sbase64_decode((char *)b64_data->data, b64_data->size,
- &ret);
+ size = _gnutls_sbase64_decode((char *)b64_data->data, b64_data->size,
+ &ret);
if (size < 0)
return size;
@@ -450,34 +428,30 @@ gnutls_srp_base64_decode2(const gnutls_datum_t * b64_data,
#else
-int
-gnutls_srp_base64_encode(const gnutls_datum_t * data MAYBE_UNUSED,
- char *result MAYBE_UNUSED,
- size_t *result_size MAYBE_UNUSED)
+int gnutls_srp_base64_encode(const gnutls_datum_t *data MAYBE_UNUSED,
+ char *result MAYBE_UNUSED,
+ size_t *result_size MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_srp_base64_encode2(const gnutls_datum_t * data MAYBE_UNUSED,
- gnutls_datum_t * result MAYBE_UNUSED)
+int gnutls_srp_base64_encode2(const gnutls_datum_t *data MAYBE_UNUSED,
+ gnutls_datum_t *result MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_srp_base64_decode(const gnutls_datum_t * b64_data MAYBE_UNUSED,
- char *result MAYBE_UNUSED,
- size_t *result_size MAYBE_UNUSED)
+int gnutls_srp_base64_decode(const gnutls_datum_t *b64_data MAYBE_UNUSED,
+ char *result MAYBE_UNUSED,
+ size_t *result_size MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_srp_base64_decode2(const gnutls_datum_t * b64_data MAYBE_UNUSED,
- gnutls_datum_t * result MAYBE_UNUSED)
+int gnutls_srp_base64_decode2(const gnutls_datum_t *b64_data MAYBE_UNUSED,
+ gnutls_datum_t *result MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
diff --git a/lib/auth/vko_gost.c b/lib/auth/vko_gost.c
index 45503708aa..cd8dc11cfa 100644
--- a/lib/auth/vko_gost.c
+++ b/lib/auth/vko_gost.c
@@ -33,8 +33,8 @@
#if defined(ENABLE_GOST)
static int gen_vko_gost_client_kx(gnutls_session_t, gnutls_buffer_st *);
-static int proc_vko_gost_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size);
+static int proc_vko_gost_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size);
/* VKO GOST Key Exchange:
* see draft-smyshlyaev-tls12-gost-suites-06, Section 4.2.4
@@ -51,26 +51,24 @@ static int proc_vko_gost_client_kx(gnutls_session_t session,
* Note, this KX is not PFS one, despite using ephemeral key pairs on client
* side.
*/
-const mod_auth_st vko_gost_auth_struct = {
- "VKO_GOST",
- _gnutls_gen_cert_server_crt,
- _gnutls_gen_cert_client_crt,
- NULL,
- gen_vko_gost_client_kx,
- _gnutls_gen_cert_client_crt_vrfy,
- _gnutls_gen_cert_server_cert_req,
-
- _gnutls_proc_crt,
- _gnutls_proc_crt,
- NULL,
- proc_vko_gost_client_kx,
- _gnutls_proc_cert_client_crt_vrfy,
- _gnutls_proc_cert_cert_req
-};
-
-# define VKO_GOST_UKM_LEN 8
-
-static int calc_ukm(gnutls_session_t session, uint8_t * ukm)
+const mod_auth_st vko_gost_auth_struct = { "VKO_GOST",
+ _gnutls_gen_cert_server_crt,
+ _gnutls_gen_cert_client_crt,
+ NULL,
+ gen_vko_gost_client_kx,
+ _gnutls_gen_cert_client_crt_vrfy,
+ _gnutls_gen_cert_server_cert_req,
+
+ _gnutls_proc_crt,
+ _gnutls_proc_crt,
+ NULL,
+ proc_vko_gost_client_kx,
+ _gnutls_proc_cert_client_crt_vrfy,
+ _gnutls_proc_cert_cert_req };
+
+#define VKO_GOST_UKM_LEN 8
+
+static int calc_ukm(gnutls_session_t session, uint8_t *ukm)
{
gnutls_digest_algorithm_t digalg = GNUTLS_DIG_STREEBOG_256;
gnutls_hash_hd_t dig;
@@ -91,7 +89,7 @@ static int calc_ukm(gnutls_session_t session, uint8_t * ukm)
return gnutls_hash_get_len(digalg);
}
-static int print_priv_key(gnutls_pk_params_st * params)
+static int print_priv_key(gnutls_pk_params_st *params)
{
int ret;
uint8_t priv_buf[512 / 8];
@@ -106,15 +104,15 @@ static int print_priv_key(gnutls_pk_params_st * params)
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_hard_log("INT: VKO PRIVATE KEY[%zd]: %s\n",
- bytes, _gnutls_bin2hex(priv_buf,
- bytes, buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: VKO PRIVATE KEY[%zd]: %s\n", bytes,
+ _gnutls_bin2hex(priv_buf, bytes, buf, sizeof(buf),
+ NULL));
return 0;
}
-static int
-vko_prepare_client_keys(gnutls_session_t session,
- gnutls_pk_params_st * pub, gnutls_pk_params_st * priv)
+static int vko_prepare_client_keys(gnutls_session_t session,
+ gnutls_pk_params_st *pub,
+ gnutls_pk_params_st *priv)
{
int ret;
gnutls_ecc_curve_t curve;
@@ -126,9 +124,8 @@ vko_prepare_client_keys(gnutls_session_t session,
if (info == NULL || info->ncerts == 0)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- ret = _gnutls_get_auth_info_pcert(&peer_cert,
- session->security_parameters.
- server_ctype, info);
+ ret = _gnutls_get_auth_info_pcert(
+ &peer_cert, session->security_parameters.server_ctype, info);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -167,7 +164,7 @@ vko_prepare_client_keys(gnutls_session_t session,
print_priv_key(priv);
- session->key.key.size = 32; /* GOST key size */
+ session->key.key.size = 32; /* GOST key size */
session->key.key.data = gnutls_malloc(session->key.key.size);
if (session->key.key.data == NULL) {
gnutls_assert();
@@ -202,9 +199,8 @@ vko_prepare_client_keys(gnutls_session_t session,
_gnutls_gost_keytrans_decrypt will decrypt GostR3410-KeyTransport
*/
-static int
-proc_vko_gost_client_kx(gnutls_session_t session,
- uint8_t * data, size_t _data_size)
+static int proc_vko_gost_client_kx(gnutls_session_t session, uint8_t *data,
+ size_t _data_size)
{
int ret, i = 0;
ssize_t data_size = _data_size;
@@ -237,7 +233,7 @@ proc_vko_gost_client_kx(gnutls_session_t session,
data += i;
/* Now do the tricky part: determine length of GostR3410-KeyTransport */
- DECR_LEN(data_size, 1); /* tag */
+ DECR_LEN(data_size, 1); /* tag */
ret = asn1_get_length_der(&data[1], data_size, &len);
DECR_LEN_FINAL(data_size, len + ret);
@@ -248,19 +244,19 @@ proc_vko_gost_client_kx(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_gost_keytrans_decrypt(&privkey->key.x509->params,
- &cek, &ukm, &session->key.key);
+ ret = _gnutls_gost_keytrans_decrypt(&privkey->key.x509->params, &cek,
+ &ukm, &session->key.key);
if (ret < 0)
return gnutls_assert_val(ret);
return 0;
}
-static int
-gen_vko_gost_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
+static int gen_vko_gost_client_kx(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret;
- gnutls_datum_t out = { };
+ gnutls_datum_t out = {};
uint8_t ukm_data[MAX_HASH_SIZE];
gnutls_datum_t ukm = { ukm_data, VKO_GOST_UKM_LEN };
gnutls_pk_params_st pub;
@@ -278,9 +274,8 @@ gen_vko_gost_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_gost_keytrans_encrypt(&pub,
- &priv,
- &session->key.key, &ukm, &out);
+ ret = _gnutls_gost_keytrans_encrypt(&pub, &priv, &session->key.key,
+ &ukm, &out);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -301,7 +296,7 @@ gen_vko_gost_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
}
ret = data->length;
- cleanup:
+cleanup:
/* no longer needed */
gnutls_pk_params_release(&priv);
gnutls_pk_params_release(&pub);
diff --git a/lib/auto-verify.c b/lib/auto-verify.c
index 60b390d8f9..5047df4e06 100644
--- a/lib/auto-verify.c
+++ b/lib/auto-verify.c
@@ -37,12 +37,9 @@ static int auto_verify_cb(gnutls_session_t session)
if (session->internals.vc_elements == 0) {
ret = gnutls_certificate_verify_peers2(session, &status);
} else {
- ret =
- gnutls_certificate_verify_peers(session,
- session->internals.vc_data,
- session->
- internals.vc_elements,
- &status);
+ ret = gnutls_certificate_verify_peers(
+ session, session->internals.vc_data,
+ session->internals.vc_elements, &status);
}
if (ret < 0) {
return gnutls_assert_val(GNUTLS_E_CERTIFICATE_ERROR);
@@ -50,9 +47,9 @@ static int auto_verify_cb(gnutls_session_t session)
session->internals.vc_status = status;
- if (status != 0) /* Certificate is not trusted */
- return
- gnutls_assert_val(GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR);
+ if (status != 0) /* Certificate is not trusted */
+ return gnutls_assert_val(
+ GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR);
/* notify gnutls to continue handshake normally */
return 0;
@@ -125,7 +122,7 @@ void gnutls_session_set_verify_cert(gnutls_session_t session,
* Since: 3.4.6
**/
void gnutls_session_set_verify_cert2(gnutls_session_t session,
- gnutls_typed_vdata_st * data,
+ gnutls_typed_vdata_st *data,
unsigned elements, unsigned flags)
{
session->internals.vc_data = data;
diff --git a/lib/buffers.c b/lib/buffers.c
index 957bb5716c..5f5b15fb97 100644
--- a/lib/buffers.c
+++ b/lib/buffers.c
@@ -48,14 +48,14 @@
#include <state.h>
#include <dtls.h>
#include <system.h>
-#include <constate.h> /* gnutls_epoch_get */
-#include <handshake.h> /* remaining_time() */
+#include <constate.h> /* gnutls_epoch_get */
+#include <handshake.h> /* remaining_time() */
#include <errno.h>
#include <system.h>
#include "debug.h"
#ifndef EAGAIN
-# define EAGAIN EWOULDBLOCK
+#define EAGAIN EWOULDBLOCK
#endif
/* this is the maximum number of messages allowed to queue.
@@ -65,11 +65,9 @@
/* Buffers received packets of type APPLICATION DATA,
* HANDSHAKE DATA and HEARTBEAT.
*/
-void
-_gnutls_record_buffer_put(gnutls_session_t session,
- content_type_t type, uint64_t seq, mbuffer_st * bufel)
+void _gnutls_record_buffer_put(gnutls_session_t session, content_type_t type,
+ uint64_t seq, mbuffer_st *bufel)
{
-
bufel->type = type;
bufel->record_sequence = seq;
@@ -112,10 +110,8 @@ size_t gnutls_record_check_corked(gnutls_session_t session)
return session->internals.record_presend_buffer.length;
}
-int
-_gnutls_record_buffer_get(content_type_t type,
- gnutls_session_t session, uint8_t * data,
- size_t length, uint8_t seq[8])
+int _gnutls_record_buffer_get(content_type_t type, gnutls_session_t session,
+ uint8_t *data, size_t length, uint8_t seq[8])
{
gnutls_datum_t msg;
mbuffer_st *bufel;
@@ -125,22 +121,24 @@ _gnutls_record_buffer_get(content_type_t type,
return GNUTLS_E_INVALID_REQUEST;
}
- bufel =
- _mbuffer_head_get_first(&session->internals.record_buffer, &msg);
+ bufel = _mbuffer_head_get_first(&session->internals.record_buffer,
+ &msg);
if (bufel == NULL)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
if (type != bufel->type) {
if (IS_DTLS(session))
- _gnutls_audit_log(session,
- "Discarded unexpected %s (%d) packet (expecting: %s (%d))\n",
- _gnutls_packet2str(bufel->type),
- (int)bufel->type,
- _gnutls_packet2str(type), (int)type);
+ _gnutls_audit_log(
+ session,
+ "Discarded unexpected %s (%d) packet (expecting: %s (%d))\n",
+ _gnutls_packet2str(bufel->type),
+ (int)bufel->type, _gnutls_packet2str(type),
+ (int)type);
else
- _gnutls_debug_log
- ("received unexpected packet: %s(%d)\n",
- _gnutls_packet2str(bufel->type), (int)bufel->type);
+ _gnutls_debug_log(
+ "received unexpected packet: %s(%d)\n",
+ _gnutls_packet2str(bufel->type),
+ (int)bufel->type);
_mbuffer_head_remove_bytes(&session->internals.record_buffer,
msg.size);
@@ -159,9 +157,9 @@ _gnutls_record_buffer_get(content_type_t type,
return length;
}
-int
-_gnutls_record_buffer_get_packet(content_type_t type, gnutls_session_t session,
- gnutls_packet_t * packet)
+int _gnutls_record_buffer_get_packet(content_type_t type,
+ gnutls_session_t session,
+ gnutls_packet_t *packet)
{
mbuffer_st *bufel;
@@ -171,11 +169,11 @@ _gnutls_record_buffer_get_packet(content_type_t type, gnutls_session_t session,
if (type != bufel->type) {
if (IS_DTLS(session))
- _gnutls_audit_log(session,
- "Discarded unexpected %s (%d) packet (expecting: %s)\n",
- _gnutls_packet2str(bufel->type),
- (int)bufel->type,
- _gnutls_packet2str(type));
+ _gnutls_audit_log(
+ session,
+ "Discarded unexpected %s (%d) packet (expecting: %s)\n",
+ _gnutls_packet2str(bufel->type),
+ (int)bufel->type, _gnutls_packet2str(type));
_mbuffer_head_remove_bytes(&session->internals.record_buffer,
bufel->msg.size);
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
@@ -198,14 +196,12 @@ inline static int get_errno(gnutls_session_t session)
if (session->internals.errnum != 0)
ret = session->internals.errnum;
else
- ret =
- session->internals.errno_func(session->internals.
- transport_recv_ptr);
+ ret = session->internals.errno_func(
+ session->internals.transport_recv_ptr);
return ret;
}
-inline static
-int errno_to_gerr(int err, unsigned dtls)
+inline static int errno_to_gerr(int err, unsigned dtls)
{
switch (err) {
case EAGAIN:
@@ -225,9 +221,8 @@ int errno_to_gerr(int err, unsigned dtls)
}
}
-static ssize_t
-_gnutls_dgram_read(gnutls_session_t session, mbuffer_st ** bufel,
- gnutls_pull_func pull_func, unsigned int *ms)
+static ssize_t _gnutls_dgram_read(gnutls_session_t session, mbuffer_st **bufel,
+ gnutls_pull_func pull_func, unsigned int *ms)
{
ssize_t i, ret;
uint8_t *ptr;
@@ -293,14 +288,14 @@ _gnutls_dgram_read(gnutls_session_t session, mbuffer_st ** bufel,
return i;
- cleanup:
+cleanup:
_mbuffer_xfree(bufel);
return ret;
}
-static ssize_t
-_gnutls_stream_read(gnutls_session_t session, mbuffer_st ** bufel,
- size_t size, gnutls_pull_func pull_func, unsigned int *ms)
+static ssize_t _gnutls_stream_read(gnutls_session_t session, mbuffer_st **bufel,
+ size_t size, gnutls_pull_func pull_func,
+ unsigned int *ms)
{
size_t left;
ssize_t i = 0;
@@ -313,9 +308,8 @@ _gnutls_stream_read(gnutls_session_t session, mbuffer_st ** bufel,
session->internals.direction = 0;
- *bufel =
- _mbuffer_alloc_align16(MAX(max_size, size),
- get_total_headers(session));
+ *bufel = _mbuffer_alloc_align16(MAX(max_size, size),
+ get_total_headers(session));
if (!*bufel) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -341,16 +335,15 @@ _gnutls_stream_read(gnutls_session_t session, mbuffer_st ** bufel,
if (i < 0) {
int err = get_errno(session);
- _gnutls_read_log
- ("READ: %d returned from %p, errno=%d gerrno=%d\n",
- (int)i, fd, errno, session->internals.errnum);
+ _gnutls_read_log(
+ "READ: %d returned from %p, errno=%d gerrno=%d\n",
+ (int)i, fd, errno, session->internals.errnum);
if (err == EAGAIN || err == EINTR) {
if (size - left > 0) {
-
- _gnutls_read_log
- ("READ: returning %d bytes from %p\n",
- (int)(size - left), fd);
+ _gnutls_read_log(
+ "READ: returning %d bytes from %p\n",
+ (int)(size - left), fd);
goto finish;
}
@@ -363,12 +356,11 @@ _gnutls_stream_read(gnutls_session_t session, mbuffer_st ** bufel,
goto cleanup;
}
} else {
-
- _gnutls_read_log("READ: Got %d bytes from %p\n",
- (int)i, fd);
+ _gnutls_read_log("READ: Got %d bytes from %p\n", (int)i,
+ fd);
if (i == 0)
- break; /* EOF */
+ break; /* EOF */
}
left -= i;
@@ -386,17 +378,17 @@ _gnutls_stream_read(gnutls_session_t session, mbuffer_st ** bufel,
}
}
- finish:
+finish:
- _gnutls_read_log("READ: read %d bytes from %p\n",
- (int)(size - left), fd);
+ _gnutls_read_log("READ: read %d bytes from %p\n", (int)(size - left),
+ fd);
if (size - left == 0)
_mbuffer_xfree(bufel);
return (size - left);
- cleanup:
+cleanup:
_mbuffer_xfree(bufel);
return ret;
}
@@ -406,9 +398,9 @@ _gnutls_stream_read(gnutls_session_t session, mbuffer_st ** bufel,
*
* Flags are only used if the default recv() function is being used.
*/
-static ssize_t
-_gnutls_read(gnutls_session_t session, mbuffer_st ** bufel,
- size_t size, gnutls_pull_func pull_func, unsigned int *ms)
+static ssize_t _gnutls_read(gnutls_session_t session, mbuffer_st **bufel,
+ size_t size, gnutls_pull_func pull_func,
+ unsigned int *ms)
{
if (IS_DTLS(session))
/* Size is not passed, since a whole datagram will be read. */
@@ -420,10 +412,10 @@ _gnutls_read(gnutls_session_t session, mbuffer_st ** bufel,
/* @vec: if non-zero then the vector function will be used to
* push the data.
*/
-static ssize_t
-_gnutls_writev_emu(gnutls_session_t session, gnutls_transport_ptr_t fd,
- const giovec_t * giovec, unsigned int giovec_cnt,
- unsigned vec)
+static ssize_t _gnutls_writev_emu(gnutls_session_t session,
+ gnutls_transport_ptr_t fd,
+ const giovec_t *giovec,
+ unsigned int giovec_cnt, unsigned vec)
{
unsigned int j = 0;
size_t total = 0;
@@ -431,8 +423,8 @@ _gnutls_writev_emu(gnutls_session_t session, gnutls_transport_ptr_t fd,
for (j = 0; j < giovec_cnt; j++) {
if (vec) {
- ret =
- session->internals.vec_push_func(fd, &giovec[j], 1);
+ ret = session->internals.vec_push_func(fd, &giovec[j],
+ 1);
} else {
size_t sent = 0;
ssize_t left = giovec[j].iov_len;
@@ -469,9 +461,8 @@ _gnutls_writev_emu(gnutls_session_t session, gnutls_transport_ptr_t fd,
/* @total: The sum of the data in giovec
*/
-static ssize_t
-_gnutls_writev(gnutls_session_t session, const giovec_t * giovec,
- unsigned giovec_cnt, unsigned total)
+static ssize_t _gnutls_writev(gnutls_session_t session, const giovec_t *giovec,
+ unsigned giovec_cnt, unsigned total)
{
int i;
bool is_dtls = IS_DTLS(session);
@@ -501,8 +492,8 @@ _gnutls_writev(gnutls_session_t session, const giovec_t * giovec,
if (i == -1) {
int err = get_errno(session);
- _gnutls_debug_log("WRITE: %d returned from %p, errno: %d\n",
- i, fd, err);
+ _gnutls_debug_log("WRITE: %d returned from %p, errno: %d\n", i,
+ fd, err);
return errno_to_gerr(err, is_dtls);
}
@@ -524,9 +515,8 @@ _gnutls_writev(gnutls_session_t session, const giovec_t * giovec,
* the given amount of milliseconds or return GNUTLS_E_TIMEDOUT.
*
*/
-ssize_t
-_gnutls_io_read_buffered(gnutls_session_t session, size_t total,
- content_type_t recv_type, unsigned int *ms)
+ssize_t _gnutls_io_read_buffered(gnutls_session_t session, size_t total,
+ content_type_t recv_type, unsigned int *ms)
{
ssize_t ret;
size_t min;
@@ -560,18 +550,17 @@ _gnutls_io_read_buffered(gnutls_session_t session, size_t total,
/* Check if the previously read data plus the new data to
* receive are longer than the maximum receive buffer size.
*/
- if ((session->internals.record_recv_buffer.byte_length +
- recvdata) > max_record_recv_size(session)) {
- gnutls_assert(); /* internal error */
+ if ((session->internals.record_recv_buffer.byte_length + recvdata) >
+ max_record_recv_size(session)) {
+ gnutls_assert(); /* internal error */
return GNUTLS_E_INVALID_REQUEST;
}
/* READ DATA
*/
if (readsize > 0) {
- ret =
- _gnutls_read(session, &bufel, readsize,
- session->internals.pull_func, ms);
+ ret = _gnutls_read(session, &bufel, readsize,
+ session->internals.pull_func, ms);
/* return immediately if we got an interrupt or eagain
* error.
@@ -580,28 +569,26 @@ _gnutls_io_read_buffered(gnutls_session_t session, size_t total,
return gnutls_assert_val(ret);
}
- if (ret == 0) /* EOF */
+ if (ret == 0) /* EOF */
return gnutls_assert_val(0);
/* copy fresh data to our buffer.
*/
- _gnutls_read_log
- ("RB: Have %d bytes into buffer. Adding %d bytes.\n",
- (int)session->internals.record_recv_buffer.byte_length,
- (int)ret);
+ _gnutls_read_log(
+ "RB: Have %d bytes into buffer. Adding %d bytes.\n",
+ (int)session->internals.record_recv_buffer.byte_length,
+ (int)ret);
_gnutls_read_log("RB: Requested %d bytes\n", (int)total);
_mbuffer_enqueue(&session->internals.record_recv_buffer, bufel);
if (IS_DTLS(session))
- ret =
- MIN(total,
- session->internals.record_recv_buffer.
- byte_length);
+ ret = MIN(total, session->internals.record_recv_buffer
+ .byte_length);
else
ret = session->internals.record_recv_buffer.byte_length;
- if ((ret > 0) && ((size_t)ret < total)) /* Short Read */
+ if ((ret > 0) && ((size_t)ret < total)) /* Short Read */
return gnutls_assert_val(GNUTLS_E_AGAIN);
else
return ret;
@@ -622,12 +609,11 @@ _gnutls_io_read_buffered(gnutls_session_t session, size_t total,
* to decrypt and verify the integrity.
*
*/
-ssize_t
-_gnutls_io_write_buffered(gnutls_session_t session,
- mbuffer_st * bufel, unsigned int mflag)
+ssize_t _gnutls_io_write_buffered(gnutls_session_t session, mbuffer_st *bufel,
+ unsigned int mflag)
{
mbuffer_head_st *const send_buffer =
- &session->internals.record_send_buffer;
+ &session->internals.record_send_buffer;
/* to know where the procedure was interrupted.
*/
@@ -635,10 +621,10 @@ _gnutls_io_write_buffered(gnutls_session_t session,
_mbuffer_enqueue(send_buffer, bufel);
- _gnutls_write_log
- ("WRITE: enqueued %d bytes for %p. Total %d bytes.\n",
- (int)bufel->msg.size, session->internals.transport_recv_ptr,
- (int)send_buffer->byte_length);
+ _gnutls_write_log("WRITE: enqueued %d bytes for %p. Total %d bytes.\n",
+ (int)bufel->msg.size,
+ session->internals.transport_recv_ptr,
+ (int)send_buffer->byte_length);
if (mflag == MBUFFER_FLUSH)
return _gnutls_io_write_flush(session);
@@ -646,7 +632,7 @@ _gnutls_io_write_buffered(gnutls_session_t session,
return bufel->msg.size;
}
-typedef ssize_t(*send_func) (gnutls_session_t, const giovec_t *, int);
+typedef ssize_t (*send_func)(gnutls_session_t, const giovec_t *, int);
/* This function writes the data that are left in the
* TLS write buffer (ie. because the previous write was
@@ -666,8 +652,8 @@ ssize_t _gnutls_io_write_flush(gnutls_session_t session)
_gnutls_write_log("WRITE FLUSH: %d bytes in buffer.\n",
(int)send_buffer->byte_length);
- for (cur = _mbuffer_head_get_first(send_buffer, &msg);
- cur != NULL; cur = _mbuffer_head_get_next(cur, &msg)) {
+ for (cur = _mbuffer_head_get_first(send_buffer, &msg); cur != NULL;
+ cur = _mbuffer_head_get_next(cur, &msg)) {
iovec[i].iov_base = msg.data;
iovec[i++].iov_len = msg.size;
tosend += msg.size;
@@ -687,9 +673,8 @@ ssize_t _gnutls_io_write_flush(gnutls_session_t session)
ret = _gnutls_writev(session, iovec, i, tosend);
if (ret >= 0) {
_mbuffer_head_remove_bytes(send_buffer, ret);
- _gnutls_write_log
- ("WRITE: wrote %d bytes, %d bytes left.\n", ret,
- (int)send_buffer->byte_length);
+ _gnutls_write_log("WRITE: wrote %d bytes, %d bytes left.\n",
+ ret, (int)send_buffer->byte_length);
sent += ret;
} else if (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN) {
@@ -698,13 +683,13 @@ ssize_t _gnutls_io_write_flush(gnutls_session_t session)
return ret;
} else if (ret == GNUTLS_E_LARGE_PACKET) {
_mbuffer_head_remove_bytes(send_buffer, tosend);
- _gnutls_write_log
- ("WRITE cannot send large packet (%u bytes).\n",
- (unsigned int)tosend);
+ _gnutls_write_log(
+ "WRITE cannot send large packet (%u bytes).\n",
+ (unsigned int)tosend);
return ret;
} else {
- _gnutls_write_log("WRITE error: code %d, %d bytes left.\n",
- ret, (int)send_buffer->byte_length);
+ _gnutls_write_log("WRITE error: code %d, %d bytes left.\n", ret,
+ (int)send_buffer->byte_length);
gnutls_assert();
return ret;
@@ -729,8 +714,8 @@ int _gnutls_io_check_recv(gnutls_session_t session, unsigned int ms)
int ret = 0, err;
if (NO_TIMEOUT_FUNC_SET(session)) {
- _gnutls_debug_log
- ("The pull function has been replaced but not the pull timeout.\n");
+ _gnutls_debug_log(
+ "The pull function has been replaced but not the pull timeout.\n");
return gnutls_assert_val(GNUTLS_E_PULL_ERROR);
}
@@ -739,9 +724,9 @@ int _gnutls_io_check_recv(gnutls_session_t session, unsigned int ms)
ret = session->internals.pull_timeout_func(fd, ms);
if (ret == -1) {
err = get_errno(session);
- _gnutls_read_log
- ("READ_TIMEOUT: %d returned from %p, errno=%d (timeout: %u)\n",
- (int)ret, fd, err, ms);
+ _gnutls_read_log(
+ "READ_TIMEOUT: %d returned from %p, errno=%d (timeout: %u)\n",
+ (int)ret, fd, err, ms);
return errno_to_gerr(err, IS_DTLS(session));
}
@@ -762,7 +747,7 @@ int _gnutls_io_check_recv(gnutls_session_t session, unsigned int ms)
ssize_t _gnutls_handshake_io_write_flush(gnutls_session_t session)
{
mbuffer_head_st *const send_buffer =
- &session->internals.handshake_send_buffer;
+ &session->internals.handshake_send_buffer;
gnutls_datum_t msg;
int ret;
uint16_t epoch;
@@ -774,8 +759,8 @@ ssize_t _gnutls_handshake_io_write_flush(gnutls_session_t session)
if (IS_DTLS(session))
return _dtls_transmit(session);
- for (cur = _mbuffer_head_get_first(send_buffer, &msg);
- cur != NULL; cur = _mbuffer_head_get_first(send_buffer, &msg)) {
+ for (cur = _mbuffer_head_get_first(send_buffer, &msg); cur != NULL;
+ cur = _mbuffer_head_get_first(send_buffer, &msg)) {
epoch = cur->epoch;
if (session->internals.h_read_func) {
@@ -784,38 +769,33 @@ ssize_t _gnutls_handshake_io_write_flush(gnutls_session_t session)
ret = _gnutls_epoch_get(session, epoch, &params);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = session->internals.h_read_func(session,
- params->
- write.level,
- cur->htype,
- msg.data,
- msg.size);
+ ret = session->internals.h_read_func(
+ session, params->write.level, cur->htype,
+ msg.data, msg.size);
if (ret < 0)
return gnutls_assert_val(ret);
ret = msg.size;
} else {
- ret = _gnutls_send_int(session, cur->type,
- cur->htype,
+ ret = _gnutls_send_int(session, cur->type, cur->htype,
epoch, msg.data, msg.size, 0);
}
if (ret >= 0) {
-
ret = _mbuffer_head_remove_bytes(send_buffer, ret);
/* for each queued message we send, ensure that
* we drop the epoch refcount set in _gnutls_handshake_io_cache_int(). */
if (ret == 1)
_gnutls_epoch_refcount_dec(session, epoch);
- _gnutls_write_log
- ("HWRITE: wrote %d bytes, %d bytes left.\n",
- ret, (int)send_buffer->byte_length);
+ _gnutls_write_log(
+ "HWRITE: wrote %d bytes, %d bytes left.\n", ret,
+ (int)send_buffer->byte_length);
} else {
- _gnutls_write_log
- ("HWRITE error: code %d, %d bytes left.\n",
- ret, (int)send_buffer->byte_length);
+ _gnutls_write_log(
+ "HWRITE error: code %d, %d bytes left.\n", ret,
+ (int)send_buffer->byte_length);
gnutls_assert();
return ret;
@@ -829,24 +809,23 @@ ssize_t _gnutls_handshake_io_write_flush(gnutls_session_t session)
* protocol. Just makes sure that all data have been sent.
*
*/
-int
-_gnutls_handshake_io_cache_int(gnutls_session_t session,
- gnutls_handshake_description_t htype,
- mbuffer_st * bufel)
+int _gnutls_handshake_io_cache_int(gnutls_session_t session,
+ gnutls_handshake_description_t htype,
+ mbuffer_st *bufel)
{
mbuffer_head_st *send_buffer;
if (IS_DTLS(session)) {
bufel->handshake_sequence =
- session->internals.dtls.hsk_write_seq - 1;
+ session->internals.dtls.hsk_write_seq - 1;
}
send_buffer = &session->internals.handshake_send_buffer;
/* ensure that our epoch does not get garbage collected
* before we send all queued messages with it */
- bufel->epoch =
- (uint16_t) _gnutls_epoch_refcount_inc(session, EPOCH_WRITE_CURRENT);
+ bufel->epoch = (uint16_t)_gnutls_epoch_refcount_inc(
+ session, EPOCH_WRITE_CURRENT);
bufel->htype = htype;
if (bufel->htype == GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC)
bufel->type = GNUTLS_CHANGE_CIPHER_SPEC;
@@ -855,10 +834,9 @@ _gnutls_handshake_io_cache_int(gnutls_session_t session,
_mbuffer_enqueue(send_buffer, bufel);
- _gnutls_write_log
- ("HWRITE: enqueued [%s] %d. Total %d bytes.\n",
- _gnutls_handshake2str(bufel->htype), (int)bufel->msg.size,
- (int)send_buffer->byte_length);
+ _gnutls_write_log("HWRITE: enqueued [%s] %d. Total %d bytes.\n",
+ _gnutls_handshake2str(bufel->htype),
+ (int)bufel->msg.size, (int)send_buffer->byte_length);
return 0;
}
@@ -875,13 +853,12 @@ static int handshake_compare(const void *_e1, const void *_e2)
}
#define SSL2_HEADERS 1
-static int
-parse_handshake_header(gnutls_session_t session, mbuffer_st * bufel,
- handshake_buffer_st * hsk)
+static int parse_handshake_header(gnutls_session_t session, mbuffer_st *bufel,
+ handshake_buffer_st *hsk)
{
- uint8_t *dataptr = NULL; /* for realloc */
- size_t handshake_header_size =
- HANDSHAKE_HEADER_SIZE(session), data_size, frag_size;
+ uint8_t *dataptr = NULL; /* for realloc */
+ size_t handshake_header_size = HANDSHAKE_HEADER_SIZE(session),
+ data_size, frag_size;
/* Note: SSL2_HEADERS == 1 */
if (_mbuffer_get_udata_size(bufel) < handshake_header_size)
@@ -891,11 +868,14 @@ parse_handshake_header(gnutls_session_t session, mbuffer_st * bufel,
/* if reading a client hello of SSLv2 */
#ifdef ENABLE_SSL2
- if (unlikely(!IS_DTLS(session)
- && bufel->htype == GNUTLS_HANDSHAKE_CLIENT_HELLO_V2)) {
- handshake_header_size = SSL2_HEADERS; /* we've already read one byte */
+ if (unlikely(!IS_DTLS(session) &&
+ bufel->htype == GNUTLS_HANDSHAKE_CLIENT_HELLO_V2)) {
+ handshake_header_size =
+ SSL2_HEADERS; /* we've already read one byte */
- frag_size = _mbuffer_get_udata_size(bufel) - handshake_header_size; /* we've read the first byte */
+ frag_size =
+ _mbuffer_get_udata_size(bufel) -
+ handshake_header_size; /* we've read the first byte */
if (dataptr[0] != GNUTLS_HANDSHAKE_CLIENT_HELLO)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
@@ -907,7 +887,7 @@ parse_handshake_header(gnutls_session_t session, mbuffer_st * bufel,
hsk->length = frag_size;
} else
#endif
- { /* TLS or DTLS handshake headers */
+ { /* TLS or DTLS handshake headers */
hsk->rtype = hsk->htype = dataptr[0];
@@ -923,21 +903,22 @@ parse_handshake_header(gnutls_session_t session, mbuffer_st * bufel,
} else {
hsk->sequence = 0;
hsk->start_offset = 0;
- frag_size =
- MIN((_mbuffer_get_udata_size(bufel) -
- handshake_header_size), hsk->length);
+ frag_size = MIN((_mbuffer_get_udata_size(bufel) -
+ handshake_header_size),
+ hsk->length);
}
/* TLS1.3: distinguish server hello versus hello retry request.
* The epitome of slick protocol design. */
- if (hsk->htype == GNUTLS_HANDSHAKE_SERVER_HELLO
- && hsk->start_offset == 0 && !IS_DTLS(session)) {
+ if (hsk->htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ hsk->start_offset == 0 && !IS_DTLS(session)) {
if (_mbuffer_get_udata_size(bufel) >
- handshake_header_size + 2 + GNUTLS_RANDOM_SIZE
- && memcmp(dataptr + handshake_header_size + 2,
- HRR_RANDOM, GNUTLS_RANDOM_SIZE) == 0) {
+ handshake_header_size + 2 +
+ GNUTLS_RANDOM_SIZE &&
+ memcmp(dataptr + handshake_header_size + 2,
+ HRR_RANDOM, GNUTLS_RANDOM_SIZE) == 0) {
hsk->htype =
- GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST;
+ GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST;
}
}
}
@@ -948,29 +929,29 @@ parse_handshake_header(gnutls_session_t session, mbuffer_st * bufel,
else
hsk->end_offset = 0;
- _gnutls_handshake_log
- ("HSK[%p]: %s (%u) was received. Length %d[%d], frag offset %d, frag length: %d, sequence: %d\n",
- session, _gnutls_handshake2str(hsk->htype),
- (unsigned)hsk->htype, (int)hsk->length, (int)data_size,
- hsk->start_offset, (int)frag_size, (int)hsk->sequence);
+ _gnutls_handshake_log(
+ "HSK[%p]: %s (%u) was received. Length %d[%d], frag offset %d, frag length: %d, sequence: %d\n",
+ session, _gnutls_handshake2str(hsk->htype),
+ (unsigned)hsk->htype, (int)hsk->length, (int)data_size,
+ hsk->start_offset, (int)frag_size, (int)hsk->sequence);
hsk->header_size = handshake_header_size;
memcpy(hsk->header, _mbuffer_get_udata_ptr(bufel),
handshake_header_size);
- if (hsk->length > 0 && (frag_size > data_size ||
- (frag_size > 0 &&
- hsk->end_offset >= hsk->length))) {
+ if (hsk->length > 0 &&
+ (frag_size > data_size ||
+ (frag_size > 0 && hsk->end_offset >= hsk->length))) {
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
- } else if (hsk->length == 0 && hsk->end_offset != 0
- && hsk->start_offset != 0)
+ } else if (hsk->length == 0 && hsk->end_offset != 0 &&
+ hsk->start_offset != 0)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
return handshake_header_size;
}
-static void _gnutls_handshake_buffer_move(handshake_buffer_st * dst,
- handshake_buffer_st * src)
+static void _gnutls_handshake_buffer_move(handshake_buffer_st *dst,
+ handshake_buffer_st *src)
{
memcpy(dst, src, sizeof(*dst));
memset(src, 0, sizeof(*src));
@@ -982,7 +963,7 @@ static void _gnutls_handshake_buffer_move(handshake_buffer_st * dst,
* Only used in DTLS.
*/
static int merge_handshake_packet(gnutls_session_t session,
- handshake_buffer_st * hsk)
+ handshake_buffer_st *hsk)
{
int exists = 0, i, pos = 0;
int ret;
@@ -1003,8 +984,8 @@ static int merge_handshake_packet(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS);
if (!exists) {
- if (hsk->length > 0 && hsk->end_offset > 0
- && hsk->end_offset - hsk->start_offset + 1 != hsk->length) {
+ if (hsk->length > 0 && hsk->end_offset > 0 &&
+ hsk->end_offset - hsk->start_offset + 1 != hsk->length) {
ret = _gnutls_buffer_resize(&hsk->data, hsk->length);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1023,44 +1004,44 @@ static int merge_handshake_packet(gnutls_session_t session,
_gnutls_write_uint24(0, &hsk->header[6]);
_gnutls_write_uint24(hsk->length, &hsk->header[9]);
- _gnutls_handshake_buffer_move(&session->internals.
- handshake_recv_buffer[pos], hsk);
+ _gnutls_handshake_buffer_move(
+ &session->internals.handshake_recv_buffer[pos], hsk);
} else {
if (hsk->start_offset <
- session->internals.handshake_recv_buffer[pos].start_offset
- && hsk->end_offset + 1 >=
- session->internals.handshake_recv_buffer[pos].
- start_offset) {
- memcpy(&session->internals.
- handshake_recv_buffer[pos].data.data[hsk->
- start_offset],
+ session->internals.handshake_recv_buffer[pos]
+ .start_offset &&
+ hsk->end_offset + 1 >=
+ session->internals.handshake_recv_buffer[pos]
+ .start_offset) {
+ memcpy(&session->internals.handshake_recv_buffer[pos]
+ .data.data[hsk->start_offset],
hsk->data.data, hsk->data.length);
- session->internals.handshake_recv_buffer[pos].
- start_offset = hsk->start_offset;
- session->internals.handshake_recv_buffer[pos].
- end_offset =
- MIN(hsk->end_offset,
- session->internals.
- handshake_recv_buffer[pos].end_offset);
+ session->internals.handshake_recv_buffer[pos]
+ .start_offset = hsk->start_offset;
+ session->internals.handshake_recv_buffer[pos]
+ .end_offset = MIN(
+ hsk->end_offset,
+ session->internals.handshake_recv_buffer[pos]
+ .end_offset);
} else if (hsk->end_offset >
- session->internals.handshake_recv_buffer[pos].
- end_offset
- && hsk->start_offset <=
- session->internals.handshake_recv_buffer[pos].
- end_offset + 1) {
- memcpy(&session->internals.
- handshake_recv_buffer[pos].data.data[hsk->
- start_offset],
+ session->internals.handshake_recv_buffer[pos]
+ .end_offset &&
+ hsk->start_offset <=
+ session->internals.handshake_recv_buffer[pos]
+ .end_offset +
+ 1) {
+ memcpy(&session->internals.handshake_recv_buffer[pos]
+ .data.data[hsk->start_offset],
hsk->data.data, hsk->data.length);
- session->internals.handshake_recv_buffer[pos].
- end_offset = hsk->end_offset;
- session->internals.handshake_recv_buffer[pos].
- start_offset =
- MIN(hsk->start_offset,
- session->internals.
- handshake_recv_buffer[pos].start_offset);
+ session->internals.handshake_recv_buffer[pos]
+ .end_offset = hsk->end_offset;
+ session->internals.handshake_recv_buffer[pos]
+ .start_offset = MIN(
+ hsk->start_offset,
+ session->internals.handshake_recv_buffer[pos]
+ .start_offset);
}
_gnutls_handshake_buffer_clear(hsk);
}
@@ -1077,8 +1058,8 @@ inline static int cmp_hsk_types(gnutls_handshake_description_t expected,
return 1;
#ifdef ENABLE_SSL2
- if (expected == GNUTLS_HANDSHAKE_CLIENT_HELLO
- && recvd == GNUTLS_HANDSHAKE_CLIENT_HELLO_V2)
+ if (expected == GNUTLS_HANDSHAKE_CLIENT_HELLO &&
+ recvd == GNUTLS_HANDSHAKE_CLIENT_HELLO_V2)
return 1;
#endif
if (expected != recvd)
@@ -1087,16 +1068,16 @@ inline static int cmp_hsk_types(gnutls_handshake_description_t expected,
return 1;
}
-#define LAST_ELEMENT (session->internals.handshake_recv_buffer_size-1)
+#define LAST_ELEMENT (session->internals.handshake_recv_buffer_size - 1)
/* returns the last stored handshake packet.
*/
static int get_last_packet(gnutls_session_t session,
gnutls_handshake_description_t htype,
- handshake_buffer_st * hsk, unsigned int optional)
+ handshake_buffer_st *hsk, unsigned int optional)
{
handshake_buffer_st *recv_buf =
- session->internals.handshake_recv_buffer;
+ session->internals.handshake_recv_buffer;
if (IS_DTLS(session)) {
if (session->internals.handshake_recv_buffer_size == 0 ||
@@ -1106,23 +1087,23 @@ static int get_last_packet(gnutls_session_t session,
if (htype != recv_buf[LAST_ELEMENT].htype) {
if (optional == 0)
- _gnutls_audit_log(session,
- "Received unexpected handshake message '%s' (%d). Expected '%s' (%d)\n",
- _gnutls_handshake2str
- (recv_buf[0].htype),
- (int)recv_buf[0].htype,
- _gnutls_handshake2str
- (htype), (int)htype);
-
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET);
+ _gnutls_audit_log(
+ session,
+ "Received unexpected handshake message '%s' (%d). Expected '%s' (%d)\n",
+ _gnutls_handshake2str(
+ recv_buf[0].htype),
+ (int)recv_buf[0].htype,
+ _gnutls_handshake2str(htype),
+ (int)htype);
+
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET);
}
else if ((recv_buf[LAST_ELEMENT].start_offset == 0 &&
recv_buf[LAST_ELEMENT].end_offset ==
- recv_buf[LAST_ELEMENT].length - 1)
- || recv_buf[LAST_ELEMENT].length == 0) {
+ recv_buf[LAST_ELEMENT].length - 1) ||
+ recv_buf[LAST_ELEMENT].length == 0) {
session->internals.dtls.hsk_read_seq++;
_gnutls_handshake_buffer_move(hsk,
&recv_buf[LAST_ELEMENT]);
@@ -1133,33 +1114,31 @@ static int get_last_packet(gnutls_session_t session,
* have queued data waiting, try again to reconstruct the
* handshake packet, using the queued */
if (recv_buf[LAST_ELEMENT].end_offset !=
- recv_buf[LAST_ELEMENT].length - 1
- && record_check_unprocessed(session) > 0)
- return
- gnutls_assert_val(GNUTLS_E_INT_CHECK_AGAIN);
+ recv_buf[LAST_ELEMENT].length - 1 &&
+ record_check_unprocessed(session) > 0)
+ return gnutls_assert_val(
+ GNUTLS_E_INT_CHECK_AGAIN);
else
goto timeout;
}
- } else { /* TLS */
+ } else { /* TLS */
- if (session->internals.handshake_recv_buffer_size > 0
- && recv_buf[0].length == recv_buf[0].data.length) {
+ if (session->internals.handshake_recv_buffer_size > 0 &&
+ recv_buf[0].length == recv_buf[0].data.length) {
if (cmp_hsk_types(htype, recv_buf[0].htype) == 0) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET);
}
_gnutls_handshake_buffer_move(hsk, &recv_buf[0]);
session->internals.handshake_recv_buffer_size--;
return 0;
} else
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
}
- timeout:
+timeout:
RETURN_DTLS_EAGAIN_OR_TIMEOUT(session, 0);
}
@@ -1175,10 +1154,10 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
int ret;
size_t data_size;
handshake_buffer_st *recv_buf =
- session->internals.handshake_recv_buffer;
+ session->internals.handshake_recv_buffer;
- bufel =
- _mbuffer_head_get_first(&session->internals.record_buffer, &msg);
+ bufel = _mbuffer_head_get_first(&session->internals.record_buffer,
+ &msg);
if (bufel == NULL)
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -1187,95 +1166,93 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
do {
if (bufel->type != GNUTLS_HANDSHAKE)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
-
- if (unlikely
- (session->internals.handshake_recv_buffer_size == 0
- && msg.size < HANDSHAKE_HEADER_SIZE(session)
- && session->internals.
- handshake_header_recv_buffer.byte_length <
- HANDSHAKE_HEADER_SIZE(session) - msg.size)) {
- bufel =
- _mbuffer_head_pop_first(&session->
- internals.record_buffer);
- _mbuffer_enqueue(&session->
- internals.handshake_header_recv_buffer,
- bufel);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
+
+ if (unlikely(
+ session->internals
+ .handshake_recv_buffer_size ==
+ 0 &&
+ msg.size < HANDSHAKE_HEADER_SIZE(session) &&
+ session->internals
+ .handshake_header_recv_buffer
+ .byte_length <
+ HANDSHAKE_HEADER_SIZE(session) -
+ msg.size)) {
+ bufel = _mbuffer_head_pop_first(
+ &session->internals.record_buffer);
+ _mbuffer_enqueue(
+ &session->internals
+ .handshake_header_recv_buffer,
+ bufel);
break;
- } else if (session->
- internals.handshake_recv_buffer_size > 0
- && recv_buf[0].length >
- recv_buf[0].data.length) {
+ } else if (session->internals.handshake_recv_buffer_size >
+ 0 &&
+ recv_buf[0].length >
+ recv_buf[0].data.length) {
/* this is the rest of a previous message */
append = MIN(msg.size,
recv_buf[0].length -
- recv_buf[0].data.length);
+ recv_buf[0].data.length);
- ret =
- _gnutls_buffer_append_data(&recv_buf
- [0].data,
- msg.data,
- append);
+ ret = _gnutls_buffer_append_data(
+ &recv_buf[0].data, msg.data, append);
if (ret < 0)
return gnutls_assert_val(ret);
- _mbuffer_head_remove_bytes
- (&session->internals.record_buffer, append);
- } else { /* received new message */
- if (unlikely
- (session->internals.
- handshake_header_recv_buffer.length > 0)) {
- bufel =
- _mbuffer_head_pop_first
- (&session->internals.record_buffer);
- _mbuffer_enqueue(&session->internals.
- handshake_header_recv_buffer,
- bufel);
- ret =
- _mbuffer_linearize_align16
- (&session->internals.
- handshake_header_recv_buffer,
- get_total_headers(session));
+ _mbuffer_head_remove_bytes(
+ &session->internals.record_buffer,
+ append);
+ } else { /* received new message */
+ if (unlikely(
+ session->internals
+ .handshake_header_recv_buffer
+ .length > 0)) {
+ bufel = _mbuffer_head_pop_first(
+ &session->internals
+ .record_buffer);
+ _mbuffer_enqueue(
+ &session->internals
+ .handshake_header_recv_buffer,
+ bufel);
+ ret = _mbuffer_linearize_align16(
+ &session->internals
+ .handshake_header_recv_buffer,
+ get_total_headers(session));
if (ret < 0)
return gnutls_assert_val(ret);
- bufel =
- _mbuffer_head_pop_first
- (&session->internals.
- handshake_header_recv_buffer);
- _mbuffer_head_push_first
- (&session->internals.record_buffer,
- bufel);
+ bufel = _mbuffer_head_pop_first(
+ &session->internals
+ .handshake_header_recv_buffer);
+ _mbuffer_head_push_first(
+ &session->internals
+ .record_buffer,
+ bufel);
}
- ret =
- parse_handshake_header(session, bufel,
- &recv_buf[0]);
+ ret = parse_handshake_header(session, bufel,
+ &recv_buf[0]);
if (ret < 0)
return gnutls_assert_val(ret);
header_size = ret;
session->internals.handshake_recv_buffer_size =
- 1;
+ 1;
_mbuffer_set_uhead_size(bufel, header_size);
- data_size =
- MIN(recv_buf[0].length,
- _mbuffer_get_udata_size(bufel));
- ret =
- _gnutls_buffer_append_data(&recv_buf
- [0].data,
- _mbuffer_get_udata_ptr
- (bufel),
- data_size);
+ data_size = MIN(recv_buf[0].length,
+ _mbuffer_get_udata_size(bufel));
+ ret = _gnutls_buffer_append_data(
+ &recv_buf[0].data,
+ _mbuffer_get_udata_ptr(bufel),
+ data_size);
if (ret < 0)
return gnutls_assert_val(ret);
_mbuffer_set_uhead_size(bufel, 0);
- _mbuffer_head_remove_bytes
- (&session->internals.record_buffer,
- data_size + header_size);
+ _mbuffer_head_remove_bytes(
+ &session->internals.record_buffer,
+ data_size + header_size);
}
/* if packet is complete then return it
@@ -1283,17 +1260,15 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
if (recv_buf[0].length == recv_buf[0].data.length) {
return 0;
}
- bufel =
- _mbuffer_head_get_first(&session->internals.
- record_buffer, &msg);
- }
- while (bufel != NULL);
+ bufel = _mbuffer_head_get_first(
+ &session->internals.record_buffer, &msg);
+ } while (bufel != NULL);
/* if we are here it means that the received packets were not
* enough to complete the handshake packet.
*/
return gnutls_assert_val(GNUTLS_E_AGAIN);
- } else { /* DTLS */
+ } else { /* DTLS */
handshake_buffer_st tmp;
@@ -1307,59 +1282,56 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
do {
if (bufel->type != GNUTLS_HANDSHAKE) {
gnutls_assert();
- goto next; /* ignore packet */
+ goto next; /* ignore packet */
}
_gnutls_handshake_buffer_init(&tmp);
- ret =
- parse_handshake_header(session, bufel,
- &tmp);
+ ret = parse_handshake_header(session, bufel,
+ &tmp);
if (ret < 0) {
gnutls_assert();
- _gnutls_audit_log(session,
- "Invalid handshake packet headers. Discarding.\n");
+ _gnutls_audit_log(
+ session,
+ "Invalid handshake packet headers. Discarding.\n");
break;
}
- _mbuffer_consume(&session->internals.
- record_buffer, bufel, ret);
+ _mbuffer_consume(
+ &session->internals.record_buffer,
+ bufel, ret);
- data_size =
- MIN(tmp.length,
- tmp.end_offset - tmp.start_offset + 1);
+ data_size = MIN(tmp.length,
+ tmp.end_offset -
+ tmp.start_offset + 1);
- ret =
- _gnutls_buffer_append_data(&tmp.data,
- _mbuffer_get_udata_ptr
- (bufel),
- data_size);
+ ret = _gnutls_buffer_append_data(
+ &tmp.data,
+ _mbuffer_get_udata_ptr(bufel),
+ data_size);
if (ret < 0)
return gnutls_assert_val(ret);
- _mbuffer_consume(&session->internals.
- record_buffer, bufel,
- data_size);
+ _mbuffer_consume(
+ &session->internals.record_buffer,
+ bufel, data_size);
ret = merge_handshake_packet(session, &tmp);
if (ret < 0)
return gnutls_assert_val(ret);
- }
- while (_mbuffer_get_udata_size(bufel) > 0);
+ } while (_mbuffer_get_udata_size(bufel) > 0);
prev = bufel;
- bufel =
- _mbuffer_dequeue(&session->internals.record_buffer,
- bufel);
+ bufel = _mbuffer_dequeue(
+ &session->internals.record_buffer, bufel);
_mbuffer_xfree(&prev);
continue;
- next:
+ next:
bufel = _mbuffer_head_get_next(bufel, NULL);
- }
- while (bufel != NULL);
+ } while (bufel != NULL);
/* sort in descending order */
if (session->internals.handshake_recv_buffer_size > 1)
@@ -1369,10 +1341,11 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
while (session->internals.handshake_recv_buffer_size > 0 &&
recv_buf[LAST_ELEMENT].sequence <
- session->internals.dtls.hsk_read_seq) {
- _gnutls_audit_log(session,
- "Discarded replayed handshake packet with sequence %d\n",
- recv_buf[LAST_ELEMENT].sequence);
+ session->internals.dtls.hsk_read_seq) {
+ _gnutls_audit_log(
+ session,
+ "Discarded replayed handshake packet with sequence %d\n",
+ recv_buf[LAST_ELEMENT].sequence);
_gnutls_handshake_buffer_clear(&recv_buf[LAST_ELEMENT]);
session->internals.handshake_recv_buffer_size--;
}
@@ -1384,10 +1357,10 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
/* This is a receive function for the gnutls handshake
* protocol. Makes sure that we have received all data.
*/
-ssize_t
-_gnutls_handshake_io_recv_int(gnutls_session_t session,
- gnutls_handshake_description_t htype,
- handshake_buffer_st * hsk, unsigned int optional)
+ssize_t _gnutls_handshake_io_recv_int(gnutls_session_t session,
+ gnutls_handshake_description_t htype,
+ handshake_buffer_st *hsk,
+ unsigned int optional)
{
int ret;
unsigned int tleft = 0;
@@ -1413,8 +1386,8 @@ _gnutls_handshake_io_recv_int(gnutls_session_t session,
if (ret >= 0)
return ret;
} else {
- if ((ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- && ret < 0) || ret >= 0)
+ if ((ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE && ret < 0) ||
+ ret >= 0)
return gnutls_assert_val(ret);
}
@@ -1422,7 +1395,7 @@ _gnutls_handshake_io_recv_int(gnutls_session_t session,
if (session->internals.h_read_func)
return GNUTLS_E_AGAIN;
- if (htype != (gnutls_handshake_description_t) - 1) {
+ if (htype != (gnutls_handshake_description_t)-1) {
ret = handshake_remaining_time(session);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1432,9 +1405,8 @@ _gnutls_handshake_io_recv_int(gnutls_session_t session,
do {
/* if we don't have a complete message waiting for us, try
* receiving more */
- ret =
- _gnutls_recv_in_buffers(session, GNUTLS_HANDSHAKE, htype,
- tleft);
+ ret = _gnutls_recv_in_buffers(session, GNUTLS_HANDSHAKE, htype,
+ tleft);
if (ret < 0)
return gnutls_assert_val_fatal(ret);
@@ -1444,8 +1416,8 @@ _gnutls_handshake_io_recv_int(gnutls_session_t session,
}
/* we put an upper limit (retries) to the number of partial handshake
* messages in a record packet. */
- } while (IS_DTLS(session) && ret == GNUTLS_E_INT_CHECK_AGAIN
- && retries-- > 0);
+ } while (IS_DTLS(session) && ret == GNUTLS_E_INT_CHECK_AGAIN &&
+ retries-- > 0);
if (unlikely(IS_DTLS(session) && ret == GNUTLS_E_INT_CHECK_AGAIN)) {
ret = gnutls_assert_val(GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS);
diff --git a/lib/buffers.h b/lib/buffers.h
index f709ebc022..c609b5d877 100644
--- a/lib/buffers.h
+++ b/lib/buffers.h
@@ -21,24 +21,24 @@
*/
#ifndef GNUTLS_LIB_BUFFERS_H
-# define GNUTLS_LIB_BUFFERS_H
+#define GNUTLS_LIB_BUFFERS_H
-# include "mbuffers.h"
+#include "mbuffers.h"
-# define MBUFFER_FLUSH 1
+#define MBUFFER_FLUSH 1
-void
-_gnutls_record_buffer_put(gnutls_session_t session,
- content_type_t type, uint64_t seq,
- mbuffer_st * bufel);
+void _gnutls_record_buffer_put(gnutls_session_t session, content_type_t type,
+ uint64_t seq, mbuffer_st *bufel);
inline static int _gnutls_record_buffer_get_size(gnutls_session_t session)
{
return session->internals.record_buffer.byte_length;
}
-# define NO_TIMEOUT_FUNC_SET(session) unlikely(session->internals.pull_timeout_func == gnutls_system_recv_timeout \
- && session->internals.pull_func != system_read)
+#define NO_TIMEOUT_FUNC_SET(session) \
+ unlikely(session->internals.pull_timeout_func == \
+ gnutls_system_recv_timeout && \
+ session->internals.pull_func != system_read)
/*-
* record_check_unprocessed:
@@ -55,39 +55,38 @@ inline static size_t record_check_unprocessed(gnutls_session_t session)
return session->internals.record_recv_buffer.byte_length;
}
-int _gnutls_record_buffer_get(content_type_t type,
- gnutls_session_t session, uint8_t * data,
- size_t length, uint8_t seq[8]);
+int _gnutls_record_buffer_get(content_type_t type, gnutls_session_t session,
+ uint8_t *data, size_t length, uint8_t seq[8]);
int _gnutls_record_buffer_get_packet(content_type_t type,
gnutls_session_t session,
- gnutls_packet_t * packet);
-ssize_t _gnutls_io_read_buffered(gnutls_session_t, size_t n,
- content_type_t, unsigned int *ms);
+ gnutls_packet_t *packet);
+ssize_t _gnutls_io_read_buffered(gnutls_session_t, size_t n, content_type_t,
+ unsigned int *ms);
int _gnutls_io_clear_peeked_data(gnutls_session_t session);
-ssize_t _gnutls_io_write_buffered(gnutls_session_t session,
- mbuffer_st * bufel, unsigned int mflag);
+ssize_t _gnutls_io_write_buffered(gnutls_session_t session, mbuffer_st *bufel,
+ unsigned int mflag);
int _gnutls_handshake_io_cache_int(gnutls_session_t,
gnutls_handshake_description_t,
- mbuffer_st * bufel);
+ mbuffer_st *bufel);
-ssize_t
-_gnutls_handshake_io_recv_int(gnutls_session_t session,
- gnutls_handshake_description_t htype,
- handshake_buffer_st * hsk, unsigned int optional);
+ssize_t _gnutls_handshake_io_recv_int(gnutls_session_t session,
+ gnutls_handshake_description_t htype,
+ handshake_buffer_st *hsk,
+ unsigned int optional);
ssize_t _gnutls_io_write_flush(gnutls_session_t session);
int _gnutls_io_check_recv(gnutls_session_t session, unsigned int ms);
ssize_t _gnutls_handshake_io_write_flush(gnutls_session_t session);
-inline static void _gnutls_handshake_buffer_clear(handshake_buffer_st * hsk)
+inline static void _gnutls_handshake_buffer_clear(handshake_buffer_st *hsk)
{
_gnutls_buffer_clear(&hsk->data);
hsk->htype = -1;
}
-inline static void _gnutls_handshake_buffer_init(handshake_buffer_st * hsk)
+inline static void _gnutls_handshake_buffer_init(handshake_buffer_st *hsk)
{
memset(hsk, 0, sizeof(*hsk));
_gnutls_buffer_init(&hsk->data);
@@ -98,8 +97,8 @@ inline static void _gnutls_handshake_recv_buffer_clear(gnutls_session_t session)
{
int i;
for (i = 0; i < session->internals.handshake_recv_buffer_size; i++)
- _gnutls_handshake_buffer_clear(&session->internals.
- handshake_recv_buffer[i]);
+ _gnutls_handshake_buffer_clear(
+ &session->internals.handshake_recv_buffer[i]);
session->internals.handshake_recv_buffer_size = 0;
_mbuffer_head_clear(&session->internals.handshake_header_recv_buffer);
}
@@ -108,8 +107,8 @@ inline static void _gnutls_handshake_recv_buffer_init(gnutls_session_t session)
{
int i;
for (i = 0; i < MAX_HANDSHAKE_MSGS; i++) {
- _gnutls_handshake_buffer_init(&session->internals.
- handshake_recv_buffer[i]);
+ _gnutls_handshake_buffer_init(
+ &session->internals.handshake_recv_buffer[i]);
}
session->internals.handshake_recv_buffer_size = 0;
_mbuffer_head_init(&session->internals.handshake_header_recv_buffer);
@@ -117,12 +116,12 @@ inline static void _gnutls_handshake_recv_buffer_init(gnutls_session_t session)
int _gnutls_parse_record_buffered_msgs(gnutls_session_t session);
-ssize_t
-_gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
- gnutls_handshake_description_t htype, unsigned int ms);
+ssize_t _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
+ gnutls_handshake_description_t htype,
+ unsigned int ms);
-# define _gnutls_handshake_io_buffer_clear( session) \
- _mbuffer_head_clear( &session->internals.handshake_send_buffer); \
- _gnutls_handshake_recv_buffer_clear( session);
+#define _gnutls_handshake_io_buffer_clear(session) \
+ _mbuffer_head_clear(&session->internals.handshake_send_buffer); \
+ _gnutls_handshake_recv_buffer_clear(session);
-#endif /* GNUTLS_LIB_BUFFERS_H */
+#endif /* GNUTLS_LIB_BUFFERS_H */
diff --git a/lib/cert-cred-rawpk.c b/lib/cert-cred-rawpk.c
index dd0dcc2f29..56da4630a3 100644
--- a/lib/cert-cred-rawpk.c
+++ b/lib/cert-cred-rawpk.c
@@ -82,15 +82,11 @@
*
* Since: 3.6.6
**/
-int gnutls_certificate_set_rawpk_key_mem(gnutls_certificate_credentials_t cred,
- const gnutls_datum_t * spki,
- const gnutls_datum_t * pkey,
- gnutls_x509_crt_fmt_t format,
- const char *pass,
- unsigned int key_usage,
- const char **names,
- unsigned int names_length,
- unsigned int flags)
+int gnutls_certificate_set_rawpk_key_mem(
+ gnutls_certificate_credentials_t cred, const gnutls_datum_t *spki,
+ const gnutls_datum_t *pkey, gnutls_x509_crt_fmt_t format,
+ const char *pass, unsigned int key_usage, const char **names,
+ unsigned int names_length, unsigned int flags)
{
int ret;
gnutls_privkey_t privkey;
@@ -104,8 +100,8 @@ int gnutls_certificate_set_rawpk_key_mem(gnutls_certificate_credentials_t cred,
/* Import our private key. This function does all the necessary
* inits, checks and imports. */
- ret = _gnutls_read_key_mem(cred, pkey->data, pkey->size,
- format, pass, flags, &privkey);
+ ret = _gnutls_read_key_mem(cred, pkey->data, pkey->size, format, pass,
+ flags, &privkey);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -130,9 +126,8 @@ int gnutls_certificate_set_rawpk_key_mem(gnutls_certificate_credentials_t cred,
if (names != NULL && names_length > 0) {
for (i = 0; i < names_length; i++) {
- ret =
- _gnutls_str_array_append_idna(&str_names, names[i],
- strlen(names[i]));
+ ret = _gnutls_str_array_append_idna(
+ &str_names, names[i], strlen(names[i]));
if (ret < 0) {
gnutls_privkey_deinit(privkey);
_gnutls_str_array_clear(&str_names);
@@ -144,9 +139,8 @@ int gnutls_certificate_set_rawpk_key_mem(gnutls_certificate_credentials_t cred,
/* Now that we have converted the key material to our internal structures
* we can now add them to the credentials structure */
- ret =
- _gnutls_certificate_credential_append_keypair(cred, privkey,
- str_names, pcert, 1);
+ ret = _gnutls_certificate_credential_append_keypair(
+ cred, privkey, str_names, pcert, 1);
// Check for errors
if (ret < 0) {
gnutls_privkey_deinit(privkey);
@@ -223,16 +217,11 @@ int gnutls_certificate_set_rawpk_key_mem(gnutls_certificate_credentials_t cred,
*
* Since: 3.6.6
*/
-int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
- const char *rawpkfile,
- const char *privkeyfile,
- gnutls_x509_crt_fmt_t format,
- const char *pass,
- unsigned int key_usage,
- const char **names,
- unsigned int names_length,
- unsigned int privkey_flags,
- unsigned int pkcs11_flags)
+int gnutls_certificate_set_rawpk_key_file(
+ gnutls_certificate_credentials_t cred, const char *rawpkfile,
+ const char *privkeyfile, gnutls_x509_crt_fmt_t format, const char *pass,
+ unsigned int key_usage, const char **names, unsigned int names_length,
+ unsigned int privkey_flags, unsigned int pkcs11_flags)
{
int ret;
gnutls_privkey_t privkey;
@@ -247,9 +236,8 @@ int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
/* Import our private key. This function does all the necessary
* inits, checks and imports. */
- ret =
- _gnutls_read_key_file(cred, privkeyfile, format, pass,
- privkey_flags, &privkey);
+ ret = _gnutls_read_key_file(cred, privkeyfile, format, pass,
+ privkey_flags, &privkey);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -265,7 +253,6 @@ int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
* or from a regular file.
*/
if (gnutls_url_is_supported(rawpkfile)) {
-
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0) {
gnutls_privkey_deinit(privkey);
@@ -290,26 +277,25 @@ int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
}
} else {
- gnutls_datum_t rawpubkey; // to hold rawpk data from file
+ gnutls_datum_t rawpubkey; // to hold rawpk data from file
size_t key_size;
/* Read our raw public-key into memory from file */
- rawpubkey.data = (void *)read_file(rawpkfile,
- RF_BINARY | RF_SENSITIVE,
- &key_size);
+ rawpubkey.data = (void *)read_file(
+ rawpkfile, RF_BINARY | RF_SENSITIVE, &key_size);
if (rawpubkey.data == NULL) {
gnutls_privkey_deinit(privkey);
return gnutls_assert_val(GNUTLS_E_FILE_ERROR);
}
- rawpubkey.size = key_size; // Implicit type casting
+ rawpubkey.size = key_size; // Implicit type casting
/* We now convert our raw public key that we've loaded into memory to
* a parsed certificate (pcert) structure. Note that rawpubkey will
* be copied into pcert. Therefore we can directly cleanup rawpubkey.
*/
- ret = gnutls_pcert_import_rawpk_raw(pcert, &rawpubkey,
- format, key_usage, 0);
+ ret = gnutls_pcert_import_rawpk_raw(pcert, &rawpubkey, format,
+ key_usage, 0);
zeroize_key(rawpubkey.data, rawpubkey.size);
free(rawpubkey.data);
@@ -320,7 +306,6 @@ int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
return gnutls_assert_val(ret);
}
-
}
/* Process the names, if any */
@@ -328,9 +313,8 @@ int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
if (names != NULL && names_length > 0) {
for (i = 0; i < names_length; i++) {
- ret =
- _gnutls_str_array_append_idna(&str_names, names[i],
- strlen(names[i]));
+ ret = _gnutls_str_array_append_idna(
+ &str_names, names[i], strlen(names[i]));
if (ret < 0) {
gnutls_privkey_deinit(privkey);
_gnutls_str_array_clear(&str_names);
@@ -342,9 +326,8 @@ int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
/* Now that we have converted the key material to our internal structures
* we can now add them to the credentials structure */
- ret =
- _gnutls_certificate_credential_append_keypair(cred, privkey,
- str_names, pcert, 1);
+ ret = _gnutls_certificate_credential_append_keypair(
+ cred, privkey, str_names, pcert, 1);
if (ret < 0) {
gnutls_privkey_deinit(privkey);
gnutls_pcert_deinit(pcert);
diff --git a/lib/cert-cred-x509.c b/lib/cert-cred-x509.c
index 3799bc1029..9a8af94e89 100644
--- a/lib/cert-cred-x509.c
+++ b/lib/cert-cred-x509.c
@@ -48,7 +48,7 @@
#include "urls.h"
#include "cert-cred.h"
#ifdef _WIN32
-# include <wincrypt.h>
+#include <wincrypt.h>
#endif
/*
@@ -58,7 +58,7 @@
/* Returns the name of the certificate of a null name
*/
-int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t * names)
+int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t *names)
{
size_t max_size;
int i, ret = 0, ret2;
@@ -68,15 +68,13 @@ int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t * names)
for (i = 0; !(ret < 0); i++) {
max_size = sizeof(name);
- ret =
- gnutls_x509_crt_get_subject_alt_name(crt, i, name,
- &max_size, NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name(crt, i, name,
+ &max_size, NULL);
if (ret == GNUTLS_SAN_DNSNAME) {
have_dns_name = 1;
- ret2 =
- _gnutls_str_array_append_idna(names, name,
- max_size);
+ ret2 = _gnutls_str_array_append_idna(names, name,
+ max_size);
if (ret2 < 0) {
_gnutls_str_array_clear(names);
return gnutls_assert_val(ret2);
@@ -86,13 +84,11 @@ int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t * names)
if (have_dns_name == 0) {
max_size = sizeof(name);
- ret =
- gnutls_x509_crt_get_dn_by_oid(crt, OID_X520_COMMON_NAME, 0,
- 0, name, &max_size);
+ ret = gnutls_x509_crt_get_dn_by_oid(crt, OID_X520_COMMON_NAME,
+ 0, 0, name, &max_size);
if (ret >= 0) {
- ret =
- _gnutls_str_array_append_idna(names, name,
- max_size);
+ ret = _gnutls_str_array_append_idna(names, name,
+ max_size);
if (ret < 0) {
_gnutls_str_array_clear(names);
return gnutls_assert_val(ret);
@@ -106,10 +102,9 @@ int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t * names)
/* Reads a DER encoded certificate list from memory and stores it to a
* gnutls_cert structure. Returns the number of certificates parsed.
*/
-static int
-parse_der_cert_mem(gnutls_certificate_credentials_t res,
- gnutls_privkey_t key,
- const void *input_cert, int input_cert_size)
+static int parse_der_cert_mem(gnutls_certificate_credentials_t res,
+ gnutls_privkey_t key, const void *input_cert,
+ int input_cert_size)
{
gnutls_datum_t tmp;
gnutls_x509_crt_t crt;
@@ -131,7 +126,7 @@ parse_der_cert_mem(gnutls_certificate_credentials_t res,
goto cleanup;
}
- tmp.data = (uint8_t *) input_cert;
+ tmp.data = (uint8_t *)input_cert;
tmp.size = input_cert_size;
ret = gnutls_x509_crt_import(crt, &tmp, GNUTLS_X509_FMT_DER);
@@ -156,9 +151,8 @@ parse_der_cert_mem(gnutls_certificate_credentials_t res,
goto cleanup;
}
- ret =
- _gnutls_certificate_credential_append_keypair(res, key, names,
- ccert, 1);
+ ret = _gnutls_certificate_credential_append_keypair(res, key, names,
+ ccert, 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -166,7 +160,7 @@ parse_der_cert_mem(gnutls_certificate_credentials_t res,
return ret;
- cleanup:
+cleanup:
_gnutls_str_array_clear(&names);
gnutls_free(ccert);
return ret;
@@ -175,10 +169,9 @@ parse_der_cert_mem(gnutls_certificate_credentials_t res,
/* Reads a base64 encoded certificate list from memory and stores it to
* a gnutls_cert structure. Returns the number of certificate parsed.
*/
-static int
-parse_pem_cert_mem(gnutls_certificate_credentials_t res,
- gnutls_privkey_t key,
- const char *input_cert, int input_cert_size)
+static int parse_pem_cert_mem(gnutls_certificate_credentials_t res,
+ gnutls_privkey_t key, const char *input_cert,
+ int input_cert_size)
{
int size;
const char *ptr;
@@ -193,11 +186,11 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
/* move to the certificate
*/
- ptr = memmem(input_cert, input_cert_size,
- PEM_CERT_SEP, sizeof(PEM_CERT_SEP) - 1);
+ ptr = memmem(input_cert, input_cert_size, PEM_CERT_SEP,
+ sizeof(PEM_CERT_SEP) - 1);
if (ptr == NULL)
- ptr = memmem(input_cert, input_cert_size,
- PEM_CERT_SEP2, sizeof(PEM_CERT_SEP2) - 1);
+ ptr = memmem(input_cert, input_cert_size, PEM_CERT_SEP2,
+ sizeof(PEM_CERT_SEP2) - 1);
if (ptr == NULL) {
gnutls_assert();
@@ -217,9 +210,8 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
goto cleanup;
}
- ret =
- gnutls_x509_crt_import(unsorted[count], &tmp,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(unsorted[count], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -237,9 +229,8 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
if (size > 0) {
char *ptr3;
- ptr3 =
- memmem(ptr, size, PEM_CERT_SEP,
- sizeof(PEM_CERT_SEP) - 1);
+ ptr3 = memmem(ptr, size, PEM_CERT_SEP,
+ sizeof(PEM_CERT_SEP) - 1);
if (ptr3 == NULL)
ptr3 = memmem(ptr, size, PEM_CERT_SEP2,
sizeof(PEM_CERT_SEP2) - 1);
@@ -249,8 +240,7 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
} else
ptr = NULL;
- }
- while (ptr != NULL && count < DEFAULT_MAX_VERIFY_DEPTH);
+ } while (ptr != NULL && count < DEFAULT_MAX_VERIFY_DEPTH);
ret = _gnutls_get_x509_name(unsorted[0], &names);
if (ret < 0) {
@@ -265,18 +255,16 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
}
ncerts = count;
- ret =
- gnutls_pcert_import_x509_list(pcerts, unsorted, &ncerts,
- GNUTLS_X509_CRT_LIST_SORT);
+ ret = gnutls_pcert_import_x509_list(pcerts, unsorted, &ncerts,
+ GNUTLS_X509_CRT_LIST_SORT);
if (ret < 0) {
gnutls_free(pcerts);
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_certificate_credential_append_keypair(res, key, names,
- pcerts, ncerts);
+ ret = _gnutls_certificate_credential_append_keypair(res, key, names,
+ pcerts, ncerts);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -287,7 +275,7 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
return ncerts;
- cleanup:
+cleanup:
_gnutls_str_array_clear(&names);
for (i = 0; i < count; i++)
gnutls_x509_crt_deinit(unsorted[i]);
@@ -301,10 +289,9 @@ parse_pem_cert_mem(gnutls_certificate_credentials_t res,
/* Reads a DER or PEM certificate from memory
*/
-static int
-read_cert_mem(gnutls_certificate_credentials_t res,
- gnutls_privkey_t key,
- const void *cert, int cert_size, gnutls_x509_crt_fmt_t type)
+static int read_cert_mem(gnutls_certificate_credentials_t res,
+ gnutls_privkey_t key, const void *cert, int cert_size,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
@@ -322,8 +309,8 @@ read_cert_mem(gnutls_certificate_credentials_t res,
}
static int tmp_pin_cb(void *userdata, int attempt, const char *token_url,
- const char *token_label, unsigned int flags,
- char *pin, size_t pin_max)
+ const char *token_label, unsigned int flags, char *pin,
+ size_t pin_max)
{
const char *tmp_pin = userdata;
@@ -340,18 +327,17 @@ static int tmp_pin_cb(void *userdata, int attempt, const char *token_url,
*
* It returns the private key read in @rkey.
*/
-int
-_gnutls_read_key_mem(gnutls_certificate_credentials_t res,
- const void *key, int key_size, gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags,
- gnutls_privkey_t * rkey)
+int _gnutls_read_key_mem(gnutls_certificate_credentials_t res, const void *key,
+ int key_size, gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags,
+ gnutls_privkey_t *rkey)
{
int ret;
gnutls_datum_t tmp;
gnutls_privkey_t privkey;
if (key) {
- tmp.data = (uint8_t *) key;
+ tmp.data = (uint8_t *)key;
tmp.size = key_size;
ret = gnutls_privkey_init(&privkey);
@@ -361,20 +347,17 @@ _gnutls_read_key_mem(gnutls_certificate_credentials_t res,
}
if (res->pin.cb) {
- gnutls_privkey_set_pin_function(privkey,
- res->pin.cb,
+ gnutls_privkey_set_pin_function(privkey, res->pin.cb,
res->pin.data);
} else if (pass != NULL) {
snprintf(res->pin_tmp, sizeof(res->pin_tmp), "%s",
pass);
- gnutls_privkey_set_pin_function(privkey,
- tmp_pin_cb,
+ gnutls_privkey_set_pin_function(privkey, tmp_pin_cb,
res->pin_tmp);
}
- ret =
- gnutls_privkey_import_x509_raw(privkey, &tmp, type,
- pass, flags);
+ ret = gnutls_privkey_import_x509_raw(privkey, &tmp, type, pass,
+ flags);
if (ret < 0) {
gnutls_assert();
gnutls_privkey_deinit(privkey);
@@ -392,9 +375,8 @@ _gnutls_read_key_mem(gnutls_certificate_credentials_t res,
/* Reads a private key from a token.
*/
-static int
-read_key_url(gnutls_certificate_credentials_t res, const char *url,
- gnutls_privkey_t * rkey)
+static int read_key_url(gnutls_certificate_credentials_t res, const char *url,
+ gnutls_privkey_t *rkey)
{
int ret;
gnutls_privkey_t pkey = NULL;
@@ -421,7 +403,7 @@ read_key_url(gnutls_certificate_credentials_t res, const char *url,
return 0;
- cleanup:
+cleanup:
if (pkey)
gnutls_privkey_deinit(pkey);
@@ -431,9 +413,8 @@ read_key_url(gnutls_certificate_credentials_t res, const char *url,
#define MAX_PKCS11_CERT_CHAIN 8
/* Reads a certificate key from a token.
*/
-static int
-read_cert_url(gnutls_certificate_credentials_t res, gnutls_privkey_t key,
- const char *url)
+static int read_cert_url(gnutls_certificate_credentials_t res,
+ gnutls_privkey_t key, const char *url)
{
int ret;
gnutls_x509_crt_t crt = NULL;
@@ -464,9 +445,8 @@ read_cert_url(gnutls_certificate_credentials_t res, gnutls_privkey_t key,
ret = gnutls_x509_crt_import_url(crt, url, 0);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
- ret =
- gnutls_x509_crt_import_url(crt, url,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_x509_crt_import_url(crt, url,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -513,9 +493,8 @@ read_cert_url(gnutls_certificate_credentials_t res, gnutls_privkey_t key,
gnutls_free(t.data);
}
- ret =
- _gnutls_certificate_credential_append_keypair(res, key, names,
- ccert, count);
+ ret = _gnutls_certificate_credential_append_keypair(res, key, names,
+ ccert, count);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -525,7 +504,7 @@ read_cert_url(gnutls_certificate_credentials_t res, gnutls_privkey_t key,
gnutls_x509_crt_deinit(crt);
return 0;
- cleanup:
+cleanup:
if (crt != NULL)
gnutls_x509_crt_deinit(crt);
gnutls_free(t.data);
@@ -536,10 +515,9 @@ read_cert_url(gnutls_certificate_credentials_t res, gnutls_privkey_t key,
/* Reads a certificate file
*/
-static int
-read_cert_file(gnutls_certificate_credentials_t res,
- gnutls_privkey_t key,
- const char *certfile, gnutls_x509_crt_fmt_t type)
+static int read_cert_file(gnutls_certificate_credentials_t res,
+ gnutls_privkey_t key, const char *certfile,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
size_t size;
@@ -560,17 +538,15 @@ read_cert_file(gnutls_certificate_credentials_t res,
free(data);
return ret;
-
}
/* Reads PKCS-1 RSA private key file or a DSA file (in the format openssl
* stores it).
*/
-int
-_gnutls_read_key_file(gnutls_certificate_credentials_t res,
- const char *keyfile, gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags,
- gnutls_privkey_t * rkey)
+int _gnutls_read_key_file(gnutls_certificate_credentials_t res,
+ const char *keyfile, gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags,
+ gnutls_privkey_t *rkey)
{
int ret;
size_t size;
@@ -583,15 +559,14 @@ _gnutls_read_key_file(gnutls_certificate_credentials_t res,
if (pass != NULL && res->pin.cb == NULL) {
snprintf(res->pin_tmp, sizeof(res->pin_tmp),
"%s", pass);
- gnutls_certificate_set_pin_function(res,
- tmp_pin_cb,
- res->pin_tmp);
+ gnutls_certificate_set_pin_function(
+ res, tmp_pin_cb, res->pin_tmp);
}
return read_key_url(res, keyfile, rkey);
} else
- return
- gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNIMPLEMENTED_FEATURE);
}
data = read_file(keyfile, RF_BINARY | RF_SENSITIVE, &size);
@@ -637,14 +612,13 @@ _gnutls_read_key_file(gnutls_certificate_credentials_t res,
* Returns: On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).
*
**/
-int
-gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t res,
- const gnutls_datum_t * cert,
- const gnutls_datum_t * key,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *cert,
+ const gnutls_datum_t *key,
+ gnutls_x509_crt_fmt_t type)
{
- return gnutls_certificate_set_x509_key_mem2(res, cert, key, type,
- NULL, 0);
+ return gnutls_certificate_set_x509_key_mem2(res, cert, key, type, NULL,
+ 0);
}
/**
@@ -677,12 +651,11 @@ gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t res,
*
* Returns: On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).
**/
-int
-gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t res,
- const gnutls_datum_t * cert,
- const gnutls_datum_t * key,
- gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags)
+int gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *cert,
+ const gnutls_datum_t *key,
+ gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags)
{
int ret;
gnutls_privkey_t rkey;
@@ -690,11 +663,12 @@ gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t res,
/* this should be first
*/
if ((ret = _gnutls_read_key_mem(res, key ? key->data : NULL,
- key ? key->size : 0, type, pass,
- flags, &rkey)) < 0)
+ key ? key->size : 0, type, pass, flags,
+ &rkey)) < 0)
return ret;
- if ((ret = read_cert_mem(res, rkey, cert->data, cert->size, type)) < 0) {
+ if ((ret = read_cert_mem(res, rkey, cert->data, cert->size, type)) <
+ 0) {
gnutls_privkey_deinit(rkey);
return ret;
}
@@ -737,10 +711,10 @@ gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t res,
*
* Since: 2.4.0
**/
-int
-gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t res,
- gnutls_x509_crt_t * cert_list,
- int cert_list_size, gnutls_x509_privkey_t key)
+int gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t res,
+ gnutls_x509_crt_t *cert_list,
+ int cert_list_size,
+ gnutls_x509_privkey_t key)
{
int ret;
int npcerts = 0;
@@ -785,19 +759,17 @@ gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t res,
goto cleanup;
}
- ret =
- gnutls_pcert_import_x509_list(pcerts, cert_list,
- (unsigned int *)&cert_list_size,
- GNUTLS_X509_CRT_LIST_SORT);
+ ret = gnutls_pcert_import_x509_list(pcerts, cert_list,
+ (unsigned int *)&cert_list_size,
+ GNUTLS_X509_CRT_LIST_SORT);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
npcerts = cert_list_size;
- ret =
- _gnutls_certificate_credential_append_keypair(res, pkey, names,
- pcerts, npcerts);
+ ret = _gnutls_certificate_credential_append_keypair(res, pkey, names,
+ pcerts, npcerts);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -815,7 +787,7 @@ gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t res,
CRED_RET_SUCCESS(res);
- cleanup:
+cleanup:
while (npcerts-- > 0)
gnutls_pcert_deinit(&pcerts[npcerts]);
gnutls_free(pcerts);
@@ -848,9 +820,8 @@ gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t res,
*
* Since: 3.4.0
*/
-int
-gnutls_certificate_get_x509_key(gnutls_certificate_credentials_t res,
- unsigned index, gnutls_x509_privkey_t * key)
+int gnutls_certificate_get_x509_key(gnutls_certificate_credentials_t res,
+ unsigned index, gnutls_x509_privkey_t *key)
{
if (index >= res->ncerts) {
gnutls_assert();
@@ -889,11 +860,10 @@ gnutls_certificate_get_x509_key(gnutls_certificate_credentials_t res,
*
* Since: 3.4.0
*/
-int
-gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t res,
- unsigned index,
- gnutls_x509_crt_t ** crt_list,
- unsigned *crt_list_size)
+int gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t res,
+ unsigned index,
+ gnutls_x509_crt_t **crt_list,
+ unsigned *crt_list_size)
{
int ret;
unsigned i;
@@ -913,9 +883,8 @@ gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t res,
}
for (i = 0; i < res->certs[index].cert_list_length; ++i) {
- ret =
- gnutls_pcert_export_x509(&res->certs[index].cert_list[i],
- &(*crt_list)[i]);
+ ret = gnutls_pcert_export_x509(&res->certs[index].cert_list[i],
+ &(*crt_list)[i]);
if (ret < 0) {
while (i--)
gnutls_x509_crt_deinit((*crt_list)[i]);
@@ -942,10 +911,9 @@ gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t res,
*
* Since: 3.2.2
**/
-void
-gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t res,
- gnutls_x509_trust_list_t tlist,
- unsigned flags)
+void gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t res,
+ gnutls_x509_trust_list_t tlist,
+ unsigned flags)
{
gnutls_x509_trust_list_deinit(res->tlist, 1);
@@ -964,9 +932,8 @@ gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t res,
*
* Since: 3.4.0
**/
-void
-gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t res,
- gnutls_x509_trust_list_t * tlist)
+void gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t res,
+ gnutls_x509_trust_list_t *tlist)
{
*tlist = res->tlist;
}
@@ -1008,14 +975,13 @@ gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t res,
*
* Since: 3.1.11
**/
-int
-gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t res,
- const char *certfile,
- const char *keyfile,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t res,
+ const char *certfile,
+ const char *keyfile,
+ gnutls_x509_crt_fmt_t type)
{
- return gnutls_certificate_set_x509_key_file2(res, certfile,
- keyfile, type, NULL, 0);
+ return gnutls_certificate_set_x509_key_file2(res, certfile, keyfile,
+ type, NULL, 0);
}
/**
@@ -1058,20 +1024,19 @@ gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t res,
* Returns: On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).
*
**/
-int
-gnutls_certificate_set_x509_key_file2(gnutls_certificate_credentials_t res,
- const char *certfile,
- const char *keyfile,
- gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags)
+int gnutls_certificate_set_x509_key_file2(gnutls_certificate_credentials_t res,
+ const char *certfile,
+ const char *keyfile,
+ gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags)
{
int ret;
gnutls_privkey_t rkey;
/* this should be first
*/
- if ((ret =
- _gnutls_read_key_file(res, keyfile, type, pass, flags, &rkey)) < 0)
+ if ((ret = _gnutls_read_key_file(res, keyfile, type, pass, flags,
+ &rkey)) < 0)
return ret;
if ((ret = read_cert_file(res, rkey, certfile, type)) < 0) {
@@ -1108,16 +1073,14 @@ gnutls_certificate_set_x509_key_file2(gnutls_certificate_credentials_t res,
* Returns: the number of certificates processed or a negative error code
* on error.
**/
-int
-gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t res,
- const gnutls_datum_t * ca,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *ca,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
- ret = gnutls_x509_trust_list_add_trust_mem(res->tlist, ca, NULL,
- type, GNUTLS_TL_USE_IN_TLS,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(res->tlist, ca, NULL, type,
+ GNUTLS_TL_USE_IN_TLS, 0);
if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND)
return 0;
@@ -1145,9 +1108,9 @@ gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t res,
*
* Since: 2.4.0
**/
-int
-gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t res,
- gnutls_x509_crt_t * ca_list, int ca_list_size)
+int gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t res,
+ gnutls_x509_crt_t *ca_list,
+ int ca_list_size)
{
int ret, i, j;
gnutls_x509_crt_t *new_list;
@@ -1174,9 +1137,8 @@ gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t res,
}
}
- ret =
- gnutls_x509_trust_list_add_cas(res->tlist, new_list,
- ca_list_size, GNUTLS_TL_USE_IN_TLS);
+ ret = gnutls_x509_trust_list_add_cas(res->tlist, new_list, ca_list_size,
+ GNUTLS_TL_USE_IN_TLS);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1185,7 +1147,7 @@ gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t res,
gnutls_free(new_list);
return ret;
- cleanup:
+cleanup:
for (j = 0; j < i; j++)
gnutls_x509_crt_deinit(new_list[j]);
gnutls_free(new_list);
@@ -1215,16 +1177,14 @@ gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t res,
*
* Returns: the number of certificates processed
**/
-int
-gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t
- cred, const char *cafile,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t cred,
+ const char *cafile,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
- ret = gnutls_x509_trust_list_add_trust_file(cred->tlist, cafile, NULL,
- type, GNUTLS_TL_USE_IN_TLS,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ cred->tlist, cafile, NULL, type, GNUTLS_TL_USE_IN_TLS, 0);
if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND)
return 0;
@@ -1247,16 +1207,14 @@ gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t
* Since: 3.3.6
*
**/
-int
-gnutls_certificate_set_x509_trust_dir(gnutls_certificate_credentials_t cred,
- const char *ca_dir,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_trust_dir(gnutls_certificate_credentials_t cred,
+ const char *ca_dir,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
- ret = gnutls_x509_trust_list_add_trust_dir(cred->tlist, ca_dir, NULL,
- type, GNUTLS_TL_USE_IN_TLS,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_dir(
+ cred->tlist, ca_dir, NULL, type, GNUTLS_TL_USE_IN_TLS, 0);
if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND)
return 0;
@@ -1278,8 +1236,8 @@ gnutls_certificate_set_x509_trust_dir(gnutls_certificate_credentials_t cred,
*
* Since: 3.0.20
**/
-int
-gnutls_certificate_set_x509_system_trust(gnutls_certificate_credentials_t cred)
+int gnutls_certificate_set_x509_system_trust(
+ gnutls_certificate_credentials_t cred)
{
return gnutls_x509_trust_list_add_system_trust(cred->tlist,
GNUTLS_TL_USE_IN_TLS, 0);
@@ -1299,10 +1257,9 @@ gnutls_certificate_set_x509_system_trust(gnutls_certificate_credentials_t cred)
*
* Returns: number of CRLs processed, or a negative error code on error.
**/
-int
-gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t res,
- const gnutls_datum_t * CRL,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *CRL,
+ gnutls_x509_crt_fmt_t type)
{
unsigned flags = GNUTLS_TL_USE_IN_TLS;
int ret;
@@ -1310,8 +1267,8 @@ gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t res,
if (res->flags & GNUTLS_CERTIFICATE_VERIFY_CRLS)
flags |= GNUTLS_TL_VERIFY_CRL | GNUTLS_TL_FAIL_ON_INVALID_CRL;
- ret = gnutls_x509_trust_list_add_trust_mem(res->tlist, NULL, CRL,
- type, flags, 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(res->tlist, NULL, CRL, type,
+ flags, 0);
if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND)
return 0;
@@ -1334,9 +1291,9 @@ gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t res,
*
* Since: 2.4.0
**/
-int
-gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t res,
- gnutls_x509_crl_t * crl_list, int crl_list_size)
+int gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t res,
+ gnutls_x509_crl_t *crl_list,
+ int crl_list_size)
{
int ret, i, j;
gnutls_x509_crl_t *new_crl;
@@ -1365,9 +1322,8 @@ gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t res,
}
}
- ret =
- gnutls_x509_trust_list_add_crls(res->tlist, new_crl,
- crl_list_size, flags, 0);
+ ret = gnutls_x509_trust_list_add_crls(res->tlist, new_crl,
+ crl_list_size, flags, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1376,7 +1332,7 @@ gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t res,
free(new_crl);
return ret;
- cleanup:
+cleanup:
for (j = 0; j < i; j++)
gnutls_x509_crl_deinit(new_crl[j]);
free(new_crl);
@@ -1398,10 +1354,9 @@ gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t res,
*
* Returns: number of CRLs processed or a negative error code on error.
**/
-int
-gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t res,
- const char *crlfile,
- gnutls_x509_crt_fmt_t type)
+int gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t res,
+ const char *crlfile,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
unsigned flags = GNUTLS_TL_USE_IN_TLS;
@@ -1457,25 +1412,24 @@ gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t res,
* Returns: On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior).
*
**/
-int
- gnutls_certificate_set_x509_simple_pkcs12_file
- (gnutls_certificate_credentials_t res, const char *pkcs12file,
- gnutls_x509_crt_fmt_t type, const char *password) {
+int gnutls_certificate_set_x509_simple_pkcs12_file(
+ gnutls_certificate_credentials_t res, const char *pkcs12file,
+ gnutls_x509_crt_fmt_t type, const char *password)
+{
gnutls_datum_t p12blob;
size_t size;
int ret;
- p12blob.data = (void *)read_file(pkcs12file, RF_BINARY | RF_SENSITIVE,
- &size);
+ p12blob.data =
+ (void *)read_file(pkcs12file, RF_BINARY | RF_SENSITIVE, &size);
p12blob.size = (unsigned int)size;
if (p12blob.data == NULL) {
gnutls_assert();
return GNUTLS_E_FILE_ERROR;
}
- ret =
- gnutls_certificate_set_x509_simple_pkcs12_mem(res, &p12blob,
- type, password);
+ ret = gnutls_certificate_set_x509_simple_pkcs12_mem(res, &p12blob, type,
+ password);
zeroize_key(p12blob.data, p12blob.size);
free(p12blob.data);
p12blob.size = 0;
@@ -1521,10 +1475,10 @@ int
*
* Since: 2.8.0
**/
-int
- gnutls_certificate_set_x509_simple_pkcs12_mem
- (gnutls_certificate_credentials_t res, const gnutls_datum_t * p12blob,
- gnutls_x509_crt_fmt_t type, const char *password) {
+int gnutls_certificate_set_x509_simple_pkcs12_mem(
+ gnutls_certificate_credentials_t res, const gnutls_datum_t *p12blob,
+ gnutls_x509_crt_fmt_t type, const char *password)
+{
gnutls_pkcs12_t p12;
gnutls_x509_privkey_t key = NULL;
gnutls_x509_crt_t *chain = NULL;
@@ -1554,9 +1508,8 @@ int
}
}
- ret =
- gnutls_pkcs12_simple_parse(p12, password, &key, &chain,
- &chain_size, NULL, NULL, &crl, 0);
+ ret = gnutls_pkcs12_simple_parse(p12, password, &key, &chain,
+ &chain_size, NULL, NULL, &crl, 0);
gnutls_pkcs12_deinit(p12);
if (ret < 0) {
gnutls_assert();
@@ -1564,9 +1517,8 @@ int
}
if (key && chain) {
- ret =
- gnutls_certificate_set_x509_key(res, chain, chain_size,
- key);
+ ret = gnutls_certificate_set_x509_key(res, chain, chain_size,
+ key);
if (ret < 0) {
gnutls_assert();
goto done;
@@ -1592,7 +1544,7 @@ int
else
ret = 0;
- done:
+done:
if (chain) {
for (i = 0; i < chain_size; i++)
gnutls_x509_crt_deinit(chain[i]);
@@ -1634,8 +1586,8 @@ void gnutls_certificate_free_crls(gnutls_certificate_credentials_t sc)
*
* Since: 3.1.0
**/
-void gnutls_certificate_set_pin_function(gnutls_certificate_credentials_t
- cred, gnutls_pin_callback_t fn,
+void gnutls_certificate_set_pin_function(gnutls_certificate_credentials_t cred,
+ gnutls_pin_callback_t fn,
void *userdata)
{
cred->pin.cb = fn;
diff --git a/lib/cert-cred.c b/lib/cert-cred.c
index 8b1e491cff..b63b6a9d32 100644
--- a/lib/cert-cred.c
+++ b/lib/cert-cred.c
@@ -48,24 +48,20 @@
/*
* Adds a public/private key pair to a certificate credential
*/
-int
-_gnutls_certificate_credential_append_keypair(gnutls_certificate_credentials_t
- res, gnutls_privkey_t key,
- gnutls_str_array_t names,
- gnutls_pcert_st * crt, int nr)
+int _gnutls_certificate_credential_append_keypair(
+ gnutls_certificate_credentials_t res, gnutls_privkey_t key,
+ gnutls_str_array_t names, gnutls_pcert_st *crt, int nr)
{
if (unlikely(INT_ADD_OVERFLOW(res->ncerts, 1))) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
- res->sorted_cert_idx = _gnutls_reallocarray_fast(res->sorted_cert_idx,
- res->ncerts + 1,
- sizeof(unsigned int));
+ res->sorted_cert_idx = _gnutls_reallocarray_fast(
+ res->sorted_cert_idx, res->ncerts + 1, sizeof(unsigned int));
if (res->sorted_cert_idx == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- res->certs = _gnutls_reallocarray_fast(res->certs,
- res->ncerts + 1,
+ res->certs = _gnutls_reallocarray_fast(res->certs, res->ncerts + 1,
sizeof(certs_st));
if (res->certs == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -103,9 +99,8 @@ _gnutls_certificate_credential_append_keypair(gnutls_certificate_credentials_t
/* otherwise append it normally on the end */
res->sorted_cert_idx[res->ncerts] = res->ncerts;
- finish:
+finish:
return 0;
-
}
/**
@@ -142,12 +137,10 @@ _gnutls_certificate_credential_append_keypair(gnutls_certificate_credentials_t
*
* Since: 3.0
**/
-int
-gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
- const char **names,
- int names_size,
- gnutls_pcert_st * pcert_list,
- int pcert_list_size, gnutls_privkey_t key)
+int gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
+ const char **names, int names_size,
+ gnutls_pcert_st *pcert_list, int pcert_list_size,
+ gnutls_privkey_t key)
{
int ret, i;
gnutls_str_array_t str_names;
@@ -168,9 +161,8 @@ gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
if (names != NULL && names_size > 0) {
for (i = 0; i < names_size; i++) {
- ret =
- _gnutls_str_array_append_idna(&str_names, names[i],
- strlen(names[i]));
+ ret = _gnutls_str_array_append_idna(
+ &str_names, names[i], strlen(names[i]));
if (ret < 0) {
ret = gnutls_assert_val(ret);
goto cleanup;
@@ -185,9 +177,8 @@ gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
goto cleanup;
}
- ret =
- gnutls_x509_crt_import(crt, &pcert_list[0].cert,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(crt, &pcert_list[0].cert,
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
gnutls_x509_crt_deinit(crt);
@@ -215,10 +206,8 @@ gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
memcpy(new_pcert_list, pcert_list,
sizeof(gnutls_pcert_st) * pcert_list_size);
- ret =
- _gnutls_certificate_credential_append_keypair(res, key, str_names,
- new_pcert_list,
- pcert_list_size);
+ ret = _gnutls_certificate_credential_append_keypair(
+ res, key, str_names, new_pcert_list, pcert_list_size);
if (ret < 0) {
gnutls_assert();
gnutls_free(new_pcert_list);
@@ -240,7 +229,7 @@ gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
CRED_RET_SUCCESS(res);
- cleanup:
+cleanup:
_gnutls_str_array_clear(&str_names);
return ret;
}
@@ -312,10 +301,9 @@ void gnutls_certificate_free_cas(gnutls_certificate_credentials_t sc)
*
* Since: 3.0
**/
-int
-gnutls_certificate_get_issuer(gnutls_certificate_credentials_t sc,
- gnutls_x509_crt_t cert,
- gnutls_x509_crt_t * issuer, unsigned int flags)
+int gnutls_certificate_get_issuer(gnutls_certificate_credentials_t sc,
+ gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t *issuer, unsigned int flags)
{
return gnutls_x509_trust_list_get_issuer(sc->tlist, cert, issuer,
flags);
@@ -340,10 +328,9 @@ gnutls_certificate_get_issuer(gnutls_certificate_credentials_t sc,
*
* Since: 3.2.5
**/
-int
-gnutls_certificate_get_crt_raw(gnutls_certificate_credentials_t sc,
- unsigned idx1,
- unsigned idx2, gnutls_datum_t * cert)
+int gnutls_certificate_get_crt_raw(gnutls_certificate_credentials_t sc,
+ unsigned idx1, unsigned idx2,
+ gnutls_datum_t *cert)
{
if (idx1 >= sc->ncerts)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -411,8 +398,8 @@ void gnutls_certificate_free_credentials(gnutls_certificate_credentials_t sc)
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_certificate_allocate_credentials(gnutls_certificate_credentials_t * res)
+int gnutls_certificate_allocate_credentials(
+ gnutls_certificate_credentials_t *res)
{
int ret;
@@ -436,8 +423,8 @@ gnutls_certificate_allocate_credentials(gnutls_certificate_credentials_t * res)
/* converts the given x509 certificate list to gnutls_pcert_st* and allocates
* space for them.
*/
-static gnutls_pcert_st *alloc_and_load_x509_certs(gnutls_x509_crt_t *
- certs, unsigned ncerts)
+static gnutls_pcert_st *alloc_and_load_x509_certs(gnutls_x509_crt_t *certs,
+ unsigned ncerts)
{
gnutls_pcert_st *local_certs;
int ret = 0;
@@ -452,8 +439,8 @@ static gnutls_pcert_st *alloc_and_load_x509_certs(gnutls_x509_crt_t *
return NULL;
}
- local_certs = _gnutls_reallocarray(NULL, ncerts,
- sizeof(gnutls_pcert_st));
+ local_certs =
+ _gnutls_reallocarray(NULL, ncerts, sizeof(gnutls_pcert_st));
if (local_certs == NULL) {
gnutls_assert();
return NULL;
@@ -480,8 +467,8 @@ static gnutls_pcert_st *alloc_and_load_x509_certs(gnutls_x509_crt_t *
/* converts the given x509 key to gnutls_privkey* and allocates
* space for it.
*/
-static gnutls_privkey_t
-alloc_and_load_x509_key(gnutls_x509_privkey_t key, int deinit)
+static gnutls_privkey_t alloc_and_load_x509_key(gnutls_x509_privkey_t key,
+ int deinit)
{
gnutls_privkey_t local_key;
int ret = 0;
@@ -495,10 +482,9 @@ alloc_and_load_x509_key(gnutls_x509_privkey_t key, int deinit)
return NULL;
}
- ret =
- gnutls_privkey_import_x509(local_key, key,
- deinit ?
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE : 0);
+ ret = gnutls_privkey_import_x509(
+ local_key, key,
+ deinit ? GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE : 0);
if (ret < 0) {
gnutls_assert();
gnutls_privkey_deinit(local_key);
@@ -513,8 +499,8 @@ alloc_and_load_x509_key(gnutls_x509_privkey_t key, int deinit)
/* converts the given raw key to gnutls_privkey* and allocates
* space for it.
*/
-static gnutls_privkey_t
-alloc_and_load_pkcs11_key(gnutls_pkcs11_privkey_t key, int deinit)
+static gnutls_privkey_t alloc_and_load_pkcs11_key(gnutls_pkcs11_privkey_t key,
+ int deinit)
{
gnutls_privkey_t local_key;
int ret = 0;
@@ -528,11 +514,9 @@ alloc_and_load_pkcs11_key(gnutls_pkcs11_privkey_t key, int deinit)
return NULL;
}
- ret =
- gnutls_privkey_import_pkcs11(local_key, key,
- deinit ?
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE
- : 0);
+ ret = gnutls_privkey_import_pkcs11(
+ local_key, key,
+ deinit ? GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE : 0);
if (ret < 0) {
gnutls_assert();
gnutls_privkey_deinit(local_key);
@@ -556,20 +540,19 @@ alloc_and_load_pkcs11_key(gnutls_pkcs11_privkey_t key, int deinit)
* function then the client will not be asked to send a certificate. Invoking
* the function with @req GNUTLS_CERT_IGNORE has the same effect.
**/
-void
-gnutls_certificate_server_set_request(gnutls_session_t session,
- gnutls_certificate_request_t req)
+void gnutls_certificate_server_set_request(gnutls_session_t session,
+ gnutls_certificate_request_t req)
{
session->internals.send_cert_req = req;
}
static int call_legacy_cert_cb1(gnutls_session_t session,
const struct gnutls_cert_retr_st *info,
- gnutls_pcert_st ** certs,
+ gnutls_pcert_st **certs,
unsigned int *pcert_length,
- gnutls_ocsp_data_st ** ocsp,
+ gnutls_ocsp_data_st **ocsp,
unsigned int *ocsp_length,
- gnutls_privkey_t * privkey, unsigned int *flags)
+ gnutls_privkey_t *privkey, unsigned int *flags)
{
gnutls_retr2_st st2;
gnutls_pcert_st *local_certs = NULL;
@@ -581,10 +564,9 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
memset(&st2, 0, sizeof(st2));
- ret =
- info->cred->legacy_cert_cb1(session, info->req_ca_rdn, info->nreqs,
- info->pk_algos, info->pk_algos_length,
- &st2);
+ ret = info->cred->legacy_cert_cb1(session, info->req_ca_rdn,
+ info->nreqs, info->pk_algos,
+ info->pk_algos_length, &st2);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -612,9 +594,8 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
#ifdef ENABLE_PKCS11
case GNUTLS_PRIVKEY_PKCS11:
if (st2.key.pkcs11 != NULL) {
- local_key =
- alloc_and_load_pkcs11_key(st2.key.pkcs11,
- st2.deinit_all);
+ local_key = alloc_and_load_pkcs11_key(st2.key.pkcs11,
+ st2.deinit_all);
if (local_key == NULL) {
gnutls_assert();
ret = GNUTLS_E_INTERNAL_ERROR;
@@ -625,9 +606,8 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
#endif
case GNUTLS_PRIVKEY_X509:
if (st2.key.x509 != NULL) {
- local_key =
- alloc_and_load_x509_key(st2.key.x509,
- st2.deinit_all);
+ local_key = alloc_and_load_x509_key(st2.key.x509,
+ st2.deinit_all);
if (local_key == NULL) {
gnutls_assert();
ret = GNUTLS_E_INTERNAL_ERROR;
@@ -650,7 +630,7 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
ret = 0;
- cleanup:
+cleanup:
if (st2.cert_type == GNUTLS_CRT_X509) {
if (st2.deinit_all) {
@@ -662,7 +642,6 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
}
return ret;
-
}
/**
@@ -705,9 +684,10 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
*
* Since: 3.0
**/
-void gnutls_certificate_set_retrieve_function
- (gnutls_certificate_credentials_t cred,
- gnutls_certificate_retrieve_function * func) {
+void gnutls_certificate_set_retrieve_function(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_retrieve_function *func)
+{
cred->legacy_cert_cb1 = func;
if (!func)
cred->get_cert_callback3 = NULL;
@@ -717,20 +697,20 @@ void gnutls_certificate_set_retrieve_function
static int call_legacy_cert_cb2(gnutls_session_t session,
const struct gnutls_cert_retr_st *info,
- gnutls_pcert_st ** certs,
+ gnutls_pcert_st **certs,
unsigned int *pcert_length,
- gnutls_ocsp_data_st ** ocsp,
+ gnutls_ocsp_data_st **ocsp,
unsigned int *ocsp_length,
- gnutls_privkey_t * privkey, unsigned int *flags)
+ gnutls_privkey_t *privkey, unsigned int *flags)
{
int ret;
*ocsp_length = 0;
/* flags will be assumed to be zero */
- ret =
- info->cred->legacy_cert_cb2(session, info->req_ca_rdn, info->nreqs,
- info->pk_algos, info->pk_algos_length,
- certs, pcert_length, privkey);
+ ret = info->cred->legacy_cert_cb2(session, info->req_ca_rdn,
+ info->nreqs, info->pk_algos,
+ info->pk_algos_length, certs,
+ pcert_length, privkey);
if (ret < 0) {
gnutls_assert();
}
@@ -782,9 +762,10 @@ static int call_legacy_cert_cb2(gnutls_session_t session,
*
* Since: 3.0
**/
-void gnutls_certificate_set_retrieve_function2
- (gnutls_certificate_credentials_t cred,
- gnutls_certificate_retrieve_function2 * func) {
+void gnutls_certificate_set_retrieve_function2(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_retrieve_function2 *func)
+{
cred->legacy_cert_cb2 = func;
if (!func)
cred->get_cert_callback3 = NULL;
@@ -850,9 +831,10 @@ void gnutls_certificate_set_retrieve_function2
*
* Since: 3.6.3
**/
-void gnutls_certificate_set_retrieve_function3
- (gnutls_certificate_credentials_t cred,
- gnutls_certificate_retrieve_function3 * func) {
+void gnutls_certificate_set_retrieve_function3(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_retrieve_function3 *func)
+{
cred->get_cert_callback3 = func;
}
@@ -879,9 +861,10 @@ void gnutls_certificate_set_retrieve_function3
*
* Since: 2.10.0
**/
-void gnutls_certificate_set_verify_function
- (gnutls_certificate_credentials_t cred,
- gnutls_certificate_verify_function * func) {
+void gnutls_certificate_set_verify_function(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_verify_function *func)
+{
cred->verify_callback = func;
}
@@ -917,10 +900,9 @@ void gnutls_certificate_set_verify_function
*
* Since: 3.7.0
**/
-void gnutls_x509_trust_list_set_getissuer_function(gnutls_x509_trust_list_t
- tlist,
- gnutls_x509_trust_list_getissuer_function
- * func)
+void gnutls_x509_trust_list_set_getissuer_function(
+ gnutls_x509_trust_list_t tlist,
+ gnutls_x509_trust_list_getissuer_function *func)
{
tlist->issuer_callback = func;
}
@@ -986,9 +968,8 @@ void *gnutls_x509_trust_list_get_ptr(gnutls_x509_trust_list_t tlist)
*
* Since: 3.7.0
**/
-void gnutls_session_set_verify_output_function(gnutls_session_t session,
- gnutls_verify_output_function *
- func)
+void gnutls_session_set_verify_output_function(
+ gnutls_session_t session, gnutls_verify_output_function *func)
{
session->internals.cert_output_callback = func;
}
@@ -1008,17 +989,15 @@ int _gnutls_check_key_cert_match(gnutls_certificate_credentials_t res)
if (res->flags & GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH)
return 0;
- pk = gnutls_pubkey_get_pk_algorithm(res->certs[res->ncerts -
- 1].cert_list[0].pubkey,
- NULL);
- pk2 =
- gnutls_privkey_get_pk_algorithm(res->certs[res->ncerts - 1].pkey,
- NULL);
+ pk = gnutls_pubkey_get_pk_algorithm(
+ res->certs[res->ncerts - 1].cert_list[0].pubkey, NULL);
+ pk2 = gnutls_privkey_get_pk_algorithm(res->certs[res->ncerts - 1].pkey,
+ NULL);
if (GNUTLS_PK_IS_RSA(pk) && GNUTLS_PK_IS_RSA(pk2)) {
if (pk2 == GNUTLS_PK_RSA_PSS && pk == GNUTLS_PK_RSA) {
- _gnutls_debug_log
- ("you cannot mix an RSA-PSS key with an RSA certificate\n");
+ _gnutls_debug_log(
+ "you cannot mix an RSA-PSS key with an RSA certificate\n");
return GNUTLS_E_CERTIFICATE_KEY_MISMATCH;
}
@@ -1056,17 +1035,16 @@ int _gnutls_check_key_cert_match(gnutls_certificate_credentials_t res)
goto finish;
}
- ret =
- gnutls_pubkey_verify_data2(res->certs[res->ncerts - 1].
- cert_list[0].pubkey, sign_algo,
- GNUTLS_VERIFY_ALLOW_BROKEN, &test, &sig);
+ ret = gnutls_pubkey_verify_data2(
+ res->certs[res->ncerts - 1].cert_list[0].pubkey, sign_algo,
+ GNUTLS_VERIFY_ALLOW_BROKEN, &test, &sig);
gnutls_free(sig.data);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_CERTIFICATE_KEY_MISMATCH);
- finish:
+finish:
return 0;
}
@@ -1087,11 +1065,10 @@ int _gnutls_check_key_cert_match(gnutls_certificate_credentials_t res)
*
* Since: 3.1.4
**/
-int
-gnutls_certificate_verification_status_print(unsigned int status,
- gnutls_certificate_type_t
- type, gnutls_datum_t * out,
- unsigned int flags)
+int gnutls_certificate_verification_status_print(unsigned int status,
+ gnutls_certificate_type_t type,
+ gnutls_datum_t *out,
+ unsigned int flags)
{
gnutls_buffer_st str;
@@ -1101,91 +1078,88 @@ gnutls_certificate_verification_status_print(unsigned int status,
_gnutls_buffer_append_str(&str,
_("The certificate is trusted. "));
else
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate is NOT trusted. "));
+ _gnutls_buffer_append_str(
+ &str, _("The certificate is NOT trusted. "));
if (type == GNUTLS_CRT_X509) {
if (status & GNUTLS_CERT_REVOKED)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate chain is revoked. "));
+ _gnutls_buffer_append_str(
+ &str, _("The certificate chain is revoked. "));
if (status & GNUTLS_CERT_MISMATCH)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate doesn't match the local copy (TOFU). "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate doesn't match the local copy (TOFU). "));
if (status & GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED)
- _gnutls_buffer_append_str(&str,
- _
- ("The revocation or OCSP data are old and have been superseded. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The revocation or OCSP data are old and have been superseded. "));
if (status & GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE)
- _gnutls_buffer_append_str(&str,
- _
- ("The revocation or OCSP data are issued with a future date. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The revocation or OCSP data are issued with a future date. "));
if (status & GNUTLS_CERT_SIGNER_NOT_FOUND)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate issuer is unknown. "));
+ _gnutls_buffer_append_str(
+ &str, _("The certificate issuer is unknown. "));
if (status & GNUTLS_CERT_SIGNER_NOT_CA)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate issuer is not a CA. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate issuer is not a CA. "));
}
if (status & GNUTLS_CERT_INSECURE_ALGORITHM)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate chain uses insecure algorithm. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate chain uses insecure algorithm. "));
if (status & GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate chain violates the signer's constraints. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate chain violates the signer's constraints. "));
if (status & GNUTLS_CERT_PURPOSE_MISMATCH)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate chain does not match the intended purpose. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate chain does not match the intended purpose. "));
if (status & GNUTLS_CERT_NOT_ACTIVATED)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate chain uses not yet valid certificate. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate chain uses not yet valid certificate. "));
if (status & GNUTLS_CERT_EXPIRED)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate chain uses expired certificate. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate chain uses expired certificate. "));
if (status & GNUTLS_CERT_SIGNATURE_FAILURE)
- _gnutls_buffer_append_str(&str,
- _
- ("The signature in the certificate is invalid. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The signature in the certificate is invalid. "));
if (status & GNUTLS_CERT_UNEXPECTED_OWNER)
- _gnutls_buffer_append_str(&str,
- _
- ("The name in the certificate does not match the expected. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The name in the certificate does not match the expected. "));
if (status & GNUTLS_CERT_MISSING_OCSP_STATUS)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate requires the server to include an OCSP status in its response, but the OCSP status is missing. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate requires the server to include an OCSP status in its response, but the OCSP status is missing. "));
if (status & GNUTLS_CERT_INVALID_OCSP_STATUS)
- _gnutls_buffer_append_str(&str,
- _
- ("The received OCSP status response is invalid. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The received OCSP status response is invalid. "));
if (status & GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS)
- _gnutls_buffer_append_str(&str,
- _
- ("The certificate contains an unknown critical extension. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The certificate contains an unknown critical extension. "));
return _gnutls_buffer_to_datum(&str, out, 1);
}
@@ -1207,9 +1181,8 @@ gnutls_certificate_verification_status_print(unsigned int status,
* following RFC7919.
*
**/
-void
-gnutls_certificate_set_dh_params(gnutls_certificate_credentials_t res,
- gnutls_dh_params_t dh_params)
+void gnutls_certificate_set_dh_params(gnutls_certificate_credentials_t res,
+ gnutls_dh_params_t dh_params)
{
if (res->deinit_dh_params) {
res->deinit_dh_params = 0;
@@ -1218,10 +1191,8 @@ gnutls_certificate_set_dh_params(gnutls_certificate_credentials_t res,
}
res->dh_params = dh_params;
- res->dh_sec_param =
- gnutls_pk_bits_to_sec_param(GNUTLS_PK_DH,
- _gnutls_mpi_get_nbits(dh_params->params
- [0]));
+ res->dh_sec_param = gnutls_pk_bits_to_sec_param(
+ GNUTLS_PK_DH, _gnutls_mpi_get_nbits(dh_params->params[0]));
}
/**
@@ -1243,13 +1214,12 @@ gnutls_certificate_set_dh_params(gnutls_certificate_credentials_t res,
*
* Since: 3.5.6
**/
-int
-gnutls_certificate_set_known_dh_params(gnutls_certificate_credentials_t res,
- gnutls_sec_param_t sec_param)
+int gnutls_certificate_set_known_dh_params(gnutls_certificate_credentials_t res,
+ gnutls_sec_param_t sec_param)
{
res->dh_sec_param = sec_param;
return 0;
}
-#endif /* DH */
+#endif /* DH */
diff --git a/lib/cert-cred.h b/lib/cert-cred.h
index 76b8288a56..245a83ed5d 100644
--- a/lib/cert-cred.h
+++ b/lib/cert-cred.h
@@ -21,36 +21,32 @@
*/
#ifndef GNUTLS_LIB_CERT_CRED_H
-# define GNUTLS_LIB_CERT_CRED_H
+#define GNUTLS_LIB_CERT_CRED_H
-# include <gnutls/abstract.h>
-# include "str_array.h"
+#include <gnutls/abstract.h>
+#include "str_array.h"
-int
-_gnutls_certificate_credential_append_keypair(gnutls_certificate_credentials_t
- res, gnutls_privkey_t key,
- gnutls_str_array_t names,
- gnutls_pcert_st * crt, int nr);
+int _gnutls_certificate_credential_append_keypair(
+ gnutls_certificate_credentials_t res, gnutls_privkey_t key,
+ gnutls_str_array_t names, gnutls_pcert_st *crt, int nr);
-int
-_gnutls_read_key_mem(gnutls_certificate_credentials_t res,
- const void *key, int key_size, gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags,
- gnutls_privkey_t * rkey);
+int _gnutls_read_key_mem(gnutls_certificate_credentials_t res, const void *key,
+ int key_size, gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags,
+ gnutls_privkey_t *rkey);
-int
-_gnutls_read_key_file(gnutls_certificate_credentials_t res,
- const char *keyfile, gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags,
- gnutls_privkey_t * rkey);
+int _gnutls_read_key_file(gnutls_certificate_credentials_t res,
+ const char *keyfile, gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags,
+ gnutls_privkey_t *rkey);
-int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t * names);
+int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t *names);
-# define CRED_RET_SUCCESS(cred) \
+#define CRED_RET_SUCCESS(cred) \
if (cred->flags & GNUTLS_CERTIFICATE_API_V2) { \
- return cred->ncerts-1; \
- } else { \
- return 0; \
+ return cred->ncerts - 1; \
+ } else { \
+ return 0; \
}
-#endif /* GNUTLS_LIB_CERT_CRED_H */
+#endif /* GNUTLS_LIB_CERT_CRED_H */
diff --git a/lib/cert-session.c b/lib/cert-session.c
index 5c514943bc..56a305c8aa 100644
--- a/lib/cert-session.c
+++ b/lib/cert-session.c
@@ -63,8 +63,8 @@ const gnutls_datum_t *gnutls_certificate_get_ours(gnutls_session_t session)
CHECK_AUTH_TYPE(GNUTLS_CRD_CERTIFICATE, NULL);
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return NULL;
@@ -97,8 +97,7 @@ const gnutls_datum_t *gnutls_certificate_get_ours(gnutls_session_t session)
* certificates, or %NULL in case of an error or if no certificate
* was used.
**/
-const gnutls_datum_t *gnutls_certificate_get_peers(gnutls_session_t
- session,
+const gnutls_datum_t *gnutls_certificate_get_peers(gnutls_session_t session,
unsigned int *list_size)
{
cert_auth_info_t info;
@@ -143,9 +142,8 @@ unsigned gnutls_certificate_client_get_request_status(gnutls_session_t session)
* following RFC7919.
*
**/
-void
-gnutls_certificate_set_params_function(gnutls_certificate_credentials_t
- res, gnutls_params_function * func)
+void gnutls_certificate_set_params_function(
+ gnutls_certificate_credentials_t res, gnutls_params_function *func)
{
res->params_func = func;
}
@@ -161,9 +159,8 @@ gnutls_certificate_set_params_function(gnutls_certificate_credentials_t
*
* Since: 3.4.7
**/
-void
-gnutls_certificate_set_flags(gnutls_certificate_credentials_t res,
- unsigned int flags)
+void gnutls_certificate_set_flags(gnutls_certificate_credentials_t res,
+ unsigned int flags)
{
res->flags = flags;
}
@@ -178,9 +175,8 @@ gnutls_certificate_set_flags(gnutls_certificate_credentials_t res,
* #gnutls_certificate_verify_flags enumerations.
*
**/
-void
-gnutls_certificate_set_verify_flags(gnutls_certificate_credentials_t
- res, unsigned int flags)
+void gnutls_certificate_set_verify_flags(gnutls_certificate_credentials_t res,
+ unsigned int flags)
{
res->verify_flags = flags;
}
@@ -213,33 +209,30 @@ gnutls_certificate_get_verify_flags(gnutls_certificate_credentials_t res)
* denial of service attacks. You can set them to zero to disable
* limits.
**/
-void
-gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t res,
- unsigned int max_bits,
- unsigned int max_depth)
+void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t res,
+ unsigned int max_bits,
+ unsigned int max_depth)
{
res->verify_depth = max_depth;
res->verify_bits = max_bits;
}
#ifdef ENABLE_OCSP
-static int
-_gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
- gnutls_x509_crt_t cert,
- unsigned int *ocsp_status);
+static int _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
+ gnutls_x509_crt_t cert,
+ unsigned int *ocsp_status);
/* If the certificate is revoked status will be GNUTLS_CERT_REVOKED.
*
* Returns:
* Zero on success, a negative error code otherwise.
*/
-static int
-check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
- gnutls_x509_trust_list_t tl,
- unsigned verify_flags,
- gnutls_x509_crt_t * cand_issuers,
- unsigned cand_issuers_size, gnutls_datum_t * data,
- unsigned int *ostatus)
+static int check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
+ gnutls_x509_trust_list_t tl,
+ unsigned verify_flags,
+ gnutls_x509_crt_t *cand_issuers,
+ unsigned cand_issuers_size, gnutls_datum_t *data,
+ unsigned int *ostatus)
{
gnutls_ocsp_resp_t resp;
int ret;
@@ -255,9 +248,10 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
ret = gnutls_ocsp_resp_import(resp, data);
if (ret < 0) {
- _gnutls_audit_log(session,
- "There was an error parsing the OCSP response: %s.\n",
- gnutls_strerror(ret));
+ _gnutls_audit_log(
+ session,
+ "There was an error parsing the OCSP response: %s.\n",
+ gnutls_strerror(ret));
ret = gnutls_assert_val(0);
check_failed = 1;
*ostatus |= GNUTLS_CERT_INVALID;
@@ -266,17 +260,17 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
}
if (gnutls_ocsp_resp_get_status(resp) != GNUTLS_OCSP_RESP_SUCCESSFUL) {
- ret =
- _gnutls_ocsp_verify_mandatory_stapling(session, cert,
- ostatus);
+ ret = _gnutls_ocsp_verify_mandatory_stapling(session, cert,
+ ostatus);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
if (*ostatus & GNUTLS_CERT_MISSING_OCSP_STATUS) {
- _gnutls_audit_log(session,
- "Missing basic OCSP response while required: %s.\n",
- gnutls_strerror(ret));
+ _gnutls_audit_log(
+ session,
+ "Missing basic OCSP response while required: %s.\n",
+ gnutls_strerror(ret));
check_failed = 1;
}
ret = gnutls_assert_val(0);
@@ -286,8 +280,9 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
ret = gnutls_ocsp_resp_check_crt(resp, 0, cert);
if (ret < 0) {
ret = gnutls_assert_val(0);
- _gnutls_audit_log(session,
- "Got OCSP response with an unrelated certificate.\n");
+ _gnutls_audit_log(
+ session,
+ "Got OCSP response with an unrelated certificate.\n");
check_failed = 1;
*ostatus |= GNUTLS_CERT_INVALID;
*ostatus |= GNUTLS_CERT_INVALID_OCSP_STATUS;
@@ -299,9 +294,8 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
if ((ret < 0 || status != 0) && cand_issuers_size > 0) {
/* Attempt to verify against the certificate list provided by the server */
- ret =
- gnutls_ocsp_resp_verify_direct(resp, cand_issuers[0],
- &status, verify_flags);
+ ret = gnutls_ocsp_resp_verify_direct(resp, cand_issuers[0],
+ &status, verify_flags);
/* if verification fails attempt to find whether any of the other
* bundled CAs is an issuer of the OCSP response */
if ((ret < 0 || status != 0) && cand_issuers_size > 1) {
@@ -309,12 +303,9 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
unsigned status2, i;
for (i = 1; i < cand_issuers_size; i++) {
- ret2 =
- gnutls_ocsp_resp_verify_direct(resp,
- cand_issuers
- [i],
- &status2,
- verify_flags);
+ ret2 = gnutls_ocsp_resp_verify_direct(
+ resp, cand_issuers[i], &status2,
+ verify_flags);
if (ret2 >= 0 && status2 == 0) {
status = status2;
ret = ret2;
@@ -349,12 +340,13 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
}
ret = gnutls_ocsp_resp_get_single(resp, 0, NULL, NULL, NULL, NULL,
- &cert_status, &vtime, &ntime,
- &rtime, NULL);
+ &cert_status, &vtime, &ntime, &rtime,
+ NULL);
if (ret < 0) {
- _gnutls_audit_log(session,
- "There was an error parsing the OCSP response: %s.\n",
- gnutls_strerror(ret));
+ _gnutls_audit_log(
+ session,
+ "There was an error parsing the OCSP response: %s.\n",
+ gnutls_strerror(ret));
ret = gnutls_assert_val(0);
check_failed = 1;
*ostatus |= GNUTLS_CERT_INVALID;
@@ -388,8 +380,9 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
} else {
/* there is a newer OCSP answer, don't trust this one */
if (ntime < now) {
- _gnutls_audit_log(session,
- "There is a newer OCSP response but was not provided by the server\n");
+ _gnutls_audit_log(
+ session,
+ "There is a newer OCSP response but was not provided by the server\n");
check_failed = 1;
*ostatus |= GNUTLS_CERT_INVALID;
*ostatus |= GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED;
@@ -398,7 +391,7 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
}
ret = 0;
- cleanup:
+cleanup:
if (check_failed == 0)
session->internals.ocsp_check_ok = 1;
@@ -407,10 +400,9 @@ check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t cert,
return ret;
}
-static int
-_gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
- gnutls_x509_crt_t cert,
- unsigned int *ocsp_status)
+static int _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
+ gnutls_x509_crt_t cert,
+ unsigned int *ocsp_status)
{
gnutls_x509_tlsfeatures_t tlsfeatures;
int i, ret;
@@ -434,9 +426,8 @@ _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
/* We have requested the status, now check whether the certificate mandates a response */
if (gnutls_x509_crt_get_tlsfeatures(cert, tlsfeatures, 0, NULL) == 0) {
for (i = 0;; ++i) {
- ret =
- gnutls_x509_tlsfeatures_get(tlsfeatures, i,
- &feature);
+ ret = gnutls_x509_tlsfeatures_get(tlsfeatures, i,
+ &feature);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
break;
}
@@ -446,7 +437,7 @@ _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
goto cleanup;
}
- if (feature == 5 /* TLS ID for status request */ ) {
+ if (feature == 5 /* TLS ID for status request */) {
/* We sent a status request, the certificate mandates a reply, but we did not get any. */
*ocsp_status |= GNUTLS_CERT_INVALID;
*ocsp_status |= GNUTLS_CERT_MISSING_OCSP_STATUS;
@@ -456,17 +447,18 @@ _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_x509_tlsfeatures_deinit(tlsfeatures);
return ret;
}
#endif
-#define CLEAR_CERTS for(x=0;x<peer_certificate_list_size;x++) { \
- if (peer_certificate_list[x]) \
- gnutls_x509_crt_deinit(peer_certificate_list[x]); \
- } \
- gnutls_free( peer_certificate_list)
+#define CLEAR_CERTS \
+ for (x = 0; x < peer_certificate_list_size; x++) { \
+ if (peer_certificate_list[x]) \
+ gnutls_x509_crt_deinit(peer_certificate_list[x]); \
+ } \
+ gnutls_free(peer_certificate_list)
/*-
* _gnutls_x509_cert_verify_peers - return the peer's certificate status
@@ -477,10 +469,9 @@ _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,
* However you must also check the peer's name in order to check if the verified certificate belongs to the
* actual peer. Returns a negative error code in case of an error, or GNUTLS_E_NO_CERTIFICATE_FOUND if no certificate was sent.
-*/
-int
-_gnutls_x509_cert_verify_peers(gnutls_session_t session,
- gnutls_typed_vdata_st * data,
- unsigned int elements, unsigned int *status)
+int _gnutls_x509_cert_verify_peers(gnutls_session_t session,
+ gnutls_typed_vdata_st *data,
+ unsigned int elements, unsigned int *status)
{
cert_auth_info_t info;
gnutls_certificate_credentials_t cred;
@@ -503,8 +494,8 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
return GNUTLS_E_INVALID_REQUEST;
}
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -518,15 +509,14 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
return GNUTLS_E_CONSTRAINT_ERROR;
}
- verify_flags =
- cred->verify_flags | session->internals.additional_verify_flags;
+ verify_flags = cred->verify_flags |
+ session->internals.additional_verify_flags;
/* generate a list of gnutls_certs based on the auth info
* raw certs.
*/
peer_certificate_list_size = info->ncerts;
- peer_certificate_list =
- gnutls_calloc(peer_certificate_list_size,
- sizeof(gnutls_x509_crt_t));
+ peer_certificate_list = gnutls_calloc(peer_certificate_list_size,
+ sizeof(gnutls_x509_crt_t));
if (peer_certificate_list == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -540,10 +530,9 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
return ret;
}
- ret =
- gnutls_x509_crt_import(peer_certificate_list[i],
- &info->raw_certificate_list[i],
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(peer_certificate_list[i],
+ &info->raw_certificate_list[i],
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
CLEAR_CERTS;
@@ -559,11 +548,9 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
for (i = 0; i < peer_certificate_list_size; i++) {
ret = gnutls_ocsp_status_request_get2(session, i, &resp);
if (ret < 0) {
- ret =
- _gnutls_ocsp_verify_mandatory_stapling(session,
- peer_certificate_list
- [i],
- &ocsp_status);
+ ret = _gnutls_ocsp_verify_mandatory_stapling(
+ session, peer_certificate_list[i],
+ &ocsp_status);
if (ret < 0) {
gnutls_assert();
CLEAR_CERTS;
@@ -580,12 +567,10 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
cand_issuers_size = peer_certificate_list_size - i - 1;
}
- ret =
- check_ocsp_response(session,
- peer_certificate_list[i],
- cred->tlist,
- verify_flags, cand_issuers,
- cand_issuers_size, &resp, &ocsp_status);
+ ret = check_ocsp_response(session, peer_certificate_list[i],
+ cred->tlist, verify_flags,
+ cand_issuers, cand_issuers_size,
+ &resp, &ocsp_status);
if (ret < 0) {
CLEAR_CERTS;
@@ -594,28 +579,22 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
}
#endif
- skip_ocsp:
+skip_ocsp:
/* Verify certificate
*/
if (session->internals.cert_output_callback != NULL) {
- _gnutls_debug_log
- ("Print full certificate path validation to trust root.\n");
- ret =
- gnutls_x509_trust_list_verify_crt2(cred->tlist,
- peer_certificate_list,
- peer_certificate_list_size,
- data, elements,
- verify_flags, status,
- session->
- internals.cert_output_callback);
+ _gnutls_debug_log(
+ "Print full certificate path validation to trust root.\n");
+ ret = gnutls_x509_trust_list_verify_crt2(
+ cred->tlist, peer_certificate_list,
+ peer_certificate_list_size, data, elements,
+ verify_flags, status,
+ session->internals.cert_output_callback);
} else {
- ret =
- gnutls_x509_trust_list_verify_crt2(cred->tlist,
- peer_certificate_list,
- peer_certificate_list_size,
- data, elements,
- verify_flags, status,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ cred->tlist, peer_certificate_list,
+ peer_certificate_list_size, data, elements,
+ verify_flags, status, NULL);
}
if (ret < 0) {
@@ -663,8 +642,8 @@ _gnutls_x509_cert_verify_peers(gnutls_session_t session,
* Returns: %GNUTLS_E_SUCCESS (0) when the validation is performed, or a negative error code otherwise.
* A successful error code means that the @status parameter must be checked to obtain the validation status.
**/
-int
-gnutls_certificate_verify_peers2(gnutls_session_t session, unsigned int *status)
+int gnutls_certificate_verify_peers2(gnutls_session_t session,
+ unsigned int *status)
{
return gnutls_certificate_verify_peers(session, NULL, 0, status);
}
@@ -709,9 +688,8 @@ gnutls_certificate_verify_peers2(gnutls_session_t session, unsigned int *status)
*
* Since: 3.1.4
**/
-int
-gnutls_certificate_verify_peers3(gnutls_session_t session,
- const char *hostname, unsigned int *status)
+int gnutls_certificate_verify_peers3(gnutls_session_t session,
+ const char *hostname, unsigned int *status)
{
gnutls_typed_vdata_st data;
@@ -767,10 +745,9 @@ gnutls_certificate_verify_peers3(gnutls_session_t session,
*
* Since: 3.3.0
**/
-int
-gnutls_certificate_verify_peers(gnutls_session_t session,
- gnutls_typed_vdata_st * data,
- unsigned int elements, unsigned int *status)
+int gnutls_certificate_verify_peers(gnutls_session_t session,
+ gnutls_typed_vdata_st *data,
+ unsigned int elements, unsigned int *status)
{
cert_auth_info_t info;
@@ -804,19 +781,19 @@ gnutls_certificate_verify_peers(gnutls_session_t session,
*
-*/
static time_t
-_gnutls_x509_get_raw_crt_activation_time(const gnutls_datum_t * cert)
+_gnutls_x509_get_raw_crt_activation_time(const gnutls_datum_t *cert)
{
gnutls_x509_crt_t xcert;
time_t result;
result = gnutls_x509_crt_init(&xcert);
if (result < 0)
- return (time_t) - 1;
+ return (time_t)-1;
result = gnutls_x509_crt_import(xcert, cert, GNUTLS_X509_FMT_DER);
if (result < 0) {
gnutls_x509_crt_deinit(xcert);
- return (time_t) - 1;
+ return (time_t)-1;
}
result = gnutls_x509_crt_get_activation_time(xcert);
@@ -837,19 +814,19 @@ _gnutls_x509_get_raw_crt_activation_time(const gnutls_datum_t * cert)
*
-*/
static time_t
-_gnutls_x509_get_raw_crt_expiration_time(const gnutls_datum_t * cert)
+_gnutls_x509_get_raw_crt_expiration_time(const gnutls_datum_t *cert)
{
gnutls_x509_crt_t xcert;
time_t result;
result = gnutls_x509_crt_init(&xcert);
if (result < 0)
- return (time_t) - 1;
+ return (time_t)-1;
result = gnutls_x509_crt_import(xcert, cert, GNUTLS_X509_FMT_DER);
if (result < 0) {
gnutls_x509_crt_deinit(xcert);
- return (time_t) - 1;
+ return (time_t)-1;
}
result = gnutls_x509_crt_get_expiration_time(xcert);
@@ -877,21 +854,20 @@ time_t gnutls_certificate_expiration_time_peers(gnutls_session_t session)
info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
if (info == NULL) {
- return (time_t) - 1;
+ return (time_t)-1;
}
if (info->raw_certificate_list == NULL || info->ncerts == 0) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
switch (get_certificate_type(session, GNUTLS_CTYPE_PEERS)) {
case GNUTLS_CRT_X509:
- return
- _gnutls_x509_get_raw_crt_expiration_time
- (&info->raw_certificate_list[0]);
+ return _gnutls_x509_get_raw_crt_expiration_time(
+ &info->raw_certificate_list[0]);
default:
- return (time_t) - 1;
+ return (time_t)-1;
}
}
@@ -913,20 +889,19 @@ time_t gnutls_certificate_activation_time_peers(gnutls_session_t session)
info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
if (info == NULL) {
- return (time_t) - 1;
+ return (time_t)-1;
}
if (info->raw_certificate_list == NULL || info->ncerts == 0) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
switch (get_certificate_type(session, GNUTLS_CTYPE_PEERS)) {
case GNUTLS_CRT_X509:
- return
- _gnutls_x509_get_raw_crt_activation_time
- (&info->raw_certificate_list[0]);
+ return _gnutls_x509_get_raw_crt_activation_time(
+ &info->raw_certificate_list[0]);
default:
- return (time_t) - 1;
+ return (time_t)-1;
}
}
diff --git a/lib/cipher-cbc.c b/lib/cipher-cbc.c
index 3b4992192a..732ffcc5fc 100644
--- a/lib/cipher-cbc.c
+++ b/lib/cipher-cbc.c
@@ -25,15 +25,15 @@
#include "gnutls_int.h"
#include "cipher.h"
-static void dummy_wait(record_parameters_st * params,
- const uint8_t * data, size_t data_size,
- unsigned int mac_data, unsigned int max_mac_data)
+static void dummy_wait(record_parameters_st *params, const uint8_t *data,
+ size_t data_size, unsigned int mac_data,
+ unsigned int max_mac_data)
{
/* this hack is only needed on CBC ciphers when Encrypt-then-MAC mode
* is not supported by the peer. */
unsigned v;
unsigned int tag_size =
- _gnutls_auth_cipher_tag_len(&params->read.ctx.tls12);
+ _gnutls_auth_cipher_tag_len(&params->read.ctx.tls12);
unsigned hash_block = _gnutls_mac_block_size(params->mac);
/* force additional hash compression function evaluations to prevent timing
@@ -43,14 +43,14 @@ static void dummy_wait(record_parameters_st * params,
if (params->mac && params->mac->id == GNUTLS_MAC_SHA384)
/* v = 1 for the hash function padding + 16 for message length */
v = 17;
- else /* v = 1 for the hash function padding + 8 for message length */
+ else /* v = 1 for the hash function padding + 8 for message length */
v = 9;
if (hash_block > 0) {
int max_blocks =
- (max_mac_data + v + hash_block - 1) / hash_block;
+ (max_mac_data + v + hash_block - 1) / hash_block;
int hashed_blocks =
- (mac_data + v + hash_block - 1) / hash_block;
+ (mac_data + v + hash_block - 1) / hash_block;
unsigned to_hash;
max_blocks -= hashed_blocks;
@@ -59,10 +59,10 @@ static void dummy_wait(record_parameters_st * params,
to_hash = max_blocks * hash_block;
if ((unsigned)to_hash + 1 + tag_size < data_size) {
- _gnutls_auth_cipher_add_auth
- (&params->read.ctx.tls12,
- data + data_size - tag_size - to_hash - 1,
- to_hash);
+ _gnutls_auth_cipher_add_auth(
+ &params->read.ctx.tls12,
+ data + data_size - tag_size - to_hash - 1,
+ to_hash);
}
}
}
@@ -71,11 +71,10 @@ static void dummy_wait(record_parameters_st * params,
* any leaks which could make CBC ciphersuites without EtM usable as an
* oracle to attacks.
*/
-int cbc_mac_verify(gnutls_session_t session, record_parameters_st * params,
- uint8_t preamble[MAX_PREAMBLE_SIZE],
- content_type_t type,
- uint64_t sequence,
- const uint8_t * data, size_t data_size, size_t tag_size)
+int cbc_mac_verify(gnutls_session_t session, record_parameters_st *params,
+ uint8_t preamble[MAX_PREAMBLE_SIZE], content_type_t type,
+ uint64_t sequence, const uint8_t *data, size_t data_size,
+ size_t tag_size)
{
int ret;
const version_entry_st *ver = get_version(session);
@@ -89,7 +88,7 @@ int cbc_mac_verify(gnutls_session_t session, record_parameters_st * params,
unsigned blocksize = _gnutls_cipher_get_block_size(params->cipher);
#endif
- pad = data[data_size - 1]; /* pad */
+ pad = data[data_size - 1]; /* pad */
/* Check the padding bytes (TLS 1.x).
* Note that we access all 256 bytes of ciphertext for padding check
@@ -108,8 +107,8 @@ int cbc_mac_verify(gnutls_session_t session, record_parameters_st * params,
}
}
- if (unlikely
- (pad_failed != 0 || (1 + pad > ((int)data_size - tag_size)))) {
+ if (unlikely(pad_failed != 0 ||
+ (1 + pad > ((int)data_size - tag_size)))) {
/* We do not fail here. We check below for the
* the pad_failed. If zero means success.
*/
@@ -124,16 +123,15 @@ int cbc_mac_verify(gnutls_session_t session, record_parameters_st * params,
* MAC.
*/
preamble_size =
- _gnutls_make_preamble(sequence, type, length, ver, preamble);
+ _gnutls_make_preamble(sequence, type, length, ver, preamble);
- ret =
- _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12, preamble,
- preamble_size);
+ ret = _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12, preamble,
+ preamble_size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- ret =
- _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12, data, length);
+ ret = _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12, data,
+ length);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
@@ -141,11 +139,10 @@ int cbc_mac_verify(gnutls_session_t session, record_parameters_st * params,
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- if (unlikely
- (gnutls_memcmp(tag, tag_ptr, tag_size) != 0 || pad_failed != 0)) {
+ if (unlikely(gnutls_memcmp(tag, tag_ptr, tag_size) != 0 ||
+ pad_failed != 0)) {
/* HMAC was not the same. */
- dummy_wait(params, data, data_size,
- length + preamble_size,
+ dummy_wait(params, data, data_size, length + preamble_size,
preamble_size + data_size - tag_size - 1);
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
diff --git a/lib/cipher.c b/lib/cipher.c
index eb4f2b8c90..352d631eed 100644
--- a/lib/cipher.c
+++ b/lib/cipher.c
@@ -44,81 +44,68 @@
#include <nettle/memxor.h>
-static int encrypt_packet(gnutls_session_t session,
- uint8_t * cipher_data, int cipher_size,
- gnutls_datum_t * plain,
- size_t min_pad,
- content_type_t _type, record_parameters_st * params);
-
-static int decrypt_packet(gnutls_session_t session,
- gnutls_datum_t * ciphertext,
- gnutls_datum_t * plain,
- content_type_t type,
- record_parameters_st * params, uint64_t sequence);
-
-static int
-decrypt_packet_tls13(gnutls_session_t session,
- gnutls_datum_t * ciphertext,
- gnutls_datum_t * plain,
- content_type_t * type, record_parameters_st * params,
- uint64_t sequence);
-
-static int
-encrypt_packet_tls13(gnutls_session_t session,
- uint8_t * cipher_data, size_t cipher_size,
- gnutls_datum_t * plain,
- size_t pad_size,
- uint8_t type, record_parameters_st * params);
+static int encrypt_packet(gnutls_session_t session, uint8_t *cipher_data,
+ int cipher_size, gnutls_datum_t *plain,
+ size_t min_pad, content_type_t _type,
+ record_parameters_st *params);
+
+static int decrypt_packet(gnutls_session_t session, gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plain, content_type_t type,
+ record_parameters_st *params, uint64_t sequence);
+
+static int decrypt_packet_tls13(gnutls_session_t session,
+ gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plain, content_type_t *type,
+ record_parameters_st *params,
+ uint64_t sequence);
+
+static int encrypt_packet_tls13(gnutls_session_t session, uint8_t *cipher_data,
+ size_t cipher_size, gnutls_datum_t *plain,
+ size_t pad_size, uint8_t type,
+ record_parameters_st *params);
/* returns ciphertext which contains the headers too. This also
* calculates the size in the header field.
*
*/
-int
-_gnutls_encrypt(gnutls_session_t session,
- const uint8_t * data, size_t data_size,
- size_t min_pad,
- mbuffer_st * bufel,
- content_type_t type, record_parameters_st * params)
+int _gnutls_encrypt(gnutls_session_t session, const uint8_t *data,
+ size_t data_size, size_t min_pad, mbuffer_st *bufel,
+ content_type_t type, record_parameters_st *params)
{
gnutls_datum_t plaintext;
const version_entry_st *vers =
- (session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT) &&
- !IS_SERVER(session) ?
- session->internals.resumed_security_parameters.pversion :
- get_version(session);
+ (session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT) &&
+ !IS_SERVER(session) ?
+ session->internals.resumed_security_parameters.pversion :
+ get_version(session);
int ret;
- plaintext.data = (uint8_t *) data;
+ plaintext.data = (uint8_t *)data;
plaintext.size = data_size;
if (vers && vers->tls13_sem) {
/* it fills the header, as it is included in the authenticated
* data of the AEAD cipher. */
- ret =
- encrypt_packet_tls13(session,
- _mbuffer_get_udata_ptr(bufel),
- _mbuffer_get_udata_size(bufel),
- &plaintext, min_pad, type, params);
+ ret = encrypt_packet_tls13(session,
+ _mbuffer_get_udata_ptr(bufel),
+ _mbuffer_get_udata_size(bufel),
+ &plaintext, min_pad, type, params);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
- ret =
- encrypt_packet(session,
- _mbuffer_get_udata_ptr(bufel),
- _mbuffer_get_udata_size
- (bufel), &plaintext, min_pad, type, params);
+ ret = encrypt_packet(session, _mbuffer_get_udata_ptr(bufel),
+ _mbuffer_get_udata_size(bufel), &plaintext,
+ min_pad, type, params);
if (ret < 0)
return gnutls_assert_val(ret);
-
}
if (IS_DTLS(session))
- _gnutls_write_uint16(ret, ((uint8_t *)
- _mbuffer_get_uhead_ptr(bufel)) + 11);
+ _gnutls_write_uint16(
+ ret, ((uint8_t *)_mbuffer_get_uhead_ptr(bufel)) + 11);
else
- _gnutls_write_uint16(ret, ((uint8_t *)
- _mbuffer_get_uhead_ptr(bufel)) + 3);
+ _gnutls_write_uint16(
+ ret, ((uint8_t *)_mbuffer_get_uhead_ptr(bufel)) + 3);
_mbuffer_set_udata_size(bufel, ret);
_mbuffer_set_uhead_size(bufel, 0);
@@ -131,12 +118,9 @@ _gnutls_encrypt(gnutls_session_t session,
*
* The output is preallocated with the maximum allowed data size.
*/
-int
-_gnutls_decrypt(gnutls_session_t session,
- gnutls_datum_t * ciphertext,
- gnutls_datum_t * output,
- content_type_t * type,
- record_parameters_st * params, uint64_t sequence)
+int _gnutls_decrypt(gnutls_session_t session, gnutls_datum_t *ciphertext,
+ gnutls_datum_t *output, content_type_t *type,
+ record_parameters_st *params, uint64_t sequence)
{
int ret;
const version_entry_st *vers = get_version(session);
@@ -145,25 +129,22 @@ _gnutls_decrypt(gnutls_session_t session,
return 0;
if (vers && vers->tls13_sem)
- ret =
- decrypt_packet_tls13(session, ciphertext,
- output, type, params, sequence);
+ ret = decrypt_packet_tls13(session, ciphertext, output, type,
+ params, sequence);
else
- ret =
- decrypt_packet(session, ciphertext,
- output, *type, params, sequence);
+ ret = decrypt_packet(session, ciphertext, output, *type, params,
+ sequence);
if (ret < 0)
return gnutls_assert_val(ret);
return ret;
}
-inline static int
-calc_enc_length_block(gnutls_session_t session,
- const version_entry_st * ver,
- int data_size,
- int hash_size, uint8_t * pad,
- unsigned auth_cipher, uint16_t blocksize, unsigned etm)
+inline static int calc_enc_length_block(gnutls_session_t session,
+ const version_entry_st *ver,
+ int data_size, int hash_size,
+ uint8_t *pad, unsigned auth_cipher,
+ uint16_t blocksize, unsigned etm)
{
/* pad is the LH pad the user wants us to add. Besides
* this LH pad, we only add minimal padding
@@ -174,7 +155,7 @@ calc_enc_length_block(gnutls_session_t session,
if (etm == 0)
pre_length += hash_size;
- new_pad = (uint8_t) (blocksize - (pre_length % blocksize)) + *pad;
+ new_pad = (uint8_t)(blocksize - (pre_length % blocksize)) + *pad;
if (new_pad > 255)
new_pad -= blocksize;
@@ -183,15 +164,15 @@ calc_enc_length_block(gnutls_session_t session,
length = data_size + hash_size + *pad;
if (_gnutls_version_has_explicit_iv(ver))
- length += blocksize; /* for the IV */
+ length += blocksize; /* for the IV */
return length;
}
-inline static int
-calc_enc_length_stream(gnutls_session_t session, int data_size,
- int hash_size, unsigned auth_cipher,
- unsigned exp_iv_size)
+inline static int calc_enc_length_stream(gnutls_session_t session,
+ int data_size, int hash_size,
+ unsigned auth_cipher,
+ unsigned exp_iv_size)
{
unsigned int length;
@@ -205,10 +186,9 @@ calc_enc_length_stream(gnutls_session_t session, int data_size,
/* generates the authentication data (data to be hashed only
* and are not to be sent). Returns their size.
*/
-int
-_gnutls_make_preamble(uint64_t uint64_data, uint8_t type, unsigned int length,
- const version_entry_st * ver,
- uint8_t preamble[MAX_PREAMBLE_SIZE])
+int _gnutls_make_preamble(uint64_t uint64_data, uint8_t type,
+ unsigned int length, const version_entry_st *ver,
+ uint8_t preamble[MAX_PREAMBLE_SIZE])
{
uint8_t *p = preamble;
uint16_t c_length;
@@ -222,7 +202,7 @@ _gnutls_make_preamble(uint64_t uint64_data, uint8_t type, unsigned int length,
#ifdef ENABLE_SSL3
if (ver->id != GNUTLS_SSL3)
#endif
- { /* TLS protocols */
+ { /* TLS protocols */
*p = ver->major;
p++;
*p = ver->minor;
@@ -238,12 +218,10 @@ _gnutls_make_preamble(uint64_t uint64_data, uint8_t type, unsigned int length,
* which has cipher_size size.
* return the actual encrypted data length.
*/
-static int
-encrypt_packet(gnutls_session_t session,
- uint8_t * cipher_data, int cipher_size,
- gnutls_datum_t * plain,
- size_t min_pad,
- content_type_t type, record_parameters_st * params)
+static int encrypt_packet(gnutls_session_t session, uint8_t *cipher_data,
+ int cipher_size, gnutls_datum_t *plain,
+ size_t min_pad, content_type_t type,
+ record_parameters_st *params)
{
uint8_t pad;
int length, ret;
@@ -266,8 +244,8 @@ encrypt_packet(gnutls_session_t session,
if (algo_type == CIPHER_BLOCK && params->etm != 0)
etm = 1;
- _gnutls_hard_log("ENC[%p]: cipher: %s, MAC: %s, Epoch: %u\n",
- session, _gnutls_cipher_get_name(params->cipher),
+ _gnutls_hard_log("ENC[%p]: cipher: %s, MAC: %s, Epoch: %u\n", session,
+ _gnutls_cipher_get_name(params->cipher),
_gnutls_mac_get_name(params->mac),
(unsigned int)params->epoch);
@@ -282,20 +260,18 @@ encrypt_packet(gnutls_session_t session,
pad = min_pad;
- length =
- calc_enc_length_block(session, ver, plain->size,
- tag_size, &pad, auth_cipher,
- blocksize, etm);
- } else { /* AEAD + STREAM */
+ length = calc_enc_length_block(session, ver, plain->size,
+ tag_size, &pad, auth_cipher,
+ blocksize, etm);
+ } else { /* AEAD + STREAM */
imp_iv_size =
- _gnutls_cipher_get_implicit_iv_size(params->cipher);
+ _gnutls_cipher_get_implicit_iv_size(params->cipher);
exp_iv_size =
- _gnutls_cipher_get_explicit_iv_size(params->cipher);
+ _gnutls_cipher_get_explicit_iv_size(params->cipher);
pad = 0;
- length =
- calc_enc_length_stream(session, plain->size,
- tag_size, auth_cipher, exp_iv_size);
+ length = calc_enc_length_stream(session, plain->size, tag_size,
+ auth_cipher, exp_iv_size);
}
if (length < 0)
@@ -314,22 +290,22 @@ encrypt_packet(gnutls_session_t session,
/* copy the random IV.
*/
memcpy(data_ptr, nonce, blocksize);
- ret =
- _gnutls_auth_cipher_setiv(&params->write.ctx.tls12,
- data_ptr, blocksize);
+ ret = _gnutls_auth_cipher_setiv(
+ &params->write.ctx.tls12, data_ptr, blocksize);
if (ret < 0)
return gnutls_assert_val(ret);
/*data_ptr += blocksize; */
cipher_data += blocksize;
}
- } else { /* AEAD */
- if ((params->cipher->flags & GNUTLS_CIPHER_FLAG_XOR_NONCE) == 0) {
+ } else { /* AEAD */
+ if ((params->cipher->flags & GNUTLS_CIPHER_FLAG_XOR_NONCE) ==
+ 0) {
/* Values in AEAD are pretty fixed in TLS 1.2 for 128-bit block
*/
if (params->write.iv_size != imp_iv_size)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
/* Instead of generating a new nonce on every packet, we use the
* write.sequence_number (It is a MAY on RFC 5288), and safer
@@ -343,12 +319,11 @@ encrypt_packet(gnutls_session_t session,
/*data_ptr += exp_iv_size; */
cipher_data += exp_iv_size;
- } else { /* XOR nonce with IV */
- if (unlikely
- (params->write.iv_size != 12 || imp_iv_size != 12
- || exp_iv_size != 0))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ } else { /* XOR nonce with IV */
+ if (unlikely(params->write.iv_size != 12 ||
+ imp_iv_size != 12 || exp_iv_size != 0))
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
memset(nonce, 0, 4);
_gnutls_write_uint64(params->write.sequence_number,
@@ -363,47 +338,39 @@ encrypt_packet(gnutls_session_t session,
else
ret = plain->size;
- preamble_size =
- _gnutls_make_preamble(params->write.sequence_number,
- type, ret, ver, preamble);
+ preamble_size = _gnutls_make_preamble(params->write.sequence_number,
+ type, ret, ver, preamble);
if (algo_type == CIPHER_BLOCK || algo_type == CIPHER_STREAM) {
/* add the authenticated data */
- ret =
- _gnutls_auth_cipher_add_auth(&params->write.ctx.tls12,
- preamble, preamble_size);
+ ret = _gnutls_auth_cipher_add_auth(&params->write.ctx.tls12,
+ preamble, preamble_size);
if (ret < 0)
return gnutls_assert_val(ret);
if (etm && explicit_iv) {
/* In EtM we need to hash the IV as well */
- ret =
- _gnutls_auth_cipher_add_auth(&params->write.
- ctx.tls12,
- full_cipher_ptr,
- blocksize);
+ ret = _gnutls_auth_cipher_add_auth(
+ &params->write.ctx.tls12, full_cipher_ptr,
+ blocksize);
if (ret < 0)
return gnutls_assert_val(ret);
}
/* Actual encryption.
*/
- ret =
- _gnutls_auth_cipher_encrypt2_tag(&params->write.ctx.tls12,
- plain->data,
- plain->size, cipher_data,
- cipher_size, pad);
+ ret = _gnutls_auth_cipher_encrypt2_tag(&params->write.ctx.tls12,
+ plain->data, plain->size,
+ cipher_data, cipher_size,
+ pad);
if (ret < 0)
return gnutls_assert_val(ret);
- } else { /* AEAD */
- ret =
- _gnutls_aead_cipher_encrypt(&params->write.ctx.tls12.cipher,
- nonce,
- imp_iv_size + exp_iv_size,
- preamble, preamble_size,
- tag_size, plain->data,
- plain->size, cipher_data,
- cipher_size);
+ } else { /* AEAD */
+ ret = _gnutls_aead_cipher_encrypt(
+ &params->write.ctx.tls12.cipher, nonce,
+ imp_iv_size + exp_iv_size, preamble, preamble_size,
+ tag_size, plain->data, plain->size, cipher_data,
+ cipher_size);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -411,12 +378,10 @@ encrypt_packet(gnutls_session_t session,
return length;
}
-static int
-encrypt_packet_tls13(gnutls_session_t session,
- uint8_t * cipher_data, size_t cipher_size,
- gnutls_datum_t * plain,
- size_t pad_size,
- uint8_t type, record_parameters_st * params)
+static int encrypt_packet_tls13(gnutls_session_t session, uint8_t *cipher_data,
+ size_t cipher_size, gnutls_datum_t *plain,
+ size_t pad_size, uint8_t type,
+ record_parameters_st *params)
{
int ret;
unsigned int tag_size = params->write.aead_tag_size;
@@ -431,8 +396,8 @@ encrypt_packet_tls13(gnutls_session_t session,
if (unlikely(ver == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- _gnutls_hard_log("ENC[%p]: cipher: %s, MAC: %s, Epoch: %u\n",
- session, _gnutls_cipher_get_name(params->cipher),
+ _gnutls_hard_log("ENC[%p]: cipher: %s, MAC: %s, Epoch: %u\n", session,
+ _gnutls_cipher_get_name(params->cipher),
_gnutls_mac_get_name(params->mac),
(unsigned int)params->epoch);
@@ -460,7 +425,7 @@ encrypt_packet_tls13(gnutls_session_t session,
/* check whether padding would exceed max */
if (total > max) {
- if (unlikely(max < (ssize_t) plain->size + 1))
+ if (unlikely(max < (ssize_t)plain->size + 1))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
pad_size = max - plain->size - 1;
@@ -479,7 +444,8 @@ encrypt_packet_tls13(gnutls_session_t session,
iov[0].iov_base = plain->data;
iov[0].iov_len = plain->size;
- if (pad_size || (session->internals.flags & GNUTLS_SAFE_PADDING_CHECK)) {
+ if (pad_size ||
+ (session->internals.flags & GNUTLS_SAFE_PADDING_CHECK)) {
uint8_t *pad = gnutls_calloc(1, 1 + pad_size);
if (pad == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -490,22 +456,18 @@ encrypt_packet_tls13(gnutls_session_t session,
iov[1].iov_len = 1 + pad_size;
ret = gnutls_aead_cipher_encryptv(&params->write.ctx.aead,
- nonce, iv_size,
- auth_iov, 1,
- tag_size,
- iov, 2,
- cipher_data, &cipher_size);
+ nonce, iv_size, auth_iov, 1,
+ tag_size, iov, 2, cipher_data,
+ &cipher_size);
gnutls_free(pad);
} else {
iov[1].iov_base = &type;
iov[1].iov_len = 1;
ret = gnutls_aead_cipher_encryptv(&params->write.ctx.aead,
- nonce, iv_size,
- auth_iov, 1,
- tag_size,
- iov, 2,
- cipher_data, &cipher_size);
+ nonce, iv_size, auth_iov, 1,
+ tag_size, iov, 2, cipher_data,
+ &cipher_size);
}
if (ret < 0)
@@ -517,12 +479,9 @@ encrypt_packet_tls13(gnutls_session_t session,
/* Deciphers the ciphertext packet, and puts the result to plain.
* Returns the actual plaintext packet size.
*/
-static int
-decrypt_packet(gnutls_session_t session,
- gnutls_datum_t * ciphertext,
- gnutls_datum_t * plain,
- content_type_t type, record_parameters_st * params,
- uint64_t sequence)
+static int decrypt_packet(gnutls_session_t session, gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plain, content_type_t type,
+ record_parameters_st *params, uint64_t sequence)
{
uint8_t tag[MAX_HASH_SIZE];
uint8_t nonce[MAX_CIPHER_IV_SIZE];
@@ -535,7 +494,7 @@ decrypt_packet(gnutls_session_t session,
unsigned int preamble_size = 0;
const version_entry_st *ver = get_version(session);
unsigned int tag_size =
- _gnutls_auth_cipher_tag_len(&params->read.ctx.tls12);
+ _gnutls_auth_cipher_tag_len(&params->read.ctx.tls12);
unsigned int explicit_iv = _gnutls_version_has_explicit_iv(ver);
unsigned imp_iv_size, exp_iv_size;
unsigned cipher_type = _gnutls_cipher_type(params->cipher);
@@ -554,18 +513,15 @@ decrypt_packet(gnutls_session_t session,
/* if EtM mode and not AEAD */
if (etm) {
if (unlikely(ciphertext->size < tag_size))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
-
- preamble_size = _gnutls_make_preamble(sequence,
- type,
- ciphertext->size -
- tag_size, ver, preamble);
-
- ret =
- _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12,
- preamble, preamble_size);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+
+ preamble_size = _gnutls_make_preamble(
+ sequence, type, ciphertext->size - tag_size, ver,
+ preamble);
+
+ ret = _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12,
+ preamble, preamble_size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
@@ -575,16 +531,15 @@ decrypt_packet(gnutls_session_t session,
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- ret =
- _gnutls_auth_cipher_tag(&params->read.ctx.tls12, tag,
- tag_size);
+ ret = _gnutls_auth_cipher_tag(&params->read.ctx.tls12, tag,
+ tag_size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- if (unlikely
- (gnutls_memcmp
- (tag, &ciphertext->data[ciphertext->size - tag_size],
- tag_size) != 0)) {
+ if (unlikely(gnutls_memcmp(tag,
+ &ciphertext->data[ciphertext->size -
+ tag_size],
+ tag_size) != 0)) {
/* HMAC was not the same. */
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
@@ -597,35 +552,33 @@ decrypt_packet(gnutls_session_t session,
/* The way AEAD ciphers are defined in RFC5246, it allows
* only stream ciphers.
*/
- if (unlikely
- (_gnutls_auth_cipher_is_aead(&params->read.ctx.tls12) == 0))
+ if (unlikely(_gnutls_auth_cipher_is_aead(
+ &params->read.ctx.tls12) == 0))
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
if (unlikely(ciphertext->size < (tag_size + exp_iv_size)))
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
- if ((params->cipher->flags & GNUTLS_CIPHER_FLAG_XOR_NONCE) == 0) {
+ if ((params->cipher->flags & GNUTLS_CIPHER_FLAG_XOR_NONCE) ==
+ 0) {
/* Values in AEAD are pretty fixed in TLS 1.2 for 128-bit block
*/
if (unlikely(params->read.iv_size != 4))
- return
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
+ return gnutls_assert_val(
+ GNUTLS_E_DECRYPTION_FAILED);
memcpy(nonce, params->read.iv, imp_iv_size);
- memcpy(&nonce[imp_iv_size],
- ciphertext->data, exp_iv_size);
+ memcpy(&nonce[imp_iv_size], ciphertext->data,
+ exp_iv_size);
ciphertext->data += exp_iv_size;
ciphertext->size -= exp_iv_size;
- } else { /* XOR nonce with IV */
- if (unlikely
- (params->read.iv_size != 12 || imp_iv_size != 12
- || exp_iv_size != 0))
- return
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
+ } else { /* XOR nonce with IV */
+ if (unlikely(params->read.iv_size != 12 ||
+ imp_iv_size != 12 || exp_iv_size != 0))
+ return gnutls_assert_val(
+ GNUTLS_E_DECRYPTION_FAILED);
memset(nonce, 0, 4);
_gnutls_write_uint64(sequence, &nonce[4]);
@@ -640,26 +593,23 @@ decrypt_packet(gnutls_session_t session,
/* Pass the type, version, length and plain through
* MAC.
*/
- preamble_size =
- _gnutls_make_preamble(sequence, type,
- length, ver, preamble);
+ preamble_size = _gnutls_make_preamble(sequence, type, length,
+ ver, preamble);
if (unlikely((unsigned)length_to_decrypt > plain->size)) {
- _gnutls_audit_log(session,
- "Received %u bytes, while expecting less than %u\n",
- (unsigned int)length_to_decrypt,
- (unsigned int)plain->size);
+ _gnutls_audit_log(
+ session,
+ "Received %u bytes, while expecting less than %u\n",
+ (unsigned int)length_to_decrypt,
+ (unsigned int)plain->size);
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
- ret =
- _gnutls_aead_cipher_decrypt(&params->read.ctx.tls12.cipher,
- nonce,
- exp_iv_size + imp_iv_size,
- preamble, preamble_size,
- tag_size, ciphertext->data,
- length_to_decrypt, plain->data,
- plain->size);
+ ret = _gnutls_aead_cipher_decrypt(
+ &params->read.ctx.tls12.cipher, nonce,
+ exp_iv_size + imp_iv_size, preamble, preamble_size,
+ tag_size, ciphertext->data, length_to_decrypt,
+ plain->data, plain->size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
@@ -668,9 +618,8 @@ decrypt_packet(gnutls_session_t session,
break;
case CIPHER_STREAM:
if (unlikely(ciphertext->size < tag_size))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
length_to_decrypt = ciphertext->size;
length = ciphertext->size - tag_size;
@@ -679,36 +628,33 @@ decrypt_packet(gnutls_session_t session,
/* Pass the type, version, length and plain through
* MAC.
*/
- preamble_size =
- _gnutls_make_preamble(sequence, type,
- length, ver, preamble);
+ preamble_size = _gnutls_make_preamble(sequence, type, length,
+ ver, preamble);
- ret =
- _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12,
- preamble, preamble_size);
+ ret = _gnutls_auth_cipher_add_auth(&params->read.ctx.tls12,
+ preamble, preamble_size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
if (unlikely((unsigned)length_to_decrypt > plain->size)) {
- _gnutls_audit_log(session,
- "Received %u bytes, while expecting less than %u\n",
- (unsigned int)length_to_decrypt,
- (unsigned int)plain->size);
+ _gnutls_audit_log(
+ session,
+ "Received %u bytes, while expecting less than %u\n",
+ (unsigned int)length_to_decrypt,
+ (unsigned int)plain->size);
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
- ret =
- _gnutls_auth_cipher_decrypt2(&params->read.ctx.tls12,
- ciphertext->data,
- length_to_decrypt,
- plain->data, plain->size);
+ ret = _gnutls_auth_cipher_decrypt2(&params->read.ctx.tls12,
+ ciphertext->data,
+ length_to_decrypt,
+ plain->data, plain->size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- ret =
- _gnutls_auth_cipher_tag(&params->read.ctx.tls12, tag,
- tag_size);
+ ret = _gnutls_auth_cipher_tag(&params->read.ctx.tls12, tag,
+ tag_size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
@@ -719,21 +665,19 @@ decrypt_packet(gnutls_session_t session,
break;
case CIPHER_BLOCK:
if (unlikely(ciphertext->size < blocksize))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
if (etm == 0) {
if (unlikely(ciphertext->size % blocksize != 0))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
} else {
- if (unlikely
- ((ciphertext->size - tag_size) % blocksize != 0))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ if (unlikely((ciphertext->size - tag_size) %
+ blocksize !=
+ 0))
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
/* ignore the IV in TLS 1.1+
@@ -762,11 +706,10 @@ decrypt_packet(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
if (etm == 0) {
- ret =
- _gnutls_cipher_decrypt2(&params->read.ctx.tls12.
- cipher, ciphertext->data,
- ciphertext->size,
- plain->data, plain->size);
+ ret = _gnutls_cipher_decrypt2(
+ &params->read.ctx.tls12.cipher,
+ ciphertext->data, ciphertext->size, plain->data,
+ plain->size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
@@ -777,22 +720,21 @@ decrypt_packet(gnutls_session_t session,
return gnutls_assert_val(ret);
length = ret;
- } else { /* EtM */
- ret =
- _gnutls_cipher_decrypt2(&params->read.ctx.tls12.
- cipher, ciphertext->data,
- ciphertext->size - tag_size,
- plain->data, plain->size);
+ } else { /* EtM */
+ ret = _gnutls_cipher_decrypt2(
+ &params->read.ctx.tls12.cipher,
+ ciphertext->data, ciphertext->size - tag_size,
+ plain->data, plain->size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- pad = plain->data[ciphertext->size - tag_size - 1]; /* pad */
+ pad = plain->data[ciphertext->size - tag_size -
+ 1]; /* pad */
length = ciphertext->size - tag_size - pad - 1;
if (unlikely(length < 0))
- return
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
+ return gnutls_assert_val(
+ GNUTLS_E_DECRYPTION_FAILED);
}
break;
default:
@@ -802,12 +744,10 @@ decrypt_packet(gnutls_session_t session,
return length;
}
-static int
-decrypt_packet_tls13(gnutls_session_t session,
- gnutls_datum_t * ciphertext,
- gnutls_datum_t * plain,
- content_type_t * type, record_parameters_st * params,
- uint64_t sequence)
+static int decrypt_packet_tls13(gnutls_session_t session,
+ gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plain, content_type_t *type,
+ record_parameters_st *params, uint64_t sequence)
{
uint8_t nonce[MAX_CIPHER_IV_SIZE];
size_t length, length_to_decrypt;
@@ -852,10 +792,11 @@ decrypt_packet_tls13(gnutls_session_t session,
length_to_decrypt = ciphertext->size;
if (unlikely((unsigned)length_to_decrypt > plain->size)) {
- _gnutls_audit_log(session,
- "Received %u bytes, while expecting less than %u\n",
- (unsigned int)length_to_decrypt,
- (unsigned int)plain->size);
+ _gnutls_audit_log(
+ session,
+ "Received %u bytes, while expecting less than %u\n",
+ (unsigned int)length_to_decrypt,
+ (unsigned int)plain->size);
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
@@ -864,10 +805,8 @@ decrypt_packet_tls13(gnutls_session_t session,
aad[2] = 0x03;
_gnutls_write_uint16(ciphertext->size, &aad[3]);
- ret = gnutls_aead_cipher_decrypt(&params->read.ctx.aead,
- nonce, iv_size,
- aad, sizeof(aad),
- tag_size,
+ ret = gnutls_aead_cipher_decrypt(&params->read.ctx.aead, nonce, iv_size,
+ aad, sizeof(aad), tag_size,
ciphertext->data, length_to_decrypt,
plain->data, &length);
if (unlikely(ret < 0))
@@ -875,9 +814,9 @@ decrypt_packet_tls13(gnutls_session_t session,
/* 1 octet for content type */
if (length > max_decrypted_size(session) + 1) {
- _gnutls_audit_log
- (session, "Received packet with illegal length: %u\n",
- (unsigned int)length);
+ _gnutls_audit_log(session,
+ "Received packet with illegal length: %u\n",
+ (unsigned int)length);
return gnutls_assert_val(GNUTLS_E_RECORD_OVERFLOW);
}
@@ -892,9 +831,8 @@ decrypt_packet_tls13(gnutls_session_t session,
*type = plain->data[j - 1];
length = j - 1;
length_set = 1;
- if (!
- (session->
- internals.flags & GNUTLS_SAFE_PADDING_CHECK))
+ if (!(session->internals.flags &
+ GNUTLS_SAFE_PADDING_CHECK))
break;
}
}
diff --git a/lib/cipher.h b/lib/cipher.h
index ee077ce47a..ae147df241 100644
--- a/lib/cipher.h
+++ b/lib/cipher.h
@@ -21,30 +21,25 @@
*/
#ifndef GNUTLS_LIB_CIPHER_H
-# define GNUTLS_LIB_CIPHER_H
+#define GNUTLS_LIB_CIPHER_H
-int _gnutls_encrypt(gnutls_session_t session,
- const uint8_t * data,
- size_t data_size, size_t min_pad,
- mbuffer_st * bufel,
- content_type_t type, record_parameters_st * params);
+int _gnutls_encrypt(gnutls_session_t session, const uint8_t *data,
+ size_t data_size, size_t min_pad, mbuffer_st *bufel,
+ content_type_t type, record_parameters_st *params);
-int _gnutls_decrypt(gnutls_session_t session,
- gnutls_datum_t * ciphertext, gnutls_datum_t * output,
- content_type_t * type, record_parameters_st * params,
- uint64_t sequence);
+int _gnutls_decrypt(gnutls_session_t session, gnutls_datum_t *ciphertext,
+ gnutls_datum_t *output, content_type_t *type,
+ record_parameters_st *params, uint64_t sequence);
-# define MAX_PREAMBLE_SIZE 16
+#define MAX_PREAMBLE_SIZE 16
-int
-_gnutls_make_preamble(uint64_t uint64_data, uint8_t type, unsigned int length,
- const version_entry_st * ver,
- uint8_t preamble[MAX_PREAMBLE_SIZE]);
+int _gnutls_make_preamble(uint64_t uint64_data, uint8_t type,
+ unsigned int length, const version_entry_st *ver,
+ uint8_t preamble[MAX_PREAMBLE_SIZE]);
-int cbc_mac_verify(gnutls_session_t session, record_parameters_st * params,
- uint8_t preamble[MAX_PREAMBLE_SIZE],
- content_type_t type,
- uint64_t sequence,
- const uint8_t * data, size_t data_size, size_t tag_size);
+int cbc_mac_verify(gnutls_session_t session, record_parameters_st *params,
+ uint8_t preamble[MAX_PREAMBLE_SIZE], content_type_t type,
+ uint64_t sequence, const uint8_t *data, size_t data_size,
+ size_t tag_size);
-#endif /* GNUTLS_LIB_CIPHER_H */
+#endif /* GNUTLS_LIB_CIPHER_H */
diff --git a/lib/cipher_int.c b/lib/cipher_int.c
index b5f7460782..34741a5ece 100644
--- a/lib/cipher_int.c
+++ b/lib/cipher_int.c
@@ -30,22 +30,25 @@
#include <fips.h>
#include <algorithms.h>
-#define SR_FB(x, cleanup) ret=(x); if ( ret<0 ) { \
- if (ret == GNUTLS_E_NEED_FALLBACK) { \
- if (handle->handle) \
- handle->deinit(handle->handle); \
- goto fallback; \
- } \
- gnutls_assert(); \
- ret = GNUTLS_E_INTERNAL_ERROR; \
- goto cleanup; \
- }
-
-#define SR(x, cleanup) if ( (x)<0 ) { \
- gnutls_assert(); \
- ret = GNUTLS_E_INTERNAL_ERROR; \
- goto cleanup; \
- }
+#define SR_FB(x, cleanup) \
+ ret = (x); \
+ if (ret < 0) { \
+ if (ret == GNUTLS_E_NEED_FALLBACK) { \
+ if (handle->handle) \
+ handle->deinit(handle->handle); \
+ goto fallback; \
+ } \
+ gnutls_assert(); \
+ ret = GNUTLS_E_INTERNAL_ERROR; \
+ goto cleanup; \
+ }
+
+#define SR(x, cleanup) \
+ if ((x) < 0) { \
+ gnutls_assert(); \
+ ret = GNUTLS_E_INTERNAL_ERROR; \
+ goto cleanup; \
+ }
/* Returns true(non-zero) or false(0) if the
* provided cipher exists
@@ -73,10 +76,9 @@ int _gnutls_cipher_exists(gnutls_cipher_algorithm_t cipher)
return ret;
}
-int
-_gnutls_cipher_init(cipher_hd_st * handle, const cipher_entry_st * e,
- const gnutls_datum_t * key, const gnutls_datum_t * iv,
- int enc)
+int _gnutls_cipher_init(cipher_hd_st *handle, const cipher_entry_st *e,
+ const gnutls_datum_t *key, const gnutls_datum_t *iv,
+ int enc)
{
int ret = GNUTLS_E_INTERNAL_ERROR;
const gnutls_crypto_cipher_st *cc = NULL;
@@ -117,8 +119,8 @@ _gnutls_cipher_init(cipher_hd_st * handle, const cipher_entry_st * e,
handle->deinit(handle->handle);
goto fallback;
}
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
SR(cc->setiv(handle->handle, iv->data, iv->size),
cc_cleanup);
@@ -127,7 +129,7 @@ _gnutls_cipher_init(cipher_hd_st * handle, const cipher_entry_st * e,
return 0;
}
- fallback:
+fallback:
handle->encrypt = _gnutls_cipher_ops.encrypt;
handle->decrypt = _gnutls_cipher_ops.decrypt;
handle->aead_encrypt = _gnutls_cipher_ops.aead_encrypt;
@@ -154,9 +156,8 @@ _gnutls_cipher_init(cipher_hd_st * handle, const cipher_entry_st * e,
}
if (iv) {
- ret =
- _gnutls_cipher_ops.setiv(handle->handle, iv->data,
- iv->size);
+ ret = _gnutls_cipher_ops.setiv(handle->handle, iv->data,
+ iv->size);
if (ret < 0) {
gnutls_assert();
goto cc_cleanup;
@@ -165,7 +166,7 @@ _gnutls_cipher_init(cipher_hd_st * handle, const cipher_entry_st * e,
return 0;
- cc_cleanup:
+cc_cleanup:
if (handle->handle)
handle->deinit(handle->handle);
@@ -175,12 +176,11 @@ _gnutls_cipher_init(cipher_hd_st * handle, const cipher_entry_st * e,
/* Auth_cipher API
*/
-int _gnutls_auth_cipher_init(auth_cipher_hd_st * handle,
- const cipher_entry_st * e,
- const gnutls_datum_t * cipher_key,
- const gnutls_datum_t * iv,
- const mac_entry_st * me,
- const gnutls_datum_t * mac_key, unsigned etm,
+int _gnutls_auth_cipher_init(auth_cipher_hd_st *handle,
+ const cipher_entry_st *e,
+ const gnutls_datum_t *cipher_key,
+ const gnutls_datum_t *iv, const mac_entry_st *me,
+ const gnutls_datum_t *mac_key, unsigned etm,
#ifdef ENABLE_SSL3
unsigned ssl_hmac,
#endif
@@ -198,9 +198,8 @@ int _gnutls_auth_cipher_init(auth_cipher_hd_st * handle,
if (e->id != GNUTLS_CIPHER_NULL) {
handle->non_null = 1;
- ret =
- _gnutls_cipher_init(&handle->cipher, e, cipher_key, iv,
- enc);
+ ret = _gnutls_cipher_init(&handle->cipher, e, cipher_key, iv,
+ enc);
if (ret < 0)
return gnutls_assert_val(ret);
} else
@@ -212,21 +211,20 @@ int _gnutls_auth_cipher_init(auth_cipher_hd_st * handle,
handle->ssl_hmac = ssl_hmac;
if (ssl_hmac)
- ret =
- _gnutls_mac_init_ssl3(&handle->mac.dig, me,
- mac_key->data, mac_key->size);
+ ret = _gnutls_mac_init_ssl3(&handle->mac.dig, me,
+ mac_key->data,
+ mac_key->size);
else
#endif
- ret =
- _gnutls_mac_init(&handle->mac.mac, me,
- mac_key->data, mac_key->size);
+ ret = _gnutls_mac_init(&handle->mac.mac, me,
+ mac_key->data, mac_key->size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
#ifdef ENABLE_GOST
handle->continuous_mac =
- !!(me->flags & GNUTLS_MAC_FLAG_CONTINUOUS_MAC);
+ !!(me->flags & GNUTLS_MAC_FLAG_CONTINUOUS_MAC);
#endif
handle->tag_size = _gnutls_mac_get_algo_len(me);
@@ -239,32 +237,30 @@ int _gnutls_auth_cipher_init(auth_cipher_hd_st * handle,
}
return 0;
- cleanup:
+cleanup:
if (handle->non_null != 0)
_gnutls_cipher_deinit(&handle->cipher);
return ret;
-
}
#ifdef ENABLE_SSL3
-# define MAC(handle, text, textlen) \
- if (handle->ssl_hmac) { \
- ret = \
- _gnutls_hash(&handle->mac.dig, text, textlen); \
- } else { \
- ret = _gnutls_mac(&handle->mac.mac, text, textlen); \
- } \
- if (unlikely(ret < 0)) \
- return gnutls_assert_val(ret)
+#define MAC(handle, text, textlen) \
+ if (handle->ssl_hmac) { \
+ ret = _gnutls_hash(&handle->mac.dig, text, textlen); \
+ } else { \
+ ret = _gnutls_mac(&handle->mac.mac, text, textlen); \
+ } \
+ if (unlikely(ret < 0)) \
+ return gnutls_assert_val(ret)
#else
-# define MAC(handle, text, textlen) \
- ret = _gnutls_mac(&handle->mac.mac, text, textlen); \
- if (unlikely(ret < 0)) \
- return gnutls_assert_val(ret)
+#define MAC(handle, text, textlen) \
+ ret = _gnutls_mac(&handle->mac.mac, text, textlen); \
+ if (unlikely(ret < 0)) \
+ return gnutls_assert_val(ret)
#endif
-int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st * handle,
- const void *text, int textlen)
+int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st *handle, const void *text,
+ int textlen)
{
int ret;
@@ -276,8 +272,8 @@ int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st * handle,
}
/* The caller must make sure that textlen+pad_size+tag_size is divided by the block size of the cipher */
-int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st * handle,
- const uint8_t * text, int textlen,
+int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st *handle,
+ const uint8_t *text, int textlen,
void *_ciphertext, int ciphertextlen,
int pad_size)
{
@@ -288,44 +284,42 @@ int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st * handle,
assert(ciphertext != NULL);
- if (handle->is_mac) { /* cipher + mac */
- if (handle->non_null == 0) { /* NULL cipher + MAC */
+ if (handle->is_mac) { /* cipher + mac */
+ if (handle->non_null == 0) { /* NULL cipher + MAC */
MAC(handle, text, textlen);
if (unlikely(textlen + pad_size + handle->tag_size) >
ciphertextlen)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
if (text != ciphertext)
memcpy(ciphertext, text, textlen);
- ret =
- _gnutls_auth_cipher_tag(handle,
- ciphertext + textlen,
- handle->tag_size);
+ ret = _gnutls_auth_cipher_tag(
+ handle, ciphertext + textlen, handle->tag_size);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
uint8_t *orig_ciphertext = ciphertext;
- if (handle->etm == 0
- || handle->cipher.e->type != CIPHER_BLOCK) {
+ if (handle->etm == 0 ||
+ handle->cipher.e->type != CIPHER_BLOCK) {
MAC(handle, text, textlen);
}
if (unlikely(textlen + pad_size + handle->tag_size) >
ciphertextlen)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
assert(blocksize != 0);
l = (textlen / blocksize) * blocksize;
if (l > 0) {
- ret =
- _gnutls_cipher_encrypt2(&handle->cipher,
- text, l, ciphertext,
- ciphertextlen);
+ ret = _gnutls_cipher_encrypt2(&handle->cipher,
+ text, l,
+ ciphertext,
+ ciphertextlen);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -338,13 +332,11 @@ int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st * handle,
if (ciphertext != text && textlen > 0)
memcpy(ciphertext, text, textlen);
- if (handle->etm == 0
- || handle->cipher.e->type != CIPHER_BLOCK) {
- ret =
- _gnutls_auth_cipher_tag(handle,
- ciphertext +
- textlen,
- handle->tag_size);
+ if (handle->etm == 0 ||
+ handle->cipher.e->type != CIPHER_BLOCK) {
+ ret = _gnutls_auth_cipher_tag(
+ handle, ciphertext + textlen,
+ handle->tag_size);
if (ret < 0)
return gnutls_assert_val(ret);
textlen += handle->tag_size;
@@ -357,46 +349,43 @@ int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st * handle,
textlen += pad_size;
}
- ret =
- _gnutls_cipher_encrypt2(&handle->cipher,
- ciphertext, textlen,
- ciphertext, ciphertextlen);
+ ret = _gnutls_cipher_encrypt2(&handle->cipher,
+ ciphertext, textlen,
+ ciphertext,
+ ciphertextlen);
if (ret < 0)
return gnutls_assert_val(ret);
- if (handle->etm != 0
- && handle->cipher.e->type == CIPHER_BLOCK) {
+ if (handle->etm != 0 &&
+ handle->cipher.e->type == CIPHER_BLOCK) {
MAC(handle, orig_ciphertext, l);
MAC(handle, ciphertext, textlen);
- ret =
- _gnutls_auth_cipher_tag(handle,
- ciphertext +
- textlen,
- handle->tag_size);
+ ret = _gnutls_auth_cipher_tag(
+ handle, ciphertext + textlen,
+ handle->tag_size);
if (ret < 0)
return gnutls_assert_val(ret);
}
}
} else if (_gnutls_cipher_is_aead(&handle->cipher)) {
- ret =
- _gnutls_cipher_encrypt2(&handle->cipher, text, textlen,
- ciphertext, ciphertextlen);
+ ret = _gnutls_cipher_encrypt2(&handle->cipher, text, textlen,
+ ciphertext, ciphertextlen);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- ret =
- _gnutls_auth_cipher_tag(handle, ciphertext + textlen,
- handle->tag_size);
+ ret = _gnutls_auth_cipher_tag(handle, ciphertext + textlen,
+ handle->tag_size);
if (unlikely(ret < 0))
return gnutls_assert_val(ret);
- } else if (handle->non_null == 0 && text != ciphertext) /* NULL cipher - no MAC */
+ } else if (handle->non_null == 0 &&
+ text != ciphertext) /* NULL cipher - no MAC */
memcpy(ciphertext, text, textlen);
return 0;
}
-int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st * handle,
+int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st *handle,
const void *ciphertext, int ciphertextlen,
void *text, int textlen)
{
@@ -405,8 +394,8 @@ int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st * handle,
if (unlikely(ciphertextlen > textlen))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- if (handle->is_mac
- && (handle->etm != 0 && handle->cipher.e->type == CIPHER_BLOCK)) {
+ if (handle->is_mac &&
+ (handle->etm != 0 && handle->cipher.e->type == CIPHER_BLOCK)) {
/* The MAC is not to be hashed */
ciphertextlen -= handle->tag_size;
@@ -414,16 +403,15 @@ int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st * handle,
}
if (handle->non_null != 0) {
- ret =
- _gnutls_cipher_decrypt2(&handle->cipher, ciphertext,
- ciphertextlen, text, textlen);
+ ret = _gnutls_cipher_decrypt2(&handle->cipher, ciphertext,
+ ciphertextlen, text, textlen);
if (ret < 0)
return gnutls_assert_val(ret);
} else if (handle->non_null == 0 && text != ciphertext)
memcpy(text, ciphertext, ciphertextlen);
- if (handle->is_mac
- && (handle->etm == 0 || handle->cipher.e->type != CIPHER_BLOCK)) {
+ if (handle->is_mac &&
+ (handle->etm == 0 || handle->cipher.e->type != CIPHER_BLOCK)) {
/* The MAC is not to be hashed */
ciphertextlen -= handle->tag_size;
@@ -433,28 +421,29 @@ int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st * handle,
return 0;
}
-int _gnutls_auth_cipher_tag(auth_cipher_hd_st * handle, void *tag, int tag_size)
+int _gnutls_auth_cipher_tag(auth_cipher_hd_st *handle, void *tag, int tag_size)
{
if (handle->is_mac) {
#ifdef ENABLE_SSL3
if (handle->ssl_hmac) {
int ret =
- _gnutls_mac_output_ssl3(&handle->mac.dig, tag);
+ _gnutls_mac_output_ssl3(&handle->mac.dig, tag);
if (ret < 0)
return gnutls_assert_val(ret);
} else
#endif
#ifdef ENABLE_GOST
/* draft-smyshlyaev-tls12-gost-suites section 4.1.2 */
- if (handle->continuous_mac) {
- mac_hd_st temp_mac;
- int ret = _gnutls_mac_copy(&handle->mac.mac, &temp_mac);
- if (ret < 0)
- return gnutls_assert_val(ret);
- _gnutls_mac_deinit(&temp_mac, tag);
- } else
+ if (handle->continuous_mac) {
+ mac_hd_st temp_mac;
+ int ret = _gnutls_mac_copy(&handle->mac.mac,
+ &temp_mac);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
+ _gnutls_mac_deinit(&temp_mac, tag);
+ } else
#endif
- _gnutls_mac_output(&handle->mac.mac, tag);
+ _gnutls_mac_output(&handle->mac.mac, tag);
} else if (_gnutls_cipher_is_aead(&handle->cipher)) {
_gnutls_cipher_tag(&handle->cipher, tag, tag_size);
} else
@@ -463,11 +452,11 @@ int _gnutls_auth_cipher_tag(auth_cipher_hd_st * handle, void *tag, int tag_size)
return 0;
}
-void _gnutls_auth_cipher_deinit(auth_cipher_hd_st * handle)
+void _gnutls_auth_cipher_deinit(auth_cipher_hd_st *handle)
{
if (handle->is_mac) {
#ifdef ENABLE_SSL3
- if (handle->ssl_hmac) /* failure here doesn't matter */
+ if (handle->ssl_hmac) /* failure here doesn't matter */
_gnutls_mac_deinit_ssl3(&handle->mac.dig, NULL);
else
#endif
diff --git a/lib/cipher_int.h b/lib/cipher_int.h
index ff6e3a1874..fd5bce640d 100644
--- a/lib/cipher_int.h
+++ b/lib/cipher_int.h
@@ -21,29 +21,25 @@
*/
#ifndef GNUTLS_LIB_CIPHER_INT_H
-# define GNUTLS_LIB_CIPHER_INT_H
+#define GNUTLS_LIB_CIPHER_INT_H
-# include <gnutls/crypto.h>
-# include "errors.h"
-# include <crypto-backend.h>
+#include <gnutls/crypto.h>
+#include "errors.h"
+#include <crypto-backend.h>
extern int crypto_cipher_prio;
extern gnutls_crypto_cipher_st _gnutls_cipher_ops;
-typedef int (*cipher_encrypt_func)(void *hd, const void *plaintext,
- size_t, void *ciphertext, size_t);
-typedef int (*cipher_decrypt_func)(void *hd, const void *ciphertext,
- size_t, void *plaintext, size_t);
-typedef int (*aead_cipher_encrypt_func)(void *hd,
- const void *nonce, size_t,
- const void *auth, size_t,
- size_t tag,
+typedef int (*cipher_encrypt_func)(void *hd, const void *plaintext, size_t,
+ void *ciphertext, size_t);
+typedef int (*cipher_decrypt_func)(void *hd, const void *ciphertext, size_t,
+ void *plaintext, size_t);
+typedef int (*aead_cipher_encrypt_func)(void *hd, const void *nonce, size_t,
+ const void *auth, size_t, size_t tag,
const void *plaintext, size_t,
void *ciphertext, size_t);
-typedef int (*aead_cipher_decrypt_func)(void *hd,
- const void *nonce, size_t,
- const void *auth, size_t,
- size_t tag,
+typedef int (*aead_cipher_decrypt_func)(void *hd, const void *nonce, size_t,
+ const void *auth, size_t, size_t tag,
const void *ciphertext, size_t,
void *plaintext, size_t);
typedef void (*cipher_deinit_func)(void *hd);
@@ -71,18 +67,18 @@ typedef struct {
cipher_deinit_func deinit;
} cipher_hd_st;
-int _gnutls_cipher_init(cipher_hd_st *, const cipher_entry_st * e,
- const gnutls_datum_t * key,
- const gnutls_datum_t * iv, int enc);
+int _gnutls_cipher_init(cipher_hd_st *, const cipher_entry_st *e,
+ const gnutls_datum_t *key, const gnutls_datum_t *iv,
+ int enc);
-inline static int _gnutls_cipher_setiv(const cipher_hd_st * handle,
+inline static int _gnutls_cipher_setiv(const cipher_hd_st *handle,
const void *iv, size_t ivlen)
{
return handle->setiv(handle->handle, iv, ivlen);
}
-inline static int _gnutls_cipher_getiv(const cipher_hd_st * handle,
- void *iv, size_t ivlen)
+inline static int _gnutls_cipher_getiv(const cipher_hd_st *handle, void *iv,
+ size_t ivlen)
{
if (unlikely(handle == NULL || handle->handle == NULL ||
handle->getiv == NULL))
@@ -91,15 +87,16 @@ inline static int _gnutls_cipher_getiv(const cipher_hd_st * handle,
return handle->getiv(handle->handle, iv, ivlen);
}
-inline static int _gnutls_cipher_setkey(const cipher_hd_st * handle,
+inline static int _gnutls_cipher_setkey(const cipher_hd_st *handle,
const void *key, size_t keylen)
{
return handle->setkey(handle->handle, key, keylen);
}
-inline static int
-_gnutls_cipher_encrypt2(const cipher_hd_st * handle, const void *text,
- size_t textlen, void *ciphertext, size_t ciphertextlen)
+inline static int _gnutls_cipher_encrypt2(const cipher_hd_st *handle,
+ const void *text, size_t textlen,
+ void *ciphertext,
+ size_t ciphertextlen)
{
if (likely(handle != NULL && handle->handle != NULL)) {
if (handle->encrypt == NULL) {
@@ -112,10 +109,10 @@ _gnutls_cipher_encrypt2(const cipher_hd_st * handle, const void *text,
return 0;
}
-inline static int
-_gnutls_cipher_decrypt2(const cipher_hd_st * handle,
- const void *ciphertext, size_t ciphertextlen,
- void *text, size_t textlen)
+inline static int _gnutls_cipher_decrypt2(const cipher_hd_st *handle,
+ const void *ciphertext,
+ size_t ciphertextlen, void *text,
+ size_t textlen)
{
if (likely(handle != NULL && handle->handle != NULL)) {
if (handle->decrypt == NULL) {
@@ -129,16 +126,13 @@ _gnutls_cipher_decrypt2(const cipher_hd_st * handle,
}
inline static int
-_gnutls_aead_cipher_encrypt(const cipher_hd_st * handle,
- const void *nonce, size_t nonce_len,
- const void *auth, size_t auth_len,
- size_t tag,
- const void *text, size_t textlen,
+_gnutls_aead_cipher_encrypt(const cipher_hd_st *handle, const void *nonce,
+ size_t nonce_len, const void *auth, size_t auth_len,
+ size_t tag, const void *text, size_t textlen,
void *ciphertext, size_t ciphertextlen)
{
- if (likely
- (handle != NULL && handle->handle != NULL
- && handle->aead_encrypt != NULL)) {
+ if (likely(handle != NULL && handle->handle != NULL &&
+ handle->aead_encrypt != NULL)) {
return handle->aead_encrypt(handle->handle, nonce, nonce_len,
auth, auth_len, tag, text, textlen,
ciphertext, ciphertextlen);
@@ -148,16 +142,13 @@ _gnutls_aead_cipher_encrypt(const cipher_hd_st * handle,
}
inline static int
-_gnutls_aead_cipher_decrypt(const cipher_hd_st * handle,
- const void *nonce, size_t nonce_len,
- const void *auth, size_t auth_len,
- size_t tag,
- const void *ciphertext, size_t ciphertextlen,
- void *text, size_t textlen)
+_gnutls_aead_cipher_decrypt(const cipher_hd_st *handle, const void *nonce,
+ size_t nonce_len, const void *auth, size_t auth_len,
+ size_t tag, const void *ciphertext,
+ size_t ciphertextlen, void *text, size_t textlen)
{
- if (likely
- (handle != NULL && handle->handle != NULL
- && handle->aead_decrypt != NULL)) {
+ if (likely(handle != NULL && handle->handle != NULL &&
+ handle->aead_decrypt != NULL)) {
return handle->aead_decrypt(handle->handle, nonce, nonce_len,
auth, auth_len, tag, ciphertext,
ciphertextlen, text, textlen);
@@ -166,7 +157,7 @@ _gnutls_aead_cipher_decrypt(const cipher_hd_st * handle,
return GNUTLS_E_INVALID_REQUEST;
}
-inline static void _gnutls_cipher_deinit(cipher_hd_st * handle)
+inline static void _gnutls_cipher_deinit(cipher_hd_st *handle)
{
if (likely(handle != NULL && handle->handle != NULL)) {
handle->deinit(handle->handle);
@@ -180,11 +171,11 @@ int _gnutls_cipher_get_iv(gnutls_cipher_hd_t handle, void *iv, size_t ivlen);
int _gnutls_cipher_set_key(gnutls_cipher_hd_t handle, void *key, size_t keylen);
-# define _gnutls_cipher_is_aead(h) _gnutls_cipher_algo_is_aead((h)->e)
+#define _gnutls_cipher_is_aead(h) _gnutls_cipher_algo_is_aead((h)->e)
/* returns the tag in AUTHENC ciphers */
-inline static void _gnutls_cipher_tag(const cipher_hd_st * handle,
- void *tag, size_t tag_size)
+inline static void _gnutls_cipher_tag(const cipher_hd_st *handle, void *tag,
+ size_t tag_size)
{
if (likely(handle != NULL && handle->handle != NULL)) {
handle->tag(handle->handle, tag, tag_size);
@@ -193,7 +184,7 @@ inline static void _gnutls_cipher_tag(const cipher_hd_st * handle,
/* Add auth data for AUTHENC ciphers
*/
-inline static int _gnutls_cipher_auth(const cipher_hd_st * handle,
+inline static int _gnutls_cipher_auth(const cipher_hd_st *handle,
const void *text, size_t textlen)
{
if (likely(handle != NULL && handle->handle != NULL)) {
@@ -202,8 +193,8 @@ inline static int _gnutls_cipher_auth(const cipher_hd_st * handle,
return GNUTLS_E_INTERNAL_ERROR;
}
-# define _gnutls_cipher_encrypt(x,y,z) _gnutls_cipher_encrypt2(x,y,z,y,z)
-# define _gnutls_cipher_decrypt(x,y,z) _gnutls_cipher_decrypt2(x,y,z,y,z)
+#define _gnutls_cipher_encrypt(x, y, z) _gnutls_cipher_encrypt2(x, y, z, y, z)
+#define _gnutls_cipher_decrypt(x, y, z) _gnutls_cipher_decrypt2(x, y, z, y, z)
/* auth_cipher API. Allows combining a cipher with a MAC.
*/
@@ -214,56 +205,53 @@ typedef struct {
digest_hd_st dig;
mac_hd_st mac;
} mac;
- unsigned int is_mac:1;
-# ifdef ENABLE_SSL3
- unsigned int ssl_hmac:1;
-# endif
-# ifdef ENABLE_GOST
- unsigned int continuous_mac:1;
-# endif
- unsigned int non_null:1;
- unsigned int etm:1;
+ unsigned int is_mac : 1;
+#ifdef ENABLE_SSL3
+ unsigned int ssl_hmac : 1;
+#endif
+#ifdef ENABLE_GOST
+ unsigned int continuous_mac : 1;
+#endif
+ unsigned int non_null : 1;
+ unsigned int etm : 1;
size_t tag_size;
} auth_cipher_hd_st;
-int _gnutls_auth_cipher_init(auth_cipher_hd_st * handle,
- const cipher_entry_st * e,
- const gnutls_datum_t * cipher_key,
- const gnutls_datum_t * iv,
- const mac_entry_st * me,
- const gnutls_datum_t * mac_key, unsigned etm,
-# ifdef ENABLE_SSL3
+int _gnutls_auth_cipher_init(auth_cipher_hd_st *handle,
+ const cipher_entry_st *e,
+ const gnutls_datum_t *cipher_key,
+ const gnutls_datum_t *iv, const mac_entry_st *me,
+ const gnutls_datum_t *mac_key, unsigned etm,
+#ifdef ENABLE_SSL3
unsigned ssl_hmac,
-# endif
+#endif
int enc);
-int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st * handle,
- const void *text, int textlen);
+int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st *handle, const void *text,
+ int textlen);
-int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st * handle,
- const uint8_t * text, int textlen,
+int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st *handle,
+ const uint8_t *text, int textlen,
void *ciphertext, int ciphertextlen,
int pad_size);
-int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st * handle,
+int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st *handle,
const void *ciphertext, int ciphertextlen,
void *text, int textlen);
-int _gnutls_auth_cipher_tag(auth_cipher_hd_st * handle, void *tag,
- int tag_size);
+int _gnutls_auth_cipher_tag(auth_cipher_hd_st *handle, void *tag, int tag_size);
-inline static int _gnutls_auth_cipher_setiv(const auth_cipher_hd_st *
- handle, const void *iv,
- size_t ivlen)
+inline static int _gnutls_auth_cipher_setiv(const auth_cipher_hd_st *handle,
+ const void *iv, size_t ivlen)
{
return _gnutls_cipher_setiv(&handle->cipher, iv, ivlen);
}
-inline static size_t _gnutls_auth_cipher_tag_len(auth_cipher_hd_st * handle)
+inline static size_t _gnutls_auth_cipher_tag_len(auth_cipher_hd_st *handle)
{
return handle->tag_size;
}
-# define _gnutls_auth_cipher_is_aead(h) _gnutls_cipher_is_aead(&(h)->cipher)
+#define _gnutls_auth_cipher_is_aead(h) _gnutls_cipher_is_aead(&(h)->cipher)
-void _gnutls_auth_cipher_deinit(auth_cipher_hd_st * handle);
+void _gnutls_auth_cipher_deinit(auth_cipher_hd_st *handle);
-#endif /* GNUTLS_LIB_CIPHER_INT_H */
+#endif /* GNUTLS_LIB_CIPHER_INT_H */
diff --git a/lib/compress.c b/lib/compress.c
index afaf86fe14..a6b04fdfa5 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -23,16 +23,16 @@
#include "compress.h"
#ifdef HAVE_LIBZ
-# include <zlib.h>
+#include <zlib.h>
#endif
#ifdef HAVE_LIBBROTLI
-# include <brotli/decode.h>
-# include <brotli/encode.h>
+#include <brotli/decode.h>
+#include <brotli/encode.h>
#endif
#ifdef HAVE_LIBZSTD
-# include <zstd.h>
+#include <zstd.h>
#endif
typedef struct {
@@ -40,33 +40,29 @@ typedef struct {
const char *name;
} comp_entry;
-static const comp_entry comp_algs[] = {
- {GNUTLS_COMP_NULL, "NULL"},
+static const comp_entry comp_algs[] = { { GNUTLS_COMP_NULL, "NULL" },
#ifdef HAVE_LIBZ
- {GNUTLS_COMP_ZLIB, "ZLIB"},
+ { GNUTLS_COMP_ZLIB, "ZLIB" },
#endif
#ifdef HAVE_LIBBROTLI
- {GNUTLS_COMP_BROTLI, "BROTLI"},
+ { GNUTLS_COMP_BROTLI, "BROTLI" },
#endif
#ifdef HAVE_LIBZSTD
- {GNUTLS_COMP_ZSTD, "ZSTD"},
+ { GNUTLS_COMP_ZSTD, "ZSTD" },
#endif
- {GNUTLS_COMP_UNKNOWN, NULL}
-};
+ { GNUTLS_COMP_UNKNOWN, NULL } };
-static const gnutls_compression_method_t alg_list[] = {
- GNUTLS_COMP_NULL,
+static const gnutls_compression_method_t alg_list[] = { GNUTLS_COMP_NULL,
#ifdef HAVE_LIBZ
- GNUTLS_COMP_ZLIB,
+ GNUTLS_COMP_ZLIB,
#endif
#ifdef HAVE_LIBBROTLI
- GNUTLS_COMP_BROTLI,
+ GNUTLS_COMP_BROTLI,
#endif
#ifdef HAVE_LIBZSTD
- GNUTLS_COMP_ZSTD,
+ GNUTLS_COMP_ZSTD,
#endif
- 0
-};
+ 0 };
/**
* gnutls_compression_get_name:
@@ -146,63 +142,47 @@ size_t _gnutls_compress_bound(gnutls_compression_method_t alg, size_t src_len)
return 0;
}
-int
-_gnutls_compress(gnutls_compression_method_t alg,
- uint8_t * dst, size_t dst_len,
- const uint8_t * src, size_t src_len)
+int _gnutls_compress(gnutls_compression_method_t alg, uint8_t *dst,
+ size_t dst_len, const uint8_t *src, size_t src_len)
{
int ret = GNUTLS_E_COMPRESSION_FAILED;
switch (alg) {
#ifdef HAVE_LIBZ
- case GNUTLS_COMP_ZLIB:
- {
- int err;
- uLongf comp_len = dst_len;
+ case GNUTLS_COMP_ZLIB: {
+ int err;
+ uLongf comp_len = dst_len;
- err = compress(dst, &comp_len, src, src_len);
- if (err != Z_OK)
- return
- gnutls_assert_val
- (GNUTLS_E_COMPRESSION_FAILED);
- ret = comp_len;
- }
- break;
+ err = compress(dst, &comp_len, src, src_len);
+ if (err != Z_OK)
+ return gnutls_assert_val(GNUTLS_E_COMPRESSION_FAILED);
+ ret = comp_len;
+ } break;
#endif
#ifdef HAVE_LIBBROTLI
- case GNUTLS_COMP_BROTLI:
- {
- BROTLI_BOOL err;
- size_t comp_len = dst_len;
-
- err = BrotliEncoderCompress(BROTLI_DEFAULT_QUALITY,
- BROTLI_DEFAULT_WINDOW,
- BROTLI_DEFAULT_MODE,
- src_len, src, &comp_len,
- dst);
- if (!err)
- return
- gnutls_assert_val
- (GNUTLS_E_COMPRESSION_FAILED);
- ret = comp_len;
- }
- break;
+ case GNUTLS_COMP_BROTLI: {
+ BROTLI_BOOL err;
+ size_t comp_len = dst_len;
+
+ err = BrotliEncoderCompress(BROTLI_DEFAULT_QUALITY,
+ BROTLI_DEFAULT_WINDOW,
+ BROTLI_DEFAULT_MODE, src_len, src,
+ &comp_len, dst);
+ if (!err)
+ return gnutls_assert_val(GNUTLS_E_COMPRESSION_FAILED);
+ ret = comp_len;
+ } break;
#endif
#ifdef HAVE_LIBZSTD
- case GNUTLS_COMP_ZSTD:
- {
- size_t comp_len;
+ case GNUTLS_COMP_ZSTD: {
+ size_t comp_len;
- comp_len =
- ZSTD_compress(dst, dst_len, src, src_len,
- ZSTD_CLEVEL_DEFAULT);
- if (ZSTD_isError(comp_len))
- return
- gnutls_assert_val
- (GNUTLS_E_COMPRESSION_FAILED);
- ret = comp_len;
- }
- break;
+ comp_len = ZSTD_compress(dst, dst_len, src, src_len,
+ ZSTD_CLEVEL_DEFAULT);
+ if (ZSTD_isError(comp_len))
+ return gnutls_assert_val(GNUTLS_E_COMPRESSION_FAILED);
+ ret = comp_len;
+ } break;
#endif
default:
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -216,59 +196,43 @@ _gnutls_compress(gnutls_compression_method_t alg,
return ret;
}
-int
-_gnutls_decompress(gnutls_compression_method_t alg,
- uint8_t * dst, size_t dst_len,
- const uint8_t * src, size_t src_len)
+int _gnutls_decompress(gnutls_compression_method_t alg, uint8_t *dst,
+ size_t dst_len, const uint8_t *src, size_t src_len)
{
int ret = GNUTLS_E_DECOMPRESSION_FAILED;
switch (alg) {
#ifdef HAVE_LIBZ
- case GNUTLS_COMP_ZLIB:
- {
- int err;
- uLongf plain_len = dst_len;
+ case GNUTLS_COMP_ZLIB: {
+ int err;
+ uLongf plain_len = dst_len;
- err = uncompress(dst, &plain_len, src, src_len);
- if (err != Z_OK)
- return
- gnutls_assert_val
- (GNUTLS_E_DECOMPRESSION_FAILED);
- ret = plain_len;
- }
- break;
+ err = uncompress(dst, &plain_len, src, src_len);
+ if (err != Z_OK)
+ return gnutls_assert_val(GNUTLS_E_DECOMPRESSION_FAILED);
+ ret = plain_len;
+ } break;
#endif
#ifdef HAVE_LIBBROTLI
- case GNUTLS_COMP_BROTLI:
- {
- BrotliDecoderResult err;
- size_t plain_len = dst_len;
+ case GNUTLS_COMP_BROTLI: {
+ BrotliDecoderResult err;
+ size_t plain_len = dst_len;
- err =
- BrotliDecoderDecompress(src_len, src, &plain_len,
- dst);
- if (err != BROTLI_DECODER_RESULT_SUCCESS)
- return
- gnutls_assert_val
- (GNUTLS_E_DECOMPRESSION_FAILED);
- ret = plain_len;
- }
- break;
+ err = BrotliDecoderDecompress(src_len, src, &plain_len, dst);
+ if (err != BROTLI_DECODER_RESULT_SUCCESS)
+ return gnutls_assert_val(GNUTLS_E_DECOMPRESSION_FAILED);
+ ret = plain_len;
+ } break;
#endif
#ifdef HAVE_LIBZSTD
- case GNUTLS_COMP_ZSTD:
- {
- size_t plain_len;
-
- plain_len = ZSTD_decompress(dst, dst_len, src, src_len);
- if (ZSTD_isError(plain_len))
- return
- gnutls_assert_val
- (GNUTLS_E_DECOMPRESSION_FAILED);
- ret = plain_len;
- }
- break;
+ case GNUTLS_COMP_ZSTD: {
+ size_t plain_len;
+
+ plain_len = ZSTD_decompress(dst, dst_len, src, src_len);
+ if (ZSTD_isError(plain_len))
+ return gnutls_assert_val(GNUTLS_E_DECOMPRESSION_FAILED);
+ ret = plain_len;
+ } break;
#endif
default:
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
diff --git a/lib/compress.h b/lib/compress.h
index 859004d0a3..7d31206e6f 100644
--- a/lib/compress.h
+++ b/lib/compress.h
@@ -21,14 +21,14 @@
*/
#ifndef GNUTLS_LIB_COMPRESS_H
-# define GNUTLS_LIB_COMPRESS_H
+#define GNUTLS_LIB_COMPRESS_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
size_t _gnutls_compress_bound(gnutls_compression_method_t alg, size_t src_len);
-int _gnutls_compress(gnutls_compression_method_t alg, uint8_t * dst,
- size_t dst_len, const uint8_t * src, size_t src_len);
-int _gnutls_decompress(gnutls_compression_method_t alg, uint8_t * dst,
- size_t dst_len, const uint8_t * src, size_t src_len);
+int _gnutls_compress(gnutls_compression_method_t alg, uint8_t *dst,
+ size_t dst_len, const uint8_t *src, size_t src_len);
+int _gnutls_decompress(gnutls_compression_method_t alg, uint8_t *dst,
+ size_t dst_len, const uint8_t *src, size_t src_len);
-#endif /* GNUTLS_LIB_COMPRESS_H */
+#endif /* GNUTLS_LIB_COMPRESS_H */
diff --git a/lib/constate.c b/lib/constate.c
index ab5f72c35e..70a887b6fe 100644
--- a/lib/constate.c
+++ b/lib/constate.c
@@ -45,18 +45,17 @@
static const char keyexp[] = "key expansion";
static const int keyexp_length = sizeof(keyexp) - 1;
-static int
-_tls13_init_record_state(gnutls_cipher_algorithm_t algo,
- record_state_st * state);
+static int _tls13_init_record_state(gnutls_cipher_algorithm_t algo,
+ record_state_st *state);
/* This function is to be called after handshake, when master_secret,
* client_random and server_random have been initialized.
* This function creates the keys and stores them into pending session.
* (session->cipher_specs)
*/
-static int
-_gnutls_set_keys(gnutls_session_t session, record_parameters_st * params,
- unsigned hash_size, unsigned IV_size, unsigned key_size)
+static int _gnutls_set_keys(gnutls_session_t session,
+ record_parameters_st *params, unsigned hash_size,
+ unsigned IV_size, unsigned key_size)
{
uint8_t rnd[2 * GNUTLS_RANDOM_SIZE];
int pos, ret;
@@ -87,25 +86,23 @@ _gnutls_set_keys(gnutls_session_t session, record_parameters_st * params,
_gnutls_memory_mark_defined(session->security_parameters.master_secret,
GNUTLS_MASTER_SIZE);
#ifdef ENABLE_SSL3
- if (get_num_version(session) == GNUTLS_SSL3) { /* SSL 3 */
- ret =
- _gnutls_ssl3_generate_random
- (session->security_parameters.master_secret,
- GNUTLS_MASTER_SIZE, rnd, 2 * GNUTLS_RANDOM_SIZE,
- block_size, key_block);
- } else /* TLS 1.0+ */
+ if (get_num_version(session) == GNUTLS_SSL3) { /* SSL 3 */
+ ret = _gnutls_ssl3_generate_random(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE, rnd, 2 * GNUTLS_RANDOM_SIZE,
+ block_size, key_block);
+ } else /* TLS 1.0+ */
#endif
- ret =
- _gnutls_PRF(session,
- session->security_parameters.master_secret,
- GNUTLS_MASTER_SIZE, keyexp, keyexp_length,
- rnd, 2 * GNUTLS_RANDOM_SIZE, block_size,
- key_block);
+ ret = _gnutls_PRF(session,
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE, keyexp, keyexp_length,
+ rnd, 2 * GNUTLS_RANDOM_SIZE, block_size,
+ key_block);
if (ret < 0) {
- _gnutls_memory_mark_undefined(session->
- security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
+ _gnutls_memory_mark_undefined(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
return gnutls_assert_val(ret);
}
@@ -129,14 +126,14 @@ _gnutls_set_keys(gnutls_session_t session, record_parameters_st * params,
_gnutls_hard_log("INT: CLIENT MAC KEY [%d]: %s\n",
client_write->mac_key_size,
_gnutls_bin2hex(client_write->mac_key,
- hash_size,
- buf, sizeof(buf), NULL));
+ hash_size, buf, sizeof(buf),
+ NULL));
_gnutls_hard_log("INT: SERVER MAC KEY [%d]: %s\n",
server_write->mac_key_size,
_gnutls_bin2hex(server_write->mac_key,
- hash_size,
- buf, sizeof(buf), NULL));
+ hash_size, buf, sizeof(buf),
+ NULL));
}
if (key_size > 0) {
@@ -151,18 +148,13 @@ _gnutls_set_keys(gnutls_session_t session, record_parameters_st * params,
pos += key_size;
- _gnutls_hard_log("INT: CLIENT WRITE KEY [%d]: %s\n",
- key_size,
- _gnutls_bin2hex(client_write->key,
- key_size,
+ _gnutls_hard_log("INT: CLIENT WRITE KEY [%d]: %s\n", key_size,
+ _gnutls_bin2hex(client_write->key, key_size,
buf, sizeof(buf), NULL));
- _gnutls_hard_log("INT: SERVER WRITE KEY [%d]: %s\n",
- key_size,
- _gnutls_bin2hex(server_write->key,
- key_size,
+ _gnutls_hard_log("INT: SERVER WRITE KEY [%d]: %s\n", key_size,
+ _gnutls_bin2hex(server_write->key, key_size,
buf, sizeof(buf), NULL));
-
}
/* IV generation in export and non export ciphers.
@@ -181,23 +173,22 @@ _gnutls_set_keys(gnutls_session_t session, record_parameters_st * params,
_gnutls_hard_log("INT: CLIENT WRITE IV [%d]: %s\n",
client_write->iv_size,
_gnutls_bin2hex(client_write->iv,
- client_write->iv_size,
- buf, sizeof(buf), NULL));
+ client_write->iv_size, buf,
+ sizeof(buf), NULL));
_gnutls_hard_log("INT: SERVER WRITE IV [%d]: %s\n",
server_write->iv_size,
_gnutls_bin2hex(server_write->iv,
- server_write->iv_size,
- buf, sizeof(buf), NULL));
+ server_write->iv_size, buf,
+ sizeof(buf), NULL));
}
return 0;
}
-static int
-_tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
- record_parameters_st * params,
- unsigned iv_size, unsigned key_size)
+static int _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
+ record_parameters_st *params, unsigned iv_size,
+ unsigned key_size)
{
uint8_t key_block[MAX_CIPHER_KEY_SIZE];
uint8_t iv_block[MAX_CIPHER_IV_SIZE];
@@ -221,20 +212,18 @@ _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
params->read.key_size = prev->read.key_size;
memcpy(params->read.key, prev->read.key, prev->read.key_size);
- _gnutls_hard_log("INT: READ KEY [%d]: %s\n",
- params->read.key_size,
- _gnutls_bin2hex(params->read.key,
- params->read.key_size, buf,
- sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: READ KEY [%d]: %s\n", params->read.key_size,
+ _gnutls_bin2hex(params->read.key, params->read.key_size,
+ buf, sizeof(buf), NULL));
params->read.iv_size = prev->read.iv_size;
memcpy(params->read.iv, prev->read.iv, prev->read.key_size);
- _gnutls_hard_log("INT: READ IV [%d]: %s\n",
- params->read.iv_size,
- _gnutls_bin2hex(params->read.iv,
- params->read.iv_size, buf,
- sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: READ IV [%d]: %s\n", params->read.iv_size,
+ _gnutls_bin2hex(params->read.iv, params->read.iv_size,
+ buf, sizeof(buf), NULL));
} else {
upd_state = &params->read;
@@ -258,64 +247,56 @@ _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
params->write.iv_size = prev->write.iv_size;
memcpy(params->write.iv, prev->write.iv, prev->write.iv_size);
- _gnutls_hard_log("INT: WRITE IV [%d]: %s\n",
- params->write.iv_size,
- _gnutls_bin2hex(params->write.iv,
- params->write.iv_size, buf,
- sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: WRITE IV [%d]: %s\n", params->write.iv_size,
+ _gnutls_bin2hex(params->write.iv, params->write.iv_size,
+ buf, sizeof(buf), NULL));
}
- if ((session->security_parameters.entity == GNUTLS_CLIENT
- && stage == STAGE_UPD_OURS)
- || (session->security_parameters.entity == GNUTLS_SERVER
- && stage == STAGE_UPD_PEERS)) {
-
+ if ((session->security_parameters.entity == GNUTLS_CLIENT &&
+ stage == STAGE_UPD_OURS) ||
+ (session->security_parameters.entity == GNUTLS_SERVER &&
+ stage == STAGE_UPD_PEERS)) {
/* client keys */
- ret = _tls13_expand_secret(session, APPLICATION_TRAFFIC_UPDATE,
- sizeof(APPLICATION_TRAFFIC_UPDATE) -
- 1, NULL, 0,
- session->key.proto.tls13.ap_ckey,
- session->security_parameters.
- prf->output_size,
- session->key.proto.tls13.ap_ckey);
+ ret = _tls13_expand_secret(
+ session, APPLICATION_TRAFFIC_UPDATE,
+ sizeof(APPLICATION_TRAFFIC_UPDATE) - 1, NULL, 0,
+ session->key.proto.tls13.ap_ckey,
+ session->security_parameters.prf->output_size,
+ session->key.proto.tls13.ap_ckey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "key", 3, NULL, 0,
- session->key.proto.tls13.ap_ckey,
- key_size, key_block);
+ ret = _tls13_expand_secret(session, "key", 3, NULL, 0,
+ session->key.proto.tls13.ap_ckey,
+ key_size, key_block);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "iv", 2, NULL, 0,
- session->key.proto.tls13.ap_ckey,
- iv_size, iv_block);
+ ret = _tls13_expand_secret(session, "iv", 2, NULL, 0,
+ session->key.proto.tls13.ap_ckey,
+ iv_size, iv_block);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
- ret = _tls13_expand_secret(session, APPLICATION_TRAFFIC_UPDATE,
- sizeof(APPLICATION_TRAFFIC_UPDATE) -
- 1, NULL, 0,
- session->key.proto.tls13.ap_skey,
- session->security_parameters.
- prf->output_size,
- session->key.proto.tls13.ap_skey);
+ ret = _tls13_expand_secret(
+ session, APPLICATION_TRAFFIC_UPDATE,
+ sizeof(APPLICATION_TRAFFIC_UPDATE) - 1, NULL, 0,
+ session->key.proto.tls13.ap_skey,
+ session->security_parameters.prf->output_size,
+ session->key.proto.tls13.ap_skey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "key", 3, NULL, 0,
- session->key.proto.tls13.ap_skey,
- key_size, key_block);
+ ret = _tls13_expand_secret(session, "key", 3, NULL, 0,
+ session->key.proto.tls13.ap_skey,
+ key_size, key_block);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "iv", 2, NULL, 0,
- session->key.proto.tls13.ap_skey,
- iv_size, iv_block);
+ ret = _tls13_expand_secret(session, "iv", 2, NULL, 0,
+ session->key.proto.tls13.ap_skey,
+ iv_size, iv_block);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -326,11 +307,10 @@ _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
memcpy(upd_state->key, key_block, key_size);
upd_state->key_size = key_size;
- _gnutls_hard_log("INT: NEW %s KEY [%d]: %s\n",
- (upd_state == &params->read) ? "READ" : "WRITE",
- key_size,
- _gnutls_bin2hex(key_block, key_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: NEW %s KEY [%d]: %s\n",
+ (upd_state == &params->read) ? "READ" : "WRITE", key_size,
+ _gnutls_bin2hex(key_block, key_size, buf, sizeof(buf), NULL));
if (iv_size > 0) {
assert(iv_size <= sizeof(upd_state->iv));
@@ -338,8 +318,9 @@ _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
upd_state->iv_size = iv_size;
_gnutls_hard_log("INT: NEW %s IV [%d]: %s\n",
- (upd_state ==
- &params->read) ? "READ" : "WRITE", iv_size,
+ (upd_state == &params->read) ? "READ" :
+ "WRITE",
+ iv_size,
_gnutls_bin2hex(iv_block, iv_size, buf,
sizeof(buf), NULL));
}
@@ -347,10 +328,9 @@ _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,
return 0;
}
-static int
-_tls13_set_early_keys(gnutls_session_t session,
- record_parameters_st * params,
- unsigned iv_size, unsigned key_size)
+static int _tls13_set_early_keys(gnutls_session_t session,
+ record_parameters_st *params, unsigned iv_size,
+ unsigned key_size)
{
uint8_t key_block[MAX_CIPHER_KEY_SIZE];
uint8_t iv_block[MAX_CIPHER_IV_SIZE];
@@ -363,19 +343,15 @@ _tls13_set_early_keys(gnutls_session_t session,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _tls13_expand_secret2(session->internals.
- resumed_security_parameters.prf, "key", 3,
- NULL, 0, session->key.proto.tls13.e_ckey,
- key_size, key_block);
+ ret = _tls13_expand_secret2(
+ session->internals.resumed_security_parameters.prf, "key", 3,
+ NULL, 0, session->key.proto.tls13.e_ckey, key_size, key_block);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret2(session->internals.
- resumed_security_parameters.prf, "iv", 2,
- NULL, 0, session->key.proto.tls13.e_ckey,
- iv_size, iv_block);
+ ret = _tls13_expand_secret2(
+ session->internals.resumed_security_parameters.prf, "iv", 2,
+ NULL, 0, session->key.proto.tls13.e_ckey, iv_size, iv_block);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -391,29 +367,26 @@ _tls13_set_early_keys(gnutls_session_t session,
memcpy(early_state->key, key_block, key_size);
early_state->key_size = key_size;
- _gnutls_hard_log("INT: EARLY KEY [%d]: %s\n",
- key_size,
- _gnutls_bin2hex(key_block, key_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: EARLY KEY [%d]: %s\n", key_size,
+ _gnutls_bin2hex(key_block, key_size, buf, sizeof(buf),
+ NULL));
if (iv_size > 0) {
assert(iv_size <= sizeof(early_state->iv));
memcpy(early_state->iv, iv_block, iv_size);
early_state->iv_size = iv_size;
- _gnutls_hard_log("INT: EARLY IV [%d]: %s\n",
- iv_size,
- _gnutls_bin2hex(iv_block, iv_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: EARLY IV [%d]: %s\n", iv_size,
+ _gnutls_bin2hex(iv_block, iv_size, buf,
+ sizeof(buf), NULL));
}
return 0;
}
-static int
-_tls13_set_keys(gnutls_session_t session, hs_stage_t stage,
- record_parameters_st * params,
- unsigned iv_size, unsigned key_size)
+static int _tls13_set_keys(gnutls_session_t session, hs_stage_t stage,
+ record_parameters_st *params, unsigned iv_size,
+ unsigned key_size)
{
uint8_t ckey_block[MAX_CIPHER_KEY_SIZE];
uint8_t civ_block[MAX_CIPHER_IV_SIZE];
@@ -428,12 +401,12 @@ _tls13_set_keys(gnutls_session_t session, hs_stage_t stage,
int ret;
if (stage == STAGE_UPD_OURS || stage == STAGE_UPD_PEERS)
- return _tls13_update_keys(session, stage,
- params, iv_size, key_size);
+ return _tls13_update_keys(session, stage, params, iv_size,
+ key_size);
else if (stage == STAGE_EARLY)
- return _tls13_set_early_keys(session,
- params, iv_size, key_size);
+ return _tls13_set_early_keys(session, params, iv_size,
+ key_size);
else if (stage == STAGE_HS) {
label = HANDSHAKE_CLIENT_TRAFFIC_LABEL;
@@ -444,37 +417,33 @@ _tls13_set_keys(gnutls_session_t session, hs_stage_t stage,
} else {
label = APPLICATION_CLIENT_TRAFFIC_LABEL;
label_size = sizeof(APPLICATION_CLIENT_TRAFFIC_LABEL) - 1;
- hsk_len =
- session->
- internals.handshake_hash_buffer_server_finished_len;
+ hsk_len = session->internals
+ .handshake_hash_buffer_server_finished_len;
keylog_label = "CLIENT_TRAFFIC_SECRET_0";
ckey = session->key.proto.tls13.ap_ckey;
}
- ret = _tls13_derive_secret(session, label, label_size,
- session->internals.
- handshake_hash_buffer.data, hsk_len,
- session->key.proto.tls13.temp_secret, ckey);
+ ret = _tls13_derive_secret(
+ session, label, label_size,
+ session->internals.handshake_hash_buffer.data, hsk_len,
+ session->key.proto.tls13.temp_secret, ckey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_call_keylog_func(session, keylog_label,
- ckey,
- session->security_parameters.
- prf->output_size);
+ ret = _gnutls_call_keylog_func(
+ session, keylog_label, ckey,
+ session->security_parameters.prf->output_size);
if (ret < 0)
return gnutls_assert_val(ret);
/* client keys */
- ret =
- _tls13_expand_secret(session, "key", 3, NULL, 0, ckey, key_size,
- ckey_block);
+ ret = _tls13_expand_secret(session, "key", 3, NULL, 0, ckey, key_size,
+ ckey_block);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "iv", 2, NULL, 0, ckey, iv_size,
- civ_block);
+ ret = _tls13_expand_secret(session, "iv", 2, NULL, 0, ckey, iv_size,
+ civ_block);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -491,30 +460,27 @@ _tls13_set_keys(gnutls_session_t session, hs_stage_t stage,
skey = session->key.proto.tls13.ap_skey;
}
- ret = _tls13_derive_secret(session, label, label_size,
- session->internals.
- handshake_hash_buffer.data, hsk_len,
- session->key.proto.tls13.temp_secret, skey);
+ ret = _tls13_derive_secret(
+ session, label, label_size,
+ session->internals.handshake_hash_buffer.data, hsk_len,
+ session->key.proto.tls13.temp_secret, skey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_call_keylog_func(session, keylog_label,
- skey,
- session->security_parameters.
- prf->output_size);
+ ret = _gnutls_call_keylog_func(
+ session, keylog_label, skey,
+ session->security_parameters.prf->output_size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "key", 3, NULL, 0, skey, key_size,
- skey_block);
+ ret = _tls13_expand_secret(session, "key", 3, NULL, 0, skey, key_size,
+ skey_block);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_expand_secret(session, "iv", 2, NULL, 0, skey, iv_size,
- siv_block);
+ ret = _tls13_expand_secret(session, "iv", 2, NULL, 0, skey, iv_size,
+ siv_block);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -533,49 +499,44 @@ _tls13_set_keys(gnutls_session_t session, hs_stage_t stage,
memcpy(client_write->key, ckey_block, key_size);
client_write->key_size = key_size;
- _gnutls_hard_log("INT: CLIENT WRITE KEY [%d]: %s\n",
- key_size,
- _gnutls_bin2hex(ckey_block, key_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: CLIENT WRITE KEY [%d]: %s\n", key_size,
+ _gnutls_bin2hex(ckey_block, key_size, buf, sizeof(buf),
+ NULL));
memcpy(server_write->key, skey_block, key_size);
server_write->key_size = key_size;
- _gnutls_hard_log("INT: SERVER WRITE KEY [%d]: %s\n",
- key_size,
- _gnutls_bin2hex(skey_block, key_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: SERVER WRITE KEY [%d]: %s\n", key_size,
+ _gnutls_bin2hex(skey_block, key_size, buf, sizeof(buf),
+ NULL));
if (iv_size > 0) {
assert(iv_size <= sizeof(client_write->iv));
memcpy(client_write->iv, civ_block, iv_size);
client_write->iv_size = iv_size;
- _gnutls_hard_log("INT: CLIENT WRITE IV [%d]: %s\n",
- iv_size,
- _gnutls_bin2hex(civ_block, iv_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: CLIENT WRITE IV [%d]: %s\n", iv_size,
+ _gnutls_bin2hex(civ_block, iv_size, buf,
+ sizeof(buf), NULL));
memcpy(server_write->iv, siv_block, iv_size);
server_write->iv_size = iv_size;
- _gnutls_hard_log("INT: SERVER WRITE IV [%d]: %s\n",
- iv_size,
- _gnutls_bin2hex(siv_block, iv_size,
- buf, sizeof(buf), NULL));
+ _gnutls_hard_log("INT: SERVER WRITE IV [%d]: %s\n", iv_size,
+ _gnutls_bin2hex(siv_block, iv_size, buf,
+ sizeof(buf), NULL));
}
- client_write->level = server_write->level = stage == STAGE_HS ?
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE :
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION;
+ client_write->level = server_write->level =
+ stage == STAGE_HS ? GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE :
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION;
return 0;
}
-static int
-_gnutls_init_record_state(record_parameters_st * params,
- const version_entry_st * ver, int read,
- record_state_st * state)
+static int _gnutls_init_record_state(record_parameters_st *params,
+ const version_entry_st *ver, int read,
+ record_state_st *state)
{
int ret;
gnutls_datum_t *iv = NULL, _iv;
@@ -600,13 +561,12 @@ _gnutls_init_record_state(record_parameters_st * params,
iv = &_iv;
}
- ret = _gnutls_auth_cipher_init(&state->ctx.tls12,
- params->cipher, &key, iv,
- params->mac, &mac, params->etm,
+ ret = _gnutls_auth_cipher_init(&state->ctx.tls12, params->cipher, &key,
+ iv, params->mac, &mac, params->etm,
#ifdef ENABLE_SSL3
(ver->id == GNUTLS_SSL3) ? 1 : 0,
#endif
- 1 - read /*1==encrypt */ );
+ 1 - read /*1==encrypt */);
if (ret < 0 && params->cipher->id != GNUTLS_CIPHER_NULL) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return gnutls_assert_val(ret);
@@ -620,9 +580,8 @@ _gnutls_init_record_state(record_parameters_st * params,
return 0;
}
-int
-_gnutls_set_cipher_suite2(gnutls_session_t session,
- const gnutls_cipher_suite_entry_st * cs)
+int _gnutls_set_cipher_suite2(gnutls_session_t session,
+ const gnutls_cipher_suite_entry_st *cs)
{
const cipher_entry_st *cipher_algo;
const mac_entry_st *mac_algo;
@@ -638,13 +597,11 @@ _gnutls_set_cipher_suite2(gnutls_session_t session,
mac_algo = mac_to_entry(cs->mac_algorithm);
if (ver->tls13_sem && (session->internals.hsk_flags & HSK_HRR_SENT)) {
- if (params->initialized && (params->cipher != cipher_algo ||
- params->mac != mac_algo
- || cs !=
- session->security_parameters.cs))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ if (params->initialized &&
+ (params->cipher != cipher_algo || params->mac != mac_algo ||
+ cs != session->security_parameters.cs))
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
return 0;
}
@@ -652,18 +609,18 @@ _gnutls_set_cipher_suite2(gnutls_session_t session,
/* The params shouldn't have been initialized at this point, unless we
* are doing trial encryption/decryption of early data.
*/
- if (unlikely
- (!((session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT &&
- !IS_SERVER(session)) ||
- (session->internals.hsk_flags & HSK_EARLY_DATA_ACCEPTED &&
- IS_SERVER(session))) &&
- (params->initialized
- || params->cipher != NULL || params->mac != NULL))) {
+ if (unlikely(
+ !((session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT &&
+ !IS_SERVER(session)) ||
+ (session->internals.hsk_flags & HSK_EARLY_DATA_ACCEPTED &&
+ IS_SERVER(session))) &&
+ (params->initialized || params->cipher != NULL ||
+ params->mac != NULL))) {
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
- if (_gnutls_cipher_is_ok(cipher_algo) == 0
- || _gnutls_mac_is_ok(mac_algo) == 0)
+ if (_gnutls_cipher_is_ok(cipher_algo) == 0 ||
+ _gnutls_mac_is_ok(mac_algo) == 0)
return gnutls_assert_val(GNUTLS_E_UNWANTED_ALGORITHM);
if (_gnutls_version_has_selectable_prf(get_version(session))) {
@@ -673,7 +630,7 @@ _gnutls_set_cipher_suite2(gnutls_session_t session,
session->security_parameters.prf = mac_to_entry(cs->prf);
} else {
session->security_parameters.prf =
- mac_to_entry(GNUTLS_MAC_MD5_SHA1);
+ mac_to_entry(GNUTLS_MAC_MD5_SHA1);
}
session->security_parameters.cs = cs;
@@ -721,9 +678,9 @@ int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,
record_parameters_st *params;
int ret;
const version_entry_st *ver =
- stage == STAGE_EARLY && !IS_SERVER(session) ?
- session->internals.resumed_security_parameters.pversion :
- get_version(session);
+ stage == STAGE_EARLY && !IS_SERVER(session) ?
+ session->internals.resumed_security_parameters.pversion :
+ get_version(session);
if (unlikely(ver == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -735,8 +692,8 @@ int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,
if (params->initialized)
return 0;
- _gnutls_record_log
- ("REC[%p]: Initializing epoch #%u\n", session, params->epoch);
+ _gnutls_record_log("REC[%p]: Initializing epoch #%u\n", session,
+ params->epoch);
if (_gnutls_cipher_is_ok(params->cipher) == 0 ||
_gnutls_mac_is_ok(params->mac) == 0)
@@ -754,31 +711,29 @@ int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,
params->etm = session->security_parameters.etm;
if (ver->tls13_sem) {
- ret = _tls13_set_keys
- (session, stage, params, IV_size, key_size);
+ ret = _tls13_set_keys(session, stage, params, IV_size,
+ key_size);
if (ret < 0)
return gnutls_assert_val(ret);
if (stage != STAGE_EARLY ||
session->security_parameters.entity == GNUTLS_SERVER) {
- ret =
- _tls13_init_record_state(params->cipher->id,
- &params->read);
+ ret = _tls13_init_record_state(params->cipher->id,
+ &params->read);
if (ret < 0)
return gnutls_assert_val(ret);
}
if (stage != STAGE_EARLY ||
session->security_parameters.entity == GNUTLS_CLIENT) {
- ret =
- _tls13_init_record_state(params->cipher->id,
- &params->write);
+ ret = _tls13_init_record_state(params->cipher->id,
+ &params->write);
if (ret < 0)
return gnutls_assert_val(ret);
}
} else {
- ret = _gnutls_set_keys
- (session, params, hash_size, IV_size, key_size);
+ ret = _gnutls_set_keys(session, params, hash_size, IV_size,
+ key_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -794,24 +749,23 @@ int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,
/* The TLS1.3 limit of 256 additional bytes is also enforced under CBC
* ciphers to ensure we interoperate with gnutls 2.12.x which could add padding
* data exceeding the maximum. */
- if (ver->tls13_sem
- || _gnutls_cipher_type(params->cipher) == CIPHER_BLOCK) {
+ if (ver->tls13_sem ||
+ _gnutls_cipher_type(params->cipher) == CIPHER_BLOCK) {
session->internals.max_recv_size = 256;
} else {
session->internals.max_recv_size = 0;
}
if (!ver->tls13_sem) {
- session->internals.max_recv_size +=
- _gnutls_record_overhead(ver, params->cipher, params->mac,
- 1);
+ session->internals.max_recv_size += _gnutls_record_overhead(
+ ver, params->cipher, params->mac, 1);
if (session->internals.allow_large_records != 0)
session->internals.max_recv_size += EXTRA_COMP_SIZE;
}
session->internals.max_recv_size +=
- session->security_parameters.max_record_recv_size +
- RECORD_HEADER_SIZE(session);
+ session->security_parameters.max_record_recv_size +
+ RECORD_HEADER_SIZE(session);
_dtls_reset_window(params);
@@ -825,7 +779,7 @@ int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,
void _gnutls_set_resumed_parameters(gnutls_session_t session)
{
security_parameters_st *src =
- &session->internals.resumed_security_parameters;
+ &session->internals.resumed_security_parameters;
security_parameters_st *dst = &session->security_parameters;
const version_entry_st *ver = get_version(session);
@@ -859,9 +813,8 @@ void _gnutls_set_resumed_parameters(gnutls_session_t session)
dst->client_auth_type = src->client_auth_type;
dst->server_auth_type = src->server_auth_type;
- if (!ver->tls13_sem &&
- !(session->
- internals.hsk_flags & HSK_RECORD_SIZE_LIMIT_NEGOTIATED)) {
+ if (!ver->tls13_sem && !(session->internals.hsk_flags &
+ HSK_RECORD_SIZE_LIMIT_NEGOTIATED)) {
dst->max_record_recv_size = src->max_record_recv_size;
dst->max_record_send_size = src->max_record_send_size;
}
@@ -877,7 +830,7 @@ int _gnutls_connection_state_init(gnutls_session_t session)
{
int ret;
-/* Setup the master secret
+ /* Setup the master secret
*/
if ((ret = _gnutls_generate_master(session, 0)) < 0)
return gnutls_assert_val(ret);
@@ -904,8 +857,8 @@ int _gnutls_read_connection_state_init(gnutls_session_t session)
if (ret < 0)
return ret;
- _gnutls_handshake_log("HSK[%p]: Cipher Suite: %s\n",
- session, session->security_parameters.cs->name);
+ _gnutls_handshake_log("HSK[%p]: Cipher Suite: %s\n", session,
+ session->security_parameters.cs->name);
session->security_parameters.epoch_read = epoch_next;
@@ -922,12 +875,13 @@ int _gnutls_write_connection_state_init(gnutls_session_t session)
/* reset max_record_send_size if it was negotiated in the
* previous handshake using the record_size_limit extension */
- if (!(session->internals.hsk_flags & HSK_RECORD_SIZE_LIMIT_NEGOTIATED)
- && session->security_parameters.entity == GNUTLS_SERVER)
+ if (!(session->internals.hsk_flags &
+ HSK_RECORD_SIZE_LIMIT_NEGOTIATED) &&
+ session->security_parameters.entity == GNUTLS_SERVER)
session->security_parameters.max_record_send_size =
- session->security_parameters.max_user_record_send_size;
+ session->security_parameters.max_user_record_send_size;
-/* Update internals from CipherSuite selected.
+ /* Update internals from CipherSuite selected.
* If we are resuming just copy the connection session
*/
if (session->internals.resumed &&
@@ -941,18 +895,17 @@ int _gnutls_write_connection_state_init(gnutls_session_t session)
_gnutls_handshake_log("HSK[%p]: Cipher Suite: %s\n", session,
session->security_parameters.cs->name);
- _gnutls_handshake_log
- ("HSK[%p]: Initializing internal [write] cipher sessions\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Initializing internal [write] cipher sessions\n",
+ session);
session->security_parameters.epoch_write = epoch_next;
return 0;
}
-static inline int
-epoch_resolve(gnutls_session_t session,
- unsigned int epoch_rel, uint16_t * epoch_out)
+static inline int epoch_resolve(gnutls_session_t session,
+ unsigned int epoch_rel, uint16_t *epoch_out)
{
switch (epoch_rel) {
case EPOCH_READ_CURRENT:
@@ -976,15 +929,15 @@ epoch_resolve(gnutls_session_t session,
}
}
-static inline record_parameters_st **epoch_get_slot(gnutls_session_t
- session, uint16_t epoch)
+static inline record_parameters_st **epoch_get_slot(gnutls_session_t session,
+ uint16_t epoch)
{
uint16_t epoch_index = epoch - session->security_parameters.epoch_min;
if (epoch_index >= MAX_EPOCH_INDEX) {
- _gnutls_handshake_log
- ("Epoch %d out of range (idx: %d, max: %d)\n",
- (int)epoch, (int)epoch_index, MAX_EPOCH_INDEX);
+ _gnutls_handshake_log(
+ "Epoch %d out of range (idx: %d, max: %d)\n",
+ (int)epoch, (int)epoch_index, MAX_EPOCH_INDEX);
gnutls_assert();
return NULL;
}
@@ -992,9 +945,8 @@ static inline record_parameters_st **epoch_get_slot(gnutls_session_t
return &session->record_parameters[epoch_index];
}
-int
-_gnutls_epoch_get(gnutls_session_t session, unsigned int epoch_rel,
- record_parameters_st ** params_out)
+int _gnutls_epoch_get(gnutls_session_t session, unsigned int epoch_rel,
+ record_parameters_st **params_out)
{
uint16_t epoch;
record_parameters_st **params;
@@ -1019,7 +971,7 @@ _gnutls_epoch_get(gnutls_session_t session, unsigned int epoch_rel,
ret = 0;
- cleanup:
+cleanup:
gnutls_mutex_unlock(&session->internals.epoch_lock);
return ret;
}
@@ -1028,9 +980,8 @@ _gnutls_epoch_get(gnutls_session_t session, unsigned int epoch_rel,
* is to be setup, call with @null_epoch set to true. In that case
* the epoch is fully initialized after call.
*/
-int
-_gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch,
- record_parameters_st ** newp)
+int _gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch,
+ record_parameters_st **newp)
{
record_parameters_st **slot;
@@ -1040,12 +991,12 @@ _gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch,
if (slot == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if (*slot != NULL) { /* already initialized */
+ if (*slot != NULL) { /* already initialized */
if (unlikely(null_epoch && !(*slot)->initialized))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- if (unlikely
- ((*slot)->epoch != session->security_parameters.epoch_next))
+ if (unlikely((*slot)->epoch !=
+ session->security_parameters.epoch_next))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
goto finish;
@@ -1072,20 +1023,20 @@ _gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch,
if (IS_DTLS(session)) {
uint64_t seq = (*slot)->write.sequence_number;
seq &= UINT64_C(0xffffffffffff);
- seq |=
- ((uint64_t) session->security_parameters.epoch_next) << 48;
+ seq |= ((uint64_t)session->security_parameters.epoch_next)
+ << 48;
(*slot)->write.sequence_number = seq;
}
- finish:
+finish:
if (newp != NULL)
*newp = *slot;
return 0;
}
-static inline int
-epoch_is_active(gnutls_session_t session, record_parameters_st * params)
+static inline int epoch_is_active(gnutls_session_t session,
+ record_parameters_st *params)
{
const security_parameters_st *sp = &session->security_parameters;
@@ -1101,8 +1052,8 @@ epoch_is_active(gnutls_session_t session, record_parameters_st * params)
return 0;
}
-static inline int
-epoch_alive(gnutls_session_t session, record_parameters_st * params)
+static inline int epoch_alive(gnutls_session_t session,
+ record_parameters_st *params)
{
if (params->usage_cnt > 0)
return 1;
@@ -1122,19 +1073,19 @@ void _gnutls_epoch_gc(gnutls_session_t session)
/* Free all dead cipher state */
for (i = 0; i < MAX_EPOCH_INDEX; i++) {
if (session->record_parameters[i] != NULL) {
- if (!epoch_is_active
- (session, session->record_parameters[i])
- && session->record_parameters[i]->usage_cnt)
- _gnutls_record_log
- ("REC[%p]: Note inactive epoch %d has %d users\n",
- session,
- session->record_parameters[i]->epoch,
- session->record_parameters[i]->usage_cnt);
- if (!epoch_alive
- (session, session->record_parameters[i])) {
- _gnutls_epoch_free(session,
- session->record_parameters
- [i]);
+ if (!epoch_is_active(session,
+ session->record_parameters[i]) &&
+ session->record_parameters[i]->usage_cnt)
+ _gnutls_record_log(
+ "REC[%p]: Note inactive epoch %d has %d users\n",
+ session,
+ session->record_parameters[i]->epoch,
+ session->record_parameters[i]
+ ->usage_cnt);
+ if (!epoch_alive(session,
+ session->record_parameters[i])) {
+ _gnutls_epoch_free(
+ session, session->record_parameters[i]);
session->record_parameters[i] = NULL;
}
}
@@ -1142,15 +1093,15 @@ void _gnutls_epoch_gc(gnutls_session_t session)
/* Look for contiguous NULLs at the start of the array */
for (i = 0;
- i < MAX_EPOCH_INDEX && session->record_parameters[i] == NULL;
- i++) ;
+ i < MAX_EPOCH_INDEX && session->record_parameters[i] == NULL; i++)
+ ;
min_index = i;
/* Pick up the slack in the epoch window. */
if (min_index != 0) {
for (i = 0, j = min_index; j < MAX_EPOCH_INDEX; i++, j++) {
session->record_parameters[i] =
- session->record_parameters[j];
+ session->record_parameters[j];
session->record_parameters[j] = NULL;
}
}
@@ -1158,14 +1109,14 @@ void _gnutls_epoch_gc(gnutls_session_t session)
/* Set the new epoch_min */
if (session->record_parameters[0] != NULL)
session->security_parameters.epoch_min =
- session->record_parameters[0]->epoch;
+ session->record_parameters[0]->epoch;
gnutls_mutex_unlock(&session->internals.epoch_lock);
_gnutls_record_log("REC[%p]: End of epoch cleanup\n", session);
}
-static inline void free_record_state(record_state_st * state)
+static inline void free_record_state(record_state_st *state)
{
zeroize_temp_key(state->mac_key, state->mac_key_size);
zeroize_temp_key(state->iv, state->iv_size);
@@ -1177,7 +1128,7 @@ static inline void free_record_state(record_state_st * state)
_gnutls_auth_cipher_deinit(&state->ctx.tls12);
}
-void _gnutls_epoch_free(gnutls_session_t session, record_parameters_st * params)
+void _gnutls_epoch_free(gnutls_session_t session, record_parameters_st *params)
{
_gnutls_record_log("REC[%p]: Epoch #%u freed\n", session,
params->epoch);
@@ -1188,9 +1139,8 @@ void _gnutls_epoch_free(gnutls_session_t session, record_parameters_st * params)
gnutls_free(params);
}
-static int
-_gnutls_call_secret_func(gnutls_session_t session,
- hs_stage_t stage, bool for_read, bool for_write)
+static int _gnutls_call_secret_func(gnutls_session_t session, hs_stage_t stage,
+ bool for_read, bool for_write)
{
const mac_entry_st *prf = NULL;
gnutls_record_encryption_level_t level;
@@ -1204,19 +1154,17 @@ _gnutls_call_secret_func(gnutls_session_t session,
prf = session->key.binders[0].prf;
level = GNUTLS_ENCRYPTION_LEVEL_EARLY;
if (for_read) {
- if (unlikely
- (session->security_parameters.entity ==
- GNUTLS_CLIENT))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ if (unlikely(session->security_parameters.entity ==
+ GNUTLS_CLIENT))
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
secret_read = session->key.proto.tls13.e_ckey;
}
if (for_write) {
- if (unlikely
- (session->security_parameters.entity ==
- GNUTLS_SERVER))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ if (unlikely(session->security_parameters.entity ==
+ GNUTLS_SERVER))
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
secret_write = session->key.proto.tls13.e_ckey;
}
break;
@@ -1224,15 +1172,16 @@ _gnutls_call_secret_func(gnutls_session_t session,
prf = session->security_parameters.prf;
level = GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE;
if (for_read)
- secret_read =
- session->security_parameters.entity ==
- GNUTLS_CLIENT ? session->key.proto.
- tls13.hs_skey : session->key.proto.tls13.hs_ckey;
+ secret_read = session->security_parameters.entity ==
+ GNUTLS_CLIENT ?
+ session->key.proto.tls13.hs_skey :
+ session->key.proto.tls13.hs_ckey;
if (for_write)
secret_write =
- session->security_parameters.entity ==
- GNUTLS_CLIENT ? session->key.proto.
- tls13.hs_ckey : session->key.proto.tls13.hs_skey;
+ session->security_parameters.entity ==
+ GNUTLS_CLIENT ?
+ session->key.proto.tls13.hs_ckey :
+ session->key.proto.tls13.hs_skey;
break;
case STAGE_APP:
case STAGE_UPD_OURS:
@@ -1240,23 +1189,23 @@ _gnutls_call_secret_func(gnutls_session_t session,
prf = session->security_parameters.prf;
level = GNUTLS_ENCRYPTION_LEVEL_APPLICATION;
if (for_read)
- secret_read =
- session->security_parameters.entity ==
- GNUTLS_CLIENT ? session->key.proto.
- tls13.ap_skey : session->key.proto.tls13.ap_ckey;
+ secret_read = session->security_parameters.entity ==
+ GNUTLS_CLIENT ?
+ session->key.proto.tls13.ap_skey :
+ session->key.proto.tls13.ap_ckey;
if (for_write)
secret_write =
- session->security_parameters.entity ==
- GNUTLS_CLIENT ? session->key.proto.
- tls13.ap_ckey : session->key.proto.tls13.ap_skey;
+ session->security_parameters.entity ==
+ GNUTLS_CLIENT ?
+ session->key.proto.tls13.ap_ckey :
+ session->key.proto.tls13.ap_skey;
break;
default:
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
- return session->internals.h_secret_func(session, level,
- secret_read, secret_write,
- prf->output_size);
+ return session->internals.h_secret_func(session, level, secret_read,
+ secret_write, prf->output_size);
}
int _tls13_connection_state_init(gnutls_session_t session, hs_stage_t stage)
@@ -1295,11 +1244,12 @@ int _tls13_read_connection_state_init(gnutls_session_t session,
if (ret < 0)
return ret;
- _gnutls_handshake_log
- ("HSK[%p]: TLS 1.3 set read key with cipher suite: %s\n", session,
- stage ==
- STAGE_EARLY ? session->internals.resumed_security_parameters.
- cs->name : session->security_parameters.cs->name);
+ _gnutls_handshake_log(
+ "HSK[%p]: TLS 1.3 set read key with cipher suite: %s\n",
+ session,
+ stage == STAGE_EARLY ?
+ session->internals.resumed_security_parameters.cs->name :
+ session->security_parameters.cs->name);
session->security_parameters.epoch_read = epoch_next;
@@ -1324,11 +1274,12 @@ int _tls13_write_connection_state_init(gnutls_session_t session,
if (ret < 0)
return ret;
- _gnutls_handshake_log
- ("HSK[%p]: TLS 1.3 set write key with cipher suite: %s\n", session,
- stage ==
- STAGE_EARLY ? session->internals.resumed_security_parameters.
- cs->name : session->security_parameters.cs->name);
+ _gnutls_handshake_log(
+ "HSK[%p]: TLS 1.3 set write key with cipher suite: %s\n",
+ session,
+ stage == STAGE_EARLY ?
+ session->internals.resumed_security_parameters.cs->name :
+ session->security_parameters.cs->name);
session->security_parameters.epoch_write = epoch_next;
@@ -1339,9 +1290,8 @@ int _tls13_write_connection_state_init(gnutls_session_t session,
return 0;
}
-static int
-_tls13_init_record_state(gnutls_cipher_algorithm_t algo,
- record_state_st * state)
+static int _tls13_init_record_state(gnutls_cipher_algorithm_t algo,
+ record_state_st *state)
{
int ret;
gnutls_datum_t key;
@@ -1376,9 +1326,8 @@ _tls13_init_record_state(gnutls_cipher_algorithm_t algo,
*
* Since: 3.7.0
*/
-void
-gnutls_handshake_set_secret_function(gnutls_session_t session,
- gnutls_handshake_secret_func func)
+void gnutls_handshake_set_secret_function(gnutls_session_t session,
+ gnutls_handshake_secret_func func)
{
session->internals.h_secret_func = func;
}
diff --git a/lib/constate.h b/lib/constate.h
index 2b230c11bc..15ad5c1057 100644
--- a/lib/constate.h
+++ b/lib/constate.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_CONSTATE_H
-# define GNUTLS_LIB_CONSTATE_H
+#define GNUTLS_LIB_CONSTATE_H
int _gnutls_set_cipher_suite2(gnutls_session_t session,
- const gnutls_cipher_suite_entry_st * cs);
+ const gnutls_cipher_suite_entry_st *cs);
int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,
hs_stage_t stage);
@@ -32,17 +32,16 @@ int _gnutls_connection_state_init(gnutls_session_t session);
int _gnutls_read_connection_state_init(gnutls_session_t session);
int _gnutls_write_connection_state_init(gnutls_session_t session);
-# define _gnutls_epoch_bump(session) \
- (session)->security_parameters.epoch_next++
+#define _gnutls_epoch_bump(session) (session)->security_parameters.epoch_next++
int _gnutls_epoch_dup(gnutls_session_t session, unsigned int epoch_rel);
int _gnutls_epoch_get(gnutls_session_t session, unsigned int epoch_rel,
- record_parameters_st ** params_out);
+ record_parameters_st **params_out);
int _gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch,
- record_parameters_st ** newp);
+ record_parameters_st **newp);
void _gnutls_epoch_gc(gnutls_session_t session);
-void _gnutls_epoch_free(gnutls_session_t session, record_parameters_st * state);
+void _gnutls_epoch_free(gnutls_session_t session, record_parameters_st *state);
void _gnutls_set_resumed_parameters(gnutls_session_t session);
@@ -96,4 +95,4 @@ static inline int _gnutls_epoch_refcount_dec(gnutls_session_t session,
return 0;
}
-#endif /* GNUTLS_LIB_CONSTATE_H */
+#endif /* GNUTLS_LIB_CONSTATE_H */
diff --git a/lib/crypto-api.c b/lib/crypto-api.c
index 568edf7571..57e7872ff5 100644
--- a/lib/crypto-api.c
+++ b/lib/crypto-api.c
@@ -55,10 +55,9 @@ typedef struct api_cipher_hd_st {
*
* Since: 2.10.0
**/
-int
-gnutls_cipher_init(gnutls_cipher_hd_t * handle,
- gnutls_cipher_algorithm_t cipher,
- const gnutls_datum_t * key, const gnutls_datum_t * iv)
+int gnutls_cipher_init(gnutls_cipher_hd_t *handle,
+ gnutls_cipher_algorithm_t cipher,
+ const gnutls_datum_t *key, const gnutls_datum_t *iv)
{
api_cipher_hd_st *h;
int ret;
@@ -153,9 +152,8 @@ int gnutls_cipher_tag(gnutls_cipher_hd_t handle, void *tag, size_t tag_size)
*
* Since: 3.0
**/
-int
-gnutls_cipher_add_auth(gnutls_cipher_hd_t handle, const void *ptext,
- size_t ptext_size)
+int gnutls_cipher_add_auth(gnutls_cipher_hd_t handle, const void *ptext,
+ size_t ptext_size)
{
api_cipher_hd_st *h = handle;
int ret;
@@ -270,8 +268,8 @@ int _gnutls_cipher_set_key(gnutls_cipher_hd_t handle, void *key, size_t keylen)
*
* Since: 2.10.0
**/
-int
-gnutls_cipher_encrypt(gnutls_cipher_hd_t handle, void *ptext, size_t ptext_len)
+int gnutls_cipher_encrypt(gnutls_cipher_hd_t handle, void *ptext,
+ size_t ptext_len)
{
api_cipher_hd_st *h = handle;
int ret;
@@ -301,8 +299,8 @@ gnutls_cipher_encrypt(gnutls_cipher_hd_t handle, void *ptext, size_t ptext_len)
*
* Since: 2.10.0
**/
-int
-gnutls_cipher_decrypt(gnutls_cipher_hd_t handle, void *ctext, size_t ctext_len)
+int gnutls_cipher_decrypt(gnutls_cipher_hd_t handle, void *ctext,
+ size_t ctext_len)
{
api_cipher_hd_st *h = handle;
int ret;
@@ -338,15 +336,14 @@ gnutls_cipher_decrypt(gnutls_cipher_hd_t handle, void *ctext, size_t ctext_len)
*
* Since: 2.12.0
**/
-int
-gnutls_cipher_encrypt2(gnutls_cipher_hd_t handle, const void *ptext,
- size_t ptext_len, void *ctext, size_t ctext_len)
+int gnutls_cipher_encrypt2(gnutls_cipher_hd_t handle, const void *ptext,
+ size_t ptext_len, void *ctext, size_t ctext_len)
{
api_cipher_hd_st *h = handle;
int ret;
- ret = _gnutls_cipher_encrypt2(&h->ctx_enc, ptext, ptext_len,
- ctext, ctext_len);
+ ret = _gnutls_cipher_encrypt2(&h->ctx_enc, ptext, ptext_len, ctext,
+ ctext_len);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else {
@@ -375,19 +372,18 @@ gnutls_cipher_encrypt2(gnutls_cipher_hd_t handle, const void *ptext,
*
* Since: 2.12.0
**/
-int
-gnutls_cipher_decrypt2(gnutls_cipher_hd_t handle, const void *ctext,
- size_t ctext_len, void *ptext, size_t ptext_len)
+int gnutls_cipher_decrypt2(gnutls_cipher_hd_t handle, const void *ctext,
+ size_t ctext_len, void *ptext, size_t ptext_len)
{
api_cipher_hd_st *h = handle;
int ret;
if (_gnutls_cipher_type(h->ctx_enc.e) != CIPHER_BLOCK) {
- ret = _gnutls_cipher_decrypt2(&h->ctx_enc, ctext,
- ctext_len, ptext, ptext_len);
+ ret = _gnutls_cipher_decrypt2(&h->ctx_enc, ctext, ctext_len,
+ ptext, ptext_len);
} else {
- ret = _gnutls_cipher_decrypt2(&h->ctx_dec, ctext,
- ctext_len, ptext, ptext_len);
+ ret = _gnutls_cipher_decrypt2(&h->ctx_dec, ctext, ctext_len,
+ ptext, ptext_len);
}
if (ret < 0) {
@@ -423,10 +419,9 @@ gnutls_cipher_decrypt2(gnutls_cipher_hd_t handle, const void *ctext,
*
* Since: 3.7.7
**/
-int
-gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle,
- const void *ptext, size_t ptext_len,
- void *ctext, size_t *ctext_len, unsigned flags)
+int gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle, const void *ptext,
+ size_t ptext_len, void *ctext, size_t *ctext_len,
+ unsigned flags)
{
api_cipher_hd_st *h = handle;
const cipher_entry_st *e = h->ctx_enc.e;
@@ -462,8 +457,7 @@ gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle,
/* Encrypt up to the last complete block */
r = ptext_len % block_size;
- ret = _gnutls_cipher_encrypt2(&h->ctx_enc,
- ptext, ptext_len - r,
+ ret = _gnutls_cipher_encrypt2(&h->ctx_enc, ptext, ptext_len - r,
ctext, ptext_len - r);
if (ret < 0) {
goto error;
@@ -474,9 +468,9 @@ gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle,
if (r > 0) {
memcpy(last_block, &p[ptext_len - r], r);
}
- ret = _gnutls_cipher_encrypt2(&h->ctx_enc,
- last_block, block_size,
- &c[ptext_len - r], block_size);
+ ret = _gnutls_cipher_encrypt2(&h->ctx_enc, last_block,
+ block_size, &c[ptext_len - r],
+ block_size);
if (ret < 0) {
goto error;
}
@@ -495,7 +489,7 @@ gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle,
*ctext_len = ptext_len;
}
- error:
+error:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else {
@@ -522,16 +516,15 @@ gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle,
*
* Since: 3.7.7
**/
-int
-gnutls_cipher_decrypt3(gnutls_cipher_hd_t handle,
- const void *ctext, size_t ctext_len,
- void *ptext, size_t *ptext_len, unsigned flags)
+int gnutls_cipher_decrypt3(gnutls_cipher_hd_t handle, const void *ctext,
+ size_t ctext_len, void *ptext, size_t *ptext_len,
+ unsigned flags)
{
api_cipher_hd_st *h = handle;
int ret;
- ret = gnutls_cipher_decrypt2(handle,
- ctext, ctext_len, ptext, *ptext_len);
+ ret = gnutls_cipher_decrypt2(handle, ctext, ctext_len, ptext,
+ *ptext_len);
if (ret < 0) {
return ret;
}
@@ -540,16 +533,15 @@ gnutls_cipher_decrypt3(gnutls_cipher_hd_t handle,
(flags & GNUTLS_CIPHER_PADDING_PKCS7)) {
uint8_t *p = ptext;
uint8_t padding = p[*ptext_len - 1];
- if (!padding
- || padding > _gnutls_cipher_get_block_size(h->ctx_enc.e)) {
+ if (!padding ||
+ padding > _gnutls_cipher_get_block_size(h->ctx_enc.e)) {
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
/* Check that the prior bytes are all PADDING */
for (size_t i = *ptext_len - padding; i < *ptext_len; i++) {
if (padding != p[*ptext_len - 1]) {
- return
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
+ return gnutls_assert_val(
+ GNUTLS_E_DECRYPTION_FAILED);
}
}
*ptext_len -= padding;
@@ -598,10 +590,8 @@ void gnutls_cipher_deinit(gnutls_cipher_hd_t handle)
*
* Since: 2.10.0
**/
-int
-gnutls_hmac_init(gnutls_hmac_hd_t * dig,
- gnutls_mac_algorithm_t algorithm,
- const void *key, size_t keylen)
+int gnutls_hmac_init(gnutls_hmac_hd_t *dig, gnutls_mac_algorithm_t algorithm,
+ const void *key, size_t keylen)
{
int ret;
bool not_approved = false;
@@ -626,8 +616,8 @@ gnutls_hmac_init(gnutls_hmac_hd_t * dig,
return GNUTLS_E_MEMORY_ERROR;
}
- ret = _gnutls_mac_init(((mac_hd_st *) * dig),
- mac_to_entry(algorithm), key, keylen);
+ ret = _gnutls_mac_init(((mac_hd_st *)*dig), mac_to_entry(algorithm),
+ key, keylen);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
@@ -648,11 +638,10 @@ gnutls_hmac_init(gnutls_hmac_hd_t * dig,
*
* Since: 3.2.0
**/
-void
-gnutls_hmac_set_nonce(gnutls_hmac_hd_t handle, const void *nonce,
- size_t nonce_len)
+void gnutls_hmac_set_nonce(gnutls_hmac_hd_t handle, const void *nonce,
+ size_t nonce_len)
{
- _gnutls_mac_set_nonce((mac_hd_st *) handle, nonce, nonce_len);
+ _gnutls_mac_set_nonce((mac_hd_st *)handle, nonce, nonce_len);
}
/**
@@ -672,7 +661,7 @@ int gnutls_hmac(gnutls_hmac_hd_t handle, const void *ptext, size_t ptext_len)
{
int ret;
- ret = _gnutls_mac((mac_hd_st *) handle, ptext, ptext_len);
+ ret = _gnutls_mac((mac_hd_st *)handle, ptext, ptext_len);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else {
@@ -693,7 +682,7 @@ int gnutls_hmac(gnutls_hmac_hd_t handle, const void *ptext, size_t ptext_len)
**/
void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest)
{
- _gnutls_mac_output((mac_hd_st *) handle, digest);
+ _gnutls_mac_output((mac_hd_st *)handle, digest);
}
/**
@@ -708,7 +697,7 @@ void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest)
**/
void gnutls_hmac_deinit(gnutls_hmac_hd_t handle, void *digest)
{
- _gnutls_mac_deinit((mac_hd_st *) handle, digest);
+ _gnutls_mac_deinit((mac_hd_st *)handle, digest);
gnutls_free(handle);
}
@@ -762,10 +751,9 @@ unsigned gnutls_hmac_get_key_size(gnutls_mac_algorithm_t algorithm)
*
* Since: 2.10.0
**/
-int
-gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm,
- const void *key, size_t keylen,
- const void *ptext, size_t ptext_len, void *digest)
+int gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm, const void *key,
+ size_t keylen, const void *ptext, size_t ptext_len,
+ void *digest)
{
int ret;
bool not_approved = false;
@@ -820,7 +808,7 @@ gnutls_hmac_hd_t gnutls_hmac_copy(gnutls_hmac_hd_t handle)
return NULL;
}
- if (_gnutls_mac_copy((const mac_hd_st *)handle, (mac_hd_st *) dig) !=
+ if (_gnutls_mac_copy((const mac_hd_st *)handle, (mac_hd_st *)dig) !=
GNUTLS_E_SUCCESS) {
gnutls_assert();
gnutls_free(dig);
@@ -847,8 +835,7 @@ gnutls_hmac_hd_t gnutls_hmac_copy(gnutls_hmac_hd_t handle)
*
* Since: 2.10.0
**/
-int
-gnutls_hash_init(gnutls_hash_hd_t * dig, gnutls_digest_algorithm_t algorithm)
+int gnutls_hash_init(gnutls_hash_hd_t *dig, gnutls_digest_algorithm_t algorithm)
{
int ret;
bool not_approved = false;
@@ -867,7 +854,7 @@ gnutls_hash_init(gnutls_hash_hd_t * dig, gnutls_digest_algorithm_t algorithm)
return GNUTLS_E_MEMORY_ERROR;
}
- ret = _gnutls_hash_init(((digest_hd_st *) * dig),
+ ret = _gnutls_hash_init(((digest_hd_st *)*dig),
hash_to_entry(algorithm));
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
@@ -896,7 +883,7 @@ int gnutls_hash(gnutls_hash_hd_t handle, const void *ptext, size_t ptext_len)
{
int ret;
- ret = _gnutls_hash((digest_hd_st *) handle, ptext, ptext_len);
+ ret = _gnutls_hash((digest_hd_st *)handle, ptext, ptext_len);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
}
@@ -915,7 +902,7 @@ int gnutls_hash(gnutls_hash_hd_t handle, const void *ptext, size_t ptext_len)
**/
void gnutls_hash_output(gnutls_hash_hd_t handle, void *digest)
{
- _gnutls_hash_output((digest_hd_st *) handle, digest);
+ _gnutls_hash_output((digest_hd_st *)handle, digest);
}
/**
@@ -930,7 +917,7 @@ void gnutls_hash_output(gnutls_hash_hd_t handle, void *digest)
**/
void gnutls_hash_deinit(gnutls_hash_hd_t handle, void *digest)
{
- _gnutls_hash_deinit((digest_hd_st *) handle, digest);
+ _gnutls_hash_deinit((digest_hd_st *)handle, digest);
gnutls_free(handle);
}
@@ -964,9 +951,8 @@ unsigned gnutls_hash_get_len(gnutls_digest_algorithm_t algorithm)
*
* Since: 2.10.0
**/
-int
-gnutls_hash_fast(gnutls_digest_algorithm_t algorithm,
- const void *ptext, size_t ptext_len, void *digest)
+int gnutls_hash_fast(gnutls_digest_algorithm_t algorithm, const void *ptext,
+ size_t ptext_len, void *digest)
{
int ret;
bool not_approved = false;
@@ -1014,9 +1000,8 @@ gnutls_hash_hd_t gnutls_hash_copy(gnutls_hash_hd_t handle)
return NULL;
}
- if (_gnutls_hash_copy
- ((const digest_hd_st *)handle,
- (digest_hd_st *) dig) != GNUTLS_E_SUCCESS) {
+ if (_gnutls_hash_copy((const digest_hd_st *)handle,
+ (digest_hd_st *)dig) != GNUTLS_E_SUCCESS) {
gnutls_assert();
gnutls_free(dig);
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
@@ -1039,7 +1024,7 @@ gnutls_hash_hd_t gnutls_hash_copy(gnutls_hash_hd_t handle)
*
* Since: 3.0
**/
-int gnutls_key_generate(gnutls_datum_t * key, unsigned int key_size)
+int gnutls_key_generate(gnutls_datum_t *key, unsigned int key_size)
{
int ret;
bool not_approved = false;
@@ -1074,7 +1059,7 @@ int gnutls_key_generate(gnutls_datum_t * key, unsigned int key_size)
goto error;
}
- error:
+error:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
@@ -1102,9 +1087,9 @@ int gnutls_key_generate(gnutls_datum_t * key, unsigned int key_size)
*
* Since: 3.4.0
**/
-int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t * handle,
+int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t *handle,
gnutls_cipher_algorithm_t cipher,
- const gnutls_datum_t * key)
+ const gnutls_datum_t *key)
{
api_aead_cipher_hd_st *h;
const cipher_entry_st *e;
@@ -1162,7 +1147,7 @@ int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t * handle,
* Since: 3.7.5
**/
int gnutls_aead_cipher_set_key(gnutls_aead_cipher_hd_t handle,
- const gnutls_datum_t * key)
+ const gnutls_datum_t *key)
{
const cipher_entry_st *e;
int ret;
@@ -1172,8 +1157,8 @@ int gnutls_aead_cipher_set_key(gnutls_aead_cipher_hd_t handle,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- ret = handle->ctx_enc.setkey(handle->ctx_enc.handle,
- key->data, key->size);
+ ret = handle->ctx_enc.setkey(handle->ctx_enc.handle, key->data,
+ key->size);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
}
@@ -1205,20 +1190,19 @@ int gnutls_aead_cipher_set_key(gnutls_aead_cipher_hd_t handle,
*
* Since: 3.4.0
**/
-int
-gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const void *auth, size_t auth_len,
- size_t tag_size,
- const void *ctext, size_t ctext_len,
- void *ptext, size_t *ptext_len)
+int gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const void *auth, size_t auth_len,
+ size_t tag_size, const void *ctext,
+ size_t ctext_len, void *ptext, size_t *ptext_len)
{
int ret;
api_aead_cipher_hd_st *h = handle;
if (tag_size == 0)
tag_size = _gnutls_cipher_get_tag_size(h->ctx_enc.e);
- else if (tag_size > (unsigned)_gnutls_cipher_get_tag_size(h->ctx_enc.e)) {
+ else if (tag_size >
+ (unsigned)_gnutls_cipher_get_tag_size(h->ctx_enc.e)) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -1228,11 +1212,9 @@ gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
- ret = _gnutls_aead_cipher_decrypt(&h->ctx_enc,
- nonce, nonce_len,
- auth, auth_len,
- tag_size,
- ctext, ctext_len, ptext, *ptext_len);
+ ret = _gnutls_aead_cipher_decrypt(&h->ctx_enc, nonce, nonce_len, auth,
+ auth_len, tag_size, ctext, ctext_len,
+ ptext, *ptext_len);
if (unlikely(ret < 0)) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return gnutls_assert_val(ret);
@@ -1267,20 +1249,19 @@ gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,
*
* Since: 3.4.0
**/
-int
-gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const void *auth, size_t auth_len,
- size_t tag_size,
- const void *ptext, size_t ptext_len,
- void *ctext, size_t *ctext_len)
+int gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const void *auth, size_t auth_len,
+ size_t tag_size, const void *ptext,
+ size_t ptext_len, void *ctext, size_t *ctext_len)
{
api_aead_cipher_hd_st *h = handle;
int ret;
if (tag_size == 0)
tag_size = _gnutls_cipher_get_tag_size(h->ctx_enc.e);
- else if (tag_size > (unsigned)_gnutls_cipher_get_tag_size(h->ctx_enc.e)) {
+ else if (tag_size >
+ (unsigned)_gnutls_cipher_get_tag_size(h->ctx_enc.e)) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -1290,11 +1271,9 @@ gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t handle,
return gnutls_assert_val(GNUTLS_E_SHORT_MEMORY_BUFFER);
}
- ret = _gnutls_aead_cipher_encrypt(&h->ctx_enc,
- nonce, nonce_len,
- auth, auth_len,
- tag_size,
- ptext, ptext_len, ctext, *ctext_len);
+ ret = _gnutls_aead_cipher_encrypt(&h->ctx_enc, nonce, nonce_len, auth,
+ auth_len, tag_size, ptext, ptext_len,
+ ctext, *ctext_len);
if (unlikely(ret < 0)) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return gnutls_assert_val(ret);
@@ -1337,8 +1316,8 @@ static int iov_store_grow(struct iov_store_st *s, size_t length)
return 0;
}
-static int
-append_from_iov(struct iov_store_st *dst, const giovec_t * iov, int iovcnt)
+static int append_from_iov(struct iov_store_st *dst, const giovec_t *iov,
+ int iovcnt)
{
if (iovcnt > 0) {
int i;
@@ -1348,8 +1327,8 @@ append_from_iov(struct iov_store_st *dst, const giovec_t * iov, int iovcnt)
for (i = 0; i < iovcnt; i++) {
if (INT_ADD_OVERFLOW(new_capacity, iov[i].iov_len)) {
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
new_capacity += iov[i].iov_len;
}
@@ -1360,7 +1339,7 @@ append_from_iov(struct iov_store_st *dst, const giovec_t * iov, int iovcnt)
dst->data = new_data;
dst->capacity = new_capacity;
- p = (uint8_t *) dst->data + dst->length;
+ p = (uint8_t *)dst->data + dst->length;
for (i = 0; i < iovcnt; i++) {
if (iov[i].iov_len > 0) {
memcpy(p, iov[i].iov_base, iov[i].iov_len);
@@ -1372,15 +1351,15 @@ append_from_iov(struct iov_store_st *dst, const giovec_t * iov, int iovcnt)
return 0;
}
-static int
-copy_to_iov(const uint8_t * data, size_t size, const giovec_t * iov, int iovcnt)
+static int copy_to_iov(const uint8_t *data, size_t size, const giovec_t *iov,
+ int iovcnt)
{
size_t offset = 0;
int i;
for (i = 0; i < iovcnt && size > 0; i++) {
size_t to_copy = MIN(size, iov[i].iov_len);
- memcpy(iov[i].iov_base, (uint8_t *) data + offset, to_copy);
+ memcpy(iov[i].iov_base, (uint8_t *)data + offset, to_copy);
offset += to_copy;
size -= to_copy;
}
@@ -1389,15 +1368,17 @@ copy_to_iov(const uint8_t * data, size_t size, const giovec_t * iov, int iovcnt)
return 0;
}
-#define IOV_STORE_INIT { NULL, 0, 0 }
+#define IOV_STORE_INIT \
+ { \
+ NULL, 0, 0 \
+ }
-static int
-aead_cipher_encryptv_fallback(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- size_t tag_size,
- const giovec_t * iov, int iovcnt,
- void *ctext, size_t *ctext_len)
+static int aead_cipher_encryptv_fallback(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov,
+ int auth_iovcnt, size_t tag_size,
+ const giovec_t *iov, int iovcnt,
+ void *ctext, size_t *ctext_len)
{
struct iov_store_st auth = IOV_STORE_INIT;
struct iov_store_st ptext = IOV_STORE_INIT;
@@ -1424,11 +1405,9 @@ aead_cipher_encryptv_fallback(gnutls_aead_cipher_hd_t handle,
return gnutls_assert_val(ret);
}
- ret = gnutls_aead_cipher_encrypt(handle, nonce, nonce_len,
- auth.data, auth.length,
- tag_size,
- ptext.data, ptext.length,
- ctext, ctext_len);
+ ret = gnutls_aead_cipher_encrypt(handle, nonce, nonce_len, auth.data,
+ auth.length, tag_size, ptext.data,
+ ptext.length, ctext, ctext_len);
iov_store_free(&auth);
iov_store_free(&ptext);
@@ -1436,13 +1415,11 @@ aead_cipher_encryptv_fallback(gnutls_aead_cipher_hd_t handle,
return ret;
}
-static int
-aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- size_t tag_size,
- const giovec_t * iov, int iovcnt,
- void *ctext, size_t *ctext_len)
+static int aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ size_t tag_size, const giovec_t *iov,
+ int iovcnt, void *ctext, size_t *ctext_len)
{
int ret;
uint8_t *dst;
@@ -1503,8 +1480,8 @@ aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
if (ret == 0)
break;
len = ret;
- ret = _gnutls_cipher_encrypt2(&handle->ctx_enc,
- p, len, dst, dst_size);
+ ret = _gnutls_cipher_encrypt2(&handle->ctx_enc, p, len, dst,
+ dst_size);
if (unlikely(ret < 0)) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return gnutls_assert_val(ret);
@@ -1550,13 +1527,11 @@ aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
*
* Since: 3.6.3
**/
-int
-gnutls_aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- size_t tag_size,
- const giovec_t * iov, int iovcnt,
- void *ctext, size_t *ctext_len)
+int gnutls_aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ size_t tag_size, const giovec_t *iov,
+ int iovcnt, void *ctext, size_t *ctext_len)
{
/* Limitation: this function provides an optimization under the internally registered
* AEAD ciphers. When an AEAD cipher is used registered with gnutls_crypto_register_aead_cipher(),
@@ -1564,27 +1539,23 @@ gnutls_aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
* necessary for piecemeal encryption. */
if ((handle->ctx_enc.e->flags & GNUTLS_CIPHER_FLAG_ONLY_AEAD) ||
handle->ctx_enc.encrypt == NULL) {
- return aead_cipher_encryptv_fallback(handle,
- nonce, nonce_len,
+ return aead_cipher_encryptv_fallback(handle, nonce, nonce_len,
auth_iov, auth_iovcnt,
- tag_size,
- iov, iovcnt,
+ tag_size, iov, iovcnt,
ctext, ctext_len);
} else {
- return aead_cipher_encryptv(handle,
- nonce, nonce_len,
- auth_iov, auth_iovcnt,
- tag_size,
- iov, iovcnt, ctext, ctext_len);
+ return aead_cipher_encryptv(handle, nonce, nonce_len, auth_iov,
+ auth_iovcnt, tag_size, iov, iovcnt,
+ ctext, ctext_len);
}
}
-static int
-aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t *tag_size)
+static int aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov,
+ int auth_iovcnt, const giovec_t *iov,
+ int iovcnt, void *tag,
+ size_t *tag_size)
{
struct iov_store_st auth = IOV_STORE_INIT;
struct iov_store_st ptext = IOV_STORE_INIT;
@@ -1631,7 +1602,7 @@ aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,
/* We must set ptext_data after the above
* grow/append opereations, otherwise it will point to an invalid pointer after realloc.
*/
- ptext_data = (uint8_t *) ptext.data + _tag_size;
+ ptext_data = (uint8_t *)ptext.data + _tag_size;
ptext_size = ptext.length - _tag_size;
} else {
ret = append_from_iov(&ptext, iov, iovcnt);
@@ -1655,22 +1626,20 @@ aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,
}
ctext_size = ptext.capacity;
- ret = gnutls_aead_cipher_encrypt(handle, nonce, nonce_len,
- auth.data, auth.length,
- _tag_size,
- ptext_data, ptext_size,
- ptext.data, &ctext_size);
+ ret = gnutls_aead_cipher_encrypt(handle, nonce, nonce_len, auth.data,
+ auth.length, _tag_size, ptext_data,
+ ptext_size, ptext.data, &ctext_size);
if (ret < 0) {
gnutls_assert();
goto error;
}
if (handle->ctx_enc.e->flags & GNUTLS_CIPHER_FLAG_TAG_PREFIXED) {
- ctext_data = (uint8_t *) ptext.data + _tag_size;
+ ctext_data = (uint8_t *)ptext.data + _tag_size;
_tag = ptext.data;
} else {
ctext_data = ptext.data;
- _tag = (uint8_t *) ptext.data + ptext_size;
+ _tag = (uint8_t *)ptext.data + ptext_size;
}
ret = copy_to_iov(ctext_data, ptext_size, iov, iovcnt);
@@ -1686,7 +1655,7 @@ aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,
*tag_size = _tag_size;
}
- error:
+error:
iov_store_free(&auth);
iov_store_free(&ptext);
@@ -1697,12 +1666,11 @@ aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,
return ret;
}
-static int
-aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t *tag_size)
+static int aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ const giovec_t *iov, int iovcnt, void *tag,
+ size_t *tag_size)
{
api_aead_cipher_hd_st *h = handle;
int ret;
@@ -1802,12 +1770,11 @@ aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
*
* Since: 3.6.10
**/
-int
-gnutls_aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t *tag_size)
+int gnutls_aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ const giovec_t *iov, int iovcnt, void *tag,
+ size_t *tag_size)
{
/* Limitation: this function provides an optimization under the internally registered
* AEAD ciphers. When an AEAD cipher is used registered with gnutls_crypto_register_aead_cipher(),
@@ -1815,25 +1782,23 @@ gnutls_aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
* necessary for piecemeal encryption. */
if ((handle->ctx_enc.e->flags & GNUTLS_CIPHER_FLAG_ONLY_AEAD) ||
handle->ctx_enc.encrypt == NULL) {
- return aead_cipher_encryptv2_fallback(handle,
- nonce, nonce_len,
+ return aead_cipher_encryptv2_fallback(handle, nonce, nonce_len,
auth_iov, auth_iovcnt,
- iov, iovcnt,
- tag, tag_size);
+ iov, iovcnt, tag,
+ tag_size);
} else {
- return aead_cipher_encryptv2(handle,
- nonce, nonce_len,
- auth_iov, auth_iovcnt,
- iov, iovcnt, tag, tag_size);
+ return aead_cipher_encryptv2(handle, nonce, nonce_len, auth_iov,
+ auth_iovcnt, iov, iovcnt, tag,
+ tag_size);
}
}
-static int
-aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t tag_size)
+static int aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov,
+ int auth_iovcnt, const giovec_t *iov,
+ int iovcnt, void *tag,
+ size_t tag_size)
{
struct iov_store_st auth = IOV_STORE_INIT;
struct iov_store_st ctext = IOV_STORE_INIT;
@@ -1874,7 +1839,7 @@ aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
/* We must set ctext_data after the above
* grow/append opereations, otherwise it will point to an invalid pointer after realloc.
*/
- ctext_data = (uint8_t *) ctext.data + tag_size;
+ ctext_data = (uint8_t *)ctext.data + tag_size;
} else {
ret = append_from_iov(&ctext, iov, iovcnt);
if (ret < 0) {
@@ -1888,7 +1853,7 @@ aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
gnutls_assert();
goto error;
}
- memcpy((uint8_t *) ctext.data + ctext.length, tag, tag_size);
+ memcpy((uint8_t *)ctext.data + ctext.length, tag, tag_size);
ctext.length += tag_size;
/* We must set ctext_data after the above
@@ -1898,11 +1863,9 @@ aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
}
ptext_size = ctext.capacity;
- ret = gnutls_aead_cipher_decrypt(handle, nonce, nonce_len,
- auth.data, auth.length,
- tag_size,
- ctext.data, ctext.length,
- ctext_data, &ptext_size);
+ ret = gnutls_aead_cipher_decrypt(handle, nonce, nonce_len, auth.data,
+ auth.length, tag_size, ctext.data,
+ ctext.length, ctext_data, &ptext_size);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -1914,7 +1877,7 @@ aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
goto error;
}
- error:
+error:
iov_store_free(&auth);
iov_store_free(&ctext);
@@ -1925,12 +1888,11 @@ aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,
return ret;
}
-static int
-aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t tag_size)
+static int aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ const giovec_t *iov, int iovcnt, void *tag,
+ size_t tag_size)
{
int ret;
uint8_t *p;
@@ -2032,12 +1994,11 @@ aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
*
* Since: 3.6.10
**/
-int
-gnutls_aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t tag_size)
+int gnutls_aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ const giovec_t *iov, int iovcnt, void *tag,
+ size_t tag_size)
{
/* Limitation: this function provides an optimization under the internally registered
* AEAD ciphers. When an AEAD cipher is used registered with gnutls_crypto_register_aead_cipher(),
@@ -2045,16 +2006,14 @@ gnutls_aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
* necessary for piecemeal encryption. */
if ((handle->ctx_enc.e->flags & GNUTLS_CIPHER_FLAG_ONLY_AEAD) ||
handle->ctx_enc.encrypt == NULL) {
- return aead_cipher_decryptv2_fallback(handle,
- nonce, nonce_len,
+ return aead_cipher_decryptv2_fallback(handle, nonce, nonce_len,
auth_iov, auth_iovcnt,
- iov, iovcnt,
- tag, tag_size);
+ iov, iovcnt, tag,
+ tag_size);
} else {
- return aead_cipher_decryptv2(handle,
- nonce, nonce_len,
- auth_iov, auth_iovcnt,
- iov, iovcnt, tag, tag_size);
+ return aead_cipher_decryptv2(handle, nonce, nonce_len, auth_iov,
+ auth_iovcnt, iov, iovcnt, tag,
+ tag_size);
}
}
@@ -2076,10 +2035,8 @@ void gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle)
extern gnutls_crypto_kdf_st _gnutls_kdf_ops;
/* Same as @gnutls_hkdf_extract but without changing FIPS context */
-int
-_gnutls_hkdf_extract(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * salt, void *output)
+int _gnutls_hkdf_extract(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *salt, void *output)
{
/* MD5 is only allowed internally for TLS */
if (!is_mac_algo_allowed(mac)) {
@@ -2109,10 +2066,8 @@ _gnutls_hkdf_extract(gnutls_mac_algorithm_t mac,
*
* Since: 3.6.13
*/
-int
-gnutls_hkdf_extract(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * salt, void *output)
+int gnutls_hkdf_extract(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *salt, void *output)
{
int ret;
@@ -2126,10 +2081,8 @@ gnutls_hkdf_extract(gnutls_mac_algorithm_t mac,
}
/* Same as @gnutls_hkdf_expand but without changing FIPS context */
-int
-_gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * info, void *output, size_t length)
+int _gnutls_hkdf_expand(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *info, void *output, size_t length)
{
/* MD5 is only allowed internally for TLS */
if (!is_mac_algo_allowed(mac)) {
@@ -2141,8 +2094,8 @@ _gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
* only approved in TLS, which is handled separately. */
return _gnutls_kdf_ops.hkdf_expand(mac, key->data, key->size,
- info->data, info->size,
- output, length);
+ info->data, info->size, output,
+ length);
}
/**
@@ -2161,10 +2114,8 @@ _gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
*
* Since: 3.6.13
*/
-int
-gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * info, void *output, size_t length)
+int gnutls_hkdf_expand(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *info, void *output, size_t length)
{
int ret;
@@ -2193,11 +2144,9 @@ gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
*
* Since: 3.6.13
*/
-int
-gnutls_pbkdf2(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * salt,
- unsigned iter_count, void *output, size_t length)
+int gnutls_pbkdf2(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *salt, unsigned iter_count, void *output,
+ size_t length)
{
int ret;
bool not_approved = false;
@@ -2228,9 +2177,8 @@ gnutls_pbkdf2(gnutls_mac_algorithm_t mac,
not_approved = true;
}
- ret = _gnutls_kdf_ops.pbkdf2(mac, key->data, key->size,
- salt->data, salt->size, iter_count,
- output, length);
+ ret = _gnutls_kdf_ops.pbkdf2(mac, key->data, key->size, salt->data,
+ salt->size, iter_count, output, length);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
diff --git a/lib/crypto-api.h b/lib/crypto-api.h
index d796ef36cc..7e44de0281 100644
--- a/lib/crypto-api.h
+++ b/lib/crypto-api.h
@@ -22,14 +22,13 @@
*/
#ifndef GNUTLS_LIB_CRYPTO_API_H
-# define GNUTLS_LIB_CRYPTO_API_H
+#define GNUTLS_LIB_CRYPTO_API_H
-# include <gnutls_int.h>
+#include <gnutls_int.h>
-inline static
-int _gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t handle,
- gnutls_cipher_algorithm_t cipher,
- const gnutls_datum_t * key)
+inline static int _gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t handle,
+ gnutls_cipher_algorithm_t cipher,
+ const gnutls_datum_t *key)
{
const cipher_entry_st *e;
@@ -40,22 +39,18 @@ int _gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t handle,
return _gnutls_cipher_init(&handle->ctx_enc, e, key, NULL, 1);
}
-inline static
-void _gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle)
+inline static void _gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle)
{
api_aead_cipher_hd_st *h = handle;
_gnutls_cipher_deinit(&h->ctx_enc);
}
-int
-_gnutls_hkdf_extract(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * salt, void *output);
+int _gnutls_hkdf_extract(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *salt, void *output);
-int
-_gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * info, void *output, size_t length);
+int _gnutls_hkdf_expand(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *info, void *output,
+ size_t length);
-#endif /* GNUTLS_LIB_CRYPTO_API_H */
+#endif /* GNUTLS_LIB_CRYPTO_API_H */
diff --git a/lib/crypto-backend.c b/lib/crypto-backend.c
index 52772f7363..f2880b89a6 100644
--- a/lib/crypto-backend.c
+++ b/lib/crypto-backend.c
@@ -47,8 +47,8 @@ typedef struct algo_list {
#define mac_list algo_list
#define digest_list algo_list
-static int
-_algo_register(algo_list * al, int algorithm, int priority, void *s, int free_s)
+static int _algo_register(algo_list *al, int algorithm, int priority, void *s,
+ int free_s)
{
algo_list *cl;
algo_list *last_cl = al;
@@ -97,13 +97,13 @@ _algo_register(algo_list * al, int algorithm, int priority, void *s, int free_s)
last_cl->next = cl;
return 0;
- cleanup:
+cleanup:
if (free_s)
gnutls_free(s);
return ret;
}
-static const void *_get_algo(algo_list * al, int algo)
+static const void *_get_algo(algo_list *al, int algo)
{
cipher_list *cl;
@@ -124,7 +124,7 @@ static cipher_list glob_cl = { GNUTLS_CIPHER_NULL, 0, NULL, 0, NULL };
static mac_list glob_ml = { GNUTLS_MAC_NULL, 0, NULL, 0, NULL };
static digest_list glob_dl = { GNUTLS_MAC_NULL, 0, NULL, 0, NULL };
-static void _deregister(algo_list * cl)
+static void _deregister(algo_list *cl)
{
algo_list *next;
@@ -172,18 +172,17 @@ void _gnutls_crypto_deregister(void)
*
* Since: 2.6.0
-*/
-int
-gnutls_crypto_single_cipher_register(gnutls_cipher_algorithm_t algorithm,
- int priority,
- const gnutls_crypto_cipher_st * s,
- int free_s)
+int gnutls_crypto_single_cipher_register(gnutls_cipher_algorithm_t algorithm,
+ int priority,
+ const gnutls_crypto_cipher_st *s,
+ int free_s)
{
/* we override const in case free_s is set */
return _algo_register(&glob_cl, algorithm, priority, (void *)s, free_s);
}
-const gnutls_crypto_cipher_st
- * _gnutls_get_crypto_cipher(gnutls_cipher_algorithm_t algo)
+const gnutls_crypto_cipher_st *
+_gnutls_get_crypto_cipher(gnutls_cipher_algorithm_t algo)
{
return _get_algo(&glob_cl, algo);
}
@@ -218,33 +217,29 @@ const gnutls_crypto_cipher_st
*
* Since: 3.4.0
**/
-int
-gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
- gnutls_cipher_setkey_func setkey,
- gnutls_cipher_setiv_func setiv,
- gnutls_cipher_encrypt_func encrypt,
- gnutls_cipher_decrypt_func decrypt,
- gnutls_cipher_deinit_func deinit)
+int gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
+ int priority, gnutls_cipher_init_func init,
+ gnutls_cipher_setkey_func setkey,
+ gnutls_cipher_setiv_func setiv,
+ gnutls_cipher_encrypt_func encrypt,
+ gnutls_cipher_decrypt_func decrypt,
+ gnutls_cipher_deinit_func deinit)
{
- _gnutls_debug_log
- ("called the deprecated gnutls_crypto_register_cipher()\n");
+ _gnutls_debug_log(
+ "called the deprecated gnutls_crypto_register_cipher()\n");
return 0;
}
-int
-_gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
- gnutls_cipher_setkey_func setkey,
- gnutls_cipher_setiv_func setiv,
- gnutls_cipher_encrypt_func encrypt,
- gnutls_cipher_decrypt_func decrypt,
- gnutls_cipher_deinit_func deinit)
+int _gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
+ int priority, gnutls_cipher_init_func init,
+ gnutls_cipher_setkey_func setkey,
+ gnutls_cipher_setiv_func setiv,
+ gnutls_cipher_encrypt_func encrypt,
+ gnutls_cipher_decrypt_func decrypt,
+ gnutls_cipher_deinit_func deinit)
{
gnutls_crypto_cipher_st *s =
- gnutls_calloc(1, sizeof(gnutls_crypto_cipher_st));
+ gnutls_calloc(1, sizeof(gnutls_crypto_cipher_st));
if (s == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -286,17 +281,15 @@ _gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
*
* Since: 3.4.0
**/
-int
-gnutls_crypto_register_aead_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
- gnutls_cipher_setkey_func setkey,
- gnutls_cipher_aead_encrypt_func aead_encrypt,
- gnutls_cipher_aead_decrypt_func aead_decrypt,
- gnutls_cipher_deinit_func deinit)
+int gnutls_crypto_register_aead_cipher(
+ gnutls_cipher_algorithm_t algorithm, int priority,
+ gnutls_cipher_init_func init, gnutls_cipher_setkey_func setkey,
+ gnutls_cipher_aead_encrypt_func aead_encrypt,
+ gnutls_cipher_aead_decrypt_func aead_decrypt,
+ gnutls_cipher_deinit_func deinit)
{
- _gnutls_debug_log
- ("called the deprecated gnutls_crypto_register_aead_cipher()\n");
+ _gnutls_debug_log(
+ "called the deprecated gnutls_crypto_register_aead_cipher()\n");
return 0;
}
@@ -320,7 +313,7 @@ gnutls_crypto_register_aead_cipher(gnutls_cipher_algorithm_t algorithm,
*
* Since: 2.6.0
-*/
-int gnutls_crypto_rnd_register(int priority, const gnutls_crypto_rnd_st * s)
+int gnutls_crypto_rnd_register(int priority, const gnutls_crypto_rnd_st *s)
{
if (crypto_rnd_prio >= priority) {
memcpy(&_gnutls_rnd_ops, s, sizeof(*s));
@@ -352,10 +345,9 @@ int gnutls_crypto_rnd_register(int priority, const gnutls_crypto_rnd_st * s)
*
* Since: 2.6.0
-*/
-int
-gnutls_crypto_single_mac_register(gnutls_mac_algorithm_t algorithm,
- int priority,
- const gnutls_crypto_mac_st * s, int free_s)
+int gnutls_crypto_single_mac_register(gnutls_mac_algorithm_t algorithm,
+ int priority,
+ const gnutls_crypto_mac_st *s, int free_s)
{
return _algo_register(&glob_ml, algorithm, priority, (void *)s, free_s);
}
@@ -386,17 +378,16 @@ const gnutls_crypto_mac_st *_gnutls_get_crypto_mac(gnutls_mac_algorithm_t algo)
*
* Since: 2.6.0
-*/
-int
-gnutls_crypto_single_digest_register(gnutls_digest_algorithm_t algorithm,
- int priority,
- const gnutls_crypto_digest_st * s,
- int free_s)
+int gnutls_crypto_single_digest_register(gnutls_digest_algorithm_t algorithm,
+ int priority,
+ const gnutls_crypto_digest_st *s,
+ int free_s)
{
return _algo_register(&glob_dl, algorithm, priority, (void *)s, free_s);
}
-const gnutls_crypto_digest_st
- * _gnutls_get_crypto_digest(gnutls_digest_algorithm_t algo)
+const gnutls_crypto_digest_st *
+_gnutls_get_crypto_digest(gnutls_digest_algorithm_t algo)
{
return _get_algo(&glob_dl, algo);
}
@@ -425,19 +416,17 @@ const gnutls_crypto_digest_st
*
* Since: 3.4.0
**/
-int
-gnutls_crypto_register_mac(gnutls_mac_algorithm_t algorithm,
- int priority,
- gnutls_mac_init_func init,
- gnutls_mac_setkey_func setkey,
- gnutls_mac_setnonce_func setnonce,
- gnutls_mac_hash_func hash,
- gnutls_mac_output_func output,
- gnutls_mac_deinit_func deinit,
- gnutls_mac_fast_func hash_fast)
+int gnutls_crypto_register_mac(gnutls_mac_algorithm_t algorithm, int priority,
+ gnutls_mac_init_func init,
+ gnutls_mac_setkey_func setkey,
+ gnutls_mac_setnonce_func setnonce,
+ gnutls_mac_hash_func hash,
+ gnutls_mac_output_func output,
+ gnutls_mac_deinit_func deinit,
+ gnutls_mac_fast_func hash_fast)
{
- _gnutls_debug_log
- ("called the deprecated gnutls_crypto_register_mac()\n");
+ _gnutls_debug_log(
+ "called the deprecated gnutls_crypto_register_mac()\n");
return 0;
}
@@ -463,16 +452,14 @@ gnutls_crypto_register_mac(gnutls_mac_algorithm_t algorithm,
*
* Since: 3.4.0
**/
-int
-gnutls_crypto_register_digest(gnutls_digest_algorithm_t algorithm,
- int priority,
- gnutls_digest_init_func init,
- gnutls_digest_hash_func hash,
- gnutls_digest_output_func output,
- gnutls_digest_deinit_func deinit,
- gnutls_digest_fast_func hash_fast)
+int gnutls_crypto_register_digest(gnutls_digest_algorithm_t algorithm,
+ int priority, gnutls_digest_init_func init,
+ gnutls_digest_hash_func hash,
+ gnutls_digest_output_func output,
+ gnutls_digest_deinit_func deinit,
+ gnutls_digest_fast_func hash_fast)
{
- _gnutls_debug_log
- ("called the deprecated gnutls_crypto_register_digest()\n");
+ _gnutls_debug_log(
+ "called the deprecated gnutls_crypto_register_digest()\n");
return 0;
}
diff --git a/lib/crypto-backend.h b/lib/crypto-backend.h
index 03c5ca5433..8f11ce9036 100644
--- a/lib/crypto-backend.h
+++ b/lib/crypto-backend.h
@@ -21,13 +21,13 @@
*/
#ifndef GNUTLS_LIB_CRYPTO_BACKEND_H
-# define GNUTLS_LIB_CRYPTO_BACKEND_H
+#define GNUTLS_LIB_CRYPTO_BACKEND_H
-# include <gnutls/crypto.h>
+#include <gnutls/crypto.h>
-# define gnutls_crypto_single_cipher_st gnutls_crypto_cipher_st
-# define gnutls_crypto_single_mac_st gnutls_crypto_mac_st
-# define gnutls_crypto_single_digest_st gnutls_crypto_digest_st
+#define gnutls_crypto_single_cipher_st gnutls_crypto_cipher_st
+#define gnutls_crypto_single_mac_st gnutls_crypto_mac_st
+#define gnutls_crypto_single_digest_st gnutls_crypto_digest_st
typedef struct {
gnutls_cipher_init_func init;
@@ -44,7 +44,7 @@ typedef struct {
/* Not needed for registered on run-time. Only included
* should define it. */
- int (*exists)(gnutls_cipher_algorithm_t); /* true/false */
+ int (*exists)(gnutls_cipher_algorithm_t); /* true/false */
} gnutls_crypto_cipher_st;
typedef struct {
@@ -76,25 +76,23 @@ typedef struct {
} gnutls_crypto_digest_st;
typedef struct {
- int (*hkdf_extract)(gnutls_mac_algorithm_t,
- const void *key, size_t keysize,
- const void *salt, size_t saltsize, void *output);
- int (*hkdf_expand)(gnutls_mac_algorithm_t,
- const void *key, size_t keysize,
- const void *info, size_t infosize,
+ int (*hkdf_extract)(gnutls_mac_algorithm_t, const void *key,
+ size_t keysize, const void *salt, size_t saltsize,
+ void *output);
+ int (*hkdf_expand)(gnutls_mac_algorithm_t, const void *key,
+ size_t keysize, const void *info, size_t infosize,
void *output, size_t length);
- int (*pbkdf2)(gnutls_mac_algorithm_t,
- const void *key, size_t keysize,
- const void *salt, size_t saltsize,
- unsigned iter_count, void *output, size_t length);
+ int (*pbkdf2)(gnutls_mac_algorithm_t, const void *key, size_t keysize,
+ const void *salt, size_t saltsize, unsigned iter_count,
+ void *output, size_t length);
} gnutls_crypto_kdf_st;
typedef struct gnutls_crypto_rnd {
- int (*init)(void **ctx); /* called prior to first usage of randomness */
+ int (*init)(void **ctx); /* called prior to first usage of randomness */
int (*rnd)(void *ctx, int level, void *data, size_t datasize);
void (*rnd_refresh)(void *ctx);
void (*deinit)(void *ctx);
- int (*self_test)(void); /* this should not require rng initialization */
+ int (*self_test)(void); /* this should not require rng initialization */
} gnutls_crypto_rnd_st;
typedef void *bigint_t;
@@ -121,7 +119,7 @@ typedef struct gnutls_crypto_bigint {
int (*bigint_init)(bigint_t *);
int (*bigint_init_multi)(bigint_t *, ...);
void (*bigint_release)(bigint_t n);
- void (*bigint_clear)(bigint_t n); /* zeros the int */
+ void (*bigint_clear)(bigint_t n); /* zeros the int */
/* 0 for equality, > 0 for m1>m2, < 0 for m1<m2 */
int (*bigint_cmp)(const bigint_t m1, const bigint_t m2);
/* as bigint_cmp */
@@ -130,26 +128,26 @@ typedef struct gnutls_crypto_bigint {
int (*bigint_modm)(bigint_t r, const bigint_t a, const bigint_t b);
/* a = b -> ret == a */
int (*bigint_set)(bigint_t a, const bigint_t b);
- bigint_t(*bigint_copy) (const bigint_t a);
+ bigint_t (*bigint_copy)(const bigint_t a);
/* a = b -> ret == a */
int (*bigint_set_ui)(bigint_t a, unsigned long b);
unsigned int (*bigint_get_nbits)(const bigint_t a);
/* w = b ^ e mod m */
- int (*bigint_powm)(bigint_t w, const bigint_t b,
- const bigint_t e, const bigint_t m);
+ int (*bigint_powm)(bigint_t w, const bigint_t b, const bigint_t e,
+ const bigint_t m);
/* w = a + b mod m */
- int (*bigint_addm)(bigint_t w, const bigint_t a,
- const bigint_t b, const bigint_t m);
+ int (*bigint_addm)(bigint_t w, const bigint_t a, const bigint_t b,
+ const bigint_t m);
/* w = a - b mod m */
- int (*bigint_subm)(bigint_t w, const bigint_t a,
- const bigint_t b, const bigint_t m);
+ int (*bigint_subm)(bigint_t w, const bigint_t a, const bigint_t b,
+ const bigint_t m);
/* w = a * b mod m */
- int (*bigint_mulm)(bigint_t w, const bigint_t a,
- const bigint_t b, const bigint_t m);
- /* w = a + b */ int (*bigint_add)(bigint_t w,
- const bigint_t a, const bigint_t b);
- /* w = a - b */ int (*bigint_sub)(bigint_t w,
- const bigint_t a, const bigint_t b);
+ int (*bigint_mulm)(bigint_t w, const bigint_t a, const bigint_t b,
+ const bigint_t m);
+ /* w = a + b */ int (*bigint_add)(bigint_t w, const bigint_t a,
+ const bigint_t b);
+ /* w = a - b */ int (*bigint_sub)(bigint_t w, const bigint_t a,
+ const bigint_t b);
/* w = a * b */
int (*bigint_mul)(bigint_t w, const bigint_t a, const bigint_t b);
/* w = a + b */
@@ -170,8 +168,8 @@ typedef struct gnutls_crypto_bigint {
*/
int (*bigint_scan)(bigint_t m, const void *buf, size_t buf_size,
gnutls_bigint_format_t format);
- int (*bigint_print)(const bigint_t a, void *buf,
- size_t *buf_size, gnutls_bigint_format_t format);
+ int (*bigint_print)(const bigint_t a, void *buf, size_t *buf_size,
+ gnutls_bigint_format_t format);
} gnutls_crypto_bigint_st;
/* Additional information about the public key, filled from
@@ -202,17 +200,18 @@ typedef struct gnutls_x509_spki_st {
unsigned int flags;
} gnutls_x509_spki_st;
-# define GNUTLS_MAX_PK_PARAMS 16
+#define GNUTLS_MAX_PK_PARAMS 16
typedef struct {
bigint_t params[GNUTLS_MAX_PK_PARAMS];
- unsigned int params_nr; /* the number of parameters */
- unsigned int pkflags; /* gnutls_pk_flag_t */
- unsigned int qbits; /* GNUTLS_PK_DH */
- gnutls_ecc_curve_t curve; /* GNUTLS_PK_EC, GNUTLS_PK_ED25519, GNUTLS_PK_GOST* */
- gnutls_group_t dh_group; /* GNUTLS_PK_DH - used by ext/key_share */
- gnutls_gost_paramset_t gost_params; /* GNUTLS_PK_GOST_* */
- gnutls_datum_t raw_pub; /* used by x25519 */
+ unsigned int params_nr; /* the number of parameters */
+ unsigned int pkflags; /* gnutls_pk_flag_t */
+ unsigned int qbits; /* GNUTLS_PK_DH */
+ gnutls_ecc_curve_t
+ curve; /* GNUTLS_PK_EC, GNUTLS_PK_ED25519, GNUTLS_PK_GOST* */
+ gnutls_group_t dh_group; /* GNUTLS_PK_DH - used by ext/key_share */
+ gnutls_gost_paramset_t gost_params; /* GNUTLS_PK_GOST_* */
+ gnutls_datum_t raw_pub; /* used by x25519 */
gnutls_datum_t raw_priv;
unsigned int seed_size;
@@ -237,52 +236,54 @@ typedef enum {
GNUTLS_PK_FLAG_RSA_PSS_FIXED_SALT_LENGTH = 4
} gnutls_pk_flag_t;
-# define FIX_SIGN_PARAMS(params, flags, dig) do { \
- if ((flags) & GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE) { \
- (params).flags |= GNUTLS_PK_FLAG_REPRODUCIBLE; \
- } \
- if ((params).pk == GNUTLS_PK_DSA || (params).pk == GNUTLS_PK_ECDSA) { \
- (params).dsa_dig = (dig); \
- } \
-} while (0)
+#define FIX_SIGN_PARAMS(params, flags, dig) \
+ do { \
+ if ((flags)&GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE) { \
+ (params).flags |= GNUTLS_PK_FLAG_REPRODUCIBLE; \
+ } \
+ if ((params).pk == GNUTLS_PK_DSA || \
+ (params).pk == GNUTLS_PK_ECDSA) { \
+ (params).dsa_dig = (dig); \
+ } \
+ } while (0)
-void gnutls_pk_params_release(gnutls_pk_params_st * p);
-void gnutls_pk_params_clear(gnutls_pk_params_st * p);
-void gnutls_pk_params_init(gnutls_pk_params_st * p);
+void gnutls_pk_params_release(gnutls_pk_params_st *p);
+void gnutls_pk_params_clear(gnutls_pk_params_st *p);
+void gnutls_pk_params_init(gnutls_pk_params_st *p);
-# define MAX_PUBLIC_PARAMS_SIZE 4 /* ok for RSA and DSA */
+#define MAX_PUBLIC_PARAMS_SIZE 4 /* ok for RSA and DSA */
/* parameters should not be larger than this limit */
-# define DSA_PUBLIC_PARAMS 4
-# define DH_PUBLIC_PARAMS 4
-# define RSA_PUBLIC_PARAMS 2
-# define ECC_PUBLIC_PARAMS 2
-# define GOST_PUBLIC_PARAMS 2
+#define DSA_PUBLIC_PARAMS 4
+#define DH_PUBLIC_PARAMS 4
+#define RSA_PUBLIC_PARAMS 2
+#define ECC_PUBLIC_PARAMS 2
+#define GOST_PUBLIC_PARAMS 2
-# define MAX_PRIV_PARAMS_SIZE GNUTLS_MAX_PK_PARAMS /* ok for RSA and DSA */
+#define MAX_PRIV_PARAMS_SIZE GNUTLS_MAX_PK_PARAMS /* ok for RSA and DSA */
/* parameters should not be larger than this limit */
-# define DSA_PRIVATE_PARAMS 5
-# define DH_PRIVATE_PARAMS 5
-# define RSA_PRIVATE_PARAMS 8
-# define ECC_PRIVATE_PARAMS 3
-# define GOST_PRIVATE_PARAMS 3
+#define DSA_PRIVATE_PARAMS 5
+#define DH_PRIVATE_PARAMS 5
+#define RSA_PRIVATE_PARAMS 8
+#define ECC_PRIVATE_PARAMS 3
+#define GOST_PRIVATE_PARAMS 3
-# if MAX_PRIV_PARAMS_SIZE - RSA_PRIVATE_PARAMS < 0
-# error INCREASE MAX_PRIV_PARAMS
-# endif
+#if MAX_PRIV_PARAMS_SIZE - RSA_PRIVATE_PARAMS < 0
+#error INCREASE MAX_PRIV_PARAMS
+#endif
-# if MAX_PRIV_PARAMS_SIZE - ECC_PRIVATE_PARAMS < 0
-# error INCREASE MAX_PRIV_PARAMS
-# endif
+#if MAX_PRIV_PARAMS_SIZE - ECC_PRIVATE_PARAMS < 0
+#error INCREASE MAX_PRIV_PARAMS
+#endif
-# if MAX_PRIV_PARAMS_SIZE - GOST_PRIVATE_PARAMS < 0
-# error INCREASE MAX_PRIV_PARAMS
-# endif
+#if MAX_PRIV_PARAMS_SIZE - GOST_PRIVATE_PARAMS < 0
+#error INCREASE MAX_PRIV_PARAMS
+#endif
-# if MAX_PRIV_PARAMS_SIZE - DSA_PRIVATE_PARAMS < 0
-# error INCREASE MAX_PRIV_PARAMS
-# endif
+#if MAX_PRIV_PARAMS_SIZE - DSA_PRIVATE_PARAMS < 0
+#error INCREASE MAX_PRIV_PARAMS
+#endif
/* params are:
* RSA:
@@ -319,34 +320,34 @@ void gnutls_pk_params_init(gnutls_pk_params_st * p);
* [8] is k (private key)
*/
-# define ECC_X 0
-# define ECC_Y 1
-# define ECC_K 2
-
-# define GOST_X 0
-# define GOST_Y 1
-# define GOST_K 2
-
-# define DSA_P 0
-# define DSA_Q 1
-# define DSA_G 2
-# define DSA_Y 3
-# define DSA_X 4
-
-# define DH_P 0
-# define DH_Q 1
-# define DH_G 2
-# define DH_Y 3
-# define DH_X 4
-
-# define RSA_MODULUS 0
-# define RSA_PUB 1
-# define RSA_PRIV 2
-# define RSA_PRIME1 3
-# define RSA_PRIME2 4
-# define RSA_COEF 5
-# define RSA_E1 6
-# define RSA_E2 7
+#define ECC_X 0
+#define ECC_Y 1
+#define ECC_K 2
+
+#define GOST_X 0
+#define GOST_Y 1
+#define GOST_K 2
+
+#define DSA_P 0
+#define DSA_Q 1
+#define DSA_G 2
+#define DSA_Y 3
+#define DSA_X 4
+
+#define DH_P 0
+#define DH_Q 1
+#define DH_G 2
+#define DH_Y 3
+#define DH_X 4
+
+#define RSA_MODULUS 0
+#define RSA_PUB 1
+#define RSA_PRIV 2
+#define RSA_PRIME1 3
+#define RSA_PRIME2 4
+#define RSA_COEF 5
+#define RSA_E1 6
+#define RSA_E2 7
/**
* gnutls_direction_t:
@@ -364,30 +365,26 @@ typedef enum {
typedef struct gnutls_crypto_pk {
/* The params structure should contain the private or public key
* parameters, depending on the operation */
- int (*encrypt)(gnutls_pk_algorithm_t, gnutls_datum_t * ciphertext,
- const gnutls_datum_t * plaintext,
- const gnutls_pk_params_st * pub);
- int (*decrypt)(gnutls_pk_algorithm_t,
- gnutls_datum_t * plaintext,
- const gnutls_datum_t * ciphertext,
- const gnutls_pk_params_st * priv);
- int (*decrypt2)(gnutls_pk_algorithm_t,
- const gnutls_datum_t * ciphertext,
- unsigned char *plaintext,
- size_t paintext_size, const gnutls_pk_params_st * priv);
- int (*sign)(gnutls_pk_algorithm_t, gnutls_datum_t * signature,
- const gnutls_datum_t * data,
- const gnutls_pk_params_st * priv,
- const gnutls_x509_spki_st * sign);
- int (*verify)(gnutls_pk_algorithm_t, const gnutls_datum_t * data,
- const gnutls_datum_t * sig,
- const gnutls_pk_params_st * pub,
- const gnutls_x509_spki_st * sign);
+ int (*encrypt)(gnutls_pk_algorithm_t, gnutls_datum_t *ciphertext,
+ const gnutls_datum_t *plaintext,
+ const gnutls_pk_params_st *pub);
+ int (*decrypt)(gnutls_pk_algorithm_t, gnutls_datum_t *plaintext,
+ const gnutls_datum_t *ciphertext,
+ const gnutls_pk_params_st *priv);
+ int (*decrypt2)(gnutls_pk_algorithm_t, const gnutls_datum_t *ciphertext,
+ unsigned char *plaintext, size_t paintext_size,
+ const gnutls_pk_params_st *priv);
+ int (*sign)(gnutls_pk_algorithm_t, gnutls_datum_t *signature,
+ const gnutls_datum_t *data, const gnutls_pk_params_st *priv,
+ const gnutls_x509_spki_st *sign);
+ int (*verify)(gnutls_pk_algorithm_t, const gnutls_datum_t *data,
+ const gnutls_datum_t *sig, const gnutls_pk_params_st *pub,
+ const gnutls_x509_spki_st *sign);
/* sanity checks the public key parameters */
int (*verify_priv_params)(gnutls_pk_algorithm_t,
- const gnutls_pk_params_st * priv);
+ const gnutls_pk_params_st *priv);
int (*verify_pub_params)(gnutls_pk_algorithm_t,
- const gnutls_pk_params_st * pub);
+ const gnutls_pk_params_st *pub);
int (*generate_keys)(gnutls_pk_algorithm_t, unsigned int nbits,
gnutls_pk_params_st *, unsigned ephemeral);
int (*generate_params)(gnutls_pk_algorithm_t, unsigned int nbits,
@@ -398,67 +395,58 @@ typedef struct gnutls_crypto_pk {
int (*pk_fixup_private_params)(gnutls_pk_algorithm_t,
gnutls_direction_t,
gnutls_pk_params_st *);
-# define PK_DERIVE_TLS13 1
- int (*derive)(gnutls_pk_algorithm_t, gnutls_datum_t * out,
- const gnutls_pk_params_st * priv,
- const gnutls_pk_params_st * pub,
- const gnutls_datum_t * nonce, unsigned int flags);
-
- int (*curve_exists)(gnutls_ecc_curve_t); /* true/false */
- int (*pk_exists)(gnutls_pk_algorithm_t); /* true/false */
- int (*sign_exists)(gnutls_sign_algorithm_t); /* true/false */
+#define PK_DERIVE_TLS13 1
+ int (*derive)(gnutls_pk_algorithm_t, gnutls_datum_t *out,
+ const gnutls_pk_params_st *priv,
+ const gnutls_pk_params_st *pub,
+ const gnutls_datum_t *nonce, unsigned int flags);
+
+ int (*curve_exists)(gnutls_ecc_curve_t); /* true/false */
+ int (*pk_exists)(gnutls_pk_algorithm_t); /* true/false */
+ int (*sign_exists)(gnutls_sign_algorithm_t); /* true/false */
} gnutls_crypto_pk_st;
/* priority: infinity for backend algorithms, 90 for kernel
algorithms, lowest wins
*/
-int gnutls_crypto_single_cipher_register(gnutls_cipher_algorithm_t
- algorithm, int priority,
- const gnutls_crypto_single_cipher_st *
- s, int free_s);
+int gnutls_crypto_single_cipher_register(
+ gnutls_cipher_algorithm_t algorithm, int priority,
+ const gnutls_crypto_single_cipher_st *s, int free_s);
int gnutls_crypto_single_mac_register(gnutls_mac_algorithm_t algorithm,
int priority,
- const gnutls_crypto_single_mac_st * s,
+ const gnutls_crypto_single_mac_st *s,
int free_s);
-int gnutls_crypto_single_digest_register(gnutls_digest_algorithm_t algorithm,
- int priority,
- const gnutls_crypto_single_digest_st *
- s, int free_s);
+int gnutls_crypto_single_digest_register(
+ gnutls_digest_algorithm_t algorithm, int priority,
+ const gnutls_crypto_single_digest_st *s, int free_s);
-int gnutls_crypto_rnd_register(int priority, const gnutls_crypto_rnd_st * s);
-int gnutls_crypto_pk_register(int priority, const gnutls_crypto_pk_st * s);
+int gnutls_crypto_rnd_register(int priority, const gnutls_crypto_rnd_st *s);
+int gnutls_crypto_pk_register(int priority, const gnutls_crypto_pk_st *s);
int gnutls_crypto_bigint_register(int priority,
- const gnutls_crypto_bigint_st * s);
+ const gnutls_crypto_bigint_st *s);
/* Provided by crypto-backend */
-int
-_gnutls_prf_raw(gnutls_mac_algorithm_t mac,
- size_t master_size, const void *master,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t outsize,
- char *out);
+int _gnutls_prf_raw(gnutls_mac_algorithm_t mac, size_t master_size,
+ const void *master, size_t label_size, const char *label,
+ size_t seed_size, const uint8_t *seed, size_t outsize,
+ char *out);
int _gnutls_gost_key_wrap(gnutls_gost_paramset_t gost_params,
- const gnutls_datum_t * kek,
- const gnutls_datum_t * ukm,
- const gnutls_datum_t * cek,
- gnutls_datum_t * enc, gnutls_datum_t * imit);
+ const gnutls_datum_t *kek, const gnutls_datum_t *ukm,
+ const gnutls_datum_t *cek, gnutls_datum_t *enc,
+ gnutls_datum_t *imit);
int _gnutls_gost_key_unwrap(gnutls_gost_paramset_t gost_params,
- const gnutls_datum_t * kek,
- const gnutls_datum_t * ukm,
- const gnutls_datum_t * enc,
- const gnutls_datum_t * imit, gnutls_datum_t * cek);
-
-int
-_gnutls_rsa_pkcs1_sign_pad(size_t key_bits,
- const gnutls_datum_t * data,
- unsigned char *buffer, size_t buffer_size);
-
-int
-_gnutls_rsa_pss_sign_pad(gnutls_x509_spki_st * params,
- size_t key_bits,
- const gnutls_datum_t * data,
- unsigned char *buffer, size_t buffer_size);
-
-#endif /* GNUTLS_LIB_CRYPTO_BACKEND_H */
+ const gnutls_datum_t *kek,
+ const gnutls_datum_t *ukm,
+ const gnutls_datum_t *enc,
+ const gnutls_datum_t *imit, gnutls_datum_t *cek);
+
+int _gnutls_rsa_pkcs1_sign_pad(size_t key_bits, const gnutls_datum_t *data,
+ unsigned char *buffer, size_t buffer_size);
+
+int _gnutls_rsa_pss_sign_pad(gnutls_x509_spki_st *params, size_t key_bits,
+ const gnutls_datum_t *data, unsigned char *buffer,
+ size_t buffer_size);
+
+#endif /* GNUTLS_LIB_CRYPTO_BACKEND_H */
diff --git a/lib/crypto-selftests-pk.c b/lib/crypto-selftests-pk.c
index 9062199d40..be0cbd7ad4 100644
--- a/lib/crypto-selftests-pk.c
+++ b/lib/crypto-selftests-pk.c
@@ -33,199 +33,203 @@
#include <debug.h>
#define DATASTR "Hello there!"
-static const gnutls_datum_t signed_data = {
- .data = (void *)DATASTR,
- .size = sizeof(DATASTR) - 1
-};
+static const gnutls_datum_t signed_data = { .data = (void *)DATASTR,
+ .size = sizeof(DATASTR) - 1 };
-static const gnutls_datum_t bad_data = {
- .data = (void *)DATASTR,
- .size = sizeof(DATASTR) - 2
-};
+static const gnutls_datum_t bad_data = { .data = (void *)DATASTR,
+ .size = sizeof(DATASTR) - 2 };
/* RSA 2048 private key and signature */
static const char rsa_2048_privkey[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEogIBAAKCAQEA6yCv+BLrRP/dMPBXJWK21c0aqxIX6JkODL4K+zlyEURt8/Wp\n"
- "nw37CJwHD3VrimSnk2SJvBfTNhzYhCsLShDOPvi4qBrLZ1WozjoVJ8tRE4VCcjQJ\n"
- "snpJ7ldiV+Eos1Z3FkbV/uQcw5CYCb/TciSukaWlI+G/xas9EOOFt4aELbc1yDe0\n"
- "hyfPDtoaKfek4GhT9qT1I8pTC40P9OrA9Jt8lblqxHWwqmdunLTjPjB5zJT6QgI+\n"
- "j1xuq7ZOQhveNA/AOyzh574GIpgsuvPPLBQwsCQkscr7cFnCsyOPgYJrQW3De2+l\n"
- "wjp2D7gZeeQcFQKazXcFoiqNpJWoBWmU0qqsgwIDAQABAoIBAAghNzRioxPdrO42\n"
- "QS0fvqah0tw7Yew+7oduQr7w+4qxTQP0aIsBVr6zdmMIclF0rX6hKUoBoOHsGWho\n"
- "fJlw/1CaFPhrBMFr6sxGodigZQtBvkxolDVBmTDOgK39MQUSZke0501K4du5MiiU\n"
- "I2F89zQ9//m/onvZMeFVnJf95LAX5qHr/FLARQFtOpgWzcGVxdvJdJlYb1zMUril\n"
- "PqyAZXo1j0vgHWwSd54k8mBLus7l8KT57VFce8+9nBPrOrqW4rDVXzs/go3S+kiI\n"
- "OyzYeUs9czg1N1e3VhEaC+EdYUawc0ASuEkbsJ53L8pwDvS+2ly2ykYziJp95Fjv\n"
- "bzyd1dECgYEA8FzGCxu7A6/ei9Dn0Fmi8Ns/QvEgbdlGw4v4MlXHjrGJYdOB0BwG\n"
- "2D2k0ODNYKlUX2J4hi5x8aCH33y/v0EcOHyuqM33vOWBVbdcumCqcOmp341UebAO\n"
- "uCPgDJNhjxXaeDVPnizqnOBA1B9sTxwmCOmFIiFRLbR+XluvDh3t8L0CgYEA+my6\n"
- "124Rw7kcFx+9JoB/Z+bUJDYpefUT91gBUhhEdEMx5fujhMzAbLpIRjFQq+75Qb7v\n"
- "0NyIS09B4oKOqQYzVEJwqKY7H71BTl7QuzJ8Qtuh/DMZsVIt6xpvdeuAKpEOqz44\n"
- "ZD3fW1B59A3ja7kqZadCqq2b02UTk+gdeOrYBj8CgYACX3gZDfoHrEnPKY3QUcI5\n"
- "DIEQYR8H1phLP+uAW7ZvozMPAy6J5mzu35Tr9vwwExvhITC9amH3l7UfsLSX58Wm\n"
- "jRyQUBA9Dir7tKa2tFOab8Qcj+GgnetXSAtjNGVHK1kPzL7vedQLHm+laHYCRe3e\n"
- "Mqf80UVi5SBGQDN3OTZrJQKBgEkj2oozDqMwfGDQl0kYfJ2XEFynKQQCrVsva+tT\n"
- "RSMDwR4fmcmel5Dp81P08U/WExy9rIM+9duxAVgrs4jwU6uHYCoRqvEBMIK4NJSI\n"
- "ETzhsvTa4+UjUF/7L5SsPJmyFiuzl3rHi2W7InNCXyrGQPjBmjoJTJq4SbiIMZtw\n"
- "U7m3AoGACG2rE/Ud71kyOJcKwxzEt8kd+2CMuaZeE/xk+3zLSSjXJzKPficogM3I\n"
- "K37/N7N0FjhdQ5hRuD3GH1fcjv9AKdGHsH7RuaG+jHTRUjS1glr17SSQzh6xXnWj\n"
- "jG0M4UZm5P9STL09nZuWH0wfpr/eg+9+A6yOVfnADI13v+Ygk7k=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEogIBAAKCAQEA6yCv+BLrRP/dMPBXJWK21c0aqxIX6JkODL4K+zlyEURt8/Wp\n"
+ "nw37CJwHD3VrimSnk2SJvBfTNhzYhCsLShDOPvi4qBrLZ1WozjoVJ8tRE4VCcjQJ\n"
+ "snpJ7ldiV+Eos1Z3FkbV/uQcw5CYCb/TciSukaWlI+G/xas9EOOFt4aELbc1yDe0\n"
+ "hyfPDtoaKfek4GhT9qT1I8pTC40P9OrA9Jt8lblqxHWwqmdunLTjPjB5zJT6QgI+\n"
+ "j1xuq7ZOQhveNA/AOyzh574GIpgsuvPPLBQwsCQkscr7cFnCsyOPgYJrQW3De2+l\n"
+ "wjp2D7gZeeQcFQKazXcFoiqNpJWoBWmU0qqsgwIDAQABAoIBAAghNzRioxPdrO42\n"
+ "QS0fvqah0tw7Yew+7oduQr7w+4qxTQP0aIsBVr6zdmMIclF0rX6hKUoBoOHsGWho\n"
+ "fJlw/1CaFPhrBMFr6sxGodigZQtBvkxolDVBmTDOgK39MQUSZke0501K4du5MiiU\n"
+ "I2F89zQ9//m/onvZMeFVnJf95LAX5qHr/FLARQFtOpgWzcGVxdvJdJlYb1zMUril\n"
+ "PqyAZXo1j0vgHWwSd54k8mBLus7l8KT57VFce8+9nBPrOrqW4rDVXzs/go3S+kiI\n"
+ "OyzYeUs9czg1N1e3VhEaC+EdYUawc0ASuEkbsJ53L8pwDvS+2ly2ykYziJp95Fjv\n"
+ "bzyd1dECgYEA8FzGCxu7A6/ei9Dn0Fmi8Ns/QvEgbdlGw4v4MlXHjrGJYdOB0BwG\n"
+ "2D2k0ODNYKlUX2J4hi5x8aCH33y/v0EcOHyuqM33vOWBVbdcumCqcOmp341UebAO\n"
+ "uCPgDJNhjxXaeDVPnizqnOBA1B9sTxwmCOmFIiFRLbR+XluvDh3t8L0CgYEA+my6\n"
+ "124Rw7kcFx+9JoB/Z+bUJDYpefUT91gBUhhEdEMx5fujhMzAbLpIRjFQq+75Qb7v\n"
+ "0NyIS09B4oKOqQYzVEJwqKY7H71BTl7QuzJ8Qtuh/DMZsVIt6xpvdeuAKpEOqz44\n"
+ "ZD3fW1B59A3ja7kqZadCqq2b02UTk+gdeOrYBj8CgYACX3gZDfoHrEnPKY3QUcI5\n"
+ "DIEQYR8H1phLP+uAW7ZvozMPAy6J5mzu35Tr9vwwExvhITC9amH3l7UfsLSX58Wm\n"
+ "jRyQUBA9Dir7tKa2tFOab8Qcj+GgnetXSAtjNGVHK1kPzL7vedQLHm+laHYCRe3e\n"
+ "Mqf80UVi5SBGQDN3OTZrJQKBgEkj2oozDqMwfGDQl0kYfJ2XEFynKQQCrVsva+tT\n"
+ "RSMDwR4fmcmel5Dp81P08U/WExy9rIM+9duxAVgrs4jwU6uHYCoRqvEBMIK4NJSI\n"
+ "ETzhsvTa4+UjUF/7L5SsPJmyFiuzl3rHi2W7InNCXyrGQPjBmjoJTJq4SbiIMZtw\n"
+ "U7m3AoGACG2rE/Ud71kyOJcKwxzEt8kd+2CMuaZeE/xk+3zLSSjXJzKPficogM3I\n"
+ "K37/N7N0FjhdQ5hRuD3GH1fcjv9AKdGHsH7RuaG+jHTRUjS1glr17SSQzh6xXnWj\n"
+ "jG0M4UZm5P9STL09nZuWH0wfpr/eg+9+A6yOVfnADI13v+Ygk7k=\n"
+ "-----END RSA PRIVATE KEY-----\n";
static const char rsa_2048_sig[] =
- "\x7a\xb3\xf8\xb0\xf9\xf0\x52\x88\x37\x17\x97\x9f\xbe\x61\xb4\xd2"
- "\x43\x78\x9f\x79\x92\xd0\xad\x08\xdb\xbd\x3c\x72\x7a\xb5\x51\x59"
- "\x63\xd6\x7d\xf1\x9c\x1e\x10\x7b\x27\xab\xf8\xd4\x9d\xcd\xc5\xf9"
- "\xae\xf7\x09\x6b\x40\x93\xc5\xe9\x1c\x0f\xb4\x82\xa1\x47\x86\x54"
- "\x63\xd2\x4d\x40\x9a\x80\xb9\x38\x45\x69\xa2\xd6\x92\xb6\x69\x7f"
- "\x3f\xf3\x5b\xa5\x1d\xac\x06\xad\xdf\x4e\xbb\xe6\xda\x68\x0d\xe5"
- "\xab\xef\xd2\xf0\xc5\xd8\xc0\xed\x80\xe2\xd4\x76\x98\xec\x44\xa2"
- "\xfc\x3f\xce\x2e\x8b\xc4\x4b\xab\xb0\x70\x24\x52\x85\x2a\x36\xcd"
- "\x9a\xb5\x05\x00\xea\x98\x7c\x72\x06\x68\xb1\x38\x44\x16\x80\x6a"
- "\x3b\x64\x72\xbb\xfd\x4b\xc9\xdd\xda\x2a\x68\xde\x7f\x6e\x48\x28"
- "\xc1\x63\x57\x2b\xde\x83\xa3\x27\x34\xd7\xa6\x87\x18\x35\x10\xff"
- "\x31\xd9\x47\xc9\x84\x35\xe1\xaa\xe2\xf7\x98\xfa\x19\xd3\xf1\x94"
- "\x25\x2a\x96\xe4\xa8\xa7\x05\x10\x93\x87\xde\x96\x85\xe5\x68\xb8"
- "\xe5\x4e\xbf\x66\x85\x91\xbd\x52\x5b\x3d\x9f\x1b\x79\xea\xe3\x8b"
- "\xef\x62\x18\x39\x7a\x50\x01\x46\x1b\xde\x8d\x37\xbc\x90\x6c\x07"
- "\xc0\x07\xed\x60\xce\x2e\x31\xd6\x8f\xe8\x75\xdb\x45\x21\xc6\xcb";
+ "\x7a\xb3\xf8\xb0\xf9\xf0\x52\x88\x37\x17\x97\x9f\xbe\x61\xb4\xd2"
+ "\x43\x78\x9f\x79\x92\xd0\xad\x08\xdb\xbd\x3c\x72\x7a\xb5\x51\x59"
+ "\x63\xd6\x7d\xf1\x9c\x1e\x10\x7b\x27\xab\xf8\xd4\x9d\xcd\xc5\xf9"
+ "\xae\xf7\x09\x6b\x40\x93\xc5\xe9\x1c\x0f\xb4\x82\xa1\x47\x86\x54"
+ "\x63\xd2\x4d\x40\x9a\x80\xb9\x38\x45\x69\xa2\xd6\x92\xb6\x69\x7f"
+ "\x3f\xf3\x5b\xa5\x1d\xac\x06\xad\xdf\x4e\xbb\xe6\xda\x68\x0d\xe5"
+ "\xab\xef\xd2\xf0\xc5\xd8\xc0\xed\x80\xe2\xd4\x76\x98\xec\x44\xa2"
+ "\xfc\x3f\xce\x2e\x8b\xc4\x4b\xab\xb0\x70\x24\x52\x85\x2a\x36\xcd"
+ "\x9a\xb5\x05\x00\xea\x98\x7c\x72\x06\x68\xb1\x38\x44\x16\x80\x6a"
+ "\x3b\x64\x72\xbb\xfd\x4b\xc9\xdd\xda\x2a\x68\xde\x7f\x6e\x48\x28"
+ "\xc1\x63\x57\x2b\xde\x83\xa3\x27\x34\xd7\xa6\x87\x18\x35\x10\xff"
+ "\x31\xd9\x47\xc9\x84\x35\xe1\xaa\xe2\xf7\x98\xfa\x19\xd3\xf1\x94"
+ "\x25\x2a\x96\xe4\xa8\xa7\x05\x10\x93\x87\xde\x96\x85\xe5\x68\xb8"
+ "\xe5\x4e\xbf\x66\x85\x91\xbd\x52\x5b\x3d\x9f\x1b\x79\xea\xe3\x8b"
+ "\xef\x62\x18\x39\x7a\x50\x01\x46\x1b\xde\x8d\x37\xbc\x90\x6c\x07"
+ "\xc0\x07\xed\x60\xce\x2e\x31\xd6\x8f\xe8\x75\xdb\x45\x21\xc6\xcb";
/* DSA 2048 private key and signature */
static const char dsa_2048_privkey[] =
- "-----BEGIN DSA PRIVATE KEY-----\n"
- "MIIDTQIBAAKCAQEAh60B6yPMRIT7udq2kKuwnQDohvT1U0w+RJcSr23C05cM/Ovn\n"
- "UP/8Rrj6T8K+uYhMbKgLaZiJJW9q04jaPQk0cfUphbLvRjzVHwE/0Bkb+Y1Rv7ni\n"
- "Jot2IFMq5iuNraf889PC0WREvFCcIkSFY2Ac4WT7mCcBtfx/raGFXDUjcUrJ0HwZ\n"
- "IOhjQDfcXUsztuyYsYA75ociEY8kyDZq/ixyr5++R1VjNf30Re8AbQlXOEGxEN5t\n"
- "t+Tvpq8K5L3prQs2KNSzyOUmedjb/ojH4T4qe/RL9EVjjeuIGHDNUT6F197yZ91y\n"
- "qLLTf1WjnUyZcKij5rryX0LJBBWawEZjNSHZawIdAMQlyycia4NigCdiDR+QptUn\n"
- "2xrj9o14fXkIrXcCggEAXRZm1rbPhsjSTo6cpCVrmDzO1grv83EHiBH4MvRQQnP8\n"
- "FpAREsBA5cYju97XvLaLhioZeMjLn08kU7TUbHRUB+ULTuVvE2dQbBpGuKiLRRt9\n"
- "6U2T0eD3xGLoM+o8EY/kpqaWGEpZv7hzM9xuo4vy55+viAZgFWULqmltwfG/7w7V\n"
- "NXUHNv5H4Ipw//fSDLTPqzUlNqSSswDLz6pCjWEs0rWAqNAMaOiLTz4id9pL48Oe\n"
- "oAfpcQR9tgTEnwyXfZBnrJVclHhkHKGeXvU05IgCzpKO76Z5R+By50T0i/JV7vzM\n"
- "l2yS9aAl/cprT6U7yI3oU/blldCVNpMcFAFb+fO8DAKCAQBVMo8xptyvQOJeSvbO\n"
- "SSYdJ3IiI/0GdkcGWXblWg9z7mrPaWEnT7OquEm/+vYtWd3GHDtyNM+jzsN4Xgjc\n"
- "TL3AEd2hLiozJQ1BFKw25VU08UHAYTzUxZhO4Vwtmp46Kwj8YLDQ3NHRWCBxpDQR\n"
- "fbiFvyXP+qXap6plMfrydnUD1mae/JSOWOYgdB7tFIehstLxVXx/cAnjwgFU03Df\n"
- "grjsad92zA1Hc9wIjbsgAQdTR5DWnFRkRt3UtayBwoyqm6QceZHsv1NAGvkQ4ion\n"
- "bEjkHkjF9YCkR9/rspR8cLghRIXMjOpypuSbaRPeeWq0gP2UOxFL/d3iWH0ETr/L\n"
- "kTlCAhxYGpVgtfB96qmJukyl9GOGvfkwFTgEyIDoV84M\n"
- "-----END DSA PRIVATE KEY-----\n";
+ "-----BEGIN DSA PRIVATE KEY-----\n"
+ "MIIDTQIBAAKCAQEAh60B6yPMRIT7udq2kKuwnQDohvT1U0w+RJcSr23C05cM/Ovn\n"
+ "UP/8Rrj6T8K+uYhMbKgLaZiJJW9q04jaPQk0cfUphbLvRjzVHwE/0Bkb+Y1Rv7ni\n"
+ "Jot2IFMq5iuNraf889PC0WREvFCcIkSFY2Ac4WT7mCcBtfx/raGFXDUjcUrJ0HwZ\n"
+ "IOhjQDfcXUsztuyYsYA75ociEY8kyDZq/ixyr5++R1VjNf30Re8AbQlXOEGxEN5t\n"
+ "t+Tvpq8K5L3prQs2KNSzyOUmedjb/ojH4T4qe/RL9EVjjeuIGHDNUT6F197yZ91y\n"
+ "qLLTf1WjnUyZcKij5rryX0LJBBWawEZjNSHZawIdAMQlyycia4NigCdiDR+QptUn\n"
+ "2xrj9o14fXkIrXcCggEAXRZm1rbPhsjSTo6cpCVrmDzO1grv83EHiBH4MvRQQnP8\n"
+ "FpAREsBA5cYju97XvLaLhioZeMjLn08kU7TUbHRUB+ULTuVvE2dQbBpGuKiLRRt9\n"
+ "6U2T0eD3xGLoM+o8EY/kpqaWGEpZv7hzM9xuo4vy55+viAZgFWULqmltwfG/7w7V\n"
+ "NXUHNv5H4Ipw//fSDLTPqzUlNqSSswDLz6pCjWEs0rWAqNAMaOiLTz4id9pL48Oe\n"
+ "oAfpcQR9tgTEnwyXfZBnrJVclHhkHKGeXvU05IgCzpKO76Z5R+By50T0i/JV7vzM\n"
+ "l2yS9aAl/cprT6U7yI3oU/blldCVNpMcFAFb+fO8DAKCAQBVMo8xptyvQOJeSvbO\n"
+ "SSYdJ3IiI/0GdkcGWXblWg9z7mrPaWEnT7OquEm/+vYtWd3GHDtyNM+jzsN4Xgjc\n"
+ "TL3AEd2hLiozJQ1BFKw25VU08UHAYTzUxZhO4Vwtmp46Kwj8YLDQ3NHRWCBxpDQR\n"
+ "fbiFvyXP+qXap6plMfrydnUD1mae/JSOWOYgdB7tFIehstLxVXx/cAnjwgFU03Df\n"
+ "grjsad92zA1Hc9wIjbsgAQdTR5DWnFRkRt3UtayBwoyqm6QceZHsv1NAGvkQ4ion\n"
+ "bEjkHkjF9YCkR9/rspR8cLghRIXMjOpypuSbaRPeeWq0gP2UOxFL/d3iWH0ETr/L\n"
+ "kTlCAhxYGpVgtfB96qmJukyl9GOGvfkwFTgEyIDoV84M\n"
+ "-----END DSA PRIVATE KEY-----\n";
static const char dsa_2048_sig[] =
- "\x30\x3d\x02\x1d\x00\xbe\x87\x2f\xcf\xa1\xe4\x86\x5c\x72\x58\x4a"
- "\x7b\x8f\x32\x7f\xa5\x1b\xdc\x5c\xae\xda\x98\xea\x15\x32\xed\x0c"
- "\x4e\x02\x1c\x4c\x76\x01\x2b\xcd\xb9\x33\x95\xf2\xfa\xde\x56\x01"
- "\xb7\xaa\xe4\x5a\x4a\x2e\xf1\x24\x5a\xd1\xb5\x83\x9a\x93\x61";
+ "\x30\x3d\x02\x1d\x00\xbe\x87\x2f\xcf\xa1\xe4\x86\x5c\x72\x58\x4a"
+ "\x7b\x8f\x32\x7f\xa5\x1b\xdc\x5c\xae\xda\x98\xea\x15\x32\xed\x0c"
+ "\x4e\x02\x1c\x4c\x76\x01\x2b\xcd\xb9\x33\x95\xf2\xfa\xde\x56\x01"
+ "\xb7\xaa\xe4\x5a\x4a\x2e\xf1\x24\x5a\xd1\xb5\x83\x9a\x93\x61";
/* secp256r1 private key and signature */
static const char ecdsa_secp256r1_privkey[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHcCAQEEIPAKWV7+pZe9c5EubMNfAEKWRQtP/MvlO9HehwHmJssNoAoGCCqGSM49\n"
- "AwEHoUQDQgAE2CNONRio3ciuXtoomJKs3MdbzLbd44VPhtzJN30VLFm5gvnfiCj2\n"
- "zzz7pl9Cv0ECHl6yedNI8QEKdcwCDgEmkQ==\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHcCAQEEIPAKWV7+pZe9c5EubMNfAEKWRQtP/MvlO9HehwHmJssNoAoGCCqGSM49\n"
+ "AwEHoUQDQgAE2CNONRio3ciuXtoomJKs3MdbzLbd44VPhtzJN30VLFm5gvnfiCj2\n"
+ "zzz7pl9Cv0ECHl6yedNI8QEKdcwCDgEmkQ==\n"
+ "-----END EC PRIVATE KEY-----\n";
static const char ecdsa_secp256r1_sig[] =
- "\x30\x45\x02\x21\x00\x80\x67\x18\xb9\x72\xc6\x0b\xe1\xc9\x89\x9b"
- "\x85\x11\x49\x29\x08\xd9\x86\x76\xcc\xfb\xc1\xf4\xd0\xa2\x5e\xa7"
- "\xb9\x12\xfb\x1a\x68\x02\x20\x67\x12\xb1\x89\x9e\x1d\x9d\x5c\x0f"
- "\xef\x6e\xa7\x2a\x95\x8c\xfa\x54\x20\x80\xc8\x30\x7c\xff\x06\xbc"
- "\xc8\xe2\x9a\x2f\x05\x2f\x67";
+ "\x30\x45\x02\x21\x00\x80\x67\x18\xb9\x72\xc6\x0b\xe1\xc9\x89\x9b"
+ "\x85\x11\x49\x29\x08\xd9\x86\x76\xcc\xfb\xc1\xf4\xd0\xa2\x5e\xa7"
+ "\xb9\x12\xfb\x1a\x68\x02\x20\x67\x12\xb1\x89\x9e\x1d\x9d\x5c\x0f"
+ "\xef\x6e\xa7\x2a\x95\x8c\xfa\x54\x20\x80\xc8\x30\x7c\xff\x06\xbc"
+ "\xc8\xe2\x9a\x2f\x05\x2f\x67";
#ifdef ENABLE_NON_SUITEB_CURVES
/* secp192r1 private key and signature */
static const char ecdsa_secp192r1_privkey[] =
- "-----BEGIN EC PRIVATE KEY-----"
- "MF8CAQEEGLjezFcbgDMeApVrdtZHvu/k1a8/tVZ41KAKBggqhkjOPQMBAaE0AzIA"
- "BO1lciKdgxeRH8k64vxcaV1OYIK9akVrW02Dw21MXhRLP0l0wzCw6LGSr5rS6AaL"
- "Fg==" "-----END EC PRIVATE KEY-----";
+ "-----BEGIN EC PRIVATE KEY-----"
+ "MF8CAQEEGLjezFcbgDMeApVrdtZHvu/k1a8/tVZ41KAKBggqhkjOPQMBAaE0AzIA"
+ "BO1lciKdgxeRH8k64vxcaV1OYIK9akVrW02Dw21MXhRLP0l0wzCw6LGSr5rS6AaL"
+ "Fg=="
+ "-----END EC PRIVATE KEY-----";
static const char ecdsa_secp192r1_sig[] =
- "\x30\x34\x02\x18\x7c\x43\xe3\xb7\x26\x90\x43\xb5\xf5\x63\x8f\xee"
- "\xac\x78\x3d\xac\x35\x35\xd0\x1e\x83\x17\x2b\x64\x02\x18\x14\x6e"
- "\x94\xd5\x7e\xac\x43\x42\x0b\x71\x7a\xc8\x29\xe6\xe3\xda\xf2\x95"
- "\x0e\xe0\x63\x24\xed\xf2";
+ "\x30\x34\x02\x18\x7c\x43\xe3\xb7\x26\x90\x43\xb5\xf5\x63\x8f\xee"
+ "\xac\x78\x3d\xac\x35\x35\xd0\x1e\x83\x17\x2b\x64\x02\x18\x14\x6e"
+ "\x94\xd5\x7e\xac\x43\x42\x0b\x71\x7a\xc8\x29\xe6\xe3\xda\xf2\x95"
+ "\x0e\xe0\x63\x24\xed\xf2";
/* secp224r1 private key and signature */
static const char ecdsa_secp224r1_privkey[] =
- "-----BEGIN EC PRIVATE KEY-----"
- "MGgCAQEEHOKWJFdWdrR/CgVrUeTeawOrJ9GozE9KKx2a8PmgBwYFK4EEACGhPAM6"
- "AAQKQj3YpenWT7lFR41SnBvmj/+Bj+kgzQnaF65qWAtPRJsZXFlLTu3/IUNqSRu9"
- "DqPsk8xBHAB7pA==" "-----END EC PRIVATE KEY-----";
+ "-----BEGIN EC PRIVATE KEY-----"
+ "MGgCAQEEHOKWJFdWdrR/CgVrUeTeawOrJ9GozE9KKx2a8PmgBwYFK4EEACGhPAM6"
+ "AAQKQj3YpenWT7lFR41SnBvmj/+Bj+kgzQnaF65qWAtPRJsZXFlLTu3/IUNqSRu9"
+ "DqPsk8xBHAB7pA=="
+ "-----END EC PRIVATE KEY-----";
static const char ecdsa_secp224r1_sig[] =
- "\x30\x3d\x02\x1c\x14\x22\x09\xa1\x51\x33\x37\xfd\x78\x73\xbd\x84"
- "\x6e\x76\xa8\x60\x90\xf5\xb6\x57\x34\x25\xe0\x79\xe3\x01\x61\xa9"
- "\x02\x1d\x00\xb1\xee\xdb\xae\xb3\xe6\x9c\x04\x68\xd5\xe1\x0d\xb6"
- "\xfc\x5c\x45\xc3\x4f\xbf\x2b\xa5\xe0\x89\x37\x84\x04\x82\x5f";
+ "\x30\x3d\x02\x1c\x14\x22\x09\xa1\x51\x33\x37\xfd\x78\x73\xbd\x84"
+ "\x6e\x76\xa8\x60\x90\xf5\xb6\x57\x34\x25\xe0\x79\xe3\x01\x61\xa9"
+ "\x02\x1d\x00\xb1\xee\xdb\xae\xb3\xe6\x9c\x04\x68\xd5\xe1\x0d\xb6"
+ "\xfc\x5c\x45\xc3\x4f\xbf\x2b\xa5\xe0\x89\x37\x84\x04\x82\x5f";
#endif
/* secp384r1 private key and signature */
static const char ecdsa_secp384r1_privkey[] =
- "-----BEGIN EC PRIVATE KEY-----"
- "MIGkAgEBBDDevshD6gb+4rZpC9vwFcIwNs4KmGzdqCxyyN40a8uOWRbyf7aHdiSS"
- "03oAyKtc4JCgBwYFK4EEACKhZANiAARO1KkPMno2tnNXx1S9EZkp8SOpDCZ4aobH"
- "IYv8RHnSmKf8I3OKD6TaoeR+1MwJmNJUH90Bj45WXla68/vsPiFcfVKboxsZYe/n"
- "pv8e4ugXagVQVBXNZJ859iYPdJR24vo=" "-----END EC PRIVATE KEY-----";
+ "-----BEGIN EC PRIVATE KEY-----"
+ "MIGkAgEBBDDevshD6gb+4rZpC9vwFcIwNs4KmGzdqCxyyN40a8uOWRbyf7aHdiSS"
+ "03oAyKtc4JCgBwYFK4EEACKhZANiAARO1KkPMno2tnNXx1S9EZkp8SOpDCZ4aobH"
+ "IYv8RHnSmKf8I3OKD6TaoeR+1MwJmNJUH90Bj45WXla68/vsPiFcfVKboxsZYe/n"
+ "pv8e4ugXagVQVBXNZJ859iYPdJR24vo="
+ "-----END EC PRIVATE KEY-----";
static const char ecdsa_secp384r1_sig[] =
- "\x30\x65\x02\x31\x00\xa7\x73\x60\x16\xdb\xf9\x1f\xfc\x9e\xd2\x12"
- "\x23\xd4\x04\xa7\x31\x1f\x15\x28\xfd\x87\x9c\x2c\xb1\xf3\x38\x35"
- "\x23\x3b\x6e\xfe\x6a\x5d\x89\x34\xbe\x02\x82\xc6\x27\xea\x45\x53"
- "\xa9\x87\xc5\x31\x0a\x02\x30\x76\x32\x80\x6b\x43\x3c\xb4\xfd\x90"
- "\x03\xe0\x1d\x5d\x77\x18\x45\xf6\x71\x29\xa9\x05\x87\x49\x75\x3a"
- "\x78\x9c\x49\xe5\x6c\x8e\x18\xcd\x5d\xee\x2c\x6f\x92\xf7\x15\xd3"
- "\x38\xd5\xf9\x9b\x9d\x1a\xf4";
+ "\x30\x65\x02\x31\x00\xa7\x73\x60\x16\xdb\xf9\x1f\xfc\x9e\xd2\x12"
+ "\x23\xd4\x04\xa7\x31\x1f\x15\x28\xfd\x87\x9c\x2c\xb1\xf3\x38\x35"
+ "\x23\x3b\x6e\xfe\x6a\x5d\x89\x34\xbe\x02\x82\xc6\x27\xea\x45\x53"
+ "\xa9\x87\xc5\x31\x0a\x02\x30\x76\x32\x80\x6b\x43\x3c\xb4\xfd\x90"
+ "\x03\xe0\x1d\x5d\x77\x18\x45\xf6\x71\x29\xa9\x05\x87\x49\x75\x3a"
+ "\x78\x9c\x49\xe5\x6c\x8e\x18\xcd\x5d\xee\x2c\x6f\x92\xf7\x15\xd3"
+ "\x38\xd5\xf9\x9b\x9d\x1a\xf4";
/* secp521r1 private key and signature */
static const char ecdsa_secp521r1_privkey[] =
- "-----BEGIN EC PRIVATE KEY-----"
- "MIHbAgEBBEGO2n7NN363qSCvJVdlQtCvudtaW4o0fEufXRjE1AsCrle+VXX0Zh0w"
- "Y1slSeDHMndpakoiF+XkQ+bhcB867UV6aKAHBgUrgQQAI6GBiQOBhgAEAQb6jDpo"
- "byy1tF8Zucg0TMGUzIN2DK+RZJ3QQRdWdirO25OIC3FoFi1Yird6rpoB6HlNyJ7R"
- "0bNG9Uv34bSHMn8yAFoiqxUCdJZQbEenMoZsi6COaePe3e0QqvDMr0hEWT23Sr3t"
- "LpEV7eZGFfFIJw5wSUp2KOcs+O9WjmoukTWtDKNV" "-----END EC PRIVATE KEY-----";
+ "-----BEGIN EC PRIVATE KEY-----"
+ "MIHbAgEBBEGO2n7NN363qSCvJVdlQtCvudtaW4o0fEufXRjE1AsCrle+VXX0Zh0w"
+ "Y1slSeDHMndpakoiF+XkQ+bhcB867UV6aKAHBgUrgQQAI6GBiQOBhgAEAQb6jDpo"
+ "byy1tF8Zucg0TMGUzIN2DK+RZJ3QQRdWdirO25OIC3FoFi1Yird6rpoB6HlNyJ7R"
+ "0bNG9Uv34bSHMn8yAFoiqxUCdJZQbEenMoZsi6COaePe3e0QqvDMr0hEWT23Sr3t"
+ "LpEV7eZGFfFIJw5wSUp2KOcs+O9WjmoukTWtDKNV"
+ "-----END EC PRIVATE KEY-----";
static const char ecdsa_secp521r1_sig[] =
- "\x30\x81\x88\x02\x42\x01\x9d\x13\x2e\xc9\x75\x1b\x60\x10\x62\xc5"
- "\x0d\xcb\x08\x9e\x86\x01\xd3\xc9\x8c\xee\x2e\x16\x3d\x8c\xc2\x65"
- "\x80\xe1\x32\x56\xc3\x02\x9d\xf0\x4a\x89\x8d\x2e\x33\x2a\x90\x4e"
- "\x72\x1d\xaa\x84\x14\xe8\xcb\xdf\x7a\x4a\xc9\x67\x2e\xba\xa3\xf2"
- "\xc2\x07\xf7\x1b\xa5\x91\xbd\x02\x42\x01\xe3\x32\xd2\x25\xeb\x2e"
- "\xaf\xb4\x6c\xc0\xaa\x5c\xc1\x56\x14\x13\x23\x7f\x62\xcf\x4c\xb8"
- "\xd1\x96\xe0\x29\x6d\xed\x74\xdd\x23\x64\xf9\x29\x86\x40\x22\x2f"
- "\xb6\x8d\x4c\x8e\x0b\x7a\xda\xdb\x03\x44\x01\x9b\x81\x1c\x3c\xab"
- "\x78\xee\xf2\xc5\x24\x33\x61\x65\x01\x87\x66";
+ "\x30\x81\x88\x02\x42\x01\x9d\x13\x2e\xc9\x75\x1b\x60\x10\x62\xc5"
+ "\x0d\xcb\x08\x9e\x86\x01\xd3\xc9\x8c\xee\x2e\x16\x3d\x8c\xc2\x65"
+ "\x80\xe1\x32\x56\xc3\x02\x9d\xf0\x4a\x89\x8d\x2e\x33\x2a\x90\x4e"
+ "\x72\x1d\xaa\x84\x14\xe8\xcb\xdf\x7a\x4a\xc9\x67\x2e\xba\xa3\xf2"
+ "\xc2\x07\xf7\x1b\xa5\x91\xbd\x02\x42\x01\xe3\x32\xd2\x25\xeb\x2e"
+ "\xaf\xb4\x6c\xc0\xaa\x5c\xc1\x56\x14\x13\x23\x7f\x62\xcf\x4c\xb8"
+ "\xd1\x96\xe0\x29\x6d\xed\x74\xdd\x23\x64\xf9\x29\x86\x40\x22\x2f"
+ "\xb6\x8d\x4c\x8e\x0b\x7a\xda\xdb\x03\x44\x01\x9b\x81\x1c\x3c\xab"
+ "\x78\xee\xf2\xc5\x24\x33\x61\x65\x01\x87\x66";
/* GOST01 private key */
static const char gost01_privkey[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEUCAQAwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEEIgQgdNfuHGmmTdPm\n"
- "p5dAa3ea9UYxpdYQPP9lbDwzQwG2bJM=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEUCAQAwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEEIgQgdNfuHGmmTdPm\n"
+ "p5dAa3ea9UYxpdYQPP9lbDwzQwG2bJM=\n"
+ "-----END PRIVATE KEY-----\n";
/* GOST12 256 private key */
static const char gost12_256_privkey[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIEIgQgKOF96tom\n"
- "D61rhSnzKjyrmO3fv0gdlHei+6ovrc8SnBk=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIEIgQgKOF96tom\n"
+ "D61rhSnzKjyrmO3fv0gdlHei+6ovrc8SnBk=\n"
+ "-----END PRIVATE KEY-----\n";
/* GOST12 512 private key */
static const char gost12_512_privkey[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MGoCAQAwIQYIKoUDBwEBAQIwFQYJKoUDBwECAQIBBggqhQMHAQECAwRCBECjFpvp\n"
- "B0vdc7u59b99TCNXhHiB69JJtUjvieNkGYJpoaaIvoKZTNCjpSZASsZcQZCHOTof\n"
- "hsQ3JCCy4xnd5jWT\n" "-----END PRIVATE KEY-----\n";
-
-static int test_rsa_enc(gnutls_pk_algorithm_t pk,
- unsigned bits, gnutls_digest_algorithm_t ign)
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MGoCAQAwIQYIKoUDBwEBAQIwFQYJKoUDBwECAQIBBggqhQMHAQECAwRCBECjFpvp\n"
+ "B0vdc7u59b99TCNXhHiB69JJtUjvieNkGYJpoaaIvoKZTNCjpSZASsZcQZCHOTof\n"
+ "hsQ3JCCy4xnd5jWT\n"
+ "-----END PRIVATE KEY-----\n";
+
+static int test_rsa_enc(gnutls_pk_algorithm_t pk, unsigned bits,
+ gnutls_digest_algorithm_t ign)
{
int ret;
gnutls_datum_t enc = { NULL, 0 };
gnutls_datum_t dec = { NULL, 0 };
- gnutls_datum_t raw_rsa_key =
- { (void *)rsa_2048_privkey, sizeof(rsa_2048_privkey) - 1 };
+ gnutls_datum_t raw_rsa_key = { (void *)rsa_2048_privkey,
+ sizeof(rsa_2048_privkey) - 1 };
gnutls_privkey_t key;
gnutls_pubkey_t pub = NULL;
unsigned char plaintext2[sizeof(DATASTR) - 1];
@@ -240,9 +244,8 @@ static int test_rsa_enc(gnutls_pk_algorithm_t pk,
goto cleanup;
}
- ret =
- gnutls_privkey_import_x509_raw(key, &raw_rsa_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &raw_rsa_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -260,8 +263,8 @@ static int test_rsa_enc(gnutls_pk_algorithm_t pk,
goto cleanup;
}
- if (enc.size == signed_data.size && memcmp(signed_data.data, enc.data,
- enc.size) == 0) {
+ if (enc.size == signed_data.size &&
+ memcmp(signed_data.data, enc.data, enc.size) == 0) {
gnutls_assert();
ret = GNUTLS_E_SELF_TEST_ERROR;
goto cleanup;
@@ -273,8 +276,8 @@ static int test_rsa_enc(gnutls_pk_algorithm_t pk,
goto cleanup;
}
- if (dec.size != signed_data.size
- || memcmp(dec.data, signed_data.data, dec.size) != 0) {
+ if (dec.size != signed_data.size ||
+ memcmp(dec.data, signed_data.data, dec.size) != 0) {
ret = GNUTLS_E_SELF_TEST_ERROR;
gnutls_assert();
goto cleanup;
@@ -293,7 +296,7 @@ static int test_rsa_enc(gnutls_pk_algorithm_t pk,
}
ret = 0;
- cleanup:
+cleanup:
if (pub != NULL)
gnutls_pubkey_deinit(pub);
gnutls_privkey_deinit(key);
@@ -310,8 +313,8 @@ static int test_rsa_enc(gnutls_pk_algorithm_t pk,
return ret;
}
-static int test_sig(gnutls_pk_algorithm_t pk,
- unsigned bits, gnutls_sign_algorithm_t sigalgo)
+static int test_sig(gnutls_pk_algorithm_t pk, unsigned bits,
+ gnutls_sign_algorithm_t sigalgo)
{
int ret;
gnutls_privkey_t key;
@@ -406,9 +409,8 @@ static int test_sig(gnutls_pk_algorithm_t pk,
goto cleanup;
}
- ret =
- gnutls_privkey_import_x509_raw(key, &raw_key, GNUTLS_X509_FMT_PEM,
- NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &raw_key, GNUTLS_X509_FMT_PEM,
+ NULL, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -426,9 +428,8 @@ static int test_sig(gnutls_pk_algorithm_t pk,
goto cleanup;
}
- ret =
- gnutls_pubkey_verify_data2(pub, sigalgo, vflags,
- &signed_data, &sig);
+ ret = gnutls_pubkey_verify_data2(pub, sigalgo, vflags, &signed_data,
+ &sig);
if (ret < 0) {
ret = GNUTLS_E_SELF_TEST_ERROR;
gnutls_assert();
@@ -445,7 +446,7 @@ static int test_sig(gnutls_pk_algorithm_t pk,
ret = 0;
- cleanup:
+cleanup:
if (pub != NULL)
gnutls_pubkey_deinit(pub);
gnutls_privkey_deinit(key);
@@ -462,10 +463,9 @@ static int test_sig(gnutls_pk_algorithm_t pk,
}
static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
- gnutls_digest_algorithm_t dig,
- const void *privkey, size_t privkey_size,
- const void *stored_sig, size_t stored_sig_size,
- gnutls_privkey_flags_t flags)
+ gnutls_digest_algorithm_t dig, const void *privkey,
+ size_t privkey_size, const void *stored_sig,
+ size_t stored_sig_size, gnutls_privkey_flags_t flags)
{
int ret;
gnutls_datum_t sig = { NULL, 0 };
@@ -475,8 +475,7 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
char param_name[32];
unsigned vflags = 0;
- if (pk == GNUTLS_PK_EC ||
- pk == GNUTLS_PK_GOST_01 ||
+ if (pk == GNUTLS_PK_EC || pk == GNUTLS_PK_GOST_01 ||
pk == GNUTLS_PK_GOST_12_256 || pk == GNUTLS_PK_GOST_12_512) {
snprintf(param_name, sizeof(param_name), "%s",
gnutls_ecc_curve_get_name(GNUTLS_BITS_TO_CURVE(bits)));
@@ -499,9 +498,8 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
t.data = (void *)privkey;
t.size = privkey_size;
- ret =
- gnutls_privkey_import_x509_raw(key, &t, GNUTLS_X509_FMT_PEM,
- NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &t, GNUTLS_X509_FMT_PEM, NULL,
+ 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -522,7 +520,8 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
ssig.data = (void *)stored_sig;
ssig.size = stored_sig_size;
- if (sig.size != ssig.size || memcmp(sig.data, ssig.data, sig.size) != 0) {
+ if (sig.size != ssig.size ||
+ memcmp(sig.data, ssig.data, sig.size) != 0) {
ret = GNUTLS_E_SELF_TEST_ERROR;
#if 0
unsigned i;
@@ -549,9 +548,8 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
goto cleanup;
}
- ret =
- gnutls_pubkey_verify_data2(pub, gnutls_pk_to_sign(pk, dig), vflags,
- &signed_data, &sig);
+ ret = gnutls_pubkey_verify_data2(pub, gnutls_pk_to_sign(pk, dig),
+ vflags, &signed_data, &sig);
if (ret < 0) {
ret = GNUTLS_E_SELF_TEST_ERROR;
gnutls_assert();
@@ -560,9 +558,8 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
/* Test if a broken signature will cause verification error */
- ret =
- gnutls_pubkey_verify_data2(pub, gnutls_pk_to_sign(pk, dig), 0,
- &bad_data, &sig);
+ ret = gnutls_pubkey_verify_data2(pub, gnutls_pk_to_sign(pk, dig), 0,
+ &bad_data, &sig);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED) {
ret = GNUTLS_E_SELF_TEST_ERROR;
@@ -572,7 +569,7 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(sig.data);
if (pub != 0)
gnutls_pubkey_deinit(pub);
@@ -589,18 +586,19 @@ static int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,
}
#define PK_TEST(pk, func, bits, sigalgo) \
- ret = func(pk, bits, sigalgo); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto cleanup; \
- }
-
-#define PK_KNOWN_TEST(pk, bits, dig, pkey, sig, flags) \
- ret = test_known_sig(pk, bits, dig, pkey, sizeof(pkey)-1, sig, sizeof(sig)-1, flags); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto cleanup; \
- }
+ ret = func(pk, bits, sigalgo); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto cleanup; \
+ }
+
+#define PK_KNOWN_TEST(pk, bits, dig, pkey, sig, flags) \
+ ret = test_known_sig(pk, bits, dig, pkey, sizeof(pkey) - 1, sig, \
+ sizeof(sig) - 1, flags); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto cleanup; \
+ }
/* Known answer tests for DH */
static int test_dh(void)
@@ -695,7 +693,8 @@ static int test_dh(void)
0x1d, 0x98, 0x17, 0x45, 0xa3, 0xee, 0x21, 0xa0, 0x97, 0x38,
0x80, 0xc5, 0x28, 0x1f,
};
- static const uint8_t test_y[] = { /* y=g^x mod p */
+ static const uint8_t test_y[] = {
+ /* y=g^x mod p */
0x93, 0xeb, 0x5c, 0x37, 0x1d, 0x3c, 0x06, 0x6f, 0xbf, 0xbe,
0x96, 0x51, 0x26, 0x58, 0x81, 0x36, 0xc6, 0x4f, 0x9a, 0x34,
0xc4, 0xc5, 0xa8, 0xa3, 0x2c, 0x41, 0x76, 0xa8, 0xc6, 0xc0,
@@ -790,7 +789,7 @@ static int test_dh(void)
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_mpi_release(&pub.params[DH_Y]);
_gnutls_mpi_release(&priv.params[DH_G]);
_gnutls_mpi_release(&priv.params[DH_P]);
@@ -813,25 +812,27 @@ static int test_ecdh(void)
gnutls_pk_params_st priv;
gnutls_pk_params_st pub;
gnutls_datum_t out = { NULL, 0 };
- static const uint8_t known_key[] = {
- 0x22, 0x7a, 0x95, 0x98, 0x5f, 0xb1, 0x25, 0x79,
- 0xee, 0x07, 0xe3, 0x8b, 0x1a, 0x97, 0x1d, 0x63,
- 0x53, 0xa8, 0xbd, 0xde, 0x67, 0x4b, 0xcf, 0xa4,
- 0x5f, 0x5e, 0x67, 0x27, 0x6d, 0x86, 0x27, 0x26
- };
- static const uint8_t test_k[] = { /* priv */
+ static const uint8_t known_key[] = { 0x22, 0x7a, 0x95, 0x98, 0x5f, 0xb1,
+ 0x25, 0x79, 0xee, 0x07, 0xe3, 0x8b,
+ 0x1a, 0x97, 0x1d, 0x63, 0x53, 0xa8,
+ 0xbd, 0xde, 0x67, 0x4b, 0xcf, 0xa4,
+ 0x5f, 0x5e, 0x67, 0x27, 0x6d, 0x86,
+ 0x27, 0x26 };
+ static const uint8_t test_k[] = {
+ /* priv */
0x52, 0x9c, 0x30, 0xac, 0x6b, 0xce, 0x71, 0x9a,
0x37, 0xcd, 0x40, 0x93, 0xbf, 0xf0, 0x36, 0x89,
0x53, 0xcc, 0x0e, 0x17, 0xc6, 0xb6, 0xe2, 0x6a,
0x3c, 0x2c, 0x51, 0xdb, 0xa6, 0x69, 0x8c, 0xb1
};
- static const uint8_t test_x[] = {
- 0x51, 0x35, 0xd1, 0xd2, 0xb6, 0xad, 0x13, 0xf4,
- 0xa2, 0x25, 0xd3, 0x85, 0x83, 0xbe, 0x42, 0x1e,
- 0x19, 0x09, 0x54, 0x39, 0x00, 0x46, 0x91, 0x49,
- 0x0f, 0x3f, 0xaf, 0x3f, 0x67, 0xda, 0x10, 0x6f
- };
- static const uint8_t test_y[] = { /* y=g^x mod p */
+ static const uint8_t test_x[] = { 0x51, 0x35, 0xd1, 0xd2, 0xb6, 0xad,
+ 0x13, 0xf4, 0xa2, 0x25, 0xd3, 0x85,
+ 0x83, 0xbe, 0x42, 0x1e, 0x19, 0x09,
+ 0x54, 0x39, 0x00, 0x46, 0x91, 0x49,
+ 0x0f, 0x3f, 0xaf, 0x3f, 0x67, 0xda,
+ 0x10, 0x6f };
+ static const uint8_t test_y[] = {
+ /* y=g^x mod p */
0x07, 0x3a, 0xa1, 0xa2, 0x47, 0x3d, 0xa2, 0x74,
0x74, 0xc2, 0xde, 0x62, 0xb6, 0xb9, 0x59, 0xc9,
0x56, 0xf6, 0x9e, 0x17, 0xea, 0xbf, 0x7d, 0xa1,
@@ -845,22 +846,22 @@ static int test_ecdh(void)
priv.algo = pub.algo = GNUTLS_PK_EC;
- ret =
- _gnutls_mpi_init_scan(&priv.params[ECC_K], test_k, sizeof(test_k));
+ ret = _gnutls_mpi_init_scan(&priv.params[ECC_K], test_k,
+ sizeof(test_k));
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_mpi_init_scan(&priv.params[ECC_X], test_x, sizeof(test_x));
+ ret = _gnutls_mpi_init_scan(&priv.params[ECC_X], test_x,
+ sizeof(test_x));
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_mpi_init_scan(&priv.params[ECC_Y], test_y, sizeof(test_y));
+ ret = _gnutls_mpi_init_scan(&priv.params[ECC_Y], test_y,
+ sizeof(test_y));
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -898,7 +899,7 @@ static int test_ecdh(void)
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_mpi_release(&pub.params[ECC_Y]);
_gnutls_mpi_release(&pub.params[ECC_X]);
_gnutls_mpi_release(&priv.params[ECC_K]);
@@ -998,16 +999,16 @@ int gnutls_pk_self_test(unsigned flags, gnutls_pk_algorithm_t pk)
/* Test ECDSA */
if (is_post || !is_fips140_mode_enabled) {
PK_KNOWN_TEST(GNUTLS_PK_EC,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP256R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP256R1),
GNUTLS_DIG_SHA256,
ecdsa_secp256r1_privkey,
ecdsa_secp256r1_sig,
GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE);
} else {
PK_TEST(GNUTLS_PK_EC, test_sig,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP256R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP256R1),
GNUTLS_SIGN_ECDSA_SHA256);
}
@@ -1016,62 +1017,62 @@ int gnutls_pk_self_test(unsigned flags, gnutls_pk_algorithm_t pk)
if (is_post || !is_fips140_mode_enabled) {
PK_KNOWN_TEST(GNUTLS_PK_EC,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP384R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP384R1),
GNUTLS_DIG_SHA384,
ecdsa_secp384r1_privkey,
ecdsa_secp384r1_sig,
GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE);
} else {
PK_TEST(GNUTLS_PK_EC, test_sig,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP384R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP384R1),
GNUTLS_SIGN_ECDSA_SHA384);
}
if (is_post || !is_fips140_mode_enabled) {
PK_KNOWN_TEST(GNUTLS_PK_EC,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP521R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP521R1),
GNUTLS_DIG_SHA512,
ecdsa_secp521r1_privkey,
ecdsa_secp521r1_sig,
GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE);
} else {
PK_TEST(GNUTLS_PK_EC, test_sig,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP521R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP521R1),
GNUTLS_SIGN_ECDSA_SHA512);
}
#ifdef ENABLE_NON_SUITEB_CURVES
if (is_post || !is_fips140_mode_enabled) {
PK_KNOWN_TEST(GNUTLS_PK_EC,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP192R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP192R1),
GNUTLS_DIG_SHA256,
ecdsa_secp192r1_privkey,
ecdsa_secp192r1_sig,
GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE);
} else {
PK_TEST(GNUTLS_PK_EC, test_sig,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP192R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP192R1),
GNUTLS_SIGN_ECDSA_SHA256);
}
if (is_post || !is_fips140_mode_enabled) {
PK_KNOWN_TEST(GNUTLS_PK_EC,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP224R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP224R1),
GNUTLS_DIG_SHA256,
ecdsa_secp224r1_privkey,
ecdsa_secp224r1_sig,
GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE);
} else {
PK_TEST(GNUTLS_PK_EC, test_sig,
- GNUTLS_CURVE_TO_BITS
- (GNUTLS_ECC_CURVE_SECP224R1),
+ GNUTLS_CURVE_TO_BITS(
+ GNUTLS_ECC_CURVE_SECP224R1),
GNUTLS_SIGN_ECDSA_SHA256);
}
#endif
@@ -1111,6 +1112,6 @@ int gnutls_pk_self_test(unsigned flags, gnutls_pk_algorithm_t pk)
ret = 0;
- cleanup:
+cleanup:
return ret;
}
diff --git a/lib/crypto-selftests.c b/lib/crypto-selftests.c
index 5c9bd917b9..67b286abec 100644
--- a/lib/crypto-selftests.c
+++ b/lib/crypto-selftests.c
@@ -32,10 +32,9 @@
#include <nettle/sha3.h>
#define STR(tag, tag_size, val) \
- .tag = (uint8_t*)val, \
- .tag_size = (sizeof(val)-1)
+ .tag = (uint8_t *)val, .tag_size = (sizeof(val) - 1)
-#define V(x) (x), (sizeof(x)/sizeof(x[0]))
+#define V(x) (x), (sizeof(x) / sizeof(x[0]))
/* This does check the AES and SHA implementation against test vectors.
* This should not run under valgrind in order to use the native
@@ -48,7 +47,7 @@ struct cipher_vectors_st {
const uint8_t *plaintext;
unsigned int plaintext_size;
- const uint8_t *ciphertext; /* also of plaintext_size */
+ const uint8_t *ciphertext; /* also of plaintext_size */
const uint8_t *iv;
unsigned int iv_size;
@@ -67,7 +66,7 @@ struct cipher_aead_vectors_st {
const uint8_t *plaintext;
unsigned int plaintext_size;
- const uint8_t *ciphertext; /* also of plaintext_size */
+ const uint8_t *ciphertext; /* also of plaintext_size */
unsigned int iv_size;
const uint8_t *iv;
@@ -77,376 +76,334 @@ struct cipher_aead_vectors_st {
};
const struct cipher_aead_vectors_st chacha_poly1305_vectors[] = {
- {
- .compat_apis = 1,
- STR(key, key_size,
- "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a\xf3\x33\x88\x86\x04\xf6\xb5\xf0\x47\x39\x17\xc1\x40\x2b\x80\x09\x9d\xca\x5c\xbc\x20\x70\x75\xc0"),
- .auth = (void *)"\xf3\x33\x88\x86\x00\x00\x00\x00\x00\x00\x4e\x91",
- .auth_size = 12,
- .plaintext = (void *)
- "\x49\x6e\x74\x65\x72\x6e\x65\x74\x2d\x44\x72\x61\x66\x74\x73\x20\x61\x72\x65\x20\x64\x72\x61\x66\x74\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x73\x20\x76\x61\x6c\x69\x64\x20\x66\x6f\x72\x20\x61\x20\x6d\x61\x78\x69\x6d\x75\x6d\x20\x6f\x66\x20\x73\x69\x78\x20\x6d\x6f\x6e\x74\x68\x73\x20\x61\x6e\x64\x20\x6d\x61\x79\x20\x62\x65\x20\x75\x70\x64\x61\x74\x65\x64\x2c\x20\x72\x65\x70\x6c\x61\x63\x65\x64\x2c\x20\x6f\x72\x20\x6f\x62\x73\x6f\x6c\x65\x74\x65\x64\x20\x62\x79\x20\x6f\x74\x68\x65\x72\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x73\x20\x61\x74\x20\x61\x6e\x79\x20\x74\x69\x6d\x65\x2e\x20\x49\x74\x20\x69\x73\x20\x69\x6e\x61\x70\x70\x72\x6f\x70\x72\x69\x61\x74\x65\x20\x74\x6f\x20\x75\x73\x65\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x2d\x44\x72\x61\x66\x74\x73\x20\x61\x73\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x6d\x61\x74\x65\x72\x69\x61\x6c\x20\x6f\x72\x20\x74\x6f\x20\x63\x69\x74\x65\x20\x74\x68\x65\x6d\x20\x6f\x74\x68\x65\x72\x20\x74\x68\x61\x6e\x20\x61\x73\x20\x2f\xe2\x80\x9c\x77\x6f\x72\x6b\x20\x69\x6e\x20\x70\x72\x6f\x67\x72\x65\x73\x73\x2e\x2f\xe2\x80\x9d",
- .plaintext_size = 265,
- .ciphertext = (void *)
- "\x64\xa0\x86\x15\x75\x86\x1a\xf4\x60\xf0\x62\xc7\x9b\xe6\x43\xbd\x5e\x80\x5c\xfd\x34\x5c\xf3\x89\xf1\x08\x67\x0a\xc7\x6c\x8c\xb2\x4c\x6c\xfc\x18\x75\x5d\x43\xee\xa0\x9e\xe9\x4e\x38\x2d\x26\xb0\xbd\xb7\xb7\x3c\x32\x1b\x01\x00\xd4\xf0\x3b\x7f\x35\x58\x94\xcf\x33\x2f\x83\x0e\x71\x0b\x97\xce\x98\xc8\xa8\x4a\xbd\x0b\x94\x81\x14\xad\x17\x6e\x00\x8d\x33\xbd\x60\xf9\x82\xb1\xff\x37\xc8\x55\x97\x97\xa0\x6e\xf4\xf0\xef\x61\xc1\x86\x32\x4e\x2b\x35\x06\x38\x36\x06\x90\x7b\x6a\x7c\x02\xb0\xf9\xf6\x15\x7b\x53\xc8\x67\xe4\xb9\x16\x6c\x76\x7b\x80\x4d\x46\xa5\x9b\x52\x16\xcd\xe7\xa4\xe9\x90\x40\xc5\xa4\x04\x33\x22\x5e\xe2\x82\xa1\xb0\xa0\x6c\x52\x3e\xaf\x45\x34\xd7\xf8\x3f\xa1\x15\x5b\x00\x47\x71\x8c\xbc\x54\x6a\x0d\x07\x2b\x04\xb3\x56\x4e\xea\x1b\x42\x22\x73\xf5\x48\x27\x1a\x0b\xb2\x31\x60\x53\xfa\x76\x99\x19\x55\xeb\xd6\x31\x59\x43\x4e\xce\xbb\x4e\x46\x6d\xae\x5a\x10\x73\xa6\x72\x76\x27\x09\x7a\x10\x49\xe6\x17\xd9\x1d\x36\x10\x94\xfa\x68\xf0\xff\x77\x98\x71\x30\x30\x5b\xea\xba\x2e\xda\x04\xdf\x99\x7b\x71\x4d\x6c\x6f\x2c\x29\xa6\xad\x5c\xb4\x02\x2b\x02\x70\x9b",
- STR(iv, iv_size,
- "\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08"),
- .tag_size = 16,
- .tag = (void *)
- "\xee\xad\x9d\x67\x89\x0c\xbb\x22\x39\x23\x36\xfe\xa1\x85\x1f\x38"},
+ { .compat_apis = 1,
+ STR(key, key_size,
+ "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a\xf3\x33\x88\x86\x04\xf6\xb5\xf0\x47\x39\x17\xc1\x40\x2b\x80\x09\x9d\xca\x5c\xbc\x20\x70\x75\xc0"),
+ .auth = (void *)"\xf3\x33\x88\x86\x00\x00\x00\x00\x00\x00\x4e\x91",
+ .auth_size = 12,
+ .plaintext =
+ (void *)"\x49\x6e\x74\x65\x72\x6e\x65\x74\x2d\x44\x72\x61\x66\x74\x73\x20\x61\x72\x65\x20\x64\x72\x61\x66\x74\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x73\x20\x76\x61\x6c\x69\x64\x20\x66\x6f\x72\x20\x61\x20\x6d\x61\x78\x69\x6d\x75\x6d\x20\x6f\x66\x20\x73\x69\x78\x20\x6d\x6f\x6e\x74\x68\x73\x20\x61\x6e\x64\x20\x6d\x61\x79\x20\x62\x65\x20\x75\x70\x64\x61\x74\x65\x64\x2c\x20\x72\x65\x70\x6c\x61\x63\x65\x64\x2c\x20\x6f\x72\x20\x6f\x62\x73\x6f\x6c\x65\x74\x65\x64\x20\x62\x79\x20\x6f\x74\x68\x65\x72\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x73\x20\x61\x74\x20\x61\x6e\x79\x20\x74\x69\x6d\x65\x2e\x20\x49\x74\x20\x69\x73\x20\x69\x6e\x61\x70\x70\x72\x6f\x70\x72\x69\x61\x74\x65\x20\x74\x6f\x20\x75\x73\x65\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x2d\x44\x72\x61\x66\x74\x73\x20\x61\x73\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x6d\x61\x74\x65\x72\x69\x61\x6c\x20\x6f\x72\x20\x74\x6f\x20\x63\x69\x74\x65\x20\x74\x68\x65\x6d\x20\x6f\x74\x68\x65\x72\x20\x74\x68\x61\x6e\x20\x61\x73\x20\x2f\xe2\x80\x9c\x77\x6f\x72\x6b\x20\x69\x6e\x20\x70\x72\x6f\x67\x72\x65\x73\x73\x2e\x2f\xe2\x80\x9d",
+ .plaintext_size = 265,
+ .ciphertext =
+ (void *)"\x64\xa0\x86\x15\x75\x86\x1a\xf4\x60\xf0\x62\xc7\x9b\xe6\x43\xbd\x5e\x80\x5c\xfd\x34\x5c\xf3\x89\xf1\x08\x67\x0a\xc7\x6c\x8c\xb2\x4c\x6c\xfc\x18\x75\x5d\x43\xee\xa0\x9e\xe9\x4e\x38\x2d\x26\xb0\xbd\xb7\xb7\x3c\x32\x1b\x01\x00\xd4\xf0\x3b\x7f\x35\x58\x94\xcf\x33\x2f\x83\x0e\x71\x0b\x97\xce\x98\xc8\xa8\x4a\xbd\x0b\x94\x81\x14\xad\x17\x6e\x00\x8d\x33\xbd\x60\xf9\x82\xb1\xff\x37\xc8\x55\x97\x97\xa0\x6e\xf4\xf0\xef\x61\xc1\x86\x32\x4e\x2b\x35\x06\x38\x36\x06\x90\x7b\x6a\x7c\x02\xb0\xf9\xf6\x15\x7b\x53\xc8\x67\xe4\xb9\x16\x6c\x76\x7b\x80\x4d\x46\xa5\x9b\x52\x16\xcd\xe7\xa4\xe9\x90\x40\xc5\xa4\x04\x33\x22\x5e\xe2\x82\xa1\xb0\xa0\x6c\x52\x3e\xaf\x45\x34\xd7\xf8\x3f\xa1\x15\x5b\x00\x47\x71\x8c\xbc\x54\x6a\x0d\x07\x2b\x04\xb3\x56\x4e\xea\x1b\x42\x22\x73\xf5\x48\x27\x1a\x0b\xb2\x31\x60\x53\xfa\x76\x99\x19\x55\xeb\xd6\x31\x59\x43\x4e\xce\xbb\x4e\x46\x6d\xae\x5a\x10\x73\xa6\x72\x76\x27\x09\x7a\x10\x49\xe6\x17\xd9\x1d\x36\x10\x94\xfa\x68\xf0\xff\x77\x98\x71\x30\x30\x5b\xea\xba\x2e\xda\x04\xdf\x99\x7b\x71\x4d\x6c\x6f\x2c\x29\xa6\xad\x5c\xb4\x02\x2b\x02\x70\x9b",
+ STR(iv, iv_size, "\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08"),
+ .tag_size = 16,
+ .tag = (void *)"\xee\xad\x9d\x67\x89\x0c\xbb\x22\x39\x23\x36\xfe\xa1\x85\x1f\x38" },
};
const struct cipher_aead_vectors_st aes128_gcm_vectors[] = {
- {
- .compat_apis = 1,
- STR(key, key_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .auth = NULL,
- .auth_size = 0,
- .plaintext = NULL,
- .plaintext_size = 0,
- .ciphertext = NULL,
- STR(iv, iv_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .tag_size = 16,
- .tag = (void *)
- "\x58\xe2\xfc\xce\xfa\x7e\x30\x61\x36\x7f\x1d\x57\xa4\xe7\x45\x5a"},
- {
- .compat_apis = 1,
- STR(key, key_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .auth = NULL,
- .auth_size = 0,
- STR(plaintext, plaintext_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .ciphertext = (void *)
- "\x03\x88\xda\xce\x60\xb6\xa3\x92\xf3\x28\xc2\xb9\x71\xb2\xfe\x78",
- STR(iv, iv_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .tag_size = 16,
- .tag = (void *)
- "\xab\x6e\x47\xd4\x2c\xec\x13\xbd\xf5\x3a\x67\xb2\x12\x57\xbd\xdf"},
- {
- .compat_apis = 1,
- STR(key, key_size,
- "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08"),
- .auth = (void *)
- "\xfe\xed\xfa\xce\xde\xad\xbe\xef\xfe\xed\xfa\xce\xde\xad\xbe\xef\xab\xad\xda\xd2",
- .auth_size = 20,
- STR(plaintext, plaintext_size,
- "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39"),
- .ciphertext = (void *)
- "\x42\x83\x1e\xc2\x21\x77\x74\x24\x4b\x72\x21\xb7\x84\xd0\xd4\x9c\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0\x35\xc1\x7e\x23\x29\xac\xa1\x2e\x21\xd5\x14\xb2\x54\x66\x93\x1c\x7d\x8f\x6a\x5a\xac\x84\xaa\x05\x1b\xa3\x0b\x39\x6a\x0a\xac\x97\x3d\x58\xe0\x91",
- STR(iv, iv_size,
- "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88"),
- .tag_size = 16,
- .tag = (void *)
- "\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb\x94\xfa\xe9\x5a\xe7\x12\x1a\x47"}
+ { .compat_apis = 1,
+ STR(key, key_size,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .auth = NULL,
+ .auth_size = 0,
+ .plaintext = NULL,
+ .plaintext_size = 0,
+ .ciphertext = NULL,
+ STR(iv, iv_size, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .tag_size = 16,
+ .tag = (void *)"\x58\xe2\xfc\xce\xfa\x7e\x30\x61\x36\x7f\x1d\x57\xa4\xe7\x45\x5a" },
+ { .compat_apis = 1,
+ STR(key, key_size,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .auth = NULL,
+ .auth_size = 0,
+ STR(plaintext, plaintext_size,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .ciphertext =
+ (void *)"\x03\x88\xda\xce\x60\xb6\xa3\x92\xf3\x28\xc2\xb9\x71\xb2\xfe\x78",
+ STR(iv, iv_size, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .tag_size = 16,
+ .tag = (void *)"\xab\x6e\x47\xd4\x2c\xec\x13\xbd\xf5\x3a\x67\xb2\x12\x57\xbd\xdf" },
+ { .compat_apis = 1,
+ STR(key, key_size,
+ "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08"),
+ .auth = (void *)"\xfe\xed\xfa\xce\xde\xad\xbe\xef\xfe\xed\xfa\xce\xde\xad\xbe\xef\xab\xad\xda\xd2",
+ .auth_size = 20,
+ STR(plaintext, plaintext_size,
+ "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39"),
+ .ciphertext =
+ (void *)"\x42\x83\x1e\xc2\x21\x77\x74\x24\x4b\x72\x21\xb7\x84\xd0\xd4\x9c\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0\x35\xc1\x7e\x23\x29\xac\xa1\x2e\x21\xd5\x14\xb2\x54\x66\x93\x1c\x7d\x8f\x6a\x5a\xac\x84\xaa\x05\x1b\xa3\x0b\x39\x6a\x0a\xac\x97\x3d\x58\xe0\x91",
+ STR(iv, iv_size, "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88"),
+ .tag_size = 16,
+ .tag = (void *)"\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb\x94\xfa\xe9\x5a\xe7\x12\x1a\x47" }
};
const struct cipher_aead_vectors_st aes192_gcm_vectors[] = {
- {
- .compat_apis = 1,
- STR(key, key_size,
- "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08\xfe\xff\xe9\x92\x86\x65\x73\x1c"),
- .auth = NULL,
- .auth_size = 0,
- STR(plaintext, plaintext_size,
- "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39\x1a\xaf\xd2\x55"),
- .ciphertext = (uint8_t *)
- "\x39\x80\xca\x0b\x3c\x00\xe8\x41\xeb\x06\xfa\xc4\x87\x2a\x27\x57\x85\x9e\x1c\xea\xa6\xef\xd9\x84\x62\x85\x93\xb4\x0c\xa1\xe1\x9c\x7d\x77\x3d\x00\xc1\x44\xc5\x25\xac\x61\x9d\x18\xc8\x4a\x3f\x47\x18\xe2\x44\x8b\x2f\xe3\x24\xd9\xcc\xda\x27\x10\xac\xad\xe2\x56",
- STR(iv, iv_size,
- "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88"),
- .tag_size = 16,
- .tag = (void *)
- "\x99\x24\xa7\xc8\x58\x73\x36\xbf\xb1\x18\x02\x4d\xb8\x67\x4a\x14"},
+ { .compat_apis = 1,
+ STR(key, key_size,
+ "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08\xfe\xff\xe9\x92\x86\x65\x73\x1c"),
+ .auth = NULL,
+ .auth_size = 0,
+ STR(plaintext, plaintext_size,
+ "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39\x1a\xaf\xd2\x55"),
+ .ciphertext =
+ (uint8_t *)"\x39\x80\xca\x0b\x3c\x00\xe8\x41\xeb\x06\xfa\xc4\x87\x2a\x27\x57\x85\x9e\x1c\xea\xa6\xef\xd9\x84\x62\x85\x93\xb4\x0c\xa1\xe1\x9c\x7d\x77\x3d\x00\xc1\x44\xc5\x25\xac\x61\x9d\x18\xc8\x4a\x3f\x47\x18\xe2\x44\x8b\x2f\xe3\x24\xd9\xcc\xda\x27\x10\xac\xad\xe2\x56",
+ STR(iv, iv_size, "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88"),
+ .tag_size = 16,
+ .tag = (void *)"\x99\x24\xa7\xc8\x58\x73\x36\xbf\xb1\x18\x02\x4d\xb8\x67\x4a\x14" },
};
const struct cipher_aead_vectors_st aes256_gcm_vectors[] = {
- {
- .compat_apis = 1,
- STR(key, key_size,
- "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08"),
- .auth = NULL,
- .auth_size = 0,
- STR(plaintext, plaintext_size,
- "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39\x1a\xaf\xd2\x55"),
- .ciphertext = (uint8_t *)
- "\x52\x2d\xc1\xf0\x99\x56\x7d\x07\xf4\x7f\x37\xa3\x2a\x84\x42\x7d\x64\x3a\x8c\xdc\xbf\xe5\xc0\xc9\x75\x98\xa2\xbd\x25\x55\xd1\xaa\x8c\xb0\x8e\x48\x59\x0d\xbb\x3d\xa7\xb0\x8b\x10\x56\x82\x88\x38\xc5\xf6\x1e\x63\x93\xba\x7a\x0a\xbc\xc9\xf6\x62\x89\x80\x15\xad",
- STR(iv, iv_size,
- "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88"),
- .tag_size = 16,
- .tag = (void *)
- "\xb0\x94\xda\xc5\xd9\x34\x71\xbd\xec\x1a\x50\x22\x70\xe3\xcc\x6c"},
+ { .compat_apis = 1,
+ STR(key, key_size,
+ "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08"),
+ .auth = NULL,
+ .auth_size = 0,
+ STR(plaintext, plaintext_size,
+ "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39\x1a\xaf\xd2\x55"),
+ .ciphertext =
+ (uint8_t *)"\x52\x2d\xc1\xf0\x99\x56\x7d\x07\xf4\x7f\x37\xa3\x2a\x84\x42\x7d\x64\x3a\x8c\xdc\xbf\xe5\xc0\xc9\x75\x98\xa2\xbd\x25\x55\xd1\xaa\x8c\xb0\x8e\x48\x59\x0d\xbb\x3d\xa7\xb0\x8b\x10\x56\x82\x88\x38\xc5\xf6\x1e\x63\x93\xba\x7a\x0a\xbc\xc9\xf6\x62\x89\x80\x15\xad",
+ STR(iv, iv_size, "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88"),
+ .tag_size = 16,
+ .tag = (void *)"\xb0\x94\xda\xc5\xd9\x34\x71\xbd\xec\x1a\x50\x22\x70\xe3\xcc\x6c" },
};
const struct cipher_aead_vectors_st aes256_ccm_vectors[] = {
- {
- .compat_apis = 0,
- STR(key, key_size,
- "\xfb\x76\x15\xb2\x3d\x80\x89\x1d\xd4\x70\x98\x0b\xc7\x95\x84\xc8\xb2\xfb\x64\xce\x60\x97\x8f\x4d\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"),
- .auth = NULL,
- .auth_size = 0,
- STR(plaintext, plaintext_size,
- "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e"),
- .ciphertext = (void *)
- "\xcc\x88\x12\x61\xc6\xa7\xfa\x72\xb9\x6a\x17\x39\x17\x6b\x27\x7f",
- STR(iv, iv_size,
- "\xdb\xd1\xa3\x63\x60\x24\xb7\xb4\x02\xda\x7d\x6f"),
- .tag_size = 16,
- .tag = (void *)
- "\x34\x72\xe1\x14\x5f\x2c\x0c\xbe\x14\x63\x49\x06\x2c\xf0\xe4\x23"},
- {
- .compat_apis = 0,
- STR(key, key_size,
- "\xfb\x76\x15\xb2\x3d\x80\x89\x1d\xd4\x70\x98\x0b\xc7\x95\x84\xc8\xb2\xfb\x64\xce\x60\x97\x87\x8d\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"),
- STR(auth, auth_size, "\x36"),
- STR(plaintext, plaintext_size,
- "\xa9"),
- .ciphertext = (void *)
- "\x9d",
- STR(iv, iv_size,
- "\xdb\xd1\xa3\x63\x60\x24\xb7\xb4\x02\xda\x7d\x6f"),
- .tag_size = 16,
- .tag = (void *)
- "\x32\x61\xb1\xcf\x93\x14\x31\xe9\x9a\x32\x80\x67\x38\xec\xbd\x2a"},
+ { .compat_apis = 0,
+ STR(key, key_size,
+ "\xfb\x76\x15\xb2\x3d\x80\x89\x1d\xd4\x70\x98\x0b\xc7\x95\x84\xc8\xb2\xfb\x64\xce\x60\x97\x8f\x4d\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"),
+ .auth = NULL,
+ .auth_size = 0,
+ STR(plaintext, plaintext_size,
+ "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e"),
+ .ciphertext =
+ (void *)"\xcc\x88\x12\x61\xc6\xa7\xfa\x72\xb9\x6a\x17\x39\x17\x6b\x27\x7f",
+ STR(iv, iv_size, "\xdb\xd1\xa3\x63\x60\x24\xb7\xb4\x02\xda\x7d\x6f"),
+ .tag_size = 16,
+ .tag = (void *)"\x34\x72\xe1\x14\x5f\x2c\x0c\xbe\x14\x63\x49\x06\x2c\xf0\xe4\x23" },
+ { .compat_apis = 0,
+ STR(key, key_size,
+ "\xfb\x76\x15\xb2\x3d\x80\x89\x1d\xd4\x70\x98\x0b\xc7\x95\x84\xc8\xb2\xfb\x64\xce\x60\x97\x87\x8d\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"),
+ STR(auth, auth_size, "\x36"),
+ STR(plaintext, plaintext_size, "\xa9"),
+ .ciphertext = (void *)"\x9d",
+ STR(iv, iv_size, "\xdb\xd1\xa3\x63\x60\x24\xb7\xb4\x02\xda\x7d\x6f"),
+ .tag_size = 16,
+ .tag = (void *)"\x32\x61\xb1\xcf\x93\x14\x31\xe9\x9a\x32\x80\x67\x38\xec\xbd\x2a" },
};
const struct cipher_aead_vectors_st aes128_ccm_vectors[] = {
- {
- .compat_apis = 0,
- STR(key, key_size,
- "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF"),
- STR(auth, auth_size,
- "\x08\xD0\x84\x21\x43\x01\x00\x00\x00\x00\x48\xDE\xAC\x02\x05\x00\x00\x00\x55\xCF\x00\x00\x51\x52\x53\x54"),
- .plaintext = NULL,
- .plaintext_size = 0,
- STR(iv, iv_size,
- "\xAC\xDE\x48\x00\x00\x00\x00\x01\x00\x00\x00\x05\x02"),
- .tag_size = 8,
- .tag = (void *)
- "\x22\x3B\xC1\xEC\x84\x1A\xB5\x53"},
- {
- .compat_apis = 0,
- STR(key, key_size,
- "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"),
- STR(auth, auth_size, "\x00\x01\x02\x03\x04\x05\x06\x07"),
- STR(plaintext, plaintext_size,
- "\x20\x21\x22\x23"),
- .ciphertext = (void *)
- "\x71\x62\x01\x5b",
- STR(iv, iv_size,
- "\x10\x11\x12\x13\x14\x15\x16"),
- .tag_size = 4,
- .tag = (void *)
- "\x4d\xac\x25\x5d"},
+ { .compat_apis = 0,
+ STR(key, key_size,
+ "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF"),
+ STR(auth, auth_size,
+ "\x08\xD0\x84\x21\x43\x01\x00\x00\x00\x00\x48\xDE\xAC\x02\x05\x00\x00\x00\x55\xCF\x00\x00\x51\x52\x53\x54"),
+ .plaintext = NULL,
+ .plaintext_size = 0,
+ STR(iv, iv_size,
+ "\xAC\xDE\x48\x00\x00\x00\x00\x01\x00\x00\x00\x05\x02"),
+ .tag_size = 8,
+ .tag = (void *)"\x22\x3B\xC1\xEC\x84\x1A\xB5\x53" },
+ { .compat_apis = 0,
+ STR(key, key_size,
+ "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"),
+ STR(auth, auth_size, "\x00\x01\x02\x03\x04\x05\x06\x07"),
+ STR(plaintext, plaintext_size, "\x20\x21\x22\x23"),
+ .ciphertext = (void *)"\x71\x62\x01\x5b",
+ STR(iv, iv_size, "\x10\x11\x12\x13\x14\x15\x16"),
+ .tag_size = 4,
+ .tag = (void *)"\x4d\xac\x25\x5d" },
/* from rfc3610 */
- {
- .compat_apis = 0,
- STR(key, key_size,
- "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF"),
- STR(auth, auth_size, "\x00\x01\x02\x03\x04\x05\x06\x07"),
- STR(plaintext, plaintext_size,
- "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E"),
- .ciphertext = (void *)
- "\x01\x35\xD1\xB2\xC9\x5F\x41\xD5\xD1\xD4\xFE\xC1\x85\xD1\x66\xB8\x09\x4E\x99\x9D\xFE\xD9\x6C",
- STR(iv, iv_size,
- "\x00\x00\x00\x09\x08\x07\x06\xA0\xA1\xA2\xA3\xA4\xA5"),
- .tag_size = 10,
- .tag = (void *)
- "\x04\x8C\x56\x60\x2C\x97\xAC\xBB\x74\x90"},
- {
- .compat_apis = 0,
- STR(key, key_size,
- "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF"),
- STR(auth, auth_size, "\x00\x01\x02\x03\x04\x05\x06\x07"),
- STR(plaintext, plaintext_size,
- "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E"),
- .ciphertext = (void *)
- "\x58\x8C\x97\x9A\x61\xC6\x63\xD2\xF0\x66\xD0\xC2\xC0\xF9\x89\x80\x6D\x5F\x6B\x61\xDA\xC3\x84",
- STR(iv, iv_size,
- "\x00\x00\x00\x03\x02\x01\x00\xA0\xA1\xA2\xA3\xA4\xA5"),
- .tag_size = 8,
- .tag = (void *)
- "\x17\xE8\xD1\x2C\xFD\xF9\x26\xE0"},
+ { .compat_apis = 0,
+ STR(key, key_size,
+ "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF"),
+ STR(auth, auth_size, "\x00\x01\x02\x03\x04\x05\x06\x07"),
+ STR(plaintext, plaintext_size,
+ "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E"),
+ .ciphertext =
+ (void *)"\x01\x35\xD1\xB2\xC9\x5F\x41\xD5\xD1\xD4\xFE\xC1\x85\xD1\x66\xB8\x09\x4E\x99\x9D\xFE\xD9\x6C",
+ STR(iv, iv_size,
+ "\x00\x00\x00\x09\x08\x07\x06\xA0\xA1\xA2\xA3\xA4\xA5"),
+ .tag_size = 10,
+ .tag = (void *)"\x04\x8C\x56\x60\x2C\x97\xAC\xBB\x74\x90" },
+ { .compat_apis = 0,
+ STR(key, key_size,
+ "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF"),
+ STR(auth, auth_size, "\x00\x01\x02\x03\x04\x05\x06\x07"),
+ STR(plaintext, plaintext_size,
+ "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E"),
+ .ciphertext =
+ (void *)"\x58\x8C\x97\x9A\x61\xC6\x63\xD2\xF0\x66\xD0\xC2\xC0\xF9\x89\x80\x6D\x5F\x6B\x61\xDA\xC3\x84",
+ STR(iv, iv_size,
+ "\x00\x00\x00\x03\x02\x01\x00\xA0\xA1\xA2\xA3\xA4\xA5"),
+ .tag_size = 8,
+ .tag = (void *)"\x17\xE8\xD1\x2C\xFD\xF9\x26\xE0" },
};
const struct cipher_vectors_st aes128_cbc_vectors[] = {
{
- STR(key, key_size,
- "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
- .ciphertext = (uint8_t *)
- "\x76\x49\xab\xac\x81\x19\xb2\x46\xce\xe9\x8e\x9b\x12\xe9\x19\x7d",
- STR(iv, iv_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"),
- },
- {
- STR(key, key_size,
- "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
- STR(plaintext, plaintext_size,
- "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"),
- .ciphertext = (uint8_t *)
- "\x50\x86\xcb\x9b\x50\x72\x19\xee\x95\xdb\x11\x3a\x91\x76\x78\xb2",
- STR(iv, iv_size,
- "\x76\x49\xab\xac\x81\x19\xb2\x46\xce\xe9\x8e\x9b\x12\xe9\x19\x7d"),
- },
+ STR(key, key_size,
+ "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
+ .ciphertext =
+ (uint8_t *)"\x76\x49\xab\xac\x81\x19\xb2\x46\xce\xe9\x8e\x9b\x12\xe9\x19\x7d",
+ STR(iv, iv_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"),
+ },
+ {
+ STR(key, key_size,
+ "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
+ STR(plaintext, plaintext_size,
+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"),
+ .ciphertext =
+ (uint8_t *)"\x50\x86\xcb\x9b\x50\x72\x19\xee\x95\xdb\x11\x3a\x91\x76\x78\xb2",
+ STR(iv, iv_size,
+ "\x76\x49\xab\xac\x81\x19\xb2\x46\xce\xe9\x8e\x9b\x12\xe9\x19\x7d"),
+ },
};
const struct cipher_vectors_st aes192_cbc_vectors[] = {
{
- STR(key, key_size,
- "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
- .ciphertext = (uint8_t *)
- "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d\x71\x78\x18\x3a\x9f\xa0\x71\xe8",
- STR(iv, iv_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"),
- },
- {
- STR(key, key_size,
- "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"),
- STR(plaintext, plaintext_size,
- "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"),
- .ciphertext = (uint8_t *)
- "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4\xe5\xe7\x38\x76\x3f\x69\x14\x5a",
- STR(iv, iv_size,
- "\x4F\x02\x1D\xB2\x43\xBC\x63\x3D\x71\x78\x18\x3A\x9F\xA0\x71\xE8"),
- },
+ STR(key, key_size,
+ "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
+ .ciphertext =
+ (uint8_t *)"\x4f\x02\x1d\xb2\x43\xbc\x63\x3d\x71\x78\x18\x3a\x9f\xa0\x71\xe8",
+ STR(iv, iv_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"),
+ },
+ {
+ STR(key, key_size,
+ "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"),
+ STR(plaintext, plaintext_size,
+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"),
+ .ciphertext =
+ (uint8_t *)"\xb4\xd9\xad\xa9\xad\x7d\xed\xf4\xe5\xe7\x38\x76\x3f\x69\x14\x5a",
+ STR(iv, iv_size,
+ "\x4F\x02\x1D\xB2\x43\xBC\x63\x3D\x71\x78\x18\x3A\x9F\xA0\x71\xE8"),
+ },
};
const struct cipher_vectors_st aes256_cbc_vectors[] = {
{
- STR(key, key_size,
- "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
- .ciphertext = (uint8_t *)
- "\xF5\x8C\x4C\x04\xD6\xE5\xF1\xBA\x77\x9E\xAB\xFB\x5F\x7B\xFB\xD6",
- STR(iv, iv_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"),
- },
- {
- STR(key, key_size,
- "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
- STR(plaintext, plaintext_size,
- "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"),
- .ciphertext = (uint8_t *)
- "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d\x67\x9f\x77\x7b\xc6\x70\x2c\x7d",
- STR(iv, iv_size,
- "\xF5\x8C\x4C\x04\xD6\xE5\xF1\xBA\x77\x9E\xAB\xFB\x5F\x7B\xFB\xD6"),
- },
+ STR(key, key_size,
+ "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
+ .ciphertext =
+ (uint8_t *)"\xF5\x8C\x4C\x04\xD6\xE5\xF1\xBA\x77\x9E\xAB\xFB\x5F\x7B\xFB\xD6",
+ STR(iv, iv_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"),
+ },
+ {
+ STR(key, key_size,
+ "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
+ STR(plaintext, plaintext_size,
+ "\xae\x2d\x8a\x57\x1e\x03\xac\x9c\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"),
+ .ciphertext =
+ (uint8_t *)"\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d\x67\x9f\x77\x7b\xc6\x70\x2c\x7d",
+ STR(iv, iv_size,
+ "\xF5\x8C\x4C\x04\xD6\xE5\xF1\xBA\x77\x9E\xAB\xFB\x5F\x7B\xFB\xD6"),
+ },
};
const struct cipher_vectors_st tdes_cbc_vectors[] = {
-/* First 2 from https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/des/Triple-Des-3-Key-192-64.unverified.test-vectors */
- {
- STR(key, key_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17"),
- STR(plaintext, plaintext_size,
- "\x98\x26\x62\x60\x55\x53\x24\x4D"),
- .ciphertext = (uint8_t *)
- "\x00\x11\x22\x33\x44\x55\x66\x77",
- STR(iv, iv_size, "\x00\x00\x00\x00\x00\x00\x00\x00"),
- },
- {
- STR(key, key_size,
- "\x2B\xD6\x45\x9F\x82\xC5\xB3\x00\x95\x2C\x49\x10\x48\x81\xFF\x48\x2B\xD6\x45\x9F\x82\xC5\xB3\x00"),
- STR(plaintext, plaintext_size,
- "\x85\x98\x53\x8A\x8E\xCF\x11\x7D"),
- .ciphertext = (uint8_t *)
- "\xEA\x02\x47\x14\xAD\x5C\x4D\x84",
- STR(iv, iv_size, "\x00\x00\x00\x00\x00\x00\x00\x00"),
- },
-};
-
-const struct cipher_vectors_st arcfour_vectors[] = { /* RFC6229 */
- {
- STR(key, key_size,
- "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18"),
- STR(plaintext, plaintext_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .ciphertext = (uint8_t *)
- "\x05\x95\xe5\x7f\xe5\xf0\xbb\x3c\x70\x6e\xda\xc8\xa4\xb2\xdb\x11",
- .iv = NULL,
- .iv_size = 0},
- {
- STR(key, key_size,
- "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"),
- STR(plaintext, plaintext_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .ciphertext = (uint8_t *)
- "\xea\xa6\xbd\x25\x88\x0b\xf9\x3d\x3f\x5d\x1e\x4c\xa2\x61\x1d\x91",
- .iv = NULL,
- .iv_size = 0},
- {
- STR(key, key_size,
- "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"),
- STR(plaintext, plaintext_size,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
- .ciphertext = (uint8_t *)
- "\x9a\xc7\xcc\x9a\x60\x9d\x1e\xf7\xb2\x93\x28\x99\xcd\xe4\x1b\x97",
- .iv = NULL,
- .iv_size = 0},
-};
-
-const struct cipher_vectors_st aes128_cfb8_vectors[] = { /* NIST 800-38a */
- {
- STR(key, key_size,
- "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
- "\xae\x2d"),
- .ciphertext = (uint8_t *)
- "\x3b\x79\x42\x4c\x9c\x0d\xd4\x36\xba\xce\x9e\x0e\xd4\x58\x6a\x4f"
- "\x32\xb9",
- STR(iv, iv_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"),
- /* the least significant 16 bytes of ciphertext */
- STR(internal_iv, internal_iv_size,
- "\x42\x4c\x9c\x0d\xd4\x36\xba\xce\x9e\x0e\xd4\x58\x6a\x4f\x32\xb9"),
- },
-};
-
-const struct cipher_vectors_st aes192_cfb8_vectors[] = { /* NIST 800-38a */
- {
- STR(key, key_size,
- "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
- "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
- "\xae\x2d"),
- .ciphertext = (uint8_t *)
- "\xcd\xa2\x52\x1e\xf0\xa9\x05\xca\x44\xcd\x05\x7c\xbf\x0d\x47\xa0"
- "\x67\x8a",
- STR(iv, iv_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"),
- /* the least significant 16 bytes of ciphertext */
- STR(internal_iv, internal_iv_size,
- "\x52\x1e\xf0\xa9\x05\xca\x44\xcd\x05\x7c\xbf\x0d\x47\xa0\x67\x8a"),
- },
-};
-
-const struct cipher_vectors_st aes256_cfb8_vectors[] = { /* NIST 800-38a */
- {
- STR(key, key_size,
- "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81"
- "\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
- "\xae\x2d"),
- .ciphertext = (uint8_t *)
- "\xdc\x1f\x1a\x85\x20\xa6\x4d\xb5\x5f\xcc\x8a\xc5\x54\x84\x4e\x88"
- "\x97\x00",
- STR(iv, iv_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"),
- /* the least significant 16 bytes of ciphertext */
- STR(internal_iv, internal_iv_size,
- "\x1a\x85\x20\xa6\x4d\xb5\x5f\xcc\x8a\xc5\x54\x84\x4e\x88\x97\x00"),
- },
+ /* First 2 from https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/des/Triple-Des-3-Key-192-64.unverified.test-vectors */
+ {
+ STR(key, key_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17"),
+ STR(plaintext, plaintext_size,
+ "\x98\x26\x62\x60\x55\x53\x24\x4D"),
+ .ciphertext = (uint8_t *)"\x00\x11\x22\x33\x44\x55\x66\x77",
+ STR(iv, iv_size, "\x00\x00\x00\x00\x00\x00\x00\x00"),
+ },
+ {
+ STR(key, key_size,
+ "\x2B\xD6\x45\x9F\x82\xC5\xB3\x00\x95\x2C\x49\x10\x48\x81\xFF\x48\x2B\xD6\x45\x9F\x82\xC5\xB3\x00"),
+ STR(plaintext, plaintext_size,
+ "\x85\x98\x53\x8A\x8E\xCF\x11\x7D"),
+ .ciphertext = (uint8_t *)"\xEA\x02\x47\x14\xAD\x5C\x4D\x84",
+ STR(iv, iv_size, "\x00\x00\x00\x00\x00\x00\x00\x00"),
+ },
+};
+
+const struct cipher_vectors_st arcfour_vectors[] = {
+ /* RFC6229 */
+ { STR(key, key_size,
+ "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18"),
+ STR(plaintext, plaintext_size,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .ciphertext =
+ (uint8_t *)"\x05\x95\xe5\x7f\xe5\xf0\xbb\x3c\x70\x6e\xda\xc8\xa4\xb2\xdb\x11",
+ .iv = NULL, .iv_size = 0 },
+ { STR(key, key_size,
+ "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"),
+ STR(plaintext, plaintext_size,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .ciphertext =
+ (uint8_t *)"\xea\xa6\xbd\x25\x88\x0b\xf9\x3d\x3f\x5d\x1e\x4c\xa2\x61\x1d\x91",
+ .iv = NULL, .iv_size = 0 },
+ { STR(key, key_size,
+ "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"),
+ STR(plaintext, plaintext_size,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ .ciphertext =
+ (uint8_t *)"\x9a\xc7\xcc\x9a\x60\x9d\x1e\xf7\xb2\x93\x28\x99\xcd\xe4\x1b\x97",
+ .iv = NULL, .iv_size = 0 },
+};
+
+const struct cipher_vectors_st aes128_cfb8_vectors[] = {
+ /* NIST 800-38a */
+ {
+ STR(key, key_size,
+ "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
+ "\xae\x2d"),
+ .ciphertext =
+ (uint8_t *)"\x3b\x79\x42\x4c\x9c\x0d\xd4\x36\xba\xce\x9e\x0e\xd4\x58\x6a\x4f"
+ "\x32\xb9",
+ STR(iv, iv_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"),
+ /* the least significant 16 bytes of ciphertext */
+ STR(internal_iv, internal_iv_size,
+ "\x42\x4c\x9c\x0d\xd4\x36\xba\xce\x9e\x0e\xd4\x58\x6a\x4f\x32\xb9"),
+ },
+};
+
+const struct cipher_vectors_st aes192_cfb8_vectors[] = {
+ /* NIST 800-38a */
+ {
+ STR(key, key_size,
+ "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
+ "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
+ "\xae\x2d"),
+ .ciphertext =
+ (uint8_t *)"\xcd\xa2\x52\x1e\xf0\xa9\x05\xca\x44\xcd\x05\x7c\xbf\x0d\x47\xa0"
+ "\x67\x8a",
+ STR(iv, iv_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"),
+ /* the least significant 16 bytes of ciphertext */
+ STR(internal_iv, internal_iv_size,
+ "\x52\x1e\xf0\xa9\x05\xca\x44\xcd\x05\x7c\xbf\x0d\x47\xa0\x67\x8a"),
+ },
+};
+
+const struct cipher_vectors_st aes256_cfb8_vectors[] = {
+ /* NIST 800-38a */
+ {
+ STR(key, key_size,
+ "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81"
+ "\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
+ "\xae\x2d"),
+ .ciphertext =
+ (uint8_t *)"\xdc\x1f\x1a\x85\x20\xa6\x4d\xb5\x5f\xcc\x8a\xc5\x54\x84\x4e\x88"
+ "\x97\x00",
+ STR(iv, iv_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"),
+ /* the least significant 16 bytes of ciphertext */
+ STR(internal_iv, internal_iv_size,
+ "\x1a\x85\x20\xa6\x4d\xb5\x5f\xcc\x8a\xc5\x54\x84\x4e\x88\x97\x00"),
+ },
};
/* GOST 28147-89 vectors come from the testsuite contributed to OpenSSL by
@@ -454,880 +411,856 @@ const struct cipher_vectors_st aes256_cfb8_vectors[] = { /* NIST 800-38a */
* TC26Z is calculated using Nettle */
const struct cipher_vectors_st gost28147_cpa_cfb_vectors[] = {
{
- STR(key, key_size,
- "\x8d\x5a\x2c\x83\xa7\xc7\x0a\x61\xd6\x1b\x34\xb5\x1f\xdf\x42\x68"
- "\x66\x71\xa3\x5d\x87\x4c\xfd\x84\x99\x36\x63\xb6\x1e\xd6\x0d\xad"),
- STR(plaintext, plaintext_size,
- "\xd2\xfd\xf8\x3a\xc1\xb4\x39\x23\x2e\xaa\xcc\x98\x0a\x02\xda\x33"),
- .ciphertext = (uint8_t *)
- "\x88\xb7\x75\x16\x74\xa5\xee\x2d\x14\xfe\x91\x67\xd0\x5c\xcc\x40",
- STR(iv, iv_size,
- "\x46\x60\x6f\x0d\x88\x34\x23\x5a"),
- },
+ STR(key, key_size,
+ "\x8d\x5a\x2c\x83\xa7\xc7\x0a\x61\xd6\x1b\x34\xb5\x1f\xdf\x42\x68"
+ "\x66\x71\xa3\x5d\x87\x4c\xfd\x84\x99\x36\x63\xb6\x1e\xd6\x0d\xad"),
+ STR(plaintext, plaintext_size,
+ "\xd2\xfd\xf8\x3a\xc1\xb4\x39\x23\x2e\xaa\xcc\x98\x0a\x02\xda\x33"),
+ .ciphertext =
+ (uint8_t *)"\x88\xb7\x75\x16\x74\xa5\xee\x2d\x14\xfe\x91\x67\xd0\x5c\xcc\x40",
+ STR(iv, iv_size, "\x46\x60\x6f\x0d\x88\x34\x23\x5a"),
+ },
};
const struct cipher_vectors_st gost28147_cpb_cfb_vectors[] = {
{
- STR(key, key_size,
- "\x48\x0c\x74\x1b\x02\x6b\x55\xd5\xb6\x6d\xd7\x1d\x40\x48\x05\x6b"
- "\x6d\xeb\x3c\x29\x0f\x84\x80\x23\xee\x0d\x47\x77\xe3\xfe\x61\xc9"),
- STR(plaintext, plaintext_size,
- "\x8c\x9c\x44\x35\xfb\xe9\xa5\xa3\xa0\xae\x28\x56\x91\x10\x8e\x1e"
- "\xd2\xbb\x18\x53\x81\x27\x0d\xa6\x68\x59\x36\xc5\x81\x62\x9a\x8e"
- "\x7d\x50\xf1\x6f\x97\x62\x29\xec\x80\x51\xe3\x7d\x6c\xc4\x07\x95"
- "\x28\x63\xdc\xb4\xb9\x2d\xb8\x13\xb1\x05\xb5\xf9\xeb\x75\x37"),
- .ciphertext = (uint8_t *)
- "\x23\xc6\x7f\x20\xa1\x23\x58\xbc\x7b\x05\xdb\x21\x15\xcf\x96\x41"
- "\xc7\x88\xef\x76\x5c\x49\xdb\x42\xbf\xf3\xc0\xf5\xbd\x5d\xd9\x8e"
- "\xaf\x3d\xf4\xe4\xda\x88\xbd\xbc\x47\x5d\x76\x07\xc9\x5f\x54\x1d"
- "\x1d\x6a\xa1\x2e\x18\xd6\x60\x84\x02\x18\x37\x92\x92\x15\xab",
- STR(iv, iv_size,
- "\x1f\x3f\x82\x1e\x0d\xd8\x1e\x22"),
- },
+ STR(key, key_size,
+ "\x48\x0c\x74\x1b\x02\x6b\x55\xd5\xb6\x6d\xd7\x1d\x40\x48\x05\x6b"
+ "\x6d\xeb\x3c\x29\x0f\x84\x80\x23\xee\x0d\x47\x77\xe3\xfe\x61\xc9"),
+ STR(plaintext, plaintext_size,
+ "\x8c\x9c\x44\x35\xfb\xe9\xa5\xa3\xa0\xae\x28\x56\x91\x10\x8e\x1e"
+ "\xd2\xbb\x18\x53\x81\x27\x0d\xa6\x68\x59\x36\xc5\x81\x62\x9a\x8e"
+ "\x7d\x50\xf1\x6f\x97\x62\x29\xec\x80\x51\xe3\x7d\x6c\xc4\x07\x95"
+ "\x28\x63\xdc\xb4\xb9\x2d\xb8\x13\xb1\x05\xb5\xf9\xeb\x75\x37"),
+ .ciphertext =
+ (uint8_t *)"\x23\xc6\x7f\x20\xa1\x23\x58\xbc\x7b\x05\xdb\x21\x15\xcf\x96\x41"
+ "\xc7\x88\xef\x76\x5c\x49\xdb\x42\xbf\xf3\xc0\xf5\xbd\x5d\xd9\x8e"
+ "\xaf\x3d\xf4\xe4\xda\x88\xbd\xbc\x47\x5d\x76\x07\xc9\x5f\x54\x1d"
+ "\x1d\x6a\xa1\x2e\x18\xd6\x60\x84\x02\x18\x37\x92\x92\x15\xab",
+ STR(iv, iv_size, "\x1f\x3f\x82\x1e\x0d\xd8\x1e\x22"),
+ },
};
const struct cipher_vectors_st gost28147_cpc_cfb_vectors[] = {
{
- STR(key, key_size,
- "\x77\xc3\x45\x8e\xf6\x42\xe7\x04\x8e\xfc\x08\xe4\x70\x96\xd6\x05"
- "\x93\x59\x02\x6d\x6f\x97\xca\xe9\xcf\x89\x44\x4b\xde\x6c\x22\x1d"),
- STR(plaintext, plaintext_size,
- "\x07\x9c\x91\xbe"),
- .ciphertext = (uint8_t *)
- "\x19\x35\x81\x34",
- STR(iv, iv_size,
- "\x43\x7c\x3e\x8e\x2f\x2a\x00\x98"),
- },
+ STR(key, key_size,
+ "\x77\xc3\x45\x8e\xf6\x42\xe7\x04\x8e\xfc\x08\xe4\x70\x96\xd6\x05"
+ "\x93\x59\x02\x6d\x6f\x97\xca\xe9\xcf\x89\x44\x4b\xde\x6c\x22\x1d"),
+ STR(plaintext, plaintext_size, "\x07\x9c\x91\xbe"),
+ .ciphertext = (uint8_t *)"\x19\x35\x81\x34",
+ STR(iv, iv_size, "\x43\x7c\x3e\x8e\x2f\x2a\x00\x98"),
+ },
};
const struct cipher_vectors_st gost28147_cpd_cfb_vectors[] = {
{
- STR(key, key_size,
- "\x38\x9f\xe8\x37\xff\x9c\x5d\x29\xfc\x48\x55\xa0\x87\xea\xe8\x40"
- "\x20\x87\x5b\xb2\x01\x15\x55\xa7\xe3\x2d\xcb\x3d\xd6\x59\x04\x73"),
- STR(plaintext, plaintext_size,
- "\x2f\x31\xd8\x83\xb4\x20\xe8\x6e\xda"),
- .ciphertext = (uint8_t *)
- "\x6d\xa4\xed\x40\x08\x88\x71\xad\x16",
- STR(iv, iv_size,
- "\xc5\xa2\xd2\x1f\x2f\xdf\xb8\xeb"),
- },
+ STR(key, key_size,
+ "\x38\x9f\xe8\x37\xff\x9c\x5d\x29\xfc\x48\x55\xa0\x87\xea\xe8\x40"
+ "\x20\x87\x5b\xb2\x01\x15\x55\xa7\xe3\x2d\xcb\x3d\xd6\x59\x04\x73"),
+ STR(plaintext, plaintext_size,
+ "\x2f\x31\xd8\x83\xb4\x20\xe8\x6e\xda"),
+ .ciphertext = (uint8_t *)"\x6d\xa4\xed\x40\x08\x88\x71\xad\x16",
+ STR(iv, iv_size, "\xc5\xa2\xd2\x1f\x2f\xdf\xb8\xeb"),
+ },
};
const struct cipher_vectors_st gost28147_tc26z_cfb_vectors[] = {
{
- STR(key, key_size,
- "\x8d\x5a\x2c\x83\xa7\xc7\x0a\x61\xd6\x1b\x34\xb5\x1f\xdf\x42\x68"
- "\x66\x71\xa3\x5d\x87\x4c\xfd\x84\x99\x36\x63\xb6\x1e\xd6\x0d\xad"),
- STR(plaintext, plaintext_size,
- "\xd2\xfd\xf8\x3a\xc1\xb4\x39\x23\x2e\xaa\xcc\x98\x0a\x02\xda\x33"),
- .ciphertext = (uint8_t *)
- "\xed\xa7\xf1\x41\x01\x9c\xbd\xcd\x44\x6b\x00\x96\x87\xf7\xc7\xe6",
- STR(iv, iv_size,
- "\x46\x60\x6f\x0d\x88\x34\x23\x5a"),
- },
-};
-
-const struct cipher_vectors_st gost28147_tc26z_cnt_vectors[] = {
- {
- STR(key, key_size,
- "\x59\x9f\x84\xba\xc3\xf3\xd2\xf1\x60\xe1\xe3\xf2\x6a\x96\x1a\xf9"
- "\x9c\x48\xb2\x4e\xbc\xbb\xbf\x7c\xd8\xf3\xac\xcd\x96\x8d\x28\x6a"),
- STR(plaintext, plaintext_size,
- "\x90\xa2\x39\x66\xae\x01\xb9\xa3\x52\x4e\xc8\xed\x6c\xdd\x88\x30"),
- .ciphertext = (uint8_t *)
- "\xe8\xb1\x4f\xc7\x30\xdc\x25\xbb\x36\xba\x64\x3c\x17\xdb\xff\x99",
- STR(iv, iv_size,
- "\x8d\xaf\xa8\xd1\x58\xed\x05\x8d"),
- }
-};
+ STR(key, key_size,
+ "\x8d\x5a\x2c\x83\xa7\xc7\x0a\x61\xd6\x1b\x34\xb5\x1f\xdf\x42\x68"
+ "\x66\x71\xa3\x5d\x87\x4c\xfd\x84\x99\x36\x63\xb6\x1e\xd6\x0d\xad"),
+ STR(plaintext, plaintext_size,
+ "\xd2\xfd\xf8\x3a\xc1\xb4\x39\x23\x2e\xaa\xcc\x98\x0a\x02\xda\x33"),
+ .ciphertext =
+ (uint8_t *)"\xed\xa7\xf1\x41\x01\x9c\xbd\xcd\x44\x6b\x00\x96\x87\xf7\xc7\xe6",
+ STR(iv, iv_size, "\x46\x60\x6f\x0d\x88\x34\x23\x5a"),
+ },
+};
+
+const struct cipher_vectors_st gost28147_tc26z_cnt_vectors[] = { {
+ STR(key, key_size,
+ "\x59\x9f\x84\xba\xc3\xf3\xd2\xf1\x60\xe1\xe3\xf2\x6a\x96\x1a\xf9"
+ "\x9c\x48\xb2\x4e\xbc\xbb\xbf\x7c\xd8\xf3\xac\xcd\x96\x8d\x28\x6a"),
+ STR(plaintext, plaintext_size,
+ "\x90\xa2\x39\x66\xae\x01\xb9\xa3\x52\x4e\xc8\xed\x6c\xdd\x88\x30"),
+ .ciphertext =
+ (uint8_t *)"\xe8\xb1\x4f\xc7\x30\xdc\x25\xbb\x36\xba\x64\x3c\x17\xdb\xff\x99",
+ STR(iv, iv_size, "\x8d\xaf\xa8\xd1\x58\xed\x05\x8d"),
+} };
/* Manually calculated to overcome section size differences between TLS cipher
* and test vectors defined in recommendation for standardization
* R 1323565.1.017-2018. TLS uses 1024 byte sections, we need more to have at
* least one rekeying. */
-const struct cipher_vectors_st magma_ctr_acpkm_vectors[] = {
- {
- STR(key, key_size,
- "\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00\x11\x22\x33\x44\x55\x66\x77"
- "\xfe\xdc\xba\x98\x76\x54\x32\x10\x01\x23\x45\x67\x89\xab\xcd\xef"),
- STR(plaintext, plaintext_size,
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"),
- .ciphertext = (uint8_t *)
- "\x2a\xb8\x1d\xee\xeb\x1e\x4c\xab\x68\xe1\x04\xc4\xbd\x6b\x94\xea"
- "\xc0\x4d\xdb\x07\xea\x92\x8f\xa2\x22\x0d\x97\x91\x83\x20\x78\x6b"
- "\x17\x0d\x8e\xaf\x6e\x3c\xa1\xab\xf2\x92\x93\x9a\xb1\x19\x54\xbb"
- "\xd3\x3f\x07\x38\x54\x26\x56\xed\xe3\xed\x4d\x54\x42\xb3\x0d\x0d"
- "\x43\xa1\x2e\xe8\xcf\x83\x81\x30\xe5\x90\xf3\x71\xe6\x7a\x42\xc3"
- "\xf8\x75\x91\xeb\xb8\xf7\xea\x17\xb3\xc4\xec\x9f\xa0\xca\x54\xd5"
- "\xbc\x42\x9b\x60\xd8\x90\xce\x61\xc1\xb4\x0d\x20\x52\x45\x0a\xfa"
- "\x77\xb4\x83\x54\xb4\x43\x77\x11\x50\x8f\xdc\xf4\xc4\x8f\x24\x2b"
- "\x84\xec\x97\xc9\xc1\x76\x3c\xf3\x17\x3c\x5a\xe8\x57\x86\x41\x22"
- "\xb6\x5b\x57\x29\xae\x1b\xb0\x75\x06\x95\xe5\xe2\x37\x93\x3b\x5a"
- "\xbe\x85\x5d\xb0\x16\x70\x5b\x53\x35\x57\x52\xdb\x87\x50\x89\x34"
- "\xa3\xd2\x1e\xc3\x83\x03\xbd\xdc\xc1\x24\xc3\xc9\x9d\xd7\x1b\x45"
- "\xfb\xcb\x4e\xd5\x64\x10\x5c\xe6\xc5\x93\x4d\xa9\x9b\xea\xed\xc5"
- "\xf4\x02\x30\x13\xbc\x41\x97\x81\x05\xb0\xcc\x6a\x39\x83\xe9\x05"
- "\x25\x11\x6e\x04\x63\x14\x6d\x85\x78\x9a\x09\xa7\x0d\x4c\x7b\xd7"
- "\xdf\xb1\x33\xeb\xbf\xeb\x92\x58\xf3\xda\x9d\xed\x8e\xf9\x8a\x3c"
- "\x71\x8d\x19\x67\x1a\x12\x49\xdf\x0e\xb1\x88\x3c\x9e\xf5\x1b\x77"
- "\x13\x60\x80\x1a\x28\x46\xa0\x48\x31\xec\xc2\xcb\xe7\xe7\x72\xdb"
- "\x92\x2a\x7b\x04\xd0\xa3\xd0\x17\x8c\xb2\x4d\xb3\xa2\x43\x16\x17"
- "\x8d\xec\x78\xf0\xdd\xe5\x60\x07\x77\x49\x66\xad\xb3\x36\xdd\xe4"
- "\xc9\xef\xf7\x6d\xe4\x00\xfc\x9c\x5b\x9d\x8a\x65\x58\xbb\xbd\x5c"
- "\xfe\x18\xe6\x97\x83\xd1\xae\x20\xed\x12\xac\xe5\x29\x7f\x58\xab"
- "\x83\xea\xd2\x92\xea\x17\x00\xaf\x2b\x55\x43\x7c\x5b\x17\xf2\x91"
- "\x0e\x79\x0b\x95\xb4\xe0\x4a\xb0\x55\x62\xe5\x5d\xda\x55\x02\xd6"
- "\xa1\xea\x99\x73\x16\x59\xb3\x3e\xc9\x86\x92\x1d\xb2\x1a\xf1\x4e"
- "\x6b\x2e\xeb\x49\x7d\xf6\x35\xc0\x23\xae\xb5\x56\xff\x90\xe7\xc5"
- "\xc5\x4c\xef\xea\x8f\x9e\xf1\xc2\xd0\x1c\xee\xef\xb7\xac\x0c\x0c"
- "\x43\xdf\xcc\x8e\x95\xe2\xd3\xd5\x9f\x17\x81\x85\x66\x87\x7e\xdb"
- "\x5e\x45\xde\xb2\x45\x95\x69\x90\x75\x80\xc1\x5e\x0c\x3d\xe8\xd9"
- "\x9a\x17\xc5\x62\x49\x90\xa6\x54\x68\xc2\xfa\xb0\x96\xc9\xac\x42"
- "\x9e\xa9\x6f\x33\x0c\x5b\xc2\xc5\x81\xc1\xc5\x5d\x91\x44\xb7\x48"
- "\xd0\x32\xc6\x7d\x99\xa1\xad\x43\x6c\xba\xc5\xf5\x10\xbd\xf2\x44"
- "\x75\x36\xe8\x7e\x91\x21\x8c\x16\xce\x74\xa4\xc2\x3d\x18\x28\x1a"
- "\x82\x79\x04\x3e\x15\x73\x22\x30\x7a\x33\x7f\x76\x63\xbc\x9b\x0b"
- "\xcb\x3c\xe2\x3d\x66\x22\x28\x20\x1c\xc3\x43\x12\x89\x2d\x05\x51"
- "\x0b\x65\x2b\xf3\xca\x0f\x21\xd7\x57\xac\xa9\x4d\x4f\xd0\x03\x13"
- "\x89\x94\xec\xad\x38\x9b\x95\xaf\xf8\x0a\xc5\xb0\x8b\xb3\x57\xcd"
- "\xdd\xe7\xa3\xfe\x3e\x84\x35\xad\xe6\x87\x69\xd5\xb7\xc5\xf0\xde"
- "\xcc\xc7\x81\x59\xd7\x52\x4b\xa1\x77\x8f\xec\x6a\x9d\xcd\x0d\x08"
- "\xa7\xbf\x32\x6b\x5a\xa3\xc8\x4a\x0b\xde\x8c\xf8\x12\x86\xf1\x6b"
- "\x78\x86\xaf\xf3\x49\x78\x81\x5b\x9d\x6b\xe9\xf7\x59\xe2\x36\xea"
- "\xab\x40\x87\x1b\x0b\x2a\x70\x9b\x4c\x29\x3f\x3d\x5a\xfb\x09\x11"
- "\x9a\x39\xfc\x41\x65\xac\x64\xbd\xfd\x8b\xf3\x09\x1b\x13\xde\x38"
- "\x5b\x35\x0e\xce\x71\xab\x87\x99\x82\xd4\x26\x5c\x5d\x4d\x5b\xfe"
- "\xe8\x33\x11\x37\xf8\x3b\x16\x93\x20\xbe\x47\x68\xd9\x19\x94\x17"
- "\xdf\x56\xce\xbf\x82\x34\x75\x74\x7a\x39\xb3\xb5\xc3\x54\x86\x30"
- "\x33\x7e\xbd\xe7\xd9\x24\x18\x8f\xbf\xc1\x69\x28\x75\x37\xb6\x90"
- "\x2e\x4c\x71\x88\xcf\xfe\x90\xd6\xe5\x3d\xf3\xf2\x42\x8f\xee\x76"
- "\x00\xb8\x84\x5f\xeb\xbc\x5d\x46\xcd\xa6\x13\xaf\x3b\x37\xae\xb4"
- "\x82\xd5\x37\x88\x86\x94\x0f\xd8\x00\x0b\x97\x86\xa3\x91\x43\x8f"
- "\x05\x40\x04\xdb\x7c\x17\x5e\xbf\xf0\x07\x29\x94\x34\x04\x6b\x1f"
- "\x32\xa0\xa3\x30\x1a\xc8\x72\xde\xd7\x42\xfe\xb8\xe2\x2e\x6c\xe9"
- "\x71\x3e\xe5\x9a\x6c\x83\xc1\x75\xc2\x04\xfb\x8d\x45\x4a\x52\x7a"
- "\xac\xca\x87\x7a\xf3\x88\x42\x42\xfb\x40\x71\x67\xc0\xa7\xcc\x10"
- "\x30\x32\xc2\x7e\x3d\x93\x40\xb6\xb2\x53\xcd\xe4\x23\x4b\x5a\x99"
- "\x20\xfe\xe9\xef\xce\x82\xb0\x0f\x4e\x21\xa6\xc0\xad\x6a\x7b\x08"
- "\xb9\x33\x6b\xc2\x35\x5e\x0d\x6e\xd5\x9d\x65\xef\x70\x5d\xc7\x02"
- "\xa8\x4e\x5e\x80\xb1\x9c\xa8\x50\xfd\x25\x44\x0d\xe6\x78\x8c\xd9"
- "\x18\x01\x43\xd0\xee\x9f\xa7\x68\xd9\x37\xf3\x5e\xcb\xf6\x08\x92"
- "\x75\x02\x65\xee\xcf\xed\xdc\xe5\x3f\x6d\x9f\x84\x75\x39\x93\x27"
- "\xff\xc5\x97\x37\x6e\xc7\x60\x9c\x1d\x39\x4d\xbc\x27\xa2\xe5\x85"
- "\x05\xa4\x3d\x28\xce\x42\x51\x81\xd5\xcb\xbd\x83\x11\x13\x05\x93"
- "\x4f\x70\xb3\x97\xa9\xfa\x14\x95\x77\xc5\x1e\x40\xd0\x4d\x77\xef"
- "\xa8\x53\xfc\x26\x30\xd4\xfe\xda\xd0\x74\x58\x38\x21\xc0\xbb\x21"
- "\xd9\x6a\xf3\xcc\x57\x01\xcb\xbb\x01\x9a\x99\xe6\x4e\xaf\xf2\x32",
- STR(iv, iv_size,
- "\x12\x34\x56\x78\x00\x00\x00\x00"),
- }
-};
+const struct cipher_vectors_st magma_ctr_acpkm_vectors[] = { {
+ STR(key, key_size,
+ "\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00\x11\x22\x33\x44\x55\x66\x77"
+ "\xfe\xdc\xba\x98\x76\x54\x32\x10\x01\x23\x45\x67\x89\xab\xcd\xef"),
+ STR(plaintext, plaintext_size,
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"),
+ .ciphertext =
+ (uint8_t *)"\x2a\xb8\x1d\xee\xeb\x1e\x4c\xab\x68\xe1\x04\xc4\xbd\x6b\x94\xea"
+ "\xc0\x4d\xdb\x07\xea\x92\x8f\xa2\x22\x0d\x97\x91\x83\x20\x78\x6b"
+ "\x17\x0d\x8e\xaf\x6e\x3c\xa1\xab\xf2\x92\x93\x9a\xb1\x19\x54\xbb"
+ "\xd3\x3f\x07\x38\x54\x26\x56\xed\xe3\xed\x4d\x54\x42\xb3\x0d\x0d"
+ "\x43\xa1\x2e\xe8\xcf\x83\x81\x30\xe5\x90\xf3\x71\xe6\x7a\x42\xc3"
+ "\xf8\x75\x91\xeb\xb8\xf7\xea\x17\xb3\xc4\xec\x9f\xa0\xca\x54\xd5"
+ "\xbc\x42\x9b\x60\xd8\x90\xce\x61\xc1\xb4\x0d\x20\x52\x45\x0a\xfa"
+ "\x77\xb4\x83\x54\xb4\x43\x77\x11\x50\x8f\xdc\xf4\xc4\x8f\x24\x2b"
+ "\x84\xec\x97\xc9\xc1\x76\x3c\xf3\x17\x3c\x5a\xe8\x57\x86\x41\x22"
+ "\xb6\x5b\x57\x29\xae\x1b\xb0\x75\x06\x95\xe5\xe2\x37\x93\x3b\x5a"
+ "\xbe\x85\x5d\xb0\x16\x70\x5b\x53\x35\x57\x52\xdb\x87\x50\x89\x34"
+ "\xa3\xd2\x1e\xc3\x83\x03\xbd\xdc\xc1\x24\xc3\xc9\x9d\xd7\x1b\x45"
+ "\xfb\xcb\x4e\xd5\x64\x10\x5c\xe6\xc5\x93\x4d\xa9\x9b\xea\xed\xc5"
+ "\xf4\x02\x30\x13\xbc\x41\x97\x81\x05\xb0\xcc\x6a\x39\x83\xe9\x05"
+ "\x25\x11\x6e\x04\x63\x14\x6d\x85\x78\x9a\x09\xa7\x0d\x4c\x7b\xd7"
+ "\xdf\xb1\x33\xeb\xbf\xeb\x92\x58\xf3\xda\x9d\xed\x8e\xf9\x8a\x3c"
+ "\x71\x8d\x19\x67\x1a\x12\x49\xdf\x0e\xb1\x88\x3c\x9e\xf5\x1b\x77"
+ "\x13\x60\x80\x1a\x28\x46\xa0\x48\x31\xec\xc2\xcb\xe7\xe7\x72\xdb"
+ "\x92\x2a\x7b\x04\xd0\xa3\xd0\x17\x8c\xb2\x4d\xb3\xa2\x43\x16\x17"
+ "\x8d\xec\x78\xf0\xdd\xe5\x60\x07\x77\x49\x66\xad\xb3\x36\xdd\xe4"
+ "\xc9\xef\xf7\x6d\xe4\x00\xfc\x9c\x5b\x9d\x8a\x65\x58\xbb\xbd\x5c"
+ "\xfe\x18\xe6\x97\x83\xd1\xae\x20\xed\x12\xac\xe5\x29\x7f\x58\xab"
+ "\x83\xea\xd2\x92\xea\x17\x00\xaf\x2b\x55\x43\x7c\x5b\x17\xf2\x91"
+ "\x0e\x79\x0b\x95\xb4\xe0\x4a\xb0\x55\x62\xe5\x5d\xda\x55\x02\xd6"
+ "\xa1\xea\x99\x73\x16\x59\xb3\x3e\xc9\x86\x92\x1d\xb2\x1a\xf1\x4e"
+ "\x6b\x2e\xeb\x49\x7d\xf6\x35\xc0\x23\xae\xb5\x56\xff\x90\xe7\xc5"
+ "\xc5\x4c\xef\xea\x8f\x9e\xf1\xc2\xd0\x1c\xee\xef\xb7\xac\x0c\x0c"
+ "\x43\xdf\xcc\x8e\x95\xe2\xd3\xd5\x9f\x17\x81\x85\x66\x87\x7e\xdb"
+ "\x5e\x45\xde\xb2\x45\x95\x69\x90\x75\x80\xc1\x5e\x0c\x3d\xe8\xd9"
+ "\x9a\x17\xc5\x62\x49\x90\xa6\x54\x68\xc2\xfa\xb0\x96\xc9\xac\x42"
+ "\x9e\xa9\x6f\x33\x0c\x5b\xc2\xc5\x81\xc1\xc5\x5d\x91\x44\xb7\x48"
+ "\xd0\x32\xc6\x7d\x99\xa1\xad\x43\x6c\xba\xc5\xf5\x10\xbd\xf2\x44"
+ "\x75\x36\xe8\x7e\x91\x21\x8c\x16\xce\x74\xa4\xc2\x3d\x18\x28\x1a"
+ "\x82\x79\x04\x3e\x15\x73\x22\x30\x7a\x33\x7f\x76\x63\xbc\x9b\x0b"
+ "\xcb\x3c\xe2\x3d\x66\x22\x28\x20\x1c\xc3\x43\x12\x89\x2d\x05\x51"
+ "\x0b\x65\x2b\xf3\xca\x0f\x21\xd7\x57\xac\xa9\x4d\x4f\xd0\x03\x13"
+ "\x89\x94\xec\xad\x38\x9b\x95\xaf\xf8\x0a\xc5\xb0\x8b\xb3\x57\xcd"
+ "\xdd\xe7\xa3\xfe\x3e\x84\x35\xad\xe6\x87\x69\xd5\xb7\xc5\xf0\xde"
+ "\xcc\xc7\x81\x59\xd7\x52\x4b\xa1\x77\x8f\xec\x6a\x9d\xcd\x0d\x08"
+ "\xa7\xbf\x32\x6b\x5a\xa3\xc8\x4a\x0b\xde\x8c\xf8\x12\x86\xf1\x6b"
+ "\x78\x86\xaf\xf3\x49\x78\x81\x5b\x9d\x6b\xe9\xf7\x59\xe2\x36\xea"
+ "\xab\x40\x87\x1b\x0b\x2a\x70\x9b\x4c\x29\x3f\x3d\x5a\xfb\x09\x11"
+ "\x9a\x39\xfc\x41\x65\xac\x64\xbd\xfd\x8b\xf3\x09\x1b\x13\xde\x38"
+ "\x5b\x35\x0e\xce\x71\xab\x87\x99\x82\xd4\x26\x5c\x5d\x4d\x5b\xfe"
+ "\xe8\x33\x11\x37\xf8\x3b\x16\x93\x20\xbe\x47\x68\xd9\x19\x94\x17"
+ "\xdf\x56\xce\xbf\x82\x34\x75\x74\x7a\x39\xb3\xb5\xc3\x54\x86\x30"
+ "\x33\x7e\xbd\xe7\xd9\x24\x18\x8f\xbf\xc1\x69\x28\x75\x37\xb6\x90"
+ "\x2e\x4c\x71\x88\xcf\xfe\x90\xd6\xe5\x3d\xf3\xf2\x42\x8f\xee\x76"
+ "\x00\xb8\x84\x5f\xeb\xbc\x5d\x46\xcd\xa6\x13\xaf\x3b\x37\xae\xb4"
+ "\x82\xd5\x37\x88\x86\x94\x0f\xd8\x00\x0b\x97\x86\xa3\x91\x43\x8f"
+ "\x05\x40\x04\xdb\x7c\x17\x5e\xbf\xf0\x07\x29\x94\x34\x04\x6b\x1f"
+ "\x32\xa0\xa3\x30\x1a\xc8\x72\xde\xd7\x42\xfe\xb8\xe2\x2e\x6c\xe9"
+ "\x71\x3e\xe5\x9a\x6c\x83\xc1\x75\xc2\x04\xfb\x8d\x45\x4a\x52\x7a"
+ "\xac\xca\x87\x7a\xf3\x88\x42\x42\xfb\x40\x71\x67\xc0\xa7\xcc\x10"
+ "\x30\x32\xc2\x7e\x3d\x93\x40\xb6\xb2\x53\xcd\xe4\x23\x4b\x5a\x99"
+ "\x20\xfe\xe9\xef\xce\x82\xb0\x0f\x4e\x21\xa6\xc0\xad\x6a\x7b\x08"
+ "\xb9\x33\x6b\xc2\x35\x5e\x0d\x6e\xd5\x9d\x65\xef\x70\x5d\xc7\x02"
+ "\xa8\x4e\x5e\x80\xb1\x9c\xa8\x50\xfd\x25\x44\x0d\xe6\x78\x8c\xd9"
+ "\x18\x01\x43\xd0\xee\x9f\xa7\x68\xd9\x37\xf3\x5e\xcb\xf6\x08\x92"
+ "\x75\x02\x65\xee\xcf\xed\xdc\xe5\x3f\x6d\x9f\x84\x75\x39\x93\x27"
+ "\xff\xc5\x97\x37\x6e\xc7\x60\x9c\x1d\x39\x4d\xbc\x27\xa2\xe5\x85"
+ "\x05\xa4\x3d\x28\xce\x42\x51\x81\xd5\xcb\xbd\x83\x11\x13\x05\x93"
+ "\x4f\x70\xb3\x97\xa9\xfa\x14\x95\x77\xc5\x1e\x40\xd0\x4d\x77\xef"
+ "\xa8\x53\xfc\x26\x30\xd4\xfe\xda\xd0\x74\x58\x38\x21\xc0\xbb\x21"
+ "\xd9\x6a\xf3\xcc\x57\x01\xcb\xbb\x01\x9a\x99\xe6\x4e\xaf\xf2\x32",
+ STR(iv, iv_size, "\x12\x34\x56\x78\x00\x00\x00\x00"),
+} };
/* Manually calculated to overcome section size differences between TLS cipher
* and test vectors defined in recommendation for standardization
* R 1323565.1.017-2018. TLS uses 4096 byte sections, we need more to have at
* least one rekeying. */
-const struct cipher_vectors_st kuznyechik_ctr_acpkm_vectors[] = {
- {
- STR(key, key_size,
- "\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00\x11\x22\x33\x44\x55\x66\x77"
- "\xfe\xdc\xba\x98\x76\x54\x32\x10\x01\x23\x45\x67\x89\xab\xcd\xef"),
- STR(plaintext, plaintext_size,
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"),
- .ciphertext = (uint8_t *)
- "\xf1\x95\xd8\xbe\xc1\x0e\xd1\xdb\xd5\x7b\x5f\xa2\x40\xbd\xa1\xb8"
- "\x85\xee\xe7\x33\xf6\xa1\x3e\x5d\xf3\x3c\xe4\xb3\x3c\x45\xde\xe4"
- "\xa5\xea\xe8\x8b\xe6\x35\x6e\xd3\xd5\xe8\x77\xf1\x35\x64\xa3\xa5"
- "\xcb\x91\xfa\xb1\xf2\x0c\xba\xb6\xd1\xc6\xd1\x58\x20\xbd\xba\x73"
- "\x7e\x08\xf5\x9f\x71\xb8\x56\x08\xe3\x89\x55\xb1\x7b\x53\xed\x27"
- "\xee\x04\xce\x2c\x02\xae\xf0\x75\x8f\x5d\x64\x77\xea\x0a\x79\xb2"
- "\x9f\xc0\xb0\x9a\xf0\x93\xd5\xbf\xb9\xdf\xab\x18\x25\xf7\x51\xc9"
- "\x82\x69\x88\x08\x00\x2b\x35\x8e\x2c\x2f\x7c\x01\xdc\x31\x56\x1d"
- "\x52\xb4\xca\x07\xbf\x02\xa5\x9a\x80\x88\x91\x19\xf1\x26\x0b\x7f"
- "\x9d\x3e\x1c\xe5\xf9\x92\x1a\xf5\xb5\x53\xed\x1e\x1a\xdf\xdc\x53"
- "\x9e\x2e\x79\x65\xbd\x7b\x48\x48\x57\x58\x90\x76\x40\x57\x86\x76"
- "\x7d\xe3\xb2\x82\x06\xed\xeb\xce\x35\x1b\xcc\x5c\xee\x54\xe4\x3f"
- "\x53\x4b\xb5\x0d\x07\x0a\x2d\x0c\xb7\xcf\x7c\xf8\x81\xad\x32\x01"
- "\x26\x50\x0f\xe9\x32\xf3\xd7\xc9\xf0\x86\xab\xb8\xf8\xea\x72\x3a"
- "\x9a\x17\x48\x12\xa5\xbb\x3b\xa9\x6d\x01\x51\x82\xc0\xe2\x98\x4d"
- "\x69\x3c\xbd\x67\x6a\xa0\xb1\x7d\x7a\xa8\x2c\xb8\xe2\xb9\xf6\x68"
- "\xfa\xeb\xae\x0d\x41\xcb\xb0\xfe\xe5\x55\x65\xb6\x5d\x56\xe5\x05"
- "\x20\x08\x51\x77\x7c\x18\x3a\x25\x69\xaa\xa2\x39\x68\xcf\xd1\x3e"
- "\x51\x47\xb5\xd8\x13\xcc\xaf\x2d\x31\xd5\x28\xae\x61\x48\xe6\x9a"
- "\x0a\xd8\x30\x0b\x1f\x7c\xef\x3d\x32\xa5\x40\x05\x41\xdf\x84\x1e"
- "\xce\xde\xca\x31\x42\xa6\xc4\xbc\x2b\x56\xb7\x7e\xa6\x22\x1f\x85"
- "\x7b\xe8\x80\x01\xc1\xff\x78\x45\x14\xb5\x4d\x9b\xe3\x21\xf7\xb8"
- "\x13\xd5\x44\x3d\x6f\x33\x85\x46\x56\x07\x79\x15\xb4\xec\xe5\xfd"
- "\x34\x35\xc8\x8a\x5f\x4d\x58\x84\x82\x9d\xb6\x4d\x0e\x90\x65\xb0"
- "\x5e\x61\x83\x30\x3d\x51\x34\xe3\x0e\x6e\x78\x05\xc8\x6d\x1e\x7d"
- "\x76\xe2\x3d\x85\x33\x82\x42\x7c\x7d\x67\x33\xbb\x60\x5e\x4d\xb0"
- "\xc8\xd0\x7a\x6c\xbe\x4e\xc8\xc4\x82\x9d\xb6\x25\x56\xc9\x1b\x52"
- "\x3b\x9b\x4a\xf5\x8f\x67\x12\xd5\x41\x60\xe6\x97\x08\x90\x7b\x17"
- "\x3b\xf9\x1c\x82\x0d\x15\x0a\x3d\x1b\x27\xd4\x46\xd6\x91\x5c\x74"
- "\x48\x45\x1a\x4c\x60\x26\xf3\xe3\x1f\xe7\x0a\xfc\x79\x42\x8a\x5f"
- "\x5f\x5b\x33\xf4\xb3\xda\xbd\x4c\x4a\x10\x5e\x3b\x9d\x09\xf8\xf2"
- "\x51\x25\x44\x37\x7b\xca\x88\xf0\x88\xa9\x5d\x2e\x9e\x42\xf6\xac"
- "\x3d\xd6\x01\x06\x06\x5c\x96\x4b\x13\xf5\x5f\xaa\x06\x34\x16\x67"
- "\xfd\xa5\x49\x12\xcc\x21\x8f\xb4\xb9\x33\xfc\x58\xf0\x36\xeb\xd7"
- "\x50\xf2\x38\x39\x9e\x93\x7b\xf7\xf5\xc7\x9c\x73\x36\x1f\xbe\xa9"
- "\x49\xf9\x2c\x4f\x17\xfc\xb3\x64\x51\x68\xaf\xed\xe3\x43\xbf\x2f"
- "\x3f\x57\xbb\x74\x93\x51\xc4\x93\x1e\x2e\x05\xed\xda\x74\x27\x1b"
- "\x7b\xa8\x98\x3e\xa6\x62\x75\xbd\x68\xab\x44\xe8\xe4\x2d\x2f\x08"
- "\x44\x64\x85\xa6\x42\xfe\xdb\x11\xb5\xbc\x1a\x83\xc4\x58\x7a\xd1"
- "\x0d\x64\xa2\xdb\xd5\x4c\x3a\xd7\x2a\xd8\xc7\x0b\xf5\x33\x80\xe2"
- "\xaa\xc6\xaf\xad\xee\x39\x83\x1c\xfb\xda\x39\xd6\xe4\xbe\x6f\xde"
- "\x46\xd1\xdc\xc8\x77\x3b\x42\x3a\x19\x83\xdb\x79\x5e\x9d\xd9\xef"
- "\xe7\x54\x9e\xfa\xde\x56\x26\x0e\x33\x44\xb6\xac\xc7\x25\x1f\x0b"
- "\xd0\x12\x4a\x75\x6f\xef\x9f\xb7\xe7\xf1\xc3\xb2\x77\xa7\x01\xc1"
- "\x24\xf2\x60\xf2\x04\xa4\x07\x47\x25\x81\x2a\x51\x36\x1d\xb3\x42"
- "\x3c\xc5\x12\xbb\x53\x89\xc3\x00\xb4\xe8\x0e\xd8\xed\x5d\x9c\x18"
- "\x08\x16\x05\x57\x22\x99\xc1\xcb\x97\x4d\x7d\x42\xb0\xbf\xf3\x35"
- "\x9e\xc9\xc0\x4e\xe6\x42\xec\x49\x06\x5e\x50\x7f\x6c\x86\x20\x9e"
- "\xe0\x49\x6a\x1d\x50\x45\x52\x3d\x66\xdc\x66\xb2\xa1\x57\xbb\x1d"
- "\x65\x30\xf9\x3e\x6c\x8b\xf8\x07\x5e\xf9\xb0\xcf\x15\x1f\xa4\x22"
- "\xe6\x28\xdf\x40\x44\x27\x80\x99\xbf\xcc\x86\x94\x3d\xe1\x97\xbc"
- "\x64\x7b\xc9\x8a\xc8\xb7\xdd\x8e\xd9\x95\xfa\x97\x44\x59\x70\xb6"
- "\xa4\x59\xdd\x94\x2a\x4e\x71\x76\xe1\xf8\xff\x2e\xef\xf7\xf3\x26"
- "\x0d\xeb\x63\x9b\x34\x74\xcf\xc7\xe4\x99\xb3\x8b\xe5\xf8\xfa\xf8"
- "\x60\x6a\x8f\x16\xfe\xb3\x12\xe8\x66\x5c\x26\x61\x11\xaa\x14\x85"
- "\x5e\x4c\x0f\xf8\x47\x99\x49\x4c\x22\xa5\x37\xb7\x4b\xed\x1d\x33"
- "\x54\xe4\x6f\xfe\x4b\x7e\x95\x44\x56\xa9\xa9\x48\x6f\x40\x08\x42"
- "\x28\xa0\xd6\x8e\x52\x72\x84\x87\xd5\xcc\x08\xf4\x34\x9b\xc7\xf7"
- "\x92\xac\x5d\x5a\x30\x4c\x87\xc2\x2c\x94\x68\x10\x03\x02\x8c\x38"
- "\x6e\xf6\xca\xd1\xd6\x55\x02\x3c\x3a\xf4\x21\x1c\x90\x03\x7c\x33"
- "\xcd\x81\x93\x3f\x4c\xa1\xe6\x7c\x7d\x27\xaf\x97\x7a\xd8\xb0\x32"
- "\xcb\x1f\xb6\x5d\xb0\x7c\x9e\xf7\x15\x6a\x29\xc9\xb3\x13\x8e\xb2"
- "\x2e\xf2\x9d\xb2\x64\xe9\xc7\x13\x86\xc3\x46\x97\x9e\x53\x37\xac"
- "\xd1\x75\x0b\xe2\x20\x4a\x5e\x3a\x47\xdf\xb3\x67\x78\x23\x22\xa6"
- "\xb6\x69\x83\x1b\x41\xe1\xdc\xe3\xbb\x63\x8e\x6a\x70\xe2\x91\x30"
- "\xa2\x48\x43\x07\x9b\xf1\x87\x9d\xd9\x2f\x36\x62\xaf\x51\x70\x10"
- "\x5d\x68\x42\x6e\x95\xe6\x86\x85\x90\x08\x80\x42\xc6\x11\x7d\x38"
- "\x37\x94\xc7\x7a\x9d\xec\xff\x87\x15\x0d\x30\x42\x7d\xbf\xb0\x21"
- "\xa8\x28\xc3\xa9\x56\x31\xda\x2e\x91\x8d\x0d\x78\x93\xe2\x4d\x7f"
- "\xb3\xdb\x87\x5b\xf2\x2a\x55\x54\xc4\x1a\x47\x9b\x51\x79\x2c\x55"
- "\xaa\xaf\x57\x89\x90\x32\x26\xfa\xcf\x26\x3d\xbd\xc3\x59\x7e\x4b"
- "\x53\x7a\xa3\xf8\xec\x31\x3e\x9f\x22\x33\x41\xec\xe5\xf1\x50\x41"
- "\x57\x64\x37\x0e\x24\x0f\x03\x0c\x93\xaf\xd7\x44\xef\x33\xf9\x96"
- "\x8e\x63\x9c\x79\x09\xdf\x58\xdb\xcd\xd2\xf2\x81\xed\x97\x28\x5e"
- "\x6d\x99\x45\xad\xf1\xa4\xe8\x59\xaa\xeb\x59\xbd\xfa\x54\x27\xe2"
- "\x01\x6d\xfa\x08\xe5\x1a\x46\x92\x31\xa0\xfd\x2e\x25\x21\x5e\x9d"
- "\x1d\x41\x82\x16\x21\xea\xe8\x29\x5a\xe7\xd4\xd8\x7c\x91\x6d\xa8"
- "\x69\xa8\x6b\xac\xf9\x3d\x2c\x07\xfa\xaf\x65\x5e\x84\x63\x5c\x1c"
- "\xb6\x71\x1c\x6e\x1a\x1a\xcf\x5f\x39\x08\x02\xeb\xde\x75\x28\x44"
- "\x90\x3b\x6d\x09\xf5\xa4\x3a\x00\x99\xc1\x6e\xb8\x23\x47\xb6\xe6"
- "\x44\x69\x24\x86\x0d\x93\x7d\xc2\x1a\xe7\xf8\x97\x97\x6d\x2f\x7d"
- "\x6a\x3e\xd7\x6d\x94\xbe\x9b\xfa\x7d\x40\xff\x35\x7e\x2d\x9c\x50"
- "\x71\xf8\x99\x5f\xf3\x53\x16\x59\x77\x72\x4b\xef\x8d\x21\x8c\x28"
- "\x15\x8a\x57\x6d\x3d\x35\xf4\x2c\x37\x39\x0e\x97\x8f\xd3\x45\x17"
- "\xac\x0b\xa2\xaa\x16\xe7\x98\x70\xbd\x91\x4b\x7b\xc9\x14\x5b\x85"
- "\x29\xe5\xd9\x20\xa6\xf3\x89\x63\xc8\x01\x94\x2c\x20\xb0\xf1\x1c"
- "\x61\x90\x5b\xe8\xaf\xdb\xe2\x20\x62\x4f\xd0\x3c\x51\x1f\x5f\x14"
- "\x28\x13\x07\x5e\xbc\x4a\xa0\x46\xa7\x9c\xc7\x00\x24\xb4\x67\x0d"
- "\x9c\xe8\x05\xa7\xe3\x37\x94\xd3\x97\xc5\xd6\x1d\xb3\x79\x0c\x7f"
- "\xf0\xeb\x68\xa7\xa9\x75\x30\x3c\xf1\xf8\xfb\x96\x4b\xa5\x99\xb1"
- "\xf0\x71\xab\xb4\x8a\xa6\x5d\x97\xb5\x6f\x42\x81\xef\x38\x0e\x41"
- "\x21\xcd\x15\xe4\xf1\xdc\x02\xc2\xe5\xe4\xb2\xf2\xdb\xc5\x42\x0f"
- "\xeb\x00\xb8\x49\x48\x90\x97\x59\x69\x8c\x3d\x90\xfa\x7f\xaf\x75"
- "\xff\xe8\x0f\xff\x13\x2f\x7a\xca\x33\xbc\xb0\x41\x7b\xd4\x94\xce"
- "\xd5\xd7\x53\xe5\x36\x9d\xea\x0c\x13\x60\x63\xd9\x79\x83\x53\x03"
- "\x3c\x5f\x33\x6b\x16\xd2\xd6\x07\xbd\xbc\xa9\xcd\xd6\x21\x58\x8a"
- "\x90\xac\x85\x7c\x0a\x85\xf1\x02\xfd\x6c\x5b\xac\x92\xa5\x6f\xfc"
- "\x02\x60\xb3\x05\x91\x31\x80\xd5\x75\x82\xa8\xab\xcc\x7b\x47\xdb"
- "\x79\xaf\x85\xea\x75\x2d\xf4\x46\x45\xa6\x24\x35\x2d\xba\x9e\x19"
- "\x4e\x48\xb3\x5f\x40\x96\x6c\x73\x44\x09\x67\x27\xee\xdb\xdb\xca"
- "\xf6\x14\x3f\x32\xdf\x3b\xd3\xcb\x87\x48\x6b\x03\xda\xfe\xb5\x20"
- "\xf8\x72\xd0\xe4\x65\xfd\x14\x5d\x9b\xd3\xc5\x67\x4b\x41\xf4\xcb"
- "\xac\xe4\xce\x61\xe0\x06\x8e\xb6\xca\xef\xa5\xe4\x70\xd4\xff\x4f"
- "\x4c\x81\xb7\xc7\xc1\xe3\x1d\x6b\xfe\x44\x37\xfe\x7e\xb4\xec\xda"
- "\x55\xbc\x26\xdd\x44\x08\x28\x49\x19\xc9\x52\x20\x4a\x5e\xe1\xae"
- "\x6b\x87\x35\xa2\x9a\x02\x17\xb0\x74\xe1\x19\x92\xca\x5d\x34\x81"
- "\xd7\x3f\xb1\x14\xe2\x44\x97\x7f\xab\x0a\xc3\x44\x8d\x9c\xe6\x27"
- "\x84\x5e\x2e\xe1\x0e\x7b\x74\xee\x47\xe2\x6f\x79\x3a\x0d\x25\x90"
- "\x9b\x32\x13\x78\xd3\xd1\x19\x10\xb7\x88\xc4\xb4\xb8\x0f\x84\x0c"
- "\xc4\x6d\xb3\xbc\xbc\xea\x1d\x84\xfe\x6f\x95\x1e\x44\x78\xbb\x73"
- "\xd0\x08\x8b\xbe\xae\x91\x6f\x84\xeb\x6c\x05\x58\x3a\xb7\x68\xee"
- "\x62\x14\x0b\xba\xd3\xd6\x78\x23\x35\x03\x2f\xed\xac\xf2\x35\xa7"
- "\x0b\xf5\x37\xa1\xa5\x4d\x57\x0e\x2e\x5e\x0d\x0c\xd6\x04\xc8\x07"
- "\x60\xe6\xda\xd9\x55\x16\xf6\xc6\x0c\x53\xc0\x46\xa8\x91\xa6\xdd"
- "\x22\x99\x88\x9f\x23\x93\x64\x81\xdb\x4b\xe8\x99\x1e\x16\x5c\xb5"
- "\x08\xc0\x74\xf9\x79\xd3\xc1\x6a\xe5\x38\x6b\xcd\xf0\xcb\x1e\xb8"
- "\x5c\x6b\x14\xd6\x85\x58\xa3\xc8\x3d\x5b\x14\x50\xc4\x70\x97\xb2"
- "\xcd\x93\xd6\x3a\x42\x2f\x3a\x88\x28\x8a\xd0\xa7\xe9\x98\x87\xbe"
- "\x66\x89\x69\xd9\xbd\x11\x91\xd3\x9b\xc4\x22\x14\xe6\x8f\xc8\xbd"
- "\x95\x5d\x3d\xd2\x1d\x10\xbd\x61\x69\x87\xf9\x4a\x9c\x61\x5b\x80"
- "\x9b\x3f\x32\xce\x17\xcd\x98\x79\xb9\xeb\x45\xf7\x54\x3c\xc9\xa6"
- "\x2e\xb4\x0b\x0d\x84\x0d\x35\xcc\x64\x5f\x5a\x92\xf8\xcb\xd6\xfa"
- "\xae\xd9\xce\x9c\x41\x83\xc2\xab\xd5\x73\x21\xea\x95\xd5\x73\x2f"
- "\xf1\xd0\x71\x95\x45\x07\x7c\x1f\xcc\xba\xf3\xb0\x75\xfa\x1a\xd4"
- "\x89\x66\x4e\x93\x93\x80\xb7\x67\xd5\xdf\x99\xd8\x43\x6d\xf6\xde"
- "\x19\xc8\x13\x56\xf8\x63\xe5\xf2\x53\xfd\x2e\x62\x8d\xde\x92\xd4"
- "\x98\xfc\x1c\x36\x08\x3d\x33\x0f\xee\xbc\xb8\x2f\x49\xa2\xb3\xb4"
- "\x9b\x0c\x7e\x16\xd4\xe8\xc0\x98\xd0\x5c\xda\x25\xaa\xe4\x60\x95"
- "\xe6\xc5\x7b\x62\xa5\xe9\xbc\xa1\x5e\x11\x4f\x5d\xb4\x19\x29\x33"
- "\x6f\xff\xf4\xef\x7f\x62\x2b\xf2\xbd\x47\x90\xcb\xba\xbc\xe8\xa8"
- "\xd7\xcf\xac\x44\x05\x67\xf3\xd3\x93\x22\xc0\x48\x23\xdf\xef\x54"
- "\x3d\x64\xc7\x13\xfd\x4f\x0a\x21\x20\x2b\xad\x34\x88\x02\x69\x84"
- "\xaf\x8a\xfb\xbb\x97\x7d\xca\x0e\x80\xdc\x8a\x50\x51\x49\xc8\x1f"
- "\xbd\x35\x46\x11\xf6\xdf\x52\x29\xc2\x52\xc4\xae\xd5\x16\xbb\x67"
- "\x21\x7b\x25\xeb\xc4\x21\x0d\xc7\x3f\x1b\xae\x42\xc2\x21\x58\x1e"
- "\x32\x46\x0d\x72\x15\x89\x75\xaa\xd9\x0b\x2d\xa7\x25\x3a\x2a\x3d"
- "\xc6\x46\xd1\xa3\x9d\xed\x52\xd8\xbb\x53\xb9\x1f\x6d\xfc\x63\xb7"
- "\x28\xa1\x78\x78\x18\x43\xa2\x3d\x6f\xcd\x6a\x40\x6a\xc2\x44\x88"
- "\x59\x03\xdd\xd3\x47\x8d\x3d\xe2\x24\xc2\x11\x00\xb1\x2e\xc7\x24"
- "\x81\x4b\xc0\x9c\x90\x64\xb7\x8b\xfb\x3a\xdc\x69\xe1\x4c\xf4\xc4"
- "\xc7\x78\x5a\xca\xf8\x6f\x16\xa0\xb8\xe3\xb0\x66\x94\xab\x7a\x86"
- "\x5c\xa8\xb9\x7f\xf7\x6a\x64\x1d\x8f\x03\xcf\x4b\x4b\xb0\xd8\xc2"
- "\xc2\xea\x02\x5a\xaa\x14\x19\x8f\x60\x49\x5b\xf4\x05\xc8\x98\x30"
- "\xeb\xbc\x00\x12\xa4\xc0\x27\x5f\x38\x91\x89\x73\xfa\xb7\xc1\x3a"
- "\xf4\x7c\x18\xe4\xe7\x7f\x8c\x82\x51\xb0\x64\x2b\x9d\xa3\x98\x47"
- "\x67\xe4\x0f\x1f\x30\x8e\x78\x0a\x3e\xc4\xa8\xc4\x1c\x79\x0a\x09"
- "\x91\xbd\xa1\x6a\xab\x47\xce\x54\x24\xda\x4b\xa6\x7b\x40\x43\x92"
- "\xd5\x43\xbb\x50\x53\x54\x1d\xf0\x0c\x87\x01\xc0\x82\x0a\xf0\xd8"
- "\x7d\xd7\x22\xfc\x33\x59\xf7\x54\x87\x5c\x45\xc8\x2d\x92\x6d\x3a"
- "\xfc\x90\x03\xa9\x23\xa8\xa3\xa5\x00\x3d\x3f\x7d\x9f\x6c\x7a\xba"
- "\xdd\xff\xfd\x09\x04\x9b\x82\xea\x9f\x0e\x05\x92\xed\x08\x24\x1d"
- "\x00\xfa\xac\x61\xf0\xe7\xc7\x37\x7e\x0d\x73\x38\x3e\x7a\x63\xcb"
- "\x4e\x26\x21\xd6\x50\x12\xe4\x95\x1e\xc7\xd0\xed\xcb\xf9\xbf\x1d"
- "\x34\x81\x81\xa4\x0e\xeb\xf6\xe8\xc5\x1e\x98\xca\x79\xad\x15\x3c"
- "\xdc\xf5\xe3\xa9\xfe\xe9\x4c\x6a\xc5\x79\x55\x89\x18\xf2\xd1\x86"
- "\x4e\xd6\x95\x38\xf8\x78\x0b\xfc\x50\x40\x72\xd4\x3c\x45\xdf\xaa"
- "\x13\x1e\x9e\x74\xff\xde\xa9\x33\x5e\xa8\xa1\x70\x75\xd7\x7c\x4f"
- "\x71\xf1\x03\xb3\xfb\x0f\xad\x19\x4f\x5d\xfe\xbb\xc5\x98\x81\x11"
- "\xee\x24\x24\x13\xa4\xa4\xfe\x40\x4b\x20\x38\x61\x6e\xe3\xec\x05"
- "\x15\x46\x35\x2d\xd4\x61\x7d\x0f\x4a\x34\xf1\x23\x87\x5e\xc6\x8e"
- "\xf5\x77\x8c\x03\x4b\x58\xe2\x3b\x35\x08\x2f\x40\x60\xd6\xe3\x3a"
- "\xf0\xb4\xdd\xb9\x18\xfc\x7d\x79\x7a\xf3\x0a\x5c\x89\x2e\xcc\x30"
- "\x9b\x8f\x7e\x3c\xd3\x1d\x45\xcb\xfb\xb5\x09\xe8\x6e\xd4\x87\xb0"
- "\xc5\x5c\x0e\x70\xec\xd9\x04\xb2\xc1\x44\x9b\x78\x4f\x46\x92\x4b"
- "\x18\x0b\x90\xaa\xe3\xf9\x11\x8d\xf8\x9e\x5e\xc6\x2e\xfb\x9f\xba"
- "\x31\x49\x9e\x9d\xb7\xb8\x5c\x0b\x09\xcf\x45\xb0\x82\x9d\x6a\xd7"
- "\xeb\x1d\x79\x6f\x26\x1a\xec\x5d\x16\xb1\xa8\xc5\x90\x00\x9a\x79"
- "\x51\x9b\xab\x79\x09\xa1\x7f\x65\x74\xa0\xf8\x54\xfd\xf3\x74\x52"
- "\x80\x09\x25\x33\xa4\xd5\x22\xba\x79\xc0\x77\xe0\x56\xfb\x19\xa9"
- "\x8f\x23\x16\x29\xa9\x39\x54\x10\x0d\x85\xb9\x20\xd3\x27\xa2\x7d"
- "\xe4\x81\x9e\x0a\x4a\xc4\xf6\xef\xc7\x0b\xb8\x6a\x50\xa9\xed\x72"
- "\xb4\x79\x01\xf3\xc3\x89\x5d\x19\x5e\x9a\xf1\x35\x14\xcc\x04\x4c"
- "\x2d\xe5\x0f\xd8\x07\xee\x50\xee\x3f\xaf\x74\x86\xcd\xc5\xf8\x34"
- "\x0f\xeb\x32\x7f\x36\xcc\x03\xa8\xbc\xde\xd9\xf8\xfc\x01\x73\x83"
- "\x74\x4a\x26\xdc\x70\x1a\x76\x71\x5a\xee\xac\x0b\xe0\xdb\x16\xd4"
- "\x26\x7c\xfb\xb8\x96\x74\x00\x7d\xb8\x5c\x4a\x07\xfc\x9e\xc9\xff"
- "\x4a\xd0\xaf\x86\x4b\xb0\xc6\x29\x8e\x3f\x2e\x9f\xa0\x33\xd3\xdf"
- "\xb9\xe0\xd5\x48\xb9\xf0\x08\x7e\xae\xdd\xd0\x2e\xf5\x41\xd8\xa3"
- "\x9a\xff\x76\x93\x04\x7a\xef\xd2\xf5\xb8\x05\xa1\x55\x8e\xe8\x03"
- "\x9f\x6e\xd9\xc4\x75\xd0\xfe\x75\xd1\x77\x3f\x22\xbe\x2e\xc7\x27"
- "\x10\x4e\x2c\xab\x2f\x38\x53\xcb\xe7\x27\x9d\xff\xd8\x86\xb7\xca"
- "\xc1\x7e\xeb\x23\xd8\x8f\x5e\x85\xa3\x2a\xa3\xe6\xc8\x8f\x71\x30"
- "\x98\x91\x1d\x11\x8d\x76\xdf\x42\xe8\x72\x6b\x41\x3a\x70\x46\x26"
- "\x78\x16\xc8\x6a\x21\x66\x81\xdc\xec\xac\x3e\x5d\x8a\x9a\x01\x03"
- "\xee\xee\x0a\x34\x1a\xad\xdc\xc9\x4f\x3d\x22\x3b\x48\x67\x43\x7d"
- "\x7e\x53\x08\x91\x26\xbf\x7d\x60\x4a\xf4\xfb\x21\xcf\x74\xc9\xc6"
- "\x47\x9b\x39\x58\x61\xde\x5d\x3c\xbe\x60\x2e\x2b\x6c\x08\x42\x3e"
- "\xe3\x03\x76\x6d\xa8\xac\xba\x11\xb2\xce\x0f\xdb\x95\x6a\x33\xf4"
- "\x00\xc9\x66\x13\xd4\x5f\xab\xe7\x1b\x17\x62\xa1\xe6\x4a\x82\x67"
- "\x28\xa3\x7b\xf7\x4b\xfc\x57\xcb\x16\x3e\xfe\xb5\xa4\xef\x3b\x35"
- "\xdd\x14\xd5\x48\x41\x5e\xa5\x62\xcc\x18\xba\x97\x6c\x75\xe9\x39"
- "\x63\xd4\x9d\xce\x2d\x9d\x4c\xc3\x82\xb1\x31\x69\x91\x90\x3e\x6d"
- "\x66\xc7\xea\xd3\x88\x02\xd3\x39\x10\x22\x04\x1a\xbf\xc5\x0d\x02"
- "\xb8\x7c\x9a\x86\xc5\x04\x87\xef\xaf\x75\xe5\xc7\xe6\x21\xba\xa1"
- "\xbd\x9c\x14\x90\xc3\x99\x80\xbb\x61\xe3\xe2\xc1\x79\xf0\xc6\x46"
- "\x4f\x38\x86\x35\x93\x1a\x55\xd8\x76\x0f\x7c\xa2\xae\x3b\x6a\xa8"
- "\xe4\x74\x74\xc2\x50\x38\xcf\xc5\xda\x85\xee\xe0\x2f\x23\x1a\x83"
- "\x17\x54\xa7\x34\xa0\x1f\xd7\xd3\xb2\x53\xe3\x77\xfe\x8e\x97\x49"
- "\xc5\x5b\xe0\x5f\xcb\x2c\x90\xe9\x09\x83\x40\x89\x81\x51\xf6\x40"
- "\x64\x2c\x89\xca\xcf\x61\xda\x04\x0d\xaf\x3b\x48\xf9\x8a\xfa\x74"
- "\x6a\x6a\xe5\x29\x5e\x3a\x6b\xee\xb5\x5e\xa3\x0c\x78\xf1\xe0\xcb"
- "\x74\x69\x2c\x7b\xf6\x73\xc1\x53\x20\x8c\x15\x54\x03\x5d\x96\xe3"
- "\x6a\x8d\x19\x5d\xec\x5a\xd4\xe3\x6b\x1a\x72\x27\x73\x73\xbb\x2e"
- "\x7c\x4e\xbb\x63\x26\xdb\x9d\x9c\xde\x67\xd8\x50\x7c\x85\x1a\xff"
- "\xf0\xd0\x12\x4d\x3e\x69\xb1\x2d\x2a\xd1\x28\x4a\xc9\x82\x1e\xd5"
- "\xfc\xa3\x64\x0b\x2f\xcc\x4c\xef\x17\xa6\xe5\x0b\xd5\x76\xb4\x33"
- "\xff\x3b\x3d\xc3\xb0\x28\xf7\x38\xf5\x7a\x76\x2c\x84\xf7\xcc\x4f"
- "\x3a\xdf\x68\xab\xbc\x6b\x24\xac\x84\x8a\x09\x5e\x0d\x89\x9d\x85"
- "\x98\xf5\x61\x60\x38\xb0\xdd\x86\xe1\xb5\x42\xa0\x6c\x25\x77\x28"
- "\x8f\xf1\x21\xb3\xa8\xed\x8c\xfd\x18\xcf\x23\xae\x2a\x9f\x1c\x67"
- "\xc3\x17\x48\x73\x3b\x6e\xbf\x02\x88\xed\x4d\xa2\x86\x07\x6a\x5d"
- "\x16\x55\x3b\x87\x29\x88\xd0\x8d\xe3\x30\x3b\x89\x22\x5c\xa2\xb6"
- "\xbb\xcf\xda\xd8\x1f\xe4\x7f\xa5\x50\xb9\x8b\xc2\x61\x73\x86\x61"
- "\x92\x44\x1b\xc2\x9d\x34\x72\x81\x30\xca\x22\x83\x78\xe0\xa5\xb5"
- "\x39\xba\xa3\x46\x7a\x4c\xd9\x2b\x5e\xaf\x42\xdf\xba\x80\x4a\x83"
- "\x9c\x20\xe0\x86\x90\x88\x4e\xbf\x7b\xa6\x44\x3d\x7f\x9c\xbe\xc8"
- "\xdf\x74\xe8\x2c\xf7\x4b\xc0\x06\x3f\x9e\x23\x30\xe8\x31\xc6\x07"
- "\x5b\xc9\x26\xf1\x1c\xc8\xbe\xe3\xc7\xcb\x4f\x1b\x37\x09\xf0\xcf"
- "\x0c\x5e\x1d\xac\x1c\xb8\x91\xcf\x0a\x54\x09\x6c\xa9\x4e\x9f\xa1"
- "\x36\xde\x41\xa8\x67\xe4\x4c\x65\xc9\x28\x20\x0f\xbd\x49\x74\x7f"
- "\x83\x26\x48\xb1\xe6\xca\x6f\xd8\x88\x27\x94\xdd\xa4\xaa\x03\x43"
- "\xc6\x19\xab\x8b\x83\x78\x4f\x2a\x51\x34\x98\xff\x27\x6b\xda\x39"
- "\xe4\x2e\xf6\xe9\xe7\xd6\x96\x86\x60\x3b\xc3\x80\xb8\xba\x51\x77"
- "\x8a\x79\x07\x62\xb1\xaa\xa9\x58\x96\x54\x84\x04\x9e\xee\x24\x8d"
- "\xf1\xac\x34\x03\x43\x8e\xd0\x92\xdc\x4d\xbc\xc7\x15\xdc\x82\xfc"
- "\x19\x9b\x7e\x43\xe1\x36\xc5\x6b\xfb\xb8\x9e\xf4\x22\x5e\x29\x6f"
- "\x4c\x45\xdd\xfe\xcb\x17\x77\xee\xd3\x6b\x80\x50\x96\xd0\x07\xa3"
- "\xb2\xf0\x68\xc7\x40\xeb\x24\x16\x23\xa7\x57\xc4\xbb\x9c\x69\x16"
- "\x49\x30\xb8\xd9\x4d\x41\x4e\x22\xc6\x24\x7f\x44\x59\x4e\x3c\x46"
- "\x61\x64\x60\xc5\x82\xc2\x60\xc5\x63\xe7\xb3\xe1\xb9\xd1\x71\x65"
- "\x32\xaa\x88\xa1\x4e\x98\xdb\x0b\x29\xe8\x5a\xa4\xbc\x61\x20\x62"
- "\xbc\xea\xb0\x90\x3c\x2f\x29\xef\x74\x87\x4b\x1b\x36\xf7\x01\xde"
- "\x30\xf0\x00\xe3\xd7\x2d\xf6\x52\x09\xe1\xe5\x84\x13\x04\xfe\x1f"
- "\x2c\x1c\xeb\xfb\x2c\x40\x7d\x4d\xf5\x9c\x6e\x47\xe9\x2d\xb0\xca"
- "\x88\x37\xf4\x8d\xbe\x50\xfb\xec\x5e\xee\x5d\x0f\x1a\x71\x42\xe3"
- "\xc0\x9c\x57\xe3\x50\xba\x98\x0d\x79\xfa\x56\xe9\x7a\x09\x03\x75"
- "\x21\x0f\x97\x69\xe0\xed\x9d\x10\x8f\x64\xdd\xd5\x10\xdc\x3b\x21"
- "\x08\xc2\x7e\x7e\xac\x6e\x7c\x0b\xb9\x71\x65\x3e\xfa\x1c\xf3\x13"
- "\xdc\x03\x9c\xf2\xa4\x21\xf1\xfc\x07\xaa\xef\xa0\x55\xd7\x21\xfc"
- "\x0c\x17\x6a\x06\x57\x6b\x0e\x8e\x1d\xea\xb2\xc8\x23\xb3\xad\x42"
- "\x00\x41\xe2\x9c\x1f\x2e\xa8\x51\x19\x3d\xdb\x24\x73\x4a\x8f\x08"
- "\x74\xb5\x6b\x58\x48\x7a\x4e\x7b\xa6\x5c\x4b\x81\xd6\x38\xf9\xe5"
- "\x66\xe3\x15\x9a\x74\x49\x68\x8e\x5b\x1e\xdd\x3f\x4f\xc8\xe3\x0c"
- "\x73\x32\xf0\x35\x16\x8c\xd9\x84\xc3\x9a\x65\x16\x93\x65\x0f\x47"
- "\x15\x97\xc8\xb4\x6a\x7f\x91\x0a\x05\xf2\x08\x36\xf0\x7e\x2c\xcb"
- "\x79\xc4\xc4\xcb\x5a\xa0\x25\xc9\xe9\xac\x35\x8f\x56\xf6\x87\x4e"
- "\x9b\x4b\x9d\x1a\x38\xb0\x43\x41\x94\x07\x17\x78\xec\xd3\x8c\x89"
- "\x58\x09\xef\x07\xe1\xd8\x65\x97\x3e\xce\x61\xad\x51\x0a\x48\x3d"
- "\x64\xd5\x6e\xa1\xe5\x86\x06\xb7\x22\xcd\x03\x44\xec\x94\x52\x15"
- "\x5d\xf6\x9b\xc6\xb6\x22\x49\x5e\xb1\xdb\x01\x24\xd2\xc2\xac\x13"
- "\xdc\xec\xb3\x93\x4c\x88\x3b\x11\x6d\x77\xab\x44\x67\x8c\xca\xa8"
- "\x18\x47\xe3\xdc\x58\x13\x45\x43\xb3\x7f\xdf\x3a\xdf\xef\x0e\x4f"
- "\xc0\xf3\x95\xb6\x7d\xdf\x97\xd7\x0d\x03\x9d\x14\x76\xd6\xae\x5f"
- "\xb4\x13\x7f\x2a\xdb\x00\xa2\xe7\xfd\x33\xa6\x4d\x3f\xc1\x14\x58"
- "\x7c\x55\x30\x6a\xae\x71\x0f\x73\xe3\x64\x1f\xc5\x2e\x6f\x82\x82"
- "\x62\xd2\x02\xde\xf8\x29\x1e\xd5\x71\x3a\xbe\xcd\x43\xf8\x71\x5e"
- "\xa1\xce\x68\xca\xcb\x23\xfa\x83\xba\xc2\x0f\x9b\x6b\x86\x5d\x9f",
- STR(iv, iv_size,
- "\x12\x34\x56\x78\x90\xab\xce\xf0\x00\x00\x00\x00\x00\x00\x00\x00"),
- }
-};
+const struct cipher_vectors_st kuznyechik_ctr_acpkm_vectors[] = { {
+ STR(key, key_size,
+ "\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00\x11\x22\x33\x44\x55\x66\x77"
+ "\xfe\xdc\xba\x98\x76\x54\x32\x10\x01\x23\x45\x67\x89\xab\xcd\xef"),
+ STR(plaintext, plaintext_size,
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"),
+ .ciphertext =
+ (uint8_t *)"\xf1\x95\xd8\xbe\xc1\x0e\xd1\xdb\xd5\x7b\x5f\xa2\x40\xbd\xa1\xb8"
+ "\x85\xee\xe7\x33\xf6\xa1\x3e\x5d\xf3\x3c\xe4\xb3\x3c\x45\xde\xe4"
+ "\xa5\xea\xe8\x8b\xe6\x35\x6e\xd3\xd5\xe8\x77\xf1\x35\x64\xa3\xa5"
+ "\xcb\x91\xfa\xb1\xf2\x0c\xba\xb6\xd1\xc6\xd1\x58\x20\xbd\xba\x73"
+ "\x7e\x08\xf5\x9f\x71\xb8\x56\x08\xe3\x89\x55\xb1\x7b\x53\xed\x27"
+ "\xee\x04\xce\x2c\x02\xae\xf0\x75\x8f\x5d\x64\x77\xea\x0a\x79\xb2"
+ "\x9f\xc0\xb0\x9a\xf0\x93\xd5\xbf\xb9\xdf\xab\x18\x25\xf7\x51\xc9"
+ "\x82\x69\x88\x08\x00\x2b\x35\x8e\x2c\x2f\x7c\x01\xdc\x31\x56\x1d"
+ "\x52\xb4\xca\x07\xbf\x02\xa5\x9a\x80\x88\x91\x19\xf1\x26\x0b\x7f"
+ "\x9d\x3e\x1c\xe5\xf9\x92\x1a\xf5\xb5\x53\xed\x1e\x1a\xdf\xdc\x53"
+ "\x9e\x2e\x79\x65\xbd\x7b\x48\x48\x57\x58\x90\x76\x40\x57\x86\x76"
+ "\x7d\xe3\xb2\x82\x06\xed\xeb\xce\x35\x1b\xcc\x5c\xee\x54\xe4\x3f"
+ "\x53\x4b\xb5\x0d\x07\x0a\x2d\x0c\xb7\xcf\x7c\xf8\x81\xad\x32\x01"
+ "\x26\x50\x0f\xe9\x32\xf3\xd7\xc9\xf0\x86\xab\xb8\xf8\xea\x72\x3a"
+ "\x9a\x17\x48\x12\xa5\xbb\x3b\xa9\x6d\x01\x51\x82\xc0\xe2\x98\x4d"
+ "\x69\x3c\xbd\x67\x6a\xa0\xb1\x7d\x7a\xa8\x2c\xb8\xe2\xb9\xf6\x68"
+ "\xfa\xeb\xae\x0d\x41\xcb\xb0\xfe\xe5\x55\x65\xb6\x5d\x56\xe5\x05"
+ "\x20\x08\x51\x77\x7c\x18\x3a\x25\x69\xaa\xa2\x39\x68\xcf\xd1\x3e"
+ "\x51\x47\xb5\xd8\x13\xcc\xaf\x2d\x31\xd5\x28\xae\x61\x48\xe6\x9a"
+ "\x0a\xd8\x30\x0b\x1f\x7c\xef\x3d\x32\xa5\x40\x05\x41\xdf\x84\x1e"
+ "\xce\xde\xca\x31\x42\xa6\xc4\xbc\x2b\x56\xb7\x7e\xa6\x22\x1f\x85"
+ "\x7b\xe8\x80\x01\xc1\xff\x78\x45\x14\xb5\x4d\x9b\xe3\x21\xf7\xb8"
+ "\x13\xd5\x44\x3d\x6f\x33\x85\x46\x56\x07\x79\x15\xb4\xec\xe5\xfd"
+ "\x34\x35\xc8\x8a\x5f\x4d\x58\x84\x82\x9d\xb6\x4d\x0e\x90\x65\xb0"
+ "\x5e\x61\x83\x30\x3d\x51\x34\xe3\x0e\x6e\x78\x05\xc8\x6d\x1e\x7d"
+ "\x76\xe2\x3d\x85\x33\x82\x42\x7c\x7d\x67\x33\xbb\x60\x5e\x4d\xb0"
+ "\xc8\xd0\x7a\x6c\xbe\x4e\xc8\xc4\x82\x9d\xb6\x25\x56\xc9\x1b\x52"
+ "\x3b\x9b\x4a\xf5\x8f\x67\x12\xd5\x41\x60\xe6\x97\x08\x90\x7b\x17"
+ "\x3b\xf9\x1c\x82\x0d\x15\x0a\x3d\x1b\x27\xd4\x46\xd6\x91\x5c\x74"
+ "\x48\x45\x1a\x4c\x60\x26\xf3\xe3\x1f\xe7\x0a\xfc\x79\x42\x8a\x5f"
+ "\x5f\x5b\x33\xf4\xb3\xda\xbd\x4c\x4a\x10\x5e\x3b\x9d\x09\xf8\xf2"
+ "\x51\x25\x44\x37\x7b\xca\x88\xf0\x88\xa9\x5d\x2e\x9e\x42\xf6\xac"
+ "\x3d\xd6\x01\x06\x06\x5c\x96\x4b\x13\xf5\x5f\xaa\x06\x34\x16\x67"
+ "\xfd\xa5\x49\x12\xcc\x21\x8f\xb4\xb9\x33\xfc\x58\xf0\x36\xeb\xd7"
+ "\x50\xf2\x38\x39\x9e\x93\x7b\xf7\xf5\xc7\x9c\x73\x36\x1f\xbe\xa9"
+ "\x49\xf9\x2c\x4f\x17\xfc\xb3\x64\x51\x68\xaf\xed\xe3\x43\xbf\x2f"
+ "\x3f\x57\xbb\x74\x93\x51\xc4\x93\x1e\x2e\x05\xed\xda\x74\x27\x1b"
+ "\x7b\xa8\x98\x3e\xa6\x62\x75\xbd\x68\xab\x44\xe8\xe4\x2d\x2f\x08"
+ "\x44\x64\x85\xa6\x42\xfe\xdb\x11\xb5\xbc\x1a\x83\xc4\x58\x7a\xd1"
+ "\x0d\x64\xa2\xdb\xd5\x4c\x3a\xd7\x2a\xd8\xc7\x0b\xf5\x33\x80\xe2"
+ "\xaa\xc6\xaf\xad\xee\x39\x83\x1c\xfb\xda\x39\xd6\xe4\xbe\x6f\xde"
+ "\x46\xd1\xdc\xc8\x77\x3b\x42\x3a\x19\x83\xdb\x79\x5e\x9d\xd9\xef"
+ "\xe7\x54\x9e\xfa\xde\x56\x26\x0e\x33\x44\xb6\xac\xc7\x25\x1f\x0b"
+ "\xd0\x12\x4a\x75\x6f\xef\x9f\xb7\xe7\xf1\xc3\xb2\x77\xa7\x01\xc1"
+ "\x24\xf2\x60\xf2\x04\xa4\x07\x47\x25\x81\x2a\x51\x36\x1d\xb3\x42"
+ "\x3c\xc5\x12\xbb\x53\x89\xc3\x00\xb4\xe8\x0e\xd8\xed\x5d\x9c\x18"
+ "\x08\x16\x05\x57\x22\x99\xc1\xcb\x97\x4d\x7d\x42\xb0\xbf\xf3\x35"
+ "\x9e\xc9\xc0\x4e\xe6\x42\xec\x49\x06\x5e\x50\x7f\x6c\x86\x20\x9e"
+ "\xe0\x49\x6a\x1d\x50\x45\x52\x3d\x66\xdc\x66\xb2\xa1\x57\xbb\x1d"
+ "\x65\x30\xf9\x3e\x6c\x8b\xf8\x07\x5e\xf9\xb0\xcf\x15\x1f\xa4\x22"
+ "\xe6\x28\xdf\x40\x44\x27\x80\x99\xbf\xcc\x86\x94\x3d\xe1\x97\xbc"
+ "\x64\x7b\xc9\x8a\xc8\xb7\xdd\x8e\xd9\x95\xfa\x97\x44\x59\x70\xb6"
+ "\xa4\x59\xdd\x94\x2a\x4e\x71\x76\xe1\xf8\xff\x2e\xef\xf7\xf3\x26"
+ "\x0d\xeb\x63\x9b\x34\x74\xcf\xc7\xe4\x99\xb3\x8b\xe5\xf8\xfa\xf8"
+ "\x60\x6a\x8f\x16\xfe\xb3\x12\xe8\x66\x5c\x26\x61\x11\xaa\x14\x85"
+ "\x5e\x4c\x0f\xf8\x47\x99\x49\x4c\x22\xa5\x37\xb7\x4b\xed\x1d\x33"
+ "\x54\xe4\x6f\xfe\x4b\x7e\x95\x44\x56\xa9\xa9\x48\x6f\x40\x08\x42"
+ "\x28\xa0\xd6\x8e\x52\x72\x84\x87\xd5\xcc\x08\xf4\x34\x9b\xc7\xf7"
+ "\x92\xac\x5d\x5a\x30\x4c\x87\xc2\x2c\x94\x68\x10\x03\x02\x8c\x38"
+ "\x6e\xf6\xca\xd1\xd6\x55\x02\x3c\x3a\xf4\x21\x1c\x90\x03\x7c\x33"
+ "\xcd\x81\x93\x3f\x4c\xa1\xe6\x7c\x7d\x27\xaf\x97\x7a\xd8\xb0\x32"
+ "\xcb\x1f\xb6\x5d\xb0\x7c\x9e\xf7\x15\x6a\x29\xc9\xb3\x13\x8e\xb2"
+ "\x2e\xf2\x9d\xb2\x64\xe9\xc7\x13\x86\xc3\x46\x97\x9e\x53\x37\xac"
+ "\xd1\x75\x0b\xe2\x20\x4a\x5e\x3a\x47\xdf\xb3\x67\x78\x23\x22\xa6"
+ "\xb6\x69\x83\x1b\x41\xe1\xdc\xe3\xbb\x63\x8e\x6a\x70\xe2\x91\x30"
+ "\xa2\x48\x43\x07\x9b\xf1\x87\x9d\xd9\x2f\x36\x62\xaf\x51\x70\x10"
+ "\x5d\x68\x42\x6e\x95\xe6\x86\x85\x90\x08\x80\x42\xc6\x11\x7d\x38"
+ "\x37\x94\xc7\x7a\x9d\xec\xff\x87\x15\x0d\x30\x42\x7d\xbf\xb0\x21"
+ "\xa8\x28\xc3\xa9\x56\x31\xda\x2e\x91\x8d\x0d\x78\x93\xe2\x4d\x7f"
+ "\xb3\xdb\x87\x5b\xf2\x2a\x55\x54\xc4\x1a\x47\x9b\x51\x79\x2c\x55"
+ "\xaa\xaf\x57\x89\x90\x32\x26\xfa\xcf\x26\x3d\xbd\xc3\x59\x7e\x4b"
+ "\x53\x7a\xa3\xf8\xec\x31\x3e\x9f\x22\x33\x41\xec\xe5\xf1\x50\x41"
+ "\x57\x64\x37\x0e\x24\x0f\x03\x0c\x93\xaf\xd7\x44\xef\x33\xf9\x96"
+ "\x8e\x63\x9c\x79\x09\xdf\x58\xdb\xcd\xd2\xf2\x81\xed\x97\x28\x5e"
+ "\x6d\x99\x45\xad\xf1\xa4\xe8\x59\xaa\xeb\x59\xbd\xfa\x54\x27\xe2"
+ "\x01\x6d\xfa\x08\xe5\x1a\x46\x92\x31\xa0\xfd\x2e\x25\x21\x5e\x9d"
+ "\x1d\x41\x82\x16\x21\xea\xe8\x29\x5a\xe7\xd4\xd8\x7c\x91\x6d\xa8"
+ "\x69\xa8\x6b\xac\xf9\x3d\x2c\x07\xfa\xaf\x65\x5e\x84\x63\x5c\x1c"
+ "\xb6\x71\x1c\x6e\x1a\x1a\xcf\x5f\x39\x08\x02\xeb\xde\x75\x28\x44"
+ "\x90\x3b\x6d\x09\xf5\xa4\x3a\x00\x99\xc1\x6e\xb8\x23\x47\xb6\xe6"
+ "\x44\x69\x24\x86\x0d\x93\x7d\xc2\x1a\xe7\xf8\x97\x97\x6d\x2f\x7d"
+ "\x6a\x3e\xd7\x6d\x94\xbe\x9b\xfa\x7d\x40\xff\x35\x7e\x2d\x9c\x50"
+ "\x71\xf8\x99\x5f\xf3\x53\x16\x59\x77\x72\x4b\xef\x8d\x21\x8c\x28"
+ "\x15\x8a\x57\x6d\x3d\x35\xf4\x2c\x37\x39\x0e\x97\x8f\xd3\x45\x17"
+ "\xac\x0b\xa2\xaa\x16\xe7\x98\x70\xbd\x91\x4b\x7b\xc9\x14\x5b\x85"
+ "\x29\xe5\xd9\x20\xa6\xf3\x89\x63\xc8\x01\x94\x2c\x20\xb0\xf1\x1c"
+ "\x61\x90\x5b\xe8\xaf\xdb\xe2\x20\x62\x4f\xd0\x3c\x51\x1f\x5f\x14"
+ "\x28\x13\x07\x5e\xbc\x4a\xa0\x46\xa7\x9c\xc7\x00\x24\xb4\x67\x0d"
+ "\x9c\xe8\x05\xa7\xe3\x37\x94\xd3\x97\xc5\xd6\x1d\xb3\x79\x0c\x7f"
+ "\xf0\xeb\x68\xa7\xa9\x75\x30\x3c\xf1\xf8\xfb\x96\x4b\xa5\x99\xb1"
+ "\xf0\x71\xab\xb4\x8a\xa6\x5d\x97\xb5\x6f\x42\x81\xef\x38\x0e\x41"
+ "\x21\xcd\x15\xe4\xf1\xdc\x02\xc2\xe5\xe4\xb2\xf2\xdb\xc5\x42\x0f"
+ "\xeb\x00\xb8\x49\x48\x90\x97\x59\x69\x8c\x3d\x90\xfa\x7f\xaf\x75"
+ "\xff\xe8\x0f\xff\x13\x2f\x7a\xca\x33\xbc\xb0\x41\x7b\xd4\x94\xce"
+ "\xd5\xd7\x53\xe5\x36\x9d\xea\x0c\x13\x60\x63\xd9\x79\x83\x53\x03"
+ "\x3c\x5f\x33\x6b\x16\xd2\xd6\x07\xbd\xbc\xa9\xcd\xd6\x21\x58\x8a"
+ "\x90\xac\x85\x7c\x0a\x85\xf1\x02\xfd\x6c\x5b\xac\x92\xa5\x6f\xfc"
+ "\x02\x60\xb3\x05\x91\x31\x80\xd5\x75\x82\xa8\xab\xcc\x7b\x47\xdb"
+ "\x79\xaf\x85\xea\x75\x2d\xf4\x46\x45\xa6\x24\x35\x2d\xba\x9e\x19"
+ "\x4e\x48\xb3\x5f\x40\x96\x6c\x73\x44\x09\x67\x27\xee\xdb\xdb\xca"
+ "\xf6\x14\x3f\x32\xdf\x3b\xd3\xcb\x87\x48\x6b\x03\xda\xfe\xb5\x20"
+ "\xf8\x72\xd0\xe4\x65\xfd\x14\x5d\x9b\xd3\xc5\x67\x4b\x41\xf4\xcb"
+ "\xac\xe4\xce\x61\xe0\x06\x8e\xb6\xca\xef\xa5\xe4\x70\xd4\xff\x4f"
+ "\x4c\x81\xb7\xc7\xc1\xe3\x1d\x6b\xfe\x44\x37\xfe\x7e\xb4\xec\xda"
+ "\x55\xbc\x26\xdd\x44\x08\x28\x49\x19\xc9\x52\x20\x4a\x5e\xe1\xae"
+ "\x6b\x87\x35\xa2\x9a\x02\x17\xb0\x74\xe1\x19\x92\xca\x5d\x34\x81"
+ "\xd7\x3f\xb1\x14\xe2\x44\x97\x7f\xab\x0a\xc3\x44\x8d\x9c\xe6\x27"
+ "\x84\x5e\x2e\xe1\x0e\x7b\x74\xee\x47\xe2\x6f\x79\x3a\x0d\x25\x90"
+ "\x9b\x32\x13\x78\xd3\xd1\x19\x10\xb7\x88\xc4\xb4\xb8\x0f\x84\x0c"
+ "\xc4\x6d\xb3\xbc\xbc\xea\x1d\x84\xfe\x6f\x95\x1e\x44\x78\xbb\x73"
+ "\xd0\x08\x8b\xbe\xae\x91\x6f\x84\xeb\x6c\x05\x58\x3a\xb7\x68\xee"
+ "\x62\x14\x0b\xba\xd3\xd6\x78\x23\x35\x03\x2f\xed\xac\xf2\x35\xa7"
+ "\x0b\xf5\x37\xa1\xa5\x4d\x57\x0e\x2e\x5e\x0d\x0c\xd6\x04\xc8\x07"
+ "\x60\xe6\xda\xd9\x55\x16\xf6\xc6\x0c\x53\xc0\x46\xa8\x91\xa6\xdd"
+ "\x22\x99\x88\x9f\x23\x93\x64\x81\xdb\x4b\xe8\x99\x1e\x16\x5c\xb5"
+ "\x08\xc0\x74\xf9\x79\xd3\xc1\x6a\xe5\x38\x6b\xcd\xf0\xcb\x1e\xb8"
+ "\x5c\x6b\x14\xd6\x85\x58\xa3\xc8\x3d\x5b\x14\x50\xc4\x70\x97\xb2"
+ "\xcd\x93\xd6\x3a\x42\x2f\x3a\x88\x28\x8a\xd0\xa7\xe9\x98\x87\xbe"
+ "\x66\x89\x69\xd9\xbd\x11\x91\xd3\x9b\xc4\x22\x14\xe6\x8f\xc8\xbd"
+ "\x95\x5d\x3d\xd2\x1d\x10\xbd\x61\x69\x87\xf9\x4a\x9c\x61\x5b\x80"
+ "\x9b\x3f\x32\xce\x17\xcd\x98\x79\xb9\xeb\x45\xf7\x54\x3c\xc9\xa6"
+ "\x2e\xb4\x0b\x0d\x84\x0d\x35\xcc\x64\x5f\x5a\x92\xf8\xcb\xd6\xfa"
+ "\xae\xd9\xce\x9c\x41\x83\xc2\xab\xd5\x73\x21\xea\x95\xd5\x73\x2f"
+ "\xf1\xd0\x71\x95\x45\x07\x7c\x1f\xcc\xba\xf3\xb0\x75\xfa\x1a\xd4"
+ "\x89\x66\x4e\x93\x93\x80\xb7\x67\xd5\xdf\x99\xd8\x43\x6d\xf6\xde"
+ "\x19\xc8\x13\x56\xf8\x63\xe5\xf2\x53\xfd\x2e\x62\x8d\xde\x92\xd4"
+ "\x98\xfc\x1c\x36\x08\x3d\x33\x0f\xee\xbc\xb8\x2f\x49\xa2\xb3\xb4"
+ "\x9b\x0c\x7e\x16\xd4\xe8\xc0\x98\xd0\x5c\xda\x25\xaa\xe4\x60\x95"
+ "\xe6\xc5\x7b\x62\xa5\xe9\xbc\xa1\x5e\x11\x4f\x5d\xb4\x19\x29\x33"
+ "\x6f\xff\xf4\xef\x7f\x62\x2b\xf2\xbd\x47\x90\xcb\xba\xbc\xe8\xa8"
+ "\xd7\xcf\xac\x44\x05\x67\xf3\xd3\x93\x22\xc0\x48\x23\xdf\xef\x54"
+ "\x3d\x64\xc7\x13\xfd\x4f\x0a\x21\x20\x2b\xad\x34\x88\x02\x69\x84"
+ "\xaf\x8a\xfb\xbb\x97\x7d\xca\x0e\x80\xdc\x8a\x50\x51\x49\xc8\x1f"
+ "\xbd\x35\x46\x11\xf6\xdf\x52\x29\xc2\x52\xc4\xae\xd5\x16\xbb\x67"
+ "\x21\x7b\x25\xeb\xc4\x21\x0d\xc7\x3f\x1b\xae\x42\xc2\x21\x58\x1e"
+ "\x32\x46\x0d\x72\x15\x89\x75\xaa\xd9\x0b\x2d\xa7\x25\x3a\x2a\x3d"
+ "\xc6\x46\xd1\xa3\x9d\xed\x52\xd8\xbb\x53\xb9\x1f\x6d\xfc\x63\xb7"
+ "\x28\xa1\x78\x78\x18\x43\xa2\x3d\x6f\xcd\x6a\x40\x6a\xc2\x44\x88"
+ "\x59\x03\xdd\xd3\x47\x8d\x3d\xe2\x24\xc2\x11\x00\xb1\x2e\xc7\x24"
+ "\x81\x4b\xc0\x9c\x90\x64\xb7\x8b\xfb\x3a\xdc\x69\xe1\x4c\xf4\xc4"
+ "\xc7\x78\x5a\xca\xf8\x6f\x16\xa0\xb8\xe3\xb0\x66\x94\xab\x7a\x86"
+ "\x5c\xa8\xb9\x7f\xf7\x6a\x64\x1d\x8f\x03\xcf\x4b\x4b\xb0\xd8\xc2"
+ "\xc2\xea\x02\x5a\xaa\x14\x19\x8f\x60\x49\x5b\xf4\x05\xc8\x98\x30"
+ "\xeb\xbc\x00\x12\xa4\xc0\x27\x5f\x38\x91\x89\x73\xfa\xb7\xc1\x3a"
+ "\xf4\x7c\x18\xe4\xe7\x7f\x8c\x82\x51\xb0\x64\x2b\x9d\xa3\x98\x47"
+ "\x67\xe4\x0f\x1f\x30\x8e\x78\x0a\x3e\xc4\xa8\xc4\x1c\x79\x0a\x09"
+ "\x91\xbd\xa1\x6a\xab\x47\xce\x54\x24\xda\x4b\xa6\x7b\x40\x43\x92"
+ "\xd5\x43\xbb\x50\x53\x54\x1d\xf0\x0c\x87\x01\xc0\x82\x0a\xf0\xd8"
+ "\x7d\xd7\x22\xfc\x33\x59\xf7\x54\x87\x5c\x45\xc8\x2d\x92\x6d\x3a"
+ "\xfc\x90\x03\xa9\x23\xa8\xa3\xa5\x00\x3d\x3f\x7d\x9f\x6c\x7a\xba"
+ "\xdd\xff\xfd\x09\x04\x9b\x82\xea\x9f\x0e\x05\x92\xed\x08\x24\x1d"
+ "\x00\xfa\xac\x61\xf0\xe7\xc7\x37\x7e\x0d\x73\x38\x3e\x7a\x63\xcb"
+ "\x4e\x26\x21\xd6\x50\x12\xe4\x95\x1e\xc7\xd0\xed\xcb\xf9\xbf\x1d"
+ "\x34\x81\x81\xa4\x0e\xeb\xf6\xe8\xc5\x1e\x98\xca\x79\xad\x15\x3c"
+ "\xdc\xf5\xe3\xa9\xfe\xe9\x4c\x6a\xc5\x79\x55\x89\x18\xf2\xd1\x86"
+ "\x4e\xd6\x95\x38\xf8\x78\x0b\xfc\x50\x40\x72\xd4\x3c\x45\xdf\xaa"
+ "\x13\x1e\x9e\x74\xff\xde\xa9\x33\x5e\xa8\xa1\x70\x75\xd7\x7c\x4f"
+ "\x71\xf1\x03\xb3\xfb\x0f\xad\x19\x4f\x5d\xfe\xbb\xc5\x98\x81\x11"
+ "\xee\x24\x24\x13\xa4\xa4\xfe\x40\x4b\x20\x38\x61\x6e\xe3\xec\x05"
+ "\x15\x46\x35\x2d\xd4\x61\x7d\x0f\x4a\x34\xf1\x23\x87\x5e\xc6\x8e"
+ "\xf5\x77\x8c\x03\x4b\x58\xe2\x3b\x35\x08\x2f\x40\x60\xd6\xe3\x3a"
+ "\xf0\xb4\xdd\xb9\x18\xfc\x7d\x79\x7a\xf3\x0a\x5c\x89\x2e\xcc\x30"
+ "\x9b\x8f\x7e\x3c\xd3\x1d\x45\xcb\xfb\xb5\x09\xe8\x6e\xd4\x87\xb0"
+ "\xc5\x5c\x0e\x70\xec\xd9\x04\xb2\xc1\x44\x9b\x78\x4f\x46\x92\x4b"
+ "\x18\x0b\x90\xaa\xe3\xf9\x11\x8d\xf8\x9e\x5e\xc6\x2e\xfb\x9f\xba"
+ "\x31\x49\x9e\x9d\xb7\xb8\x5c\x0b\x09\xcf\x45\xb0\x82\x9d\x6a\xd7"
+ "\xeb\x1d\x79\x6f\x26\x1a\xec\x5d\x16\xb1\xa8\xc5\x90\x00\x9a\x79"
+ "\x51\x9b\xab\x79\x09\xa1\x7f\x65\x74\xa0\xf8\x54\xfd\xf3\x74\x52"
+ "\x80\x09\x25\x33\xa4\xd5\x22\xba\x79\xc0\x77\xe0\x56\xfb\x19\xa9"
+ "\x8f\x23\x16\x29\xa9\x39\x54\x10\x0d\x85\xb9\x20\xd3\x27\xa2\x7d"
+ "\xe4\x81\x9e\x0a\x4a\xc4\xf6\xef\xc7\x0b\xb8\x6a\x50\xa9\xed\x72"
+ "\xb4\x79\x01\xf3\xc3\x89\x5d\x19\x5e\x9a\xf1\x35\x14\xcc\x04\x4c"
+ "\x2d\xe5\x0f\xd8\x07\xee\x50\xee\x3f\xaf\x74\x86\xcd\xc5\xf8\x34"
+ "\x0f\xeb\x32\x7f\x36\xcc\x03\xa8\xbc\xde\xd9\xf8\xfc\x01\x73\x83"
+ "\x74\x4a\x26\xdc\x70\x1a\x76\x71\x5a\xee\xac\x0b\xe0\xdb\x16\xd4"
+ "\x26\x7c\xfb\xb8\x96\x74\x00\x7d\xb8\x5c\x4a\x07\xfc\x9e\xc9\xff"
+ "\x4a\xd0\xaf\x86\x4b\xb0\xc6\x29\x8e\x3f\x2e\x9f\xa0\x33\xd3\xdf"
+ "\xb9\xe0\xd5\x48\xb9\xf0\x08\x7e\xae\xdd\xd0\x2e\xf5\x41\xd8\xa3"
+ "\x9a\xff\x76\x93\x04\x7a\xef\xd2\xf5\xb8\x05\xa1\x55\x8e\xe8\x03"
+ "\x9f\x6e\xd9\xc4\x75\xd0\xfe\x75\xd1\x77\x3f\x22\xbe\x2e\xc7\x27"
+ "\x10\x4e\x2c\xab\x2f\x38\x53\xcb\xe7\x27\x9d\xff\xd8\x86\xb7\xca"
+ "\xc1\x7e\xeb\x23\xd8\x8f\x5e\x85\xa3\x2a\xa3\xe6\xc8\x8f\x71\x30"
+ "\x98\x91\x1d\x11\x8d\x76\xdf\x42\xe8\x72\x6b\x41\x3a\x70\x46\x26"
+ "\x78\x16\xc8\x6a\x21\x66\x81\xdc\xec\xac\x3e\x5d\x8a\x9a\x01\x03"
+ "\xee\xee\x0a\x34\x1a\xad\xdc\xc9\x4f\x3d\x22\x3b\x48\x67\x43\x7d"
+ "\x7e\x53\x08\x91\x26\xbf\x7d\x60\x4a\xf4\xfb\x21\xcf\x74\xc9\xc6"
+ "\x47\x9b\x39\x58\x61\xde\x5d\x3c\xbe\x60\x2e\x2b\x6c\x08\x42\x3e"
+ "\xe3\x03\x76\x6d\xa8\xac\xba\x11\xb2\xce\x0f\xdb\x95\x6a\x33\xf4"
+ "\x00\xc9\x66\x13\xd4\x5f\xab\xe7\x1b\x17\x62\xa1\xe6\x4a\x82\x67"
+ "\x28\xa3\x7b\xf7\x4b\xfc\x57\xcb\x16\x3e\xfe\xb5\xa4\xef\x3b\x35"
+ "\xdd\x14\xd5\x48\x41\x5e\xa5\x62\xcc\x18\xba\x97\x6c\x75\xe9\x39"
+ "\x63\xd4\x9d\xce\x2d\x9d\x4c\xc3\x82\xb1\x31\x69\x91\x90\x3e\x6d"
+ "\x66\xc7\xea\xd3\x88\x02\xd3\x39\x10\x22\x04\x1a\xbf\xc5\x0d\x02"
+ "\xb8\x7c\x9a\x86\xc5\x04\x87\xef\xaf\x75\xe5\xc7\xe6\x21\xba\xa1"
+ "\xbd\x9c\x14\x90\xc3\x99\x80\xbb\x61\xe3\xe2\xc1\x79\xf0\xc6\x46"
+ "\x4f\x38\x86\x35\x93\x1a\x55\xd8\x76\x0f\x7c\xa2\xae\x3b\x6a\xa8"
+ "\xe4\x74\x74\xc2\x50\x38\xcf\xc5\xda\x85\xee\xe0\x2f\x23\x1a\x83"
+ "\x17\x54\xa7\x34\xa0\x1f\xd7\xd3\xb2\x53\xe3\x77\xfe\x8e\x97\x49"
+ "\xc5\x5b\xe0\x5f\xcb\x2c\x90\xe9\x09\x83\x40\x89\x81\x51\xf6\x40"
+ "\x64\x2c\x89\xca\xcf\x61\xda\x04\x0d\xaf\x3b\x48\xf9\x8a\xfa\x74"
+ "\x6a\x6a\xe5\x29\x5e\x3a\x6b\xee\xb5\x5e\xa3\x0c\x78\xf1\xe0\xcb"
+ "\x74\x69\x2c\x7b\xf6\x73\xc1\x53\x20\x8c\x15\x54\x03\x5d\x96\xe3"
+ "\x6a\x8d\x19\x5d\xec\x5a\xd4\xe3\x6b\x1a\x72\x27\x73\x73\xbb\x2e"
+ "\x7c\x4e\xbb\x63\x26\xdb\x9d\x9c\xde\x67\xd8\x50\x7c\x85\x1a\xff"
+ "\xf0\xd0\x12\x4d\x3e\x69\xb1\x2d\x2a\xd1\x28\x4a\xc9\x82\x1e\xd5"
+ "\xfc\xa3\x64\x0b\x2f\xcc\x4c\xef\x17\xa6\xe5\x0b\xd5\x76\xb4\x33"
+ "\xff\x3b\x3d\xc3\xb0\x28\xf7\x38\xf5\x7a\x76\x2c\x84\xf7\xcc\x4f"
+ "\x3a\xdf\x68\xab\xbc\x6b\x24\xac\x84\x8a\x09\x5e\x0d\x89\x9d\x85"
+ "\x98\xf5\x61\x60\x38\xb0\xdd\x86\xe1\xb5\x42\xa0\x6c\x25\x77\x28"
+ "\x8f\xf1\x21\xb3\xa8\xed\x8c\xfd\x18\xcf\x23\xae\x2a\x9f\x1c\x67"
+ "\xc3\x17\x48\x73\x3b\x6e\xbf\x02\x88\xed\x4d\xa2\x86\x07\x6a\x5d"
+ "\x16\x55\x3b\x87\x29\x88\xd0\x8d\xe3\x30\x3b\x89\x22\x5c\xa2\xb6"
+ "\xbb\xcf\xda\xd8\x1f\xe4\x7f\xa5\x50\xb9\x8b\xc2\x61\x73\x86\x61"
+ "\x92\x44\x1b\xc2\x9d\x34\x72\x81\x30\xca\x22\x83\x78\xe0\xa5\xb5"
+ "\x39\xba\xa3\x46\x7a\x4c\xd9\x2b\x5e\xaf\x42\xdf\xba\x80\x4a\x83"
+ "\x9c\x20\xe0\x86\x90\x88\x4e\xbf\x7b\xa6\x44\x3d\x7f\x9c\xbe\xc8"
+ "\xdf\x74\xe8\x2c\xf7\x4b\xc0\x06\x3f\x9e\x23\x30\xe8\x31\xc6\x07"
+ "\x5b\xc9\x26\xf1\x1c\xc8\xbe\xe3\xc7\xcb\x4f\x1b\x37\x09\xf0\xcf"
+ "\x0c\x5e\x1d\xac\x1c\xb8\x91\xcf\x0a\x54\x09\x6c\xa9\x4e\x9f\xa1"
+ "\x36\xde\x41\xa8\x67\xe4\x4c\x65\xc9\x28\x20\x0f\xbd\x49\x74\x7f"
+ "\x83\x26\x48\xb1\xe6\xca\x6f\xd8\x88\x27\x94\xdd\xa4\xaa\x03\x43"
+ "\xc6\x19\xab\x8b\x83\x78\x4f\x2a\x51\x34\x98\xff\x27\x6b\xda\x39"
+ "\xe4\x2e\xf6\xe9\xe7\xd6\x96\x86\x60\x3b\xc3\x80\xb8\xba\x51\x77"
+ "\x8a\x79\x07\x62\xb1\xaa\xa9\x58\x96\x54\x84\x04\x9e\xee\x24\x8d"
+ "\xf1\xac\x34\x03\x43\x8e\xd0\x92\xdc\x4d\xbc\xc7\x15\xdc\x82\xfc"
+ "\x19\x9b\x7e\x43\xe1\x36\xc5\x6b\xfb\xb8\x9e\xf4\x22\x5e\x29\x6f"
+ "\x4c\x45\xdd\xfe\xcb\x17\x77\xee\xd3\x6b\x80\x50\x96\xd0\x07\xa3"
+ "\xb2\xf0\x68\xc7\x40\xeb\x24\x16\x23\xa7\x57\xc4\xbb\x9c\x69\x16"
+ "\x49\x30\xb8\xd9\x4d\x41\x4e\x22\xc6\x24\x7f\x44\x59\x4e\x3c\x46"
+ "\x61\x64\x60\xc5\x82\xc2\x60\xc5\x63\xe7\xb3\xe1\xb9\xd1\x71\x65"
+ "\x32\xaa\x88\xa1\x4e\x98\xdb\x0b\x29\xe8\x5a\xa4\xbc\x61\x20\x62"
+ "\xbc\xea\xb0\x90\x3c\x2f\x29\xef\x74\x87\x4b\x1b\x36\xf7\x01\xde"
+ "\x30\xf0\x00\xe3\xd7\x2d\xf6\x52\x09\xe1\xe5\x84\x13\x04\xfe\x1f"
+ "\x2c\x1c\xeb\xfb\x2c\x40\x7d\x4d\xf5\x9c\x6e\x47\xe9\x2d\xb0\xca"
+ "\x88\x37\xf4\x8d\xbe\x50\xfb\xec\x5e\xee\x5d\x0f\x1a\x71\x42\xe3"
+ "\xc0\x9c\x57\xe3\x50\xba\x98\x0d\x79\xfa\x56\xe9\x7a\x09\x03\x75"
+ "\x21\x0f\x97\x69\xe0\xed\x9d\x10\x8f\x64\xdd\xd5\x10\xdc\x3b\x21"
+ "\x08\xc2\x7e\x7e\xac\x6e\x7c\x0b\xb9\x71\x65\x3e\xfa\x1c\xf3\x13"
+ "\xdc\x03\x9c\xf2\xa4\x21\xf1\xfc\x07\xaa\xef\xa0\x55\xd7\x21\xfc"
+ "\x0c\x17\x6a\x06\x57\x6b\x0e\x8e\x1d\xea\xb2\xc8\x23\xb3\xad\x42"
+ "\x00\x41\xe2\x9c\x1f\x2e\xa8\x51\x19\x3d\xdb\x24\x73\x4a\x8f\x08"
+ "\x74\xb5\x6b\x58\x48\x7a\x4e\x7b\xa6\x5c\x4b\x81\xd6\x38\xf9\xe5"
+ "\x66\xe3\x15\x9a\x74\x49\x68\x8e\x5b\x1e\xdd\x3f\x4f\xc8\xe3\x0c"
+ "\x73\x32\xf0\x35\x16\x8c\xd9\x84\xc3\x9a\x65\x16\x93\x65\x0f\x47"
+ "\x15\x97\xc8\xb4\x6a\x7f\x91\x0a\x05\xf2\x08\x36\xf0\x7e\x2c\xcb"
+ "\x79\xc4\xc4\xcb\x5a\xa0\x25\xc9\xe9\xac\x35\x8f\x56\xf6\x87\x4e"
+ "\x9b\x4b\x9d\x1a\x38\xb0\x43\x41\x94\x07\x17\x78\xec\xd3\x8c\x89"
+ "\x58\x09\xef\x07\xe1\xd8\x65\x97\x3e\xce\x61\xad\x51\x0a\x48\x3d"
+ "\x64\xd5\x6e\xa1\xe5\x86\x06\xb7\x22\xcd\x03\x44\xec\x94\x52\x15"
+ "\x5d\xf6\x9b\xc6\xb6\x22\x49\x5e\xb1\xdb\x01\x24\xd2\xc2\xac\x13"
+ "\xdc\xec\xb3\x93\x4c\x88\x3b\x11\x6d\x77\xab\x44\x67\x8c\xca\xa8"
+ "\x18\x47\xe3\xdc\x58\x13\x45\x43\xb3\x7f\xdf\x3a\xdf\xef\x0e\x4f"
+ "\xc0\xf3\x95\xb6\x7d\xdf\x97\xd7\x0d\x03\x9d\x14\x76\xd6\xae\x5f"
+ "\xb4\x13\x7f\x2a\xdb\x00\xa2\xe7\xfd\x33\xa6\x4d\x3f\xc1\x14\x58"
+ "\x7c\x55\x30\x6a\xae\x71\x0f\x73\xe3\x64\x1f\xc5\x2e\x6f\x82\x82"
+ "\x62\xd2\x02\xde\xf8\x29\x1e\xd5\x71\x3a\xbe\xcd\x43\xf8\x71\x5e"
+ "\xa1\xce\x68\xca\xcb\x23\xfa\x83\xba\xc2\x0f\x9b\x6b\x86\x5d\x9f",
+ STR(iv, iv_size,
+ "\x12\x34\x56\x78\x90\xab\xce\xf0\x00\x00\x00\x00\x00\x00\x00\x00"),
+} };
const struct cipher_vectors_st aes128_xts_vectors[] = {
{
- STR(key, key_size,
- "\xa1\xb9\x0c\xba\x3f\x06\xac\x35\x3b\x2c\x34\x38\x76\x08\x17\x62"
- "\x09\x09\x23\x02\x6e\x91\x77\x18\x15\xf2\x9d\xab\x01\x93\x2f\x2f"),
- STR(plaintext, plaintext_size,
- "\xeb\xab\xce\x95\xb1\x4d\x3c\x8d\x6f\xb3\x50\x39\x07\x90\x31\x1c"),
- .ciphertext = (uint8_t *)
- "\x77\x8a\xe8\xb4\x3c\xb9\x8d\x5a\x82\x50\x81\xd5\xbe\x47\x1c\x63",
- STR(iv, iv_size,
- "\x4f\xae\xf7\x11\x7c\xda\x59\xc6\x6e\x4b\x92\x01\x3e\x76\x8a\xd5"),
- },
- {
- STR(key, key_size,
- "\x75\x03\x72\xc3\xd8\x2f\x63\x38\x28\x67\xbe\x66\x62\xac\xfa\x4a"
- "\x25\x9b\xe3\xfa\x9b\xc6\x62\xa1\x15\x4f\xfa\xae\xd8\xb4\x48\xa5"),
- STR(plaintext, plaintext_size,
- "\xd8\xe3\xa5\x65\x59\xa4\x36\xce\x0d\x8b\x21\x2c\x80\xa8\x8b\x23"
- "\xaf\x62\xb0\xe5\x98\xf2\x08\xe0\x3c\x1f\x2e\x9f\xa5\x63\xa5\x4b"),
- .ciphertext = (uint8_t *)
- "\x49\x5f\x78\x55\x53\x5e\xfd\x13\x34\x64\xdc\x9a\x9a\xbf\x8a\x0f"
- "\x28\xfa\xcb\xce\x21\xbd\x3c\x22\x17\x8e\xc4\x89\xb7\x99\xe4\x91",
- STR(iv, iv_size,
- "\x93\xa2\x92\x54\xc4\x7e\x42\x60\x66\x96\x21\x30\x7d\x4f\x5c\xd3"),
- },
+ STR(key, key_size,
+ "\xa1\xb9\x0c\xba\x3f\x06\xac\x35\x3b\x2c\x34\x38\x76\x08\x17\x62"
+ "\x09\x09\x23\x02\x6e\x91\x77\x18\x15\xf2\x9d\xab\x01\x93\x2f\x2f"),
+ STR(plaintext, plaintext_size,
+ "\xeb\xab\xce\x95\xb1\x4d\x3c\x8d\x6f\xb3\x50\x39\x07\x90\x31\x1c"),
+ .ciphertext =
+ (uint8_t *)"\x77\x8a\xe8\xb4\x3c\xb9\x8d\x5a\x82\x50\x81\xd5\xbe\x47\x1c\x63",
+ STR(iv, iv_size,
+ "\x4f\xae\xf7\x11\x7c\xda\x59\xc6\x6e\x4b\x92\x01\x3e\x76\x8a\xd5"),
+ },
+ {
+ STR(key, key_size,
+ "\x75\x03\x72\xc3\xd8\x2f\x63\x38\x28\x67\xbe\x66\x62\xac\xfa\x4a"
+ "\x25\x9b\xe3\xfa\x9b\xc6\x62\xa1\x15\x4f\xfa\xae\xd8\xb4\x48\xa5"),
+ STR(plaintext, plaintext_size,
+ "\xd8\xe3\xa5\x65\x59\xa4\x36\xce\x0d\x8b\x21\x2c\x80\xa8\x8b\x23"
+ "\xaf\x62\xb0\xe5\x98\xf2\x08\xe0\x3c\x1f\x2e\x9f\xa5\x63\xa5\x4b"),
+ .ciphertext =
+ (uint8_t *)"\x49\x5f\x78\x55\x53\x5e\xfd\x13\x34\x64\xdc\x9a\x9a\xbf\x8a\x0f"
+ "\x28\xfa\xcb\xce\x21\xbd\x3c\x22\x17\x8e\xc4\x89\xb7\x99\xe4\x91",
+ STR(iv, iv_size,
+ "\x93\xa2\x92\x54\xc4\x7e\x42\x60\x66\x96\x21\x30\x7d\x4f\x5c\xd3"),
+ },
};
const struct cipher_vectors_st aes256_xts_vectors[] = {
{
- STR(key, key_size,
- "\x1e\xa6\x61\xc5\x8d\x94\x3a\x0e\x48\x01\xe4\x2f\x4b\x09\x47\x14"
- "\x9e\x7f\x9f\x8e\x3e\x68\xd0\xc7\x50\x52\x10\xbd\x31\x1a\x0e\x7c"
- "\xd6\xe1\x3f\xfd\xf2\x41\x8d\x8d\x19\x11\xc0\x04\xcd\xa5\x8d\xa3"
- "\xd6\x19\xb7\xe2\xb9\x14\x1e\x58\x31\x8e\xea\x39\x2c\xf4\x1b\x08"),
- STR(plaintext, plaintext_size,
- "\x2e\xed\xea\x52\xcd\x82\x15\xe1\xac\xc6\x47\xe8\x10\xbb\xc3\x64"
- "\x2e\x87\x28\x7f\x8d\x2e\x57\xe3\x6c\x0a\x24\xfb\xc1\x2a\x20\x2e"),
- .ciphertext = (uint8_t *)
- "\xcb\xaa\xd0\xe2\xf6\xce\xa3\xf5\x0b\x37\xf9\x34\xd4\x6a\x9b\x13"
- "\x0b\x9d\x54\xf0\x7e\x34\xf3\x6a\xf7\x93\xe8\x6f\x73\xc6\xd7\xdb",
- STR(iv, iv_size,
- "\xad\xf8\xd9\x26\x27\x46\x4a\xd2\xf0\x42\x8e\x84\xa9\xf8\x75\x64"),
- },
-};
-
-const struct cipher_aead_vectors_st aes128_siv_vectors[] = {
- {
- STR(key, key_size,
- "\x7f\x7e\x7d\x7c\x7b\x7a\x79\x78\x77\x76\x75\x74\x73\x72\x71\x70"
- "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"),
- STR(auth, auth_size,
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff"
- "\xde\xad\xda\xda\xde\xad\xda\xda\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x77\x66\x55\x44\x33\x22\x11\x00"),
- STR(plaintext, plaintext_size,
- "\x74\x68\x69\x73\x20\x69\x73\x20\x73\x6f\x6d\x65\x20\x70\x6c\x61"
- "\x69\x6e\x74\x65\x78\x74\x20\x74\x6f\x20\x65\x6e\x63\x72\x79\x70"
- "\x74\x20\x75\x73\x69\x6e\x67\x20\x53\x49\x56\x2d\x41\x45\x53"),
- .ciphertext = (uint8_t *)
- "\xa4\xff\xb8\x7f\xdb\xa9\x7c\x89\x44\xa6\x23\x25\xf1\x33\xb4\xe0"
- "\x1c\xa5\x52\x76\xe2\x26\x1c\x1a\x1d\x1d\x42\x48\xd1\xda\x30\xba"
- "\x52\xb9\xc8\xd7\x95\x5d\x65\xc8\xd2\xce\x6e\xb7\xe3\x67\xd0",
- STR(iv, iv_size,
- "\x02\x03\x04"),
- .tag_size = 16,
- .tag = (void *)
- "\xf1\xdb\xa3\x3d\xe5\xb3\x36\x9e\x88\x3f\x67\xb6\xfc\x82\x3c\xee",
- .tag_prepended = 1,
- }
-};
-
-const struct cipher_aead_vectors_st aes256_siv_vectors[] = {
- {
- STR(key, key_size,
- "\xc2\x7d\xf2\xfd\xae\xc3\x5d\x4a\x2a\x41\x2a\x50\xc3\xe8\xc4\x7d"
- "\x2d\x56\x8e\x91\xa3\x8e\x54\x14\x8a\xbd\xc0\xb6\xe8\x6c\xaf\x87"
- "\x69\x5c\x0a\x8a\xdf\x4c\x5f\x8e\xb2\xc6\xc8\xb1\x36\x52\x98\x64"
- "\xf3\xb8\x4b\x3a\xe8\xe3\x67\x6c\xe7\x60\xc4\x61\xf3\xa1\x3e\x83"),
- STR(auth, auth_size,
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff"
- "\xde\xad\xda\xda\xde\xad\xda\xda\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x77\x66\x55\x44\x33\x22\x11\x00"),
- STR(plaintext, plaintext_size,
- "\x74\x68\x69\x73\x20\x69\x73\x20\x73\x6f\x6d\x65\x20\x70\x6c\x61"
- "\x69\x6e\x74\x65\x78\x74\x20\x74\x6f\x20\x65\x6e\x63\x72\x79\x70"
- "\x74\x20\x75\x73\x69\x6e\x67\x20\x53\x49\x56\x2d\x41\x45\x53"),
- .ciphertext = (uint8_t *)
- "\x50\x93\x3d\xa8\x04\x7b\xc3\x06\xfa\xba\xf0\xc3\xd9\xfa\x84\x71"
- "\xc7\x0a\x7d\xef\x39\xa2\xf9\x1d\x68\xa2\x02\x1c\x99\xac\x7e\x2a\x24"
- "\x53\x5a\x13\x4b\xa2\x3e\xc1\x57\x87\xce\xbe\x5c\x53\xcc",
- STR(iv, iv_size,
- "\x09\xf9\x11\x02\x9d\x74\xe3\x5b\xd8\x41\x56\xc5\x63\x56\x88\xc0"),
- .tag_size = 16,
- .tag = (void *)
- "\x5a\x97\x9b\x0d\xa5\x8f\xde\x80\x51\x62\x1a\xe6\xbf\x96\xfe\xda",
- .tag_prepended = 1,
- }
-};
-
-const struct cipher_vectors_st chacha20_32_vectors[] = { /* RFC8439 */
- {
- STR(key, key_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
- STR(plaintext, plaintext_size,
- "\x4c\x61\x64\x69\x65\x73\x20\x61\x6e\x64\x20\x47\x65\x6e\x74\x6c\x65\x6d\x65\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x63\x6c\x61\x73\x73\x20\x6f\x66\x20\x27\x39\x39\x3a\x20\x49\x66\x20\x49\x20\x63\x6f\x75\x6c\x64\x20\x6f\x66\x66\x65\x72\x20\x79\x6f\x75\x20\x6f\x6e\x6c\x79\x20\x6f\x6e\x65\x20\x74\x69\x70\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x66\x75\x74\x75\x72\x65\x2c\x20\x73\x75\x6e\x73\x63\x72\x65\x65\x6e\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x69\x74\x2e"),
- .ciphertext = (uint8_t *)
- "\x6e\x2e\x35\x9a\x25\x68\xf9\x80\x41\xba\x07\x28\xdd\x0d\x69\x81\xe9\x7e\x7a\xec\x1d\x43\x60\xc2\x0a\x27\xaf\xcc\xfd\x9f\xae\x0b\xf9\x1b\x65\xc5\x52\x47\x33\xab\x8f\x59\x3d\xab\xcd\x62\xb3\x57\x16\x39\xd6\x24\xe6\x51\x52\xab\x8f\x53\x0c\x35\x9f\x08\x61\xd8\x07\xca\x0d\xbf\x50\x0d\x6a\x61\x56\xa3\x8e\x08\x8a\x22\xb6\x5e\x52\xbc\x51\x4d\x16\xcc\xf8\x06\x81\x8c\xe9\x1a\xb7\x79\x37\x36\x5a\xf9\x0b\xbf\x74\xa3\x5b\xe6\xb4\x0b\x8e\xed\xf2\x78\x5e\x42\x87\x4d",
- STR(iv, iv_size,
- "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00")
- },
+ STR(key, key_size,
+ "\x1e\xa6\x61\xc5\x8d\x94\x3a\x0e\x48\x01\xe4\x2f\x4b\x09\x47\x14"
+ "\x9e\x7f\x9f\x8e\x3e\x68\xd0\xc7\x50\x52\x10\xbd\x31\x1a\x0e\x7c"
+ "\xd6\xe1\x3f\xfd\xf2\x41\x8d\x8d\x19\x11\xc0\x04\xcd\xa5\x8d\xa3"
+ "\xd6\x19\xb7\xe2\xb9\x14\x1e\x58\x31\x8e\xea\x39\x2c\xf4\x1b\x08"),
+ STR(plaintext, plaintext_size,
+ "\x2e\xed\xea\x52\xcd\x82\x15\xe1\xac\xc6\x47\xe8\x10\xbb\xc3\x64"
+ "\x2e\x87\x28\x7f\x8d\x2e\x57\xe3\x6c\x0a\x24\xfb\xc1\x2a\x20\x2e"),
+ .ciphertext =
+ (uint8_t *)"\xcb\xaa\xd0\xe2\xf6\xce\xa3\xf5\x0b\x37\xf9\x34\xd4\x6a\x9b\x13"
+ "\x0b\x9d\x54\xf0\x7e\x34\xf3\x6a\xf7\x93\xe8\x6f\x73\xc6\xd7\xdb",
+ STR(iv, iv_size,
+ "\xad\xf8\xd9\x26\x27\x46\x4a\xd2\xf0\x42\x8e\x84\xa9\xf8\x75\x64"),
+ },
+};
+
+const struct cipher_aead_vectors_st aes128_siv_vectors[] = { {
+ STR(key, key_size,
+ "\x7f\x7e\x7d\x7c\x7b\x7a\x79\x78\x77\x76\x75\x74\x73\x72\x71\x70"
+ "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"),
+ STR(auth, auth_size,
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff"
+ "\xde\xad\xda\xda\xde\xad\xda\xda\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x77\x66\x55\x44\x33\x22\x11\x00"),
+ STR(plaintext, plaintext_size,
+ "\x74\x68\x69\x73\x20\x69\x73\x20\x73\x6f\x6d\x65\x20\x70\x6c\x61"
+ "\x69\x6e\x74\x65\x78\x74\x20\x74\x6f\x20\x65\x6e\x63\x72\x79\x70"
+ "\x74\x20\x75\x73\x69\x6e\x67\x20\x53\x49\x56\x2d\x41\x45\x53"),
+ .ciphertext =
+ (uint8_t *)"\xa4\xff\xb8\x7f\xdb\xa9\x7c\x89\x44\xa6\x23\x25\xf1\x33\xb4\xe0"
+ "\x1c\xa5\x52\x76\xe2\x26\x1c\x1a\x1d\x1d\x42\x48\xd1\xda\x30\xba"
+ "\x52\xb9\xc8\xd7\x95\x5d\x65\xc8\xd2\xce\x6e\xb7\xe3\x67\xd0",
+ STR(iv, iv_size, "\x02\x03\x04"),
+ .tag_size = 16,
+ .tag = (void *)"\xf1\xdb\xa3\x3d\xe5\xb3\x36\x9e\x88\x3f\x67\xb6\xfc\x82\x3c\xee",
+ .tag_prepended = 1,
+} };
+
+const struct cipher_aead_vectors_st aes256_siv_vectors[] = { {
+ STR(key, key_size,
+ "\xc2\x7d\xf2\xfd\xae\xc3\x5d\x4a\x2a\x41\x2a\x50\xc3\xe8\xc4\x7d"
+ "\x2d\x56\x8e\x91\xa3\x8e\x54\x14\x8a\xbd\xc0\xb6\xe8\x6c\xaf\x87"
+ "\x69\x5c\x0a\x8a\xdf\x4c\x5f\x8e\xb2\xc6\xc8\xb1\x36\x52\x98\x64"
+ "\xf3\xb8\x4b\x3a\xe8\xe3\x67\x6c\xe7\x60\xc4\x61\xf3\xa1\x3e\x83"),
+ STR(auth, auth_size,
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff"
+ "\xde\xad\xda\xda\xde\xad\xda\xda\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x77\x66\x55\x44\x33\x22\x11\x00"),
+ STR(plaintext, plaintext_size,
+ "\x74\x68\x69\x73\x20\x69\x73\x20\x73\x6f\x6d\x65\x20\x70\x6c\x61"
+ "\x69\x6e\x74\x65\x78\x74\x20\x74\x6f\x20\x65\x6e\x63\x72\x79\x70"
+ "\x74\x20\x75\x73\x69\x6e\x67\x20\x53\x49\x56\x2d\x41\x45\x53"),
+ .ciphertext =
+ (uint8_t *)"\x50\x93\x3d\xa8\x04\x7b\xc3\x06\xfa\xba\xf0\xc3\xd9\xfa\x84\x71"
+ "\xc7\x0a\x7d\xef\x39\xa2\xf9\x1d\x68\xa2\x02\x1c\x99\xac\x7e\x2a\x24"
+ "\x53\x5a\x13\x4b\xa2\x3e\xc1\x57\x87\xce\xbe\x5c\x53\xcc",
+ STR(iv, iv_size,
+ "\x09\xf9\x11\x02\x9d\x74\xe3\x5b\xd8\x41\x56\xc5\x63\x56\x88\xc0"),
+ .tag_size = 16,
+ .tag = (void *)"\x5a\x97\x9b\x0d\xa5\x8f\xde\x80\x51\x62\x1a\xe6\xbf\x96\xfe\xda",
+ .tag_prepended = 1,
+} };
+
+const struct cipher_vectors_st chacha20_32_vectors[] = {
+ /* RFC8439 */
+ { STR(key, key_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
+ STR(plaintext, plaintext_size,
+ "\x4c\x61\x64\x69\x65\x73\x20\x61\x6e\x64\x20\x47\x65\x6e\x74\x6c\x65\x6d\x65\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x63\x6c\x61\x73\x73\x20\x6f\x66\x20\x27\x39\x39\x3a\x20\x49\x66\x20\x49\x20\x63\x6f\x75\x6c\x64\x20\x6f\x66\x66\x65\x72\x20\x79\x6f\x75\x20\x6f\x6e\x6c\x79\x20\x6f\x6e\x65\x20\x74\x69\x70\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x66\x75\x74\x75\x72\x65\x2c\x20\x73\x75\x6e\x73\x63\x72\x65\x65\x6e\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x69\x74\x2e"),
+ .ciphertext =
+ (uint8_t *)"\x6e\x2e\x35\x9a\x25\x68\xf9\x80\x41\xba\x07\x28\xdd\x0d\x69\x81\xe9\x7e\x7a\xec\x1d\x43\x60\xc2\x0a\x27\xaf\xcc\xfd\x9f\xae\x0b\xf9\x1b\x65\xc5\x52\x47\x33\xab\x8f\x59\x3d\xab\xcd\x62\xb3\x57\x16\x39\xd6\x24\xe6\x51\x52\xab\x8f\x53\x0c\x35\x9f\x08\x61\xd8\x07\xca\x0d\xbf\x50\x0d\x6a\x61\x56\xa3\x8e\x08\x8a\x22\xb6\x5e\x52\xbc\x51\x4d\x16\xcc\xf8\x06\x81\x8c\xe9\x1a\xb7\x79\x37\x36\x5a\xf9\x0b\xbf\x74\xa3\x5b\xe6\xb4\x0b\x8e\xed\xf2\x78\x5e\x42\x87\x4d",
+ STR(iv, iv_size,
+ "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00") },
};
static int test_cipher(gnutls_cipher_algorithm_t cipher,
@@ -1359,24 +1292,22 @@ static int test_cipher(gnutls_cipher_algorithm_t cipher,
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
- ret =
- gnutls_cipher_encrypt2(hd,
- vectors[i].plaintext,
- vectors[i].plaintext_size,
- tmp, sizeof(tmp));
+ ret = gnutls_cipher_encrypt2(hd, vectors[i].plaintext,
+ vectors[i].plaintext_size, tmp,
+ sizeof(tmp));
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
- if (memcmp
- (tmp, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
+ if (memcmp(tmp, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
_gnutls_debug_log("%s test vector %d failed!\n",
gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
/* check in-place encryption */
- if (cipher != GNUTLS_CIPHER_ARCFOUR_128) { /* arcfour is stream */
+ if (cipher !=
+ GNUTLS_CIPHER_ARCFOUR_128) { /* arcfour is stream */
if (cipher == GNUTLS_CIPHER_MAGMA_CTR_ACPKM ||
cipher == GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM)
_gnutls_cipher_set_key(hd,
@@ -1387,21 +1318,19 @@ static int test_cipher(gnutls_cipher_algorithm_t cipher,
memcpy(tmp, vectors[i].plaintext,
vectors[i].plaintext_size);
- ret =
- gnutls_cipher_encrypt(hd, tmp,
- vectors[i].plaintext_size);
+ ret = gnutls_cipher_encrypt(hd, tmp,
+ vectors[i].plaintext_size);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
-
- if (memcmp
- (tmp, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s vector %d in-place encryption failed!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
+
+ if (memcmp(tmp, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s vector %d in-place encryption failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
@@ -1409,15 +1338,15 @@ static int test_cipher(gnutls_cipher_algorithm_t cipher,
if (vectors[i].internal_iv_size > 0) {
ret = _gnutls_cipher_get_iv(hd, tmp, sizeof(tmp));
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
if (memcmp(tmp, vectors[i].internal_iv, ret) != 0) {
- _gnutls_debug_log
- ("%s vector %d internal IV check failed!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "%s vector %d internal IV check failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
@@ -1436,28 +1365,26 @@ static int test_cipher(gnutls_cipher_algorithm_t cipher,
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
- ret =
- gnutls_cipher_decrypt2(hd,
- vectors[i].ciphertext,
- vectors[i].plaintext_size, tmp,
- sizeof(tmp));
+ ret = gnutls_cipher_decrypt2(hd, vectors[i].ciphertext,
+ vectors[i].plaintext_size, tmp,
+ sizeof(tmp));
if (ret < 0) {
- _gnutls_debug_log
- ("%s decryption of test vector %d failed!\n",
- gnutls_cipher_get_name(cipher), i);
+ _gnutls_debug_log(
+ "%s decryption of test vector %d failed!\n",
+ gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
- if (memcmp
- (tmp, vectors[i].plaintext,
- vectors[i].plaintext_size) != 0) {
+ if (memcmp(tmp, vectors[i].plaintext,
+ vectors[i].plaintext_size) != 0) {
_gnutls_debug_log("%s test vector %d failed!\n",
gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
/* check in-place decryption */
- if (cipher != GNUTLS_CIPHER_ARCFOUR_128) { /* arcfour is stream */
+ if (cipher !=
+ GNUTLS_CIPHER_ARCFOUR_128) { /* arcfour is stream */
if (cipher == GNUTLS_CIPHER_MAGMA_CTR_ACPKM ||
cipher == GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM)
_gnutls_cipher_set_key(hd,
@@ -1468,29 +1395,27 @@ static int test_cipher(gnutls_cipher_algorithm_t cipher,
memcpy(tmp, vectors[i].ciphertext,
vectors[i].plaintext_size);
- ret =
- gnutls_cipher_decrypt(hd, tmp,
- vectors[i].plaintext_size);
+ ret = gnutls_cipher_decrypt(hd, tmp,
+ vectors[i].plaintext_size);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
-
- if (memcmp
- (tmp, vectors[i].plaintext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s vector %d in-place decryption failed!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
+
+ if (memcmp(tmp, vectors[i].plaintext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s vector %d in-place decryption failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
gnutls_cipher_deinit(hd);
}
- _gnutls_debug_log
- ("%s self check succeeded\n", gnutls_cipher_get_name(cipher));
+ _gnutls_debug_log("%s self check succeeded\n",
+ gnutls_cipher_get_name(cipher));
return 0;
}
@@ -1516,48 +1441,39 @@ static int test_cipher_all_block_sizes(gnutls_cipher_algorithm_t cipher,
iv.size = gnutls_cipher_get_iv_size(cipher);
if (iv.size != vectors[i].iv_size)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
ret = gnutls_cipher_init(&hd, cipher, &key, &iv);
if (ret < 0) {
- _gnutls_debug_log("error initializing: %s\n",
- gnutls_cipher_get_name
- (cipher));
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "error initializing: %s\n",
+ gnutls_cipher_get_name(cipher));
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
- for (offset = 0;
- offset < vectors[i].plaintext_size;
+ for (offset = 0; offset < vectors[i].plaintext_size;
offset += block) {
- ret =
- gnutls_cipher_encrypt2(hd,
- vectors[i].plaintext
- + offset, MIN(block,
- vectors
- [i].plaintext_size
- -
- offset),
- tmp + offset,
- sizeof(tmp) -
- offset);
+ ret = gnutls_cipher_encrypt2(
+ hd, vectors[i].plaintext + offset,
+ MIN(block,
+ vectors[i].plaintext_size - offset),
+ tmp + offset, sizeof(tmp) - offset);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
- if (memcmp
- (tmp, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s encryption of test vector %d failed with block size %d/%d!\n",
- gnutls_cipher_get_name(cipher), i,
- (int)block,
- (int)vectors[i].plaintext_size);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ if (memcmp(tmp, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s encryption of test vector %d failed with block size %d/%d!\n",
+ gnutls_cipher_get_name(cipher), i,
+ (int)block,
+ (int)vectors[i].plaintext_size);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
gnutls_cipher_deinit(hd);
@@ -1574,46 +1490,38 @@ static int test_cipher_all_block_sizes(gnutls_cipher_algorithm_t cipher,
ret = gnutls_cipher_init(&hd, cipher, &key, &iv);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
for (offset = 0;
offset + block <= vectors[i].plaintext_size;
offset += block) {
- ret =
- gnutls_cipher_decrypt2(hd,
- vectors[i].ciphertext
- + offset, MIN(block,
- vectors
- [i].plaintext_size
- -
- offset),
- tmp + offset,
- sizeof(tmp) -
- offset);
+ ret = gnutls_cipher_decrypt2(
+ hd, vectors[i].ciphertext + offset,
+ MIN(block,
+ vectors[i].plaintext_size - offset),
+ tmp + offset, sizeof(tmp) - offset);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
- if (memcmp
- (tmp, vectors[i].plaintext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s decryption of test vector %d failed with block size %d!\n",
- gnutls_cipher_get_name(cipher), i,
- (int)block);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ if (memcmp(tmp, vectors[i].plaintext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s decryption of test vector %d failed with block size %d!\n",
+ gnutls_cipher_get_name(cipher), i,
+ (int)block);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
gnutls_cipher_deinit(hd);
}
}
- _gnutls_debug_log
- ("%s self check succeeded\n", gnutls_cipher_get_name(cipher));
+ _gnutls_debug_log("%s self check succeeded\n",
+ gnutls_cipher_get_name(cipher));
return 0;
}
@@ -1650,64 +1558,59 @@ static int test_cipher_aead_compat(gnutls_cipher_algorithm_t cipher,
ret = gnutls_cipher_init(&hd, cipher, &key, &iv);
if (ret < 0) {
if (vectors[i].compat_apis == 0) {
- return 0; /* expected */
+ return 0; /* expected */
} else {
- _gnutls_debug_log
- ("compat: error initializing: %s\n",
- gnutls_cipher_get_name(cipher));
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "compat: error initializing: %s\n",
+ gnutls_cipher_get_name(cipher));
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
if (vectors[i].compat_apis == 0) {
- _gnutls_debug_log
- ("compat: initialized but shouldn't: %s\n",
- gnutls_cipher_get_name(cipher));
+ _gnutls_debug_log(
+ "compat: initialized but shouldn't: %s\n",
+ gnutls_cipher_get_name(cipher));
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
if (vectors[i].auth_size) {
- ret =
- gnutls_cipher_add_auth(hd, vectors[i].auth,
- vectors[i].auth_size);
+ ret = gnutls_cipher_add_auth(hd, vectors[i].auth,
+ vectors[i].auth_size);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
- ret =
- gnutls_cipher_encrypt2(hd, vectors[i].plaintext,
- vectors[i].plaintext_size, tmp,
- sizeof(tmp));
+ ret = gnutls_cipher_encrypt2(hd, vectors[i].plaintext,
+ vectors[i].plaintext_size, tmp,
+ sizeof(tmp));
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
- ret =
- gnutls_cipher_tag(hd, tmp + vectors[i].plaintext_size,
- tag_size);
+ ret = gnutls_cipher_tag(hd, tmp + vectors[i].plaintext_size,
+ tag_size);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
- if (memcmp
- (tmp + vectors[i].plaintext_size, vectors[i].tag,
- tag_size) != 0) {
- _gnutls_debug_log
- ("compat: %s test vector %d failed (tag)!\n",
- gnutls_cipher_get_name(cipher), i);
+ if (memcmp(tmp + vectors[i].plaintext_size, vectors[i].tag,
+ tag_size) != 0) {
+ _gnutls_debug_log(
+ "compat: %s test vector %d failed (tag)!\n",
+ gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
if (vectors[i].plaintext_size > 0) {
- if (memcmp
- (tmp, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("compat: %s test vector %d failed!\n",
- gnutls_cipher_get_name(cipher), i);
-
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ if (memcmp(tmp, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "compat: %s test vector %d failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
@@ -1718,19 +1621,18 @@ static int test_cipher_aead_compat(gnutls_cipher_algorithm_t cipher,
memcpy(tmp2, vectors[i].plaintext,
vectors[i].plaintext_size);
- ret =
- gnutls_cipher_encrypt(hd, tmp2,
- vectors[i].plaintext_size);
+ ret = gnutls_cipher_encrypt(hd, tmp2,
+ vectors[i].plaintext_size);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
if (memcmp(tmp, tmp2, vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("compat: %s vector %d in-place encryption failed!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "compat: %s vector %d in-place encryption failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
/* check decryption with separate buffers */
@@ -1738,32 +1640,28 @@ static int test_cipher_aead_compat(gnutls_cipher_algorithm_t cipher,
vectors[i].iv_size);
if (vectors[i].auth_size) {
- ret =
- gnutls_cipher_add_auth(hd, vectors[i].auth,
- vectors
- [i].auth_size);
+ ret = gnutls_cipher_add_auth(
+ hd, vectors[i].auth,
+ vectors[i].auth_size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
- ret =
- gnutls_cipher_decrypt2(hd, tmp,
- vectors[i].plaintext_size,
- tmp2, sizeof(tmp2));
+ ret = gnutls_cipher_decrypt2(hd, tmp,
+ vectors[i].plaintext_size,
+ tmp2, sizeof(tmp2));
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
-
- if (memcmp
- (tmp2, vectors[i].plaintext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("compat: %s test vector %d failed (decryption)!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
+
+ if (memcmp(tmp2, vectors[i].plaintext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "compat: %s test vector %d failed (decryption)!\n",
+ gnutls_cipher_get_name(cipher), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
/* check in-place decryption */
@@ -1772,37 +1670,29 @@ static int test_cipher_aead_compat(gnutls_cipher_algorithm_t cipher,
vectors[i].iv_size);
if (vectors[i].auth_size) {
- ret =
- gnutls_cipher_add_auth(hd,
- vectors
- [i].auth,
- vectors
- [i].auth_size);
+ ret = gnutls_cipher_add_auth(
+ hd, vectors[i].auth,
+ vectors[i].auth_size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
memcpy(tmp2, tmp, vectors[i].plaintext_size);
- ret =
- gnutls_cipher_decrypt(hd, tmp2,
- vectors
- [i].plaintext_size);
+ ret = gnutls_cipher_decrypt(
+ hd, tmp2, vectors[i].plaintext_size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
-
- if (memcmp
- (tmp2, vectors[i].plaintext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("compat: %s vector %d in-place decryption failed!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
+
+ if (memcmp(tmp2, vectors[i].plaintext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "compat: %s vector %d in-place decryption failed!\n",
+ gnutls_cipher_get_name(cipher),
+ i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
}
@@ -1810,19 +1700,18 @@ static int test_cipher_aead_compat(gnutls_cipher_algorithm_t cipher,
gnutls_cipher_deinit(hd);
}
- _gnutls_debug_log
- ("%s compat self check succeeded\n",
- gnutls_cipher_get_name(cipher));
+ _gnutls_debug_log("%s compat self check succeeded\n",
+ gnutls_cipher_get_name(cipher));
return 0;
-
}
#define IOV_PARTS 8
/* AEAD modes - scatter read */
-static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const struct cipher_aead_vectors_st
- *vectors, size_t vectors_size,
- unsigned flags)
+static int
+test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher,
+ const struct cipher_aead_vectors_st *vectors,
+ size_t vectors_size, unsigned flags)
{
gnutls_aead_cipher_hd_t hd;
int ret;
@@ -1872,12 +1761,10 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
iov[0].iov_base = (void *)vectors[i].plaintext;
iov[0].iov_len = vectors[i].plaintext_size;
- ret =
- gnutls_aead_cipher_encryptv(hd,
- iv.data, iv.size,
- auth_iov, auth_iov_len,
- vectors[i].tag_size,
- iov, iov_len, tmp, &s);
+ ret = gnutls_aead_cipher_encryptv(hd, iv.data, iv.size,
+ auth_iov, auth_iov_len,
+ vectors[i].tag_size, iov,
+ iov_len, tmp, &s);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
@@ -1891,9 +1778,8 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
tag = tmp + vectors[i].plaintext_size;
if (memcmp(tag, vectors[i].tag, tag_size) != 0) {
- _gnutls_debug_log
- ("%s test vector %d failed (tag)!\n",
- gnutls_cipher_get_name(cipher), i);
+ _gnutls_debug_log("%s test vector %d failed (tag)!\n",
+ gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
@@ -1903,15 +1789,14 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
ciphertext = tmp;
if (vectors[i].plaintext_size > 0) {
- if (memcmp
- (ciphertext, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s test vector %d failed!\n",
- gnutls_cipher_get_name(cipher), i);
-
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ if (memcmp(ciphertext, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s test vector %d failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
@@ -1922,10 +1807,11 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
assert(split > 0);
for (z = 0; z < IOV_PARTS; z++) {
auth_iov[z].iov_base =
- (void *)(vectors[i].auth + (z * split));
+ (void *)(vectors[i].auth + (z * split));
if (z == IOV_PARTS - 1)
auth_iov[z].iov_len =
- vectors[i].auth_size - z * split;
+ vectors[i].auth_size -
+ z * split;
else
auth_iov[z].iov_len = split;
auth_iov_len++;
@@ -1943,12 +1829,12 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
for (z = 0; z < IOV_PARTS; z++) {
iov[z].iov_base =
- (void *)(vectors[i].plaintext +
- (z * split));
+ (void *)(vectors[i].plaintext +
+ (z * split));
if (z == IOV_PARTS - 1)
iov[z].iov_len =
- vectors[i].plaintext_size -
- z * split;
+ vectors[i].plaintext_size -
+ z * split;
else
iov[z].iov_len = split;
iov_len++;
@@ -1961,12 +1847,10 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
s = sizeof(tmp);
- ret =
- gnutls_aead_cipher_encryptv(hd,
- iv.data, iv.size,
- auth_iov, auth_iov_len,
- vectors[i].tag_size,
- iov, iov_len, tmp, &s);
+ ret = gnutls_aead_cipher_encryptv(hd, iv.data, iv.size,
+ auth_iov, auth_iov_len,
+ vectors[i].tag_size, iov,
+ iov_len, tmp, &s);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
@@ -1980,9 +1864,8 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
tag = tmp + vectors[i].plaintext_size;
if (memcmp(tag, vectors[i].tag, tag_size) != 0) {
- _gnutls_debug_log
- ("%s test vector %d failed (tag)!\n",
- gnutls_cipher_get_name(cipher), i);
+ _gnutls_debug_log("%s test vector %d failed (tag)!\n",
+ gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
@@ -1992,24 +1875,22 @@ static int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher, const stru
ciphertext = tmp;
if (vectors[i].plaintext_size > 0) {
- if (memcmp
- (ciphertext, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s test vector %d failed!\n",
- gnutls_cipher_get_name(cipher), i);
-
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ if (memcmp(ciphertext, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s test vector %d failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
gnutls_aead_cipher_deinit(hd);
}
- _gnutls_debug_log
- ("%s scatter self check succeeded\n",
- gnutls_cipher_get_name(cipher));
+ _gnutls_debug_log("%s scatter self check succeeded\n",
+ gnutls_cipher_get_name(cipher));
if (flags & GNUTLS_SELF_TEST_FLAG_NO_COMPAT)
return 0;
@@ -2061,15 +1942,11 @@ static int test_cipher_aead(gnutls_cipher_algorithm_t cipher,
s = sizeof(tmp);
- ret =
- gnutls_aead_cipher_encrypt(hd,
- iv.data, iv.size,
- vectors[i].auth,
- vectors[i].auth_size,
- vectors[i].tag_size,
- vectors[i].plaintext,
- vectors[i].plaintext_size, tmp,
- &s);
+ ret = gnutls_aead_cipher_encrypt(
+ hd, iv.data, iv.size, vectors[i].auth,
+ vectors[i].auth_size, vectors[i].tag_size,
+ vectors[i].plaintext, vectors[i].plaintext_size, tmp,
+ &s);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
@@ -2083,9 +1960,8 @@ static int test_cipher_aead(gnutls_cipher_algorithm_t cipher,
tag = tmp + vectors[i].plaintext_size;
if (memcmp(tag, vectors[i].tag, tag_size) != 0) {
- _gnutls_debug_log
- ("%s test vector %d failed (tag)!\n",
- gnutls_cipher_get_name(cipher), i);
+ _gnutls_debug_log("%s test vector %d failed (tag)!\n",
+ gnutls_cipher_get_name(cipher), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
@@ -2095,41 +1971,38 @@ static int test_cipher_aead(gnutls_cipher_algorithm_t cipher,
ciphertext = tmp;
if (vectors[i].plaintext_size > 0) {
- if (memcmp
- (ciphertext, vectors[i].ciphertext,
- vectors[i].plaintext_size) != 0) {
- _gnutls_debug_log
- ("%s test vector %d failed!\n",
- gnutls_cipher_get_name(cipher), i);
-
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ if (memcmp(ciphertext, vectors[i].ciphertext,
+ vectors[i].plaintext_size) != 0) {
+ _gnutls_debug_log(
+ "%s test vector %d failed!\n",
+ gnutls_cipher_get_name(cipher), i);
+
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
/* check decryption */
{
s2 = sizeof(tmp2);
- ret =
- gnutls_aead_cipher_decrypt(hd,
- iv.data, iv.size,
- vectors[i].auth,
- vectors[i].auth_size,
- vectors[i].tag_size, tmp,
- s, tmp2, &s2);
+ ret = gnutls_aead_cipher_decrypt(hd, iv.data, iv.size,
+ vectors[i].auth,
+ vectors[i].auth_size,
+ vectors[i].tag_size,
+ tmp, s, tmp2, &s2);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
if (s2 != vectors[i].plaintext_size ||
(vectors[i].plaintext_size > 0 &&
memcmp(tmp2, vectors[i].plaintext,
vectors[i].plaintext_size) != 0)) {
- _gnutls_debug_log
- ("%s test vector %d failed (decryption)!\n",
- gnutls_cipher_get_name(cipher), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "%s test vector %d failed (decryption)!\n",
+ gnutls_cipher_get_name(cipher), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
/* test tag verification */
@@ -2137,24 +2010,17 @@ static int test_cipher_aead(gnutls_cipher_algorithm_t cipher,
(*ciphertext)++;
s2 = sizeof(tmp2);
- ret =
- gnutls_aead_cipher_decrypt(hd,
- iv.data, iv.size,
- vectors[i].auth,
- vectors
- [i].auth_size,
- vectors
- [i].tag_size,
- tmp, s, tmp2,
- &s2);
+ ret = gnutls_aead_cipher_decrypt(
+ hd, iv.data, iv.size, vectors[i].auth,
+ vectors[i].auth_size,
+ vectors[i].tag_size, tmp, s, tmp2, &s2);
if (ret >= 0) {
- _gnutls_debug_log
- ("%s: tag check failed\n",
- gnutls_cipher_get_name(cipher));
- return
- gnutls_assert_val
- (GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "%s: tag check failed\n",
+ gnutls_cipher_get_name(cipher));
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
}
@@ -2162,8 +2028,8 @@ static int test_cipher_aead(gnutls_cipher_algorithm_t cipher,
gnutls_aead_cipher_deinit(hd);
}
- _gnutls_debug_log
- ("%s self check succeeded\n", gnutls_cipher_get_name(cipher));
+ _gnutls_debug_log("%s self check succeeded\n",
+ gnutls_cipher_get_name(cipher));
return test_cipher_aead_scatter(cipher, vectors, vectors_size, flags);
}
@@ -2177,159 +2043,155 @@ struct hash_vectors_st {
const struct hash_vectors_st md5_vectors[] = {
{
- STR(plaintext, plaintext_size, "abcdefghijklmnopqrstuvwxyz"),
- STR(output, output_size,
- "\xc3\xfc\xd3\xd7\x61\x92\xe4\x00\x7d\xfb\x49\x6c\xca\x67\xe1\x3b"),
- },
+ STR(plaintext, plaintext_size, "abcdefghijklmnopqrstuvwxyz"),
+ STR(output, output_size,
+ "\xc3\xfc\xd3\xd7\x61\x92\xe4\x00\x7d\xfb\x49\x6c\xca\x67\xe1\x3b"),
+ },
};
const struct hash_vectors_st sha1_vectors[] = {
{
- STR(plaintext, plaintext_size, "what do ya want for nothing?"),
- STR(output, output_size,
- "\x8f\x82\x03\x94\xf9\x53\x35\x18\x20\x45\xda\x24\xf3\x4d\xe5\x2b\xf8\xbc\x34\x32"),
- },
+ STR(plaintext, plaintext_size, "what do ya want for nothing?"),
+ STR(output, output_size,
+ "\x8f\x82\x03\x94\xf9\x53\x35\x18\x20\x45\xda\x24\xf3\x4d\xe5\x2b\xf8\xbc\x34\x32"),
+ },
{
- STR(plaintext, plaintext_size,
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
- STR(output, output_size,
- "\xbe\xae\xd1\x6d\x65\x8e\xc7\x92\x9e\xdf\xd6\x2b\xfa\xfe\xac\x29\x9f\x0d\x74\x4d"),
- },
+ STR(plaintext, plaintext_size,
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
+ STR(output, output_size,
+ "\xbe\xae\xd1\x6d\x65\x8e\xc7\x92\x9e\xdf\xd6\x2b\xfa\xfe\xac\x29\x9f\x0d\x74\x4d"),
+ },
};
const struct hash_vectors_st sha224_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "The quick brown fox jumps over the lazy dog"),
- STR(output, output_size,
- "\x73\x0e\x10\x9b\xd7\xa8\xa3\x2b\x1c\xb9\xd9\xa0\x9a\xa2\x32\x5d\x24\x30\x58\x7d\xdb\xc0\xc3\x8b\xad\x91\x15\x25"),
- },
+ STR(plaintext, plaintext_size,
+ "The quick brown fox jumps over the lazy dog"),
+ STR(output, output_size,
+ "\x73\x0e\x10\x9b\xd7\xa8\xa3\x2b\x1c\xb9\xd9\xa0\x9a\xa2\x32\x5d\x24\x30\x58\x7d\xdb\xc0\xc3\x8b\xad\x91\x15\x25"),
+ },
};
const struct hash_vectors_st sha256_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
- STR(output, output_size,
- "\x24\x8d\x6a\x61\xd2\x06\x38\xb8\xe5\xc0\x26\x93\x0c\x3e\x60\x39\xa3\x3c\xe4\x59\x64\xff\x21\x67\xf6\xec\xed\xd4\x19\xdb\x06\xc1"),
- },
+ STR(plaintext, plaintext_size,
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
+ STR(output, output_size,
+ "\x24\x8d\x6a\x61\xd2\x06\x38\xb8\xe5\xc0\x26\x93\x0c\x3e\x60\x39\xa3\x3c\xe4\x59\x64\xff\x21\x67\xf6\xec\xed\xd4\x19\xdb\x06\xc1"),
+ },
{
- STR(plaintext, plaintext_size,
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
- STR(output, output_size,
- "\x50\xea\x82\x5d\x96\x84\xf4\x22\x9c\xa2\x9f\x1f\xec\x51\x15\x93\xe2\x81\xe4\x6a\x14\x0d\x81\xe0\x00\x5f\x8f\x68\x86\x69\xa0\x6c"),
- },
+ STR(plaintext, plaintext_size,
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
+ STR(output, output_size,
+ "\x50\xea\x82\x5d\x96\x84\xf4\x22\x9c\xa2\x9f\x1f\xec\x51\x15\x93\xe2\x81\xe4\x6a\x14\x0d\x81\xe0\x00\x5f\x8f\x68\x86\x69\xa0\x6c"),
+ },
};
const struct hash_vectors_st sha384_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "The quick brown fox jumps over the lazy dog"),
- STR(output, output_size,
- "\xca\x73\x7f\x10\x14\xa4\x8f\x4c\x0b\x6d\xd4\x3c\xb1\x77\xb0\xaf\xd9\xe5\x16\x93\x67\x54\x4c\x49\x40\x11\xe3\x31\x7d\xbf\x9a\x50\x9c\xb1\xe5\xdc\x1e\x85\xa9\x41\xbb\xee\x3d\x7f\x2a\xfb\xc9\xb1"),
- },
+ STR(plaintext, plaintext_size,
+ "The quick brown fox jumps over the lazy dog"),
+ STR(output, output_size,
+ "\xca\x73\x7f\x10\x14\xa4\x8f\x4c\x0b\x6d\xd4\x3c\xb1\x77\xb0\xaf\xd9\xe5\x16\x93\x67\x54\x4c\x49\x40\x11\xe3\x31\x7d\xbf\x9a\x50\x9c\xb1\xe5\xdc\x1e\x85\xa9\x41\xbb\xee\x3d\x7f\x2a\xfb\xc9\xb1"),
+ },
};
const struct hash_vectors_st sha512_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"),
- STR(output, output_size,
- "\x8e\x95\x9b\x75\xda\xe3\x13\xda\x8c\xf4\xf7\x28\x14\xfc\x14\x3f\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1\x72\x99\xae\xad\xb6\x88\x90\x18\x50\x1d\x28\x9e\x49\x00\xf7\xe4\x33\x1b\x99\xde\xc4\xb5\x43\x3a\xc7\xd3\x29\xee\xb6\xdd\x26\x54\x5e\x96\xe5\x5b\x87\x4b\xe9\x09"),
- },
+ STR(plaintext, plaintext_size,
+ "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"),
+ STR(output, output_size,
+ "\x8e\x95\x9b\x75\xda\xe3\x13\xda\x8c\xf4\xf7\x28\x14\xfc\x14\x3f\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1\x72\x99\xae\xad\xb6\x88\x90\x18\x50\x1d\x28\x9e\x49\x00\xf7\xe4\x33\x1b\x99\xde\xc4\xb5\x43\x3a\xc7\xd3\x29\xee\xb6\xdd\x26\x54\x5e\x96\xe5\x5b\x87\x4b\xe9\x09"),
+ },
};
const struct hash_vectors_st sha3_224_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "\xC1\xEC\xFD\xFC"),
- STR(output, output_size,
- "\xA3\x3C\x58\xDF\x8A\x80\x26\xF0\xF9\x59\x19\x66\xBD\x6D\x00\xEE\xD3\xB1\xE8\x29\x58\x0A\xB9\xBE\x26\x8C\xAF\x39"),
- },
+ STR(plaintext, plaintext_size, "\xC1\xEC\xFD\xFC"),
+ STR(output, output_size,
+ "\xA3\x3C\x58\xDF\x8A\x80\x26\xF0\xF9\x59\x19\x66\xBD\x6D\x00\xEE\xD3\xB1\xE8\x29\x58\x0A\xB9\xBE\x26\x8C\xAF\x39"),
+ },
};
-const struct hash_vectors_st sha3_256_vectors[] = {
- {
- STR(plaintext, plaintext_size,
- "\xC1\xEC\xFD\xFC"),
- STR(output, output_size,
- "\xC5\x85\x9B\xE8\x25\x60\xCC\x87\x89\x13\x3F\x7C\x83\x4A\x6E\xE6\x28\xE3\x51\xE5\x04\xE6\x01\xE8\x05\x9A\x06\x67\xFF\x62\xC1\x24"),
- }
-};
+const struct hash_vectors_st sha3_256_vectors[] = { {
+ STR(plaintext, plaintext_size, "\xC1\xEC\xFD\xFC"),
+ STR(output, output_size,
+ "\xC5\x85\x9B\xE8\x25\x60\xCC\x87\x89\x13\x3F\x7C\x83\x4A\x6E\xE6\x28\xE3\x51\xE5\x04\xE6\x01\xE8\x05\x9A\x06\x67\xFF\x62\xC1\x24"),
+} };
const struct hash_vectors_st sha3_384_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "\x4A\x4F\x20\x24\x84\x51\x25\x26"),
- STR(output, output_size,
- "\x89\xDB\xF4\xC3\x9B\x8F\xB4\x6F\xDF\x0A\x69\x26\xCE\xC0\x35\x5A\x4B\xDB\xF9\xC6\xA4\x46\xE1\x40\xB7\xC8\xBD\x08\xFF\x6F\x48\x9F\x20\x5D\xAF\x8E\xFF\xE1\x60\xF4\x37\xF6\x74\x91\xEF\x89\x7C\x23"),
- },
+ STR(plaintext, plaintext_size,
+ "\x4A\x4F\x20\x24\x84\x51\x25\x26"),
+ STR(output, output_size,
+ "\x89\xDB\xF4\xC3\x9B\x8F\xB4\x6F\xDF\x0A\x69\x26\xCE\xC0\x35\x5A\x4B\xDB\xF9\xC6\xA4\x46\xE1\x40\xB7\xC8\xBD\x08\xFF\x6F\x48\x9F\x20\x5D\xAF\x8E\xFF\xE1\x60\xF4\x37\xF6\x74\x91\xEF\x89\x7C\x23"),
+ },
};
const struct hash_vectors_st sha3_512_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "\x82\xE1\x92\xE4\x04\x3D\xDC\xD1\x2E\xCF\x52\x96\x9D\x0F\x80\x7E\xED"),
- STR(output, output_size,
- "\x96\x44\xE3\xC9\x0B\x67\xE2\x21\x24\xE9\x6D\xFE\xDC\xE5\x3D\x33\xC4\x60\xF1\x32\x86\x8F\x09\x75\xD1\x8B\x22\xCF\xD5\x9F\x63\x7D\xD8\x5A\xA4\x05\xE3\x98\x08\xA4\x55\x70\xA4\x98\xC0\xB8\xF2\xCB\xA5\x9F\x8E\x14\x37\xEA\xEF\x89\xF2\x0B\x88\x29\x8A\xDF\xA2\xDE"),
- },
+ STR(plaintext, plaintext_size,
+ "\x82\xE1\x92\xE4\x04\x3D\xDC\xD1\x2E\xCF\x52\x96\x9D\x0F\x80\x7E\xED"),
+ STR(output, output_size,
+ "\x96\x44\xE3\xC9\x0B\x67\xE2\x21\x24\xE9\x6D\xFE\xDC\xE5\x3D\x33\xC4\x60\xF1\x32\x86\x8F\x09\x75\xD1\x8B\x22\xCF\xD5\x9F\x63\x7D\xD8\x5A\xA4\x05\xE3\x98\x08\xA4\x55\x70\xA4\x98\xC0\xB8\xF2\xCB\xA5\x9F\x8E\x14\x37\xEA\xEF\x89\xF2\x0B\x88\x29\x8A\xDF\xA2\xDE"),
+ },
};
const struct hash_vectors_st gostr_94_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "The quick brown fox jumps over the lazy dog"),
- STR(output, output_size,
- "\x90\x04\x29\x4a\x36\x1a\x50\x8c\x58\x6f\xe5\x3d\x1f\x1b\x02\x74\x67\x65\xe7\x1b\x76\x54\x72\x78\x6e\x47\x70\xd5\x65\x83\x0a\x76"),
- },
+ STR(plaintext, plaintext_size,
+ "The quick brown fox jumps over the lazy dog"),
+ STR(output, output_size,
+ "\x90\x04\x29\x4a\x36\x1a\x50\x8c\x58\x6f\xe5\x3d\x1f\x1b\x02\x74\x67\x65\xe7\x1b\x76\x54\x72\x78\x6e\x47\x70\xd5\x65\x83\x0a\x76"),
+ },
};
/* GOST R 34.11-2012 */
const struct hash_vectors_st streebog_512_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "\xd1\xe5\x20\xe2\xe5\xf2\xf0\xe8\x2c\x20\xd1\xf2\xf0\xe8\xe1\xee"
- "\xe6\xe8\x20\xe2\xed\xf3\xf6\xe8\x2c\x20\xe2\xe5\xfe\xf2\xfa\x20"
- "\xf1\x20\xec\xee\xf0\xff\x20\xf1\xf2\xf0\xe5\xeb\xe0\xec\xe8\x20"
- "\xed\xe0\x20\xf5\xf0\xe0\xe1\xf0\xfb\xff\x20\xef\xeb\xfa\xea\xfb"
- "\x20\xc8\xe3\xee\xf0\xe5\xe2\xfb"),
- STR(output, output_size,
- "\x1e\x88\xe6\x22\x26\xbf\xca\x6f\x99\x94\xf1\xf2\xd5\x15\x69\xe0"
- "\xda\xf8\x47\x5a\x3b\x0f\xe6\x1a\x53\x00\xee\xe4\x6d\x96\x13\x76"
- "\x03\x5f\xe8\x35\x49\xad\xa2\xb8\x62\x0f\xcd\x7c\x49\x6c\xe5\xb3"
- "\x3f\x0c\xb9\xdd\xdc\x2b\x64\x60\x14\x3b\x03\xda\xba\xc9\xfb\x28"),
- },
- {
- STR(plaintext, plaintext_size,
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"),
- STR(output, output_size,
- "\x90\xa1\x61\xd1\x2a\xd3\x09\x49\x8d\x3f\xe5\xd4\x82\x02\xd8\xa4"
- "\xe9\xc4\x06\xd6\xa2\x64\xae\xab\x25\x8a\xc5\xec\xc3\x7a\x79\x62"
- "\xaa\xf9\x58\x7a\x5a\xbb\x09\xb6\xbb\x81\xec\x4b\x37\x52\xa3\xff"
- "\x5a\x83\x8e\xf1\x75\xbe\x57\x72\x05\x6b\xc5\xfe\x54\xfc\xfc\x7e"),
- },
+ STR(plaintext, plaintext_size,
+ "\xd1\xe5\x20\xe2\xe5\xf2\xf0\xe8\x2c\x20\xd1\xf2\xf0\xe8\xe1\xee"
+ "\xe6\xe8\x20\xe2\xed\xf3\xf6\xe8\x2c\x20\xe2\xe5\xfe\xf2\xfa\x20"
+ "\xf1\x20\xec\xee\xf0\xff\x20\xf1\xf2\xf0\xe5\xeb\xe0\xec\xe8\x20"
+ "\xed\xe0\x20\xf5\xf0\xe0\xe1\xf0\xfb\xff\x20\xef\xeb\xfa\xea\xfb"
+ "\x20\xc8\xe3\xee\xf0\xe5\xe2\xfb"),
+ STR(output, output_size,
+ "\x1e\x88\xe6\x22\x26\xbf\xca\x6f\x99\x94\xf1\xf2\xd5\x15\x69\xe0"
+ "\xda\xf8\x47\x5a\x3b\x0f\xe6\x1a\x53\x00\xee\xe4\x6d\x96\x13\x76"
+ "\x03\x5f\xe8\x35\x49\xad\xa2\xb8\x62\x0f\xcd\x7c\x49\x6c\xe5\xb3"
+ "\x3f\x0c\xb9\xdd\xdc\x2b\x64\x60\x14\x3b\x03\xda\xba\xc9\xfb\x28"),
+ },
+ {
+ STR(plaintext, plaintext_size,
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"),
+ STR(output, output_size,
+ "\x90\xa1\x61\xd1\x2a\xd3\x09\x49\x8d\x3f\xe5\xd4\x82\x02\xd8\xa4"
+ "\xe9\xc4\x06\xd6\xa2\x64\xae\xab\x25\x8a\xc5\xec\xc3\x7a\x79\x62"
+ "\xaa\xf9\x58\x7a\x5a\xbb\x09\xb6\xbb\x81\xec\x4b\x37\x52\xa3\xff"
+ "\x5a\x83\x8e\xf1\x75\xbe\x57\x72\x05\x6b\xc5\xfe\x54\xfc\xfc\x7e"),
+ },
};
/* GOST R 34.11-2012 */
const struct hash_vectors_st streebog_256_vectors[] = {
{
- STR(plaintext, plaintext_size,
- "\xd1\xe5\x20\xe2\xe5\xf2\xf0\xe8\x2c\x20\xd1\xf2\xf0\xe8\xe1\xee"
- "\xe6\xe8\x20\xe2\xed\xf3\xf6\xe8\x2c\x20\xe2\xe5\xfe\xf2\xfa\x20"
- "\xf1\x20\xec\xee\xf0\xff\x20\xf1\xf2\xf0\xe5\xeb\xe0\xec\xe8\x20"
- "\xed\xe0\x20\xf5\xf0\xe0\xe1\xf0\xfb\xff\x20\xef\xeb\xfa\xea\xfb"
- "\x20\xc8\xe3\xee\xf0\xe5\xe2\xfb"),
- STR(output, output_size,
- "\x9d\xd2\xfe\x4e\x90\x40\x9e\x5d\xa8\x7f\x53\x97\x6d\x74\x05\xb0"
- "\xc0\xca\xc6\x28\xfc\x66\x9a\x74\x1d\x50\x06\x3c\x55\x7e\x8f\x50"),
- },
+ STR(plaintext, plaintext_size,
+ "\xd1\xe5\x20\xe2\xe5\xf2\xf0\xe8\x2c\x20\xd1\xf2\xf0\xe8\xe1\xee"
+ "\xe6\xe8\x20\xe2\xed\xf3\xf6\xe8\x2c\x20\xe2\xe5\xfe\xf2\xfa\x20"
+ "\xf1\x20\xec\xee\xf0\xff\x20\xf1\xf2\xf0\xe5\xeb\xe0\xec\xe8\x20"
+ "\xed\xe0\x20\xf5\xf0\xe0\xe1\xf0\xfb\xff\x20\xef\xeb\xfa\xea\xfb"
+ "\x20\xc8\xe3\xee\xf0\xe5\xe2\xfb"),
+ STR(output, output_size,
+ "\x9d\xd2\xfe\x4e\x90\x40\x9e\x5d\xa8\x7f\x53\x97\x6d\x74\x05\xb0"
+ "\xc0\xca\xc6\x28\xfc\x66\x9a\x74\x1d\x50\x06\x3c\x55\x7e\x8f\x50"),
+ },
};
#define HASH_DATA_SIZE 64
@@ -2367,8 +2229,7 @@ static int test_digest(gnutls_digest_algorithm_t dig,
gnutls_digest_get_name(dig));
}
- ret = gnutls_hash(hd,
- &vectors[i].plaintext[1],
+ ret = gnutls_hash(hd, &vectors[i].plaintext[1],
vectors[i].plaintext_size - 1);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
@@ -2380,31 +2241,30 @@ static int test_digest(gnutls_digest_algorithm_t dig,
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
if (data_size != vectors[i].output_size ||
- memcmp(data, vectors[i].output,
- vectors[i].output_size) != 0) {
+ memcmp(data, vectors[i].output, vectors[i].output_size) !=
+ 0) {
_gnutls_debug_log("%s test vector %d failed!\n",
gnutls_digest_get_name(dig), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
if (copy != NULL) {
- ret = gnutls_hash(copy,
- &vectors[i].plaintext[1],
+ ret = gnutls_hash(copy, &vectors[i].plaintext[1],
vectors[i].plaintext_size - 1);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
memset(data, 0xaa, data_size);
gnutls_hash_deinit(copy, data);
if (memcmp(data, vectors[i].output,
vectors[i].output_size) != 0) {
- _gnutls_debug_log
- ("%s copy test vector %d failed!\n",
- gnutls_digest_get_name(dig), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "%s copy test vector %d failed!\n",
+ gnutls_digest_get_name(dig), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
}
@@ -2428,219 +2288,222 @@ struct mac_vectors_st {
const struct mac_vectors_st hmac_md5_vectors[] = {
{
- STR(key, key_size, "Jefe"),
- STR(plaintext, plaintext_size, "what do ya want for nothing?"),
- STR(output, output_size,
- "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38"),
- },
+ STR(key, key_size, "Jefe"),
+ STR(plaintext, plaintext_size, "what do ya want for nothing?"),
+ STR(output, output_size,
+ "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38"),
+ },
};
const struct mac_vectors_st hmac_sha1_vectors[] = {
{
- STR(key, key_size,
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
- STR(plaintext, plaintext_size, "Hi There"),
- STR(output, output_size,
- "\x67\x5b\x0b\x3a\x1b\x4d\xdf\x4e\x12\x48\x72\xda\x6c\x2f\x63\x2b\xfe\xd9\x57\xe9"),
- },
+ STR(key, key_size,
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
+ STR(plaintext, plaintext_size, "Hi There"),
+ STR(output, output_size,
+ "\x67\x5b\x0b\x3a\x1b\x4d\xdf\x4e\x12\x48\x72\xda\x6c\x2f\x63\x2b\xfe\xd9\x57\xe9"),
+ },
};
- /* from rfc4231 */
+/* from rfc4231 */
const struct mac_vectors_st hmac_sha224_vectors[] = {
{
- STR(key, key_size,
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
- STR(plaintext, plaintext_size, "Hi There"),
- STR(output, output_size,
- "\x89\x6f\xb1\x12\x8a\xbb\xdf\x19\x68\x32\x10\x7c\xd4\x9d\xf3\x3f\x47\xb4\xb1\x16\x99\x12\xba\x4f\x53\x68\x4b\x22"),
- },
+ STR(key, key_size,
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
+ STR(plaintext, plaintext_size, "Hi There"),
+ STR(output, output_size,
+ "\x89\x6f\xb1\x12\x8a\xbb\xdf\x19\x68\x32\x10\x7c\xd4\x9d\xf3\x3f\x47\xb4\xb1\x16\x99\x12\xba\x4f\x53\x68\x4b\x22"),
+ },
};
const struct mac_vectors_st hmac_sha256_vectors[] = {
{
- STR(key, key_size,
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
- STR(plaintext, plaintext_size, "Hi There"),
- STR(output, output_size,
- "\xb0\x34\x4c\x61\xd8\xdb\x38\x53\x5c\xa8\xaf\xce\xaf\x0b\xf1\x2b\x88\x1d\xc2\x00\xc9\x83\x3d\xa7\x26\xe9\x37\x6c\x2e\x32\xcf\xf7"),
- },
+ STR(key, key_size,
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
+ STR(plaintext, plaintext_size, "Hi There"),
+ STR(output, output_size,
+ "\xb0\x34\x4c\x61\xd8\xdb\x38\x53\x5c\xa8\xaf\xce\xaf\x0b\xf1\x2b\x88\x1d\xc2\x00\xc9\x83\x3d\xa7\x26\xe9\x37\x6c\x2e\x32\xcf\xf7"),
+ },
};
const struct mac_vectors_st hmac_sha384_vectors[] = {
{
- STR(key, key_size,
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
- STR(plaintext, plaintext_size, "Hi There"),
- STR(output, output_size,
- "\xaf\xd0\x39\x44\xd8\x48\x95\x62\x6b\x08\x25\xf4\xab\x46\x90\x7f\x15\xf9\xda\xdb\xe4\x10\x1e\xc6\x82\xaa\x03\x4c\x7c\xeb\xc5\x9c\xfa\xea\x9e\xa9\x07\x6e\xde\x7f\x4a\xf1\x52\xe8\xb2\xfa\x9c\xb6"),
- },
+ STR(key, key_size,
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
+ STR(plaintext, plaintext_size, "Hi There"),
+ STR(output, output_size,
+ "\xaf\xd0\x39\x44\xd8\x48\x95\x62\x6b\x08\x25\xf4\xab\x46\x90\x7f\x15\xf9\xda\xdb\xe4\x10\x1e\xc6\x82\xaa\x03\x4c\x7c\xeb\xc5\x9c\xfa\xea\x9e\xa9\x07\x6e\xde\x7f\x4a\xf1\x52\xe8\xb2\xfa\x9c\xb6"),
+ },
};
const struct mac_vectors_st hmac_sha512_vectors[] = {
{
- STR(key, key_size,
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
- STR(plaintext, plaintext_size, "Hi There"),
- STR(output, output_size,
- "\x87\xaa\x7c\xde\xa5\xef\x61\x9d\x4f\xf0\xb4\x24\x1a\x1d\x6c\xb0\x23\x79\xf4\xe2\xce\x4e\xc2\x78\x7a\xd0\xb3\x05\x45\xe1\x7c\xde\xda\xa8\x33\xb7\xd6\xb8\xa7\x02\x03\x8b\x27\x4e\xae\xa3\xf4\xe4\xbe\x9d\x91\x4e\xeb\x61\xf1\x70\x2e\x69\x6c\x20\x3a\x12\x68\x54"),
- },
+ STR(key, key_size,
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
+ STR(plaintext, plaintext_size, "Hi There"),
+ STR(output, output_size,
+ "\x87\xaa\x7c\xde\xa5\xef\x61\x9d\x4f\xf0\xb4\x24\x1a\x1d\x6c\xb0\x23\x79\xf4\xe2\xce\x4e\xc2\x78\x7a\xd0\xb3\x05\x45\xe1\x7c\xde\xda\xa8\x33\xb7\xd6\xb8\xa7\x02\x03\x8b\x27\x4e\xae\xa3\xf4\xe4\xbe\x9d\x91\x4e\xeb\x61\xf1\x70\x2e\x69\x6c\x20\x3a\x12\x68\x54"),
+ },
};
/* Calculated */
const struct mac_vectors_st hmac_gostr_94_vectors[] = {
{
- STR(key, key_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
- "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
- STR(plaintext, plaintext_size,
- "\x01\x26\xbd\xb8\x78\x00\xaf\x21\x43\x41\x45\x65\x63\x78\x01\x00"),
- STR(output, output_size,
- "\xba\xd7\x0b\x61\xc4\x10\x95\xbc\x47\xe1\x14\x1c\xfa\xed\x42\x72"
- "\x6a\x5c\xee\xbd\x62\xce\x75\xdb\xbb\x9a\xd7\x6c\xda\x9f\x72\xf7"),
- },
+ STR(key, key_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
+ "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
+ STR(plaintext, plaintext_size,
+ "\x01\x26\xbd\xb8\x78\x00\xaf\x21\x43\x41\x45\x65\x63\x78\x01\x00"),
+ STR(output, output_size,
+ "\xba\xd7\x0b\x61\xc4\x10\x95\xbc\x47\xe1\x14\x1c\xfa\xed\x42\x72"
+ "\x6a\x5c\xee\xbd\x62\xce\x75\xdb\xbb\x9a\xd7\x6c\xda\x9f\x72\xf7"),
+ },
};
/* RFC 7836 */
const struct mac_vectors_st hmac_streebog_512_vectors[] = {
{
- STR(key, key_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
- "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
- STR(plaintext, plaintext_size,
- "\x01\x26\xbd\xb8\x78\x00\xaf\x21\x43\x41\x45\x65\x63\x78\x01\x00"),
- STR(output, output_size,
- "\xa5\x9b\xab\x22\xec\xae\x19\xc6\x5f\xbd\xe6\xe5\xf4\xe9\xf5\xd8"
- "\x54\x9d\x31\xf0\x37\xf9\xdf\x9b\x90\x55\x00\xe1\x71\x92\x3a\x77"
- "\x3d\x5f\x15\x30\xf2\xed\x7e\x96\x4c\xb2\xee\xdc\x29\xe9\xad\x2f"
- "\x3a\xfe\x93\xb2\x81\x4f\x79\xf5\x00\x0f\xfc\x03\x66\xc2\x51\xe6"),
- },
+ STR(key, key_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
+ "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
+ STR(plaintext, plaintext_size,
+ "\x01\x26\xbd\xb8\x78\x00\xaf\x21\x43\x41\x45\x65\x63\x78\x01\x00"),
+ STR(output, output_size,
+ "\xa5\x9b\xab\x22\xec\xae\x19\xc6\x5f\xbd\xe6\xe5\xf4\xe9\xf5\xd8"
+ "\x54\x9d\x31\xf0\x37\xf9\xdf\x9b\x90\x55\x00\xe1\x71\x92\x3a\x77"
+ "\x3d\x5f\x15\x30\xf2\xed\x7e\x96\x4c\xb2\xee\xdc\x29\xe9\xad\x2f"
+ "\x3a\xfe\x93\xb2\x81\x4f\x79\xf5\x00\x0f\xfc\x03\x66\xc2\x51\xe6"),
+ },
};
/* RFC 7836 */
const struct mac_vectors_st hmac_streebog_256_vectors[] = {
{
- STR(key, key_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
- "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
- STR(plaintext, plaintext_size,
- "\x01\x26\xbd\xb8\x78\x00\xaf\x21\x43\x41\x45\x65\x63\x78\x01\x00"),
- STR(output, output_size,
- "\xa1\xaa\x5f\x7d\xe4\x02\xd7\xb3\xd3\x23\xf2\x99\x1c\x8d\x45\x34"
- "\x01\x31\x37\x01\x0a\x83\x75\x4f\xd0\xaf\x6d\x7c\xd4\x92\x2e\xd9"),
- },
-};
-
-const struct mac_vectors_st aes_cmac_128_vectors[] = { /* NIST SP800-38A */
- {
- STR(key, key_size,
- "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
- STR(output, output_size,
- "\x07\x0a\x16\xb4\x6b\x4d\x41\x44\xf7\x9b\xdd\x9d\xd0\x4a\x28\x7c"),
- },
-};
-
-const struct mac_vectors_st aes_cmac_256_vectors[] = { /* NIST SP800-38A */
- {
- STR(key, key_size,
- "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81"
- "\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
- STR(plaintext, plaintext_size,
- "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
- STR(output, output_size,
- "\x28\xa7\x02\x3f\x45\x2e\x8f\x82\xbd\x4b\xf2\x8d\x8c\x37\xc3\x5c"),
- },
-};
-
-const struct mac_vectors_st aes_gmac_128_vectors[] = { /* NIST test vectors */
- {
- STR(key, key_size,
- "\x23\x70\xe3\x20\xd4\x34\x42\x08\xe0\xff\x56\x83\xf2\x43\xb2\x13"),
- STR(nonce, nonce_size,
- "\x04\xdb\xb8\x2f\x04\x4d\x30\x83\x1c\x44\x12\x28"),
- STR(plaintext, plaintext_size,
- "\xd4\x3a\x8e\x50\x89\xee\xa0\xd0\x26\xc0\x3a\x85\x17\x8b\x27\xda"),
- STR(output, output_size,
- "\x2a\x04\x9c\x04\x9d\x25\xaa\x95\x96\x9b\x45\x1d\x93\xc3\x1c\x6e"),
- },
-};
-
-const struct mac_vectors_st aes_gmac_192_vectors[] = { /* NIST test vectors */
- {
- STR(key, key_size,
- "\xaa\x92\x1c\xb5\xa2\x43\xab\x08\x91\x1f\x32\x89\x26\x6b\x39\xda"
- "\xb1\x33\xf5\xc4\x20\xa6\xc5\xcd"),
- STR(nonce, nonce_size,
- "\x8f\x73\xdb\x68\xda\xee\xed\x2d\x15\x5f\xb1\xa0"),
- STR(plaintext, plaintext_size,
- "\x48\x74\x43\xc7\xc1\x4c\xe4\x74\xcb\x3d\x29\x1f\x25\x70\x70\xa2"),
- STR(output, output_size,
- "\xb1\x26\x74\xfb\xea\xc6\x88\x9a\x24\x94\x8f\x27\x92\xe3\x0a\x50"),
- },
-};
-
-const struct mac_vectors_st aes_gmac_256_vectors[] = { /* NIST test vectors */
- {
- STR(key, key_size,
- "\x6d\xfd\xaf\xd6\x70\x3c\x28\x5c\x01\xf1\x4f\xd1\x0a\x60\x12\x86"
- "\x2b\x2a\xf9\x50\xd4\x73\x3a\xbb\x40\x3b\x2e\x74\x5b\x26\x94\x5d"),
- STR(nonce, nonce_size,
- "\x37\x49\xd0\xb3\xd5\xba\xcb\x71\xbe\x06\xad\xe6"),
- STR(plaintext, plaintext_size,
- "\xc0\xd2\x49\x87\x19\x92\xe7\x03\x02\xae\x00\x81\x93\xd1\xe8\x9f"),
- STR(output, output_size,
- "\x4a\xa4\xcc\x69\xf8\x4e\xe6\xac\x16\xd9\xbf\xb4\xe0\x5d\xe5\x00"),
- },
+ STR(key, key_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
+ "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"),
+ STR(plaintext, plaintext_size,
+ "\x01\x26\xbd\xb8\x78\x00\xaf\x21\x43\x41\x45\x65\x63\x78\x01\x00"),
+ STR(output, output_size,
+ "\xa1\xaa\x5f\x7d\xe4\x02\xd7\xb3\xd3\x23\xf2\x99\x1c\x8d\x45\x34"
+ "\x01\x31\x37\x01\x0a\x83\x75\x4f\xd0\xaf\x6d\x7c\xd4\x92\x2e\xd9"),
+ },
+};
+
+const struct mac_vectors_st aes_cmac_128_vectors[] = {
+ /* NIST SP800-38A */
+ {
+ STR(key, key_size,
+ "\x2b\x7e\x15\x16\x28\xae\xd2\xa6\xab\xf7\x15\x88\x09\xcf\x4f\x3c"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
+ STR(output, output_size,
+ "\x07\x0a\x16\xb4\x6b\x4d\x41\x44\xf7\x9b\xdd\x9d\xd0\x4a\x28\x7c"),
+ },
+};
+
+const struct mac_vectors_st aes_cmac_256_vectors[] = {
+ /* NIST SP800-38A */
+ {
+ STR(key, key_size,
+ "\x60\x3d\xeb\x10\x15\xca\x71\xbe\x2b\x73\xae\xf0\x85\x7d\x77\x81"
+ "\x1f\x35\x2c\x07\x3b\x61\x08\xd7\x2d\x98\x10\xa3\x09\x14\xdf\xf4"),
+ STR(plaintext, plaintext_size,
+ "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96\xe9\x3d\x7e\x11\x73\x93\x17\x2a"),
+ STR(output, output_size,
+ "\x28\xa7\x02\x3f\x45\x2e\x8f\x82\xbd\x4b\xf2\x8d\x8c\x37\xc3\x5c"),
+ },
+};
+
+const struct mac_vectors_st aes_gmac_128_vectors[] = {
+ /* NIST test vectors */
+ {
+ STR(key, key_size,
+ "\x23\x70\xe3\x20\xd4\x34\x42\x08\xe0\xff\x56\x83\xf2\x43\xb2\x13"),
+ STR(nonce, nonce_size,
+ "\x04\xdb\xb8\x2f\x04\x4d\x30\x83\x1c\x44\x12\x28"),
+ STR(plaintext, plaintext_size,
+ "\xd4\x3a\x8e\x50\x89\xee\xa0\xd0\x26\xc0\x3a\x85\x17\x8b\x27\xda"),
+ STR(output, output_size,
+ "\x2a\x04\x9c\x04\x9d\x25\xaa\x95\x96\x9b\x45\x1d\x93\xc3\x1c\x6e"),
+ },
+};
+
+const struct mac_vectors_st aes_gmac_192_vectors[] = {
+ /* NIST test vectors */
+ {
+ STR(key, key_size,
+ "\xaa\x92\x1c\xb5\xa2\x43\xab\x08\x91\x1f\x32\x89\x26\x6b\x39\xda"
+ "\xb1\x33\xf5\xc4\x20\xa6\xc5\xcd"),
+ STR(nonce, nonce_size,
+ "\x8f\x73\xdb\x68\xda\xee\xed\x2d\x15\x5f\xb1\xa0"),
+ STR(plaintext, plaintext_size,
+ "\x48\x74\x43\xc7\xc1\x4c\xe4\x74\xcb\x3d\x29\x1f\x25\x70\x70\xa2"),
+ STR(output, output_size,
+ "\xb1\x26\x74\xfb\xea\xc6\x88\x9a\x24\x94\x8f\x27\x92\xe3\x0a\x50"),
+ },
+};
+
+const struct mac_vectors_st aes_gmac_256_vectors[] = {
+ /* NIST test vectors */
+ {
+ STR(key, key_size,
+ "\x6d\xfd\xaf\xd6\x70\x3c\x28\x5c\x01\xf1\x4f\xd1\x0a\x60\x12\x86"
+ "\x2b\x2a\xf9\x50\xd4\x73\x3a\xbb\x40\x3b\x2e\x74\x5b\x26\x94\x5d"),
+ STR(nonce, nonce_size,
+ "\x37\x49\xd0\xb3\xd5\xba\xcb\x71\xbe\x06\xad\xe6"),
+ STR(plaintext, plaintext_size,
+ "\xc0\xd2\x49\x87\x19\x92\xe7\x03\x02\xae\x00\x81\x93\xd1\xe8\x9f"),
+ STR(output, output_size,
+ "\x4a\xa4\xcc\x69\xf8\x4e\xe6\xac\x16\xd9\xbf\xb4\xe0\x5d\xe5\x00"),
+ },
};
const struct mac_vectors_st gost28147_tc26z_imit_vectors[] = {
{
- STR(key, key_size,
- "\x9d\x05\xb7\x9e\x90\xca\xd0\x0a\x2c\xda\xd2\x2e\xf4\xe8\x6f\x5c"
- "\xf5\xdc\x37\x68\x19\x85\xb3\xbf\xaa\x18\xc1\xc3\x05\x0a\x91\xa2"),
- STR(plaintext, plaintext_size,
- "\xb5\xa1\xf0\xe3\xce\x2f\x02\x1d\x67\x61\x94\x34\x5c\x41\xe3\x6e"),
- STR(output, output_size,
- "\x03\xe5\x67\x66"),
- },
+ STR(key, key_size,
+ "\x9d\x05\xb7\x9e\x90\xca\xd0\x0a\x2c\xda\xd2\x2e\xf4\xe8\x6f\x5c"
+ "\xf5\xdc\x37\x68\x19\x85\xb3\xbf\xaa\x18\xc1\xc3\x05\x0a\x91\xa2"),
+ STR(plaintext, plaintext_size,
+ "\xb5\xa1\xf0\xe3\xce\x2f\x02\x1d\x67\x61\x94\x34\x5c\x41\xe3\x6e"),
+ STR(output, output_size, "\x03\xe5\x67\x66"),
+ },
};
/* GOST R 34.13-2015 */
const struct mac_vectors_st magma_omac_vectors[] = {
{
- STR(key, key_size,
- "\xff\xee\xdd\xcc\xbb\xaa\x99\x88\x77\x66\x55\x44\x33\x22\x11\x00"
- "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"),
- STR(plaintext, plaintext_size,
- "\x92\xde\xf0\x6b\x3c\x13\x0a\x59"
- "\xdb\x54\xc7\x04\xf8\x18\x9d\x20"
- "\x4a\x98\xfb\x2e\x67\xa8\x02\x4c"
- "\x89\x12\x40\x9b\x17\xb5\x7e\x41"),
- STR(output, output_size,
- "\x15\x4e\x72\x10\x20\x30\xc5\xbb"),
- },
+ STR(key, key_size,
+ "\xff\xee\xdd\xcc\xbb\xaa\x99\x88\x77\x66\x55\x44\x33\x22\x11\x00"
+ "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"),
+ STR(plaintext, plaintext_size,
+ "\x92\xde\xf0\x6b\x3c\x13\x0a\x59"
+ "\xdb\x54\xc7\x04\xf8\x18\x9d\x20"
+ "\x4a\x98\xfb\x2e\x67\xa8\x02\x4c"
+ "\x89\x12\x40\x9b\x17\xb5\x7e\x41"),
+ STR(output, output_size, "\x15\x4e\x72\x10\x20\x30\xc5\xbb"),
+ },
};
/* GOST R 34.13-2015 */
const struct mac_vectors_st kuznyechik_omac_vectors[] = {
{
- STR(key, key_size,
- "\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00\x11\x22\x33\x44\x55\x66\x77"
- "\xfe\xdc\xba\x98\x76\x54\x32\x10\x01\x23\x45\x67\x89\xab\xcd\xef"),
- STR(plaintext, plaintext_size,
- "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
- "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
- "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
- "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"),
- STR(output, output_size,
- "\x33\x6f\x4d\x29\x60\x59\xfb\xe3\x4d\xde\xb3\x5b\x37\x74\x9c\x67"),
- },
+ STR(key, key_size,
+ "\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00\x11\x22\x33\x44\x55\x66\x77"
+ "\xfe\xdc\xba\x98\x76\x54\x32\x10\x01\x23\x45\x67\x89\xab\xcd\xef"),
+ STR(plaintext, plaintext_size,
+ "\x11\x22\x33\x44\x55\x66\x77\x00\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
+ "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a"
+ "\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00"
+ "\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xee\xff\x0a\x00\x11"),
+ STR(output, output_size,
+ "\x33\x6f\x4d\x29\x60\x59\xfb\xe3\x4d\xde\xb3\x5b\x37\x74\x9c\x67"),
+ },
};
static int test_mac(gnutls_mac_algorithm_t mac,
- const struct mac_vectors_st *vectors,
- size_t vectors_size, unsigned flags)
+ const struct mac_vectors_st *vectors, size_t vectors_size,
+ unsigned flags)
{
uint8_t data[HASH_DATA_SIZE];
unsigned int i;
@@ -2650,8 +2513,7 @@ static int test_mac(gnutls_mac_algorithm_t mac,
gnutls_hmac_hd_t copy;
for (i = 0; i < vectors_size; i++) {
- ret = gnutls_hmac_init(&hd,
- mac, vectors[i].key,
+ ret = gnutls_hmac_init(&hd, mac, vectors[i].key,
vectors[i].key_size);
if (ret < 0) {
@@ -2661,8 +2523,7 @@ static int test_mac(gnutls_mac_algorithm_t mac,
}
if (vectors[i].nonce_size)
- gnutls_hmac_set_nonce(hd,
- vectors[i].nonce,
+ gnutls_hmac_set_nonce(hd, vectors[i].nonce,
vectors[i].nonce_size);
ret = gnutls_hmac(hd, vectors[i].plaintext, 1);
@@ -2675,8 +2536,7 @@ static int test_mac(gnutls_mac_algorithm_t mac,
gnutls_mac_get_name(mac));
}
- ret = gnutls_hmac(hd,
- &vectors[i].plaintext[1],
+ ret = gnutls_hmac(hd, &vectors[i].plaintext[1],
vectors[i].plaintext_size - 1);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
@@ -2688,63 +2548,63 @@ static int test_mac(gnutls_mac_algorithm_t mac,
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
if (data_size != vectors[i].output_size ||
- memcmp(data, vectors[i].output,
- vectors[i].output_size) != 0) {
-
- _gnutls_debug_log
- ("MAC-%s test vector %d failed!\n",
- gnutls_mac_get_name(mac), i);
+ memcmp(data, vectors[i].output, vectors[i].output_size) !=
+ 0) {
+ _gnutls_debug_log("MAC-%s test vector %d failed!\n",
+ gnutls_mac_get_name(mac), i);
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
if (copy != NULL) {
- ret = gnutls_hmac(copy,
- &vectors[i].plaintext[1],
+ ret = gnutls_hmac(copy, &vectors[i].plaintext[1],
vectors[i].plaintext_size - 1);
if (ret < 0)
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
memset(data, 0xaa, data_size);
gnutls_hmac_deinit(copy, data);
if (memcmp(data, vectors[i].output,
vectors[i].output_size) != 0) {
- _gnutls_debug_log
- ("MAC-%s copy test vector %d failed!\n",
- gnutls_mac_get_name(mac), i);
- return
- gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
+ _gnutls_debug_log(
+ "MAC-%s copy test vector %d failed!\n",
+ gnutls_mac_get_name(mac), i);
+ return gnutls_assert_val(
+ GNUTLS_E_SELF_TEST_ERROR);
}
}
}
- _gnutls_debug_log
- ("MAC-%s self check succeeded\n", gnutls_mac_get_name(mac));
+ _gnutls_debug_log("MAC-%s self check succeeded\n",
+ gnutls_mac_get_name(mac));
return 0;
}
-#define CASE(x, func, vectors) case x: \
- ret = func(x, V(vectors), flags); \
- if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
- return ret
-
-#define CASE2(x, func, func2, vectors) case x: \
- ret = func(x, V(vectors), flags); \
- if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
- return ret; \
- ret = func2(x, V(vectors), flags); \
+#define CASE(x, func, vectors) \
+ case x: \
+ ret = func(x, V(vectors), flags); \
+ if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
+ return ret
+
+#define CASE2(x, func, func2, vectors) \
+ case x: \
+ ret = func(x, V(vectors), flags); \
+ if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
+ return ret; \
+ ret = func2(x, V(vectors), flags); \
+ if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
+ return ret
+
+#define NON_FIPS_CASE(x, func, vectors) \
+ case x: \
+ if (_gnutls_fips_mode_enabled() == 0) { \
+ ret = func(x, V(vectors), flags); \
if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
- return ret
-
-#define NON_FIPS_CASE(x, func, vectors) case x: \
- if (_gnutls_fips_mode_enabled() == 0) { \
- ret = func(x, V(vectors), flags); \
- if (!(flags & GNUTLS_SELF_TEST_FLAG_ALL) || ret < 0) \
- return ret; \
- }
+ return ret; \
+ }
/*-
* gnutls_cipher_self_test:
@@ -3007,62 +2867,62 @@ struct hkdf_vectors_st {
const struct hkdf_vectors_st hkdf_sha256_vectors[] = {
/* RFC 5869: A.1. Test Case 1: Basic test case with SHA-256 */
{
- STR(ikm, ikm_size,
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
- "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
- STR(salt, salt_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c"),
- STR(prk, prk_size,
- "\x07\x77\x09\x36\x2c\x2e\x32\xdf\x0d\xdc\x3f\x0d\xc4\x7b"
- "\xba\x63\x90\xb6\xc7\x3b\xb5\x0f\x9c\x31\x22\xec\x84\x4a"
- "\xd7\xc2\xb3\xe5"),
- STR(info, info_size,
- "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9"),
- STR(okm, okm_size,
- "\x3c\xb2\x5f\x25\xfa\xac\xd5\x7a\x90\x43\x4f\x64\xd0\x36"
- "\x2f\x2a\x2d\x2d\x0a\x90\xcf\x1a\x5a\x4c\x5d\xb0\x2d\x56"
- "\xec\xc4\xc5\xbf\x34\x00\x72\x08\xd5\xb8\x87\x18\x58\x65"),
- },
+ STR(ikm, ikm_size,
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
+ "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"),
+ STR(salt, salt_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c"),
+ STR(prk, prk_size,
+ "\x07\x77\x09\x36\x2c\x2e\x32\xdf\x0d\xdc\x3f\x0d\xc4\x7b"
+ "\xba\x63\x90\xb6\xc7\x3b\xb5\x0f\x9c\x31\x22\xec\x84\x4a"
+ "\xd7\xc2\xb3\xe5"),
+ STR(info, info_size,
+ "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9"),
+ STR(okm, okm_size,
+ "\x3c\xb2\x5f\x25\xfa\xac\xd5\x7a\x90\x43\x4f\x64\xd0\x36"
+ "\x2f\x2a\x2d\x2d\x0a\x90\xcf\x1a\x5a\x4c\x5d\xb0\x2d\x56"
+ "\xec\xc4\xc5\xbf\x34\x00\x72\x08\xd5\xb8\x87\x18\x58\x65"),
+ },
/* RFC 5869: A.2. Test Case 2: Test with SHA-256 and longer inputs/outputs */
{
- STR(ikm, ikm_size,
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d"
- "\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b"
- "\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29"
- "\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37"
- "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45"
- "\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"),
- STR(salt, salt_size,
- "\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d"
- "\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b"
- "\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89"
- "\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97"
- "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5"
- "\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf"),
- STR(prk, prk_size,
- "\x06\xa6\xb8\x8c\x58\x53\x36\x1a\x06\x10\x4c\x9c\xeb\x35"
- "\xb4\x5c\xef\x76\x00\x14\x90\x46\x71\x01\x4a\x19\x3f\x40"
- "\xc1\x5f\xc2\x44"),
- STR(info, info_size,
- "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd"
- "\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb"
- "\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9"
- "\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
- "\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5"
- "\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"),
- STR(okm, okm_size,
- "\xb1\x1e\x39\x8d\xc8\x03\x27\xa1\xc8\xe7\xf7\x8c\x59\x6a"
- "\x49\x34\x4f\x01\x2e\xda\x2d\x4e\xfa\xd8\xa0\x50\xcc\x4c"
- "\x19\xaf\xa9\x7c\x59\x04\x5a\x99\xca\xc7\x82\x72\x71\xcb"
- "\x41\xc6\x5e\x59\x0e\x09\xda\x32\x75\x60\x0c\x2f\x09\xb8"
- "\x36\x77\x93\xa9\xac\xa3\xdb\x71\xcc\x30\xc5\x81\x79\xec"
- "\x3e\x87\xc1\x4c\x01\xd5\xc1\xf3\x43\x4f\x1d\x87"),
- },
+ STR(ikm, ikm_size,
+ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d"
+ "\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b"
+ "\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29"
+ "\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37"
+ "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45"
+ "\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"),
+ STR(salt, salt_size,
+ "\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d"
+ "\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b"
+ "\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89"
+ "\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97"
+ "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5"
+ "\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf"),
+ STR(prk, prk_size,
+ "\x06\xa6\xb8\x8c\x58\x53\x36\x1a\x06\x10\x4c\x9c\xeb\x35"
+ "\xb4\x5c\xef\x76\x00\x14\x90\x46\x71\x01\x4a\x19\x3f\x40"
+ "\xc1\x5f\xc2\x44"),
+ STR(info, info_size,
+ "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd"
+ "\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb"
+ "\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9"
+ "\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
+ "\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5"
+ "\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"),
+ STR(okm, okm_size,
+ "\xb1\x1e\x39\x8d\xc8\x03\x27\xa1\xc8\xe7\xf7\x8c\x59\x6a"
+ "\x49\x34\x4f\x01\x2e\xda\x2d\x4e\xfa\xd8\xa0\x50\xcc\x4c"
+ "\x19\xaf\xa9\x7c\x59\x04\x5a\x99\xca\xc7\x82\x72\x71\xcb"
+ "\x41\xc6\x5e\x59\x0e\x09\xda\x32\x75\x60\x0c\x2f\x09\xb8"
+ "\x36\x77\x93\xa9\xac\xa3\xdb\x71\xcc\x30\xc5\x81\x79\xec"
+ "\x3e\x87\xc1\x4c\x01\xd5\xc1\xf3\x43\x4f\x1d\x87"),
+ },
};
static int test_hkdf(gnutls_mac_algorithm_t mac,
- const struct hkdf_vectors_st *vectors,
- size_t vectors_size, unsigned flags)
+ const struct hkdf_vectors_st *vectors, size_t vectors_size,
+ unsigned flags)
{
unsigned int i;
@@ -3084,9 +2944,9 @@ static int test_hkdf(gnutls_mac_algorithm_t mac,
}
if (memcmp(output, vectors[i].prk, vectors[i].prk_size) != 0) {
- _gnutls_debug_log
- ("HKDF extract: MAC-%s test vector failed!\n",
- gnutls_mac_get_name(mac));
+ _gnutls_debug_log(
+ "HKDF extract: MAC-%s test vector failed!\n",
+ gnutls_mac_get_name(mac));
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
@@ -3096,8 +2956,8 @@ static int test_hkdf(gnutls_mac_algorithm_t mac,
info.data = (void *)vectors[i].info;
info.size = vectors[i].info_size;
- ret = gnutls_hkdf_expand(mac, &prk, &info,
- output, vectors[i].okm_size);
+ ret = gnutls_hkdf_expand(mac, &prk, &info, output,
+ vectors[i].okm_size);
if (ret < 0) {
_gnutls_debug_log("error extracting HKDF: MAC-%s\n",
gnutls_mac_get_name(mac));
@@ -3105,16 +2965,16 @@ static int test_hkdf(gnutls_mac_algorithm_t mac,
}
if (memcmp(output, vectors[i].okm, vectors[i].okm_size) != 0) {
- _gnutls_debug_log
- ("HKDF expand: MAC-%s test vector failed!\n",
- gnutls_mac_get_name(mac));
+ _gnutls_debug_log(
+ "HKDF expand: MAC-%s test vector failed!\n",
+ gnutls_mac_get_name(mac));
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
}
- _gnutls_debug_log
- ("HKDF: MAC-%s self check succeeded\n", gnutls_mac_get_name(mac));
+ _gnutls_debug_log("HKDF: MAC-%s self check succeeded\n",
+ gnutls_mac_get_name(mac));
return 0;
}
@@ -3162,39 +3022,39 @@ struct pbkdf2_vectors_st {
const struct pbkdf2_vectors_st pbkdf2_sha256_vectors[] = {
/* RFC 7914: 11. Test Vectors for PBKDF2 with HMAC-SHA-256 */
{
- STR(key, key_size, "passwd"),
- STR(salt, salt_size, "salt"),
- .iter_count = 1,
- STR(output, output_size,
- "\x55\xac\x04\x6e\x56\xe3\x08\x9f\xec\x16\x91\xc2\x25\x44"
- "\xb6\x05\xf9\x41\x85\x21\x6d\xde\x04\x65\xe6\x8b\x9d\x57"
- "\xc2\x0d\xac\xbc\x49\xca\x9c\xcc\xf1\x79\xb6\x45\x99\x16"
- "\x64\xb3\x9d\x77\xef\x31\x7c\x71\xb8\x45\xb1\xe3\x0b\xd5"
- "\x09\x11\x20\x41\xd3\xa1\x97\x83"),
- },
+ STR(key, key_size, "passwd"),
+ STR(salt, salt_size, "salt"),
+ .iter_count = 1,
+ STR(output, output_size,
+ "\x55\xac\x04\x6e\x56\xe3\x08\x9f\xec\x16\x91\xc2\x25\x44"
+ "\xb6\x05\xf9\x41\x85\x21\x6d\xde\x04\x65\xe6\x8b\x9d\x57"
+ "\xc2\x0d\xac\xbc\x49\xca\x9c\xcc\xf1\x79\xb6\x45\x99\x16"
+ "\x64\xb3\x9d\x77\xef\x31\x7c\x71\xb8\x45\xb1\xe3\x0b\xd5"
+ "\x09\x11\x20\x41\xd3\xa1\x97\x83"),
+ },
/* RFC 7914: 11. Test Vectors for PBKDF2 with HMAC-SHA-256 */
{
- STR(key, key_size, "Password"),
- STR(salt, salt_size, "NaCl"),
- .iter_count = 80000,
- STR(output, output_size,
- "\x4d\xdc\xd8\xf6\x0b\x98\xbe\x21\x83\x0c\xee\x5e\xf2\x27"
- "\x01\xf9\x64\x1a\x44\x18\xd0\x4c\x04\x14\xae\xff\x08\x87"
- "\x6b\x34\xab\x56\xa1\xd4\x25\xa1\x22\x58\x33\x54\x9a\xdb"
- "\x84\x1b\x51\xc9\xb3\x17\x6a\x27\x2b\xde\xbb\xa1\xd0\x78"
- "\x47\x8f\x62\xb3\x97\xf3\x3c\x8d"),
- },
+ STR(key, key_size, "Password"),
+ STR(salt, salt_size, "NaCl"),
+ .iter_count = 80000,
+ STR(output, output_size,
+ "\x4d\xdc\xd8\xf6\x0b\x98\xbe\x21\x83\x0c\xee\x5e\xf2\x27"
+ "\x01\xf9\x64\x1a\x44\x18\xd0\x4c\x04\x14\xae\xff\x08\x87"
+ "\x6b\x34\xab\x56\xa1\xd4\x25\xa1\x22\x58\x33\x54\x9a\xdb"
+ "\x84\x1b\x51\xc9\xb3\x17\x6a\x27\x2b\xde\xbb\xa1\xd0\x78"
+ "\x47\x8f\x62\xb3\x97\xf3\x3c\x8d"),
+ },
/* Test vector extracted from:
* https://dev.gnupg.org/source/libgcrypt/browse/master/cipher/kdf.c */
{
- STR(key, key_size, "passwordPASSWORDpassword"),
- STR(salt, salt_size, "saltSALTsaltSALTsaltSALTsaltSALTsalt"),
- .iter_count = 4096,
- STR(output, output_size,
- "\x34\x8c\x89\xdb\xcb\xd3\x2b\x2f\x32\xd8\x14\xb8\x11\x6e"
- "\x84\xcf\x2b\x17\x34\x7e\xbc\x18\x00\x18\x1c\x4e\x2a\x1f"
- "\xb8\xdd\x53\xe1\xc6\x35\x51\x8c\x7d\xac\x47\xe9"),
- },
+ STR(key, key_size, "passwordPASSWORDpassword"),
+ STR(salt, salt_size, "saltSALTsaltSALTsaltSALTsaltSALTsalt"),
+ .iter_count = 4096,
+ STR(output, output_size,
+ "\x34\x8c\x89\xdb\xcb\xd3\x2b\x2f\x32\xd8\x14\xb8\x11\x6e"
+ "\x84\xcf\x2b\x17\x34\x7e\xbc\x18\x00\x18\x1c\x4e\x2a\x1f"
+ "\xb8\xdd\x53\xe1\xc6\x35\x51\x8c\x7d\xac\x47\xe9"),
+ },
};
static int test_pbkdf2(gnutls_mac_algorithm_t mac,
@@ -3223,16 +3083,16 @@ static int test_pbkdf2(gnutls_mac_algorithm_t mac,
if (memcmp(output, vectors[i].output, vectors[i].output_size) !=
0) {
- _gnutls_debug_log
- ("PBKDF2: MAC-%s test vector failed!\n",
- gnutls_mac_get_name(mac));
+ _gnutls_debug_log(
+ "PBKDF2: MAC-%s test vector failed!\n",
+ gnutls_mac_get_name(mac));
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
}
- _gnutls_debug_log
- ("PBKDF2: MAC-%s self check succeeded\n", gnutls_mac_get_name(mac));
+ _gnutls_debug_log("PBKDF2: MAC-%s self check succeeded\n",
+ gnutls_mac_get_name(mac));
return 0;
}
@@ -3281,87 +3141,82 @@ struct tlsprf_vectors_st {
const struct tlsprf_vectors_st tls10prf_vectors[] = {
/* tests/tls10-prf.c: test1 */
{
- STR(key, key_size,
- "\x26\x3b\xdb\xbb\x6f\x6d\x4c\x66\x4e\x05\x8d\x0a\xa9\xd3"
- "\x21\xbe"),
- STR(label, label_size,
- "test label"),
- STR(seed, seed_size,
- "\xb9\x20\x57\x3b\x19\x96\x01\x02\x4f\x04\xd6\xdc\x61\x96"
- "\x6e\x65"),
- STR(output, output_size,
- "\x66\x17\x99\x37\x65\xfa\x6c\xa7\x03\xd1\x9e\xc7\x0d\xd5"
- "\xdd\x16\x0f\xfc\xc0\x77\x25\xfa\xfb\x71\x4a\x9f\x81\x5a"
- "\x2a\x30\xbf\xb7\xe3\xbb\xfb\x7e\xee\x57\x4b\x3b\x61\x3e"
- "\xb7\xfe\x80\xee\xc9\x69\x1d\x8c\x1b\x0e\x2d\x9b\x3c\x8b"
- "\x4b\x02\xb6\xb6\xd6\xdb\x88\xe2\x09\x46\x23\xef\x62\x40"
- "\x60\x7e\xda\x7a\xbe\x3c\x84\x6e\x82\xa3"),
- },
+ STR(key, key_size,
+ "\x26\x3b\xdb\xbb\x6f\x6d\x4c\x66\x4e\x05\x8d\x0a\xa9\xd3"
+ "\x21\xbe"),
+ STR(label, label_size, "test label"),
+ STR(seed, seed_size,
+ "\xb9\x20\x57\x3b\x19\x96\x01\x02\x4f\x04\xd6\xdc\x61\x96"
+ "\x6e\x65"),
+ STR(output, output_size,
+ "\x66\x17\x99\x37\x65\xfa\x6c\xa7\x03\xd1\x9e\xc7\x0d\xd5"
+ "\xdd\x16\x0f\xfc\xc0\x77\x25\xfa\xfb\x71\x4a\x9f\x81\x5a"
+ "\x2a\x30\xbf\xb7\xe3\xbb\xfb\x7e\xee\x57\x4b\x3b\x61\x3e"
+ "\xb7\xfe\x80\xee\xc9\x69\x1d\x8c\x1b\x0e\x2d\x9b\x3c\x8b"
+ "\x4b\x02\xb6\xb6\xd6\xdb\x88\xe2\x09\x46\x23\xef\x62\x40"
+ "\x60\x7e\xda\x7a\xbe\x3c\x84\x6e\x82\xa3"),
+ },
};
const struct tlsprf_vectors_st tls12prf_sha256_vectors[] = {
/* tests/tls12-prf.c: sha256_test1 */
{
- STR(key, key_size,
- "\x04\x50\xb0\xea\x9e\xcd\x36\x02\xee\x0d\x76\xc5\xc3\xc8"
- "\x6f\x4a"),
- STR(label, label_size,
- "test label"),
- STR(seed, seed_size,
- "\x20\x7a\xcc\x02\x54\xb8\x67\xf5\xb9\x25\xb4\x5a\x33\x60"
- "\x1d\x8b"),
- STR(output, output_size,
- "\xae\x67\x9e\x0e\x71\x4f\x59\x75\x76\x37\x68\xb1\x66\x97"
- "\x9e\x1d"),
- },
+ STR(key, key_size,
+ "\x04\x50\xb0\xea\x9e\xcd\x36\x02\xee\x0d\x76\xc5\xc3\xc8"
+ "\x6f\x4a"),
+ STR(label, label_size, "test label"),
+ STR(seed, seed_size,
+ "\x20\x7a\xcc\x02\x54\xb8\x67\xf5\xb9\x25\xb4\x5a\x33\x60"
+ "\x1d\x8b"),
+ STR(output, output_size,
+ "\xae\x67\x9e\x0e\x71\x4f\x59\x75\x76\x37\x68\xb1\x66\x97"
+ "\x9e\x1d"),
+ },
/* tests/tls12-prf.c: sha256_test2 */
{
- STR(key, key_size,
- "\x34\x20\x4a\x9d\xf0\xbe\x6e\xb4\xe9\x25\xa8\x02\x7c\xf6"
- "\xc6\x02"),
- STR(label, label_size,
- "test label"),
- STR(seed, seed_size,
- "\x98\xb2\xc4\x0b\xcd\x66\x4c\x83\xbb\x92\x0c\x18\x20\x1a"
- "\x63\x95"),
- STR(output, output_size,
- "\xaf\xa9\x31\x24\x53\xc2\x2f\xa8\x3d\x2b\x51\x1b\x37\x2d"
- "\x73\xa4\x02\xa2\xa6\x28\x73\x23\x9a\x51\xfa\xde\x45\x08"
- "\x2f\xaf\x3f\xd2\xbb\x7f\xfb\x3e\x9b\xf3\x6e\x28\xb3\x14"
- "\x1a\xab\xa4\x84\x00\x53\x32\xa9\xf9\xe3\x88\xa4\xd3\x29"
- "\xf1\x58\x7a\x4b\x31\x7d\xa0\x77\x08\xea\x1b\xa9\x5a\x53"
- "\xf8\x78\x67\x24\xbd\x83\xce\x4b\x03\xaf"),
- },
+ STR(key, key_size,
+ "\x34\x20\x4a\x9d\xf0\xbe\x6e\xb4\xe9\x25\xa8\x02\x7c\xf6"
+ "\xc6\x02"),
+ STR(label, label_size, "test label"),
+ STR(seed, seed_size,
+ "\x98\xb2\xc4\x0b\xcd\x66\x4c\x83\xbb\x92\x0c\x18\x20\x1a"
+ "\x63\x95"),
+ STR(output, output_size,
+ "\xaf\xa9\x31\x24\x53\xc2\x2f\xa8\x3d\x2b\x51\x1b\x37\x2d"
+ "\x73\xa4\x02\xa2\xa6\x28\x73\x23\x9a\x51\xfa\xde\x45\x08"
+ "\x2f\xaf\x3f\xd2\xbb\x7f\xfb\x3e\x9b\xf3\x6e\x28\xb3\x14"
+ "\x1a\xab\xa4\x84\x00\x53\x32\xa9\xf9\xe3\x88\xa4\xd3\x29"
+ "\xf1\x58\x7a\x4b\x31\x7d\xa0\x77\x08\xea\x1b\xa9\x5a\x53"
+ "\xf8\x78\x67\x24\xbd\x83\xce\x4b\x03\xaf"),
+ },
/* tests/tls12-prf.c: sha256_test3 */
{
- STR(key, key_size,
- "\xa3\x69\x1a\xa1\xf6\x81\x4b\x80\x59\x2b\xf1\xcf\x2a\xcf"
- "\x16\x97"),
- STR(label, label_size,
- "test label"),
- STR(seed, seed_size,
- "\x55\x23\xd4\x1e\x32\x0e\x69\x4d\x0c\x1f\xf5\x73\x4d\x83"
- "\x0b\x93\x3e\x46\x92\x70\x71\xc9\x26\x21"),
- STR(output, output_size,
- "\x6a\xd0\x98\x4f\xa0\x6f\x78\xfe\x16\x1b\xd4\x6d\x7c\x26"
- "\x1d\xe4\x33\x40\xd7\x28\xdd\xdc\x3d\x0f\xf0\xdd\x7e\x0d"),
- },
+ STR(key, key_size,
+ "\xa3\x69\x1a\xa1\xf6\x81\x4b\x80\x59\x2b\xf1\xcf\x2a\xcf"
+ "\x16\x97"),
+ STR(label, label_size, "test label"),
+ STR(seed, seed_size,
+ "\x55\x23\xd4\x1e\x32\x0e\x69\x4d\x0c\x1f\xf5\x73\x4d\x83"
+ "\x0b\x93\x3e\x46\x92\x70\x71\xc9\x26\x21"),
+ STR(output, output_size,
+ "\x6a\xd0\x98\x4f\xa0\x6f\x78\xfe\x16\x1b\xd4\x6d\x7c\x26"
+ "\x1d\xe4\x33\x40\xd7\x28\xdd\xdc\x3d\x0f\xf0\xdd\x7e\x0d"),
+ },
/* tests/tls12-prf.c: sha256_test4 */
{
- STR(key, key_size,
- "\x21\x0e\xc9\x37\x06\x97\x07\xe5\x46\x5b\xc4\x6b\xf7\x79"
- "\xe1\x04\x10\x8b\x18\xfd\xb7\x93\xbe\x7b\x21\x8d\xbf\x14"
- "\x5c\x86\x41\xf3"),
- STR(label, label_size,
- "test label"),
- STR(seed, seed_size,
- "\x1e\x35\x1a\x0b\xaf\x35\xc7\x99\x45\x92\x43\x94\xb8\x81"
- "\xcf\xe3\x1d\xae\x8f\x1c\x1e\xd5\x4d\x3b"),
- STR(output, output_size,
- "\x76\x53\xfa\x80\x9c\xde\x3b\x55\x3c\x4a\x17\xe2\xcd\xbc"
- "\xc9\x18\xf3\x65\x27\xf2\x22\x19\xa7\xd7\xf9\x5d\x97\x24"
- "\x3f\xf2\xd5\xde\xe8\x26\x5e\xf0\xaf\x03"),
- },
+ STR(key, key_size,
+ "\x21\x0e\xc9\x37\x06\x97\x07\xe5\x46\x5b\xc4\x6b\xf7\x79"
+ "\xe1\x04\x10\x8b\x18\xfd\xb7\x93\xbe\x7b\x21\x8d\xbf\x14"
+ "\x5c\x86\x41\xf3"),
+ STR(label, label_size, "test label"),
+ STR(seed, seed_size,
+ "\x1e\x35\x1a\x0b\xaf\x35\xc7\x99\x45\x92\x43\x94\xb8\x81"
+ "\xcf\xe3\x1d\xae\x8f\x1c\x1e\xd5\x4d\x3b"),
+ STR(output, output_size,
+ "\x76\x53\xfa\x80\x9c\xde\x3b\x55\x3c\x4a\x17\xe2\xcd\xbc"
+ "\xc9\x18\xf3\x65\x27\xf2\x22\x19\xa7\xd7\xf9\x5d\x97\x24"
+ "\x3f\xf2\xd5\xde\xe8\x26\x5e\xf0\xaf\x03"),
+ },
};
const struct tlsprf_vectors_st tls12prf_sha384_vectors[] = {
@@ -3369,27 +3224,26 @@ const struct tlsprf_vectors_st tls12prf_sha384_vectors[] = {
* https://www.ietf.org/mail-archive/web/tls/current/msg03416.html
*/
{
- STR(key, key_size,
- "\xb8\x0b\x73\x3d\x6c\xee\xfc\xdc\x71\x56\x6e\xa4\x8e\x55"
- "\x67\xdf"),
- STR(label, label_size,
- "test label"),
- STR(seed, seed_size,
- "\xcd\x66\x5c\xf6\xa8\x44\x7d\xd6\xff\x8b\x27\x55\x5e\xdb"
- "\x74\x65"),
- STR(output, output_size,
- "\x7b\x0c\x18\xe9\xce\xd4\x10\xed\x18\x04\xf2\xcf\xa3\x4a"
- "\x33\x6a\x1c\x14\xdf\xfb\x49\x00\xbb\x5f\xd7\x94\x21\x07"
- "\xe8\x1c\x83\xcd\xe9\xca\x0f\xaa\x60\xbe\x9f\xe3\x4f\x82"
- "\xb1\x23\x3c\x91\x46\xa0\xe5\x34\xcb\x40\x0f\xed\x27\x00"
- "\x88\x4f\x9d\xc2\x36\xf8\x0e\xdd\x8b\xfa\x96\x11\x44\xc9"
- "\xe8\xd7\x92\xec\xa7\x22\xa7\xb3\x2f\xc3\xd4\x16\xd4\x73"
- "\xeb\xc2\xc5\xfd\x4a\xbf\xda\xd0\x5d\x91\x84\x25\x9b\x5b"
- "\xf8\xcd\x4d\x90\xfa\x0d\x31\xe2\xde\xc4\x79\xe4\xf1\xa2"
- "\x60\x66\xf2\xee\xa9\xa6\x92\x36\xa3\xe5\x26\x55\xc9\xe9"
- "\xae\xe6\x91\xc8\xf3\xa2\x68\x54\x30\x8d\x5e\xaa\x3b\xe8"
- "\x5e\x09\x90\x70\x3d\x73\xe5\x6f"),
- },
+ STR(key, key_size,
+ "\xb8\x0b\x73\x3d\x6c\xee\xfc\xdc\x71\x56\x6e\xa4\x8e\x55"
+ "\x67\xdf"),
+ STR(label, label_size, "test label"),
+ STR(seed, seed_size,
+ "\xcd\x66\x5c\xf6\xa8\x44\x7d\xd6\xff\x8b\x27\x55\x5e\xdb"
+ "\x74\x65"),
+ STR(output, output_size,
+ "\x7b\x0c\x18\xe9\xce\xd4\x10\xed\x18\x04\xf2\xcf\xa3\x4a"
+ "\x33\x6a\x1c\x14\xdf\xfb\x49\x00\xbb\x5f\xd7\x94\x21\x07"
+ "\xe8\x1c\x83\xcd\xe9\xca\x0f\xaa\x60\xbe\x9f\xe3\x4f\x82"
+ "\xb1\x23\x3c\x91\x46\xa0\xe5\x34\xcb\x40\x0f\xed\x27\x00"
+ "\x88\x4f\x9d\xc2\x36\xf8\x0e\xdd\x8b\xfa\x96\x11\x44\xc9"
+ "\xe8\xd7\x92\xec\xa7\x22\xa7\xb3\x2f\xc3\xd4\x16\xd4\x73"
+ "\xeb\xc2\xc5\xfd\x4a\xbf\xda\xd0\x5d\x91\x84\x25\x9b\x5b"
+ "\xf8\xcd\x4d\x90\xfa\x0d\x31\xe2\xde\xc4\x79\xe4\xf1\xa2"
+ "\x60\x66\xf2\xee\xa9\xa6\x92\x36\xa3\xe5\x26\x55\xc9\xe9"
+ "\xae\xe6\x91\xc8\xf3\xa2\x68\x54\x30\x8d\x5e\xaa\x3b\xe8"
+ "\x5e\x09\x90\x70\x3d\x73\xe5\x6f"),
+ },
};
static int test_tlsprf(gnutls_mac_algorithm_t mac,
@@ -3402,8 +3256,7 @@ static int test_tlsprf(gnutls_mac_algorithm_t mac,
char output[4096];
int ret;
- ret = _gnutls_prf_raw(mac,
- vectors[i].key_size, vectors[i].key,
+ ret = _gnutls_prf_raw(mac, vectors[i].key_size, vectors[i].key,
vectors[i].label_size,
(const char *)vectors[i].label,
vectors[i].seed_size, vectors[i].seed,
@@ -3416,17 +3269,16 @@ static int test_tlsprf(gnutls_mac_algorithm_t mac,
if (memcmp(output, vectors[i].output, vectors[i].output_size) !=
0) {
- _gnutls_debug_log
- ("TLS-PRF: MAC-%s test vector failed!\n",
- gnutls_mac_get_name(mac));
+ _gnutls_debug_log(
+ "TLS-PRF: MAC-%s test vector failed!\n",
+ gnutls_mac_get_name(mac));
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
}
}
- _gnutls_debug_log
- ("TLS-PRF: MAC-%s self check succeeded\n",
- gnutls_mac_get_name(mac));
+ _gnutls_debug_log("TLS-PRF: MAC-%s self check succeeded\n",
+ gnutls_mac_get_name(mac));
return 0;
}
diff --git a/lib/crypto.h b/lib/crypto.h
index 8a5638ba03..940356040a 100644
--- a/lib/crypto.h
+++ b/lib/crypto.h
@@ -21,21 +21,20 @@
*/
#ifndef GNUTLS_LIB_CRYPTO_H
-# define GNUTLS_LIB_CRYPTO_H
+#define GNUTLS_LIB_CRYPTO_H
-const gnutls_crypto_cipher_st
- * _gnutls_get_crypto_cipher(gnutls_cipher_algorithm_t algo);
-const gnutls_crypto_digest_st
- * _gnutls_get_crypto_digest(gnutls_digest_algorithm_t algo);
+const gnutls_crypto_cipher_st *
+_gnutls_get_crypto_cipher(gnutls_cipher_algorithm_t algo);
+const gnutls_crypto_digest_st *
+_gnutls_get_crypto_digest(gnutls_digest_algorithm_t algo);
const gnutls_crypto_mac_st *_gnutls_get_crypto_mac(gnutls_mac_algorithm_t algo);
void _gnutls_crypto_deregister(void);
int _gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
+ int priority, gnutls_cipher_init_func init,
gnutls_cipher_setkey_func setkey,
gnutls_cipher_setiv_func setiv,
gnutls_cipher_encrypt_func encrypt,
gnutls_cipher_decrypt_func decrypt,
gnutls_cipher_deinit_func deinit);
-#endif /* GNUTLS_LIB_CRYPTO_H */
+#endif /* GNUTLS_LIB_CRYPTO_H */
diff --git a/lib/datum.c b/lib/datum.c
index a374c905d4..23a1b338b3 100644
--- a/lib/datum.c
+++ b/lib/datum.c
@@ -31,7 +31,7 @@
#include "errors.h"
/* On error, @dat is not changed. */
-int _gnutls_set_datum(gnutls_datum_t * dat, const void *data, size_t data_size)
+int _gnutls_set_datum(gnutls_datum_t *dat, const void *data, size_t data_size)
{
if (data_size == 0 || data == NULL) {
dat->data = NULL;
@@ -54,8 +54,8 @@ int _gnutls_set_datum(gnutls_datum_t * dat, const void *data, size_t data_size)
* The function always returns an allocated string in @dat on success.
* On error, @dat is not changed.
*/
-int
-_gnutls_set_strdatum(gnutls_datum_t * dat, const void *data, size_t data_size)
+int _gnutls_set_strdatum(gnutls_datum_t *dat, const void *data,
+ size_t data_size)
{
if (data == NULL)
return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
diff --git a/lib/datum.h b/lib/datum.h
index 87fb91b5fe..1ae62e3d11 100644
--- a/lib/datum.h
+++ b/lib/datum.h
@@ -21,24 +21,24 @@
*/
#ifndef GNUTLS_LIB_DATUM_H
-# define GNUTLS_LIB_DATUM_H
+#define GNUTLS_LIB_DATUM_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
/* This will copy the provided data in @dat. If the provided data are
* NULL or zero-size @dat will be NULL as well.
*/
-NODISCARD ATTRIBUTE_NONNULL((1))
-int _gnutls_set_datum(gnutls_datum_t * dat, const void *data, size_t data_size);
+NODISCARD ATTRIBUTE_NONNULL((1)) int _gnutls_set_datum(gnutls_datum_t *dat,
+ const void *data,
+ size_t data_size);
/* This will always return a non-NULL, and zero-terminated string in @dat.
*/
-NODISCARD ATTRIBUTE_NONNULL((1))
-int _gnutls_set_strdatum(gnutls_datum_t * dat, const void *data,
- size_t data_size);
+NODISCARD ATTRIBUTE_NONNULL((1)) int _gnutls_set_strdatum(gnutls_datum_t *dat,
+ const void *data,
+ size_t data_size);
-inline static
-void _gnutls_free_datum(gnutls_datum_t * dat)
+inline static void _gnutls_free_datum(gnutls_datum_t *dat)
{
if (dat != NULL) {
gnutls_free(dat->data);
@@ -46,8 +46,8 @@ void _gnutls_free_datum(gnutls_datum_t * dat)
}
}
-inline static ATTRIBUTE_NONNULL()
-void _gnutls_free_temp_key_datum(gnutls_datum_t * dat)
+inline static ATTRIBUTE_NONNULL() void _gnutls_free_temp_key_datum(
+ gnutls_datum_t *dat)
{
if (dat->data != NULL) {
zeroize_temp_key(dat->data, dat->size);
@@ -57,8 +57,8 @@ void _gnutls_free_temp_key_datum(gnutls_datum_t * dat)
dat->size = 0;
}
-inline static ATTRIBUTE_NONNULL()
-void _gnutls_free_key_datum(gnutls_datum_t * dat)
+inline static ATTRIBUTE_NONNULL() void _gnutls_free_key_datum(
+ gnutls_datum_t *dat)
{
if (dat->data != NULL) {
zeroize_key(dat->data, dat->size);
@@ -68,4 +68,4 @@ void _gnutls_free_key_datum(gnutls_datum_t * dat)
dat->size = 0;
}
-#endif /* GNUTLS_LIB_DATUM_H */
+#endif /* GNUTLS_LIB_DATUM_H */
diff --git a/lib/db.c b/lib/db.c
index e2dcf9dfc4..abd2db2971 100644
--- a/lib/db.c
+++ b/lib/db.c
@@ -48,9 +48,8 @@
* The first argument to @retr_func will be null unless
* gnutls_db_set_ptr() has been called.
**/
-void
-gnutls_db_set_retrieve_function(gnutls_session_t session,
- gnutls_db_retr_func retr_func)
+void gnutls_db_set_retrieve_function(gnutls_session_t session,
+ gnutls_db_retr_func retr_func)
{
session->internals.db_retrieve_func = retr_func;
}
@@ -66,9 +65,8 @@ gnutls_db_set_retrieve_function(gnutls_session_t session,
* The first argument to @rem_func will be null unless
* gnutls_db_set_ptr() has been called.
**/
-void
-gnutls_db_set_remove_function(gnutls_session_t session,
- gnutls_db_remove_func rem_func)
+void gnutls_db_set_remove_function(gnutls_session_t session,
+ gnutls_db_remove_func rem_func)
{
session->internals.db_remove_func = rem_func;
}
@@ -84,9 +82,8 @@ gnutls_db_set_remove_function(gnutls_session_t session,
* The first argument to @store_func will be null unless
* gnutls_db_set_ptr() has been called.
**/
-void
-gnutls_db_set_store_function(gnutls_session_t session,
- gnutls_db_store_func store_func)
+void gnutls_db_set_store_function(gnutls_session_t session,
+ gnutls_db_store_func store_func)
{
session->internals.db_store_func = store_func;
}
@@ -159,8 +156,8 @@ unsigned gnutls_db_get_default_cache_expiration(void)
*
* Deprecated: This function is deprecated.
**/
-int
-gnutls_db_check_entry(gnutls_session_t session, gnutls_datum_t session_entry)
+int gnutls_db_check_entry(gnutls_session_t session,
+ gnutls_datum_t session_entry)
{
return 0;
}
@@ -174,7 +171,7 @@ gnutls_db_check_entry(gnutls_session_t session, gnutls_datum_t session_entry)
*
* Returns: The time this entry was created, or zero on error.
**/
-time_t gnutls_db_check_entry_time(gnutls_datum_t * entry)
+time_t gnutls_db_check_entry_time(gnutls_datum_t *entry)
{
uint32_t t;
uint32_t magic;
@@ -203,7 +200,7 @@ time_t gnutls_db_check_entry_time(gnutls_datum_t * entry)
*
* Since: 3.6.5
**/
-time_t gnutls_db_check_entry_expire_time(gnutls_datum_t * entry)
+time_t gnutls_db_check_entry_expire_time(gnutls_datum_t *entry)
{
uint32_t t;
uint32_t e;
@@ -240,9 +237,8 @@ static int db_func_is_ok(gnutls_session_t session)
/* Stores session data to the db backend.
*/
-static int
-store_session(gnutls_session_t session,
- gnutls_datum_t session_id, gnutls_datum_t session_data)
+static int store_session(gnutls_session_t session, gnutls_datum_t session_id,
+ gnutls_datum_t session_data)
{
int ret = 0;
@@ -299,19 +295,18 @@ int _gnutls_check_resumed_params(gnutls_session_t session)
const version_entry_st *vers;
/* check whether the session is expired */
- if (timestamp -
+ if (timestamp - session->internals.resumed_security_parameters.timestamp >
+ session->internals.expire_time ||
session->internals.resumed_security_parameters.timestamp >
- session->internals.expire_time
- || session->internals.resumed_security_parameters.timestamp >
- timestamp)
+ timestamp)
return gnutls_assert_val(GNUTLS_E_EXPIRED);
/* check various parameters applicable to resumption in TLS1.2 or earlier
*/
vers = get_version(session);
if (!vers || !vers->tls13_sem) {
- if (session->internals.
- resumed_security_parameters.ext_master_secret !=
+ if (session->internals.resumed_security_parameters
+ .ext_master_secret !=
session->security_parameters.ext_master_secret)
return gnutls_assert_val(GNUTLS_E_INVALID_SESSION);
@@ -322,9 +317,8 @@ int _gnutls_check_resumed_params(gnutls_session_t session)
return 0;
}
-int
-_gnutls_server_restore_session(gnutls_session_t session,
- uint8_t * session_id, int session_id_size)
+int _gnutls_server_restore_session(gnutls_session_t session,
+ uint8_t *session_id, int session_id_size)
{
gnutls_datum_t data;
gnutls_datum_t key;
@@ -335,14 +329,15 @@ _gnutls_server_restore_session(gnutls_session_t session,
return GNUTLS_E_INVALID_REQUEST;
}
- if (session->internals.premaster_set != 0) { /* hack for CISCO's DTLS-0.9 */
+ if (session->internals.premaster_set !=
+ 0) { /* hack for CISCO's DTLS-0.9 */
if (session_id_size ==
- session->internals.resumed_security_parameters.
- session_id_size
- && memcmp(session_id,
- session->internals.
- resumed_security_parameters.session_id,
- session_id_size) == 0)
+ session->internals.resumed_security_parameters
+ .session_id_size &&
+ memcmp(session_id,
+ session->internals.resumed_security_parameters
+ .session_id,
+ session_id_size) == 0)
return 0;
}
@@ -354,8 +349,8 @@ _gnutls_server_restore_session(gnutls_session_t session,
return GNUTLS_E_INVALID_SESSION;
}
- data =
- session->internals.db_retrieve_func(session->internals.db_ptr, key);
+ data = session->internals.db_retrieve_func(session->internals.db_ptr,
+ key);
if (data.data == NULL) {
gnutls_assert();
@@ -400,12 +395,12 @@ void gnutls_db_remove_session(gnutls_session_t session)
if (session->internals.db_remove_func == NULL) {
gnutls_assert();
- return /* GNUTLS_E_DB_ERROR */ ;
+ return /* GNUTLS_E_DB_ERROR */;
}
if (session_id.data == NULL || session_id.size == 0) {
gnutls_assert();
- return /* GNUTLS_E_INVALID_SESSION */ ;
+ return /* GNUTLS_E_INVALID_SESSION */;
}
/* if we can't read why bother writing? */
diff --git a/lib/db.h b/lib/db.h
index b45ee912e2..7783e68165 100644
--- a/lib/db.h
+++ b/lib/db.h
@@ -21,14 +21,14 @@
*/
#ifndef GNUTLS_LIB_DB_H
-# define GNUTLS_LIB_DB_H
+#define GNUTLS_LIB_DB_H
int _gnutls_server_register_current_session(gnutls_session_t session);
int _gnutls_server_restore_session(gnutls_session_t session,
- uint8_t * session_id, int session_id_size);
+ uint8_t *session_id, int session_id_size);
int _gnutls_check_resumed_params(gnutls_session_t session);
-# define PACKED_SESSION_MAGIC ((0xfadebadd)+(_gnutls_global_version))
+#define PACKED_SESSION_MAGIC ((0xfadebadd) + (_gnutls_global_version))
-#endif /* GNUTLS_LIB_DB_H */
+#endif /* GNUTLS_LIB_DB_H */
diff --git a/lib/debug.c b/lib/debug.c
index 532fa2a92d..cb1b0ca594 100644
--- a/lib/debug.c
+++ b/lib/debug.c
@@ -35,19 +35,19 @@ void _gnutls_dump_mpi(const char *prefix, bigint_t a)
size_t n = sizeof buf;
if (_gnutls_mpi_print(a, buf, &n))
- strcpy(buf, "[can't print value]"); /* Flawfinder: ignore */
+ strcpy(buf, "[can't print value]"); /* Flawfinder: ignore */
_gnutls_debug_log("MPI: length: %d\n\t%s%s\n", (int)n, prefix,
_gnutls_bin2hex(buf, n, buf_hex, sizeof(buf_hex),
NULL));
}
-void _gnutls_dump_vector(const char *prefix, const uint8_t * a, size_t a_size)
+void _gnutls_dump_vector(const char *prefix, const uint8_t *a, size_t a_size)
{
char buf_hex[2 * a_size + 1];
- _gnutls_debug_log("Vector: length: %d\n\t%s%s\n", (int)a_size,
- prefix, _gnutls_bin2hex(a, a_size, buf_hex,
- sizeof(buf_hex), NULL));
+ _gnutls_debug_log("Vector: length: %d\n\t%s%s\n", (int)a_size, prefix,
+ _gnutls_bin2hex(a, a_size, buf_hex, sizeof(buf_hex),
+ NULL));
}
#endif
@@ -78,8 +78,8 @@ const char *_gnutls_packet2str(content_type_t packet)
* Returns: a string that contains the name of the specified handshake
* message or %NULL.
**/
-const char
-*gnutls_handshake_description_get_name(gnutls_handshake_description_t type)
+const char *
+gnutls_handshake_description_get_name(gnutls_handshake_description_t type)
{
switch (type) {
case GNUTLS_HANDSHAKE_END_OF_EARLY_DATA:
diff --git a/lib/debug.h b/lib/debug.h
index 6455a59fe8..baae999666 100644
--- a/lib/debug.h
+++ b/lib/debug.h
@@ -21,7 +21,7 @@
*/
#ifndef GNUTLS_LIB_DEBUG_H
-# define GNUTLS_LIB_DEBUG_H
+#define GNUTLS_LIB_DEBUG_H
const char *_gnutls_packet2str(content_type_t packet);
inline static const char *_gnutls_handshake2str(unsigned x)
@@ -34,6 +34,6 @@ inline static const char *_gnutls_handshake2str(unsigned x)
}
void _gnutls_dump_mpi(const char *prefix, bigint_t a);
-void _gnutls_dump_vector(const char *prefix, const uint8_t * a, size_t a_size);
+void _gnutls_dump_vector(const char *prefix, const uint8_t *a, size_t a_size);
-#endif /* GNUTLS_LIB_DEBUG_H */
+#endif /* GNUTLS_LIB_DEBUG_H */
diff --git a/lib/dh-primes.c b/lib/dh-primes.c
index c20b7df958..a007eea77f 100644
--- a/lib/dh-primes.c
+++ b/lib/dh-primes.c
@@ -28,82 +28,52 @@
static const unsigned char ffdhe_generator = 0x02;
static const unsigned char ffdhe_params_2048[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xAD, 0xF8, 0x54, 0x58, 0xA2, 0xBB,
- 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27,
- 0x3D, 0x3C, 0xF1, 0xD8, 0xB9, 0xC5, 0x83,
- 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36,
- 0x41, 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93,
- 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 0x7D,
- 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8,
- 0xF6, 0x81, 0xB2, 0x02, 0xAE, 0xC4, 0x61,
- 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD,
- 0x65, 0x61, 0x24, 0x33, 0xF5, 0x1F, 0x5F,
- 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
- 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13,
- 0x5E, 0x7F, 0x57, 0xC9, 0x35, 0x98, 0x4F,
- 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2,
- 0xA6, 0x89, 0xDA, 0xF3, 0xEF, 0xE8, 0x72,
- 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7,
- 0x35, 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A,
- 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 0xB3,
- 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B,
- 0xB2, 0xC8, 0xE3, 0xFB, 0xB9, 0x6A, 0xDA,
- 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F,
- 0x42, 0xA3, 0xDE, 0x39, 0x4D, 0xF4, 0xAE,
- 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
- 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D,
- 0x70, 0x9E, 0x02, 0xFC, 0xE1, 0xCD, 0xF7,
- 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28,
- 0x34, 0x2F, 0x61, 0x91, 0x72, 0xFE, 0x9C,
- 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12,
- 0x32, 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE,
- 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 0x3B,
- 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05,
- 0xC5, 0x8E, 0xF1, 0x83, 0x7D, 0x16, 0x83,
- 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2,
- 0xEF, 0xFA, 0x88, 0x6B, 0x42, 0x38, 0x61,
- 0x28, 0x5C, 0x97, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58,
+ 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1,
+ 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41,
+ 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9,
+ 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02,
+ 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61,
+ 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
+ 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35,
+ 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA,
+ 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35,
+ 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82,
+ 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB,
+ 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3,
+ 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
+ 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1,
+ 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61,
+ 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32,
+ 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73,
+ 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83,
+ 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA,
+ 0x88, 0x6B, 0x42, 0x38, 0x61, 0x28, 0x5C, 0x97, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char ffdhe_q_2048[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xD6, 0xFC, 0x2A, 0x2C, 0x51, 0x5D,
- 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13,
- 0x9E, 0x9E, 0x78, 0xEC, 0x5C, 0xE2, 0xC1,
- 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B,
- 0x20, 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49,
- 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C, 0xBE,
- 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC,
- 0x7B, 0x40, 0xD9, 0x01, 0x57, 0x62, 0x30,
- 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE,
- 0xB2, 0xB0, 0x92, 0x19, 0xFA, 0x8F, 0xAF,
- 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
- 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89,
- 0xAF, 0x3F, 0xAB, 0xE4, 0x9A, 0xCC, 0x27,
- 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1,
- 0x53, 0x44, 0xED, 0x79, 0xF7, 0xF4, 0x39,
- 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3,
- 0x9A, 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D,
- 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1, 0x59,
- 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5,
- 0xD9, 0x64, 0x71, 0xFD, 0xDC, 0xB5, 0x6D,
- 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7,
- 0xA1, 0x51, 0xEF, 0x1C, 0xA6, 0xFA, 0x57,
- 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
- 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36,
- 0xB8, 0x4F, 0x01, 0x7E, 0x70, 0xE6, 0xFB,
- 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94,
- 0x1A, 0x17, 0xB0, 0xC8, 0xB9, 0x7F, 0x4E,
- 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89,
- 0x19, 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF,
- 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9, 0x9D,
- 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02,
- 0xE2, 0xC7, 0x78, 0xC1, 0xBE, 0x8B, 0x41,
- 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9,
- 0x77, 0xFD, 0x44, 0x35, 0xA1, 0x1C, 0x30,
- 0x94, 0x2E, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x2A, 0x2C,
+ 0x51, 0x5D, 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13, 0x9E, 0x9E, 0x78,
+ 0xEC, 0x5C, 0xE2, 0xC1, 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B, 0x20,
+ 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49, 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C,
+ 0xBE, 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC, 0x7B, 0x40, 0xD9, 0x01,
+ 0x57, 0x62, 0x30, 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE, 0xB2, 0xB0,
+ 0x92, 0x19, 0xFA, 0x8F, 0xAF, 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
+ 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89, 0xAF, 0x3F, 0xAB, 0xE4, 0x9A,
+ 0xCC, 0x27, 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1, 0x53, 0x44, 0xED,
+ 0x79, 0xF7, 0xF4, 0x39, 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3, 0x9A,
+ 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D, 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1,
+ 0x59, 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5, 0xD9, 0x64, 0x71, 0xFD,
+ 0xDC, 0xB5, 0x6D, 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7, 0xA1, 0x51,
+ 0xEF, 0x1C, 0xA6, 0xFA, 0x57, 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
+ 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36, 0xB8, 0x4F, 0x01, 0x7E, 0x70,
+ 0xE6, 0xFB, 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94, 0x1A, 0x17, 0xB0,
+ 0xC8, 0xB9, 0x7F, 0x4E, 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89, 0x19,
+ 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF, 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9,
+ 0x9D, 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02, 0xE2, 0xC7, 0x78, 0xC1,
+ 0xBE, 0x8B, 0x41, 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9, 0x77, 0xFD,
+ 0x44, 0x35, 0xA1, 0x1C, 0x30, 0x94, 0x2E, 0x4B, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF
};
@@ -111,9 +81,8 @@ const gnutls_datum_t gnutls_ffdhe_2048_group_prime = {
(void *)ffdhe_params_2048, sizeof(ffdhe_params_2048)
};
-const gnutls_datum_t gnutls_ffdhe_2048_group_q = {
- (void *)ffdhe_q_2048, sizeof(ffdhe_q_2048)
-};
+const gnutls_datum_t gnutls_ffdhe_2048_group_q = { (void *)ffdhe_q_2048,
+ sizeof(ffdhe_q_2048) };
const gnutls_datum_t gnutls_ffdhe_2048_group_generator = {
(void *)&ffdhe_generator, sizeof(ffdhe_generator)
@@ -122,128 +91,81 @@ const gnutls_datum_t gnutls_ffdhe_2048_group_generator = {
const unsigned int gnutls_ffdhe_2048_key_bits = 256;
static const unsigned char ffdhe_params_3072[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xAD, 0xF8, 0x54, 0x58, 0xA2, 0xBB,
- 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27,
- 0x3D, 0x3C, 0xF1, 0xD8, 0xB9, 0xC5, 0x83,
- 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36,
- 0x41, 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93,
- 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 0x7D,
- 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8,
- 0xF6, 0x81, 0xB2, 0x02, 0xAE, 0xC4, 0x61,
- 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD,
- 0x65, 0x61, 0x24, 0x33, 0xF5, 0x1F, 0x5F,
- 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
- 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13,
- 0x5E, 0x7F, 0x57, 0xC9, 0x35, 0x98, 0x4F,
- 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2,
- 0xA6, 0x89, 0xDA, 0xF3, 0xEF, 0xE8, 0x72,
- 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7,
- 0x35, 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A,
- 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 0xB3,
- 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B,
- 0xB2, 0xC8, 0xE3, 0xFB, 0xB9, 0x6A, 0xDA,
- 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F,
- 0x42, 0xA3, 0xDE, 0x39, 0x4D, 0xF4, 0xAE,
- 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
- 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D,
- 0x70, 0x9E, 0x02, 0xFC, 0xE1, 0xCD, 0xF7,
- 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28,
- 0x34, 0x2F, 0x61, 0x91, 0x72, 0xFE, 0x9C,
- 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12,
- 0x32, 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE,
- 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 0x3B,
- 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05,
- 0xC5, 0x8E, 0xF1, 0x83, 0x7D, 0x16, 0x83,
- 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2,
- 0xEF, 0xFA, 0x88, 0x6B, 0x42, 0x38, 0x61,
- 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
- 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4,
- 0xDE, 0xF9, 0x9C, 0x02, 0x38, 0x61, 0xB4,
- 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A,
- 0xD9, 0x1D, 0x26, 0x91, 0xF7, 0xF7, 0xEE,
- 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9,
- 0x1C, 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13,
- 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 0xBC,
- 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52,
- 0xE2, 0xD7, 0x4D, 0xD3, 0x64, 0xF2, 0xE2,
- 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE,
- 0x82, 0xAB, 0x9C, 0x9D, 0xF6, 0x9E, 0xE8,
- 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
- 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA,
- 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 0xD5, 0xC4,
- 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA,
- 0x53, 0xDD, 0xEF, 0x3C, 0x1B, 0x20, 0xEE,
- 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D,
- 0x2B, 0x66, 0xC6, 0x2E, 0x37, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58,
+ 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1,
+ 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41,
+ 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9,
+ 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02,
+ 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61,
+ 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
+ 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35,
+ 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA,
+ 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35,
+ 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82,
+ 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB,
+ 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3,
+ 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
+ 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1,
+ 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61,
+ 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32,
+ 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73,
+ 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83,
+ 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA,
+ 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
+ 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38,
+ 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26,
+ 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C,
+ 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93,
+ 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3,
+ 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB,
+ 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
+ 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42,
+ 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF,
+ 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B,
+ 0x66, 0xC6, 0x2E, 0x37, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char ffdhe_q_3072[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xD6, 0xFC, 0x2A, 0x2C, 0x51, 0x5D,
- 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13,
- 0x9E, 0x9E, 0x78, 0xEC, 0x5C, 0xE2, 0xC1,
- 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B,
- 0x20, 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49,
- 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C, 0xBE,
- 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC,
- 0x7B, 0x40, 0xD9, 0x01, 0x57, 0x62, 0x30,
- 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE,
- 0xB2, 0xB0, 0x92, 0x19, 0xFA, 0x8F, 0xAF,
- 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
- 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89,
- 0xAF, 0x3F, 0xAB, 0xE4, 0x9A, 0xCC, 0x27,
- 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1,
- 0x53, 0x44, 0xED, 0x79, 0xF7, 0xF4, 0x39,
- 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3,
- 0x9A, 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D,
- 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1, 0x59,
- 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5,
- 0xD9, 0x64, 0x71, 0xFD, 0xDC, 0xB5, 0x6D,
- 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7,
- 0xA1, 0x51, 0xEF, 0x1C, 0xA6, 0xFA, 0x57,
- 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
- 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36,
- 0xB8, 0x4F, 0x01, 0x7E, 0x70, 0xE6, 0xFB,
- 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94,
- 0x1A, 0x17, 0xB0, 0xC8, 0xB9, 0x7F, 0x4E,
- 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89,
- 0x19, 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF,
- 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9, 0x9D,
- 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02,
- 0xE2, 0xC7, 0x78, 0xC1, 0xBE, 0x8B, 0x41,
- 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9,
- 0x77, 0xFD, 0x44, 0x35, 0xA1, 0x1C, 0x30,
- 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
- 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A,
- 0x6F, 0x7C, 0xCE, 0x01, 0x1C, 0x30, 0xDA,
- 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD,
- 0x6C, 0x8E, 0x93, 0x48, 0xFB, 0xFB, 0xF7,
- 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C,
- 0x8E, 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89,
- 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49, 0xDE,
- 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29,
- 0x71, 0x6B, 0xA6, 0xE9, 0xB2, 0x79, 0x71,
- 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57,
- 0x41, 0x55, 0xCE, 0x4E, 0xFB, 0x4F, 0x74,
- 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
- 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5,
- 0x6D, 0x0E, 0xDF, 0xCD, 0x21, 0x6A, 0xE2,
- 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD,
- 0x29, 0xEE, 0xF7, 0x9E, 0x0D, 0x90, 0x77,
- 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E,
- 0x95, 0xB3, 0x63, 0x17, 0x1B, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x2A, 0x2C,
+ 0x51, 0x5D, 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13, 0x9E, 0x9E, 0x78,
+ 0xEC, 0x5C, 0xE2, 0xC1, 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B, 0x20,
+ 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49, 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C,
+ 0xBE, 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC, 0x7B, 0x40, 0xD9, 0x01,
+ 0x57, 0x62, 0x30, 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE, 0xB2, 0xB0,
+ 0x92, 0x19, 0xFA, 0x8F, 0xAF, 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
+ 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89, 0xAF, 0x3F, 0xAB, 0xE4, 0x9A,
+ 0xCC, 0x27, 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1, 0x53, 0x44, 0xED,
+ 0x79, 0xF7, 0xF4, 0x39, 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3, 0x9A,
+ 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D, 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1,
+ 0x59, 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5, 0xD9, 0x64, 0x71, 0xFD,
+ 0xDC, 0xB5, 0x6D, 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7, 0xA1, 0x51,
+ 0xEF, 0x1C, 0xA6, 0xFA, 0x57, 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
+ 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36, 0xB8, 0x4F, 0x01, 0x7E, 0x70,
+ 0xE6, 0xFB, 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94, 0x1A, 0x17, 0xB0,
+ 0xC8, 0xB9, 0x7F, 0x4E, 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89, 0x19,
+ 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF, 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9,
+ 0x9D, 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02, 0xE2, 0xC7, 0x78, 0xC1,
+ 0xBE, 0x8B, 0x41, 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9, 0x77, 0xFD,
+ 0x44, 0x35, 0xA1, 0x1C, 0x30, 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
+ 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A, 0x6F, 0x7C, 0xCE, 0x01, 0x1C,
+ 0x30, 0xDA, 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD, 0x6C, 0x8E, 0x93,
+ 0x48, 0xFB, 0xFB, 0xF7, 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C, 0x8E,
+ 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89, 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49,
+ 0xDE, 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29, 0x71, 0x6B, 0xA6, 0xE9,
+ 0xB2, 0x79, 0x71, 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57, 0x41, 0x55,
+ 0xCE, 0x4E, 0xFB, 0x4F, 0x74, 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
+ 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5, 0x6D, 0x0E, 0xDF, 0xCD, 0x21,
+ 0x6A, 0xE2, 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD, 0x29, 0xEE, 0xF7,
+ 0x9E, 0x0D, 0x90, 0x77, 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E, 0x95,
+ 0xB3, 0x63, 0x17, 0x1B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_ffdhe_3072_group_prime = {
(void *)ffdhe_params_3072, sizeof(ffdhe_params_3072)
};
-const gnutls_datum_t gnutls_ffdhe_3072_group_q = {
- (void *)ffdhe_q_3072, sizeof(ffdhe_q_3072)
-};
+const gnutls_datum_t gnutls_ffdhe_3072_group_q = { (void *)ffdhe_q_3072,
+ sizeof(ffdhe_q_3072) };
const gnutls_datum_t gnutls_ffdhe_3072_group_generator = {
(void *)&ffdhe_generator, sizeof(ffdhe_generator)
@@ -252,166 +174,103 @@ const gnutls_datum_t gnutls_ffdhe_3072_group_generator = {
const unsigned int gnutls_ffdhe_3072_key_bits = 276;
static const unsigned char ffdhe_params_4096[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xAD, 0xF8, 0x54, 0x58, 0xA2, 0xBB,
- 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27,
- 0x3D, 0x3C, 0xF1, 0xD8, 0xB9, 0xC5, 0x83,
- 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36,
- 0x41, 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93,
- 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 0x7D,
- 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8,
- 0xF6, 0x81, 0xB2, 0x02, 0xAE, 0xC4, 0x61,
- 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD,
- 0x65, 0x61, 0x24, 0x33, 0xF5, 0x1F, 0x5F,
- 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
- 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13,
- 0x5E, 0x7F, 0x57, 0xC9, 0x35, 0x98, 0x4F,
- 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2,
- 0xA6, 0x89, 0xDA, 0xF3, 0xEF, 0xE8, 0x72,
- 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7,
- 0x35, 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A,
- 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 0xB3,
- 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B,
- 0xB2, 0xC8, 0xE3, 0xFB, 0xB9, 0x6A, 0xDA,
- 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F,
- 0x42, 0xA3, 0xDE, 0x39, 0x4D, 0xF4, 0xAE,
- 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
- 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D,
- 0x70, 0x9E, 0x02, 0xFC, 0xE1, 0xCD, 0xF7,
- 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28,
- 0x34, 0x2F, 0x61, 0x91, 0x72, 0xFE, 0x9C,
- 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12,
- 0x32, 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE,
- 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 0x3B,
- 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05,
- 0xC5, 0x8E, 0xF1, 0x83, 0x7D, 0x16, 0x83,
- 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2,
- 0xEF, 0xFA, 0x88, 0x6B, 0x42, 0x38, 0x61,
- 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
- 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4,
- 0xDE, 0xF9, 0x9C, 0x02, 0x38, 0x61, 0xB4,
- 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A,
- 0xD9, 0x1D, 0x26, 0x91, 0xF7, 0xF7, 0xEE,
- 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9,
- 0x1C, 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13,
- 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 0xBC,
- 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52,
- 0xE2, 0xD7, 0x4D, 0xD3, 0x64, 0xF2, 0xE2,
- 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE,
- 0x82, 0xAB, 0x9C, 0x9D, 0xF6, 0x9E, 0xE8,
- 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
- 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA,
- 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 0xD5, 0xC4,
- 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA,
- 0x53, 0xDD, 0xEF, 0x3C, 0x1B, 0x20, 0xEE,
- 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D,
- 0x2B, 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F,
- 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB, 0x79,
- 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6,
- 0xAC, 0x7D, 0x5F, 0x42, 0xD6, 0x9F, 0x6D,
- 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03,
- 0x40, 0x04, 0x87, 0xF5, 0x5B, 0xA5, 0x7E,
- 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86,
- 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E,
- 0x01, 0x2D, 0x9E, 0x68, 0x32, 0xA9, 0x07,
- 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D,
- 0xC7, 0x78, 0xF9, 0x71, 0xAD, 0x00, 0x38,
- 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B,
- 0x7A, 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40,
- 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9, 0xF9,
- 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD,
- 0xCE, 0xC9, 0x7D, 0xCF, 0x8E, 0xC9, 0xB5,
- 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5,
- 0xA8, 0x51, 0xF4, 0x41, 0x82, 0xE1, 0xC6,
- 0x8A, 0x00, 0x7E, 0x5E, 0x65, 0x5F, 0x6A,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58,
+ 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1,
+ 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41,
+ 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9,
+ 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02,
+ 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61,
+ 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
+ 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35,
+ 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA,
+ 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35,
+ 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82,
+ 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB,
+ 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3,
+ 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
+ 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1,
+ 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61,
+ 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32,
+ 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73,
+ 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83,
+ 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA,
+ 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
+ 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38,
+ 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26,
+ 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C,
+ 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93,
+ 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3,
+ 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB,
+ 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
+ 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42,
+ 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF,
+ 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B,
+ 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F, 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB,
+ 0x79, 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6, 0xAC, 0x7D, 0x5F, 0x42,
+ 0xD6, 0x9F, 0x6D, 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03, 0x40, 0x04,
+ 0x87, 0xF5, 0x5B, 0xA5, 0x7E, 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86,
+ 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E, 0x01, 0x2D, 0x9E, 0x68, 0x32,
+ 0xA9, 0x07, 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D, 0xC7, 0x78, 0xF9,
+ 0x71, 0xAD, 0x00, 0x38, 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B, 0x7A,
+ 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40, 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9,
+ 0xF9, 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD, 0xCE, 0xC9, 0x7D, 0xCF,
+ 0x8E, 0xC9, 0xB5, 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5, 0xA8, 0x51,
+ 0xF4, 0x41, 0x82, 0xE1, 0xC6, 0x8A, 0x00, 0x7E, 0x5E, 0x65, 0x5F, 0x6A,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char ffdhe_q_4096[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xD6, 0xFC, 0x2A, 0x2C, 0x51, 0x5D,
- 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13,
- 0x9E, 0x9E, 0x78, 0xEC, 0x5C, 0xE2, 0xC1,
- 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B,
- 0x20, 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49,
- 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C, 0xBE,
- 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC,
- 0x7B, 0x40, 0xD9, 0x01, 0x57, 0x62, 0x30,
- 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE,
- 0xB2, 0xB0, 0x92, 0x19, 0xFA, 0x8F, 0xAF,
- 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
- 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89,
- 0xAF, 0x3F, 0xAB, 0xE4, 0x9A, 0xCC, 0x27,
- 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1,
- 0x53, 0x44, 0xED, 0x79, 0xF7, 0xF4, 0x39,
- 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3,
- 0x9A, 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D,
- 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1, 0x59,
- 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5,
- 0xD9, 0x64, 0x71, 0xFD, 0xDC, 0xB5, 0x6D,
- 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7,
- 0xA1, 0x51, 0xEF, 0x1C, 0xA6, 0xFA, 0x57,
- 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
- 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36,
- 0xB8, 0x4F, 0x01, 0x7E, 0x70, 0xE6, 0xFB,
- 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94,
- 0x1A, 0x17, 0xB0, 0xC8, 0xB9, 0x7F, 0x4E,
- 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89,
- 0x19, 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF,
- 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9, 0x9D,
- 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02,
- 0xE2, 0xC7, 0x78, 0xC1, 0xBE, 0x8B, 0x41,
- 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9,
- 0x77, 0xFD, 0x44, 0x35, 0xA1, 0x1C, 0x30,
- 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
- 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A,
- 0x6F, 0x7C, 0xCE, 0x01, 0x1C, 0x30, 0xDA,
- 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD,
- 0x6C, 0x8E, 0x93, 0x48, 0xFB, 0xFB, 0xF7,
- 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C,
- 0x8E, 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89,
- 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49, 0xDE,
- 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29,
- 0x71, 0x6B, 0xA6, 0xE9, 0xB2, 0x79, 0x71,
- 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57,
- 0x41, 0x55, 0xCE, 0x4E, 0xFB, 0x4F, 0x74,
- 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
- 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5,
- 0x6D, 0x0E, 0xDF, 0xCD, 0x21, 0x6A, 0xE2,
- 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD,
- 0x29, 0xEE, 0xF7, 0x9E, 0x0D, 0x90, 0x77,
- 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E,
- 0x95, 0xB3, 0x4F, 0x0F, 0x78, 0xB7, 0x37,
- 0xA9, 0x61, 0x8B, 0x26, 0xFA, 0x7D, 0xBC,
- 0x98, 0x74, 0xF2, 0x72, 0xC4, 0x2B, 0xDB,
- 0x56, 0x3E, 0xAF, 0xA1, 0x6B, 0x4F, 0xB6,
- 0x8C, 0x3B, 0xB1, 0xE7, 0x8E, 0xAA, 0x81,
- 0xA0, 0x02, 0x43, 0xFA, 0xAD, 0xD2, 0xBF,
- 0x18, 0xE6, 0x3D, 0x38, 0x9A, 0xE4, 0x43,
- 0x77, 0xDA, 0x18, 0xC5, 0x76, 0xB5, 0x0F,
- 0x00, 0x96, 0xCF, 0x34, 0x19, 0x54, 0x83,
- 0xB0, 0x05, 0x48, 0xC0, 0x98, 0x62, 0x36,
- 0xE3, 0xBC, 0x7C, 0xB8, 0xD6, 0x80, 0x1C,
- 0x04, 0x94, 0xCC, 0xD1, 0x99, 0xE5, 0xC5,
- 0xBD, 0x0D, 0x0E, 0xDC, 0x9E, 0xB8, 0xA0,
- 0x00, 0x1E, 0x15, 0x27, 0x67, 0x54, 0xFC,
- 0xC6, 0x85, 0x66, 0x05, 0x41, 0x48, 0xE6,
- 0xE7, 0x64, 0xBE, 0xE7, 0xC7, 0x64, 0xDA,
- 0xAD, 0x3F, 0xC4, 0x52, 0x35, 0xA6, 0xDA,
- 0xD4, 0x28, 0xFA, 0x20, 0xC1, 0x70, 0xE3,
- 0x45, 0x00, 0x3F, 0x2F, 0x32, 0xAF, 0xB5,
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x2A, 0x2C,
+ 0x51, 0x5D, 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13, 0x9E, 0x9E, 0x78,
+ 0xEC, 0x5C, 0xE2, 0xC1, 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B, 0x20,
+ 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49, 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C,
+ 0xBE, 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC, 0x7B, 0x40, 0xD9, 0x01,
+ 0x57, 0x62, 0x30, 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE, 0xB2, 0xB0,
+ 0x92, 0x19, 0xFA, 0x8F, 0xAF, 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
+ 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89, 0xAF, 0x3F, 0xAB, 0xE4, 0x9A,
+ 0xCC, 0x27, 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1, 0x53, 0x44, 0xED,
+ 0x79, 0xF7, 0xF4, 0x39, 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3, 0x9A,
+ 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D, 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1,
+ 0x59, 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5, 0xD9, 0x64, 0x71, 0xFD,
+ 0xDC, 0xB5, 0x6D, 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7, 0xA1, 0x51,
+ 0xEF, 0x1C, 0xA6, 0xFA, 0x57, 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
+ 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36, 0xB8, 0x4F, 0x01, 0x7E, 0x70,
+ 0xE6, 0xFB, 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94, 0x1A, 0x17, 0xB0,
+ 0xC8, 0xB9, 0x7F, 0x4E, 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89, 0x19,
+ 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF, 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9,
+ 0x9D, 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02, 0xE2, 0xC7, 0x78, 0xC1,
+ 0xBE, 0x8B, 0x41, 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9, 0x77, 0xFD,
+ 0x44, 0x35, 0xA1, 0x1C, 0x30, 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
+ 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A, 0x6F, 0x7C, 0xCE, 0x01, 0x1C,
+ 0x30, 0xDA, 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD, 0x6C, 0x8E, 0x93,
+ 0x48, 0xFB, 0xFB, 0xF7, 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C, 0x8E,
+ 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89, 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49,
+ 0xDE, 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29, 0x71, 0x6B, 0xA6, 0xE9,
+ 0xB2, 0x79, 0x71, 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57, 0x41, 0x55,
+ 0xCE, 0x4E, 0xFB, 0x4F, 0x74, 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
+ 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5, 0x6D, 0x0E, 0xDF, 0xCD, 0x21,
+ 0x6A, 0xE2, 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD, 0x29, 0xEE, 0xF7,
+ 0x9E, 0x0D, 0x90, 0x77, 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E, 0x95,
+ 0xB3, 0x4F, 0x0F, 0x78, 0xB7, 0x37, 0xA9, 0x61, 0x8B, 0x26, 0xFA, 0x7D,
+ 0xBC, 0x98, 0x74, 0xF2, 0x72, 0xC4, 0x2B, 0xDB, 0x56, 0x3E, 0xAF, 0xA1,
+ 0x6B, 0x4F, 0xB6, 0x8C, 0x3B, 0xB1, 0xE7, 0x8E, 0xAA, 0x81, 0xA0, 0x02,
+ 0x43, 0xFA, 0xAD, 0xD2, 0xBF, 0x18, 0xE6, 0x3D, 0x38, 0x9A, 0xE4, 0x43,
+ 0x77, 0xDA, 0x18, 0xC5, 0x76, 0xB5, 0x0F, 0x00, 0x96, 0xCF, 0x34, 0x19,
+ 0x54, 0x83, 0xB0, 0x05, 0x48, 0xC0, 0x98, 0x62, 0x36, 0xE3, 0xBC, 0x7C,
+ 0xB8, 0xD6, 0x80, 0x1C, 0x04, 0x94, 0xCC, 0xD1, 0x99, 0xE5, 0xC5, 0xBD,
+ 0x0D, 0x0E, 0xDC, 0x9E, 0xB8, 0xA0, 0x00, 0x1E, 0x15, 0x27, 0x67, 0x54,
+ 0xFC, 0xC6, 0x85, 0x66, 0x05, 0x41, 0x48, 0xE6, 0xE7, 0x64, 0xBE, 0xE7,
+ 0xC7, 0x64, 0xDA, 0xAD, 0x3F, 0xC4, 0x52, 0x35, 0xA6, 0xDA, 0xD4, 0x28,
+ 0xFA, 0x20, 0xC1, 0x70, 0xE3, 0x45, 0x00, 0x3F, 0x2F, 0x32, 0xAF, 0xB5,
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_ffdhe_4096_group_prime = {
(void *)ffdhe_params_4096, sizeof(ffdhe_params_4096)
};
-const gnutls_datum_t gnutls_ffdhe_4096_group_q = {
- (void *)ffdhe_q_4096, sizeof(ffdhe_q_4096)
-};
+const gnutls_datum_t gnutls_ffdhe_4096_group_q = { (void *)ffdhe_q_4096,
+ sizeof(ffdhe_q_4096) };
const gnutls_datum_t gnutls_ffdhe_4096_group_generator = {
(void *)&ffdhe_generator, sizeof(ffdhe_generator)
@@ -420,238 +279,145 @@ const gnutls_datum_t gnutls_ffdhe_4096_group_generator = {
const unsigned int gnutls_ffdhe_4096_key_bits = 336;
static const unsigned char ffdhe_params_6144[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xAD, 0xF8, 0x54, 0x58, 0xA2, 0xBB,
- 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27,
- 0x3D, 0x3C, 0xF1, 0xD8, 0xB9, 0xC5, 0x83,
- 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36,
- 0x41, 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93,
- 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 0x7D,
- 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8,
- 0xF6, 0x81, 0xB2, 0x02, 0xAE, 0xC4, 0x61,
- 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD,
- 0x65, 0x61, 0x24, 0x33, 0xF5, 0x1F, 0x5F,
- 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
- 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13,
- 0x5E, 0x7F, 0x57, 0xC9, 0x35, 0x98, 0x4F,
- 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2,
- 0xA6, 0x89, 0xDA, 0xF3, 0xEF, 0xE8, 0x72,
- 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7,
- 0x35, 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A,
- 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 0xB3,
- 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B,
- 0xB2, 0xC8, 0xE3, 0xFB, 0xB9, 0x6A, 0xDA,
- 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F,
- 0x42, 0xA3, 0xDE, 0x39, 0x4D, 0xF4, 0xAE,
- 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
- 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D,
- 0x70, 0x9E, 0x02, 0xFC, 0xE1, 0xCD, 0xF7,
- 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28,
- 0x34, 0x2F, 0x61, 0x91, 0x72, 0xFE, 0x9C,
- 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12,
- 0x32, 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE,
- 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 0x3B,
- 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05,
- 0xC5, 0x8E, 0xF1, 0x83, 0x7D, 0x16, 0x83,
- 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2,
- 0xEF, 0xFA, 0x88, 0x6B, 0x42, 0x38, 0x61,
- 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
- 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4,
- 0xDE, 0xF9, 0x9C, 0x02, 0x38, 0x61, 0xB4,
- 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A,
- 0xD9, 0x1D, 0x26, 0x91, 0xF7, 0xF7, 0xEE,
- 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9,
- 0x1C, 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13,
- 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 0xBC,
- 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52,
- 0xE2, 0xD7, 0x4D, 0xD3, 0x64, 0xF2, 0xE2,
- 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE,
- 0x82, 0xAB, 0x9C, 0x9D, 0xF6, 0x9E, 0xE8,
- 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
- 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA,
- 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 0xD5, 0xC4,
- 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA,
- 0x53, 0xDD, 0xEF, 0x3C, 0x1B, 0x20, 0xEE,
- 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D,
- 0x2B, 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F,
- 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB, 0x79,
- 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6,
- 0xAC, 0x7D, 0x5F, 0x42, 0xD6, 0x9F, 0x6D,
- 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03,
- 0x40, 0x04, 0x87, 0xF5, 0x5B, 0xA5, 0x7E,
- 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86,
- 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E,
- 0x01, 0x2D, 0x9E, 0x68, 0x32, 0xA9, 0x07,
- 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D,
- 0xC7, 0x78, 0xF9, 0x71, 0xAD, 0x00, 0x38,
- 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B,
- 0x7A, 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40,
- 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9, 0xF9,
- 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD,
- 0xCE, 0xC9, 0x7D, 0xCF, 0x8E, 0xC9, 0xB5,
- 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5,
- 0xA8, 0x51, 0xF4, 0x41, 0x82, 0xE1, 0xC6,
- 0x8A, 0x00, 0x7E, 0x5E, 0x0D, 0xD9, 0x02,
- 0x0B, 0xFD, 0x64, 0xB6, 0x45, 0x03, 0x6C,
- 0x7A, 0x4E, 0x67, 0x7D, 0x2C, 0x38, 0x53,
- 0x2A, 0x3A, 0x23, 0xBA, 0x44, 0x42, 0xCA,
- 0xF5, 0x3E, 0xA6, 0x3B, 0xB4, 0x54, 0x32,
- 0x9B, 0x76, 0x24, 0xC8, 0x91, 0x7B, 0xDD,
- 0x64, 0xB1, 0xC0, 0xFD, 0x4C, 0xB3, 0x8E,
- 0x8C, 0x33, 0x4C, 0x70, 0x1C, 0x3A, 0xCD,
- 0xAD, 0x06, 0x57, 0xFC, 0xCF, 0xEC, 0x71,
- 0x9B, 0x1F, 0x5C, 0x3E, 0x4E, 0x46, 0x04,
- 0x1F, 0x38, 0x81, 0x47, 0xFB, 0x4C, 0xFD,
- 0xB4, 0x77, 0xA5, 0x24, 0x71, 0xF7, 0xA9,
- 0xA9, 0x69, 0x10, 0xB8, 0x55, 0x32, 0x2E,
- 0xDB, 0x63, 0x40, 0xD8, 0xA0, 0x0E, 0xF0,
- 0x92, 0x35, 0x05, 0x11, 0xE3, 0x0A, 0xBE,
- 0xC1, 0xFF, 0xF9, 0xE3, 0xA2, 0x6E, 0x7F,
- 0xB2, 0x9F, 0x8C, 0x18, 0x30, 0x23, 0xC3,
- 0x58, 0x7E, 0x38, 0xDA, 0x00, 0x77, 0xD9,
- 0xB4, 0x76, 0x3E, 0x4E, 0x4B, 0x94, 0xB2,
- 0xBB, 0xC1, 0x94, 0xC6, 0x65, 0x1E, 0x77,
- 0xCA, 0xF9, 0x92, 0xEE, 0xAA, 0xC0, 0x23,
- 0x2A, 0x28, 0x1B, 0xF6, 0xB3, 0xA7, 0x39,
- 0xC1, 0x22, 0x61, 0x16, 0x82, 0x0A, 0xE8,
- 0xDB, 0x58, 0x47, 0xA6, 0x7C, 0xBE, 0xF9,
- 0xC9, 0x09, 0x1B, 0x46, 0x2D, 0x53, 0x8C,
- 0xD7, 0x2B, 0x03, 0x74, 0x6A, 0xE7, 0x7F,
- 0x5E, 0x62, 0x29, 0x2C, 0x31, 0x15, 0x62,
- 0xA8, 0x46, 0x50, 0x5D, 0xC8, 0x2D, 0xB8,
- 0x54, 0x33, 0x8A, 0xE4, 0x9F, 0x52, 0x35,
- 0xC9, 0x5B, 0x91, 0x17, 0x8C, 0xCF, 0x2D,
- 0xD5, 0xCA, 0xCE, 0xF4, 0x03, 0xEC, 0x9D,
- 0x18, 0x10, 0xC6, 0x27, 0x2B, 0x04, 0x5B,
- 0x3B, 0x71, 0xF9, 0xDC, 0x6B, 0x80, 0xD6,
- 0x3F, 0xDD, 0x4A, 0x8E, 0x9A, 0xDB, 0x1E,
- 0x69, 0x62, 0xA6, 0x95, 0x26, 0xD4, 0x31,
- 0x61, 0xC1, 0xA4, 0x1D, 0x57, 0x0D, 0x79,
- 0x38, 0xDA, 0xD4, 0xA4, 0x0E, 0x32, 0x9C,
- 0xD0, 0xE4, 0x0E, 0x65, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58,
+ 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1,
+ 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41,
+ 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9,
+ 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02,
+ 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61,
+ 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
+ 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35,
+ 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA,
+ 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35,
+ 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82,
+ 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB,
+ 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3,
+ 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
+ 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1,
+ 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61,
+ 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32,
+ 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73,
+ 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83,
+ 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA,
+ 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
+ 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38,
+ 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26,
+ 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C,
+ 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93,
+ 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3,
+ 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB,
+ 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
+ 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42,
+ 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF,
+ 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B,
+ 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F, 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB,
+ 0x79, 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6, 0xAC, 0x7D, 0x5F, 0x42,
+ 0xD6, 0x9F, 0x6D, 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03, 0x40, 0x04,
+ 0x87, 0xF5, 0x5B, 0xA5, 0x7E, 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86,
+ 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E, 0x01, 0x2D, 0x9E, 0x68, 0x32,
+ 0xA9, 0x07, 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D, 0xC7, 0x78, 0xF9,
+ 0x71, 0xAD, 0x00, 0x38, 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B, 0x7A,
+ 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40, 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9,
+ 0xF9, 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD, 0xCE, 0xC9, 0x7D, 0xCF,
+ 0x8E, 0xC9, 0xB5, 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5, 0xA8, 0x51,
+ 0xF4, 0x41, 0x82, 0xE1, 0xC6, 0x8A, 0x00, 0x7E, 0x5E, 0x0D, 0xD9, 0x02,
+ 0x0B, 0xFD, 0x64, 0xB6, 0x45, 0x03, 0x6C, 0x7A, 0x4E, 0x67, 0x7D, 0x2C,
+ 0x38, 0x53, 0x2A, 0x3A, 0x23, 0xBA, 0x44, 0x42, 0xCA, 0xF5, 0x3E, 0xA6,
+ 0x3B, 0xB4, 0x54, 0x32, 0x9B, 0x76, 0x24, 0xC8, 0x91, 0x7B, 0xDD, 0x64,
+ 0xB1, 0xC0, 0xFD, 0x4C, 0xB3, 0x8E, 0x8C, 0x33, 0x4C, 0x70, 0x1C, 0x3A,
+ 0xCD, 0xAD, 0x06, 0x57, 0xFC, 0xCF, 0xEC, 0x71, 0x9B, 0x1F, 0x5C, 0x3E,
+ 0x4E, 0x46, 0x04, 0x1F, 0x38, 0x81, 0x47, 0xFB, 0x4C, 0xFD, 0xB4, 0x77,
+ 0xA5, 0x24, 0x71, 0xF7, 0xA9, 0xA9, 0x69, 0x10, 0xB8, 0x55, 0x32, 0x2E,
+ 0xDB, 0x63, 0x40, 0xD8, 0xA0, 0x0E, 0xF0, 0x92, 0x35, 0x05, 0x11, 0xE3,
+ 0x0A, 0xBE, 0xC1, 0xFF, 0xF9, 0xE3, 0xA2, 0x6E, 0x7F, 0xB2, 0x9F, 0x8C,
+ 0x18, 0x30, 0x23, 0xC3, 0x58, 0x7E, 0x38, 0xDA, 0x00, 0x77, 0xD9, 0xB4,
+ 0x76, 0x3E, 0x4E, 0x4B, 0x94, 0xB2, 0xBB, 0xC1, 0x94, 0xC6, 0x65, 0x1E,
+ 0x77, 0xCA, 0xF9, 0x92, 0xEE, 0xAA, 0xC0, 0x23, 0x2A, 0x28, 0x1B, 0xF6,
+ 0xB3, 0xA7, 0x39, 0xC1, 0x22, 0x61, 0x16, 0x82, 0x0A, 0xE8, 0xDB, 0x58,
+ 0x47, 0xA6, 0x7C, 0xBE, 0xF9, 0xC9, 0x09, 0x1B, 0x46, 0x2D, 0x53, 0x8C,
+ 0xD7, 0x2B, 0x03, 0x74, 0x6A, 0xE7, 0x7F, 0x5E, 0x62, 0x29, 0x2C, 0x31,
+ 0x15, 0x62, 0xA8, 0x46, 0x50, 0x5D, 0xC8, 0x2D, 0xB8, 0x54, 0x33, 0x8A,
+ 0xE4, 0x9F, 0x52, 0x35, 0xC9, 0x5B, 0x91, 0x17, 0x8C, 0xCF, 0x2D, 0xD5,
+ 0xCA, 0xCE, 0xF4, 0x03, 0xEC, 0x9D, 0x18, 0x10, 0xC6, 0x27, 0x2B, 0x04,
+ 0x5B, 0x3B, 0x71, 0xF9, 0xDC, 0x6B, 0x80, 0xD6, 0x3F, 0xDD, 0x4A, 0x8E,
+ 0x9A, 0xDB, 0x1E, 0x69, 0x62, 0xA6, 0x95, 0x26, 0xD4, 0x31, 0x61, 0xC1,
+ 0xA4, 0x1D, 0x57, 0x0D, 0x79, 0x38, 0xDA, 0xD4, 0xA4, 0x0E, 0x32, 0x9C,
+ 0xD0, 0xE4, 0x0E, 0x65, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char ffdhe_q_6144[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xD6, 0xFC, 0x2A, 0x2C, 0x51, 0x5D,
- 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13,
- 0x9E, 0x9E, 0x78, 0xEC, 0x5C, 0xE2, 0xC1,
- 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B,
- 0x20, 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49,
- 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C, 0xBE,
- 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC,
- 0x7B, 0x40, 0xD9, 0x01, 0x57, 0x62, 0x30,
- 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE,
- 0xB2, 0xB0, 0x92, 0x19, 0xFA, 0x8F, 0xAF,
- 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
- 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89,
- 0xAF, 0x3F, 0xAB, 0xE4, 0x9A, 0xCC, 0x27,
- 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1,
- 0x53, 0x44, 0xED, 0x79, 0xF7, 0xF4, 0x39,
- 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3,
- 0x9A, 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D,
- 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1, 0x59,
- 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5,
- 0xD9, 0x64, 0x71, 0xFD, 0xDC, 0xB5, 0x6D,
- 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7,
- 0xA1, 0x51, 0xEF, 0x1C, 0xA6, 0xFA, 0x57,
- 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
- 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36,
- 0xB8, 0x4F, 0x01, 0x7E, 0x70, 0xE6, 0xFB,
- 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94,
- 0x1A, 0x17, 0xB0, 0xC8, 0xB9, 0x7F, 0x4E,
- 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89,
- 0x19, 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF,
- 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9, 0x9D,
- 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02,
- 0xE2, 0xC7, 0x78, 0xC1, 0xBE, 0x8B, 0x41,
- 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9,
- 0x77, 0xFD, 0x44, 0x35, 0xA1, 0x1C, 0x30,
- 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
- 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A,
- 0x6F, 0x7C, 0xCE, 0x01, 0x1C, 0x30, 0xDA,
- 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD,
- 0x6C, 0x8E, 0x93, 0x48, 0xFB, 0xFB, 0xF7,
- 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C,
- 0x8E, 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89,
- 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49, 0xDE,
- 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29,
- 0x71, 0x6B, 0xA6, 0xE9, 0xB2, 0x79, 0x71,
- 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57,
- 0x41, 0x55, 0xCE, 0x4E, 0xFB, 0x4F, 0x74,
- 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
- 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5,
- 0x6D, 0x0E, 0xDF, 0xCD, 0x21, 0x6A, 0xE2,
- 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD,
- 0x29, 0xEE, 0xF7, 0x9E, 0x0D, 0x90, 0x77,
- 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E,
- 0x95, 0xB3, 0x4F, 0x0F, 0x78, 0xB7, 0x37,
- 0xA9, 0x61, 0x8B, 0x26, 0xFA, 0x7D, 0xBC,
- 0x98, 0x74, 0xF2, 0x72, 0xC4, 0x2B, 0xDB,
- 0x56, 0x3E, 0xAF, 0xA1, 0x6B, 0x4F, 0xB6,
- 0x8C, 0x3B, 0xB1, 0xE7, 0x8E, 0xAA, 0x81,
- 0xA0, 0x02, 0x43, 0xFA, 0xAD, 0xD2, 0xBF,
- 0x18, 0xE6, 0x3D, 0x38, 0x9A, 0xE4, 0x43,
- 0x77, 0xDA, 0x18, 0xC5, 0x76, 0xB5, 0x0F,
- 0x00, 0x96, 0xCF, 0x34, 0x19, 0x54, 0x83,
- 0xB0, 0x05, 0x48, 0xC0, 0x98, 0x62, 0x36,
- 0xE3, 0xBC, 0x7C, 0xB8, 0xD6, 0x80, 0x1C,
- 0x04, 0x94, 0xCC, 0xD1, 0x99, 0xE5, 0xC5,
- 0xBD, 0x0D, 0x0E, 0xDC, 0x9E, 0xB8, 0xA0,
- 0x00, 0x1E, 0x15, 0x27, 0x67, 0x54, 0xFC,
- 0xC6, 0x85, 0x66, 0x05, 0x41, 0x48, 0xE6,
- 0xE7, 0x64, 0xBE, 0xE7, 0xC7, 0x64, 0xDA,
- 0xAD, 0x3F, 0xC4, 0x52, 0x35, 0xA6, 0xDA,
- 0xD4, 0x28, 0xFA, 0x20, 0xC1, 0x70, 0xE3,
- 0x45, 0x00, 0x3F, 0x2F, 0x06, 0xEC, 0x81,
- 0x05, 0xFE, 0xB2, 0x5B, 0x22, 0x81, 0xB6,
- 0x3D, 0x27, 0x33, 0xBE, 0x96, 0x1C, 0x29,
- 0x95, 0x1D, 0x11, 0xDD, 0x22, 0x21, 0x65,
- 0x7A, 0x9F, 0x53, 0x1D, 0xDA, 0x2A, 0x19,
- 0x4D, 0xBB, 0x12, 0x64, 0x48, 0xBD, 0xEE,
- 0xB2, 0x58, 0xE0, 0x7E, 0xA6, 0x59, 0xC7,
- 0x46, 0x19, 0xA6, 0x38, 0x0E, 0x1D, 0x66,
- 0xD6, 0x83, 0x2B, 0xFE, 0x67, 0xF6, 0x38,
- 0xCD, 0x8F, 0xAE, 0x1F, 0x27, 0x23, 0x02,
- 0x0F, 0x9C, 0x40, 0xA3, 0xFD, 0xA6, 0x7E,
- 0xDA, 0x3B, 0xD2, 0x92, 0x38, 0xFB, 0xD4,
- 0xD4, 0xB4, 0x88, 0x5C, 0x2A, 0x99, 0x17,
- 0x6D, 0xB1, 0xA0, 0x6C, 0x50, 0x07, 0x78,
- 0x49, 0x1A, 0x82, 0x88, 0xF1, 0x85, 0x5F,
- 0x60, 0xFF, 0xFC, 0xF1, 0xD1, 0x37, 0x3F,
- 0xD9, 0x4F, 0xC6, 0x0C, 0x18, 0x11, 0xE1,
- 0xAC, 0x3F, 0x1C, 0x6D, 0x00, 0x3B, 0xEC,
- 0xDA, 0x3B, 0x1F, 0x27, 0x25, 0xCA, 0x59,
- 0x5D, 0xE0, 0xCA, 0x63, 0x32, 0x8F, 0x3B,
- 0xE5, 0x7C, 0xC9, 0x77, 0x55, 0x60, 0x11,
- 0x95, 0x14, 0x0D, 0xFB, 0x59, 0xD3, 0x9C,
- 0xE0, 0x91, 0x30, 0x8B, 0x41, 0x05, 0x74,
- 0x6D, 0xAC, 0x23, 0xD3, 0x3E, 0x5F, 0x7C,
- 0xE4, 0x84, 0x8D, 0xA3, 0x16, 0xA9, 0xC6,
- 0x6B, 0x95, 0x81, 0xBA, 0x35, 0x73, 0xBF,
- 0xAF, 0x31, 0x14, 0x96, 0x18, 0x8A, 0xB1,
- 0x54, 0x23, 0x28, 0x2E, 0xE4, 0x16, 0xDC,
- 0x2A, 0x19, 0xC5, 0x72, 0x4F, 0xA9, 0x1A,
- 0xE4, 0xAD, 0xC8, 0x8B, 0xC6, 0x67, 0x96,
- 0xEA, 0xE5, 0x67, 0x7A, 0x01, 0xF6, 0x4E,
- 0x8C, 0x08, 0x63, 0x13, 0x95, 0x82, 0x2D,
- 0x9D, 0xB8, 0xFC, 0xEE, 0x35, 0xC0, 0x6B,
- 0x1F, 0xEE, 0xA5, 0x47, 0x4D, 0x6D, 0x8F,
- 0x34, 0xB1, 0x53, 0x4A, 0x93, 0x6A, 0x18,
- 0xB0, 0xE0, 0xD2, 0x0E, 0xAB, 0x86, 0xBC,
- 0x9C, 0x6D, 0x6A, 0x52, 0x07, 0x19, 0x4E,
- 0x68, 0x72, 0x07, 0x32, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x2A, 0x2C,
+ 0x51, 0x5D, 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13, 0x9E, 0x9E, 0x78,
+ 0xEC, 0x5C, 0xE2, 0xC1, 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B, 0x20,
+ 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49, 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C,
+ 0xBE, 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC, 0x7B, 0x40, 0xD9, 0x01,
+ 0x57, 0x62, 0x30, 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE, 0xB2, 0xB0,
+ 0x92, 0x19, 0xFA, 0x8F, 0xAF, 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
+ 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89, 0xAF, 0x3F, 0xAB, 0xE4, 0x9A,
+ 0xCC, 0x27, 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1, 0x53, 0x44, 0xED,
+ 0x79, 0xF7, 0xF4, 0x39, 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3, 0x9A,
+ 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D, 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1,
+ 0x59, 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5, 0xD9, 0x64, 0x71, 0xFD,
+ 0xDC, 0xB5, 0x6D, 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7, 0xA1, 0x51,
+ 0xEF, 0x1C, 0xA6, 0xFA, 0x57, 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
+ 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36, 0xB8, 0x4F, 0x01, 0x7E, 0x70,
+ 0xE6, 0xFB, 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94, 0x1A, 0x17, 0xB0,
+ 0xC8, 0xB9, 0x7F, 0x4E, 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89, 0x19,
+ 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF, 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9,
+ 0x9D, 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02, 0xE2, 0xC7, 0x78, 0xC1,
+ 0xBE, 0x8B, 0x41, 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9, 0x77, 0xFD,
+ 0x44, 0x35, 0xA1, 0x1C, 0x30, 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
+ 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A, 0x6F, 0x7C, 0xCE, 0x01, 0x1C,
+ 0x30, 0xDA, 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD, 0x6C, 0x8E, 0x93,
+ 0x48, 0xFB, 0xFB, 0xF7, 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C, 0x8E,
+ 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89, 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49,
+ 0xDE, 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29, 0x71, 0x6B, 0xA6, 0xE9,
+ 0xB2, 0x79, 0x71, 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57, 0x41, 0x55,
+ 0xCE, 0x4E, 0xFB, 0x4F, 0x74, 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
+ 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5, 0x6D, 0x0E, 0xDF, 0xCD, 0x21,
+ 0x6A, 0xE2, 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD, 0x29, 0xEE, 0xF7,
+ 0x9E, 0x0D, 0x90, 0x77, 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E, 0x95,
+ 0xB3, 0x4F, 0x0F, 0x78, 0xB7, 0x37, 0xA9, 0x61, 0x8B, 0x26, 0xFA, 0x7D,
+ 0xBC, 0x98, 0x74, 0xF2, 0x72, 0xC4, 0x2B, 0xDB, 0x56, 0x3E, 0xAF, 0xA1,
+ 0x6B, 0x4F, 0xB6, 0x8C, 0x3B, 0xB1, 0xE7, 0x8E, 0xAA, 0x81, 0xA0, 0x02,
+ 0x43, 0xFA, 0xAD, 0xD2, 0xBF, 0x18, 0xE6, 0x3D, 0x38, 0x9A, 0xE4, 0x43,
+ 0x77, 0xDA, 0x18, 0xC5, 0x76, 0xB5, 0x0F, 0x00, 0x96, 0xCF, 0x34, 0x19,
+ 0x54, 0x83, 0xB0, 0x05, 0x48, 0xC0, 0x98, 0x62, 0x36, 0xE3, 0xBC, 0x7C,
+ 0xB8, 0xD6, 0x80, 0x1C, 0x04, 0x94, 0xCC, 0xD1, 0x99, 0xE5, 0xC5, 0xBD,
+ 0x0D, 0x0E, 0xDC, 0x9E, 0xB8, 0xA0, 0x00, 0x1E, 0x15, 0x27, 0x67, 0x54,
+ 0xFC, 0xC6, 0x85, 0x66, 0x05, 0x41, 0x48, 0xE6, 0xE7, 0x64, 0xBE, 0xE7,
+ 0xC7, 0x64, 0xDA, 0xAD, 0x3F, 0xC4, 0x52, 0x35, 0xA6, 0xDA, 0xD4, 0x28,
+ 0xFA, 0x20, 0xC1, 0x70, 0xE3, 0x45, 0x00, 0x3F, 0x2F, 0x06, 0xEC, 0x81,
+ 0x05, 0xFE, 0xB2, 0x5B, 0x22, 0x81, 0xB6, 0x3D, 0x27, 0x33, 0xBE, 0x96,
+ 0x1C, 0x29, 0x95, 0x1D, 0x11, 0xDD, 0x22, 0x21, 0x65, 0x7A, 0x9F, 0x53,
+ 0x1D, 0xDA, 0x2A, 0x19, 0x4D, 0xBB, 0x12, 0x64, 0x48, 0xBD, 0xEE, 0xB2,
+ 0x58, 0xE0, 0x7E, 0xA6, 0x59, 0xC7, 0x46, 0x19, 0xA6, 0x38, 0x0E, 0x1D,
+ 0x66, 0xD6, 0x83, 0x2B, 0xFE, 0x67, 0xF6, 0x38, 0xCD, 0x8F, 0xAE, 0x1F,
+ 0x27, 0x23, 0x02, 0x0F, 0x9C, 0x40, 0xA3, 0xFD, 0xA6, 0x7E, 0xDA, 0x3B,
+ 0xD2, 0x92, 0x38, 0xFB, 0xD4, 0xD4, 0xB4, 0x88, 0x5C, 0x2A, 0x99, 0x17,
+ 0x6D, 0xB1, 0xA0, 0x6C, 0x50, 0x07, 0x78, 0x49, 0x1A, 0x82, 0x88, 0xF1,
+ 0x85, 0x5F, 0x60, 0xFF, 0xFC, 0xF1, 0xD1, 0x37, 0x3F, 0xD9, 0x4F, 0xC6,
+ 0x0C, 0x18, 0x11, 0xE1, 0xAC, 0x3F, 0x1C, 0x6D, 0x00, 0x3B, 0xEC, 0xDA,
+ 0x3B, 0x1F, 0x27, 0x25, 0xCA, 0x59, 0x5D, 0xE0, 0xCA, 0x63, 0x32, 0x8F,
+ 0x3B, 0xE5, 0x7C, 0xC9, 0x77, 0x55, 0x60, 0x11, 0x95, 0x14, 0x0D, 0xFB,
+ 0x59, 0xD3, 0x9C, 0xE0, 0x91, 0x30, 0x8B, 0x41, 0x05, 0x74, 0x6D, 0xAC,
+ 0x23, 0xD3, 0x3E, 0x5F, 0x7C, 0xE4, 0x84, 0x8D, 0xA3, 0x16, 0xA9, 0xC6,
+ 0x6B, 0x95, 0x81, 0xBA, 0x35, 0x73, 0xBF, 0xAF, 0x31, 0x14, 0x96, 0x18,
+ 0x8A, 0xB1, 0x54, 0x23, 0x28, 0x2E, 0xE4, 0x16, 0xDC, 0x2A, 0x19, 0xC5,
+ 0x72, 0x4F, 0xA9, 0x1A, 0xE4, 0xAD, 0xC8, 0x8B, 0xC6, 0x67, 0x96, 0xEA,
+ 0xE5, 0x67, 0x7A, 0x01, 0xF6, 0x4E, 0x8C, 0x08, 0x63, 0x13, 0x95, 0x82,
+ 0x2D, 0x9D, 0xB8, 0xFC, 0xEE, 0x35, 0xC0, 0x6B, 0x1F, 0xEE, 0xA5, 0x47,
+ 0x4D, 0x6D, 0x8F, 0x34, 0xB1, 0x53, 0x4A, 0x93, 0x6A, 0x18, 0xB0, 0xE0,
+ 0xD2, 0x0E, 0xAB, 0x86, 0xBC, 0x9C, 0x6D, 0x6A, 0x52, 0x07, 0x19, 0x4E,
+ 0x68, 0x72, 0x07, 0x32, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_ffdhe_6144_group_prime = {
(void *)ffdhe_params_6144, sizeof(ffdhe_params_6144)
};
-const gnutls_datum_t gnutls_ffdhe_6144_group_q = {
- (void *)ffdhe_q_6144, sizeof(ffdhe_q_6144)
-};
+const gnutls_datum_t gnutls_ffdhe_6144_group_q = { (void *)ffdhe_q_6144,
+ sizeof(ffdhe_q_6144) };
const gnutls_datum_t gnutls_ffdhe_6144_group_generator = {
(void *)&ffdhe_generator, sizeof(ffdhe_generator)
@@ -660,312 +426,189 @@ const gnutls_datum_t gnutls_ffdhe_6144_group_generator = {
const unsigned int gnutls_ffdhe_6144_key_bits = 376;
static const unsigned char ffdhe_params_8192[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xAD, 0xF8, 0x54, 0x58, 0xA2, 0xBB,
- 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27,
- 0x3D, 0x3C, 0xF1, 0xD8, 0xB9, 0xC5, 0x83,
- 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36,
- 0x41, 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93,
- 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9, 0x7D,
- 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8,
- 0xF6, 0x81, 0xB2, 0x02, 0xAE, 0xC4, 0x61,
- 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD,
- 0x65, 0x61, 0x24, 0x33, 0xF5, 0x1F, 0x5F,
- 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
- 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13,
- 0x5E, 0x7F, 0x57, 0xC9, 0x35, 0x98, 0x4F,
- 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2,
- 0xA6, 0x89, 0xDA, 0xF3, 0xEF, 0xE8, 0x72,
- 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7,
- 0x35, 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A,
- 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82, 0xB3,
- 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B,
- 0xB2, 0xC8, 0xE3, 0xFB, 0xB9, 0x6A, 0xDA,
- 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F,
- 0x42, 0xA3, 0xDE, 0x39, 0x4D, 0xF4, 0xAE,
- 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
- 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D,
- 0x70, 0x9E, 0x02, 0xFC, 0xE1, 0xCD, 0xF7,
- 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28,
- 0x34, 0x2F, 0x61, 0x91, 0x72, 0xFE, 0x9C,
- 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12,
- 0x32, 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE,
- 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73, 0x3B,
- 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05,
- 0xC5, 0x8E, 0xF1, 0x83, 0x7D, 0x16, 0x83,
- 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2,
- 0xEF, 0xFA, 0x88, 0x6B, 0x42, 0x38, 0x61,
- 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
- 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4,
- 0xDE, 0xF9, 0x9C, 0x02, 0x38, 0x61, 0xB4,
- 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A,
- 0xD9, 0x1D, 0x26, 0x91, 0xF7, 0xF7, 0xEE,
- 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9,
- 0x1C, 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13,
- 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93, 0xBC,
- 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52,
- 0xE2, 0xD7, 0x4D, 0xD3, 0x64, 0xF2, 0xE2,
- 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE,
- 0x82, 0xAB, 0x9C, 0x9D, 0xF6, 0x9E, 0xE8,
- 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
- 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA,
- 0xDA, 0x1D, 0xBF, 0x9A, 0x42, 0xD5, 0xC4,
- 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA,
- 0x53, 0xDD, 0xEF, 0x3C, 0x1B, 0x20, 0xEE,
- 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D,
- 0x2B, 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F,
- 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB, 0x79,
- 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6,
- 0xAC, 0x7D, 0x5F, 0x42, 0xD6, 0x9F, 0x6D,
- 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03,
- 0x40, 0x04, 0x87, 0xF5, 0x5B, 0xA5, 0x7E,
- 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86,
- 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E,
- 0x01, 0x2D, 0x9E, 0x68, 0x32, 0xA9, 0x07,
- 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D,
- 0xC7, 0x78, 0xF9, 0x71, 0xAD, 0x00, 0x38,
- 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B,
- 0x7A, 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40,
- 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9, 0xF9,
- 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD,
- 0xCE, 0xC9, 0x7D, 0xCF, 0x8E, 0xC9, 0xB5,
- 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5,
- 0xA8, 0x51, 0xF4, 0x41, 0x82, 0xE1, 0xC6,
- 0x8A, 0x00, 0x7E, 0x5E, 0x0D, 0xD9, 0x02,
- 0x0B, 0xFD, 0x64, 0xB6, 0x45, 0x03, 0x6C,
- 0x7A, 0x4E, 0x67, 0x7D, 0x2C, 0x38, 0x53,
- 0x2A, 0x3A, 0x23, 0xBA, 0x44, 0x42, 0xCA,
- 0xF5, 0x3E, 0xA6, 0x3B, 0xB4, 0x54, 0x32,
- 0x9B, 0x76, 0x24, 0xC8, 0x91, 0x7B, 0xDD,
- 0x64, 0xB1, 0xC0, 0xFD, 0x4C, 0xB3, 0x8E,
- 0x8C, 0x33, 0x4C, 0x70, 0x1C, 0x3A, 0xCD,
- 0xAD, 0x06, 0x57, 0xFC, 0xCF, 0xEC, 0x71,
- 0x9B, 0x1F, 0x5C, 0x3E, 0x4E, 0x46, 0x04,
- 0x1F, 0x38, 0x81, 0x47, 0xFB, 0x4C, 0xFD,
- 0xB4, 0x77, 0xA5, 0x24, 0x71, 0xF7, 0xA9,
- 0xA9, 0x69, 0x10, 0xB8, 0x55, 0x32, 0x2E,
- 0xDB, 0x63, 0x40, 0xD8, 0xA0, 0x0E, 0xF0,
- 0x92, 0x35, 0x05, 0x11, 0xE3, 0x0A, 0xBE,
- 0xC1, 0xFF, 0xF9, 0xE3, 0xA2, 0x6E, 0x7F,
- 0xB2, 0x9F, 0x8C, 0x18, 0x30, 0x23, 0xC3,
- 0x58, 0x7E, 0x38, 0xDA, 0x00, 0x77, 0xD9,
- 0xB4, 0x76, 0x3E, 0x4E, 0x4B, 0x94, 0xB2,
- 0xBB, 0xC1, 0x94, 0xC6, 0x65, 0x1E, 0x77,
- 0xCA, 0xF9, 0x92, 0xEE, 0xAA, 0xC0, 0x23,
- 0x2A, 0x28, 0x1B, 0xF6, 0xB3, 0xA7, 0x39,
- 0xC1, 0x22, 0x61, 0x16, 0x82, 0x0A, 0xE8,
- 0xDB, 0x58, 0x47, 0xA6, 0x7C, 0xBE, 0xF9,
- 0xC9, 0x09, 0x1B, 0x46, 0x2D, 0x53, 0x8C,
- 0xD7, 0x2B, 0x03, 0x74, 0x6A, 0xE7, 0x7F,
- 0x5E, 0x62, 0x29, 0x2C, 0x31, 0x15, 0x62,
- 0xA8, 0x46, 0x50, 0x5D, 0xC8, 0x2D, 0xB8,
- 0x54, 0x33, 0x8A, 0xE4, 0x9F, 0x52, 0x35,
- 0xC9, 0x5B, 0x91, 0x17, 0x8C, 0xCF, 0x2D,
- 0xD5, 0xCA, 0xCE, 0xF4, 0x03, 0xEC, 0x9D,
- 0x18, 0x10, 0xC6, 0x27, 0x2B, 0x04, 0x5B,
- 0x3B, 0x71, 0xF9, 0xDC, 0x6B, 0x80, 0xD6,
- 0x3F, 0xDD, 0x4A, 0x8E, 0x9A, 0xDB, 0x1E,
- 0x69, 0x62, 0xA6, 0x95, 0x26, 0xD4, 0x31,
- 0x61, 0xC1, 0xA4, 0x1D, 0x57, 0x0D, 0x79,
- 0x38, 0xDA, 0xD4, 0xA4, 0x0E, 0x32, 0x9C,
- 0xCF, 0xF4, 0x6A, 0xAA, 0x36, 0xAD, 0x00,
- 0x4C, 0xF6, 0x00, 0xC8, 0x38, 0x1E, 0x42,
- 0x5A, 0x31, 0xD9, 0x51, 0xAE, 0x64, 0xFD,
- 0xB2, 0x3F, 0xCE, 0xC9, 0x50, 0x9D, 0x43,
- 0x68, 0x7F, 0xEB, 0x69, 0xED, 0xD1, 0xCC,
- 0x5E, 0x0B, 0x8C, 0xC3, 0xBD, 0xF6, 0x4B,
- 0x10, 0xEF, 0x86, 0xB6, 0x31, 0x42, 0xA3,
- 0xAB, 0x88, 0x29, 0x55, 0x5B, 0x2F, 0x74,
- 0x7C, 0x93, 0x26, 0x65, 0xCB, 0x2C, 0x0F,
- 0x1C, 0xC0, 0x1B, 0xD7, 0x02, 0x29, 0x38,
- 0x88, 0x39, 0xD2, 0xAF, 0x05, 0xE4, 0x54,
- 0x50, 0x4A, 0xC7, 0x8B, 0x75, 0x82, 0x82,
- 0x28, 0x46, 0xC0, 0xBA, 0x35, 0xC3, 0x5F,
- 0x5C, 0x59, 0x16, 0x0C, 0xC0, 0x46, 0xFD,
- 0x82, 0x51, 0x54, 0x1F, 0xC6, 0x8C, 0x9C,
- 0x86, 0xB0, 0x22, 0xBB, 0x70, 0x99, 0x87,
- 0x6A, 0x46, 0x0E, 0x74, 0x51, 0xA8, 0xA9,
- 0x31, 0x09, 0x70, 0x3F, 0xEE, 0x1C, 0x21,
- 0x7E, 0x6C, 0x38, 0x26, 0xE5, 0x2C, 0x51,
- 0xAA, 0x69, 0x1E, 0x0E, 0x42, 0x3C, 0xFC,
- 0x99, 0xE9, 0xE3, 0x16, 0x50, 0xC1, 0x21,
- 0x7B, 0x62, 0x48, 0x16, 0xCD, 0xAD, 0x9A,
- 0x95, 0xF9, 0xD5, 0xB8, 0x01, 0x94, 0x88,
- 0xD9, 0xC0, 0xA0, 0xA1, 0xFE, 0x30, 0x75,
- 0xA5, 0x77, 0xE2, 0x31, 0x83, 0xF8, 0x1D,
- 0x4A, 0x3F, 0x2F, 0xA4, 0x57, 0x1E, 0xFC,
- 0x8C, 0xE0, 0xBA, 0x8A, 0x4F, 0xE8, 0xB6,
- 0x85, 0x5D, 0xFE, 0x72, 0xB0, 0xA6, 0x6E,
- 0xDE, 0xD2, 0xFB, 0xAB, 0xFB, 0xE5, 0x8A,
- 0x30, 0xFA, 0xFA, 0xBE, 0x1C, 0x5D, 0x71,
- 0xA8, 0x7E, 0x2F, 0x74, 0x1E, 0xF8, 0xC1,
- 0xFE, 0x86, 0xFE, 0xA6, 0xBB, 0xFD, 0xE5,
- 0x30, 0x67, 0x7F, 0x0D, 0x97, 0xD1, 0x1D,
- 0x49, 0xF7, 0xA8, 0x44, 0x3D, 0x08, 0x22,
- 0xE5, 0x06, 0xA9, 0xF4, 0x61, 0x4E, 0x01,
- 0x1E, 0x2A, 0x94, 0x83, 0x8F, 0xF8, 0x8C,
- 0xD6, 0x8C, 0x8B, 0xB7, 0xC5, 0xC6, 0x42,
- 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD, 0xF8, 0x54, 0x58,
+ 0xA2, 0xBB, 0x4A, 0x9A, 0xAF, 0xDC, 0x56, 0x20, 0x27, 0x3D, 0x3C, 0xF1,
+ 0xD8, 0xB9, 0xC5, 0x83, 0xCE, 0x2D, 0x36, 0x95, 0xA9, 0xE1, 0x36, 0x41,
+ 0x14, 0x64, 0x33, 0xFB, 0xCC, 0x93, 0x9D, 0xCE, 0x24, 0x9B, 0x3E, 0xF9,
+ 0x7D, 0x2F, 0xE3, 0x63, 0x63, 0x0C, 0x75, 0xD8, 0xF6, 0x81, 0xB2, 0x02,
+ 0xAE, 0xC4, 0x61, 0x7A, 0xD3, 0xDF, 0x1E, 0xD5, 0xD5, 0xFD, 0x65, 0x61,
+ 0x24, 0x33, 0xF5, 0x1F, 0x5F, 0x06, 0x6E, 0xD0, 0x85, 0x63, 0x65, 0x55,
+ 0x3D, 0xED, 0x1A, 0xF3, 0xB5, 0x57, 0x13, 0x5E, 0x7F, 0x57, 0xC9, 0x35,
+ 0x98, 0x4F, 0x0C, 0x70, 0xE0, 0xE6, 0x8B, 0x77, 0xE2, 0xA6, 0x89, 0xDA,
+ 0xF3, 0xEF, 0xE8, 0x72, 0x1D, 0xF1, 0x58, 0xA1, 0x36, 0xAD, 0xE7, 0x35,
+ 0x30, 0xAC, 0xCA, 0x4F, 0x48, 0x3A, 0x79, 0x7A, 0xBC, 0x0A, 0xB1, 0x82,
+ 0xB3, 0x24, 0xFB, 0x61, 0xD1, 0x08, 0xA9, 0x4B, 0xB2, 0xC8, 0xE3, 0xFB,
+ 0xB9, 0x6A, 0xDA, 0xB7, 0x60, 0xD7, 0xF4, 0x68, 0x1D, 0x4F, 0x42, 0xA3,
+ 0xDE, 0x39, 0x4D, 0xF4, 0xAE, 0x56, 0xED, 0xE7, 0x63, 0x72, 0xBB, 0x19,
+ 0x0B, 0x07, 0xA7, 0xC8, 0xEE, 0x0A, 0x6D, 0x70, 0x9E, 0x02, 0xFC, 0xE1,
+ 0xCD, 0xF7, 0xE2, 0xEC, 0xC0, 0x34, 0x04, 0xCD, 0x28, 0x34, 0x2F, 0x61,
+ 0x91, 0x72, 0xFE, 0x9C, 0xE9, 0x85, 0x83, 0xFF, 0x8E, 0x4F, 0x12, 0x32,
+ 0xEE, 0xF2, 0x81, 0x83, 0xC3, 0xFE, 0x3B, 0x1B, 0x4C, 0x6F, 0xAD, 0x73,
+ 0x3B, 0xB5, 0xFC, 0xBC, 0x2E, 0xC2, 0x20, 0x05, 0xC5, 0x8E, 0xF1, 0x83,
+ 0x7D, 0x16, 0x83, 0xB2, 0xC6, 0xF3, 0x4A, 0x26, 0xC1, 0xB2, 0xEF, 0xFA,
+ 0x88, 0x6B, 0x42, 0x38, 0x61, 0x1F, 0xCF, 0xDC, 0xDE, 0x35, 0x5B, 0x3B,
+ 0x65, 0x19, 0x03, 0x5B, 0xBC, 0x34, 0xF4, 0xDE, 0xF9, 0x9C, 0x02, 0x38,
+ 0x61, 0xB4, 0x6F, 0xC9, 0xD6, 0xE6, 0xC9, 0x07, 0x7A, 0xD9, 0x1D, 0x26,
+ 0x91, 0xF7, 0xF7, 0xEE, 0x59, 0x8C, 0xB0, 0xFA, 0xC1, 0x86, 0xD9, 0x1C,
+ 0xAE, 0xFE, 0x13, 0x09, 0x85, 0x13, 0x92, 0x70, 0xB4, 0x13, 0x0C, 0x93,
+ 0xBC, 0x43, 0x79, 0x44, 0xF4, 0xFD, 0x44, 0x52, 0xE2, 0xD7, 0x4D, 0xD3,
+ 0x64, 0xF2, 0xE2, 0x1E, 0x71, 0xF5, 0x4B, 0xFF, 0x5C, 0xAE, 0x82, 0xAB,
+ 0x9C, 0x9D, 0xF6, 0x9E, 0xE8, 0x6D, 0x2B, 0xC5, 0x22, 0x36, 0x3A, 0x0D,
+ 0xAB, 0xC5, 0x21, 0x97, 0x9B, 0x0D, 0xEA, 0xDA, 0x1D, 0xBF, 0x9A, 0x42,
+ 0xD5, 0xC4, 0x48, 0x4E, 0x0A, 0xBC, 0xD0, 0x6B, 0xFA, 0x53, 0xDD, 0xEF,
+ 0x3C, 0x1B, 0x20, 0xEE, 0x3F, 0xD5, 0x9D, 0x7C, 0x25, 0xE4, 0x1D, 0x2B,
+ 0x66, 0x9E, 0x1E, 0xF1, 0x6E, 0x6F, 0x52, 0xC3, 0x16, 0x4D, 0xF4, 0xFB,
+ 0x79, 0x30, 0xE9, 0xE4, 0xE5, 0x88, 0x57, 0xB6, 0xAC, 0x7D, 0x5F, 0x42,
+ 0xD6, 0x9F, 0x6D, 0x18, 0x77, 0x63, 0xCF, 0x1D, 0x55, 0x03, 0x40, 0x04,
+ 0x87, 0xF5, 0x5B, 0xA5, 0x7E, 0x31, 0xCC, 0x7A, 0x71, 0x35, 0xC8, 0x86,
+ 0xEF, 0xB4, 0x31, 0x8A, 0xED, 0x6A, 0x1E, 0x01, 0x2D, 0x9E, 0x68, 0x32,
+ 0xA9, 0x07, 0x60, 0x0A, 0x91, 0x81, 0x30, 0xC4, 0x6D, 0xC7, 0x78, 0xF9,
+ 0x71, 0xAD, 0x00, 0x38, 0x09, 0x29, 0x99, 0xA3, 0x33, 0xCB, 0x8B, 0x7A,
+ 0x1A, 0x1D, 0xB9, 0x3D, 0x71, 0x40, 0x00, 0x3C, 0x2A, 0x4E, 0xCE, 0xA9,
+ 0xF9, 0x8D, 0x0A, 0xCC, 0x0A, 0x82, 0x91, 0xCD, 0xCE, 0xC9, 0x7D, 0xCF,
+ 0x8E, 0xC9, 0xB5, 0x5A, 0x7F, 0x88, 0xA4, 0x6B, 0x4D, 0xB5, 0xA8, 0x51,
+ 0xF4, 0x41, 0x82, 0xE1, 0xC6, 0x8A, 0x00, 0x7E, 0x5E, 0x0D, 0xD9, 0x02,
+ 0x0B, 0xFD, 0x64, 0xB6, 0x45, 0x03, 0x6C, 0x7A, 0x4E, 0x67, 0x7D, 0x2C,
+ 0x38, 0x53, 0x2A, 0x3A, 0x23, 0xBA, 0x44, 0x42, 0xCA, 0xF5, 0x3E, 0xA6,
+ 0x3B, 0xB4, 0x54, 0x32, 0x9B, 0x76, 0x24, 0xC8, 0x91, 0x7B, 0xDD, 0x64,
+ 0xB1, 0xC0, 0xFD, 0x4C, 0xB3, 0x8E, 0x8C, 0x33, 0x4C, 0x70, 0x1C, 0x3A,
+ 0xCD, 0xAD, 0x06, 0x57, 0xFC, 0xCF, 0xEC, 0x71, 0x9B, 0x1F, 0x5C, 0x3E,
+ 0x4E, 0x46, 0x04, 0x1F, 0x38, 0x81, 0x47, 0xFB, 0x4C, 0xFD, 0xB4, 0x77,
+ 0xA5, 0x24, 0x71, 0xF7, 0xA9, 0xA9, 0x69, 0x10, 0xB8, 0x55, 0x32, 0x2E,
+ 0xDB, 0x63, 0x40, 0xD8, 0xA0, 0x0E, 0xF0, 0x92, 0x35, 0x05, 0x11, 0xE3,
+ 0x0A, 0xBE, 0xC1, 0xFF, 0xF9, 0xE3, 0xA2, 0x6E, 0x7F, 0xB2, 0x9F, 0x8C,
+ 0x18, 0x30, 0x23, 0xC3, 0x58, 0x7E, 0x38, 0xDA, 0x00, 0x77, 0xD9, 0xB4,
+ 0x76, 0x3E, 0x4E, 0x4B, 0x94, 0xB2, 0xBB, 0xC1, 0x94, 0xC6, 0x65, 0x1E,
+ 0x77, 0xCA, 0xF9, 0x92, 0xEE, 0xAA, 0xC0, 0x23, 0x2A, 0x28, 0x1B, 0xF6,
+ 0xB3, 0xA7, 0x39, 0xC1, 0x22, 0x61, 0x16, 0x82, 0x0A, 0xE8, 0xDB, 0x58,
+ 0x47, 0xA6, 0x7C, 0xBE, 0xF9, 0xC9, 0x09, 0x1B, 0x46, 0x2D, 0x53, 0x8C,
+ 0xD7, 0x2B, 0x03, 0x74, 0x6A, 0xE7, 0x7F, 0x5E, 0x62, 0x29, 0x2C, 0x31,
+ 0x15, 0x62, 0xA8, 0x46, 0x50, 0x5D, 0xC8, 0x2D, 0xB8, 0x54, 0x33, 0x8A,
+ 0xE4, 0x9F, 0x52, 0x35, 0xC9, 0x5B, 0x91, 0x17, 0x8C, 0xCF, 0x2D, 0xD5,
+ 0xCA, 0xCE, 0xF4, 0x03, 0xEC, 0x9D, 0x18, 0x10, 0xC6, 0x27, 0x2B, 0x04,
+ 0x5B, 0x3B, 0x71, 0xF9, 0xDC, 0x6B, 0x80, 0xD6, 0x3F, 0xDD, 0x4A, 0x8E,
+ 0x9A, 0xDB, 0x1E, 0x69, 0x62, 0xA6, 0x95, 0x26, 0xD4, 0x31, 0x61, 0xC1,
+ 0xA4, 0x1D, 0x57, 0x0D, 0x79, 0x38, 0xDA, 0xD4, 0xA4, 0x0E, 0x32, 0x9C,
+ 0xCF, 0xF4, 0x6A, 0xAA, 0x36, 0xAD, 0x00, 0x4C, 0xF6, 0x00, 0xC8, 0x38,
+ 0x1E, 0x42, 0x5A, 0x31, 0xD9, 0x51, 0xAE, 0x64, 0xFD, 0xB2, 0x3F, 0xCE,
+ 0xC9, 0x50, 0x9D, 0x43, 0x68, 0x7F, 0xEB, 0x69, 0xED, 0xD1, 0xCC, 0x5E,
+ 0x0B, 0x8C, 0xC3, 0xBD, 0xF6, 0x4B, 0x10, 0xEF, 0x86, 0xB6, 0x31, 0x42,
+ 0xA3, 0xAB, 0x88, 0x29, 0x55, 0x5B, 0x2F, 0x74, 0x7C, 0x93, 0x26, 0x65,
+ 0xCB, 0x2C, 0x0F, 0x1C, 0xC0, 0x1B, 0xD7, 0x02, 0x29, 0x38, 0x88, 0x39,
+ 0xD2, 0xAF, 0x05, 0xE4, 0x54, 0x50, 0x4A, 0xC7, 0x8B, 0x75, 0x82, 0x82,
+ 0x28, 0x46, 0xC0, 0xBA, 0x35, 0xC3, 0x5F, 0x5C, 0x59, 0x16, 0x0C, 0xC0,
+ 0x46, 0xFD, 0x82, 0x51, 0x54, 0x1F, 0xC6, 0x8C, 0x9C, 0x86, 0xB0, 0x22,
+ 0xBB, 0x70, 0x99, 0x87, 0x6A, 0x46, 0x0E, 0x74, 0x51, 0xA8, 0xA9, 0x31,
+ 0x09, 0x70, 0x3F, 0xEE, 0x1C, 0x21, 0x7E, 0x6C, 0x38, 0x26, 0xE5, 0x2C,
+ 0x51, 0xAA, 0x69, 0x1E, 0x0E, 0x42, 0x3C, 0xFC, 0x99, 0xE9, 0xE3, 0x16,
+ 0x50, 0xC1, 0x21, 0x7B, 0x62, 0x48, 0x16, 0xCD, 0xAD, 0x9A, 0x95, 0xF9,
+ 0xD5, 0xB8, 0x01, 0x94, 0x88, 0xD9, 0xC0, 0xA0, 0xA1, 0xFE, 0x30, 0x75,
+ 0xA5, 0x77, 0xE2, 0x31, 0x83, 0xF8, 0x1D, 0x4A, 0x3F, 0x2F, 0xA4, 0x57,
+ 0x1E, 0xFC, 0x8C, 0xE0, 0xBA, 0x8A, 0x4F, 0xE8, 0xB6, 0x85, 0x5D, 0xFE,
+ 0x72, 0xB0, 0xA6, 0x6E, 0xDE, 0xD2, 0xFB, 0xAB, 0xFB, 0xE5, 0x8A, 0x30,
+ 0xFA, 0xFA, 0xBE, 0x1C, 0x5D, 0x71, 0xA8, 0x7E, 0x2F, 0x74, 0x1E, 0xF8,
+ 0xC1, 0xFE, 0x86, 0xFE, 0xA6, 0xBB, 0xFD, 0xE5, 0x30, 0x67, 0x7F, 0x0D,
+ 0x97, 0xD1, 0x1D, 0x49, 0xF7, 0xA8, 0x44, 0x3D, 0x08, 0x22, 0xE5, 0x06,
+ 0xA9, 0xF4, 0x61, 0x4E, 0x01, 0x1E, 0x2A, 0x94, 0x83, 0x8F, 0xF8, 0x8C,
+ 0xD6, 0x8C, 0x8B, 0xB7, 0xC5, 0xC6, 0x42, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char ffdhe_q_8192[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xD6, 0xFC, 0x2A, 0x2C, 0x51, 0x5D,
- 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13,
- 0x9E, 0x9E, 0x78, 0xEC, 0x5C, 0xE2, 0xC1,
- 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B,
- 0x20, 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49,
- 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C, 0xBE,
- 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC,
- 0x7B, 0x40, 0xD9, 0x01, 0x57, 0x62, 0x30,
- 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE,
- 0xB2, 0xB0, 0x92, 0x19, 0xFA, 0x8F, 0xAF,
- 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
- 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89,
- 0xAF, 0x3F, 0xAB, 0xE4, 0x9A, 0xCC, 0x27,
- 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1,
- 0x53, 0x44, 0xED, 0x79, 0xF7, 0xF4, 0x39,
- 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3,
- 0x9A, 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D,
- 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1, 0x59,
- 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5,
- 0xD9, 0x64, 0x71, 0xFD, 0xDC, 0xB5, 0x6D,
- 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7,
- 0xA1, 0x51, 0xEF, 0x1C, 0xA6, 0xFA, 0x57,
- 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
- 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36,
- 0xB8, 0x4F, 0x01, 0x7E, 0x70, 0xE6, 0xFB,
- 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94,
- 0x1A, 0x17, 0xB0, 0xC8, 0xB9, 0x7F, 0x4E,
- 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89,
- 0x19, 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF,
- 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9, 0x9D,
- 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02,
- 0xE2, 0xC7, 0x78, 0xC1, 0xBE, 0x8B, 0x41,
- 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9,
- 0x77, 0xFD, 0x44, 0x35, 0xA1, 0x1C, 0x30,
- 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
- 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A,
- 0x6F, 0x7C, 0xCE, 0x01, 0x1C, 0x30, 0xDA,
- 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD,
- 0x6C, 0x8E, 0x93, 0x48, 0xFB, 0xFB, 0xF7,
- 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C,
- 0x8E, 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89,
- 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49, 0xDE,
- 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29,
- 0x71, 0x6B, 0xA6, 0xE9, 0xB2, 0x79, 0x71,
- 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57,
- 0x41, 0x55, 0xCE, 0x4E, 0xFB, 0x4F, 0x74,
- 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
- 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5,
- 0x6D, 0x0E, 0xDF, 0xCD, 0x21, 0x6A, 0xE2,
- 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD,
- 0x29, 0xEE, 0xF7, 0x9E, 0x0D, 0x90, 0x77,
- 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E,
- 0x95, 0xB3, 0x4F, 0x0F, 0x78, 0xB7, 0x37,
- 0xA9, 0x61, 0x8B, 0x26, 0xFA, 0x7D, 0xBC,
- 0x98, 0x74, 0xF2, 0x72, 0xC4, 0x2B, 0xDB,
- 0x56, 0x3E, 0xAF, 0xA1, 0x6B, 0x4F, 0xB6,
- 0x8C, 0x3B, 0xB1, 0xE7, 0x8E, 0xAA, 0x81,
- 0xA0, 0x02, 0x43, 0xFA, 0xAD, 0xD2, 0xBF,
- 0x18, 0xE6, 0x3D, 0x38, 0x9A, 0xE4, 0x43,
- 0x77, 0xDA, 0x18, 0xC5, 0x76, 0xB5, 0x0F,
- 0x00, 0x96, 0xCF, 0x34, 0x19, 0x54, 0x83,
- 0xB0, 0x05, 0x48, 0xC0, 0x98, 0x62, 0x36,
- 0xE3, 0xBC, 0x7C, 0xB8, 0xD6, 0x80, 0x1C,
- 0x04, 0x94, 0xCC, 0xD1, 0x99, 0xE5, 0xC5,
- 0xBD, 0x0D, 0x0E, 0xDC, 0x9E, 0xB8, 0xA0,
- 0x00, 0x1E, 0x15, 0x27, 0x67, 0x54, 0xFC,
- 0xC6, 0x85, 0x66, 0x05, 0x41, 0x48, 0xE6,
- 0xE7, 0x64, 0xBE, 0xE7, 0xC7, 0x64, 0xDA,
- 0xAD, 0x3F, 0xC4, 0x52, 0x35, 0xA6, 0xDA,
- 0xD4, 0x28, 0xFA, 0x20, 0xC1, 0x70, 0xE3,
- 0x45, 0x00, 0x3F, 0x2F, 0x06, 0xEC, 0x81,
- 0x05, 0xFE, 0xB2, 0x5B, 0x22, 0x81, 0xB6,
- 0x3D, 0x27, 0x33, 0xBE, 0x96, 0x1C, 0x29,
- 0x95, 0x1D, 0x11, 0xDD, 0x22, 0x21, 0x65,
- 0x7A, 0x9F, 0x53, 0x1D, 0xDA, 0x2A, 0x19,
- 0x4D, 0xBB, 0x12, 0x64, 0x48, 0xBD, 0xEE,
- 0xB2, 0x58, 0xE0, 0x7E, 0xA6, 0x59, 0xC7,
- 0x46, 0x19, 0xA6, 0x38, 0x0E, 0x1D, 0x66,
- 0xD6, 0x83, 0x2B, 0xFE, 0x67, 0xF6, 0x38,
- 0xCD, 0x8F, 0xAE, 0x1F, 0x27, 0x23, 0x02,
- 0x0F, 0x9C, 0x40, 0xA3, 0xFD, 0xA6, 0x7E,
- 0xDA, 0x3B, 0xD2, 0x92, 0x38, 0xFB, 0xD4,
- 0xD4, 0xB4, 0x88, 0x5C, 0x2A, 0x99, 0x17,
- 0x6D, 0xB1, 0xA0, 0x6C, 0x50, 0x07, 0x78,
- 0x49, 0x1A, 0x82, 0x88, 0xF1, 0x85, 0x5F,
- 0x60, 0xFF, 0xFC, 0xF1, 0xD1, 0x37, 0x3F,
- 0xD9, 0x4F, 0xC6, 0x0C, 0x18, 0x11, 0xE1,
- 0xAC, 0x3F, 0x1C, 0x6D, 0x00, 0x3B, 0xEC,
- 0xDA, 0x3B, 0x1F, 0x27, 0x25, 0xCA, 0x59,
- 0x5D, 0xE0, 0xCA, 0x63, 0x32, 0x8F, 0x3B,
- 0xE5, 0x7C, 0xC9, 0x77, 0x55, 0x60, 0x11,
- 0x95, 0x14, 0x0D, 0xFB, 0x59, 0xD3, 0x9C,
- 0xE0, 0x91, 0x30, 0x8B, 0x41, 0x05, 0x74,
- 0x6D, 0xAC, 0x23, 0xD3, 0x3E, 0x5F, 0x7C,
- 0xE4, 0x84, 0x8D, 0xA3, 0x16, 0xA9, 0xC6,
- 0x6B, 0x95, 0x81, 0xBA, 0x35, 0x73, 0xBF,
- 0xAF, 0x31, 0x14, 0x96, 0x18, 0x8A, 0xB1,
- 0x54, 0x23, 0x28, 0x2E, 0xE4, 0x16, 0xDC,
- 0x2A, 0x19, 0xC5, 0x72, 0x4F, 0xA9, 0x1A,
- 0xE4, 0xAD, 0xC8, 0x8B, 0xC6, 0x67, 0x96,
- 0xEA, 0xE5, 0x67, 0x7A, 0x01, 0xF6, 0x4E,
- 0x8C, 0x08, 0x63, 0x13, 0x95, 0x82, 0x2D,
- 0x9D, 0xB8, 0xFC, 0xEE, 0x35, 0xC0, 0x6B,
- 0x1F, 0xEE, 0xA5, 0x47, 0x4D, 0x6D, 0x8F,
- 0x34, 0xB1, 0x53, 0x4A, 0x93, 0x6A, 0x18,
- 0xB0, 0xE0, 0xD2, 0x0E, 0xAB, 0x86, 0xBC,
- 0x9C, 0x6D, 0x6A, 0x52, 0x07, 0x19, 0x4E,
- 0x67, 0xFA, 0x35, 0x55, 0x1B, 0x56, 0x80,
- 0x26, 0x7B, 0x00, 0x64, 0x1C, 0x0F, 0x21,
- 0x2D, 0x18, 0xEC, 0xA8, 0xD7, 0x32, 0x7E,
- 0xD9, 0x1F, 0xE7, 0x64, 0xA8, 0x4E, 0xA1,
- 0xB4, 0x3F, 0xF5, 0xB4, 0xF6, 0xE8, 0xE6,
- 0x2F, 0x05, 0xC6, 0x61, 0xDE, 0xFB, 0x25,
- 0x88, 0x77, 0xC3, 0x5B, 0x18, 0xA1, 0x51,
- 0xD5, 0xC4, 0x14, 0xAA, 0xAD, 0x97, 0xBA,
- 0x3E, 0x49, 0x93, 0x32, 0xE5, 0x96, 0x07,
- 0x8E, 0x60, 0x0D, 0xEB, 0x81, 0x14, 0x9C,
- 0x44, 0x1C, 0xE9, 0x57, 0x82, 0xF2, 0x2A,
- 0x28, 0x25, 0x63, 0xC5, 0xBA, 0xC1, 0x41,
- 0x14, 0x23, 0x60, 0x5D, 0x1A, 0xE1, 0xAF,
- 0xAE, 0x2C, 0x8B, 0x06, 0x60, 0x23, 0x7E,
- 0xC1, 0x28, 0xAA, 0x0F, 0xE3, 0x46, 0x4E,
- 0x43, 0x58, 0x11, 0x5D, 0xB8, 0x4C, 0xC3,
- 0xB5, 0x23, 0x07, 0x3A, 0x28, 0xD4, 0x54,
- 0x98, 0x84, 0xB8, 0x1F, 0xF7, 0x0E, 0x10,
- 0xBF, 0x36, 0x1C, 0x13, 0x72, 0x96, 0x28,
- 0xD5, 0x34, 0x8F, 0x07, 0x21, 0x1E, 0x7E,
- 0x4C, 0xF4, 0xF1, 0x8B, 0x28, 0x60, 0x90,
- 0xBD, 0xB1, 0x24, 0x0B, 0x66, 0xD6, 0xCD,
- 0x4A, 0xFC, 0xEA, 0xDC, 0x00, 0xCA, 0x44,
- 0x6C, 0xE0, 0x50, 0x50, 0xFF, 0x18, 0x3A,
- 0xD2, 0xBB, 0xF1, 0x18, 0xC1, 0xFC, 0x0E,
- 0xA5, 0x1F, 0x97, 0xD2, 0x2B, 0x8F, 0x7E,
- 0x46, 0x70, 0x5D, 0x45, 0x27, 0xF4, 0x5B,
- 0x42, 0xAE, 0xFF, 0x39, 0x58, 0x53, 0x37,
- 0x6F, 0x69, 0x7D, 0xD5, 0xFD, 0xF2, 0xC5,
- 0x18, 0x7D, 0x7D, 0x5F, 0x0E, 0x2E, 0xB8,
- 0xD4, 0x3F, 0x17, 0xBA, 0x0F, 0x7C, 0x60,
- 0xFF, 0x43, 0x7F, 0x53, 0x5D, 0xFE, 0xF2,
- 0x98, 0x33, 0xBF, 0x86, 0xCB, 0xE8, 0x8E,
- 0xA4, 0xFB, 0xD4, 0x22, 0x1E, 0x84, 0x11,
- 0x72, 0x83, 0x54, 0xFA, 0x30, 0xA7, 0x00,
- 0x8F, 0x15, 0x4A, 0x41, 0xC7, 0xFC, 0x46,
- 0x6B, 0x46, 0x45, 0xDB, 0xE2, 0xE3, 0x21,
- 0x26, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0xFC, 0x2A, 0x2C,
+ 0x51, 0x5D, 0xA5, 0x4D, 0x57, 0xEE, 0x2B, 0x10, 0x13, 0x9E, 0x9E, 0x78,
+ 0xEC, 0x5C, 0xE2, 0xC1, 0xE7, 0x16, 0x9B, 0x4A, 0xD4, 0xF0, 0x9B, 0x20,
+ 0x8A, 0x32, 0x19, 0xFD, 0xE6, 0x49, 0xCE, 0xE7, 0x12, 0x4D, 0x9F, 0x7C,
+ 0xBE, 0x97, 0xF1, 0xB1, 0xB1, 0x86, 0x3A, 0xEC, 0x7B, 0x40, 0xD9, 0x01,
+ 0x57, 0x62, 0x30, 0xBD, 0x69, 0xEF, 0x8F, 0x6A, 0xEA, 0xFE, 0xB2, 0xB0,
+ 0x92, 0x19, 0xFA, 0x8F, 0xAF, 0x83, 0x37, 0x68, 0x42, 0xB1, 0xB2, 0xAA,
+ 0x9E, 0xF6, 0x8D, 0x79, 0xDA, 0xAB, 0x89, 0xAF, 0x3F, 0xAB, 0xE4, 0x9A,
+ 0xCC, 0x27, 0x86, 0x38, 0x70, 0x73, 0x45, 0xBB, 0xF1, 0x53, 0x44, 0xED,
+ 0x79, 0xF7, 0xF4, 0x39, 0x0E, 0xF8, 0xAC, 0x50, 0x9B, 0x56, 0xF3, 0x9A,
+ 0x98, 0x56, 0x65, 0x27, 0xA4, 0x1D, 0x3C, 0xBD, 0x5E, 0x05, 0x58, 0xC1,
+ 0x59, 0x92, 0x7D, 0xB0, 0xE8, 0x84, 0x54, 0xA5, 0xD9, 0x64, 0x71, 0xFD,
+ 0xDC, 0xB5, 0x6D, 0x5B, 0xB0, 0x6B, 0xFA, 0x34, 0x0E, 0xA7, 0xA1, 0x51,
+ 0xEF, 0x1C, 0xA6, 0xFA, 0x57, 0x2B, 0x76, 0xF3, 0xB1, 0xB9, 0x5D, 0x8C,
+ 0x85, 0x83, 0xD3, 0xE4, 0x77, 0x05, 0x36, 0xB8, 0x4F, 0x01, 0x7E, 0x70,
+ 0xE6, 0xFB, 0xF1, 0x76, 0x60, 0x1A, 0x02, 0x66, 0x94, 0x1A, 0x17, 0xB0,
+ 0xC8, 0xB9, 0x7F, 0x4E, 0x74, 0xC2, 0xC1, 0xFF, 0xC7, 0x27, 0x89, 0x19,
+ 0x77, 0x79, 0x40, 0xC1, 0xE1, 0xFF, 0x1D, 0x8D, 0xA6, 0x37, 0xD6, 0xB9,
+ 0x9D, 0xDA, 0xFE, 0x5E, 0x17, 0x61, 0x10, 0x02, 0xE2, 0xC7, 0x78, 0xC1,
+ 0xBE, 0x8B, 0x41, 0xD9, 0x63, 0x79, 0xA5, 0x13, 0x60, 0xD9, 0x77, 0xFD,
+ 0x44, 0x35, 0xA1, 0x1C, 0x30, 0x8F, 0xE7, 0xEE, 0x6F, 0x1A, 0xAD, 0x9D,
+ 0xB2, 0x8C, 0x81, 0xAD, 0xDE, 0x1A, 0x7A, 0x6F, 0x7C, 0xCE, 0x01, 0x1C,
+ 0x30, 0xDA, 0x37, 0xE4, 0xEB, 0x73, 0x64, 0x83, 0xBD, 0x6C, 0x8E, 0x93,
+ 0x48, 0xFB, 0xFB, 0xF7, 0x2C, 0xC6, 0x58, 0x7D, 0x60, 0xC3, 0x6C, 0x8E,
+ 0x57, 0x7F, 0x09, 0x84, 0xC2, 0x89, 0xC9, 0x38, 0x5A, 0x09, 0x86, 0x49,
+ 0xDE, 0x21, 0xBC, 0xA2, 0x7A, 0x7E, 0xA2, 0x29, 0x71, 0x6B, 0xA6, 0xE9,
+ 0xB2, 0x79, 0x71, 0x0F, 0x38, 0xFA, 0xA5, 0xFF, 0xAE, 0x57, 0x41, 0x55,
+ 0xCE, 0x4E, 0xFB, 0x4F, 0x74, 0x36, 0x95, 0xE2, 0x91, 0x1B, 0x1D, 0x06,
+ 0xD5, 0xE2, 0x90, 0xCB, 0xCD, 0x86, 0xF5, 0x6D, 0x0E, 0xDF, 0xCD, 0x21,
+ 0x6A, 0xE2, 0x24, 0x27, 0x05, 0x5E, 0x68, 0x35, 0xFD, 0x29, 0xEE, 0xF7,
+ 0x9E, 0x0D, 0x90, 0x77, 0x1F, 0xEA, 0xCE, 0xBE, 0x12, 0xF2, 0x0E, 0x95,
+ 0xB3, 0x4F, 0x0F, 0x78, 0xB7, 0x37, 0xA9, 0x61, 0x8B, 0x26, 0xFA, 0x7D,
+ 0xBC, 0x98, 0x74, 0xF2, 0x72, 0xC4, 0x2B, 0xDB, 0x56, 0x3E, 0xAF, 0xA1,
+ 0x6B, 0x4F, 0xB6, 0x8C, 0x3B, 0xB1, 0xE7, 0x8E, 0xAA, 0x81, 0xA0, 0x02,
+ 0x43, 0xFA, 0xAD, 0xD2, 0xBF, 0x18, 0xE6, 0x3D, 0x38, 0x9A, 0xE4, 0x43,
+ 0x77, 0xDA, 0x18, 0xC5, 0x76, 0xB5, 0x0F, 0x00, 0x96, 0xCF, 0x34, 0x19,
+ 0x54, 0x83, 0xB0, 0x05, 0x48, 0xC0, 0x98, 0x62, 0x36, 0xE3, 0xBC, 0x7C,
+ 0xB8, 0xD6, 0x80, 0x1C, 0x04, 0x94, 0xCC, 0xD1, 0x99, 0xE5, 0xC5, 0xBD,
+ 0x0D, 0x0E, 0xDC, 0x9E, 0xB8, 0xA0, 0x00, 0x1E, 0x15, 0x27, 0x67, 0x54,
+ 0xFC, 0xC6, 0x85, 0x66, 0x05, 0x41, 0x48, 0xE6, 0xE7, 0x64, 0xBE, 0xE7,
+ 0xC7, 0x64, 0xDA, 0xAD, 0x3F, 0xC4, 0x52, 0x35, 0xA6, 0xDA, 0xD4, 0x28,
+ 0xFA, 0x20, 0xC1, 0x70, 0xE3, 0x45, 0x00, 0x3F, 0x2F, 0x06, 0xEC, 0x81,
+ 0x05, 0xFE, 0xB2, 0x5B, 0x22, 0x81, 0xB6, 0x3D, 0x27, 0x33, 0xBE, 0x96,
+ 0x1C, 0x29, 0x95, 0x1D, 0x11, 0xDD, 0x22, 0x21, 0x65, 0x7A, 0x9F, 0x53,
+ 0x1D, 0xDA, 0x2A, 0x19, 0x4D, 0xBB, 0x12, 0x64, 0x48, 0xBD, 0xEE, 0xB2,
+ 0x58, 0xE0, 0x7E, 0xA6, 0x59, 0xC7, 0x46, 0x19, 0xA6, 0x38, 0x0E, 0x1D,
+ 0x66, 0xD6, 0x83, 0x2B, 0xFE, 0x67, 0xF6, 0x38, 0xCD, 0x8F, 0xAE, 0x1F,
+ 0x27, 0x23, 0x02, 0x0F, 0x9C, 0x40, 0xA3, 0xFD, 0xA6, 0x7E, 0xDA, 0x3B,
+ 0xD2, 0x92, 0x38, 0xFB, 0xD4, 0xD4, 0xB4, 0x88, 0x5C, 0x2A, 0x99, 0x17,
+ 0x6D, 0xB1, 0xA0, 0x6C, 0x50, 0x07, 0x78, 0x49, 0x1A, 0x82, 0x88, 0xF1,
+ 0x85, 0x5F, 0x60, 0xFF, 0xFC, 0xF1, 0xD1, 0x37, 0x3F, 0xD9, 0x4F, 0xC6,
+ 0x0C, 0x18, 0x11, 0xE1, 0xAC, 0x3F, 0x1C, 0x6D, 0x00, 0x3B, 0xEC, 0xDA,
+ 0x3B, 0x1F, 0x27, 0x25, 0xCA, 0x59, 0x5D, 0xE0, 0xCA, 0x63, 0x32, 0x8F,
+ 0x3B, 0xE5, 0x7C, 0xC9, 0x77, 0x55, 0x60, 0x11, 0x95, 0x14, 0x0D, 0xFB,
+ 0x59, 0xD3, 0x9C, 0xE0, 0x91, 0x30, 0x8B, 0x41, 0x05, 0x74, 0x6D, 0xAC,
+ 0x23, 0xD3, 0x3E, 0x5F, 0x7C, 0xE4, 0x84, 0x8D, 0xA3, 0x16, 0xA9, 0xC6,
+ 0x6B, 0x95, 0x81, 0xBA, 0x35, 0x73, 0xBF, 0xAF, 0x31, 0x14, 0x96, 0x18,
+ 0x8A, 0xB1, 0x54, 0x23, 0x28, 0x2E, 0xE4, 0x16, 0xDC, 0x2A, 0x19, 0xC5,
+ 0x72, 0x4F, 0xA9, 0x1A, 0xE4, 0xAD, 0xC8, 0x8B, 0xC6, 0x67, 0x96, 0xEA,
+ 0xE5, 0x67, 0x7A, 0x01, 0xF6, 0x4E, 0x8C, 0x08, 0x63, 0x13, 0x95, 0x82,
+ 0x2D, 0x9D, 0xB8, 0xFC, 0xEE, 0x35, 0xC0, 0x6B, 0x1F, 0xEE, 0xA5, 0x47,
+ 0x4D, 0x6D, 0x8F, 0x34, 0xB1, 0x53, 0x4A, 0x93, 0x6A, 0x18, 0xB0, 0xE0,
+ 0xD2, 0x0E, 0xAB, 0x86, 0xBC, 0x9C, 0x6D, 0x6A, 0x52, 0x07, 0x19, 0x4E,
+ 0x67, 0xFA, 0x35, 0x55, 0x1B, 0x56, 0x80, 0x26, 0x7B, 0x00, 0x64, 0x1C,
+ 0x0F, 0x21, 0x2D, 0x18, 0xEC, 0xA8, 0xD7, 0x32, 0x7E, 0xD9, 0x1F, 0xE7,
+ 0x64, 0xA8, 0x4E, 0xA1, 0xB4, 0x3F, 0xF5, 0xB4, 0xF6, 0xE8, 0xE6, 0x2F,
+ 0x05, 0xC6, 0x61, 0xDE, 0xFB, 0x25, 0x88, 0x77, 0xC3, 0x5B, 0x18, 0xA1,
+ 0x51, 0xD5, 0xC4, 0x14, 0xAA, 0xAD, 0x97, 0xBA, 0x3E, 0x49, 0x93, 0x32,
+ 0xE5, 0x96, 0x07, 0x8E, 0x60, 0x0D, 0xEB, 0x81, 0x14, 0x9C, 0x44, 0x1C,
+ 0xE9, 0x57, 0x82, 0xF2, 0x2A, 0x28, 0x25, 0x63, 0xC5, 0xBA, 0xC1, 0x41,
+ 0x14, 0x23, 0x60, 0x5D, 0x1A, 0xE1, 0xAF, 0xAE, 0x2C, 0x8B, 0x06, 0x60,
+ 0x23, 0x7E, 0xC1, 0x28, 0xAA, 0x0F, 0xE3, 0x46, 0x4E, 0x43, 0x58, 0x11,
+ 0x5D, 0xB8, 0x4C, 0xC3, 0xB5, 0x23, 0x07, 0x3A, 0x28, 0xD4, 0x54, 0x98,
+ 0x84, 0xB8, 0x1F, 0xF7, 0x0E, 0x10, 0xBF, 0x36, 0x1C, 0x13, 0x72, 0x96,
+ 0x28, 0xD5, 0x34, 0x8F, 0x07, 0x21, 0x1E, 0x7E, 0x4C, 0xF4, 0xF1, 0x8B,
+ 0x28, 0x60, 0x90, 0xBD, 0xB1, 0x24, 0x0B, 0x66, 0xD6, 0xCD, 0x4A, 0xFC,
+ 0xEA, 0xDC, 0x00, 0xCA, 0x44, 0x6C, 0xE0, 0x50, 0x50, 0xFF, 0x18, 0x3A,
+ 0xD2, 0xBB, 0xF1, 0x18, 0xC1, 0xFC, 0x0E, 0xA5, 0x1F, 0x97, 0xD2, 0x2B,
+ 0x8F, 0x7E, 0x46, 0x70, 0x5D, 0x45, 0x27, 0xF4, 0x5B, 0x42, 0xAE, 0xFF,
+ 0x39, 0x58, 0x53, 0x37, 0x6F, 0x69, 0x7D, 0xD5, 0xFD, 0xF2, 0xC5, 0x18,
+ 0x7D, 0x7D, 0x5F, 0x0E, 0x2E, 0xB8, 0xD4, 0x3F, 0x17, 0xBA, 0x0F, 0x7C,
+ 0x60, 0xFF, 0x43, 0x7F, 0x53, 0x5D, 0xFE, 0xF2, 0x98, 0x33, 0xBF, 0x86,
+ 0xCB, 0xE8, 0x8E, 0xA4, 0xFB, 0xD4, 0x22, 0x1E, 0x84, 0x11, 0x72, 0x83,
+ 0x54, 0xFA, 0x30, 0xA7, 0x00, 0x8F, 0x15, 0x4A, 0x41, 0xC7, 0xFC, 0x46,
+ 0x6B, 0x46, 0x45, 0xDB, 0xE2, 0xE3, 0x21, 0x26, 0x7F, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_ffdhe_8192_group_prime = {
(void *)ffdhe_params_8192, sizeof(ffdhe_params_8192)
};
-const gnutls_datum_t gnutls_ffdhe_8192_group_q = {
- (void *)ffdhe_q_8192, sizeof(ffdhe_q_8192)
-};
+const gnutls_datum_t gnutls_ffdhe_8192_group_q = { (void *)ffdhe_q_8192,
+ sizeof(ffdhe_q_8192) };
const gnutls_datum_t gnutls_ffdhe_8192_group_generator = {
(void *)&ffdhe_generator, sizeof(ffdhe_generator)
@@ -976,82 +619,52 @@ const unsigned int gnutls_ffdhe_8192_key_bits = 512;
static const unsigned char modp_generator = 0x02;
static const unsigned char modp_params_2048[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68,
- 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80,
- 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08,
- 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE,
- 0xA6, 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A,
- 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF,
- 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
- 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14,
- 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
- 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62,
- 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
- 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C,
- 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38,
- 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE,
- 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
- 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B,
- 0x3D, 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63,
- 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 0x1C,
- 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8,
- 0xFD, 0x24, 0xCF, 0x5F, 0x83, 0x65, 0x5D,
- 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62,
- 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 0x9E,
- 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98,
- 0x04, 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18,
- 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E,
- 0x36, 0xCE, 0x3B, 0xE3, 0x9E, 0x77, 0x2C,
- 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83,
- 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5,
- 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 0xDE,
- 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
- 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A,
- 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA,
- 0x05, 0x10, 0x15, 0x72, 0x8E, 0x5A, 0x8A,
- 0xAC, 0xAA, 0x68, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char modp_q_2048[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4,
- 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0,
- 0x6E, 0x0E, 0x68, 0x94, 0x81, 0x27, 0x04,
- 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF,
- 0x53, 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5,
- 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 0xF7,
- 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D,
- 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A,
- 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8,
- 0xE1, 0x22, 0xF2, 0x42, 0xDA, 0xBB, 0x31,
- 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
- 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE,
- 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 0xF7, 0x1C,
- 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7,
- 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3,
- 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D,
- 0x9E, 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1,
- 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B, 0x0E,
- 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4,
- 0x7E, 0x92, 0x67, 0xAF, 0xC1, 0xB2, 0xAE,
- 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31,
- 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 0xCF,
- 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
- 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C,
- 0x02, 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C,
- 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17,
- 0x1B, 0x67, 0x1D, 0xF1, 0xCF, 0x3B, 0x96,
- 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1,
- 0xD1, 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2,
- 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 0xEF,
- 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C,
- 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5,
- 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D,
- 0x02, 0x88, 0x0A, 0xB9, 0x47, 0x2D, 0x45,
- 0x56, 0x55, 0x34, 0x7F, 0xFF, 0xFF, 0xFF,
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x87, 0xED, 0x51,
+ 0x10, 0xB4, 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68,
+ 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF, 0x53,
+ 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E,
+ 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 0x98, 0x15, 0x85, 0x36,
+ 0xF9, 0x2F, 0x8A, 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22,
+ 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
+ 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6,
+ 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7, 0x4F, 0x92, 0x08,
+ 0xBE, 0x25, 0x8F, 0xF3, 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E,
+ 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B,
+ 0x0E, 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF,
+ 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31, 0x79, 0xAB,
+ 0x10, 0x42, 0xA9, 0x5D, 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
+ 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 0x78, 0xBA, 0x36, 0x04,
+ 0x65, 0x0C, 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D,
+ 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1, 0xD1,
+ 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64,
+ 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 0x1C, 0xCA, 0xA4, 0xBE,
+ 0x75, 0x4A, 0xB5, 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88,
+ 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x56, 0x55, 0x34, 0x7F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF
};
@@ -1059,9 +672,8 @@ const gnutls_datum_t gnutls_modp_2048_group_prime = {
(void *)modp_params_2048, sizeof(modp_params_2048)
};
-const gnutls_datum_t gnutls_modp_2048_group_q = {
- (void *)modp_q_2048, sizeof(modp_q_2048)
-};
+const gnutls_datum_t gnutls_modp_2048_group_q = { (void *)modp_q_2048,
+ sizeof(modp_q_2048) };
const gnutls_datum_t gnutls_modp_2048_group_generator = {
(void *)&modp_generator, sizeof(modp_generator)
@@ -1070,128 +682,81 @@ const gnutls_datum_t gnutls_modp_2048_group_generator = {
const unsigned int gnutls_modp_2048_key_bits = 256;
static const unsigned char modp_params_3072[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68,
- 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80,
- 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08,
- 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE,
- 0xA6, 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A,
- 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF,
- 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
- 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14,
- 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
- 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62,
- 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
- 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C,
- 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38,
- 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE,
- 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
- 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B,
- 0x3D, 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63,
- 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 0x1C,
- 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8,
- 0xFD, 0x24, 0xCF, 0x5F, 0x83, 0x65, 0x5D,
- 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62,
- 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 0x9E,
- 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98,
- 0x04, 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18,
- 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E,
- 0x36, 0xCE, 0x3B, 0xE3, 0x9E, 0x77, 0x2C,
- 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83,
- 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5,
- 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 0xDE,
- 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
- 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A,
- 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA,
- 0x05, 0x10, 0x15, 0x72, 0x8E, 0x5A, 0x8A,
- 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
- 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21,
- 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 0xEC, 0xFB,
- 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A,
- 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
- 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4,
- 0xC7, 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09,
- 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 0x4A,
- 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26,
- 0x1A, 0xD2, 0xEE, 0x6B, 0xF1, 0x2F, 0xFA,
- 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76,
- 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 0x52,
- 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
- 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D,
- 0x6C, 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9,
- 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74,
- 0xE5, 0xAB, 0x31, 0x43, 0xDB, 0x5B, 0xFC,
- 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1,
- 0x20, 0xA9, 0x3A, 0xD2, 0xCA, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x3A, 0xD2, 0xCA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char modp_q_3072[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4,
- 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0,
- 0x6E, 0x0E, 0x68, 0x94, 0x81, 0x27, 0x04,
- 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF,
- 0x53, 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5,
- 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 0xF7,
- 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D,
- 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A,
- 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8,
- 0xE1, 0x22, 0xF2, 0x42, 0xDA, 0xBB, 0x31,
- 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
- 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE,
- 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 0xF7, 0x1C,
- 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7,
- 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3,
- 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D,
- 0x9E, 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1,
- 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B, 0x0E,
- 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4,
- 0x7E, 0x92, 0x67, 0xAF, 0xC1, 0xB2, 0xAE,
- 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31,
- 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 0xCF,
- 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
- 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C,
- 0x02, 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C,
- 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17,
- 0x1B, 0x67, 0x1D, 0xF1, 0xCF, 0x3B, 0x96,
- 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1,
- 0xD1, 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2,
- 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 0xEF,
- 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C,
- 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5,
- 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D,
- 0x02, 0x88, 0x0A, 0xB9, 0x47, 0x2D, 0x45,
- 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
- 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90,
- 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 0x76, 0x7D,
- 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45,
- 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E,
- 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2,
- 0x63, 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84,
- 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70, 0x25,
- 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13,
- 0x0D, 0x69, 0x77, 0x35, 0xF8, 0x97, 0xFD,
- 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B,
- 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 0x29,
- 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
- 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE,
- 0xB6, 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C,
- 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A,
- 0x72, 0xD5, 0x98, 0xA1, 0xED, 0xAD, 0xFE,
- 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68,
- 0x90, 0x54, 0x9D, 0x69, 0x65, 0x7F, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x87, 0xED, 0x51,
+ 0x10, 0xB4, 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68,
+ 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF, 0x53,
+ 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E,
+ 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 0x98, 0x15, 0x85, 0x36,
+ 0xF9, 0x2F, 0x8A, 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22,
+ 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
+ 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6,
+ 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7, 0x4F, 0x92, 0x08,
+ 0xBE, 0x25, 0x8F, 0xF3, 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E,
+ 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B,
+ 0x0E, 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF,
+ 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31, 0x79, 0xAB,
+ 0x10, 0x42, 0xA9, 0x5D, 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
+ 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 0x78, 0xBA, 0x36, 0x04,
+ 0x65, 0x0C, 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D,
+ 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1, 0xD1,
+ 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64,
+ 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 0x1C, 0xCA, 0xA4, 0xBE,
+ 0x75, 0x4A, 0xB5, 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88,
+ 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
+ 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32,
+ 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45, 0x75, 0x38, 0xAB,
+ 0xAE, 0x83, 0x06, 0x3E, 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63,
+ 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70,
+ 0x25, 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35,
+ 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B, 0x01, 0x39,
+ 0x9F, 0x64, 0x35, 0x32, 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
+ 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 0x3B, 0x84, 0xC4, 0x60,
+ 0x5D, 0x6C, 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98,
+ 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68, 0x90,
+ 0x54, 0x9D, 0x69, 0x65, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_modp_3072_group_prime = {
(void *)modp_params_3072, sizeof(modp_params_3072)
};
-const gnutls_datum_t gnutls_modp_3072_group_q = {
- (void *)modp_q_3072, sizeof(modp_q_3072)
-};
+const gnutls_datum_t gnutls_modp_3072_group_q = { (void *)modp_q_3072,
+ sizeof(modp_q_3072) };
const gnutls_datum_t gnutls_modp_3072_group_generator = {
(void *)&modp_generator, sizeof(modp_generator)
@@ -1200,166 +765,103 @@ const gnutls_datum_t gnutls_modp_3072_group_generator = {
const unsigned int gnutls_modp_3072_key_bits = 276;
static const unsigned char modp_params_4096[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68,
- 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80,
- 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08,
- 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE,
- 0xA6, 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A,
- 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF,
- 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
- 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14,
- 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
- 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62,
- 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
- 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C,
- 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38,
- 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE,
- 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
- 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B,
- 0x3D, 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63,
- 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 0x1C,
- 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8,
- 0xFD, 0x24, 0xCF, 0x5F, 0x83, 0x65, 0x5D,
- 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62,
- 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 0x9E,
- 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98,
- 0x04, 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18,
- 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E,
- 0x36, 0xCE, 0x3B, 0xE3, 0x9E, 0x77, 0x2C,
- 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83,
- 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5,
- 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 0xDE,
- 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
- 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A,
- 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA,
- 0x05, 0x10, 0x15, 0x72, 0x8E, 0x5A, 0x8A,
- 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
- 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21,
- 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 0xEC, 0xFB,
- 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A,
- 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
- 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4,
- 0xC7, 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09,
- 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 0x4A,
- 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26,
- 0x1A, 0xD2, 0xEE, 0x6B, 0xF1, 0x2F, 0xFA,
- 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76,
- 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 0x52,
- 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
- 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D,
- 0x6C, 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9,
- 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74,
- 0xE5, 0xAB, 0x31, 0x43, 0xDB, 0x5B, 0xFC,
- 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1,
- 0x20, 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72,
- 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 0x88,
- 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
- 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2,
- 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15,
- 0x0B, 0xDA, 0x25, 0x83, 0xE9, 0xCA, 0x2A,
- 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
- 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC,
- 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 0x28, 0x7C,
- 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99,
- 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
- 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7,
- 0xED, 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2,
- 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76, 0x21,
- 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27,
- 0xD5, 0xB0, 0x5A, 0xA9, 0x93, 0xB4, 0xEA,
- 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF,
- 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 0x4D,
- 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
+ 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18,
+ 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
+ 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
+ 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
+ 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F,
+ 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
+ 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76,
+ 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
+ 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC,
+ 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char modp_q_4096[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4,
- 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0,
- 0x6E, 0x0E, 0x68, 0x94, 0x81, 0x27, 0x04,
- 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF,
- 0x53, 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5,
- 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 0xF7,
- 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D,
- 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A,
- 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8,
- 0xE1, 0x22, 0xF2, 0x42, 0xDA, 0xBB, 0x31,
- 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
- 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE,
- 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 0xF7, 0x1C,
- 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7,
- 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3,
- 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D,
- 0x9E, 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1,
- 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B, 0x0E,
- 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4,
- 0x7E, 0x92, 0x67, 0xAF, 0xC1, 0xB2, 0xAE,
- 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31,
- 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 0xCF,
- 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
- 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C,
- 0x02, 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C,
- 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17,
- 0x1B, 0x67, 0x1D, 0xF1, 0xCF, 0x3B, 0x96,
- 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1,
- 0xD1, 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2,
- 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 0xEF,
- 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C,
- 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5,
- 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D,
- 0x02, 0x88, 0x0A, 0xB9, 0x47, 0x2D, 0x45,
- 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
- 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90,
- 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 0x76, 0x7D,
- 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45,
- 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E,
- 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2,
- 0x63, 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84,
- 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70, 0x25,
- 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13,
- 0x0D, 0x69, 0x77, 0x35, 0xF8, 0x97, 0xFD,
- 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B,
- 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 0x29,
- 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
- 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE,
- 0xB6, 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C,
- 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A,
- 0x72, 0xD5, 0x98, 0xA1, 0xED, 0xAD, 0xFE,
- 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68,
- 0x90, 0x54, 0x90, 0x84, 0x00, 0x8D, 0x39,
- 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B, 0xC4,
- 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93,
- 0x4C, 0xE1, 0x93, 0x8C, 0x35, 0x7A, 0x71,
- 0x1E, 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A,
- 0x85, 0xED, 0x12, 0xC1, 0xF4, 0xE5, 0x15,
- 0x6A, 0x26, 0x74, 0x6D, 0xDD, 0xE1, 0x6D,
- 0x82, 0x6F, 0x47, 0x7C, 0x97, 0x47, 0x7E,
- 0x0A, 0x0F, 0xDF, 0x65, 0x53, 0x14, 0x3E,
- 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 0xCC,
- 0xD9, 0x4B, 0x27, 0xD0, 0x48, 0x61, 0xD1,
- 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3,
- 0xF6, 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71,
- 0x6B, 0xD7, 0xDC, 0x0D, 0xEE, 0xBB, 0x10,
- 0xB8, 0x24, 0x0E, 0x68, 0x03, 0x48, 0x93,
- 0xEA, 0xD8, 0x2D, 0x54, 0xC9, 0xDA, 0x75,
- 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 0xC3, 0x7F,
- 0xDB, 0xEE, 0x48, 0x53, 0x60, 0x47, 0xA6,
- 0xFA, 0x1A, 0xE4, 0x9A, 0x03, 0x18, 0xCC,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x87, 0xED, 0x51,
+ 0x10, 0xB4, 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68,
+ 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF, 0x53,
+ 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E,
+ 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 0x98, 0x15, 0x85, 0x36,
+ 0xF9, 0x2F, 0x8A, 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22,
+ 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
+ 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6,
+ 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7, 0x4F, 0x92, 0x08,
+ 0xBE, 0x25, 0x8F, 0xF3, 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E,
+ 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B,
+ 0x0E, 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF,
+ 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31, 0x79, 0xAB,
+ 0x10, 0x42, 0xA9, 0x5D, 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
+ 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 0x78, 0xBA, 0x36, 0x04,
+ 0x65, 0x0C, 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D,
+ 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1, 0xD1,
+ 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64,
+ 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 0x1C, 0xCA, 0xA4, 0xBE,
+ 0x75, 0x4A, 0xB5, 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88,
+ 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
+ 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32,
+ 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45, 0x75, 0x38, 0xAB,
+ 0xAE, 0x83, 0x06, 0x3E, 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63,
+ 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70,
+ 0x25, 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35,
+ 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B, 0x01, 0x39,
+ 0x9F, 0x64, 0x35, 0x32, 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
+ 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 0x3B, 0x84, 0xC4, 0x60,
+ 0x5D, 0x6C, 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98,
+ 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68, 0x90,
+ 0x54, 0x90, 0x84, 0x00, 0x8D, 0x39, 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B,
+ 0xC4, 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93, 0x4C, 0xE1, 0x93, 0x8C,
+ 0x35, 0x7A, 0x71, 0x1E, 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A, 0x85, 0xED,
+ 0x12, 0xC1, 0xF4, 0xE5, 0x15, 0x6A, 0x26, 0x74, 0x6D, 0xDD, 0xE1, 0x6D,
+ 0x82, 0x6F, 0x47, 0x7C, 0x97, 0x47, 0x7E, 0x0A, 0x0F, 0xDF, 0x65, 0x53,
+ 0x14, 0x3E, 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 0xCC, 0xD9, 0x4B, 0x27,
+ 0xD0, 0x48, 0x61, 0xD1, 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3, 0xF6,
+ 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71, 0x6B, 0xD7, 0xDC, 0x0D, 0xEE, 0xBB,
+ 0x10, 0xB8, 0x24, 0x0E, 0x68, 0x03, 0x48, 0x93, 0xEA, 0xD8, 0x2D, 0x54,
+ 0xC9, 0xDA, 0x75, 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 0xC3, 0x7F, 0xDB, 0xEE,
+ 0x48, 0x53, 0x60, 0x47, 0xA6, 0xFA, 0x1A, 0xE4, 0x9A, 0x03, 0x18, 0xCC,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_modp_4096_group_prime = {
(void *)modp_params_4096, sizeof(modp_params_4096)
};
-const gnutls_datum_t gnutls_modp_4096_group_q = {
- (void *)modp_q_4096, sizeof(modp_q_4096)
-};
+const gnutls_datum_t gnutls_modp_4096_group_q = { (void *)modp_q_4096,
+ sizeof(modp_q_4096) };
const gnutls_datum_t gnutls_modp_4096_group_generator = {
(void *)&modp_generator, sizeof(modp_generator)
@@ -1368,238 +870,145 @@ const gnutls_datum_t gnutls_modp_4096_group_generator = {
const unsigned int gnutls_modp_4096_key_bits = 336;
static const unsigned char modp_params_6144[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68,
- 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80,
- 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08,
- 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE,
- 0xA6, 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A,
- 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF,
- 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
- 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14,
- 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
- 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62,
- 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
- 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C,
- 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38,
- 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE,
- 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
- 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B,
- 0x3D, 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63,
- 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 0x1C,
- 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8,
- 0xFD, 0x24, 0xCF, 0x5F, 0x83, 0x65, 0x5D,
- 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62,
- 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 0x9E,
- 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98,
- 0x04, 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18,
- 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E,
- 0x36, 0xCE, 0x3B, 0xE3, 0x9E, 0x77, 0x2C,
- 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83,
- 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5,
- 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 0xDE,
- 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
- 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A,
- 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA,
- 0x05, 0x10, 0x15, 0x72, 0x8E, 0x5A, 0x8A,
- 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
- 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21,
- 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 0xEC, 0xFB,
- 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A,
- 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
- 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4,
- 0xC7, 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09,
- 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 0x4A,
- 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26,
- 0x1A, 0xD2, 0xEE, 0x6B, 0xF1, 0x2F, 0xFA,
- 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76,
- 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 0x52,
- 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
- 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D,
- 0x6C, 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9,
- 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74,
- 0xE5, 0xAB, 0x31, 0x43, 0xDB, 0x5B, 0xFC,
- 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1,
- 0x20, 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72,
- 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 0x88,
- 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
- 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2,
- 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15,
- 0x0B, 0xDA, 0x25, 0x83, 0xE9, 0xCA, 0x2A,
- 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
- 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC,
- 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 0x28, 0x7C,
- 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99,
- 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
- 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7,
- 0xED, 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2,
- 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76, 0x21,
- 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27,
- 0xD5, 0xB0, 0x5A, 0xA9, 0x93, 0xB4, 0xEA,
- 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF,
- 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 0x4D,
- 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
- 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70,
- 0x26, 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26,
- 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D,
- 0xBA, 0x37, 0xBD, 0xF8, 0xFF, 0x94, 0x06,
- 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38,
- 0x2F, 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A,
- 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 0x17,
- 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
- 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14,
- 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4,
- 0xBB, 0x1B, 0xDB, 0x7F, 0x14, 0x47, 0xE6,
- 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51,
- 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4,
- 0x01, 0x37, 0x8C, 0xD2, 0xBF, 0x59, 0x83,
- 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0,
- 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
- 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE,
- 0xF6, 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98,
- 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31, 0x90,
- 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F,
- 0xBE, 0xC7, 0xE8, 0xF3, 0x23, 0xA9, 0x7A,
- 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D,
- 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 0x4B,
- 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
- 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1,
- 0xD8, 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80,
- 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2,
- 0x9B, 0xE3, 0x28, 0x06, 0xA1, 0xD5, 0x8B,
- 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA,
- 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19,
- 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 0xDA,
- 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
- 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04,
- 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48,
- 0x60, 0xEE, 0x12, 0xBF, 0x2D, 0x5B, 0x0B,
- 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E,
- 0x6D, 0xCC, 0x40, 0x24, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
+ 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18,
+ 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
+ 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
+ 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
+ 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F,
+ 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
+ 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76,
+ 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
+ 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC,
+ 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
+ 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 0xC1, 0xD4, 0xDC, 0xB2,
+ 0x60, 0x26, 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
+ 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38, 0x2F,
+ 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
+ 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 0xDA, 0x3E, 0xDB, 0xEB,
+ 0xCF, 0x9B, 0x14, 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
+ 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51,
+ 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
+ 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0, 0x32, 0xEA, 0x15,
+ 0xD1, 0x72, 0x1D, 0x03, 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
+ 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31,
+ 0x90, 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
+ 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D, 0x45, 0xB7,
+ 0xFF, 0x58, 0x5A, 0xC5, 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
+ 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 0x14, 0xCC, 0x5E, 0xD2,
+ 0x0F, 0x80, 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
+ 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA, 0x3D,
+ 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
+ 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 0x38, 0x7F, 0xE8, 0xD7,
+ 0x6E, 0x3C, 0x04, 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
+ 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E,
+ 0x6D, 0xCC, 0x40, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char modp_q_6144[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4,
- 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0,
- 0x6E, 0x0E, 0x68, 0x94, 0x81, 0x27, 0x04,
- 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF,
- 0x53, 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5,
- 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 0xF7,
- 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D,
- 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A,
- 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8,
- 0xE1, 0x22, 0xF2, 0x42, 0xDA, 0xBB, 0x31,
- 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
- 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE,
- 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 0xF7, 0x1C,
- 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7,
- 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3,
- 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D,
- 0x9E, 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1,
- 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B, 0x0E,
- 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4,
- 0x7E, 0x92, 0x67, 0xAF, 0xC1, 0xB2, 0xAE,
- 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31,
- 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 0xCF,
- 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
- 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C,
- 0x02, 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C,
- 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17,
- 0x1B, 0x67, 0x1D, 0xF1, 0xCF, 0x3B, 0x96,
- 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1,
- 0xD1, 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2,
- 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 0xEF,
- 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C,
- 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5,
- 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D,
- 0x02, 0x88, 0x0A, 0xB9, 0x47, 0x2D, 0x45,
- 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
- 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90,
- 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 0x76, 0x7D,
- 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45,
- 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E,
- 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2,
- 0x63, 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84,
- 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70, 0x25,
- 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13,
- 0x0D, 0x69, 0x77, 0x35, 0xF8, 0x97, 0xFD,
- 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B,
- 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 0x29,
- 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
- 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE,
- 0xB6, 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C,
- 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A,
- 0x72, 0xD5, 0x98, 0xA1, 0xED, 0xAD, 0xFE,
- 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68,
- 0x90, 0x54, 0x90, 0x84, 0x00, 0x8D, 0x39,
- 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B, 0xC4,
- 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93,
- 0x4C, 0xE1, 0x93, 0x8C, 0x35, 0x7A, 0x71,
- 0x1E, 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A,
- 0x85, 0xED, 0x12, 0xC1, 0xF4, 0xE5, 0x15,
- 0x6A, 0x26, 0x74, 0x6D, 0xDD, 0xE1, 0x6D,
- 0x82, 0x6F, 0x47, 0x7C, 0x97, 0x47, 0x7E,
- 0x0A, 0x0F, 0xDF, 0x65, 0x53, 0x14, 0x3E,
- 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 0xCC,
- 0xD9, 0x4B, 0x27, 0xD0, 0x48, 0x61, 0xD1,
- 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3,
- 0xF6, 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71,
- 0x6B, 0xD7, 0xDC, 0x0D, 0xEE, 0xBB, 0x10,
- 0xB8, 0x24, 0x0E, 0x68, 0x03, 0x48, 0x93,
- 0xEA, 0xD8, 0x2D, 0x54, 0xC9, 0xDA, 0x75,
- 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 0xC3, 0x7F,
- 0xDB, 0xEE, 0x48, 0x53, 0x60, 0x47, 0xA6,
- 0xFA, 0x1A, 0xE4, 0x9A, 0x01, 0x42, 0x49,
- 0x1B, 0x61, 0xFD, 0x5A, 0x69, 0x3E, 0x38,
- 0x13, 0x60, 0xEA, 0x6E, 0x59, 0x30, 0x13,
- 0x23, 0x6F, 0x64, 0xBA, 0x8F, 0x3B, 0x1E,
- 0xDD, 0x1B, 0xDE, 0xFC, 0x7F, 0xCA, 0x03,
- 0x56, 0xCF, 0x29, 0x87, 0x72, 0xED, 0x9C,
- 0x17, 0xA0, 0x98, 0x00, 0xD7, 0x58, 0x35,
- 0x29, 0xF6, 0xC8, 0x13, 0xEC, 0x18, 0x8B,
- 0xCB, 0x93, 0xD8, 0x43, 0x2D, 0x44, 0x8C,
- 0x6D, 0x1F, 0x6D, 0xF5, 0xE7, 0xCD, 0x8A,
- 0x76, 0xA2, 0x67, 0x36, 0x5D, 0x67, 0x6A,
- 0x5D, 0x8D, 0xED, 0xBF, 0x8A, 0x23, 0xF3,
- 0x66, 0x12, 0xA5, 0x99, 0x90, 0x28, 0xA8,
- 0x95, 0xEB, 0xD7, 0xA1, 0x37, 0xDC, 0x7A,
- 0x00, 0x9B, 0xC6, 0x69, 0x5F, 0xAC, 0xC1,
- 0xE5, 0x00, 0xE3, 0x25, 0xC9, 0x76, 0x78,
- 0x19, 0x75, 0x0A, 0xE8, 0xB9, 0x0E, 0x81,
- 0xFA, 0x41, 0x6B, 0xE7, 0x37, 0x3A, 0x7F,
- 0x7B, 0x6A, 0xAF, 0x38, 0x17, 0xA3, 0x4C,
- 0x06, 0x41, 0x5A, 0xD4, 0x20, 0x18, 0xC8,
- 0x05, 0x8E, 0x4F, 0x2C, 0xF3, 0xE4, 0xBF,
- 0xDF, 0x63, 0xF4, 0x79, 0x91, 0xD4, 0xBD,
- 0x3F, 0x1B, 0x66, 0x44, 0x5F, 0x07, 0x8E,
- 0xA2, 0xDB, 0xFF, 0xAC, 0x2D, 0x62, 0xA5,
- 0xEA, 0x03, 0xD9, 0x15, 0xA0, 0xAA, 0x55,
- 0x66, 0x47, 0xB6, 0xBF, 0x5F, 0xA4, 0x70,
- 0xEC, 0x0A, 0x66, 0x2F, 0x69, 0x07, 0xC0,
- 0x1B, 0xF0, 0x53, 0xCB, 0x8A, 0xF7, 0x79,
- 0x4D, 0xF1, 0x94, 0x03, 0x50, 0xEA, 0xC5,
- 0xDB, 0xE2, 0xED, 0x3B, 0x7A, 0xA8, 0x55,
- 0x1E, 0xC5, 0x0F, 0xDF, 0xF8, 0x75, 0x8C,
- 0xE6, 0x58, 0xD1, 0x89, 0xEA, 0xAE, 0x6D,
- 0x2B, 0x64, 0xF6, 0x17, 0x79, 0x4B, 0x19,
- 0x1C, 0x3F, 0xF4, 0x6B, 0xB7, 0x1E, 0x02,
- 0x34, 0x02, 0x1F, 0x47, 0xB3, 0x1F, 0xA4,
- 0x30, 0x77, 0x09, 0x5F, 0x96, 0xAD, 0x85,
- 0xBA, 0x3A, 0x6B, 0x73, 0x4A, 0x7C, 0x8F,
- 0x36, 0xE6, 0x20, 0x12, 0x7F, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x87, 0xED, 0x51,
+ 0x10, 0xB4, 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68,
+ 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF, 0x53,
+ 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E,
+ 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 0x98, 0x15, 0x85, 0x36,
+ 0xF9, 0x2F, 0x8A, 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22,
+ 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
+ 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6,
+ 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7, 0x4F, 0x92, 0x08,
+ 0xBE, 0x25, 0x8F, 0xF3, 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E,
+ 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B,
+ 0x0E, 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF,
+ 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31, 0x79, 0xAB,
+ 0x10, 0x42, 0xA9, 0x5D, 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
+ 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 0x78, 0xBA, 0x36, 0x04,
+ 0x65, 0x0C, 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D,
+ 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1, 0xD1,
+ 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64,
+ 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 0x1C, 0xCA, 0xA4, 0xBE,
+ 0x75, 0x4A, 0xB5, 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88,
+ 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
+ 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32,
+ 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45, 0x75, 0x38, 0xAB,
+ 0xAE, 0x83, 0x06, 0x3E, 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63,
+ 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70,
+ 0x25, 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35,
+ 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B, 0x01, 0x39,
+ 0x9F, 0x64, 0x35, 0x32, 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
+ 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 0x3B, 0x84, 0xC4, 0x60,
+ 0x5D, 0x6C, 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98,
+ 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68, 0x90,
+ 0x54, 0x90, 0x84, 0x00, 0x8D, 0x39, 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B,
+ 0xC4, 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93, 0x4C, 0xE1, 0x93, 0x8C,
+ 0x35, 0x7A, 0x71, 0x1E, 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A, 0x85, 0xED,
+ 0x12, 0xC1, 0xF4, 0xE5, 0x15, 0x6A, 0x26, 0x74, 0x6D, 0xDD, 0xE1, 0x6D,
+ 0x82, 0x6F, 0x47, 0x7C, 0x97, 0x47, 0x7E, 0x0A, 0x0F, 0xDF, 0x65, 0x53,
+ 0x14, 0x3E, 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 0xCC, 0xD9, 0x4B, 0x27,
+ 0xD0, 0x48, 0x61, 0xD1, 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3, 0xF6,
+ 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71, 0x6B, 0xD7, 0xDC, 0x0D, 0xEE, 0xBB,
+ 0x10, 0xB8, 0x24, 0x0E, 0x68, 0x03, 0x48, 0x93, 0xEA, 0xD8, 0x2D, 0x54,
+ 0xC9, 0xDA, 0x75, 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 0xC3, 0x7F, 0xDB, 0xEE,
+ 0x48, 0x53, 0x60, 0x47, 0xA6, 0xFA, 0x1A, 0xE4, 0x9A, 0x01, 0x42, 0x49,
+ 0x1B, 0x61, 0xFD, 0x5A, 0x69, 0x3E, 0x38, 0x13, 0x60, 0xEA, 0x6E, 0x59,
+ 0x30, 0x13, 0x23, 0x6F, 0x64, 0xBA, 0x8F, 0x3B, 0x1E, 0xDD, 0x1B, 0xDE,
+ 0xFC, 0x7F, 0xCA, 0x03, 0x56, 0xCF, 0x29, 0x87, 0x72, 0xED, 0x9C, 0x17,
+ 0xA0, 0x98, 0x00, 0xD7, 0x58, 0x35, 0x29, 0xF6, 0xC8, 0x13, 0xEC, 0x18,
+ 0x8B, 0xCB, 0x93, 0xD8, 0x43, 0x2D, 0x44, 0x8C, 0x6D, 0x1F, 0x6D, 0xF5,
+ 0xE7, 0xCD, 0x8A, 0x76, 0xA2, 0x67, 0x36, 0x5D, 0x67, 0x6A, 0x5D, 0x8D,
+ 0xED, 0xBF, 0x8A, 0x23, 0xF3, 0x66, 0x12, 0xA5, 0x99, 0x90, 0x28, 0xA8,
+ 0x95, 0xEB, 0xD7, 0xA1, 0x37, 0xDC, 0x7A, 0x00, 0x9B, 0xC6, 0x69, 0x5F,
+ 0xAC, 0xC1, 0xE5, 0x00, 0xE3, 0x25, 0xC9, 0x76, 0x78, 0x19, 0x75, 0x0A,
+ 0xE8, 0xB9, 0x0E, 0x81, 0xFA, 0x41, 0x6B, 0xE7, 0x37, 0x3A, 0x7F, 0x7B,
+ 0x6A, 0xAF, 0x38, 0x17, 0xA3, 0x4C, 0x06, 0x41, 0x5A, 0xD4, 0x20, 0x18,
+ 0xC8, 0x05, 0x8E, 0x4F, 0x2C, 0xF3, 0xE4, 0xBF, 0xDF, 0x63, 0xF4, 0x79,
+ 0x91, 0xD4, 0xBD, 0x3F, 0x1B, 0x66, 0x44, 0x5F, 0x07, 0x8E, 0xA2, 0xDB,
+ 0xFF, 0xAC, 0x2D, 0x62, 0xA5, 0xEA, 0x03, 0xD9, 0x15, 0xA0, 0xAA, 0x55,
+ 0x66, 0x47, 0xB6, 0xBF, 0x5F, 0xA4, 0x70, 0xEC, 0x0A, 0x66, 0x2F, 0x69,
+ 0x07, 0xC0, 0x1B, 0xF0, 0x53, 0xCB, 0x8A, 0xF7, 0x79, 0x4D, 0xF1, 0x94,
+ 0x03, 0x50, 0xEA, 0xC5, 0xDB, 0xE2, 0xED, 0x3B, 0x7A, 0xA8, 0x55, 0x1E,
+ 0xC5, 0x0F, 0xDF, 0xF8, 0x75, 0x8C, 0xE6, 0x58, 0xD1, 0x89, 0xEA, 0xAE,
+ 0x6D, 0x2B, 0x64, 0xF6, 0x17, 0x79, 0x4B, 0x19, 0x1C, 0x3F, 0xF4, 0x6B,
+ 0xB7, 0x1E, 0x02, 0x34, 0x02, 0x1F, 0x47, 0xB3, 0x1F, 0xA4, 0x30, 0x77,
+ 0x09, 0x5F, 0x96, 0xAD, 0x85, 0xBA, 0x3A, 0x6B, 0x73, 0x4A, 0x7C, 0x8F,
+ 0x36, 0xE6, 0x20, 0x12, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_modp_6144_group_prime = {
(void *)modp_params_6144, sizeof(modp_params_6144)
};
-const gnutls_datum_t gnutls_modp_6144_group_q = {
- (void *)modp_q_6144, sizeof(modp_q_6144)
-};
+const gnutls_datum_t gnutls_modp_6144_group_q = { (void *)modp_q_6144,
+ sizeof(modp_q_6144) };
const gnutls_datum_t gnutls_modp_6144_group_generator = {
(void *)&modp_generator, sizeof(modp_generator)
@@ -1608,312 +1017,189 @@ const gnutls_datum_t gnutls_modp_6144_group_generator = {
const unsigned int gnutls_modp_6144_key_bits = 376;
static const unsigned char modp_params_8192[] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68,
- 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80,
- 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08,
- 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE,
- 0xA6, 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A,
- 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF,
- 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
- 0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14,
- 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
- 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62,
- 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
- 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C,
- 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38,
- 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE,
- 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
- 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B,
- 0x3D, 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63,
- 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36, 0x1C,
- 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8,
- 0xFD, 0x24, 0xCF, 0x5F, 0x83, 0x65, 0x5D,
- 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62,
- 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB, 0x9E,
- 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
- 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98,
- 0x04, 0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18,
- 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E,
- 0x36, 0xCE, 0x3B, 0xE3, 0x9E, 0x77, 0x2C,
- 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83,
- 0xA2, 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5,
- 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9, 0xDE,
- 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
- 0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A,
- 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA,
- 0x05, 0x10, 0x15, 0x72, 0x8E, 0x5A, 0x8A,
- 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
- 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21,
- 0xAB, 0xDF, 0x1C, 0xBA, 0x64, 0xEC, 0xFB,
- 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A,
- 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
- 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4,
- 0xC7, 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09,
- 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0, 0x4A,
- 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26,
- 0x1A, 0xD2, 0xEE, 0x6B, 0xF1, 0x2F, 0xFA,
- 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76,
- 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64, 0x52,
- 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
- 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D,
- 0x6C, 0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9,
- 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74,
- 0xE5, 0xAB, 0x31, 0x43, 0xDB, 0x5B, 0xFC,
- 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1,
- 0x20, 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72,
- 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7, 0x88,
- 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
- 0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2,
- 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15,
- 0x0B, 0xDA, 0x25, 0x83, 0xE9, 0xCA, 0x2A,
- 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
- 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC,
- 0x14, 0x1F, 0xBE, 0xCA, 0xA6, 0x28, 0x7C,
- 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99,
- 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
- 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7,
- 0xED, 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2,
- 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76, 0x21,
- 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27,
- 0xD5, 0xB0, 0x5A, 0xA9, 0x93, 0xB4, 0xEA,
- 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF,
- 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F, 0x4D,
- 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
- 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70,
- 0x26, 0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26,
- 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D,
- 0xBA, 0x37, 0xBD, 0xF8, 0xFF, 0x94, 0x06,
- 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38,
- 0x2F, 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A,
- 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31, 0x17,
- 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
- 0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14,
- 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4,
- 0xBB, 0x1B, 0xDB, 0x7F, 0x14, 0x47, 0xE6,
- 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51,
- 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4,
- 0x01, 0x37, 0x8C, 0xD2, 0xBF, 0x59, 0x83,
- 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0,
- 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
- 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE,
- 0xF6, 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98,
- 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31, 0x90,
- 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F,
- 0xBE, 0xC7, 0xE8, 0xF3, 0x23, 0xA9, 0x7A,
- 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D,
- 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5, 0x4B,
- 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
- 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1,
- 0xD8, 0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80,
- 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2,
- 0x9B, 0xE3, 0x28, 0x06, 0xA1, 0xD5, 0x8B,
- 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA,
- 0x3D, 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19,
- 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C, 0xDA,
- 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
- 0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04,
- 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48,
- 0x60, 0xEE, 0x12, 0xBF, 0x2D, 0x5B, 0x0B,
- 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E,
- 0x6D, 0xBE, 0x11, 0x59, 0x74, 0xA3, 0x92,
- 0x6F, 0x12, 0xFE, 0xE5, 0xE4, 0x38, 0x77,
- 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 0xD8,
- 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA,
- 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3,
- 0x00, 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC,
- 0x47, 0xED, 0x25, 0x76, 0xF6, 0x93, 0x6B,
- 0xA4, 0x24, 0x66, 0x3A, 0xAB, 0x63, 0x9C,
- 0x5A, 0xE4, 0xF5, 0x68, 0x34, 0x23, 0xB4,
- 0x74, 0x2B, 0xF1, 0xC9, 0x78, 0x23, 0x8F,
- 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D, 0xE3,
- 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9,
- 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C,
- 0x07, 0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23,
- 0xF0, 0xC7, 0x34, 0x73, 0xFC, 0x64, 0x6C,
- 0xEA, 0x30, 0x6B, 0x4B, 0xCB, 0xC8, 0x86,
- 0x2F, 0x83, 0x85, 0xDD, 0xFA, 0x9D, 0x4B,
- 0x7F, 0xA2, 0xC0, 0x87, 0xE8, 0x79, 0x68,
- 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A, 0x06,
- 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6,
- 0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8,
- 0x2D, 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB,
- 0x6A, 0x36, 0x45, 0x97, 0xE8, 0x99, 0xA0,
- 0x25, 0x5D, 0xC1, 0x64, 0xF3, 0x1C, 0xC5,
- 0x08, 0x46, 0x85, 0x1D, 0xF9, 0xAB, 0x48,
- 0x19, 0x5D, 0xED, 0x7E, 0xA1, 0xB1, 0xD5,
- 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 0xFA,
- 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68,
- 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F,
- 0x92, 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C,
- 0x6C, 0xD7, 0x88, 0x9A, 0x00, 0x2E, 0xD5,
- 0xEE, 0x38, 0x2B, 0xC9, 0x19, 0x0D, 0xA6,
- 0xFC, 0x02, 0x6E, 0x47, 0x95, 0x58, 0xE4,
- 0x47, 0x56, 0x77, 0xE9, 0xAA, 0x9E, 0x30,
- 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF, 0xC8,
- 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71,
- 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3,
- 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, 0xDA, 0xA2,
+ 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
+ 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6,
+ 0x3B, 0x13, 0x9B, 0x22, 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
+ 0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
+ 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, 0xF4, 0x4C, 0x42, 0xE9,
+ 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
+ 0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11,
+ 0x7C, 0x4B, 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
+ 0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05, 0x98, 0xDA, 0x48, 0x36,
+ 0x1C, 0x55, 0xD3, 0x9A, 0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
+ 0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96, 0x1C, 0x62, 0xF3, 0x56,
+ 0x20, 0x85, 0x52, 0xBB, 0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
+ 0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04, 0xF1, 0x74, 0x6C, 0x08,
+ 0xCA, 0x18, 0x21, 0x7C, 0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
+ 0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03, 0x9B, 0x27, 0x83, 0xA2,
+ 0xEC, 0x07, 0xA2, 0x8F, 0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
+ 0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18, 0x39, 0x95, 0x49, 0x7C,
+ 0xEA, 0x95, 0x6A, 0xE5, 0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
+ 0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D, 0xAD, 0x33, 0x17, 0x0D,
+ 0x04, 0x50, 0x7A, 0x33, 0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
+ 0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A, 0x8A, 0xEA, 0x71, 0x57,
+ 0x5D, 0x06, 0x0C, 0x7D, 0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
+ 0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7, 0x1E, 0x8C, 0x94, 0xE0,
+ 0x4A, 0x25, 0x61, 0x9D, 0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
+ 0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64, 0xD8, 0x76, 0x02, 0x73,
+ 0x3E, 0xC8, 0x6A, 0x64, 0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
+ 0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C, 0x77, 0x09, 0x88, 0xC0,
+ 0xBA, 0xD9, 0x46, 0xE2, 0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
+ 0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E, 0x4B, 0x82, 0xD1, 0x20,
+ 0xA9, 0x21, 0x08, 0x01, 0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
+ 0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26, 0x99, 0xC3, 0x27, 0x18,
+ 0x6A, 0xF4, 0xE2, 0x3C, 0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
+ 0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8, 0xDB, 0xBB, 0xC2, 0xDB,
+ 0x04, 0xDE, 0x8E, 0xF9, 0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
+ 0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D, 0x99, 0xB2, 0x96, 0x4F,
+ 0xA0, 0x90, 0xC3, 0xA2, 0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
+ 0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF, 0xB8, 0x1B, 0xDD, 0x76,
+ 0x21, 0x70, 0x48, 0x1C, 0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
+ 0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1, 0x86, 0xFF, 0xB7, 0xDC,
+ 0x90, 0xA6, 0xC0, 0x8F, 0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
+ 0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26, 0xC1, 0xD4, 0xDC, 0xB2,
+ 0x60, 0x26, 0x46, 0xDE, 0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
+ 0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E, 0xE5, 0xDB, 0x38, 0x2F,
+ 0x41, 0x30, 0x01, 0xAE, 0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
+ 0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18, 0xDA, 0x3E, 0xDB, 0xEB,
+ 0xCF, 0x9B, 0x14, 0xED, 0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
+ 0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B, 0x33, 0x20, 0x51, 0x51,
+ 0x2B, 0xD7, 0xAF, 0x42, 0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
+ 0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC, 0xF0, 0x32, 0xEA, 0x15,
+ 0xD1, 0x72, 0x1D, 0x03, 0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
+ 0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82, 0xB5, 0xA8, 0x40, 0x31,
+ 0x90, 0x0B, 0x1C, 0x9E, 0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
+ 0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE, 0x0F, 0x1D, 0x45, 0xB7,
+ 0xFF, 0x58, 0x5A, 0xC5, 0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
+ 0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8, 0x14, 0xCC, 0x5E, 0xD2,
+ 0x0F, 0x80, 0x37, 0xE0, 0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
+ 0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76, 0xF5, 0x50, 0xAA, 0x3D,
+ 0x8A, 0x1F, 0xBF, 0xF0, 0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
+ 0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32, 0x38, 0x7F, 0xE8, 0xD7,
+ 0x6E, 0x3C, 0x04, 0x68, 0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
+ 0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6, 0xE6, 0x94, 0xF9, 0x1E,
+ 0x6D, 0xBE, 0x11, 0x59, 0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4,
+ 0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C, 0xD8, 0xBE, 0xC4, 0xD0,
+ 0x73, 0xB9, 0x31, 0xBA, 0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00,
+ 0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED, 0x25, 0x76, 0xF6, 0x93,
+ 0x6B, 0xA4, 0x24, 0x66, 0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68,
+ 0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78, 0x23, 0x8F, 0x16, 0xCB,
+ 0xE3, 0x9D, 0x65, 0x2D, 0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9,
+ 0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07, 0x13, 0xEB, 0x57, 0xA8,
+ 0x1A, 0x23, 0xF0, 0xC7, 0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B,
+ 0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD, 0xFA, 0x9D, 0x4B, 0x7F,
+ 0xA2, 0xC0, 0x87, 0xE8, 0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A,
+ 0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6, 0x6D, 0x2A, 0x13, 0xF8,
+ 0x3F, 0x44, 0xF8, 0x2D, 0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36,
+ 0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1, 0x64, 0xF3, 0x1C, 0xC5,
+ 0x08, 0x46, 0x85, 0x1D, 0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1,
+ 0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73, 0xFA, 0xF3, 0x6B, 0xC3,
+ 0x1E, 0xCF, 0xA2, 0x68, 0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92,
+ 0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7, 0x88, 0x9A, 0x00, 0x2E,
+ 0xD5, 0xEE, 0x38, 0x2B, 0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47,
+ 0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA, 0x9E, 0x30, 0x50, 0xE2,
+ 0x76, 0x56, 0x94, 0xDF, 0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71,
+ 0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char modp_q_8192[] = {
- 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xE4, 0x87, 0xED, 0x51, 0x10, 0xB4,
- 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0,
- 0x6E, 0x0E, 0x68, 0x94, 0x81, 0x27, 0x04,
- 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF,
- 0x53, 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5,
- 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E, 0xF7,
- 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D,
- 0x98, 0x15, 0x85, 0x36, 0xF9, 0x2F, 0x8A,
- 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8,
- 0xE1, 0x22, 0xF2, 0x42, 0xDA, 0xBB, 0x31,
- 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
- 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE,
- 0x5B, 0x7A, 0x03, 0x5B, 0xF6, 0xF7, 0x1C,
- 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7,
- 0x4F, 0x92, 0x08, 0xBE, 0x25, 0x8F, 0xF3,
- 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D,
- 0x9E, 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1,
- 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B, 0x0E,
- 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4,
- 0x7E, 0x92, 0x67, 0xAF, 0xC1, 0xB2, 0xAE,
- 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31,
- 0x79, 0xAB, 0x10, 0x42, 0xA9, 0x5D, 0xCF,
- 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
- 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C,
- 0x02, 0x78, 0xBA, 0x36, 0x04, 0x65, 0x0C,
- 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17,
- 0x1B, 0x67, 0x1D, 0xF1, 0xCF, 0x3B, 0x96,
- 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1,
- 0xD1, 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2,
- 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64, 0xEF,
- 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C,
- 0x1C, 0xCA, 0xA4, 0xBE, 0x75, 0x4A, 0xB5,
- 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D,
- 0x02, 0x88, 0x0A, 0xB9, 0x47, 0x2D, 0x45,
- 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
- 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90,
- 0xD5, 0xEF, 0x8E, 0x5D, 0x32, 0x76, 0x7D,
- 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45,
- 0x75, 0x38, 0xAB, 0xAE, 0x83, 0x06, 0x3E,
- 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2,
- 0x63, 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84,
- 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70, 0x25,
- 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13,
- 0x0D, 0x69, 0x77, 0x35, 0xF8, 0x97, 0xFD,
- 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B,
- 0x01, 0x39, 0x9F, 0x64, 0x35, 0x32, 0x29,
- 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
- 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE,
- 0xB6, 0x3B, 0x84, 0xC4, 0x60, 0x5D, 0x6C,
- 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A,
- 0x72, 0xD5, 0x98, 0xA1, 0xED, 0xAD, 0xFE,
- 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68,
- 0x90, 0x54, 0x90, 0x84, 0x00, 0x8D, 0x39,
- 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B, 0xC4,
- 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93,
- 0x4C, 0xE1, 0x93, 0x8C, 0x35, 0x7A, 0x71,
- 0x1E, 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A,
- 0x85, 0xED, 0x12, 0xC1, 0xF4, 0xE5, 0x15,
- 0x6A, 0x26, 0x74, 0x6D, 0xDD, 0xE1, 0x6D,
- 0x82, 0x6F, 0x47, 0x7C, 0x97, 0x47, 0x7E,
- 0x0A, 0x0F, 0xDF, 0x65, 0x53, 0x14, 0x3E,
- 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 0xCC,
- 0xD9, 0x4B, 0x27, 0xD0, 0x48, 0x61, 0xD1,
- 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3,
- 0xF6, 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71,
- 0x6B, 0xD7, 0xDC, 0x0D, 0xEE, 0xBB, 0x10,
- 0xB8, 0x24, 0x0E, 0x68, 0x03, 0x48, 0x93,
- 0xEA, 0xD8, 0x2D, 0x54, 0xC9, 0xDA, 0x75,
- 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 0xC3, 0x7F,
- 0xDB, 0xEE, 0x48, 0x53, 0x60, 0x47, 0xA6,
- 0xFA, 0x1A, 0xE4, 0x9A, 0x01, 0x42, 0x49,
- 0x1B, 0x61, 0xFD, 0x5A, 0x69, 0x3E, 0x38,
- 0x13, 0x60, 0xEA, 0x6E, 0x59, 0x30, 0x13,
- 0x23, 0x6F, 0x64, 0xBA, 0x8F, 0x3B, 0x1E,
- 0xDD, 0x1B, 0xDE, 0xFC, 0x7F, 0xCA, 0x03,
- 0x56, 0xCF, 0x29, 0x87, 0x72, 0xED, 0x9C,
- 0x17, 0xA0, 0x98, 0x00, 0xD7, 0x58, 0x35,
- 0x29, 0xF6, 0xC8, 0x13, 0xEC, 0x18, 0x8B,
- 0xCB, 0x93, 0xD8, 0x43, 0x2D, 0x44, 0x8C,
- 0x6D, 0x1F, 0x6D, 0xF5, 0xE7, 0xCD, 0x8A,
- 0x76, 0xA2, 0x67, 0x36, 0x5D, 0x67, 0x6A,
- 0x5D, 0x8D, 0xED, 0xBF, 0x8A, 0x23, 0xF3,
- 0x66, 0x12, 0xA5, 0x99, 0x90, 0x28, 0xA8,
- 0x95, 0xEB, 0xD7, 0xA1, 0x37, 0xDC, 0x7A,
- 0x00, 0x9B, 0xC6, 0x69, 0x5F, 0xAC, 0xC1,
- 0xE5, 0x00, 0xE3, 0x25, 0xC9, 0x76, 0x78,
- 0x19, 0x75, 0x0A, 0xE8, 0xB9, 0x0E, 0x81,
- 0xFA, 0x41, 0x6B, 0xE7, 0x37, 0x3A, 0x7F,
- 0x7B, 0x6A, 0xAF, 0x38, 0x17, 0xA3, 0x4C,
- 0x06, 0x41, 0x5A, 0xD4, 0x20, 0x18, 0xC8,
- 0x05, 0x8E, 0x4F, 0x2C, 0xF3, 0xE4, 0xBF,
- 0xDF, 0x63, 0xF4, 0x79, 0x91, 0xD4, 0xBD,
- 0x3F, 0x1B, 0x66, 0x44, 0x5F, 0x07, 0x8E,
- 0xA2, 0xDB, 0xFF, 0xAC, 0x2D, 0x62, 0xA5,
- 0xEA, 0x03, 0xD9, 0x15, 0xA0, 0xAA, 0x55,
- 0x66, 0x47, 0xB6, 0xBF, 0x5F, 0xA4, 0x70,
- 0xEC, 0x0A, 0x66, 0x2F, 0x69, 0x07, 0xC0,
- 0x1B, 0xF0, 0x53, 0xCB, 0x8A, 0xF7, 0x79,
- 0x4D, 0xF1, 0x94, 0x03, 0x50, 0xEA, 0xC5,
- 0xDB, 0xE2, 0xED, 0x3B, 0x7A, 0xA8, 0x55,
- 0x1E, 0xC5, 0x0F, 0xDF, 0xF8, 0x75, 0x8C,
- 0xE6, 0x58, 0xD1, 0x89, 0xEA, 0xAE, 0x6D,
- 0x2B, 0x64, 0xF6, 0x17, 0x79, 0x4B, 0x19,
- 0x1C, 0x3F, 0xF4, 0x6B, 0xB7, 0x1E, 0x02,
- 0x34, 0x02, 0x1F, 0x47, 0xB3, 0x1F, 0xA4,
- 0x30, 0x77, 0x09, 0x5F, 0x96, 0xAD, 0x85,
- 0xBA, 0x3A, 0x6B, 0x73, 0x4A, 0x7C, 0x8F,
- 0x36, 0xDF, 0x08, 0xAC, 0xBA, 0x51, 0xC9,
- 0x37, 0x89, 0x7F, 0x72, 0xF2, 0x1C, 0x3B,
- 0xBE, 0x5B, 0x54, 0x99, 0x6F, 0xC6, 0x6C,
- 0x5F, 0x62, 0x68, 0x39, 0xDC, 0x98, 0xDD,
- 0x1D, 0xE4, 0x19, 0x5B, 0x46, 0xCE, 0xE9,
- 0x80, 0x3A, 0x0F, 0xD3, 0xDF, 0xC5, 0x7E,
- 0x23, 0xF6, 0x92, 0xBB, 0x7B, 0x49, 0xB5,
- 0xD2, 0x12, 0x33, 0x1D, 0x55, 0xB1, 0xCE,
- 0x2D, 0x72, 0x7A, 0xB4, 0x1A, 0x11, 0xDA,
- 0x3A, 0x15, 0xF8, 0xE4, 0xBC, 0x11, 0xC7,
- 0x8B, 0x65, 0xF1, 0xCE, 0xB2, 0x96, 0xF1,
- 0xFE, 0xDC, 0x5F, 0x7E, 0x42, 0x45, 0x6C,
- 0x91, 0x11, 0x17, 0x02, 0x52, 0x01, 0xBE,
- 0x03, 0x89, 0xF5, 0xAB, 0xD4, 0x0D, 0x11,
- 0xF8, 0x63, 0x9A, 0x39, 0xFE, 0x32, 0x36,
- 0x75, 0x18, 0x35, 0xA5, 0xE5, 0xE4, 0x43,
- 0x17, 0xC1, 0xC2, 0xEE, 0xFD, 0x4E, 0xA5,
- 0xBF, 0xD1, 0x60, 0x43, 0xF4, 0x3C, 0xB4,
- 0x19, 0x81, 0xF6, 0xAD, 0xEE, 0x9D, 0x03,
- 0x15, 0x9E, 0x7A, 0xD9, 0xD1, 0x3C, 0x53,
- 0x36, 0x95, 0x09, 0xFC, 0x1F, 0xA2, 0x7C,
- 0x16, 0xEF, 0x98, 0x87, 0x70, 0x3A, 0x55,
- 0xB5, 0x1B, 0x22, 0xCB, 0xF4, 0x4C, 0xD0,
- 0x12, 0xAE, 0xE0, 0xB2, 0x79, 0x8E, 0x62,
- 0x84, 0x23, 0x42, 0x8E, 0xFC, 0xD5, 0xA4,
- 0x0C, 0xAE, 0xF6, 0xBF, 0x50, 0xD8, 0xEA,
- 0x88, 0x5E, 0xBF, 0x73, 0xA6, 0xB9, 0xFD,
- 0x79, 0xB5, 0xE1, 0x8F, 0x67, 0xD1, 0x34,
- 0x1A, 0xC8, 0x23, 0x7A, 0x75, 0xC3, 0xCF,
- 0xC9, 0x20, 0x04, 0xA1, 0xC5, 0xA4, 0x0E,
- 0x36, 0x6B, 0xC4, 0x4D, 0x00, 0x17, 0x6A,
- 0xF7, 0x1C, 0x15, 0xE4, 0x8C, 0x86, 0xD3,
- 0x7E, 0x01, 0x37, 0x23, 0xCA, 0xAC, 0x72,
- 0x23, 0xAB, 0x3B, 0xF4, 0xD5, 0x4F, 0x18,
- 0x28, 0x71, 0x3B, 0x2B, 0x4A, 0x6F, 0xE4,
- 0x0F, 0xAB, 0x74, 0x40, 0x5C, 0xB7, 0x38,
- 0xB0, 0x64, 0xC0, 0x6E, 0xCC, 0x76, 0xE9,
- 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF
+ 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0x87, 0xED, 0x51,
+ 0x10, 0xB4, 0x61, 0x1A, 0x62, 0x63, 0x31, 0x45, 0xC0, 0x6E, 0x0E, 0x68,
+ 0x94, 0x81, 0x27, 0x04, 0x45, 0x33, 0xE6, 0x3A, 0x01, 0x05, 0xDF, 0x53,
+ 0x1D, 0x89, 0xCD, 0x91, 0x28, 0xA5, 0x04, 0x3C, 0xC7, 0x1A, 0x02, 0x6E,
+ 0xF7, 0xCA, 0x8C, 0xD9, 0xE6, 0x9D, 0x21, 0x8D, 0x98, 0x15, 0x85, 0x36,
+ 0xF9, 0x2F, 0x8A, 0x1B, 0xA7, 0xF0, 0x9A, 0xB6, 0xB6, 0xA8, 0xE1, 0x22,
+ 0xF2, 0x42, 0xDA, 0xBB, 0x31, 0x2F, 0x3F, 0x63, 0x7A, 0x26, 0x21, 0x74,
+ 0xD3, 0x1B, 0xF6, 0xB5, 0x85, 0xFF, 0xAE, 0x5B, 0x7A, 0x03, 0x5B, 0xF6,
+ 0xF7, 0x1C, 0x35, 0xFD, 0xAD, 0x44, 0xCF, 0xD2, 0xD7, 0x4F, 0x92, 0x08,
+ 0xBE, 0x25, 0x8F, 0xF3, 0x24, 0x94, 0x33, 0x28, 0xF6, 0x72, 0x2D, 0x9E,
+ 0xE1, 0x00, 0x3E, 0x5C, 0x50, 0xB1, 0xDF, 0x82, 0xCC, 0x6D, 0x24, 0x1B,
+ 0x0E, 0x2A, 0xE9, 0xCD, 0x34, 0x8B, 0x1F, 0xD4, 0x7E, 0x92, 0x67, 0xAF,
+ 0xC1, 0xB2, 0xAE, 0x91, 0xEE, 0x51, 0xD6, 0xCB, 0x0E, 0x31, 0x79, 0xAB,
+ 0x10, 0x42, 0xA9, 0x5D, 0xCF, 0x6A, 0x94, 0x83, 0xB8, 0x4B, 0x4B, 0x36,
+ 0xB3, 0x86, 0x1A, 0xA7, 0x25, 0x5E, 0x4C, 0x02, 0x78, 0xBA, 0x36, 0x04,
+ 0x65, 0x0C, 0x10, 0xBE, 0x19, 0x48, 0x2F, 0x23, 0x17, 0x1B, 0x67, 0x1D,
+ 0xF1, 0xCF, 0x3B, 0x96, 0x0C, 0x07, 0x43, 0x01, 0xCD, 0x93, 0xC1, 0xD1,
+ 0x76, 0x03, 0xD1, 0x47, 0xDA, 0xE2, 0xAE, 0xF8, 0x37, 0xA6, 0x29, 0x64,
+ 0xEF, 0x15, 0xE5, 0xFB, 0x4A, 0xAC, 0x0B, 0x8C, 0x1C, 0xCA, 0xA4, 0xBE,
+ 0x75, 0x4A, 0xB5, 0x72, 0x8A, 0xE9, 0x13, 0x0C, 0x4C, 0x7D, 0x02, 0x88,
+ 0x0A, 0xB9, 0x47, 0x2D, 0x45, 0x55, 0x62, 0x16, 0xD6, 0x99, 0x8B, 0x86,
+ 0x82, 0x28, 0x3D, 0x19, 0xD4, 0x2A, 0x90, 0xD5, 0xEF, 0x8E, 0x5D, 0x32,
+ 0x76, 0x7D, 0xC2, 0x82, 0x2C, 0x6D, 0xF7, 0x85, 0x45, 0x75, 0x38, 0xAB,
+ 0xAE, 0x83, 0x06, 0x3E, 0xD9, 0xCB, 0x87, 0xC2, 0xD3, 0x70, 0xF2, 0x63,
+ 0xD5, 0xFA, 0xD7, 0x46, 0x6D, 0x84, 0x99, 0xEB, 0x8F, 0x46, 0x4A, 0x70,
+ 0x25, 0x12, 0xB0, 0xCE, 0xE7, 0x71, 0xE9, 0x13, 0x0D, 0x69, 0x77, 0x35,
+ 0xF8, 0x97, 0xFD, 0x03, 0x6C, 0xC5, 0x04, 0x32, 0x6C, 0x3B, 0x01, 0x39,
+ 0x9F, 0x64, 0x35, 0x32, 0x29, 0x0F, 0x95, 0x8C, 0x0B, 0xBD, 0x90, 0x06,
+ 0x5D, 0xF0, 0x8B, 0xAB, 0xBD, 0x30, 0xAE, 0xB6, 0x3B, 0x84, 0xC4, 0x60,
+ 0x5D, 0x6C, 0xA3, 0x71, 0x04, 0x71, 0x27, 0xD0, 0x3A, 0x72, 0xD5, 0x98,
+ 0xA1, 0xED, 0xAD, 0xFE, 0x70, 0x7E, 0x88, 0x47, 0x25, 0xC1, 0x68, 0x90,
+ 0x54, 0x90, 0x84, 0x00, 0x8D, 0x39, 0x1E, 0x09, 0x53, 0xC3, 0xF3, 0x6B,
+ 0xC4, 0x38, 0xCD, 0x08, 0x5E, 0xDD, 0x2D, 0x93, 0x4C, 0xE1, 0x93, 0x8C,
+ 0x35, 0x7A, 0x71, 0x1E, 0x0D, 0x4A, 0x34, 0x1A, 0x5B, 0x0A, 0x85, 0xED,
+ 0x12, 0xC1, 0xF4, 0xE5, 0x15, 0x6A, 0x26, 0x74, 0x6D, 0xDD, 0xE1, 0x6D,
+ 0x82, 0x6F, 0x47, 0x7C, 0x97, 0x47, 0x7E, 0x0A, 0x0F, 0xDF, 0x65, 0x53,
+ 0x14, 0x3E, 0x2C, 0xA3, 0xA7, 0x35, 0xE0, 0x2E, 0xCC, 0xD9, 0x4B, 0x27,
+ 0xD0, 0x48, 0x61, 0xD1, 0x11, 0x9D, 0xD0, 0xC3, 0x28, 0xAD, 0xF3, 0xF6,
+ 0x8F, 0xB0, 0x94, 0xB8, 0x67, 0x71, 0x6B, 0xD7, 0xDC, 0x0D, 0xEE, 0xBB,
+ 0x10, 0xB8, 0x24, 0x0E, 0x68, 0x03, 0x48, 0x93, 0xEA, 0xD8, 0x2D, 0x54,
+ 0xC9, 0xDA, 0x75, 0x4C, 0x46, 0xC7, 0xEE, 0xE0, 0xC3, 0x7F, 0xDB, 0xEE,
+ 0x48, 0x53, 0x60, 0x47, 0xA6, 0xFA, 0x1A, 0xE4, 0x9A, 0x01, 0x42, 0x49,
+ 0x1B, 0x61, 0xFD, 0x5A, 0x69, 0x3E, 0x38, 0x13, 0x60, 0xEA, 0x6E, 0x59,
+ 0x30, 0x13, 0x23, 0x6F, 0x64, 0xBA, 0x8F, 0x3B, 0x1E, 0xDD, 0x1B, 0xDE,
+ 0xFC, 0x7F, 0xCA, 0x03, 0x56, 0xCF, 0x29, 0x87, 0x72, 0xED, 0x9C, 0x17,
+ 0xA0, 0x98, 0x00, 0xD7, 0x58, 0x35, 0x29, 0xF6, 0xC8, 0x13, 0xEC, 0x18,
+ 0x8B, 0xCB, 0x93, 0xD8, 0x43, 0x2D, 0x44, 0x8C, 0x6D, 0x1F, 0x6D, 0xF5,
+ 0xE7, 0xCD, 0x8A, 0x76, 0xA2, 0x67, 0x36, 0x5D, 0x67, 0x6A, 0x5D, 0x8D,
+ 0xED, 0xBF, 0x8A, 0x23, 0xF3, 0x66, 0x12, 0xA5, 0x99, 0x90, 0x28, 0xA8,
+ 0x95, 0xEB, 0xD7, 0xA1, 0x37, 0xDC, 0x7A, 0x00, 0x9B, 0xC6, 0x69, 0x5F,
+ 0xAC, 0xC1, 0xE5, 0x00, 0xE3, 0x25, 0xC9, 0x76, 0x78, 0x19, 0x75, 0x0A,
+ 0xE8, 0xB9, 0x0E, 0x81, 0xFA, 0x41, 0x6B, 0xE7, 0x37, 0x3A, 0x7F, 0x7B,
+ 0x6A, 0xAF, 0x38, 0x17, 0xA3, 0x4C, 0x06, 0x41, 0x5A, 0xD4, 0x20, 0x18,
+ 0xC8, 0x05, 0x8E, 0x4F, 0x2C, 0xF3, 0xE4, 0xBF, 0xDF, 0x63, 0xF4, 0x79,
+ 0x91, 0xD4, 0xBD, 0x3F, 0x1B, 0x66, 0x44, 0x5F, 0x07, 0x8E, 0xA2, 0xDB,
+ 0xFF, 0xAC, 0x2D, 0x62, 0xA5, 0xEA, 0x03, 0xD9, 0x15, 0xA0, 0xAA, 0x55,
+ 0x66, 0x47, 0xB6, 0xBF, 0x5F, 0xA4, 0x70, 0xEC, 0x0A, 0x66, 0x2F, 0x69,
+ 0x07, 0xC0, 0x1B, 0xF0, 0x53, 0xCB, 0x8A, 0xF7, 0x79, 0x4D, 0xF1, 0x94,
+ 0x03, 0x50, 0xEA, 0xC5, 0xDB, 0xE2, 0xED, 0x3B, 0x7A, 0xA8, 0x55, 0x1E,
+ 0xC5, 0x0F, 0xDF, 0xF8, 0x75, 0x8C, 0xE6, 0x58, 0xD1, 0x89, 0xEA, 0xAE,
+ 0x6D, 0x2B, 0x64, 0xF6, 0x17, 0x79, 0x4B, 0x19, 0x1C, 0x3F, 0xF4, 0x6B,
+ 0xB7, 0x1E, 0x02, 0x34, 0x02, 0x1F, 0x47, 0xB3, 0x1F, 0xA4, 0x30, 0x77,
+ 0x09, 0x5F, 0x96, 0xAD, 0x85, 0xBA, 0x3A, 0x6B, 0x73, 0x4A, 0x7C, 0x8F,
+ 0x36, 0xDF, 0x08, 0xAC, 0xBA, 0x51, 0xC9, 0x37, 0x89, 0x7F, 0x72, 0xF2,
+ 0x1C, 0x3B, 0xBE, 0x5B, 0x54, 0x99, 0x6F, 0xC6, 0x6C, 0x5F, 0x62, 0x68,
+ 0x39, 0xDC, 0x98, 0xDD, 0x1D, 0xE4, 0x19, 0x5B, 0x46, 0xCE, 0xE9, 0x80,
+ 0x3A, 0x0F, 0xD3, 0xDF, 0xC5, 0x7E, 0x23, 0xF6, 0x92, 0xBB, 0x7B, 0x49,
+ 0xB5, 0xD2, 0x12, 0x33, 0x1D, 0x55, 0xB1, 0xCE, 0x2D, 0x72, 0x7A, 0xB4,
+ 0x1A, 0x11, 0xDA, 0x3A, 0x15, 0xF8, 0xE4, 0xBC, 0x11, 0xC7, 0x8B, 0x65,
+ 0xF1, 0xCE, 0xB2, 0x96, 0xF1, 0xFE, 0xDC, 0x5F, 0x7E, 0x42, 0x45, 0x6C,
+ 0x91, 0x11, 0x17, 0x02, 0x52, 0x01, 0xBE, 0x03, 0x89, 0xF5, 0xAB, 0xD4,
+ 0x0D, 0x11, 0xF8, 0x63, 0x9A, 0x39, 0xFE, 0x32, 0x36, 0x75, 0x18, 0x35,
+ 0xA5, 0xE5, 0xE4, 0x43, 0x17, 0xC1, 0xC2, 0xEE, 0xFD, 0x4E, 0xA5, 0xBF,
+ 0xD1, 0x60, 0x43, 0xF4, 0x3C, 0xB4, 0x19, 0x81, 0xF6, 0xAD, 0xEE, 0x9D,
+ 0x03, 0x15, 0x9E, 0x7A, 0xD9, 0xD1, 0x3C, 0x53, 0x36, 0x95, 0x09, 0xFC,
+ 0x1F, 0xA2, 0x7C, 0x16, 0xEF, 0x98, 0x87, 0x70, 0x3A, 0x55, 0xB5, 0x1B,
+ 0x22, 0xCB, 0xF4, 0x4C, 0xD0, 0x12, 0xAE, 0xE0, 0xB2, 0x79, 0x8E, 0x62,
+ 0x84, 0x23, 0x42, 0x8E, 0xFC, 0xD5, 0xA4, 0x0C, 0xAE, 0xF6, 0xBF, 0x50,
+ 0xD8, 0xEA, 0x88, 0x5E, 0xBF, 0x73, 0xA6, 0xB9, 0xFD, 0x79, 0xB5, 0xE1,
+ 0x8F, 0x67, 0xD1, 0x34, 0x1A, 0xC8, 0x23, 0x7A, 0x75, 0xC3, 0xCF, 0xC9,
+ 0x20, 0x04, 0xA1, 0xC5, 0xA4, 0x0E, 0x36, 0x6B, 0xC4, 0x4D, 0x00, 0x17,
+ 0x6A, 0xF7, 0x1C, 0x15, 0xE4, 0x8C, 0x86, 0xD3, 0x7E, 0x01, 0x37, 0x23,
+ 0xCA, 0xAC, 0x72, 0x23, 0xAB, 0x3B, 0xF4, 0xD5, 0x4F, 0x18, 0x28, 0x71,
+ 0x3B, 0x2B, 0x4A, 0x6F, 0xE4, 0x0F, 0xAB, 0x74, 0x40, 0x5C, 0xB7, 0x38,
+ 0xB0, 0x64, 0xC0, 0x6E, 0xCC, 0x76, 0xE9, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF
};
const gnutls_datum_t gnutls_modp_8192_group_prime = {
(void *)modp_params_8192, sizeof(modp_params_8192)
};
-const gnutls_datum_t gnutls_modp_8192_group_q = {
- (void *)modp_q_8192, sizeof(modp_q_8192)
-};
+const gnutls_datum_t gnutls_modp_8192_group_q = { (void *)modp_q_8192,
+ sizeof(modp_q_8192) };
const gnutls_datum_t gnutls_modp_8192_group_generator = {
(void *)&modp_generator, sizeof(modp_generator)
@@ -1921,53 +1207,57 @@ const gnutls_datum_t gnutls_modp_8192_group_generator = {
const unsigned int gnutls_modp_8192_key_bits = 512;
-unsigned
-_gnutls_dh_prime_match_fips_approved(const uint8_t * prime,
- size_t prime_size,
- const uint8_t * generator,
- size_t generator_size,
- uint8_t ** q, size_t *q_size)
+unsigned _gnutls_dh_prime_match_fips_approved(const uint8_t *prime,
+ size_t prime_size,
+ const uint8_t *generator,
+ size_t generator_size,
+ uint8_t **q, size_t *q_size)
{
static const struct {
const gnutls_datum_t *prime;
const gnutls_datum_t *generator;
const gnutls_datum_t *q;
} primes[] = {
- {&gnutls_ffdhe_8192_group_prime,
- &gnutls_ffdhe_8192_group_generator,
- &gnutls_ffdhe_8192_group_q},
- {&gnutls_ffdhe_6144_group_prime,
- &gnutls_ffdhe_6144_group_generator,
- &gnutls_ffdhe_6144_group_q},
- {&gnutls_ffdhe_4096_group_prime,
- &gnutls_ffdhe_4096_group_generator,
- &gnutls_ffdhe_4096_group_q},
- {&gnutls_ffdhe_3072_group_prime,
- &gnutls_ffdhe_3072_group_generator,
- &gnutls_ffdhe_3072_group_q},
- {&gnutls_ffdhe_2048_group_prime,
- &gnutls_ffdhe_2048_group_generator,
- &gnutls_ffdhe_2048_group_q},
- {&gnutls_modp_8192_group_prime,
- &gnutls_modp_8192_group_generator, &gnutls_modp_8192_group_q},
- {&gnutls_modp_6144_group_prime,
- &gnutls_modp_6144_group_generator, &gnutls_modp_6144_group_q},
- {&gnutls_modp_4096_group_prime,
- &gnutls_modp_4096_group_generator, &gnutls_modp_4096_group_q},
- {&gnutls_modp_3072_group_prime,
- &gnutls_modp_3072_group_generator, &gnutls_modp_3072_group_q},
- {&gnutls_modp_2048_group_prime,
- &gnutls_modp_2048_group_generator, &gnutls_modp_2048_group_q},
+ { &gnutls_ffdhe_8192_group_prime,
+ &gnutls_ffdhe_8192_group_generator,
+ &gnutls_ffdhe_8192_group_q },
+ { &gnutls_ffdhe_6144_group_prime,
+ &gnutls_ffdhe_6144_group_generator,
+ &gnutls_ffdhe_6144_group_q },
+ { &gnutls_ffdhe_4096_group_prime,
+ &gnutls_ffdhe_4096_group_generator,
+ &gnutls_ffdhe_4096_group_q },
+ { &gnutls_ffdhe_3072_group_prime,
+ &gnutls_ffdhe_3072_group_generator,
+ &gnutls_ffdhe_3072_group_q },
+ { &gnutls_ffdhe_2048_group_prime,
+ &gnutls_ffdhe_2048_group_generator,
+ &gnutls_ffdhe_2048_group_q },
+ { &gnutls_modp_8192_group_prime,
+ &gnutls_modp_8192_group_generator,
+ &gnutls_modp_8192_group_q },
+ { &gnutls_modp_6144_group_prime,
+ &gnutls_modp_6144_group_generator,
+ &gnutls_modp_6144_group_q },
+ { &gnutls_modp_4096_group_prime,
+ &gnutls_modp_4096_group_generator,
+ &gnutls_modp_4096_group_q },
+ { &gnutls_modp_3072_group_prime,
+ &gnutls_modp_3072_group_generator,
+ &gnutls_modp_3072_group_q },
+ { &gnutls_modp_2048_group_prime,
+ &gnutls_modp_2048_group_generator,
+ &gnutls_modp_2048_group_q },
};
size_t i;
for (i = 0; i < sizeof(primes) / sizeof(primes[0]); i++) {
if (primes[i].prime->size == prime_size &&
memcmp(primes[i].prime->data, prime,
- primes[i].prime->size) == 0
- && primes[i].generator->size == generator_size
- && memcmp(primes[i].generator->data, generator,
- primes[i].generator->size) == 0) {
+ primes[i].prime->size) == 0 &&
+ primes[i].generator->size == generator_size &&
+ memcmp(primes[i].generator->data, generator,
+ primes[i].generator->size) == 0) {
if (q) {
*q = primes[i].q->data;
*q_size = primes[i].q->size;
diff --git a/lib/dh-session.c b/lib/dh-session.c
index 6a0dccb353..7bdb1abfc0 100644
--- a/lib/dh-session.c
+++ b/lib/dh-session.c
@@ -67,12 +67,13 @@
**/
void gnutls_dh_set_prime_bits(gnutls_session_t session, unsigned int bits)
{
- if (bits <
- gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, GNUTLS_SEC_PARAM_WEAK)
- && bits != 0)
- _gnutls_audit_log(session,
- "Note that the security level of the Diffie-Hellman key exchange has been lowered to %u bits and this may allow decryption of the session data\n",
- bits);
+ if (bits < gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH,
+ GNUTLS_SEC_PARAM_WEAK) &&
+ bits != 0)
+ _gnutls_audit_log(
+ session,
+ "Note that the security level of the Diffie-Hellman key exchange has been lowered to %u bits and this may allow decryption of the session data\n",
+ bits);
session->internals.dh_prime_bits = bits;
}
@@ -94,9 +95,8 @@ void gnutls_dh_set_prime_bits(gnutls_session_t session, unsigned int bits)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_dh_get_group(gnutls_session_t session,
- gnutls_datum_t * raw_gen, gnutls_datum_t * raw_prime)
+int gnutls_dh_get_group(gnutls_session_t session, gnutls_datum_t *raw_gen,
+ gnutls_datum_t *raw_prime)
{
dh_info_st *dh;
int ret;
@@ -119,7 +119,7 @@ gnutls_dh_get_group(gnutls_session_t session,
break;
case GNUTLS_CRD_CERTIFICATE:
cert_info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
if (cert_info == NULL)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
dh = &cert_info->dh;
@@ -135,8 +135,8 @@ gnutls_dh_get_group(gnutls_session_t session,
return ret;
}
- ret =
- _gnutls_set_datum(raw_gen, dh->generator.data, dh->generator.size);
+ ret = _gnutls_set_datum(raw_gen, dh->generator.data,
+ dh->generator.size);
if (ret < 0) {
gnutls_assert();
_gnutls_free_datum(raw_prime);
@@ -162,7 +162,7 @@ gnutls_dh_get_group(gnutls_session_t session,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t * raw_key)
+int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t *raw_key)
{
dh_info_st *dh;
anon_auth_info_t anon_info;
@@ -170,38 +170,28 @@ int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t * raw_key)
psk_auth_info_t psk_info;
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (anon_info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- dh = &anon_info->dh;
- break;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (psk_info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- dh = &psk_info->dh;
- break;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
-
- cert_info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (cert_info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- dh = &cert_info->dh;
- break;
- }
+ case GNUTLS_CRD_ANON: {
+ anon_info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (anon_info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &anon_info->dh;
+ break;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (psk_info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &psk_info->dh;
+ break;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_info =
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (cert_info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &cert_info->dh;
+ break;
+ }
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -225,46 +215,38 @@ int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t * raw_key)
int gnutls_dh_get_secret_bits(gnutls_session_t session)
{
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info;
-
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- return info->dh.secret_bits;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info;
-
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- return info->dh.secret_bits;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
- cert_auth_info_t info;
-
- info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- return info->dh.secret_bits;
- }
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return info->dh.secret_bits;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return info->dh.secret_bits;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ return info->dh.secret_bits;
+ }
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
}
-static int mpi_buf2bits(gnutls_datum_t * mpi_buf)
+static int mpi_buf2bits(gnutls_datum_t *mpi_buf)
{
bigint_t mpi;
int rc;
@@ -300,42 +282,34 @@ int gnutls_dh_get_prime_bits(gnutls_session_t session)
dh_info_st *dh;
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info;
-
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info;
-
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
- cert_auth_info_t info;
-
- info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -362,44 +336,36 @@ int gnutls_dh_get_peers_public_bits(gnutls_session_t session)
dh_info_st *dh;
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info;
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info;
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_auth_info_t info;
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
- cert_auth_info_t info;
-
- info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -408,4 +374,4 @@ int gnutls_dh_get_peers_public_bits(gnutls_session_t session)
return mpi_buf2bits(&dh->public_key);
}
-#endif /* DH */
+#endif /* DH */
diff --git a/lib/dh.c b/lib/dh.c
index 8b4190ca04..9fa6fb2772 100644
--- a/lib/dh.c
+++ b/lib/dh.c
@@ -24,7 +24,7 @@
#include "gnutls_int.h"
#include "errors.h"
#include <datum.h>
-#include <x509_b64.h> /* for PKCS3 PEM decoding */
+#include <x509_b64.h> /* for PKCS3 PEM decoding */
#include <global.h>
#include <dh.h>
#include <pk.h>
@@ -35,9 +35,8 @@
#include "debug.h"
#include "state.h"
-static
-int set_dh_pk_params(gnutls_session_t session, bigint_t g, bigint_t p,
- bigint_t q, unsigned q_bits)
+static int set_dh_pk_params(gnutls_session_t session, bigint_t g, bigint_t p,
+ bigint_t q, unsigned q_bits)
{
/* just in case we are resuming a session */
gnutls_pk_params_release(&session->key.proto.tls12.dh.params);
@@ -50,19 +49,19 @@ int set_dh_pk_params(gnutls_session_t session, bigint_t g, bigint_t p,
session->key.proto.tls12.dh.params.params[DH_P] = _gnutls_mpi_copy(p);
if (session->key.proto.tls12.dh.params.params[DH_P] == NULL) {
- _gnutls_mpi_release(&session->key.proto.tls12.dh.
- params.params[DH_G]);
+ _gnutls_mpi_release(
+ &session->key.proto.tls12.dh.params.params[DH_G]);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
if (q) {
session->key.proto.tls12.dh.params.params[DH_Q] =
- _gnutls_mpi_copy(q);
+ _gnutls_mpi_copy(q);
if (session->key.proto.tls12.dh.params.params[DH_Q] == NULL) {
- _gnutls_mpi_release(&session->key.proto.tls12.dh.
- params.params[DH_P]);
- _gnutls_mpi_release(&session->key.proto.tls12.dh.
- params.params[DH_G]);
+ _gnutls_mpi_release(&session->key.proto.tls12.dh.params
+ .params[DH_P]);
+ _gnutls_mpi_release(&session->key.proto.tls12.dh.params
+ .params[DH_G]);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
}
@@ -78,10 +77,10 @@ int set_dh_pk_params(gnutls_session_t session, bigint_t g, bigint_t p,
* that being the negotiated RFC7919 group, the callback, and the
* provided parameters structure.
*/
-int
-_gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
- gnutls_params_function * func,
- gnutls_sec_param_t sec_param)
+int _gnutls_figure_dh_params(gnutls_session_t session,
+ gnutls_dh_params_t dh_params,
+ gnutls_params_function *func,
+ gnutls_sec_param_t sec_param)
{
gnutls_params_st params;
bigint_t p, g, q = NULL;
@@ -96,54 +95,53 @@ _gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
/* if we negotiated RFC7919 FFDHE */
if (group && group->pk == GNUTLS_PK_DH) {
- for (i = 0; i < session->internals.priorities->groups.size; i++) {
+ for (i = 0; i < session->internals.priorities->groups.size;
+ i++) {
if (session->internals.priorities->groups.entry[i] ==
group) {
- ret =
- _gnutls_mpi_init_scan_nz(&p,
- session->
- internals.priorities->
- groups.entry[i]->
- prime->data,
- session->
- internals.priorities->
- groups.entry[i]->
- prime->size);
+ ret = _gnutls_mpi_init_scan_nz(
+ &p,
+ session->internals.priorities->groups
+ .entry[i]
+ ->prime->data,
+ session->internals.priorities->groups
+ .entry[i]
+ ->prime->size);
if (ret < 0)
return gnutls_assert_val(ret);
free_pg = 1;
- ret = _gnutls_mpi_init_scan_nz(&g,
- session->internals.priorities->groups.
- entry
- [i]->generator->
- data,
- session->internals.priorities->groups.
- entry
- [i]->generator->
- size);
+ ret = _gnutls_mpi_init_scan_nz(
+ &g,
+ session->internals.priorities->groups
+ .entry[i]
+ ->generator->data,
+ session->internals.priorities->groups
+ .entry[i]
+ ->generator->size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret = _gnutls_mpi_init_scan_nz(&q,
- session->internals.priorities->groups.
- entry[i]->q->
- data,
- session->internals.priorities->groups.
- entry[i]->q->
- size);
+ ret = _gnutls_mpi_init_scan_nz(
+ &q,
+ session->internals.priorities->groups
+ .entry[i]
+ ->q->data,
+ session->internals.priorities->groups
+ .entry[i]
+ ->q->size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
session->internals.hsk_flags |= HSK_USED_FFDHE;
- q_bits =
- *session->internals.priorities->
- groups.entry[i]->q_bits;
+ q_bits = *session->internals.priorities->groups
+ .entry[i]
+ ->q_bits;
goto finished;
}
}
@@ -153,52 +151,50 @@ _gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
} else if (sec_param) {
unsigned bits =
- gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, sec_param) / 8;
+ gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, sec_param) /
+ 8;
- for (i = 0; i < session->internals.priorities->groups.size; i++) {
- if (!session->internals.priorities->groups.
- entry[i]->prime)
+ for (i = 0; i < session->internals.priorities->groups.size;
+ i++) {
+ if (!session->internals.priorities->groups.entry[i]
+ ->prime)
continue;
if (bits <=
- session->internals.priorities->groups.
- entry[i]->prime->size) {
- ret =
- _gnutls_mpi_init_scan_nz(&p,
- session->
- internals.priorities->
- groups.entry[i]->
- prime->data,
- session->
- internals.priorities->
- groups.entry[i]->
- prime->size);
+ session->internals.priorities->groups.entry[i]
+ ->prime->size) {
+ ret = _gnutls_mpi_init_scan_nz(
+ &p,
+ session->internals.priorities->groups
+ .entry[i]
+ ->prime->data,
+ session->internals.priorities->groups
+ .entry[i]
+ ->prime->size);
if (ret < 0)
return gnutls_assert_val(ret);
free_pg = 1;
- ret = _gnutls_mpi_init_scan_nz(&g,
- session->internals.priorities->groups.
- entry
- [i]->generator->
- data,
- session->internals.priorities->groups.
- entry
- [i]->generator->
- size);
+ ret = _gnutls_mpi_init_scan_nz(
+ &g,
+ session->internals.priorities->groups
+ .entry[i]
+ ->generator->data,
+ session->internals.priorities->groups
+ .entry[i]
+ ->generator->size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- q_bits =
- *session->internals.priorities->
- groups.entry[i]->q_bits;
+ q_bits = *session->internals.priorities->groups
+ .entry[i]
+ ->q_bits;
goto finished;
}
}
-
}
if (dh_params) {
@@ -212,12 +208,12 @@ _gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
g = params.params.dh->params[1];
q_bits = params.params.dh->q_bits;
} else
- return
- gnutls_assert_val(GNUTLS_E_NO_TEMPORARY_DH_PARAMS);
+ return gnutls_assert_val(
+ GNUTLS_E_NO_TEMPORARY_DH_PARAMS);
} else
return gnutls_assert_val(GNUTLS_E_NO_TEMPORARY_DH_PARAMS);
- finished:
+finished:
_gnutls_dh_save_group(session, g, p);
ret = set_dh_pk_params(session, g, p, q, q_bits);
@@ -225,7 +221,7 @@ _gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
gnutls_assert();
}
- cleanup:
+cleanup:
if (free_pg) {
_gnutls_mpi_release(&p);
_gnutls_mpi_release(&q);
@@ -235,7 +231,6 @@ _gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
gnutls_dh_params_deinit(params.params.dh);
return ret;
-
}
/* returns the prime and the generator of DH params.
@@ -263,10 +258,9 @@ const bigint_t *_gnutls_dh_params_to_mpi(gnutls_dh_params_t dh_primes)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_import_raw(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * prime,
- const gnutls_datum_t * generator)
+int gnutls_dh_params_import_raw(gnutls_dh_params_t dh_params,
+ const gnutls_datum_t *prime,
+ const gnutls_datum_t *generator)
{
return gnutls_dh_params_import_raw2(dh_params, prime, generator, 0);
}
@@ -282,9 +276,8 @@ gnutls_dh_params_import_raw(gnutls_dh_params_t dh_params,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_import_dsa(gnutls_dh_params_t dh_params,
- gnutls_x509_privkey_t key)
+int gnutls_dh_params_import_dsa(gnutls_dh_params_t dh_params,
+ gnutls_x509_privkey_t key)
{
gnutls_datum_t p, g, q;
int ret;
@@ -316,11 +309,10 @@ gnutls_dh_params_import_dsa(gnutls_dh_params_t dh_params,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_import_raw2(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * prime,
- const gnutls_datum_t * generator,
- unsigned key_bits)
+int gnutls_dh_params_import_raw2(gnutls_dh_params_t dh_params,
+ const gnutls_datum_t *prime,
+ const gnutls_datum_t *generator,
+ unsigned key_bits)
{
bigint_t tmp_prime, tmp_g;
size_t siz;
@@ -361,11 +353,10 @@ gnutls_dh_params_import_raw2(gnutls_dh_params_t dh_params,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_import_raw3(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * prime,
- const gnutls_datum_t * q,
- const gnutls_datum_t * generator)
+int gnutls_dh_params_import_raw3(gnutls_dh_params_t dh_params,
+ const gnutls_datum_t *prime,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *generator)
{
bigint_t tmp_p, tmp_g, tmp_q = NULL;
@@ -374,7 +365,8 @@ gnutls_dh_params_import_raw3(gnutls_dh_params_t dh_params,
return GNUTLS_E_MPI_SCAN_FAILED;
}
- if (_gnutls_mpi_init_scan_nz(&tmp_g, generator->data, generator->size)) {
+ if (_gnutls_mpi_init_scan_nz(&tmp_g, generator->data,
+ generator->size)) {
_gnutls_mpi_release(&tmp_p);
gnutls_assert();
return GNUTLS_E_MPI_SCAN_FAILED;
@@ -413,9 +405,8 @@ gnutls_dh_params_import_raw3(gnutls_dh_params_t dh_params,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int gnutls_dh_params_init(gnutls_dh_params_t * dh_params)
+int gnutls_dh_params_init(gnutls_dh_params_t *dh_params)
{
-
(*dh_params) = gnutls_calloc(1, sizeof(dh_params_st));
if (*dh_params == NULL) {
gnutls_assert();
@@ -423,7 +414,6 @@ int gnutls_dh_params_init(gnutls_dh_params_t * dh_params)
}
return 0;
-
}
/**
@@ -442,7 +432,6 @@ void gnutls_dh_params_deinit(gnutls_dh_params_t dh_params)
_gnutls_mpi_release(&dh_params->params[2]);
gnutls_free(dh_params);
-
}
/**
@@ -535,10 +524,9 @@ int gnutls_dh_params_generate2(gnutls_dh_params_t dparams, unsigned int bits)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,
- const gnutls_datum_t * pkcs3_params,
- gnutls_x509_crt_fmt_t format)
+int gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,
+ const gnutls_datum_t *pkcs3_params,
+ gnutls_x509_crt_fmt_t format)
{
asn1_node c2;
int result, need_free = 0;
@@ -546,7 +534,6 @@ gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,
gnutls_datum_t _params;
if (format == GNUTLS_X509_FMT_PEM) {
-
result = _gnutls_fbase64_decode("DH PARAMETERS",
pkcs3_params->data,
pkcs3_params->size, &_params);
@@ -562,9 +549,9 @@ gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,
_params.size = pkcs3_params->size;
}
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DHParameter", &c2))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DHParameter", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
if (need_free != 0) {
gnutls_free(_params.data);
@@ -652,11 +639,10 @@ gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_export_pkcs3(gnutls_dh_params_t params,
- gnutls_x509_crt_fmt_t format,
- unsigned char *params_data,
- size_t *params_data_size)
+int gnutls_dh_params_export_pkcs3(gnutls_dh_params_t params,
+ gnutls_x509_crt_fmt_t format,
+ unsigned char *params_data,
+ size_t *params_data_size)
{
gnutls_datum_t out = { NULL, 0 };
int ret;
@@ -702,10 +688,9 @@ gnutls_dh_params_export_pkcs3(gnutls_dh_params_t params,
*
* Since: 3.1.3
**/
-int
-gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
- gnutls_x509_crt_fmt_t format,
- gnutls_datum_t * out)
+int gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
+ gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
asn1_node c2;
int result;
@@ -731,9 +716,9 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
/* Ok. Now we have the data. Create the asn1 structures
*/
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DHParameter", &c2))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DHParameter", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(all_data);
return _gnutls_asn2err(result);
@@ -741,8 +726,8 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
/* Write PRIME
*/
- if ((result = asn1_write_value(c2, "prime",
- p_data, p_size)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(c2, "prime", p_data, p_size)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(all_data);
asn1_delete_structure(&c2);
@@ -750,9 +735,8 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
}
if (params->q_bits > 0)
- result =
- _gnutls_x509_write_uint32(c2, "privateValueLength",
- params->q_bits);
+ result = _gnutls_x509_write_uint32(c2, "privateValueLength",
+ params->q_bits);
else
result = asn1_write_value(c2, "privateValueLength", NULL, 0);
@@ -765,8 +749,8 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
/* Write the GENERATOR
*/
- if ((result = asn1_write_value(c2, "base",
- g_data, g_size)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(c2, "base", g_data, g_size)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(all_data);
asn1_delete_structure(&c2);
@@ -783,7 +767,7 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
if (result < 0)
return gnutls_assert_val(result);
- } else { /* PEM */
+ } else { /* PEM */
gnutls_datum_t t;
result = _gnutls_x509_der_encode(c2, "", &t, 0);
@@ -793,9 +777,8 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
if (result < 0)
return gnutls_assert_val(result);
- result =
- _gnutls_fbase64_encode("DH PARAMETERS", t.data, t.size,
- out);
+ result = _gnutls_fbase64_encode("DH PARAMETERS", t.data, t.size,
+ out);
gnutls_free(t.data);
@@ -823,10 +806,9 @@ gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_dh_params_export_raw(gnutls_dh_params_t params,
- gnutls_datum_t * prime,
- gnutls_datum_t * generator, unsigned int *bits)
+int gnutls_dh_params_export_raw(gnutls_dh_params_t params,
+ gnutls_datum_t *prime,
+ gnutls_datum_t *generator, unsigned int *bits)
{
int ret;
@@ -852,5 +834,4 @@ gnutls_dh_params_export_raw(gnutls_dh_params_t params,
*bits = params->q_bits;
return 0;
-
}
diff --git a/lib/dh.h b/lib/dh.h
index ea78715c9f..ad1d5767b3 100644
--- a/lib/dh.h
+++ b/lib/dh.h
@@ -21,16 +21,16 @@
*/
#ifndef GNUTLS_LIB_DH_H
-# define GNUTLS_LIB_DH_H
+#define GNUTLS_LIB_DH_H
const bigint_t *_gnutls_dh_params_to_mpi(gnutls_dh_params_t);
-int
-_gnutls_figure_dh_params(gnutls_session_t session, gnutls_dh_params_t dh_params,
- gnutls_params_function * func,
- gnutls_sec_param_t sec_param);
+int _gnutls_figure_dh_params(gnutls_session_t session,
+ gnutls_dh_params_t dh_params,
+ gnutls_params_function *func,
+ gnutls_sec_param_t sec_param);
-int _gnutls_set_cred_dh_params(gnutls_dh_params_t * cparams,
+int _gnutls_set_cred_dh_params(gnutls_dh_params_t *cparams,
gnutls_sec_param_t sec_param);
/* The static parameters defined in RFC 3526, used for the approved
@@ -62,11 +62,10 @@ extern const gnutls_datum_t gnutls_modp_2048_group_q;
extern const gnutls_datum_t gnutls_modp_2048_group_generator;
extern const unsigned int gnutls_modp_2048_key_bits;
-unsigned
-_gnutls_dh_prime_match_fips_approved(const uint8_t * prime,
- size_t prime_size,
- const uint8_t * generator,
- size_t generator_size,
- uint8_t ** q, size_t *q_size);
+unsigned _gnutls_dh_prime_match_fips_approved(const uint8_t *prime,
+ size_t prime_size,
+ const uint8_t *generator,
+ size_t generator_size,
+ uint8_t **q, size_t *q_size);
-#endif /* GNUTLS_LIB_DH_H */
+#endif /* GNUTLS_LIB_DH_H */
diff --git a/lib/dtls-sw.c b/lib/dtls-sw.c
index 960604ad14..69a6052cec 100644
--- a/lib/dtls-sw.c
+++ b/lib/dtls-sw.c
@@ -25,20 +25,20 @@
*/
#ifndef DTLS_SW_NO_INCLUDES
-# include "gnutls_int.h"
-# include "errors.h"
-# include "debug.h"
-# include "dtls.h"
-# include "record.h"
+#include "gnutls_int.h"
+#include "errors.h"
+#include "debug.h"
+#include "dtls.h"
+#include "record.h"
#endif
/*
* DTLS sliding window handling
*/
-#define DTLS_EPOCH_SHIFT (6*CHAR_BIT)
-#define DTLS_SEQ_NUM_MASK 0x0000FFFFFFFFFFFF
+#define DTLS_EPOCH_SHIFT (6 * CHAR_BIT)
+#define DTLS_SEQ_NUM_MASK 0x0000FFFFFFFFFFFF
-#define DTLS_EMPTY_BITMAP (0xFFFFFFFFFFFFFFFFULL)
+#define DTLS_EMPTY_BITMAP (0xFFFFFFFFFFFFFFFFULL)
void _dtls_reset_window(struct record_parameters_st *rp)
{
@@ -128,8 +128,8 @@ int _dtls_record_check(struct record_parameters_st *rp, uint64_t seq_num)
return gnutls_assert_val(-3);
} else {
/* Within the sliding window, so we remember whether we've seen it or not */
- uint64_t mask =
- 1ULL << (rp->dtls_sw_next - seq_num - 2);
+ uint64_t mask = 1ULL
+ << (rp->dtls_sw_next - seq_num - 2);
if (!(rp->dtls_sw_bits & mask))
return gnutls_assert_val(-3);
diff --git a/lib/dtls.c b/lib/dtls.c
index 65edb83acf..7df4b26c64 100644
--- a/lib/dtls.c
+++ b/lib/dtls.c
@@ -40,10 +40,10 @@
void _dtls_async_timer_delete(gnutls_session_t session)
{
if (session->internals.dtls.async_term != 0) {
- _gnutls_dtls_log
- ("DTLS[%p]: Deinitializing previous handshake state.\n",
- session);
- session->internals.dtls.async_term = 0; /* turn off "timer" */
+ _gnutls_dtls_log(
+ "DTLS[%p]: Deinitializing previous handshake state.\n",
+ session);
+ session->internals.dtls.async_term = 0; /* turn off "timer" */
_dtls_reset_hsk_state(session);
_gnutls_handshake_io_buffer_clear(session);
@@ -55,8 +55,8 @@ void _dtls_async_timer_delete(gnutls_session_t session)
* outgoing message. It accepts mtu_data which is a buffer to
* be reused (should be set to NULL initially).
*/
-static inline int
-transmit_message(gnutls_session_t session, mbuffer_st * bufel, uint8_t ** buf)
+static inline int transmit_message(gnutls_session_t session, mbuffer_st *bufel,
+ uint8_t **buf)
{
uint8_t *data, *mtu_data;
int ret = 0;
@@ -69,13 +69,12 @@ transmit_message(gnutls_session_t session, mbuffer_st * bufel, uint8_t ** buf)
mtu -= DTLS_HANDSHAKE_HEADER_SIZE;
if (bufel->type == GNUTLS_CHANGE_CIPHER_SPEC) {
- _gnutls_dtls_log
- ("DTLS[%p]: Sending Packet[%u] fragment %s(%d), mtu %u\n",
- session, bufel->handshake_sequence,
- _gnutls_handshake2str(bufel->htype), bufel->htype, mtu);
+ _gnutls_dtls_log(
+ "DTLS[%p]: Sending Packet[%u] fragment %s(%d), mtu %u\n",
+ session, bufel->handshake_sequence,
+ _gnutls_handshake2str(bufel->htype), bufel->htype, mtu);
- return _gnutls_send_int(session, bufel->type, -1,
- bufel->epoch,
+ return _gnutls_send_int(session, bufel->type, -1, bufel->epoch,
_mbuffer_get_uhead_ptr(bufel),
_mbuffer_get_uhead_size(bufel), 0);
}
@@ -94,7 +93,7 @@ transmit_message(gnutls_session_t session, mbuffer_st * bufel, uint8_t ** buf)
*/
/* Handshake type */
- mtu_data[0] = (uint8_t) bufel->htype;
+ mtu_data[0] = (uint8_t)bufel->htype;
/* Total length */
_gnutls_write_uint24(data_size, &mtu_data[1]);
@@ -124,20 +123,20 @@ transmit_message(gnutls_session_t session, mbuffer_st * bufel, uint8_t ** buf)
/* Fragment length */
_gnutls_write_uint24(frag_len, &mtu_data[9]);
- memcpy(&mtu_data[DTLS_HANDSHAKE_HEADER_SIZE],
- data + offset, frag_len);
+ memcpy(&mtu_data[DTLS_HANDSHAKE_HEADER_SIZE], data + offset,
+ frag_len);
- _gnutls_dtls_log
- ("DTLS[%p]: Sending Packet[%u] fragment %s(%d) with "
- "length: %u, offset: %u, fragment length: %u, mtu: %u\n",
- session, bufel->handshake_sequence,
- _gnutls_handshake2str(bufel->htype), bufel->htype,
- data_size, offset, frag_len, mtu);
+ _gnutls_dtls_log(
+ "DTLS[%p]: Sending Packet[%u] fragment %s(%d) with "
+ "length: %u, offset: %u, fragment length: %u, mtu: %u\n",
+ session, bufel->handshake_sequence,
+ _gnutls_handshake2str(bufel->htype), bufel->htype,
+ data_size, offset, frag_len, mtu);
ret = _gnutls_send_int(session, bufel->type, bufel->htype,
bufel->epoch, mtu_data,
- DTLS_HANDSHAKE_HEADER_SIZE +
- frag_len, 0);
+ DTLS_HANDSHAKE_HEADER_SIZE + frag_len,
+ 0);
if (ret < 0) {
gnutls_assert();
break;
@@ -148,7 +147,7 @@ transmit_message(gnutls_session_t session, mbuffer_st * bufel, uint8_t ** buf)
}
static int drop_usage_count(gnutls_session_t session,
- mbuffer_head_st * const send_buffer)
+ mbuffer_head_st *const send_buffer)
{
int ret;
mbuffer_st *cur;
@@ -174,9 +173,8 @@ static int is_next_hpacket_expected(gnutls_session_t session)
int ret;
/* htype is arbitrary */
- ret =
- _gnutls_recv_in_buffers(session, GNUTLS_HANDSHAKE,
- GNUTLS_HANDSHAKE_FINISHED, 0);
+ ret = _gnutls_recv_in_buffers(session, GNUTLS_HANDSHAKE,
+ GNUTLS_HANDSHAKE_FINISHED, 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -197,13 +195,16 @@ void _dtls_reset_hsk_state(gnutls_session_t session)
_mbuffer_head_clear(&session->internals.handshake_send_buffer);
}
-#define UPDATE_TIMER { \
- session->internals.dtls.actual_retrans_timeout_ms *= 2; \
- session->internals.dtls.actual_retrans_timeout_ms %= MAX_DTLS_TIMEOUT; \
- }
+#define UPDATE_TIMER \
+ { \
+ session->internals.dtls.actual_retrans_timeout_ms *= 2; \
+ session->internals.dtls.actual_retrans_timeout_ms %= \
+ MAX_DTLS_TIMEOUT; \
+ }
-#define RESET_TIMER \
- session->internals.dtls.actual_retrans_timeout_ms = session->internals.dtls.retrans_timeout_ms
+#define RESET_TIMER \
+ session->internals.dtls.actual_retrans_timeout_ms = \
+ session->internals.dtls.retrans_timeout_ms
#define TIMER_WINDOW session->internals.dtls.actual_retrans_timeout_ms
@@ -221,7 +222,7 @@ int _dtls_transmit(gnutls_session_t session)
/* PREPARING -> SENDING state transition */
mbuffer_head_st *const send_buffer =
- &session->internals.handshake_send_buffer;
+ &session->internals.handshake_send_buffer;
mbuffer_st *cur;
gnutls_handshake_description_t last_type = 0;
unsigned int diff;
@@ -233,8 +234,8 @@ int _dtls_transmit(gnutls_session_t session)
* non blocking way, check if it is time to retransmit or just
* return.
*/
- if (session->internals.dtls.flight_init != 0
- && (session->internals.flags & GNUTLS_NONBLOCK)) {
+ if (session->internals.dtls.flight_init != 0 &&
+ (session->internals.flags & GNUTLS_NONBLOCK)) {
/* just in case previous run was interrupted */
ret = _gnutls_io_write_flush(session);
if (ret < 0) {
@@ -242,31 +243,29 @@ int _dtls_transmit(gnutls_session_t session)
goto cleanup;
}
- if (session->internals.dtls.last_flight == 0
- || !_dtls_is_async(session)) {
+ if (session->internals.dtls.last_flight == 0 ||
+ !_dtls_is_async(session)) {
/* check for ACK */
ret = _gnutls_io_check_recv(session, 0);
if (ret == GNUTLS_E_TIMEDOUT) {
/* if no retransmission is required yet just return
*/
- if (timespec_sub_ms
- (&now,
- &session->internals.dtls.last_retransmit) <
+ if (timespec_sub_ms(&now,
+ &session->internals.dtls
+ .last_retransmit) <
TIMER_WINDOW) {
gnutls_assert();
goto nb_timeout;
}
- } else { /* received something */
+ } else { /* received something */
if (ret == 0) {
ret = is_next_hpacket_expected(session);
- if (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED)
+ if (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED)
goto nb_timeout;
- if (ret < 0
- && ret !=
- GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET)
- {
+ if (ret < 0 &&
+ ret != GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) {
gnutls_assert();
goto cleanup;
}
@@ -282,25 +281,24 @@ int _dtls_transmit(gnutls_session_t session)
do {
timeout = TIMER_WINDOW;
- diff =
- timespec_sub_ms(&now,
- &session->internals.handshake_start_time);
+ diff = timespec_sub_ms(
+ &now, &session->internals.handshake_start_time);
if (diff >= session->internals.handshake_timeout_ms) {
_gnutls_dtls_log("Session timeout: %u ms\n", diff);
ret = gnutls_assert_val(GNUTLS_E_TIMEDOUT);
goto end_flight;
}
- diff =
- timespec_sub_ms(&now,
- &session->internals.dtls.last_retransmit);
- if (session->internals.dtls.flight_init == 0
- || diff >= TIMER_WINDOW) {
- _gnutls_dtls_log
- ("DTLS[%p]: %sStart of flight transmission.\n",
- session,
- (session->internals.dtls.flight_init ==
- 0) ? "" : "re-");
+ diff = timespec_sub_ms(
+ &now, &session->internals.dtls.last_retransmit);
+ if (session->internals.dtls.flight_init == 0 ||
+ diff >= TIMER_WINDOW) {
+ _gnutls_dtls_log(
+ "DTLS[%p]: %sStart of flight transmission.\n",
+ session,
+ (session->internals.dtls.flight_init == 0) ?
+ "" :
+ "re-");
for (cur = send_buffer->head; cur != NULL;
cur = cur->next) {
ret = transmit_message(session, cur, &buf);
@@ -311,8 +309,8 @@ int _dtls_transmit(gnutls_session_t session)
last_type = cur->htype;
}
- gnutls_gettime(&session->internals.
- dtls.last_retransmit);
+ gnutls_gettime(
+ &session->internals.dtls.last_retransmit);
if (session->internals.dtls.flight_init == 0) {
session->internals.dtls.flight_init = 1;
@@ -347,7 +345,7 @@ int _dtls_transmit(gnutls_session_t session)
*/
ret = 0;
goto cleanup;
- } else { /* all other messages -> implicit ack (receive of next flight) */
+ } else { /* all other messages -> implicit ack (receive of next flight) */
if (!(session->internals.flags & GNUTLS_NONBLOCK))
ret = _gnutls_io_check_recv(session, timeout);
@@ -360,11 +358,12 @@ int _dtls_transmit(gnutls_session_t session)
if (ret == 0) {
ret = is_next_hpacket_expected(session);
- if (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED)
+ if (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED)
goto nb_timeout;
- if (ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) {
+ if (ret ==
+ GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) {
ret = GNUTLS_E_TIMEDOUT;
goto keep_up;
}
@@ -376,7 +375,7 @@ int _dtls_transmit(gnutls_session_t session)
}
}
- keep_up:
+ keep_up:
gnutls_gettime(&now);
} while (ret == GNUTLS_E_TIMEDOUT);
@@ -387,18 +386,18 @@ int _dtls_transmit(gnutls_session_t session)
ret = 0;
- end_flight:
+end_flight:
_gnutls_dtls_log("DTLS[%p]: End of flight transmission.\n", session);
_dtls_reset_hsk_state(session);
- cleanup:
+cleanup:
if (buf != NULL)
gnutls_free(buf);
/* SENDING -> WAITING state transition */
return ret;
- nb_timeout:
+nb_timeout:
if (buf != NULL)
gnutls_free(buf);
@@ -481,9 +480,9 @@ void gnutls_dtls_set_mtu(gnutls_session_t session, unsigned int mtu)
/* when max is non-zero this function will return the maximum
* overhead that this ciphersuite may introduce, e.g., the maximum
* amount of padding required */
-unsigned _gnutls_record_overhead(const version_entry_st * ver,
- const cipher_entry_st * cipher,
- const mac_entry_st * mac, unsigned max)
+unsigned _gnutls_record_overhead(const version_entry_st *ver,
+ const cipher_entry_st *cipher,
+ const mac_entry_st *mac, unsigned max)
{
int total = 0;
int ret;
@@ -518,7 +517,7 @@ unsigned _gnutls_record_overhead(const version_entry_st * ver,
exp_iv = _gnutls_cipher_get_explicit_iv_size(cipher);
if (max)
- total += 2 * exp_iv; /* block == iv size */
+ total += 2 * exp_iv; /* block == iv size */
else
total += exp_iv + 1;
}
@@ -657,8 +656,8 @@ unsigned int gnutls_dtls_get_data_mtu(gnutls_session_t session)
if (ret < 0)
return mtu;
- if (params->cipher->type == CIPHER_AEAD
- || params->cipher->type == CIPHER_STREAM)
+ if (params->cipher->type == CIPHER_AEAD ||
+ params->cipher->type == CIPHER_STREAM)
return mtu - _gnutls_record_overhead(get_version(session),
params->cipher,
params->mac, 0);
@@ -820,9 +819,9 @@ unsigned int gnutls_dtls_get_timeout(gnutls_session_t session)
*
* Since: 3.0
**/
-int gnutls_dtls_cookie_send(gnutls_datum_t * key, void *client_data,
+int gnutls_dtls_cookie_send(gnutls_datum_t *key, void *client_data,
size_t client_data_size,
- gnutls_dtls_prestate_st * prestate,
+ gnutls_dtls_prestate_st *prestate,
gnutls_transport_ptr_t ptr,
gnutls_push_func push_func)
{
@@ -833,7 +832,7 @@ int gnutls_dtls_cookie_send(gnutls_datum_t * key, void *client_data,
if (key == NULL || key->data == NULL || key->size == 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
-/* send
+ /* send
* struct {
* ContentType type - 1 byte GNUTLS_HANDSHAKE;
* ProtocolVersion version; - 2 bytes (254,255)
@@ -893,9 +892,8 @@ int gnutls_dtls_cookie_send(gnutls_datum_t * key, void *client_data,
hvr[hvr_size++] = 255;
hvr[hvr_size++] = COOKIE_SIZE;
- ret =
- _gnutls_mac_fast(C_HASH, key->data, key->size, client_data,
- client_data_size, digest);
+ ret = _gnutls_mac_fast(C_HASH, key->data, key->size, client_data,
+ client_data_size, digest);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -929,10 +927,10 @@ int gnutls_dtls_cookie_send(gnutls_datum_t * key, void *client_data,
*
* Since: 3.0
**/
-int gnutls_dtls_cookie_verify(gnutls_datum_t * key,
- void *client_data, size_t client_data_size,
- void *_msg, size_t msg_size,
- gnutls_dtls_prestate_st * prestate)
+int gnutls_dtls_cookie_verify(gnutls_datum_t *key, void *client_data,
+ size_t client_data_size, void *_msg,
+ size_t msg_size,
+ gnutls_dtls_prestate_st *prestate)
{
gnutls_datum_t cookie;
int ret;
@@ -969,24 +967,25 @@ int gnutls_dtls_cookie_verify(gnutls_datum_t * key,
cookie.data = &msg[pos];
if (cookie.size != COOKIE_SIZE) {
if (cookie.size > 0)
- _gnutls_audit_log(NULL,
- "Received cookie with illegal size %d. Expected %d\n",
- (int)cookie.size, COOKIE_SIZE);
+ _gnutls_audit_log(
+ NULL,
+ "Received cookie with illegal size %d. Expected %d\n",
+ (int)cookie.size, COOKIE_SIZE);
return gnutls_assert_val(GNUTLS_E_BAD_COOKIE);
}
- ret =
- _gnutls_mac_fast(C_HASH, key->data, key->size, client_data,
- client_data_size, digest);
+ ret = _gnutls_mac_fast(C_HASH, key->data, key->size, client_data,
+ client_data_size, digest);
if (ret < 0)
return gnutls_assert_val(ret);
if (memcmp(digest, cookie.data, COOKIE_MAC_SIZE) != 0)
return gnutls_assert_val(GNUTLS_E_BAD_COOKIE);
- prestate->record_seq = msg[10]; /* client's record seq */
- prestate->hsk_read_seq = msg[DTLS_RECORD_HEADER_SIZE + 5]; /* client's hsk seq */
- prestate->hsk_write_seq = 0; /* we always send zero for this msg */
+ prestate->record_seq = msg[10]; /* client's record seq */
+ prestate->hsk_read_seq =
+ msg[DTLS_RECORD_HEADER_SIZE + 5]; /* client's hsk seq */
+ prestate->hsk_write_seq = 0; /* we always send zero for this msg */
return 0;
}
@@ -1006,7 +1005,7 @@ int gnutls_dtls_cookie_verify(gnutls_datum_t * key,
* Since: 3.0
**/
void gnutls_dtls_prestate_set(gnutls_session_t session,
- gnutls_dtls_prestate_st * prestate)
+ gnutls_dtls_prestate_st *prestate)
{
record_parameters_st *params;
int ret;
diff --git a/lib/dtls.h b/lib/dtls.h
index 9ece15de86..d3e55d94a4 100644
--- a/lib/dtls.h
+++ b/lib/dtls.h
@@ -21,42 +21,43 @@
*/
#ifndef GNUTLS_LIB_DTLS_H
-# define GNUTLS_LIB_DTLS_H
+#define GNUTLS_LIB_DTLS_H
-# include <config.h>
-# include "gnutls_int.h"
-# include <buffers.h>
-# include <mbuffers.h>
-# include <constate.h>
+#include <config.h>
+#include "gnutls_int.h"
+#include <buffers.h>
+#include <mbuffers.h>
+#include <constate.h>
int _dtls_transmit(gnutls_session_t session);
int _dtls_record_check(struct record_parameters_st *rp, uint64_t seq_num);
void _dtls_reset_hsk_state(gnutls_session_t session);
void _dtls_reset_window(struct record_parameters_st *rp);
-# define MAX_DTLS_TIMEOUT 60000
-
-# define RETURN_DTLS_EAGAIN_OR_TIMEOUT(session, r) { \
- struct timespec _now; \
- unsigned int _diff; \
- gnutls_gettime(&_now); \
- \
- _diff = timespec_sub_ms(&_now, &session->internals.handshake_start_time); \
- if (_diff > session->internals.handshake_timeout_ms) \
- { \
- _gnutls_dtls_log("Session timeout: %u ms\n", _diff); \
- return gnutls_assert_val(GNUTLS_E_TIMEDOUT); \
- } \
- else \
- { \
- int _rr; \
- if (r != GNUTLS_E_INTERRUPTED) _rr = GNUTLS_E_AGAIN; \
- else _rr = r; \
- if (!(session->internals.flags & GNUTLS_NONBLOCK)) \
- millisleep(50); \
- return gnutls_assert_val(_rr); \
- } \
- }
+#define MAX_DTLS_TIMEOUT 60000
+
+#define RETURN_DTLS_EAGAIN_OR_TIMEOUT(session, r) \
+ { \
+ struct timespec _now; \
+ unsigned int _diff; \
+ gnutls_gettime(&_now); \
+ \
+ _diff = timespec_sub_ms( \
+ &_now, &session->internals.handshake_start_time); \
+ if (_diff > session->internals.handshake_timeout_ms) { \
+ _gnutls_dtls_log("Session timeout: %u ms\n", _diff); \
+ return gnutls_assert_val(GNUTLS_E_TIMEDOUT); \
+ } else { \
+ int _rr; \
+ if (r != GNUTLS_E_INTERRUPTED) \
+ _rr = GNUTLS_E_AGAIN; \
+ else \
+ _rr = r; \
+ if (!(session->internals.flags & GNUTLS_NONBLOCK)) \
+ millisleep(50); \
+ return gnutls_assert_val(_rr); \
+ } \
+ }
int _dtls_wait_and_retransmit(gnutls_session_t session);
@@ -65,10 +66,10 @@ int _dtls_wait_and_retransmit(gnutls_session_t session);
*/
inline static int _dtls_is_async(gnutls_session_t session)
{
- if ((session->security_parameters.entity == GNUTLS_SERVER
- && !session->internals.resumed)
- || (session->security_parameters.entity == GNUTLS_CLIENT
- && session->internals.resumed))
+ if ((session->security_parameters.entity == GNUTLS_SERVER &&
+ !session->internals.resumed) ||
+ (session->security_parameters.entity == GNUTLS_CLIENT &&
+ session->internals.resumed))
return 1;
else
return 0;
@@ -77,11 +78,11 @@ inline static int _dtls_is_async(gnutls_session_t session)
inline static void _dtls_async_timer_init(gnutls_session_t session)
{
if (_dtls_is_async(session)) {
- _gnutls_dtls_log
- ("DTLS[%p]: Initializing timer for handshake state.\n",
- session);
+ _gnutls_dtls_log(
+ "DTLS[%p]: Initializing timer for handshake state.\n",
+ session);
session->internals.dtls.async_term =
- gnutls_time(0) + MAX_DTLS_TIMEOUT / 1000;
+ gnutls_time(0) + MAX_DTLS_TIMEOUT / 1000;
} else {
_dtls_reset_hsk_state(session);
_gnutls_handshake_io_buffer_clear(session);
@@ -109,9 +110,9 @@ inline static void _dtls_async_timer_check(gnutls_session_t session)
}
}
-unsigned _gnutls_record_overhead(const version_entry_st * ver,
- const cipher_entry_st * cipher,
- const mac_entry_st * mac, unsigned max);
+unsigned _gnutls_record_overhead(const version_entry_st *ver,
+ const cipher_entry_st *cipher,
+ const mac_entry_st *mac, unsigned max);
/* Returns non-zero if the async timer is active */
inline static int _dtls_async_timer_active(gnutls_session_t session)
@@ -132,4 +133,4 @@ inline static int _dtls_retransmit(gnutls_session_t session)
return _dtls_transmit(session);
}
-#endif /* GNUTLS_LIB_DTLS_H */
+#endif /* GNUTLS_LIB_DTLS_H */
diff --git a/lib/ecc.c b/lib/ecc.c
index d486be492c..b5be223865 100644
--- a/lib/ecc.c
+++ b/lib/ecc.c
@@ -29,9 +29,8 @@
#include <algorithms.h>
#include "errors.h"
-int
-_gnutls_ecc_ansi_x962_export(gnutls_ecc_curve_t curve, bigint_t x,
- bigint_t y, gnutls_datum_t * out)
+int _gnutls_ecc_ansi_x962_export(gnutls_ecc_curve_t curve, bigint_t x,
+ bigint_t y, gnutls_datum_t *out)
{
int numlen = gnutls_ecc_curve_get_size(curve);
int byte_size, ret;
@@ -72,10 +71,8 @@ _gnutls_ecc_ansi_x962_export(gnutls_ecc_curve_t curve, bigint_t x,
}
size = out->size - (1 + (numlen + numlen - byte_size));
- ret =
- _gnutls_mpi_print(y,
- &out->data[1 + numlen + numlen - byte_size],
- &size);
+ ret = _gnutls_mpi_print(y, &out->data[1 + numlen + numlen - byte_size],
+ &size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -83,14 +80,13 @@ _gnutls_ecc_ansi_x962_export(gnutls_ecc_curve_t curve, bigint_t x,
/* pad and store y */
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(out);
return ret;
}
-int
-_gnutls_ecc_ansi_x962_import(const uint8_t * in,
- unsigned long inlen, bigint_t * x, bigint_t * y)
+int _gnutls_ecc_ansi_x962_import(const uint8_t *in, unsigned long inlen,
+ bigint_t *x, bigint_t *y)
{
int ret;
@@ -109,9 +105,8 @@ _gnutls_ecc_ansi_x962_import(const uint8_t * in,
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret =
- _gnutls_mpi_init_scan(y, in + 1 + ((inlen - 1) >> 1),
- (inlen - 1) >> 1);
+ ret = _gnutls_mpi_init_scan(y, in + 1 + ((inlen - 1) >> 1),
+ (inlen - 1) >> 1);
if (ret < 0) {
_gnutls_mpi_release(x);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
diff --git a/lib/ecc.h b/lib/ecc.h
index de172674bb..b59079567d 100644
--- a/lib/ecc.h
+++ b/lib/ecc.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_LIB_ECC_H
-# define GNUTLS_LIB_ECC_H
+#define GNUTLS_LIB_ECC_H
-int _gnutls_ecc_ansi_x962_import(const uint8_t * in, unsigned long inlen,
- bigint_t * x, bigint_t * y);
+int _gnutls_ecc_ansi_x962_import(const uint8_t *in, unsigned long inlen,
+ bigint_t *x, bigint_t *y);
int _gnutls_ecc_ansi_x962_export(gnutls_ecc_curve_t curve, bigint_t x,
- bigint_t y, gnutls_datum_t * out);
+ bigint_t y, gnutls_datum_t *out);
-#endif /* GNUTLS_LIB_ECC_H */
+#endif /* GNUTLS_LIB_ECC_H */
diff --git a/lib/errors.c b/lib/errors.c
index e236d22a89..29b97bedfb 100644
--- a/lib/errors.c
+++ b/lib/errors.c
@@ -23,12 +23,14 @@
#include "gnutls_int.h"
#include "errors.h"
#ifdef STDC_HEADERS
-# include <stdarg.h>
+#include <stdarg.h>
#endif
#include "str.h"
-#define ERROR_ENTRY(desc, name) \
- { desc, #name, name}
+#define ERROR_ENTRY(desc, name) \
+ { \
+ desc, #name, name \
+ }
struct gnutls_error_entry {
const char *desc;
@@ -54,26 +56,26 @@ static const gnutls_error_entry error_entries[] = {
ERROR_ENTRY(N_("An algorithm that is not enabled was negotiated."),
GNUTLS_E_UNWANTED_ALGORITHM),
- ERROR_ENTRY(N_
- ("A packet with illegal or unsupported version was received."),
- GNUTLS_E_UNSUPPORTED_VERSION_PACKET),
- ERROR_ENTRY(N_
- ("The Diffie-Hellman prime sent by the server is not acceptable (not long enough)."),
- GNUTLS_E_DH_PRIME_UNACCEPTABLE),
+ ERROR_ENTRY(
+ N_("A packet with illegal or unsupported version was received."),
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET),
+ ERROR_ENTRY(
+ N_("The Diffie-Hellman prime sent by the server is not acceptable (not long enough)."),
+ GNUTLS_E_DH_PRIME_UNACCEPTABLE),
ERROR_ENTRY(N_("Error decoding the received TLS packet."),
GNUTLS_E_UNEXPECTED_PACKET_LENGTH),
ERROR_ENTRY(N_("A TLS record packet with invalid length was received."),
GNUTLS_E_RECORD_OVERFLOW),
ERROR_ENTRY(N_("The TLS connection was non-properly terminated."),
GNUTLS_E_PREMATURE_TERMINATION),
- ERROR_ENTRY(N_
- ("The specified session has been invalidated for some reason."),
- GNUTLS_E_INVALID_SESSION),
+ ERROR_ENTRY(
+ N_("The specified session has been invalidated for some reason."),
+ GNUTLS_E_INVALID_SESSION),
ERROR_ENTRY(N_("GnuTLS internal error."), GNUTLS_E_INTERNAL_ERROR),
- ERROR_ENTRY(N_
- ("A connection with inappropriate fallback was attempted."),
- GNUTLS_E_INAPPROPRIATE_FALLBACK),
+ ERROR_ENTRY(
+ N_("A connection with inappropriate fallback was attempted."),
+ GNUTLS_E_INAPPROPRIATE_FALLBACK),
ERROR_ENTRY(N_("An illegal TLS extension was received."),
GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION),
ERROR_ENTRY(N_("An required TLS extension was received."),
@@ -84,19 +86,19 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_UNEXPECTED_PACKET),
ERROR_ENTRY(N_("Failed to import the key into store."),
GNUTLS_E_KEY_IMPORT_FAILED),
- ERROR_ENTRY(N_
- ("An error was encountered at the TLS Finished packet calculation."),
- GNUTLS_E_ERROR_IN_FINISHED_PACKET),
+ ERROR_ENTRY(
+ N_("An error was encountered at the TLS Finished packet calculation."),
+ GNUTLS_E_ERROR_IN_FINISHED_PACKET),
ERROR_ENTRY(N_("No certificate was found."),
GNUTLS_E_NO_CERTIFICATE_FOUND),
ERROR_ENTRY(N_("Certificate is required."),
GNUTLS_E_CERTIFICATE_REQUIRED),
- ERROR_ENTRY(N_
- ("The given DSA key is incompatible with the selected TLS protocol."),
- GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL),
- ERROR_ENTRY(N_
- ("There is already a crypto algorithm with lower priority."),
- GNUTLS_E_CRYPTO_ALREADY_REGISTERED),
+ ERROR_ENTRY(
+ N_("The given DSA key is incompatible with the selected TLS protocol."),
+ GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL),
+ ERROR_ENTRY(
+ N_("There is already a crypto algorithm with lower priority."),
+ GNUTLS_E_CRYPTO_ALREADY_REGISTERED),
ERROR_ENTRY(N_("No temporary RSA parameters were found."),
GNUTLS_E_NO_TEMPORARY_RSA_PARAMS),
@@ -108,10 +110,8 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_MPI_SCAN_FAILED),
ERROR_ENTRY(N_("Could not export a large integer."),
GNUTLS_E_MPI_PRINT_FAILED),
- ERROR_ENTRY(N_("Decryption has failed."),
- GNUTLS_E_DECRYPTION_FAILED),
- ERROR_ENTRY(N_("Encryption has failed."),
- GNUTLS_E_ENCRYPTION_FAILED),
+ ERROR_ENTRY(N_("Decryption has failed."), GNUTLS_E_DECRYPTION_FAILED),
+ ERROR_ENTRY(N_("Encryption has failed."), GNUTLS_E_ENCRYPTION_FAILED),
ERROR_ENTRY(N_("Public key decryption has failed."),
GNUTLS_E_PK_DECRYPTION_FAILED),
ERROR_ENTRY(N_("Public key encryption has failed."),
@@ -127,9 +127,9 @@ static const gnutls_error_entry error_entries[] = {
ERROR_ENTRY(N_("Internal error in memory allocation."),
GNUTLS_E_MEMORY_ERROR),
- ERROR_ENTRY(N_
- ("An unimplemented or disabled feature has been requested."),
- GNUTLS_E_UNIMPLEMENTED_FEATURE),
+ ERROR_ENTRY(
+ N_("An unimplemented or disabled feature has been requested."),
+ GNUTLS_E_UNIMPLEMENTED_FEATURE),
ERROR_ENTRY(N_("Insufficient credentials for that request."),
GNUTLS_E_INSUFFICIENT_CREDENTIALS),
ERROR_ENTRY(N_("Error in password/key file."), GNUTLS_E_SRP_PWD_ERROR),
@@ -154,9 +154,9 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_NO_EMBEDDED_DATA),
ERROR_ENTRY(N_("Error in the pull function."), GNUTLS_E_PULL_ERROR),
ERROR_ENTRY(N_("Error in the push function."), GNUTLS_E_PUSH_ERROR),
- ERROR_ENTRY(N_
- ("The upper limit of record packet sequence numbers has been reached. Wow!"),
- GNUTLS_E_RECORD_LIMIT_REACHED),
+ ERROR_ENTRY(
+ N_("The upper limit of record packet sequence numbers has been reached. Wow!"),
+ GNUTLS_E_RECORD_LIMIT_REACHED),
ERROR_ENTRY(N_("Error in the certificate."),
GNUTLS_E_CERTIFICATE_ERROR),
ERROR_ENTRY(N_("Error in the time fields of certificate."),
@@ -165,17 +165,15 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR),
ERROR_ENTRY(N_("Error in the CRL verification."),
GNUTLS_E_CRL_VERIFICATION_ERROR),
- ERROR_ENTRY(N_
- ("Error in the private key verification; seed doesn't match."),
- GNUTLS_E_PRIVKEY_VERIFICATION_ERROR),
- ERROR_ENTRY(N_("Could not authenticate peer."),
- GNUTLS_E_AUTH_ERROR),
- ERROR_ENTRY(N_
- ("Unknown Subject Alternative name in X.509 certificate."),
+ ERROR_ENTRY(
+ N_("Error in the private key verification; seed doesn't match."),
+ GNUTLS_E_PRIVKEY_VERIFICATION_ERROR),
+ ERROR_ENTRY(N_("Could not authenticate peer."), GNUTLS_E_AUTH_ERROR),
+ ERROR_ENTRY(N_("Unknown Subject Alternative name in X.509 certificate."),
GNUTLS_E_X509_UNKNOWN_SAN),
- ERROR_ENTRY(N_
- ("CIDR name constraint is malformed in size or structure."),
- GNUTLS_E_MALFORMED_CIDR),
+ ERROR_ENTRY(
+ N_("CIDR name constraint is malformed in size or structure."),
+ GNUTLS_E_MALFORMED_CIDR),
ERROR_ENTRY(N_("Unsupported critical extension in X.509 certificate."),
GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION),
@@ -186,19 +184,18 @@ static const gnutls_error_entry error_entries[] = {
ERROR_ENTRY(N_("Key usage violation in certificate has been detected."),
GNUTLS_E_KEY_USAGE_VIOLATION),
ERROR_ENTRY(N_("Function was interrupted."), GNUTLS_E_INTERRUPTED),
- ERROR_ENTRY(N_
- ("TLS Application data were received, while expecting handshake data."),
- GNUTLS_E_GOT_APPLICATION_DATA),
+ ERROR_ENTRY(
+ N_("TLS Application data were received, while expecting handshake data."),
+ GNUTLS_E_GOT_APPLICATION_DATA),
ERROR_ENTRY(N_("Error in Database backend."), GNUTLS_E_DB_ERROR),
ERROR_ENTRY(N_("The Database entry already exists."),
GNUTLS_E_DB_ENTRY_EXISTS),
ERROR_ENTRY(N_("The certificate type is not supported."),
GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE),
- ERROR_ENTRY(N_
- ("The given memory buffer is too short to hold parameters."),
- GNUTLS_E_SHORT_MEMORY_BUFFER),
- ERROR_ENTRY(N_("The request is invalid."),
- GNUTLS_E_INVALID_REQUEST),
+ ERROR_ENTRY(
+ N_("The given memory buffer is too short to hold parameters."),
+ GNUTLS_E_SHORT_MEMORY_BUFFER),
+ ERROR_ENTRY(N_("The request is invalid."), GNUTLS_E_INVALID_REQUEST),
ERROR_ENTRY(N_("The cookie was bad."), GNUTLS_E_BAD_COOKIE),
ERROR_ENTRY(N_("An illegal parameter has been received."),
GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER),
@@ -220,8 +217,7 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_ASN1_GENERIC_ERROR),
ERROR_ENTRY(N_("ASN1 parser: Value is not valid."),
GNUTLS_E_ASN1_VALUE_NOT_VALID),
- ERROR_ENTRY(N_("ASN1 parser: Error in TAG."),
- GNUTLS_E_ASN1_TAG_ERROR),
+ ERROR_ENTRY(N_("ASN1 parser: Error in TAG."), GNUTLS_E_ASN1_TAG_ERROR),
ERROR_ENTRY(N_("ASN1 parser: error in implicit tag"),
GNUTLS_E_ASN1_TAG_IMPLICIT),
ERROR_ENTRY(N_("ASN1 parser: Error in type 'ANY'."),
@@ -286,9 +282,9 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_INVALID_PASSWORD),
ERROR_ENTRY(N_("The given string contains invalid UTF-8 characters."),
GNUTLS_E_INVALID_UTF8_STRING),
- ERROR_ENTRY(N_
- ("The given email string contains non-ASCII characters before '@'."),
- GNUTLS_E_INVALID_UTF8_EMAIL),
+ ERROR_ENTRY(
+ N_("The given email string contains non-ASCII characters before '@'."),
+ GNUTLS_E_INVALID_UTF8_EMAIL),
ERROR_ENTRY(N_("The given password contains invalid characters."),
GNUTLS_E_INVALID_PASSWORD_STRING),
ERROR_ENTRY(N_("The Message Authentication Code verification failed."),
@@ -316,57 +312,43 @@ static const gnutls_error_entry error_entries[] = {
ERROR_ENTRY(N_("Channel binding data not available"),
GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE),
- ERROR_ENTRY(N_("TPM error."),
- GNUTLS_E_TPM_ERROR),
+ ERROR_ENTRY(N_("TPM error."), GNUTLS_E_TPM_ERROR),
ERROR_ENTRY(N_("The TPM library (trousers) cannot be found."),
GNUTLS_E_TPM_NO_LIB),
- ERROR_ENTRY(N_("TPM is not initialized."),
- GNUTLS_E_TPM_UNINITIALIZED),
+ ERROR_ENTRY(N_("TPM is not initialized."), GNUTLS_E_TPM_UNINITIALIZED),
ERROR_ENTRY(N_("TPM key was not found in persistent storage."),
GNUTLS_E_TPM_KEY_NOT_FOUND),
ERROR_ENTRY(N_("Cannot initialize a session with the TPM."),
GNUTLS_E_TPM_SESSION_ERROR),
- ERROR_ENTRY(N_("PKCS #11 error."),
- GNUTLS_E_PKCS11_ERROR),
+ ERROR_ENTRY(N_("PKCS #11 error."), GNUTLS_E_PKCS11_ERROR),
ERROR_ENTRY(N_("PKCS #11 initialization error."),
GNUTLS_E_PKCS11_LOAD_ERROR),
- ERROR_ENTRY(N_("Error in parsing."),
- GNUTLS_E_PARSING_ERROR),
- ERROR_ENTRY(N_("Error in provided PIN."),
- GNUTLS_E_PKCS11_PIN_ERROR),
+ ERROR_ENTRY(N_("Error in parsing."), GNUTLS_E_PARSING_ERROR),
+ ERROR_ENTRY(N_("Error in provided PIN."), GNUTLS_E_PKCS11_PIN_ERROR),
ERROR_ENTRY(N_("Error in provided SRK password for TPM."),
GNUTLS_E_TPM_SRK_PASSWORD_ERROR),
- ERROR_ENTRY(N_
- ("Error in provided password for key to be loaded in TPM."),
- GNUTLS_E_TPM_KEY_PASSWORD_ERROR),
- ERROR_ENTRY(N_("PKCS #11 error in slot"),
- GNUTLS_E_PKCS11_SLOT_ERROR),
- ERROR_ENTRY(N_("Thread locking error"),
- GNUTLS_E_LOCKING_ERROR),
+ ERROR_ENTRY(
+ N_("Error in provided password for key to be loaded in TPM."),
+ GNUTLS_E_TPM_KEY_PASSWORD_ERROR),
+ ERROR_ENTRY(N_("PKCS #11 error in slot"), GNUTLS_E_PKCS11_SLOT_ERROR),
+ ERROR_ENTRY(N_("Thread locking error"), GNUTLS_E_LOCKING_ERROR),
ERROR_ENTRY(N_("PKCS #11 error in attribute"),
GNUTLS_E_PKCS11_ATTRIBUTE_ERROR),
ERROR_ENTRY(N_("PKCS #11 error in device"),
GNUTLS_E_PKCS11_DEVICE_ERROR),
- ERROR_ENTRY(N_("PKCS #11 error in data"),
- GNUTLS_E_PKCS11_DATA_ERROR),
+ ERROR_ENTRY(N_("PKCS #11 error in data"), GNUTLS_E_PKCS11_DATA_ERROR),
ERROR_ENTRY(N_("PKCS #11 unsupported feature"),
GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR),
- ERROR_ENTRY(N_("PKCS #11 error in key"),
- GNUTLS_E_PKCS11_KEY_ERROR),
- ERROR_ENTRY(N_("PKCS #11 PIN expired"),
- GNUTLS_E_PKCS11_PIN_EXPIRED),
- ERROR_ENTRY(N_("PKCS #11 PIN locked"),
- GNUTLS_E_PKCS11_PIN_LOCKED),
+ ERROR_ENTRY(N_("PKCS #11 error in key"), GNUTLS_E_PKCS11_KEY_ERROR),
+ ERROR_ENTRY(N_("PKCS #11 PIN expired"), GNUTLS_E_PKCS11_PIN_EXPIRED),
+ ERROR_ENTRY(N_("PKCS #11 PIN locked"), GNUTLS_E_PKCS11_PIN_LOCKED),
ERROR_ENTRY(N_("PKCS #11 error in session"),
GNUTLS_E_PKCS11_SESSION_ERROR),
ERROR_ENTRY(N_("PKCS #11 error in signature"),
GNUTLS_E_PKCS11_SIGNATURE_ERROR),
- ERROR_ENTRY(N_("PKCS #11 error in token"),
- GNUTLS_E_PKCS11_TOKEN_ERROR),
- ERROR_ENTRY(N_("PKCS #11 user error"),
- GNUTLS_E_PKCS11_USER_ERROR),
- ERROR_ENTRY(N_("The operation timed out"),
- GNUTLS_E_TIMEDOUT),
+ ERROR_ENTRY(N_("PKCS #11 error in token"), GNUTLS_E_PKCS11_TOKEN_ERROR),
+ ERROR_ENTRY(N_("PKCS #11 user error"), GNUTLS_E_PKCS11_USER_ERROR),
+ ERROR_ENTRY(N_("The operation timed out"), GNUTLS_E_TIMEDOUT),
ERROR_ENTRY(N_("The operation was cancelled due to user error"),
GNUTLS_E_USER_ERROR),
ERROR_ENTRY(N_("No supported ECC curves were found"),
@@ -375,14 +357,14 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_ECC_UNSUPPORTED_CURVE),
ERROR_ENTRY(N_("The requested PKCS #11 object is not available"),
GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE),
- ERROR_ENTRY(N_
- ("The provided X.509 certificate list is not sorted (in subject to issuer order)"),
- GNUTLS_E_CERTIFICATE_LIST_UNSORTED),
+ ERROR_ENTRY(
+ N_("The provided X.509 certificate list is not sorted (in subject to issuer order)"),
+ GNUTLS_E_CERTIFICATE_LIST_UNSORTED),
ERROR_ENTRY(N_("The OCSP response is invalid"),
GNUTLS_E_OCSP_RESPONSE_ERROR),
- ERROR_ENTRY(N_
- ("The OCSP response provided doesn't match the available certificates"),
- GNUTLS_E_OCSP_MISMATCH_WITH_CERTS),
+ ERROR_ENTRY(
+ N_("The OCSP response provided doesn't match the available certificates"),
+ GNUTLS_E_OCSP_MISMATCH_WITH_CERTS),
ERROR_ENTRY(N_("There is no certificate status (OCSP)."),
GNUTLS_E_NO_CERTIFICATE_STATUS),
ERROR_ENTRY(N_("Error in the system's randomness device."),
@@ -393,18 +375,18 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_SELF_TEST_ERROR),
ERROR_ENTRY(N_("There is no self test for this algorithm."),
GNUTLS_E_NO_SELF_TEST),
- ERROR_ENTRY(N_
- ("An error has been detected in the library and cannot continue operations."),
- GNUTLS_E_LIB_IN_ERROR_STATE),
+ ERROR_ENTRY(
+ N_("An error has been detected in the library and cannot continue operations."),
+ GNUTLS_E_LIB_IN_ERROR_STATE),
ERROR_ENTRY(N_("Error in sockets initialization."),
GNUTLS_E_SOCKETS_INIT_ERROR),
ERROR_ENTRY(N_("Error in public key generation."),
GNUTLS_E_PK_GENERATION_ERROR),
ERROR_ENTRY(N_("Invalid TLS extensions length field."),
GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH),
- ERROR_ENTRY(N_
- ("Peer's certificate or username has changed during a rehandshake."),
- GNUTLS_E_SESSION_USER_ID_CHANGED),
+ ERROR_ENTRY(
+ N_("Peer's certificate or username has changed during a rehandshake."),
+ GNUTLS_E_SESSION_USER_ID_CHANGED),
ERROR_ENTRY(N_("The provided string has an embedded null."),
GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING),
ERROR_ENTRY(N_("Attempted handshake during false start."),
@@ -413,9 +395,9 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_UNRECOGNIZED_NAME),
ERROR_ENTRY(N_("There was an issue converting to or from UTF8."),
GNUTLS_E_IDNA_ERROR),
- ERROR_ENTRY(N_
- ("Cannot perform this action while handshake is in progress."),
- GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE),
+ ERROR_ENTRY(
+ N_("Cannot perform this action while handshake is in progress."),
+ GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE),
ERROR_ENTRY(N_("The public key is invalid."),
GNUTLS_E_PK_INVALID_PUBKEY),
ERROR_ENTRY(N_("There are no validation parameters present."),
@@ -428,14 +410,14 @@ static const gnutls_error_entry error_entries[] = {
GNUTLS_E_ASN1_TIME_ERROR),
ERROR_ENTRY(N_("The signature is incompatible with the public key."),
GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY),
- ERROR_ENTRY(N_
- ("One of the involved algorithms has insufficient security level."),
- GNUTLS_E_INSUFFICIENT_SECURITY),
+ ERROR_ENTRY(
+ N_("One of the involved algorithms has insufficient security level."),
+ GNUTLS_E_INSUFFICIENT_SECURITY),
ERROR_ENTRY(N_("No common key share with peer."),
GNUTLS_E_NO_COMMON_KEY_SHARE),
ERROR_ENTRY(N_("The early data were rejected."),
GNUTLS_E_EARLY_DATA_REJECTED),
- {NULL, NULL, 0}
+ { NULL, NULL, 0 }
};
static const gnutls_error_entry non_fatal_error_entries[] = {
@@ -456,7 +438,7 @@ static const gnutls_error_entry non_fatal_error_entries[] = {
ERROR_ENTRY(N_("Re-authentication was requested by the peer."),
GNUTLS_E_REAUTH_REQUEST),
/* Only non fatal (for handshake) errors here */
- {NULL, NULL, 0}
+ { NULL, NULL, 0 }
};
/**
@@ -600,8 +582,8 @@ void _gnutls_mpi_log(const char *prefix, bigint_t a)
res = _gnutls_mpi_print(a, NULL, &binlen);
if (res < 0 && res != GNUTLS_E_SHORT_MEMORY_BUFFER) {
gnutls_assert();
- _gnutls_hard_log("MPI: %s can't print value (%d/%d)\n",
- prefix, res, (int)binlen);
+ _gnutls_hard_log("MPI: %s can't print value (%d/%d)\n", prefix,
+ res, (int)binlen);
return;
}
@@ -623,8 +605,8 @@ void _gnutls_mpi_log(const char *prefix, bigint_t a)
res = _gnutls_mpi_print(a, binbuf, &binlen);
if (res != 0) {
gnutls_assert();
- _gnutls_hard_log("MPI: %s can't print value (%d/%d)\n",
- prefix, res, (int)binlen);
+ _gnutls_hard_log("MPI: %s can't print value (%d/%d)\n", prefix,
+ res, (int)binlen);
gnutls_free(binbuf);
return;
}
@@ -634,8 +616,8 @@ void _gnutls_mpi_log(const char *prefix, bigint_t a)
if (!hexbuf) {
gnutls_assert();
- _gnutls_hard_log("MPI: %s out of memory (hex %d)\n",
- prefix, (int)hexlen);
+ _gnutls_hard_log("MPI: %s out of memory (hex %d)\n", prefix,
+ (int)hexlen);
gnutls_free(binbuf);
return;
}
@@ -694,7 +676,7 @@ void _gnutls_audit_log(gnutls_session_t session, const char *fmt, ...)
}
#ifndef DEBUG
-# ifndef C99_MACROS
+#ifndef C99_MACROS
/* Without C99 macros these functions have to
* be called. This may affect performance.
@@ -704,5 +686,5 @@ void _gnutls_null_log(void *x, ...)
return;
}
-# endif /* C99_MACROS */
-#endif /* DEBUG */
+#endif /* C99_MACROS */
+#endif /* DEBUG */
diff --git a/lib/errors.h b/lib/errors.h
index acc78c9bae..da75a8b5f7 100644
--- a/lib/errors.h
+++ b/lib/errors.h
@@ -21,32 +21,33 @@
*/
#ifndef GNUTLS_LIB_ERRORS_H
-# define GNUTLS_LIB_ERRORS_H
-
-# include "gnutls_int.h"
-# include <global.h>
-# include <mpi.h>
-# include <gnutls/x509.h>
-
-# ifdef __FILE__
-# ifdef __LINE__
-# define gnutls_assert() _gnutls_assert_log( "ASSERT: %s[%s]:%d\n", __FILE__,__func__,__LINE__);
-# else
-# define gnutls_assert()
-# endif
-# else /* __FILE__ not defined */
-# define gnutls_assert()
-# endif
+#define GNUTLS_LIB_ERRORS_H
+
+#include "gnutls_int.h"
+#include <global.h>
+#include <mpi.h>
+#include <gnutls/x509.h>
+
+#ifdef __FILE__
+#ifdef __LINE__
+#define gnutls_assert() \
+ _gnutls_assert_log("ASSERT: %s[%s]:%d\n", __FILE__, __func__, __LINE__);
+#else
+#define gnutls_assert()
+#endif
+#else /* __FILE__ not defined */
+#define gnutls_assert()
+#endif
inline static int _gnutls_asn2err(int asn_err) __GNUTLS_CONST__;
inline static int _gnutls_asn2err(int asn_err)
{
switch (asn_err) {
-# ifdef ASN1_TIME_ENCODING_ERROR
+#ifdef ASN1_TIME_ENCODING_ERROR
case ASN1_TIME_ENCODING_ERROR:
return GNUTLS_E_ASN1_TIME_ERROR;
-# endif
+#endif
case ASN1_FILE_NOT_FOUND:
return GNUTLS_E_FILE_ERROR;
case ASN1_ELEMENT_NOT_FOUND:
@@ -81,106 +82,121 @@ inline static int _gnutls_asn2err(int asn_err)
}
void _gnutls_log(int, const char *fmt, ...)
-# ifdef __GNUC__
- __attribute__((format(printf, 2, 3)));
-# else
-;
-# endif
+#ifdef __GNUC__
+ __attribute__((format(printf, 2, 3)));
+#else
+ ;
+#endif
void _gnutls_audit_log(gnutls_session_t, const char *fmt, ...)
-# ifdef __GNUC__
- __attribute__((format(printf, 2, 3)));
-# else
-;
-# endif
+#ifdef __GNUC__
+ __attribute__((format(printf, 2, 3)));
+#else
+ ;
+#endif
void _gnutls_mpi_log(const char *prefix, bigint_t a);
-# define _gnutls_cert_log(str, cert) \
- do { \
- if (unlikely(_gnutls_log_level >= 3)) { \
- gnutls_datum_t _cl_out; int _cl_ret; \
- _cl_ret = gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_ONELINE, &_cl_out); \
- if (_cl_ret >= 0) { \
- _gnutls_log( 3, "%s: %s\n", str, _cl_out.data); \
- gnutls_free(_cl_out.data); \
- } \
- } \
- } while(0)
-
-# define _gnutls_dn_log(str, dn) \
- do { \
- if (unlikely(_gnutls_log_level >= 3)) { \
- gnutls_datum_t _cl_out; int _cl_ret; \
- _cl_ret = gnutls_x509_rdn_get2((dn), &_cl_out, 0); \
- if (_cl_ret >= 0) { \
- _gnutls_log( 3, "%s: %s\n", str, _cl_out.data); \
- gnutls_free(_cl_out.data); \
- } \
- } \
- } while(0)
-
-# define _gnutls_reason_log(str, status) \
- do { \
- if (unlikely(_gnutls_log_level >= 3)) { \
- gnutls_datum_t _cl_out; int _cl_ret; \
- _cl_ret = gnutls_certificate_verification_status_print(status, GNUTLS_CRT_X509, &_cl_out, 0); \
- if (_cl_ret >= 0) { \
- _gnutls_log( 3, "%s: %s\n", str, _cl_out.data); \
- gnutls_free(_cl_out.data); \
- } \
- } \
- } while(0)
-
-# ifdef C99_MACROS
-# define LEVEL(l, ...) do { if (unlikely(_gnutls_log_level >= l)) \
- _gnutls_log( l, __VA_ARGS__); } while(0)
-
-# define _gnutls_debug_log(...) LEVEL(2, __VA_ARGS__)
-# define _gnutls_assert_log(...) LEVEL(3, __VA_ARGS__)
-# define _gnutls_handshake_log(...) LEVEL(4, __VA_ARGS__)
-# define _gnutls_record_log(...) LEVEL(5, __VA_ARGS__)
-# define _gnutls_dtls_log(...) LEVEL(6, __VA_ARGS__)
-
-# define _gnutls_hard_log(...) LEVEL(9, __VA_ARGS__)
-
-# define _gnutls_read_log(...) LEVEL(10, __VA_ARGS__)
-# define _gnutls_write_log(...) LEVEL(11, __VA_ARGS__)
-# define _gnutls_io_log(...) LEVEL(12, __VA_ARGS__)
-# define _gnutls_buffers_log(...) LEVEL(13, __VA_ARGS__)
-# define _gnutls_no_log(...) LEVEL(INT_MAX, __VA_ARGS__)
-# else
-# define _gnutls_debug_log _gnutls_null_log
-# define _gnutls_assert_log _gnutls_null_log
-# define _gnutls_handshake_log _gnutls_null_log
-# define _gnutls_io_log _gnutls_null_log
-# define _gnutls_buffers_log _gnutls_null_log
-# define _gnutls_hard_log _gnutls_null_log
-# define _gnutls_record_log _gnutls_null_log
-# define _gnutls_dtls_log _gnutls_null_log
-# define _gnutls_read_log _gnutls_null_log
-# define _gnutls_write_log _gnutls_null_log
-# define _gnutls_no_log _gnutle_null_log
+#define _gnutls_cert_log(str, cert) \
+ do { \
+ if (unlikely(_gnutls_log_level >= 3)) { \
+ gnutls_datum_t _cl_out; \
+ int _cl_ret; \
+ _cl_ret = gnutls_x509_crt_print( \
+ cert, GNUTLS_CRT_PRINT_ONELINE, &_cl_out); \
+ if (_cl_ret >= 0) { \
+ _gnutls_log(3, "%s: %s\n", str, _cl_out.data); \
+ gnutls_free(_cl_out.data); \
+ } \
+ } \
+ } while (0)
+
+#define _gnutls_dn_log(str, dn) \
+ do { \
+ if (unlikely(_gnutls_log_level >= 3)) { \
+ gnutls_datum_t _cl_out; \
+ int _cl_ret; \
+ _cl_ret = gnutls_x509_rdn_get2((dn), &_cl_out, 0); \
+ if (_cl_ret >= 0) { \
+ _gnutls_log(3, "%s: %s\n", str, _cl_out.data); \
+ gnutls_free(_cl_out.data); \
+ } \
+ } \
+ } while (0)
+
+#define _gnutls_reason_log(str, status) \
+ do { \
+ if (unlikely(_gnutls_log_level >= 3)) { \
+ gnutls_datum_t _cl_out; \
+ int _cl_ret; \
+ _cl_ret = \
+ gnutls_certificate_verification_status_print( \
+ status, GNUTLS_CRT_X509, &_cl_out, 0); \
+ if (_cl_ret >= 0) { \
+ _gnutls_log(3, "%s: %s\n", str, _cl_out.data); \
+ gnutls_free(_cl_out.data); \
+ } \
+ } \
+ } while (0)
+
+#ifdef C99_MACROS
+#define LEVEL(l, ...) \
+ do { \
+ if (unlikely(_gnutls_log_level >= l)) \
+ _gnutls_log(l, __VA_ARGS__); \
+ } while (0)
+
+#define _gnutls_debug_log(...) LEVEL(2, __VA_ARGS__)
+#define _gnutls_assert_log(...) LEVEL(3, __VA_ARGS__)
+#define _gnutls_handshake_log(...) LEVEL(4, __VA_ARGS__)
+#define _gnutls_record_log(...) LEVEL(5, __VA_ARGS__)
+#define _gnutls_dtls_log(...) LEVEL(6, __VA_ARGS__)
+
+#define _gnutls_hard_log(...) LEVEL(9, __VA_ARGS__)
+
+#define _gnutls_read_log(...) LEVEL(10, __VA_ARGS__)
+#define _gnutls_write_log(...) LEVEL(11, __VA_ARGS__)
+#define _gnutls_io_log(...) LEVEL(12, __VA_ARGS__)
+#define _gnutls_buffers_log(...) LEVEL(13, __VA_ARGS__)
+#define _gnutls_no_log(...) LEVEL(INT_MAX, __VA_ARGS__)
+#else
+#define _gnutls_debug_log _gnutls_null_log
+#define _gnutls_assert_log _gnutls_null_log
+#define _gnutls_handshake_log _gnutls_null_log
+#define _gnutls_io_log _gnutls_null_log
+#define _gnutls_buffers_log _gnutls_null_log
+#define _gnutls_hard_log _gnutls_null_log
+#define _gnutls_record_log _gnutls_null_log
+#define _gnutls_dtls_log _gnutls_null_log
+#define _gnutls_read_log _gnutls_null_log
+#define _gnutls_write_log _gnutls_null_log
+#define _gnutls_no_log _gnutle_null_log
void _gnutls_null_log(void *, ...);
-# endif /* C99_MACROS */
+#endif /* C99_MACROS */
/* GCC won't inline this by itself and results in a "fatal warning"
otherwise. Making this a macro has been tried, but it interacts
badly with the do..while in the expansion. Welcome to the dark
side. */
static inline
-# ifdef __GNUC__
- __attribute__((always_inline))
-# endif
-int gnutls_assert_val_int(int val, const char *file, const char *func, int line)
+#ifdef __GNUC__
+ __attribute__((always_inline))
+#endif
+ int
+ gnutls_assert_val_int(int val, const char *file, const char *func,
+ int line)
{
_gnutls_assert_log("ASSERT: %s[%s]:%d\n", file, func, line);
return val;
}
-# define gnutls_assert_val(x) gnutls_assert_val_int(x, __FILE__, __func__, __LINE__)
-# define gnutls_assert_val_fatal(x) (((x)!=GNUTLS_E_AGAIN && (x)!=GNUTLS_E_INTERRUPTED)?gnutls_assert_val_int(x, __FILE__, __func__, __LINE__):(x))
+#define gnutls_assert_val(x) \
+ gnutls_assert_val_int(x, __FILE__, __func__, __LINE__)
+#define gnutls_assert_val_fatal(x) \
+ (((x) != GNUTLS_E_AGAIN && (x) != GNUTLS_E_INTERRUPTED) ? \
+ gnutls_assert_val_int(x, __FILE__, __func__, __LINE__) : \
+ (x))
-#endif /* GNUTLS_LIB_ERRORS_H */
+#endif /* GNUTLS_LIB_ERRORS_H */
diff --git a/lib/ext/alpn.c b/lib/ext/alpn.c
index db96847dfe..597fc23213 100644
--- a/lib/ext/alpn.c
+++ b/lib/ext/alpn.c
@@ -26,9 +26,9 @@
#include <ext/alpn.h>
static int _gnutls_alpn_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+ const uint8_t *data, size_t data_size);
static int _gnutls_alpn_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
static void _gnutls_alpn_deinit_data(gnutls_ext_priv_data_t priv);
@@ -40,17 +40,16 @@ const hello_ext_entry_st ext_mod_alpn = {
.client_parse_point = GNUTLS_EXT_MANDATORY,
.server_parse_point = GNUTLS_EXT_MANDATORY,
.validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_alpn_recv_params,
.send_func = _gnutls_alpn_send_params,
.deinit_func = _gnutls_alpn_deinit_data,
.cannot_be_overriden = 1
};
-static int
-_gnutls_alpn_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_alpn_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
unsigned int i;
int ret;
@@ -60,8 +59,8 @@ _gnutls_alpn_recv_params(gnutls_session_t session,
gnutls_ext_priv_data_t epriv;
int selected_protocol_index;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN,
+ &epriv);
if (ret < 0)
return 0;
@@ -86,35 +85,31 @@ _gnutls_alpn_recv_params(gnutls_session_t session,
GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
if (len1 == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
for (i = 0; i < priv->size; i++) {
- if (priv->protocol_size[i] == len1
- && memcmp(p, priv->protocols[i],
- len1) == 0) {
-
+ if (priv->protocol_size[i] == len1 &&
+ memcmp(p, priv->protocols[i], len1) == 0) {
if (priv->flags &
GNUTLS_ALPN_SERVER_PRECEDENCE) {
if (selected_protocol_index >
(int)i) {
- selected_protocol_index
- = i;
- priv->selected_protocol
- =
- priv->protocols[i];
- priv->selected_protocol_size
- =
- priv->protocol_size
- [i];
+ selected_protocol_index =
+ i;
+ priv->selected_protocol =
+ priv->protocols
+ [i];
+ priv->selected_protocol_size =
+ priv->protocol_size
+ [i];
break;
}
} else {
priv->selected_protocol =
- priv->protocols[i];
+ priv->protocols[i];
priv->selected_protocol_size =
- priv->protocol_size[i];
+ priv->protocol_size[i];
return 0;
}
}
@@ -130,11 +125,11 @@ _gnutls_alpn_recv_params(gnutls_session_t session,
GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
for (i = 0; i < priv->size; i++) {
- if (priv->protocol_size[i] == len1
- && memcmp(p, priv->protocols[i], len1) == 0) {
+ if (priv->protocol_size[i] == len1 &&
+ memcmp(p, priv->protocols[i], len1) == 0) {
priv->selected_protocol = priv->protocols[i];
priv->selected_protocol_size =
- priv->protocol_size[i];
+ priv->protocol_size[i];
break;
}
}
@@ -147,16 +142,16 @@ _gnutls_alpn_recv_params(gnutls_session_t session,
return 0;
}
-static int
-_gnutls_alpn_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int _gnutls_alpn_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
unsigned i;
int total_size = 0, ret;
alpn_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN,
+ &epriv);
if (ret < 0)
return 0;
@@ -169,20 +164,16 @@ _gnutls_alpn_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
if (priv->selected_protocol_size == 0)
return 0;
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- priv->selected_protocol_size +
- 1);
+ ret = _gnutls_buffer_append_prefix(
+ extdata, 16, priv->selected_protocol_size + 1);
if (ret < 0)
return gnutls_assert_val(ret);
total_size += 2;
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8,
- priv->selected_protocol,
- priv->
- selected_protocol_size);
+ ret = _gnutls_buffer_append_data_prefix(
+ extdata, 8, priv->selected_protocol,
+ priv->selected_protocol_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -199,12 +190,9 @@ _gnutls_alpn_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
total_size += 2;
for (i = 0; i < priv->size; i++) {
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8,
- priv->protocols
- [i],
- priv->
- protocol_size[i]);
+ ret = _gnutls_buffer_append_data_prefix(
+ extdata, 8, priv->protocols[i],
+ priv->protocol_size[i]);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -232,16 +220,15 @@ _gnutls_alpn_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
*
* Since 3.2.0
**/
-int
-gnutls_alpn_get_selected_protocol(gnutls_session_t session,
- gnutls_datum_t * protocol)
+int gnutls_alpn_get_selected_protocol(gnutls_session_t session,
+ gnutls_datum_t *protocol)
{
alpn_ext_st *priv;
int ret;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN,
+ &epriv);
if (ret < 0) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -276,18 +263,17 @@ gnutls_alpn_get_selected_protocol(gnutls_session_t session,
*
* Since 3.2.0
**/
-int
-gnutls_alpn_set_protocols(gnutls_session_t session,
- const gnutls_datum_t * protocols,
- unsigned protocols_size, unsigned int flags)
+int gnutls_alpn_set_protocols(gnutls_session_t session,
+ const gnutls_datum_t *protocols,
+ unsigned protocols_size, unsigned int flags)
{
int ret;
alpn_ext_st *priv;
gnutls_ext_priv_data_t epriv;
unsigned i;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_ALPN,
+ &epriv);
if (ret < 0) {
priv = gnutls_calloc(1, sizeof(*priv));
if (priv == NULL) {
@@ -295,8 +281,8 @@ gnutls_alpn_set_protocols(gnutls_session_t session,
return GNUTLS_E_MEMORY_ERROR;
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_ALPN, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_ALPN,
+ epriv);
} else
priv = epriv;
diff --git a/lib/ext/alpn.h b/lib/ext/alpn.h
index 514677e318..0b32a3292d 100644
--- a/lib/ext/alpn.h
+++ b/lib/ext/alpn.h
@@ -19,12 +19,12 @@
*/
#ifndef GNUTLS_LIB_EXT_ALPN_H
-# define GNUTLS_LIB_EXT_ALPN_H
+#define GNUTLS_LIB_EXT_ALPN_H
-# include <hello_ext.h>
+#include <hello_ext.h>
-# define MAX_ALPN_PROTOCOLS 8
-# define MAX_ALPN_PROTOCOL_NAME 32
+#define MAX_ALPN_PROTOCOLS 8
+#define MAX_ALPN_PROTOCOL_NAME 32
typedef struct {
uint8_t protocols[MAX_ALPN_PROTOCOLS][MAX_ALPN_PROTOCOL_NAME];
@@ -37,4 +37,4 @@ typedef struct {
extern const hello_ext_entry_st ext_mod_alpn;
-#endif /* GNUTLS_LIB_EXT_ALPN_H */
+#endif /* GNUTLS_LIB_EXT_ALPN_H */
diff --git a/lib/ext/cert_types.h b/lib/ext/cert_types.h
index 2e80afce85..13464be82a 100644
--- a/lib/ext/cert_types.h
+++ b/lib/ext/cert_types.h
@@ -24,7 +24,7 @@
*/
#ifndef GNUTLS_LIB_EXT_CERT_TYPES_H
-# define GNUTLS_LIB_EXT_CERT_TYPES_H
+#define GNUTLS_LIB_EXT_CERT_TYPES_H
/* Maps IANA TLS Certificate Types identifiers to internal
* certificate type representation.
@@ -79,11 +79,11 @@ static inline bool is_cert_type_enabled(gnutls_session_t session,
static inline bool are_alternative_cert_types_allowed(gnutls_session_t session)
{
// OR-ed list of defined cert type init flags
-# define CERT_TYPES_FLAGS GNUTLS_ENABLE_RAWPK
+#define CERT_TYPES_FLAGS GNUTLS_ENABLE_RAWPK
return session->internals.flags & CERT_TYPES_FLAGS;
-# undef CERT_TYPES_FLAGS
+#undef CERT_TYPES_FLAGS
}
-#endif /* GNUTLS_LIB_EXT_CERT_TYPES_H */
+#endif /* GNUTLS_LIB_EXT_CERT_TYPES_H */
diff --git a/lib/ext/client_cert_type.c b/lib/ext/client_cert_type.c
index 772f9da640..230991f9d7 100644
--- a/lib/ext/client_cert_type.c
+++ b/lib/ext/client_cert_type.c
@@ -37,10 +37,10 @@
#include "datum.h"
static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
- gnutls_buffer_st * data);
+ gnutls_buffer_st *data);
const hello_ext_entry_st ext_mod_client_cert_type = {
.name = "Client Certificate Type",
@@ -48,10 +48,9 @@ const hello_ext_entry_st ext_mod_client_cert_type = {
.gid = GNUTLS_EXTENSION_CLIENT_CERT_TYPE,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity = GNUTLS_EXT_FLAG_TLS |
- GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | GNUTLS_EXT_FLAG_EE,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | GNUTLS_EXT_FLAG_EE,
.recv_func = _gnutls_client_cert_type_recv_params,
.send_func = _gnutls_client_cert_type_send_params,
.pack_func = _gnutls_hello_ext_default_pack,
@@ -61,7 +60,7 @@ const hello_ext_entry_st ext_mod_client_cert_type = {
};
static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size)
{
int ret;
@@ -76,15 +75,15 @@ static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
(_gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE) == NULL))
return 0;
- if (!IS_SERVER(session)) { // client mode
- gnutls_datum_t sent_cert_types; // Holds the previously sent cert types
+ if (!IS_SERVER(session)) { // client mode
+ gnutls_datum_t
+ sent_cert_types; // Holds the previously sent cert types
/* Compare packet length with expected packet length. For the
* client this is a single byte. */
if (data_size != 1) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
/* The server picked one of the offered cert types if he supports
@@ -95,23 +94,22 @@ static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
* to check it nevertheless. */
cert_type = IANA2cert_type(pdata[0]);
- _gnutls_handshake_log
- ("EXT[%p]: Received a %s client certificate type confirmation from the server.\n",
- session, gnutls_certificate_type_get_name(cert_type));
+ _gnutls_handshake_log(
+ "EXT[%p]: Received a %s client certificate type confirmation from the server.\n",
+ session, gnutls_certificate_type_get_name(cert_type));
// Check validity of cert type
if (cert_type == GNUTLS_CRT_UNKNOWN) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE);
}
/* Get the cert types that we sent to the server (they were stored
* in IANA representation.
*/
- ret = _gnutls_hello_ext_get_datum(session,
- GNUTLS_EXTENSION_CLIENT_CERT_TYPE,
- &sent_cert_types);
+ ret = _gnutls_hello_ext_get_datum(
+ session, GNUTLS_EXTENSION_CLIENT_CERT_TYPE,
+ &sent_cert_types);
if (ret < 0) {
/* This should not happen and indicate a memory corruption!
* Assertion are always on in production code so execution
@@ -137,20 +135,20 @@ static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
return ret;
- } else { // server mode
- gnutls_datum_t cert_types; // Holds the received cert types
+ } else { // server mode
+ gnutls_datum_t cert_types; // Holds the received cert types
// Compare packet length with expected packet length.
DECR_LEN(data_size, 1);
if (data[0] != data_size) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
pdata += 1;
// Assign the contents of our data buffer to a gnutls_datum_t
- cert_types.data = (uint8_t *) pdata; // Need casting to get rid of 'discards const qualifier' warning
+ cert_types.data = (uint8_t *)
+ pdata; // Need casting to get rid of 'discards const qualifier' warning
cert_types.size = data_size;
// Store the client certificate types in our session
@@ -172,15 +170,15 @@ static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
if (cert_type == GNUTLS_CRT_UNKNOWN)
continue;
- _gnutls_handshake_log
- ("EXT[%p]: Checking compatibility of a %s client certificate type that was received from the client.\n",
- session,
- gnutls_certificate_type_get_name(cert_type));
+ _gnutls_handshake_log(
+ "EXT[%p]: Checking compatibility of a %s client certificate type that was received from the client.\n",
+ session,
+ gnutls_certificate_type_get_name(cert_type));
// Check for support of this cert type
- if (_gnutls_session_is_cert_type_supported
- (session, cert_type, false,
- GNUTLS_CTYPE_CLIENT) == 0) {
+ if (_gnutls_session_is_cert_type_supported(
+ session, cert_type, false,
+ GNUTLS_CTYPE_CLIENT) == 0) {
found = true;
break;
}
@@ -196,9 +194,10 @@ static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
* with a fatal alert of type "unsupported_certificate"
* (according to specification rfc7250).
*/
- _gnutls_handshake_log
- ("EXT[%p]: No supported client certificate type was found. "
- "Aborting connection.\n", session);
+ _gnutls_handshake_log(
+ "EXT[%p]: No supported client certificate type was found. "
+ "Aborting connection.\n",
+ session);
ret = GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE;
}
@@ -207,10 +206,10 @@ static int _gnutls_client_cert_type_recv_params(gnutls_session_t session,
}
static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
- gnutls_buffer_st * data)
+ gnutls_buffer_st *data)
{
int ret;
- uint8_t cert_type_IANA; // Holds an IANA cert type ID
+ uint8_t cert_type_IANA; // Holds an IANA cert type ID
gnutls_certificate_type_t cert_type;
/* Only activate this extension if we have cert credentials set
@@ -219,11 +218,12 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
(_gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE) == NULL))
return 0;
- if (!IS_SERVER(session)) { // Client mode
- uint8_t cert_types[GNUTLS_CRT_MAX]; // The list with supported (IANA) cert types. Inv: 0 <= cert type Id < 256
+ if (!IS_SERVER(session)) { // Client mode
+ uint8_t cert_types
+ [GNUTLS_CRT_MAX]; // The list with supported (IANA) cert types. Inv: 0 <= cert type Id < 256
size_t i, num_cert_types = 0;
priority_st *cert_priorities;
- gnutls_datum_t tmp_cert_types; // For type conversion
+ gnutls_datum_t tmp_cert_types; // For type conversion
// For brevity
cert_priorities = &session->internals.priorities->client_ctype;
@@ -233,7 +233,8 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
* initialization values apply. This default is currently set to
* x.509 in which case we don't enable this extension.
*/
- if (cert_priorities->num_priorities > 0) { // Priorities are explicitly set
+ if (cert_priorities->num_priorities >
+ 0) { // Priorities are explicitly set
/* If the certificate priority is explicitly set to only
* X.509 (default) then, according to spec we don't send
* this extension. We check this here to avoid further work in
@@ -242,13 +243,13 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
*/
if (cert_priorities->num_priorities == 1 &&
cert_priorities->priorities[0] ==
- DEFAULT_CERT_TYPE) {
- _gnutls_handshake_log
- ("EXT[%p]: Client certificate type was set to default cert type (%s). "
- "We therefore do not send this extension.\n",
- session,
- gnutls_certificate_type_get_name
- (DEFAULT_CERT_TYPE));
+ DEFAULT_CERT_TYPE) {
+ _gnutls_handshake_log(
+ "EXT[%p]: Client certificate type was set to default cert type (%s). "
+ "We therefore do not send this extension.\n",
+ session,
+ gnutls_certificate_type_get_name(
+ DEFAULT_CERT_TYPE));
// Explicitly set but default ctype, so don't send anything
return 0;
@@ -261,17 +262,16 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
for (i = 0; i < cert_priorities->num_priorities; i++) {
cert_type = cert_priorities->priorities[i];
- if (_gnutls_session_is_cert_type_supported
- (session, cert_type, true,
- GNUTLS_CTYPE_CLIENT) == 0) {
+ if (_gnutls_session_is_cert_type_supported(
+ session, cert_type, true,
+ GNUTLS_CTYPE_CLIENT) == 0) {
/* Check whether we are allowed to store another cert type
* in our buffer. In other words, prevent a possible buffer
* overflow. This situation can occur when a user sets
* duplicate cert types in the priority strings. */
if (num_cert_types >= GNUTLS_CRT_MAX)
- return
- gnutls_assert_val
- (GNUTLS_E_SHORT_MEMORY_BUFFER);
+ return gnutls_assert_val(
+ GNUTLS_E_SHORT_MEMORY_BUFFER);
// Convert to IANA representation
ret = cert_type2IANA(cert_type);
@@ -279,18 +279,19 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- cert_type_IANA = ret; // For readability
+ cert_type_IANA = ret; // For readability
// Add this cert type to our list with supported types
cert_types[num_cert_types] =
- cert_type_IANA;
+ cert_type_IANA;
num_cert_types++;
- _gnutls_handshake_log
- ("EXT[%p]: Client certificate type %s (%d) was queued.\n",
- session,
- gnutls_certificate_type_get_name
- (cert_type), cert_type_IANA);
+ _gnutls_handshake_log(
+ "EXT[%p]: Client certificate type %s (%d) was queued.\n",
+ session,
+ gnutls_certificate_type_get_name(
+ cert_type),
+ cert_type_IANA);
}
}
@@ -300,22 +301,22 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
* we do not send this extension (according to RFC7250).
*/
if (num_cert_types == 0) {
- _gnutls_handshake_log
- ("EXT[%p]: Client certificate types were set but none of them is supported. "
- "You might want to check your credentials or your priorities. "
- "We do not send this extension.\n",
- session);
+ _gnutls_handshake_log(
+ "EXT[%p]: Client certificate types were set but none of them is supported. "
+ "You might want to check your credentials or your priorities. "
+ "We do not send this extension.\n",
+ session);
return 0;
} else if (num_cert_types == 1 &&
IANA2cert_type(cert_types[0]) ==
- DEFAULT_CERT_TYPE) {
- _gnutls_handshake_log
- ("EXT[%p]: The only supported client certificate type is (%s) which is the default. "
- "We therefore do not send this extension.\n",
- session,
- gnutls_certificate_type_get_name
- (DEFAULT_CERT_TYPE));
+ DEFAULT_CERT_TYPE) {
+ _gnutls_handshake_log(
+ "EXT[%p]: The only supported client certificate type is (%s) which is the default. "
+ "We therefore do not send this extension.\n",
+ session,
+ gnutls_certificate_type_get_name(
+ DEFAULT_CERT_TYPE));
return 0;
}
@@ -327,17 +328,16 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
tmp_cert_types.data = cert_types;
tmp_cert_types.size = num_cert_types;
- _gnutls_hello_ext_set_datum(session,
- GNUTLS_EXTENSION_CLIENT_CERT_TYPE,
- &tmp_cert_types);
+ _gnutls_hello_ext_set_datum(
+ session, GNUTLS_EXTENSION_CLIENT_CERT_TYPE,
+ &tmp_cert_types);
/* Serialize the certificate types into a sequence of octets
* uint8: length of sequence of cert types (1 octet)
* uint8: cert types (0 <= #octets <= 255)
*/
- ret = _gnutls_buffer_append_data_prefix(data, 8,
- cert_types,
- num_cert_types);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 8, cert_types, num_cert_types);
// Check for errors
if (ret < 0) {
@@ -347,7 +347,7 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
return num_cert_types + 1;
}
}
- } else { // Server mode
+ } else { // Server mode
const version_entry_st *vers = get_version(session);
/* TLS 1.2:
* Check whether we are going to send a certificate request,
@@ -370,27 +370,27 @@ static int _gnutls_client_cert_type_send_params(gnutls_session_t session,
* when we cannot find a matching client certificate. This is conform
* spec (RFC7250, 4.2 case 2.).
*/
- cert_type =
- get_certificate_type(session, GNUTLS_CTYPE_CLIENT);
+ cert_type = get_certificate_type(session,
+ GNUTLS_CTYPE_CLIENT);
ret = cert_type2IANA(cert_type);
if (ret < 0)
return gnutls_assert_val(ret);
- cert_type_IANA = ret; // For readability
+ cert_type_IANA = ret; // For readability
- _gnutls_handshake_log
- ("EXT[%p]: Confirming to use a %s client certificate type.\n",
- session,
- gnutls_certificate_type_get_name(cert_type));
+ _gnutls_handshake_log(
+ "EXT[%p]: Confirming to use a %s client certificate type.\n",
+ session,
+ gnutls_certificate_type_get_name(cert_type));
- ret =
- gnutls_buffer_append_data(data, &cert_type_IANA, 1);
+ ret = gnutls_buffer_append_data(data, &cert_type_IANA,
+ 1);
if (ret < 0)
return gnutls_assert_val(ret);
- return 1; // sent one byte
+ return 1; // sent one byte
}
}
diff --git a/lib/ext/client_cert_type.h b/lib/ext/client_cert_type.h
index 45208f7d37..7e89ca816a 100644
--- a/lib/ext/client_cert_type.h
+++ b/lib/ext/client_cert_type.h
@@ -27,10 +27,10 @@
*/
#ifndef GNUTLS_LIB_EXT_CLIENT_CERT_TYPE_H
-# define GNUTLS_LIB_EXT_CLIENT_CERT_TYPE_H
+#define GNUTLS_LIB_EXT_CLIENT_CERT_TYPE_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_client_cert_type;
-#endif /* GNUTLS_LIB_EXT_CLIENT_CERT_TYPE_H */
+#endif /* GNUTLS_LIB_EXT_CLIENT_CERT_TYPE_H */
diff --git a/lib/ext/compress_certificate.c b/lib/ext/compress_certificate.c
index a72a2662e5..64c786e966 100644
--- a/lib/ext/compress_certificate.c
+++ b/lib/ext/compress_certificate.c
@@ -84,20 +84,16 @@ int _gnutls_compress_certificate_method2num(gnutls_compression_method_t method)
/* Returns 1 if the method is set as supported compression method for the session,
* returns 0 otherwise
*/
-bool
-_gnutls_compress_certificate_is_method_enabled(gnutls_session_t session,
- gnutls_compression_method_t
- method)
+bool _gnutls_compress_certificate_is_method_enabled(
+ gnutls_session_t session, gnutls_compression_method_t method)
{
int ret;
unsigned i;
compress_certificate_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_COMPRESS_CERTIFICATE,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_COMPRESS_CERTIFICATE, &epriv);
if (ret < 0)
return false;
priv = epriv;
@@ -159,17 +155,16 @@ gnutls_compress_certificate_get_selected_method(gnutls_session_t session)
*
* Since 3.7.4
**/
-int
-gnutls_compress_certificate_set_methods(gnutls_session_t session,
- const gnutls_compression_method_t *
- methods, size_t methods_len)
+int gnutls_compress_certificate_set_methods(
+ gnutls_session_t session, const gnutls_compression_method_t *methods,
+ size_t methods_len)
{
unsigned i;
compress_certificate_ext_st *priv;
if (methods == NULL || methods_len == 0) {
- _gnutls_hello_ext_unset_priv(session,
- GNUTLS_EXTENSION_COMPRESS_CERTIFICATE);
+ _gnutls_hello_ext_unset_priv(
+ session, GNUTLS_EXTENSION_COMPRESS_CERTIFICATE);
return 0;
}
@@ -192,9 +187,9 @@ gnutls_compress_certificate_set_methods(gnutls_session_t session,
return 0;
}
-int
-_gnutls_compress_certificate_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+int _gnutls_compress_certificate_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t data_size)
{
int ret;
unsigned i, j;
@@ -206,10 +201,8 @@ _gnutls_compress_certificate_recv_params(gnutls_session_t session,
compress_certificate_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_COMPRESS_CERTIFICATE,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_COMPRESS_CERTIFICATE, &epriv);
if (ret < 0)
return 0;
priv = epriv;
@@ -237,15 +230,14 @@ _gnutls_compress_certificate_recv_params(gnutls_session_t session,
method = methods[i];
goto endloop;
}
- endloop:
+endloop:
session->internals.compress_certificate_method = method;
return 0;
}
-int
-_gnutls_compress_certificate_send_params(gnutls_session_t session,
- gnutls_buffer_st * data)
+int _gnutls_compress_certificate_send_params(gnutls_session_t session,
+ gnutls_buffer_st *data)
{
int ret, num;
unsigned i;
@@ -254,10 +246,8 @@ _gnutls_compress_certificate_send_params(gnutls_session_t session,
compress_certificate_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_COMPRESS_CERTIFICATE,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_COMPRESS_CERTIFICATE, &epriv);
if (ret < 0)
return 0;
priv = epriv;
@@ -284,7 +274,7 @@ const hello_ext_entry_st ext_mod_compress_certificate = {
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
.validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
.recv_func = _gnutls_compress_certificate_recv_params,
.send_func = _gnutls_compress_certificate_send_params,
.deinit_func = _gnutls_hello_ext_default_deinit
diff --git a/lib/ext/compress_certificate.h b/lib/ext/compress_certificate.h
index d61189feff..5f436c95d9 100644
--- a/lib/ext/compress_certificate.h
+++ b/lib/ext/compress_certificate.h
@@ -21,12 +21,12 @@
*/
#ifndef GNUTLS_LIB_EXT_COMPRESS_CERTIFICATE_H
-# define GNUTLS_LIB_EXT_COMPRESS_CERTIFICATE_H
+#define GNUTLS_LIB_EXT_COMPRESS_CERTIFICATE_H
-# include <hello_ext.h>
+#include <hello_ext.h>
-# define MIN_COMPRESS_CERTIFICATE_METHODS 1
-# define MAX_COMPRESS_CERTIFICATE_METHODS 127
+#define MIN_COMPRESS_CERTIFICATE_METHODS 1
+#define MAX_COMPRESS_CERTIFICATE_METHODS 127
typedef struct {
gnutls_compression_method_t methods[MAX_COMPRESS_CERTIFICATE_METHODS];
@@ -40,18 +40,14 @@ _gnutls_compress_certificate_num2method(uint16_t num);
int _gnutls_compress_certificate_method2num(gnutls_compression_method_t method);
-bool
-_gnutls_compress_certificate_is_method_enabled(gnutls_session_t session,
- gnutls_compression_method_t
- method);
+bool _gnutls_compress_certificate_is_method_enabled(
+ gnutls_session_t session, gnutls_compression_method_t method);
-int
-_gnutls_compress_certificate_recv_params(gnutls_session_t session,
- const uint8_t * data,
- size_t data_size);
+int _gnutls_compress_certificate_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t data_size);
-int
-_gnutls_compress_certificate_send_params(gnutls_session_t session,
- gnutls_buffer_st * data);
+int _gnutls_compress_certificate_send_params(gnutls_session_t session,
+ gnutls_buffer_st *data);
-#endif /* GNUTLS_LIB_EXT_COMPRESS_CERTIFICATE_H */
+#endif /* GNUTLS_LIB_EXT_COMPRESS_CERTIFICATE_H */
diff --git a/lib/ext/cookie.c b/lib/ext/cookie.c
index 05cc6b207e..dbbaf34805 100644
--- a/lib/ext/cookie.c
+++ b/lib/ext/cookie.c
@@ -29,19 +29,21 @@
#include "hello_ext_lib.h"
#include <ext/cookie.h>
-static int cookie_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+static int cookie_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t data_size);
static int cookie_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_cookie = {
.name = "Cookie",
.tls_id = 44,
.gid = GNUTLS_EXTENSION_COOKIE,
.validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_HRR | GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST,
- .client_parse_point = GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
- .server_parse_point = GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
+ GNUTLS_EXT_FLAG_HRR | GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST,
+ .client_parse_point =
+ GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
+ .server_parse_point =
+ GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
.recv_func = cookie_recv_params,
.send_func = cookie_send_params,
.pack_func = NULL,
@@ -51,9 +53,8 @@ const hello_ext_entry_st ext_mod_cookie = {
};
/* Only client sends this extension. */
-static int
-cookie_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int cookie_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t data_size)
{
size_t csize;
int ret;
@@ -62,7 +63,7 @@ cookie_recv_params(gnutls_session_t session,
if (session->security_parameters.entity == GNUTLS_SERVER) {
/* we don't support it */
return 0;
- } else { /* client */
+ } else { /* client */
if (_gnutls_ext_get_msg(session) == GNUTLS_EXT_FLAG_HRR) {
DECR_LEN(data_size, 2);
@@ -72,17 +73,14 @@ cookie_recv_params(gnutls_session_t session,
DECR_LEN(data_size, csize);
if (data_size != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
tmp.data = (void *)data;
tmp.size = csize;
- ret =
- _gnutls_hello_ext_set_datum(session,
- GNUTLS_EXTENSION_COOKIE,
- &tmp);
+ ret = _gnutls_hello_ext_set_datum(
+ session, GNUTLS_EXTENSION_COOKIE, &tmp);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -97,23 +95,21 @@ cookie_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-cookie_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int cookie_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
gnutls_datum_t tmp;
int ret;
/* this function sends the client extension data (dnsname) */
if (session->security_parameters.entity == GNUTLS_CLIENT) {
- ret =
- _gnutls_hello_ext_get_datum(session,
- GNUTLS_EXTENSION_COOKIE, &tmp);
+ ret = _gnutls_hello_ext_get_datum(
+ session, GNUTLS_EXTENSION_COOKIE, &tmp);
if (ret < 0)
return 0;
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 16, tmp.data,
- tmp.size);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 16, tmp.data,
+ tmp.size);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/ext/cookie.h b/lib/ext/cookie.h
index 4529824f10..13ea7c7cde 100644
--- a/lib/ext/cookie.h
+++ b/lib/ext/cookie.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_COOKIE_H
-# define GNUTLS_LIB_EXT_COOKIE_H
+#define GNUTLS_LIB_EXT_COOKIE_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_cookie;
-#endif /* GNUTLS_LIB_EXT_COOKIE_H */
+#endif /* GNUTLS_LIB_EXT_COOKIE_H */
diff --git a/lib/ext/dumbfw.c b/lib/ext/dumbfw.c
index ddc414827e..f182aa81d8 100644
--- a/lib/ext/dumbfw.c
+++ b/lib/ext/dumbfw.c
@@ -34,7 +34,7 @@
*/
static int _gnutls_dumbfw_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_dumbfw = {
.name = "ClientHello Padding",
@@ -51,8 +51,8 @@ const hello_ext_entry_st ext_mod_dumbfw = {
.cannot_be_overriden = 0
};
-static int
-_gnutls_dumbfw_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int _gnutls_dumbfw_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
int total_size = 0, ret;
uint8_t pad[257];
@@ -60,8 +60,8 @@ _gnutls_dumbfw_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
ssize_t len = extdata->length - sizeof(mbuffer_st);
if (session->security_parameters.entity == GNUTLS_SERVER ||
- session->internals.dumbfw == 0 ||
- IS_DTLS(session) != 0 || (len < 256 || len >= 512)) {
+ session->internals.dumbfw == 0 || IS_DTLS(session) != 0 ||
+ (len < 256 || len >= 512)) {
return 0;
} else {
/* 256 <= extdata->length < 512 */
diff --git a/lib/ext/dumbfw.h b/lib/ext/dumbfw.h
index 234fa652a1..87bb072e9f 100644
--- a/lib/ext/dumbfw.h
+++ b/lib/ext/dumbfw.h
@@ -19,10 +19,10 @@
*/
#ifndef GNUTLS_LIB_EXT_DUMBFW_H
-# define GNUTLS_LIB_EXT_DUMBFW_H
+#define GNUTLS_LIB_EXT_DUMBFW_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_dumbfw;
-#endif /* GNUTLS_LIB_EXT_DUMBFW_H */
+#endif /* GNUTLS_LIB_EXT_DUMBFW_H */
diff --git a/lib/ext/early_data.c b/lib/ext/early_data.c
index cf89151962..cd434c18af 100644
--- a/lib/ext/early_data.c
+++ b/lib/ext/early_data.c
@@ -29,20 +29,21 @@
#include "hello_ext_lib.h"
#include <ext/early_data.h>
-static int early_data_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+static int early_data_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t data_size);
static int early_data_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_early_data = {
.name = "Early Data",
.tls_id = 42,
.gid = GNUTLS_EXTENSION_EARLY_DATA,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_EE,
- .client_parse_point = GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
- .server_parse_point = GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_EE,
+ .client_parse_point =
+ GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
+ .server_parse_point =
+ GNUTLS_EXT_MANDATORY, /* force parsing prior to EXT_TLS extensions */
.recv_func = early_data_recv_params,
.send_func = early_data_send_params,
.pack_func = NULL,
@@ -51,9 +52,8 @@ const hello_ext_entry_st ext_mod_early_data = {
.cannot_be_overriden = 0
};
-static int
-early_data_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t _data_size)
+static int early_data_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t _data_size)
{
const version_entry_st *vers = get_version(session);
@@ -75,8 +75,8 @@ early_data_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-early_data_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int early_data_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
if (session->security_parameters.entity == GNUTLS_SERVER) {
if (session->internals.hsk_flags & HSK_EARLY_DATA_ACCEPTED)
@@ -87,10 +87,10 @@ early_data_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
!(session->internals.resumption_requested == 0 &&
session->internals.premaster_set == 0) &&
session->internals.resumed_security_parameters.pversion &&
- session->internals.resumed_security_parameters.
- pversion->tls13_sem) {
+ session->internals.resumed_security_parameters.pversion
+ ->tls13_sem) {
session->internals.hsk_flags |=
- HSK_EARLY_DATA_IN_FLIGHT;
+ HSK_EARLY_DATA_IN_FLIGHT;
return GNUTLS_E_INT_RET_0;
}
}
@@ -140,7 +140,7 @@ int gnutls_record_set_max_early_data_size(gnutls_session_t session, size_t size)
if (size == 0 || size > UINT32_MAX)
return GNUTLS_E_INVALID_REQUEST;
- session->security_parameters.max_early_data_size = (uint32_t) size;
+ session->security_parameters.max_early_data_size = (uint32_t)size;
return 0;
}
diff --git a/lib/ext/early_data.h b/lib/ext/early_data.h
index d6a314cbca..d7178e8ac2 100644
--- a/lib/ext/early_data.h
+++ b/lib/ext/early_data.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_EARLY_DATA_H
-# define GNUTLS_LIB_EXT_EARLY_DATA_H
+#define GNUTLS_LIB_EXT_EARLY_DATA_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_early_data;
-#endif /* GNUTLS_LIB_EXT_EARLY_DATA_H */
+#endif /* GNUTLS_LIB_EXT_EARLY_DATA_H */
diff --git a/lib/ext/ec_point_formats.c b/lib/ext/ec_point_formats.c
index 34db90f52c..810751bce8 100644
--- a/lib/ext/ec_point_formats.c
+++ b/lib/ext/ec_point_formats.c
@@ -29,14 +29,11 @@
#include "state.h"
#include <gnutls/gnutls.h>
-static int _gnutls_supported_ec_point_formats_recv_params(gnutls_session_t
- session,
- const uint8_t * data,
- size_t data_size);
-static int _gnutls_supported_ec_point_formats_send_params(gnutls_session_t
- session,
- gnutls_buffer_st *
- extdata);
+static int _gnutls_supported_ec_point_formats_recv_params(
+ gnutls_session_t session, const uint8_t *data, size_t data_size);
+static int
+_gnutls_supported_ec_point_formats_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_supported_ec_point_formats = {
.name = "Supported EC Point Formats",
@@ -45,7 +42,8 @@ const hello_ext_entry_st ext_mod_supported_ec_point_formats = {
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
.validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_supported_ec_point_formats_recv_params,
.send_func = _gnutls_supported_ec_point_formats_send_params,
.pack_func = NULL,
@@ -55,30 +53,26 @@ const hello_ext_entry_st ext_mod_supported_ec_point_formats = {
/* Receive point formats
*/
-static int
-_gnutls_supported_ec_point_formats_recv_params(gnutls_session_t session,
- const uint8_t * data,
- size_t data_size)
+static int _gnutls_supported_ec_point_formats_recv_params(
+ gnutls_session_t session, const uint8_t *data, size_t data_size)
{
size_t len, i;
int uncompressed = 0;
if (session->security_parameters.entity == GNUTLS_CLIENT) {
if (data_size < 1)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
len = data[0];
if (len < 1)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
DECR_LEN(data_size, len + 1);
for (i = 1; i <= len; i++)
- if (data[i] == 0) { /* uncompressed */
+ if (data[i] == 0) { /* uncompressed */
uncompressed = 1;
break;
}
@@ -90,9 +84,8 @@ _gnutls_supported_ec_point_formats_recv_params(gnutls_session_t session,
* and a client must support it thus nothing to check.
*/
if (data_size < 1)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
return 0;
@@ -102,13 +95,15 @@ _gnutls_supported_ec_point_formats_recv_params(gnutls_session_t session,
*/
static int
_gnutls_supported_ec_point_formats_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+ gnutls_buffer_st *extdata)
{
- const uint8_t p[2] = { 0x01, 0x00 }; /* only support uncompressed point format */
+ const uint8_t p[2] = {
+ 0x01, 0x00
+ }; /* only support uncompressed point format */
int ret;
- if (session->security_parameters.entity == GNUTLS_SERVER
- && !_gnutls_session_is_ecc(session))
+ if (session->security_parameters.entity == GNUTLS_SERVER &&
+ !_gnutls_session_is_ecc(session))
return 0;
if (session->internals.priorities->groups.size > 0) {
diff --git a/lib/ext/ec_point_formats.h b/lib/ext/ec_point_formats.h
index 0fb7b73ba7..cc65c04c38 100644
--- a/lib/ext/ec_point_formats.h
+++ b/lib/ext/ec_point_formats.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_EC_POINT_FORMATS_H
-# define GNUTLS_LIB_EXT_EC_POINT_FORMATS_H
+#define GNUTLS_LIB_EXT_EC_POINT_FORMATS_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_supported_ec_point_formats;
-#endif /* GNUTLS_LIB_EXT_EC_POINT_FORMATS_H */
+#endif /* GNUTLS_LIB_EXT_EC_POINT_FORMATS_H */
diff --git a/lib/ext/etm.c b/lib/ext/etm.c
index e5a671893b..11de52ff62 100644
--- a/lib/ext/etm.c
+++ b/lib/ext/etm.c
@@ -30,9 +30,9 @@
#include <ext/etm.h>
static int _gnutls_ext_etm_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+ const uint8_t *data, size_t data_size);
static int _gnutls_ext_etm_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_etm = {
.name = "Encrypt-then-MAC",
@@ -40,9 +40,9 @@ const hello_ext_entry_st ext_mod_etm = {
.gid = GNUTLS_EXTENSION_ETM,
.client_parse_point = GNUTLS_EXT_MANDATORY,
.server_parse_point = GNUTLS_EXT_MANDATORY,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_ext_etm_recv_params,
.send_func = _gnutls_ext_etm_send_params,
.pack_func = NULL,
@@ -56,9 +56,8 @@ const hello_ext_entry_st ext_mod_etm = {
* sets a flag into the session security parameters.
*
*/
-static int
-_gnutls_ext_etm_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t _data_size)
+static int _gnutls_ext_etm_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t _data_size)
{
ssize_t data_size = _data_size;
@@ -72,21 +71,20 @@ _gnutls_ext_etm_recv_params(gnutls_session_t session,
if (session->internals.no_etm != 0)
return 0;
- epriv = (void *)(intptr_t) 1;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_ETM, epriv);
+ epriv = (void *)(intptr_t)1;
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_ETM,
+ epriv);
/* don't decide now, decide on send */
return 0;
- } else { /* client */
+ } else { /* client */
const gnutls_cipher_suite_entry_st *e =
- session->security_parameters.cs;
+ session->security_parameters.cs;
if (e != NULL) {
const cipher_entry_st *c;
c = cipher_to_entry(e->block_algorithm);
- if (c == NULL
- || (c->type == CIPHER_AEAD
- || c->type == CIPHER_STREAM))
+ if (c == NULL || (c->type == CIPHER_AEAD ||
+ c->type == CIPHER_STREAM))
return 0;
session->security_parameters.etm = 1;
@@ -98,9 +96,8 @@ _gnutls_ext_etm_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_ext_etm_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_ext_etm_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
if (session->internals.no_etm != 0)
return 0;
@@ -111,7 +108,7 @@ _gnutls_ext_etm_send_params(gnutls_session_t session,
return GNUTLS_E_INT_RET_0;
else
return 0;
- } else { /* server side */
+ } else { /* server side */
const gnutls_cipher_suite_entry_st *e;
const cipher_entry_st *c;
int ret;
@@ -120,15 +117,13 @@ _gnutls_ext_etm_send_params(gnutls_session_t session,
e = session->security_parameters.cs;
if (e != NULL) {
c = cipher_to_entry(e->block_algorithm);
- if (c == NULL
- || (c->type == CIPHER_AEAD
- || c->type == CIPHER_STREAM))
+ if (c == NULL || (c->type == CIPHER_AEAD ||
+ c->type == CIPHER_STREAM))
return 0;
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_ETM,
- &epriv);
- if (ret < 0 || ((intptr_t) epriv) == 0)
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_ETM, &epriv);
+ if (ret < 0 || ((intptr_t)epriv) == 0)
return 0;
session->security_parameters.etm = 1;
diff --git a/lib/ext/etm.h b/lib/ext/etm.h
index 2fd35cc0e5..76f9dd5e51 100644
--- a/lib/ext/etm.h
+++ b/lib/ext/etm.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_ETM_H
-# define GNUTLS_LIB_EXT_ETM_H
+#define GNUTLS_LIB_EXT_ETM_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_etm;
-#endif /* GNUTLS_LIB_EXT_ETM_H */
+#endif /* GNUTLS_LIB_EXT_ETM_H */
diff --git a/lib/ext/ext_master_secret.c b/lib/ext/ext_master_secret.c
index 95e64bd0d7..226d1c24b2 100644
--- a/lib/ext/ext_master_secret.c
+++ b/lib/ext/ext_master_secret.c
@@ -30,10 +30,10 @@
#include <ext/ext_master_secret.h>
static int _gnutls_ext_master_secret_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_ext_master_secret_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_ext_master_secret = {
.name = "Extended Master Secret",
@@ -41,9 +41,9 @@ const hello_ext_entry_st ext_mod_ext_master_secret = {
.gid = GNUTLS_EXTENSION_EXT_MASTER_SECRET,
.client_parse_point = GNUTLS_EXT_MANDATORY,
.server_parse_point = GNUTLS_EXT_MANDATORY,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_ext_master_secret_recv_params,
.send_func = _gnutls_ext_master_secret_send_params,
.pack_func = NULL,
@@ -57,7 +57,7 @@ static inline unsigned have_only_ssl3_enabled(gnutls_session_t session)
{
if (session->internals.priorities->protocol.num_priorities == 1 &&
session->internals.priorities->protocol.priorities[0] ==
- GNUTLS_SSL3)
+ GNUTLS_SSL3)
return 1;
return 0;
}
@@ -68,9 +68,9 @@ static inline unsigned have_only_ssl3_enabled(gnutls_session_t session)
* sets a flag into the session security parameters.
*
*/
-static int
-_gnutls_ext_master_secret_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t _data_size)
+static int _gnutls_ext_master_secret_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t _data_size)
{
ssize_t data_size = _data_size;
@@ -102,9 +102,8 @@ _gnutls_ext_master_secret_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_ext_master_secret_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_ext_master_secret_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
if ((session->internals.flags & GNUTLS_NO_DEFAULT_EXTENSIONS) ||
session->internals.priorities->no_extensions != 0 ||
@@ -117,16 +116,16 @@ _gnutls_ext_master_secret_send_params(gnutls_session_t session,
#ifdef ENABLE_SSL3
if (session->security_parameters.entity == GNUTLS_CLIENT) {
if (have_only_ssl3_enabled(session))
- return 0; /* this extension isn't available for SSL 3.0 */
+ return 0; /* this extension isn't available for SSL 3.0 */
return GNUTLS_E_INT_RET_0;
- } else { /* server side */
+ } else { /* server side */
const version_entry_st *ver = get_version(session);
if (unlikely(ver == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- if (ver->id != GNUTLS_SSL3
- && session->security_parameters.ext_master_secret != 0)
+ if (ver->id != GNUTLS_SSL3 &&
+ session->security_parameters.ext_master_secret != 0)
return GNUTLS_E_INT_RET_0;
}
diff --git a/lib/ext/ext_master_secret.h b/lib/ext/ext_master_secret.h
index ad807b8469..45d38178bd 100644
--- a/lib/ext/ext_master_secret.h
+++ b/lib/ext/ext_master_secret.h
@@ -21,13 +21,13 @@
*/
#ifndef GNUTLS_LIB_EXT_EXT_MASTER_SECRET_H
-# define GNUTLS_LIB_EXT_EXT_MASTER_SECRET_H
+#define GNUTLS_LIB_EXT_EXT_MASTER_SECRET_H
/* Keep backward compatibility */
-# define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
+#define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_ext_master_secret;
-#endif /* GNUTLS_LIB_EXT_EXT_MASTER_SECRET_H */
+#endif /* GNUTLS_LIB_EXT_EXT_MASTER_SECRET_H */
diff --git a/lib/ext/heartbeat.c b/lib/ext/heartbeat.c
index 0641ac9f2e..ad8fc4e5fb 100644
--- a/lib/ext/heartbeat.c
+++ b/lib/ext/heartbeat.c
@@ -55,7 +55,7 @@ void gnutls_heartbeat_enable(gnutls_session_t session, unsigned int type)
{
gnutls_ext_priv_data_t epriv;
- epriv = (void *)(intptr_t) type;
+ epriv = (void *)(intptr_t)type;
_gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_HEARTBEAT, epriv);
}
@@ -76,29 +76,28 @@ unsigned gnutls_heartbeat_allowed(gnutls_session_t session, unsigned int type)
gnutls_ext_priv_data_t epriv;
if (session->internals.handshake_in_progress != 0)
- return 0; /* not allowed */
+ return 0; /* not allowed */
- if (_gnutls_hello_ext_get_priv
- (session, GNUTLS_EXTENSION_HEARTBEAT, &epriv) < 0)
- return 0; /* Not enabled */
+ if (_gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_HEARTBEAT,
+ &epriv) < 0)
+ return 0; /* Not enabled */
if (type == GNUTLS_HB_LOCAL_ALLOWED_TO_SEND) {
- if (((intptr_t) epriv) & LOCAL_ALLOWED_TO_SEND)
+ if (((intptr_t)epriv) & LOCAL_ALLOWED_TO_SEND)
return 1;
- } else if (((intptr_t) epriv) & GNUTLS_HB_PEER_ALLOWED_TO_SEND)
+ } else if (((intptr_t)epriv) & GNUTLS_HB_PEER_ALLOWED_TO_SEND)
return 1;
return 0;
}
-# define DEFAULT_PADDING_SIZE 16
+#define DEFAULT_PADDING_SIZE 16
/*
* Sends heartbeat data.
*/
-static int
-heartbeat_send_data(gnutls_session_t session, const void *data,
- size_t data_size, uint8_t type)
+static int heartbeat_send_data(gnutls_session_t session, const void *data,
+ size_t data_size, uint8_t type)
{
int ret, pos;
uint8_t *response;
@@ -116,19 +115,19 @@ heartbeat_send_data(gnutls_session_t session, const void *data,
memcpy(&response[pos], data, data_size);
pos += data_size;
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE, &response[pos], DEFAULT_PADDING_SIZE);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE, &response[pos],
+ DEFAULT_PADDING_SIZE);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
pos += DEFAULT_PADDING_SIZE;
- ret =
- _gnutls_send_int(session, GNUTLS_HEARTBEAT, -1,
- EPOCH_WRITE_CURRENT, response, pos, MBUFFER_FLUSH);
+ ret = _gnutls_send_int(session, GNUTLS_HEARTBEAT, -1,
+ EPOCH_WRITE_CURRENT, response, pos,
+ MBUFFER_FLUSH);
- cleanup:
+cleanup:
gnutls_free(response);
return ret;
}
@@ -154,9 +153,8 @@ heartbeat_send_data(gnutls_session_t session, const void *data,
*
* Since: 3.1.2
**/
-int
-gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
- unsigned int max_tries, unsigned int flags)
+int gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
+ unsigned int max_tries, unsigned int flags)
{
int ret;
unsigned int retries = 1, diff;
@@ -165,15 +163,15 @@ gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
if (data_size > MAX_HEARTBEAT_LENGTH)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
- if (gnutls_heartbeat_allowed
- (session, GNUTLS_HB_LOCAL_ALLOWED_TO_SEND) == 0)
+ if (gnutls_heartbeat_allowed(session,
+ GNUTLS_HB_LOCAL_ALLOWED_TO_SEND) == 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
/* resume previous call if interrupted */
if (session->internals.record_send_buffer.byte_length > 0 &&
session->internals.record_send_buffer.head != NULL &&
session->internals.record_send_buffer.head->type ==
- GNUTLS_HEARTBEAT)
+ GNUTLS_HEARTBEAT)
return _gnutls_io_write_flush(session);
switch (session->internals.hb_state) {
@@ -185,16 +183,14 @@ gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
_gnutls_buffer_reset(&session->internals.hb_local_data);
- ret =
- _gnutls_buffer_resize(&session->internals.hb_local_data,
- data_size);
+ ret = _gnutls_buffer_resize(&session->internals.hb_local_data,
+ data_size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE,
- session->internals.hb_local_data.data,
- data_size);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE,
+ session->internals.hb_local_data.data,
+ data_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -205,13 +201,12 @@ gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
FALLTHROUGH;
case SHB_SEND2:
session->internals.hb_actual_retrans_timeout_ms =
- session->internals.hb_retrans_timeout_ms;
- retry:
- ret =
- heartbeat_send_data(session,
- session->internals.hb_local_data.data,
- session->internals.hb_local_data.length,
- HEARTBEAT_REQUEST);
+ session->internals.hb_retrans_timeout_ms;
+ retry:
+ ret = heartbeat_send_data(
+ session, session->internals.hb_local_data.data,
+ session->internals.hb_local_data.length,
+ HEARTBEAT_REQUEST);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -226,11 +221,9 @@ gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
FALLTHROUGH;
case SHB_RECV:
- ret =
- _gnutls_recv_int(session, GNUTLS_HEARTBEAT,
- NULL, 0, NULL,
- session->internals.
- hb_actual_retrans_timeout_ms);
+ ret = _gnutls_recv_int(
+ session, GNUTLS_HEARTBEAT, NULL, 0, NULL,
+ session->internals.hb_actual_retrans_timeout_ms);
if (ret == GNUTLS_E_HEARTBEAT_PONG_RECEIVED) {
session->internals.hb_state = SHB_SEND1;
break;
@@ -242,9 +235,8 @@ gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
}
gnutls_gettime(&now);
- diff =
- timespec_sub_ms(&now,
- &session->internals.hb_ping_start);
+ diff = timespec_sub_ms(
+ &now, &session->internals.hb_ping_start);
if (diff > session->internals.hb_total_timeout_ms) {
session->internals.hb_state = SHB_SEND1;
return gnutls_assert_val(GNUTLS_E_TIMEDOUT);
@@ -252,7 +244,7 @@ gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
session->internals.hb_actual_retrans_timeout_ms *= 2;
session->internals.hb_actual_retrans_timeout_ms %=
- MAX_DTLS_TIMEOUT;
+ MAX_DTLS_TIMEOUT;
session->internals.hb_state = SHB_SEND2;
goto retry;
@@ -283,17 +275,16 @@ int gnutls_heartbeat_pong(gnutls_session_t session, unsigned int flags)
if (session->internals.record_send_buffer.byte_length > 0 &&
session->internals.record_send_buffer.head != NULL &&
session->internals.record_send_buffer.head->type ==
- GNUTLS_HEARTBEAT)
+ GNUTLS_HEARTBEAT)
return _gnutls_io_write_flush(session);
if (session->internals.hb_remote_data.length == 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- heartbeat_send_data(session,
- session->internals.hb_remote_data.data,
- session->internals.hb_remote_data.length,
- HEARTBEAT_RESPONSE);
+ ret = heartbeat_send_data(session,
+ session->internals.hb_remote_data.data,
+ session->internals.hb_remote_data.length,
+ HEARTBEAT_RESPONSE);
_gnutls_buffer_reset(&session->internals.hb_remote_data);
@@ -306,7 +297,7 @@ int gnutls_heartbeat_pong(gnutls_session_t session, unsigned int flags)
/*
* Processes a heartbeat message.
*/
-int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st * bufel)
+int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st *bufel)
{
int ret;
unsigned type;
@@ -314,8 +305,8 @@ int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st * bufel)
uint8_t *msg = _mbuffer_get_udata_ptr(bufel);
size_t hb_len, len = _mbuffer_get_udata_size(bufel);
- if (gnutls_heartbeat_allowed
- (session, GNUTLS_HB_PEER_ALLOWED_TO_SEND) == 0)
+ if (gnutls_heartbeat_allowed(session, GNUTLS_HB_PEER_ALLOWED_TO_SEND) ==
+ 0)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
if (len < 3 + DEFAULT_PADDING_SIZE)
@@ -334,9 +325,8 @@ int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st * bufel)
case HEARTBEAT_REQUEST:
_gnutls_buffer_reset(&session->internals.hb_remote_data);
- ret =
- _gnutls_buffer_resize(&session->internals.hb_remote_data,
- hb_len);
+ ret = _gnutls_buffer_resize(&session->internals.hb_remote_data,
+ hb_len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -353,23 +343,22 @@ int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st * bufel)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
if (hb_len > 0 &&
- memcmp(&msg[pos],
- session->internals.hb_local_data.data,
+ memcmp(&msg[pos], session->internals.hb_local_data.data,
hb_len) != 0) {
if (IS_DTLS(session))
- return gnutls_assert_val(GNUTLS_E_AGAIN); /* ignore it */
+ return gnutls_assert_val(
+ GNUTLS_E_AGAIN); /* ignore it */
else
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
}
_gnutls_buffer_reset(&session->internals.hb_local_data);
return gnutls_assert_val(GNUTLS_E_HEARTBEAT_PONG_RECEIVED);
default:
- _gnutls_record_log
- ("REC[%p]: HB: received unknown type %u\n", session, type);
+ _gnutls_record_log("REC[%p]: HB: received unknown type %u\n",
+ session, type);
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
}
}
@@ -423,26 +412,24 @@ void gnutls_heartbeat_set_timeouts(gnutls_session_t session,
session->internals.hb_total_timeout_ms = total_timeout;
}
-static int
-_gnutls_heartbeat_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t _data_size)
+static int _gnutls_heartbeat_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t _data_size)
{
unsigned policy;
gnutls_ext_priv_data_t epriv;
- if (_gnutls_hello_ext_get_priv
- (session, GNUTLS_EXTENSION_HEARTBEAT, &epriv) < 0) {
+ if (_gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_HEARTBEAT,
+ &epriv) < 0) {
if (session->security_parameters.entity == GNUTLS_CLIENT)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- return 0; /* Not enabled */
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return 0; /* Not enabled */
}
if (_data_size == 0)
return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
- policy = (intptr_t) epriv;
+ policy = (intptr_t)epriv;
if (data[0] == 1)
policy |= LOCAL_ALLOWED_TO_SEND;
@@ -451,26 +438,25 @@ _gnutls_heartbeat_recv_params(gnutls_session_t session,
else
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- epriv = (void *)(intptr_t) policy;
+ epriv = (void *)(intptr_t)policy;
_gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_HEARTBEAT, epriv);
return 0;
}
-static int
-_gnutls_heartbeat_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_heartbeat_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
gnutls_ext_priv_data_t epriv;
uint8_t p;
- if (_gnutls_hello_ext_get_priv
- (session, GNUTLS_EXTENSION_HEARTBEAT, &epriv) < 0)
- return 0; /* nothing to send - not enabled */
+ if (_gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_HEARTBEAT,
+ &epriv) < 0)
+ return 0; /* nothing to send - not enabled */
- if (((intptr_t) epriv) & GNUTLS_HB_PEER_ALLOWED_TO_SEND)
+ if (((intptr_t)epriv) & GNUTLS_HB_PEER_ALLOWED_TO_SEND)
p = 1;
- else /*if (epriv.num & GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND) */
+ else /*if (epriv.num & GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND) */
p = 2;
if (_gnutls_buffer_append_data(extdata, &p, 1) < 0)
@@ -479,19 +465,18 @@ _gnutls_heartbeat_send_params(gnutls_session_t session,
return 1;
}
-static int
-_gnutls_heartbeat_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
+static int _gnutls_heartbeat_pack(gnutls_ext_priv_data_t epriv,
+ gnutls_buffer_st *ps)
{
int ret;
- BUFFER_APPEND_NUM(ps, (intptr_t) epriv);
+ BUFFER_APPEND_NUM(ps, (intptr_t)epriv);
return 0;
-
}
-static int
-_gnutls_heartbeat_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
+static int _gnutls_heartbeat_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv)
{
gnutls_ext_priv_data_t epriv;
int ret;
@@ -501,7 +486,7 @@ _gnutls_heartbeat_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
*_priv = epriv;
ret = 0;
- error:
+error:
return ret;
}
@@ -511,10 +496,9 @@ const hello_ext_entry_st ext_mod_heartbeat = {
.gid = GNUTLS_EXTENSION_HEARTBEAT,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_heartbeat_recv_params,
.send_func = _gnutls_heartbeat_send_params,
.pack_func = _gnutls_heartbeat_pack,
@@ -533,9 +517,8 @@ unsigned gnutls_heartbeat_allowed(gnutls_session_t session, unsigned int type)
return 0;
}
-int
-gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
- unsigned int max_tries, unsigned int flags)
+int gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
+ unsigned int max_tries, unsigned int flags)
{
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
diff --git a/lib/ext/heartbeat.h b/lib/ext/heartbeat.h
index a8b9014276..0c35f46c0e 100644
--- a/lib/ext/heartbeat.h
+++ b/lib/ext/heartbeat.h
@@ -22,23 +22,23 @@
*/
#ifndef GNUTLS_LIB_EXT_HEARTBEAT_H
-# define GNUTLS_LIB_EXT_HEARTBEAT_H
+#define GNUTLS_LIB_EXT_HEARTBEAT_H
-# include <hello_ext.h>
+#include <hello_ext.h>
-# define HEARTBEAT_REQUEST 1
-# define HEARTBEAT_RESPONSE 2
+#define HEARTBEAT_REQUEST 1
+#define HEARTBEAT_RESPONSE 2
-# define MAX_HEARTBEAT_LENGTH DEFAULT_MAX_RECORD_SIZE
+#define MAX_HEARTBEAT_LENGTH DEFAULT_MAX_RECORD_SIZE
-# define LOCAL_ALLOWED_TO_SEND (1<<2)
-# define LOCAL_NOT_ALLOWED_TO_SEND (1<<3)
+#define LOCAL_ALLOWED_TO_SEND (1 << 2)
+#define LOCAL_NOT_ALLOWED_TO_SEND (1 << 3)
-# define HEARTBEAT_DEFAULT_POLICY PEER_NOT_ALLOWED_TO_SEND
+#define HEARTBEAT_DEFAULT_POLICY PEER_NOT_ALLOWED_TO_SEND
extern const hello_ext_entry_st ext_mod_heartbeat;
-int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st * bufel);
+int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st *bufel);
int _gnutls_heartbeat_enabled(gnutls_session_t session, int local);
-#endif /* GNUTLS_LIB_EXT_HEARTBEAT_H */
+#endif /* GNUTLS_LIB_EXT_HEARTBEAT_H */
diff --git a/lib/ext/key_share.c b/lib/ext/key_share.c
index 2fc543cc9b..e659b67fa0 100644
--- a/lib/ext/key_share.c
+++ b/lib/ext/key_share.c
@@ -37,10 +37,10 @@
#include "../algorithms.h"
#include "pk.h"
-static int key_share_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+static int key_share_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t data_size);
static int key_share_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_key_share = {
.name = "Key Share",
@@ -48,9 +48,8 @@ const hello_ext_entry_st ext_mod_key_share = {
.gid = GNUTLS_EXTENSION_KEY_SHARE,
.client_parse_point = _GNUTLS_EXT_TLS_POST_CS,
.server_parse_point = _GNUTLS_EXT_TLS_POST_CS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_HRR,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_HRR,
.recv_func = key_share_recv_params,
.send_func = key_share_send_params,
.pack_func = NULL,
@@ -70,8 +69,8 @@ const hello_ext_entry_st ext_mod_key_share = {
*
*/
static int client_gen_key_share(gnutls_session_t session,
- const gnutls_group_entry_st * group,
- gnutls_buffer_st * extdata)
+ const gnutls_group_entry_st *group,
+ gnutls_buffer_st *extdata)
{
gnutls_datum_t tmp = { NULL, 0 };
int ret;
@@ -100,19 +99,15 @@ static int client_gen_key_share(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_ecc_ansi_x962_export(group->curve,
- session->key.
- kshare.ecdh_params.
- params[ECC_X],
- session->key.
- kshare.ecdh_params.
- params[ECC_Y], &tmp);
+ ret = _gnutls_ecc_ansi_x962_export(
+ group->curve,
+ session->key.kshare.ecdh_params.params[ECC_X],
+ session->key.kshare.ecdh_params.params[ECC_Y], &tmp);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 16, tmp.data,
- tmp.size);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 16, tmp.data,
+ tmp.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -128,20 +123,16 @@ static int client_gen_key_share(gnutls_session_t session,
gnutls_pk_params_release(&session->key.kshare.ecdhx_params);
gnutls_pk_params_init(&session->key.kshare.ecdhx_params);
- ret = _gnutls_pk_generate_keys(group->pk, group->curve,
- &session->key.
- kshare.ecdhx_params, 1);
+ ret = _gnutls_pk_generate_keys(
+ group->pk, group->curve,
+ &session->key.kshare.ecdhx_params, 1);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 16,
- session->key.
- kshare.ecdhx_params.
- raw_pub.data,
- session->key.
- kshare.ecdhx_params.
- raw_pub.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ extdata, 16,
+ session->key.kshare.ecdhx_params.raw_pub.data,
+ session->key.kshare.ecdhx_params.raw_pub.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -157,65 +148,53 @@ static int client_gen_key_share(gnutls_session_t session,
gnutls_pk_params_release(&session->key.kshare.dh_params);
gnutls_pk_params_init(&session->key.kshare.dh_params);
- ret =
- _gnutls_mpi_init_scan_nz(&session->key.kshare.
- dh_params.params[DH_G],
- group->generator->data,
- group->generator->size);
+ ret = _gnutls_mpi_init_scan_nz(
+ &session->key.kshare.dh_params.params[DH_G],
+ group->generator->data, group->generator->size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
-
- ret =
- _gnutls_mpi_init_scan_nz(&session->key.kshare.
- dh_params.params[DH_P],
- group->prime->data,
- group->prime->size);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+
+ ret = _gnutls_mpi_init_scan_nz(
+ &session->key.kshare.dh_params.params[DH_P],
+ group->prime->data, group->prime->size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
-
- ret =
- _gnutls_mpi_init_scan_nz(&session->key.kshare.
- dh_params.params[DH_Q],
- group->q->data, group->q->size);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+
+ ret = _gnutls_mpi_init_scan_nz(
+ &session->key.kshare.dh_params.params[DH_Q],
+ group->q->data, group->q->size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
session->key.kshare.dh_params.algo = group->pk;
- session->key.kshare.dh_params.dh_group = group->id; /* no curve in FFDH, we write the group */
+ session->key.kshare.dh_params.dh_group =
+ group->id; /* no curve in FFDH, we write the group */
session->key.kshare.dh_params.qbits = *group->q_bits;
session->key.kshare.dh_params.params_nr = 3;
- ret =
- _gnutls_pk_generate_keys(group->pk, 0,
- &session->key.kshare.dh_params, 1);
+ ret = _gnutls_pk_generate_keys(
+ group->pk, 0, &session->key.kshare.dh_params, 1);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- group->prime->size);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ group->prime->size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_fixed_mpi(extdata,
- session->key.
- kshare.dh_params.
- params[DH_Y],
- group->prime->size);
+ ret = _gnutls_buffer_append_fixed_mpi(
+ extdata, session->key.kshare.dh_params.params[DH_Y],
+ group->prime->size);
if (ret < 0)
return gnutls_assert_val(ret);
ret = 0;
}
- cleanup:
+cleanup:
gnutls_free(tmp.data);
return ret;
}
@@ -225,8 +204,8 @@ static int client_gen_key_share(gnutls_session_t session,
*
*/
static int server_gen_key_share(gnutls_session_t session,
- const gnutls_group_entry_st * group,
- gnutls_buffer_st * extdata)
+ const gnutls_group_entry_st *group,
+ gnutls_buffer_st *extdata)
{
gnutls_datum_t tmp = { NULL, 0 };
int ret;
@@ -246,19 +225,15 @@ static int server_gen_key_share(gnutls_session_t session,
return gnutls_assert_val(ret);
if (group->pk == GNUTLS_PK_EC) {
- ret = _gnutls_ecc_ansi_x962_export(group->curve,
- session->key.
- kshare.ecdh_params.
- params[ECC_X],
- session->key.
- kshare.ecdh_params.
- params[ECC_Y], &tmp);
+ ret = _gnutls_ecc_ansi_x962_export(
+ group->curve,
+ session->key.kshare.ecdh_params.params[ECC_X],
+ session->key.kshare.ecdh_params.params[ECC_Y], &tmp);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 16, tmp.data,
- tmp.size);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 16, tmp.data,
+ tmp.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -268,49 +243,40 @@ static int server_gen_key_share(gnutls_session_t session,
} else if (group->pk == GNUTLS_PK_ECDH_X25519 ||
group->pk == GNUTLS_PK_ECDH_X448) {
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 16,
- session->key.
- kshare.ecdhx_params.
- raw_pub.data,
- session->key.
- kshare.ecdhx_params.
- raw_pub.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ extdata, 16,
+ session->key.kshare.ecdhx_params.raw_pub.data,
+ session->key.kshare.ecdhx_params.raw_pub.size);
if (ret < 0)
return gnutls_assert_val(ret);
ret = 0;
} else if (group->pk == GNUTLS_PK_DH) {
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- group->prime->size);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ group->prime->size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_fixed_mpi(extdata,
- session->key.
- kshare.dh_params.
- params[DH_Y],
- group->prime->size);
+ ret = _gnutls_buffer_append_fixed_mpi(
+ extdata, session->key.kshare.dh_params.params[DH_Y],
+ group->prime->size);
if (ret < 0)
return gnutls_assert_val(ret);
ret = 0;
}
- cleanup:
+cleanup:
gnutls_free(tmp.data);
return ret;
}
/* Generates shared key and stores it in session->key.key
*/
-static int
-server_use_key_share(gnutls_session_t session,
- const gnutls_group_entry_st * group, const uint8_t * data,
- size_t data_size)
+static int server_use_key_share(gnutls_session_t session,
+ const gnutls_group_entry_st *group,
+ const uint8_t *data, size_t data_size)
{
const gnutls_ecc_curve_entry_st *curve;
int ret;
@@ -326,15 +292,13 @@ server_use_key_share(gnutls_session_t session,
gnutls_pk_params_init(&pub);
if (curve->size * 2 + 1 != data_size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* generate our key */
- ret =
- _gnutls_pk_generate_keys(curve->pk, curve->id,
- &session->key.kshare.ecdh_params,
- 1);
+ ret = _gnutls_pk_generate_keys(curve->pk, curve->id,
+ &session->key.kshare.ecdh_params,
+ 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -350,10 +314,9 @@ server_use_key_share(gnutls_session_t session,
pub.params_nr = 2;
/* generate shared */
- ret =
- _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
- &session->key.kshare.ecdh_params,
- &pub);
+ ret = _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
+ &session->key.kshare.ecdh_params,
+ &pub);
gnutls_pk_params_release(&pub);
if (ret < 0) {
return gnutls_assert_val(ret);
@@ -371,15 +334,13 @@ server_use_key_share(gnutls_session_t session,
curve = _gnutls_ecc_curve_get_params(group->curve);
if (curve->size != data_size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* generate our key */
- ret =
- _gnutls_pk_generate_keys(curve->pk, curve->id,
- &session->key.kshare.ecdhx_params,
- 1);
+ ret = _gnutls_pk_generate_keys(
+ curve->pk, curve->id, &session->key.kshare.ecdhx_params,
+ 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -395,10 +356,9 @@ server_use_key_share(gnutls_session_t session,
/* We don't mask the MSB in the final byte as required
* by RFC7748. This will be done internally by nettle 3.3 or later.
*/
- ret =
- _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
- &session->key.kshare.ecdhx_params,
- &pub);
+ ret = _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
+ &session->key.kshare.ecdhx_params,
+ &pub);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -413,68 +373,56 @@ server_use_key_share(gnutls_session_t session,
gnutls_pk_params_init(&session->key.kshare.dh_params);
if (data_size != group->prime->size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* set group params */
- ret =
- _gnutls_mpi_init_scan_nz(&session->key.kshare.
- dh_params.params[DH_G],
- group->generator->data,
- group->generator->size);
+ ret = _gnutls_mpi_init_scan_nz(
+ &session->key.kshare.dh_params.params[DH_G],
+ group->generator->data, group->generator->size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
-
- ret =
- _gnutls_mpi_init_scan_nz(&session->key.kshare.
- dh_params.params[DH_P],
- group->prime->data,
- group->prime->size);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+
+ ret = _gnutls_mpi_init_scan_nz(
+ &session->key.kshare.dh_params.params[DH_P],
+ group->prime->data, group->prime->size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
-
- ret =
- _gnutls_mpi_init_scan_nz(&session->key.kshare.
- dh_params.params[DH_Q],
- group->q->data, group->q->size);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+
+ ret = _gnutls_mpi_init_scan_nz(
+ &session->key.kshare.dh_params.params[DH_Q],
+ group->q->data, group->q->size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
session->key.kshare.dh_params.algo = GNUTLS_PK_DH;
session->key.kshare.dh_params.qbits = *group->q_bits;
session->key.kshare.dh_params.params_nr = 3;
/* generate our keys */
- ret =
- _gnutls_pk_generate_keys(group->pk, 0,
- &session->key.kshare.dh_params, 1);
+ ret = _gnutls_pk_generate_keys(
+ group->pk, 0, &session->key.kshare.dh_params, 1);
if (ret < 0)
return gnutls_assert_val(ret);
/* read the public key and generate shared */
gnutls_pk_params_init(&pub);
- ret = _gnutls_mpi_init_scan_nz(&pub.params[DH_Y],
- data, data_size);
+ ret = _gnutls_mpi_init_scan_nz(&pub.params[DH_Y], data,
+ data_size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
pub.algo = group->pk;
/* generate shared key */
- ret =
- _gnutls_pk_derive_tls13(GNUTLS_PK_DH, &session->key.key,
- &session->key.kshare.dh_params,
- &pub);
+ ret = _gnutls_pk_derive_tls13(GNUTLS_PK_DH, &session->key.key,
+ &session->key.kshare.dh_params,
+ &pub);
_gnutls_mpi_release(&pub.params[DH_Y]);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -492,10 +440,9 @@ server_use_key_share(gnutls_session_t session,
/* Generates shared key and stores it in session->key.key
*/
-static int
-client_use_key_share(gnutls_session_t session,
- const gnutls_group_entry_st * group, const uint8_t * data,
- size_t data_size)
+static int client_use_key_share(gnutls_session_t session,
+ const gnutls_group_entry_st *group,
+ const uint8_t *data, size_t data_size)
{
const gnutls_ecc_curve_entry_st *curve;
int ret;
@@ -507,16 +454,14 @@ client_use_key_share(gnutls_session_t session,
gnutls_pk_params_init(&pub);
- if (session->key.kshare.ecdh_params.algo != group->pk
- || session->key.kshare.ecdh_params.curve != curve->id)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ if (session->key.kshare.ecdh_params.algo != group->pk ||
+ session->key.kshare.ecdh_params.curve != curve->id)
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
if (curve->size * 2 + 1 != data_size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* read the server's public key */
ret = _gnutls_ecc_ansi_x962_import(data, data_size,
@@ -530,10 +475,9 @@ client_use_key_share(gnutls_session_t session,
pub.params_nr = 2;
/* generate shared key */
- ret =
- _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
- &session->key.kshare.ecdh_params,
- &pub);
+ ret = _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
+ &session->key.kshare.ecdh_params,
+ &pub);
gnutls_pk_params_release(&pub);
if (ret < 0) {
return gnutls_assert_val(ret);
@@ -547,16 +491,14 @@ client_use_key_share(gnutls_session_t session,
curve = _gnutls_ecc_curve_get_params(group->curve);
- if (session->key.kshare.ecdhx_params.algo != group->pk
- || session->key.kshare.ecdhx_params.curve != curve->id)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ if (session->key.kshare.ecdhx_params.algo != group->pk ||
+ session->key.kshare.ecdhx_params.curve != curve->id)
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
if (curve->size != data_size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* read the public key and generate shared */
gnutls_pk_params_init(&pub);
@@ -570,10 +512,9 @@ client_use_key_share(gnutls_session_t session,
/* We don't mask the MSB in the final byte as required
* by RFC7748. This will be done internally by nettle 3.3 or later.
*/
- ret =
- _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
- &session->key.kshare.ecdhx_params,
- &pub);
+ ret = _gnutls_pk_derive_tls13(curve->pk, &session->key.key,
+ &session->key.kshare.ecdhx_params,
+ &pub);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -583,34 +524,30 @@ client_use_key_share(gnutls_session_t session,
} else if (group->pk == GNUTLS_PK_DH) {
gnutls_pk_params_st pub;
- if (session->key.kshare.dh_params.algo != group->pk
- || session->key.kshare.dh_params.dh_group != group->id)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ if (session->key.kshare.dh_params.algo != group->pk ||
+ session->key.kshare.dh_params.dh_group != group->id)
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
if (data_size != group->prime->size)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* read the public key and generate shared */
gnutls_pk_params_init(&pub);
- ret = _gnutls_mpi_init_scan_nz(&pub.params[DH_Y],
- data, data_size);
+ ret = _gnutls_mpi_init_scan_nz(&pub.params[DH_Y], data,
+ data_size);
if (ret < 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
pub.algo = group->pk;
/* generate shared key */
- ret =
- _gnutls_pk_derive_tls13(GNUTLS_PK_DH, &session->key.key,
- &session->key.kshare.dh_params,
- &pub);
+ ret = _gnutls_pk_derive_tls13(GNUTLS_PK_DH, &session->key.key,
+ &session->key.kshare.dh_params,
+ &pub);
_gnutls_mpi_release(&pub.params[DH_Y]);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -626,9 +563,8 @@ client_use_key_share(gnutls_session_t session,
return ret;
}
-static int
-key_share_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int key_share_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t data_size)
{
int ret;
size_t size;
@@ -647,9 +583,8 @@ key_share_recv_params(gnutls_session_t session,
data += 2;
if (data_size != size)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
/* if we do PSK without DH ignore that share */
if ((session->internals.hsk_flags & HSK_PSK_SELECTED) &&
@@ -674,23 +609,21 @@ key_share_recv_params(gnutls_session_t session,
group = _gnutls_tls_id_to_group(gid);
if (group != NULL)
- _gnutls_handshake_log
- ("EXT[%p]: Received key share for %s\n",
- session, group->name);
+ _gnutls_handshake_log(
+ "EXT[%p]: Received key share for %s\n",
+ session, group->name);
- if (group != NULL
- && group == session->internals.cand_group) {
+ if (group != NULL &&
+ group == session->internals.cand_group) {
_gnutls_session_group_set(session, group);
- ret =
- server_use_key_share(session, group, data,
- size);
+ ret = server_use_key_share(session, group, data,
+ size);
if (ret < 0)
return gnutls_assert_val(ret);
used_share = 1;
break;
-
}
data += size;
@@ -716,41 +649,37 @@ key_share_recv_params(gnutls_session_t session,
}
session->internals.hsk_flags |= HSK_KEY_SHARE_RECEIVED;
- } else { /* Client */
+ } else { /* Client */
ver = get_version(session);
if (unlikely(ver == NULL || ver->key_shares == 0))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
if (_gnutls_ext_get_msg(session) == GNUTLS_EXT_FLAG_HRR) {
- if (unlikely
- (!(session->
- internals.hsk_flags & HSK_HRR_RECEIVED)))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ if (unlikely(!(session->internals.hsk_flags &
+ HSK_HRR_RECEIVED)))
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
DECR_LEN(data_size, 2);
gid = _gnutls_read_uint16(data);
group = _gnutls_tls_id_to_group(gid);
if (group == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- _gnutls_handshake_log
- ("EXT[%p]: HRR key share with %s\n", session,
- group->name);
+ _gnutls_handshake_log(
+ "EXT[%p]: HRR key share with %s\n", session,
+ group->name);
/* check if we support it */
- ret =
- _gnutls_session_supports_group(session, group->id);
+ ret = _gnutls_session_supports_group(session,
+ group->id);
if (ret < 0) {
- _gnutls_handshake_log
- ("EXT[%p]: received share for %s which is disabled\n",
- session, group->name);
+ _gnutls_handshake_log(
+ "EXT[%p]: received share for %s which is disabled\n",
+ session, group->name);
return gnutls_assert_val(ret);
}
@@ -769,22 +698,20 @@ key_share_recv_params(gnutls_session_t session,
data += 2;
if (data_size != size)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
group = _gnutls_tls_id_to_group(gid);
if (group == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* check if we support it */
ret = _gnutls_session_supports_group(session, group->id);
if (ret < 0) {
- _gnutls_handshake_log
- ("EXT[%p]: received share for %s which is disabled\n",
- session, group->name);
+ _gnutls_handshake_log(
+ "EXT[%p]: received share for %s which is disabled\n",
+ session, group->name);
return gnutls_assert_val(ret);
}
@@ -804,16 +731,16 @@ static inline bool pk_type_is_ecdhx(gnutls_pk_algorithm_t pk)
return pk == GNUTLS_PK_ECDH_X25519 || pk == GNUTLS_PK_ECDH_X448;
}
-static inline bool
-pk_type_equal(gnutls_pk_algorithm_t a, gnutls_pk_algorithm_t b)
+static inline bool pk_type_equal(gnutls_pk_algorithm_t a,
+ gnutls_pk_algorithm_t b)
{
return a == b || (pk_type_is_ecdhx(a) && pk_type_is_ecdhx(b));
}
/* returns data_size or a negative number on failure
*/
-static int
-key_share_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int key_share_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
unsigned i;
int ret;
@@ -838,33 +765,32 @@ key_share_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
if (ret < 0)
return gnutls_assert_val(ret);
- if (session->internals.hsk_flags & HSK_HRR_RECEIVED) { /* we know the group */
+ if (session->internals.hsk_flags &
+ HSK_HRR_RECEIVED) { /* we know the group */
group = get_group(session);
if (unlikely(group == NULL))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
ret = client_gen_key_share(session, group, extdata);
if (ret == GNUTLS_E_INT_RET_0)
- return
- gnutls_assert_val
- (GNUTLS_E_NO_COMMON_KEY_SHARE);
+ return gnutls_assert_val(
+ GNUTLS_E_NO_COMMON_KEY_SHARE);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
gnutls_pk_algorithm_t selected_groups[3];
- unsigned max_groups = 2; /* GNUTLS_KEY_SHARE_TOP2 */
+ unsigned max_groups = 2; /* GNUTLS_KEY_SHARE_TOP2 */
if (session->internals.flags & GNUTLS_KEY_SHARE_TOP)
max_groups = 1;
- else if (session->
- internals.flags & GNUTLS_KEY_SHARE_TOP3)
+ else if (session->internals.flags &
+ GNUTLS_KEY_SHARE_TOP3)
max_groups = 3;
assert(max_groups <=
sizeof(selected_groups) /
- sizeof(selected_groups[0]));
+ sizeof(selected_groups[0]));
/* generate key shares for out top-(max_groups) groups
* if they are of different PK type. */
@@ -873,13 +799,12 @@ key_share_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
i++) {
unsigned int j;
- group =
- session->internals.priorities->
- groups.entry[i];
+ group = session->internals.priorities->groups
+ .entry[i];
for (j = 0; j < generated; j++) {
- if (pk_type_equal
- (group->pk, selected_groups[j])) {
+ if (pk_type_equal(group->pk,
+ selected_groups[j])) {
break;
}
}
@@ -889,11 +814,10 @@ key_share_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
selected_groups[generated] = group->pk;
- ret =
- client_gen_key_share(session, group,
- extdata);
+ ret = client_gen_key_share(session, group,
+ extdata);
if (ret == GNUTLS_E_INT_RET_0)
- continue; /* no key share for this algorithm */
+ continue; /* no key share for this algorithm */
if (ret < 0)
return gnutls_assert_val(ret);
@@ -908,7 +832,7 @@ key_share_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
_gnutls_write_uint16(extdata->length - length_pos - 2,
&extdata->data[length_pos]);
- } else { /* server */
+ } else { /* server */
ver = get_version(session);
if (unlikely(ver == NULL || ver->key_shares == 0))
return gnutls_assert_val(0);
@@ -917,32 +841,29 @@ key_share_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
group = session->internals.cand_group;
if (group == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_NO_COMMON_KEY_SHARE);
+ return gnutls_assert_val(
+ GNUTLS_E_NO_COMMON_KEY_SHARE);
_gnutls_session_group_set(session, group);
- _gnutls_handshake_log
- ("EXT[%p]: requesting retry with group %s\n",
- session, group->name);
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- group->tls_id);
+ _gnutls_handshake_log(
+ "EXT[%p]: requesting retry with group %s\n",
+ session, group->name);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ group->tls_id);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
/* if we are negotiating PSK without DH, do not send a key share */
if ((session->internals.hsk_flags & HSK_PSK_SELECTED) &&
- (session->
- internals.hsk_flags & HSK_PSK_KE_MODE_PSK))
+ (session->internals.hsk_flags &
+ HSK_PSK_KE_MODE_PSK))
return gnutls_assert_val(0);
group = get_group(session);
if (unlikely(group == NULL))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
ret = server_gen_key_share(session, group, extdata);
if (ret < 0)
diff --git a/lib/ext/key_share.h b/lib/ext/key_share.h
index 2b7deb1266..ed9aa16800 100644
--- a/lib/ext/key_share.h
+++ b/lib/ext/key_share.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_KEY_SHARE_H
-# define GNUTLS_LIB_EXT_KEY_SHARE_H
+#define GNUTLS_LIB_EXT_KEY_SHARE_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_key_share;
-#endif /* GNUTLS_LIB_EXT_KEY_SHARE_H */
+#endif /* GNUTLS_LIB_EXT_KEY_SHARE_H */
diff --git a/lib/ext/max_record.c b/lib/ext/max_record.c
index d6c076237e..7c6de6157b 100644
--- a/lib/ext/max_record.c
+++ b/lib/ext/max_record.c
@@ -30,10 +30,10 @@
#include <ext/max_record.h>
static int _gnutls_max_record_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_max_record_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
/* Maps record size to numbers according to the
* extensions draft.
@@ -47,10 +47,9 @@ const hello_ext_entry_st ext_mod_max_record_size = {
.gid = GNUTLS_EXTENSION_MAX_RECORD_SIZE,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_max_record_recv_params,
.send_func = _gnutls_max_record_send_params
};
@@ -65,9 +64,8 @@ const hello_ext_entry_st ext_mod_max_record_size = {
*
*/
-static int
-_gnutls_max_record_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_max_record_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
ssize_t new_size;
@@ -86,11 +84,11 @@ _gnutls_max_record_recv_params(gnutls_session_t session,
}
session->security_parameters.max_record_send_size =
- new_size;
+ new_size;
session->security_parameters.max_record_recv_size =
- new_size;
+ new_size;
}
- } else { /* CLIENT SIDE - we must check if the sent record size is the right one
+ } else { /* CLIENT SIDE - we must check if the sent record size is the right one
*/
if (data_size > 0) {
if (data_size != 1) {
@@ -105,20 +103,17 @@ _gnutls_max_record_recv_params(gnutls_session_t session,
return new_size;
}
- if (new_size !=
- session->security_parameters.
- max_user_record_send_size) {
+ if (new_size != session->security_parameters
+ .max_user_record_send_size) {
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
} else {
- session->security_parameters.
- max_record_send_size = new_size;
- session->security_parameters.
- max_record_recv_size = new_size;
+ session->security_parameters
+ .max_record_send_size = new_size;
+ session->security_parameters
+ .max_record_recv_size = new_size;
}
-
}
-
}
return 0;
@@ -126,9 +121,8 @@ _gnutls_max_record_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_max_record_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_max_record_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
uint8_t p;
int ret;
@@ -144,16 +138,16 @@ _gnutls_max_record_send_params(gnutls_session_t session,
if (session->security_parameters.max_user_record_send_size !=
DEFAULT_MAX_RECORD_SIZE) {
- ret = _gnutls_mre_record2num
- (session->security_parameters.
- max_user_record_send_size);
+ ret = _gnutls_mre_record2num(
+ session->security_parameters
+ .max_user_record_send_size);
/* it's not an error, as long as we send the
* record_size_limit extension with that value */
if (ret < 0)
return 0;
- p = (uint8_t) ret;
+ p = (uint8_t)ret;
ret = _gnutls_buffer_append_data(extdata, &p, 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -161,19 +155,20 @@ _gnutls_max_record_send_params(gnutls_session_t session,
return 1;
}
- } else { /* server side */
+ } else { /* server side */
if (session->internals.hsk_flags & HSK_RECORD_SIZE_LIMIT_SENT)
return 0;
if (session->security_parameters.max_record_recv_size !=
DEFAULT_MAX_RECORD_SIZE) {
- ret = _gnutls_mre_record2num
- (session->security_parameters.max_record_recv_size);
+ ret = _gnutls_mre_record2num(
+ session->security_parameters
+ .max_record_recv_size);
if (ret < 0)
return gnutls_assert_val(ret);
- p = (uint8_t) ret;
+ p = (uint8_t)ret;
ret = _gnutls_buffer_append_data(extdata, &p, 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -221,7 +216,6 @@ static int _gnutls_mre_record2num(uint16_t record_size)
default:
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
-
}
/**
@@ -300,9 +294,9 @@ ssize_t gnutls_record_set_max_size(gnutls_session_t session, size_t size)
**/
ssize_t gnutls_record_set_max_recv_size(gnutls_session_t session, size_t size)
{
- if (size <
- (session->internals.allow_small_records ?
- MIN_RECORD_SIZE_SMALL : MIN_RECORD_SIZE) ||
+ if (size < (session->internals.allow_small_records ?
+ MIN_RECORD_SIZE_SMALL :
+ MIN_RECORD_SIZE) ||
size > DEFAULT_MAX_RECORD_SIZE)
return GNUTLS_E_INVALID_REQUEST;
diff --git a/lib/ext/max_record.h b/lib/ext/max_record.h
index bda3ecf49d..758c8e12c8 100644
--- a/lib/ext/max_record.h
+++ b/lib/ext/max_record.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_MAX_RECORD_H
-# define GNUTLS_LIB_EXT_MAX_RECORD_H
+#define GNUTLS_LIB_EXT_MAX_RECORD_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_max_record_size;
-#endif /* GNUTLS_LIB_EXT_MAX_RECORD_H */
+#endif /* GNUTLS_LIB_EXT_MAX_RECORD_H */
diff --git a/lib/ext/post_handshake.c b/lib/ext/post_handshake.c
index fe89c46169..9985757246 100644
--- a/lib/ext/post_handshake.c
+++ b/lib/ext/post_handshake.c
@@ -31,10 +31,10 @@
#include "auth/cert.h"
static int _gnutls_post_handshake_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_post_handshake_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_post_handshake = {
.name = "Post Handshake Auth",
@@ -51,9 +51,9 @@ const hello_ext_entry_st ext_mod_post_handshake = {
.cannot_be_overriden = 1
};
-static int
-_gnutls_post_handshake_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t _data_size)
+static int _gnutls_post_handshake_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t _data_size)
{
const version_entry_st *vers;
@@ -72,9 +72,8 @@ _gnutls_post_handshake_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_post_handshake_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_post_handshake_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
gnutls_certificate_credentials_t cred;
const version_entry_st *max;
@@ -85,9 +84,9 @@ _gnutls_post_handshake_send_params(gnutls_session_t session,
return 0;
}
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
- if (cred == NULL) /* no certificate authentication */
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
+ if (cred == NULL) /* no certificate authentication */
return gnutls_assert_val(0);
max = _gnutls_version_max(session);
diff --git a/lib/ext/post_handshake.h b/lib/ext/post_handshake.h
index 329965861d..7a1cc7a367 100644
--- a/lib/ext/post_handshake.h
+++ b/lib/ext/post_handshake.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_POST_HANDSHAKE_H
-# define GNUTLS_LIB_EXT_POST_HANDSHAKE_H
+#define GNUTLS_LIB_EXT_POST_HANDSHAKE_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_post_handshake;
-#endif /* GNUTLS_LIB_EXT_POST_HANDSHAKE_H */
+#endif /* GNUTLS_LIB_EXT_POST_HANDSHAKE_H */
diff --git a/lib/ext/pre_shared_key.c b/lib/ext/pre_shared_key.c
index b6a442564d..44797bb5ad 100644
--- a/lib/ext/pre_shared_key.c
+++ b/lib/ext/pre_shared_key.c
@@ -35,8 +35,8 @@
#include <ext/pre_shared_key.h>
#include <assert.h>
-static int
-compute_psk_from_ticket(const tls13_ticket_st * ticket, gnutls_datum_t * key)
+static int compute_psk_from_ticket(const tls13_ticket_st *ticket,
+ gnutls_datum_t *key)
{
int ret;
@@ -50,8 +50,7 @@ compute_psk_from_ticket(const tls13_ticket_st * ticket, gnutls_datum_t * key)
}
key->size = ticket->prf->output_size;
- ret = _tls13_expand_secret2(ticket->prf,
- RESUMPTION_LABEL,
+ ret = _tls13_expand_secret2(ticket->prf, RESUMPTION_LABEL,
sizeof(RESUMPTION_LABEL) - 1, ticket->nonce,
ticket->nonce_size,
ticket->resumption_master_secret, key->size,
@@ -62,9 +61,8 @@ compute_psk_from_ticket(const tls13_ticket_st * ticket, gnutls_datum_t * key)
return ret;
}
-static int
-compute_binder_key(const mac_entry_st * prf,
- const uint8_t * key, size_t keylen, bool resuming, void *out)
+static int compute_binder_key(const mac_entry_st *prf, const uint8_t *key,
+ size_t keylen, bool resuming, void *out)
{
int ret;
const char ext_label[] = EXT_BINDER_LABEL;
@@ -81,21 +79,19 @@ compute_binder_key(const mac_entry_st * prf,
return ret;
/* Compute Derive-Secret(secret, label, transcript_hash) */
- ret = _tls13_derive_secret2(prf, label, label_len,
- NULL, 0, tmp_key, out);
+ ret = _tls13_derive_secret2(prf, label, label_len, NULL, 0, tmp_key,
+ out);
if (ret < 0)
return ret;
return 0;
}
-static int
-compute_psk_binder(gnutls_session_t session,
- const mac_entry_st * prf, unsigned binders_length,
- int exts_length, int ext_offset,
- const gnutls_datum_t * psk,
- const gnutls_datum_t * client_hello, bool resuming,
- void *out)
+static int compute_psk_binder(gnutls_session_t session, const mac_entry_st *prf,
+ unsigned binders_length, int exts_length,
+ int ext_offset, const gnutls_datum_t *psk,
+ const gnutls_datum_t *client_hello, bool resuming,
+ void *out)
{
int ret;
unsigned client_hello_pos, extensions_len_pos;
@@ -106,12 +102,11 @@ compute_psk_binder(gnutls_session_t session,
if (session->security_parameters.entity == GNUTLS_CLIENT) {
if (session->internals.hsk_flags & HSK_HRR_RECEIVED) {
- ret = gnutls_buffer_append_data(&handshake_buf,
- (const void *)
- session->
- internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer.length);
+ ret = gnutls_buffer_append_data(
+ &handshake_buf,
+ (const void *)session->internals
+ .handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer.length);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -119,10 +114,8 @@ compute_psk_binder(gnutls_session_t session,
}
client_hello_pos = handshake_buf.length;
- ret =
- gnutls_buffer_append_data(&handshake_buf,
- client_hello->data,
- client_hello->size);
+ ret = gnutls_buffer_append_data(
+ &handshake_buf, client_hello->data, client_hello->size);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -130,41 +123,38 @@ compute_psk_binder(gnutls_session_t session,
/* This is a ClientHello message */
handshake_buf.data[client_hello_pos] =
- GNUTLS_HANDSHAKE_CLIENT_HELLO;
+ GNUTLS_HANDSHAKE_CLIENT_HELLO;
/* At this point we have not yet added the binders to the ClientHello,
* but we have to overwrite the size field, pretending as if binders
* of the correct length were present.
*/
_gnutls_write_uint24(handshake_buf.length - client_hello_pos +
- binders_length - 2,
+ binders_length - 2,
&handshake_buf.data[client_hello_pos + 1]);
- _gnutls_write_uint16(handshake_buf.length - client_hello_pos +
- binders_length - ext_offset,
- &handshake_buf.data[client_hello_pos +
- ext_offset]);
- extensions_len_pos =
- handshake_buf.length - client_hello_pos - exts_length - 2;
+ _gnutls_write_uint16(
+ handshake_buf.length - client_hello_pos +
+ binders_length - ext_offset,
+ &handshake_buf.data[client_hello_pos + ext_offset]);
+ extensions_len_pos = handshake_buf.length - client_hello_pos -
+ exts_length - 2;
_gnutls_write_uint16(exts_length + binders_length + 2,
&handshake_buf.data[client_hello_pos +
extensions_len_pos]);
} else {
if (session->internals.hsk_flags & HSK_HRR_SENT) {
- if (unlikely
- (session->internals.handshake_hash_buffer.length <=
- client_hello->size)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ if (unlikely(session->internals.handshake_hash_buffer
+ .length <= client_hello->size)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
goto error;
}
- ret = gnutls_buffer_append_data(&handshake_buf,
- session->
- internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer.length
- - client_hello->size);
+ ret = gnutls_buffer_append_data(
+ &handshake_buf,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer.length -
+ client_hello->size);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -172,24 +162,22 @@ compute_psk_binder(gnutls_session_t session,
}
if (unlikely(client_hello->size <= binders_length)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ ret = gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
goto error;
}
- ret = gnutls_buffer_append_data(&handshake_buf, (const void *)
- client_hello->data,
- client_hello->size -
- binders_length);
+ ret = gnutls_buffer_append_data(
+ &handshake_buf, (const void *)client_hello->data,
+ client_hello->size - binders_length);
if (ret < 0) {
gnutls_assert();
goto error;
}
}
- ret = compute_binder_key(prf,
- psk->data, psk->size, resuming, binder_key);
+ ret = compute_binder_key(prf, psk->data, psk->size, resuming,
+ binder_key);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -202,24 +190,22 @@ compute_psk_binder(gnutls_session_t session,
}
ret = 0;
- error:
+error:
_gnutls_buffer_clear(&handshake_buf);
return ret;
}
-static int
-generate_early_secrets(gnutls_session_t session, const mac_entry_st * prf)
+static int generate_early_secrets(gnutls_session_t session,
+ const mac_entry_st *prf)
{
int ret;
- ret =
- _tls13_derive_secret2(prf, EARLY_TRAFFIC_LABEL,
- sizeof(EARLY_TRAFFIC_LABEL) - 1,
- session->internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer_client_hello_len,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.e_ckey);
+ ret = _tls13_derive_secret2(
+ prf, EARLY_TRAFFIC_LABEL, sizeof(EARLY_TRAFFIC_LABEL) - 1,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer_client_hello_len,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.e_ckey);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -229,14 +215,13 @@ generate_early_secrets(gnutls_session_t session, const mac_entry_st * prf)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_derive_secret2(prf, EARLY_EXPORTER_MASTER_LABEL,
- sizeof(EARLY_EXPORTER_MASTER_LABEL) - 1,
- session->internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer_client_hello_len,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.ap_expkey);
+ ret = _tls13_derive_secret2(
+ prf, EARLY_EXPORTER_MASTER_LABEL,
+ sizeof(EARLY_EXPORTER_MASTER_LABEL) - 1,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer_client_hello_len,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.ap_expkey);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -279,10 +264,8 @@ int _gnutls_generate_early_secrets_for_psk(gnutls_session_t session)
return 0;
}
-static int
-client_send_params(gnutls_session_t session,
- gnutls_buffer_t extdata,
- const gnutls_psk_client_credentials_t cred)
+static int client_send_params(gnutls_session_t session, gnutls_buffer_t extdata,
+ const gnutls_psk_client_credentials_t cred)
{
int ret, ext_offset = 0;
uint8_t binder_value[MAX_HASH_SIZE];
@@ -304,7 +287,6 @@ client_send_params(gnutls_session_t session,
if (((session->internals.flags & GNUTLS_NO_TICKETS) ||
session->internals.tls13_ticket.ticket.data == NULL) &&
(!cred || !_gnutls_have_psk_credentials(cred, session))) {
-
return 0;
}
@@ -319,7 +301,6 @@ client_send_params(gnutls_session_t session,
/* First, let's see if we have a session ticket to send */
if (!(session->internals.flags & GNUTLS_NO_TICKETS) &&
ticket->ticket.data != NULL) {
-
/* We found a session ticket */
if (unlikely(ticket->prf == NULL)) {
tls13_ticket_deinit(ticket);
@@ -353,20 +334,16 @@ client_send_params(gnutls_session_t session,
/* Calculate obfuscated ticket age, in milliseconds, mod 2^32 */
ob_ticket_age = ticket_age + ticket->age_add;
- if ((ret = _gnutls_buffer_append_data_prefix(extdata, 16,
- ticket->
- ticket.data,
- ticket->
- ticket.size)) <
- 0) {
+ if ((ret = _gnutls_buffer_append_data_prefix(
+ extdata, 16, ticket->ticket.data,
+ ticket->ticket.size)) < 0) {
gnutls_assert();
goto cleanup;
}
/* Now append the obfuscated ticket age */
- if ((ret =
- _gnutls_buffer_append_prefix(extdata, 32,
- ob_ticket_age)) < 0) {
+ if ((ret = _gnutls_buffer_append_prefix(extdata, 32,
+ ob_ticket_age)) < 0) {
gnutls_assert();
goto cleanup;
}
@@ -375,23 +352,21 @@ client_send_params(gnutls_session_t session,
binders_len += 1 + _gnutls_mac_get_algo_len(prf_res);
}
- ignore_ticket:
+ignore_ticket:
if (cred && _gnutls_have_psk_credentials(cred, session)) {
gnutls_datum_t tkey;
if (cred->binder_algo == NULL) {
gnutls_assert();
- ret =
- gnutls_assert_val
- (GNUTLS_E_INSUFFICIENT_CREDENTIALS);
+ ret = gnutls_assert_val(
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS);
goto cleanup;
}
prf_psk = cred->binder_algo;
- ret =
- _gnutls_find_psk_key(session, cred, &username, &tkey,
- &free_username);
+ ret = _gnutls_find_psk_key(session, cred, &username, &tkey,
+ &free_username);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -404,8 +379,8 @@ client_send_params(gnutls_session_t session,
if (!free_username) {
/* we need to copy the key */
- ret =
- _gnutls_set_datum(&user_key, tkey.data, tkey.size);
+ ret = _gnutls_set_datum(&user_key, tkey.data,
+ tkey.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -415,9 +390,8 @@ client_send_params(gnutls_session_t session,
user_key.size = tkey.size;
}
- ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1);
+ ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -432,10 +406,8 @@ client_send_params(gnutls_session_t session,
goto cleanup;
}
- if ((ret = _gnutls_buffer_append_data_prefix(extdata, 16,
- username.data,
- username.size)) <
- 0) {
+ if ((ret = _gnutls_buffer_append_data_prefix(
+ extdata, 16, username.data, username.size)) < 0) {
gnutls_assert();
goto cleanup;
}
@@ -465,7 +437,7 @@ client_send_params(gnutls_session_t session,
/* Compute the binders. extdata->data points to the start
* of this client hello. */
assert(extdata->length >= sizeof(mbuffer_st));
- assert(ext_offset >= (ssize_t) sizeof(mbuffer_st));
+ assert(ext_offset >= (ssize_t)sizeof(mbuffer_st));
ext_offset -= sizeof(mbuffer_st);
client_hello_len = extdata->length - sizeof(mbuffer_st);
@@ -483,10 +455,9 @@ client_send_params(gnutls_session_t session,
client_hello.data = extdata->data + sizeof(mbuffer_st);
client_hello.size = client_hello_len;
- ret = compute_psk_binder(session, prf_res,
- binders_len, binders_pos,
- ext_offset, &rkey, &client_hello, 1,
- binder_value);
+ ret = compute_psk_binder(session, prf_res, binders_len,
+ binders_pos, ext_offset, &rkey,
+ &client_hello, 1, binder_value);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -502,16 +473,15 @@ client_send_params(gnutls_session_t session,
session->key.binders[next_idx].resumption = 1;
session->key.binders[next_idx].idx = next_idx;
- _gnutls_handshake_log
- ("EXT[%p]: sent PSK resumption identity (%d)\n", session,
- next_idx);
+ _gnutls_handshake_log(
+ "EXT[%p]: sent PSK resumption identity (%d)\n", session,
+ next_idx);
next_idx++;
/* Add the binder */
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8, binder_value,
- prf_res->output_size);
+ ret = _gnutls_buffer_append_data_prefix(
+ extdata, 8, binder_value, prf_res->output_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -526,10 +496,9 @@ client_send_params(gnutls_session_t session,
client_hello.data = extdata->data + sizeof(mbuffer_st);
client_hello.size = client_hello_len;
- ret = compute_psk_binder(session, prf_psk,
- binders_len, binders_pos,
- ext_offset, &user_key, &client_hello,
- 0, binder_value);
+ ret = compute_psk_binder(session, prf_psk, binders_len,
+ binders_pos, ext_offset, &user_key,
+ &client_hello, 0, binder_value);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -551,9 +520,8 @@ client_send_params(gnutls_session_t session,
next_idx++;
/* Add the binder */
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8, binder_value,
- prf_psk->output_size);
+ ret = _gnutls_buffer_append_data_prefix(
+ extdata, 8, binder_value, prf_psk->output_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -562,7 +530,7 @@ client_send_params(gnutls_session_t session,
ret = 0;
- cleanup:
+cleanup:
if (free_username)
_gnutls_free_datum(&username);
@@ -659,19 +627,16 @@ static int server_recv_params(gnutls_session_t session,
resuming = 1;
break;
- } else if (pskcred &&
- psk.ob_ticket_age == 0 &&
- psk.identity.size > 0
- && psk.identity.size <= MAX_USERNAME_SIZE) {
+ } else if (pskcred && psk.ob_ticket_age == 0 &&
+ psk.identity.size > 0 &&
+ psk.identity.size <= MAX_USERNAME_SIZE) {
prf = pskcred->binder_algo;
/* this fails only on configuration errors; as such we always
* return its error code in that case */
- ret =
- _gnutls_psk_pwd_find_entry(session,
- (char *)psk.
- identity.data,
- psk.identity.size, &key);
+ ret = _gnutls_psk_pwd_find_entry(
+ session, (char *)psk.identity.data,
+ psk.identity.size, &key);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -682,9 +647,8 @@ static int server_recv_params(gnutls_session_t session,
_gnutls13_psk_ext_iter_init(&psk_iter, &psk_parser);
for (i = 0; i <= psk_index; i++) {
- ret =
- _gnutls13_psk_ext_iter_next_binder(&psk_iter,
- &binder_recvd);
+ ret = _gnutls13_psk_ext_iter_next_binder(&psk_iter,
+ &binder_recvd);
if (ret < 0) {
gnutls_assert();
/* We couldn't extract binder */
@@ -730,9 +694,8 @@ static int server_recv_params(gnutls_session_t session,
if (!resuming) {
assert(psk.identity.size <= MAX_USERNAME_SIZE);
- ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1);
+ ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -747,9 +710,9 @@ static int server_recv_params(gnutls_session_t session,
goto fail;
}
- _gnutls_handshake_log
- ("EXT[%p]: selected PSK identity: %s (%d)\n", session,
- info->username, psk_index);
+ _gnutls_handshake_log(
+ "EXT[%p]: selected PSK identity: %s (%d)\n", session,
+ info->username, psk_index);
/* We currently only support early data in resuming connection,
* due to lack of API function to associate encryption
@@ -759,28 +722,28 @@ static int server_recv_params(gnutls_session_t session,
} else {
if (session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT) {
if (session->internals.anti_replay) {
- ret =
- _gnutls_anti_replay_check
- (session->internals.anti_replay, ticket_age,
- &ticket_creation_time, &binder_recvd);
+ ret = _gnutls_anti_replay_check(
+ session->internals.anti_replay,
+ ticket_age, &ticket_creation_time,
+ &binder_recvd);
if (ret < 0) {
refuse_early_data = true;
- _gnutls_handshake_log
- ("EXT[%p]: replay detected; rejecting early data\n",
- session);
+ _gnutls_handshake_log(
+ "EXT[%p]: replay detected; rejecting early data\n",
+ session);
}
} else {
refuse_early_data = true;
- _gnutls_handshake_log
- ("EXT[%p]: anti-replay is not enabled; rejecting early data\n",
- session);
+ _gnutls_handshake_log(
+ "EXT[%p]: anti-replay is not enabled; rejecting early data\n",
+ session);
}
}
session->internals.resumed = true;
- _gnutls_handshake_log
- ("EXT[%p]: selected resumption PSK identity (%d)\n",
- session, psk_index);
+ _gnutls_handshake_log(
+ "EXT[%p]: selected resumption PSK identity (%d)\n",
+ session, psk_index);
}
session->internals.hsk_flags |= HSK_PSK_SELECTED;
@@ -810,7 +773,7 @@ static int server_recv_params(gnutls_session_t session,
return 0;
- fail:
+fail:
gnutls_free(key.data);
return ret;
}
@@ -855,11 +818,11 @@ static int _gnutls_psk_send_params(gnutls_session_t session,
if (session->internals.hsk_flags & HSK_PSK_KE_MODES_SENT) {
cred = (gnutls_psk_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ _gnutls_get_cred(session, GNUTLS_CRD_PSK);
}
- if ((session->internals.flags & GNUTLS_NO_TICKETS)
- && !session->internals.priorities->have_psk)
+ if ((session->internals.flags & GNUTLS_NO_TICKETS) &&
+ !session->internals.priorities->have_psk)
return 0;
return client_send_params(session, extdata, cred);
@@ -869,8 +832,8 @@ static int _gnutls_psk_send_params(gnutls_session_t session,
if (!vers || !vers->tls13_sem)
return 0;
- if ((session->internals.flags & GNUTLS_NO_TICKETS)
- && !session->internals.priorities->have_psk)
+ if ((session->internals.flags & GNUTLS_NO_TICKETS) &&
+ !session->internals.priorities->have_psk)
return 0;
if (session->internals.hsk_flags & HSK_PSK_KE_MODES_RECEIVED)
@@ -911,23 +874,22 @@ static int _gnutls_psk_recv_params(gnutls_session_t session,
if (session->internals.hsk_flags & HSK_PSK_KE_MODES_SENT) {
uint16_t selected_identity = _gnutls_read_uint16(data);
- for (i = 0;
- i <
- sizeof(session->key.binders) /
- sizeof(session->key.binders[0]); i++) {
- if (session->key.binders[i].prf != NULL
- && session->key.binders[i].idx ==
- selected_identity) {
+ for (i = 0; i < sizeof(session->key.binders) /
+ sizeof(session->key.binders[0]);
+ i++) {
+ if (session->key.binders[i].prf != NULL &&
+ session->key.binders[i].idx ==
+ selected_identity) {
if (session->key.binders[i].resumption) {
session->internals.resumed =
- true;
- _gnutls_handshake_log
- ("EXT[%p]: selected PSK-resumption mode\n",
- session);
+ true;
+ _gnutls_handshake_log(
+ "EXT[%p]: selected PSK-resumption mode\n",
+ session);
} else {
- _gnutls_handshake_log
- ("EXT[%p]: selected PSK mode\n",
- session);
+ _gnutls_handshake_log(
+ "EXT[%p]: selected PSK mode\n",
+ session);
}
/* different PSK is selected, than the one we calculated early secrets */
@@ -935,47 +897,43 @@ static int _gnutls_psk_recv_params(gnutls_session_t session,
/* ensure that selected binder is set on (our) index zero */
swap_binders(session);
- ret =
- _gnutls_generate_early_secrets_for_psk
- (session);
+ ret = _gnutls_generate_early_secrets_for_psk(
+ session);
if (ret < 0)
- return
- gnutls_assert_val
- (ret);
+ return gnutls_assert_val(
+ ret);
}
session->internals.hsk_flags |=
- HSK_PSK_SELECTED;
+ HSK_PSK_SELECTED;
}
}
return 0;
} else {
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
} else {
if (session->internals.hsk_flags & HSK_PSK_KE_MODES_RECEIVED) {
- if (session->
- internals.hsk_flags & HSK_PSK_KE_MODE_INVALID) {
+ if (session->internals.hsk_flags &
+ HSK_PSK_KE_MODE_INVALID) {
/* We received a "psk_ke_modes" extension, but with a value we don't support */
return 0;
}
pskcred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ _gnutls_get_cred(session, GNUTLS_CRD_PSK);
/* If there are no PSK credentials, this extension is not applicable,
* so we return zero. */
- if (pskcred == NULL
- && (session->internals.flags & GNUTLS_NO_TICKETS))
+ if (pskcred == NULL &&
+ (session->internals.flags & GNUTLS_NO_TICKETS))
return 0;
return server_recv_params(session, data, len, pskcred);
} else {
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
}
}
@@ -986,9 +944,8 @@ const hello_ext_entry_st ext_mod_pre_shared_key = {
.gid = GNUTLS_EXTENSION_PRE_SHARED_KEY,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
.send_func = _gnutls_psk_send_params,
.recv_func = _gnutls_psk_recv_params
};
diff --git a/lib/ext/pre_shared_key.h b/lib/ext/pre_shared_key.h
index 30444eda76..496d275a7f 100644
--- a/lib/ext/pre_shared_key.h
+++ b/lib/ext/pre_shared_key.h
@@ -1,20 +1,20 @@
#ifndef GNUTLS_LIB_EXT_PRE_SHARED_KEY_H
-# define GNUTLS_LIB_EXT_PRE_SHARED_KEY_H
+#define GNUTLS_LIB_EXT_PRE_SHARED_KEY_H
-# include "auth/psk.h"
-# include <hello_ext.h>
-# include "tls13/session_ticket.h"
+#include "auth/psk.h"
+#include <hello_ext.h>
+#include "tls13/session_ticket.h"
-# define PRE_SHARED_KEY_TLS_ID 41
+#define PRE_SHARED_KEY_TLS_ID 41
extern const hello_ext_entry_st ext_mod_pre_shared_key;
-inline static
-unsigned _gnutls_have_psk_credentials(const gnutls_psk_client_credentials_t
- cred, gnutls_session_t session)
+inline static unsigned
+_gnutls_have_psk_credentials(const gnutls_psk_client_credentials_t cred,
+ gnutls_session_t session)
{
- if ((cred->get_function || cred->username.data)
- && session->internals.priorities->have_psk)
+ if ((cred->get_function || cred->username.data) &&
+ session->internals.priorities->have_psk)
return 1;
else
return 0;
@@ -22,4 +22,4 @@ unsigned _gnutls_have_psk_credentials(const gnutls_psk_client_credentials_t
int _gnutls_generate_early_secrets_for_psk(gnutls_session_t session);
-#endif /* GNUTLS_LIB_EXT_PRE_SHARED_KEY_H */
+#endif /* GNUTLS_LIB_EXT_PRE_SHARED_KEY_H */
diff --git a/lib/ext/psk_ke_modes.c b/lib/ext/psk_ke_modes.c
index be57e7c38f..961d505306 100644
--- a/lib/ext/psk_ke_modes.c
+++ b/lib/ext/psk_ke_modes.c
@@ -28,8 +28,8 @@
#define PSK_KE 0
#define PSK_DHE_KE 1
-static int
-psk_ke_modes_send_params(gnutls_session_t session, gnutls_buffer_t extdata)
+static int psk_ke_modes_send_params(gnutls_session_t session,
+ gnutls_buffer_t extdata)
{
int ret;
const version_entry_st *vers;
@@ -58,18 +58,20 @@ psk_ke_modes_send_params(gnutls_session_t session, gnutls_buffer_t extdata)
* prioritization when negotiating PSK or DHE-PSK. Receiving servers would
* very likely respect our prioritization if they parse the message serially. */
pos = 0;
- for (i = 0; i < session->internals.priorities->_kx.num_priorities; i++) {
+ for (i = 0; i < session->internals.priorities->_kx.num_priorities;
+ i++) {
if (session->internals.priorities->_kx.priorities[i] ==
- GNUTLS_KX_PSK && !have_psk) {
+ GNUTLS_KX_PSK &&
+ !have_psk) {
assert(pos <= 1);
data[pos++] = PSK_KE;
session->internals.hsk_flags |= HSK_PSK_KE_MODE_PSK;
have_psk = 1;
- } else
- if ((session->internals.priorities->_kx.priorities[i] ==
- GNUTLS_KX_DHE_PSK
- || session->internals.priorities->_kx.priorities[i] ==
- GNUTLS_KX_ECDHE_PSK) && !have_dhpsk) {
+ } else if ((session->internals.priorities->_kx.priorities[i] ==
+ GNUTLS_KX_DHE_PSK ||
+ session->internals.priorities->_kx.priorities[i] ==
+ GNUTLS_KX_ECDHE_PSK) &&
+ !have_dhpsk) {
assert(pos <= 1);
data[pos++] = PSK_DHE_KE;
session->internals.hsk_flags |= HSK_PSK_KE_MODE_DHE_PSK;
@@ -107,9 +109,8 @@ psk_ke_modes_send_params(gnutls_session_t session, gnutls_buffer_t extdata)
* just verifies that a "psk_key_exchange_modes" extension was received,
* and that it contains the value one.
*/
-static int
-psk_ke_modes_recv_params(gnutls_session_t session,
- const unsigned char *data, size_t len)
+static int psk_ke_modes_recv_params(gnutls_session_t session,
+ const unsigned char *data, size_t len)
{
uint8_t ke_modes_len;
const version_entry_st *vers = get_version(session);
@@ -132,9 +133,8 @@ psk_ke_modes_recv_params(gnutls_session_t session,
return gnutls_assert_val(0);
}
- cred =
- (gnutls_psk_server_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_PSK);
+ cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (cred == NULL && (session->internals.flags & GNUTLS_NO_TICKETS)) {
session->internals.hsk_flags |= HSK_PSK_KE_MODE_INVALID;
return gnutls_assert_val(0);
@@ -143,15 +143,17 @@ psk_ke_modes_recv_params(gnutls_session_t session,
DECR_LEN(len, 1);
ke_modes_len = *(data++);
- for (i = 0; i < session->internals.priorities->_kx.num_priorities; i++) {
+ for (i = 0; i < session->internals.priorities->_kx.num_priorities;
+ i++) {
if (session->internals.priorities->_kx.priorities[i] ==
- GNUTLS_KX_PSK && psk_pos == MAX_POS) {
+ GNUTLS_KX_PSK &&
+ psk_pos == MAX_POS) {
psk_pos = i;
- } else
- if ((session->internals.priorities->_kx.priorities[i] ==
- GNUTLS_KX_DHE_PSK
- || session->internals.priorities->_kx.priorities[i] ==
- GNUTLS_KX_ECDHE_PSK) && dhpsk_pos == MAX_POS) {
+ } else if ((session->internals.priorities->_kx.priorities[i] ==
+ GNUTLS_KX_DHE_PSK ||
+ session->internals.priorities->_kx.priorities[i] ==
+ GNUTLS_KX_ECDHE_PSK) &&
+ dhpsk_pos == MAX_POS) {
dhpsk_pos = i;
}
@@ -180,25 +182,23 @@ psk_ke_modes_recv_params(gnutls_session_t session,
}
if (session->internals.priorities->server_precedence) {
- if (dhpsk_pos != MAX_POS && cli_dhpsk_pos != MAX_POS
- && (dhpsk_pos < psk_pos || cli_psk_pos == MAX_POS))
+ if (dhpsk_pos != MAX_POS && cli_dhpsk_pos != MAX_POS &&
+ (dhpsk_pos < psk_pos || cli_psk_pos == MAX_POS))
session->internals.hsk_flags |= HSK_PSK_KE_MODE_DHE_PSK;
- else if (psk_pos != MAX_POS && cli_psk_pos != MAX_POS
- && (psk_pos < dhpsk_pos || cli_dhpsk_pos == MAX_POS))
+ else if (psk_pos != MAX_POS && cli_psk_pos != MAX_POS &&
+ (psk_pos < dhpsk_pos || cli_dhpsk_pos == MAX_POS))
session->internals.hsk_flags |= HSK_PSK_KE_MODE_PSK;
} else {
- if (dhpsk_pos != MAX_POS && cli_dhpsk_pos != MAX_POS
- && (cli_dhpsk_pos < cli_psk_pos || psk_pos == MAX_POS))
+ if (dhpsk_pos != MAX_POS && cli_dhpsk_pos != MAX_POS &&
+ (cli_dhpsk_pos < cli_psk_pos || psk_pos == MAX_POS))
session->internals.hsk_flags |= HSK_PSK_KE_MODE_DHE_PSK;
- else if (psk_pos != MAX_POS && cli_psk_pos != MAX_POS
- && (cli_psk_pos < cli_dhpsk_pos
- || dhpsk_pos == MAX_POS))
+ else if (psk_pos != MAX_POS && cli_psk_pos != MAX_POS &&
+ (cli_psk_pos < cli_dhpsk_pos || dhpsk_pos == MAX_POS))
session->internals.hsk_flags |= HSK_PSK_KE_MODE_PSK;
}
if ((session->internals.hsk_flags & HSK_PSK_KE_MODE_PSK) ||
(session->internals.hsk_flags & HSK_PSK_KE_MODE_DHE_PSK)) {
-
return 0;
} else {
session->internals.hsk_flags |= HSK_PSK_KE_MODE_INVALID;
@@ -212,9 +212,8 @@ const hello_ext_entry_st ext_mod_psk_ke_modes = {
.gid = GNUTLS_EXTENSION_PSK_KE_MODES,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
.send_func = psk_ke_modes_send_params,
.recv_func = psk_ke_modes_recv_params
};
diff --git a/lib/ext/psk_ke_modes.h b/lib/ext/psk_ke_modes.h
index eb96f09b92..56876a97d8 100644
--- a/lib/ext/psk_ke_modes.h
+++ b/lib/ext/psk_ke_modes.h
@@ -1,8 +1,8 @@
#ifndef GNUTLS_LIB_EXT_PSK_KE_MODES_H
-# define GNUTLS_LIB_EXT_PSK_KE_MODES_H
+#define GNUTLS_LIB_EXT_PSK_KE_MODES_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_psk_ke_modes;
-#endif /* GNUTLS_LIB_EXT_PSK_KE_MODES_H */
+#endif /* GNUTLS_LIB_EXT_PSK_KE_MODES_H */
diff --git a/lib/ext/record_size_limit.c b/lib/ext/record_size_limit.c
index 9b14c5e97f..065469a0bc 100644
--- a/lib/ext/record_size_limit.c
+++ b/lib/ext/record_size_limit.c
@@ -30,10 +30,10 @@
#include <ext/record_size_limit.h>
static int _gnutls_record_size_limit_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_record_size_limit_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_record_size_limit = {
.name = "Record Size Limit",
@@ -41,17 +41,16 @@ const hello_ext_entry_st ext_mod_record_size_limit = {
.gid = GNUTLS_EXTENSION_RECORD_SIZE_LIMIT,
.client_parse_point = GNUTLS_EXT_MANDATORY,
.server_parse_point = GNUTLS_EXT_MANDATORY,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_record_size_limit_recv_params,
.send_func = _gnutls_record_size_limit_send_params
};
-static int
-_gnutls_record_size_limit_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_record_size_limit_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t data_size)
{
ssize_t new_size;
const version_entry_st *vers;
@@ -68,22 +67,21 @@ _gnutls_record_size_limit_recv_params(gnutls_session_t session,
session->internals.hsk_flags |= HSK_RECORD_SIZE_LIMIT_RECEIVED;
/* we do not want to accept sizes outside of our supported range */
- if (new_size <
- (session->internals.allow_small_records ?
- MIN_RECORD_SIZE_SMALL : MIN_RECORD_SIZE)) {
+ if (new_size < (session->internals.allow_small_records ?
+ MIN_RECORD_SIZE_SMALL :
+ MIN_RECORD_SIZE)) {
/* for server, reject it by omitting the extension in the reply */
if (session->security_parameters.entity == GNUTLS_SERVER) {
- _gnutls_handshake_log
- ("EXT[%p]: client requested too small record_size_limit %u; ignoring\n",
- session, (unsigned)new_size);
+ _gnutls_handshake_log(
+ "EXT[%p]: client requested too small record_size_limit %u; ignoring\n",
+ session, (unsigned)new_size);
return gnutls_assert_val(0);
} else {
- _gnutls_handshake_log
- ("EXT[%p]: server requested too small record_size_limit %u; closing the connection\n",
- session, (unsigned)new_size);
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ _gnutls_handshake_log(
+ "EXT[%p]: server requested too small record_size_limit %u; closing the connection\n",
+ session, (unsigned)new_size);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
}
@@ -93,7 +91,7 @@ _gnutls_record_size_limit_recv_params(gnutls_session_t session,
* indication of the request was accepted by the server */
if (session->security_parameters.entity == GNUTLS_CLIENT)
session->security_parameters.max_record_recv_size =
- session->security_parameters.max_user_record_recv_size;
+ session->security_parameters.max_user_record_recv_size;
_gnutls_handshake_log("EXT[%p]: record_size_limit %u negotiated\n",
session, (unsigned)new_size);
@@ -104,24 +102,23 @@ _gnutls_record_size_limit_recv_params(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
session->security_parameters.max_record_send_size =
- MIN(new_size - vers->tls13_sem,
- session->security_parameters.max_user_record_send_size);
+ MIN(new_size - vers->tls13_sem,
+ session->security_parameters.max_user_record_send_size);
return 0;
}
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_record_size_limit_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_record_size_limit_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
int ret;
uint16_t send_size;
assert(session->security_parameters.max_user_record_recv_size >= 64 &&
session->security_parameters.max_user_record_recv_size <=
- DEFAULT_MAX_RECORD_SIZE);
+ DEFAULT_MAX_RECORD_SIZE);
send_size = session->security_parameters.max_user_record_recv_size;
@@ -129,11 +126,10 @@ _gnutls_record_size_limit_send_params(gnutls_session_t session,
const version_entry_st *vers;
/* if we had received the extension and rejected, don't send it */
- if (session->
- internals.hsk_flags & HSK_RECORD_SIZE_LIMIT_RECEIVED
- && !(session->
- internals.hsk_flags &
- HSK_RECORD_SIZE_LIMIT_NEGOTIATED))
+ if (session->internals.hsk_flags &
+ HSK_RECORD_SIZE_LIMIT_RECEIVED &&
+ !(session->internals.hsk_flags &
+ HSK_RECORD_SIZE_LIMIT_NEGOTIATED))
return gnutls_assert_val(0);
/* add 1 octet for content type */
diff --git a/lib/ext/record_size_limit.h b/lib/ext/record_size_limit.h
index a4efa56da3..da7cade58d 100644
--- a/lib/ext/record_size_limit.h
+++ b/lib/ext/record_size_limit.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_RECORD_SIZE_LIMIT_H
-# define GNUTLS_LIB_EXT_RECORD_SIZE_LIMIT_H
+#define GNUTLS_LIB_EXT_RECORD_SIZE_LIMIT_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_record_size_limit;
-#endif /* GNUTLS_LIB_EXT_RECORD_SIZE_LIMIT_H */
+#endif /* GNUTLS_LIB_EXT_RECORD_SIZE_LIMIT_H */
diff --git a/lib/ext/safe_renegotiation.c b/lib/ext/safe_renegotiation.c
index dce2e9bb6a..17964ee538 100644
--- a/lib/ext/safe_renegotiation.c
+++ b/lib/ext/safe_renegotiation.c
@@ -24,8 +24,8 @@
#include <ext/safe_renegotiation.h>
#include "errors.h"
-static int _gnutls_sr_recv_params(gnutls_session_t state,
- const uint8_t * data, size_t data_size);
+static int _gnutls_sr_recv_params(gnutls_session_t state, const uint8_t *data,
+ size_t data_size);
static int _gnutls_sr_send_params(gnutls_session_t state, gnutls_buffer_st *);
static void _gnutls_sr_deinit_data(gnutls_ext_priv_data_t priv);
@@ -33,9 +33,9 @@ const hello_ext_entry_st ext_mod_sr = {
.name = "Safe Renegotiation",
.tls_id = 65281,
.gid = GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.client_parse_point = GNUTLS_EXT_MANDATORY,
.server_parse_point = GNUTLS_EXT_MANDATORY,
.recv_func = _gnutls_sr_recv_params,
@@ -46,9 +46,8 @@ const hello_ext_entry_st ext_mod_sr = {
.cannot_be_overriden = 1
};
-int
-_gnutls_ext_sr_finished(gnutls_session_t session, void *vdata,
- size_t vdata_size, int dir)
+int _gnutls_ext_sr_finished(gnutls_session_t session, void *vdata,
+ size_t vdata_size, int dir)
{
int ret;
sr_ext_st *priv;
@@ -59,9 +58,8 @@ _gnutls_ext_sr_finished(gnutls_session_t session, void *vdata,
return 0;
}
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret < 0) {
gnutls_assert();
/* if a client didn't advertise safe renegotiation, we treat
@@ -79,9 +77,10 @@ _gnutls_ext_sr_finished(gnutls_session_t session, void *vdata,
return GNUTLS_E_INTERNAL_ERROR;
}
- if ((session->security_parameters.entity == GNUTLS_CLIENT && dir == 0)
- || (session->security_parameters.entity == GNUTLS_SERVER
- && dir == 1)) {
+ if ((session->security_parameters.entity == GNUTLS_CLIENT &&
+ dir == 0) ||
+ (session->security_parameters.entity == GNUTLS_SERVER &&
+ dir == 1)) {
priv->client_verify_data_len = vdata_size;
memcpy(priv->client_verify_data, vdata, vdata_size);
} else {
@@ -103,88 +102,86 @@ int _gnutls_ext_sr_verify(gnutls_session_t session)
return 0;
}
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret >= 0)
priv = epriv;
/* Safe renegotiation */
if (priv && priv->safe_renegotiation_received) {
- if ((priv->ri_extension_data_len < priv->client_verify_data_len)
- ||
- (memcmp
- (priv->ri_extension_data, priv->client_verify_data,
- priv->client_verify_data_len))) {
+ if ((priv->ri_extension_data_len <
+ priv->client_verify_data_len) ||
+ (memcmp(priv->ri_extension_data, priv->client_verify_data,
+ priv->client_verify_data_len))) {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: Safe renegotiation failed [1]\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Safe renegotiation failed [1]\n",
+ session);
return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
}
if (session->security_parameters.entity == GNUTLS_CLIENT) {
if ((priv->ri_extension_data_len !=
priv->client_verify_data_len +
- priv->server_verify_data_len)
- || memcmp(priv->ri_extension_data +
- priv->client_verify_data_len,
- priv->server_verify_data,
- priv->server_verify_data_len) != 0) {
+ priv->server_verify_data_len) ||
+ memcmp(priv->ri_extension_data +
+ priv->client_verify_data_len,
+ priv->server_verify_data,
+ priv->server_verify_data_len) != 0) {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: Safe renegotiation failed [2]\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Safe renegotiation failed [2]\n",
+ session);
return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
}
- } else { /* Make sure there are 0 extra bytes */
+ } else { /* Make sure there are 0 extra bytes */
if (priv->ri_extension_data_len !=
priv->client_verify_data_len) {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: Safe renegotiation failed [3]\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Safe renegotiation failed [3]\n",
+ session);
return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
}
}
- _gnutls_handshake_log
- ("HSK[%p]: Safe renegotiation succeeded\n", session);
- } else { /* safe renegotiation not received... */
+ _gnutls_handshake_log("HSK[%p]: Safe renegotiation succeeded\n",
+ session);
+ } else { /* safe renegotiation not received... */
if (priv && priv->connection_using_safe_renegotiation) {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: Peer previously asked for safe renegotiation\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Peer previously asked for safe renegotiation\n",
+ session);
return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
}
/* Clients can't tell if it's an initial negotiation */
if (session->internals.initial_negotiation_completed) {
if (session->internals.priorities->sr < SR_PARTIAL) {
- _gnutls_handshake_log
- ("HSK[%p]: Allowing unsafe (re)negotiation\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Allowing unsafe (re)negotiation\n",
+ session);
} else {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: Denying unsafe (re)negotiation\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Denying unsafe (re)negotiation\n",
+ session);
return GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED;
}
} else {
if (session->internals.priorities->sr < SR_SAFE) {
- _gnutls_handshake_log
- ("HSK[%p]: Allowing unsafe initial negotiation\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Allowing unsafe initial negotiation\n",
+ session);
} else {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: Denying unsafe initial negotiation\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Denying unsafe initial negotiation\n",
+ session);
return GNUTLS_E_SAFE_RENEGOTIATION_FAILED;
}
}
@@ -201,9 +198,8 @@ int _gnutls_ext_sr_recv_cs(gnutls_session_t session)
sr_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret < 0) {
set = 1;
}
@@ -223,9 +219,8 @@ int _gnutls_ext_sr_recv_cs(gnutls_session_t session)
_gnutls_hello_ext_save_sr(session);
if (set != 0)
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- epriv);
+ _gnutls_hello_ext_set_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, epriv);
return 0;
}
@@ -236,9 +231,8 @@ int _gnutls_ext_sr_send_cs(gnutls_session_t session)
sr_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret < 0) {
set = 1;
}
@@ -251,17 +245,15 @@ int _gnutls_ext_sr_send_cs(gnutls_session_t session)
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- epriv);
+ _gnutls_hello_ext_set_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, epriv);
}
return 0;
}
-static int
-_gnutls_sr_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_sr_recv_params(gnutls_session_t session, const uint8_t *data,
+ size_t data_size)
{
unsigned int len;
sr_ext_st *priv;
@@ -272,16 +264,15 @@ _gnutls_sr_recv_params(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
len = data[0];
- DECR_LEN(data_size, len + 1 /* count the first byte and payload */ );
+ DECR_LEN(data_size, len + 1 /* count the first byte and payload */);
if (session->internals.priorities->sr == SR_DISABLED) {
gnutls_assert();
return 0;
}
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret < 0 && session->security_parameters.entity == GNUTLS_SERVER) {
set = 1;
} else if (ret < 0) {
@@ -297,9 +288,8 @@ _gnutls_sr_recv_params(gnutls_session_t session,
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- epriv);
+ _gnutls_hello_ext_set_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, epriv);
} else {
priv = epriv;
}
@@ -332,8 +322,8 @@ _gnutls_sr_recv_params(gnutls_session_t session,
return 0;
}
-static int
-_gnutls_sr_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int _gnutls_sr_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
/* The format of this extension is a one-byte length of verify data followed
* by the verify data itself. Note that the length byte does not include
@@ -350,9 +340,8 @@ _gnutls_sr_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
return 0;
}
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret < 0) {
set = 1;
}
@@ -365,9 +354,8 @@ _gnutls_sr_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- epriv);
+ _gnutls_hello_ext_set_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, epriv);
} else
priv = epriv;
@@ -382,19 +370,16 @@ _gnutls_sr_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data(extdata,
- priv->client_verify_data,
- priv->client_verify_data_len);
+ ret = _gnutls_buffer_append_data(extdata,
+ priv->client_verify_data,
+ priv->client_verify_data_len);
if (ret < 0)
return gnutls_assert_val(ret);
if (session->security_parameters.entity == GNUTLS_SERVER) {
- ret =
- _gnutls_buffer_append_data(extdata,
- priv->server_verify_data,
- priv->
- server_verify_data_len);
+ ret = _gnutls_buffer_append_data(
+ extdata, priv->server_verify_data,
+ priv->server_verify_data_len);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -427,9 +412,8 @@ unsigned gnutls_safe_renegotiation_status(gnutls_session_t session)
sr_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SAFE_RENEGOTIATION,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, &epriv);
if (ret < 0) {
gnutls_assert();
return 0;
diff --git a/lib/ext/safe_renegotiation.h b/lib/ext/safe_renegotiation.h
index fc9700c7cf..48ffae7a99 100644
--- a/lib/ext/safe_renegotiation.h
+++ b/lib/ext/safe_renegotiation.h
@@ -21,21 +21,22 @@
*/
#ifndef GNUTLS_LIB_EXT_SAFE_RENEGOTIATION_H
-# define GNUTLS_LIB_EXT_SAFE_RENEGOTIATION_H
+#define GNUTLS_LIB_EXT_SAFE_RENEGOTIATION_H
-# include <hello_ext.h>
+#include <hello_ext.h>
typedef struct {
uint8_t client_verify_data[MAX_VERIFY_DATA_SIZE];
size_t client_verify_data_len;
uint8_t server_verify_data[MAX_VERIFY_DATA_SIZE];
size_t server_verify_data_len;
- uint8_t ri_extension_data[MAX_VERIFY_DATA_SIZE * 2]; /* max signal is 72 bytes in s->c sslv3 */
+ uint8_t ri_extension_data[MAX_VERIFY_DATA_SIZE *
+ 2]; /* max signal is 72 bytes in s->c sslv3 */
size_t ri_extension_data_len;
- unsigned int safe_renegotiation_received:1;
- unsigned int initial_negotiation_completed:1;
- unsigned int connection_using_safe_renegotiation:1;
+ unsigned int safe_renegotiation_received : 1;
+ unsigned int initial_negotiation_completed : 1;
+ unsigned int connection_using_safe_renegotiation : 1;
} sr_ext_st;
extern const hello_ext_entry_st ext_mod_sr;
@@ -46,4 +47,4 @@ int _gnutls_ext_sr_recv_cs(gnutls_session_t session);
int _gnutls_ext_sr_verify(gnutls_session_t session);
int _gnutls_ext_sr_send_cs(gnutls_session_t);
-#endif /* GNUTLS_LIB_EXT_SAFE_RENEGOTIATION_H */
+#endif /* GNUTLS_LIB_EXT_SAFE_RENEGOTIATION_H */
diff --git a/lib/ext/server_cert_type.c b/lib/ext/server_cert_type.c
index 1e489bf308..7f6917dbd6 100644
--- a/lib/ext/server_cert_type.c
+++ b/lib/ext/server_cert_type.c
@@ -37,10 +37,10 @@
#include "datum.h"
static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
- gnutls_buffer_st * data);
+ gnutls_buffer_st *data);
const hello_ext_entry_st ext_mod_server_cert_type = {
.name = "Server Certificate Type",
@@ -48,10 +48,9 @@ const hello_ext_entry_st ext_mod_server_cert_type = {
.gid = GNUTLS_EXTENSION_SERVER_CERT_TYPE,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity = GNUTLS_EXT_FLAG_TLS |
- GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | GNUTLS_EXT_FLAG_EE,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | GNUTLS_EXT_FLAG_EE,
.recv_func = _gnutls_server_cert_type_recv_params,
.send_func = _gnutls_server_cert_type_send_params,
.pack_func = _gnutls_hello_ext_default_pack,
@@ -61,7 +60,7 @@ const hello_ext_entry_st ext_mod_server_cert_type = {
};
static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size)
{
int ret;
@@ -76,15 +75,15 @@ static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
(_gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE) == NULL))
return 0;
- if (!IS_SERVER(session)) { // client mode
- gnutls_datum_t sent_cert_types; // Holds the previously sent cert types
+ if (!IS_SERVER(session)) { // client mode
+ gnutls_datum_t
+ sent_cert_types; // Holds the previously sent cert types
/* Compare packet length with expected packet length. For the
* client this is a single byte. */
if (data_size != 1) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
/* The server picked one of the offered cert types if he supports
@@ -94,23 +93,22 @@ static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
* we're going to check it nevertheless. */
cert_type = IANA2cert_type(pdata[0]);
- _gnutls_handshake_log
- ("EXT[%p]: Received a %s server certificate type confirmation from the server.\n",
- session, gnutls_certificate_type_get_name(cert_type));
+ _gnutls_handshake_log(
+ "EXT[%p]: Received a %s server certificate type confirmation from the server.\n",
+ session, gnutls_certificate_type_get_name(cert_type));
// Check validity of cert type
if (cert_type == GNUTLS_CRT_UNKNOWN) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE);
}
/* Get the cert types that we sent to the server (they were stored
* in IANA representation.
*/
- ret = _gnutls_hello_ext_get_datum(session,
- GNUTLS_EXTENSION_SERVER_CERT_TYPE,
- &sent_cert_types);
+ ret = _gnutls_hello_ext_get_datum(
+ session, GNUTLS_EXTENSION_SERVER_CERT_TYPE,
+ &sent_cert_types);
if (ret < 0) {
/* This should not happen and indicate a memory corruption!
* Assertion are always on in production code so execution
@@ -136,20 +134,20 @@ static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
return ret;
- } else { // server mode
- gnutls_datum_t cert_types; // Holds the received cert types
+ } else { // server mode
+ gnutls_datum_t cert_types; // Holds the received cert types
// Compare packet length with expected packet length.
DECR_LEN(data_size, 1);
if (data[0] != data_size) {
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
pdata += 1;
// Assign the contents of our data buffer to a gnutls_datum_t
- cert_types.data = (uint8_t *) pdata; // Need casting to get rid of 'discards const qualifier' warning
+ cert_types.data = (uint8_t *)
+ pdata; // Need casting to get rid of 'discards const qualifier' warning
cert_types.size = data_size;
// Store the server certificate types in our session
@@ -171,15 +169,15 @@ static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
if (cert_type == GNUTLS_CRT_UNKNOWN)
continue;
- _gnutls_handshake_log
- ("EXT[%p]: Checking compatibility of a %s server certificate type that was received from the client.\n",
- session,
- gnutls_certificate_type_get_name(cert_type));
+ _gnutls_handshake_log(
+ "EXT[%p]: Checking compatibility of a %s server certificate type that was received from the client.\n",
+ session,
+ gnutls_certificate_type_get_name(cert_type));
// Check for support of this cert type
- if (_gnutls_session_is_cert_type_supported
- (session, cert_type, true,
- GNUTLS_CTYPE_SERVER) == 0) {
+ if (_gnutls_session_is_cert_type_supported(
+ session, cert_type, true,
+ GNUTLS_CTYPE_SERVER) == 0) {
found = true;
break;
}
@@ -203,10 +201,10 @@ static int _gnutls_server_cert_type_recv_params(gnutls_session_t session,
}
static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
- gnutls_buffer_st * data)
+ gnutls_buffer_st *data)
{
int ret;
- uint8_t cert_type_IANA; // Holds an IANA cert type ID
+ uint8_t cert_type_IANA; // Holds an IANA cert type ID
gnutls_certificate_type_t cert_type;
/* Only activate this extension if we have cert credentials set
@@ -215,11 +213,12 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
(_gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE) == NULL))
return 0;
- if (!IS_SERVER(session)) { // Client mode
- uint8_t cert_types[GNUTLS_CRT_MAX]; // The list with supported (IANA) cert types. Inv: 0 <= cert type Id < 256
+ if (!IS_SERVER(session)) { // Client mode
+ uint8_t cert_types
+ [GNUTLS_CRT_MAX]; // The list with supported (IANA) cert types. Inv: 0 <= cert type Id < 256
size_t i, num_cert_types = 0;
priority_st *cert_priorities;
- gnutls_datum_t tmp_cert_types; // For type conversion
+ gnutls_datum_t tmp_cert_types; // For type conversion
// For brevity
cert_priorities = &session->internals.priorities->server_ctype;
@@ -229,7 +228,8 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
* initialization values apply. This default is currently set to
* X.509 in which case we don't enable this extension.
*/
- if (cert_priorities->num_priorities > 0) { // Priorities are explicitly set
+ if (cert_priorities->num_priorities >
+ 0) { // Priorities are explicitly set
/* If the certificate priority is explicitly set to only
* X.509 (default) then, according to spec we don't send
* this extension. We check this here to avoid further work in
@@ -238,13 +238,13 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
*/
if (cert_priorities->num_priorities == 1 &&
cert_priorities->priorities[0] ==
- DEFAULT_CERT_TYPE) {
- _gnutls_handshake_log
- ("EXT[%p]: Server certificate type was set to default cert type (%s). "
- "We therefore do not send this extension.\n",
- session,
- gnutls_certificate_type_get_name
- (DEFAULT_CERT_TYPE));
+ DEFAULT_CERT_TYPE) {
+ _gnutls_handshake_log(
+ "EXT[%p]: Server certificate type was set to default cert type (%s). "
+ "We therefore do not send this extension.\n",
+ session,
+ gnutls_certificate_type_get_name(
+ DEFAULT_CERT_TYPE));
// Explicitly set but default ctype, so don't send anything
return 0;
@@ -260,20 +260,18 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
* structure of the code here.
*/
for (i = 0; i < cert_priorities->num_priorities; i++) {
-
cert_type = cert_priorities->priorities[i];
- if (_gnutls_session_is_cert_type_supported
- (session, cert_type, false,
- GNUTLS_CTYPE_SERVER) == 0) {
+ if (_gnutls_session_is_cert_type_supported(
+ session, cert_type, false,
+ GNUTLS_CTYPE_SERVER) == 0) {
/* Check whether we are allowed to store another cert type
* in our buffer. In other words, prevent a possible buffer
* overflow. This situation can occur when a user sets
* duplicate cert types in the priority strings. */
if (num_cert_types >= GNUTLS_CRT_MAX)
- return
- gnutls_assert_val
- (GNUTLS_E_SHORT_MEMORY_BUFFER);
+ return gnutls_assert_val(
+ GNUTLS_E_SHORT_MEMORY_BUFFER);
// Convert to IANA representation
ret = cert_type2IANA(cert_type);
@@ -281,18 +279,19 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- cert_type_IANA = ret; // For readability
+ cert_type_IANA = ret; // For readability
// Add this cert type to our list with supported types
cert_types[num_cert_types] =
- cert_type_IANA;
+ cert_type_IANA;
num_cert_types++;
- _gnutls_handshake_log
- ("EXT[%p]: Server certificate type %s (%d) was queued.\n",
- session,
- gnutls_certificate_type_get_name
- (cert_type), cert_type_IANA);
+ _gnutls_handshake_log(
+ "EXT[%p]: Server certificate type %s (%d) was queued.\n",
+ session,
+ gnutls_certificate_type_get_name(
+ cert_type),
+ cert_type_IANA);
}
}
@@ -301,22 +300,23 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
* extension. Also, if the only supported type is the default type
* we do not send this extension (according to RFC7250).
*/
- if (num_cert_types == 0) { // For now, this should not occur since we only check priorities while pruning.
- _gnutls_handshake_log
- ("EXT[%p]: Server certificate types were set but none of them is supported. "
- "We do not send this extension.\n",
- session);
+ if (num_cert_types ==
+ 0) { // For now, this should not occur since we only check priorities while pruning.
+ _gnutls_handshake_log(
+ "EXT[%p]: Server certificate types were set but none of them is supported. "
+ "We do not send this extension.\n",
+ session);
return 0;
} else if (num_cert_types == 1 &&
IANA2cert_type(cert_types[0]) ==
- DEFAULT_CERT_TYPE) {
- _gnutls_handshake_log
- ("EXT[%p]: The only supported server certificate type is (%s) which is the default. "
- "We therefore do not send this extension.\n",
- session,
- gnutls_certificate_type_get_name
- (DEFAULT_CERT_TYPE));
+ DEFAULT_CERT_TYPE) {
+ _gnutls_handshake_log(
+ "EXT[%p]: The only supported server certificate type is (%s) which is the default. "
+ "We therefore do not send this extension.\n",
+ session,
+ gnutls_certificate_type_get_name(
+ DEFAULT_CERT_TYPE));
return 0;
}
@@ -328,17 +328,16 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
tmp_cert_types.data = cert_types;
tmp_cert_types.size = num_cert_types;
- _gnutls_hello_ext_set_datum(session,
- GNUTLS_EXTENSION_SERVER_CERT_TYPE,
- &tmp_cert_types);
+ _gnutls_hello_ext_set_datum(
+ session, GNUTLS_EXTENSION_SERVER_CERT_TYPE,
+ &tmp_cert_types);
/* Serialize the certificate types into a sequence of octets
* uint8: length of sequence of cert types (1 octet)
* uint8: cert types (0 <= #octets <= 255)
*/
- ret = _gnutls_buffer_append_data_prefix(data, 8,
- cert_types,
- num_cert_types);
+ ret = _gnutls_buffer_append_data_prefix(
+ data, 8, cert_types, num_cert_types);
// Check for errors and cleanup in case of error
if (ret < 0) {
@@ -348,7 +347,7 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
return num_cert_types + 1;
}
}
- } else { // Server mode
+ } else { // Server mode
// Retrieve negotiated server certificate type and send it
cert_type = get_certificate_type(session, GNUTLS_CTYPE_SERVER);
ret = cert_type2IANA(cert_type);
@@ -356,18 +355,18 @@ static int _gnutls_server_cert_type_send_params(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- cert_type_IANA = ret; // For readability
+ cert_type_IANA = ret; // For readability
- _gnutls_handshake_log
- ("EXT[%p]: Confirming to use a %s server certificate type.\n",
- session, gnutls_certificate_type_get_name(cert_type));
+ _gnutls_handshake_log(
+ "EXT[%p]: Confirming to use a %s server certificate type.\n",
+ session, gnutls_certificate_type_get_name(cert_type));
ret = gnutls_buffer_append_data(data, &cert_type_IANA, 1);
if (ret < 0)
return gnutls_assert_val(ret);
- return 1; // sent one byte
+ return 1; // sent one byte
}
// In all other cases don't enable this extension
diff --git a/lib/ext/server_cert_type.h b/lib/ext/server_cert_type.h
index 18c3417f53..3c15b0b7b8 100644
--- a/lib/ext/server_cert_type.h
+++ b/lib/ext/server_cert_type.h
@@ -27,10 +27,10 @@
*/
#ifndef GNUTLS_LIB_EXT_SERVER_CERT_TYPE_H
-# define GNUTLS_LIB_EXT_SERVER_CERT_TYPE_H
+#define GNUTLS_LIB_EXT_SERVER_CERT_TYPE_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_server_cert_type;
-#endif /* GNUTLS_LIB_EXT_SERVER_CERT_TYPE_H */
+#endif /* GNUTLS_LIB_EXT_SERVER_CERT_TYPE_H */
diff --git a/lib/ext/server_name.c b/lib/ext/server_name.c
index e9923c49eb..abd353e6cd 100644
--- a/lib/ext/server_name.c
+++ b/lib/ext/server_name.c
@@ -30,24 +30,22 @@
#include "hello_ext_lib.h"
static int _gnutls_server_name_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_server_name_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
-int
-_gnutls_server_name_set_raw(gnutls_session_t session,
- gnutls_server_name_type_t type,
- const void *name, size_t name_length);
+int _gnutls_server_name_set_raw(gnutls_session_t session,
+ gnutls_server_name_type_t type,
+ const void *name, size_t name_length);
const hello_ext_entry_st ext_mod_server_name = {
.name = "Server Name Indication",
.tls_id = 0,
.gid = GNUTLS_EXTENSION_SERVER_NAME,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.client_parse_point = GNUTLS_EXT_MANDATORY,
.server_parse_point = GNUTLS_EXT_MANDATORY,
.recv_func = _gnutls_server_name_recv_params,
@@ -67,9 +65,9 @@ const hello_ext_entry_st ext_mod_server_name = {
* in the session then it sends the extension to the peer.
*
*/
-static int
-_gnutls_server_name_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_server_name_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t data_size)
{
const unsigned char *p;
uint16_t len, type;
@@ -80,9 +78,8 @@ _gnutls_server_name_recv_params(gnutls_session_t session,
GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
len = _gnutls_read_uint16(data);
if (len == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
if (len != data_size) {
gnutls_assert();
@@ -101,39 +98,35 @@ _gnutls_server_name_recv_params(gnutls_session_t session,
p += 2;
if (len == 0) {
- _gnutls_handshake_log
- ("HSK[%p]: Received server name size of zero\n",
- session);
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ _gnutls_handshake_log(
+ "HSK[%p]: Received server name size of zero\n",
+ session);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
DECR_LEN(data_size, len);
- if (type == 0) { /* NAME_DNS */
+ if (type == 0) { /* NAME_DNS */
if (!_gnutls_dnsname_is_valid((char *)p, len)) {
- _gnutls_handshake_log
- ("HSK[%p]: Server name is not acceptable: '%.*s'\n",
- session, (int)len, p);
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_DISALLOWED_NAME);
+ _gnutls_handshake_log(
+ "HSK[%p]: Server name is not acceptable: '%.*s'\n",
+ session, (int)len, p);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_DISALLOWED_NAME);
}
name.data = (void *)p;
name.size = len;
- _gnutls_hello_ext_unset_priv(session,
- GNUTLS_EXTENSION_SERVER_NAME);
- return _gnutls_hello_ext_set_datum(session,
- GNUTLS_EXTENSION_SERVER_NAME,
- &name);
+ _gnutls_hello_ext_unset_priv(
+ session, GNUTLS_EXTENSION_SERVER_NAME);
+ return _gnutls_hello_ext_set_datum(
+ session, GNUTLS_EXTENSION_SERVER_NAME,
+ &name);
}
p += len;
-
}
-
}
return 0;
@@ -141,16 +134,14 @@ _gnutls_server_name_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_server_name_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_server_name_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
int total_size = 0, ret;
gnutls_datum_t name;
- ret =
- _gnutls_hello_ext_get_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
- &name);
+ ret = _gnutls_hello_ext_get_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
+ &name);
if (ret < 0)
return 0;
@@ -181,9 +172,8 @@ _gnutls_server_name_send_params(gnutls_session_t session,
_gnutls_debug_log("HSK[%p]: sent server name: '%.*s'\n",
session, name.size, name.data);
- ret =
- _gnutls_buffer_append_data_prefix
- (extdata, 16, name.data, name.size);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 16, name.data,
+ name.size);
if (ret < 0)
return gnutls_assert_val(ret);
} else {
@@ -222,10 +212,9 @@ _gnutls_server_name_send_params(gnutls_session_t session,
* decoding error %GNUTLS_E_IDNA_ERROR is returned, otherwise a negative
* error code is returned.
**/
-int
-gnutls_server_name_get(gnutls_session_t session, void *data,
- size_t *data_length,
- unsigned int *type, unsigned int indx)
+int gnutls_server_name_get(gnutls_session_t session, void *data,
+ size_t *data_length, unsigned int *type,
+ unsigned int indx)
{
char *_data = data;
gnutls_datum_t name;
@@ -239,9 +228,8 @@ gnutls_server_name_get(gnutls_session_t session, void *data,
if (indx != 0)
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
- ret =
- _gnutls_hello_ext_get_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
- &name);
+ ret = _gnutls_hello_ext_get_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
+ &name);
if (ret < 0) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -253,7 +241,8 @@ gnutls_server_name_get(gnutls_session_t session, void *data,
*type = GNUTLS_NAME_DNS;
- if (*data_length > name.size) { /* greater since we need one extra byte for the null */
+ if (*data_length >
+ name.size) { /* greater since we need one extra byte for the null */
*data_length = name.size;
memcpy(data, name.data, *data_length);
@@ -267,15 +256,14 @@ gnutls_server_name_get(gnutls_session_t session, void *data,
}
ret = 0;
- cleanup:
+cleanup:
return ret;
}
/* This does not do any conversion not perform any check */
-int
-_gnutls_server_name_set_raw(gnutls_session_t session,
- gnutls_server_name_type_t type,
- const void *name, size_t name_length)
+int _gnutls_server_name_set_raw(gnutls_session_t session,
+ gnutls_server_name_type_t type,
+ const void *name, size_t name_length)
{
int ret;
gnutls_datum_t dname;
@@ -289,9 +277,8 @@ _gnutls_server_name_set_raw(gnutls_session_t session,
dname.data = (void *)name;
dname.size = name_length;
- ret =
- _gnutls_hello_ext_set_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
- &dname);
+ ret = _gnutls_hello_ext_set_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
+ &dname);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -321,10 +308,9 @@ _gnutls_server_name_set_raw(gnutls_session_t session,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_server_name_set(gnutls_session_t session,
- gnutls_server_name_type_t type,
- const void *name, size_t name_length)
+int gnutls_server_name_set(gnutls_session_t session,
+ gnutls_server_name_type_t type, const void *name,
+ size_t name_length)
{
int ret;
gnutls_datum_t idn_name = { NULL, 0 };
@@ -334,7 +320,7 @@ gnutls_server_name_set(gnutls_session_t session,
return GNUTLS_E_INVALID_REQUEST;
}
- if (name_length == 0) { /* unset extension */
+ if (name_length == 0) { /* unset extension */
_gnutls_hello_ext_unset_priv(session,
GNUTLS_EXTENSION_SERVER_NAME);
return 0;
@@ -342,9 +328,9 @@ gnutls_server_name_set(gnutls_session_t session,
ret = gnutls_idna_map(name, name_length, &idn_name, 0);
if (ret < 0) {
- _gnutls_debug_log
- ("unable to convert name %s to IDNA2008 format\n",
- (char *)name);
+ _gnutls_debug_log(
+ "unable to convert name %s to IDNA2008 format\n",
+ (char *)name);
return ret;
}
@@ -362,19 +348,16 @@ unsigned _gnutls_server_name_matches_resumed(gnutls_session_t session)
gnutls_datum_t name1, name2;
int ret;
- ret =
- _gnutls_hello_ext_get_datum(session,
- GNUTLS_EXTENSION_SERVER_NAME, &name1);
- if (ret < 0) { /* no server name in this session */
+ ret = _gnutls_hello_ext_get_datum(session, GNUTLS_EXTENSION_SERVER_NAME,
+ &name1);
+ if (ret < 0) { /* no server name in this session */
name1.data = NULL;
name1.size = 0;
}
- ret =
- _gnutls_hello_ext_get_resumed_datum(session,
- GNUTLS_EXTENSION_SERVER_NAME,
- &name2);
- if (ret < 0) { /* no server name in this session */
+ ret = _gnutls_hello_ext_get_resumed_datum(
+ session, GNUTLS_EXTENSION_SERVER_NAME, &name2);
+ if (ret < 0) { /* no server name in this session */
name2.data = NULL;
name2.size = 0;
}
diff --git a/lib/ext/server_name.h b/lib/ext/server_name.h
index 4730aa444b..b5cdd0ea53 100644
--- a/lib/ext/server_name.h
+++ b/lib/ext/server_name.h
@@ -22,12 +22,12 @@
*/
#ifndef GNUTLS_LIB_EXT_SERVER_NAME_H
-# define GNUTLS_LIB_EXT_SERVER_NAME_H
+#define GNUTLS_LIB_EXT_SERVER_NAME_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_server_name;
unsigned _gnutls_server_name_matches_resumed(gnutls_session_t);
-#endif /* GNUTLS_LIB_EXT_SERVER_NAME_H */
+#endif /* GNUTLS_LIB_EXT_SERVER_NAME_H */
diff --git a/lib/ext/session_ticket.c b/lib/ext/session_ticket.c
index 07b6bca851..8f79119eca 100644
--- a/lib/ext/session_ticket.c
+++ b/lib/ext/session_ticket.c
@@ -45,22 +45,22 @@
#include "db.h"
static int session_ticket_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+ const uint8_t *data, size_t data_size);
static int session_ticket_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
-static int session_ticket_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * _priv);
+ gnutls_buffer_st *extdata);
+static int session_ticket_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv);
static int session_ticket_pack(gnutls_ext_priv_data_t _priv,
- gnutls_buffer_st * ps);
+ gnutls_buffer_st *ps);
static void session_ticket_deinit_data(gnutls_ext_priv_data_t priv);
const hello_ext_entry_st ext_mod_session_ticket = {
.name = "Session Ticket",
.tls_id = 35,
.gid = GNUTLS_EXTENSION_SESSION_TICKET,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
/* This extension must be parsed on session resumption as well; see
* https://gitlab.com/gnutls/gnutls/issues/841 */
.client_parse_point = GNUTLS_EXT_MANDATORY,
@@ -85,8 +85,8 @@ static void deinit_ticket(struct ticket_st *ticket)
free(ticket->encrypted_state);
}
-static int
-unpack_ticket(const gnutls_datum_t * ticket_data, struct ticket_st *ticket)
+static int unpack_ticket(const gnutls_datum_t *ticket_data,
+ struct ticket_st *ticket)
{
const uint8_t *data = ticket_data->data;
size_t data_size = ticket_data->size;
@@ -130,8 +130,8 @@ unpack_ticket(const gnutls_datum_t * ticket_data, struct ticket_st *ticket)
return 0;
}
-static void
-pack_ticket(const struct ticket_st *ticket, gnutls_datum_t * ticket_data)
+static void pack_ticket(const struct ticket_st *ticket,
+ gnutls_datum_t *ticket_data)
{
uint8_t *p;
@@ -156,9 +156,8 @@ pack_ticket(const struct ticket_st *ticket, gnutls_datum_t * ticket_data)
memcpy(p, ticket->mac, TICKET_MAC_SIZE);
}
-static
-int digest_ticket(const gnutls_datum_t * key, struct ticket_st *ticket,
- uint8_t * digest)
+static int digest_ticket(const gnutls_datum_t *key, struct ticket_st *ticket,
+ uint8_t *digest)
{
mac_hd_st digest_hd;
uint16_t length16;
@@ -182,10 +181,9 @@ int digest_ticket(const gnutls_datum_t * key, struct ticket_st *ticket,
return 0;
}
-int
-_gnutls_decrypt_session_ticket(gnutls_session_t session,
- const gnutls_datum_t * ticket_data,
- gnutls_datum_t * state)
+int _gnutls_decrypt_session_ticket(gnutls_session_t session,
+ const gnutls_datum_t *ticket_data,
+ gnutls_datum_t *state)
{
cipher_hd_st cipher_hd;
gnutls_datum_t IV;
@@ -195,11 +193,9 @@ _gnutls_decrypt_session_ticket(gnutls_session_t session,
int ret;
/* Retrieve ticket decryption keys */
- if (_gnutls_get_session_ticket_decryption_key(session,
- ticket_data,
- &stek_key_name,
- &stek_mac_key,
- &stek_cipher_key) < 0)
+ if (_gnutls_get_session_ticket_decryption_key(
+ session, ticket_data, &stek_key_name, &stek_mac_key,
+ &stek_cipher_key) < 0)
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
ret = unpack_ticket(ticket_data, &ticket);
@@ -233,10 +229,8 @@ _gnutls_decrypt_session_ticket(gnutls_session_t session,
/* Decrypt encrypted_state */
IV.data = ticket.IV;
IV.size = TICKET_IV_SIZE;
- ret =
- _gnutls_cipher_init(&cipher_hd,
- cipher_to_entry(TICKET_CIPHER),
- &stek_cipher_key, &IV, 0);
+ ret = _gnutls_cipher_init(&cipher_hd, cipher_to_entry(TICKET_CIPHER),
+ &stek_cipher_key, &IV, 0);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
gnutls_assert();
@@ -258,20 +252,18 @@ _gnutls_decrypt_session_ticket(gnutls_session_t session,
ret = 0;
- cleanup2:
+cleanup2:
_gnutls_cipher_deinit(&cipher_hd);
- cleanup:
+cleanup:
deinit_ticket(&ticket);
return ret;
-
}
-int
-_gnutls_encrypt_session_ticket(gnutls_session_t session,
- const gnutls_datum_t * state,
- gnutls_datum_t * ticket_data)
+int _gnutls_encrypt_session_ticket(gnutls_session_t session,
+ const gnutls_datum_t *state,
+ gnutls_datum_t *ticket_data)
{
cipher_hd_st cipher_hd;
gnutls_datum_t IV;
@@ -283,22 +275,20 @@ _gnutls_encrypt_session_ticket(gnutls_session_t session,
int ret;
encrypted_state.size =
- ((state->size + TICKET_BLOCK_SIZE -
- 1) / TICKET_BLOCK_SIZE) * TICKET_BLOCK_SIZE;
- result.size =
- TICKET_KEY_NAME_SIZE + TICKET_IV_SIZE + 2 + encrypted_state.size +
- TICKET_MAC_SIZE;
+ ((state->size + TICKET_BLOCK_SIZE - 1) / TICKET_BLOCK_SIZE) *
+ TICKET_BLOCK_SIZE;
+ result.size = TICKET_KEY_NAME_SIZE + TICKET_IV_SIZE + 2 +
+ encrypted_state.size + TICKET_MAC_SIZE;
result.data = gnutls_calloc(1, result.size);
if (!result.data) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
encrypted_state.data =
- result.data + TICKET_KEY_NAME_SIZE + TICKET_IV_SIZE + 2;
+ result.data + TICKET_KEY_NAME_SIZE + TICKET_IV_SIZE + 2;
memcpy(encrypted_state.data, state->data, state->size);
/* Retrieve ticket encryption keys */
- if (_gnutls_get_session_ticket_encryption_key(session,
- &stek_key_name,
+ if (_gnutls_get_session_ticket_encryption_key(session, &stek_key_name,
&stek_mac_key,
&stek_cipher_key) < 0) {
ret = GNUTLS_E_ENCRYPTION_FAILED;
@@ -315,10 +305,8 @@ _gnutls_encrypt_session_ticket(gnutls_session_t session,
goto cleanup;
}
- ret =
- _gnutls_cipher_init(&cipher_hd,
- cipher_to_entry(TICKET_CIPHER),
- &stek_cipher_key, &IV, 1);
+ ret = _gnutls_cipher_init(&cipher_hd, cipher_to_entry(TICKET_CIPHER),
+ &stek_cipher_key, &IV, 1);
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
gnutls_assert();
@@ -350,17 +338,16 @@ _gnutls_encrypt_session_ticket(gnutls_session_t session,
ticket_data->size = result.size;
result.data = NULL;
- cleanup2:
+cleanup2:
_gnutls_cipher_deinit(&cipher_hd);
- cleanup:
+cleanup:
_gnutls_free_datum(&result);
return ret;
}
-static int
-unpack_session(gnutls_session_t session, const gnutls_datum_t * state)
+static int unpack_session(gnutls_session_t session, const gnutls_datum_t *state)
{
int ret;
@@ -379,16 +366,15 @@ unpack_session(gnutls_session_t session, const gnutls_datum_t * state)
return 0;
}
-static int
-session_ticket_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int session_ticket_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
gnutls_datum_t ticket_data;
gnutls_datum_t state;
int ret;
- if (session->
- internals.flags & (GNUTLS_NO_TICKETS | GNUTLS_NO_TICKETS_TLS12))
+ if (session->internals.flags &
+ (GNUTLS_NO_TICKETS | GNUTLS_NO_TICKETS_TLS12))
return 0;
if (session->security_parameters.entity == GNUTLS_SERVER) {
@@ -400,9 +386,8 @@ session_ticket_recv_params(gnutls_session_t session,
ticket_data.data = (void *)data;
ticket_data.size = data_size;
- if ((ret =
- _gnutls_decrypt_session_ticket(session, &ticket_data,
- &state)) == 0) {
+ if ((ret = _gnutls_decrypt_session_ticket(session, &ticket_data,
+ &state)) == 0) {
ret = unpack_session(session, &state);
_gnutls_free_datum(&state);
@@ -412,7 +397,7 @@ session_ticket_recv_params(gnutls_session_t session,
session->internals.session_ticket_renew = 1;
return 0;
}
- } else { /* Client */
+ } else { /* Client */
if (data_size == 0) {
session->internals.session_ticket_renew = 1;
@@ -426,15 +411,15 @@ session_ticket_recv_params(gnutls_session_t session,
/* returns a positive number if we send the extension data, (0) if we
do not want to send it, and a negative number on failure.
*/
-static int
-session_ticket_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int session_ticket_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
session_ticket_ext_st *priv = NULL;
gnutls_ext_priv_data_t epriv;
int ret;
- if (session->
- internals.flags & (GNUTLS_NO_TICKETS | GNUTLS_NO_TICKETS_TLS12))
+ if (session->internals.flags &
+ (GNUTLS_NO_TICKETS | GNUTLS_NO_TICKETS_TLS12))
return 0;
if (session->security_parameters.entity == GNUTLS_SERVER) {
@@ -442,10 +427,8 @@ session_ticket_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
return GNUTLS_E_INT_RET_0;
}
} else {
- ret =
- _gnutls_hello_ext_get_resumed_priv(session,
- GNUTLS_EXTENSION_SESSION_TICKET,
- &epriv);
+ ret = _gnutls_hello_ext_get_resumed_priv(
+ session, GNUTLS_EXTENSION_SESSION_TICKET, &epriv);
if (ret >= 0)
priv = epriv;
@@ -458,11 +441,9 @@ session_ticket_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
return 0;
if (priv->session_ticket_len > 0) {
- ret =
- _gnutls_buffer_append_data(extdata,
- priv->session_ticket,
- priv->
- session_ticket_len);
+ ret = _gnutls_buffer_append_data(
+ extdata, priv->session_ticket,
+ priv->session_ticket_len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -480,8 +461,8 @@ static void session_ticket_deinit_data(gnutls_ext_priv_data_t epriv)
gnutls_free(priv);
}
-static int
-session_ticket_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
+static int session_ticket_pack(gnutls_ext_priv_data_t epriv,
+ gnutls_buffer_st *ps)
{
session_ticket_ext_st *priv = epriv;
int ret;
@@ -491,8 +472,8 @@ session_ticket_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
return 0;
}
-static int
-session_ticket_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
+static int session_ticket_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv)
{
session_ticket_ext_st *priv = NULL;
int ret;
@@ -514,7 +495,7 @@ session_ticket_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
return 0;
- error:
+error:
gnutls_free(priv);
return ret;
}
@@ -532,7 +513,7 @@ session_ticket_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
*
* Since: 2.10.0
**/
-int gnutls_session_ticket_key_generate(gnutls_datum_t * key)
+int gnutls_session_ticket_key_generate(gnutls_datum_t *key)
{
if (_gnutls_fips_mode_enabled()) {
int ret;
@@ -601,14 +582,13 @@ int gnutls_session_ticket_enable_client(gnutls_session_t session)
*
* Since: 2.10.0
**/
-int
-gnutls_session_ticket_enable_server(gnutls_session_t session,
- const gnutls_datum_t * key)
+int gnutls_session_ticket_enable_server(gnutls_session_t session,
+ const gnutls_datum_t *key)
{
int ret;
- if (!session || !key || key->size != TICKET_MASTER_KEY_SIZE
- || !key->data) {
+ if (!session || !key || key->size != TICKET_MASTER_KEY_SIZE ||
+ !key->data) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
@@ -641,8 +621,8 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
gnutls_datum_t ticket_data;
if (again == 0) {
- if (session->internals.flags & (GNUTLS_NO_TICKETS |
- GNUTLS_NO_TICKETS_TLS12)) {
+ if (session->internals.flags &
+ (GNUTLS_NO_TICKETS | GNUTLS_NO_TICKETS_TLS12)) {
return 0;
}
if (!session->key.stek_initialized) {
@@ -652,17 +632,15 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
return 0;
}
- _gnutls_handshake_log
- ("HSK[%p]: sending session ticket\n", session);
+ _gnutls_handshake_log("HSK[%p]: sending session ticket\n",
+ session);
/* XXX: Temporarily set write algorithms to be used.
_gnutls_write_connection_state_init() does this job, but it also
triggers encryption, while NewSessionTicket should not be
encrypted in the record layer. */
- ret =
- _gnutls_epoch_set_keys(session,
- session->security_parameters.
- epoch_next, 0);
+ ret = _gnutls_epoch_set_keys(
+ session, session->security_parameters.epoch_next, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -672,10 +650,9 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
* purposes than the TLS1.0 session ID. Ensure that there is an internally
* set value which the server will see on the original and resumed sessions */
if (!session->internals.resumed) {
- ret =
- _gnutls_generate_session_id
- (session->security_parameters.session_id,
- &session->security_parameters.session_id_size);
+ ret = _gnutls_generate_session_id(
+ session->security_parameters.session_id,
+ &session->security_parameters.session_id_size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -683,7 +660,7 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
}
session->security_parameters.epoch_write =
- session->security_parameters.epoch_next;
+ session->security_parameters.epoch_next;
/* Pack security parameters. */
ret = _gnutls_session_pack(session, &state);
@@ -693,9 +670,8 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
}
/* Generate an encrypted ticket */
- ret =
- _gnutls_encrypt_session_ticket(session, &state,
- &ticket_data);
+ ret = _gnutls_encrypt_session_ticket(session, &state,
+ &ticket_data);
session->security_parameters.epoch_write = epoch_saved;
_gnutls_free_datum(&state);
if (ret < 0) {
@@ -703,8 +679,8 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
return ret;
}
- bufel =
- _gnutls_handshake_alloc(session, 4 + 2 + ticket_data.size);
+ bufel = _gnutls_handshake_alloc(session,
+ 4 + 2 + ticket_data.size);
if (!bufel) {
gnutls_assert();
_gnutls_free_datum(&ticket_data);
@@ -746,8 +722,8 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
session_ticket_ext_st *priv = NULL;
gnutls_ext_priv_data_t epriv;
- if (session->internals.flags & (GNUTLS_NO_TICKETS |
- GNUTLS_NO_TICKETS_TLS12))
+ if (session->internals.flags &
+ (GNUTLS_NO_TICKETS | GNUTLS_NO_TICKETS_TLS12))
return 0;
if (!session->internals.session_ticket_renew)
return 0;
@@ -760,13 +736,11 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
mbuffer_st *bufel = NULL;
have = gnutls_record_check_pending(session) +
- record_check_unprocessed(session);
+ record_check_unprocessed(session);
if (have != 0) {
- bufel =
- _mbuffer_head_get_first(&session->
- internals.record_buffer,
- NULL);
+ bufel = _mbuffer_head_get_first(
+ &session->internals.record_buffer, NULL);
}
if (have == 0 || (bufel && bufel->type != GNUTLS_HANDSHAKE)) {
@@ -776,9 +750,8 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
}
}
- ret = _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
- 0, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_NEW_SESSION_TICKET, 0, &buf);
if (ret < 0)
return gnutls_assert_val_fatal(ret);
@@ -795,8 +768,8 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
ticket_len = _gnutls_read_uint16(p);
p += 2;
- DECR_LENGTH_COM(data_size, ticket_len, ret =
- GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
+ DECR_LENGTH_COM(data_size, ticket_len,
+ ret = GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
goto error);
priv = gnutls_calloc(1, sizeof(*priv));
@@ -807,7 +780,7 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
}
if (ticket_len > 0) {
priv->session_ticket =
- gnutls_realloc_fast(priv->session_ticket, ticket_len);
+ gnutls_realloc_fast(priv->session_ticket, ticket_len);
if (!priv->session_ticket) {
gnutls_free(priv);
gnutls_assert();
@@ -820,10 +793,9 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
epriv = priv;
/* Discard the current session ID. (RFC5077 3.4) */
- ret =
- _gnutls_generate_session_id(session->security_parameters.session_id,
- &session->security_parameters.
- session_id_size);
+ ret = _gnutls_generate_session_id(
+ session->security_parameters.session_id,
+ &session->security_parameters.session_id_size);
if (ret < 0) {
gnutls_assert();
session_ticket_deinit_data(epriv);
@@ -835,10 +807,10 @@ int _gnutls_recv_new_session_ticket(gnutls_session_t session)
_gnutls_handshake_log("HSK[%p]: received session ticket\n", session);
session->internals.hsk_flags |= HSK_TICKET_RECEIVED;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SESSION_TICKET, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_SESSION_TICKET,
+ epriv);
- error:
+error:
_gnutls_buffer_clear(&buf);
return ret;
diff --git a/lib/ext/session_ticket.h b/lib/ext/session_ticket.h
index abc1c06616..660c9d3def 100644
--- a/lib/ext/session_ticket.h
+++ b/lib/ext/session_ticket.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_EXT_SESSION_TICKET_H
-# define GNUTLS_LIB_EXT_SESSION_TICKET_H
+#define GNUTLS_LIB_EXT_SESSION_TICKET_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_session_ticket;
@@ -31,11 +31,11 @@ int _gnutls_send_new_session_ticket(gnutls_session_t session, int again);
int _gnutls_recv_new_session_ticket(gnutls_session_t session);
int _gnutls_encrypt_session_ticket(gnutls_session_t session,
- const gnutls_datum_t * state,
- gnutls_datum_t * ticket_data);
+ const gnutls_datum_t *state,
+ gnutls_datum_t *ticket_data);
int _gnutls_decrypt_session_ticket(gnutls_session_t session,
- const gnutls_datum_t * ticket_data,
- gnutls_datum_t * state);
+ const gnutls_datum_t *ticket_data,
+ gnutls_datum_t *state);
void _gnutls_session_ticket_disable_server(gnutls_session_t session);
-#endif /* GNUTLS_LIB_EXT_SESSION_TICKET_H */
+#endif /* GNUTLS_LIB_EXT_SESSION_TICKET_H */
diff --git a/lib/ext/signature.c b/lib/ext/signature.c
index 98aa80f8d3..6bc11260b8 100644
--- a/lib/ext/signature.c
+++ b/lib/ext/signature.c
@@ -40,29 +40,26 @@
* Patch the extension for them.
*/
#ifdef ENABLE_GOST
-# define GOST_SIG_FIXUP_SCHANNEL
+#define GOST_SIG_FIXUP_SCHANNEL
#endif
-static int _gnutls_signature_algorithm_recv_params(gnutls_session_t
- session,
- const uint8_t * data,
+static int _gnutls_signature_algorithm_recv_params(gnutls_session_t session,
+ const uint8_t *data,
size_t data_size);
-static int _gnutls_signature_algorithm_send_params(gnutls_session_t
- session,
- gnutls_buffer_st * extdata);
+static int _gnutls_signature_algorithm_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata);
static void signature_algorithms_deinit_data(gnutls_ext_priv_data_t priv);
static int signature_algorithms_pack(gnutls_ext_priv_data_t epriv,
- gnutls_buffer_st * ps);
-static int signature_algorithms_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * _priv);
+ gnutls_buffer_st *ps);
+static int signature_algorithms_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv);
const hello_ext_entry_st ext_mod_sig = {
.name = "Signature Algorithms",
.tls_id = 13,
.gid = GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
.recv_func = _gnutls_signature_algorithm_recv_params,
@@ -82,9 +79,8 @@ typedef struct {
/* generates a SignatureAndHashAlgorithm structure with length as prefix
* by using the setup priorities.
*/
-int
-_gnutls_sign_algorithm_write_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+int _gnutls_sign_algorithm_write_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
uint8_t *p;
unsigned int len, i;
@@ -104,22 +100,22 @@ _gnutls_sign_algorithm_write_params(gnutls_session_t session,
if (HAVE_UNKNOWN_SIGAID(aid))
continue;
- if (prev && prev->id[0] == aid->id[0]
- && prev->id[1] == aid->id[1])
+ if (prev && prev->id[0] == aid->id[0] &&
+ prev->id[1] == aid->id[1])
continue;
/* Ignore non-GOST sign types for CertReq */
if (session->security_parameters.cs &&
- _gnutls_kx_is_vko_gost(session->security_parameters.
- cs->kx_algorithm)
- && !_sign_is_gost(session->internals.priorities->
- sigalg.entry[i]))
+ _gnutls_kx_is_vko_gost(
+ session->security_parameters.cs->kx_algorithm) &&
+ !_sign_is_gost(
+ session->internals.priorities->sigalg.entry[i]))
continue;
- _gnutls_handshake_log
- ("EXT[%p]: sent signature algo (%d.%d) %s\n", session,
- (int)aid->id[0], (int)aid->id[1],
- session->internals.priorities->sigalg.entry[i]->name);
+ _gnutls_handshake_log(
+ "EXT[%p]: sent signature algo (%d.%d) %s\n", session,
+ (int)aid->id[0], (int)aid->id[1],
+ session->internals.priorities->sigalg.entry[i]->name);
len += 2;
if (unlikely(len >= sizeof(buffer))) {
@@ -140,9 +136,8 @@ _gnutls_sign_algorithm_write_params(gnutls_session_t session,
/* Parses the Signature Algorithm structure and stores data into
* session->security_parameters.extensions.
*/
-int
-_gnutls_sign_algorithm_parse_data(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+int _gnutls_sign_algorithm_parse_data(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
unsigned int sig, i;
sig_ext_st *priv;
@@ -152,7 +147,7 @@ _gnutls_sign_algorithm_parse_data(gnutls_session_t session,
if (data_size == 0 || data_size % 2 != 0)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
- if (ver == NULL) { /* assume TLS 1.2 semantics */
+ if (ver == NULL) { /* assume TLS 1.2 semantics */
ver = version_to_entry(GNUTLS_TLS1_2);
if (unlikely(ver == NULL)) {
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -173,22 +168,21 @@ _gnutls_sign_algorithm_parse_data(gnutls_session_t session,
sig = _gnutls_tls_aid_to_sign(id[0], id[1], ver);
- _gnutls_handshake_log
- ("EXT[%p]: rcvd signature algo (%d.%d) %s\n", session,
- (int)id[0], (int)id[1], gnutls_sign_get_name(sig));
+ _gnutls_handshake_log(
+ "EXT[%p]: rcvd signature algo (%d.%d) %s\n", session,
+ (int)id[0], (int)id[1], gnutls_sign_get_name(sig));
if (sig != GNUTLS_SIGN_UNKNOWN) {
if (priv->sign_algorithms_size == MAX_ALGOS)
break;
priv->sign_algorithms[priv->sign_algorithms_size++] =
- sig;
+ sig;
}
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
- epriv);
+ _gnutls_hello_ext_set_priv(
+ session, GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS, epriv);
return 0;
}
@@ -202,9 +196,9 @@ _gnutls_sign_algorithm_parse_data(gnutls_session_t session,
* then it is an error;
*/
-static int
-_gnutls_signature_algorithm_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_signature_algorithm_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t data_size)
{
int ret;
@@ -227,21 +221,18 @@ _gnutls_signature_algorithm_recv_params(gnutls_session_t session,
DECR_LEN(data_size, len);
if (data_size > 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
- ret =
- _gnutls_sign_algorithm_parse_data(session,
- data + 2, len);
+ ret = _gnutls_sign_algorithm_parse_data(session,
+ data + 2, len);
if (ret < 0) {
gnutls_assert();
return ret;
}
} else {
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
}
@@ -250,9 +241,8 @@ _gnutls_signature_algorithm_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_signature_algorithm_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_signature_algorithm_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
int ret;
size_t init_length = extdata->length;
@@ -262,12 +252,11 @@ _gnutls_signature_algorithm_send_params(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
/* this function sends the client extension data */
- if (session->security_parameters.entity == GNUTLS_CLIENT
- && _gnutls_version_has_selectable_sighash(ver)) {
+ if (session->security_parameters.entity == GNUTLS_CLIENT &&
+ _gnutls_version_has_selectable_sighash(ver)) {
if (session->internals.priorities->sigalg.size > 0) {
- ret =
- _gnutls_sign_algorithm_write_params(session,
- extdata);
+ ret = _gnutls_sign_algorithm_write_params(session,
+ extdata);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -280,7 +269,7 @@ _gnutls_signature_algorithm_send_params(gnutls_session_t session,
}
#ifdef GOST_SIG_FIXUP_SCHANNEL
-static bool is_gost_sig_present(sig_ext_st * priv)
+static bool is_gost_sig_present(sig_ext_st *priv)
{
unsigned i;
const gnutls_sign_entry_st *se;
@@ -304,10 +293,8 @@ static bool is_gost_sig_present(sig_ext_st * priv)
* returned.
*/
gnutls_sign_algorithm_t
-_gnutls_session_get_sign_algo(gnutls_session_t session,
- gnutls_pcert_st * cert,
- gnutls_privkey_t privkey,
- unsigned client_cert,
+_gnutls_session_get_sign_algo(gnutls_session_t session, gnutls_pcert_st *cert,
+ gnutls_privkey_t privkey, unsigned client_cert,
gnutls_kx_algorithm_t kx_algorithm)
{
unsigned i;
@@ -323,10 +310,8 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
cert_algo = gnutls_pubkey_get_pk_algorithm(cert->pubkey, NULL);
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS, &epriv);
if (ret < 0)
priv = NULL;
else
@@ -341,14 +326,13 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
* as if correct algorithm was sent.
*/
if (_gnutls_kx_is_vko_gost(kx_algorithm) &&
- (!priv ||
- !is_gost_sig_present(priv) ||
+ (!priv || !is_gost_sig_present(priv) ||
!_gnutls_version_has_selectable_sighash(ver))) {
gnutls_digest_algorithm_t dig;
- _gnutls_handshake_log
- ("EXT[%p]: GOST KX, but no GOST SigAlgs received, patching up.",
- session);
+ _gnutls_handshake_log(
+ "EXT[%p]: GOST KX, but no GOST SigAlgs received, patching up.",
+ session);
if (cert_algo == GNUTLS_PK_GOST_01)
dig = GNUTLS_DIG_GOSTR_94;
@@ -361,8 +345,8 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
ret = gnutls_pk_to_sign(cert_algo, dig);
- if (!client_cert
- && _gnutls_session_sign_algo_enabled(session, ret) < 0)
+ if (!client_cert &&
+ _gnutls_session_sign_algo_enabled(session, ret) < 0)
goto fail;
return ret;
}
@@ -372,8 +356,8 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
/* none set, allow SHA-1 only */
ret = gnutls_pk_to_sign(cert_algo, GNUTLS_DIG_SHA1);
- if (!client_cert
- && _gnutls_session_sign_algo_enabled(session, ret) < 0)
+ if (!client_cert &&
+ _gnutls_session_sign_algo_enabled(session, ret) < 0)
goto fail;
return ret;
}
@@ -386,17 +370,17 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
_gnutls_handshake_log("checking cert compat with %s\n",
se->name);
- if (_gnutls_privkey_compatible_with_sig
- (privkey, priv->sign_algorithms[i]) == 0)
+ if (_gnutls_privkey_compatible_with_sig(
+ privkey, priv->sign_algorithms[i]) == 0)
continue;
if (sign_supports_cert_pk_algorithm(se, cert_algo) != 0) {
- if (_gnutls_pubkey_compatible_with_sig
- (session, cert->pubkey, ver, se->id) < 0)
+ if (_gnutls_pubkey_compatible_with_sig(
+ session, cert->pubkey, ver, se->id) < 0)
continue;
- if (_gnutls_session_sign_algo_enabled
- (session, se->id) < 0)
+ if (_gnutls_session_sign_algo_enabled(session, se->id) <
+ 0)
continue;
return se->id;
@@ -407,12 +391,13 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
* using algorithms we don't always enable by default (e.g., DSA-SHA1),
* continue and sign with it. */
if (client_cert) {
- _gnutls_audit_log(session,
- "No shared signature schemes with peer for client certificate (%s). Is the certificate a legacy one?\n",
- gnutls_pk_get_name(cert_algo));
+ _gnutls_audit_log(
+ session,
+ "No shared signature schemes with peer for client certificate (%s). Is the certificate a legacy one?\n",
+ gnutls_pk_get_name(cert_algo));
}
- fail:
+fail:
return GNUTLS_SIGN_UNKNOWN;
}
@@ -420,9 +405,8 @@ _gnutls_session_get_sign_algo(gnutls_session_t session,
* This means that it is enabled by the priority functions,
* and in case of a server a matching certificate exists.
*/
-int
-_gnutls_session_sign_algo_enabled(gnutls_session_t session,
- gnutls_sign_algorithm_t sig)
+int _gnutls_session_sign_algo_enabled(gnutls_session_t session,
+ gnutls_sign_algorithm_t sig)
{
unsigned i;
const version_entry_st *ver = get_version(session);
@@ -439,7 +423,8 @@ _gnutls_session_sign_algo_enabled(gnutls_session_t session,
const gnutls_sign_entry_st *se;
se = _gnutls_sign_to_entry(sig);
- if (se == NULL || (se->flags & GNUTLS_SIGN_FLAG_TLS13_OK) == 0) {
+ if (se == NULL ||
+ (se->flags & GNUTLS_SIGN_FLAG_TLS13_OK) == 0) {
gnutls_assert();
goto disallowed;
}
@@ -447,11 +432,11 @@ _gnutls_session_sign_algo_enabled(gnutls_session_t session,
for (i = 0; i < session->internals.priorities->sigalg.size; i++) {
if (session->internals.priorities->sigalg.entry[i]->id == sig) {
- return 0; /* ok */
+ return 0; /* ok */
}
}
- disallowed:
+disallowed:
_gnutls_handshake_log("Signature algorithm %s is not enabled\n",
gnutls_sign_algorithm_get_name(sig));
return GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM;
@@ -462,8 +447,8 @@ static void signature_algorithms_deinit_data(gnutls_ext_priv_data_t priv)
gnutls_free(priv);
}
-static int
-signature_algorithms_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
+static int signature_algorithms_pack(gnutls_ext_priv_data_t epriv,
+ gnutls_buffer_st *ps)
{
sig_ext_st *priv = epriv;
int ret, i;
@@ -475,9 +460,8 @@ signature_algorithms_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
return 0;
}
-static int
-signature_algorithms_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * _priv)
+static int signature_algorithms_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv)
{
sig_ext_st *priv;
int i, ret;
@@ -499,7 +483,7 @@ signature_algorithms_unpack(gnutls_buffer_st * ps,
return 0;
- error:
+error:
gnutls_free(priv);
return ret;
}
@@ -525,9 +509,8 @@ signature_algorithms_unpack(gnutls_buffer_st * ps,
*
* Since: 2.10.0
**/
-int
-gnutls_sign_algorithm_get_requested(gnutls_session_t session,
- size_t indx, gnutls_sign_algorithm_t * algo)
+int gnutls_sign_algorithm_get_requested(gnutls_session_t session, size_t indx,
+ gnutls_sign_algorithm_t *algo)
{
const version_entry_st *ver = get_version(session);
sig_ext_st *priv;
@@ -537,18 +520,16 @@ gnutls_sign_algorithm_get_requested(gnutls_session_t session,
if (unlikely(ver == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS, &epriv);
if (ret < 0) {
gnutls_assert();
return ret;
}
priv = epriv;
- if (!_gnutls_version_has_selectable_sighash(ver)
- || priv->sign_algorithms_size == 0) {
+ if (!_gnutls_version_has_selectable_sighash(ver) ||
+ priv->sign_algorithms_size == 0) {
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
diff --git a/lib/ext/signature.h b/lib/ext/signature.h
index 071dfd3658..9431665e3a 100644
--- a/lib/ext/signature.h
+++ b/lib/ext/signature.h
@@ -21,25 +21,23 @@
*/
#ifndef GNUTLS_LIB_EXT_SIGNATURE_H
-# define GNUTLS_LIB_EXT_SIGNATURE_H
+#define GNUTLS_LIB_EXT_SIGNATURE_H
/* signature algorithms extension
*/
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_sig;
gnutls_sign_algorithm_t
-_gnutls_session_get_sign_algo(gnutls_session_t session,
- gnutls_pcert_st * cert,
- gnutls_privkey_t privkey,
- unsigned client_cert,
+_gnutls_session_get_sign_algo(gnutls_session_t session, gnutls_pcert_st *cert,
+ gnutls_privkey_t privkey, unsigned client_cert,
gnutls_kx_algorithm_t kx_algorithm);
int _gnutls_sign_algorithm_parse_data(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+ const uint8_t *data, size_t data_size);
int _gnutls_sign_algorithm_write_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
int _gnutls_session_sign_algo_enabled(gnutls_session_t session,
gnutls_sign_algorithm_t sig);
@@ -57,4 +55,4 @@ gnutls_sign_algorithm_set_client(gnutls_session_t session,
session->security_parameters.client_sign_algo = sign;
}
-#endif /* GNUTLS_LIB_EXT_SIGNATURE_H */
+#endif /* GNUTLS_LIB_EXT_SIGNATURE_H */
diff --git a/lib/ext/srp.c b/lib/ext/srp.c
index bb001e909e..24631d4bd2 100644
--- a/lib/ext/srp.c
+++ b/lib/ext/srp.c
@@ -25,43 +25,40 @@
#ifdef ENABLE_SRP
-# include "auth.h"
-# include <auth/srp_kx.h>
-# include "errors.h"
-# include "algorithms.h"
-# include <num.h>
-# include <hello_ext.h>
-
-static int _gnutls_srp_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * _priv);
-static int _gnutls_srp_pack(gnutls_ext_priv_data_t epriv,
- gnutls_buffer_st * ps);
+#include "auth.h"
+#include <auth/srp_kx.h>
+#include "errors.h"
+#include "algorithms.h"
+#include <num.h>
+#include <hello_ext.h>
+
+static int _gnutls_srp_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv);
+static int _gnutls_srp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st *ps);
static void _gnutls_srp_deinit_data(gnutls_ext_priv_data_t epriv);
-static int _gnutls_srp_recv_params(gnutls_session_t state,
- const uint8_t * data, size_t data_size);
+static int _gnutls_srp_recv_params(gnutls_session_t state, const uint8_t *data,
+ size_t data_size);
static int _gnutls_srp_send_params(gnutls_session_t state,
- gnutls_buffer_st * extdata);
-
-const hello_ext_entry_st ext_mod_srp = {
- .name = "SRP",
- .tls_id = 12,
- .gid = GNUTLS_EXTENSION_SRP,
- .client_parse_point = GNUTLS_EXT_TLS,
- .server_parse_point = GNUTLS_EXT_TLS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- .recv_func = _gnutls_srp_recv_params,
- .send_func = _gnutls_srp_send_params,
- .pack_func = _gnutls_srp_pack,
- .unpack_func = _gnutls_srp_unpack,
- .deinit_func = _gnutls_srp_deinit_data,
- .cannot_be_overriden = 1
-};
-
-static int
-_gnutls_srp_recv_params(gnutls_session_t session, const uint8_t * data,
- size_t data_size)
+ gnutls_buffer_st *extdata);
+
+const hello_ext_entry_st ext_mod_srp = { .name = "SRP",
+ .tls_id = 12,
+ .gid = GNUTLS_EXTENSION_SRP,
+ .client_parse_point = GNUTLS_EXT_TLS,
+ .server_parse_point = GNUTLS_EXT_TLS,
+ .validity =
+ GNUTLS_EXT_FLAG_TLS |
+ GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ .recv_func = _gnutls_srp_recv_params,
+ .send_func = _gnutls_srp_send_params,
+ .pack_func = _gnutls_srp_pack,
+ .unpack_func = _gnutls_srp_unpack,
+ .deinit_func = _gnutls_srp_deinit_data,
+ .cannot_be_overriden = 1 };
+
+static int _gnutls_srp_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
uint8_t len;
gnutls_ext_priv_data_t epriv;
@@ -102,8 +99,8 @@ static unsigned have_srp_ciphersuites(gnutls_session_t session)
for (j = 0; j < session->internals.priorities->cs.size; j++) {
kx = session->internals.priorities->cs.entry[j]->kx_algorithm;
- if (kx == GNUTLS_KX_SRP || kx == GNUTLS_KX_SRP_RSA
- || kx == GNUTLS_KX_SRP_DSS)
+ if (kx == GNUTLS_KX_SRP || kx == GNUTLS_KX_SRP_RSA ||
+ kx == GNUTLS_KX_SRP_DSS)
return 1;
}
@@ -113,16 +110,17 @@ static unsigned have_srp_ciphersuites(gnutls_session_t session)
/* returns data_size or a negative number on failure
* data is allocated locally
*/
-static int
-_gnutls_srp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int _gnutls_srp_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
unsigned len;
int ret;
gnutls_ext_priv_data_t epriv;
srp_ext_st *priv = NULL;
char *username = NULL, *password = NULL;
- gnutls_srp_client_credentials_t cred = (gnutls_srp_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_SRP);
+ gnutls_srp_client_credentials_t cred =
+ (gnutls_srp_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_SRP);
if (session->security_parameters.entity != GNUTLS_CLIENT)
return 0;
@@ -139,12 +137,11 @@ _gnutls_srp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
if (priv == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- if (cred->username != NULL) { /* send username */
+ if (cred->username != NULL) { /* send username */
len = MIN(strlen(cred->username), 255);
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8,
- cred->username, len);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 8,
+ cred->username, len);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -163,16 +160,16 @@ _gnutls_srp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SRP, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_SRP,
+ epriv);
return len + 1;
} else if (cred->get_function != NULL) {
/* Try the callback
*/
- if (cred->get_function(session, &username, &password) < 0
- || username == NULL || password == NULL) {
+ if (cred->get_function(session, &username, &password) < 0 ||
+ username == NULL || password == NULL) {
gnutls_assert();
return GNUTLS_E_ILLEGAL_SRP_USERNAME;
}
@@ -182,23 +179,22 @@ _gnutls_srp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
priv->username = username;
priv->password = password;
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8,
- username, len);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 8, username,
+ len);
if (ret < 0) {
ret = gnutls_assert_val(ret);
goto cleanup;
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SRP, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_SRP,
+ epriv);
return len + 1;
}
return 0;
- cleanup:
+cleanup:
gnutls_free(username);
gnutls_free(password);
gnutls_free(priv);
@@ -215,7 +211,7 @@ static void _gnutls_srp_deinit_data(gnutls_ext_priv_data_t epriv)
gnutls_free(priv);
}
-static int _gnutls_srp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
+static int _gnutls_srp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st *ps)
{
srp_ext_st *priv = epriv;
int ret;
@@ -233,8 +229,8 @@ static int _gnutls_srp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
return 0;
}
-static int
-_gnutls_srp_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
+static int _gnutls_srp_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv)
{
srp_ext_st *priv;
int ret;
@@ -259,10 +255,10 @@ _gnutls_srp_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
return 0;
- error:
+error:
_gnutls_free_datum(&username);
_gnutls_free_datum(&password);
return ret;
}
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
diff --git a/lib/ext/srp.h b/lib/ext/srp.h
index 67398ba7b4..4a1fde672f 100644
--- a/lib/ext/srp.h
+++ b/lib/ext/srp.h
@@ -21,14 +21,17 @@
*/
#ifndef GNUTLS_LIB_EXT_SRP_H
-# define GNUTLS_LIB_EXT_SRP_H
+#define GNUTLS_LIB_EXT_SRP_H
-# include <hello_ext.h>
+#include <hello_ext.h>
-# define IS_SRP_KX(kx) ((kx == GNUTLS_KX_SRP || (kx == GNUTLS_KX_SRP_RSA) || \
- kx == GNUTLS_KX_SRP_DSS)?1:0)
+#define IS_SRP_KX(kx) \
+ ((kx == GNUTLS_KX_SRP || (kx == GNUTLS_KX_SRP_RSA) || \
+ kx == GNUTLS_KX_SRP_DSS) ? \
+ 1 : \
+ 0)
-# ifdef ENABLE_SRP
+#ifdef ENABLE_SRP
extern const hello_ext_entry_st ext_mod_srp;
@@ -37,6 +40,6 @@ typedef struct {
char *password;
} srp_ext_st;
-# endif
+#endif
-#endif /* GNUTLS_LIB_EXT_SRP_H */
+#endif /* GNUTLS_LIB_EXT_SRP_H */
diff --git a/lib/ext/srtp.c b/lib/ext/srtp.c
index c4e93dae6c..2bd9e9d317 100644
--- a/lib/ext/srtp.c
+++ b/lib/ext/srtp.c
@@ -27,24 +27,23 @@
#include <ext/srtp.h>
static int _gnutls_srtp_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size);
+ const uint8_t *data, size_t data_size);
static int _gnutls_srtp_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
-static int _gnutls_srtp_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * _priv);
+static int _gnutls_srtp_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv);
static int _gnutls_srtp_pack(gnutls_ext_priv_data_t _priv,
- gnutls_buffer_st * ps);
+ gnutls_buffer_st *ps);
static void _gnutls_srtp_deinit_data(gnutls_ext_priv_data_t priv);
const hello_ext_entry_st ext_mod_srtp = {
.name = "SRTP",
.tls_id = 14,
.gid = GNUTLS_EXTENSION_SRTP,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.client_parse_point = GNUTLS_EXT_APPLICATION,
.server_parse_point = GNUTLS_EXT_APPLICATION,
.recv_func = _gnutls_srtp_recv_params,
@@ -63,33 +62,15 @@ typedef struct {
} srtp_profile_st;
static const srtp_profile_st profile_names[] = {
- {
- "SRTP_AES128_CM_HMAC_SHA1_80",
- GNUTLS_SRTP_AES128_CM_HMAC_SHA1_80,
- 16, 14},
- {
- "SRTP_AES128_CM_HMAC_SHA1_32",
- GNUTLS_SRTP_AES128_CM_HMAC_SHA1_32,
- 16, 14},
- {
- "SRTP_NULL_HMAC_SHA1_80",
- GNUTLS_SRTP_NULL_HMAC_SHA1_80,
- 16, 14},
- {
- "SRTP_NULL_SHA1_32",
- GNUTLS_SRTP_NULL_HMAC_SHA1_32,
- 16, 14},
- {
- "SRTP_AEAD_AES_128_GCM",
- GNUTLS_SRTP_AEAD_AES_128_GCM,
- 16, 12},
- {
- "SRTP_AEAD_AES_256_GCM",
- GNUTLS_SRTP_AEAD_AES_256_GCM,
- 32, 12},
- {
- NULL,
- 0, 0, 0}
+ { "SRTP_AES128_CM_HMAC_SHA1_80", GNUTLS_SRTP_AES128_CM_HMAC_SHA1_80, 16,
+ 14 },
+ { "SRTP_AES128_CM_HMAC_SHA1_32", GNUTLS_SRTP_AES128_CM_HMAC_SHA1_32, 16,
+ 14 },
+ { "SRTP_NULL_HMAC_SHA1_80", GNUTLS_SRTP_NULL_HMAC_SHA1_80, 16, 14 },
+ { "SRTP_NULL_SHA1_32", GNUTLS_SRTP_NULL_HMAC_SHA1_32, 16, 14 },
+ { "SRTP_AEAD_AES_128_GCM", GNUTLS_SRTP_AEAD_AES_128_GCM, 16, 12 },
+ { "SRTP_AEAD_AES_256_GCM", GNUTLS_SRTP_AEAD_AES_256_GCM, 32, 12 },
+ { NULL, 0, 0, 0 }
};
static const srtp_profile_st *get_profile(gnutls_srtp_profile_t profile)
@@ -114,7 +95,8 @@ static gnutls_srtp_profile_t find_profile(const char *str, const char *end)
}
while (prof->name != NULL) {
- if (strlen(prof->name) == len && !strncmp(str, prof->name, len)) {
+ if (strlen(prof->name) == len &&
+ !strncmp(str, prof->name, len)) {
return prof->id;
}
prof++;
@@ -134,8 +116,7 @@ static gnutls_srtp_profile_t find_profile(const char *str, const char *end)
*
* Since 3.1.4
**/
-int gnutls_srtp_get_profile_id(const char *name,
- gnutls_srtp_profile_t * profile)
+int gnutls_srtp_get_profile_id(const char *name, gnutls_srtp_profile_t *profile)
{
*profile = find_profile(name, NULL);
if (*profile == 0) {
@@ -168,9 +149,8 @@ const char *gnutls_srtp_get_profile_name(gnutls_srtp_profile_t profile)
return NULL;
}
-static int
-_gnutls_srtp_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_srtp_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
unsigned int i;
int ret;
@@ -180,8 +160,8 @@ _gnutls_srtp_recv_params(gnutls_session_t session,
gnutls_ext_priv_data_t epriv;
uint16_t profile;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0)
return 0;
@@ -199,9 +179,8 @@ _gnutls_srtp_recv_params(gnutls_session_t session,
return 0;
} else {
if (len != 2)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
}
priv->selected_profile = 0;
@@ -211,8 +190,8 @@ _gnutls_srtp_recv_params(gnutls_session_t session,
profile = _gnutls_read_uint16(p);
for (i = 0;
- i < priv->profiles_size
- && priv->selected_profile == 0; i++) {
+ i < priv->profiles_size && priv->selected_profile == 0;
+ i++) {
if (priv->profiles[i] == profile) {
priv->selected_profile = profile;
break;
@@ -235,16 +214,16 @@ _gnutls_srtp_recv_params(gnutls_session_t session,
return 0;
}
-static int
-_gnutls_srtp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
+static int _gnutls_srtp_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
unsigned i;
int total_size = 0, ret;
srtp_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0)
return 0;
@@ -261,23 +240,20 @@ _gnutls_srtp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
ret = _gnutls_buffer_append_prefix(extdata, 16, 2);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- priv->selected_profile);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ priv->selected_profile);
if (ret < 0)
return gnutls_assert_val(ret);
total_size = 4;
} else {
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- 2 * priv->profiles_size);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ 2 * priv->profiles_size);
if (ret < 0)
return gnutls_assert_val(ret);
for (i = 0; i < priv->profiles_size; i++) {
- ret =
- _gnutls_buffer_append_prefix(extdata, 16,
- priv->profiles[i]);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ priv->profiles[i]);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -285,9 +261,8 @@ _gnutls_srtp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
}
/* use_mki */
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8, priv->mki,
- priv->mki_size);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 8, priv->mki,
+ priv->mki_size);
if (ret < 0)
return gnutls_assert_val(ret);
total_size += 1 + priv->mki_size;
@@ -307,16 +282,15 @@ _gnutls_srtp_send_params(gnutls_session_t session, gnutls_buffer_st * extdata)
*
* Since 3.1.4
**/
-int
-gnutls_srtp_get_selected_profile(gnutls_session_t session,
- gnutls_srtp_profile_t * profile)
+int gnutls_srtp_get_selected_profile(gnutls_session_t session,
+ gnutls_srtp_profile_t *profile)
{
srtp_ext_st *priv;
int ret;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -347,14 +321,14 @@ gnutls_srtp_get_selected_profile(gnutls_session_t session,
*
* Since 3.1.4
**/
-int gnutls_srtp_get_mki(gnutls_session_t session, gnutls_datum_t * mki)
+int gnutls_srtp_get_mki(gnutls_session_t session, gnutls_datum_t *mki)
{
srtp_ext_st *priv;
int ret;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -382,14 +356,14 @@ int gnutls_srtp_get_mki(gnutls_session_t session, gnutls_datum_t * mki)
*
* Since 3.1.4
**/
-int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t * mki)
+int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t *mki)
{
int ret;
srtp_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0) {
priv = gnutls_calloc(1, sizeof(*priv));
if (priv == NULL) {
@@ -397,8 +371,8 @@ int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t * mki)
return GNUTLS_E_MEMORY_ERROR;
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SRTP, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_SRTP,
+ epriv);
} else
priv = epriv;
@@ -424,15 +398,15 @@ int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t * mki)
*
* Since 3.1.4
**/
-int
-gnutls_srtp_set_profile(gnutls_session_t session, gnutls_srtp_profile_t profile)
+int gnutls_srtp_set_profile(gnutls_session_t session,
+ gnutls_srtp_profile_t profile)
{
int ret;
srtp_ext_st *priv;
gnutls_ext_priv_data_t epriv;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0) {
priv = gnutls_calloc(1, sizeof(*priv));
if (priv == NULL) {
@@ -440,8 +414,8 @@ gnutls_srtp_set_profile(gnutls_session_t session, gnutls_srtp_profile_t profile)
return GNUTLS_E_MEMORY_ERROR;
}
epriv = priv;
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SRTP, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_SRTP,
+ epriv);
} else
priv = epriv;
@@ -467,9 +441,8 @@ gnutls_srtp_set_profile(gnutls_session_t session, gnutls_srtp_profile_t profile)
*
* Since 3.1.4
**/
-int
-gnutls_srtp_set_profile_direct(gnutls_session_t session,
- const char *profiles, const char **err_pos)
+int gnutls_srtp_set_profile_direct(gnutls_session_t session,
+ const char *profiles, const char **err_pos)
{
int ret;
srtp_ext_st *priv;
@@ -478,8 +451,8 @@ gnutls_srtp_set_profile_direct(gnutls_session_t session,
const char *col;
gnutls_srtp_profile_t id;
- ret =
- _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP, &epriv);
+ ret = _gnutls_hello_ext_get_priv(session, GNUTLS_EXTENSION_SRTP,
+ &epriv);
if (ret < 0) {
set = 1;
priv = gnutls_calloc(1, sizeof(*priv));
@@ -512,8 +485,8 @@ gnutls_srtp_set_profile_direct(gnutls_session_t session,
} while (col != NULL);
if (set != 0)
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_SRTP, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_SRTP,
+ epriv);
return 0;
}
@@ -540,13 +513,12 @@ gnutls_srtp_set_profile_direct(gnutls_session_t session,
*
* Since 3.1.4
**/
-int
-gnutls_srtp_get_keys(gnutls_session_t session,
- void *key_material,
- unsigned int key_material_size,
- gnutls_datum_t * client_key,
- gnutls_datum_t * client_salt,
- gnutls_datum_t * server_key, gnutls_datum_t * server_salt)
+int gnutls_srtp_get_keys(gnutls_session_t session, void *key_material,
+ unsigned int key_material_size,
+ gnutls_datum_t *client_key,
+ gnutls_datum_t *client_salt,
+ gnutls_datum_t *server_key,
+ gnutls_datum_t *server_salt)
{
int ret;
const srtp_profile_st *p;
@@ -569,9 +541,9 @@ gnutls_srtp_get_keys(gnutls_session_t session,
if (msize == 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- gnutls_prf(session, sizeof("EXTRACTOR-dtls_srtp") - 1,
- "EXTRACTOR-dtls_srtp", 0, 0, NULL, msize, key_material);
+ ret = gnutls_prf(session, sizeof("EXTRACTOR-dtls_srtp") - 1,
+ "EXTRACTOR-dtls_srtp", 0, 0, NULL, msize,
+ key_material);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -603,8 +575,7 @@ static void _gnutls_srtp_deinit_data(gnutls_ext_priv_data_t priv)
gnutls_free(priv);
}
-static int
-_gnutls_srtp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
+static int _gnutls_srtp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st *ps)
{
srtp_ext_st *priv = epriv;
unsigned int i;
@@ -623,8 +594,8 @@ _gnutls_srtp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st * ps)
return 0;
}
-static int
-_gnutls_srtp_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
+static int _gnutls_srtp_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *_priv)
{
srtp_ext_st *priv;
unsigned int i;
@@ -654,7 +625,7 @@ _gnutls_srtp_unpack(gnutls_buffer_st * ps, gnutls_ext_priv_data_t * _priv)
return 0;
- error:
+error:
gnutls_free(priv);
return ret;
}
diff --git a/lib/ext/srtp.h b/lib/ext/srtp.h
index d08223b90f..d05454a477 100644
--- a/lib/ext/srtp.h
+++ b/lib/ext/srtp.h
@@ -21,13 +21,13 @@
*/
#ifndef GNUTLS_LIB_EXT_SRTP_H
-# define GNUTLS_LIB_EXT_SRTP_H
-# ifndef EXT_SRTP_H
-# define EXT_SRTP_H
+#define GNUTLS_LIB_EXT_SRTP_H
+#ifndef EXT_SRTP_H
+#define EXT_SRTP_H
-# include <hello_ext.h>
+#include <hello_ext.h>
-# define MAX_SRTP_PROFILES 4
+#define MAX_SRTP_PROFILES 4
typedef struct {
gnutls_srtp_profile_t profiles[MAX_SRTP_PROFILES];
@@ -40,6 +40,6 @@ typedef struct {
extern const hello_ext_entry_st ext_mod_srtp;
-# endif
+#endif
-#endif /* GNUTLS_LIB_EXT_SRTP_H */
+#endif /* GNUTLS_LIB_EXT_SRTP_H */
diff --git a/lib/ext/status_request.c b/lib/ext/status_request.c
index fe2162f8c8..43a0edeaf0 100644
--- a/lib/ext/status_request.c
+++ b/lib/ext/status_request.c
@@ -65,9 +65,8 @@ typedef struct {
opaque Extensions<0..2^16-1>;
*/
-static int
-client_send(gnutls_session_t session,
- gnutls_buffer_st * extdata, status_request_ext_st * priv)
+static int client_send(gnutls_session_t session, gnutls_buffer_st *extdata,
+ status_request_ext_st *priv)
{
const uint8_t data[5] = "\x01\x00\x00\x00\x00";
const int len = 5;
@@ -84,8 +83,8 @@ client_send(gnutls_session_t session,
return len;
}
-static int
-server_recv(gnutls_session_t session, const uint8_t * data, size_t data_size)
+static int server_recv(gnutls_session_t session, const uint8_t *data,
+ size_t data_size)
{
unsigned rid_bytes = 0;
@@ -121,9 +120,8 @@ server_recv(gnutls_session_t session, const uint8_t * data, size_t data_size)
return 0;
}
-static int
-client_recv(gnutls_session_t session,
- status_request_ext_st * priv, const uint8_t * data, size_t size)
+static int client_recv(gnutls_session_t session, status_request_ext_st *priv,
+ const uint8_t *data, size_t size)
{
if (size != 0)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
@@ -153,9 +151,8 @@ client_recv(gnutls_session_t session,
* are selected (with the _GNUTLS_EXT_TLS_POST_CS type), and we discover
* (or not) the response to send early.
*/
-static int
-server_send(gnutls_session_t session,
- gnutls_buffer_st * extdata, status_request_ext_st * priv)
+static int server_send(gnutls_session_t session, gnutls_buffer_st *extdata,
+ status_request_ext_st *priv)
{
int ret;
gnutls_certificate_credentials_t cred;
@@ -163,9 +160,9 @@ server_send(gnutls_session_t session,
void *func_ptr;
const version_entry_st *ver = get_version(session);
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
- if (cred == NULL) /* no certificate authentication */
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
+ if (cred == NULL) /* no certificate authentication */
return 0;
/* no need to set sresp; responses are send during certificate sending and
@@ -184,13 +181,12 @@ server_send(gnutls_session_t session,
return 0;
}
- ret = _gnutls_set_datum(&priv->sresp,
- session->
- internals.selected_ocsp[0].
- response.data,
- session->
- internals.selected_ocsp[0].
- response.size);
+ ret = _gnutls_set_datum(
+ &priv->sresp,
+ session->internals.selected_ocsp[0]
+ .response.data,
+ session->internals.selected_ocsp[0]
+ .response.size);
if (ret < 0)
return gnutls_assert_val(ret);
return GNUTLS_E_INT_RET_0;
@@ -216,9 +212,8 @@ server_send(gnutls_session_t session,
return GNUTLS_E_INT_RET_0;
}
-static int
-_gnutls_status_request_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_status_request_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
gnutls_ext_priv_data_t epriv;
status_request_ext_st *priv;
@@ -233,10 +228,9 @@ _gnutls_status_request_send_params(gnutls_session_t session,
if (session->internals.flags & GNUTLS_NO_STATUS_REQUEST)
return 0;
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_STATUS_REQUEST,
- &epriv);
- if (ret < 0 || epriv == NULL) /* it is ok not to have it */
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_STATUS_REQUEST, &epriv);
+ if (ret < 0 || epriv == NULL) /* it is ok not to have it */
return 0;
priv = epriv;
@@ -246,27 +240,24 @@ _gnutls_status_request_send_params(gnutls_session_t session,
if (priv == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_STATUS_REQUEST,
- epriv);
+ _gnutls_hello_ext_set_priv(
+ session, GNUTLS_EXTENSION_STATUS_REQUEST, epriv);
return server_send(session, extdata, priv);
}
}
-static int
-_gnutls_status_request_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t size)
+static int _gnutls_status_request_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t size)
{
gnutls_ext_priv_data_t epriv;
status_request_ext_st *priv;
int ret;
if (session->security_parameters.entity == GNUTLS_CLIENT) {
- ret = _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_STATUS_REQUEST,
- &epriv);
- if (ret < 0 || epriv == NULL) /* it is ok not to have it */
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_STATUS_REQUEST, &epriv);
+ if (ret < 0 || epriv == NULL) /* it is ok not to have it */
return 0;
priv = epriv;
@@ -297,11 +288,10 @@ _gnutls_status_request_recv_params(gnutls_session_t session,
*
* Since: 3.1.3
**/
-int
-gnutls_ocsp_status_request_enable_client(gnutls_session_t session,
- gnutls_datum_t * responder_id,
- size_t responder_id_size,
- gnutls_datum_t * extensions)
+int gnutls_ocsp_status_request_enable_client(gnutls_session_t session,
+ gnutls_datum_t *responder_id,
+ size_t responder_id_size,
+ gnutls_datum_t *extensions)
{
status_request_ext_st *priv;
gnutls_ext_priv_data_t epriv;
@@ -313,8 +303,8 @@ gnutls_ocsp_status_request_enable_client(gnutls_session_t session,
if (priv == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- _gnutls_hello_ext_set_priv(session,
- GNUTLS_EXTENSION_STATUS_REQUEST, epriv);
+ _gnutls_hello_ext_set_priv(session, GNUTLS_EXTENSION_STATUS_REQUEST,
+ epriv);
session->internals.flags &= ~GNUTLS_NO_STATUS_REQUEST;
if (session->internals.priorities)
@@ -338,9 +328,9 @@ const hello_ext_entry_st ext_mod_status_request = {
.name = "OCSP Status Request",
.tls_id = STATUS_REQUEST_TLS_ID,
.gid = GNUTLS_EXTENSION_STATUS_REQUEST,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.client_parse_point = _GNUTLS_EXT_TLS_POST_CS,
.server_parse_point = _GNUTLS_EXT_TLS_POST_CS,
.recv_func = _gnutls_status_request_recv_params,
@@ -364,10 +354,8 @@ int _gnutls_send_server_certificate_status(gnutls_session_t session, int again)
return 0;
if (again == 0) {
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_STATUS_REQUEST,
- &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_STATUS_REQUEST, &epriv);
if (ret < 0)
return 0;
@@ -395,8 +383,8 @@ int _gnutls_send_server_certificate_status(gnutls_session_t session, int again)
GNUTLS_HANDSHAKE_CERTIFICATE_STATUS);
}
-int _gnutls_parse_ocsp_response(gnutls_session_t session, const uint8_t * data,
- ssize_t data_size, gnutls_datum_t * resp)
+int _gnutls_parse_ocsp_response(gnutls_session_t session, const uint8_t *data,
+ ssize_t data_size, gnutls_datum_t *resp)
{
int ret;
ssize_t r_size;
@@ -445,14 +433,13 @@ int _gnutls_recv_server_certificate_status(gnutls_session_t session)
status_request_ext_st *priv = NULL;
gnutls_ext_priv_data_t epriv;
cert_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
if (info == NULL)
return 0;
- ret =
- _gnutls_hello_ext_get_priv(session,
- GNUTLS_EXTENSION_STATUS_REQUEST, &epriv);
+ ret = _gnutls_hello_ext_get_priv(
+ session, GNUTLS_EXTENSION_STATUS_REQUEST, &epriv);
if (ret < 0)
return 0;
@@ -461,9 +448,8 @@ int _gnutls_recv_server_certificate_status(gnutls_session_t session)
if (!priv->expect_cstatus)
return 0;
- ret = _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CERTIFICATE_STATUS,
- 1, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CERTIFICATE_STATUS, 1, &buf);
if (ret < 0)
return gnutls_assert_val_fatal(ret);
@@ -500,7 +486,7 @@ int _gnutls_recv_server_certificate_status(gnutls_session_t session)
ret = 0;
- error:
+error:
_gnutls_buffer_clear(&buf);
return ret;
diff --git a/lib/ext/status_request.h b/lib/ext/status_request.h
index c2984d79a7..f15148ff62 100644
--- a/lib/ext/status_request.h
+++ b/lib/ext/status_request.h
@@ -21,18 +21,18 @@
*/
#ifndef GNUTLS_LIB_EXT_STATUS_REQUEST_H
-# define GNUTLS_LIB_EXT_STATUS_REQUEST_H
+#define GNUTLS_LIB_EXT_STATUS_REQUEST_H
-# include <hello_ext.h>
+#include <hello_ext.h>
-# define STATUS_REQUEST_TLS_ID 5
+#define STATUS_REQUEST_TLS_ID 5
extern const hello_ext_entry_st ext_mod_status_request;
int _gnutls_send_server_certificate_status(gnutls_session_t session, int again);
int _gnutls_recv_server_certificate_status(gnutls_session_t session);
-int _gnutls_parse_ocsp_response(gnutls_session_t session, const uint8_t * data,
- ssize_t data_size, gnutls_datum_t * resp);
+int _gnutls_parse_ocsp_response(gnutls_session_t session, const uint8_t *data,
+ ssize_t data_size, gnutls_datum_t *resp);
-#endif /* GNUTLS_LIB_EXT_STATUS_REQUEST_H */
+#endif /* GNUTLS_LIB_EXT_STATUS_REQUEST_H */
diff --git a/lib/ext/supported_groups.c b/lib/ext/supported_groups.c
index 821fb0f77d..510ef6d230 100644
--- a/lib/ext/supported_groups.c
+++ b/lib/ext/supported_groups.c
@@ -35,10 +35,10 @@
#include <gnutls/gnutls.h>
static int _gnutls_supported_groups_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int _gnutls_supported_groups_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_supported_groups = {
.name = "Supported Groups",
@@ -46,10 +46,9 @@ const hello_ext_entry_st ext_mod_supported_groups = {
.gid = GNUTLS_EXTENSION_SUPPORTED_GROUPS,
.client_parse_point = GNUTLS_EXT_TLS,
.server_parse_point = GNUTLS_EXT_TLS,
- .validity =
- GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_EE |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
.recv_func = _gnutls_supported_groups_recv_params,
.send_func = _gnutls_supported_groups_send_params,
.pack_func = NULL,
@@ -65,15 +64,12 @@ static unsigned get_min_dh(gnutls_session_t session)
gnutls_anon_server_credentials_t anon_cred;
unsigned level = 0;
- cert_cred =
- (gnutls_certificate_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_CERTIFICATE);
- psk_cred =
- (gnutls_psk_server_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_PSK);
- anon_cred =
- (gnutls_anon_server_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_ANON);
+ cert_cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
+ psk_cred = (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
+ anon_cred = (gnutls_anon_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_ANON);
if (cert_cred) {
level = cert_cred->dh_sec_param;
@@ -97,9 +93,9 @@ static unsigned get_min_dh(gnutls_session_t session)
* In case of a client: If supported_eccs have been specified then we send the extension.
*
*/
-static int
-_gnutls_supported_groups_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int _gnutls_supported_groups_recv_params(gnutls_session_t session,
+ const uint8_t *data,
+ size_t data_size)
{
int i;
uint16_t len;
@@ -109,29 +105,27 @@ _gnutls_supported_groups_recv_params(gnutls_session_t session,
unsigned tls_id;
unsigned min_dh;
unsigned j;
- int serv_ec_idx, serv_dh_idx; /* index in server's priority listing */
- int cli_ec_pos, cli_dh_pos; /* position in listing sent by client */
+ int serv_ec_idx, serv_dh_idx; /* index in server's priority listing */
+ int cli_ec_pos, cli_dh_pos; /* position in listing sent by client */
if (session->security_parameters.entity == GNUTLS_CLIENT) {
/* A client shouldn't receive this extension in TLS1.2. It is
* possible to read that message under TLS1.3 as an encrypted
* extension. */
return 0;
- } else { /* SERVER SIDE - we must check if the sent supported ecc type is the right one
+ } else { /* SERVER SIDE - we must check if the sent supported ecc type is the right one
*/
if (data_size < 2)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
DECR_LEN(data_size, 2);
len = _gnutls_read_uint16(p);
p += 2;
if (len % 2 != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
DECR_LEN(data_size, len);
@@ -150,14 +144,14 @@ _gnutls_supported_groups_recv_params(gnutls_session_t session,
tls_id = _gnutls_read_uint16(&p[i]);
group = _gnutls_tls_id_to_group(tls_id);
- _gnutls_handshake_log
- ("EXT[%p]: Received group %s (0x%x)\n", session,
- group ? group->name : "unknown", tls_id);
+ _gnutls_handshake_log(
+ "EXT[%p]: Received group %s (0x%x)\n", session,
+ group ? group->name : "unknown", tls_id);
if (group == NULL)
continue;
- if (min_dh > 0 && group->prime
- && group->prime->size * 8 < min_dh)
+ if (min_dh > 0 && group->prime &&
+ group->prime->size * 8 < min_dh)
continue;
/* we simulate _gnutls_session_supports_group, but we prioritize if
@@ -165,21 +159,22 @@ _gnutls_supported_groups_recv_params(gnutls_session_t session,
for (j = 0;
j < session->internals.priorities->groups.size;
j++) {
- if (session->internals.priorities->
- groups.entry[j]->id == group->id) {
- if (session->internals.
- priorities->server_precedence) {
+ if (session->internals.priorities->groups
+ .entry[j]
+ ->id == group->id) {
+ if (session->internals.priorities
+ ->server_precedence) {
if (group->pk == GNUTLS_PK_DH) {
- if (serv_dh_idx != -1
- && (int)j >
- serv_dh_idx)
+ if (serv_dh_idx != -1 &&
+ (int)j >
+ serv_dh_idx)
break;
serv_dh_idx = j;
cli_dh_pos = i;
} else if (IS_EC(group->pk)) {
- if (serv_ec_idx != -1
- && (int)j >
- serv_ec_idx)
+ if (serv_ec_idx != -1 &&
+ (int)j >
+ serv_ec_idx)
break;
serv_ec_idx = j;
cli_ec_pos = i;
@@ -206,32 +201,30 @@ _gnutls_supported_groups_recv_params(gnutls_session_t session,
*/
if (serv_dh_idx != -1) {
session->internals.cand_dh_group =
- session->internals.priorities->
- groups.entry[serv_dh_idx];
+ session->internals.priorities->groups
+ .entry[serv_dh_idx];
session->internals.cand_group =
- session->internals.cand_dh_group;
+ session->internals.cand_dh_group;
}
if (serv_ec_idx != -1) {
session->internals.cand_ec_group =
- session->internals.priorities->
- groups.entry[serv_ec_idx];
- if (session->internals.cand_group == NULL
- || (session->internals.priorities->server_precedence
- && serv_ec_idx < serv_dh_idx)
- || (!session->internals.
- priorities->server_precedence
- && cli_ec_pos < cli_dh_pos)) {
+ session->internals.priorities->groups
+ .entry[serv_ec_idx];
+ if (session->internals.cand_group == NULL ||
+ (session->internals.priorities->server_precedence &&
+ serv_ec_idx < serv_dh_idx) ||
+ (!session->internals.priorities->server_precedence &&
+ cli_ec_pos < cli_dh_pos)) {
session->internals.cand_group =
- session->internals.cand_ec_group;
+ session->internals.cand_ec_group;
}
}
if (session->internals.cand_group)
- _gnutls_handshake_log("EXT[%p]: Selected group %s\n",
- session,
- session->internals.
- cand_group->name);
+ _gnutls_handshake_log(
+ "EXT[%p]: Selected group %s\n", session,
+ session->internals.cand_group->name);
if (have_ffdhe)
session->internals.hsk_flags |= HSK_HAVE_FFDHE;
@@ -242,9 +235,8 @@ _gnutls_supported_groups_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-_gnutls_supported_groups_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int _gnutls_supported_groups_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
unsigned len, i;
int ret;
@@ -252,32 +244,33 @@ _gnutls_supported_groups_send_params(gnutls_session_t session,
/* this extension is only being sent on client side */
if (session->security_parameters.entity == GNUTLS_CLIENT) {
-
len = session->internals.priorities->groups.size;
if (len > 0) {
- ret =
- _gnutls_buffer_append_prefix(extdata, 16, len * 2);
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ len * 2);
if (ret < 0)
return gnutls_assert_val(ret);
for (i = 0; i < len; i++) {
- p = session->internals.priorities->
- groups.entry[i]->tls_id;
-
- _gnutls_handshake_log
- ("EXT[%p]: Sent group %s (0x%x)\n", session,
- session->internals.priorities->
- groups.entry[i]->name, (unsigned)p);
-
- ret =
- _gnutls_buffer_append_prefix(extdata,
- 16, p);
+ p = session->internals.priorities->groups
+ .entry[i]
+ ->tls_id;
+
+ _gnutls_handshake_log(
+ "EXT[%p]: Sent group %s (0x%x)\n",
+ session,
+ session->internals.priorities->groups
+ .entry[i]
+ ->name,
+ (unsigned)p);
+
+ ret = _gnutls_buffer_append_prefix(extdata, 16,
+ p);
if (ret < 0)
return gnutls_assert_val(ret);
}
return (len + 1) * 2;
}
-
}
return 0;
diff --git a/lib/ext/supported_groups.h b/lib/ext/supported_groups.h
index 03a47939b8..a582c59abb 100644
--- a/lib/ext/supported_groups.h
+++ b/lib/ext/supported_groups.h
@@ -21,13 +21,13 @@
*/
#ifndef GNUTLS_LIB_EXT_SUPPORTED_GROUPS_H
-# define GNUTLS_LIB_EXT_SUPPORTED_GROUPS_H
+#define GNUTLS_LIB_EXT_SUPPORTED_GROUPS_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_supported_groups;
-int
-_gnutls_session_supports_group(gnutls_session_t session, unsigned int group);
+int _gnutls_session_supports_group(gnutls_session_t session,
+ unsigned int group);
-#endif /* GNUTLS_LIB_EXT_SUPPORTED_GROUPS_H */
+#endif /* GNUTLS_LIB_EXT_SUPPORTED_GROUPS_H */
diff --git a/lib/ext/supported_versions.c b/lib/ext/supported_versions.c
index 168b9b77e3..a1e8fbe3eb 100644
--- a/lib/ext/supported_versions.c
+++ b/lib/ext/supported_versions.c
@@ -32,20 +32,21 @@
#include "handshake.h"
static int supported_versions_recv_params(gnutls_session_t session,
- const uint8_t * data,
+ const uint8_t *data,
size_t data_size);
static int supported_versions_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata);
+ gnutls_buffer_st *extdata);
const hello_ext_entry_st ext_mod_supported_versions = {
.name = "Supported Versions",
.tls_id = 43,
.gid = GNUTLS_EXTENSION_SUPPORTED_VERSIONS,
- .validity =
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_HRR |
- GNUTLS_EXT_FLAG_TLS,
- .client_parse_point = GNUTLS_EXT_VERSION_NEG, /* force parsing prior to EXT_TLS extensions */
+ .validity = GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_HRR |
+ GNUTLS_EXT_FLAG_TLS,
+ .client_parse_point =
+ GNUTLS_EXT_VERSION_NEG, /* force parsing prior to EXT_TLS extensions */
.server_parse_point = GNUTLS_EXT_VERSION_NEG,
.recv_func = supported_versions_recv_params,
.send_func = supported_versions_send_params,
@@ -55,9 +56,8 @@ const hello_ext_entry_st ext_mod_supported_versions = {
.cannot_be_overriden = 1
};
-static int
-supported_versions_recv_params(gnutls_session_t session,
- const uint8_t * data, size_t data_size)
+static int supported_versions_recv_params(gnutls_session_t session,
+ const uint8_t *data, size_t data_size)
{
const version_entry_st *vers;
uint8_t major, minor;
@@ -82,16 +82,14 @@ supported_versions_recv_params(gnutls_session_t session,
data++;
if (bytes % 2 == 1)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
DECR_LEN(data_size, bytes);
if (data_size != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
while (bytes > 0) {
major = data[0];
@@ -102,8 +100,8 @@ supported_versions_recv_params(gnutls_session_t session,
_gnutls_handshake_log("EXT[%p]: Found version: %d.%d\n",
session, (int)major, (int)minor);
- if (!_gnutls_nversion_is_supported
- (session, major, minor))
+ if (!_gnutls_nversion_is_supported(session, major,
+ minor))
continue;
/* Prefer the latest possible version
@@ -111,23 +109,20 @@ supported_versions_recv_params(gnutls_session_t session,
* https://gitlab.com/gnutls/gnutls/issues/837
* for the rationale.
*/
- if (!cli_vers ||
- major > cli_vers->major ||
+ if (!cli_vers || major > cli_vers->major ||
(major == cli_vers->major &&
minor > cli_vers->minor))
cli_vers = nversion_to_entry(major, minor);
}
if (!cli_vers)
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
session->security_parameters.pversion = cli_vers;
_gnutls_handshake_log("EXT[%p]: Negotiated version: %d.%d\n",
- session,
- (int)cli_vers->major,
+ session, (int)cli_vers->major,
(int)cli_vers->minor);
if (old_vers != cli_vers) {
@@ -140,7 +135,7 @@ supported_versions_recv_params(gnutls_session_t session,
}
return 0;
- } else { /* client */
+ } else { /* client */
if (!have_creds_for_tls13(session)) {
/* if we don't have certificate or PSK (which work under TLS1.3)
@@ -153,18 +148,16 @@ supported_versions_recv_params(gnutls_session_t session,
DECR_LEN(data_size, 2);
if (data_size != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
major = data[0];
minor = data[1];
vers = nversion_to_entry(major, minor);
if (!vers)
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
set_adv_version(session, major, minor);
@@ -172,9 +165,8 @@ supported_versions_recv_params(gnutls_session_t session,
session, (int)major, (int)minor);
if (!vers->tls13_sem)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
ret = _gnutls_negotiate_version(session, major, minor, 1);
if (ret < 0) {
@@ -188,9 +180,8 @@ supported_versions_recv_params(gnutls_session_t session,
/* returns data_size or a negative number on failure
*/
-static int
-supported_versions_send_params(gnutls_session_t session,
- gnutls_buffer_st * extdata)
+static int supported_versions_send_params(gnutls_session_t session,
+ gnutls_buffer_st *extdata)
{
uint8_t versions[32];
size_t versions_size;
@@ -217,17 +208,16 @@ supported_versions_send_params(gnutls_session_t session,
if (vers && !vers->tls13_sem)
return 0;
- ret =
- _gnutls_write_supported_versions(session, versions,
- sizeof(versions));
- if (ret <= 0) /* if this function doesn't succeed do not send anything */
+ ret = _gnutls_write_supported_versions(session, versions,
+ sizeof(versions));
+ if (ret <=
+ 0) /* if this function doesn't succeed do not send anything */
return 0;
versions_size = ret;
- ret =
- _gnutls_buffer_append_data_prefix(extdata, 8, versions,
- versions_size);
+ ret = _gnutls_buffer_append_data_prefix(extdata, 8, versions,
+ versions_size);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/ext/supported_versions.h b/lib/ext/supported_versions.h
index 494e80c520..f7dfb9ebb9 100644
--- a/lib/ext/supported_versions.h
+++ b/lib/ext/supported_versions.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_EXT_SUPPORTED_VERSIONS_H
-# define GNUTLS_LIB_EXT_SUPPORTED_VERSIONS_H
+#define GNUTLS_LIB_EXT_SUPPORTED_VERSIONS_H
-# include <hello_ext.h>
+#include <hello_ext.h>
extern const hello_ext_entry_st ext_mod_supported_versions;
-#endif /* GNUTLS_LIB_EXT_SUPPORTED_VERSIONS_H */
+#endif /* GNUTLS_LIB_EXT_SUPPORTED_VERSIONS_H */
diff --git a/lib/extras/hex.h b/lib/extras/hex.h
index 731c291157..5fcac98914 100644
--- a/lib/extras/hex.h
+++ b/lib/extras/hex.h
@@ -1,11 +1,11 @@
/* CC0 (Public domain) - see LICENSE file for details */
#ifndef GNUTLS_LIB_EXTRAS_HEX_H
-# define GNUTLS_LIB_EXTRAS_HEX_H
+#define GNUTLS_LIB_EXTRAS_HEX_H
-# include "config.h"
-# include <stdbool.h>
-# include <stdlib.h>
+#include "config.h"
+#include <stdbool.h>
+#include <stdlib.h>
/**
* hex_decode - Unpack a hex string.
@@ -74,4 +74,4 @@ static inline size_t hex_data_size(size_t slen)
return slen / 2;
}
-#endif /* GNUTLS_LIB_EXTRAS_HEX_H */
+#endif /* GNUTLS_LIB_EXTRAS_HEX_H */
diff --git a/lib/extras/randomart.c b/lib/extras/randomart.c
index 8ee9d2400a..333dca4910 100644
--- a/lib/extras/randomart.c
+++ b/lib/extras/randomart.c
@@ -58,11 +58,10 @@
* Else pictures would be too dense, and drawing the frame would
* fail, too, because the key type would not fit in anymore.
*/
-#define FLDBASE 8
-#define FLDSIZE_Y (FLDBASE + 1)
-#define FLDSIZE_X (FLDBASE * 2 + 1)
-char *_gnutls_key_fingerprint_randomart(uint8_t * dgst_raw,
- u_int dgst_raw_len,
+#define FLDBASE 8
+#define FLDSIZE_Y (FLDBASE + 1)
+#define FLDSIZE_X (FLDBASE * 2 + 1)
+char *_gnutls_key_fingerprint_randomart(uint8_t *dgst_raw, u_int dgst_raw_len,
const char *key_type,
unsigned int key_size,
const char *prefix)
@@ -83,8 +82,8 @@ char *_gnutls_key_fingerprint_randomart(uint8_t * dgst_raw,
if (prefix)
prefix_len = strlen(prefix);
- retval =
- gnutls_calloc(1, (FLDSIZE_X + 3 + prefix_len) * (FLDSIZE_Y + 2));
+ retval = gnutls_calloc(1,
+ (FLDSIZE_X + 3 + prefix_len) * (FLDSIZE_Y + 2));
if (retval == NULL) {
gnutls_assert();
return NULL;
@@ -129,8 +128,8 @@ char *_gnutls_key_fingerprint_randomart(uint8_t * dgst_raw,
/* fill in retval */
if (prefix_len)
- snprintf(retval, FLDSIZE_X + prefix_len, "%s+--[%4s%s]",
- prefix, key_type, size_txt);
+ snprintf(retval, FLDSIZE_X + prefix_len, "%s+--[%4s%s]", prefix,
+ key_type, size_txt);
else
snprintf(retval, FLDSIZE_X, "+--[%4s%s]", key_type, size_txt);
p = strchr(retval, '\0');
diff --git a/lib/extras/randomart.h b/lib/extras/randomart.h
index 2bca9d0dc7..d29254249a 100644
--- a/lib/extras/randomart.h
+++ b/lib/extras/randomart.h
@@ -1,10 +1,9 @@
#ifndef GNUTLS_LIB_EXTRAS_RANDOMART_H
-# define GNUTLS_LIB_EXTRAS_RANDOMART_H
+#define GNUTLS_LIB_EXTRAS_RANDOMART_H
-char *_gnutls_key_fingerprint_randomart(uint8_t * dgst_raw,
- u_int dgst_raw_len,
+char *_gnutls_key_fingerprint_randomart(uint8_t *dgst_raw, u_int dgst_raw_len,
const char *key_type,
unsigned int key_size,
const char *prefix);
-#endif /* GNUTLS_LIB_EXTRAS_RANDOMART_H */
+#endif /* GNUTLS_LIB_EXTRAS_RANDOMART_H */
diff --git a/lib/extv.c b/lib/extv.c
index e75a4386dc..3a0dead4bb 100644
--- a/lib/extv.c
+++ b/lib/extv.c
@@ -27,9 +27,8 @@
/* Iterates through all extensions found, and calls the cb()
* function with their data */
-int _gnutls_extv_parse(void *ctx,
- gnutls_ext_raw_process_func cb,
- const uint8_t * data, int data_size)
+int _gnutls_extv_parse(void *ctx, gnutls_ext_raw_process_func cb,
+ const uint8_t *data, int data_size)
{
int next, ret;
int pos = 0;
@@ -46,9 +45,11 @@ int _gnutls_extv_parse(void *ctx,
DECR_LENGTH_RET(data_size, next, GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH);
- if (next == 0 && data_size == 0) /* field is present, but has zero length? Ignore it. */
+ if (next == 0 &&
+ data_size ==
+ 0) /* field is present, but has zero length? Ignore it. */
return 0;
- else if (data_size > 0) /* forbid unaccounted data */
+ else if (data_size > 0) /* forbid unaccounted data */
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH);
do {
@@ -68,8 +69,7 @@ int _gnutls_extv_parse(void *ctx,
ret = cb(ctx, tls_id, sdata, size);
if (ret < 0)
return gnutls_assert_val(ret);
- }
- while (next > 2);
+ } while (next > 2);
/* forbid leftovers */
if (next > 0)
@@ -103,7 +103,7 @@ int _gnutls_extv_parse(void *ctx,
* Since: 3.6.3
**/
int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
- const gnutls_datum_t * data, unsigned int flags)
+ const gnutls_datum_t *data, unsigned int flags)
{
if (flags & GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO) {
size_t size = data->size;
@@ -113,9 +113,8 @@ int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
DECR_LEN(size, HANDSHAKE_SESSION_ID_POS);
if (p[0] != 0x03)
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
p += HANDSHAKE_SESSION_ID_POS;
@@ -141,9 +140,8 @@ int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
p += len;
if (size == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
return _gnutls_extv_parse(ctx, cb, p, size);
} else if (flags & GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO) {
@@ -154,9 +152,8 @@ int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
DECR_LEN(size, HANDSHAKE_SESSION_ID_POS);
if (p[0] != 254)
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
p += HANDSHAKE_SESSION_ID_POS;
@@ -189,9 +186,8 @@ int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
p += len;
if (size == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
return _gnutls_extv_parse(ctx, cb, p, size);
}
@@ -206,9 +202,8 @@ int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
* * On success the number of bytes appended (always positive), or zero if not sent
* * On failure, a negative error code.
*/
-int _gnutls_extv_append(gnutls_buffer_st * buf,
- uint16_t tls_id,
- void *ctx, int (*cb)(void *ctx, gnutls_buffer_st * buf))
+int _gnutls_extv_append(gnutls_buffer_st *buf, uint16_t tls_id, void *ctx,
+ int (*cb)(void *ctx, gnutls_buffer_st *buf))
{
int size_pos, appended, ret;
size_t size_prev;
@@ -240,7 +235,7 @@ int _gnutls_extv_append(gnutls_buffer_st * buf,
/* write the real size */
_gnutls_write_uint16(appended, &buf->data[size_pos]);
} else if (appended == 0) {
- buf->length -= 4; /* reset type and size */
+ buf->length -= 4; /* reset type and size */
return 0;
}
diff --git a/lib/extv.h b/lib/extv.h
index 35e6d6acef..25a57479d9 100644
--- a/lib/extv.h
+++ b/lib/extv.h
@@ -21,20 +21,18 @@
*/
#ifndef GNUTLS_LIB_EXTV_H
-# define GNUTLS_LIB_EXTV_H
+#define GNUTLS_LIB_EXTV_H
-# include <gnutls/gnutls.h>
-# include "str.h"
+#include <gnutls/gnutls.h>
+#include "str.h"
/* Iterates through all TLS-type extensions in data, and
* calls the callback function for each of them. The ctx, flags
* and parse_type are passed verbatim to callback. */
-int _gnutls_extv_parse(void *ctx,
- gnutls_ext_raw_process_func cb,
- const uint8_t * data, int data_size);
+int _gnutls_extv_parse(void *ctx, gnutls_ext_raw_process_func cb,
+ const uint8_t *data, int data_size);
-inline static
-int _gnutls_extv_append_init(gnutls_buffer_st * buf)
+inline static int _gnutls_extv_append_init(gnutls_buffer_st *buf)
{
unsigned pos;
int ret;
@@ -51,13 +49,12 @@ int _gnutls_extv_append_init(gnutls_buffer_st * buf)
/* its input is the buffer and the return value of _gnutls_extv_append_init()
* @is_hello: should be true for client and server hello messages.
*/
-inline static
-int _gnutls_extv_append_final(gnutls_buffer_st * buf, unsigned init,
- unsigned is_hello)
+inline static int _gnutls_extv_append_final(gnutls_buffer_st *buf,
+ unsigned init, unsigned is_hello)
{
unsigned size = buf->length - init - 2;
- if (size > UINT16_MAX) /* sent too many extensions */
+ if (size > UINT16_MAX) /* sent too many extensions */
return gnutls_assert_val(GNUTLS_E_HANDSHAKE_TOO_LARGE);
if (size > 0)
@@ -71,9 +68,9 @@ int _gnutls_extv_append_final(gnutls_buffer_st * buf, unsigned init,
return 0;
}
-typedef int (*extv_append_func)(void *ctx, gnutls_buffer_st * buf);
+typedef int (*extv_append_func)(void *ctx, gnutls_buffer_st *buf);
-int _gnutls_extv_append(gnutls_buffer_st * buf,
- uint16_t tls_id, void *ctx, extv_append_func cb);
+int _gnutls_extv_append(gnutls_buffer_st *buf, uint16_t tls_id, void *ctx,
+ extv_append_func cb);
-#endif /* GNUTLS_LIB_EXTV_H */
+#endif /* GNUTLS_LIB_EXTV_H */
diff --git a/lib/file.c b/lib/file.c
index 4812de2a3f..a8c3ce08e7 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -55,7 +55,7 @@ int _gnutls_file_exists(const char *file)
*
* Since 3.1.0
**/
-int gnutls_load_file(const char *filename, gnutls_datum_t * data)
+int gnutls_load_file(const char *filename, gnutls_datum_t *data)
{
size_t len;
diff --git a/lib/file.h b/lib/file.h
index c521937cb6..98fb90ed0d 100644
--- a/lib/file.h
+++ b/lib/file.h
@@ -21,8 +21,8 @@
*/
#ifndef GNUTLS_LIB_FILE_H
-# define GNUTLS_LIB_FILE_H
+#define GNUTLS_LIB_FILE_H
int _gnutls_file_exists(const char *file);
-#endif /* GNUTLS_LIB_FILE_H */
+#endif /* GNUTLS_LIB_FILE_H */
diff --git a/lib/fingerprint.c b/lib/fingerprint.c
index 2d7774322a..5958fa5b3f 100644
--- a/lib/fingerprint.c
+++ b/lib/fingerprint.c
@@ -51,15 +51,15 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_fingerprint(gnutls_digest_algorithm_t algo,
- const gnutls_datum_t * data, void *result,
- size_t *result_size)
+int gnutls_fingerprint(gnutls_digest_algorithm_t algo,
+ const gnutls_datum_t *data, void *result,
+ size_t *result_size)
{
int ret;
int hash_len = _gnutls_hash_get_algo_len(hash_to_entry(algo));
- if (hash_len < 0 || (unsigned)hash_len > *result_size || result == NULL) {
+ if (hash_len < 0 || (unsigned)hash_len > *result_size ||
+ result == NULL) {
*result_size = hash_len;
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}
diff --git a/lib/fips.c b/lib/fips.c
index dadc9161fc..046038a471 100644
--- a/lib/fips.c
+++ b/lib/fips.c
@@ -37,7 +37,7 @@
#include "gthreads.h"
#ifdef HAVE_DL_ITERATE_PHDR
-# include <link.h>
+#include <link.h>
#endif
unsigned int _gnutls_lib_state = LIB_STATE_POWERON;
@@ -49,10 +49,10 @@ struct gnutls_fips140_context_st {
#ifdef ENABLE_FIPS140
-# include <dlfcn.h>
+#include <dlfcn.h>
-# define FIPS_KERNEL_FILE "/proc/sys/crypto/fips_enabled"
-# define FIPS_SYSTEM_FILE "/etc/system-fips"
+#define FIPS_KERNEL_FILE "/proc/sys/crypto/fips_enabled"
+#define FIPS_SYSTEM_FILE "/etc/system-fips"
/* We provide a per-thread FIPS-mode so that an application
* can use gnutls_fips140_set_mode() to override a specific
@@ -81,10 +81,10 @@ unsigned _gnutls_fips_mode_enabled(void)
* is called on library initialization, the
* _global_fips_mode is always set during app run.
*/
- if (_tfips_mode != (gnutls_fips_mode_t) - 1)
+ if (_tfips_mode != (gnutls_fips_mode_t)-1)
return _tfips_mode;
- if (_global_fips_mode != (gnutls_fips_mode_t) - 1) {
+ if (_global_fips_mode != (gnutls_fips_mode_t)-1) {
return _global_fips_mode;
}
@@ -138,7 +138,7 @@ unsigned _gnutls_fips_mode_enabled(void)
ret = GNUTLS_FIPS140_DISABLED;
goto exit;
- exit:
+exit:
_global_fips_mode = ret;
return ret;
}
@@ -154,14 +154,14 @@ void _gnutls_fips_mode_reset_zombie(void)
/* These only works with the platform where SONAME is part of the ABI.
* For example, *_SONAME will be set to "none" on Windows platforms. */
-# define GNUTLS_LIBRARY_NAME GNUTLS_LIBRARY_SONAME
-# define NETTLE_LIBRARY_NAME NETTLE_LIBRARY_SONAME
-# define HOGWEED_LIBRARY_NAME HOGWEED_LIBRARY_SONAME
-# define GMP_LIBRARY_NAME GMP_LIBRARY_SONAME
+#define GNUTLS_LIBRARY_NAME GNUTLS_LIBRARY_SONAME
+#define NETTLE_LIBRARY_NAME NETTLE_LIBRARY_SONAME
+#define HOGWEED_LIBRARY_NAME HOGWEED_LIBRARY_SONAME
+#define GMP_LIBRARY_NAME GMP_LIBRARY_SONAME
-# define HMAC_SIZE 32
-# define HMAC_ALGO GNUTLS_MAC_SHA256
-# define HMAC_FORMAT_VERSION 1
+#define HMAC_SIZE 32
+#define HMAC_ALGO GNUTLS_MAC_SHA256
+#define HMAC_FORMAT_VERSION 1
struct hmac_entry {
char path[GNUTLS_PATH_MAX];
@@ -193,7 +193,7 @@ struct lib_paths {
*
* Returns: 0 on success, a negative error code otherwise
*/
-static int get_hmac(uint8_t * dest, const char *value)
+static int get_hmac(uint8_t *dest, const char *value)
{
int ret;
size_t hmac_size;
@@ -213,9 +213,8 @@ static int get_hmac(uint8_t * dest, const char *value)
return 0;
}
-static int
-lib_handler(struct hmac_entry *entry,
- const char *section, const char *name, const char *value)
+static int lib_handler(struct hmac_entry *entry, const char *section,
+ const char *name, const char *value)
{
if (!strcmp(name, "path")) {
snprintf(entry->path, GNUTLS_PATH_MAX, "%s", value);
@@ -272,8 +271,8 @@ static int get_hmac_path(char *mac_file, size_t mac_file_size,
p = strrchr(gnutls_path, '/');
if (p == NULL)
- ret =
- snprintf(mac_file, mac_file_size, ".%s.hmac", gnutls_path);
+ ret = snprintf(mac_file, mac_file_size, ".%s.hmac",
+ gnutls_path);
else
ret = snprintf(mac_file, mac_file_size, "%.*s/.%s.hmac",
(int)(p - gnutls_path), gnutls_path, p + 1);
@@ -286,13 +285,12 @@ static int get_hmac_path(char *mac_file, size_t mac_file_size,
return GNUTLS_E_SUCCESS;
if (p == NULL)
- ret =
- snprintf(mac_file, mac_file_size, "fipscheck/.%s.hmac",
- gnutls_path);
+ ret = snprintf(mac_file, mac_file_size, "fipscheck/.%s.hmac",
+ gnutls_path);
else
- ret =
- snprintf(mac_file, mac_file_size, "%.*s/fipscheck/.%s.hmac",
- (int)(p - gnutls_path), gnutls_path, p + 1);
+ ret = snprintf(mac_file, mac_file_size,
+ "%.*s/fipscheck/.%s.hmac",
+ (int)(p - gnutls_path), gnutls_path, p + 1);
if ((size_t)ret >= mac_file_size)
return gnutls_assert_val(GNUTLS_E_SHORT_MEMORY_BUFFER);
@@ -353,8 +351,8 @@ static int check_lib_hmac(struct hmac_entry *entry, const char *path)
_gnutls_debug_log("Loading: %s\n", path);
ret = gnutls_load_file(path, &data);
if (ret < 0) {
- _gnutls_debug_log("Could not load %s: %s\n",
- path, gnutls_strerror(ret));
+ _gnutls_debug_log("Could not load %s: %s\n", path,
+ gnutls_strerror(ret));
return gnutls_assert_val(ret);
}
@@ -366,8 +364,8 @@ static int check_lib_hmac(struct hmac_entry *entry, const char *path)
gnutls_free(data.data);
if (ret < 0) {
- _gnutls_debug_log("Could not calculate HMAC for %s: %s\n",
- path, gnutls_strerror(ret));
+ _gnutls_debug_log("Could not calculate HMAC for %s: %s\n", path,
+ gnutls_strerror(ret));
return gnutls_assert_val(ret);
}
@@ -381,7 +379,7 @@ static int check_lib_hmac(struct hmac_entry *entry, const char *path)
return 0;
}
-# ifdef HAVE_DL_ITERATE_PHDR
+#ifdef HAVE_DL_ITERATE_PHDR
static int callback(struct dl_phdr_info *info, size_t size, void *data)
{
@@ -425,7 +423,7 @@ static int load_lib_paths(struct lib_paths *paths)
return GNUTLS_E_SUCCESS;
}
-# else
+#else
static int load_lib_paths(struct lib_paths *paths)
{
@@ -434,7 +432,7 @@ static int load_lib_paths(struct lib_paths *paths)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
-# endif /* HAVE_DL_ITERATE_PHDR */
+#endif /* HAVE_DL_ITERATE_PHDR */
static int check_binary_integrity(void)
{
@@ -698,10 +696,12 @@ void gnutls_fips140_set_mode(gnutls_fips_mode_t mode, unsigned flags)
{
#ifdef ENABLE_FIPS140
gnutls_fips_mode_t prev = _gnutls_fips_mode_enabled();
- if (prev == GNUTLS_FIPS140_DISABLED || prev == GNUTLS_FIPS140_SELFTESTS) {
+ if (prev == GNUTLS_FIPS140_DISABLED ||
+ prev == GNUTLS_FIPS140_SELFTESTS) {
/* we need to run self-tests first to be in FIPS140-2 mode */
- _gnutls_audit_log(NULL,
- "The library should be initialized in FIPS140-2 mode to do that operation\n");
+ _gnutls_audit_log(
+ NULL,
+ "The library should be initialized in FIPS140-2 mode to do that operation\n");
return;
}
@@ -712,14 +712,16 @@ void gnutls_fips140_set_mode(gnutls_fips_mode_t mode, unsigned flags)
case GNUTLS_FIPS140_DISABLED:
break;
case GNUTLS_FIPS140_SELFTESTS:
- _gnutls_audit_log(NULL,
- "Cannot switch library to FIPS140-2 self-tests mode; defaulting to strict\n");
+ _gnutls_audit_log(
+ NULL,
+ "Cannot switch library to FIPS140-2 self-tests mode; defaulting to strict\n");
mode = GNUTLS_FIPS140_STRICT;
break;
default:
- _gnutls_audit_log(NULL,
- "Cannot switch library to mode %u; defaulting to strict\n",
- (unsigned)mode);
+ _gnutls_audit_log(
+ NULL,
+ "Cannot switch library to mode %u; defaulting to strict\n",
+ (unsigned)mode);
mode = GNUTLS_FIPS140_STRICT;
break;
}
@@ -753,7 +755,7 @@ void _gnutls_lib_force_operational(void)
*
* Since: 3.7.3
*/
-int gnutls_fips140_context_init(gnutls_fips140_context_t * context)
+int gnutls_fips140_context_init(gnutls_fips140_context_t *context)
{
*context = gnutls_malloc(sizeof(struct gnutls_fips140_context_st));
if (!*context) {
@@ -862,8 +864,8 @@ int gnutls_fips140_pop_context(void)
#ifdef ENABLE_FIPS140
-static inline const char
-*operation_state_to_string(gnutls_fips140_operation_state_t state)
+static inline const char *
+operation_state_to_string(gnutls_fips140_operation_state_t state)
{
switch (state) {
case GNUTLS_FIPS140_OP_INITIAL:
@@ -875,7 +877,7 @@ static inline const char
case GNUTLS_FIPS140_OP_ERROR:
return "error";
default:
- /*NOTREACHED*/ assert(0);
+ /*NOTREACHED*/ assert(0);
return NULL;
}
}
@@ -900,9 +902,10 @@ void _gnutls_switch_fips_state(gnutls_fips140_operation_state_t state)
case GNUTLS_FIPS140_OP_INITIAL:
/* initial can be transitioned to any state */
if (mode != GNUTLS_FIPS140_LAX) {
- _gnutls_audit_log(NULL,
- "FIPS140-2 operation mode switched from initial to %s\n",
- operation_state_to_string(state));
+ _gnutls_audit_log(
+ NULL,
+ "FIPS140-2 operation mode switched from initial to %s\n",
+ operation_state_to_string(state));
}
_tfips_context->state = state;
break;
@@ -910,10 +913,10 @@ void _gnutls_switch_fips_state(gnutls_fips140_operation_state_t state)
/* approved can only be transitioned to not-approved */
if (likely(state == GNUTLS_FIPS140_OP_NOT_APPROVED)) {
if (mode != GNUTLS_FIPS140_LAX) {
- _gnutls_audit_log(NULL,
- "FIPS140-2 operation mode switched from approved to %s\n",
- operation_state_to_string
- (state));
+ _gnutls_audit_log(
+ NULL,
+ "FIPS140-2 operation mode switched from approved to %s\n",
+ operation_state_to_string(state));
}
_tfips_context->state = state;
return;
@@ -922,11 +925,12 @@ void _gnutls_switch_fips_state(gnutls_fips140_operation_state_t state)
default:
/* other transitions are prohibited */
if (mode != GNUTLS_FIPS140_LAX) {
- _gnutls_audit_log(NULL,
- "FIPS140-2 operation mode cannot be switched from %s to %s\n",
- operation_state_to_string
- (_tfips_context->state),
- operation_state_to_string(state));
+ _gnutls_audit_log(
+ NULL,
+ "FIPS140-2 operation mode cannot be switched from %s to %s\n",
+ operation_state_to_string(
+ _tfips_context->state),
+ operation_state_to_string(state));
}
break;
}
@@ -981,7 +985,8 @@ int gnutls_fips140_run_self_tests(void)
_gnutls_switch_lib_state(LIB_STATE_SELFTEST);
ret = _gnutls_fips_perform_self_checks2();
- if (gnutls_fips140_mode_enabled() != GNUTLS_FIPS140_DISABLED && ret < 0) {
+ if (gnutls_fips140_mode_enabled() != GNUTLS_FIPS140_DISABLED &&
+ ret < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
_gnutls_audit_log(NULL,
"FIPS140-2 self testing part 2 failed\n");
@@ -991,12 +996,12 @@ int gnutls_fips140_run_self_tests(void)
}
/* Restore the previous FIPS context */
- if (gnutls_fips140_mode_enabled() != GNUTLS_FIPS140_DISABLED
- && fips_context) {
+ if (gnutls_fips140_mode_enabled() != GNUTLS_FIPS140_DISABLED &&
+ fips_context) {
if (gnutls_fips140_pop_context() < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
- _gnutls_audit_log(NULL,
- "FIPS140-2 context restoration failed\n");
+ _gnutls_audit_log(
+ NULL, "FIPS140-2 context restoration failed\n");
}
gnutls_fips140_context_deinit(fips_context);
}
diff --git a/lib/fips.h b/lib/fips.h
index ef82a3227a..b2cfc0b602 100644
--- a/lib/fips.h
+++ b/lib/fips.h
@@ -21,12 +21,12 @@
*/
#ifndef GNUTLS_LIB_FIPS_H
-# define GNUTLS_LIB_FIPS_H
+#define GNUTLS_LIB_FIPS_H
-# include "gnutls_int.h"
-# include <gnutls/gnutls.h>
+#include "gnutls_int.h"
+#include <gnutls/gnutls.h>
-# define FIPS140_RND_KEY_SIZE 32
+#define FIPS140_RND_KEY_SIZE 32
typedef enum {
LIB_STATE_POWERON,
@@ -43,8 +43,7 @@ extern gnutls_crypto_rnd_st _gnutls_fips_rnd_ops;
void _gnutls_switch_fips_state(gnutls_fips140_operation_state_t state);
-inline static
-void _gnutls_switch_lib_state(gnutls_lib_state_t state)
+inline static void _gnutls_switch_lib_state(gnutls_lib_state_t state)
{
/* Once into zombie state no errors can change us */
_gnutls_lib_state = state;
@@ -59,16 +58,19 @@ int _gnutls_fips_perform_self_checks1(void);
int _gnutls_fips_perform_self_checks2(void);
void _gnutls_fips_mode_reset_zombie(void);
-# ifdef ENABLE_FIPS140
+#ifdef ENABLE_FIPS140
unsigned _gnutls_fips_mode_enabled(void);
-# else
-# define _gnutls_fips_mode_enabled() 0
-# endif
+#else
+#define _gnutls_fips_mode_enabled() 0
+#endif
-# define HAVE_LIB_ERROR() unlikely(_gnutls_get_lib_state() != LIB_STATE_OPERATIONAL && _gnutls_get_lib_state() != LIB_STATE_SELFTEST)
+#define HAVE_LIB_ERROR() \
+ unlikely(_gnutls_get_lib_state() != LIB_STATE_OPERATIONAL && \
+ _gnutls_get_lib_state() != LIB_STATE_SELFTEST)
-# define FAIL_IF_LIB_ERROR \
- if (HAVE_LIB_ERROR()) return GNUTLS_E_LIB_IN_ERROR_STATE
+#define FAIL_IF_LIB_ERROR \
+ if (HAVE_LIB_ERROR()) \
+ return GNUTLS_E_LIB_IN_ERROR_STATE
void _gnutls_switch_lib_state(gnutls_lib_state_t state);
@@ -157,21 +159,26 @@ is_cipher_algo_allowed_in_fips(gnutls_cipher_algorithm_t algo)
}
}
-# ifdef ENABLE_FIPS140
+#ifdef ENABLE_FIPS140
/* This will test the condition when in FIPS140-2 mode
* and return an error if necessary or ignore */
-# define FIPS_RULE(condition, ret_error, ...) { \
- gnutls_fips_mode_t _mode = _gnutls_fips_mode_enabled(); \
- if (_mode != GNUTLS_FIPS140_DISABLED) { \
- if (condition) { \
- if (_mode == GNUTLS_FIPS140_LOG) { \
- _gnutls_audit_log(NULL, "fips140-2: allowing "__VA_ARGS__); \
- } else if (_mode != GNUTLS_FIPS140_LAX) { \
- _gnutls_debug_log("fips140-2: disallowing "__VA_ARGS__); \
- return ret_error; \
- } \
- } \
- }}
+#define FIPS_RULE(condition, ret_error, ...) \
+ { \
+ gnutls_fips_mode_t _mode = _gnutls_fips_mode_enabled(); \
+ if (_mode != GNUTLS_FIPS140_DISABLED) { \
+ if (condition) { \
+ if (_mode == GNUTLS_FIPS140_LOG) { \
+ _gnutls_audit_log( \
+ NULL, \
+ "fips140-2: allowing " __VA_ARGS__); \
+ } else if (_mode != GNUTLS_FIPS140_LAX) { \
+ _gnutls_debug_log( \
+ "fips140-2: disallowing " __VA_ARGS__); \
+ return ret_error; \
+ } \
+ } \
+ } \
+ }
inline static bool is_mac_algo_allowed(gnutls_mac_algorithm_t algo)
{
@@ -216,10 +223,10 @@ inline static bool is_cipher_algo_allowed(gnutls_cipher_algorithm_t algo)
return true;
}
-# else
-# define is_mac_algo_allowed(x) true
-# define is_cipher_algo_allowed(x) true
-# define FIPS_RULE(condition, ret_error, ...)
-# endif
+#else
+#define is_mac_algo_allowed(x) true
+#define is_cipher_algo_allowed(x) true
+#define FIPS_RULE(condition, ret_error, ...)
+#endif
-#endif /* GNUTLS_LIB_FIPS_H */
+#endif /* GNUTLS_LIB_FIPS_H */
diff --git a/lib/fipshmac.c b/lib/fipshmac.c
index fb8fee0d50..51f38f18e5 100644
--- a/lib/fipshmac.c
+++ b/lib/fipshmac.c
@@ -27,16 +27,16 @@
#ifdef HAVE_DL_ITERATE_PHDR
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <link.h>
-# include "dirname.h"
-# include "errors.h"
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <link.h>
+#include "dirname.h"
+#include "errors.h"
-# define FORMAT_VERSION 1
-# define HMAC_SIZE 32
-# define HMAC_ALGO GNUTLS_MAC_SHA256
-# define HMAC_STR_SIZE (2 * HMAC_SIZE + 1)
+#define FORMAT_VERSION 1
+#define HMAC_SIZE 32
+#define HMAC_ALGO GNUTLS_MAC_SHA256
+#define HMAC_STR_SIZE (2 * HMAC_SIZE + 1)
static int get_hmac(const char *path, char *hmac, size_t hmac_size)
{
@@ -91,7 +91,7 @@ static int print_lib(const char *path, const char *soname)
printf("path = %s\n", real_path);
printf("hmac = %s\n", hmac);
- cleanup:
+cleanup:
free(real_path);
return ret;
}
@@ -134,4 +134,4 @@ int main(void)
return EXIT_FAILURE;
}
-#endif /* HAVE_DL_ITERATE_PHDR */
+#endif /* HAVE_DL_ITERATE_PHDR */
diff --git a/lib/global.c b/lib/global.c
index 0ae68099cd..1a0d6ce44d 100644
--- a/lib/global.c
+++ b/lib/global.c
@@ -28,8 +28,8 @@
#include <random.h>
#include <gnutls/pkcs11.h>
-#include <hello_ext.h> /* for _gnutls_hello_ext_init */
-#include <supplemental.h> /* for _gnutls_supplemental_deinit */
+#include <hello_ext.h> /* for _gnutls_hello_ext_init */
+#include <supplemental.h> /* for _gnutls_supplemental_deinit */
#include <locks.h>
#include <system.h>
#include <accelerated/cryptodev.h>
@@ -45,13 +45,13 @@
#define GNUTLS_MIN_LIBTASN1_VERSION "0.3.4"
#ifdef __sun
-# pragma fini(lib_deinit)
-# pragma init(lib_init)
-# define _CONSTRUCTOR
-# define _DESTRUCTOR
+#pragma fini(lib_deinit)
+#pragma init(lib_init)
+#define _CONSTRUCTOR
+#define _DESTRUCTOR
#else
-# define _CONSTRUCTOR __attribute__((constructor))
-# define _DESTRUCTOR __attribute__((destructor))
+#define _CONSTRUCTOR __attribute__((constructor))
+#define _DESTRUCTOR __attribute__((destructor))
#endif
#ifndef _WIN32
@@ -76,7 +76,7 @@ asn1_node _gnutls_gnutls_asn = NULL;
gnutls_log_func _gnutls_log_func = NULL;
gnutls_audit_log_func _gnutls_audit_log_func = NULL;
-int _gnutls_log_level = 0; /* default log level */
+int _gnutls_log_level = 0; /* default log level */
unsigned int _gnutls_global_version = GNUTLS_VERSION_NUMBER;
@@ -176,15 +176,14 @@ void gnutls_global_set_log_level(int level)
* This function must be called before gnutls_global_init() is called.
* This function is not thread safe.
**/
-void
-gnutls_global_set_mem_functions(gnutls_alloc_function alloc_func,
- gnutls_alloc_function secure_alloc_func,
- gnutls_is_secure_function is_secure_func,
- gnutls_realloc_function realloc_func,
- gnutls_free_function free_func)
+void gnutls_global_set_mem_functions(gnutls_alloc_function alloc_func,
+ gnutls_alloc_function secure_alloc_func,
+ gnutls_is_secure_function is_secure_func,
+ gnutls_realloc_function realloc_func,
+ gnutls_free_function free_func)
{
- _gnutls_debug_log
- ("called the deprecated gnutls_global_set_mem_functions()\n");
+ _gnutls_debug_log(
+ "called the deprecated gnutls_global_set_mem_functions()\n");
}
GNUTLS_STATIC_MUTEX(global_init_mutex);
@@ -274,9 +273,9 @@ static int _gnutls_global_init(unsigned constructor)
*/
if (asn1_check_version(GNUTLS_MIN_LIBTASN1_VERSION) == NULL) {
gnutls_assert();
- _gnutls_debug_log
- ("Checking for libtasn1 failed: %s < %s\n",
- asn1_check_version(NULL), GNUTLS_MIN_LIBTASN1_VERSION);
+ _gnutls_debug_log("Checking for libtasn1 failed: %s < %s\n",
+ asn1_check_version(NULL),
+ GNUTLS_MIN_LIBTASN1_VERSION);
ret = GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY;
goto out;
}
@@ -340,8 +339,8 @@ static int _gnutls_global_init(unsigned constructor)
ret = _gnutls_fips_perform_self_checks1();
if (ret < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
- _gnutls_audit_log(NULL,
- "FIPS140-2 self testing part1 failed\n");
+ _gnutls_audit_log(
+ NULL, "FIPS140-2 self testing part1 failed\n");
if (res != 2) {
gnutls_assert();
goto out;
@@ -363,8 +362,8 @@ static int _gnutls_global_init(unsigned constructor)
ret = _gnutls_fips_perform_self_checks2();
if (ret < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
- _gnutls_audit_log(NULL,
- "FIPS140-2 self testing part 2 failed\n");
+ _gnutls_audit_log(
+ NULL, "FIPS140-2 self testing part 2 failed\n");
if (res != 2) {
gnutls_assert();
goto out;
@@ -377,7 +376,7 @@ static int _gnutls_global_init(unsigned constructor)
_gnutls_switch_lib_state(LIB_STATE_OPERATIONAL);
ret = 0;
- out:
+out:
_gnutls_init_ret = ret;
if (!constructor) {
(void)gnutls_static_mutex_unlock(&global_init_mutex);
@@ -438,7 +437,7 @@ static void _gnutls_global_deinit(unsigned destructor)
_gnutls_init--;
}
- fail:
+fail:
if (!destructor) {
(void)gnutls_static_mutex_unlock(&global_init_mutex);
}
@@ -501,8 +500,8 @@ static void _CONSTRUCTOR lib_init(void)
e = secure_getenv("GNUTLS_NO_EXPLICIT_INIT");
if (e != NULL) {
- _gnutls_debug_log
- ("GNUTLS_NO_EXPLICIT_INIT is deprecated; use GNUTLS_NO_IMPLICIT_INIT\n");
+ _gnutls_debug_log(
+ "GNUTLS_NO_EXPLICIT_INIT is deprecated; use GNUTLS_NO_IMPLICIT_INIT\n");
ret = atoi(e);
if (ret == 1)
return;
@@ -533,8 +532,8 @@ static void _DESTRUCTOR lib_deinit(void)
e = secure_getenv("GNUTLS_NO_EXPLICIT_INIT");
if (e != NULL) {
- _gnutls_debug_log
- ("GNUTLS_NO_EXPLICIT_INIT is deprecated; use GNUTLS_NO_IMPLICIT_INIT\n");
+ _gnutls_debug_log(
+ "GNUTLS_NO_EXPLICIT_INIT is deprecated; use GNUTLS_NO_IMPLICIT_INIT\n");
ret = atoi(e);
if (ret == 1)
return;
@@ -545,19 +544,19 @@ static void _DESTRUCTOR lib_deinit(void)
static const struct gnutls_library_config_st _gnutls_library_config[] = {
#ifdef FIPS_MODULE_NAME
- {"fips-module-name", FIPS_MODULE_NAME},
+ { "fips-module-name", FIPS_MODULE_NAME },
#endif
#ifdef FIPS_MODULE_VERSION
- {"fips-module-version", FIPS_MODULE_VERSION},
+ { "fips-module-version", FIPS_MODULE_VERSION },
#endif
- {"libgnutls-soname", GNUTLS_LIBRARY_SONAME},
- {"libnettle-soname", NETTLE_LIBRARY_SONAME},
- {"libhogweed-soname", HOGWEED_LIBRARY_SONAME},
- {"libgmp-soname", GMP_LIBRARY_SONAME},
- {"hardware-features", HW_FEATURES},
- {"tls-features", TLS_FEATURES},
- {"default-system-config", SYSTEM_PRIORITY_FILE},
- {NULL, NULL}
+ { "libgnutls-soname", GNUTLS_LIBRARY_SONAME },
+ { "libnettle-soname", NETTLE_LIBRARY_SONAME },
+ { "libhogweed-soname", HOGWEED_LIBRARY_SONAME },
+ { "libgmp-soname", GMP_LIBRARY_SONAME },
+ { "hardware-features", HW_FEATURES },
+ { "tls-features", TLS_FEATURES },
+ { "default-system-config", SYSTEM_PRIORITY_FILE },
+ { NULL, NULL }
};
/**
diff --git a/lib/global.h b/lib/global.h
index 72aeef9f4c..ae16af813c 100644
--- a/lib/global.h
+++ b/lib/global.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_GLOBAL_H
-# define GNUTLS_LIB_GLOBAL_H
+#define GNUTLS_LIB_GLOBAL_H
-# include <libtasn1.h>
-# include <gnutls/gnutls.h>
+#include <libtasn1.h>
+#include <gnutls/gnutls.h>
int gnutls_is_secure_memory(const void *mem);
@@ -35,8 +35,8 @@ extern asn1_node _gnutls_gnutls_asn;
* prevent warnings, since libtasn1 doesn't
* use the const keyword in its functions.
*/
-# define _gnutls_get_gnutls_asn() ((asn1_node) _gnutls_gnutls_asn)
-# define _gnutls_get_pkix() ((asn1_node) _gnutls_pkix1_asn)
+#define _gnutls_get_gnutls_asn() ((asn1_node)_gnutls_gnutls_asn)
+#define _gnutls_get_pkix() ((asn1_node)_gnutls_pkix1_asn)
extern gnutls_log_func _gnutls_log_func;
extern gnutls_audit_log_func _gnutls_audit_log_func;
@@ -50,4 +50,4 @@ extern void _gnutls_prepare_to_load_system_priorities(void);
extern void _gnutls_unload_system_priorities(void);
extern bool _gnutls_allowlisting_mode(void);
-#endif /* GNUTLS_LIB_GLOBAL_H */
+#endif /* GNUTLS_LIB_GLOBAL_H */
diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
index 0d0b9a8e5e..5d7ff9bff9 100644
--- a/lib/gnutls_int.h
+++ b/lib/gnutls_int.h
@@ -22,128 +22,133 @@
*/
#ifndef GNUTLS_LIB_GNUTLS_INT_H
-# define GNUTLS_LIB_GNUTLS_INT_H
-
-# ifdef HAVE_CONFIG_H
-# include <config.h>
-# endif
-
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-# include <stdio.h>
-# include <ctype.h>
-# include <limits.h>
-# include <stdint.h>
-# include <stdbool.h>
-# include <assert.h>
-
-# ifdef NO_SSIZE_T
-# define HAVE_SSIZE_T
+#define GNUTLS_LIB_GNUTLS_INT_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stddef.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include <assert.h>
+
+#ifdef NO_SSIZE_T
+#define HAVE_SSIZE_T
typedef int ssize_t;
-# endif
+#endif
-# include <sys/types.h>
-# include <unistd.h>
-# include <sys/stat.h>
-# if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-# elif HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
-# endif
-# include <time.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#elif HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+#include <time.h>
-# include "attribute.h"
+#include "attribute.h"
-# define ENABLE_ALIGN16
+#define ENABLE_ALIGN16
-# ifdef __clang_major
-# define _GNUTLS_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
-# else
-# define _GNUTLS_CLANG_VERSION 0
-# endif
+#ifdef __clang_major
+#define _GNUTLS_CLANG_VERSION \
+ (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
+#else
+#define _GNUTLS_CLANG_VERSION 0
+#endif
/* clang also defines __GNUC__. It promotes a GCC version of 4.2.1. */
-# ifdef __GNUC__
-# define _GNUTLS_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-# endif
-
-# if _GNUTLS_GCC_VERSION >= 30100
-# define likely(x) __builtin_expect((x), 1)
-# define unlikely(x) __builtin_expect((x), 0)
-# else
-# define likely
-# define unlikely
-# endif
-
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <gnutls/abstract.h>
-# include <gnutls/socket.h>
-# include <system.h>
+#ifdef __GNUC__
+#define _GNUTLS_GCC_VERSION \
+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#endif
+
+#if _GNUTLS_GCC_VERSION >= 30100
+#define likely(x) __builtin_expect((x), 1)
+#define unlikely(x) __builtin_expect((x), 0)
+#else
+#define likely
+#define unlikely
+#endif
+
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <gnutls/abstract.h>
+#include <gnutls/socket.h>
+#include <system.h>
/* in case we compile with system headers taking priority, we
* make sure that some new attributes are still available.
*/
-# ifndef __GNUTLS_CONST__
-# define __GNUTLS_CONST__
-# endif
+#ifndef __GNUTLS_CONST__
+#define __GNUTLS_CONST__
+#endif
/* The size of a handshake message should not
* be larger than this value.
*/
-# define MAX_HANDSHAKE_PACKET_SIZE 128*1024
+#define MAX_HANDSHAKE_PACKET_SIZE 128 * 1024
-# define GNUTLS_DEF_SESSION_ID_SIZE 32
+#define GNUTLS_DEF_SESSION_ID_SIZE 32
/* The maximum digest size of hash algorithms.
*/
-# define MAX_FILENAME 512
-# define MAX_HASH_SIZE 64
+#define MAX_FILENAME 512
+#define MAX_HASH_SIZE 64
-# define MAX_MAC_KEY_SIZE 64
+#define MAX_MAC_KEY_SIZE 64
-# define MAX_CIPHER_BLOCK_SIZE 64 /* CHACHA20 */
-# define MAX_CIPHER_KEY_SIZE 32
+#define MAX_CIPHER_BLOCK_SIZE 64 /* CHACHA20 */
+#define MAX_CIPHER_KEY_SIZE 32
-# define MAX_CIPHER_IV_SIZE 16
+#define MAX_CIPHER_IV_SIZE 16
/* Maximum size of 2^16-1 has been chosen so that usernames can hold
* PSK identities as defined in RFC 4279 section 2 and RFC 8446 section 4.2.11
*/
-# define MAX_USERNAME_SIZE 65535
-# define MAX_SERVER_NAME_SIZE 256
+#define MAX_USERNAME_SIZE 65535
+#define MAX_SERVER_NAME_SIZE 256
-# define AEAD_EXPLICIT_DATA_SIZE 8
-# define AEAD_IMPLICIT_DATA_SIZE 4
+#define AEAD_EXPLICIT_DATA_SIZE 8
+#define AEAD_IMPLICIT_DATA_SIZE 4
-# define GNUTLS_MASTER_SIZE 48
-# define GNUTLS_RANDOM_SIZE 32
+#define GNUTLS_MASTER_SIZE 48
+#define GNUTLS_RANDOM_SIZE 32
/* Under TLS1.3 a hello retry request is sent as server hello */
-# define REAL_HSK_TYPE(t) ((t)==GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST?GNUTLS_HANDSHAKE_SERVER_HELLO:t)
+#define REAL_HSK_TYPE(t) \
+ ((t) == GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST ? \
+ GNUTLS_HANDSHAKE_SERVER_HELLO : \
+ t)
/* DTLS */
-# define DTLS_RETRANS_TIMEOUT 1000
+#define DTLS_RETRANS_TIMEOUT 1000
/* TLS Extensions */
/* we can receive up to MAX_EXT_TYPES extensions.
*/
-# define MAX_EXT_TYPES 64
+#define MAX_EXT_TYPES 64
/* TLS-internal extension (will be parsed after a ciphersuite is selected).
* This amends the gnutls_ext_parse_type_t. Not exported yet to allow more refining
* prior to finalizing an API. */
-# define _GNUTLS_EXT_TLS_POST_CS 177
+#define _GNUTLS_EXT_TLS_POST_CS 177
/* expire time for resuming sessions */
-# define DEFAULT_EXPIRE_TIME 21600
-# define STEK_ROTATION_PERIOD_PRODUCT 3
-# define DEFAULT_HANDSHAKE_TIMEOUT_MS 40*1000
+#define DEFAULT_EXPIRE_TIME 21600
+#define STEK_ROTATION_PERIOD_PRODUCT 3
+#define DEFAULT_HANDSHAKE_TIMEOUT_MS 40 * 1000
/* The EC group to be used when the extension
* supported groups/curves is not present */
-# define DEFAULT_EC_GROUP GNUTLS_GROUP_SECP256R1
+#define DEFAULT_EC_GROUP GNUTLS_GROUP_SECP256R1
typedef enum transport_t {
GNUTLS_STREAM,
@@ -161,8 +166,8 @@ typedef enum hs_stage_t {
typedef enum record_send_state_t {
RECORD_SEND_NORMAL = 0,
- RECORD_SEND_CORKED, /* corked and transition to NORMAL afterwards */
- RECORD_SEND_CORKED_TO_KU, /* corked but must transition to RECORD_SEND_KEY_UPDATE_1 */
+ RECORD_SEND_CORKED, /* corked and transition to NORMAL afterwards */
+ RECORD_SEND_CORKED_TO_KU, /* corked but must transition to RECORD_SEND_KEY_UPDATE_1 */
RECORD_SEND_KEY_UPDATE_1,
RECORD_SEND_KEY_UPDATE_2,
RECORD_SEND_KEY_UPDATE_3
@@ -173,110 +178,174 @@ typedef enum record_send_state_t {
* in the future when the internal structure changes than all the conditionals
* itself.
*/
-# define IS_SERVER(session) (session->security_parameters.entity == GNUTLS_SERVER)
+#define IS_SERVER(session) \
+ (session->security_parameters.entity == GNUTLS_SERVER)
/* To check whether we have a DTLS session */
-# define IS_DTLS(session) (session->internals.transport == GNUTLS_DGRAM)
+#define IS_DTLS(session) (session->internals.transport == GNUTLS_DGRAM)
/* To check whether we have a KTLS enabled */
-# define IS_KTLS_ENABLED(session, interface) (session->internals.ktls_enabled & interface)
+#define IS_KTLS_ENABLED(session, interface) \
+ (session->internals.ktls_enabled & interface)
/* the maximum size of encrypted packets */
-# define DEFAULT_MAX_RECORD_SIZE 16384
-# define DEFAULT_MAX_EARLY_DATA_SIZE 16384
-# define TLS_RECORD_HEADER_SIZE 5
-# define DTLS_RECORD_HEADER_SIZE (TLS_RECORD_HEADER_SIZE+8)
-# define RECORD_HEADER_SIZE(session) (IS_DTLS(session) ? DTLS_RECORD_HEADER_SIZE : TLS_RECORD_HEADER_SIZE)
-# define MAX_RECORD_HEADER_SIZE DTLS_RECORD_HEADER_SIZE
+#define DEFAULT_MAX_RECORD_SIZE 16384
+#define DEFAULT_MAX_EARLY_DATA_SIZE 16384
+#define TLS_RECORD_HEADER_SIZE 5
+#define DTLS_RECORD_HEADER_SIZE (TLS_RECORD_HEADER_SIZE + 8)
+#define RECORD_HEADER_SIZE(session) \
+ (IS_DTLS(session) ? DTLS_RECORD_HEADER_SIZE : TLS_RECORD_HEADER_SIZE)
+#define MAX_RECORD_HEADER_SIZE DTLS_RECORD_HEADER_SIZE
-# define MIN_RECORD_SIZE 512
-# define MIN_RECORD_SIZE_SMALL 64
+#define MIN_RECORD_SIZE 512
+#define MIN_RECORD_SIZE_SMALL 64
/* The following macro is used to calculate the overhead when sending.
* when receiving we use a different way as there are implementations that
* store more data than allowed.
*/
-# define MAX_RECORD_SEND_OVERHEAD(session) (MAX_CIPHER_BLOCK_SIZE/*iv*/+MAX_PAD_SIZE+MAX_HASH_SIZE/*MAC*/)
-# define MAX_PAD_SIZE 255
-# define EXTRA_COMP_SIZE 2048
-
-# define TLS_HANDSHAKE_HEADER_SIZE 4
-# define DTLS_HANDSHAKE_HEADER_SIZE (TLS_HANDSHAKE_HEADER_SIZE+8)
-# define HANDSHAKE_HEADER_SIZE(session) (IS_DTLS(session) ? DTLS_HANDSHAKE_HEADER_SIZE : TLS_HANDSHAKE_HEADER_SIZE)
-# define MAX_HANDSHAKE_HEADER_SIZE DTLS_HANDSHAKE_HEADER_SIZE
+#define MAX_RECORD_SEND_OVERHEAD(session) \
+ (MAX_CIPHER_BLOCK_SIZE /*iv*/ + MAX_PAD_SIZE + MAX_HASH_SIZE /*MAC*/)
+#define MAX_PAD_SIZE 255
+#define EXTRA_COMP_SIZE 2048
+
+#define TLS_HANDSHAKE_HEADER_SIZE 4
+#define DTLS_HANDSHAKE_HEADER_SIZE (TLS_HANDSHAKE_HEADER_SIZE + 8)
+#define HANDSHAKE_HEADER_SIZE(session) \
+ (IS_DTLS(session) ? DTLS_HANDSHAKE_HEADER_SIZE : \
+ TLS_HANDSHAKE_HEADER_SIZE)
+#define MAX_HANDSHAKE_HEADER_SIZE DTLS_HANDSHAKE_HEADER_SIZE
/* Maximum seed size for provable parameters */
-# define MAX_PVP_SEED_SIZE 256
+#define MAX_PVP_SEED_SIZE 256
/* This is the maximum handshake message size we send without
fragmentation. This currently ignores record layer overhead. */
-# define DTLS_DEFAULT_MTU 1200
+#define DTLS_DEFAULT_MTU 1200
/* the maximum size of the DTLS cookie */
-# define DTLS_MAX_COOKIE_SIZE 32
+#define DTLS_MAX_COOKIE_SIZE 32
/* The maximum number of HELLO_VERIFY_REQUEST messages the client
processes before aborting. */
-# define MAX_HANDSHAKE_HELLO_VERIFY_REQUESTS 5
+#define MAX_HANDSHAKE_HELLO_VERIFY_REQUESTS 5
-# define MAX_PK_PARAM_SIZE 2048
+#define MAX_PK_PARAM_SIZE 2048
/* defaults for verification functions
*/
-# define DEFAULT_MAX_VERIFY_DEPTH 16
-# define DEFAULT_MAX_VERIFY_BITS (MAX_PK_PARAM_SIZE*8)
-# define MAX_VERIFY_DEPTH 4096
-
-# include <mem.h>
-
-# define MEMSUB(x,y) ((ssize_t)((ptrdiff_t)x-(ptrdiff_t)y))
-
-# define DECR_LEN(len, x) DECR_LENGTH_RET(len, x, GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
-# define DECR_LEN_FINAL(len, x) do { \
- if (len != x) \
- return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH); \
- else \
- len = 0; \
+#define DEFAULT_MAX_VERIFY_DEPTH 16
+#define DEFAULT_MAX_VERIFY_BITS (MAX_PK_PARAM_SIZE * 8)
+#define MAX_VERIFY_DEPTH 4096
+
+#include <mem.h>
+
+#define MEMSUB(x, y) ((ssize_t)((ptrdiff_t)x - (ptrdiff_t)y))
+
+#define DECR_LEN(len, x) \
+ DECR_LENGTH_RET(len, x, GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
+#define DECR_LEN_FINAL(len, x) \
+ do { \
+ if (len != x) \
+ return gnutls_assert_val( \
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH); \
+ else \
+ len = 0; \
+ } while (0)
+#define DECR_LENGTH_RET(len, x, RET) DECR_LENGTH_COM(len, x, return RET)
+#define DECR_LENGTH_COM(len, x, COM) \
+ do { \
+ if (len < x) { \
+ gnutls_assert(); \
+ COM; \
+ } else \
+ len -= x; \
} while (0)
-# define DECR_LENGTH_RET(len, x, RET) DECR_LENGTH_COM(len, x, return RET)
-# define DECR_LENGTH_COM(len, x, COM) do { if (len<x) {gnutls_assert(); COM;} else len-=x; } while (0)
-
-# define GNUTLS_POINTER_TO_INT(_) ((int) GNUTLS_POINTER_TO_INT_CAST (_))
-# define GNUTLS_INT_TO_POINTER(_) ((void*) GNUTLS_POINTER_TO_INT_CAST (_))
-
-# define GNUTLS_KX_INVALID (-1)
-
-# include <mpi.h>
-
-typedef enum handshake_state_t { STATE0 = 0, STATE1, STATE2,
- STATE3, STATE4, STATE5, STATE6, STATE7, STATE8,
- STATE9, STATE10, STATE11, STATE12, STATE13, STATE14,
- STATE15, STATE16, STATE17, STATE18, STATE19,
- STATE20 = 20, STATE21, STATE22,
- STATE30 = 30, STATE31, STATE40 = 40, STATE41, STATE50 = 50,
- STATE90 = 90, STATE91, STATE92, STATE93, STATE94, STATE99 = 99,
- STATE100 = 100, STATE101, STATE102, STATE103, STATE104,
- STATE105, STATE106, STATE107, STATE108, STATE109, STATE110,
- STATE111, STATE112, STATE113, STATE114, STATE115,
- STATE150 /* key update */
+
+#define GNUTLS_POINTER_TO_INT(_) ((int)GNUTLS_POINTER_TO_INT_CAST(_))
+#define GNUTLS_INT_TO_POINTER(_) ((void *)GNUTLS_POINTER_TO_INT_CAST(_))
+
+#define GNUTLS_KX_INVALID (-1)
+
+#include <mpi.h>
+
+typedef enum handshake_state_t {
+ STATE0 = 0,
+ STATE1,
+ STATE2,
+ STATE3,
+ STATE4,
+ STATE5,
+ STATE6,
+ STATE7,
+ STATE8,
+ STATE9,
+ STATE10,
+ STATE11,
+ STATE12,
+ STATE13,
+ STATE14,
+ STATE15,
+ STATE16,
+ STATE17,
+ STATE18,
+ STATE19,
+ STATE20 = 20,
+ STATE21,
+ STATE22,
+ STATE30 = 30,
+ STATE31,
+ STATE40 = 40,
+ STATE41,
+ STATE50 = 50,
+ STATE90 = 90,
+ STATE91,
+ STATE92,
+ STATE93,
+ STATE94,
+ STATE99 = 99,
+ STATE100 = 100,
+ STATE101,
+ STATE102,
+ STATE103,
+ STATE104,
+ STATE105,
+ STATE106,
+ STATE107,
+ STATE108,
+ STATE109,
+ STATE110,
+ STATE111,
+ STATE112,
+ STATE113,
+ STATE114,
+ STATE115,
+ STATE150 /* key update */
} handshake_state_t;
typedef enum bye_state_t {
- BYE_STATE0 = 0, BYE_STATE1, BYE_STATE2
+ BYE_STATE0 = 0,
+ BYE_STATE1,
+ BYE_STATE2
} bye_state_t;
typedef enum send_ticket_state_t {
- TICKET_STATE0 = 0, TICKET_STATE1
+ TICKET_STATE0 = 0,
+ TICKET_STATE1
} send_ticket_state_t;
typedef enum reauth_state_t {
- REAUTH_STATE0 = 0, REAUTH_STATE1, REAUTH_STATE2, REAUTH_STATE3,
- REAUTH_STATE4, REAUTH_STATE5
+ REAUTH_STATE0 = 0,
+ REAUTH_STATE1,
+ REAUTH_STATE2,
+ REAUTH_STATE3,
+ REAUTH_STATE4,
+ REAUTH_STATE5
} reauth_state_t;
-# define TICKET_STATE session->internals.ticket_state
-# define BYE_STATE session->internals.bye_state
-# define REAUTH_STATE session->internals.reauth_state
+#define TICKET_STATE session->internals.ticket_state
+#define BYE_STATE session->internals.bye_state
+#define REAUTH_STATE session->internals.reauth_state
typedef enum heartbeat_state_t {
SHB_SEND1 = 0,
@@ -288,23 +357,23 @@ typedef enum recv_state_t {
RECV_STATE_0 = 0,
RECV_STATE_DTLS_RETRANSMIT,
/* client-side false start state */
- RECV_STATE_FALSE_START_HANDLING, /* we are calling gnutls_handshake() within record_recv() */
- RECV_STATE_FALSE_START, /* gnutls_record_recv() should complete the handshake */
+ RECV_STATE_FALSE_START_HANDLING, /* we are calling gnutls_handshake() within record_recv() */
+ RECV_STATE_FALSE_START, /* gnutls_record_recv() should complete the handshake */
/* async handshake msg state */
- RECV_STATE_ASYNC_HANDSHAKE, /* an incomplete async handshake message was seen */
+ RECV_STATE_ASYNC_HANDSHAKE, /* an incomplete async handshake message was seen */
/* server-side early start under TLS1.3; enabled when no client cert is received */
- RECV_STATE_EARLY_START_HANDLING, /* we are calling gnutls_handshake() within record_recv() */
- RECV_STATE_EARLY_START, /* gnutls_record_recv() should complete the handshake */
- RECV_STATE_REHANDSHAKE, /* gnutls_record_recv() should complete any incoming re-handshake requests */
- RECV_STATE_REAUTH /* gnutls_record_recv() should complete any incoming reauthentication requests */
+ RECV_STATE_EARLY_START_HANDLING, /* we are calling gnutls_handshake() within record_recv() */
+ RECV_STATE_EARLY_START, /* gnutls_record_recv() should complete the handshake */
+ RECV_STATE_REHANDSHAKE, /* gnutls_record_recv() should complete any incoming re-handshake requests */
+ RECV_STATE_REAUTH /* gnutls_record_recv() should complete any incoming reauthentication requests */
} recv_state_t;
-# include "str.h"
+#include "str.h"
/* This is the maximum number of algorithms (ciphers or macs etc).
* keep it synced with GNUTLS_MAX_ALGORITHM_NUM in gnutls.h
*/
-# define MAX_ALGOS GNUTLS_MAX_ALGORITHM_NUM
+#define MAX_ALGOS GNUTLS_MAX_ALGORITHM_NUM
/* IDs are allocated in a way that all values fit in 64-bit integer as (1<<val) */
typedef enum extensions_t {
@@ -339,13 +408,13 @@ typedef enum extensions_t {
* in that order */
GNUTLS_EXTENSION_DUMBFW,
GNUTLS_EXTENSION_PRE_SHARED_KEY,
- GNUTLS_EXTENSION_MAX /* not real extension - used for iterators */
+ GNUTLS_EXTENSION_MAX /* not real extension - used for iterators */
} extensions_t;
-# define GNUTLS_EXTENSION_MAX_VALUE 63
-# define ext_track_t uint64_t
+#define GNUTLS_EXTENSION_MAX_VALUE 63
+#define ext_track_t uint64_t
-# include <verify.h>
+#include <verify.h>
verify(GNUTLS_EXTENSION_MAX < GNUTLS_EXTENSION_MAX_VALUE);
verify(GNUTLS_EXTENSION_MAX < MAX_EXT_TYPES);
@@ -364,28 +433,35 @@ verify(MAX_EXT_TYPES <= UINT8_MAX);
/* The 'verify' symbol from <verify.h> is used extensively in the
* code; undef it to avoid clash
*/
-# undef verify
+#undef verify
-typedef enum { CIPHER_STREAM, CIPHER_BLOCK, CIPHER_AEAD } cipher_type_t;
+typedef enum {
+ CIPHER_STREAM,
+ CIPHER_BLOCK,
+ CIPHER_AEAD
+} cipher_type_t;
/* Record Protocol */
typedef enum content_type_t {
- GNUTLS_CHANGE_CIPHER_SPEC = 20, GNUTLS_ALERT,
- GNUTLS_HANDSHAKE, GNUTLS_APPLICATION_DATA,
+ GNUTLS_CHANGE_CIPHER_SPEC = 20,
+ GNUTLS_ALERT,
+ GNUTLS_HANDSHAKE,
+ GNUTLS_APPLICATION_DATA,
GNUTLS_HEARTBEAT
} content_type_t;
-# define GNUTLS_PK_ANY (gnutls_pk_algorithm_t)-1
-# define GNUTLS_PK_NONE (gnutls_pk_algorithm_t)-2
+#define GNUTLS_PK_ANY (gnutls_pk_algorithm_t) - 1
+#define GNUTLS_PK_NONE (gnutls_pk_algorithm_t) - 2
-# define GNUTLS_PK_IS_RSA(pk) ((pk) == GNUTLS_PK_RSA || (pk) == GNUTLS_PK_RSA_PSS)
+#define GNUTLS_PK_IS_RSA(pk) \
+ ((pk) == GNUTLS_PK_RSA || (pk) == GNUTLS_PK_RSA_PSS)
/* Message buffers (mbuffers) structures */
/* this is actually the maximum number of distinct handshake
* messages that can arrive in a single flight
*/
-# define MAX_HANDSHAKE_MSGS 6
+#define MAX_HANDSHAKE_MSGS 6
typedef struct {
/* Handshake layer type and sequence of message */
gnutls_handshake_description_t htype;
@@ -471,18 +547,19 @@ typedef struct auth_cred_st {
} auth_cred_st;
/* session ticket definitions */
-# define TICKET_MASTER_KEY_SIZE (TICKET_KEY_NAME_SIZE+TICKET_CIPHER_KEY_SIZE+TICKET_MAC_SECRET_SIZE)
-# define TICKET_KEY_NAME_SIZE 16
-# define TICKET_CIPHER_KEY_SIZE 32
-# define TICKET_MAC_SECRET_SIZE 16
+#define TICKET_MASTER_KEY_SIZE \
+ (TICKET_KEY_NAME_SIZE + TICKET_CIPHER_KEY_SIZE + TICKET_MAC_SECRET_SIZE)
+#define TICKET_KEY_NAME_SIZE 16
+#define TICKET_CIPHER_KEY_SIZE 32
+#define TICKET_MAC_SECRET_SIZE 16
/* These are restricted by TICKET_CIPHER_KEY_SIZE and TICKET_MAC_SECRET_SIZE */
-# define TICKET_CIPHER GNUTLS_CIPHER_AES_256_CBC
-# define TICKET_IV_SIZE 16
-# define TICKET_BLOCK_SIZE 16
+#define TICKET_CIPHER GNUTLS_CIPHER_AES_256_CBC
+#define TICKET_IV_SIZE 16
+#define TICKET_BLOCK_SIZE 16
-# define TICKET_MAC_ALGO GNUTLS_MAC_SHA1
-# define TICKET_MAC_SIZE 20 /* HMAC-SHA1 */
+#define TICKET_MAC_ALGO GNUTLS_MAC_SHA1
+#define TICKET_MAC_SIZE 20 /* HMAC-SHA1 */
struct ticket_st {
uint8_t key_name[TICKET_KEY_NAME_SIZE];
@@ -493,22 +570,22 @@ struct ticket_st {
};
struct binder_data_st {
- const struct mac_entry_st *prf; /* non-null if this struct is set */
+ const struct mac_entry_st *prf; /* non-null if this struct is set */
gnutls_datum_t psk;
/* 0-based index of the selected PSK.
* This only applies if the HSK_PSK_SELECTED flag is set in internals.hsk_flags,
* which signals a PSK has indeed been selected. */
uint8_t idx;
- uint8_t resumption; /* whether it is a resumption binder */
+ uint8_t resumption; /* whether it is a resumption binder */
};
-typedef void (*gnutls_stek_rotation_callback_t)(const gnutls_datum_t * prev_key,
- const gnutls_datum_t * new_key,
+typedef void (*gnutls_stek_rotation_callback_t)(const gnutls_datum_t *prev_key,
+ const gnutls_datum_t *new_key,
uint64_t t);
struct gnutls_key_st {
- struct { /* These are kept outside the TLS1.3 union as they are
+ struct { /* These are kept outside the TLS1.3 union as they are
* negotiated via extension, even before protocol is negotiated */
gnutls_pk_params_st ecdh_params;
gnutls_pk_params_st ecdhx_params;
@@ -525,25 +602,32 @@ struct gnutls_key_st {
/* the current (depending on state) secret, can be
* early_secret, client_early_traffic_secret, ... */
uint8_t temp_secret[MAX_HASH_SIZE];
- unsigned temp_secret_size; /* depends on negotiated PRF size */
- uint8_t e_ckey[MAX_HASH_SIZE]; /* client_early_traffic_secret */
- uint8_t hs_ckey[MAX_HASH_SIZE]; /* client_hs_traffic_secret */
- uint8_t hs_skey[MAX_HASH_SIZE]; /* server_hs_traffic_secret */
- uint8_t ap_ckey[MAX_HASH_SIZE]; /* client_ap_traffic_secret */
- uint8_t ap_skey[MAX_HASH_SIZE]; /* server_ap_traffic_secret */
- uint8_t ap_expkey[MAX_HASH_SIZE]; /* {early_,}exporter_master_secret */
- uint8_t ap_rms[MAX_HASH_SIZE]; /* resumption_master_secret */
- } tls13; /* tls1.3 */
+ unsigned temp_secret_size; /* depends on negotiated PRF size */
+ uint8_t e_ckey
+ [MAX_HASH_SIZE]; /* client_early_traffic_secret */
+ uint8_t hs_ckey
+ [MAX_HASH_SIZE]; /* client_hs_traffic_secret */
+ uint8_t hs_skey
+ [MAX_HASH_SIZE]; /* server_hs_traffic_secret */
+ uint8_t ap_ckey
+ [MAX_HASH_SIZE]; /* client_ap_traffic_secret */
+ uint8_t ap_skey
+ [MAX_HASH_SIZE]; /* server_ap_traffic_secret */
+ uint8_t ap_expkey
+ [MAX_HASH_SIZE]; /* {early_,}exporter_master_secret */
+ uint8_t ap_rms[MAX_HASH_SIZE]; /* resumption_master_secret */
+ } tls13; /* tls1.3 */
/* Follow the SSL3.0 and TLS1.2 key exchanges */
struct {
/* For ECDH KX */
struct {
- gnutls_pk_params_st params; /* private part */
+ gnutls_pk_params_st params; /* private part */
/* public part */
bigint_t x;
bigint_t y;
- gnutls_datum_t raw; /* public key used in ECDHX (point) */
+ gnutls_datum_t
+ raw; /* public key used in ECDHX (point) */
} ecdh;
/* For DH KX */
@@ -564,7 +648,7 @@ struct gnutls_key_st {
bigint_t a;
bigint_t x;
} srp;
- } tls12; /* from ssl3.0 to tls12 */
+ } tls12; /* from ssl3.0 to tls12 */
} proto;
/* binders / pre-shared keys in use; temporary storage.
@@ -579,13 +663,13 @@ struct gnutls_key_st {
/* TLS pre-master key; applies to 1.2 and 1.3 */
gnutls_datum_t key;
- uint8_t
- /* The key to encrypt and decrypt session tickets */
- session_ticket_key[TICKET_MASTER_KEY_SIZE],
- /* Static buffer for the previous key, whenever we need it */
- previous_ticket_key[TICKET_MASTER_KEY_SIZE],
- /* Initial key supplied by the caller */
- initial_stek[TICKET_MASTER_KEY_SIZE];
+ uint8_t
+ /* The key to encrypt and decrypt session tickets */
+ session_ticket_key[TICKET_MASTER_KEY_SIZE],
+ /* Static buffer for the previous key, whenever we need it */
+ previous_ticket_key[TICKET_MASTER_KEY_SIZE],
+ /* Initial key supplied by the caller */
+ initial_stek[TICKET_MASTER_KEY_SIZE];
/* Whether the initial_stek is set through
* gnutls_session_ticket_enable_server() */
@@ -599,9 +683,9 @@ struct gnutls_key_st {
*/
void *auth_info;
gnutls_credentials_type_t auth_info_type;
- int auth_info_size; /* needed in order to store to db for restoring
+ int auth_info_size; /* needed in order to store to db for restoring
*/
- auth_cred_st *cred; /* used to specify keys/certificates etc */
+ auth_cred_st *cred; /* used to specify keys/certificates etc */
struct {
uint64_t last_result;
@@ -623,10 +707,17 @@ typedef struct record_state_st record_state_st;
struct record_parameters_st;
typedef struct record_parameters_st record_parameters_st;
-# define GNUTLS_CIPHER_FLAG_ONLY_AEAD (1 << 0) /* When set, this cipher is only available through the new AEAD API */
-# define GNUTLS_CIPHER_FLAG_XOR_NONCE (1 << 1) /* In this TLS AEAD cipher xor the implicit_iv with the nonce */
-# define GNUTLS_CIPHER_FLAG_NO_REKEY (1 << 2) /* whether this tls1.3 cipher doesn't need to rekey after 2^24 messages */
-# define GNUTLS_CIPHER_FLAG_TAG_PREFIXED (1 << 3) /* When set, this cipher prefixes authentication tag */
+#define GNUTLS_CIPHER_FLAG_ONLY_AEAD \
+ (1 \
+ << 0) /* When set, this cipher is only available through the new AEAD API */
+#define GNUTLS_CIPHER_FLAG_XOR_NONCE \
+ (1 \
+ << 1) /* In this TLS AEAD cipher xor the implicit_iv with the nonce */
+#define GNUTLS_CIPHER_FLAG_NO_REKEY \
+ (1 \
+ << 2) /* whether this tls1.3 cipher doesn't need to rekey after 2^24 messages */
+#define GNUTLS_CIPHER_FLAG_TAG_PREFIXED \
+ (1 << 3) /* When set, this cipher prefixes authentication tag */
/* cipher and mac parameters */
typedef struct cipher_entry_st {
@@ -635,9 +726,9 @@ typedef struct cipher_entry_st {
uint16_t blocksize;
uint16_t keysize;
cipher_type_t type;
- uint16_t implicit_iv; /* the size of implicit IV - the IV generated but not sent */
- uint16_t explicit_iv; /* the size of explicit IV - the IV stored in record */
- uint16_t cipher_iv; /* the size of IV needed by the cipher */
+ uint16_t implicit_iv; /* the size of implicit IV - the IV generated but not sent */
+ uint16_t explicit_iv; /* the size of explicit IV - the IV stored in record */
+ uint16_t cipher_iv; /* the size of IV needed by the cipher */
uint16_t tagsize;
unsigned flags;
} cipher_entry_st;
@@ -649,14 +740,14 @@ typedef struct gnutls_cipher_suite_entry_st {
gnutls_cipher_algorithm_t block_algorithm;
gnutls_kx_algorithm_t kx_algorithm;
gnutls_mac_algorithm_t mac_algorithm;
- gnutls_protocol_t min_version; /* this cipher suite is supported
+ gnutls_protocol_t min_version; /* this cipher suite is supported
* from 'version' and above;
*/
- gnutls_protocol_t max_version; /* this cipher suite is not supported
+ gnutls_protocol_t max_version; /* this cipher suite is not supported
* after 'version' and above;
*/
- gnutls_protocol_t min_dtls_version; /* DTLS min version */
- gnutls_protocol_t max_dtls_version; /* DTLS max version */
+ gnutls_protocol_t min_dtls_version; /* DTLS min version */
+ gnutls_protocol_t max_dtls_version; /* DTLS max version */
gnutls_mac_algorithm_t prf;
} gnutls_cipher_suite_entry_st;
@@ -669,51 +760,57 @@ typedef struct gnutls_group_entry_st {
const unsigned *q_bits;
gnutls_ecc_curve_t curve;
gnutls_pk_algorithm_t pk;
- unsigned tls_id; /* The RFC4492 namedCurve ID or TLS 1.3 group ID */
+ unsigned tls_id; /* The RFC4492 namedCurve ID or TLS 1.3 group ID */
} gnutls_group_entry_st;
-# define GNUTLS_MAC_FLAG_PREIMAGE_INSECURE 1 /* if this algorithm should not be trusted for pre-image attacks */
-# define GNUTLS_MAC_FLAG_CONTINUOUS_MAC (1 << 1) /* if this MAC should be used in a 'continuous' way in TLS */
-# define GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE (1 << 2) /* if this algorithm should not be trusted for pre-image attacks, but can be enabled through API */
-# define GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE (1 << 3) /* when checking with _gnutls_digest_is_insecure2, don't treat revertible setting as fatal */
+#define GNUTLS_MAC_FLAG_PREIMAGE_INSECURE \
+ 1 /* if this algorithm should not be trusted for pre-image attacks */
+#define GNUTLS_MAC_FLAG_CONTINUOUS_MAC \
+ (1 << 1) /* if this MAC should be used in a 'continuous' way in TLS */
+#define GNUTLS_MAC_FLAG_PREIMAGE_INSECURE_REVERTIBLE \
+ (1 \
+ << 2) /* if this algorithm should not be trusted for pre-image attacks, but can be enabled through API */
+#define GNUTLS_MAC_FLAG_ALLOW_INSECURE_REVERTIBLE \
+ (1 \
+ << 3) /* when checking with _gnutls_digest_is_insecure2, don't treat revertible setting as fatal */
/* This structure is used both for MACs and digests
*/
typedef struct mac_entry_st {
const char *name;
- const char *oid; /* OID of the hash - if it is a hash */
- const char *mac_oid; /* OID of the MAC algorithm - if it is a MAC */
+ const char *oid; /* OID of the hash - if it is a hash */
+ const char *mac_oid; /* OID of the MAC algorithm - if it is a MAC */
gnutls_mac_algorithm_t id;
unsigned output_size;
unsigned key_size;
unsigned nonce_size;
- unsigned placeholder; /* if set, then not a real MAC */
- unsigned block_size; /* internal block size for HMAC */
+ unsigned placeholder; /* if set, then not a real MAC */
+ unsigned block_size; /* internal block size for HMAC */
unsigned flags;
} mac_entry_st;
typedef struct {
const char *name;
- gnutls_protocol_t id; /* gnutls internal version number */
- unsigned age; /* internal ordering by protocol age */
- uint8_t major; /* defined by the protocol */
- uint8_t minor; /* defined by the protocol */
- transport_t transport; /* Type of transport, stream or datagram */
- bool supported; /* 0 not supported, > 0 is supported */
+ gnutls_protocol_t id; /* gnutls internal version number */
+ unsigned age; /* internal ordering by protocol age */
+ uint8_t major; /* defined by the protocol */
+ uint8_t minor; /* defined by the protocol */
+ transport_t transport; /* Type of transport, stream or datagram */
+ bool supported; /* 0 not supported, > 0 is supported */
bool supported_revertible;
bool explicit_iv;
- bool extensions; /* whether it supports extensions */
- bool selectable_sighash; /* whether signatures can be selected */
- bool selectable_prf; /* whether the PRF is ciphersuite-defined */
+ bool extensions; /* whether it supports extensions */
+ bool selectable_sighash; /* whether signatures can be selected */
+ bool selectable_prf; /* whether the PRF is ciphersuite-defined */
/* if SSL3 is disabled this flag indicates that this protocol is a placeholder,
* otherwise it prevents this protocol from being set as record version */
bool obsolete;
- bool tls13_sem; /* The TLS 1.3 handshake semantics */
- bool false_start; /* That version can be used with false start */
- bool only_extension; /* negotiated only with an extension */
- bool post_handshake_auth; /* Supports the TLS 1.3 post handshake auth */
- bool key_shares; /* TLS 1.3 key share key exchange */
- bool multi_ocsp; /* TLS 1.3 multiple OCSP responses */
+ bool tls13_sem; /* The TLS 1.3 handshake semantics */
+ bool false_start; /* That version can be used with false start */
+ bool only_extension; /* negotiated only with an extension */
+ bool post_handshake_auth; /* Supports the TLS 1.3 post handshake auth */
+ bool key_shares; /* TLS 1.3 key share key exchange */
+ bool multi_ocsp; /* TLS 1.3 multiple OCSP responses */
/*
* TLS versions modify the semantics of signature algorithms. This number
* is there to distinguish signature algorithms semantics between versions
@@ -724,12 +821,12 @@ typedef struct {
/* STATE (cont) */
-# include <hash_int.h>
-# include <cipher_int.h>
+#include <hash_int.h>
+#include <cipher_int.h>
typedef struct {
- uint8_t id[2]; /* used to be (in TLS 1.2) hash algorithm , PK algorithm */
- uint8_t tls_sem; /* should match the protocol version's tls_sig_sem. */
+ uint8_t id[2]; /* used to be (in TLS 1.2) hash algorithm , PK algorithm */
+ uint8_t tls_sem; /* should match the protocol version's tls_sig_sem. */
} sign_algorithm_st;
/* This structure holds parameters got from TLS extension
@@ -737,7 +834,7 @@ typedef struct {
* structures also - see SRP).
*/
-# define MAX_VERIFY_DATA_SIZE 36/* in SSL 3.0, 12 in TLS 1.0 */
+#define MAX_VERIFY_DATA_SIZE 36 /* in SSL 3.0, 12 in TLS 1.0 */
/* auth_info_t structures now MAY contain malloced
* elements.
@@ -754,7 +851,7 @@ typedef struct {
* the handshake is in progress is the cipher suite value.
*/
typedef struct {
- unsigned int entity; /* GNUTLS_SERVER or GNUTLS_CLIENT */
+ unsigned int entity; /* GNUTLS_SERVER or GNUTLS_CLIENT */
/* The epoch used to read and write */
uint16_t epoch_read;
@@ -823,7 +920,7 @@ typedef struct {
/* encrypt-then-mac -> rfc7366 */
uint8_t etm;
- uint8_t client_auth_type; /* gnutls_credentials_type_t */
+ uint8_t client_auth_type; /* gnutls_credentials_type_t */
uint8_t server_auth_type;
/* Note: if you add anything in Security_Parameters struct, then
@@ -867,9 +964,9 @@ struct record_state_st {
outside the 16 bit range to prevent off-by-one errors. An absolute
epoch may be referred to by its numeric id in the range
0x0000-0xffff. */
-# define EPOCH_READ_CURRENT 70000
-# define EPOCH_WRITE_CURRENT 70001
-# define EPOCH_NEXT 70002
+#define EPOCH_READ_CURRENT 70000
+#define EPOCH_WRITE_CURRENT 70001
+#define EPOCH_NEXT 70002
struct record_parameters_st {
uint16_t epoch;
@@ -880,9 +977,9 @@ struct record_parameters_st {
const mac_entry_st *mac;
/* for DTLS sliding window */
- uint64_t dtls_sw_next; /* The end point (next expected packet) of the sliding window without epoch */
+ uint64_t dtls_sw_next; /* The end point (next expected packet) of the sliding window without epoch */
uint64_t dtls_sw_bits;
- unsigned dtls_sw_have_recv; /* whether at least a packet has been received */
+ unsigned dtls_sw_have_recv; /* whether at least a packet has been received */
record_state_st read;
record_state_st write;
@@ -906,7 +1003,7 @@ typedef enum {
SR_SAFE
} safe_renegotiation_t;
-# define MAX_CIPHERSUITE_SIZE 256
+#define MAX_CIPHERSUITE_SIZE 256
typedef struct ciphersuite_list_st {
const gnutls_cipher_suite_entry_st *entry[MAX_CIPHERSUITE_SIZE];
@@ -924,7 +1021,7 @@ typedef struct sign_algo_list_st {
unsigned int size;
} sign_algo_list_st;
-# include "atomic.h"
+#include "atomic.h"
/* For the external api */
struct gnutls_priority_st {
@@ -959,7 +1056,7 @@ struct gnutls_priority_st {
safe_renegotiation_t sr;
bool min_record_version;
bool server_precedence;
- bool allow_server_key_usage_violation; /* for test suite purposes only */
+ bool allow_server_key_usage_violation; /* for test suite purposes only */
bool no_status_request;
bool no_tickets;
bool no_tickets_tls12;
@@ -988,33 +1085,33 @@ struct gnutls_priority_st {
bool _allow_key_usage_violation;
bool _allow_wrong_pms;
bool _dumbfw;
- unsigned int _dh_prime_bits; /* old (deprecated) variable */
+ unsigned int _dh_prime_bits; /* old (deprecated) variable */
- DEF_ATOMIC_INT(usage_cnt);
+ DEF_ATOMIC_INT(usage_cnt);
};
/* Allow around 50KB of length-hiding padding
* when using legacy padding,
* or around 3.2MB when using new padding. */
-# define DEFAULT_MAX_EMPTY_RECORDS 200
-
-# define ENABLE_COMPAT(x) \
- (x)->allow_large_records = 1; \
- (x)->allow_small_records = 1; \
- (x)->no_etm = 1; \
- (x)->no_ext_master_secret = 1; \
- (x)->allow_key_usage_violation = 1; \
- (x)->allow_wrong_pms = 1; \
- (x)->dumbfw = 1
-
-# define ENABLE_PRIO_COMPAT(x) \
- (x)->_allow_large_records = 1; \
- (x)->_allow_small_records = 1; \
- (x)->_no_etm = 1; \
- (x)->_no_ext_master_secret = 1; \
- (x)->_allow_key_usage_violation = 1; \
- (x)->_allow_wrong_pms = 1; \
- (x)->_dumbfw = 1
+#define DEFAULT_MAX_EMPTY_RECORDS 200
+
+#define ENABLE_COMPAT(x) \
+ (x)->allow_large_records = 1; \
+ (x)->allow_small_records = 1; \
+ (x)->no_etm = 1; \
+ (x)->no_ext_master_secret = 1; \
+ (x)->allow_key_usage_violation = 1; \
+ (x)->allow_wrong_pms = 1; \
+ (x)->dumbfw = 1
+
+#define ENABLE_PRIO_COMPAT(x) \
+ (x)->_allow_large_records = 1; \
+ (x)->_allow_small_records = 1; \
+ (x)->_no_etm = 1; \
+ (x)->_no_ext_master_secret = 1; \
+ (x)->_allow_key_usage_violation = 1; \
+ (x)->_allow_wrong_pms = 1; \
+ (x)->_dumbfw = 1
/* DH and RSA parameters types.
*/
@@ -1022,7 +1119,7 @@ typedef struct gnutls_dh_params_int {
/* [0] is the prime, [1] is the generator, [2] is Q if available.
*/
bigint_t params[3];
- int q_bits; /* length of q in bits. If zero then length is unknown.
+ int q_bits; /* length of q in bits. If zero then length is unknown.
*/
} dh_params_st;
@@ -1079,7 +1176,7 @@ typedef struct {
typedef struct tfo_st {
int fd;
int flags;
- bool connect_only; /* a previous sendmsg() failed, attempting connect() */
+ bool connect_only; /* a previous sendmsg() failed, attempting connect() */
struct sockaddr_storage connect_addr;
socklen_t connect_addrlen;
} tfo_st;
@@ -1088,40 +1185,42 @@ typedef struct {
/* holds all the parsed data received by the record layer */
mbuffer_head_st record_buffer;
- int handshake_hash_buffer_prev_len; /* keeps the length of handshake_hash_buffer, excluding
+ int handshake_hash_buffer_prev_len; /* keeps the length of handshake_hash_buffer, excluding
* the last received message */
- unsigned handshake_hash_buffer_client_hello_len; /* if non-zero it is the length of data until the client hello message */
- unsigned handshake_hash_buffer_client_kx_len; /* if non-zero it is the length of data until the
+ unsigned handshake_hash_buffer_client_hello_len; /* if non-zero it is the length of data until the client hello message */
+ unsigned handshake_hash_buffer_client_kx_len; /* if non-zero it is the length of data until the
* the client key exchange message */
- unsigned handshake_hash_buffer_server_finished_len; /* if non-zero it is the length of data until the
+ unsigned handshake_hash_buffer_server_finished_len; /* if non-zero it is the length of data until the
* the server finished message */
- unsigned handshake_hash_buffer_client_finished_len; /* if non-zero it is the length of data until the
+ unsigned handshake_hash_buffer_client_finished_len; /* if non-zero it is the length of data until the
* the client finished message */
- gnutls_buffer_st handshake_hash_buffer; /* used to keep the last received handshake
+ gnutls_buffer_st
+ handshake_hash_buffer; /* used to keep the last received handshake
* message */
- bool resumable; /* if we can resume that session */
+ bool resumable; /* if we can resume that session */
- send_ticket_state_t ticket_state; /* used by gnutls_session_ticket_send() */
- bye_state_t bye_state; /* used by gnutls_bye() */
- reauth_state_t reauth_state; /* used by gnutls_reauth() */
+ send_ticket_state_t
+ ticket_state; /* used by gnutls_session_ticket_send() */
+ bye_state_t bye_state; /* used by gnutls_bye() */
+ reauth_state_t reauth_state; /* used by gnutls_reauth() */
handshake_state_t handshake_final_state;
- handshake_state_t handshake_state; /* holds
+ handshake_state_t handshake_state; /* holds
* a number which indicates where
* the handshake procedure has been
* interrupted. If it is 0 then
* no interruption has happened.
*/
- bool invalid_connection; /* if this session is valid */
+ bool invalid_connection; /* if this session is valid */
- bool may_not_read; /* if it's 0 then we can read/write, otherwise it's forbidden to read/write
+ bool may_not_read; /* if it's 0 then we can read/write, otherwise it's forbidden to read/write
*/
bool may_not_write;
- bool read_eof; /* non-zero if we have received a closure alert. */
+ bool read_eof; /* non-zero if we have received a closure alert. */
- int last_alert; /* last alert received */
+ int last_alert; /* last alert received */
/* The last handshake messages sent or received.
*/
@@ -1146,16 +1245,17 @@ typedef struct {
/* For SRP: minimum bits to allow for SRP
* use gnutls_srp_set_prime_bits() to adjust it.
*/
- uint16_t dh_prime_bits; /* srp_prime_bits */
+ uint16_t dh_prime_bits; /* srp_prime_bits */
/* resumed session */
- bool resumed; /* if we are resuming a session */
+ bool resumed; /* if we are resuming a session */
/* server side: non-zero if resumption was requested by client
* client side: non-zero if we set resumption parameters */
bool resumption_requested;
security_parameters_st resumed_security_parameters;
- gnutls_datum_t resumption_data; /* copy of input to gnutls_session_set_data() */
+ gnutls_datum_t
+ resumption_data; /* copy of input to gnutls_session_set_data() */
/* These buffers are used in the handshake
* protocol only. freed using _gnutls_handshake_io_buffer_clear();
@@ -1168,13 +1268,14 @@ typedef struct {
/* this buffer holds a record packet -mostly used for
* non blocking IO.
*/
- mbuffer_head_st record_recv_buffer; /* buffer holding the unparsed record that is currently
+ mbuffer_head_st
+ record_recv_buffer; /* buffer holding the unparsed record that is currently
* being received */
- mbuffer_head_st record_send_buffer; /* holds cached data
+ mbuffer_head_st record_send_buffer; /* holds cached data
* for the gnutls_io_write_buffered()
* function.
*/
- size_t record_send_buffer_user_size; /* holds the
+ size_t record_send_buffer_user_size; /* holds the
* size of the user specified data to
* send.
*/
@@ -1185,7 +1286,7 @@ typedef struct {
record_send_state_t rsend_state;
/* buffer used temporarily during key update */
gnutls_buffer_st record_key_update_buffer;
- gnutls_buffer_st record_presend_buffer; /* holds cached data
+ gnutls_buffer_st record_presend_buffer; /* holds cached data
* for the gnutls_record_send()
* function.
*/
@@ -1193,8 +1294,9 @@ typedef struct {
/* buffer used temporarily during TLS1.3 reauthentication */
gnutls_buffer_st reauth_buffer;
- time_t expire_time; /* after expire_time seconds this session will expire */
- const struct mod_auth_st_int *auth_struct; /* used in handshake packets and KX algorithms */
+ time_t expire_time; /* after expire_time seconds this session will expire */
+ const struct mod_auth_st_int
+ *auth_struct; /* used in handshake packets and KX algorithms */
/* this is the highest version available
* to the peer. (advertized version).
@@ -1244,8 +1346,8 @@ typedef struct {
gnutls_handshake_post_client_hello_func user_hello_func;
/* handshake hook function */
gnutls_handshake_hook_func h_hook;
- unsigned int h_type; /* the hooked type */
- int16_t h_post; /* whether post-generation/receive */
+ unsigned int h_type; /* the hooked type */
+ int16_t h_post; /* whether post-generation/receive */
gnutls_handshake_read_func h_read_func;
gnutls_handshake_secret_func h_secret_func;
gnutls_alert_read_func alert_read_func;
@@ -1306,7 +1408,7 @@ typedef struct {
/* A handshake process has been completed */
bool initial_negotiation_completed;
- void *post_negotiation_lock; /* protects access to the variable above
+ void *post_negotiation_lock; /* protects access to the variable above
* in the cases where negotiation is incomplete
* after gnutls_handshake() - early/false start */
@@ -1338,8 +1440,8 @@ typedef struct {
/* An estimation of round-trip time under TLS1.3; populated in client side only */
unsigned ertt;
- unsigned int handshake_timeout_ms; /* timeout in milliseconds */
- unsigned int record_timeout_ms; /* timeout in milliseconds */
+ unsigned int handshake_timeout_ms; /* timeout in milliseconds */
+ unsigned int record_timeout_ms; /* timeout in milliseconds */
/* saved context of post handshake certificate request. In
* client side is what we received in server's certificate request;
@@ -1349,51 +1451,74 @@ typedef struct {
gnutls_buffer_st post_handshake_hash_buffer;
/* When either of PSK or DHE-PSK is received */
-# define HSK_PSK_KE_MODES_RECEIVED (HSK_PSK_KE_MODE_PSK|HSK_PSK_KE_MODE_DHE_PSK|HSK_PSK_KE_MODE_INVALID)
-
-# define HSK_CRT_VRFY_EXPECTED 1
-# define HSK_CRT_ASKED (1<<2)
-# define HSK_HRR_SENT (1<<3)
-# define HSK_HRR_RECEIVED (1<<4)
-# define HSK_CRT_REQ_SENT (1<<5)
-# define HSK_COMP_CRT_REQ_SENT (1<<6) /* whether certificate compression has been requested */
-# define HSK_KEY_UPDATE_ASKED (1<<7) /* flag is not used during handshake */
-# define HSK_FALSE_START_USED (1<<8) /* TLS1.2 only */
-# define HSK_HAVE_FFDHE (1<<9) /* whether the peer has advertized at least an FFDHE group */
-# define HSK_USED_FFDHE (1<<10) /* whether ffdhe was actually negotiated and used */
-# define HSK_PSK_KE_MODES_SENT (1<<11)
-# define HSK_PSK_KE_MODE_PSK (1<<12) /* client: whether PSK without DH is allowed,
+#define HSK_PSK_KE_MODES_RECEIVED \
+ (HSK_PSK_KE_MODE_PSK | HSK_PSK_KE_MODE_DHE_PSK | \
+ HSK_PSK_KE_MODE_INVALID)
+
+#define HSK_CRT_VRFY_EXPECTED 1
+#define HSK_CRT_ASKED (1 << 2)
+#define HSK_HRR_SENT (1 << 3)
+#define HSK_HRR_RECEIVED (1 << 4)
+#define HSK_CRT_REQ_SENT (1 << 5)
+#define HSK_COMP_CRT_REQ_SENT \
+ (1 << 6) /* whether certificate compression has been requested */
+#define HSK_KEY_UPDATE_ASKED (1 << 7) /* flag is not used during handshake */
+#define HSK_FALSE_START_USED (1 << 8) /* TLS1.2 only */
+#define HSK_HAVE_FFDHE \
+ (1 << 9) /* whether the peer has advertized at least an FFDHE group */
+#define HSK_USED_FFDHE \
+ (1 << 10) /* whether ffdhe was actually negotiated and used */
+#define HSK_PSK_KE_MODES_SENT (1 << 11)
+#define HSK_PSK_KE_MODE_PSK \
+ (1 << 12) /* client: whether PSK without DH is allowed,
* server: whether PSK without DH is selected. */
-# define HSK_PSK_KE_MODE_INVALID (1<<13)/* server: no compatible PSK modes were seen */
-# define HSK_PSK_KE_MODE_DHE_PSK (1<<14)/* server: whether PSK with DH is selected
+#define HSK_PSK_KE_MODE_INVALID \
+ (1 << 13) /* server: no compatible PSK modes were seen */
+#define HSK_PSK_KE_MODE_DHE_PSK \
+ (1 << 14) /* server: whether PSK with DH is selected
* client: whether PSK with DH is allowed
*/
-# define HSK_PSK_SELECTED (1<<15) /* server: whether PSK was selected, either for resumption or not;
+#define HSK_PSK_SELECTED \
+ (1 \
+ << 15) /* server: whether PSK was selected, either for resumption or not;
* on resumption session->internals.resumed will be set as well.
* client: the same */
-# define HSK_KEY_SHARE_SENT (1<<16) /* server: key share was sent to client */
-# define HSK_KEY_SHARE_RECEIVED (1<<17) /* client: key share was received
+#define HSK_KEY_SHARE_SENT (1 << 16) /* server: key share was sent to client */
+#define HSK_KEY_SHARE_RECEIVED \
+ (1 << 17) /* client: key share was received
* server: key share was received and accepted */
-# define HSK_TLS13_TICKET_SENT (1<<18) /* client: sent a ticket under TLS1.3;
+#define HSK_TLS13_TICKET_SENT \
+ (1 << 18) /* client: sent a ticket under TLS1.3;
* server: a ticket was sent to client.
*/
-# define HSK_TLS12_TICKET_SENT (1<<19) /* client: sent a ticket under TLS1.2;
+#define HSK_TLS12_TICKET_SENT \
+ (1 << 19) /* client: sent a ticket under TLS1.2;
* server: a ticket was sent to client.
*/
-# define HSK_TICKET_RECEIVED (1<<20) /* client: a session ticket was received */
-# define HSK_EARLY_START_USED (1<<21)
-# define HSK_EARLY_DATA_IN_FLIGHT (1<<22) /* client: sent early_data extension in ClientHello
+#define HSK_TICKET_RECEIVED \
+ (1 << 20) /* client: a session ticket was received */
+#define HSK_EARLY_START_USED (1 << 21)
+#define HSK_EARLY_DATA_IN_FLIGHT \
+ (1 << 22) /* client: sent early_data extension in ClientHello
* server: early_data extension was seen in ClientHello
*/
-# define HSK_EARLY_DATA_ACCEPTED (1<<23)/* client: early_data extension was seen in EncryptedExtensions
+#define HSK_EARLY_DATA_ACCEPTED \
+ (1 \
+ << 23) /* client: early_data extension was seen in EncryptedExtensions
* server: intend to process early data
*/
-# define HSK_RECORD_SIZE_LIMIT_NEGOTIATED (1<<24)
-# define HSK_RECORD_SIZE_LIMIT_SENT (1<<25) /* record_size_limit extension was sent */
-# define HSK_RECORD_SIZE_LIMIT_RECEIVED (1<<26) /* server: record_size_limit extension was seen but not accepted yet */
-# define HSK_OCSP_REQUESTED (1<<27) /* server: client requested OCSP stapling */
-# define HSK_CLIENT_OCSP_REQUESTED (1<<28) /* client: server requested OCSP stapling */
-# define HSK_SERVER_HELLO_RECEIVED (1<<29) /* client: Server Hello message has been received */
+#define HSK_RECORD_SIZE_LIMIT_NEGOTIATED (1 << 24)
+#define HSK_RECORD_SIZE_LIMIT_SENT \
+ (1 << 25) /* record_size_limit extension was sent */
+#define HSK_RECORD_SIZE_LIMIT_RECEIVED \
+ (1 \
+ << 26) /* server: record_size_limit extension was seen but not accepted yet */
+#define HSK_OCSP_REQUESTED \
+ (1 << 27) /* server: client requested OCSP stapling */
+#define HSK_CLIENT_OCSP_REQUESTED \
+ (1 << 28) /* client: server requested OCSP stapling */
+#define HSK_SERVER_HELLO_RECEIVED \
+ (1 << 29) /* client: Server Hello message has been received */
/* The hsk_flags are for use within the ongoing handshake;
* they are reset to zero prior to handshake start by gnutls_handshake. */
@@ -1407,24 +1532,28 @@ typedef struct {
gnutls_buffer_st hb_local_data;
gnutls_buffer_st hb_remote_data;
- struct timespec hb_ping_start; /* timestamp: when first HeartBeat ping was sent */
- struct timespec hb_ping_sent; /* timestamp: when last HeartBeat ping was sent */
- unsigned int hb_actual_retrans_timeout_ms; /* current timeout, in milliseconds */
- unsigned int hb_retrans_timeout_ms; /* the default timeout, in milliseconds */
- unsigned int hb_total_timeout_ms; /* the total timeout, in milliseconds */
-
- bool ocsp_check_ok; /* will be zero if the OCSP response TLS extension
+ struct timespec
+ hb_ping_start; /* timestamp: when first HeartBeat ping was sent */
+ struct timespec
+ hb_ping_sent; /* timestamp: when last HeartBeat ping was sent */
+ unsigned int
+ hb_actual_retrans_timeout_ms; /* current timeout, in milliseconds */
+ unsigned int
+ hb_retrans_timeout_ms; /* the default timeout, in milliseconds */
+ unsigned int hb_total_timeout_ms; /* the total timeout, in milliseconds */
+
+ bool ocsp_check_ok; /* will be zero if the OCSP response TLS extension
* check failed (OCSP was old/unrelated or so). */
- heartbeat_state_t hb_state; /* for ping */
+ heartbeat_state_t hb_state; /* for ping */
- recv_state_t recv_state; /* state of the receive function */
+ recv_state_t recv_state; /* state of the receive function */
/* if set, server and client random were set by the application */
bool sc_random_set;
-# define INT_FLAG_NO_TLS13 (1LL<<60)
- uint64_t flags; /* the flags in gnutls_init() and GNUTLS_INT_FLAGS */
+#define INT_FLAG_NO_TLS13 (1LL << 60)
+ uint64_t flags; /* the flags in gnutls_init() and GNUTLS_INT_FLAGS */
/* a verify callback to override the verify callback from the credentials
* structure */
@@ -1433,17 +1562,21 @@ typedef struct {
gnutls_typed_vdata_st vc_sdata;
unsigned vc_elements;
unsigned vc_status;
- unsigned int additional_verify_flags; /* may be set by priorities or the vc functions */
+ unsigned int
+ additional_verify_flags; /* may be set by priorities or the vc functions */
/* we append the verify flags because these can be set,
* either by this function or by gnutls_session_set_verify_cert().
* However, we ensure that a single profile is set. */
-# define ADD_PROFILE_VFLAGS(session, vflags) do { \
- if ((session->internals.additional_verify_flags & GNUTLS_VFLAGS_PROFILE_MASK) && \
- (vflags & GNUTLS_VFLAGS_PROFILE_MASK)) \
- session->internals.additional_verify_flags &= ~GNUTLS_VFLAGS_PROFILE_MASK; \
- session->internals.additional_verify_flags |= vflags; \
- } while(0)
+#define ADD_PROFILE_VFLAGS(session, vflags) \
+ do { \
+ if ((session->internals.additional_verify_flags & \
+ GNUTLS_VFLAGS_PROFILE_MASK) && \
+ (vflags & GNUTLS_VFLAGS_PROFILE_MASK)) \
+ session->internals.additional_verify_flags &= \
+ ~GNUTLS_VFLAGS_PROFILE_MASK; \
+ session->internals.additional_verify_flags |= vflags; \
+ } while (0)
/* the SHA256 hash of the peer's certificate */
uint8_t cert_hash[32];
@@ -1465,7 +1598,7 @@ typedef struct {
struct hello_ext_entry_st *rexts;
unsigned rexts_size;
- struct { /* ext_data[id] contains data for extension_t id */
+ struct { /* ext_data[id] contains data for extension_t id */
gnutls_ext_priv_data_t priv;
gnutls_ext_priv_data_t resumed_priv;
uint8_t set;
@@ -1478,7 +1611,8 @@ typedef struct {
*/
ext_track_t used_exts;
- gnutls_ext_flags_t ext_msg; /* accessed through _gnutls_ext_get/set_msg() */
+ gnutls_ext_flags_t
+ ext_msg; /* accessed through _gnutls_ext_get/set_msg() */
/* this is not the negotiated max_record_recv_size, but the actual maximum
* receive size */
@@ -1520,9 +1654,9 @@ typedef struct {
} internals_st;
/* Maximum number of epochs we keep around. */
-# define MAX_EPOCH_INDEX 4
+#define MAX_EPOCH_INDEX 4
-# define reset_cand_groups(session) \
+#define reset_cand_groups(session) \
session->internals.cand_ec_group = session->internals.cand_dh_group = \
session->internals.cand_group = NULL
@@ -1540,13 +1674,13 @@ void _gnutls_free_auth_info(gnutls_session_t session);
/* These two macros return the advertised TLS version of
* the peer.
*/
-# define _gnutls_get_adv_version_major(session) \
+#define _gnutls_get_adv_version_major(session) \
session->internals.adv_version_major
-# define _gnutls_get_adv_version_minor(session) \
+#define _gnutls_get_adv_version_minor(session) \
session->internals.adv_version_minor
-# define set_adv_version(session, major, minor) \
+#define set_adv_version(session, major, minor) \
session->internals.adv_version_major = major; \
session->internals.adv_version_minor = minor
@@ -1569,10 +1703,10 @@ void _gnutls_priority_update_fips(void);
void _gnutls_priority_update_non_aesni(void);
extern unsigned _gnutls_disable_tls13;
-# define timespec_sub_ms _gnutls_timespec_sub_ms
+#define timespec_sub_ms _gnutls_timespec_sub_ms
unsigned int
/* returns a-b in ms */
- timespec_sub_ms(struct timespec *a, struct timespec *b);
+timespec_sub_ms(struct timespec *a, struct timespec *b);
inline static int _gnutls_timespec_cmp(struct timespec *a, struct timespec *b)
{
@@ -1587,7 +1721,7 @@ inline static int _gnutls_timespec_cmp(struct timespec *a, struct timespec *b)
return 0;
}
-# include <algorithms.h>
+#include <algorithms.h>
inline static int _gnutls_set_current_version(gnutls_session_t s, unsigned v)
{
s->security_parameters.pversion = version_to_entry(v);
@@ -1642,17 +1776,17 @@ get_certificate_type(gnutls_session_t session, gnutls_ctype_target_t target)
return session->security_parameters.server_ctype;
}
break;
- default: // Illegal parameter passed
+ default: // Illegal parameter passed
return GNUTLS_CRT_UNKNOWN;
}
}
/* Macros to aide constant time/mem checks */
-# define CONSTCHECK_NOT_EQUAL(a, b) ((-((uint32_t)(a) ^ (uint32_t)(b))) >> 31)
-# define CONSTCHECK_EQUAL(a, b) (1U - CONSTCHECK_NOT_EQUAL(a, b))
+#define CONSTCHECK_NOT_EQUAL(a, b) ((-((uint32_t)(a) ^ (uint32_t)(b))) >> 31)
+#define CONSTCHECK_EQUAL(a, b) (1U - CONSTCHECK_NOT_EQUAL(a, b))
extern unsigned int _gnutls_global_version;
bool _gnutls_config_is_ktls_enabled(void);
-#endif /* GNUTLS_LIB_GNUTLS_INT_H */
+#endif /* GNUTLS_LIB_GNUTLS_INT_H */
diff --git a/lib/gthreads.h b/lib/gthreads.h
index 9d7846f8b1..5ae79b4965 100644
--- a/lib/gthreads.h
+++ b/lib/gthreads.h
@@ -21,20 +21,22 @@
*/
#ifndef GNUTLS_LIB_GTHREADS_H
-# define GNUTLS_LIB_GTHREADS_H
+#define GNUTLS_LIB_GTHREADS_H
-# include <config.h>
+#include <config.h>
/* Using a C99-only compiler installed in parallel with modern C11 environment
* will see HAVE_THREADS_H, but won't be able to use _Thread_local. */
-# if __STDC_VERSION__ >= 201112 && !defined(__STDC_NO_THREADS__) && defined(HAVE_THREADS_H)
-# include <threads.h>
-# elif defined(__GNUC__) || defined(__SUNPRO_C) || defined(__xlC__) /* clang is covered by __GNUC__ */
-# define _Thread_local __thread
-# elif defined(_MSC_VER)
-# define _Thread_local __declspec(thread)
-# else
-# error Unsupported platform
-# endif
+#if __STDC_VERSION__ >= 201112 && !defined(__STDC_NO_THREADS__) && \
+ defined(HAVE_THREADS_H)
+#include <threads.h>
+#elif defined(__GNUC__) || defined(__SUNPRO_C) || \
+ defined(__xlC__) /* clang is covered by __GNUC__ */
+#define _Thread_local __thread
+#elif defined(_MSC_VER)
+#define _Thread_local __declspec(thread)
+#else
+#error Unsupported platform
+#endif
-#endif /* GNUTLS_LIB_GTHREADS_H */
+#endif /* GNUTLS_LIB_GTHREADS_H */
diff --git a/lib/handshake-checks.c b/lib/handshake-checks.c
index c7be9e9e19..8a4ba251c3 100644
--- a/lib/handshake-checks.c
+++ b/lib/handshake-checks.c
@@ -32,10 +32,10 @@
#include <record.h>
#include <state.h>
#include <ext/safe_renegotiation.h>
-#include <auth/anon.h> /* for gnutls_anon_server_credentials_t */
-#include <auth/psk.h> /* for gnutls_psk_server_credentials_t */
+#include <auth/anon.h> /* for gnutls_anon_server_credentials_t */
+#include <auth/psk.h> /* for gnutls_psk_server_credentials_t */
#ifdef ENABLE_SRP
-# include <auth/srp_kx.h>
+#include <auth/srp_kx.h>
#endif
int _gnutls_check_id_for_change(gnutls_session_t session)
@@ -57,18 +57,18 @@ int _gnutls_check_id_for_change(gnutls_session_t session)
ai = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
if (ai == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
username = ai->username;
username_length = ai->username_len;
#ifdef ENABLE_SRP
} else {
srp_server_auth_info_t ai =
- _gnutls_get_auth_info(session, GNUTLS_CRD_SRP);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_SRP);
if (ai == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
username = ai->username;
username_length = strlen(ai->username);
@@ -81,20 +81,19 @@ int _gnutls_check_id_for_change(gnutls_session_t session)
if (session->internals.saved_username &&
session->internals.saved_username_size != -1) {
if (session->internals.saved_username_size ==
- username_length
- && strncmp(session->internals.saved_username,
- username, username_length)) {
- _gnutls_debug_log
- ("Session's PSK username changed during rehandshake; aborting!\n");
- return
- gnutls_assert_val
- (GNUTLS_E_SESSION_USER_ID_CHANGED);
+ username_length &&
+ strncmp(session->internals.saved_username, username,
+ username_length)) {
+ _gnutls_debug_log(
+ "Session's PSK username changed during rehandshake; aborting!\n");
+ return gnutls_assert_val(
+ GNUTLS_E_SESSION_USER_ID_CHANGED);
}
} else if (session->internals.saved_username == NULL &&
session->internals.saved_username_size == -1) {
if (username_length > MAX_USERNAME_SIZE)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
char *tmp = gnutls_malloc(username_length + 1);
if (tmp == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -102,10 +101,9 @@ int _gnutls_check_id_for_change(gnutls_session_t session)
tmp[username_length] = '\0';
session->internals.saved_username = tmp;
session->internals.saved_username_size =
- username_length;
+ username_length;
} else
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
}
return 0;
@@ -133,10 +131,10 @@ int _gnutls_check_if_cert_hash_is_same(gnutls_session_t session,
if (session->internals.cert_hash_set) {
if (memcmp(tmp, session->internals.cert_hash, 32) != 0) {
- _gnutls_debug_log
- ("Session certificate changed during rehandshake; aborting!\n");
- return
- gnutls_assert_val(GNUTLS_E_SESSION_USER_ID_CHANGED);
+ _gnutls_debug_log(
+ "Session certificate changed during rehandshake; aborting!\n");
+ return gnutls_assert_val(
+ GNUTLS_E_SESSION_USER_ID_CHANGED);
}
} else {
memcpy(session->internals.cert_hash, tmp, 32);
diff --git a/lib/handshake-defs.h b/lib/handshake-defs.h
index efff51a070..1b0c250e75 100644
--- a/lib/handshake-defs.h
+++ b/lib/handshake-defs.h
@@ -20,30 +20,30 @@
*
*/
#ifndef HANDSHAKE_DEFS_H
-# define HANDSHAKE_DEFS_H
+#define HANDSHAKE_DEFS_H
-# define EARLY_TRAFFIC_LABEL "c e traffic"
-# define EXT_BINDER_LABEL "ext binder"
-# define RES_BINDER_LABEL "res binder"
-# define EARLY_EXPORTER_MASTER_LABEL "e exp master"
-# define HANDSHAKE_CLIENT_TRAFFIC_LABEL "c hs traffic"
-# define HANDSHAKE_SERVER_TRAFFIC_LABEL "s hs traffic"
-# define DERIVED_LABEL "derived"
-# define APPLICATION_CLIENT_TRAFFIC_LABEL "c ap traffic"
-# define APPLICATION_SERVER_TRAFFIC_LABEL "s ap traffic"
-# define APPLICATION_TRAFFIC_UPDATE "traffic upd"
-# define EXPORTER_MASTER_LABEL "exp master"
-# define RMS_MASTER_LABEL "res master"
-# define EXPORTER_LABEL "exporter"
-# define RESUMPTION_LABEL "resumption"
+#define EARLY_TRAFFIC_LABEL "c e traffic"
+#define EXT_BINDER_LABEL "ext binder"
+#define RES_BINDER_LABEL "res binder"
+#define EARLY_EXPORTER_MASTER_LABEL "e exp master"
+#define HANDSHAKE_CLIENT_TRAFFIC_LABEL "c hs traffic"
+#define HANDSHAKE_SERVER_TRAFFIC_LABEL "s hs traffic"
+#define DERIVED_LABEL "derived"
+#define APPLICATION_CLIENT_TRAFFIC_LABEL "c ap traffic"
+#define APPLICATION_SERVER_TRAFFIC_LABEL "s ap traffic"
+#define APPLICATION_TRAFFIC_UPDATE "traffic upd"
+#define EXPORTER_MASTER_LABEL "exp master"
+#define RMS_MASTER_LABEL "res master"
+#define EXPORTER_LABEL "exporter"
+#define RESUMPTION_LABEL "resumption"
-# define HRR_RANDOM \
- "\xCF\x21\xAD\x74\xE5\x9A\x61\x11\xBE\x1D\x8C\x02\x1E\x65\xB8\x91" \
- "\xC2\xA2\x11\x16\x7A\xBB\x8C\x5E\x07\x9E\x09\xE2\xC8\xA8\x33\x9C"
+#define HRR_RANDOM \
+ "\xCF\x21\xAD\x74\xE5\x9A\x61\x11\xBE\x1D\x8C\x02\x1E\x65\xB8\x91" \
+ "\xC2\xA2\x11\x16\x7A\xBB\x8C\x5E\x07\x9E\x09\xE2\xC8\xA8\x33\x9C"
-# define TLS13_TICKETS_TO_SEND 2
+#define TLS13_TICKETS_TO_SEND 2
/* Enable: Appendix D4. Middlebox Compatibility Mode */
-# define TLS13_APPENDIX_D4 1
+#define TLS13_APPENDIX_D4 1
-#endif /* HANDSHAKE_DEFS_H */
+#endif /* HANDSHAKE_DEFS_H */
diff --git a/lib/handshake-tls13.c b/lib/handshake-tls13.c
index da124a1c7a..ec603cd040 100644
--- a/lib/handshake-tls13.c
+++ b/lib/handshake-tls13.c
@@ -62,14 +62,15 @@ static int generate_rms_keys(gnutls_session_t session);
static int generate_hs_traffic_keys(gnutls_session_t session);
static int generate_ap_traffic_keys(gnutls_session_t session);
-#define SAVE_TRANSCRIPT \
- if (session->internals.flags & GNUTLS_POST_HANDSHAKE_AUTH) { \
+#define SAVE_TRANSCRIPT \
+ if (session->internals.flags & GNUTLS_POST_HANDSHAKE_AUTH) { \
/* If post-handshake auth is in use we need a copy of the original \
* handshake transcript */ \
- memcpy( &session->internals.post_handshake_hash_buffer, \
- &session->internals.handshake_hash_buffer, \
- sizeof(session->internals.handshake_hash_buffer)); \
- _gnutls_buffer_init(&session->internals.handshake_hash_buffer); \
+ memcpy(&session->internals.post_handshake_hash_buffer, \
+ &session->internals.handshake_hash_buffer, \
+ sizeof(session->internals.handshake_hash_buffer)); \
+ _gnutls_buffer_init( \
+ &session->internals.handshake_hash_buffer); \
}
/*
@@ -86,12 +87,12 @@ int _gnutls13_handshake_client(gnutls_session_t session)
#ifdef TLS13_APPENDIX_D4
if (session->internals.priorities->tls13_compat_mode &&
/* Key change is indicated by sending an EndOfEarlyData below */
- !(session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT)) {
+ !(session->internals.hsk_flags &
+ HSK_EARLY_DATA_IN_FLIGHT)) {
/* We send it before keys are generated. That works because CCS
* is always being cached and queued and not being sent directly */
- ret =
- _gnutls_send_change_cipher_spec(session,
- AGAIN(STATE100));
+ ret = _gnutls_send_change_cipher_spec(session,
+ AGAIN(STATE100));
STATE = STATE100;
IMED_RET("send change cipher spec", ret, 0);
}
@@ -105,9 +106,8 @@ int _gnutls13_handshake_client(gnutls_session_t session)
* speculatively. */
IMED_RET_FATAL("generate hs traffic keys", ret, 0);
if (session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT)
- ret =
- _tls13_read_connection_state_init(session,
- STAGE_HS);
+ ret = _tls13_read_connection_state_init(session,
+ STAGE_HS);
else
ret = _tls13_connection_state_init(session, STAGE_HS);
IMED_RET_FATAL("set hs traffic keys", ret, 0);
@@ -144,8 +144,8 @@ int _gnutls13_handshake_client(gnutls_session_t session)
IMED_RET("recv finished", ret, 0);
FALLTHROUGH;
case STATE108:
- ret =
- _gnutls13_send_end_of_early_data(session, AGAIN(STATE108));
+ ret = _gnutls13_send_end_of_early_data(session,
+ AGAIN(STATE108));
STATE = STATE108;
IMED_RET("send end of early data", ret, 0);
@@ -154,13 +154,12 @@ int _gnutls13_handshake_client(gnutls_session_t session)
* speculatively. */
if (session->internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT) {
session->internals.hsk_flags &=
- ~HSK_EARLY_DATA_IN_FLIGHT;
- ret =
- _tls13_write_connection_state_init(session,
- STAGE_HS);
- IMED_RET_FATAL
- ("set hs traffic key after sending early data", ret,
- 0);
+ ~HSK_EARLY_DATA_IN_FLIGHT;
+ ret = _tls13_write_connection_state_init(session,
+ STAGE_HS);
+ IMED_RET_FATAL(
+ "set hs traffic key after sending early data",
+ ret, 0);
}
FALLTHROUGH;
case STATE109:
@@ -169,8 +168,8 @@ int _gnutls13_handshake_client(gnutls_session_t session)
IMED_RET("send certificate", ret, 0);
FALLTHROUGH;
case STATE110:
- ret =
- _gnutls13_send_certificate_verify(session, AGAIN(STATE110));
+ ret = _gnutls13_send_certificate_verify(session,
+ AGAIN(STATE110));
STATE = STATE110;
IMED_RET("send certificate verify", ret, 0);
FALLTHROUGH;
@@ -218,11 +217,11 @@ static int generate_non_auth_rms_keys(gnutls_session_t session)
uint8_t finished[MAX_HASH_SIZE + TLS_HANDSHAKE_HEADER_SIZE];
unsigned spos;
- ret = _gnutls13_compute_finished(session->security_parameters.prf,
- session->key.proto.tls13.hs_ckey,
- &session->
- internals.handshake_hash_buffer,
- finished + TLS_HANDSHAKE_HEADER_SIZE);
+ ret = _gnutls13_compute_finished(
+ session->security_parameters.prf,
+ session->key.proto.tls13.hs_ckey,
+ &session->internals.handshake_hash_buffer,
+ finished + TLS_HANDSHAKE_HEADER_SIZE);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -232,24 +231,19 @@ static int generate_non_auth_rms_keys(gnutls_session_t session)
_gnutls_write_uint24(session->security_parameters.prf->output_size,
finished + 1);
- ret =
- _gnutls_buffer_append_data(&session->
- internals.handshake_hash_buffer,
- finished,
- TLS_HANDSHAKE_HEADER_SIZE +
- session->security_parameters.
- prf->output_size);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer, finished,
+ TLS_HANDSHAKE_HEADER_SIZE +
+ session->security_parameters.prf->output_size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_derive_secret(session, RMS_MASTER_LABEL,
- sizeof(RMS_MASTER_LABEL) - 1,
- session->internals.handshake_hash_buffer.data,
- session->internals.
- handshake_hash_buffer.length,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.ap_rms);
+ ret = _tls13_derive_secret(
+ session, RMS_MASTER_LABEL, sizeof(RMS_MASTER_LABEL) - 1,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer.length,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.ap_rms);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -262,14 +256,12 @@ static int generate_rms_keys(gnutls_session_t session)
{
int ret;
- ret =
- _tls13_derive_secret(session, RMS_MASTER_LABEL,
- sizeof(RMS_MASTER_LABEL) - 1,
- session->internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer_client_finished_len,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.ap_rms);
+ ret = _tls13_derive_secret(
+ session, RMS_MASTER_LABEL, sizeof(RMS_MASTER_LABEL) - 1,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer_client_finished_len,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.ap_rms);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -281,36 +273,32 @@ static int generate_ap_traffic_keys(gnutls_session_t session)
int ret;
uint8_t zero[MAX_HASH_SIZE];
- ret =
- _tls13_derive_secret(session, DERIVED_LABEL,
- sizeof(DERIVED_LABEL) - 1, NULL, 0,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.temp_secret);
+ ret = _tls13_derive_secret(session, DERIVED_LABEL,
+ sizeof(DERIVED_LABEL) - 1, NULL, 0,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.temp_secret);
if (ret < 0)
return gnutls_assert_val(ret);
memset(zero, 0, session->security_parameters.prf->output_size);
- ret =
- _tls13_update_secret(session, zero,
- session->security_parameters.prf->output_size);
+ ret = _tls13_update_secret(
+ session, zero, session->security_parameters.prf->output_size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _tls13_derive_secret(session, EXPORTER_MASTER_LABEL,
- sizeof(EXPORTER_MASTER_LABEL) - 1,
- session->internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer_server_finished_len,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.ap_expkey);
+ ret = _tls13_derive_secret(
+ session, EXPORTER_MASTER_LABEL,
+ sizeof(EXPORTER_MASTER_LABEL) - 1,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer_server_finished_len,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.ap_expkey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_call_keylog_func(session, "EXPORTER_SECRET",
- session->key.proto.tls13.ap_expkey,
- session->security_parameters.
- prf->output_size);
+ ret = _gnutls_call_keylog_func(
+ session, "EXPORTER_SECRET", session->key.proto.tls13.ap_expkey,
+ session->security_parameters.prf->output_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -330,11 +318,10 @@ static int generate_hs_traffic_keys(gnutls_session_t session)
if (unlikely(session->key.proto.tls13.temp_secret_size == 0))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- ret =
- _tls13_derive_secret(session, DERIVED_LABEL,
- sizeof(DERIVED_LABEL) - 1, NULL, 0,
- session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.temp_secret);
+ ret = _tls13_derive_secret(session, DERIVED_LABEL,
+ sizeof(DERIVED_LABEL) - 1, NULL, 0,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.temp_secret);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -346,7 +333,6 @@ static int generate_hs_traffic_keys(gnutls_session_t session)
session->internals.resumed))) ||
(session->security_parameters.entity == GNUTLS_SERVER &&
!(session->internals.hsk_flags & HSK_KEY_SHARE_SENT))) {
-
if ((session->internals.hsk_flags & HSK_PSK_SELECTED) &&
(session->internals.hsk_flags & HSK_PSK_KE_MODE_PSK)) {
null_key = 1;
@@ -358,9 +344,8 @@ static int generate_hs_traffic_keys(gnutls_session_t session)
unsigned digest_size;
if (unlikely(session->security_parameters.prf == NULL))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
digest_size = session->security_parameters.prf->output_size;
memset(digest, 0, digest_size);
@@ -372,13 +357,11 @@ static int generate_hs_traffic_keys(gnutls_session_t session)
}
} else {
if (unlikely(session->key.key.size == 0))
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- ret =
- _tls13_update_secret(session, session->key.key.data,
- session->key.key.size);
+ ret = _tls13_update_secret(session, session->key.key.data,
+ session->key.key.size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -398,40 +381,35 @@ int _gnutls13_handshake_server(gnutls_session_t session)
switch (STATE) {
case STATE90:
- ret =
- _gnutls13_handshake_hash_buffers_synth(session,
- session->security_parameters.prf,
- 0);
+ ret = _gnutls13_handshake_hash_buffers_synth(
+ session, session->security_parameters.prf, 0);
STATE = STATE90;
IMED_RET_FATAL("reset handshake buffers", ret, 0);
FALLTHROUGH;
case STATE91:
- ret =
- _gnutls13_send_hello_retry_request(session, AGAIN(STATE91));
+ ret = _gnutls13_send_hello_retry_request(session,
+ AGAIN(STATE91));
STATE = STATE91;
IMED_RET("send hello retry request", ret, 0);
FALLTHROUGH;
case STATE92:
#ifdef TLS13_APPENDIX_D4
if (session->internals.priorities->tls13_compat_mode) {
- ret =
- _gnutls_send_change_cipher_spec(session,
- AGAIN(STATE92));
+ ret = _gnutls_send_change_cipher_spec(session,
+ AGAIN(STATE92));
STATE = STATE92;
IMED_RET("send change cipher spec", ret, 0);
}
#endif
FALLTHROUGH;
case STATE93:
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CLIENT_HELLO,
- 0, NULL);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CLIENT_HELLO, 0, NULL);
if (ret == GNUTLS_E_INT_RET_0) {
/* this is triggered by post_client_hello, and instructs the
* handshake to proceed but be put on hold */
ret = GNUTLS_E_INTERRUPTED;
- STATE = STATE94; /* hello already parsed -> move to next state */
+ STATE = STATE94; /* hello already parsed -> move to next state */
} else {
STATE = STATE93;
}
@@ -450,9 +428,8 @@ int _gnutls13_handshake_server(gnutls_session_t session)
* sent, CCS should have followed it (see above) */
if (session->internals.priorities->tls13_compat_mode &&
!(session->internals.hsk_flags & HSK_HRR_SENT)) {
- ret =
- _gnutls_send_change_cipher_spec(session,
- AGAIN(STATE100));
+ ret = _gnutls_send_change_cipher_spec(session,
+ AGAIN(STATE100));
STATE = STATE100;
IMED_RET("send change cipher spec", ret, 0);
}
@@ -465,25 +442,22 @@ int _gnutls13_handshake_server(gnutls_session_t session)
IMED_RET_FATAL("generate hs traffic keys", ret, 0);
if (session->internals.hsk_flags & HSK_EARLY_DATA_ACCEPTED) {
- ret =
- _tls13_write_connection_state_init(session,
- STAGE_HS);
+ ret = _tls13_write_connection_state_init(session,
+ STAGE_HS);
} else {
ret = _tls13_connection_state_init(session, STAGE_HS);
}
IMED_RET_FATAL("set hs traffic keys", ret, 0);
FALLTHROUGH;
case STATE102:
- ret =
- _gnutls13_send_encrypted_extensions(session,
- AGAIN(STATE102));
+ ret = _gnutls13_send_encrypted_extensions(session,
+ AGAIN(STATE102));
STATE = STATE102;
IMED_RET("send encrypted extensions", ret, 0);
FALLTHROUGH;
case STATE103:
- ret =
- _gnutls13_send_certificate_request(session,
- AGAIN(STATE103));
+ ret = _gnutls13_send_certificate_request(session,
+ AGAIN(STATE103));
STATE = STATE103;
IMED_RET("send certificate request", ret, 0);
FALLTHROUGH;
@@ -493,8 +467,8 @@ int _gnutls13_handshake_server(gnutls_session_t session)
IMED_RET("send certificate", ret, 0);
FALLTHROUGH;
case STATE105:
- ret =
- _gnutls13_send_certificate_verify(session, AGAIN(STATE105));
+ ret = _gnutls13_send_certificate_verify(session,
+ AGAIN(STATE105));
STATE = STATE105;
IMED_RET("send certificate verify", ret, 0);
FALLTHROUGH;
@@ -509,12 +483,11 @@ int _gnutls13_handshake_server(gnutls_session_t session)
IMED_RET("recv end of early data", ret, 0);
if (session->internals.hsk_flags & HSK_EARLY_DATA_ACCEPTED) {
- ret =
- _tls13_read_connection_state_init(session,
- STAGE_HS);
- IMED_RET_FATAL
- ("set hs traffic key after receiving early data",
- ret, 0);
+ ret = _tls13_read_connection_state_init(session,
+ STAGE_HS);
+ IMED_RET_FATAL(
+ "set hs traffic key after receiving early data",
+ ret, 0);
}
FALLTHROUGH;
case STATE108:
@@ -525,26 +498,25 @@ int _gnutls13_handshake_server(gnutls_session_t session)
/* If the session is unauthenticated, try to optimize the handshake by
* sending the session ticket early. */
- if (!
- (session->internals.hsk_flags & (HSK_CRT_REQ_SENT |
- HSK_PSK_SELECTED))) {
+ if (!(session->internals.hsk_flags &
+ (HSK_CRT_REQ_SENT | HSK_PSK_SELECTED))) {
STATE = STATE108;
ret = generate_non_auth_rms_keys(session);
IMED_RET_FATAL("generate rms keys", ret, 0);
session->internals.hsk_flags |= HSK_EARLY_START_USED;
- _gnutls_handshake_log
- ("HSK[%p]: unauthenticated session eligible for early start\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: unauthenticated session eligible for early start\n",
+ session);
}
ret = _tls13_write_connection_state_init(session, STAGE_APP);
IMED_RET_FATAL("set write app keys", ret, 0);
- _gnutls_handshake_log
- ("HSK[%p]: switching early to application traffic keys\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: switching early to application traffic keys\n",
+ session);
FALLTHROUGH;
case STATE109:
@@ -552,15 +524,12 @@ int _gnutls13_handshake_server(gnutls_session_t session)
_gnutls_set_resumed_parameters(session);
if (session->internals.hsk_flags & HSK_EARLY_START_USED) {
- if (!
- (session->
- internals.flags & GNUTLS_NO_AUTO_SEND_TICKET)
-&& _gnutls13_can_send_session_ticket(session)) {
- ret =
- _gnutls13_send_session_ticket(session,
- TLS13_TICKETS_TO_SEND,
- AGAIN
- (STATE109));
+ if (!(session->internals.flags &
+ GNUTLS_NO_AUTO_SEND_TICKET) &&
+ _gnutls13_can_send_session_ticket(session)) {
+ ret = _gnutls13_send_session_ticket(
+ session, TLS13_TICKETS_TO_SEND,
+ AGAIN(STATE109));
}
STATE = STATE109;
@@ -570,13 +539,13 @@ int _gnutls13_handshake_server(gnutls_session_t session)
* should be called again by gnutls_record_recv()
*/
- if (session->
- internals.flags & GNUTLS_ENABLE_EARLY_START) {
- STATE = STATE113; /* finished */
+ if (session->internals.flags &
+ GNUTLS_ENABLE_EARLY_START) {
+ STATE = STATE113; /* finished */
gnutls_assert();
session->internals.recv_state =
- RECV_STATE_EARLY_START;
+ RECV_STATE_EARLY_START;
return 0;
}
}
@@ -597,7 +566,7 @@ int _gnutls13_handshake_server(gnutls_session_t session)
if (ret < 0)
return gnutls_assert_val(ret);
FALLTHROUGH;
- case STATE113: /* can enter from STATE109 */
+ case STATE113: /* can enter from STATE109 */
ret = _gnutls13_recv_finished(session);
STATE = STATE113;
IMED_RET("recv finished", ret, 0);
@@ -617,15 +586,13 @@ int _gnutls13_handshake_server(gnutls_session_t session)
FALLTHROUGH;
case STATE115:
- if (!
- (session->internals.hsk_flags & (HSK_TLS13_TICKET_SENT |
- HSK_EARLY_START_USED))
-&& !(session->internals.flags & GNUTLS_NO_AUTO_SEND_TICKET)
-&& _gnutls13_can_send_session_ticket(session)) {
- ret =
- _gnutls13_send_session_ticket(session,
- TLS13_TICKETS_TO_SEND,
- AGAIN(STATE115));
+ if (!(session->internals.hsk_flags &
+ (HSK_TLS13_TICKET_SENT | HSK_EARLY_START_USED)) &&
+ !(session->internals.flags & GNUTLS_NO_AUTO_SEND_TICKET) &&
+ _gnutls13_can_send_session_ticket(session)) {
+ ret = _gnutls13_send_session_ticket(
+ session, TLS13_TICKETS_TO_SEND,
+ AGAIN(STATE115));
STATE = STATE115;
IMED_RET("send session ticket", ret, 0);
}
@@ -668,18 +635,17 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
/* the received handshake message has already been pushed into
* handshake buffers. As we do not need to use the handshake hash
* buffers we call the lower level receive functions */
- ret =
- _gnutls_handshake_io_recv_int(session, GNUTLS_HANDSHAKE_ANY,
- &hsk, 0);
+ ret = _gnutls_handshake_io_recv_int(
+ session, GNUTLS_HANDSHAKE_ANY, &hsk, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
session->internals.last_handshake_in = hsk.htype;
- ret =
- _gnutls_call_hook_func(session, hsk.htype, GNUTLS_HOOK_PRE,
- 1, hsk.data.data, hsk.data.length);
+ ret = _gnutls_call_hook_func(session, hsk.htype,
+ GNUTLS_HOOK_PRE, 1, hsk.data.data,
+ hsk.data.length);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -687,34 +653,29 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
switch (hsk.htype) {
case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST:
- if (!
- (session->security_parameters.entity ==
- GNUTLS_CLIENT)
-|| !(session->internals.flags & GNUTLS_POST_HANDSHAKE_AUTH)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ if (!(session->security_parameters.entity ==
+ GNUTLS_CLIENT) ||
+ !(session->internals.flags &
+ GNUTLS_POST_HANDSHAKE_AUTH)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto cleanup;
}
_gnutls_buffer_reset(&session->internals.reauth_buffer);
/* include the handshake headers in reauth buffer */
- ret =
- _gnutls_buffer_append_data(&session->
- internals.reauth_buffer,
- hsk.header,
- hsk.header_size);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.reauth_buffer, hsk.header,
+ hsk.header_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data(&session->
- internals.reauth_buffer,
- hsk.data.data,
- hsk.data.length);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.reauth_buffer,
+ hsk.data.data, hsk.data.length);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -722,8 +683,8 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
if (session->internals.flags & GNUTLS_AUTO_REAUTH) {
ret = gnutls_reauth(session, 0);
- if (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED) {
+ if (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED) {
next_state = RECV_STATE_REAUTH;
} else if (ret < 0) {
gnutls_assert();
@@ -747,19 +708,18 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
/* Handshake messages MUST NOT span key changes, i.e., we
* should not have any other pending handshake messages from
* the same record. */
- if (session->internals.handshake_recv_buffer_size != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ if (session->internals.handshake_recv_buffer_size !=
+ 0) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto cleanup;
}
break;
case GNUTLS_HANDSHAKE_NEW_SESSION_TICKET:
if (session->security_parameters.entity !=
GNUTLS_CLIENT) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto cleanup;
}
@@ -769,13 +729,13 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
goto cleanup;
}
- memcpy(session->internals.
- tls13_ticket.resumption_master_secret,
+ memcpy(session->internals.tls13_ticket
+ .resumption_master_secret,
session->key.proto.tls13.ap_rms,
session->key.proto.tls13.temp_secret_size);
session->internals.tls13_ticket.prf =
- session->security_parameters.prf;
+ session->security_parameters.prf;
session->internals.hsk_flags |= HSK_TICKET_RECEIVED;
break;
default:
@@ -784,9 +744,9 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
goto cleanup;
}
- ret =
- _gnutls_call_hook_func(session, hsk.htype, GNUTLS_HOOK_POST,
- 1, hsk.data.data, hsk.data.length);
+ ret = _gnutls_call_hook_func(session, hsk.htype,
+ GNUTLS_HOOK_POST, 1, hsk.data.data,
+ hsk.data.length);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -799,7 +759,7 @@ int _gnutls13_recv_async_handshake(gnutls_session_t session)
return 0;
- cleanup:
+cleanup:
/* if we have pending/partial handshake data in buffers, ensure that
* next read will read handshake data */
if (_gnutls_record_buffer_get_size(session) > 0)
@@ -829,8 +789,8 @@ int gnutls_session_ticket_send(gnutls_session_t session, unsigned nr,
int ret = 0;
const version_entry_st *vers = get_version(session);
- if (!vers->tls13_sem
- || session->security_parameters.entity == GNUTLS_CLIENT)
+ if (!vers->tls13_sem ||
+ session->security_parameters.entity == GNUTLS_CLIENT)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
if (nr == 0)
@@ -846,10 +806,8 @@ int gnutls_session_ticket_send(gnutls_session_t session, unsigned nr,
}
FALLTHROUGH;
case TICKET_STATE1:
- ret =
- _gnutls13_send_session_ticket(session, nr,
- TICKET_STATE ==
- TICKET_STATE1 ? 1 : 0);
+ ret = _gnutls13_send_session_ticket(
+ session, nr, TICKET_STATE == TICKET_STATE1 ? 1 : 0);
TICKET_STATE = TICKET_STATE1;
if (ret < 0) {
gnutls_assert();
diff --git a/lib/handshake.c b/lib/handshake.c
index dddf77c4f2..e50cfa0af7 100644
--- a/lib/handshake.c
+++ b/lib/handshake.c
@@ -50,8 +50,8 @@
#include <ext/session_ticket.h>
#include <ext/status_request.h>
#include <ext/safe_renegotiation.h>
-#include <auth/anon.h> /* for gnutls_anon_server_credentials_t */
-#include <auth/psk.h> /* for gnutls_psk_server_credentials_t */
+#include <auth/anon.h> /* for gnutls_anon_server_credentials_t */
+#include <auth/psk.h> /* for gnutls_psk_server_credentials_t */
#include <random.h>
#include <dtls.h>
#include "secrets.h"
@@ -60,13 +60,13 @@
#include "locks.h"
#include "system/ktls.h"
-static int check_if_null_comp_present(gnutls_session_t session,
- uint8_t * data, int datalen);
+static int check_if_null_comp_present(gnutls_session_t session, uint8_t *data,
+ int datalen);
static int handshake_client(gnutls_session_t session);
static int handshake_server(gnutls_session_t session);
-static int
-read_server_hello(gnutls_session_t session, uint8_t * data, int datalen);
+static int read_server_hello(gnutls_session_t session, uint8_t *data,
+ int datalen);
static int recv_handshake_final(gnutls_session_t session, int init);
static int send_handshake_final(gnutls_session_t session, int init);
@@ -87,20 +87,17 @@ inline static void handshake_hash_buffer_reset(gnutls_session_t session)
return;
}
-static int
-handshake_hash_add_recvd(gnutls_session_t session,
- gnutls_handshake_description_t recv_type,
- uint8_t * header, uint16_t header_size,
- uint8_t * dataptr, uint32_t datalen);
+static int handshake_hash_add_recvd(gnutls_session_t session,
+ gnutls_handshake_description_t recv_type,
+ uint8_t *header, uint16_t header_size,
+ uint8_t *dataptr, uint32_t datalen);
-static int
-handshake_hash_add_sent(gnutls_session_t session,
- gnutls_handshake_description_t type,
- uint8_t * dataptr, uint32_t datalen);
+static int handshake_hash_add_sent(gnutls_session_t session,
+ gnutls_handshake_description_t type,
+ uint8_t *dataptr, uint32_t datalen);
-static int
-recv_hello_verify_request(gnutls_session_t session,
- uint8_t * data, int datalen);
+static int recv_hello_verify_request(gnutls_session_t session, uint8_t *data,
+ int datalen);
/* Clears the handshake hash buffers and handles.
*/
@@ -114,7 +111,7 @@ void _gnutls_handshake_hash_buffers_clear(gnutls_session_t session)
/* Replace handshake message buffer, with the special synthetic message
* needed by TLS1.3 when HRR is sent. */
int _gnutls13_handshake_hash_buffers_synth(gnutls_session_t session,
- const mac_entry_st * prf,
+ const mac_entry_st *prf,
unsigned client)
{
int ret;
@@ -130,7 +127,7 @@ int _gnutls13_handshake_hash_buffers_synth(gnutls_session_t session,
hdata[0] = 254;
_gnutls_write_uint24(prf->output_size, &hdata[1]);
- ret = gnutls_hash_fast((gnutls_digest_algorithm_t) prf->id,
+ ret = gnutls_hash_fast((gnutls_digest_algorithm_t)prf->id,
session->internals.handshake_hash_buffer.data,
length, hdata + 4);
if (ret < 0)
@@ -138,16 +135,15 @@ int _gnutls13_handshake_hash_buffers_synth(gnutls_session_t session,
handshake_hash_buffer_reset(session);
- ret =
- _gnutls_buffer_append_data(&session->internals.
- handshake_hash_buffer, hdata,
- prf->output_size + 4);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer, hdata,
+ prf->output_size + 4);
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_buffers_log
- ("BUF[HSK]: Replaced handshake buffer with synth message (%d bytes)\n",
- prf->output_size + 4);
+ _gnutls_buffers_log(
+ "BUF[HSK]: Replaced handshake buffer with synth message (%d bytes)\n",
+ prf->output_size + 4);
return 0;
}
@@ -171,9 +167,8 @@ static int tls12_resume_copy_required_vals(gnutls_session_t session,
* That is because the client must see these in our
* hello message.
*/
- ret = _gnutls_set_cipher_suite2(session,
- session->internals.
- resumed_security_parameters.cs);
+ ret = _gnutls_set_cipher_suite2(
+ session, session->internals.resumed_security_parameters.cs);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -182,36 +177,34 @@ static int tls12_resume_copy_required_vals(gnutls_session_t session,
*/
session->security_parameters.entity =
- session->internals.resumed_security_parameters.entity;
+ session->internals.resumed_security_parameters.entity;
if (session->internals.resumed_security_parameters.pversion == NULL)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- if (_gnutls_set_current_version(session,
- session->internals.
- resumed_security_parameters.pversion->
- id) < 0)
+ if (_gnutls_set_current_version(
+ session, session->internals.resumed_security_parameters
+ .pversion->id) < 0)
return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
session->security_parameters.client_ctype =
- session->internals.resumed_security_parameters.client_ctype;
+ session->internals.resumed_security_parameters.client_ctype;
session->security_parameters.server_ctype =
- session->internals.resumed_security_parameters.server_ctype;
+ session->internals.resumed_security_parameters.server_ctype;
if (!ticket) {
memcpy(session->security_parameters.session_id,
- session->internals.
- resumed_security_parameters.session_id,
+ session->internals.resumed_security_parameters.session_id,
sizeof(session->security_parameters.session_id));
session->security_parameters.session_id_size =
- session->internals.
- resumed_security_parameters.session_id_size;
+ session->internals.resumed_security_parameters
+ .session_id_size;
}
return 0;
}
-void _gnutls_set_client_random(gnutls_session_t session, uint8_t * rnd)
+void _gnutls_set_client_random(gnutls_session_t session, uint8_t *rnd)
{
_gnutls_memory_mark_defined(session->security_parameters.client_random,
GNUTLS_RANDOM_SIZE);
@@ -219,32 +212,30 @@ void _gnutls_set_client_random(gnutls_session_t session, uint8_t * rnd)
GNUTLS_RANDOM_SIZE);
}
-static
-int _gnutls_gen_client_random(gnutls_session_t session)
+static int _gnutls_gen_client_random(gnutls_session_t session)
{
int ret;
/* no random given, we generate. */
if (session->internals.sc_random_set != 0) {
- _gnutls_memory_mark_defined(session->
- security_parameters.client_random,
- GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_defined(
+ session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
memcpy(session->security_parameters.client_random,
- session->internals.
- resumed_security_parameters.client_random,
+ session->internals.resumed_security_parameters
+ .client_random,
GNUTLS_RANDOM_SIZE);
} else {
- _gnutls_memory_mark_defined(session->
- security_parameters.client_random,
- GNUTLS_RANDOM_SIZE);
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE,
- session->security_parameters.client_random,
- GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_defined(
+ session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE,
+ session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
if (ret < 0) {
- _gnutls_memory_mark_undefined
- (session->security_parameters.client_random,
- GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_undefined(
+ session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
return gnutls_assert_val(ret);
}
}
@@ -252,9 +243,8 @@ int _gnutls_gen_client_random(gnutls_session_t session)
return 0;
}
-static
-int _gnutls_set_server_random(gnutls_session_t session,
- const version_entry_st * vers, uint8_t * rnd)
+static int _gnutls_set_server_random(gnutls_session_t session,
+ const version_entry_st *vers, uint8_t *rnd)
{
const version_entry_st *max;
@@ -265,35 +255,31 @@ int _gnutls_set_server_random(gnutls_session_t session,
/* check whether the server random value is set according to
* to TLS 1.3. p4.1.3 requirements */
- if (!IS_DTLS(session) && vers->id <= GNUTLS_TLS1_2
- && have_creds_for_tls13(session)) {
-
+ if (!IS_DTLS(session) && vers->id <= GNUTLS_TLS1_2 &&
+ have_creds_for_tls13(session)) {
max = _gnutls_version_max(session);
if (max->id <= GNUTLS_TLS1_2)
return 0;
if (vers->id == GNUTLS_TLS1_2 &&
- memcmp(&session->
- security_parameters.server_random[GNUTLS_RANDOM_SIZE
- - 8],
+ memcmp(&session->security_parameters
+ .server_random[GNUTLS_RANDOM_SIZE - 8],
"\x44\x4F\x57\x4E\x47\x52\x44\x01", 8) == 0) {
-
- _gnutls_audit_log(session,
- "Detected downgrade to TLS 1.2 from TLS 1.3\n");
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- } else if (vers->id <= GNUTLS_TLS1_1
- && memcmp(&session->security_parameters.server_random
- [GNUTLS_RANDOM_SIZE - 8],
- "\x44\x4F\x57\x4E\x47\x52\x44\x00",
- 8) == 0) {
-
- _gnutls_audit_log(session,
- "Detected downgrade to TLS 1.1 or earlier from TLS 1.3\n");
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ _gnutls_audit_log(
+ session,
+ "Detected downgrade to TLS 1.2 from TLS 1.3\n");
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ } else if (vers->id <= GNUTLS_TLS1_1 &&
+ memcmp(&session->security_parameters
+ .server_random[GNUTLS_RANDOM_SIZE -
+ 8],
+ "\x44\x4F\x57\x4E\x47\x52\x44\x00", 8) == 0) {
+ _gnutls_audit_log(
+ session,
+ "Detected downgrade to TLS 1.1 or earlier from TLS 1.3\n");
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
}
@@ -306,12 +292,12 @@ int _gnutls_gen_server_random(gnutls_session_t session, int version)
const version_entry_st *max;
if (session->internals.sc_random_set != 0) {
- _gnutls_memory_mark_defined(session->
- security_parameters.server_random,
- GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_defined(
+ session->security_parameters.server_random,
+ GNUTLS_RANDOM_SIZE);
memcpy(session->security_parameters.server_random,
- session->internals.
- resumed_security_parameters.server_random,
+ session->internals.resumed_security_parameters
+ .server_random,
GNUTLS_RANDOM_SIZE);
return 0;
}
@@ -326,31 +312,29 @@ int _gnutls_gen_server_random(gnutls_session_t session, int version)
if (!IS_DTLS(session) && max->id >= GNUTLS_TLS1_3 &&
version <= GNUTLS_TLS1_2) {
if (version == GNUTLS_TLS1_2) {
- memcpy(&session->security_parameters.server_random
- [GNUTLS_RANDOM_SIZE - 8],
+ memcpy(&session->security_parameters
+ .server_random[GNUTLS_RANDOM_SIZE - 8],
"\x44\x4F\x57\x4E\x47\x52\x44\x01", 8);
} else {
- memcpy(&session->security_parameters.server_random
- [GNUTLS_RANDOM_SIZE - 8],
+ memcpy(&session->security_parameters
+ .server_random[GNUTLS_RANDOM_SIZE - 8],
"\x44\x4F\x57\x4E\x47\x52\x44\x00", 8);
}
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE,
- session->security_parameters.server_random,
- GNUTLS_RANDOM_SIZE - 8);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE,
+ session->security_parameters.server_random,
+ GNUTLS_RANDOM_SIZE - 8);
} else {
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE,
- session->security_parameters.server_random,
- GNUTLS_RANDOM_SIZE);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE,
+ session->security_parameters.server_random,
+ GNUTLS_RANDOM_SIZE);
}
if (ret < 0) {
gnutls_assert();
- _gnutls_memory_mark_undefined(session->
- security_parameters.server_random,
- GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_undefined(
+ session->security_parameters.server_random,
+ GNUTLS_RANDOM_SIZE);
return ret;
}
@@ -360,12 +344,11 @@ int _gnutls_gen_server_random(gnutls_session_t session, int version)
#ifdef ENABLE_SSL3
/* Calculate The SSL3 Finished message
*/
-# define SSL3_CLIENT_MSG "CLNT"
-# define SSL3_SERVER_MSG "SRVR"
-# define SSL_MSG_LEN 4
-static int
-_gnutls_ssl3_finished(gnutls_session_t session, int type, uint8_t * ret,
- int sending)
+#define SSL3_CLIENT_MSG "CLNT"
+#define SSL3_SERVER_MSG "SRVR"
+#define SSL_MSG_LEN 4
+static int _gnutls_ssl3_finished(gnutls_session_t session, int type,
+ uint8_t *ret, int sending)
{
digest_hd_st td_md5;
digest_hd_st td_sha;
@@ -387,10 +370,10 @@ _gnutls_ssl3_finished(gnutls_session_t session, int type, uint8_t * ret,
return gnutls_assert_val(rc);
}
- _gnutls_hash(&td_sha,
- session->internals.handshake_hash_buffer.data, len);
- _gnutls_hash(&td_md5,
- session->internals.handshake_hash_buffer.data, len);
+ _gnutls_hash(&td_sha, session->internals.handshake_hash_buffer.data,
+ len);
+ _gnutls_hash(&td_md5, session->internals.handshake_hash_buffer.data,
+ len);
if (type == GNUTLS_SERVER)
mesg = SSL3_SERVER_MSG;
@@ -400,20 +383,18 @@ _gnutls_ssl3_finished(gnutls_session_t session, int type, uint8_t * ret,
_gnutls_hash(&td_md5, mesg, SSL_MSG_LEN);
_gnutls_hash(&td_sha, mesg, SSL_MSG_LEN);
- rc = _gnutls_mac_deinit_ssl3_handshake(&td_md5, ret,
- session->security_parameters.
- master_secret,
- GNUTLS_MASTER_SIZE);
+ rc = _gnutls_mac_deinit_ssl3_handshake(
+ &td_md5, ret, session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
if (rc < 0) {
_gnutls_hash_deinit(&td_md5, NULL);
_gnutls_hash_deinit(&td_sha, NULL);
return gnutls_assert_val(rc);
}
- rc = _gnutls_mac_deinit_ssl3_handshake(&td_sha, &ret[16],
- session->security_parameters.
- master_secret,
- GNUTLS_MASTER_SIZE);
+ rc = _gnutls_mac_deinit_ssl3_handshake(
+ &td_sha, &ret[16], session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
if (rc < 0) {
_gnutls_hash_deinit(&td_sha, NULL);
return gnutls_assert_val(rc);
@@ -428,8 +409,8 @@ _gnutls_ssl3_finished(gnutls_session_t session, int type, uint8_t * ret,
#define SERVER_MSG "server finished"
#define CLIENT_MSG "client finished"
#define TLS_MSG_LEN 15
-static int
-_gnutls_finished(gnutls_session_t session, int type, void *ret, int sending)
+static int _gnutls_finished(gnutls_session_t session, int type, void *ret,
+ int sending)
{
const int siz = TLS_MSG_LEN;
uint8_t concat[MAX_HASH_SIZE];
@@ -459,23 +440,21 @@ _gnutls_finished(gnutls_session_t session, int type, void *ret, int sending)
_gnutls_memory_mark_defined(session->security_parameters.master_secret,
GNUTLS_MASTER_SIZE);
- rc = _gnutls_PRF(session,
- session->security_parameters.master_secret,
- GNUTLS_MASTER_SIZE, mesg, siz, concat, hash_len,
- 12, ret);
+ rc = _gnutls_PRF(session, session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE, mesg, siz, concat, hash_len, 12,
+ ret);
if (rc < 0) {
- _gnutls_memory_mark_undefined(session->
- security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
+ _gnutls_memory_mark_undefined(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
}
return rc;
}
/* returns the 0 on success or a negative error code.
*/
-int
-_gnutls_negotiate_version(gnutls_session_t session,
- uint8_t major, uint8_t minor, unsigned allow_tls13)
+int _gnutls_negotiate_version(gnutls_session_t session, uint8_t major,
+ uint8_t minor, unsigned allow_tls13)
{
const version_entry_st *vers;
const version_entry_st *aversion = nversion_to_entry(major, minor);
@@ -484,17 +463,15 @@ _gnutls_negotiate_version(gnutls_session_t session,
* TLS 1.2 is handled separately because it is always advertized under TLS 1.3 or later */
if (aversion == NULL ||
_gnutls_nversion_is_supported(session, major, minor) == 0) {
-
if (aversion && aversion->id == GNUTLS_TLS1_2) {
vers = _gnutls_version_max(session);
if (unlikely(vers == NULL))
- return
- gnutls_assert_val
- (GNUTLS_E_NO_CIPHER_SUITES);
+ return gnutls_assert_val(
+ GNUTLS_E_NO_CIPHER_SUITES);
if (vers->id >= GNUTLS_TLS1_2) {
session->security_parameters.pversion =
- aversion;
+ aversion;
return 0;
}
}
@@ -502,9 +479,8 @@ _gnutls_negotiate_version(gnutls_session_t session,
/* if we get an unknown/unsupported version, then fail if the version we
* got is too low to be supported */
if (!_gnutls_version_is_too_high(session, major, minor))
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
/* If he requested something we do not support
* then we send him the highest we support.
@@ -538,8 +514,8 @@ _gnutls_negotiate_version(gnutls_session_t session,
* - GNUTLS_E_INT_RET_0 if GNUTLS_E_AGAIN || GNUTLS_E_INTERRUPTED were returned by the callback
* - a negative error code on other error
*/
-int
-_gnutls_user_hello_func(gnutls_session_t session, uint8_t major, uint8_t minor)
+int _gnutls_user_hello_func(gnutls_session_t session, uint8_t major,
+ uint8_t minor)
{
int ret, sret = 0;
const version_entry_st *vers, *old_vers;
@@ -564,17 +540,16 @@ _gnutls_user_hello_func(gnutls_session_t session, uint8_t major, uint8_t minor)
new_max = _gnutls_version_max(session);
old_vers = get_version(session);
- if (!old_vers->tls13_sem
- || (new_max && !new_max->tls13_sem)) {
+ if (!old_vers->tls13_sem ||
+ (new_max && !new_max->tls13_sem)) {
#if GNUTLS_TLS_VERSION_MAX != GNUTLS_TLS1_3
-# error "Need to update the following logic"
+#error "Need to update the following logic"
#endif
/* Here we need to renegotiate the version since the callee might
* have disabled some TLS versions. This logic does not cope for
* protocols later than TLS1.3 if they have the tls13_sem set */
- ret =
- _gnutls_negotiate_version(session, major,
- minor, 0);
+ ret = _gnutls_negotiate_version(session, major,
+ minor, 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -583,9 +558,8 @@ _gnutls_user_hello_func(gnutls_session_t session, uint8_t major, uint8_t minor)
/* at this point we need to regenerate the random value to
* avoid the peer detecting this session as a rollback
* attempt. */
- ret =
- _gnutls_gen_server_random(session,
- vers->id);
+ ret = _gnutls_gen_server_random(
+ session, vers->id);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -605,10 +579,10 @@ static int set_auth_types(gnutls_session_t session)
/* sanity check:
* we see TLS1.3 negotiated but no key share was sent */
if (ver->tls13_sem) {
- if (unlikely
- (!(session->internals.hsk_flags & HSK_PSK_KE_MODE_PSK)
- && !(session->
- internals.hsk_flags & HSK_KEY_SHARE_RECEIVED))) {
+ if (unlikely(!(session->internals.hsk_flags &
+ HSK_PSK_KE_MODE_PSK) &&
+ !(session->internals.hsk_flags &
+ HSK_KEY_SHARE_RECEIVED))) {
return gnutls_assert_val(GNUTLS_E_MISSING_EXTENSION);
}
@@ -626,9 +600,9 @@ static int set_auth_types(gnutls_session_t session)
if (kx != GNUTLS_KX_UNKNOWN) {
session->security_parameters.server_auth_type =
- _gnutls_map_kx_get_cred(kx, 1);
+ _gnutls_map_kx_get_cred(kx, 1);
session->security_parameters.client_auth_type =
- _gnutls_map_kx_get_cred(kx, 0);
+ _gnutls_map_kx_get_cred(kx, 0);
} else if (unlikely(!session->internals.resumed)) {
/* Here we can only arrive if something we received
* prevented the session from completing. */
@@ -643,8 +617,8 @@ static int set_auth_types(gnutls_session_t session)
* or version 2.0 client hello (only for compatibility
* since SSL version 2.0 is not supported).
*/
-static int
-read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
+static int read_client_hello(gnutls_session_t session, uint8_t *data,
+ int datalen)
{
uint8_t session_id_len;
int pos = 0, ret;
@@ -657,8 +631,8 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
const version_entry_st *vers;
DECR_LEN(len, 2);
- _gnutls_handshake_log("HSK[%p]: Client's version: %d.%d\n",
- session, data[pos], data[pos + 1]);
+ _gnutls_handshake_log("HSK[%p]: Client's version: %d.%d\n", session,
+ data[pos], data[pos + 1]);
major = data[pos];
minor = data[pos + 1];
@@ -725,7 +699,7 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
pos += suite_size;
DECR_LEN(len, 1);
- comp_size = data[pos++]; /* the number of compression methods */
+ comp_size = data[pos++]; /* the number of compression methods */
if (comp_size == 0)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
@@ -741,19 +715,17 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
* and version negotiation. We don't want to parse any other
* extensions since we don't want new extension values to override
* the resumed ones. */
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- GNUTLS_EXT_VERSION_NEG, ext_ptr,
- ext_size);
+ ret = _gnutls_parse_hello_extensions(session,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ GNUTLS_EXT_VERSION_NEG, ext_ptr,
+ ext_size);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- GNUTLS_EXT_MANDATORY, ext_ptr,
- ext_size);
+ ret = _gnutls_parse_hello_extensions(session,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ GNUTLS_EXT_MANDATORY, ext_ptr,
+ ext_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -762,17 +734,15 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
if (!vers->tls13_sem) {
- ret =
- _gnutls_server_restore_session(session, session_id,
- session_id_len);
+ ret = _gnutls_server_restore_session(session, session_id,
+ session_id_len);
if (session_id_len > 0)
session->internals.resumption_requested = 1;
- if (ret == 0) { /* resumed using default TLS resumption! */
- ret =
- _gnutls_server_select_suite(session, suite_ptr,
- suite_size, 1);
+ if (ret == 0) { /* resumed using default TLS resumption! */
+ ret = _gnutls_server_select_suite(session, suite_ptr,
+ suite_size, 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -784,16 +754,15 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
return _gnutls_user_hello_func(session, major, minor);
} else {
- ret =
- _gnutls_generate_session_id
- (session->security_parameters.session_id,
- &session->security_parameters.session_id_size);
+ ret = _gnutls_generate_session_id(
+ session->security_parameters.session_id,
+ &session->security_parameters.session_id_size);
if (ret < 0)
return gnutls_assert_val(ret);
session->internals.resumed = false;
}
- } else { /* TLS1.3 */
+ } else { /* TLS1.3 */
/* we echo client's session ID - length was checked previously */
assert(session_id_len <= GNUTLS_MAX_SESSION_ID_SIZE);
if (session_id_len > 0)
@@ -807,11 +776,10 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
* Unconditionally try to parse extensions; safe renegotiation uses them in
* sslv3 and higher, even though sslv3 doesn't officially support them.
*/
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- GNUTLS_EXT_APPLICATION, ext_ptr,
- ext_size);
+ ret = _gnutls_parse_hello_extensions(session,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ GNUTLS_EXT_APPLICATION, ext_ptr,
+ ext_size);
/* len is the rest of the parsed length */
if (ret < 0) {
gnutls_assert();
@@ -826,10 +794,9 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
}
/* Session tickets are parsed in this point */
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- GNUTLS_EXT_TLS, ext_ptr, ext_size);
+ ret = _gnutls_parse_hello_extensions(session,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ GNUTLS_EXT_TLS, ext_ptr, ext_size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -840,12 +807,11 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
const mac_entry_st *me;
record_parameters_st *params;
- ce = cipher_to_entry(session->internals.
- resumed_security_parameters.
- cs->block_algorithm);
- me = mac_to_entry(session->internals.
- resumed_security_parameters.
- cs->mac_algorithm);
+ ce = cipher_to_entry(
+ session->internals.resumed_security_parameters.cs
+ ->block_algorithm);
+ me = mac_to_entry(session->internals.resumed_security_parameters
+ .cs->mac_algorithm);
ret = _gnutls_epoch_get(session, EPOCH_NEXT, &params);
if (ret < 0) {
@@ -869,16 +835,15 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
/* resumed by session_ticket extension */
if (!vers->tls13_sem && session->internals.resumed) {
- session->internals.resumed_security_parameters.
- max_record_recv_size =
- session->security_parameters.max_record_recv_size;
- session->internals.resumed_security_parameters.
- max_record_send_size =
- session->security_parameters.max_record_send_size;
-
- ret =
- _gnutls_server_select_suite(session, suite_ptr, suite_size,
- 1);
+ session->internals.resumed_security_parameters
+ .max_record_recv_size =
+ session->security_parameters.max_record_recv_size;
+ session->internals.resumed_security_parameters
+ .max_record_send_size =
+ session->security_parameters.max_record_send_size;
+
+ ret = _gnutls_server_select_suite(session, suite_ptr,
+ suite_size, 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -913,8 +878,8 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
/* check if EMS is required */
- if (!vers->tls13_sem &&
- vers->id != GNUTLS_SSL3 && vers->id != GNUTLS_DTLS0_9 &&
+ if (!vers->tls13_sem && vers->id != GNUTLS_SSL3 &&
+ vers->id != GNUTLS_DTLS0_9 &&
session->internals.priorities->force_ext_master_secret &&
!session->security_parameters.ext_master_secret) {
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_SECURITY);
@@ -932,11 +897,10 @@ read_client_hello(gnutls_session_t session, uint8_t * data, int datalen)
/* call extensions that are intended to be parsed after the ciphersuite/cert
* are known. */
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- _GNUTLS_EXT_TLS_POST_CS, ext_ptr,
- ext_size);
+ ret = _gnutls_parse_hello_extensions(session,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ _GNUTLS_EXT_TLS_POST_CS, ext_ptr,
+ ext_size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -985,17 +949,15 @@ int _gnutls_send_finished(gnutls_session_t session, int again)
#ifdef ENABLE_SSL3
if (vers->id == GNUTLS_SSL3) {
- ret =
- _gnutls_ssl3_finished(session,
- session->security_parameters.
- entity, data, 1);
+ ret = _gnutls_ssl3_finished(
+ session, session->security_parameters.entity,
+ data, 1);
_mbuffer_set_udata_size(bufel, 36);
- } else { /* TLS 1.0+ */
+ } else { /* TLS 1.0+ */
#endif
- ret = _gnutls_finished(session,
- session->
- security_parameters.entity, data,
- 1);
+ ret = _gnutls_finished(
+ session, session->security_parameters.entity,
+ data, 1);
_mbuffer_set_udata_size(bufel, 12);
#ifdef ENABLE_SSL3
}
@@ -1014,27 +976,24 @@ int _gnutls_send_finished(gnutls_session_t session, int again)
return ret;
}
- if ((!session->internals.resumed
- && session->security_parameters.entity == GNUTLS_CLIENT)
- || (session->internals.resumed
- && session->security_parameters.entity ==
- GNUTLS_SERVER)) {
+ if ((!session->internals.resumed &&
+ session->security_parameters.entity == GNUTLS_CLIENT) ||
+ (session->internals.resumed &&
+ session->security_parameters.entity == GNUTLS_SERVER)) {
/* if we are a client not resuming - or we are a server resuming */
- _gnutls_handshake_log
- ("HSK[%p]: recording tls-unique CB (send)\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: recording tls-unique CB (send)\n",
+ session);
memcpy(session->internals.cb_tls_unique, data,
vdata_size);
session->internals.cb_tls_unique_len = vdata_size;
}
- ret =
- _gnutls_send_handshake(session, bufel,
- GNUTLS_HANDSHAKE_FINISHED);
+ ret = _gnutls_send_handshake(session, bufel,
+ GNUTLS_HANDSHAKE_FINISHED);
} else {
- ret =
- _gnutls_send_handshake(session, NULL,
- GNUTLS_HANDSHAKE_FINISHED);
+ ret = _gnutls_send_handshake(session, NULL,
+ GNUTLS_HANDSHAKE_FINISHED);
}
return ret;
@@ -1055,8 +1014,8 @@ int _gnutls_recv_finished(gnutls_session_t session)
if (unlikely(vers == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- ret =
- _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_FINISHED, 0, &buf);
+ ret = _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_FINISHED, 0,
+ &buf);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1080,16 +1039,14 @@ int _gnutls_recv_finished(gnutls_session_t session)
#ifdef ENABLE_SSL3
if (vers->id == GNUTLS_SSL3) {
- ret =
- _gnutls_ssl3_finished(session,
- (session->security_parameters.entity +
- 1) % 2, data, 0);
- } else /* TLS 1.0+ */
+ ret = _gnutls_ssl3_finished(
+ session, (session->security_parameters.entity + 1) % 2,
+ data, 0);
+ } else /* TLS 1.0+ */
#endif
- ret =
- _gnutls_finished(session,
- (session->security_parameters.entity +
- 1) % 2, data, 0);
+ ret = _gnutls_finished(
+ session, (session->security_parameters.entity + 1) % 2,
+ data, 0);
if (ret < 0) {
gnutls_assert();
@@ -1100,7 +1057,7 @@ int _gnutls_recv_finished(gnutls_session_t session)
/* When fuzzying allow to proceed without verifying the handshake
* consistency */
(void)vrfy;
-# warning This is unsafe for production builds
+#warning This is unsafe for production builds
#else
if (memcmp(vrfy, data, data_size) != 0) {
@@ -1116,18 +1073,18 @@ int _gnutls_recv_finished(gnutls_session_t session)
goto cleanup;
}
- if ((session->internals.resumed
- && session->security_parameters.entity == GNUTLS_CLIENT)
- || (!session->internals.resumed
- && session->security_parameters.entity == GNUTLS_SERVER)) {
+ if ((session->internals.resumed &&
+ session->security_parameters.entity == GNUTLS_CLIENT) ||
+ (!session->internals.resumed &&
+ session->security_parameters.entity == GNUTLS_SERVER)) {
/* if we are a client resuming - or we are a server not resuming */
- _gnutls_handshake_log
- ("HSK[%p]: recording tls-unique CB (recv)\n", session);
+ _gnutls_handshake_log(
+ "HSK[%p]: recording tls-unique CB (recv)\n", session);
memcpy(session->internals.cb_tls_unique, data, data_size);
session->internals.cb_tls_unique_len = data_size;
}
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
@@ -1139,9 +1096,8 @@ int _gnutls_recv_finished(gnutls_session_t session)
* When @scsv_only is non-zero only the available SCSVs are parsed
* and acted upon.
*/
-int
-_gnutls_server_select_suite(gnutls_session_t session, uint8_t * data,
- unsigned int datalen, unsigned scsv_only)
+int _gnutls_server_select_suite(gnutls_session_t session, uint8_t *data,
+ unsigned int datalen, unsigned scsv_only)
{
int ret;
unsigned int i;
@@ -1161,9 +1117,9 @@ _gnutls_server_select_suite(gnutls_session_t session, uint8_t * data,
if (session->internals.priorities->sr != SR_DISABLED &&
data[i] == GNUTLS_RENEGO_PROTECTION_REQUEST_MAJOR &&
data[i + 1] == GNUTLS_RENEGO_PROTECTION_REQUEST_MINOR) {
- _gnutls_handshake_log
- ("HSK[%p]: Received safe renegotiation CS\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Received safe renegotiation CS\n",
+ session);
retval = _gnutls_ext_sr_recv_cs(session);
if (retval < 0) {
gnutls_assert();
@@ -1175,19 +1131,18 @@ _gnutls_server_select_suite(gnutls_session_t session, uint8_t * data,
if (data[i] == GNUTLS_FALLBACK_SCSV_MAJOR &&
data[i + 1] == GNUTLS_FALLBACK_SCSV_MINOR) {
const version_entry_st *max =
- _gnutls_version_max(session);
+ _gnutls_version_max(session);
- _gnutls_handshake_log
- ("HSK[%p]: Received fallback CS\n", session);
+ _gnutls_handshake_log("HSK[%p]: Received fallback CS\n",
+ session);
if (vers != max)
- return
- gnutls_assert_val
- (GNUTLS_E_INAPPROPRIATE_FALLBACK);
+ return gnutls_assert_val(
+ GNUTLS_E_INAPPROPRIATE_FALLBACK);
} else if (!scsv_only) {
if (peer_clist.size < MAX_CIPHERSUITE_SIZE) {
peer_clist.entry[peer_clist.size] =
- ciphersuite_to_entry(&data[i]);
+ ciphersuite_to_entry(&data[i]);
if (peer_clist.entry[peer_clist.size] != NULL)
peer_clist.size++;
}
@@ -1197,14 +1152,14 @@ _gnutls_server_select_suite(gnutls_session_t session, uint8_t * data,
if (scsv_only)
return 0;
- ret =
- _gnutls_figure_common_ciphersuite(session, &peer_clist, &selected);
+ ret = _gnutls_figure_common_ciphersuite(session, &peer_clist,
+ &selected);
if (ret < 0) {
return gnutls_assert_val(ret);
}
- _gnutls_handshake_log
- ("HSK[%p]: Selected cipher suite: %s\n", session, selected->name);
+ _gnutls_handshake_log("HSK[%p]: Selected cipher suite: %s\n", session,
+ selected->name);
ret = _gnutls_set_cipher_suite2(session, selected);
if (ret < 0) {
@@ -1227,23 +1182,21 @@ _gnutls_server_select_suite(gnutls_session_t session, uint8_t * data,
*/
session->internals.auth_struct = _gnutls_kx_auth_struct(kx);
if (session->internals.auth_struct == NULL) {
- _gnutls_handshake_log
- ("HSK[%p]: Cannot find the appropriate handler for the KX algorithm\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Cannot find the appropriate handler for the KX algorithm\n",
+ session);
gnutls_assert();
return GNUTLS_E_INTERNAL_ERROR;
}
}
return 0;
-
}
/* This checks whether the null compression method is present.
*/
-static int
-check_if_null_comp_present(gnutls_session_t session,
- uint8_t * data, int datalen)
+static int check_if_null_comp_present(gnutls_session_t session, uint8_t *data,
+ int datalen)
{
int j;
@@ -1257,7 +1210,6 @@ check_if_null_comp_present(gnutls_session_t session,
*/
gnutls_assert();
return GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM;
-
}
/* This function sends an empty handshake packet. (like hello request).
@@ -1265,9 +1217,9 @@ check_if_null_comp_present(gnutls_session_t session,
* GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED, then it must be called again
* (until it returns ok), with NULL parameters.
*/
-static int
-_gnutls_send_empty_handshake(gnutls_session_t session,
- gnutls_handshake_description_t type, int again)
+static int _gnutls_send_empty_handshake(gnutls_session_t session,
+ gnutls_handshake_description_t type,
+ int again)
{
mbuffer_st *bufel;
@@ -1284,18 +1236,17 @@ _gnutls_send_empty_handshake(gnutls_session_t session,
}
int _gnutls_call_hook_func(gnutls_session_t session,
- gnutls_handshake_description_t type,
- int post, unsigned incoming,
- const uint8_t * data, unsigned data_size)
+ gnutls_handshake_description_t type, int post,
+ unsigned incoming, const uint8_t *data,
+ unsigned data_size)
{
gnutls_datum_t msg = { (void *)data, data_size };
if (session->internals.h_hook != NULL) {
- if ((session->internals.h_type == type
- || session->internals.h_type == GNUTLS_HANDSHAKE_ANY)
- && (session->internals.h_post == post
- || session->internals.h_post == GNUTLS_HOOK_BOTH)) {
-
+ if ((session->internals.h_type == type ||
+ session->internals.h_type == GNUTLS_HANDSHAKE_ANY) &&
+ (session->internals.h_post == post ||
+ session->internals.h_post == GNUTLS_HOOK_BOTH)) {
/* internal API for testing: when we are expected to
* wait for GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC, we
* do so, but not when doing for all messages. The
@@ -1305,11 +1256,11 @@ int _gnutls_call_hook_func(gnutls_session_t session,
*/
if (type == GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC &&
session->internals.h_type !=
- GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC)
+ GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC)
return 0;
- return session->internals.h_hook(session, type,
- post, incoming, &msg);
+ return session->internals.h_hook(session, type, post,
+ incoming, &msg);
}
}
return 0;
@@ -1318,13 +1269,13 @@ int _gnutls_call_hook_func(gnutls_session_t session,
/* Note that the "New session ticket" handshake packet behaves differently under
* TLS 1.2 or 1.3. In 1.2 it is included in the handshake process, while in 1.3
* it is sent asynchronously */
-#define IS_ASYNC(t, v) \
- (t == GNUTLS_HANDSHAKE_HELLO_REQUEST || t == GNUTLS_HANDSHAKE_KEY_UPDATE || \
+#define IS_ASYNC(t, v) \
+ (t == GNUTLS_HANDSHAKE_HELLO_REQUEST || \
+ t == GNUTLS_HANDSHAKE_KEY_UPDATE || \
(t == GNUTLS_HANDSHAKE_NEW_SESSION_TICKET && v->tls13_sem))
-int
-_gnutls_send_handshake(gnutls_session_t session, mbuffer_st * bufel,
- gnutls_handshake_description_t type)
+int _gnutls_send_handshake(gnutls_session_t session, mbuffer_st *bufel,
+ gnutls_handshake_description_t type)
{
return _gnutls_send_handshake2(session, bufel, type, 0);
}
@@ -1334,10 +1285,9 @@ _gnutls_send_handshake(gnutls_session_t session, mbuffer_st * bufel,
* GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED, then it must be called again
* (until it returns ok), with NULL parameters.
*/
-int
-_gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
- gnutls_handshake_description_t type,
- unsigned queue_only)
+int _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st *bufel,
+ gnutls_handshake_description_t type,
+ unsigned queue_only)
{
int ret;
uint8_t *data;
@@ -1351,7 +1301,6 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
*/
ret = _gnutls_handshake_io_write_flush(session);
return ret;
-
}
/* first run */
@@ -1359,7 +1308,7 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
i_datasize = _mbuffer_get_udata_size(bufel);
datasize = i_datasize + _mbuffer_get_uhead_size(bufel);
- data[pos++] = (uint8_t) REAL_HSK_TYPE(type);
+ data[pos++] = (uint8_t)REAL_HSK_TYPE(type);
_gnutls_write_uint24(_mbuffer_get_udata_size(bufel), &data[pos]);
pos += 3;
@@ -1381,16 +1330,14 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
/* pos += 3; */
}
- _gnutls_handshake_log("HSK[%p]: %s was queued [%ld bytes]\n",
- session, _gnutls_handshake2str(type),
- (long)datasize);
+ _gnutls_handshake_log("HSK[%p]: %s was queued [%ld bytes]\n", session,
+ _gnutls_handshake2str(type), (long)datasize);
/* Here we keep the handshake messages in order to hash them...
*/
if (!IS_ASYNC(type, vers)) {
- if ((ret =
- handshake_hash_add_sent(session, type, data,
- datasize)) < 0) {
+ if ((ret = handshake_hash_add_sent(session, type, data,
+ datasize)) < 0) {
gnutls_assert();
_mbuffer_xfree(&bufel);
return ret;
@@ -1440,7 +1387,6 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
/* Decide when to cache and when to send */
if (vers && vers->tls13_sem) {
-
if (session->internals.initial_negotiation_completed) {
/* we are under TLS1.3 in a re-authentication phase.
* we don't attempt to cache any messages */
@@ -1450,13 +1396,13 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
/* The messages which are followed by another are not sent by default
* but are cached instead */
switch (type) {
- case GNUTLS_HANDSHAKE_SERVER_HELLO: /* always followed by something */
- case GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS: /* followed by finished or cert */
- case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST: /* followed by certificate */
- case GNUTLS_HANDSHAKE_CERTIFICATE_PKT: /* this one is followed by cert verify */
- case GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT: /* as above */
- case GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY: /* followed by finished */
- ret = 0; /* cache */
+ case GNUTLS_HANDSHAKE_SERVER_HELLO: /* always followed by something */
+ case GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS: /* followed by finished or cert */
+ case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST: /* followed by certificate */
+ case GNUTLS_HANDSHAKE_CERTIFICATE_PKT: /* this one is followed by cert verify */
+ case GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT: /* as above */
+ case GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY: /* followed by finished */
+ ret = 0; /* cache */
break;
default:
/* send this and any cached messages */
@@ -1466,15 +1412,15 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
/* The messages which are followed by another are not sent by default
* but are cached instead */
switch (type) {
- case GNUTLS_HANDSHAKE_CERTIFICATE_PKT: /* this one is followed by ServerHelloDone
+ case GNUTLS_HANDSHAKE_CERTIFICATE_PKT: /* this one is followed by ServerHelloDone
* or ClientKeyExchange always.
*/
- case GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT: /* as above */
+ case GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT: /* as above */
case GNUTLS_HANDSHAKE_CERTIFICATE_STATUS:
- case GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE: /* as above */
- case GNUTLS_HANDSHAKE_SERVER_HELLO: /* as above */
- case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST: /* as above */
- case GNUTLS_HANDSHAKE_NEW_SESSION_TICKET: /* followed by ChangeCipherSpec */
+ case GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE: /* as above */
+ case GNUTLS_HANDSHAKE_SERVER_HELLO: /* as above */
+ case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST: /* as above */
+ case GNUTLS_HANDSHAKE_NEW_SESSION_TICKET: /* followed by ChangeCipherSpec */
/* now for client Certificate, ClientKeyExchange and
* CertificateVerify are always followed by ChangeCipherSpec
@@ -1491,27 +1437,32 @@ _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
return ret;
- force_send:
+force_send:
return _gnutls_handshake_io_write_flush(session);
}
-#define CHECK_SIZE(ll) \
- if ((session->internals.max_handshake_data_buffer_size > 0) && \
- (((ll) + session->internals.handshake_hash_buffer.length) > \
- session->internals.max_handshake_data_buffer_size)) { \
- _gnutls_debug_log("Handshake buffer length is %u (max: %u)\n", (unsigned)((ll) + session->internals.handshake_hash_buffer.length), (unsigned)session->internals.max_handshake_data_buffer_size); \
- return gnutls_assert_val(GNUTLS_E_HANDSHAKE_TOO_LARGE); \
- }
+#define CHECK_SIZE(ll) \
+ if ((session->internals.max_handshake_data_buffer_size > 0) && \
+ (((ll) + session->internals.handshake_hash_buffer.length) > \
+ session->internals.max_handshake_data_buffer_size)) { \
+ _gnutls_debug_log( \
+ "Handshake buffer length is %u (max: %u)\n", \
+ (unsigned)((ll) + \
+ session->internals.handshake_hash_buffer \
+ .length), \
+ (unsigned)session->internals \
+ .max_handshake_data_buffer_size); \
+ return gnutls_assert_val(GNUTLS_E_HANDSHAKE_TOO_LARGE); \
+ }
/* This function add the handshake headers and the
* handshake data to the handshake hash buffers. Needed
* for the finished messages calculations.
*/
-static int
-handshake_hash_add_recvd(gnutls_session_t session,
- gnutls_handshake_description_t recv_type,
- uint8_t * header, uint16_t header_size,
- uint8_t * dataptr, uint32_t datalen)
+static int handshake_hash_add_recvd(gnutls_session_t session,
+ gnutls_handshake_description_t recv_type,
+ uint8_t *header, uint16_t header_size,
+ uint8_t *dataptr, uint32_t datalen)
{
int ret;
const version_entry_st *vers = get_version(session);
@@ -1527,21 +1478,19 @@ handshake_hash_add_recvd(gnutls_session_t session,
CHECK_SIZE(header_size + datalen);
session->internals.handshake_hash_buffer_prev_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
if (vers->id != GNUTLS_DTLS0_9) {
- ret =
- _gnutls_buffer_append_data(&session->internals.
- handshake_hash_buffer, header,
- header_size);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer, header,
+ header_size);
if (ret < 0)
return gnutls_assert_val(ret);
}
if (datalen > 0) {
- ret =
- _gnutls_buffer_append_data(&session->internals.
- handshake_hash_buffer, dataptr,
- datalen);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer, dataptr,
+ datalen);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -1551,28 +1500,27 @@ handshake_hash_add_recvd(gnutls_session_t session,
*/
if (recv_type == GNUTLS_HANDSHAKE_CLIENT_HELLO)
session->internals.handshake_hash_buffer_client_hello_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
if (recv_type == GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE)
session->internals.handshake_hash_buffer_client_kx_len =
- session->internals.handshake_hash_buffer.length;
- if (recv_type == GNUTLS_HANDSHAKE_FINISHED
- && session->security_parameters.entity == GNUTLS_CLIENT)
+ session->internals.handshake_hash_buffer.length;
+ if (recv_type == GNUTLS_HANDSHAKE_FINISHED &&
+ session->security_parameters.entity == GNUTLS_CLIENT)
session->internals.handshake_hash_buffer_server_finished_len =
- session->internals.handshake_hash_buffer.length;
- if (recv_type == GNUTLS_HANDSHAKE_FINISHED
- && session->security_parameters.entity == GNUTLS_SERVER)
+ session->internals.handshake_hash_buffer.length;
+ if (recv_type == GNUTLS_HANDSHAKE_FINISHED &&
+ session->security_parameters.entity == GNUTLS_SERVER)
session->internals.handshake_hash_buffer_client_finished_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
return 0;
}
/* This function will store the handshake message we sent.
*/
-static int
-handshake_hash_add_sent(gnutls_session_t session,
- gnutls_handshake_description_t type,
- uint8_t * dataptr, uint32_t datalen)
+static int handshake_hash_add_sent(gnutls_session_t session,
+ gnutls_handshake_description_t type,
+ uint8_t *dataptr, uint32_t datalen)
{
int ret;
const version_entry_st *vers = get_version(session);
@@ -1598,26 +1546,25 @@ handshake_hash_add_sent(gnutls_session_t session,
return 0;
}
- ret =
- _gnutls_buffer_append_data(&session->internals.
- handshake_hash_buffer, dataptr, datalen);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer, dataptr, datalen);
if (ret < 0)
return gnutls_assert_val(ret);
if (type == GNUTLS_HANDSHAKE_CLIENT_HELLO)
session->internals.handshake_hash_buffer_client_hello_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
if (type == GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE)
session->internals.handshake_hash_buffer_client_kx_len =
- session->internals.handshake_hash_buffer.length;
- if (type == GNUTLS_HANDSHAKE_FINISHED
- && session->security_parameters.entity == GNUTLS_SERVER)
+ session->internals.handshake_hash_buffer.length;
+ if (type == GNUTLS_HANDSHAKE_FINISHED &&
+ session->security_parameters.entity == GNUTLS_SERVER)
session->internals.handshake_hash_buffer_server_finished_len =
- session->internals.handshake_hash_buffer.length;
- if (type == GNUTLS_HANDSHAKE_FINISHED
- && session->security_parameters.entity == GNUTLS_CLIENT)
+ session->internals.handshake_hash_buffer.length;
+ if (type == GNUTLS_HANDSHAKE_FINISHED &&
+ session->security_parameters.entity == GNUTLS_CLIENT)
session->internals.handshake_hash_buffer_client_finished_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
return 0;
}
@@ -1627,18 +1574,17 @@ handshake_hash_add_sent(gnutls_session_t session,
* E.g. for the SERVER_HELLO message (if it is expected), it will be
* passed to _gnutls_recv_hello().
*/
-int
-_gnutls_recv_handshake(gnutls_session_t session,
- gnutls_handshake_description_t type,
- unsigned int optional, gnutls_buffer_st * buf)
+int _gnutls_recv_handshake(gnutls_session_t session,
+ gnutls_handshake_description_t type,
+ unsigned int optional, gnutls_buffer_st *buf)
{
int ret, ret2;
handshake_buffer_st hsk;
ret = _gnutls_handshake_io_recv_int(session, type, &hsk, optional);
if (ret < 0) {
- if (optional != 0
- && ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) {
+ if (optional != 0 &&
+ ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) {
if (buf)
_gnutls_buffer_init(buf);
return 0;
@@ -1648,17 +1594,16 @@ _gnutls_recv_handshake(gnutls_session_t session,
}
session->internals.last_handshake_in = hsk.htype;
- ret =
- _gnutls_call_hook_func(session, hsk.htype, GNUTLS_HOOK_PRE, 1,
- hsk.data.data, hsk.data.length);
+ ret = _gnutls_call_hook_func(session, hsk.htype, GNUTLS_HOOK_PRE, 1,
+ hsk.data.data, hsk.data.length);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret = handshake_hash_add_recvd(session, hsk.rtype,
- hsk.header, hsk.header_size,
- hsk.data.data, hsk.data.length);
+ ret = handshake_hash_add_recvd(session, hsk.rtype, hsk.header,
+ hsk.header_size, hsk.data.data,
+ hsk.data.length);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1674,10 +1619,8 @@ _gnutls_recv_handshake(gnutls_session_t session,
#ifdef ENABLE_SSL2
if (hsk.htype == GNUTLS_HANDSHAKE_CLIENT_HELLO_V2)
- ret =
- _gnutls_read_client_hello_v2(session,
- hsk.data.data,
- hsk.data.length);
+ ret = _gnutls_read_client_hello_v2(
+ session, hsk.data.data, hsk.data.length);
else
#endif
{
@@ -1718,9 +1661,8 @@ _gnutls_recv_handshake(gnutls_session_t session,
goto cleanup;
}
- ret =
- recv_hello_verify_request(session,
- hsk.data.data, hsk.data.length);
+ ret = recv_hello_verify_request(session, hsk.data.data,
+ hsk.data.length);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1731,44 +1673,38 @@ _gnutls_recv_handshake(gnutls_session_t session,
}
break;
- case GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST:{
- /* hash buffer synth message is generated during hello retry parsing */
- gnutls_datum_t hrr = { hsk.data.data, hsk.data.length };
-
- if (IS_SERVER(session)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
- goto cleanup;
- }
+ case GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST: {
+ /* hash buffer synth message is generated during hello retry parsing */
+ gnutls_datum_t hrr = { hsk.data.data, hsk.data.length };
- ret =
- _gnutls13_recv_hello_retry_request(session,
- &hsk.data);
+ if (IS_SERVER(session)) {
+ ret = gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
+ goto cleanup;
+ }
+
+ ret = _gnutls13_recv_hello_retry_request(session, &hsk.data);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ } else {
+ /* during hello retry parsing, we reset handshake hash buffer,
+ * re-add this message */
+ ret = handshake_hash_add_recvd(session, hsk.htype,
+ hsk.header,
+ hsk.header_size,
+ hrr.data, hrr.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
- } else {
- /* during hello retry parsing, we reset handshake hash buffer,
- * re-add this message */
- ret =
- handshake_hash_add_recvd(session, hsk.htype,
- hsk.header,
- hsk.header_size,
- hrr.data,
- hrr.size);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
-
- /* Signal our caller we have received a retry request
- and ClientHello needs to be sent again. */
- ret = 1;
}
- break;
+ /* Signal our caller we have received a retry request
+ and ClientHello needs to be sent again. */
+ ret = 1;
}
+
+ break;
+ }
case GNUTLS_HANDSHAKE_SERVER_HELLO_DONE:
if (hsk.data.length == 0)
ret = 0;
@@ -1801,9 +1737,8 @@ _gnutls_recv_handshake(gnutls_session_t session,
goto cleanup;
}
- ret2 =
- _gnutls_call_hook_func(session, hsk.htype, GNUTLS_HOOK_POST, 1,
- hsk.data.data, hsk.data.length);
+ ret2 = _gnutls_call_hook_func(session, hsk.htype, GNUTLS_HOOK_POST, 1,
+ hsk.data.data, hsk.data.length);
if (ret2 < 0) {
ret = ret2;
gnutls_assert();
@@ -1815,7 +1750,7 @@ _gnutls_recv_handshake(gnutls_session_t session,
return ret;
}
- cleanup:
+cleanup:
_gnutls_handshake_buffer_clear(&hsk);
return ret;
}
@@ -1833,9 +1768,9 @@ static int set_client_ciphersuite(gnutls_session_t session, uint8_t suite[2])
for (j = 0; j < session->internals.priorities->cs.size; j++) {
if (suite[0] ==
- session->internals.priorities->cs.entry[j]->id[0]
- && suite[1] ==
- session->internals.priorities->cs.entry[j]->id[1]) {
+ session->internals.priorities->cs.entry[j]->id[0] &&
+ suite[1] ==
+ session->internals.priorities->cs.entry[j]->id[1]) {
selected = session->internals.priorities->cs.entry[j];
break;
}
@@ -1843,9 +1778,10 @@ static int set_client_ciphersuite(gnutls_session_t session, uint8_t suite[2])
if (!selected) {
gnutls_assert();
- _gnutls_handshake_log
- ("HSK[%p]: unsupported cipher suite %.2X.%.2X was negotiated\n",
- session, (unsigned int)suite[0], (unsigned int)suite[1]);
+ _gnutls_handshake_log(
+ "HSK[%p]: unsupported cipher suite %.2X.%.2X was negotiated\n",
+ session, (unsigned int)suite[0],
+ (unsigned int)suite[1]);
return GNUTLS_E_UNKNOWN_CIPHER_SUITE;
}
@@ -1853,8 +1789,8 @@ static int set_client_ciphersuite(gnutls_session_t session, uint8_t suite[2])
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_handshake_log("HSK[%p]: Selected cipher suite: %s\n",
- session, selected->name);
+ _gnutls_handshake_log("HSK[%p]: Selected cipher suite: %s\n", session,
+ selected->name);
/* check if the credentials (username, public key etc.) are ok.
* Actually checks if they exist.
@@ -1875,19 +1811,19 @@ static int set_client_ciphersuite(gnutls_session_t session, uint8_t suite[2])
session->internals.auth_struct = _gnutls_kx_auth_struct(kx);
if (session->internals.auth_struct == NULL) {
- _gnutls_handshake_log
- ("HSK[%p]: Cannot find the appropriate handler for the KX algorithm\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: Cannot find the appropriate handler for the KX algorithm\n",
+ session);
gnutls_assert();
return GNUTLS_E_INTERNAL_ERROR;
}
} else {
if (session->internals.hsk_flags & HSK_PSK_SELECTED) {
if (session->key.binders[0].prf->id != selected->prf) {
- _gnutls_handshake_log
- ("HSK[%p]: PRF of ciphersuite differs with the PSK identity (cs: %s, id: %s)\n",
- session, selected->name,
- session->key.binders[0].prf->name);
+ _gnutls_handshake_log(
+ "HSK[%p]: PRF of ciphersuite differs with the PSK identity (cs: %s, id: %s)\n",
+ session, selected->name,
+ session->key.binders[0].prf->name);
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
@@ -1901,9 +1837,8 @@ static int set_client_ciphersuite(gnutls_session_t session, uint8_t suite[2])
* This also sets the variables in the session. Used only while reading a server
* hello. Only applicable to TLS1.2 or earlier.
*/
-static int
-client_check_if_resuming(gnutls_session_t session,
- uint8_t * session_id, int session_id_len)
+static int client_check_if_resuming(gnutls_session_t session,
+ uint8_t *session_id, int session_id_len)
{
char buf[2 * GNUTLS_MAX_SESSION_ID_SIZE + 1];
int ret;
@@ -1911,42 +1846,42 @@ client_check_if_resuming(gnutls_session_t session,
_gnutls_handshake_log("HSK[%p]: SessionID length: %d\n", session,
session_id_len);
_gnutls_handshake_log("HSK[%p]: SessionID: %s\n", session,
- _gnutls_bin2hex(session_id, session_id_len,
- buf, sizeof(buf), NULL));
+ _gnutls_bin2hex(session_id, session_id_len, buf,
+ sizeof(buf), NULL));
if ((session->internals.resumption_requested != 0 ||
session->internals.premaster_set != 0) &&
session_id_len > 0 &&
session->internals.resumed_security_parameters.session_id_size ==
- session_id_len
- && memcmp(session_id,
- session->internals.resumed_security_parameters.session_id,
- session_id_len) == 0) {
+ session_id_len &&
+ memcmp(session_id,
+ session->internals.resumed_security_parameters.session_id,
+ session_id_len) == 0) {
/* resume session */
- memcpy(session->internals.resumed_security_parameters.
- server_random,
+ memcpy(session->internals.resumed_security_parameters
+ .server_random,
session->security_parameters.server_random,
GNUTLS_RANDOM_SIZE);
- memcpy(session->internals.resumed_security_parameters.
- client_random,
+ memcpy(session->internals.resumed_security_parameters
+ .client_random,
session->security_parameters.client_random,
GNUTLS_RANDOM_SIZE);
- ret = _gnutls_set_cipher_suite2
- (session,
- session->internals.resumed_security_parameters.cs);
+ ret = _gnutls_set_cipher_suite2(
+ session,
+ session->internals.resumed_security_parameters.cs);
if (ret < 0) {
gnutls_assert();
goto no_resume;
}
- session->internals.resumed = true; /* we are resuming */
+ session->internals.resumed = true; /* we are resuming */
return 0;
} else {
- no_resume:
+ no_resume:
/* keep the new session id */
- session->internals.resumed = false; /* we are not resuming */
+ session->internals.resumed = false; /* we are not resuming */
return -1;
}
}
@@ -1955,8 +1890,8 @@ client_check_if_resuming(gnutls_session_t session,
* This function also restores resumed parameters if we are resuming a
* session.
*/
-static int
-read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
+static int read_server_hello(gnutls_session_t session, uint8_t *data,
+ int datalen)
{
uint8_t session_id_len = 0;
uint8_t *session_id;
@@ -1973,20 +1908,21 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
}
- _gnutls_handshake_log("HSK[%p]: Server's version: %d.%d\n",
- session, data[pos], data[pos + 1]);
+ _gnutls_handshake_log("HSK[%p]: Server's version: %d.%d\n", session,
+ data[pos], data[pos + 1]);
DECR_LEN(len, 2);
major = data[pos];
minor = data[pos + 1];
- saved_vers = get_version(session); /* will be non-null if HRR has been received */
+ saved_vers = get_version(
+ session); /* will be non-null if HRR has been received */
vers = nversion_to_entry(major, minor);
if (unlikely(vers == NULL))
return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
- if (vers->tls13_sem) /* that shouldn't have been negotiated here */
+ if (vers->tls13_sem) /* that shouldn't have been negotiated here */
return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
if (_gnutls_set_current_version(session, vers->id) < 0)
@@ -2003,7 +1939,8 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
DECR_LEN(len, 1);
session_id_len = data[pos++];
- if (len < session_id_len || session_id_len > GNUTLS_MAX_SESSION_ID_SIZE) {
+ if (len < session_id_len ||
+ session_id_len > GNUTLS_MAX_SESSION_ID_SIZE) {
gnutls_assert();
return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
}
@@ -2022,12 +1959,11 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
pos++;
/* parse extensions to figure version */
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
- GNUTLS_EXT_VERSION_NEG, &data[pos],
- len);
+ ret = _gnutls_parse_hello_extensions(
+ session,
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
+ GNUTLS_EXT_VERSION_NEG, &data[pos], len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2036,9 +1972,8 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
return gnutls_assert_val(GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
if (vers->tls13_sem) {
if (major != 0x03 || minor != 0x03)
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
}
if (_gnutls_nversion_is_supported(session, vers->major, vers->minor) ==
@@ -2060,14 +1995,11 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
/* check if we are resuming and set the appropriate
* values;
*/
- if (!vers->tls13_sem &&
- client_check_if_resuming(session, session_id,
- session_id_len) == 0) {
- ret =
- _gnutls_parse_hello_extensions(session,
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
- GNUTLS_EXT_MANDATORY,
- &data[pos], len);
+ if (!vers->tls13_sem && client_check_if_resuming(session, session_id,
+ session_id_len) == 0) {
+ ret = _gnutls_parse_hello_extensions(
+ session, GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ GNUTLS_EXT_MANDATORY, &data[pos], len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2091,15 +2023,13 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
if (session->internals.hsk_flags & HSK_HRR_RECEIVED) {
/* check if ciphersuite matches */
if (memcmp(cs_pos, session->internals.hrr_cs, 2) != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* check if HRR version matches this version */
if (vers != saved_vers)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
if (*comp_pos != 0)
@@ -2112,11 +2042,8 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
/* Parse extensions in order.
*/
- ret =
- _gnutls_parse_hello_extensions(session,
- ext_parse_flag,
- GNUTLS_EXT_MANDATORY,
- &data[pos], len);
+ ret = _gnutls_parse_hello_extensions(
+ session, ext_parse_flag, GNUTLS_EXT_MANDATORY, &data[pos], len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2125,43 +2052,36 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
if (session->internals.priorities->force_etm &&
!session->security_parameters.etm) {
const cipher_entry_st *cipher =
- cipher_to_entry(session->security_parameters.
- cs->block_algorithm);
+ cipher_to_entry(session->security_parameters.cs
+ ->block_algorithm);
if (_gnutls_cipher_type(cipher) == CIPHER_BLOCK)
- return
- gnutls_assert_val
- (GNUTLS_E_UNWANTED_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNWANTED_ALGORITHM);
}
/* check if EMS is required */
if (vers->id != GNUTLS_SSL3 && vers->id != GNUTLS_DTLS0_9 &&
session->internals.priorities->force_ext_master_secret &&
!session->security_parameters.ext_master_secret) {
- return
- gnutls_assert_val(GNUTLS_E_INSUFFICIENT_SECURITY);
+ return gnutls_assert_val(
+ GNUTLS_E_INSUFFICIENT_SECURITY);
}
}
- ret =
- _gnutls_parse_hello_extensions(session,
- ext_parse_flag,
- GNUTLS_EXT_APPLICATION,
- &data[pos], len);
+ ret = _gnutls_parse_hello_extensions(session, ext_parse_flag,
+ GNUTLS_EXT_APPLICATION, &data[pos],
+ len);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_parse_hello_extensions(session,
- ext_parse_flag,
- GNUTLS_EXT_TLS, &data[pos], len);
+ ret = _gnutls_parse_hello_extensions(session, ext_parse_flag,
+ GNUTLS_EXT_TLS, &data[pos], len);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_parse_hello_extensions(session,
- ext_parse_flag,
- _GNUTLS_EXT_TLS_POST_CS,
- &data[pos], len);
+ ret = _gnutls_parse_hello_extensions(session, ext_parse_flag,
+ _GNUTLS_EXT_TLS_POST_CS,
+ &data[pos], len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2185,7 +2105,7 @@ read_server_hello(gnutls_session_t session, uint8_t * data, int datalen)
/* This function copies the appropriate compression methods, to a locally allocated buffer
* Needed in hello messages. Returns the new data length.
*/
-static int append_null_comp(gnutls_session_t session, gnutls_buffer_st * cdata)
+static int append_null_comp(gnutls_session_t session, gnutls_buffer_st *cdata)
{
uint8_t compression_methods[2] = { 0x01, 0x00 };
size_t init_length = cdata->length;
@@ -2214,9 +2134,9 @@ static int send_client_hello(gnutls_session_t session, int again)
bool resuming = false;
unsigned add_sr_scsv = 0;
uint8_t *session_id =
- session->internals.resumed_security_parameters.session_id;
+ session->internals.resumed_security_parameters.session_id;
uint8_t session_id_len =
- session->internals.resumed_security_parameters.session_id_size;
+ session->internals.resumed_security_parameters.session_id_size;
if (again == 0) {
/* note that rehandshake is different than resuming
@@ -2233,17 +2153,16 @@ static int send_client_hello(gnutls_session_t session, int again)
*/
if (session->internals.resumption_requested == 0 &&
session->internals.premaster_set == 0) {
- if (rehandshake) /* already negotiated version thus version_max == negotiated version */
+ if (rehandshake) /* already negotiated version thus version_max == negotiated version */
hver = get_version(session);
- else /* new handshake. just get the max */
+ else /* new handshake. just get the max */
hver = _gnutls_legacy_version_max(session);
} else {
/* we are resuming a session */
resuming = true;
- hver =
- session->internals.resumed_security_parameters.
- pversion;
+ hver = session->internals.resumed_security_parameters
+ .pversion;
if (hver && hver->tls13_sem)
hver = _gnutls_legacy_version_max(session);
@@ -2258,7 +2177,8 @@ static int send_client_hello(gnutls_session_t session, int again)
goto cleanup;
}
- if (unlikely(session->internals.default_hello_version[0] != 0)) {
+ if (unlikely(session->internals.default_hello_version[0] !=
+ 0)) {
tver[0] = session->internals.default_hello_version[0];
tver[1] = session->internals.default_hello_version[1];
} else {
@@ -2282,15 +2202,15 @@ static int send_client_hello(gnutls_session_t session, int again)
}
/* if we are replying to an HRR the version is already negotiated */
- if (!(session->internals.hsk_flags & HSK_HRR_RECEIVED)
- || !get_version(session)) {
+ if (!(session->internals.hsk_flags & HSK_HRR_RECEIVED) ||
+ !get_version(session)) {
/* Set the version we advertized as maximum
* (RSA uses it). */
set_adv_version(session, hver->major, hver->minor);
- if (_gnutls_set_current_version(session, hver->id) < 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
+ if (_gnutls_set_current_version(session, hver->id) <
+ 0) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_VERSION_PACKET);
goto cleanup;
}
}
@@ -2314,21 +2234,18 @@ static int send_client_hello(gnutls_session_t session, int again)
/* Generate random data
*/
if (!(session->internals.hsk_flags & HSK_HRR_RECEIVED) &&
- !(IS_DTLS(session)
- && session->internals.dtls.hsk_hello_verify_requests !=
- 0)) {
+ !(IS_DTLS(session) &&
+ session->internals.dtls.hsk_hello_verify_requests != 0)) {
ret = _gnutls_gen_client_random(session);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
-
}
- ret = _gnutls_buffer_append_data(&extdata,
- session->
- security_parameters.client_random,
- GNUTLS_RANDOM_SIZE);
+ ret = _gnutls_buffer_append_data(
+ &extdata, session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2338,14 +2255,14 @@ static int send_client_hello(gnutls_session_t session, int again)
if (max_ver->tls13_sem &&
session->internals.priorities->tls13_compat_mode &&
!resuming) {
- if (!(session->internals.hsk_flags & HSK_HRR_RECEIVED)) {
+ if (!(session->internals.hsk_flags &
+ HSK_HRR_RECEIVED)) {
/* Under TLS1.3 we generate a random session ID to make
* the TLS1.3 session look like a resumed TLS1.2 session */
- ret =
- _gnutls_generate_session_id
- (session->security_parameters.session_id,
- &session->security_parameters.
- session_id_size);
+ ret = _gnutls_generate_session_id(
+ session->security_parameters.session_id,
+ &session->security_parameters
+ .session_id_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2353,14 +2270,13 @@ static int send_client_hello(gnutls_session_t session, int again)
}
session_id = session->security_parameters.session_id;
session_id_len =
- session->security_parameters.session_id_size;
+ session->security_parameters.session_id_size;
}
#endif
/* Copy the Session ID - if any
*/
- ret = _gnutls_buffer_append_data_prefix(&extdata, 8,
- session_id,
+ ret = _gnutls_buffer_append_data_prefix(&extdata, 8, session_id,
session_id_len);
if (ret < 0) {
gnutls_assert();
@@ -2370,13 +2286,10 @@ static int send_client_hello(gnutls_session_t session, int again)
/* Copy the DTLS cookie
*/
if (IS_DTLS(session)) {
- ret = _gnutls_buffer_append_data_prefix(&extdata, 8,
- session->internals.
- dtls.dcookie.
- data,
- session->internals.
- dtls.dcookie.
- size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &extdata, 8,
+ session->internals.dtls.dcookie.data,
+ session->internals.dtls.dcookie.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2398,9 +2311,8 @@ static int send_client_hello(gnutls_session_t session, int again)
add_sr_scsv = 1;
}
#endif
- ret =
- _gnutls_get_client_ciphersuites(session, &extdata, min_ver,
- add_sr_scsv);
+ ret = _gnutls_get_client_ciphersuites(session, &extdata,
+ min_ver, add_sr_scsv);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2423,10 +2335,9 @@ static int send_client_hello(gnutls_session_t session, int again)
type = GNUTLS_EXT_MANDATORY;
}
- ret =
- _gnutls_gen_hello_extensions(session, &extdata,
- GNUTLS_EXT_FLAG_CLIENT_HELLO,
- type);
+ ret = _gnutls_gen_hello_extensions(
+ session, &extdata, GNUTLS_EXT_FLAG_CLIENT_HELLO,
+ type);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2444,12 +2355,11 @@ static int send_client_hello(gnutls_session_t session, int again)
const mac_entry_st *me;
record_parameters_st *params;
- ce = cipher_to_entry(session->internals.
- resumed_security_parameters.
- cs->block_algorithm);
- me = mac_to_entry(session->internals.
- resumed_security_parameters.
- cs->mac_algorithm);
+ ce = cipher_to_entry(
+ session->internals.resumed_security_parameters.cs
+ ->block_algorithm);
+ me = mac_to_entry(session->internals.resumed_security_parameters
+ .cs->mac_algorithm);
ret = _gnutls_epoch_get(session, EPOCH_NEXT, &params);
if (ret < 0) {
@@ -2478,7 +2388,7 @@ static int send_client_hello(gnutls_session_t session, int again)
return ret;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&extdata);
return ret;
}
@@ -2499,12 +2409,12 @@ int _gnutls_send_server_hello(gnutls_session_t session, int again)
if (again == 0) {
vers = get_version(session);
- if (unlikely
- (vers == NULL || session->security_parameters.cs == NULL))
+ if (unlikely(vers == NULL ||
+ session->security_parameters.cs == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
if (vers->tls13_sem) {
- vbytes[0] = 0x03; /* TLS1.2 */
+ vbytes[0] = 0x03; /* TLS1.2 */
vbytes[1] = 0x03;
extflag |= GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO;
} else {
@@ -2525,32 +2435,30 @@ int _gnutls_send_server_hello(gnutls_session_t session, int again)
goto fail;
}
- ret = _gnutls_buffer_append_data(&buf,
- session->
- security_parameters.server_random,
- GNUTLS_RANDOM_SIZE);
+ ret = _gnutls_buffer_append_data(
+ &buf, session->security_parameters.server_random,
+ GNUTLS_RANDOM_SIZE);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- ret = _gnutls_buffer_append_data_prefix(&buf, 8,
- session->security_parameters.session_id,
- session_id_len);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 8, session->security_parameters.session_id,
+ session_id_len);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- _gnutls_handshake_log("HSK[%p]: SessionID: %s\n", session,
- _gnutls_bin2hex
- (session->security_parameters.session_id,
- session_id_len, tmpbuf, sizeof(tmpbuf),
- NULL));
+ _gnutls_handshake_log(
+ "HSK[%p]: SessionID: %s\n", session,
+ _gnutls_bin2hex(session->security_parameters.session_id,
+ session_id_len, tmpbuf, sizeof(tmpbuf),
+ NULL));
- ret = _gnutls_buffer_append_data(&buf,
- session->
- security_parameters.cs->id, 2);
+ ret = _gnutls_buffer_append_data(
+ &buf, session->security_parameters.cs->id, 2);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -2567,8 +2475,8 @@ int _gnutls_send_server_hello(gnutls_session_t session, int again)
etype = GNUTLS_EXT_MANDATORY;
else
etype = GNUTLS_EXT_ANY;
- ret =
- _gnutls_gen_hello_extensions(session, &buf, extflag, etype);
+ ret = _gnutls_gen_hello_extensions(session, &buf, extflag,
+ etype);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -2578,10 +2486,9 @@ int _gnutls_send_server_hello(gnutls_session_t session, int again)
/* Under TLS1.3, the session ID is used for different purposes than
* the TLS1.0 session ID. Ensure that there is an internally set
* value which the server will see on the original and resumed sessions */
- ret =
- _gnutls_generate_session_id
- (session->security_parameters.session_id,
- &session->security_parameters.session_id_size);
+ ret = _gnutls_generate_session_id(
+ session->security_parameters.session_id,
+ &session->security_parameters.session_id_size);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -2591,17 +2498,16 @@ int _gnutls_send_server_hello(gnutls_session_t session, int again)
bufel = _gnutls_buffer_to_mbuffer(&buf);
}
- ret =
- _gnutls_send_handshake(session, bufel,
- GNUTLS_HANDSHAKE_SERVER_HELLO);
+ ret = _gnutls_send_handshake(session, bufel,
+ GNUTLS_HANDSHAKE_SERVER_HELLO);
- fail:
+fail:
_gnutls_buffer_clear(&buf);
return ret;
}
-static int
-recv_hello_verify_request(gnutls_session_t session, uint8_t * data, int datalen)
+static int recv_hello_verify_request(gnutls_session_t session, uint8_t *data,
+ int datalen)
{
ssize_t len = datalen;
size_t pos = 0;
@@ -2637,9 +2543,8 @@ recv_hello_verify_request(gnutls_session_t session, uint8_t * data, int datalen)
DECR_LEN(len, cookie_len);
gnutls_free(session->internals.dtls.dcookie.data);
- ret =
- _gnutls_set_datum(&session->internals.dtls.dcookie, &data[pos],
- cookie_len);
+ ret = _gnutls_set_datum(&session->internals.dtls.dcookie, &data[pos],
+ cookie_len);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2746,10 +2651,8 @@ int gnutls_rehandshake(gnutls_session_t session)
_dtls_async_timer_delete(session);
- ret =
- _gnutls_send_empty_handshake(session,
- GNUTLS_HANDSHAKE_HELLO_REQUEST,
- AGAIN(STATE50));
+ ret = _gnutls_send_empty_handshake(
+ session, GNUTLS_HANDSHAKE_HELLO_REQUEST, AGAIN(STATE50));
STATE = STATE50;
if (ret < 0) {
@@ -2783,9 +2686,8 @@ inline static int _gnutls_abort_handshake(gnutls_session_t session, int ret)
* - a Server Hello is not yet received
*/
if (session->internals.initial_negotiation_completed ||
- !(session->
- internals.hsk_flags & HSK_SERVER_HELLO_RECEIVED))
- {
+ !(session->internals.hsk_flags &
+ HSK_SERVER_HELLO_RECEIVED)) {
STATE = STATE0;
return ret;
}
@@ -2835,9 +2737,8 @@ static int _gnutls_recv_supplemental(gnutls_session_t session)
_gnutls_debug_log("EXT[%p]: Expecting supplemental data\n", session);
- ret =
- _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_SUPPLEMENTAL,
- 1, &buf);
+ ret = _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_SUPPLEMENTAL, 1,
+ &buf);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -2849,7 +2750,7 @@ static int _gnutls_recv_supplemental(gnutls_session_t session)
goto cleanup;
}
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
@@ -2901,8 +2802,8 @@ int gnutls_handshake(gnutls_session_t session)
if (vers->tls13_sem) {
if (session->security_parameters.entity ==
GNUTLS_CLIENT) {
- return gnutls_session_key_update(session,
- GNUTLS_KU_PEER);
+ return gnutls_session_key_update(
+ session, GNUTLS_KU_PEER);
} else {
/* This is a no-op for a server under TLS 1.3, as
* a server has already called gnutls_rehandshake()
@@ -2921,8 +2822,8 @@ int gnutls_handshake(gnutls_session_t session)
/* first call */
if (session->internals.priorities == NULL ||
session->internals.priorities->cs.size == 0)
- return
- gnutls_assert_val(GNUTLS_E_NO_PRIORITIES_WERE_SET);
+ return gnutls_assert_val(
+ GNUTLS_E_NO_PRIORITIES_WERE_SET);
ret = _gnutls_epoch_setup_next(session, 0, NULL);
if (ret < 0)
@@ -2939,12 +2840,11 @@ int gnutls_handshake(gnutls_session_t session)
start = &session->internals.handshake_start_time;
if (tmo_ms && end->tv_sec == 0 && end->tv_nsec == 0) {
- end->tv_sec =
- start->tv_sec + (start->tv_nsec +
- tmo_ms * 1000000LL) / 1000000000LL;
- end->tv_nsec =
- (start->tv_nsec +
- tmo_ms * 1000000LL) % 1000000000LL;
+ end->tv_sec = start->tv_sec +
+ (start->tv_nsec + tmo_ms * 1000000LL) /
+ 1000000000LL;
+ end->tv_nsec = (start->tv_nsec + tmo_ms * 1000000LL) %
+ 1000000000LL;
}
#ifdef ENABLE_KTLS
@@ -2952,9 +2852,9 @@ int gnutls_handshake(gnutls_session_t session)
if ((session->internals.pull_func &&
session->internals.pull_func != system_read) ||
session->internals.push_func) {
- _gnutls_audit_log(session,
- "Not enabling KTLS with "
- "custom pull/push function\n");
+ _gnutls_audit_log(
+ session, "Not enabling KTLS with "
+ "custom pull/push function\n");
} else {
_gnutls_ktls_enable(session);
}
@@ -2982,7 +2882,6 @@ int gnutls_handshake(gnutls_session_t session)
/* clear handshake buffer */
if (session->internals.recv_state != RECV_STATE_FALSE_START &&
session->internals.recv_state != RECV_STATE_EARLY_START) {
-
_gnutls_handshake_hash_buffers_clear(session);
if (IS_DTLS(session) == 0) {
@@ -3005,14 +2904,18 @@ int gnutls_handshake(gnutls_session_t session)
if (!(session->internals.hsk_flags & HSK_HRR_RECEIVED)) {
session->internals.ertt =
- timespec_sub_ms(&handshake_finish_time,
- &session->
- internals.handshake_start_time) / 2;
+ timespec_sub_ms(
+ &handshake_finish_time,
+ &session->internals
+ .handshake_start_time) /
+ 2;
} else {
session->internals.ertt =
- timespec_sub_ms(&handshake_finish_time,
- &session->
- internals.handshake_start_time) / 4;
+ timespec_sub_ms(
+ &handshake_finish_time,
+ &session->internals
+ .handshake_start_time) /
+ 4;
}
}
@@ -3022,8 +2925,9 @@ int gnutls_handshake(gnutls_session_t session)
if (ret < 0) {
/* no need to invalidate the session as keys were not set */
session->internals.ktls_enabled = 0;
- _gnutls_audit_log(session,
- "disabling KTLS: failed to set keys\n");
+ _gnutls_audit_log(
+ session,
+ "disabling KTLS: failed to set keys\n");
}
}
#endif
@@ -3077,9 +2981,8 @@ int _gnutls_run_verify_callback(gnutls_session_t session, unsigned int side)
if (session->internals.hsk_flags & HSK_PSK_SELECTED)
return 0;
- cred =
- (gnutls_certificate_credentials_t) _gnutls_get_cred(session,
- GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (side == GNUTLS_CLIENT)
type = gnutls_auth_server_get_type(session);
@@ -3099,10 +3002,10 @@ int _gnutls_run_verify_callback(gnutls_session_t session, unsigned int side)
}
if (cred != NULL &&
- (cred->verify_callback != NULL
- || session->internals.verify_callback != NULL)
- && (session->security_parameters.entity == GNUTLS_CLIENT
- || session->internals.send_cert_req != GNUTLS_CERT_IGNORE)) {
+ (cred->verify_callback != NULL ||
+ session->internals.verify_callback != NULL) &&
+ (session->security_parameters.entity == GNUTLS_CLIENT ||
+ session->internals.send_cert_req != GNUTLS_CERT_IGNORE)) {
if (session->internals.verify_callback)
ret = session->internals.verify_callback(session);
else
@@ -3142,7 +3045,7 @@ static int handshake_client(gnutls_session_t session)
int ret = 0;
const version_entry_st *ver;
- reset:
+reset:
if (STATE >= STATE99)
return _gnutls13_handshake_client(session);
@@ -3155,10 +3058,9 @@ static int handshake_client(gnutls_session_t session)
FALLTHROUGH;
case STATE2:
if (IS_DTLS(session)) {
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_HELLO_VERIFY_REQUEST,
- 1, NULL);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_HELLO_VERIFY_REQUEST,
+ 1, NULL);
STATE = STATE2;
IMED_RET("recv hello verify", ret, 1);
@@ -3167,10 +3069,9 @@ static int handshake_client(gnutls_session_t session)
return 1;
}
} else {
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST,
- 1, NULL);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST,
+ 1, NULL);
STATE = STATE2;
IMED_RET("recv hello retry", ret, 1);
@@ -3182,16 +3083,14 @@ static int handshake_client(gnutls_session_t session)
FALLTHROUGH;
case STATE3:
/* receive the server hello */
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_SERVER_HELLO,
- 0, NULL);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_SERVER_HELLO, 0, NULL);
STATE = STATE3;
IMED_RET("recv hello", ret, 1);
FALLTHROUGH;
case STATE4:
ver = get_version(session);
- if (ver->tls13_sem) { /* TLS 1.3 state machine */
+ if (ver->tls13_sem) { /* TLS 1.3 state machine */
STATE = STATE99;
goto reset;
}
@@ -3209,7 +3108,7 @@ static int handshake_client(gnutls_session_t session)
FALLTHROUGH;
case STATE6:
/* RECV CERTIFICATE */
- if (!session->internals.resumed) /* if we are not resuming */
+ if (!session->internals.resumed) /* if we are not resuming */
ret = _gnutls_recv_server_certificate(session);
STATE = STATE6;
IMED_RET("recv server certificate", ret, 1);
@@ -3217,7 +3116,7 @@ static int handshake_client(gnutls_session_t session)
case STATE7:
#ifdef ENABLE_OCSP
/* RECV CERTIFICATE STATUS */
- if (!session->internals.resumed) /* if we are not resuming */
+ if (!session->internals.resumed) /* if we are not resuming */
ret = _gnutls_recv_server_certificate_status(session);
STATE = STATE7;
IMED_RET("recv server certificate", ret, 1);
@@ -3232,7 +3131,7 @@ static int handshake_client(gnutls_session_t session)
FALLTHROUGH;
case STATE9:
/* receive the server key exchange */
- if (!session->internals.resumed) /* if we are not resuming */
+ if (!session->internals.resumed) /* if we are not resuming */
ret = _gnutls_recv_server_kx_message(session);
STATE = STATE9;
IMED_RET("recv server kx message", ret, 1);
@@ -3241,25 +3140,24 @@ static int handshake_client(gnutls_session_t session)
/* receive the server certificate request - if any
*/
- if (!session->internals.resumed) /* if we are not resuming */
+ if (!session->internals.resumed) /* if we are not resuming */
ret = _gnutls_recv_server_crt_request(session);
STATE = STATE10;
IMED_RET("recv server certificate request message", ret, 1);
FALLTHROUGH;
case STATE11:
/* receive the server hello done */
- if (!session->internals.resumed) /* if we are not resuming */
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_SERVER_HELLO_DONE,
- 0, NULL);
+ if (!session->internals.resumed) /* if we are not resuming */
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_SERVER_HELLO_DONE, 0,
+ NULL);
STATE = STATE11;
IMED_RET("recv server hello done", ret, 1);
FALLTHROUGH;
case STATE12:
if (session->security_parameters.do_send_supplemental) {
- ret =
- _gnutls_send_supplemental(session, AGAIN(STATE12));
+ ret = _gnutls_send_supplemental(session,
+ AGAIN(STATE12));
STATE = STATE12;
IMED_RET("send supplemental", ret, 0);
}
@@ -3267,28 +3165,24 @@ static int handshake_client(gnutls_session_t session)
case STATE13:
/* send our certificate - if any and if requested
*/
- if (!session->internals.resumed) /* if we are not resuming */
- ret =
- _gnutls_send_client_certificate(session,
- AGAIN(STATE13));
+ if (!session->internals.resumed) /* if we are not resuming */
+ ret = _gnutls_send_client_certificate(session,
+ AGAIN(STATE13));
STATE = STATE13;
IMED_RET("send client certificate", ret, 0);
FALLTHROUGH;
case STATE14:
- if (!session->internals.resumed) /* if we are not resuming */
- ret =
- _gnutls_send_client_kx_message(session,
- AGAIN(STATE14));
+ if (!session->internals.resumed) /* if we are not resuming */
+ ret = _gnutls_send_client_kx_message(session,
+ AGAIN(STATE14));
STATE = STATE14;
IMED_RET("send client kx", ret, 0);
FALLTHROUGH;
case STATE15:
/* send client certificate verify */
- if (!session->internals.resumed) /* if we are not resuming */
- ret =
- _gnutls_send_client_certificate_verify(session,
- AGAIN
- (STATE15));
+ if (!session->internals.resumed) /* if we are not resuming */
+ ret = _gnutls_send_client_certificate_verify(
+ session, AGAIN(STATE15));
STATE = STATE15;
IMED_RET("send client certificate verify", ret, 1);
FALLTHROUGH;
@@ -3304,9 +3198,9 @@ static int handshake_client(gnutls_session_t session)
FALLTHROUGH;
case STATE17:
STATE = STATE17;
- if (!session->internals.resumed
- && (session->internals.flags & GNUTLS_ENABLE_FALSE_START)
- && can_send_false_start(session)) {
+ if (!session->internals.resumed &&
+ (session->internals.flags & GNUTLS_ENABLE_FALSE_START) &&
+ can_send_false_start(session)) {
session->internals.hsk_flags |= HSK_FALSE_START_USED;
session->internals.recv_state = RECV_STATE_FALSE_START;
/* complete this phase of the handshake. We
@@ -3365,7 +3259,8 @@ ssize_t _gnutls_send_change_cipher_spec(gnutls_session_t session, int again)
const version_entry_st *vers;
if (again == 0) {
- bufel = _gnutls_handshake_alloc(session, 3); /* max for DTLS0.9 */
+ bufel = _gnutls_handshake_alloc(session,
+ 3); /* max for DTLS0.9 */
if (bufel == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -3383,33 +3278,30 @@ ssize_t _gnutls_send_change_cipher_spec(gnutls_session_t session, int again)
data[0] = 1;
if (vers->id == GNUTLS_DTLS0_9) {
- _gnutls_write_uint16(session->internals.dtls.
- hsk_write_seq, &data[1]);
+ _gnutls_write_uint16(
+ session->internals.dtls.hsk_write_seq,
+ &data[1]);
session->internals.dtls.hsk_write_seq++;
}
- ret =
- _gnutls_call_hook_func(session,
- GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
- GNUTLS_HOOK_PRE, 0, data, 1);
+ ret = _gnutls_call_hook_func(
+ session, GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
+ GNUTLS_HOOK_PRE, 0, data, 1);
if (ret < 0) {
_mbuffer_xfree(&bufel);
return gnutls_assert_val(ret);
}
- ret =
- _gnutls_handshake_io_cache_int(session,
- GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
- bufel);
+ ret = _gnutls_handshake_io_cache_int(
+ session, GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC, bufel);
if (ret < 0) {
_mbuffer_xfree(&bufel);
return gnutls_assert_val(ret);
}
- ret =
- _gnutls_call_hook_func(session,
- GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
- GNUTLS_HOOK_POST, 0, data, 1);
+ ret = _gnutls_call_hook_func(
+ session, GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
+ GNUTLS_HOOK_POST, 0, data, 1);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -3522,9 +3414,8 @@ static int recv_handshake_final(gnutls_session_t session, int init)
if (vers->id == GNUTLS_DTLS0_9)
ccs_len = 3;
- ret =
- _gnutls_recv_int(session, GNUTLS_CHANGE_CIPHER_SPEC,
- ccs, ccs_len, NULL, tleft);
+ ret = _gnutls_recv_int(session, GNUTLS_CHANGE_CIPHER_SPEC, ccs,
+ ccs_len, NULL, tleft);
if (ret <= 0) {
gnutls_assert();
return (ret < 0) ? ret : GNUTLS_E_UNEXPECTED_PACKET;
@@ -3582,7 +3473,7 @@ static int handshake_server(gnutls_session_t session)
int ret = 0;
const version_entry_st *ver;
- reset:
+reset:
if (STATE >= STATE90)
return _gnutls13_handshake_server(session);
@@ -3590,15 +3481,13 @@ static int handshake_server(gnutls_session_t session)
switch (STATE) {
case STATE0:
case STATE1:
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CLIENT_HELLO,
- 0, NULL);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CLIENT_HELLO, 0, NULL);
if (ret == GNUTLS_E_INT_RET_0) {
/* this is triggered by post_client_hello, and instructs the
* handshake to proceed but be put on hold */
ret = GNUTLS_E_INTERRUPTED;
- STATE = STATE2; /* hello already parsed -> move on */
+ STATE = STATE2; /* hello already parsed -> move on */
} else {
STATE = STATE1;
}
@@ -3623,7 +3512,7 @@ static int handshake_server(gnutls_session_t session)
IMED_RET("send hello", ret, 1);
ver = get_version(session);
- if (ver->tls13_sem) { /* TLS 1.3 state machine */
+ if (ver->tls13_sem) { /* TLS 1.3 state machine */
STATE = STATE99;
goto reset;
}
@@ -3641,19 +3530,16 @@ static int handshake_server(gnutls_session_t session)
/* NOTE: these should not be send if we are resuming */
if (!session->internals.resumed)
- ret =
- _gnutls_send_server_certificate(session,
- AGAIN(STATE5));
+ ret = _gnutls_send_server_certificate(session,
+ AGAIN(STATE5));
STATE = STATE5;
IMED_RET("send server certificate", ret, 0);
FALLTHROUGH;
case STATE6:
#ifdef ENABLE_OCSP
if (!session->internals.resumed)
- ret =
- _gnutls_send_server_certificate_status(session,
- AGAIN
- (STATE6));
+ ret = _gnutls_send_server_certificate_status(
+ session, AGAIN(STATE6));
STATE = STATE6;
IMED_RET("send server certificate status", ret, 0);
#endif
@@ -3661,28 +3547,25 @@ static int handshake_server(gnutls_session_t session)
case STATE7:
/* send server key exchange (A) */
if (!session->internals.resumed)
- ret =
- _gnutls_send_server_kx_message(session,
- AGAIN(STATE7));
+ ret = _gnutls_send_server_kx_message(session,
+ AGAIN(STATE7));
STATE = STATE7;
IMED_RET("send server kx", ret, 0);
FALLTHROUGH;
case STATE8:
/* Send certificate request - if requested to */
if (!session->internals.resumed)
- ret =
- _gnutls_send_server_crt_request(session,
- AGAIN(STATE8));
+ ret = _gnutls_send_server_crt_request(session,
+ AGAIN(STATE8));
STATE = STATE8;
IMED_RET("send server cert request", ret, 0);
FALLTHROUGH;
case STATE9:
/* send the server hello done */
- if (!session->internals.resumed) /* if we are not resuming */
- ret =
- _gnutls_send_empty_handshake(session,
- GNUTLS_HANDSHAKE_SERVER_HELLO_DONE,
- AGAIN(STATE9));
+ if (!session->internals.resumed) /* if we are not resuming */
+ ret = _gnutls_send_empty_handshake(
+ session, GNUTLS_HANDSHAKE_SERVER_HELLO_DONE,
+ AGAIN(STATE9));
STATE = STATE9;
IMED_RET("send server hello done", ret, 1);
FALLTHROUGH;
@@ -3696,7 +3579,7 @@ static int handshake_server(gnutls_session_t session)
FALLTHROUGH;
case STATE11:
/* receive the client certificate message */
- if (!session->internals.resumed) /* if we are not resuming */
+ if (!session->internals.resumed) /* if we are not resuming */
ret = _gnutls_recv_client_certificate(session);
STATE = STATE11;
IMED_RET("recv client certificate", ret, 1);
@@ -3709,23 +3592,22 @@ static int handshake_server(gnutls_session_t session)
FALLTHROUGH;
case STATE13:
/* receive the client key exchange message */
- if (!session->internals.resumed) /* if we are not resuming */
+ if (!session->internals.resumed) /* if we are not resuming */
ret = _gnutls_recv_client_kx_message(session);
STATE = STATE13;
IMED_RET("recv client kx", ret, 1);
FALLTHROUGH;
case STATE14:
/* receive the client certificate verify message */
- if (!session->internals.resumed) /* if we are not resuming */
- ret =
- _gnutls_recv_client_certificate_verify_message
- (session);
+ if (!session->internals.resumed) /* if we are not resuming */
+ ret = _gnutls_recv_client_certificate_verify_message(
+ session);
STATE = STATE14;
IMED_RET("recv client certificate verify", ret, 1);
FALLTHROUGH;
case STATE15:
STATE = STATE15;
- if (!session->internals.resumed) { /* if we are not resuming */
+ if (!session->internals.resumed) { /* if we are not resuming */
ret = recv_handshake_final(session, true);
IMED_RET("recv handshake final", ret, 1);
} else {
@@ -3740,17 +3622,17 @@ static int handshake_server(gnutls_session_t session)
FALLTHROUGH;
case STATE17:
STATE = STATE17;
- if (!session->internals.resumed) { /* if we are not resuming */
+ if (!session->internals.resumed) { /* if we are not resuming */
ret = send_handshake_final(session, false);
IMED_RET("send handshake final", ret, 1);
if (session->security_parameters.entity ==
- GNUTLS_SERVER
- && !(session->
- internals.hsk_flags & HSK_TLS12_TICKET_SENT)) {
+ GNUTLS_SERVER &&
+ !(session->internals.hsk_flags &
+ HSK_TLS12_TICKET_SENT)) {
/* if no ticket, save session data */
- _gnutls_server_register_current_session
- (session);
+ _gnutls_server_register_current_session(
+ session);
}
} else {
ret = recv_handshake_final(session, false);
@@ -3770,15 +3652,14 @@ static int handshake_server(gnutls_session_t session)
return _gnutls_check_id_for_change(session);
}
-int _gnutls_generate_session_id(uint8_t * session_id, uint8_t * len)
+int _gnutls_generate_session_id(uint8_t *session_id, uint8_t *len)
{
int ret;
*len = GNUTLS_DEF_SESSION_ID_SIZE;
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE, session_id,
- GNUTLS_DEF_SESSION_ID_SIZE);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE, session_id,
+ GNUTLS_DEF_SESSION_ID_SIZE);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -3804,8 +3685,8 @@ int _gnutls_generate_session_id(uint8_t * session_id, uint8_t * len)
* Note that the maximum handshake size was increased to 128kb
* from 48kb in GnuTLS 3.5.5.
**/
-void
-gnutls_handshake_set_max_packet_length(gnutls_session_t session, size_t max)
+void gnutls_handshake_set_max_packet_length(gnutls_session_t session,
+ size_t max)
{
session->internals.max_handshake_data_buffer_size = max;
}
@@ -3853,7 +3734,7 @@ gnutls_handshake_get_last_out(gnutls_session_t session)
/* This returns the session hash as in draft-ietf-tls-session-hash-02.
*/
int _gnutls_handshake_get_session_hash(gnutls_session_t session,
- gnutls_datum_t * shash)
+ gnutls_datum_t *shash)
{
const version_entry_st *ver = get_version(session);
int ret;
@@ -3868,12 +3749,10 @@ int _gnutls_handshake_get_session_hash(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
- ret = _gnutls_hash_fast((gnutls_digest_algorithm_t)
- session->security_parameters.prf->id,
- session->internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer_client_kx_len,
- concat);
+ ret = _gnutls_hash_fast(
+ (gnutls_digest_algorithm_t)session->security_parameters.prf->id,
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer_client_kx_len, concat);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/handshake.h b/lib/handshake.h
index f7dc626a2f..186ae76b62 100644
--- a/lib/handshake.h
+++ b/lib/handshake.h
@@ -22,96 +22,108 @@
*/
#ifndef GNUTLS_LIB_HANDSHAKE_H
-# define GNUTLS_LIB_HANDSHAKE_H
+#define GNUTLS_LIB_HANDSHAKE_H
-# include "errors.h"
-# include "record.h"
-# include <assert.h>
+#include "errors.h"
+#include "record.h"
+#include <assert.h>
/* The following two macros are used in the handshake state machines; the first
* (IMED_RET) accounts for non-fatal errors and re-entry to current state, while
* the latter invalidates the handshake on any error (to be used by functions
* that are not expected to return non-fatal errors).
*/
-# define IMED_RET( str, ret, allow_alert) do { \
- if (ret < 0) { \
- /* EAGAIN and INTERRUPTED are always non-fatal */ \
- if (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED) \
- return ret; \
- if (ret == GNUTLS_E_GOT_APPLICATION_DATA && session->internals.initial_negotiation_completed != 0) \
- return ret; \
- if (session->internals.handshake_suspicious_loops < 16) { \
- if (ret == GNUTLS_E_LARGE_PACKET) { \
- session->internals.handshake_suspicious_loops++; \
- return ret; \
- } \
- /* a warning alert might interrupt handshake */ \
- if (allow_alert != 0 && ret==GNUTLS_E_WARNING_ALERT_RECEIVED) { \
- session->internals.handshake_suspicious_loops++; \
- return ret; \
- } \
- } \
- gnutls_assert(); \
- /* do not allow non-fatal errors at this point */ \
- if (gnutls_error_is_fatal(ret) == 0) ret = gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); \
- session_invalidate(session); \
- _gnutls_handshake_hash_buffers_clear(session); \
- return ret; \
- } } while (0)
-
-# define IMED_RET_FATAL( str, ret, allow_alert) do { \
- if (ret < 0) { \
- gnutls_assert(); \
- if (gnutls_error_is_fatal(ret) == 0) \
- ret = gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); \
- session_invalidate(session); \
- _gnutls_handshake_hash_buffers_clear(session); \
- return ret; \
- } } while (0)
-
-int _gnutls_send_handshake(gnutls_session_t session, mbuffer_st * bufel,
+#define IMED_RET(str, ret, allow_alert) \
+ do { \
+ if (ret < 0) { \
+ /* EAGAIN and INTERRUPTED are always non-fatal */ \
+ if (ret == GNUTLS_E_AGAIN || \
+ ret == GNUTLS_E_INTERRUPTED) \
+ return ret; \
+ if (ret == GNUTLS_E_GOT_APPLICATION_DATA && \
+ session->internals.initial_negotiation_completed != \
+ 0) \
+ return ret; \
+ if (session->internals.handshake_suspicious_loops < \
+ 16) { \
+ if (ret == GNUTLS_E_LARGE_PACKET) { \
+ session->internals \
+ .handshake_suspicious_loops++; \
+ return ret; \
+ } \
+ /* a warning alert might interrupt handshake */ \
+ if (allow_alert != 0 && \
+ ret == GNUTLS_E_WARNING_ALERT_RECEIVED) { \
+ session->internals \
+ .handshake_suspicious_loops++; \
+ return ret; \
+ } \
+ } \
+ gnutls_assert(); \
+ /* do not allow non-fatal errors at this point */ \
+ if (gnutls_error_is_fatal(ret) == 0) \
+ ret = gnutls_assert_val( \
+ GNUTLS_E_INTERNAL_ERROR); \
+ session_invalidate(session); \
+ _gnutls_handshake_hash_buffers_clear(session); \
+ return ret; \
+ } \
+ } while (0)
+
+#define IMED_RET_FATAL(str, ret, allow_alert) \
+ do { \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ if (gnutls_error_is_fatal(ret) == 0) \
+ ret = gnutls_assert_val( \
+ GNUTLS_E_INTERNAL_ERROR); \
+ session_invalidate(session); \
+ _gnutls_handshake_hash_buffers_clear(session); \
+ return ret; \
+ } \
+ } while (0)
+
+int _gnutls_send_handshake(gnutls_session_t session, mbuffer_st *bufel,
gnutls_handshake_description_t type);
int _gnutls_recv_handshake(gnutls_session_t session,
gnutls_handshake_description_t type,
- unsigned int optional, gnutls_buffer_st * buf);
+ unsigned int optional, gnutls_buffer_st *buf);
-int
-_gnutls_send_handshake2(gnutls_session_t session, mbuffer_st * bufel,
- gnutls_handshake_description_t type,
- unsigned queue_only);
+int _gnutls_send_handshake2(gnutls_session_t session, mbuffer_st *bufel,
+ gnutls_handshake_description_t type,
+ unsigned queue_only);
-int _gnutls_generate_session_id(uint8_t * session_id, uint8_t * len);
+int _gnutls_generate_session_id(uint8_t *session_id, uint8_t *len);
int _gnutls_gen_server_random(gnutls_session_t session, int version);
-void _gnutls_set_client_random(gnutls_session_t session, uint8_t * rnd);
+void _gnutls_set_client_random(gnutls_session_t session, uint8_t *rnd);
ssize_t _gnutls_send_change_cipher_spec(gnutls_session_t session, int again);
int _gnutls_send_server_hello(gnutls_session_t session, int again);
-int _gnutls_find_pk_algos_in_ciphersuites(uint8_t * data, int datalen);
-int _gnutls_server_select_suite(gnutls_session_t session, uint8_t * data,
+int _gnutls_find_pk_algos_in_ciphersuites(uint8_t *data, int datalen);
+int _gnutls_server_select_suite(gnutls_session_t session, uint8_t *data,
unsigned int datalen, unsigned int scsv_only);
-int _gnutls_negotiate_version(gnutls_session_t session,
- uint8_t major, uint8_t minor,
- unsigned allow_tls13);
-int _gnutls_user_hello_func(gnutls_session_t session,
- uint8_t major, uint8_t minor);
+int _gnutls_negotiate_version(gnutls_session_t session, uint8_t major,
+ uint8_t minor, unsigned allow_tls13);
+int _gnutls_user_hello_func(gnutls_session_t session, uint8_t major,
+ uint8_t minor);
void _gnutls_handshake_hash_buffers_clear(gnutls_session_t session);
int _gnutls13_handshake_hash_buffers_synth(gnutls_session_t session,
- const mac_entry_st * prf,
+ const mac_entry_st *prf,
unsigned client);
-# define STATE session->internals.handshake_state
-# define FINAL_STATE session->internals.handshake_final_state
+#define STATE session->internals.handshake_state
+#define FINAL_STATE session->internals.handshake_final_state
/* This returns true if we have got there
* before (and not finished due to an interrupt).
*/
-# define AGAIN(target) (STATE==target?1:0)
-# define FAGAIN(target) (FINAL_STATE==target?1:0)
-# define AGAIN2(state, target) (state==target?1:0)
+#define AGAIN(target) (STATE == target ? 1 : 0)
+#define FAGAIN(target) (FINAL_STATE == target ? 1 : 0)
+#define AGAIN2(state, target) (state == target ? 1 : 0)
/* return the remaining time in ms */
inline static int handshake_remaining_time(gnutls_session_t session)
@@ -125,9 +137,9 @@ inline static int handshake_remaining_time(gnutls_session_t session)
if (now.tv_sec < end->tv_sec ||
(now.tv_sec == end->tv_sec && now.tv_nsec < end->tv_nsec)) {
long long now_ms =
- now.tv_sec * 1000LL + now.tv_nsec / 1000000;
+ now.tv_sec * 1000LL + now.tv_nsec / 1000000;
long long end_ms =
- end->tv_sec * 1000LL + end->tv_nsec / 1000000;
+ end->tv_sec * 1000LL + end->tv_nsec / 1000000;
return end_ms - now_ms;
} else
@@ -151,18 +163,18 @@ inline static unsigned have_creds_for_tls13(gnutls_session_t session)
}
int _gnutls_handshake_get_session_hash(gnutls_session_t session,
- gnutls_datum_t * shash);
+ gnutls_datum_t *shash);
int _gnutls_check_id_for_change(gnutls_session_t session);
int _gnutls_check_if_cert_hash_is_same(gnutls_session_t session,
gnutls_certificate_credentials_t cred);
-# include "handshake-defs.h"
+#include "handshake-defs.h"
int _gnutls_call_hook_func(gnutls_session_t session,
- gnutls_handshake_description_t type,
- int post, unsigned incoming,
- const uint8_t * data, unsigned data_size);
+ gnutls_handshake_description_t type, int post,
+ unsigned incoming, const uint8_t *data,
+ unsigned data_size);
int _gnutls_run_verify_callback(gnutls_session_t session, unsigned int side);
int _gnutls_recv_finished(gnutls_session_t session);
@@ -171,10 +183,9 @@ int _gnutls_send_finished(gnutls_session_t session, int again);
int _gnutls13_handshake_client(gnutls_session_t session);
int _gnutls13_handshake_server(gnutls_session_t session);
-int
-_gnutls13_recv_hello_retry_request(gnutls_session_t session,
- gnutls_buffer_st * buf);
+int _gnutls13_recv_hello_retry_request(gnutls_session_t session,
+ gnutls_buffer_st *buf);
int _gnutls13_recv_async_handshake(gnutls_session_t session);
-#endif /* GNUTLS_LIB_HANDSHAKE_H */
+#endif /* GNUTLS_LIB_HANDSHAKE_H */
diff --git a/lib/hash_int.c b/lib/hash_int.c
index e4652fa1a4..a9f016de6c 100644
--- a/lib/hash_int.c
+++ b/lib/hash_int.c
@@ -30,7 +30,7 @@
#include <algorithms.h>
#include <fips.h>
-int _gnutls_hash_init(digest_hd_st * dig, const mac_entry_st * e)
+int _gnutls_hash_init(digest_hd_st *dig, const mac_entry_st *e)
{
int result;
const gnutls_crypto_digest_st *cc = NULL;
@@ -44,9 +44,9 @@ int _gnutls_hash_init(digest_hd_st * dig, const mac_entry_st * e)
/* check if a digest has been registered
*/
- cc = _gnutls_get_crypto_digest((gnutls_digest_algorithm_t) e->id);
+ cc = _gnutls_get_crypto_digest((gnutls_digest_algorithm_t)e->id);
if (cc != NULL && cc->init) {
- if (cc->init((gnutls_digest_algorithm_t) e->id, &dig->handle) <
+ if (cc->init((gnutls_digest_algorithm_t)e->id, &dig->handle) <
0) {
gnutls_assert();
return GNUTLS_E_HASH_FAILED;
@@ -60,9 +60,8 @@ int _gnutls_hash_init(digest_hd_st * dig, const mac_entry_st * e)
return 0;
}
- result =
- _gnutls_digest_ops.init((gnutls_digest_algorithm_t) e->id,
- &dig->handle);
+ result = _gnutls_digest_ops.init((gnutls_digest_algorithm_t)e->id,
+ &dig->handle);
if (result < 0) {
gnutls_assert();
return result;
@@ -93,12 +92,12 @@ int _gnutls_digest_exists(gnutls_digest_algorithm_t algo)
return _gnutls_digest_ops.exists(algo);
}
-int _gnutls_hash_copy(const digest_hd_st * handle, digest_hd_st * dst)
+int _gnutls_hash_copy(const digest_hd_st *handle, digest_hd_st *dst)
{
if (handle->copy == NULL)
return gnutls_assert_val(GNUTLS_E_HASH_FAILED);
- *dst = *handle; /* copy data */
+ *dst = *handle; /* copy data */
dst->handle = handle->copy(handle->handle);
if (dst->handle == NULL)
@@ -107,7 +106,7 @@ int _gnutls_hash_copy(const digest_hd_st * handle, digest_hd_st * dst)
return 0;
}
-void _gnutls_hash_deinit(digest_hd_st * handle, void *digest)
+void _gnutls_hash_deinit(digest_hd_st *handle, void *digest)
{
if (handle->handle == NULL) {
return;
@@ -120,9 +119,8 @@ void _gnutls_hash_deinit(digest_hd_st * handle, void *digest)
handle->handle = NULL;
}
-int
-_gnutls_hash_fast(gnutls_digest_algorithm_t algorithm,
- const void *text, size_t textlen, void *digest)
+int _gnutls_hash_fast(gnutls_digest_algorithm_t algorithm, const void *text,
+ size_t textlen, void *digest)
{
int ret;
const gnutls_crypto_digest_st *cc = NULL;
@@ -152,9 +150,8 @@ _gnutls_hash_fast(gnutls_digest_algorithm_t algorithm,
/* HMAC interface */
-int
-_gnutls_mac_fast(gnutls_mac_algorithm_t algorithm, const void *key,
- int keylen, const void *text, size_t textlen, void *digest)
+int _gnutls_mac_fast(gnutls_mac_algorithm_t algorithm, const void *key,
+ int keylen, const void *text, size_t textlen, void *digest)
{
int ret;
const gnutls_crypto_mac_st *cc = NULL;
@@ -174,16 +171,14 @@ _gnutls_mac_fast(gnutls_mac_algorithm_t algorithm, const void *key,
return 0;
}
- ret =
- _gnutls_mac_ops.fast(algorithm, NULL, 0, key, keylen, text,
- textlen, digest);
+ ret = _gnutls_mac_ops.fast(algorithm, NULL, 0, key, keylen, text,
+ textlen, digest);
if (ret < 0) {
gnutls_assert();
return ret;
}
return 0;
-
}
/* Returns true(non-zero) or false(0) if the
@@ -207,9 +202,8 @@ int _gnutls_mac_exists(gnutls_mac_algorithm_t algo)
return _gnutls_mac_ops.exists(algo);
}
-int
-_gnutls_mac_init(mac_hd_st * mac, const mac_entry_st * e,
- const void *key, int keylen)
+int _gnutls_mac_init(mac_hd_st *mac, const mac_entry_st *e, const void *key,
+ int keylen)
{
int result;
const gnutls_crypto_mac_st *cc = NULL;
@@ -269,12 +263,12 @@ _gnutls_mac_init(mac_hd_st * mac, const mac_entry_st * e,
return 0;
}
-int _gnutls_mac_copy(const mac_hd_st * handle, mac_hd_st * dst)
+int _gnutls_mac_copy(const mac_hd_st *handle, mac_hd_st *dst)
{
if (handle->copy == NULL)
return gnutls_assert_val(GNUTLS_E_HASH_FAILED);
- *dst = *handle; /* copy data */
+ *dst = *handle; /* copy data */
dst->handle = handle->copy(handle->handle);
if (dst->handle == NULL)
@@ -283,7 +277,7 @@ int _gnutls_mac_copy(const mac_hd_st * handle, mac_hd_st * dst)
return 0;
}
-void _gnutls_mac_deinit(mac_hd_st * handle, void *digest)
+void _gnutls_mac_deinit(mac_hd_st *handle, void *digest)
{
if (handle->handle == NULL) {
return;
@@ -312,9 +306,8 @@ inline static int get_padsize(gnutls_mac_algorithm_t algorithm)
/* Special functions for SSL3 MAC
*/
-int
-_gnutls_mac_init_ssl3(digest_hd_st * ret, const mac_entry_st * e,
- void *key, int keylen)
+int _gnutls_mac_init_ssl3(digest_hd_st *ret, const mac_entry_st *e, void *key,
+ int keylen)
{
uint8_t ipad[48];
int padsize, result;
@@ -345,7 +338,7 @@ _gnutls_mac_init_ssl3(digest_hd_st * ret, const mac_entry_st * e,
return 0;
}
-int _gnutls_mac_output_ssl3(digest_hd_st * handle, void *digest)
+int _gnutls_mac_output_ssl3(digest_hd_st *handle, void *digest)
{
uint8_t ret[MAX_HASH_SIZE];
digest_hd_st td;
@@ -372,7 +365,7 @@ int _gnutls_mac_output_ssl3(digest_hd_st * handle, void *digest)
_gnutls_hash(&td, opad, padsize);
block = _gnutls_mac_get_algo_len(handle->e);
- _gnutls_hash_output(handle, ret); /* get the previous hash */
+ _gnutls_hash_output(handle, ret); /* get the previous hash */
_gnutls_hash(&td, ret, block);
_gnutls_hash_deinit(&td, digest);
@@ -387,7 +380,7 @@ int _gnutls_mac_output_ssl3(digest_hd_st * handle, void *digest)
return 0;
}
-int _gnutls_mac_deinit_ssl3(digest_hd_st * handle, void *digest)
+int _gnutls_mac_deinit_ssl3(digest_hd_st *handle, void *digest)
{
int ret = 0;
@@ -398,10 +391,8 @@ int _gnutls_mac_deinit_ssl3(digest_hd_st * handle, void *digest)
return ret;
}
-int
-_gnutls_mac_deinit_ssl3_handshake(digest_hd_st * handle,
- void *digest, uint8_t * key,
- uint32_t key_size)
+int _gnutls_mac_deinit_ssl3_handshake(digest_hd_st *handle, void *digest,
+ uint8_t *key, uint32_t key_size)
{
uint8_t ret[MAX_HASH_SIZE];
digest_hd_st td;
@@ -435,7 +426,7 @@ _gnutls_mac_deinit_ssl3_handshake(digest_hd_st * handle,
if (key_size > 0)
_gnutls_hash(handle, key, key_size);
_gnutls_hash(handle, ipad, padsize);
- _gnutls_hash_deinit(handle, ret); /* get the previous hash */
+ _gnutls_hash_deinit(handle, ret); /* get the previous hash */
_gnutls_hash(&td, ret, block);
@@ -443,14 +434,13 @@ _gnutls_mac_deinit_ssl3_handshake(digest_hd_st * handle,
return 0;
- cleanup:
+cleanup:
_gnutls_hash_deinit(handle, NULL);
return rc;
}
-static int
-ssl3_sha(int i, uint8_t * secret, int secret_len,
- uint8_t * rnd, int rnd_len, void *digest)
+static int ssl3_sha(int i, uint8_t *secret, int secret_len, uint8_t *rnd,
+ int rnd_len, void *digest)
{
int j, ret;
uint8_t text1[26];
@@ -458,7 +448,7 @@ ssl3_sha(int i, uint8_t * secret, int secret_len,
digest_hd_st td;
for (j = 0; j < i + 1; j++) {
- text1[j] = 65 + i; /* A==65 */
+ text1[j] = 65 + i; /* A==65 */
}
ret = _gnutls_hash_init(&td, mac_to_entry(GNUTLS_MAC_SHA1));
@@ -475,12 +465,11 @@ ssl3_sha(int i, uint8_t * secret, int secret_len,
return 0;
}
-# define SHA1_DIGEST_OUTPUT 20
-# define MD5_DIGEST_OUTPUT 16
+#define SHA1_DIGEST_OUTPUT 20
+#define MD5_DIGEST_OUTPUT 16
-static int
-ssl3_md5(int i, uint8_t * secret, int secret_len,
- uint8_t * rnd, int rnd_len, void *digest)
+static int ssl3_md5(int i, uint8_t *secret, int secret_len, uint8_t *rnd,
+ int rnd_len, void *digest)
{
uint8_t tmp[MAX_HASH_SIZE];
digest_hd_st td;
@@ -507,10 +496,8 @@ ssl3_md5(int i, uint8_t * secret, int secret_len,
return 0;
}
-int
-_gnutls_ssl3_generate_random(void *secret, int secret_len,
- void *rnd, int rnd_len,
- int ret_bytes, uint8_t * ret)
+int _gnutls_ssl3_generate_random(void *secret, int secret_len, void *rnd,
+ int rnd_len, int ret_bytes, uint8_t *ret)
{
int i = 0, copy, output_bytes;
uint8_t digest[MAX_HASH_SIZE];
@@ -520,13 +507,11 @@ _gnutls_ssl3_generate_random(void *secret, int secret_len,
output_bytes = 0;
do {
output_bytes += block;
- }
- while (output_bytes < ret_bytes);
+ } while (output_bytes < ret_bytes);
times = output_bytes / block;
for (i = 0; i < times; i++) {
-
result = ssl3_md5(i, secret, secret_len, rnd, rnd_len, digest);
if (result < 0) {
gnutls_assert();
@@ -536,7 +521,7 @@ _gnutls_ssl3_generate_random(void *secret, int secret_len,
if ((1 + i) * block < ret_bytes) {
copy = block;
} else {
- copy = ret_bytes - (i) * block;
+ copy = ret_bytes - (i)*block;
}
memcpy(&ret[i * block], digest, copy);
diff --git a/lib/hash_int.h b/lib/hash_int.h
index 9dda108eee..d9a79c9524 100644
--- a/lib/hash_int.h
+++ b/lib/hash_int.h
@@ -21,12 +21,12 @@
*/
#ifndef GNUTLS_LIB_HASH_INT_H
-# define GNUTLS_LIB_HASH_INT_H
+#define GNUTLS_LIB_HASH_INT_H
-# include "gnutls_int.h"
-# include <gnutls/crypto.h>
-# include <crypto-backend.h>
-# include <crypto.h>
+#include "gnutls_int.h"
+#include <gnutls/crypto.h>
+#include <crypto-backend.h>
+#include <crypto.h>
/* for message digests */
@@ -50,7 +50,7 @@ typedef struct {
hash_deinit_func deinit;
copy_func copy;
- const void *key; /* esoteric use by SSL3 MAC functions */
+ const void *key; /* esoteric use by SSL3 MAC functions */
int keysize;
void *handle;
@@ -74,17 +74,17 @@ typedef struct {
int _gnutls_digest_exists(gnutls_digest_algorithm_t algo);
int _gnutls_mac_exists(gnutls_mac_algorithm_t algorithm);
-int _gnutls_mac_init(mac_hd_st *, const mac_entry_st * e,
- const void *key, int keylen);
+int _gnutls_mac_init(mac_hd_st *, const mac_entry_st *e, const void *key,
+ int keylen);
-int _gnutls_mac_copy(const mac_hd_st * handle, mac_hd_st * dst);
+int _gnutls_mac_copy(const mac_hd_st *handle, mac_hd_st *dst);
int _gnutls_mac_fast(gnutls_mac_algorithm_t algorithm, const void *key,
int keylen, const void *text, size_t textlen,
void *digest);
-inline static int
-_gnutls_mac(mac_hd_st * handle, const void *text, size_t textlen)
+inline static int _gnutls_mac(mac_hd_st *handle, const void *text,
+ size_t textlen)
{
if (textlen > 0) {
return handle->hash(handle->handle, text, textlen);
@@ -92,34 +92,34 @@ _gnutls_mac(mac_hd_st * handle, const void *text, size_t textlen)
return 0;
}
-inline static void _gnutls_mac_output(mac_hd_st * handle, void *digest)
+inline static void _gnutls_mac_output(mac_hd_st *handle, void *digest)
{
if (digest != NULL) {
handle->output(handle->handle, digest, handle->mac_len);
}
}
-inline static int
-_gnutls_mac_set_nonce(mac_hd_st * handle, const void *nonce, size_t n_size)
+inline static int _gnutls_mac_set_nonce(mac_hd_st *handle, const void *nonce,
+ size_t n_size)
{
if (handle->setnonce)
return handle->setnonce(handle->handle, nonce, n_size);
return 0;
}
-inline static int
-_gnutls_mac_setkey(mac_hd_st * handle, const void *key, size_t key_size)
+inline static int _gnutls_mac_setkey(mac_hd_st *handle, const void *key,
+ size_t key_size)
{
return handle->setkey(handle->handle, key, key_size);
}
-void _gnutls_mac_deinit(mac_hd_st * handle, void *digest);
+void _gnutls_mac_deinit(mac_hd_st *handle, void *digest);
/* Hash interface */
-int _gnutls_hash_init(digest_hd_st *, const mac_entry_st * e);
+int _gnutls_hash_init(digest_hd_st *, const mac_entry_st *e);
-inline static int
-_gnutls_hash(digest_hd_st * handle, const void *text, size_t textlen)
+inline static int _gnutls_hash(digest_hd_st *handle, const void *text,
+ size_t textlen)
{
if (textlen > 0) {
return handle->hash(handle->handle, text, textlen);
@@ -129,31 +129,29 @@ _gnutls_hash(digest_hd_st * handle, const void *text, size_t textlen)
/* when the current output is needed without calling deinit
*/
-# define _gnutls_hash_output(h, d) \
- (h)->output((h)->handle, d, _gnutls_hash_get_algo_len((h)->e))
+#define _gnutls_hash_output(h, d) \
+ (h)->output((h)->handle, d, _gnutls_hash_get_algo_len((h)->e))
-void _gnutls_hash_deinit(digest_hd_st * handle, void *digest);
+void _gnutls_hash_deinit(digest_hd_st *handle, void *digest);
-int _gnutls_hash_copy(const digest_hd_st * handle, digest_hd_st * dst);
+int _gnutls_hash_copy(const digest_hd_st *handle, digest_hd_st *dst);
-int
-_gnutls_hash_fast(gnutls_digest_algorithm_t algorithm,
- const void *text, size_t textlen, void *digest);
+int _gnutls_hash_fast(gnutls_digest_algorithm_t algorithm, const void *text,
+ size_t textlen, void *digest);
-# ifdef ENABLE_SSL3
+#ifdef ENABLE_SSL3
/* helper functions */
-int _gnutls_mac_init_ssl3(digest_hd_st *, const mac_entry_st * e,
- void *key, int keylen);
-int _gnutls_mac_deinit_ssl3(digest_hd_st * handle, void *digest);
-int _gnutls_mac_output_ssl3(digest_hd_st * handle, void *digest);
+int _gnutls_mac_init_ssl3(digest_hd_st *, const mac_entry_st *e, void *key,
+ int keylen);
+int _gnutls_mac_deinit_ssl3(digest_hd_st *handle, void *digest);
+int _gnutls_mac_output_ssl3(digest_hd_st *handle, void *digest);
-int _gnutls_ssl3_generate_random(void *secret, int secret_len,
- void *rnd, int random_len, int bytes,
- uint8_t * ret);
+int _gnutls_ssl3_generate_random(void *secret, int secret_len, void *rnd,
+ int random_len, int bytes, uint8_t *ret);
-int _gnutls_mac_deinit_ssl3_handshake(digest_hd_st * handle, void *digest,
- uint8_t * key, uint32_t key_size);
-# endif
+int _gnutls_mac_deinit_ssl3_handshake(digest_hd_st *handle, void *digest,
+ uint8_t *key, uint32_t key_size);
+#endif
inline static int IS_SHA(gnutls_digest_algorithm_t algo)
{
@@ -164,4 +162,4 @@ inline static int IS_SHA(gnutls_digest_algorithm_t algo)
return 0;
}
-#endif /* GNUTLS_LIB_HASH_INT_H */
+#endif /* GNUTLS_LIB_HASH_INT_H */
diff --git a/lib/hello_ext.c b/lib/hello_ext.c
index a2159429a0..65ae1c5213 100644
--- a/lib/hello_ext.c
+++ b/lib/hello_ext.c
@@ -60,9 +60,8 @@
#include <ext/compress_certificate.h>
#include "intprops.h"
-static void
-unset_ext_data(gnutls_session_t session, const struct hello_ext_entry_st *,
- unsigned idx);
+static void unset_ext_data(gnutls_session_t session,
+ const struct hello_ext_entry_st *, unsigned idx);
static void unset_resumed_ext_data(gnutls_session_t session,
const struct hello_ext_entry_st *,
@@ -89,7 +88,7 @@ static hello_ext_entry_st const *extfunc[MAX_EXT_TYPES + 1] = {
[GNUTLS_EXTENSION_SERVER_CERT_TYPE] = &ext_mod_server_cert_type,
[GNUTLS_EXTENSION_SUPPORTED_GROUPS] = &ext_mod_supported_groups,
[GNUTLS_EXTENSION_SUPPORTED_EC_POINT_FORMATS] =
- &ext_mod_supported_ec_point_formats,
+ &ext_mod_supported_ec_point_formats,
[GNUTLS_EXTENSION_SIGNATURE_ALGORITHMS] = &ext_mod_sig,
[GNUTLS_EXTENSION_KEY_SHARE] = &ext_mod_key_share,
[GNUTLS_EXTENSION_COOKIE] = &ext_mod_cookie,
@@ -126,10 +125,9 @@ static const hello_ext_entry_st *gid_to_ext_entry(gnutls_session_t session,
return extfunc[id];
}
-static const hello_ext_entry_st *tls_id_to_ext_entry(gnutls_session_t session,
- uint16_t tls_id,
- gnutls_ext_parse_type_t
- parse_point)
+static const hello_ext_entry_st *
+tls_id_to_ext_entry(gnutls_session_t session, uint16_t tls_id,
+ gnutls_ext_parse_type_t parse_point)
{
unsigned i;
const hello_ext_entry_st *e;
@@ -152,10 +150,10 @@ static const hello_ext_entry_st *tls_id_to_ext_entry(gnutls_session_t session,
}
return NULL;
- done:
- if (parse_point == GNUTLS_EXT_ANY
- || (IS_SERVER(session) && e->server_parse_point == parse_point)
- || (!IS_SERVER(session) && e->client_parse_point == parse_point)) {
+done:
+ if (parse_point == GNUTLS_EXT_ANY ||
+ (IS_SERVER(session) && e->server_parse_point == parse_point) ||
+ (!IS_SERVER(session) && e->client_parse_point == parse_point)) {
return e;
} else {
return NULL;
@@ -212,13 +210,12 @@ typedef struct hello_ext_ctx_st {
gnutls_session_t session;
gnutls_ext_flags_t msg;
gnutls_ext_parse_type_t parse_point;
- const hello_ext_entry_st *ext; /* used during send */
+ const hello_ext_entry_st *ext; /* used during send */
unsigned seen_pre_shared_key;
} hello_ext_ctx_st;
-static
-int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t * data,
- unsigned data_size)
+static int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t *data,
+ unsigned data_size)
{
hello_ext_ctx_st *ctx = _ctx;
gnutls_session_t session = ctx->session;
@@ -227,8 +224,8 @@ int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t * data,
if (tls_id == PRE_SHARED_KEY_TLS_ID) {
ctx->seen_pre_shared_key = 1;
- } else if (ctx->seen_pre_shared_key
- && session->security_parameters.entity == GNUTLS_SERVER) {
+ } else if (ctx->seen_pre_shared_key &&
+ session->security_parameters.entity == GNUTLS_SERVER) {
/* the pre-shared key extension must always be the last one,
* draft-ietf-tls-tls13-28: 4.2.11 */
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
@@ -256,34 +253,31 @@ int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t * data,
if (session->security_parameters.entity == GNUTLS_CLIENT) {
if (!(ext->validity & GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST) &&
!_gnutls_hello_ext_is_present(session, ext->gid)) {
- _gnutls_debug_log
- ("EXT[%p]: Received unexpected extension '%s/%d'\n",
- session, ext->name, (int)tls_id);
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ _gnutls_debug_log(
+ "EXT[%p]: Received unexpected extension '%s/%d'\n",
+ session, ext->name, (int)tls_id);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
}
if ((ext->validity & ctx->msg) == 0) {
- _gnutls_debug_log
- ("EXT[%p]: Received unexpected extension (%s/%d) for '%s'\n",
- session, ext->name, (int)tls_id,
- ext_msg_validity_to_str(ctx->msg));
+ _gnutls_debug_log(
+ "EXT[%p]: Received unexpected extension (%s/%d) for '%s'\n",
+ session, ext->name, (int)tls_id,
+ ext_msg_validity_to_str(ctx->msg));
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
if (session->security_parameters.entity == GNUTLS_SERVER) {
ret = _gnutls_hello_ext_save(session, ext->gid, 1);
if (ret == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
- _gnutls_handshake_log
- ("EXT[%p]: Parsing extension '%s/%d' (%d bytes)\n",
- session, ext->name, (int)tls_id, data_size);
+ _gnutls_handshake_log("EXT[%p]: Parsing extension '%s/%d' (%d bytes)\n",
+ session, ext->name, (int)tls_id, data_size);
_gnutls_ext_set_msg(session, ctx->msg);
if ((ret = ext->recv_func(session, data, data_size)) < 0) {
@@ -293,20 +287,18 @@ int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t * data,
return 0;
- ignore:
+ignore:
if (ext) {
- _gnutls_handshake_log
- ("EXT[%p]: Ignoring extension '%s/%d'\n", session,
- ext->name, (int)tls_id);
+ _gnutls_handshake_log("EXT[%p]: Ignoring extension '%s/%d'\n",
+ session, ext->name, (int)tls_id);
}
return 0;
}
-int
-_gnutls_parse_hello_extensions(gnutls_session_t session,
- gnutls_ext_flags_t msg,
- gnutls_ext_parse_type_t parse_point,
- const uint8_t * data, int data_size)
+int _gnutls_parse_hello_extensions(gnutls_session_t session,
+ gnutls_ext_flags_t msg,
+ gnutls_ext_parse_type_t parse_point,
+ const uint8_t *data, int data_size)
{
int ret;
hello_ext_ctx_st ctx;
@@ -325,8 +317,7 @@ _gnutls_parse_hello_extensions(gnutls_session_t session,
return 0;
}
-static
-int hello_ext_send(void *_ctx, gnutls_buffer_st * buf)
+static int hello_ext_send(void *_ctx, gnutls_buffer_st *buf)
{
hello_ext_ctx_st *ctx = _ctx;
int ret;
@@ -339,9 +330,9 @@ int hello_ext_send(void *_ctx, gnutls_buffer_st * buf)
return 0;
if (ctx->parse_point != GNUTLS_EXT_ANY &&
- ((IS_SERVER(session) && p->server_parse_point != ctx->parse_point)
- || (!IS_SERVER(session)
- && p->client_parse_point != ctx->parse_point))) {
+ ((IS_SERVER(session) && p->server_parse_point != ctx->parse_point) ||
+ (!IS_SERVER(session) &&
+ p->client_parse_point != ctx->parse_point))) {
return 0;
}
@@ -360,10 +351,10 @@ int hello_ext_send(void *_ctx, gnutls_buffer_st * buf)
if ((ctx->msg & p->validity) == 0) {
goto skip;
} else {
- _gnutls_handshake_log
- ("EXT[%p]: Preparing extension (%s/%d) for '%s'\n", session,
- p->name, (int)p->tls_id,
- ext_msg_validity_to_str(ctx->msg));
+ _gnutls_handshake_log(
+ "EXT[%p]: Preparing extension (%s/%d) for '%s'\n",
+ session, p->name, (int)p->tls_id,
+ ext_msg_validity_to_str(ctx->msg));
}
/* ensure we don't send something twice (i.e, overridden extensions in
@@ -372,11 +363,11 @@ int hello_ext_send(void *_ctx, gnutls_buffer_st * buf)
if (session->security_parameters.entity == GNUTLS_SERVER) {
/* if client didn't advertise and the override flag is not present */
- if (!(p->validity & GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST)
- && ret == 0)
+ if (!(p->validity & GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST) &&
+ ret == 0)
return 0;
} else {
- if (ret != 0) /* already sent */
+ if (ret != 0) /* already sent */
return 0;
}
@@ -395,28 +386,26 @@ int hello_ext_send(void *_ctx, gnutls_buffer_st * buf)
*/
if ((appended > 0 || ret == GNUTLS_E_INT_RET_0) &&
session->security_parameters.entity == GNUTLS_CLIENT) {
-
_gnutls_hello_ext_save(session, p->gid, 0);
}
return ret;
- skip:
- _gnutls_handshake_log
- ("EXT[%p]: Not sending extension (%s/%d) for '%s'\n", session,
- p->name, (int)p->tls_id, ext_msg_validity_to_str(ctx->msg));
+skip:
+ _gnutls_handshake_log(
+ "EXT[%p]: Not sending extension (%s/%d) for '%s'\n", session,
+ p->name, (int)p->tls_id, ext_msg_validity_to_str(ctx->msg));
return 0;
}
-static inline void swap_exts(extensions_t * exts, size_t index1, size_t index2)
+static inline void swap_exts(extensions_t *exts, size_t index1, size_t index2)
{
extensions_t temp = exts[index1];
exts[index1] = exts[index2];
exts[index2] = temp;
}
-static
-int shuffle_exts(extensions_t * exts, size_t size)
+static int shuffle_exts(extensions_t *exts, size_t size)
{
uint8_t permutation[MAX_EXT_TYPES];
size_t i;
@@ -439,11 +428,9 @@ int shuffle_exts(extensions_t * exts, size_t size)
return 0;
}
-int
-_gnutls_gen_hello_extensions(gnutls_session_t session,
- gnutls_buffer_st * buf,
- gnutls_ext_flags_t msg,
- gnutls_ext_parse_type_t parse_point)
+int _gnutls_gen_hello_extensions(gnutls_session_t session,
+ gnutls_buffer_st *buf, gnutls_ext_flags_t msg,
+ gnutls_ext_parse_type_t parse_point)
{
int pos, ret;
size_t i;
@@ -466,17 +453,17 @@ _gnutls_gen_hello_extensions(gnutls_session_t session,
for (i = 0; i < session->internals.rexts_size; i++) {
ctx.ext = &session->internals.rexts[i];
- ret =
- _gnutls_extv_append(buf, session->internals.rexts[i].tls_id,
- &ctx, hello_ext_send);
+ ret = _gnutls_extv_append(buf,
+ session->internals.rexts[i].tls_id,
+ &ctx, hello_ext_send);
if (ret < 0)
return gnutls_assert_val(ret);
if (ret > 0)
- _gnutls_handshake_log
- ("EXT[%p]: Sending extension %s/%d (%d bytes)\n",
- session, ctx.ext->name, (int)ctx.ext->tls_id,
- ret - 4);
+ _gnutls_handshake_log(
+ "EXT[%p]: Sending extension %s/%d (%d bytes)\n",
+ session, ctx.ext->name, (int)ctx.ext->tls_id,
+ ret - 4);
}
/* Initializing extensions array */
@@ -503,16 +490,16 @@ _gnutls_gen_hello_extensions(gnutls_session_t session,
continue;
ctx.ext = extfunc[ii];
- ret = _gnutls_extv_append(buf, extfunc[ii]->tls_id,
- &ctx, hello_ext_send);
+ ret = _gnutls_extv_append(buf, extfunc[ii]->tls_id, &ctx,
+ hello_ext_send);
if (ret < 0)
return gnutls_assert_val(ret);
if (ret > 0)
- _gnutls_handshake_log
- ("EXT[%p]: Sending extension %s/%d (%d bytes)\n",
- session, ctx.ext->name, (int)ctx.ext->tls_id,
- ret - 4);
+ _gnutls_handshake_log(
+ "EXT[%p]: Sending extension %s/%d (%d bytes)\n",
+ session, ctx.ext->name, (int)ctx.ext->tls_id,
+ ret - 4);
}
ret = _gnutls_extv_append_final(buf, pos, !(msg & GNUTLS_EXT_FLAG_EE));
@@ -537,7 +524,7 @@ void _gnutls_hello_ext_deinit(void)
continue;
if (extfunc[i]->free_struct != 0) {
- gnutls_free(((hello_ext_entry_st *) extfunc[i])->name);
+ gnutls_free(((hello_ext_entry_st *)extfunc[i])->name);
gnutls_free(extfunc[i]);
}
}
@@ -545,8 +532,8 @@ void _gnutls_hello_ext_deinit(void)
/* Packing of extension data (for use in resumption) */
static int pack_extension(gnutls_session_t session,
- const hello_ext_entry_st * extp,
- gnutls_buffer_st * packed)
+ const hello_ext_entry_st *extp,
+ gnutls_buffer_st *packed)
{
int ret;
int size_offset;
@@ -578,7 +565,7 @@ static int pack_extension(gnutls_session_t session,
return rval;
}
-int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st * packed)
+int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st *packed)
{
unsigned int i;
int ret;
@@ -590,8 +577,7 @@ int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st * packed)
BUFFER_APPEND_NUM(packed, 0);
for (i = 0; i <= GNUTLS_EXTENSION_MAX_VALUE; i++) {
- if (session->internals.used_exts & ((ext_track_t) 1 << i)) {
-
+ if (session->internals.used_exts & ((ext_track_t)1 << i)) {
ext = gid_to_ext_entry(session, i);
if (ext == NULL)
continue;
@@ -611,7 +597,7 @@ int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st * packed)
}
int _gnutls_ext_set_full_client_hello(gnutls_session_t session,
- handshake_buffer_st * recv_buf)
+ handshake_buffer_st *recv_buf)
{
int ret;
gnutls_buffer_st *buf = &session->internals.full_client_hello;
@@ -620,19 +606,18 @@ int _gnutls_ext_set_full_client_hello(gnutls_session_t session,
if ((ret = _gnutls_buffer_append_prefix(buf, 8, recv_buf->htype)) < 0)
return gnutls_assert_val(ret);
- if ((ret =
- _gnutls_buffer_append_prefix(buf, 24, recv_buf->data.length)) < 0)
+ if ((ret = _gnutls_buffer_append_prefix(buf, 24,
+ recv_buf->data.length)) < 0)
return gnutls_assert_val(ret);
- if ((ret =
- _gnutls_buffer_append_data(buf, recv_buf->data.data,
- recv_buf->data.length)) < 0)
+ if ((ret = _gnutls_buffer_append_data(buf, recv_buf->data.data,
+ recv_buf->data.length)) < 0)
return gnutls_assert_val(ret);
return 0;
}
unsigned _gnutls_ext_get_full_client_hello(gnutls_session_t session,
- gnutls_datum_t * d)
+ gnutls_datum_t *d)
{
gnutls_buffer_st *buf = &session->internals.full_client_hello;
@@ -645,10 +630,9 @@ unsigned _gnutls_ext_get_full_client_hello(gnutls_session_t session,
return 1;
}
-static void
-_gnutls_ext_set_resumed_session_data(gnutls_session_t session,
- extensions_t id,
- gnutls_ext_priv_data_t data)
+static void _gnutls_ext_set_resumed_session_data(gnutls_session_t session,
+ extensions_t id,
+ gnutls_ext_priv_data_t data)
{
const struct hello_ext_entry_st *ext;
@@ -666,8 +650,7 @@ _gnutls_ext_set_resumed_session_data(gnutls_session_t session,
return;
}
-int _gnutls_hello_ext_unpack(gnutls_session_t session,
- gnutls_buffer_st * packed)
+int _gnutls_hello_ext_unpack(gnutls_session_t session, gnutls_buffer_st *packed)
{
int i, ret;
gnutls_ext_priv_data_t data;
@@ -697,7 +680,7 @@ int _gnutls_hello_ext_unpack(gnutls_session_t session,
/* verify that unpack read the correct bytes */
cur_pos = cur_pos - packed->length;
- if (cur_pos /* read length */ != size_for_id) {
+ if (cur_pos /* read length */ != size_for_id) {
gnutls_assert();
return GNUTLS_E_PARSING_ERROR;
}
@@ -707,19 +690,18 @@ int _gnutls_hello_ext_unpack(gnutls_session_t session,
return 0;
- error:
+error:
return ret;
}
-static void
-unset_ext_data(gnutls_session_t session, const struct hello_ext_entry_st *ext,
- unsigned idx)
+static void unset_ext_data(gnutls_session_t session,
+ const struct hello_ext_entry_st *ext, unsigned idx)
{
if (session->internals.ext_data[idx].set == 0)
return;
- if (ext && ext->deinit_func
- && session->internals.ext_data[idx].priv != NULL)
+ if (ext && ext->deinit_func &&
+ session->internals.ext_data[idx].priv != NULL)
ext->deinit_func(session->internals.ext_data[idx].priv);
session->internals.ext_data[idx].set = 0;
}
@@ -740,8 +722,8 @@ static void unset_resumed_ext_data(gnutls_session_t session,
if (session->internals.ext_data[idx].resumed_set == 0)
return;
- if (ext && ext->deinit_func
- && session->internals.ext_data[idx].resumed_priv) {
+ if (ext && ext->deinit_func &&
+ session->internals.ext_data[idx].resumed_priv) {
ext->deinit_func(session->internals.ext_data[idx].resumed_priv);
}
session->internals.ext_data[idx].resumed_set = 0;
@@ -755,8 +737,8 @@ void _gnutls_hello_ext_priv_deinit(gnutls_session_t session)
const struct hello_ext_entry_st *ext;
for (i = 0; i < MAX_EXT_TYPES; i++) {
- if (!session->internals.ext_data[i].set
- && !session->internals.ext_data[i].resumed_set)
+ if (!session->internals.ext_data[i].set &&
+ !session->internals.ext_data[i].resumed_set)
continue;
ext = gid_to_ext_entry(session, i);
@@ -771,9 +753,8 @@ void _gnutls_hello_ext_priv_deinit(gnutls_session_t session)
* and retrieve them later on. We use functions instead of a pointer to a
* private pointer, to allow API additions by individual extensions.
*/
-void
-_gnutls_hello_ext_set_priv(gnutls_session_t session, extensions_t id,
- gnutls_ext_priv_data_t data)
+void _gnutls_hello_ext_set_priv(gnutls_session_t session, extensions_t id,
+ gnutls_ext_priv_data_t data)
{
const struct hello_ext_entry_st *ext;
@@ -791,9 +772,8 @@ _gnutls_hello_ext_set_priv(gnutls_session_t session, extensions_t id,
return;
}
-int
-_gnutls_hello_ext_get_priv(gnutls_session_t session,
- extensions_t id, gnutls_ext_priv_data_t * data)
+int _gnutls_hello_ext_get_priv(gnutls_session_t session, extensions_t id,
+ gnutls_ext_priv_data_t *data)
{
if (session->internals.ext_data[id].set != 0) {
*data = session->internals.ext_data[id].priv;
@@ -803,10 +783,9 @@ _gnutls_hello_ext_get_priv(gnutls_session_t session,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
-int
-_gnutls_hello_ext_get_resumed_priv(gnutls_session_t session,
- extensions_t id,
- gnutls_ext_priv_data_t * data)
+int _gnutls_hello_ext_get_resumed_priv(gnutls_session_t session,
+ extensions_t id,
+ gnutls_ext_priv_data_t *data)
{
if (session->internals.ext_data[id].resumed_set != 0) {
*data = session->internals.ext_data[id].resumed_priv;
@@ -844,14 +823,13 @@ _gnutls_hello_ext_get_resumed_priv(gnutls_session_t session,
*
* Since: 3.4.0
**/
-int
-gnutls_ext_register(const char *name, int id,
- gnutls_ext_parse_type_t parse_point,
- gnutls_ext_recv_func recv_func,
- gnutls_ext_send_func send_func,
- gnutls_ext_deinit_data_func deinit_func,
- gnutls_ext_pack_func pack_func,
- gnutls_ext_unpack_func unpack_func)
+int gnutls_ext_register(const char *name, int id,
+ gnutls_ext_parse_type_t parse_point,
+ gnutls_ext_recv_func recv_func,
+ gnutls_ext_send_func send_func,
+ gnutls_ext_deinit_data_func deinit_func,
+ gnutls_ext_pack_func pack_func,
+ gnutls_ext_unpack_func unpack_func)
{
hello_ext_entry_st *tmp_mod;
unsigned i;
@@ -887,9 +865,10 @@ gnutls_ext_register(const char *name, int id,
tmp_mod->deinit_func = deinit_func;
tmp_mod->pack_func = pack_func;
tmp_mod->unpack_func = unpack_func;
- tmp_mod->validity =
- GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
- GNUTLS_EXT_FLAG_EE | GNUTLS_EXT_FLAG_DTLS | GNUTLS_EXT_FLAG_TLS;
+ tmp_mod->validity = GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_EE | GNUTLS_EXT_FLAG_DTLS |
+ GNUTLS_EXT_FLAG_TLS;
assert(extfunc[gid] == NULL);
extfunc[gid] = tmp_mod;
@@ -897,9 +876,10 @@ gnutls_ext_register(const char *name, int id,
return 0;
}
-#define VALIDITY_MASK (GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | \
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | \
- GNUTLS_EXT_FLAG_EE | GNUTLS_EXT_FLAG_HRR)
+#define VALIDITY_MASK \
+ (GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | \
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_EE | \
+ GNUTLS_EXT_FLAG_HRR)
/**
* gnutls_session_ext_register:
@@ -935,15 +915,14 @@ gnutls_ext_register(const char *name, int id,
*
* Since: 3.5.5
**/
-int
-gnutls_session_ext_register(gnutls_session_t session,
- const char *name, int id,
- gnutls_ext_parse_type_t parse_point,
- gnutls_ext_recv_func recv_func,
- gnutls_ext_send_func send_func,
- gnutls_ext_deinit_data_func deinit_func,
- gnutls_ext_pack_func pack_func,
- gnutls_ext_unpack_func unpack_func, unsigned flags)
+int gnutls_session_ext_register(gnutls_session_t session, const char *name,
+ int id, gnutls_ext_parse_type_t parse_point,
+ gnutls_ext_recv_func recv_func,
+ gnutls_ext_send_func send_func,
+ gnutls_ext_deinit_data_func deinit_func,
+ gnutls_ext_pack_func pack_func,
+ gnutls_ext_unpack_func unpack_func,
+ unsigned flags)
{
hello_ext_entry_st tmp_mod;
hello_ext_entry_st *exts;
@@ -958,13 +937,11 @@ gnutls_session_ext_register(gnutls_session_t session,
if (extfunc[i]->tls_id == id) {
if (!(flags & GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL)) {
- return
- gnutls_assert_val
- (GNUTLS_E_ALREADY_REGISTERED);
+ return gnutls_assert_val(
+ GNUTLS_E_ALREADY_REGISTERED);
} else if (extfunc[i]->cannot_be_overriden) {
- return
- gnutls_assert_val
- (GNUTLS_E_ALREADY_REGISTERED);
+ return gnutls_assert_val(
+ GNUTLS_E_ALREADY_REGISTERED);
}
break;
}
@@ -1000,9 +977,9 @@ gnutls_session_ext_register(gnutls_session_t session,
tmp_mod.validity = flags;
if ((tmp_mod.validity & VALIDITY_MASK) == 0) {
- tmp_mod.validity =
- GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | GNUTLS_EXT_FLAG_EE;
+ tmp_mod.validity = GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_EE;
}
if ((tmp_mod.validity & (GNUTLS_EXT_FLAG_DTLS | GNUTLS_EXT_FLAG_TLS)) ==
@@ -1045,9 +1022,8 @@ gnutls_session_ext_register(gnutls_session_t session,
*
* Since: 3.4.0
**/
-void
-gnutls_ext_set_data(gnutls_session_t session, unsigned tls_id,
- gnutls_ext_priv_data_t data)
+void gnutls_ext_set_data(gnutls_session_t session, unsigned tls_id,
+ gnutls_ext_priv_data_t data)
{
unsigned id = tls_id_to_gid(session, tls_id);
if (id == GNUTLS_EXTENSION_INVALID)
@@ -1068,9 +1044,8 @@ gnutls_ext_set_data(gnutls_session_t session, unsigned tls_id,
*
* Since: 3.4.0
**/
-int
-gnutls_ext_get_data(gnutls_session_t session,
- unsigned tls_id, gnutls_ext_priv_data_t * data)
+int gnutls_ext_get_data(gnutls_session_t session, unsigned tls_id,
+ gnutls_ext_priv_data_t *data)
{
unsigned id = tls_id_to_gid(session, tls_id);
if (id == GNUTLS_EXTENSION_INVALID)
diff --git a/lib/hello_ext.h b/lib/hello_ext.h
index aa342d9a9c..c7d28e2b71 100644
--- a/lib/hello_ext.h
+++ b/lib/hello_ext.h
@@ -22,20 +22,20 @@
*/
#ifndef GNUTLS_LIB_HELLO_EXT_H
-# define GNUTLS_LIB_HELLO_EXT_H
+#define GNUTLS_LIB_HELLO_EXT_H
-# include "gnutls_int.h"
-# include <gnutls/gnutls.h>
-# include "str.h"
+#include "gnutls_int.h"
+#include <gnutls/gnutls.h>
+#include "str.h"
/* Functions for hello extension parsing.
*/
int _gnutls_parse_hello_extensions(gnutls_session_t session,
gnutls_ext_flags_t msg,
gnutls_ext_parse_type_t parse_type,
- const uint8_t * data, int data_size);
+ const uint8_t *data, int data_size);
int _gnutls_gen_hello_extensions(gnutls_session_t session,
- gnutls_buffer_st * extdata,
+ gnutls_buffer_st *extdata,
gnutls_ext_flags_t msg,
gnutls_ext_parse_type_t);
int _gnutls_hello_ext_init(void);
@@ -52,14 +52,17 @@ int _gnutls_hello_ext_get_priv(gnutls_session_t session, extensions_t ext,
gnutls_ext_priv_data_t *);
int _gnutls_hello_ext_get_resumed_priv(gnutls_session_t session,
extensions_t ext,
- gnutls_ext_priv_data_t * data);
+ gnutls_ext_priv_data_t *data);
-# define GNUTLS_EXT_FLAG_MSG_MASK (GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO| \
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_EE | GNUTLS_EXT_FLAG_HRR)
+#define GNUTLS_EXT_FLAG_MSG_MASK \
+ (GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO | \
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO | GNUTLS_EXT_FLAG_EE | \
+ GNUTLS_EXT_FLAG_HRR)
/* these flags can only be set in the extensions, but cannot be requested;
* they are handled internally by the hello parsing/generating functions. */
-# define GNUTLS_EXT_FLAG_SET_ONLY_FLAGS_MASK ~(GNUTLS_EXT_FLAG_DTLS | GNUTLS_EXT_FLAG_TLS)
+#define GNUTLS_EXT_FLAG_SET_ONLY_FLAGS_MASK \
+ ~(GNUTLS_EXT_FLAG_DTLS | GNUTLS_EXT_FLAG_TLS)
/* obtain the message this extension was received at */
inline static gnutls_ext_flags_t _gnutls_ext_get_msg(gnutls_session_t session)
@@ -85,14 +88,14 @@ inline static int _gnutls_ext_get_extensions_offset(gnutls_session_t session)
}
int _gnutls_ext_set_full_client_hello(gnutls_session_t session,
- handshake_buffer_st * recv_buf);
+ handshake_buffer_st *recv_buf);
unsigned _gnutls_ext_get_full_client_hello(gnutls_session_t session,
- gnutls_datum_t * datum);
+ gnutls_datum_t *datum);
/* for session packing */
-int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st * packed);
+int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st *packed);
int _gnutls_hello_ext_unpack(gnutls_session_t session,
- gnutls_buffer_st * packed);
+ gnutls_buffer_st *packed);
inline static const char *ext_msg_validity_to_str(gnutls_ext_flags_t msg)
{
@@ -115,15 +118,15 @@ inline static const char *ext_msg_validity_to_str(gnutls_ext_flags_t msg)
}
typedef struct hello_ext_entry_st {
- const char *name; /* const overridden when free_struct is set */
+ const char *name; /* const overridden when free_struct is set */
unsigned free_struct;
uint16_t tls_id;
- unsigned gid; /* gnutls internal ID */
+ unsigned gid; /* gnutls internal ID */
gnutls_ext_parse_type_t client_parse_point;
gnutls_ext_parse_type_t server_parse_point;
- unsigned validity; /* multiple items of gnutls_ext_flags_t */
+ unsigned validity; /* multiple items of gnutls_ext_flags_t */
/* this function must return 0 when Not Applicable
* size of extension data if ok
@@ -138,11 +141,13 @@ typedef struct hello_ext_entry_st {
*/
gnutls_ext_send_func send_func;
- gnutls_ext_deinit_data_func deinit_func; /* this will be called to deinitialize
+ gnutls_ext_deinit_data_func
+ deinit_func; /* this will be called to deinitialize
* internal data
*/
- gnutls_ext_pack_func pack_func; /* packs internal data to machine independent format */
- gnutls_ext_unpack_func unpack_func; /* unpacks internal data */
+ gnutls_ext_pack_func
+ pack_func; /* packs internal data to machine independent format */
+ gnutls_ext_unpack_func unpack_func; /* unpacks internal data */
/* non-zero if that extension cannot be overridden by the applications.
* That should be set to extensions which allocate data early, e.g., on
@@ -157,10 +162,10 @@ typedef struct hello_ext_entry_st {
*
* It returns non-zero for true, otherwise zero.
*/
-inline static unsigned
-_gnutls_hello_ext_is_present(gnutls_session_t session, extensions_t id)
+inline static unsigned _gnutls_hello_ext_is_present(gnutls_session_t session,
+ extensions_t id)
{
- if (session->internals.used_exts & ((ext_track_t) 1 << id))
+ if (session->internals.used_exts & ((ext_track_t)1 << id))
return 1;
return 0;
@@ -175,23 +180,22 @@ _gnutls_hello_ext_is_present(gnutls_session_t session, extensions_t id)
*
* Returns zero if failed, non-zero on success.
*/
-inline static
-unsigned _gnutls_hello_ext_save(gnutls_session_t session,
- extensions_t id, unsigned check_dup)
+inline static unsigned _gnutls_hello_ext_save(gnutls_session_t session,
+ extensions_t id,
+ unsigned check_dup)
{
if (check_dup && _gnutls_hello_ext_is_present(session, id)) {
return 0;
}
- session->internals.used_exts |= ((ext_track_t) 1 << id);
+ session->internals.used_exts |= ((ext_track_t)1 << id);
return 1;
}
-inline static
-void _gnutls_hello_ext_save_sr(gnutls_session_t session)
+inline static void _gnutls_hello_ext_save_sr(gnutls_session_t session)
{
_gnutls_hello_ext_save(session, GNUTLS_EXTENSION_SAFE_RENEGOTIATION, 1);
}
-#endif /* GNUTLS_LIB_HELLO_EXT_H */
+#endif /* GNUTLS_LIB_HELLO_EXT_H */
diff --git a/lib/hello_ext_lib.c b/lib/hello_ext_lib.c
index 84023b6a6b..e1b8ea6f3b 100644
--- a/lib/hello_ext_lib.c
+++ b/lib/hello_ext_lib.c
@@ -37,9 +37,8 @@ void _gnutls_hello_ext_default_deinit(gnutls_ext_priv_data_t priv)
*
* This also prevents and errors on duplicate entries.
*/
-int
-_gnutls_hello_ext_set_datum(gnutls_session_t session,
- extensions_t id, const gnutls_datum_t * data)
+int _gnutls_hello_ext_set_datum(gnutls_session_t session, extensions_t id,
+ const gnutls_datum_t *data)
{
gnutls_ext_priv_data_t epriv;
@@ -54,17 +53,15 @@ _gnutls_hello_ext_set_datum(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
_gnutls_write_uint16(data->size, epriv);
- memcpy(((uint8_t *) epriv) + 2, data->data, data->size);
+ memcpy(((uint8_t *)epriv) + 2, data->data, data->size);
_gnutls_hello_ext_set_priv(session, id, epriv);
return 0;
}
-int
-_gnutls_hello_ext_get_datum(gnutls_session_t session,
- extensions_t id,
- gnutls_datum_t * data /* constant contents */ )
+int _gnutls_hello_ext_get_datum(gnutls_session_t session, extensions_t id,
+ gnutls_datum_t *data /* constant contents */)
{
gnutls_ext_priv_data_t epriv;
int ret;
@@ -74,16 +71,14 @@ _gnutls_hello_ext_get_datum(gnutls_session_t session,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
data->size = _gnutls_read_uint16(epriv);
- data->data = ((uint8_t *) epriv) + 2;
+ data->data = ((uint8_t *)epriv) + 2;
return 0;
}
-int
-_gnutls_hello_ext_get_resumed_datum(gnutls_session_t session,
- extensions_t id,
- gnutls_datum_t *
- data /* constant contents */ )
+int _gnutls_hello_ext_get_resumed_datum(
+ gnutls_session_t session, extensions_t id,
+ gnutls_datum_t *data /* constant contents */)
{
gnutls_ext_priv_data_t epriv;
int ret;
@@ -93,14 +88,13 @@ _gnutls_hello_ext_get_resumed_datum(gnutls_session_t session,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
data->size = _gnutls_read_uint16(epriv);
- data->data = ((uint8_t *) epriv) + 2;
+ data->data = ((uint8_t *)epriv) + 2;
return 0;
}
-int
-_gnutls_hello_ext_default_pack(gnutls_ext_priv_data_t epriv,
- gnutls_buffer_st * ps)
+int _gnutls_hello_ext_default_pack(gnutls_ext_priv_data_t epriv,
+ gnutls_buffer_st *ps)
{
size_t size;
@@ -109,9 +103,8 @@ _gnutls_hello_ext_default_pack(gnutls_ext_priv_data_t epriv,
return _gnutls_buffer_append_data(ps, epriv, size + 2);
}
-int
-_gnutls_hello_ext_default_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * epriv)
+int _gnutls_hello_ext_default_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *epriv)
{
gnutls_datum_t data;
uint8_t *store;
diff --git a/lib/hello_ext_lib.h b/lib/hello_ext_lib.h
index c0eb0655ca..35e0c85eba 100644
--- a/lib/hello_ext_lib.h
+++ b/lib/hello_ext_lib.h
@@ -21,32 +21,27 @@
*/
#ifndef GNUTLS_LIB_HELLO_EXT_LIB_H
-# define GNUTLS_LIB_HELLO_EXT_LIB_H
+#define GNUTLS_LIB_HELLO_EXT_LIB_H
-# include <gnutls/gnutls.h>
-# include "hello_ext.h"
+#include <gnutls/gnutls.h>
+#include "hello_ext.h"
/* Functions to use at the send() or recv() extension function to temporarily
* store and retrieve data related to the extension.
*/
-int
-_gnutls_hello_ext_set_datum(gnutls_session_t session,
- extensions_t id, const gnutls_datum_t * data);
-int
-_gnutls_hello_ext_get_datum(gnutls_session_t session,
- extensions_t id,
- gnutls_datum_t * data /* constant contents */ );
+int _gnutls_hello_ext_set_datum(gnutls_session_t session, extensions_t id,
+ const gnutls_datum_t *data);
+int _gnutls_hello_ext_get_datum(gnutls_session_t session, extensions_t id,
+ gnutls_datum_t *data /* constant contents */);
-int
-_gnutls_hello_ext_get_resumed_datum(gnutls_session_t session,
- extensions_t id,
- gnutls_datum_t *
- data /* constant contents */ );
+int _gnutls_hello_ext_get_resumed_datum(
+ gnutls_session_t session, extensions_t id,
+ gnutls_datum_t *data /* constant contents */);
/* clear up any set data for the extension */
-# if 0 /* defined in hello_ext.h */
+#if 0 /* defined in hello_ext.h */
void _gnutls_hello_ext_unset_priv(gnutls_session_t session, extensions_t id);
-# endif
+#endif
/* Function that will deinitialize the temporal data. Must be set
* as the deinit_func in the hello_ext_entry_st if the functions above
@@ -59,12 +54,10 @@ void _gnutls_hello_ext_default_deinit(gnutls_ext_priv_data_t priv);
* of hello_ext_entry_st if the set and get functions above are used,
* and data must be accessible on resumed sessions.
*/
-int
-_gnutls_hello_ext_default_pack(gnutls_ext_priv_data_t epriv,
- gnutls_buffer_st * ps);
+int _gnutls_hello_ext_default_pack(gnutls_ext_priv_data_t epriv,
+ gnutls_buffer_st *ps);
-int
-_gnutls_hello_ext_default_unpack(gnutls_buffer_st * ps,
- gnutls_ext_priv_data_t * epriv);
+int _gnutls_hello_ext_default_unpack(gnutls_buffer_st *ps,
+ gnutls_ext_priv_data_t *epriv);
-#endif /* GNUTLS_LIB_HELLO_EXT_LIB_H */
+#endif /* GNUTLS_LIB_HELLO_EXT_LIB_H */
diff --git a/lib/includes/gnutls/abstract.h b/lib/includes/gnutls/abstract.h
index b3c6ed969b..641d72012d 100644
--- a/lib/includes/gnutls/abstract.h
+++ b/lib/includes/gnutls/abstract.h
@@ -22,13 +22,13 @@
*/
#ifndef GNUTLS_ABSTRACT_H
-# define GNUTLS_ABSTRACT_H
+#define GNUTLS_ABSTRACT_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
-# include <gnutls/pkcs11.h>
-# include <gnutls/openpgp.h>
-# include <gnutls/tpm.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
+#include <gnutls/pkcs11.h>
+#include <gnutls/openpgp.h>
+#include <gnutls/tpm.h>
#ifdef __cplusplus
extern "C" {
@@ -36,7 +36,7 @@ extern "C" {
/* Public key operations */
-# define GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA
+#define GNUTLS_PUBKEY_VERIFY_FLAG_TLS_RSA GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA
/**
* gnutls_pubkey_flags:
* @GNUTLS_PUBKEY_DISABLE_CALLBACKS: The following flag disables call to PIN callbacks. Only
@@ -60,21 +60,19 @@ typedef enum gnutls_abstract_export_flags {
GNUTLS_EXPORT_FLAG_NO_LZ = 1
} gnutls_abstract_export_flags_t;
-# define GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA GNUTLS_VERIFY_USE_TLS1_RSA
+#define GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA GNUTLS_VERIFY_USE_TLS1_RSA
-typedef int (*gnutls_privkey_sign_func)(gnutls_privkey_t key,
- void *userdata,
- const gnutls_datum_t * raw_data,
- gnutls_datum_t * signature);
+typedef int (*gnutls_privkey_sign_func)(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *raw_data,
+ gnutls_datum_t *signature);
-typedef int (*gnutls_privkey_decrypt_func)(gnutls_privkey_t key,
- void *userdata,
- const gnutls_datum_t * ciphertext,
- gnutls_datum_t * plaintext);
+typedef int (*gnutls_privkey_decrypt_func)(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext);
typedef int (*gnutls_privkey_decrypt_func2)(gnutls_privkey_t key,
void *userdata,
- const gnutls_datum_t * ciphertext,
+ const gnutls_datum_t *ciphertext,
unsigned char *plaintext,
size_t plaintext_size);
@@ -86,10 +84,9 @@ typedef int (*gnutls_privkey_decrypt_func2)(gnutls_privkey_t key,
*/
typedef int (*gnutls_privkey_sign_hash_func)(gnutls_privkey_t key,
gnutls_sign_algorithm_t algo,
- void *userdata,
- unsigned int flags,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature);
+ void *userdata, unsigned int flags,
+ const gnutls_datum_t *hash,
+ gnutls_datum_t *signature);
/* to be called to sign data. The input data will be
* the data to be signed (and hashed), with the provided
@@ -98,34 +95,33 @@ typedef int (*gnutls_privkey_sign_hash_func)(gnutls_privkey_t key,
*/
typedef int (*gnutls_privkey_sign_data_func)(gnutls_privkey_t key,
gnutls_sign_algorithm_t algo,
- void *userdata,
- unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature);
+ void *userdata, unsigned int flags,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature);
typedef void (*gnutls_privkey_deinit_func)(gnutls_privkey_t key,
void *userdata);
-# define GNUTLS_SIGN_ALGO_TO_FLAGS(sig) (unsigned int)((sig)<<20)
-# define GNUTLS_FLAGS_TO_SIGN_ALGO(flags) (unsigned int)((flags)>>20)
+#define GNUTLS_SIGN_ALGO_TO_FLAGS(sig) (unsigned int)((sig) << 20)
+#define GNUTLS_FLAGS_TO_SIGN_ALGO(flags) (unsigned int)((flags) >> 20)
/* Should return the public key algorithm (gnutls_pk_algorithm_t) */
-# define GNUTLS_PRIVKEY_INFO_PK_ALGO 1
+#define GNUTLS_PRIVKEY_INFO_PK_ALGO 1
/* Should return the preferred signature algorithm (gnutls_sign_algorithm_t) or 0. */
-# define GNUTLS_PRIVKEY_INFO_SIGN_ALGO (1<<1)
+#define GNUTLS_PRIVKEY_INFO_SIGN_ALGO (1 << 1)
/* Should return true (1) or false (0) if the provided sign algorithm
* (obtained with GNUTLS_FLAGS_TO_SIGN_ALGO) is supported.
*/
-# define GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO (1<<2)
+#define GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO (1 << 2)
/* Should return the number of bits of the public key algorithm (required for RSA-PSS)
* It is the value that should be returned by gnutls_pubkey_get_pk_algorithm() */
-# define GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS (1<<3)
+#define GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS (1 << 3)
/* returns information on the public key associated with userdata */
typedef int (*gnutls_privkey_info_func)(gnutls_privkey_t key,
unsigned int flags, void *userdata);
-int gnutls_pubkey_init(gnutls_pubkey_t * key);
+int gnutls_pubkey_init(gnutls_pubkey_t *key);
void gnutls_pubkey_deinit(gnutls_pubkey_t key);
int gnutls_pubkey_verify_params(gnutls_pubkey_t key);
@@ -135,209 +131,173 @@ void gnutls_pubkey_set_pin_function(gnutls_pubkey_t key,
int gnutls_pubkey_get_pk_algorithm(gnutls_pubkey_t key, unsigned int *bits);
-int
-gnutls_pubkey_set_spki(gnutls_pubkey_t key,
- const gnutls_x509_spki_t spki, unsigned int flags);
+int gnutls_pubkey_set_spki(gnutls_pubkey_t key, const gnutls_x509_spki_t spki,
+ unsigned int flags);
-int
-gnutls_pubkey_get_spki(gnutls_pubkey_t key,
- const gnutls_x509_spki_t spki, unsigned int flags);
+int gnutls_pubkey_get_spki(gnutls_pubkey_t key, const gnutls_x509_spki_t spki,
+ unsigned int flags);
-int gnutls_pubkey_import_x509(gnutls_pubkey_t key,
- gnutls_x509_crt_t crt, unsigned int flags);
-int gnutls_pubkey_import_x509_crq(gnutls_pubkey_t key,
- gnutls_x509_crq_t crq, unsigned int flags);
-int gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key,
- gnutls_pkcs11_obj_t obj, unsigned int flags);
-int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key,
- gnutls_openpgp_crt_t crt, unsigned int flags);
+int gnutls_pubkey_import_x509(gnutls_pubkey_t key, gnutls_x509_crt_t crt,
+ unsigned int flags);
+int gnutls_pubkey_import_x509_crq(gnutls_pubkey_t key, gnutls_x509_crq_t crq,
+ unsigned int flags);
+int gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key, gnutls_pkcs11_obj_t obj,
+ unsigned int flags);
+int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key, gnutls_openpgp_crt_t crt,
+ unsigned int flags);
int gnutls_pubkey_import_openpgp_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t
- format,
- const gnutls_openpgp_keyid_t
- keyid, unsigned int flags);
+ const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format,
+ const gnutls_openpgp_keyid_t keyid,
+ unsigned int flags);
int gnutls_pubkey_import_x509_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
unsigned int flags);
-int
-gnutls_pubkey_import_privkey(gnutls_pubkey_t key,
- gnutls_privkey_t pkey,
- unsigned int usage, unsigned int flags);
+int gnutls_pubkey_import_privkey(gnutls_pubkey_t key, gnutls_privkey_t pkey,
+ unsigned int usage, unsigned int flags);
-int
-gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey,
- const char *url,
- const char *srk_password, unsigned int flags);
+int gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey, const char *url,
+ const char *srk_password, unsigned int flags);
-int
-gnutls_pubkey_import_url(gnutls_pubkey_t key, const char *url,
- unsigned int flags);
+int gnutls_pubkey_import_url(gnutls_pubkey_t key, const char *url,
+ unsigned int flags);
-int
-gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- const char *srk_password, unsigned int flags);
+int gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format,
+ const char *srk_password, unsigned int flags);
int gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,
- gnutls_digest_algorithm_t
- * hash, unsigned int *mand);
+ gnutls_digest_algorithm_t *hash,
+ unsigned int *mand);
-# define gnutls_pubkey_get_pk_rsa_raw gnutls_pubkey_export_rsa_raw
-int gnutls_pubkey_export_rsa_raw(gnutls_pubkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e);
+#define gnutls_pubkey_get_pk_rsa_raw gnutls_pubkey_export_rsa_raw
+int gnutls_pubkey_export_rsa_raw(gnutls_pubkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e);
-int gnutls_pubkey_export_rsa_raw2(gnutls_pubkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- unsigned flags);
+int gnutls_pubkey_export_rsa_raw2(gnutls_pubkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e, unsigned flags);
-# define gnutls_pubkey_get_pk_dsa_raw gnutls_pubkey_export_dsa_raw
-int gnutls_pubkey_export_dsa_raw(gnutls_pubkey_t key,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y);
+#define gnutls_pubkey_get_pk_dsa_raw gnutls_pubkey_export_dsa_raw
+int gnutls_pubkey_export_dsa_raw(gnutls_pubkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y);
-int gnutls_pubkey_export_dsa_raw2(gnutls_pubkey_t key,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- unsigned flags);
+int gnutls_pubkey_export_dsa_raw2(gnutls_pubkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y, unsigned flags);
int gnutls_pubkey_export_ecc_raw2(gnutls_pubkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x, gnutls_datum_t * y,
- unsigned flags);
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, unsigned flags);
int gnutls_pubkey_export_gost_raw2(gnutls_pubkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x, gnutls_datum_t * y,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
unsigned int flags);
-# define gnutls_pubkey_get_pk_ecc_raw gnutls_pubkey_export_ecc_raw
-int gnutls_pubkey_export_ecc_raw(gnutls_pubkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x, gnutls_datum_t * y);
+#define gnutls_pubkey_get_pk_ecc_raw gnutls_pubkey_export_ecc_raw
+int gnutls_pubkey_export_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t *curve,
+ gnutls_datum_t *x, gnutls_datum_t *y);
-# define gnutls_pubkey_get_pk_ecc_x962 gnutls_pubkey_export_ecc_x962
+#define gnutls_pubkey_get_pk_ecc_x962 gnutls_pubkey_export_ecc_x962
int gnutls_pubkey_export_ecc_x962(gnutls_pubkey_t key,
- gnutls_datum_t * parameters,
- gnutls_datum_t * ecpoint);
+ gnutls_datum_t *parameters,
+ gnutls_datum_t *ecpoint);
-int gnutls_pubkey_export(gnutls_pubkey_t key,
- gnutls_x509_crt_fmt_t format,
+int gnutls_pubkey_export(gnutls_pubkey_t key, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
-int gnutls_pubkey_export2(gnutls_pubkey_t key,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
+int gnutls_pubkey_export2(gnutls_pubkey_t key, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out);
-int gnutls_pubkey_get_key_id(gnutls_pubkey_t key,
- unsigned int flags,
+int gnutls_pubkey_get_key_id(gnutls_pubkey_t key, unsigned int flags,
unsigned char *output_data,
size_t *output_data_size);
-int
-gnutls_pubkey_get_openpgp_key_id(gnutls_pubkey_t key,
- unsigned int flags,
- unsigned char *output_data,
- size_t *output_data_size,
- unsigned int *subkey);
+int gnutls_pubkey_get_openpgp_key_id(gnutls_pubkey_t key, unsigned int flags,
+ unsigned char *output_data,
+ size_t *output_data_size,
+ unsigned int *subkey);
int gnutls_pubkey_get_key_usage(gnutls_pubkey_t key, unsigned int *usage);
int gnutls_pubkey_set_key_usage(gnutls_pubkey_t key, unsigned int usage);
-int gnutls_pubkey_import(gnutls_pubkey_t key,
- const gnutls_datum_t * data,
+int gnutls_pubkey_import(gnutls_pubkey_t key, const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format);
-# define gnutls_pubkey_import_pkcs11_url(key, url, flags) gnutls_pubkey_import_url(key, url, flags)
-
-int gnutls_pubkey_import_dsa_raw(gnutls_pubkey_t key,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * g,
- const gnutls_datum_t * y);
-int gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e);
-
-int
-gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
- const gnutls_datum_t * parameters,
- const gnutls_datum_t * ecpoint);
-
-int
-gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key,
- gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y);
-
-int
-gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key,
- gnutls_ecc_curve_t curve,
- gnutls_digest_algorithm_t digest,
- gnutls_gost_paramset_t paramset,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y);
-
-int
-gnutls_pubkey_encrypt_data(gnutls_pubkey_t key,
- unsigned int flags,
- const gnutls_datum_t * plaintext,
- gnutls_datum_t * ciphertext);
+#define gnutls_pubkey_import_pkcs11_url(key, url, flags) \
+ gnutls_pubkey_import_url(key, url, flags)
+
+int gnutls_pubkey_import_dsa_raw(gnutls_pubkey_t key, const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *g,
+ const gnutls_datum_t *y);
+int gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key, const gnutls_datum_t *m,
+ const gnutls_datum_t *e);
+
+int gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
+ const gnutls_datum_t *parameters,
+ const gnutls_datum_t *ecpoint);
+
+int gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t curve,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y);
+
+int gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t curve,
+ gnutls_digest_algorithm_t digest,
+ gnutls_gost_paramset_t paramset,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y);
+
+int gnutls_pubkey_encrypt_data(gnutls_pubkey_t key, unsigned int flags,
+ const gnutls_datum_t *plaintext,
+ gnutls_datum_t *ciphertext);
int gnutls_x509_crt_set_pubkey(gnutls_x509_crt_t crt, gnutls_pubkey_t key);
int gnutls_x509_crq_set_pubkey(gnutls_x509_crq_t crq, gnutls_pubkey_t key);
-int
-gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * hash,
- const gnutls_datum_t * signature);
+int gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *hash,
+ const gnutls_datum_t *signature);
-int
-gnutls_pubkey_verify_data2(gnutls_pubkey_t pubkey,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature);
+int gnutls_pubkey_verify_data2(gnutls_pubkey_t pubkey,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature);
/* Private key operations */
-int gnutls_privkey_init(gnutls_privkey_t * key);
+int gnutls_privkey_init(gnutls_privkey_t *key);
void gnutls_privkey_deinit(gnutls_privkey_t key);
/* macros to allow specifying a subgroup and group size in gnutls_privkey_generate()
* and gnutls_x509_privkey_generate() */
-# define GNUTLS_SUBGROUP_TO_BITS(group, subgroup) (unsigned int)((subgroup<<16)|(group))
-# define GNUTLS_BITS_TO_SUBGROUP(bits) ((bits >> 16) & 0xFFFF)
-# define GNUTLS_BITS_TO_GROUP(bits) (bits & 0xFFFF)
-# define GNUTLS_BITS_HAVE_SUBGROUP(bits) ((bits) & 0xFFFF0000)
-
-int
-gnutls_privkey_generate(gnutls_privkey_t key,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags);
-int
-gnutls_privkey_generate2(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags, const gnutls_keygen_data_st * data,
- unsigned data_size);
-
-int
-gnutls_privkey_set_spki(gnutls_privkey_t key,
- const gnutls_x509_spki_t spki, unsigned int flags);
-
-int
-gnutls_privkey_get_spki(gnutls_privkey_t key,
- const gnutls_x509_spki_t spki, unsigned int flags);
+#define GNUTLS_SUBGROUP_TO_BITS(group, subgroup) \
+ (unsigned int)((subgroup << 16) | (group))
+#define GNUTLS_BITS_TO_SUBGROUP(bits) ((bits >> 16) & 0xFFFF)
+#define GNUTLS_BITS_TO_GROUP(bits) (bits & 0xFFFF)
+#define GNUTLS_BITS_HAVE_SUBGROUP(bits) ((bits)&0xFFFF0000)
+
+int gnutls_privkey_generate(gnutls_privkey_t key, gnutls_pk_algorithm_t algo,
+ unsigned int bits, unsigned int flags);
+int gnutls_privkey_generate2(gnutls_privkey_t pkey, gnutls_pk_algorithm_t algo,
+ unsigned int bits, unsigned int flags,
+ const gnutls_keygen_data_st *data,
+ unsigned data_size);
+
+int gnutls_privkey_set_spki(gnutls_privkey_t key, const gnutls_x509_spki_t spki,
+ unsigned int flags);
+
+int gnutls_privkey_get_spki(gnutls_privkey_t key, const gnutls_x509_spki_t spki,
+ unsigned int flags);
int gnutls_privkey_verify_seed(gnutls_privkey_t key, gnutls_digest_algorithm_t,
const void *seed, size_t seed_size);
@@ -398,208 +358,174 @@ typedef enum gnutls_privkey_flags {
int gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,
gnutls_pkcs11_privkey_t key,
unsigned int flags);
-int gnutls_privkey_import_x509(gnutls_privkey_t pkey,
- gnutls_x509_privkey_t key, unsigned int flags);
+int gnutls_privkey_import_x509(gnutls_privkey_t pkey, gnutls_x509_privkey_t key,
+ unsigned int flags);
int gnutls_privkey_import_openpgp(gnutls_privkey_t pkey,
gnutls_openpgp_privkey_t key,
unsigned int flags);
int gnutls_privkey_export_x509(gnutls_privkey_t pkey,
- gnutls_x509_privkey_t * key);
+ gnutls_x509_privkey_t *key);
int gnutls_privkey_export_openpgp(gnutls_privkey_t pkey,
- gnutls_openpgp_privkey_t * key);
-int
-gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,
- gnutls_pkcs11_privkey_t * key);
+ gnutls_openpgp_privkey_t *key);
+int gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,
+ gnutls_pkcs11_privkey_t *key);
int gnutls_privkey_import_openpgp_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t
- format,
- const gnutls_openpgp_keyid_t
- keyid, const char *password);
+ const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format,
+ const gnutls_openpgp_keyid_t keyid,
+ const char *password);
int gnutls_privkey_import_x509_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
const char *password, unsigned int flags);
-int
-gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- const char *srk_password,
- const char *key_password, unsigned int flags);
+int gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format,
+ const char *srk_password,
+ const char *key_password, unsigned int flags);
-int
-gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey,
- const char *url,
- const char *srk_password,
- const char *key_password, unsigned int flags);
+int gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey, const char *url,
+ const char *srk_password,
+ const char *key_password, unsigned int flags);
-int gnutls_privkey_import_url(gnutls_privkey_t key,
- const char *url, unsigned int flags);
+int gnutls_privkey_import_url(gnutls_privkey_t key, const char *url,
+ unsigned int flags);
-# if 0
+#if 0
/* for documentation purposes */
int gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char *url);
-# endif
-
-# define gnutls_privkey_import_pkcs11_url(key, url) gnutls_privkey_import_url(key, url, 0)
-
-int
-gnutls_privkey_import_ext(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t pk,
- void *userdata,
- gnutls_privkey_sign_func sign_func,
- gnutls_privkey_decrypt_func
- decrypt_func, unsigned int flags);
-
-int
-gnutls_privkey_import_ext2(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t pk,
- void *userdata,
- gnutls_privkey_sign_func sign_func,
- gnutls_privkey_decrypt_func
- decrypt_func,
- gnutls_privkey_deinit_func deinit_func,
- unsigned int flags);
-
-int
-gnutls_privkey_import_ext3(gnutls_privkey_t pkey,
- void *userdata,
- gnutls_privkey_sign_func sign_func,
- gnutls_privkey_decrypt_func decrypt_func,
- gnutls_privkey_deinit_func deinit_func,
- gnutls_privkey_info_func info_func,
- unsigned int flags);
-
-int
-gnutls_privkey_import_ext4(gnutls_privkey_t pkey,
- void *userdata,
- gnutls_privkey_sign_data_func sign_data_func,
- gnutls_privkey_sign_hash_func sign_hash_func,
- gnutls_privkey_decrypt_func decrypt_func,
- gnutls_privkey_deinit_func deinit_func,
- gnutls_privkey_info_func info_func,
- unsigned int flags);
+#endif
-int gnutls_privkey_import_dsa_raw(gnutls_privkey_t key,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * g,
- const gnutls_datum_t * y,
- const gnutls_datum_t * x);
-
-int gnutls_privkey_import_rsa_raw(gnutls_privkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e,
- const gnutls_datum_t * d,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * u,
- const gnutls_datum_t * e1,
- const gnutls_datum_t * e2);
+#define gnutls_privkey_import_pkcs11_url(key, url) \
+ gnutls_privkey_import_url(key, url, 0)
+
+int gnutls_privkey_import_ext(gnutls_privkey_t pkey, gnutls_pk_algorithm_t pk,
+ void *userdata,
+ gnutls_privkey_sign_func sign_func,
+ gnutls_privkey_decrypt_func decrypt_func,
+ unsigned int flags);
+
+int gnutls_privkey_import_ext2(gnutls_privkey_t pkey, gnutls_pk_algorithm_t pk,
+ void *userdata,
+ gnutls_privkey_sign_func sign_func,
+ gnutls_privkey_decrypt_func decrypt_func,
+ gnutls_privkey_deinit_func deinit_func,
+ unsigned int flags);
+
+int gnutls_privkey_import_ext3(gnutls_privkey_t pkey, void *userdata,
+ gnutls_privkey_sign_func sign_func,
+ gnutls_privkey_decrypt_func decrypt_func,
+ gnutls_privkey_deinit_func deinit_func,
+ gnutls_privkey_info_func info_func,
+ unsigned int flags);
+
+int gnutls_privkey_import_ext4(gnutls_privkey_t pkey, void *userdata,
+ gnutls_privkey_sign_data_func sign_data_func,
+ gnutls_privkey_sign_hash_func sign_hash_func,
+ gnutls_privkey_decrypt_func decrypt_func,
+ gnutls_privkey_deinit_func deinit_func,
+ gnutls_privkey_info_func info_func,
+ unsigned int flags);
+
+int gnutls_privkey_import_dsa_raw(gnutls_privkey_t key, const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *g,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *x);
+
+int gnutls_privkey_import_rsa_raw(
+ gnutls_privkey_t key, const gnutls_datum_t *m, const gnutls_datum_t *e,
+ const gnutls_datum_t *d, const gnutls_datum_t *p,
+ const gnutls_datum_t *q, const gnutls_datum_t *u,
+ const gnutls_datum_t *e1, const gnutls_datum_t *e2);
int gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,
gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k);
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k);
int gnutls_privkey_import_gost_raw(gnutls_privkey_t key,
gnutls_ecc_curve_t curve,
gnutls_digest_algorithm_t digest,
gnutls_gost_paramset_t paramset,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k);
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k);
int gnutls_privkey_sign_data(gnutls_privkey_t signer,
- gnutls_digest_algorithm_t hash,
- unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature);
+ gnutls_digest_algorithm_t hash, unsigned int flags,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature);
int gnutls_privkey_sign_data2(gnutls_privkey_t signer,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature);
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature);
-# define gnutls_privkey_sign_raw_data(key, flags, data, sig) \
- gnutls_privkey_sign_hash ( key, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data, sig)
+#define gnutls_privkey_sign_raw_data(key, flags, data, sig) \
+ gnutls_privkey_sign_hash(key, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, \
+ data, sig)
int gnutls_privkey_sign_hash(gnutls_privkey_t signer,
gnutls_digest_algorithm_t hash_algo,
unsigned int flags,
- const gnutls_datum_t * hash_data,
- gnutls_datum_t * signature);
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *signature);
int gnutls_privkey_sign_hash2(gnutls_privkey_t signer,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * hash_data,
- gnutls_datum_t * signature);
-
-int gnutls_privkey_decrypt_data(gnutls_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- gnutls_datum_t * plaintext);
-
-int gnutls_privkey_decrypt_data2(gnutls_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *signature);
+
+int gnutls_privkey_decrypt_data(gnutls_privkey_t key, unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext);
+
+int gnutls_privkey_decrypt_data2(gnutls_privkey_t key, unsigned int flags,
+ const gnutls_datum_t *ciphertext,
unsigned char *plaintext,
size_t plaintext_size);
-int
-gnutls_privkey_export_rsa_raw(gnutls_privkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1, gnutls_datum_t * e2);
-
-int
-gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1,
- gnutls_datum_t * e2, unsigned flags);
-
-int
-gnutls_privkey_export_dsa_raw(gnutls_privkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x);
-
-int
-gnutls_privkey_export_dsa_raw2(gnutls_privkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x, unsigned flags);
-
-int
-gnutls_privkey_export_ecc_raw(gnutls_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * k);
-
-int
-gnutls_privkey_export_ecc_raw2(gnutls_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned flags);
-
-int
-gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned flags);
+int gnutls_privkey_export_rsa_raw(gnutls_privkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e, gnutls_datum_t *d,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u, gnutls_datum_t *e1,
+ gnutls_datum_t *e2);
+
+int gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e, gnutls_datum_t *d,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u, gnutls_datum_t *e1,
+ gnutls_datum_t *e2, unsigned flags);
+
+int gnutls_privkey_export_dsa_raw(gnutls_privkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y, gnutls_datum_t *x);
+
+int gnutls_privkey_export_dsa_raw2(gnutls_privkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y, gnutls_datum_t *x,
+ unsigned flags);
+
+int gnutls_privkey_export_ecc_raw(gnutls_privkey_t key,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k);
+
+int gnutls_privkey_export_ecc_raw2(gnutls_privkey_t key,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k,
+ unsigned flags);
+
+int gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k, unsigned flags);
int gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,
gnutls_x509_crt_t issuer,
@@ -613,8 +539,7 @@ int gnutls_x509_crl_privkey_sign(gnutls_x509_crl_t crl,
gnutls_digest_algorithm_t dig,
unsigned int flags);
-int gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq,
- gnutls_privkey_t key,
+int gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
gnutls_digest_algorithm_t dig,
unsigned int flags);
@@ -633,25 +558,24 @@ typedef struct gnutls_pcert_st {
} gnutls_pcert_st;
/* This flag is unused/ignored */
-# define GNUTLS_PCERT_NO_CERT 1
+#define GNUTLS_PCERT_NO_CERT 1
-int gnutls_pcert_import_x509(gnutls_pcert_st * pcert,
- gnutls_x509_crt_t crt, unsigned int flags);
+int gnutls_pcert_import_x509(gnutls_pcert_st *pcert, gnutls_x509_crt_t crt,
+ unsigned int flags);
-int gnutls_pcert_import_x509_list(gnutls_pcert_st * pcert,
- gnutls_x509_crt_t * crt, unsigned *ncrt,
+int gnutls_pcert_import_x509_list(gnutls_pcert_st *pcert,
+ gnutls_x509_crt_t *crt, unsigned *ncrt,
unsigned int flags);
-int gnutls_pcert_export_x509(gnutls_pcert_st * pcert, gnutls_x509_crt_t * crt);
+int gnutls_pcert_export_x509(gnutls_pcert_st *pcert, gnutls_x509_crt_t *crt);
-int
-gnutls_pcert_list_import_x509_raw(gnutls_pcert_st * pcerts,
- unsigned int *pcert_max,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format,
- unsigned int flags);
+int gnutls_pcert_list_import_x509_raw(gnutls_pcert_st *pcerts,
+ unsigned int *pcert_max,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags);
-int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
+int gnutls_pcert_list_import_x509_file(gnutls_pcert_st *pcert_list,
unsigned *pcert_list_size,
const char *file,
gnutls_x509_crt_fmt_t format,
@@ -659,54 +583,50 @@ int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
void *pin_fn_userdata,
unsigned int flags);
-int gnutls_pcert_import_x509_raw(gnutls_pcert_st * pcert,
- const gnutls_datum_t * cert,
+int gnutls_pcert_import_x509_raw(gnutls_pcert_st *pcert,
+ const gnutls_datum_t *cert,
gnutls_x509_crt_fmt_t format,
unsigned int flags);
-int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st * pcert,
- const gnutls_datum_t * cert,
- gnutls_openpgp_crt_fmt_t
- format,
+int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st *pcert,
+ const gnutls_datum_t *cert,
+ gnutls_openpgp_crt_fmt_t format,
gnutls_openpgp_keyid_t keyid,
unsigned int flags);
-int gnutls_pcert_import_openpgp(gnutls_pcert_st * pcert,
+int gnutls_pcert_import_openpgp(gnutls_pcert_st *pcert,
gnutls_openpgp_crt_t crt, unsigned int flags);
-int gnutls_pcert_export_openpgp(gnutls_pcert_st * pcert,
- gnutls_openpgp_crt_t * crt);
+int gnutls_pcert_export_openpgp(gnutls_pcert_st *pcert,
+ gnutls_openpgp_crt_t *crt);
-void gnutls_pcert_deinit(gnutls_pcert_st * pcert);
+void gnutls_pcert_deinit(gnutls_pcert_st *pcert);
-int gnutls_pcert_import_rawpk(gnutls_pcert_st * pcert,
- gnutls_pubkey_t key, unsigned int flags);
+int gnutls_pcert_import_rawpk(gnutls_pcert_st *pcert, gnutls_pubkey_t key,
+ unsigned int flags);
-int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st * pcert,
- const gnutls_datum_t * rawpubkey,
+int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st *pcert,
+ const gnutls_datum_t *rawpubkey,
gnutls_x509_crt_fmt_t format,
unsigned int key_usage, unsigned int flags);
/* For certificate credentials */
- /* This is the same as gnutls_certificate_retrieve_function()
+/* This is the same as gnutls_certificate_retrieve_function()
* but retrieves a gnutls_pcert_st which requires much less processing
* within the library.
*/
-typedef int gnutls_certificate_retrieve_function2(gnutls_session_t,
- const gnutls_datum_t *
- req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t *
- pk_algos, int pk_algos_length,
- gnutls_pcert_st **,
- unsigned int *pcert_length,
- gnutls_privkey_t * privkey);
-
-void gnutls_certificate_set_retrieve_function2
- (gnutls_certificate_credentials_t cred,
- gnutls_certificate_retrieve_function2 * func);
+typedef int gnutls_certificate_retrieve_function2(
+ gnutls_session_t, const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos, int pk_algos_length,
+ gnutls_pcert_st **, unsigned int *pcert_length,
+ gnutls_privkey_t *privkey);
+
+void gnutls_certificate_set_retrieve_function2(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_retrieve_function2 *func);
struct gnutls_cert_retr_st {
- unsigned version; /* set to 1 */
+ unsigned version; /* set to 1 */
gnutls_certificate_credentials_t cred;
const gnutls_datum_t *req_ca_rdn;
unsigned nreqs;
@@ -719,35 +639,29 @@ struct gnutls_cert_retr_st {
/* When the callback sets this value, gnutls will deinitialize the given
* values after use */
-# define GNUTLS_CERT_RETR_DEINIT_ALL 1
-
-typedef int gnutls_certificate_retrieve_function3(gnutls_session_t, const struct
- gnutls_cert_retr_st *info,
- gnutls_pcert_st ** certs,
- unsigned int *certs_length,
- gnutls_ocsp_data_st ** ocsp,
- unsigned int *ocsp_length,
- gnutls_privkey_t * privkey,
- unsigned int *flags);
-
-void gnutls_certificate_set_retrieve_function3
- (gnutls_certificate_credentials_t cred,
- gnutls_certificate_retrieve_function3 * func);
-
-int
-gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
- const char **names,
- int names_size,
- gnutls_pcert_st * pcert_list,
- int pcert_list_size, gnutls_privkey_t key);
-
-int
-gnutls_pubkey_print(gnutls_pubkey_t pubkey,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out);
+#define GNUTLS_CERT_RETR_DEINIT_ALL 1
+
+typedef int gnutls_certificate_retrieve_function3(
+ gnutls_session_t, const struct gnutls_cert_retr_st *info,
+ gnutls_pcert_st **certs, unsigned int *certs_length,
+ gnutls_ocsp_data_st **ocsp, unsigned int *ocsp_length,
+ gnutls_privkey_t *privkey, unsigned int *flags);
+
+void gnutls_certificate_set_retrieve_function3(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_retrieve_function3 *func);
+
+int gnutls_certificate_set_key(gnutls_certificate_credentials_t res,
+ const char **names, int names_size,
+ gnutls_pcert_st *pcert_list, int pcert_list_size,
+ gnutls_privkey_t key);
+
+int gnutls_pubkey_print(gnutls_pubkey_t pubkey,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_ABSTRACT_H */
+#endif /* GNUTLS_ABSTRACT_H */
diff --git a/lib/includes/gnutls/compat.h b/lib/includes/gnutls/compat.h
index 3454b9f31e..3a1e5a6ca8 100644
--- a/lib/includes/gnutls/compat.h
+++ b/lib/includes/gnutls/compat.h
@@ -23,211 +23,206 @@
/* Typedefs for more compatibility with older GnuTLS. */
#ifndef GNUTLS_COMPAT_H
-# define GNUTLS_COMPAT_H
+#define GNUTLS_COMPAT_H
#ifdef __cplusplus
extern "C" {
#endif
-# ifdef __GNUC__
+#ifdef __GNUC__
-# define _GNUTLS_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#define _GNUTLS_GCC_VERSION \
+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-# if !defined GNUTLS_INTERNAL_BUILD
-# if _GNUTLS_GCC_VERSION >= 30100
-# define _GNUTLS_GCC_ATTR_DEPRECATED __attribute__ ((__deprecated__))
-# endif
-# endif
+#if !defined GNUTLS_INTERNAL_BUILD
+#if _GNUTLS_GCC_VERSION >= 30100
+#define _GNUTLS_GCC_ATTR_DEPRECATED __attribute__((__deprecated__))
+#endif
+#endif
-# endif /* __GNUC__ */
+#endif /* __GNUC__ */
-# ifndef _GNUTLS_GCC_ATTR_DEPRECATED
-# define _GNUTLS_GCC_ATTR_DEPRECATED
-# endif
+#ifndef _GNUTLS_GCC_ATTR_DEPRECATED
+#define _GNUTLS_GCC_ATTR_DEPRECATED
+#endif
/* gnutls_connection_end_t was made redundant in 2.99.0 */
typedef unsigned int gnutls_connection_end_t _GNUTLS_GCC_ATTR_DEPRECATED;
/* Stuff deprecated in 2.x */
typedef gnutls_cipher_algorithm_t gnutls_cipher_algorithm
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_kx_algorithm_t gnutls_kx_algorithm _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_mac_algorithm_t gnutls_mac_algorithm _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_digest_algorithm_t gnutls_digest_algorithm
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_compression_method_t gnutls_compression_method
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_connection_end_t gnutls_connection_end
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_x509_crt_fmt_t gnutls_x509_crt_fmt _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_pk_algorithm_t gnutls_pk_algorithm _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_sign_algorithm_t gnutls_sign_algorithm
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_close_request_t gnutls_close_request _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_certificate_request_t gnutls_certificate_request
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_certificate_status_t gnutls_certificate_status
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_session_t gnutls_session _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_alert_level_t gnutls_alert_level _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_alert_description_t gnutls_alert_description
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_x509_subject_alt_name_t gnutls_x509_subject_alt_name
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_openpgp_privkey_t gnutls_openpgp_privkey
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_openpgp_keyring_t gnutls_openpgp_keyring
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_x509_crt_t gnutls_x509_crt _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_x509_privkey_t gnutls_x509_privkey _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_x509_crl_t gnutls_x509_crl _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_x509_crq_t gnutls_x509_crq _GNUTLS_GCC_ATTR_DEPRECATED;
-typedef gnutls_certificate_credentials_t
- gnutls_certificate_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
-typedef gnutls_anon_server_credentials_t
- gnutls_anon_server_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
-typedef gnutls_anon_client_credentials_t
- gnutls_anon_client_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
-typedef gnutls_srp_client_credentials_t
- gnutls_srp_client_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
-typedef gnutls_srp_server_credentials_t
- gnutls_srp_server_credentials _GNUTLS_GCC_ATTR_DEPRECATED;
+typedef gnutls_certificate_credentials_t gnutls_certificate_credentials
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+typedef gnutls_anon_server_credentials_t gnutls_anon_server_credentials
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+typedef gnutls_anon_client_credentials_t gnutls_anon_client_credentials
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+typedef gnutls_srp_client_credentials_t gnutls_srp_client_credentials
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+typedef gnutls_srp_server_credentials_t gnutls_srp_server_credentials
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_dh_params_t gnutls_dh_params _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_rsa_params_t gnutls_rsa_params _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_params_type_t gnutls_params_type _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_credentials_type_t gnutls_credentials_type
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_certificate_type_t gnutls_certificate_type
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_datum_t gnutls_datum _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_transport_ptr_t gnutls_transport_ptr _GNUTLS_GCC_ATTR_DEPRECATED;
/* Old verification flags */
-# define GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT (0)
+#define GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT (0)
/* Old SRP alerts removed in 2.1.x because the TLS-SRP RFC was
modified to use the PSK alert. */
-# define GNUTLS_A_MISSING_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY
-# define GNUTLS_A_UNKNOWN_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY
+#define GNUTLS_A_MISSING_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY
+#define GNUTLS_A_UNKNOWN_SRP_USERNAME GNUTLS_A_UNKNOWN_PSK_IDENTITY
/* OpenPGP stuff renamed in 2.1.x. */
-# define GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT
-# define GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT
-# define gnutls_openpgp_send_key gnutls_openpgp_send_cert
+#define GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT
+#define GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT
+#define gnutls_openpgp_send_key gnutls_openpgp_send_cert
typedef gnutls_openpgp_crt_status_t gnutls_openpgp_key_status_t
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
typedef gnutls_openpgp_crt_t gnutls_openpgp_key_t _GNUTLS_GCC_ATTR_DEPRECATED;
-# define gnutls_openpgp_key_init gnutls_openpgp_crt_init
-# define gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit
-# define gnutls_openpgp_key_import gnutls_openpgp_crt_import
-# define gnutls_openpgp_key_export gnutls_openpgp_crt_export
-# define gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage
-# define gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint
-# define gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm
-# define gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name
-# define gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version
-# define gnutls_openpgp_key_get_creation_time gnutls_openpgp_crt_get_creation_time
-# define gnutls_openpgp_key_get_expiration_time gnutls_openpgp_crt_get_expiration_time
-# define gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id
-# define gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname
+#define gnutls_openpgp_key_init gnutls_openpgp_crt_init
+#define gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit
+#define gnutls_openpgp_key_import gnutls_openpgp_crt_import
+#define gnutls_openpgp_key_export gnutls_openpgp_crt_export
+#define gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage
+#define gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint
+#define gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm
+#define gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name
+#define gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version
+#define gnutls_openpgp_key_get_creation_time \
+ gnutls_openpgp_crt_get_creation_time
+#define gnutls_openpgp_key_get_expiration_time \
+ gnutls_openpgp_crt_get_expiration_time
+#define gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id
+#define gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname
/* OpenPGP stuff renamed in 2.3.x. */
-# define gnutls_openpgp_crt_get_id gnutls_openpgp_crt_get_key_id
+#define gnutls_openpgp_crt_get_id gnutls_openpgp_crt_get_key_id
/* New better names renamed in 2.3.x, add these for backwards
compatibility with old poor names.*/
-# define GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL
-# define GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE
-# define GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL
+#define GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL
+#define GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE
+#define GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL
/* Namespace problems. */
-# define LIBGNUTLS_VERSION GNUTLS_VERSION
-# define LIBGNUTLS_VERSION_MAJOR GNUTLS_VERSION_MAJOR
-# define LIBGNUTLS_VERSION_MINOR GNUTLS_VERSION_MINOR
-# define LIBGNUTLS_VERSION_PATCH GNUTLS_VERSION_PATCH
-# define LIBGNUTLS_VERSION_NUMBER GNUTLS_VERSION_NUMBER
-# define LIBGNUTLS_EXTRA_VERSION GNUTLS_VERSION
+#define LIBGNUTLS_VERSION GNUTLS_VERSION
+#define LIBGNUTLS_VERSION_MAJOR GNUTLS_VERSION_MAJOR
+#define LIBGNUTLS_VERSION_MINOR GNUTLS_VERSION_MINOR
+#define LIBGNUTLS_VERSION_PATCH GNUTLS_VERSION_PATCH
+#define LIBGNUTLS_VERSION_NUMBER GNUTLS_VERSION_NUMBER
+#define LIBGNUTLS_EXTRA_VERSION GNUTLS_VERSION
/* This is a very dangerous and error-prone function.
* Use gnutls_privkey_sign_hash() instead.
*/
-int gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t key,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
- /* gnutls_pubkey_get_preferred_hash_algorithm() */
-int gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t
- crt,
- gnutls_digest_algorithm_t
- * hash, unsigned int
- *mand)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
- /* use gnutls_privkey_sign_hash() with the GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA flag */
-
-# ifdef _ISOC99_SOURCE
+int gnutls_x509_privkey_sign_hash(
+ gnutls_x509_privkey_t key, const gnutls_datum_t *hash,
+ gnutls_datum_t *signature) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_sign_hash(
+ gnutls_openpgp_privkey_t key, const gnutls_datum_t *hash,
+ gnutls_datum_t *signature) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+/* gnutls_pubkey_get_preferred_hash_algorithm() */
+int gnutls_x509_crt_get_preferred_hash_algorithm(
+ gnutls_x509_crt_t crt, gnutls_digest_algorithm_t *hash,
+ unsigned int *mand) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+/* use gnutls_privkey_sign_hash() with the GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA flag */
+
+#ifdef _ISOC99_SOURCE
/* we provide older functions for compatibility as inline functions that
* depend on gnutls_session_get_random. */
-static inline const void
-*gnutls_session_get_server_random(gnutls_session_t session)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-static inline const void
-*gnutls_session_get_server_random(gnutls_session_t session)
+static inline const void *gnutls_session_get_server_random(
+ gnutls_session_t session) _GNUTLS_GCC_ATTR_DEPRECATED;
+static inline const void *
+gnutls_session_get_server_random(gnutls_session_t session)
{
gnutls_datum_t rnd;
- gnutls_session_get_random(session, NULL, &rnd); /*doc-skip */
+ gnutls_session_get_random(session, NULL, &rnd); /*doc-skip */
return rnd.data;
}
-static inline const void
-*gnutls_session_get_client_random(gnutls_session_t session)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-static inline const void
-*gnutls_session_get_client_random(gnutls_session_t session)
+static inline const void *gnutls_session_get_client_random(
+ gnutls_session_t session) _GNUTLS_GCC_ATTR_DEPRECATED;
+static inline const void *
+gnutls_session_get_client_random(gnutls_session_t session)
{
gnutls_datum_t rnd;
- gnutls_session_get_random(session, &rnd, NULL); /*doc-skip */
+ gnutls_session_get_random(session, &rnd, NULL); /*doc-skip */
return rnd.data;
}
-# endif
+#endif
-void
-gnutls_global_set_mem_functions(gnutls_alloc_function alloc_func,
- gnutls_alloc_function secure_alloc_func,
- gnutls_is_secure_function is_secure_func,
- gnutls_realloc_function realloc_func,
- gnutls_free_function free_func)
-_GNUTLS_GCC_ATTR_DEPRECATED;
+void gnutls_global_set_mem_functions(gnutls_alloc_function alloc_func,
+ gnutls_alloc_function secure_alloc_func,
+ gnutls_is_secure_function is_secure_func,
+ gnutls_realloc_function realloc_func,
+ gnutls_free_function free_func)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
/* defined in old headers - unused nevertheless */
-# define GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA 0
+#define GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA 0
/* old compression related functions */
gnutls_compression_method_t
gnutls_compression_get(gnutls_session_t session) _GNUTLS_GCC_ATTR_DEPRECATED;
const char *gnutls_compression_get_name(gnutls_compression_method_t algorithm)
-__GNUTLS_CONST__ _GNUTLS_GCC_ATTR_DEPRECATED;
+ __GNUTLS_CONST__ _GNUTLS_GCC_ATTR_DEPRECATED;
gnutls_compression_method_t gnutls_compression_get_id(const char *name)
-__GNUTLS_CONST__ _GNUTLS_GCC_ATTR_DEPRECATED;
+ __GNUTLS_CONST__ _GNUTLS_GCC_ATTR_DEPRECATED;
-const gnutls_compression_method_t *gnutls_compression_list(void)
-__GNUTLS_PURE__ _GNUTLS_GCC_ATTR_DEPRECATED;
+const gnutls_compression_method_t *
+gnutls_compression_list(void) __GNUTLS_PURE__ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_priority_compression_list(gnutls_priority_t pcache,
const unsigned int **list)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_COMPAT_H */
+#endif /* GNUTLS_COMPAT_H */
diff --git a/lib/includes/gnutls/crypto.h b/lib/includes/gnutls/crypto.h
index b830baf643..2325825caf 100644
--- a/lib/includes/gnutls/crypto.h
+++ b/lib/includes/gnutls/crypto.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_CRYPTO_H
-# define GNUTLS_CRYPTO_H
+#define GNUTLS_CRYPTO_H
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
#ifdef __cplusplus
extern "C" {
@@ -31,19 +31,18 @@ extern "C" {
typedef struct api_cipher_hd_st *gnutls_cipher_hd_t;
-int gnutls_cipher_init(gnutls_cipher_hd_t * handle,
+int gnutls_cipher_init(gnutls_cipher_hd_t *handle,
gnutls_cipher_algorithm_t cipher,
- const gnutls_datum_t * key, const gnutls_datum_t * iv);
-int gnutls_cipher_encrypt(const gnutls_cipher_hd_t handle,
- void *text, size_t textlen);
-int gnutls_cipher_decrypt(const gnutls_cipher_hd_t handle,
- void *ciphertext, size_t ciphertextlen);
-int gnutls_cipher_decrypt2(gnutls_cipher_hd_t handle,
- const void *ciphertext,
+ const gnutls_datum_t *key, const gnutls_datum_t *iv);
+int gnutls_cipher_encrypt(const gnutls_cipher_hd_t handle, void *text,
+ size_t textlen);
+int gnutls_cipher_decrypt(const gnutls_cipher_hd_t handle, void *ciphertext,
+ size_t ciphertextlen);
+int gnutls_cipher_decrypt2(gnutls_cipher_hd_t handle, const void *ciphertext,
size_t ciphertextlen, void *text, size_t textlen);
-int gnutls_cipher_encrypt2(gnutls_cipher_hd_t handle,
- const void *text, size_t textlen,
- void *ciphertext, size_t ciphertextlen);
+int gnutls_cipher_encrypt2(gnutls_cipher_hd_t handle, const void *text,
+ size_t textlen, void *ciphertext,
+ size_t ciphertextlen);
/**
* gnutls_cipher_flags_t:
@@ -58,74 +57,68 @@ typedef enum gnutls_cipher_flags_t {
GNUTLS_CIPHER_PADDING_PKCS7 = 1
} gnutls_cipher_flags_t;
-int gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle,
- const void *ptext, size_t ptext_len,
- void *ctext, size_t *ctext_len, unsigned flags);
-int gnutls_cipher_decrypt3(gnutls_cipher_hd_t handle,
- const void *ctext, size_t ctext_len,
- void *ptext, size_t *ptext_len, unsigned flags);
+int gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle, const void *ptext,
+ size_t ptext_len, void *ctext, size_t *ctext_len,
+ unsigned flags);
+int gnutls_cipher_decrypt3(gnutls_cipher_hd_t handle, const void *ctext,
+ size_t ctext_len, void *ptext, size_t *ptext_len,
+ unsigned flags);
void gnutls_cipher_set_iv(gnutls_cipher_hd_t handle, void *iv, size_t ivlen);
int gnutls_cipher_tag(gnutls_cipher_hd_t handle, void *tag, size_t tag_size);
-int gnutls_cipher_add_auth(gnutls_cipher_hd_t handle,
- const void *text, size_t text_size);
+int gnutls_cipher_add_auth(gnutls_cipher_hd_t handle, const void *text,
+ size_t text_size);
void gnutls_cipher_deinit(gnutls_cipher_hd_t handle);
unsigned gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm)
- __GNUTLS_CONST__;
-unsigned gnutls_cipher_get_iv_size(gnutls_cipher_algorithm_t algorithm)
- __GNUTLS_CONST__;
+ __GNUTLS_CONST__;
+unsigned
+gnutls_cipher_get_iv_size(gnutls_cipher_algorithm_t algorithm) __GNUTLS_CONST__;
unsigned gnutls_cipher_get_tag_size(gnutls_cipher_algorithm_t algorithm)
- __GNUTLS_CONST__;
+ __GNUTLS_CONST__;
/* AEAD API
*/
typedef struct api_aead_cipher_hd_st *gnutls_aead_cipher_hd_t;
-int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t * handle,
+int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t *handle,
gnutls_cipher_algorithm_t cipher,
- const gnutls_datum_t * key);
+ const gnutls_datum_t *key);
int gnutls_aead_cipher_set_key(gnutls_aead_cipher_hd_t handle,
- const gnutls_datum_t * key);
-
-int
-gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const void *auth, size_t auth_len,
- size_t tag_size,
- const void *ctext, size_t ctext_len,
- void *ptext, size_t *ptext_len);
-int
-gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const void *auth, size_t auth_len,
- size_t tag_size,
- const void *ptext, size_t ptext_len,
- void *ctext, size_t *ctext_len);
-
-int
-gnutls_aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- size_t tag_size,
- const giovec_t * iov, int iovcnt,
- void *ctext, size_t *ctext_len);
-
-int
-gnutls_aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t *tag_size);
-
-int
-gnutls_aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
- const void *nonce, size_t nonce_len,
- const giovec_t * auth_iov, int auth_iovcnt,
- const giovec_t * iov, int iovcnt,
- void *tag, size_t tag_size);
+ const gnutls_datum_t *key);
+
+int gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const void *auth, size_t auth_len,
+ size_t tag_size, const void *ctext,
+ size_t ctext_len, void *ptext,
+ size_t *ptext_len);
+int gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const void *auth, size_t auth_len,
+ size_t tag_size, const void *ptext,
+ size_t ptext_len, void *ctext,
+ size_t *ctext_len);
+
+int gnutls_aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ size_t tag_size, const giovec_t *iov,
+ int iovcnt, void *ctext, size_t *ctext_len);
+
+int gnutls_aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ const giovec_t *iov, int iovcnt, void *tag,
+ size_t *tag_size);
+
+int gnutls_aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,
+ const void *nonce, size_t nonce_len,
+ const giovec_t *auth_iov, int auth_iovcnt,
+ const giovec_t *iov, int iovcnt, void *tag,
+ size_t tag_size);
void gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle);
@@ -134,9 +127,9 @@ void gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle);
typedef struct hash_hd_st *gnutls_hash_hd_t;
typedef struct hmac_hd_st *gnutls_hmac_hd_t;
-size_t gnutls_mac_get_nonce_size(gnutls_mac_algorithm_t algorithm)
- __GNUTLS_CONST__;
-int gnutls_hmac_init(gnutls_hmac_hd_t * dig, gnutls_mac_algorithm_t algorithm,
+size_t
+gnutls_mac_get_nonce_size(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
+int gnutls_hmac_init(gnutls_hmac_hd_t *dig, gnutls_mac_algorithm_t algorithm,
const void *key, size_t keylen);
void gnutls_hmac_set_nonce(gnutls_hmac_hd_t handle, const void *nonce,
size_t nonce_len);
@@ -144,39 +137,35 @@ int gnutls_hmac(gnutls_hmac_hd_t handle, const void *text, size_t textlen);
void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest);
void gnutls_hmac_deinit(gnutls_hmac_hd_t handle, void *digest);
unsigned gnutls_hmac_get_len(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
-unsigned gnutls_hmac_get_key_size(gnutls_mac_algorithm_t algorithm)
- __GNUTLS_CONST__;
+unsigned
+gnutls_hmac_get_key_size(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
int gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm, const void *key,
size_t keylen, const void *text, size_t textlen,
void *digest);
gnutls_hmac_hd_t gnutls_hmac_copy(gnutls_hmac_hd_t handle);
-int gnutls_hash_init(gnutls_hash_hd_t * dig,
+int gnutls_hash_init(gnutls_hash_hd_t *dig,
gnutls_digest_algorithm_t algorithm);
int gnutls_hash(gnutls_hash_hd_t handle, const void *text, size_t textlen);
void gnutls_hash_output(gnutls_hash_hd_t handle, void *digest);
void gnutls_hash_deinit(gnutls_hash_hd_t handle, void *digest);
-unsigned gnutls_hash_get_len(gnutls_digest_algorithm_t algorithm)
- __GNUTLS_CONST__;
+unsigned
+gnutls_hash_get_len(gnutls_digest_algorithm_t algorithm) __GNUTLS_CONST__;
int gnutls_hash_fast(gnutls_digest_algorithm_t algorithm, const void *text,
size_t textlen, void *digest);
gnutls_hash_hd_t gnutls_hash_copy(gnutls_hash_hd_t handle);
/* KDF API */
-int gnutls_hkdf_extract(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * salt, void *output);
+int gnutls_hkdf_extract(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *salt, void *output);
-int gnutls_hkdf_expand(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * info,
- void *output, size_t length);
+int gnutls_hkdf_expand(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *info, void *output, size_t length);
-int gnutls_pbkdf2(gnutls_mac_algorithm_t mac,
- const gnutls_datum_t * key,
- const gnutls_datum_t * salt,
- unsigned iter_count, void *output, size_t length);
+int gnutls_pbkdf2(gnutls_mac_algorithm_t mac, const gnutls_datum_t *key,
+ const gnutls_datum_t *salt, unsigned iter_count, void *output,
+ size_t length);
/* register ciphers */
@@ -224,43 +213,29 @@ typedef int (*gnutls_cipher_auth_func)(void *ctx, const void *data,
size_t datasize);
typedef void (*gnutls_cipher_tag_func)(void *ctx, void *tag, size_t tagsize);
-typedef int (*gnutls_cipher_aead_encrypt_func)(void *ctx,
- const void *nonce,
- size_t noncesize,
- const void *auth,
- size_t authsize, size_t tag_size,
- const void *plain,
- size_t plainsize, void *encr,
- size_t encrsize);
-typedef int (*gnutls_cipher_aead_decrypt_func)(void *ctx, const void *nonce,
- size_t noncesize,
- const void *auth,
- size_t authsize, size_t tag_size,
- const void *encr,
- size_t encrsize, void *plain,
- size_t plainsize);
+typedef int (*gnutls_cipher_aead_encrypt_func)(
+ void *ctx, const void *nonce, size_t noncesize, const void *auth,
+ size_t authsize, size_t tag_size, const void *plain, size_t plainsize,
+ void *encr, size_t encrsize);
+typedef int (*gnutls_cipher_aead_decrypt_func)(
+ void *ctx, const void *nonce, size_t noncesize, const void *auth,
+ size_t authsize, size_t tag_size, const void *encr, size_t encrsize,
+ void *plain, size_t plainsize);
typedef void (*gnutls_cipher_deinit_func)(void *ctx);
-int
-gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
- gnutls_cipher_setkey_func setkey,
- gnutls_cipher_setiv_func setiv,
- gnutls_cipher_encrypt_func encrypt,
- gnutls_cipher_decrypt_func decrypt,
- gnutls_cipher_deinit_func deinit)
-_GNUTLS_GCC_ATTR_DEPRECATED;
-
-int
-gnutls_crypto_register_aead_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
- gnutls_cipher_setkey_func setkey,
- gnutls_cipher_aead_encrypt_func aead_encrypt,
- gnutls_cipher_aead_decrypt_func aead_decrypt,
- gnutls_cipher_deinit_func deinit)
-_GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_crypto_register_cipher(
+ gnutls_cipher_algorithm_t algorithm, int priority,
+ gnutls_cipher_init_func init, gnutls_cipher_setkey_func setkey,
+ gnutls_cipher_setiv_func setiv, gnutls_cipher_encrypt_func encrypt,
+ gnutls_cipher_decrypt_func decrypt,
+ gnutls_cipher_deinit_func deinit) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_crypto_register_aead_cipher(
+ gnutls_cipher_algorithm_t algorithm, int priority,
+ gnutls_cipher_init_func init, gnutls_cipher_setkey_func setkey,
+ gnutls_cipher_aead_encrypt_func aead_encrypt,
+ gnutls_cipher_aead_decrypt_func aead_decrypt,
+ gnutls_cipher_deinit_func deinit) _GNUTLS_GCC_ATTR_DEPRECATED;
typedef int (*gnutls_mac_init_func)(gnutls_mac_algorithm_t, void **ctx);
typedef int (*gnutls_mac_setkey_func)(void *ctx, const void *key,
@@ -278,17 +253,12 @@ typedef int (*gnutls_mac_fast_func)(gnutls_mac_algorithm_t, const void *nonce,
size_t textsize, void *digest);
typedef void *(*gnutls_mac_copy_func)(const void *ctx);
-int
-gnutls_crypto_register_mac(gnutls_mac_algorithm_t mac,
- int priority,
- gnutls_mac_init_func init,
- gnutls_mac_setkey_func setkey,
- gnutls_mac_setnonce_func setnonce,
- gnutls_mac_hash_func hash,
- gnutls_mac_output_func output,
- gnutls_mac_deinit_func deinit,
- gnutls_mac_fast_func hash_fast)
-_GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_crypto_register_mac(
+ gnutls_mac_algorithm_t mac, int priority, gnutls_mac_init_func init,
+ gnutls_mac_setkey_func setkey, gnutls_mac_setnonce_func setnonce,
+ gnutls_mac_hash_func hash, gnutls_mac_output_func output,
+ gnutls_mac_deinit_func deinit,
+ gnutls_mac_fast_func hash_fast) _GNUTLS_GCC_ATTR_DEPRECATED;
typedef int (*gnutls_digest_init_func)(gnutls_digest_algorithm_t, void **ctx);
typedef int (*gnutls_digest_hash_func)(void *ctx, const void *text,
@@ -301,40 +271,35 @@ typedef int (*gnutls_digest_fast_func)(gnutls_digest_algorithm_t,
void *digest);
typedef void *(*gnutls_digest_copy_func)(const void *ctx);
-int
-gnutls_crypto_register_digest(gnutls_digest_algorithm_t digest,
- int priority,
- gnutls_digest_init_func init,
- gnutls_digest_hash_func hash,
- gnutls_digest_output_func output,
- gnutls_digest_deinit_func deinit,
- gnutls_digest_fast_func hash_fast)
-_GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_crypto_register_digest(
+ gnutls_digest_algorithm_t digest, int priority,
+ gnutls_digest_init_func init, gnutls_digest_hash_func hash,
+ gnutls_digest_output_func output, gnutls_digest_deinit_func deinit,
+ gnutls_digest_fast_func hash_fast) _GNUTLS_GCC_ATTR_DEPRECATED;
/* RSA-PKCS#1 1.5 helper functions */
-int
-gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,
- const gnutls_datum_t * digest,
- gnutls_datum_t * output);
-
-int
-gnutls_decode_ber_digest_info(const gnutls_datum_t * info,
- gnutls_digest_algorithm_t * hash,
- unsigned char *digest, unsigned int *digest_size);
-
-int gnutls_decode_rs_value(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
- gnutls_datum_t * s);
-int gnutls_encode_rs_value(gnutls_datum_t * sig_value, const gnutls_datum_t * r,
- const gnutls_datum_t * s);
-
-int gnutls_encode_gost_rs_value(gnutls_datum_t * sig_value,
- const gnutls_datum_t * r,
- const gnutls_datum_t * s);
-int gnutls_decode_gost_rs_value(const gnutls_datum_t * sig_value,
- gnutls_datum_t * r, gnutls_datum_t * s);
+int gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,
+ const gnutls_datum_t *digest,
+ gnutls_datum_t *output);
+
+int gnutls_decode_ber_digest_info(const gnutls_datum_t *info,
+ gnutls_digest_algorithm_t *hash,
+ unsigned char *digest,
+ unsigned int *digest_size);
+
+int gnutls_decode_rs_value(const gnutls_datum_t *sig_value, gnutls_datum_t *r,
+ gnutls_datum_t *s);
+int gnutls_encode_rs_value(gnutls_datum_t *sig_value, const gnutls_datum_t *r,
+ const gnutls_datum_t *s);
+
+int gnutls_encode_gost_rs_value(gnutls_datum_t *sig_value,
+ const gnutls_datum_t *r,
+ const gnutls_datum_t *s);
+int gnutls_decode_gost_rs_value(const gnutls_datum_t *sig_value,
+ gnutls_datum_t *r, gnutls_datum_t *s);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_CRYPTO_H */
+#endif /* GNUTLS_CRYPTO_H */
diff --git a/lib/includes/gnutls/dtls.h b/lib/includes/gnutls/dtls.h
index 2526e98142..b4860953d3 100644
--- a/lib/includes/gnutls/dtls.h
+++ b/lib/includes/gnutls/dtls.h
@@ -25,15 +25,15 @@
*/
#ifndef GNUTLS_DTLS_H
-# define GNUTLS_DTLS_H
+#define GNUTLS_DTLS_H
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
#ifdef __cplusplus
extern "C" {
#endif
-# define GNUTLS_COOKIE_KEY_SIZE 16
+#define GNUTLS_COOKIE_KEY_SIZE 16
void gnutls_dtls_set_timeouts(gnutls_session_t session,
unsigned int retrans_timeout,
@@ -64,21 +64,19 @@ typedef struct {
unsigned int hsk_write_seq;
} gnutls_dtls_prestate_st;
-int gnutls_dtls_cookie_send(gnutls_datum_t * key,
- void *client_data,
+int gnutls_dtls_cookie_send(gnutls_datum_t *key, void *client_data,
size_t client_data_size,
- gnutls_dtls_prestate_st * prestate,
+ gnutls_dtls_prestate_st *prestate,
gnutls_transport_ptr_t ptr,
gnutls_push_func push_func);
-int gnutls_dtls_cookie_verify(gnutls_datum_t * key,
- void *client_data,
+int gnutls_dtls_cookie_verify(gnutls_datum_t *key, void *client_data,
size_t client_data_size, void *_msg,
size_t msg_size,
- gnutls_dtls_prestate_st * prestate);
+ gnutls_dtls_prestate_st *prestate);
void gnutls_dtls_prestate_set(gnutls_session_t session,
- gnutls_dtls_prestate_st * prestate);
+ gnutls_dtls_prestate_st *prestate);
unsigned int gnutls_record_get_discarded(gnutls_session_t session);
@@ -86,4 +84,4 @@ unsigned int gnutls_record_get_discarded(gnutls_session_t session);
}
#endif
-#endif /* GNUTLS_DTLS_H */
+#endif /* GNUTLS_DTLS_H */
diff --git a/lib/includes/gnutls/gnutls.h.in b/lib/includes/gnutls/gnutls.h.in
index 388b453f2b..f4c003dcde 100644
--- a/lib/includes/gnutls/gnutls.h.in
+++ b/lib/includes/gnutls/gnutls.h.in
@@ -34,22 +34,22 @@
*/
#ifndef GNUTLS_GNUTLS_H
-# define GNUTLS_GNUTLS_H
+#define GNUTLS_GNUTLS_H
/* Get ssize_t. */
-# include <sys/types.h>
+#include <sys/types.h>
/* Get size_t. */
-# include <stddef.h>
+#include <stddef.h>
/* Get time_t. */
-# include <time.h>
+#include <time.h>
#ifdef __cplusplus
extern "C" {
#endif
-# define GNUTLS_VERSION "@VERSION@"
+#define GNUTLS_VERSION "@VERSION@"
/* clang-format off */
#define GNUTLS_VERSION_MAJOR @MAJOR_VERSION@
@@ -59,29 +59,33 @@ extern "C" {
#define GNUTLS_VERSION_NUMBER @NUMBER_VERSION@
/* clang-format on */
-# define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC
-# define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC
-# define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC
-# define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128
-
-# if !defined(GNUTLS_INTERNAL_BUILD) && defined(_WIN32)
-# define _SYM_EXPORT __declspec(dllimport)
-# else
-# define _SYM_EXPORT
-# endif
-
-# ifdef __GNUC__
-# define __GNUTLS_CONST__ __attribute__((const))
-# define __GNUTLS_PURE__ __attribute__((pure))
-# else
-# define __GNUTLS_CONST__
-# define __GNUTLS_PURE__
-# endif
+#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC
+#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC
+#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC
+#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128
+
+#if !defined(GNUTLS_INTERNAL_BUILD) && defined(_WIN32)
+#define _SYM_EXPORT __declspec(dllimport)
+#else
+#define _SYM_EXPORT
+#endif
+
+#ifdef __GNUC__
+#define __GNUTLS_CONST__ __attribute__((const))
+#define __GNUTLS_PURE__ __attribute__((pure))
+#else
+#define __GNUTLS_CONST__
+#define __GNUTLS_PURE__
+#endif
/* Use the following definition globally in your program to disable
* implicit initialization of gnutls. */
-# define GNUTLS_SKIP_GLOBAL_INIT int _gnutls_global_init_skip(void); \
- int _gnutls_global_init_skip(void) {return 1;}
+#define GNUTLS_SKIP_GLOBAL_INIT \
+ int _gnutls_global_init_skip(void); \
+ int _gnutls_global_init_skip(void) \
+ { \
+ return 1; \
+ }
/**
* gnutls_cipher_algorithm_t:
@@ -278,8 +282,8 @@ typedef enum {
GNUTLS_CRD_IA
} gnutls_credentials_type_t;
-# define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1
-# define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1
+#define GNUTLS_MAC_SHA GNUTLS_MAC_SHA1
+#define GNUTLS_DIG_SHA GNUTLS_DIG_SHA1
/**
* gnutls_mac_algorithm_t:
@@ -329,17 +333,17 @@ typedef enum {
GNUTLS_MAC_SHA384 = 7,
GNUTLS_MAC_SHA512 = 8,
GNUTLS_MAC_SHA224 = 9,
- GNUTLS_MAC_SHA3_224 = 10, /* reserved: no implementation */
- GNUTLS_MAC_SHA3_256 = 11, /* reserved: no implementation */
- GNUTLS_MAC_SHA3_384 = 12, /* reserved: no implementation */
- GNUTLS_MAC_SHA3_512 = 13, /* reserved: no implementation */
- GNUTLS_MAC_MD5_SHA1 = 14, /* reserved: no implementation */
+ GNUTLS_MAC_SHA3_224 = 10, /* reserved: no implementation */
+ GNUTLS_MAC_SHA3_256 = 11, /* reserved: no implementation */
+ GNUTLS_MAC_SHA3_384 = 12, /* reserved: no implementation */
+ GNUTLS_MAC_SHA3_512 = 13, /* reserved: no implementation */
+ GNUTLS_MAC_MD5_SHA1 = 14, /* reserved: no implementation */
GNUTLS_MAC_GOSTR_94 = 15,
GNUTLS_MAC_STREEBOG_256 = 16,
GNUTLS_MAC_STREEBOG_512 = 17,
/* If you add anything here, make sure you align with
gnutls_digest_algorithm_t. */
- GNUTLS_MAC_AEAD = 200, /* indicates that MAC is on the cipher */
+ GNUTLS_MAC_AEAD = 200, /* indicates that MAC is on the cipher */
GNUTLS_MAC_UMAC_96 = 201,
GNUTLS_MAC_UMAC_128 = 202,
GNUTLS_MAC_AES_CMAC_128 = 203,
@@ -400,15 +404,15 @@ typedef enum {
GNUTLS_DIG_STREEBOG_512 = GNUTLS_MAC_STREEBOG_512,
GNUTLS_DIG_SHAKE_128 = GNUTLS_MAC_SHAKE_128,
GNUTLS_DIG_SHAKE_256 = GNUTLS_MAC_SHAKE_256
- /* If you add anything here, make sure you align with
+ /* If you add anything here, make sure you align with
gnutls_mac_algorithm_t. */
} gnutls_digest_algorithm_t;
- /* exported for other gnutls headers. This is the maximum number of
+/* exported for other gnutls headers. This is the maximum number of
* algorithms (ciphers, kx or macs).
*/
-# define GNUTLS_MAX_ALGORITHM_NUM 128
-# define GNUTLS_MAX_SESSION_ID_SIZE 32
+#define GNUTLS_MAX_ALGORITHM_NUM 128
+#define GNUTLS_MAX_SESSION_ID_SIZE 32
/**
* gnutls_compression_method_t:
@@ -524,19 +528,19 @@ typedef enum {
/* compatibility defines (previous versions of gnutls
* used defines instead of enumerated values). */
-# define GNUTLS_SERVER (1)
-# define GNUTLS_CLIENT (1<<1)
-# define GNUTLS_DATAGRAM (1<<2)
-# define GNUTLS_NONBLOCK (1<<3)
-# define GNUTLS_NO_DEFAULT_EXTENSIONS (1<<4)
-# define GNUTLS_NO_REPLAY_PROTECTION (1<<5)
-# define GNUTLS_NO_SIGNAL (1<<6)
-# define GNUTLS_ALLOW_ID_CHANGE (1<<7)
-# define GNUTLS_ENABLE_FALSE_START (1<<8)
-# define GNUTLS_FORCE_CLIENT_CERT (1<<9)
-# define GNUTLS_NO_TICKETS (1<<10)
-# define GNUTLS_ENABLE_CERT_TYPE_NEG 0
- // Here for compatibility reasons
+#define GNUTLS_SERVER (1)
+#define GNUTLS_CLIENT (1 << 1)
+#define GNUTLS_DATAGRAM (1 << 2)
+#define GNUTLS_NONBLOCK (1 << 3)
+#define GNUTLS_NO_DEFAULT_EXTENSIONS (1 << 4)
+#define GNUTLS_NO_REPLAY_PROTECTION (1 << 5)
+#define GNUTLS_NO_SIGNAL (1 << 6)
+#define GNUTLS_ALLOW_ID_CHANGE (1 << 7)
+#define GNUTLS_ENABLE_FALSE_START (1 << 8)
+#define GNUTLS_FORCE_CLIENT_CERT (1 << 9)
+#define GNUTLS_NO_TICKETS (1 << 10)
+#define GNUTLS_ENABLE_CERT_TYPE_NEG 0
+// Here for compatibility reasons
/**
* gnutls_alert_level_t:
@@ -678,10 +682,10 @@ typedef enum {
GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST = 1025,
} gnutls_handshake_description_t;
-# define GNUTLS_HANDSHAKE_ANY ((unsigned int)-1)
+#define GNUTLS_HANDSHAKE_ANY ((unsigned int)-1)
-const char
-*gnutls_handshake_description_get_name(gnutls_handshake_description_t type);
+const char *
+gnutls_handshake_description_get_name(gnutls_handshake_description_t type);
/**
* gnutls_certificate_status_t:
@@ -800,15 +804,15 @@ typedef enum {
GNUTLS_TLS1_3 = 5,
GNUTLS_DTLS0_9 = 200,
- GNUTLS_DTLS1_0 = 201, /* 201 */
+ GNUTLS_DTLS1_0 = 201, /* 201 */
GNUTLS_DTLS1_2 = 202,
GNUTLS_DTLS_VERSION_MIN = GNUTLS_DTLS0_9,
GNUTLS_DTLS_VERSION_MAX = GNUTLS_DTLS1_2,
GNUTLS_TLS_VERSION_MAX = GNUTLS_TLS1_3,
- GNUTLS_VERSION_UNKNOWN = 0xff /* change it to 0xffff */
+ GNUTLS_VERSION_UNKNOWN = 0xff /* change it to 0xffff */
} gnutls_protocol_t;
-# define GNUTLS_CRT_RAW GNUTLS_CRT_RAWPK
+#define GNUTLS_CRT_RAW GNUTLS_CRT_RAWPK
/**
* gnutls_certificate_type_t:
@@ -857,10 +861,10 @@ typedef enum gnutls_certificate_print_formats {
GNUTLS_CRT_PRINT_FULL_NUMBERS = 4
} gnutls_certificate_print_formats_t;
-# define GNUTLS_PK_ECC GNUTLS_PK_ECDSA
-# define GNUTLS_PK_EC GNUTLS_PK_ECDSA
+#define GNUTLS_PK_ECC GNUTLS_PK_ECDSA
+#define GNUTLS_PK_EC GNUTLS_PK_ECDSA
-# define GNUTLS_PK_ECDHX GNUTLS_PK_ECDH_X25519
+#define GNUTLS_PK_ECDHX GNUTLS_PK_ECDH_X25519
/**
* gnutls_pk_algorithm_t:
* @GNUTLS_PK_UNKNOWN: Unknown public-key algorithm.
@@ -1125,9 +1129,10 @@ typedef enum {
/* macros to allow specifying a specific curve in gnutls_privkey_generate()
* and gnutls_x509_privkey_generate() */
-# define GNUTLS_CURVE_TO_BITS(curve) (unsigned int)(((unsigned int)1<<31)|((unsigned int)(curve)))
-# define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) & 0x7FFFFFFF)
-# define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) & 0x80000000)
+#define GNUTLS_CURVE_TO_BITS(curve) \
+ (unsigned int)(((unsigned int)1 << 31) | ((unsigned int)(curve)))
+#define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) & 0x7FFFFFFF)
+#define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) & 0x80000000)
/**
* gnutls_sec_param_t:
@@ -1161,7 +1166,7 @@ typedef enum {
} gnutls_sec_param_t;
/* old name */
-# define GNUTLS_SEC_PARAM_NORMAL GNUTLS_SEC_PARAM_MEDIUM
+#define GNUTLS_SEC_PARAM_NORMAL GNUTLS_SEC_PARAM_MEDIUM
/**
* gnutls_channel_binding_t:
@@ -1226,7 +1231,7 @@ typedef struct gnutls_session_int *gnutls_session_t;
struct gnutls_dh_params_int;
typedef struct gnutls_dh_params_int *gnutls_dh_params_t;
- /* XXX ugly. */
+/* XXX ugly. */
struct gnutls_x509_privkey_int;
typedef struct gnutls_x509_privkey_int *gnutls_rsa_params_t;
@@ -1257,9 +1262,9 @@ typedef int gnutls_params_function(gnutls_session_t, gnutls_params_type_t,
/* internal functions */
-int gnutls_init(gnutls_session_t * session, unsigned int flags);
+int gnutls_init(gnutls_session_t *session, unsigned int flags);
void gnutls_deinit(gnutls_session_t session);
-# define _gnutls_deinit(x) gnutls_deinit(x)
+#define _gnutls_deinit(x) gnutls_deinit(x)
int gnutls_bye(gnutls_session_t session, gnutls_close_request_t how);
@@ -1267,17 +1272,16 @@ int gnutls_handshake(gnutls_session_t session);
int gnutls_reauth(gnutls_session_t session, unsigned int flags);
-# define GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT ((unsigned int)-1)
-# define GNUTLS_INDEFINITE_TIMEOUT ((unsigned int)-2)
+#define GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT ((unsigned int)-1)
+#define GNUTLS_INDEFINITE_TIMEOUT ((unsigned int)-2)
void gnutls_handshake_set_timeout(gnutls_session_t session, unsigned int ms);
int gnutls_rehandshake(gnutls_session_t session);
-# define GNUTLS_KU_PEER 1
+#define GNUTLS_KU_PEER 1
int gnutls_session_key_update(gnutls_session_t session, unsigned flags);
gnutls_alert_description_t gnutls_alert_get(gnutls_session_t session);
-int gnutls_alert_send(gnutls_session_t session,
- gnutls_alert_level_t level,
+int gnutls_alert_send(gnutls_session_t session, gnutls_alert_level_t level,
gnutls_alert_description_t desc);
int gnutls_alert_send_appropriate(gnutls_session_t session, int err);
const char *gnutls_alert_get_name(gnutls_alert_description_t alert);
@@ -1292,8 +1296,8 @@ unsigned int
gnutls_sec_param_to_symmetric_bits(gnutls_sec_param_t param) __GNUTLS_CONST__;
/* Elliptic curves */
-const char *gnutls_ecc_curve_get_name(gnutls_ecc_curve_t curve)
- __GNUTLS_CONST__;
+const char *
+gnutls_ecc_curve_get_name(gnutls_ecc_curve_t curve) __GNUTLS_CONST__;
const char *gnutls_ecc_curve_get_oid(gnutls_ecc_curve_t curve) __GNUTLS_CONST__;
const char *gnutls_group_get_name(gnutls_group_t group) __GNUTLS_CONST__;
@@ -1319,53 +1323,51 @@ gnutls_certificate_type_get2(gnutls_session_t session,
int gnutls_sign_algorithm_get(gnutls_session_t session);
int gnutls_sign_algorithm_get_client(gnutls_session_t session);
-int gnutls_sign_algorithm_get_requested(gnutls_session_t session,
- size_t indx,
- gnutls_sign_algorithm_t * algo);
+int gnutls_sign_algorithm_get_requested(gnutls_session_t session, size_t indx,
+ gnutls_sign_algorithm_t *algo);
/* the name of the specified algorithms */
-const char *gnutls_cipher_get_name(gnutls_cipher_algorithm_t algorithm)
- __GNUTLS_CONST__;
-const char *gnutls_mac_get_name(gnutls_mac_algorithm_t algorithm)
- __GNUTLS_CONST__;
-
-const char *gnutls_digest_get_name(gnutls_digest_algorithm_t algorithm)
- __GNUTLS_CONST__;
-const char *gnutls_digest_get_oid(gnutls_digest_algorithm_t algorithm)
- __GNUTLS_CONST__;
-
-const char *gnutls_kx_get_name(gnutls_kx_algorithm_t algorithm)
- __GNUTLS_CONST__;
+const char *
+gnutls_cipher_get_name(gnutls_cipher_algorithm_t algorithm) __GNUTLS_CONST__;
+const char *
+gnutls_mac_get_name(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
+
+const char *
+gnutls_digest_get_name(gnutls_digest_algorithm_t algorithm) __GNUTLS_CONST__;
+const char *
+gnutls_digest_get_oid(gnutls_digest_algorithm_t algorithm) __GNUTLS_CONST__;
+
+const char *
+gnutls_kx_get_name(gnutls_kx_algorithm_t algorithm) __GNUTLS_CONST__;
const char *gnutls_certificate_type_get_name(gnutls_certificate_type_t type)
- __GNUTLS_CONST__;
-const char *gnutls_pk_get_name(gnutls_pk_algorithm_t algorithm)
- __GNUTLS_CONST__;
+ __GNUTLS_CONST__;
+const char *
+gnutls_pk_get_name(gnutls_pk_algorithm_t algorithm) __GNUTLS_CONST__;
const char *gnutls_pk_get_oid(gnutls_pk_algorithm_t algorithm) __GNUTLS_CONST__;
-const char *gnutls_sign_get_name(gnutls_sign_algorithm_t algorithm)
- __GNUTLS_CONST__;
+const char *
+gnutls_sign_get_name(gnutls_sign_algorithm_t algorithm) __GNUTLS_CONST__;
const char *gnutls_sign_get_oid(gnutls_sign_algorithm_t sign) __GNUTLS_CONST__;
-const char *gnutls_gost_paramset_get_name(gnutls_gost_paramset_t param)
- __GNUTLS_CONST__;
-const char *gnutls_gost_paramset_get_oid(gnutls_gost_paramset_t param)
- __GNUTLS_CONST__;
+const char *
+gnutls_gost_paramset_get_name(gnutls_gost_paramset_t param) __GNUTLS_CONST__;
+const char *
+gnutls_gost_paramset_get_oid(gnutls_gost_paramset_t param) __GNUTLS_CONST__;
+size_t gnutls_cipher_get_key_size(gnutls_cipher_algorithm_t algorithm)
+ __GNUTLS_CONST__;
size_t
-gnutls_cipher_get_key_size(gnutls_cipher_algorithm_t algorithm)
-__GNUTLS_CONST__;
-size_t gnutls_mac_get_key_size(gnutls_mac_algorithm_t algorithm)
- __GNUTLS_CONST__;
+gnutls_mac_get_key_size(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
-unsigned gnutls_sign_is_secure(gnutls_sign_algorithm_t algorithm)
- __GNUTLS_CONST__;
+unsigned
+gnutls_sign_is_secure(gnutls_sign_algorithm_t algorithm) __GNUTLS_CONST__;
/* It is possible that a signature algorithm is ok to use for short-lived
* data (e.g., to sign a TLS session), but not for data that are long-lived
* like certificates. This flag is about checking the security of the algorithm
* for long-lived data. */
-# define GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS 1
+#define GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS 1
unsigned gnutls_sign_is_secure2(gnutls_sign_algorithm_t algorithm,
unsigned int flags) __GNUTLS_CONST__;
@@ -1381,11 +1383,11 @@ unsigned
gnutls_sign_supports_pk_algorithm(gnutls_sign_algorithm_t sign,
gnutls_pk_algorithm_t pk) __GNUTLS_CONST__;
-# define gnutls_sign_algorithm_get_name gnutls_sign_get_name
+#define gnutls_sign_algorithm_get_name gnutls_sign_get_name
gnutls_mac_algorithm_t gnutls_mac_get_id(const char *name) __GNUTLS_CONST__;
-gnutls_digest_algorithm_t gnutls_digest_get_id(const char *name)
- __GNUTLS_CONST__;
+gnutls_digest_algorithm_t
+gnutls_digest_get_id(const char *name) __GNUTLS_CONST__;
gnutls_cipher_algorithm_t
gnutls_cipher_get_id(const char *name) __GNUTLS_CONST__;
@@ -1397,8 +1399,8 @@ gnutls_certificate_type_get_id(const char *name) __GNUTLS_CONST__;
gnutls_pk_algorithm_t gnutls_pk_get_id(const char *name) __GNUTLS_CONST__;
gnutls_sign_algorithm_t gnutls_sign_get_id(const char *name) __GNUTLS_CONST__;
gnutls_ecc_curve_t gnutls_ecc_curve_get_id(const char *name) __GNUTLS_CONST__;
-gnutls_pk_algorithm_t gnutls_ecc_curve_get_pk(gnutls_ecc_curve_t curve)
- __GNUTLS_CONST__;
+gnutls_pk_algorithm_t
+gnutls_ecc_curve_get_pk(gnutls_ecc_curve_t curve) __GNUTLS_CONST__;
gnutls_group_t gnutls_group_get_id(const char *name);
gnutls_digest_algorithm_t
@@ -1410,26 +1412,25 @@ gnutls_ecc_curve_t gnutls_oid_to_ecc_curve(const char *oid) __GNUTLS_CONST__;
gnutls_gost_paramset_t
gnutls_oid_to_gost_paramset(const char *oid) __GNUTLS_CONST__;
- /* list supported algorithms */
+/* list supported algorithms */
const gnutls_ecc_curve_t *gnutls_ecc_curve_list(void) __GNUTLS_PURE__;
const gnutls_group_t *gnutls_group_list(void) __GNUTLS_PURE__;
const gnutls_cipher_algorithm_t *gnutls_cipher_list(void) __GNUTLS_PURE__;
const gnutls_mac_algorithm_t *gnutls_mac_list(void) __GNUTLS_PURE__;
const gnutls_digest_algorithm_t *gnutls_digest_list(void) __GNUTLS_PURE__;
const gnutls_protocol_t *gnutls_protocol_list(void) __GNUTLS_PURE__;
-const gnutls_certificate_type_t *gnutls_certificate_type_list(void)
- __GNUTLS_PURE__;
+const gnutls_certificate_type_t *
+gnutls_certificate_type_list(void) __GNUTLS_PURE__;
const gnutls_kx_algorithm_t *gnutls_kx_list(void) __GNUTLS_PURE__;
const gnutls_pk_algorithm_t *gnutls_pk_list(void) __GNUTLS_PURE__;
const gnutls_sign_algorithm_t *gnutls_sign_list(void) __GNUTLS_PURE__;
-const char *gnutls_cipher_suite_info(size_t idx,
- unsigned char *cs_id,
- gnutls_kx_algorithm_t * kx,
- gnutls_cipher_algorithm_t * cipher,
- gnutls_mac_algorithm_t * mac,
- gnutls_protocol_t * min_version);
-
- /* functions for run-time enablement of algorithms */
+const char *gnutls_cipher_suite_info(size_t idx, unsigned char *cs_id,
+ gnutls_kx_algorithm_t *kx,
+ gnutls_cipher_algorithm_t *cipher,
+ gnutls_mac_algorithm_t *mac,
+ gnutls_protocol_t *min_version);
+
+/* functions for run-time enablement of algorithms */
int gnutls_ecc_curve_set_enabled(gnutls_ecc_curve_t curve,
unsigned int enabled);
int gnutls_sign_set_secure(gnutls_sign_algorithm_t sign, unsigned int secure);
@@ -1440,7 +1441,7 @@ int gnutls_digest_set_secure(gnutls_digest_algorithm_t dig,
int gnutls_protocol_set_enabled(gnutls_protocol_t version,
unsigned int enabled);
- /* error functions */
+/* error functions */
int gnutls_error_is_fatal(int error) __GNUTLS_CONST__;
int gnutls_error_to_alert(int err, int *level);
@@ -1453,7 +1454,7 @@ const char *gnutls_strerror_name(int error) __GNUTLS_CONST__;
void gnutls_handshake_set_private_extensions(gnutls_session_t session,
int allow);
int gnutls_handshake_set_random(gnutls_session_t session,
- const gnutls_datum_t * random);
+ const gnutls_datum_t *random);
gnutls_handshake_description_t
gnutls_handshake_get_last_out(gnutls_session_t session);
@@ -1462,7 +1463,7 @@ gnutls_handshake_get_last_in(gnutls_session_t session);
/* Record layer functions.
*/
-# define GNUTLS_HEARTBEAT_WAIT 1
+#define GNUTLS_HEARTBEAT_WAIT 1
int gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,
unsigned int max_tries, unsigned int flags);
int gnutls_heartbeat_pong(gnutls_session_t session, unsigned int flags);
@@ -1471,69 +1472,63 @@ void gnutls_record_set_timeout(gnutls_session_t session, unsigned int ms);
void gnutls_record_disable_padding(gnutls_session_t session);
void gnutls_record_cork(gnutls_session_t session);
-# define GNUTLS_RECORD_WAIT 1
+#define GNUTLS_RECORD_WAIT 1
int gnutls_record_uncork(gnutls_session_t session, unsigned int flags);
size_t gnutls_record_discard_queued(gnutls_session_t session);
-int
-gnutls_record_get_state(gnutls_session_t session,
- unsigned read,
- gnutls_datum_t * mac_key,
- gnutls_datum_t * IV,
- gnutls_datum_t * cipher_key,
- unsigned char seq_number[8]);
+int gnutls_record_get_state(gnutls_session_t session, unsigned read,
+ gnutls_datum_t *mac_key, gnutls_datum_t *IV,
+ gnutls_datum_t *cipher_key,
+ unsigned char seq_number[8]);
-int
-gnutls_record_set_state(gnutls_session_t session,
- unsigned read, const unsigned char seq_number[8]);
+int gnutls_record_set_state(gnutls_session_t session, unsigned read,
+ const unsigned char seq_number[8]);
typedef struct {
size_t low;
size_t high;
} gnutls_range_st;
-int gnutls_range_split(gnutls_session_t session,
- const gnutls_range_st * orig,
- gnutls_range_st * small_range,
- gnutls_range_st * rem_range);
+int gnutls_range_split(gnutls_session_t session, const gnutls_range_st *orig,
+ gnutls_range_st *small_range,
+ gnutls_range_st *rem_range);
ssize_t gnutls_record_send(gnutls_session_t session, const void *data,
size_t data_size);
ssize_t gnutls_record_send2(gnutls_session_t session, const void *data,
size_t data_size, size_t pad, unsigned flags);
-ssize_t gnutls_record_send_range(gnutls_session_t session,
- const void *data, size_t data_size,
- const gnutls_range_st * range);
-ssize_t gnutls_record_send_file(gnutls_session_t session, int fd,
- off_t * offset, size_t count);
+ssize_t gnutls_record_send_range(gnutls_session_t session, const void *data,
+ size_t data_size,
+ const gnutls_range_st *range);
+ssize_t gnutls_record_send_file(gnutls_session_t session, int fd, off_t *offset,
+ size_t count);
ssize_t gnutls_record_recv(gnutls_session_t session, void *data,
size_t data_size);
typedef struct mbuffer_st *gnutls_packet_t;
-ssize_t
-gnutls_record_recv_packet(gnutls_session_t session, gnutls_packet_t * packet);
+ssize_t gnutls_record_recv_packet(gnutls_session_t session,
+ gnutls_packet_t *packet);
-void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t * data,
+void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t *data,
unsigned char *sequence);
void gnutls_packet_deinit(gnutls_packet_t packet);
-# define gnutls_read gnutls_record_recv
-# define gnutls_write gnutls_record_send
+#define gnutls_read gnutls_record_recv
+#define gnutls_write gnutls_record_send
ssize_t gnutls_record_recv_seq(gnutls_session_t session, void *data,
size_t data_size, unsigned char *seq);
size_t gnutls_record_overhead_size(gnutls_session_t session);
-size_t
-gnutls_est_record_overhead_size(gnutls_protocol_t version,
- gnutls_cipher_algorithm_t cipher,
- gnutls_mac_algorithm_t mac,
- gnutls_compression_method_t comp,
- unsigned int flags) __GNUTLS_CONST__;
+size_t gnutls_est_record_overhead_size(gnutls_protocol_t version,
+ gnutls_cipher_algorithm_t cipher,
+ gnutls_mac_algorithm_t mac,
+ gnutls_compression_method_t comp,
+ unsigned int flags) __GNUTLS_CONST__;
void gnutls_session_enable_compatibility_mode(gnutls_session_t session);
-# define gnutls_record_set_max_empty_records(session, x)
+#define gnutls_record_set_max_empty_records(session, x)
unsigned gnutls_record_can_use_length_hiding(gnutls_session_t session);
@@ -1556,22 +1551,18 @@ ssize_t gnutls_record_recv_early_data(gnutls_session_t session, void *data,
void gnutls_session_force_valid(gnutls_session_t session);
-int gnutls_prf(gnutls_session_t session,
- size_t label_size, const char *label,
- int server_random_first,
- size_t extra_size, const char *extra, size_t outsize, char *out);
-int gnutls_prf_rfc5705(gnutls_session_t session,
- size_t label_size, const char *label,
- size_t context_size, const char *context,
- size_t outsize, char *out);
-int gnutls_prf_early(gnutls_session_t session,
- size_t label_size, const char *label,
- size_t context_size, const char *context,
- size_t outsize, char *out);
-
-int gnutls_prf_raw(gnutls_session_t session,
- size_t label_size, const char *label,
- size_t seed_size, const char *seed,
+int gnutls_prf(gnutls_session_t session, size_t label_size, const char *label,
+ int server_random_first, size_t extra_size, const char *extra,
+ size_t outsize, char *out);
+int gnutls_prf_rfc5705(gnutls_session_t session, size_t label_size,
+ const char *label, size_t context_size,
+ const char *context, size_t outsize, char *out);
+int gnutls_prf_early(gnutls_session_t session, size_t label_size,
+ const char *label, size_t context_size,
+ const char *context, size_t outsize, char *out);
+
+int gnutls_prf_raw(gnutls_session_t session, size_t label_size,
+ const char *label, size_t seed_size, const char *seed,
size_t outsize, char *out);
/**
@@ -1585,28 +1576,28 @@ typedef enum {
} gnutls_server_name_type_t;
int gnutls_server_name_set(gnutls_session_t session,
- gnutls_server_name_type_t type,
- const void *name, size_t name_length);
+ gnutls_server_name_type_t type, const void *name,
+ size_t name_length);
-int gnutls_server_name_get(gnutls_session_t session,
- void *data, size_t *data_length,
- unsigned int *type, unsigned int indx);
+int gnutls_server_name_get(gnutls_session_t session, void *data,
+ size_t *data_length, unsigned int *type,
+ unsigned int indx);
unsigned int gnutls_heartbeat_get_timeout(gnutls_session_t session);
void gnutls_heartbeat_set_timeouts(gnutls_session_t session,
unsigned int retrans_timeout,
unsigned int total_timeout);
-# define GNUTLS_HB_PEER_ALLOWED_TO_SEND (1)
-# define GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND (1<<1)
+#define GNUTLS_HB_PEER_ALLOWED_TO_SEND (1)
+#define GNUTLS_HB_PEER_NOT_ALLOWED_TO_SEND (1 << 1)
- /* Heartbeat */
+/* Heartbeat */
void gnutls_heartbeat_enable(gnutls_session_t session, unsigned int type);
-# define GNUTLS_HB_LOCAL_ALLOWED_TO_SEND (1<<2)
+#define GNUTLS_HB_LOCAL_ALLOWED_TO_SEND (1 << 2)
unsigned gnutls_heartbeat_allowed(gnutls_session_t session, unsigned int type);
- /* Safe renegotiation */
+/* Safe renegotiation */
unsigned gnutls_safe_renegotiation_status(gnutls_session_t session);
unsigned gnutls_session_ext_master_secret_status(gnutls_session_t session);
unsigned gnutls_session_etm_status(gnutls_session_t session);
@@ -1657,19 +1648,19 @@ typedef enum {
GNUTLS_SUPPLEMENTAL_UNKNOWN = 0,
} gnutls_supplemental_data_format_type_t;
-const char
-*gnutls_supplemental_get_name(gnutls_supplemental_data_format_type_t type);
+const char *
+gnutls_supplemental_get_name(gnutls_supplemental_data_format_type_t type);
- /* SessionTicket, RFC 5077. */
-int gnutls_session_ticket_key_generate(gnutls_datum_t * key);
+/* SessionTicket, RFC 5077. */
+int gnutls_session_ticket_key_generate(gnutls_datum_t *key);
int gnutls_session_ticket_enable_client(gnutls_session_t session);
int gnutls_session_ticket_enable_server(gnutls_session_t session,
- const gnutls_datum_t * key);
+ const gnutls_datum_t *key);
int gnutls_session_ticket_send(gnutls_session_t session, unsigned nr,
unsigned flags);
- /* SRTP, RFC 5764 */
+/* SRTP, RFC 5764 */
/**
* gnutls_srtp_profile_t:
@@ -1696,28 +1687,27 @@ int gnutls_srtp_set_profile(gnutls_session_t session,
int gnutls_srtp_set_profile_direct(gnutls_session_t session,
const char *profiles, const char **err_pos);
int gnutls_srtp_get_selected_profile(gnutls_session_t session,
- gnutls_srtp_profile_t * profile);
+ gnutls_srtp_profile_t *profile);
const char *gnutls_srtp_get_profile_name(gnutls_srtp_profile_t profile);
int gnutls_srtp_get_profile_id(const char *name,
- gnutls_srtp_profile_t * profile);
-int gnutls_srtp_get_keys(gnutls_session_t session,
- void *key_material,
+ gnutls_srtp_profile_t *profile);
+int gnutls_srtp_get_keys(gnutls_session_t session, void *key_material,
unsigned int key_material_size,
- gnutls_datum_t * client_key,
- gnutls_datum_t * client_salt,
- gnutls_datum_t * server_key,
- gnutls_datum_t * server_salt);
+ gnutls_datum_t *client_key,
+ gnutls_datum_t *client_salt,
+ gnutls_datum_t *server_key,
+ gnutls_datum_t *server_salt);
-int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t * mki);
-int gnutls_srtp_get_mki(gnutls_session_t session, gnutls_datum_t * mki);
+int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t *mki);
+int gnutls_srtp_get_mki(gnutls_session_t session, gnutls_datum_t *mki);
/* COMPRESS_CERTIFICATE extension, RFC8879 */
gnutls_compression_method_t
gnutls_compress_certificate_get_selected_method(gnutls_session_t session);
-int gnutls_compress_certificate_set_methods(gnutls_session_t session,
- const gnutls_compression_method_t *
- methods, size_t methods_len);
+int gnutls_compress_certificate_set_methods(
+ gnutls_session_t session, const gnutls_compression_method_t *methods,
+ size_t methods_len);
/* ALPN TLS extension */
@@ -1735,19 +1725,19 @@ typedef enum {
GNUTLS_ALPN_SERVER_PRECEDENCE = (1 << 1)
} gnutls_alpn_flags_t;
-# define GNUTLS_ALPN_MAND GNUTLS_ALPN_MANDATORY
+#define GNUTLS_ALPN_MAND GNUTLS_ALPN_MANDATORY
int gnutls_alpn_get_selected_protocol(gnutls_session_t session,
- gnutls_datum_t * protocol);
+ gnutls_datum_t *protocol);
int gnutls_alpn_set_protocols(gnutls_session_t session,
- const gnutls_datum_t * protocols,
+ const gnutls_datum_t *protocols,
unsigned protocols_size, unsigned flags);
-int gnutls_key_generate(gnutls_datum_t * key, unsigned int key_size);
+int gnutls_key_generate(gnutls_datum_t *key, unsigned int key_size);
-# define GNUTLS_PRIORITY_INIT_DEF_APPEND 1
-int gnutls_priority_init(gnutls_priority_t * priority_cache,
+#define GNUTLS_PRIORITY_INIT_DEF_APPEND 1
+int gnutls_priority_init(gnutls_priority_t *priority_cache,
const char *priorities, const char **err_pos);
-int gnutls_priority_init2(gnutls_priority_t * priority_cache,
+int gnutls_priority_init2(gnutls_priority_t *priority_cache,
const char *priorities, const char **err_pos,
unsigned flags);
void gnutls_priority_deinit(gnutls_priority_t priority_cache);
@@ -1755,14 +1745,14 @@ int gnutls_priority_get_cipher_suite_index(gnutls_priority_t pcache,
unsigned int idx,
unsigned int *sidx);
-# define GNUTLS_PRIORITY_LIST_INIT_KEYWORDS 1
-# define GNUTLS_PRIORITY_LIST_SPECIAL 2
+#define GNUTLS_PRIORITY_LIST_INIT_KEYWORDS 1
+#define GNUTLS_PRIORITY_LIST_SPECIAL 2
const char *gnutls_priority_string_list(unsigned iter, unsigned int flags);
int gnutls_priority_set(gnutls_session_t session, gnutls_priority_t priority);
-int gnutls_priority_set_direct(gnutls_session_t session,
- const char *priorities, const char **err_pos);
+int gnutls_priority_set_direct(gnutls_session_t session, const char *priorities,
+ const char **err_pos);
int gnutls_priority_certificate_type_list(gnutls_priority_t pcache,
const unsigned int **list);
@@ -1775,8 +1765,8 @@ int gnutls_priority_protocol_list(gnutls_priority_t pcache,
const unsigned int **list);
int gnutls_priority_ecc_curve_list(gnutls_priority_t pcache,
const unsigned int **list);
-int
-gnutls_priority_group_list(gnutls_priority_t pcache, const unsigned int **list);
+int gnutls_priority_group_list(gnutls_priority_t pcache,
+ const unsigned int **list);
int gnutls_priority_kx_list(gnutls_priority_t pcache,
const unsigned int **list);
@@ -1793,40 +1783,37 @@ int gnutls_set_default_priority_append(gnutls_session_t session,
const char **err_pos, unsigned flags);
/* Returns the name of a cipher suite */
-const char *gnutls_cipher_suite_get_name(gnutls_kx_algorithm_t kx_algorithm,
- gnutls_cipher_algorithm_t
- cipher_algorithm,
- gnutls_mac_algorithm_t mac_algorithm)
- __GNUTLS_CONST__;
+const char *gnutls_cipher_suite_get_name(
+ gnutls_kx_algorithm_t kx_algorithm,
+ gnutls_cipher_algorithm_t cipher_algorithm,
+ gnutls_mac_algorithm_t mac_algorithm) __GNUTLS_CONST__;
const char *gnutls_ciphersuite_get(gnutls_session_t session) __GNUTLS_CONST__;
/* get the currently used protocol version */
gnutls_protocol_t gnutls_protocol_get_version(gnutls_session_t session);
-const char *gnutls_protocol_get_name(gnutls_protocol_t version)
- __GNUTLS_CONST__;
+const char *
+gnutls_protocol_get_name(gnutls_protocol_t version) __GNUTLS_CONST__;
/* get/set session
*/
-int gnutls_session_set_data(gnutls_session_t session,
- const void *session_data, size_t session_data_size);
+int gnutls_session_set_data(gnutls_session_t session, const void *session_data,
+ size_t session_data_size);
int gnutls_session_get_data(gnutls_session_t session, void *session_data,
size_t *session_data_size);
-int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t * data);
-void gnutls_session_get_random(gnutls_session_t session,
- gnutls_datum_t * client,
- gnutls_datum_t * server);
+int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t *data);
+void gnutls_session_get_random(gnutls_session_t session, gnutls_datum_t *client,
+ gnutls_datum_t *server);
void gnutls_session_get_master_secret(gnutls_session_t session,
- gnutls_datum_t * secret);
+ gnutls_datum_t *secret);
char *gnutls_session_get_desc(gnutls_session_t session);
typedef int gnutls_certificate_verify_function(gnutls_session_t);
-void gnutls_session_set_verify_function(gnutls_session_t session,
- gnutls_certificate_verify_function *
- func);
+void gnutls_session_set_verify_function(
+ gnutls_session_t session, gnutls_certificate_verify_function *func);
/**
* gnutls_vdata_types_t:
@@ -1867,35 +1854,33 @@ typedef struct {
void gnutls_session_set_verify_cert(gnutls_session_t session,
const char *hostname, unsigned flags);
-void
-gnutls_session_set_verify_cert2(gnutls_session_t session,
- gnutls_typed_vdata_st * data,
- unsigned elements, unsigned flags);
+void gnutls_session_set_verify_cert2(gnutls_session_t session,
+ gnutls_typed_vdata_st *data,
+ unsigned elements, unsigned flags);
unsigned int gnutls_session_get_verify_cert_status(gnutls_session_t);
-int gnutls_session_set_premaster(gnutls_session_t session,
- unsigned int entity,
+int gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
gnutls_protocol_t version,
gnutls_kx_algorithm_t kx,
gnutls_cipher_algorithm_t cipher,
gnutls_mac_algorithm_t mac,
gnutls_compression_method_t comp,
- const gnutls_datum_t * master,
- const gnutls_datum_t * session_id);
+ const gnutls_datum_t *master,
+ const gnutls_datum_t *session_id);
/* returns the session ID */
-# define GNUTLS_MAX_SESSION_ID 32
+#define GNUTLS_MAX_SESSION_ID 32
int gnutls_session_get_id(gnutls_session_t session, void *session_id,
size_t *session_id_size);
int gnutls_session_get_id2(gnutls_session_t session,
- gnutls_datum_t * session_id);
+ gnutls_datum_t *session_id);
-int gnutls_session_set_id(gnutls_session_t session, const gnutls_datum_t * sid);
+int gnutls_session_set_id(gnutls_session_t session, const gnutls_datum_t *sid);
int gnutls_session_channel_binding(gnutls_session_t session,
gnutls_channel_binding_t cbtype,
- gnutls_datum_t * cb);
+ gnutls_datum_t *cb);
/* checks if this session is a resumed one
*/
@@ -1905,7 +1890,7 @@ int gnutls_session_resumption_requested(gnutls_session_t session);
typedef int (*gnutls_db_store_func)(void *, gnutls_datum_t key,
gnutls_datum_t data);
typedef int (*gnutls_db_remove_func)(void *, gnutls_datum_t key);
-typedef gnutls_datum_t(*gnutls_db_retr_func) (void *, gnutls_datum_t key);
+typedef gnutls_datum_t (*gnutls_db_retr_func)(void *, gnutls_datum_t key);
void gnutls_db_set_cache_expiration(gnutls_session_t session, int seconds);
unsigned gnutls_db_get_default_cache_expiration(void);
@@ -1921,12 +1906,12 @@ void gnutls_db_set_ptr(gnutls_session_t session, void *ptr);
void *gnutls_db_get_ptr(gnutls_session_t session);
int gnutls_db_check_entry(gnutls_session_t session,
gnutls_datum_t session_entry);
-time_t gnutls_db_check_entry_time(gnutls_datum_t * entry);
-time_t gnutls_db_check_entry_expire_time(gnutls_datum_t * entry);
+time_t gnutls_db_check_entry_time(gnutls_datum_t *entry);
+time_t gnutls_db_check_entry_expire_time(gnutls_datum_t *entry);
-# define GNUTLS_HOOK_POST (1)
-# define GNUTLS_HOOK_PRE (0)
-# define GNUTLS_HOOK_BOTH (-1)
+#define GNUTLS_HOOK_POST (1)
+#define GNUTLS_HOOK_PRE (0)
+#define GNUTLS_HOOK_BOTH (-1)
/**
* gnutls_handshake_hook_func:
@@ -1941,21 +1926,18 @@ time_t gnutls_db_check_entry_expire_time(gnutls_datum_t * entry);
*
* Returns: Non zero on error.
*/
-typedef int (*gnutls_handshake_hook_func)(gnutls_session_t,
- unsigned int htype,
- unsigned when,
- unsigned int incoming,
- const gnutls_datum_t * msg);
+typedef int (*gnutls_handshake_hook_func)(gnutls_session_t, unsigned int htype,
+ unsigned when, unsigned int incoming,
+ const gnutls_datum_t *msg);
void gnutls_handshake_set_hook_function(gnutls_session_t session,
unsigned int htype, int when,
gnutls_handshake_hook_func func);
-# define gnutls_handshake_post_client_hello_func gnutls_handshake_simple_hook_func
+#define gnutls_handshake_post_client_hello_func \
+ gnutls_handshake_simple_hook_func
typedef int (*gnutls_handshake_simple_hook_func)(gnutls_session_t);
-void
-gnutls_handshake_set_post_client_hello_function(gnutls_session_t session,
- gnutls_handshake_simple_hook_func
- func);
+void gnutls_handshake_set_post_client_hello_function(
+ gnutls_session_t session, gnutls_handshake_simple_hook_func func);
void gnutls_handshake_set_max_packet_length(gnutls_session_t session,
size_t max);
@@ -1969,10 +1951,10 @@ const char *gnutls_check_version(const char *req_version) __GNUTLS_CONST__;
* Used as:
* if (gnutls_check_version_numerc(3,3,16)) {
*/
-# define gnutls_check_version_numeric(a,b,c) \
- ((GNUTLS_VERSION_MAJOR >= (a)) && \
- ((GNUTLS_VERSION_NUMBER >= ( ((a) << 16) + ((b) << 8) + (c) )) || \
- gnutls_check_version(#a "." #b "." #c)))
+#define gnutls_check_version_numeric(a, b, c) \
+ ((GNUTLS_VERSION_MAJOR >= (a)) && \
+ ((GNUTLS_VERSION_NUMBER >= (((a) << 16) + ((b) << 8) + (c))) || \
+ gnutls_check_version(#a "." #b "." #c)))
/* Functions for setting/clearing credentials
*/
@@ -1984,7 +1966,7 @@ int gnutls_credentials_set(gnutls_session_t session,
gnutls_credentials_type_t type, void *cred);
int gnutls_credentials_get(gnutls_session_t session,
gnutls_credentials_type_t type, void **cred);
-# define gnutls_cred_set gnutls_credentials_set
+#define gnutls_cred_set gnutls_credentials_set
/* x.509 types */
@@ -2013,49 +1995,47 @@ typedef struct gnutls_openpgp_keyring_int *gnutls_openpgp_keyring_t;
struct gnutls_certificate_credentials_st;
typedef struct gnutls_certificate_credentials_st
-*gnutls_certificate_credentials_t;
+ *gnutls_certificate_credentials_t;
typedef gnutls_certificate_credentials_t gnutls_certificate_server_credentials;
typedef gnutls_certificate_credentials_t gnutls_certificate_client_credentials;
typedef struct gnutls_anon_server_credentials_st
-*gnutls_anon_server_credentials_t;
+ *gnutls_anon_server_credentials_t;
typedef struct gnutls_anon_client_credentials_st
-*gnutls_anon_client_credentials_t;
+ *gnutls_anon_client_credentials_t;
void gnutls_anon_free_server_credentials(gnutls_anon_server_credentials_t sc);
-int
-gnutls_anon_allocate_server_credentials(gnutls_anon_server_credentials_t * sc);
+int gnutls_anon_allocate_server_credentials(
+ gnutls_anon_server_credentials_t *sc);
void gnutls_anon_set_server_dh_params(gnutls_anon_server_credentials_t res,
gnutls_dh_params_t dh_params);
-int
-gnutls_anon_set_server_known_dh_params(gnutls_anon_server_credentials_t res,
- gnutls_sec_param_t sec_param);
+int gnutls_anon_set_server_known_dh_params(gnutls_anon_server_credentials_t res,
+ gnutls_sec_param_t sec_param);
-void
-gnutls_anon_set_server_params_function(gnutls_anon_server_credentials_t
- res, gnutls_params_function * func);
+void gnutls_anon_set_server_params_function(
+ gnutls_anon_server_credentials_t res, gnutls_params_function *func);
void gnutls_anon_free_client_credentials(gnutls_anon_client_credentials_t sc);
-int
-gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t * sc);
+int gnutls_anon_allocate_client_credentials(
+ gnutls_anon_client_credentials_t *sc);
/* CERTFILE is an x509 certificate in PEM form.
* KEYFILE is a pkcs-1 private key in PEM form (for RSA keys).
*/
void gnutls_certificate_free_credentials(gnutls_certificate_credentials_t sc);
-int
-gnutls_certificate_allocate_credentials(gnutls_certificate_credentials_t * res);
+int gnutls_certificate_allocate_credentials(
+ gnutls_certificate_credentials_t *res);
-int
-gnutls_certificate_get_issuer(gnutls_certificate_credentials_t sc,
- gnutls_x509_crt_t cert,
- gnutls_x509_crt_t * issuer, unsigned int flags);
+int gnutls_certificate_get_issuer(gnutls_certificate_credentials_t sc,
+ gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t *issuer,
+ unsigned int flags);
int gnutls_certificate_get_crt_raw(gnutls_certificate_credentials_t sc,
unsigned idx1, unsigned idx2,
- gnutls_datum_t * cert);
+ gnutls_datum_t *cert);
void gnutls_certificate_free_keys(gnutls_certificate_credentials_t sc);
void gnutls_certificate_free_cas(gnutls_certificate_credentials_t sc);
@@ -2067,8 +2047,8 @@ void gnutls_certificate_set_dh_params(gnutls_certificate_credentials_t res,
int gnutls_certificate_set_known_dh_params(gnutls_certificate_credentials_t res,
gnutls_sec_param_t sec_param);
-void gnutls_certificate_set_verify_flags(gnutls_certificate_credentials_t
- res, unsigned int flags);
+void gnutls_certificate_set_verify_flags(gnutls_certificate_credentials_t res,
+ unsigned int flags);
unsigned int
gnutls_certificate_get_verify_flags(gnutls_certificate_credentials_t res);
@@ -2093,116 +2073,111 @@ typedef enum gnutls_certificate_flags {
void gnutls_certificate_set_flags(gnutls_certificate_credentials_t,
unsigned flags);
-void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t
- res, unsigned int max_bits,
+void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t res,
+ unsigned int max_bits,
unsigned int max_depth);
-int
-gnutls_certificate_set_x509_system_trust(gnutls_certificate_credentials_t cred);
+int gnutls_certificate_set_x509_system_trust(
+ gnutls_certificate_credentials_t cred);
-int
-gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t
- cred, const char *cafile,
- gnutls_x509_crt_fmt_t type);
-int
-gnutls_certificate_set_x509_trust_dir(gnutls_certificate_credentials_t cred,
- const char *ca_dir,
- gnutls_x509_crt_fmt_t type);
+int gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t cred,
+ const char *cafile,
+ gnutls_x509_crt_fmt_t type);
+int gnutls_certificate_set_x509_trust_dir(gnutls_certificate_credentials_t cred,
+ const char *ca_dir,
+ gnutls_x509_crt_fmt_t type);
-int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t
- res, const gnutls_datum_t * ca,
+int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *ca,
gnutls_x509_crt_fmt_t type);
-int
-gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t
- res, const char *crlfile,
- gnutls_x509_crt_fmt_t type);
-int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t
- res, const gnutls_datum_t * CRL,
+int gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t res,
+ const char *crlfile,
+ gnutls_x509_crt_fmt_t type);
+int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *CRL,
gnutls_x509_crt_fmt_t type);
-int
-gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t
- res, const char *certfile,
- const char *keyfile,
- gnutls_x509_crt_fmt_t type);
-
-int
-gnutls_certificate_set_x509_key_file2(gnutls_certificate_credentials_t
- res, const char *certfile,
- const char *keyfile,
- gnutls_x509_crt_fmt_t type,
- const char *pass, unsigned int flags);
-
-int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t
- res, const gnutls_datum_t * cert,
- const gnutls_datum_t * key,
+int gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t res,
+ const char *certfile,
+ const char *keyfile,
+ gnutls_x509_crt_fmt_t type);
+
+int gnutls_certificate_set_x509_key_file2(gnutls_certificate_credentials_t res,
+ const char *certfile,
+ const char *keyfile,
+ gnutls_x509_crt_fmt_t type,
+ const char *pass, unsigned int flags);
+
+int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *cert,
+ const gnutls_datum_t *key,
gnutls_x509_crt_fmt_t type);
-int gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t
- res, const gnutls_datum_t * cert,
- const gnutls_datum_t * key,
+int gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *cert,
+ const gnutls_datum_t *key,
gnutls_x509_crt_fmt_t type,
const char *pass, unsigned int flags);
void gnutls_certificate_send_x509_rdn_sequence(gnutls_session_t session,
int status);
-int gnutls_certificate_set_x509_simple_pkcs12_file
- (gnutls_certificate_credentials_t res, const char *pkcs12file,
- gnutls_x509_crt_fmt_t type, const char *password);
-int gnutls_certificate_set_x509_simple_pkcs12_mem
- (gnutls_certificate_credentials_t res, const gnutls_datum_t * p12blob,
- gnutls_x509_crt_fmt_t type, const char *password);
+int gnutls_certificate_set_x509_simple_pkcs12_file(
+ gnutls_certificate_credentials_t res, const char *pkcs12file,
+ gnutls_x509_crt_fmt_t type, const char *password);
+int gnutls_certificate_set_x509_simple_pkcs12_mem(
+ gnutls_certificate_credentials_t res, const gnutls_datum_t *p12blob,
+ gnutls_x509_crt_fmt_t type, const char *password);
/* New functions to allow setting already parsed X.509 stuff.
*/
int gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t res,
- gnutls_x509_crt_t * cert_list,
+ gnutls_x509_crt_t *cert_list,
int cert_list_size,
gnutls_x509_privkey_t key);
int gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t res,
- gnutls_x509_crt_t * ca_list,
+ gnutls_x509_crt_t *ca_list,
int ca_list_size);
int gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t res,
- gnutls_x509_crl_t * crl_list,
+ gnutls_x509_crl_t *crl_list,
int crl_list_size);
int gnutls_certificate_get_x509_key(gnutls_certificate_credentials_t res,
- unsigned index,
- gnutls_x509_privkey_t * key);
+ unsigned index, gnutls_x509_privkey_t *key);
int gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t res,
unsigned index,
- gnutls_x509_crt_t ** crt_list,
+ gnutls_x509_crt_t **crt_list,
unsigned *crt_list_size);
- /* OCSP status request extension, RFC 6066 */
-typedef int (*gnutls_status_request_ocsp_func)
- (gnutls_session_t session, void *ptr, gnutls_datum_t * ocsp_response);
+/* OCSP status request extension, RFC 6066 */
+typedef int (*gnutls_status_request_ocsp_func)(gnutls_session_t session,
+ void *ptr,
+ gnutls_datum_t *ocsp_response);
-void gnutls_certificate_set_ocsp_status_request_function
- (gnutls_certificate_credentials_t res,
- gnutls_status_request_ocsp_func ocsp_func, void *ptr);
+void gnutls_certificate_set_ocsp_status_request_function(
+ gnutls_certificate_credentials_t res,
+ gnutls_status_request_ocsp_func ocsp_func, void *ptr);
-int gnutls_certificate_set_ocsp_status_request_function2
- (gnutls_certificate_credentials_t res, unsigned idx,
- gnutls_status_request_ocsp_func ocsp_func, void *ptr);
+int gnutls_certificate_set_ocsp_status_request_function2(
+ gnutls_certificate_credentials_t res, unsigned idx,
+ gnutls_status_request_ocsp_func ocsp_func, void *ptr);
-int gnutls_certificate_set_ocsp_status_request_file
- (gnutls_certificate_credentials_t res, const char *response_file,
- unsigned idx);
+int gnutls_certificate_set_ocsp_status_request_file(
+ gnutls_certificate_credentials_t res, const char *response_file,
+ unsigned idx);
-int gnutls_certificate_set_ocsp_status_request_file2
- (gnutls_certificate_credentials_t res, const char *response_file,
- unsigned idx, gnutls_x509_crt_fmt_t fmt);
+int gnutls_certificate_set_ocsp_status_request_file2(
+ gnutls_certificate_credentials_t res, const char *response_file,
+ unsigned idx, gnutls_x509_crt_fmt_t fmt);
-int gnutls_certificate_set_ocsp_status_request_mem
- (gnutls_certificate_credentials_t res, const gnutls_datum_t * resp,
- unsigned idx, gnutls_x509_crt_fmt_t fmt);
+int gnutls_certificate_set_ocsp_status_request_mem(
+ gnutls_certificate_credentials_t res, const gnutls_datum_t *resp,
+ unsigned idx, gnutls_x509_crt_fmt_t fmt);
typedef struct gnutls_ocsp_data_st {
- unsigned int version; /* must be zero */
+ unsigned int version; /* must be zero */
gnutls_datum_t response;
time_t exptime;
unsigned char padding[32];
@@ -2212,44 +2187,32 @@ time_t
gnutls_certificate_get_ocsp_expiration(gnutls_certificate_credentials_t sc,
unsigned idx, int oidx, unsigned flags);
-int gnutls_ocsp_status_request_enable_client(gnutls_session_t session,
- gnutls_datum_t * responder_id,
- size_t responder_id_size,
- gnutls_datum_t *
- request_extensions);
+int gnutls_ocsp_status_request_enable_client(
+ gnutls_session_t session, gnutls_datum_t *responder_id,
+ size_t responder_id_size, gnutls_datum_t *request_extensions);
int gnutls_ocsp_status_request_get(gnutls_session_t session,
- gnutls_datum_t * response);
+ gnutls_datum_t *response);
-# define GNUTLS_OCSP_SR_IS_AVAIL 1
+#define GNUTLS_OCSP_SR_IS_AVAIL 1
unsigned gnutls_ocsp_status_request_is_checked(gnutls_session_t session,
unsigned int flags);
-int
-gnutls_ocsp_status_request_get2(gnutls_session_t session,
- unsigned idx, gnutls_datum_t * response);
+int gnutls_ocsp_status_request_get2(gnutls_session_t session, unsigned idx,
+ gnutls_datum_t *response);
/* RAW public key functions (RFC7250) */
-int gnutls_certificate_set_rawpk_key_mem(gnutls_certificate_credentials_t cred,
- const gnutls_datum_t * spki,
- const gnutls_datum_t * pkey,
- gnutls_x509_crt_fmt_t format,
- const char *pass,
- unsigned int key_usage,
- const char **names,
- unsigned int names_length,
- unsigned int flags);
-
-int gnutls_certificate_set_rawpk_key_file(gnutls_certificate_credentials_t cred,
- const char *rawpkfile,
- const char *privkeyfile,
- gnutls_x509_crt_fmt_t format,
- const char *pass,
- unsigned int key_usage,
- const char **names,
- unsigned int names_length,
- unsigned int privkey_flags,
- unsigned int pkcs11_flags);
+int gnutls_certificate_set_rawpk_key_mem(
+ gnutls_certificate_credentials_t cred, const gnutls_datum_t *spki,
+ const gnutls_datum_t *pkey, gnutls_x509_crt_fmt_t format,
+ const char *pass, unsigned int key_usage, const char **names,
+ unsigned int names_length, unsigned int flags);
+
+int gnutls_certificate_set_rawpk_key_file(
+ gnutls_certificate_credentials_t cred, const char *rawpkfile,
+ const char *privkeyfile, gnutls_x509_crt_fmt_t format, const char *pass,
+ unsigned int key_usage, const char **names, unsigned int names_length,
+ unsigned int privkey_flags, unsigned int pkcs11_flags);
/* global state functions
*/
@@ -2267,15 +2230,14 @@ const gnutls_library_config_st *gnutls_get_library_config(void);
*
* Returns: Number of seconds since the epoch, or (time_t)-1 on errors.
*/
-typedef time_t(*gnutls_time_func) (time_t * t);
+typedef time_t (*gnutls_time_func)(time_t *t);
typedef int (*mutex_init_func)(void **mutex);
typedef int (*mutex_lock_func)(void **mutex);
typedef int (*mutex_unlock_func)(void **mutex);
typedef int (*mutex_deinit_func)(void **mutex);
-void gnutls_global_set_mutex(mutex_init_func init,
- mutex_deinit_func deinit,
+void gnutls_global_set_mutex(mutex_init_func init, mutex_deinit_func deinit,
mutex_lock_func lock, mutex_unlock_func unlock);
typedef void *(*gnutls_alloc_function)(size_t);
@@ -2292,9 +2254,9 @@ extern _SYM_EXPORT gnutls_realloc_function gnutls_realloc;
extern _SYM_EXPORT gnutls_calloc_function gnutls_calloc;
extern _SYM_EXPORT gnutls_free_function gnutls_free;
-# ifdef GNUTLS_INTERNAL_BUILD
-# define gnutls_free(a) gnutls_free((void *) (a)), a=NULL
-# endif
+#ifdef GNUTLS_INTERNAL_BUILD
+#define gnutls_free(a) gnutls_free((void *)(a)), a = NULL
+#endif
extern _SYM_EXPORT char *(*gnutls_strdup)(const char *);
@@ -2322,33 +2284,32 @@ void gnutls_global_set_log_level(int level);
* Returns: Non zero on error.
* Since: 3.6.13
*/
-typedef int (*gnutls_keylog_func)(gnutls_session_t session,
- const char *label,
- const gnutls_datum_t * secret);
-gnutls_keylog_func gnutls_session_get_keylog_function(const gnutls_session_t
- session);
+typedef int (*gnutls_keylog_func)(gnutls_session_t session, const char *label,
+ const gnutls_datum_t *secret);
+gnutls_keylog_func
+gnutls_session_get_keylog_function(const gnutls_session_t session);
void gnutls_session_set_keylog_function(gnutls_session_t session,
gnutls_keylog_func func);
/* Diffie-Hellman parameter handling.
*/
-int gnutls_dh_params_init(gnutls_dh_params_t * dh_params);
+int gnutls_dh_params_init(gnutls_dh_params_t *dh_params);
void gnutls_dh_params_deinit(gnutls_dh_params_t dh_params);
int gnutls_dh_params_import_raw(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * prime,
- const gnutls_datum_t * generator);
+ const gnutls_datum_t *prime,
+ const gnutls_datum_t *generator);
int gnutls_dh_params_import_dsa(gnutls_dh_params_t dh_params,
gnutls_x509_privkey_t key);
int gnutls_dh_params_import_raw2(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * prime,
- const gnutls_datum_t * generator,
+ const gnutls_datum_t *prime,
+ const gnutls_datum_t *generator,
unsigned key_bits);
int gnutls_dh_params_import_raw3(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * prime,
- const gnutls_datum_t * q,
- const gnutls_datum_t * generator);
+ const gnutls_datum_t *prime,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *generator);
int gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,
- const gnutls_datum_t * pkcs3_params,
+ const gnutls_datum_t *pkcs3_params,
gnutls_x509_crt_fmt_t format);
int gnutls_dh_params_generate2(gnutls_dh_params_t params, unsigned int bits);
int gnutls_dh_params_export_pkcs3(gnutls_dh_params_t params,
@@ -2357,38 +2318,39 @@ int gnutls_dh_params_export_pkcs3(gnutls_dh_params_t params,
size_t *params_data_size);
int gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,
gnutls_x509_crt_fmt_t format,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
int gnutls_dh_params_export_raw(gnutls_dh_params_t params,
- gnutls_datum_t * prime,
- gnutls_datum_t * generator, unsigned int *bits);
+ gnutls_datum_t *prime,
+ gnutls_datum_t *generator, unsigned int *bits);
int gnutls_dh_params_cpy(gnutls_dh_params_t dst, gnutls_dh_params_t src);
/* Session stuff
*/
/* clang-format off */
@DEFINE_IOVEC_T@
-/* clang-format on */
+ /* clang-format on */
-typedef ssize_t(*gnutls_pull_func) (gnutls_transport_ptr_t, void *, size_t);
-typedef ssize_t(*gnutls_push_func) (gnutls_transport_ptr_t, const void *,
+ typedef ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void *,
+ size_t);
+typedef ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void *,
size_t);
int gnutls_system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms);
typedef int (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t,
unsigned int ms);
-typedef ssize_t(*gnutls_vec_push_func) (gnutls_transport_ptr_t,
- const giovec_t * iov, int iovcnt);
+typedef ssize_t (*gnutls_vec_push_func)(gnutls_transport_ptr_t,
+ const giovec_t *iov, int iovcnt);
typedef int (*gnutls_errno_func)(gnutls_transport_ptr_t);
-# if 0
+#if 0
/* This will be defined as macro. */
void gnutls_transport_set_int(gnutls_session_t session, int r);
-# endif
+#endif
void gnutls_transport_set_int2(gnutls_session_t session, int r, int s);
-# define gnutls_transport_set_int(s, i) gnutls_transport_set_int2(s, i, i)
+#define gnutls_transport_set_int(s, i) gnutls_transport_set_int2(s, i, i)
void gnutls_transport_get_int2(gnutls_session_t session, int *r, int *s);
int gnutls_transport_get_int(gnutls_session_t session);
@@ -2401,8 +2363,8 @@ void gnutls_transport_set_ptr2(gnutls_session_t session,
gnutls_transport_ptr_t gnutls_transport_get_ptr(gnutls_session_t session);
void gnutls_transport_get_ptr2(gnutls_session_t session,
- gnutls_transport_ptr_t * recv_ptr,
- gnutls_transport_ptr_t * send_ptr);
+ gnutls_transport_ptr_t *recv_ptr,
+ gnutls_transport_ptr_t *send_ptr);
void gnutls_transport_set_vec_push_function(gnutls_session_t session,
gnutls_vec_push_func vec_func);
@@ -2430,7 +2392,7 @@ void gnutls_openpgp_send_cert(gnutls_session_t session,
/* This function returns the hash of the given data.
*/
int gnutls_fingerprint(gnutls_digest_algorithm_t algo,
- const gnutls_datum_t * data, void *result,
+ const gnutls_datum_t *data, void *result,
size_t *result_size);
/**
@@ -2443,48 +2405,43 @@ typedef enum gnutls_random_art {
GNUTLS_RANDOM_ART_OPENSSH = 1
} gnutls_random_art_t;
-int gnutls_random_art(gnutls_random_art_t type,
- const char *key_type, unsigned int key_size,
- void *fpr, size_t fpr_size, gnutls_datum_t * art);
+int gnutls_random_art(gnutls_random_art_t type, const char *key_type,
+ unsigned int key_size, void *fpr, size_t fpr_size,
+ gnutls_datum_t *art);
/* IDNA */
-# define GNUTLS_IDNA_FORCE_2008 (1<<1)
-int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
+#define GNUTLS_IDNA_FORCE_2008 (1 << 1)
+int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t *out,
unsigned flags);
int gnutls_idna_reverse_map(const char *input, unsigned ilen,
- gnutls_datum_t * out, unsigned flags);
+ gnutls_datum_t *out, unsigned flags);
/* SRP
*/
-typedef struct gnutls_srp_server_credentials_st
-*gnutls_srp_server_credentials_t;
-typedef struct gnutls_srp_client_credentials_st
-*gnutls_srp_client_credentials_t;
+typedef struct gnutls_srp_server_credentials_st *gnutls_srp_server_credentials_t;
+typedef struct gnutls_srp_client_credentials_st *gnutls_srp_client_credentials_t;
void gnutls_srp_free_client_credentials(gnutls_srp_client_credentials_t sc);
-int
-gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t * sc);
+int gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t *sc);
int gnutls_srp_set_client_credentials(gnutls_srp_client_credentials_t res,
const char *username,
const char *password);
void gnutls_srp_free_server_credentials(gnutls_srp_server_credentials_t sc);
-int
-gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t * sc);
-int gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t
- res, const char *password_file,
+int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t *sc);
+int gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t res,
+ const char *password_file,
const char *password_conf_file);
const char *gnutls_srp_server_get_username(gnutls_session_t session);
void gnutls_srp_set_prime_bits(gnutls_session_t session, unsigned int bits);
-int gnutls_srp_verifier(const char *username,
- const char *password,
- const gnutls_datum_t * salt,
- const gnutls_datum_t * generator,
- const gnutls_datum_t * prime, gnutls_datum_t * res);
+int gnutls_srp_verifier(const char *username, const char *password,
+ const gnutls_datum_t *salt,
+ const gnutls_datum_t *generator,
+ const gnutls_datum_t *prime, gnutls_datum_t *res);
/* The static parameters defined in draft-ietf-tls-srp-05
* Those should be used as input to gnutls_srp_verifier().
@@ -2537,50 +2494,40 @@ extern _SYM_EXPORT const unsigned int gnutls_ffdhe_2048_key_bits;
typedef int gnutls_srp_server_credentials_function(gnutls_session_t,
const char *username,
- gnutls_datum_t * salt,
- gnutls_datum_t *
- verifier,
- gnutls_datum_t *
- generator,
- gnutls_datum_t * prime);
-void
-gnutls_srp_set_server_credentials_function(gnutls_srp_server_credentials_t
- cred,
- gnutls_srp_server_credentials_function
- * func);
-
-typedef int gnutls_srp_client_credentials_function(gnutls_session_t,
- char **, char **);
-void
-gnutls_srp_set_client_credentials_function(gnutls_srp_client_credentials_t
- cred,
- gnutls_srp_client_credentials_function
- * func);
-
-int gnutls_srp_base64_encode(const gnutls_datum_t * data, char *result,
+ gnutls_datum_t *salt,
+ gnutls_datum_t *verifier,
+ gnutls_datum_t *generator,
+ gnutls_datum_t *prime);
+void gnutls_srp_set_server_credentials_function(
+ gnutls_srp_server_credentials_t cred,
+ gnutls_srp_server_credentials_function *func);
+
+typedef int gnutls_srp_client_credentials_function(gnutls_session_t, char **,
+ char **);
+void gnutls_srp_set_client_credentials_function(
+ gnutls_srp_client_credentials_t cred,
+ gnutls_srp_client_credentials_function *func);
+
+int gnutls_srp_base64_encode(const gnutls_datum_t *data, char *result,
size_t *result_size);
-int gnutls_srp_base64_encode2(const gnutls_datum_t * data,
- gnutls_datum_t * result);
+int gnutls_srp_base64_encode2(const gnutls_datum_t *data,
+ gnutls_datum_t *result);
-int gnutls_srp_base64_decode(const gnutls_datum_t * b64_data, char *result,
+int gnutls_srp_base64_decode(const gnutls_datum_t *b64_data, char *result,
size_t *result_size);
-int gnutls_srp_base64_decode2(const gnutls_datum_t * b64_data,
- gnutls_datum_t * result);
+int gnutls_srp_base64_decode2(const gnutls_datum_t *b64_data,
+ gnutls_datum_t *result);
-# define gnutls_srp_base64_encode_alloc gnutls_srp_base64_encode2
-# define gnutls_srp_base64_decode_alloc gnutls_srp_base64_decode2
+#define gnutls_srp_base64_encode_alloc gnutls_srp_base64_encode2
+#define gnutls_srp_base64_decode_alloc gnutls_srp_base64_decode2
-void
-gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t
- sc,
- const gnutls_datum_t * seed,
- unsigned int salt_length);
+void gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t sc,
+ const gnutls_datum_t *seed,
+ unsigned int salt_length);
/* PSK stuff */
-typedef struct gnutls_psk_server_credentials_st
-*gnutls_psk_server_credentials_t;
-typedef struct gnutls_psk_client_credentials_st
-*gnutls_psk_client_credentials_t;
+typedef struct gnutls_psk_server_credentials_st *gnutls_psk_server_credentials_t;
+typedef struct gnutls_psk_client_credentials_st *gnutls_psk_client_credentials_t;
/**
* gnutls_psk_key_flags:
@@ -2595,84 +2542,70 @@ typedef enum gnutls_psk_key_flags {
} gnutls_psk_key_flags;
void gnutls_psk_free_client_credentials(gnutls_psk_client_credentials_t sc);
-int
-gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t * sc);
+int gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t *sc);
int gnutls_psk_set_client_credentials(gnutls_psk_client_credentials_t res,
const char *username,
- const gnutls_datum_t * key,
+ const gnutls_datum_t *key,
gnutls_psk_key_flags flags);
int gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t res,
- const gnutls_datum_t * username,
- const gnutls_datum_t * key,
+ const gnutls_datum_t *username,
+ const gnutls_datum_t *key,
gnutls_psk_key_flags flags);
void gnutls_psk_free_server_credentials(gnutls_psk_server_credentials_t sc);
-int
-gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t * sc);
-int gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t
- res, const char *password_file);
+int gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t *sc);
+int gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t res,
+ const char *password_file);
-int
-gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t
- res, const char *hint);
+int gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t res,
+ const char *hint);
const char *gnutls_psk_server_get_username(gnutls_session_t session);
int gnutls_psk_server_get_username2(gnutls_session_t session,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
const char *gnutls_psk_client_get_hint(gnutls_session_t session);
typedef int gnutls_psk_server_credentials_function(gnutls_session_t,
const char *username,
- gnutls_datum_t * key);
-typedef int gnutls_psk_server_credentials_function2(gnutls_session_t,
- const gnutls_datum_t *
- username,
- gnutls_datum_t * key);
-void gnutls_psk_set_server_credentials_function(gnutls_psk_server_credentials_t
- cred,
- gnutls_psk_server_credentials_function
- * func);
-void gnutls_psk_set_server_credentials_function2(gnutls_psk_server_credentials_t
- cred,
- gnutls_psk_server_credentials_function2
- * func);
+ gnutls_datum_t *key);
+typedef int gnutls_psk_server_credentials_function2(
+ gnutls_session_t, const gnutls_datum_t *username, gnutls_datum_t *key);
+void gnutls_psk_set_server_credentials_function(
+ gnutls_psk_server_credentials_t cred,
+ gnutls_psk_server_credentials_function *func);
+void gnutls_psk_set_server_credentials_function2(
+ gnutls_psk_server_credentials_t cred,
+ gnutls_psk_server_credentials_function2 *func);
typedef int gnutls_psk_client_credentials_function(gnutls_session_t,
char **username,
- gnutls_datum_t * key);
+ gnutls_datum_t *key);
typedef int gnutls_psk_client_credentials_function2(gnutls_session_t,
- gnutls_datum_t * username,
- gnutls_datum_t * key);
-void
-gnutls_psk_set_client_credentials_function(gnutls_psk_client_credentials_t
- cred,
- gnutls_psk_client_credentials_function
- * func);
-void
-gnutls_psk_set_client_credentials_function2(gnutls_psk_client_credentials_t
- cred,
- gnutls_psk_client_credentials_function2
- * func);
-
-int gnutls_hex_encode(const gnutls_datum_t * data, char *result,
+ gnutls_datum_t *username,
+ gnutls_datum_t *key);
+void gnutls_psk_set_client_credentials_function(
+ gnutls_psk_client_credentials_t cred,
+ gnutls_psk_client_credentials_function *func);
+void gnutls_psk_set_client_credentials_function2(
+ gnutls_psk_client_credentials_t cred,
+ gnutls_psk_client_credentials_function2 *func);
+
+int gnutls_hex_encode(const gnutls_datum_t *data, char *result,
size_t *result_size);
-int gnutls_hex_decode(const gnutls_datum_t * hex_data, void *result,
+int gnutls_hex_decode(const gnutls_datum_t *hex_data, void *result,
size_t *result_size);
-int gnutls_hex_encode2(const gnutls_datum_t * data, gnutls_datum_t * result);
-int gnutls_hex_decode2(const gnutls_datum_t * data, gnutls_datum_t * result);
+int gnutls_hex_encode2(const gnutls_datum_t *data, gnutls_datum_t *result);
+int gnutls_hex_decode2(const gnutls_datum_t *data, gnutls_datum_t *result);
-void
-gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t res,
- gnutls_dh_params_t dh_params);
+void gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t res,
+ gnutls_dh_params_t dh_params);
-int
-gnutls_psk_set_server_known_dh_params(gnutls_psk_server_credentials_t res,
- gnutls_sec_param_t sec_param);
+int gnutls_psk_set_server_known_dh_params(gnutls_psk_server_credentials_t res,
+ gnutls_sec_param_t sec_param);
-void
-gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t
- res, gnutls_params_function * func);
+void gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t res,
+ gnutls_params_function *func);
/**
* gnutls_x509_subject_alt_name_t:
@@ -2739,7 +2672,7 @@ typedef struct gnutls_retr2_st {
gnutls_x509_crt_t *x509;
gnutls_openpgp_crt_t pgp;
} cert;
- unsigned int ncerts; /* one for pgp keys */
+ unsigned int ncerts; /* one for pgp keys */
union {
gnutls_x509_privkey_t x509;
@@ -2747,72 +2680,60 @@ typedef struct gnutls_retr2_st {
gnutls_pkcs11_privkey_t pkcs11;
} key;
- unsigned int deinit_all; /* if non zero all keys will be deinited */
+ unsigned int deinit_all; /* if non zero all keys will be deinited */
} gnutls_retr2_st;
- /* Functions that allow auth_info_t structures handling
+/* Functions that allow auth_info_t structures handling
*/
gnutls_credentials_type_t gnutls_auth_get_type(gnutls_session_t session);
gnutls_credentials_type_t gnutls_auth_server_get_type(gnutls_session_t session);
gnutls_credentials_type_t gnutls_auth_client_get_type(gnutls_session_t session);
- /* DH */
+/* DH */
void gnutls_dh_set_prime_bits(gnutls_session_t session, unsigned int bits);
int gnutls_dh_get_secret_bits(gnutls_session_t session);
int gnutls_dh_get_peers_public_bits(gnutls_session_t session);
int gnutls_dh_get_prime_bits(gnutls_session_t session);
-int gnutls_dh_get_group(gnutls_session_t session, gnutls_datum_t * raw_gen,
- gnutls_datum_t * raw_prime);
-int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t * raw_key);
+int gnutls_dh_get_group(gnutls_session_t session, gnutls_datum_t *raw_gen,
+ gnutls_datum_t *raw_prime);
+int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t *raw_key);
- /* X509PKI */
+/* X509PKI */
- /* These are set on the credentials structure.
+/* These are set on the credentials structure.
*/
- /* use gnutls_certificate_set_retrieve_function2() in abstract.h
+/* use gnutls_certificate_set_retrieve_function2() in abstract.h
* instead. It's much more efficient.
*/
-typedef int gnutls_certificate_retrieve_function(gnutls_session_t,
- const
- gnutls_datum_t *
- req_ca_rdn,
- int nreqs,
- const
- gnutls_pk_algorithm_t
- * pk_algos,
- int
- pk_algos_length,
- gnutls_retr2_st *);
-
-void
-gnutls_certificate_set_retrieve_function(gnutls_certificate_credentials_t
- cred,
- gnutls_certificate_retrieve_function
- * func);
-
-void
-gnutls_certificate_set_verify_function(gnutls_certificate_credentials_t
- cred,
- gnutls_certificate_verify_function
- * func);
-
-void
-gnutls_certificate_server_set_request(gnutls_session_t session,
- gnutls_certificate_request_t req);
-
- /* get data from the session
+typedef int gnutls_certificate_retrieve_function(
+ gnutls_session_t, const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos, int pk_algos_length,
+ gnutls_retr2_st *);
+
+void gnutls_certificate_set_retrieve_function(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_retrieve_function *func);
+
+void gnutls_certificate_set_verify_function(
+ gnutls_certificate_credentials_t cred,
+ gnutls_certificate_verify_function *func);
+
+void gnutls_certificate_server_set_request(gnutls_session_t session,
+ gnutls_certificate_request_t req);
+
+/* get data from the session
*/
-const gnutls_datum_t *gnutls_certificate_get_peers(gnutls_session_t session, unsigned int
- *list_size);
+const gnutls_datum_t *gnutls_certificate_get_peers(gnutls_session_t session,
+ unsigned int *list_size);
const gnutls_datum_t *gnutls_certificate_get_ours(gnutls_session_t session);
int gnutls_certificate_get_peers_subkey_id(gnutls_session_t session,
- gnutls_datum_t * id);
+ gnutls_datum_t *id);
time_t gnutls_certificate_activation_time_peers(gnutls_session_t session);
time_t gnutls_certificate_expiration_time_peers(gnutls_session_t session);
@@ -2824,131 +2745,113 @@ int gnutls_certificate_verify_peers3(gnutls_session_t session,
const char *hostname,
unsigned int *status);
-int
-gnutls_certificate_verify_peers(gnutls_session_t session,
- gnutls_typed_vdata_st * data,
- unsigned int elements, unsigned int *status);
+int gnutls_certificate_verify_peers(gnutls_session_t session,
+ gnutls_typed_vdata_st *data,
+ unsigned int elements,
+ unsigned int *status);
int gnutls_certificate_verification_status_print(unsigned int status,
- gnutls_certificate_type_t
- type,
- gnutls_datum_t * out,
+ gnutls_certificate_type_t type,
+ gnutls_datum_t *out,
unsigned int flags);
-int gnutls_pem_base64_encode(const char *msg, const gnutls_datum_t * data,
+int gnutls_pem_base64_encode(const char *msg, const gnutls_datum_t *data,
char *result, size_t *result_size);
-int gnutls_pem_base64_decode(const char *header,
- const gnutls_datum_t * b64_data,
+int gnutls_pem_base64_decode(const char *header, const gnutls_datum_t *b64_data,
unsigned char *result, size_t *result_size);
-int gnutls_pem_base64_encode2(const char *msg,
- const gnutls_datum_t * data,
- gnutls_datum_t * result);
+int gnutls_pem_base64_encode2(const char *msg, const gnutls_datum_t *data,
+ gnutls_datum_t *result);
int gnutls_pem_base64_decode2(const char *header,
- const gnutls_datum_t * b64_data,
- gnutls_datum_t * result);
+ const gnutls_datum_t *b64_data,
+ gnutls_datum_t *result);
-int gnutls_base64_encode2(const gnutls_datum_t * data, gnutls_datum_t * result);
-int gnutls_base64_decode2(const gnutls_datum_t * b64_data,
- gnutls_datum_t * result);
+int gnutls_base64_encode2(const gnutls_datum_t *data, gnutls_datum_t *result);
+int gnutls_base64_decode2(const gnutls_datum_t *b64_data,
+ gnutls_datum_t *result);
-# define gnutls_pem_base64_encode_alloc gnutls_pem_base64_encode2
-# define gnutls_pem_base64_decode_alloc gnutls_pem_base64_decode2
+#define gnutls_pem_base64_encode_alloc gnutls_pem_base64_encode2
+#define gnutls_pem_base64_decode_alloc gnutls_pem_base64_decode2
- /* key_usage will be an OR of the following values:
+/* key_usage will be an OR of the following values:
*/
- /* when the key is to be used for signing: */
-# define GNUTLS_KEY_DIGITAL_SIGNATURE 128
-# define GNUTLS_KEY_NON_REPUDIATION 64
- /* when the key is to be used for encryption: */
-# define GNUTLS_KEY_KEY_ENCIPHERMENT 32
-# define GNUTLS_KEY_DATA_ENCIPHERMENT 16
-# define GNUTLS_KEY_KEY_AGREEMENT 8
-# define GNUTLS_KEY_KEY_CERT_SIGN 4
-# define GNUTLS_KEY_CRL_SIGN 2
-# define GNUTLS_KEY_ENCIPHER_ONLY 1
-# define GNUTLS_KEY_DECIPHER_ONLY 32768
-
-void
-gnutls_certificate_set_params_function(gnutls_certificate_credentials_t
- res, gnutls_params_function * func);
+/* when the key is to be used for signing: */
+#define GNUTLS_KEY_DIGITAL_SIGNATURE 128
+#define GNUTLS_KEY_NON_REPUDIATION 64
+/* when the key is to be used for encryption: */
+#define GNUTLS_KEY_KEY_ENCIPHERMENT 32
+#define GNUTLS_KEY_DATA_ENCIPHERMENT 16
+#define GNUTLS_KEY_KEY_AGREEMENT 8
+#define GNUTLS_KEY_KEY_CERT_SIGN 4
+#define GNUTLS_KEY_CRL_SIGN 2
+#define GNUTLS_KEY_ENCIPHER_ONLY 1
+#define GNUTLS_KEY_DECIPHER_ONLY 32768
+
+void gnutls_certificate_set_params_function(
+ gnutls_certificate_credentials_t res, gnutls_params_function *func);
void gnutls_anon_set_params_function(gnutls_anon_server_credentials_t res,
- gnutls_params_function * func);
+ gnutls_params_function *func);
void gnutls_psk_set_params_function(gnutls_psk_server_credentials_t res,
- gnutls_params_function * func);
+ gnutls_params_function *func);
-int gnutls_hex2bin(const char *hex_data, size_t hex_size,
- void *bin_data, size_t *bin_size);
+int gnutls_hex2bin(const char *hex_data, size_t hex_size, void *bin_data,
+ size_t *bin_size);
- /* Trust on first use (or ssh like) functions */
+/* Trust on first use (or ssh like) functions */
- /* stores the provided information to a database
+/* stores the provided information to a database
*/
-typedef int (*gnutls_tdb_store_func)(const char *db_name,
- const char *host,
- const char *service,
- time_t expiration,
- const gnutls_datum_t * pubkey);
-
-typedef int (*gnutls_tdb_store_commitment_func)(const char *db_name,
- const char *host,
- const char *service,
- time_t expiration,
- gnutls_digest_algorithm_t
- hash_algo,
- const gnutls_datum_t * hash);
-
- /* searches for the provided host/service pair that match the
+typedef int (*gnutls_tdb_store_func)(const char *db_name, const char *host,
+ const char *service, time_t expiration,
+ const gnutls_datum_t *pubkey);
+
+typedef int (*gnutls_tdb_store_commitment_func)(
+ const char *db_name, const char *host, const char *service,
+ time_t expiration, gnutls_digest_algorithm_t hash_algo,
+ const gnutls_datum_t *hash);
+
+/* searches for the provided host/service pair that match the
* provided public key in the database. */
-typedef int (*gnutls_tdb_verify_func)(const char *db_name,
- const char *host,
+typedef int (*gnutls_tdb_verify_func)(const char *db_name, const char *host,
const char *service,
- const gnutls_datum_t * pubkey);
+ const gnutls_datum_t *pubkey);
struct gnutls_tdb_int;
typedef struct gnutls_tdb_int *gnutls_tdb_t;
-int gnutls_tdb_init(gnutls_tdb_t * tdb);
+int gnutls_tdb_init(gnutls_tdb_t *tdb);
void gnutls_tdb_set_store_func(gnutls_tdb_t tdb, gnutls_tdb_store_func store);
-void gnutls_tdb_set_store_commitment_func(gnutls_tdb_t tdb,
- gnutls_tdb_store_commitment_func
- cstore);
+void gnutls_tdb_set_store_commitment_func(
+ gnutls_tdb_t tdb, gnutls_tdb_store_commitment_func cstore);
void gnutls_tdb_set_verify_func(gnutls_tdb_t tdb,
gnutls_tdb_verify_func verify);
void gnutls_tdb_deinit(gnutls_tdb_t tdb);
-int gnutls_verify_stored_pubkey(const char *db_name,
- gnutls_tdb_t tdb,
- const char *host,
- const char *service,
+int gnutls_verify_stored_pubkey(const char *db_name, gnutls_tdb_t tdb,
+ const char *host, const char *service,
gnutls_certificate_type_t cert_type,
- const gnutls_datum_t * cert,
- unsigned int flags);
-
-# define GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN 1
-int gnutls_store_commitment(const char *db_name,
- gnutls_tdb_t tdb,
- const char *host,
- const char *service,
+ const gnutls_datum_t *cert, unsigned int flags);
+
+#define GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN 1
+int gnutls_store_commitment(const char *db_name, gnutls_tdb_t tdb,
+ const char *host, const char *service,
gnutls_digest_algorithm_t hash_algo,
- const gnutls_datum_t * hash,
- time_t expiration, unsigned int flags);
+ const gnutls_datum_t *hash, time_t expiration,
+ unsigned int flags);
-int gnutls_store_pubkey(const char *db_name,
- gnutls_tdb_t tdb,
- const char *host,
+int gnutls_store_pubkey(const char *db_name, gnutls_tdb_t tdb, const char *host,
const char *service,
gnutls_certificate_type_t cert_type,
- const gnutls_datum_t * cert,
- time_t expiration, unsigned int flags);
+ const gnutls_datum_t *cert, time_t expiration,
+ unsigned int flags);
- /* Other helper functions */
-int gnutls_load_file(const char *filename, gnutls_datum_t * data);
+/* Other helper functions */
+int gnutls_load_file(const char *filename, gnutls_datum_t *data);
unsigned gnutls_url_is_supported(const char *url);
- /* PIN callback */
+/* PIN callback */
/**
* gnutls_pin_flag_t:
@@ -2970,12 +2873,12 @@ typedef enum {
GNUTLS_PIN_WRONG = (1 << 5)
} gnutls_pin_flag_t;
-# define GNUTLS_PKCS11_PIN_USER GNUTLS_PIN_USER
-# define GNUTLS_PKCS11_PIN_SO GNUTLS_PIN_SO
-# define GNUTLS_PKCS11_PIN_FINAL_TRY GNUTLS_PIN_FINAL_TRY
-# define GNUTLS_PKCS11_PIN_COUNT_LOW GNUTLS_PIN_COUNT_LOW
-# define GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC GNUTLS_PIN_CONTEXT_SPECIFIC
-# define GNUTLS_PKCS11_PIN_WRONG GNUTLS_PIN_WRONG
+#define GNUTLS_PKCS11_PIN_USER GNUTLS_PIN_USER
+#define GNUTLS_PKCS11_PIN_SO GNUTLS_PIN_SO
+#define GNUTLS_PKCS11_PIN_FINAL_TRY GNUTLS_PIN_FINAL_TRY
+#define GNUTLS_PKCS11_PIN_COUNT_LOW GNUTLS_PIN_COUNT_LOW
+#define GNUTLS_PKCS11_PIN_CONTEXT_SPECIFIC GNUTLS_PIN_CONTEXT_SPECIFIC
+#define GNUTLS_PKCS11_PIN_WRONG GNUTLS_PIN_WRONG
/**
* gnutls_pin_callback_t:
@@ -3013,8 +2916,8 @@ typedef enum {
typedef int (*gnutls_pin_callback_t)(void *userdata, int attempt,
const char *token_url,
const char *token_label,
- unsigned int flags,
- char *pin, size_t pin_max);
+ unsigned int flags, char *pin,
+ size_t pin_max);
void gnutls_certificate_set_pin_function(gnutls_certificate_credentials_t,
gnutls_pin_callback_t fn,
@@ -3026,9 +2929,9 @@ typedef struct gnutls_buffer_st *gnutls_buffer_t;
int gnutls_buffer_append_data(gnutls_buffer_t, const void *data,
size_t data_size);
-# define GNUTLS_UTF8_IGNORE_ERRS 1
+#define GNUTLS_UTF8_IGNORE_ERRS 1
int gnutls_utf8_password_normalize(const unsigned char *password,
- unsigned password_len, gnutls_datum_t * out,
+ unsigned password_len, gnutls_datum_t *out,
unsigned flags);
/* Public extensions related functions */
@@ -3054,15 +2957,15 @@ typedef int (*gnutls_ext_pack_func)(gnutls_ext_priv_data_t data,
gnutls_buffer_t packed_data);
typedef int (*gnutls_ext_unpack_func)(gnutls_buffer_t packed_data,
- gnutls_ext_priv_data_t * data);
+ gnutls_ext_priv_data_t *data);
-# define GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO 1
-# define GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO (1<<1)
+#define GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO 1
+#define GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO (1 << 1)
typedef int (*gnutls_ext_raw_process_func)(void *ctx, unsigned tls_id,
const unsigned char *data,
unsigned data_size);
int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,
- const gnutls_datum_t * data, unsigned int flags);
+ const gnutls_datum_t *data, unsigned int flags);
/**
* gnutls_ext_parse_type_t:
@@ -3105,7 +3008,7 @@ typedef enum {
GNUTLS_EXT_FLAG_CLIENT_HELLO = (1 << 1),
GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO = (1 << 2),
GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO = (1 << 3),
- GNUTLS_EXT_FLAG_EE = (1 << 4), /* ENCRYPTED */
+ GNUTLS_EXT_FLAG_EE = (1 << 4), /* ENCRYPTED */
GNUTLS_EXT_FLAG_HRR = (1 << 5),
GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST = (1 << 6),
GNUTLS_EXT_FLAG_TLS = (1 << 7),
@@ -3148,13 +3051,11 @@ int gnutls_supplemental_register(const char *name,
gnutls_supp_recv_func supp_recv_func,
gnutls_supp_send_func supp_send_func);
-int gnutls_session_supplemental_register(gnutls_session_t session,
- const char *name,
- gnutls_supplemental_data_format_type_t
- type,
- gnutls_supp_recv_func supp_recv_func,
- gnutls_supp_send_func supp_send_func,
- unsigned int flags);
+int gnutls_session_supplemental_register(
+ gnutls_session_t session, const char *name,
+ gnutls_supplemental_data_format_type_t type,
+ gnutls_supp_recv_func supp_recv_func,
+ gnutls_supp_send_func supp_send_func, unsigned int flags);
void gnutls_supplemental_recv(gnutls_session_t session,
unsigned do_recv_supplemental);
@@ -3166,7 +3067,7 @@ void gnutls_supplemental_send(gnutls_session_t session,
typedef struct gnutls_anti_replay_st *gnutls_anti_replay_t;
-int gnutls_anti_replay_init(gnutls_anti_replay_t * anti_replay);
+int gnutls_anti_replay_init(gnutls_anti_replay_t *anti_replay);
void gnutls_anti_replay_deinit(gnutls_anti_replay_t anti_replay);
void gnutls_anti_replay_set_window(gnutls_anti_replay_t anti_replay,
unsigned int window);
@@ -3174,8 +3075,8 @@ void gnutls_anti_replay_enable(gnutls_session_t session,
gnutls_anti_replay_t anti_replay);
typedef int (*gnutls_db_add_func)(void *, time_t exp_time,
- const gnutls_datum_t * key,
- const gnutls_datum_t * data);
+ const gnutls_datum_t *key,
+ const gnutls_datum_t *data);
void gnutls_anti_replay_set_add_function(gnutls_anti_replay_t,
gnutls_db_add_func add_func);
@@ -3218,19 +3119,16 @@ typedef enum {
* Since: 3.7.0
*/
typedef int (*gnutls_handshake_read_func)(gnutls_session_t session,
- gnutls_record_encryption_level_t
- level,
+ gnutls_record_encryption_level_t level,
gnutls_handshake_description_t htype,
const void *data, size_t data_size);
-void
-gnutls_handshake_set_read_function(gnutls_session_t session,
- gnutls_handshake_read_func func);
+void gnutls_handshake_set_read_function(gnutls_session_t session,
+ gnutls_handshake_read_func func);
-int
-gnutls_handshake_write(gnutls_session_t session,
- gnutls_record_encryption_level_t level,
- const void *data, size_t data_size);
+int gnutls_handshake_write(gnutls_session_t session,
+ gnutls_record_encryption_level_t level,
+ const void *data, size_t data_size);
/**
* gnutls_handshake_secret_func:
@@ -3246,15 +3144,12 @@ gnutls_handshake_write(gnutls_session_t session,
* Returns: Non zero on error.
* Since: 3.7.0
*/
-typedef int (*gnutls_handshake_secret_func)(gnutls_session_t session,
- gnutls_record_encryption_level_t
- level, const void *secret_read,
- const void *secret_write,
- size_t secret_size);
+typedef int (*gnutls_handshake_secret_func)(
+ gnutls_session_t session, gnutls_record_encryption_level_t level,
+ const void *secret_read, const void *secret_write, size_t secret_size);
-void
-gnutls_handshake_set_secret_function(gnutls_session_t session,
- gnutls_handshake_secret_func func);
+void gnutls_handshake_set_secret_function(gnutls_session_t session,
+ gnutls_handshake_secret_func func);
/**
* gnutls_alert_read_func:
@@ -3274,9 +3169,8 @@ typedef int (*gnutls_alert_read_func)(gnutls_session_t session,
gnutls_alert_level_t alert_level,
gnutls_alert_description_t alert_desc);
-void
-gnutls_alert_set_read_function(gnutls_session_t session,
- gnutls_alert_read_func func);
+void gnutls_alert_set_read_function(gnutls_session_t session,
+ gnutls_alert_read_func func);
/* FIPS140-2 related functions */
unsigned gnutls_fips140_mode_enabled(void);
@@ -3305,23 +3199,29 @@ typedef enum gnutls_fips_mode_t {
GNUTLS_FIPS140_LOG = 4
} gnutls_fips_mode_t;
-# define GNUTLS_FIPS140_SET_MODE_THREAD 1
+#define GNUTLS_FIPS140_SET_MODE_THREAD 1
void gnutls_fips140_set_mode(gnutls_fips_mode_t mode, unsigned flags);
-# define GNUTLS_FIPS140_SET_LAX_MODE() do { \
- if (gnutls_fips140_mode_enabled()) \
- gnutls_fips140_set_mode(GNUTLS_FIPS140_LAX, GNUTLS_FIPS140_SET_MODE_THREAD); \
- } while(0)
-
-# define GNUTLS_FIPS140_SET_STRICT_MODE() do { \
- if (gnutls_fips140_mode_enabled()) \
- gnutls_fips140_set_mode(GNUTLS_FIPS140_STRICT, GNUTLS_FIPS140_SET_MODE_THREAD); \
- } while(0)
+#define GNUTLS_FIPS140_SET_LAX_MODE() \
+ do { \
+ if (gnutls_fips140_mode_enabled()) \
+ gnutls_fips140_set_mode( \
+ GNUTLS_FIPS140_LAX, \
+ GNUTLS_FIPS140_SET_MODE_THREAD); \
+ } while (0)
+
+#define GNUTLS_FIPS140_SET_STRICT_MODE() \
+ do { \
+ if (gnutls_fips140_mode_enabled()) \
+ gnutls_fips140_set_mode( \
+ GNUTLS_FIPS140_STRICT, \
+ GNUTLS_FIPS140_SET_MODE_THREAD); \
+ } while (0)
typedef struct gnutls_fips140_context_st *gnutls_fips140_context_t;
-int gnutls_fips140_context_init(gnutls_fips140_context_t * context);
+int gnutls_fips140_context_init(gnutls_fips140_context_t *context);
void gnutls_fips140_context_deinit(gnutls_fips140_context_t context);
/**
@@ -3380,264 +3280,269 @@ typedef enum {
gnutls_transport_ktls_enable_flags_t
gnutls_transport_is_ktls_enabled(gnutls_session_t session);
- /* Gnutls error codes. The mapping to a TLS alert is also shown in
+/* Gnutls error codes. The mapping to a TLS alert is also shown in
* comments.
*/
-# define GNUTLS_E_SUCCESS 0
-# define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3
-# define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6
-# define GNUTLS_E_LARGE_PACKET -7
-# define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */
-# define GNUTLS_E_TLS_PACKET_DECODING_ERROR GNUTLS_E_UNEXPECTED_PACKET_LENGTH
-# define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_DECODE_ERROR */
-# define GNUTLS_E_INVALID_SESSION -10
-# define GNUTLS_E_FATAL_ALERT_RECEIVED -12
-# define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */
-# define GNUTLS_E_WARNING_ALERT_RECEIVED -16
-# define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18
-# define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19
-# define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21
- /* GNUTLS_A_HANDSHAKE_FAILURE */
-# define GNUTLS_E_UNWANTED_ALGORITHM -22
-# define GNUTLS_E_MPI_SCAN_FAILED -23
-# define GNUTLS_E_DECRYPTION_FAILED -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */
-# define GNUTLS_E_MEMORY_ERROR -25
-# define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */
-# define GNUTLS_E_COMPRESSION_FAILED -27
-# define GNUTLS_E_AGAIN -28
-# define GNUTLS_E_EXPIRED -29
-# define GNUTLS_E_DB_ERROR -30
-# define GNUTLS_E_SRP_PWD_ERROR GNUTLS_E_KEYFILE_ERROR
-# define GNUTLS_E_KEYFILE_ERROR -31
-# define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32
-# define GNUTLS_E_INSUFICIENT_CREDENTIALS GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
-# define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS
-# define GNUTLS_E_INSUFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
-
-# define GNUTLS_E_HASH_FAILED -33
-# define GNUTLS_E_BASE64_DECODING_ERROR -34
-
-# define GNUTLS_E_MPI_PRINT_FAILED -35
-# define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */
-# define GNUTLS_E_GOT_APPLICATION_DATA -38
-# define GNUTLS_E_RECORD_LIMIT_REACHED -39
-# define GNUTLS_E_ENCRYPTION_FAILED -40
-
-# define GNUTLS_E_PK_ENCRYPTION_FAILED -44
-# define GNUTLS_E_PK_DECRYPTION_FAILED -45
-# define GNUTLS_E_PK_SIGN_FAILED -46
-# define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47
-# define GNUTLS_E_KEY_USAGE_VIOLATION -48
-# define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */
-# define GNUTLS_E_INVALID_REQUEST -50
-# define GNUTLS_E_SHORT_MEMORY_BUFFER -51
-# define GNUTLS_E_INTERRUPTED -52
-# define GNUTLS_E_PUSH_ERROR -53
-# define GNUTLS_E_PULL_ERROR -54
-# define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55/* GNUTLS_A_ILLEGAL_PARAMETER */
-# define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56
-# define GNUTLS_E_PKCS1_WRONG_PAD -57
-# define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58
-# define GNUTLS_E_INTERNAL_ERROR -59
-# define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63
-# define GNUTLS_E_FILE_ERROR -64
-# define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78
-# define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80
-# define GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS -81
-# define GNUTLS_E_RECEIVED_DISALLOWED_NAME -82 /* GNUTLS_A_ILLEGAL_PARAMETER */
-# define GNUTLS_E_CERTIFICATE_REQUIRED -112 /* GNUTLS_A_CERTIFICATE_REQUIRED */
-
- /* returned if you need to generate temporary RSA
+#define GNUTLS_E_SUCCESS 0
+#define GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM -3
+#define GNUTLS_E_UNKNOWN_CIPHER_TYPE -6
+#define GNUTLS_E_LARGE_PACKET -7
+#define GNUTLS_E_UNSUPPORTED_VERSION_PACKET -8 /* GNUTLS_A_PROTOCOL_VERSION */
+#define GNUTLS_E_TLS_PACKET_DECODING_ERROR GNUTLS_E_UNEXPECTED_PACKET_LENGTH
+#define GNUTLS_E_UNEXPECTED_PACKET_LENGTH -9 /* GNUTLS_A_DECODE_ERROR */
+#define GNUTLS_E_INVALID_SESSION -10
+#define GNUTLS_E_FATAL_ALERT_RECEIVED -12
+#define GNUTLS_E_UNEXPECTED_PACKET -15 /* GNUTLS_A_UNEXPECTED_MESSAGE */
+#define GNUTLS_E_WARNING_ALERT_RECEIVED -16
+#define GNUTLS_E_ERROR_IN_FINISHED_PACKET -18
+#define GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET -19
+#define GNUTLS_E_UNKNOWN_CIPHER_SUITE -21
+/* GNUTLS_A_HANDSHAKE_FAILURE */
+#define GNUTLS_E_UNWANTED_ALGORITHM -22
+#define GNUTLS_E_MPI_SCAN_FAILED -23
+#define GNUTLS_E_DECRYPTION_FAILED \
+ -24 /* GNUTLS_A_DECRYPTION_FAILED, GNUTLS_A_BAD_RECORD_MAC */
+#define GNUTLS_E_MEMORY_ERROR -25
+#define GNUTLS_E_DECOMPRESSION_FAILED -26 /* GNUTLS_A_DECOMPRESSION_FAILURE */
+#define GNUTLS_E_COMPRESSION_FAILED -27
+#define GNUTLS_E_AGAIN -28
+#define GNUTLS_E_EXPIRED -29
+#define GNUTLS_E_DB_ERROR -30
+#define GNUTLS_E_SRP_PWD_ERROR GNUTLS_E_KEYFILE_ERROR
+#define GNUTLS_E_KEYFILE_ERROR -31
+#define GNUTLS_E_INSUFFICIENT_CREDENTIALS -32
+#define GNUTLS_E_INSUFICIENT_CREDENTIALS \
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
+#define GNUTLS_E_INSUFFICIENT_CRED GNUTLS_E_INSUFFICIENT_CREDENTIALS
+#define GNUTLS_E_INSUFICIENT_CRED \
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS /* for backwards compatibility only */
+
+#define GNUTLS_E_HASH_FAILED -33
+#define GNUTLS_E_BASE64_DECODING_ERROR -34
+
+#define GNUTLS_E_MPI_PRINT_FAILED -35
+#define GNUTLS_E_REHANDSHAKE -37 /* GNUTLS_A_NO_RENEGOTIATION */
+#define GNUTLS_E_GOT_APPLICATION_DATA -38
+#define GNUTLS_E_RECORD_LIMIT_REACHED -39
+#define GNUTLS_E_ENCRYPTION_FAILED -40
+
+#define GNUTLS_E_PK_ENCRYPTION_FAILED -44
+#define GNUTLS_E_PK_DECRYPTION_FAILED -45
+#define GNUTLS_E_PK_SIGN_FAILED -46
+#define GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION -47
+#define GNUTLS_E_KEY_USAGE_VIOLATION -48
+#define GNUTLS_E_NO_CERTIFICATE_FOUND -49 /* GNUTLS_A_BAD_CERTIFICATE */
+#define GNUTLS_E_INVALID_REQUEST -50
+#define GNUTLS_E_SHORT_MEMORY_BUFFER -51
+#define GNUTLS_E_INTERRUPTED -52
+#define GNUTLS_E_PUSH_ERROR -53
+#define GNUTLS_E_PULL_ERROR -54
+#define GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER -55 /* GNUTLS_A_ILLEGAL_PARAMETER */
+#define GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE -56
+#define GNUTLS_E_PKCS1_WRONG_PAD -57
+#define GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION -58
+#define GNUTLS_E_INTERNAL_ERROR -59
+#define GNUTLS_E_DH_PRIME_UNACCEPTABLE -63
+#define GNUTLS_E_FILE_ERROR -64
+#define GNUTLS_E_TOO_MANY_EMPTY_PACKETS -78
+#define GNUTLS_E_UNKNOWN_PK_ALGORITHM -80
+#define GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS -81
+#define GNUTLS_E_RECEIVED_DISALLOWED_NAME -82 /* GNUTLS_A_ILLEGAL_PARAMETER */
+#define GNUTLS_E_CERTIFICATE_REQUIRED -112 /* GNUTLS_A_CERTIFICATE_REQUIRED */
+
+/* returned if you need to generate temporary RSA
* parameters. These are needed for export cipher suites.
*/
-# define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84
+#define GNUTLS_E_NO_TEMPORARY_RSA_PARAMS -84
-# define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86
-# define GNUTLS_E_NO_CIPHER_SUITES -87
+#define GNUTLS_E_NO_COMPRESSION_ALGORITHMS -86
+#define GNUTLS_E_NO_CIPHER_SUITES -87
-# define GNUTLS_E_OPENPGP_GETKEY_FAILED -88
-# define GNUTLS_E_PK_SIG_VERIFY_FAILED -89
+#define GNUTLS_E_OPENPGP_GETKEY_FAILED -88
+#define GNUTLS_E_PK_SIG_VERIFY_FAILED -89
-# define GNUTLS_E_ILLEGAL_SRP_USERNAME -90
-# define GNUTLS_E_SRP_PWD_PARSING_ERROR GNUTLS_E_KEYFILE_PARSING_ERROR
-# define GNUTLS_E_KEYFILE_PARSING_ERROR -91
-# define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93
+#define GNUTLS_E_ILLEGAL_SRP_USERNAME -90
+#define GNUTLS_E_SRP_PWD_PARSING_ERROR GNUTLS_E_KEYFILE_PARSING_ERROR
+#define GNUTLS_E_KEYFILE_PARSING_ERROR -91
+#define GNUTLS_E_NO_TEMPORARY_DH_PARAMS -93
- /* For certificate and key stuff
+/* For certificate and key stuff
*/
-# define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67
-# define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68
-# define GNUTLS_E_ASN1_DER_ERROR -69
-# define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70
-# define GNUTLS_E_ASN1_GENERIC_ERROR -71
-# define GNUTLS_E_ASN1_VALUE_NOT_VALID -72
-# define GNUTLS_E_ASN1_TAG_ERROR -73
-# define GNUTLS_E_ASN1_TAG_IMPLICIT -74
-# define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75
-# define GNUTLS_E_ASN1_SYNTAX_ERROR -76
-# define GNUTLS_E_ASN1_DER_OVERFLOW -77
-# define GNUTLS_E_OPENPGP_UID_REVOKED -79
-# define GNUTLS_E_CERTIFICATE_ERROR -43
-# define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR
-# define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60
-# define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */
-# define GNUTLS_E_X509_UNKNOWN_SAN -62
-# define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94
-# define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95
-# define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96
-# define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97
-# define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98
-# define GNUTLS_E_INVALID_PASSWORD -99
-# define GNUTLS_E_MAC_VERIFY_FAILED -100/* for PKCS #12 MAC */
-# define GNUTLS_E_CONSTRAINT_ERROR -101
-
-# define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102
-# define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103
-
-# define GNUTLS_E_IA_VERIFY_FAILED -104
-# define GNUTLS_E_UNKNOWN_ALGORITHM -105
-# define GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM -106
-# define GNUTLS_E_SAFE_RENEGOTIATION_FAILED -107
-# define GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED -108
-# define GNUTLS_E_UNKNOWN_SRP_USERNAME -109
-# define GNUTLS_E_PREMATURE_TERMINATION -110
-
-# define GNUTLS_E_MALFORMED_CIDR -111
-
-# define GNUTLS_E_BASE64_ENCODING_ERROR -201
-# define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */
-# define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202
-# define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203
-
-# define GNUTLS_E_OPENPGP_KEYRING_ERROR -204
-# define GNUTLS_E_X509_UNSUPPORTED_OID -205
-
-# define GNUTLS_E_RANDOM_FAILED -206
-# define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207
-
-# define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208
-
-# define GNUTLS_E_CRYPTO_ALREADY_REGISTERED GNUTLS_E_ALREADY_REGISTERED
-# define GNUTLS_E_ALREADY_REGISTERED -209
-
-# define GNUTLS_E_HANDSHAKE_TOO_LARGE -210
-
-# define GNUTLS_E_CRYPTODEV_IOCTL_ERROR -211
-# define GNUTLS_E_CRYPTODEV_DEVICE_ERROR -212
-
-# define GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE -213
-# define GNUTLS_E_BAD_COOKIE -214
-# define GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR -215
-# define GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL -216
-# define GNUTLS_E_INSUFFICIENT_SECURITY -217
-
-# define GNUTLS_E_HEARTBEAT_PONG_RECEIVED -292
-# define GNUTLS_E_HEARTBEAT_PING_RECEIVED -293
-
-# define GNUTLS_E_UNRECOGNIZED_NAME -294
+#define GNUTLS_E_ASN1_ELEMENT_NOT_FOUND -67
+#define GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND -68
+#define GNUTLS_E_ASN1_DER_ERROR -69
+#define GNUTLS_E_ASN1_VALUE_NOT_FOUND -70
+#define GNUTLS_E_ASN1_GENERIC_ERROR -71
+#define GNUTLS_E_ASN1_VALUE_NOT_VALID -72
+#define GNUTLS_E_ASN1_TAG_ERROR -73
+#define GNUTLS_E_ASN1_TAG_IMPLICIT -74
+#define GNUTLS_E_ASN1_TYPE_ANY_ERROR -75
+#define GNUTLS_E_ASN1_SYNTAX_ERROR -76
+#define GNUTLS_E_ASN1_DER_OVERFLOW -77
+#define GNUTLS_E_OPENPGP_UID_REVOKED -79
+#define GNUTLS_E_CERTIFICATE_ERROR -43
+#define GNUTLS_E_X509_CERTIFICATE_ERROR GNUTLS_E_CERTIFICATE_ERROR
+#define GNUTLS_E_CERTIFICATE_KEY_MISMATCH -60
+#define GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE \
+ -61 /* GNUTLS_A_UNSUPPORTED_CERTIFICATE */
+#define GNUTLS_E_X509_UNKNOWN_SAN -62
+#define GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED -94
+#define GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE -95
+#define GNUTLS_E_UNKNOWN_HASH_ALGORITHM -96
+#define GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE -97
+#define GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE -98
+#define GNUTLS_E_INVALID_PASSWORD -99
+#define GNUTLS_E_MAC_VERIFY_FAILED -100 /* for PKCS #12 MAC */
+#define GNUTLS_E_CONSTRAINT_ERROR -101
+
+#define GNUTLS_E_WARNING_IA_IPHF_RECEIVED -102
+#define GNUTLS_E_WARNING_IA_FPHF_RECEIVED -103
+
+#define GNUTLS_E_IA_VERIFY_FAILED -104
+#define GNUTLS_E_UNKNOWN_ALGORITHM -105
+#define GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM -106
+#define GNUTLS_E_SAFE_RENEGOTIATION_FAILED -107
+#define GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED -108
+#define GNUTLS_E_UNKNOWN_SRP_USERNAME -109
+#define GNUTLS_E_PREMATURE_TERMINATION -110
+
+#define GNUTLS_E_MALFORMED_CIDR -111
+
+#define GNUTLS_E_BASE64_ENCODING_ERROR -201
+#define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 /* obsolete */
+#define GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY -202
+#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203
+
+#define GNUTLS_E_OPENPGP_KEYRING_ERROR -204
+#define GNUTLS_E_X509_UNSUPPORTED_OID -205
+
+#define GNUTLS_E_RANDOM_FAILED -206
+#define GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR -207
+
+#define GNUTLS_E_OPENPGP_SUBKEY_ERROR -208
+
+#define GNUTLS_E_CRYPTO_ALREADY_REGISTERED GNUTLS_E_ALREADY_REGISTERED
+#define GNUTLS_E_ALREADY_REGISTERED -209
+
+#define GNUTLS_E_HANDSHAKE_TOO_LARGE -210
+
+#define GNUTLS_E_CRYPTODEV_IOCTL_ERROR -211
+#define GNUTLS_E_CRYPTODEV_DEVICE_ERROR -212
+
+#define GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE -213
+#define GNUTLS_E_BAD_COOKIE -214
+#define GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR -215
+#define GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL -216
+#define GNUTLS_E_INSUFFICIENT_SECURITY -217
+
+#define GNUTLS_E_HEARTBEAT_PONG_RECEIVED -292
+#define GNUTLS_E_HEARTBEAT_PING_RECEIVED -293
+
+#define GNUTLS_E_UNRECOGNIZED_NAME -294
/* PKCS11 related */
-# define GNUTLS_E_PKCS11_ERROR -300
-# define GNUTLS_E_PKCS11_LOAD_ERROR -301
-# define GNUTLS_E_PARSING_ERROR -302
-# define GNUTLS_E_PKCS11_PIN_ERROR -303
-
-# define GNUTLS_E_PKCS11_SLOT_ERROR -305
-# define GNUTLS_E_LOCKING_ERROR -306
-# define GNUTLS_E_PKCS11_ATTRIBUTE_ERROR -307
-# define GNUTLS_E_PKCS11_DEVICE_ERROR -308
-# define GNUTLS_E_PKCS11_DATA_ERROR -309
-# define GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR -310
-# define GNUTLS_E_PKCS11_KEY_ERROR -311
-# define GNUTLS_E_PKCS11_PIN_EXPIRED -312
-# define GNUTLS_E_PKCS11_PIN_LOCKED -313
-# define GNUTLS_E_PKCS11_SESSION_ERROR -314
-# define GNUTLS_E_PKCS11_SIGNATURE_ERROR -315
-# define GNUTLS_E_PKCS11_TOKEN_ERROR -316
-# define GNUTLS_E_PKCS11_USER_ERROR -317
-
-# define GNUTLS_E_CRYPTO_INIT_FAILED -318
-# define GNUTLS_E_TIMEDOUT -319
-# define GNUTLS_E_USER_ERROR -320
-# define GNUTLS_E_ECC_NO_SUPPORTED_CURVES -321
-# define GNUTLS_E_ECC_UNSUPPORTED_CURVE -322
-# define GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE -323
-# define GNUTLS_E_CERTIFICATE_LIST_UNSORTED -324
-# define GNUTLS_E_ILLEGAL_PARAMETER -325/* GNUTLS_A_ILLEGAL_PARAMETER */
-# define GNUTLS_E_NO_PRIORITIES_WERE_SET -326
-# define GNUTLS_E_X509_UNSUPPORTED_EXTENSION -327
-# define GNUTLS_E_SESSION_EOF -328
-
-# define GNUTLS_E_TPM_ERROR -329
-# define GNUTLS_E_TPM_KEY_PASSWORD_ERROR -330
-# define GNUTLS_E_TPM_SRK_PASSWORD_ERROR -331
-# define GNUTLS_E_TPM_SESSION_ERROR -332
-# define GNUTLS_E_TPM_KEY_NOT_FOUND -333
-# define GNUTLS_E_TPM_UNINITIALIZED -334
-# define GNUTLS_E_TPM_NO_LIB -335
-
-# define GNUTLS_E_NO_CERTIFICATE_STATUS -340
-# define GNUTLS_E_OCSP_RESPONSE_ERROR -341
-# define GNUTLS_E_RANDOM_DEVICE_ERROR -342
-# define GNUTLS_E_AUTH_ERROR -343
-# define GNUTLS_E_NO_APPLICATION_PROTOCOL -344
-# define GNUTLS_E_SOCKETS_INIT_ERROR -345
-# define GNUTLS_E_KEY_IMPORT_FAILED -346
-# define GNUTLS_E_INAPPROPRIATE_FALLBACK -347 /*GNUTLS_A_INAPPROPRIATE_FALLBACK */
-# define GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR -348
-# define GNUTLS_E_PRIVKEY_VERIFICATION_ERROR -349
-# define GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH -350 /*GNUTLS_A_DECODE_ERROR */
-# define GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING -351
-
-# define GNUTLS_E_SELF_TEST_ERROR -400
-# define GNUTLS_E_NO_SELF_TEST -401
-# define GNUTLS_E_LIB_IN_ERROR_STATE -402
-# define GNUTLS_E_PK_GENERATION_ERROR -403
-# define GNUTLS_E_IDNA_ERROR -404
-
-# define GNUTLS_E_NEED_FALLBACK -405
-# define GNUTLS_E_SESSION_USER_ID_CHANGED -406
-# define GNUTLS_E_HANDSHAKE_DURING_FALSE_START -407
-# define GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE -408
-# define GNUTLS_E_PK_INVALID_PUBKEY -409
-# define GNUTLS_E_PK_INVALID_PRIVKEY -410
-# define GNUTLS_E_NOT_YET_ACTIVATED -411
-# define GNUTLS_E_INVALID_UTF8_STRING -412
-# define GNUTLS_E_NO_EMBEDDED_DATA -413
-# define GNUTLS_E_INVALID_UTF8_EMAIL -414
-# define GNUTLS_E_INVALID_PASSWORD_STRING -415
-# define GNUTLS_E_CERTIFICATE_TIME_ERROR -416
-# define GNUTLS_E_RECORD_OVERFLOW -417 /* GNUTLS_A_RECORD_OVERFLOW */
-# define GNUTLS_E_ASN1_TIME_ERROR -418
-# define GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY -419
-# define GNUTLS_E_PK_INVALID_PUBKEY_PARAMS -420
-# define GNUTLS_E_PK_NO_VALIDATION_PARAMS -421
-# define GNUTLS_E_OCSP_MISMATCH_WITH_CERTS -422
-
-# define GNUTLS_E_NO_COMMON_KEY_SHARE -423
-# define GNUTLS_E_REAUTH_REQUEST -424
-# define GNUTLS_E_TOO_MANY_MATCHES -425
-# define GNUTLS_E_CRL_VERIFICATION_ERROR -426
-# define GNUTLS_E_MISSING_EXTENSION -427
-# define GNUTLS_E_DB_ENTRY_EXISTS -428
-# define GNUTLS_E_EARLY_DATA_REJECTED -429
-# define GNUTLS_E_X509_DUPLICATE_EXTENSION -430
-
-# define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250
+#define GNUTLS_E_PKCS11_ERROR -300
+#define GNUTLS_E_PKCS11_LOAD_ERROR -301
+#define GNUTLS_E_PARSING_ERROR -302
+#define GNUTLS_E_PKCS11_PIN_ERROR -303
+
+#define GNUTLS_E_PKCS11_SLOT_ERROR -305
+#define GNUTLS_E_LOCKING_ERROR -306
+#define GNUTLS_E_PKCS11_ATTRIBUTE_ERROR -307
+#define GNUTLS_E_PKCS11_DEVICE_ERROR -308
+#define GNUTLS_E_PKCS11_DATA_ERROR -309
+#define GNUTLS_E_PKCS11_UNSUPPORTED_FEATURE_ERROR -310
+#define GNUTLS_E_PKCS11_KEY_ERROR -311
+#define GNUTLS_E_PKCS11_PIN_EXPIRED -312
+#define GNUTLS_E_PKCS11_PIN_LOCKED -313
+#define GNUTLS_E_PKCS11_SESSION_ERROR -314
+#define GNUTLS_E_PKCS11_SIGNATURE_ERROR -315
+#define GNUTLS_E_PKCS11_TOKEN_ERROR -316
+#define GNUTLS_E_PKCS11_USER_ERROR -317
+
+#define GNUTLS_E_CRYPTO_INIT_FAILED -318
+#define GNUTLS_E_TIMEDOUT -319
+#define GNUTLS_E_USER_ERROR -320
+#define GNUTLS_E_ECC_NO_SUPPORTED_CURVES -321
+#define GNUTLS_E_ECC_UNSUPPORTED_CURVE -322
+#define GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE -323
+#define GNUTLS_E_CERTIFICATE_LIST_UNSORTED -324
+#define GNUTLS_E_ILLEGAL_PARAMETER -325 /* GNUTLS_A_ILLEGAL_PARAMETER */
+#define GNUTLS_E_NO_PRIORITIES_WERE_SET -326
+#define GNUTLS_E_X509_UNSUPPORTED_EXTENSION -327
+#define GNUTLS_E_SESSION_EOF -328
+
+#define GNUTLS_E_TPM_ERROR -329
+#define GNUTLS_E_TPM_KEY_PASSWORD_ERROR -330
+#define GNUTLS_E_TPM_SRK_PASSWORD_ERROR -331
+#define GNUTLS_E_TPM_SESSION_ERROR -332
+#define GNUTLS_E_TPM_KEY_NOT_FOUND -333
+#define GNUTLS_E_TPM_UNINITIALIZED -334
+#define GNUTLS_E_TPM_NO_LIB -335
+
+#define GNUTLS_E_NO_CERTIFICATE_STATUS -340
+#define GNUTLS_E_OCSP_RESPONSE_ERROR -341
+#define GNUTLS_E_RANDOM_DEVICE_ERROR -342
+#define GNUTLS_E_AUTH_ERROR -343
+#define GNUTLS_E_NO_APPLICATION_PROTOCOL -344
+#define GNUTLS_E_SOCKETS_INIT_ERROR -345
+#define GNUTLS_E_KEY_IMPORT_FAILED -346
+#define GNUTLS_E_INAPPROPRIATE_FALLBACK \
+ -347 /*GNUTLS_A_INAPPROPRIATE_FALLBACK */
+#define GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR -348
+#define GNUTLS_E_PRIVKEY_VERIFICATION_ERROR -349
+#define GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH -350 /*GNUTLS_A_DECODE_ERROR */
+#define GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING -351
+
+#define GNUTLS_E_SELF_TEST_ERROR -400
+#define GNUTLS_E_NO_SELF_TEST -401
+#define GNUTLS_E_LIB_IN_ERROR_STATE -402
+#define GNUTLS_E_PK_GENERATION_ERROR -403
+#define GNUTLS_E_IDNA_ERROR -404
+
+#define GNUTLS_E_NEED_FALLBACK -405
+#define GNUTLS_E_SESSION_USER_ID_CHANGED -406
+#define GNUTLS_E_HANDSHAKE_DURING_FALSE_START -407
+#define GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE -408
+#define GNUTLS_E_PK_INVALID_PUBKEY -409
+#define GNUTLS_E_PK_INVALID_PRIVKEY -410
+#define GNUTLS_E_NOT_YET_ACTIVATED -411
+#define GNUTLS_E_INVALID_UTF8_STRING -412
+#define GNUTLS_E_NO_EMBEDDED_DATA -413
+#define GNUTLS_E_INVALID_UTF8_EMAIL -414
+#define GNUTLS_E_INVALID_PASSWORD_STRING -415
+#define GNUTLS_E_CERTIFICATE_TIME_ERROR -416
+#define GNUTLS_E_RECORD_OVERFLOW -417 /* GNUTLS_A_RECORD_OVERFLOW */
+#define GNUTLS_E_ASN1_TIME_ERROR -418
+#define GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY -419
+#define GNUTLS_E_PK_INVALID_PUBKEY_PARAMS -420
+#define GNUTLS_E_PK_NO_VALIDATION_PARAMS -421
+#define GNUTLS_E_OCSP_MISMATCH_WITH_CERTS -422
+
+#define GNUTLS_E_NO_COMMON_KEY_SHARE -423
+#define GNUTLS_E_REAUTH_REQUEST -424
+#define GNUTLS_E_TOO_MANY_MATCHES -425
+#define GNUTLS_E_CRL_VERIFICATION_ERROR -426
+#define GNUTLS_E_MISSING_EXTENSION -427
+#define GNUTLS_E_DB_ENTRY_EXISTS -428
+#define GNUTLS_E_EARLY_DATA_REJECTED -429
+#define GNUTLS_E_X509_DUPLICATE_EXTENSION -430
+
+#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250
/* Internal errors of the library; will never be returned
* to a calling application */
-# define GNUTLS_E_INT_RET_0 -1251
-# define GNUTLS_E_INT_CHECK_AGAIN -1252
+#define GNUTLS_E_INT_RET_0 -1251
+#define GNUTLS_E_INT_CHECK_AGAIN -1252
-# define GNUTLS_E_APPLICATION_ERROR_MAX -65000
-# define GNUTLS_E_APPLICATION_ERROR_MIN -65500
+#define GNUTLS_E_APPLICATION_ERROR_MAX -65000
+#define GNUTLS_E_APPLICATION_ERROR_MIN -65500
#ifdef __cplusplus
}
#endif
-# include <gnutls/compat.h>
+#include <gnutls/compat.h>
-#endif /* GNUTLS_GNUTLS_H */
+#endif /* GNUTLS_GNUTLS_H */
diff --git a/lib/includes/gnutls/gnutlsxx.h b/lib/includes/gnutls/gnutlsxx.h
index 5c50ad08c9..673cf532b2 100644
--- a/lib/includes/gnutls/gnutlsxx.h
+++ b/lib/includes/gnutls/gnutlsxx.h
@@ -21,1152 +21,1247 @@
*/
#ifndef GNUTLS_GNUTLSXX_H
-# define GNUTLS_GNUTLSXX_H
-
-# include <exception>
-# include <vector>
-# include <gnutls/gnutls.h>
-
-namespace gnutls {
-
- class noncopyable {
- protected:
- noncopyable() {
- }
- ~noncopyable() {
- }
- private:
- /* These are non-implemented.
- */
- noncopyable(const noncopyable &);
- noncopyable & operator=(const noncopyable &);
- };
-
- class exception:public std::exception {
- public:
- explicit exception(int x);
- const char *what() const throw();
- int get_code();
- protected:
- int retcode;
- };
-
- class dh_params:private noncopyable {
- public:
- dh_params();
- ~dh_params();
- void import_raw(const gnutls_datum_t & prime,
- const gnutls_datum_t & generator);
- void import_pkcs3(const gnutls_datum_t & pkcs3_params,
- gnutls_x509_crt_fmt_t format);
- void generate(unsigned int bits);
-
- void export_pkcs3(gnutls_x509_crt_fmt_t format,
- unsigned char *params_data,
- size_t *params_data_size);
- void export_raw(gnutls_datum_t & prime,
- gnutls_datum_t & generator);
-
- gnutls_dh_params_t get_params_t() const;
- dh_params & operator=(const dh_params & src);
- protected:
- gnutls_dh_params_t params;
- };
-
- class rsa_params:private noncopyable {
- public:
- rsa_params();
- ~rsa_params();
- void import_raw(const gnutls_datum_t & m,
- const gnutls_datum_t & e,
- const gnutls_datum_t & d,
- const gnutls_datum_t & p,
- const gnutls_datum_t & q,
- const gnutls_datum_t & u);
- void import_pkcs1(const gnutls_datum_t & pkcs1_params,
- gnutls_x509_crt_fmt_t format);
- void generate(unsigned int bits);
-
- void export_pkcs1(gnutls_x509_crt_fmt_t format,
- unsigned char *params_data,
- size_t *params_data_size);
- void export_raw(gnutls_datum_t & m, gnutls_datum_t & e,
- gnutls_datum_t & d, gnutls_datum_t & p,
- gnutls_datum_t & q, gnutls_datum_t & u);
- gnutls_rsa_params_t get_params_t() const;
- rsa_params & operator=(const rsa_params & src);
-
- protected:
- gnutls_rsa_params_t params;
- };
-
- class session:private noncopyable {
- protected:
- gnutls_session_t s;
- public:
- explicit session(unsigned int);
- virtual ~ session();
-
- gnutls_session_t ptr();
- int bye(gnutls_close_request_t how);
- int handshake();
-
- gnutls_alert_description_t get_alert() const;
-
- int send_alert(gnutls_alert_level_t level,
- gnutls_alert_description_t desc);
- int send_appropriate_alert(int err);
-
- gnutls_cipher_algorithm_t get_cipher() const;
- gnutls_kx_algorithm_t get_kx() const;
- gnutls_mac_algorithm_t get_mac() const;
- gnutls_compression_method_t get_compression() const;
- gnutls_certificate_type_t get_certificate_type() const;
-
- /* for the handshake
- */
- void set_private_extensions(bool allow);
+#define GNUTLS_GNUTLSXX_H
- gnutls_handshake_description_t get_handshake_last_out() const;
- gnutls_handshake_description_t get_handshake_last_in() const;
+#include <exception>
+#include <vector>
+#include <gnutls/gnutls.h>
- ssize_t send(const void *data, size_t sizeofdata);
- ssize_t recv(void *data, size_t sizeofdata);
+namespace gnutls
+{
- bool get_record_direction() const;
+class noncopyable {
+ protected:
+ noncopyable()
+ {
+ }
+ ~noncopyable()
+ {
+ }
- /* maximum packet size
+ private:
+ /* These are non-implemented.
+ */
+ noncopyable(const noncopyable &);
+ noncopyable &operator=(const noncopyable &);
+};
+
+class exception : public std::exception {
+ public:
+ explicit exception(int x);
+ const char *what() const throw();
+ int get_code();
+
+ protected:
+ int retcode;
+};
+
+class dh_params : private noncopyable {
+ public:
+ dh_params();
+ ~dh_params();
+ void import_raw(const gnutls_datum_t &prime,
+ const gnutls_datum_t &generator);
+ void import_pkcs3(const gnutls_datum_t &pkcs3_params,
+ gnutls_x509_crt_fmt_t format);
+ void generate(unsigned int bits);
+
+ void export_pkcs3(gnutls_x509_crt_fmt_t format,
+ unsigned char *params_data, size_t *params_data_size);
+ void export_raw(gnutls_datum_t &prime, gnutls_datum_t &generator);
+
+ gnutls_dh_params_t get_params_t() const;
+ dh_params &operator=(const dh_params &src);
+
+ protected:
+ gnutls_dh_params_t params;
+};
+
+class rsa_params : private noncopyable {
+ public:
+ rsa_params();
+ ~rsa_params();
+ void import_raw(const gnutls_datum_t &m, const gnutls_datum_t &e,
+ const gnutls_datum_t &d, const gnutls_datum_t &p,
+ const gnutls_datum_t &q, const gnutls_datum_t &u);
+ void import_pkcs1(const gnutls_datum_t &pkcs1_params,
+ gnutls_x509_crt_fmt_t format);
+ void generate(unsigned int bits);
+
+ void export_pkcs1(gnutls_x509_crt_fmt_t format,
+ unsigned char *params_data, size_t *params_data_size);
+ void export_raw(gnutls_datum_t &m, gnutls_datum_t &e, gnutls_datum_t &d,
+ gnutls_datum_t &p, gnutls_datum_t &q,
+ gnutls_datum_t &u);
+ gnutls_rsa_params_t get_params_t() const;
+ rsa_params &operator=(const rsa_params &src);
+
+ protected:
+ gnutls_rsa_params_t params;
+};
+
+class session : private noncopyable {
+ protected:
+ gnutls_session_t s;
+
+ public:
+ explicit session(unsigned int);
+ virtual ~session();
+
+ gnutls_session_t ptr();
+ int bye(gnutls_close_request_t how);
+ int handshake();
+
+ gnutls_alert_description_t get_alert() const;
+
+ int send_alert(gnutls_alert_level_t level,
+ gnutls_alert_description_t desc);
+ int send_appropriate_alert(int err);
+
+ gnutls_cipher_algorithm_t get_cipher() const;
+ gnutls_kx_algorithm_t get_kx() const;
+ gnutls_mac_algorithm_t get_mac() const;
+ gnutls_compression_method_t get_compression() const;
+ gnutls_certificate_type_t get_certificate_type() const;
+
+ /* for the handshake
*/
- size_t get_max_size() const;
- void set_max_size(size_t size);
+ void set_private_extensions(bool allow);
- size_t check_pending() const;
+ gnutls_handshake_description_t get_handshake_last_out() const;
+ gnutls_handshake_description_t get_handshake_last_in() const;
- void prf(size_t label_size, const char *label,
- int server_random_first,
- size_t extra_size, const char *extra,
- size_t outsize, char *out);
+ ssize_t send(const void *data, size_t sizeofdata);
+ ssize_t recv(void *data, size_t sizeofdata);
- void prf_raw(size_t label_size, const char *label,
- size_t seed_size, const char *seed,
- size_t outsize, char *out);
+ bool get_record_direction() const;
- /* if you just want some defaults, use the following.
+ /* maximum packet size
*/
- void set_priority(const char *prio, const char **err_pos);
- void set_priority(gnutls_priority_t p);
+ size_t get_max_size() const;
+ void set_max_size(size_t size);
- gnutls_protocol_t get_protocol_version() const;
+ size_t check_pending() const;
- /* for resuming sessions
- */
- void set_data(const void *session_data,
- size_t session_data_size);
- void get_data(void *session_data,
- size_t *session_data_size) const;
- void get_data(gnutls_session_t session,
- gnutls_datum_t & data) const;
- void get_id(void *session_id, size_t *session_id_size) const;
-
- bool is_resumed() const;
-
- void set_max_handshake_packet_length(size_t max);
-
- void clear_credentials();
- void set_credentials(const class credentials & cred);
-
- void set_transport_ptr(gnutls_transport_ptr_t ptr);
- void set_transport_ptr(gnutls_transport_ptr_t recv_ptr,
- gnutls_transport_ptr_t send_ptr);
- gnutls_transport_ptr_t get_transport_ptr() const;
- void get_transport_ptr(gnutls_transport_ptr_t & recv_ptr,
- gnutls_transport_ptr_t & send_ptr) const;
-
- void set_transport_lowat(size_t num);
- void set_transport_push_function(gnutls_push_func push_func);
- void set_transport_vec_push_function(gnutls_vec_push_func
- vec_push_func);
- void set_transport_pull_function(gnutls_pull_func pull_func);
- void set_transport_pull_timeout_function
- (gnutls_pull_timeout_func pull_timeout_func);
-
- void set_user_ptr(void *ptr);
- void *get_user_ptr() const;
-
- void send_openpgp_cert(gnutls_openpgp_crt_status_t status);
-
- gnutls_credentials_type_t get_auth_type() const;
- gnutls_credentials_type_t get_server_auth_type() const;
- gnutls_credentials_type_t get_client_auth_type() const;
-
- /* informational stuff
- */
- void set_dh_prime_bits(unsigned int bits);
- unsigned int get_dh_secret_bits() const;
- unsigned int get_dh_peers_public_bits() const;
- unsigned int get_dh_prime_bits() const;
- void get_dh_group(gnutls_datum_t & gen,
- gnutls_datum_t & prime) const;
- void get_dh_pubkey(gnutls_datum_t & raw_key) const;
- void get_rsa_export_pubkey(gnutls_datum_t & exponent,
- gnutls_datum_t & modulus) const;
- unsigned int get_rsa_export_modulus_bits() const;
-
- void get_our_certificate(gnutls_datum_t & cert) const;
- bool get_peers_certificate(std::vector < gnutls_datum_t >
- &out_certs) const;
- bool get_peers_certificate(const gnutls_datum_t ** certs,
- unsigned int *certs_size) const;
-
- time_t get_peers_certificate_activation_time() const;
- time_t get_peers_certificate_expiration_time() const;
- void verify_peers_certificate(unsigned int &status) const;
- };
+ void prf(size_t label_size, const char *label, int server_random_first,
+ size_t extra_size, const char *extra, size_t outsize,
+ char *out);
-/* interface for databases
- */
- class DB:private noncopyable {
- public:
- virtual ~ DB() = 0;
- virtual bool store(const gnutls_datum_t & key,
- const gnutls_datum_t & data) = 0;
- virtual bool retrieve(const gnutls_datum_t & key,
- gnutls_datum_t & data) = 0;
- virtual bool remove(const gnutls_datum_t & key) = 0;
- };
-
- class server_session:public session {
- public:
- server_session();
- explicit server_session(int flags);
- ~server_session();
- void db_remove() const;
-
- void set_db_cache_expiration(unsigned int seconds);
- void set_db(const DB & db);
-
- /* returns true if session is expired
- */
- bool db_check_entry(const gnutls_datum_t & session_data) const;
+ void prf_raw(size_t label_size, const char *label, size_t seed_size,
+ const char *seed, size_t outsize, char *out);
- /* server side only
+ /* if you just want some defaults, use the following.
*/
- const char *get_srp_username() const;
- const char *get_psk_username() const;
+ void set_priority(const char *prio, const char **err_pos);
+ void set_priority(gnutls_priority_t p);
- void get_server_name(void *data, size_t *data_length,
- unsigned int *type,
- unsigned int indx) const;
-
- int rehandshake();
- void set_certificate_request(gnutls_certificate_request_t);
- };
-
- class client_session:public session {
- public:
- client_session();
- explicit client_session(int flags);
- ~client_session();
-
- void set_verify_cert(const char *hostname, unsigned flags);
- void set_server_name(gnutls_server_name_type_t type,
- const void *name, size_t name_length);
-
- bool get_request_status();
- };
-
- class credentials:private noncopyable {
- public:
- virtual ~ credentials() {
- } gnutls_credentials_type_t get_type() const;
- protected:
- friend class session;
- explicit credentials(gnutls_credentials_type_t t);
- void *ptr() const;
- void set_ptr(void *ptr);
- gnutls_credentials_type_t type;
- private:
- void *cred;
- };
-
- class certificate_credentials:public credentials {
- public:
- ~certificate_credentials();
- certificate_credentials();
-
- void free_keys();
- void free_cas();
- void free_ca_names();
- void free_crls();
-
- void set_dh_params(const dh_params & params);
- void set_rsa_export_params(const rsa_params & params);
- void set_verify_flags(unsigned int flags);
- void set_verify_limits(unsigned int max_bits,
- unsigned int max_depth);
-
- void set_x509_trust_file(const char *cafile,
- gnutls_x509_crt_fmt_t type);
- void set_x509_trust(const gnutls_datum_t & CA,
- gnutls_x509_crt_fmt_t type);
-
- void set_x509_trust(gnutls_x509_crt_t * ca_list,
- int ca_list_size);
-
- void set_x509_crl_file(const char *crlfile,
- gnutls_x509_crt_fmt_t type);
- void set_x509_crl(const gnutls_datum_t & CRL,
- gnutls_x509_crt_fmt_t type);
- void set_x509_crl(gnutls_x509_crl_t * crl_list,
- int crl_list_size);
-
- void set_x509_key_file(const char *certfile,
- const char *KEYFILE,
- gnutls_x509_crt_fmt_t type);
- void set_x509_key(const gnutls_datum_t & CERT,
- const gnutls_datum_t & KEY,
- gnutls_x509_crt_fmt_t type);
-
- void set_x509_key(gnutls_x509_crt_t * cert_list,
- int cert_list_size,
- gnutls_x509_privkey_t key);
-
- void set_simple_pkcs12_file(const char *pkcs12file,
- gnutls_x509_crt_fmt_t type,
- const char *password);
-
- void set_retrieve_function(gnutls_certificate_retrieve_function
- * func);
-
- protected:
- gnutls_certificate_credentials_t cred;
- };
-
- class certificate_server_credentials:public certificate_credentials {
- public:
- void set_params_function(gnutls_params_function * func);
- };
-
- class certificate_client_credentials:public certificate_credentials {
- public:
- };
-
- class anon_server_credentials:public credentials {
- public:
- anon_server_credentials();
- ~anon_server_credentials();
- void set_dh_params(const dh_params & params);
- void set_params_function(gnutls_params_function * func);
- protected:
- gnutls_anon_server_credentials_t cred;
- };
-
- class anon_client_credentials:public credentials {
- public:
- anon_client_credentials();
- ~anon_client_credentials();
- protected:
- gnutls_anon_client_credentials_t cred;
- };
-
- class srp_server_credentials:public credentials {
- public:
- srp_server_credentials();
- ~srp_server_credentials();
- void set_credentials_file(const char *password_file,
- const char *password_conf_file);
- void set_credentials_function
- (gnutls_srp_server_credentials_function * func);
- protected:
- gnutls_srp_server_credentials_t cred;
- };
-
- class srp_client_credentials:public credentials {
- public:
- srp_client_credentials();
- ~srp_client_credentials();
- void set_credentials(const char *username,
- const char *password);
- void set_credentials_function
- (gnutls_srp_client_credentials_function * func);
- protected:
- gnutls_srp_client_credentials_t cred;
- };
-
- class psk_server_credentials:public credentials {
- public:
- psk_server_credentials();
- ~psk_server_credentials();
- void set_credentials_file(const char *password_file);
- void set_credentials_function
- (gnutls_psk_server_credentials_function * func);
- void set_dh_params(const dh_params & params);
- void set_params_function(gnutls_params_function * func);
- protected:
- gnutls_psk_server_credentials_t cred;
- };
-
- class psk_client_credentials:public credentials {
- public:
- psk_client_credentials();
- ~psk_client_credentials();
- void set_credentials(const char *username,
- const gnutls_datum_t & key,
- gnutls_psk_key_flags flags);
- void set_credentials_function
- (gnutls_psk_client_credentials_function * func);
- protected:
- gnutls_psk_client_credentials_t cred;
- };
+ gnutls_protocol_t get_protocol_version() const;
-/* By default, we provide the function definitions, which allows users
- of the library to use the C++ header and link against the C
- library. However, if GNUTLS_GNUTLSXX_NO_HEADERONLY is defined, then
- the definitions are not necessary, as the user is expected to link
- to the C++ library. (Which is provided for backwards-compatibility.)
-
- All applications using GnuTLS of version less than 3.8.0 use the
- C++ library. Applications using GnuTLS 3.8.0 or above will use by
- default the C library with the C++ "header-only" header, but they
- still have the option to link to the C++ library instead if they
- wish, and if so, they must also define
- GNUTLS_GNUTLSXX_NO_HEADERONLY in their compilation step.
- */
-# ifndef GNUTLS_GNUTLSXX_NO_HEADERONLY
+ /* for resuming sessions
+ */
+ void set_data(const void *session_data, size_t session_data_size);
+ void get_data(void *session_data, size_t *session_data_size) const;
+ void get_data(gnutls_session_t session, gnutls_datum_t &data) const;
+ void get_id(void *session_id, size_t *session_id_size) const;
- inline static int RETWRAP(int ret) {
- if (ret < 0)
- throw(exception(ret));
- return ret;
- }
+ bool is_resumed() const;
- session::session(unsigned int flags) {
- RETWRAP(gnutls_init(&s, flags));
- }
+ void set_max_handshake_packet_length(size_t max);
- session::~session() {
- gnutls_deinit(s);
- }
+ void clear_credentials();
+ void set_credentials(const class credentials &cred);
- gnutls_session_t session::ptr() {
- return s;
- }
+ void set_transport_ptr(gnutls_transport_ptr_t ptr);
+ void set_transport_ptr(gnutls_transport_ptr_t recv_ptr,
+ gnutls_transport_ptr_t send_ptr);
+ gnutls_transport_ptr_t get_transport_ptr() const;
+ void get_transport_ptr(gnutls_transport_ptr_t &recv_ptr,
+ gnutls_transport_ptr_t &send_ptr) const;
- int session::bye(gnutls_close_request_t how) {
- return RETWRAP(gnutls_bye(s, how));
- }
+ void set_transport_lowat(size_t num);
+ void set_transport_push_function(gnutls_push_func push_func);
+ void
+ set_transport_vec_push_function(gnutls_vec_push_func vec_push_func);
+ void set_transport_pull_function(gnutls_pull_func pull_func);
+ void set_transport_pull_timeout_function(
+ gnutls_pull_timeout_func pull_timeout_func);
- int session::handshake() {
- return RETWRAP(gnutls_handshake(s));
- }
+ void set_user_ptr(void *ptr);
+ void *get_user_ptr() const;
- server_session::server_session():session(GNUTLS_SERVER) {
- }
+ void send_openpgp_cert(gnutls_openpgp_crt_status_t status);
- server_session::server_session(int flags):session(GNUTLS_SERVER |
- (flags &
- ~GNUTLS_CLIENT)) {
- }
+ gnutls_credentials_type_t get_auth_type() const;
+ gnutls_credentials_type_t get_server_auth_type() const;
+ gnutls_credentials_type_t get_client_auth_type() const;
- server_session::~server_session() {
- }
+ /* informational stuff
+ */
+ void set_dh_prime_bits(unsigned int bits);
+ unsigned int get_dh_secret_bits() const;
+ unsigned int get_dh_peers_public_bits() const;
+ unsigned int get_dh_prime_bits() const;
+ void get_dh_group(gnutls_datum_t &gen, gnutls_datum_t &prime) const;
+ void get_dh_pubkey(gnutls_datum_t &raw_key) const;
+ void get_rsa_export_pubkey(gnutls_datum_t &exponent,
+ gnutls_datum_t &modulus) const;
+ unsigned int get_rsa_export_modulus_bits() const;
+
+ void get_our_certificate(gnutls_datum_t &cert) const;
+ bool
+ get_peers_certificate(std::vector<gnutls_datum_t> &out_certs) const;
+ bool get_peers_certificate(const gnutls_datum_t **certs,
+ unsigned int *certs_size) const;
+
+ time_t get_peers_certificate_activation_time() const;
+ time_t get_peers_certificate_expiration_time() const;
+ void verify_peers_certificate(unsigned int &status) const;
+};
- int server_session::rehandshake() {
- return RETWRAP(gnutls_rehandshake(s));
- }
+/* interface for databases
+ */
+class DB : private noncopyable {
+ public:
+ virtual ~DB() = 0;
+ virtual bool store(const gnutls_datum_t &key,
+ const gnutls_datum_t &data) = 0;
+ virtual bool retrieve(const gnutls_datum_t &key,
+ gnutls_datum_t &data) = 0;
+ virtual bool remove(const gnutls_datum_t &key) = 0;
+};
+
+class server_session : public session {
+ public:
+ server_session();
+ explicit server_session(int flags);
+ ~server_session();
+ void db_remove() const;
+
+ void set_db_cache_expiration(unsigned int seconds);
+ void set_db(const DB &db);
+
+ /* returns true if session is expired
+ */
+ bool db_check_entry(const gnutls_datum_t &session_data) const;
- gnutls_alert_description_t session::get_alert() const {
- return gnutls_alert_get(s);
- }
- int session::send_alert(gnutls_alert_level_t level,
- gnutls_alert_description_t desc) {
- return RETWRAP(gnutls_alert_send(s, level, desc));
- }
+ /* server side only
+ */
+ const char *get_srp_username() const;
+ const char *get_psk_username() const;
- int session::send_appropriate_alert(int err) {
- return RETWRAP(gnutls_alert_send_appropriate(s, err));
- }
+ void get_server_name(void *data, size_t *data_length,
+ unsigned int *type, unsigned int indx) const;
- gnutls_cipher_algorithm_t session::get_cipher() const {
- return gnutls_cipher_get(s);
- }
- gnutls_kx_algorithm_t session::get_kx() const {
- return gnutls_kx_get(s);
- }
- gnutls_mac_algorithm_t session::get_mac() const {
- return gnutls_mac_get(s);
- }
- gnutls_compression_method_t session::get_compression() const {
- return gnutls_compression_get(s);
- }
- gnutls_certificate_type_t session::get_certificate_type() const {
- return gnutls_certificate_type_get(s);
- }
- void session::set_private_extensions(bool allow) {
- gnutls_handshake_set_private_extensions(s, (int)allow);
- }
+ int rehandshake();
+ void set_certificate_request(gnutls_certificate_request_t);
+};
- gnutls_handshake_description_t session::get_handshake_last_out() const {
- return gnutls_handshake_get_last_out(s);
- }
- gnutls_handshake_description_t session::get_handshake_last_in() const {
- return gnutls_handshake_get_last_in(s);
- }
- ssize_t session::send(const void *data, size_t sizeofdata) {
- return RETWRAP(gnutls_record_send(s, data, sizeofdata));
- }
+class client_session : public session {
+ public:
+ client_session();
+ explicit client_session(int flags);
+ ~client_session();
- ssize_t session::recv(void *data, size_t sizeofdata) {
- return RETWRAP(gnutls_record_recv(s, data, sizeofdata));
- }
+ void set_verify_cert(const char *hostname, unsigned flags);
+ void set_server_name(gnutls_server_name_type_t type, const void *name,
+ size_t name_length);
- bool session::get_record_direction() const {
- return gnutls_record_get_direction(s);
- }
- /* maximum packet size
- */ size_t session::get_max_size() const {
- return gnutls_record_get_max_size(s);
- }
- void session::set_max_size(size_t size) {
- RETWRAP(gnutls_record_set_max_size(s, size));
- }
+ bool get_request_status();
+};
- size_t session::check_pending() const {
- return gnutls_record_check_pending(s);
- }
- void session::prf(size_t label_size, const char *label,
- int server_random_first,
- size_t extra_size, const char *extra,
- size_t outsize, char *out) {
- RETWRAP(gnutls_prf(s, label_size, label, server_random_first,
- extra_size, extra, outsize, out));
+class credentials : private noncopyable {
+ public:
+ virtual ~credentials()
+ {
}
+ gnutls_credentials_type_t get_type() const;
+
+ protected:
+ friend class session;
+ explicit credentials(gnutls_credentials_type_t t);
+ void *ptr() const;
+ void set_ptr(void *ptr);
+ gnutls_credentials_type_t type;
+
+ private:
+ void *cred;
+};
+
+class certificate_credentials : public credentials {
+ public:
+ ~certificate_credentials();
+ certificate_credentials();
+
+ void free_keys();
+ void free_cas();
+ void free_ca_names();
+ void free_crls();
+
+ void set_dh_params(const dh_params &params);
+ void set_rsa_export_params(const rsa_params &params);
+ void set_verify_flags(unsigned int flags);
+ void set_verify_limits(unsigned int max_bits, unsigned int max_depth);
+
+ void set_x509_trust_file(const char *cafile,
+ gnutls_x509_crt_fmt_t type);
+ void set_x509_trust(const gnutls_datum_t &CA,
+ gnutls_x509_crt_fmt_t type);
+
+ void set_x509_trust(gnutls_x509_crt_t *ca_list, int ca_list_size);
+
+ void set_x509_crl_file(const char *crlfile, gnutls_x509_crt_fmt_t type);
+ void set_x509_crl(const gnutls_datum_t &CRL,
+ gnutls_x509_crt_fmt_t type);
+ void set_x509_crl(gnutls_x509_crl_t *crl_list, int crl_list_size);
+
+ void set_x509_key_file(const char *certfile, const char *KEYFILE,
+ gnutls_x509_crt_fmt_t type);
+ void set_x509_key(const gnutls_datum_t &CERT, const gnutls_datum_t &KEY,
+ gnutls_x509_crt_fmt_t type);
+
+ void set_x509_key(gnutls_x509_crt_t *cert_list, int cert_list_size,
+ gnutls_x509_privkey_t key);
+
+ void set_simple_pkcs12_file(const char *pkcs12file,
+ gnutls_x509_crt_fmt_t type,
+ const char *password);
+
+ void set_retrieve_function(gnutls_certificate_retrieve_function *func);
+
+ protected:
+ gnutls_certificate_credentials_t cred;
+};
+
+class certificate_server_credentials : public certificate_credentials {
+ public:
+ void set_params_function(gnutls_params_function *func);
+};
+
+class certificate_client_credentials : public certificate_credentials {
+ public:
+};
+
+class anon_server_credentials : public credentials {
+ public:
+ anon_server_credentials();
+ ~anon_server_credentials();
+ void set_dh_params(const dh_params &params);
+ void set_params_function(gnutls_params_function *func);
+
+ protected:
+ gnutls_anon_server_credentials_t cred;
+};
+
+class anon_client_credentials : public credentials {
+ public:
+ anon_client_credentials();
+ ~anon_client_credentials();
+
+ protected:
+ gnutls_anon_client_credentials_t cred;
+};
+
+class srp_server_credentials : public credentials {
+ public:
+ srp_server_credentials();
+ ~srp_server_credentials();
+ void set_credentials_file(const char *password_file,
+ const char *password_conf_file);
+ void
+ set_credentials_function(gnutls_srp_server_credentials_function *func);
+
+ protected:
+ gnutls_srp_server_credentials_t cred;
+};
+
+class srp_client_credentials : public credentials {
+ public:
+ srp_client_credentials();
+ ~srp_client_credentials();
+ void set_credentials(const char *username, const char *password);
+ void
+ set_credentials_function(gnutls_srp_client_credentials_function *func);
+
+ protected:
+ gnutls_srp_client_credentials_t cred;
+};
+
+class psk_server_credentials : public credentials {
+ public:
+ psk_server_credentials();
+ ~psk_server_credentials();
+ void set_credentials_file(const char *password_file);
+ void
+ set_credentials_function(gnutls_psk_server_credentials_function *func);
+ void set_dh_params(const dh_params &params);
+ void set_params_function(gnutls_params_function *func);
+
+ protected:
+ gnutls_psk_server_credentials_t cred;
+};
+
+class psk_client_credentials : public credentials {
+ public:
+ psk_client_credentials();
+ ~psk_client_credentials();
+ void set_credentials(const char *username, const gnutls_datum_t &key,
+ gnutls_psk_key_flags flags);
+ void
+ set_credentials_function(gnutls_psk_client_credentials_function *func);
+
+ protected:
+ gnutls_psk_client_credentials_t cred;
+};
- void session::prf_raw(size_t label_size, const char *label,
- size_t seed_size, const char *seed,
- size_t outsize, char *out) {
- RETWRAP(gnutls_prf_raw
- (s, label_size, label, seed_size, seed, outsize, out));
- }
+/* By default, we provide the function definitions, which allows users
+ of the library to use the C++ header and link against the C
+ library. However, if GNUTLS_GNUTLSXX_NO_HEADERONLY is defined, then
+ the definitions are not necessary, as the user is expected to link
+ to the C++ library. (Which is provided for backwards-compatibility.)
- /* if you just want some defaults, use the following.
+ All applications using GnuTLS of version less than 3.8.0 use the
+ C++ library. Applications using GnuTLS 3.8.0 or above will use by
+ default the C library with the C++ "header-only" header, but they
+ still have the option to link to the C++ library instead if they
+ wish, and if so, they must also define
+ GNUTLS_GNUTLSXX_NO_HEADERONLY in their compilation step.
+ */
+#ifndef GNUTLS_GNUTLSXX_NO_HEADERONLY
+
+inline static int RETWRAP(int ret)
+{
+ if (ret < 0)
+ throw(exception(ret));
+ return ret;
+}
+
+session::session(unsigned int flags)
+{
+ RETWRAP(gnutls_init(&s, flags));
+}
+
+session::~session()
+{
+ gnutls_deinit(s);
+}
+
+gnutls_session_t session::ptr()
+{
+ return s;
+}
+
+int session::bye(gnutls_close_request_t how)
+{
+ return RETWRAP(gnutls_bye(s, how));
+}
+
+int session::handshake()
+{
+ return RETWRAP(gnutls_handshake(s));
+}
+
+server_session::server_session()
+ : session(GNUTLS_SERVER)
+{
+}
+
+server_session::server_session(int flags)
+ : session(GNUTLS_SERVER | (flags & ~GNUTLS_CLIENT))
+{
+}
+
+server_session::~server_session()
+{
+}
+
+int server_session::rehandshake()
+{
+ return RETWRAP(gnutls_rehandshake(s));
+}
+
+gnutls_alert_description_t session::get_alert() const
+{
+ return gnutls_alert_get(s);
+}
+int session::send_alert(gnutls_alert_level_t level,
+ gnutls_alert_description_t desc)
+{
+ return RETWRAP(gnutls_alert_send(s, level, desc));
+}
+
+int session::send_appropriate_alert(int err)
+{
+ return RETWRAP(gnutls_alert_send_appropriate(s, err));
+}
+
+gnutls_cipher_algorithm_t session::get_cipher() const
+{
+ return gnutls_cipher_get(s);
+}
+gnutls_kx_algorithm_t session::get_kx() const
+{
+ return gnutls_kx_get(s);
+}
+gnutls_mac_algorithm_t session::get_mac() const
+{
+ return gnutls_mac_get(s);
+}
+gnutls_compression_method_t session::get_compression() const
+{
+ return gnutls_compression_get(s);
+}
+gnutls_certificate_type_t session::get_certificate_type() const
+{
+ return gnutls_certificate_type_get(s);
+}
+void session::set_private_extensions(bool allow)
+{
+ gnutls_handshake_set_private_extensions(s, (int)allow);
+}
+
+gnutls_handshake_description_t session::get_handshake_last_out() const
+{
+ return gnutls_handshake_get_last_out(s);
+}
+gnutls_handshake_description_t session::get_handshake_last_in() const
+{
+ return gnutls_handshake_get_last_in(s);
+}
+ssize_t session::send(const void *data, size_t sizeofdata)
+{
+ return RETWRAP(gnutls_record_send(s, data, sizeofdata));
+}
+
+ssize_t session::recv(void *data, size_t sizeofdata)
+{
+ return RETWRAP(gnutls_record_recv(s, data, sizeofdata));
+}
+
+bool session::get_record_direction() const
+{
+ return gnutls_record_get_direction(s);
+}
+/* maximum packet size
*/
- void session::set_priority(const char *prio, const char **err_pos) {
- RETWRAP(gnutls_priority_set_direct(s, prio, err_pos));
- }
-
- void session::set_priority(gnutls_priority_t p) {
- RETWRAP(gnutls_priority_set(s, p));
- }
-
- gnutls_protocol_t session::get_protocol_version() const {
- return gnutls_protocol_get_version(s);
- }
- void session::set_data(const void *session_data,
- size_t session_data_size) {
- RETWRAP(gnutls_session_set_data
- (s, session_data, session_data_size));
- }
-
- void session::get_data(void *session_data, size_t *session_data_size) const {
- RETWRAP(gnutls_session_get_data
- (s, session_data, session_data_size));
- } void session::get_data(gnutls_session_t session,
- gnutls_datum_t & data) const {
- RETWRAP(gnutls_session_get_data2(s, &data));
-
- } void session::get_id(void *session_id, size_t *session_id_size) const {
- RETWRAP(gnutls_session_get_id(s, session_id, session_id_size));
- } bool session::is_resumed() const {
- int ret = gnutls_session_is_resumed(s);
-
- return (ret != 0);
- }
- bool session::get_peers_certificate(std::vector < gnutls_datum_t >
- &out_certs) const {
- const gnutls_datum_t *certs;
- unsigned int certs_size;
-
- certs = gnutls_certificate_get_peers(s, &certs_size);
-
- if (certs == NULL)
- return false;
-
- for (unsigned int i = 0; i < certs_size; i++)
- out_certs.push_back(certs[i]);
-
- return true;
- }
- bool session::get_peers_certificate(const gnutls_datum_t ** certs,
- unsigned int *certs_size) const {
- *certs = gnutls_certificate_get_peers(s, certs_size);
-
- if (*certs == NULL)
- return false;
- return true;
- }
- void session::get_our_certificate(gnutls_datum_t & cert) const {
- const gnutls_datum_t *d;
-
- d = gnutls_certificate_get_ours(s);
- if (d == NULL)
- throw(exception(GNUTLS_E_INVALID_REQUEST));
-
- cert = *d;
- }
- time_t session::get_peers_certificate_activation_time() const {
- return gnutls_certificate_activation_time_peers(s);
- }
- time_t session::get_peers_certificate_expiration_time() const {
- return gnutls_certificate_expiration_time_peers(s);
- }
- void session::verify_peers_certificate(unsigned int &status) const {
- RETWRAP(gnutls_certificate_verify_peers2(s, &status));
- } client_session::client_session():session(GNUTLS_CLIENT) {
- }
-
- client_session::client_session(int flags):session(GNUTLS_CLIENT |
- (flags &
- ~GNUTLS_SERVER)) {
- }
-
- client_session::~client_session() {
- }
+size_t session::get_max_size() const
+{
+ return gnutls_record_get_max_size(s);
+}
+void session::set_max_size(size_t size)
+{
+ RETWRAP(gnutls_record_set_max_size(s, size));
+}
+
+size_t session::check_pending() const
+{
+ return gnutls_record_check_pending(s);
+}
+void session::prf(size_t label_size, const char *label, int server_random_first,
+ size_t extra_size, const char *extra, size_t outsize,
+ char *out)
+{
+ RETWRAP(gnutls_prf(s, label_size, label, server_random_first,
+ extra_size, extra, outsize, out));
+}
+
+void session::prf_raw(size_t label_size, const char *label, size_t seed_size,
+ const char *seed, size_t outsize, char *out)
+{
+ RETWRAP(gnutls_prf_raw(s, label_size, label, seed_size, seed, outsize,
+ out));
+}
+
+/* if you just want some defaults, use the following.
+ */
+void session::set_priority(const char *prio, const char **err_pos)
+{
+ RETWRAP(gnutls_priority_set_direct(s, prio, err_pos));
+}
+
+void session::set_priority(gnutls_priority_t p)
+{
+ RETWRAP(gnutls_priority_set(s, p));
+}
+
+gnutls_protocol_t session::get_protocol_version() const
+{
+ return gnutls_protocol_get_version(s);
+}
+void session::set_data(const void *session_data, size_t session_data_size)
+{
+ RETWRAP(gnutls_session_set_data(s, session_data, session_data_size));
+}
+
+void session::get_data(void *session_data, size_t *session_data_size) const
+{
+ RETWRAP(gnutls_session_get_data(s, session_data, session_data_size));
+}
+void session::get_data(gnutls_session_t session, gnutls_datum_t &data) const
+{
+ RETWRAP(gnutls_session_get_data2(s, &data));
+}
+void session::get_id(void *session_id, size_t *session_id_size) const
+{
+ RETWRAP(gnutls_session_get_id(s, session_id, session_id_size));
+}
+bool session::is_resumed() const
+{
+ int ret = gnutls_session_is_resumed(s);
+
+ return (ret != 0);
+}
+bool session::get_peers_certificate(std::vector<gnutls_datum_t> &out_certs) const
+{
+ const gnutls_datum_t *certs;
+ unsigned int certs_size;
+
+ certs = gnutls_certificate_get_peers(s, &certs_size);
+
+ if (certs == NULL)
+ return false;
+
+ for (unsigned int i = 0; i < certs_size; i++)
+ out_certs.push_back(certs[i]);
+
+ return true;
+}
+bool session::get_peers_certificate(const gnutls_datum_t **certs,
+ unsigned int *certs_size) const
+{
+ *certs = gnutls_certificate_get_peers(s, certs_size);
+
+ if (*certs == NULL)
+ return false;
+ return true;
+}
+void session::get_our_certificate(gnutls_datum_t &cert) const
+{
+ const gnutls_datum_t *d;
+
+ d = gnutls_certificate_get_ours(s);
+ if (d == NULL)
+ throw(exception(GNUTLS_E_INVALID_REQUEST));
+
+ cert = *d;
+}
+time_t session::get_peers_certificate_activation_time() const
+{
+ return gnutls_certificate_activation_time_peers(s);
+}
+time_t session::get_peers_certificate_expiration_time() const
+{
+ return gnutls_certificate_expiration_time_peers(s);
+}
+void session::verify_peers_certificate(unsigned int &status) const
+{
+ RETWRAP(gnutls_certificate_verify_peers2(s, &status));
+}
+client_session::client_session()
+ : session(GNUTLS_CLIENT)
+{
+}
+
+client_session::client_session(int flags)
+ : session(GNUTLS_CLIENT | (flags & ~GNUTLS_SERVER))
+{
+}
+
+client_session::~client_session()
+{
+}
// client session
- void client_session::set_verify_cert(const char *hostname,
- unsigned flags) {
- gnutls_session_set_verify_cert(s, hostname, flags);
- }
-
- void client_session::set_server_name(gnutls_server_name_type_t type,
- const void *name,
- size_t name_length) {
- RETWRAP(gnutls_server_name_set(s, type, name, name_length));
- }
-
- bool client_session::get_request_status() {
- return RETWRAP(gnutls_certificate_client_get_request_status(s));
- }
+void client_session::set_verify_cert(const char *hostname, unsigned flags)
+{
+ gnutls_session_set_verify_cert(s, hostname, flags);
+}
+
+void client_session::set_server_name(gnutls_server_name_type_t type,
+ const void *name, size_t name_length)
+{
+ RETWRAP(gnutls_server_name_set(s, type, name, name_length));
+}
+
+bool client_session::get_request_status()
+{
+ return RETWRAP(gnutls_certificate_client_get_request_status(s));
+}
// server_session
- void server_session::get_server_name(void *data, size_t *data_length,
- unsigned int *type,
- unsigned int indx) const {
- RETWRAP(gnutls_server_name_get
- (s, data, data_length, type, indx));
- }
+void server_session::get_server_name(void *data, size_t *data_length,
+ unsigned int *type,
+ unsigned int indx) const
+{
+ RETWRAP(gnutls_server_name_get(s, data, data_length, type, indx));
+}
// internal DB stuff
- static int store_function(void *_db, gnutls_datum_t key,
- gnutls_datum_t data) {
- try {
- DB *db = static_cast < DB * >(_db);
-
- if (db->store(key, data) == false)
- return -1;
- }
- catch( ...) {
- return -1;
- }
-
- return 0;
- }
+static int store_function(void *_db, gnutls_datum_t key, gnutls_datum_t data)
+{
+ try {
+ DB *db = static_cast<DB *>(_db);
- const static gnutls_datum_t null_datum = { NULL, 0 };
-
- static gnutls_datum_t retrieve_function(void *_db, gnutls_datum_t key) {
- gnutls_datum_t data;
-
- try {
- DB *db = static_cast < DB * >(_db);
-
- if (db->retrieve(key, data) == false)
- return null_datum;
-
- }
- catch( ...) {
- return null_datum;
- }
-
- return data;
- }
-
- static int remove_function(void *_db, gnutls_datum_t key) {
- try {
- DB *db = static_cast < DB * >(_db);
-
- if (db->remove(key) == false)
- return -1;
- }
- catch( ...) {
+ if (db->store(key, data) == false)
return -1;
- }
-
- return 0;
- }
-
- void server_session::set_db(const DB & db) {
- gnutls_db_set_ptr(s, const_cast < DB * >(&db));
- gnutls_db_set_store_function(s, store_function);
- gnutls_db_set_retrieve_function(s, retrieve_function);
- gnutls_db_set_remove_function(s, remove_function);
- }
-
- void server_session::set_db_cache_expiration(unsigned int seconds) {
- gnutls_db_set_cache_expiration(s, seconds);
- }
-
- void server_session::db_remove() const {
- gnutls_db_remove_session(s);
- } bool server_session::
- db_check_entry(const gnutls_datum_t & session_data) const {
- int ret = gnutls_db_check_entry(s, session_data);
-
- if (ret != 0)
- return true;
- return false;
- }
- void session::set_max_handshake_packet_length(size_t max) {
- gnutls_handshake_set_max_packet_length(s, max);
- }
-
- void session::clear_credentials() {
- gnutls_credentials_clear(s);
- }
-
- void session::set_credentials(const credentials & cred) {
- RETWRAP(gnutls_credentials_set(s, cred.get_type(), cred.ptr()));
- }
-
- const char *server_session::get_srp_username() const {
- return gnutls_srp_server_get_username(s);
- }
- const char *server_session::get_psk_username() const {
- return gnutls_psk_server_get_username(s);
- }
- void session::set_transport_ptr(gnutls_transport_ptr_t ptr) {
- gnutls_transport_set_ptr(s, ptr);
- }
-
- void session::set_transport_ptr(gnutls_transport_ptr_t recv_ptr,
- gnutls_transport_ptr_t send_ptr) {
- gnutls_transport_set_ptr2(s, recv_ptr, send_ptr);
- }
-
- gnutls_transport_ptr_t session::get_transport_ptr() const {
- return gnutls_transport_get_ptr(s);
- }
- void session::get_transport_ptr(gnutls_transport_ptr_t & recv_ptr,
- gnutls_transport_ptr_t & send_ptr)
- const {
- gnutls_transport_get_ptr2(s, &recv_ptr, &send_ptr);
- } void session::set_transport_lowat(size_t num) {
- throw(exception(GNUTLS_E_UNIMPLEMENTED_FEATURE));
- }
-
- void session::set_transport_push_function(gnutls_push_func push_func) {
- gnutls_transport_set_push_function(s, push_func);
- }
-
- void session::
- set_transport_vec_push_function(gnutls_vec_push_func vec_push_func)
- {
- gnutls_transport_set_vec_push_function(s, vec_push_func);
- }
-
- void session::set_transport_pull_function(gnutls_pull_func pull_func) {
- gnutls_transport_set_pull_function(s, pull_func);
- }
-
- void session::
- set_transport_pull_timeout_function(gnutls_pull_timeout_func
- pull_timeout_func) {
- gnutls_transport_set_pull_timeout_function(s,
- pull_timeout_func);
- }
-
- void session::set_user_ptr(void *ptr) {
- gnutls_session_set_ptr(s, ptr);
- }
-
- void *session::get_user_ptr() const {
- return gnutls_session_get_ptr(s);
- }
- void session::send_openpgp_cert(gnutls_openpgp_crt_status_t status) {
- gnutls_openpgp_send_cert(s, status);
- }
-
- void session::set_dh_prime_bits(unsigned int bits) {
- gnutls_dh_set_prime_bits(s, bits);
- }
-
- unsigned int session::get_dh_secret_bits() const {
- return RETWRAP(gnutls_dh_get_secret_bits(s));
- }
- unsigned int session::get_dh_peers_public_bits() const {
- return RETWRAP(gnutls_dh_get_peers_public_bits(s));
- }
- unsigned int session::get_dh_prime_bits() const {
- return RETWRAP(gnutls_dh_get_prime_bits(s));
- }
- void session::get_dh_group(gnutls_datum_t & gen, gnutls_datum_t & prime) const {
- RETWRAP(gnutls_dh_get_group(s, &gen, &prime));
- } void session::get_dh_pubkey(gnutls_datum_t & raw_key) const {
- RETWRAP(gnutls_dh_get_pubkey(s, &raw_key));
- } void server_session::
- set_certificate_request(gnutls_certificate_request_t req) {
- gnutls_certificate_server_set_request(s, req);
- }
-
- gnutls_credentials_type_t session::get_auth_type() const {
- return gnutls_auth_get_type(s);
- }
- gnutls_credentials_type_t session::get_server_auth_type() const {
- return gnutls_auth_server_get_type(s);
- }
- gnutls_credentials_type_t session::get_client_auth_type() const {
- return gnutls_auth_client_get_type(s);
- }
- certificate_credentials::~certificate_credentials() {
- gnutls_certificate_free_credentials(cred);
- }
-
- certificate_credentials::certificate_credentials():credentials
- (GNUTLS_CRD_CERTIFICATE)
- {
- RETWRAP(gnutls_certificate_allocate_credentials(&cred));
- set_ptr(cred);
- }
-
- void certificate_server_credentials::
- set_params_function(gnutls_params_function * func) {
- gnutls_certificate_set_params_function(cred, func);
- }
-
- anon_server_credentials::anon_server_credentials():credentials
- (GNUTLS_CRD_ANON)
- {
- RETWRAP(gnutls_anon_allocate_server_credentials(&cred));
- set_ptr(cred);
- }
-
- anon_server_credentials::~anon_server_credentials() {
- gnutls_anon_free_server_credentials(cred);
- }
-
- void anon_server_credentials::set_dh_params(const dh_params & params) {
- gnutls_anon_set_server_dh_params(cred, params.get_params_t());
+ } catch (...) {
+ return -1;
}
- void anon_server_credentials::
- set_params_function(gnutls_params_function * func) {
- gnutls_anon_set_server_params_function(cred, func);
- }
-
- anon_client_credentials::anon_client_credentials():credentials
- (GNUTLS_CRD_ANON)
- {
- RETWRAP(gnutls_anon_allocate_client_credentials(&cred));
- set_ptr(cred);
- }
-
- anon_client_credentials::~anon_client_credentials() {
- gnutls_anon_free_client_credentials(cred);
- }
+ return 0;
+}
- void certificate_credentials::free_keys() {
- gnutls_certificate_free_keys(cred);
- }
+const static gnutls_datum_t null_datum = { NULL, 0 };
- void certificate_credentials::free_cas() {
- gnutls_certificate_free_cas(cred);
- }
+static gnutls_datum_t retrieve_function(void *_db, gnutls_datum_t key)
+{
+ gnutls_datum_t data;
- void certificate_credentials::free_ca_names() {
- gnutls_certificate_free_ca_names(cred);
- }
+ try {
+ DB *db = static_cast<DB *>(_db);
- void certificate_credentials::free_crls() {
- gnutls_certificate_free_crls(cred);
- }
-
- void certificate_credentials::set_dh_params(const dh_params & params) {
- gnutls_certificate_set_dh_params(cred, params.get_params_t());
- }
-
- void certificate_credentials::set_verify_flags(unsigned int flags) {
- gnutls_certificate_set_verify_flags(cred, flags);
- }
-
- void certificate_credentials::set_verify_limits(unsigned int max_bits,
- unsigned int max_depth)
- {
- gnutls_certificate_set_verify_limits(cred, max_bits, max_depth);
- }
-
- void certificate_credentials::set_x509_trust_file(const char *cafile,
- gnutls_x509_crt_fmt_t
- type) {
- RETWRAP(gnutls_certificate_set_x509_trust_file
- (cred, cafile, type));
- }
-
- void certificate_credentials::set_x509_trust(const gnutls_datum_t & CA,
- gnutls_x509_crt_fmt_t type)
- {
- RETWRAP(gnutls_certificate_set_x509_trust_mem(cred, &CA, type));
- }
-
- void certificate_credentials::set_x509_crl_file(const char *crlfile,
- gnutls_x509_crt_fmt_t
- type) {
- RETWRAP(gnutls_certificate_set_x509_crl_file
- (cred, crlfile, type));
- }
-
- void certificate_credentials::set_x509_crl(const gnutls_datum_t & CRL,
- gnutls_x509_crt_fmt_t type) {
- RETWRAP(gnutls_certificate_set_x509_crl_mem(cred, &CRL, type));
- }
-
- void certificate_credentials::set_x509_key_file(const char *certfile,
- const char *keyfile,
- gnutls_x509_crt_fmt_t
- type) {
- RETWRAP(gnutls_certificate_set_x509_key_file
- (cred, certfile, keyfile, type));
- }
+ if (db->retrieve(key, data) == false)
+ return null_datum;
- void certificate_credentials::set_x509_key(const gnutls_datum_t & CERT,
- const gnutls_datum_t & KEY,
- gnutls_x509_crt_fmt_t type) {
- RETWRAP(gnutls_certificate_set_x509_key_mem
- (cred, &CERT, &KEY, type));
+ } catch (...) {
+ return null_datum;
}
- void certificate_credentials::
- set_simple_pkcs12_file(const char *pkcs12file,
- gnutls_x509_crt_fmt_t type,
- const char *password) {
- RETWRAP(gnutls_certificate_set_x509_simple_pkcs12_file
- (cred, pkcs12file, type, password));
- }
+ return data;
+}
- void certificate_credentials::set_x509_key(gnutls_x509_crt_t *
- cert_list,
- int cert_list_size,
- gnutls_x509_privkey_t key) {
- RETWRAP(gnutls_certificate_set_x509_key
- (cred, cert_list, cert_list_size, key));
- }
+static int remove_function(void *_db, gnutls_datum_t key)
+{
+ try {
+ DB *db = static_cast<DB *>(_db);
- void certificate_credentials::set_x509_trust(gnutls_x509_crt_t *
- ca_list, int ca_list_size)
- {
- RETWRAP(gnutls_certificate_set_x509_trust
- (cred, ca_list, ca_list_size));
- }
-
- void certificate_credentials::set_x509_crl(gnutls_x509_crl_t * crl_list,
- int crl_list_size) {
- RETWRAP(gnutls_certificate_set_x509_crl
- (cred, crl_list, crl_list_size));
- }
-
- void certificate_credentials::
- set_retrieve_function(gnutls_certificate_retrieve_function * func) {
- gnutls_certificate_set_retrieve_function(cred, func);
- }
+ if (db->remove(key) == false)
+ return -1;
+ } catch (...) {
+ return -1;
+ }
+
+ return 0;
+}
+
+void server_session::set_db(const DB &db)
+{
+ gnutls_db_set_ptr(s, const_cast<DB *>(&db));
+ gnutls_db_set_store_function(s, store_function);
+ gnutls_db_set_retrieve_function(s, retrieve_function);
+ gnutls_db_set_remove_function(s, remove_function);
+}
+
+void server_session::set_db_cache_expiration(unsigned int seconds)
+{
+ gnutls_db_set_cache_expiration(s, seconds);
+}
+
+void server_session::db_remove() const
+{
+ gnutls_db_remove_session(s);
+}
+bool server_session::db_check_entry(const gnutls_datum_t &session_data) const
+{
+ int ret = gnutls_db_check_entry(s, session_data);
+
+ if (ret != 0)
+ return true;
+ return false;
+}
+void session::set_max_handshake_packet_length(size_t max)
+{
+ gnutls_handshake_set_max_packet_length(s, max);
+}
+
+void session::clear_credentials()
+{
+ gnutls_credentials_clear(s);
+}
+
+void session::set_credentials(const credentials &cred)
+{
+ RETWRAP(gnutls_credentials_set(s, cred.get_type(), cred.ptr()));
+}
+
+const char *server_session::get_srp_username() const
+{
+ return gnutls_srp_server_get_username(s);
+}
+const char *server_session::get_psk_username() const
+{
+ return gnutls_psk_server_get_username(s);
+}
+void session::set_transport_ptr(gnutls_transport_ptr_t ptr)
+{
+ gnutls_transport_set_ptr(s, ptr);
+}
+
+void session::set_transport_ptr(gnutls_transport_ptr_t recv_ptr,
+ gnutls_transport_ptr_t send_ptr)
+{
+ gnutls_transport_set_ptr2(s, recv_ptr, send_ptr);
+}
+
+gnutls_transport_ptr_t session::get_transport_ptr() const
+{
+ return gnutls_transport_get_ptr(s);
+}
+void session::get_transport_ptr(gnutls_transport_ptr_t &recv_ptr,
+ gnutls_transport_ptr_t &send_ptr) const
+{
+ gnutls_transport_get_ptr2(s, &recv_ptr, &send_ptr);
+}
+void session::set_transport_lowat(size_t num)
+{
+ throw(exception(GNUTLS_E_UNIMPLEMENTED_FEATURE));
+}
+
+void session::set_transport_push_function(gnutls_push_func push_func)
+{
+ gnutls_transport_set_push_function(s, push_func);
+}
+
+void session::set_transport_vec_push_function(gnutls_vec_push_func vec_push_func)
+{
+ gnutls_transport_set_vec_push_function(s, vec_push_func);
+}
+
+void session::set_transport_pull_function(gnutls_pull_func pull_func)
+{
+ gnutls_transport_set_pull_function(s, pull_func);
+}
+
+void session::set_transport_pull_timeout_function(
+ gnutls_pull_timeout_func pull_timeout_func)
+{
+ gnutls_transport_set_pull_timeout_function(s, pull_timeout_func);
+}
+
+void session::set_user_ptr(void *ptr)
+{
+ gnutls_session_set_ptr(s, ptr);
+}
+
+void *session::get_user_ptr() const
+{
+ return gnutls_session_get_ptr(s);
+}
+void session::send_openpgp_cert(gnutls_openpgp_crt_status_t status)
+{
+ gnutls_openpgp_send_cert(s, status);
+}
+
+void session::set_dh_prime_bits(unsigned int bits)
+{
+ gnutls_dh_set_prime_bits(s, bits);
+}
+
+unsigned int session::get_dh_secret_bits() const
+{
+ return RETWRAP(gnutls_dh_get_secret_bits(s));
+}
+unsigned int session::get_dh_peers_public_bits() const
+{
+ return RETWRAP(gnutls_dh_get_peers_public_bits(s));
+}
+unsigned int session::get_dh_prime_bits() const
+{
+ return RETWRAP(gnutls_dh_get_prime_bits(s));
+}
+void session::get_dh_group(gnutls_datum_t &gen, gnutls_datum_t &prime) const
+{
+ RETWRAP(gnutls_dh_get_group(s, &gen, &prime));
+}
+void session::get_dh_pubkey(gnutls_datum_t &raw_key) const
+{
+ RETWRAP(gnutls_dh_get_pubkey(s, &raw_key));
+}
+void server_session::set_certificate_request(gnutls_certificate_request_t req)
+{
+ gnutls_certificate_server_set_request(s, req);
+}
+
+gnutls_credentials_type_t session::get_auth_type() const
+{
+ return gnutls_auth_get_type(s);
+}
+gnutls_credentials_type_t session::get_server_auth_type() const
+{
+ return gnutls_auth_server_get_type(s);
+}
+gnutls_credentials_type_t session::get_client_auth_type() const
+{
+ return gnutls_auth_client_get_type(s);
+}
+certificate_credentials::~certificate_credentials()
+{
+ gnutls_certificate_free_credentials(cred);
+}
+
+certificate_credentials::certificate_credentials()
+ : credentials(GNUTLS_CRD_CERTIFICATE)
+{
+ RETWRAP(gnutls_certificate_allocate_credentials(&cred));
+ set_ptr(cred);
+}
+
+void certificate_server_credentials::set_params_function(
+ gnutls_params_function *func)
+{
+ gnutls_certificate_set_params_function(cred, func);
+}
+
+anon_server_credentials::anon_server_credentials()
+ : credentials(GNUTLS_CRD_ANON)
+{
+ RETWRAP(gnutls_anon_allocate_server_credentials(&cred));
+ set_ptr(cred);
+}
+
+anon_server_credentials::~anon_server_credentials()
+{
+ gnutls_anon_free_server_credentials(cred);
+}
+
+void anon_server_credentials::set_dh_params(const dh_params &params)
+{
+ gnutls_anon_set_server_dh_params(cred, params.get_params_t());
+}
+
+void anon_server_credentials::set_params_function(gnutls_params_function *func)
+{
+ gnutls_anon_set_server_params_function(cred, func);
+}
+
+anon_client_credentials::anon_client_credentials()
+ : credentials(GNUTLS_CRD_ANON)
+{
+ RETWRAP(gnutls_anon_allocate_client_credentials(&cred));
+ set_ptr(cred);
+}
+
+anon_client_credentials::~anon_client_credentials()
+{
+ gnutls_anon_free_client_credentials(cred);
+}
+
+void certificate_credentials::free_keys()
+{
+ gnutls_certificate_free_keys(cred);
+}
+
+void certificate_credentials::free_cas()
+{
+ gnutls_certificate_free_cas(cred);
+}
+
+void certificate_credentials::free_ca_names()
+{
+ gnutls_certificate_free_ca_names(cred);
+}
+
+void certificate_credentials::free_crls()
+{
+ gnutls_certificate_free_crls(cred);
+}
+
+void certificate_credentials::set_dh_params(const dh_params &params)
+{
+ gnutls_certificate_set_dh_params(cred, params.get_params_t());
+}
+
+void certificate_credentials::set_verify_flags(unsigned int flags)
+{
+ gnutls_certificate_set_verify_flags(cred, flags);
+}
+
+void certificate_credentials::set_verify_limits(unsigned int max_bits,
+ unsigned int max_depth)
+{
+ gnutls_certificate_set_verify_limits(cred, max_bits, max_depth);
+}
+
+void certificate_credentials::set_x509_trust_file(const char *cafile,
+ gnutls_x509_crt_fmt_t type)
+{
+ RETWRAP(gnutls_certificate_set_x509_trust_file(cred, cafile, type));
+}
+
+void certificate_credentials::set_x509_trust(const gnutls_datum_t &CA,
+ gnutls_x509_crt_fmt_t type)
+{
+ RETWRAP(gnutls_certificate_set_x509_trust_mem(cred, &CA, type));
+}
+
+void certificate_credentials::set_x509_crl_file(const char *crlfile,
+ gnutls_x509_crt_fmt_t type)
+{
+ RETWRAP(gnutls_certificate_set_x509_crl_file(cred, crlfile, type));
+}
+
+void certificate_credentials::set_x509_crl(const gnutls_datum_t &CRL,
+ gnutls_x509_crt_fmt_t type)
+{
+ RETWRAP(gnutls_certificate_set_x509_crl_mem(cred, &CRL, type));
+}
+
+void certificate_credentials::set_x509_key_file(const char *certfile,
+ const char *keyfile,
+ gnutls_x509_crt_fmt_t type)
+{
+ RETWRAP(gnutls_certificate_set_x509_key_file(cred, certfile, keyfile,
+ type));
+}
+
+void certificate_credentials::set_x509_key(const gnutls_datum_t &CERT,
+ const gnutls_datum_t &KEY,
+ gnutls_x509_crt_fmt_t type)
+{
+ RETWRAP(gnutls_certificate_set_x509_key_mem(cred, &CERT, &KEY, type));
+}
+
+void certificate_credentials::set_simple_pkcs12_file(const char *pkcs12file,
+ gnutls_x509_crt_fmt_t type,
+ const char *password)
+{
+ RETWRAP(gnutls_certificate_set_x509_simple_pkcs12_file(cred, pkcs12file,
+ type, password));
+}
+
+void certificate_credentials::set_x509_key(gnutls_x509_crt_t *cert_list,
+ int cert_list_size,
+ gnutls_x509_privkey_t key)
+{
+ RETWRAP(gnutls_certificate_set_x509_key(cred, cert_list, cert_list_size,
+ key));
+}
+
+void certificate_credentials::set_x509_trust(gnutls_x509_crt_t *ca_list,
+ int ca_list_size)
+{
+ RETWRAP(gnutls_certificate_set_x509_trust(cred, ca_list, ca_list_size));
+}
+
+void certificate_credentials::set_x509_crl(gnutls_x509_crl_t *crl_list,
+ int crl_list_size)
+{
+ RETWRAP(gnutls_certificate_set_x509_crl(cred, crl_list, crl_list_size));
+}
+
+void certificate_credentials::set_retrieve_function(
+ gnutls_certificate_retrieve_function *func)
+{
+ gnutls_certificate_set_retrieve_function(cred, func);
+}
// SRP
- srp_server_credentials::srp_server_credentials():credentials(GNUTLS_CRD_SRP)
- {
- RETWRAP(gnutls_srp_allocate_server_credentials(&cred));
- set_ptr(cred);
- }
-
- srp_server_credentials::~srp_server_credentials() {
- gnutls_srp_free_server_credentials(cred);
- }
-
- srp_client_credentials::srp_client_credentials():credentials(GNUTLS_CRD_SRP)
- {
- RETWRAP(gnutls_srp_allocate_client_credentials(&cred));
- set_ptr(cred);
- }
-
- srp_client_credentials::~srp_client_credentials() {
- gnutls_srp_free_client_credentials(cred);
- }
-
- void srp_client_credentials::set_credentials(const char *username,
- const char *password) {
- RETWRAP(gnutls_srp_set_client_credentials
- (cred, username, password));
- }
-
- void srp_server_credentials::
- set_credentials_file(const char *password_file,
- const char *password_conf_file) {
- RETWRAP(gnutls_srp_set_server_credentials_file
- (cred, password_file, password_conf_file));
- }
-
- void srp_server_credentials::
- set_credentials_function(gnutls_srp_server_credentials_function *
- func) {
- gnutls_srp_set_server_credentials_function(cred, func);
- }
-
- void srp_client_credentials::
- set_credentials_function(gnutls_srp_client_credentials_function *
- func) {
- gnutls_srp_set_client_credentials_function(cred, func);
- }
+srp_server_credentials::srp_server_credentials()
+ : credentials(GNUTLS_CRD_SRP)
+{
+ RETWRAP(gnutls_srp_allocate_server_credentials(&cred));
+ set_ptr(cred);
+}
+
+srp_server_credentials::~srp_server_credentials()
+{
+ gnutls_srp_free_server_credentials(cred);
+}
+
+srp_client_credentials::srp_client_credentials()
+ : credentials(GNUTLS_CRD_SRP)
+{
+ RETWRAP(gnutls_srp_allocate_client_credentials(&cred));
+ set_ptr(cred);
+}
+
+srp_client_credentials::~srp_client_credentials()
+{
+ gnutls_srp_free_client_credentials(cred);
+}
+
+void srp_client_credentials::set_credentials(const char *username,
+ const char *password)
+{
+ RETWRAP(gnutls_srp_set_client_credentials(cred, username, password));
+}
+
+void srp_server_credentials::set_credentials_file(
+ const char *password_file, const char *password_conf_file)
+{
+ RETWRAP(gnutls_srp_set_server_credentials_file(cred, password_file,
+ password_conf_file));
+}
+
+void srp_server_credentials::set_credentials_function(
+ gnutls_srp_server_credentials_function *func)
+{
+ gnutls_srp_set_server_credentials_function(cred, func);
+}
+
+void srp_client_credentials::set_credentials_function(
+ gnutls_srp_client_credentials_function *func)
+{
+ gnutls_srp_set_client_credentials_function(cred, func);
+}
// PSK
- psk_server_credentials::psk_server_credentials():credentials(GNUTLS_CRD_PSK)
- {
- RETWRAP(gnutls_psk_allocate_server_credentials(&cred));
- set_ptr(cred);
- }
-
- psk_server_credentials::~psk_server_credentials() {
- gnutls_psk_free_server_credentials(cred);
- }
-
- void psk_server_credentials::
- set_credentials_file(const char *password_file) {
- RETWRAP(gnutls_psk_set_server_credentials_file
- (cred, password_file));
- }
-
- void psk_server_credentials::
- set_credentials_function(gnutls_psk_server_credentials_function *
- func) {
- gnutls_psk_set_server_credentials_function(cred, func);
- }
-
- void psk_server_credentials::set_dh_params(const dh_params & params) {
- gnutls_psk_set_server_dh_params(cred, params.get_params_t());
- }
-
- void psk_server_credentials::
- set_params_function(gnutls_params_function * func) {
- gnutls_psk_set_server_params_function(cred, func);
- }
-
- psk_client_credentials::psk_client_credentials():credentials(GNUTLS_CRD_PSK)
- {
- RETWRAP(gnutls_psk_allocate_client_credentials(&cred));
- set_ptr(cred);
- }
-
- psk_client_credentials::~psk_client_credentials() {
- gnutls_psk_free_client_credentials(cred);
- }
-
- void psk_client_credentials::set_credentials(const char *username,
- const gnutls_datum_t & key,
- gnutls_psk_key_flags flags)
- {
- RETWRAP(gnutls_psk_set_client_credentials
- (cred, username, &key, flags));
- }
-
- void psk_client_credentials::
- set_credentials_function(gnutls_psk_client_credentials_function *
- func) {
- gnutls_psk_set_client_credentials_function(cred, func);
- }
-
- credentials::credentials(gnutls_credentials_type_t t):type(t), cred(NULL)
- {
- }
-
- gnutls_credentials_type_t credentials::get_type() const {
- return type;
- }
- void *credentials::ptr() const {
- return cred;
- }
- void credentials::set_ptr(void *ptr) {
- cred = ptr;
- }
-
- exception::exception(int x) {
- retcode = x;
- }
-
- int exception::get_code() {
- return retcode;
- }
-
- const char *exception::what() const throw() {
- return gnutls_strerror(retcode);
- }
-
- dh_params::dh_params() {
- RETWRAP(gnutls_dh_params_init(&params));
- }
-
- dh_params::~dh_params() {
- gnutls_dh_params_deinit(params);
- }
-
- void dh_params::import_raw(const gnutls_datum_t & prime,
- const gnutls_datum_t & generator) {
- RETWRAP(gnutls_dh_params_import_raw
- (params, &prime, &generator));
- }
-
- void dh_params::import_pkcs3(const gnutls_datum_t & pkcs3_params,
- gnutls_x509_crt_fmt_t format) {
- RETWRAP(gnutls_dh_params_import_pkcs3
- (params, &pkcs3_params, format));
- }
-
- void dh_params::generate(unsigned int bits) {
- RETWRAP(gnutls_dh_params_generate2(params, bits));
- }
-
- void dh_params::export_pkcs3(gnutls_x509_crt_fmt_t format,
- unsigned char *params_data,
- size_t *params_data_size) {
- RETWRAP(gnutls_dh_params_export_pkcs3
- (params, format, params_data, params_data_size));
- }
-
- void dh_params::export_raw(gnutls_datum_t & prime,
- gnutls_datum_t & generator) {
- RETWRAP(gnutls_dh_params_export_raw
- (params, &prime, &generator, NULL));
- }
-
- gnutls_dh_params_t dh_params::get_params_t() const {
- return params;
+psk_server_credentials::psk_server_credentials()
+ : credentials(GNUTLS_CRD_PSK)
+{
+ RETWRAP(gnutls_psk_allocate_server_credentials(&cred));
+ set_ptr(cred);
+}
+
+psk_server_credentials::~psk_server_credentials()
+{
+ gnutls_psk_free_server_credentials(cred);
+}
+
+void psk_server_credentials::set_credentials_file(const char *password_file)
+{
+ RETWRAP(gnutls_psk_set_server_credentials_file(cred, password_file));
+}
+
+void psk_server_credentials::set_credentials_function(
+ gnutls_psk_server_credentials_function *func)
+{
+ gnutls_psk_set_server_credentials_function(cred, func);
+}
+
+void psk_server_credentials::set_dh_params(const dh_params &params)
+{
+ gnutls_psk_set_server_dh_params(cred, params.get_params_t());
+}
+
+void psk_server_credentials::set_params_function(gnutls_params_function *func)
+{
+ gnutls_psk_set_server_params_function(cred, func);
+}
+
+psk_client_credentials::psk_client_credentials()
+ : credentials(GNUTLS_CRD_PSK)
+{
+ RETWRAP(gnutls_psk_allocate_client_credentials(&cred));
+ set_ptr(cred);
+}
+
+psk_client_credentials::~psk_client_credentials()
+{
+ gnutls_psk_free_client_credentials(cred);
+}
+
+void psk_client_credentials::set_credentials(const char *username,
+ const gnutls_datum_t &key,
+ gnutls_psk_key_flags flags)
+{
+ RETWRAP(gnutls_psk_set_client_credentials(cred, username, &key, flags));
+}
+
+void psk_client_credentials::set_credentials_function(
+ gnutls_psk_client_credentials_function *func)
+{
+ gnutls_psk_set_client_credentials_function(cred, func);
+}
+
+credentials::credentials(gnutls_credentials_type_t t)
+ : type(t)
+ , cred(NULL)
+{
+}
+
+gnutls_credentials_type_t credentials::get_type() const
+{
+ return type;
+}
+void *credentials::ptr() const
+{
+ return cred;
+}
+void credentials::set_ptr(void *ptr)
+{
+ cred = ptr;
+}
+
+exception::exception(int x)
+{
+ retcode = x;
+}
+
+int exception::get_code()
+{
+ return retcode;
+}
+
+const char *exception::what() const throw()
+{
+ return gnutls_strerror(retcode);
+}
+
+dh_params::dh_params()
+{
+ RETWRAP(gnutls_dh_params_init(&params));
+}
+
+dh_params::~dh_params()
+{
+ gnutls_dh_params_deinit(params);
+}
+
+void dh_params::import_raw(const gnutls_datum_t &prime,
+ const gnutls_datum_t &generator)
+{
+ RETWRAP(gnutls_dh_params_import_raw(params, &prime, &generator));
+}
+
+void dh_params::import_pkcs3(const gnutls_datum_t &pkcs3_params,
+ gnutls_x509_crt_fmt_t format)
+{
+ RETWRAP(gnutls_dh_params_import_pkcs3(params, &pkcs3_params, format));
+}
+
+void dh_params::generate(unsigned int bits)
+{
+ RETWRAP(gnutls_dh_params_generate2(params, bits));
+}
+
+void dh_params::export_pkcs3(gnutls_x509_crt_fmt_t format,
+ unsigned char *params_data,
+ size_t *params_data_size)
+{
+ RETWRAP(gnutls_dh_params_export_pkcs3(params, format, params_data,
+ params_data_size));
+}
+
+void dh_params::export_raw(gnutls_datum_t &prime, gnutls_datum_t &generator)
+{
+ RETWRAP(gnutls_dh_params_export_raw(params, &prime, &generator, NULL));
+}
+
+gnutls_dh_params_t dh_params::get_params_t() const
+{
+ return params;
+}
+dh_params &dh_params::operator=(const dh_params &src)
+{
+ dh_params *dst = new dh_params;
+ int ret;
+
+ ret = gnutls_dh_params_cpy(dst->params, src.params);
+
+ if (ret < 0) {
+ delete dst;
+ throw(exception(ret));
}
- dh_params & dh_params::operator=(const dh_params & src) {
- dh_params *dst = new dh_params;
- int ret;
- ret = gnutls_dh_params_cpy(dst->params, src.params);
+ std::swap(this->params, dst->params);
+ delete dst;
- if (ret < 0) {
- delete dst;
- throw(exception(ret));
- }
-
- std::swap(this->params, dst->params);
- delete dst;
-
- return *this;
- }
+ return *this;
+}
-# endif /* GNUTLS_GNUTLSXX_NO_HEADERONLY */
+#endif /* GNUTLS_GNUTLSXX_NO_HEADERONLY */
-} /* namespace gnutls */
+} /* namespace gnutls */
-#endif /* GNUTLS_GNUTLSXX_H */
+#endif /* GNUTLS_GNUTLSXX_H */
diff --git a/lib/includes/gnutls/ocsp.h b/lib/includes/gnutls/ocsp.h
index 1e05469852..9e271476cf 100644
--- a/lib/includes/gnutls/ocsp.h
+++ b/lib/includes/gnutls/ocsp.h
@@ -24,16 +24,16 @@
*/
#ifndef GNUTLS_OCSP_H
-# define GNUTLS_OCSP_H
+#define GNUTLS_OCSP_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
#ifdef __cplusplus
extern "C" {
#endif
-# define GNUTLS_OCSP_NONCE "1.3.6.1.5.5.7.48.1.2"
+#define GNUTLS_OCSP_NONCE "1.3.6.1.5.5.7.48.1.2"
/**
* gnutls_ocsp_print_formats_t:
@@ -142,114 +142,101 @@ struct gnutls_ocsp_req_int;
typedef struct gnutls_ocsp_req_int *gnutls_ocsp_req_t;
typedef const struct gnutls_ocsp_req_int *gnutls_ocsp_req_const_t;
-int gnutls_ocsp_req_init(gnutls_ocsp_req_t * req);
+int gnutls_ocsp_req_init(gnutls_ocsp_req_t *req);
void gnutls_ocsp_req_deinit(gnutls_ocsp_req_t req);
-int gnutls_ocsp_req_import(gnutls_ocsp_req_t req, const gnutls_datum_t * data);
-int gnutls_ocsp_req_export(gnutls_ocsp_req_const_t req, gnutls_datum_t * data);
+int gnutls_ocsp_req_import(gnutls_ocsp_req_t req, const gnutls_datum_t *data);
+int gnutls_ocsp_req_export(gnutls_ocsp_req_const_t req, gnutls_datum_t *data);
int gnutls_ocsp_req_print(gnutls_ocsp_req_const_t req,
gnutls_ocsp_print_formats_t format,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
int gnutls_ocsp_req_get_version(gnutls_ocsp_req_const_t req);
-int gnutls_ocsp_req_get_cert_id(gnutls_ocsp_req_const_t req,
- unsigned indx,
- gnutls_digest_algorithm_t * digest,
- gnutls_datum_t * issuer_name_hash,
- gnutls_datum_t * issuer_key_hash,
- gnutls_datum_t * serial_number);
+int gnutls_ocsp_req_get_cert_id(gnutls_ocsp_req_const_t req, unsigned indx,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_datum_t *issuer_name_hash,
+ gnutls_datum_t *issuer_key_hash,
+ gnutls_datum_t *serial_number);
int gnutls_ocsp_req_add_cert_id(gnutls_ocsp_req_t req,
gnutls_digest_algorithm_t digest,
- const gnutls_datum_t *
- issuer_name_hash,
- const gnutls_datum_t *
- issuer_key_hash,
- const gnutls_datum_t * serial_number);
+ const gnutls_datum_t *issuer_name_hash,
+ const gnutls_datum_t *issuer_key_hash,
+ const gnutls_datum_t *serial_number);
int gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
gnutls_digest_algorithm_t digest,
gnutls_x509_crt_t issuer, gnutls_x509_crt_t cert);
-int gnutls_ocsp_req_get_extension(gnutls_ocsp_req_const_t req,
- unsigned indx,
- gnutls_datum_t * oid,
- unsigned int *critical,
- gnutls_datum_t * data);
-int gnutls_ocsp_req_set_extension(gnutls_ocsp_req_t req,
- const char *oid,
+int gnutls_ocsp_req_get_extension(gnutls_ocsp_req_const_t req, unsigned indx,
+ gnutls_datum_t *oid, unsigned int *critical,
+ gnutls_datum_t *data);
+int gnutls_ocsp_req_set_extension(gnutls_ocsp_req_t req, const char *oid,
unsigned int critical,
- const gnutls_datum_t * data);
+ const gnutls_datum_t *data);
int gnutls_ocsp_req_get_nonce(gnutls_ocsp_req_const_t req,
- unsigned int *critical, gnutls_datum_t * nonce);
-int gnutls_ocsp_req_set_nonce(gnutls_ocsp_req_t req,
- unsigned int critical,
- const gnutls_datum_t * nonce);
+ unsigned int *critical, gnutls_datum_t *nonce);
+int gnutls_ocsp_req_set_nonce(gnutls_ocsp_req_t req, unsigned int critical,
+ const gnutls_datum_t *nonce);
int gnutls_ocsp_req_randomize_nonce(gnutls_ocsp_req_t req);
struct gnutls_ocsp_resp_int;
typedef struct gnutls_ocsp_resp_int *gnutls_ocsp_resp_t;
typedef const struct gnutls_ocsp_resp_int *gnutls_ocsp_resp_const_t;
-int gnutls_ocsp_resp_init(gnutls_ocsp_resp_t * resp);
+int gnutls_ocsp_resp_init(gnutls_ocsp_resp_t *resp);
void gnutls_ocsp_resp_deinit(gnutls_ocsp_resp_t resp);
int gnutls_ocsp_resp_import(gnutls_ocsp_resp_t resp,
- const gnutls_datum_t * data);
+ const gnutls_datum_t *data);
int gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t fmt);
int gnutls_ocsp_resp_export(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * data);
+ gnutls_datum_t *data);
int gnutls_ocsp_resp_export2(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * data, gnutls_x509_crt_fmt_t fmt);
+ gnutls_datum_t *data, gnutls_x509_crt_fmt_t fmt);
int gnutls_ocsp_resp_print(gnutls_ocsp_resp_const_t resp,
gnutls_ocsp_print_formats_t format,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
int gnutls_ocsp_resp_get_status(gnutls_ocsp_resp_const_t resp);
int gnutls_ocsp_resp_get_response(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t *
- response_type_oid, gnutls_datum_t * response);
+ gnutls_datum_t *response_type_oid,
+ gnutls_datum_t *response);
int gnutls_ocsp_resp_get_version(gnutls_ocsp_resp_const_t resp);
int gnutls_ocsp_resp_get_responder(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * dn);
+ gnutls_datum_t *dn);
int gnutls_ocsp_resp_get_responder2(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * dn, unsigned flags);
+ gnutls_datum_t *dn, unsigned flags);
/* the raw key ID of the responder */
-# define GNUTLS_OCSP_RESP_ID_KEY 1
+#define GNUTLS_OCSP_RESP_ID_KEY 1
/* the raw DN of the responder */
-# define GNUTLS_OCSP_RESP_ID_DN 2
-int
-gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t resp,
- unsigned type, gnutls_datum_t * raw);
+#define GNUTLS_OCSP_RESP_ID_DN 2
+int gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t resp,
+ unsigned type, gnutls_datum_t *raw);
time_t gnutls_ocsp_resp_get_produced(gnutls_ocsp_resp_const_t resp);
-int gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
- unsigned indx,
- gnutls_digest_algorithm_t * digest,
- gnutls_datum_t * issuer_name_hash,
- gnutls_datum_t * issuer_key_hash,
- gnutls_datum_t * serial_number,
- unsigned int *cert_status,
- time_t * this_update,
- time_t * next_update,
- time_t * revocation_time,
+int gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp, unsigned indx,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_datum_t *issuer_name_hash,
+ gnutls_datum_t *issuer_key_hash,
+ gnutls_datum_t *serial_number,
+ unsigned int *cert_status, time_t *this_update,
+ time_t *next_update, time_t *revocation_time,
unsigned int *revocation_reason);
-int gnutls_ocsp_resp_get_extension(gnutls_ocsp_resp_const_t resp,
- unsigned indx,
- gnutls_datum_t * oid,
- unsigned int *critical,
- gnutls_datum_t * data);
+int gnutls_ocsp_resp_get_extension(gnutls_ocsp_resp_const_t resp, unsigned indx,
+ gnutls_datum_t *oid, unsigned int *critical,
+ gnutls_datum_t *data);
int gnutls_ocsp_resp_get_nonce(gnutls_ocsp_resp_const_t resp,
- unsigned int *critical, gnutls_datum_t * nonce);
+ unsigned int *critical, gnutls_datum_t *nonce);
int gnutls_ocsp_resp_get_signature_algorithm(gnutls_ocsp_resp_const_t resp);
int gnutls_ocsp_resp_get_signature(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * sig);
+ gnutls_datum_t *sig);
int gnutls_ocsp_resp_get_certs(gnutls_ocsp_resp_const_t resp,
- gnutls_x509_crt_t ** certs, size_t *ncerts);
+ gnutls_x509_crt_t **certs, size_t *ncerts);
int gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
gnutls_x509_crt_t issuer,
@@ -258,17 +245,17 @@ int gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
gnutls_x509_trust_list_t trustlist,
unsigned int *verify, unsigned int flags);
-int gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp,
- unsigned int indx, gnutls_x509_crt_t crt);
+int gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp, unsigned int indx,
+ gnutls_x509_crt_t crt);
-int
-gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
- unsigned int *size,
- const gnutls_datum_t * resp_data,
- gnutls_x509_crt_fmt_t format, unsigned int flags);
+int gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t **ocsps,
+ unsigned int *size,
+ const gnutls_datum_t *resp_data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_OCSP_H */
+#endif /* GNUTLS_OCSP_H */
diff --git a/lib/includes/gnutls/openpgp.h b/lib/includes/gnutls/openpgp.h
index 1e1b1a2f3b..37ef588d16 100644
--- a/lib/includes/gnutls/openpgp.h
+++ b/lib/includes/gnutls/openpgp.h
@@ -25,10 +25,10 @@
*/
#ifndef GNUTLS_OPENPGP_H
-# define GNUTLS_OPENPGP_H
+#define GNUTLS_OPENPGP_H
-# include <gnutls/gnutls.h>
-# include <limits.h>
+#include <gnutls/gnutls.h>
+#include <limits.h>
#ifdef __cplusplus
extern "C" {
@@ -49,302 +49,248 @@ typedef enum gnutls_openpgp_crt_fmt {
GNUTLS_OPENPGP_FMT_BASE64
} gnutls_openpgp_crt_fmt_t;
-# define GNUTLS_OPENPGP_KEYID_SIZE 8
-# define GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE 20
-typedef unsigned char
- gnutls_openpgp_keyid_t[GNUTLS_OPENPGP_KEYID_SIZE];
+#define GNUTLS_OPENPGP_KEYID_SIZE 8
+#define GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE 20
+typedef unsigned char gnutls_openpgp_keyid_t[GNUTLS_OPENPGP_KEYID_SIZE];
/* gnutls_openpgp_cert_t should be defined in gnutls.h
*/
- /* initializes the memory for gnutls_openpgp_crt_t struct */
-int gnutls_openpgp_crt_init(gnutls_openpgp_crt_t *
- key) _GNUTLS_GCC_ATTR_DEPRECATED;
- /* frees all memory */
+/* initializes the memory for gnutls_openpgp_crt_t struct */
+int gnutls_openpgp_crt_init(gnutls_openpgp_crt_t *key)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+/* frees all memory */
void gnutls_openpgp_crt_deinit(gnutls_openpgp_crt_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_import(gnutls_openpgp_crt_t key,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t format)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_import(
+ gnutls_openpgp_crt_t key, const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_export(gnutls_openpgp_crt_t key,
gnutls_openpgp_crt_fmt_t format,
- void *output_data,
- size_t *output_data_size)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ void *output_data, size_t *output_data_size)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_export2(gnutls_openpgp_crt_t key,
gnutls_openpgp_crt_fmt_t format,
- gnutls_datum_t *
- out) _GNUTLS_GCC_ATTR_DEPRECATED;
+ gnutls_datum_t *out) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_print(gnutls_openpgp_crt_t cert,
- gnutls_certificate_print_formats_t
- format,
- gnutls_datum_t * out) _GNUTLS_GCC_ATTR_DEPRECATED;
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out) _GNUTLS_GCC_ATTR_DEPRECATED;
/* The key_usage flags are defined in gnutls.h. They are
* the GNUTLS_KEY_* definitions.
*/
-# define GNUTLS_OPENPGP_MASTER_KEYID_IDX INT_MAX
+#define GNUTLS_OPENPGP_MASTER_KEYID_IDX INT_MAX
int gnutls_openpgp_crt_get_key_usage(gnutls_openpgp_crt_t key,
unsigned int *key_usage)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_fingerprint(gnutls_openpgp_crt_t key, void *fpr,
size_t *fprlen)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_subkey_fingerprint(gnutls_openpgp_crt_t key,
- unsigned int idx, void *fpr,
- size_t *fprlen)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_crt_get_name(gnutls_openpgp_crt_t key,
- int idx, char *buf,
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_get_subkey_fingerprint(
+ gnutls_openpgp_crt_t key, unsigned int idx, void *fpr,
+ size_t *fprlen) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_crt_get_name(gnutls_openpgp_crt_t key, int idx, char *buf,
size_t *sizeof_buf) _GNUTLS_GCC_ATTR_DEPRECATED;
-gnutls_pk_algorithm_t
-gnutls_openpgp_crt_get_pk_algorithm(gnutls_openpgp_crt_t key,
- unsigned int *bits)
-_GNUTLS_GCC_ATTR_DEPRECATED;
+gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm(
+ gnutls_openpgp_crt_t key,
+ unsigned int *bits) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_version(gnutls_openpgp_crt_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
time_t gnutls_openpgp_crt_get_creation_time(gnutls_openpgp_crt_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
time_t gnutls_openpgp_crt_get_expiration_time(gnutls_openpgp_crt_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_key_id(gnutls_openpgp_crt_t key,
gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_check_hostname(gnutls_openpgp_crt_t key,
const char *hostname)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_check_hostname2(gnutls_openpgp_crt_t key,
- const char *hostname,
- unsigned int flags)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ const char *hostname, unsigned int flags)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_check_email(gnutls_openpgp_crt_t key, const char *email,
unsigned flags) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_revoked_status(gnutls_openpgp_crt_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_subkey_count(gnutls_openpgp_crt_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_subkey_idx(gnutls_openpgp_crt_t key,
const gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_subkey_revoked_status(gnutls_openpgp_crt_t key,
- unsigned int idx)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-gnutls_pk_algorithm_t
-gnutls_openpgp_crt_get_subkey_pk_algorithm(gnutls_openpgp_crt_t key,
- unsigned int idx,
- unsigned int *bits)
-_GNUTLS_GCC_ATTR_DEPRECATED;
-time_t gnutls_openpgp_crt_get_subkey_creation_time(gnutls_openpgp_crt_t key,
- unsigned int idx)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-time_t gnutls_openpgp_crt_get_subkey_expiration_time(gnutls_openpgp_crt_t key,
- unsigned int idx)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_get_subkey_revoked_status(
+ gnutls_openpgp_crt_t key, unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
+gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm(
+ gnutls_openpgp_crt_t key, unsigned int idx,
+ unsigned int *bits) _GNUTLS_GCC_ATTR_DEPRECATED;
+time_t gnutls_openpgp_crt_get_subkey_creation_time(
+ gnutls_openpgp_crt_t key, unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
+time_t gnutls_openpgp_crt_get_subkey_expiration_time(
+ gnutls_openpgp_crt_t key, unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_subkey_id(gnutls_openpgp_crt_t key, unsigned int idx,
gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_subkey_usage(gnutls_openpgp_crt_t key,
- unsigned int idx,
- unsigned int *key_usage)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_crt_get_subkey_pk_dsa_raw(gnutls_openpgp_crt_t
- crt, unsigned int idx,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g,
- gnutls_datum_t *
- y) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_subkey_pk_rsa_raw(gnutls_openpgp_crt_t crt,
- unsigned int idx,
- gnutls_datum_t * m,
- gnutls_datum_t *
- e) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_pk_dsa_raw(gnutls_openpgp_crt_t crt,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g,
- gnutls_datum_t *
- y) _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_get_subkey_usage(
+ gnutls_openpgp_crt_t key, unsigned int idx,
+ unsigned int *key_usage) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_crt_get_subkey_pk_dsa_raw(
+ gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_get_subkey_pk_rsa_raw(
+ gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t *m,
+ gnutls_datum_t *e) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_get_pk_dsa_raw(
+ gnutls_openpgp_crt_t crt, gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_get_pk_rsa_raw(gnutls_openpgp_crt_t crt,
- gnutls_datum_t * m,
- gnutls_datum_t *
- e) _GNUTLS_GCC_ATTR_DEPRECATED;
+ gnutls_datum_t *m, gnutls_datum_t *e)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_preferred_key_id(gnutls_openpgp_crt_t
- key,
+int gnutls_openpgp_crt_get_preferred_key_id(gnutls_openpgp_crt_t key,
gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_set_preferred_key_id(gnutls_openpgp_crt_t key,
const gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
/* privkey stuff.
*/
-int gnutls_openpgp_privkey_init(gnutls_openpgp_privkey_t *
- key) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_privkey_init(gnutls_openpgp_privkey_t *key)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
void gnutls_openpgp_privkey_deinit(gnutls_openpgp_privkey_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-gnutls_pk_algorithm_t
-gnutls_openpgp_privkey_get_pk_algorithm(gnutls_openpgp_privkey_t key,
- unsigned int *bits)
-_GNUTLS_GCC_ATTR_DEPRECATED;
-
-gnutls_sec_param_t
-gnutls_openpgp_privkey_sec_param(gnutls_openpgp_privkey_t key)
-_GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_privkey_import(gnutls_openpgp_privkey_t key,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t format,
- const char *password,
- unsigned int flags)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_get_fingerprint(gnutls_openpgp_privkey_t
- key, void *fpr,
- size_t *fprlen)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_privkey_get_subkey_fingerprint(gnutls_openpgp_privkey_t key,
- unsigned int idx, void *fpr,
- size_t *fprlen)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm(
+ gnutls_openpgp_privkey_t key,
+ unsigned int *bits) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+gnutls_sec_param_t gnutls_openpgp_privkey_sec_param(
+ gnutls_openpgp_privkey_t key) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_privkey_import(
+ gnutls_openpgp_privkey_t key, const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format, const char *password,
+ unsigned int flags) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_get_fingerprint(gnutls_openpgp_privkey_t key,
+ void *fpr, size_t *fprlen)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_privkey_get_subkey_fingerprint(
+ gnutls_openpgp_privkey_t key, unsigned int idx, void *fpr,
+ size_t *fprlen) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_privkey_get_key_id(gnutls_openpgp_privkey_t key,
gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_privkey_get_subkey_count(gnutls_openpgp_privkey_t key)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_privkey_get_subkey_idx(gnutls_openpgp_privkey_t key,
const gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_get_subkey_revoked_status
- (gnutls_openpgp_privkey_t key,
- unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_get_revoked_status
- (gnutls_openpgp_privkey_t key) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-gnutls_pk_algorithm_t
- gnutls_openpgp_privkey_get_subkey_pk_algorithm
- (gnutls_openpgp_privkey_t key, unsigned int idx,
- unsigned int *bits) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-time_t
- gnutls_openpgp_privkey_get_subkey_expiration_time
- (gnutls_openpgp_privkey_t key,
- unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_get_subkey_id(gnutls_openpgp_privkey_t
- key, unsigned int idx,
- gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-time_t
- gnutls_openpgp_privkey_get_subkey_creation_time
- (gnutls_openpgp_privkey_t key,
- unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_export_subkey_dsa_raw
- (gnutls_openpgp_privkey_t pkey, unsigned int idx,
- gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g,
- gnutls_datum_t * y, gnutls_datum_t * x) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_privkey_export_subkey_rsa_raw
- (gnutls_openpgp_privkey_t pkey, unsigned int idx,
- gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * u) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_export_dsa_raw(gnutls_openpgp_privkey_t
- pkey, gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g,
- gnutls_datum_t * y,
- gnutls_datum_t *
- x) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_privkey_export_rsa_raw(gnutls_openpgp_privkey_t pkey,
- gnutls_datum_t * m,
- gnutls_datum_t * e,
- gnutls_datum_t * d,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t *
- u) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t key,
- gnutls_openpgp_crt_fmt_t format,
- const char *password,
- unsigned int flags,
- void *output_data,
- size_t *output_data_size)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_privkey_export2(gnutls_openpgp_privkey_t key,
- gnutls_openpgp_crt_fmt_t format,
- const char *password, unsigned int flags,
- gnutls_datum_t *
- out) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_openpgp_privkey_set_preferred_key_id
- (gnutls_openpgp_privkey_t key,
- const gnutls_openpgp_keyid_t keyid) _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_get_subkey_revoked_status(
+ gnutls_openpgp_privkey_t key,
+ unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_get_revoked_status(gnutls_openpgp_privkey_t key)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
+
+gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm(
+ gnutls_openpgp_privkey_t key, unsigned int idx,
+ unsigned int *bits) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+time_t gnutls_openpgp_privkey_get_subkey_expiration_time(
+ gnutls_openpgp_privkey_t key,
+ unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_get_subkey_id(
+ gnutls_openpgp_privkey_t key, unsigned int idx,
+ gnutls_openpgp_keyid_t keyid) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+time_t gnutls_openpgp_privkey_get_subkey_creation_time(
+ gnutls_openpgp_privkey_t key,
+ unsigned int idx) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_export_subkey_dsa_raw(
+ gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_privkey_export_subkey_rsa_raw(
+ gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t *m,
+ gnutls_datum_t *e, gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_export_dsa_raw(
+ gnutls_openpgp_privkey_t pkey, gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_privkey_export_rsa_raw(
+ gnutls_openpgp_privkey_t pkey, gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_export(
+ gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format,
+ const char *password, unsigned int flags, void *output_data,
+ size_t *output_data_size) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_privkey_export2(
+ gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format,
+ const char *password, unsigned int flags,
+ gnutls_datum_t *out) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_openpgp_privkey_set_preferred_key_id(
+ gnutls_openpgp_privkey_t key,
+ const gnutls_openpgp_keyid_t keyid) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_privkey_get_preferred_key_id(gnutls_openpgp_privkey_t key,
gnutls_openpgp_keyid_t keyid)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_get_auth_subkey(gnutls_openpgp_crt_t crt,
- gnutls_openpgp_keyid_t
- keyid,
- unsigned int flag)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_crt_get_auth_subkey(
+ gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid,
+ unsigned int flag) _GNUTLS_GCC_ATTR_DEPRECATED;
/* Keyring stuff.
*/
-int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring_t *
- keyring) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring_t *keyring)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring_t keyring)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_keyring_import(gnutls_openpgp_keyring_t keyring,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t format)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_keyring_import(
+ gnutls_openpgp_keyring_t keyring, const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_keyring_check_id(gnutls_openpgp_keyring_t ring,
- const gnutls_openpgp_keyid_t
- keyid,
- unsigned int flags)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_openpgp_keyring_check_id(
+ gnutls_openpgp_keyring_t ring, const gnutls_openpgp_keyid_t keyid,
+ unsigned int flags) _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_crt_verify_ring(gnutls_openpgp_crt_t key,
- gnutls_openpgp_keyring_t
- keyring, unsigned int flags,
- unsigned int *verify
+ gnutls_openpgp_keyring_t keyring,
+ unsigned int flags, unsigned int *verify
/* the output of the verification */
-) _GNUTLS_GCC_ATTR_DEPRECATED;
+ ) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_openpgp_crt_verify_self(gnutls_openpgp_crt_t key,
- unsigned int flags,
+int gnutls_openpgp_crt_verify_self(gnutls_openpgp_crt_t key, unsigned int flags,
unsigned int *verify)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_keyring_get_crt(gnutls_openpgp_keyring_t ring,
- unsigned int idx,
- gnutls_openpgp_crt_t *
- cert) _GNUTLS_GCC_ATTR_DEPRECATED;
+ unsigned int idx, gnutls_openpgp_crt_t *cert)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
int gnutls_openpgp_keyring_get_crt_count(gnutls_openpgp_keyring_t ring)
- _GNUTLS_GCC_ATTR_DEPRECATED;
+ _GNUTLS_GCC_ATTR_DEPRECATED;
/**
* gnutls_openpgp_recv_key_func:
@@ -363,67 +309,58 @@ int gnutls_openpgp_keyring_get_crt_count(gnutls_openpgp_keyring_t ring)
* Returns: On success, %GNUTLS_E_SUCCESS (zero) is returned,
* otherwise an error code is returned.
*/
-typedef int (*gnutls_openpgp_recv_key_func)(gnutls_session_t
- session,
- const unsigned char
- *keyfpr,
- unsigned int
- keyfpr_length,
- gnutls_datum_t * key);
-
-void
-gnutls_openpgp_set_recv_key_function(gnutls_session_t session,
- gnutls_openpgp_recv_key_func func)
-_GNUTLS_GCC_ATTR_DEPRECATED;
+typedef int (*gnutls_openpgp_recv_key_func)(gnutls_session_t session,
+ const unsigned char *keyfpr,
+ unsigned int keyfpr_length,
+ gnutls_datum_t *key);
+
+void gnutls_openpgp_set_recv_key_function(gnutls_session_t session,
+ gnutls_openpgp_recv_key_func func)
+ _GNUTLS_GCC_ATTR_DEPRECATED;
/* certificate authentication stuff.
*/
-int gnutls_certificate_set_openpgp_key
- (gnutls_certificate_credentials_t res,
- gnutls_openpgp_crt_t crt,
- gnutls_openpgp_privkey_t pkey) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int
-gnutls_certificate_get_openpgp_key(gnutls_certificate_credentials_t res,
- unsigned index,
- gnutls_openpgp_privkey_t *
- key) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_certificate_get_openpgp_crt(gnutls_certificate_credentials_t res,
- unsigned index,
- gnutls_openpgp_crt_t ** crt_list,
- unsigned *crt_list_size)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_certificate_set_openpgp_key_file
- (gnutls_certificate_credentials_t res, const char *certfile,
- const char *keyfile,
- gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_certificate_set_openpgp_key_mem(gnutls_certificate_credentials_t res,
- const gnutls_datum_t * cert,
- const gnutls_datum_t * key,
- gnutls_openpgp_crt_fmt_t format)
- _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_certificate_set_openpgp_key_file2
- (gnutls_certificate_credentials_t res, const char *certfile,
- const char *keyfile, const char *subkey_id,
- gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
-int gnutls_certificate_set_openpgp_key_mem2
- (gnutls_certificate_credentials_t res,
- const gnutls_datum_t * cert, const gnutls_datum_t * key,
- const char *subkey_id,
- gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_certificate_set_openpgp_keyring_mem
- (gnutls_certificate_credentials_t c, const unsigned char *data,
- size_t dlen, gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
-
-int gnutls_certificate_set_openpgp_keyring_file
- (gnutls_certificate_credentials_t c, const char *file,
- gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_certificate_set_openpgp_key(
+ gnutls_certificate_credentials_t res, gnutls_openpgp_crt_t crt,
+ gnutls_openpgp_privkey_t pkey) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_certificate_get_openpgp_key(
+ gnutls_certificate_credentials_t res, unsigned index,
+ gnutls_openpgp_privkey_t *key) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_certificate_get_openpgp_crt(
+ gnutls_certificate_credentials_t res, unsigned index,
+ gnutls_openpgp_crt_t **crt_list,
+ unsigned *crt_list_size) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_certificate_set_openpgp_key_file(
+ gnutls_certificate_credentials_t res, const char *certfile,
+ const char *keyfile,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_certificate_set_openpgp_key_mem(
+ gnutls_certificate_credentials_t res, const gnutls_datum_t *cert,
+ const gnutls_datum_t *key,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_certificate_set_openpgp_key_file2(
+ gnutls_certificate_credentials_t res, const char *certfile,
+ const char *keyfile, const char *subkey_id,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
+int gnutls_certificate_set_openpgp_key_mem2(
+ gnutls_certificate_credentials_t res, const gnutls_datum_t *cert,
+ const gnutls_datum_t *key, const char *subkey_id,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_certificate_set_openpgp_keyring_mem(
+ gnutls_certificate_credentials_t c, const unsigned char *data,
+ size_t dlen,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
+
+int gnutls_certificate_set_openpgp_keyring_file(
+ gnutls_certificate_credentials_t c, const char *file,
+ gnutls_openpgp_crt_fmt_t format) _GNUTLS_GCC_ATTR_DEPRECATED;
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_OPENPGP_H */
+#endif /* GNUTLS_OPENPGP_H */
diff --git a/lib/includes/gnutls/pkcs11.h b/lib/includes/gnutls/pkcs11.h
index 4e6606eb59..825f5de59e 100644
--- a/lib/includes/gnutls/pkcs11.h
+++ b/lib/includes/gnutls/pkcs11.h
@@ -22,17 +22,17 @@
*/
#ifndef GNUTLS_PKCS11_H
-# define GNUTLS_PKCS11_H
+#define GNUTLS_PKCS11_H
-# include <stdarg.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <stdarg.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
#ifdef __cplusplus
extern "C" {
#endif
-# define GNUTLS_PKCS11_MAX_PIN_LEN 256
+#define GNUTLS_PKCS11_MAX_PIN_LEN 256
/**
* gnutls_pkcs11_token_callback_t:
@@ -52,17 +52,19 @@ extern "C" {
*
* Since: 2.12.0
**/
-typedef int (*gnutls_pkcs11_token_callback_t)(void *const
- userdata,
- const char *const
- label, unsigned retry);
+typedef int (*gnutls_pkcs11_token_callback_t)(void *const userdata,
+ const char *const label,
+ unsigned retry);
struct gnutls_pkcs11_obj_st;
typedef struct gnutls_pkcs11_obj_st *gnutls_pkcs11_obj_t;
-# define GNUTLS_PKCS11_FLAG_MANUAL 0 /* Manual loading of libraries */
-# define GNUTLS_PKCS11_FLAG_AUTO 1 /* Automatically load libraries by reading /etc/gnutls/pkcs11.conf */
-# define GNUTLS_PKCS11_FLAG_AUTO_TRUSTED (1<<1) /* Automatically load trusted libraries by reading /etc/gnutls/pkcs11.conf */
+#define GNUTLS_PKCS11_FLAG_MANUAL 0 /* Manual loading of libraries */
+#define GNUTLS_PKCS11_FLAG_AUTO \
+ 1 /* Automatically load libraries by reading /etc/gnutls/pkcs11.conf */
+#define GNUTLS_PKCS11_FLAG_AUTO_TRUSTED \
+ (1 \
+ << 1) /* Automatically load trusted libraries by reading /etc/gnutls/pkcs11.conf */
/* pkcs11.conf format:
* load = /lib/xxx-pkcs11.so
@@ -72,16 +74,15 @@ typedef struct gnutls_pkcs11_obj_st *gnutls_pkcs11_obj_t;
int gnutls_pkcs11_init(unsigned int flags, const char *deprecated_config_file);
int gnutls_pkcs11_reinit(void);
void gnutls_pkcs11_deinit(void);
-void gnutls_pkcs11_set_token_function
- (gnutls_pkcs11_token_callback_t fn, void *userdata);
+void gnutls_pkcs11_set_token_function(gnutls_pkcs11_token_callback_t fn,
+ void *userdata);
void gnutls_pkcs11_set_pin_function(gnutls_pin_callback_t fn, void *userdata);
-gnutls_pin_callback_t gnutls_pkcs11_get_pin_function(void
- **userdata);
+gnutls_pin_callback_t gnutls_pkcs11_get_pin_function(void **userdata);
int gnutls_pkcs11_add_provider(const char *name, const char *params);
-int gnutls_pkcs11_obj_init(gnutls_pkcs11_obj_t * obj);
+int gnutls_pkcs11_obj_init(gnutls_pkcs11_obj_t *obj);
void gnutls_pkcs11_obj_set_pin_function(gnutls_pkcs11_obj_t obj,
gnutls_pin_callback_t fn,
void *userdata);
@@ -127,10 +128,10 @@ typedef enum gnutls_pkcs11_obj_flags {
GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE = (1 << 5),
GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY = (1 << 6),
GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED =
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED,
GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED = (1 << 8),
GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED =
- GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED,
GNUTLS_PKCS11_OBJ_FLAG_COMPARE = (1 << 9),
GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE = (1 << 10),
GNUTLS_PKCS11_OBJ_FLAG_MARK_CA = (1 << 11),
@@ -149,7 +150,7 @@ typedef enum gnutls_pkcs11_obj_flags {
/* flags 1<<29 and later are reserved - see pkcs11_int.h */
} gnutls_pkcs11_obj_flags;
-# define gnutls_pkcs11_obj_attr_t gnutls_pkcs11_obj_flags
+#define gnutls_pkcs11_obj_attr_t gnutls_pkcs11_obj_flags
/**
* gnutls_pkcs11_url_type_t:
@@ -160,46 +161,43 @@ typedef enum gnutls_pkcs11_obj_flags {
* Enumeration of different URL extraction flags.
*/
typedef enum {
- GNUTLS_PKCS11_URL_GENERIC, /* URL specifies the object on token level */
- GNUTLS_PKCS11_URL_LIB, /* URL specifies the object on module level */
- GNUTLS_PKCS11_URL_LIB_VERSION /* URL specifies the object on module and version level */
+ GNUTLS_PKCS11_URL_GENERIC, /* URL specifies the object on token level */
+ GNUTLS_PKCS11_URL_LIB, /* URL specifies the object on module level */
+ GNUTLS_PKCS11_URL_LIB_VERSION /* URL specifies the object on module and version level */
} gnutls_pkcs11_url_type_t;
-int gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj,
- const char *url, unsigned int flags
- /* GNUTLS_PKCS11_OBJ_FLAG_* */ );
+int gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj, const char *url,
+ unsigned int flags
+ /* GNUTLS_PKCS11_OBJ_FLAG_* */);
int gnutls_pkcs11_obj_export_url(gnutls_pkcs11_obj_t obj,
gnutls_pkcs11_url_type_t detailed, char **url);
void gnutls_pkcs11_obj_deinit(gnutls_pkcs11_obj_t obj);
-int gnutls_pkcs11_obj_export(gnutls_pkcs11_obj_t obj,
- void *output_data, size_t *output_data_size);
-int gnutls_pkcs11_obj_export2(gnutls_pkcs11_obj_t obj, gnutls_datum_t * out);
+int gnutls_pkcs11_obj_export(gnutls_pkcs11_obj_t obj, void *output_data,
+ size_t *output_data_size);
+int gnutls_pkcs11_obj_export2(gnutls_pkcs11_obj_t obj, gnutls_datum_t *out);
int gnutls_pkcs11_obj_export3(gnutls_pkcs11_obj_t obj,
- gnutls_x509_crt_fmt_t fmt, gnutls_datum_t * out);
+ gnutls_x509_crt_fmt_t fmt, gnutls_datum_t *out);
int gnutls_pkcs11_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
- gnutls_datum_t * issuer,
+ gnutls_datum_t *issuer,
gnutls_x509_crt_fmt_t fmt, unsigned int flags);
int gnutls_pkcs11_get_raw_issuer_by_dn(const char *url,
- const gnutls_datum_t * dn,
- gnutls_datum_t * issuer,
+ const gnutls_datum_t *dn,
+ gnutls_datum_t *issuer,
gnutls_x509_crt_fmt_t fmt,
unsigned int flags);
-int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(const char *url,
- const gnutls_datum_t * dn,
- const gnutls_datum_t * spki,
- gnutls_datum_t * issuer,
- gnutls_x509_crt_fmt_t fmt,
- unsigned int flags);
+int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(
+ const char *url, const gnutls_datum_t *dn, const gnutls_datum_t *spki,
+ gnutls_datum_t *issuer, gnutls_x509_crt_fmt_t fmt, unsigned int flags);
unsigned gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
unsigned int flags);
-# if 0
+#if 0
/* for documentation */
int gnutls_pkcs11_copy_x509_crt(const char *token_url,
gnutls_x509_crt_t crt,
@@ -219,44 +217,41 @@ int
gnutls_pkcs11_privkey_generate(const char *url, gnutls_pk_algorithm_t pk,
unsigned int bits, const char *label,
unsigned int flags);
-# endif
+#endif
-int
-gnutls_pkcs11_copy_pubkey(const char *token_url,
- gnutls_pubkey_t crt, const char *label,
- const gnutls_datum_t * cid,
- unsigned int key_usage, unsigned int flags);
+int gnutls_pkcs11_copy_pubkey(const char *token_url, gnutls_pubkey_t crt,
+ const char *label, const gnutls_datum_t *cid,
+ unsigned int key_usage, unsigned int flags);
-# define gnutls_pkcs11_copy_x509_crt(url, crt, label, flags) \
+#define gnutls_pkcs11_copy_x509_crt(url, crt, label, flags) \
gnutls_pkcs11_copy_x509_crt2(url, crt, label, NULL, flags)
-int gnutls_pkcs11_copy_x509_crt2(const char *token_url,
- gnutls_x509_crt_t crt,
- const char *label,
- const gnutls_datum_t * id, unsigned int flags
- /* GNUTLS_PKCS11_OBJ_FLAG_* */ );
+int gnutls_pkcs11_copy_x509_crt2(const char *token_url, gnutls_x509_crt_t crt,
+ const char *label, const gnutls_datum_t *id,
+ unsigned int flags
+ /* GNUTLS_PKCS11_OBJ_FLAG_* */);
-# define gnutls_pkcs11_copy_x509_privkey(url, key, label, usage, flags) \
+#define gnutls_pkcs11_copy_x509_privkey(url, key, label, usage, flags) \
gnutls_pkcs11_copy_x509_privkey2(url, key, label, NULL, usage, flags)
int gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
gnutls_x509_privkey_t key,
const char *label,
- const gnutls_datum_t * cid,
+ const gnutls_datum_t *cid,
unsigned int key_usage
- /*GNUTLS_KEY_* */ ,
+ /*GNUTLS_KEY_* */,
unsigned int flags
/* GNUTLS_PKCS11_OBJ_FLAG_* */
- );
+);
int gnutls_pkcs11_delete_url(const char *object_url, unsigned int flags
- /* GNUTLS_PKCS11_OBJ_FLAG_* */ );
+ /* GNUTLS_PKCS11_OBJ_FLAG_* */);
-int gnutls_pkcs11_copy_secret_key(const char *token_url,
- gnutls_datum_t * key,
- const char *label, unsigned int key_usage
- /* GNUTLS_KEY_* */ ,
+int gnutls_pkcs11_copy_secret_key(const char *token_url, gnutls_datum_t *key,
+ const char *label,
+ unsigned int key_usage
+ /* GNUTLS_KEY_* */,
unsigned int flags
- /* GNUTLS_PKCS11_OBJ_FLAG_* */ );
+ /* GNUTLS_PKCS11_OBJ_FLAG_* */);
/**
* gnutls_pkcs11_obj_info_t:
@@ -287,27 +282,29 @@ typedef enum {
GNUTLS_PKCS11_OBJ_LIBRARY_MANUFACTURER
} gnutls_pkcs11_obj_info_t;
-int
-gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,
- void **session, void **ohandle,
- unsigned long *slot_id, unsigned int flags);
+int gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,
+ void **session, void **ohandle,
+ unsigned long *slot_id, unsigned int flags);
int gnutls_pkcs11_obj_get_info(gnutls_pkcs11_obj_t obj,
- gnutls_pkcs11_obj_info_t itype,
- void *output, size_t *output_size);
+ gnutls_pkcs11_obj_info_t itype, void *output,
+ size_t *output_size);
int gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
- gnutls_pkcs11_obj_info_t itype,
- const void *data, size_t data_size,
- unsigned flags);
-
-# define GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL GNUTLS_PKCS11_OBJ_FLAG_CRT
-# define GNUTLS_PKCS11_OBJ_ATTR_MATCH 0 /* always match the given URL */
-# define GNUTLS_PKCS11_OBJ_ATTR_ALL 0 /* match everything! */
-# define GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED (GNUTLS_PKCS11_OBJ_FLAG_CRT|GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED)
-# define GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY (GNUTLS_PKCS11_OBJ_FLAG_CRT|GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY)
-# define GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA (GNUTLS_PKCS11_OBJ_FLAG_CRT|GNUTLS_PKCS11_OBJ_FLAG_MARK_CA|GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED)
-# define GNUTLS_PKCS11_OBJ_ATTR_PUBKEY GNUTLS_PKCS11_OBJ_FLAG_PUBKEY
-# define GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY
+ gnutls_pkcs11_obj_info_t itype, const void *data,
+ size_t data_size, unsigned flags);
+
+#define GNUTLS_PKCS11_OBJ_ATTR_CRT_ALL GNUTLS_PKCS11_OBJ_FLAG_CRT
+#define GNUTLS_PKCS11_OBJ_ATTR_MATCH 0 /* always match the given URL */
+#define GNUTLS_PKCS11_OBJ_ATTR_ALL 0 /* match everything! */
+#define GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED \
+ (GNUTLS_PKCS11_OBJ_FLAG_CRT | GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED)
+#define GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY \
+ (GNUTLS_PKCS11_OBJ_FLAG_CRT | GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY)
+#define GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA \
+ (GNUTLS_PKCS11_OBJ_FLAG_CRT | GNUTLS_PKCS11_OBJ_FLAG_MARK_CA | \
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED)
+#define GNUTLS_PKCS11_OBJ_ATTR_PUBKEY GNUTLS_PKCS11_OBJ_FLAG_PUBKEY
+#define GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY
/**
* gnutls_pkcs11_token_info_t:
@@ -350,65 +347,67 @@ typedef enum {
GNUTLS_PKCS11_OBJ_X509_CRT_EXTENSION
} gnutls_pkcs11_obj_type_t;
-int
-gnutls_pkcs11_token_init(const char *token_url,
- const char *so_pin, const char *label);
+int gnutls_pkcs11_token_init(const char *token_url, const char *so_pin,
+ const char *label);
-int
-gnutls_pkcs11_token_get_ptr(const char *url, void **ptr, unsigned long *slot_id,
- unsigned int flags);
+int gnutls_pkcs11_token_get_ptr(const char *url, void **ptr,
+ unsigned long *slot_id, unsigned int flags);
-int
-gnutls_pkcs11_token_get_mechanism(const char *url,
- unsigned int idx, unsigned long *mechanism);
+int gnutls_pkcs11_token_get_mechanism(const char *url, unsigned int idx,
+ unsigned long *mechanism);
-unsigned
-gnutls_pkcs11_token_check_mechanism(const char *url,
- unsigned long mechanism,
- void *ptr, unsigned psize, unsigned flags);
+unsigned gnutls_pkcs11_token_check_mechanism(const char *url,
+ unsigned long mechanism, void *ptr,
+ unsigned psize, unsigned flags);
int gnutls_pkcs11_token_set_pin(const char *token_url, const char *oldpin,
const char *newpin,
- unsigned int flags /*gnutls_pin_flag_t */ );
+ unsigned int flags /*gnutls_pin_flag_t */);
int gnutls_pkcs11_token_get_url(unsigned int seq,
gnutls_pkcs11_url_type_t detailed, char **url);
int gnutls_pkcs11_token_get_info(const char *url,
- gnutls_pkcs11_token_info_t ttype,
- void *output, size_t *output_size);
-
-# define GNUTLS_PKCS11_TOKEN_HW 1
-# define GNUTLS_PKCS11_TOKEN_TRUSTED (1<<1) /* p11-kit trusted */
-# define GNUTLS_PKCS11_TOKEN_RNG (1<<2) /* CKF_RNG */
-# define GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED (1<<3) /* CKF_LOGIN_REQUIRED */
-# define GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH (1<<4) /* CKF_PROTECTED_AUTHENTICATION_PATH */
-# define GNUTLS_PKCS11_TOKEN_INITIALIZED (1<<5) /* CKF_TOKEN_INITIALIZED */
-# define GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW (1<<6) /* CKF_USER_PIN_COUNT_LOW */
-# define GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY (1<<7) /* CKF_USER_PIN_FINAL_TRY */
-# define GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED (1<<8) /* CKF_USER_PIN_LOCKED */
-# define GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW (1<<9) /* CKF_SO_PIN_COUNT_LOW */
-# define GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY (1<<10) /* CKF_SO_PIN_FINAL_TRY */
-# define GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED (1<<11) /* CKF_SO_PIN_LOCKED */
-# define GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED (1<<12) /* CKF_USER_PIN_INITIALIZED */
-# define GNUTLS_PKCS11_TOKEN_ERROR_STATE (1<<13)/* CKF_ERROR_STATE */
+ gnutls_pkcs11_token_info_t ttype, void *output,
+ size_t *output_size);
+
+#define GNUTLS_PKCS11_TOKEN_HW 1
+#define GNUTLS_PKCS11_TOKEN_TRUSTED (1 << 1) /* p11-kit trusted */
+#define GNUTLS_PKCS11_TOKEN_RNG (1 << 2) /* CKF_RNG */
+#define GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED (1 << 3) /* CKF_LOGIN_REQUIRED */
+#define GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH \
+ (1 << 4) /* CKF_PROTECTED_AUTHENTICATION_PATH */
+#define GNUTLS_PKCS11_TOKEN_INITIALIZED (1 << 5) /* CKF_TOKEN_INITIALIZED */
+#define GNUTLS_PKCS11_TOKEN_USER_PIN_COUNT_LOW \
+ (1 << 6) /* CKF_USER_PIN_COUNT_LOW */
+#define GNUTLS_PKCS11_TOKEN_USER_PIN_FINAL_TRY \
+ (1 << 7) /* CKF_USER_PIN_FINAL_TRY */
+#define GNUTLS_PKCS11_TOKEN_USER_PIN_LOCKED (1 << 8) /* CKF_USER_PIN_LOCKED */
+#define GNUTLS_PKCS11_TOKEN_SO_PIN_COUNT_LOW (1 << 9) /* CKF_SO_PIN_COUNT_LOW */
+#define GNUTLS_PKCS11_TOKEN_SO_PIN_FINAL_TRY \
+ (1 << 10) /* CKF_SO_PIN_FINAL_TRY */
+#define GNUTLS_PKCS11_TOKEN_SO_PIN_LOCKED (1 << 11) /* CKF_SO_PIN_LOCKED */
+#define GNUTLS_PKCS11_TOKEN_USER_PIN_INITIALIZED \
+ (1 << 12) /* CKF_USER_PIN_INITIALIZED */
+#define GNUTLS_PKCS11_TOKEN_ERROR_STATE (1 << 13) /* CKF_ERROR_STATE */
int gnutls_pkcs11_token_get_flags(const char *url, unsigned int *flags);
-# define gnutls_pkcs11_obj_list_import_url(p_list, n_list, url, attrs, flags) gnutls_pkcs11_obj_list_import_url3(p_list, n_list, url, attrs|flags)
-# define gnutls_pkcs11_obj_list_import_url2(p_list, n_list, url, attrs, flags) gnutls_pkcs11_obj_list_import_url4(p_list, n_list, url, attrs|flags)
+#define gnutls_pkcs11_obj_list_import_url(p_list, n_list, url, attrs, flags) \
+ gnutls_pkcs11_obj_list_import_url3(p_list, n_list, url, attrs | flags)
+#define gnutls_pkcs11_obj_list_import_url2(p_list, n_list, url, attrs, flags) \
+ gnutls_pkcs11_obj_list_import_url4(p_list, n_list, url, attrs | flags)
-int gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t * p_list,
+int gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t *p_list,
unsigned int *const n_list,
const char *url, unsigned int flags
/* GNUTLS_PKCS11_OBJ_FLAG_* */
- );
+);
-int
-gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t ** p_list,
- unsigned int *n_list,
- const char *url, unsigned int flags
- /* GNUTLS_PKCS11_OBJ_FLAG_* */
- );
+int gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t **p_list,
+ unsigned int *n_list, const char *url,
+ unsigned int flags
+ /* GNUTLS_PKCS11_OBJ_FLAG_* */
+);
int gnutls_x509_crt_import_pkcs11(gnutls_x509_crt_t crt,
gnutls_pkcs11_obj_t pkcs11_crt);
@@ -416,81 +415,77 @@ int gnutls_x509_crt_import_pkcs11(gnutls_x509_crt_t crt,
gnutls_pkcs11_obj_type_t gnutls_pkcs11_obj_get_type(gnutls_pkcs11_obj_t obj);
const char *gnutls_pkcs11_type_get_name(gnutls_pkcs11_obj_type_t type);
-int
-gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
- struct gnutls_x509_ext_st **exts,
- unsigned int *exts_size, unsigned int flags);
+int gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
+ struct gnutls_x509_ext_st **exts,
+ unsigned int *exts_size, unsigned int flags);
int gnutls_pkcs11_obj_get_flags(gnutls_pkcs11_obj_t obj, unsigned int *oflags);
char *gnutls_pkcs11_obj_flags_get_str(unsigned int flags);
-int gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t * certs,
+int gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t *certs,
unsigned int cert_max,
- gnutls_pkcs11_obj_t *
- const objs, unsigned int flags
- /* must be zero */ );
+ gnutls_pkcs11_obj_t *const objs,
+ unsigned int flags
+ /* must be zero */);
/* private key functions...*/
-int gnutls_pkcs11_privkey_init(gnutls_pkcs11_privkey_t * key);
+int gnutls_pkcs11_privkey_init(gnutls_pkcs11_privkey_t *key);
-int
-gnutls_pkcs11_privkey_cpy(gnutls_pkcs11_privkey_t dst,
- gnutls_pkcs11_privkey_t src);
+int gnutls_pkcs11_privkey_cpy(gnutls_pkcs11_privkey_t dst,
+ gnutls_pkcs11_privkey_t src);
-void gnutls_pkcs11_privkey_set_pin_function(gnutls_pkcs11_privkey_t
- key,
- gnutls_pin_callback_t
- fn, void *userdata);
+void gnutls_pkcs11_privkey_set_pin_function(gnutls_pkcs11_privkey_t key,
+ gnutls_pin_callback_t fn,
+ void *userdata);
void gnutls_pkcs11_privkey_deinit(gnutls_pkcs11_privkey_t key);
-int gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t
- key, unsigned int *bits);
+int gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t key,
+ unsigned int *bits);
int gnutls_pkcs11_privkey_get_info(gnutls_pkcs11_privkey_t pkey,
- gnutls_pkcs11_obj_info_t itype,
- void *output, size_t *output_size);
+ gnutls_pkcs11_obj_info_t itype, void *output,
+ size_t *output_size);
int gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
const char *url, unsigned int flags);
int gnutls_pkcs11_privkey_export_url(gnutls_pkcs11_privkey_t key,
- gnutls_pkcs11_url_type_t
- detailed, char **url);
+ gnutls_pkcs11_url_type_t detailed,
+ char **url);
unsigned gnutls_pkcs11_privkey_status(gnutls_pkcs11_privkey_t key);
-# define gnutls_pkcs11_privkey_generate(url, pk, bits, label, flags) \
- gnutls_pkcs11_privkey_generate3(url, pk, bits, label, NULL, 0, NULL, 0, flags)
+#define gnutls_pkcs11_privkey_generate(url, pk, bits, label, flags) \
+ gnutls_pkcs11_privkey_generate3(url, pk, bits, label, NULL, 0, NULL, \
+ 0, flags)
-# define gnutls_pkcs11_privkey_generate2(url, pk, bits, label, fmt, pubkey, flags) \
- gnutls_pkcs11_privkey_generate3(url, pk, bits, label, NULL, fmt, pubkey, 0, flags)
+#define gnutls_pkcs11_privkey_generate2(url, pk, bits, label, fmt, pubkey, \
+ flags) \
+ gnutls_pkcs11_privkey_generate3(url, pk, bits, label, NULL, fmt, \
+ pubkey, 0, flags)
-int
-gnutls_pkcs11_privkey_generate3(const char *url,
- gnutls_pk_algorithm_t pk,
- unsigned int bits,
- const char *label,
- const gnutls_datum_t * cid,
- gnutls_x509_crt_fmt_t fmt,
- gnutls_datum_t * pubkey,
- unsigned int key_usage, unsigned int flags);
-
-int
-gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,
+int gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
+ unsigned int bits, const char *label,
+ const gnutls_datum_t *cid,
gnutls_x509_crt_fmt_t fmt,
- gnutls_datum_t * pubkey,
- unsigned int flags);
+ gnutls_datum_t *pubkey,
+ unsigned int key_usage, unsigned int flags);
-int
-gnutls_pkcs11_token_get_random(const char *token_url, void *data, size_t len);
+int gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,
+ gnutls_x509_crt_fmt_t fmt,
+ gnutls_datum_t *pubkey,
+ unsigned int flags);
-int
-gnutls_pkcs11_copy_attached_extension(const char *token_url,
- gnutls_x509_crt_t crt,
- gnutls_datum_t * data,
- const char *label, unsigned int flags);
+int gnutls_pkcs11_token_get_random(const char *token_url, void *data,
+ size_t len);
+
+int gnutls_pkcs11_copy_attached_extension(const char *token_url,
+ gnutls_x509_crt_t crt,
+ gnutls_datum_t *data,
+ const char *label,
+ unsigned int flags);
-# define gnutls_x509_crt_import_pkcs11_url gnutls_x509_crt_import_url
+#define gnutls_x509_crt_import_pkcs11_url gnutls_x509_crt_import_url
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_PKCS11_H */
+#endif /* GNUTLS_PKCS11_H */
diff --git a/lib/includes/gnutls/pkcs12.h b/lib/includes/gnutls/pkcs12.h
index ad35089ceb..b16f0fab53 100644
--- a/lib/includes/gnutls/pkcs12.h
+++ b/lib/includes/gnutls/pkcs12.h
@@ -21,15 +21,15 @@
*/
#ifndef GNUTLS_PKCS12_H
-# define GNUTLS_PKCS12_H
+#define GNUTLS_PKCS12_H
-# include <gnutls/x509.h>
+#include <gnutls/x509.h>
#ifdef __cplusplus
extern "C" {
#endif
- /* PKCS12 structures handling
+/* PKCS12 structures handling
*/
struct gnutls_pkcs12_int;
typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t;
@@ -37,19 +37,17 @@ typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t;
struct gnutls_pkcs12_bag_int;
typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t;
-int gnutls_pkcs12_init(gnutls_pkcs12_t * pkcs12);
+int gnutls_pkcs12_init(gnutls_pkcs12_t *pkcs12);
void gnutls_pkcs12_deinit(gnutls_pkcs12_t pkcs12);
-int gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12,
- const gnutls_datum_t * data,
+int gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12, const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format, unsigned int flags);
-int gnutls_pkcs12_export(gnutls_pkcs12_t pkcs12,
- gnutls_x509_crt_fmt_t format,
+int gnutls_pkcs12_export(gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
-int gnutls_pkcs12_export2(gnutls_pkcs12_t pkcs12,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
+int gnutls_pkcs12_export2(gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out);
-int gnutls_pkcs12_get_bag(gnutls_pkcs12_t pkcs12,
- int indx, gnutls_pkcs12_bag_t bag);
+int gnutls_pkcs12_get_bag(gnutls_pkcs12_t pkcs12, int indx,
+ gnutls_pkcs12_bag_t bag);
int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag);
int gnutls_pkcs12_generate_mac(gnutls_pkcs12_t pkcs12, const char *pass);
@@ -58,27 +56,25 @@ int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,
int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass);
int gnutls_pkcs12_bag_decrypt(gnutls_pkcs12_bag_t bag, const char *pass);
-int gnutls_pkcs12_bag_encrypt(gnutls_pkcs12_bag_t bag,
- const char *pass, unsigned int flags);
-
-int
-gnutls_pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, unsigned int *schema,
- unsigned int *cipher, void *salt,
- unsigned int *salt_size, unsigned int *iter_count,
- char **oid);
+int gnutls_pkcs12_bag_encrypt(gnutls_pkcs12_bag_t bag, const char *pass,
+ unsigned int flags);
+
+int gnutls_pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, unsigned int *schema,
+ unsigned int *cipher, void *salt,
+ unsigned int *salt_size,
+ unsigned int *iter_count, char **oid);
int gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,
void *salt, unsigned int *salt_size,
unsigned int *iter_count, char **oid);
-# define GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED 1
-int gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
- const char *password,
- gnutls_x509_privkey_t * key,
- gnutls_x509_crt_t ** chain,
+#define GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED 1
+int gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12, const char *password,
+ gnutls_x509_privkey_t *key,
+ gnutls_x509_crt_t **chain,
unsigned int *chain_len,
- gnutls_x509_crt_t ** extra_certs,
+ gnutls_x509_crt_t **extra_certs,
unsigned int *extra_certs_len,
- gnutls_x509_crl_t * crl, unsigned int flags);
+ gnutls_x509_crl_t *crl, unsigned int flags);
/**
* gnutls_pkcs12_bag_type_t:
@@ -99,7 +95,7 @@ typedef enum gnutls_pkcs12_bag_type_t {
GNUTLS_BAG_PKCS8_KEY = 2,
GNUTLS_BAG_CERTIFICATE = 3,
GNUTLS_BAG_CRL = 4,
- GNUTLS_BAG_SECRET = 5, /* Secret data. Underspecified in pkcs-12,
+ GNUTLS_BAG_SECRET = 5, /* Secret data. Underspecified in pkcs-12,
* gnutls extension. We use the PKCS-9
* random nonce ID 1.2.840.113549.1.9.25.3
* to store randomly generated keys.
@@ -110,34 +106,33 @@ typedef enum gnutls_pkcs12_bag_type_t {
int gnutls_pkcs12_bag_get_type(gnutls_pkcs12_bag_t bag, unsigned indx);
int gnutls_pkcs12_bag_get_data(gnutls_pkcs12_bag_t bag, unsigned indx,
- gnutls_datum_t * data);
+ gnutls_datum_t *data);
int gnutls_pkcs12_bag_set_data(gnutls_pkcs12_bag_t bag,
gnutls_pkcs12_bag_type_t type,
- const gnutls_datum_t * data);
+ const gnutls_datum_t *data);
int gnutls_pkcs12_bag_set_crl(gnutls_pkcs12_bag_t bag, gnutls_x509_crl_t crl);
int gnutls_pkcs12_bag_set_crt(gnutls_pkcs12_bag_t bag, gnutls_x509_crt_t crt);
-int
-gnutls_pkcs12_bag_set_privkey(gnutls_pkcs12_bag_t bag,
- gnutls_x509_privkey_t privkey,
- const char *password, unsigned flags);
+int gnutls_pkcs12_bag_set_privkey(gnutls_pkcs12_bag_t bag,
+ gnutls_x509_privkey_t privkey,
+ const char *password, unsigned flags);
-int gnutls_pkcs12_bag_init(gnutls_pkcs12_bag_t * bag);
+int gnutls_pkcs12_bag_init(gnutls_pkcs12_bag_t *bag);
void gnutls_pkcs12_bag_deinit(gnutls_pkcs12_bag_t bag);
int gnutls_pkcs12_bag_get_count(gnutls_pkcs12_bag_t bag);
int gnutls_pkcs12_bag_get_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
- gnutls_datum_t * id);
+ gnutls_datum_t *id);
int gnutls_pkcs12_bag_set_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
- const gnutls_datum_t * id);
+ const gnutls_datum_t *id);
-int gnutls_pkcs12_bag_get_friendly_name(gnutls_pkcs12_bag_t bag,
- unsigned indx, char **name);
-int gnutls_pkcs12_bag_set_friendly_name(gnutls_pkcs12_bag_t bag,
- unsigned indx, const char *name);
+int gnutls_pkcs12_bag_get_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
+ char **name);
+int gnutls_pkcs12_bag_set_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
+ const char *name);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_PKCS12_H */
+#endif /* GNUTLS_PKCS12_H */
diff --git a/lib/includes/gnutls/pkcs7.h b/lib/includes/gnutls/pkcs7.h
index 777c0002f6..35660ddb67 100644
--- a/lib/includes/gnutls/pkcs7.h
+++ b/lib/includes/gnutls/pkcs7.h
@@ -26,10 +26,10 @@
*/
#ifndef GNUTLS_PKCS7_H
-# define GNUTLS_PKCS7_H
+#define GNUTLS_PKCS7_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
#ifdef __cplusplus
extern "C" {
@@ -40,22 +40,20 @@ extern "C" {
struct gnutls_pkcs7_int;
typedef struct gnutls_pkcs7_int *gnutls_pkcs7_t;
-int gnutls_pkcs7_init(gnutls_pkcs7_t * pkcs7);
+int gnutls_pkcs7_init(gnutls_pkcs7_t *pkcs7);
void gnutls_pkcs7_deinit(gnutls_pkcs7_t pkcs7);
-int gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7,
- const gnutls_datum_t * data,
+int gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format);
-int gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_fmt_t format,
+int gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
-int gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
+int gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out);
int gnutls_pkcs7_get_signature_count(gnutls_pkcs7_t pkcs7);
-# define GNUTLS_PKCS7_EDATA_GET_RAW (1<<24)
+#define GNUTLS_PKCS7_EDATA_GET_RAW (1 << 24)
int gnutls_pkcs7_get_embedded_data(gnutls_pkcs7_t pkcs7, unsigned flags,
- gnutls_datum_t * data);
+ gnutls_datum_t *data);
const char *gnutls_pkcs7_get_embedded_data_oid(gnutls_pkcs7_t pkcs7);
@@ -63,15 +61,15 @@ int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t pkcs7);
int gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7, unsigned indx,
void *certificate, size_t *certificate_size);
-int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt);
+int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t *crt);
int gnutls_pkcs7_set_crt(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt);
int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t pkcs7, int indx);
-int gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t pkcs7,
- unsigned indx, void *crl, size_t *crl_size);
+int gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t pkcs7, unsigned indx, void *crl,
+ size_t *crl_size);
int gnutls_pkcs7_get_crl_count(gnutls_pkcs7_t pkcs7);
-int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl);
+int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t *crl);
int gnutls_pkcs7_set_crl(gnutls_pkcs7_t pkcs7, gnutls_x509_crl_t crl);
int gnutls_pkcs7_delete_crl(gnutls_pkcs7_t pkcs7, int indx);
@@ -89,24 +87,24 @@ typedef struct gnutls_pkcs7_signature_info_st {
char pad[64];
} gnutls_pkcs7_signature_info_st;
-void gnutls_pkcs7_signature_info_deinit(gnutls_pkcs7_signature_info_st * info);
+void gnutls_pkcs7_signature_info_deinit(gnutls_pkcs7_signature_info_st *info);
int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
- gnutls_pkcs7_signature_info_st * info);
+ gnutls_pkcs7_signature_info_st *info);
int gnutls_pkcs7_verify_direct(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t signer,
- unsigned idx, const gnutls_datum_t * data,
+ unsigned idx, const gnutls_datum_t *data,
unsigned flags);
int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
- gnutls_typed_vdata_st * vdata, unsigned int vdata_size,
- unsigned idx, const gnutls_datum_t * data,
+ gnutls_typed_vdata_st *vdata, unsigned int vdata_size,
+ unsigned idx, const gnutls_datum_t *data,
unsigned flags);
-# define GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING 1
-int gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t * list, const char *oid,
- gnutls_datum_t * data, unsigned flags);
+#define GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING 1
+int gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t *list, const char *oid,
+ gnutls_datum_t *data, unsigned flags);
void gnutls_pkcs7_attrs_deinit(gnutls_pkcs7_attrs_t list);
int gnutls_pkcs7_get_attr(gnutls_pkcs7_attrs_t list, unsigned idx, char **oid,
- gnutls_datum_t * data, unsigned flags);
+ gnutls_datum_t *data, unsigned flags);
/**
* gnutls_pkcs7_sign_flags:
@@ -124,31 +122,27 @@ typedef enum gnutls_pkcs7_sign_flags {
GNUTLS_PKCS7_WRITE_SPKI = (1 << 3)
} gnutls_pkcs7_sign_flags;
-int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_t signer,
- gnutls_privkey_t signer_key,
- const gnutls_datum_t * data,
+int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t signer,
+ gnutls_privkey_t signer_key, const gnutls_datum_t *data,
gnutls_pkcs7_attrs_t signed_attrs,
gnutls_pkcs7_attrs_t unsigned_attrs,
gnutls_digest_algorithm_t dig, unsigned flags);
-int
-gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7,
- unsigned indx, gnutls_datum_t * cert);
-int
-gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7,
- unsigned indx, gnutls_datum_t * crl);
+int gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7, unsigned indx,
+ gnutls_datum_t *cert);
+int gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7, unsigned indx,
+ gnutls_datum_t *crl);
int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
-int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st * info,
+int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st *info,
gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_PKCS7_H */
+#endif /* GNUTLS_PKCS7_H */
diff --git a/lib/includes/gnutls/self-test.h b/lib/includes/gnutls/self-test.h
index 0d5989e63a..c695a8d93c 100644
--- a/lib/includes/gnutls/self-test.h
+++ b/lib/includes/gnutls/self-test.h
@@ -21,14 +21,14 @@
*/
#ifndef GNUTLS_SELF_TEST_H
-# define GNUTLS_SELF_TEST_H
+#define GNUTLS_SELF_TEST_H
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
- /* Self checking functions */
+/* Self checking functions */
-# define GNUTLS_SELF_TEST_FLAG_ALL 1
-# define GNUTLS_SELF_TEST_FLAG_NO_COMPAT (1<<1)
+#define GNUTLS_SELF_TEST_FLAG_ALL 1
+#define GNUTLS_SELF_TEST_FLAG_NO_COMPAT (1 << 1)
int gnutls_cipher_self_test(unsigned flags, gnutls_cipher_algorithm_t cipher);
int gnutls_mac_self_test(unsigned flags, gnutls_mac_algorithm_t mac);
@@ -38,4 +38,4 @@ int gnutls_hkdf_self_test(unsigned flags, gnutls_mac_algorithm_t mac);
int gnutls_pbkdf2_self_test(unsigned flags, gnutls_mac_algorithm_t mac);
int gnutls_tlsprf_self_test(unsigned flags, gnutls_mac_algorithm_t mac);
-#endif /* GNUTLS_SELF_TEST_H */
+#endif /* GNUTLS_SELF_TEST_H */
diff --git a/lib/includes/gnutls/socket.h b/lib/includes/gnutls/socket.h
index ccf24a76e8..46e72dbb72 100644
--- a/lib/includes/gnutls/socket.h
+++ b/lib/includes/gnutls/socket.h
@@ -24,19 +24,18 @@
*/
#ifndef GNUTLS_SOCKET_H
-# define GNUTLS_SOCKET_H
+#define GNUTLS_SOCKET_H
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
/* Get socklen_t */
-# include <sys/socket.h>
+#include <sys/socket.h>
#ifdef __cplusplus
extern "C" {
#endif
-void gnutls_transport_set_fastopen(gnutls_session_t session,
- int fd,
+void gnutls_transport_set_fastopen(gnutls_session_t session, int fd,
struct sockaddr *connect_addr,
socklen_t connect_addrlen,
unsigned int flags);
@@ -45,4 +44,4 @@ void gnutls_transport_set_fastopen(gnutls_session_t session,
}
#endif
-#endif /* GNUTLS_SOCKET_H */
+#endif /* GNUTLS_SOCKET_H */
diff --git a/lib/includes/gnutls/system-keys.h b/lib/includes/gnutls/system-keys.h
index f392fcfa8e..aa653067a5 100644
--- a/lib/includes/gnutls/system-keys.h
+++ b/lib/includes/gnutls/system-keys.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_SYSTEM_KEYS_H
-# define GNUTLS_SYSTEM_KEYS_H
+#define GNUTLS_SYSTEM_KEYS_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
/* This API allows to access user key and certificate pairs that are
* available in the current system. If any passwords are required,
@@ -39,12 +39,12 @@ struct system_key_iter_st;
typedef struct system_key_iter_st *gnutls_system_key_iter_t;
void gnutls_system_key_iter_deinit(gnutls_system_key_iter_t iter);
-int
-gnutls_system_key_iter_get_info(gnutls_system_key_iter_t * iter,
- unsigned cert_type
- /* gnutls_certificate_type_t */ ,
- char **cert_url, char **key_url, char **label,
- gnutls_datum_t * der, unsigned int flags);
+int gnutls_system_key_iter_get_info(gnutls_system_key_iter_t *iter,
+ unsigned cert_type
+ /* gnutls_certificate_type_t */,
+ char **cert_url, char **key_url,
+ char **label, gnutls_datum_t *der,
+ unsigned int flags);
int gnutls_system_key_delete(const char *cert_url, const char *key_url);
@@ -56,4 +56,4 @@ int gnutls_system_key_add_x509(gnutls_x509_crt_t crt,
}
#endif
-#endif /* GNUTLS_SYSTEM_KEYS_H */
+#endif /* GNUTLS_SYSTEM_KEYS_H */
diff --git a/lib/includes/gnutls/tpm.h b/lib/includes/gnutls/tpm.h
index e54e0bbf66..8824952bb9 100644
--- a/lib/includes/gnutls/tpm.h
+++ b/lib/includes/gnutls/tpm.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_TPM_H
-# define GNUTLS_TPM_H
+#define GNUTLS_TPM_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
#ifdef __cplusplus
extern "C" {
@@ -33,9 +33,9 @@ extern "C" {
struct tpm_key_list_st;
typedef struct tpm_key_list_st *gnutls_tpm_key_list_t;
-# define GNUTLS_TPM_KEY_SIGNING (1<<1)
-# define GNUTLS_TPM_REGISTER_KEY (1<<2)
-# define GNUTLS_TPM_KEY_USER (1<<3)
+#define GNUTLS_TPM_KEY_SIGNING (1 << 1)
+#define GNUTLS_TPM_REGISTER_KEY (1 << 2)
+#define GNUTLS_TPM_KEY_USER (1 << 3)
/**
* gnutls_tpmkey_fmt_t:
@@ -51,26 +51,22 @@ typedef enum {
GNUTLS_TPMKEY_FMT_CTK_PEM = 1
} gnutls_tpmkey_fmt_t;
-int
-gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk,
- unsigned int bits,
- const char *srk_password,
- const char *key_password,
- gnutls_tpmkey_fmt_t format,
- gnutls_x509_crt_fmt_t pub_format,
- gnutls_datum_t * privkey,
- gnutls_datum_t * pubkey, unsigned int flags);
+int gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
+ const char *srk_password,
+ const char *key_password,
+ gnutls_tpmkey_fmt_t format,
+ gnutls_x509_crt_fmt_t pub_format,
+ gnutls_datum_t *privkey, gnutls_datum_t *pubkey,
+ unsigned int flags);
void gnutls_tpm_key_list_deinit(gnutls_tpm_key_list_t list);
-int gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list,
- unsigned int idx, char **url,
- unsigned int flags);
-int gnutls_tpm_get_registered(gnutls_tpm_key_list_t * list);
+int gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned int idx,
+ char **url, unsigned int flags);
+int gnutls_tpm_get_registered(gnutls_tpm_key_list_t *list);
int gnutls_tpm_privkey_delete(const char *url, const char *srk_password);
-
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_TPM_H */
+#endif /* GNUTLS_TPM_H */
diff --git a/lib/includes/gnutls/urls.h b/lib/includes/gnutls/urls.h
index 3f2ef45a80..368c26d090 100644
--- a/lib/includes/gnutls/urls.h
+++ b/lib/includes/gnutls/urls.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_URLS_H
-# define GNUTLS_URLS_H
+#define GNUTLS_URLS_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
-# include <gnutls/abstract.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
+#include <gnutls/abstract.h>
/* This API allows to register application specific URLs for
* keys and certificates.
@@ -53,7 +53,7 @@ typedef int (*gnutls_pubkey_import_url_func)(gnutls_pubkey_t pkey,
* it should return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE. */
typedef int (*gnutls_get_raw_issuer_func)(const char *url,
gnutls_x509_crt_t crt,
- gnutls_datum_t * issuer_der,
+ gnutls_datum_t *issuer_der,
unsigned flags);
typedef struct gnutls_custom_url_st {
@@ -63,14 +63,14 @@ typedef struct gnutls_custom_url_st {
gnutls_x509_crt_import_url_func import_crt;
gnutls_pubkey_import_url_func import_pubkey;
gnutls_get_raw_issuer_func get_issuer;
- void *future1; /* replace in a future extension */
- void *future2; /* replace in a future extension */
+ void *future1; /* replace in a future extension */
+ void *future2; /* replace in a future extension */
} gnutls_custom_url_st;
-int gnutls_register_custom_url(const gnutls_custom_url_st * st);
+int gnutls_register_custom_url(const gnutls_custom_url_st *st);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_URLS_H */
+#endif /* GNUTLS_URLS_H */
diff --git a/lib/includes/gnutls/x509-ext.h b/lib/includes/gnutls/x509-ext.h
index c0fa233b5a..6993c3c9a5 100644
--- a/lib/includes/gnutls/x509-ext.h
+++ b/lib/includes/gnutls/x509-ext.h
@@ -23,10 +23,10 @@
/* Prototypes for direct handling of extension data */
#ifndef GNUTLS_X509_EXT_H
-# define GNUTLS_X509_EXT_H
+#define GNUTLS_X509_EXT_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
#ifdef __cplusplus
extern "C" {
@@ -38,22 +38,24 @@ int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t *);
void gnutls_subject_alt_names_deinit(gnutls_subject_alt_names_t sans);
int gnutls_subject_alt_names_get(gnutls_subject_alt_names_t sans,
unsigned int seq, unsigned int *san_type,
- gnutls_datum_t * san,
- gnutls_datum_t * othername_oid);
+ gnutls_datum_t *san,
+ gnutls_datum_t *othername_oid);
int gnutls_subject_alt_names_set(gnutls_subject_alt_names_t sans,
unsigned int san_type,
- const gnutls_datum_t * san,
+ const gnutls_datum_t *san,
const char *othername_oid);
-int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t *ext,
gnutls_subject_alt_names_t,
unsigned int flags);
int gnutls_x509_ext_export_subject_alt_names(gnutls_subject_alt_names_t,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
/* They are exactly the same */
-# define gnutls_x509_ext_import_issuer_alt_name gnutls_x509_ext_import_subject_alt_name
-# define gnutls_x509_ext_export_issuer_alt_name gnutls_x509_ext_export_subject_alt_name
+#define gnutls_x509_ext_import_issuer_alt_name \
+ gnutls_x509_ext_import_subject_alt_name
+#define gnutls_x509_ext_export_issuer_alt_name \
+ gnutls_x509_ext_export_subject_alt_name
typedef struct gnutls_x509_crl_dist_points_st *gnutls_x509_crl_dist_points_t;
@@ -61,115 +63,113 @@ int gnutls_x509_crl_dist_points_init(gnutls_x509_crl_dist_points_t *);
void gnutls_x509_crl_dist_points_deinit(gnutls_x509_crl_dist_points_t);
int gnutls_x509_crl_dist_points_get(gnutls_x509_crl_dist_points_t,
unsigned int seq, unsigned int *type,
- gnutls_datum_t * dist,
+ gnutls_datum_t *dist,
unsigned int *reason_flags);
int gnutls_x509_crl_dist_points_set(gnutls_x509_crl_dist_points_t,
gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * dist,
+ const gnutls_datum_t *dist,
unsigned int reason_flags);
-int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t *ext,
gnutls_x509_crl_dist_points_t dp,
unsigned int flags);
int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t dp,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
-int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t *ext,
gnutls_x509_name_constraints_t nc,
unsigned int flags);
int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
typedef struct gnutls_x509_aia_st *gnutls_x509_aia_t;
int gnutls_x509_aia_init(gnutls_x509_aia_t *);
void gnutls_x509_aia_deinit(gnutls_x509_aia_t);
int gnutls_x509_aia_get(gnutls_x509_aia_t aia, unsigned int seq,
- gnutls_datum_t * oid,
- unsigned *san_type, gnutls_datum_t * san);
-int gnutls_x509_aia_set(gnutls_x509_aia_t aia,
- const char *oid,
- unsigned san_type, const gnutls_datum_t * san);
+ gnutls_datum_t *oid, unsigned *san_type,
+ gnutls_datum_t *san);
+int gnutls_x509_aia_set(gnutls_x509_aia_t aia, const char *oid,
+ unsigned san_type, const gnutls_datum_t *san);
-int gnutls_x509_ext_import_aia(const gnutls_datum_t * ext,
- gnutls_x509_aia_t, unsigned int flags);
-int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t * ext);
+int gnutls_x509_ext_import_aia(const gnutls_datum_t *ext, gnutls_x509_aia_t,
+ unsigned int flags);
+int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t *ext);
-int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t * ext,
- gnutls_datum_t * id);
-int gnutls_x509_ext_export_subject_key_id(const gnutls_datum_t * id,
- gnutls_datum_t * ext);
+int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t *ext,
+ gnutls_datum_t *id);
+int gnutls_x509_ext_export_subject_key_id(const gnutls_datum_t *id,
+ gnutls_datum_t *ext);
typedef struct gnutls_x509_aki_st *gnutls_x509_aki_t;
int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t,
- gnutls_datum_t * ext);
-int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
+ gnutls_datum_t *ext);
+int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t *ext,
gnutls_x509_aki_t,
unsigned int flags);
int gnutls_x509_othername_to_virtual(const char *oid,
- const gnutls_datum_t * othername,
+ const gnutls_datum_t *othername,
unsigned int *virt_type,
- gnutls_datum_t * virt);
+ gnutls_datum_t *virt);
int gnutls_x509_aki_init(gnutls_x509_aki_t *);
-int gnutls_x509_aki_get_id(gnutls_x509_aki_t, gnutls_datum_t * id);
+int gnutls_x509_aki_get_id(gnutls_x509_aki_t, gnutls_datum_t *id);
int gnutls_x509_aki_get_cert_issuer(gnutls_x509_aki_t aki, unsigned int seq,
- unsigned int *san_type,
- gnutls_datum_t * san,
- gnutls_datum_t * othername_oid,
- gnutls_datum_t * serial);
-int gnutls_x509_aki_set_id(gnutls_x509_aki_t aki, const gnutls_datum_t * id);
+ unsigned int *san_type, gnutls_datum_t *san,
+ gnutls_datum_t *othername_oid,
+ gnutls_datum_t *serial);
+int gnutls_x509_aki_set_id(gnutls_x509_aki_t aki, const gnutls_datum_t *id);
int gnutls_x509_aki_set_cert_issuer(gnutls_x509_aki_t aki,
unsigned int san_type,
- const gnutls_datum_t * san,
+ const gnutls_datum_t *san,
const char *othername_oid,
- const gnutls_datum_t * serial);
+ const gnutls_datum_t *serial);
void gnutls_x509_aki_deinit(gnutls_x509_aki_t);
-int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t * ext,
- time_t * activation,
- time_t * expiration);
+int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t *ext,
+ time_t *activation,
+ time_t *expiration);
int gnutls_x509_ext_export_private_key_usage_period(time_t activation,
time_t expiration,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
-int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t *ext,
unsigned int *ca, int *pathlen);
int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int pathlen,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
typedef struct gnutls_x509_key_purposes_st *gnutls_x509_key_purposes_t;
-int gnutls_x509_key_purpose_init(gnutls_x509_key_purposes_t * p);
+int gnutls_x509_key_purpose_init(gnutls_x509_key_purposes_t *p);
void gnutls_x509_key_purpose_deinit(gnutls_x509_key_purposes_t p);
int gnutls_x509_key_purpose_set(gnutls_x509_key_purposes_t p, const char *oid);
int gnutls_x509_key_purpose_get(gnutls_x509_key_purposes_t p, unsigned idx,
- gnutls_datum_t * oid);
+ gnutls_datum_t *oid);
-int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t *ext,
gnutls_x509_key_purposes_t,
unsigned int flags);
int gnutls_x509_ext_export_key_purposes(gnutls_x509_key_purposes_t,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
-int gnutls_x509_ext_import_key_usage(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_key_usage(const gnutls_datum_t *ext,
unsigned int *key_usage);
int gnutls_x509_ext_export_key_usage(unsigned int key_usage,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
-int gnutls_x509_ext_import_inhibit_anypolicy(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_inhibit_anypolicy(const gnutls_datum_t *ext,
unsigned int *skipcerts);
int gnutls_x509_ext_export_inhibit_anypolicy(unsigned int skipcerts,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
-int gnutls_x509_ext_import_proxy(const gnutls_datum_t * ext, int *pathlen,
+int gnutls_x509_ext_import_proxy(const gnutls_datum_t *ext, int *pathlen,
char **policyLanguage, char **policy,
size_t *sizeof_policy);
int gnutls_x509_ext_export_proxy(int pathLenConstraint,
const char *policyLanguage, const char *policy,
- size_t sizeof_policy, gnutls_datum_t * ext);
+ size_t sizeof_policy, gnutls_datum_t *ext);
typedef struct gnutls_x509_policies_st *gnutls_x509_policies_t;
@@ -181,40 +181,40 @@ int gnutls_x509_policies_get(gnutls_x509_policies_t policies, unsigned int seq,
int gnutls_x509_policies_set(gnutls_x509_policies_t policies,
const struct gnutls_x509_policy_st *policy);
-int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_policies(const gnutls_datum_t *ext,
gnutls_x509_policies_t policies,
unsigned int flags);
int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
-int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t *ext,
gnutls_x509_tlsfeatures_t,
unsigned int flags);
int gnutls_x509_ext_export_tlsfeatures(gnutls_x509_tlsfeatures_t f,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
int gnutls_x509_tlsfeatures_add(gnutls_x509_tlsfeatures_t f,
unsigned int feature);
typedef struct gnutls_x509_ct_scts_st *gnutls_x509_ct_scts_t;
-int gnutls_x509_ext_ct_scts_init(gnutls_x509_ct_scts_t * scts);
+int gnutls_x509_ext_ct_scts_init(gnutls_x509_ct_scts_t *scts);
void gnutls_x509_ext_ct_scts_deinit(gnutls_x509_ct_scts_t scts);
-int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t * ext,
+int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t *ext,
gnutls_x509_ct_scts_t scts,
unsigned int flags);
int gnutls_x509_ext_ct_export_scts(const gnutls_x509_ct_scts_t scts,
- gnutls_datum_t * ext);
+ gnutls_datum_t *ext);
int gnutls_x509_ct_sct_get_version(const gnutls_x509_ct_scts_t scts,
unsigned idx, unsigned int *version_out);
int gnutls_x509_ct_sct_get(const gnutls_x509_ct_scts_t scts, unsigned idx,
- time_t * timestamp, gnutls_datum_t * logid,
- gnutls_sign_algorithm_t * sigalg,
- gnutls_datum_t * signature);
+ time_t *timestamp, gnutls_datum_t *logid,
+ gnutls_sign_algorithm_t *sigalg,
+ gnutls_datum_t *signature);
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_X509_EXT_H */
+#endif /* GNUTLS_X509_EXT_H */
diff --git a/lib/includes/gnutls/x509.h b/lib/includes/gnutls/x509.h
index d5a5e8e914..08ee980f73 100644
--- a/lib/includes/gnutls/x509.h
+++ b/lib/includes/gnutls/x509.h
@@ -26,9 +26,9 @@
*/
#ifndef GNUTLS_X509_H
-# define GNUTLS_X509_H
+#define GNUTLS_X509_H
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
#ifdef __cplusplus
extern "C" {
@@ -37,77 +37,77 @@ extern "C" {
/* Some OIDs usually found in Distinguished names, or
* in Subject Directory Attribute extensions.
*/
-# define GNUTLS_OID_X520_COUNTRY_NAME "2.5.4.6"
-# define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10"
-# define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11"
-# define GNUTLS_OID_X520_COMMON_NAME "2.5.4.3"
-# define GNUTLS_OID_X520_LOCALITY_NAME "2.5.4.7"
-# define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8"
-
-# define GNUTLS_OID_X520_INITIALS "2.5.4.43"
-# define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44"
-# define GNUTLS_OID_X520_SURNAME "2.5.4.4"
-# define GNUTLS_OID_X520_GIVEN_NAME "2.5.4.42"
-# define GNUTLS_OID_X520_TITLE "2.5.4.12"
-# define GNUTLS_OID_X520_DN_QUALIFIER "2.5.4.46"
-# define GNUTLS_OID_X520_PSEUDONYM "2.5.4.65"
-# define GNUTLS_OID_X520_POSTALCODE "2.5.4.17"
-# define GNUTLS_OID_X520_NAME "2.5.4.41"
-
-# define GNUTLS_OID_LDAP_DC "0.9.2342.19200300.100.1.25"
-# define GNUTLS_OID_LDAP_UID "0.9.2342.19200300.100.1.1"
+#define GNUTLS_OID_X520_COUNTRY_NAME "2.5.4.6"
+#define GNUTLS_OID_X520_ORGANIZATION_NAME "2.5.4.10"
+#define GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11"
+#define GNUTLS_OID_X520_COMMON_NAME "2.5.4.3"
+#define GNUTLS_OID_X520_LOCALITY_NAME "2.5.4.7"
+#define GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8"
+
+#define GNUTLS_OID_X520_INITIALS "2.5.4.43"
+#define GNUTLS_OID_X520_GENERATION_QUALIFIER "2.5.4.44"
+#define GNUTLS_OID_X520_SURNAME "2.5.4.4"
+#define GNUTLS_OID_X520_GIVEN_NAME "2.5.4.42"
+#define GNUTLS_OID_X520_TITLE "2.5.4.12"
+#define GNUTLS_OID_X520_DN_QUALIFIER "2.5.4.46"
+#define GNUTLS_OID_X520_PSEUDONYM "2.5.4.65"
+#define GNUTLS_OID_X520_POSTALCODE "2.5.4.17"
+#define GNUTLS_OID_X520_NAME "2.5.4.41"
+
+#define GNUTLS_OID_LDAP_DC "0.9.2342.19200300.100.1.25"
+#define GNUTLS_OID_LDAP_UID "0.9.2342.19200300.100.1.1"
/* The following should not be included in DN.
*/
-# define GNUTLS_OID_PKCS9_EMAIL "1.2.840.113549.1.9.1"
+#define GNUTLS_OID_PKCS9_EMAIL "1.2.840.113549.1.9.1"
-# define GNUTLS_OID_PKIX_DATE_OF_BIRTH "1.3.6.1.5.5.7.9.1"
-# define GNUTLS_OID_PKIX_PLACE_OF_BIRTH "1.3.6.1.5.5.7.9.2"
-# define GNUTLS_OID_PKIX_GENDER "1.3.6.1.5.5.7.9.3"
-# define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4"
-# define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5"
+#define GNUTLS_OID_PKIX_DATE_OF_BIRTH "1.3.6.1.5.5.7.9.1"
+#define GNUTLS_OID_PKIX_PLACE_OF_BIRTH "1.3.6.1.5.5.7.9.2"
+#define GNUTLS_OID_PKIX_GENDER "1.3.6.1.5.5.7.9.3"
+#define GNUTLS_OID_PKIX_COUNTRY_OF_CITIZENSHIP "1.3.6.1.5.5.7.9.4"
+#define GNUTLS_OID_PKIX_COUNTRY_OF_RESIDENCE "1.3.6.1.5.5.7.9.5"
/* Key purpose Object Identifiers.
*/
-# define GNUTLS_KP_TLS_WWW_SERVER "1.3.6.1.5.5.7.3.1"
-# define GNUTLS_KP_TLS_WWW_CLIENT "1.3.6.1.5.5.7.3.2"
-# define GNUTLS_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3"
-# define GNUTLS_KP_MS_SMART_CARD_LOGON "1.3.6.1.4.1.311.20.2.2"
-# define GNUTLS_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4"
-# define GNUTLS_KP_TIME_STAMPING "1.3.6.1.5.5.7.3.8"
-# define GNUTLS_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9"
-# define GNUTLS_KP_IPSEC_IKE "1.3.6.1.5.5.7.3.17"
-# define GNUTLS_KP_ANY "2.5.29.37.0"
-
-# define GNUTLS_KP_FLAG_DISALLOW_ANY 1
-
-# define GNUTLS_OID_AIA "1.3.6.1.5.5.7.1.1"
-# define GNUTLS_OID_AD_OCSP "1.3.6.1.5.5.7.48.1"
-# define GNUTLS_OID_AD_CAISSUERS "1.3.6.1.5.5.7.48.2"
-
-# define GNUTLS_FSAN_SET 0
-# define GNUTLS_FSAN_APPEND 1
-# define GNUTLS_FSAN_ENCODE_OCTET_STRING (1<<1)
-# define GNUTLS_FSAN_ENCODE_UTF8_STRING (1<<2)
-
-# define GNUTLS_X509EXT_OID_SUBJECT_KEY_ID "2.5.29.14"
-# define GNUTLS_X509EXT_OID_KEY_USAGE "2.5.29.15"
-# define GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD "2.5.29.16"
-# define GNUTLS_X509EXT_OID_SAN "2.5.29.17"
-# define GNUTLS_X509EXT_OID_IAN "2.5.29.18"
-# define GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS "2.5.29.19"
-# define GNUTLS_X509EXT_OID_NAME_CONSTRAINTS "2.5.29.30"
-# define GNUTLS_X509EXT_OID_CRL_DIST_POINTS "2.5.29.31"
-# define GNUTLS_X509EXT_OID_CRT_POLICY "2.5.29.32"
-# define GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID "2.5.29.35"
-# define GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE "2.5.29.37"
-# define GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY "2.5.29.52"
-# define GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS "1.3.6.1.5.5.7.1.1"
-# define GNUTLS_X509EXT_OID_PROXY_CRT_INFO "1.3.6.1.5.5.7.1.14"
-# define GNUTLS_X509EXT_OID_TLSFEATURES "1.3.6.1.5.5.7.1.24"
-# define GNUTLS_X509EXT_OID_CT_SCT_V1 "1.3.6.1.4.1.11129.2.4.2"
-
-# define GNUTLS_X509_OID_POLICY_ANY "2.5.29.54"
+#define GNUTLS_KP_TLS_WWW_SERVER "1.3.6.1.5.5.7.3.1"
+#define GNUTLS_KP_TLS_WWW_CLIENT "1.3.6.1.5.5.7.3.2"
+#define GNUTLS_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3"
+#define GNUTLS_KP_MS_SMART_CARD_LOGON "1.3.6.1.4.1.311.20.2.2"
+#define GNUTLS_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4"
+#define GNUTLS_KP_TIME_STAMPING "1.3.6.1.5.5.7.3.8"
+#define GNUTLS_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9"
+#define GNUTLS_KP_IPSEC_IKE "1.3.6.1.5.5.7.3.17"
+#define GNUTLS_KP_ANY "2.5.29.37.0"
+
+#define GNUTLS_KP_FLAG_DISALLOW_ANY 1
+
+#define GNUTLS_OID_AIA "1.3.6.1.5.5.7.1.1"
+#define GNUTLS_OID_AD_OCSP "1.3.6.1.5.5.7.48.1"
+#define GNUTLS_OID_AD_CAISSUERS "1.3.6.1.5.5.7.48.2"
+
+#define GNUTLS_FSAN_SET 0
+#define GNUTLS_FSAN_APPEND 1
+#define GNUTLS_FSAN_ENCODE_OCTET_STRING (1 << 1)
+#define GNUTLS_FSAN_ENCODE_UTF8_STRING (1 << 2)
+
+#define GNUTLS_X509EXT_OID_SUBJECT_KEY_ID "2.5.29.14"
+#define GNUTLS_X509EXT_OID_KEY_USAGE "2.5.29.15"
+#define GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD "2.5.29.16"
+#define GNUTLS_X509EXT_OID_SAN "2.5.29.17"
+#define GNUTLS_X509EXT_OID_IAN "2.5.29.18"
+#define GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS "2.5.29.19"
+#define GNUTLS_X509EXT_OID_NAME_CONSTRAINTS "2.5.29.30"
+#define GNUTLS_X509EXT_OID_CRL_DIST_POINTS "2.5.29.31"
+#define GNUTLS_X509EXT_OID_CRT_POLICY "2.5.29.32"
+#define GNUTLS_X509EXT_OID_AUTHORITY_KEY_ID "2.5.29.35"
+#define GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE "2.5.29.37"
+#define GNUTLS_X509EXT_OID_INHIBIT_ANYPOLICY "2.5.29.52"
+#define GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS "1.3.6.1.5.5.7.1.1"
+#define GNUTLS_X509EXT_OID_PROXY_CRT_INFO "1.3.6.1.5.5.7.1.14"
+#define GNUTLS_X509EXT_OID_TLSFEATURES "1.3.6.1.5.5.7.1.24"
+#define GNUTLS_X509EXT_OID_CT_SCT_V1 "1.3.6.1.4.1.11129.2.4.2"
+
+#define GNUTLS_X509_OID_POLICY_ANY "2.5.29.54"
/* Certificate handling functions.
*/
@@ -130,7 +130,7 @@ typedef enum gnutls_certificate_import_flags {
GNUTLS_X509_CRT_LIST_SORT = 1 << 2
} gnutls_certificate_import_flags;
-int gnutls_x509_crt_init(gnutls_x509_crt_t * cert);
+int gnutls_x509_crt_init(gnutls_x509_crt_t *cert);
void gnutls_x509_crt_deinit(gnutls_x509_crt_t cert);
/**
@@ -149,71 +149,61 @@ void gnutls_x509_crt_set_flags(gnutls_x509_crt_t cert, unsigned flags);
unsigned gnutls_x509_crt_equals(gnutls_x509_crt_t cert1,
gnutls_x509_crt_t cert2);
unsigned gnutls_x509_crt_equals2(gnutls_x509_crt_t cert1,
- const gnutls_datum_t * der);
+ const gnutls_datum_t *der);
-int gnutls_x509_crt_import(gnutls_x509_crt_t cert,
- const gnutls_datum_t * data,
+int gnutls_x509_crt_import(gnutls_x509_crt_t cert, const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format);
-int gnutls_x509_crt_list_import2(gnutls_x509_crt_t ** certs,
- unsigned int *size,
- const gnutls_datum_t * data,
+int gnutls_x509_crt_list_import2(gnutls_x509_crt_t **certs, unsigned int *size,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
unsigned int flags);
-int gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
+int gnutls_x509_crt_list_import(gnutls_x509_crt_t *certs,
unsigned int *cert_max,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
unsigned int flags);
-int gnutls_x509_crt_import_url(gnutls_x509_crt_t crt,
- const char *url, unsigned int flags
+int gnutls_x509_crt_import_url(gnutls_x509_crt_t crt, const char *url,
+ unsigned int flags
/* GNUTLS_PKCS11_OBJ_FLAG_* */
- );
+);
-int
-gnutls_x509_crt_list_import_url(gnutls_x509_crt_t ** certs,
- unsigned int *size,
- const char *url,
- gnutls_pin_callback_t pin_fn,
- void *pin_fn_userdata, unsigned int flags);
+int gnutls_x509_crt_list_import_url(gnutls_x509_crt_t **certs,
+ unsigned int *size, const char *url,
+ gnutls_pin_callback_t pin_fn,
+ void *pin_fn_userdata, unsigned int flags);
-int gnutls_x509_crt_export(gnutls_x509_crt_t cert,
- gnutls_x509_crt_fmt_t format,
+int gnutls_x509_crt_export(gnutls_x509_crt_t cert, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
int gnutls_x509_crt_export2(gnutls_x509_crt_t cert,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
-int gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t
- cert,
- time_t *
- activation,
- time_t *
- expiration, unsigned int
- *critical);
-
-int gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert,
- char *buf, size_t *buf_size);
-int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn);
-int gnutls_x509_crt_get_issuer_dn3(gnutls_x509_crt_t cert,
- gnutls_datum_t * dn, unsigned flags);
-int gnutls_x509_crt_get_issuer_dn_oid(gnutls_x509_crt_t cert,
- unsigned indx, void *oid,
- size_t *oid_size);
+ gnutls_x509_crt_fmt_t format, gnutls_datum_t *out);
+int gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t cert,
+ time_t *activation,
+ time_t *expiration,
+ unsigned int *critical);
+
+int gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert, char *buf,
+ size_t *buf_size);
+int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t *dn);
+int gnutls_x509_crt_get_issuer_dn3(gnutls_x509_crt_t cert, gnutls_datum_t *dn,
+ unsigned flags);
+int gnutls_x509_crt_get_issuer_dn_oid(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size);
int gnutls_x509_crt_get_issuer_dn_by_oid(gnutls_x509_crt_t cert,
const char *oid, unsigned indx,
- unsigned int raw_flag,
- void *buf, size_t *buf_size);
+ unsigned int raw_flag, void *buf,
+ size_t *buf_size);
int gnutls_x509_crt_get_dn(gnutls_x509_crt_t cert, char *buf, size_t *buf_size);
-int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn);
-int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t * dn,
+int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t *dn);
+int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t *dn,
unsigned flags);
-int gnutls_x509_crt_get_dn_oid(gnutls_x509_crt_t cert, unsigned indx,
- void *oid, size_t *oid_size);
-int gnutls_x509_crt_get_dn_by_oid(gnutls_x509_crt_t cert,
- const char *oid, unsigned indx,
- unsigned int raw_flag, void *buf,
- size_t *buf_size);
+int gnutls_x509_crt_get_dn_oid(gnutls_x509_crt_t cert, unsigned indx, void *oid,
+ size_t *oid_size);
+int gnutls_x509_crt_get_dn_by_oid(gnutls_x509_crt_t cert, const char *oid,
+ unsigned indx, unsigned int raw_flag,
+ void *buf, size_t *buf_size);
unsigned gnutls_x509_crt_check_hostname(gnutls_x509_crt_t cert,
const char *hostname);
unsigned gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
@@ -222,14 +212,13 @@ unsigned gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
unsigned gnutls_x509_crt_check_email(gnutls_x509_crt_t cert, const char *email,
unsigned int flags);
-unsigned
-gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,
- const unsigned char *ip, unsigned int ip_size,
- unsigned int flags);
+unsigned gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,
+ const unsigned char *ip, unsigned int ip_size,
+ unsigned int flags);
int gnutls_x509_crt_get_signature_algorithm(gnutls_x509_crt_t cert);
-int gnutls_x509_crt_get_signature(gnutls_x509_crt_t cert,
- char *sig, size_t *sizeof_sig);
+int gnutls_x509_crt_get_signature(gnutls_x509_crt_t cert, char *sig,
+ size_t *sizeof_sig);
int gnutls_x509_crt_get_version(gnutls_x509_crt_t cert);
int gnutls_x509_crt_get_pk_oid(gnutls_x509_crt_t cert, char *oid,
@@ -253,47 +242,37 @@ typedef enum {
GNUTLS_KEYID_USE_SHA512 = (1 << 1),
GNUTLS_KEYID_USE_BEST_KNOWN = (1 << 30)
} gnutls_keyid_flags_t;
-int gnutls_x509_crt_get_key_id(gnutls_x509_crt_t crt,
- unsigned int flags,
+int gnutls_x509_crt_get_key_id(gnutls_x509_crt_t crt, unsigned int flags,
unsigned char *output_data,
size_t *output_data_size);
-int gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t
- crt,
+int gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t crt,
time_t activation,
time_t expiration);
-int gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert,
- const void *id, size_t id_size);
-int gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert,
- void *id,
+int gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert, const void *id,
+ size_t id_size);
+int gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void *id,
size_t *id_size,
unsigned int *critical);
-int gnutls_x509_crt_get_authority_key_gn_serial(gnutls_x509_crt_t
- cert,
- unsigned int seq,
- void *alt,
- size_t *alt_size, unsigned int
- *alt_type,
- void *serial,
- size_t *serial_size,
- unsigned int
- *critical);
-
-int gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert,
- void *ret,
+int gnutls_x509_crt_get_authority_key_gn_serial(
+ gnutls_x509_crt_t cert, unsigned int seq, void *alt, size_t *alt_size,
+ unsigned int *alt_type, void *serial, size_t *serial_size,
+ unsigned int *critical);
+
+int gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert, void *ret,
size_t *ret_size,
unsigned int *critical);
-int gnutls_x509_crt_get_subject_unique_id(gnutls_x509_crt_t crt,
- char *buf, size_t *buf_size);
+int gnutls_x509_crt_get_subject_unique_id(gnutls_x509_crt_t crt, char *buf,
+ size_t *buf_size);
-int gnutls_x509_crt_get_issuer_unique_id(gnutls_x509_crt_t crt,
- char *buf, size_t *buf_size);
+int gnutls_x509_crt_get_issuer_unique_id(gnutls_x509_crt_t crt, char *buf,
+ size_t *buf_size);
void gnutls_x509_crt_set_pin_function(gnutls_x509_crt_t crt,
gnutls_pin_callback_t fn, void *userdata);
- /**
+/**
* gnutls_info_access_what_t:
* @GNUTLS_IA_ACCESSMETHOD_OID: Get accessMethod OID.
* @GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE: Get accessLocation name type.
@@ -315,57 +294,50 @@ typedef enum gnutls_info_access_what_t {
GNUTLS_IA_CAISSUERS_URI = 10106
} gnutls_info_access_what_t;
-int gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t
- crt,
- unsigned int seq,
- int what,
- gnutls_datum_t *
- data, unsigned int
- *critical);
+int gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t crt,
+ unsigned int seq, int what,
+ gnutls_datum_t *data,
+ unsigned int *critical);
typedef struct gnutls_name_constraints_st *gnutls_x509_name_constraints_t;
unsigned gnutls_x509_name_constraints_check(gnutls_x509_name_constraints_t nc,
gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * name);
-unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
- nc,
- gnutls_x509_subject_alt_name_t
- type, gnutls_x509_crt_t crt);
+ const gnutls_datum_t *name);
+unsigned
+gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t nc,
+ gnutls_x509_subject_alt_name_t type,
+ gnutls_x509_crt_t crt);
-int gnutls_x509_name_constraints_init(gnutls_x509_name_constraints_t * nc);
+int gnutls_x509_name_constraints_init(gnutls_x509_name_constraints_t *nc);
void gnutls_x509_name_constraints_deinit(gnutls_x509_name_constraints_t nc);
-# define GNUTLS_EXT_FLAG_APPEND 1
+#define GNUTLS_EXT_FLAG_APPEND 1
-# define GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND GNUTLS_EXT_FLAG_APPEND
+#define GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND GNUTLS_EXT_FLAG_APPEND
int gnutls_x509_crt_get_name_constraints(gnutls_x509_crt_t crt,
gnutls_x509_name_constraints_t nc,
unsigned int flags,
unsigned int *critical);
-int gnutls_x509_name_constraints_add_permitted(gnutls_x509_name_constraints_t
- nc,
- gnutls_x509_subject_alt_name_t
- type,
- const gnutls_datum_t * name);
-int gnutls_x509_name_constraints_add_excluded(gnutls_x509_name_constraints_t nc,
- gnutls_x509_subject_alt_name_t
- type,
- const gnutls_datum_t * name);
+int gnutls_x509_name_constraints_add_permitted(
+ gnutls_x509_name_constraints_t nc, gnutls_x509_subject_alt_name_t type,
+ const gnutls_datum_t *name);
+int gnutls_x509_name_constraints_add_excluded(
+ gnutls_x509_name_constraints_t nc, gnutls_x509_subject_alt_name_t type,
+ const gnutls_datum_t *name);
int gnutls_x509_crt_set_name_constraints(gnutls_x509_crt_t crt,
gnutls_x509_name_constraints_t nc,
unsigned int critical);
-int gnutls_x509_name_constraints_get_permitted(gnutls_x509_name_constraints_t
- nc, unsigned idx, unsigned *type,
- gnutls_datum_t * name);
+int gnutls_x509_name_constraints_get_permitted(gnutls_x509_name_constraints_t nc,
+ unsigned idx, unsigned *type,
+ gnutls_datum_t *name);
int gnutls_x509_name_constraints_get_excluded(gnutls_x509_name_constraints_t nc,
unsigned idx, unsigned *type,
- gnutls_datum_t * name);
-int gnutls_x509_cidr_to_rfc5280(const char *cidr,
- gnutls_datum_t * cidr_rfc5280);
+ gnutls_datum_t *name);
+int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t *cidr_rfc5280);
-# define GNUTLS_CRL_REASON_SUPERSEEDED GNUTLS_CRL_REASON_SUPERSEDED,
- /**
+#define GNUTLS_CRL_REASON_SUPERSEEDED GNUTLS_CRL_REASON_SUPERSEDED,
+/**
* gnutls_x509_crl_reason_flags_t:
* @GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN: The privileges were withdrawn from the owner.
* @GNUTLS_CRL_REASON_CERTIFICATE_HOLD: The certificate is on hold.
@@ -393,49 +365,45 @@ typedef enum gnutls_x509_crl_reason_flags_t {
} gnutls_x509_crl_reason_flags_t;
int gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *ret,
+ unsigned int seq, void *ret,
size_t *ret_size,
unsigned int *reason_flags,
unsigned int *critical);
int gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t
- type, const void *data,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data,
unsigned int data_size,
unsigned int reason_flags);
int gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t
- type,
+ gnutls_x509_subject_alt_name_t type,
const void *data_string,
unsigned int reason_flags);
int gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t dst,
gnutls_x509_crt_t src);
-int gnutls_x509_crl_sign(gnutls_x509_crl_t crl,
- gnutls_x509_crt_t issuer,
+int gnutls_x509_crl_sign(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
gnutls_x509_privkey_t issuer_key);
-int gnutls_x509_crl_sign2(gnutls_x509_crl_t crl,
- gnutls_x509_crt_t issuer,
+int gnutls_x509_crl_sign2(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
gnutls_x509_privkey_t issuer_key,
gnutls_digest_algorithm_t dig, unsigned int flags);
time_t gnutls_x509_crt_get_activation_time(gnutls_x509_crt_t cert);
/* This macro is deprecated and defunc; do not use */
-# define GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION ((time_t)4294197631)
+#define GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION ((time_t)4294197631)
time_t gnutls_x509_crt_get_expiration_time(gnutls_x509_crt_t cert);
-int gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert,
- void *result, size_t *result_size);
+int gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert, void *result,
+ size_t *result_size);
typedef struct gnutls_x509_spki_st *gnutls_x509_spki_t;
-int gnutls_x509_spki_init(gnutls_x509_spki_t * spki);
+int gnutls_x509_spki_init(gnutls_x509_spki_t *spki);
void gnutls_x509_spki_deinit(gnutls_x509_spki_t spki);
int gnutls_x509_spki_get_rsa_pss_params(gnutls_x509_spki_t spki,
- gnutls_digest_algorithm_t * dig,
+ gnutls_digest_algorithm_t *dig,
unsigned int *salt_size);
void gnutls_x509_spki_set_rsa_pss_params(gnutls_x509_spki_t spki,
@@ -449,54 +417,47 @@ int gnutls_x509_crt_set_spki(gnutls_x509_crt_t crt,
int gnutls_x509_crt_get_spki(gnutls_x509_crt_t cert, gnutls_x509_spki_t spki,
unsigned int flags);
-int gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt,
- gnutls_datum_t * m, gnutls_datum_t * e);
-int gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y);
+int gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt, gnutls_datum_t *m,
+ gnutls_datum_t *e);
+int gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y);
int gnutls_x509_crt_get_pk_ecc_raw(gnutls_x509_crt_t crt,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x, gnutls_datum_t * y);
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y);
int gnutls_x509_crt_get_pk_gost_raw(gnutls_x509_crt_t crt,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x, gnutls_datum_t * y);
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y);
int gnutls_x509_crt_get_subject_alt_name(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *san,
+ unsigned int seq, void *san,
size_t *san_size,
unsigned int *critical);
int gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *san,
+ unsigned int seq, void *san,
size_t *san_size,
unsigned int *san_type,
unsigned int *critical);
-int gnutls_x509_crt_get_subject_alt_othername_oid(gnutls_x509_crt_t
- cert,
- unsigned int seq,
- void *oid, size_t *oid_size);
+int gnutls_x509_crt_get_subject_alt_othername_oid(gnutls_x509_crt_t cert,
+ unsigned int seq, void *oid,
+ size_t *oid_size);
int gnutls_x509_crt_get_issuer_alt_name(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *ian,
+ unsigned int seq, void *ian,
size_t *ian_size,
unsigned int *critical);
int gnutls_x509_crt_get_issuer_alt_name2(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *ian,
+ unsigned int seq, void *ian,
size_t *ian_size,
unsigned int *ian_type,
unsigned int *critical);
-int gnutls_x509_crt_get_issuer_alt_othername_oid(gnutls_x509_crt_t
- cert,
- unsigned int seq,
- void *ret, size_t *ret_size);
+int gnutls_x509_crt_get_issuer_alt_othername_oid(gnutls_x509_crt_t cert,
+ unsigned int seq, void *ret,
+ size_t *ret_size);
int gnutls_x509_crt_get_ca_status(gnutls_x509_crt_t cert,
unsigned int *critical);
@@ -511,26 +472,22 @@ int gnutls_x509_crt_get_key_usage(gnutls_x509_crt_t cert,
unsigned int *key_usage,
unsigned int *critical);
int gnutls_x509_crt_set_key_usage(gnutls_x509_crt_t crt, unsigned int usage);
-int gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t
- crt, int what,
- gnutls_datum_t * data);
+int gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt, int what,
+ gnutls_datum_t *data);
int gnutls_x509_crt_get_inhibit_anypolicy(gnutls_x509_crt_t cert,
unsigned int *skipcerts,
unsigned int *critical);
-int
-gnutls_x509_crt_set_inhibit_anypolicy(gnutls_x509_crt_t crt,
- unsigned int skipcerts);
-
-int gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert,
- unsigned int *critical,
- int *pathlen,
- char **policyLanguage,
+int gnutls_x509_crt_set_inhibit_anypolicy(gnutls_x509_crt_t crt,
+ unsigned int skipcerts);
+
+int gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert, unsigned int *critical,
+ int *pathlen, char **policyLanguage,
char **policy, size_t *sizeof_policy);
typedef struct gnutls_x509_tlsfeatures_st *gnutls_x509_tlsfeatures_t;
-int gnutls_x509_tlsfeatures_init(gnutls_x509_tlsfeatures_t * features);
+int gnutls_x509_tlsfeatures_init(gnutls_x509_tlsfeatures_t *features);
void gnutls_x509_tlsfeatures_deinit(gnutls_x509_tlsfeatures_t);
int gnutls_x509_tlsfeatures_get(gnutls_x509_tlsfeatures_t f, unsigned idx,
unsigned int *feature);
@@ -545,9 +502,9 @@ int gnutls_x509_crt_get_tlsfeatures(gnutls_x509_crt_t cert,
unsigned gnutls_x509_tlsfeatures_check_crt(gnutls_x509_tlsfeatures_t feat,
gnutls_x509_crt_t crt);
-# define GNUTLS_MAX_QUALIFIERS 8
+#define GNUTLS_MAX_QUALIFIERS 8
- /**
+/**
* gnutls_x509_qualifier_t:
* @GNUTLS_X509_QUALIFIER_UNKNOWN: Unknown qualifier.
* @GNUTLS_X509_QUALIFIER_URI: A URL
@@ -556,7 +513,8 @@ unsigned gnutls_x509_tlsfeatures_check_crt(gnutls_x509_tlsfeatures_t feat,
* Enumeration of types for the X.509 qualifiers, of the certificate policy extension.
*/
typedef enum gnutls_x509_qualifier_t {
- GNUTLS_X509_QUALIFIER_UNKNOWN = 0, GNUTLS_X509_QUALIFIER_URI,
+ GNUTLS_X509_QUALIFIER_UNKNOWN = 0,
+ GNUTLS_X509_QUALIFIER_URI,
GNUTLS_X509_QUALIFIER_NOTICE
} gnutls_x509_qualifier_t;
@@ -570,51 +528,44 @@ typedef struct gnutls_x509_policy_st {
} qualifier[GNUTLS_MAX_QUALIFIERS];
} gnutls_x509_policy_st;
-void gnutls_x509_policy_release(struct gnutls_x509_policy_st
- *policy);
-int gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx, struct gnutls_x509_policy_st
- *policy, unsigned int *critical);
-int gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt, const struct gnutls_x509_policy_st
- *policy, unsigned int critical);
+void gnutls_x509_policy_release(struct gnutls_x509_policy_st *policy);
+int gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,
+ struct gnutls_x509_policy_st *policy,
+ unsigned int *critical);
+int gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,
+ const struct gnutls_x509_policy_st *policy,
+ unsigned int critical);
int gnutls_x509_dn_oid_known(const char *oid);
-# define GNUTLS_X509_DN_OID_RETURN_OID 1
+#define GNUTLS_X509_DN_OID_RETURN_OID 1
const char *gnutls_x509_dn_oid_name(const char *oid, unsigned int flags);
- /* Read extensions by OID. */
-int gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert,
- unsigned indx, void *oid,
- size_t *oid_size);
+/* Read extensions by OID. */
+int gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size);
int gnutls_x509_crt_get_extension_by_oid(gnutls_x509_crt_t cert,
const char *oid, unsigned indx,
- void *buf,
- size_t *buf_size,
+ void *buf, size_t *buf_size,
unsigned int *critical);
int gnutls_x509_crq_get_signature_algorithm(gnutls_x509_crq_t crq);
-int
-gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,
- const char *oid, unsigned indx,
- gnutls_datum_t * output,
- unsigned int *critical);
-
- /* Read extensions by sequence number. */
-int gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert,
- unsigned indx, void *oid,
- size_t *oid_size,
+int gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,
+ const char *oid, unsigned indx,
+ gnutls_datum_t *output,
+ unsigned int *critical);
+
+/* Read extensions by sequence number. */
+int gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size,
unsigned int *critical);
-int gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert,
- unsigned indx, void *data,
- size_t *sizeof_data);
-int
-gnutls_x509_crt_get_extension_data2(gnutls_x509_crt_t cert,
- unsigned indx, gnutls_datum_t * data);
-
-int gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt,
- const char *oid,
- const void *buf,
- size_t sizeof_buf,
+int gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert, unsigned indx,
+ void *data, size_t *sizeof_data);
+int gnutls_x509_crt_get_extension_data2(gnutls_x509_crt_t cert, unsigned indx,
+ gnutls_datum_t *data);
+
+int gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt, const char *oid,
+ const void *buf, size_t sizeof_buf,
unsigned int critical);
/* X.509 Certificate writing.
@@ -622,17 +573,15 @@ int gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt,
int gnutls_x509_crt_set_dn(gnutls_x509_crt_t crt, const char *dn,
const char **err);
-int gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt,
- const char *oid,
- unsigned int raw_flag,
- const void *name, unsigned int sizeof_name);
-int gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt,
- const char *oid,
+int gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
+ unsigned int raw_flag, const void *name,
+ unsigned int sizeof_name);
+int gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
unsigned int raw_flag,
const void *name,
unsigned int sizeof_name);
-int gnutls_x509_crt_set_issuer_dn(gnutls_x509_crt_t crt,
- const char *dn, const char **err);
+int gnutls_x509_crt_set_issuer_dn(gnutls_x509_crt_t crt, const char *dn,
+ const char **err);
int gnutls_x509_crt_set_version(gnutls_x509_crt_t crt, unsigned int version);
int gnutls_x509_crt_set_key(gnutls_x509_crt_t crt, gnutls_x509_privkey_t key);
@@ -641,97 +590,83 @@ int gnutls_x509_crt_set_basic_constraints(gnutls_x509_crt_t crt,
unsigned int ca,
int pathLenConstraint);
-int
-gnutls_x509_crt_set_subject_unique_id(gnutls_x509_crt_t cert, const void *id,
- size_t id_size);
-int
-gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const void *id,
- size_t id_size);
-
-int gnutls_x509_crt_set_subject_alternative_name(gnutls_x509_crt_t
- crt,
- gnutls_x509_subject_alt_name_t
- type, const char
- *data_string);
+int gnutls_x509_crt_set_subject_unique_id(gnutls_x509_crt_t cert,
+ const void *id, size_t id_size);
+int gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const void *id,
+ size_t id_size);
+
+int gnutls_x509_crt_set_subject_alternative_name(
+ gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type,
+ const char *data_string);
int gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t
- type, const void *data,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data,
unsigned int data_size,
unsigned int flags);
-int
-gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
- const char *oid,
- const void *data,
- unsigned int data_size,
- unsigned int flags);
+int gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
+ const char *oid, const void *data,
+ unsigned int data_size,
+ unsigned int flags);
int gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t
- type, const void *data,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data,
unsigned int data_size,
unsigned int flags);
-int
-gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
- const char *oid,
- const void *data,
- unsigned int data_size,
- unsigned int flags);
+int gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
+ const char *oid, const void *data,
+ unsigned int data_size,
+ unsigned int flags);
-int gnutls_x509_crt_sign(gnutls_x509_crt_t crt,
- gnutls_x509_crt_t issuer,
+int gnutls_x509_crt_sign(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
gnutls_x509_privkey_t issuer_key);
-int gnutls_x509_crt_sign2(gnutls_x509_crt_t crt,
- gnutls_x509_crt_t issuer,
+int gnutls_x509_crt_sign2(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
gnutls_x509_privkey_t issuer_key,
gnutls_digest_algorithm_t dig, unsigned int flags);
int gnutls_x509_crt_set_activation_time(gnutls_x509_crt_t cert,
time_t act_time);
int gnutls_x509_crt_set_expiration_time(gnutls_x509_crt_t cert,
time_t exp_time);
-int gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert,
- const void *serial, size_t serial_size);
+int gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert, const void *serial,
+ size_t serial_size);
-int gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert,
- const void *id, size_t id_size);
+int gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert, const void *id,
+ size_t id_size);
-int gnutls_x509_crt_set_proxy_dn(gnutls_x509_crt_t crt,
- gnutls_x509_crt_t eecrt,
- unsigned int raw_flag,
- const void *name, unsigned int sizeof_name);
-int gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt,
- int pathLenConstraint,
- const char *policyLanguage,
- const char *policy, size_t sizeof_policy);
+int gnutls_x509_crt_set_proxy_dn(gnutls_x509_crt_t crt, gnutls_x509_crt_t eecrt,
+ unsigned int raw_flag, const void *name,
+ unsigned int sizeof_name);
+int gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt, int pathLenConstraint,
+ const char *policyLanguage, const char *policy,
+ size_t sizeof_policy);
int gnutls_x509_crt_print(gnutls_x509_crt_t cert,
- gnutls_certificate_print_formats_t
- format, gnutls_datum_t * out);
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out);
int gnutls_x509_crl_print(gnutls_x509_crl_t crl,
- gnutls_certificate_print_formats_t
- format, gnutls_datum_t * out);
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out);
- /* Access to internal Certificate fields.
+/* Access to internal Certificate fields.
*/
int gnutls_x509_crt_get_raw_issuer_dn(gnutls_x509_crt_t cert,
- gnutls_datum_t * start);
-int gnutls_x509_crt_get_raw_dn(gnutls_x509_crt_t cert, gnutls_datum_t * start);
+ gnutls_datum_t *start);
+int gnutls_x509_crt_get_raw_dn(gnutls_x509_crt_t cert, gnutls_datum_t *start);
/* RDN handling.
*/
-int gnutls_x509_rdn_get(const gnutls_datum_t * idn,
- char *buf, size_t *sizeof_buf);
-int
-gnutls_x509_rdn_get2(const gnutls_datum_t * idn,
- gnutls_datum_t * str, unsigned flags);
-
-int gnutls_x509_rdn_get_oid(const gnutls_datum_t * idn,
- unsigned indx, void *buf, size_t *sizeof_buf);
-
-int gnutls_x509_rdn_get_by_oid(const gnutls_datum_t * idn,
- const char *oid, unsigned indx,
- unsigned int raw_flag, void *buf,
+int gnutls_x509_rdn_get(const gnutls_datum_t *idn, char *buf,
+ size_t *sizeof_buf);
+int gnutls_x509_rdn_get2(const gnutls_datum_t *idn, gnutls_datum_t *str,
+ unsigned flags);
+
+int gnutls_x509_rdn_get_oid(const gnutls_datum_t *idn, unsigned indx, void *buf,
+ size_t *sizeof_buf);
+
+int gnutls_x509_rdn_get_by_oid(const gnutls_datum_t *idn, const char *oid,
+ unsigned indx, unsigned int raw_flag, void *buf,
size_t *sizeof_buf);
typedef struct gnutls_x509_dn_st *gnutls_x509_dn_t;
@@ -742,65 +677,61 @@ typedef struct gnutls_x509_ava_st {
unsigned long value_tag;
} gnutls_x509_ava_st;
-int gnutls_x509_crt_get_subject(gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn);
-int gnutls_x509_crt_get_issuer(gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn);
-int gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn, int irdn,
- int iava, gnutls_x509_ava_st * ava);
+int gnutls_x509_crt_get_subject(gnutls_x509_crt_t cert, gnutls_x509_dn_t *dn);
+int gnutls_x509_crt_get_issuer(gnutls_x509_crt_t cert, gnutls_x509_dn_t *dn);
+int gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn, int irdn, int iava,
+ gnutls_x509_ava_st *ava);
-int gnutls_x509_dn_get_str(gnutls_x509_dn_t dn, gnutls_datum_t * str);
+int gnutls_x509_dn_get_str(gnutls_x509_dn_t dn, gnutls_datum_t *str);
-# define GNUTLS_X509_DN_FLAG_COMPAT 1
-int gnutls_x509_dn_get_str2(gnutls_x509_dn_t dn, gnutls_datum_t * str,
+#define GNUTLS_X509_DN_FLAG_COMPAT 1
+int gnutls_x509_dn_get_str2(gnutls_x509_dn_t dn, gnutls_datum_t *str,
unsigned flags);
-int
-gnutls_x509_dn_set_str(gnutls_x509_dn_t dn, const char *str, const char **err);
+int gnutls_x509_dn_set_str(gnutls_x509_dn_t dn, const char *str,
+ const char **err);
-int gnutls_x509_dn_init(gnutls_x509_dn_t * dn);
+int gnutls_x509_dn_init(gnutls_x509_dn_t *dn);
-int gnutls_x509_dn_import(gnutls_x509_dn_t dn, const gnutls_datum_t * data);
+int gnutls_x509_dn_import(gnutls_x509_dn_t dn, const gnutls_datum_t *data);
-int gnutls_x509_dn_export(gnutls_x509_dn_t dn,
- gnutls_x509_crt_fmt_t format,
+int gnutls_x509_dn_export(gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
-int gnutls_x509_dn_export2(gnutls_x509_dn_t dn,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
+int gnutls_x509_dn_export2(gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out);
void gnutls_x509_dn_deinit(gnutls_x509_dn_t dn);
/* CRL handling functions.
*/
-int gnutls_x509_crl_init(gnutls_x509_crl_t * crl);
+int gnutls_x509_crl_init(gnutls_x509_crl_t *crl);
void gnutls_x509_crl_deinit(gnutls_x509_crl_t crl);
-int gnutls_x509_crl_import(gnutls_x509_crl_t crl,
- const gnutls_datum_t * data,
+int gnutls_x509_crl_import(gnutls_x509_crl_t crl, const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format);
-int gnutls_x509_crl_export(gnutls_x509_crl_t crl,
- gnutls_x509_crt_fmt_t format,
+int gnutls_x509_crl_export(gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
-int gnutls_x509_crl_export2(gnutls_x509_crl_t crl,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
+int gnutls_x509_crl_export2(gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out);
-int
-gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl, gnutls_datum_t * dn);
+int gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl,
+ gnutls_datum_t *dn);
-int gnutls_x509_crl_get_issuer_dn(gnutls_x509_crl_t crl,
- char *buf, size_t *sizeof_buf);
-int gnutls_x509_crl_get_issuer_dn2(gnutls_x509_crl_t crl, gnutls_datum_t * dn);
-int gnutls_x509_crl_get_issuer_dn3(gnutls_x509_crl_t crl,
- gnutls_datum_t * dn, unsigned flags);
+int gnutls_x509_crl_get_issuer_dn(gnutls_x509_crl_t crl, char *buf,
+ size_t *sizeof_buf);
+int gnutls_x509_crl_get_issuer_dn2(gnutls_x509_crl_t crl, gnutls_datum_t *dn);
+int gnutls_x509_crl_get_issuer_dn3(gnutls_x509_crl_t crl, gnutls_datum_t *dn,
+ unsigned flags);
-int gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl,
- const char *oid, unsigned indx,
- unsigned int raw_flag,
+int gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl, const char *oid,
+ unsigned indx, unsigned int raw_flag,
void *buf, size_t *sizeof_buf);
-int gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl, unsigned indx,
- void *oid, size_t *sizeof_oid);
+int gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl, unsigned indx, void *oid,
+ size_t *sizeof_oid);
int gnutls_x509_crl_get_signature_algorithm(gnutls_x509_crl_t crl);
-int gnutls_x509_crl_get_signature(gnutls_x509_crl_t crl,
- char *sig, size_t *sizeof_sig);
+int gnutls_x509_crl_get_signature(gnutls_x509_crl_t crl, char *sig,
+ size_t *sizeof_sig);
int gnutls_x509_crl_get_version(gnutls_x509_crl_t crl);
int gnutls_x509_crl_get_signature_oid(gnutls_x509_crl_t crl, char *oid,
@@ -811,33 +742,31 @@ time_t gnutls_x509_crl_get_next_update(gnutls_x509_crl_t crl);
int gnutls_x509_crl_get_crt_count(gnutls_x509_crl_t crl);
int gnutls_x509_crl_get_crt_serial(gnutls_x509_crl_t crl, unsigned indx,
- unsigned char *serial,
- size_t *serial_size, time_t * t);
+ unsigned char *serial, size_t *serial_size,
+ time_t *t);
typedef struct gnutls_x509_crl_iter *gnutls_x509_crl_iter_t;
int gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
gnutls_x509_crl_iter_t *,
- unsigned char *serial,
- size_t *serial_size, time_t * t);
+ unsigned char *serial, size_t *serial_size,
+ time_t *t);
void gnutls_x509_crl_iter_deinit(gnutls_x509_crl_iter_t);
-# define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count
-# define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial
+#define gnutls_x509_crl_get_certificate_count gnutls_x509_crl_get_crt_count
+#define gnutls_x509_crl_get_certificate gnutls_x509_crl_get_crt_serial
unsigned gnutls_x509_crl_check_issuer(gnutls_x509_crl_t crl,
gnutls_x509_crt_t issuer);
-int gnutls_x509_crl_list_import2(gnutls_x509_crl_t ** crls,
- unsigned int *size,
- const gnutls_datum_t * data,
+int gnutls_x509_crl_list_import2(gnutls_x509_crl_t **crls, unsigned int *size,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
unsigned int flags);
-int gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
- unsigned int *crl_max,
- const gnutls_datum_t * data,
+int gnutls_x509_crl_list_import(gnutls_x509_crl_t *crls, unsigned int *crl_max,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
unsigned int flags);
/* CRL writing.
@@ -845,51 +774,39 @@ int gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
int gnutls_x509_crl_set_version(gnutls_x509_crl_t crl, unsigned int version);
int gnutls_x509_crl_set_this_update(gnutls_x509_crl_t crl, time_t act_time);
int gnutls_x509_crl_set_next_update(gnutls_x509_crl_t crl, time_t exp_time);
-int gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl,
- const void *serial,
+int gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl, const void *serial,
size_t serial_size, time_t revocation_time);
-int gnutls_x509_crl_set_crt(gnutls_x509_crl_t crl,
- gnutls_x509_crt_t crt, time_t revocation_time);
+int gnutls_x509_crl_set_crt(gnutls_x509_crl_t crl, gnutls_x509_crt_t crt,
+ time_t revocation_time);
-int gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t crl,
- void *id,
+int gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t crl, void *id,
size_t *id_size,
unsigned int *critical);
-int gnutls_x509_crl_get_authority_key_gn_serial(gnutls_x509_crl_t
- crl,
- unsigned int seq,
- void *alt,
- size_t *alt_size, unsigned int
- *alt_type,
- void *serial,
- size_t *serial_size,
- unsigned int
- *critical);
+int gnutls_x509_crl_get_authority_key_gn_serial(
+ gnutls_x509_crl_t crl, unsigned int seq, void *alt, size_t *alt_size,
+ unsigned int *alt_type, void *serial, size_t *serial_size,
+ unsigned int *critical);
int gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,
size_t *ret_size, unsigned int *critical);
-int gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl,
- unsigned indx, void *oid,
- size_t *sizeof_oid);
+int gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, unsigned indx,
+ void *oid, size_t *sizeof_oid);
-int gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl,
- unsigned indx, void *oid,
- size_t *sizeof_oid,
+int gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
+ void *oid, size_t *sizeof_oid,
unsigned int *critical);
-int gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl,
- unsigned indx, void *data,
- size_t *sizeof_data);
-int
-gnutls_x509_crl_get_extension_data2(gnutls_x509_crl_t crl,
- unsigned indx, gnutls_datum_t * data);
+int gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl, unsigned indx,
+ void *data, size_t *sizeof_data);
+int gnutls_x509_crl_get_extension_data2(gnutls_x509_crl_t crl, unsigned indx,
+ gnutls_datum_t *data);
-int gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl,
- const void *id, size_t id_size);
+int gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl, const void *id,
+ size_t id_size);
-int gnutls_x509_crl_set_number(gnutls_x509_crl_t crl,
- const void *nr, size_t nr_size);
+int gnutls_x509_crl_set_number(gnutls_x509_crl_t crl, const void *nr,
+ size_t nr_size);
/* X.509 Certificate verification functions.
*/
@@ -964,10 +881,11 @@ typedef enum gnutls_certificate_verify_flags {
GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS = 1 << 14,
GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 = 1 << 15,
GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH = 1 << 16
- /* cannot exceed 2^24 due to GNUTLS_PROFILE_TO_VFLAGS() */
+ /* cannot exceed 2^24 due to GNUTLS_PROFILE_TO_VFLAGS() */
} gnutls_certificate_verify_flags;
-# define GNUTLS_VERIFY_ALLOW_BROKEN (GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2|GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5)
+#define GNUTLS_VERIFY_ALLOW_BROKEN \
+ (GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2 | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5)
/**
* gnutls_certificate_verification_profiles_t:
@@ -1005,65 +923,59 @@ typedef enum gnutls_certificate_verification_profiles_t {
GNUTLS_PROFILE_SUITEB128 = 32,
GNUTLS_PROFILE_SUITEB192 = 33
- /*GNUTLS_PROFILE_MAX=255 */
+ /*GNUTLS_PROFILE_MAX=255 */
} gnutls_certificate_verification_profiles_t;
-# define GNUTLS_PROFILE_TO_VFLAGS(x) \
- (((unsigned)x)<<24)
+#define GNUTLS_PROFILE_TO_VFLAGS(x) (((unsigned)x) << 24)
-# define GNUTLS_VFLAGS_PROFILE_MASK (0xff000000)
+#define GNUTLS_VFLAGS_PROFILE_MASK (0xff000000)
-# define GNUTLS_VFLAGS_TO_PROFILE(x) \
- ((((unsigned)x)>>24)&0xff)
+#define GNUTLS_VFLAGS_TO_PROFILE(x) ((((unsigned)x) >> 24) & 0xff)
-const char
-*gnutls_certificate_verification_profile_get_name
- (gnutls_certificate_verification_profiles_t id) __GNUTLS_CONST__;
+const char *gnutls_certificate_verification_profile_get_name(
+ gnutls_certificate_verification_profiles_t id) __GNUTLS_CONST__;
gnutls_certificate_verification_profiles_t
gnutls_certificate_verification_profile_get_id(const char *name)
-__GNUTLS_CONST__;
+ __GNUTLS_CONST__;
unsigned gnutls_x509_crt_check_issuer(gnutls_x509_crt_t cert,
gnutls_x509_crt_t issuer);
-int gnutls_x509_crt_list_verify(const gnutls_x509_crt_t *
- cert_list, unsigned cert_list_length,
- const gnutls_x509_crt_t * CA_list,
+int gnutls_x509_crt_list_verify(const gnutls_x509_crt_t *cert_list,
+ unsigned cert_list_length,
+ const gnutls_x509_crt_t *CA_list,
unsigned CA_list_length,
- const gnutls_x509_crl_t * CRL_list,
- unsigned CRL_list_length,
- unsigned int flags, unsigned int *verify);
+ const gnutls_x509_crl_t *CRL_list,
+ unsigned CRL_list_length, unsigned int flags,
+ unsigned int *verify);
int gnutls_x509_crt_verify(gnutls_x509_crt_t cert,
- const gnutls_x509_crt_t * CA_list,
+ const gnutls_x509_crt_t *CA_list,
unsigned CA_list_length, unsigned int flags,
unsigned int *verify);
int gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
- const gnutls_x509_crt_t * CA_list,
+ const gnutls_x509_crt_t *CA_list,
unsigned CA_list_length, unsigned int flags,
unsigned int *verify);
-int
-gnutls_x509_crt_verify_data2(gnutls_x509_crt_t crt,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature);
+int gnutls_x509_crt_verify_data2(gnutls_x509_crt_t crt,
+ gnutls_sign_algorithm_t algo,
+ unsigned int flags, const gnutls_datum_t *data,
+ const gnutls_datum_t *signature);
int gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
- const gnutls_x509_crl_t *
- crl_list, unsigned crl_list_length);
+ const gnutls_x509_crl_t *crl_list,
+ unsigned crl_list_length);
int gnutls_x509_crt_get_fingerprint(gnutls_x509_crt_t cert,
- gnutls_digest_algorithm_t algo,
- void *buf, size_t *buf_size);
+ gnutls_digest_algorithm_t algo, void *buf,
+ size_t *buf_size);
-int gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert,
- unsigned indx, void *oid,
- size_t *oid_size,
+int gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size,
unsigned int *critical);
-int gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert,
- const void *oid, unsigned int critical);
+int gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert, const void *oid,
+ unsigned int critical);
unsigned gnutls_x509_crt_check_key_purpose(gnutls_x509_crt_t cert,
const char *purpose, unsigned flags);
@@ -1074,10 +986,10 @@ unsigned gnutls_x509_crt_check_key_purpose(gnutls_x509_crt_t cert,
/* Flags for the gnutls_x509_privkey_export_pkcs8() function.
*/
-# define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN
-# define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_PKCS12_3DES
-# define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_PKCS12_ARCFOUR
-# define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_PKCS12_RC2_40
+#define GNUTLS_PKCS8_PLAIN GNUTLS_PKCS_PLAIN
+#define GNUTLS_PKCS8_USE_PKCS12_3DES GNUTLS_PKCS_PKCS12_3DES
+#define GNUTLS_PKCS8_USE_PKCS12_ARCFOUR GNUTLS_PKCS_PKCS12_ARCFOUR
+#define GNUTLS_PKCS8_USE_PKCS12_RC2_40 GNUTLS_PKCS_PKCS12_RC2_40
/**
* gnutls_pkcs_encrypt_flags_t:
@@ -1119,25 +1031,25 @@ typedef enum gnutls_pkcs_encrypt_flags_t {
GNUTLS_PKCS_PBES2_GOST_CPD = 1 << 15
} gnutls_pkcs_encrypt_flags_t;
-# define GNUTLS_PKCS_CIPHER_MASK(x) ((x)&(~(GNUTLS_PKCS_NULL_PASSWORD)))
-
-# define GNUTLS_PKCS_USE_PKCS12_3DES GNUTLS_PKCS_PKCS12_3DES
-# define GNUTLS_PKCS_USE_PKCS12_ARCFOUR GNUTLS_PKCS_PKCS12_ARCFOUR
-# define GNUTLS_PKCS_USE_PKCS12_RC2_40 GNUTLS_PKCS_PKCS12_RC2_40
-# define GNUTLS_PKCS_USE_PBES2_3DES GNUTLS_PKCS_PBES2_3DES
-# define GNUTLS_PKCS_USE_PBES2_AES_128 GNUTLS_PKCS_PBES2_AES_128
-# define GNUTLS_PKCS_USE_PBES2_AES_192 GNUTLS_PKCS_PBES2_AES_192
-# define GNUTLS_PKCS_USE_PBES2_AES_256 GNUTLS_PKCS_PBES2_AES_256
-# define GNUTLS_PKCS_USE_PBES2_GOST_TC26Z GNUTLS_PKCS_PBES2_GOST_TC26Z
-# define GNUTLS_PKCS_USE_PBES2_GOST_CPA GNUTLS_PKCS_PBES2_GOST_CPA
-# define GNUTLS_PKCS_USE_PBES2_GOST_CPB GNUTLS_PKCS_PBES2_GOST_CPB
-# define GNUTLS_PKCS_USE_PBES2_GOST_CPC GNUTLS_PKCS_PBES2_GOST_CPC
-# define GNUTLS_PKCS_USE_PBES2_GOST_CPD GNUTLS_PKCS_PBES2_GOST_CPD
+#define GNUTLS_PKCS_CIPHER_MASK(x) ((x) & (~(GNUTLS_PKCS_NULL_PASSWORD)))
+
+#define GNUTLS_PKCS_USE_PKCS12_3DES GNUTLS_PKCS_PKCS12_3DES
+#define GNUTLS_PKCS_USE_PKCS12_ARCFOUR GNUTLS_PKCS_PKCS12_ARCFOUR
+#define GNUTLS_PKCS_USE_PKCS12_RC2_40 GNUTLS_PKCS_PKCS12_RC2_40
+#define GNUTLS_PKCS_USE_PBES2_3DES GNUTLS_PKCS_PBES2_3DES
+#define GNUTLS_PKCS_USE_PBES2_AES_128 GNUTLS_PKCS_PBES2_AES_128
+#define GNUTLS_PKCS_USE_PBES2_AES_192 GNUTLS_PKCS_PBES2_AES_192
+#define GNUTLS_PKCS_USE_PBES2_AES_256 GNUTLS_PKCS_PBES2_AES_256
+#define GNUTLS_PKCS_USE_PBES2_GOST_TC26Z GNUTLS_PKCS_PBES2_GOST_TC26Z
+#define GNUTLS_PKCS_USE_PBES2_GOST_CPA GNUTLS_PKCS_PBES2_GOST_CPA
+#define GNUTLS_PKCS_USE_PBES2_GOST_CPB GNUTLS_PKCS_PBES2_GOST_CPB
+#define GNUTLS_PKCS_USE_PBES2_GOST_CPC GNUTLS_PKCS_PBES2_GOST_CPC
+#define GNUTLS_PKCS_USE_PBES2_GOST_CPD GNUTLS_PKCS_PBES2_GOST_CPD
const char *gnutls_pkcs_schema_get_name(unsigned int schema);
const char *gnutls_pkcs_schema_get_oid(unsigned int schema);
-int gnutls_x509_privkey_init(gnutls_x509_privkey_t * key);
+int gnutls_x509_privkey_init(gnutls_x509_privkey_t *key);
void gnutls_x509_privkey_deinit(gnutls_x509_privkey_t key);
gnutls_sec_param_t gnutls_x509_privkey_sec_param(gnutls_x509_privkey_t key);
@@ -1148,78 +1060,73 @@ void gnutls_x509_privkey_set_pin_function(gnutls_x509_privkey_t key,
int gnutls_x509_privkey_cpy(gnutls_x509_privkey_t dst,
gnutls_x509_privkey_t src);
int gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format);
int gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
const char *password, unsigned int flags);
int gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
const char *password);
-int
-gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format,
- unsigned int *schema, unsigned int *cipher,
- void *salt, unsigned int *salt_size,
- unsigned int *iter_count, char **oid);
+int gnutls_pkcs8_info(const gnutls_datum_t *data, gnutls_x509_crt_fmt_t format,
+ unsigned int *schema, unsigned int *cipher, void *salt,
+ unsigned int *salt_size, unsigned int *iter_count,
+ char **oid);
int gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
const char *password, unsigned int flags);
int gnutls_x509_privkey_import_rsa_raw(gnutls_x509_privkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e,
- const gnutls_datum_t * d,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * u);
-int gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e,
- const gnutls_datum_t * d,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * u,
- const gnutls_datum_t * e1,
- const gnutls_datum_t * e2);
+ const gnutls_datum_t *m,
+ const gnutls_datum_t *e,
+ const gnutls_datum_t *d,
+ const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *u);
+int gnutls_x509_privkey_import_rsa_raw2(
+ gnutls_x509_privkey_t key, const gnutls_datum_t *m,
+ const gnutls_datum_t *e, const gnutls_datum_t *d,
+ const gnutls_datum_t *p, const gnutls_datum_t *q,
+ const gnutls_datum_t *u, const gnutls_datum_t *e1,
+ const gnutls_datum_t *e2);
int gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k);
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k);
int gnutls_x509_privkey_import_gost_raw(gnutls_x509_privkey_t key,
gnutls_ecc_curve_t curve,
gnutls_digest_algorithm_t digest,
gnutls_gost_paramset_t paramset,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k);
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k);
int gnutls_x509_privkey_fix(gnutls_x509_privkey_t key);
int gnutls_x509_privkey_export_dsa_raw(gnutls_x509_privkey_t key,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g,
- gnutls_datum_t * y, gnutls_datum_t * x);
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x);
int gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * g,
- const gnutls_datum_t * y,
- const gnutls_datum_t * x);
+ const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *g,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *x);
int gnutls_x509_privkey_get_pk_algorithm(gnutls_x509_privkey_t key);
-int gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t
- key, unsigned int *bits);
+int gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t key,
+ unsigned int *bits);
int gnutls_x509_privkey_get_spki(gnutls_x509_privkey_t key,
gnutls_x509_spki_t spki, unsigned int flags);
-int
-gnutls_x509_privkey_set_spki(gnutls_x509_privkey_t key,
- const gnutls_x509_spki_t spki, unsigned int flags);
+int gnutls_x509_privkey_set_spki(gnutls_x509_privkey_t key,
+ const gnutls_x509_spki_t spki,
+ unsigned int flags);
int gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,
unsigned int flags,
@@ -1227,8 +1134,8 @@ int gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,
size_t *output_data_size);
int gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,
- gnutls_pk_algorithm_t algo,
- unsigned int bits, unsigned int flags);
+ gnutls_pk_algorithm_t algo, unsigned int bits,
+ unsigned int flags);
void gnutls_x509_privkey_set_flags(gnutls_x509_privkey_t key,
unsigned int flags);
@@ -1253,12 +1160,11 @@ typedef struct {
unsigned int size;
} gnutls_keygen_data_st;
-int
-gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags,
- const gnutls_keygen_data_st * data,
- unsigned data_size);
+int gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
+ gnutls_pk_algorithm_t algo, unsigned int bits,
+ unsigned int flags,
+ const gnutls_keygen_data_st *data,
+ unsigned data_size);
int gnutls_x509_privkey_verify_seed(gnutls_x509_privkey_t key,
gnutls_digest_algorithm_t, const void *seed,
@@ -1270,85 +1176,73 @@ int gnutls_x509_privkey_get_seed(gnutls_x509_privkey_t key,
int gnutls_x509_privkey_verify_params(gnutls_x509_privkey_t key);
int gnutls_x509_privkey_export(gnutls_x509_privkey_t key,
- gnutls_x509_crt_fmt_t format,
- void *output_data, size_t *output_data_size);
+ gnutls_x509_crt_fmt_t format, void *output_data,
+ size_t *output_data_size);
int gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,
gnutls_x509_crt_fmt_t format,
- gnutls_datum_t * out);
+ gnutls_datum_t *out);
int gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,
gnutls_x509_crt_fmt_t format,
- const char *password,
- unsigned int flags,
+ const char *password, unsigned int flags,
void *output_data,
size_t *output_data_size);
int gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,
gnutls_x509_crt_fmt_t format,
- const char *password,
- unsigned int flags, gnutls_datum_t * out);
+ const char *password, unsigned int flags,
+ gnutls_datum_t *out);
int gnutls_x509_privkey_export_rsa_raw2(gnutls_x509_privkey_t key,
- gnutls_datum_t * m,
- gnutls_datum_t * e,
- gnutls_datum_t * d,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * u,
- gnutls_datum_t * e1,
- gnutls_datum_t * e2);
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u,
+ gnutls_datum_t *e1, gnutls_datum_t *e2);
int gnutls_x509_privkey_export_rsa_raw(gnutls_x509_privkey_t key,
- gnutls_datum_t * m,
- gnutls_datum_t * e,
- gnutls_datum_t * d,
- gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u);
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u);
int gnutls_x509_privkey_export_ecc_raw(gnutls_x509_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * k);
+ gnutls_ecc_curve_t *curve,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k);
int gnutls_x509_privkey_export_gost_raw(gnutls_x509_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * k);
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k);
int gnutls_x509_privkey_sign_data(gnutls_x509_privkey_t key,
gnutls_digest_algorithm_t digest,
unsigned int flags,
- const gnutls_datum_t * data,
- void *signature, size_t *signature_size);
+ const gnutls_datum_t *data, void *signature,
+ size_t *signature_size);
/* Certificate request stuff.
*/
int gnutls_x509_crq_sign(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key);
-int gnutls_x509_crq_sign2(gnutls_x509_crq_t crq,
- gnutls_x509_privkey_t key,
+int gnutls_x509_crq_sign2(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key,
gnutls_digest_algorithm_t dig, unsigned int flags);
int gnutls_x509_crq_print(gnutls_x509_crq_t crq,
- gnutls_certificate_print_formats_t
- format, gnutls_datum_t * out);
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out);
int gnutls_x509_crq_verify(gnutls_x509_crq_t crq, unsigned int flags);
-int gnutls_x509_crq_init(gnutls_x509_crq_t * crq);
+int gnutls_x509_crq_init(gnutls_x509_crq_t *crq);
void gnutls_x509_crq_deinit(gnutls_x509_crq_t crq);
-int gnutls_x509_crq_import(gnutls_x509_crq_t crq,
- const gnutls_datum_t * data,
+int gnutls_x509_crq_import(gnutls_x509_crq_t crq, const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format);
-int gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t
- cert,
- time_t *
- activation,
- time_t *
- expiration, unsigned int
- *critical);
+int gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t cert,
+ time_t *activation,
+ time_t *expiration,
+ unsigned int *critical);
int gnutls_x509_crq_get_dn(gnutls_x509_crq_t crq, char *buf,
size_t *sizeof_buf);
-int gnutls_x509_crq_get_dn2(gnutls_x509_crq_t crq, gnutls_datum_t * dn);
-int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t * dn,
+int gnutls_x509_crq_get_dn2(gnutls_x509_crq_t crq, gnutls_datum_t *dn);
+int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t *dn,
unsigned flags);
int gnutls_x509_crq_get_dn_oid(gnutls_x509_crq_t crq, unsigned indx, void *oid,
size_t *sizeof_oid);
@@ -1364,85 +1258,72 @@ int gnutls_x509_crq_set_version(gnutls_x509_crq_t crq, unsigned int version);
int gnutls_x509_crq_get_version(gnutls_x509_crq_t crq);
int gnutls_x509_crq_set_key(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key);
-int
-gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq,
- const char *oid, const void *buf,
- size_t sizeof_buf, unsigned int critical);
+int gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ const void *buf, size_t sizeof_buf,
+ unsigned int critical);
int gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq,
const char *pass);
-int gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq,
- char *pass, size_t *sizeof_pass);
+int gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq, char *pass,
+ size_t *sizeof_pass);
-int gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq,
- const char *oid,
+int gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq, const char *oid,
void *buf, size_t sizeof_buf);
-int gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq,
- const char *oid, unsigned indx,
- void *buf, size_t *sizeof_buf);
+int gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ unsigned indx, void *buf,
+ size_t *sizeof_buf);
-int gnutls_x509_crq_export(gnutls_x509_crq_t crq,
- gnutls_x509_crt_fmt_t format,
+int gnutls_x509_crq_export(gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t format,
void *output_data, size_t *output_data_size);
-int gnutls_x509_crq_export2(gnutls_x509_crq_t crq,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out);
+int gnutls_x509_crq_export2(gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out);
int gnutls_x509_crt_set_crq(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq);
int gnutls_x509_crt_set_crq_extensions(gnutls_x509_crt_t crt,
gnutls_x509_crq_t crq);
-int
-gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
- gnutls_x509_crq_t crq, const char *oid,
- unsigned flags);
+int gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
+ gnutls_x509_crq_t crq,
+ const char *oid, unsigned flags);
-int gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t
- crq,
+int gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t crq,
time_t activation,
time_t expiration);
int gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e);
+ const gnutls_datum_t *m,
+ const gnutls_datum_t *e);
int gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
- gnutls_x509_subject_alt_name_t
- nt, const void *data,
+ gnutls_x509_subject_alt_name_t nt,
+ const void *data,
unsigned int data_size,
unsigned int flags);
-int
-gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
- const char *oid,
- const void *data,
- unsigned int data_size,
- unsigned int flags);
+int gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
+ const char *oid, const void *data,
+ unsigned int data_size,
+ unsigned int flags);
int gnutls_x509_crq_set_key_usage(gnutls_x509_crq_t crq, unsigned int usage);
int gnutls_x509_crq_set_basic_constraints(gnutls_x509_crq_t crq,
unsigned int ca,
int pathLenConstraint);
-int gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
- const void *oid, unsigned int critical);
-int gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq,
- unsigned indx, void *oid,
- size_t *sizeof_oid,
+int gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq, const void *oid,
+ unsigned int critical);
+int gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq, unsigned indx,
+ void *oid, size_t *sizeof_oid,
unsigned int *critical);
-int gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t crq,
- unsigned indx, void *data,
- size_t *sizeof_data);
-int
-gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
- unsigned indx, gnutls_datum_t * data);
-int gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq,
- unsigned indx, void *oid,
- size_t *sizeof_oid,
+int gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t crq, unsigned indx,
+ void *data, size_t *sizeof_data);
+int gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq, unsigned indx,
+ gnutls_datum_t *data);
+int gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
+ void *oid, size_t *sizeof_oid,
unsigned int *critical);
-int gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t crq,
- unsigned indx, void *data,
- size_t *sizeof_data);
-int gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq,
- unsigned indx, void *oid,
- size_t *sizeof_oid);
+int gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t crq, unsigned indx,
+ void *data, size_t *sizeof_data);
+int gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq, unsigned indx,
+ void *oid, size_t *sizeof_oid);
int gnutls_x509_crq_get_pk_algorithm(gnutls_x509_crq_t crq, unsigned int *bits);
int gnutls_x509_crq_get_spki(gnutls_x509_crq_t crq, gnutls_x509_spki_t spki,
unsigned int flags);
@@ -1455,12 +1336,11 @@ int gnutls_x509_crq_get_signature_oid(gnutls_x509_crq_t crq, char *oid,
int gnutls_x509_crq_get_pk_oid(gnutls_x509_crq_t crq, char *oid,
size_t *oid_size);
-int gnutls_x509_crq_get_key_id(gnutls_x509_crq_t crq,
- unsigned int flags,
+int gnutls_x509_crq_get_key_id(gnutls_x509_crq_t crq, unsigned int flags,
unsigned char *output_data,
size_t *output_data_size);
-int gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq,
- gnutls_datum_t * m, gnutls_datum_t * e);
+int gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq, gnutls_datum_t *m,
+ gnutls_datum_t *e);
int gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t crq,
unsigned int *key_usage,
@@ -1469,19 +1349,16 @@ int gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,
unsigned int *critical,
unsigned int *ca, int *pathlen);
int gnutls_x509_crq_get_subject_alt_name(gnutls_x509_crq_t crq,
- unsigned int seq,
- void *ret,
+ unsigned int seq, void *ret,
size_t *ret_size,
unsigned int *ret_type,
unsigned int *critical);
-int gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t
- crq,
- unsigned int seq,
- void *ret, size_t *ret_size);
+int gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t crq,
+ unsigned int seq, void *ret,
+ size_t *ret_size);
-int gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq,
- const char *oid, unsigned indx,
- void *buf,
+int gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ unsigned indx, void *buf,
size_t *sizeof_buf,
unsigned int *critical);
@@ -1491,40 +1368,34 @@ int gnutls_x509_crq_get_tlsfeatures(gnutls_x509_crq_t crq,
int gnutls_x509_crq_set_tlsfeatures(gnutls_x509_crq_t crq,
gnutls_x509_tlsfeatures_t features);
-int
-gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,
- const char *oid, unsigned indx,
- gnutls_datum_t * output,
- unsigned int *critical);
+int gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,
+ const char *oid, unsigned indx,
+ gnutls_datum_t *output,
+ unsigned int *critical);
typedef struct gnutls_x509_trust_list_st *gnutls_x509_trust_list_t;
typedef struct gnutls_x509_trust_list_iter *gnutls_x509_trust_list_iter_t;
-int
-gnutls_x509_trust_list_init(gnutls_x509_trust_list_t * list, unsigned int size);
+int gnutls_x509_trust_list_init(gnutls_x509_trust_list_t *list,
+ unsigned int size);
-void
-gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list, unsigned int all);
+void gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list,
+ unsigned int all);
-int gnutls_x509_trust_list_get_issuer(gnutls_x509_trust_list_t
- list, gnutls_x509_crt_t cert,
- gnutls_x509_crt_t * issuer,
+int gnutls_x509_trust_list_get_issuer(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t *issuer,
unsigned int flags);
int gnutls_x509_trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
- const gnutls_datum_t * dn,
- gnutls_x509_crt_t * issuer,
+ const gnutls_datum_t *dn,
+ gnutls_x509_crt_t *issuer,
unsigned int flags);
-int gnutls_x509_trust_list_get_issuer_by_subject_key_id(gnutls_x509_trust_list_t
- list,
- const gnutls_datum_t *
- dn,
- const gnutls_datum_t *
- spki,
- gnutls_x509_crt_t *
- issuer,
- unsigned int flags);
+int gnutls_x509_trust_list_get_issuer_by_subject_key_id(
+ gnutls_x509_trust_list_t list, const gnutls_datum_t *dn,
+ const gnutls_datum_t *spki, gnutls_x509_crt_t *issuer,
+ unsigned int flags);
/**
* gnutls_trust_list_flags_t:
* @GNUTLS_TL_VERIFY_CRL: If any CRLs are provided they will be verified for validity
@@ -1547,151 +1418,125 @@ int gnutls_x509_trust_list_get_issuer_by_subject_key_id(gnutls_x509_trust_list_t
*/
typedef enum gnutls_trust_list_flags_t {
GNUTLS_TL_VERIFY_CRL = 1,
-# define GNUTLS_TL_VERIFY_CRL 1
+#define GNUTLS_TL_VERIFY_CRL 1
GNUTLS_TL_USE_IN_TLS = (1 << 1),
-# define GNUTLS_TL_USE_IN_TLS (1<<1)
+#define GNUTLS_TL_USE_IN_TLS (1 << 1)
GNUTLS_TL_NO_DUPLICATES = (1 << 2),
-# define GNUTLS_TL_NO_DUPLICATES (1<<2)
+#define GNUTLS_TL_NO_DUPLICATES (1 << 2)
GNUTLS_TL_NO_DUPLICATE_KEY = (1 << 3),
-# define GNUTLS_TL_NO_DUPLICATE_KEY (1<<3)
+#define GNUTLS_TL_NO_DUPLICATE_KEY (1 << 3)
GNUTLS_TL_GET_COPY = (1 << 4),
-# define GNUTLS_TL_GET_COPY (1<<4)
+#define GNUTLS_TL_GET_COPY (1 << 4)
GNUTLS_TL_FAIL_ON_INVALID_CRL = (1 << 5)
-# define GNUTLS_TL_FAIL_ON_INVALID_CRL (1<<5)
+#define GNUTLS_TL_FAIL_ON_INVALID_CRL (1 << 5)
} gnutls_trust_list_flags_t;
-int
-gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
- const gnutls_x509_crt_t * clist,
- unsigned clist_size, unsigned int flags);
-int gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t
- list,
- const gnutls_x509_crt_t *
- clist, unsigned clist_size);
-
-int gnutls_x509_trust_list_add_named_crt(gnutls_x509_trust_list_t
- list,
+int gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
+ const gnutls_x509_crt_t *clist,
+ unsigned clist_size, unsigned int flags);
+int gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t list,
+ const gnutls_x509_crt_t *clist,
+ unsigned clist_size);
+
+int gnutls_x509_trust_list_add_named_crt(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t cert,
- const void *name,
- size_t name_size, unsigned int flags);
+ const void *name, size_t name_size,
+ unsigned int flags);
-int
-gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
- const gnutls_x509_crl_t *
- crl_list, unsigned crl_size,
- unsigned int flags,
- unsigned int verification_flags);
+int gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
+ const gnutls_x509_crl_t *crl_list,
+ unsigned crl_size, unsigned int flags,
+ unsigned int verification_flags);
-int
-gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,
- gnutls_x509_trust_list_iter_t * iter,
- gnutls_x509_crt_t * crt);
+int gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,
+ gnutls_x509_trust_list_iter_t *iter,
+ gnutls_x509_crt_t *crt);
void gnutls_x509_trust_list_iter_deinit(gnutls_x509_trust_list_iter_t iter);
-typedef int gnutls_verify_output_function(gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer,
- /* The issuer if verification failed
+typedef int gnutls_verify_output_function(
+ gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ /* The issuer if verification failed
* because of him. might be null.
*/
- gnutls_x509_crl_t crl, /* The CRL that caused verification failure
+ gnutls_x509_crl_t crl, /* The CRL that caused verification failure
* if any. Might be null.
*/
- unsigned int verification_output);
-
-void gnutls_session_set_verify_output_function(gnutls_session_t session,
- gnutls_verify_output_function *
- func);
-
-int gnutls_x509_trust_list_verify_named_crt
- (gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert,
- const void *name, size_t name_size, unsigned int flags,
- unsigned int *verify, gnutls_verify_output_function func);
-
-int
-gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t * cert_list,
- unsigned int cert_list_size,
- gnutls_typed_vdata_st * data,
- unsigned int elements,
- unsigned int flags,
- unsigned int *voutput,
- gnutls_verify_output_function func);
-
-int
-gnutls_x509_trust_list_verify_crt(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t * cert_list,
- unsigned int cert_list_size,
- unsigned int flags,
- unsigned int *verify,
- gnutls_verify_output_function func);
-
- /* trust list convenience functions */
-int
-gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t
- list,
- const gnutls_datum_t * cas,
- const gnutls_datum_t * crls,
- gnutls_x509_crt_fmt_t type,
- unsigned int tl_flags,
- unsigned int tl_vflags);
-
-int
-gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t
- list, const char *ca_file,
- const char *crl_file,
- gnutls_x509_crt_fmt_t type,
- unsigned int tl_flags,
- unsigned int tl_vflags);
-
-int
-gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t list,
- const char *ca_dir,
- const char *crl_dir,
- gnutls_x509_crt_fmt_t type,
- unsigned int tl_flags,
- unsigned int tl_vflags);
-
-int
-gnutls_x509_trust_list_remove_trust_file(gnutls_x509_trust_list_t
- list,
- const char *ca_file,
- gnutls_x509_crt_fmt_t type);
-
-int
-gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t
- list,
- const gnutls_datum_t *
- cas, gnutls_x509_crt_fmt_t type);
-
-int
-gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t
- list,
- unsigned int tl_flags,
- unsigned int tl_vflags);
-
-typedef int gnutls_x509_trust_list_getissuer_function(gnutls_x509_trust_list_t
- list,
- const gnutls_x509_crt_t
- cert,
- gnutls_x509_crt_t **
- issuers, unsigned int
- *issuers_size);
-
-void gnutls_x509_trust_list_set_getissuer_function(gnutls_x509_trust_list_t
- tlist,
- gnutls_x509_trust_list_getissuer_function
- * func);
+ unsigned int verification_output);
+
+void gnutls_session_set_verify_output_function(
+ gnutls_session_t session, gnutls_verify_output_function *func);
+
+int gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t cert,
+ const void *name, size_t name_size,
+ unsigned int flags,
+ unsigned int *verify,
+ gnutls_verify_output_function func);
+
+int gnutls_x509_trust_list_verify_crt2(
+ gnutls_x509_trust_list_t list, gnutls_x509_crt_t *cert_list,
+ unsigned int cert_list_size, gnutls_typed_vdata_st *data,
+ unsigned int elements, unsigned int flags, unsigned int *voutput,
+ gnutls_verify_output_function func);
+
+int gnutls_x509_trust_list_verify_crt(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t *cert_list,
+ unsigned int cert_list_size,
+ unsigned int flags, unsigned int *verify,
+ gnutls_verify_output_function func);
+
+/* trust list convenience functions */
+int gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t list,
+ const gnutls_datum_t *cas,
+ const gnutls_datum_t *crls,
+ gnutls_x509_crt_fmt_t type,
+ unsigned int tl_flags,
+ unsigned int tl_vflags);
+
+int gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t list,
+ const char *ca_file,
+ const char *crl_file,
+ gnutls_x509_crt_fmt_t type,
+ unsigned int tl_flags,
+ unsigned int tl_vflags);
+
+int gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t list,
+ const char *ca_dir,
+ const char *crl_dir,
+ gnutls_x509_crt_fmt_t type,
+ unsigned int tl_flags,
+ unsigned int tl_vflags);
+
+int gnutls_x509_trust_list_remove_trust_file(gnutls_x509_trust_list_t list,
+ const char *ca_file,
+ gnutls_x509_crt_fmt_t type);
+
+int gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t list,
+ const gnutls_datum_t *cas,
+ gnutls_x509_crt_fmt_t type);
+
+int gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
+ unsigned int tl_flags,
+ unsigned int tl_vflags);
+
+typedef int gnutls_x509_trust_list_getissuer_function(
+ gnutls_x509_trust_list_t list, const gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t **issuers, unsigned int *issuers_size);
+
+void gnutls_x509_trust_list_set_getissuer_function(
+ gnutls_x509_trust_list_t tlist,
+ gnutls_x509_trust_list_getissuer_function *func);
void gnutls_x509_trust_list_set_ptr(gnutls_x509_trust_list_t tlist, void *ptr);
void *gnutls_x509_trust_list_get_ptr(gnutls_x509_trust_list_t tlist);
-void gnutls_certificate_set_trust_list
- (gnutls_certificate_credentials_t res,
- gnutls_x509_trust_list_t tlist, unsigned flags);
-void gnutls_certificate_get_trust_list
- (gnutls_certificate_credentials_t res, gnutls_x509_trust_list_t * tlist);
+void gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t res,
+ gnutls_x509_trust_list_t tlist,
+ unsigned flags);
+void gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t res,
+ gnutls_x509_trust_list_t *tlist);
typedef struct gnutls_x509_ext_st {
char *oid;
@@ -1699,17 +1544,16 @@ typedef struct gnutls_x509_ext_st {
gnutls_datum_t data;
} gnutls_x509_ext_st;
-void gnutls_x509_ext_deinit(gnutls_x509_ext_st * ext);
+void gnutls_x509_ext_deinit(gnutls_x509_ext_st *ext);
-int
-gnutls_x509_ext_print(gnutls_x509_ext_st * exts, unsigned int exts_size,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out);
+int gnutls_x509_ext_print(gnutls_x509_ext_st *exts, unsigned int exts_size,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out);
-# include <gnutls/pkcs7.h>
+#include <gnutls/pkcs7.h>
#ifdef __cplusplus
}
#endif
-#endif /* GNUTLS_X509_H */
+#endif /* GNUTLS_X509_H */
diff --git a/lib/inih/ini.c b/lib/inih/ini.c
index 4e0ab33dde..18b8741770 100644
--- a/lib/inih/ini.c
+++ b/lib/inih/ini.c
@@ -8,7 +8,7 @@ https://github.com/benhoyt/inih
*/
#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS)
-# define _CRT_SECURE_NO_WARNINGS
+#define _CRT_SECURE_NO_WARNINGS
#endif
#include <stdio.h>
@@ -18,7 +18,7 @@ https://github.com/benhoyt/inih
#include "ini.h"
#if !INI_USE_STACK
-# include <stdlib.h>
+#include <stdlib.h>
#endif
#define MAX_SECTION 50
@@ -70,7 +70,7 @@ static char *strncpy0(char *dest, const char *src, size_t size)
}
/* See documentation in header file. */
-int ini_parse_file(FILE * file, ini_handler handler, void *user)
+int ini_parse_file(FILE *file, ini_handler handler, void *user)
{
/* Uses a fair bit of stack (use heap instead if you need to) */
#if INI_USE_STACK
@@ -101,9 +101,9 @@ int ini_parse_file(FILE * file, ini_handler handler, void *user)
#endif
#if INI_HANDLER_LINENO
-# define HANDLER(u, s, n, v) handler(u, s, n, v, lineno)
+#define HANDLER(u, s, n, v) handler(u, s, n, v, lineno)
#else
-# define HANDLER(u, s, n, v) handler(u, s, n, v)
+#define HANDLER(u, s, n, v) handler(u, s, n, v)
#endif
/* Scan through stream line by line */
@@ -181,8 +181,8 @@ int ini_parse_file(FILE * file, ini_handler handler, void *user)
/* Valid name[=:]value pair found, call handler */
strncpy0(prev_name, name, sizeof(prev_name));
- if (!HANDLER(user, section, name, value)
- && !error)
+ if (!HANDLER(user, section, name, value) &&
+ !error)
error = lineno;
} else if (!error) {
/* No '=' or ':' found on name[=:]value line */
diff --git a/lib/inih/ini.h b/lib/inih/ini.h
index d9f2783dba..f078051166 100644
--- a/lib/inih/ini.h
+++ b/lib/inih/ini.h
@@ -8,97 +8,96 @@ https://github.com/benhoyt/inih
*/
#ifndef __INI_H__
-# define __INI_H__
+#define __INI_H__
/* Make this header file easier to include in C++ code */
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# include <stdio.h>
-# include <config.h>
+#include <stdio.h>
+#include <config.h>
/* Nonzero if ini_handler callback should accept lineno parameter. */
-# ifndef INI_HANDLER_LINENO
-# define INI_HANDLER_LINENO 0
-# endif
+#ifndef INI_HANDLER_LINENO
+#define INI_HANDLER_LINENO 0
+#endif
/* Typedef for prototype of handler function. */
-# if INI_HANDLER_LINENO
- typedef int (*ini_handler)(void *user, const char *section,
- const char *name, const char *value,
- int lineno);
-# else
- typedef int (*ini_handler)(void *user, const char *section,
- const char *name, const char *value);
-# endif
+#if INI_HANDLER_LINENO
+typedef int (*ini_handler)(void *user, const char *section, const char *name,
+ const char *value, int lineno);
+#else
+typedef int (*ini_handler)(void *user, const char *section, const char *name,
+ const char *value);
+#endif
/* Typedef for prototype of fgets-style reader function. */
- typedef char *(*ini_reader)(char *str, int num, void *stream);
+typedef char *(*ini_reader)(char *str, int num, void *stream);
/* Same as ini_parse(), but takes a FILE* instead of filename. This doesn't
close the file when it's finished -- the caller must do that. */
- int ini_parse_file(FILE * file, ini_handler handler, void *user);
+int ini_parse_file(FILE *file, ini_handler handler, void *user);
/* Nonzero to allow multi-line value parsing, in the style of Python's
configparser. If allowed, ini_parse() will call the handler with the same
name for each subsequent line parsed. */
-# ifndef INI_ALLOW_MULTILINE
-# define INI_ALLOW_MULTILINE 1
-# endif
+#ifndef INI_ALLOW_MULTILINE
+#define INI_ALLOW_MULTILINE 1
+#endif
/* Nonzero to allow a UTF-8 BOM sequence (0xEF 0xBB 0xBF) at the start of
the file. See https://github.com/benhoyt/inih/issues/21 */
-# ifndef INI_ALLOW_BOM
-# define INI_ALLOW_BOM 1
-# endif
+#ifndef INI_ALLOW_BOM
+#define INI_ALLOW_BOM 1
+#endif
/* Chars that begin a start-of-line comment. Per Python configparser, allow
both ; and # comments at the start of a line by default. */
-# ifndef INI_START_COMMENT_PREFIXES
-# define INI_START_COMMENT_PREFIXES ";#"
-# endif
+#ifndef INI_START_COMMENT_PREFIXES
+#define INI_START_COMMENT_PREFIXES ";#"
+#endif
/* Nonzero to allow inline comments (with valid inline comment characters
specified by INI_INLINE_COMMENT_PREFIXES). Set to 0 to turn off and match
Python 3.2+ configparser behaviour. */
-# ifndef INI_ALLOW_INLINE_COMMENTS
-# define INI_ALLOW_INLINE_COMMENTS 1
-# endif
-# ifndef INI_INLINE_COMMENT_PREFIXES
-# define INI_INLINE_COMMENT_PREFIXES ";"
-# endif
+#ifndef INI_ALLOW_INLINE_COMMENTS
+#define INI_ALLOW_INLINE_COMMENTS 1
+#endif
+#ifndef INI_INLINE_COMMENT_PREFIXES
+#define INI_INLINE_COMMENT_PREFIXES ";"
+#endif
/* Nonzero to use stack for line buffer, zero to use heap (malloc/free). */
-# ifndef INI_USE_STACK
-# define INI_USE_STACK 1
-# endif
+#ifndef INI_USE_STACK
+#define INI_USE_STACK 1
+#endif
/* Maximum line length for any line in INI file (stack or heap). Note that
this must be 3 more than the longest line (due to '\r', '\n', and '\0'). */
-# ifndef INI_MAX_LINE
-# define INI_MAX_LINE 200
-# endif
+#ifndef INI_MAX_LINE
+#define INI_MAX_LINE 200
+#endif
/* Nonzero to allow heap line buffer to grow via realloc(), zero for a
fixed-size buffer of INI_MAX_LINE bytes. Only applies if INI_USE_STACK is
zero. */
-# ifndef INI_ALLOW_REALLOC
-# define INI_ALLOW_REALLOC 0
-# endif
+#ifndef INI_ALLOW_REALLOC
+#define INI_ALLOW_REALLOC 0
+#endif
/* Initial size in bytes for heap line buffer. Only applies if INI_USE_STACK
is zero. */
-# ifndef INI_INITIAL_ALLOC
-# define INI_INITIAL_ALLOC 200
-# endif
+#ifndef INI_INITIAL_ALLOC
+#define INI_INITIAL_ALLOC 200
+#endif
/* Stop parsing on first error (default is to keep parsing). */
-# ifndef INI_STOP_ON_FIRST_ERROR
-# define INI_STOP_ON_FIRST_ERROR 0
-# endif
+#ifndef INI_STOP_ON_FIRST_ERROR
+#define INI_STOP_ON_FIRST_ERROR 0
+#endif
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-#endif /* __INI_H__ */
+#endif
+#endif /* __INI_H__ */
diff --git a/lib/iov.c b/lib/iov.c
index 5900008c99..11d951e9b1 100644
--- a/lib/iov.c
+++ b/lib/iov.c
@@ -35,9 +35,8 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned
*/
-int
-_gnutls_iov_iter_init(struct iov_iter_st *iter,
- const giovec_t * iov, size_t iov_count, size_t block_size)
+int _gnutls_iov_iter_init(struct iov_iter_st *iter, const giovec_t *iov,
+ size_t iov_count, size_t block_size)
{
if (unlikely(block_size > MAX_CIPHER_BLOCK_SIZE))
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -67,7 +66,7 @@ _gnutls_iov_iter_init(struct iov_iter_st *iter,
* Returns: On success, a value greater than or equal to zero is
* returned, otherwise a negative error code is returned
*/
-ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t ** data)
+ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t **data)
{
while (iter->iov_index < iter->iov_count) {
const giovec_t *iov = &iter->iov[iter->iov_index];
@@ -82,9 +81,8 @@ ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t ** data)
}
if (unlikely(len < iter->iov_offset))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
len -= iter->iov_offset;
p += iter->iov_offset;
@@ -148,9 +146,8 @@ ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t ** data)
*
* Flush the content of temp buffer (if any) to the data buffer.
*/
-int
-_gnutls_iov_iter_sync(struct iov_iter_st *iter, const uint8_t * data,
- size_t data_size)
+int _gnutls_iov_iter_sync(struct iov_iter_st *iter, const uint8_t *data,
+ size_t data_size)
{
size_t iov_index;
size_t iov_offset;
@@ -180,8 +177,8 @@ _gnutls_iov_iter_sync(struct iov_iter_st *iter, const uint8_t * data,
while (iov_offset == 0) {
if (unlikely(iov_index == 0))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
iov_index--;
iov_offset = iter->iov[iov_index].iov_len;
diff --git a/lib/iov.h b/lib/iov.h
index 9ec4a1562c..525b56a756 100644
--- a/lib/iov.h
+++ b/lib/iov.h
@@ -21,28 +21,27 @@
*/
#ifndef GNUTLS_LIB_IOV_H
-# define GNUTLS_LIB_IOV_H
+#define GNUTLS_LIB_IOV_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
struct iov_iter_st {
const giovec_t *iov;
- size_t iov_count; /* the number of iov */
- size_t iov_index; /* index of the current buffer */
- size_t iov_offset; /* byte offset in the current buffer */
+ size_t iov_count; /* the number of iov */
+ size_t iov_index; /* index of the current buffer */
+ size_t iov_offset; /* byte offset in the current buffer */
- uint8_t block[MAX_CIPHER_BLOCK_SIZE]; /* incomplete block for reading */
- size_t block_size; /* actual block size of the cipher */
- size_t block_offset; /* offset in block */
+ uint8_t block[MAX_CIPHER_BLOCK_SIZE]; /* incomplete block for reading */
+ size_t block_size; /* actual block size of the cipher */
+ size_t block_offset; /* offset in block */
};
-int _gnutls_iov_iter_init(struct iov_iter_st *iter,
- const giovec_t * iov, size_t iov_count,
- size_t block_size);
+int _gnutls_iov_iter_init(struct iov_iter_st *iter, const giovec_t *iov,
+ size_t iov_count, size_t block_size);
-ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t ** data);
+ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t **data);
-int _gnutls_iov_iter_sync(struct iov_iter_st *iter, const uint8_t * data,
+int _gnutls_iov_iter_sync(struct iov_iter_st *iter, const uint8_t *data,
size_t data_size);
-#endif /* GNUTLS_LIB_IOV_H */
+#endif /* GNUTLS_LIB_IOV_H */
diff --git a/lib/kx.c b/lib/kx.c
index 60c45fdb2f..2b61276d5a 100644
--- a/lib/kx.c
+++ b/lib/kx.c
@@ -41,16 +41,16 @@
*/
#define MASTER_SECRET "master secret"
-#define MASTER_SECRET_SIZE (sizeof(MASTER_SECRET)-1)
+#define MASTER_SECRET_SIZE (sizeof(MASTER_SECRET) - 1)
#define EXT_MASTER_SECRET "extended master secret"
-#define EXT_MASTER_SECRET_SIZE (sizeof(EXT_MASTER_SECRET)-1)
+#define EXT_MASTER_SECRET_SIZE (sizeof(EXT_MASTER_SECRET) - 1)
GNUTLS_STATIC_MUTEX(keylog_mutex);
static FILE *keylog;
-static int generate_normal_master(gnutls_session_t session,
- gnutls_datum_t *, int);
+static int generate_normal_master(gnutls_session_t session, gnutls_datum_t *,
+ int);
int _gnutls_generate_master(gnutls_session_t session, int keep_premaster)
{
@@ -60,11 +60,10 @@ int _gnutls_generate_master(gnutls_session_t session, int keep_premaster)
else if (session->internals.premaster_set) {
gnutls_datum_t premaster;
premaster.size =
- sizeof(session->internals.resumed_security_parameters.
- master_secret);
- premaster.data =
- session->internals.resumed_security_parameters.
- master_secret;
+ sizeof(session->internals.resumed_security_parameters
+ .master_secret);
+ premaster.data = session->internals.resumed_security_parameters
+ .master_secret;
return generate_normal_master(session, &premaster, 1);
}
return 0;
@@ -97,16 +96,14 @@ gnutls_session_get_keylog_function(const gnutls_session_t session)
*
* Since: 3.6.13
*/
-void
-gnutls_session_set_keylog_function(gnutls_session_t session,
- gnutls_keylog_func func)
+void gnutls_session_set_keylog_function(gnutls_session_t session,
+ gnutls_keylog_func func)
{
session->internals.keylog_func = func;
}
-int
-_gnutls_call_keylog_func(gnutls_session_t session,
- const char *label, const uint8_t * data, unsigned size)
+int _gnutls_call_keylog_func(gnutls_session_t session, const char *label,
+ const uint8_t *data, unsigned size)
{
if (session->internals.keylog_func) {
gnutls_datum_t secret = { (void *)data, size };
@@ -115,9 +112,8 @@ _gnutls_call_keylog_func(gnutls_session_t session,
return 0;
}
-int
-_gnutls_nss_keylog_func(gnutls_session_t session,
- const char *label, const gnutls_datum_t * secret)
+int _gnutls_nss_keylog_func(gnutls_session_t session, const char *label,
+ const gnutls_datum_t *secret)
{
/* ignore subsequent traffic secrets that are calculated from
* the previous traffic secret
@@ -147,9 +143,8 @@ static void keylog_once_init(void)
}
}
-void _gnutls_nss_keylog_write(gnutls_session_t session,
- const char *label,
- const uint8_t * secret, size_t secret_size)
+void _gnutls_nss_keylog_write(gnutls_session_t session, const char *label,
+ const uint8_t *secret, size_t secret_size)
{
(void)gnutls_once(&keylog_once, keylog_once_init);
@@ -160,12 +155,11 @@ void _gnutls_nss_keylog_write(gnutls_session_t session,
if (gnutls_static_mutex_lock(&keylog_mutex) < 0) {
return;
}
- fprintf(keylog, "%s %s %s\n",
- label,
- _gnutls_bin2hex(session->security_parameters.
- client_random, GNUTLS_RANDOM_SIZE,
- client_random_hex,
- sizeof(client_random_hex), NULL),
+ fprintf(keylog, "%s %s %s\n", label,
+ _gnutls_bin2hex(
+ session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE, client_random_hex,
+ sizeof(client_random_hex), NULL),
_gnutls_bin2hex(secret, secret_size, secret_hex,
sizeof(secret_hex), NULL));
fflush(keylog);
@@ -185,26 +179,23 @@ void _gnutls_nss_keylog_deinit(void)
/* here we generate the TLS Master secret.
*/
-static int
-generate_normal_master(gnutls_session_t session,
- gnutls_datum_t * premaster, int keep_premaster)
+static int generate_normal_master(gnutls_session_t session,
+ gnutls_datum_t *premaster, int keep_premaster)
{
int ret = 0;
char buf[512];
- _gnutls_hard_log("INT: PREMASTER SECRET[%d]: %s\n",
- premaster->size, _gnutls_bin2hex(premaster->data,
- premaster->size,
- buf, sizeof(buf),
- NULL));
- _gnutls_hard_log("INT: CLIENT RANDOM[%d]: %s\n", 32,
- _gnutls_bin2hex(session->security_parameters.
- client_random, 32, buf, sizeof(buf),
- NULL));
- _gnutls_hard_log("INT: SERVER RANDOM[%d]: %s\n", 32,
- _gnutls_bin2hex(session->security_parameters.
- server_random, 32, buf, sizeof(buf),
- NULL));
+ _gnutls_hard_log("INT: PREMASTER SECRET[%d]: %s\n", premaster->size,
+ _gnutls_bin2hex(premaster->data, premaster->size, buf,
+ sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: CLIENT RANDOM[%d]: %s\n", 32,
+ _gnutls_bin2hex(session->security_parameters.client_random, 32,
+ buf, sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: SERVER RANDOM[%d]: %s\n", 32,
+ _gnutls_bin2hex(session->security_parameters.server_random, 32,
+ buf, sizeof(buf), NULL));
if (session->security_parameters.ext_master_secret == 0) {
uint8_t rnd[2 * GNUTLS_RANDOM_SIZE + 1];
@@ -214,32 +205,26 @@ generate_normal_master(gnutls_session_t session,
session->security_parameters.server_random,
GNUTLS_RANDOM_SIZE);
- _gnutls_memory_mark_defined(session->
- security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
+ _gnutls_memory_mark_defined(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
#ifdef ENABLE_SSL3
if (get_num_version(session) == GNUTLS_SSL3) {
- ret =
- _gnutls_ssl3_generate_random(premaster->data,
- premaster->size, rnd,
- 2 * GNUTLS_RANDOM_SIZE,
- GNUTLS_MASTER_SIZE,
- session->security_parameters.
- master_secret);
+ ret = _gnutls_ssl3_generate_random(
+ premaster->data, premaster->size, rnd,
+ 2 * GNUTLS_RANDOM_SIZE, GNUTLS_MASTER_SIZE,
+ session->security_parameters.master_secret);
} else
#endif
- ret =
- _gnutls_PRF(session, premaster->data,
- premaster->size, MASTER_SECRET,
- MASTER_SECRET_SIZE, rnd,
- 2 * GNUTLS_RANDOM_SIZE,
- GNUTLS_MASTER_SIZE,
- session->security_parameters.
- master_secret);
+ ret = _gnutls_PRF(
+ session, premaster->data, premaster->size,
+ MASTER_SECRET, MASTER_SECRET_SIZE, rnd,
+ 2 * GNUTLS_RANDOM_SIZE, GNUTLS_MASTER_SIZE,
+ session->security_parameters.master_secret);
if (ret < 0)
- _gnutls_memory_mark_undefined
- (session->security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
+ _gnutls_memory_mark_undefined(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
} else {
gnutls_datum_t shash = { NULL, 0 };
@@ -252,18 +237,17 @@ generate_normal_master(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
#endif
- _gnutls_memory_mark_defined(session->
- security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
- ret =
- _gnutls_PRF(session, premaster->data, premaster->size,
- EXT_MASTER_SECRET, EXT_MASTER_SECRET_SIZE,
- shash.data, shash.size, GNUTLS_MASTER_SIZE,
- session->security_parameters.master_secret);
+ _gnutls_memory_mark_defined(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
+ ret = _gnutls_PRF(session, premaster->data, premaster->size,
+ EXT_MASTER_SECRET, EXT_MASTER_SECRET_SIZE,
+ shash.data, shash.size, GNUTLS_MASTER_SIZE,
+ session->security_parameters.master_secret);
if (ret < 0)
- _gnutls_memory_mark_undefined
- (session->security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
+ _gnutls_memory_mark_undefined(
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
gnutls_free(shash.data);
}
@@ -274,18 +258,16 @@ generate_normal_master(gnutls_session_t session,
if (ret < 0)
return ret;
- ret = _gnutls_call_keylog_func(session, "CLIENT_RANDOM",
- session->
- security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
+ ret = _gnutls_call_keylog_func(
+ session, "CLIENT_RANDOM",
+ session->security_parameters.master_secret, GNUTLS_MASTER_SIZE);
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_hard_log("INT: MASTER SECRET[%d]: %s\n",
- GNUTLS_MASTER_SIZE,
- _gnutls_bin2hex(session->security_parameters.
- master_secret, GNUTLS_MASTER_SIZE, buf,
- sizeof(buf), NULL));
+ _gnutls_hard_log(
+ "INT: MASTER SECRET[%d]: %s\n", GNUTLS_MASTER_SIZE,
+ _gnutls_bin2hex(session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE, buf, sizeof(buf), NULL));
return ret;
}
@@ -308,9 +290,8 @@ int _gnutls_send_server_kx_message(gnutls_session_t session, int again)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- session->internals.auth_struct->
- gnutls_generate_server_kx(session, &buf);
+ ret = session->internals.auth_struct->gnutls_generate_server_kx(
+ session, &buf);
if (ret == GNUTLS_E_INT_RET_0) {
gnutls_assert();
@@ -329,7 +310,7 @@ int _gnutls_send_server_kx_message(gnutls_session_t session, int again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -343,8 +324,8 @@ int _gnutls_send_server_crt_request(gnutls_session_t session, int again)
int ret = 0;
mbuffer_st *bufel = NULL;
- if (session->internals.auth_struct->
- gnutls_generate_server_crt_request == NULL)
+ if (session->internals.auth_struct->gnutls_generate_server_crt_request ==
+ NULL)
return 0;
if (session->internals.send_cert_req <= 0)
@@ -355,9 +336,9 @@ int _gnutls_send_server_crt_request(gnutls_session_t session, int again)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- session->internals.auth_struct->
- gnutls_generate_server_crt_request(session, &buf);
+ ret = session->internals.auth_struct
+ ->gnutls_generate_server_crt_request(session,
+ &buf);
if (ret < 0) {
gnutls_assert();
@@ -370,7 +351,7 @@ int _gnutls_send_server_crt_request(gnutls_session_t session, int again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -392,9 +373,8 @@ int _gnutls_send_client_kx_message(gnutls_session_t session, int again)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- session->internals.auth_struct->
- gnutls_generate_client_kx(session, &buf);
+ ret = session->internals.auth_struct->gnutls_generate_client_kx(
+ session, &buf);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -406,7 +386,7 @@ int _gnutls_send_client_kx_message(gnutls_session_t session, int again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -433,7 +413,7 @@ int _gnutls_send_client_certificate_verify(gnutls_session_t session, int again)
if (session->internals.auth_struct->gnutls_generate_client_crt_vrfy ==
NULL) {
gnutls_assert();
- return 0; /* this algorithm does not support cli_crt_vrfy
+ return 0; /* this algorithm does not support cli_crt_vrfy
*/
}
@@ -442,9 +422,8 @@ int _gnutls_send_client_certificate_verify(gnutls_session_t session, int again)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- session->internals.auth_struct->
- gnutls_generate_client_crt_vrfy(session, &buf);
+ ret = session->internals.auth_struct
+ ->gnutls_generate_client_crt_vrfy(session, &buf);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -459,7 +438,7 @@ int _gnutls_send_client_certificate_verify(gnutls_session_t session, int again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -475,8 +454,8 @@ int _gnutls_send_client_certificate(gnutls_session_t session, int again)
if (!(session->internals.hsk_flags & HSK_CRT_ASKED))
return 0;
- if (session->internals.auth_struct->
- gnutls_generate_client_certificate == NULL)
+ if (session->internals.auth_struct->gnutls_generate_client_certificate ==
+ NULL)
return 0;
if (again == 0) {
@@ -491,9 +470,9 @@ int _gnutls_send_client_certificate(gnutls_session_t session, int again)
{
/* TLS 1.x or SSL 3.0 with a valid certificate
*/
- ret =
- session->internals.auth_struct->
- gnutls_generate_client_certificate(session, &buf);
+ ret = session->internals.auth_struct
+ ->gnutls_generate_client_certificate(
+ session, &buf);
if (ret < 0) {
gnutls_assert();
@@ -511,17 +490,16 @@ int _gnutls_send_client_certificate(gnutls_session_t session, int again)
if (get_num_version(session) == GNUTLS_SSL3 &&
session->internals.selected_cert_list_length == 0) {
_mbuffer_xfree(&bufel);
- return
- gnutls_alert_send(session, GNUTLS_AL_WARNING,
- GNUTLS_A_SSL3_NO_CERTIFICATE);
+ return gnutls_alert_send(session, GNUTLS_AL_WARNING,
+ GNUTLS_A_SSL3_NO_CERTIFICATE);
- } else /* TLS 1.0 or SSL 3.0 with a valid certificate
+ } else /* TLS 1.0 or SSL 3.0 with a valid certificate
*/
#endif
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CERTIFICATE_PKT);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -534,8 +512,8 @@ int _gnutls_send_server_certificate(gnutls_session_t session, int again)
int ret = 0;
mbuffer_st *bufel = NULL;
- if (session->internals.auth_struct->
- gnutls_generate_server_certificate == NULL)
+ if (session->internals.auth_struct->gnutls_generate_server_certificate ==
+ NULL)
return 0;
if (again == 0) {
@@ -543,9 +521,9 @@ int _gnutls_send_server_certificate(gnutls_session_t session, int again)
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- session->internals.auth_struct->
- gnutls_generate_server_certificate(session, &buf);
+ ret = session->internals.auth_struct
+ ->gnutls_generate_server_certificate(session,
+ &buf);
if (ret < 0) {
gnutls_assert();
@@ -558,7 +536,7 @@ int _gnutls_send_server_certificate(gnutls_session_t session, int again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CERTIFICATE_PKT);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -574,25 +552,22 @@ int _gnutls_recv_server_kx_message(gnutls_session_t session)
if (_gnutls_session_is_psk(session))
optflag = 1;
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE,
- optflag, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE, optflag,
+ &buf);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- session->internals.auth_struct->
- gnutls_process_server_kx(session, buf.data, buf.length);
+ ret = session->internals.auth_struct->gnutls_process_server_kx(
+ session, buf.data, buf.length);
_gnutls_buffer_clear(&buf);
if (ret < 0) {
gnutls_assert();
return ret;
}
-
}
return ret;
}
@@ -604,27 +579,22 @@ int _gnutls_recv_server_crt_request(gnutls_session_t session)
if (session->internals.auth_struct->gnutls_process_server_crt_request !=
NULL) {
-
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST,
- 1, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST, 1, &buf);
if (ret < 0)
return ret;
if (ret == 0 && buf.length == 0) {
_gnutls_buffer_clear(&buf);
- return 0; /* ignored */
+ return 0; /* ignored */
}
- ret =
- session->internals.auth_struct->
- gnutls_process_server_crt_request(session, buf.data,
- buf.length);
+ ret = session->internals.auth_struct
+ ->gnutls_process_server_crt_request(
+ session, buf.data, buf.length);
_gnutls_buffer_clear(&buf);
if (ret < 0)
return ret;
-
}
return ret;
}
@@ -636,21 +606,16 @@ int _gnutls_recv_client_kx_message(gnutls_session_t session)
/* Do key exchange only if the algorithm permits it */
if (session->internals.auth_struct->gnutls_process_client_kx != NULL) {
-
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE,
- 0, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE, 0, &buf);
if (ret < 0)
return ret;
- ret =
- session->internals.auth_struct->
- gnutls_process_client_kx(session, buf.data, buf.length);
+ ret = session->internals.auth_struct->gnutls_process_client_kx(
+ session, buf.data, buf.length);
_gnutls_buffer_clear(&buf);
if (ret < 0)
return ret;
-
}
return ret;
@@ -677,10 +642,8 @@ int _gnutls_recv_client_certificate(gnutls_session_t session)
else
optional = 1;
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CERTIFICATE_PKT,
- optional, &buf);
+ ret = _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_CERTIFICATE_PKT,
+ optional, &buf);
if (ret < 0) {
/* Handle the case of old SSL3 clients who send
@@ -688,11 +651,9 @@ int _gnutls_recv_client_certificate(gnutls_session_t session)
* no certificate.
*/
#ifdef ENABLE_SSL3
- if (optional != 0 &&
- ret == GNUTLS_E_WARNING_ALERT_RECEIVED &&
+ if (optional != 0 && ret == GNUTLS_E_WARNING_ALERT_RECEIVED &&
get_num_version(session) == GNUTLS_SSL3 &&
gnutls_alert_get(session) == GNUTLS_A_SSL3_NO_CERTIFICATE) {
-
/* SSL3 does not send an empty certificate,
* but this alert. So we just ignore it.
*/
@@ -703,9 +664,9 @@ int _gnutls_recv_client_certificate(gnutls_session_t session)
/* certificate was required
*/
- if ((ret == GNUTLS_E_WARNING_ALERT_RECEIVED
- || ret == GNUTLS_E_FATAL_ALERT_RECEIVED)
- && optional == 0) {
+ if ((ret == GNUTLS_E_WARNING_ALERT_RECEIVED ||
+ ret == GNUTLS_E_FATAL_ALERT_RECEIVED) &&
+ optional == 0) {
gnutls_assert();
return GNUTLS_E_NO_CERTIFICATE_FOUND;
}
@@ -722,9 +683,8 @@ int _gnutls_recv_client_certificate(gnutls_session_t session)
ret = 0;
goto cleanup;
}
- ret =
- session->internals.auth_struct->
- gnutls_process_client_certificate(session, buf.data, buf.length);
+ ret = session->internals.auth_struct->gnutls_process_client_certificate(
+ session, buf.data, buf.length);
if (ret < 0 && ret != GNUTLS_E_NO_CERTIFICATE_FOUND) {
gnutls_assert();
@@ -738,7 +698,7 @@ int _gnutls_recv_client_certificate(gnutls_session_t session)
else
session->internals.hsk_flags |= HSK_CRT_VRFY_EXPECTED;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -750,20 +710,16 @@ int _gnutls_recv_server_certificate(gnutls_session_t session)
if (session->internals.auth_struct->gnutls_process_server_certificate !=
NULL) {
-
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CERTIFICATE_PKT,
- 0, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CERTIFICATE_PKT, 0, &buf);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- session->internals.auth_struct->
- gnutls_process_server_certificate(session, buf.data,
- buf.length);
+ ret = session->internals.auth_struct
+ ->gnutls_process_server_certificate(
+ session, buf.data, buf.length);
_gnutls_buffer_clear(&buf);
if (ret < 0) {
gnutls_assert();
@@ -791,26 +747,23 @@ int _gnutls_recv_client_certificate_verify_message(gnutls_session_t session)
return 0;
}
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY,
- 1, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY, 1, &buf);
if (ret < 0)
return ret;
- if (ret == 0 && buf.length == 0
- && session->internals.send_cert_req == GNUTLS_CERT_REQUIRE) {
+ if (ret == 0 && buf.length == 0 &&
+ session->internals.send_cert_req == GNUTLS_CERT_REQUIRE) {
/* certificate was required */
gnutls_assert();
ret = GNUTLS_E_NO_CERTIFICATE_FOUND;
goto cleanup;
}
- ret =
- session->internals.auth_struct->
- gnutls_process_client_crt_vrfy(session, buf.data, buf.length);
+ ret = session->internals.auth_struct->gnutls_process_client_crt_vrfy(
+ session, buf.data, buf.length);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
diff --git a/lib/kx.h b/lib/kx.h
index c4c992341d..66486d1ccb 100644
--- a/lib/kx.h
+++ b/lib/kx.h
@@ -21,7 +21,7 @@
*/
#ifndef GNUTLS_LIB_KX_H
-# define GNUTLS_LIB_KX_H
+#define GNUTLS_LIB_KX_H
int _gnutls_send_server_kx_message(gnutls_session_t session, int again);
int _gnutls_send_client_kx_message(gnutls_session_t session, int again);
@@ -36,13 +36,11 @@ int _gnutls_send_client_certificate(gnutls_session_t session, int again);
int _gnutls_recv_server_crt_request(gnutls_session_t session);
int _gnutls_send_server_crt_request(gnutls_session_t session, int again);
int _gnutls_recv_client_certificate_verify_message(gnutls_session_t session);
-int _gnutls_call_keylog_func(gnutls_session_t session,
- const char *label,
- const uint8_t * data, unsigned size);
-void _gnutls_nss_keylog_write(gnutls_session_t session,
- const char *label,
- const uint8_t * secret, size_t secret_size);
-int _gnutls_nss_keylog_func(gnutls_session_t session,
- const char *label, const gnutls_datum_t * secret);
+int _gnutls_call_keylog_func(gnutls_session_t session, const char *label,
+ const uint8_t *data, unsigned size);
+void _gnutls_nss_keylog_write(gnutls_session_t session, const char *label,
+ const uint8_t *secret, size_t secret_size);
+int _gnutls_nss_keylog_func(gnutls_session_t session, const char *label,
+ const gnutls_datum_t *secret);
-#endif /* GNUTLS_LIB_KX_H */
+#endif /* GNUTLS_LIB_KX_H */
diff --git a/lib/locks.c b/lib/locks.c
index 7faeb0b769..2ccadf9fed 100644
--- a/lib/locks.c
+++ b/lib/locks.c
@@ -49,9 +49,8 @@
*
* Since: 2.12.0
**/
-void
-gnutls_global_set_mutex(mutex_init_func init, mutex_deinit_func deinit,
- mutex_lock_func lock, mutex_unlock_func unlock)
+void gnutls_global_set_mutex(mutex_init_func init, mutex_deinit_func deinit,
+ mutex_lock_func lock, mutex_unlock_func unlock)
{
if (init == NULL || deinit == NULL || lock == NULL || unlock == NULL) {
return;
diff --git a/lib/locks.h b/lib/locks.h
index 7f3f5ac64c..0e6275bb04 100644
--- a/lib/locks.h
+++ b/lib/locks.h
@@ -21,12 +21,12 @@
*/
#ifndef GNUTLS_LIB_LOCKS_H
-# define GNUTLS_LIB_LOCKS_H
+#define GNUTLS_LIB_LOCKS_H
-# include <gnutls/gnutls.h>
-# include "gnutls_int.h"
-# include "system.h"
-# include "glthread/lock.h"
+#include <gnutls/gnutls.h>
+#include "gnutls_int.h"
+#include "system.h"
+#include "glthread/lock.h"
extern mutex_init_func gnutls_mutex_init;
extern mutex_deinit_func gnutls_mutex_deinit;
@@ -38,41 +38,47 @@ extern mutex_unlock_func gnutls_mutex_unlock;
* below instead of the above gnutls_mutex_* functions, because the
* latter can be replaced with gnutls_global_set_mutex().
*/
-# define GNUTLS_STATIC_MUTEX(lock) gl_lock_define_initialized(static, lock)
+#define GNUTLS_STATIC_MUTEX(lock) gl_lock_define_initialized(static, lock)
typedef gl_lock_t *gnutls_static_mutex_t;
-# define gnutls_static_mutex_lock(LOCK) \
- (unlikely(glthread_lock_lock(LOCK)) ? \
- gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : 0)
+#define gnutls_static_mutex_lock(LOCK) \
+ (unlikely(glthread_lock_lock(LOCK)) ? \
+ gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : \
+ 0)
-# define gnutls_static_mutex_unlock(LOCK) \
- (unlikely(glthread_lock_unlock(LOCK)) ? \
- gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : 0)
+#define gnutls_static_mutex_unlock(LOCK) \
+ (unlikely(glthread_lock_unlock(LOCK)) ? \
+ gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : \
+ 0)
/* Unlike static mutexes, static rwlocks can be locked/unlocked with
* the functions defined below, because there is no way to replace
* those functions.
*/
-# define GNUTLS_RWLOCK(rwlock) gl_rwlock_define_initialized(static, rwlock)
+#define GNUTLS_RWLOCK(rwlock) gl_rwlock_define_initialized(static, rwlock)
typedef gl_rwlock_t *gnutls_rwlock_t;
-# define gnutls_rwlock_rdlock(RWLOCK) \
- (unlikely(glthread_rwlock_rdlock(RWLOCK)) ? \
- gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : 0)
+#define gnutls_rwlock_rdlock(RWLOCK) \
+ (unlikely(glthread_rwlock_rdlock(RWLOCK)) ? \
+ gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : \
+ 0)
-# define gnutls_rwlock_wrlock(RWLOCK) \
- (unlikely(glthread_rwlock_wrlock(RWLOCK)) ? \
- gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : 0)
+#define gnutls_rwlock_wrlock(RWLOCK) \
+ (unlikely(glthread_rwlock_wrlock(RWLOCK)) ? \
+ gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : \
+ 0)
-# define gnutls_rwlock_unlock(RWLOCK) \
- (unlikely(glthread_rwlock_unlock(RWLOCK)) ? \
- gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : 0)
+#define gnutls_rwlock_unlock(RWLOCK) \
+ (unlikely(glthread_rwlock_unlock(RWLOCK)) ? \
+ gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : \
+ 0)
-# define GNUTLS_ONCE(once) gl_once_define(static, once)
+#define GNUTLS_ONCE(once) gl_once_define(static, once)
typedef gl_once_t *gnutls_once_t;
-# define gnutls_once(ONCE, INIT_FUNC) \
- (unlikely(glthread_once(ONCE, INIT_FUNC)) ? \
- gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : 0)
+#define gnutls_once(ONCE, INIT_FUNC) \
+ (unlikely(glthread_once(ONCE, INIT_FUNC)) ? \
+ gnutls_assert_val(GNUTLS_E_LOCKING_ERROR) : \
+ 0)
-#endif /* GNUTLS_LIB_LOCKS_H */
+#endif /* GNUTLS_LIB_LOCKS_H */
diff --git a/lib/mbuffers.c b/lib/mbuffers.c
index 2067ae140b..15cbf52e30 100644
--- a/lib/mbuffers.c
+++ b/lib/mbuffers.c
@@ -50,7 +50,7 @@
*
* Cost: O(1)
*/
-void _mbuffer_head_init(mbuffer_head_st * buf)
+void _mbuffer_head_init(mbuffer_head_st *buf)
{
buf->head = NULL;
buf->tail = NULL;
@@ -64,7 +64,7 @@ void _mbuffer_head_init(mbuffer_head_st * buf)
* Cost: O(n)
* n: Number of segments currently in the buffer.
*/
-void _mbuffer_head_clear(mbuffer_head_st * buf)
+void _mbuffer_head_clear(mbuffer_head_st *buf)
{
mbuffer_st *bufel, *next;
@@ -80,7 +80,7 @@ void _mbuffer_head_clear(mbuffer_head_st * buf)
*
* Cost: O(1)
*/
-void _mbuffer_enqueue(mbuffer_head_st * buf, mbuffer_st * bufel)
+void _mbuffer_enqueue(mbuffer_head_st *buf, mbuffer_st *bufel)
{
bufel->next = NULL;
bufel->prev = buf->tail;
@@ -101,14 +101,14 @@ void _mbuffer_enqueue(mbuffer_head_st * buf, mbuffer_st * bufel)
*
* Returns the buffer following it.
*/
-mbuffer_st *_mbuffer_dequeue(mbuffer_head_st * buf, mbuffer_st * bufel)
+mbuffer_st *_mbuffer_dequeue(mbuffer_head_st *buf, mbuffer_st *bufel)
{
mbuffer_st *ret = bufel->next;
- if (buf->tail == bufel) /* if last */
+ if (buf->tail == bufel) /* if last */
buf->tail = bufel->prev;
- if (buf->head == bufel) /* if first */
+ if (buf->head == bufel) /* if first */
buf->head = bufel->next;
if (bufel->prev)
@@ -129,7 +129,7 @@ mbuffer_st *_mbuffer_dequeue(mbuffer_head_st * buf, mbuffer_st * bufel)
*
* Cost: O(1)
*/
-void _mbuffer_head_push_first(mbuffer_head_st * buf, mbuffer_st * bufel)
+void _mbuffer_head_push_first(mbuffer_head_st *buf, mbuffer_st *bufel)
{
bufel->prev = NULL;
bufel->next = buf->head;
@@ -151,7 +151,7 @@ void _mbuffer_head_push_first(mbuffer_head_st * buf, mbuffer_st * bufel)
*
* Cost: O(1)
*/
-mbuffer_st *_mbuffer_head_pop_first(mbuffer_head_st * buf)
+mbuffer_st *_mbuffer_head_pop_first(mbuffer_head_st *buf)
{
mbuffer_st *bufel = buf->head;
@@ -169,7 +169,7 @@ mbuffer_st *_mbuffer_head_pop_first(mbuffer_head_st * buf)
*
* Cost: O(1)
*/
-mbuffer_st *_mbuffer_head_get_first(mbuffer_head_st * buf, gnutls_datum_t * msg)
+mbuffer_st *_mbuffer_head_get_first(mbuffer_head_st *buf, gnutls_datum_t *msg)
{
mbuffer_st *bufel = buf->head;
@@ -191,7 +191,7 @@ mbuffer_st *_mbuffer_head_get_first(mbuffer_head_st * buf, gnutls_datum_t * msg)
*
* Cost: O(1)
*/
-mbuffer_st *_mbuffer_head_get_next(mbuffer_st * cur, gnutls_datum_t * msg)
+mbuffer_st *_mbuffer_head_get_next(mbuffer_st *cur, gnutls_datum_t *msg)
{
mbuffer_st *bufel = cur->next;
@@ -214,7 +214,7 @@ mbuffer_st *_mbuffer_head_get_next(mbuffer_st * cur, gnutls_datum_t * msg)
*
* Cost: O(1)
*/
-static inline void remove_front(mbuffer_head_st * buf)
+static inline void remove_front(mbuffer_head_st *buf)
{
mbuffer_st *bufel = buf->head;
@@ -235,7 +235,7 @@ static inline void remove_front(mbuffer_head_st * buf)
* Cost: O(n)
* n: Number of segments needed to remove the specified amount of data.
*/
-int _mbuffer_head_remove_bytes(mbuffer_head_st * buf, size_t bytes)
+int _mbuffer_head_remove_bytes(mbuffer_head_st *buf, size_t bytes)
{
size_t left = bytes;
mbuffer_st *bufel, *next;
@@ -285,7 +285,7 @@ mbuffer_st *_mbuffer_alloc(size_t maximum_size)
memset(st, 0, sizeof(*st));
/* payload points after the mbuffer_st structure */
- st->msg.data = (uint8_t *) st + sizeof(mbuffer_st);
+ st->msg.data = (uint8_t *)st + sizeof(mbuffer_st);
st->msg.size = 0;
st->maximum_size = maximum_size;
@@ -302,7 +302,7 @@ mbuffer_st *_mbuffer_alloc(size_t maximum_size)
* Cost: O(n)
* n: number of bytes to copy
*/
-int _mbuffer_append_data(mbuffer_st * bufel, void *newdata, size_t newdata_size)
+int _mbuffer_append_data(mbuffer_st *bufel, void *newdata, size_t newdata_size)
{
if (bufel->msg.size + newdata_size <= bufel->maximum_size) {
memcpy(&bufel->msg.data[bufel->msg.size], newdata,
@@ -317,7 +317,7 @@ int _mbuffer_append_data(mbuffer_st * bufel, void *newdata, size_t newdata_size)
}
#ifdef ENABLE_ALIGN16
-# define ALIGN_SIZE 16
+#define ALIGN_SIZE 16
/* Allocate a 16-byte aligned buffer segment. The segment is not initially "owned" by
* any buffer.
@@ -347,7 +347,7 @@ mbuffer_st *_mbuffer_alloc_align16(size_t maximum_size, unsigned align_pos)
memset(st, 0, sizeof(*st));
/* payload points after the mbuffer_st structure */
- st->msg.data = (uint8_t *) st + sizeof(mbuffer_st);
+ st->msg.data = (uint8_t *)st + sizeof(mbuffer_st);
cur_alignment = ((size_t)(st->msg.data + align_pos)) % ALIGN_SIZE;
if (cur_alignment > 0)
@@ -359,7 +359,7 @@ mbuffer_st *_mbuffer_alloc_align16(size_t maximum_size, unsigned align_pos)
return st;
}
-static unsigned is_aligned16(mbuffer_st * bufel, unsigned align_pos)
+static unsigned is_aligned16(mbuffer_st *bufel, unsigned align_pos)
{
uint8_t *ptr = _mbuffer_get_udata_ptr(bufel);
@@ -377,7 +377,7 @@ static unsigned is_aligned16(mbuffer_st * bufel, unsigned align_pos)
* Cost: O(n)
* n: number of segments initially in the buffer
*/
-int _mbuffer_linearize_align16(mbuffer_head_st * buf, unsigned align_pos)
+int _mbuffer_linearize_align16(mbuffer_head_st *buf, unsigned align_pos)
{
mbuffer_st *bufel, *cur;
gnutls_datum_t msg;
@@ -400,8 +400,8 @@ int _mbuffer_linearize_align16(mbuffer_head_st * buf, unsigned align_pos)
bufel->type = _mbuffer_head_get_first(buf, NULL)->type;
- for (cur = _mbuffer_head_get_first(buf, &msg);
- msg.data != NULL; cur = _mbuffer_head_get_next(cur, &msg)) {
+ for (cur = _mbuffer_head_get_first(buf, &msg); msg.data != NULL;
+ cur = _mbuffer_head_get_next(cur, &msg)) {
memcpy(&bufel->msg.data[pos], msg.data, msg.size);
bufel->msg.size += msg.size;
pos += msg.size;
@@ -413,7 +413,7 @@ int _mbuffer_linearize_align16(mbuffer_head_st * buf, unsigned align_pos)
return 0;
}
#else
-int _mbuffer_linearize(mbuffer_head_st * buf)
+int _mbuffer_linearize(mbuffer_head_st *buf)
{
mbuffer_st *bufel, *cur;
gnutls_datum_t msg;
@@ -432,8 +432,8 @@ int _mbuffer_linearize(mbuffer_head_st * buf)
bufel->type = _mbuffer_head_get_first(buf, NULL)->type;
- for (cur = _mbuffer_head_get_first(buf, &msg);
- msg.data != NULL; cur = _mbuffer_head_get_next(cur, &msg)) {
+ for (cur = _mbuffer_head_get_first(buf, &msg); msg.data != NULL;
+ cur = _mbuffer_head_get_next(cur, &msg)) {
memcpy(&bufel->msg.data[pos], msg.data, msg.size);
bufel->msg.size += msg.size;
pos += msg.size;
diff --git a/lib/mbuffers.h b/lib/mbuffers.h
index c2aa1848db..44059d9348 100644
--- a/lib/mbuffers.h
+++ b/lib/mbuffers.h
@@ -21,67 +21,65 @@
*/
#ifndef GNUTLS_LIB_MBUFFERS_H
-# define GNUTLS_LIB_MBUFFERS_H
+#define GNUTLS_LIB_MBUFFERS_H
-# include "gnutls_int.h"
-# include "errors.h"
-# include <assert.h>
+#include "gnutls_int.h"
+#include "errors.h"
+#include <assert.h>
-void _mbuffer_head_init(mbuffer_head_st * buf);
-void _mbuffer_head_clear(mbuffer_head_st * buf);
-void _mbuffer_enqueue(mbuffer_head_st * buf, mbuffer_st * bufel);
-mbuffer_st *_mbuffer_dequeue(mbuffer_head_st * buf, mbuffer_st * bufel);
-int _mbuffer_head_remove_bytes(mbuffer_head_st * buf, size_t bytes);
+void _mbuffer_head_init(mbuffer_head_st *buf);
+void _mbuffer_head_clear(mbuffer_head_st *buf);
+void _mbuffer_enqueue(mbuffer_head_st *buf, mbuffer_st *bufel);
+mbuffer_st *_mbuffer_dequeue(mbuffer_head_st *buf, mbuffer_st *bufel);
+int _mbuffer_head_remove_bytes(mbuffer_head_st *buf, size_t bytes);
mbuffer_st *_mbuffer_alloc(size_t maximum_size);
-int _mbuffer_linearize(mbuffer_head_st * buf);
+int _mbuffer_linearize(mbuffer_head_st *buf);
-mbuffer_st *_mbuffer_head_get_first(mbuffer_head_st * buf,
- gnutls_datum_t * msg);
-mbuffer_st *_mbuffer_head_get_next(mbuffer_st * cur, gnutls_datum_t * msg);
+mbuffer_st *_mbuffer_head_get_first(mbuffer_head_st *buf, gnutls_datum_t *msg);
+mbuffer_st *_mbuffer_head_get_next(mbuffer_st *cur, gnutls_datum_t *msg);
-void _mbuffer_head_push_first(mbuffer_head_st * buf, mbuffer_st * bufel);
+void _mbuffer_head_push_first(mbuffer_head_st *buf, mbuffer_st *bufel);
-mbuffer_st *_mbuffer_head_pop_first(mbuffer_head_st * buf);
+mbuffer_st *_mbuffer_head_pop_first(mbuffer_head_st *buf);
/* This is dangerous since it will replace bufel with a new
* one.
*/
-int _mbuffer_append_data(mbuffer_st * bufel, void *newdata,
- size_t newdata_size);
+int _mbuffer_append_data(mbuffer_st *bufel, void *newdata, size_t newdata_size);
/* For "user" use. One can have buffer data and header.
*/
-inline static void *_mbuffer_get_uhead_ptr(mbuffer_st * bufel)
+inline static void *_mbuffer_get_uhead_ptr(mbuffer_st *bufel)
{
return bufel->msg.data + bufel->mark;
}
-inline static void *_mbuffer_get_udata_ptr(mbuffer_st * bufel)
+inline static void *_mbuffer_get_udata_ptr(mbuffer_st *bufel)
{
return bufel->msg.data + bufel->uhead_mark + bufel->mark;
}
-inline static void _mbuffer_set_udata_size(mbuffer_st * bufel, size_t size)
+inline static void _mbuffer_set_udata_size(mbuffer_st *bufel, size_t size)
{
bufel->msg.size = size + bufel->uhead_mark + bufel->mark;
}
-inline static void
-_mbuffer_set_udata(mbuffer_st * bufel, void *data, size_t data_size)
+inline static void _mbuffer_set_udata(mbuffer_st *bufel, void *data,
+ size_t data_size)
{
memcpy(_mbuffer_get_udata_ptr(bufel), data, data_size);
_mbuffer_set_udata_size(bufel, data_size);
}
-inline static size_t _mbuffer_get_udata_size(mbuffer_st * bufel)
+inline static size_t _mbuffer_get_udata_size(mbuffer_st *bufel)
{
return bufel->msg.size - bufel->uhead_mark - bufel->mark;
}
/* discards size bytes from the begging of the buffer */
-inline static void
-_mbuffer_consume(mbuffer_head_st * buf, mbuffer_st * bufel, size_t size)
+inline static void _mbuffer_consume(mbuffer_head_st *buf, mbuffer_st *bufel,
+ size_t size)
{
bufel->uhead_mark = 0;
if (bufel->mark + size < bufel->msg.size)
@@ -92,29 +90,29 @@ _mbuffer_consume(mbuffer_head_st * buf, mbuffer_st * bufel, size_t size)
buf->byte_length -= size;
}
-inline static size_t _mbuffer_get_uhead_size(mbuffer_st * bufel)
+inline static size_t _mbuffer_get_uhead_size(mbuffer_st *bufel)
{
return bufel->uhead_mark;
}
-inline static void _mbuffer_set_uhead_size(mbuffer_st * bufel, size_t size)
+inline static void _mbuffer_set_uhead_size(mbuffer_st *bufel, size_t size)
{
bufel->uhead_mark = size;
}
-inline static void _mbuffer_init(mbuffer_st * bufel, size_t max)
+inline static void _mbuffer_init(mbuffer_st *bufel, size_t max)
{
memset(bufel, 0, sizeof(*bufel));
bufel->maximum_size = max;
/* payload points after the mbuffer_st structure */
- bufel->msg.data = (uint8_t *) bufel + sizeof(mbuffer_st);
+ bufel->msg.data = (uint8_t *)bufel + sizeof(mbuffer_st);
}
/* Helper functions to utilize a gnutls_buffer_st in order
* to generate a gnutls_mbuffer_st, without multiple allocations.
*/
-inline static int _gnutls_buffer_init_mbuffer(gnutls_buffer_st * buf,
+inline static int _gnutls_buffer_init_mbuffer(gnutls_buffer_st *buf,
size_t header_size)
{
int ret;
@@ -136,10 +134,11 @@ inline static int _gnutls_buffer_init_mbuffer(gnutls_buffer_st * buf,
return 0;
}
-# define _gnutls_buffer_init_handshake_mbuffer(b) _gnutls_buffer_init_mbuffer(b, HANDSHAKE_HEADER_SIZE(session))
+#define _gnutls_buffer_init_handshake_mbuffer(b) \
+ _gnutls_buffer_init_mbuffer(b, HANDSHAKE_HEADER_SIZE(session))
/* Cannot fail */
-inline static mbuffer_st *_gnutls_buffer_to_mbuffer(gnutls_buffer_st * buf)
+inline static mbuffer_st *_gnutls_buffer_to_mbuffer(gnutls_buffer_st *buf)
{
mbuffer_st *bufel;
unsigned header_size;
@@ -154,7 +153,7 @@ inline static mbuffer_st *_gnutls_buffer_to_mbuffer(gnutls_buffer_st * buf)
_mbuffer_set_udata_size(bufel, buf->length - sizeof(mbuffer_st));
_mbuffer_set_uhead_size(bufel, header_size);
- _gnutls_buffer_init(buf); /* avoid double frees */
+ _gnutls_buffer_init(buf); /* avoid double frees */
return bufel;
}
@@ -163,7 +162,7 @@ inline static mbuffer_st *_gnutls_handshake_alloc(gnutls_session_t session,
size_t maximum)
{
mbuffer_st *bufel =
- _mbuffer_alloc(HANDSHAKE_HEADER_SIZE(session) + maximum);
+ _mbuffer_alloc(HANDSHAKE_HEADER_SIZE(session) + maximum);
if (!bufel)
return NULL;
@@ -180,7 +179,7 @@ inline static mbuffer_st *_gnutls_handshake_alloc(gnutls_session_t session,
* pointer case). It also makes sure the pointer has a known value
* after freeing.
*/
-inline static void _mbuffer_xfree(mbuffer_st ** bufel)
+inline static void _mbuffer_xfree(mbuffer_st **bufel)
{
if (*bufel)
gnutls_free(*bufel);
@@ -188,12 +187,12 @@ inline static void _mbuffer_xfree(mbuffer_st ** bufel)
*bufel = NULL;
}
-# ifdef ENABLE_ALIGN16
+#ifdef ENABLE_ALIGN16
mbuffer_st *_mbuffer_alloc_align16(size_t maximum_size, unsigned align_pos);
-int _mbuffer_linearize_align16(mbuffer_head_st * buf, unsigned align_pos);
-# else
-# define _mbuffer_alloc_align16(x,y) _mbuffer_alloc(x)
-# define _mbuffer_linearize_align16(x,y) _mbuffer_linearize(x)
-# endif
+int _mbuffer_linearize_align16(mbuffer_head_st *buf, unsigned align_pos);
+#else
+#define _mbuffer_alloc_align16(x, y) _mbuffer_alloc(x)
+#define _mbuffer_linearize_align16(x, y) _mbuffer_linearize(x)
+#endif
-#endif /* GNUTLS_LIB_MBUFFERS_H */
+#endif /* GNUTLS_LIB_MBUFFERS_H */
diff --git a/lib/mem.c b/lib/mem.c
index b5ea1582ef..8527538410 100644
--- a/lib/mem.c
+++ b/lib/mem.c
@@ -86,8 +86,9 @@ char *_gnutls_strdup(const char *str)
void *_gnutls_reallocarray(void *ptr, size_t nmemb, size_t size)
{
- return xalloc_oversized(nmemb, size) ? NULL :
- gnutls_realloc(ptr, nmemb * size);
+ return xalloc_oversized(nmemb, size) ?
+ NULL :
+ gnutls_realloc(ptr, nmemb * size);
}
#if 0
@@ -130,7 +131,7 @@ void gnutls_free(void *ptr)
/* Returns 1 if the provided buffer is all zero.
* It leaks no information via timing.
*/
-unsigned _gnutls_mem_is_zero(const uint8_t * ptr, unsigned size)
+unsigned _gnutls_mem_is_zero(const uint8_t *ptr, unsigned size)
{
unsigned i;
uint8_t res = 0;
diff --git a/lib/mem.h b/lib/mem.h
index a0e088ea0d..899c6bb7dd 100644
--- a/lib/mem.h
+++ b/lib/mem.h
@@ -21,17 +21,17 @@
*/
#ifndef GNUTLS_LIB_MEM_H
-# define GNUTLS_LIB_MEM_H
+#define GNUTLS_LIB_MEM_H
-# include "config.h"
+#include "config.h"
-# ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
-# include <sanitizer/asan_interface.h>
-# endif
+#ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
+#include <sanitizer/asan_interface.h>
+#endif
-# ifdef HAVE_VALGRIND_MEMCHECK_H
-# include <valgrind/memcheck.h>
-# endif
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+#include <valgrind/memcheck.h>
+#endif
/* These realloc functions will return ptr if size==0, and will free
* the ptr if the new allocation failed.
@@ -43,38 +43,39 @@ char *_gnutls_strdup(const char *);
void *_gnutls_reallocarray(void *, size_t, size_t);
-unsigned _gnutls_mem_is_zero(const uint8_t * ptr, unsigned size);
+unsigned _gnutls_mem_is_zero(const uint8_t *ptr, unsigned size);
-# define zrelease_mpi_key(mpi) if (*mpi!=NULL) { \
- _gnutls_mpi_clear(*mpi); \
+#define zrelease_mpi_key(mpi) \
+ if (*mpi != NULL) { \
+ _gnutls_mpi_clear(*mpi); \
_gnutls_mpi_release(mpi); \
}
-# define zeroize_key(x, size) gnutls_memset(x, 0, size)
+#define zeroize_key(x, size) gnutls_memset(x, 0, size)
-# define zeroize_temp_key zeroize_key
-# define zrelease_temp_mpi_key zrelease_mpi_key
+#define zeroize_temp_key zeroize_key
+#define zrelease_temp_mpi_key zrelease_mpi_key
static inline void _gnutls_memory_mark_undefined(void *addr, size_t size)
{
-# ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
+#ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
ASAN_POISON_MEMORY_REGION(addr, size);
-# endif
-# ifdef HAVE_VALGRIND_MEMCHECK_H
+#endif
+#ifdef HAVE_VALGRIND_MEMCHECK_H
if (RUNNING_ON_VALGRIND)
VALGRIND_MAKE_MEM_UNDEFINED(addr, size);
-# endif
+#endif
}
static inline void _gnutls_memory_mark_defined(void *addr, size_t size)
{
-# ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
+#ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
ASAN_UNPOISON_MEMORY_REGION(addr, size);
-# endif
-# ifdef HAVE_VALGRIND_MEMCHECK_H
+#endif
+#ifdef HAVE_VALGRIND_MEMCHECK_H
if (RUNNING_ON_VALGRIND)
VALGRIND_MAKE_MEM_DEFINED(addr, size);
-# endif
+#endif
}
-#endif /* GNUTLS_LIB_MEM_H */
+#endif /* GNUTLS_LIB_MEM_H */
diff --git a/lib/mpi.c b/lib/mpi.c
index 3dc2261ef6..cc91cacc90 100644
--- a/lib/mpi.c
+++ b/lib/mpi.c
@@ -36,8 +36,8 @@
*/
/* Returns a random number r, 0 < r < p */
-bigint_t
-_gnutls_mpi_random_modp(bigint_t r, bigint_t p, gnutls_rnd_level_t level)
+bigint_t _gnutls_mpi_random_modp(bigint_t r, bigint_t p,
+ gnutls_rnd_level_t level)
{
size_t size;
int ret;
@@ -100,7 +100,7 @@ _gnutls_mpi_random_modp(bigint_t r, bigint_t p, gnutls_rnd_level_t level)
return tmp;
- cleanup:
+cleanup:
if (buf_release != 0)
gnutls_free(buf);
return NULL;
@@ -108,7 +108,7 @@ _gnutls_mpi_random_modp(bigint_t r, bigint_t p, gnutls_rnd_level_t level)
/* returns %GNUTLS_E_SUCCESS (0) on success
*/
-int _gnutls_mpi_init_scan(bigint_t * ret_mpi, const void *buffer, size_t nbytes)
+int _gnutls_mpi_init_scan(bigint_t *ret_mpi, const void *buffer, size_t nbytes)
{
bigint_t r;
int ret;
@@ -131,8 +131,8 @@ int _gnutls_mpi_init_scan(bigint_t * ret_mpi, const void *buffer, size_t nbytes)
/* returns %GNUTLS_E_SUCCESS (0) on success. Fails if the number is zero.
*/
-int
-_gnutls_mpi_init_scan_nz(bigint_t * ret_mpi, const void *buffer, size_t nbytes)
+int _gnutls_mpi_init_scan_nz(bigint_t *ret_mpi, const void *buffer,
+ size_t nbytes)
{
int ret;
@@ -150,8 +150,8 @@ _gnutls_mpi_init_scan_nz(bigint_t * ret_mpi, const void *buffer, size_t nbytes)
return 0;
}
-int
-_gnutls_mpi_init_scan_le(bigint_t * ret_mpi, const void *buffer, size_t nbytes)
+int _gnutls_mpi_init_scan_le(bigint_t *ret_mpi, const void *buffer,
+ size_t nbytes)
{
bigint_t r;
int ret;
@@ -172,7 +172,7 @@ _gnutls_mpi_init_scan_le(bigint_t * ret_mpi, const void *buffer, size_t nbytes)
return 0;
}
-int _gnutls_mpi_dprint_le(const bigint_t a, gnutls_datum_t * dest)
+int _gnutls_mpi_dprint_le(const bigint_t a, gnutls_datum_t *dest)
{
int ret;
uint8_t *buf = NULL;
@@ -199,7 +199,7 @@ int _gnutls_mpi_dprint_le(const bigint_t a, gnutls_datum_t * dest)
}
/* Always has the first bit zero */
-int _gnutls_mpi_dprint_lz(const bigint_t a, gnutls_datum_t * dest)
+int _gnutls_mpi_dprint_lz(const bigint_t a, gnutls_datum_t *dest)
{
int ret;
uint8_t *buf = NULL;
@@ -226,7 +226,7 @@ int _gnutls_mpi_dprint_lz(const bigint_t a, gnutls_datum_t * dest)
return 0;
}
-int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t * dest)
+int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t *dest)
{
int ret;
uint8_t *buf = NULL;
@@ -256,8 +256,7 @@ int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t * dest)
* but will set minimum size to 'size'. That means that
* the output value is left padded with zeros.
*/
-int
-_gnutls_mpi_dprint_size(const bigint_t a, gnutls_datum_t * dest, size_t size)
+int _gnutls_mpi_dprint_size(const bigint_t a, gnutls_datum_t *dest, size_t size)
{
int ret;
uint8_t *buf = NULL;
@@ -293,7 +292,7 @@ _gnutls_mpi_dprint_size(const bigint_t a, gnutls_datum_t * dest, size_t size)
}
/* like _gnutls_mpi_dprint_size, but prints into preallocated byte buffer */
-int _gnutls_mpi_bprint_size(const bigint_t a, uint8_t * buf, size_t size)
+int _gnutls_mpi_bprint_size(const bigint_t a, uint8_t *buf, size_t size)
{
int result;
size_t bytes = 0;
@@ -317,17 +316,16 @@ int _gnutls_mpi_bprint_size(const bigint_t a, uint8_t * buf, size_t size)
}
/* Flags for __gnutls_x509_read_int() and __gnutls_x509_write_int */
-#define GNUTLS_X509_INT_OVERWRITE (1 << 0)
-#define GNUTLS_X509_INT_LE (1 << 1)
-#define GNUTLS_X509_INT_LZ (1 << 2) /* write only */
+#define GNUTLS_X509_INT_OVERWRITE (1 << 0)
+#define GNUTLS_X509_INT_LE (1 << 1)
+#define GNUTLS_X509_INT_LZ (1 << 2) /* write only */
/* this function reads an integer
* from asn1 structs. Combines the read and mpi_scan
* steps.
*/
-static int
-__gnutls_x509_read_int(asn1_node node, const char *value,
- bigint_t * ret_mpi, unsigned int flags)
+static int __gnutls_x509_read_int(asn1_node node, const char *value,
+ bigint_t *ret_mpi, unsigned int flags)
{
int result;
uint8_t *tmpstr = NULL;
@@ -370,32 +368,30 @@ __gnutls_x509_read_int(asn1_node node, const char *value,
return 0;
}
-int _gnutls_x509_read_int(asn1_node node, const char *value, bigint_t * ret_mpi)
+int _gnutls_x509_read_int(asn1_node node, const char *value, bigint_t *ret_mpi)
{
return __gnutls_x509_read_int(node, value, ret_mpi, 0);
}
-int
-_gnutls_x509_read_key_int(asn1_node node, const char *value, bigint_t * ret_mpi)
+int _gnutls_x509_read_key_int(asn1_node node, const char *value,
+ bigint_t *ret_mpi)
{
return __gnutls_x509_read_int(node, value, ret_mpi,
GNUTLS_X509_INT_OVERWRITE);
}
-int
-_gnutls_x509_read_key_int_le(asn1_node node, const char *value,
- bigint_t * ret_mpi)
+int _gnutls_x509_read_key_int_le(asn1_node node, const char *value,
+ bigint_t *ret_mpi)
{
return __gnutls_x509_read_int(node, value, ret_mpi,
GNUTLS_X509_INT_OVERWRITE |
- GNUTLS_X509_INT_LE);
+ GNUTLS_X509_INT_LE);
}
/* Writes the specified integer into the specified node.
*/
-static int
-__gnutls_x509_write_int(asn1_node node, const char *value, bigint_t mpi,
- unsigned int flags)
+static int __gnutls_x509_write_int(asn1_node node, const char *value,
+ bigint_t mpi, unsigned int flags)
{
uint8_t *tmpstr;
size_t s_len;
@@ -448,26 +444,25 @@ __gnutls_x509_write_int(asn1_node node, const char *value, bigint_t mpi,
return 0;
}
-int
-_gnutls_x509_write_int(asn1_node node, const char *value, bigint_t mpi, int lz)
+int _gnutls_x509_write_int(asn1_node node, const char *value, bigint_t mpi,
+ int lz)
{
return __gnutls_x509_write_int(node, value, mpi,
lz ? GNUTLS_X509_INT_LZ : 0);
}
-int
-_gnutls_x509_write_key_int(asn1_node node, const char *value, bigint_t mpi,
- int lz)
+int _gnutls_x509_write_key_int(asn1_node node, const char *value, bigint_t mpi,
+ int lz)
{
return __gnutls_x509_write_int(node, value, mpi,
(lz ? GNUTLS_X509_INT_LZ : 0) |
- GNUTLS_X509_INT_OVERWRITE);
+ GNUTLS_X509_INT_OVERWRITE);
}
-int
-_gnutls_x509_write_key_int_le(asn1_node node, const char *value, bigint_t mpi)
+int _gnutls_x509_write_key_int_le(asn1_node node, const char *value,
+ bigint_t mpi)
{
return __gnutls_x509_write_int(node, value, mpi,
GNUTLS_X509_INT_OVERWRITE |
- GNUTLS_X509_INT_LE);
+ GNUTLS_X509_INT_LE);
}
diff --git a/lib/mpi.h b/lib/mpi.h
index 9770f72025..c90bbcd6b4 100644
--- a/lib/mpi.h
+++ b/lib/mpi.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_LIB_MPI_H
-# define GNUTLS_LIB_MPI_H
+#define GNUTLS_LIB_MPI_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
-# include <crypto-backend.h>
+#include <crypto-backend.h>
extern int crypto_bigint_prio;
extern gnutls_crypto_bigint_st _gnutls_mpi_ops;
@@ -33,37 +33,41 @@ extern gnutls_crypto_bigint_st _gnutls_mpi_ops;
bigint_t _gnutls_mpi_random_modp(bigint_t, bigint_t p,
gnutls_rnd_level_t level);
-# define _gnutls_mpi_init _gnutls_mpi_ops.bigint_init
-# define _gnutls_mpi_init_multi _gnutls_mpi_ops.bigint_init_multi
-# define _gnutls_mpi_clear _gnutls_mpi_ops.bigint_clear
-# define _gnutls_mpi_cmp _gnutls_mpi_ops.bigint_cmp
-# define _gnutls_mpi_cmp_ui _gnutls_mpi_ops.bigint_cmp_ui
-# define _gnutls_mpi_mod _gnutls_mpi_ops.bigint_mod
-# define _gnutls_mpi_modm _gnutls_mpi_ops.bigint_modm
-# define _gnutls_mpi_set _gnutls_mpi_ops.bigint_set
-# define _gnutls_mpi_set_ui _gnutls_mpi_ops.bigint_set_ui
-# define _gnutls_mpi_get_nbits _gnutls_mpi_ops.bigint_get_nbits
-# define _gnutls_mpi_powm _gnutls_mpi_ops.bigint_powm
-# define _gnutls_mpi_addm _gnutls_mpi_ops.bigint_addm
-# define _gnutls_mpi_subm _gnutls_mpi_ops.bigint_subm
-# define _gnutls_mpi_mulm _gnutls_mpi_ops.bigint_mulm
-# define _gnutls_mpi_add _gnutls_mpi_ops.bigint_add
-# define _gnutls_mpi_sub _gnutls_mpi_ops.bigint_sub
-# define _gnutls_mpi_mul _gnutls_mpi_ops.bigint_mul
-# define _gnutls_mpi_div _gnutls_mpi_ops.bigint_div
-# define _gnutls_mpi_add_ui _gnutls_mpi_ops.bigint_add_ui
-# define _gnutls_mpi_sub_ui _gnutls_mpi_ops.bigint_sub_ui
-# define _gnutls_mpi_mul_ui _gnutls_mpi_ops.bigint_mul_ui
-# define _gnutls_prime_check _gnutls_mpi_ops.bigint_prime_check
-# define _gnutls_mpi_print(x,y,z) _gnutls_mpi_ops.bigint_print(x,y,z,GNUTLS_MPI_FORMAT_USG)
-# define _gnutls_mpi_print_lz(x,y,z) _gnutls_mpi_ops.bigint_print(x,y,z,GNUTLS_MPI_FORMAT_STD)
-# define _gnutls_mpi_print_le(x,y,z) _gnutls_mpi_ops.bigint_print(x,y,z,GNUTLS_MPI_FORMAT_ULE)
-# define _gnutls_mpi_copy _gnutls_mpi_ops.bigint_copy
-# define _gnutls_mpi_scan(r, b, s) _gnutls_mpi_ops.bigint_scan(r, b, s, GNUTLS_MPI_FORMAT_USG)
-# define _gnutls_mpi_scan_le(r, b, s) _gnutls_mpi_ops.bigint_scan(r, b, s, GNUTLS_MPI_FORMAT_ULE)
+#define _gnutls_mpi_init _gnutls_mpi_ops.bigint_init
+#define _gnutls_mpi_init_multi _gnutls_mpi_ops.bigint_init_multi
+#define _gnutls_mpi_clear _gnutls_mpi_ops.bigint_clear
+#define _gnutls_mpi_cmp _gnutls_mpi_ops.bigint_cmp
+#define _gnutls_mpi_cmp_ui _gnutls_mpi_ops.bigint_cmp_ui
+#define _gnutls_mpi_mod _gnutls_mpi_ops.bigint_mod
+#define _gnutls_mpi_modm _gnutls_mpi_ops.bigint_modm
+#define _gnutls_mpi_set _gnutls_mpi_ops.bigint_set
+#define _gnutls_mpi_set_ui _gnutls_mpi_ops.bigint_set_ui
+#define _gnutls_mpi_get_nbits _gnutls_mpi_ops.bigint_get_nbits
+#define _gnutls_mpi_powm _gnutls_mpi_ops.bigint_powm
+#define _gnutls_mpi_addm _gnutls_mpi_ops.bigint_addm
+#define _gnutls_mpi_subm _gnutls_mpi_ops.bigint_subm
+#define _gnutls_mpi_mulm _gnutls_mpi_ops.bigint_mulm
+#define _gnutls_mpi_add _gnutls_mpi_ops.bigint_add
+#define _gnutls_mpi_sub _gnutls_mpi_ops.bigint_sub
+#define _gnutls_mpi_mul _gnutls_mpi_ops.bigint_mul
+#define _gnutls_mpi_div _gnutls_mpi_ops.bigint_div
+#define _gnutls_mpi_add_ui _gnutls_mpi_ops.bigint_add_ui
+#define _gnutls_mpi_sub_ui _gnutls_mpi_ops.bigint_sub_ui
+#define _gnutls_mpi_mul_ui _gnutls_mpi_ops.bigint_mul_ui
+#define _gnutls_prime_check _gnutls_mpi_ops.bigint_prime_check
+#define _gnutls_mpi_print(x, y, z) \
+ _gnutls_mpi_ops.bigint_print(x, y, z, GNUTLS_MPI_FORMAT_USG)
+#define _gnutls_mpi_print_lz(x, y, z) \
+ _gnutls_mpi_ops.bigint_print(x, y, z, GNUTLS_MPI_FORMAT_STD)
+#define _gnutls_mpi_print_le(x, y, z) \
+ _gnutls_mpi_ops.bigint_print(x, y, z, GNUTLS_MPI_FORMAT_ULE)
+#define _gnutls_mpi_copy _gnutls_mpi_ops.bigint_copy
+#define _gnutls_mpi_scan(r, b, s) \
+ _gnutls_mpi_ops.bigint_scan(r, b, s, GNUTLS_MPI_FORMAT_USG)
+#define _gnutls_mpi_scan_le(r, b, s) \
+ _gnutls_mpi_ops.bigint_scan(r, b, s, GNUTLS_MPI_FORMAT_ULE)
-inline static
-void _gnutls_mpi_release(bigint_t * x)
+inline static void _gnutls_mpi_release(bigint_t *x)
{
if (*x == NULL)
return;
@@ -72,22 +76,22 @@ void _gnutls_mpi_release(bigint_t * x)
*x = NULL;
}
-int _gnutls_mpi_init_scan(bigint_t * ret_mpi, const void *buffer,
- size_t nbytes);
-int _gnutls_mpi_init_scan_nz(bigint_t * ret_mpi, const void *buffer,
+int _gnutls_mpi_init_scan(bigint_t *ret_mpi, const void *buffer, size_t nbytes);
+int _gnutls_mpi_init_scan_nz(bigint_t *ret_mpi, const void *buffer,
size_t nbytes);
-int _gnutls_mpi_init_scan_le(bigint_t * ret_mpi, const void *buffer,
+int _gnutls_mpi_init_scan_le(bigint_t *ret_mpi, const void *buffer,
size_t nbytes);
-int _gnutls_mpi_dprint_le(const bigint_t a, gnutls_datum_t * dest);
-int _gnutls_mpi_dprint_lz(const bigint_t a, gnutls_datum_t * dest);
-int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t * dest);
-int _gnutls_mpi_dprint_size(const bigint_t a, gnutls_datum_t * dest,
+int _gnutls_mpi_dprint_le(const bigint_t a, gnutls_datum_t *dest);
+int _gnutls_mpi_dprint_lz(const bigint_t a, gnutls_datum_t *dest);
+int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t *dest);
+int _gnutls_mpi_dprint_size(const bigint_t a, gnutls_datum_t *dest,
size_t size);
-int _gnutls_mpi_bprint_size(const bigint_t a, uint8_t * buf, size_t size);
+int _gnutls_mpi_bprint_size(const bigint_t a, uint8_t *buf, size_t size);
-typedef int (*mpi_dprint_func)(const bigint_t a, gnutls_datum_t * dest);
+typedef int (*mpi_dprint_func)(const bigint_t a, gnutls_datum_t *dest);
-# define _gnutls_mpi_generate_group( gg, bits) _gnutls_mpi_ops.bigint_generate_group( gg, bits)
+#define _gnutls_mpi_generate_group(gg, bits) \
+ _gnutls_mpi_ops.bigint_generate_group(gg, bits)
-#endif /* GNUTLS_LIB_MPI_H */
+#endif /* GNUTLS_LIB_MPI_H */
diff --git a/lib/name_val_array.h b/lib/name_val_array.h
index 211f93b250..1cbab723ee 100644
--- a/lib/name_val_array.h
+++ b/lib/name_val_array.h
@@ -22,10 +22,10 @@
*/
#ifndef GNUTLS_NAME_VAL_ARRAY_H
-# define GNUTLS_NAME_VAL_ARRAY_H
+#define GNUTLS_NAME_VAL_ARRAY_H
-# include "gnutls_int.h"
-# include "errors.h"
+#include "gnutls_int.h"
+#include "errors.h"
/* Functionality to allow an array of strings. Strings
* are allowed to be added to the list and matched against it.
@@ -38,7 +38,7 @@ typedef struct name_val_array_st {
struct name_val_array_st *next;
} *name_val_array_t;
-inline static void _name_val_array_clear(name_val_array_t * head)
+inline static void _name_val_array_clear(name_val_array_t *head)
{
name_val_array_t prev, array = *head;
@@ -75,8 +75,8 @@ inline static void append(name_val_array_t array, const char *name,
array->name[name_len] = 0;
array->name_size = name_len;
- array->val =
- ((char *)array) + name_len + 1 + sizeof(struct name_val_array_st);
+ array->val = ((char *)array) + name_len + 1 +
+ sizeof(struct name_val_array_st);
if (val)
memcpy(array->val, val, val_len);
array->val[val_len] = 0;
@@ -84,7 +84,7 @@ inline static void append(name_val_array_t array, const char *name,
array->next = NULL;
}
-inline static int _name_val_array_append(name_val_array_t * head,
+inline static int _name_val_array_append(name_val_array_t *head,
const char *name, const char *val)
{
name_val_array_t prev, array;
@@ -92,9 +92,8 @@ inline static int _name_val_array_append(name_val_array_t * head,
unsigned val_len = (val == NULL) ? 0 : strlen(val);
if (*head == NULL) {
- *head =
- gnutls_malloc(val_len + name_len + 2 +
- sizeof(struct name_val_array_st));
+ *head = gnutls_malloc(val_len + name_len + 2 +
+ sizeof(struct name_val_array_st));
if (*head == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -108,9 +107,8 @@ inline static int _name_val_array_append(name_val_array_t * head,
prev = array;
array = prev->next;
}
- prev->next =
- gnutls_malloc(name_len + val_len + 2 +
- sizeof(struct name_val_array_st));
+ prev->next = gnutls_malloc(name_len + val_len + 2 +
+ sizeof(struct name_val_array_st));
array = prev->next;
if (array == NULL)
diff --git a/lib/nettle/cipher.c b/lib/nettle/cipher.c
index f34fbb19b0..46e1277dd2 100644
--- a/lib/nettle/cipher.c
+++ b/lib/nettle/cipher.c
@@ -35,23 +35,23 @@
#include <nettle/des.h>
#include <nettle/version.h>
#if ENABLE_GOST
-# ifndef HAVE_NETTLE_GOST28147_SET_KEY
-# include "gost/gost28147.h"
-# else
-# include <nettle/gost28147.h>
-# endif
-# ifndef HAVE_NETTLE_MAGMA_SET_KEY
-# include "gost/magma.h"
-# else
-# include <nettle/magma.h>
-# endif
-# ifndef HAVE_NETTLE_KUZNYECHIK_SET_KEY
-# include "gost/kuznyechik.h"
-# else
-# include <nettle/kuznyechik.h>
-# endif
-# include "gost/acpkm.h"
-# include <nettle/ctr.h>
+#ifndef HAVE_NETTLE_GOST28147_SET_KEY
+#include "gost/gost28147.h"
+#else
+#include <nettle/gost28147.h>
+#endif
+#ifndef HAVE_NETTLE_MAGMA_SET_KEY
+#include "gost/magma.h"
+#else
+#include <nettle/magma.h>
+#endif
+#ifndef HAVE_NETTLE_KUZNYECHIK_SET_KEY
+#include "gost/kuznyechik.h"
+#else
+#include <nettle/kuznyechik.h>
+#endif
+#include "gost/acpkm.h"
+#include <nettle/ctr.h>
#endif
#include <nettle/nettle-meta.h>
#include <nettle/cbc.h>
@@ -69,23 +69,21 @@ struct nettle_cipher_ctx;
/* Functions that refer to the nettle library.
*/
-typedef void (*encrypt_func)(struct nettle_cipher_ctx *,
- size_t length, uint8_t * dst, const uint8_t * src);
-typedef void (*decrypt_func)(struct nettle_cipher_ctx *,
- size_t length, uint8_t * dst, const uint8_t * src);
-
-typedef void (*aead_encrypt_func)(struct nettle_cipher_ctx *,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size,
- size_t length, uint8_t * dst,
- const uint8_t * src);
-typedef int (*aead_decrypt_func)(struct nettle_cipher_ctx *,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size,
- size_t length, uint8_t * dst,
- const uint8_t * src);
+typedef void (*encrypt_func)(struct nettle_cipher_ctx *, size_t length,
+ uint8_t *dst, const uint8_t *src);
+typedef void (*decrypt_func)(struct nettle_cipher_ctx *, size_t length,
+ uint8_t *dst, const uint8_t *src);
+
+typedef void (*aead_encrypt_func)(struct nettle_cipher_ctx *, size_t nonce_size,
+ const void *nonce, size_t auth_size,
+ const void *auth, size_t tag_size,
+ size_t length, uint8_t *dst,
+ const uint8_t *src);
+typedef int (*aead_decrypt_func)(struct nettle_cipher_ctx *, size_t nonce_size,
+ const void *nonce, size_t auth_size,
+ const void *auth, size_t tag_size,
+ size_t length, uint8_t *dst,
+ const uint8_t *src);
typedef void (*setiv_func)(void *ctx, size_t length, const uint8_t *);
typedef void (*gen_setkey_func)(void *ctx, size_t length, const uint8_t *);
@@ -107,13 +105,13 @@ struct nettle_cipher_st {
nettle_hash_digest_func *tag;
nettle_set_key_func *set_encrypt_key;
nettle_set_key_func *set_decrypt_key;
- gen_setkey_func gen_set_key; /* for arcfour which has variable key size */
+ gen_setkey_func gen_set_key; /* for arcfour which has variable key size */
setiv_func set_iv;
};
struct nettle_cipher_ctx {
const struct nettle_cipher_st *cipher;
- void *ctx_ptr; /* always 16-aligned */
+ void *ctx_ptr; /* always 16-aligned */
uint8_t iv[MAX_CIPHER_BLOCK_SIZE];
unsigned iv_size;
@@ -135,34 +133,30 @@ static inline int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
return 0;
}
-static void
-_stream_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _stream_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
ctx->cipher->encrypt_block(ctx->ctx_ptr, length, dst, src);
}
-static void
-_stream_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _stream_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
ctx->cipher->decrypt_block(ctx->ctx_ptr, length, dst, src);
}
-static void
-_cbc_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _cbc_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- cbc_encrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block,
- ctx->iv_size, ctx->iv, length, dst, src);
+ cbc_encrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block, ctx->iv_size,
+ ctx->iv, length, dst, src);
}
-static void
-_cbc_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _cbc_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- cbc_decrypt(ctx->ctx_ptr, ctx->cipher->decrypt_block,
- ctx->iv_size, ctx->iv, length, dst, src);
+ cbc_decrypt(ctx->ctx_ptr, ctx->cipher->decrypt_block, ctx->iv_size,
+ ctx->iv, length, dst, src);
}
#if ENABLE_GOST
@@ -178,148 +172,138 @@ struct kuznyechik_acpkm_ctx {
struct kuznyechik_ctx cipher;
};
-static void
-_cfb_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _cfb_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- cfb_encrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block,
- ctx->iv_size, ctx->iv, length, dst, src);
+ cfb_encrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block, ctx->iv_size,
+ ctx->iv, length, dst, src);
}
-static void
-_cfb_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _cfb_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- cfb_decrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block,
- ctx->iv_size, ctx->iv, length, dst, src);
+ cfb_decrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block, ctx->iv_size,
+ ctx->iv, length, dst, src);
}
-static void
-_ctr_acpkm_crypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _ctr_acpkm_crypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
/* Use context-specific IV which comes as a first field */
ctr_crypt(ctx->ctx_ptr, ctx->cipher->encrypt_block,
ctx->cipher->block_size, ctx->ctx_ptr, length, dst, src);
}
-static void _gost28147_set_key_tc26z(void *ctx, const uint8_t * key)
+static void _gost28147_set_key_tc26z(void *ctx, const uint8_t *key)
{
gost28147_set_param(ctx, &gost28147_param_TC26_Z);
gost28147_set_key(ctx, key);
}
-static void _gost28147_set_key_cpa(void *ctx, const uint8_t * key)
+static void _gost28147_set_key_cpa(void *ctx, const uint8_t *key)
{
gost28147_set_param(ctx, &gost28147_param_CryptoPro_A);
gost28147_set_key(ctx, key);
}
-static void _gost28147_set_key_cpb(void *ctx, const uint8_t * key)
+static void _gost28147_set_key_cpb(void *ctx, const uint8_t *key)
{
gost28147_set_param(ctx, &gost28147_param_CryptoPro_B);
gost28147_set_key(ctx, key);
}
-static void _gost28147_set_key_cpc(void *ctx, const uint8_t * key)
+static void _gost28147_set_key_cpc(void *ctx, const uint8_t *key)
{
gost28147_set_param(ctx, &gost28147_param_CryptoPro_C);
gost28147_set_key(ctx, key);
}
-static void _gost28147_set_key_cpd(void *ctx, const uint8_t * key)
+static void _gost28147_set_key_cpd(void *ctx, const uint8_t *key)
{
gost28147_set_param(ctx, &gost28147_param_CryptoPro_D);
gost28147_set_key(ctx, key);
}
-static void _gost28147_cnt_set_key_tc26z(void *ctx, const uint8_t * key)
+static void _gost28147_cnt_set_key_tc26z(void *ctx, const uint8_t *key)
{
gost28147_cnt_init(ctx, key, &gost28147_param_TC26_Z);
}
-static void
-_gost28147_cnt_set_nonce(void *ctx, size_t length, const uint8_t * nonce)
+static void _gost28147_cnt_set_nonce(void *ctx, size_t length,
+ const uint8_t *nonce)
{
gost28147_cnt_set_iv(ctx, nonce);
}
-static void
-_gost28147_cnt_crypt(struct nettle_cipher_ctx *ctx, size_t length,
- uint8_t * dst, const uint8_t * src)
+static void _gost28147_cnt_crypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
gost28147_cnt_crypt((void *)ctx->ctx_ptr, length, dst, src);
}
-static void
-_magma_acpkm_crypt(struct magma_acpkm_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+static void _magma_acpkm_crypt(struct magma_acpkm_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
acpkm_crypt(&ctx->ctx, &ctx->cipher,
- (nettle_cipher_func *) magma_encrypt,
- (nettle_set_key_func *) magma_set_key, length, dst, src);
+ (nettle_cipher_func *)magma_encrypt,
+ (nettle_set_key_func *)magma_set_key, length, dst, src);
}
-static void
-_kuznyechik_acpkm_crypt(struct kuznyechik_acpkm_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+static void _kuznyechik_acpkm_crypt(struct kuznyechik_acpkm_ctx *ctx,
+ size_t length, uint8_t *dst,
+ const uint8_t *src)
{
acpkm_crypt(&ctx->ctx, &ctx->cipher,
- (nettle_cipher_func *) kuznyechik_encrypt,
- (nettle_set_key_func *) kuznyechik_set_key,
- length, dst, src);
+ (nettle_cipher_func *)kuznyechik_encrypt,
+ (nettle_set_key_func *)kuznyechik_set_key, length, dst,
+ src);
}
-static void
-_magma_ctr_acpkm_set_key(struct magma_acpkm_ctx *ctx, const uint8_t * key)
+static void _magma_ctr_acpkm_set_key(struct magma_acpkm_ctx *ctx,
+ const uint8_t *key)
{
magma_set_key(&ctx->cipher, key);
ctx->ctx.pos = 0;
ctx->ctx.N = 1024;
}
-static void
-_magma_ctr_acpkm_set_iv(struct magma_acpkm_ctx *ctx, size_t length,
- const uint8_t * iv)
+static void _magma_ctr_acpkm_set_iv(struct magma_acpkm_ctx *ctx, size_t length,
+ const uint8_t *iv)
{
memcpy(ctx->iv, iv, length);
memset(ctx->iv + length, 0, MAGMA_BLOCK_SIZE - length);
}
-static void
-_kuznyechik_ctr_acpkm_set_key(struct kuznyechik_acpkm_ctx *ctx,
- const uint8_t * key)
+static void _kuznyechik_ctr_acpkm_set_key(struct kuznyechik_acpkm_ctx *ctx,
+ const uint8_t *key)
{
kuznyechik_set_key(&ctx->cipher, key);
ctx->ctx.pos = 0;
ctx->ctx.N = 4096;
}
-static void
-_kuznyechik_ctr_acpkm_set_iv(struct kuznyechik_acpkm_ctx *ctx, size_t length,
- const uint8_t * iv)
+static void _kuznyechik_ctr_acpkm_set_iv(struct kuznyechik_acpkm_ctx *ctx,
+ size_t length, const uint8_t *iv)
{
memcpy(ctx->iv, iv, length);
memset(ctx->iv + length, 0, KUZNYECHIK_BLOCK_SIZE - length);
}
#endif
-static void
-_ccm_encrypt(struct nettle_cipher_ctx *ctx,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size, size_t length, uint8_t * dst, const uint8_t * src)
+static void _ccm_encrypt(struct nettle_cipher_ctx *ctx, size_t nonce_size,
+ const void *nonce, size_t auth_size, const void *auth,
+ size_t tag_size, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
ccm_encrypt_message((void *)ctx->ctx_ptr, ctx->cipher->encrypt_block,
- nonce_size, nonce,
- auth_size, auth, tag_size, length, dst, src);
+ nonce_size, nonce, auth_size, auth, tag_size,
+ length, dst, src);
}
-static int
-_ccm_decrypt(struct nettle_cipher_ctx *ctx,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size, size_t length, uint8_t * dst, const uint8_t * src)
+static int _ccm_decrypt(struct nettle_cipher_ctx *ctx, size_t nonce_size,
+ const void *nonce, size_t auth_size, const void *auth,
+ size_t tag_size, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
return ccm_decrypt_message((void *)ctx->ctx_ptr,
ctx->cipher->encrypt_block, nonce_size,
@@ -327,78 +311,68 @@ _ccm_decrypt(struct nettle_cipher_ctx *ctx,
dst, src);
}
-static void
-_siv_cmac_aes128_encrypt_message(struct nettle_cipher_ctx *ctx,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size,
- size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _siv_cmac_aes128_encrypt_message(struct nettle_cipher_ctx *ctx,
+ size_t nonce_size,
+ const void *nonce,
+ size_t auth_size, const void *auth,
+ size_t tag_size, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- siv_cmac_aes128_encrypt_message((void *)ctx->ctx_ptr,
- nonce_size, nonce,
+ siv_cmac_aes128_encrypt_message((void *)ctx->ctx_ptr, nonce_size, nonce,
auth_size, auth, length, dst, src);
}
-static int
-_siv_cmac_aes128_decrypt_message(struct nettle_cipher_ctx *ctx,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size,
- size_t length, uint8_t * dst,
- const uint8_t * src)
+static int _siv_cmac_aes128_decrypt_message(struct nettle_cipher_ctx *ctx,
+ size_t nonce_size,
+ const void *nonce, size_t auth_size,
+ const void *auth, size_t tag_size,
+ size_t length, uint8_t *dst,
+ const uint8_t *src)
{
- return siv_cmac_aes128_decrypt_message((void *)ctx->ctx_ptr,
- nonce_size, nonce,
- auth_size, auth,
- length, dst, src);
+ return siv_cmac_aes128_decrypt_message((void *)ctx->ctx_ptr, nonce_size,
+ nonce, auth_size, auth, length,
+ dst, src);
}
-static void
-_siv_cmac_aes256_encrypt_message(struct nettle_cipher_ctx *ctx,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size,
- size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _siv_cmac_aes256_encrypt_message(struct nettle_cipher_ctx *ctx,
+ size_t nonce_size,
+ const void *nonce,
+ size_t auth_size, const void *auth,
+ size_t tag_size, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- siv_cmac_aes256_encrypt_message((void *)ctx->ctx_ptr,
- nonce_size, nonce,
+ siv_cmac_aes256_encrypt_message((void *)ctx->ctx_ptr, nonce_size, nonce,
auth_size, auth, length, dst, src);
}
-static int
-_siv_cmac_aes256_decrypt_message(struct nettle_cipher_ctx *ctx,
- size_t nonce_size, const void *nonce,
- size_t auth_size, const void *auth,
- size_t tag_size,
- size_t length, uint8_t * dst,
- const uint8_t * src)
+static int _siv_cmac_aes256_decrypt_message(struct nettle_cipher_ctx *ctx,
+ size_t nonce_size,
+ const void *nonce, size_t auth_size,
+ const void *auth, size_t tag_size,
+ size_t length, uint8_t *dst,
+ const uint8_t *src)
{
- return siv_cmac_aes256_decrypt_message((void *)ctx->ctx_ptr,
- nonce_size, nonce,
- auth_size, auth,
- length, dst, src);
+ return siv_cmac_aes256_decrypt_message((void *)ctx->ctx_ptr, nonce_size,
+ nonce, auth_size, auth, length,
+ dst, src);
}
-static void
-_chacha_set_nonce(struct chacha_ctx *ctx, size_t length, const uint8_t * nonce)
+static void _chacha_set_nonce(struct chacha_ctx *ctx, size_t length,
+ const uint8_t *nonce)
{
chacha_set_nonce(ctx, nonce + CHACHA_COUNTER_SIZE);
chacha_set_counter(ctx, nonce);
}
-static void
-_chacha_set_nonce96(struct chacha_ctx *ctx,
- size_t length, const uint8_t * nonce)
+static void _chacha_set_nonce96(struct chacha_ctx *ctx, size_t length,
+ const uint8_t *nonce)
{
chacha_set_nonce96(ctx, nonce + CHACHA_COUNTER32_SIZE);
chacha_set_counter32(ctx, nonce);
}
-static void
-_chacha_poly1305_set_nonce(struct chacha_poly1305_ctx *ctx,
- size_t length, const uint8_t * nonce)
+static void _chacha_poly1305_set_nonce(struct chacha_poly1305_ctx *ctx,
+ size_t length, const uint8_t *nonce)
{
chacha_poly1305_set_nonce(ctx, nonce);
}
@@ -408,13 +382,12 @@ struct gcm_cast_st {
struct gcm_ctx gcm;
unsigned long xx[1];
};
-#define GCM_CTX_GET_KEY(ptr) (&((struct gcm_cast_st*)ptr)->key)
-#define GCM_CTX_GET_CTX(ptr) (&((struct gcm_cast_st*)ptr)->gcm)
-#define GCM_CTX_GET_CIPHER(ptr) ((void*)&((struct gcm_cast_st*)ptr)->xx)
+#define GCM_CTX_GET_KEY(ptr) (&((struct gcm_cast_st *)ptr)->key)
+#define GCM_CTX_GET_CTX(ptr) (&((struct gcm_cast_st *)ptr)->gcm)
+#define GCM_CTX_GET_CIPHER(ptr) ((void *)&((struct gcm_cast_st *)ptr)->xx)
-static void
-_gcm_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _gcm_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
gcm_encrypt(GCM_CTX_GET_CTX(ctx->ctx_ptr),
GCM_CTX_GET_KEY(ctx->ctx_ptr),
@@ -422,9 +395,8 @@ _gcm_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
ctx->cipher->encrypt_block, length, dst, src);
}
-static void
-_gcm_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _gcm_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
gcm_decrypt(GCM_CTX_GET_CTX(ctx->ctx_ptr),
GCM_CTX_GET_KEY(ctx->ctx_ptr),
@@ -432,602 +404,684 @@ _gcm_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
ctx->cipher->encrypt_block, length, dst, src);
}
-static void _des_set_key(struct des_ctx *ctx, const uint8_t * key)
+static void _des_set_key(struct des_ctx *ctx, const uint8_t *key)
{
des_set_key(ctx, key);
}
-static void _des3_set_key(struct des3_ctx *ctx, const uint8_t * key)
+static void _des3_set_key(struct des3_ctx *ctx, const uint8_t *key)
{
des3_set_key(ctx, key);
}
-static void
-_cfb8_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _cfb8_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- cfb8_encrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block,
- ctx->iv_size, ctx->iv, length, dst, src);
+ cfb8_encrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block, ctx->iv_size,
+ ctx->iv, length, dst, src);
}
-static void
-_cfb8_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _cfb8_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
- cfb8_decrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block,
- ctx->iv_size, ctx->iv, length, dst, src);
+ cfb8_decrypt(ctx->ctx_ptr, ctx->cipher->encrypt_block, ctx->iv_size,
+ ctx->iv, length, dst, src);
}
-static void
-_xts_aes128_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _xts_aes128_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
xts_aes128_encrypt_message(ctx->ctx_ptr, ctx->iv, length, dst, src);
}
-static void
-_xts_aes128_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _xts_aes128_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
xts_aes128_decrypt_message(ctx->ctx_ptr, ctx->iv, length, dst, src);
}
-static void
-_xts_aes256_encrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _xts_aes256_encrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
xts_aes256_encrypt_message(ctx->ctx_ptr, ctx->iv, length, dst, src);
}
-static void
-_xts_aes256_decrypt(struct nettle_cipher_ctx *ctx, size_t length, uint8_t * dst,
- const uint8_t * src)
+static void _xts_aes256_decrypt(struct nettle_cipher_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
xts_aes256_decrypt_message(ctx->ctx_ptr, ctx->iv, length, dst, src);
}
static const struct nettle_cipher_st builtin_ciphers[] = {
- {.algo = GNUTLS_CIPHER_AES_128_GCM,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes128_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes128_decrypt,
-
- .ctx_size = sizeof(struct gcm_aes128_ctx),
- .encrypt = _gcm_encrypt,
- .decrypt = _gcm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) gcm_aes128_set_key,
- .set_decrypt_key = (nettle_set_key_func *) gcm_aes128_set_key,
-
- .tag = (nettle_hash_digest_func *) gcm_aes128_digest,
- .auth = (nettle_hash_update_func *) gcm_aes128_update,
- .set_iv = (setiv_func) gcm_aes128_set_iv,
- .max_iv_size = GCM_IV_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_192_GCM,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES192_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes192_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes192_decrypt,
-
- .ctx_size = sizeof(struct gcm_aes192_ctx),
- .encrypt = _gcm_encrypt,
- .decrypt = _gcm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) gcm_aes192_set_key,
- .set_decrypt_key = (nettle_set_key_func *) gcm_aes192_set_key,
-
- .tag = (nettle_hash_digest_func *) gcm_aes192_digest,
- .auth = (nettle_hash_update_func *) gcm_aes192_update,
- .set_iv = (setiv_func) gcm_aes192_set_iv,
- .max_iv_size = GCM_IV_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_GCM,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes256_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes256_decrypt,
-
- .ctx_size = sizeof(struct gcm_aes256_ctx),
- .encrypt = _gcm_encrypt,
- .decrypt = _gcm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) gcm_aes256_set_key,
- .set_decrypt_key = (nettle_set_key_func *) gcm_aes256_set_key,
-
- .tag = (nettle_hash_digest_func *) gcm_aes256_digest,
- .auth = (nettle_hash_update_func *) gcm_aes256_update,
- .set_iv = (setiv_func) gcm_aes256_set_iv,
- .max_iv_size = GCM_IV_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_128_CCM,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes128_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes128_decrypt,
-
- .ctx_size = sizeof(struct aes128_ctx),
- .aead_encrypt = _ccm_encrypt,
- .aead_decrypt = _ccm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .max_iv_size = CCM_MAX_NONCE_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_128_CCM_8,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes128_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes128_decrypt,
-
- .ctx_size = sizeof(struct aes128_ctx),
- .aead_encrypt = _ccm_encrypt,
- .aead_decrypt = _ccm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .max_iv_size = CCM_MAX_NONCE_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_CCM,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes256_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes256_decrypt,
-
- .ctx_size = sizeof(struct aes256_ctx),
- .aead_encrypt = _ccm_encrypt,
- .aead_decrypt = _ccm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .max_iv_size = CCM_MAX_NONCE_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_CCM_8,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes256_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes256_decrypt,
-
- .ctx_size = sizeof(struct aes256_ctx),
- .aead_encrypt = _ccm_encrypt,
- .aead_decrypt = _ccm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .max_iv_size = CCM_MAX_NONCE_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CAMELLIA_128_GCM,
- .block_size = CAMELLIA_BLOCK_SIZE,
- .key_size = CAMELLIA128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) camellia128_crypt,
- .decrypt_block = (nettle_cipher_func *) camellia128_crypt,
-
- .ctx_size = sizeof(struct gcm_camellia128_ctx),
- .encrypt = _gcm_encrypt,
- .decrypt = _gcm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) gcm_camellia128_set_key,
- .set_decrypt_key = (nettle_set_key_func *) gcm_camellia128_set_key,
- .tag = (nettle_hash_digest_func *) gcm_camellia128_digest,
- .auth = (nettle_hash_update_func *) gcm_camellia128_update,
- .max_iv_size = GCM_IV_SIZE,
- .set_iv = (setiv_func) gcm_camellia128_set_iv},
- {.algo = GNUTLS_CIPHER_CAMELLIA_256_GCM,
- .block_size = CAMELLIA_BLOCK_SIZE,
- .key_size = CAMELLIA256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) camellia256_crypt,
- .decrypt_block = (nettle_cipher_func *) camellia256_crypt,
-
- .ctx_size = sizeof(struct gcm_camellia256_ctx),
- .encrypt = _gcm_encrypt,
- .decrypt = _gcm_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) gcm_camellia256_set_key,
- .set_decrypt_key = (nettle_set_key_func *) gcm_camellia256_set_key,
- .tag = (nettle_hash_digest_func *) gcm_camellia256_digest,
- .auth = (nettle_hash_update_func *) gcm_camellia256_update,
- .max_iv_size = GCM_IV_SIZE,
- .set_iv = (setiv_func) gcm_camellia256_set_iv},
- {.algo = GNUTLS_CIPHER_AES_128_CBC,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes128_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes128_decrypt,
-
- .ctx_size = sizeof(struct CBC_CTX (struct aes128_ctx, AES_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes128_set_decrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_192_CBC,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES192_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes192_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes192_decrypt,
-
- .ctx_size = sizeof(struct CBC_CTX (struct aes192_ctx, AES_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes192_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes192_set_decrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_CBC,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes256_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes256_decrypt,
-
- .ctx_size = sizeof(struct CBC_CTX (struct aes256_ctx, AES_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes256_set_decrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CAMELLIA_128_CBC,
- .block_size = CAMELLIA_BLOCK_SIZE,
- .key_size = CAMELLIA128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) camellia128_crypt,
- .decrypt_block = (nettle_cipher_func *) camellia128_crypt,
-
- .ctx_size =
- sizeof(struct CBC_CTX (struct camellia128_ctx, CAMELLIA_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) camellia128_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) camellia128_set_decrypt_key,
- .max_iv_size = CAMELLIA_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CAMELLIA_192_CBC,
- .block_size = CAMELLIA_BLOCK_SIZE,
- .key_size = CAMELLIA192_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) camellia192_crypt,
- .decrypt_block = (nettle_cipher_func *) camellia192_crypt,
-
- .ctx_size =
- sizeof(struct CBC_CTX (struct camellia192_ctx, CAMELLIA_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) camellia192_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) camellia192_set_decrypt_key,
- .max_iv_size = CAMELLIA_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CAMELLIA_256_CBC,
- .block_size = CAMELLIA_BLOCK_SIZE,
- .key_size = CAMELLIA256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) camellia256_crypt,
- .decrypt_block = (nettle_cipher_func *) camellia256_crypt,
-
- .ctx_size =
- sizeof(struct CBC_CTX (struct camellia256_ctx, CAMELLIA_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) camellia256_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) camellia256_set_decrypt_key,
- .max_iv_size = CAMELLIA_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_RC2_40_CBC,
- .block_size = ARCTWO_BLOCK_SIZE,
- .key_size = 5,
- .encrypt_block = (nettle_cipher_func *) arctwo_encrypt,
- .decrypt_block = (nettle_cipher_func *) arctwo_decrypt,
-
- .ctx_size =
- sizeof(struct CBC_CTX (struct arctwo_ctx, ARCTWO_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) arctwo40_set_key,
- .set_decrypt_key = (nettle_set_key_func *) arctwo40_set_key,
- .max_iv_size = ARCTWO_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_DES_CBC,
- .block_size = DES_BLOCK_SIZE,
- .key_size = DES_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) des_encrypt,
- .decrypt_block = (nettle_cipher_func *) des_decrypt,
-
- .ctx_size = sizeof(struct CBC_CTX (struct des_ctx, DES_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) _des_set_key,
- .set_decrypt_key = (nettle_set_key_func *) _des_set_key,
- .max_iv_size = DES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_3DES_CBC,
- .block_size = DES3_BLOCK_SIZE,
- .key_size = DES3_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) des3_encrypt,
- .decrypt_block = (nettle_cipher_func *) des3_decrypt,
-
- .ctx_size = sizeof(struct CBC_CTX (struct des3_ctx, DES3_BLOCK_SIZE)),
- .encrypt = _cbc_encrypt,
- .decrypt = _cbc_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) _des3_set_key,
- .set_decrypt_key = (nettle_set_key_func *) _des3_set_key,
- .max_iv_size = DES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_ARCFOUR_128,
- .block_size = 1,
- .key_size = 0,
- .encrypt_block = (nettle_cipher_func *) arcfour_crypt,
- .decrypt_block = (nettle_cipher_func *) arcfour_crypt,
-
- .ctx_size = sizeof(struct arcfour_ctx),
- .encrypt = _stream_encrypt,
- .decrypt = _stream_encrypt,
- .gen_set_key = (gen_setkey_func) arcfour_set_key,
- .set_encrypt_key = (nettle_set_key_func *) arcfour128_set_key,
- .set_decrypt_key = (nettle_set_key_func *) arcfour128_set_key,
- },
- {.algo = GNUTLS_CIPHER_SALSA20_256,
- .block_size = 1,
- .key_size = SALSA20_256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) salsa20_crypt,
- .decrypt_block = (nettle_cipher_func *) salsa20_crypt,
-
- .ctx_size = sizeof(struct salsa20_ctx),
- .encrypt = _stream_encrypt,
- .decrypt = _stream_encrypt,
- .set_encrypt_key = (nettle_set_key_func *) salsa20_256_set_key,
- .set_decrypt_key = (nettle_set_key_func *) salsa20_256_set_key,
- .max_iv_size = SALSA20_NONCE_SIZE,
- },
- {.algo = GNUTLS_CIPHER_ESTREAM_SALSA20_256,
- .block_size = 1,
- .key_size = SALSA20_256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) salsa20r12_crypt,
- .decrypt_block = (nettle_cipher_func *) salsa20r12_crypt,
-
- .ctx_size = sizeof(struct salsa20_ctx),
- .encrypt = _stream_encrypt,
- .decrypt = _stream_encrypt,
- .set_encrypt_key = (nettle_set_key_func *) salsa20_256_set_key,
- .set_decrypt_key = (nettle_set_key_func *) salsa20_256_set_key,
- .max_iv_size = SALSA20_NONCE_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CHACHA20_32,
- .block_size = 1,
- .key_size = CHACHA_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) chacha_crypt32,
- .decrypt_block = (nettle_cipher_func *) chacha_crypt32,
-
- .ctx_size = sizeof(struct chacha_ctx),
- .encrypt = _stream_encrypt,
- .decrypt = _stream_encrypt,
- .set_encrypt_key = (nettle_set_key_func *) chacha_set_key,
- .set_decrypt_key = (nettle_set_key_func *) chacha_set_key,
- .set_iv = (setiv_func) _chacha_set_nonce96,
- /* we allow setting the initial block counter as part of nonce */
- .max_iv_size = CHACHA_NONCE96_SIZE + CHACHA_COUNTER32_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CHACHA20_64,
- .block_size = 1,
- .key_size = CHACHA_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) chacha_crypt,
- .decrypt_block = (nettle_cipher_func *) chacha_crypt,
-
- .ctx_size = sizeof(struct chacha_ctx),
- .encrypt = _stream_encrypt,
- .decrypt = _stream_encrypt,
- .set_encrypt_key = (nettle_set_key_func *) chacha_set_key,
- .set_decrypt_key = (nettle_set_key_func *) chacha_set_key,
- .set_iv = (setiv_func) _chacha_set_nonce,
- /* we allow setting the initial block counter as part of nonce */
- .max_iv_size = CHACHA_NONCE_SIZE + CHACHA_COUNTER_SIZE,
- },
- {.algo = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .block_size = CHACHA_POLY1305_BLOCK_SIZE,
- .key_size = CHACHA_POLY1305_KEY_SIZE,
-
- .ctx_size = sizeof(struct chacha_poly1305_ctx),
- .encrypt_block = (nettle_cipher_func *) chacha_poly1305_encrypt,
- .decrypt_block = (nettle_cipher_func *) chacha_poly1305_decrypt,
- .encrypt = _stream_encrypt,
- .decrypt = _stream_decrypt,
- .auth = (nettle_hash_update_func *) chacha_poly1305_update,
- .tag = (nettle_hash_digest_func *) chacha_poly1305_digest,
- .set_encrypt_key = (nettle_set_key_func *) chacha_poly1305_set_key,
- .set_decrypt_key = (nettle_set_key_func *) chacha_poly1305_set_key,
- .set_iv = (setiv_func) _chacha_poly1305_set_nonce,
- .max_iv_size = CHACHA_POLY1305_NONCE_SIZE,
- },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_GCM,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes128_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes128_decrypt,
+
+ .ctx_size = sizeof(struct gcm_aes128_ctx),
+ .encrypt = _gcm_encrypt,
+ .decrypt = _gcm_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)gcm_aes128_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)gcm_aes128_set_key,
+
+ .tag = (nettle_hash_digest_func *)gcm_aes128_digest,
+ .auth = (nettle_hash_update_func *)gcm_aes128_update,
+ .set_iv = (setiv_func)gcm_aes128_set_iv,
+ .max_iv_size = GCM_IV_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_192_GCM,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES192_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes192_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes192_decrypt,
+
+ .ctx_size = sizeof(struct gcm_aes192_ctx),
+ .encrypt = _gcm_encrypt,
+ .decrypt = _gcm_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)gcm_aes192_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)gcm_aes192_set_key,
+
+ .tag = (nettle_hash_digest_func *)gcm_aes192_digest,
+ .auth = (nettle_hash_update_func *)gcm_aes192_update,
+ .set_iv = (setiv_func)gcm_aes192_set_iv,
+ .max_iv_size = GCM_IV_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_GCM,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes256_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes256_decrypt,
+
+ .ctx_size = sizeof(struct gcm_aes256_ctx),
+ .encrypt = _gcm_encrypt,
+ .decrypt = _gcm_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)gcm_aes256_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)gcm_aes256_set_key,
+
+ .tag = (nettle_hash_digest_func *)gcm_aes256_digest,
+ .auth = (nettle_hash_update_func *)gcm_aes256_update,
+ .set_iv = (setiv_func)gcm_aes256_set_iv,
+ .max_iv_size = GCM_IV_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_CCM,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes128_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes128_decrypt,
+
+ .ctx_size = sizeof(struct aes128_ctx),
+ .aead_encrypt = _ccm_encrypt,
+ .aead_decrypt = _ccm_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .max_iv_size = CCM_MAX_NONCE_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_CCM_8,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes128_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes128_decrypt,
+
+ .ctx_size = sizeof(struct aes128_ctx),
+ .aead_encrypt = _ccm_encrypt,
+ .aead_decrypt = _ccm_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .max_iv_size = CCM_MAX_NONCE_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_CCM,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes256_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes256_decrypt,
+
+ .ctx_size = sizeof(struct aes256_ctx),
+ .aead_encrypt = _ccm_encrypt,
+ .aead_decrypt = _ccm_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .max_iv_size = CCM_MAX_NONCE_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_CCM_8,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes256_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes256_decrypt,
+
+ .ctx_size = sizeof(struct aes256_ctx),
+ .aead_encrypt = _ccm_encrypt,
+ .aead_decrypt = _ccm_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .max_iv_size = CCM_MAX_NONCE_SIZE,
+ },
+ { .algo = GNUTLS_CIPHER_CAMELLIA_128_GCM,
+ .block_size = CAMELLIA_BLOCK_SIZE,
+ .key_size = CAMELLIA128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)camellia128_crypt,
+ .decrypt_block = (nettle_cipher_func *)camellia128_crypt,
+
+ .ctx_size = sizeof(struct gcm_camellia128_ctx),
+ .encrypt = _gcm_encrypt,
+ .decrypt = _gcm_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)gcm_camellia128_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)gcm_camellia128_set_key,
+ .tag = (nettle_hash_digest_func *)gcm_camellia128_digest,
+ .auth = (nettle_hash_update_func *)gcm_camellia128_update,
+ .max_iv_size = GCM_IV_SIZE,
+ .set_iv = (setiv_func)gcm_camellia128_set_iv },
+ { .algo = GNUTLS_CIPHER_CAMELLIA_256_GCM,
+ .block_size = CAMELLIA_BLOCK_SIZE,
+ .key_size = CAMELLIA256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)camellia256_crypt,
+ .decrypt_block = (nettle_cipher_func *)camellia256_crypt,
+
+ .ctx_size = sizeof(struct gcm_camellia256_ctx),
+ .encrypt = _gcm_encrypt,
+ .decrypt = _gcm_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)gcm_camellia256_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)gcm_camellia256_set_key,
+ .tag = (nettle_hash_digest_func *)gcm_camellia256_digest,
+ .auth = (nettle_hash_update_func *)gcm_camellia256_update,
+ .max_iv_size = GCM_IV_SIZE,
+ .set_iv = (setiv_func)gcm_camellia256_set_iv },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_CBC,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes128_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes128_decrypt,
+
+ .ctx_size = sizeof(
+ struct CBC_CTX(struct aes128_ctx, AES_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes128_set_decrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_192_CBC,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES192_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes192_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes192_decrypt,
+
+ .ctx_size = sizeof(
+ struct CBC_CTX(struct aes192_ctx, AES_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes192_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes192_set_decrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_CBC,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes256_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes256_decrypt,
+
+ .ctx_size = sizeof(
+ struct CBC_CTX(struct aes256_ctx, AES_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes256_set_decrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_CAMELLIA_128_CBC,
+ .block_size = CAMELLIA_BLOCK_SIZE,
+ .key_size = CAMELLIA128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)camellia128_crypt,
+ .decrypt_block = (nettle_cipher_func *)camellia128_crypt,
+
+ .ctx_size = sizeof(struct CBC_CTX(struct camellia128_ctx,
+ CAMELLIA_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)camellia128_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)camellia128_set_decrypt_key,
+ .max_iv_size = CAMELLIA_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_CAMELLIA_192_CBC,
+ .block_size = CAMELLIA_BLOCK_SIZE,
+ .key_size = CAMELLIA192_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)camellia192_crypt,
+ .decrypt_block = (nettle_cipher_func *)camellia192_crypt,
+
+ .ctx_size = sizeof(struct CBC_CTX(struct camellia192_ctx,
+ CAMELLIA_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)camellia192_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)camellia192_set_decrypt_key,
+ .max_iv_size = CAMELLIA_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_CAMELLIA_256_CBC,
+ .block_size = CAMELLIA_BLOCK_SIZE,
+ .key_size = CAMELLIA256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)camellia256_crypt,
+ .decrypt_block = (nettle_cipher_func *)camellia256_crypt,
+
+ .ctx_size = sizeof(struct CBC_CTX(struct camellia256_ctx,
+ CAMELLIA_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)camellia256_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)camellia256_set_decrypt_key,
+ .max_iv_size = CAMELLIA_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_RC2_40_CBC,
+ .block_size = ARCTWO_BLOCK_SIZE,
+ .key_size = 5,
+ .encrypt_block = (nettle_cipher_func *)arctwo_encrypt,
+ .decrypt_block = (nettle_cipher_func *)arctwo_decrypt,
+
+ .ctx_size = sizeof(
+ struct CBC_CTX(struct arctwo_ctx, ARCTWO_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)arctwo40_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)arctwo40_set_key,
+ .max_iv_size = ARCTWO_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_DES_CBC,
+ .block_size = DES_BLOCK_SIZE,
+ .key_size = DES_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)des_encrypt,
+ .decrypt_block = (nettle_cipher_func *)des_decrypt,
+
+ .ctx_size =
+ sizeof(struct CBC_CTX(struct des_ctx, DES_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)_des_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)_des_set_key,
+ .max_iv_size = DES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_3DES_CBC,
+ .block_size = DES3_BLOCK_SIZE,
+ .key_size = DES3_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)des3_encrypt,
+ .decrypt_block = (nettle_cipher_func *)des3_decrypt,
+
+ .ctx_size = sizeof(
+ struct CBC_CTX(struct des3_ctx, DES3_BLOCK_SIZE)),
+ .encrypt = _cbc_encrypt,
+ .decrypt = _cbc_decrypt,
+ .set_encrypt_key = (nettle_set_key_func *)_des3_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)_des3_set_key,
+ .max_iv_size = DES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_ARCFOUR_128,
+ .block_size = 1,
+ .key_size = 0,
+ .encrypt_block = (nettle_cipher_func *)arcfour_crypt,
+ .decrypt_block = (nettle_cipher_func *)arcfour_crypt,
+
+ .ctx_size = sizeof(struct arcfour_ctx),
+ .encrypt = _stream_encrypt,
+ .decrypt = _stream_encrypt,
+ .gen_set_key = (gen_setkey_func)arcfour_set_key,
+ .set_encrypt_key = (nettle_set_key_func *)arcfour128_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)arcfour128_set_key,
+ },
+ {
+ .algo = GNUTLS_CIPHER_SALSA20_256,
+ .block_size = 1,
+ .key_size = SALSA20_256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)salsa20_crypt,
+ .decrypt_block = (nettle_cipher_func *)salsa20_crypt,
+
+ .ctx_size = sizeof(struct salsa20_ctx),
+ .encrypt = _stream_encrypt,
+ .decrypt = _stream_encrypt,
+ .set_encrypt_key = (nettle_set_key_func *)salsa20_256_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)salsa20_256_set_key,
+ .max_iv_size = SALSA20_NONCE_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_ESTREAM_SALSA20_256,
+ .block_size = 1,
+ .key_size = SALSA20_256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)salsa20r12_crypt,
+ .decrypt_block = (nettle_cipher_func *)salsa20r12_crypt,
+
+ .ctx_size = sizeof(struct salsa20_ctx),
+ .encrypt = _stream_encrypt,
+ .decrypt = _stream_encrypt,
+ .set_encrypt_key = (nettle_set_key_func *)salsa20_256_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)salsa20_256_set_key,
+ .max_iv_size = SALSA20_NONCE_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_CHACHA20_32,
+ .block_size = 1,
+ .key_size = CHACHA_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)chacha_crypt32,
+ .decrypt_block = (nettle_cipher_func *)chacha_crypt32,
+
+ .ctx_size = sizeof(struct chacha_ctx),
+ .encrypt = _stream_encrypt,
+ .decrypt = _stream_encrypt,
+ .set_encrypt_key = (nettle_set_key_func *)chacha_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)chacha_set_key,
+ .set_iv = (setiv_func)_chacha_set_nonce96,
+ /* we allow setting the initial block counter as part of nonce */
+ .max_iv_size = CHACHA_NONCE96_SIZE + CHACHA_COUNTER32_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_CHACHA20_64,
+ .block_size = 1,
+ .key_size = CHACHA_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)chacha_crypt,
+ .decrypt_block = (nettle_cipher_func *)chacha_crypt,
+
+ .ctx_size = sizeof(struct chacha_ctx),
+ .encrypt = _stream_encrypt,
+ .decrypt = _stream_encrypt,
+ .set_encrypt_key = (nettle_set_key_func *)chacha_set_key,
+ .set_decrypt_key = (nettle_set_key_func *)chacha_set_key,
+ .set_iv = (setiv_func)_chacha_set_nonce,
+ /* we allow setting the initial block counter as part of nonce */
+ .max_iv_size = CHACHA_NONCE_SIZE + CHACHA_COUNTER_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .block_size = CHACHA_POLY1305_BLOCK_SIZE,
+ .key_size = CHACHA_POLY1305_KEY_SIZE,
+
+ .ctx_size = sizeof(struct chacha_poly1305_ctx),
+ .encrypt_block = (nettle_cipher_func *)chacha_poly1305_encrypt,
+ .decrypt_block = (nettle_cipher_func *)chacha_poly1305_decrypt,
+ .encrypt = _stream_encrypt,
+ .decrypt = _stream_decrypt,
+ .auth = (nettle_hash_update_func *)chacha_poly1305_update,
+ .tag = (nettle_hash_digest_func *)chacha_poly1305_digest,
+ .set_encrypt_key =
+ (nettle_set_key_func *)chacha_poly1305_set_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)chacha_poly1305_set_key,
+ .set_iv = (setiv_func)_chacha_poly1305_set_nonce,
+ .max_iv_size = CHACHA_POLY1305_NONCE_SIZE,
+ },
#if ENABLE_GOST
{
- .algo = GNUTLS_CIPHER_GOST28147_TC26Z_CFB,
- .block_size = GOST28147_BLOCK_SIZE,
- .key_size = GOST28147_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
- .decrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
-
- .ctx_size =
- sizeof(struct CFB_CTX (struct gost28147_ctx, GOST28147_BLOCK_SIZE)),
- .encrypt = _cfb_encrypt,
- .decrypt = _cfb_decrypt,
- .set_encrypt_key = _gost28147_set_key_tc26z,
- .set_decrypt_key = _gost28147_set_key_tc26z,
- },
+ .algo = GNUTLS_CIPHER_GOST28147_TC26Z_CFB,
+ .block_size = GOST28147_BLOCK_SIZE,
+ .key_size = GOST28147_KEY_SIZE,
+ .encrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+ .decrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+
+ .ctx_size = sizeof(struct CFB_CTX(struct gost28147_ctx,
+ GOST28147_BLOCK_SIZE)),
+ .encrypt = _cfb_encrypt,
+ .decrypt = _cfb_decrypt,
+ .set_encrypt_key = _gost28147_set_key_tc26z,
+ .set_decrypt_key = _gost28147_set_key_tc26z,
+ },
{
- .algo = GNUTLS_CIPHER_GOST28147_CPA_CFB,
- .block_size = GOST28147_BLOCK_SIZE,
- .key_size = GOST28147_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
- .decrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
-
- .ctx_size =
- sizeof(struct CFB_CTX (struct gost28147_ctx, GOST28147_BLOCK_SIZE)),
- .encrypt = _cfb_encrypt,
- .decrypt = _cfb_decrypt,
- .set_encrypt_key = _gost28147_set_key_cpa,
- .set_decrypt_key = _gost28147_set_key_cpa,
- },
+ .algo = GNUTLS_CIPHER_GOST28147_CPA_CFB,
+ .block_size = GOST28147_BLOCK_SIZE,
+ .key_size = GOST28147_KEY_SIZE,
+ .encrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+ .decrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+
+ .ctx_size = sizeof(struct CFB_CTX(struct gost28147_ctx,
+ GOST28147_BLOCK_SIZE)),
+ .encrypt = _cfb_encrypt,
+ .decrypt = _cfb_decrypt,
+ .set_encrypt_key = _gost28147_set_key_cpa,
+ .set_decrypt_key = _gost28147_set_key_cpa,
+ },
{
- .algo = GNUTLS_CIPHER_GOST28147_CPB_CFB,
- .block_size = GOST28147_BLOCK_SIZE,
- .key_size = GOST28147_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
- .decrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
-
- .ctx_size =
- sizeof(struct CFB_CTX (struct gost28147_ctx, GOST28147_BLOCK_SIZE)),
- .encrypt = _cfb_encrypt,
- .decrypt = _cfb_decrypt,
- .set_encrypt_key = _gost28147_set_key_cpb,
- .set_decrypt_key = _gost28147_set_key_cpb,
- },
+ .algo = GNUTLS_CIPHER_GOST28147_CPB_CFB,
+ .block_size = GOST28147_BLOCK_SIZE,
+ .key_size = GOST28147_KEY_SIZE,
+ .encrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+ .decrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+
+ .ctx_size = sizeof(struct CFB_CTX(struct gost28147_ctx,
+ GOST28147_BLOCK_SIZE)),
+ .encrypt = _cfb_encrypt,
+ .decrypt = _cfb_decrypt,
+ .set_encrypt_key = _gost28147_set_key_cpb,
+ .set_decrypt_key = _gost28147_set_key_cpb,
+ },
{
- .algo = GNUTLS_CIPHER_GOST28147_CPC_CFB,
- .block_size = GOST28147_BLOCK_SIZE,
- .key_size = GOST28147_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
- .decrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
-
- .ctx_size =
- sizeof(struct CFB_CTX (struct gost28147_ctx, GOST28147_BLOCK_SIZE)),
- .encrypt = _cfb_encrypt,
- .decrypt = _cfb_decrypt,
- .set_encrypt_key = _gost28147_set_key_cpc,
- .set_decrypt_key = _gost28147_set_key_cpc,
- },
+ .algo = GNUTLS_CIPHER_GOST28147_CPC_CFB,
+ .block_size = GOST28147_BLOCK_SIZE,
+ .key_size = GOST28147_KEY_SIZE,
+ .encrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+ .decrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+
+ .ctx_size = sizeof(struct CFB_CTX(struct gost28147_ctx,
+ GOST28147_BLOCK_SIZE)),
+ .encrypt = _cfb_encrypt,
+ .decrypt = _cfb_decrypt,
+ .set_encrypt_key = _gost28147_set_key_cpc,
+ .set_decrypt_key = _gost28147_set_key_cpc,
+ },
{
- .algo = GNUTLS_CIPHER_GOST28147_CPD_CFB,
- .block_size = GOST28147_BLOCK_SIZE,
- .key_size = GOST28147_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
- .decrypt_block = (nettle_cipher_func *) gost28147_encrypt_for_cfb,
-
- .ctx_size =
- sizeof(struct CFB_CTX (struct gost28147_ctx, GOST28147_BLOCK_SIZE)),
- .encrypt = _cfb_encrypt,
- .decrypt = _cfb_decrypt,
- .set_encrypt_key = _gost28147_set_key_cpd,
- .set_decrypt_key = _gost28147_set_key_cpd,
- },
+ .algo = GNUTLS_CIPHER_GOST28147_CPD_CFB,
+ .block_size = GOST28147_BLOCK_SIZE,
+ .key_size = GOST28147_KEY_SIZE,
+ .encrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+ .decrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+
+ .ctx_size = sizeof(struct CFB_CTX(struct gost28147_ctx,
+ GOST28147_BLOCK_SIZE)),
+ .encrypt = _cfb_encrypt,
+ .decrypt = _cfb_decrypt,
+ .set_encrypt_key = _gost28147_set_key_cpd,
+ .set_decrypt_key = _gost28147_set_key_cpd,
+ },
{
- .algo = GNUTLS_CIPHER_GOST28147_TC26Z_CNT,
- .block_size = GOST28147_BLOCK_SIZE,
- .key_size = GOST28147_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) gost28147_encrypt, /* unused */
- .decrypt_block = (nettle_cipher_func *) gost28147_decrypt, /* unused */
-
- .ctx_size = sizeof(struct gost28147_cnt_ctx),
- .encrypt = _gost28147_cnt_crypt,
- .decrypt = _gost28147_cnt_crypt,
- .set_encrypt_key = _gost28147_cnt_set_key_tc26z,
- .set_decrypt_key = _gost28147_cnt_set_key_tc26z,
- .set_iv = (setiv_func) _gost28147_cnt_set_nonce,
- },
+ .algo = GNUTLS_CIPHER_GOST28147_TC26Z_CNT,
+ .block_size = GOST28147_BLOCK_SIZE,
+ .key_size = GOST28147_KEY_SIZE,
+ .encrypt_block =
+ (nettle_cipher_func *)gost28147_encrypt, /* unused */
+ .decrypt_block =
+ (nettle_cipher_func *)gost28147_decrypt, /* unused */
+
+ .ctx_size = sizeof(struct gost28147_cnt_ctx),
+ .encrypt = _gost28147_cnt_crypt,
+ .decrypt = _gost28147_cnt_crypt,
+ .set_encrypt_key = _gost28147_cnt_set_key_tc26z,
+ .set_decrypt_key = _gost28147_cnt_set_key_tc26z,
+ .set_iv = (setiv_func)_gost28147_cnt_set_nonce,
+ },
{
- .algo = GNUTLS_CIPHER_MAGMA_CTR_ACPKM,
- .block_size = MAGMA_BLOCK_SIZE,
- .key_size = MAGMA_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) _magma_acpkm_crypt,
- .decrypt_block = (nettle_cipher_func *) _magma_acpkm_crypt,
-
- .ctx_size = sizeof(struct magma_acpkm_ctx),
- .encrypt = _ctr_acpkm_crypt,
- .decrypt = _ctr_acpkm_crypt,
- .set_encrypt_key = (nettle_set_key_func *) _magma_ctr_acpkm_set_key,
- .set_decrypt_key = (nettle_set_key_func *) _magma_ctr_acpkm_set_key,
- .set_iv = (setiv_func) _magma_ctr_acpkm_set_iv,
- },
+ .algo = GNUTLS_CIPHER_MAGMA_CTR_ACPKM,
+ .block_size = MAGMA_BLOCK_SIZE,
+ .key_size = MAGMA_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)_magma_acpkm_crypt,
+ .decrypt_block = (nettle_cipher_func *)_magma_acpkm_crypt,
+
+ .ctx_size = sizeof(struct magma_acpkm_ctx),
+ .encrypt = _ctr_acpkm_crypt,
+ .decrypt = _ctr_acpkm_crypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)_magma_ctr_acpkm_set_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)_magma_ctr_acpkm_set_key,
+ .set_iv = (setiv_func)_magma_ctr_acpkm_set_iv,
+ },
{
- .algo = GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM,
- .block_size = KUZNYECHIK_BLOCK_SIZE,
- .key_size = KUZNYECHIK_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) _kuznyechik_acpkm_crypt,
- .decrypt_block = (nettle_cipher_func *) _kuznyechik_acpkm_crypt,
-
- .ctx_size = sizeof(struct kuznyechik_acpkm_ctx),
- .encrypt = _ctr_acpkm_crypt,
- .decrypt = _ctr_acpkm_crypt,
- .set_encrypt_key =
- (nettle_set_key_func *) _kuznyechik_ctr_acpkm_set_key,
- .set_decrypt_key =
- (nettle_set_key_func *) _kuznyechik_ctr_acpkm_set_key,
- .set_iv = (setiv_func) _kuznyechik_ctr_acpkm_set_iv,
- },
+ .algo = GNUTLS_CIPHER_KUZNYECHIK_CTR_ACPKM,
+ .block_size = KUZNYECHIK_BLOCK_SIZE,
+ .key_size = KUZNYECHIK_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)_kuznyechik_acpkm_crypt,
+ .decrypt_block = (nettle_cipher_func *)_kuznyechik_acpkm_crypt,
+
+ .ctx_size = sizeof(struct kuznyechik_acpkm_ctx),
+ .encrypt = _ctr_acpkm_crypt,
+ .decrypt = _ctr_acpkm_crypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)_kuznyechik_ctr_acpkm_set_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)_kuznyechik_ctr_acpkm_set_key,
+ .set_iv = (setiv_func)_kuznyechik_ctr_acpkm_set_iv,
+ },
#endif
- {.algo = GNUTLS_CIPHER_AES_128_CFB8,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES128_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes128_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes128_encrypt,
-
- .ctx_size =
- sizeof(struct CFB8_CTX (struct aes128_ctx, AES_BLOCK_SIZE)),
- .encrypt = _cfb8_encrypt,
- .decrypt = _cfb8_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes128_set_encrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_192_CFB8,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES192_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes192_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes192_encrypt,
-
- .ctx_size =
- sizeof(struct CFB8_CTX (struct aes192_ctx, AES_BLOCK_SIZE)),
- .encrypt = _cfb8_encrypt,
- .decrypt = _cfb8_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes192_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes192_set_encrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_CFB8,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES256_KEY_SIZE,
- .encrypt_block = (nettle_cipher_func *) aes256_encrypt,
- .decrypt_block = (nettle_cipher_func *) aes256_encrypt,
-
- .ctx_size =
- sizeof(struct CFB8_CTX (struct aes256_ctx, AES_BLOCK_SIZE)),
- .encrypt = _cfb8_encrypt,
- .decrypt = _cfb8_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) aes256_set_encrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_128_XTS,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES128_KEY_SIZE * 2,
-
- .ctx_size = sizeof(struct xts_aes128_key),
- .encrypt = _xts_aes128_encrypt,
- .decrypt = _xts_aes128_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) xts_aes128_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) xts_aes128_set_decrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_XTS,
- .block_size = AES_BLOCK_SIZE,
- .key_size = AES256_KEY_SIZE * 2,
-
- .ctx_size = sizeof(struct xts_aes256_key),
- .encrypt = _xts_aes256_encrypt,
- .decrypt = _xts_aes256_decrypt,
- .set_encrypt_key = (nettle_set_key_func *) xts_aes256_set_encrypt_key,
- .set_decrypt_key = (nettle_set_key_func *) xts_aes256_set_decrypt_key,
- .max_iv_size = AES_BLOCK_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_128_SIV,
- .block_size = SIV_BLOCK_SIZE,
- .key_size = SIV_CMAC_AES128_KEY_SIZE,
-
- .ctx_size = sizeof(struct siv_cmac_aes128_ctx),
- .aead_encrypt = (aead_encrypt_func) _siv_cmac_aes128_encrypt_message,
- .aead_decrypt = (aead_decrypt_func) _siv_cmac_aes128_decrypt_message,
- .set_encrypt_key = (nettle_set_key_func *) siv_cmac_aes128_set_key,
- .set_decrypt_key = (nettle_set_key_func *) siv_cmac_aes128_set_key,
- .max_iv_size = SIV_DIGEST_SIZE,
- },
- {.algo = GNUTLS_CIPHER_AES_256_SIV,
- .block_size = SIV_BLOCK_SIZE,
- .key_size = SIV_CMAC_AES256_KEY_SIZE,
-
- .ctx_size = sizeof(struct siv_cmac_aes256_ctx),
- .aead_encrypt = (aead_encrypt_func) _siv_cmac_aes256_encrypt_message,
- .aead_decrypt = (aead_decrypt_func) _siv_cmac_aes256_decrypt_message,
- .set_encrypt_key = (nettle_set_key_func *) siv_cmac_aes256_set_key,
- .set_decrypt_key = (nettle_set_key_func *) siv_cmac_aes256_set_key,
- .max_iv_size = SIV_DIGEST_SIZE,
- },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_CFB8,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES128_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes128_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes128_encrypt,
+
+ .ctx_size = sizeof(
+ struct CFB8_CTX(struct aes128_ctx, AES_BLOCK_SIZE)),
+ .encrypt = _cfb8_encrypt,
+ .decrypt = _cfb8_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes128_set_encrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_192_CFB8,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES192_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes192_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes192_encrypt,
+
+ .ctx_size = sizeof(
+ struct CFB8_CTX(struct aes192_ctx, AES_BLOCK_SIZE)),
+ .encrypt = _cfb8_encrypt,
+ .decrypt = _cfb8_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes192_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes192_set_encrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_CFB8,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES256_KEY_SIZE,
+ .encrypt_block = (nettle_cipher_func *)aes256_encrypt,
+ .decrypt_block = (nettle_cipher_func *)aes256_encrypt,
+
+ .ctx_size = sizeof(
+ struct CFB8_CTX(struct aes256_ctx, AES_BLOCK_SIZE)),
+ .encrypt = _cfb8_encrypt,
+ .decrypt = _cfb8_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)aes256_set_encrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_XTS,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES128_KEY_SIZE * 2,
+
+ .ctx_size = sizeof(struct xts_aes128_key),
+ .encrypt = _xts_aes128_encrypt,
+ .decrypt = _xts_aes128_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)xts_aes128_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)xts_aes128_set_decrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_XTS,
+ .block_size = AES_BLOCK_SIZE,
+ .key_size = AES256_KEY_SIZE * 2,
+
+ .ctx_size = sizeof(struct xts_aes256_key),
+ .encrypt = _xts_aes256_encrypt,
+ .decrypt = _xts_aes256_decrypt,
+ .set_encrypt_key =
+ (nettle_set_key_func *)xts_aes256_set_encrypt_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)xts_aes256_set_decrypt_key,
+ .max_iv_size = AES_BLOCK_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_128_SIV,
+ .block_size = SIV_BLOCK_SIZE,
+ .key_size = SIV_CMAC_AES128_KEY_SIZE,
+
+ .ctx_size = sizeof(struct siv_cmac_aes128_ctx),
+ .aead_encrypt =
+ (aead_encrypt_func)_siv_cmac_aes128_encrypt_message,
+ .aead_decrypt =
+ (aead_decrypt_func)_siv_cmac_aes128_decrypt_message,
+ .set_encrypt_key =
+ (nettle_set_key_func *)siv_cmac_aes128_set_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)siv_cmac_aes128_set_key,
+ .max_iv_size = SIV_DIGEST_SIZE,
+ },
+ {
+ .algo = GNUTLS_CIPHER_AES_256_SIV,
+ .block_size = SIV_BLOCK_SIZE,
+ .key_size = SIV_CMAC_AES256_KEY_SIZE,
+
+ .ctx_size = sizeof(struct siv_cmac_aes256_ctx),
+ .aead_encrypt =
+ (aead_encrypt_func)_siv_cmac_aes256_encrypt_message,
+ .aead_decrypt =
+ (aead_decrypt_func)_siv_cmac_aes256_decrypt_message,
+ .set_encrypt_key =
+ (nettle_set_key_func *)siv_cmac_aes256_set_key,
+ .set_decrypt_key =
+ (nettle_set_key_func *)siv_cmac_aes256_set_key,
+ .max_iv_size = SIV_DIGEST_SIZE,
+ },
};
static int wrap_nettle_cipher_exists(gnutls_cipher_algorithm_t algo)
@@ -1042,8 +1096,8 @@ static int wrap_nettle_cipher_exists(gnutls_cipher_algorithm_t algo)
return 0;
}
-static int
-wrap_nettle_cipher_init(gnutls_cipher_algorithm_t algo, void **_ctx, int enc)
+static int wrap_nettle_cipher_init(gnutls_cipher_algorithm_t algo, void **_ctx,
+ int enc)
{
struct nettle_cipher_ctx *ctx;
uintptr_t cur_alignment;
@@ -1062,17 +1116,17 @@ wrap_nettle_cipher_init(gnutls_cipher_algorithm_t algo, void **_ctx, int enc)
if (idx == -1)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ctx =
- gnutls_calloc(1, sizeof(*ctx) + builtin_ciphers[idx].ctx_size + 16);
+ ctx = gnutls_calloc(1,
+ sizeof(*ctx) + builtin_ciphers[idx].ctx_size + 16);
if (ctx == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
}
ctx->enc = enc;
- ctx_ptr = ((uint8_t *) ctx) + sizeof(*ctx);
+ ctx_ptr = ((uint8_t *)ctx) + sizeof(*ctx);
- cur_alignment = ((uintptr_t) ctx_ptr) % 16;
+ cur_alignment = ((uintptr_t)ctx_ptr) % 16;
if (cur_alignment > 0)
ctx_ptr += 16 - cur_alignment;
@@ -1084,13 +1138,13 @@ wrap_nettle_cipher_init(gnutls_cipher_algorithm_t algo, void **_ctx, int enc)
return 0;
}
-static int
-wrap_nettle_cipher_setkey(void *_ctx, const void *key, size_t keysize)
+static int wrap_nettle_cipher_setkey(void *_ctx, const void *key,
+ size_t keysize)
{
struct nettle_cipher_ctx *ctx = _ctx;
- if (ctx->cipher->key_size > 0
- && unlikely(keysize != ctx->cipher->key_size)) {
+ if (ctx->cipher->key_size > 0 &&
+ unlikely(keysize != ctx->cipher->key_size)) {
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
} else if (ctx->cipher->key_size == 0) {
ctx->cipher->gen_set_key(ctx->ctx_ptr, keysize, key);
@@ -1184,9 +1238,9 @@ static int wrap_nettle_cipher_getiv(void *_ctx, void *iv, size_t iv_size)
return (int)ctx->iv_size;
}
-static int
-wrap_nettle_cipher_decrypt(void *_ctx, const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+static int wrap_nettle_cipher_decrypt(void *_ctx, const void *encr,
+ size_t encr_size, void *plain,
+ size_t plain_size)
{
struct nettle_cipher_ctx *ctx = _ctx;
@@ -1198,9 +1252,9 @@ wrap_nettle_cipher_decrypt(void *_ctx, const void *encr, size_t encr_size,
return 0;
}
-static int
-wrap_nettle_cipher_encrypt(void *_ctx, const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+static int wrap_nettle_cipher_encrypt(void *_ctx, const void *plain,
+ size_t plain_size, void *encr,
+ size_t encr_size)
{
struct nettle_cipher_ctx *ctx = _ctx;
int ret;
@@ -1212,9 +1266,8 @@ wrap_nettle_cipher_encrypt(void *_ctx, const void *plain, size_t plain_size,
case GNUTLS_CIPHER_AES_128_GCM:
case GNUTLS_CIPHER_AES_192_GCM:
case GNUTLS_CIPHER_AES_256_GCM:
- ret =
- record_aes_gcm_encrypt_size(&ctx->rekey_counter,
- plain_size);
+ ret = record_aes_gcm_encrypt_size(&ctx->rekey_counter,
+ plain_size);
if (ret < 0) {
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -1228,13 +1281,11 @@ wrap_nettle_cipher_encrypt(void *_ctx, const void *plain, size_t plain_size,
return 0;
}
-static int
-wrap_nettle_cipher_aead_encrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *plain, size_t plain_size,
- void *encr, size_t encr_size)
+static int wrap_nettle_cipher_aead_encrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *plain, size_t plain_size,
+ void *encr, size_t encr_size)
{
struct nettle_cipher_ctx *ctx = _ctx;
@@ -1249,7 +1300,7 @@ wrap_nettle_cipher_aead_encrypt(void *_ctx,
ctx->cipher->encrypt(ctx, plain_size, encr, plain);
ctx->cipher->tag(ctx->ctx_ptr, tag_size,
- ((uint8_t *) encr) + plain_size);
+ ((uint8_t *)encr) + plain_size);
} else {
/* CCM-style cipher */
@@ -1275,11 +1326,10 @@ wrap_nettle_cipher_aead_encrypt(void *_ctx,
break;
default:
if (_gnutls_fips_mode_enabled()) {
- _gnutls_switch_fips_state
- (GNUTLS_FIPS140_OP_ERROR);
- return
- gnutls_assert_val
- (GNUTLS_E_INVALID_REQUEST);
+ _gnutls_switch_fips_state(
+ GNUTLS_FIPS140_OP_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
break;
}
@@ -1288,22 +1338,18 @@ wrap_nettle_cipher_aead_encrypt(void *_ctx,
break;
}
- ctx->cipher->aead_encrypt(ctx,
- nonce_size, nonce,
- auth_size, auth,
- tag_size,
- tag_size + plain_size, encr, plain);
+ ctx->cipher->aead_encrypt(ctx, nonce_size, nonce, auth_size,
+ auth, tag_size, tag_size + plain_size,
+ encr, plain);
}
return 0;
}
-static int
-wrap_nettle_cipher_aead_decrypt(void *_ctx,
- const void *nonce, size_t nonce_size,
- const void *auth, size_t auth_size,
- size_t tag_size,
- const void *encr, size_t encr_size,
- void *plain, size_t plain_size)
+static int wrap_nettle_cipher_aead_decrypt(void *_ctx, const void *nonce,
+ size_t nonce_size, const void *auth,
+ size_t auth_size, size_t tag_size,
+ const void *encr, size_t encr_size,
+ void *plain, size_t plain_size)
{
struct nettle_cipher_ctx *ctx = _ctx;
int ret;
@@ -1327,8 +1373,8 @@ wrap_nettle_cipher_aead_decrypt(void *_ctx,
ctx->cipher->tag(ctx->ctx_ptr, tag_size, tag);
- if (gnutls_memcmp(((uint8_t *) encr) + encr_size, tag, tag_size)
- != 0)
+ if (gnutls_memcmp(((uint8_t *)encr) + encr_size, tag,
+ tag_size) != 0)
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
} else {
/* CCM-style cipher */
@@ -1359,11 +1405,10 @@ wrap_nettle_cipher_aead_decrypt(void *_ctx,
break;
default:
if (_gnutls_fips_mode_enabled()) {
- _gnutls_switch_fips_state
- (GNUTLS_FIPS140_OP_ERROR);
- return
- gnutls_assert_val
- (GNUTLS_E_INVALID_REQUEST);
+ _gnutls_switch_fips_state(
+ GNUTLS_FIPS140_OP_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
}
break;
}
@@ -1372,10 +1417,8 @@ wrap_nettle_cipher_aead_decrypt(void *_ctx,
break;
}
- ret = ctx->cipher->aead_decrypt(ctx,
- nonce_size, nonce,
- auth_size, auth,
- tag_size,
+ ret = ctx->cipher->aead_decrypt(ctx, nonce_size, nonce,
+ auth_size, auth, tag_size,
encr_size, plain, encr);
if (unlikely(ret == 0))
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
@@ -1383,8 +1426,8 @@ wrap_nettle_cipher_aead_decrypt(void *_ctx,
return 0;
}
-static int
-wrap_nettle_cipher_auth(void *_ctx, const void *plain, size_t plain_size)
+static int wrap_nettle_cipher_auth(void *_ctx, const void *plain,
+ size_t plain_size)
{
struct nettle_cipher_ctx *ctx = _ctx;
@@ -1398,7 +1441,6 @@ static void wrap_nettle_cipher_tag(void *_ctx, void *tag, size_t tag_size)
struct nettle_cipher_ctx *ctx = _ctx;
ctx->cipher->tag(ctx->ctx_ptr, tag_size, tag);
-
}
static void wrap_nettle_cipher_close(void *_ctx)
diff --git a/lib/nettle/ecc-gost-curve.h b/lib/nettle/ecc-gost-curve.h
index abc7dfa260..7e53ab47ec 100644
--- a/lib/nettle/ecc-gost-curve.h
+++ b/lib/nettle/ecc-gost-curve.h
@@ -32,42 +32,37 @@
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
#ifndef GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H
-# define GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H
+#define GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
/* The contents of this struct is internal. */
- struct ecc_curve;
-
-# ifndef NETTLE_PURE
-# ifdef __GNUC__
-# define NETTLE_PURE __attribute__((pure))
-# else
-# define NETTLE_PURE
-# endif
-# endif
-
-# define gost_point_mul_g _gnutls_nettle_ecc_gost_point_mul_g
-# define gost_point_set _gnutls_nettle_ecc_gost_point_set
-# define gostdsa_generate_keypair _gnutls_nettle_ecc_gostdsa_generate_keypair
- void
- gost_point_mul_g(struct ecc_point *r, const struct ecc_scalar *n);
- int
- gost_point_set(struct ecc_point *p, const mpz_t x, const mpz_t y);
- void
- gostdsa_generate_keypair(struct ecc_point *pub,
- struct ecc_scalar *key,
- void *random_ctx,
- nettle_random_func * random);
-
-# define nettle_get_gost_gc256b _gnutls_nettle_ecc_get_gost_gc256b
-# define nettle_get_gost_gc512a _gnutls_nettle_ecc_get_gost_gc512a
- const struct ecc_curve *NETTLE_PURE nettle_get_gost_gc256b(void);
- const struct ecc_curve *NETTLE_PURE nettle_get_gost_gc512a(void);
-
-# ifdef __cplusplus
+struct ecc_curve;
+
+#ifndef NETTLE_PURE
+#ifdef __GNUC__
+#define NETTLE_PURE __attribute__((pure))
+#else
+#define NETTLE_PURE
+#endif
+#endif
+
+#define gost_point_mul_g _gnutls_nettle_ecc_gost_point_mul_g
+#define gost_point_set _gnutls_nettle_ecc_gost_point_set
+#define gostdsa_generate_keypair _gnutls_nettle_ecc_gostdsa_generate_keypair
+void gost_point_mul_g(struct ecc_point *r, const struct ecc_scalar *n);
+int gost_point_set(struct ecc_point *p, const mpz_t x, const mpz_t y);
+void gostdsa_generate_keypair(struct ecc_point *pub, struct ecc_scalar *key,
+ void *random_ctx, nettle_random_func *random);
+
+#define nettle_get_gost_gc256b _gnutls_nettle_ecc_get_gost_gc256b
+#define nettle_get_gost_gc512a _gnutls_nettle_ecc_get_gost_gc512a
+const struct ecc_curve *NETTLE_PURE nettle_get_gost_gc256b(void);
+const struct ecc_curve *NETTLE_PURE nettle_get_gost_gc512a(void);
+
+#ifdef __cplusplus
}
-# endif
-#endif /* GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H */
+#endif
+#endif /* GNUTLS_LIB_NETTLE_GOST_ECC_GOST_CURVE_H */
diff --git a/lib/nettle/gnettle.h b/lib/nettle/gnettle.h
index 49f8858aab..eb6740d4c7 100644
--- a/lib/nettle/gnettle.h
+++ b/lib/nettle/gnettle.h
@@ -1,8 +1,8 @@
#ifndef GNUTLS_LIB_NETTLE_GNETTLE_H
-# define GNUTLS_LIB_NETTLE_GNETTLE_H
+#define GNUTLS_LIB_NETTLE_GNETTLE_H
-# define PRIME_CHECK_PARAM 8
-# define TOMPZ(x) ((__mpz_struct*)(x))
-# define SIZEOF_MPZT sizeof(__mpz_struct)
+#define PRIME_CHECK_PARAM 8
+#define TOMPZ(x) ((__mpz_struct *)(x))
+#define SIZEOF_MPZT sizeof(__mpz_struct)
-#endif /* GNUTLS_LIB_NETTLE_GNETTLE_H */
+#endif /* GNUTLS_LIB_NETTLE_GNETTLE_H */
diff --git a/lib/nettle/gost/acpkm.c b/lib/nettle/gost/acpkm.c
index af4a8fc43d..439444a6a8 100644
--- a/lib/nettle/gost/acpkm.c
+++ b/lib/nettle/gost/acpkm.c
@@ -32,23 +32,20 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include "acpkm.h"
static uint8_t acpkm_mesh_data[ACPKM_KEY_SIZE] = {
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
- 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
- 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
- 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a,
+ 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95,
+ 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
};
-void acpkm_crypt(struct acpkm_ctx *ctx,
- void *cipher,
- nettle_cipher_func * encrypt,
- nettle_set_key_func * set_key,
- size_t length, uint8_t * dst, const uint8_t * src)
+void acpkm_crypt(struct acpkm_ctx *ctx, void *cipher,
+ nettle_cipher_func *encrypt, nettle_set_key_func *set_key,
+ size_t length, uint8_t *dst, const uint8_t *src)
{
size_t N = ctx->N;
size_t part;
diff --git a/lib/nettle/gost/acpkm.h b/lib/nettle/gost/acpkm.h
index 6c76951b5c..bea0b51586 100644
--- a/lib/nettle/gost/acpkm.h
+++ b/lib/nettle/gost/acpkm.h
@@ -32,33 +32,34 @@
*/
#ifndef NETTLE_ACPKM_H_INCLUDED
-# define NETTLE_ACPKM_H_INCLUDED
+#define NETTLE_ACPKM_H_INCLUDED
-# include <nettle/nettle-types.h>
+#include <nettle/nettle-types.h>
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# define acpkm_crypt _gnutls_acpkm_crypt
+#define acpkm_crypt _gnutls_acpkm_crypt
- struct acpkm_ctx {
- size_t N;
- size_t pos;
- };
+struct acpkm_ctx {
+ size_t N;
+ size_t pos;
+};
-# define ACPKM_CTX(type) \
-{ struct acpkm_ctx ctx; type cipher; }
+#define ACPKM_CTX(type) \
+ { \
+ struct acpkm_ctx ctx; \
+ type cipher; \
+ }
-# define ACPKM_KEY_SIZE 32
+#define ACPKM_KEY_SIZE 32
- void acpkm_crypt(struct acpkm_ctx *ctx,
- void *cipher,
- nettle_cipher_func * encrypt,
- nettle_set_key_func * set_key,
- size_t length, uint8_t * dst, const uint8_t * src);
+void acpkm_crypt(struct acpkm_ctx *ctx, void *cipher,
+ nettle_cipher_func *encrypt, nettle_set_key_func *set_key,
+ size_t length, uint8_t *dst, const uint8_t *src);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-#endif /* NETTLE_ACPKM_H_INCLUDED */
+#endif
+#endif /* NETTLE_ACPKM_H_INCLUDED */
diff --git a/lib/nettle/gost/bignum-le.c b/lib/nettle/gost/bignum-le.c
index 11203f05cd..10da1e6dfc 100644
--- a/lib/nettle/gost/bignum-le.c
+++ b/lib/nettle/gost/bignum-le.c
@@ -32,7 +32,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls_int.h>
@@ -42,7 +42,7 @@
#include <nettle/bignum.h>
#include "bignum-le.h"
-void nettle_mpz_get_str_256_u_le(size_t length, uint8_t * s, const mpz_t x)
+void nettle_mpz_get_str_256_u_le(size_t length, uint8_t *s, const mpz_t x)
{
if (!length) {
/* x must be zero */
@@ -58,14 +58,14 @@ void nettle_mpz_get_str_256_u_le(size_t length, uint8_t * s, const mpz_t x)
}
#define nettle_mpz_from_octets_le(x, length, s) \
- mpz_import((x), (length), -1, 1, 0, 0, (s))
+ mpz_import((x), (length), -1, 1, 0, 0, (s))
-void nettle_mpz_set_str_256_u_le(mpz_t x, size_t length, const uint8_t * s)
+void nettle_mpz_set_str_256_u_le(mpz_t x, size_t length, const uint8_t *s)
{
nettle_mpz_from_octets_le(x, length, s);
}
-void nettle_mpz_init_set_str_256_u_le(mpz_t x, size_t length, const uint8_t * s)
+void nettle_mpz_init_set_str_256_u_le(mpz_t x, size_t length, const uint8_t *s)
{
mpz_init(x);
nettle_mpz_from_octets_le(x, length, s);
diff --git a/lib/nettle/gost/bignum-le.h b/lib/nettle/gost/bignum-le.h
index 51de1f32ac..b8402c997e 100644
--- a/lib/nettle/gost/bignum-le.h
+++ b/lib/nettle/gost/bignum-le.h
@@ -32,37 +32,33 @@
*/
#ifndef GNUTLS_LIB_NETTLE_GOST_BIGNUM_LE_H
-# define GNUTLS_LIB_NETTLE_GOST_BIGNUM_LE_H
+#define GNUTLS_LIB_NETTLE_GOST_BIGNUM_LE_H
-# include <nettle/nettle-meta.h>
+#include <nettle/nettle-meta.h>
-# include <nettle/nettle-types.h>
+#include <nettle/nettle-types.h>
-# include <nettle/bignum.h>
+#include <nettle/bignum.h>
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# define nettle_mpz_sizeinbase_256_u_le nettle_mpz_sizeinbase_256_u
+#define nettle_mpz_sizeinbase_256_u_le nettle_mpz_sizeinbase_256_u
-# define nettle_mpz_get_str_256_u_le _gnutls_mpz_get_str_256_u_le
-# define nettle_mpz_set_str_256_u_le _gnutls_mpz_set_str_256_u_le
-# define nettle_mpz_init_set_str_256_u_le _gnutls_mpz_init_set_str_256_u_le
+#define nettle_mpz_get_str_256_u_le _gnutls_mpz_get_str_256_u_le
+#define nettle_mpz_set_str_256_u_le _gnutls_mpz_set_str_256_u_le
+#define nettle_mpz_init_set_str_256_u_le _gnutls_mpz_init_set_str_256_u_le
/* Writes an integer as length octets, using big endian byte order,
* and unsigned number format. */
- void
- nettle_mpz_get_str_256_u_le(size_t length, uint8_t * s, const mpz_t x);
+void nettle_mpz_get_str_256_u_le(size_t length, uint8_t *s, const mpz_t x);
- void
- nettle_mpz_set_str_256_u_le(mpz_t x, size_t length, const uint8_t * s);
+void nettle_mpz_set_str_256_u_le(mpz_t x, size_t length, const uint8_t *s);
- void
- nettle_mpz_init_set_str_256_u_le(mpz_t x,
- size_t length, const uint8_t * s);
+void nettle_mpz_init_set_str_256_u_le(mpz_t x, size_t length, const uint8_t *s);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-#endif /* GNUTLS_LIB_NETTLE_GOST_BIGNUM_LE_H */
+#endif
+#endif /* GNUTLS_LIB_NETTLE_GOST_BIGNUM_LE_H */
diff --git a/lib/nettle/gost/cmac-kuznyechik.c b/lib/nettle/gost/cmac-kuznyechik.c
index 4121400283..964141103a 100644
--- a/lib/nettle/gost/cmac-kuznyechik.c
+++ b/lib/nettle/gost/cmac-kuznyechik.c
@@ -23,31 +23,29 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_CMAC_KUZNYECHIK_UPDATE
-# include <nettle/cmac.h>
+#include <nettle/cmac.h>
-# include "gost/cmac.h"
+#include "gost/cmac.h"
-void
-cmac_kuznyechik_set_key(struct cmac_kuznyechik_ctx *ctx, const uint8_t * key)
+void cmac_kuznyechik_set_key(struct cmac_kuznyechik_ctx *ctx,
+ const uint8_t *key)
{
CMAC128_SET_KEY(ctx, kuznyechik_set_key, kuznyechik_encrypt, key);
}
-void
-cmac_kuznyechik_update(struct cmac_kuznyechik_ctx *ctx,
- size_t length, const uint8_t * data)
+void cmac_kuznyechik_update(struct cmac_kuznyechik_ctx *ctx, size_t length,
+ const uint8_t *data)
{
CMAC128_UPDATE(ctx, kuznyechik_encrypt, length, data);
}
-void
-cmac_kuznyechik_digest(struct cmac_kuznyechik_ctx *ctx,
- size_t length, uint8_t * digest)
+void cmac_kuznyechik_digest(struct cmac_kuznyechik_ctx *ctx, size_t length,
+ uint8_t *digest)
{
CMAC128_DIGEST(ctx, kuznyechik_encrypt, length, digest);
}
diff --git a/lib/nettle/gost/cmac-magma.c b/lib/nettle/gost/cmac-magma.c
index c11ef81516..b8e6d58d17 100644
--- a/lib/nettle/gost/cmac-magma.c
+++ b/lib/nettle/gost/cmac-magma.c
@@ -23,30 +23,29 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_CMAC_MAGMA_UPDATE
-# include <nettle/cmac.h>
+#include <nettle/cmac.h>
-# include "magma.h"
-# include "cmac.h"
+#include "magma.h"
+#include "cmac.h"
-void cmac_magma_set_key(struct cmac_magma_ctx *ctx, const uint8_t * key)
+void cmac_magma_set_key(struct cmac_magma_ctx *ctx, const uint8_t *key)
{
CMAC64_SET_KEY(ctx, magma_set_key, magma_encrypt, key);
}
-void
-cmac_magma_update(struct cmac_magma_ctx *ctx,
- size_t length, const uint8_t * data)
+void cmac_magma_update(struct cmac_magma_ctx *ctx, size_t length,
+ const uint8_t *data)
{
CMAC64_UPDATE(ctx, magma_encrypt, length, data);
}
-void
-cmac_magma_digest(struct cmac_magma_ctx *ctx, size_t length, uint8_t * digest)
+void cmac_magma_digest(struct cmac_magma_ctx *ctx, size_t length,
+ uint8_t *digest)
{
CMAC64_DIGEST(ctx, magma_encrypt, length, digest);
}
diff --git a/lib/nettle/gost/cmac.h b/lib/nettle/gost/cmac.h
index f1e61b8bc3..fbea6ab6d2 100644
--- a/lib/nettle/gost/cmac.h
+++ b/lib/nettle/gost/cmac.h
@@ -34,66 +34,60 @@
*/
#ifndef GOST_CMAC_H_INCLUDED
-# define GOST_CMAC_H_INCLUDED
+#define GOST_CMAC_H_INCLUDED
-# if HAVE_CONFIG_H
-# include <config.h>
-# endif
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
-# ifndef HAVE_NETTLE_CMAC_MAGMA_UPDATE
-# include "magma.h"
+#ifndef HAVE_NETTLE_CMAC_MAGMA_UPDATE
+#include "magma.h"
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# define cmac_magma_set_key _gnutls_cmac_magma_set_key
-# define cmac_magma_update _gnutls_cmac_magma_update
-# define cmac_magma_digest _gnutls_cmac_magma_digest
+#define cmac_magma_set_key _gnutls_cmac_magma_set_key
+#define cmac_magma_update _gnutls_cmac_magma_update
+#define cmac_magma_digest _gnutls_cmac_magma_digest
- struct cmac_magma_ctx CMAC64_CTX(struct magma_ctx);
+struct cmac_magma_ctx CMAC64_CTX(struct magma_ctx);
- void
- cmac_magma_set_key(struct cmac_magma_ctx *ctx, const uint8_t * key);
+void cmac_magma_set_key(struct cmac_magma_ctx *ctx, const uint8_t *key);
- void
- cmac_magma_update(struct cmac_magma_ctx *ctx,
- size_t length, const uint8_t * data);
+void cmac_magma_update(struct cmac_magma_ctx *ctx, size_t length,
+ const uint8_t *data);
- void
- cmac_magma_digest(struct cmac_magma_ctx *ctx,
- size_t length, uint8_t * digest);
+void cmac_magma_digest(struct cmac_magma_ctx *ctx, size_t length,
+ uint8_t *digest);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-# endif /* HAVE_NETTLE_CMAC_MAGMA_UPDATE */
-# ifndef HAVE_NETTLE_CMAC_KUZNYECHIK_UPDATE
-# include "kuznyechik.h"
-# ifdef __cplusplus
+#endif
+#endif /* HAVE_NETTLE_CMAC_MAGMA_UPDATE */
+#ifndef HAVE_NETTLE_CMAC_KUZNYECHIK_UPDATE
+#include "kuznyechik.h"
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# define cmac_kuznyechik_set_key _gnutls_cmac_kuznyechik_set_key
-# define cmac_kuznyechik_update _gnutls_cmac_kuznyechik_update
-# define cmac_kuznyechik_digest _gnutls_cmac_kuznyechik_digest
+#define cmac_kuznyechik_set_key _gnutls_cmac_kuznyechik_set_key
+#define cmac_kuznyechik_update _gnutls_cmac_kuznyechik_update
+#define cmac_kuznyechik_digest _gnutls_cmac_kuznyechik_digest
- struct cmac_kuznyechik_ctx CMAC128_CTX(struct kuznyechik_ctx);
+struct cmac_kuznyechik_ctx CMAC128_CTX(struct kuznyechik_ctx);
- void
- cmac_kuznyechik_set_key(struct cmac_kuznyechik_ctx *ctx,
- const uint8_t * key);
+void cmac_kuznyechik_set_key(struct cmac_kuznyechik_ctx *ctx,
+ const uint8_t *key);
- void
- cmac_kuznyechik_update(struct cmac_kuznyechik_ctx *ctx,
- size_t length, const uint8_t * data);
+void cmac_kuznyechik_update(struct cmac_kuznyechik_ctx *ctx, size_t length,
+ const uint8_t *data);
- void
- cmac_kuznyechik_digest(struct cmac_kuznyechik_ctx *ctx,
- size_t length, uint8_t * digest);
+void cmac_kuznyechik_digest(struct cmac_kuznyechik_ctx *ctx, size_t length,
+ uint8_t *digest);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-# endif
-#endif /* CMAC_H_INCLUDED */
+#endif
+#endif
+#endif /* CMAC_H_INCLUDED */
diff --git a/lib/nettle/gost/ecc-gost-hash.c b/lib/nettle/gost/ecc-gost-hash.c
index e1aee68e14..5202a894af 100644
--- a/lib/nettle/gost/ecc-gost-hash.c
+++ b/lib/nettle/gost/ecc-gost-hash.c
@@ -32,7 +32,7 @@
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls_int.h>
@@ -50,9 +50,8 @@
unusual limb sizes.
*/
-void
-gost_hash(const struct ecc_modulo *m,
- mp_limb_t * hp, size_t length, const uint8_t * digest)
+void gost_hash(const struct ecc_modulo *m, mp_limb_t *hp, size_t length,
+ const uint8_t *digest)
{
if (length > ((size_t)m->bit_size + 7) / 8)
length = (m->bit_size + 7) / 8;
diff --git a/lib/nettle/gost/gost-point-mul-g.c b/lib/nettle/gost/gost-point-mul-g.c
index e0d85cd6e0..2909d6effa 100644
--- a/lib/nettle/gost/gost-point-mul-g.c
+++ b/lib/nettle/gost/gost-point-mul-g.c
@@ -32,7 +32,7 @@
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <assert.h>
diff --git a/lib/nettle/gost/gost-point.c b/lib/nettle/gost/gost-point.c
index 22eef214f2..ecbfb531c6 100644
--- a/lib/nettle/gost/gost-point.c
+++ b/lib/nettle/gost/gost-point.c
@@ -32,7 +32,7 @@
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <nettle/ecc.h>
@@ -48,8 +48,8 @@ int gost_point_set(struct ecc_point *p, const mpz_t x, const mpz_t y)
size = p->ecc->p.size;
- if (mpz_sgn(x) < 0 || mpz_limbs_cmp(x, p->ecc->p.m, size) >= 0
- || mpz_sgn(y) < 0 || mpz_limbs_cmp(y, p->ecc->p.m, size) >= 0)
+ if (mpz_sgn(x) < 0 || mpz_limbs_cmp(x, p->ecc->p.m, size) >= 0 ||
+ mpz_sgn(y) < 0 || mpz_limbs_cmp(y, p->ecc->p.m, size) >= 0)
return 0;
mpz_init(lhs);
@@ -75,12 +75,12 @@ int gost_point_set(struct ecc_point *p, const mpz_t x, const mpz_t y)
mpz_t x2, d;
mpz_init(x2);
mpz_init_set_ui(d, 39081);
- mpz_mul(x2, x, x); /* x^2 */
- mpz_mul(d, d, x2); /* 39081 x^2 */
+ mpz_mul(x2, x, x); /* x^2 */
+ mpz_mul(d, d, x2); /* 39081 x^2 */
mpz_set_ui(rhs, 1);
- mpz_submul(rhs, d, lhs); /* 1 - 39081 x^2 y^2 */
+ mpz_submul(rhs, d, lhs); /* 1 - 39081 x^2 y^2 */
/* Check that x^2 + y^2 = 1 - 39081 x^2 y^2 */
- mpz_add(lhs, x2, lhs); /* x^2 + y^2 */
+ mpz_add(lhs, x2, lhs); /* x^2 + y^2 */
mpz_clear(d);
mpz_clear(x2);
} else {
diff --git a/lib/nettle/gost/gost-wrap.c b/lib/nettle/gost/gost-wrap.c
index d8a38f6173..da87a1c434 100644
--- a/lib/nettle/gost/gost-wrap.c
+++ b/lib/nettle/gost/gost-wrap.c
@@ -24,7 +24,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls_int.h>
@@ -36,9 +36,9 @@
#include <nettle/cfb.h>
#include <nettle/memops.h>
-void
-gost28147_kdf_cryptopro(const struct gost28147_param *param,
- const uint8_t * in, const uint8_t * ukm, uint8_t * out)
+void gost28147_kdf_cryptopro(const struct gost28147_param *param,
+ const uint8_t *in, const uint8_t *ukm,
+ uint8_t *out)
{
struct gost28147_ctx ctx;
int i;
@@ -66,17 +66,16 @@ gost28147_kdf_cryptopro(const struct gost28147_param *param,
gost28147_set_key(&ctx, out);
gost28147_set_param(&ctx, param);
cfb_encrypt(&ctx,
- (nettle_cipher_func *) gost28147_encrypt_for_cfb,
- GOST28147_BLOCK_SIZE, iv,
- GOST28147_KEY_SIZE, out, out);
+ (nettle_cipher_func *)gost28147_encrypt_for_cfb,
+ GOST28147_BLOCK_SIZE, iv, GOST28147_KEY_SIZE, out,
+ out);
}
}
-void
-gost28147_key_wrap_cryptopro(const struct gost28147_param *param,
- const uint8_t * kek,
- const uint8_t * ukm, size_t ukm_size,
- const uint8_t * cek, uint8_t * enc, uint8_t * imit)
+void gost28147_key_wrap_cryptopro(const struct gost28147_param *param,
+ const uint8_t *kek, const uint8_t *ukm,
+ size_t ukm_size, const uint8_t *cek,
+ uint8_t *enc, uint8_t *imit)
{
uint8_t kd[GOST28147_KEY_SIZE];
struct gost28147_ctx ctx;
@@ -96,12 +95,10 @@ gost28147_key_wrap_cryptopro(const struct gost28147_param *param,
gost28147_imit_digest(&ictx, GOST28147_IMIT_DIGEST_SIZE, imit);
}
-int
-gost28147_key_unwrap_cryptopro(const struct gost28147_param *param,
- const uint8_t * kek,
- const uint8_t * ukm, size_t ukm_size,
- const uint8_t * enc,
- const uint8_t * imit, uint8_t * cek)
+int gost28147_key_unwrap_cryptopro(const struct gost28147_param *param,
+ const uint8_t *kek, const uint8_t *ukm,
+ size_t ukm_size, const uint8_t *enc,
+ const uint8_t *imit, uint8_t *cek)
{
uint8_t kd[GOST28147_KEY_SIZE];
uint8_t mac[GOST28147_IMIT_DIGEST_SIZE];
diff --git a/lib/nettle/gost/gost28147.c b/lib/nettle/gost/gost28147.c
index 448d26bf8c..3c2d1d0bdf 100644
--- a/lib/nettle/gost/gost28147.c
+++ b/lib/nettle/gost/gost28147.c
@@ -29,2237 +29,8369 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_GOST28147_SET_KEY
-# include <gnutls_int.h>
+#include <gnutls_int.h>
-# include <string.h>
+#include <string.h>
-# include <nettle/macros.h>
-# include "nettle-write.h"
-# include "gost28147.h"
-# include <nettle/memxor.h>
+#include <nettle/macros.h>
+#include "nettle-write.h"
+#include "gost28147.h"
+#include <nettle/memxor.h>
/* pre-initialized GOST lookup tables based on rotated S-Box */
-const struct gost28147_param gost28147_param_test_3411 = {
- 0,
- {
- /* 0 */
- 0x00072000, 0x00075000, 0x00074800, 0x00071000,
- 0x00076800, 0x00074000, 0x00070000, 0x00077000,
- 0x00073000, 0x00075800, 0x00070800, 0x00076000,
- 0x00073800, 0x00077800, 0x00072800, 0x00071800,
- 0x0005a000, 0x0005d000, 0x0005c800, 0x00059000,
- 0x0005e800, 0x0005c000, 0x00058000, 0x0005f000,
- 0x0005b000, 0x0005d800, 0x00058800, 0x0005e000,
- 0x0005b800, 0x0005f800, 0x0005a800, 0x00059800,
- 0x00022000, 0x00025000, 0x00024800, 0x00021000,
- 0x00026800, 0x00024000, 0x00020000, 0x00027000,
- 0x00023000, 0x00025800, 0x00020800, 0x00026000,
- 0x00023800, 0x00027800, 0x00022800, 0x00021800,
- 0x00062000, 0x00065000, 0x00064800, 0x00061000,
- 0x00066800, 0x00064000, 0x00060000, 0x00067000,
- 0x00063000, 0x00065800, 0x00060800, 0x00066000,
- 0x00063800, 0x00067800, 0x00062800, 0x00061800,
- 0x00032000, 0x00035000, 0x00034800, 0x00031000,
- 0x00036800, 0x00034000, 0x00030000, 0x00037000,
- 0x00033000, 0x00035800, 0x00030800, 0x00036000,
- 0x00033800, 0x00037800, 0x00032800, 0x00031800,
- 0x0006a000, 0x0006d000, 0x0006c800, 0x00069000,
- 0x0006e800, 0x0006c000, 0x00068000, 0x0006f000,
- 0x0006b000, 0x0006d800, 0x00068800, 0x0006e000,
- 0x0006b800, 0x0006f800, 0x0006a800, 0x00069800,
- 0x0007a000, 0x0007d000, 0x0007c800, 0x00079000,
- 0x0007e800, 0x0007c000, 0x00078000, 0x0007f000,
- 0x0007b000, 0x0007d800, 0x00078800, 0x0007e000,
- 0x0007b800, 0x0007f800, 0x0007a800, 0x00079800,
- 0x00052000, 0x00055000, 0x00054800, 0x00051000,
- 0x00056800, 0x00054000, 0x00050000, 0x00057000,
- 0x00053000, 0x00055800, 0x00050800, 0x00056000,
- 0x00053800, 0x00057800, 0x00052800, 0x00051800,
- 0x00012000, 0x00015000, 0x00014800, 0x00011000,
- 0x00016800, 0x00014000, 0x00010000, 0x00017000,
- 0x00013000, 0x00015800, 0x00010800, 0x00016000,
- 0x00013800, 0x00017800, 0x00012800, 0x00011800,
- 0x0001a000, 0x0001d000, 0x0001c800, 0x00019000,
- 0x0001e800, 0x0001c000, 0x00018000, 0x0001f000,
- 0x0001b000, 0x0001d800, 0x00018800, 0x0001e000,
- 0x0001b800, 0x0001f800, 0x0001a800, 0x00019800,
- 0x00042000, 0x00045000, 0x00044800, 0x00041000,
- 0x00046800, 0x00044000, 0x00040000, 0x00047000,
- 0x00043000, 0x00045800, 0x00040800, 0x00046000,
- 0x00043800, 0x00047800, 0x00042800, 0x00041800,
- 0x0000a000, 0x0000d000, 0x0000c800, 0x00009000,
- 0x0000e800, 0x0000c000, 0x00008000, 0x0000f000,
- 0x0000b000, 0x0000d800, 0x00008800, 0x0000e000,
- 0x0000b800, 0x0000f800, 0x0000a800, 0x00009800,
- 0x00002000, 0x00005000, 0x00004800, 0x00001000,
- 0x00006800, 0x00004000, 0x00000000, 0x00007000,
- 0x00003000, 0x00005800, 0x00000800, 0x00006000,
- 0x00003800, 0x00007800, 0x00002800, 0x00001800,
- 0x0003a000, 0x0003d000, 0x0003c800, 0x00039000,
- 0x0003e800, 0x0003c000, 0x00038000, 0x0003f000,
- 0x0003b000, 0x0003d800, 0x00038800, 0x0003e000,
- 0x0003b800, 0x0003f800, 0x0003a800, 0x00039800,
- 0x0002a000, 0x0002d000, 0x0002c800, 0x00029000,
- 0x0002e800, 0x0002c000, 0x00028000, 0x0002f000,
- 0x0002b000, 0x0002d800, 0x00028800, 0x0002e000,
- 0x0002b800, 0x0002f800, 0x0002a800, 0x00029800,
- 0x0004a000, 0x0004d000, 0x0004c800, 0x00049000,
- 0x0004e800, 0x0004c000, 0x00048000, 0x0004f000,
- 0x0004b000, 0x0004d800, 0x00048800, 0x0004e000,
- 0x0004b800, 0x0004f800, 0x0004a800, 0x00049800,
- /* 1 */
- 0x03a80000, 0x03c00000, 0x03880000, 0x03e80000,
- 0x03d00000, 0x03980000, 0x03a00000, 0x03900000,
- 0x03f00000, 0x03f80000, 0x03e00000, 0x03b80000,
- 0x03b00000, 0x03800000, 0x03c80000, 0x03d80000,
- 0x06a80000, 0x06c00000, 0x06880000, 0x06e80000,
- 0x06d00000, 0x06980000, 0x06a00000, 0x06900000,
- 0x06f00000, 0x06f80000, 0x06e00000, 0x06b80000,
- 0x06b00000, 0x06800000, 0x06c80000, 0x06d80000,
- 0x05280000, 0x05400000, 0x05080000, 0x05680000,
- 0x05500000, 0x05180000, 0x05200000, 0x05100000,
- 0x05700000, 0x05780000, 0x05600000, 0x05380000,
- 0x05300000, 0x05000000, 0x05480000, 0x05580000,
- 0x00a80000, 0x00c00000, 0x00880000, 0x00e80000,
- 0x00d00000, 0x00980000, 0x00a00000, 0x00900000,
- 0x00f00000, 0x00f80000, 0x00e00000, 0x00b80000,
- 0x00b00000, 0x00800000, 0x00c80000, 0x00d80000,
- 0x00280000, 0x00400000, 0x00080000, 0x00680000,
- 0x00500000, 0x00180000, 0x00200000, 0x00100000,
- 0x00700000, 0x00780000, 0x00600000, 0x00380000,
- 0x00300000, 0x00000000, 0x00480000, 0x00580000,
- 0x04280000, 0x04400000, 0x04080000, 0x04680000,
- 0x04500000, 0x04180000, 0x04200000, 0x04100000,
- 0x04700000, 0x04780000, 0x04600000, 0x04380000,
- 0x04300000, 0x04000000, 0x04480000, 0x04580000,
- 0x04a80000, 0x04c00000, 0x04880000, 0x04e80000,
- 0x04d00000, 0x04980000, 0x04a00000, 0x04900000,
- 0x04f00000, 0x04f80000, 0x04e00000, 0x04b80000,
- 0x04b00000, 0x04800000, 0x04c80000, 0x04d80000,
- 0x07a80000, 0x07c00000, 0x07880000, 0x07e80000,
- 0x07d00000, 0x07980000, 0x07a00000, 0x07900000,
- 0x07f00000, 0x07f80000, 0x07e00000, 0x07b80000,
- 0x07b00000, 0x07800000, 0x07c80000, 0x07d80000,
- 0x07280000, 0x07400000, 0x07080000, 0x07680000,
- 0x07500000, 0x07180000, 0x07200000, 0x07100000,
- 0x07700000, 0x07780000, 0x07600000, 0x07380000,
- 0x07300000, 0x07000000, 0x07480000, 0x07580000,
- 0x02280000, 0x02400000, 0x02080000, 0x02680000,
- 0x02500000, 0x02180000, 0x02200000, 0x02100000,
- 0x02700000, 0x02780000, 0x02600000, 0x02380000,
- 0x02300000, 0x02000000, 0x02480000, 0x02580000,
- 0x03280000, 0x03400000, 0x03080000, 0x03680000,
- 0x03500000, 0x03180000, 0x03200000, 0x03100000,
- 0x03700000, 0x03780000, 0x03600000, 0x03380000,
- 0x03300000, 0x03000000, 0x03480000, 0x03580000,
- 0x06280000, 0x06400000, 0x06080000, 0x06680000,
- 0x06500000, 0x06180000, 0x06200000, 0x06100000,
- 0x06700000, 0x06780000, 0x06600000, 0x06380000,
- 0x06300000, 0x06000000, 0x06480000, 0x06580000,
- 0x05a80000, 0x05c00000, 0x05880000, 0x05e80000,
- 0x05d00000, 0x05980000, 0x05a00000, 0x05900000,
- 0x05f00000, 0x05f80000, 0x05e00000, 0x05b80000,
- 0x05b00000, 0x05800000, 0x05c80000, 0x05d80000,
- 0x01280000, 0x01400000, 0x01080000, 0x01680000,
- 0x01500000, 0x01180000, 0x01200000, 0x01100000,
- 0x01700000, 0x01780000, 0x01600000, 0x01380000,
- 0x01300000, 0x01000000, 0x01480000, 0x01580000,
- 0x02a80000, 0x02c00000, 0x02880000, 0x02e80000,
- 0x02d00000, 0x02980000, 0x02a00000, 0x02900000,
- 0x02f00000, 0x02f80000, 0x02e00000, 0x02b80000,
- 0x02b00000, 0x02800000, 0x02c80000, 0x02d80000,
- 0x01a80000, 0x01c00000, 0x01880000, 0x01e80000,
- 0x01d00000, 0x01980000, 0x01a00000, 0x01900000,
- 0x01f00000, 0x01f80000, 0x01e00000, 0x01b80000,
- 0x01b00000, 0x01800000, 0x01c80000, 0x01d80000,
- /* 2 */
- 0x30000002, 0x60000002, 0x38000002, 0x08000002,
- 0x28000002, 0x78000002, 0x68000002, 0x40000002,
- 0x20000002, 0x50000002, 0x48000002, 0x70000002,
- 0x00000002, 0x18000002, 0x58000002, 0x10000002,
- 0xb0000005, 0xe0000005, 0xb8000005, 0x88000005,
- 0xa8000005, 0xf8000005, 0xe8000005, 0xc0000005,
- 0xa0000005, 0xd0000005, 0xc8000005, 0xf0000005,
- 0x80000005, 0x98000005, 0xd8000005, 0x90000005,
- 0x30000005, 0x60000005, 0x38000005, 0x08000005,
- 0x28000005, 0x78000005, 0x68000005, 0x40000005,
- 0x20000005, 0x50000005, 0x48000005, 0x70000005,
- 0x00000005, 0x18000005, 0x58000005, 0x10000005,
- 0x30000000, 0x60000000, 0x38000000, 0x08000000,
- 0x28000000, 0x78000000, 0x68000000, 0x40000000,
- 0x20000000, 0x50000000, 0x48000000, 0x70000000,
- 0x00000000, 0x18000000, 0x58000000, 0x10000000,
- 0xb0000003, 0xe0000003, 0xb8000003, 0x88000003,
- 0xa8000003, 0xf8000003, 0xe8000003, 0xc0000003,
- 0xa0000003, 0xd0000003, 0xc8000003, 0xf0000003,
- 0x80000003, 0x98000003, 0xd8000003, 0x90000003,
- 0x30000001, 0x60000001, 0x38000001, 0x08000001,
- 0x28000001, 0x78000001, 0x68000001, 0x40000001,
- 0x20000001, 0x50000001, 0x48000001, 0x70000001,
- 0x00000001, 0x18000001, 0x58000001, 0x10000001,
- 0xb0000000, 0xe0000000, 0xb8000000, 0x88000000,
- 0xa8000000, 0xf8000000, 0xe8000000, 0xc0000000,
- 0xa0000000, 0xd0000000, 0xc8000000, 0xf0000000,
- 0x80000000, 0x98000000, 0xd8000000, 0x90000000,
- 0xb0000006, 0xe0000006, 0xb8000006, 0x88000006,
- 0xa8000006, 0xf8000006, 0xe8000006, 0xc0000006,
- 0xa0000006, 0xd0000006, 0xc8000006, 0xf0000006,
- 0x80000006, 0x98000006, 0xd8000006, 0x90000006,
- 0xb0000001, 0xe0000001, 0xb8000001, 0x88000001,
- 0xa8000001, 0xf8000001, 0xe8000001, 0xc0000001,
- 0xa0000001, 0xd0000001, 0xc8000001, 0xf0000001,
- 0x80000001, 0x98000001, 0xd8000001, 0x90000001,
- 0x30000003, 0x60000003, 0x38000003, 0x08000003,
- 0x28000003, 0x78000003, 0x68000003, 0x40000003,
- 0x20000003, 0x50000003, 0x48000003, 0x70000003,
- 0x00000003, 0x18000003, 0x58000003, 0x10000003,
- 0x30000004, 0x60000004, 0x38000004, 0x08000004,
- 0x28000004, 0x78000004, 0x68000004, 0x40000004,
- 0x20000004, 0x50000004, 0x48000004, 0x70000004,
- 0x00000004, 0x18000004, 0x58000004, 0x10000004,
- 0xb0000002, 0xe0000002, 0xb8000002, 0x88000002,
- 0xa8000002, 0xf8000002, 0xe8000002, 0xc0000002,
- 0xa0000002, 0xd0000002, 0xc8000002, 0xf0000002,
- 0x80000002, 0x98000002, 0xd8000002, 0x90000002,
- 0xb0000004, 0xe0000004, 0xb8000004, 0x88000004,
- 0xa8000004, 0xf8000004, 0xe8000004, 0xc0000004,
- 0xa0000004, 0xd0000004, 0xc8000004, 0xf0000004,
- 0x80000004, 0x98000004, 0xd8000004, 0x90000004,
- 0x30000006, 0x60000006, 0x38000006, 0x08000006,
- 0x28000006, 0x78000006, 0x68000006, 0x40000006,
- 0x20000006, 0x50000006, 0x48000006, 0x70000006,
- 0x00000006, 0x18000006, 0x58000006, 0x10000006,
- 0xb0000007, 0xe0000007, 0xb8000007, 0x88000007,
- 0xa8000007, 0xf8000007, 0xe8000007, 0xc0000007,
- 0xa0000007, 0xd0000007, 0xc8000007, 0xf0000007,
- 0x80000007, 0x98000007, 0xd8000007, 0x90000007,
- 0x30000007, 0x60000007, 0x38000007, 0x08000007,
- 0x28000007, 0x78000007, 0x68000007, 0x40000007,
- 0x20000007, 0x50000007, 0x48000007, 0x70000007,
- 0x00000007, 0x18000007, 0x58000007, 0x10000007,
- /* 3 */
- 0x000000e8, 0x000000d8, 0x000000a0, 0x00000088,
- 0x00000098, 0x000000f8, 0x000000a8, 0x000000c8,
- 0x00000080, 0x000000d0, 0x000000f0, 0x000000b8,
- 0x000000b0, 0x000000c0, 0x00000090, 0x000000e0,
- 0x000007e8, 0x000007d8, 0x000007a0, 0x00000788,
- 0x00000798, 0x000007f8, 0x000007a8, 0x000007c8,
- 0x00000780, 0x000007d0, 0x000007f0, 0x000007b8,
- 0x000007b0, 0x000007c0, 0x00000790, 0x000007e0,
- 0x000006e8, 0x000006d8, 0x000006a0, 0x00000688,
- 0x00000698, 0x000006f8, 0x000006a8, 0x000006c8,
- 0x00000680, 0x000006d0, 0x000006f0, 0x000006b8,
- 0x000006b0, 0x000006c0, 0x00000690, 0x000006e0,
- 0x00000068, 0x00000058, 0x00000020, 0x00000008,
- 0x00000018, 0x00000078, 0x00000028, 0x00000048,
- 0x00000000, 0x00000050, 0x00000070, 0x00000038,
- 0x00000030, 0x00000040, 0x00000010, 0x00000060,
- 0x000002e8, 0x000002d8, 0x000002a0, 0x00000288,
- 0x00000298, 0x000002f8, 0x000002a8, 0x000002c8,
- 0x00000280, 0x000002d0, 0x000002f0, 0x000002b8,
- 0x000002b0, 0x000002c0, 0x00000290, 0x000002e0,
- 0x000003e8, 0x000003d8, 0x000003a0, 0x00000388,
- 0x00000398, 0x000003f8, 0x000003a8, 0x000003c8,
- 0x00000380, 0x000003d0, 0x000003f0, 0x000003b8,
- 0x000003b0, 0x000003c0, 0x00000390, 0x000003e0,
- 0x00000568, 0x00000558, 0x00000520, 0x00000508,
- 0x00000518, 0x00000578, 0x00000528, 0x00000548,
- 0x00000500, 0x00000550, 0x00000570, 0x00000538,
- 0x00000530, 0x00000540, 0x00000510, 0x00000560,
- 0x00000268, 0x00000258, 0x00000220, 0x00000208,
- 0x00000218, 0x00000278, 0x00000228, 0x00000248,
- 0x00000200, 0x00000250, 0x00000270, 0x00000238,
- 0x00000230, 0x00000240, 0x00000210, 0x00000260,
- 0x000004e8, 0x000004d8, 0x000004a0, 0x00000488,
- 0x00000498, 0x000004f8, 0x000004a8, 0x000004c8,
- 0x00000480, 0x000004d0, 0x000004f0, 0x000004b8,
- 0x000004b0, 0x000004c0, 0x00000490, 0x000004e0,
- 0x00000168, 0x00000158, 0x00000120, 0x00000108,
- 0x00000118, 0x00000178, 0x00000128, 0x00000148,
- 0x00000100, 0x00000150, 0x00000170, 0x00000138,
- 0x00000130, 0x00000140, 0x00000110, 0x00000160,
- 0x000001e8, 0x000001d8, 0x000001a0, 0x00000188,
- 0x00000198, 0x000001f8, 0x000001a8, 0x000001c8,
- 0x00000180, 0x000001d0, 0x000001f0, 0x000001b8,
- 0x000001b0, 0x000001c0, 0x00000190, 0x000001e0,
- 0x00000768, 0x00000758, 0x00000720, 0x00000708,
- 0x00000718, 0x00000778, 0x00000728, 0x00000748,
- 0x00000700, 0x00000750, 0x00000770, 0x00000738,
- 0x00000730, 0x00000740, 0x00000710, 0x00000760,
- 0x00000368, 0x00000358, 0x00000320, 0x00000308,
- 0x00000318, 0x00000378, 0x00000328, 0x00000348,
- 0x00000300, 0x00000350, 0x00000370, 0x00000338,
- 0x00000330, 0x00000340, 0x00000310, 0x00000360,
- 0x000005e8, 0x000005d8, 0x000005a0, 0x00000588,
- 0x00000598, 0x000005f8, 0x000005a8, 0x000005c8,
- 0x00000580, 0x000005d0, 0x000005f0, 0x000005b8,
- 0x000005b0, 0x000005c0, 0x00000590, 0x000005e0,
- 0x00000468, 0x00000458, 0x00000420, 0x00000408,
- 0x00000418, 0x00000478, 0x00000428, 0x00000448,
- 0x00000400, 0x00000450, 0x00000470, 0x00000438,
- 0x00000430, 0x00000440, 0x00000410, 0x00000460,
- 0x00000668, 0x00000658, 0x00000620, 0x00000608,
- 0x00000618, 0x00000678, 0x00000628, 0x00000648,
- 0x00000600, 0x00000650, 0x00000670, 0x00000638,
- 0x00000630, 0x00000640, 0x00000610, 0x00000660,
- }
-};
+const struct gost28147_param gost28147_param_test_3411 = { 0,
+ {
+ /* 0 */
+ 0x00072000,
+ 0x00075000,
+ 0x00074800,
+ 0x00071000,
+ 0x00076800,
+ 0x00074000,
+ 0x00070000,
+ 0x00077000,
+ 0x00073000,
+ 0x00075800,
+ 0x00070800,
+ 0x00076000,
+ 0x00073800,
+ 0x00077800,
+ 0x00072800,
+ 0x00071800,
+ 0x0005a000,
+ 0x0005d000,
+ 0x0005c800,
+ 0x00059000,
+ 0x0005e800,
+ 0x0005c000,
+ 0x00058000,
+ 0x0005f000,
+ 0x0005b000,
+ 0x0005d800,
+ 0x00058800,
+ 0x0005e000,
+ 0x0005b800,
+ 0x0005f800,
+ 0x0005a800,
+ 0x00059800,
+ 0x00022000,
+ 0x00025000,
+ 0x00024800,
+ 0x00021000,
+ 0x00026800,
+ 0x00024000,
+ 0x00020000,
+ 0x00027000,
+ 0x00023000,
+ 0x00025800,
+ 0x00020800,
+ 0x00026000,
+ 0x00023800,
+ 0x00027800,
+ 0x00022800,
+ 0x00021800,
+ 0x00062000,
+ 0x00065000,
+ 0x00064800,
+ 0x00061000,
+ 0x00066800,
+ 0x00064000,
+ 0x00060000,
+ 0x00067000,
+ 0x00063000,
+ 0x00065800,
+ 0x00060800,
+ 0x00066000,
+ 0x00063800,
+ 0x00067800,
+ 0x00062800,
+ 0x00061800,
+ 0x00032000,
+ 0x00035000,
+ 0x00034800,
+ 0x00031000,
+ 0x00036800,
+ 0x00034000,
+ 0x00030000,
+ 0x00037000,
+ 0x00033000,
+ 0x00035800,
+ 0x00030800,
+ 0x00036000,
+ 0x00033800,
+ 0x00037800,
+ 0x00032800,
+ 0x00031800,
+ 0x0006a000,
+ 0x0006d000,
+ 0x0006c800,
+ 0x00069000,
+ 0x0006e800,
+ 0x0006c000,
+ 0x00068000,
+ 0x0006f000,
+ 0x0006b000,
+ 0x0006d800,
+ 0x00068800,
+ 0x0006e000,
+ 0x0006b800,
+ 0x0006f800,
+ 0x0006a800,
+ 0x00069800,
+ 0x0007a000,
+ 0x0007d000,
+ 0x0007c800,
+ 0x00079000,
+ 0x0007e800,
+ 0x0007c000,
+ 0x00078000,
+ 0x0007f000,
+ 0x0007b000,
+ 0x0007d800,
+ 0x00078800,
+ 0x0007e000,
+ 0x0007b800,
+ 0x0007f800,
+ 0x0007a800,
+ 0x00079800,
+ 0x00052000,
+ 0x00055000,
+ 0x00054800,
+ 0x00051000,
+ 0x00056800,
+ 0x00054000,
+ 0x00050000,
+ 0x00057000,
+ 0x00053000,
+ 0x00055800,
+ 0x00050800,
+ 0x00056000,
+ 0x00053800,
+ 0x00057800,
+ 0x00052800,
+ 0x00051800,
+ 0x00012000,
+ 0x00015000,
+ 0x00014800,
+ 0x00011000,
+ 0x00016800,
+ 0x00014000,
+ 0x00010000,
+ 0x00017000,
+ 0x00013000,
+ 0x00015800,
+ 0x00010800,
+ 0x00016000,
+ 0x00013800,
+ 0x00017800,
+ 0x00012800,
+ 0x00011800,
+ 0x0001a000,
+ 0x0001d000,
+ 0x0001c800,
+ 0x00019000,
+ 0x0001e800,
+ 0x0001c000,
+ 0x00018000,
+ 0x0001f000,
+ 0x0001b000,
+ 0x0001d800,
+ 0x00018800,
+ 0x0001e000,
+ 0x0001b800,
+ 0x0001f800,
+ 0x0001a800,
+ 0x00019800,
+ 0x00042000,
+ 0x00045000,
+ 0x00044800,
+ 0x00041000,
+ 0x00046800,
+ 0x00044000,
+ 0x00040000,
+ 0x00047000,
+ 0x00043000,
+ 0x00045800,
+ 0x00040800,
+ 0x00046000,
+ 0x00043800,
+ 0x00047800,
+ 0x00042800,
+ 0x00041800,
+ 0x0000a000,
+ 0x0000d000,
+ 0x0000c800,
+ 0x00009000,
+ 0x0000e800,
+ 0x0000c000,
+ 0x00008000,
+ 0x0000f000,
+ 0x0000b000,
+ 0x0000d800,
+ 0x00008800,
+ 0x0000e000,
+ 0x0000b800,
+ 0x0000f800,
+ 0x0000a800,
+ 0x00009800,
+ 0x00002000,
+ 0x00005000,
+ 0x00004800,
+ 0x00001000,
+ 0x00006800,
+ 0x00004000,
+ 0x00000000,
+ 0x00007000,
+ 0x00003000,
+ 0x00005800,
+ 0x00000800,
+ 0x00006000,
+ 0x00003800,
+ 0x00007800,
+ 0x00002800,
+ 0x00001800,
+ 0x0003a000,
+ 0x0003d000,
+ 0x0003c800,
+ 0x00039000,
+ 0x0003e800,
+ 0x0003c000,
+ 0x00038000,
+ 0x0003f000,
+ 0x0003b000,
+ 0x0003d800,
+ 0x00038800,
+ 0x0003e000,
+ 0x0003b800,
+ 0x0003f800,
+ 0x0003a800,
+ 0x00039800,
+ 0x0002a000,
+ 0x0002d000,
+ 0x0002c800,
+ 0x00029000,
+ 0x0002e800,
+ 0x0002c000,
+ 0x00028000,
+ 0x0002f000,
+ 0x0002b000,
+ 0x0002d800,
+ 0x00028800,
+ 0x0002e000,
+ 0x0002b800,
+ 0x0002f800,
+ 0x0002a800,
+ 0x00029800,
+ 0x0004a000,
+ 0x0004d000,
+ 0x0004c800,
+ 0x00049000,
+ 0x0004e800,
+ 0x0004c000,
+ 0x00048000,
+ 0x0004f000,
+ 0x0004b000,
+ 0x0004d800,
+ 0x00048800,
+ 0x0004e000,
+ 0x0004b800,
+ 0x0004f800,
+ 0x0004a800,
+ 0x00049800,
+ /* 1 */
+ 0x03a80000,
+ 0x03c00000,
+ 0x03880000,
+ 0x03e80000,
+ 0x03d00000,
+ 0x03980000,
+ 0x03a00000,
+ 0x03900000,
+ 0x03f00000,
+ 0x03f80000,
+ 0x03e00000,
+ 0x03b80000,
+ 0x03b00000,
+ 0x03800000,
+ 0x03c80000,
+ 0x03d80000,
+ 0x06a80000,
+ 0x06c00000,
+ 0x06880000,
+ 0x06e80000,
+ 0x06d00000,
+ 0x06980000,
+ 0x06a00000,
+ 0x06900000,
+ 0x06f00000,
+ 0x06f80000,
+ 0x06e00000,
+ 0x06b80000,
+ 0x06b00000,
+ 0x06800000,
+ 0x06c80000,
+ 0x06d80000,
+ 0x05280000,
+ 0x05400000,
+ 0x05080000,
+ 0x05680000,
+ 0x05500000,
+ 0x05180000,
+ 0x05200000,
+ 0x05100000,
+ 0x05700000,
+ 0x05780000,
+ 0x05600000,
+ 0x05380000,
+ 0x05300000,
+ 0x05000000,
+ 0x05480000,
+ 0x05580000,
+ 0x00a80000,
+ 0x00c00000,
+ 0x00880000,
+ 0x00e80000,
+ 0x00d00000,
+ 0x00980000,
+ 0x00a00000,
+ 0x00900000,
+ 0x00f00000,
+ 0x00f80000,
+ 0x00e00000,
+ 0x00b80000,
+ 0x00b00000,
+ 0x00800000,
+ 0x00c80000,
+ 0x00d80000,
+ 0x00280000,
+ 0x00400000,
+ 0x00080000,
+ 0x00680000,
+ 0x00500000,
+ 0x00180000,
+ 0x00200000,
+ 0x00100000,
+ 0x00700000,
+ 0x00780000,
+ 0x00600000,
+ 0x00380000,
+ 0x00300000,
+ 0x00000000,
+ 0x00480000,
+ 0x00580000,
+ 0x04280000,
+ 0x04400000,
+ 0x04080000,
+ 0x04680000,
+ 0x04500000,
+ 0x04180000,
+ 0x04200000,
+ 0x04100000,
+ 0x04700000,
+ 0x04780000,
+ 0x04600000,
+ 0x04380000,
+ 0x04300000,
+ 0x04000000,
+ 0x04480000,
+ 0x04580000,
+ 0x04a80000,
+ 0x04c00000,
+ 0x04880000,
+ 0x04e80000,
+ 0x04d00000,
+ 0x04980000,
+ 0x04a00000,
+ 0x04900000,
+ 0x04f00000,
+ 0x04f80000,
+ 0x04e00000,
+ 0x04b80000,
+ 0x04b00000,
+ 0x04800000,
+ 0x04c80000,
+ 0x04d80000,
+ 0x07a80000,
+ 0x07c00000,
+ 0x07880000,
+ 0x07e80000,
+ 0x07d00000,
+ 0x07980000,
+ 0x07a00000,
+ 0x07900000,
+ 0x07f00000,
+ 0x07f80000,
+ 0x07e00000,
+ 0x07b80000,
+ 0x07b00000,
+ 0x07800000,
+ 0x07c80000,
+ 0x07d80000,
+ 0x07280000,
+ 0x07400000,
+ 0x07080000,
+ 0x07680000,
+ 0x07500000,
+ 0x07180000,
+ 0x07200000,
+ 0x07100000,
+ 0x07700000,
+ 0x07780000,
+ 0x07600000,
+ 0x07380000,
+ 0x07300000,
+ 0x07000000,
+ 0x07480000,
+ 0x07580000,
+ 0x02280000,
+ 0x02400000,
+ 0x02080000,
+ 0x02680000,
+ 0x02500000,
+ 0x02180000,
+ 0x02200000,
+ 0x02100000,
+ 0x02700000,
+ 0x02780000,
+ 0x02600000,
+ 0x02380000,
+ 0x02300000,
+ 0x02000000,
+ 0x02480000,
+ 0x02580000,
+ 0x03280000,
+ 0x03400000,
+ 0x03080000,
+ 0x03680000,
+ 0x03500000,
+ 0x03180000,
+ 0x03200000,
+ 0x03100000,
+ 0x03700000,
+ 0x03780000,
+ 0x03600000,
+ 0x03380000,
+ 0x03300000,
+ 0x03000000,
+ 0x03480000,
+ 0x03580000,
+ 0x06280000,
+ 0x06400000,
+ 0x06080000,
+ 0x06680000,
+ 0x06500000,
+ 0x06180000,
+ 0x06200000,
+ 0x06100000,
+ 0x06700000,
+ 0x06780000,
+ 0x06600000,
+ 0x06380000,
+ 0x06300000,
+ 0x06000000,
+ 0x06480000,
+ 0x06580000,
+ 0x05a80000,
+ 0x05c00000,
+ 0x05880000,
+ 0x05e80000,
+ 0x05d00000,
+ 0x05980000,
+ 0x05a00000,
+ 0x05900000,
+ 0x05f00000,
+ 0x05f80000,
+ 0x05e00000,
+ 0x05b80000,
+ 0x05b00000,
+ 0x05800000,
+ 0x05c80000,
+ 0x05d80000,
+ 0x01280000,
+ 0x01400000,
+ 0x01080000,
+ 0x01680000,
+ 0x01500000,
+ 0x01180000,
+ 0x01200000,
+ 0x01100000,
+ 0x01700000,
+ 0x01780000,
+ 0x01600000,
+ 0x01380000,
+ 0x01300000,
+ 0x01000000,
+ 0x01480000,
+ 0x01580000,
+ 0x02a80000,
+ 0x02c00000,
+ 0x02880000,
+ 0x02e80000,
+ 0x02d00000,
+ 0x02980000,
+ 0x02a00000,
+ 0x02900000,
+ 0x02f00000,
+ 0x02f80000,
+ 0x02e00000,
+ 0x02b80000,
+ 0x02b00000,
+ 0x02800000,
+ 0x02c80000,
+ 0x02d80000,
+ 0x01a80000,
+ 0x01c00000,
+ 0x01880000,
+ 0x01e80000,
+ 0x01d00000,
+ 0x01980000,
+ 0x01a00000,
+ 0x01900000,
+ 0x01f00000,
+ 0x01f80000,
+ 0x01e00000,
+ 0x01b80000,
+ 0x01b00000,
+ 0x01800000,
+ 0x01c80000,
+ 0x01d80000,
+ /* 2 */
+ 0x30000002,
+ 0x60000002,
+ 0x38000002,
+ 0x08000002,
+ 0x28000002,
+ 0x78000002,
+ 0x68000002,
+ 0x40000002,
+ 0x20000002,
+ 0x50000002,
+ 0x48000002,
+ 0x70000002,
+ 0x00000002,
+ 0x18000002,
+ 0x58000002,
+ 0x10000002,
+ 0xb0000005,
+ 0xe0000005,
+ 0xb8000005,
+ 0x88000005,
+ 0xa8000005,
+ 0xf8000005,
+ 0xe8000005,
+ 0xc0000005,
+ 0xa0000005,
+ 0xd0000005,
+ 0xc8000005,
+ 0xf0000005,
+ 0x80000005,
+ 0x98000005,
+ 0xd8000005,
+ 0x90000005,
+ 0x30000005,
+ 0x60000005,
+ 0x38000005,
+ 0x08000005,
+ 0x28000005,
+ 0x78000005,
+ 0x68000005,
+ 0x40000005,
+ 0x20000005,
+ 0x50000005,
+ 0x48000005,
+ 0x70000005,
+ 0x00000005,
+ 0x18000005,
+ 0x58000005,
+ 0x10000005,
+ 0x30000000,
+ 0x60000000,
+ 0x38000000,
+ 0x08000000,
+ 0x28000000,
+ 0x78000000,
+ 0x68000000,
+ 0x40000000,
+ 0x20000000,
+ 0x50000000,
+ 0x48000000,
+ 0x70000000,
+ 0x00000000,
+ 0x18000000,
+ 0x58000000,
+ 0x10000000,
+ 0xb0000003,
+ 0xe0000003,
+ 0xb8000003,
+ 0x88000003,
+ 0xa8000003,
+ 0xf8000003,
+ 0xe8000003,
+ 0xc0000003,
+ 0xa0000003,
+ 0xd0000003,
+ 0xc8000003,
+ 0xf0000003,
+ 0x80000003,
+ 0x98000003,
+ 0xd8000003,
+ 0x90000003,
+ 0x30000001,
+ 0x60000001,
+ 0x38000001,
+ 0x08000001,
+ 0x28000001,
+ 0x78000001,
+ 0x68000001,
+ 0x40000001,
+ 0x20000001,
+ 0x50000001,
+ 0x48000001,
+ 0x70000001,
+ 0x00000001,
+ 0x18000001,
+ 0x58000001,
+ 0x10000001,
+ 0xb0000000,
+ 0xe0000000,
+ 0xb8000000,
+ 0x88000000,
+ 0xa8000000,
+ 0xf8000000,
+ 0xe8000000,
+ 0xc0000000,
+ 0xa0000000,
+ 0xd0000000,
+ 0xc8000000,
+ 0xf0000000,
+ 0x80000000,
+ 0x98000000,
+ 0xd8000000,
+ 0x90000000,
+ 0xb0000006,
+ 0xe0000006,
+ 0xb8000006,
+ 0x88000006,
+ 0xa8000006,
+ 0xf8000006,
+ 0xe8000006,
+ 0xc0000006,
+ 0xa0000006,
+ 0xd0000006,
+ 0xc8000006,
+ 0xf0000006,
+ 0x80000006,
+ 0x98000006,
+ 0xd8000006,
+ 0x90000006,
+ 0xb0000001,
+ 0xe0000001,
+ 0xb8000001,
+ 0x88000001,
+ 0xa8000001,
+ 0xf8000001,
+ 0xe8000001,
+ 0xc0000001,
+ 0xa0000001,
+ 0xd0000001,
+ 0xc8000001,
+ 0xf0000001,
+ 0x80000001,
+ 0x98000001,
+ 0xd8000001,
+ 0x90000001,
+ 0x30000003,
+ 0x60000003,
+ 0x38000003,
+ 0x08000003,
+ 0x28000003,
+ 0x78000003,
+ 0x68000003,
+ 0x40000003,
+ 0x20000003,
+ 0x50000003,
+ 0x48000003,
+ 0x70000003,
+ 0x00000003,
+ 0x18000003,
+ 0x58000003,
+ 0x10000003,
+ 0x30000004,
+ 0x60000004,
+ 0x38000004,
+ 0x08000004,
+ 0x28000004,
+ 0x78000004,
+ 0x68000004,
+ 0x40000004,
+ 0x20000004,
+ 0x50000004,
+ 0x48000004,
+ 0x70000004,
+ 0x00000004,
+ 0x18000004,
+ 0x58000004,
+ 0x10000004,
+ 0xb0000002,
+ 0xe0000002,
+ 0xb8000002,
+ 0x88000002,
+ 0xa8000002,
+ 0xf8000002,
+ 0xe8000002,
+ 0xc0000002,
+ 0xa0000002,
+ 0xd0000002,
+ 0xc8000002,
+ 0xf0000002,
+ 0x80000002,
+ 0x98000002,
+ 0xd8000002,
+ 0x90000002,
+ 0xb0000004,
+ 0xe0000004,
+ 0xb8000004,
+ 0x88000004,
+ 0xa8000004,
+ 0xf8000004,
+ 0xe8000004,
+ 0xc0000004,
+ 0xa0000004,
+ 0xd0000004,
+ 0xc8000004,
+ 0xf0000004,
+ 0x80000004,
+ 0x98000004,
+ 0xd8000004,
+ 0x90000004,
+ 0x30000006,
+ 0x60000006,
+ 0x38000006,
+ 0x08000006,
+ 0x28000006,
+ 0x78000006,
+ 0x68000006,
+ 0x40000006,
+ 0x20000006,
+ 0x50000006,
+ 0x48000006,
+ 0x70000006,
+ 0x00000006,
+ 0x18000006,
+ 0x58000006,
+ 0x10000006,
+ 0xb0000007,
+ 0xe0000007,
+ 0xb8000007,
+ 0x88000007,
+ 0xa8000007,
+ 0xf8000007,
+ 0xe8000007,
+ 0xc0000007,
+ 0xa0000007,
+ 0xd0000007,
+ 0xc8000007,
+ 0xf0000007,
+ 0x80000007,
+ 0x98000007,
+ 0xd8000007,
+ 0x90000007,
+ 0x30000007,
+ 0x60000007,
+ 0x38000007,
+ 0x08000007,
+ 0x28000007,
+ 0x78000007,
+ 0x68000007,
+ 0x40000007,
+ 0x20000007,
+ 0x50000007,
+ 0x48000007,
+ 0x70000007,
+ 0x00000007,
+ 0x18000007,
+ 0x58000007,
+ 0x10000007,
+ /* 3 */
+ 0x000000e8,
+ 0x000000d8,
+ 0x000000a0,
+ 0x00000088,
+ 0x00000098,
+ 0x000000f8,
+ 0x000000a8,
+ 0x000000c8,
+ 0x00000080,
+ 0x000000d0,
+ 0x000000f0,
+ 0x000000b8,
+ 0x000000b0,
+ 0x000000c0,
+ 0x00000090,
+ 0x000000e0,
+ 0x000007e8,
+ 0x000007d8,
+ 0x000007a0,
+ 0x00000788,
+ 0x00000798,
+ 0x000007f8,
+ 0x000007a8,
+ 0x000007c8,
+ 0x00000780,
+ 0x000007d0,
+ 0x000007f0,
+ 0x000007b8,
+ 0x000007b0,
+ 0x000007c0,
+ 0x00000790,
+ 0x000007e0,
+ 0x000006e8,
+ 0x000006d8,
+ 0x000006a0,
+ 0x00000688,
+ 0x00000698,
+ 0x000006f8,
+ 0x000006a8,
+ 0x000006c8,
+ 0x00000680,
+ 0x000006d0,
+ 0x000006f0,
+ 0x000006b8,
+ 0x000006b0,
+ 0x000006c0,
+ 0x00000690,
+ 0x000006e0,
+ 0x00000068,
+ 0x00000058,
+ 0x00000020,
+ 0x00000008,
+ 0x00000018,
+ 0x00000078,
+ 0x00000028,
+ 0x00000048,
+ 0x00000000,
+ 0x00000050,
+ 0x00000070,
+ 0x00000038,
+ 0x00000030,
+ 0x00000040,
+ 0x00000010,
+ 0x00000060,
+ 0x000002e8,
+ 0x000002d8,
+ 0x000002a0,
+ 0x00000288,
+ 0x00000298,
+ 0x000002f8,
+ 0x000002a8,
+ 0x000002c8,
+ 0x00000280,
+ 0x000002d0,
+ 0x000002f0,
+ 0x000002b8,
+ 0x000002b0,
+ 0x000002c0,
+ 0x00000290,
+ 0x000002e0,
+ 0x000003e8,
+ 0x000003d8,
+ 0x000003a0,
+ 0x00000388,
+ 0x00000398,
+ 0x000003f8,
+ 0x000003a8,
+ 0x000003c8,
+ 0x00000380,
+ 0x000003d0,
+ 0x000003f0,
+ 0x000003b8,
+ 0x000003b0,
+ 0x000003c0,
+ 0x00000390,
+ 0x000003e0,
+ 0x00000568,
+ 0x00000558,
+ 0x00000520,
+ 0x00000508,
+ 0x00000518,
+ 0x00000578,
+ 0x00000528,
+ 0x00000548,
+ 0x00000500,
+ 0x00000550,
+ 0x00000570,
+ 0x00000538,
+ 0x00000530,
+ 0x00000540,
+ 0x00000510,
+ 0x00000560,
+ 0x00000268,
+ 0x00000258,
+ 0x00000220,
+ 0x00000208,
+ 0x00000218,
+ 0x00000278,
+ 0x00000228,
+ 0x00000248,
+ 0x00000200,
+ 0x00000250,
+ 0x00000270,
+ 0x00000238,
+ 0x00000230,
+ 0x00000240,
+ 0x00000210,
+ 0x00000260,
+ 0x000004e8,
+ 0x000004d8,
+ 0x000004a0,
+ 0x00000488,
+ 0x00000498,
+ 0x000004f8,
+ 0x000004a8,
+ 0x000004c8,
+ 0x00000480,
+ 0x000004d0,
+ 0x000004f0,
+ 0x000004b8,
+ 0x000004b0,
+ 0x000004c0,
+ 0x00000490,
+ 0x000004e0,
+ 0x00000168,
+ 0x00000158,
+ 0x00000120,
+ 0x00000108,
+ 0x00000118,
+ 0x00000178,
+ 0x00000128,
+ 0x00000148,
+ 0x00000100,
+ 0x00000150,
+ 0x00000170,
+ 0x00000138,
+ 0x00000130,
+ 0x00000140,
+ 0x00000110,
+ 0x00000160,
+ 0x000001e8,
+ 0x000001d8,
+ 0x000001a0,
+ 0x00000188,
+ 0x00000198,
+ 0x000001f8,
+ 0x000001a8,
+ 0x000001c8,
+ 0x00000180,
+ 0x000001d0,
+ 0x000001f0,
+ 0x000001b8,
+ 0x000001b0,
+ 0x000001c0,
+ 0x00000190,
+ 0x000001e0,
+ 0x00000768,
+ 0x00000758,
+ 0x00000720,
+ 0x00000708,
+ 0x00000718,
+ 0x00000778,
+ 0x00000728,
+ 0x00000748,
+ 0x00000700,
+ 0x00000750,
+ 0x00000770,
+ 0x00000738,
+ 0x00000730,
+ 0x00000740,
+ 0x00000710,
+ 0x00000760,
+ 0x00000368,
+ 0x00000358,
+ 0x00000320,
+ 0x00000308,
+ 0x00000318,
+ 0x00000378,
+ 0x00000328,
+ 0x00000348,
+ 0x00000300,
+ 0x00000350,
+ 0x00000370,
+ 0x00000338,
+ 0x00000330,
+ 0x00000340,
+ 0x00000310,
+ 0x00000360,
+ 0x000005e8,
+ 0x000005d8,
+ 0x000005a0,
+ 0x00000588,
+ 0x00000598,
+ 0x000005f8,
+ 0x000005a8,
+ 0x000005c8,
+ 0x00000580,
+ 0x000005d0,
+ 0x000005f0,
+ 0x000005b8,
+ 0x000005b0,
+ 0x000005c0,
+ 0x00000590,
+ 0x000005e0,
+ 0x00000468,
+ 0x00000458,
+ 0x00000420,
+ 0x00000408,
+ 0x00000418,
+ 0x00000478,
+ 0x00000428,
+ 0x00000448,
+ 0x00000400,
+ 0x00000450,
+ 0x00000470,
+ 0x00000438,
+ 0x00000430,
+ 0x00000440,
+ 0x00000410,
+ 0x00000460,
+ 0x00000668,
+ 0x00000658,
+ 0x00000620,
+ 0x00000608,
+ 0x00000618,
+ 0x00000678,
+ 0x00000628,
+ 0x00000648,
+ 0x00000600,
+ 0x00000650,
+ 0x00000670,
+ 0x00000638,
+ 0x00000630,
+ 0x00000640,
+ 0x00000610,
+ 0x00000660,
+ } };
const struct gost28147_param gost28147_param_CryptoPro_3411 = {
0,
{
- /* 0 */
- 0x0002d000, 0x0002a000, 0x0002a800, 0x0002b000,
- 0x0002c000, 0x00028800, 0x00029800, 0x0002b800,
- 0x0002e800, 0x0002e000, 0x0002f000, 0x00028000,
- 0x0002c800, 0x00029000, 0x0002d800, 0x0002f800,
- 0x0007d000, 0x0007a000, 0x0007a800, 0x0007b000,
- 0x0007c000, 0x00078800, 0x00079800, 0x0007b800,
- 0x0007e800, 0x0007e000, 0x0007f000, 0x00078000,
- 0x0007c800, 0x00079000, 0x0007d800, 0x0007f800,
- 0x00025000, 0x00022000, 0x00022800, 0x00023000,
- 0x00024000, 0x00020800, 0x00021800, 0x00023800,
- 0x00026800, 0x00026000, 0x00027000, 0x00020000,
- 0x00024800, 0x00021000, 0x00025800, 0x00027800,
- 0x00005000, 0x00002000, 0x00002800, 0x00003000,
- 0x00004000, 0x00000800, 0x00001800, 0x00003800,
- 0x00006800, 0x00006000, 0x00007000, 0x00000000,
- 0x00004800, 0x00001000, 0x00005800, 0x00007800,
- 0x00015000, 0x00012000, 0x00012800, 0x00013000,
- 0x00014000, 0x00010800, 0x00011800, 0x00013800,
- 0x00016800, 0x00016000, 0x00017000, 0x00010000,
- 0x00014800, 0x00011000, 0x00015800, 0x00017800,
- 0x0006d000, 0x0006a000, 0x0006a800, 0x0006b000,
- 0x0006c000, 0x00068800, 0x00069800, 0x0006b800,
- 0x0006e800, 0x0006e000, 0x0006f000, 0x00068000,
- 0x0006c800, 0x00069000, 0x0006d800, 0x0006f800,
- 0x0005d000, 0x0005a000, 0x0005a800, 0x0005b000,
- 0x0005c000, 0x00058800, 0x00059800, 0x0005b800,
- 0x0005e800, 0x0005e000, 0x0005f000, 0x00058000,
- 0x0005c800, 0x00059000, 0x0005d800, 0x0005f800,
- 0x0004d000, 0x0004a000, 0x0004a800, 0x0004b000,
- 0x0004c000, 0x00048800, 0x00049800, 0x0004b800,
- 0x0004e800, 0x0004e000, 0x0004f000, 0x00048000,
- 0x0004c800, 0x00049000, 0x0004d800, 0x0004f800,
- 0x0000d000, 0x0000a000, 0x0000a800, 0x0000b000,
- 0x0000c000, 0x00008800, 0x00009800, 0x0000b800,
- 0x0000e800, 0x0000e000, 0x0000f000, 0x00008000,
- 0x0000c800, 0x00009000, 0x0000d800, 0x0000f800,
- 0x0003d000, 0x0003a000, 0x0003a800, 0x0003b000,
- 0x0003c000, 0x00038800, 0x00039800, 0x0003b800,
- 0x0003e800, 0x0003e000, 0x0003f000, 0x00038000,
- 0x0003c800, 0x00039000, 0x0003d800, 0x0003f800,
- 0x00035000, 0x00032000, 0x00032800, 0x00033000,
- 0x00034000, 0x00030800, 0x00031800, 0x00033800,
- 0x00036800, 0x00036000, 0x00037000, 0x00030000,
- 0x00034800, 0x00031000, 0x00035800, 0x00037800,
- 0x0001d000, 0x0001a000, 0x0001a800, 0x0001b000,
- 0x0001c000, 0x00018800, 0x00019800, 0x0001b800,
- 0x0001e800, 0x0001e000, 0x0001f000, 0x00018000,
- 0x0001c800, 0x00019000, 0x0001d800, 0x0001f800,
- 0x00065000, 0x00062000, 0x00062800, 0x00063000,
- 0x00064000, 0x00060800, 0x00061800, 0x00063800,
- 0x00066800, 0x00066000, 0x00067000, 0x00060000,
- 0x00064800, 0x00061000, 0x00065800, 0x00067800,
- 0x00075000, 0x00072000, 0x00072800, 0x00073000,
- 0x00074000, 0x00070800, 0x00071800, 0x00073800,
- 0x00076800, 0x00076000, 0x00077000, 0x00070000,
- 0x00074800, 0x00071000, 0x00075800, 0x00077800,
- 0x00055000, 0x00052000, 0x00052800, 0x00053000,
- 0x00054000, 0x00050800, 0x00051800, 0x00053800,
- 0x00056800, 0x00056000, 0x00057000, 0x00050000,
- 0x00054800, 0x00051000, 0x00055800, 0x00057800,
- 0x00045000, 0x00042000, 0x00042800, 0x00043000,
- 0x00044000, 0x00040800, 0x00041800, 0x00043800,
- 0x00046800, 0x00046000, 0x00047000, 0x00040000,
- 0x00044800, 0x00041000, 0x00045800, 0x00047800,
- /* 1 */
- 0x02380000, 0x02780000, 0x02600000, 0x02700000,
- 0x02480000, 0x02200000, 0x02080000, 0x02000000,
- 0x02180000, 0x02580000, 0x02280000, 0x02100000,
- 0x02300000, 0x02500000, 0x02400000, 0x02680000,
- 0x05380000, 0x05780000, 0x05600000, 0x05700000,
- 0x05480000, 0x05200000, 0x05080000, 0x05000000,
- 0x05180000, 0x05580000, 0x05280000, 0x05100000,
- 0x05300000, 0x05500000, 0x05400000, 0x05680000,
- 0x03b80000, 0x03f80000, 0x03e00000, 0x03f00000,
- 0x03c80000, 0x03a00000, 0x03880000, 0x03800000,
- 0x03980000, 0x03d80000, 0x03a80000, 0x03900000,
- 0x03b00000, 0x03d00000, 0x03c00000, 0x03e80000,
- 0x06380000, 0x06780000, 0x06600000, 0x06700000,
- 0x06480000, 0x06200000, 0x06080000, 0x06000000,
- 0x06180000, 0x06580000, 0x06280000, 0x06100000,
- 0x06300000, 0x06500000, 0x06400000, 0x06680000,
- 0x00380000, 0x00780000, 0x00600000, 0x00700000,
- 0x00480000, 0x00200000, 0x00080000, 0x00000000,
- 0x00180000, 0x00580000, 0x00280000, 0x00100000,
- 0x00300000, 0x00500000, 0x00400000, 0x00680000,
- 0x07b80000, 0x07f80000, 0x07e00000, 0x07f00000,
- 0x07c80000, 0x07a00000, 0x07880000, 0x07800000,
- 0x07980000, 0x07d80000, 0x07a80000, 0x07900000,
- 0x07b00000, 0x07d00000, 0x07c00000, 0x07e80000,
- 0x01380000, 0x01780000, 0x01600000, 0x01700000,
- 0x01480000, 0x01200000, 0x01080000, 0x01000000,
- 0x01180000, 0x01580000, 0x01280000, 0x01100000,
- 0x01300000, 0x01500000, 0x01400000, 0x01680000,
- 0x04380000, 0x04780000, 0x04600000, 0x04700000,
- 0x04480000, 0x04200000, 0x04080000, 0x04000000,
- 0x04180000, 0x04580000, 0x04280000, 0x04100000,
- 0x04300000, 0x04500000, 0x04400000, 0x04680000,
- 0x07380000, 0x07780000, 0x07600000, 0x07700000,
- 0x07480000, 0x07200000, 0x07080000, 0x07000000,
- 0x07180000, 0x07580000, 0x07280000, 0x07100000,
- 0x07300000, 0x07500000, 0x07400000, 0x07680000,
- 0x00b80000, 0x00f80000, 0x00e00000, 0x00f00000,
- 0x00c80000, 0x00a00000, 0x00880000, 0x00800000,
- 0x00980000, 0x00d80000, 0x00a80000, 0x00900000,
- 0x00b00000, 0x00d00000, 0x00c00000, 0x00e80000,
- 0x03380000, 0x03780000, 0x03600000, 0x03700000,
- 0x03480000, 0x03200000, 0x03080000, 0x03000000,
- 0x03180000, 0x03580000, 0x03280000, 0x03100000,
- 0x03300000, 0x03500000, 0x03400000, 0x03680000,
- 0x02b80000, 0x02f80000, 0x02e00000, 0x02f00000,
- 0x02c80000, 0x02a00000, 0x02880000, 0x02800000,
- 0x02980000, 0x02d80000, 0x02a80000, 0x02900000,
- 0x02b00000, 0x02d00000, 0x02c00000, 0x02e80000,
- 0x06b80000, 0x06f80000, 0x06e00000, 0x06f00000,
- 0x06c80000, 0x06a00000, 0x06880000, 0x06800000,
- 0x06980000, 0x06d80000, 0x06a80000, 0x06900000,
- 0x06b00000, 0x06d00000, 0x06c00000, 0x06e80000,
- 0x05b80000, 0x05f80000, 0x05e00000, 0x05f00000,
- 0x05c80000, 0x05a00000, 0x05880000, 0x05800000,
- 0x05980000, 0x05d80000, 0x05a80000, 0x05900000,
- 0x05b00000, 0x05d00000, 0x05c00000, 0x05e80000,
- 0x04b80000, 0x04f80000, 0x04e00000, 0x04f00000,
- 0x04c80000, 0x04a00000, 0x04880000, 0x04800000,
- 0x04980000, 0x04d80000, 0x04a80000, 0x04900000,
- 0x04b00000, 0x04d00000, 0x04c00000, 0x04e80000,
- 0x01b80000, 0x01f80000, 0x01e00000, 0x01f00000,
- 0x01c80000, 0x01a00000, 0x01880000, 0x01800000,
- 0x01980000, 0x01d80000, 0x01a80000, 0x01900000,
- 0x01b00000, 0x01d00000, 0x01c00000, 0x01e80000,
- /* 2 */
- 0xb8000003, 0xb0000003, 0xa0000003, 0xd8000003,
- 0xc8000003, 0xe0000003, 0x90000003, 0xd0000003,
- 0x88000003, 0xc0000003, 0x80000003, 0xf0000003,
- 0xf8000003, 0xe8000003, 0x98000003, 0xa8000003,
- 0x38000003, 0x30000003, 0x20000003, 0x58000003,
- 0x48000003, 0x60000003, 0x10000003, 0x50000003,
- 0x08000003, 0x40000003, 0x00000003, 0x70000003,
- 0x78000003, 0x68000003, 0x18000003, 0x28000003,
- 0x38000001, 0x30000001, 0x20000001, 0x58000001,
- 0x48000001, 0x60000001, 0x10000001, 0x50000001,
- 0x08000001, 0x40000001, 0x00000001, 0x70000001,
- 0x78000001, 0x68000001, 0x18000001, 0x28000001,
- 0x38000002, 0x30000002, 0x20000002, 0x58000002,
- 0x48000002, 0x60000002, 0x10000002, 0x50000002,
- 0x08000002, 0x40000002, 0x00000002, 0x70000002,
- 0x78000002, 0x68000002, 0x18000002, 0x28000002,
- 0xb8000006, 0xb0000006, 0xa0000006, 0xd8000006,
- 0xc8000006, 0xe0000006, 0x90000006, 0xd0000006,
- 0x88000006, 0xc0000006, 0x80000006, 0xf0000006,
- 0xf8000006, 0xe8000006, 0x98000006, 0xa8000006,
- 0xb8000004, 0xb0000004, 0xa0000004, 0xd8000004,
- 0xc8000004, 0xe0000004, 0x90000004, 0xd0000004,
- 0x88000004, 0xc0000004, 0x80000004, 0xf0000004,
- 0xf8000004, 0xe8000004, 0x98000004, 0xa8000004,
- 0xb8000007, 0xb0000007, 0xa0000007, 0xd8000007,
- 0xc8000007, 0xe0000007, 0x90000007, 0xd0000007,
- 0x88000007, 0xc0000007, 0x80000007, 0xf0000007,
- 0xf8000007, 0xe8000007, 0x98000007, 0xa8000007,
- 0x38000000, 0x30000000, 0x20000000, 0x58000000,
- 0x48000000, 0x60000000, 0x10000000, 0x50000000,
- 0x08000000, 0x40000000, 0x00000000, 0x70000000,
- 0x78000000, 0x68000000, 0x18000000, 0x28000000,
- 0x38000005, 0x30000005, 0x20000005, 0x58000005,
- 0x48000005, 0x60000005, 0x10000005, 0x50000005,
- 0x08000005, 0x40000005, 0x00000005, 0x70000005,
- 0x78000005, 0x68000005, 0x18000005, 0x28000005,
- 0xb8000000, 0xb0000000, 0xa0000000, 0xd8000000,
- 0xc8000000, 0xe0000000, 0x90000000, 0xd0000000,
- 0x88000000, 0xc0000000, 0x80000000, 0xf0000000,
- 0xf8000000, 0xe8000000, 0x98000000, 0xa8000000,
- 0xb8000002, 0xb0000002, 0xa0000002, 0xd8000002,
- 0xc8000002, 0xe0000002, 0x90000002, 0xd0000002,
- 0x88000002, 0xc0000002, 0x80000002, 0xf0000002,
- 0xf8000002, 0xe8000002, 0x98000002, 0xa8000002,
- 0xb8000005, 0xb0000005, 0xa0000005, 0xd8000005,
- 0xc8000005, 0xe0000005, 0x90000005, 0xd0000005,
- 0x88000005, 0xc0000005, 0x80000005, 0xf0000005,
- 0xf8000005, 0xe8000005, 0x98000005, 0xa8000005,
- 0x38000004, 0x30000004, 0x20000004, 0x58000004,
- 0x48000004, 0x60000004, 0x10000004, 0x50000004,
- 0x08000004, 0x40000004, 0x00000004, 0x70000004,
- 0x78000004, 0x68000004, 0x18000004, 0x28000004,
- 0x38000007, 0x30000007, 0x20000007, 0x58000007,
- 0x48000007, 0x60000007, 0x10000007, 0x50000007,
- 0x08000007, 0x40000007, 0x00000007, 0x70000007,
- 0x78000007, 0x68000007, 0x18000007, 0x28000007,
- 0x38000006, 0x30000006, 0x20000006, 0x58000006,
- 0x48000006, 0x60000006, 0x10000006, 0x50000006,
- 0x08000006, 0x40000006, 0x00000006, 0x70000006,
- 0x78000006, 0x68000006, 0x18000006, 0x28000006,
- 0xb8000001, 0xb0000001, 0xa0000001, 0xd8000001,
- 0xc8000001, 0xe0000001, 0x90000001, 0xd0000001,
- 0x88000001, 0xc0000001, 0x80000001, 0xf0000001,
- 0xf8000001, 0xe8000001, 0x98000001, 0xa8000001,
- /* 3 */
- 0x000000e8, 0x000000f0, 0x000000a0, 0x00000088,
- 0x000000b8, 0x00000080, 0x000000a8, 0x000000d0,
- 0x00000098, 0x000000e0, 0x000000c0, 0x000000f8,
- 0x000000b0, 0x00000090, 0x000000c8, 0x000000d8,
- 0x000001e8, 0x000001f0, 0x000001a0, 0x00000188,
- 0x000001b8, 0x00000180, 0x000001a8, 0x000001d0,
- 0x00000198, 0x000001e0, 0x000001c0, 0x000001f8,
- 0x000001b0, 0x00000190, 0x000001c8, 0x000001d8,
- 0x00000568, 0x00000570, 0x00000520, 0x00000508,
- 0x00000538, 0x00000500, 0x00000528, 0x00000550,
- 0x00000518, 0x00000560, 0x00000540, 0x00000578,
- 0x00000530, 0x00000510, 0x00000548, 0x00000558,
- 0x000004e8, 0x000004f0, 0x000004a0, 0x00000488,
- 0x000004b8, 0x00000480, 0x000004a8, 0x000004d0,
- 0x00000498, 0x000004e0, 0x000004c0, 0x000004f8,
- 0x000004b0, 0x00000490, 0x000004c8, 0x000004d8,
- 0x000002e8, 0x000002f0, 0x000002a0, 0x00000288,
- 0x000002b8, 0x00000280, 0x000002a8, 0x000002d0,
- 0x00000298, 0x000002e0, 0x000002c0, 0x000002f8,
- 0x000002b0, 0x00000290, 0x000002c8, 0x000002d8,
- 0x000005e8, 0x000005f0, 0x000005a0, 0x00000588,
- 0x000005b8, 0x00000580, 0x000005a8, 0x000005d0,
- 0x00000598, 0x000005e0, 0x000005c0, 0x000005f8,
- 0x000005b0, 0x00000590, 0x000005c8, 0x000005d8,
- 0x00000268, 0x00000270, 0x00000220, 0x00000208,
- 0x00000238, 0x00000200, 0x00000228, 0x00000250,
- 0x00000218, 0x00000260, 0x00000240, 0x00000278,
- 0x00000230, 0x00000210, 0x00000248, 0x00000258,
- 0x000007e8, 0x000007f0, 0x000007a0, 0x00000788,
- 0x000007b8, 0x00000780, 0x000007a8, 0x000007d0,
- 0x00000798, 0x000007e0, 0x000007c0, 0x000007f8,
- 0x000007b0, 0x00000790, 0x000007c8, 0x000007d8,
- 0x00000468, 0x00000470, 0x00000420, 0x00000408,
- 0x00000438, 0x00000400, 0x00000428, 0x00000450,
- 0x00000418, 0x00000460, 0x00000440, 0x00000478,
- 0x00000430, 0x00000410, 0x00000448, 0x00000458,
- 0x00000368, 0x00000370, 0x00000320, 0x00000308,
- 0x00000338, 0x00000300, 0x00000328, 0x00000350,
- 0x00000318, 0x00000360, 0x00000340, 0x00000378,
- 0x00000330, 0x00000310, 0x00000348, 0x00000358,
- 0x000003e8, 0x000003f0, 0x000003a0, 0x00000388,
- 0x000003b8, 0x00000380, 0x000003a8, 0x000003d0,
- 0x00000398, 0x000003e0, 0x000003c0, 0x000003f8,
- 0x000003b0, 0x00000390, 0x000003c8, 0x000003d8,
- 0x00000768, 0x00000770, 0x00000720, 0x00000708,
- 0x00000738, 0x00000700, 0x00000728, 0x00000750,
- 0x00000718, 0x00000760, 0x00000740, 0x00000778,
- 0x00000730, 0x00000710, 0x00000748, 0x00000758,
- 0x000006e8, 0x000006f0, 0x000006a0, 0x00000688,
- 0x000006b8, 0x00000680, 0x000006a8, 0x000006d0,
- 0x00000698, 0x000006e0, 0x000006c0, 0x000006f8,
- 0x000006b0, 0x00000690, 0x000006c8, 0x000006d8,
- 0x00000068, 0x00000070, 0x00000020, 0x00000008,
- 0x00000038, 0x00000000, 0x00000028, 0x00000050,
- 0x00000018, 0x00000060, 0x00000040, 0x00000078,
- 0x00000030, 0x00000010, 0x00000048, 0x00000058,
- 0x00000168, 0x00000170, 0x00000120, 0x00000108,
- 0x00000138, 0x00000100, 0x00000128, 0x00000150,
- 0x00000118, 0x00000160, 0x00000140, 0x00000178,
- 0x00000130, 0x00000110, 0x00000148, 0x00000158,
- 0x00000668, 0x00000670, 0x00000620, 0x00000608,
- 0x00000638, 0x00000600, 0x00000628, 0x00000650,
- 0x00000618, 0x00000660, 0x00000640, 0x00000678,
- 0x00000630, 0x00000610, 0x00000648, 0x00000658,
- }
+ /* 0 */
+ 0x0002d000,
+ 0x0002a000,
+ 0x0002a800,
+ 0x0002b000,
+ 0x0002c000,
+ 0x00028800,
+ 0x00029800,
+ 0x0002b800,
+ 0x0002e800,
+ 0x0002e000,
+ 0x0002f000,
+ 0x00028000,
+ 0x0002c800,
+ 0x00029000,
+ 0x0002d800,
+ 0x0002f800,
+ 0x0007d000,
+ 0x0007a000,
+ 0x0007a800,
+ 0x0007b000,
+ 0x0007c000,
+ 0x00078800,
+ 0x00079800,
+ 0x0007b800,
+ 0x0007e800,
+ 0x0007e000,
+ 0x0007f000,
+ 0x00078000,
+ 0x0007c800,
+ 0x00079000,
+ 0x0007d800,
+ 0x0007f800,
+ 0x00025000,
+ 0x00022000,
+ 0x00022800,
+ 0x00023000,
+ 0x00024000,
+ 0x00020800,
+ 0x00021800,
+ 0x00023800,
+ 0x00026800,
+ 0x00026000,
+ 0x00027000,
+ 0x00020000,
+ 0x00024800,
+ 0x00021000,
+ 0x00025800,
+ 0x00027800,
+ 0x00005000,
+ 0x00002000,
+ 0x00002800,
+ 0x00003000,
+ 0x00004000,
+ 0x00000800,
+ 0x00001800,
+ 0x00003800,
+ 0x00006800,
+ 0x00006000,
+ 0x00007000,
+ 0x00000000,
+ 0x00004800,
+ 0x00001000,
+ 0x00005800,
+ 0x00007800,
+ 0x00015000,
+ 0x00012000,
+ 0x00012800,
+ 0x00013000,
+ 0x00014000,
+ 0x00010800,
+ 0x00011800,
+ 0x00013800,
+ 0x00016800,
+ 0x00016000,
+ 0x00017000,
+ 0x00010000,
+ 0x00014800,
+ 0x00011000,
+ 0x00015800,
+ 0x00017800,
+ 0x0006d000,
+ 0x0006a000,
+ 0x0006a800,
+ 0x0006b000,
+ 0x0006c000,
+ 0x00068800,
+ 0x00069800,
+ 0x0006b800,
+ 0x0006e800,
+ 0x0006e000,
+ 0x0006f000,
+ 0x00068000,
+ 0x0006c800,
+ 0x00069000,
+ 0x0006d800,
+ 0x0006f800,
+ 0x0005d000,
+ 0x0005a000,
+ 0x0005a800,
+ 0x0005b000,
+ 0x0005c000,
+ 0x00058800,
+ 0x00059800,
+ 0x0005b800,
+ 0x0005e800,
+ 0x0005e000,
+ 0x0005f000,
+ 0x00058000,
+ 0x0005c800,
+ 0x00059000,
+ 0x0005d800,
+ 0x0005f800,
+ 0x0004d000,
+ 0x0004a000,
+ 0x0004a800,
+ 0x0004b000,
+ 0x0004c000,
+ 0x00048800,
+ 0x00049800,
+ 0x0004b800,
+ 0x0004e800,
+ 0x0004e000,
+ 0x0004f000,
+ 0x00048000,
+ 0x0004c800,
+ 0x00049000,
+ 0x0004d800,
+ 0x0004f800,
+ 0x0000d000,
+ 0x0000a000,
+ 0x0000a800,
+ 0x0000b000,
+ 0x0000c000,
+ 0x00008800,
+ 0x00009800,
+ 0x0000b800,
+ 0x0000e800,
+ 0x0000e000,
+ 0x0000f000,
+ 0x00008000,
+ 0x0000c800,
+ 0x00009000,
+ 0x0000d800,
+ 0x0000f800,
+ 0x0003d000,
+ 0x0003a000,
+ 0x0003a800,
+ 0x0003b000,
+ 0x0003c000,
+ 0x00038800,
+ 0x00039800,
+ 0x0003b800,
+ 0x0003e800,
+ 0x0003e000,
+ 0x0003f000,
+ 0x00038000,
+ 0x0003c800,
+ 0x00039000,
+ 0x0003d800,
+ 0x0003f800,
+ 0x00035000,
+ 0x00032000,
+ 0x00032800,
+ 0x00033000,
+ 0x00034000,
+ 0x00030800,
+ 0x00031800,
+ 0x00033800,
+ 0x00036800,
+ 0x00036000,
+ 0x00037000,
+ 0x00030000,
+ 0x00034800,
+ 0x00031000,
+ 0x00035800,
+ 0x00037800,
+ 0x0001d000,
+ 0x0001a000,
+ 0x0001a800,
+ 0x0001b000,
+ 0x0001c000,
+ 0x00018800,
+ 0x00019800,
+ 0x0001b800,
+ 0x0001e800,
+ 0x0001e000,
+ 0x0001f000,
+ 0x00018000,
+ 0x0001c800,
+ 0x00019000,
+ 0x0001d800,
+ 0x0001f800,
+ 0x00065000,
+ 0x00062000,
+ 0x00062800,
+ 0x00063000,
+ 0x00064000,
+ 0x00060800,
+ 0x00061800,
+ 0x00063800,
+ 0x00066800,
+ 0x00066000,
+ 0x00067000,
+ 0x00060000,
+ 0x00064800,
+ 0x00061000,
+ 0x00065800,
+ 0x00067800,
+ 0x00075000,
+ 0x00072000,
+ 0x00072800,
+ 0x00073000,
+ 0x00074000,
+ 0x00070800,
+ 0x00071800,
+ 0x00073800,
+ 0x00076800,
+ 0x00076000,
+ 0x00077000,
+ 0x00070000,
+ 0x00074800,
+ 0x00071000,
+ 0x00075800,
+ 0x00077800,
+ 0x00055000,
+ 0x00052000,
+ 0x00052800,
+ 0x00053000,
+ 0x00054000,
+ 0x00050800,
+ 0x00051800,
+ 0x00053800,
+ 0x00056800,
+ 0x00056000,
+ 0x00057000,
+ 0x00050000,
+ 0x00054800,
+ 0x00051000,
+ 0x00055800,
+ 0x00057800,
+ 0x00045000,
+ 0x00042000,
+ 0x00042800,
+ 0x00043000,
+ 0x00044000,
+ 0x00040800,
+ 0x00041800,
+ 0x00043800,
+ 0x00046800,
+ 0x00046000,
+ 0x00047000,
+ 0x00040000,
+ 0x00044800,
+ 0x00041000,
+ 0x00045800,
+ 0x00047800,
+ /* 1 */
+ 0x02380000,
+ 0x02780000,
+ 0x02600000,
+ 0x02700000,
+ 0x02480000,
+ 0x02200000,
+ 0x02080000,
+ 0x02000000,
+ 0x02180000,
+ 0x02580000,
+ 0x02280000,
+ 0x02100000,
+ 0x02300000,
+ 0x02500000,
+ 0x02400000,
+ 0x02680000,
+ 0x05380000,
+ 0x05780000,
+ 0x05600000,
+ 0x05700000,
+ 0x05480000,
+ 0x05200000,
+ 0x05080000,
+ 0x05000000,
+ 0x05180000,
+ 0x05580000,
+ 0x05280000,
+ 0x05100000,
+ 0x05300000,
+ 0x05500000,
+ 0x05400000,
+ 0x05680000,
+ 0x03b80000,
+ 0x03f80000,
+ 0x03e00000,
+ 0x03f00000,
+ 0x03c80000,
+ 0x03a00000,
+ 0x03880000,
+ 0x03800000,
+ 0x03980000,
+ 0x03d80000,
+ 0x03a80000,
+ 0x03900000,
+ 0x03b00000,
+ 0x03d00000,
+ 0x03c00000,
+ 0x03e80000,
+ 0x06380000,
+ 0x06780000,
+ 0x06600000,
+ 0x06700000,
+ 0x06480000,
+ 0x06200000,
+ 0x06080000,
+ 0x06000000,
+ 0x06180000,
+ 0x06580000,
+ 0x06280000,
+ 0x06100000,
+ 0x06300000,
+ 0x06500000,
+ 0x06400000,
+ 0x06680000,
+ 0x00380000,
+ 0x00780000,
+ 0x00600000,
+ 0x00700000,
+ 0x00480000,
+ 0x00200000,
+ 0x00080000,
+ 0x00000000,
+ 0x00180000,
+ 0x00580000,
+ 0x00280000,
+ 0x00100000,
+ 0x00300000,
+ 0x00500000,
+ 0x00400000,
+ 0x00680000,
+ 0x07b80000,
+ 0x07f80000,
+ 0x07e00000,
+ 0x07f00000,
+ 0x07c80000,
+ 0x07a00000,
+ 0x07880000,
+ 0x07800000,
+ 0x07980000,
+ 0x07d80000,
+ 0x07a80000,
+ 0x07900000,
+ 0x07b00000,
+ 0x07d00000,
+ 0x07c00000,
+ 0x07e80000,
+ 0x01380000,
+ 0x01780000,
+ 0x01600000,
+ 0x01700000,
+ 0x01480000,
+ 0x01200000,
+ 0x01080000,
+ 0x01000000,
+ 0x01180000,
+ 0x01580000,
+ 0x01280000,
+ 0x01100000,
+ 0x01300000,
+ 0x01500000,
+ 0x01400000,
+ 0x01680000,
+ 0x04380000,
+ 0x04780000,
+ 0x04600000,
+ 0x04700000,
+ 0x04480000,
+ 0x04200000,
+ 0x04080000,
+ 0x04000000,
+ 0x04180000,
+ 0x04580000,
+ 0x04280000,
+ 0x04100000,
+ 0x04300000,
+ 0x04500000,
+ 0x04400000,
+ 0x04680000,
+ 0x07380000,
+ 0x07780000,
+ 0x07600000,
+ 0x07700000,
+ 0x07480000,
+ 0x07200000,
+ 0x07080000,
+ 0x07000000,
+ 0x07180000,
+ 0x07580000,
+ 0x07280000,
+ 0x07100000,
+ 0x07300000,
+ 0x07500000,
+ 0x07400000,
+ 0x07680000,
+ 0x00b80000,
+ 0x00f80000,
+ 0x00e00000,
+ 0x00f00000,
+ 0x00c80000,
+ 0x00a00000,
+ 0x00880000,
+ 0x00800000,
+ 0x00980000,
+ 0x00d80000,
+ 0x00a80000,
+ 0x00900000,
+ 0x00b00000,
+ 0x00d00000,
+ 0x00c00000,
+ 0x00e80000,
+ 0x03380000,
+ 0x03780000,
+ 0x03600000,
+ 0x03700000,
+ 0x03480000,
+ 0x03200000,
+ 0x03080000,
+ 0x03000000,
+ 0x03180000,
+ 0x03580000,
+ 0x03280000,
+ 0x03100000,
+ 0x03300000,
+ 0x03500000,
+ 0x03400000,
+ 0x03680000,
+ 0x02b80000,
+ 0x02f80000,
+ 0x02e00000,
+ 0x02f00000,
+ 0x02c80000,
+ 0x02a00000,
+ 0x02880000,
+ 0x02800000,
+ 0x02980000,
+ 0x02d80000,
+ 0x02a80000,
+ 0x02900000,
+ 0x02b00000,
+ 0x02d00000,
+ 0x02c00000,
+ 0x02e80000,
+ 0x06b80000,
+ 0x06f80000,
+ 0x06e00000,
+ 0x06f00000,
+ 0x06c80000,
+ 0x06a00000,
+ 0x06880000,
+ 0x06800000,
+ 0x06980000,
+ 0x06d80000,
+ 0x06a80000,
+ 0x06900000,
+ 0x06b00000,
+ 0x06d00000,
+ 0x06c00000,
+ 0x06e80000,
+ 0x05b80000,
+ 0x05f80000,
+ 0x05e00000,
+ 0x05f00000,
+ 0x05c80000,
+ 0x05a00000,
+ 0x05880000,
+ 0x05800000,
+ 0x05980000,
+ 0x05d80000,
+ 0x05a80000,
+ 0x05900000,
+ 0x05b00000,
+ 0x05d00000,
+ 0x05c00000,
+ 0x05e80000,
+ 0x04b80000,
+ 0x04f80000,
+ 0x04e00000,
+ 0x04f00000,
+ 0x04c80000,
+ 0x04a00000,
+ 0x04880000,
+ 0x04800000,
+ 0x04980000,
+ 0x04d80000,
+ 0x04a80000,
+ 0x04900000,
+ 0x04b00000,
+ 0x04d00000,
+ 0x04c00000,
+ 0x04e80000,
+ 0x01b80000,
+ 0x01f80000,
+ 0x01e00000,
+ 0x01f00000,
+ 0x01c80000,
+ 0x01a00000,
+ 0x01880000,
+ 0x01800000,
+ 0x01980000,
+ 0x01d80000,
+ 0x01a80000,
+ 0x01900000,
+ 0x01b00000,
+ 0x01d00000,
+ 0x01c00000,
+ 0x01e80000,
+ /* 2 */
+ 0xb8000003,
+ 0xb0000003,
+ 0xa0000003,
+ 0xd8000003,
+ 0xc8000003,
+ 0xe0000003,
+ 0x90000003,
+ 0xd0000003,
+ 0x88000003,
+ 0xc0000003,
+ 0x80000003,
+ 0xf0000003,
+ 0xf8000003,
+ 0xe8000003,
+ 0x98000003,
+ 0xa8000003,
+ 0x38000003,
+ 0x30000003,
+ 0x20000003,
+ 0x58000003,
+ 0x48000003,
+ 0x60000003,
+ 0x10000003,
+ 0x50000003,
+ 0x08000003,
+ 0x40000003,
+ 0x00000003,
+ 0x70000003,
+ 0x78000003,
+ 0x68000003,
+ 0x18000003,
+ 0x28000003,
+ 0x38000001,
+ 0x30000001,
+ 0x20000001,
+ 0x58000001,
+ 0x48000001,
+ 0x60000001,
+ 0x10000001,
+ 0x50000001,
+ 0x08000001,
+ 0x40000001,
+ 0x00000001,
+ 0x70000001,
+ 0x78000001,
+ 0x68000001,
+ 0x18000001,
+ 0x28000001,
+ 0x38000002,
+ 0x30000002,
+ 0x20000002,
+ 0x58000002,
+ 0x48000002,
+ 0x60000002,
+ 0x10000002,
+ 0x50000002,
+ 0x08000002,
+ 0x40000002,
+ 0x00000002,
+ 0x70000002,
+ 0x78000002,
+ 0x68000002,
+ 0x18000002,
+ 0x28000002,
+ 0xb8000006,
+ 0xb0000006,
+ 0xa0000006,
+ 0xd8000006,
+ 0xc8000006,
+ 0xe0000006,
+ 0x90000006,
+ 0xd0000006,
+ 0x88000006,
+ 0xc0000006,
+ 0x80000006,
+ 0xf0000006,
+ 0xf8000006,
+ 0xe8000006,
+ 0x98000006,
+ 0xa8000006,
+ 0xb8000004,
+ 0xb0000004,
+ 0xa0000004,
+ 0xd8000004,
+ 0xc8000004,
+ 0xe0000004,
+ 0x90000004,
+ 0xd0000004,
+ 0x88000004,
+ 0xc0000004,
+ 0x80000004,
+ 0xf0000004,
+ 0xf8000004,
+ 0xe8000004,
+ 0x98000004,
+ 0xa8000004,
+ 0xb8000007,
+ 0xb0000007,
+ 0xa0000007,
+ 0xd8000007,
+ 0xc8000007,
+ 0xe0000007,
+ 0x90000007,
+ 0xd0000007,
+ 0x88000007,
+ 0xc0000007,
+ 0x80000007,
+ 0xf0000007,
+ 0xf8000007,
+ 0xe8000007,
+ 0x98000007,
+ 0xa8000007,
+ 0x38000000,
+ 0x30000000,
+ 0x20000000,
+ 0x58000000,
+ 0x48000000,
+ 0x60000000,
+ 0x10000000,
+ 0x50000000,
+ 0x08000000,
+ 0x40000000,
+ 0x00000000,
+ 0x70000000,
+ 0x78000000,
+ 0x68000000,
+ 0x18000000,
+ 0x28000000,
+ 0x38000005,
+ 0x30000005,
+ 0x20000005,
+ 0x58000005,
+ 0x48000005,
+ 0x60000005,
+ 0x10000005,
+ 0x50000005,
+ 0x08000005,
+ 0x40000005,
+ 0x00000005,
+ 0x70000005,
+ 0x78000005,
+ 0x68000005,
+ 0x18000005,
+ 0x28000005,
+ 0xb8000000,
+ 0xb0000000,
+ 0xa0000000,
+ 0xd8000000,
+ 0xc8000000,
+ 0xe0000000,
+ 0x90000000,
+ 0xd0000000,
+ 0x88000000,
+ 0xc0000000,
+ 0x80000000,
+ 0xf0000000,
+ 0xf8000000,
+ 0xe8000000,
+ 0x98000000,
+ 0xa8000000,
+ 0xb8000002,
+ 0xb0000002,
+ 0xa0000002,
+ 0xd8000002,
+ 0xc8000002,
+ 0xe0000002,
+ 0x90000002,
+ 0xd0000002,
+ 0x88000002,
+ 0xc0000002,
+ 0x80000002,
+ 0xf0000002,
+ 0xf8000002,
+ 0xe8000002,
+ 0x98000002,
+ 0xa8000002,
+ 0xb8000005,
+ 0xb0000005,
+ 0xa0000005,
+ 0xd8000005,
+ 0xc8000005,
+ 0xe0000005,
+ 0x90000005,
+ 0xd0000005,
+ 0x88000005,
+ 0xc0000005,
+ 0x80000005,
+ 0xf0000005,
+ 0xf8000005,
+ 0xe8000005,
+ 0x98000005,
+ 0xa8000005,
+ 0x38000004,
+ 0x30000004,
+ 0x20000004,
+ 0x58000004,
+ 0x48000004,
+ 0x60000004,
+ 0x10000004,
+ 0x50000004,
+ 0x08000004,
+ 0x40000004,
+ 0x00000004,
+ 0x70000004,
+ 0x78000004,
+ 0x68000004,
+ 0x18000004,
+ 0x28000004,
+ 0x38000007,
+ 0x30000007,
+ 0x20000007,
+ 0x58000007,
+ 0x48000007,
+ 0x60000007,
+ 0x10000007,
+ 0x50000007,
+ 0x08000007,
+ 0x40000007,
+ 0x00000007,
+ 0x70000007,
+ 0x78000007,
+ 0x68000007,
+ 0x18000007,
+ 0x28000007,
+ 0x38000006,
+ 0x30000006,
+ 0x20000006,
+ 0x58000006,
+ 0x48000006,
+ 0x60000006,
+ 0x10000006,
+ 0x50000006,
+ 0x08000006,
+ 0x40000006,
+ 0x00000006,
+ 0x70000006,
+ 0x78000006,
+ 0x68000006,
+ 0x18000006,
+ 0x28000006,
+ 0xb8000001,
+ 0xb0000001,
+ 0xa0000001,
+ 0xd8000001,
+ 0xc8000001,
+ 0xe0000001,
+ 0x90000001,
+ 0xd0000001,
+ 0x88000001,
+ 0xc0000001,
+ 0x80000001,
+ 0xf0000001,
+ 0xf8000001,
+ 0xe8000001,
+ 0x98000001,
+ 0xa8000001,
+ /* 3 */
+ 0x000000e8,
+ 0x000000f0,
+ 0x000000a0,
+ 0x00000088,
+ 0x000000b8,
+ 0x00000080,
+ 0x000000a8,
+ 0x000000d0,
+ 0x00000098,
+ 0x000000e0,
+ 0x000000c0,
+ 0x000000f8,
+ 0x000000b0,
+ 0x00000090,
+ 0x000000c8,
+ 0x000000d8,
+ 0x000001e8,
+ 0x000001f0,
+ 0x000001a0,
+ 0x00000188,
+ 0x000001b8,
+ 0x00000180,
+ 0x000001a8,
+ 0x000001d0,
+ 0x00000198,
+ 0x000001e0,
+ 0x000001c0,
+ 0x000001f8,
+ 0x000001b0,
+ 0x00000190,
+ 0x000001c8,
+ 0x000001d8,
+ 0x00000568,
+ 0x00000570,
+ 0x00000520,
+ 0x00000508,
+ 0x00000538,
+ 0x00000500,
+ 0x00000528,
+ 0x00000550,
+ 0x00000518,
+ 0x00000560,
+ 0x00000540,
+ 0x00000578,
+ 0x00000530,
+ 0x00000510,
+ 0x00000548,
+ 0x00000558,
+ 0x000004e8,
+ 0x000004f0,
+ 0x000004a0,
+ 0x00000488,
+ 0x000004b8,
+ 0x00000480,
+ 0x000004a8,
+ 0x000004d0,
+ 0x00000498,
+ 0x000004e0,
+ 0x000004c0,
+ 0x000004f8,
+ 0x000004b0,
+ 0x00000490,
+ 0x000004c8,
+ 0x000004d8,
+ 0x000002e8,
+ 0x000002f0,
+ 0x000002a0,
+ 0x00000288,
+ 0x000002b8,
+ 0x00000280,
+ 0x000002a8,
+ 0x000002d0,
+ 0x00000298,
+ 0x000002e0,
+ 0x000002c0,
+ 0x000002f8,
+ 0x000002b0,
+ 0x00000290,
+ 0x000002c8,
+ 0x000002d8,
+ 0x000005e8,
+ 0x000005f0,
+ 0x000005a0,
+ 0x00000588,
+ 0x000005b8,
+ 0x00000580,
+ 0x000005a8,
+ 0x000005d0,
+ 0x00000598,
+ 0x000005e0,
+ 0x000005c0,
+ 0x000005f8,
+ 0x000005b0,
+ 0x00000590,
+ 0x000005c8,
+ 0x000005d8,
+ 0x00000268,
+ 0x00000270,
+ 0x00000220,
+ 0x00000208,
+ 0x00000238,
+ 0x00000200,
+ 0x00000228,
+ 0x00000250,
+ 0x00000218,
+ 0x00000260,
+ 0x00000240,
+ 0x00000278,
+ 0x00000230,
+ 0x00000210,
+ 0x00000248,
+ 0x00000258,
+ 0x000007e8,
+ 0x000007f0,
+ 0x000007a0,
+ 0x00000788,
+ 0x000007b8,
+ 0x00000780,
+ 0x000007a8,
+ 0x000007d0,
+ 0x00000798,
+ 0x000007e0,
+ 0x000007c0,
+ 0x000007f8,
+ 0x000007b0,
+ 0x00000790,
+ 0x000007c8,
+ 0x000007d8,
+ 0x00000468,
+ 0x00000470,
+ 0x00000420,
+ 0x00000408,
+ 0x00000438,
+ 0x00000400,
+ 0x00000428,
+ 0x00000450,
+ 0x00000418,
+ 0x00000460,
+ 0x00000440,
+ 0x00000478,
+ 0x00000430,
+ 0x00000410,
+ 0x00000448,
+ 0x00000458,
+ 0x00000368,
+ 0x00000370,
+ 0x00000320,
+ 0x00000308,
+ 0x00000338,
+ 0x00000300,
+ 0x00000328,
+ 0x00000350,
+ 0x00000318,
+ 0x00000360,
+ 0x00000340,
+ 0x00000378,
+ 0x00000330,
+ 0x00000310,
+ 0x00000348,
+ 0x00000358,
+ 0x000003e8,
+ 0x000003f0,
+ 0x000003a0,
+ 0x00000388,
+ 0x000003b8,
+ 0x00000380,
+ 0x000003a8,
+ 0x000003d0,
+ 0x00000398,
+ 0x000003e0,
+ 0x000003c0,
+ 0x000003f8,
+ 0x000003b0,
+ 0x00000390,
+ 0x000003c8,
+ 0x000003d8,
+ 0x00000768,
+ 0x00000770,
+ 0x00000720,
+ 0x00000708,
+ 0x00000738,
+ 0x00000700,
+ 0x00000728,
+ 0x00000750,
+ 0x00000718,
+ 0x00000760,
+ 0x00000740,
+ 0x00000778,
+ 0x00000730,
+ 0x00000710,
+ 0x00000748,
+ 0x00000758,
+ 0x000006e8,
+ 0x000006f0,
+ 0x000006a0,
+ 0x00000688,
+ 0x000006b8,
+ 0x00000680,
+ 0x000006a8,
+ 0x000006d0,
+ 0x00000698,
+ 0x000006e0,
+ 0x000006c0,
+ 0x000006f8,
+ 0x000006b0,
+ 0x00000690,
+ 0x000006c8,
+ 0x000006d8,
+ 0x00000068,
+ 0x00000070,
+ 0x00000020,
+ 0x00000008,
+ 0x00000038,
+ 0x00000000,
+ 0x00000028,
+ 0x00000050,
+ 0x00000018,
+ 0x00000060,
+ 0x00000040,
+ 0x00000078,
+ 0x00000030,
+ 0x00000010,
+ 0x00000048,
+ 0x00000058,
+ 0x00000168,
+ 0x00000170,
+ 0x00000120,
+ 0x00000108,
+ 0x00000138,
+ 0x00000100,
+ 0x00000128,
+ 0x00000150,
+ 0x00000118,
+ 0x00000160,
+ 0x00000140,
+ 0x00000178,
+ 0x00000130,
+ 0x00000110,
+ 0x00000148,
+ 0x00000158,
+ 0x00000668,
+ 0x00000670,
+ 0x00000620,
+ 0x00000608,
+ 0x00000638,
+ 0x00000600,
+ 0x00000628,
+ 0x00000650,
+ 0x00000618,
+ 0x00000660,
+ 0x00000640,
+ 0x00000678,
+ 0x00000630,
+ 0x00000610,
+ 0x00000648,
+ 0x00000658,
+ }
};
-const struct gost28147_param gost28147_param_Test_89 = {
- 0,
- {
- /* 0 */
- 0x00062000, 0x00061000, 0x00067800, 0x00062800,
- 0x00064800, 0x00060800, 0x00060000, 0x00064000,
- 0x00067000, 0x00061800, 0x00065800, 0x00066000,
- 0x00066800, 0x00063800, 0x00065000, 0x00063000,
- 0x0004a000, 0x00049000, 0x0004f800, 0x0004a800,
- 0x0004c800, 0x00048800, 0x00048000, 0x0004c000,
- 0x0004f000, 0x00049800, 0x0004d800, 0x0004e000,
- 0x0004e800, 0x0004b800, 0x0004d000, 0x0004b000,
- 0x0007a000, 0x00079000, 0x0007f800, 0x0007a800,
- 0x0007c800, 0x00078800, 0x00078000, 0x0007c000,
- 0x0007f000, 0x00079800, 0x0007d800, 0x0007e000,
- 0x0007e800, 0x0007b800, 0x0007d000, 0x0007b000,
- 0x00072000, 0x00071000, 0x00077800, 0x00072800,
- 0x00074800, 0x00070800, 0x00070000, 0x00074000,
- 0x00077000, 0x00071800, 0x00075800, 0x00076000,
- 0x00076800, 0x00073800, 0x00075000, 0x00073000,
- 0x00042000, 0x00041000, 0x00047800, 0x00042800,
- 0x00044800, 0x00040800, 0x00040000, 0x00044000,
- 0x00047000, 0x00041800, 0x00045800, 0x00046000,
- 0x00046800, 0x00043800, 0x00045000, 0x00043000,
- 0x0000a000, 0x00009000, 0x0000f800, 0x0000a800,
- 0x0000c800, 0x00008800, 0x00008000, 0x0000c000,
- 0x0000f000, 0x00009800, 0x0000d800, 0x0000e000,
- 0x0000e800, 0x0000b800, 0x0000d000, 0x0000b000,
- 0x0001a000, 0x00019000, 0x0001f800, 0x0001a800,
- 0x0001c800, 0x00018800, 0x00018000, 0x0001c000,
- 0x0001f000, 0x00019800, 0x0001d800, 0x0001e000,
- 0x0001e800, 0x0001b800, 0x0001d000, 0x0001b000,
- 0x00052000, 0x00051000, 0x00057800, 0x00052800,
- 0x00054800, 0x00050800, 0x00050000, 0x00054000,
- 0x00057000, 0x00051800, 0x00055800, 0x00056000,
- 0x00056800, 0x00053800, 0x00055000, 0x00053000,
- 0x00012000, 0x00011000, 0x00017800, 0x00012800,
- 0x00014800, 0x00010800, 0x00010000, 0x00014000,
- 0x00017000, 0x00011800, 0x00015800, 0x00016000,
- 0x00016800, 0x00013800, 0x00015000, 0x00013000,
- 0x0003a000, 0x00039000, 0x0003f800, 0x0003a800,
- 0x0003c800, 0x00038800, 0x00038000, 0x0003c000,
- 0x0003f000, 0x00039800, 0x0003d800, 0x0003e000,
- 0x0003e800, 0x0003b800, 0x0003d000, 0x0003b000,
- 0x00022000, 0x00021000, 0x00027800, 0x00022800,
- 0x00024800, 0x00020800, 0x00020000, 0x00024000,
- 0x00027000, 0x00021800, 0x00025800, 0x00026000,
- 0x00026800, 0x00023800, 0x00025000, 0x00023000,
- 0x0006a000, 0x00069000, 0x0006f800, 0x0006a800,
- 0x0006c800, 0x00068800, 0x00068000, 0x0006c000,
- 0x0006f000, 0x00069800, 0x0006d800, 0x0006e000,
- 0x0006e800, 0x0006b800, 0x0006d000, 0x0006b000,
- 0x00032000, 0x00031000, 0x00037800, 0x00032800,
- 0x00034800, 0x00030800, 0x00030000, 0x00034000,
- 0x00037000, 0x00031800, 0x00035800, 0x00036000,
- 0x00036800, 0x00033800, 0x00035000, 0x00033000,
- 0x00002000, 0x00001000, 0x00007800, 0x00002800,
- 0x00004800, 0x00000800, 0x00000000, 0x00004000,
- 0x00007000, 0x00001800, 0x00005800, 0x00006000,
- 0x00006800, 0x00003800, 0x00005000, 0x00003000,
- 0x0005a000, 0x00059000, 0x0005f800, 0x0005a800,
- 0x0005c800, 0x00058800, 0x00058000, 0x0005c000,
- 0x0005f000, 0x00059800, 0x0005d800, 0x0005e000,
- 0x0005e800, 0x0005b800, 0x0005d000, 0x0005b000,
- 0x0002a000, 0x00029000, 0x0002f800, 0x0002a800,
- 0x0002c800, 0x00028800, 0x00028000, 0x0002c000,
- 0x0002f000, 0x00029800, 0x0002d800, 0x0002e000,
- 0x0002e800, 0x0002b800, 0x0002d000, 0x0002b000,
- /* 1 */
- 0x07680000, 0x07400000, 0x07700000, 0x07600000,
- 0x07380000, 0x07180000, 0x07480000, 0x07500000,
- 0x07080000, 0x07280000, 0x07100000, 0x07200000,
- 0x07300000, 0x07780000, 0x07000000, 0x07580000,
- 0x04e80000, 0x04c00000, 0x04f00000, 0x04e00000,
- 0x04b80000, 0x04980000, 0x04c80000, 0x04d00000,
- 0x04880000, 0x04a80000, 0x04900000, 0x04a00000,
- 0x04b00000, 0x04f80000, 0x04800000, 0x04d80000,
- 0x05e80000, 0x05c00000, 0x05f00000, 0x05e00000,
- 0x05b80000, 0x05980000, 0x05c80000, 0x05d00000,
- 0x05880000, 0x05a80000, 0x05900000, 0x05a00000,
- 0x05b00000, 0x05f80000, 0x05800000, 0x05d80000,
- 0x01680000, 0x01400000, 0x01700000, 0x01600000,
- 0x01380000, 0x01180000, 0x01480000, 0x01500000,
- 0x01080000, 0x01280000, 0x01100000, 0x01200000,
- 0x01300000, 0x01780000, 0x01000000, 0x01580000,
- 0x02e80000, 0x02c00000, 0x02f00000, 0x02e00000,
- 0x02b80000, 0x02980000, 0x02c80000, 0x02d00000,
- 0x02880000, 0x02a80000, 0x02900000, 0x02a00000,
- 0x02b00000, 0x02f80000, 0x02800000, 0x02d80000,
- 0x07e80000, 0x07c00000, 0x07f00000, 0x07e00000,
- 0x07b80000, 0x07980000, 0x07c80000, 0x07d00000,
- 0x07880000, 0x07a80000, 0x07900000, 0x07a00000,
- 0x07b00000, 0x07f80000, 0x07800000, 0x07d80000,
- 0x03e80000, 0x03c00000, 0x03f00000, 0x03e00000,
- 0x03b80000, 0x03980000, 0x03c80000, 0x03d00000,
- 0x03880000, 0x03a80000, 0x03900000, 0x03a00000,
- 0x03b00000, 0x03f80000, 0x03800000, 0x03d80000,
- 0x00e80000, 0x00c00000, 0x00f00000, 0x00e00000,
- 0x00b80000, 0x00980000, 0x00c80000, 0x00d00000,
- 0x00880000, 0x00a80000, 0x00900000, 0x00a00000,
- 0x00b00000, 0x00f80000, 0x00800000, 0x00d80000,
- 0x00680000, 0x00400000, 0x00700000, 0x00600000,
- 0x00380000, 0x00180000, 0x00480000, 0x00500000,
- 0x00080000, 0x00280000, 0x00100000, 0x00200000,
- 0x00300000, 0x00780000, 0x00000000, 0x00580000,
- 0x06e80000, 0x06c00000, 0x06f00000, 0x06e00000,
- 0x06b80000, 0x06980000, 0x06c80000, 0x06d00000,
- 0x06880000, 0x06a80000, 0x06900000, 0x06a00000,
- 0x06b00000, 0x06f80000, 0x06800000, 0x06d80000,
- 0x06680000, 0x06400000, 0x06700000, 0x06600000,
- 0x06380000, 0x06180000, 0x06480000, 0x06500000,
- 0x06080000, 0x06280000, 0x06100000, 0x06200000,
- 0x06300000, 0x06780000, 0x06000000, 0x06580000,
- 0x03680000, 0x03400000, 0x03700000, 0x03600000,
- 0x03380000, 0x03180000, 0x03480000, 0x03500000,
- 0x03080000, 0x03280000, 0x03100000, 0x03200000,
- 0x03300000, 0x03780000, 0x03000000, 0x03580000,
- 0x05680000, 0x05400000, 0x05700000, 0x05600000,
- 0x05380000, 0x05180000, 0x05480000, 0x05500000,
- 0x05080000, 0x05280000, 0x05100000, 0x05200000,
- 0x05300000, 0x05780000, 0x05000000, 0x05580000,
- 0x02680000, 0x02400000, 0x02700000, 0x02600000,
- 0x02380000, 0x02180000, 0x02480000, 0x02500000,
- 0x02080000, 0x02280000, 0x02100000, 0x02200000,
- 0x02300000, 0x02780000, 0x02000000, 0x02580000,
- 0x01e80000, 0x01c00000, 0x01f00000, 0x01e00000,
- 0x01b80000, 0x01980000, 0x01c80000, 0x01d00000,
- 0x01880000, 0x01a80000, 0x01900000, 0x01a00000,
- 0x01b00000, 0x01f80000, 0x01800000, 0x01d80000,
- 0x04680000, 0x04400000, 0x04700000, 0x04600000,
- 0x04380000, 0x04180000, 0x04480000, 0x04500000,
- 0x04080000, 0x04280000, 0x04100000, 0x04200000,
- 0x04300000, 0x04780000, 0x04000000, 0x04580000,
- /* 2 */
- 0x18000004, 0x70000004, 0x28000004, 0x48000004,
- 0x30000004, 0x40000004, 0x00000004, 0x68000004,
- 0x50000004, 0x58000004, 0x38000004, 0x60000004,
- 0x10000004, 0x08000004, 0x78000004, 0x20000004,
- 0x98000007, 0xf0000007, 0xa8000007, 0xc8000007,
- 0xb0000007, 0xc0000007, 0x80000007, 0xe8000007,
- 0xd0000007, 0xd8000007, 0xb8000007, 0xe0000007,
- 0x90000007, 0x88000007, 0xf8000007, 0xa0000007,
- 0x18000003, 0x70000003, 0x28000003, 0x48000003,
- 0x30000003, 0x40000003, 0x00000003, 0x68000003,
- 0x50000003, 0x58000003, 0x38000003, 0x60000003,
- 0x10000003, 0x08000003, 0x78000003, 0x20000003,
- 0x98000005, 0xf0000005, 0xa8000005, 0xc8000005,
- 0xb0000005, 0xc0000005, 0x80000005, 0xe8000005,
- 0xd0000005, 0xd8000005, 0xb8000005, 0xe0000005,
- 0x90000005, 0x88000005, 0xf8000005, 0xa0000005,
- 0x98000000, 0xf0000000, 0xa8000000, 0xc8000000,
- 0xb0000000, 0xc0000000, 0x80000000, 0xe8000000,
- 0xd0000000, 0xd8000000, 0xb8000000, 0xe0000000,
- 0x90000000, 0x88000000, 0xf8000000, 0xa0000000,
- 0x98000004, 0xf0000004, 0xa8000004, 0xc8000004,
- 0xb0000004, 0xc0000004, 0x80000004, 0xe8000004,
- 0xd0000004, 0xd8000004, 0xb8000004, 0xe0000004,
- 0x90000004, 0x88000004, 0xf8000004, 0xa0000004,
- 0x18000006, 0x70000006, 0x28000006, 0x48000006,
- 0x30000006, 0x40000006, 0x00000006, 0x68000006,
- 0x50000006, 0x58000006, 0x38000006, 0x60000006,
- 0x10000006, 0x08000006, 0x78000006, 0x20000006,
- 0x98000002, 0xf0000002, 0xa8000002, 0xc8000002,
- 0xb0000002, 0xc0000002, 0x80000002, 0xe8000002,
- 0xd0000002, 0xd8000002, 0xb8000002, 0xe0000002,
- 0x90000002, 0x88000002, 0xf8000002, 0xa0000002,
- 0x98000006, 0xf0000006, 0xa8000006, 0xc8000006,
- 0xb0000006, 0xc0000006, 0x80000006, 0xe8000006,
- 0xd0000006, 0xd8000006, 0xb8000006, 0xe0000006,
- 0x90000006, 0x88000006, 0xf8000006, 0xa0000006,
- 0x98000001, 0xf0000001, 0xa8000001, 0xc8000001,
- 0xb0000001, 0xc0000001, 0x80000001, 0xe8000001,
- 0xd0000001, 0xd8000001, 0xb8000001, 0xe0000001,
- 0x90000001, 0x88000001, 0xf8000001, 0xa0000001,
- 0x98000003, 0xf0000003, 0xa8000003, 0xc8000003,
- 0xb0000003, 0xc0000003, 0x80000003, 0xe8000003,
- 0xd0000003, 0xd8000003, 0xb8000003, 0xe0000003,
- 0x90000003, 0x88000003, 0xf8000003, 0xa0000003,
- 0x18000005, 0x70000005, 0x28000005, 0x48000005,
- 0x30000005, 0x40000005, 0x00000005, 0x68000005,
- 0x50000005, 0x58000005, 0x38000005, 0x60000005,
- 0x10000005, 0x08000005, 0x78000005, 0x20000005,
- 0x18000000, 0x70000000, 0x28000000, 0x48000000,
- 0x30000000, 0x40000000, 0x00000000, 0x68000000,
- 0x50000000, 0x58000000, 0x38000000, 0x60000000,
- 0x10000000, 0x08000000, 0x78000000, 0x20000000,
- 0x18000007, 0x70000007, 0x28000007, 0x48000007,
- 0x30000007, 0x40000007, 0x00000007, 0x68000007,
- 0x50000007, 0x58000007, 0x38000007, 0x60000007,
- 0x10000007, 0x08000007, 0x78000007, 0x20000007,
- 0x18000001, 0x70000001, 0x28000001, 0x48000001,
- 0x30000001, 0x40000001, 0x00000001, 0x68000001,
- 0x50000001, 0x58000001, 0x38000001, 0x60000001,
- 0x10000001, 0x08000001, 0x78000001, 0x20000001,
- 0x18000002, 0x70000002, 0x28000002, 0x48000002,
- 0x30000002, 0x40000002, 0x00000002, 0x68000002,
- 0x50000002, 0x58000002, 0x38000002, 0x60000002,
- 0x10000002, 0x08000002, 0x78000002, 0x20000002,
- /* 3 */
- 0x00000648, 0x00000658, 0x00000660, 0x00000600,
- 0x00000618, 0x00000630, 0x00000638, 0x00000628,
- 0x00000620, 0x00000640, 0x00000670, 0x00000678,
- 0x00000608, 0x00000650, 0x00000610, 0x00000668,
- 0x00000348, 0x00000358, 0x00000360, 0x00000300,
- 0x00000318, 0x00000330, 0x00000338, 0x00000328,
- 0x00000320, 0x00000340, 0x00000370, 0x00000378,
- 0x00000308, 0x00000350, 0x00000310, 0x00000368,
- 0x000002c8, 0x000002d8, 0x000002e0, 0x00000280,
- 0x00000298, 0x000002b0, 0x000002b8, 0x000002a8,
- 0x000002a0, 0x000002c0, 0x000002f0, 0x000002f8,
- 0x00000288, 0x000002d0, 0x00000290, 0x000002e8,
- 0x00000148, 0x00000158, 0x00000160, 0x00000100,
- 0x00000118, 0x00000130, 0x00000138, 0x00000128,
- 0x00000120, 0x00000140, 0x00000170, 0x00000178,
- 0x00000108, 0x00000150, 0x00000110, 0x00000168,
- 0x000005c8, 0x000005d8, 0x000005e0, 0x00000580,
- 0x00000598, 0x000005b0, 0x000005b8, 0x000005a8,
- 0x000005a0, 0x000005c0, 0x000005f0, 0x000005f8,
- 0x00000588, 0x000005d0, 0x00000590, 0x000005e8,
- 0x00000048, 0x00000058, 0x00000060, 0x00000000,
- 0x00000018, 0x00000030, 0x00000038, 0x00000028,
- 0x00000020, 0x00000040, 0x00000070, 0x00000078,
- 0x00000008, 0x00000050, 0x00000010, 0x00000068,
- 0x000004c8, 0x000004d8, 0x000004e0, 0x00000480,
- 0x00000498, 0x000004b0, 0x000004b8, 0x000004a8,
- 0x000004a0, 0x000004c0, 0x000004f0, 0x000004f8,
- 0x00000488, 0x000004d0, 0x00000490, 0x000004e8,
- 0x000006c8, 0x000006d8, 0x000006e0, 0x00000680,
- 0x00000698, 0x000006b0, 0x000006b8, 0x000006a8,
- 0x000006a0, 0x000006c0, 0x000006f0, 0x000006f8,
- 0x00000688, 0x000006d0, 0x00000690, 0x000006e8,
- 0x000001c8, 0x000001d8, 0x000001e0, 0x00000180,
- 0x00000198, 0x000001b0, 0x000001b8, 0x000001a8,
- 0x000001a0, 0x000001c0, 0x000001f0, 0x000001f8,
- 0x00000188, 0x000001d0, 0x00000190, 0x000001e8,
- 0x00000748, 0x00000758, 0x00000760, 0x00000700,
- 0x00000718, 0x00000730, 0x00000738, 0x00000728,
- 0x00000720, 0x00000740, 0x00000770, 0x00000778,
- 0x00000708, 0x00000750, 0x00000710, 0x00000768,
- 0x000003c8, 0x000003d8, 0x000003e0, 0x00000380,
- 0x00000398, 0x000003b0, 0x000003b8, 0x000003a8,
- 0x000003a0, 0x000003c0, 0x000003f0, 0x000003f8,
- 0x00000388, 0x000003d0, 0x00000390, 0x000003e8,
- 0x00000548, 0x00000558, 0x00000560, 0x00000500,
- 0x00000518, 0x00000530, 0x00000538, 0x00000528,
- 0x00000520, 0x00000540, 0x00000570, 0x00000578,
- 0x00000508, 0x00000550, 0x00000510, 0x00000568,
- 0x000007c8, 0x000007d8, 0x000007e0, 0x00000780,
- 0x00000798, 0x000007b0, 0x000007b8, 0x000007a8,
- 0x000007a0, 0x000007c0, 0x000007f0, 0x000007f8,
- 0x00000788, 0x000007d0, 0x00000790, 0x000007e8,
- 0x00000248, 0x00000258, 0x00000260, 0x00000200,
- 0x00000218, 0x00000230, 0x00000238, 0x00000228,
- 0x00000220, 0x00000240, 0x00000270, 0x00000278,
- 0x00000208, 0x00000250, 0x00000210, 0x00000268,
- 0x000000c8, 0x000000d8, 0x000000e0, 0x00000080,
- 0x00000098, 0x000000b0, 0x000000b8, 0x000000a8,
- 0x000000a0, 0x000000c0, 0x000000f0, 0x000000f8,
- 0x00000088, 0x000000d0, 0x00000090, 0x000000e8,
- 0x00000448, 0x00000458, 0x00000460, 0x00000400,
- 0x00000418, 0x00000430, 0x00000438, 0x00000428,
- 0x00000420, 0x00000440, 0x00000470, 0x00000478,
- 0x00000408, 0x00000450, 0x00000410, 0x00000468,
- }
-};
+const struct gost28147_param gost28147_param_Test_89 = { 0,
+ {
+ /* 0 */
+ 0x00062000,
+ 0x00061000,
+ 0x00067800,
+ 0x00062800,
+ 0x00064800,
+ 0x00060800,
+ 0x00060000,
+ 0x00064000,
+ 0x00067000,
+ 0x00061800,
+ 0x00065800,
+ 0x00066000,
+ 0x00066800,
+ 0x00063800,
+ 0x00065000,
+ 0x00063000,
+ 0x0004a000,
+ 0x00049000,
+ 0x0004f800,
+ 0x0004a800,
+ 0x0004c800,
+ 0x00048800,
+ 0x00048000,
+ 0x0004c000,
+ 0x0004f000,
+ 0x00049800,
+ 0x0004d800,
+ 0x0004e000,
+ 0x0004e800,
+ 0x0004b800,
+ 0x0004d000,
+ 0x0004b000,
+ 0x0007a000,
+ 0x00079000,
+ 0x0007f800,
+ 0x0007a800,
+ 0x0007c800,
+ 0x00078800,
+ 0x00078000,
+ 0x0007c000,
+ 0x0007f000,
+ 0x00079800,
+ 0x0007d800,
+ 0x0007e000,
+ 0x0007e800,
+ 0x0007b800,
+ 0x0007d000,
+ 0x0007b000,
+ 0x00072000,
+ 0x00071000,
+ 0x00077800,
+ 0x00072800,
+ 0x00074800,
+ 0x00070800,
+ 0x00070000,
+ 0x00074000,
+ 0x00077000,
+ 0x00071800,
+ 0x00075800,
+ 0x00076000,
+ 0x00076800,
+ 0x00073800,
+ 0x00075000,
+ 0x00073000,
+ 0x00042000,
+ 0x00041000,
+ 0x00047800,
+ 0x00042800,
+ 0x00044800,
+ 0x00040800,
+ 0x00040000,
+ 0x00044000,
+ 0x00047000,
+ 0x00041800,
+ 0x00045800,
+ 0x00046000,
+ 0x00046800,
+ 0x00043800,
+ 0x00045000,
+ 0x00043000,
+ 0x0000a000,
+ 0x00009000,
+ 0x0000f800,
+ 0x0000a800,
+ 0x0000c800,
+ 0x00008800,
+ 0x00008000,
+ 0x0000c000,
+ 0x0000f000,
+ 0x00009800,
+ 0x0000d800,
+ 0x0000e000,
+ 0x0000e800,
+ 0x0000b800,
+ 0x0000d000,
+ 0x0000b000,
+ 0x0001a000,
+ 0x00019000,
+ 0x0001f800,
+ 0x0001a800,
+ 0x0001c800,
+ 0x00018800,
+ 0x00018000,
+ 0x0001c000,
+ 0x0001f000,
+ 0x00019800,
+ 0x0001d800,
+ 0x0001e000,
+ 0x0001e800,
+ 0x0001b800,
+ 0x0001d000,
+ 0x0001b000,
+ 0x00052000,
+ 0x00051000,
+ 0x00057800,
+ 0x00052800,
+ 0x00054800,
+ 0x00050800,
+ 0x00050000,
+ 0x00054000,
+ 0x00057000,
+ 0x00051800,
+ 0x00055800,
+ 0x00056000,
+ 0x00056800,
+ 0x00053800,
+ 0x00055000,
+ 0x00053000,
+ 0x00012000,
+ 0x00011000,
+ 0x00017800,
+ 0x00012800,
+ 0x00014800,
+ 0x00010800,
+ 0x00010000,
+ 0x00014000,
+ 0x00017000,
+ 0x00011800,
+ 0x00015800,
+ 0x00016000,
+ 0x00016800,
+ 0x00013800,
+ 0x00015000,
+ 0x00013000,
+ 0x0003a000,
+ 0x00039000,
+ 0x0003f800,
+ 0x0003a800,
+ 0x0003c800,
+ 0x00038800,
+ 0x00038000,
+ 0x0003c000,
+ 0x0003f000,
+ 0x00039800,
+ 0x0003d800,
+ 0x0003e000,
+ 0x0003e800,
+ 0x0003b800,
+ 0x0003d000,
+ 0x0003b000,
+ 0x00022000,
+ 0x00021000,
+ 0x00027800,
+ 0x00022800,
+ 0x00024800,
+ 0x00020800,
+ 0x00020000,
+ 0x00024000,
+ 0x00027000,
+ 0x00021800,
+ 0x00025800,
+ 0x00026000,
+ 0x00026800,
+ 0x00023800,
+ 0x00025000,
+ 0x00023000,
+ 0x0006a000,
+ 0x00069000,
+ 0x0006f800,
+ 0x0006a800,
+ 0x0006c800,
+ 0x00068800,
+ 0x00068000,
+ 0x0006c000,
+ 0x0006f000,
+ 0x00069800,
+ 0x0006d800,
+ 0x0006e000,
+ 0x0006e800,
+ 0x0006b800,
+ 0x0006d000,
+ 0x0006b000,
+ 0x00032000,
+ 0x00031000,
+ 0x00037800,
+ 0x00032800,
+ 0x00034800,
+ 0x00030800,
+ 0x00030000,
+ 0x00034000,
+ 0x00037000,
+ 0x00031800,
+ 0x00035800,
+ 0x00036000,
+ 0x00036800,
+ 0x00033800,
+ 0x00035000,
+ 0x00033000,
+ 0x00002000,
+ 0x00001000,
+ 0x00007800,
+ 0x00002800,
+ 0x00004800,
+ 0x00000800,
+ 0x00000000,
+ 0x00004000,
+ 0x00007000,
+ 0x00001800,
+ 0x00005800,
+ 0x00006000,
+ 0x00006800,
+ 0x00003800,
+ 0x00005000,
+ 0x00003000,
+ 0x0005a000,
+ 0x00059000,
+ 0x0005f800,
+ 0x0005a800,
+ 0x0005c800,
+ 0x00058800,
+ 0x00058000,
+ 0x0005c000,
+ 0x0005f000,
+ 0x00059800,
+ 0x0005d800,
+ 0x0005e000,
+ 0x0005e800,
+ 0x0005b800,
+ 0x0005d000,
+ 0x0005b000,
+ 0x0002a000,
+ 0x00029000,
+ 0x0002f800,
+ 0x0002a800,
+ 0x0002c800,
+ 0x00028800,
+ 0x00028000,
+ 0x0002c000,
+ 0x0002f000,
+ 0x00029800,
+ 0x0002d800,
+ 0x0002e000,
+ 0x0002e800,
+ 0x0002b800,
+ 0x0002d000,
+ 0x0002b000,
+ /* 1 */
+ 0x07680000,
+ 0x07400000,
+ 0x07700000,
+ 0x07600000,
+ 0x07380000,
+ 0x07180000,
+ 0x07480000,
+ 0x07500000,
+ 0x07080000,
+ 0x07280000,
+ 0x07100000,
+ 0x07200000,
+ 0x07300000,
+ 0x07780000,
+ 0x07000000,
+ 0x07580000,
+ 0x04e80000,
+ 0x04c00000,
+ 0x04f00000,
+ 0x04e00000,
+ 0x04b80000,
+ 0x04980000,
+ 0x04c80000,
+ 0x04d00000,
+ 0x04880000,
+ 0x04a80000,
+ 0x04900000,
+ 0x04a00000,
+ 0x04b00000,
+ 0x04f80000,
+ 0x04800000,
+ 0x04d80000,
+ 0x05e80000,
+ 0x05c00000,
+ 0x05f00000,
+ 0x05e00000,
+ 0x05b80000,
+ 0x05980000,
+ 0x05c80000,
+ 0x05d00000,
+ 0x05880000,
+ 0x05a80000,
+ 0x05900000,
+ 0x05a00000,
+ 0x05b00000,
+ 0x05f80000,
+ 0x05800000,
+ 0x05d80000,
+ 0x01680000,
+ 0x01400000,
+ 0x01700000,
+ 0x01600000,
+ 0x01380000,
+ 0x01180000,
+ 0x01480000,
+ 0x01500000,
+ 0x01080000,
+ 0x01280000,
+ 0x01100000,
+ 0x01200000,
+ 0x01300000,
+ 0x01780000,
+ 0x01000000,
+ 0x01580000,
+ 0x02e80000,
+ 0x02c00000,
+ 0x02f00000,
+ 0x02e00000,
+ 0x02b80000,
+ 0x02980000,
+ 0x02c80000,
+ 0x02d00000,
+ 0x02880000,
+ 0x02a80000,
+ 0x02900000,
+ 0x02a00000,
+ 0x02b00000,
+ 0x02f80000,
+ 0x02800000,
+ 0x02d80000,
+ 0x07e80000,
+ 0x07c00000,
+ 0x07f00000,
+ 0x07e00000,
+ 0x07b80000,
+ 0x07980000,
+ 0x07c80000,
+ 0x07d00000,
+ 0x07880000,
+ 0x07a80000,
+ 0x07900000,
+ 0x07a00000,
+ 0x07b00000,
+ 0x07f80000,
+ 0x07800000,
+ 0x07d80000,
+ 0x03e80000,
+ 0x03c00000,
+ 0x03f00000,
+ 0x03e00000,
+ 0x03b80000,
+ 0x03980000,
+ 0x03c80000,
+ 0x03d00000,
+ 0x03880000,
+ 0x03a80000,
+ 0x03900000,
+ 0x03a00000,
+ 0x03b00000,
+ 0x03f80000,
+ 0x03800000,
+ 0x03d80000,
+ 0x00e80000,
+ 0x00c00000,
+ 0x00f00000,
+ 0x00e00000,
+ 0x00b80000,
+ 0x00980000,
+ 0x00c80000,
+ 0x00d00000,
+ 0x00880000,
+ 0x00a80000,
+ 0x00900000,
+ 0x00a00000,
+ 0x00b00000,
+ 0x00f80000,
+ 0x00800000,
+ 0x00d80000,
+ 0x00680000,
+ 0x00400000,
+ 0x00700000,
+ 0x00600000,
+ 0x00380000,
+ 0x00180000,
+ 0x00480000,
+ 0x00500000,
+ 0x00080000,
+ 0x00280000,
+ 0x00100000,
+ 0x00200000,
+ 0x00300000,
+ 0x00780000,
+ 0x00000000,
+ 0x00580000,
+ 0x06e80000,
+ 0x06c00000,
+ 0x06f00000,
+ 0x06e00000,
+ 0x06b80000,
+ 0x06980000,
+ 0x06c80000,
+ 0x06d00000,
+ 0x06880000,
+ 0x06a80000,
+ 0x06900000,
+ 0x06a00000,
+ 0x06b00000,
+ 0x06f80000,
+ 0x06800000,
+ 0x06d80000,
+ 0x06680000,
+ 0x06400000,
+ 0x06700000,
+ 0x06600000,
+ 0x06380000,
+ 0x06180000,
+ 0x06480000,
+ 0x06500000,
+ 0x06080000,
+ 0x06280000,
+ 0x06100000,
+ 0x06200000,
+ 0x06300000,
+ 0x06780000,
+ 0x06000000,
+ 0x06580000,
+ 0x03680000,
+ 0x03400000,
+ 0x03700000,
+ 0x03600000,
+ 0x03380000,
+ 0x03180000,
+ 0x03480000,
+ 0x03500000,
+ 0x03080000,
+ 0x03280000,
+ 0x03100000,
+ 0x03200000,
+ 0x03300000,
+ 0x03780000,
+ 0x03000000,
+ 0x03580000,
+ 0x05680000,
+ 0x05400000,
+ 0x05700000,
+ 0x05600000,
+ 0x05380000,
+ 0x05180000,
+ 0x05480000,
+ 0x05500000,
+ 0x05080000,
+ 0x05280000,
+ 0x05100000,
+ 0x05200000,
+ 0x05300000,
+ 0x05780000,
+ 0x05000000,
+ 0x05580000,
+ 0x02680000,
+ 0x02400000,
+ 0x02700000,
+ 0x02600000,
+ 0x02380000,
+ 0x02180000,
+ 0x02480000,
+ 0x02500000,
+ 0x02080000,
+ 0x02280000,
+ 0x02100000,
+ 0x02200000,
+ 0x02300000,
+ 0x02780000,
+ 0x02000000,
+ 0x02580000,
+ 0x01e80000,
+ 0x01c00000,
+ 0x01f00000,
+ 0x01e00000,
+ 0x01b80000,
+ 0x01980000,
+ 0x01c80000,
+ 0x01d00000,
+ 0x01880000,
+ 0x01a80000,
+ 0x01900000,
+ 0x01a00000,
+ 0x01b00000,
+ 0x01f80000,
+ 0x01800000,
+ 0x01d80000,
+ 0x04680000,
+ 0x04400000,
+ 0x04700000,
+ 0x04600000,
+ 0x04380000,
+ 0x04180000,
+ 0x04480000,
+ 0x04500000,
+ 0x04080000,
+ 0x04280000,
+ 0x04100000,
+ 0x04200000,
+ 0x04300000,
+ 0x04780000,
+ 0x04000000,
+ 0x04580000,
+ /* 2 */
+ 0x18000004,
+ 0x70000004,
+ 0x28000004,
+ 0x48000004,
+ 0x30000004,
+ 0x40000004,
+ 0x00000004,
+ 0x68000004,
+ 0x50000004,
+ 0x58000004,
+ 0x38000004,
+ 0x60000004,
+ 0x10000004,
+ 0x08000004,
+ 0x78000004,
+ 0x20000004,
+ 0x98000007,
+ 0xf0000007,
+ 0xa8000007,
+ 0xc8000007,
+ 0xb0000007,
+ 0xc0000007,
+ 0x80000007,
+ 0xe8000007,
+ 0xd0000007,
+ 0xd8000007,
+ 0xb8000007,
+ 0xe0000007,
+ 0x90000007,
+ 0x88000007,
+ 0xf8000007,
+ 0xa0000007,
+ 0x18000003,
+ 0x70000003,
+ 0x28000003,
+ 0x48000003,
+ 0x30000003,
+ 0x40000003,
+ 0x00000003,
+ 0x68000003,
+ 0x50000003,
+ 0x58000003,
+ 0x38000003,
+ 0x60000003,
+ 0x10000003,
+ 0x08000003,
+ 0x78000003,
+ 0x20000003,
+ 0x98000005,
+ 0xf0000005,
+ 0xa8000005,
+ 0xc8000005,
+ 0xb0000005,
+ 0xc0000005,
+ 0x80000005,
+ 0xe8000005,
+ 0xd0000005,
+ 0xd8000005,
+ 0xb8000005,
+ 0xe0000005,
+ 0x90000005,
+ 0x88000005,
+ 0xf8000005,
+ 0xa0000005,
+ 0x98000000,
+ 0xf0000000,
+ 0xa8000000,
+ 0xc8000000,
+ 0xb0000000,
+ 0xc0000000,
+ 0x80000000,
+ 0xe8000000,
+ 0xd0000000,
+ 0xd8000000,
+ 0xb8000000,
+ 0xe0000000,
+ 0x90000000,
+ 0x88000000,
+ 0xf8000000,
+ 0xa0000000,
+ 0x98000004,
+ 0xf0000004,
+ 0xa8000004,
+ 0xc8000004,
+ 0xb0000004,
+ 0xc0000004,
+ 0x80000004,
+ 0xe8000004,
+ 0xd0000004,
+ 0xd8000004,
+ 0xb8000004,
+ 0xe0000004,
+ 0x90000004,
+ 0x88000004,
+ 0xf8000004,
+ 0xa0000004,
+ 0x18000006,
+ 0x70000006,
+ 0x28000006,
+ 0x48000006,
+ 0x30000006,
+ 0x40000006,
+ 0x00000006,
+ 0x68000006,
+ 0x50000006,
+ 0x58000006,
+ 0x38000006,
+ 0x60000006,
+ 0x10000006,
+ 0x08000006,
+ 0x78000006,
+ 0x20000006,
+ 0x98000002,
+ 0xf0000002,
+ 0xa8000002,
+ 0xc8000002,
+ 0xb0000002,
+ 0xc0000002,
+ 0x80000002,
+ 0xe8000002,
+ 0xd0000002,
+ 0xd8000002,
+ 0xb8000002,
+ 0xe0000002,
+ 0x90000002,
+ 0x88000002,
+ 0xf8000002,
+ 0xa0000002,
+ 0x98000006,
+ 0xf0000006,
+ 0xa8000006,
+ 0xc8000006,
+ 0xb0000006,
+ 0xc0000006,
+ 0x80000006,
+ 0xe8000006,
+ 0xd0000006,
+ 0xd8000006,
+ 0xb8000006,
+ 0xe0000006,
+ 0x90000006,
+ 0x88000006,
+ 0xf8000006,
+ 0xa0000006,
+ 0x98000001,
+ 0xf0000001,
+ 0xa8000001,
+ 0xc8000001,
+ 0xb0000001,
+ 0xc0000001,
+ 0x80000001,
+ 0xe8000001,
+ 0xd0000001,
+ 0xd8000001,
+ 0xb8000001,
+ 0xe0000001,
+ 0x90000001,
+ 0x88000001,
+ 0xf8000001,
+ 0xa0000001,
+ 0x98000003,
+ 0xf0000003,
+ 0xa8000003,
+ 0xc8000003,
+ 0xb0000003,
+ 0xc0000003,
+ 0x80000003,
+ 0xe8000003,
+ 0xd0000003,
+ 0xd8000003,
+ 0xb8000003,
+ 0xe0000003,
+ 0x90000003,
+ 0x88000003,
+ 0xf8000003,
+ 0xa0000003,
+ 0x18000005,
+ 0x70000005,
+ 0x28000005,
+ 0x48000005,
+ 0x30000005,
+ 0x40000005,
+ 0x00000005,
+ 0x68000005,
+ 0x50000005,
+ 0x58000005,
+ 0x38000005,
+ 0x60000005,
+ 0x10000005,
+ 0x08000005,
+ 0x78000005,
+ 0x20000005,
+ 0x18000000,
+ 0x70000000,
+ 0x28000000,
+ 0x48000000,
+ 0x30000000,
+ 0x40000000,
+ 0x00000000,
+ 0x68000000,
+ 0x50000000,
+ 0x58000000,
+ 0x38000000,
+ 0x60000000,
+ 0x10000000,
+ 0x08000000,
+ 0x78000000,
+ 0x20000000,
+ 0x18000007,
+ 0x70000007,
+ 0x28000007,
+ 0x48000007,
+ 0x30000007,
+ 0x40000007,
+ 0x00000007,
+ 0x68000007,
+ 0x50000007,
+ 0x58000007,
+ 0x38000007,
+ 0x60000007,
+ 0x10000007,
+ 0x08000007,
+ 0x78000007,
+ 0x20000007,
+ 0x18000001,
+ 0x70000001,
+ 0x28000001,
+ 0x48000001,
+ 0x30000001,
+ 0x40000001,
+ 0x00000001,
+ 0x68000001,
+ 0x50000001,
+ 0x58000001,
+ 0x38000001,
+ 0x60000001,
+ 0x10000001,
+ 0x08000001,
+ 0x78000001,
+ 0x20000001,
+ 0x18000002,
+ 0x70000002,
+ 0x28000002,
+ 0x48000002,
+ 0x30000002,
+ 0x40000002,
+ 0x00000002,
+ 0x68000002,
+ 0x50000002,
+ 0x58000002,
+ 0x38000002,
+ 0x60000002,
+ 0x10000002,
+ 0x08000002,
+ 0x78000002,
+ 0x20000002,
+ /* 3 */
+ 0x00000648,
+ 0x00000658,
+ 0x00000660,
+ 0x00000600,
+ 0x00000618,
+ 0x00000630,
+ 0x00000638,
+ 0x00000628,
+ 0x00000620,
+ 0x00000640,
+ 0x00000670,
+ 0x00000678,
+ 0x00000608,
+ 0x00000650,
+ 0x00000610,
+ 0x00000668,
+ 0x00000348,
+ 0x00000358,
+ 0x00000360,
+ 0x00000300,
+ 0x00000318,
+ 0x00000330,
+ 0x00000338,
+ 0x00000328,
+ 0x00000320,
+ 0x00000340,
+ 0x00000370,
+ 0x00000378,
+ 0x00000308,
+ 0x00000350,
+ 0x00000310,
+ 0x00000368,
+ 0x000002c8,
+ 0x000002d8,
+ 0x000002e0,
+ 0x00000280,
+ 0x00000298,
+ 0x000002b0,
+ 0x000002b8,
+ 0x000002a8,
+ 0x000002a0,
+ 0x000002c0,
+ 0x000002f0,
+ 0x000002f8,
+ 0x00000288,
+ 0x000002d0,
+ 0x00000290,
+ 0x000002e8,
+ 0x00000148,
+ 0x00000158,
+ 0x00000160,
+ 0x00000100,
+ 0x00000118,
+ 0x00000130,
+ 0x00000138,
+ 0x00000128,
+ 0x00000120,
+ 0x00000140,
+ 0x00000170,
+ 0x00000178,
+ 0x00000108,
+ 0x00000150,
+ 0x00000110,
+ 0x00000168,
+ 0x000005c8,
+ 0x000005d8,
+ 0x000005e0,
+ 0x00000580,
+ 0x00000598,
+ 0x000005b0,
+ 0x000005b8,
+ 0x000005a8,
+ 0x000005a0,
+ 0x000005c0,
+ 0x000005f0,
+ 0x000005f8,
+ 0x00000588,
+ 0x000005d0,
+ 0x00000590,
+ 0x000005e8,
+ 0x00000048,
+ 0x00000058,
+ 0x00000060,
+ 0x00000000,
+ 0x00000018,
+ 0x00000030,
+ 0x00000038,
+ 0x00000028,
+ 0x00000020,
+ 0x00000040,
+ 0x00000070,
+ 0x00000078,
+ 0x00000008,
+ 0x00000050,
+ 0x00000010,
+ 0x00000068,
+ 0x000004c8,
+ 0x000004d8,
+ 0x000004e0,
+ 0x00000480,
+ 0x00000498,
+ 0x000004b0,
+ 0x000004b8,
+ 0x000004a8,
+ 0x000004a0,
+ 0x000004c0,
+ 0x000004f0,
+ 0x000004f8,
+ 0x00000488,
+ 0x000004d0,
+ 0x00000490,
+ 0x000004e8,
+ 0x000006c8,
+ 0x000006d8,
+ 0x000006e0,
+ 0x00000680,
+ 0x00000698,
+ 0x000006b0,
+ 0x000006b8,
+ 0x000006a8,
+ 0x000006a0,
+ 0x000006c0,
+ 0x000006f0,
+ 0x000006f8,
+ 0x00000688,
+ 0x000006d0,
+ 0x00000690,
+ 0x000006e8,
+ 0x000001c8,
+ 0x000001d8,
+ 0x000001e0,
+ 0x00000180,
+ 0x00000198,
+ 0x000001b0,
+ 0x000001b8,
+ 0x000001a8,
+ 0x000001a0,
+ 0x000001c0,
+ 0x000001f0,
+ 0x000001f8,
+ 0x00000188,
+ 0x000001d0,
+ 0x00000190,
+ 0x000001e8,
+ 0x00000748,
+ 0x00000758,
+ 0x00000760,
+ 0x00000700,
+ 0x00000718,
+ 0x00000730,
+ 0x00000738,
+ 0x00000728,
+ 0x00000720,
+ 0x00000740,
+ 0x00000770,
+ 0x00000778,
+ 0x00000708,
+ 0x00000750,
+ 0x00000710,
+ 0x00000768,
+ 0x000003c8,
+ 0x000003d8,
+ 0x000003e0,
+ 0x00000380,
+ 0x00000398,
+ 0x000003b0,
+ 0x000003b8,
+ 0x000003a8,
+ 0x000003a0,
+ 0x000003c0,
+ 0x000003f0,
+ 0x000003f8,
+ 0x00000388,
+ 0x000003d0,
+ 0x00000390,
+ 0x000003e8,
+ 0x00000548,
+ 0x00000558,
+ 0x00000560,
+ 0x00000500,
+ 0x00000518,
+ 0x00000530,
+ 0x00000538,
+ 0x00000528,
+ 0x00000520,
+ 0x00000540,
+ 0x00000570,
+ 0x00000578,
+ 0x00000508,
+ 0x00000550,
+ 0x00000510,
+ 0x00000568,
+ 0x000007c8,
+ 0x000007d8,
+ 0x000007e0,
+ 0x00000780,
+ 0x00000798,
+ 0x000007b0,
+ 0x000007b8,
+ 0x000007a8,
+ 0x000007a0,
+ 0x000007c0,
+ 0x000007f0,
+ 0x000007f8,
+ 0x00000788,
+ 0x000007d0,
+ 0x00000790,
+ 0x000007e8,
+ 0x00000248,
+ 0x00000258,
+ 0x00000260,
+ 0x00000200,
+ 0x00000218,
+ 0x00000230,
+ 0x00000238,
+ 0x00000228,
+ 0x00000220,
+ 0x00000240,
+ 0x00000270,
+ 0x00000278,
+ 0x00000208,
+ 0x00000250,
+ 0x00000210,
+ 0x00000268,
+ 0x000000c8,
+ 0x000000d8,
+ 0x000000e0,
+ 0x00000080,
+ 0x00000098,
+ 0x000000b0,
+ 0x000000b8,
+ 0x000000a8,
+ 0x000000a0,
+ 0x000000c0,
+ 0x000000f0,
+ 0x000000f8,
+ 0x00000088,
+ 0x000000d0,
+ 0x00000090,
+ 0x000000e8,
+ 0x00000448,
+ 0x00000458,
+ 0x00000460,
+ 0x00000400,
+ 0x00000418,
+ 0x00000430,
+ 0x00000438,
+ 0x00000428,
+ 0x00000420,
+ 0x00000440,
+ 0x00000470,
+ 0x00000478,
+ 0x00000408,
+ 0x00000450,
+ 0x00000410,
+ 0x00000468,
+ } };
-const struct gost28147_param gost28147_param_CryptoPro_A = {
- 1,
- {
- /* 0 */
- 0x0001c800, 0x0001b000, 0x00019800, 0x00019000,
- 0x0001c000, 0x0001d800, 0x00018800, 0x0001b800,
- 0x0001d000, 0x0001a000, 0x0001f000, 0x0001f800,
- 0x0001e000, 0x00018000, 0x0001e800, 0x0001a800,
- 0x0003c800, 0x0003b000, 0x00039800, 0x00039000,
- 0x0003c000, 0x0003d800, 0x00038800, 0x0003b800,
- 0x0003d000, 0x0003a000, 0x0003f000, 0x0003f800,
- 0x0003e000, 0x00038000, 0x0003e800, 0x0003a800,
- 0x00074800, 0x00073000, 0x00071800, 0x00071000,
- 0x00074000, 0x00075800, 0x00070800, 0x00073800,
- 0x00075000, 0x00072000, 0x00077000, 0x00077800,
- 0x00076000, 0x00070000, 0x00076800, 0x00072800,
- 0x0004c800, 0x0004b000, 0x00049800, 0x00049000,
- 0x0004c000, 0x0004d800, 0x00048800, 0x0004b800,
- 0x0004d000, 0x0004a000, 0x0004f000, 0x0004f800,
- 0x0004e000, 0x00048000, 0x0004e800, 0x0004a800,
- 0x00044800, 0x00043000, 0x00041800, 0x00041000,
- 0x00044000, 0x00045800, 0x00040800, 0x00043800,
- 0x00045000, 0x00042000, 0x00047000, 0x00047800,
- 0x00046000, 0x00040000, 0x00046800, 0x00042800,
- 0x00054800, 0x00053000, 0x00051800, 0x00051000,
- 0x00054000, 0x00055800, 0x00050800, 0x00053800,
- 0x00055000, 0x00052000, 0x00057000, 0x00057800,
- 0x00056000, 0x00050000, 0x00056800, 0x00052800,
- 0x0007c800, 0x0007b000, 0x00079800, 0x00079000,
- 0x0007c000, 0x0007d800, 0x00078800, 0x0007b800,
- 0x0007d000, 0x0007a000, 0x0007f000, 0x0007f800,
- 0x0007e000, 0x00078000, 0x0007e800, 0x0007a800,
- 0x00004800, 0x00003000, 0x00001800, 0x00001000,
- 0x00004000, 0x00005800, 0x00000800, 0x00003800,
- 0x00005000, 0x00002000, 0x00007000, 0x00007800,
- 0x00006000, 0x00000000, 0x00006800, 0x00002800,
- 0x0002c800, 0x0002b000, 0x00029800, 0x00029000,
- 0x0002c000, 0x0002d800, 0x00028800, 0x0002b800,
- 0x0002d000, 0x0002a000, 0x0002f000, 0x0002f800,
- 0x0002e000, 0x00028000, 0x0002e800, 0x0002a800,
- 0x00014800, 0x00013000, 0x00011800, 0x00011000,
- 0x00014000, 0x00015800, 0x00010800, 0x00013800,
- 0x00015000, 0x00012000, 0x00017000, 0x00017800,
- 0x00016000, 0x00010000, 0x00016800, 0x00012800,
- 0x00034800, 0x00033000, 0x00031800, 0x00031000,
- 0x00034000, 0x00035800, 0x00030800, 0x00033800,
- 0x00035000, 0x00032000, 0x00037000, 0x00037800,
- 0x00036000, 0x00030000, 0x00036800, 0x00032800,
- 0x00064800, 0x00063000, 0x00061800, 0x00061000,
- 0x00064000, 0x00065800, 0x00060800, 0x00063800,
- 0x00065000, 0x00062000, 0x00067000, 0x00067800,
- 0x00066000, 0x00060000, 0x00066800, 0x00062800,
- 0x0005c800, 0x0005b000, 0x00059800, 0x00059000,
- 0x0005c000, 0x0005d800, 0x00058800, 0x0005b800,
- 0x0005d000, 0x0005a000, 0x0005f000, 0x0005f800,
- 0x0005e000, 0x00058000, 0x0005e800, 0x0005a800,
- 0x00024800, 0x00023000, 0x00021800, 0x00021000,
- 0x00024000, 0x00025800, 0x00020800, 0x00023800,
- 0x00025000, 0x00022000, 0x00027000, 0x00027800,
- 0x00026000, 0x00020000, 0x00026800, 0x00022800,
- 0x0006c800, 0x0006b000, 0x00069800, 0x00069000,
- 0x0006c000, 0x0006d800, 0x00068800, 0x0006b800,
- 0x0006d000, 0x0006a000, 0x0006f000, 0x0006f800,
- 0x0006e000, 0x00068000, 0x0006e800, 0x0006a800,
- 0x0000c800, 0x0000b000, 0x00009800, 0x00009000,
- 0x0000c000, 0x0000d800, 0x00008800, 0x0000b800,
- 0x0000d000, 0x0000a000, 0x0000f000, 0x0000f800,
- 0x0000e000, 0x00008000, 0x0000e800, 0x0000a800,
- /* 1 */
- 0x07700000, 0x07200000, 0x07300000, 0x07100000,
- 0x07580000, 0x07180000, 0x07680000, 0x07400000,
- 0x07600000, 0x07780000, 0x07280000, 0x07500000,
- 0x07000000, 0x07380000, 0x07080000, 0x07480000,
- 0x03f00000, 0x03a00000, 0x03b00000, 0x03900000,
- 0x03d80000, 0x03980000, 0x03e80000, 0x03c00000,
- 0x03e00000, 0x03f80000, 0x03a80000, 0x03d00000,
- 0x03800000, 0x03b80000, 0x03880000, 0x03c80000,
- 0x05700000, 0x05200000, 0x05300000, 0x05100000,
- 0x05580000, 0x05180000, 0x05680000, 0x05400000,
- 0x05600000, 0x05780000, 0x05280000, 0x05500000,
- 0x05000000, 0x05380000, 0x05080000, 0x05480000,
- 0x06700000, 0x06200000, 0x06300000, 0x06100000,
- 0x06580000, 0x06180000, 0x06680000, 0x06400000,
- 0x06600000, 0x06780000, 0x06280000, 0x06500000,
- 0x06000000, 0x06380000, 0x06080000, 0x06480000,
- 0x06f00000, 0x06a00000, 0x06b00000, 0x06900000,
- 0x06d80000, 0x06980000, 0x06e80000, 0x06c00000,
- 0x06e00000, 0x06f80000, 0x06a80000, 0x06d00000,
- 0x06800000, 0x06b80000, 0x06880000, 0x06c80000,
- 0x00f00000, 0x00a00000, 0x00b00000, 0x00900000,
- 0x00d80000, 0x00980000, 0x00e80000, 0x00c00000,
- 0x00e00000, 0x00f80000, 0x00a80000, 0x00d00000,
- 0x00800000, 0x00b80000, 0x00880000, 0x00c80000,
- 0x01f00000, 0x01a00000, 0x01b00000, 0x01900000,
- 0x01d80000, 0x01980000, 0x01e80000, 0x01c00000,
- 0x01e00000, 0x01f80000, 0x01a80000, 0x01d00000,
- 0x01800000, 0x01b80000, 0x01880000, 0x01c80000,
- 0x04f00000, 0x04a00000, 0x04b00000, 0x04900000,
- 0x04d80000, 0x04980000, 0x04e80000, 0x04c00000,
- 0x04e00000, 0x04f80000, 0x04a80000, 0x04d00000,
- 0x04800000, 0x04b80000, 0x04880000, 0x04c80000,
- 0x00700000, 0x00200000, 0x00300000, 0x00100000,
- 0x00580000, 0x00180000, 0x00680000, 0x00400000,
- 0x00600000, 0x00780000, 0x00280000, 0x00500000,
- 0x00000000, 0x00380000, 0x00080000, 0x00480000,
- 0x01700000, 0x01200000, 0x01300000, 0x01100000,
- 0x01580000, 0x01180000, 0x01680000, 0x01400000,
- 0x01600000, 0x01780000, 0x01280000, 0x01500000,
- 0x01000000, 0x01380000, 0x01080000, 0x01480000,
- 0x05f00000, 0x05a00000, 0x05b00000, 0x05900000,
- 0x05d80000, 0x05980000, 0x05e80000, 0x05c00000,
- 0x05e00000, 0x05f80000, 0x05a80000, 0x05d00000,
- 0x05800000, 0x05b80000, 0x05880000, 0x05c80000,
- 0x02700000, 0x02200000, 0x02300000, 0x02100000,
- 0x02580000, 0x02180000, 0x02680000, 0x02400000,
- 0x02600000, 0x02780000, 0x02280000, 0x02500000,
- 0x02000000, 0x02380000, 0x02080000, 0x02480000,
- 0x07f00000, 0x07a00000, 0x07b00000, 0x07900000,
- 0x07d80000, 0x07980000, 0x07e80000, 0x07c00000,
- 0x07e00000, 0x07f80000, 0x07a80000, 0x07d00000,
- 0x07800000, 0x07b80000, 0x07880000, 0x07c80000,
- 0x04700000, 0x04200000, 0x04300000, 0x04100000,
- 0x04580000, 0x04180000, 0x04680000, 0x04400000,
- 0x04600000, 0x04780000, 0x04280000, 0x04500000,
- 0x04000000, 0x04380000, 0x04080000, 0x04480000,
- 0x02f00000, 0x02a00000, 0x02b00000, 0x02900000,
- 0x02d80000, 0x02980000, 0x02e80000, 0x02c00000,
- 0x02e00000, 0x02f80000, 0x02a80000, 0x02d00000,
- 0x02800000, 0x02b80000, 0x02880000, 0x02c80000,
- 0x03700000, 0x03200000, 0x03300000, 0x03100000,
- 0x03580000, 0x03180000, 0x03680000, 0x03400000,
- 0x03600000, 0x03780000, 0x03280000, 0x03500000,
- 0x03000000, 0x03380000, 0x03080000, 0x03480000,
- /* 2 */
- 0xd8000001, 0xa8000001, 0x88000001, 0xc8000001,
- 0xc0000001, 0xe8000001, 0xf8000001, 0x80000001,
- 0xf0000001, 0xa0000001, 0x90000001, 0x98000001,
- 0xe0000001, 0xb8000001, 0xd0000001, 0xb0000001,
- 0x58000005, 0x28000005, 0x08000005, 0x48000005,
- 0x40000005, 0x68000005, 0x78000005, 0x00000005,
- 0x70000005, 0x20000005, 0x10000005, 0x18000005,
- 0x60000005, 0x38000005, 0x50000005, 0x30000005,
- 0xd8000006, 0xa8000006, 0x88000006, 0xc8000006,
- 0xc0000006, 0xe8000006, 0xf8000006, 0x80000006,
- 0xf0000006, 0xa0000006, 0x90000006, 0x98000006,
- 0xe0000006, 0xb8000006, 0xd0000006, 0xb0000006,
- 0x58000006, 0x28000006, 0x08000006, 0x48000006,
- 0x40000006, 0x68000006, 0x78000006, 0x00000006,
- 0x70000006, 0x20000006, 0x10000006, 0x18000006,
- 0x60000006, 0x38000006, 0x50000006, 0x30000006,
- 0xd8000000, 0xa8000000, 0x88000000, 0xc8000000,
- 0xc0000000, 0xe8000000, 0xf8000000, 0x80000000,
- 0xf0000000, 0xa0000000, 0x90000000, 0x98000000,
- 0xe0000000, 0xb8000000, 0xd0000000, 0xb0000000,
- 0x58000001, 0x28000001, 0x08000001, 0x48000001,
- 0x40000001, 0x68000001, 0x78000001, 0x00000001,
- 0x70000001, 0x20000001, 0x10000001, 0x18000001,
- 0x60000001, 0x38000001, 0x50000001, 0x30000001,
- 0x58000000, 0x28000000, 0x08000000, 0x48000000,
- 0x40000000, 0x68000000, 0x78000000, 0x00000000,
- 0x70000000, 0x20000000, 0x10000000, 0x18000000,
- 0x60000000, 0x38000000, 0x50000000, 0x30000000,
- 0xd8000005, 0xa8000005, 0x88000005, 0xc8000005,
- 0xc0000005, 0xe8000005, 0xf8000005, 0x80000005,
- 0xf0000005, 0xa0000005, 0x90000005, 0x98000005,
- 0xe0000005, 0xb8000005, 0xd0000005, 0xb0000005,
- 0xd8000003, 0xa8000003, 0x88000003, 0xc8000003,
- 0xc0000003, 0xe8000003, 0xf8000003, 0x80000003,
- 0xf0000003, 0xa0000003, 0x90000003, 0x98000003,
- 0xe0000003, 0xb8000003, 0xd0000003, 0xb0000003,
- 0xd8000002, 0xa8000002, 0x88000002, 0xc8000002,
- 0xc0000002, 0xe8000002, 0xf8000002, 0x80000002,
- 0xf0000002, 0xa0000002, 0x90000002, 0x98000002,
- 0xe0000002, 0xb8000002, 0xd0000002, 0xb0000002,
- 0xd8000004, 0xa8000004, 0x88000004, 0xc8000004,
- 0xc0000004, 0xe8000004, 0xf8000004, 0x80000004,
- 0xf0000004, 0xa0000004, 0x90000004, 0x98000004,
- 0xe0000004, 0xb8000004, 0xd0000004, 0xb0000004,
- 0x58000002, 0x28000002, 0x08000002, 0x48000002,
- 0x40000002, 0x68000002, 0x78000002, 0x00000002,
- 0x70000002, 0x20000002, 0x10000002, 0x18000002,
- 0x60000002, 0x38000002, 0x50000002, 0x30000002,
- 0x58000004, 0x28000004, 0x08000004, 0x48000004,
- 0x40000004, 0x68000004, 0x78000004, 0x00000004,
- 0x70000004, 0x20000004, 0x10000004, 0x18000004,
- 0x60000004, 0x38000004, 0x50000004, 0x30000004,
- 0xd8000007, 0xa8000007, 0x88000007, 0xc8000007,
- 0xc0000007, 0xe8000007, 0xf8000007, 0x80000007,
- 0xf0000007, 0xa0000007, 0x90000007, 0x98000007,
- 0xe0000007, 0xb8000007, 0xd0000007, 0xb0000007,
- 0x58000007, 0x28000007, 0x08000007, 0x48000007,
- 0x40000007, 0x68000007, 0x78000007, 0x00000007,
- 0x70000007, 0x20000007, 0x10000007, 0x18000007,
- 0x60000007, 0x38000007, 0x50000007, 0x30000007,
- 0x58000003, 0x28000003, 0x08000003, 0x48000003,
- 0x40000003, 0x68000003, 0x78000003, 0x00000003,
- 0x70000003, 0x20000003, 0x10000003, 0x18000003,
- 0x60000003, 0x38000003, 0x50000003, 0x30000003,
- /* 3 */
- 0x00000588, 0x000005e8, 0x00000590, 0x000005c8,
- 0x000005b8, 0x000005d0, 0x000005b0, 0x00000580,
- 0x000005c0, 0x000005e0, 0x000005a0, 0x000005a8,
- 0x000005f8, 0x00000598, 0x000005d8, 0x000005f0,
- 0x00000508, 0x00000568, 0x00000510, 0x00000548,
- 0x00000538, 0x00000550, 0x00000530, 0x00000500,
- 0x00000540, 0x00000560, 0x00000520, 0x00000528,
- 0x00000578, 0x00000518, 0x00000558, 0x00000570,
- 0x00000788, 0x000007e8, 0x00000790, 0x000007c8,
- 0x000007b8, 0x000007d0, 0x000007b0, 0x00000780,
- 0x000007c0, 0x000007e0, 0x000007a0, 0x000007a8,
- 0x000007f8, 0x00000798, 0x000007d8, 0x000007f0,
- 0x00000288, 0x000002e8, 0x00000290, 0x000002c8,
- 0x000002b8, 0x000002d0, 0x000002b0, 0x00000280,
- 0x000002c0, 0x000002e0, 0x000002a0, 0x000002a8,
- 0x000002f8, 0x00000298, 0x000002d8, 0x000002f0,
- 0x00000008, 0x00000068, 0x00000010, 0x00000048,
- 0x00000038, 0x00000050, 0x00000030, 0x00000000,
- 0x00000040, 0x00000060, 0x00000020, 0x00000028,
- 0x00000078, 0x00000018, 0x00000058, 0x00000070,
- 0x00000608, 0x00000668, 0x00000610, 0x00000648,
- 0x00000638, 0x00000650, 0x00000630, 0x00000600,
- 0x00000640, 0x00000660, 0x00000620, 0x00000628,
- 0x00000678, 0x00000618, 0x00000658, 0x00000670,
- 0x00000708, 0x00000768, 0x00000710, 0x00000748,
- 0x00000738, 0x00000750, 0x00000730, 0x00000700,
- 0x00000740, 0x00000760, 0x00000720, 0x00000728,
- 0x00000778, 0x00000718, 0x00000758, 0x00000770,
- 0x00000408, 0x00000468, 0x00000410, 0x00000448,
- 0x00000438, 0x00000450, 0x00000430, 0x00000400,
- 0x00000440, 0x00000460, 0x00000420, 0x00000428,
- 0x00000478, 0x00000418, 0x00000458, 0x00000470,
- 0x00000308, 0x00000368, 0x00000310, 0x00000348,
- 0x00000338, 0x00000350, 0x00000330, 0x00000300,
- 0x00000340, 0x00000360, 0x00000320, 0x00000328,
- 0x00000378, 0x00000318, 0x00000358, 0x00000370,
- 0x00000108, 0x00000168, 0x00000110, 0x00000148,
- 0x00000138, 0x00000150, 0x00000130, 0x00000100,
- 0x00000140, 0x00000160, 0x00000120, 0x00000128,
- 0x00000178, 0x00000118, 0x00000158, 0x00000170,
- 0x00000188, 0x000001e8, 0x00000190, 0x000001c8,
- 0x000001b8, 0x000001d0, 0x000001b0, 0x00000180,
- 0x000001c0, 0x000001e0, 0x000001a0, 0x000001a8,
- 0x000001f8, 0x00000198, 0x000001d8, 0x000001f0,
- 0x00000488, 0x000004e8, 0x00000490, 0x000004c8,
- 0x000004b8, 0x000004d0, 0x000004b0, 0x00000480,
- 0x000004c0, 0x000004e0, 0x000004a0, 0x000004a8,
- 0x000004f8, 0x00000498, 0x000004d8, 0x000004f0,
- 0x00000088, 0x000000e8, 0x00000090, 0x000000c8,
- 0x000000b8, 0x000000d0, 0x000000b0, 0x00000080,
- 0x000000c0, 0x000000e0, 0x000000a0, 0x000000a8,
- 0x000000f8, 0x00000098, 0x000000d8, 0x000000f0,
- 0x00000388, 0x000003e8, 0x00000390, 0x000003c8,
- 0x000003b8, 0x000003d0, 0x000003b0, 0x00000380,
- 0x000003c0, 0x000003e0, 0x000003a0, 0x000003a8,
- 0x000003f8, 0x00000398, 0x000003d8, 0x000003f0,
- 0x00000688, 0x000006e8, 0x00000690, 0x000006c8,
- 0x000006b8, 0x000006d0, 0x000006b0, 0x00000680,
- 0x000006c0, 0x000006e0, 0x000006a0, 0x000006a8,
- 0x000006f8, 0x00000698, 0x000006d8, 0x000006f0,
- 0x00000208, 0x00000268, 0x00000210, 0x00000248,
- 0x00000238, 0x00000250, 0x00000230, 0x00000200,
- 0x00000240, 0x00000260, 0x00000220, 0x00000228,
- 0x00000278, 0x00000218, 0x00000258, 0x00000270,
- }
-};
+const struct gost28147_param gost28147_param_CryptoPro_A = { 1,
+ {
+ /* 0 */
+ 0x0001c800,
+ 0x0001b000,
+ 0x00019800,
+ 0x00019000,
+ 0x0001c000,
+ 0x0001d800,
+ 0x00018800,
+ 0x0001b800,
+ 0x0001d000,
+ 0x0001a000,
+ 0x0001f000,
+ 0x0001f800,
+ 0x0001e000,
+ 0x00018000,
+ 0x0001e800,
+ 0x0001a800,
+ 0x0003c800,
+ 0x0003b000,
+ 0x00039800,
+ 0x00039000,
+ 0x0003c000,
+ 0x0003d800,
+ 0x00038800,
+ 0x0003b800,
+ 0x0003d000,
+ 0x0003a000,
+ 0x0003f000,
+ 0x0003f800,
+ 0x0003e000,
+ 0x00038000,
+ 0x0003e800,
+ 0x0003a800,
+ 0x00074800,
+ 0x00073000,
+ 0x00071800,
+ 0x00071000,
+ 0x00074000,
+ 0x00075800,
+ 0x00070800,
+ 0x00073800,
+ 0x00075000,
+ 0x00072000,
+ 0x00077000,
+ 0x00077800,
+ 0x00076000,
+ 0x00070000,
+ 0x00076800,
+ 0x00072800,
+ 0x0004c800,
+ 0x0004b000,
+ 0x00049800,
+ 0x00049000,
+ 0x0004c000,
+ 0x0004d800,
+ 0x00048800,
+ 0x0004b800,
+ 0x0004d000,
+ 0x0004a000,
+ 0x0004f000,
+ 0x0004f800,
+ 0x0004e000,
+ 0x00048000,
+ 0x0004e800,
+ 0x0004a800,
+ 0x00044800,
+ 0x00043000,
+ 0x00041800,
+ 0x00041000,
+ 0x00044000,
+ 0x00045800,
+ 0x00040800,
+ 0x00043800,
+ 0x00045000,
+ 0x00042000,
+ 0x00047000,
+ 0x00047800,
+ 0x00046000,
+ 0x00040000,
+ 0x00046800,
+ 0x00042800,
+ 0x00054800,
+ 0x00053000,
+ 0x00051800,
+ 0x00051000,
+ 0x00054000,
+ 0x00055800,
+ 0x00050800,
+ 0x00053800,
+ 0x00055000,
+ 0x00052000,
+ 0x00057000,
+ 0x00057800,
+ 0x00056000,
+ 0x00050000,
+ 0x00056800,
+ 0x00052800,
+ 0x0007c800,
+ 0x0007b000,
+ 0x00079800,
+ 0x00079000,
+ 0x0007c000,
+ 0x0007d800,
+ 0x00078800,
+ 0x0007b800,
+ 0x0007d000,
+ 0x0007a000,
+ 0x0007f000,
+ 0x0007f800,
+ 0x0007e000,
+ 0x00078000,
+ 0x0007e800,
+ 0x0007a800,
+ 0x00004800,
+ 0x00003000,
+ 0x00001800,
+ 0x00001000,
+ 0x00004000,
+ 0x00005800,
+ 0x00000800,
+ 0x00003800,
+ 0x00005000,
+ 0x00002000,
+ 0x00007000,
+ 0x00007800,
+ 0x00006000,
+ 0x00000000,
+ 0x00006800,
+ 0x00002800,
+ 0x0002c800,
+ 0x0002b000,
+ 0x00029800,
+ 0x00029000,
+ 0x0002c000,
+ 0x0002d800,
+ 0x00028800,
+ 0x0002b800,
+ 0x0002d000,
+ 0x0002a000,
+ 0x0002f000,
+ 0x0002f800,
+ 0x0002e000,
+ 0x00028000,
+ 0x0002e800,
+ 0x0002a800,
+ 0x00014800,
+ 0x00013000,
+ 0x00011800,
+ 0x00011000,
+ 0x00014000,
+ 0x00015800,
+ 0x00010800,
+ 0x00013800,
+ 0x00015000,
+ 0x00012000,
+ 0x00017000,
+ 0x00017800,
+ 0x00016000,
+ 0x00010000,
+ 0x00016800,
+ 0x00012800,
+ 0x00034800,
+ 0x00033000,
+ 0x00031800,
+ 0x00031000,
+ 0x00034000,
+ 0x00035800,
+ 0x00030800,
+ 0x00033800,
+ 0x00035000,
+ 0x00032000,
+ 0x00037000,
+ 0x00037800,
+ 0x00036000,
+ 0x00030000,
+ 0x00036800,
+ 0x00032800,
+ 0x00064800,
+ 0x00063000,
+ 0x00061800,
+ 0x00061000,
+ 0x00064000,
+ 0x00065800,
+ 0x00060800,
+ 0x00063800,
+ 0x00065000,
+ 0x00062000,
+ 0x00067000,
+ 0x00067800,
+ 0x00066000,
+ 0x00060000,
+ 0x00066800,
+ 0x00062800,
+ 0x0005c800,
+ 0x0005b000,
+ 0x00059800,
+ 0x00059000,
+ 0x0005c000,
+ 0x0005d800,
+ 0x00058800,
+ 0x0005b800,
+ 0x0005d000,
+ 0x0005a000,
+ 0x0005f000,
+ 0x0005f800,
+ 0x0005e000,
+ 0x00058000,
+ 0x0005e800,
+ 0x0005a800,
+ 0x00024800,
+ 0x00023000,
+ 0x00021800,
+ 0x00021000,
+ 0x00024000,
+ 0x00025800,
+ 0x00020800,
+ 0x00023800,
+ 0x00025000,
+ 0x00022000,
+ 0x00027000,
+ 0x00027800,
+ 0x00026000,
+ 0x00020000,
+ 0x00026800,
+ 0x00022800,
+ 0x0006c800,
+ 0x0006b000,
+ 0x00069800,
+ 0x00069000,
+ 0x0006c000,
+ 0x0006d800,
+ 0x00068800,
+ 0x0006b800,
+ 0x0006d000,
+ 0x0006a000,
+ 0x0006f000,
+ 0x0006f800,
+ 0x0006e000,
+ 0x00068000,
+ 0x0006e800,
+ 0x0006a800,
+ 0x0000c800,
+ 0x0000b000,
+ 0x00009800,
+ 0x00009000,
+ 0x0000c000,
+ 0x0000d800,
+ 0x00008800,
+ 0x0000b800,
+ 0x0000d000,
+ 0x0000a000,
+ 0x0000f000,
+ 0x0000f800,
+ 0x0000e000,
+ 0x00008000,
+ 0x0000e800,
+ 0x0000a800,
+ /* 1 */
+ 0x07700000,
+ 0x07200000,
+ 0x07300000,
+ 0x07100000,
+ 0x07580000,
+ 0x07180000,
+ 0x07680000,
+ 0x07400000,
+ 0x07600000,
+ 0x07780000,
+ 0x07280000,
+ 0x07500000,
+ 0x07000000,
+ 0x07380000,
+ 0x07080000,
+ 0x07480000,
+ 0x03f00000,
+ 0x03a00000,
+ 0x03b00000,
+ 0x03900000,
+ 0x03d80000,
+ 0x03980000,
+ 0x03e80000,
+ 0x03c00000,
+ 0x03e00000,
+ 0x03f80000,
+ 0x03a80000,
+ 0x03d00000,
+ 0x03800000,
+ 0x03b80000,
+ 0x03880000,
+ 0x03c80000,
+ 0x05700000,
+ 0x05200000,
+ 0x05300000,
+ 0x05100000,
+ 0x05580000,
+ 0x05180000,
+ 0x05680000,
+ 0x05400000,
+ 0x05600000,
+ 0x05780000,
+ 0x05280000,
+ 0x05500000,
+ 0x05000000,
+ 0x05380000,
+ 0x05080000,
+ 0x05480000,
+ 0x06700000,
+ 0x06200000,
+ 0x06300000,
+ 0x06100000,
+ 0x06580000,
+ 0x06180000,
+ 0x06680000,
+ 0x06400000,
+ 0x06600000,
+ 0x06780000,
+ 0x06280000,
+ 0x06500000,
+ 0x06000000,
+ 0x06380000,
+ 0x06080000,
+ 0x06480000,
+ 0x06f00000,
+ 0x06a00000,
+ 0x06b00000,
+ 0x06900000,
+ 0x06d80000,
+ 0x06980000,
+ 0x06e80000,
+ 0x06c00000,
+ 0x06e00000,
+ 0x06f80000,
+ 0x06a80000,
+ 0x06d00000,
+ 0x06800000,
+ 0x06b80000,
+ 0x06880000,
+ 0x06c80000,
+ 0x00f00000,
+ 0x00a00000,
+ 0x00b00000,
+ 0x00900000,
+ 0x00d80000,
+ 0x00980000,
+ 0x00e80000,
+ 0x00c00000,
+ 0x00e00000,
+ 0x00f80000,
+ 0x00a80000,
+ 0x00d00000,
+ 0x00800000,
+ 0x00b80000,
+ 0x00880000,
+ 0x00c80000,
+ 0x01f00000,
+ 0x01a00000,
+ 0x01b00000,
+ 0x01900000,
+ 0x01d80000,
+ 0x01980000,
+ 0x01e80000,
+ 0x01c00000,
+ 0x01e00000,
+ 0x01f80000,
+ 0x01a80000,
+ 0x01d00000,
+ 0x01800000,
+ 0x01b80000,
+ 0x01880000,
+ 0x01c80000,
+ 0x04f00000,
+ 0x04a00000,
+ 0x04b00000,
+ 0x04900000,
+ 0x04d80000,
+ 0x04980000,
+ 0x04e80000,
+ 0x04c00000,
+ 0x04e00000,
+ 0x04f80000,
+ 0x04a80000,
+ 0x04d00000,
+ 0x04800000,
+ 0x04b80000,
+ 0x04880000,
+ 0x04c80000,
+ 0x00700000,
+ 0x00200000,
+ 0x00300000,
+ 0x00100000,
+ 0x00580000,
+ 0x00180000,
+ 0x00680000,
+ 0x00400000,
+ 0x00600000,
+ 0x00780000,
+ 0x00280000,
+ 0x00500000,
+ 0x00000000,
+ 0x00380000,
+ 0x00080000,
+ 0x00480000,
+ 0x01700000,
+ 0x01200000,
+ 0x01300000,
+ 0x01100000,
+ 0x01580000,
+ 0x01180000,
+ 0x01680000,
+ 0x01400000,
+ 0x01600000,
+ 0x01780000,
+ 0x01280000,
+ 0x01500000,
+ 0x01000000,
+ 0x01380000,
+ 0x01080000,
+ 0x01480000,
+ 0x05f00000,
+ 0x05a00000,
+ 0x05b00000,
+ 0x05900000,
+ 0x05d80000,
+ 0x05980000,
+ 0x05e80000,
+ 0x05c00000,
+ 0x05e00000,
+ 0x05f80000,
+ 0x05a80000,
+ 0x05d00000,
+ 0x05800000,
+ 0x05b80000,
+ 0x05880000,
+ 0x05c80000,
+ 0x02700000,
+ 0x02200000,
+ 0x02300000,
+ 0x02100000,
+ 0x02580000,
+ 0x02180000,
+ 0x02680000,
+ 0x02400000,
+ 0x02600000,
+ 0x02780000,
+ 0x02280000,
+ 0x02500000,
+ 0x02000000,
+ 0x02380000,
+ 0x02080000,
+ 0x02480000,
+ 0x07f00000,
+ 0x07a00000,
+ 0x07b00000,
+ 0x07900000,
+ 0x07d80000,
+ 0x07980000,
+ 0x07e80000,
+ 0x07c00000,
+ 0x07e00000,
+ 0x07f80000,
+ 0x07a80000,
+ 0x07d00000,
+ 0x07800000,
+ 0x07b80000,
+ 0x07880000,
+ 0x07c80000,
+ 0x04700000,
+ 0x04200000,
+ 0x04300000,
+ 0x04100000,
+ 0x04580000,
+ 0x04180000,
+ 0x04680000,
+ 0x04400000,
+ 0x04600000,
+ 0x04780000,
+ 0x04280000,
+ 0x04500000,
+ 0x04000000,
+ 0x04380000,
+ 0x04080000,
+ 0x04480000,
+ 0x02f00000,
+ 0x02a00000,
+ 0x02b00000,
+ 0x02900000,
+ 0x02d80000,
+ 0x02980000,
+ 0x02e80000,
+ 0x02c00000,
+ 0x02e00000,
+ 0x02f80000,
+ 0x02a80000,
+ 0x02d00000,
+ 0x02800000,
+ 0x02b80000,
+ 0x02880000,
+ 0x02c80000,
+ 0x03700000,
+ 0x03200000,
+ 0x03300000,
+ 0x03100000,
+ 0x03580000,
+ 0x03180000,
+ 0x03680000,
+ 0x03400000,
+ 0x03600000,
+ 0x03780000,
+ 0x03280000,
+ 0x03500000,
+ 0x03000000,
+ 0x03380000,
+ 0x03080000,
+ 0x03480000,
+ /* 2 */
+ 0xd8000001,
+ 0xa8000001,
+ 0x88000001,
+ 0xc8000001,
+ 0xc0000001,
+ 0xe8000001,
+ 0xf8000001,
+ 0x80000001,
+ 0xf0000001,
+ 0xa0000001,
+ 0x90000001,
+ 0x98000001,
+ 0xe0000001,
+ 0xb8000001,
+ 0xd0000001,
+ 0xb0000001,
+ 0x58000005,
+ 0x28000005,
+ 0x08000005,
+ 0x48000005,
+ 0x40000005,
+ 0x68000005,
+ 0x78000005,
+ 0x00000005,
+ 0x70000005,
+ 0x20000005,
+ 0x10000005,
+ 0x18000005,
+ 0x60000005,
+ 0x38000005,
+ 0x50000005,
+ 0x30000005,
+ 0xd8000006,
+ 0xa8000006,
+ 0x88000006,
+ 0xc8000006,
+ 0xc0000006,
+ 0xe8000006,
+ 0xf8000006,
+ 0x80000006,
+ 0xf0000006,
+ 0xa0000006,
+ 0x90000006,
+ 0x98000006,
+ 0xe0000006,
+ 0xb8000006,
+ 0xd0000006,
+ 0xb0000006,
+ 0x58000006,
+ 0x28000006,
+ 0x08000006,
+ 0x48000006,
+ 0x40000006,
+ 0x68000006,
+ 0x78000006,
+ 0x00000006,
+ 0x70000006,
+ 0x20000006,
+ 0x10000006,
+ 0x18000006,
+ 0x60000006,
+ 0x38000006,
+ 0x50000006,
+ 0x30000006,
+ 0xd8000000,
+ 0xa8000000,
+ 0x88000000,
+ 0xc8000000,
+ 0xc0000000,
+ 0xe8000000,
+ 0xf8000000,
+ 0x80000000,
+ 0xf0000000,
+ 0xa0000000,
+ 0x90000000,
+ 0x98000000,
+ 0xe0000000,
+ 0xb8000000,
+ 0xd0000000,
+ 0xb0000000,
+ 0x58000001,
+ 0x28000001,
+ 0x08000001,
+ 0x48000001,
+ 0x40000001,
+ 0x68000001,
+ 0x78000001,
+ 0x00000001,
+ 0x70000001,
+ 0x20000001,
+ 0x10000001,
+ 0x18000001,
+ 0x60000001,
+ 0x38000001,
+ 0x50000001,
+ 0x30000001,
+ 0x58000000,
+ 0x28000000,
+ 0x08000000,
+ 0x48000000,
+ 0x40000000,
+ 0x68000000,
+ 0x78000000,
+ 0x00000000,
+ 0x70000000,
+ 0x20000000,
+ 0x10000000,
+ 0x18000000,
+ 0x60000000,
+ 0x38000000,
+ 0x50000000,
+ 0x30000000,
+ 0xd8000005,
+ 0xa8000005,
+ 0x88000005,
+ 0xc8000005,
+ 0xc0000005,
+ 0xe8000005,
+ 0xf8000005,
+ 0x80000005,
+ 0xf0000005,
+ 0xa0000005,
+ 0x90000005,
+ 0x98000005,
+ 0xe0000005,
+ 0xb8000005,
+ 0xd0000005,
+ 0xb0000005,
+ 0xd8000003,
+ 0xa8000003,
+ 0x88000003,
+ 0xc8000003,
+ 0xc0000003,
+ 0xe8000003,
+ 0xf8000003,
+ 0x80000003,
+ 0xf0000003,
+ 0xa0000003,
+ 0x90000003,
+ 0x98000003,
+ 0xe0000003,
+ 0xb8000003,
+ 0xd0000003,
+ 0xb0000003,
+ 0xd8000002,
+ 0xa8000002,
+ 0x88000002,
+ 0xc8000002,
+ 0xc0000002,
+ 0xe8000002,
+ 0xf8000002,
+ 0x80000002,
+ 0xf0000002,
+ 0xa0000002,
+ 0x90000002,
+ 0x98000002,
+ 0xe0000002,
+ 0xb8000002,
+ 0xd0000002,
+ 0xb0000002,
+ 0xd8000004,
+ 0xa8000004,
+ 0x88000004,
+ 0xc8000004,
+ 0xc0000004,
+ 0xe8000004,
+ 0xf8000004,
+ 0x80000004,
+ 0xf0000004,
+ 0xa0000004,
+ 0x90000004,
+ 0x98000004,
+ 0xe0000004,
+ 0xb8000004,
+ 0xd0000004,
+ 0xb0000004,
+ 0x58000002,
+ 0x28000002,
+ 0x08000002,
+ 0x48000002,
+ 0x40000002,
+ 0x68000002,
+ 0x78000002,
+ 0x00000002,
+ 0x70000002,
+ 0x20000002,
+ 0x10000002,
+ 0x18000002,
+ 0x60000002,
+ 0x38000002,
+ 0x50000002,
+ 0x30000002,
+ 0x58000004,
+ 0x28000004,
+ 0x08000004,
+ 0x48000004,
+ 0x40000004,
+ 0x68000004,
+ 0x78000004,
+ 0x00000004,
+ 0x70000004,
+ 0x20000004,
+ 0x10000004,
+ 0x18000004,
+ 0x60000004,
+ 0x38000004,
+ 0x50000004,
+ 0x30000004,
+ 0xd8000007,
+ 0xa8000007,
+ 0x88000007,
+ 0xc8000007,
+ 0xc0000007,
+ 0xe8000007,
+ 0xf8000007,
+ 0x80000007,
+ 0xf0000007,
+ 0xa0000007,
+ 0x90000007,
+ 0x98000007,
+ 0xe0000007,
+ 0xb8000007,
+ 0xd0000007,
+ 0xb0000007,
+ 0x58000007,
+ 0x28000007,
+ 0x08000007,
+ 0x48000007,
+ 0x40000007,
+ 0x68000007,
+ 0x78000007,
+ 0x00000007,
+ 0x70000007,
+ 0x20000007,
+ 0x10000007,
+ 0x18000007,
+ 0x60000007,
+ 0x38000007,
+ 0x50000007,
+ 0x30000007,
+ 0x58000003,
+ 0x28000003,
+ 0x08000003,
+ 0x48000003,
+ 0x40000003,
+ 0x68000003,
+ 0x78000003,
+ 0x00000003,
+ 0x70000003,
+ 0x20000003,
+ 0x10000003,
+ 0x18000003,
+ 0x60000003,
+ 0x38000003,
+ 0x50000003,
+ 0x30000003,
+ /* 3 */
+ 0x00000588,
+ 0x000005e8,
+ 0x00000590,
+ 0x000005c8,
+ 0x000005b8,
+ 0x000005d0,
+ 0x000005b0,
+ 0x00000580,
+ 0x000005c0,
+ 0x000005e0,
+ 0x000005a0,
+ 0x000005a8,
+ 0x000005f8,
+ 0x00000598,
+ 0x000005d8,
+ 0x000005f0,
+ 0x00000508,
+ 0x00000568,
+ 0x00000510,
+ 0x00000548,
+ 0x00000538,
+ 0x00000550,
+ 0x00000530,
+ 0x00000500,
+ 0x00000540,
+ 0x00000560,
+ 0x00000520,
+ 0x00000528,
+ 0x00000578,
+ 0x00000518,
+ 0x00000558,
+ 0x00000570,
+ 0x00000788,
+ 0x000007e8,
+ 0x00000790,
+ 0x000007c8,
+ 0x000007b8,
+ 0x000007d0,
+ 0x000007b0,
+ 0x00000780,
+ 0x000007c0,
+ 0x000007e0,
+ 0x000007a0,
+ 0x000007a8,
+ 0x000007f8,
+ 0x00000798,
+ 0x000007d8,
+ 0x000007f0,
+ 0x00000288,
+ 0x000002e8,
+ 0x00000290,
+ 0x000002c8,
+ 0x000002b8,
+ 0x000002d0,
+ 0x000002b0,
+ 0x00000280,
+ 0x000002c0,
+ 0x000002e0,
+ 0x000002a0,
+ 0x000002a8,
+ 0x000002f8,
+ 0x00000298,
+ 0x000002d8,
+ 0x000002f0,
+ 0x00000008,
+ 0x00000068,
+ 0x00000010,
+ 0x00000048,
+ 0x00000038,
+ 0x00000050,
+ 0x00000030,
+ 0x00000000,
+ 0x00000040,
+ 0x00000060,
+ 0x00000020,
+ 0x00000028,
+ 0x00000078,
+ 0x00000018,
+ 0x00000058,
+ 0x00000070,
+ 0x00000608,
+ 0x00000668,
+ 0x00000610,
+ 0x00000648,
+ 0x00000638,
+ 0x00000650,
+ 0x00000630,
+ 0x00000600,
+ 0x00000640,
+ 0x00000660,
+ 0x00000620,
+ 0x00000628,
+ 0x00000678,
+ 0x00000618,
+ 0x00000658,
+ 0x00000670,
+ 0x00000708,
+ 0x00000768,
+ 0x00000710,
+ 0x00000748,
+ 0x00000738,
+ 0x00000750,
+ 0x00000730,
+ 0x00000700,
+ 0x00000740,
+ 0x00000760,
+ 0x00000720,
+ 0x00000728,
+ 0x00000778,
+ 0x00000718,
+ 0x00000758,
+ 0x00000770,
+ 0x00000408,
+ 0x00000468,
+ 0x00000410,
+ 0x00000448,
+ 0x00000438,
+ 0x00000450,
+ 0x00000430,
+ 0x00000400,
+ 0x00000440,
+ 0x00000460,
+ 0x00000420,
+ 0x00000428,
+ 0x00000478,
+ 0x00000418,
+ 0x00000458,
+ 0x00000470,
+ 0x00000308,
+ 0x00000368,
+ 0x00000310,
+ 0x00000348,
+ 0x00000338,
+ 0x00000350,
+ 0x00000330,
+ 0x00000300,
+ 0x00000340,
+ 0x00000360,
+ 0x00000320,
+ 0x00000328,
+ 0x00000378,
+ 0x00000318,
+ 0x00000358,
+ 0x00000370,
+ 0x00000108,
+ 0x00000168,
+ 0x00000110,
+ 0x00000148,
+ 0x00000138,
+ 0x00000150,
+ 0x00000130,
+ 0x00000100,
+ 0x00000140,
+ 0x00000160,
+ 0x00000120,
+ 0x00000128,
+ 0x00000178,
+ 0x00000118,
+ 0x00000158,
+ 0x00000170,
+ 0x00000188,
+ 0x000001e8,
+ 0x00000190,
+ 0x000001c8,
+ 0x000001b8,
+ 0x000001d0,
+ 0x000001b0,
+ 0x00000180,
+ 0x000001c0,
+ 0x000001e0,
+ 0x000001a0,
+ 0x000001a8,
+ 0x000001f8,
+ 0x00000198,
+ 0x000001d8,
+ 0x000001f0,
+ 0x00000488,
+ 0x000004e8,
+ 0x00000490,
+ 0x000004c8,
+ 0x000004b8,
+ 0x000004d0,
+ 0x000004b0,
+ 0x00000480,
+ 0x000004c0,
+ 0x000004e0,
+ 0x000004a0,
+ 0x000004a8,
+ 0x000004f8,
+ 0x00000498,
+ 0x000004d8,
+ 0x000004f0,
+ 0x00000088,
+ 0x000000e8,
+ 0x00000090,
+ 0x000000c8,
+ 0x000000b8,
+ 0x000000d0,
+ 0x000000b0,
+ 0x00000080,
+ 0x000000c0,
+ 0x000000e0,
+ 0x000000a0,
+ 0x000000a8,
+ 0x000000f8,
+ 0x00000098,
+ 0x000000d8,
+ 0x000000f0,
+ 0x00000388,
+ 0x000003e8,
+ 0x00000390,
+ 0x000003c8,
+ 0x000003b8,
+ 0x000003d0,
+ 0x000003b0,
+ 0x00000380,
+ 0x000003c0,
+ 0x000003e0,
+ 0x000003a0,
+ 0x000003a8,
+ 0x000003f8,
+ 0x00000398,
+ 0x000003d8,
+ 0x000003f0,
+ 0x00000688,
+ 0x000006e8,
+ 0x00000690,
+ 0x000006c8,
+ 0x000006b8,
+ 0x000006d0,
+ 0x000006b0,
+ 0x00000680,
+ 0x000006c0,
+ 0x000006e0,
+ 0x000006a0,
+ 0x000006a8,
+ 0x000006f8,
+ 0x00000698,
+ 0x000006d8,
+ 0x000006f0,
+ 0x00000208,
+ 0x00000268,
+ 0x00000210,
+ 0x00000248,
+ 0x00000238,
+ 0x00000250,
+ 0x00000230,
+ 0x00000200,
+ 0x00000240,
+ 0x00000260,
+ 0x00000220,
+ 0x00000228,
+ 0x00000278,
+ 0x00000218,
+ 0x00000258,
+ 0x00000270,
+ } };
-const struct gost28147_param gost28147_param_CryptoPro_B = {
- 1,
- {
- /* 0 */
- 0x00004000, 0x00002000, 0x00005800, 0x00000800,
- 0x00001800, 0x00002800, 0x00000000, 0x00004800,
- 0x00001000, 0x00007000, 0x00005000, 0x00006000,
- 0x00006800, 0x00003000, 0x00003800, 0x00007800,
- 0x0000c000, 0x0000a000, 0x0000d800, 0x00008800,
- 0x00009800, 0x0000a800, 0x00008000, 0x0000c800,
- 0x00009000, 0x0000f000, 0x0000d000, 0x0000e000,
- 0x0000e800, 0x0000b000, 0x0000b800, 0x0000f800,
- 0x00014000, 0x00012000, 0x00015800, 0x00010800,
- 0x00011800, 0x00012800, 0x00010000, 0x00014800,
- 0x00011000, 0x00017000, 0x00015000, 0x00016000,
- 0x00016800, 0x00013000, 0x00013800, 0x00017800,
- 0x00054000, 0x00052000, 0x00055800, 0x00050800,
- 0x00051800, 0x00052800, 0x00050000, 0x00054800,
- 0x00051000, 0x00057000, 0x00055000, 0x00056000,
- 0x00056800, 0x00053000, 0x00053800, 0x00057800,
- 0x00024000, 0x00022000, 0x00025800, 0x00020800,
- 0x00021800, 0x00022800, 0x00020000, 0x00024800,
- 0x00021000, 0x00027000, 0x00025000, 0x00026000,
- 0x00026800, 0x00023000, 0x00023800, 0x00027800,
- 0x0006c000, 0x0006a000, 0x0006d800, 0x00068800,
- 0x00069800, 0x0006a800, 0x00068000, 0x0006c800,
- 0x00069000, 0x0006f000, 0x0006d000, 0x0006e000,
- 0x0006e800, 0x0006b000, 0x0006b800, 0x0006f800,
- 0x0002c000, 0x0002a000, 0x0002d800, 0x00028800,
- 0x00029800, 0x0002a800, 0x00028000, 0x0002c800,
- 0x00029000, 0x0002f000, 0x0002d000, 0x0002e000,
- 0x0002e800, 0x0002b000, 0x0002b800, 0x0002f800,
- 0x00064000, 0x00062000, 0x00065800, 0x00060800,
- 0x00061800, 0x00062800, 0x00060000, 0x00064800,
- 0x00061000, 0x00067000, 0x00065000, 0x00066000,
- 0x00066800, 0x00063000, 0x00063800, 0x00067800,
- 0x0004c000, 0x0004a000, 0x0004d800, 0x00048800,
- 0x00049800, 0x0004a800, 0x00048000, 0x0004c800,
- 0x00049000, 0x0004f000, 0x0004d000, 0x0004e000,
- 0x0004e800, 0x0004b000, 0x0004b800, 0x0004f800,
- 0x0003c000, 0x0003a000, 0x0003d800, 0x00038800,
- 0x00039800, 0x0003a800, 0x00038000, 0x0003c800,
- 0x00039000, 0x0003f000, 0x0003d000, 0x0003e000,
- 0x0003e800, 0x0003b000, 0x0003b800, 0x0003f800,
- 0x0001c000, 0x0001a000, 0x0001d800, 0x00018800,
- 0x00019800, 0x0001a800, 0x00018000, 0x0001c800,
- 0x00019000, 0x0001f000, 0x0001d000, 0x0001e000,
- 0x0001e800, 0x0001b000, 0x0001b800, 0x0001f800,
- 0x0007c000, 0x0007a000, 0x0007d800, 0x00078800,
- 0x00079800, 0x0007a800, 0x00078000, 0x0007c800,
- 0x00079000, 0x0007f000, 0x0007d000, 0x0007e000,
- 0x0007e800, 0x0007b000, 0x0007b800, 0x0007f800,
- 0x0005c000, 0x0005a000, 0x0005d800, 0x00058800,
- 0x00059800, 0x0005a800, 0x00058000, 0x0005c800,
- 0x00059000, 0x0005f000, 0x0005d000, 0x0005e000,
- 0x0005e800, 0x0005b000, 0x0005b800, 0x0005f800,
- 0x00044000, 0x00042000, 0x00045800, 0x00040800,
- 0x00041800, 0x00042800, 0x00040000, 0x00044800,
- 0x00041000, 0x00047000, 0x00045000, 0x00046000,
- 0x00046800, 0x00043000, 0x00043800, 0x00047800,
- 0x00034000, 0x00032000, 0x00035800, 0x00030800,
- 0x00031800, 0x00032800, 0x00030000, 0x00034800,
- 0x00031000, 0x00037000, 0x00035000, 0x00036000,
- 0x00036800, 0x00033000, 0x00033800, 0x00037800,
- 0x00074000, 0x00072000, 0x00075800, 0x00070800,
- 0x00071800, 0x00072800, 0x00070000, 0x00074800,
- 0x00071000, 0x00077000, 0x00075000, 0x00076000,
- 0x00076800, 0x00073000, 0x00073800, 0x00077800,
- /* 1 */
- 0x03f00000, 0x03e00000, 0x03800000, 0x03d00000,
- 0x03c80000, 0x03900000, 0x03e80000, 0x03d80000,
- 0x03b80000, 0x03a80000, 0x03c00000, 0x03f80000,
- 0x03980000, 0x03b00000, 0x03880000, 0x03a00000,
- 0x02f00000, 0x02e00000, 0x02800000, 0x02d00000,
- 0x02c80000, 0x02900000, 0x02e80000, 0x02d80000,
- 0x02b80000, 0x02a80000, 0x02c00000, 0x02f80000,
- 0x02980000, 0x02b00000, 0x02880000, 0x02a00000,
- 0x00700000, 0x00600000, 0x00000000, 0x00500000,
- 0x00480000, 0x00100000, 0x00680000, 0x00580000,
- 0x00380000, 0x00280000, 0x00400000, 0x00780000,
- 0x00180000, 0x00300000, 0x00080000, 0x00200000,
- 0x06f00000, 0x06e00000, 0x06800000, 0x06d00000,
- 0x06c80000, 0x06900000, 0x06e80000, 0x06d80000,
- 0x06b80000, 0x06a80000, 0x06c00000, 0x06f80000,
- 0x06980000, 0x06b00000, 0x06880000, 0x06a00000,
- 0x05f00000, 0x05e00000, 0x05800000, 0x05d00000,
- 0x05c80000, 0x05900000, 0x05e80000, 0x05d80000,
- 0x05b80000, 0x05a80000, 0x05c00000, 0x05f80000,
- 0x05980000, 0x05b00000, 0x05880000, 0x05a00000,
- 0x03700000, 0x03600000, 0x03000000, 0x03500000,
- 0x03480000, 0x03100000, 0x03680000, 0x03580000,
- 0x03380000, 0x03280000, 0x03400000, 0x03780000,
- 0x03180000, 0x03300000, 0x03080000, 0x03200000,
- 0x00f00000, 0x00e00000, 0x00800000, 0x00d00000,
- 0x00c80000, 0x00900000, 0x00e80000, 0x00d80000,
- 0x00b80000, 0x00a80000, 0x00c00000, 0x00f80000,
- 0x00980000, 0x00b00000, 0x00880000, 0x00a00000,
- 0x01700000, 0x01600000, 0x01000000, 0x01500000,
- 0x01480000, 0x01100000, 0x01680000, 0x01580000,
- 0x01380000, 0x01280000, 0x01400000, 0x01780000,
- 0x01180000, 0x01300000, 0x01080000, 0x01200000,
- 0x01f00000, 0x01e00000, 0x01800000, 0x01d00000,
- 0x01c80000, 0x01900000, 0x01e80000, 0x01d80000,
- 0x01b80000, 0x01a80000, 0x01c00000, 0x01f80000,
- 0x01980000, 0x01b00000, 0x01880000, 0x01a00000,
- 0x05700000, 0x05600000, 0x05000000, 0x05500000,
- 0x05480000, 0x05100000, 0x05680000, 0x05580000,
- 0x05380000, 0x05280000, 0x05400000, 0x05780000,
- 0x05180000, 0x05300000, 0x05080000, 0x05200000,
- 0x06700000, 0x06600000, 0x06000000, 0x06500000,
- 0x06480000, 0x06100000, 0x06680000, 0x06580000,
- 0x06380000, 0x06280000, 0x06400000, 0x06780000,
- 0x06180000, 0x06300000, 0x06080000, 0x06200000,
- 0x07f00000, 0x07e00000, 0x07800000, 0x07d00000,
- 0x07c80000, 0x07900000, 0x07e80000, 0x07d80000,
- 0x07b80000, 0x07a80000, 0x07c00000, 0x07f80000,
- 0x07980000, 0x07b00000, 0x07880000, 0x07a00000,
- 0x02700000, 0x02600000, 0x02000000, 0x02500000,
- 0x02480000, 0x02100000, 0x02680000, 0x02580000,
- 0x02380000, 0x02280000, 0x02400000, 0x02780000,
- 0x02180000, 0x02300000, 0x02080000, 0x02200000,
- 0x07700000, 0x07600000, 0x07000000, 0x07500000,
- 0x07480000, 0x07100000, 0x07680000, 0x07580000,
- 0x07380000, 0x07280000, 0x07400000, 0x07780000,
- 0x07180000, 0x07300000, 0x07080000, 0x07200000,
- 0x04f00000, 0x04e00000, 0x04800000, 0x04d00000,
- 0x04c80000, 0x04900000, 0x04e80000, 0x04d80000,
- 0x04b80000, 0x04a80000, 0x04c00000, 0x04f80000,
- 0x04980000, 0x04b00000, 0x04880000, 0x04a00000,
- 0x04700000, 0x04600000, 0x04000000, 0x04500000,
- 0x04480000, 0x04100000, 0x04680000, 0x04580000,
- 0x04380000, 0x04280000, 0x04400000, 0x04780000,
- 0x04180000, 0x04300000, 0x04080000, 0x04200000,
- /* 2 */
- 0x10000004, 0x38000004, 0x60000004, 0x78000004,
- 0x48000004, 0x28000004, 0x50000004, 0x58000004,
- 0x08000004, 0x20000004, 0x00000004, 0x68000004,
- 0x30000004, 0x40000004, 0x70000004, 0x18000004,
- 0x90000001, 0xb8000001, 0xe0000001, 0xf8000001,
- 0xc8000001, 0xa8000001, 0xd0000001, 0xd8000001,
- 0x88000001, 0xa0000001, 0x80000001, 0xe8000001,
- 0xb0000001, 0xc0000001, 0xf0000001, 0x98000001,
- 0x10000001, 0x38000001, 0x60000001, 0x78000001,
- 0x48000001, 0x28000001, 0x50000001, 0x58000001,
- 0x08000001, 0x20000001, 0x00000001, 0x68000001,
- 0x30000001, 0x40000001, 0x70000001, 0x18000001,
- 0x10000003, 0x38000003, 0x60000003, 0x78000003,
- 0x48000003, 0x28000003, 0x50000003, 0x58000003,
- 0x08000003, 0x20000003, 0x00000003, 0x68000003,
- 0x30000003, 0x40000003, 0x70000003, 0x18000003,
- 0x10000002, 0x38000002, 0x60000002, 0x78000002,
- 0x48000002, 0x28000002, 0x50000002, 0x58000002,
- 0x08000002, 0x20000002, 0x00000002, 0x68000002,
- 0x30000002, 0x40000002, 0x70000002, 0x18000002,
- 0x90000006, 0xb8000006, 0xe0000006, 0xf8000006,
- 0xc8000006, 0xa8000006, 0xd0000006, 0xd8000006,
- 0x88000006, 0xa0000006, 0x80000006, 0xe8000006,
- 0xb0000006, 0xc0000006, 0xf0000006, 0x98000006,
- 0x10000007, 0x38000007, 0x60000007, 0x78000007,
- 0x48000007, 0x28000007, 0x50000007, 0x58000007,
- 0x08000007, 0x20000007, 0x00000007, 0x68000007,
- 0x30000007, 0x40000007, 0x70000007, 0x18000007,
- 0x90000005, 0xb8000005, 0xe0000005, 0xf8000005,
- 0xc8000005, 0xa8000005, 0xd0000005, 0xd8000005,
- 0x88000005, 0xa0000005, 0x80000005, 0xe8000005,
- 0xb0000005, 0xc0000005, 0xf0000005, 0x98000005,
- 0x10000006, 0x38000006, 0x60000006, 0x78000006,
- 0x48000006, 0x28000006, 0x50000006, 0x58000006,
- 0x08000006, 0x20000006, 0x00000006, 0x68000006,
- 0x30000006, 0x40000006, 0x70000006, 0x18000006,
- 0x90000000, 0xb8000000, 0xe0000000, 0xf8000000,
- 0xc8000000, 0xa8000000, 0xd0000000, 0xd8000000,
- 0x88000000, 0xa0000000, 0x80000000, 0xe8000000,
- 0xb0000000, 0xc0000000, 0xf0000000, 0x98000000,
- 0x90000003, 0xb8000003, 0xe0000003, 0xf8000003,
- 0xc8000003, 0xa8000003, 0xd0000003, 0xd8000003,
- 0x88000003, 0xa0000003, 0x80000003, 0xe8000003,
- 0xb0000003, 0xc0000003, 0xf0000003, 0x98000003,
- 0x90000007, 0xb8000007, 0xe0000007, 0xf8000007,
- 0xc8000007, 0xa8000007, 0xd0000007, 0xd8000007,
- 0x88000007, 0xa0000007, 0x80000007, 0xe8000007,
- 0xb0000007, 0xc0000007, 0xf0000007, 0x98000007,
- 0x10000005, 0x38000005, 0x60000005, 0x78000005,
- 0x48000005, 0x28000005, 0x50000005, 0x58000005,
- 0x08000005, 0x20000005, 0x00000005, 0x68000005,
- 0x30000005, 0x40000005, 0x70000005, 0x18000005,
- 0x10000000, 0x38000000, 0x60000000, 0x78000000,
- 0x48000000, 0x28000000, 0x50000000, 0x58000000,
- 0x08000000, 0x20000000, 0x00000000, 0x68000000,
- 0x30000000, 0x40000000, 0x70000000, 0x18000000,
- 0x90000004, 0xb8000004, 0xe0000004, 0xf8000004,
- 0xc8000004, 0xa8000004, 0xd0000004, 0xd8000004,
- 0x88000004, 0xa0000004, 0x80000004, 0xe8000004,
- 0xb0000004, 0xc0000004, 0xf0000004, 0x98000004,
- 0x90000002, 0xb8000002, 0xe0000002, 0xf8000002,
- 0xc8000002, 0xa8000002, 0xd0000002, 0xd8000002,
- 0x88000002, 0xa0000002, 0x80000002, 0xe8000002,
- 0xb0000002, 0xc0000002, 0xf0000002, 0x98000002,
- /* 3 */
- 0x00000028, 0x00000010, 0x00000050, 0x00000058,
- 0x00000048, 0x00000008, 0x00000060, 0x00000018,
- 0x00000038, 0x00000020, 0x00000068, 0x00000000,
- 0x00000030, 0x00000078, 0x00000040, 0x00000070,
- 0x00000228, 0x00000210, 0x00000250, 0x00000258,
- 0x00000248, 0x00000208, 0x00000260, 0x00000218,
- 0x00000238, 0x00000220, 0x00000268, 0x00000200,
- 0x00000230, 0x00000278, 0x00000240, 0x00000270,
- 0x000005a8, 0x00000590, 0x000005d0, 0x000005d8,
- 0x000005c8, 0x00000588, 0x000005e0, 0x00000598,
- 0x000005b8, 0x000005a0, 0x000005e8, 0x00000580,
- 0x000005b0, 0x000005f8, 0x000005c0, 0x000005f0,
- 0x00000728, 0x00000710, 0x00000750, 0x00000758,
- 0x00000748, 0x00000708, 0x00000760, 0x00000718,
- 0x00000738, 0x00000720, 0x00000768, 0x00000700,
- 0x00000730, 0x00000778, 0x00000740, 0x00000770,
- 0x00000428, 0x00000410, 0x00000450, 0x00000458,
- 0x00000448, 0x00000408, 0x00000460, 0x00000418,
- 0x00000438, 0x00000420, 0x00000468, 0x00000400,
- 0x00000430, 0x00000478, 0x00000440, 0x00000470,
- 0x000001a8, 0x00000190, 0x000001d0, 0x000001d8,
- 0x000001c8, 0x00000188, 0x000001e0, 0x00000198,
- 0x000001b8, 0x000001a0, 0x000001e8, 0x00000180,
- 0x000001b0, 0x000001f8, 0x000001c0, 0x000001f0,
- 0x000003a8, 0x00000390, 0x000003d0, 0x000003d8,
- 0x000003c8, 0x00000388, 0x000003e0, 0x00000398,
- 0x000003b8, 0x000003a0, 0x000003e8, 0x00000380,
- 0x000003b0, 0x000003f8, 0x000003c0, 0x000003f0,
- 0x000000a8, 0x00000090, 0x000000d0, 0x000000d8,
- 0x000000c8, 0x00000088, 0x000000e0, 0x00000098,
- 0x000000b8, 0x000000a0, 0x000000e8, 0x00000080,
- 0x000000b0, 0x000000f8, 0x000000c0, 0x000000f0,
- 0x00000528, 0x00000510, 0x00000550, 0x00000558,
- 0x00000548, 0x00000508, 0x00000560, 0x00000518,
- 0x00000538, 0x00000520, 0x00000568, 0x00000500,
- 0x00000530, 0x00000578, 0x00000540, 0x00000570,
- 0x00000128, 0x00000110, 0x00000150, 0x00000158,
- 0x00000148, 0x00000108, 0x00000160, 0x00000118,
- 0x00000138, 0x00000120, 0x00000168, 0x00000100,
- 0x00000130, 0x00000178, 0x00000140, 0x00000170,
- 0x000004a8, 0x00000490, 0x000004d0, 0x000004d8,
- 0x000004c8, 0x00000488, 0x000004e0, 0x00000498,
- 0x000004b8, 0x000004a0, 0x000004e8, 0x00000480,
- 0x000004b0, 0x000004f8, 0x000004c0, 0x000004f0,
- 0x00000328, 0x00000310, 0x00000350, 0x00000358,
- 0x00000348, 0x00000308, 0x00000360, 0x00000318,
- 0x00000338, 0x00000320, 0x00000368, 0x00000300,
- 0x00000330, 0x00000378, 0x00000340, 0x00000370,
- 0x000007a8, 0x00000790, 0x000007d0, 0x000007d8,
- 0x000007c8, 0x00000788, 0x000007e0, 0x00000798,
- 0x000007b8, 0x000007a0, 0x000007e8, 0x00000780,
- 0x000007b0, 0x000007f8, 0x000007c0, 0x000007f0,
- 0x000006a8, 0x00000690, 0x000006d0, 0x000006d8,
- 0x000006c8, 0x00000688, 0x000006e0, 0x00000698,
- 0x000006b8, 0x000006a0, 0x000006e8, 0x00000680,
- 0x000006b0, 0x000006f8, 0x000006c0, 0x000006f0,
- 0x000002a8, 0x00000290, 0x000002d0, 0x000002d8,
- 0x000002c8, 0x00000288, 0x000002e0, 0x00000298,
- 0x000002b8, 0x000002a0, 0x000002e8, 0x00000280,
- 0x000002b0, 0x000002f8, 0x000002c0, 0x000002f0,
- 0x00000628, 0x00000610, 0x00000650, 0x00000658,
- 0x00000648, 0x00000608, 0x00000660, 0x00000618,
- 0x00000638, 0x00000620, 0x00000668, 0x00000600,
- 0x00000630, 0x00000678, 0x00000640, 0x00000670,
- }
-};
+const struct gost28147_param gost28147_param_CryptoPro_B = { 1,
+ {
+ /* 0 */
+ 0x00004000,
+ 0x00002000,
+ 0x00005800,
+ 0x00000800,
+ 0x00001800,
+ 0x00002800,
+ 0x00000000,
+ 0x00004800,
+ 0x00001000,
+ 0x00007000,
+ 0x00005000,
+ 0x00006000,
+ 0x00006800,
+ 0x00003000,
+ 0x00003800,
+ 0x00007800,
+ 0x0000c000,
+ 0x0000a000,
+ 0x0000d800,
+ 0x00008800,
+ 0x00009800,
+ 0x0000a800,
+ 0x00008000,
+ 0x0000c800,
+ 0x00009000,
+ 0x0000f000,
+ 0x0000d000,
+ 0x0000e000,
+ 0x0000e800,
+ 0x0000b000,
+ 0x0000b800,
+ 0x0000f800,
+ 0x00014000,
+ 0x00012000,
+ 0x00015800,
+ 0x00010800,
+ 0x00011800,
+ 0x00012800,
+ 0x00010000,
+ 0x00014800,
+ 0x00011000,
+ 0x00017000,
+ 0x00015000,
+ 0x00016000,
+ 0x00016800,
+ 0x00013000,
+ 0x00013800,
+ 0x00017800,
+ 0x00054000,
+ 0x00052000,
+ 0x00055800,
+ 0x00050800,
+ 0x00051800,
+ 0x00052800,
+ 0x00050000,
+ 0x00054800,
+ 0x00051000,
+ 0x00057000,
+ 0x00055000,
+ 0x00056000,
+ 0x00056800,
+ 0x00053000,
+ 0x00053800,
+ 0x00057800,
+ 0x00024000,
+ 0x00022000,
+ 0x00025800,
+ 0x00020800,
+ 0x00021800,
+ 0x00022800,
+ 0x00020000,
+ 0x00024800,
+ 0x00021000,
+ 0x00027000,
+ 0x00025000,
+ 0x00026000,
+ 0x00026800,
+ 0x00023000,
+ 0x00023800,
+ 0x00027800,
+ 0x0006c000,
+ 0x0006a000,
+ 0x0006d800,
+ 0x00068800,
+ 0x00069800,
+ 0x0006a800,
+ 0x00068000,
+ 0x0006c800,
+ 0x00069000,
+ 0x0006f000,
+ 0x0006d000,
+ 0x0006e000,
+ 0x0006e800,
+ 0x0006b000,
+ 0x0006b800,
+ 0x0006f800,
+ 0x0002c000,
+ 0x0002a000,
+ 0x0002d800,
+ 0x00028800,
+ 0x00029800,
+ 0x0002a800,
+ 0x00028000,
+ 0x0002c800,
+ 0x00029000,
+ 0x0002f000,
+ 0x0002d000,
+ 0x0002e000,
+ 0x0002e800,
+ 0x0002b000,
+ 0x0002b800,
+ 0x0002f800,
+ 0x00064000,
+ 0x00062000,
+ 0x00065800,
+ 0x00060800,
+ 0x00061800,
+ 0x00062800,
+ 0x00060000,
+ 0x00064800,
+ 0x00061000,
+ 0x00067000,
+ 0x00065000,
+ 0x00066000,
+ 0x00066800,
+ 0x00063000,
+ 0x00063800,
+ 0x00067800,
+ 0x0004c000,
+ 0x0004a000,
+ 0x0004d800,
+ 0x00048800,
+ 0x00049800,
+ 0x0004a800,
+ 0x00048000,
+ 0x0004c800,
+ 0x00049000,
+ 0x0004f000,
+ 0x0004d000,
+ 0x0004e000,
+ 0x0004e800,
+ 0x0004b000,
+ 0x0004b800,
+ 0x0004f800,
+ 0x0003c000,
+ 0x0003a000,
+ 0x0003d800,
+ 0x00038800,
+ 0x00039800,
+ 0x0003a800,
+ 0x00038000,
+ 0x0003c800,
+ 0x00039000,
+ 0x0003f000,
+ 0x0003d000,
+ 0x0003e000,
+ 0x0003e800,
+ 0x0003b000,
+ 0x0003b800,
+ 0x0003f800,
+ 0x0001c000,
+ 0x0001a000,
+ 0x0001d800,
+ 0x00018800,
+ 0x00019800,
+ 0x0001a800,
+ 0x00018000,
+ 0x0001c800,
+ 0x00019000,
+ 0x0001f000,
+ 0x0001d000,
+ 0x0001e000,
+ 0x0001e800,
+ 0x0001b000,
+ 0x0001b800,
+ 0x0001f800,
+ 0x0007c000,
+ 0x0007a000,
+ 0x0007d800,
+ 0x00078800,
+ 0x00079800,
+ 0x0007a800,
+ 0x00078000,
+ 0x0007c800,
+ 0x00079000,
+ 0x0007f000,
+ 0x0007d000,
+ 0x0007e000,
+ 0x0007e800,
+ 0x0007b000,
+ 0x0007b800,
+ 0x0007f800,
+ 0x0005c000,
+ 0x0005a000,
+ 0x0005d800,
+ 0x00058800,
+ 0x00059800,
+ 0x0005a800,
+ 0x00058000,
+ 0x0005c800,
+ 0x00059000,
+ 0x0005f000,
+ 0x0005d000,
+ 0x0005e000,
+ 0x0005e800,
+ 0x0005b000,
+ 0x0005b800,
+ 0x0005f800,
+ 0x00044000,
+ 0x00042000,
+ 0x00045800,
+ 0x00040800,
+ 0x00041800,
+ 0x00042800,
+ 0x00040000,
+ 0x00044800,
+ 0x00041000,
+ 0x00047000,
+ 0x00045000,
+ 0x00046000,
+ 0x00046800,
+ 0x00043000,
+ 0x00043800,
+ 0x00047800,
+ 0x00034000,
+ 0x00032000,
+ 0x00035800,
+ 0x00030800,
+ 0x00031800,
+ 0x00032800,
+ 0x00030000,
+ 0x00034800,
+ 0x00031000,
+ 0x00037000,
+ 0x00035000,
+ 0x00036000,
+ 0x00036800,
+ 0x00033000,
+ 0x00033800,
+ 0x00037800,
+ 0x00074000,
+ 0x00072000,
+ 0x00075800,
+ 0x00070800,
+ 0x00071800,
+ 0x00072800,
+ 0x00070000,
+ 0x00074800,
+ 0x00071000,
+ 0x00077000,
+ 0x00075000,
+ 0x00076000,
+ 0x00076800,
+ 0x00073000,
+ 0x00073800,
+ 0x00077800,
+ /* 1 */
+ 0x03f00000,
+ 0x03e00000,
+ 0x03800000,
+ 0x03d00000,
+ 0x03c80000,
+ 0x03900000,
+ 0x03e80000,
+ 0x03d80000,
+ 0x03b80000,
+ 0x03a80000,
+ 0x03c00000,
+ 0x03f80000,
+ 0x03980000,
+ 0x03b00000,
+ 0x03880000,
+ 0x03a00000,
+ 0x02f00000,
+ 0x02e00000,
+ 0x02800000,
+ 0x02d00000,
+ 0x02c80000,
+ 0x02900000,
+ 0x02e80000,
+ 0x02d80000,
+ 0x02b80000,
+ 0x02a80000,
+ 0x02c00000,
+ 0x02f80000,
+ 0x02980000,
+ 0x02b00000,
+ 0x02880000,
+ 0x02a00000,
+ 0x00700000,
+ 0x00600000,
+ 0x00000000,
+ 0x00500000,
+ 0x00480000,
+ 0x00100000,
+ 0x00680000,
+ 0x00580000,
+ 0x00380000,
+ 0x00280000,
+ 0x00400000,
+ 0x00780000,
+ 0x00180000,
+ 0x00300000,
+ 0x00080000,
+ 0x00200000,
+ 0x06f00000,
+ 0x06e00000,
+ 0x06800000,
+ 0x06d00000,
+ 0x06c80000,
+ 0x06900000,
+ 0x06e80000,
+ 0x06d80000,
+ 0x06b80000,
+ 0x06a80000,
+ 0x06c00000,
+ 0x06f80000,
+ 0x06980000,
+ 0x06b00000,
+ 0x06880000,
+ 0x06a00000,
+ 0x05f00000,
+ 0x05e00000,
+ 0x05800000,
+ 0x05d00000,
+ 0x05c80000,
+ 0x05900000,
+ 0x05e80000,
+ 0x05d80000,
+ 0x05b80000,
+ 0x05a80000,
+ 0x05c00000,
+ 0x05f80000,
+ 0x05980000,
+ 0x05b00000,
+ 0x05880000,
+ 0x05a00000,
+ 0x03700000,
+ 0x03600000,
+ 0x03000000,
+ 0x03500000,
+ 0x03480000,
+ 0x03100000,
+ 0x03680000,
+ 0x03580000,
+ 0x03380000,
+ 0x03280000,
+ 0x03400000,
+ 0x03780000,
+ 0x03180000,
+ 0x03300000,
+ 0x03080000,
+ 0x03200000,
+ 0x00f00000,
+ 0x00e00000,
+ 0x00800000,
+ 0x00d00000,
+ 0x00c80000,
+ 0x00900000,
+ 0x00e80000,
+ 0x00d80000,
+ 0x00b80000,
+ 0x00a80000,
+ 0x00c00000,
+ 0x00f80000,
+ 0x00980000,
+ 0x00b00000,
+ 0x00880000,
+ 0x00a00000,
+ 0x01700000,
+ 0x01600000,
+ 0x01000000,
+ 0x01500000,
+ 0x01480000,
+ 0x01100000,
+ 0x01680000,
+ 0x01580000,
+ 0x01380000,
+ 0x01280000,
+ 0x01400000,
+ 0x01780000,
+ 0x01180000,
+ 0x01300000,
+ 0x01080000,
+ 0x01200000,
+ 0x01f00000,
+ 0x01e00000,
+ 0x01800000,
+ 0x01d00000,
+ 0x01c80000,
+ 0x01900000,
+ 0x01e80000,
+ 0x01d80000,
+ 0x01b80000,
+ 0x01a80000,
+ 0x01c00000,
+ 0x01f80000,
+ 0x01980000,
+ 0x01b00000,
+ 0x01880000,
+ 0x01a00000,
+ 0x05700000,
+ 0x05600000,
+ 0x05000000,
+ 0x05500000,
+ 0x05480000,
+ 0x05100000,
+ 0x05680000,
+ 0x05580000,
+ 0x05380000,
+ 0x05280000,
+ 0x05400000,
+ 0x05780000,
+ 0x05180000,
+ 0x05300000,
+ 0x05080000,
+ 0x05200000,
+ 0x06700000,
+ 0x06600000,
+ 0x06000000,
+ 0x06500000,
+ 0x06480000,
+ 0x06100000,
+ 0x06680000,
+ 0x06580000,
+ 0x06380000,
+ 0x06280000,
+ 0x06400000,
+ 0x06780000,
+ 0x06180000,
+ 0x06300000,
+ 0x06080000,
+ 0x06200000,
+ 0x07f00000,
+ 0x07e00000,
+ 0x07800000,
+ 0x07d00000,
+ 0x07c80000,
+ 0x07900000,
+ 0x07e80000,
+ 0x07d80000,
+ 0x07b80000,
+ 0x07a80000,
+ 0x07c00000,
+ 0x07f80000,
+ 0x07980000,
+ 0x07b00000,
+ 0x07880000,
+ 0x07a00000,
+ 0x02700000,
+ 0x02600000,
+ 0x02000000,
+ 0x02500000,
+ 0x02480000,
+ 0x02100000,
+ 0x02680000,
+ 0x02580000,
+ 0x02380000,
+ 0x02280000,
+ 0x02400000,
+ 0x02780000,
+ 0x02180000,
+ 0x02300000,
+ 0x02080000,
+ 0x02200000,
+ 0x07700000,
+ 0x07600000,
+ 0x07000000,
+ 0x07500000,
+ 0x07480000,
+ 0x07100000,
+ 0x07680000,
+ 0x07580000,
+ 0x07380000,
+ 0x07280000,
+ 0x07400000,
+ 0x07780000,
+ 0x07180000,
+ 0x07300000,
+ 0x07080000,
+ 0x07200000,
+ 0x04f00000,
+ 0x04e00000,
+ 0x04800000,
+ 0x04d00000,
+ 0x04c80000,
+ 0x04900000,
+ 0x04e80000,
+ 0x04d80000,
+ 0x04b80000,
+ 0x04a80000,
+ 0x04c00000,
+ 0x04f80000,
+ 0x04980000,
+ 0x04b00000,
+ 0x04880000,
+ 0x04a00000,
+ 0x04700000,
+ 0x04600000,
+ 0x04000000,
+ 0x04500000,
+ 0x04480000,
+ 0x04100000,
+ 0x04680000,
+ 0x04580000,
+ 0x04380000,
+ 0x04280000,
+ 0x04400000,
+ 0x04780000,
+ 0x04180000,
+ 0x04300000,
+ 0x04080000,
+ 0x04200000,
+ /* 2 */
+ 0x10000004,
+ 0x38000004,
+ 0x60000004,
+ 0x78000004,
+ 0x48000004,
+ 0x28000004,
+ 0x50000004,
+ 0x58000004,
+ 0x08000004,
+ 0x20000004,
+ 0x00000004,
+ 0x68000004,
+ 0x30000004,
+ 0x40000004,
+ 0x70000004,
+ 0x18000004,
+ 0x90000001,
+ 0xb8000001,
+ 0xe0000001,
+ 0xf8000001,
+ 0xc8000001,
+ 0xa8000001,
+ 0xd0000001,
+ 0xd8000001,
+ 0x88000001,
+ 0xa0000001,
+ 0x80000001,
+ 0xe8000001,
+ 0xb0000001,
+ 0xc0000001,
+ 0xf0000001,
+ 0x98000001,
+ 0x10000001,
+ 0x38000001,
+ 0x60000001,
+ 0x78000001,
+ 0x48000001,
+ 0x28000001,
+ 0x50000001,
+ 0x58000001,
+ 0x08000001,
+ 0x20000001,
+ 0x00000001,
+ 0x68000001,
+ 0x30000001,
+ 0x40000001,
+ 0x70000001,
+ 0x18000001,
+ 0x10000003,
+ 0x38000003,
+ 0x60000003,
+ 0x78000003,
+ 0x48000003,
+ 0x28000003,
+ 0x50000003,
+ 0x58000003,
+ 0x08000003,
+ 0x20000003,
+ 0x00000003,
+ 0x68000003,
+ 0x30000003,
+ 0x40000003,
+ 0x70000003,
+ 0x18000003,
+ 0x10000002,
+ 0x38000002,
+ 0x60000002,
+ 0x78000002,
+ 0x48000002,
+ 0x28000002,
+ 0x50000002,
+ 0x58000002,
+ 0x08000002,
+ 0x20000002,
+ 0x00000002,
+ 0x68000002,
+ 0x30000002,
+ 0x40000002,
+ 0x70000002,
+ 0x18000002,
+ 0x90000006,
+ 0xb8000006,
+ 0xe0000006,
+ 0xf8000006,
+ 0xc8000006,
+ 0xa8000006,
+ 0xd0000006,
+ 0xd8000006,
+ 0x88000006,
+ 0xa0000006,
+ 0x80000006,
+ 0xe8000006,
+ 0xb0000006,
+ 0xc0000006,
+ 0xf0000006,
+ 0x98000006,
+ 0x10000007,
+ 0x38000007,
+ 0x60000007,
+ 0x78000007,
+ 0x48000007,
+ 0x28000007,
+ 0x50000007,
+ 0x58000007,
+ 0x08000007,
+ 0x20000007,
+ 0x00000007,
+ 0x68000007,
+ 0x30000007,
+ 0x40000007,
+ 0x70000007,
+ 0x18000007,
+ 0x90000005,
+ 0xb8000005,
+ 0xe0000005,
+ 0xf8000005,
+ 0xc8000005,
+ 0xa8000005,
+ 0xd0000005,
+ 0xd8000005,
+ 0x88000005,
+ 0xa0000005,
+ 0x80000005,
+ 0xe8000005,
+ 0xb0000005,
+ 0xc0000005,
+ 0xf0000005,
+ 0x98000005,
+ 0x10000006,
+ 0x38000006,
+ 0x60000006,
+ 0x78000006,
+ 0x48000006,
+ 0x28000006,
+ 0x50000006,
+ 0x58000006,
+ 0x08000006,
+ 0x20000006,
+ 0x00000006,
+ 0x68000006,
+ 0x30000006,
+ 0x40000006,
+ 0x70000006,
+ 0x18000006,
+ 0x90000000,
+ 0xb8000000,
+ 0xe0000000,
+ 0xf8000000,
+ 0xc8000000,
+ 0xa8000000,
+ 0xd0000000,
+ 0xd8000000,
+ 0x88000000,
+ 0xa0000000,
+ 0x80000000,
+ 0xe8000000,
+ 0xb0000000,
+ 0xc0000000,
+ 0xf0000000,
+ 0x98000000,
+ 0x90000003,
+ 0xb8000003,
+ 0xe0000003,
+ 0xf8000003,
+ 0xc8000003,
+ 0xa8000003,
+ 0xd0000003,
+ 0xd8000003,
+ 0x88000003,
+ 0xa0000003,
+ 0x80000003,
+ 0xe8000003,
+ 0xb0000003,
+ 0xc0000003,
+ 0xf0000003,
+ 0x98000003,
+ 0x90000007,
+ 0xb8000007,
+ 0xe0000007,
+ 0xf8000007,
+ 0xc8000007,
+ 0xa8000007,
+ 0xd0000007,
+ 0xd8000007,
+ 0x88000007,
+ 0xa0000007,
+ 0x80000007,
+ 0xe8000007,
+ 0xb0000007,
+ 0xc0000007,
+ 0xf0000007,
+ 0x98000007,
+ 0x10000005,
+ 0x38000005,
+ 0x60000005,
+ 0x78000005,
+ 0x48000005,
+ 0x28000005,
+ 0x50000005,
+ 0x58000005,
+ 0x08000005,
+ 0x20000005,
+ 0x00000005,
+ 0x68000005,
+ 0x30000005,
+ 0x40000005,
+ 0x70000005,
+ 0x18000005,
+ 0x10000000,
+ 0x38000000,
+ 0x60000000,
+ 0x78000000,
+ 0x48000000,
+ 0x28000000,
+ 0x50000000,
+ 0x58000000,
+ 0x08000000,
+ 0x20000000,
+ 0x00000000,
+ 0x68000000,
+ 0x30000000,
+ 0x40000000,
+ 0x70000000,
+ 0x18000000,
+ 0x90000004,
+ 0xb8000004,
+ 0xe0000004,
+ 0xf8000004,
+ 0xc8000004,
+ 0xa8000004,
+ 0xd0000004,
+ 0xd8000004,
+ 0x88000004,
+ 0xa0000004,
+ 0x80000004,
+ 0xe8000004,
+ 0xb0000004,
+ 0xc0000004,
+ 0xf0000004,
+ 0x98000004,
+ 0x90000002,
+ 0xb8000002,
+ 0xe0000002,
+ 0xf8000002,
+ 0xc8000002,
+ 0xa8000002,
+ 0xd0000002,
+ 0xd8000002,
+ 0x88000002,
+ 0xa0000002,
+ 0x80000002,
+ 0xe8000002,
+ 0xb0000002,
+ 0xc0000002,
+ 0xf0000002,
+ 0x98000002,
+ /* 3 */
+ 0x00000028,
+ 0x00000010,
+ 0x00000050,
+ 0x00000058,
+ 0x00000048,
+ 0x00000008,
+ 0x00000060,
+ 0x00000018,
+ 0x00000038,
+ 0x00000020,
+ 0x00000068,
+ 0x00000000,
+ 0x00000030,
+ 0x00000078,
+ 0x00000040,
+ 0x00000070,
+ 0x00000228,
+ 0x00000210,
+ 0x00000250,
+ 0x00000258,
+ 0x00000248,
+ 0x00000208,
+ 0x00000260,
+ 0x00000218,
+ 0x00000238,
+ 0x00000220,
+ 0x00000268,
+ 0x00000200,
+ 0x00000230,
+ 0x00000278,
+ 0x00000240,
+ 0x00000270,
+ 0x000005a8,
+ 0x00000590,
+ 0x000005d0,
+ 0x000005d8,
+ 0x000005c8,
+ 0x00000588,
+ 0x000005e0,
+ 0x00000598,
+ 0x000005b8,
+ 0x000005a0,
+ 0x000005e8,
+ 0x00000580,
+ 0x000005b0,
+ 0x000005f8,
+ 0x000005c0,
+ 0x000005f0,
+ 0x00000728,
+ 0x00000710,
+ 0x00000750,
+ 0x00000758,
+ 0x00000748,
+ 0x00000708,
+ 0x00000760,
+ 0x00000718,
+ 0x00000738,
+ 0x00000720,
+ 0x00000768,
+ 0x00000700,
+ 0x00000730,
+ 0x00000778,
+ 0x00000740,
+ 0x00000770,
+ 0x00000428,
+ 0x00000410,
+ 0x00000450,
+ 0x00000458,
+ 0x00000448,
+ 0x00000408,
+ 0x00000460,
+ 0x00000418,
+ 0x00000438,
+ 0x00000420,
+ 0x00000468,
+ 0x00000400,
+ 0x00000430,
+ 0x00000478,
+ 0x00000440,
+ 0x00000470,
+ 0x000001a8,
+ 0x00000190,
+ 0x000001d0,
+ 0x000001d8,
+ 0x000001c8,
+ 0x00000188,
+ 0x000001e0,
+ 0x00000198,
+ 0x000001b8,
+ 0x000001a0,
+ 0x000001e8,
+ 0x00000180,
+ 0x000001b0,
+ 0x000001f8,
+ 0x000001c0,
+ 0x000001f0,
+ 0x000003a8,
+ 0x00000390,
+ 0x000003d0,
+ 0x000003d8,
+ 0x000003c8,
+ 0x00000388,
+ 0x000003e0,
+ 0x00000398,
+ 0x000003b8,
+ 0x000003a0,
+ 0x000003e8,
+ 0x00000380,
+ 0x000003b0,
+ 0x000003f8,
+ 0x000003c0,
+ 0x000003f0,
+ 0x000000a8,
+ 0x00000090,
+ 0x000000d0,
+ 0x000000d8,
+ 0x000000c8,
+ 0x00000088,
+ 0x000000e0,
+ 0x00000098,
+ 0x000000b8,
+ 0x000000a0,
+ 0x000000e8,
+ 0x00000080,
+ 0x000000b0,
+ 0x000000f8,
+ 0x000000c0,
+ 0x000000f0,
+ 0x00000528,
+ 0x00000510,
+ 0x00000550,
+ 0x00000558,
+ 0x00000548,
+ 0x00000508,
+ 0x00000560,
+ 0x00000518,
+ 0x00000538,
+ 0x00000520,
+ 0x00000568,
+ 0x00000500,
+ 0x00000530,
+ 0x00000578,
+ 0x00000540,
+ 0x00000570,
+ 0x00000128,
+ 0x00000110,
+ 0x00000150,
+ 0x00000158,
+ 0x00000148,
+ 0x00000108,
+ 0x00000160,
+ 0x00000118,
+ 0x00000138,
+ 0x00000120,
+ 0x00000168,
+ 0x00000100,
+ 0x00000130,
+ 0x00000178,
+ 0x00000140,
+ 0x00000170,
+ 0x000004a8,
+ 0x00000490,
+ 0x000004d0,
+ 0x000004d8,
+ 0x000004c8,
+ 0x00000488,
+ 0x000004e0,
+ 0x00000498,
+ 0x000004b8,
+ 0x000004a0,
+ 0x000004e8,
+ 0x00000480,
+ 0x000004b0,
+ 0x000004f8,
+ 0x000004c0,
+ 0x000004f0,
+ 0x00000328,
+ 0x00000310,
+ 0x00000350,
+ 0x00000358,
+ 0x00000348,
+ 0x00000308,
+ 0x00000360,
+ 0x00000318,
+ 0x00000338,
+ 0x00000320,
+ 0x00000368,
+ 0x00000300,
+ 0x00000330,
+ 0x00000378,
+ 0x00000340,
+ 0x00000370,
+ 0x000007a8,
+ 0x00000790,
+ 0x000007d0,
+ 0x000007d8,
+ 0x000007c8,
+ 0x00000788,
+ 0x000007e0,
+ 0x00000798,
+ 0x000007b8,
+ 0x000007a0,
+ 0x000007e8,
+ 0x00000780,
+ 0x000007b0,
+ 0x000007f8,
+ 0x000007c0,
+ 0x000007f0,
+ 0x000006a8,
+ 0x00000690,
+ 0x000006d0,
+ 0x000006d8,
+ 0x000006c8,
+ 0x00000688,
+ 0x000006e0,
+ 0x00000698,
+ 0x000006b8,
+ 0x000006a0,
+ 0x000006e8,
+ 0x00000680,
+ 0x000006b0,
+ 0x000006f8,
+ 0x000006c0,
+ 0x000006f0,
+ 0x000002a8,
+ 0x00000290,
+ 0x000002d0,
+ 0x000002d8,
+ 0x000002c8,
+ 0x00000288,
+ 0x000002e0,
+ 0x00000298,
+ 0x000002b8,
+ 0x000002a0,
+ 0x000002e8,
+ 0x00000280,
+ 0x000002b0,
+ 0x000002f8,
+ 0x000002c0,
+ 0x000002f0,
+ 0x00000628,
+ 0x00000610,
+ 0x00000650,
+ 0x00000658,
+ 0x00000648,
+ 0x00000608,
+ 0x00000660,
+ 0x00000618,
+ 0x00000638,
+ 0x00000620,
+ 0x00000668,
+ 0x00000600,
+ 0x00000630,
+ 0x00000678,
+ 0x00000640,
+ 0x00000670,
+ } };
-const struct gost28147_param gost28147_param_CryptoPro_C = {
- 1,
- {
- /* 0 */
- 0x00000800, 0x00005800, 0x00006000, 0x00001000,
- 0x00004800, 0x00006800, 0x00000000, 0x00007800,
- 0x00002000, 0x00002800, 0x00004000, 0x00007000,
- 0x00005000, 0x00003800, 0x00003000, 0x00001800,
- 0x00008800, 0x0000d800, 0x0000e000, 0x00009000,
- 0x0000c800, 0x0000e800, 0x00008000, 0x0000f800,
- 0x0000a000, 0x0000a800, 0x0000c000, 0x0000f000,
- 0x0000d000, 0x0000b800, 0x0000b000, 0x00009800,
- 0x00038800, 0x0003d800, 0x0003e000, 0x00039000,
- 0x0003c800, 0x0003e800, 0x00038000, 0x0003f800,
- 0x0003a000, 0x0003a800, 0x0003c000, 0x0003f000,
- 0x0003d000, 0x0003b800, 0x0003b000, 0x00039800,
- 0x00068800, 0x0006d800, 0x0006e000, 0x00069000,
- 0x0006c800, 0x0006e800, 0x00068000, 0x0006f800,
- 0x0006a000, 0x0006a800, 0x0006c000, 0x0006f000,
- 0x0006d000, 0x0006b800, 0x0006b000, 0x00069800,
- 0x00058800, 0x0005d800, 0x0005e000, 0x00059000,
- 0x0005c800, 0x0005e800, 0x00058000, 0x0005f800,
- 0x0005a000, 0x0005a800, 0x0005c000, 0x0005f000,
- 0x0005d000, 0x0005b800, 0x0005b000, 0x00059800,
- 0x00020800, 0x00025800, 0x00026000, 0x00021000,
- 0x00024800, 0x00026800, 0x00020000, 0x00027800,
- 0x00022000, 0x00022800, 0x00024000, 0x00027000,
- 0x00025000, 0x00023800, 0x00023000, 0x00021800,
- 0x00028800, 0x0002d800, 0x0002e000, 0x00029000,
- 0x0002c800, 0x0002e800, 0x00028000, 0x0002f800,
- 0x0002a000, 0x0002a800, 0x0002c000, 0x0002f000,
- 0x0002d000, 0x0002b800, 0x0002b000, 0x00029800,
- 0x00010800, 0x00015800, 0x00016000, 0x00011000,
- 0x00014800, 0x00016800, 0x00010000, 0x00017800,
- 0x00012000, 0x00012800, 0x00014000, 0x00017000,
- 0x00015000, 0x00013800, 0x00013000, 0x00011800,
- 0x00040800, 0x00045800, 0x00046000, 0x00041000,
- 0x00044800, 0x00046800, 0x00040000, 0x00047800,
- 0x00042000, 0x00042800, 0x00044000, 0x00047000,
- 0x00045000, 0x00043800, 0x00043000, 0x00041800,
- 0x00070800, 0x00075800, 0x00076000, 0x00071000,
- 0x00074800, 0x00076800, 0x00070000, 0x00077800,
- 0x00072000, 0x00072800, 0x00074000, 0x00077000,
- 0x00075000, 0x00073800, 0x00073000, 0x00071800,
- 0x00078800, 0x0007d800, 0x0007e000, 0x00079000,
- 0x0007c800, 0x0007e800, 0x00078000, 0x0007f800,
- 0x0007a000, 0x0007a800, 0x0007c000, 0x0007f000,
- 0x0007d000, 0x0007b800, 0x0007b000, 0x00079800,
- 0x00060800, 0x00065800, 0x00066000, 0x00061000,
- 0x00064800, 0x00066800, 0x00060000, 0x00067800,
- 0x00062000, 0x00062800, 0x00064000, 0x00067000,
- 0x00065000, 0x00063800, 0x00063000, 0x00061800,
- 0x00048800, 0x0004d800, 0x0004e000, 0x00049000,
- 0x0004c800, 0x0004e800, 0x00048000, 0x0004f800,
- 0x0004a000, 0x0004a800, 0x0004c000, 0x0004f000,
- 0x0004d000, 0x0004b800, 0x0004b000, 0x00049800,
- 0x00050800, 0x00055800, 0x00056000, 0x00051000,
- 0x00054800, 0x00056800, 0x00050000, 0x00057800,
- 0x00052000, 0x00052800, 0x00054000, 0x00057000,
- 0x00055000, 0x00053800, 0x00053000, 0x00051800,
- 0x00030800, 0x00035800, 0x00036000, 0x00031000,
- 0x00034800, 0x00036800, 0x00030000, 0x00037800,
- 0x00032000, 0x00032800, 0x00034000, 0x00037000,
- 0x00035000, 0x00033800, 0x00033000, 0x00031800,
- 0x00018800, 0x0001d800, 0x0001e000, 0x00019000,
- 0x0001c800, 0x0001e800, 0x00018000, 0x0001f800,
- 0x0001a000, 0x0001a800, 0x0001c000, 0x0001f000,
- 0x0001d000, 0x0001b800, 0x0001b000, 0x00019800,
- /* 1 */
- 0x01c00000, 0x01900000, 0x01a80000, 0x01800000,
- 0x01a00000, 0x01c80000, 0x01f80000, 0x01d00000,
- 0x01980000, 0x01b80000, 0x01e00000, 0x01e80000,
- 0x01b00000, 0x01f00000, 0x01880000, 0x01d80000,
- 0x03400000, 0x03100000, 0x03280000, 0x03000000,
- 0x03200000, 0x03480000, 0x03780000, 0x03500000,
- 0x03180000, 0x03380000, 0x03600000, 0x03680000,
- 0x03300000, 0x03700000, 0x03080000, 0x03580000,
- 0x00400000, 0x00100000, 0x00280000, 0x00000000,
- 0x00200000, 0x00480000, 0x00780000, 0x00500000,
- 0x00180000, 0x00380000, 0x00600000, 0x00680000,
- 0x00300000, 0x00700000, 0x00080000, 0x00580000,
- 0x00c00000, 0x00900000, 0x00a80000, 0x00800000,
- 0x00a00000, 0x00c80000, 0x00f80000, 0x00d00000,
- 0x00980000, 0x00b80000, 0x00e00000, 0x00e80000,
- 0x00b00000, 0x00f00000, 0x00880000, 0x00d80000,
- 0x02c00000, 0x02900000, 0x02a80000, 0x02800000,
- 0x02a00000, 0x02c80000, 0x02f80000, 0x02d00000,
- 0x02980000, 0x02b80000, 0x02e00000, 0x02e80000,
- 0x02b00000, 0x02f00000, 0x02880000, 0x02d80000,
- 0x06c00000, 0x06900000, 0x06a80000, 0x06800000,
- 0x06a00000, 0x06c80000, 0x06f80000, 0x06d00000,
- 0x06980000, 0x06b80000, 0x06e00000, 0x06e80000,
- 0x06b00000, 0x06f00000, 0x06880000, 0x06d80000,
- 0x05400000, 0x05100000, 0x05280000, 0x05000000,
- 0x05200000, 0x05480000, 0x05780000, 0x05500000,
- 0x05180000, 0x05380000, 0x05600000, 0x05680000,
- 0x05300000, 0x05700000, 0x05080000, 0x05580000,
- 0x04400000, 0x04100000, 0x04280000, 0x04000000,
- 0x04200000, 0x04480000, 0x04780000, 0x04500000,
- 0x04180000, 0x04380000, 0x04600000, 0x04680000,
- 0x04300000, 0x04700000, 0x04080000, 0x04580000,
- 0x05c00000, 0x05900000, 0x05a80000, 0x05800000,
- 0x05a00000, 0x05c80000, 0x05f80000, 0x05d00000,
- 0x05980000, 0x05b80000, 0x05e00000, 0x05e80000,
- 0x05b00000, 0x05f00000, 0x05880000, 0x05d80000,
- 0x01400000, 0x01100000, 0x01280000, 0x01000000,
- 0x01200000, 0x01480000, 0x01780000, 0x01500000,
- 0x01180000, 0x01380000, 0x01600000, 0x01680000,
- 0x01300000, 0x01700000, 0x01080000, 0x01580000,
- 0x04c00000, 0x04900000, 0x04a80000, 0x04800000,
- 0x04a00000, 0x04c80000, 0x04f80000, 0x04d00000,
- 0x04980000, 0x04b80000, 0x04e00000, 0x04e80000,
- 0x04b00000, 0x04f00000, 0x04880000, 0x04d80000,
- 0x03c00000, 0x03900000, 0x03a80000, 0x03800000,
- 0x03a00000, 0x03c80000, 0x03f80000, 0x03d00000,
- 0x03980000, 0x03b80000, 0x03e00000, 0x03e80000,
- 0x03b00000, 0x03f00000, 0x03880000, 0x03d80000,
- 0x07400000, 0x07100000, 0x07280000, 0x07000000,
- 0x07200000, 0x07480000, 0x07780000, 0x07500000,
- 0x07180000, 0x07380000, 0x07600000, 0x07680000,
- 0x07300000, 0x07700000, 0x07080000, 0x07580000,
- 0x07c00000, 0x07900000, 0x07a80000, 0x07800000,
- 0x07a00000, 0x07c80000, 0x07f80000, 0x07d00000,
- 0x07980000, 0x07b80000, 0x07e00000, 0x07e80000,
- 0x07b00000, 0x07f00000, 0x07880000, 0x07d80000,
- 0x06400000, 0x06100000, 0x06280000, 0x06000000,
- 0x06200000, 0x06480000, 0x06780000, 0x06500000,
- 0x06180000, 0x06380000, 0x06600000, 0x06680000,
- 0x06300000, 0x06700000, 0x06080000, 0x06580000,
- 0x02400000, 0x02100000, 0x02280000, 0x02000000,
- 0x02200000, 0x02480000, 0x02780000, 0x02500000,
- 0x02180000, 0x02380000, 0x02600000, 0x02680000,
- 0x02300000, 0x02700000, 0x02080000, 0x02580000,
- /* 2 */
- 0x40000006, 0x68000006, 0x58000006, 0x00000006,
- 0x20000006, 0x28000006, 0x08000006, 0x10000006,
- 0x48000006, 0x18000006, 0x60000006, 0x70000006,
- 0x30000006, 0x78000006, 0x50000006, 0x38000006,
- 0xc0000004, 0xe8000004, 0xd8000004, 0x80000004,
- 0xa0000004, 0xa8000004, 0x88000004, 0x90000004,
- 0xc8000004, 0x98000004, 0xe0000004, 0xf0000004,
- 0xb0000004, 0xf8000004, 0xd0000004, 0xb8000004,
- 0xc0000005, 0xe8000005, 0xd8000005, 0x80000005,
- 0xa0000005, 0xa8000005, 0x88000005, 0x90000005,
- 0xc8000005, 0x98000005, 0xe0000005, 0xf0000005,
- 0xb0000005, 0xf8000005, 0xd0000005, 0xb8000005,
- 0xc0000000, 0xe8000000, 0xd8000000, 0x80000000,
- 0xa0000000, 0xa8000000, 0x88000000, 0x90000000,
- 0xc8000000, 0x98000000, 0xe0000000, 0xf0000000,
- 0xb0000000, 0xf8000000, 0xd0000000, 0xb8000000,
- 0x40000004, 0x68000004, 0x58000004, 0x00000004,
- 0x20000004, 0x28000004, 0x08000004, 0x10000004,
- 0x48000004, 0x18000004, 0x60000004, 0x70000004,
- 0x30000004, 0x78000004, 0x50000004, 0x38000004,
- 0x40000007, 0x68000007, 0x58000007, 0x00000007,
- 0x20000007, 0x28000007, 0x08000007, 0x10000007,
- 0x48000007, 0x18000007, 0x60000007, 0x70000007,
- 0x30000007, 0x78000007, 0x50000007, 0x38000007,
- 0x40000001, 0x68000001, 0x58000001, 0x00000001,
- 0x20000001, 0x28000001, 0x08000001, 0x10000001,
- 0x48000001, 0x18000001, 0x60000001, 0x70000001,
- 0x30000001, 0x78000001, 0x50000001, 0x38000001,
- 0x40000002, 0x68000002, 0x58000002, 0x00000002,
- 0x20000002, 0x28000002, 0x08000002, 0x10000002,
- 0x48000002, 0x18000002, 0x60000002, 0x70000002,
- 0x30000002, 0x78000002, 0x50000002, 0x38000002,
- 0xc0000003, 0xe8000003, 0xd8000003, 0x80000003,
- 0xa0000003, 0xa8000003, 0x88000003, 0x90000003,
- 0xc8000003, 0x98000003, 0xe0000003, 0xf0000003,
- 0xb0000003, 0xf8000003, 0xd0000003, 0xb8000003,
- 0xc0000001, 0xe8000001, 0xd8000001, 0x80000001,
- 0xa0000001, 0xa8000001, 0x88000001, 0x90000001,
- 0xc8000001, 0x98000001, 0xe0000001, 0xf0000001,
- 0xb0000001, 0xf8000001, 0xd0000001, 0xb8000001,
- 0x40000003, 0x68000003, 0x58000003, 0x00000003,
- 0x20000003, 0x28000003, 0x08000003, 0x10000003,
- 0x48000003, 0x18000003, 0x60000003, 0x70000003,
- 0x30000003, 0x78000003, 0x50000003, 0x38000003,
- 0xc0000002, 0xe8000002, 0xd8000002, 0x80000002,
- 0xa0000002, 0xa8000002, 0x88000002, 0x90000002,
- 0xc8000002, 0x98000002, 0xe0000002, 0xf0000002,
- 0xb0000002, 0xf8000002, 0xd0000002, 0xb8000002,
- 0x40000005, 0x68000005, 0x58000005, 0x00000005,
- 0x20000005, 0x28000005, 0x08000005, 0x10000005,
- 0x48000005, 0x18000005, 0x60000005, 0x70000005,
- 0x30000005, 0x78000005, 0x50000005, 0x38000005,
- 0x40000000, 0x68000000, 0x58000000, 0x00000000,
- 0x20000000, 0x28000000, 0x08000000, 0x10000000,
- 0x48000000, 0x18000000, 0x60000000, 0x70000000,
- 0x30000000, 0x78000000, 0x50000000, 0x38000000,
- 0xc0000007, 0xe8000007, 0xd8000007, 0x80000007,
- 0xa0000007, 0xa8000007, 0x88000007, 0x90000007,
- 0xc8000007, 0x98000007, 0xe0000007, 0xf0000007,
- 0xb0000007, 0xf8000007, 0xd0000007, 0xb8000007,
- 0xc0000006, 0xe8000006, 0xd8000006, 0x80000006,
- 0xa0000006, 0xa8000006, 0x88000006, 0x90000006,
- 0xc8000006, 0x98000006, 0xe0000006, 0xf0000006,
- 0xb0000006, 0xf8000006, 0xd0000006, 0xb8000006,
- /* 3 */
- 0x000003d0, 0x000003c8, 0x000003b0, 0x000003c0,
- 0x000003e8, 0x000003f0, 0x00000390, 0x00000380,
- 0x000003f8, 0x00000398, 0x000003a8, 0x000003d8,
- 0x000003a0, 0x00000388, 0x000003e0, 0x000003b8,
- 0x00000250, 0x00000248, 0x00000230, 0x00000240,
- 0x00000268, 0x00000270, 0x00000210, 0x00000200,
- 0x00000278, 0x00000218, 0x00000228, 0x00000258,
- 0x00000220, 0x00000208, 0x00000260, 0x00000238,
- 0x00000050, 0x00000048, 0x00000030, 0x00000040,
- 0x00000068, 0x00000070, 0x00000010, 0x00000000,
- 0x00000078, 0x00000018, 0x00000028, 0x00000058,
- 0x00000020, 0x00000008, 0x00000060, 0x00000038,
- 0x000002d0, 0x000002c8, 0x000002b0, 0x000002c0,
- 0x000002e8, 0x000002f0, 0x00000290, 0x00000280,
- 0x000002f8, 0x00000298, 0x000002a8, 0x000002d8,
- 0x000002a0, 0x00000288, 0x000002e0, 0x000002b8,
- 0x00000550, 0x00000548, 0x00000530, 0x00000540,
- 0x00000568, 0x00000570, 0x00000510, 0x00000500,
- 0x00000578, 0x00000518, 0x00000528, 0x00000558,
- 0x00000520, 0x00000508, 0x00000560, 0x00000538,
- 0x00000150, 0x00000148, 0x00000130, 0x00000140,
- 0x00000168, 0x00000170, 0x00000110, 0x00000100,
- 0x00000178, 0x00000118, 0x00000128, 0x00000158,
- 0x00000120, 0x00000108, 0x00000160, 0x00000138,
- 0x000007d0, 0x000007c8, 0x000007b0, 0x000007c0,
- 0x000007e8, 0x000007f0, 0x00000790, 0x00000780,
- 0x000007f8, 0x00000798, 0x000007a8, 0x000007d8,
- 0x000007a0, 0x00000788, 0x000007e0, 0x000007b8,
- 0x00000750, 0x00000748, 0x00000730, 0x00000740,
- 0x00000768, 0x00000770, 0x00000710, 0x00000700,
- 0x00000778, 0x00000718, 0x00000728, 0x00000758,
- 0x00000720, 0x00000708, 0x00000760, 0x00000738,
- 0x00000650, 0x00000648, 0x00000630, 0x00000640,
- 0x00000668, 0x00000670, 0x00000610, 0x00000600,
- 0x00000678, 0x00000618, 0x00000628, 0x00000658,
- 0x00000620, 0x00000608, 0x00000660, 0x00000638,
- 0x00000350, 0x00000348, 0x00000330, 0x00000340,
- 0x00000368, 0x00000370, 0x00000310, 0x00000300,
- 0x00000378, 0x00000318, 0x00000328, 0x00000358,
- 0x00000320, 0x00000308, 0x00000360, 0x00000338,
- 0x000000d0, 0x000000c8, 0x000000b0, 0x000000c0,
- 0x000000e8, 0x000000f0, 0x00000090, 0x00000080,
- 0x000000f8, 0x00000098, 0x000000a8, 0x000000d8,
- 0x000000a0, 0x00000088, 0x000000e0, 0x000000b8,
- 0x000005d0, 0x000005c8, 0x000005b0, 0x000005c0,
- 0x000005e8, 0x000005f0, 0x00000590, 0x00000580,
- 0x000005f8, 0x00000598, 0x000005a8, 0x000005d8,
- 0x000005a0, 0x00000588, 0x000005e0, 0x000005b8,
- 0x000006d0, 0x000006c8, 0x000006b0, 0x000006c0,
- 0x000006e8, 0x000006f0, 0x00000690, 0x00000680,
- 0x000006f8, 0x00000698, 0x000006a8, 0x000006d8,
- 0x000006a0, 0x00000688, 0x000006e0, 0x000006b8,
- 0x000004d0, 0x000004c8, 0x000004b0, 0x000004c0,
- 0x000004e8, 0x000004f0, 0x00000490, 0x00000480,
- 0x000004f8, 0x00000498, 0x000004a8, 0x000004d8,
- 0x000004a0, 0x00000488, 0x000004e0, 0x000004b8,
- 0x000001d0, 0x000001c8, 0x000001b0, 0x000001c0,
- 0x000001e8, 0x000001f0, 0x00000190, 0x00000180,
- 0x000001f8, 0x00000198, 0x000001a8, 0x000001d8,
- 0x000001a0, 0x00000188, 0x000001e0, 0x000001b8,
- 0x00000450, 0x00000448, 0x00000430, 0x00000440,
- 0x00000468, 0x00000470, 0x00000410, 0x00000400,
- 0x00000478, 0x00000418, 0x00000428, 0x00000458,
- 0x00000420, 0x00000408, 0x00000460, 0x00000438,
- }
-};
+const struct gost28147_param gost28147_param_CryptoPro_C = { 1,
+ {
+ /* 0 */
+ 0x00000800,
+ 0x00005800,
+ 0x00006000,
+ 0x00001000,
+ 0x00004800,
+ 0x00006800,
+ 0x00000000,
+ 0x00007800,
+ 0x00002000,
+ 0x00002800,
+ 0x00004000,
+ 0x00007000,
+ 0x00005000,
+ 0x00003800,
+ 0x00003000,
+ 0x00001800,
+ 0x00008800,
+ 0x0000d800,
+ 0x0000e000,
+ 0x00009000,
+ 0x0000c800,
+ 0x0000e800,
+ 0x00008000,
+ 0x0000f800,
+ 0x0000a000,
+ 0x0000a800,
+ 0x0000c000,
+ 0x0000f000,
+ 0x0000d000,
+ 0x0000b800,
+ 0x0000b000,
+ 0x00009800,
+ 0x00038800,
+ 0x0003d800,
+ 0x0003e000,
+ 0x00039000,
+ 0x0003c800,
+ 0x0003e800,
+ 0x00038000,
+ 0x0003f800,
+ 0x0003a000,
+ 0x0003a800,
+ 0x0003c000,
+ 0x0003f000,
+ 0x0003d000,
+ 0x0003b800,
+ 0x0003b000,
+ 0x00039800,
+ 0x00068800,
+ 0x0006d800,
+ 0x0006e000,
+ 0x00069000,
+ 0x0006c800,
+ 0x0006e800,
+ 0x00068000,
+ 0x0006f800,
+ 0x0006a000,
+ 0x0006a800,
+ 0x0006c000,
+ 0x0006f000,
+ 0x0006d000,
+ 0x0006b800,
+ 0x0006b000,
+ 0x00069800,
+ 0x00058800,
+ 0x0005d800,
+ 0x0005e000,
+ 0x00059000,
+ 0x0005c800,
+ 0x0005e800,
+ 0x00058000,
+ 0x0005f800,
+ 0x0005a000,
+ 0x0005a800,
+ 0x0005c000,
+ 0x0005f000,
+ 0x0005d000,
+ 0x0005b800,
+ 0x0005b000,
+ 0x00059800,
+ 0x00020800,
+ 0x00025800,
+ 0x00026000,
+ 0x00021000,
+ 0x00024800,
+ 0x00026800,
+ 0x00020000,
+ 0x00027800,
+ 0x00022000,
+ 0x00022800,
+ 0x00024000,
+ 0x00027000,
+ 0x00025000,
+ 0x00023800,
+ 0x00023000,
+ 0x00021800,
+ 0x00028800,
+ 0x0002d800,
+ 0x0002e000,
+ 0x00029000,
+ 0x0002c800,
+ 0x0002e800,
+ 0x00028000,
+ 0x0002f800,
+ 0x0002a000,
+ 0x0002a800,
+ 0x0002c000,
+ 0x0002f000,
+ 0x0002d000,
+ 0x0002b800,
+ 0x0002b000,
+ 0x00029800,
+ 0x00010800,
+ 0x00015800,
+ 0x00016000,
+ 0x00011000,
+ 0x00014800,
+ 0x00016800,
+ 0x00010000,
+ 0x00017800,
+ 0x00012000,
+ 0x00012800,
+ 0x00014000,
+ 0x00017000,
+ 0x00015000,
+ 0x00013800,
+ 0x00013000,
+ 0x00011800,
+ 0x00040800,
+ 0x00045800,
+ 0x00046000,
+ 0x00041000,
+ 0x00044800,
+ 0x00046800,
+ 0x00040000,
+ 0x00047800,
+ 0x00042000,
+ 0x00042800,
+ 0x00044000,
+ 0x00047000,
+ 0x00045000,
+ 0x00043800,
+ 0x00043000,
+ 0x00041800,
+ 0x00070800,
+ 0x00075800,
+ 0x00076000,
+ 0x00071000,
+ 0x00074800,
+ 0x00076800,
+ 0x00070000,
+ 0x00077800,
+ 0x00072000,
+ 0x00072800,
+ 0x00074000,
+ 0x00077000,
+ 0x00075000,
+ 0x00073800,
+ 0x00073000,
+ 0x00071800,
+ 0x00078800,
+ 0x0007d800,
+ 0x0007e000,
+ 0x00079000,
+ 0x0007c800,
+ 0x0007e800,
+ 0x00078000,
+ 0x0007f800,
+ 0x0007a000,
+ 0x0007a800,
+ 0x0007c000,
+ 0x0007f000,
+ 0x0007d000,
+ 0x0007b800,
+ 0x0007b000,
+ 0x00079800,
+ 0x00060800,
+ 0x00065800,
+ 0x00066000,
+ 0x00061000,
+ 0x00064800,
+ 0x00066800,
+ 0x00060000,
+ 0x00067800,
+ 0x00062000,
+ 0x00062800,
+ 0x00064000,
+ 0x00067000,
+ 0x00065000,
+ 0x00063800,
+ 0x00063000,
+ 0x00061800,
+ 0x00048800,
+ 0x0004d800,
+ 0x0004e000,
+ 0x00049000,
+ 0x0004c800,
+ 0x0004e800,
+ 0x00048000,
+ 0x0004f800,
+ 0x0004a000,
+ 0x0004a800,
+ 0x0004c000,
+ 0x0004f000,
+ 0x0004d000,
+ 0x0004b800,
+ 0x0004b000,
+ 0x00049800,
+ 0x00050800,
+ 0x00055800,
+ 0x00056000,
+ 0x00051000,
+ 0x00054800,
+ 0x00056800,
+ 0x00050000,
+ 0x00057800,
+ 0x00052000,
+ 0x00052800,
+ 0x00054000,
+ 0x00057000,
+ 0x00055000,
+ 0x00053800,
+ 0x00053000,
+ 0x00051800,
+ 0x00030800,
+ 0x00035800,
+ 0x00036000,
+ 0x00031000,
+ 0x00034800,
+ 0x00036800,
+ 0x00030000,
+ 0x00037800,
+ 0x00032000,
+ 0x00032800,
+ 0x00034000,
+ 0x00037000,
+ 0x00035000,
+ 0x00033800,
+ 0x00033000,
+ 0x00031800,
+ 0x00018800,
+ 0x0001d800,
+ 0x0001e000,
+ 0x00019000,
+ 0x0001c800,
+ 0x0001e800,
+ 0x00018000,
+ 0x0001f800,
+ 0x0001a000,
+ 0x0001a800,
+ 0x0001c000,
+ 0x0001f000,
+ 0x0001d000,
+ 0x0001b800,
+ 0x0001b000,
+ 0x00019800,
+ /* 1 */
+ 0x01c00000,
+ 0x01900000,
+ 0x01a80000,
+ 0x01800000,
+ 0x01a00000,
+ 0x01c80000,
+ 0x01f80000,
+ 0x01d00000,
+ 0x01980000,
+ 0x01b80000,
+ 0x01e00000,
+ 0x01e80000,
+ 0x01b00000,
+ 0x01f00000,
+ 0x01880000,
+ 0x01d80000,
+ 0x03400000,
+ 0x03100000,
+ 0x03280000,
+ 0x03000000,
+ 0x03200000,
+ 0x03480000,
+ 0x03780000,
+ 0x03500000,
+ 0x03180000,
+ 0x03380000,
+ 0x03600000,
+ 0x03680000,
+ 0x03300000,
+ 0x03700000,
+ 0x03080000,
+ 0x03580000,
+ 0x00400000,
+ 0x00100000,
+ 0x00280000,
+ 0x00000000,
+ 0x00200000,
+ 0x00480000,
+ 0x00780000,
+ 0x00500000,
+ 0x00180000,
+ 0x00380000,
+ 0x00600000,
+ 0x00680000,
+ 0x00300000,
+ 0x00700000,
+ 0x00080000,
+ 0x00580000,
+ 0x00c00000,
+ 0x00900000,
+ 0x00a80000,
+ 0x00800000,
+ 0x00a00000,
+ 0x00c80000,
+ 0x00f80000,
+ 0x00d00000,
+ 0x00980000,
+ 0x00b80000,
+ 0x00e00000,
+ 0x00e80000,
+ 0x00b00000,
+ 0x00f00000,
+ 0x00880000,
+ 0x00d80000,
+ 0x02c00000,
+ 0x02900000,
+ 0x02a80000,
+ 0x02800000,
+ 0x02a00000,
+ 0x02c80000,
+ 0x02f80000,
+ 0x02d00000,
+ 0x02980000,
+ 0x02b80000,
+ 0x02e00000,
+ 0x02e80000,
+ 0x02b00000,
+ 0x02f00000,
+ 0x02880000,
+ 0x02d80000,
+ 0x06c00000,
+ 0x06900000,
+ 0x06a80000,
+ 0x06800000,
+ 0x06a00000,
+ 0x06c80000,
+ 0x06f80000,
+ 0x06d00000,
+ 0x06980000,
+ 0x06b80000,
+ 0x06e00000,
+ 0x06e80000,
+ 0x06b00000,
+ 0x06f00000,
+ 0x06880000,
+ 0x06d80000,
+ 0x05400000,
+ 0x05100000,
+ 0x05280000,
+ 0x05000000,
+ 0x05200000,
+ 0x05480000,
+ 0x05780000,
+ 0x05500000,
+ 0x05180000,
+ 0x05380000,
+ 0x05600000,
+ 0x05680000,
+ 0x05300000,
+ 0x05700000,
+ 0x05080000,
+ 0x05580000,
+ 0x04400000,
+ 0x04100000,
+ 0x04280000,
+ 0x04000000,
+ 0x04200000,
+ 0x04480000,
+ 0x04780000,
+ 0x04500000,
+ 0x04180000,
+ 0x04380000,
+ 0x04600000,
+ 0x04680000,
+ 0x04300000,
+ 0x04700000,
+ 0x04080000,
+ 0x04580000,
+ 0x05c00000,
+ 0x05900000,
+ 0x05a80000,
+ 0x05800000,
+ 0x05a00000,
+ 0x05c80000,
+ 0x05f80000,
+ 0x05d00000,
+ 0x05980000,
+ 0x05b80000,
+ 0x05e00000,
+ 0x05e80000,
+ 0x05b00000,
+ 0x05f00000,
+ 0x05880000,
+ 0x05d80000,
+ 0x01400000,
+ 0x01100000,
+ 0x01280000,
+ 0x01000000,
+ 0x01200000,
+ 0x01480000,
+ 0x01780000,
+ 0x01500000,
+ 0x01180000,
+ 0x01380000,
+ 0x01600000,
+ 0x01680000,
+ 0x01300000,
+ 0x01700000,
+ 0x01080000,
+ 0x01580000,
+ 0x04c00000,
+ 0x04900000,
+ 0x04a80000,
+ 0x04800000,
+ 0x04a00000,
+ 0x04c80000,
+ 0x04f80000,
+ 0x04d00000,
+ 0x04980000,
+ 0x04b80000,
+ 0x04e00000,
+ 0x04e80000,
+ 0x04b00000,
+ 0x04f00000,
+ 0x04880000,
+ 0x04d80000,
+ 0x03c00000,
+ 0x03900000,
+ 0x03a80000,
+ 0x03800000,
+ 0x03a00000,
+ 0x03c80000,
+ 0x03f80000,
+ 0x03d00000,
+ 0x03980000,
+ 0x03b80000,
+ 0x03e00000,
+ 0x03e80000,
+ 0x03b00000,
+ 0x03f00000,
+ 0x03880000,
+ 0x03d80000,
+ 0x07400000,
+ 0x07100000,
+ 0x07280000,
+ 0x07000000,
+ 0x07200000,
+ 0x07480000,
+ 0x07780000,
+ 0x07500000,
+ 0x07180000,
+ 0x07380000,
+ 0x07600000,
+ 0x07680000,
+ 0x07300000,
+ 0x07700000,
+ 0x07080000,
+ 0x07580000,
+ 0x07c00000,
+ 0x07900000,
+ 0x07a80000,
+ 0x07800000,
+ 0x07a00000,
+ 0x07c80000,
+ 0x07f80000,
+ 0x07d00000,
+ 0x07980000,
+ 0x07b80000,
+ 0x07e00000,
+ 0x07e80000,
+ 0x07b00000,
+ 0x07f00000,
+ 0x07880000,
+ 0x07d80000,
+ 0x06400000,
+ 0x06100000,
+ 0x06280000,
+ 0x06000000,
+ 0x06200000,
+ 0x06480000,
+ 0x06780000,
+ 0x06500000,
+ 0x06180000,
+ 0x06380000,
+ 0x06600000,
+ 0x06680000,
+ 0x06300000,
+ 0x06700000,
+ 0x06080000,
+ 0x06580000,
+ 0x02400000,
+ 0x02100000,
+ 0x02280000,
+ 0x02000000,
+ 0x02200000,
+ 0x02480000,
+ 0x02780000,
+ 0x02500000,
+ 0x02180000,
+ 0x02380000,
+ 0x02600000,
+ 0x02680000,
+ 0x02300000,
+ 0x02700000,
+ 0x02080000,
+ 0x02580000,
+ /* 2 */
+ 0x40000006,
+ 0x68000006,
+ 0x58000006,
+ 0x00000006,
+ 0x20000006,
+ 0x28000006,
+ 0x08000006,
+ 0x10000006,
+ 0x48000006,
+ 0x18000006,
+ 0x60000006,
+ 0x70000006,
+ 0x30000006,
+ 0x78000006,
+ 0x50000006,
+ 0x38000006,
+ 0xc0000004,
+ 0xe8000004,
+ 0xd8000004,
+ 0x80000004,
+ 0xa0000004,
+ 0xa8000004,
+ 0x88000004,
+ 0x90000004,
+ 0xc8000004,
+ 0x98000004,
+ 0xe0000004,
+ 0xf0000004,
+ 0xb0000004,
+ 0xf8000004,
+ 0xd0000004,
+ 0xb8000004,
+ 0xc0000005,
+ 0xe8000005,
+ 0xd8000005,
+ 0x80000005,
+ 0xa0000005,
+ 0xa8000005,
+ 0x88000005,
+ 0x90000005,
+ 0xc8000005,
+ 0x98000005,
+ 0xe0000005,
+ 0xf0000005,
+ 0xb0000005,
+ 0xf8000005,
+ 0xd0000005,
+ 0xb8000005,
+ 0xc0000000,
+ 0xe8000000,
+ 0xd8000000,
+ 0x80000000,
+ 0xa0000000,
+ 0xa8000000,
+ 0x88000000,
+ 0x90000000,
+ 0xc8000000,
+ 0x98000000,
+ 0xe0000000,
+ 0xf0000000,
+ 0xb0000000,
+ 0xf8000000,
+ 0xd0000000,
+ 0xb8000000,
+ 0x40000004,
+ 0x68000004,
+ 0x58000004,
+ 0x00000004,
+ 0x20000004,
+ 0x28000004,
+ 0x08000004,
+ 0x10000004,
+ 0x48000004,
+ 0x18000004,
+ 0x60000004,
+ 0x70000004,
+ 0x30000004,
+ 0x78000004,
+ 0x50000004,
+ 0x38000004,
+ 0x40000007,
+ 0x68000007,
+ 0x58000007,
+ 0x00000007,
+ 0x20000007,
+ 0x28000007,
+ 0x08000007,
+ 0x10000007,
+ 0x48000007,
+ 0x18000007,
+ 0x60000007,
+ 0x70000007,
+ 0x30000007,
+ 0x78000007,
+ 0x50000007,
+ 0x38000007,
+ 0x40000001,
+ 0x68000001,
+ 0x58000001,
+ 0x00000001,
+ 0x20000001,
+ 0x28000001,
+ 0x08000001,
+ 0x10000001,
+ 0x48000001,
+ 0x18000001,
+ 0x60000001,
+ 0x70000001,
+ 0x30000001,
+ 0x78000001,
+ 0x50000001,
+ 0x38000001,
+ 0x40000002,
+ 0x68000002,
+ 0x58000002,
+ 0x00000002,
+ 0x20000002,
+ 0x28000002,
+ 0x08000002,
+ 0x10000002,
+ 0x48000002,
+ 0x18000002,
+ 0x60000002,
+ 0x70000002,
+ 0x30000002,
+ 0x78000002,
+ 0x50000002,
+ 0x38000002,
+ 0xc0000003,
+ 0xe8000003,
+ 0xd8000003,
+ 0x80000003,
+ 0xa0000003,
+ 0xa8000003,
+ 0x88000003,
+ 0x90000003,
+ 0xc8000003,
+ 0x98000003,
+ 0xe0000003,
+ 0xf0000003,
+ 0xb0000003,
+ 0xf8000003,
+ 0xd0000003,
+ 0xb8000003,
+ 0xc0000001,
+ 0xe8000001,
+ 0xd8000001,
+ 0x80000001,
+ 0xa0000001,
+ 0xa8000001,
+ 0x88000001,
+ 0x90000001,
+ 0xc8000001,
+ 0x98000001,
+ 0xe0000001,
+ 0xf0000001,
+ 0xb0000001,
+ 0xf8000001,
+ 0xd0000001,
+ 0xb8000001,
+ 0x40000003,
+ 0x68000003,
+ 0x58000003,
+ 0x00000003,
+ 0x20000003,
+ 0x28000003,
+ 0x08000003,
+ 0x10000003,
+ 0x48000003,
+ 0x18000003,
+ 0x60000003,
+ 0x70000003,
+ 0x30000003,
+ 0x78000003,
+ 0x50000003,
+ 0x38000003,
+ 0xc0000002,
+ 0xe8000002,
+ 0xd8000002,
+ 0x80000002,
+ 0xa0000002,
+ 0xa8000002,
+ 0x88000002,
+ 0x90000002,
+ 0xc8000002,
+ 0x98000002,
+ 0xe0000002,
+ 0xf0000002,
+ 0xb0000002,
+ 0xf8000002,
+ 0xd0000002,
+ 0xb8000002,
+ 0x40000005,
+ 0x68000005,
+ 0x58000005,
+ 0x00000005,
+ 0x20000005,
+ 0x28000005,
+ 0x08000005,
+ 0x10000005,
+ 0x48000005,
+ 0x18000005,
+ 0x60000005,
+ 0x70000005,
+ 0x30000005,
+ 0x78000005,
+ 0x50000005,
+ 0x38000005,
+ 0x40000000,
+ 0x68000000,
+ 0x58000000,
+ 0x00000000,
+ 0x20000000,
+ 0x28000000,
+ 0x08000000,
+ 0x10000000,
+ 0x48000000,
+ 0x18000000,
+ 0x60000000,
+ 0x70000000,
+ 0x30000000,
+ 0x78000000,
+ 0x50000000,
+ 0x38000000,
+ 0xc0000007,
+ 0xe8000007,
+ 0xd8000007,
+ 0x80000007,
+ 0xa0000007,
+ 0xa8000007,
+ 0x88000007,
+ 0x90000007,
+ 0xc8000007,
+ 0x98000007,
+ 0xe0000007,
+ 0xf0000007,
+ 0xb0000007,
+ 0xf8000007,
+ 0xd0000007,
+ 0xb8000007,
+ 0xc0000006,
+ 0xe8000006,
+ 0xd8000006,
+ 0x80000006,
+ 0xa0000006,
+ 0xa8000006,
+ 0x88000006,
+ 0x90000006,
+ 0xc8000006,
+ 0x98000006,
+ 0xe0000006,
+ 0xf0000006,
+ 0xb0000006,
+ 0xf8000006,
+ 0xd0000006,
+ 0xb8000006,
+ /* 3 */
+ 0x000003d0,
+ 0x000003c8,
+ 0x000003b0,
+ 0x000003c0,
+ 0x000003e8,
+ 0x000003f0,
+ 0x00000390,
+ 0x00000380,
+ 0x000003f8,
+ 0x00000398,
+ 0x000003a8,
+ 0x000003d8,
+ 0x000003a0,
+ 0x00000388,
+ 0x000003e0,
+ 0x000003b8,
+ 0x00000250,
+ 0x00000248,
+ 0x00000230,
+ 0x00000240,
+ 0x00000268,
+ 0x00000270,
+ 0x00000210,
+ 0x00000200,
+ 0x00000278,
+ 0x00000218,
+ 0x00000228,
+ 0x00000258,
+ 0x00000220,
+ 0x00000208,
+ 0x00000260,
+ 0x00000238,
+ 0x00000050,
+ 0x00000048,
+ 0x00000030,
+ 0x00000040,
+ 0x00000068,
+ 0x00000070,
+ 0x00000010,
+ 0x00000000,
+ 0x00000078,
+ 0x00000018,
+ 0x00000028,
+ 0x00000058,
+ 0x00000020,
+ 0x00000008,
+ 0x00000060,
+ 0x00000038,
+ 0x000002d0,
+ 0x000002c8,
+ 0x000002b0,
+ 0x000002c0,
+ 0x000002e8,
+ 0x000002f0,
+ 0x00000290,
+ 0x00000280,
+ 0x000002f8,
+ 0x00000298,
+ 0x000002a8,
+ 0x000002d8,
+ 0x000002a0,
+ 0x00000288,
+ 0x000002e0,
+ 0x000002b8,
+ 0x00000550,
+ 0x00000548,
+ 0x00000530,
+ 0x00000540,
+ 0x00000568,
+ 0x00000570,
+ 0x00000510,
+ 0x00000500,
+ 0x00000578,
+ 0x00000518,
+ 0x00000528,
+ 0x00000558,
+ 0x00000520,
+ 0x00000508,
+ 0x00000560,
+ 0x00000538,
+ 0x00000150,
+ 0x00000148,
+ 0x00000130,
+ 0x00000140,
+ 0x00000168,
+ 0x00000170,
+ 0x00000110,
+ 0x00000100,
+ 0x00000178,
+ 0x00000118,
+ 0x00000128,
+ 0x00000158,
+ 0x00000120,
+ 0x00000108,
+ 0x00000160,
+ 0x00000138,
+ 0x000007d0,
+ 0x000007c8,
+ 0x000007b0,
+ 0x000007c0,
+ 0x000007e8,
+ 0x000007f0,
+ 0x00000790,
+ 0x00000780,
+ 0x000007f8,
+ 0x00000798,
+ 0x000007a8,
+ 0x000007d8,
+ 0x000007a0,
+ 0x00000788,
+ 0x000007e0,
+ 0x000007b8,
+ 0x00000750,
+ 0x00000748,
+ 0x00000730,
+ 0x00000740,
+ 0x00000768,
+ 0x00000770,
+ 0x00000710,
+ 0x00000700,
+ 0x00000778,
+ 0x00000718,
+ 0x00000728,
+ 0x00000758,
+ 0x00000720,
+ 0x00000708,
+ 0x00000760,
+ 0x00000738,
+ 0x00000650,
+ 0x00000648,
+ 0x00000630,
+ 0x00000640,
+ 0x00000668,
+ 0x00000670,
+ 0x00000610,
+ 0x00000600,
+ 0x00000678,
+ 0x00000618,
+ 0x00000628,
+ 0x00000658,
+ 0x00000620,
+ 0x00000608,
+ 0x00000660,
+ 0x00000638,
+ 0x00000350,
+ 0x00000348,
+ 0x00000330,
+ 0x00000340,
+ 0x00000368,
+ 0x00000370,
+ 0x00000310,
+ 0x00000300,
+ 0x00000378,
+ 0x00000318,
+ 0x00000328,
+ 0x00000358,
+ 0x00000320,
+ 0x00000308,
+ 0x00000360,
+ 0x00000338,
+ 0x000000d0,
+ 0x000000c8,
+ 0x000000b0,
+ 0x000000c0,
+ 0x000000e8,
+ 0x000000f0,
+ 0x00000090,
+ 0x00000080,
+ 0x000000f8,
+ 0x00000098,
+ 0x000000a8,
+ 0x000000d8,
+ 0x000000a0,
+ 0x00000088,
+ 0x000000e0,
+ 0x000000b8,
+ 0x000005d0,
+ 0x000005c8,
+ 0x000005b0,
+ 0x000005c0,
+ 0x000005e8,
+ 0x000005f0,
+ 0x00000590,
+ 0x00000580,
+ 0x000005f8,
+ 0x00000598,
+ 0x000005a8,
+ 0x000005d8,
+ 0x000005a0,
+ 0x00000588,
+ 0x000005e0,
+ 0x000005b8,
+ 0x000006d0,
+ 0x000006c8,
+ 0x000006b0,
+ 0x000006c0,
+ 0x000006e8,
+ 0x000006f0,
+ 0x00000690,
+ 0x00000680,
+ 0x000006f8,
+ 0x00000698,
+ 0x000006a8,
+ 0x000006d8,
+ 0x000006a0,
+ 0x00000688,
+ 0x000006e0,
+ 0x000006b8,
+ 0x000004d0,
+ 0x000004c8,
+ 0x000004b0,
+ 0x000004c0,
+ 0x000004e8,
+ 0x000004f0,
+ 0x00000490,
+ 0x00000480,
+ 0x000004f8,
+ 0x00000498,
+ 0x000004a8,
+ 0x000004d8,
+ 0x000004a0,
+ 0x00000488,
+ 0x000004e0,
+ 0x000004b8,
+ 0x000001d0,
+ 0x000001c8,
+ 0x000001b0,
+ 0x000001c0,
+ 0x000001e8,
+ 0x000001f0,
+ 0x00000190,
+ 0x00000180,
+ 0x000001f8,
+ 0x00000198,
+ 0x000001a8,
+ 0x000001d8,
+ 0x000001a0,
+ 0x00000188,
+ 0x000001e0,
+ 0x000001b8,
+ 0x00000450,
+ 0x00000448,
+ 0x00000430,
+ 0x00000440,
+ 0x00000468,
+ 0x00000470,
+ 0x00000410,
+ 0x00000400,
+ 0x00000478,
+ 0x00000418,
+ 0x00000428,
+ 0x00000458,
+ 0x00000420,
+ 0x00000408,
+ 0x00000460,
+ 0x00000438,
+ } };
-const struct gost28147_param gost28147_param_CryptoPro_D = {
- 1,
- {
- /* 0 */
- 0x0005f800, 0x0005e000, 0x00059000, 0x0005d000,
- 0x0005b000, 0x0005a000, 0x0005a800, 0x00058000,
- 0x0005b800, 0x0005c800, 0x0005f000, 0x0005e800,
- 0x00058800, 0x0005d800, 0x0005c000, 0x00059800,
- 0x00037800, 0x00036000, 0x00031000, 0x00035000,
- 0x00033000, 0x00032000, 0x00032800, 0x00030000,
- 0x00033800, 0x00034800, 0x00037000, 0x00036800,
- 0x00030800, 0x00035800, 0x00034000, 0x00031800,
- 0x0001f800, 0x0001e000, 0x00019000, 0x0001d000,
- 0x0001b000, 0x0001a000, 0x0001a800, 0x00018000,
- 0x0001b800, 0x0001c800, 0x0001f000, 0x0001e800,
- 0x00018800, 0x0001d800, 0x0001c000, 0x00019800,
- 0x00027800, 0x00026000, 0x00021000, 0x00025000,
- 0x00023000, 0x00022000, 0x00022800, 0x00020000,
- 0x00023800, 0x00024800, 0x00027000, 0x00026800,
- 0x00020800, 0x00025800, 0x00024000, 0x00021800,
- 0x00067800, 0x00066000, 0x00061000, 0x00065000,
- 0x00063000, 0x00062000, 0x00062800, 0x00060000,
- 0x00063800, 0x00064800, 0x00067000, 0x00066800,
- 0x00060800, 0x00065800, 0x00064000, 0x00061800,
- 0x0007f800, 0x0007e000, 0x00079000, 0x0007d000,
- 0x0007b000, 0x0007a000, 0x0007a800, 0x00078000,
- 0x0007b800, 0x0007c800, 0x0007f000, 0x0007e800,
- 0x00078800, 0x0007d800, 0x0007c000, 0x00079800,
- 0x00077800, 0x00076000, 0x00071000, 0x00075000,
- 0x00073000, 0x00072000, 0x00072800, 0x00070000,
- 0x00073800, 0x00074800, 0x00077000, 0x00076800,
- 0x00070800, 0x00075800, 0x00074000, 0x00071800,
- 0x00017800, 0x00016000, 0x00011000, 0x00015000,
- 0x00013000, 0x00012000, 0x00012800, 0x00010000,
- 0x00013800, 0x00014800, 0x00017000, 0x00016800,
- 0x00010800, 0x00015800, 0x00014000, 0x00011800,
- 0x0003f800, 0x0003e000, 0x00039000, 0x0003d000,
- 0x0003b000, 0x0003a000, 0x0003a800, 0x00038000,
- 0x0003b800, 0x0003c800, 0x0003f000, 0x0003e800,
- 0x00038800, 0x0003d800, 0x0003c000, 0x00039800,
- 0x0006f800, 0x0006e000, 0x00069000, 0x0006d000,
- 0x0006b000, 0x0006a000, 0x0006a800, 0x00068000,
- 0x0006b800, 0x0006c800, 0x0006f000, 0x0006e800,
- 0x00068800, 0x0006d800, 0x0006c000, 0x00069800,
- 0x00047800, 0x00046000, 0x00041000, 0x00045000,
- 0x00043000, 0x00042000, 0x00042800, 0x00040000,
- 0x00043800, 0x00044800, 0x00047000, 0x00046800,
- 0x00040800, 0x00045800, 0x00044000, 0x00041800,
- 0x00007800, 0x00006000, 0x00001000, 0x00005000,
- 0x00003000, 0x00002000, 0x00002800, 0x00000000,
- 0x00003800, 0x00004800, 0x00007000, 0x00006800,
- 0x00000800, 0x00005800, 0x00004000, 0x00001800,
- 0x0002f800, 0x0002e000, 0x00029000, 0x0002d000,
- 0x0002b000, 0x0002a000, 0x0002a800, 0x00028000,
- 0x0002b800, 0x0002c800, 0x0002f000, 0x0002e800,
- 0x00028800, 0x0002d800, 0x0002c000, 0x00029800,
- 0x00057800, 0x00056000, 0x00051000, 0x00055000,
- 0x00053000, 0x00052000, 0x00052800, 0x00050000,
- 0x00053800, 0x00054800, 0x00057000, 0x00056800,
- 0x00050800, 0x00055800, 0x00054000, 0x00051800,
- 0x0004f800, 0x0004e000, 0x00049000, 0x0004d000,
- 0x0004b000, 0x0004a000, 0x0004a800, 0x00048000,
- 0x0004b800, 0x0004c800, 0x0004f000, 0x0004e800,
- 0x00048800, 0x0004d800, 0x0004c000, 0x00049800,
- 0x0000f800, 0x0000e000, 0x00009000, 0x0000d000,
- 0x0000b000, 0x0000a000, 0x0000a800, 0x00008000,
- 0x0000b800, 0x0000c800, 0x0000f000, 0x0000e800,
- 0x00008800, 0x0000d800, 0x0000c000, 0x00009800,
- /* 1 */
- 0x00880000, 0x00e00000, 0x00d80000, 0x00800000,
- 0x00f80000, 0x00f00000, 0x00b00000, 0x00a80000,
- 0x00d00000, 0x00e80000, 0x00a00000, 0x00c00000,
- 0x00c80000, 0x00980000, 0x00b80000, 0x00900000,
- 0x02880000, 0x02e00000, 0x02d80000, 0x02800000,
- 0x02f80000, 0x02f00000, 0x02b00000, 0x02a80000,
- 0x02d00000, 0x02e80000, 0x02a00000, 0x02c00000,
- 0x02c80000, 0x02980000, 0x02b80000, 0x02900000,
- 0x07080000, 0x07600000, 0x07580000, 0x07000000,
- 0x07780000, 0x07700000, 0x07300000, 0x07280000,
- 0x07500000, 0x07680000, 0x07200000, 0x07400000,
- 0x07480000, 0x07180000, 0x07380000, 0x07100000,
- 0x06080000, 0x06600000, 0x06580000, 0x06000000,
- 0x06780000, 0x06700000, 0x06300000, 0x06280000,
- 0x06500000, 0x06680000, 0x06200000, 0x06400000,
- 0x06480000, 0x06180000, 0x06380000, 0x06100000,
- 0x05080000, 0x05600000, 0x05580000, 0x05000000,
- 0x05780000, 0x05700000, 0x05300000, 0x05280000,
- 0x05500000, 0x05680000, 0x05200000, 0x05400000,
- 0x05480000, 0x05180000, 0x05380000, 0x05100000,
- 0x03880000, 0x03e00000, 0x03d80000, 0x03800000,
- 0x03f80000, 0x03f00000, 0x03b00000, 0x03a80000,
- 0x03d00000, 0x03e80000, 0x03a00000, 0x03c00000,
- 0x03c80000, 0x03980000, 0x03b80000, 0x03900000,
- 0x00080000, 0x00600000, 0x00580000, 0x00000000,
- 0x00780000, 0x00700000, 0x00300000, 0x00280000,
- 0x00500000, 0x00680000, 0x00200000, 0x00400000,
- 0x00480000, 0x00180000, 0x00380000, 0x00100000,
- 0x06880000, 0x06e00000, 0x06d80000, 0x06800000,
- 0x06f80000, 0x06f00000, 0x06b00000, 0x06a80000,
- 0x06d00000, 0x06e80000, 0x06a00000, 0x06c00000,
- 0x06c80000, 0x06980000, 0x06b80000, 0x06900000,
- 0x03080000, 0x03600000, 0x03580000, 0x03000000,
- 0x03780000, 0x03700000, 0x03300000, 0x03280000,
- 0x03500000, 0x03680000, 0x03200000, 0x03400000,
- 0x03480000, 0x03180000, 0x03380000, 0x03100000,
- 0x01080000, 0x01600000, 0x01580000, 0x01000000,
- 0x01780000, 0x01700000, 0x01300000, 0x01280000,
- 0x01500000, 0x01680000, 0x01200000, 0x01400000,
- 0x01480000, 0x01180000, 0x01380000, 0x01100000,
- 0x05880000, 0x05e00000, 0x05d80000, 0x05800000,
- 0x05f80000, 0x05f00000, 0x05b00000, 0x05a80000,
- 0x05d00000, 0x05e80000, 0x05a00000, 0x05c00000,
- 0x05c80000, 0x05980000, 0x05b80000, 0x05900000,
- 0x02080000, 0x02600000, 0x02580000, 0x02000000,
- 0x02780000, 0x02700000, 0x02300000, 0x02280000,
- 0x02500000, 0x02680000, 0x02200000, 0x02400000,
- 0x02480000, 0x02180000, 0x02380000, 0x02100000,
- 0x04880000, 0x04e00000, 0x04d80000, 0x04800000,
- 0x04f80000, 0x04f00000, 0x04b00000, 0x04a80000,
- 0x04d00000, 0x04e80000, 0x04a00000, 0x04c00000,
- 0x04c80000, 0x04980000, 0x04b80000, 0x04900000,
- 0x01880000, 0x01e00000, 0x01d80000, 0x01800000,
- 0x01f80000, 0x01f00000, 0x01b00000, 0x01a80000,
- 0x01d00000, 0x01e80000, 0x01a00000, 0x01c00000,
- 0x01c80000, 0x01980000, 0x01b80000, 0x01900000,
- 0x07880000, 0x07e00000, 0x07d80000, 0x07800000,
- 0x07f80000, 0x07f00000, 0x07b00000, 0x07a80000,
- 0x07d00000, 0x07e80000, 0x07a00000, 0x07c00000,
- 0x07c80000, 0x07980000, 0x07b80000, 0x07900000,
- 0x04080000, 0x04600000, 0x04580000, 0x04000000,
- 0x04780000, 0x04700000, 0x04300000, 0x04280000,
- 0x04500000, 0x04680000, 0x04200000, 0x04400000,
- 0x04480000, 0x04180000, 0x04380000, 0x04100000,
- /* 2 */
- 0x00000004, 0x60000004, 0x40000004, 0x48000004,
- 0x68000004, 0x10000004, 0x50000004, 0x58000004,
- 0x38000004, 0x18000004, 0x30000004, 0x28000004,
- 0x20000004, 0x70000004, 0x78000004, 0x08000004,
- 0x00000000, 0x60000000, 0x40000000, 0x48000000,
- 0x68000000, 0x10000000, 0x50000000, 0x58000000,
- 0x38000000, 0x18000000, 0x30000000, 0x28000000,
- 0x20000000, 0x70000000, 0x78000000, 0x08000000,
- 0x80000007, 0xe0000007, 0xc0000007, 0xc8000007,
- 0xe8000007, 0x90000007, 0xd0000007, 0xd8000007,
- 0xb8000007, 0x98000007, 0xb0000007, 0xa8000007,
- 0xa0000007, 0xf0000007, 0xf8000007, 0x88000007,
- 0x80000001, 0xe0000001, 0xc0000001, 0xc8000001,
- 0xe8000001, 0x90000001, 0xd0000001, 0xd8000001,
- 0xb8000001, 0x98000001, 0xb0000001, 0xa8000001,
- 0xa0000001, 0xf0000001, 0xf8000001, 0x88000001,
- 0x00000001, 0x60000001, 0x40000001, 0x48000001,
- 0x68000001, 0x10000001, 0x50000001, 0x58000001,
- 0x38000001, 0x18000001, 0x30000001, 0x28000001,
- 0x20000001, 0x70000001, 0x78000001, 0x08000001,
- 0x80000002, 0xe0000002, 0xc0000002, 0xc8000002,
- 0xe8000002, 0x90000002, 0xd0000002, 0xd8000002,
- 0xb8000002, 0x98000002, 0xb0000002, 0xa8000002,
- 0xa0000002, 0xf0000002, 0xf8000002, 0x88000002,
- 0x00000007, 0x60000007, 0x40000007, 0x48000007,
- 0x68000007, 0x10000007, 0x50000007, 0x58000007,
- 0x38000007, 0x18000007, 0x30000007, 0x28000007,
- 0x20000007, 0x70000007, 0x78000007, 0x08000007,
- 0x80000005, 0xe0000005, 0xc0000005, 0xc8000005,
- 0xe8000005, 0x90000005, 0xd0000005, 0xd8000005,
- 0xb8000005, 0x98000005, 0xb0000005, 0xa8000005,
- 0xa0000005, 0xf0000005, 0xf8000005, 0x88000005,
- 0x80000000, 0xe0000000, 0xc0000000, 0xc8000000,
- 0xe8000000, 0x90000000, 0xd0000000, 0xd8000000,
- 0xb8000000, 0x98000000, 0xb0000000, 0xa8000000,
- 0xa0000000, 0xf0000000, 0xf8000000, 0x88000000,
- 0x00000005, 0x60000005, 0x40000005, 0x48000005,
- 0x68000005, 0x10000005, 0x50000005, 0x58000005,
- 0x38000005, 0x18000005, 0x30000005, 0x28000005,
- 0x20000005, 0x70000005, 0x78000005, 0x08000005,
- 0x00000002, 0x60000002, 0x40000002, 0x48000002,
- 0x68000002, 0x10000002, 0x50000002, 0x58000002,
- 0x38000002, 0x18000002, 0x30000002, 0x28000002,
- 0x20000002, 0x70000002, 0x78000002, 0x08000002,
- 0x80000003, 0xe0000003, 0xc0000003, 0xc8000003,
- 0xe8000003, 0x90000003, 0xd0000003, 0xd8000003,
- 0xb8000003, 0x98000003, 0xb0000003, 0xa8000003,
- 0xa0000003, 0xf0000003, 0xf8000003, 0x88000003,
- 0x00000006, 0x60000006, 0x40000006, 0x48000006,
- 0x68000006, 0x10000006, 0x50000006, 0x58000006,
- 0x38000006, 0x18000006, 0x30000006, 0x28000006,
- 0x20000006, 0x70000006, 0x78000006, 0x08000006,
- 0x80000004, 0xe0000004, 0xc0000004, 0xc8000004,
- 0xe8000004, 0x90000004, 0xd0000004, 0xd8000004,
- 0xb8000004, 0x98000004, 0xb0000004, 0xa8000004,
- 0xa0000004, 0xf0000004, 0xf8000004, 0x88000004,
- 0x80000006, 0xe0000006, 0xc0000006, 0xc8000006,
- 0xe8000006, 0x90000006, 0xd0000006, 0xd8000006,
- 0xb8000006, 0x98000006, 0xb0000006, 0xa8000006,
- 0xa0000006, 0xf0000006, 0xf8000006, 0x88000006,
- 0x00000003, 0x60000003, 0x40000003, 0x48000003,
- 0x68000003, 0x10000003, 0x50000003, 0x58000003,
- 0x38000003, 0x18000003, 0x30000003, 0x28000003,
- 0x20000003, 0x70000003, 0x78000003, 0x08000003,
- /* 3 */
- 0x00000098, 0x00000080, 0x000000b0, 0x000000f8,
- 0x00000088, 0x000000f0, 0x000000c8, 0x00000090,
- 0x000000e8, 0x000000c0, 0x000000e0, 0x000000a0,
- 0x000000d8, 0x000000d0, 0x000000a8, 0x000000b8,
- 0x00000518, 0x00000500, 0x00000530, 0x00000578,
- 0x00000508, 0x00000570, 0x00000548, 0x00000510,
- 0x00000568, 0x00000540, 0x00000560, 0x00000520,
- 0x00000558, 0x00000550, 0x00000528, 0x00000538,
- 0x00000318, 0x00000300, 0x00000330, 0x00000378,
- 0x00000308, 0x00000370, 0x00000348, 0x00000310,
- 0x00000368, 0x00000340, 0x00000360, 0x00000320,
- 0x00000358, 0x00000350, 0x00000328, 0x00000338,
- 0x00000418, 0x00000400, 0x00000430, 0x00000478,
- 0x00000408, 0x00000470, 0x00000448, 0x00000410,
- 0x00000468, 0x00000440, 0x00000460, 0x00000420,
- 0x00000458, 0x00000450, 0x00000428, 0x00000438,
- 0x00000798, 0x00000780, 0x000007b0, 0x000007f8,
- 0x00000788, 0x000007f0, 0x000007c8, 0x00000790,
- 0x000007e8, 0x000007c0, 0x000007e0, 0x000007a0,
- 0x000007d8, 0x000007d0, 0x000007a8, 0x000007b8,
- 0x00000598, 0x00000580, 0x000005b0, 0x000005f8,
- 0x00000588, 0x000005f0, 0x000005c8, 0x00000590,
- 0x000005e8, 0x000005c0, 0x000005e0, 0x000005a0,
- 0x000005d8, 0x000005d0, 0x000005a8, 0x000005b8,
- 0x00000018, 0x00000000, 0x00000030, 0x00000078,
- 0x00000008, 0x00000070, 0x00000048, 0x00000010,
- 0x00000068, 0x00000040, 0x00000060, 0x00000020,
- 0x00000058, 0x00000050, 0x00000028, 0x00000038,
- 0x00000218, 0x00000200, 0x00000230, 0x00000278,
- 0x00000208, 0x00000270, 0x00000248, 0x00000210,
- 0x00000268, 0x00000240, 0x00000260, 0x00000220,
- 0x00000258, 0x00000250, 0x00000228, 0x00000238,
- 0x00000618, 0x00000600, 0x00000630, 0x00000678,
- 0x00000608, 0x00000670, 0x00000648, 0x00000610,
- 0x00000668, 0x00000640, 0x00000660, 0x00000620,
- 0x00000658, 0x00000650, 0x00000628, 0x00000638,
- 0x00000198, 0x00000180, 0x000001b0, 0x000001f8,
- 0x00000188, 0x000001f0, 0x000001c8, 0x00000190,
- 0x000001e8, 0x000001c0, 0x000001e0, 0x000001a0,
- 0x000001d8, 0x000001d0, 0x000001a8, 0x000001b8,
- 0x00000298, 0x00000280, 0x000002b0, 0x000002f8,
- 0x00000288, 0x000002f0, 0x000002c8, 0x00000290,
- 0x000002e8, 0x000002c0, 0x000002e0, 0x000002a0,
- 0x000002d8, 0x000002d0, 0x000002a8, 0x000002b8,
- 0x00000498, 0x00000480, 0x000004b0, 0x000004f8,
- 0x00000488, 0x000004f0, 0x000004c8, 0x00000490,
- 0x000004e8, 0x000004c0, 0x000004e0, 0x000004a0,
- 0x000004d8, 0x000004d0, 0x000004a8, 0x000004b8,
- 0x00000398, 0x00000380, 0x000003b0, 0x000003f8,
- 0x00000388, 0x000003f0, 0x000003c8, 0x00000390,
- 0x000003e8, 0x000003c0, 0x000003e0, 0x000003a0,
- 0x000003d8, 0x000003d0, 0x000003a8, 0x000003b8,
- 0x00000698, 0x00000680, 0x000006b0, 0x000006f8,
- 0x00000688, 0x000006f0, 0x000006c8, 0x00000690,
- 0x000006e8, 0x000006c0, 0x000006e0, 0x000006a0,
- 0x000006d8, 0x000006d0, 0x000006a8, 0x000006b8,
- 0x00000118, 0x00000100, 0x00000130, 0x00000178,
- 0x00000108, 0x00000170, 0x00000148, 0x00000110,
- 0x00000168, 0x00000140, 0x00000160, 0x00000120,
- 0x00000158, 0x00000150, 0x00000128, 0x00000138,
- 0x00000718, 0x00000700, 0x00000730, 0x00000778,
- 0x00000708, 0x00000770, 0x00000748, 0x00000710,
- 0x00000768, 0x00000740, 0x00000760, 0x00000720,
- 0x00000758, 0x00000750, 0x00000728, 0x00000738,
- }
-};
+const struct gost28147_param gost28147_param_CryptoPro_D = { 1,
+ {
+ /* 0 */
+ 0x0005f800,
+ 0x0005e000,
+ 0x00059000,
+ 0x0005d000,
+ 0x0005b000,
+ 0x0005a000,
+ 0x0005a800,
+ 0x00058000,
+ 0x0005b800,
+ 0x0005c800,
+ 0x0005f000,
+ 0x0005e800,
+ 0x00058800,
+ 0x0005d800,
+ 0x0005c000,
+ 0x00059800,
+ 0x00037800,
+ 0x00036000,
+ 0x00031000,
+ 0x00035000,
+ 0x00033000,
+ 0x00032000,
+ 0x00032800,
+ 0x00030000,
+ 0x00033800,
+ 0x00034800,
+ 0x00037000,
+ 0x00036800,
+ 0x00030800,
+ 0x00035800,
+ 0x00034000,
+ 0x00031800,
+ 0x0001f800,
+ 0x0001e000,
+ 0x00019000,
+ 0x0001d000,
+ 0x0001b000,
+ 0x0001a000,
+ 0x0001a800,
+ 0x00018000,
+ 0x0001b800,
+ 0x0001c800,
+ 0x0001f000,
+ 0x0001e800,
+ 0x00018800,
+ 0x0001d800,
+ 0x0001c000,
+ 0x00019800,
+ 0x00027800,
+ 0x00026000,
+ 0x00021000,
+ 0x00025000,
+ 0x00023000,
+ 0x00022000,
+ 0x00022800,
+ 0x00020000,
+ 0x00023800,
+ 0x00024800,
+ 0x00027000,
+ 0x00026800,
+ 0x00020800,
+ 0x00025800,
+ 0x00024000,
+ 0x00021800,
+ 0x00067800,
+ 0x00066000,
+ 0x00061000,
+ 0x00065000,
+ 0x00063000,
+ 0x00062000,
+ 0x00062800,
+ 0x00060000,
+ 0x00063800,
+ 0x00064800,
+ 0x00067000,
+ 0x00066800,
+ 0x00060800,
+ 0x00065800,
+ 0x00064000,
+ 0x00061800,
+ 0x0007f800,
+ 0x0007e000,
+ 0x00079000,
+ 0x0007d000,
+ 0x0007b000,
+ 0x0007a000,
+ 0x0007a800,
+ 0x00078000,
+ 0x0007b800,
+ 0x0007c800,
+ 0x0007f000,
+ 0x0007e800,
+ 0x00078800,
+ 0x0007d800,
+ 0x0007c000,
+ 0x00079800,
+ 0x00077800,
+ 0x00076000,
+ 0x00071000,
+ 0x00075000,
+ 0x00073000,
+ 0x00072000,
+ 0x00072800,
+ 0x00070000,
+ 0x00073800,
+ 0x00074800,
+ 0x00077000,
+ 0x00076800,
+ 0x00070800,
+ 0x00075800,
+ 0x00074000,
+ 0x00071800,
+ 0x00017800,
+ 0x00016000,
+ 0x00011000,
+ 0x00015000,
+ 0x00013000,
+ 0x00012000,
+ 0x00012800,
+ 0x00010000,
+ 0x00013800,
+ 0x00014800,
+ 0x00017000,
+ 0x00016800,
+ 0x00010800,
+ 0x00015800,
+ 0x00014000,
+ 0x00011800,
+ 0x0003f800,
+ 0x0003e000,
+ 0x00039000,
+ 0x0003d000,
+ 0x0003b000,
+ 0x0003a000,
+ 0x0003a800,
+ 0x00038000,
+ 0x0003b800,
+ 0x0003c800,
+ 0x0003f000,
+ 0x0003e800,
+ 0x00038800,
+ 0x0003d800,
+ 0x0003c000,
+ 0x00039800,
+ 0x0006f800,
+ 0x0006e000,
+ 0x00069000,
+ 0x0006d000,
+ 0x0006b000,
+ 0x0006a000,
+ 0x0006a800,
+ 0x00068000,
+ 0x0006b800,
+ 0x0006c800,
+ 0x0006f000,
+ 0x0006e800,
+ 0x00068800,
+ 0x0006d800,
+ 0x0006c000,
+ 0x00069800,
+ 0x00047800,
+ 0x00046000,
+ 0x00041000,
+ 0x00045000,
+ 0x00043000,
+ 0x00042000,
+ 0x00042800,
+ 0x00040000,
+ 0x00043800,
+ 0x00044800,
+ 0x00047000,
+ 0x00046800,
+ 0x00040800,
+ 0x00045800,
+ 0x00044000,
+ 0x00041800,
+ 0x00007800,
+ 0x00006000,
+ 0x00001000,
+ 0x00005000,
+ 0x00003000,
+ 0x00002000,
+ 0x00002800,
+ 0x00000000,
+ 0x00003800,
+ 0x00004800,
+ 0x00007000,
+ 0x00006800,
+ 0x00000800,
+ 0x00005800,
+ 0x00004000,
+ 0x00001800,
+ 0x0002f800,
+ 0x0002e000,
+ 0x00029000,
+ 0x0002d000,
+ 0x0002b000,
+ 0x0002a000,
+ 0x0002a800,
+ 0x00028000,
+ 0x0002b800,
+ 0x0002c800,
+ 0x0002f000,
+ 0x0002e800,
+ 0x00028800,
+ 0x0002d800,
+ 0x0002c000,
+ 0x00029800,
+ 0x00057800,
+ 0x00056000,
+ 0x00051000,
+ 0x00055000,
+ 0x00053000,
+ 0x00052000,
+ 0x00052800,
+ 0x00050000,
+ 0x00053800,
+ 0x00054800,
+ 0x00057000,
+ 0x00056800,
+ 0x00050800,
+ 0x00055800,
+ 0x00054000,
+ 0x00051800,
+ 0x0004f800,
+ 0x0004e000,
+ 0x00049000,
+ 0x0004d000,
+ 0x0004b000,
+ 0x0004a000,
+ 0x0004a800,
+ 0x00048000,
+ 0x0004b800,
+ 0x0004c800,
+ 0x0004f000,
+ 0x0004e800,
+ 0x00048800,
+ 0x0004d800,
+ 0x0004c000,
+ 0x00049800,
+ 0x0000f800,
+ 0x0000e000,
+ 0x00009000,
+ 0x0000d000,
+ 0x0000b000,
+ 0x0000a000,
+ 0x0000a800,
+ 0x00008000,
+ 0x0000b800,
+ 0x0000c800,
+ 0x0000f000,
+ 0x0000e800,
+ 0x00008800,
+ 0x0000d800,
+ 0x0000c000,
+ 0x00009800,
+ /* 1 */
+ 0x00880000,
+ 0x00e00000,
+ 0x00d80000,
+ 0x00800000,
+ 0x00f80000,
+ 0x00f00000,
+ 0x00b00000,
+ 0x00a80000,
+ 0x00d00000,
+ 0x00e80000,
+ 0x00a00000,
+ 0x00c00000,
+ 0x00c80000,
+ 0x00980000,
+ 0x00b80000,
+ 0x00900000,
+ 0x02880000,
+ 0x02e00000,
+ 0x02d80000,
+ 0x02800000,
+ 0x02f80000,
+ 0x02f00000,
+ 0x02b00000,
+ 0x02a80000,
+ 0x02d00000,
+ 0x02e80000,
+ 0x02a00000,
+ 0x02c00000,
+ 0x02c80000,
+ 0x02980000,
+ 0x02b80000,
+ 0x02900000,
+ 0x07080000,
+ 0x07600000,
+ 0x07580000,
+ 0x07000000,
+ 0x07780000,
+ 0x07700000,
+ 0x07300000,
+ 0x07280000,
+ 0x07500000,
+ 0x07680000,
+ 0x07200000,
+ 0x07400000,
+ 0x07480000,
+ 0x07180000,
+ 0x07380000,
+ 0x07100000,
+ 0x06080000,
+ 0x06600000,
+ 0x06580000,
+ 0x06000000,
+ 0x06780000,
+ 0x06700000,
+ 0x06300000,
+ 0x06280000,
+ 0x06500000,
+ 0x06680000,
+ 0x06200000,
+ 0x06400000,
+ 0x06480000,
+ 0x06180000,
+ 0x06380000,
+ 0x06100000,
+ 0x05080000,
+ 0x05600000,
+ 0x05580000,
+ 0x05000000,
+ 0x05780000,
+ 0x05700000,
+ 0x05300000,
+ 0x05280000,
+ 0x05500000,
+ 0x05680000,
+ 0x05200000,
+ 0x05400000,
+ 0x05480000,
+ 0x05180000,
+ 0x05380000,
+ 0x05100000,
+ 0x03880000,
+ 0x03e00000,
+ 0x03d80000,
+ 0x03800000,
+ 0x03f80000,
+ 0x03f00000,
+ 0x03b00000,
+ 0x03a80000,
+ 0x03d00000,
+ 0x03e80000,
+ 0x03a00000,
+ 0x03c00000,
+ 0x03c80000,
+ 0x03980000,
+ 0x03b80000,
+ 0x03900000,
+ 0x00080000,
+ 0x00600000,
+ 0x00580000,
+ 0x00000000,
+ 0x00780000,
+ 0x00700000,
+ 0x00300000,
+ 0x00280000,
+ 0x00500000,
+ 0x00680000,
+ 0x00200000,
+ 0x00400000,
+ 0x00480000,
+ 0x00180000,
+ 0x00380000,
+ 0x00100000,
+ 0x06880000,
+ 0x06e00000,
+ 0x06d80000,
+ 0x06800000,
+ 0x06f80000,
+ 0x06f00000,
+ 0x06b00000,
+ 0x06a80000,
+ 0x06d00000,
+ 0x06e80000,
+ 0x06a00000,
+ 0x06c00000,
+ 0x06c80000,
+ 0x06980000,
+ 0x06b80000,
+ 0x06900000,
+ 0x03080000,
+ 0x03600000,
+ 0x03580000,
+ 0x03000000,
+ 0x03780000,
+ 0x03700000,
+ 0x03300000,
+ 0x03280000,
+ 0x03500000,
+ 0x03680000,
+ 0x03200000,
+ 0x03400000,
+ 0x03480000,
+ 0x03180000,
+ 0x03380000,
+ 0x03100000,
+ 0x01080000,
+ 0x01600000,
+ 0x01580000,
+ 0x01000000,
+ 0x01780000,
+ 0x01700000,
+ 0x01300000,
+ 0x01280000,
+ 0x01500000,
+ 0x01680000,
+ 0x01200000,
+ 0x01400000,
+ 0x01480000,
+ 0x01180000,
+ 0x01380000,
+ 0x01100000,
+ 0x05880000,
+ 0x05e00000,
+ 0x05d80000,
+ 0x05800000,
+ 0x05f80000,
+ 0x05f00000,
+ 0x05b00000,
+ 0x05a80000,
+ 0x05d00000,
+ 0x05e80000,
+ 0x05a00000,
+ 0x05c00000,
+ 0x05c80000,
+ 0x05980000,
+ 0x05b80000,
+ 0x05900000,
+ 0x02080000,
+ 0x02600000,
+ 0x02580000,
+ 0x02000000,
+ 0x02780000,
+ 0x02700000,
+ 0x02300000,
+ 0x02280000,
+ 0x02500000,
+ 0x02680000,
+ 0x02200000,
+ 0x02400000,
+ 0x02480000,
+ 0x02180000,
+ 0x02380000,
+ 0x02100000,
+ 0x04880000,
+ 0x04e00000,
+ 0x04d80000,
+ 0x04800000,
+ 0x04f80000,
+ 0x04f00000,
+ 0x04b00000,
+ 0x04a80000,
+ 0x04d00000,
+ 0x04e80000,
+ 0x04a00000,
+ 0x04c00000,
+ 0x04c80000,
+ 0x04980000,
+ 0x04b80000,
+ 0x04900000,
+ 0x01880000,
+ 0x01e00000,
+ 0x01d80000,
+ 0x01800000,
+ 0x01f80000,
+ 0x01f00000,
+ 0x01b00000,
+ 0x01a80000,
+ 0x01d00000,
+ 0x01e80000,
+ 0x01a00000,
+ 0x01c00000,
+ 0x01c80000,
+ 0x01980000,
+ 0x01b80000,
+ 0x01900000,
+ 0x07880000,
+ 0x07e00000,
+ 0x07d80000,
+ 0x07800000,
+ 0x07f80000,
+ 0x07f00000,
+ 0x07b00000,
+ 0x07a80000,
+ 0x07d00000,
+ 0x07e80000,
+ 0x07a00000,
+ 0x07c00000,
+ 0x07c80000,
+ 0x07980000,
+ 0x07b80000,
+ 0x07900000,
+ 0x04080000,
+ 0x04600000,
+ 0x04580000,
+ 0x04000000,
+ 0x04780000,
+ 0x04700000,
+ 0x04300000,
+ 0x04280000,
+ 0x04500000,
+ 0x04680000,
+ 0x04200000,
+ 0x04400000,
+ 0x04480000,
+ 0x04180000,
+ 0x04380000,
+ 0x04100000,
+ /* 2 */
+ 0x00000004,
+ 0x60000004,
+ 0x40000004,
+ 0x48000004,
+ 0x68000004,
+ 0x10000004,
+ 0x50000004,
+ 0x58000004,
+ 0x38000004,
+ 0x18000004,
+ 0x30000004,
+ 0x28000004,
+ 0x20000004,
+ 0x70000004,
+ 0x78000004,
+ 0x08000004,
+ 0x00000000,
+ 0x60000000,
+ 0x40000000,
+ 0x48000000,
+ 0x68000000,
+ 0x10000000,
+ 0x50000000,
+ 0x58000000,
+ 0x38000000,
+ 0x18000000,
+ 0x30000000,
+ 0x28000000,
+ 0x20000000,
+ 0x70000000,
+ 0x78000000,
+ 0x08000000,
+ 0x80000007,
+ 0xe0000007,
+ 0xc0000007,
+ 0xc8000007,
+ 0xe8000007,
+ 0x90000007,
+ 0xd0000007,
+ 0xd8000007,
+ 0xb8000007,
+ 0x98000007,
+ 0xb0000007,
+ 0xa8000007,
+ 0xa0000007,
+ 0xf0000007,
+ 0xf8000007,
+ 0x88000007,
+ 0x80000001,
+ 0xe0000001,
+ 0xc0000001,
+ 0xc8000001,
+ 0xe8000001,
+ 0x90000001,
+ 0xd0000001,
+ 0xd8000001,
+ 0xb8000001,
+ 0x98000001,
+ 0xb0000001,
+ 0xa8000001,
+ 0xa0000001,
+ 0xf0000001,
+ 0xf8000001,
+ 0x88000001,
+ 0x00000001,
+ 0x60000001,
+ 0x40000001,
+ 0x48000001,
+ 0x68000001,
+ 0x10000001,
+ 0x50000001,
+ 0x58000001,
+ 0x38000001,
+ 0x18000001,
+ 0x30000001,
+ 0x28000001,
+ 0x20000001,
+ 0x70000001,
+ 0x78000001,
+ 0x08000001,
+ 0x80000002,
+ 0xe0000002,
+ 0xc0000002,
+ 0xc8000002,
+ 0xe8000002,
+ 0x90000002,
+ 0xd0000002,
+ 0xd8000002,
+ 0xb8000002,
+ 0x98000002,
+ 0xb0000002,
+ 0xa8000002,
+ 0xa0000002,
+ 0xf0000002,
+ 0xf8000002,
+ 0x88000002,
+ 0x00000007,
+ 0x60000007,
+ 0x40000007,
+ 0x48000007,
+ 0x68000007,
+ 0x10000007,
+ 0x50000007,
+ 0x58000007,
+ 0x38000007,
+ 0x18000007,
+ 0x30000007,
+ 0x28000007,
+ 0x20000007,
+ 0x70000007,
+ 0x78000007,
+ 0x08000007,
+ 0x80000005,
+ 0xe0000005,
+ 0xc0000005,
+ 0xc8000005,
+ 0xe8000005,
+ 0x90000005,
+ 0xd0000005,
+ 0xd8000005,
+ 0xb8000005,
+ 0x98000005,
+ 0xb0000005,
+ 0xa8000005,
+ 0xa0000005,
+ 0xf0000005,
+ 0xf8000005,
+ 0x88000005,
+ 0x80000000,
+ 0xe0000000,
+ 0xc0000000,
+ 0xc8000000,
+ 0xe8000000,
+ 0x90000000,
+ 0xd0000000,
+ 0xd8000000,
+ 0xb8000000,
+ 0x98000000,
+ 0xb0000000,
+ 0xa8000000,
+ 0xa0000000,
+ 0xf0000000,
+ 0xf8000000,
+ 0x88000000,
+ 0x00000005,
+ 0x60000005,
+ 0x40000005,
+ 0x48000005,
+ 0x68000005,
+ 0x10000005,
+ 0x50000005,
+ 0x58000005,
+ 0x38000005,
+ 0x18000005,
+ 0x30000005,
+ 0x28000005,
+ 0x20000005,
+ 0x70000005,
+ 0x78000005,
+ 0x08000005,
+ 0x00000002,
+ 0x60000002,
+ 0x40000002,
+ 0x48000002,
+ 0x68000002,
+ 0x10000002,
+ 0x50000002,
+ 0x58000002,
+ 0x38000002,
+ 0x18000002,
+ 0x30000002,
+ 0x28000002,
+ 0x20000002,
+ 0x70000002,
+ 0x78000002,
+ 0x08000002,
+ 0x80000003,
+ 0xe0000003,
+ 0xc0000003,
+ 0xc8000003,
+ 0xe8000003,
+ 0x90000003,
+ 0xd0000003,
+ 0xd8000003,
+ 0xb8000003,
+ 0x98000003,
+ 0xb0000003,
+ 0xa8000003,
+ 0xa0000003,
+ 0xf0000003,
+ 0xf8000003,
+ 0x88000003,
+ 0x00000006,
+ 0x60000006,
+ 0x40000006,
+ 0x48000006,
+ 0x68000006,
+ 0x10000006,
+ 0x50000006,
+ 0x58000006,
+ 0x38000006,
+ 0x18000006,
+ 0x30000006,
+ 0x28000006,
+ 0x20000006,
+ 0x70000006,
+ 0x78000006,
+ 0x08000006,
+ 0x80000004,
+ 0xe0000004,
+ 0xc0000004,
+ 0xc8000004,
+ 0xe8000004,
+ 0x90000004,
+ 0xd0000004,
+ 0xd8000004,
+ 0xb8000004,
+ 0x98000004,
+ 0xb0000004,
+ 0xa8000004,
+ 0xa0000004,
+ 0xf0000004,
+ 0xf8000004,
+ 0x88000004,
+ 0x80000006,
+ 0xe0000006,
+ 0xc0000006,
+ 0xc8000006,
+ 0xe8000006,
+ 0x90000006,
+ 0xd0000006,
+ 0xd8000006,
+ 0xb8000006,
+ 0x98000006,
+ 0xb0000006,
+ 0xa8000006,
+ 0xa0000006,
+ 0xf0000006,
+ 0xf8000006,
+ 0x88000006,
+ 0x00000003,
+ 0x60000003,
+ 0x40000003,
+ 0x48000003,
+ 0x68000003,
+ 0x10000003,
+ 0x50000003,
+ 0x58000003,
+ 0x38000003,
+ 0x18000003,
+ 0x30000003,
+ 0x28000003,
+ 0x20000003,
+ 0x70000003,
+ 0x78000003,
+ 0x08000003,
+ /* 3 */
+ 0x00000098,
+ 0x00000080,
+ 0x000000b0,
+ 0x000000f8,
+ 0x00000088,
+ 0x000000f0,
+ 0x000000c8,
+ 0x00000090,
+ 0x000000e8,
+ 0x000000c0,
+ 0x000000e0,
+ 0x000000a0,
+ 0x000000d8,
+ 0x000000d0,
+ 0x000000a8,
+ 0x000000b8,
+ 0x00000518,
+ 0x00000500,
+ 0x00000530,
+ 0x00000578,
+ 0x00000508,
+ 0x00000570,
+ 0x00000548,
+ 0x00000510,
+ 0x00000568,
+ 0x00000540,
+ 0x00000560,
+ 0x00000520,
+ 0x00000558,
+ 0x00000550,
+ 0x00000528,
+ 0x00000538,
+ 0x00000318,
+ 0x00000300,
+ 0x00000330,
+ 0x00000378,
+ 0x00000308,
+ 0x00000370,
+ 0x00000348,
+ 0x00000310,
+ 0x00000368,
+ 0x00000340,
+ 0x00000360,
+ 0x00000320,
+ 0x00000358,
+ 0x00000350,
+ 0x00000328,
+ 0x00000338,
+ 0x00000418,
+ 0x00000400,
+ 0x00000430,
+ 0x00000478,
+ 0x00000408,
+ 0x00000470,
+ 0x00000448,
+ 0x00000410,
+ 0x00000468,
+ 0x00000440,
+ 0x00000460,
+ 0x00000420,
+ 0x00000458,
+ 0x00000450,
+ 0x00000428,
+ 0x00000438,
+ 0x00000798,
+ 0x00000780,
+ 0x000007b0,
+ 0x000007f8,
+ 0x00000788,
+ 0x000007f0,
+ 0x000007c8,
+ 0x00000790,
+ 0x000007e8,
+ 0x000007c0,
+ 0x000007e0,
+ 0x000007a0,
+ 0x000007d8,
+ 0x000007d0,
+ 0x000007a8,
+ 0x000007b8,
+ 0x00000598,
+ 0x00000580,
+ 0x000005b0,
+ 0x000005f8,
+ 0x00000588,
+ 0x000005f0,
+ 0x000005c8,
+ 0x00000590,
+ 0x000005e8,
+ 0x000005c0,
+ 0x000005e0,
+ 0x000005a0,
+ 0x000005d8,
+ 0x000005d0,
+ 0x000005a8,
+ 0x000005b8,
+ 0x00000018,
+ 0x00000000,
+ 0x00000030,
+ 0x00000078,
+ 0x00000008,
+ 0x00000070,
+ 0x00000048,
+ 0x00000010,
+ 0x00000068,
+ 0x00000040,
+ 0x00000060,
+ 0x00000020,
+ 0x00000058,
+ 0x00000050,
+ 0x00000028,
+ 0x00000038,
+ 0x00000218,
+ 0x00000200,
+ 0x00000230,
+ 0x00000278,
+ 0x00000208,
+ 0x00000270,
+ 0x00000248,
+ 0x00000210,
+ 0x00000268,
+ 0x00000240,
+ 0x00000260,
+ 0x00000220,
+ 0x00000258,
+ 0x00000250,
+ 0x00000228,
+ 0x00000238,
+ 0x00000618,
+ 0x00000600,
+ 0x00000630,
+ 0x00000678,
+ 0x00000608,
+ 0x00000670,
+ 0x00000648,
+ 0x00000610,
+ 0x00000668,
+ 0x00000640,
+ 0x00000660,
+ 0x00000620,
+ 0x00000658,
+ 0x00000650,
+ 0x00000628,
+ 0x00000638,
+ 0x00000198,
+ 0x00000180,
+ 0x000001b0,
+ 0x000001f8,
+ 0x00000188,
+ 0x000001f0,
+ 0x000001c8,
+ 0x00000190,
+ 0x000001e8,
+ 0x000001c0,
+ 0x000001e0,
+ 0x000001a0,
+ 0x000001d8,
+ 0x000001d0,
+ 0x000001a8,
+ 0x000001b8,
+ 0x00000298,
+ 0x00000280,
+ 0x000002b0,
+ 0x000002f8,
+ 0x00000288,
+ 0x000002f0,
+ 0x000002c8,
+ 0x00000290,
+ 0x000002e8,
+ 0x000002c0,
+ 0x000002e0,
+ 0x000002a0,
+ 0x000002d8,
+ 0x000002d0,
+ 0x000002a8,
+ 0x000002b8,
+ 0x00000498,
+ 0x00000480,
+ 0x000004b0,
+ 0x000004f8,
+ 0x00000488,
+ 0x000004f0,
+ 0x000004c8,
+ 0x00000490,
+ 0x000004e8,
+ 0x000004c0,
+ 0x000004e0,
+ 0x000004a0,
+ 0x000004d8,
+ 0x000004d0,
+ 0x000004a8,
+ 0x000004b8,
+ 0x00000398,
+ 0x00000380,
+ 0x000003b0,
+ 0x000003f8,
+ 0x00000388,
+ 0x000003f0,
+ 0x000003c8,
+ 0x00000390,
+ 0x000003e8,
+ 0x000003c0,
+ 0x000003e0,
+ 0x000003a0,
+ 0x000003d8,
+ 0x000003d0,
+ 0x000003a8,
+ 0x000003b8,
+ 0x00000698,
+ 0x00000680,
+ 0x000006b0,
+ 0x000006f8,
+ 0x00000688,
+ 0x000006f0,
+ 0x000006c8,
+ 0x00000690,
+ 0x000006e8,
+ 0x000006c0,
+ 0x000006e0,
+ 0x000006a0,
+ 0x000006d8,
+ 0x000006d0,
+ 0x000006a8,
+ 0x000006b8,
+ 0x00000118,
+ 0x00000100,
+ 0x00000130,
+ 0x00000178,
+ 0x00000108,
+ 0x00000170,
+ 0x00000148,
+ 0x00000110,
+ 0x00000168,
+ 0x00000140,
+ 0x00000160,
+ 0x00000120,
+ 0x00000158,
+ 0x00000150,
+ 0x00000128,
+ 0x00000138,
+ 0x00000718,
+ 0x00000700,
+ 0x00000730,
+ 0x00000778,
+ 0x00000708,
+ 0x00000770,
+ 0x00000748,
+ 0x00000710,
+ 0x00000768,
+ 0x00000740,
+ 0x00000760,
+ 0x00000720,
+ 0x00000758,
+ 0x00000750,
+ 0x00000728,
+ 0x00000738,
+ } };
-const struct gost28147_param gost28147_param_TC26_Z = {
- 1,
- {
- /* 0 */
- 0x00036000, 0x00032000, 0x00033000, 0x00031000,
- 0x00035000, 0x00032800, 0x00035800, 0x00034800,
- 0x00037000, 0x00034000, 0x00036800, 0x00033800,
- 0x00030000, 0x00031800, 0x00037800, 0x00030800,
- 0x00046000, 0x00042000, 0x00043000, 0x00041000,
- 0x00045000, 0x00042800, 0x00045800, 0x00044800,
- 0x00047000, 0x00044000, 0x00046800, 0x00043800,
- 0x00040000, 0x00041800, 0x00047800, 0x00040800,
- 0x00016000, 0x00012000, 0x00013000, 0x00011000,
- 0x00015000, 0x00012800, 0x00015800, 0x00014800,
- 0x00017000, 0x00014000, 0x00016800, 0x00013800,
- 0x00010000, 0x00011800, 0x00017800, 0x00010800,
- 0x0001e000, 0x0001a000, 0x0001b000, 0x00019000,
- 0x0001d000, 0x0001a800, 0x0001d800, 0x0001c800,
- 0x0001f000, 0x0001c000, 0x0001e800, 0x0001b800,
- 0x00018000, 0x00019800, 0x0001f800, 0x00018800,
- 0x0004e000, 0x0004a000, 0x0004b000, 0x00049000,
- 0x0004d000, 0x0004a800, 0x0004d800, 0x0004c800,
- 0x0004f000, 0x0004c000, 0x0004e800, 0x0004b800,
- 0x00048000, 0x00049800, 0x0004f800, 0x00048800,
- 0x00056000, 0x00052000, 0x00053000, 0x00051000,
- 0x00055000, 0x00052800, 0x00055800, 0x00054800,
- 0x00057000, 0x00054000, 0x00056800, 0x00053800,
- 0x00050000, 0x00051800, 0x00057800, 0x00050800,
- 0x0002e000, 0x0002a000, 0x0002b000, 0x00029000,
- 0x0002d000, 0x0002a800, 0x0002d800, 0x0002c800,
- 0x0002f000, 0x0002c000, 0x0002e800, 0x0002b800,
- 0x00028000, 0x00029800, 0x0002f800, 0x00028800,
- 0x00066000, 0x00062000, 0x00063000, 0x00061000,
- 0x00065000, 0x00062800, 0x00065800, 0x00064800,
- 0x00067000, 0x00064000, 0x00066800, 0x00063800,
- 0x00060000, 0x00061800, 0x00067800, 0x00060800,
- 0x0000e000, 0x0000a000, 0x0000b000, 0x00009000,
- 0x0000d000, 0x0000a800, 0x0000d800, 0x0000c800,
- 0x0000f000, 0x0000c000, 0x0000e800, 0x0000b800,
- 0x00008000, 0x00009800, 0x0000f800, 0x00008800,
- 0x00076000, 0x00072000, 0x00073000, 0x00071000,
- 0x00075000, 0x00072800, 0x00075800, 0x00074800,
- 0x00077000, 0x00074000, 0x00076800, 0x00073800,
- 0x00070000, 0x00071800, 0x00077800, 0x00070800,
- 0x00026000, 0x00022000, 0x00023000, 0x00021000,
- 0x00025000, 0x00022800, 0x00025800, 0x00024800,
- 0x00027000, 0x00024000, 0x00026800, 0x00023800,
- 0x00020000, 0x00021800, 0x00027800, 0x00020800,
- 0x0003e000, 0x0003a000, 0x0003b000, 0x00039000,
- 0x0003d000, 0x0003a800, 0x0003d800, 0x0003c800,
- 0x0003f000, 0x0003c000, 0x0003e800, 0x0003b800,
- 0x00038000, 0x00039800, 0x0003f800, 0x00038800,
- 0x0005e000, 0x0005a000, 0x0005b000, 0x00059000,
- 0x0005d000, 0x0005a800, 0x0005d800, 0x0005c800,
- 0x0005f000, 0x0005c000, 0x0005e800, 0x0005b800,
- 0x00058000, 0x00059800, 0x0005f800, 0x00058800,
- 0x0006e000, 0x0006a000, 0x0006b000, 0x00069000,
- 0x0006d000, 0x0006a800, 0x0006d800, 0x0006c800,
- 0x0006f000, 0x0006c000, 0x0006e800, 0x0006b800,
- 0x00068000, 0x00069800, 0x0006f800, 0x00068800,
- 0x00006000, 0x00002000, 0x00003000, 0x00001000,
- 0x00005000, 0x00002800, 0x00005800, 0x00004800,
- 0x00007000, 0x00004000, 0x00006800, 0x00003800,
- 0x00000000, 0x00001800, 0x00007800, 0x00000800,
- 0x0007e000, 0x0007a000, 0x0007b000, 0x00079000,
- 0x0007d000, 0x0007a800, 0x0007d800, 0x0007c800,
- 0x0007f000, 0x0007c000, 0x0007e800, 0x0007b800,
- 0x00078000, 0x00079800, 0x0007f800, 0x00078800,
- /* 1 */
- 0x06580000, 0x06180000, 0x06280000, 0x06400000,
- 0x06100000, 0x06780000, 0x06500000, 0x06680000,
- 0x06700000, 0x06080000, 0x06380000, 0x06200000,
- 0x06600000, 0x06480000, 0x06300000, 0x06000000,
- 0x04580000, 0x04180000, 0x04280000, 0x04400000,
- 0x04100000, 0x04780000, 0x04500000, 0x04680000,
- 0x04700000, 0x04080000, 0x04380000, 0x04200000,
- 0x04600000, 0x04480000, 0x04300000, 0x04000000,
- 0x01580000, 0x01180000, 0x01280000, 0x01400000,
- 0x01100000, 0x01780000, 0x01500000, 0x01680000,
- 0x01700000, 0x01080000, 0x01380000, 0x01200000,
- 0x01600000, 0x01480000, 0x01300000, 0x01000000,
- 0x00d80000, 0x00980000, 0x00a80000, 0x00c00000,
- 0x00900000, 0x00f80000, 0x00d00000, 0x00e80000,
- 0x00f00000, 0x00880000, 0x00b80000, 0x00a00000,
- 0x00e00000, 0x00c80000, 0x00b00000, 0x00800000,
- 0x06d80000, 0x06980000, 0x06a80000, 0x06c00000,
- 0x06900000, 0x06f80000, 0x06d00000, 0x06e80000,
- 0x06f00000, 0x06880000, 0x06b80000, 0x06a00000,
- 0x06e00000, 0x06c80000, 0x06b00000, 0x06800000,
- 0x02580000, 0x02180000, 0x02280000, 0x02400000,
- 0x02100000, 0x02780000, 0x02500000, 0x02680000,
- 0x02700000, 0x02080000, 0x02380000, 0x02200000,
- 0x02600000, 0x02480000, 0x02300000, 0x02000000,
- 0x07d80000, 0x07980000, 0x07a80000, 0x07c00000,
- 0x07900000, 0x07f80000, 0x07d00000, 0x07e80000,
- 0x07f00000, 0x07880000, 0x07b80000, 0x07a00000,
- 0x07e00000, 0x07c80000, 0x07b00000, 0x07800000,
- 0x03580000, 0x03180000, 0x03280000, 0x03400000,
- 0x03100000, 0x03780000, 0x03500000, 0x03680000,
- 0x03700000, 0x03080000, 0x03380000, 0x03200000,
- 0x03600000, 0x03480000, 0x03300000, 0x03000000,
- 0x03d80000, 0x03980000, 0x03a80000, 0x03c00000,
- 0x03900000, 0x03f80000, 0x03d00000, 0x03e80000,
- 0x03f00000, 0x03880000, 0x03b80000, 0x03a00000,
- 0x03e00000, 0x03c80000, 0x03b00000, 0x03800000,
- 0x00580000, 0x00180000, 0x00280000, 0x00400000,
- 0x00100000, 0x00780000, 0x00500000, 0x00680000,
- 0x00700000, 0x00080000, 0x00380000, 0x00200000,
- 0x00600000, 0x00480000, 0x00300000, 0x00000000,
- 0x05580000, 0x05180000, 0x05280000, 0x05400000,
- 0x05100000, 0x05780000, 0x05500000, 0x05680000,
- 0x05700000, 0x05080000, 0x05380000, 0x05200000,
- 0x05600000, 0x05480000, 0x05300000, 0x05000000,
- 0x02d80000, 0x02980000, 0x02a80000, 0x02c00000,
- 0x02900000, 0x02f80000, 0x02d00000, 0x02e80000,
- 0x02f00000, 0x02880000, 0x02b80000, 0x02a00000,
- 0x02e00000, 0x02c80000, 0x02b00000, 0x02800000,
- 0x01d80000, 0x01980000, 0x01a80000, 0x01c00000,
- 0x01900000, 0x01f80000, 0x01d00000, 0x01e80000,
- 0x01f00000, 0x01880000, 0x01b80000, 0x01a00000,
- 0x01e00000, 0x01c80000, 0x01b00000, 0x01800000,
- 0x07580000, 0x07180000, 0x07280000, 0x07400000,
- 0x07100000, 0x07780000, 0x07500000, 0x07680000,
- 0x07700000, 0x07080000, 0x07380000, 0x07200000,
- 0x07600000, 0x07480000, 0x07300000, 0x07000000,
- 0x04d80000, 0x04980000, 0x04a80000, 0x04c00000,
- 0x04900000, 0x04f80000, 0x04d00000, 0x04e80000,
- 0x04f00000, 0x04880000, 0x04b80000, 0x04a00000,
- 0x04e00000, 0x04c80000, 0x04b00000, 0x04800000,
- 0x05d80000, 0x05980000, 0x05a80000, 0x05c00000,
- 0x05900000, 0x05f80000, 0x05d00000, 0x05e80000,
- 0x05f00000, 0x05880000, 0x05b80000, 0x05a00000,
- 0x05e00000, 0x05c80000, 0x05b00000, 0x05800000,
- /* 2 */
- 0xb8000002, 0xf8000002, 0xa8000002, 0xd0000002,
- 0xc0000002, 0x88000002, 0xb0000002, 0xe8000002,
- 0x80000002, 0xc8000002, 0x98000002, 0xf0000002,
- 0xd8000002, 0xa0000002, 0x90000002, 0xe0000002,
- 0xb8000006, 0xf8000006, 0xa8000006, 0xd0000006,
- 0xc0000006, 0x88000006, 0xb0000006, 0xe8000006,
- 0x80000006, 0xc8000006, 0x98000006, 0xf0000006,
- 0xd8000006, 0xa0000006, 0x90000006, 0xe0000006,
- 0xb8000007, 0xf8000007, 0xa8000007, 0xd0000007,
- 0xc0000007, 0x88000007, 0xb0000007, 0xe8000007,
- 0x80000007, 0xc8000007, 0x98000007, 0xf0000007,
- 0xd8000007, 0xa0000007, 0x90000007, 0xe0000007,
- 0x38000003, 0x78000003, 0x28000003, 0x50000003,
- 0x40000003, 0x08000003, 0x30000003, 0x68000003,
- 0x00000003, 0x48000003, 0x18000003, 0x70000003,
- 0x58000003, 0x20000003, 0x10000003, 0x60000003,
- 0xb8000004, 0xf8000004, 0xa8000004, 0xd0000004,
- 0xc0000004, 0x88000004, 0xb0000004, 0xe8000004,
- 0x80000004, 0xc8000004, 0x98000004, 0xf0000004,
- 0xd8000004, 0xa0000004, 0x90000004, 0xe0000004,
- 0x38000001, 0x78000001, 0x28000001, 0x50000001,
- 0x40000001, 0x08000001, 0x30000001, 0x68000001,
- 0x00000001, 0x48000001, 0x18000001, 0x70000001,
- 0x58000001, 0x20000001, 0x10000001, 0x60000001,
- 0x38000006, 0x78000006, 0x28000006, 0x50000006,
- 0x40000006, 0x08000006, 0x30000006, 0x68000006,
- 0x00000006, 0x48000006, 0x18000006, 0x70000006,
- 0x58000006, 0x20000006, 0x10000006, 0x60000006,
- 0x38000005, 0x78000005, 0x28000005, 0x50000005,
- 0x40000005, 0x08000005, 0x30000005, 0x68000005,
- 0x00000005, 0x48000005, 0x18000005, 0x70000005,
- 0x58000005, 0x20000005, 0x10000005, 0x60000005,
- 0xb8000005, 0xf8000005, 0xa8000005, 0xd0000005,
- 0xc0000005, 0x88000005, 0xb0000005, 0xe8000005,
- 0x80000005, 0xc8000005, 0x98000005, 0xf0000005,
- 0xd8000005, 0xa0000005, 0x90000005, 0xe0000005,
- 0xb8000003, 0xf8000003, 0xa8000003, 0xd0000003,
- 0xc0000003, 0x88000003, 0xb0000003, 0xe8000003,
- 0x80000003, 0xc8000003, 0x98000003, 0xf0000003,
- 0xd8000003, 0xa0000003, 0x90000003, 0xe0000003,
- 0x38000004, 0x78000004, 0x28000004, 0x50000004,
- 0x40000004, 0x08000004, 0x30000004, 0x68000004,
- 0x00000004, 0x48000004, 0x18000004, 0x70000004,
- 0x58000004, 0x20000004, 0x10000004, 0x60000004,
- 0xb8000000, 0xf8000000, 0xa8000000, 0xd0000000,
- 0xc0000000, 0x88000000, 0xb0000000, 0xe8000000,
- 0x80000000, 0xc8000000, 0x98000000, 0xf0000000,
- 0xd8000000, 0xa0000000, 0x90000000, 0xe0000000,
- 0x38000002, 0x78000002, 0x28000002, 0x50000002,
- 0x40000002, 0x08000002, 0x30000002, 0x68000002,
- 0x00000002, 0x48000002, 0x18000002, 0x70000002,
- 0x58000002, 0x20000002, 0x10000002, 0x60000002,
- 0xb8000001, 0xf8000001, 0xa8000001, 0xd0000001,
- 0xc0000001, 0x88000001, 0xb0000001, 0xe8000001,
- 0x80000001, 0xc8000001, 0x98000001, 0xf0000001,
- 0xd8000001, 0xa0000001, 0x90000001, 0xe0000001,
- 0x38000007, 0x78000007, 0x28000007, 0x50000007,
- 0x40000007, 0x08000007, 0x30000007, 0x68000007,
- 0x00000007, 0x48000007, 0x18000007, 0x70000007,
- 0x58000007, 0x20000007, 0x10000007, 0x60000007,
- 0x38000000, 0x78000000, 0x28000000, 0x50000000,
- 0x40000000, 0x08000000, 0x30000000, 0x68000000,
- 0x00000000, 0x48000000, 0x18000000, 0x70000000,
- 0x58000000, 0x20000000, 0x10000000, 0x60000000,
- /* 3 */
- 0x000000c0, 0x000000f0, 0x00000090, 0x000000a8,
- 0x000000b0, 0x000000c8, 0x00000088, 0x000000e0,
- 0x000000f8, 0x000000a0, 0x000000d8, 0x00000080,
- 0x000000e8, 0x000000d0, 0x00000098, 0x000000b8,
- 0x000003c0, 0x000003f0, 0x00000390, 0x000003a8,
- 0x000003b0, 0x000003c8, 0x00000388, 0x000003e0,
- 0x000003f8, 0x000003a0, 0x000003d8, 0x00000380,
- 0x000003e8, 0x000003d0, 0x00000398, 0x000003b8,
- 0x00000740, 0x00000770, 0x00000710, 0x00000728,
- 0x00000730, 0x00000748, 0x00000708, 0x00000760,
- 0x00000778, 0x00000720, 0x00000758, 0x00000700,
- 0x00000768, 0x00000750, 0x00000718, 0x00000738,
- 0x000006c0, 0x000006f0, 0x00000690, 0x000006a8,
- 0x000006b0, 0x000006c8, 0x00000688, 0x000006e0,
- 0x000006f8, 0x000006a0, 0x000006d8, 0x00000680,
- 0x000006e8, 0x000006d0, 0x00000698, 0x000006b8,
- 0x00000040, 0x00000070, 0x00000010, 0x00000028,
- 0x00000030, 0x00000048, 0x00000008, 0x00000060,
- 0x00000078, 0x00000020, 0x00000058, 0x00000000,
- 0x00000068, 0x00000050, 0x00000018, 0x00000038,
- 0x000002c0, 0x000002f0, 0x00000290, 0x000002a8,
- 0x000002b0, 0x000002c8, 0x00000288, 0x000002e0,
- 0x000002f8, 0x000002a0, 0x000002d8, 0x00000280,
- 0x000002e8, 0x000002d0, 0x00000298, 0x000002b8,
- 0x00000440, 0x00000470, 0x00000410, 0x00000428,
- 0x00000430, 0x00000448, 0x00000408, 0x00000460,
- 0x00000478, 0x00000420, 0x00000458, 0x00000400,
- 0x00000468, 0x00000450, 0x00000418, 0x00000438,
- 0x000001c0, 0x000001f0, 0x00000190, 0x000001a8,
- 0x000001b0, 0x000001c8, 0x00000188, 0x000001e0,
- 0x000001f8, 0x000001a0, 0x000001d8, 0x00000180,
- 0x000001e8, 0x000001d0, 0x00000198, 0x000001b8,
- 0x00000240, 0x00000270, 0x00000210, 0x00000228,
- 0x00000230, 0x00000248, 0x00000208, 0x00000260,
- 0x00000278, 0x00000220, 0x00000258, 0x00000200,
- 0x00000268, 0x00000250, 0x00000218, 0x00000238,
- 0x000007c0, 0x000007f0, 0x00000790, 0x000007a8,
- 0x000007b0, 0x000007c8, 0x00000788, 0x000007e0,
- 0x000007f8, 0x000007a0, 0x000007d8, 0x00000780,
- 0x000007e8, 0x000007d0, 0x00000798, 0x000007b8,
- 0x00000540, 0x00000570, 0x00000510, 0x00000528,
- 0x00000530, 0x00000548, 0x00000508, 0x00000560,
- 0x00000578, 0x00000520, 0x00000558, 0x00000500,
- 0x00000568, 0x00000550, 0x00000518, 0x00000538,
- 0x00000340, 0x00000370, 0x00000310, 0x00000328,
- 0x00000330, 0x00000348, 0x00000308, 0x00000360,
- 0x00000378, 0x00000320, 0x00000358, 0x00000300,
- 0x00000368, 0x00000350, 0x00000318, 0x00000338,
- 0x000004c0, 0x000004f0, 0x00000490, 0x000004a8,
- 0x000004b0, 0x000004c8, 0x00000488, 0x000004e0,
- 0x000004f8, 0x000004a0, 0x000004d8, 0x00000480,
- 0x000004e8, 0x000004d0, 0x00000498, 0x000004b8,
- 0x00000640, 0x00000670, 0x00000610, 0x00000628,
- 0x00000630, 0x00000648, 0x00000608, 0x00000660,
- 0x00000678, 0x00000620, 0x00000658, 0x00000600,
- 0x00000668, 0x00000650, 0x00000618, 0x00000638,
- 0x000005c0, 0x000005f0, 0x00000590, 0x000005a8,
- 0x000005b0, 0x000005c8, 0x00000588, 0x000005e0,
- 0x000005f8, 0x000005a0, 0x000005d8, 0x00000580,
- 0x000005e8, 0x000005d0, 0x00000598, 0x000005b8,
- 0x00000140, 0x00000170, 0x00000110, 0x00000128,
- 0x00000130, 0x00000148, 0x00000108, 0x00000160,
- 0x00000178, 0x00000120, 0x00000158, 0x00000100,
- 0x00000168, 0x00000150, 0x00000118, 0x00000138,
- }
-};
+const struct gost28147_param gost28147_param_TC26_Z = { 1,
+ {
+ /* 0 */
+ 0x00036000,
+ 0x00032000,
+ 0x00033000,
+ 0x00031000,
+ 0x00035000,
+ 0x00032800,
+ 0x00035800,
+ 0x00034800,
+ 0x00037000,
+ 0x00034000,
+ 0x00036800,
+ 0x00033800,
+ 0x00030000,
+ 0x00031800,
+ 0x00037800,
+ 0x00030800,
+ 0x00046000,
+ 0x00042000,
+ 0x00043000,
+ 0x00041000,
+ 0x00045000,
+ 0x00042800,
+ 0x00045800,
+ 0x00044800,
+ 0x00047000,
+ 0x00044000,
+ 0x00046800,
+ 0x00043800,
+ 0x00040000,
+ 0x00041800,
+ 0x00047800,
+ 0x00040800,
+ 0x00016000,
+ 0x00012000,
+ 0x00013000,
+ 0x00011000,
+ 0x00015000,
+ 0x00012800,
+ 0x00015800,
+ 0x00014800,
+ 0x00017000,
+ 0x00014000,
+ 0x00016800,
+ 0x00013800,
+ 0x00010000,
+ 0x00011800,
+ 0x00017800,
+ 0x00010800,
+ 0x0001e000,
+ 0x0001a000,
+ 0x0001b000,
+ 0x00019000,
+ 0x0001d000,
+ 0x0001a800,
+ 0x0001d800,
+ 0x0001c800,
+ 0x0001f000,
+ 0x0001c000,
+ 0x0001e800,
+ 0x0001b800,
+ 0x00018000,
+ 0x00019800,
+ 0x0001f800,
+ 0x00018800,
+ 0x0004e000,
+ 0x0004a000,
+ 0x0004b000,
+ 0x00049000,
+ 0x0004d000,
+ 0x0004a800,
+ 0x0004d800,
+ 0x0004c800,
+ 0x0004f000,
+ 0x0004c000,
+ 0x0004e800,
+ 0x0004b800,
+ 0x00048000,
+ 0x00049800,
+ 0x0004f800,
+ 0x00048800,
+ 0x00056000,
+ 0x00052000,
+ 0x00053000,
+ 0x00051000,
+ 0x00055000,
+ 0x00052800,
+ 0x00055800,
+ 0x00054800,
+ 0x00057000,
+ 0x00054000,
+ 0x00056800,
+ 0x00053800,
+ 0x00050000,
+ 0x00051800,
+ 0x00057800,
+ 0x00050800,
+ 0x0002e000,
+ 0x0002a000,
+ 0x0002b000,
+ 0x00029000,
+ 0x0002d000,
+ 0x0002a800,
+ 0x0002d800,
+ 0x0002c800,
+ 0x0002f000,
+ 0x0002c000,
+ 0x0002e800,
+ 0x0002b800,
+ 0x00028000,
+ 0x00029800,
+ 0x0002f800,
+ 0x00028800,
+ 0x00066000,
+ 0x00062000,
+ 0x00063000,
+ 0x00061000,
+ 0x00065000,
+ 0x00062800,
+ 0x00065800,
+ 0x00064800,
+ 0x00067000,
+ 0x00064000,
+ 0x00066800,
+ 0x00063800,
+ 0x00060000,
+ 0x00061800,
+ 0x00067800,
+ 0x00060800,
+ 0x0000e000,
+ 0x0000a000,
+ 0x0000b000,
+ 0x00009000,
+ 0x0000d000,
+ 0x0000a800,
+ 0x0000d800,
+ 0x0000c800,
+ 0x0000f000,
+ 0x0000c000,
+ 0x0000e800,
+ 0x0000b800,
+ 0x00008000,
+ 0x00009800,
+ 0x0000f800,
+ 0x00008800,
+ 0x00076000,
+ 0x00072000,
+ 0x00073000,
+ 0x00071000,
+ 0x00075000,
+ 0x00072800,
+ 0x00075800,
+ 0x00074800,
+ 0x00077000,
+ 0x00074000,
+ 0x00076800,
+ 0x00073800,
+ 0x00070000,
+ 0x00071800,
+ 0x00077800,
+ 0x00070800,
+ 0x00026000,
+ 0x00022000,
+ 0x00023000,
+ 0x00021000,
+ 0x00025000,
+ 0x00022800,
+ 0x00025800,
+ 0x00024800,
+ 0x00027000,
+ 0x00024000,
+ 0x00026800,
+ 0x00023800,
+ 0x00020000,
+ 0x00021800,
+ 0x00027800,
+ 0x00020800,
+ 0x0003e000,
+ 0x0003a000,
+ 0x0003b000,
+ 0x00039000,
+ 0x0003d000,
+ 0x0003a800,
+ 0x0003d800,
+ 0x0003c800,
+ 0x0003f000,
+ 0x0003c000,
+ 0x0003e800,
+ 0x0003b800,
+ 0x00038000,
+ 0x00039800,
+ 0x0003f800,
+ 0x00038800,
+ 0x0005e000,
+ 0x0005a000,
+ 0x0005b000,
+ 0x00059000,
+ 0x0005d000,
+ 0x0005a800,
+ 0x0005d800,
+ 0x0005c800,
+ 0x0005f000,
+ 0x0005c000,
+ 0x0005e800,
+ 0x0005b800,
+ 0x00058000,
+ 0x00059800,
+ 0x0005f800,
+ 0x00058800,
+ 0x0006e000,
+ 0x0006a000,
+ 0x0006b000,
+ 0x00069000,
+ 0x0006d000,
+ 0x0006a800,
+ 0x0006d800,
+ 0x0006c800,
+ 0x0006f000,
+ 0x0006c000,
+ 0x0006e800,
+ 0x0006b800,
+ 0x00068000,
+ 0x00069800,
+ 0x0006f800,
+ 0x00068800,
+ 0x00006000,
+ 0x00002000,
+ 0x00003000,
+ 0x00001000,
+ 0x00005000,
+ 0x00002800,
+ 0x00005800,
+ 0x00004800,
+ 0x00007000,
+ 0x00004000,
+ 0x00006800,
+ 0x00003800,
+ 0x00000000,
+ 0x00001800,
+ 0x00007800,
+ 0x00000800,
+ 0x0007e000,
+ 0x0007a000,
+ 0x0007b000,
+ 0x00079000,
+ 0x0007d000,
+ 0x0007a800,
+ 0x0007d800,
+ 0x0007c800,
+ 0x0007f000,
+ 0x0007c000,
+ 0x0007e800,
+ 0x0007b800,
+ 0x00078000,
+ 0x00079800,
+ 0x0007f800,
+ 0x00078800,
+ /* 1 */
+ 0x06580000,
+ 0x06180000,
+ 0x06280000,
+ 0x06400000,
+ 0x06100000,
+ 0x06780000,
+ 0x06500000,
+ 0x06680000,
+ 0x06700000,
+ 0x06080000,
+ 0x06380000,
+ 0x06200000,
+ 0x06600000,
+ 0x06480000,
+ 0x06300000,
+ 0x06000000,
+ 0x04580000,
+ 0x04180000,
+ 0x04280000,
+ 0x04400000,
+ 0x04100000,
+ 0x04780000,
+ 0x04500000,
+ 0x04680000,
+ 0x04700000,
+ 0x04080000,
+ 0x04380000,
+ 0x04200000,
+ 0x04600000,
+ 0x04480000,
+ 0x04300000,
+ 0x04000000,
+ 0x01580000,
+ 0x01180000,
+ 0x01280000,
+ 0x01400000,
+ 0x01100000,
+ 0x01780000,
+ 0x01500000,
+ 0x01680000,
+ 0x01700000,
+ 0x01080000,
+ 0x01380000,
+ 0x01200000,
+ 0x01600000,
+ 0x01480000,
+ 0x01300000,
+ 0x01000000,
+ 0x00d80000,
+ 0x00980000,
+ 0x00a80000,
+ 0x00c00000,
+ 0x00900000,
+ 0x00f80000,
+ 0x00d00000,
+ 0x00e80000,
+ 0x00f00000,
+ 0x00880000,
+ 0x00b80000,
+ 0x00a00000,
+ 0x00e00000,
+ 0x00c80000,
+ 0x00b00000,
+ 0x00800000,
+ 0x06d80000,
+ 0x06980000,
+ 0x06a80000,
+ 0x06c00000,
+ 0x06900000,
+ 0x06f80000,
+ 0x06d00000,
+ 0x06e80000,
+ 0x06f00000,
+ 0x06880000,
+ 0x06b80000,
+ 0x06a00000,
+ 0x06e00000,
+ 0x06c80000,
+ 0x06b00000,
+ 0x06800000,
+ 0x02580000,
+ 0x02180000,
+ 0x02280000,
+ 0x02400000,
+ 0x02100000,
+ 0x02780000,
+ 0x02500000,
+ 0x02680000,
+ 0x02700000,
+ 0x02080000,
+ 0x02380000,
+ 0x02200000,
+ 0x02600000,
+ 0x02480000,
+ 0x02300000,
+ 0x02000000,
+ 0x07d80000,
+ 0x07980000,
+ 0x07a80000,
+ 0x07c00000,
+ 0x07900000,
+ 0x07f80000,
+ 0x07d00000,
+ 0x07e80000,
+ 0x07f00000,
+ 0x07880000,
+ 0x07b80000,
+ 0x07a00000,
+ 0x07e00000,
+ 0x07c80000,
+ 0x07b00000,
+ 0x07800000,
+ 0x03580000,
+ 0x03180000,
+ 0x03280000,
+ 0x03400000,
+ 0x03100000,
+ 0x03780000,
+ 0x03500000,
+ 0x03680000,
+ 0x03700000,
+ 0x03080000,
+ 0x03380000,
+ 0x03200000,
+ 0x03600000,
+ 0x03480000,
+ 0x03300000,
+ 0x03000000,
+ 0x03d80000,
+ 0x03980000,
+ 0x03a80000,
+ 0x03c00000,
+ 0x03900000,
+ 0x03f80000,
+ 0x03d00000,
+ 0x03e80000,
+ 0x03f00000,
+ 0x03880000,
+ 0x03b80000,
+ 0x03a00000,
+ 0x03e00000,
+ 0x03c80000,
+ 0x03b00000,
+ 0x03800000,
+ 0x00580000,
+ 0x00180000,
+ 0x00280000,
+ 0x00400000,
+ 0x00100000,
+ 0x00780000,
+ 0x00500000,
+ 0x00680000,
+ 0x00700000,
+ 0x00080000,
+ 0x00380000,
+ 0x00200000,
+ 0x00600000,
+ 0x00480000,
+ 0x00300000,
+ 0x00000000,
+ 0x05580000,
+ 0x05180000,
+ 0x05280000,
+ 0x05400000,
+ 0x05100000,
+ 0x05780000,
+ 0x05500000,
+ 0x05680000,
+ 0x05700000,
+ 0x05080000,
+ 0x05380000,
+ 0x05200000,
+ 0x05600000,
+ 0x05480000,
+ 0x05300000,
+ 0x05000000,
+ 0x02d80000,
+ 0x02980000,
+ 0x02a80000,
+ 0x02c00000,
+ 0x02900000,
+ 0x02f80000,
+ 0x02d00000,
+ 0x02e80000,
+ 0x02f00000,
+ 0x02880000,
+ 0x02b80000,
+ 0x02a00000,
+ 0x02e00000,
+ 0x02c80000,
+ 0x02b00000,
+ 0x02800000,
+ 0x01d80000,
+ 0x01980000,
+ 0x01a80000,
+ 0x01c00000,
+ 0x01900000,
+ 0x01f80000,
+ 0x01d00000,
+ 0x01e80000,
+ 0x01f00000,
+ 0x01880000,
+ 0x01b80000,
+ 0x01a00000,
+ 0x01e00000,
+ 0x01c80000,
+ 0x01b00000,
+ 0x01800000,
+ 0x07580000,
+ 0x07180000,
+ 0x07280000,
+ 0x07400000,
+ 0x07100000,
+ 0x07780000,
+ 0x07500000,
+ 0x07680000,
+ 0x07700000,
+ 0x07080000,
+ 0x07380000,
+ 0x07200000,
+ 0x07600000,
+ 0x07480000,
+ 0x07300000,
+ 0x07000000,
+ 0x04d80000,
+ 0x04980000,
+ 0x04a80000,
+ 0x04c00000,
+ 0x04900000,
+ 0x04f80000,
+ 0x04d00000,
+ 0x04e80000,
+ 0x04f00000,
+ 0x04880000,
+ 0x04b80000,
+ 0x04a00000,
+ 0x04e00000,
+ 0x04c80000,
+ 0x04b00000,
+ 0x04800000,
+ 0x05d80000,
+ 0x05980000,
+ 0x05a80000,
+ 0x05c00000,
+ 0x05900000,
+ 0x05f80000,
+ 0x05d00000,
+ 0x05e80000,
+ 0x05f00000,
+ 0x05880000,
+ 0x05b80000,
+ 0x05a00000,
+ 0x05e00000,
+ 0x05c80000,
+ 0x05b00000,
+ 0x05800000,
+ /* 2 */
+ 0xb8000002,
+ 0xf8000002,
+ 0xa8000002,
+ 0xd0000002,
+ 0xc0000002,
+ 0x88000002,
+ 0xb0000002,
+ 0xe8000002,
+ 0x80000002,
+ 0xc8000002,
+ 0x98000002,
+ 0xf0000002,
+ 0xd8000002,
+ 0xa0000002,
+ 0x90000002,
+ 0xe0000002,
+ 0xb8000006,
+ 0xf8000006,
+ 0xa8000006,
+ 0xd0000006,
+ 0xc0000006,
+ 0x88000006,
+ 0xb0000006,
+ 0xe8000006,
+ 0x80000006,
+ 0xc8000006,
+ 0x98000006,
+ 0xf0000006,
+ 0xd8000006,
+ 0xa0000006,
+ 0x90000006,
+ 0xe0000006,
+ 0xb8000007,
+ 0xf8000007,
+ 0xa8000007,
+ 0xd0000007,
+ 0xc0000007,
+ 0x88000007,
+ 0xb0000007,
+ 0xe8000007,
+ 0x80000007,
+ 0xc8000007,
+ 0x98000007,
+ 0xf0000007,
+ 0xd8000007,
+ 0xa0000007,
+ 0x90000007,
+ 0xe0000007,
+ 0x38000003,
+ 0x78000003,
+ 0x28000003,
+ 0x50000003,
+ 0x40000003,
+ 0x08000003,
+ 0x30000003,
+ 0x68000003,
+ 0x00000003,
+ 0x48000003,
+ 0x18000003,
+ 0x70000003,
+ 0x58000003,
+ 0x20000003,
+ 0x10000003,
+ 0x60000003,
+ 0xb8000004,
+ 0xf8000004,
+ 0xa8000004,
+ 0xd0000004,
+ 0xc0000004,
+ 0x88000004,
+ 0xb0000004,
+ 0xe8000004,
+ 0x80000004,
+ 0xc8000004,
+ 0x98000004,
+ 0xf0000004,
+ 0xd8000004,
+ 0xa0000004,
+ 0x90000004,
+ 0xe0000004,
+ 0x38000001,
+ 0x78000001,
+ 0x28000001,
+ 0x50000001,
+ 0x40000001,
+ 0x08000001,
+ 0x30000001,
+ 0x68000001,
+ 0x00000001,
+ 0x48000001,
+ 0x18000001,
+ 0x70000001,
+ 0x58000001,
+ 0x20000001,
+ 0x10000001,
+ 0x60000001,
+ 0x38000006,
+ 0x78000006,
+ 0x28000006,
+ 0x50000006,
+ 0x40000006,
+ 0x08000006,
+ 0x30000006,
+ 0x68000006,
+ 0x00000006,
+ 0x48000006,
+ 0x18000006,
+ 0x70000006,
+ 0x58000006,
+ 0x20000006,
+ 0x10000006,
+ 0x60000006,
+ 0x38000005,
+ 0x78000005,
+ 0x28000005,
+ 0x50000005,
+ 0x40000005,
+ 0x08000005,
+ 0x30000005,
+ 0x68000005,
+ 0x00000005,
+ 0x48000005,
+ 0x18000005,
+ 0x70000005,
+ 0x58000005,
+ 0x20000005,
+ 0x10000005,
+ 0x60000005,
+ 0xb8000005,
+ 0xf8000005,
+ 0xa8000005,
+ 0xd0000005,
+ 0xc0000005,
+ 0x88000005,
+ 0xb0000005,
+ 0xe8000005,
+ 0x80000005,
+ 0xc8000005,
+ 0x98000005,
+ 0xf0000005,
+ 0xd8000005,
+ 0xa0000005,
+ 0x90000005,
+ 0xe0000005,
+ 0xb8000003,
+ 0xf8000003,
+ 0xa8000003,
+ 0xd0000003,
+ 0xc0000003,
+ 0x88000003,
+ 0xb0000003,
+ 0xe8000003,
+ 0x80000003,
+ 0xc8000003,
+ 0x98000003,
+ 0xf0000003,
+ 0xd8000003,
+ 0xa0000003,
+ 0x90000003,
+ 0xe0000003,
+ 0x38000004,
+ 0x78000004,
+ 0x28000004,
+ 0x50000004,
+ 0x40000004,
+ 0x08000004,
+ 0x30000004,
+ 0x68000004,
+ 0x00000004,
+ 0x48000004,
+ 0x18000004,
+ 0x70000004,
+ 0x58000004,
+ 0x20000004,
+ 0x10000004,
+ 0x60000004,
+ 0xb8000000,
+ 0xf8000000,
+ 0xa8000000,
+ 0xd0000000,
+ 0xc0000000,
+ 0x88000000,
+ 0xb0000000,
+ 0xe8000000,
+ 0x80000000,
+ 0xc8000000,
+ 0x98000000,
+ 0xf0000000,
+ 0xd8000000,
+ 0xa0000000,
+ 0x90000000,
+ 0xe0000000,
+ 0x38000002,
+ 0x78000002,
+ 0x28000002,
+ 0x50000002,
+ 0x40000002,
+ 0x08000002,
+ 0x30000002,
+ 0x68000002,
+ 0x00000002,
+ 0x48000002,
+ 0x18000002,
+ 0x70000002,
+ 0x58000002,
+ 0x20000002,
+ 0x10000002,
+ 0x60000002,
+ 0xb8000001,
+ 0xf8000001,
+ 0xa8000001,
+ 0xd0000001,
+ 0xc0000001,
+ 0x88000001,
+ 0xb0000001,
+ 0xe8000001,
+ 0x80000001,
+ 0xc8000001,
+ 0x98000001,
+ 0xf0000001,
+ 0xd8000001,
+ 0xa0000001,
+ 0x90000001,
+ 0xe0000001,
+ 0x38000007,
+ 0x78000007,
+ 0x28000007,
+ 0x50000007,
+ 0x40000007,
+ 0x08000007,
+ 0x30000007,
+ 0x68000007,
+ 0x00000007,
+ 0x48000007,
+ 0x18000007,
+ 0x70000007,
+ 0x58000007,
+ 0x20000007,
+ 0x10000007,
+ 0x60000007,
+ 0x38000000,
+ 0x78000000,
+ 0x28000000,
+ 0x50000000,
+ 0x40000000,
+ 0x08000000,
+ 0x30000000,
+ 0x68000000,
+ 0x00000000,
+ 0x48000000,
+ 0x18000000,
+ 0x70000000,
+ 0x58000000,
+ 0x20000000,
+ 0x10000000,
+ 0x60000000,
+ /* 3 */
+ 0x000000c0,
+ 0x000000f0,
+ 0x00000090,
+ 0x000000a8,
+ 0x000000b0,
+ 0x000000c8,
+ 0x00000088,
+ 0x000000e0,
+ 0x000000f8,
+ 0x000000a0,
+ 0x000000d8,
+ 0x00000080,
+ 0x000000e8,
+ 0x000000d0,
+ 0x00000098,
+ 0x000000b8,
+ 0x000003c0,
+ 0x000003f0,
+ 0x00000390,
+ 0x000003a8,
+ 0x000003b0,
+ 0x000003c8,
+ 0x00000388,
+ 0x000003e0,
+ 0x000003f8,
+ 0x000003a0,
+ 0x000003d8,
+ 0x00000380,
+ 0x000003e8,
+ 0x000003d0,
+ 0x00000398,
+ 0x000003b8,
+ 0x00000740,
+ 0x00000770,
+ 0x00000710,
+ 0x00000728,
+ 0x00000730,
+ 0x00000748,
+ 0x00000708,
+ 0x00000760,
+ 0x00000778,
+ 0x00000720,
+ 0x00000758,
+ 0x00000700,
+ 0x00000768,
+ 0x00000750,
+ 0x00000718,
+ 0x00000738,
+ 0x000006c0,
+ 0x000006f0,
+ 0x00000690,
+ 0x000006a8,
+ 0x000006b0,
+ 0x000006c8,
+ 0x00000688,
+ 0x000006e0,
+ 0x000006f8,
+ 0x000006a0,
+ 0x000006d8,
+ 0x00000680,
+ 0x000006e8,
+ 0x000006d0,
+ 0x00000698,
+ 0x000006b8,
+ 0x00000040,
+ 0x00000070,
+ 0x00000010,
+ 0x00000028,
+ 0x00000030,
+ 0x00000048,
+ 0x00000008,
+ 0x00000060,
+ 0x00000078,
+ 0x00000020,
+ 0x00000058,
+ 0x00000000,
+ 0x00000068,
+ 0x00000050,
+ 0x00000018,
+ 0x00000038,
+ 0x000002c0,
+ 0x000002f0,
+ 0x00000290,
+ 0x000002a8,
+ 0x000002b0,
+ 0x000002c8,
+ 0x00000288,
+ 0x000002e0,
+ 0x000002f8,
+ 0x000002a0,
+ 0x000002d8,
+ 0x00000280,
+ 0x000002e8,
+ 0x000002d0,
+ 0x00000298,
+ 0x000002b8,
+ 0x00000440,
+ 0x00000470,
+ 0x00000410,
+ 0x00000428,
+ 0x00000430,
+ 0x00000448,
+ 0x00000408,
+ 0x00000460,
+ 0x00000478,
+ 0x00000420,
+ 0x00000458,
+ 0x00000400,
+ 0x00000468,
+ 0x00000450,
+ 0x00000418,
+ 0x00000438,
+ 0x000001c0,
+ 0x000001f0,
+ 0x00000190,
+ 0x000001a8,
+ 0x000001b0,
+ 0x000001c8,
+ 0x00000188,
+ 0x000001e0,
+ 0x000001f8,
+ 0x000001a0,
+ 0x000001d8,
+ 0x00000180,
+ 0x000001e8,
+ 0x000001d0,
+ 0x00000198,
+ 0x000001b8,
+ 0x00000240,
+ 0x00000270,
+ 0x00000210,
+ 0x00000228,
+ 0x00000230,
+ 0x00000248,
+ 0x00000208,
+ 0x00000260,
+ 0x00000278,
+ 0x00000220,
+ 0x00000258,
+ 0x00000200,
+ 0x00000268,
+ 0x00000250,
+ 0x00000218,
+ 0x00000238,
+ 0x000007c0,
+ 0x000007f0,
+ 0x00000790,
+ 0x000007a8,
+ 0x000007b0,
+ 0x000007c8,
+ 0x00000788,
+ 0x000007e0,
+ 0x000007f8,
+ 0x000007a0,
+ 0x000007d8,
+ 0x00000780,
+ 0x000007e8,
+ 0x000007d0,
+ 0x00000798,
+ 0x000007b8,
+ 0x00000540,
+ 0x00000570,
+ 0x00000510,
+ 0x00000528,
+ 0x00000530,
+ 0x00000548,
+ 0x00000508,
+ 0x00000560,
+ 0x00000578,
+ 0x00000520,
+ 0x00000558,
+ 0x00000500,
+ 0x00000568,
+ 0x00000550,
+ 0x00000518,
+ 0x00000538,
+ 0x00000340,
+ 0x00000370,
+ 0x00000310,
+ 0x00000328,
+ 0x00000330,
+ 0x00000348,
+ 0x00000308,
+ 0x00000360,
+ 0x00000378,
+ 0x00000320,
+ 0x00000358,
+ 0x00000300,
+ 0x00000368,
+ 0x00000350,
+ 0x00000318,
+ 0x00000338,
+ 0x000004c0,
+ 0x000004f0,
+ 0x00000490,
+ 0x000004a8,
+ 0x000004b0,
+ 0x000004c8,
+ 0x00000488,
+ 0x000004e0,
+ 0x000004f8,
+ 0x000004a0,
+ 0x000004d8,
+ 0x00000480,
+ 0x000004e8,
+ 0x000004d0,
+ 0x00000498,
+ 0x000004b8,
+ 0x00000640,
+ 0x00000670,
+ 0x00000610,
+ 0x00000628,
+ 0x00000630,
+ 0x00000648,
+ 0x00000608,
+ 0x00000660,
+ 0x00000678,
+ 0x00000620,
+ 0x00000658,
+ 0x00000600,
+ 0x00000668,
+ 0x00000650,
+ 0x00000618,
+ 0x00000638,
+ 0x000005c0,
+ 0x000005f0,
+ 0x00000590,
+ 0x000005a8,
+ 0x000005b0,
+ 0x000005c8,
+ 0x00000588,
+ 0x000005e0,
+ 0x000005f8,
+ 0x000005a0,
+ 0x000005d8,
+ 0x00000580,
+ 0x000005e8,
+ 0x000005d0,
+ 0x00000598,
+ 0x000005b8,
+ 0x00000140,
+ 0x00000170,
+ 0x00000110,
+ 0x00000128,
+ 0x00000130,
+ 0x00000148,
+ 0x00000108,
+ 0x00000160,
+ 0x00000178,
+ 0x00000120,
+ 0x00000158,
+ 0x00000100,
+ 0x00000168,
+ 0x00000150,
+ 0x00000118,
+ 0x00000138,
+ } };
/*
* A macro that performs a full encryption round of GOST 28147-89.
* Temporary variables tmp assumed and variables r and l for left and right
* blocks.
*/
-# define GOST_ENCRYPT_ROUND(key1, key2, sbox) \
- tmp = (key1) + r; \
- l ^= (sbox)[0*256 + (tmp & 0xff)] ^ (sbox)[1*256 + ((tmp >> 8) & 0xff)] ^ \
- (sbox)[2*256 + ((tmp >> 16) & 0xff)] ^ (sbox)[3*256 + (tmp >> 24)]; \
- tmp = (key2) + l; \
- r ^= (sbox)[0*256 + (tmp & 0xff)] ^ (sbox)[1*256 + ((tmp >> 8) & 0xff)] ^ \
- (sbox)[2*256 + ((tmp >> 16) & 0xff)] ^ (sbox)[3*256 + (tmp >> 24)];
+#define GOST_ENCRYPT_ROUND(key1, key2, sbox) \
+ tmp = (key1) + r; \
+ l ^= (sbox)[0 * 256 + (tmp & 0xff)] ^ \
+ (sbox)[1 * 256 + ((tmp >> 8) & 0xff)] ^ \
+ (sbox)[2 * 256 + ((tmp >> 16) & 0xff)] ^ \
+ (sbox)[3 * 256 + (tmp >> 24)]; \
+ tmp = (key2) + l; \
+ r ^= (sbox)[0 * 256 + (tmp & 0xff)] ^ \
+ (sbox)[1 * 256 + ((tmp >> 8) & 0xff)] ^ \
+ (sbox)[2 * 256 + ((tmp >> 16) & 0xff)] ^ \
+ (sbox)[3 * 256 + (tmp >> 24)];
/* encrypt a block with the given key */
-void gost28147_encrypt_simple(const uint32_t * key, const uint32_t * sbox,
- const uint32_t * in, uint32_t * out)
+void gost28147_encrypt_simple(const uint32_t *key, const uint32_t *sbox,
+ const uint32_t *in, uint32_t *out)
{
uint32_t l, r, tmp;
r = in[0], l = in[1];
GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
- GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
- GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
- GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
- GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
- GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
- GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
- GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
- GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
- GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
- GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
- GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
- GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
- GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
- GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
- GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
- * out = l, *(out + 1) = r;
+ GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
+ GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
+ GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
+ GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
+ GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
+ GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
+ GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
+ GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
+ GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
+ GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
+ GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
+ GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
+ GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
+ GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
+ GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
+ *out = l, *(out + 1) = r;
}
-void gost28147_decrypt_simple(const uint32_t * key, const uint32_t * sbox,
- const uint32_t * in, uint32_t * out)
+void gost28147_decrypt_simple(const uint32_t *key, const uint32_t *sbox,
+ const uint32_t *in, uint32_t *out)
{
uint32_t l, r, tmp;
r = in[0], l = in[1];
GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
- GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
- GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
- GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
- GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
- GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
- GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
- GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
- GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
- GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
- GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
- GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
- GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
- GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
- GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
- GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
- * out = l, *(out + 1) = r;
+ GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
+ GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
+ GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
+ GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
+ GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
+ GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
+ GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
+ GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
+ GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
+ GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
+ GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
+ GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
+ GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
+ GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
+ GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
+ *out = l, *(out + 1) = r;
}
-static void gost28147_imit_simple(const uint32_t * key, const uint32_t * sbox,
- const uint32_t * in, uint32_t * out)
+static void gost28147_imit_simple(const uint32_t *key, const uint32_t *sbox,
+ const uint32_t *in, uint32_t *out)
{
uint32_t l, r, tmp;
r = in[0], l = in[1];
GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
- GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
- GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
- GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
- GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
- GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
- GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
- GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
- * out = r, *(out + 1) = l;
+ GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
+ GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
+ GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
+ GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
+ GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
+ GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
+ GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
+ *out = r, *(out + 1) = l;
}
-static const uint32_t gost28147_key_mesh_cryptopro_data[GOST28147_KEY_SIZE /
- 4] = {
- 0x22720069, 0x2304c964,
- 0x96db3a8d, 0xc42ae946,
- 0x94acfe18, 0x1207ed00,
- 0xc2dc86c0, 0x2ba94cef,
-};
+static const uint32_t
+ gost28147_key_mesh_cryptopro_data[GOST28147_KEY_SIZE / 4] = {
+ 0x22720069, 0x2304c964, 0x96db3a8d, 0xc42ae946,
+ 0x94acfe18, 0x1207ed00, 0xc2dc86c0, 0x2ba94cef,
+ };
static void gost28147_key_mesh_cryptopro(struct gost28147_ctx *ctx)
{
@@ -2285,7 +8417,7 @@ static void gost28147_key_mesh_cryptopro(struct gost28147_ctx *ctx)
ctx->key_count = 0;
}
-void gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t * key)
+void gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t *key)
{
unsigned i;
@@ -2295,18 +8427,16 @@ void gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t * key)
ctx->key_count = 0;
}
-void
-gost28147_set_param(struct gost28147_ctx *ctx,
- const struct gost28147_param *param)
+void gost28147_set_param(struct gost28147_ctx *ctx,
+ const struct gost28147_param *param)
{
assert(param);
ctx->sbox = param->sbox;
ctx->key_meshing = param->key_meshing;
}
-void
-gost28147_encrypt(const struct gost28147_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void gost28147_encrypt(const struct gost28147_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
uint32_t block[2];
@@ -2326,9 +8456,8 @@ gost28147_encrypt(const struct gost28147_ctx *ctx,
}
}
-void
-gost28147_decrypt(const struct gost28147_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void gost28147_decrypt(const struct gost28147_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
uint32_t block[2];
@@ -2348,9 +8477,8 @@ gost28147_decrypt(const struct gost28147_ctx *ctx,
}
}
-void
-gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
uint32_t block[2];
@@ -2377,7 +8505,7 @@ gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx,
}
}
-static void gost28147_cnt_next_iv(struct gost28147_cnt_ctx *ctx, uint8_t * out)
+static void gost28147_cnt_next_iv(struct gost28147_cnt_ctx *ctx, uint8_t *out)
{
uint32_t block[2];
uint32_t temp;
@@ -2392,7 +8520,7 @@ static void gost28147_cnt_next_iv(struct gost28147_cnt_ctx *ctx, uint8_t * out)
ctx->iv[0] += 0x01010101;
temp = ctx->iv[1] + 0x01010104;
if (temp < ctx->iv[1])
- ctx->iv[1] = temp + 1; /* Overflow */
+ ctx->iv[1] = temp + 1; /* Overflow */
else
ctx->iv[1] = temp;
@@ -2404,16 +8532,15 @@ static void gost28147_cnt_next_iv(struct gost28147_cnt_ctx *ctx, uint8_t * out)
ctx->ctx.key_count += GOST28147_BLOCK_SIZE;
}
-void
-gost28147_cnt_init(struct gost28147_cnt_ctx *ctx,
- const uint8_t * key, const struct gost28147_param *param)
+void gost28147_cnt_init(struct gost28147_cnt_ctx *ctx, const uint8_t *key,
+ const struct gost28147_param *param)
{
gost28147_set_param(&ctx->ctx, param);
gost28147_set_key(&ctx->ctx, key);
ctx->bytes = 0;
}
-void gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx, const uint8_t * iv)
+void gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx, const uint8_t *iv)
{
uint32_t block[2];
@@ -2423,9 +8550,8 @@ void gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx, const uint8_t * iv)
gost28147_encrypt_simple(ctx->ctx.key, ctx->ctx.sbox, block, ctx->iv);
}
-void
-gost28147_cnt_crypt(struct gost28147_cnt_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void gost28147_cnt_crypt(struct gost28147_cnt_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
size_t block_size = GOST28147_BLOCK_SIZE;
@@ -2461,9 +8587,8 @@ static void _gost28147_imit_reinit(struct gost28147_imit_ctx *ctx)
ctx->count = 0;
}
-void
-gost28147_imit_set_key(struct gost28147_imit_ctx *ctx,
- size_t length, const uint8_t * key)
+void gost28147_imit_set_key(struct gost28147_imit_ctx *ctx, size_t length,
+ const uint8_t *key)
{
assert(length == GOST28147_IMIT_KEY_SIZE);
assert(key);
@@ -2472,23 +8597,22 @@ gost28147_imit_set_key(struct gost28147_imit_ctx *ctx,
gost28147_set_key(&ctx->cctx, key);
}
-void
-gost28147_imit_set_nonce(struct gost28147_imit_ctx *ctx, const uint8_t * nonce)
+void gost28147_imit_set_nonce(struct gost28147_imit_ctx *ctx,
+ const uint8_t *nonce)
{
ctx->state[0] = LE_READ_UINT32(nonce + 0);
ctx->state[1] = LE_READ_UINT32(nonce + 4);
}
-void
-gost28147_imit_set_param(struct gost28147_imit_ctx *ctx,
- const struct gost28147_param *param)
+void gost28147_imit_set_param(struct gost28147_imit_ctx *ctx,
+ const struct gost28147_param *param)
{
assert(param);
gost28147_set_param(&ctx->cctx, param);
}
-static void
-gost28147_imit_compress(struct gost28147_imit_ctx *ctx, const uint8_t * data)
+static void gost28147_imit_compress(struct gost28147_imit_ctx *ctx,
+ const uint8_t *data)
{
uint32_t block[2];
@@ -2501,25 +8625,22 @@ gost28147_imit_compress(struct gost28147_imit_ctx *ctx, const uint8_t * data)
ctx->cctx.key_count += 8;
}
-void
-gost28147_imit_update(struct gost28147_imit_ctx *ctx,
- size_t length, const uint8_t * data)
+void gost28147_imit_update(struct gost28147_imit_ctx *ctx, size_t length,
+ const uint8_t *data)
{
MD_UPDATE(ctx, length, data, gost28147_imit_compress, ctx->count++);
}
-void
-gost28147_imit_digest(struct gost28147_imit_ctx *ctx,
- size_t length, uint8_t * digest)
+void gost28147_imit_digest(struct gost28147_imit_ctx *ctx, size_t length,
+ uint8_t *digest)
{
assert(length <= GOST28147_IMIT_DIGEST_SIZE);
const uint8_t zero[GOST28147_IMIT_BLOCK_SIZE] = { 0 };
if (ctx->index) {
assert(ctx->index < GOST28147_IMIT_BLOCK_SIZE);
- gost28147_imit_update(ctx,
- GOST28147_IMIT_BLOCK_SIZE - ctx->index,
- zero);
+ gost28147_imit_update(
+ ctx, GOST28147_IMIT_BLOCK_SIZE - ctx->index, zero);
}
if (ctx->count == 1) {
diff --git a/lib/nettle/gost/gost28147.h b/lib/nettle/gost/gost28147.h
index a9375cedb3..5b5a7dcbec 100644
--- a/lib/nettle/gost/gost28147.h
+++ b/lib/nettle/gost/gost28147.h
@@ -33,175 +33,152 @@
*/
#ifndef GNUTLS_LIB_NETTLE_GOST_GOST28147_H
-# define GNUTLS_LIB_NETTLE_GOST_GOST28147_H
+#define GNUTLS_LIB_NETTLE_GOST_GOST28147_H
-# include "config.h"
+#include "config.h"
-# ifndef HAVE_NETTLE_GOST28147_SET_KEY
+#ifndef HAVE_NETTLE_GOST28147_SET_KEY
-# include <nettle/nettle-types.h>
+#include <nettle/nettle-types.h>
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
/* S-Boxes & parameters */
-# define gost28147_param_test_3411 _gnutls_gost28147_param_test_3411
-# define gost28147_param_CryptoPro_3411 _gnutls_gost28147_param_CryptoPro_3411
-# define gost28147_param_Test_89 _gnutls_gost28147_param_Test_89
-# define gost28147_param_CryptoPro_A _gnutls_gost28147_param_CryptoPro_A
-# define gost28147_param_CryptoPro_B _gnutls_gost28147_param_CryptoPro_B
-# define gost28147_param_CryptoPro_C _gnutls_gost28147_param_CryptoPro_C
-# define gost28147_param_CryptoPro_D _gnutls_gost28147_param_CryptoPro_D
-# define gost28147_param_TC26_Z _gnutls_gost28147_param_TC26_Z
+#define gost28147_param_test_3411 _gnutls_gost28147_param_test_3411
+#define gost28147_param_CryptoPro_3411 _gnutls_gost28147_param_CryptoPro_3411
+#define gost28147_param_Test_89 _gnutls_gost28147_param_Test_89
+#define gost28147_param_CryptoPro_A _gnutls_gost28147_param_CryptoPro_A
+#define gost28147_param_CryptoPro_B _gnutls_gost28147_param_CryptoPro_B
+#define gost28147_param_CryptoPro_C _gnutls_gost28147_param_CryptoPro_C
+#define gost28147_param_CryptoPro_D _gnutls_gost28147_param_CryptoPro_D
+#define gost28147_param_TC26_Z _gnutls_gost28147_param_TC26_Z
/* Private */
-# define gost28147_encrypt_simple _gnutls_gost28147_encrypt_simple
-# define gost28147_decrypt_simple _gnutls_gost28147_decrypt_simple
+#define gost28147_encrypt_simple _gnutls_gost28147_encrypt_simple
+#define gost28147_decrypt_simple _gnutls_gost28147_decrypt_simple
/* Public functions */
-# define gost28147_set_key _gnutls_gost28147_set_key
-# define gost28147_set_param _gnutls_gost28147_set_param
-# define gost28147_encrypt _gnutls_gost28147_encrypt
-# define gost28147_encrypt_for_cfb _gnutls_gost28147_encrypt_for_cfb
-# define gost28147_decrypt _gnutls_gost28147_decrypt
-
-# define gost28147_cnt_init _gnutls_gost28147_cnt_init
-# define gost28147_cnt_set_iv _gnutls_gost28147_cnt_set_iv
-# define gost28147_cnt_crypt _gnutls_gost28147_cnt_crypt
-
-# define gost28147_kdf_cryptopro _gnutls_gost28147_kdf_cryptopro
-# define gost28147_key_wrap_cryptopro _gnutls_gost28147_key_wrap_cryptopro
-# define gost28147_key_unwrap_cryptopro _gnutls_gost28147_key_unwrap_cryptopro
-
-# define gost28147_imit_set_key _gnutls_gost28147_imit_set_key
-# define gost28147_imit_set_nonce _gnutls_gost28147_imit_set_nonce
-# define gost28147_imit_set_param _gnutls_gost28147_imit_set_param
-# define gost28147_imit_update _gnutls_gost28147_imit_update
-# define gost28147_imit_digest _gnutls_gost28147_imit_digest
-
-# define GOST28147_KEY_SIZE 32
-# define GOST28147_BLOCK_SIZE 8
-
- struct gost28147_ctx {
- uint32_t key[GOST28147_KEY_SIZE / 4];
- const uint32_t *sbox;
- int key_meshing;
- int key_count; /* Used for key meshing */
- };
-
- struct gost28147_param {
- int key_meshing;
- uint32_t sbox[4 * 256];
- };
-
- extern const struct gost28147_param gost28147_param_test_3411;
- extern const struct gost28147_param gost28147_param_CryptoPro_3411;
- extern const struct gost28147_param gost28147_param_Test_89;
- extern const struct gost28147_param gost28147_param_CryptoPro_A;
- extern const struct gost28147_param gost28147_param_CryptoPro_B;
- extern const struct gost28147_param gost28147_param_CryptoPro_C;
- extern const struct gost28147_param gost28147_param_CryptoPro_D;
- extern const struct gost28147_param gost28147_param_TC26_Z;
+#define gost28147_set_key _gnutls_gost28147_set_key
+#define gost28147_set_param _gnutls_gost28147_set_param
+#define gost28147_encrypt _gnutls_gost28147_encrypt
+#define gost28147_encrypt_for_cfb _gnutls_gost28147_encrypt_for_cfb
+#define gost28147_decrypt _gnutls_gost28147_decrypt
+
+#define gost28147_cnt_init _gnutls_gost28147_cnt_init
+#define gost28147_cnt_set_iv _gnutls_gost28147_cnt_set_iv
+#define gost28147_cnt_crypt _gnutls_gost28147_cnt_crypt
+
+#define gost28147_kdf_cryptopro _gnutls_gost28147_kdf_cryptopro
+#define gost28147_key_wrap_cryptopro _gnutls_gost28147_key_wrap_cryptopro
+#define gost28147_key_unwrap_cryptopro _gnutls_gost28147_key_unwrap_cryptopro
+
+#define gost28147_imit_set_key _gnutls_gost28147_imit_set_key
+#define gost28147_imit_set_nonce _gnutls_gost28147_imit_set_nonce
+#define gost28147_imit_set_param _gnutls_gost28147_imit_set_param
+#define gost28147_imit_update _gnutls_gost28147_imit_update
+#define gost28147_imit_digest _gnutls_gost28147_imit_digest
+
+#define GOST28147_KEY_SIZE 32
+#define GOST28147_BLOCK_SIZE 8
+
+struct gost28147_ctx {
+ uint32_t key[GOST28147_KEY_SIZE / 4];
+ const uint32_t *sbox;
+ int key_meshing;
+ int key_count; /* Used for key meshing */
+};
+
+struct gost28147_param {
+ int key_meshing;
+ uint32_t sbox[4 * 256];
+};
+
+extern const struct gost28147_param gost28147_param_test_3411;
+extern const struct gost28147_param gost28147_param_CryptoPro_3411;
+extern const struct gost28147_param gost28147_param_Test_89;
+extern const struct gost28147_param gost28147_param_CryptoPro_A;
+extern const struct gost28147_param gost28147_param_CryptoPro_B;
+extern const struct gost28147_param gost28147_param_CryptoPro_C;
+extern const struct gost28147_param gost28147_param_CryptoPro_D;
+extern const struct gost28147_param gost28147_param_TC26_Z;
/* Internal interface for use by GOST R 34.11-94 */
- void gost28147_encrypt_simple(const uint32_t * key,
- const uint32_t * sbox,
- const uint32_t * in, uint32_t * out);
- void gost28147_decrypt_simple(const uint32_t * key,
- const uint32_t * sbox,
- const uint32_t * in, uint32_t * out);
-
- void
- gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t * key);
-
- void
- gost28147_set_param(struct gost28147_ctx *ctx,
- const struct gost28147_param *param);
-
- void
- gost28147_encrypt(const struct gost28147_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
- void
- gost28147_decrypt(const struct gost28147_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
- void
- gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx,
- size_t length, uint8_t * dst,
- const uint8_t * src);
-
- struct gost28147_cnt_ctx {
- struct gost28147_ctx ctx;
- size_t bytes;
- uint32_t iv[2];
- uint8_t buffer[GOST28147_BLOCK_SIZE];
- };
-
- void
- gost28147_cnt_init(struct gost28147_cnt_ctx *ctx,
- const uint8_t * key,
- const struct gost28147_param *param);
-
- void
- gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx,
- const uint8_t * iv);
-
- void
- gost28147_cnt_crypt(struct gost28147_cnt_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
-
- void
- gost28147_kdf_cryptopro(const struct gost28147_param *param,
- const uint8_t * in,
- const uint8_t * ukm, uint8_t * out);
- void
- gost28147_key_wrap_cryptopro(const struct gost28147_param *param,
- const uint8_t * kek,
- const uint8_t * ukm, size_t ukm_size,
- const uint8_t * cek,
- uint8_t * enc, uint8_t * imit);
-
- int
- gost28147_key_unwrap_cryptopro(const struct gost28147_param *param,
- const uint8_t * kek,
- const uint8_t * ukm, size_t ukm_size,
- const uint8_t * enc,
- const uint8_t * imit, uint8_t * cek);
-
-# define GOST28147_IMIT_DIGEST_SIZE 4
-# define GOST28147_IMIT_BLOCK_SIZE GOST28147_BLOCK_SIZE
-# define GOST28147_IMIT_KEY_SIZE GOST28147_KEY_SIZE
-
- struct gost28147_imit_ctx {
- struct gost28147_ctx cctx;
- uint64_t count; /* Block count */
- uint8_t block[GOST28147_IMIT_BLOCK_SIZE]; /* Block buffer */
- unsigned index; /* Into buffer */
- uint32_t state[GOST28147_IMIT_BLOCK_SIZE / 4];
- };
-
- void
- gost28147_imit_set_key(struct gost28147_imit_ctx *ctx,
- size_t length, const uint8_t * key);
-
- void
- gost28147_imit_set_nonce(struct gost28147_imit_ctx *ctx,
- const uint8_t * nonce);
-
- void
- gost28147_imit_set_param(struct gost28147_imit_ctx *ctx,
- const struct gost28147_param *param);
-
- void
- gost28147_imit_update(struct gost28147_imit_ctx *ctx,
- size_t length, const uint8_t * data);
-
- void
- gost28147_imit_digest(struct gost28147_imit_ctx *ctx,
- size_t length, uint8_t * digest);
-
-# ifdef __cplusplus
+void gost28147_encrypt_simple(const uint32_t *key, const uint32_t *sbox,
+ const uint32_t *in, uint32_t *out);
+void gost28147_decrypt_simple(const uint32_t *key, const uint32_t *sbox,
+ const uint32_t *in, uint32_t *out);
+
+void gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t *key);
+
+void gost28147_set_param(struct gost28147_ctx *ctx,
+ const struct gost28147_param *param);
+
+void gost28147_encrypt(const struct gost28147_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src);
+void gost28147_decrypt(const struct gost28147_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src);
+void gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src);
+
+struct gost28147_cnt_ctx {
+ struct gost28147_ctx ctx;
+ size_t bytes;
+ uint32_t iv[2];
+ uint8_t buffer[GOST28147_BLOCK_SIZE];
+};
+
+void gost28147_cnt_init(struct gost28147_cnt_ctx *ctx, const uint8_t *key,
+ const struct gost28147_param *param);
+
+void gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx, const uint8_t *iv);
+
+void gost28147_cnt_crypt(struct gost28147_cnt_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src);
+
+void gost28147_kdf_cryptopro(const struct gost28147_param *param,
+ const uint8_t *in, const uint8_t *ukm,
+ uint8_t *out);
+void gost28147_key_wrap_cryptopro(const struct gost28147_param *param,
+ const uint8_t *kek, const uint8_t *ukm,
+ size_t ukm_size, const uint8_t *cek,
+ uint8_t *enc, uint8_t *imit);
+
+int gost28147_key_unwrap_cryptopro(const struct gost28147_param *param,
+ const uint8_t *kek, const uint8_t *ukm,
+ size_t ukm_size, const uint8_t *enc,
+ const uint8_t *imit, uint8_t *cek);
+
+#define GOST28147_IMIT_DIGEST_SIZE 4
+#define GOST28147_IMIT_BLOCK_SIZE GOST28147_BLOCK_SIZE
+#define GOST28147_IMIT_KEY_SIZE GOST28147_KEY_SIZE
+
+struct gost28147_imit_ctx {
+ struct gost28147_ctx cctx;
+ uint64_t count; /* Block count */
+ uint8_t block[GOST28147_IMIT_BLOCK_SIZE]; /* Block buffer */
+ unsigned index; /* Into buffer */
+ uint32_t state[GOST28147_IMIT_BLOCK_SIZE / 4];
+};
+
+void gost28147_imit_set_key(struct gost28147_imit_ctx *ctx, size_t length,
+ const uint8_t *key);
+
+void gost28147_imit_set_nonce(struct gost28147_imit_ctx *ctx,
+ const uint8_t *nonce);
+
+void gost28147_imit_set_param(struct gost28147_imit_ctx *ctx,
+ const struct gost28147_param *param);
+
+void gost28147_imit_update(struct gost28147_imit_ctx *ctx, size_t length,
+ const uint8_t *data);
+
+void gost28147_imit_digest(struct gost28147_imit_ctx *ctx, size_t length,
+ uint8_t *digest);
+
+#ifdef __cplusplus
}
-# endif
-# endif
-#endif /* GNUTLS_LIB_NETTLE_GOST_GOST28147_H */
+#endif
+#endif
+#endif /* GNUTLS_LIB_NETTLE_GOST_GOST28147_H */
diff --git a/lib/nettle/gost/gostdsa-keygen.c b/lib/nettle/gost/gostdsa-keygen.c
index 823908b98e..1e9339c24a 100644
--- a/lib/nettle/gost/gostdsa-keygen.c
+++ b/lib/nettle/gost/gostdsa-keygen.c
@@ -32,7 +32,7 @@
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <assert.h>
@@ -43,10 +43,8 @@
#include "ecc-gost-curve.h"
#include "nettle-alloca.h"
-void
-gostdsa_generate_keypair(struct ecc_point *pub,
- struct ecc_scalar *key,
- void *random_ctx, nettle_random_func * random)
+void gostdsa_generate_keypair(struct ecc_point *pub, struct ecc_scalar *key,
+ void *random_ctx, nettle_random_func *random)
{
TMP_DECL(p, mp_limb_t, 3 * ECC_MAX_SIZE + ECC_MUL_G_ITCH(ECC_MAX_SIZE));
const struct ecc_curve *ecc = pub->ecc;
diff --git a/lib/nettle/gost/gostdsa-mask.c b/lib/nettle/gost/gostdsa-mask.c
index 018ca446ec..fb725676c9 100644
--- a/lib/nettle/gost/gostdsa-mask.c
+++ b/lib/nettle/gost/gostdsa-mask.c
@@ -30,7 +30,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls_int.h>
@@ -40,9 +40,11 @@
#include <nettle/ecc-curve.h>
#include "gostdsa2.h"
-#define GOST_GC256B_Q "ffffffffffffffffffffffffffffffff" \
+#define GOST_GC256B_Q \
+ "ffffffffffffffffffffffffffffffff" \
"6c611070995ad10045841b09b761b893"
-#define GOST_GC512A_Q "ffffffffffffffffffffffffffffffff" \
+#define GOST_GC512A_Q \
+ "ffffffffffffffffffffffffffffffff" \
"ffffffffffffffffffffffffffffffff" \
"27e69532f48d89116ff22b8d4e056060" \
"9b4b38abfad2b85dcacdb1411f10b275"
diff --git a/lib/nettle/gost/gostdsa2.h b/lib/nettle/gost/gostdsa2.h
index 7e8c50eeaa..ff1a55dc2e 100644
--- a/lib/nettle/gost/gostdsa2.h
+++ b/lib/nettle/gost/gostdsa2.h
@@ -33,25 +33,24 @@
/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */
#ifndef GNUTLS_LIB_NETTLE_GOST_GOSTDSA2_H
-# define GNUTLS_LIB_NETTLE_GOST_GOSTDSA2_H
+#define GNUTLS_LIB_NETTLE_GOST_GOSTDSA2_H
-# include <nettle/ecc.h>
+#include <nettle/ecc.h>
-# if HAVE_CONFIG_H
-# include "config.h"
-# endif
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
/* Name mangling */
-# define gostdsa_unmask_key _gnutls_gostdsa_unmask_key
+#define gostdsa_unmask_key _gnutls_gostdsa_unmask_key
- int
- gostdsa_unmask_key(const struct ecc_curve *ecc, mpz_t key);
+int gostdsa_unmask_key(const struct ecc_curve *ecc, mpz_t key);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-#endif /* GNUTLS_LIB_NETTLE_GOST_GOSTDSA2_H */
+#endif
+#endif /* GNUTLS_LIB_NETTLE_GOST_GOSTDSA2_H */
diff --git a/lib/nettle/gost/hmac-gost.h b/lib/nettle/gost/hmac-gost.h
index 64facd5d61..738207b6a4 100644
--- a/lib/nettle/gost/hmac-gost.h
+++ b/lib/nettle/gost/hmac-gost.h
@@ -32,59 +32,54 @@
*/
#ifndef GNUTLS_LIB_NETTLE_GOST_HMAC_GOST_H
-# define GNUTLS_LIB_NETTLE_GOST_HMAC_GOST_H
+#define GNUTLS_LIB_NETTLE_GOST_HMAC_GOST_H
-# include "config.h"
+#include "config.h"
-# include <nettle/hmac.h>
+#include <nettle/hmac.h>
-# ifndef HAVE_NETTLE_STREEBOG512_UPDATE
-# include "streebog.h"
-# endif
+#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
+#include "streebog.h"
+#endif
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
/* Namespace mangling */
-# ifndef HAVE_NETTLE_STREEBOG512_UPDATE
-# define hmac_streebog256_set_key _gnutls_hmac_streebog256_set_key
-# define hmac_streebog256_digest _gnutls_hmac_streebog256_digest
-# define hmac_streebog512_set_key _gnutls_hmac_streebog512_set_key
-# define hmac_streebog512_update _gnutls_hmac_streebog512_update
-# define hmac_streebog512_digest _gnutls_hmac_streebog512_digest
-# endif
+#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
+#define hmac_streebog256_set_key _gnutls_hmac_streebog256_set_key
+#define hmac_streebog256_digest _gnutls_hmac_streebog256_digest
+#define hmac_streebog512_set_key _gnutls_hmac_streebog512_set_key
+#define hmac_streebog512_update _gnutls_hmac_streebog512_update
+#define hmac_streebog512_digest _gnutls_hmac_streebog512_digest
+#endif
/* hmac-streebog */
-# ifndef HAVE_NETTLE_STREEBOG512_UPDATE
- struct hmac_streebog512_ctx HMAC_CTX(struct streebog512_ctx);
+#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
+struct hmac_streebog512_ctx HMAC_CTX(struct streebog512_ctx);
- void
- hmac_streebog512_set_key(struct hmac_streebog512_ctx *ctx,
- size_t key_length, const uint8_t * key);
+void hmac_streebog512_set_key(struct hmac_streebog512_ctx *ctx,
+ size_t key_length, const uint8_t *key);
- void
- hmac_streebog512_update(struct hmac_streebog512_ctx *ctx,
- size_t length, const uint8_t * data);
+void hmac_streebog512_update(struct hmac_streebog512_ctx *ctx, size_t length,
+ const uint8_t *data);
- void
- hmac_streebog512_digest(struct hmac_streebog512_ctx *ctx,
- size_t length, uint8_t * digest);
+void hmac_streebog512_digest(struct hmac_streebog512_ctx *ctx, size_t length,
+ uint8_t *digest);
-# define hmac_streebog256_ctx hmac_streebog512_ctx
+#define hmac_streebog256_ctx hmac_streebog512_ctx
- void
- hmac_streebog256_set_key(struct hmac_streebog256_ctx *ctx,
- size_t key_length, const uint8_t * key);
+void hmac_streebog256_set_key(struct hmac_streebog256_ctx *ctx,
+ size_t key_length, const uint8_t *key);
-# define hmac_streebog256_update hmac_streebog512_update
+#define hmac_streebog256_update hmac_streebog512_update
- void
- hmac_streebog256_digest(struct hmac_streebog256_ctx *ctx,
- size_t length, uint8_t * digest);
-# endif
+void hmac_streebog256_digest(struct hmac_streebog256_ctx *ctx, size_t length,
+ uint8_t *digest);
+#endif
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-#endif /* GNUTLS_LIB_NETTLE_GOST_HMAC_GOST_H */
+#endif
+#endif /* GNUTLS_LIB_NETTLE_GOST_HMAC_GOST_H */
diff --git a/lib/nettle/gost/hmac-streebog.c b/lib/nettle/gost/hmac-streebog.c
index c14fda20d5..2dc9d62d40 100644
--- a/lib/nettle/gost/hmac-streebog.c
+++ b/lib/nettle/gost/hmac-streebog.c
@@ -32,46 +32,41 @@
*/
#if HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
-# include <gnutls_int.h>
+#include <gnutls_int.h>
-# include <nettle/hmac.h>
-# include "hmac-gost.h"
+#include <nettle/hmac.h>
+#include "hmac-gost.h"
-void
-hmac_streebog512_set_key(struct hmac_streebog512_ctx *ctx,
- size_t key_length, const uint8_t * key)
+void hmac_streebog512_set_key(struct hmac_streebog512_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &nettle_streebog512, key_length, key);
}
-void
-hmac_streebog512_update(struct hmac_streebog512_ctx *ctx,
- size_t length, const uint8_t * data)
+void hmac_streebog512_update(struct hmac_streebog512_ctx *ctx, size_t length,
+ const uint8_t *data)
{
streebog512_update(&ctx->state, length, data);
}
-void
-hmac_streebog512_digest(struct hmac_streebog512_ctx *ctx,
- size_t length, uint8_t * digest)
+void hmac_streebog512_digest(struct hmac_streebog512_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &nettle_streebog512, length, digest);
}
-void
-hmac_streebog256_set_key(struct hmac_streebog256_ctx *ctx,
- size_t key_length, const uint8_t * key)
+void hmac_streebog256_set_key(struct hmac_streebog256_ctx *ctx,
+ size_t key_length, const uint8_t *key)
{
HMAC_SET_KEY(ctx, &nettle_streebog256, key_length, key);
}
-void
-hmac_streebog256_digest(struct hmac_streebog256_ctx *ctx,
- size_t length, uint8_t * digest)
+void hmac_streebog256_digest(struct hmac_streebog256_ctx *ctx, size_t length,
+ uint8_t *digest)
{
HMAC_DIGEST(ctx, &nettle_streebog256, length, digest);
}
diff --git a/lib/nettle/gost/kuznyechik.c b/lib/nettle/gost/kuznyechik.c
index ef2fcfc59a..5199a00e00 100644
--- a/lib/nettle/gost/kuznyechik.c
+++ b/lib/nettle/gost/kuznyechik.c
@@ -30,22 +30,22 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_KUZNYECHIK_SET_KEY
-# include <assert.h>
-# include <string.h>
+#include <assert.h>
+#include <string.h>
-# include <nettle/macros.h>
-# include <nettle/memxor.h>
-# include "nettle-write.h"
-# include "kuznyechik.h"
+#include <nettle/macros.h>
+#include <nettle/memxor.h>
+#include "nettle-write.h"
+#include "kuznyechik.h"
-# include "kuztable.h"
+#include "kuztable.h"
-static void S(uint8_t * a, const uint8_t * b)
+static void S(uint8_t *a, const uint8_t *b)
{
a[0] = pi[b[0]];
a[1] = pi[b[1]];
@@ -65,7 +65,7 @@ static void S(uint8_t * a, const uint8_t * b)
a[15] = pi[b[15]];
}
-static void Sinv(uint8_t * a, const uint8_t * b)
+static void Sinv(uint8_t *a, const uint8_t *b)
{
a[0] = pi_inv[b[0]];
a[1] = pi_inv[b[1]];
@@ -85,7 +85,7 @@ static void Sinv(uint8_t * a, const uint8_t * b)
a[15] = pi_inv[b[15]];
}
-static void Linv(uint8_t * a, const uint8_t * b)
+static void Linv(uint8_t *a, const uint8_t *b)
{
memcpy(a, &kuz_table_inv[0][b[0] * 16], KUZNYECHIK_BLOCK_SIZE);
memxor(a, &kuz_table_inv[1][b[1] * 16], KUZNYECHIK_BLOCK_SIZE);
@@ -105,15 +105,15 @@ static void Linv(uint8_t * a, const uint8_t * b)
memxor(a, &kuz_table_inv[15][b[15] * 16], KUZNYECHIK_BLOCK_SIZE);
}
-static void LSX(uint8_t * a, const uint8_t * b, const uint8_t * c)
+static void LSX(uint8_t *a, const uint8_t *b, const uint8_t *c)
{
uint8_t t[16];
/* https://github.com/llvm/llvm-project/issues/53518 */
-# if defined(__clang_analyzer__) && \
+#if defined(__clang_analyzer__) && \
(defined(__clang_major__) && __clang_major__ == 13)
assert(0);
-# else
+#else
memcpy(t, &kuz_table[0][(b[0] ^ c[0]) * 16], KUZNYECHIK_BLOCK_SIZE);
memxor(t, &kuz_table[1][(b[1] ^ c[1]) * 16], KUZNYECHIK_BLOCK_SIZE);
memxor(t, &kuz_table[2][(b[2] ^ c[2]) * 16], KUZNYECHIK_BLOCK_SIZE);
@@ -131,10 +131,10 @@ static void LSX(uint8_t * a, const uint8_t * b, const uint8_t * c)
memxor(t, &kuz_table[14][(b[14] ^ c[14]) * 16], KUZNYECHIK_BLOCK_SIZE);
memxor3(a, t, &kuz_table[15][(b[15] ^ c[15]) * 16],
KUZNYECHIK_BLOCK_SIZE);
-# endif
+#endif
}
-static void XLiSi(uint8_t * a, const uint8_t * b, const uint8_t * c)
+static void XLiSi(uint8_t *a, const uint8_t *b, const uint8_t *c)
{
uint8_t t[16];
@@ -157,7 +157,7 @@ static void XLiSi(uint8_t * a, const uint8_t * b, const uint8_t * c)
memxor3(a, t, c, 16);
}
-static void subkey(uint8_t * out, const uint8_t * key, unsigned i)
+static void subkey(uint8_t *out, const uint8_t *key, unsigned i)
{
uint8_t test[16];
@@ -179,7 +179,7 @@ static void subkey(uint8_t * out, const uint8_t * key, unsigned i)
memxor(out + 0, test, 16);
}
-void kuznyechik_set_key(struct kuznyechik_ctx *ctx, const uint8_t * key)
+void kuznyechik_set_key(struct kuznyechik_ctx *ctx, const uint8_t *key)
{
unsigned i;
@@ -192,9 +192,8 @@ void kuznyechik_set_key(struct kuznyechik_ctx *ctx, const uint8_t * key)
Linv(ctx->dekey + 16 * i, ctx->key + 16 * i);
}
-void
-kuznyechik_encrypt(const struct kuznyechik_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void kuznyechik_encrypt(const struct kuznyechik_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
uint8_t temp[KUZNYECHIK_BLOCK_SIZE];
@@ -217,9 +216,8 @@ kuznyechik_encrypt(const struct kuznyechik_ctx *ctx,
}
}
-void
-kuznyechik_decrypt(const struct kuznyechik_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void kuznyechik_decrypt(const struct kuznyechik_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src)
{
uint8_t temp[KUZNYECHIK_BLOCK_SIZE];
@@ -243,4 +241,4 @@ kuznyechik_decrypt(const struct kuznyechik_ctx *ctx,
length -= KUZNYECHIK_BLOCK_SIZE;
}
}
-#endif /* HAVE_NETTLE_KUZNYECHIK_SET_KEY */
+#endif /* HAVE_NETTLE_KUZNYECHIK_SET_KEY */
diff --git a/lib/nettle/gost/kuznyechik.h b/lib/nettle/gost/kuznyechik.h
index 207f700450..b6c3df5ddc 100644
--- a/lib/nettle/gost/kuznyechik.h
+++ b/lib/nettle/gost/kuznyechik.h
@@ -32,44 +32,41 @@
*/
#ifndef GNUTLS_LIB_NETTLE_KUZNYECHIK_H_INCLUDED
-# define GNUTLS_LIB_NETTLE_KUZNYECHIK_H_INCLUDED
+#define GNUTLS_LIB_NETTLE_KUZNYECHIK_H_INCLUDED
-# include <nettle/nettle-types.h>
+#include <nettle/nettle-types.h>
-# include "config.h"
+#include "config.h"
-# ifndef HAVE_NETTLE_KUZNYECHIK_SET_KEY
+#ifndef HAVE_NETTLE_KUZNYECHIK_SET_KEY
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# define kuznyechik_set_key _gnutls_kuznyechik_set_key
-# define kuznyechik_set_param _gnutls_kuznyechik_set_param
-# define kuznyechik_encrypt _gnutls_kuznyechik_encrypt
-# define kuznyechik_decrypt _gnutls_kuznyechik_decrypt
+#define kuznyechik_set_key _gnutls_kuznyechik_set_key
+#define kuznyechik_set_param _gnutls_kuznyechik_set_param
+#define kuznyechik_encrypt _gnutls_kuznyechik_encrypt
+#define kuznyechik_decrypt _gnutls_kuznyechik_decrypt
-# define KUZNYECHIK_KEY_SIZE 32
-# define KUZNYECHIK_SUBKEYS_SIZE (16 * 10)
-# define KUZNYECHIK_BLOCK_SIZE 16
+#define KUZNYECHIK_KEY_SIZE 32
+#define KUZNYECHIK_SUBKEYS_SIZE (16 * 10)
+#define KUZNYECHIK_BLOCK_SIZE 16
- struct kuznyechik_ctx {
- uint8_t key[KUZNYECHIK_SUBKEYS_SIZE];
- uint8_t dekey[KUZNYECHIK_SUBKEYS_SIZE];
- };
+struct kuznyechik_ctx {
+ uint8_t key[KUZNYECHIK_SUBKEYS_SIZE];
+ uint8_t dekey[KUZNYECHIK_SUBKEYS_SIZE];
+};
- void
- kuznyechik_set_key(struct kuznyechik_ctx *ctx, const uint8_t * key);
+void kuznyechik_set_key(struct kuznyechik_ctx *ctx, const uint8_t *key);
- void
- kuznyechik_encrypt(const struct kuznyechik_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
- void
- kuznyechik_decrypt(const struct kuznyechik_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
+void kuznyechik_encrypt(const struct kuznyechik_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src);
+void kuznyechik_decrypt(const struct kuznyechik_ctx *ctx, size_t length,
+ uint8_t *dst, const uint8_t *src);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-# endif
-#endif /* GNUTLS_LIB_NETTLE_KUZNYECHIK_H_INCLUDED */
+#endif
+#endif
+#endif /* GNUTLS_LIB_NETTLE_KUZNYECHIK_H_INCLUDED */
diff --git a/lib/nettle/gost/kuztable.h b/lib/nettle/gost/kuztable.h
index 8a950af58d..4b956db32d 100644
--- a/lib/nettle/gost/kuztable.h
+++ b/lib/nettle/gost/kuztable.h
@@ -1,24817 +1,20461 @@
static const uint8_t pi[256] = {
- 0xfc, 0xee, 0xdd, 0x11, 0xcf, 0x6e, 0x31, 0x16,
- 0xfb, 0xc4, 0xfa, 0xda, 0x23, 0xc5, 0x04, 0x4d,
- 0xe9, 0x77, 0xf0, 0xdb, 0x93, 0x2e, 0x99, 0xba,
- 0x17, 0x36, 0xf1, 0xbb, 0x14, 0xcd, 0x5f, 0xc1,
- 0xf9, 0x18, 0x65, 0x5a, 0xe2, 0x5c, 0xef, 0x21,
- 0x81, 0x1c, 0x3c, 0x42, 0x8b, 0x01, 0x8e, 0x4f,
- 0x05, 0x84, 0x02, 0xae, 0xe3, 0x6a, 0x8f, 0xa0,
- 0x06, 0x0b, 0xed, 0x98, 0x7f, 0xd4, 0xd3, 0x1f,
- 0xeb, 0x34, 0x2c, 0x51, 0xea, 0xc8, 0x48, 0xab,
- 0xf2, 0x2a, 0x68, 0xa2, 0xfd, 0x3a, 0xce, 0xcc,
- 0xb5, 0x70, 0x0e, 0x56, 0x08, 0x0c, 0x76, 0x12,
- 0xbf, 0x72, 0x13, 0x47, 0x9c, 0xb7, 0x5d, 0x87,
- 0x15, 0xa1, 0x96, 0x29, 0x10, 0x7b, 0x9a, 0xc7,
- 0xf3, 0x91, 0x78, 0x6f, 0x9d, 0x9e, 0xb2, 0xb1,
- 0x32, 0x75, 0x19, 0x3d, 0xff, 0x35, 0x8a, 0x7e,
- 0x6d, 0x54, 0xc6, 0x80, 0xc3, 0xbd, 0x0d, 0x57,
- 0xdf, 0xf5, 0x24, 0xa9, 0x3e, 0xa8, 0x43, 0xc9,
- 0xd7, 0x79, 0xd6, 0xf6, 0x7c, 0x22, 0xb9, 0x03,
- 0xe0, 0x0f, 0xec, 0xde, 0x7a, 0x94, 0xb0, 0xbc,
- 0xdc, 0xe8, 0x28, 0x50, 0x4e, 0x33, 0x0a, 0x4a,
- 0xa7, 0x97, 0x60, 0x73, 0x1e, 0x00, 0x62, 0x44,
- 0x1a, 0xb8, 0x38, 0x82, 0x64, 0x9f, 0x26, 0x41,
- 0xad, 0x45, 0x46, 0x92, 0x27, 0x5e, 0x55, 0x2f,
- 0x8c, 0xa3, 0xa5, 0x7d, 0x69, 0xd5, 0x95, 0x3b,
- 0x07, 0x58, 0xb3, 0x40, 0x86, 0xac, 0x1d, 0xf7,
- 0x30, 0x37, 0x6b, 0xe4, 0x88, 0xd9, 0xe7, 0x89,
- 0xe1, 0x1b, 0x83, 0x49, 0x4c, 0x3f, 0xf8, 0xfe,
- 0x8d, 0x53, 0xaa, 0x90, 0xca, 0xd8, 0x85, 0x61,
- 0x20, 0x71, 0x67, 0xa4, 0x2d, 0x2b, 0x09, 0x5b,
- 0xcb, 0x9b, 0x25, 0xd0, 0xbe, 0xe5, 0x6c, 0x52,
- 0x59, 0xa6, 0x74, 0xd2, 0xe6, 0xf4, 0xb4, 0xc0,
- 0xd1, 0x66, 0xaf, 0xc2, 0x39, 0x4b, 0x63, 0xb6,
+ 0xfc, 0xee, 0xdd, 0x11, 0xcf, 0x6e, 0x31, 0x16, 0xfb, 0xc4, 0xfa, 0xda,
+ 0x23, 0xc5, 0x04, 0x4d, 0xe9, 0x77, 0xf0, 0xdb, 0x93, 0x2e, 0x99, 0xba,
+ 0x17, 0x36, 0xf1, 0xbb, 0x14, 0xcd, 0x5f, 0xc1, 0xf9, 0x18, 0x65, 0x5a,
+ 0xe2, 0x5c, 0xef, 0x21, 0x81, 0x1c, 0x3c, 0x42, 0x8b, 0x01, 0x8e, 0x4f,
+ 0x05, 0x84, 0x02, 0xae, 0xe3, 0x6a, 0x8f, 0xa0, 0x06, 0x0b, 0xed, 0x98,
+ 0x7f, 0xd4, 0xd3, 0x1f, 0xeb, 0x34, 0x2c, 0x51, 0xea, 0xc8, 0x48, 0xab,
+ 0xf2, 0x2a, 0x68, 0xa2, 0xfd, 0x3a, 0xce, 0xcc, 0xb5, 0x70, 0x0e, 0x56,
+ 0x08, 0x0c, 0x76, 0x12, 0xbf, 0x72, 0x13, 0x47, 0x9c, 0xb7, 0x5d, 0x87,
+ 0x15, 0xa1, 0x96, 0x29, 0x10, 0x7b, 0x9a, 0xc7, 0xf3, 0x91, 0x78, 0x6f,
+ 0x9d, 0x9e, 0xb2, 0xb1, 0x32, 0x75, 0x19, 0x3d, 0xff, 0x35, 0x8a, 0x7e,
+ 0x6d, 0x54, 0xc6, 0x80, 0xc3, 0xbd, 0x0d, 0x57, 0xdf, 0xf5, 0x24, 0xa9,
+ 0x3e, 0xa8, 0x43, 0xc9, 0xd7, 0x79, 0xd6, 0xf6, 0x7c, 0x22, 0xb9, 0x03,
+ 0xe0, 0x0f, 0xec, 0xde, 0x7a, 0x94, 0xb0, 0xbc, 0xdc, 0xe8, 0x28, 0x50,
+ 0x4e, 0x33, 0x0a, 0x4a, 0xa7, 0x97, 0x60, 0x73, 0x1e, 0x00, 0x62, 0x44,
+ 0x1a, 0xb8, 0x38, 0x82, 0x64, 0x9f, 0x26, 0x41, 0xad, 0x45, 0x46, 0x92,
+ 0x27, 0x5e, 0x55, 0x2f, 0x8c, 0xa3, 0xa5, 0x7d, 0x69, 0xd5, 0x95, 0x3b,
+ 0x07, 0x58, 0xb3, 0x40, 0x86, 0xac, 0x1d, 0xf7, 0x30, 0x37, 0x6b, 0xe4,
+ 0x88, 0xd9, 0xe7, 0x89, 0xe1, 0x1b, 0x83, 0x49, 0x4c, 0x3f, 0xf8, 0xfe,
+ 0x8d, 0x53, 0xaa, 0x90, 0xca, 0xd8, 0x85, 0x61, 0x20, 0x71, 0x67, 0xa4,
+ 0x2d, 0x2b, 0x09, 0x5b, 0xcb, 0x9b, 0x25, 0xd0, 0xbe, 0xe5, 0x6c, 0x52,
+ 0x59, 0xa6, 0x74, 0xd2, 0xe6, 0xf4, 0xb4, 0xc0, 0xd1, 0x66, 0xaf, 0xc2,
+ 0x39, 0x4b, 0x63, 0xb6,
};
static const uint8_t pi_inv[256] = {
- 0xa5, 0x2d, 0x32, 0x8f, 0x0e, 0x30, 0x38, 0xc0,
- 0x54, 0xe6, 0x9e, 0x39, 0x55, 0x7e, 0x52, 0x91,
- 0x64, 0x03, 0x57, 0x5a, 0x1c, 0x60, 0x07, 0x18,
- 0x21, 0x72, 0xa8, 0xd1, 0x29, 0xc6, 0xa4, 0x3f,
- 0xe0, 0x27, 0x8d, 0x0c, 0x82, 0xea, 0xae, 0xb4,
- 0x9a, 0x63, 0x49, 0xe5, 0x42, 0xe4, 0x15, 0xb7,
- 0xc8, 0x06, 0x70, 0x9d, 0x41, 0x75, 0x19, 0xc9,
- 0xaa, 0xfc, 0x4d, 0xbf, 0x2a, 0x73, 0x84, 0xd5,
- 0xc3, 0xaf, 0x2b, 0x86, 0xa7, 0xb1, 0xb2, 0x5b,
- 0x46, 0xd3, 0x9f, 0xfd, 0xd4, 0x0f, 0x9c, 0x2f,
- 0x9b, 0x43, 0xef, 0xd9, 0x79, 0xb6, 0x53, 0x7f,
- 0xc1, 0xf0, 0x23, 0xe7, 0x25, 0x5e, 0xb5, 0x1e,
- 0xa2, 0xdf, 0xa6, 0xfe, 0xac, 0x22, 0xf9, 0xe2,
- 0x4a, 0xbc, 0x35, 0xca, 0xee, 0x78, 0x05, 0x6b,
- 0x51, 0xe1, 0x59, 0xa3, 0xf2, 0x71, 0x56, 0x11,
- 0x6a, 0x89, 0x94, 0x65, 0x8c, 0xbb, 0x77, 0x3c,
- 0x7b, 0x28, 0xab, 0xd2, 0x31, 0xde, 0xc4, 0x5f,
- 0xcc, 0xcf, 0x76, 0x2c, 0xb8, 0xd8, 0x2e, 0x36,
- 0xdb, 0x69, 0xb3, 0x14, 0x95, 0xbe, 0x62, 0xa1,
- 0x3b, 0x16, 0x66, 0xe9, 0x5c, 0x6c, 0x6d, 0xad,
- 0x37, 0x61, 0x4b, 0xb9, 0xe3, 0xba, 0xf1, 0xa0,
- 0x85, 0x83, 0xda, 0x47, 0xc5, 0xb0, 0x33, 0xfa,
- 0x96, 0x6f, 0x6e, 0xc2, 0xf6, 0x50, 0xff, 0x5d,
- 0xa9, 0x8e, 0x17, 0x1b, 0x97, 0x7d, 0xec, 0x58,
- 0xf7, 0x1f, 0xfb, 0x7c, 0x09, 0x0d, 0x7a, 0x67,
- 0x45, 0x87, 0xdc, 0xe8, 0x4f, 0x1d, 0x4e, 0x04,
- 0xeb, 0xf8, 0xf3, 0x3e, 0x3d, 0xbd, 0x8a, 0x88,
- 0xdd, 0xcd, 0x0b, 0x13, 0x98, 0x02, 0x93, 0x80,
- 0x90, 0xd0, 0x24, 0x34, 0xcb, 0xed, 0xf4, 0xce,
- 0x99, 0x10, 0x44, 0x40, 0x92, 0x3a, 0x01, 0x26,
- 0x12, 0x1a, 0x48, 0x68, 0xf5, 0x81, 0x8b, 0xc7,
- 0xd6, 0x20, 0x0a, 0x08, 0x00, 0x4c, 0xd7, 0x74,
+ 0xa5, 0x2d, 0x32, 0x8f, 0x0e, 0x30, 0x38, 0xc0, 0x54, 0xe6, 0x9e, 0x39,
+ 0x55, 0x7e, 0x52, 0x91, 0x64, 0x03, 0x57, 0x5a, 0x1c, 0x60, 0x07, 0x18,
+ 0x21, 0x72, 0xa8, 0xd1, 0x29, 0xc6, 0xa4, 0x3f, 0xe0, 0x27, 0x8d, 0x0c,
+ 0x82, 0xea, 0xae, 0xb4, 0x9a, 0x63, 0x49, 0xe5, 0x42, 0xe4, 0x15, 0xb7,
+ 0xc8, 0x06, 0x70, 0x9d, 0x41, 0x75, 0x19, 0xc9, 0xaa, 0xfc, 0x4d, 0xbf,
+ 0x2a, 0x73, 0x84, 0xd5, 0xc3, 0xaf, 0x2b, 0x86, 0xa7, 0xb1, 0xb2, 0x5b,
+ 0x46, 0xd3, 0x9f, 0xfd, 0xd4, 0x0f, 0x9c, 0x2f, 0x9b, 0x43, 0xef, 0xd9,
+ 0x79, 0xb6, 0x53, 0x7f, 0xc1, 0xf0, 0x23, 0xe7, 0x25, 0x5e, 0xb5, 0x1e,
+ 0xa2, 0xdf, 0xa6, 0xfe, 0xac, 0x22, 0xf9, 0xe2, 0x4a, 0xbc, 0x35, 0xca,
+ 0xee, 0x78, 0x05, 0x6b, 0x51, 0xe1, 0x59, 0xa3, 0xf2, 0x71, 0x56, 0x11,
+ 0x6a, 0x89, 0x94, 0x65, 0x8c, 0xbb, 0x77, 0x3c, 0x7b, 0x28, 0xab, 0xd2,
+ 0x31, 0xde, 0xc4, 0x5f, 0xcc, 0xcf, 0x76, 0x2c, 0xb8, 0xd8, 0x2e, 0x36,
+ 0xdb, 0x69, 0xb3, 0x14, 0x95, 0xbe, 0x62, 0xa1, 0x3b, 0x16, 0x66, 0xe9,
+ 0x5c, 0x6c, 0x6d, 0xad, 0x37, 0x61, 0x4b, 0xb9, 0xe3, 0xba, 0xf1, 0xa0,
+ 0x85, 0x83, 0xda, 0x47, 0xc5, 0xb0, 0x33, 0xfa, 0x96, 0x6f, 0x6e, 0xc2,
+ 0xf6, 0x50, 0xff, 0x5d, 0xa9, 0x8e, 0x17, 0x1b, 0x97, 0x7d, 0xec, 0x58,
+ 0xf7, 0x1f, 0xfb, 0x7c, 0x09, 0x0d, 0x7a, 0x67, 0x45, 0x87, 0xdc, 0xe8,
+ 0x4f, 0x1d, 0x4e, 0x04, 0xeb, 0xf8, 0xf3, 0x3e, 0x3d, 0xbd, 0x8a, 0x88,
+ 0xdd, 0xcd, 0x0b, 0x13, 0x98, 0x02, 0x93, 0x80, 0x90, 0xd0, 0x24, 0x34,
+ 0xcb, 0xed, 0xf4, 0xce, 0x99, 0x10, 0x44, 0x40, 0x92, 0x3a, 0x01, 0x26,
+ 0x12, 0x1a, 0x48, 0x68, 0xf5, 0x81, 0x8b, 0xc7, 0xd6, 0x20, 0x0a, 0x08,
+ 0x00, 0x4c, 0xd7, 0x74,
};
static const uint8_t kuz_key_table[32][16] = {
- {0x6e, 0xa2, 0x76, 0x72, 0x6c, 0x48, 0x7a, 0xb8, 0x5d, 0x27, 0xbd, 0x10,
- 0xdd, 0x84, 0x94, 0x01,},
- {0xdc, 0x87, 0xec, 0xe4, 0xd8, 0x90, 0xf4, 0xb3, 0xba, 0x4e, 0xb9, 0x20,
- 0x79, 0xcb, 0xeb, 0x02,},
- {0xb2, 0x25, 0x9a, 0x96, 0xb4, 0xd8, 0x8e, 0x0b, 0xe7, 0x69, 0x04, 0x30,
- 0xa4, 0x4f, 0x7f, 0x03,},
- {0x7b, 0xcd, 0x1b, 0x0b, 0x73, 0xe3, 0x2b, 0xa5, 0xb7, 0x9c, 0xb1, 0x40,
- 0xf2, 0x55, 0x15, 0x04,},
- {0x15, 0x6f, 0x6d, 0x79, 0x1f, 0xab, 0x51, 0x1d, 0xea, 0xbb, 0x0c, 0x50,
- 0x2f, 0xd1, 0x81, 0x05,},
- {0xa7, 0x4a, 0xf7, 0xef, 0xab, 0x73, 0xdf, 0x16, 0x0d, 0xd2, 0x08, 0x60,
- 0x8b, 0x9e, 0xfe, 0x06,},
- {0xc9, 0xe8, 0x81, 0x9d, 0xc7, 0x3b, 0xa5, 0xae, 0x50, 0xf5, 0xb5, 0x70,
- 0x56, 0x1a, 0x6a, 0x07,},
- {0xf6, 0x59, 0x36, 0x16, 0xe6, 0x05, 0x56, 0x89, 0xad, 0xfb, 0xa1, 0x80,
- 0x27, 0xaa, 0x2a, 0x08,},
- {0x98, 0xfb, 0x40, 0x64, 0x8a, 0x4d, 0x2c, 0x31, 0xf0, 0xdc, 0x1c, 0x90,
- 0xfa, 0x2e, 0xbe, 0x09,},
- {0x2a, 0xde, 0xda, 0xf2, 0x3e, 0x95, 0xa2, 0x3a, 0x17, 0xb5, 0x18, 0xa0,
- 0x5e, 0x61, 0xc1, 0x0a,},
- {0x44, 0x7c, 0xac, 0x80, 0x52, 0xdd, 0xd8, 0x82, 0x4a, 0x92, 0xa5, 0xb0,
- 0x83, 0xe5, 0x55, 0x0b,},
- {0x8d, 0x94, 0x2d, 0x1d, 0x95, 0xe6, 0x7d, 0x2c, 0x1a, 0x67, 0x10, 0xc0,
- 0xd5, 0xff, 0x3f, 0x0c,},
- {0xe3, 0x36, 0x5b, 0x6f, 0xf9, 0xae, 0x07, 0x94, 0x47, 0x40, 0xad, 0xd0,
- 0x08, 0x7b, 0xab, 0x0d,},
- {0x51, 0x13, 0xc1, 0xf9, 0x4d, 0x76, 0x89, 0x9f, 0xa0, 0x29, 0xa9, 0xe0,
- 0xac, 0x34, 0xd4, 0x0e,},
- {0x3f, 0xb1, 0xb7, 0x8b, 0x21, 0x3e, 0xf3, 0x27, 0xfd, 0x0e, 0x14, 0xf0,
- 0x71, 0xb0, 0x40, 0x0f,},
- {0x2f, 0xb2, 0x6c, 0x2c, 0x0f, 0x0a, 0xac, 0xd1, 0x99, 0x35, 0x81, 0xc3,
- 0x4e, 0x97, 0x54, 0x10,},
- {0x41, 0x10, 0x1a, 0x5e, 0x63, 0x42, 0xd6, 0x69, 0xc4, 0x12, 0x3c, 0xd3,
- 0x93, 0x13, 0xc0, 0x11,},
- {0xf3, 0x35, 0x80, 0xc8, 0xd7, 0x9a, 0x58, 0x62, 0x23, 0x7b, 0x38, 0xe3,
- 0x37, 0x5c, 0xbf, 0x12,},
- {0x9d, 0x97, 0xf6, 0xba, 0xbb, 0xd2, 0x22, 0xda, 0x7e, 0x5c, 0x85, 0xf3,
- 0xea, 0xd8, 0x2b, 0x13,},
- {0x54, 0x7f, 0x77, 0x27, 0x7c, 0xe9, 0x87, 0x74, 0x2e, 0xa9, 0x30, 0x83,
- 0xbc, 0xc2, 0x41, 0x14,},
- {0x3a, 0xdd, 0x01, 0x55, 0x10, 0xa1, 0xfd, 0xcc, 0x73, 0x8e, 0x8d, 0x93,
- 0x61, 0x46, 0xd5, 0x15,},
- {0x88, 0xf8, 0x9b, 0xc3, 0xa4, 0x79, 0x73, 0xc7, 0x94, 0xe7, 0x89, 0xa3,
- 0xc5, 0x09, 0xaa, 0x16,},
- {0xe6, 0x5a, 0xed, 0xb1, 0xc8, 0x31, 0x09, 0x7f, 0xc9, 0xc0, 0x34, 0xb3,
- 0x18, 0x8d, 0x3e, 0x17,},
- {0xd9, 0xeb, 0x5a, 0x3a, 0xe9, 0x0f, 0xfa, 0x58, 0x34, 0xce, 0x20, 0x43,
- 0x69, 0x3d, 0x7e, 0x18,},
- {0xb7, 0x49, 0x2c, 0x48, 0x85, 0x47, 0x80, 0xe0, 0x69, 0xe9, 0x9d, 0x53,
- 0xb4, 0xb9, 0xea, 0x19,},
- {0x05, 0x6c, 0xb6, 0xde, 0x31, 0x9f, 0x0e, 0xeb, 0x8e, 0x80, 0x99, 0x63,
- 0x10, 0xf6, 0x95, 0x1a,},
- {0x6b, 0xce, 0xc0, 0xac, 0x5d, 0xd7, 0x74, 0x53, 0xd3, 0xa7, 0x24, 0x73,
- 0xcd, 0x72, 0x01, 0x1b,},
- {0xa2, 0x26, 0x41, 0x31, 0x9a, 0xec, 0xd1, 0xfd, 0x83, 0x52, 0x91, 0x03,
- 0x9b, 0x68, 0x6b, 0x1c,},
- {0xcc, 0x84, 0x37, 0x43, 0xf6, 0xa4, 0xab, 0x45, 0xde, 0x75, 0x2c, 0x13,
- 0x46, 0xec, 0xff, 0x1d,},
- {0x7e, 0xa1, 0xad, 0xd5, 0x42, 0x7c, 0x25, 0x4e, 0x39, 0x1c, 0x28, 0x23,
- 0xe2, 0xa3, 0x80, 0x1e,},
- {0x10, 0x03, 0xdb, 0xa7, 0x2e, 0x34, 0x5f, 0xf6, 0x64, 0x3b, 0x95, 0x33,
- 0x3f, 0x27, 0x14, 0x1f,},
- {0x5e, 0xa7, 0xd8, 0x58, 0x1e, 0x14, 0x9b, 0x61, 0xf1, 0x6a, 0xc1, 0x45,
- 0x9c, 0xed, 0xa8, 0x20,},
+ {
+ 0x6e,
+ 0xa2,
+ 0x76,
+ 0x72,
+ 0x6c,
+ 0x48,
+ 0x7a,
+ 0xb8,
+ 0x5d,
+ 0x27,
+ 0xbd,
+ 0x10,
+ 0xdd,
+ 0x84,
+ 0x94,
+ 0x01,
+ },
+ {
+ 0xdc,
+ 0x87,
+ 0xec,
+ 0xe4,
+ 0xd8,
+ 0x90,
+ 0xf4,
+ 0xb3,
+ 0xba,
+ 0x4e,
+ 0xb9,
+ 0x20,
+ 0x79,
+ 0xcb,
+ 0xeb,
+ 0x02,
+ },
+ {
+ 0xb2,
+ 0x25,
+ 0x9a,
+ 0x96,
+ 0xb4,
+ 0xd8,
+ 0x8e,
+ 0x0b,
+ 0xe7,
+ 0x69,
+ 0x04,
+ 0x30,
+ 0xa4,
+ 0x4f,
+ 0x7f,
+ 0x03,
+ },
+ {
+ 0x7b,
+ 0xcd,
+ 0x1b,
+ 0x0b,
+ 0x73,
+ 0xe3,
+ 0x2b,
+ 0xa5,
+ 0xb7,
+ 0x9c,
+ 0xb1,
+ 0x40,
+ 0xf2,
+ 0x55,
+ 0x15,
+ 0x04,
+ },
+ {
+ 0x15,
+ 0x6f,
+ 0x6d,
+ 0x79,
+ 0x1f,
+ 0xab,
+ 0x51,
+ 0x1d,
+ 0xea,
+ 0xbb,
+ 0x0c,
+ 0x50,
+ 0x2f,
+ 0xd1,
+ 0x81,
+ 0x05,
+ },
+ {
+ 0xa7,
+ 0x4a,
+ 0xf7,
+ 0xef,
+ 0xab,
+ 0x73,
+ 0xdf,
+ 0x16,
+ 0x0d,
+ 0xd2,
+ 0x08,
+ 0x60,
+ 0x8b,
+ 0x9e,
+ 0xfe,
+ 0x06,
+ },
+ {
+ 0xc9,
+ 0xe8,
+ 0x81,
+ 0x9d,
+ 0xc7,
+ 0x3b,
+ 0xa5,
+ 0xae,
+ 0x50,
+ 0xf5,
+ 0xb5,
+ 0x70,
+ 0x56,
+ 0x1a,
+ 0x6a,
+ 0x07,
+ },
+ {
+ 0xf6,
+ 0x59,
+ 0x36,
+ 0x16,
+ 0xe6,
+ 0x05,
+ 0x56,
+ 0x89,
+ 0xad,
+ 0xfb,
+ 0xa1,
+ 0x80,
+ 0x27,
+ 0xaa,
+ 0x2a,
+ 0x08,
+ },
+ {
+ 0x98,
+ 0xfb,
+ 0x40,
+ 0x64,
+ 0x8a,
+ 0x4d,
+ 0x2c,
+ 0x31,
+ 0xf0,
+ 0xdc,
+ 0x1c,
+ 0x90,
+ 0xfa,
+ 0x2e,
+ 0xbe,
+ 0x09,
+ },
+ {
+ 0x2a,
+ 0xde,
+ 0xda,
+ 0xf2,
+ 0x3e,
+ 0x95,
+ 0xa2,
+ 0x3a,
+ 0x17,
+ 0xb5,
+ 0x18,
+ 0xa0,
+ 0x5e,
+ 0x61,
+ 0xc1,
+ 0x0a,
+ },
+ {
+ 0x44,
+ 0x7c,
+ 0xac,
+ 0x80,
+ 0x52,
+ 0xdd,
+ 0xd8,
+ 0x82,
+ 0x4a,
+ 0x92,
+ 0xa5,
+ 0xb0,
+ 0x83,
+ 0xe5,
+ 0x55,
+ 0x0b,
+ },
+ {
+ 0x8d,
+ 0x94,
+ 0x2d,
+ 0x1d,
+ 0x95,
+ 0xe6,
+ 0x7d,
+ 0x2c,
+ 0x1a,
+ 0x67,
+ 0x10,
+ 0xc0,
+ 0xd5,
+ 0xff,
+ 0x3f,
+ 0x0c,
+ },
+ {
+ 0xe3,
+ 0x36,
+ 0x5b,
+ 0x6f,
+ 0xf9,
+ 0xae,
+ 0x07,
+ 0x94,
+ 0x47,
+ 0x40,
+ 0xad,
+ 0xd0,
+ 0x08,
+ 0x7b,
+ 0xab,
+ 0x0d,
+ },
+ {
+ 0x51,
+ 0x13,
+ 0xc1,
+ 0xf9,
+ 0x4d,
+ 0x76,
+ 0x89,
+ 0x9f,
+ 0xa0,
+ 0x29,
+ 0xa9,
+ 0xe0,
+ 0xac,
+ 0x34,
+ 0xd4,
+ 0x0e,
+ },
+ {
+ 0x3f,
+ 0xb1,
+ 0xb7,
+ 0x8b,
+ 0x21,
+ 0x3e,
+ 0xf3,
+ 0x27,
+ 0xfd,
+ 0x0e,
+ 0x14,
+ 0xf0,
+ 0x71,
+ 0xb0,
+ 0x40,
+ 0x0f,
+ },
+ {
+ 0x2f,
+ 0xb2,
+ 0x6c,
+ 0x2c,
+ 0x0f,
+ 0x0a,
+ 0xac,
+ 0xd1,
+ 0x99,
+ 0x35,
+ 0x81,
+ 0xc3,
+ 0x4e,
+ 0x97,
+ 0x54,
+ 0x10,
+ },
+ {
+ 0x41,
+ 0x10,
+ 0x1a,
+ 0x5e,
+ 0x63,
+ 0x42,
+ 0xd6,
+ 0x69,
+ 0xc4,
+ 0x12,
+ 0x3c,
+ 0xd3,
+ 0x93,
+ 0x13,
+ 0xc0,
+ 0x11,
+ },
+ {
+ 0xf3,
+ 0x35,
+ 0x80,
+ 0xc8,
+ 0xd7,
+ 0x9a,
+ 0x58,
+ 0x62,
+ 0x23,
+ 0x7b,
+ 0x38,
+ 0xe3,
+ 0x37,
+ 0x5c,
+ 0xbf,
+ 0x12,
+ },
+ {
+ 0x9d,
+ 0x97,
+ 0xf6,
+ 0xba,
+ 0xbb,
+ 0xd2,
+ 0x22,
+ 0xda,
+ 0x7e,
+ 0x5c,
+ 0x85,
+ 0xf3,
+ 0xea,
+ 0xd8,
+ 0x2b,
+ 0x13,
+ },
+ {
+ 0x54,
+ 0x7f,
+ 0x77,
+ 0x27,
+ 0x7c,
+ 0xe9,
+ 0x87,
+ 0x74,
+ 0x2e,
+ 0xa9,
+ 0x30,
+ 0x83,
+ 0xbc,
+ 0xc2,
+ 0x41,
+ 0x14,
+ },
+ {
+ 0x3a,
+ 0xdd,
+ 0x01,
+ 0x55,
+ 0x10,
+ 0xa1,
+ 0xfd,
+ 0xcc,
+ 0x73,
+ 0x8e,
+ 0x8d,
+ 0x93,
+ 0x61,
+ 0x46,
+ 0xd5,
+ 0x15,
+ },
+ {
+ 0x88,
+ 0xf8,
+ 0x9b,
+ 0xc3,
+ 0xa4,
+ 0x79,
+ 0x73,
+ 0xc7,
+ 0x94,
+ 0xe7,
+ 0x89,
+ 0xa3,
+ 0xc5,
+ 0x09,
+ 0xaa,
+ 0x16,
+ },
+ {
+ 0xe6,
+ 0x5a,
+ 0xed,
+ 0xb1,
+ 0xc8,
+ 0x31,
+ 0x09,
+ 0x7f,
+ 0xc9,
+ 0xc0,
+ 0x34,
+ 0xb3,
+ 0x18,
+ 0x8d,
+ 0x3e,
+ 0x17,
+ },
+ {
+ 0xd9,
+ 0xeb,
+ 0x5a,
+ 0x3a,
+ 0xe9,
+ 0x0f,
+ 0xfa,
+ 0x58,
+ 0x34,
+ 0xce,
+ 0x20,
+ 0x43,
+ 0x69,
+ 0x3d,
+ 0x7e,
+ 0x18,
+ },
+ {
+ 0xb7,
+ 0x49,
+ 0x2c,
+ 0x48,
+ 0x85,
+ 0x47,
+ 0x80,
+ 0xe0,
+ 0x69,
+ 0xe9,
+ 0x9d,
+ 0x53,
+ 0xb4,
+ 0xb9,
+ 0xea,
+ 0x19,
+ },
+ {
+ 0x05,
+ 0x6c,
+ 0xb6,
+ 0xde,
+ 0x31,
+ 0x9f,
+ 0x0e,
+ 0xeb,
+ 0x8e,
+ 0x80,
+ 0x99,
+ 0x63,
+ 0x10,
+ 0xf6,
+ 0x95,
+ 0x1a,
+ },
+ {
+ 0x6b,
+ 0xce,
+ 0xc0,
+ 0xac,
+ 0x5d,
+ 0xd7,
+ 0x74,
+ 0x53,
+ 0xd3,
+ 0xa7,
+ 0x24,
+ 0x73,
+ 0xcd,
+ 0x72,
+ 0x01,
+ 0x1b,
+ },
+ {
+ 0xa2,
+ 0x26,
+ 0x41,
+ 0x31,
+ 0x9a,
+ 0xec,
+ 0xd1,
+ 0xfd,
+ 0x83,
+ 0x52,
+ 0x91,
+ 0x03,
+ 0x9b,
+ 0x68,
+ 0x6b,
+ 0x1c,
+ },
+ {
+ 0xcc,
+ 0x84,
+ 0x37,
+ 0x43,
+ 0xf6,
+ 0xa4,
+ 0xab,
+ 0x45,
+ 0xde,
+ 0x75,
+ 0x2c,
+ 0x13,
+ 0x46,
+ 0xec,
+ 0xff,
+ 0x1d,
+ },
+ {
+ 0x7e,
+ 0xa1,
+ 0xad,
+ 0xd5,
+ 0x42,
+ 0x7c,
+ 0x25,
+ 0x4e,
+ 0x39,
+ 0x1c,
+ 0x28,
+ 0x23,
+ 0xe2,
+ 0xa3,
+ 0x80,
+ 0x1e,
+ },
+ {
+ 0x10,
+ 0x03,
+ 0xdb,
+ 0xa7,
+ 0x2e,
+ 0x34,
+ 0x5f,
+ 0xf6,
+ 0x64,
+ 0x3b,
+ 0x95,
+ 0x33,
+ 0x3f,
+ 0x27,
+ 0x14,
+ 0x1f,
+ },
+ {
+ 0x5e,
+ 0xa7,
+ 0xd8,
+ 0x58,
+ 0x1e,
+ 0x14,
+ 0x9b,
+ 0x61,
+ 0xf1,
+ 0x6a,
+ 0xc1,
+ 0x45,
+ 0x9c,
+ 0xed,
+ 0xa8,
+ 0x20,
+ },
};
static const uint8_t kuz_table[16][256 * 16] = {
- { /* 0 */
- 0xe9, 0xfb, 0xd5, 0x0c, 0x7a, 0xc0, 0x80, 0x96, 0x19, 0x11, 0x87, 0x93,
- 0x1b, 0xc9, 0xae, 0xb5,
- 0x19, 0x08, 0xe0, 0x8c, 0xb2, 0x17, 0x1a, 0xce, 0x7b, 0x32, 0xfc, 0xab,
- 0xf8, 0xfe, 0xf2, 0x0a,
- 0xbf, 0xcb, 0xd0, 0xa2, 0x50, 0xb2, 0xdc, 0x77, 0xc0, 0xbd, 0xca, 0xef,
- 0x4e, 0x88, 0xc7, 0x89,
- 0x62, 0x41, 0x10, 0x1a, 0x5e, 0x63, 0x42, 0xd6, 0x69, 0xc4, 0x12, 0x3c,
- 0xd3, 0x93, 0x13, 0xc0,
- 0x4f, 0x38, 0xe5, 0x22, 0x98, 0x65, 0x46, 0x2f, 0xa2, 0x9e, 0xb1, 0xd7,
- 0xad, 0xbf, 0x9b, 0x36,
- 0x38, 0xb3, 0x39, 0x6a, 0x11, 0x6f, 0x4a, 0xe7, 0x3c, 0x70, 0x97, 0x29,
- 0x2f, 0xcb, 0xc0, 0xef,
- 0xfb, 0x1f, 0xb7, 0xc2, 0x06, 0x7d, 0x56, 0x4d, 0x08, 0x35, 0x78, 0xfd,
- 0x96, 0x0f, 0xfe, 0x68,
- 0x4a, 0x88, 0xf8, 0x9b, 0xc3, 0xa4, 0x79, 0x73, 0xc7, 0x94, 0xe7, 0x89,
- 0xa3, 0xc5, 0x09, 0xaa,
- 0xc1, 0x32, 0x3d, 0x8d, 0xe7, 0x07, 0xbb, 0x33, 0xb7, 0x41, 0x72, 0x26,
- 0x6b, 0x9f, 0xb4, 0xdf,
- 0x6a, 0x7c, 0x99, 0x8e, 0x18, 0x37, 0x9b, 0xf7, 0x20, 0xd4, 0x23, 0x72,
- 0x1d, 0x3c, 0x7e, 0x63,
- 0x0e, 0x5c, 0x9f, 0xfb, 0x95, 0x6b, 0xf3, 0x49, 0x0f, 0x1c, 0x55, 0x9b,
- 0x7b, 0x42, 0x30, 0x4b,
- 0x97, 0x02, 0x38, 0x23, 0xcd, 0x75, 0xe7, 0xd2, 0x6e, 0xed, 0x3f, 0x5a,
- 0x3e, 0xde, 0xdd, 0xe3,
- 0x0b, 0xec, 0x82, 0x42, 0xce, 0xaa, 0xcc, 0x15, 0x6a, 0x16, 0x03, 0xc5,
- 0x75, 0x38, 0xa2, 0xd7,
- 0xa5, 0x12, 0x3b, 0xf8, 0x6a, 0x5b, 0xd3, 0x8d, 0x98, 0x89, 0x04, 0xcf,
- 0x0d, 0xe1, 0xfa, 0xf7,
- 0xba, 0x7b, 0xcd, 0x1b, 0x0b, 0x73, 0xe3, 0x2b, 0xa5, 0xb7, 0x9c, 0xb1,
- 0x40, 0xf2, 0x55, 0x15,
- 0x33, 0x5f, 0xbb, 0x28, 0xdf, 0xc5, 0x86, 0xf2, 0x56, 0x66, 0x94, 0xec,
- 0x5a, 0xf3, 0x62, 0x38,
- 0x31, 0xc1, 0x08, 0x0d, 0x2f, 0xd0, 0x21, 0x6b, 0xd5, 0x62, 0x09, 0x1e,
- 0x88, 0xa8, 0xe8, 0x60,
- 0xed, 0x04, 0x70, 0x46, 0x59, 0xea, 0x0d, 0x67, 0xdc, 0x19, 0x7e, 0xb4,
- 0x7c, 0x7f, 0x79, 0x05,
- 0xe4, 0x76, 0x41, 0x21, 0x67, 0x55, 0x66, 0xeb, 0x35, 0x0b, 0xe0, 0x83,
- 0xdb, 0x1c, 0x51, 0x8a,
- 0x58, 0x6c, 0x9a, 0x55, 0xbf, 0x19, 0xaf, 0xa8, 0xd6, 0xb0, 0x18, 0xe7,
- 0x2e, 0x03, 0x59, 0x77,
- 0x1e, 0x26, 0x4e, 0x10, 0x19, 0xc3, 0x82, 0x0b, 0x9d, 0x3c, 0x37, 0x07,
- 0x24, 0xdf, 0xea, 0xce,
- 0xc9, 0x0f, 0xb4, 0x19, 0xa1, 0x53, 0x62, 0x12, 0xfe, 0x51, 0x43, 0x68,
- 0xa5, 0x30, 0xd9, 0x7c,
- 0xf4, 0x0c, 0x90, 0xca, 0xeb, 0xfd, 0x17, 0xa9, 0xa7, 0x2b, 0x82, 0x1f,
- 0x84, 0x81, 0x8b, 0x0f,
- 0xff, 0xe0, 0x12, 0x88, 0x25, 0x57, 0xdb, 0xbc, 0xcd, 0x3d, 0x81, 0xda,
- 0xf1, 0xb9, 0x29, 0xd8,
- 0x85, 0xe6, 0x5a, 0xed, 0xb1, 0xc8, 0x31, 0x09, 0x7f, 0xc9, 0xc0, 0x34,
- 0xb3, 0x18, 0x8d, 0x3e,
- 0xd3, 0xd6, 0x5f, 0x43, 0x9b, 0xba, 0x6d, 0xe8, 0xa6, 0x65, 0x8d, 0x48,
- 0xe6, 0x59, 0xe4, 0x02,
- 0x2b, 0x18, 0xe3, 0x57, 0x15, 0x39, 0x2e, 0x91, 0x8d, 0x56, 0xc7, 0x3e,
- 0xcb, 0xc1, 0xd5, 0x1e,
- 0x30, 0x8e, 0xb0, 0xfe, 0x57, 0x3b, 0x93, 0xc6, 0x75, 0x60, 0xa6, 0x67,
- 0xe1, 0x64, 0xad, 0x4c,
- 0x17, 0x54, 0x7f, 0x77, 0x27, 0x7c, 0xe9, 0x87, 0x74, 0x2e, 0xa9, 0x30,
- 0x83, 0xbc, 0xc2, 0x41,
- 0x12, 0xe4, 0x62, 0xce, 0x7c, 0xbd, 0xd6, 0xdb, 0x11, 0x24, 0xff, 0x6e,
- 0x8d, 0xc6, 0x50, 0xdd,
- 0xc3, 0xac, 0x8e, 0xa8, 0x17, 0x12, 0x1c, 0xaa, 0x34, 0x45, 0xef, 0xd4,
- 0xb9, 0xc4, 0x3e, 0x87,
- 0x1f, 0x69, 0xf6, 0xe3, 0x61, 0x28, 0x30, 0xa6, 0x3d, 0x3e, 0x98, 0x7e,
- 0x4d, 0x13, 0xaf, 0xe2,
- 0x9c, 0xee, 0xba, 0x61, 0x03, 0xdf, 0x2b, 0xc7, 0x04, 0xfb, 0x3c, 0x9f,
- 0x4b, 0xe6, 0x7f, 0x34,
- 0x1a, 0xd9, 0xeb, 0x5a, 0x3a, 0xe9, 0x0f, 0xfa, 0x58, 0x34, 0xce, 0x20,
- 0x43, 0x69, 0x3d, 0x7e,
- 0x1d, 0xf7, 0x45, 0xc6, 0x91, 0x3d, 0x97, 0x3f, 0xbe, 0x3a, 0x05, 0x8c,
- 0x9f, 0x48, 0x25, 0xba,
- 0xb6, 0xb9, 0xe1, 0xc5, 0x6e, 0x0d, 0xb7, 0xfb, 0x29, 0xaf, 0x54, 0xd8,
- 0xe9, 0xeb, 0xef, 0x06,
- 0x14, 0x85, 0x74, 0xa1, 0xaf, 0x82, 0xfc, 0xb3, 0x57, 0x28, 0x9b, 0xbb,
- 0x38, 0x2b, 0x0d, 0x35,
- 0x51, 0x1e, 0xab, 0x32, 0x81, 0xa6, 0xc4, 0x24, 0x3f, 0xa2, 0x86, 0xd0,
- 0x89, 0x60, 0x71, 0xf8,
- 0xd6, 0x66, 0x42, 0xfa, 0xc0, 0x7b, 0x52, 0xb4, 0xc3, 0x6f, 0xdb, 0x16,
- 0xe8, 0x23, 0x76, 0x9e,
- 0x56, 0x30, 0x05, 0xae, 0x2a, 0x72, 0x5c, 0xe1, 0xd9, 0xac, 0x4d, 0x7c,
- 0x55, 0x41, 0x69, 0x3c,
- 0xee, 0xd5, 0x7b, 0x90, 0xd1, 0x14, 0x18, 0x53, 0xff, 0x1f, 0x4c, 0x3f,
- 0xc7, 0xe8, 0xb6, 0x71,
- 0xa0, 0xa2, 0x26, 0x41, 0x31, 0x9a, 0xec, 0xd1, 0xfd, 0x83, 0x52, 0x91,
- 0x03, 0x9b, 0x68, 0x6b,
- 0x39, 0xfc, 0x81, 0x99, 0x69, 0x84, 0xf8, 0x4a, 0x9c, 0x72, 0x38, 0x50,
- 0x46, 0x07, 0x85, 0xc3,
- 0xac, 0x60, 0x0a, 0x9f, 0x54, 0xe4, 0xb8, 0x01, 0x71, 0x9b, 0x9a, 0xf8,
- 0xaa, 0x82, 0xd2, 0x78,
- 0x04, 0xff, 0xa5, 0x4a, 0x23, 0x2a, 0x8d, 0xf1, 0xc5, 0x08, 0xf9, 0x27,
- 0x67, 0xb6, 0xd7, 0xb0,
- 0xcf, 0x6e, 0xa2, 0x76, 0x72, 0x6c, 0x48, 0x7a, 0xb8, 0x5d, 0x27, 0xbd,
- 0x10, 0xdd, 0x84, 0x94,
- 0x71, 0xea, 0xca, 0x27, 0x5a, 0x35, 0x26, 0xa0, 0xd8, 0xe2, 0x42, 0x2b,
- 0x37, 0x99, 0x06, 0x31,
- 0x6e, 0x83, 0x3c, 0xc4, 0x3b, 0x1d, 0x16, 0x06, 0xe5, 0xdc, 0xda, 0x55,
- 0x7a, 0x8a, 0xa9, 0xd3,
- 0x75, 0x15, 0x6f, 0x6d, 0x79, 0x1f, 0xab, 0x51, 0x1d, 0xea, 0xbb, 0x0c,
- 0x50, 0x2f, 0xd1, 0x81,
- 0x9b, 0xc0, 0x14, 0xfd, 0xa8, 0x0b, 0xb3, 0x02, 0xe2, 0xf5, 0xf7, 0x33,
- 0x97, 0xc7, 0x67, 0xf0,
- 0x5d, 0xdc, 0x87, 0xec, 0xe4, 0xd8, 0x90, 0xf4, 0xb3, 0xba, 0x4e, 0xb9,
- 0x20, 0x79, 0xcb, 0xeb,
- 0xe8, 0xb4, 0x6d, 0xff, 0x02, 0x2b, 0x32, 0x3b, 0xb9, 0x13, 0x28, 0xea,
- 0x72, 0x05, 0xeb, 0x99,
- 0xdb, 0xeb, 0xd6, 0xd7, 0xdd, 0xee, 0xb4, 0xc9, 0xef, 0x75, 0xbc, 0x06,
- 0x28, 0xf6, 0x89, 0xa1,
- 0x82, 0xc8, 0xf4, 0x71, 0x1a, 0x1c, 0xa9, 0xcc, 0x99, 0xc7, 0x0b, 0x98,
- 0x6f, 0x39, 0x95, 0xfa,
- 0xbe, 0x84, 0x68, 0x51, 0x28, 0x59, 0x6e, 0xda, 0x60, 0xbf, 0x65, 0x96,
- 0x27, 0x44, 0x82, 0xa5,
- 0xb8, 0xe5, 0x7e, 0x3e, 0xfb, 0x66, 0x44, 0xb2, 0x26, 0xb3, 0x01, 0x43,
- 0x92, 0xa9, 0xdf, 0x4d,
- 0xe7, 0xa7, 0x4a, 0xf7, 0xef, 0xab, 0x73, 0xdf, 0x16, 0x0d, 0xd2, 0x08,
- 0x60, 0x8b, 0x9e, 0xfe,
- 0x25, 0x44, 0x7c, 0xac, 0x80, 0x52, 0xdd, 0xd8, 0x82, 0x4a, 0x92, 0xa5,
- 0xb0, 0x83, 0xe5, 0x55,
- 0x8b, 0xba, 0xc5, 0x16, 0x24, 0xa3, 0xc2, 0x40, 0x70, 0xd5, 0x95, 0xaf,
- 0xc8, 0x5a, 0xbd, 0x75,
- 0x3b, 0x62, 0x32, 0xbc, 0x99, 0x91, 0x5f, 0xd3, 0x1f, 0x76, 0xa5, 0xa2,
- 0x94, 0x5c, 0x0f, 0x9b,
- 0x5a, 0xf2, 0x29, 0x70, 0x4f, 0x0c, 0x08, 0x31, 0x55, 0xb4, 0x85, 0x15,
- 0xfc, 0x58, 0xd3, 0x2f,
- 0xc7, 0x53, 0x2b, 0xe2, 0x34, 0x38, 0x91, 0x5b, 0xf1, 0x4d, 0x16, 0xf3,
- 0xde, 0x72, 0xe9, 0x37,
- 0xef, 0x9a, 0xc3, 0x63, 0xa9, 0xff, 0xaa, 0xfe, 0x5f, 0x1d, 0xe3, 0x46,
- 0xae, 0x24, 0xf3, 0x5d,
- 0x32, 0x10, 0x03, 0xdb, 0xa7, 0x2e, 0x34, 0x5f, 0xf6, 0x64, 0x3b, 0x95,
- 0x33, 0x3f, 0x27, 0x14,
- 0x6c, 0x1d, 0x8f, 0xe1, 0xcb, 0x08, 0xb1, 0x9f, 0x66, 0xd8, 0x47, 0xa7,
- 0xa8, 0xd1, 0x23, 0x8b,
- 0x8e, 0x0a, 0xd8, 0xaf, 0x7f, 0x62, 0xfd, 0x1c, 0x15, 0xdf, 0xc3, 0xf1,
- 0xc6, 0x20, 0x2f, 0xe9,
- 0x94, 0xd3, 0x33, 0xf5, 0x45, 0x8b, 0xf2, 0xe6, 0x4d, 0xeb, 0x0d, 0xd1,
- 0x85, 0x49, 0x12, 0x97,
- 0x93, 0xfd, 0x9d, 0x69, 0xee, 0x5f, 0x6a, 0x23, 0xab, 0xe5, 0xc6, 0x7d,
- 0x59, 0x68, 0x0a, 0x53,
- 0xa3, 0x73, 0x2d, 0x97, 0xb9, 0x64, 0xf9, 0xe5, 0xde, 0x85, 0x60, 0x1a,
- 0xb8, 0x0c, 0xa7, 0x1f,
- 0x67, 0xf1, 0x0d, 0xa3, 0x05, 0xa2, 0x7d, 0x8a, 0x0c, 0xce, 0x44, 0x62,
- 0xdd, 0xe9, 0x81, 0x5c,
- 0x46, 0x4a, 0xd4, 0x45, 0xa6, 0xda, 0x2d, 0xa3, 0x4b, 0x8c, 0x2f, 0xe0,
- 0x0a, 0xdc, 0xb3, 0xb9,
- 0x9d, 0xa1, 0x02, 0x92, 0x7b, 0x34, 0x99, 0x6a, 0xa4, 0xf9, 0x93, 0xe6,
- 0x22, 0x2a, 0x3a, 0x18,
- 0xb9, 0xaa, 0xc6, 0xcd, 0x83, 0x8d, 0xf6, 0x1f, 0x86, 0xb1, 0xae, 0x3a,
- 0xfb, 0x65, 0x9a, 0x61,
- 0x73, 0x74, 0x79, 0x02, 0xaa, 0x20, 0x81, 0x39, 0x5b, 0xe6, 0xdf, 0xd9,
- 0xe5, 0xc2, 0x8c, 0x69,
- 0xdf, 0x14, 0x73, 0x9d, 0xfe, 0xc4, 0x39, 0x38, 0x2a, 0x7d, 0x45, 0x21,
- 0x4f, 0x40, 0x5e, 0x11,
- 0xe5, 0x39, 0xf9, 0xd2, 0x1f, 0xbe, 0xd4, 0x46, 0x95, 0x09, 0x4f, 0xfa,
- 0xb2, 0xd0, 0x14, 0xa6,
- 0x26, 0x95, 0x77, 0x7a, 0x08, 0xac, 0xc8, 0xec, 0xa1, 0x4c, 0xa0, 0x2e,
- 0x0b, 0x14, 0x2a, 0x21,
- 0xde, 0x5b, 0xcb, 0x6e, 0x86, 0x2f, 0x8b, 0x95, 0x8a, 0x7f, 0xea, 0x58,
- 0x26, 0x8c, 0x1b, 0x3d,
- 0x80, 0x56, 0x47, 0x54, 0xea, 0x09, 0x0e, 0x55, 0x1a, 0xc3, 0x96, 0x6a,
- 0xbd, 0x62, 0x1f, 0xa2,
- 0xdd, 0x8a, 0xc0, 0xb8, 0x0e, 0xd1, 0x9e, 0xa1, 0xa9, 0x79, 0xd8, 0xd3,
- 0x9d, 0x1b, 0xd4, 0x49,
- 0x60, 0xdf, 0xa3, 0x3f, 0xae, 0x76, 0xe5, 0x4f, 0xea, 0xc0, 0x8f, 0xce,
- 0x01, 0xc8, 0x99, 0x98,
- 0xc5, 0xcd, 0x98, 0xc7, 0xc4, 0x2d, 0x36, 0xc2, 0x72, 0x49, 0x8b, 0x01,
- 0x0c, 0x29, 0x63, 0x6f,
- 0x50, 0x51, 0x13, 0xc1, 0xf9, 0x4d, 0x76, 0x89, 0x9f, 0xa0, 0x29, 0xa9,
- 0xe0, 0xac, 0x34, 0xd4,
- 0xbb, 0x34, 0x75, 0xe8, 0x73, 0x98, 0x51, 0x86, 0x05, 0xb5, 0x33, 0xc8,
- 0x29, 0x3e, 0x10, 0x39,
- 0xb7, 0xf6, 0x59, 0x36, 0x16, 0xe6, 0x05, 0x56, 0x89, 0xad, 0xfb, 0xa1,
- 0x80, 0x27, 0xaa, 0x2a,
- 0x0d, 0x8d, 0x94, 0x2d, 0x1d, 0x95, 0xe6, 0x7d, 0x2c, 0x1a, 0x67, 0x10,
- 0xc0, 0xd5, 0xff, 0x3f,
- 0x22, 0x6a, 0xd2, 0x30, 0x2b, 0x86, 0x45, 0x1d, 0x64, 0x44, 0x59, 0x09,
- 0x6c, 0xa2, 0xfd, 0x91,
- 0xf0, 0xf3, 0x35, 0x80, 0xc8, 0xd7, 0x9a, 0x58, 0x62, 0x23, 0x7b, 0x38,
- 0xe3, 0x37, 0x5c, 0xbf,
- 0x8a, 0xf5, 0x7d, 0xe5, 0x5c, 0x48, 0x70, 0xed, 0xd0, 0xd7, 0x3a, 0xd6,
- 0xa1, 0x96, 0xf8, 0x59,
- 0x98, 0x11, 0x1f, 0x2b, 0x20, 0xf5, 0xa6, 0x36, 0xc1, 0xf3, 0xc5, 0xb8,
- 0x2c, 0x50, 0xa8, 0x84,
- 0x3f, 0x9d, 0x97, 0xf6, 0xba, 0xbb, 0xd2, 0x22, 0xda, 0x7e, 0x5c, 0x85,
- 0xf3, 0xea, 0xd8, 0x2b,
- 0xd9, 0x75, 0x65, 0xf2, 0x2d, 0xfb, 0x13, 0x50, 0x6c, 0x71, 0x21, 0xf4,
- 0xfa, 0xad, 0x03, 0xf9,
- 0x81, 0x19, 0xff, 0xa7, 0x92, 0xe2, 0xbc, 0xf8, 0xba, 0xc1, 0x39, 0x13,
- 0xd4, 0xae, 0x5a, 0x8e,
- 0x3d, 0x03, 0x24, 0xd3, 0x4a, 0xae, 0x75, 0xbb, 0x59, 0x7a, 0xc1, 0x77,
- 0x21, 0xb1, 0x52, 0x73,
- 0x9e, 0x70, 0x09, 0x44, 0xf3, 0xca, 0x8c, 0x5e, 0x87, 0xff, 0xa1, 0x6d,
- 0x99, 0xbd, 0xf5, 0x6c,
- 0x09, 0x72, 0x31, 0x67, 0x3e, 0xbf, 0x6b, 0x8c, 0xe9, 0x12, 0x9e, 0x37,
- 0xa7, 0x63, 0x28, 0x8f,
- 0xd8, 0x3a, 0xdd, 0x01, 0x55, 0x10, 0xa1, 0xfd, 0xcc, 0x73, 0x8e, 0x8d,
- 0x93, 0x61, 0x46, 0xd5,
- 0x77, 0x8b, 0xdc, 0x48, 0x89, 0x0a, 0x0c, 0xc8, 0x9e, 0xee, 0x26, 0xfe,
- 0x82, 0x74, 0x5b, 0xd9,
- 0x6b, 0x33, 0x21, 0x7d, 0x60, 0xdc, 0x29, 0x5a, 0x80, 0xd6, 0x8c, 0x0b,
- 0x74, 0xf0, 0x3b, 0x4f,
- 0xe1, 0xc6, 0x5c, 0x98, 0x3c, 0x94, 0x59, 0xb7, 0x50, 0x01, 0xb6, 0xdd,
- 0xd5, 0x66, 0xc3, 0x16,
- 0xad, 0x2f, 0xb2, 0x6c, 0x2c, 0x0f, 0x0a, 0xac, 0xd1, 0x99, 0x35, 0x81,
- 0xc3, 0x4e, 0x97, 0x54,
- 0xe0, 0x89, 0xe4, 0x6b, 0x44, 0x7f, 0xeb, 0x1a, 0xf0, 0x03, 0x19, 0xa4,
- 0xbc, 0xaa, 0x86, 0x3a,
- 0x66, 0xbe, 0xb5, 0x50, 0x7d, 0x49, 0xcf, 0x27, 0xac, 0xcc, 0xeb, 0x1b,
- 0xb4, 0x25, 0xc4, 0x70,
- 0xf8, 0xce, 0xbc, 0x14, 0x8e, 0x83, 0x43, 0x79, 0x2b, 0x33, 0x4a, 0x76,
- 0x2d, 0x98, 0x31, 0x1c,
- 0x76, 0xc4, 0x64, 0xbb, 0xf1, 0xe1, 0xbe, 0x65, 0x3e, 0xec, 0x89, 0x87,
- 0xeb, 0xb8, 0x1e, 0xf5,
- 0x43, 0xfa, 0xc9, 0xfc, 0xfd, 0x1b, 0x12, 0xff, 0x2e, 0x86, 0x79, 0xbe,
- 0x04, 0xa6, 0x21, 0x25,
- 0x72, 0x3b, 0xc1, 0xf1, 0xd2, 0xcb, 0x33, 0x94, 0xfb, 0xe4, 0x70, 0xa0,
- 0x8c, 0x0e, 0xc9, 0x45,
- 0xf7, 0xdd, 0x9b, 0x1c, 0x63, 0x03, 0x02, 0x9d, 0x84, 0x2d, 0xb0, 0x94,
- 0x3f, 0x16, 0x44, 0x7b,
- 0x4e, 0x77, 0x5d, 0xd1, 0xe0, 0x8e, 0xf4, 0x82, 0x02, 0x9c, 0x1e, 0xae,
- 0xc4, 0x73, 0xde, 0x1a,
- 0xdc, 0xc5, 0x78, 0x4b, 0x76, 0x3a, 0x2c, 0x0c, 0x09, 0x7b, 0x77, 0xaa,
- 0xf4, 0xd7, 0x91, 0x65,
- 0x48, 0x16, 0x4b, 0xbe, 0x33, 0xb1, 0xde, 0xea, 0x44, 0x90, 0x7a, 0x7b,
- 0x71, 0x9e, 0x83, 0xf2,
- 0xda, 0xa4, 0x6e, 0x24, 0xa5, 0x05, 0x06, 0x64, 0x4f, 0x77, 0x13, 0x7f,
- 0x41, 0x3a, 0xcc, 0x8d,
- 0x69, 0xad, 0x92, 0x58, 0x90, 0xc9, 0x8e, 0xc3, 0x03, 0xd2, 0x11, 0xf9,
- 0xa6, 0xab, 0xb1, 0x17,
- 0xb0, 0xd8, 0xf7, 0xaa, 0xbd, 0x32, 0x9d, 0x93, 0x6f, 0xa3, 0x30, 0x0d,
- 0x5c, 0x06, 0xb2, 0xee,
- 0xd5, 0xb7, 0x49, 0x2c, 0x48, 0x85, 0x47, 0x80, 0xe0, 0x69, 0xe9, 0x9d,
- 0x53, 0xb4, 0xb9, 0xea,
- 0xf6, 0x92, 0x23, 0xef, 0x1b, 0xe8, 0xb0, 0x30, 0x24, 0x2f, 0x1f, 0xed,
- 0x56, 0xda, 0x01, 0x57,
- 0x7b, 0x49, 0xf0, 0x96, 0xec, 0x74, 0x58, 0x18, 0x12, 0xf6, 0xee, 0x97,
- 0x2b, 0x6d, 0xe1, 0xca,
- 0x41, 0x64, 0x7a, 0xd9, 0x0d, 0x0e, 0xb5, 0x66, 0xad, 0x82, 0xe4, 0x4c,
- 0xd6, 0xfd, 0xab, 0x7d,
- 0xcb, 0x91, 0x07, 0x3c, 0x51, 0x46, 0xc5, 0x8b, 0x7d, 0x55, 0xde, 0x9a,
- 0x77, 0x6b, 0x53, 0x24,
- 0x95, 0x9c, 0x8b, 0x06, 0x3d, 0x60, 0x40, 0x4b, 0xed, 0xe9, 0xa2, 0xa8,
- 0xec, 0x85, 0x57, 0xbb,
- 0xaa, 0x01, 0x1c, 0xf0, 0x87, 0xdb, 0x92, 0x69, 0x37, 0x97, 0xfe, 0x2d,
- 0x1f, 0x6f, 0x8f, 0x90,
- 0xe6, 0xe8, 0xf2, 0x04, 0x97, 0x40, 0xc1, 0x72, 0xb6, 0x0f, 0x7d, 0x71,
- 0x09, 0x47, 0xdb, 0xd2,
- 0x37, 0xa0, 0x1e, 0x62, 0xfc, 0xef, 0x0b, 0x03, 0x93, 0x6e, 0x6d, 0xcb,
- 0x3d, 0x45, 0xb5, 0x88,
- 0x21, 0xbb, 0xd9, 0xe6, 0xa3, 0x78, 0x50, 0x29, 0x47, 0x42, 0x6b, 0x82,
- 0xd7, 0x35, 0x32, 0xe5,
- 0x42, 0xb5, 0x71, 0x0f, 0x85, 0xf0, 0xa0, 0x52, 0x8e, 0x84, 0xd6, 0xc7,
- 0x6d, 0x6a, 0x64, 0x09,
- 0xd7, 0x29, 0xfa, 0x09, 0xb8, 0x90, 0xe0, 0x19, 0x63, 0x6d, 0x74, 0x6f,
- 0x81, 0xef, 0x33, 0xb2,
- 0xc2, 0xe3, 0x36, 0x5b, 0x6f, 0xf9, 0xae, 0x07, 0x94, 0x47, 0x40, 0xad,
- 0xd0, 0x08, 0x7b, 0xab,
- 0x74, 0x5a, 0xd7, 0x9e, 0x01, 0xf4, 0x19, 0xfc, 0xbd, 0xe8, 0x14, 0x75,
- 0x39, 0xe3, 0x94, 0xad,
- 0xe2, 0x17, 0x57, 0x4e, 0xb4, 0x6a, 0x4c, 0x83, 0x73, 0x07, 0x84, 0x56,
- 0x6e, 0xf1, 0x0c, 0x62,
- 0x91, 0x63, 0x2e, 0x4c, 0x1e, 0x4a, 0xcd, 0xba, 0x28, 0xe1, 0x5b, 0x8f,
- 0x8b, 0x33, 0x80, 0x0b,
- 0x23, 0x25, 0x6a, 0xc3, 0x53, 0x6d, 0xf7, 0xb0, 0xc4, 0x46, 0xf6, 0x70,
- 0x05, 0x6e, 0xb8, 0xbd,
- 0xc0, 0x7d, 0x85, 0x7e, 0x9f, 0xec, 0x09, 0x9e, 0x17, 0x43, 0xdd, 0x5f,
- 0x02, 0x53, 0xf1, 0xf3,
- 0x64, 0x20, 0x06, 0x75, 0x8d, 0x5c, 0x68, 0xbe, 0x2f, 0xc8, 0x76, 0xe9,
- 0x66, 0x7e, 0x4e, 0x28,
- 0x0f, 0x13, 0x27, 0x08, 0xed, 0x80, 0x41, 0xe4, 0xaf, 0x1e, 0xfa, 0xe2,
- 0x12, 0x8e, 0x75, 0x67,
- 0x63, 0x0e, 0xa8, 0xe9, 0x26, 0x88, 0xf0, 0x7b, 0xc9, 0xc6, 0xbd, 0x45,
- 0xba, 0x5f, 0x56, 0xec,
- 0xa8, 0x9f, 0xaf, 0xd5, 0x77, 0xce, 0x35, 0xf0, 0xb4, 0x93, 0x63, 0xdf,
- 0xcd, 0x34, 0x05, 0xc8,
- 0x55, 0xe1, 0x0e, 0x78, 0xa2, 0x8c, 0x49, 0xd5, 0xfa, 0xaa, 0x7f, 0xf7,
- 0xee, 0xd6, 0xa6, 0x48,
- 0xbd, 0x55, 0x63, 0x87, 0xa0, 0xa7, 0x7b, 0xee, 0x43, 0xb9, 0x57, 0x1d,
- 0x9c, 0xd3, 0x4d, 0xd1,
- 0x9a, 0x8f, 0xac, 0x0e, 0xd0, 0xe0, 0x01, 0xaf, 0x42, 0xf7, 0x58, 0x4a,
- 0xfe, 0x0b, 0x22, 0xdc,
- 0x03, 0xd1, 0x0b, 0xd6, 0x88, 0xfe, 0x15, 0x34, 0x23, 0x06, 0x32, 0x8b,
- 0xbb, 0x97, 0xcf, 0x74,
- 0xc8, 0x40, 0x0c, 0xea, 0xd9, 0xb8, 0xd0, 0xbf, 0x5e, 0x53, 0xec, 0x11,
- 0xcc, 0xfc, 0x9c, 0x50,
- 0xc4, 0x82, 0x20, 0x34, 0xbc, 0xc6, 0x84, 0x6f, 0xd2, 0x4b, 0x24, 0x78,
- 0x65, 0xe5, 0x26, 0x43,
- 0x6d, 0x52, 0x37, 0x12, 0xb3, 0xe3, 0x03, 0x32, 0xc6, 0xda, 0xe8, 0xde,
- 0xc1, 0x1d, 0x66, 0xa7,
- 0x92, 0xb2, 0x25, 0x9a, 0x96, 0xb4, 0xd8, 0x8e, 0x0b, 0xe7, 0x69, 0x04,
- 0x30, 0xa4, 0x4f, 0x7f,
- 0x49, 0x59, 0xf3, 0x4d, 0x4b, 0x5a, 0x6c, 0x47, 0xe4, 0x92, 0xd5, 0x02,
- 0x18, 0x52, 0xc6, 0xde,
- 0x9f, 0x3f, 0xb1, 0xb7, 0x8b, 0x21, 0x3e, 0xf3, 0x27, 0xfd, 0x0e, 0x14,
- 0xf0, 0x71, 0xb0, 0x40,
- 0x44, 0xd4, 0x67, 0x60, 0x56, 0xcf, 0x8a, 0x3a, 0xc8, 0x88, 0xb2, 0x12,
- 0xd8, 0x87, 0x39, 0xe1,
- 0x2d, 0x79, 0xf5, 0x38, 0xc6, 0x06, 0x04, 0xf9, 0xcb, 0x5a, 0xa3, 0xeb,
- 0x7e, 0x2c, 0x88, 0xf6,
- 0x2f, 0xe7, 0x46, 0x1d, 0x36, 0x13, 0xa3, 0x60, 0x48, 0x5e, 0x3e, 0x19,
- 0xac, 0x77, 0x02, 0xae,
- 0x36, 0xef, 0xa6, 0x91, 0x84, 0x04, 0xb9, 0xae, 0x33, 0x6c, 0xc2, 0xb2,
- 0x54, 0x89, 0xf0, 0xa4,
- 0x15, 0xca, 0xcc, 0x52, 0xd7, 0x69, 0x4e, 0x1e, 0xf7, 0x2a, 0x34, 0xc2,
- 0x51, 0xe7, 0x48, 0x19,
- 0x18, 0x47, 0x58, 0x7f, 0xca, 0xfc, 0xa8, 0x63, 0xdb, 0x30, 0x53, 0xd2,
- 0x91, 0x32, 0xb7, 0x26,
- 0x70, 0xa5, 0x72, 0xd4, 0x22, 0xde, 0x94, 0x0d, 0x78, 0xe0, 0xed, 0x52,
- 0x5e, 0x55, 0x43, 0x1d,
- 0xfe, 0xaf, 0xaa, 0x7b, 0x5d, 0xbc, 0x69, 0x11, 0x6d, 0x3f, 0x2e, 0xa3,
- 0x98, 0x75, 0x6c, 0xf4,
- 0x2e, 0xa8, 0xfe, 0xee, 0x4e, 0xf8, 0x11, 0xcd, 0xe8, 0x5c, 0x91, 0x60,
- 0xc5, 0xbb, 0x47, 0x82,
- 0x5c, 0x93, 0x3f, 0x1f, 0x9c, 0x33, 0x22, 0x59, 0x13, 0xb8, 0xe1, 0xc0,
- 0x49, 0xb5, 0x8e, 0xc7,
- 0xa1, 0xed, 0x9e, 0xb2, 0x49, 0x71, 0x5e, 0x7c, 0x5d, 0x81, 0xfd, 0xe8,
- 0x6a, 0x57, 0x2d, 0x47,
- 0xa6, 0xc3, 0x30, 0x2e, 0xe2, 0xa5, 0xc6, 0xb9, 0xbb, 0x8f, 0x36, 0x44,
- 0xb6, 0x76, 0x35, 0x83,
- 0xea, 0x2a, 0xde, 0xda, 0xf2, 0x3e, 0x95, 0xa2, 0x3a, 0x17, 0xb5, 0x18,
- 0xa0, 0x5e, 0x61, 0xc1,
- 0x1b, 0x96, 0x53, 0xa9, 0x42, 0x02, 0xbd, 0x57, 0xf8, 0x36, 0x61, 0x59,
- 0x2a, 0xa5, 0x78, 0x52,
- 0x90, 0x2c, 0x96, 0xbf, 0x66, 0xa1, 0x7f, 0x17, 0x88, 0xe3, 0xf4, 0xf6,
- 0xe2, 0xff, 0xc5, 0x27,
- 0xa4, 0x5d, 0x83, 0x0b, 0x12, 0xb0, 0x61, 0x20, 0x38, 0x8b, 0xab, 0xb6,
- 0x64, 0x2d, 0xbf, 0xdb,
- 0x68, 0xe2, 0x2a, 0xab, 0xe8, 0x22, 0x3c, 0x6e, 0xa3, 0xd0, 0xbe, 0x80,
- 0xcf, 0x67, 0xf4, 0x3b,
- 0x57, 0x7f, 0xbd, 0x5d, 0x52, 0x99, 0xee, 0x4c, 0x79, 0xae, 0xe2, 0x05,
- 0x3c, 0x8d, 0x2c, 0x10,
- 0xfd, 0x7e, 0xa1, 0xad, 0xd5, 0x42, 0x7c, 0x25, 0x4e, 0x39, 0x1c, 0x28,
- 0x23, 0xe2, 0xa3, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x35, 0x3e, 0xad, 0x47, 0x0c, 0xfa, 0xac, 0x9a, 0x10, 0x6a, 0xf0, 0x39,
- 0xef, 0x1e, 0x3f, 0xd0,
- 0x4b, 0xc7, 0x40, 0x68, 0xbb, 0x4f, 0xcb, 0xde, 0x67, 0x96, 0x48, 0xf0,
- 0xca, 0x09, 0x4c, 0x86,
- 0x47, 0x05, 0x6c, 0xb6, 0xde, 0x31, 0x9f, 0x0e, 0xeb, 0x8e, 0x80, 0x99,
- 0x63, 0x10, 0xf6, 0x95,
- 0xa2, 0x3c, 0x95, 0x64, 0xc1, 0x8f, 0x4b, 0x48, 0x7e, 0x87, 0xcf, 0x63,
- 0xd1, 0xc0, 0xe2, 0x33,
- 0x83, 0x87, 0x4c, 0x82, 0x62, 0xf7, 0x1b, 0x61, 0x39, 0xc5, 0xa4, 0xe1,
- 0x06, 0xf5, 0xd0, 0xd6,
- 0x7c, 0x67, 0x5e, 0x0a, 0x47, 0xa0, 0xc0, 0xdd, 0xf4, 0xf8, 0x25, 0x3b,
- 0xf7, 0x4c, 0xf9, 0x0e,
- 0xd2, 0x99, 0xe7, 0xb0, 0xe3, 0x51, 0xdf, 0x45, 0x06, 0x67, 0x22, 0x31,
- 0x8f, 0x95, 0xa1, 0x2e,
- 0x13, 0xab, 0xda, 0x3d, 0x04, 0x56, 0x64, 0x76, 0xb1, 0x26, 0x50, 0x17,
- 0xe4, 0x0a, 0x15, 0xf1,
- 0x7e, 0xf9, 0xed, 0x2f, 0xb7, 0xb5, 0x67, 0x44, 0x77, 0xfc, 0xb8, 0xc9,
- 0x25, 0x17, 0x73, 0x56,
- 0x3e, 0xd2, 0x2f, 0x05, 0xc2, 0x50, 0x60, 0x8f, 0x7a, 0x7c, 0xf3, 0xfc,
- 0x9a, 0x26, 0x9d, 0x07,
- 0x7a, 0x06, 0x48, 0x65, 0x94, 0x9f, 0xea, 0xb5, 0xb2, 0xf4, 0x41, 0xee,
- 0x42, 0xa1, 0xa4, 0xe6,
- 0x84, 0xa9, 0xe2, 0x1e, 0xc9, 0x23, 0x83, 0xa4, 0xdf, 0xcb, 0x6f, 0x4d,
- 0xda, 0xd4, 0xc8, 0x12,
- 0x16, 0x1b, 0xc7, 0x84, 0x5f, 0x97, 0x5b, 0x2a, 0xd4, 0x2c, 0x06, 0x49,
- 0xea, 0x70, 0x87, 0x6d,
- 0xd1, 0x48, 0xec, 0x66, 0x6b, 0xaf, 0xca, 0x71, 0x25, 0x61, 0x10, 0xba,
- 0x34, 0x02, 0x6e, 0x5a,
- 0xb1, 0x97, 0x4f, 0x59, 0xc5, 0xd9, 0x2f, 0x3e, 0xcf, 0xa1, 0x9f, 0x74,
- 0x35, 0xca, 0xf7, 0xc2,
- 0x0c, 0xc2, 0x2c, 0xde, 0x65, 0x7e, 0x54, 0xd0, 0x8c, 0x18, 0xc8, 0x69,
- 0xa9, 0x19, 0xba, 0x13,
- 0x29, 0x86, 0x50, 0x72, 0xe5, 0x2c, 0x89, 0x08, 0x0e, 0x52, 0x5a, 0xcc,
- 0x19, 0x9a, 0x5f, 0x46,
- 0x06, 0x61, 0x16, 0x6f, 0xd3, 0x3f, 0x2a, 0x68, 0x46, 0x0c, 0x64, 0xd5,
- 0xb5, 0xed, 0x5d, 0xe8,
- 0x2c, 0x36, 0x4d, 0xcb, 0xbe, 0xed, 0xb6, 0x54, 0x6b, 0x58, 0x0c, 0x92,
- 0x17, 0xe0, 0xcd, 0xda,
- 0x2a, 0x57, 0x5b, 0xa4, 0x6d, 0xd2, 0x9c, 0x3c, 0x2d, 0x54, 0x68, 0x47,
- 0xa2, 0x0d, 0x90, 0x32,
- 0xcd, 0xf0, 0x11, 0x53, 0x82, 0x79, 0xef, 0xe3, 0x3b, 0x59, 0xba, 0x4f,
- 0xc2, 0x86, 0x0e, 0xcc,
- 0x07, 0x2e, 0xae, 0x9c, 0xab, 0xd4, 0x98, 0xc5, 0xe6, 0x0e, 0xcb, 0xac,
- 0xdc, 0x21, 0x18, 0xc4,
- 0x10, 0x7a, 0xd1, 0xeb, 0x8c, 0xa8, 0x71, 0x42, 0x92, 0x20, 0x62, 0x9c,
- 0x5f, 0x9d, 0xda, 0x85,
- 0x08, 0x3d, 0x89, 0x94, 0x46, 0x54, 0xd9, 0x21, 0x49, 0x10, 0x31, 0x4e,
- 0xce, 0xaf, 0x6d, 0xa3,
- 0xf9, 0x81, 0x04, 0xe7, 0xf6, 0x68, 0xf1, 0xd4, 0x8b, 0x31, 0xe5, 0x0f,
- 0x44, 0x54, 0x74, 0x30,
- 0x11, 0x35, 0x69, 0x18, 0xf4, 0x43, 0xc3, 0xef, 0x32, 0x22, 0xcd, 0xe5,
- 0x36, 0x51, 0x9f, 0xa9,
- 0x28, 0xc9, 0xe8, 0x81, 0x9d, 0xc7, 0x3b, 0xa5, 0xae, 0x50, 0xf5, 0xb5,
- 0x70, 0x56, 0x1a, 0x6a,
- 0xeb, 0x65, 0x66, 0x29, 0x8a, 0xd5, 0x27, 0x0f, 0x9a, 0x15, 0x1a, 0x61,
- 0xc9, 0x92, 0x24, 0xed,
- 0x87, 0x78, 0xe9, 0xc8, 0x41, 0xdd, 0x96, 0x90, 0xfc, 0xcd, 0x5d, 0xc6,
- 0x61, 0x43, 0x07, 0x66,
- 0xf1, 0xbc, 0x8d, 0x73, 0xb0, 0x3c, 0x28, 0xf5, 0xc2, 0x21, 0xd4, 0x41,
- 0x8a, 0xfb, 0x19, 0x93,
- 0xc6, 0x1c, 0x93, 0x11, 0x4c, 0xd3, 0x23, 0xf6, 0x51, 0x4f, 0xb9, 0x8a,
- 0xb7, 0xbe, 0xac, 0x1b,
- 0xb5, 0x68, 0xea, 0x13, 0xe6, 0xf3, 0xa2, 0xcf, 0x0a, 0xa9, 0x66, 0x53,
- 0x52, 0x7c, 0x20, 0x72,
- 0x6f, 0xcc, 0x84, 0x37, 0x43, 0xf6, 0xa4, 0xab, 0x45, 0xde, 0x75, 0x2c,
- 0x13, 0x46, 0xec, 0xff,
- 0xcc, 0xbf, 0xa9, 0xa0, 0xfa, 0x92, 0x5d, 0x4e, 0x9b, 0x5b, 0x15, 0x36,
- 0xab, 0x4a, 0x4b, 0xe0,
- 0x34, 0x71, 0x15, 0xb4, 0x74, 0x11, 0x1e, 0x37, 0xb0, 0x68, 0x5f, 0x40,
- 0x86, 0xd2, 0x7a, 0xfc,
- 0x1c, 0xb8, 0xfd, 0x35, 0xe9, 0xd6, 0x25, 0x92, 0x1e, 0x38, 0xaa, 0xf5,
- 0xf6, 0x84, 0x60, 0x96,
- 0x4d, 0xa6, 0x56, 0x07, 0x68, 0x70, 0xe1, 0xb6, 0x21, 0x9a, 0x2c, 0x25,
- 0x7f, 0xe4, 0x11, 0x6e,
- 0xf3, 0x22, 0x3e, 0x56, 0x40, 0x29, 0x8f, 0x6c, 0x41, 0x25, 0x49, 0xb3,
- 0x58, 0xa0, 0x93, 0xcb,
- 0x96, 0x4d, 0x80, 0xd0, 0xb5, 0x9e, 0x55, 0x7f, 0xce, 0xef, 0x90, 0x23,
- 0x57, 0x12, 0x98, 0xcf,
- 0x05, 0xb0, 0x1d, 0xb9, 0x5b, 0xc1, 0x3f, 0x5c, 0x65, 0x0a, 0x56, 0x5e,
- 0x0e, 0x7a, 0x92, 0x9c,
- 0x61, 0x90, 0x1b, 0xcc, 0xd6, 0x9d, 0x57, 0xe2, 0x4a, 0xc2, 0x20, 0xb7,
- 0x68, 0x04, 0xdc, 0xb4,
- 0x59, 0x23, 0x22, 0xa6, 0xc7, 0xf2, 0x1d, 0x05, 0x76, 0xb2, 0xb7, 0x9e,
- 0x47, 0xcf, 0x1c, 0x5b,
- 0x86, 0x37, 0x51, 0x3b, 0x39, 0x36, 0x24, 0x3d, 0x5c, 0xcf, 0xf2, 0xbf,
- 0x08, 0x8f, 0x42, 0x4a,
- 0x88, 0x6b, 0xce, 0xc0, 0xac, 0x5d, 0xd7, 0x74, 0x53, 0xd3, 0xa7, 0x24,
- 0x73, 0xcd, 0x72, 0x01,
- 0xb3, 0x09, 0xfc, 0x7c, 0x35, 0xcc, 0x88, 0xa7, 0x4c, 0xa5, 0x02, 0x86,
- 0xe7, 0x91, 0x7d, 0x9a,
- 0x89, 0x24, 0x76, 0x33, 0xd4, 0xb6, 0x65, 0xd9, 0xf3, 0xd1, 0x08, 0x5d,
- 0x1a, 0x01, 0x37, 0x2d,
- 0xfc, 0x31, 0x19, 0x5e, 0xad, 0xa9, 0xce, 0x88, 0xee, 0x3b, 0xb3, 0x51,
- 0x4a, 0x2e, 0xe6, 0xac,
- 0xab, 0x4e, 0xa4, 0x03, 0xff, 0x30, 0x20, 0xc4, 0x97, 0x95, 0x51, 0x54,
- 0x76, 0xa3, 0xca, 0xbc,
- 0x53, 0x80, 0x18, 0x17, 0x71, 0xb3, 0x63, 0xbd, 0xbc, 0xa6, 0x1b, 0x22,
- 0x5b, 0x3b, 0xfb, 0xa0,
- 0xb4, 0x27, 0x52, 0xe0, 0x9e, 0x18, 0x10, 0x62, 0xaa, 0xab, 0xc9, 0x2a,
- 0x3b, 0xb0, 0x65, 0x5e,
- 0xe3, 0x58, 0xef, 0xbd, 0xcc, 0x81, 0xfe, 0x2e, 0xd3, 0x05, 0x2b, 0x2f,
- 0x07, 0x3d, 0x49, 0x4e,
- 0xce, 0x21, 0x1a, 0x85, 0x0a, 0x87, 0xfa, 0xd7, 0x18, 0x5f, 0x88, 0xc4,
- 0x79, 0x11, 0xc1, 0xb8,
- 0x52, 0xcf, 0xa0, 0xe4, 0x09, 0x58, 0xd1, 0x10, 0x1c, 0xa4, 0xb4, 0x5b,
- 0x32, 0xf7, 0xbe, 0x8c,
- 0x8c, 0x94, 0x6b, 0x8a, 0x8f, 0x77, 0x5a, 0x85, 0x96, 0xdb, 0x5e, 0x03,
- 0x14, 0x7b, 0xa5, 0xb1,
- 0x3a, 0x2d, 0x8a, 0x4f, 0xe1, 0x7a, 0xed, 0x7e, 0xbf, 0x74, 0x0a, 0xdb,
- 0xfd, 0x90, 0x4a, 0xb7,
- 0xca, 0xde, 0xbf, 0xcf, 0x29, 0xad, 0x77, 0x26, 0xdd, 0x57, 0x71, 0xe3,
- 0x1e, 0xa7, 0x16, 0x08,
- 0x54, 0xae, 0xb6, 0x8b, 0xda, 0x67, 0xfb, 0x78, 0x5a, 0xa8, 0xd0, 0x8e,
- 0x87, 0x1a, 0xe3, 0x64,
- 0xa7, 0x8c, 0x88, 0xdd, 0x9a, 0x4e, 0x74, 0x14, 0x1b, 0x8d, 0x99, 0x3d,
- 0xdf, 0xba, 0x70, 0xaf,
- 0x99, 0x5e, 0xa7, 0xd8, 0x58, 0x1e, 0x14, 0x9b, 0x61, 0xf1, 0x6a, 0xc1,
- 0x45, 0x9c, 0xed, 0xa8,
- 0x0a, 0xa3, 0x3a, 0xb1, 0xb6, 0x41, 0x7e, 0xb8, 0xca, 0x14, 0xac, 0xbc,
- 0x1c, 0xf4, 0xe7, 0xfb,
- 0x40, 0x2b, 0xc2, 0x2a, 0x75, 0xe5, 0x07, 0xcb, 0x0d, 0x80, 0x4b, 0x35,
- 0xbf, 0x31, 0xee, 0x51,
- 0x02, 0x9e, 0xb3, 0x25, 0xf0, 0x15, 0xa7, 0x99, 0x83, 0x04, 0x9d, 0xf2,
- 0xd2, 0x5b, 0x8a, 0x58,
- 0x5b, 0xbd, 0x91, 0x83, 0x37, 0xe7, 0xba, 0x9c, 0xf5, 0xb6, 0x2a, 0x6c,
- 0x95, 0x94, 0x96, 0x03,
- 0xbc, 0x1a, 0xdb, 0x74, 0xd8, 0x4c, 0xc9, 0x43, 0xe3, 0xbb, 0xf8, 0x64,
- 0xf5, 0x1f, 0x08, 0xfd,
- 0x78, 0x98, 0xfb, 0x40, 0x64, 0x8a, 0x4d, 0x2c, 0x31, 0xf0, 0xdc, 0x1c,
- 0x90, 0xfa, 0x2e, 0xbe,
- 0x79, 0xd7, 0x43, 0xb3, 0x1c, 0x61, 0xff, 0x81, 0x91, 0xf2, 0x73, 0x65,
- 0xf9, 0x36, 0x6b, 0x92,
- 0xf5, 0x43, 0x28, 0x39, 0x93, 0x16, 0xa5, 0x04, 0x07, 0x29, 0x2d, 0x66,
- 0xed, 0x4d, 0xce, 0x23,
- 0xa9, 0xd0, 0x17, 0x26, 0x0f, 0x25, 0x87, 0x5d, 0x14, 0x91, 0xcc, 0xa6,
- 0xa4, 0xf8, 0x40, 0xe4,
- 0xec, 0x4b, 0xc8, 0xb5, 0x21, 0x01, 0xbf, 0xca, 0x7c, 0x1b, 0xd1, 0xcd,
- 0x15, 0xb3, 0x3c, 0x29,
- 0x7d, 0x28, 0xe6, 0xf9, 0x3f, 0x4b, 0x72, 0x70, 0x54, 0xfa, 0x8a, 0x42,
- 0x9e, 0x80, 0xbc, 0x22,
- 0x45, 0x9b, 0xdf, 0x93, 0x2e, 0x24, 0x38, 0x97, 0x68, 0x8a, 0x1d, 0x6b,
- 0xb1, 0x4b, 0x7c, 0xcd,
- 0x3c, 0x4c, 0x9c, 0x20, 0x32, 0x45, 0xc7, 0x16, 0xf9, 0x78, 0x6e, 0x0e,
- 0x48, 0x7d, 0x17, 0x5f,
- 0x65, 0x6f, 0xbe, 0x86, 0xf5, 0xb7, 0xda, 0x13, 0x8f, 0xca, 0xd9, 0x90,
- 0x0f, 0xb2, 0x0b, 0x04,
- 0x01, 0x4f, 0xb8, 0xf3, 0x78, 0xeb, 0xb2, 0xad, 0xa0, 0x02, 0xaf, 0x79,
- 0x69, 0xcc, 0x45, 0x2c,
- 0x24, 0x0b, 0xc4, 0x5f, 0xf8, 0xb9, 0x6f, 0x75, 0x22, 0x48, 0x3d, 0xdc,
- 0xd9, 0x4f, 0xa0, 0x79,
- 0x5f, 0x42, 0x34, 0xc9, 0x14, 0xcd, 0x37, 0x6d, 0x30, 0xbe, 0xd3, 0x4b,
- 0xf2, 0x22, 0x41, 0xb3,
- 0x7f, 0xb6, 0x55, 0xdc, 0xcf, 0x5e, 0xd5, 0xe9, 0xd7, 0xfe, 0x17, 0xb0,
- 0x4c, 0xdb, 0x36, 0x7a,
- 0x20, 0xf4, 0x61, 0x15, 0xdb, 0x93, 0xe2, 0x84, 0xe7, 0x40, 0xc4, 0xfb,
- 0xbe, 0xf9, 0x77, 0xc9,
- 0xae, 0xfe, 0xb9, 0xba, 0xa4, 0xf1, 0x1f, 0x98, 0xf2, 0x9f, 0x07, 0x0a,
- 0x78, 0xd9, 0x58, 0x20,
- 0x5e, 0x0d, 0x8c, 0x3a, 0x6c, 0x26, 0x85, 0xc0, 0x90, 0xbc, 0x7c, 0x32,
- 0x9b, 0xee, 0x04, 0x9f,
- 0xaf, 0xb1, 0x01, 0x49, 0xdc, 0x1a, 0xad, 0x35, 0x52, 0x9d, 0xa8, 0x73,
- 0x11, 0x15, 0x1d, 0x0c,
- 0xd0, 0x07, 0x54, 0x95, 0x13, 0x44, 0x78, 0xdc, 0x85, 0x63, 0xbf, 0xc3,
- 0x5d, 0xce, 0x2b, 0x76,
- 0xb2, 0x46, 0x44, 0x8f, 0x4d, 0x27, 0x3a, 0x0a, 0xec, 0xa7, 0xad, 0xff,
- 0x8e, 0x5d, 0x38, 0xb6,
- 0x8f, 0x45, 0x60, 0x5c, 0x07, 0x89, 0x4f, 0xb1, 0xb5, 0xdd, 0x6c, 0x88,
- 0xaf, 0xec, 0x6a, 0xc5,
- 0x27, 0xda, 0xcf, 0x89, 0x70, 0x47, 0x7a, 0x41, 0x01, 0x4e, 0x0f, 0x57,
- 0x62, 0xd8, 0x6f, 0x0d,
- 0x8d, 0xdb, 0xd3, 0x79, 0xf7, 0x9c, 0xe8, 0x28, 0x36, 0xd9, 0xf1, 0x7a,
- 0x7d, 0xb7, 0xe0, 0x9d,
- 0x4c, 0xe9, 0xee, 0xf4, 0x10, 0x9b, 0x53, 0x1b, 0x81, 0x98, 0x83, 0x5c,
- 0x16, 0x28, 0x54, 0x42,
- 0xd4, 0xf8, 0xf1, 0xdf, 0x30, 0x6e, 0xf5, 0x2d, 0x40, 0x6b, 0x46, 0xe4,
- 0x3a, 0x78, 0xfc, 0xc6,
- 0xfa, 0x50, 0x0f, 0x31, 0x7e, 0x96, 0xe4, 0xe0, 0xa8, 0x37, 0xd7, 0x84,
- 0xff, 0xc3, 0xbb, 0x44,
- 0xf2, 0x6d, 0x86, 0xa5, 0x38, 0xc2, 0x3d, 0xc1, 0xe1, 0x27, 0xe6, 0xca,
- 0x31, 0x6c, 0xd6, 0xe7,
- },
- { /* 1 */
- 0x2f, 0x36, 0x58, 0xea, 0xa2, 0x0c, 0x25, 0xcf, 0x7c, 0xd9, 0x9e, 0x49,
- 0x92, 0xd3, 0x50, 0x36,
- 0x48, 0x33, 0xd6, 0x3a, 0x7e, 0x8c, 0x82, 0xb8, 0xf4, 0x6c, 0x87, 0xe4,
- 0x0b, 0xa6, 0x9f, 0x33,
- 0x5c, 0x9c, 0xe9, 0x76, 0x65, 0xa2, 0xaf, 0xd9, 0x01, 0x72, 0x0a, 0x54,
- 0xa8, 0x81, 0x94, 0x9c,
- 0x0c, 0x65, 0x15, 0x85, 0x09, 0x1a, 0x1b, 0x9e, 0x53, 0x0a, 0x7b, 0xd1,
- 0x61, 0x1d, 0xb8, 0x65,
- 0x3b, 0x99, 0x67, 0xa6, 0xb9, 0x22, 0x08, 0xae, 0x89, 0xc7, 0x13, 0xf9,
- 0x31, 0xf4, 0x5b, 0x99,
- 0x62, 0x5e, 0xf1, 0xc3, 0xaa, 0x6a, 0x3d, 0xfe, 0x24, 0x53, 0xab, 0x81,
- 0xc1, 0x0c, 0xbd, 0x5e,
- 0xe7, 0xef, 0x6c, 0x2a, 0x3c, 0xc2, 0x44, 0x6e, 0x67, 0x75, 0x70, 0x59,
- 0xb2, 0xd6, 0x51, 0xef,
- 0x42, 0x85, 0x28, 0x1c, 0x92, 0x9b, 0x75, 0x69, 0x6f, 0x63, 0x20, 0xbc,
- 0xbb, 0x54, 0x7b, 0x85,
- 0x61, 0xd6, 0x65, 0x73, 0x39, 0x8d, 0x4b, 0x38, 0x40, 0xb0, 0xc5, 0x24,
- 0x48, 0x9a, 0x93, 0xd6,
- 0x1a, 0x3a, 0x73, 0xa8, 0xf0, 0x8e, 0xd3, 0x7b, 0x5f, 0x17, 0x03, 0xa7,
- 0x8d, 0xde, 0x87, 0x3a,
- 0xf9, 0xf6, 0xad, 0x40, 0xcb, 0xfb, 0x9e, 0xde, 0x09, 0x64, 0x5a, 0xb1,
- 0xa1, 0x03, 0xbe, 0xf6,
- 0x12, 0x7c, 0xd4, 0xef, 0xfe, 0x23, 0xc1, 0x2e, 0x3d, 0x1b, 0x51, 0x39,
- 0x72, 0xc8, 0x57, 0x7c,
- 0x80, 0xea, 0xe2, 0xfa, 0xe0, 0x42, 0xe3, 0x19, 0xef, 0xc0, 0x69, 0xf4,
- 0x2b, 0xa3, 0x9e, 0xea,
- 0x82, 0x1a, 0xbb, 0x9b, 0x02, 0xf8, 0x06, 0x9d, 0x16, 0xc3, 0x9c, 0x32,
- 0x64, 0x47, 0xaa, 0x1a,
- 0x25, 0x80, 0xa6, 0xcc, 0x4e, 0x1b, 0xd2, 0x1e, 0xe7, 0xd6, 0x39, 0x11,
- 0x22, 0x21, 0xb4, 0x80,
- 0xe2, 0xb4, 0x13, 0x39, 0x4a, 0x28, 0xde, 0xe7, 0xcb, 0x93, 0xc2, 0x75,
- 0xea, 0xaf, 0x23, 0xb4,
- 0x06, 0xd3, 0xeb, 0xa3, 0xe5, 0x0d, 0xec, 0x4f, 0xc8, 0x05, 0xdc, 0x89,
- 0xd1, 0xef, 0x5c, 0xd3,
- 0x24, 0xf8, 0x6b, 0x1d, 0x3f, 0x46, 0x41, 0x5c, 0x7a, 0x36, 0xa2, 0x72,
- 0xe4, 0x53, 0xae, 0xf8,
- 0x40, 0x75, 0x71, 0x7d, 0x70, 0x21, 0x90, 0xed, 0x96, 0x60, 0xd5, 0x7a,
- 0xf4, 0xb0, 0x4f, 0x75,
- 0x8a, 0x5c, 0x1c, 0xdc, 0x0c, 0x55, 0x14, 0xc8, 0x74, 0xcf, 0xce, 0xac,
- 0x9b, 0x51, 0x7a, 0x5c,
- 0xd5, 0x48, 0x61, 0x1a, 0xfa, 0x10, 0xcd, 0xd7, 0x11, 0x5e, 0xaa, 0x5d,
- 0xba, 0x46, 0xc0, 0x48,
- 0x77, 0x89, 0x03, 0x5e, 0xc0, 0x19, 0x83, 0xdd, 0x4c, 0xad, 0xbd, 0x52,
- 0xa4, 0x59, 0xac, 0x89,
- 0x6c, 0xcb, 0xbd, 0x27, 0x41, 0xca, 0xc3, 0xe4, 0x8e, 0x5a, 0x25, 0x96,
- 0xef, 0xf5, 0x31, 0xcb,
- 0xec, 0x21, 0x5f, 0xdd, 0xa1, 0x88, 0x20, 0xfd, 0x61, 0x9a, 0x4c, 0x62,
- 0xc4, 0x56, 0xaf, 0x21,
- 0xda, 0xa5, 0xe0, 0x2f, 0x60, 0xed, 0xa0, 0x8f, 0x26, 0xb7, 0xbf, 0x29,
- 0x52, 0xcd, 0x56, 0xa5,
- 0xa9, 0x0f, 0x51, 0xb3, 0xa7, 0x43, 0x2a, 0x99, 0x5b, 0x1c, 0x2b, 0x34,
- 0x68, 0x9f, 0x92, 0x0f,
- 0xd8, 0x55, 0xb9, 0x4e, 0x82, 0x57, 0x45, 0x0b, 0xdf, 0xb4, 0x4a, 0xef,
- 0x1d, 0x29, 0x62, 0x55,
- 0x74, 0x01, 0x97, 0xee, 0x53, 0xfe, 0xf5, 0x1b, 0x28, 0x4e, 0xd3, 0xf7,
- 0x2d, 0xcf, 0x82, 0x01,
- 0xb1, 0xc5, 0x7b, 0x7a, 0xb5, 0x77, 0x1c, 0x66, 0xfd, 0x08, 0xdd, 0x55,
- 0xaa, 0xa5, 0x21, 0xc5,
- 0xc8, 0xd9, 0x34, 0xc0, 0x9e, 0xce, 0x61, 0xa1, 0x1b, 0xac, 0xee, 0x10,
- 0x20, 0x05, 0x01, 0xd9,
- 0x85, 0xb1, 0x9d, 0xe9, 0x96, 0xa8, 0x79, 0x90, 0x43, 0x26, 0xdb, 0xd8,
- 0x73, 0xda, 0xec, 0xb1,
- 0xa7, 0x9a, 0x1d, 0x57, 0x4c, 0xe3, 0xd4, 0x83, 0xf1, 0x15, 0xa5, 0x23,
- 0x46, 0x66, 0x1e, 0x9a,
- 0x92, 0x96, 0x36, 0x15, 0x1e, 0x61, 0x22, 0x37, 0xd2, 0xdb, 0x38, 0xcd,
- 0x59, 0x6b, 0xc9, 0x96,
- 0xde, 0x86, 0x52, 0xed, 0x67, 0x5a, 0xa9, 0x44, 0x17, 0xb1, 0x96, 0x66,
- 0xcc, 0xc6, 0x3e, 0x86,
- 0x43, 0xfd, 0xe5, 0xcd, 0xe3, 0xc6, 0xe6, 0x2b, 0xf2, 0x83, 0xbb, 0xdf,
- 0x7d, 0x26, 0x61, 0xfd,
- 0x38, 0x11, 0xf3, 0x16, 0x2a, 0xc5, 0x7e, 0x68, 0xed, 0x24, 0x7d, 0x5c,
- 0xb8, 0x62, 0x75, 0x11,
- 0x27, 0x70, 0xff, 0xad, 0xac, 0xa1, 0x37, 0x9a, 0x1e, 0xd5, 0xcc, 0xd7,
- 0x6d, 0xc5, 0x80, 0x70,
- 0xee, 0xd1, 0x06, 0xbc, 0x43, 0x32, 0xc5, 0x79, 0x98, 0x99, 0xb9, 0xa4,
- 0x8b, 0xb2, 0x9b, 0xd1,
- 0xd0, 0x13, 0x1e, 0x09, 0x8c, 0xfa, 0x57, 0x5e, 0xbd, 0xb8, 0x18, 0x71,
- 0xe2, 0x3f, 0xb2, 0x13,
- 0x73, 0xaa, 0xb1, 0x9c, 0xc7, 0xae, 0x8a, 0x16, 0x7d, 0xab, 0x94, 0x1d,
- 0x3a, 0x52, 0xc4, 0xaa,
- 0xb2, 0x4d, 0xef, 0xca, 0x26, 0x90, 0x6a, 0xa0, 0x99, 0xeb, 0xb3, 0xf0,
- 0x23, 0x33, 0x0f, 0x4d,
- 0xfb, 0x06, 0xf4, 0x21, 0x29, 0x41, 0x7b, 0x5a, 0xf0, 0x67, 0xaf, 0x77,
- 0xee, 0xe7, 0x8a, 0x06,
- 0x10, 0x8c, 0x8d, 0x8e, 0x1c, 0x99, 0x24, 0xaa, 0xc4, 0x18, 0xa4, 0xff,
- 0x3d, 0x2c, 0x63, 0x8c,
- 0xe6, 0x97, 0xa1, 0xfb, 0x4d, 0x9f, 0xd7, 0x2c, 0xfa, 0x95, 0xeb, 0x3a,
- 0x74, 0xa4, 0x4b, 0x97,
- 0x0b, 0xce, 0x33, 0xf7, 0x9d, 0x4a, 0x64, 0x93, 0x06, 0xef, 0x3c, 0x3b,
- 0x76, 0x80, 0xfe, 0xce,
- 0x98, 0x20, 0xc8, 0x33, 0xf2, 0x76, 0xd5, 0xe6, 0x49, 0xd4, 0x9f, 0x95,
- 0xe9, 0x99, 0x2d, 0x20,
- 0xb6, 0x6e, 0x5d, 0x08, 0x21, 0x27, 0x63, 0x6b, 0xa8, 0xed, 0x9a, 0xbf,
- 0xbd, 0x38, 0x67, 0x6e,
- 0x11, 0xf4, 0x40, 0x5f, 0x6d, 0xc4, 0xb7, 0xe8, 0x59, 0xf8, 0x3f, 0x9c,
- 0xfb, 0x5e, 0x79, 0xf4,
- 0xbd, 0xa0, 0x6e, 0xff, 0xbc, 0x6d, 0x07, 0xf8, 0xae, 0x02, 0xa6, 0x84,
- 0xcb, 0xb8, 0x99, 0xa0,
- 0x0f, 0xed, 0x81, 0x35, 0x9a, 0xfd, 0x6d, 0x58, 0x37, 0xe9, 0x15, 0x74,
- 0xe8, 0x8b, 0x96, 0xed,
- 0xf3, 0x40, 0x53, 0x66, 0x27, 0xec, 0x69, 0x0f, 0x92, 0x6b, 0xfd, 0xe9,
- 0x11, 0xf1, 0x5a, 0x40,
- 0x5d, 0xe4, 0x24, 0xa7, 0x14, 0xff, 0x3c, 0x9b, 0x9c, 0x92, 0x91, 0x37,
- 0x6e, 0xf3, 0x8e, 0xe4,
- 0xbf, 0x50, 0x37, 0x9e, 0x5e, 0xd7, 0xe2, 0x7c, 0x57, 0x01, 0x53, 0x42,
- 0x84, 0x5c, 0xad, 0x50,
- 0x47, 0xde, 0x57, 0x0f, 0xe4, 0x71, 0xef, 0xe0, 0xc3, 0x85, 0x92, 0x90,
- 0xe3, 0x2d, 0x09, 0xde,
- 0x2e, 0x4e, 0x95, 0x3b, 0xd3, 0x51, 0xb6, 0x8d, 0xe1, 0x39, 0x05, 0x2a,
- 0x54, 0xa1, 0x4a, 0x4e,
- 0xc1, 0xe7, 0x5e, 0x56, 0xe1, 0x3e, 0xe0, 0xb6, 0xe4, 0x40, 0x27, 0xed,
- 0x19, 0x61, 0xcb, 0xe7,
- 0xd6, 0xc0, 0xf5, 0xaa, 0x69, 0xf7, 0xbb, 0x11, 0x75, 0xbd, 0xc4, 0xf8,
- 0x33, 0xd0, 0xee, 0xc0,
- 0x21, 0xa3, 0x14, 0x0e, 0x49, 0xac, 0xdb, 0xd5, 0xd6, 0xd0, 0x10, 0x5e,
- 0xbc, 0x2a, 0xdc, 0xa3,
- 0x23, 0x53, 0x4d, 0x6f, 0xab, 0x16, 0x3e, 0x51, 0x2f, 0xd3, 0xe5, 0x98,
- 0xf3, 0xce, 0xe8, 0x53,
- 0xf4, 0xeb, 0x75, 0x14, 0xb3, 0xbc, 0x16, 0x02, 0xc7, 0x8e, 0xba, 0x03,
- 0x06, 0x6c, 0x1c, 0xeb,
- 0x6e, 0x3b, 0xe4, 0x46, 0xa3, 0x70, 0x26, 0x60, 0x77, 0x59, 0xd0, 0x50,
- 0xa0, 0x11, 0x05, 0x3b,
- 0x8e, 0x7f, 0xae, 0x1e, 0x0b, 0xe2, 0x1d, 0x03, 0x45, 0xc9, 0xe7, 0xe3,
- 0x05, 0x5a, 0x12, 0x7f,
- 0xc0, 0x9f, 0x93, 0x87, 0x90, 0x63, 0x73, 0xf4, 0x79, 0xa0, 0xbc, 0x8e,
- 0xdf, 0x13, 0xd1, 0x9f,
- 0x90, 0x66, 0x6f, 0x74, 0xfc, 0xdb, 0xc7, 0xb3, 0x2b, 0xd8, 0xcd, 0x0b,
- 0x16, 0x8f, 0xfd, 0x66,
- 0xf5, 0x93, 0xb8, 0xc5, 0xc2, 0xe1, 0x85, 0x40, 0x5a, 0x6e, 0x21, 0x60,
- 0xc0, 0x1e, 0x06, 0x93,
- 0x5a, 0x4f, 0x02, 0xd5, 0x80, 0xaf, 0x43, 0x96, 0xc9, 0x77, 0xd6, 0xdd,
- 0x79, 0x6e, 0xc8, 0x4f,
- 0x84, 0xc9, 0x50, 0x38, 0xe7, 0xf5, 0xea, 0xd2, 0xde, 0xc6, 0x40, 0xbb,
- 0xb5, 0xa8, 0xf6, 0xc9,
- 0x19, 0xb2, 0xe7, 0x18, 0x63, 0x69, 0xa5, 0xbd, 0x3b, 0xf4, 0x6d, 0x02,
- 0x04, 0x48, 0xa9, 0xb2,
- 0x6d, 0xb3, 0x70, 0xf6, 0x30, 0x97, 0x50, 0xa6, 0x13, 0xba, 0xbe, 0xf5,
- 0x29, 0x87, 0x2b, 0xb3,
- 0x75, 0x79, 0x5a, 0x3f, 0x22, 0xa3, 0x66, 0x59, 0xb5, 0xae, 0x48, 0x94,
- 0xeb, 0xbd, 0x98, 0x79,
- 0x5f, 0x14, 0x7d, 0xc6, 0xf6, 0x45, 0xd9, 0x1f, 0x65, 0x91, 0x64, 0xf1,
- 0x21, 0x17, 0xba, 0x14,
- 0xe0, 0x44, 0x4a, 0x58, 0xa8, 0x92, 0x3b, 0x63, 0x32, 0x90, 0x37, 0xb3,
- 0xa5, 0x4b, 0x17, 0x44,
- 0xb3, 0x35, 0x22, 0x1b, 0x57, 0xcd, 0xf9, 0xe2, 0x04, 0x0b, 0x28, 0x93,
- 0xe5, 0x41, 0x15, 0x35,
- 0x52, 0x09, 0xa5, 0x92, 0x8e, 0x02, 0x51, 0xc3, 0xab, 0x7b, 0x84, 0x43,
- 0x86, 0x78, 0x18, 0x09,
- 0xb4, 0x9e, 0x04, 0x69, 0xc3, 0x9d, 0x86, 0xef, 0x51, 0xee, 0x6f, 0x79,
- 0xf2, 0xdc, 0x53, 0x9e,
- 0x32, 0xa7, 0x0d, 0x30, 0xc6, 0xd2, 0x89, 0xb9, 0x76, 0x2b, 0xda, 0x04,
- 0x08, 0x90, 0x91, 0xa7,
- 0xb7, 0x16, 0x90, 0xd9, 0x50, 0x7a, 0xf0, 0x29, 0x35, 0x0d, 0x01, 0xdc,
- 0x7b, 0x4a, 0x7d, 0x16,
- 0xc6, 0x4c, 0x78, 0x24, 0x75, 0x6e, 0x9f, 0xbb, 0xb1, 0xa5, 0x60, 0x07,
- 0x0e, 0xfc, 0x8d, 0x4c,
- 0xa3, 0xb9, 0xaf, 0x95, 0x4b, 0x54, 0xdd, 0x48, 0xc0, 0x13, 0x8c, 0x6c,
- 0xd8, 0x6d, 0x76, 0xb9,
- 0x50, 0xf9, 0xfc, 0xf3, 0x6c, 0xb8, 0xb4, 0x47, 0x52, 0x78, 0x71, 0x85,
- 0xc9, 0x9c, 0x2c, 0xf9,
- 0xe8, 0x02, 0xed, 0x1f, 0xa6, 0x3f, 0x29, 0x36, 0x50, 0x9c, 0x65, 0x2d,
- 0x5a, 0x5d, 0xc7, 0x02,
- 0x6a, 0x18, 0x56, 0x84, 0xa4, 0xc7, 0x2f, 0xab, 0x46, 0x5f, 0xf9, 0x1f,
- 0x3e, 0x1a, 0x6d, 0x18,
- 0x9c, 0x03, 0x7a, 0xf1, 0xf5, 0xc1, 0xdc, 0x2d, 0x78, 0xd2, 0xb6, 0xda,
- 0x77, 0x92, 0x45, 0x03,
- 0x57, 0x52, 0xda, 0x81, 0xf8, 0xe8, 0xcb, 0x4a, 0x07, 0x9d, 0x36, 0x6f,
- 0xde, 0x01, 0x6a, 0x52,
- 0x4a, 0xc3, 0x8f, 0x5b, 0x9c, 0x36, 0x67, 0x3c, 0x0d, 0x6f, 0x72, 0x22,
- 0x44, 0x42, 0xab, 0xc3,
- 0x6f, 0x43, 0x29, 0x97, 0xd2, 0x2d, 0xb5, 0x22, 0xea, 0xb9, 0x4b, 0x33,
- 0x66, 0x63, 0x1f, 0x43,
- 0xbc, 0xd8, 0xa3, 0x2e, 0xcd, 0x30, 0x94, 0xba, 0x33, 0xe2, 0x3d, 0xe7,
- 0x0d, 0xca, 0x83, 0xd8,
- 0x67, 0x05, 0x8e, 0xd0, 0xdc, 0x80, 0xa7, 0x77, 0x88, 0xb5, 0x19, 0xad,
- 0x99, 0x75, 0xcf, 0x05,
- 0x51, 0x81, 0x31, 0x22, 0x1d, 0xe5, 0x27, 0x05, 0xcf, 0x98, 0xea, 0xe6,
- 0x0f, 0xee, 0x36, 0x81,
- 0x99, 0x58, 0x05, 0xe2, 0x83, 0x2b, 0x46, 0xa4, 0xd4, 0x34, 0x04, 0xf6,
- 0x2f, 0xeb, 0x37, 0x58,
- 0xff, 0x25, 0x46, 0xe3, 0x2e, 0xf6, 0x72, 0x91, 0xc1, 0x61, 0x86, 0x38,
- 0x70, 0xec, 0xe2, 0x25,
- 0x5b, 0x37, 0xcf, 0x04, 0xf1, 0xf2, 0xd0, 0xd4, 0x54, 0x97, 0x4d, 0xbe,
- 0xbf, 0x1c, 0xd2, 0x37,
- 0xd1, 0x6b, 0xd3, 0xd8, 0xfd, 0xa7, 0xc4, 0x1c, 0x20, 0x58, 0x83, 0x12,
- 0x24, 0x4d, 0xa8, 0x6b,
- 0x1b, 0x42, 0xbe, 0x79, 0x81, 0xd3, 0x40, 0x39, 0xc2, 0xf7, 0x98, 0xc4,
- 0x4b, 0xac, 0x9d, 0x42,
- 0x76, 0xf1, 0xce, 0x8f, 0xb1, 0x44, 0x10, 0x9f, 0xd1, 0x4d, 0x26, 0x31,
- 0x62, 0x2b, 0xb6, 0xf1,
- 0x64, 0x8d, 0x1a, 0x60, 0x4f, 0x67, 0xd1, 0xb1, 0xec, 0x56, 0x77, 0x08,
- 0x10, 0xe3, 0xe1, 0x8d,
- 0x29, 0xe5, 0xb3, 0x49, 0x47, 0x01, 0xc9, 0x80, 0xb4, 0xdc, 0x42, 0xc0,
- 0x43, 0x3c, 0x0c, 0xe5,
- 0x59, 0xc7, 0x96, 0x65, 0x13, 0x48, 0x35, 0x50, 0xad, 0x94, 0xb8, 0x78,
- 0xf0, 0xf8, 0xe6, 0xc7,
- 0x68, 0xe8, 0x0f, 0xe5, 0x46, 0x7d, 0xca, 0x2f, 0xbf, 0x5c, 0x0c, 0xd9,
- 0x71, 0xfe, 0x59, 0xe8,
- 0x39, 0x69, 0x3e, 0xc7, 0x5b, 0x98, 0xed, 0x2a, 0x70, 0xc4, 0xe6, 0x3f,
- 0x7e, 0x10, 0x6f, 0x69,
- 0x94, 0x45, 0xdd, 0xb6, 0xfb, 0x6c, 0xce, 0x78, 0x1a, 0xde, 0xe4, 0x44,
- 0x88, 0x84, 0x95, 0x45,
- 0x4b, 0xbb, 0x42, 0x8a, 0xed, 0x6b, 0xf4, 0x7e, 0x90, 0x8f, 0xe9, 0x41,
- 0x82, 0x30, 0xb1, 0xbb,
- 0x07, 0xab, 0x26, 0x72, 0x94, 0x50, 0x7f, 0x0d, 0x55, 0xe5, 0x47, 0xea,
- 0x17, 0x9d, 0x46, 0xab,
- 0x71, 0x5a, 0xe8, 0xfd, 0x25, 0x14, 0x6f, 0x92, 0x84, 0xa8, 0x61, 0xdb,
- 0x75, 0xb6, 0xf0, 0x5a,
- 0x2b, 0x15, 0xea, 0x28, 0xa5, 0xbb, 0x2c, 0x04, 0x4d, 0xdf, 0xb7, 0x06,
- 0x0c, 0xd8, 0x38, 0x15,
- 0x26, 0x08, 0x32, 0x7c, 0xdd, 0xfc, 0xa4, 0xd8, 0x83, 0x35, 0x57, 0xb4,
- 0xab, 0xb7, 0x9a, 0x08,
- 0x20, 0xdb, 0xd9, 0xdf, 0x38, 0xf1, 0x48, 0x97, 0x4b, 0x30, 0x8b, 0x3d,
- 0x7a, 0x58, 0xc6, 0xdb,
- 0xfa, 0x7e, 0x39, 0xf0, 0x58, 0x1c, 0xe8, 0x18, 0x6d, 0x87, 0x34, 0x14,
- 0x28, 0x95, 0x90, 0x7e,
- 0x49, 0x4b, 0x1b, 0xeb, 0x0f, 0xd1, 0x11, 0xfa, 0x69, 0x8c, 0x1c, 0x87,
- 0xcd, 0xd4, 0x85, 0x4b,
- 0x22, 0x2b, 0x80, 0xbe, 0xda, 0x4b, 0xad, 0x13, 0xb2, 0x33, 0x7e, 0xfb,
- 0x35, 0xbc, 0xf2, 0x2b,
- 0xa6, 0xe2, 0xd0, 0x86, 0x3d, 0xbe, 0x47, 0xc1, 0x6c, 0xf5, 0x3e, 0x40,
- 0x80, 0x14, 0x04, 0xe2,
- 0xcd, 0x82, 0x4b, 0xd3, 0xe8, 0x24, 0xfb, 0x28, 0xb7, 0x4a, 0x5c, 0x3c,
- 0x78, 0x7c, 0x73, 0x82,
- 0x8c, 0x8f, 0xf7, 0x7f, 0xe9, 0x58, 0xf8, 0x87, 0xbc, 0xca, 0x12, 0x25,
- 0x4a, 0xbe, 0x26, 0x8f,
- 0xd7, 0xb8, 0x38, 0x7b, 0x18, 0xaa, 0x28, 0x53, 0xe8, 0x5d, 0x5f, 0x9b,
- 0xf5, 0xa2, 0xf4, 0xb8,
- 0x46, 0xa6, 0x9a, 0xde, 0x95, 0x2c, 0x7c, 0xa2, 0x5e, 0x65, 0x09, 0xf3,
- 0x25, 0x5f, 0x13, 0xa6,
- 0x88, 0xac, 0x45, 0xbd, 0xee, 0xef, 0xf1, 0x4c, 0x8d, 0xcc, 0x3b, 0x6a,
- 0xd4, 0xb5, 0x4e, 0xac,
- 0x44, 0x56, 0xc3, 0xbf, 0x77, 0x96, 0x99, 0x26, 0xa7, 0x66, 0xfc, 0x35,
- 0x6a, 0xbb, 0x27, 0x56,
- 0xc2, 0x6f, 0xca, 0xe6, 0x72, 0xd9, 0x96, 0x70, 0x80, 0xa3, 0x49, 0x48,
- 0x90, 0xf7, 0xe5, 0x6f,
- 0x93, 0xee, 0xfb, 0xc4, 0x6f, 0x3c, 0xb1, 0x75, 0x4f, 0x3b, 0xa3, 0xae,
- 0x9f, 0x19, 0xd3, 0xee,
- 0xf6, 0x1b, 0x2c, 0x75, 0x51, 0x06, 0xf3, 0x86, 0x3e, 0x8d, 0x4f, 0xc5,
- 0x49, 0x88, 0x28, 0x1b,
- 0x09, 0x3e, 0x6a, 0x96, 0x7f, 0xf0, 0x81, 0x17, 0xff, 0xec, 0xc9, 0xfd,
- 0x39, 0x64, 0xca, 0x3e,
- 0xa4, 0x12, 0x89, 0xe7, 0xdf, 0x04, 0xa2, 0x45, 0x95, 0xf6, 0xcb, 0x86,
- 0xcf, 0xf0, 0x30, 0x12,
- 0xe9, 0x7a, 0x20, 0xce, 0xd7, 0x62, 0xba, 0x74, 0xcd, 0x7c, 0xfe, 0x4e,
- 0x9c, 0x2f, 0xdd, 0x7a,
- 0x2a, 0x6d, 0x27, 0xf9, 0xd4, 0xe6, 0xbf, 0x46, 0xd0, 0x3f, 0x2c, 0x65,
- 0xca, 0xaa, 0x22, 0x6d,
- 0x54, 0xda, 0x4e, 0x31, 0x6b, 0x0f, 0xbd, 0x8c, 0x63, 0x7e, 0x58, 0xca,
- 0x57, 0x97, 0x44, 0xda,
- 0xa2, 0xc1, 0x62, 0x44, 0x3a, 0x09, 0x4e, 0x0a, 0x5d, 0xf3, 0x17, 0x0f,
- 0x1e, 0x1f, 0x6c, 0xc1,
- 0xf7, 0x63, 0xe1, 0xa4, 0x20, 0x5b, 0x60, 0xc4, 0xa3, 0x6d, 0xd4, 0xa6,
- 0x8f, 0xfa, 0x32, 0x63,
- 0xcf, 0x72, 0x12, 0xb2, 0x0a, 0x9e, 0x1e, 0xac, 0x4e, 0x49, 0xa9, 0xfa,
- 0x37, 0x98, 0x47, 0x72,
- 0xaf, 0xdc, 0xba, 0x10, 0x42, 0x4e, 0xc6, 0xd6, 0x93, 0x19, 0xf7, 0xbd,
- 0xb9, 0x70, 0xce, 0xdc,
- 0xfd, 0xd5, 0x1f, 0x82, 0xcc, 0x4c, 0x97, 0x15, 0x38, 0x62, 0x73, 0xfe,
- 0x3f, 0x08, 0xd6, 0xd5,
- 0xce, 0x0a, 0xdf, 0x63, 0x7b, 0xc3, 0x8d, 0xee, 0xd3, 0xa9, 0x32, 0x99,
- 0xf1, 0xea, 0x5d, 0x0a,
- 0x13, 0x04, 0x19, 0x3e, 0x8f, 0x7e, 0x52, 0x6c, 0xa0, 0xfb, 0xca, 0x5a,
- 0xb4, 0xba, 0x4d, 0x04,
- 0xe3, 0xcc, 0xde, 0xe8, 0x3b, 0x75, 0x4d, 0xa5, 0x56, 0x73, 0x59, 0x16,
- 0x2c, 0xdd, 0x39, 0xcc,
- 0x8b, 0x24, 0xd1, 0x0d, 0x7d, 0x08, 0x87, 0x8a, 0xe9, 0x2f, 0x55, 0xcf,
- 0x5d, 0x23, 0x60, 0x24,
- 0x7e, 0xb7, 0x69, 0xc8, 0xbf, 0xe9, 0x02, 0xca, 0xb3, 0x41, 0x74, 0xaf,
- 0x9d, 0x3d, 0x66, 0xb7,
- 0xed, 0x59, 0x92, 0x0c, 0xd0, 0xd5, 0xb3, 0xbf, 0xfc, 0x7a, 0xd7, 0x01,
- 0x02, 0x24, 0xb5, 0x59,
- 0xe5, 0x1f, 0x35, 0x4b, 0xde, 0x78, 0xa1, 0xea, 0x9e, 0x76, 0x85, 0x9f,
- 0xfd, 0x32, 0x65, 0x1f,
- 0xb8, 0xfb, 0x11, 0xec, 0xca, 0x87, 0x9d, 0x71, 0x02, 0xe4, 0x14, 0xa8,
- 0x93, 0xc1, 0xeb, 0xfb,
- 0x7d, 0x3f, 0xfd, 0x78, 0x2c, 0x0e, 0x74, 0x0c, 0xd7, 0xa2, 0x1a, 0x0a,
- 0x14, 0xab, 0x48, 0x3f,
- 0x96, 0xb5, 0x84, 0xd7, 0x19, 0xd6, 0x2b, 0xfc, 0xe3, 0xdd, 0x11, 0x82,
- 0xc7, 0x60, 0xa1, 0xb5,
- 0x05, 0x5b, 0x7f, 0x13, 0x76, 0xea, 0x9a, 0x89, 0xac, 0xe6, 0xb2, 0x2c,
- 0x58, 0x79, 0x72, 0x5b,
- 0x18, 0xca, 0x2a, 0xc9, 0x12, 0x34, 0x36, 0xff, 0xa6, 0x14, 0xf6, 0x61,
- 0xc2, 0x3a, 0xb3, 0xca,
- 0x87, 0x41, 0xc4, 0x88, 0x74, 0x12, 0x9c, 0x14, 0xba, 0x25, 0x2e, 0x1e,
- 0x3c, 0x3e, 0xd8, 0x41,
- 0x6b, 0x60, 0x9b, 0x55, 0xd5, 0x9a, 0xbc, 0xe9, 0xdb, 0xbf, 0x62, 0x7c,
- 0xf8, 0x68, 0x77, 0x60,
- 0xd4, 0x30, 0xac, 0xcb, 0x8b, 0x4d, 0x5e, 0x95, 0x8c, 0xbe, 0x31, 0x3e,
- 0x7c, 0x34, 0xda, 0x30,
- 0x04, 0x23, 0xb2, 0xc2, 0x07, 0xb7, 0x09, 0xcb, 0x31, 0x06, 0x29, 0x4f,
- 0x9e, 0x0b, 0x68, 0x23,
- 0xbb, 0x73, 0x85, 0x5c, 0x59, 0x60, 0xeb, 0xb7, 0x66, 0x07, 0x7a, 0x0d,
- 0x1a, 0x57, 0xc5, 0x73,
- 0x37, 0xfc, 0x72, 0x23, 0xb0, 0x38, 0x13, 0x30, 0xda, 0xcd, 0x68, 0x28,
- 0x50, 0xe9, 0xe3, 0xfc,
- 0xd3, 0x9b, 0x8a, 0xb9, 0x1f, 0x1d, 0x21, 0x98, 0xd9, 0x5b, 0x76, 0xd4,
- 0x6b, 0xa9, 0x9c, 0x9b,
- 0x9b, 0xa8, 0x5c, 0x83, 0x61, 0x91, 0xa3, 0x20, 0x2d, 0x37, 0xf1, 0x30,
- 0x60, 0x0f, 0x03, 0xa8,
- 0x55, 0xa2, 0x83, 0xe0, 0x1a, 0x52, 0x2e, 0xce, 0xfe, 0x9e, 0xc3, 0xa9,
- 0x91, 0xe5, 0x5e, 0xa2,
- 0x3a, 0xe1, 0xaa, 0x77, 0xc8, 0x7f, 0x9b, 0xec, 0x14, 0x27, 0x88, 0x9a,
- 0xf7, 0x86, 0x41, 0xe1,
- 0xc4, 0xbc, 0x21, 0x45, 0x97, 0xd4, 0x7a, 0x3f, 0x48, 0xa6, 0x95, 0xc1,
- 0x41, 0x18, 0xb9, 0xbc,
- 0x9e, 0xf3, 0x23, 0x90, 0x17, 0x7b, 0x39, 0xa9, 0x81, 0xd1, 0x43, 0x1c,
- 0x38, 0x76, 0x71, 0xf3,
- 0xa1, 0x49, 0xf6, 0xf4, 0xa9, 0xee, 0x38, 0xcc, 0x39, 0x10, 0x79, 0xaa,
- 0x97, 0x89, 0x42, 0x49,
- 0x81, 0x92, 0x2f, 0x2b, 0x91, 0x1f, 0x70, 0x5b, 0x72, 0x20, 0xf2, 0x97,
- 0xed, 0xd1, 0x84, 0x92,
- 0x89, 0xd4, 0x88, 0x6c, 0x9f, 0xb2, 0x62, 0x0e, 0x10, 0x2c, 0xa0, 0x09,
- 0x12, 0xc7, 0x54, 0xd4,
- 0x14, 0xaf, 0x3f, 0x4c, 0x1b, 0x2e, 0x2d, 0x61, 0xf5, 0x1e, 0x8d, 0xb0,
- 0xa3, 0x27, 0x0b, 0xaf,
- 0xb9, 0x83, 0xdc, 0x3d, 0xbb, 0xda, 0x0e, 0x33, 0x9f, 0x04, 0x8f, 0xcb,
- 0x55, 0xb3, 0xf1, 0x83,
- 0xac, 0x54, 0x2e, 0xa0, 0xd1, 0xa9, 0xb0, 0x10, 0xf7, 0xfa, 0x99, 0x18,
- 0x30, 0xe6, 0xe0, 0x54,
- 0x8f, 0x07, 0x63, 0xcf, 0x7a, 0xbf, 0x8e, 0x41, 0xd8, 0x29, 0x7c, 0x80,
- 0xc3, 0x28, 0x08, 0x07,
- 0xf0, 0xc8, 0xc7, 0xd6, 0xb4, 0x0b, 0x1f, 0xc9, 0xf6, 0x88, 0x93, 0x4c,
- 0x98, 0x67, 0x74, 0xc8,
- 0xfe, 0x5d, 0x8b, 0x32, 0x5f, 0xab, 0xe1, 0xd3, 0x5c, 0x81, 0x1d, 0x5b,
- 0xb6, 0x9e, 0xf8, 0x5d,
- 0x01, 0x78, 0xcd, 0xd1, 0x71, 0x5d, 0x93, 0x42, 0x9d, 0xe0, 0x9b, 0x63,
- 0xc6, 0x72, 0x1a, 0x78,
- 0x08, 0x46, 0xa7, 0x47, 0x0e, 0xad, 0x12, 0x55, 0x62, 0x0c, 0x52, 0x9e,
- 0xff, 0x16, 0xd0, 0x46,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x0d, 0x1d, 0xd8, 0x54, 0x78, 0x47, 0x88, 0xdc, 0xce, 0xea, 0xe0, 0xb2,
- 0xa7, 0x6f, 0xa2, 0x1d,
- 0x30, 0x57, 0x54, 0x51, 0x24, 0x68, 0x6c, 0x3d, 0x8f, 0x28, 0x2f, 0xc2,
- 0x47, 0x74, 0xa5, 0x57,
- 0x2d, 0xc6, 0x01, 0x8b, 0x40, 0xb6, 0xc0, 0x4b, 0x85, 0xda, 0x6b, 0x8f,
- 0xdd, 0x37, 0x64, 0xc6,
- 0x1f, 0x61, 0x0c, 0xbb, 0x86, 0x64, 0x49, 0xf2, 0xf3, 0xf1, 0xb1, 0x8b,
- 0xd5, 0xa7, 0xf5, 0x61,
- 0x35, 0x0c, 0x2b, 0x42, 0x52, 0x82, 0xf6, 0xb4, 0x23, 0xce, 0x9d, 0xee,
- 0x1f, 0x0d, 0xd7, 0x0c,
- 0xd9, 0x2d, 0x74, 0x9f, 0xf3, 0x0a, 0xd6, 0x49, 0x42, 0x54, 0xd1, 0x8c,
- 0xdb, 0x5b, 0x78, 0x2d,
- 0xdb, 0xdd, 0x2d, 0xfe, 0x11, 0xb0, 0x33, 0xcd, 0xbb, 0x57, 0x24, 0x4a,
- 0x94, 0xbf, 0x4c, 0xdd,
- 0xba, 0x0b, 0x48, 0x8d, 0x28, 0x3d, 0x78, 0xf5, 0xfb, 0xe7, 0xe1, 0x6e,
- 0xdc, 0x25, 0xdf, 0x0b,
- 0x3d, 0x4a, 0x8c, 0x05, 0x5c, 0x2f, 0xe4, 0xe1, 0x41, 0xc2, 0xcf, 0x70,
- 0xe0, 0x1b, 0x07, 0x4a,
- 0x8d, 0xf7, 0x3a, 0xae, 0x98, 0x05, 0x6b, 0xc5, 0x21, 0x2a, 0x89, 0x46,
- 0x8c, 0xcc, 0x3c, 0xf7,
- 0x36, 0x84, 0xbf, 0xf2, 0xc1, 0x65, 0x80, 0x72, 0x47, 0x2d, 0xf3, 0x4b,
- 0x96, 0x9b, 0xf9, 0x84,
- 0xa8, 0x77, 0x9c, 0x62, 0xd6, 0x1e, 0xb9, 0xdb, 0xc6, 0xfc, 0xb0, 0x57,
- 0xae, 0xed, 0x88, 0x77,
- 0xc3, 0x17, 0x07, 0x37, 0x03, 0x84, 0x05, 0x32, 0x1d, 0x43, 0xd2, 0x2b,
- 0x56, 0x85, 0xff, 0x17,
- 0x4d, 0x68, 0xa9, 0x29, 0x08, 0x66, 0x18, 0x31, 0x58, 0x8a, 0x35, 0xc8,
- 0x53, 0xdf, 0xed, 0x68,
- 0xa5, 0x6a, 0x44, 0x36, 0xae, 0x59, 0x31, 0x07, 0x08, 0x16, 0x50, 0xe5,
- 0x09, 0x82, 0x2a, 0x6a,
- 0x1d, 0x91, 0x55, 0xda, 0x64, 0xde, 0xac, 0x76, 0x0a, 0xf2, 0x44, 0x4d,
- 0x9a, 0x43, 0xc1, 0x91,
- 0x3c, 0x32, 0x41, 0xd4, 0x2d, 0x72, 0x77, 0xa3, 0xdc, 0x22, 0x54, 0x13,
- 0x26, 0x69, 0x1d, 0x32,
- 0xef, 0xa9, 0xcb, 0x6d, 0x32, 0x6f, 0x56, 0x3b, 0x05, 0x79, 0x22, 0xc7,
- 0x4d, 0xc0, 0x81, 0xa9,
- 0x45, 0x2e, 0x0e, 0x6e, 0x06, 0xcb, 0x0a, 0x64, 0x3a, 0x86, 0x67, 0x56,
- 0xac, 0xc9, 0x3d, 0x2e,
- 0xaa, 0x87, 0xc5, 0x03, 0x34, 0xa4, 0x5c, 0x5f, 0x3f, 0xff, 0x45, 0x91,
- 0xe1, 0x09, 0xbc, 0x87,
- 0x7c, 0x47, 0x30, 0xa9, 0x5d, 0x53, 0xe7, 0x4e, 0x4a, 0x42, 0x81, 0x69,
- 0xd2, 0xd9, 0x52, 0x47,
- 0x9d, 0x7b, 0xb7, 0x20, 0x84, 0x9c, 0x4f, 0x6f, 0xe5, 0x32, 0x2d, 0xb9,
- 0xb1, 0xe0, 0x5f, 0x7b,
- 0x2c, 0xbe, 0xcc, 0x5a, 0x31, 0xeb, 0x53, 0x09, 0x18, 0x3a, 0xf0, 0xec,
- 0x1b, 0x45, 0x7e, 0xbe,
- 0x16, 0x5f, 0x66, 0x2d, 0xf9, 0x94, 0xc8, 0xe5, 0x0c, 0x1d, 0x78, 0x76,
- 0xec, 0xc3, 0x3f, 0x5f,
- 0x03, 0x88, 0x94, 0xb0, 0x93, 0xe7, 0x76, 0xc6, 0x64, 0xe3, 0x6e, 0xa5,
- 0x89, 0x96, 0x2e, 0x88,
- 0x5e, 0x6c, 0xb0, 0x17, 0x87, 0x18, 0x4a, 0x5d, 0xf8, 0x71, 0xff, 0x92,
- 0xe7, 0x65, 0xa0, 0x6c,
- 0x4e, 0xe0, 0x3d, 0x99, 0x9b, 0x81, 0x6e, 0xf7, 0x3c, 0x69, 0x5b, 0x6d,
- 0xda, 0x49, 0xc3, 0xe0,
- 0xcb, 0x51, 0xa0, 0x70, 0x0d, 0x29, 0x17, 0x67, 0x7f, 0x4f, 0x80, 0xb5,
- 0xa9, 0x93, 0x2f, 0x51,
- 0x3e, 0xc2, 0x18, 0xb5, 0xcf, 0xc8, 0x92, 0x27, 0x25, 0x21, 0xa1, 0xd5,
- 0x69, 0x8d, 0x29, 0xc2,
- 0x15, 0xd7, 0xf2, 0x9d, 0x6a, 0x73, 0xbe, 0x23, 0x68, 0xfe, 0x16, 0xd3,
- 0x65, 0x55, 0x11, 0xd7,
- 0xfc, 0xad, 0xd2, 0x53, 0xbd, 0x11, 0x04, 0x57, 0xa5, 0x82, 0xe8, 0x9d,
- 0xf9, 0x7a, 0xcc, 0xad,
- 0xae, 0xa4, 0x77, 0xc1, 0x33, 0x13, 0x55, 0x94, 0x0e, 0xf9, 0x6c, 0xde,
- 0x7f, 0x02, 0xd4, 0xa4,
- 0x63, 0x26, 0x3c, 0x12, 0xdb, 0x37, 0xae, 0xbc, 0xb9, 0xb3, 0x30, 0xe2,
- 0x07, 0x7e, 0xa7, 0x26,
- 0x0e, 0x95, 0x4c, 0xe4, 0xeb, 0xa0, 0xfe, 0x1a, 0xaa, 0x09, 0x8e, 0x17,
- 0x2e, 0xf9, 0x8c, 0x95,
- 0x7f, 0xcf, 0xa4, 0x19, 0xce, 0xb4, 0x91, 0x88, 0x2e, 0xa1, 0xef, 0xcc,
- 0x5b, 0x4f, 0x7c, 0xcf,
- 0x31, 0x2f, 0x99, 0x80, 0x55, 0x35, 0xff, 0x7f, 0x12, 0xc8, 0xb4, 0xa1,
- 0x81, 0x06, 0xbf, 0x2f,
- 0xdf, 0xfe, 0x9f, 0x3c, 0x16, 0x07, 0x3a, 0x06, 0x8a, 0x51, 0x0d, 0x05,
- 0x0a, 0xb4, 0x24, 0xfe,
- 0xf1, 0xb0, 0x0a, 0x07, 0xc5, 0x56, 0x8c, 0x8b, 0x6b, 0x68, 0x08, 0x2f,
- 0x5e, 0x15, 0x6e, 0xb0,
- 0x60, 0xae, 0xa8, 0xa2, 0x48, 0xd0, 0xd8, 0x7a, 0xdd, 0x50, 0x5e, 0x47,
- 0x8e, 0xe8, 0x89, 0xae,
- 0x79, 0x1c, 0x4f, 0xba, 0x2b, 0xb9, 0x7d, 0xc7, 0xe6, 0xa4, 0x33, 0x45,
- 0x8a, 0xa0, 0x20, 0x1c,
- 0x9a, 0xd0, 0x91, 0x52, 0x10, 0xcc, 0x30, 0x62, 0xb0, 0xd7, 0x6a, 0x53,
- 0xa6, 0x7d, 0x19, 0xd0,
- 0xf8, 0x8e, 0x60, 0x91, 0xba, 0xa6, 0x0d, 0x9c, 0x94, 0x84, 0xc1, 0xd2,
- 0x67, 0x71, 0xa4, 0x8e,
- 0x4c, 0x10, 0x64, 0xf8, 0x79, 0x3b, 0x8b, 0x73, 0xc5, 0x6a, 0xae, 0xab,
- 0x95, 0xad, 0xf7, 0x10,
- 0xb5, 0xe6, 0xc9, 0xb8, 0xb2, 0xc0, 0x15, 0xad, 0xcc, 0x0e, 0xf4, 0x1a,
- 0x34, 0xae, 0x49, 0xe6,
- 0x41, 0x0d, 0xbc, 0xac, 0x01, 0x7c, 0x03, 0xaf, 0x0b, 0x80, 0x4e, 0x19,
- 0x32, 0xc2, 0x55, 0x0d,
- 0xc7, 0x34, 0xb5, 0xf5, 0x04, 0x33, 0x0c, 0xf9, 0x2c, 0x45, 0xfb, 0x64,
- 0xc8, 0x8e, 0x97, 0x34,
- 0x7a, 0x94, 0xdb, 0x0a, 0xb8, 0x5e, 0x0b, 0x01, 0x82, 0x47, 0x5d, 0xe0,
- 0x03, 0x36, 0x0e, 0x94,
- 0x7b, 0xec, 0x16, 0xdb, 0xc9, 0x03, 0x98, 0x43, 0x1f, 0xa7, 0xc6, 0x83,
- 0xc5, 0x44, 0x14, 0xec,
- 0x0a, 0xb6, 0xfe, 0x26, 0xec, 0x17, 0xf7, 0xd1, 0x9b, 0x0f, 0xa7, 0x58,
- 0xb0, 0xf2, 0xe4, 0xb6,
- 0xdc, 0x76, 0x0b, 0x8c, 0x85, 0xe0, 0x4c, 0xc0, 0xee, 0xb2, 0x63, 0xa0,
- 0x83, 0x22, 0x0a, 0x76,
- 0xdd, 0x0e, 0xc6, 0x5d, 0xf4, 0xbd, 0xdf, 0x82, 0x73, 0x52, 0xf8, 0xc3,
- 0x45, 0x50, 0x10, 0x0e,
- 0xea, 0xf2, 0xb4, 0x7e, 0x44, 0x85, 0xcc, 0xb2, 0xa9, 0x9f, 0x90, 0xeb,
- 0x15, 0xb9, 0xf3, 0xf2,
- 0x78, 0x64, 0x82, 0x6b, 0x5a, 0xe4, 0xee, 0x85, 0x7b, 0x44, 0xa8, 0x26,
- 0x4c, 0xd2, 0x3a, 0x64,
- 0xbe, 0x28, 0xfa, 0x4f, 0x2f, 0x8a, 0x71, 0x3e, 0xca, 0xe1, 0xc8, 0x21,
- 0x42, 0x2e, 0xb7, 0x28,
- 0x86, 0x39, 0x09, 0x59, 0x05, 0x4f, 0x0f, 0x56, 0x27, 0xc5, 0xb5, 0x7d,
- 0xfa, 0x4c, 0xc2, 0x39,
- 0xe1, 0x3c, 0x87, 0x89, 0xd9, 0xcf, 0xa8, 0x21, 0xaf, 0x70, 0xac, 0xd0,
- 0x63, 0x39, 0x0d, 0x3c,
- 0x97, 0xcd, 0x49, 0x06, 0x68, 0x8b, 0xb8, 0xbe, 0x7e, 0x3d, 0x8a, 0xe1,
- 0x01, 0x12, 0xbb, 0xcd,
- 0x66, 0x7d, 0x43, 0x01, 0xad, 0xdd, 0x34, 0x35, 0x15, 0x55, 0x82, 0xce,
- 0x5f, 0x07, 0xd5, 0x7d,
- 0xeb, 0x8a, 0x79, 0xaf, 0x35, 0xd8, 0x5f, 0xf0, 0x34, 0x7f, 0x0b, 0x88,
- 0xd3, 0xcb, 0xe9, 0x8a,
- 0xf2, 0x38, 0x9e, 0xb7, 0x56, 0xb1, 0xfa, 0x4d, 0x0f, 0x8b, 0x66, 0x8a,
- 0xd7, 0x83, 0x40, 0x38,
- 0xb0, 0xbd, 0xb6, 0xab, 0xc4, 0x2a, 0x8f, 0x24, 0x60, 0xe8, 0x46, 0x36,
- 0x6c, 0xd7, 0x3b, 0xbd,
- 0xe4, 0x67, 0xf8, 0x9a, 0xaf, 0x25, 0x32, 0xa8, 0x03, 0x96, 0x1e, 0xfc,
- 0x3b, 0x40, 0x7f, 0x67,
- 0x1c, 0xe9, 0x98, 0x0b, 0x15, 0x83, 0x3f, 0x34, 0x97, 0x12, 0xdf, 0x2e,
- 0x5c, 0x31, 0xdb, 0xe9,
- 0xca, 0x29, 0x6d, 0xa1, 0x7c, 0x74, 0x84, 0x25, 0xe2, 0xaf, 0x1b, 0xd6,
- 0x6f, 0xe1, 0x35, 0x29,
- 0xd2, 0xe3, 0x47, 0x68, 0x6e, 0x40, 0xb2, 0xda, 0x44, 0xbb, 0xed, 0xb7,
- 0xad, 0xdb, 0x86, 0xe3,
- 0xa0, 0x31, 0x3b, 0x25, 0xd8, 0xb3, 0xab, 0x8e, 0xa4, 0xf0, 0xe2, 0xc9,
- 0x51, 0xfb, 0x58, 0x31,
- 0x1e, 0x19, 0xc1, 0x6a, 0xf7, 0x39, 0xda, 0xb0, 0x6e, 0x11, 0x2a, 0xe8,
- 0x13, 0xd5, 0xef, 0x19,
- 0x9f, 0x8b, 0xee, 0x41, 0x66, 0x26, 0xaa, 0xeb, 0x1c, 0x31, 0xd8, 0x7f,
- 0xfe, 0x04, 0x6b, 0x8b,
- 0x56, 0x2a, 0x17, 0x50, 0x89, 0xb5, 0x58, 0x08, 0x9a, 0x7d, 0xad, 0x0c,
- 0x18, 0x73, 0x70, 0x2a,
- 0xab, 0xff, 0x08, 0xd2, 0x45, 0xf9, 0xcf, 0x1d, 0xa2, 0x1f, 0xde, 0xf2,
- 0x27, 0x7b, 0xa6, 0xff,
- 0xc9, 0xa1, 0xf9, 0x11, 0xef, 0x93, 0xf2, 0xe3, 0x86, 0x4c, 0x75, 0x73,
- 0xe6, 0x77, 0x1b, 0xa1,
- 0x69, 0x90, 0xc2, 0x34, 0x37, 0x20, 0x59, 0x6d, 0x22, 0xbc, 0x97, 0xba,
- 0xb7, 0x8c, 0x43, 0x90,
- 0x91, 0x1e, 0xa2, 0xa5, 0x8d, 0x86, 0x54, 0xf1, 0xb6, 0x38, 0x56, 0x68,
- 0xd0, 0xfd, 0xe7, 0x1e,
- 0x72, 0xd2, 0x7c, 0x4d, 0xb6, 0xf3, 0x19, 0x54, 0xe0, 0x4b, 0x0f, 0x7e,
- 0xfc, 0x20, 0xde, 0xd2,
- 0x53, 0x71, 0x68, 0x43, 0xff, 0x5f, 0xc2, 0x81, 0x36, 0x9b, 0x1f, 0x20,
- 0x40, 0x0a, 0x02, 0x71,
- 0x17, 0x27, 0xab, 0xfc, 0x88, 0xc9, 0x5b, 0xa7, 0x91, 0xfd, 0xe3, 0x15,
- 0x2a, 0xb1, 0x25, 0x27,
- 0x4f, 0x98, 0xf0, 0x48, 0xea, 0xdc, 0xfd, 0xb5, 0xa1, 0x89, 0xc0, 0x0e,
- 0x1c, 0x3b, 0xd9, 0x98,
- 0x58, 0xbf, 0x5b, 0xb4, 0x62, 0x15, 0xa6, 0x12, 0x30, 0x74, 0x23, 0x1b,
- 0x36, 0x8a, 0xfc, 0xbf,
- 0x02, 0xf0, 0x59, 0x61, 0xe2, 0xba, 0xe5, 0x84, 0xf9, 0x03, 0xf5, 0xc6,
- 0x4f, 0xe4, 0x34, 0xf0,
- 0x65, 0xf5, 0xd7, 0xb1, 0x3e, 0x3a, 0x42, 0xf3, 0x71, 0xb6, 0xec, 0x6b,
- 0xd6, 0x91, 0xfb, 0xf5,
- 0x70, 0x22, 0x25, 0x2c, 0x54, 0x49, 0xfc, 0xd0, 0x19, 0x48, 0xfa, 0xb8,
- 0xb3, 0xc4, 0xea, 0x22,
- 0x3f, 0xba, 0xd5, 0x64, 0xbe, 0x95, 0x01, 0x65, 0xb8, 0xc1, 0x3a, 0xb6,
- 0xaf, 0xff, 0x33, 0xba,
- 0x33, 0xdf, 0xc0, 0xe1, 0xb7, 0x8f, 0x1a, 0xfb, 0xeb, 0xcb, 0x41, 0x67,
- 0xce, 0xe2, 0x8b, 0xdf,
- 0x28, 0x9d, 0x7e, 0x98, 0x36, 0x5c, 0x5a, 0xc2, 0x29, 0x3c, 0xd9, 0xa3,
- 0x85, 0x4e, 0x16, 0x9d,
- 0xc5, 0xc4, 0xec, 0x94, 0xe6, 0x89, 0xe9, 0x7d, 0xd5, 0x46, 0x0e, 0xa2,
- 0x87, 0x6a, 0xa3, 0xc4,
- 0xcc, 0xfa, 0x86, 0x02, 0x99, 0x79, 0x68, 0x6a, 0x2a, 0xaa, 0xc7, 0x5f,
- 0xbe, 0x0e, 0x69, 0xfa,
- 0xad, 0x2c, 0xe3, 0x71, 0xa0, 0xf4, 0x23, 0x52, 0x6a, 0x1a, 0x02, 0x7b,
- 0xf6, 0x94, 0xfa, 0x2c,
- 0x34, 0x74, 0xe6, 0x93, 0x23, 0xdf, 0x65, 0xf6, 0xbe, 0x2e, 0x06, 0x8d,
- 0xd9, 0x7f, 0xcd, 0x74,
- 0x95, 0x3d, 0x10, 0x67, 0x8a, 0x31, 0x5d, 0x3a, 0x87, 0x3e, 0x7f, 0x27,
- 0x4e, 0xf6, 0x8f, 0x3d,
- 0x83, 0x62, 0x76, 0x4a, 0x73, 0xa5, 0x95, 0xdf, 0x8b, 0x23, 0x07, 0x51,
- 0xa2, 0x35, 0xb0, 0x62,
- },
- { /* 2 */
- 0x37, 0xf9, 0x69, 0x1b, 0x71, 0x18, 0x61, 0xcd, 0x69, 0x19, 0x54, 0xd6,
- 0xaf, 0xcb, 0x37, 0x52,
- 0x93, 0x8b, 0x03, 0xf8, 0xd8, 0xdb, 0x4a, 0x3b, 0x03, 0x7b, 0x5a, 0xc3,
- 0x52, 0x7d, 0x93, 0x1c,
- 0xdb, 0x45, 0x63, 0x4e, 0xe4, 0x87, 0x1e, 0x57, 0x63, 0xc0, 0x4b, 0x19,
- 0x80, 0x06, 0xdb, 0x1a,
- 0x38, 0xfb, 0x20, 0xd3, 0x14, 0x34, 0x8d, 0x24, 0x20, 0x69, 0x0f, 0xf7,
- 0x4e, 0x29, 0x38, 0x02,
- 0x7f, 0x37, 0x09, 0xad, 0x4d, 0x44, 0x35, 0xa1, 0x09, 0xa2, 0x45, 0x0c,
- 0x7d, 0xb0, 0x7f, 0x54,
- 0xb6, 0xa0, 0x72, 0x2f, 0xa6, 0xd4, 0x3e, 0xed, 0x72, 0x3c, 0x9b, 0xc2,
- 0x28, 0xd8, 0xb6, 0xae,
- 0xa0, 0x81, 0xad, 0x96, 0xea, 0x47, 0x90, 0xf0, 0xad, 0x08, 0xae, 0x66,
- 0xb1, 0x91, 0xa0, 0xcf,
- 0xb7, 0xec, 0x33, 0xa3, 0xc6, 0xf5, 0x60, 0x0d, 0x33, 0xc7, 0xb3, 0xae,
- 0x3b, 0xa1, 0xb7, 0x1f,
- 0xb8, 0xee, 0x7a, 0x6b, 0xa3, 0xd9, 0x8c, 0xe4, 0x7a, 0xb7, 0xe8, 0x8f,
- 0xda, 0x43, 0xb8, 0x4f,
- 0xc5, 0x41, 0xf1, 0x1d, 0x2e, 0xdf, 0x05, 0x46, 0xf1, 0x20, 0xfd, 0x5b,
- 0x81, 0x01, 0xc5, 0xba,
- 0xcc, 0x28, 0xfd, 0x7b, 0xc8, 0x35, 0xee, 0xaa, 0xfd, 0x0f, 0x56, 0xd1,
- 0x0a, 0x36, 0xcc, 0xca,
- 0x54, 0x52, 0x70, 0x3e, 0x36, 0x46, 0xf3, 0x7e, 0x70, 0x6e, 0xf7, 0x40,
- 0xf5, 0x8e, 0x54, 0x07,
- 0x04, 0xf3, 0xc7, 0x75, 0x43, 0x84, 0xbb, 0x06, 0xc7, 0x6a, 0xa0, 0x73,
- 0x4c, 0x27, 0x04, 0x81,
- 0xb1, 0x87, 0x76, 0x0d, 0x45, 0x33, 0x67, 0x08, 0x76, 0x98, 0x43, 0x05,
- 0x51, 0x74, 0xb1, 0x3f,
- 0x13, 0x9e, 0x59, 0x40, 0x6f, 0x36, 0x4b, 0xfb, 0x59, 0xa5, 0xbd, 0xbb,
- 0xc6, 0x17, 0x13, 0x51,
- 0xb2, 0x53, 0xb5, 0x5a, 0xe5, 0x50, 0x85, 0xeb, 0xb5, 0x56, 0x3b, 0xb1,
- 0x64, 0xff, 0xb2, 0x2f,
- 0x1c, 0x9c, 0x10, 0x88, 0x0a, 0x1a, 0xa7, 0x12, 0x10, 0xd5, 0xe6, 0x9a,
- 0x27, 0xf5, 0x1c, 0x01,
- 0xa8, 0xa4, 0xe0, 0x7c, 0x6c, 0x8c, 0x25, 0xfc, 0xe0, 0xdc, 0x2d, 0x80,
- 0x29, 0xdf, 0xa8, 0x0e,
- 0x02, 0x98, 0x82, 0xdb, 0xc0, 0x42, 0xbc, 0x03, 0x82, 0x35, 0x50, 0xd8,
- 0x26, 0xf2, 0x02, 0xa1,
- 0x20, 0x94, 0xf7, 0x2e, 0x5d, 0xaa, 0x91, 0x30, 0xf7, 0xd6, 0x49, 0x1e,
- 0x25, 0xfb, 0x20, 0x82,
- 0xf5, 0x9f, 0x9c, 0x24, 0xbc, 0x20, 0x3d, 0x6e, 0x9c, 0x9d, 0x71, 0x4a,
- 0x57, 0x66, 0xf5, 0x79,
- 0x45, 0x54, 0xab, 0xa5, 0x99, 0x32, 0x04, 0x86, 0xab, 0xfe, 0x1a, 0x23,
- 0x15, 0x6b, 0x45, 0xf7,
- 0x3b, 0x2f, 0xe3, 0x84, 0xb4, 0x57, 0x6f, 0xc7, 0xe3, 0xa7, 0x77, 0x43,
- 0x7b, 0xa2, 0x3b, 0x12,
- 0x3f, 0xdc, 0x24, 0xf1, 0xf7, 0xd3, 0xd4, 0xc1, 0x24, 0xcd, 0xd7, 0x30,
- 0x37, 0x85, 0x3f, 0x93,
- 0xc3, 0x2a, 0xb4, 0xb3, 0xad, 0x19, 0x02, 0x43, 0xb4, 0x7f, 0x0d, 0xf0,
- 0xeb, 0xd4, 0xc3, 0x9a,
- 0x2f, 0x96, 0xbe, 0xe6, 0x38, 0x86, 0x7d, 0xd9, 0xbe, 0xa6, 0x12, 0x3f,
- 0xc4, 0x19, 0x2f, 0xd2,
- 0x76, 0x5e, 0x05, 0xcb, 0xab, 0xae, 0xde, 0x4d, 0x05, 0x8d, 0xee, 0x86,
- 0xf6, 0x87, 0x76, 0x24,
- 0x4b, 0x1a, 0xa3, 0xe1, 0x9c, 0x3f, 0xb6, 0x8f, 0xa3, 0x75, 0x69, 0x6e,
- 0xe7, 0xf0, 0x4b, 0x16,
- 0x5f, 0xa3, 0xfe, 0x83, 0x10, 0xee, 0xa4, 0x91, 0xfe, 0x74, 0x0c, 0x12,
- 0x58, 0x4b, 0x5f, 0xd6,
- 0x97, 0x78, 0xc4, 0x8d, 0x9b, 0x5f, 0xf1, 0x3d, 0xc4, 0x11, 0xfa, 0xb0,
- 0x1e, 0x5a, 0x97, 0x9d,
- 0x16, 0x21, 0xdf, 0xb9, 0x4c, 0x93, 0xae, 0x1d, 0xdf, 0x34, 0x35, 0xa4,
- 0x99, 0x49, 0x16, 0x61,
- 0xa2, 0x19, 0x2f, 0x4d, 0x2a, 0x05, 0x2c, 0xf3, 0x2f, 0x3d, 0xfe, 0xbe,
- 0x97, 0x63, 0xa2, 0x6e,
- 0x50, 0xa1, 0xb7, 0x4b, 0x75, 0xc2, 0x48, 0x78, 0xb7, 0x04, 0x57, 0x33,
- 0xb9, 0xa9, 0x50, 0x86,
- 0x6a, 0xc2, 0x15, 0x43, 0xa1, 0xb4, 0x79, 0x5f, 0x15, 0x58, 0x08, 0x1c,
- 0xd1, 0x72, 0x6a, 0x25,
- 0x0c, 0xd6, 0x8a, 0x9f, 0xc5, 0x4f, 0x0e, 0x0a, 0x8a, 0xbe, 0x23, 0x95,
- 0xd4, 0x69, 0x0c, 0x40,
- 0x71, 0x79, 0x01, 0xe9, 0x48, 0x49, 0x87, 0xa8, 0x01, 0x29, 0x36, 0x41,
- 0x8f, 0x2b, 0x71, 0xb5,
- 0xa6, 0xea, 0xe8, 0x38, 0x69, 0x81, 0x97, 0xf5, 0xe8, 0x57, 0x5e, 0xcd,
- 0xdb, 0x44, 0xa6, 0xef,
- 0x8a, 0xa8, 0x95, 0x89, 0xf1, 0x64, 0x08, 0xcf, 0x95, 0x3f, 0x34, 0x46,
- 0x2a, 0xd6, 0x8a, 0x2d,
- 0xe7, 0x4d, 0x84, 0xe8, 0xb3, 0x37, 0x28, 0x75, 0x84, 0xc3, 0xe4, 0x9d,
- 0x82, 0x08, 0xe7, 0x99,
- 0xec, 0xbc, 0x0a, 0x55, 0x95, 0x9f, 0x7f, 0x9a, 0x0a, 0xd9, 0x1f, 0xcf,
- 0x2f, 0xcd, 0xec, 0x48,
- 0x51, 0xed, 0xf6, 0xc7, 0x15, 0xe3, 0x16, 0x98, 0xf6, 0xff, 0x7f, 0x5f,
- 0xaa, 0xd0, 0x51, 0x37,
- 0x79, 0x5c, 0x4c, 0x03, 0xce, 0x82, 0x32, 0xa4, 0x4c, 0xfd, 0xb5, 0xa7,
- 0x17, 0x65, 0x79, 0x74,
- 0xe1, 0x26, 0xc1, 0x46, 0x30, 0xf1, 0x2f, 0x70, 0xc1, 0x9c, 0x14, 0x36,
- 0xe8, 0xdd, 0xe1, 0xb9,
- 0x1b, 0xbb, 0x14, 0xaa, 0xe9, 0xfd, 0xfe, 0xf7, 0x14, 0x71, 0x3e, 0x5d,
- 0x5e, 0x59, 0x1b, 0x90,
- 0x9f, 0x5d, 0x89, 0x67, 0x1d, 0x94, 0x44, 0x31, 0x89, 0xc5, 0x79, 0x56,
- 0x86, 0x14, 0x9f, 0x5c,
- 0x74, 0xc6, 0x87, 0x10, 0x6b, 0xec, 0x62, 0x4e, 0x87, 0xb8, 0xbe, 0x5e,
- 0xd0, 0x75, 0x74, 0x85,
- 0xf8, 0x05, 0x57, 0x37, 0x19, 0x4e, 0x6d, 0x84, 0x57, 0xd8, 0x7a, 0xb3,
- 0x90, 0x76, 0xf8, 0x88,
- 0x5a, 0x1c, 0x78, 0x7a, 0x33, 0x4b, 0x41, 0x77, 0x78, 0xe5, 0x84, 0x0d,
- 0x07, 0x15, 0x5a, 0xe6,
- 0x67, 0x58, 0xde, 0x50, 0x04, 0xda, 0x29, 0xb5, 0xde, 0x1d, 0x03, 0xe5,
- 0x16, 0x62, 0x67, 0xd4,
- 0x36, 0xb5, 0x28, 0x97, 0x11, 0x39, 0x3f, 0x2d, 0x28, 0xe2, 0x7c, 0xba,
- 0xbc, 0xb2, 0x36, 0xe3,
- 0xe8, 0x4f, 0xcd, 0x20, 0xd6, 0x1b, 0xc4, 0x9c, 0xcd, 0xb3, 0xbf, 0xbc,
- 0x63, 0xea, 0xe8, 0xc9,
- 0x60, 0x7f, 0xda, 0x72, 0xe7, 0x3d, 0x70, 0x50, 0xda, 0xb9, 0xdb, 0x22,
- 0x6f, 0xce, 0x60, 0x45,
- 0xd2, 0x2c, 0x6f, 0x28, 0x02, 0x6d, 0xf5, 0xbb, 0x6f, 0xef, 0xe0, 0x93,
- 0x0b, 0x31, 0xd2, 0x6a,
- 0xa5, 0x3e, 0x2b, 0x6f, 0xc9, 0xe2, 0x75, 0x16, 0x2b, 0x99, 0x26, 0x79,
- 0xee, 0xcf, 0xa5, 0xff,
- 0x8c, 0xc3, 0xd0, 0x27, 0x72, 0xa2, 0x0f, 0xca, 0xd0, 0x60, 0xc4, 0xed,
- 0x40, 0x03, 0x8c, 0x0d,
- 0xbd, 0x51, 0xfc, 0x92, 0x80, 0x7c, 0x69, 0x02, 0xfc, 0x26, 0x60, 0x90,
- 0x85, 0x1d, 0xbd, 0x7f,
- 0xfb, 0xd1, 0x94, 0x60, 0xb9, 0x2d, 0x8f, 0x67, 0x94, 0x16, 0x02, 0x07,
- 0xa5, 0xfd, 0xfb, 0x98,
- 0xba, 0x76, 0xf8, 0xb0, 0x63, 0x9b, 0x30, 0xe7, 0xf8, 0x82, 0xb8, 0x57,
- 0xfc, 0xb1, 0xba, 0xee,
- 0x0f, 0x02, 0x49, 0xc8, 0x65, 0x2c, 0xec, 0xe9, 0x49, 0x70, 0x5b, 0x21,
- 0xe1, 0xe2, 0x0f, 0x50,
- 0x4f, 0xe9, 0x64, 0x94, 0xdf, 0xbb, 0x0d, 0x89, 0x64, 0x1f, 0xc9, 0x1d,
- 0xab, 0xd7, 0x4f, 0x97,
- 0x8e, 0x5b, 0x52, 0xfc, 0xb2, 0xe0, 0xb3, 0xc9, 0x52, 0x55, 0x94, 0x35,
- 0x66, 0xf1, 0x8e, 0xac,
- 0x89, 0x7c, 0x56, 0xde, 0x51, 0x07, 0xea, 0x2c, 0x56, 0xf1, 0x4c, 0xf2,
- 0x1f, 0x5d, 0x89, 0x3d,
- 0x06, 0x6b, 0x45, 0xae, 0x83, 0xc6, 0x07, 0x05, 0x45, 0x5f, 0xf0, 0xab,
- 0x6a, 0xd5, 0x06, 0x20,
- 0xe5, 0xd5, 0x06, 0x33, 0x73, 0x75, 0x94, 0x76, 0x06, 0xf6, 0xb4, 0x45,
- 0xa4, 0xfa, 0xe5, 0x38,
- 0xf4, 0xd3, 0xdd, 0xa8, 0xdc, 0x01, 0x63, 0x8e, 0xdd, 0x66, 0x59, 0x26,
- 0x44, 0x1f, 0xf4, 0xc8,
- 0xc7, 0xd9, 0x73, 0xc6, 0xee, 0x9d, 0xb9, 0x45, 0x73, 0x15, 0xad, 0x83,
- 0xa7, 0xf3, 0xc7, 0x1b,
- 0xad, 0x1b, 0x66, 0x85, 0x4f, 0x29, 0xc0, 0x1a, 0x66, 0x4d, 0xa5, 0x9f,
- 0x76, 0x81, 0xad, 0x3e,
- 0xcb, 0x0f, 0xf9, 0x59, 0x2b, 0xd2, 0xb7, 0x4f, 0xf9, 0xab, 0x8e, 0x16,
- 0x73, 0x9a, 0xcb, 0x5b,
- 0x80, 0x15, 0x5a, 0xb8, 0xb7, 0xed, 0x01, 0xc0, 0x5a, 0xde, 0xe7, 0x78,
- 0x94, 0x6a, 0x80, 0x4d,
- 0xf0, 0x20, 0x1a, 0xdd, 0x9f, 0x85, 0xd8, 0x88, 0x1a, 0x0c, 0xf9, 0x55,
- 0x08, 0x38, 0xf0, 0x49,
- 0xd5, 0x0b, 0x6b, 0x0a, 0xe1, 0x8a, 0xac, 0x5e, 0x6b, 0x4b, 0x38, 0x54,
- 0x72, 0x9d, 0xd5, 0xfb,
- 0x07, 0x27, 0x04, 0x22, 0xe3, 0xe7, 0x59, 0xe5, 0x04, 0xa4, 0xd8, 0xc7,
- 0x79, 0xac, 0x07, 0x91,
- 0xea, 0xd7, 0x4f, 0xfb, 0x16, 0x59, 0x78, 0x9f, 0x4f, 0x86, 0xef, 0x64,
- 0x45, 0x18, 0xea, 0x68,
- 0x56, 0xca, 0xf2, 0xe5, 0xf6, 0x04, 0x4f, 0x7d, 0xf2, 0x5b, 0xa7, 0x98,
- 0xd3, 0x7c, 0x56, 0xa6,
- 0x4d, 0x71, 0xe6, 0x4f, 0x1f, 0xf9, 0xb1, 0x8a, 0xe6, 0x2a, 0x99, 0xc5,
- 0x8d, 0x25, 0x4d, 0x36,
- 0x55, 0x1e, 0x31, 0xb2, 0x56, 0x67, 0xad, 0x9e, 0x31, 0x95, 0xdf, 0x2c,
- 0xe6, 0xf7, 0x55, 0xb6,
- 0x43, 0x3f, 0xee, 0x0b, 0x1a, 0xf4, 0x03, 0x83, 0xee, 0xa1, 0xea, 0x88,
- 0x7f, 0xbe, 0x43, 0xd7,
- 0x1a, 0xf7, 0x55, 0x26, 0x89, 0xdc, 0xa0, 0x17, 0x55, 0x8a, 0x16, 0x31,
- 0x4d, 0x20, 0x1a, 0x21,
- 0x0b, 0xf1, 0x8e, 0xbd, 0x26, 0xa8, 0x57, 0xef, 0x8e, 0x1a, 0xfb, 0x52,
- 0xad, 0xc5, 0x0b, 0xd1,
- 0xe3, 0xbe, 0x43, 0x9d, 0xf0, 0xb3, 0x93, 0x73, 0x43, 0xa9, 0x44, 0xee,
- 0xce, 0x2f, 0xe3, 0x18,
- 0x96, 0x34, 0x85, 0x01, 0xfb, 0x7e, 0xaf, 0xdd, 0x85, 0xea, 0xd2, 0xdc,
- 0x0d, 0x23, 0x96, 0x2c,
- 0x27, 0xb3, 0xf3, 0x0c, 0xbe, 0x4d, 0xc8, 0xd5, 0xf3, 0x72, 0x91, 0xd9,
- 0x5c, 0x57, 0x27, 0x13,
- 0xdd, 0x2e, 0x26, 0xe0, 0x67, 0x41, 0x19, 0x52, 0x26, 0x9f, 0xbb, 0xb2,
- 0xea, 0xd3, 0xdd, 0x3a,
- 0x44, 0x18, 0xea, 0x29, 0xf9, 0x13, 0x5a, 0x66, 0xea, 0x05, 0x32, 0x4f,
- 0x06, 0x12, 0x44, 0x46,
- 0x26, 0xff, 0xb2, 0x80, 0xde, 0x6c, 0x96, 0x35, 0xb2, 0x89, 0xb9, 0xb5,
- 0x4f, 0x2e, 0x26, 0xa2,
- 0x35, 0x61, 0xeb, 0xc0, 0xb1, 0x5a, 0xdd, 0xce, 0xeb, 0x2c, 0x04, 0x0e,
- 0x89, 0x39, 0x35, 0xf3,
- 0xdc, 0x62, 0x67, 0x6c, 0x07, 0x60, 0x47, 0xb2, 0x67, 0x64, 0x93, 0xde,
- 0xf9, 0xaa, 0xdc, 0x8b,
- 0xa4, 0x72, 0x6a, 0xe3, 0xa9, 0xc3, 0x2b, 0xf6, 0x6a, 0x62, 0x0e, 0x15,
- 0xfd, 0xb6, 0xa4, 0x4e,
- 0x58, 0x84, 0xfa, 0xa1, 0xf3, 0x09, 0xfd, 0x74, 0xfa, 0xd0, 0xd4, 0xd5,
- 0x21, 0xe7, 0x58, 0x47,
- 0xcf, 0xfc, 0x3e, 0x2c, 0x68, 0x56, 0x0c, 0x49, 0x3e, 0xc1, 0x2e, 0x65,
- 0x3f, 0xbd, 0xcf, 0xda,
- 0xd0, 0xb4, 0xed, 0xf3, 0xc2, 0x2f, 0x49, 0xb8, 0xed, 0xda, 0xb0, 0x4b,
- 0x2d, 0xc3, 0xd0, 0xcb,
- 0x7c, 0xe3, 0xca, 0xfa, 0xed, 0x27, 0xd7, 0x42, 0xca, 0x6c, 0x3d, 0xb8,
- 0x48, 0x3b, 0x7c, 0x44,
- 0x5c, 0x77, 0x3d, 0xd4, 0xb0, 0x8d, 0x46, 0x72, 0x3d, 0xba, 0x74, 0xa6,
- 0x6d, 0xc0, 0x5c, 0xc6,
- 0x7e, 0x7b, 0x48, 0x21, 0x2d, 0x65, 0x6b, 0x41, 0x48, 0x59, 0x6d, 0x60,
- 0x6e, 0xc9, 0x7e, 0xe5,
- 0xfe, 0x6e, 0x12, 0x99, 0x9a, 0x88, 0x6a, 0x81, 0x12, 0x87, 0x8a, 0x18,
- 0xfa, 0xa3, 0xfe, 0xa8,
- 0xaa, 0x3c, 0x62, 0xa7, 0xac, 0xce, 0x99, 0xff, 0x62, 0xe9, 0x7d, 0x58,
- 0x0f, 0x2d, 0xaa, 0xaf,
- 0x2b, 0x65, 0x79, 0x93, 0x7b, 0x02, 0xc6, 0xdf, 0x79, 0xcc, 0xb2, 0x4c,
- 0x88, 0x3e, 0x2b, 0x53,
- 0xc9, 0x97, 0x7b, 0x82, 0xeb, 0x90, 0x0b, 0x4c, 0x7b, 0x9e, 0xde, 0xce,
- 0x55, 0x68, 0xc9, 0xfa,
- 0x92, 0xc7, 0x42, 0x74, 0xb8, 0xfa, 0x14, 0xdb, 0x42, 0x80, 0x72, 0xaf,
- 0x41, 0x04, 0x92, 0xad,
- 0xca, 0x43, 0xb8, 0xd5, 0x4b, 0xf3, 0xe9, 0xaf, 0xb8, 0x50, 0xa6, 0x7a,
- 0x60, 0xe3, 0xca, 0xea,
- 0x4c, 0x3d, 0xa7, 0xc3, 0x7f, 0xd8, 0xef, 0x6a, 0xa7, 0xd1, 0xb1, 0xa9,
- 0x9e, 0x5c, 0x4c, 0x87,
- 0x9d, 0xc5, 0x0b, 0xbc, 0xdd, 0xd6, 0xf8, 0x32, 0x0b, 0xf0, 0x29, 0x8e,
- 0xa0, 0xe6, 0x9d, 0xfd,
- 0xa7, 0xa6, 0xa9, 0xb4, 0x09, 0xa0, 0xc9, 0x15, 0xa9, 0xac, 0x76, 0xa1,
- 0xc8, 0x3d, 0xa7, 0x5e,
- 0x59, 0xc8, 0xbb, 0x2d, 0x93, 0x28, 0xa3, 0x94, 0xbb, 0x2b, 0xfc, 0xb9,
- 0x32, 0x9e, 0x59, 0xf6,
- 0x9e, 0x11, 0xc8, 0xeb, 0x7d, 0xb5, 0x1a, 0xd1, 0xc8, 0x3e, 0x51, 0x3a,
- 0x95, 0x6d, 0x9e, 0xed,
- 0x1d, 0xd0, 0x51, 0x04, 0x6a, 0x3b, 0xf9, 0xf2, 0x51, 0x2e, 0xce, 0xf6,
- 0x34, 0x8c, 0x1d, 0xb0,
- 0x01, 0x4c, 0x41, 0x8c, 0x60, 0x21, 0x5e, 0xe0, 0x41, 0xfb, 0x28, 0x6c,
- 0x13, 0x79, 0x01, 0xb1,
- 0xc2, 0x66, 0xf5, 0x3f, 0xcd, 0x38, 0x5c, 0xa3, 0xf5, 0x84, 0x25, 0x9c,
- 0xf8, 0xad, 0xc2, 0x2b,
- 0x28, 0xb1, 0xba, 0xc4, 0xdb, 0x61, 0x24, 0x3c, 0xba, 0x02, 0xca, 0xf8,
- 0xbd, 0xb5, 0x28, 0x43,
- 0xb4, 0x38, 0xf0, 0xf4, 0x66, 0x96, 0x82, 0xee, 0xf0, 0x09, 0xcb, 0x1a,
- 0x0e, 0x2a, 0xb4, 0x0f,
- 0x19, 0x23, 0x96, 0x71, 0x29, 0xbf, 0x42, 0xf4, 0x96, 0x44, 0x6e, 0x85,
- 0x78, 0xab, 0x19, 0x31,
- 0x85, 0xaa, 0xdc, 0x41, 0x94, 0x48, 0xe4, 0x26, 0xdc, 0x4f, 0x6f, 0x67,
- 0xcb, 0x34, 0x85, 0x7d,
- 0x3c, 0x08, 0xe7, 0xa6, 0x57, 0xb0, 0x36, 0x22, 0xe7, 0x03, 0xaf, 0x84,
- 0x02, 0x0e, 0x3c, 0x83,
- 0x40, 0xeb, 0x2d, 0x5c, 0xba, 0x97, 0xe1, 0x60, 0x2d, 0x6f, 0x92, 0x3c,
- 0x4a, 0x35, 0x40, 0xc7,
- 0x1e, 0x04, 0x92, 0x53, 0xca, 0x58, 0x1b, 0x11, 0x92, 0xe0, 0xb6, 0x42,
- 0x01, 0x07, 0x1e, 0xa0,
- 0x95, 0xe0, 0x46, 0x56, 0x5b, 0x1d, 0x4d, 0x3e, 0x46, 0x24, 0xaa, 0x68,
- 0x38, 0xa8, 0x95, 0x3c,
- 0xab, 0x70, 0x23, 0x2b, 0xcc, 0xef, 0xc7, 0x1f, 0x23, 0x12, 0x55, 0x34,
- 0x1c, 0x54, 0xab, 0x1e,
- 0xb3, 0x1f, 0xf4, 0xd6, 0x85, 0x71, 0xdb, 0x0b, 0xf4, 0xad, 0x13, 0xdd,
- 0x77, 0x86, 0xb3, 0x9e,
- 0xeb, 0x9b, 0x0e, 0x77, 0x76, 0x78, 0x26, 0x7f, 0x0e, 0x7d, 0xc7, 0x08,
- 0x56, 0x61, 0xeb, 0xd9,
- 0xfa, 0x9d, 0xd5, 0xec, 0xd9, 0x0c, 0xd1, 0x87, 0xd5, 0xed, 0x2a, 0x6b,
- 0xb6, 0x84, 0xfa, 0x29,
- 0x2a, 0x29, 0x38, 0x1f, 0x1b, 0x23, 0x98, 0x3f, 0x38, 0x37, 0x9a, 0x20,
- 0x9b, 0x47, 0x2a, 0xe2,
- 0xac, 0x57, 0x27, 0x09, 0x2f, 0x08, 0x9e, 0xfa, 0x27, 0xb6, 0x8d, 0xf3,
- 0x65, 0xf8, 0xac, 0x8f,
- 0x2d, 0x0e, 0x3c, 0x3d, 0xf8, 0xc4, 0xc1, 0xda, 0x3c, 0x93, 0x42, 0xe7,
- 0xe2, 0xeb, 0x2d, 0x73,
- 0x25, 0x2b, 0x71, 0xd7, 0x7e, 0x0f, 0x74, 0xd6, 0x71, 0x47, 0xc1, 0x01,
- 0x7a, 0xa5, 0x25, 0xb2,
- 0x4a, 0x56, 0xe2, 0x6d, 0xfc, 0x1e, 0xe8, 0x6f, 0xe2, 0x8e, 0x41, 0x02,
- 0xf4, 0x89, 0x4a, 0xa7,
- 0xb0, 0xcb, 0x37, 0x81, 0x25, 0x12, 0x39, 0xe8, 0x37, 0x63, 0x6b, 0x69,
- 0x42, 0x0d, 0xb0, 0x8e,
- 0x41, 0xa7, 0x6c, 0xd0, 0xda, 0xb6, 0xbf, 0x80, 0x6c, 0x94, 0xba, 0x50,
- 0x59, 0x4c, 0x41, 0x76,
- 0x30, 0xde, 0x6d, 0x39, 0x92, 0xff, 0x38, 0x28, 0x6d, 0xbd, 0x8c, 0x11,
- 0xd6, 0x67, 0x30, 0xc3,
- 0x33, 0x0a, 0xae, 0x6e, 0x32, 0x9c, 0xda, 0xcb, 0xae, 0x73, 0xf4, 0xa5,
- 0xe3, 0xec, 0x33, 0xd3,
- 0x65, 0xc0, 0x5c, 0x8b, 0xc4, 0x98, 0x95, 0xb6, 0x5c, 0x28, 0x53, 0x3d,
- 0x30, 0x90, 0x65, 0x75,
- 0x8b, 0xe4, 0xd4, 0x05, 0x91, 0x45, 0x56, 0x2f, 0xd4, 0xc4, 0x1c, 0x2a,
- 0x39, 0xaf, 0x8b, 0x9c,
- 0xef, 0x68, 0xc9, 0x02, 0x35, 0xfc, 0x9d, 0x79, 0xc9, 0x17, 0x67, 0x7b,
- 0x1a, 0x46, 0xef, 0x58,
- 0x09, 0x69, 0x0c, 0x66, 0xe6, 0xea, 0xeb, 0xec, 0x0c, 0x2f, 0xab, 0x8a,
- 0x8b, 0x37, 0x09, 0x70,
- 0x9b, 0xae, 0x4e, 0x12, 0x5e, 0x10, 0xff, 0x37, 0x4e, 0xaf, 0xd9, 0x25,
- 0xca, 0x33, 0x9b, 0xdd,
- 0x6f, 0x7d, 0x93, 0xba, 0x82, 0x11, 0x9c, 0xb9, 0x93, 0xc9, 0x80, 0x03,
- 0x8e, 0x2c, 0x6f, 0x15,
- 0x84, 0xe6, 0x9d, 0xcd, 0xf4, 0x69, 0xba, 0xc6, 0x9d, 0xb4, 0x47, 0x0b,
- 0xd8, 0x4d, 0x84, 0xcc,
- 0x15, 0xf5, 0x1c, 0xee, 0xec, 0xf0, 0x4c, 0xfe, 0x1c, 0xfa, 0x4d, 0x10,
- 0xac, 0xc2, 0x15, 0x71,
- 0x75, 0x8a, 0xc6, 0x9c, 0x0b, 0xcd, 0x3c, 0xae, 0xc6, 0x43, 0x96, 0x32,
- 0xc3, 0x0c, 0x75, 0x34,
- 0x61, 0x33, 0x9b, 0xfe, 0x87, 0x1c, 0x2e, 0xb0, 0x9b, 0x42, 0xf3, 0x4e,
- 0x7c, 0xb7, 0x61, 0xf4,
- 0xf9, 0x49, 0x16, 0xbb, 0x79, 0x6f, 0x33, 0x64, 0x16, 0x23, 0x52, 0xdf,
- 0x83, 0x0f, 0xf9, 0x39,
- 0x12, 0xd2, 0x18, 0xcc, 0x0f, 0x17, 0x15, 0x1b, 0x18, 0x5e, 0x95, 0xd7,
- 0xd5, 0x6e, 0x12, 0xe0,
- 0x70, 0x35, 0x40, 0x65, 0x28, 0x68, 0xd9, 0x48, 0x40, 0xd2, 0x1e, 0x2d,
- 0x9c, 0x52, 0x70, 0x04,
- 0xa3, 0x55, 0x6e, 0xc1, 0x4a, 0x24, 0x72, 0x13, 0x6e, 0xc6, 0xd6, 0xd2,
- 0x84, 0x1a, 0xa3, 0xdf,
- 0x9c, 0x89, 0x4a, 0x30, 0xbd, 0xf7, 0xa6, 0xd2, 0x4a, 0x0b, 0x01, 0xe2,
- 0xb3, 0x9f, 0x9c, 0x4c,
- 0x4e, 0xa5, 0x25, 0x18, 0xbf, 0x9a, 0x53, 0x69, 0x25, 0xe4, 0xe1, 0x71,
- 0xb8, 0xae, 0x4e, 0x26,
- 0xa9, 0xe8, 0xa1, 0xf0, 0x0c, 0xad, 0x7b, 0x1c, 0xa1, 0x27, 0x05, 0xec,
- 0x3a, 0xa6, 0xa9, 0xbf,
- 0x7b, 0xc4, 0xce, 0xd8, 0x0e, 0xc0, 0x8e, 0xa7, 0xce, 0xc8, 0xe5, 0x7f,
- 0x31, 0x97, 0x7b, 0xd5,
- 0x47, 0xcc, 0x29, 0x7e, 0x59, 0x70, 0xb8, 0x85, 0x29, 0xcb, 0x4a, 0xfb,
- 0x33, 0x99, 0x47, 0x56,
- 0xe9, 0x03, 0x8c, 0xac, 0xb6, 0x3a, 0x9a, 0x7c, 0x8c, 0x48, 0x97, 0xd0,
- 0x70, 0x93, 0xe9, 0x78,
- 0x7a, 0x88, 0x8f, 0x54, 0x6e, 0xe1, 0xd0, 0x47, 0x8f, 0x33, 0xcd, 0x13,
- 0x22, 0xee, 0x7a, 0x64,
- 0xf1, 0x6c, 0x5b, 0x51, 0xff, 0xa4, 0x86, 0x68, 0x5b, 0xf7, 0xd1, 0x39,
- 0x1b, 0x41, 0xf1, 0xf8,
- 0xc4, 0x0d, 0xb0, 0x91, 0x4e, 0xfe, 0x5b, 0xa6, 0xb0, 0xdb, 0xd5, 0x37,
- 0x92, 0x78, 0xc4, 0x0b,
- 0xaf, 0x83, 0xe4, 0x5e, 0x8f, 0x6b, 0x7c, 0x19, 0xe4, 0x78, 0xf5, 0x47,
- 0x50, 0x73, 0xaf, 0x9f,
- 0x68, 0x5a, 0x97, 0x98, 0x61, 0xf6, 0xc5, 0x5c, 0x97, 0x6d, 0x58, 0xc4,
- 0xf7, 0x80, 0x68, 0x84,
- 0xbe, 0x85, 0x3f, 0xc5, 0x20, 0x1f, 0x8b, 0xe1, 0x3f, 0xe8, 0x18, 0x24,
- 0xb0, 0x96, 0xbe, 0x6f,
- 0xbf, 0xc9, 0x7e, 0x49, 0x40, 0x3e, 0xd5, 0x01, 0x7e, 0x13, 0x30, 0x48,
- 0xa3, 0xef, 0xbf, 0xde,
- 0x2e, 0xda, 0xff, 0x6a, 0x58, 0xa7, 0x23, 0x39, 0xff, 0x5d, 0x3a, 0x53,
- 0xd7, 0x60, 0x2e, 0x63,
- 0x48, 0xce, 0x60, 0xb6, 0x3c, 0x5c, 0x54, 0x6c, 0x60, 0xbb, 0x11, 0xda,
- 0xd2, 0x7b, 0x48, 0x06,
- 0xce, 0xb0, 0x7f, 0xa0, 0x08, 0x77, 0x52, 0xa9, 0x7f, 0x3a, 0x06, 0x09,
- 0x2c, 0xc4, 0xce, 0x6b,
- 0x3d, 0x44, 0xa6, 0x2a, 0x37, 0x91, 0x68, 0xc2, 0xa6, 0xf8, 0x87, 0xe8,
- 0x11, 0x77, 0x3d, 0x32,
- 0x32, 0x46, 0xef, 0xe2, 0x52, 0xbd, 0x84, 0x2b, 0xef, 0x88, 0xdc, 0xc9,
- 0xf0, 0x95, 0x32, 0x62,
- 0xe6, 0x01, 0xc5, 0x64, 0xd3, 0x16, 0x76, 0x95, 0xc5, 0x38, 0xcc, 0xf1,
- 0x91, 0x71, 0xe6, 0x28,
- 0x6b, 0x8e, 0x54, 0xcf, 0xc1, 0x95, 0x27, 0xbf, 0x54, 0xa3, 0x20, 0x70,
- 0xc2, 0x0b, 0x6b, 0x94,
- 0xbb, 0x3a, 0xb9, 0x3c, 0x03, 0xba, 0x6e, 0x07, 0xb9, 0x79, 0x90, 0x3b,
- 0xef, 0xc8, 0xbb, 0x5f,
- 0x91, 0x13, 0x81, 0x23, 0x18, 0x99, 0xf6, 0x38, 0x81, 0x4e, 0x0a, 0x1b,
- 0x74, 0x8f, 0x91, 0xbd,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x83, 0xc1, 0x99, 0xef, 0x17, 0x8e, 0xe3, 0x23, 0x99, 0x10, 0x9f, 0xcc,
- 0xa1, 0xe1, 0x83, 0x5d,
- 0xe0, 0x6a, 0x80, 0xca, 0x50, 0xd0, 0x71, 0x90, 0x80, 0x67, 0x3c, 0x5a,
- 0xfb, 0xa4, 0xe0, 0x08,
- 0x82, 0x8d, 0xd8, 0x63, 0x77, 0xaf, 0xbd, 0xc3, 0xd8, 0xeb, 0xb7, 0xa0,
- 0xb2, 0x98, 0x82, 0xec,
- 0xd7, 0x93, 0xe9, 0xd1, 0x21, 0xc8, 0x10, 0x5d, 0xe9, 0x7e, 0x68, 0x8c,
- 0x54, 0x6f, 0xd7, 0x5a,
- 0xf2, 0xb8, 0x98, 0x06, 0x5f, 0xc7, 0x64, 0x8b, 0x98, 0x39, 0xa9, 0x8d,
- 0x2e, 0xca, 0xf2, 0xe8,
- 0xcd, 0x64, 0xbc, 0xf7, 0xa8, 0x14, 0xb0, 0x4a, 0xbc, 0xf4, 0x7e, 0xbd,
- 0x19, 0x4f, 0xcd, 0x7b,
- 0x78, 0x10, 0x0d, 0x8f, 0xae, 0xa3, 0x6c, 0x44, 0x0d, 0x06, 0x9d, 0xcb,
- 0x04, 0x1c, 0x78, 0xc5,
- 0xc0, 0xfe, 0x77, 0xe4, 0x0d, 0x7a, 0xe0, 0xa0, 0x77, 0xb1, 0x75, 0x44,
- 0xde, 0x5f, 0xc0, 0x8a,
- 0x63, 0xab, 0x19, 0x25, 0x47, 0x5e, 0x92, 0xb3, 0x19, 0x77, 0xa3, 0x96,
- 0x5a, 0x45, 0x63, 0x55,
- 0x87, 0x32, 0x5e, 0x9a, 0x54, 0x0a, 0x58, 0x25, 0x5e, 0x7a, 0x3f, 0xbf,
- 0xed, 0xc6, 0x87, 0xdc,
- 0xfc, 0xf6, 0x90, 0x42, 0x5a, 0xca, 0xd6, 0x82, 0x90, 0xb2, 0xda, 0xc0,
- 0xdc, 0x51, 0xfc, 0x09,
- 0x94, 0xac, 0x07, 0xda, 0x3b, 0x3c, 0x13, 0xde, 0x07, 0xdf, 0x82, 0x04,
- 0x2b, 0xd1, 0x94, 0x8d,
- 0x08, 0x25, 0x4d, 0xea, 0x86, 0xcb, 0xb5, 0x0c, 0x4d, 0xd4, 0x83, 0xe6,
- 0x98, 0x4e, 0x08, 0xc1,
- 0x81, 0x59, 0x1b, 0x34, 0xd7, 0xcc, 0x5f, 0x20, 0x1b, 0x25, 0xcf, 0x14,
- 0x87, 0x13, 0x81, 0xfc,
- 0x17, 0x6d, 0x9e, 0x35, 0x2c, 0xb2, 0xf0, 0xfd, 0x9e, 0xcf, 0x1d, 0xc8,
- 0x8a, 0x30, 0x17, 0xd0,
- 0x62, 0xe7, 0x58, 0xa9, 0x27, 0x7f, 0xcc, 0x53, 0x58, 0x8c, 0x8b, 0xfa,
- 0x49, 0x3c, 0x62, 0xe4,
- 0xd8, 0x91, 0xa0, 0x19, 0x44, 0xe4, 0xfc, 0xb4, 0xa0, 0x0e, 0x33, 0xad,
- 0xb5, 0x8d, 0xd8, 0x0a,
- 0x31, 0x92, 0x2c, 0xb5, 0xf2, 0xde, 0x66, 0xc8, 0x2c, 0x46, 0xa4, 0x7d,
- 0xc5, 0x1e, 0x31, 0x72,
- 0x10, 0x4a, 0x9a, 0x17, 0xcf, 0x55, 0xa9, 0x18, 0x9a, 0x6b, 0xc5, 0x0f,
- 0xf3, 0x9c, 0x10, 0x41,
- 0x21, 0xd8, 0xb6, 0xa2, 0x3d, 0x8b, 0xcf, 0xd0, 0xb6, 0x2d, 0x61, 0x72,
- 0x36, 0x82, 0x21, 0x33,
- 0xda, 0x09, 0x22, 0xc2, 0x84, 0xa6, 0x40, 0xb7, 0x22, 0x3b, 0x63, 0x75,
- 0x93, 0x7f, 0xda, 0xab,
- 0x66, 0x14, 0x9f, 0xdc, 0x64, 0xfb, 0x77, 0x55, 0x9f, 0xe6, 0x2b, 0x89,
- 0x05, 0x1b, 0x66, 0x65,
- 0x39, 0xb7, 0x61, 0x5f, 0x74, 0x15, 0xd3, 0xc4, 0x61, 0x92, 0x27, 0x9b,
- 0x5d, 0x50, 0x39, 0xb3,
- 0xfd, 0xba, 0xd1, 0xce, 0x3a, 0xeb, 0x88, 0x62, 0xd1, 0x49, 0xf2, 0xac,
- 0xcf, 0x28, 0xfd, 0xb8,
- 0x0e, 0x4e, 0x08, 0x44, 0x05, 0x0d, 0xb2, 0x09, 0x08, 0x8b, 0x73, 0x4d,
- 0xf2, 0x9b, 0x0e, 0xe1,
- 0x6e, 0x31, 0xd2, 0x36, 0xe2, 0x30, 0xc2, 0x59, 0xd2, 0x32, 0xa8, 0x6f,
- 0x9d, 0x55, 0x6e, 0xa4,
- 0x8f, 0x17, 0x13, 0x70, 0xd2, 0xc1, 0xed, 0x29, 0x13, 0xae, 0xbc, 0x59,
- 0x75, 0x88, 0x8f, 0x1d,
- 0x99, 0x36, 0xcc, 0xc9, 0x9e, 0x52, 0x43, 0x34, 0xcc, 0x9a, 0x89, 0xfd,
- 0xec, 0xc1, 0x99, 0x7c,
- 0x6d, 0xe5, 0x11, 0x61, 0x42, 0x53, 0x20, 0xba, 0x11, 0xfc, 0xd0, 0xdb,
- 0xa8, 0xde, 0x6d, 0xb4,
- 0xf3, 0xf4, 0xd9, 0x8a, 0x3f, 0xe6, 0x3a, 0x6b, 0xd9, 0xc2, 0x81, 0xe1,
- 0x3d, 0xb3, 0xf3, 0x59,
- 0xde, 0xfa, 0xe5, 0xb7, 0xc7, 0x22, 0xfb, 0xb1, 0xe5, 0x51, 0xc3, 0x06,
- 0xdf, 0x58, 0xde, 0x2a,
- 0x88, 0x30, 0x17, 0x52, 0x31, 0x26, 0xb4, 0xcc, 0x17, 0x0a, 0x64, 0x9e,
- 0x0c, 0x24, 0x88, 0x8c,
- 0x0d, 0x9a, 0xcb, 0x13, 0xa5, 0x6e, 0x50, 0xea, 0xcb, 0x45, 0x0b, 0xf9,
- 0xc7, 0x10, 0x0d, 0xf1,
- 0x8d, 0x8f, 0x91, 0xab, 0x12, 0x83, 0x51, 0x2a, 0x91, 0x9b, 0xec, 0x81,
- 0x53, 0x7a, 0x8d, 0xbc,
- 0xd4, 0x47, 0x2a, 0x86, 0x81, 0xab, 0xf2, 0xbe, 0x2a, 0xb0, 0x10, 0x38,
- 0x61, 0xe4, 0xd4, 0x4a,
- 0x5b, 0x50, 0x39, 0xf6, 0x53, 0x6a, 0x1f, 0x97, 0x39, 0x1e, 0xac, 0x61,
- 0x14, 0x6c, 0x5b, 0x57,
- 0xd1, 0xf8, 0xac, 0x7f, 0xa2, 0x0e, 0x17, 0x58, 0xac, 0x21, 0x98, 0x27,
- 0x3e, 0xba, 0xd1, 0x7a,
- 0x5d, 0x3b, 0x7c, 0x58, 0xd0, 0xac, 0x18, 0x92, 0x7c, 0x41, 0x5c, 0xca,
- 0x7e, 0xb9, 0x5d, 0x77,
- 0x03, 0xd4, 0xc3, 0x57, 0xa0, 0x63, 0xe2, 0xe3, 0xc3, 0xce, 0x78, 0xb4,
- 0x35, 0x8b, 0x03, 0x10,
- 0xc8, 0xdb, 0x3a, 0x0e, 0x8b, 0xb1, 0x55, 0xac, 0x3a, 0x65, 0xf6, 0xa2,
- 0x46, 0x11, 0xc8, 0x4b,
- 0xc1, 0xb2, 0x36, 0x68, 0x6d, 0x5b, 0xbe, 0x40, 0x36, 0x4a, 0x5d, 0x28,
- 0xcd, 0x26, 0xc1, 0x3b,
- 0x77, 0x12, 0x44, 0x47, 0xcb, 0x8f, 0x80, 0xad, 0x44, 0x76, 0xc6, 0xea,
- 0xe5, 0xfe, 0x77, 0x95,
- 0x3a, 0x63, 0xa2, 0x08, 0xd4, 0x76, 0x31, 0x27, 0xa2, 0x5c, 0x5f, 0x2f,
- 0x68, 0xdb, 0x3a, 0xa3,
- 0xf6, 0x4b, 0x5f, 0x73, 0x1c, 0x43, 0xdf, 0x8d, 0x5f, 0x53, 0x09, 0xfe,
- 0x62, 0xed, 0xf6, 0x69,
- 0xb9, 0xa2, 0x3b, 0xe7, 0xc3, 0xf8, 0xd2, 0x04, 0x3b, 0x4c, 0xc0, 0xe3,
- 0xc9, 0x3a, 0xb9, 0xfe,
- 0xa1, 0xcd, 0xec, 0x1a, 0x8a, 0x66, 0xce, 0x10, 0xec, 0xf3, 0x86, 0x0a,
- 0xa2, 0xe8, 0xa1, 0x7e,
- 0xc6, 0x95, 0x32, 0x4a, 0x8e, 0xbc, 0xe7, 0xa5, 0x32, 0xee, 0x85, 0xef,
- 0xb4, 0x8a, 0xc6, 0xaa,
- 0x7d, 0xaf, 0x8b, 0x76, 0x8d, 0x06, 0x89, 0xa2, 0x8b, 0x97, 0x15, 0xd4,
- 0x5b, 0x42, 0x7d, 0xf5,
- 0x24, 0x67, 0x30, 0x5b, 0x1e, 0x2e, 0x2a, 0x36, 0x30, 0xbc, 0xe9, 0x6d,
- 0x69, 0xdc, 0x24, 0x03,
- 0xdf, 0xb6, 0xa4, 0x3b, 0xa7, 0x03, 0xa5, 0x51, 0xa4, 0xaa, 0xeb, 0x6a,
- 0xcc, 0x21, 0xdf, 0x9b,
- 0x64, 0x8c, 0x1d, 0x07, 0xa4, 0xb9, 0xcb, 0x56, 0x1d, 0xd3, 0x7b, 0x51,
- 0x23, 0xe9, 0x64, 0xc4,
- 0x23, 0x40, 0x34, 0x79, 0xfd, 0xc9, 0x73, 0xd3, 0x34, 0x18, 0x31, 0xaa,
- 0x10, 0x70, 0x23, 0x92,
- 0x73, 0xe1, 0x83, 0x32, 0x88, 0x0b, 0x3b, 0xab, 0x83, 0x1c, 0x66, 0x99,
- 0xa9, 0xd9, 0x73, 0x14,
- 0x69, 0x16, 0xd6, 0x14, 0x01, 0xd7, 0x9b, 0xbc, 0xd6, 0x96, 0x70, 0xa8,
- 0xe4, 0xf9, 0x69, 0x35,
- 0x18, 0x6f, 0xd7, 0xfd, 0x49, 0x9e, 0x1c, 0x14, 0xd7, 0xbf, 0x46, 0xe9,
- 0x6b, 0xd2, 0x18, 0x80,
- 0xbc, 0x1d, 0xbd, 0x1e, 0xe0, 0x5d, 0x37, 0xe2, 0xbd, 0xdd, 0x48, 0xfc,
- 0x96, 0x64, 0xbc, 0xce,
- 0x42, 0x73, 0xaf, 0x87, 0x7a, 0xd5, 0x5d, 0x63, 0xaf, 0x5a, 0xc2, 0xe4,
- 0x6c, 0xc7, 0x42, 0x66,
- 0x1f, 0x48, 0xd3, 0xdf, 0xaa, 0x79, 0x45, 0xf1, 0xd3, 0x1b, 0x9e, 0x2e,
- 0x12, 0x7e, 0x1f, 0x11,
- 0x98, 0x7a, 0x8d, 0x45, 0xfe, 0x73, 0x1d, 0xd4, 0x8d, 0x61, 0xa1, 0x91,
- 0xff, 0xb8, 0x98, 0xcd,
- 0x53, 0x75, 0x74, 0x1c, 0xd5, 0xa1, 0xaa, 0x9b, 0x74, 0xca, 0x2f, 0x87,
- 0x8c, 0x22, 0x53, 0x96,
- 0xe4, 0x99, 0x47, 0xbf, 0x13, 0x54, 0xca, 0x96, 0x47, 0x0d, 0x9c, 0x29,
- 0xb7, 0x83, 0xe4, 0x89,
- 0xae, 0xcf, 0xa5, 0xd2, 0xef, 0x4a, 0x22, 0xf9, 0xa5, 0x83, 0xdd, 0x2b,
- 0x43, 0x0a, 0xae, 0x2e,
- 0xd9, 0xdd, 0xe1, 0x95, 0x24, 0xc5, 0xa2, 0x54, 0xe1, 0xf5, 0x1b, 0xc1,
- 0xa6, 0xf4, 0xd9, 0xbb,
- 0x22, 0x0c, 0x75, 0xf5, 0x9d, 0xe8, 0x2d, 0x33, 0x75, 0xe3, 0x19, 0xc6,
- 0x03, 0x09, 0x22, 0x23,
- 0x52, 0x39, 0x35, 0x90, 0xb5, 0x80, 0xf4, 0x7b, 0x35, 0x31, 0x07, 0xeb,
- 0x9f, 0x5b, 0x52, 0x27,
- 0x05, 0xbf, 0x86, 0xf9, 0x23, 0xa5, 0xe5, 0xe6, 0x86, 0x91, 0x88, 0x1f,
- 0x5f, 0x5e, 0x05, 0x30,
- 0x6c, 0xa9, 0x50, 0xed, 0x22, 0x72, 0x7e, 0x5a, 0x50, 0x07, 0xf8, 0xb7,
- 0xbb, 0xa7, 0x6c, 0x05,
- 0xd3, 0x60, 0x2e, 0xa4, 0x62, 0x4c, 0xab, 0x5b, 0x2e, 0x14, 0xc8, 0xff,
- 0x18, 0x48, 0xd3, 0xdb,
- 0xff, 0x22, 0x53, 0x15, 0xfa, 0xa9, 0x34, 0x61, 0x53, 0x7c, 0xa2, 0x74,
- 0xe9, 0xda, 0xff, 0x19,
- 0x9a, 0xe2, 0x0f, 0x9e, 0x3e, 0x31, 0xa1, 0xd7, 0x0f, 0x54, 0xf1, 0x49,
- 0xd9, 0x4a, 0x9a, 0x6c,
- 0x2c, 0x42, 0x7d, 0xb1, 0x98, 0xe5, 0x9f, 0x3a, 0x7d, 0x68, 0x6a, 0x8b,
- 0xf1, 0x92, 0x2c, 0xc2,
- 0x29, 0xfd, 0xfb, 0x48, 0xbb, 0x40, 0x7a, 0xdc, 0xfb, 0xf9, 0xe2, 0x94,
- 0xae, 0xcc, 0x29, 0xf2,
- 0x5e, 0xef, 0xbf, 0x0f, 0x70, 0xcf, 0xfa, 0x71, 0xbf, 0x8f, 0x24, 0x7e,
- 0x4b, 0x32, 0x5e, 0x67,
- 0x57, 0x86, 0xb3, 0x69, 0x96, 0x25, 0x11, 0x9d, 0xb3, 0xa0, 0x8f, 0xf4,
- 0xc0, 0x05, 0x57, 0x17,
- 0xed, 0xf0, 0x4b, 0xd9, 0xf5, 0xbe, 0x21, 0x7a, 0x4b, 0x22, 0x37, 0xa3,
- 0x3c, 0xb4, 0xed, 0xf9,
- 0x46, 0x80, 0x68, 0xf2, 0x39, 0x51, 0xe6, 0x65, 0x68, 0x30, 0x62, 0x97,
- 0x20, 0xe0, 0x46, 0xe7,
- 0x34, 0x2d, 0xaa, 0x4c, 0xd1, 0x7b, 0x83, 0x2e, 0xaa, 0xd7, 0x2c, 0x62,
- 0x9a, 0x40, 0x34, 0x42,
- 0x72, 0xad, 0xc2, 0xbe, 0xe8, 0x2a, 0x65, 0x4b, 0xc2, 0xe7, 0x4e, 0xf5,
- 0xba, 0xa0, 0x72, 0xa5,
- 0xb5, 0x74, 0xb1, 0x78, 0x06, 0xb7, 0xdc, 0x0e, 0xb1, 0xf2, 0xe3, 0x76,
- 0x1d, 0x53, 0xb5, 0xbe,
- 0x11, 0x06, 0xdb, 0x9b, 0xaf, 0x74, 0xf7, 0xf8, 0xdb, 0x90, 0xed, 0x63,
- 0xe0, 0xe5, 0x11, 0xf0,
- 0xe2, 0xf2, 0x02, 0x11, 0x90, 0x92, 0xcd, 0x93, 0x02, 0x52, 0x6c, 0x82,
- 0xdd, 0x56, 0xe2, 0xa9,
- 0xd6, 0xdf, 0xa8, 0x5d, 0x41, 0xe9, 0x4e, 0xbd, 0xa8, 0x85, 0x40, 0xe0,
- 0x47, 0x16, 0xd6, 0xeb,
- 0xee, 0x24, 0x88, 0x8e, 0x55, 0xdd, 0xc3, 0x99, 0x88, 0xec, 0x4f, 0x17,
- 0x09, 0x3f, 0xee, 0xe9,
- 0x90, 0x5f, 0xc0, 0xaf, 0x78, 0xb8, 0xa8, 0xd8, 0xc0, 0xb5, 0x22, 0x77,
- 0x67, 0xf6, 0x90, 0x0c,
- 0x14, 0xb9, 0x5d, 0x62, 0x8c, 0xd1, 0x12, 0x1e, 0x5d, 0x01, 0x65, 0x7c,
- 0xbf, 0xbb, 0x14, 0xc0,
- 0x3e, 0x90, 0x65, 0x7d, 0x97, 0xf2, 0x8a, 0x21, 0x65, 0x36, 0xff, 0x5c,
- 0x24, 0xfc, 0x3e, 0x22,
- 0x86, 0x7e, 0x1f, 0x16, 0x34, 0x2b, 0x06, 0xc5, 0x1f, 0x81, 0x17, 0xd3,
- 0xfe, 0xbf, 0x86, 0x6d,
- 0x49, 0x82, 0x21, 0x3a, 0x5c, 0x7d, 0x0a, 0x8c, 0x21, 0x40, 0x39, 0xb6,
- 0xc1, 0x02, 0x49, 0xb7,
- 0xf7, 0x07, 0x1e, 0xff, 0x7c, 0x62, 0x81, 0x6d, 0x1e, 0xa8, 0x21, 0x92,
- 0x71, 0x94, 0xf7, 0xd8,
- 0x0a, 0xbd, 0xcf, 0x31, 0x46, 0x89, 0x09, 0x0f, 0xcf, 0xe1, 0xd3, 0x3e,
- 0xbe, 0xbc, 0x0a, 0x60,
- },
- { /* 3 */
- 0xa8, 0x78, 0x41, 0x9a, 0x63, 0x9a, 0xaa, 0xcc, 0x6d, 0x6b, 0xb6, 0x2d,
- 0xbf, 0x63, 0x8e, 0x1b,
- 0xb4, 0x31, 0xad, 0x42, 0xc9, 0x42, 0x37, 0x9b, 0xc6, 0x80, 0x29, 0xcb,
- 0xc0, 0xc9, 0x15, 0xf8,
- 0x96, 0xde, 0x29, 0xd5, 0x90, 0xd5, 0x18, 0x10, 0xbc, 0xed, 0x40, 0xd2,
- 0x7a, 0x90, 0xf0, 0x4e,
- 0x1e, 0xe4, 0x7c, 0xcc, 0x37, 0xcc, 0xa4, 0x79, 0x97, 0x9a, 0x27, 0xb6,
- 0xd7, 0x37, 0xe2, 0xd3,
- 0x8a, 0x97, 0xc5, 0x0d, 0x3a, 0x0d, 0x85, 0x47, 0x17, 0x06, 0xdf, 0x34,
- 0x05, 0x3a, 0x6b, 0xad,
- 0xf5, 0x02, 0xcd, 0x8d, 0x2d, 0x8d, 0xe6, 0x05, 0x54, 0x61, 0x14, 0x71,
- 0xb0, 0x2d, 0x33, 0x2f,
- 0x9f, 0x98, 0x64, 0x8f, 0x0e, 0x8f, 0x01, 0xbf, 0x52, 0x33, 0xb9, 0x79,
- 0xcb, 0x0e, 0x0a, 0x96,
- 0xa5, 0xa7, 0xef, 0xe8, 0x04, 0xe8, 0xc1, 0x3f, 0xfb, 0x57, 0xfc, 0x26,
- 0x9d, 0x04, 0x86, 0xa3,
- 0x13, 0x3b, 0xd2, 0xbe, 0x50, 0xbe, 0xcf, 0x8a, 0x01, 0xa6, 0x6d, 0xbd,
- 0xf5, 0x50, 0xea, 0x6b,
- 0x39, 0x25, 0x53, 0x79, 0x38, 0x79, 0x04, 0xb9, 0x8b, 0xcc, 0xa1, 0x27,
- 0xaa, 0x38, 0x28, 0x1d,
- 0xac, 0xe1, 0xa2, 0xb2, 0x9a, 0xb2, 0xd8, 0x90, 0x15, 0x89, 0x05, 0x8d,
- 0x2c, 0x9a, 0x7c, 0x7b,
- 0x2d, 0x9d, 0xba, 0xf1, 0xa3, 0xf1, 0x7d, 0x56, 0xd0, 0x20, 0x9b, 0x42,
- 0x30, 0xa3, 0x94, 0x3e,
- 0x83, 0xd1, 0x88, 0x57, 0xa4, 0x57, 0x9c, 0xe8, 0xf9, 0xd8, 0x26, 0x9f,
- 0xb4, 0xa4, 0x91, 0x75,
- 0x86, 0xff, 0x23, 0x75, 0xf2, 0x75, 0x13, 0xa3, 0x9f, 0xe3, 0xc9, 0x17,
- 0x73, 0xf2, 0xbe, 0x0d,
- 0xb9, 0xee, 0x03, 0x30, 0xae, 0x30, 0x5c, 0x68, 0x50, 0xbc, 0x63, 0xc0,
- 0xe2, 0xae, 0x1d, 0x40,
- 0x76, 0xd3, 0x45, 0xda, 0x89, 0xda, 0x7a, 0xed, 0xad, 0xb9, 0x32, 0xee,
- 0x04, 0x89, 0xa2, 0x5a,
- 0x0f, 0x72, 0x3e, 0x66, 0xfa, 0x66, 0x52, 0xdd, 0xaa, 0x4d, 0xf2, 0x5b,
- 0x8a, 0xfa, 0x71, 0x88,
- 0x5a, 0xf9, 0xb7, 0x21, 0x85, 0x21, 0xfa, 0xac, 0x63, 0x40, 0xf5, 0x84,
- 0x60, 0x85, 0xeb, 0x7c,
- 0xa0, 0x89, 0x44, 0xca, 0x52, 0xca, 0x4e, 0x74, 0x9d, 0x6c, 0x13, 0xae,
- 0x5a, 0x52, 0xa9, 0xdb,
- 0x92, 0x47, 0xca, 0xfd, 0x69, 0xfd, 0x6a, 0x4c, 0xc4, 0x0f, 0xf3, 0x72,
- 0xe9, 0x69, 0x02, 0x2e,
- 0xe2, 0xa0, 0xfc, 0x1b, 0x84, 0x1b, 0x5b, 0xd3, 0x2d, 0x25, 0xca, 0x6c,
- 0xd6, 0x84, 0x2b, 0x24,
- 0x34, 0xfa, 0xfd, 0x0b, 0x5f, 0x0b, 0x6f, 0x4a, 0x1d, 0xf0, 0xeb, 0x2c,
- 0x88, 0x5f, 0x20, 0xa5,
- 0xee, 0xc8, 0x1a, 0x63, 0x4c, 0x63, 0xcd, 0x37, 0xa5, 0xc0, 0xdc, 0x4f,
- 0xa0, 0x4c, 0xfe, 0x84,
- 0x6d, 0x19, 0x92, 0x34, 0xe8, 0x34, 0x51, 0xdf, 0x5c, 0x18, 0xfa, 0xd0,
- 0x14, 0xe8, 0x6f, 0xf1,
- 0x1a, 0x7d, 0x9f, 0xe4, 0xce, 0xe4, 0xd6, 0x25, 0xef, 0x78, 0x94, 0x16,
- 0x44, 0xce, 0x10, 0xb3,
- 0x24, 0xdb, 0xf7, 0xab, 0x3d, 0xab, 0x64, 0xf9, 0x3e, 0xfe, 0x62, 0xe9,
- 0x81, 0x3d, 0x6e, 0xe6,
- 0x1f, 0x53, 0x34, 0xc6, 0x98, 0xc6, 0x59, 0x6e, 0x89, 0x43, 0x7b, 0x9e,
- 0x83, 0x98, 0x3f, 0xcb,
- 0xd2, 0xc3, 0xe2, 0x38, 0x22, 0x38, 0x46, 0xc5, 0x48, 0x37, 0x92, 0xe0,
- 0xcd, 0x22, 0xf9, 0xe1,
- 0x18, 0xd0, 0x0f, 0xf0, 0x53, 0xf0, 0xef, 0x0b, 0xd3, 0x09, 0x2c, 0x46,
- 0xec, 0x53, 0x69, 0x83,
- 0x37, 0xe0, 0x25, 0x15, 0x6d, 0x15, 0xab, 0x73, 0x3f, 0x58, 0x0f, 0x54,
- 0x74, 0x6d, 0x84, 0x8d,
- 0x6a, 0x9a, 0xa9, 0x02, 0x23, 0x02, 0xe7, 0xba, 0x06, 0x52, 0xad, 0x08,
- 0x7b, 0x23, 0x39, 0xb9,
- 0x3f, 0x11, 0x20, 0x45, 0x5c, 0x45, 0x4f, 0xcb, 0xcf, 0x5f, 0xaa, 0xd7,
- 0x91, 0x5c, 0xa3, 0x4d,
- 0xae, 0x4c, 0x32, 0xa6, 0x07, 0xa6, 0xe1, 0xbe, 0x29, 0xf8, 0xbd, 0xdd,
- 0x84, 0x07, 0x05, 0x4b,
- 0x10, 0x21, 0x0a, 0xa0, 0x62, 0xa0, 0x0b, 0xb3, 0x23, 0x0e, 0x89, 0xc5,
- 0x09, 0x62, 0x4e, 0x43,
- 0x46, 0xb0, 0x5b, 0xf9, 0x2f, 0xf9, 0x67, 0xfb, 0xc8, 0xab, 0x6a, 0x62,
- 0x1f, 0x2f, 0x70, 0x9f,
- 0x6c, 0xae, 0xda, 0x3e, 0x47, 0x3e, 0xac, 0xc8, 0x42, 0xc1, 0xa6, 0xf8,
- 0x40, 0x47, 0xb2, 0xe9,
- 0xbc, 0xc0, 0xa8, 0x12, 0xf8, 0x12, 0xd3, 0x23, 0x36, 0x87, 0x8c, 0x48,
- 0x25, 0xf8, 0x32, 0x38,
- 0x68, 0x37, 0x39, 0x16, 0xbe, 0x16, 0xde, 0x94, 0x3a, 0x23, 0x15, 0x58,
- 0xd3, 0xbe, 0x40, 0x89,
- 0x0b, 0xeb, 0xdd, 0x4e, 0x03, 0x4e, 0x20, 0x81, 0xd2, 0xaf, 0x41, 0xfb,
- 0x19, 0x03, 0x83, 0xe8,
- 0x3e, 0xa6, 0x68, 0x4f, 0xf3, 0x4f, 0xb2, 0xdc, 0xd1, 0x86, 0xf6, 0xff,
- 0xc5, 0xf3, 0x7e, 0x55,
- 0xfe, 0xe9, 0x10, 0xc3, 0x2e, 0xc3, 0xc6, 0x84, 0x86, 0xce, 0x55, 0x8a,
- 0xa9, 0x2e, 0xb0, 0xc7,
- 0xa9, 0xcf, 0x09, 0x90, 0xcc, 0x90, 0x57, 0xdb, 0x73, 0xb2, 0xea, 0x05,
- 0xeb, 0xcc, 0x53, 0x03,
- 0x28, 0xb3, 0x11, 0xd3, 0xf5, 0xd3, 0xf2, 0x1d, 0xb6, 0x1b, 0x74, 0xca,
- 0xf7, 0xf5, 0xbb, 0x46,
- 0x7c, 0x8f, 0xd0, 0x9e, 0x25, 0x9e, 0xa7, 0x7b, 0x61, 0xcf, 0x2f, 0x3d,
- 0x49, 0x25, 0xfc, 0xaa,
- 0xf2, 0x81, 0xf6, 0xbb, 0xe6, 0xbb, 0x50, 0x60, 0x0e, 0x2b, 0x43, 0xa9,
- 0xdf, 0xe6, 0x65, 0x67,
- 0xbf, 0xda, 0x70, 0x0c, 0xca, 0x0c, 0x17, 0x1a, 0x14, 0x2f, 0x68, 0x30,
- 0xd9, 0xca, 0x96, 0x10,
- 0xf4, 0xb5, 0x85, 0x87, 0x82, 0x87, 0x1b, 0x12, 0x4a, 0xb8, 0x48, 0x59,
- 0xe4, 0x82, 0xee, 0x37,
- 0xcb, 0xa4, 0xa5, 0xc2, 0xde, 0xc2, 0x54, 0xd9, 0x85, 0xe7, 0xe2, 0x8e,
- 0x75, 0xde, 0x4d, 0x7a,
- 0x06, 0x34, 0x73, 0x3c, 0x64, 0x3c, 0x4b, 0x72, 0x44, 0x93, 0x0b, 0xf0,
- 0x3b, 0x64, 0x8b, 0x50,
- 0xf8, 0xdd, 0x63, 0xff, 0x4a, 0xff, 0x8d, 0xf6, 0xc2, 0x5d, 0x5e, 0x7a,
- 0x92, 0x4a, 0x3b, 0x97,
- 0xbd, 0x77, 0xe0, 0x18, 0x57, 0x18, 0x2e, 0x34, 0x28, 0x5e, 0xd0, 0x60,
- 0x71, 0x57, 0xef, 0x20,
- 0x75, 0xc9, 0x9d, 0xc4, 0xbb, 0xc4, 0xbe, 0xd4, 0x8f, 0x11, 0xd6, 0x96,
- 0xf8, 0xbb, 0x06, 0x72,
- 0x03, 0x1a, 0xd8, 0x1e, 0x32, 0x1e, 0xc4, 0x39, 0x22, 0xa8, 0xe4, 0x78,
- 0xfc, 0x32, 0xa4, 0x28,
- 0x4c, 0xec, 0xce, 0xbd, 0x83, 0xbd, 0xba, 0x6d, 0x04, 0xdd, 0x77, 0xb1,
- 0x52, 0x83, 0x2e, 0x6f,
- 0x4b, 0x6f, 0xf5, 0x8b, 0x48, 0x8b, 0x0c, 0x08, 0x5e, 0x97, 0x20, 0x69,
- 0x3d, 0x48, 0x78, 0x27,
- 0xc0, 0x4f, 0x78, 0x8c, 0xdd, 0x8c, 0x74, 0x58, 0x57, 0x48, 0xa3, 0x75,
- 0x6c, 0xdd, 0xce, 0x92,
- 0x04, 0x99, 0xe3, 0x28, 0xf9, 0x28, 0x72, 0x5c, 0x78, 0xe2, 0xb3, 0xa0,
- 0x93, 0xf9, 0xf2, 0x60,
- 0xb3, 0xb2, 0x96, 0x74, 0x02, 0x74, 0x81, 0xfe, 0x9c, 0xca, 0x7e, 0x13,
- 0xaf, 0x02, 0x43, 0xb0,
- 0xb6, 0x9c, 0x3d, 0x56, 0x54, 0x56, 0x0e, 0xb5, 0xfa, 0xf1, 0x91, 0x9b,
- 0x68, 0x54, 0x6c, 0xc8,
- 0x51, 0x12, 0x6a, 0x6f, 0x86, 0x6f, 0xda, 0x2d, 0xb1, 0xef, 0xb4, 0x7f,
- 0x79, 0x86, 0x68, 0x94,
- 0xeb, 0xe6, 0xb1, 0x41, 0x1a, 0x41, 0x42, 0x7c, 0xc3, 0xfb, 0x33, 0xc7,
- 0x67, 0x1a, 0xd1, 0xfc,
- 0x98, 0x1b, 0x5f, 0xb9, 0xc5, 0xb9, 0xb7, 0xda, 0x08, 0x79, 0xee, 0xa1,
- 0xa4, 0xc5, 0x5c, 0xde,
- 0x23, 0x58, 0xcc, 0x9d, 0xf6, 0x9d, 0xd2, 0x9c, 0x64, 0xb4, 0x35, 0x31,
- 0xee, 0xf6, 0x38, 0xae,
- 0xab, 0x62, 0x99, 0x84, 0x51, 0x84, 0x6e, 0xf5, 0x4f, 0xc3, 0x52, 0x55,
- 0x43, 0x51, 0x2a, 0x33,
- 0xb2, 0x05, 0xde, 0x7e, 0xad, 0x7e, 0x7c, 0xe9, 0x82, 0x13, 0x22, 0x3b,
- 0xfb, 0xad, 0x9e, 0xa8,
- 0x99, 0xac, 0x17, 0xb3, 0x6a, 0xb3, 0x4a, 0xcd, 0x16, 0xa0, 0xb2, 0x89,
- 0xf0, 0x6a, 0x81, 0xc6,
- 0x89, 0x8d, 0x1d, 0x13, 0x08, 0x13, 0x41, 0x7e, 0x35, 0xae, 0x3b, 0x4c,
- 0xf9, 0x08, 0xcf, 0x85,
- 0xdf, 0x1c, 0x4c, 0x4a, 0x45, 0x4a, 0x2d, 0x36, 0xde, 0x0b, 0xd8, 0xeb,
- 0xef, 0x45, 0xf1, 0x59,
- 0x0d, 0xdf, 0xae, 0x72, 0x67, 0x72, 0x6b, 0xf3, 0x96, 0x3c, 0x4a, 0x0b,
- 0x22, 0x67, 0x08, 0xb8,
- 0x31, 0xd4, 0x56, 0x29, 0x09, 0x29, 0xe0, 0x01, 0x7b, 0xcb, 0x04, 0xa4,
- 0x4f, 0x09, 0x0f, 0xdd,
- 0x70, 0xe7, 0x36, 0xe6, 0xed, 0xe6, 0x31, 0x9f, 0xe9, 0x2a, 0x39, 0x1e,
- 0x3f, 0xed, 0x29, 0x0a,
- 0x73, 0xfd, 0xee, 0xf8, 0xdf, 0xf8, 0xf5, 0xa6, 0xcb, 0x82, 0xdd, 0x66,
- 0xc3, 0xdf, 0x8d, 0x22,
- 0x1d, 0xfe, 0xa4, 0xd2, 0x05, 0xd2, 0x60, 0x40, 0xb5, 0x32, 0xc3, 0xce,
- 0x2b, 0x05, 0x46, 0xfb,
- 0x8d, 0x14, 0xfe, 0x3b, 0xf1, 0x3b, 0x33, 0x22, 0x4d, 0x4c, 0x88, 0xec,
- 0x6a, 0xf1, 0x3d, 0xe5,
- 0xf1, 0x9b, 0x2e, 0xa5, 0xd4, 0xa5, 0x94, 0x59, 0x2c, 0x83, 0xa7, 0xd1,
- 0x23, 0xd4, 0xc1, 0x4f,
- 0x7d, 0x38, 0x98, 0x94, 0x8a, 0x94, 0x5a, 0x6c, 0x7f, 0x16, 0x73, 0x15,
- 0x1d, 0x8a, 0x21, 0xb2,
- 0x17, 0xa2, 0x31, 0x96, 0xa9, 0x96, 0xbd, 0xd6, 0x79, 0x44, 0xde, 0x1d,
- 0x66, 0xa9, 0x18, 0x0b,
- 0x2c, 0x2a, 0xf2, 0xfb, 0x0c, 0xfb, 0x80, 0x41, 0xce, 0xf9, 0xc7, 0x6a,
- 0x64, 0x0c, 0x49, 0x26,
- 0x35, 0x4d, 0xb5, 0x01, 0xf0, 0x01, 0x92, 0x5d, 0x03, 0x29, 0xb7, 0x04,
- 0xdc, 0xf0, 0xfd, 0xbd,
- 0x88, 0x3a, 0x55, 0x19, 0xa7, 0x19, 0xbc, 0x69, 0x2b, 0x77, 0x67, 0x64,
- 0xad, 0xa7, 0x12, 0x9d,
- 0x67, 0x45, 0x07, 0x70, 0x44, 0x70, 0x8c, 0x49, 0x90, 0x6e, 0xe7, 0x03,
- 0x59, 0x44, 0x31, 0x01,
- 0xe1, 0xba, 0x24, 0x05, 0xb6, 0x05, 0x9f, 0xea, 0x0f, 0x8d, 0x2e, 0x14,
- 0x2a, 0xb6, 0x8f, 0x0c,
- 0xb5, 0x86, 0xe5, 0x48, 0x66, 0x48, 0xca, 0x8c, 0xd8, 0x59, 0x75, 0xe3,
- 0x94, 0x66, 0xc8, 0xe0,
- 0x64, 0x5f, 0xdf, 0x6e, 0x76, 0x6e, 0x48, 0x70, 0xb2, 0xc6, 0x03, 0x7b,
- 0xa5, 0x76, 0x95, 0x29,
- 0xb1, 0x1f, 0x06, 0x60, 0x9f, 0x60, 0xb8, 0xd0, 0xa0, 0xbb, 0xc6, 0x43,
- 0x07, 0x9f, 0x3a, 0x80,
- 0x08, 0xf1, 0x05, 0x50, 0x31, 0x50, 0xe4, 0xb8, 0xf0, 0x07, 0xa5, 0x83,
- 0xe5, 0x31, 0x27, 0xc0,
- 0xe5, 0x23, 0xc7, 0x2d, 0x4f, 0x2d, 0xed, 0xb6, 0x77, 0x6f, 0x9d, 0xb4,
- 0xb9, 0x4f, 0x7d, 0x6c,
- 0x1c, 0x49, 0xec, 0xd8, 0xaa, 0xd8, 0x9d, 0x57, 0xab, 0xeb, 0x9f, 0xe6,
- 0x7f, 0xaa, 0x9b, 0xe3,
- 0x6b, 0x2d, 0xe1, 0x08, 0x8c, 0x08, 0x1a, 0xad, 0x18, 0x8b, 0xf1, 0x20,
- 0x2f, 0x8c, 0xe4, 0xa1,
- 0x5c, 0xcd, 0xc4, 0x1d, 0xe1, 0x1d, 0xb1, 0xde, 0x27, 0xd3, 0xfe, 0x74,
- 0x5b, 0xe1, 0x60, 0x2c,
- 0xa3, 0x93, 0x9c, 0xd4, 0x60, 0xd4, 0x8a, 0x4d, 0xbf, 0xc4, 0xf7, 0xd6,
- 0xa6, 0x60, 0x0d, 0xf3,
- 0x7a, 0xbb, 0xa3, 0xa2, 0x41, 0xa2, 0xec, 0x09, 0x25, 0x5c, 0x24, 0xcd,
- 0x72, 0x41, 0x77, 0xfa,
- 0xe8, 0xfc, 0x69, 0x5f, 0x28, 0x5f, 0x86, 0x45, 0xe1, 0x53, 0xd7, 0xbf,
- 0x9b, 0x28, 0x75, 0xd4,
- 0xda, 0x32, 0xe7, 0x68, 0x13, 0x68, 0xa2, 0x7d, 0xb8, 0x30, 0x37, 0x63,
- 0x28, 0x13, 0xde, 0x21,
- 0xd7, 0xed, 0x49, 0x1a, 0x74, 0x1a, 0xc9, 0x8e, 0x2e, 0x0c, 0x7d, 0x68,
- 0x0a, 0x74, 0xd6, 0x99,
- 0xfa, 0x70, 0xf3, 0xeb, 0xd7, 0xeb, 0xb4, 0xd8, 0xfe, 0x2c, 0xe6, 0x2a,
- 0x3a, 0xd7, 0x42, 0xa7,
- 0xa7, 0x0a, 0x7f, 0xfc, 0x99, 0xfc, 0xf8, 0x11, 0xc7, 0x26, 0x44, 0x76,
- 0x35, 0x99, 0xff, 0x93,
- 0x7f, 0x95, 0x08, 0x80, 0x17, 0x80, 0x63, 0x42, 0x43, 0x67, 0xcb, 0x45,
- 0xb5, 0x17, 0x58, 0x82,
- 0xe4, 0x94, 0x8f, 0x27, 0xe0, 0x27, 0x10, 0xa1, 0x69, 0xb6, 0xc1, 0x9c,
- 0xed, 0xe0, 0xa0, 0x74,
- 0x8f, 0xb9, 0x6e, 0x2f, 0x6c, 0x2f, 0x0a, 0x0c, 0x71, 0x3d, 0x30, 0xbc,
- 0xc2, 0x6c, 0x44, 0xd5,
- 0xa1, 0x3e, 0x0c, 0xc0, 0xfd, 0xc0, 0xb3, 0x63, 0x83, 0xb5, 0x4f, 0x86,
- 0x0e, 0xfd, 0x74, 0xc3,
- 0x52, 0x08, 0xb2, 0x71, 0xb4, 0x71, 0x1e, 0x14, 0x93, 0x47, 0x50, 0x07,
- 0x85, 0xb4, 0xcc, 0xbc,
- 0xec, 0x65, 0x8a, 0x77, 0xd1, 0x77, 0xf4, 0x19, 0x99, 0xb1, 0x64, 0x1f,
- 0x08, 0xd1, 0x87, 0xb4,
- 0x3b, 0x88, 0xc3, 0x6d, 0xa5, 0x6d, 0x3d, 0x97, 0xb7, 0xbd, 0x19, 0x77,
- 0x02, 0xa5, 0x51, 0x2d,
- 0xa2, 0x24, 0xd4, 0xde, 0xcf, 0xde, 0x77, 0x5a, 0xa1, 0x1d, 0xab, 0xfe,
- 0xf2, 0xcf, 0xd0, 0xeb,
- 0x5f, 0xd7, 0x1c, 0x03, 0xd3, 0x03, 0x75, 0xe7, 0x05, 0x7b, 0x1a, 0x0c,
- 0xa7, 0xd3, 0xc4, 0x04,
- 0x50, 0xa5, 0x22, 0x65, 0x29, 0x65, 0x27, 0x3a, 0xaf, 0x36, 0xe8, 0x57,
- 0x2d, 0x29, 0xb5, 0x8c,
- 0x4a, 0xd8, 0xbd, 0x81, 0xe7, 0x81, 0xf1, 0x1f, 0x40, 0x4e, 0x7c, 0x41,
- 0x69, 0xe7, 0xa5, 0x3f,
- 0x57, 0x26, 0x19, 0x53, 0xe2, 0x53, 0x91, 0x5f, 0xf5, 0x7c, 0xbf, 0x8f,
- 0x42, 0xe2, 0xe3, 0xc4,
- 0x55, 0x8b, 0x89, 0x47, 0x7f, 0x47, 0xa8, 0x71, 0xc9, 0x0d, 0x07, 0xdf,
- 0xea, 0x7f, 0x9a, 0xf4,
- 0xdc, 0x06, 0x94, 0x54, 0x77, 0x54, 0xe9, 0x0f, 0xfc, 0xa3, 0x3c, 0x93,
- 0x13, 0x77, 0x55, 0x71,
- 0xde, 0xab, 0x04, 0x40, 0xea, 0x40, 0xd0, 0x21, 0xc0, 0xd2, 0x84, 0xc3,
- 0xbb, 0xea, 0x2c, 0x41,
- 0x9d, 0x35, 0xf4, 0x9b, 0x93, 0x9b, 0x38, 0x91, 0x6e, 0x42, 0x01, 0x29,
- 0x63, 0x93, 0x73, 0xa6,
- 0xe7, 0x8e, 0x57, 0x39, 0xd2, 0x39, 0xd4, 0x98, 0x4b, 0x1e, 0x25, 0xe4,
- 0x11, 0xd2, 0x04, 0x5c,
- 0xaf, 0xfb, 0x7a, 0xac, 0xa8, 0xac, 0x1c, 0xa9, 0x37, 0x21, 0xe1, 0xf5,
- 0xd0, 0xa8, 0xd8, 0x53,
- 0x97, 0x69, 0x61, 0xdf, 0x3f, 0xdf, 0xe5, 0x07, 0xa2, 0x34, 0x1c, 0xfa,
- 0x2e, 0x3f, 0x2d, 0x56,
- 0xaa, 0xd5, 0xd1, 0x8e, 0xfe, 0x8e, 0x93, 0xe2, 0x51, 0x1a, 0x0e, 0x7d,
- 0x17, 0xfe, 0xf7, 0x2b,
- 0x26, 0x76, 0x67, 0xbf, 0xa0, 0xbf, 0x5d, 0xd7, 0x02, 0x8f, 0xda, 0xb9,
- 0x29, 0xa0, 0x17, 0xd6,
- 0x4d, 0x5b, 0x86, 0xb7, 0x2c, 0xb7, 0x47, 0x7a, 0x1a, 0x04, 0x2b, 0x99,
- 0x06, 0x2c, 0xf3, 0x77,
- 0x54, 0x3c, 0xc1, 0x4d, 0xd0, 0x4d, 0x55, 0x66, 0xd7, 0xd4, 0x5b, 0xf7,
- 0xbe, 0xd0, 0x47, 0xec,
- 0xf7, 0xaf, 0x5d, 0x99, 0xb0, 0x99, 0xdf, 0x2b, 0x68, 0x10, 0xac, 0x21,
- 0x18, 0xb0, 0x4a, 0x1f,
- 0xd9, 0x28, 0x3f, 0x76, 0x21, 0x76, 0x66, 0x44, 0x9a, 0x98, 0xd3, 0x1b,
- 0xd4, 0x21, 0x7a, 0x09,
- 0x84, 0x52, 0xb3, 0x61, 0x6f, 0x61, 0x2a, 0x8d, 0xa3, 0x92, 0x71, 0x47,
- 0xdb, 0x6f, 0xc7, 0x3d,
- 0x41, 0x33, 0x60, 0xcf, 0xe4, 0xcf, 0xd1, 0x9e, 0x92, 0xe1, 0x3d, 0xba,
- 0x70, 0xe4, 0x26, 0xd7,
- 0x82, 0x66, 0xc0, 0x5d, 0x0b, 0x5d, 0x61, 0xff, 0xe7, 0x01, 0x7a, 0xb7,
- 0xe0, 0x0b, 0x4c, 0x6d,
- 0xd6, 0x5a, 0x01, 0x10, 0xdb, 0x10, 0x34, 0x99, 0x30, 0xd5, 0x21, 0x40,
- 0x5e, 0xdb, 0x0b, 0x81,
- 0xb7, 0x2b, 0x75, 0x5c, 0xfb, 0x5c, 0xf3, 0xa2, 0xe4, 0x28, 0xcd, 0xb3,
- 0x3c, 0xfb, 0xb1, 0xd0,
- 0xdb, 0x85, 0xaf, 0x62, 0xbc, 0x62, 0x5f, 0x6a, 0xa6, 0xe9, 0x6b, 0x4b,
- 0x7c, 0xbc, 0x03, 0x39,
- 0x2b, 0xa9, 0xc9, 0xcd, 0xc7, 0xcd, 0x36, 0x24, 0x94, 0xb3, 0x90, 0xb2,
- 0x0b, 0xc7, 0x1f, 0x6e,
- 0xa6, 0xbd, 0x37, 0xf6, 0x36, 0xf6, 0x05, 0x06, 0xd9, 0xff, 0x18, 0x5e,
- 0x61, 0x36, 0x22, 0x8b,
- 0x38, 0x92, 0x1b, 0x73, 0x97, 0x73, 0xf9, 0xae, 0x95, 0x15, 0xfd, 0x0f,
- 0xfe, 0x97, 0xf5, 0x05,
- 0xce, 0x8a, 0x0e, 0xe0, 0x88, 0xe0, 0xdb, 0x92, 0xe3, 0xdc, 0x0d, 0x06,
- 0xb2, 0x88, 0x62, 0x02,
- 0x95, 0xc4, 0xf1, 0xcb, 0xa2, 0xcb, 0xdc, 0x29, 0x9e, 0x45, 0xa4, 0xaa,
- 0x86, 0xa2, 0x54, 0x66,
- 0x71, 0x50, 0x7e, 0xec, 0x42, 0xec, 0xcc, 0x88, 0xf7, 0xf3, 0x65, 0x36,
- 0x6b, 0x42, 0xf4, 0x12,
- 0xc3, 0x55, 0xa0, 0x92, 0xef, 0x92, 0xb0, 0x61, 0x75, 0xe0, 0x47, 0x0d,
- 0x90, 0xef, 0x6a, 0xba,
- 0x8e, 0x0e, 0x26, 0x25, 0xc3, 0x25, 0xf7, 0x1b, 0x6f, 0xe4, 0x6c, 0x94,
- 0x96, 0xc3, 0x99, 0xcd,
- 0x9a, 0xb6, 0xcf, 0xad, 0x58, 0xad, 0x8e, 0xf4, 0x34, 0x08, 0x56, 0xf1,
- 0x0c, 0x58, 0x25, 0xee,
- 0xef, 0x7f, 0x52, 0x69, 0xe3, 0x69, 0x30, 0x20, 0xbb, 0x19, 0x80, 0x67,
- 0xf4, 0xe3, 0x23, 0x9c,
- 0x25, 0x6c, 0xbf, 0xa1, 0x92, 0xa1, 0x99, 0xee, 0x20, 0x27, 0x3e, 0xc1,
- 0xd5, 0x92, 0xb3, 0xfe,
- 0xa4, 0x10, 0xa7, 0xe2, 0xab, 0xe2, 0x3c, 0x28, 0xe5, 0x8e, 0xa0, 0x0e,
- 0xc9, 0xab, 0x5b, 0xbb,
- 0xe9, 0x4b, 0x21, 0x55, 0x87, 0x55, 0x7b, 0x52, 0xff, 0x8a, 0x8b, 0x97,
- 0xcf, 0x87, 0xa8, 0xcc,
- 0x3c, 0x0b, 0xf8, 0x5b, 0x6e, 0x5b, 0x8b, 0xf2, 0xed, 0xf7, 0x4e, 0xaf,
- 0x6d, 0x6e, 0x07, 0x65,
- 0x6f, 0xb4, 0x02, 0x20, 0x75, 0x20, 0x68, 0xf1, 0x60, 0x69, 0x42, 0x80,
- 0xbc, 0x75, 0x16, 0xc1,
- 0x02, 0xad, 0x90, 0x14, 0x9d, 0x14, 0x39, 0x2e, 0x3c, 0x71, 0xb8, 0x50,
- 0xa8, 0x9d, 0x79, 0x30,
- 0x01, 0xb7, 0x48, 0x0a, 0xaf, 0x0a, 0xfd, 0x17, 0x1e, 0xd9, 0x5c, 0x28,
- 0x54, 0xaf, 0xdd, 0x18,
- 0x0a, 0x5c, 0x95, 0x44, 0xac, 0x44, 0xdd, 0x96, 0xcc, 0x76, 0x1d, 0xd3,
- 0x4d, 0xac, 0x5e, 0xf0,
- 0x09, 0x46, 0x4d, 0x5a, 0x9e, 0x5a, 0x19, 0xaf, 0xee, 0xde, 0xf9, 0xab,
- 0xb1, 0x9e, 0xfa, 0xd8,
- 0x94, 0x73, 0xb9, 0xc1, 0x0d, 0xc1, 0x21, 0x3e, 0x80, 0x9c, 0xf8, 0x82,
- 0xd2, 0x0d, 0x89, 0x7e,
- 0xed, 0xd2, 0xc2, 0x7d, 0x7e, 0x7d, 0x09, 0x0e, 0x87, 0x68, 0x38, 0x37,
- 0x5c, 0x7e, 0x5a, 0xac,
- 0x59, 0xe3, 0x6f, 0x3f, 0xb7, 0x3f, 0x3e, 0x95, 0x41, 0xe8, 0x11, 0xfc,
- 0x9c, 0xb7, 0x4f, 0x54,
- 0x61, 0x71, 0x74, 0x4c, 0x20, 0x4c, 0xc7, 0x3b, 0xd4, 0xfd, 0xec, 0xf3,
- 0x62, 0x20, 0xba, 0x51,
- 0x69, 0x80, 0x71, 0x1c, 0x11, 0x1c, 0x23, 0x83, 0x24, 0xfa, 0x49, 0x70,
- 0x87, 0x11, 0x9d, 0x91,
- 0x29, 0x04, 0x59, 0xd9, 0x5a, 0xd9, 0x0f, 0x0a, 0xa8, 0xc2, 0x28, 0xe2,
- 0xa3, 0x5a, 0x66, 0x5e,
- 0xb0, 0xa8, 0x4e, 0x6a, 0x30, 0x6a, 0x45, 0xc7, 0xbe, 0x62, 0x9a, 0x6b,
- 0x53, 0x30, 0xe7, 0x98,
- 0x30, 0x63, 0x1e, 0x23, 0xa6, 0x23, 0x1d, 0x16, 0x65, 0x12, 0x58, 0x8c,
- 0x1b, 0xa6, 0xd2, 0xc5,
- 0x60, 0xc6, 0x3c, 0x46, 0x8f, 0x46, 0x3a, 0x2c, 0xca, 0x24, 0xb0, 0xdb,
- 0x36, 0x8f, 0x67, 0x49,
- 0x74, 0x7e, 0xd5, 0xce, 0x14, 0xce, 0x43, 0xc3, 0x91, 0xc8, 0x8a, 0xbe,
- 0xac, 0x14, 0xdb, 0x6a,
- 0x22, 0xef, 0x84, 0x97, 0x59, 0x97, 0x2f, 0x8b, 0x7a, 0x6d, 0x69, 0x19,
- 0xba, 0x59, 0xe5, 0xb6,
- 0x0c, 0x68, 0xe6, 0x78, 0xc8, 0x78, 0x96, 0xe4, 0x88, 0xe5, 0x16, 0x23,
- 0x76, 0xc8, 0xd5, 0xa0,
- 0xcd, 0x90, 0xd6, 0xfe, 0xba, 0xfe, 0x1f, 0xab, 0xc1, 0x74, 0xe9, 0x7e,
- 0x4e, 0xba, 0xc6, 0x2a,
- 0x7b, 0x0c, 0xeb, 0xa8, 0xee, 0xa8, 0x11, 0x1e, 0x3b, 0x85, 0x78, 0xe5,
- 0x26, 0xee, 0xaa, 0xe2,
- 0x5b, 0x4e, 0xff, 0x2b, 0x2a, 0x2b, 0x07, 0xbb, 0x7d, 0x99, 0xa9, 0xac,
- 0x34, 0x2a, 0x36, 0x64,
- 0x40, 0x84, 0x28, 0xc5, 0x4b, 0xc5, 0x2c, 0x89, 0x8c, 0x38, 0x61, 0x92,
- 0x24, 0x4b, 0xfb, 0xcf,
- 0xe3, 0x17, 0xb4, 0x11, 0x2b, 0x11, 0xa6, 0xc4, 0x33, 0xfc, 0x96, 0x44,
- 0x82, 0x2b, 0xf6, 0x3c,
- 0x14, 0xb8, 0xe9, 0x88, 0x9b, 0x88, 0x79, 0xef, 0x5b, 0xec, 0x3a, 0x65,
- 0x9a, 0x9b, 0xbc, 0x23,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xfd, 0xf3, 0xc8, 0xdd, 0x1c, 0xdd, 0x02, 0xbd, 0xa4, 0x66, 0xb1, 0xf2,
- 0x55, 0x1c, 0x14, 0xef,
- 0x78, 0x16, 0x33, 0xb6, 0xdc, 0xb6, 0xd5, 0x27, 0x19, 0x2d, 0x9c, 0x9d,
- 0xda, 0xdc, 0x0e, 0xca,
- 0xad, 0x56, 0xea, 0xb8, 0x35, 0xb8, 0x25, 0x87, 0x0b, 0x50, 0x59, 0xa5,
- 0x78, 0x35, 0xa1, 0x63,
- 0xd0, 0x6e, 0x72, 0x2c, 0xbf, 0x2c, 0x7f, 0xeb, 0x74, 0x46, 0x2a, 0xb0,
- 0x65, 0xbf, 0x80, 0xd1,
- 0x91, 0x5d, 0x12, 0xe3, 0x5b, 0xe3, 0xae, 0x75, 0xe6, 0xa7, 0x17, 0x0a,
- 0x15, 0x5b, 0xa6, 0x06,
- 0xfc, 0x44, 0x80, 0xd7, 0xb3, 0xd7, 0xff, 0xaa, 0xba, 0xbf, 0xed, 0xda,
- 0x01, 0xb3, 0xc9, 0xf7,
- 0xf9, 0x6a, 0x2b, 0xf5, 0xe5, 0xf5, 0x70, 0xe1, 0xdc, 0x84, 0x02, 0x52,
- 0xc6, 0xe5, 0xe6, 0x8f,
- 0xea, 0x51, 0xf9, 0x4b, 0xb5, 0x4b, 0xbf, 0x6b, 0xdd, 0x22, 0x6f, 0xef,
- 0x33, 0xb5, 0x0c, 0xe4,
- 0x85, 0xe5, 0xfb, 0x6b, 0xc0, 0x6b, 0xd7, 0x9a, 0xbd, 0x4b, 0x2d, 0x6f,
- 0x8f, 0xc0, 0x1a, 0x25,
- 0x7e, 0x22, 0x40, 0x8a, 0xb8, 0x8a, 0x9e, 0x55, 0x5d, 0xbe, 0x97, 0x6d,
- 0xe1, 0xb8, 0x85, 0x9a,
- 0x77, 0x64, 0x0d, 0xd0, 0x26, 0xd0, 0x87, 0xfa, 0xb3, 0x60, 0x6e, 0xc6,
- 0x50, 0x26, 0x7f, 0x42,
- 0xc7, 0xcc, 0x43, 0xba, 0x16, 0xba, 0xc2, 0x3d, 0x0d, 0x02, 0xf4, 0xad,
- 0x03, 0x16, 0x98, 0xda,
- 0xc5, 0x61, 0xd3, 0xae, 0x8b, 0xae, 0xfb, 0x13, 0x31, 0x73, 0x4c, 0xfd,
- 0xab, 0x8b, 0xe1, 0xea,
- 0x5d, 0x7a, 0x8c, 0x17, 0x4e, 0x17, 0x4c, 0xc9, 0x39, 0x0a, 0xa2, 0x5c,
- 0x0f, 0x4e, 0xbd, 0x34,
- 0x3a, 0x3f, 0x8b, 0x67, 0x0a, 0x67, 0xc0, 0x80, 0xa9, 0x64, 0x45, 0x5f,
- 0x56, 0x0a, 0x8c, 0x35,
- 0xd5, 0x40, 0xd9, 0x0e, 0xe9, 0x0e, 0xf0, 0xa0, 0x12, 0x7d, 0xc5, 0x38,
- 0xa2, 0xe9, 0xaf, 0xa9,
- 0x66, 0xf2, 0x4f, 0x7a, 0xeb, 0x7a, 0x71, 0x5e, 0x8e, 0xb7, 0xbb, 0x2b,
- 0x0d, 0xeb, 0xec, 0x19,
- 0x8b, 0x20, 0x8d, 0x07, 0x95, 0x07, 0x78, 0x50, 0x09, 0xdf, 0x83, 0x1c,
- 0x51, 0x95, 0xb6, 0xb5,
- 0x49, 0xc2, 0x65, 0x9f, 0xd5, 0x9f, 0x35, 0x26, 0x62, 0xe6, 0x98, 0x39,
- 0x95, 0xd5, 0x01, 0x17,
- 0xc2, 0xe2, 0xe8, 0x98, 0x40, 0x98, 0x4d, 0x76, 0x6b, 0x39, 0x1b, 0x25,
- 0xc4, 0x40, 0xb7, 0xa2,
- 0xc6, 0x7b, 0x0b, 0xb0, 0xb9, 0xb0, 0x3f, 0x2a, 0x13, 0xdb, 0xa8, 0x85,
- 0x57, 0xb9, 0x45, 0xc2,
- 0x56, 0x91, 0x51, 0x59, 0x4d, 0x59, 0x6c, 0x48, 0xeb, 0xa5, 0xe3, 0xa7,
- 0x16, 0x4d, 0x3e, 0xdc,
- 0x4e, 0x41, 0x5e, 0xa9, 0x1e, 0xa9, 0x83, 0x43, 0x38, 0xac, 0xcf, 0xe1,
- 0xfa, 0x1e, 0x57, 0x5f,
- 0x27, 0xc1, 0x2f, 0xb5, 0x0f, 0xb5, 0xa0, 0xc0, 0x1c, 0x56, 0x86, 0x91,
- 0x7d, 0x0f, 0xca, 0xce,
- 0xe6, 0x39, 0x1f, 0x33, 0x7d, 0x33, 0x29, 0x8f, 0x55, 0xc7, 0x79, 0xcc,
- 0x45, 0x7d, 0xd9, 0x44,
- 0x93, 0xf0, 0x82, 0xf7, 0xc6, 0xf7, 0x97, 0x5b, 0xda, 0xd6, 0xaf, 0x5a,
- 0xbd, 0xc6, 0xdf, 0x36,
- 0xbb, 0x43, 0x93, 0x24, 0x33, 0x24, 0x65, 0x46, 0x6c, 0xcd, 0xdb, 0x90,
- 0x4a, 0x33, 0x64, 0x70,
- 0xd1, 0xd9, 0x3a, 0x26, 0x10, 0x26, 0x82, 0xfc, 0x6a, 0x9f, 0x76, 0x98,
- 0x31, 0x10, 0x5d, 0xc9,
- 0x63, 0xdc, 0xe4, 0x58, 0xbd, 0x58, 0xfe, 0x15, 0xe8, 0x8c, 0x54, 0xa3,
- 0xca, 0xbd, 0xc3, 0x61,
- 0xc1, 0xf8, 0x30, 0x86, 0x72, 0x86, 0x89, 0x4f, 0x49, 0x91, 0xff, 0x5d,
- 0x38, 0x72, 0x13, 0x8a,
- 0x45, 0xaa, 0x83, 0xe7, 0x1d, 0xe7, 0xa3, 0xc2, 0xea, 0x03, 0x8e, 0x1a,
- 0xe3, 0x1d, 0xd4, 0xb7,
- 0xc8, 0xbe, 0x7d, 0xdc, 0xec, 0xdc, 0x90, 0xe0, 0xa7, 0x4f, 0x06, 0xf6,
- 0x89, 0xec, 0xe9, 0x52,
- 0x16, 0x15, 0x79, 0x9c, 0x06, 0x9c, 0x40, 0xc1, 0x67, 0x9d, 0x82, 0x35,
- 0x32, 0x06, 0xc5, 0x13,
- 0x1b, 0xca, 0xd7, 0xee, 0x61, 0xee, 0x2b, 0x32, 0xf1, 0xa1, 0xc8, 0x3e,
- 0x10, 0x61, 0xcd, 0xab,
- 0x20, 0x42, 0x14, 0x83, 0xc4, 0x83, 0x16, 0xa5, 0x46, 0x1c, 0xd1, 0x49,
- 0x12, 0xc4, 0x9c, 0x86,
- 0x9b, 0x01, 0x87, 0xa7, 0xf7, 0xa7, 0x73, 0xe3, 0x2a, 0xd1, 0x0a, 0xd9,
- 0x58, 0xf7, 0xf8, 0xf6,
- 0xf3, 0x36, 0xbe, 0xb1, 0x49, 0xb1, 0xad, 0x77, 0x10, 0xf2, 0x1f, 0x81,
- 0x8b, 0x49, 0xb8, 0x7f,
- 0xb8, 0x59, 0x4b, 0x3a, 0x01, 0x3a, 0xa1, 0x7f, 0x4e, 0x65, 0x3f, 0xe8,
- 0xb6, 0x01, 0xc0, 0x58,
- 0xf0, 0x2c, 0x66, 0xaf, 0x7b, 0xaf, 0x69, 0x4e, 0x32, 0x5a, 0xfb, 0xf9,
- 0x77, 0x7b, 0x1c, 0x57,
- 0x2f, 0x30, 0x2a, 0xe5, 0x3e, 0xe5, 0x44, 0x78, 0xec, 0x51, 0x23, 0x12,
- 0x98, 0x3e, 0xed, 0x0e,
- 0xba, 0xf4, 0xdb, 0x2e, 0x9c, 0x2e, 0x98, 0x51, 0x72, 0x14, 0x87, 0xb8,
- 0x1e, 0x9c, 0xb9, 0x68,
- 0x4f, 0xf6, 0x16, 0xa3, 0xb1, 0xa3, 0x7e, 0x54, 0x26, 0x75, 0x93, 0xc9,
- 0xae, 0xb1, 0x8a, 0x47,
- 0xbe, 0x6d, 0x38, 0x06, 0x65, 0x06, 0xea, 0x0d, 0x0a, 0xf6, 0x34, 0x18,
- 0x8d, 0x65, 0x4b, 0x08,
- 0x12, 0x8c, 0x9a, 0xb4, 0xff, 0xb4, 0x32, 0x9d, 0x1f, 0x7f, 0x31, 0x95,
- 0xa1, 0xff, 0x37, 0x73,
- 0x43, 0x9e, 0xf0, 0xdb, 0x79, 0xdb, 0xe8, 0xb0, 0xae, 0x90, 0x85, 0xea,
- 0xd8, 0x79, 0x5f, 0xe7,
- 0xcf, 0x3d, 0x46, 0xea, 0x27, 0xea, 0x26, 0x85, 0xfd, 0x05, 0x51, 0x2e,
- 0xe6, 0x27, 0xbf, 0x1a,
- 0xc9, 0x09, 0x35, 0xd6, 0x43, 0xd6, 0x6d, 0xf7, 0xb9, 0x96, 0x5a, 0xde,
- 0xdd, 0x43, 0x34, 0x4a,
- 0x2a, 0x1e, 0x81, 0xc7, 0x68, 0xc7, 0xcb, 0x33, 0x8a, 0x6a, 0xcc, 0x9a,
- 0x5f, 0x68, 0xc2, 0x76,
- 0x11, 0x96, 0x42, 0xaa, 0xcd, 0xaa, 0xf6, 0xa4, 0x3d, 0xd7, 0xd5, 0xed,
- 0x5d, 0xcd, 0x93, 0x5b,
- 0x15, 0x0f, 0xa1, 0x82, 0x34, 0x82, 0x84, 0xf8, 0x45, 0x35, 0x66, 0x4d,
- 0xce, 0x34, 0x61, 0x3b,
- 0xf6, 0x18, 0x15, 0x93, 0x1f, 0x93, 0x22, 0x3c, 0x76, 0xc9, 0xf0, 0x09,
- 0x4c, 0x1f, 0x97, 0x07,
- 0x62, 0x6b, 0xac, 0x52, 0x12, 0x52, 0x03, 0x02, 0xf6, 0x55, 0x08, 0x8b,
- 0x9e, 0x12, 0x1e, 0x79,
- 0xcc, 0x27, 0x9e, 0xf4, 0x15, 0xf4, 0xe2, 0xbc, 0xdf, 0xad, 0xb5, 0x56,
- 0x1a, 0x15, 0x1b, 0x32,
- 0xe0, 0x0d, 0x6c, 0x0f, 0x19, 0x0f, 0x62, 0xfd, 0x11, 0x54, 0x72, 0x3c,
- 0x7e, 0x19, 0x52, 0x14,
- 0x8c, 0xa3, 0xb6, 0x31, 0x5e, 0x31, 0xce, 0x35, 0x53, 0x95, 0xd4, 0xc4,
- 0x3e, 0x5e, 0xe0, 0xfd,
- 0x90, 0xea, 0x5a, 0xe9, 0xf4, 0xe9, 0x53, 0x62, 0xf8, 0x7e, 0x4b, 0x22,
- 0x41, 0xf4, 0x7b, 0x1e,
- 0x47, 0x07, 0x13, 0xf3, 0x80, 0xf3, 0x9a, 0xec, 0xd6, 0x72, 0x36, 0x4a,
- 0x4b, 0x80, 0xad, 0x87,
- 0xff, 0x5e, 0x58, 0xc9, 0x81, 0xc9, 0x3b, 0x93, 0x98, 0x17, 0x09, 0xa2,
- 0xfd, 0x81, 0x6d, 0xdf,
- 0x81, 0x7c, 0x18, 0x43, 0x39, 0x43, 0xa5, 0xc6, 0xc5, 0xa9, 0x9e, 0xcf,
- 0x1c, 0x39, 0xe8, 0x45,
- 0x5e, 0x60, 0x54, 0x09, 0x7c, 0x09, 0x88, 0xf0, 0x1b, 0xa2, 0x46, 0x24,
- 0xf3, 0x7c, 0x19, 0x1c,
- 0xfb, 0xc7, 0xbb, 0xe1, 0x78, 0xe1, 0x49, 0xcf, 0xe0, 0xf5, 0xba, 0x02,
- 0x6e, 0x78, 0x9f, 0xbf,
- 0x79, 0xa1, 0x7b, 0xbc, 0x73, 0xbc, 0x28, 0x30, 0x07, 0xf4, 0xc0, 0xb5,
- 0x8e, 0x73, 0xd3, 0xd2,
- 0x36, 0x57, 0x6d, 0x1f, 0xc2, 0x1f, 0x56, 0x64, 0x21, 0x81, 0x53, 0x7c,
- 0x20, 0xc2, 0x59, 0x95,
- 0x32, 0xce, 0x8e, 0x37, 0x3b, 0x37, 0x24, 0x38, 0x59, 0x63, 0xe0, 0xdc,
- 0xb3, 0x3b, 0xab, 0xf5,
- 0x0e, 0xc5, 0x76, 0x6c, 0x55, 0x6c, 0xaf, 0xca, 0xb4, 0x94, 0xae, 0x73,
- 0xde, 0x55, 0xac, 0x90,
- 0xd3, 0x74, 0xaa, 0x32, 0x8d, 0x32, 0xbb, 0xd2, 0x56, 0xee, 0xce, 0xc8,
- 0x99, 0x8d, 0x24, 0xf9,
- 0x33, 0x79, 0xc6, 0x3d, 0x94, 0x3d, 0xd9, 0x2f, 0x47, 0xba, 0xbc, 0xf4,
- 0xe7, 0x94, 0x76, 0xed,
- 0x53, 0xbf, 0xfa, 0x7b, 0x1b, 0x7b, 0xe3, 0x03, 0x8d, 0x9e, 0x0c, 0x2f,
- 0xd1, 0x1b, 0x11, 0xa4,
- 0x87, 0x48, 0x6b, 0x7f, 0x5d, 0x7f, 0xee, 0xb4, 0x81, 0x3a, 0x95, 0x3f,
- 0x27, 0x5d, 0x63, 0x15,
- 0x21, 0xf5, 0x5c, 0x89, 0x6b, 0x89, 0xeb, 0xb2, 0x58, 0xc5, 0x8d, 0x61,
- 0x46, 0x6b, 0x41, 0x9e,
- 0xd4, 0xf7, 0x91, 0x04, 0x46, 0x04, 0x0d, 0xb7, 0x0c, 0xa4, 0x99, 0x10,
- 0xf6, 0x46, 0x72, 0xb1,
- 0x07, 0x83, 0x3b, 0x36, 0xcb, 0x36, 0xb6, 0x65, 0x5a, 0x4a, 0x57, 0xd8,
- 0x6f, 0xcb, 0x56, 0x48,
- 0x48, 0x75, 0x2d, 0x95, 0x7a, 0x95, 0xc8, 0x31, 0x7c, 0x3f, 0xc4, 0x11,
- 0xc1, 0x7a, 0xdc, 0x0f,
- 0xdd, 0xb1, 0xdc, 0x5e, 0xd8, 0x5e, 0x14, 0x18, 0xe2, 0x7a, 0x60, 0xbb,
- 0x47, 0xd8, 0x88, 0x69,
- 0x6e, 0x03, 0x4a, 0x2a, 0xda, 0x2a, 0x95, 0xe6, 0x7e, 0xb0, 0x1e, 0xa8,
- 0xe8, 0xda, 0xcb, 0xd9,
- 0xc4, 0xd6, 0x9b, 0xa4, 0x24, 0xa4, 0x06, 0x04, 0x2f, 0xaa, 0x10, 0xd5,
- 0xff, 0x24, 0x3c, 0xf2,
- 0x58, 0x54, 0x27, 0x35, 0x18, 0x35, 0xc3, 0x82, 0x5f, 0x31, 0x4d, 0xd4,
- 0xc8, 0x18, 0x92, 0x4c,
- 0x9c, 0x82, 0xbc, 0x91, 0x3c, 0x91, 0xc5, 0x86, 0x70, 0x9b, 0x5d, 0x01,
- 0x37, 0x3c, 0xae, 0xbe,
- 0x05, 0x2e, 0xab, 0x22, 0x56, 0x22, 0x8f, 0x4b, 0x66, 0x3b, 0xef, 0x88,
- 0xc7, 0x56, 0x2f, 0x78,
- 0x19, 0x67, 0x47, 0xfa, 0xfc, 0xfa, 0x12, 0x1c, 0xcd, 0xd0, 0x70, 0x6e,
- 0xb8, 0xfc, 0xb4, 0x9b,
- 0xd8, 0x9f, 0x77, 0x7c, 0x8e, 0x7c, 0x9b, 0x53, 0x84, 0x41, 0x8f, 0x33,
- 0x80, 0x8e, 0xa7, 0x11,
- 0x80, 0xcb, 0x50, 0x49, 0x96, 0x49, 0x58, 0xd1, 0xdb, 0x70, 0xc2, 0xe7,
- 0x48, 0x96, 0x35, 0x5d,
- 0x9e, 0x2f, 0x2c, 0x85, 0xa1, 0x85, 0xfc, 0xa8, 0x4c, 0xea, 0xe5, 0x51,
- 0x9f, 0xa1, 0xd7, 0x8e,
- 0x44, 0x1d, 0xcb, 0xed, 0xb2, 0xed, 0x5e, 0xd5, 0xf4, 0xda, 0xd2, 0x32,
- 0xb7, 0xb2, 0x09, 0xaf,
- 0xca, 0x13, 0xed, 0xc8, 0x71, 0xc8, 0xa9, 0xce, 0x9b, 0x3e, 0xbe, 0xa6,
- 0x21, 0x71, 0x90, 0x62,
- 0x3d, 0xbc, 0xb0, 0x51, 0xc1, 0x51, 0x76, 0xe5, 0xf3, 0x2e, 0x12, 0x87,
- 0x39, 0xc1, 0xda, 0x7d,
- 0x2e, 0x87, 0x62, 0xef, 0x91, 0xef, 0xb9, 0x6f, 0xf2, 0x88, 0x7f, 0x3a,
- 0xcc, 0x91, 0x30, 0x16,
- 0x72, 0x4a, 0xa6, 0xf2, 0x70, 0xf2, 0x08, 0xb1, 0xd5, 0x5b, 0x81, 0x4e,
- 0x97, 0x70, 0x50, 0x3a,
- 0x42, 0x29, 0xb8, 0xd1, 0xd6, 0xd1, 0x15, 0xa7, 0xb0, 0x49, 0xd9, 0xc2,
- 0x8c, 0xd6, 0x82, 0xff,
- 0x65, 0xe8, 0x97, 0x64, 0xd9, 0x64, 0xb5, 0x67, 0xac, 0x1f, 0x5f, 0x53,
- 0xf1, 0xd9, 0x48, 0x31,
- },
- { /* 4 */
- 0x04, 0xc3, 0xb6, 0x81, 0x36, 0x3e, 0x4d, 0xde, 0x9f, 0xbe, 0xcc, 0x92,
- 0x5e, 0x72, 0x11, 0x8f,
- 0xc5, 0x34, 0x29, 0xba, 0x33, 0x7a, 0x21, 0x8a, 0x27, 0x60, 0x9b, 0x0b,
- 0x90, 0xfb, 0x32, 0xb5,
- 0xdf, 0x7b, 0x40, 0x9b, 0x9c, 0xe1, 0x8b, 0x64, 0x4d, 0x3d, 0x10, 0xa8,
- 0xb8, 0x2d, 0xbd, 0xb7,
- 0xb7, 0x84, 0x27, 0x1f, 0x65, 0xc8, 0x66, 0x5a, 0x26, 0x8a, 0x79, 0x61,
- 0x18, 0xf3, 0xc4, 0xbf,
- 0x1e, 0x8c, 0xdf, 0xa0, 0x99, 0xa5, 0xe7, 0x30, 0xf5, 0xe3, 0x47, 0x31,
- 0x76, 0xa4, 0x9e, 0x8d,
- 0x26, 0x94, 0x14, 0xa2, 0x5e, 0x12, 0xa7, 0x8e, 0x43, 0x58, 0x05, 0xc1,
- 0xc4, 0x5d, 0x70, 0xdb,
- 0xff, 0xac, 0xb9, 0x19, 0xef, 0xd2, 0xa6, 0x5b, 0x3f, 0x84, 0xbf, 0xb2,
- 0x0d, 0x3b, 0x35, 0x45,
- 0xc8, 0xf2, 0xfc, 0x4b, 0x85, 0xd6, 0x74, 0xfd, 0x12, 0xaf, 0x3f, 0xbb,
- 0x84, 0x90, 0x94, 0xb4,
- 0x7b, 0xb5, 0x6d, 0xd5, 0xd6, 0x20, 0x5f, 0x79, 0xab, 0x9b, 0x8a, 0x48,
- 0xc2, 0x11, 0x41, 0x84,
- 0x7a, 0xf5, 0xa1, 0x64, 0x3a, 0xce, 0xdd, 0xaf, 0xfc, 0x55, 0xb9, 0x8d,
- 0x34, 0xec, 0xd4, 0xd7,
- 0xe8, 0x25, 0x05, 0xc9, 0xf6, 0xe5, 0x59, 0xc2, 0x60, 0x16, 0x90, 0xa1,
- 0x31, 0x86, 0x1c, 0x46,
- 0xa0, 0x0d, 0x9b, 0xcf, 0x7c, 0xff, 0x99, 0xc3, 0x79, 0x18, 0x56, 0x72,
- 0x24, 0x4e, 0xed, 0xbc,
- 0x3e, 0x5b, 0x26, 0x22, 0xea, 0x96, 0xca, 0x0f, 0x87, 0x5a, 0xe8, 0x2b,
- 0xc3, 0xb2, 0x16, 0x7f,
- 0xe9, 0x65, 0xc9, 0x78, 0x1a, 0x0b, 0xdb, 0x14, 0x37, 0xd8, 0xa3, 0x64,
- 0xc7, 0x7b, 0x89, 0x15,
- 0x09, 0x05, 0x63, 0x70, 0x80, 0x92, 0x18, 0xa9, 0xaa, 0x71, 0x68, 0x22,
- 0x4a, 0x19, 0xb7, 0x8e,
- 0x18, 0xcf, 0x32, 0x80, 0xb4, 0x84, 0x6d, 0x81, 0xc4, 0x02, 0xed, 0xea,
- 0x07, 0xef, 0x66, 0xa4,
- 0xba, 0x42, 0xf2, 0xee, 0xd3, 0x64, 0x33, 0x2d, 0x13, 0x45, 0xdd, 0xd1,
- 0x0c, 0x98, 0x62, 0xbe,
- 0x83, 0x1a, 0xf5, 0x5d, 0xf8, 0x3d, 0xf1, 0x45, 0xf2, 0x30, 0xac, 0xe4,
- 0x48, 0x9c, 0x19, 0xbb,
- 0x1f, 0xcc, 0x13, 0x11, 0x75, 0x4b, 0x65, 0xe6, 0xa2, 0x2d, 0x74, 0xf4,
- 0x80, 0x59, 0x0b, 0xde,
- 0x33, 0x9d, 0xf3, 0xd3, 0x5c, 0x3a, 0x9f, 0x78, 0xb2, 0x95, 0x4c, 0x9b,
- 0xd7, 0xd9, 0xb0, 0x7e,
- 0xb1, 0xc7, 0xca, 0x3f, 0x48, 0xe9, 0xec, 0xeb, 0x17, 0x6b, 0xd3, 0xba,
- 0x69, 0xb8, 0x3c, 0x96,
- 0xb6, 0xc4, 0xeb, 0xae, 0x89, 0x26, 0xe4, 0x8c, 0x71, 0x44, 0x4a, 0xa4,
- 0xee, 0x0e, 0x51, 0xec,
- 0x46, 0x2e, 0xdc, 0xe7, 0xcb, 0x47, 0xd0, 0xcf, 0xd5, 0x50, 0x37, 0xef,
- 0xd8, 0x67, 0x2b, 0x0e,
- 0x78, 0x75, 0xfa, 0xc5, 0x21, 0xd1, 0x1a, 0xc0, 0x52, 0x0a, 0xdf, 0xc4,
- 0x1b, 0xd5, 0x3d, 0x71,
- 0x5b, 0x62, 0x94, 0x57, 0xa5, 0x13, 0x72, 0x46, 0xd9, 0x22, 0x25, 0x52,
- 0x77, 0x07, 0xc9, 0x76,
- 0x80, 0xda, 0x62, 0x4d, 0x0f, 0xcc, 0xb4, 0xfc, 0x0b, 0xa1, 0xf9, 0x68,
- 0x91, 0x58, 0x65, 0x4e,
- 0x8c, 0x5c, 0x7b, 0x0d, 0x55, 0x8e, 0x63, 0x5d, 0x69, 0xa0, 0x6e, 0x1d,
- 0x73, 0xce, 0x56, 0x1c,
- 0xeb, 0xe5, 0x92, 0xd9, 0x01, 0x14, 0x1c, 0x7b, 0x99, 0x87, 0xc5, 0x2d,
- 0xe8, 0x42, 0x60, 0xb3,
- 0x2d, 0x11, 0x2c, 0x73, 0xc5, 0x9f, 0x78, 0x48, 0x47, 0x76, 0x0b, 0xaa,
- 0xa1, 0x7d, 0x2e, 0xf3,
- 0xfb, 0x6f, 0x0f, 0x98, 0xd9, 0xec, 0xeb, 0x85, 0xa0, 0x3a, 0x73, 0x20,
- 0x53, 0x49, 0x24, 0xca,
- 0xd9, 0x38, 0xad, 0xbb, 0xb1, 0xc0, 0x01, 0xd5, 0x7c, 0xdc, 0xba, 0x73,
- 0xc9, 0x66, 0x45, 0x9e,
- 0xe0, 0x60, 0xaa, 0x08, 0x9a, 0x99, 0xc3, 0xbd, 0x9d, 0xa9, 0xcb, 0x46,
- 0x8d, 0x62, 0x3e, 0x9b,
- 0x9e, 0x56, 0xbd, 0xed, 0x96, 0x69, 0x53, 0xcc, 0xfe, 0x42, 0xbe, 0x59,
- 0xe7, 0xfc, 0xfb, 0xc3,
- 0x36, 0x1e, 0x89, 0xe3, 0x86, 0xea, 0x50, 0x70, 0x7a, 0xe5, 0xb3, 0xcc,
- 0x7f, 0x56, 0x34, 0xa2,
- 0x42, 0xed, 0x6a, 0x66, 0xfd, 0x79, 0x9d, 0x11, 0x4a, 0xee, 0xfb, 0x7d,
- 0x86, 0x15, 0x3a, 0x81,
- 0x43, 0xad, 0xa6, 0xd7, 0x11, 0x97, 0x1f, 0xc7, 0x1d, 0x20, 0xc8, 0xb8,
- 0x70, 0xe8, 0xaf, 0xd2,
- 0xde, 0x3b, 0x8c, 0x2a, 0x70, 0x0f, 0x09, 0xb2, 0x1a, 0xf3, 0x23, 0x6d,
- 0x4e, 0xd0, 0x28, 0xe4,
- 0xaf, 0x4b, 0x15, 0x9f, 0xd1, 0x4c, 0x0b, 0xdb, 0xe2, 0x88, 0x94, 0x8b,
- 0x1f, 0x1c, 0xa2, 0x1b,
- 0x56, 0xa4, 0x41, 0xa6, 0x13, 0xbf, 0x27, 0x31, 0xec, 0xed, 0x81, 0xe2,
- 0x63, 0x6c, 0x6f, 0x77,
- 0xdb, 0xb8, 0xf6, 0x1a, 0xaa, 0xdf, 0xc6, 0xba, 0xd2, 0x83, 0xdc, 0x3a,
- 0xe6, 0x5f, 0xac, 0x38,
- 0x70, 0x30, 0x55, 0x04, 0x4d, 0xad, 0x80, 0xbf, 0xaf, 0xb5, 0x84, 0x23,
- 0xa7, 0x31, 0x1f, 0xac,
- 0x3f, 0x1b, 0xea, 0x93, 0x06, 0x78, 0x48, 0xd9, 0xd0, 0x94, 0xdb, 0xee,
- 0x35, 0x4f, 0x83, 0x2c,
- 0x77, 0x33, 0x74, 0x95, 0x8c, 0x62, 0x88, 0xd8, 0xc9, 0x9a, 0x1d, 0x3d,
- 0x20, 0x87, 0x72, 0xd6,
- 0x75, 0xb3, 0x2f, 0x34, 0x97, 0x7d, 0x4f, 0xb7, 0x67, 0xc5, 0x7b, 0x74,
- 0x0f, 0xbe, 0x9b, 0x70,
- 0x87, 0xd9, 0x43, 0xdc, 0xce, 0x03, 0xbc, 0x9b, 0x6d, 0x8e, 0x60, 0x76,
- 0x16, 0xee, 0x08, 0x34,
- 0x93, 0x90, 0x68, 0x1c, 0x20, 0xc5, 0x06, 0xbb, 0xcb, 0x8d, 0x1a, 0xe9,
- 0xf3, 0x97, 0x5d, 0xc2,
- 0x1d, 0x4c, 0x48, 0xb0, 0x6e, 0x54, 0xa2, 0x89, 0x0c, 0x72, 0x12, 0xbd,
- 0xaf, 0x60, 0xe2, 0x78,
- 0xfd, 0x2c, 0xe2, 0xb8, 0xf4, 0xcd, 0x61, 0x34, 0x91, 0xdb, 0xd9, 0xfb,
- 0x22, 0x02, 0xdc, 0xe3,
- 0x9a, 0x95, 0x0b, 0x6c, 0xa0, 0x57, 0x1e, 0x12, 0x61, 0xfc, 0x72, 0xcb,
- 0xb9, 0x8e, 0xea, 0x4c,
- 0xea, 0xa5, 0x5e, 0x68, 0xed, 0xfa, 0x9e, 0xad, 0xce, 0x49, 0xf6, 0xe8,
- 0x1e, 0xbf, 0xf5, 0xe0,
- 0xe5, 0xe3, 0xd0, 0x38, 0x40, 0x49, 0x0c, 0xb5, 0x55, 0xd9, 0x34, 0x11,
- 0x25, 0xed, 0xba, 0x47,
- 0x55, 0x64, 0xd6, 0xb6, 0xe4, 0x4e, 0x62, 0x88, 0x15, 0x7c, 0xd4, 0x6e,
- 0xba, 0xa8, 0x13, 0x82,
- 0x4d, 0xab, 0xe4, 0x36, 0x50, 0xca, 0x0f, 0x09, 0xd1, 0x7e, 0x39, 0x84,
- 0xbd, 0x47, 0x75, 0x26,
- 0x2f, 0x91, 0x77, 0xd2, 0xde, 0x80, 0xbf, 0x27, 0xe9, 0x29, 0x6d, 0xe3,
- 0x8e, 0x44, 0xc7, 0x55,
- 0x8e, 0xdc, 0x20, 0xac, 0x4e, 0x91, 0xa4, 0x32, 0xc7, 0xff, 0x08, 0x54,
- 0x5c, 0xf7, 0xbf, 0xba,
- 0xab, 0x88, 0xa3, 0x1e, 0xe7, 0x72, 0x46, 0x05, 0x7d, 0x36, 0x58, 0x19,
- 0x41, 0x6e, 0xb3, 0x94,
- 0xec, 0xe6, 0xb3, 0x48, 0xc0, 0xdb, 0x14, 0x1c, 0xff, 0xa8, 0x5c, 0x33,
- 0x6f, 0xf4, 0x0d, 0xc9,
- 0x64, 0x79, 0x7e, 0xc4, 0xa3, 0x6b, 0x3a, 0x9f, 0x09, 0xb6, 0xfe, 0xbc,
- 0x42, 0x48, 0x4a, 0x5a,
- 0xb3, 0x47, 0x91, 0x9e, 0x53, 0xf6, 0x2b, 0x84, 0xb9, 0x34, 0xb5, 0xf3,
- 0x46, 0x81, 0xd5, 0x30,
- 0xd5, 0xbe, 0xb4, 0xfb, 0xeb, 0x82, 0xd6, 0x74, 0x1e, 0xdd, 0x2d, 0x06,
- 0x2b, 0xf0, 0x76, 0xcc,
- 0x91, 0x10, 0x33, 0xbd, 0x3b, 0xda, 0xc1, 0xd4, 0x65, 0xd2, 0x7c, 0xa0,
- 0xdc, 0xae, 0xb4, 0x64,
- 0x5e, 0xe1, 0xee, 0x67, 0x7f, 0xc3, 0xbd, 0x4e, 0x11, 0x52, 0xda, 0x05,
- 0xdf, 0x88, 0x4d, 0xaa,
- 0x21, 0x97, 0x35, 0x33, 0x9f, 0xdd, 0xaf, 0xe9, 0x25, 0x77, 0x9c, 0xdf,
- 0x43, 0xeb, 0x1d, 0xa1,
- 0x49, 0x68, 0x52, 0xb7, 0x66, 0xf4, 0x42, 0xd7, 0x4e, 0xc0, 0xf5, 0x16,
- 0xe3, 0x35, 0x64, 0xa9,
- 0x5f, 0xa1, 0x22, 0xd6, 0x93, 0x2d, 0x3f, 0x98, 0x46, 0x9c, 0xe9, 0xc0,
- 0x29, 0x75, 0xd8, 0xf9,
- 0x65, 0x39, 0xb2, 0x75, 0x4f, 0x85, 0xb8, 0x49, 0x5e, 0x78, 0xcd, 0x79,
- 0xb4, 0xb5, 0xdf, 0x09,
- 0x53, 0x27, 0x3b, 0x96, 0xc9, 0x6f, 0xe8, 0x39, 0x24, 0x9d, 0x7e, 0xb5,
- 0xcb, 0xe3, 0xeb, 0xab,
- 0x27, 0xd4, 0xd8, 0x13, 0xb2, 0xfc, 0x25, 0x58, 0x14, 0x96, 0x36, 0x04,
- 0x32, 0xa0, 0xe5, 0x88,
- 0xcc, 0x31, 0x4a, 0xca, 0xb3, 0xe8, 0x39, 0x23, 0x8d, 0x11, 0xf3, 0x29,
- 0xda, 0xe2, 0x85, 0x3b,
- 0x61, 0xfa, 0x04, 0xf4, 0x79, 0xbb, 0xf5, 0x97, 0xc1, 0xc6, 0x01, 0xeb,
- 0xea, 0xc7, 0xce, 0x86,
- 0x82, 0x5a, 0x39, 0xec, 0x14, 0xd3, 0x73, 0x93, 0xa5, 0xfe, 0x9f, 0x21,
- 0xbe, 0x61, 0x8c, 0xe8,
- 0xcf, 0xf1, 0xdd, 0xda, 0x44, 0x19, 0x7c, 0x9a, 0x74, 0x80, 0xa6, 0xa5,
- 0x03, 0x26, 0xf9, 0xce,
- 0xfa, 0x2f, 0xc3, 0x29, 0x35, 0x02, 0x69, 0x53, 0xf7, 0xf4, 0x40, 0xe5,
- 0xa5, 0xb4, 0xb1, 0x99,
- 0xbf, 0xc1, 0x88, 0xde, 0x09, 0xb4, 0xfc, 0x25, 0xdb, 0x35, 0x22, 0x86,
- 0xa4, 0x17, 0xe6, 0x62,
- 0xca, 0x72, 0xa7, 0xea, 0x9e, 0xc9, 0xb3, 0x92, 0xbc, 0xf0, 0x59, 0xf2,
- 0xab, 0xa9, 0x7d, 0x12,
- 0x4e, 0x6b, 0x73, 0x26, 0xa7, 0x3b, 0x4a, 0xb0, 0x28, 0xef, 0x6c, 0x08,
- 0x64, 0x83, 0x09, 0xd3,
- 0x97, 0x53, 0xde, 0x9d, 0x16, 0xfb, 0x4b, 0x65, 0x54, 0x33, 0xd6, 0x7b,
- 0xad, 0xe5, 0x4c, 0x4d,
- 0x9b, 0xd5, 0xc7, 0xdd, 0x4c, 0xb9, 0x9c, 0xc4, 0x36, 0x32, 0x41, 0x0e,
- 0x4f, 0x73, 0x7f, 0x1f,
- 0x8d, 0x1c, 0xb7, 0xbc, 0xb9, 0x60, 0xe1, 0x8b, 0x3e, 0x6e, 0x5d, 0xd8,
- 0x85, 0x33, 0xc3, 0x4f,
- 0x68, 0xff, 0x67, 0x84, 0xf9, 0x29, 0xed, 0x3e, 0x6b, 0xb7, 0x69, 0xc9,
- 0xa0, 0xde, 0x79, 0x08,
- 0x15, 0x09, 0xe7, 0x71, 0x02, 0x28, 0x38, 0xf6, 0xf1, 0xcd, 0x49, 0x5a,
- 0x13, 0x84, 0xc0, 0xa5,
- 0xfc, 0x6c, 0x2e, 0x09, 0x18, 0x23, 0xe3, 0xe2, 0xc6, 0x15, 0xea, 0x3e,
- 0xd4, 0xff, 0x49, 0xb0,
- 0xfe, 0xec, 0x75, 0xa8, 0x03, 0x3c, 0x24, 0x8d, 0x68, 0x4a, 0x8c, 0x77,
- 0xfb, 0xc6, 0xa0, 0x16,
- 0x58, 0xa2, 0x03, 0x47, 0x52, 0xe2, 0x37, 0xff, 0x20, 0xb3, 0x70, 0xde,
- 0xae, 0xc3, 0xb5, 0x83,
- 0x12, 0x0a, 0xc6, 0xe0, 0xc3, 0xe7, 0x30, 0x91, 0x97, 0xe2, 0xd0, 0x44,
- 0x94, 0x32, 0xad, 0xdf,
- 0x1b, 0x0f, 0xa5, 0x90, 0x43, 0x75, 0x28, 0x38, 0x3d, 0x93, 0xb8, 0x66,
- 0xde, 0x2b, 0x1a, 0x51,
- 0x10, 0x8a, 0x9d, 0x41, 0xd8, 0xf8, 0xf7, 0xfe, 0x39, 0xbd, 0xb6, 0x0d,
- 0xbb, 0x0b, 0x44, 0x79,
- 0xc1, 0xf7, 0x9f, 0x3b, 0x05, 0x44, 0x6c, 0x54, 0xb8, 0xde, 0x57, 0x99,
- 0xce, 0x89, 0x23, 0x3a,
- 0xe2, 0xe0, 0xf1, 0xa9, 0x81, 0x86, 0x04, 0xd2, 0x33, 0xf6, 0xad, 0x0f,
- 0xa2, 0x5b, 0xd7, 0x3d,
- 0x19, 0x8f, 0xfe, 0x31, 0x58, 0x6a, 0xef, 0x57, 0x93, 0xcc, 0xde, 0x2f,
- 0xf1, 0x12, 0xf3, 0xf7,
- 0x52, 0x67, 0xf7, 0x27, 0x25, 0x81, 0x6a, 0xef, 0x73, 0x53, 0x4d, 0x70,
- 0x3d, 0x1e, 0x7e, 0xf8,
- 0xef, 0x26, 0x24, 0x58, 0x37, 0x2a, 0x51, 0xa5, 0x06, 0x39, 0x09, 0xbf,
- 0xb6, 0x30, 0x71, 0x3c,
- 0xdc, 0xbb, 0xd7, 0x8b, 0x6b, 0x10, 0xce, 0xdd, 0xb4, 0xac, 0x45, 0x24,
- 0x61, 0xe9, 0xc1, 0x42,
- 0xf0, 0xea, 0x37, 0x49, 0x42, 0x61, 0x34, 0x43, 0xa4, 0x14, 0x7d, 0x4b,
- 0x36, 0x69, 0x7a, 0xe2,
- 0x3c, 0xdb, 0x7d, 0x83, 0xf1, 0x89, 0x0d, 0x60, 0x29, 0x05, 0x8e, 0x62,
- 0xec, 0x8b, 0xff, 0xd9,
- 0x9c, 0xd6, 0xe6, 0x4c, 0x8d, 0x76, 0x94, 0xa3, 0x50, 0x1d, 0xd8, 0x10,
- 0xc8, 0xc5, 0x12, 0x65,
- 0xbe, 0x81, 0x44, 0x6f, 0xe5, 0x5a, 0x7e, 0xf3, 0x8c, 0xfb, 0x11, 0x43,
- 0x52, 0xea, 0x73, 0x31,
- 0x38, 0x18, 0xcb, 0x02, 0xc7, 0xb7, 0x40, 0xbe, 0xb6, 0xbb, 0x42, 0xf0,
- 0xb2, 0xf9, 0xee, 0x56,
- 0x2b, 0x52, 0xc1, 0x53, 0xe8, 0xbe, 0xf2, 0xf9, 0x76, 0x97, 0xa1, 0x71,
- 0xd0, 0x36, 0xd6, 0xda,
- 0xc9, 0xb2, 0x30, 0xfa, 0x69, 0x38, 0xf6, 0x2b, 0x45, 0x61, 0x0c, 0x7e,
- 0x72, 0x6d, 0x01, 0xe7,
- 0x24, 0x14, 0x4f, 0x03, 0x45, 0x0d, 0x60, 0xe1, 0xed, 0x07, 0x63, 0x88,
- 0xeb, 0x64, 0x99, 0x7d,
- 0x98, 0x15, 0x50, 0xcd, 0xbb, 0x48, 0xd9, 0x7d, 0xcf, 0xa3, 0x14, 0x82,
- 0x96, 0xb7, 0x03, 0xea,
- 0x30, 0x5d, 0x64, 0xc3, 0xab, 0xcb, 0xda, 0xc1, 0x4b, 0x04, 0x19, 0x17,
- 0x0e, 0x1d, 0xcc, 0x8b,
- 0x0c, 0x86, 0x19, 0x40, 0x5a, 0x42, 0xd7, 0xa1, 0x62, 0x01, 0x97, 0x75,
- 0xe2, 0x96, 0x33, 0x52,
- 0x69, 0xbf, 0xab, 0x35, 0x15, 0xc7, 0x6f, 0xe8, 0x3c, 0x79, 0x5a, 0x0c,
- 0x56, 0x23, 0xec, 0x5b,
- 0x54, 0x24, 0x1a, 0x07, 0x08, 0xa0, 0xe0, 0x5e, 0x42, 0xb2, 0xe7, 0xab,
- 0x4c, 0x55, 0x86, 0xd1,
- 0xee, 0x66, 0xe8, 0xe9, 0xdb, 0xc4, 0xd3, 0x73, 0x51, 0xf7, 0x3a, 0x7a,
- 0x40, 0xcd, 0xe4, 0x6f,
- 0xb5, 0x04, 0x7c, 0xbe, 0x7e, 0xd7, 0xa1, 0x35, 0x88, 0xd5, 0x1f, 0x28,
- 0x37, 0xca, 0x2d, 0x19,
- 0x4f, 0x2b, 0xbf, 0x97, 0x4b, 0xd5, 0xc8, 0x66, 0x7f, 0x21, 0x5f, 0xcd,
- 0x92, 0x7e, 0x9c, 0x80,
- 0x39, 0x58, 0x07, 0xb3, 0x2b, 0x59, 0xc2, 0x68, 0xe1, 0x75, 0x71, 0x35,
- 0x44, 0x04, 0x7b, 0x05,
- 0x6a, 0x7f, 0x3c, 0x25, 0xe2, 0x36, 0x2a, 0x51, 0xc5, 0xe8, 0x0f, 0x80,
- 0x8f, 0xe7, 0x90, 0xae,
- 0x1c, 0x0c, 0x84, 0x01, 0x82, 0xba, 0x20, 0x5f, 0x5b, 0xbc, 0x21, 0x78,
- 0x59, 0x9d, 0x77, 0x2b,
- 0x89, 0xdf, 0x01, 0x3d, 0x8f, 0x5e, 0xac, 0x55, 0xa1, 0xd0, 0x91, 0x4a,
- 0xdb, 0x41, 0xd2, 0xc0,
- 0x66, 0xf9, 0x25, 0x65, 0xb8, 0x74, 0xfd, 0xf0, 0xa7, 0xe9, 0x98, 0xf5,
- 0x6d, 0x71, 0xa3, 0xfc,
- 0xa5, 0x8e, 0xe1, 0xff, 0xa6, 0x2f, 0x56, 0xcb, 0xb1, 0x68, 0xa9, 0x25,
- 0x8c, 0xc1, 0x69, 0x60,
- 0xe4, 0xa3, 0x1c, 0x89, 0xac, 0xa7, 0x8e, 0x63, 0x02, 0x17, 0x07, 0xd4,
- 0xd3, 0x10, 0x2f, 0x14,
- 0x72, 0xb0, 0x0e, 0xa5, 0x56, 0xb2, 0x47, 0xd0, 0x01, 0xea, 0xe2, 0x6a,
- 0x88, 0x08, 0xf6, 0x0a,
- 0xf6, 0xa9, 0xda, 0x69, 0x6f, 0x40, 0xbe, 0xf2, 0x95, 0xf5, 0xd7, 0x90,
- 0x47, 0x22, 0x82, 0xcb,
- 0x14, 0x49, 0x2b, 0xc0, 0xee, 0xc6, 0xba, 0x20, 0xa6, 0x03, 0x7a, 0x9f,
- 0xe5, 0x79, 0x55, 0xf6,
- 0x02, 0x80, 0x5b, 0xa1, 0x1b, 0x1f, 0xc7, 0x6f, 0xae, 0x5f, 0x66, 0x49,
- 0x2f, 0x39, 0xe9, 0xa6,
- 0x50, 0xe7, 0xac, 0x86, 0x3e, 0x9e, 0xad, 0x80, 0xdd, 0x0c, 0x2b, 0x39,
- 0x12, 0x27, 0x97, 0x5e,
- 0xbd, 0x41, 0xd3, 0x7f, 0x12, 0xab, 0x3b, 0x4a, 0x75, 0x6a, 0x44, 0xcf,
- 0x8b, 0x2e, 0x0f, 0xc4,
- 0x9f, 0x16, 0x71, 0x5c, 0x7a, 0x87, 0xd1, 0x1a, 0xa9, 0x8c, 0x8d, 0x9c,
- 0x11, 0x01, 0x6e, 0x90,
- 0xe3, 0xa0, 0x3d, 0x18, 0x6d, 0x68, 0x86, 0x04, 0x64, 0x38, 0x9e, 0xca,
- 0x54, 0xa6, 0x42, 0x6e,
- 0x05, 0x83, 0x7a, 0x30, 0xda, 0xd0, 0xcf, 0x08, 0xc8, 0x70, 0xff, 0x57,
- 0xa8, 0x8f, 0x84, 0xdc,
- 0x07, 0x03, 0x21, 0x91, 0xc1, 0xcf, 0x08, 0x67, 0x66, 0x2f, 0x99, 0x1e,
- 0x87, 0xb6, 0x6d, 0x7a,
- 0x88, 0x9f, 0xcd, 0x8c, 0x63, 0xb0, 0x2e, 0x83, 0xf6, 0x1e, 0xa2, 0x8f,
- 0x2d, 0xbc, 0x47, 0x93,
- 0xcb, 0x32, 0x6b, 0x5b, 0x72, 0x27, 0x31, 0x44, 0xeb, 0x3e, 0x6a, 0x37,
- 0x5d, 0x54, 0xe8, 0x41,
- 0x3a, 0x98, 0x90, 0xa3, 0xdc, 0xa8, 0x87, 0xd1, 0x18, 0xe4, 0x24, 0xb9,
- 0x9d, 0xc0, 0x07, 0xf0,
- 0x85, 0x59, 0x18, 0x7d, 0xd5, 0x1c, 0x7b, 0xf4, 0xc3, 0xd1, 0x06, 0x3f,
- 0x39, 0xd7, 0xe1, 0x92,
- 0x41, 0x2d, 0xfd, 0x76, 0x0a, 0x88, 0xd8, 0xa8, 0xb3, 0x7f, 0xae, 0xf1,
- 0x5f, 0xd1, 0x46, 0x74,
- 0x2a, 0x12, 0x0d, 0xe2, 0x04, 0x50, 0x70, 0x2f, 0x21, 0x59, 0x92, 0xb4,
- 0x26, 0xcb, 0x43, 0x89,
- 0x92, 0xd0, 0xa4, 0xad, 0xcc, 0x2b, 0x84, 0x6d, 0x9c, 0x43, 0x29, 0x2c,
- 0x05, 0x6a, 0xc8, 0x91,
- 0xb9, 0x82, 0x65, 0xfe, 0x24, 0x95, 0x76, 0x94, 0xea, 0xd4, 0x88, 0x5d,
- 0xd5, 0x5c, 0x1e, 0x4b,
- 0xe6, 0x23, 0x47, 0x28, 0xb7, 0xb8, 0x49, 0x0c, 0xac, 0x48, 0x61, 0x9d,
- 0xfc, 0x29, 0xc6, 0xb2,
- 0xf2, 0x6a, 0x6c, 0xe8, 0x59, 0x7e, 0xf3, 0x2c, 0x0a, 0x4b, 0x1b, 0x02,
- 0x19, 0x50, 0x93, 0x44,
- 0x28, 0x92, 0x56, 0x43, 0x1f, 0x4f, 0xb7, 0x40, 0x8f, 0x06, 0xf4, 0xfd,
- 0x09, 0xf2, 0xaa, 0x2f,
- 0x7d, 0xf6, 0x80, 0xf5, 0xfb, 0x01, 0xd5, 0xc8, 0x9a, 0x7a, 0x20, 0x93,
- 0xb3, 0x5a, 0xb9, 0xad,
- 0xbb, 0x02, 0x3e, 0x5f, 0x3f, 0x8a, 0xb1, 0xfb, 0x44, 0x8b, 0xee, 0x14,
- 0xfa, 0x65, 0xf7, 0xed,
- 0xf3, 0x2a, 0xa0, 0x59, 0xb5, 0x90, 0x71, 0xfa, 0x5d, 0x85, 0x28, 0xc7,
- 0xef, 0xad, 0x06, 0x17,
- 0xe7, 0x63, 0x8b, 0x99, 0x5b, 0x56, 0xcb, 0xda, 0xfb, 0x86, 0x52, 0x58,
- 0x0a, 0xd4, 0x53, 0xe1,
- 0xad, 0xcb, 0x4e, 0x3e, 0xca, 0x53, 0xcc, 0xb4, 0x4c, 0xd7, 0xf2, 0xc2,
- 0x30, 0x25, 0x4b, 0xbd,
- 0x0e, 0x06, 0x42, 0xe1, 0x41, 0x5d, 0x10, 0xce, 0xcc, 0x5e, 0xf1, 0x3c,
- 0xcd, 0xaf, 0xda, 0xf4,
- 0x76, 0x73, 0xb8, 0x24, 0x60, 0x8c, 0x0a, 0x0e, 0x9e, 0x54, 0x2e, 0xf8,
- 0xd6, 0x7a, 0xe7, 0x85,
- 0x3b, 0xd8, 0x5c, 0x12, 0x30, 0x46, 0x05, 0x07, 0x4f, 0x2a, 0x17, 0x7c,
- 0x6b, 0x3d, 0x92, 0xa3,
- 0x6d, 0x7c, 0x1d, 0xb4, 0x23, 0xf9, 0x22, 0x36, 0xa3, 0xc7, 0x96, 0x9e,
- 0x08, 0x51, 0xfd, 0xd4,
- 0x20, 0xd7, 0xf9, 0x82, 0x73, 0x33, 0x2d, 0x3f, 0x72, 0xb9, 0xaf, 0x1a,
- 0xb5, 0x16, 0x88, 0xf2,
- 0xa9, 0x08, 0xf8, 0xbf, 0xfc, 0x6d, 0x81, 0x6a, 0xd3, 0x69, 0x3e, 0x50,
- 0x6e, 0x57, 0x5a, 0x32,
- 0x0b, 0x85, 0x38, 0xd1, 0x9b, 0x8d, 0xdf, 0xc6, 0x04, 0x2e, 0x0e, 0x6b,
- 0x65, 0x20, 0x5e, 0x28,
- 0xce, 0xb1, 0x11, 0x6b, 0xa8, 0xf7, 0xfe, 0x4c, 0x23, 0x4e, 0x95, 0x60,
- 0xf5, 0xdb, 0x6c, 0x9d,
- 0x8f, 0x9c, 0xec, 0x1d, 0xa2, 0x7f, 0x26, 0xe4, 0x90, 0x31, 0x3b, 0x91,
- 0xaa, 0x0a, 0x2a, 0xe9,
- 0x94, 0x93, 0x49, 0x8d, 0xe1, 0x0a, 0x0e, 0xdc, 0xad, 0xa2, 0x83, 0xf7,
- 0x74, 0x21, 0x30, 0xb8,
- 0x4c, 0xeb, 0x28, 0x87, 0xbc, 0x24, 0x8d, 0xdf, 0x86, 0xb0, 0x0a, 0x41,
- 0x4b, 0xba, 0xe0, 0x75,
- 0x29, 0xd2, 0x9a, 0xf2, 0xf3, 0xa1, 0x35, 0x96, 0xd8, 0xc8, 0xc7, 0x38,
- 0xff, 0x0f, 0x3f, 0x7c,
- 0x5a, 0x22, 0x58, 0xe6, 0x49, 0xfd, 0xf0, 0x90, 0x8e, 0xec, 0x16, 0x97,
- 0x81, 0xfa, 0x5c, 0x25,
- 0xb4, 0x44, 0xb0, 0x0f, 0x92, 0x39, 0x23, 0xe3, 0xdf, 0x1b, 0x2c, 0xed,
- 0xc1, 0x37, 0xb8, 0x4a,
- 0x6e, 0xbc, 0x8a, 0xa4, 0xd4, 0x08, 0x67, 0x8f, 0x5a, 0x56, 0xc3, 0x12,
- 0xd1, 0x95, 0x81, 0x21,
- 0x1a, 0x4f, 0x69, 0x21, 0xaf, 0x9b, 0xaa, 0xee, 0x6a, 0x5d, 0x8b, 0xa3,
- 0x28, 0xd6, 0x8f, 0x02,
- 0xf7, 0xe9, 0x16, 0xd8, 0x83, 0xae, 0x3c, 0x24, 0xc2, 0x3b, 0xe4, 0x55,
- 0xb1, 0xdf, 0x17, 0x98,
- 0x67, 0xb9, 0xe9, 0xd4, 0x54, 0x9a, 0x7f, 0x26, 0xf0, 0x27, 0xab, 0x30,
- 0x9b, 0x8c, 0x36, 0xaf,
- 0xd4, 0xfe, 0x78, 0x4a, 0x07, 0x6c, 0x54, 0xa2, 0x49, 0x13, 0x1e, 0xc3,
- 0xdd, 0x0d, 0xe3, 0x9f,
- 0xb8, 0xc2, 0xa9, 0x4f, 0xc8, 0x7b, 0xf4, 0x42, 0xbd, 0x1a, 0xbb, 0x98,
- 0x23, 0xa1, 0x8b, 0x18,
- 0xd8, 0x78, 0x61, 0x0a, 0x5d, 0x2e, 0x83, 0x03, 0x2b, 0x12, 0x89, 0xb6,
- 0x3f, 0x9b, 0xd0, 0xcd,
- 0x8a, 0x1f, 0x96, 0x2d, 0x78, 0xaf, 0xe9, 0xec, 0x58, 0x41, 0xc4, 0xc6,
- 0x02, 0x85, 0xae, 0x35,
- 0xda, 0xf8, 0x3a, 0xab, 0x46, 0x31, 0x44, 0x6c, 0x85, 0x4d, 0xef, 0xff,
- 0x10, 0xa2, 0x39, 0x6b,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x3d, 0x9b, 0xb1, 0x32, 0x1d, 0x67, 0x8f, 0xb6, 0x7e, 0xcb, 0xbd, 0xa7,
- 0x1a, 0x76, 0x6a, 0x8a,
- 0x99, 0x55, 0x9c, 0x7c, 0x57, 0xa6, 0x5b, 0xab, 0x98, 0x6d, 0x27, 0x47,
- 0x60, 0x4a, 0x96, 0xb9,
- 0xd3, 0xfd, 0x59, 0xdb, 0xc6, 0xa3, 0x5c, 0xc5, 0x2f, 0x3c, 0x87, 0xdd,
- 0x5a, 0xbb, 0x8e, 0xe5,
- 0x9d, 0x96, 0x2a, 0xfd, 0x61, 0x98, 0x16, 0x75, 0x07, 0xd3, 0xeb, 0xd5,
- 0x3e, 0x38, 0x87, 0x36,
- 0x7e, 0x36, 0x17, 0xe5, 0x0c, 0xf0, 0x90, 0x71, 0x63, 0xeb, 0x75, 0x1f,
- 0x6a, 0x9e, 0xc5, 0x58,
- 0x06, 0x43, 0xed, 0x20, 0x2d, 0x21, 0x8a, 0xb1, 0x31, 0xe1, 0xaa, 0xdb,
- 0x71, 0x4b, 0xf8, 0x29,
- 0xd1, 0x7d, 0x02, 0x7a, 0xdd, 0xbc, 0x9b, 0xaa, 0x81, 0x63, 0xe1, 0x94,
- 0x75, 0x82, 0x67, 0x43,
- 0xaa, 0xc8, 0x6f, 0xaf, 0x0b, 0x9c, 0xc4, 0xd3, 0x2a, 0xf8, 0x6b, 0xdc,
- 0xb7, 0x93, 0x26, 0xc7,
- 0xa4, 0xce, 0x2d, 0x4e, 0x4a, 0xc1, 0xd4, 0x1d, 0xe6, 0xa6, 0x9a, 0xe0,
- 0x7a, 0x3c, 0xfc, 0x33,
- 0x03, 0xc0, 0x97, 0x10, 0xf7, 0xf1, 0x45, 0xb9, 0xf9, 0x91, 0x55, 0x8c,
- 0xd9, 0xc4, 0x7c, 0xf5,
- 0x23, 0x17, 0x6e, 0x92, 0x84, 0xc2, 0x68, 0x86, 0x8b, 0x28, 0xfa, 0x96,
- 0x6c, 0xd2, 0xf4, 0x07,
- 0x0a, 0xc5, 0xf4, 0x60, 0x77, 0x63, 0x5d, 0x10, 0x53, 0xe0, 0x3d, 0xae,
- 0x93, 0xdd, 0xcb, 0x7b,
- 0x7c, 0xb6, 0x4c, 0x44, 0x17, 0xef, 0x57, 0x1e, 0xcd, 0xb4, 0x13, 0x56,
- 0x45, 0xa7, 0x2c, 0xfe,
- 0x22, 0x57, 0xa2, 0x23, 0x68, 0x2c, 0xea, 0x50, 0xdc, 0xe6, 0xc9, 0x53,
- 0x9a, 0x2f, 0x61, 0x54,
- 0x37, 0x5e, 0x45, 0x52, 0x6a, 0x04, 0xd2, 0xa6, 0x2d, 0x2b, 0x80, 0x09,
- 0x89, 0xab, 0xa1, 0xf1,
- 0x4a, 0xa8, 0xc5, 0xa7, 0x91, 0x05, 0x07, 0x6e, 0xb7, 0x51, 0xa0, 0x9a,
- 0x3a, 0xf1, 0x18, 0x5c,
- 0x2e, 0xd1, 0xbb, 0x63, 0x32, 0x6e, 0x3d, 0xf1, 0xbe, 0xe7, 0x5e, 0x26,
- 0x78, 0xb9, 0x52, 0x06,
- 0x25, 0x54, 0x83, 0xb2, 0xa9, 0xe3, 0xe2, 0x37, 0xba, 0xc9, 0x50, 0x4d,
- 0x1d, 0x99, 0x0c, 0x2e,
- 0xf8, 0xaf, 0x98, 0x88, 0x2e, 0x1d, 0xae, 0x3c, 0x59, 0xab, 0x26, 0xac,
- 0x8a, 0x8d, 0x58, 0x3f,
- 0xdd, 0xfb, 0x1b, 0x3a, 0x87, 0xfe, 0x4c, 0x0b, 0xe3, 0x62, 0x76, 0xe1,
- 0x97, 0x14, 0x54, 0x11,
- 0x31, 0x1d, 0xa8, 0x72, 0x47, 0x25, 0x58, 0x17, 0x1c, 0xca, 0x2a, 0xd2,
- 0xf8, 0xe0, 0x59, 0xd8,
- 0x74, 0xf3, 0xe3, 0x85, 0x7b, 0x93, 0xcd, 0x61, 0x30, 0x0b, 0x48, 0xb1,
- 0xf9, 0x43, 0x0e, 0x23,
- 0x59, 0xe2, 0xcf, 0xf6, 0xbe, 0x0c, 0xb5, 0x29, 0x77, 0x7d, 0x43, 0x1b,
- 0x58, 0x3e, 0x20, 0xd0,
- 0xcd, 0x71, 0x86, 0x7b, 0x5f, 0x06, 0xbb, 0xf5, 0xda, 0xdf, 0xc0, 0xec,
- 0x2c, 0x1f, 0x10, 0x68,
- 0x5d, 0x21, 0x79, 0x77, 0x88, 0x32, 0xf8, 0xf7, 0xe8, 0xc3, 0x8f, 0x89,
- 0x06, 0x4c, 0x31, 0x5f,
- 0x08, 0x45, 0xaf, 0xc1, 0x6c, 0x7c, 0x9a, 0x7f, 0xfd, 0xbf, 0x5b, 0xe7,
- 0xbc, 0xe4, 0x22, 0xdd,
- 0x7f, 0x76, 0xdb, 0x54, 0xe0, 0x1e, 0x12, 0xa7, 0x34, 0x25, 0x46, 0xda,
- 0x9c, 0x63, 0x50, 0x0b,
- 0xa6, 0x4e, 0x76, 0xef, 0x51, 0xde, 0x13, 0x72, 0x48, 0xf9, 0xfc, 0xa9,
- 0x55, 0x05, 0x15, 0x95,
- 0xf9, 0xef, 0x54, 0x39, 0xc2, 0xf3, 0x2c, 0xea, 0x0e, 0x65, 0x15, 0x69,
- 0x7c, 0x70, 0xcd, 0x6c,
- 0x90, 0x50, 0xff, 0x0c, 0xd7, 0x34, 0x43, 0x02, 0x32, 0x1c, 0x4f, 0x65,
- 0x2a, 0x53, 0x21, 0x37,
- 0x0f, 0x46, 0x8e, 0x50, 0xad, 0xb3, 0x92, 0x18, 0x9b, 0x90, 0xc2, 0xf9,
- 0x3b, 0x52, 0x4f, 0xa7,
- 0xb0, 0x87, 0x06, 0x8e, 0xa4, 0x07, 0x6e, 0x3d, 0x40, 0xa5, 0xe0, 0x7f,
- 0x9f, 0x45, 0xa9, 0xc5,
- 0xac, 0x8b, 0x82, 0x8f, 0x26, 0xbd, 0x4e, 0x62, 0x1b, 0x19, 0xc1, 0x07,
- 0xc6, 0xd8, 0xde, 0xee,
- 0x60, 0xba, 0xc8, 0x45, 0x95, 0x55, 0x77, 0x41, 0x96, 0x08, 0x32, 0x2e,
- 0x1c, 0x3a, 0x5b, 0xd5,
- 0x6c, 0x3c, 0xd1, 0x05, 0xcf, 0x17, 0xa0, 0xe0, 0xf4, 0x09, 0xa5, 0x5b,
- 0xfe, 0xac, 0x68, 0x87,
- 0x13, 0x4a, 0x0a, 0x51, 0x2f, 0x09, 0xb2, 0x47, 0xc0, 0x2c, 0xe3, 0x81,
- 0x62, 0xcf, 0x38, 0x8c,
- 0xbc, 0x01, 0x1f, 0xce, 0xfe, 0x45, 0xb9, 0x9c, 0x22, 0xa4, 0x77, 0x0a,
- 0x7d, 0xd3, 0x9a, 0x97,
- 0x32, 0xdd, 0x3f, 0x62, 0xb0, 0xd4, 0x1d, 0xae, 0xe5, 0x5b, 0x7f, 0x5e,
- 0x21, 0x24, 0x25, 0x2d,
- 0xf1, 0xaa, 0xfb, 0xf8, 0xae, 0x8f, 0xb6, 0x95, 0xf3, 0xda, 0x4e, 0x8e,
- 0xc0, 0x94, 0xef, 0xb1,
- 0xd6, 0x7e, 0x23, 0xeb, 0x1c, 0x73, 0x93, 0xcd, 0xe7, 0x4c, 0x78, 0x8a,
- 0xf2, 0x34, 0x0a, 0x39,
- 0x44, 0xae, 0x87, 0x46, 0xd0, 0x58, 0x17, 0xa0, 0x7b, 0x0f, 0x51, 0xa6,
- 0xf7, 0x5e, 0xc2, 0xa8,
- 0x62, 0x3a, 0x93, 0xe4, 0x8e, 0x4a, 0xb0, 0x2e, 0x38, 0x57, 0x54, 0x67,
- 0x33, 0x03, 0xb2, 0x73,
- 0xa8, 0x48, 0x34, 0x0e, 0x10, 0x83, 0x03, 0xbc, 0x84, 0xa7, 0x0d, 0x95,
- 0x98, 0xaa, 0xcf, 0x61,
- 0x40, 0x6d, 0x31, 0xc7, 0xe6, 0x66, 0x5a, 0x7e, 0xe4, 0xb1, 0x9d, 0x34,
- 0xa9, 0x2c, 0xd3, 0x27,
- 0x95, 0xd3, 0x85, 0x3c, 0x0d, 0xe4, 0x8c, 0x0a, 0xfa, 0x6c, 0xb0, 0x32,
- 0x82, 0xdc, 0xa5, 0xeb,
- 0x11, 0xca, 0x51, 0xf0, 0x34, 0x16, 0x75, 0x28, 0x6e, 0x73, 0x85, 0xc8,
- 0x4d, 0xf6, 0xd1, 0x2a,
- 0x8b, 0x5f, 0x5a, 0x9c, 0x94, 0x41, 0x6b, 0x3a, 0x0f, 0x8f, 0xf7, 0x03,
- 0xf4, 0x78, 0x3b, 0x66,
- 0x01, 0x40, 0xcc, 0xb1, 0xec, 0xee, 0x82, 0xd6, 0x57, 0xce, 0x33, 0xc5,
- 0xf6, 0xfd, 0x95, 0x53,
- 0x0d, 0xc6, 0xd5, 0xf1, 0xb6, 0xac, 0x55, 0x77, 0x35, 0xcf, 0xa4, 0xb0,
- 0x14, 0x6b, 0xa6, 0x01,
- 0xe1, 0x20, 0x66, 0xb9, 0x76, 0x77, 0x41, 0x6b, 0xca, 0x67, 0xf8, 0x83,
- 0x7b, 0x9f, 0xab, 0xc8,
- 0x6b, 0x3f, 0xf0, 0x94, 0x0e, 0xd8, 0xa8, 0x87, 0x92, 0x26, 0x3c, 0x45,
- 0x79, 0x1a, 0x05, 0xfd,
- 0xc2, 0x37, 0x08, 0x2b, 0xf2, 0xb5, 0x29, 0xed, 0x41, 0x4f, 0x02, 0x15,
- 0x17, 0x4d, 0x5f, 0xcf,
- 0x5c, 0x61, 0xb5, 0xc6, 0x64, 0xdc, 0x7a, 0x21, 0xbf, 0x0d, 0xbc, 0x4c,
- 0xf0, 0xb1, 0xa4, 0x0c,
- 0xc7, 0xb4, 0x72, 0x1b, 0x28, 0x65, 0xe6, 0xe5, 0x89, 0x3f, 0xfd, 0x42,
- 0xbf, 0xc2, 0xdb, 0x13,
- 0x84, 0x19, 0xd4, 0xcc, 0x39, 0xf2, 0xf9, 0x22, 0x94, 0x1f, 0x35, 0xfa,
- 0xcf, 0x2a, 0x74, 0xc1,
- 0x45, 0xee, 0x4b, 0xf7, 0x3c, 0xb6, 0x95, 0x76, 0x2c, 0xc1, 0x62, 0x63,
- 0x01, 0xa3, 0x57, 0xfb,
- 0x79, 0x35, 0x36, 0x74, 0xcd, 0x3f, 0x98, 0x16, 0x05, 0xc4, 0xec, 0x01,
- 0xed, 0x28, 0xa8, 0x22,
- 0x4b, 0xe8, 0x09, 0x16, 0x7d, 0xeb, 0x85, 0xb8, 0xe0, 0x9f, 0x93, 0x5f,
- 0xcc, 0x0c, 0x8d, 0x0f,
- 0x48, 0x28, 0x9e, 0x06, 0x8a, 0x1a, 0xc0, 0x01, 0x19, 0x0e, 0xc6, 0xd3,
- 0x15, 0xc8, 0xf1, 0xfa,
- 0x6f, 0xfc, 0x46, 0x15, 0x38, 0xe6, 0xe5, 0x59, 0x0d, 0x98, 0xf0, 0xd7,
- 0x27, 0x68, 0x14, 0x72,
- 0xa7, 0x0e, 0xba, 0x5e, 0xbd, 0x30, 0x91, 0xa4, 0x1f, 0x37, 0xcf, 0x6c,
- 0xa3, 0xf8, 0x80, 0xc6,
- 0xa2, 0x8d, 0xc0, 0x6e, 0x67, 0xe0, 0x5e, 0xac, 0xd7, 0x47, 0x30, 0x3b,
- 0x0b, 0x77, 0x04, 0x1a,
- 0xc0, 0xb7, 0x53, 0x8a, 0xe9, 0xaa, 0xee, 0x82, 0xef, 0x10, 0x64, 0x5c,
- 0x38, 0x74, 0xb6, 0x69,
- 0x2c, 0x51, 0xe0, 0xc2, 0x29, 0x71, 0xfa, 0x9e, 0x10, 0xb8, 0x38, 0x6f,
- 0x57, 0x80, 0xbb, 0xa0,
- 0x81, 0x9a, 0xae, 0xfc, 0xe3, 0x22, 0x36, 0x2a, 0x5c, 0x6f, 0xca, 0xad,
- 0x67, 0xa5, 0xf0, 0x1d,
- 0xd0, 0x3d, 0xce, 0xcb, 0x31, 0x52, 0x19, 0x7c, 0xd6, 0xad, 0xd2, 0x51,
- 0x83, 0x7f, 0xf2, 0x10,
- 0x17, 0x89, 0xbc, 0xd0, 0x19, 0x37, 0xff, 0x99, 0x5f, 0x92, 0x2f, 0x13,
- 0x3c, 0xbd, 0x29, 0x03,
- 0xa3, 0xcd, 0x0c, 0xdf, 0x8b, 0x0e, 0xdc, 0x7a, 0x80, 0x89, 0x03, 0xfe,
- 0xfd, 0x8a, 0x91, 0x49,
- 0xd2, 0xbd, 0x95, 0x6a, 0x2a, 0x4d, 0xde, 0x13, 0x78, 0xf2, 0xb4, 0x18,
- 0xac, 0x46, 0x1b, 0xb6,
- 0x57, 0xe4, 0x8d, 0x17, 0xff, 0x51, 0xa5, 0xe7, 0xbb, 0x23, 0xb2, 0x27,
- 0x95, 0x91, 0xfa, 0x24,
- 0x71, 0x70, 0x99, 0xb5, 0xa1, 0x43, 0x02, 0x69, 0xf8, 0x7b, 0xb7, 0xe6,
- 0x51, 0xcc, 0x8a, 0xff,
- 0xa1, 0x4d, 0x57, 0x7e, 0x90, 0x11, 0x1b, 0x15, 0x2e, 0xd6, 0x65, 0xb7,
- 0xd2, 0xb3, 0x78, 0xef,
- 0xc3, 0x77, 0xc4, 0x9a, 0x1e, 0x5b, 0xab, 0x3b, 0x16, 0x81, 0x31, 0xd0,
- 0xe1, 0xb0, 0xca, 0x9c,
- 0x51, 0xa7, 0x60, 0x37, 0xd2, 0x70, 0x2f, 0x56, 0x8a, 0xc2, 0x18, 0xfc,
- 0xe4, 0xda, 0x02, 0x0d,
- 0x35, 0xde, 0x1e, 0xf3, 0x71, 0x1b, 0x15, 0xc9, 0x83, 0x74, 0xe6, 0x40,
- 0xa6, 0x92, 0x48, 0x57,
- 0x47, 0x6e, 0x10, 0x56, 0x27, 0xa9, 0x52, 0x19, 0x82, 0x9e, 0x04, 0x2a,
- 0x2e, 0x9a, 0xbe, 0x5d,
- 0xf5, 0x69, 0x4d, 0x79, 0x98, 0xb1, 0xfb, 0x4b, 0x6c, 0x64, 0x82, 0x1c,
- 0x9e, 0xe6, 0xfe, 0x3e,
- 0xb2, 0x07, 0x5d, 0x2f, 0xbf, 0x18, 0xa9, 0x52, 0xee, 0xfa, 0x86, 0x36,
- 0xb0, 0x7c, 0x40, 0x63,
- 0xd7, 0x3e, 0xef, 0x5a, 0xf0, 0x9d, 0x11, 0x1b, 0xb0, 0x82, 0x4b, 0x4f,
- 0x04, 0xc9, 0x9f, 0x6a,
- 0x16, 0xc9, 0x70, 0x61, 0xf5, 0xd9, 0x7d, 0x4f, 0x08, 0x5c, 0x1c, 0xd6,
- 0xca, 0x40, 0xbc, 0x50,
- 0x86, 0x99, 0x8f, 0x6d, 0x22, 0xed, 0x3e, 0x4d, 0x3a, 0x40, 0x53, 0xb3,
- 0xe0, 0x13, 0x9d, 0x67,
- 0x73, 0xf0, 0xc2, 0x14, 0xba, 0x5c, 0xc5, 0x06, 0x56, 0x24, 0xd1, 0xaf,
- 0x7e, 0xf5, 0x63, 0x59,
- 0xc4, 0x74, 0xe5, 0x0b, 0xdf, 0x94, 0xa3, 0x5c, 0x70, 0xae, 0xa8, 0xce,
- 0x66, 0x06, 0xa7, 0xe6,
- 0x34, 0x9e, 0xd2, 0x42, 0x9d, 0xf5, 0x97, 0x1f, 0xd4, 0xba, 0xd5, 0x85,
- 0x50, 0x6f, 0xdd, 0x04,
- 0xc6, 0xf4, 0xbe, 0xaa, 0xc4, 0x8b, 0x64, 0x33, 0xde, 0xf1, 0xce, 0x87,
- 0x49, 0x3f, 0x4e, 0x40,
- 0x96, 0x13, 0x12, 0x2c, 0xfa, 0x15, 0xc9, 0xb3, 0x03, 0xfd, 0xe5, 0xbe,
- 0x5b, 0x18, 0xd9, 0x1e,
- 0xed, 0xa6, 0x7f, 0xf9, 0x2c, 0x35, 0x96, 0xca, 0xa8, 0x66, 0x6f, 0xf6,
- 0x99, 0x09, 0x98, 0x9a,
- 0xf4, 0x29, 0x81, 0xc8, 0x74, 0x5f, 0x79, 0x9d, 0x3b, 0xaa, 0xb1, 0xd9,
- 0x68, 0x1b, 0x6b, 0x6d,
- 0xae, 0x0b, 0xd9, 0x2e, 0x3d, 0xa2, 0x89, 0x0d, 0xb5, 0x46, 0xa7, 0x4e,
- 0xe9, 0xe1, 0x37, 0x48,
- 0x63, 0x7a, 0x5f, 0x55, 0x62, 0xa4, 0x32, 0xf8, 0x6f, 0x99, 0x67, 0xa2,
- 0xc5, 0xfe, 0x27, 0x20,
- },
- { /* 5 */
- 0x79, 0x80, 0xab, 0xe7, 0xa9, 0x6f, 0x50, 0x97, 0xbe, 0x20, 0xdb, 0x5a,
- 0xb5, 0x1a, 0xf0, 0xb4,
- 0x91, 0x1a, 0x97, 0x16, 0x14, 0x45, 0x9f, 0x6e, 0x60, 0xe7, 0xef, 0x55,
- 0x0a, 0x58, 0x62, 0xaa,
- 0x99, 0xdc, 0x5f, 0x93, 0xd1, 0x32, 0x94, 0x30, 0x3d, 0x37, 0xfc, 0x67,
- 0x89, 0x09, 0x7f, 0xce,
- 0xb9, 0x42, 0xf9, 0xc2, 0x43, 0x2d, 0xb8, 0x8b, 0x8a, 0xf1, 0xb0, 0xaf,
- 0xc0, 0x8e, 0x0b, 0x9d,
- 0x71, 0x46, 0x63, 0x62, 0x6c, 0x18, 0x5b, 0xc9, 0xe3, 0xf0, 0xc8, 0x68,
- 0x36, 0x4b, 0xed, 0xd0,
- 0xea, 0x4a, 0x0e, 0x41, 0x1d, 0x47, 0xbd, 0x0f, 0x58, 0xf3, 0x40, 0xe2,
- 0xef, 0xc7, 0x04, 0x07,
- 0xd7, 0x56, 0x4e, 0xa7, 0xd0, 0xcc, 0x51, 0x02, 0x84, 0xf4, 0xeb, 0xf2,
- 0x68, 0xd9, 0xf3, 0x27,
- 0x95, 0x79, 0xf3, 0xb5, 0x97, 0x9f, 0x7b, 0x41, 0xaf, 0x8f, 0x07, 0x4c,
- 0xaa, 0x91, 0x8d, 0x98,
- 0x55, 0xbb, 0xa1, 0x90, 0x7d, 0xdd, 0x93, 0x5d, 0x9b, 0x5e, 0x6c, 0xb9,
- 0xdf, 0x05, 0x76, 0xb1,
- 0xda, 0x9b, 0xfb, 0xd9, 0xc6, 0xb6, 0x87, 0x08, 0x55, 0x56, 0x2a, 0x4e,
- 0x63, 0xe2, 0x4a, 0x9c,
- 0xdb, 0xf3, 0xe2, 0x81, 0x96, 0x61, 0xbe, 0x73, 0x16, 0x4c, 0x10, 0xd9,
- 0x4b, 0x41, 0x01, 0x71,
- 0xb5, 0xe7, 0x55, 0xe4, 0x05, 0x80, 0x57, 0xfa, 0x18, 0x49, 0x4b, 0x84,
- 0xe3, 0x16, 0xf9, 0xcb,
- 0x3f, 0xcc, 0x72, 0x56, 0x6d, 0xe6, 0x9e, 0xfb, 0x5a, 0x33, 0xdf, 0xfd,
- 0xd7, 0x9b, 0x61, 0x39,
- 0x54, 0xd3, 0xb8, 0xc8, 0x2d, 0x0a, 0xaa, 0x26, 0xd8, 0x44, 0x56, 0x2e,
- 0xf7, 0xa6, 0x3d, 0x5c,
- 0x7d, 0xe3, 0xcf, 0x44, 0x2a, 0xb5, 0xb4, 0xb8, 0x71, 0x48, 0x33, 0x43,
- 0x15, 0xd3, 0x1f, 0x86,
- 0xd5, 0x86, 0x7c, 0x17, 0x70, 0xa1, 0x23, 0xf4, 0x02, 0xc0, 0x9f, 0x1f,
- 0x38, 0x5c, 0x65, 0x3e,
- 0xbd, 0x21, 0x9d, 0x61, 0xc0, 0xf7, 0x5c, 0xa4, 0x45, 0x99, 0x58, 0xb6,
- 0x60, 0x47, 0xe4, 0xaf,
- 0xa9, 0x0d, 0xaa, 0x0b, 0x0a, 0xc3, 0xae, 0x37, 0x30, 0x92, 0x96, 0xcb,
- 0x05, 0x2c, 0x31, 0x55,
- 0xfe, 0x66, 0x39, 0x2b, 0xd7, 0x73, 0x4f, 0x9c, 0x2d, 0xf8, 0x8e, 0x9f,
- 0x8a, 0xac, 0xd1, 0xfd,
- 0x3b, 0xaf, 0x16, 0xf5, 0xee, 0x3c, 0x7a, 0xd4, 0x95, 0x5b, 0x37, 0xe4,
- 0x77, 0x52, 0x8e, 0x0b,
- 0x1d, 0x82, 0xe6, 0xb7, 0x5f, 0x94, 0xc0, 0xb6, 0x6b, 0xc1, 0xe7, 0xd8,
- 0xce, 0x99, 0x83, 0x73,
- 0x36, 0x62, 0xa3, 0x8b, 0xf8, 0x46, 0xac, 0xde, 0x44, 0xf9, 0xf6, 0x58,
- 0x7c, 0x69, 0x37, 0xb0,
- 0x38, 0x17, 0x3d, 0x1d, 0x1e, 0x86, 0x31, 0x59, 0x50, 0x75, 0x79, 0x9e,
- 0x0f, 0x74, 0x53, 0xff,
- 0x07, 0xdb, 0x4f, 0x4b, 0x73, 0x60, 0xaf, 0xa2, 0x0a, 0x46, 0xa6, 0x63,
- 0xd8, 0xef, 0x32, 0xc6,
- 0x1b, 0x31, 0xb0, 0xa4, 0x7c, 0x23, 0x56, 0x6f, 0x22, 0x9d, 0x7b, 0x2c,
- 0x3e, 0xd5, 0xfa, 0x58,
- 0xfb, 0x6d, 0x44, 0xd0, 0x04, 0x7e, 0x92, 0xc8, 0xa1, 0x8a, 0x5c, 0x11,
- 0x02, 0xc6, 0x75, 0x22,
- 0x70, 0x2e, 0x7a, 0x3a, 0x3c, 0xcf, 0x62, 0xb2, 0xa0, 0xea, 0xf2, 0xff,
- 0x1e, 0xe8, 0xa6, 0x3d,
- 0x89, 0x93, 0x0c, 0x5a, 0x98, 0xdc, 0x82, 0x8c, 0x87, 0x54, 0xda, 0x03,
- 0x4c, 0xab, 0x45, 0x06,
- 0x4a, 0xe9, 0x75, 0x97, 0x82, 0x24, 0x21, 0x1d, 0x76, 0xab, 0xff, 0x8c,
- 0x41, 0x19, 0x63, 0xdb,
- 0xae, 0xd6, 0xe5, 0x40, 0x79, 0xa3, 0x01, 0x95, 0x3a, 0xd4, 0x30, 0xa8,
- 0xdd, 0xc3, 0x03, 0x93,
- 0x3d, 0x1c, 0x40, 0xe6, 0xcd, 0x8b, 0xec, 0x0d, 0xdc, 0x07, 0xab, 0x10,
- 0x87, 0x1e, 0xf7, 0x20,
- 0x29, 0x30, 0x77, 0x8c, 0x07, 0xbf, 0x1e, 0x9e, 0xa9, 0x0c, 0x65, 0x6d,
- 0xe2, 0x75, 0x22, 0xda,
- 0x8a, 0x2b, 0x27, 0xb2, 0x68, 0x66, 0xc9, 0x01, 0x42, 0x7a, 0x94, 0x79,
- 0x34, 0x8d, 0x98, 0xf2,
- 0xcd, 0x0f, 0xe7, 0x5b, 0xfc, 0x38, 0x3e, 0x16, 0xe5, 0x73, 0xaa, 0x49,
- 0x7e, 0xaf, 0x42, 0x92,
- 0x41, 0x97, 0x96, 0xfa, 0xb7, 0xe9, 0x61, 0xce, 0xee, 0x55, 0xa2, 0xc4,
- 0xba, 0x6e, 0xa3, 0x4b,
- 0xce, 0xb7, 0xcc, 0xb3, 0x0c, 0x82, 0x75, 0x9b, 0x20, 0x5d, 0xe4, 0x33,
- 0x06, 0x89, 0x9f, 0x66,
- 0x16, 0xfc, 0x05, 0xda, 0x6a, 0x59, 0x80, 0x65, 0xf3, 0x3f, 0xba, 0x90,
- 0x35, 0xee, 0x43, 0xe3,
- 0x6c, 0xc4, 0x85, 0xd5, 0x33, 0x8c, 0x9b, 0x7f, 0x88, 0x31, 0x2f, 0xb0,
- 0xf8, 0xd2, 0x6e, 0xa3,
- 0x1f, 0x52, 0xd4, 0x07, 0xff, 0xf9, 0xb2, 0x40, 0xed, 0xf5, 0x93, 0x35,
- 0x9e, 0x1c, 0x15, 0x6a,
- 0xe0, 0x5c, 0xf4, 0x74, 0x78, 0x5d, 0xc4, 0xa7, 0x83, 0x17, 0x27, 0x3d,
- 0x3c, 0x13, 0x8f, 0x7a,
- 0xf5, 0x18, 0xda, 0x46, 0xe2, 0xbe, 0x0f, 0x4f, 0xb5, 0x06, 0xd3, 0xd7,
- 0x71, 0xdb, 0x11, 0x6d,
- 0xb0, 0xec, 0x28, 0x1f, 0xd6, 0x8d, 0x8a, 0xae, 0x94, 0x3b, 0x99, 0x0a,
- 0x6b, 0x7c, 0x5d, 0x14,
- 0xde, 0xf8, 0x9f, 0x7a, 0x45, 0x6c, 0x63, 0x27, 0x9a, 0x3e, 0xc2, 0x57,
- 0xc3, 0x2b, 0xa5, 0xae,
- 0x03, 0xb8, 0x2b, 0xe8, 0xf0, 0xba, 0x4b, 0x8d, 0xc5, 0x2e, 0x4e, 0x7a,
- 0x78, 0x26, 0xdd, 0xf4,
- 0xd0, 0x8d, 0x01, 0xec, 0xa3, 0xac, 0xfe, 0xa0, 0x8e, 0xb2, 0x4d, 0x91,
- 0xb0, 0x36, 0xc1, 0xe1,
- 0x8e, 0x48, 0x43, 0x11, 0xeb, 0xbc, 0x2d, 0x2e, 0x8d, 0x12, 0x7c, 0x60,
- 0x94, 0x44, 0x77, 0xc0,
- 0x23, 0x26, 0x8d, 0xb9, 0x62, 0xa5, 0x67, 0x36, 0x72, 0xe8, 0x02, 0xb2,
- 0x31, 0xa1, 0xa9, 0xa7,
- 0x0a, 0x16, 0xfa, 0x35, 0x65, 0x1a, 0x79, 0xa8, 0xdb, 0xe4, 0x67, 0xdf,
- 0xd3, 0xd4, 0x8b, 0x7d,
- 0xf3, 0xab, 0x8c, 0x55, 0xc1, 0x09, 0x99, 0x96, 0xfc, 0x5a, 0x4f, 0x23,
- 0x81, 0x97, 0x68, 0x46,
- 0x06, 0xb3, 0x56, 0x13, 0x23, 0xb7, 0x96, 0xd9, 0x49, 0x5c, 0x9c, 0xf4,
- 0xf0, 0x4c, 0x79, 0x2b,
- 0xdf, 0x90, 0x86, 0x22, 0x15, 0xbb, 0x5a, 0x5c, 0xd9, 0x24, 0xf8, 0xc0,
- 0xeb, 0x88, 0xee, 0x43,
- 0x4d, 0x32, 0x3a, 0xdc, 0xf1, 0x44, 0x8e, 0xbf, 0x7c, 0xed, 0x59, 0xef,
- 0x99, 0xf6, 0x51, 0x1d,
- 0x98, 0xb4, 0x46, 0xcb, 0x81, 0xe5, 0xad, 0x4b, 0x7e, 0x2d, 0xc6, 0xf0,
- 0xa1, 0xaa, 0x34, 0x23,
- 0x97, 0xa9, 0xc1, 0x05, 0x37, 0xf2, 0x09, 0xb7, 0x29, 0xbb, 0x73, 0xa1,
- 0xfa, 0x14, 0x1b, 0x81,
- 0xad, 0x6e, 0xce, 0xa8, 0x89, 0x19, 0x4a, 0x18, 0xff, 0xfa, 0x7e, 0xd2,
- 0xa5, 0xe5, 0xde, 0x67,
- 0x15, 0x44, 0x2e, 0x32, 0x9a, 0xe3, 0xcb, 0xe8, 0x36, 0x11, 0xf4, 0xea,
- 0x4d, 0xc8, 0x9e, 0x17,
- 0xa2, 0x73, 0x49, 0x66, 0x3f, 0x0e, 0xee, 0xe4, 0xa8, 0x6c, 0xcb, 0x83,
- 0xfe, 0x5b, 0xf1, 0xc5,
- 0xab, 0xdd, 0x98, 0xbb, 0xaa, 0xae, 0xdc, 0xc1, 0xb6, 0xa6, 0xe2, 0x26,
- 0x55, 0xa9, 0xa7, 0x4c,
- 0xc0, 0xc2, 0x52, 0x25, 0xea, 0x42, 0xe8, 0x1c, 0x34, 0xd1, 0x6b, 0xf5,
- 0x75, 0x94, 0xfb, 0x29,
- 0xb6, 0x5f, 0x7e, 0x0c, 0xf5, 0x3a, 0x1c, 0x77, 0xdd, 0x67, 0x05, 0xfe,
- 0x9b, 0x30, 0x24, 0x3f,
- 0x53, 0x08, 0xf7, 0x83, 0x5e, 0x6a, 0x05, 0x84, 0xd2, 0x02, 0xf0, 0x4d,
- 0x2f, 0x49, 0x0f, 0x9a,
- 0xed, 0x91, 0x41, 0x0a, 0x6e, 0x27, 0x12, 0xad, 0x52, 0xb5, 0xe6, 0x81,
- 0x37, 0x28, 0x36, 0xc1,
- 0xc1, 0xaa, 0x4b, 0x7d, 0xba, 0x95, 0xd1, 0x67, 0x77, 0xcb, 0x51, 0x62,
- 0x5d, 0x37, 0xb0, 0xc4,
- 0xe1, 0x34, 0xed, 0x2c, 0x28, 0x8a, 0xfd, 0xdc, 0xc0, 0x0d, 0x1d, 0xaa,
- 0x14, 0xb0, 0xc4, 0x97,
- 0x62, 0xb1, 0x1b, 0x43, 0xd5, 0x4c, 0x06, 0xf8, 0x9c, 0xbd, 0xa0, 0x76,
- 0x8b, 0xcf, 0x0a, 0xec,
- 0x24, 0xfd, 0xc2, 0xf2, 0x11, 0xc5, 0xc8, 0x94, 0x78, 0xae, 0xa4, 0xd1,
- 0xe9, 0x4e, 0x9b, 0x61,
- 0xe9, 0xf2, 0x25, 0xa9, 0xed, 0xfd, 0xf6, 0x82, 0x9d, 0xdd, 0x0e, 0x98,
- 0x97, 0xe1, 0xd9, 0xf3,
- 0x65, 0x6a, 0x54, 0x08, 0xa6, 0x2c, 0xa9, 0x5a, 0x96, 0xfb, 0x06, 0x15,
- 0x53, 0x20, 0x38, 0x2a,
- 0xec, 0xf9, 0x58, 0x52, 0x3e, 0xf0, 0x2b, 0xd6, 0x11, 0xaf, 0xdc, 0x16,
- 0x1f, 0x8b, 0x7d, 0x2c,
- 0x5d, 0x7d, 0x69, 0x15, 0xb8, 0xaa, 0x98, 0x03, 0xc6, 0x8e, 0x7f, 0x8b,
- 0x5c, 0x54, 0x6b, 0xd5,
- 0x26, 0x2d, 0xf0, 0x42, 0xb1, 0xa8, 0xba, 0x62, 0xfe, 0x9a, 0xd0, 0x3c,
- 0xb9, 0xcb, 0x0d, 0x78,
- 0xbe, 0x99, 0xb6, 0x89, 0x30, 0x4d, 0x17, 0x29, 0x80, 0xb7, 0x16, 0xcc,
- 0x18, 0x61, 0x39, 0x5b,
- 0x21, 0xf6, 0xbf, 0x09, 0xc2, 0xc8, 0x15, 0xc0, 0xf4, 0xdc, 0x76, 0x5f,
- 0x61, 0x24, 0x3f, 0xbe,
- 0x4b, 0x81, 0x6c, 0xcf, 0xd2, 0xf3, 0x18, 0x66, 0x35, 0xb1, 0xc5, 0x1b,
- 0x69, 0xba, 0x28, 0x36,
- 0x48, 0x39, 0x47, 0x27, 0x22, 0x49, 0x53, 0xeb, 0xf0, 0x9f, 0x8b, 0x61,
- 0x11, 0x9c, 0xf5, 0xc2,
- 0xca, 0xd4, 0xa8, 0x10, 0x8f, 0x58, 0x91, 0xb4, 0xef, 0x35, 0x0c, 0x2a,
- 0xa6, 0x40, 0x70, 0x54,
- 0xf7, 0xc8, 0xe8, 0xf6, 0x42, 0xd3, 0x7d, 0xb9, 0x33, 0x32, 0xa7, 0x3a,
- 0x21, 0x5e, 0x87, 0x74,
- 0x7c, 0x8b, 0xd6, 0x1c, 0x7a, 0x62, 0x8d, 0xc3, 0x32, 0x52, 0x09, 0xd4,
- 0x3d, 0x70, 0x54, 0x6b,
- 0xff, 0x0e, 0x20, 0x73, 0x87, 0xa4, 0x76, 0xe7, 0x6e, 0xe2, 0xb4, 0x08,
- 0xa2, 0x0f, 0x9a, 0x10,
- 0x20, 0x9e, 0xa6, 0x51, 0x92, 0x1f, 0x2c, 0xbb, 0xb7, 0xc6, 0x4c, 0xc8,
- 0x49, 0x87, 0x74, 0x53,
- 0xd1, 0xe5, 0x18, 0xb4, 0xf3, 0x7b, 0xc7, 0xdb, 0xcd, 0xa8, 0x77, 0x06,
- 0x98, 0x95, 0x8a, 0x0c,
- 0x85, 0x36, 0xa0, 0x7c, 0xde, 0x71, 0x6d, 0xfd, 0x15, 0xec, 0x21, 0x28,
- 0x6f, 0x33, 0xb7, 0x50,
- 0x58, 0x76, 0x14, 0xee, 0x6b, 0xa7, 0x45, 0x57, 0x4a, 0xfc, 0xad, 0x05,
- 0xd4, 0x3e, 0xcf, 0x0a,
- 0x49, 0x51, 0x5e, 0x7f, 0x72, 0x9e, 0x6a, 0x90, 0xb3, 0x85, 0xb1, 0xf6,
- 0x39, 0x3f, 0xbe, 0x2f,
- 0xfa, 0x05, 0x5d, 0x88, 0x54, 0xa9, 0xab, 0xb3, 0xe2, 0x90, 0x66, 0x86,
- 0x2a, 0x65, 0x3e, 0xcf,
- 0x87, 0xe6, 0x92, 0xcc, 0x7e, 0x1c, 0x1f, 0x0b, 0x93, 0xd8, 0x55, 0xc5,
- 0x3f, 0xb6, 0x21, 0x49,
- 0x27, 0x45, 0xe9, 0x1a, 0xe1, 0x7f, 0x83, 0x19, 0xbd, 0x80, 0xea, 0xab,
- 0x91, 0x68, 0x46, 0x95,
- 0xe8, 0x9a, 0x3c, 0xf1, 0xbd, 0x2a, 0xcf, 0xf9, 0xde, 0xc7, 0x34, 0x0f,
- 0xbf, 0x42, 0x92, 0x1e,
- 0xf4, 0x70, 0xc3, 0x1e, 0xb2, 0x69, 0x36, 0x34, 0xf6, 0x1c, 0xe9, 0x40,
- 0x59, 0x78, 0x5a, 0x80,
- 0x5a, 0xa6, 0x26, 0x5e, 0xcb, 0xca, 0x37, 0xa1, 0xcc, 0xc8, 0xd9, 0xe8,
- 0x84, 0xbb, 0x59, 0x13,
- 0x66, 0xd2, 0x7f, 0xe0, 0x56, 0x96, 0xe2, 0xd7, 0x53, 0xd5, 0x48, 0x6f,
- 0x2b, 0x06, 0xe5, 0xde,
- 0xf0, 0x13, 0xa7, 0xbd, 0x31, 0xb3, 0xd2, 0x1b, 0x39, 0x74, 0x01, 0x59,
- 0xf9, 0xb1, 0xb5, 0xb2,
- 0xcb, 0xbc, 0xb1, 0x48, 0xdf, 0x8f, 0xa8, 0xcf, 0xac, 0x2f, 0x36, 0xbd,
- 0x8e, 0xe3, 0x3b, 0xb9,
- 0x0e, 0x75, 0x9e, 0x96, 0xe6, 0xc0, 0x9d, 0x87, 0x14, 0x8c, 0x8f, 0xc6,
- 0x73, 0x1d, 0x64, 0x4f,
- 0xe2, 0x8c, 0xc6, 0xc4, 0xd8, 0x30, 0xb6, 0x51, 0x05, 0x23, 0x53, 0xd0,
- 0x6c, 0x96, 0x19, 0x63,
- 0x57, 0x6b, 0x93, 0x20, 0xdd, 0xb0, 0xe1, 0xab, 0x1d, 0x6a, 0x18, 0x54,
- 0x8f, 0x80, 0xe0, 0xa8,
- 0xc4, 0xa1, 0x36, 0x86, 0x69, 0x98, 0x0c, 0x33, 0xfb, 0xb9, 0x83, 0xec,
- 0xd5, 0x5d, 0x14, 0x1b,
- 0x9b, 0x0c, 0x6d, 0x23, 0x71, 0x5f, 0xe6, 0xc6, 0xbb, 0x03, 0x88, 0x8a,
- 0xd9, 0x8c, 0xe9, 0xd7,
- 0xee, 0x29, 0x6a, 0xe2, 0x9e, 0x9d, 0x59, 0x20, 0x97, 0x9b, 0xa8, 0xfb,
- 0x4f, 0x0e, 0xeb, 0x35,
- 0x1a, 0x59, 0xa9, 0xfc, 0x2c, 0xf4, 0x6f, 0x14, 0x61, 0x87, 0x41, 0xbb,
- 0x16, 0x76, 0xb1, 0xb5,
- 0x37, 0x0a, 0xba, 0xd3, 0xa8, 0x91, 0x95, 0xa5, 0x07, 0xe3, 0xcc, 0xcf,
- 0x54, 0xca, 0x7c, 0x5d,
- 0x2e, 0xeb, 0x38, 0xc7, 0x74, 0xdf, 0xb1, 0x3c, 0xa3, 0x4a, 0xc3, 0x0e,
- 0x3a, 0x9a, 0x10, 0x1c,
- 0x69, 0xcf, 0xf8, 0x2e, 0xe0, 0x81, 0x46, 0x2b, 0x04, 0x43, 0xfd, 0x3e,
- 0x70, 0xb8, 0xca, 0x7c,
- 0x8b, 0x43, 0x3e, 0xea, 0x38, 0xb1, 0xf0, 0x7a, 0x01, 0x60, 0xae, 0xee,
- 0x1c, 0x2e, 0xd3, 0x1f,
- 0xaf, 0xbe, 0xfc, 0x18, 0x29, 0x74, 0x38, 0xee, 0x79, 0xce, 0x0a, 0x3f,
- 0xf5, 0x60, 0x48, 0x7e,
- 0xc2, 0x12, 0x60, 0x95, 0x4a, 0x2f, 0x9a, 0xea, 0xb2, 0xe5, 0x1f, 0x18,
- 0x25, 0x11, 0x6d, 0x30,
- 0x7f, 0x33, 0xfd, 0xf4, 0x8a, 0xd8, 0xc6, 0x4e, 0xf7, 0x7c, 0x47, 0xae,
- 0x45, 0x56, 0x89, 0x9f,
- 0x64, 0x02, 0x4d, 0x50, 0xf6, 0xfb, 0x90, 0x21, 0xd5, 0xe1, 0x3c, 0x82,
- 0x7b, 0x83, 0x73, 0xc7,
- 0x45, 0xf4, 0xf2, 0x59, 0x34, 0x33, 0x85, 0xe1, 0x21, 0x3d, 0x4a, 0xdd,
- 0x1a, 0xa7, 0x4c, 0x79,
- 0x14, 0x2c, 0x37, 0x6a, 0xca, 0x34, 0xf2, 0x93, 0x75, 0x0b, 0xce, 0x7d,
- 0x65, 0x6b, 0xd5, 0xfa,
- 0xfd, 0xde, 0x12, 0xc3, 0x27, 0xc9, 0x04, 0x11, 0xe8, 0xd6, 0xc0, 0xe5,
- 0xf2, 0x8a, 0x0c, 0x09,
- 0xac, 0x06, 0xd7, 0xf0, 0xd9, 0xce, 0x73, 0x63, 0xbc, 0xe0, 0x44, 0x45,
- 0x8d, 0x46, 0x95, 0x8a,
- 0x86, 0x8e, 0x8b, 0x94, 0x2e, 0xcb, 0x26, 0x70, 0xd0, 0xc2, 0x6f, 0x52,
- 0x17, 0x15, 0x6a, 0xa4,
- 0x76, 0x9d, 0x2c, 0x29, 0x1f, 0x78, 0xf4, 0x6b, 0xe9, 0xb6, 0x6e, 0x0b,
- 0xee, 0xa4, 0xdf, 0x16,
- 0x43, 0x47, 0xa4, 0x4a, 0x17, 0x84, 0x13, 0x38, 0x68, 0x61, 0xd6, 0x29,
- 0xea, 0xeb, 0x35, 0x52,
- 0x50, 0xb0, 0xdc, 0x6b, 0xae, 0xd0, 0x4e, 0x09, 0x17, 0x2c, 0xbe, 0x37,
- 0x57, 0x6f, 0xd2, 0x6e,
- 0x28, 0x58, 0x6e, 0xd4, 0x57, 0x68, 0x27, 0xe5, 0xea, 0x16, 0x5f, 0xfa,
- 0xca, 0xd6, 0x69, 0x37,
- 0xaa, 0xb5, 0x81, 0xe3, 0xfa, 0x79, 0xe5, 0xba, 0xf5, 0xbc, 0xd8, 0xb1,
- 0x7d, 0x0a, 0xec, 0xa1,
- 0x5e, 0xc5, 0x42, 0xfd, 0x48, 0x10, 0xd3, 0x8e, 0x03, 0xa0, 0x31, 0xf1,
- 0x24, 0x72, 0xb6, 0x21,
- 0xdd, 0x40, 0xb4, 0x92, 0xb5, 0xd6, 0x28, 0xaa, 0x5f, 0x10, 0x8c, 0x2d,
- 0xbb, 0x0d, 0x78, 0x5a,
- 0xbb, 0x92, 0xcb, 0x72, 0xe3, 0x40, 0xca, 0x7d, 0x0c, 0xc5, 0xc4, 0x42,
- 0x90, 0x0b, 0x9d, 0x84,
- 0x96, 0xc1, 0xd8, 0x5d, 0x67, 0x25, 0x30, 0xcc, 0x6a, 0xa1, 0x49, 0x36,
- 0xd2, 0xb7, 0x50, 0x6c,
- 0x05, 0x0b, 0x7d, 0xfb, 0xd3, 0x0d, 0xdd, 0x54, 0x8c, 0x72, 0xd2, 0x8e,
- 0x88, 0x6a, 0xa4, 0xdf,
- 0x7b, 0x50, 0x99, 0x57, 0x09, 0x02, 0x22, 0x61, 0x38, 0x14, 0xaf, 0xb7,
- 0xe5, 0x9f, 0x66, 0xad,
- 0xf6, 0xa0, 0xf1, 0xae, 0x12, 0x04, 0x44, 0xc2, 0x70, 0x28, 0x9d, 0xad,
- 0x09, 0xfd, 0xcc, 0x99,
- 0x2b, 0xe0, 0x45, 0x3c, 0xa7, 0xd2, 0x6c, 0x68, 0x2f, 0x38, 0x11, 0x80,
- 0xb2, 0xf0, 0xb4, 0xc3,
- 0x09, 0xae, 0xd1, 0xdd, 0x95, 0xa0, 0x32, 0x25, 0x1e, 0xca, 0x29, 0xa5,
- 0xab, 0xf2, 0x56, 0x89,
- 0xc7, 0x19, 0x1d, 0x6e, 0x99, 0x22, 0x47, 0xbe, 0x3e, 0x97, 0xcd, 0x96,
- 0xad, 0x7b, 0xc9, 0xef,
- 0x46, 0x4c, 0xd9, 0xb1, 0xc4, 0x89, 0xce, 0x6c, 0xe4, 0x13, 0x04, 0xa7,
- 0x62, 0x81, 0x91, 0x8d,
- 0x0d, 0xcd, 0xb5, 0x7e, 0x16, 0x7a, 0xd6, 0x0a, 0xd1, 0xa2, 0xc1, 0xbc,
- 0x0b, 0x3b, 0xb9, 0xbb,
- 0x13, 0xf7, 0x78, 0x21, 0xb9, 0x54, 0x5d, 0x31, 0x7f, 0x4d, 0x68, 0x1e,
- 0xbd, 0x84, 0xe7, 0x3c,
- 0x61, 0x09, 0x30, 0xab, 0x25, 0xf6, 0x4d, 0x75, 0x59, 0x93, 0xee, 0x0c,
- 0xf3, 0xe9, 0xd7, 0x18,
- 0x01, 0x68, 0x19, 0x58, 0x50, 0xd7, 0x39, 0x7b, 0x43, 0x1a, 0x3a, 0x97,
- 0x28, 0xa3, 0x4b, 0xed,
- 0xef, 0x41, 0x73, 0xba, 0xce, 0x4a, 0x60, 0x5b, 0xd4, 0x81, 0x92, 0x6c,
- 0x67, 0xad, 0xa0, 0xd8,
- 0x8d, 0xf0, 0x68, 0xf9, 0x1b, 0x06, 0x66, 0xa3, 0x48, 0x3c, 0x32, 0x1a,
- 0xec, 0x62, 0xaa, 0x34,
- 0xd3, 0x35, 0x2a, 0x04, 0x53, 0x16, 0xb5, 0x2d, 0x4b, 0x9c, 0x03, 0xeb,
- 0xc8, 0x10, 0x1c, 0x15,
- 0xbc, 0x49, 0x84, 0x39, 0x90, 0x20, 0x65, 0xdf, 0x06, 0x83, 0x62, 0x21,
- 0x48, 0xe4, 0xaf, 0x42,
- 0xf1, 0x7b, 0xbe, 0xe5, 0x61, 0x64, 0xeb, 0x60, 0x7a, 0x6e, 0x3b, 0xce,
- 0xd1, 0x12, 0xfe, 0x5f,
- 0x32, 0x01, 0xc7, 0x28, 0x7b, 0x9c, 0x48, 0xf1, 0x8b, 0x91, 0x1e, 0x41,
- 0xdc, 0xa0, 0xd8, 0x82,
- 0x5c, 0x15, 0x70, 0x4d, 0xe8, 0x7d, 0xa1, 0x78, 0x85, 0x94, 0x45, 0x1c,
- 0x74, 0xf7, 0x20, 0x38,
- 0x02, 0xd0, 0x32, 0xb0, 0xa0, 0x6d, 0x72, 0xf6, 0x86, 0x34, 0x74, 0xed,
- 0x50, 0x85, 0x96, 0x19,
- 0xb1, 0x84, 0x31, 0x47, 0x86, 0x5a, 0xb3, 0xd5, 0xd7, 0x21, 0xa3, 0x9d,
- 0x43, 0xdf, 0x16, 0xf9,
- 0x56, 0x03, 0x8a, 0x78, 0x8d, 0x67, 0xd8, 0xd0, 0x5e, 0x70, 0x22, 0xc3,
- 0xa7, 0x23, 0xab, 0x45,
- 0x51, 0xd8, 0xc5, 0x33, 0xfe, 0x07, 0x77, 0x72, 0x54, 0x36, 0x84, 0xa0,
- 0x7f, 0xcc, 0x99, 0x83,
- 0xc9, 0x6c, 0x83, 0xf8, 0x7f, 0xe2, 0xda, 0x39, 0x2a, 0x1b, 0x42, 0x50,
- 0xde, 0x66, 0xad, 0xa0,
- 0xd6, 0x3e, 0x57, 0xff, 0x80, 0x1b, 0x68, 0x79, 0xc7, 0xee, 0xd1, 0x65,
- 0x40, 0x7a, 0xb8, 0xca,
- 0x4e, 0x8a, 0x11, 0x34, 0x01, 0xfe, 0xc5, 0x32, 0xb9, 0xc3, 0x17, 0x95,
- 0xe1, 0xd0, 0x8c, 0xe9,
- 0xc8, 0x04, 0x9a, 0xa0, 0x2f, 0x35, 0xe3, 0x42, 0x69, 0x01, 0x78, 0xc7,
- 0xf6, 0xc5, 0xe6, 0x4d,
- 0xa0, 0xa3, 0x7b, 0xd6, 0x9f, 0x63, 0x9c, 0x12, 0x2e, 0x58, 0xbf, 0x6e,
- 0xae, 0xde, 0x67, 0xdc,
- 0x31, 0xb9, 0xec, 0xc0, 0x8b, 0x26, 0x03, 0x7c, 0x4e, 0xbf, 0x50, 0x3b,
- 0xa4, 0x86, 0x05, 0x76,
- 0x22, 0x4e, 0x94, 0xe1, 0x32, 0x72, 0x5e, 0x4d, 0x31, 0xf2, 0x38, 0x25,
- 0x19, 0x02, 0xe2, 0x4a,
- 0xa5, 0xa8, 0x06, 0x2d, 0x4c, 0x6e, 0x41, 0x46, 0xa2, 0x2a, 0x6d, 0xe0,
- 0x26, 0xb4, 0xc3, 0x03,
- 0x17, 0x94, 0x1c, 0x82, 0x3a, 0x8e, 0xb9, 0x1e, 0xb0, 0x25, 0x80, 0x07,
- 0x1d, 0x4d, 0x08, 0x0e,
- 0x33, 0x69, 0xde, 0x70, 0x2b, 0x4b, 0x71, 0x8a, 0xc8, 0x8b, 0x24, 0xd6,
- 0xf4, 0x03, 0x93, 0x6f,
- 0x94, 0x11, 0xea, 0xed, 0xc7, 0x48, 0x42, 0x3a, 0xec, 0x95, 0x3d, 0xdb,
- 0x82, 0x32, 0xc6, 0x75,
- 0xeb, 0x22, 0x17, 0x19, 0x4d, 0x90, 0x84, 0x74, 0x1b, 0xe9, 0x7a, 0x75,
- 0xc7, 0x64, 0x4f, 0xea,
- 0x84, 0x5e, 0xb9, 0x24, 0x8e, 0xa6, 0x54, 0x86, 0x56, 0xf6, 0x1b, 0xbf,
- 0x47, 0x90, 0xfc, 0xbd,
- 0x08, 0xc6, 0xc8, 0x85, 0xc5, 0x77, 0x0b, 0x5e, 0x5d, 0xd0, 0x13, 0x32,
- 0x83, 0x51, 0x1d, 0x64,
- 0x25, 0x95, 0xdb, 0xaa, 0x41, 0x12, 0xf1, 0xef, 0x3b, 0xb4, 0x9e, 0x46,
- 0xc1, 0xed, 0xd0, 0x8c,
- 0xf9, 0xbd, 0x76, 0x60, 0xa4, 0x13, 0xe0, 0x3e, 0x27, 0xbe, 0x28, 0xfc,
- 0x52, 0x43, 0xe3, 0x3b,
- 0x39, 0x7f, 0x24, 0x45, 0x4e, 0x51, 0x08, 0x22, 0x13, 0x6f, 0x43, 0x09,
- 0x27, 0xd7, 0x18, 0x12,
- 0x60, 0x61, 0x29, 0xf3, 0x75, 0x21, 0x74, 0x0e, 0x1a, 0x89, 0xd4, 0x9b,
- 0xdb, 0x4a, 0x9c, 0xf5,
- 0xb2, 0x3c, 0x1a, 0xaf, 0x76, 0xe0, 0xf8, 0x58, 0x12, 0x0f, 0xed, 0xe7,
- 0x3b, 0xf9, 0xcb, 0x0d,
- 0xd4, 0xee, 0x65, 0x4f, 0x20, 0x76, 0x1a, 0x8f, 0x41, 0xda, 0xa5, 0x88,
- 0x10, 0xff, 0x2e, 0xd3,
- 0x6f, 0x7c, 0xae, 0x3d, 0xc3, 0x36, 0xd0, 0xf2, 0x4d, 0x1f, 0x61, 0xca,
- 0x80, 0xf4, 0xb3, 0x57,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x6d, 0xac, 0x9c, 0x8d, 0x63, 0x5b, 0xa2, 0x04, 0xcb, 0x2b, 0x15, 0x27,
- 0xd0, 0x71, 0x25, 0x4e,
- 0xa1, 0xcb, 0x62, 0x8e, 0xcf, 0xb4, 0xa5, 0x69, 0x6d, 0x42, 0x85, 0xf9,
- 0x86, 0x7d, 0x2c, 0x31,
- 0x12, 0x9f, 0x61, 0x79, 0xe9, 0x83, 0x64, 0x4a, 0x3c, 0x57, 0x52, 0x89,
- 0x95, 0x27, 0xac, 0xd1,
- 0xd8, 0x4b, 0xc9, 0x69, 0x66, 0xdb, 0xf5, 0xfe, 0xd3, 0x62, 0x5e, 0xa3,
- 0x33, 0x67, 0xdc, 0x85,
- 0xa3, 0x1b, 0x50, 0x3e, 0x6f, 0xd9, 0xd7, 0x9f, 0xeb, 0x76, 0xf1, 0x14,
- 0xd6, 0xf8, 0xba, 0x28,
- 0xa4, 0xc0, 0x1f, 0x75, 0x1c, 0xb9, 0x78, 0x3d, 0xe1, 0x30, 0x57, 0x77,
- 0x0e, 0x17, 0x88, 0xee,
- 0xcf, 0xdf, 0xd5, 0xeb, 0x5c, 0x55, 0x4c, 0xe0, 0x63, 0x47, 0xde, 0xa4,
- 0x2e, 0x2a, 0xd4, 0x8b,
- 0x9a, 0x64, 0x74, 0x7b, 0x21, 0x88, 0xdf, 0xbd, 0xf8, 0x19, 0xb2, 0x1d,
- 0xf1, 0x2f, 0xa2, 0x3a,
- 0xcc, 0x67, 0xfe, 0x03, 0xac, 0xef, 0x07, 0x6d, 0xa6, 0x69, 0x90, 0xde,
- 0x56, 0x0c, 0x09, 0x7f,
- 0x52, 0x60, 0xee, 0xdb, 0x0e, 0xbd, 0x3c, 0xff, 0x91, 0x18, 0xca, 0xda,
- 0x07, 0xea, 0x44, 0x77,
- 0x1c, 0xea, 0xff, 0xef, 0x0f, 0x43, 0xf9, 0xcd, 0x28, 0xdb, 0xdd, 0x4f,
- 0xe6, 0x3a, 0xc8, 0x9e,
- 0x2f, 0x83, 0x21, 0x9f, 0x24, 0x08, 0x88, 0x47, 0xe0, 0x50, 0xf9, 0x99,
- 0x12, 0x39, 0x5b, 0xf1,
- 0x7e, 0x5b, 0xe4, 0xac, 0xda, 0x0f, 0xff, 0x35, 0xb4, 0x66, 0x7d, 0x39,
- 0x6d, 0xf5, 0xc2, 0x72,
- 0x93, 0xca, 0xa5, 0xa6, 0xb4, 0x28, 0xed, 0x98, 0xe6, 0xd3, 0x9b, 0xb8,
- 0x5a, 0xdd, 0xf4, 0xb3,
- 0x42, 0x2f, 0xbd, 0x12, 0x47, 0x53, 0x2a, 0x43, 0x2b, 0x7b, 0xec, 0xbe,
- 0xc2, 0x48, 0x7e, 0xbf,
- 0xb3, 0x54, 0x03, 0xf7, 0x26, 0x37, 0xc1, 0x23, 0x51, 0x15, 0xd7, 0x70,
- 0x13, 0x5a, 0x80, 0xe0,
- 0x18, 0x89, 0x9b, 0x4c, 0x8c, 0x99, 0x1d, 0xe2, 0xe7, 0xb3, 0x35, 0x56,
- 0x46, 0xf3, 0x27, 0xac,
- 0xb8, 0x2a, 0xe0, 0x9a, 0x13, 0xfa, 0x81, 0xf0, 0xc9, 0xeb, 0x8a, 0x38,
- 0xe8, 0x2d, 0x40, 0x70,
- 0xfc, 0xb6, 0x0b, 0x9b, 0x77, 0x1e, 0x3d, 0x6a, 0xab, 0xcc, 0xfa, 0x72,
- 0xda, 0x29, 0x47, 0xe4,
- 0x44, 0x9c, 0xeb, 0x01, 0x64, 0xe4, 0xbc, 0x9a, 0x62, 0x27, 0x70, 0x4a,
- 0x32, 0x04, 0x07, 0x94,
- 0xe6, 0xef, 0xa2, 0x67, 0x5b, 0xea, 0x52, 0x7e, 0xca, 0x4b, 0xbb, 0xc9,
- 0xcc, 0x5f, 0xf6, 0x51,
- 0x8c, 0x98, 0x71, 0xa1, 0x4b, 0xd1, 0x5f, 0xd8, 0x0b, 0x26, 0x08, 0x8d,
- 0xc4, 0xc1, 0xe1, 0xd9,
- 0xc6, 0x71, 0x04, 0x36, 0xc9, 0xf5, 0x7e, 0xc5, 0x7d, 0x8d, 0xf7, 0x01,
- 0x85, 0xd8, 0x82, 0x02,
- 0x63, 0xd9, 0x02, 0x1b, 0x85, 0x9b, 0x3f, 0x83, 0xdf, 0xa7, 0x9a, 0xe1,
- 0xa3, 0x6c, 0x41, 0x01,
- 0xbf, 0xf1, 0xaf, 0xd1, 0x60, 0x9a, 0x2e, 0x52, 0xc3, 0xad, 0x2c, 0x5b,
- 0x30, 0xc2, 0x72, 0xb6,
- 0xf2, 0xc3, 0x95, 0x0d, 0x91, 0xde, 0xa0, 0xed, 0xbf, 0x40, 0x75, 0xb4,
- 0xa9, 0x34, 0x23, 0xab,
- 0x2c, 0x3b, 0x0a, 0x77, 0xd4, 0xb2, 0xc3, 0xca, 0x25, 0x7e, 0xb7, 0xe3,
- 0x6a, 0x1f, 0x86, 0x05,
- 0x11, 0x27, 0x4a, 0x91, 0x19, 0x39, 0x2f, 0xc7, 0xf9, 0x79, 0x1c, 0xf3,
- 0xed, 0x01, 0x71, 0x25,
- 0x73, 0x96, 0x51, 0xd2, 0xcc, 0x75, 0x29, 0x3f, 0x65, 0xc4, 0xbc, 0x85,
- 0x66, 0xce, 0x7b, 0xc9,
- 0xdc, 0x28, 0xad, 0xca, 0xe5, 0x01, 0x11, 0xd1, 0x1c, 0x0a, 0xb6, 0xba,
- 0x93, 0xae, 0x33, 0xb7,
- 0xd9, 0x23, 0xd0, 0x31, 0x36, 0x0c, 0xcc, 0x85, 0x90, 0x78, 0x64, 0x34,
- 0x1b, 0xc4, 0x97, 0x68,
- 0x92, 0xa2, 0xbc, 0xfe, 0xe4, 0xff, 0xd4, 0xe3, 0xa5, 0xc9, 0xa1, 0x2f,
- 0x72, 0x7e, 0xbf, 0x5e,
- 0x3e, 0xa4, 0x6b, 0x0e, 0x3d, 0x31, 0xa7, 0x80, 0x19, 0x29, 0xe5, 0x6a,
- 0xff, 0x38, 0x2a, 0xd4,
- 0xd2, 0x5d, 0x33, 0x5c, 0x03, 0xc1, 0x8c, 0x56, 0x08, 0x86, 0x39, 0x7c,
- 0xe0, 0xb3, 0x57, 0xf8,
- 0x59, 0x1e, 0x0d, 0xb6, 0x3b, 0x70, 0x7c, 0x2c, 0x09, 0xe6, 0x97, 0x92,
- 0xfc, 0x9d, 0x84, 0xe7,
- 0x75, 0x25, 0x07, 0xc1, 0xef, 0xc2, 0xbf, 0xe6, 0x2c, 0x98, 0x20, 0x71,
- 0x96, 0x82, 0x02, 0xe2,
- 0x19, 0xe1, 0x82, 0x14, 0xdc, 0x4e, 0x24, 0x99, 0xa4, 0xa9, 0x0f, 0xc1,
- 0x6e, 0x50, 0x6c, 0x41,
- 0xb4, 0x8f, 0x4c, 0xbc, 0x55, 0x57, 0x6e, 0x81, 0x5b, 0x53, 0x71, 0x13,
- 0xcb, 0xb5, 0xb2, 0x26,
- 0x81, 0x55, 0xc4, 0xdf, 0x5d, 0xab, 0x89, 0xd2, 0xda, 0x84, 0xc9, 0x31,
- 0xcf, 0xfa, 0x58, 0x62,
- 0xe4, 0x3f, 0x90, 0xd7, 0xfb, 0x87, 0x20, 0x88, 0x4c, 0x7f, 0xcf, 0x24,
- 0x9c, 0xda, 0x60, 0x48,
- 0xe5, 0x57, 0x89, 0x8f, 0xab, 0x50, 0x19, 0xf3, 0x0f, 0x65, 0xf5, 0xb3,
- 0xb4, 0x79, 0x2b, 0xa5,
- 0x0f, 0x1d, 0x87, 0xce, 0xb6, 0x17, 0xa4, 0xfc, 0x57, 0x96, 0xb5, 0x51,
- 0x5b, 0xbe, 0x2f, 0xa2,
- 0x47, 0x24, 0xc0, 0xe9, 0x94, 0x5e, 0xf7, 0x17, 0xa7, 0x09, 0x3e, 0x30,
- 0x4a, 0x22, 0xda, 0x60,
- 0x9c, 0xd7, 0x22, 0x68, 0x02, 0x3f, 0x49, 0x64, 0xb1, 0x45, 0x2e, 0xe9,
- 0x01, 0x63, 0xdb, 0x11,
- 0x2a, 0x88, 0x5c, 0x64, 0xf7, 0x05, 0x55, 0x13, 0x6c, 0x22, 0x2b, 0x17,
- 0x9a, 0x53, 0xff, 0x2e,
- 0xa8, 0x65, 0xb3, 0x53, 0x5a, 0x14, 0x97, 0x4c, 0x73, 0x88, 0xac, 0x5c,
- 0x2d, 0x8f, 0x7a, 0xb8,
- 0x5b, 0xce, 0x3f, 0x06, 0x9b, 0x1d, 0x0e, 0xda, 0x8f, 0xd2, 0xe3, 0x7f,
- 0xac, 0x18, 0x12, 0xfe,
- 0x8f, 0x20, 0x5a, 0x49, 0xbb, 0x6b, 0x14, 0x55, 0xce, 0x08, 0x46, 0xf7,
- 0xbc, 0xe7, 0x3c, 0x2d,
- 0x04, 0x63, 0x64, 0xa3, 0x83, 0xda, 0xe4, 0x2f, 0xcf, 0x68, 0xe8, 0x19,
- 0xa0, 0xc9, 0xef, 0x32,
- 0xa6, 0x10, 0x2d, 0xc5, 0xbc, 0xd4, 0x0a, 0xcb, 0x67, 0x04, 0x23, 0x9a,
- 0x5e, 0x92, 0x1e, 0xf7,
- 0x72, 0xfe, 0x48, 0x8a, 0x9c, 0xa2, 0x10, 0x44, 0x26, 0xde, 0x86, 0x12,
- 0x4e, 0x6d, 0x30, 0x24,
- 0xba, 0xfa, 0xd2, 0x2a, 0xb3, 0x97, 0xf3, 0x06, 0x4f, 0xdf, 0xfe, 0xd5,
- 0xb8, 0xa8, 0xd6, 0x69,
- 0x30, 0xd1, 0xf5, 0x98, 0xdb, 0xf1, 0x3a, 0x07, 0x0d, 0xa5, 0x6a, 0xac,
- 0x8c, 0x25, 0x4e, 0x9b,
- 0x4c, 0x5a, 0x23, 0x84, 0xa1, 0x93, 0xb7, 0xc4, 0x3f, 0xf7, 0x63, 0x78,
- 0xb1, 0x55, 0x1a, 0xf0,
- 0x82, 0xed, 0xef, 0x37, 0xad, 0x11, 0xc2, 0x5f, 0x1f, 0xaa, 0x87, 0x4b,
- 0xb7, 0xdc, 0x85, 0x96,
- 0x6a, 0x77, 0xd3, 0xc6, 0x10, 0x3b, 0x0d, 0xa6, 0xc1, 0x6d, 0xb3, 0x44,
- 0x08, 0x9e, 0x17, 0x88,
- 0x88, 0xfb, 0x15, 0x02, 0xc8, 0x0b, 0xbb, 0xf7, 0xc4, 0x4e, 0xe0, 0x94,
- 0x64, 0x08, 0x0e, 0xeb,
- 0x3c, 0x74, 0x59, 0xbe, 0x9d, 0x5c, 0xd5, 0x76, 0x9f, 0x1d, 0x91, 0x87,
- 0xaf, 0xbd, 0xbc, 0xcd,
- 0x6e, 0x14, 0xb7, 0x65, 0x93, 0xe1, 0xe9, 0x89, 0x0e, 0x05, 0x5b, 0x5d,
- 0xa8, 0x57, 0xf8, 0xba,
- 0x0b, 0x7e, 0xe3, 0x6d, 0x35, 0xcd, 0x40, 0xd3, 0x98, 0xfe, 0x5d, 0x48,
- 0xfb, 0x77, 0xc0, 0x90,
- 0x9e, 0x07, 0x10, 0xd8, 0xa2, 0x52, 0x3b, 0x92, 0x37, 0x71, 0x5a, 0x04,
- 0x51, 0xe6, 0x4d, 0x08,
- 0x68, 0xa7, 0xe1, 0x76, 0xb0, 0x56, 0x7f, 0x50, 0x47, 0x59, 0xc7, 0xa9,
- 0x58, 0x1b, 0x81, 0x91,
- 0x67, 0xba, 0x66, 0xb8, 0x06, 0x41, 0xdb, 0xac, 0x10, 0xcf, 0x72, 0xf8,
- 0x03, 0xa5, 0xae, 0x33,
- 0xc5, 0xc9, 0x2f, 0xde, 0x39, 0x4f, 0x35, 0x48, 0xb8, 0xa3, 0xb9, 0x7b,
- 0xfd, 0xfe, 0x5f, 0xf6,
- 0x74, 0x4d, 0x1e, 0x99, 0xbf, 0x15, 0x86, 0x9d, 0x6f, 0x82, 0x1a, 0xe6,
- 0xbe, 0x21, 0x49, 0x0f,
- 0x40, 0xff, 0x8f, 0xa2, 0xe7, 0x3e, 0x58, 0xb5, 0xad, 0x4f, 0x98, 0x53,
- 0x92, 0xcd, 0xe8, 0xa6,
- 0x0c, 0xa5, 0xac, 0x26, 0x46, 0xad, 0xef, 0x71, 0x92, 0xb8, 0xfb, 0x2b,
- 0x23, 0x98, 0xf2, 0x56,
- 0xe7, 0x87, 0xbb, 0x3f, 0x0b, 0x3d, 0x6b, 0x05, 0x89, 0x51, 0x81, 0x5e,
- 0xe4, 0xfc, 0xbd, 0xbc,
- 0x9d, 0xbf, 0x3b, 0x30, 0x52, 0xe8, 0x70, 0x1f, 0xf2, 0x5f, 0x14, 0x7e,
- 0x29, 0xc0, 0x90, 0xfc,
- 0x90, 0x72, 0x8e, 0x4e, 0x44, 0x92, 0xa6, 0x15, 0x23, 0xfd, 0xd5, 0xc2,
- 0x22, 0xfb, 0x29, 0x47,
- 0x7a, 0x38, 0x80, 0x0f, 0x59, 0xd5, 0x1b, 0x1a, 0x7b, 0x0e, 0x95, 0x20,
- 0xcd, 0x3c, 0x2d, 0x40,
- 0x3a, 0xc7, 0x0f, 0xad, 0xbe, 0xeb, 0x43, 0xaf, 0xd6, 0x41, 0x0d, 0x73,
- 0x5f, 0xf1, 0xc5, 0xe6,
- 0x35, 0xda, 0x88, 0x63, 0x08, 0xfc, 0xe7, 0x53, 0x81, 0xd7, 0xb8, 0x22,
- 0x04, 0x4f, 0xea, 0x44,
- 0x34, 0xb2, 0x91, 0x3b, 0x58, 0x2b, 0xde, 0x28, 0xc2, 0xcd, 0x82, 0xb5,
- 0x2c, 0xec, 0xa1, 0xa9,
- 0x9f, 0x6f, 0x09, 0x80, 0xf2, 0x85, 0x02, 0xe9, 0x74, 0x6b, 0x60, 0x93,
- 0x79, 0x45, 0x06, 0xe5,
- 0xb7, 0x37, 0x67, 0x54, 0xa5, 0xed, 0x25, 0x0c, 0x9e, 0x7d, 0x3f, 0x69,
- 0xb3, 0x93, 0x6f, 0xd2,
- 0xf8, 0xd5, 0x6f, 0x38, 0xf4, 0xc4, 0xd9, 0x45, 0x64, 0xa4, 0x12, 0x6b,
- 0x7a, 0xe0, 0xa8, 0xd6,
- 0x4f, 0xe2, 0x08, 0x6c, 0x51, 0x29, 0xfc, 0x49, 0xfa, 0xd9, 0x2d, 0x02,
- 0xc9, 0x73, 0xc7, 0x04,
- 0x6b, 0x1f, 0xca, 0x9e, 0x40, 0xec, 0x34, 0xdd, 0x82, 0x77, 0x89, 0xd3,
- 0x20, 0x3d, 0x5c, 0x65,
- 0x83, 0x85, 0xf6, 0x6f, 0xfd, 0xc6, 0xfb, 0x24, 0x5c, 0xb0, 0xbd, 0xdc,
- 0x9f, 0x7f, 0xce, 0x7b,
- 0x5f, 0xad, 0x5b, 0xa5, 0x18, 0xc7, 0xea, 0xf5, 0x40, 0xba, 0x0b, 0x66,
- 0x0c, 0xd1, 0xfd, 0xcc,
- 0xa7, 0x78, 0x34, 0x9d, 0xec, 0x03, 0x33, 0xb0, 0x24, 0x1e, 0x19, 0x0d,
- 0x76, 0x31, 0x55, 0x1a,
- 0x1e, 0x3a, 0xcd, 0x5f, 0xaf, 0x2e, 0x8b, 0x3b, 0xae, 0xef, 0xa9, 0xa2,
- 0xb6, 0xbf, 0x5e, 0x87,
- 0x10, 0x4f, 0x53, 0xc9, 0x49, 0xee, 0x16, 0xbc, 0xba, 0x63, 0x26, 0x64,
- 0xc5, 0xa2, 0x3a, 0xc8,
- 0xc3, 0x7a, 0x79, 0xcd, 0x1a, 0xf8, 0xa3, 0x91, 0xf1, 0xff, 0x25, 0x8f,
- 0x0d, 0xb2, 0x26, 0xdd,
- 0x78, 0xe8, 0xb2, 0xbf, 0xf9, 0xb8, 0x69, 0xec, 0xfd, 0x3a, 0xe1, 0xcd,
- 0x9d, 0xb9, 0xbb, 0x59,
- 0x2d, 0x53, 0x13, 0x2f, 0x84, 0x65, 0xfa, 0xb1, 0x66, 0x64, 0x8d, 0x74,
- 0x42, 0xbc, 0xcd, 0xe8,
- 0x77, 0xf5, 0x35, 0x71, 0x4f, 0xaf, 0xcd, 0x10, 0xaa, 0xac, 0x54, 0x9c,
- 0xc6, 0x07, 0x94, 0xfb,
- 0xe3, 0xe4, 0xdf, 0x9c, 0x88, 0xe7, 0x8f, 0x2a, 0x46, 0x39, 0x69, 0x47,
- 0x44, 0x35, 0x52, 0x8e,
- 0x80, 0x3d, 0xdd, 0x87, 0x0d, 0x7c, 0xb0, 0xa9, 0x99, 0x9e, 0xf3, 0xa6,
- 0xe7, 0x59, 0x13, 0x8f,
- },
- { /* 6 */
- 0xa2, 0xc8, 0x81, 0xe2, 0x3b, 0xb3, 0xc2, 0x65, 0xc5, 0x23, 0x88, 0xa8,
- 0x4b, 0xa0, 0x07, 0xfc,
- 0x7e, 0x5e, 0xba, 0x73, 0x1f, 0x4c, 0x94, 0x8f, 0x72, 0xc4, 0x53, 0xb4,
- 0x67, 0xfd, 0xe6, 0xee,
- 0x65, 0xcf, 0x9b, 0x0b, 0x79, 0xd8, 0x3c, 0xc1, 0x2a, 0xfe, 0xa1, 0x96,
- 0xda, 0xeb, 0x16, 0xdd,
- 0x09, 0xce, 0x1f, 0x28, 0x22, 0xcd, 0xd9, 0x3a, 0x89, 0x16, 0xef, 0x1e,
- 0x6b, 0xb3, 0x50, 0x11,
- 0xb9, 0x59, 0xa0, 0x9a, 0x5d, 0x27, 0x6a, 0x2b, 0x9d, 0x19, 0x7a, 0x8a,
- 0xf6, 0xb6, 0xf7, 0xcf,
- 0xaa, 0x23, 0xa2, 0x8f, 0xdc, 0xda, 0x7c, 0x18, 0xa1, 0x08, 0x06, 0xf5,
- 0x92, 0xb9, 0xdd, 0x6e,
- 0x3c, 0x40, 0x19, 0x17, 0x62, 0x09, 0xe3, 0x6f, 0xcd, 0x25, 0x6b, 0x9f,
- 0xc7, 0xa2, 0x2e, 0x31,
- 0x92, 0xf7, 0x4b, 0x4f, 0x2c, 0x06, 0xc0, 0xa8, 0x5e, 0xd9, 0x2a, 0xa5,
- 0xd8, 0xf6, 0x9e, 0x16,
- 0x39, 0xf1, 0xd5, 0x85, 0x35, 0x78, 0xdb, 0xf7, 0x12, 0xec, 0x4d, 0x13,
- 0xf8, 0xe5, 0xc9, 0xfb,
- 0xf0, 0xc3, 0x64, 0x5c, 0x4b, 0x24, 0x0a, 0x7f, 0xb2, 0x94, 0x6f, 0x39,
- 0x9a, 0xcd, 0xb8, 0xc4,
- 0xcb, 0x78, 0xc9, 0x53, 0x37, 0xd7, 0x1f, 0x06, 0xb9, 0x02, 0xe0, 0xac,
- 0xc5, 0xbf, 0xa6, 0xfa,
- 0xfe, 0xf6, 0xcf, 0x6c, 0x77, 0x13, 0x25, 0x53, 0xfd, 0x31, 0x64, 0x2d,
- 0x69, 0xae, 0xd8, 0xda,
- 0xe0, 0xd6, 0x22, 0x86, 0x46, 0xf6, 0xb5, 0x85, 0x7a, 0xc2, 0xb0, 0x83,
- 0xeb, 0xff, 0xcf, 0x23,
- 0x02, 0x4a, 0x78, 0x8a, 0x49, 0x8b, 0xce, 0x8e, 0x19, 0x7a, 0xc2, 0x86,
- 0xa7, 0x97, 0xd7, 0xc5,
- 0x4e, 0x61, 0x70, 0xde, 0x08, 0xf9, 0x96, 0x42, 0xe9, 0x3e, 0xf1, 0xb9,
- 0xf4, 0xab, 0x7f, 0x04,
- 0x4a, 0xf5, 0x80, 0x09, 0x9a, 0x2c, 0xc9, 0x9d, 0xdb, 0xca, 0xb6, 0x76,
- 0x79, 0x46, 0x12, 0x4d,
- 0xe5, 0x67, 0xee, 0x14, 0x11, 0x87, 0x8d, 0x1d, 0xa5, 0x0b, 0x96, 0x0f,
- 0xd4, 0xb8, 0x28, 0xe9,
- 0x3f, 0x2f, 0x5d, 0xd8, 0xee, 0x26, 0x4a, 0xa6, 0x39, 0x62, 0xc8, 0x5a,
- 0xd2, 0x9f, 0x73, 0x77,
- 0x70, 0x6b, 0x11, 0x43, 0x23, 0x7b, 0xbb, 0xa3, 0x3d, 0x61, 0x58, 0xa0,
- 0x94, 0x9e, 0x86, 0xf0,
- 0x0c, 0x7f, 0xd3, 0xba, 0x75, 0xbc, 0xe1, 0xa2, 0x56, 0xdf, 0xc9, 0x92,
- 0x54, 0xf4, 0xb7, 0xdb,
- 0xfa, 0x62, 0x3f, 0xbb, 0xe5, 0xc6, 0x7a, 0x8c, 0xcf, 0xc5, 0x23, 0xe2,
- 0xe4, 0x43, 0xb5, 0x93,
- 0xc0, 0xfc, 0xae, 0xf1, 0x5c, 0x91, 0x08, 0xb2, 0x29, 0x6e, 0xcd, 0x34,
- 0x09, 0x9b, 0x21, 0x2e,
- 0x41, 0x71, 0xe7, 0xab, 0xf1, 0x6a, 0xde, 0x29, 0x4b, 0xa6, 0x9b, 0xee,
- 0xb5, 0x62, 0x95, 0x99,
- 0xa1, 0xa7, 0xc5, 0x2d, 0xb7, 0x9c, 0x6b, 0xac, 0x31, 0x64, 0x2b, 0x6d,
- 0x5e, 0x9d, 0x5a, 0xba,
- 0x60, 0x7e, 0x57, 0x99, 0x2e, 0xa9, 0x04, 0x59, 0xf5, 0x37, 0x87, 0x1a,
- 0xe5, 0xac, 0xf1, 0x17,
- 0xa7, 0x79, 0x4d, 0x70, 0x6c, 0xc2, 0xfa, 0xfd, 0x1a, 0xea, 0xae, 0x24,
- 0x74, 0xe7, 0xe0, 0x36,
- 0x82, 0xe2, 0x0d, 0x95, 0x21, 0xd4, 0x7f, 0x52, 0x96, 0x8f, 0xf5, 0x1f,
- 0xa9, 0xc4, 0xe9, 0xf1,
- 0x53, 0x2e, 0xd9, 0xfb, 0xb5, 0x33, 0xaf, 0x5d, 0x9a, 0x8a, 0x86, 0xd2,
- 0x63, 0xc7, 0x35, 0xbb,
- 0xb5, 0x26, 0x73, 0x20, 0x28, 0x9b, 0x8b, 0x89, 0xcb, 0xc6, 0xb3, 0x18,
- 0xa2, 0x42, 0x40, 0x14,
- 0x9e, 0x88, 0x98, 0xf5, 0x59, 0xba, 0x21, 0x0a, 0x08, 0x06, 0xe3, 0x37,
- 0x8c, 0x02, 0x29, 0xcd,
- 0x96, 0x63, 0xbb, 0x98, 0xbe, 0xd3, 0x9f, 0x77, 0x6c, 0x2d, 0x6d, 0x6a,
- 0x55, 0x1b, 0xf3, 0x5f,
- 0x4c, 0x2b, 0x08, 0x54, 0x41, 0x72, 0x58, 0xcc, 0xf0, 0x44, 0x33, 0x3f,
- 0x53, 0x3c, 0xa8, 0xc1,
- 0x1e, 0x20, 0xed, 0xea, 0x31, 0xe5, 0x90, 0xd6, 0x87, 0xf3, 0xd4, 0xae,
- 0x82, 0x51, 0x17, 0xf9,
- 0x67, 0x85, 0xe3, 0x81, 0x30, 0x53, 0xf2, 0x4f, 0x33, 0x84, 0x63, 0x10,
- 0x7d, 0x7c, 0xc1, 0x18,
- 0xe3, 0xb9, 0x66, 0x49, 0xca, 0xd9, 0x1c, 0x4c, 0x8e, 0x85, 0x13, 0x46,
- 0xfe, 0xc2, 0x92, 0x65,
- 0x2a, 0x8b, 0xd7, 0x90, 0xb4, 0x85, 0xcd, 0xc4, 0x2e, 0xfd, 0x31, 0x6c,
- 0x9c, 0xea, 0xe3, 0x5a,
- 0xac, 0xfd, 0x2a, 0xd2, 0x07, 0x84, 0xed, 0x49, 0x8a, 0x86, 0x83, 0xbc,
- 0xb8, 0xc3, 0x67, 0xe2,
- 0x43, 0x3b, 0x9f, 0x21, 0xb8, 0xe1, 0x10, 0xa7, 0x52, 0xdc, 0x59, 0x68,
- 0x12, 0xf5, 0x42, 0x5c,
- 0x8c, 0xd7, 0xa6, 0xa5, 0x1d, 0xe3, 0x50, 0x7e, 0xd9, 0x2a, 0xfe, 0x0b,
- 0x5a, 0xa7, 0x89, 0xef,
- 0xc7, 0x07, 0x1a, 0xe9, 0x42, 0x6b, 0xfe, 0xa4, 0xef, 0xdd, 0x29, 0x3e,
- 0x91, 0x4b, 0x11, 0x21,
- 0x26, 0xf4, 0x04, 0x2a, 0xc1, 0x39, 0x2c, 0x66, 0x78, 0x22, 0xf8, 0xfe,
- 0xc8, 0x1e, 0x54, 0x81,
- 0x29, 0xe4, 0x93, 0x5f, 0x38, 0xaa, 0x64, 0x0d, 0xda, 0xba, 0x92, 0xa9,
- 0x89, 0xd7, 0xbe, 0x1c,
- 0x1c, 0x6a, 0x95, 0x60, 0x78, 0x6e, 0x5e, 0x58, 0x9e, 0x89, 0x16, 0x28,
- 0x25, 0xc6, 0xc0, 0x3c,
- 0x4d, 0x0e, 0x34, 0x11, 0x84, 0xd6, 0x3f, 0x8b, 0x1d, 0x79, 0x52, 0x7c,
- 0xe1, 0x96, 0x22, 0x42,
- 0x9d, 0xe7, 0xdc, 0x3a, 0xd5, 0x95, 0x88, 0xc3, 0xfc, 0x41, 0x40, 0xf2,
- 0x99, 0x3f, 0x74, 0x8b,
- 0xf2, 0x89, 0x1c, 0xd6, 0x02, 0xaf, 0xc4, 0xf1, 0xab, 0xee, 0xad, 0xbf,
- 0x3d, 0x5a, 0x6f, 0x01,
- 0x21, 0x0f, 0xb0, 0x32, 0xdf, 0xc3, 0xda, 0x70, 0xbe, 0x91, 0x1c, 0xf4,
- 0x50, 0xce, 0x64, 0x8e,
- 0x6d, 0x24, 0xb8, 0x66, 0x9e, 0xb1, 0x82, 0xbc, 0x4e, 0xd5, 0x2f, 0xcb,
- 0x03, 0xf2, 0xcc, 0x4f,
- 0xbc, 0xe8, 0x6c, 0x08, 0x0a, 0x56, 0x52, 0xb3, 0x42, 0xd0, 0x5c, 0x06,
- 0xc9, 0xf1, 0x10, 0x05,
- 0x9a, 0x1c, 0x68, 0x22, 0xcb, 0x6f, 0x7e, 0xd5, 0x3a, 0xf2, 0xa4, 0xf8,
- 0x01, 0xef, 0x44, 0x84,
- 0x27, 0xd1, 0x38, 0x6f, 0x04, 0x9d, 0x4b, 0x21, 0x95, 0x1f, 0x99, 0xbd,
- 0x7a, 0xb4, 0xde, 0x02,
- 0x14, 0x81, 0xb6, 0x0d, 0x9f, 0x07, 0xe0, 0x25, 0xfa, 0xa2, 0x98, 0x75,
- 0xfc, 0xdf, 0x1a, 0xae,
- 0x5e, 0x74, 0x36, 0x04, 0x05, 0x2b, 0x29, 0xb8, 0x21, 0x68, 0x2e, 0x03,
- 0x85, 0x99, 0x08, 0xe3,
- 0xe4, 0x42, 0xd2, 0x51, 0xd4, 0x23, 0xea, 0x5a, 0x48, 0x36, 0xf7, 0x4c,
- 0x66, 0x12, 0xa2, 0x6a,
- 0xd3, 0x86, 0xac, 0xe4, 0xdd, 0x6c, 0x1e, 0x81, 0x15, 0x7f, 0xb1, 0x4b,
- 0x6d, 0x94, 0x0b, 0x8f,
- 0xe1, 0xf3, 0x1e, 0xc3, 0x83, 0x52, 0xd2, 0xc2, 0x97, 0xff, 0xd1, 0xc0,
- 0x59, 0x55, 0x45, 0xa0,
- 0x69, 0xb0, 0x48, 0xb1, 0x0c, 0x64, 0xdd, 0x63, 0x7c, 0x21, 0x68, 0x04,
- 0x8e, 0x1f, 0xa1, 0x06,
- 0x49, 0x9a, 0xc4, 0xc6, 0x16, 0x03, 0x60, 0x54, 0x2f, 0x8d, 0x15, 0xb3,
- 0x6c, 0x7b, 0x4f, 0x0b,
- 0xab, 0x06, 0x9e, 0xca, 0x19, 0x7e, 0x1b, 0x5f, 0x4c, 0x35, 0x67, 0xb6,
- 0x20, 0x13, 0x57, 0xed,
- 0xb3, 0xf8, 0xfb, 0x7d, 0xf3, 0xc5, 0x1a, 0xd8, 0xe0, 0x48, 0x36, 0x51,
- 0x88, 0x38, 0xfa, 0x98,
- 0xa3, 0xed, 0xbd, 0xa7, 0xfe, 0x17, 0xa5, 0x22, 0x28, 0x1e, 0xe9, 0xeb,
- 0xf9, 0x0a, 0x8d, 0x7f,
- 0x0b, 0x84, 0x67, 0xa2, 0x6b, 0x46, 0x17, 0xb4, 0x90, 0x6c, 0x2d, 0x98,
- 0xcc, 0x24, 0x87, 0xd4,
- 0x90, 0xbd, 0x33, 0xc5, 0x65, 0x8d, 0x0e, 0x26, 0x47, 0xa3, 0xe8, 0x23,
- 0x7f, 0x61, 0x49, 0xd3,
- 0xfc, 0xbc, 0xb7, 0xe6, 0x3e, 0x98, 0xeb, 0xdd, 0xe4, 0x4b, 0xa6, 0xab,
- 0xce, 0x39, 0x0f, 0x1f,
- 0xc2, 0xb6, 0xd6, 0x7b, 0x15, 0x1a, 0xc6, 0x3c, 0x30, 0x14, 0x0f, 0xb2,
- 0xae, 0x0c, 0xf6, 0xeb,
- 0x80, 0xa8, 0x75, 0x1f, 0x68, 0x5f, 0xb1, 0xdc, 0x8f, 0xf5, 0x37, 0x99,
- 0x0e, 0x53, 0x3e, 0x34,
- 0xe7, 0x2d, 0x96, 0x9e, 0x58, 0x0c, 0x43, 0x93, 0xbc, 0x71, 0x54, 0x89,
- 0x73, 0x2f, 0xff, 0x2c,
- 0x63, 0x11, 0x13, 0x56, 0xa2, 0x86, 0xad, 0x90, 0x01, 0x70, 0x24, 0xdf,
- 0xf0, 0x91, 0xac, 0x51,
- 0x30, 0x3f, 0xca, 0xad, 0x17, 0xb5, 0x02, 0xcd, 0x9b, 0xfa, 0xa2, 0x0d,
- 0x93, 0x56, 0x99, 0xea,
- 0x22, 0x60, 0xf4, 0xfd, 0x53, 0xec, 0x73, 0xb9, 0x4a, 0xd6, 0xbf, 0x31,
- 0x45, 0xf3, 0x39, 0xc8,
- 0xf6, 0x1d, 0xec, 0x01, 0x90, 0x7a, 0x9b, 0x2e, 0x99, 0x1a, 0xea, 0x70,
- 0xb0, 0xb7, 0x02, 0x48,
- 0xa8, 0x69, 0xda, 0x05, 0x95, 0x51, 0xb2, 0x96, 0xb8, 0x72, 0xc4, 0x73,
- 0x35, 0x2e, 0x0a, 0xab,
- 0x57, 0xba, 0x29, 0x2c, 0x27, 0xe6, 0xf0, 0x82, 0xa8, 0x7e, 0xc1, 0x1d,
- 0xee, 0x2a, 0x58, 0xf2,
- 0x8e, 0x9d, 0xde, 0x2f, 0x54, 0x68, 0x9e, 0xf0, 0xc0, 0x50, 0x3c, 0x8d,
- 0xfd, 0x30, 0x5e, 0x2a,
- 0xc3, 0x93, 0xea, 0x3e, 0xd0, 0xbe, 0xa1, 0x7b, 0xdd, 0x29, 0x6e, 0xf1,
- 0x1c, 0xa6, 0x7c, 0x68,
- 0xc6, 0x22, 0x26, 0xac, 0x87, 0xcf, 0x99, 0xe3, 0x02, 0xe0, 0x48, 0x7d,
- 0x23, 0xe1, 0x9b, 0xa2,
- 0x50, 0x41, 0x9d, 0x34, 0x39, 0x1c, 0x06, 0x94, 0x6e, 0xcd, 0x25, 0x17,
- 0x76, 0xfa, 0x68, 0xfd,
- 0x75, 0xda, 0xdd, 0xd1, 0x74, 0x0a, 0x83, 0x3b, 0xe2, 0xa8, 0x7e, 0x2c,
- 0xab, 0xd9, 0x61, 0x3a,
- 0x4b, 0xd0, 0xbc, 0x4c, 0x5f, 0x88, 0xae, 0xda, 0x36, 0xf7, 0xd7, 0x35,
- 0xcb, 0xec, 0x98, 0xce,
- 0x6c, 0x01, 0x84, 0x23, 0x5b, 0x15, 0xe5, 0xfb, 0xa3, 0xe8, 0x4e, 0x88,
- 0xb1, 0x58, 0x46, 0xcc,
- 0xa6, 0x5c, 0x71, 0x35, 0xa9, 0x66, 0x9d, 0xba, 0xf7, 0xd7, 0xcf, 0x67,
- 0xc6, 0x4d, 0x6a, 0xb5,
- 0xa4, 0x16, 0x09, 0xbf, 0xe0, 0xed, 0x53, 0x34, 0xee, 0xad, 0x0d, 0xe1,
- 0x61, 0xda, 0xbd, 0x70,
- 0xf5, 0x72, 0xa8, 0xce, 0x1c, 0x55, 0x32, 0xe7, 0x6d, 0x5d, 0x49, 0xb5,
- 0xa5, 0x8a, 0x5f, 0x0e,
- 0xf8, 0x28, 0x47, 0x31, 0xac, 0x4d, 0xb4, 0x02, 0xd6, 0xbf, 0xe1, 0x64,
- 0x43, 0xd4, 0x62, 0x56,
- 0x9c, 0xc2, 0xe0, 0x7f, 0x10, 0x31, 0xef, 0x84, 0x11, 0x7c, 0x21, 0xb1,
- 0x2b, 0x95, 0xfe, 0x08,
- 0xd2, 0xa3, 0x90, 0xa1, 0x18, 0xc8, 0x79, 0xc6, 0xf8, 0x42, 0xd0, 0x08,
- 0xdf, 0x3e, 0x81, 0x0c,
- 0xcd, 0xa6, 0x41, 0x0e, 0xec, 0x89, 0x8e, 0x57, 0x92, 0x8c, 0x65, 0xe5,
- 0xef, 0xc5, 0x1c, 0x76,
- 0xdc, 0x96, 0x3b, 0x91, 0x24, 0xff, 0x56, 0xea, 0xb7, 0xe7, 0xdb, 0x1c,
- 0x2c, 0x5d, 0xe1, 0x12,
- 0x1d, 0x4f, 0xa9, 0x25, 0xbd, 0xca, 0x39, 0x1f, 0x73, 0xb4, 0x77, 0x6b,
- 0x97, 0x6c, 0x4a, 0xbf,
- 0x83, 0xc7, 0x31, 0xd0, 0xe4, 0x70, 0x18, 0x15, 0x7b, 0xb2, 0x94, 0x5c,
- 0x1b, 0x6e, 0x63, 0x72,
- 0x2e, 0x1f, 0x27, 0x47, 0x26, 0x50, 0x92, 0x1b, 0x1c, 0x09, 0x76, 0xa3,
- 0x11, 0x07, 0x8e, 0x13,
- 0xf1, 0xe6, 0x58, 0x19, 0x8e, 0x80, 0x6d, 0x38, 0x5f, 0xa9, 0x0e, 0x7a,
- 0x28, 0x67, 0x32, 0x47,
- 0xfd, 0x99, 0x8b, 0xa3, 0xfb, 0x3c, 0x8c, 0x9a, 0x09, 0x76, 0xc7, 0xe8,
- 0x7c, 0x93, 0x85, 0x9c,
- 0x81, 0x8d, 0x49, 0x5a, 0xad, 0xfb, 0xd6, 0x9b, 0x62, 0xc8, 0x56, 0xda,
- 0xbc, 0xf9, 0xb4, 0xb7,
- 0xb1, 0xb2, 0x83, 0xf7, 0xba, 0x4e, 0xd4, 0x56, 0xf9, 0x32, 0xf4, 0xd7,
- 0x2f, 0xaf, 0x2d, 0x5d,
- 0x4f, 0x44, 0x4c, 0x9b, 0xcd, 0x5d, 0xf1, 0x05, 0x04, 0x03, 0x90, 0xfa,
- 0x46, 0x01, 0xf5, 0x87,
- 0x47, 0xaf, 0x6f, 0xf6, 0x2a, 0x34, 0x4f, 0x78, 0x60, 0x28, 0x1e, 0xa7,
- 0x9f, 0x18, 0x2f, 0x15,
- 0x13, 0x7a, 0x02, 0x15, 0x81, 0xfd, 0x16, 0x33, 0x3c, 0x11, 0x7c, 0x7f,
- 0x64, 0x0f, 0x2a, 0xa1,
- 0x46, 0x8a, 0x53, 0xb3, 0xef, 0x90, 0x28, 0x3f, 0x8d, 0x15, 0x7f, 0xe4,
- 0x2d, 0xb2, 0xa5, 0x96,
- 0x5b, 0xc5, 0xfa, 0x96, 0x52, 0x5a, 0x11, 0x20, 0xfe, 0xa1, 0x08, 0x8f,
- 0xba, 0xde, 0xef, 0x29,
- 0xfb, 0x47, 0x03, 0xfe, 0x20, 0x62, 0x1d, 0xcb, 0x22, 0xf8, 0x42, 0xa1,
- 0x56, 0xe9, 0x3f, 0x10,
- 0xed, 0x8c, 0xcd, 0x79, 0xf6, 0xee, 0x33, 0x60, 0xc1, 0x20, 0x18, 0x52,
- 0x0d, 0xa1, 0xf2, 0x7b,
- 0x94, 0x29, 0xc3, 0x12, 0xf7, 0x58, 0x51, 0xf9, 0x75, 0x57, 0xaf, 0xec,
- 0xf2, 0x8c, 0x24, 0x9a,
- 0x25, 0x9b, 0x40, 0xe5, 0x4d, 0x16, 0x85, 0xaf, 0x8c, 0x65, 0x5b, 0x3b,
- 0xdd, 0x23, 0x09, 0xc7,
- 0xa5, 0x33, 0x35, 0xfa, 0x25, 0x49, 0x34, 0x73, 0x03, 0x90, 0x6c, 0xa2,
- 0xd3, 0x70, 0x37, 0xf3,
- 0xdd, 0xb3, 0x07, 0xd4, 0xe1, 0x5b, 0x31, 0xad, 0x5a, 0xda, 0xba, 0x5f,
- 0x9e, 0xf7, 0x6b, 0x91,
- 0x38, 0xd4, 0xe9, 0xc0, 0xf0, 0xdc, 0xbc, 0xb0, 0xff, 0xd1, 0x2c, 0x50,
- 0x4a, 0x4f, 0x43, 0x78,
- 0x58, 0xaa, 0xbe, 0x59, 0xde, 0x75, 0xb8, 0xe9, 0x0a, 0xe6, 0xab, 0x4a,
- 0xaf, 0xe3, 0xb2, 0x6f,
- 0x0f, 0x10, 0x97, 0x75, 0xf9, 0x93, 0x48, 0x6b, 0xa2, 0x98, 0x6a, 0x57,
- 0x41, 0xc9, 0xea, 0x9d,
- 0xda, 0x48, 0xb3, 0xcc, 0xff, 0xa1, 0xc7, 0xbb, 0x9c, 0x69, 0x5e, 0x55,
- 0x06, 0x27, 0x5b, 0x9e,
- 0x3d, 0x65, 0x25, 0x52, 0xa7, 0xad, 0x84, 0x28, 0x20, 0x18, 0x0a, 0xdc,
- 0x75, 0x08, 0xa4, 0xb2,
- 0xe8, 0x3d, 0x01, 0xeb, 0xa1, 0x9f, 0x0b, 0xf8, 0x1e, 0xe9, 0x3e, 0xde,
- 0x32, 0xe6, 0x15, 0xb1,
- 0xe9, 0x18, 0x3d, 0xae, 0x64, 0x3b, 0x6c, 0xbf, 0xf3, 0xd4, 0x5f, 0x9d,
- 0x80, 0x4c, 0x9f, 0x32,
- 0x18, 0xfe, 0x65, 0xb7, 0xea, 0xbb, 0x01, 0x87, 0xac, 0x7d, 0x51, 0xe7,
- 0xa8, 0x2b, 0xad, 0x75,
- 0x95, 0x0c, 0xff, 0x57, 0x32, 0xfc, 0x36, 0xbe, 0x98, 0x6a, 0xce, 0xaf,
- 0x40, 0x26, 0xae, 0x19,
- 0xee, 0xe3, 0x89, 0xb6, 0x7a, 0xc1, 0x9a, 0xa9, 0x35, 0x67, 0xbb, 0x97,
- 0x18, 0x9c, 0xaf, 0x3d,
- 0x77, 0x90, 0xa5, 0x5b, 0x3d, 0x81, 0x4d, 0xb5, 0xfb, 0xd2, 0xbc, 0xaa,
- 0x0c, 0x4e, 0xb6, 0xff,
- 0x72, 0x21, 0x69, 0xc9, 0x6a, 0xf0, 0x75, 0x2d, 0x24, 0x1b, 0x9a, 0x26,
- 0x33, 0x09, 0x51, 0x35,
- 0x6f, 0x6e, 0xc0, 0xec, 0xd7, 0x3a, 0x4c, 0x32, 0x57, 0xaf, 0xed, 0x4d,
- 0xa4, 0x65, 0x1b, 0x8a,
- 0x51, 0x64, 0xa1, 0x71, 0xfc, 0xb8, 0x61, 0xd3, 0x83, 0xf0, 0x44, 0x54,
- 0xc4, 0x50, 0xe2, 0x7e,
- 0x7f, 0x7b, 0x86, 0x36, 0xda, 0xe8, 0xf3, 0xc8, 0x9f, 0xf9, 0x32, 0xf7,
- 0xd5, 0x57, 0x6c, 0x6d,
- 0xdf, 0xf9, 0x7f, 0x5e, 0xa8, 0xd0, 0xff, 0x23, 0x43, 0xa0, 0x78, 0xd9,
- 0x39, 0x60, 0xbc, 0x54,
- 0xd7, 0x12, 0x5c, 0x33, 0x4f, 0xb9, 0x41, 0x5e, 0x27, 0x8b, 0xf6, 0x84,
- 0xe0, 0x79, 0x66, 0xc6,
- 0xd4, 0x7d, 0x18, 0xfc, 0xc3, 0x96, 0xe8, 0x97, 0xd3, 0xcc, 0x55, 0x41,
- 0xf5, 0x44, 0x3b, 0x80,
- 0x6b, 0xfa, 0x30, 0x3b, 0x45, 0xef, 0x13, 0xed, 0x65, 0x5b, 0xaa, 0x82,
- 0x29, 0x88, 0x76, 0xc3,
- 0x3a, 0x9e, 0x91, 0x4a, 0xb9, 0x57, 0x72, 0x3e, 0xe6, 0xab, 0xee, 0xd6,
- 0xed, 0xd8, 0x94, 0xbd,
- 0x20, 0x2a, 0x8c, 0x77, 0x1a, 0x67, 0xbd, 0x37, 0x53, 0xac, 0x7d, 0xb7,
- 0xe2, 0x64, 0xee, 0x0d,
- 0x0a, 0xa1, 0x5b, 0xe7, 0xae, 0xe2, 0x70, 0xf3, 0x7d, 0x51, 0x4c, 0xdb,
- 0x7e, 0x8e, 0x0d, 0x57,
- 0x42, 0x1e, 0xa3, 0x64, 0x7d, 0x45, 0x77, 0xe0, 0xbf, 0xe1, 0x38, 0x2b,
- 0xa0, 0x5f, 0xc8, 0xdf,
- 0xcc, 0x83, 0x7d, 0x4b, 0x29, 0x2d, 0xe9, 0x10, 0x7f, 0xb1, 0x04, 0xa6,
- 0x5d, 0x6f, 0x96, 0xf5,
- 0x7b, 0xef, 0x76, 0xe1, 0x48, 0x3d, 0xac, 0x17, 0xad, 0x0d, 0x75, 0x38,
- 0x58, 0xba, 0x01, 0x24,
- 0x8f, 0xb8, 0xe2, 0x6a, 0x91, 0xcc, 0xf9, 0xb7, 0x2d, 0x6d, 0x5d, 0xce,
- 0x4f, 0x9a, 0xd4, 0xa9,
- 0x3b, 0xbb, 0xad, 0x0f, 0x7c, 0xf3, 0x15, 0x79, 0x0b, 0x96, 0x8f, 0x95,
- 0x5f, 0x72, 0x1e, 0x3e,
- 0x7d, 0x31, 0xfe, 0xbc, 0x93, 0x63, 0x3d, 0x46, 0x86, 0x83, 0xf0, 0x71,
- 0x72, 0xc0, 0xbb, 0xa8,
- 0xbf, 0x87, 0x28, 0xc7, 0x86, 0x79, 0xfb, 0x7a, 0xb6, 0x97, 0xff, 0xc3,
- 0xdc, 0xcc, 0x4d, 0x43,
- 0xd0, 0xe9, 0xe8, 0x2b, 0x51, 0x43, 0xb7, 0x48, 0xe1, 0x38, 0x12, 0x8e,
- 0x78, 0xa9, 0x56, 0xc9,
- 0xde, 0xdc, 0x43, 0x1b, 0x6d, 0x74, 0x98, 0x64, 0xae, 0x9d, 0x19, 0x9a,
- 0x8b, 0xca, 0x36, 0xd7,
- 0xca, 0x5d, 0xf5, 0x16, 0xf2, 0x73, 0x78, 0x41, 0x54, 0x3f, 0x81, 0xef,
- 0x77, 0x15, 0x2c, 0x79,
- 0x2c, 0x55, 0x5f, 0xcd, 0x6f, 0xdb, 0x5c, 0x95, 0x05, 0x73, 0xb4, 0x25,
- 0xb6, 0x90, 0x59, 0xd6,
- 0x19, 0xdb, 0x59, 0xf2, 0x2f, 0x1f, 0x66, 0xc0, 0x41, 0x40, 0x30, 0xa4,
- 0x1a, 0x81, 0x27, 0xf6,
- 0x76, 0xb5, 0x99, 0x1e, 0xf8, 0x25, 0x2a, 0xf2, 0x16, 0xef, 0xdd, 0xe9,
- 0xbe, 0xe4, 0x3c, 0x7c,
- 0x12, 0x5f, 0x3e, 0x50, 0x44, 0x59, 0x71, 0x74, 0xd1, 0x2c, 0x1d, 0x3c,
- 0xd6, 0xa5, 0xa0, 0x22,
- 0x74, 0xff, 0xe1, 0x94, 0xb1, 0xae, 0xe4, 0x7c, 0x0f, 0x95, 0x1f, 0x6f,
- 0x19, 0x73, 0xeb, 0xb9,
- 0xd5, 0x58, 0x24, 0xb9, 0x06, 0x32, 0x8f, 0xd0, 0x3e, 0xf1, 0x34, 0x02,
- 0x47, 0xee, 0xb1, 0x03,
- 0x8b, 0x2c, 0x12, 0xbd, 0x03, 0x19, 0xa6, 0x68, 0x1f, 0x99, 0x1a, 0x01,
- 0xc2, 0x77, 0xb9, 0xe0,
- 0x07, 0xfb, 0xb4, 0x18, 0x1e, 0xfa, 0xf6, 0x16, 0xc6, 0xb3, 0xe4, 0x0a,
- 0x98, 0xd0, 0x30, 0x0f,
- 0x59, 0x8f, 0x82, 0x1c, 0x1b, 0xd1, 0xdf, 0xae, 0xe7, 0xdb, 0xca, 0x09,
- 0x1d, 0x49, 0x38, 0xec,
- 0xb0, 0x97, 0xbf, 0xb2, 0x7f, 0xea, 0xb3, 0x11, 0x14, 0x0f, 0x95, 0x94,
- 0x9d, 0x05, 0xa7, 0xde,
- 0x1f, 0x05, 0xd1, 0xaf, 0xf4, 0x41, 0xf7, 0x91, 0x6a, 0xce, 0xb5, 0xed,
- 0x30, 0xfb, 0x9d, 0x7a,
- 0x61, 0x5b, 0x6b, 0xdc, 0xeb, 0x0d, 0x63, 0x1e, 0x18, 0x0a, 0xe6, 0x59,
- 0x57, 0x06, 0x7b, 0x94,
- 0x1a, 0xb4, 0x1d, 0x3d, 0xa3, 0x30, 0xcf, 0x09, 0xb5, 0x07, 0x93, 0x61,
- 0x0f, 0xbc, 0x7a, 0xb0,
- 0xc8, 0x17, 0x8d, 0x9c, 0xbb, 0xf8, 0xb6, 0xcf, 0x4d, 0x45, 0x43, 0x69,
- 0xd0, 0x82, 0xfb, 0xbc,
- 0x97, 0x46, 0x87, 0xdd, 0x7b, 0x77, 0xf8, 0x30, 0x81, 0x10, 0x0c, 0x29,
- 0xe7, 0xb1, 0x79, 0xdc,
- 0x17, 0xee, 0xf2, 0xc2, 0x13, 0x28, 0x49, 0xec, 0x0e, 0xe5, 0x3b, 0xb0,
- 0xe9, 0xe2, 0x47, 0xe8,
- 0xa9, 0x4c, 0xe6, 0x40, 0x50, 0xf5, 0xd5, 0xd1, 0x55, 0x4f, 0xa5, 0x30,
- 0x87, 0x84, 0x80, 0x28,
- 0x91, 0x98, 0x0f, 0x80, 0xa0, 0x29, 0x69, 0x61, 0xaa, 0x9e, 0x89, 0x60,
- 0xcd, 0xcb, 0xc3, 0x50,
- 0x9f, 0xad, 0xa4, 0xb0, 0x9c, 0x1e, 0x46, 0x4d, 0xe5, 0x3b, 0x82, 0x74,
- 0x3e, 0xa8, 0xa3, 0x4e,
- 0x1b, 0x91, 0x21, 0x78, 0x66, 0x94, 0xa8, 0x4e, 0x58, 0x3a, 0xf2, 0x22,
- 0xbd, 0x16, 0xf0, 0x33,
- 0xbb, 0x13, 0xd8, 0x10, 0x14, 0xac, 0xa4, 0xa5, 0x84, 0x63, 0xb8, 0x0c,
- 0x51, 0x21, 0x20, 0x0a,
- 0xd1, 0xcc, 0xd4, 0x6e, 0x94, 0xe7, 0xd0, 0x0f, 0x0c, 0x05, 0x73, 0xcd,
- 0xca, 0x03, 0xdc, 0x4a,
- 0x7a, 0xca, 0x4a, 0xa4, 0x8d, 0x99, 0xcb, 0x50, 0x40, 0x30, 0x14, 0x7b,
- 0xea, 0x10, 0x8b, 0xa7,
- 0xb4, 0x03, 0x4f, 0x65, 0xed, 0x3f, 0xec, 0xce, 0x26, 0xfb, 0xd2, 0x5b,
- 0x10, 0xe8, 0xca, 0x97,
- 0x5f, 0x51, 0x0a, 0x41, 0xc0, 0x8f, 0x4e, 0xff, 0xcc, 0x55, 0x4f, 0x40,
- 0x37, 0x33, 0x82, 0x60,
- 0x71, 0x4e, 0x2d, 0x06, 0xe6, 0xdf, 0xdc, 0xe4, 0xd0, 0x5c, 0x39, 0xe3,
- 0x26, 0x34, 0x0c, 0x73,
- 0x0e, 0x35, 0xab, 0x30, 0x3c, 0x37, 0x2f, 0x2c, 0x4f, 0xa5, 0x0b, 0x14,
- 0xf3, 0x63, 0x60, 0x1e,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x78, 0x80, 0x32, 0x2e, 0xc4, 0x12, 0x05, 0xde, 0x59, 0x4a, 0xd6, 0xfd,
- 0x4d, 0x87, 0x5c, 0x62,
- 0x24, 0xbe, 0x7c, 0xa0, 0x88, 0xb2, 0xe2, 0xe8, 0x61, 0x58, 0x3a, 0x78,
- 0x6f, 0x89, 0x83, 0x44,
- 0x40, 0x54, 0xdb, 0xee, 0x34, 0xce, 0xb9, 0x6e, 0xa6, 0x9b, 0xfa, 0xad,
- 0x07, 0xc8, 0x1f, 0x1a,
- 0x86, 0x76, 0xfd, 0x42, 0xb3, 0x01, 0x20, 0x8d, 0xa4, 0x7b, 0xb2, 0xd0,
- 0x24, 0x29, 0x84, 0xb8,
- 0x52, 0x0b, 0xe5, 0xbe, 0x70, 0x97, 0xc8, 0x1a, 0x77, 0xb7, 0xe7, 0x91,
- 0xd1, 0x6d, 0xbf, 0x38,
- 0xf3, 0xac, 0x20, 0x93, 0xc7, 0x0b, 0xa3, 0xb6, 0x46, 0xd3, 0xcc, 0xfc,
- 0x8f, 0xf0, 0xe5, 0x82,
- 0x11, 0x30, 0x7a, 0x9f, 0xc8, 0x76, 0xd8, 0xbd, 0x25, 0x6b, 0xbe, 0xf9,
- 0xc3, 0x98, 0xfd, 0x64,
- 0x28, 0xc1, 0xaf, 0x1a, 0xfd, 0x0e, 0x03, 0x4a, 0x37, 0x87, 0xf3, 0xea,
- 0x3b, 0x7d, 0x34, 0x9f,
- 0x5c, 0x3e, 0x4e, 0x8e, 0x4c, 0xa0, 0xe7, 0x36, 0x38, 0x12, 0xec, 0x85,
- 0x22, 0x0e, 0xdf, 0x26,
- 0x98, 0x56, 0x10, 0xa8, 0x82, 0xe4, 0xb0, 0x5b, 0x23, 0x88, 0x66, 0x7e,
- 0xa6, 0x78, 0x93, 0x41,
- 0xc1, 0xd9, 0x92, 0xb4, 0x99, 0x35, 0x6f, 0xf5, 0xc4, 0x53, 0xac, 0x77,
- 0xbb, 0x31, 0xab, 0xad,
- 0xd6, 0x37, 0x60, 0x76, 0x8a, 0x1d, 0x26, 0x19, 0xca, 0xb6, 0x97, 0xc7,
- 0x52, 0xd3, 0xec, 0x45,
- 0x03, 0x6f, 0x44, 0xcf, 0x8c, 0x2f, 0xa9, 0xc9, 0xf4, 0x47, 0xa3, 0xc5,
- 0x15, 0x3d, 0x5d, 0x46,
- 0x08, 0xeb, 0x23, 0x6d, 0xe7, 0x69, 0xbe, 0x7d, 0x64, 0x2b, 0x8e, 0x5d,
- 0xd9, 0x19, 0xda, 0x92,
- 0xae, 0xb7, 0x52, 0x58, 0x4e, 0x0f, 0x23, 0xc7, 0x93, 0xfc, 0x41, 0x3a,
- 0x1f, 0x54, 0xb0, 0x27,
- 0x64, 0xea, 0xa7, 0x4e, 0xbc, 0x7c, 0x5b, 0x86, 0xc7, 0xc3, 0xc0, 0xd5,
- 0x68, 0x41, 0x9c, 0x5e,
- 0x2d, 0x70, 0x63, 0x88, 0xaa, 0x7f, 0x3b, 0xd2, 0xe8, 0x4e, 0xd5, 0x66,
- 0x04, 0x3a, 0xd3, 0x55,
- 0x32, 0x75, 0xb2, 0x27, 0x5e, 0x3e, 0xcc, 0x43, 0x82, 0x80, 0x60, 0x8b,
- 0x34, 0xc1, 0x4e, 0x2f,
- 0x06, 0xde, 0x88, 0x5d, 0xdb, 0x5e, 0x91, 0x51, 0x2b, 0x8e, 0x85, 0x49,
- 0x2a, 0x7a, 0xba, 0x8c,
- 0x34, 0xab, 0x3a, 0x7a, 0x85, 0x60, 0x5d, 0x12, 0xa9, 0x0e, 0xe5, 0xc2,
- 0x1e, 0xbb, 0xf4, 0xa3,
- 0x5d, 0x1b, 0x72, 0xcb, 0x89, 0x04, 0x80, 0x71, 0xd5, 0x2f, 0x8d, 0xc6,
- 0x90, 0xa4, 0x55, 0xa5,
- 0x84, 0x3c, 0x85, 0xc8, 0xfa, 0x8a, 0xee, 0x03, 0xbd, 0x01, 0x70, 0x56,
- 0x83, 0xbe, 0x53, 0x7d,
- 0x31, 0x1a, 0xf6, 0xe8, 0xd2, 0x11, 0x65, 0x8a, 0x76, 0xc7, 0xc3, 0x4e,
- 0x21, 0xfc, 0x13, 0x69,
- 0xf9, 0x0d, 0x7b, 0x74, 0x69, 0xe9, 0xd3, 0x45, 0x3b, 0x82, 0x80, 0x27,
- 0xf1, 0x7e, 0xe8, 0xd5,
- 0x93, 0xd2, 0x77, 0x0a, 0xe9, 0xa2, 0xa7, 0xef, 0xb3, 0xe4, 0x4b, 0xe6,
- 0x6a, 0x5c, 0x14, 0x95,
- 0x87, 0x53, 0xc1, 0x07, 0x76, 0xa5, 0x47, 0xca, 0x49, 0x46, 0xd3, 0x93,
- 0x96, 0x83, 0x0e, 0x3b,
- 0x9b, 0x39, 0x54, 0x67, 0x0e, 0xcb, 0x19, 0x92, 0xd7, 0xcf, 0xc5, 0xbb,
- 0xb3, 0x45, 0xce, 0x07,
- 0x0d, 0x5a, 0xef, 0xff, 0xb0, 0x18, 0x86, 0xe5, 0xbb, 0xe2, 0xa8, 0xd1,
- 0xe6, 0x5e, 0x3d, 0x58,
- 0xcf, 0xec, 0x39, 0x84, 0xa5, 0x02, 0x40, 0xd9, 0x8b, 0xf6, 0xa7, 0x63,
- 0x48, 0x52, 0xcb, 0xb3,
- 0x6a, 0xdf, 0x0c, 0x7e, 0x80, 0x4b, 0x74, 0xaa, 0x88, 0x66, 0xcb, 0xc1,
- 0x9b, 0x22, 0xfc, 0x40,
- 0xbd, 0xcd, 0x50, 0x4d, 0xcf, 0xf2, 0x35, 0xf4, 0xaf, 0xed, 0x3d, 0x45,
- 0x7b, 0x5b, 0x9a, 0x86,
- 0x33, 0x50, 0x8e, 0x62, 0x9b, 0x9a, 0xab, 0x04, 0x6f, 0xbd, 0x01, 0xc8,
- 0x86, 0x6b, 0xc4, 0xac,
- 0xdb, 0x6d, 0x8f, 0x89, 0x3a, 0x05, 0xa0, 0xfc, 0x71, 0x54, 0x3f, 0x16,
- 0xb4, 0x8d, 0xd1, 0x1d,
- 0xeb, 0x52, 0x45, 0x24, 0x2d, 0xb0, 0xa2, 0x31, 0xea, 0xae, 0x9d, 0x1b,
- 0x27, 0xdb, 0x48, 0xf7,
- 0xce, 0xc9, 0x05, 0xc1, 0x60, 0xa6, 0x27, 0x9e, 0x66, 0xcb, 0xc6, 0x20,
- 0xfa, 0xf8, 0x41, 0x30,
- 0x55, 0xf0, 0x51, 0xa6, 0x6e, 0x6d, 0x3e, 0x0c, 0xb1, 0x04, 0x03, 0x9b,
- 0x49, 0xbd, 0x8f, 0x37,
- 0x16, 0xcb, 0xce, 0x87, 0xd6, 0x8c, 0x2e, 0xab, 0xe3, 0xd8, 0x5a, 0xf3,
- 0x5b, 0x48, 0xcd, 0x6b,
- 0xc5, 0x4d, 0x62, 0x63, 0x0b, 0xe0, 0x30, 0x2a, 0xf6, 0xa7, 0xeb, 0xb8,
- 0x36, 0xdc, 0xc6, 0xe4,
- 0x48, 0xbf, 0xf8, 0x83, 0xd3, 0xa7, 0x07, 0x13, 0xc2, 0xb0, 0x74, 0xf0,
- 0xde, 0xd1, 0xc5, 0x88,
- 0x2b, 0xae, 0xeb, 0xd5, 0x71, 0x21, 0xaa, 0x83, 0xc3, 0xc0, 0x50, 0x2f,
- 0x2e, 0x40, 0x69, 0xd9,
- 0x10, 0x15, 0x46, 0xda, 0x0d, 0xd2, 0xbf, 0xfa, 0xc8, 0x56, 0xdf, 0xba,
- 0x71, 0x32, 0x77, 0xe7,
- 0xba, 0x36, 0xe4, 0x55, 0xd1, 0x08, 0xc3, 0xe2, 0x69, 0x5e, 0xd9, 0x4f,
- 0xe3, 0x8b, 0xaa, 0x89,
- 0x79, 0xa5, 0x0e, 0x6b, 0x01, 0xb6, 0x62, 0x99, 0xb4, 0x77, 0xb7, 0xbe,
- 0xff, 0x2d, 0xd6, 0xe1,
- 0xb2, 0xdd, 0xc7, 0x38, 0x36, 0x61, 0x7d, 0x9f, 0x0d, 0x75, 0x57, 0x12,
- 0x3a, 0x92, 0x70, 0x1b,
- 0x01, 0x25, 0x3c, 0x45, 0xc5, 0xa4, 0x67, 0x47, 0xed, 0x3d, 0x61, 0x43,
- 0xb2, 0xaa, 0x8a, 0x83,
- 0x04, 0x94, 0xf0, 0xd7, 0x92, 0xd5, 0x5f, 0xdf, 0x32, 0xf4, 0x47, 0xcf,
- 0x8d, 0xed, 0x6d, 0x49,
- 0xb8, 0x7c, 0x9c, 0xdf, 0x98, 0x83, 0x0d, 0x6c, 0x70, 0x24, 0x1b, 0xc9,
- 0x44, 0x1c, 0x7d, 0x4c,
- 0xc9, 0x32, 0xb1, 0xd9, 0x7e, 0x5c, 0xd1, 0x88, 0xa0, 0x78, 0x22, 0x2a,
- 0x62, 0x28, 0x71, 0x3f,
- 0xec, 0xa9, 0xf1, 0x3c, 0x33, 0x4a, 0x54, 0x27, 0x2c, 0x1d, 0x79, 0x11,
- 0xbf, 0x0b, 0x78, 0xf8,
- 0x85, 0x19, 0xb9, 0x8d, 0x3f, 0x2e, 0x89, 0x44, 0x50, 0x3c, 0x11, 0x15,
- 0x31, 0x14, 0xd9, 0xfe,
- 0xf4, 0x57, 0x94, 0x8b, 0xd9, 0xf1, 0x55, 0xa0, 0x80, 0x60, 0x28, 0xf6,
- 0x17, 0x20, 0xd5, 0x8d,
- 0x44, 0xc0, 0x2b, 0x39, 0xa6, 0x1b, 0xe6, 0xb1, 0x94, 0x6f, 0xbd, 0x62,
- 0x8a, 0x25, 0x72, 0x53,
- 0x5a, 0xe0, 0xc6, 0xd3, 0x97, 0xfe, 0x76, 0x67, 0x13, 0x9c, 0x69, 0xcc,
- 0x08, 0x74, 0x65, 0xaa,
- 0x2f, 0x3a, 0x1b, 0x02, 0xe3, 0xf4, 0xf5, 0x5c, 0xf1, 0x34, 0x17, 0xe0,
- 0xa3, 0xad, 0x04, 0x90,
- 0x05, 0xb1, 0xcc, 0x92, 0x57, 0x71, 0x38, 0x98, 0xdf, 0xc9, 0x26, 0x8c,
- 0x3f, 0x47, 0xe7, 0xca,
- 0xd9, 0x27, 0xf7, 0x03, 0x73, 0x8e, 0x6e, 0x72, 0x68, 0x2e, 0xfd, 0x90,
- 0x13, 0x1a, 0x06, 0xd8,
- 0x68, 0x95, 0x74, 0xf4, 0xc9, 0xc0, 0xba, 0x24, 0x91, 0x1c, 0x09, 0x47,
- 0x3c, 0xb5, 0x2b, 0x85,
- 0xad, 0xd8, 0x16, 0x97, 0xc2, 0x20, 0x8a, 0x0e, 0x67, 0xbb, 0xe2, 0xff,
- 0x0a, 0x69, 0xed, 0x61,
- 0x35, 0x8e, 0x06, 0x3f, 0x40, 0xc4, 0x3a, 0x55, 0x44, 0x33, 0x84, 0x81,
- 0xac, 0x11, 0x7e, 0x20,
- 0x56, 0x9f, 0x15, 0x69, 0xe2, 0x42, 0x97, 0xc5, 0x45, 0x43, 0xa0, 0x5e,
- 0x5c, 0x80, 0xd2, 0x71,
- 0xc4, 0x68, 0x5e, 0x26, 0xce, 0x44, 0x57, 0x6d, 0x1b, 0x9a, 0x8a, 0xfb,
- 0x84, 0x76, 0x4c, 0x67,
- 0xaf, 0x92, 0x6e, 0x1d, 0x8b, 0xab, 0x44, 0x80, 0x7e, 0xc1, 0x20, 0x79,
- 0xad, 0xfe, 0x3a, 0xa4,
- 0x15, 0xa4, 0x8a, 0x48, 0x5a, 0xa3, 0x87, 0x62, 0x17, 0x9f, 0xf9, 0x36,
- 0x4e, 0x75, 0x90, 0x2d,
- 0x7c, 0x14, 0xc2, 0xf9, 0x56, 0xc7, 0x5a, 0x01, 0x6b, 0xbe, 0x91, 0x32,
- 0xc0, 0x6a, 0x31, 0x2b,
- 0x6e, 0x4b, 0xfc, 0xa9, 0x12, 0x9e, 0x2b, 0x75, 0xba, 0x92, 0x8c, 0x0e,
- 0x16, 0xcf, 0x91, 0x09,
- 0xd8, 0x02, 0xcb, 0x46, 0xb6, 0x2a, 0x09, 0x35, 0x85, 0x13, 0x9c, 0xd3,
- 0xa1, 0xb0, 0x8c, 0x5b,
- 0xf7, 0x38, 0xd0, 0x44, 0x55, 0xde, 0xfc, 0x69, 0x74, 0x27, 0x8b, 0x33,
- 0x02, 0x1d, 0x88, 0xcb,
- 0x66, 0xa0, 0xdf, 0xc4, 0xf5, 0xf7, 0x95, 0x08, 0xde, 0xb9, 0x02, 0x53,
- 0xcf, 0xd6, 0x4b, 0x9b,
- 0x89, 0x66, 0x6a, 0x37, 0x4a, 0x92, 0x68, 0xe6, 0x06, 0xe3, 0xd8, 0x87,
- 0x65, 0xe0, 0x6e, 0x25,
- 0x45, 0xe5, 0x17, 0x7c, 0x63, 0xbf, 0x81, 0xf6, 0x79, 0x52, 0xdc, 0x21,
- 0x38, 0x8f, 0xf8, 0xd0,
- 0xef, 0xc6, 0xb5, 0xf3, 0xbf, 0x65, 0xfd, 0xee, 0xd8, 0x5a, 0xda, 0xd4,
- 0xaa, 0x36, 0x25, 0xbe,
- 0x37, 0xc4, 0x7e, 0xb5, 0x09, 0x4f, 0xf4, 0xdb, 0x5d, 0x49, 0x46, 0x07,
- 0x0b, 0x86, 0xa9, 0xe5,
- 0x8d, 0xf2, 0x9a, 0xe0, 0xd8, 0x47, 0x37, 0x39, 0x34, 0x17, 0x9f, 0x48,
- 0xe8, 0x0d, 0x03, 0x6c,
- 0xb6, 0x49, 0x37, 0xef, 0xa4, 0xb4, 0x22, 0x40, 0x3f, 0x81, 0x10, 0xdd,
- 0xb7, 0x7f, 0x1d, 0x52,
- 0xff, 0xd3, 0xf3, 0x29, 0xb2, 0xb7, 0x42, 0x14, 0x10, 0x0c, 0x05, 0x6e,
- 0xdb, 0x04, 0x52, 0x59,
- 0x88, 0x43, 0x56, 0x72, 0x8f, 0x36, 0x0f, 0xa1, 0xeb, 0xde, 0xb9, 0xc4,
- 0xd7, 0x4a, 0xe4, 0xa6,
- 0xea, 0x77, 0x79, 0x61, 0xe8, 0x14, 0xc5, 0x76, 0x07, 0x93, 0xfc, 0x58,
- 0x95, 0x71, 0xc2, 0x74,
- 0x62, 0x34, 0x2f, 0x13, 0x67, 0x22, 0xca, 0xd7, 0xec, 0x4d, 0x45, 0x9c,
- 0x42, 0x3b, 0x26, 0xd2,
- 0xe2, 0x9c, 0x5a, 0x0c, 0x0f, 0x7d, 0x7b, 0x0b, 0x63, 0xb8, 0x72, 0x05,
- 0x4c, 0x68, 0x18, 0xe6,
- 0x3e, 0x0a, 0x61, 0x9d, 0x2b, 0x82, 0x2d, 0xe1, 0xd4, 0x5f, 0xa9, 0x19,
- 0x60, 0x35, 0xf9, 0xf4,
- 0x54, 0xd5, 0x6d, 0xe3, 0xab, 0xc9, 0x59, 0x4b, 0x5c, 0x39, 0x62, 0xd8,
- 0xfb, 0x17, 0x05, 0xb4,
- 0xbe, 0xa2, 0x14, 0x82, 0x43, 0xdd, 0x9c, 0x3d, 0x5b, 0xaa, 0x9e, 0x80,
- 0x6e, 0x66, 0xc7, 0xc0,
- 0xb7, 0x6c, 0x0b, 0xaa, 0x61, 0x10, 0x45, 0x07, 0xd2, 0xbc, 0x71, 0x9e,
- 0x05, 0xd5, 0x97, 0xd1,
- 0x36, 0xe1, 0x42, 0xf0, 0xcc, 0xeb, 0x93, 0x9c, 0xb0, 0x74, 0x27, 0x44,
- 0xb9, 0x2c, 0x23, 0x66,
- 0xe6, 0x08, 0xaa, 0xdb, 0x9d, 0xa8, 0x24, 0xd4, 0x51, 0x4c, 0x35, 0xca,
- 0xc1, 0x85, 0x75, 0xaf,
- 0x99, 0x73, 0x2c, 0xed, 0x47, 0x40, 0xd7, 0x1c, 0xce, 0xb5, 0x07, 0x3d,
- 0x14, 0xd2, 0x19, 0xc2,
- 0xa0, 0x82, 0xf9, 0x68, 0x72, 0x38, 0x0c, 0xeb, 0xdc, 0x59, 0x4a, 0x2e,
- 0xec, 0x37, 0xd0, 0x39,
- 0x23, 0x45, 0xc8, 0xb8, 0x96, 0x48, 0x14, 0xfe, 0xa7, 0xeb, 0xde, 0x72,
- 0xf7, 0x59, 0xb3, 0x4b,
- 0x8a, 0x09, 0x2e, 0xf8, 0xc6, 0xbd, 0xc1, 0x2f, 0xf2, 0xa4, 0x7b, 0x42,
- 0x70, 0xdd, 0x33, 0x63,
- 0x73, 0x04, 0x55, 0x8c, 0xaf, 0x54, 0x12, 0x6a, 0xc9, 0x26, 0xfb, 0x65,
- 0x81, 0xa3, 0xdb, 0xb6,
- },
- { /* 7 */
- 0x5e, 0x59, 0x1d, 0x8d, 0x98, 0xfb, 0x33, 0x54, 0x7c, 0xd4, 0xa4, 0x1b,
- 0xb3, 0x82, 0x0e, 0xb2,
- 0x90, 0x76, 0xbe, 0x36, 0xc1, 0x08, 0x56, 0x5a, 0xf4, 0x40, 0x38, 0xf8,
- 0x4c, 0x99, 0x0f, 0xec,
- 0xb8, 0xae, 0x1f, 0x39, 0x5b, 0xcb, 0x04, 0x4b, 0x01, 0x97, 0x34, 0x4e,
- 0xd8, 0x52, 0x2c, 0x9f,
- 0x18, 0x48, 0xde, 0x05, 0x76, 0x41, 0x8f, 0x0f, 0x53, 0x4d, 0x04, 0xd3,
- 0xcd, 0xf8, 0xa0, 0x90,
- 0x76, 0x81, 0xbc, 0x82, 0x02, 0x38, 0x61, 0x45, 0x89, 0x03, 0xa8, 0xad,
- 0x27, 0x49, 0x2d, 0xc1,
- 0xc4, 0x19, 0x1a, 0xc8, 0x9e, 0xb3, 0x90, 0x9b, 0x24, 0xd1, 0x9f, 0x2f,
- 0xda, 0x59, 0x79, 0x32,
- 0x0d, 0x23, 0xf7, 0xdb, 0x11, 0x1f, 0x5f, 0xae, 0x67, 0xf8, 0x5d, 0x96,
- 0x09, 0xc8, 0x5c, 0x46,
- 0x84, 0x1a, 0x0f, 0xd0, 0x8c, 0x88, 0x7f, 0xb3, 0x6f, 0xca, 0x3e, 0xa3,
- 0x06, 0x1d, 0xff, 0x34,
- 0xc2, 0x0b, 0xcc, 0x58, 0x62, 0x32, 0xc3, 0xe8, 0x40, 0x53, 0x9e, 0x6b,
- 0x78, 0x67, 0x51, 0x16,
- 0x34, 0x8c, 0x5a, 0xea, 0x44, 0x7c, 0xbf, 0xfd, 0x5f, 0x66, 0xb7, 0x1d,
- 0x24, 0xa6, 0xb3, 0xdb,
- 0x31, 0x97, 0xe7, 0x32, 0xc6, 0x5c, 0x24, 0x56, 0x09, 0xa5, 0x57, 0x7b,
- 0xd7, 0x87, 0x8f, 0xed,
- 0x24, 0xfc, 0xce, 0xec, 0xa1, 0x02, 0xf4, 0xf7, 0x3d, 0x10, 0x0e, 0x3e,
- 0x13, 0xb7, 0x73, 0x3b,
- 0xc3, 0x0c, 0x54, 0x60, 0x48, 0xec, 0x3a, 0xa0, 0xef, 0x6c, 0xc1, 0x75,
- 0xf6, 0xd3, 0x5d, 0x18,
- 0xc7, 0x10, 0x71, 0x80, 0xe0, 0x12, 0x58, 0x43, 0x16, 0x90, 0x7e, 0x0d,
- 0x8b, 0x46, 0x6d, 0x20,
- 0x4a, 0x35, 0xac, 0x6b, 0xd5, 0x7b, 0x1a, 0xbd, 0xe7, 0x5e, 0xa2, 0x40,
- 0xf9, 0x06, 0xfe, 0x6a,
- 0x07, 0x15, 0x4e, 0xa8, 0xd6, 0x5f, 0xaa, 0x3b, 0xcb, 0xbd, 0x5e, 0x5a,
- 0x2c, 0x8a, 0x24, 0x2a,
- 0x0c, 0x24, 0x6f, 0xe3, 0x3b, 0xc1, 0xa6, 0xe6, 0xc8, 0xc7, 0x02, 0x88,
- 0x87, 0x7c, 0x50, 0x48,
- 0x48, 0x3b, 0x5f, 0x1b, 0x81, 0x04, 0x2b, 0x2d, 0x7a, 0x20, 0x1c, 0x7c,
- 0x26, 0xad, 0xe6, 0x76,
- 0x80, 0x06, 0x2a, 0x30, 0x24, 0x76, 0x1d, 0x50, 0x96, 0x36, 0x81, 0xdb,
- 0x7b, 0x88, 0xcf, 0x0c,
- 0xd7, 0x60, 0xe5, 0x86, 0x05, 0x6c, 0x13, 0x49, 0x74, 0xe6, 0xc7, 0x2e,
- 0xbc, 0x57, 0xad, 0xc0,
- 0x69, 0xdc, 0x2c, 0x2f, 0xa2, 0x26, 0x44, 0x71, 0x11, 0xf3, 0xf2, 0x24,
- 0xc6, 0x3b, 0xa9, 0x7b,
- 0xee, 0xcf, 0x48, 0xb7, 0x50, 0x0f, 0xf3, 0x1a, 0x4c, 0x78, 0x2d, 0xa5,
- 0x91, 0x39, 0x42, 0x5d,
- 0xd8, 0x4d, 0xe1, 0x2d, 0x40, 0x0c, 0x7d, 0x77, 0x8e, 0x60, 0x24, 0x84,
- 0x6a, 0x34, 0xe9, 0x9a,
- 0x1b, 0x41, 0xb5, 0x4d, 0x08, 0xe0, 0x47, 0xd7, 0x61, 0x0c, 0xe5, 0xf1,
- 0x9c, 0xe7, 0xb4, 0x82,
- 0x77, 0x86, 0x24, 0xba, 0x28, 0xe6, 0x98, 0x0d, 0x26, 0x3c, 0xf7, 0xb3,
- 0xa9, 0xfd, 0x21, 0xcf,
- 0x91, 0x71, 0x26, 0x0e, 0xeb, 0xd6, 0xaf, 0x12, 0x5b, 0x7f, 0x67, 0xe6,
- 0xc2, 0x2d, 0x03, 0xe2,
- 0x73, 0x9a, 0x01, 0x5a, 0x80, 0x18, 0xfa, 0xee, 0xdf, 0xc0, 0x48, 0xcb,
- 0xd4, 0x68, 0x11, 0xf7,
- 0xe8, 0xdd, 0x9e, 0x27, 0xac, 0x8e, 0xa0, 0x69, 0x28, 0xfa, 0x2c, 0xe1,
- 0x33, 0x07, 0x6a, 0x79,
- 0xa1, 0xe1, 0x59, 0x04, 0x07, 0x54, 0x72, 0x0c, 0xfd, 0xe5, 0x6f, 0x83,
- 0x9b, 0x1e, 0x80, 0x01,
- 0x53, 0x7a, 0xea, 0x56, 0x89, 0xe4, 0x6c, 0xfa, 0x1b, 0x2c, 0xf9, 0x8d,
- 0xba, 0x4a, 0x52, 0xf4,
- 0xc9, 0x3a, 0xed, 0x13, 0x8f, 0xac, 0xcf, 0x35, 0x43, 0x29, 0xc2, 0xb9,
- 0xd3, 0x91, 0x25, 0x74,
- 0x8d, 0x25, 0xdd, 0xeb, 0x35, 0x69, 0x42, 0xfe, 0xf1, 0xce, 0xdc, 0x4d,
- 0x72, 0x40, 0x93, 0x4a,
- 0xe7, 0xf0, 0x9a, 0x8c, 0xe9, 0xee, 0xce, 0x57, 0xd2, 0x7c, 0xcf, 0x4b,
- 0xe5, 0x64, 0x2e, 0x23,
- 0x7f, 0xbe, 0x6e, 0xb9, 0xbb, 0xd9, 0x5c, 0x08, 0x17, 0x07, 0x4a, 0x43,
- 0x53, 0x14, 0x41, 0xbf,
- 0x86, 0x14, 0xfc, 0xa0, 0xd8, 0xf7, 0x4e, 0x23, 0xf2, 0xb4, 0x80, 0x9f,
- 0xd9, 0xb6, 0xe7, 0x28,
- 0x70, 0x93, 0x6a, 0x12, 0xfe, 0xb9, 0x32, 0x36, 0xed, 0x81, 0xa9, 0xe9,
- 0x85, 0x77, 0x05, 0xe5,
- 0x4e, 0x29, 0x89, 0x8b, 0x7d, 0x85, 0x78, 0x5e, 0x1e, 0xa2, 0x1d, 0x38,
- 0x84, 0x93, 0xce, 0x52,
- 0x1f, 0x5d, 0x90, 0xad, 0xa0, 0x1e, 0x25, 0x34, 0x98, 0xf0, 0x5a, 0x89,
- 0xe1, 0x72, 0x84, 0xba,
- 0x63, 0xea, 0x95, 0x5c, 0x65, 0x66, 0xb1, 0xe4, 0xbd, 0xb6, 0xf1, 0xe8,
- 0xe3, 0x79, 0xd1, 0x17,
- 0xe6, 0xf7, 0x02, 0xb4, 0xc3, 0x30, 0x37, 0x1f, 0x7d, 0x43, 0x90, 0x55,
- 0x6b, 0xd0, 0x22, 0x2d,
- 0xa7, 0xf3, 0x8f, 0x94, 0xfb, 0xd5, 0x21, 0x7f, 0x99, 0x67, 0x6e, 0xc7,
- 0x39, 0x20, 0xa8, 0x25,
- 0x35, 0x8b, 0xc2, 0xd2, 0x6e, 0xa2, 0x46, 0xb5, 0xf0, 0x59, 0xe8, 0x03,
- 0xaa, 0x12, 0xbf, 0xd5,
- 0x20, 0xe0, 0xeb, 0x0c, 0x09, 0xfc, 0x96, 0x14, 0xc4, 0xec, 0xb1, 0x46,
- 0x6e, 0x22, 0x43, 0x03,
- 0x0f, 0x2d, 0x04, 0xab, 0x45, 0x60, 0x6e, 0x3e, 0xfa, 0x86, 0xe3, 0xaa,
- 0xd6, 0x63, 0x44, 0x5a,
- 0x16, 0x62, 0x42, 0x96, 0x19, 0xff, 0x18, 0x79, 0x06, 0xf4, 0xb8, 0x67,
- 0x95, 0x2f, 0xe8, 0xc4,
- 0xf3, 0x9c, 0x2b, 0x6a, 0xa4, 0x6e, 0xe7, 0xbe, 0x49, 0xf6, 0xc9, 0x10,
- 0xaf, 0xe0, 0xde, 0xfb,
- 0xaf, 0xcb, 0xc5, 0x97, 0x68, 0xea, 0xe5, 0x7a, 0xa8, 0x5c, 0xd3, 0x37,
- 0xc3, 0xc9, 0xc8, 0x55,
- 0x22, 0xee, 0x18, 0x7c, 0x5d, 0x83, 0xa7, 0x84, 0x59, 0x92, 0x0f, 0x7a,
- 0xb1, 0x89, 0x5b, 0x1f,
- 0xb9, 0xa9, 0x87, 0x01, 0x71, 0x15, 0xfd, 0x03, 0xae, 0xa8, 0x6b, 0x50,
- 0x56, 0xe6, 0x20, 0x91,
- 0x1e, 0x5a, 0x08, 0x95, 0x8a, 0xc0, 0xdc, 0x7c, 0x37, 0xcf, 0x05, 0x97,
- 0x6f, 0xc6, 0x88, 0xb4,
- 0x25, 0xfb, 0x56, 0xd4, 0x8b, 0xdc, 0x0d, 0xbf, 0x92, 0x2f, 0x51, 0x20,
- 0x9d, 0x03, 0x7f, 0x35,
- 0xba, 0xa0, 0xec, 0x49, 0x0f, 0xb4, 0x35, 0xdb, 0x9c, 0xe9, 0x8a, 0x72,
- 0x07, 0xf9, 0x34, 0x83,
- 0xbd, 0xb5, 0xa2, 0xe1, 0xd9, 0xeb, 0x9f, 0xe0, 0x57, 0x54, 0xd4, 0x28,
- 0x2b, 0x73, 0x10, 0xa9,
- 0x8e, 0x2c, 0xb6, 0xa3, 0x4b, 0xc8, 0x8a, 0x26, 0xc3, 0x8f, 0x3d, 0x6f,
- 0x23, 0x5f, 0x87, 0x58,
- 0x5c, 0x57, 0xee, 0xfd, 0xcc, 0x84, 0x02, 0xc4, 0xe1, 0xaa, 0x1a, 0x27,
- 0x6c, 0x29, 0x16, 0xae,
- 0x41, 0x04, 0x8d, 0x20, 0x38, 0xe5, 0x16, 0x60, 0xe4, 0x24, 0xfe, 0x92,
- 0x52, 0xf0, 0x8a, 0x08,
- 0x6f, 0xce, 0xfa, 0xbf, 0x5e, 0xa7, 0x17, 0x02, 0x75, 0x71, 0xf3, 0x60,
- 0x64, 0x05, 0x81, 0x5f,
- 0x42, 0x0d, 0xe6, 0x68, 0x46, 0x44, 0xde, 0xb8, 0xd6, 0x65, 0x1f, 0xb0,
- 0x03, 0xef, 0x9e, 0x1a,
- 0x46, 0x11, 0xc3, 0x88, 0xee, 0xba, 0xbc, 0x5b, 0x2f, 0x99, 0xa0, 0xc8,
- 0x7e, 0x7a, 0xae, 0x22,
- 0x2b, 0xd1, 0xca, 0x47, 0xe4, 0x62, 0x9a, 0xc9, 0xc7, 0x96, 0xed, 0x94,
- 0xc5, 0xd4, 0x37, 0x61,
- 0xdc, 0x51, 0xc4, 0xcd, 0xe8, 0xf2, 0x1f, 0x94, 0x77, 0x9c, 0x9b, 0xfc,
- 0x17, 0xa1, 0xd9, 0xa2,
- 0xdf, 0x58, 0xaf, 0x85, 0x96, 0x53, 0xd7, 0x4c, 0x45, 0xdd, 0x7a, 0xde,
- 0x46, 0xbe, 0xcd, 0xb0,
- 0x43, 0x0a, 0x7e, 0x50, 0x6c, 0x9a, 0x27, 0xf0, 0x79, 0x5a, 0x40, 0xae,
- 0x8d, 0x5b, 0x92, 0x14,
- 0xe3, 0xec, 0xbf, 0x6c, 0x41, 0x10, 0xac, 0xb4, 0x2b, 0x80, 0x70, 0x33,
- 0x98, 0xf1, 0x1e, 0x1b,
- 0x29, 0xdf, 0x39, 0x37, 0xb0, 0x1d, 0xab, 0x59, 0x5a, 0xe8, 0x53, 0xa8,
- 0x1a, 0x7f, 0x2f, 0x7d,
- 0xb4, 0x8a, 0x70, 0xda, 0x60, 0x0a, 0xa2, 0xad, 0xc9, 0x50, 0x36, 0xc6,
- 0x5f, 0x2e, 0x7c, 0xd7,
- 0xcb, 0x34, 0x1e, 0x63, 0xdb, 0xd3, 0xfe, 0xa5, 0xde, 0x57, 0x7c, 0x85,
- 0x0c, 0x3a, 0x3d, 0x68,
- 0x32, 0x9e, 0x8c, 0x7a, 0xb8, 0xfd, 0xec, 0x8e, 0x3b, 0xe4, 0xb6, 0x59,
- 0x86, 0x98, 0x9b, 0xff,
- 0xda, 0x43, 0x12, 0x5d, 0x14, 0x73, 0x4c, 0xe7, 0x13, 0x1e, 0x9a, 0xb8,
- 0xb5, 0x9f, 0xf1, 0x86,
- 0xea, 0xd3, 0x6d, 0x57, 0xf8, 0xf1, 0x91, 0xf9, 0xb5, 0x84, 0x92, 0xdd,
- 0xec, 0xac, 0x72, 0x65,
- 0xbe, 0xbc, 0xc9, 0xa9, 0xa7, 0x4a, 0x57, 0x38, 0x65, 0x15, 0x35, 0x0a,
- 0x7a, 0x6c, 0x04, 0xbb,
- 0x03, 0x09, 0x6b, 0x48, 0x7e, 0xa1, 0xc8, 0xd8, 0x32, 0x41, 0xe1, 0x22,
- 0x51, 0x1f, 0x14, 0x12,
- 0xa5, 0xfd, 0x7c, 0xe4, 0xaf, 0xaa, 0x10, 0xef, 0x04, 0x19, 0xd0, 0xfb,
- 0xe6, 0x8b, 0xb0, 0x39,
- 0xa4, 0xfa, 0xe4, 0xdc, 0x85, 0x74, 0xe9, 0xa7, 0xab, 0x26, 0x8f, 0xe5,
- 0x68, 0x3f, 0xbc, 0x37,
- 0xab, 0xd7, 0xe0, 0x77, 0xc0, 0x14, 0x87, 0x99, 0x51, 0xa0, 0x6c, 0x4f,
- 0xbe, 0x5c, 0xf8, 0x6d,
- 0x64, 0xff, 0xdb, 0xf4, 0xb3, 0x39, 0x1b, 0xdf, 0x76, 0x0b, 0xaf, 0xb2,
- 0xcf, 0xf3, 0xf5, 0x3d,
- 0xad, 0xc5, 0x36, 0xe7, 0x3c, 0x95, 0xd4, 0xea, 0x35, 0x22, 0x6d, 0x0b,
- 0x1c, 0x62, 0xd0, 0x49,
- 0x4f, 0x2e, 0x11, 0xb3, 0x57, 0x5b, 0x81, 0x16, 0xb1, 0x9d, 0x42, 0x26,
- 0x0a, 0x27, 0xc2, 0x5c,
- 0x85, 0x1d, 0x97, 0xe8, 0xa6, 0x56, 0x86, 0xfb, 0xc0, 0xf5, 0x61, 0xbd,
- 0x88, 0xa9, 0xf3, 0x3a,
- 0xa0, 0xe6, 0xc1, 0x3c, 0x2d, 0x8a, 0x8b, 0x44, 0x52, 0xda, 0x30, 0x9d,
- 0x15, 0xaa, 0x8c, 0x0f,
- 0x13, 0x79, 0xff, 0x4e, 0x9b, 0xdf, 0x83, 0xd2, 0x50, 0x37, 0x58, 0x01,
- 0x66, 0x0e, 0xd4, 0xf2,
- 0xd4, 0x69, 0x8e, 0xce, 0x7b, 0xcd, 0xdb, 0x91, 0x46, 0xa7, 0x26, 0x0c,
- 0xed, 0x48, 0xb9, 0xd2,
- 0xfb, 0xa4, 0x61, 0x69, 0x37, 0x51, 0x23, 0xbb, 0x78, 0xcd, 0x74, 0xe0,
- 0x55, 0x09, 0xbe, 0x8b,
- 0xae, 0xcc, 0x5d, 0xaf, 0x42, 0x34, 0x1c, 0x32, 0x07, 0x63, 0x8c, 0x29,
- 0x4d, 0x7d, 0xc4, 0x5b,
- 0x94, 0x6a, 0x9b, 0xd6, 0x69, 0xf6, 0x34, 0xb9, 0x0d, 0xbc, 0x87, 0x80,
- 0x31, 0x0c, 0x3f, 0xd4,
- 0xde, 0x5f, 0x37, 0xbd, 0xbc, 0x8d, 0x2e, 0x04, 0xea, 0xe2, 0x25, 0xc0,
- 0xc8, 0x0a, 0xc1, 0xbe,
- 0xbb, 0xa7, 0x74, 0x71, 0x25, 0x6a, 0xcc, 0x93, 0x33, 0xd6, 0xd5, 0x6c,
- 0x89, 0x4d, 0x38, 0x8d,
- 0xce, 0x2f, 0xa3, 0xbb, 0x59, 0xf3, 0x65, 0x0e, 0x88, 0x94, 0x9c, 0xe3,
- 0xff, 0x1b, 0x01, 0x5e,
- 0xa2, 0xe8, 0x32, 0x4c, 0x79, 0xf5, 0xba, 0xd4, 0xcf, 0xa4, 0x8e, 0xa1,
- 0xca, 0x01, 0x94, 0x13,
- 0xf1, 0x92, 0xd8, 0x1a, 0xf0, 0x11, 0xd6, 0x2e, 0xd4, 0x88, 0x77, 0x2c,
- 0x70, 0x4b, 0xc6, 0xe7,
- 0x3d, 0xb3, 0x88, 0xd1, 0xfd, 0x9d, 0x82, 0xb0, 0xc1, 0x62, 0x55, 0xf3,
- 0x50, 0xfb, 0xdf, 0xa5,
- 0xb6, 0x84, 0x83, 0xaa, 0x34, 0x75, 0x93, 0x3d, 0x54, 0x2e, 0x88, 0xfa,
- 0x80, 0x85, 0x64, 0xcb,
- 0x61, 0xe4, 0x66, 0x2c, 0x31, 0x19, 0x80, 0x74, 0x20, 0xc8, 0x4f, 0xd4,
- 0x3c, 0xd2, 0xc9, 0x0b,
- 0x36, 0x82, 0xa9, 0x9a, 0x10, 0x03, 0x8e, 0x6d, 0xc2, 0x18, 0x09, 0x21,
- 0xfb, 0x0d, 0xab, 0xc7,
- 0xec, 0xc1, 0xbb, 0xc7, 0x04, 0x70, 0xc2, 0x8a, 0xd1, 0x06, 0x93, 0x99,
- 0x4e, 0x92, 0x5a, 0x41,
- 0xc8, 0x3d, 0x75, 0x2b, 0xa5, 0x72, 0x36, 0x7d, 0xec, 0x16, 0x9d, 0xa7,
- 0x5d, 0x25, 0x29, 0x7a,
- 0x52, 0x7d, 0x72, 0x6e, 0xa3, 0x3a, 0x95, 0xb2, 0xb4, 0x13, 0xa6, 0x93,
- 0x34, 0xfe, 0x5e, 0xfa,
- 0xb2, 0x98, 0xa6, 0x4a, 0x9c, 0x8b, 0xf1, 0xde, 0xad, 0xd2, 0x37, 0x82,
- 0xfd, 0x10, 0x54, 0xf3,
- 0xd0, 0x75, 0xab, 0x2e, 0xd3, 0x33, 0xb9, 0x72, 0xbf, 0x5b, 0x99, 0x74,
- 0x90, 0xdd, 0x89, 0xea,
- 0x72, 0x9d, 0x99, 0x62, 0xaa, 0xc6, 0x03, 0xa6, 0x70, 0xff, 0x17, 0xd5,
- 0x5a, 0xdc, 0x1d, 0xf9,
- 0xeb, 0xd4, 0xf5, 0x6f, 0xd2, 0x2f, 0x68, 0xb1, 0x1a, 0xbb, 0xcd, 0xc3,
- 0x62, 0x18, 0x7e, 0x6b,
- 0x96, 0x64, 0x68, 0xa6, 0x3d, 0x89, 0x05, 0x29, 0x90, 0xc2, 0x39, 0xbc,
- 0xee, 0xa7, 0x27, 0xc8,
- 0x0e, 0x2a, 0x9c, 0x93, 0x6f, 0xbe, 0x97, 0x76, 0x55, 0xb9, 0xbc, 0xb4,
- 0x58, 0xd7, 0x48, 0x54,
- 0xe2, 0xeb, 0x27, 0x54, 0x6b, 0xce, 0x55, 0xfc, 0x84, 0xbf, 0x2f, 0x2d,
- 0x16, 0x45, 0x12, 0x15,
- 0x56, 0x61, 0x57, 0x8e, 0x0b, 0xc4, 0xf7, 0x51, 0x4d, 0xef, 0x19, 0xeb,
- 0x49, 0x6b, 0x6e, 0xc2,
- 0x4c, 0x27, 0x7a, 0xfb, 0x29, 0xfa, 0x49, 0xce, 0x83, 0xdc, 0xa3, 0x04,
- 0x5b, 0x38, 0xd6, 0x4e,
- 0x40, 0x03, 0x15, 0x18, 0x12, 0x3b, 0xef, 0x28, 0x4b, 0x1b, 0xa1, 0x8c,
- 0xdc, 0x44, 0x86, 0x06,
- 0x37, 0x85, 0x31, 0xa2, 0x3a, 0xdd, 0x77, 0x25, 0x6d, 0x27, 0x56, 0x3f,
- 0x75, 0xb9, 0xa7, 0xc9,
- 0x92, 0x78, 0x4d, 0x46, 0x95, 0x77, 0x67, 0xca, 0x69, 0x3e, 0x86, 0xc4,
- 0x93, 0x32, 0x17, 0xf0,
- 0x44, 0x1f, 0x30, 0xf8, 0xba, 0xc5, 0x8d, 0xcb, 0xb2, 0xe7, 0x1e, 0xf4,
- 0xa1, 0xd1, 0xb6, 0x3e,
- 0x8f, 0x2b, 0x2e, 0x9b, 0x61, 0x16, 0x73, 0x6e, 0x6c, 0xb0, 0x62, 0x71,
- 0xad, 0xeb, 0x8b, 0x56,
- 0x59, 0x4c, 0x53, 0x25, 0x4e, 0xa4, 0x99, 0x6f, 0xb7, 0x69, 0xfa, 0x41,
- 0x9f, 0x08, 0x2a, 0x98,
- 0xdb, 0x44, 0x8a, 0x65, 0x3e, 0xad, 0xb5, 0xaf, 0xbc, 0x21, 0xc5, 0xa6,
- 0x3b, 0x2b, 0xfd, 0x88,
- 0x6d, 0xc0, 0x09, 0xcf, 0x0a, 0xd8, 0x26, 0x92, 0xe8, 0x0f, 0x4d, 0x5c,
- 0xbb, 0xae, 0x99, 0x43,
- 0x8c, 0x22, 0x45, 0xd3, 0x1f, 0xb7, 0xbb, 0xb6, 0x5e, 0xf1, 0x83, 0x53,
- 0xfc, 0xf4, 0x9f, 0x44,
- 0xd3, 0x7c, 0xc0, 0x66, 0xad, 0x92, 0x71, 0xaa, 0x8d, 0x1a, 0x78, 0x56,
- 0xc1, 0xc2, 0x9d, 0xf8,
- 0x88, 0x3e, 0x60, 0x33, 0xb7, 0x49, 0xd9, 0x55, 0xa7, 0x0d, 0x3c, 0x2b,
- 0x81, 0x61, 0xaf, 0x7c,
- 0x47, 0x16, 0x5b, 0xb0, 0xc4, 0x64, 0x45, 0x13, 0x80, 0xa6, 0xff, 0xd6,
- 0xf0, 0xce, 0xa2, 0x2c,
- 0xe5, 0xfe, 0x69, 0xfc, 0xbd, 0x91, 0xff, 0xc7, 0x4f, 0x02, 0x71, 0x77,
- 0x3a, 0xcf, 0x36, 0x3f,
- 0x2f, 0xcd, 0xef, 0xa7, 0x4c, 0x9c, 0xf8, 0x2a, 0x3e, 0x6a, 0x52, 0xec,
- 0xb8, 0x41, 0x07, 0x59,
- 0x12, 0x7e, 0x67, 0x76, 0xb1, 0x01, 0x7a, 0x9a, 0xff, 0x08, 0x07, 0x1f,
- 0xe8, 0xba, 0xd8, 0xfc,
- 0x8b, 0x37, 0x0b, 0x7b, 0xc9, 0xe8, 0x11, 0x8d, 0x95, 0x4c, 0xdd, 0x09,
- 0xd0, 0x7e, 0xbb, 0x6e,
- 0x11, 0x77, 0x0c, 0x3e, 0xcf, 0xa0, 0xb2, 0x42, 0xcd, 0x49, 0xe6, 0x3d,
- 0xb9, 0xa5, 0xcc, 0xee,
- 0x54, 0x6f, 0xa4, 0xfe, 0x5f, 0xbb, 0xc6, 0xc1, 0xd0, 0x91, 0xa7, 0xd7,
- 0x96, 0xc0, 0x76, 0xde,
- 0xa8, 0xde, 0x8b, 0x3f, 0xbe, 0xb5, 0x4f, 0x41, 0x63, 0xe1, 0x8d, 0x6d,
- 0xef, 0x43, 0xec, 0x7f,
- 0x87, 0x13, 0x64, 0x98, 0xf2, 0x29, 0xb7, 0x6b, 0x5d, 0x8b, 0xdf, 0x81,
- 0x57, 0x02, 0xeb, 0x26,
- 0x2d, 0xc3, 0x1c, 0xd7, 0x18, 0xe3, 0xc9, 0xba, 0xa3, 0x14, 0xec, 0xd0,
- 0x67, 0xea, 0x1f, 0x45,
- 0x5d, 0x50, 0x76, 0xc5, 0xe6, 0x5a, 0xfb, 0x8c, 0x4e, 0x95, 0x45, 0x39,
- 0xe2, 0x9d, 0x1a, 0xa0,
- 0x9d, 0x55, 0x49, 0xed, 0xd0, 0x17, 0x09, 0xf4, 0x93, 0xb8, 0x65, 0x6e,
- 0x45, 0x51, 0x53, 0xaa,
- 0x39, 0xaf, 0xad, 0x31, 0x55, 0x63, 0xe0, 0x53, 0x38, 0x9e, 0xea, 0x8b,
- 0x2d, 0x6e, 0xef, 0x9d,
- 0x5f, 0x5e, 0x85, 0xb5, 0xb2, 0x25, 0xca, 0x1c, 0xd3, 0xeb, 0xfb, 0x05,
- 0x3d, 0x36, 0x02, 0xbc,
- 0x26, 0xf2, 0x3d, 0x9c, 0xf5, 0x7d, 0xc5, 0x67, 0xa0, 0x6e, 0xb0, 0x02,
- 0xcc, 0x1c, 0x6b, 0x27,
- 0x05, 0x1b, 0xbd, 0xd8, 0x82, 0x20, 0x9b, 0xab, 0x56, 0xc3, 0xe0, 0x66,
- 0xf3, 0x21, 0x3c, 0x36,
- 0xd5, 0x6e, 0x16, 0xf6, 0x51, 0x13, 0x22, 0xd9, 0xe9, 0x98, 0x79, 0x12,
- 0x63, 0xfc, 0xb5, 0xdc,
- 0xfc, 0xb1, 0x2f, 0xc1, 0xe1, 0x0e, 0x89, 0x80, 0xb3, 0x70, 0x2a, 0xba,
- 0x79, 0x83, 0x9a, 0xa1,
- 0x19, 0x4f, 0x46, 0x3d, 0x5c, 0x9f, 0x76, 0x47, 0xfc, 0x72, 0x5b, 0xcd,
- 0x43, 0x4c, 0xac, 0x9e,
- 0x09, 0x3f, 0xd2, 0x3b, 0xb9, 0xe1, 0x3d, 0x4d, 0x9e, 0x04, 0xe2, 0xee,
- 0x74, 0x5d, 0x6c, 0x7e,
- 0xb3, 0x9f, 0x3e, 0x72, 0xb6, 0x55, 0x08, 0x96, 0x02, 0xed, 0x68, 0x9c,
- 0x73, 0xa4, 0x58, 0xfd,
- 0xfa, 0xa3, 0xf9, 0x51, 0x1d, 0x8f, 0xda, 0xf3, 0xd7, 0xf2, 0x2b, 0xfe,
- 0xdb, 0xbd, 0xb2, 0x85,
- 0xef, 0xc8, 0xd0, 0x8f, 0x7a, 0xd1, 0x0a, 0x52, 0xe3, 0x47, 0x72, 0xbb,
- 0x1f, 0x8d, 0x4e, 0x53,
- 0x0a, 0x36, 0xb9, 0x73, 0xc7, 0x40, 0xf5, 0x95, 0xac, 0x45, 0x03, 0xcc,
- 0x25, 0x42, 0x78, 0x6c,
- 0x30, 0x90, 0x7f, 0x0a, 0xec, 0x82, 0xdd, 0x1e, 0xa6, 0x9a, 0x08, 0x65,
- 0x59, 0x33, 0x83, 0xe3,
- 0xcd, 0x26, 0xc8, 0xf3, 0x27, 0x52, 0xad, 0xd6, 0xba, 0xd5, 0x7d, 0xc1,
- 0xae, 0x04, 0x15, 0x4c,
- 0xd6, 0x67, 0x7d, 0xbe, 0x2f, 0xb2, 0xea, 0x01, 0xdb, 0xd9, 0x98, 0x30,
- 0x32, 0xe3, 0xa1, 0xce,
- 0x6b, 0xd2, 0xdf, 0x5f, 0xf6, 0x59, 0x75, 0xe1, 0x8c, 0x8d, 0x4c, 0x18,
- 0x19, 0x90, 0xb1, 0x67,
- 0x08, 0x38, 0x4a, 0x03, 0x93, 0x3f, 0xc4, 0x05, 0x31, 0x3b, 0xbd, 0xf0,
- 0xfa, 0xe9, 0x60, 0x70,
- 0xb5, 0x8d, 0xe8, 0xe2, 0x4a, 0xd4, 0x5b, 0xe5, 0x66, 0x6f, 0x69, 0xd8,
- 0xd1, 0x9a, 0x70, 0xd9,
- 0x6e, 0xc9, 0x62, 0x87, 0x74, 0x79, 0xee, 0x4a, 0xda, 0x4e, 0xac, 0x7e,
- 0xea, 0xb1, 0x8d, 0x51,
- 0x65, 0xf8, 0x43, 0xcc, 0x99, 0xe7, 0xe2, 0x97, 0xd9, 0x34, 0xf0, 0xac,
- 0x41, 0x47, 0xf9, 0x33,
- 0xf5, 0x8e, 0xfd, 0xfa, 0x58, 0xef, 0xb4, 0xcd, 0x2d, 0x74, 0xc8, 0x54,
- 0x0d, 0xde, 0xf6, 0xdf,
- 0xaa, 0xd0, 0x78, 0x4f, 0xea, 0xca, 0x7e, 0xd1, 0xfe, 0x9f, 0x33, 0x51,
- 0x30, 0xe8, 0xf4, 0x63,
- 0x74, 0x8f, 0x4f, 0xf2, 0x56, 0x47, 0x50, 0xd5, 0x14, 0x7d, 0x16, 0x91,
- 0xf8, 0xe2, 0x35, 0xdd,
- 0x4b, 0x32, 0x34, 0x53, 0xff, 0xa5, 0xe3, 0xf5, 0x48, 0x61, 0xfd, 0x5e,
- 0x77, 0xb2, 0xf2, 0x64,
- 0xff, 0xb8, 0x44, 0x89, 0x9f, 0xaf, 0x41, 0x58, 0x81, 0x31, 0xcb, 0x98,
- 0x28, 0x9c, 0x8e, 0xb3,
- 0x81, 0x01, 0xb2, 0x08, 0x0e, 0xa8, 0xe4, 0x18, 0x39, 0x09, 0xde, 0xc5,
- 0xf5, 0x3c, 0xc3, 0x02,
- 0xc1, 0x02, 0xa7, 0x10, 0x1c, 0x93, 0x0b, 0x30, 0x72, 0x12, 0x7f, 0x49,
- 0x29, 0x78, 0x45, 0x04,
- 0xd1, 0x72, 0x33, 0x16, 0xf9, 0xed, 0x40, 0x3a, 0x10, 0x64, 0xc6, 0x6a,
- 0x1e, 0x69, 0x85, 0xe4,
- 0x28, 0xd8, 0xa1, 0x0f, 0x9a, 0xc3, 0x52, 0x11, 0xf5, 0xd7, 0x0c, 0xb6,
- 0x94, 0xcb, 0x23, 0x73,
- 0xb1, 0x91, 0xcd, 0x02, 0xe2, 0x2a, 0x39, 0x06, 0x9f, 0x93, 0xd6, 0xa0,
- 0xac, 0x0f, 0x40, 0xe1,
- 0x9b, 0x47, 0x9f, 0x7d, 0x2c, 0x96, 0x5a, 0x87, 0xf7, 0x3a, 0x64, 0x2a,
- 0xe7, 0x6f, 0x7b, 0x8e,
- 0xdd, 0x56, 0x5c, 0xf5, 0xc2, 0x2c, 0xe6, 0xdc, 0xd8, 0xa3, 0xc4, 0xe2,
- 0x99, 0x15, 0xd5, 0xac,
- 0x23, 0xe9, 0x80, 0x44, 0x77, 0x5d, 0x5e, 0xcc, 0xf6, 0xad, 0x50, 0x64,
- 0x3f, 0x3d, 0x57, 0x11,
- 0x3f, 0xbd, 0x7b, 0xa1, 0xa9, 0xe2, 0xb3, 0x20, 0x5c, 0x1c, 0xeb, 0xcf,
- 0x8f, 0x50, 0xc7, 0xb9,
- 0x02, 0x0e, 0xf3, 0x70, 0x54, 0x7f, 0x31, 0x90, 0x9d, 0x7e, 0xbe, 0x3c,
- 0xdf, 0xab, 0x18, 0x1c,
- 0x10, 0x70, 0x94, 0x06, 0xe5, 0x7e, 0x4b, 0x0a, 0x62, 0x76, 0xb9, 0x23,
- 0x37, 0x11, 0xc0, 0xe0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x1a, 0x46, 0x2d, 0x75, 0x22, 0x3e, 0xbe, 0x9f, 0xce, 0x33, 0xba, 0xef,
- 0x12, 0x53, 0xb8, 0x8c,
- 0x60, 0xe3, 0xfe, 0x14, 0x1b, 0xc7, 0x79, 0x3c, 0x8f, 0xf7, 0x10, 0xca,
- 0xb2, 0x66, 0xc5, 0x05,
- 0x5a, 0x45, 0x38, 0x6d, 0x30, 0x05, 0x51, 0xb7, 0x85, 0x28, 0x1b, 0x63,
- 0xce, 0x17, 0x3e, 0x8a,
- 0x3e, 0xba, 0xe3, 0x99, 0x83, 0x3c, 0x4a, 0x68, 0xf3, 0x23, 0xb4, 0xd1,
- 0x01, 0xe4, 0xcb, 0xb7,
- 0x6a, 0xd5, 0x47, 0x67, 0xdc, 0x87, 0x8c, 0xa9, 0x23, 0xb2, 0x13, 0x06,
- 0x97, 0x24, 0xbd, 0x69,
- 0x71, 0x94, 0xf2, 0x2a, 0xd4, 0x67, 0xcb, 0x7e, 0x42, 0xbe, 0xf6, 0xf7,
- 0x0b, 0xc3, 0x09, 0xeb,
- 0x75, 0x88, 0xd7, 0xca, 0x7c, 0x99, 0xa9, 0x9d, 0xbb, 0x42, 0x49, 0x8f,
- 0x76, 0x56, 0x39, 0xd3,
- 0xb7, 0x83, 0x1b, 0x92, 0x1e, 0xab, 0x6a, 0x75, 0xfb, 0x11, 0xd7, 0xe4,
- 0x0e, 0x31, 0x68, 0xc5,
- 0x7a, 0xa5, 0xd3, 0x61, 0x39, 0xf9, 0xc7, 0xa3, 0x41, 0xc4, 0xaa, 0x25,
- 0xa0, 0x35, 0x7d, 0x89,
- 0xd9, 0x4a, 0x79, 0x15, 0x6a, 0xd2, 0x84, 0x3f, 0x21, 0x5f, 0x7b, 0x9a,
- 0xe4, 0x80, 0xe5, 0x94,
- 0x6c, 0xc7, 0x91, 0xf7, 0x20, 0x06, 0xdf, 0xda, 0x47, 0x30, 0x12, 0x42,
- 0x35, 0x1a, 0x95, 0x4d,
- 0x93, 0x7f, 0xd5, 0x7e, 0xbf, 0xa9, 0x9e, 0x82, 0xc6, 0x01, 0xd9, 0xda,
- 0x1d, 0x86, 0x1b, 0xfe,
- 0x45, 0x18, 0xa8, 0xc0, 0x90, 0x1b, 0x74, 0x83, 0x1d, 0xd8, 0x41, 0xea,
- 0x2f, 0x65, 0xba, 0x30,
- 0x9a, 0x40, 0x07, 0x45, 0x06, 0x48, 0xa3, 0xcf, 0x58, 0x05, 0x3b, 0x34,
- 0x69, 0xdb, 0x77, 0x80,
- 0x89, 0x39, 0xf8, 0x0b, 0x9d, 0x97, 0x20, 0x1d, 0x08, 0x32, 0x63, 0x35,
- 0x0f, 0xd5, 0xa3, 0x72,
- 0x3a, 0xa6, 0xc6, 0x79, 0x2b, 0xc2, 0x28, 0x8b, 0x0a, 0xdf, 0x0b, 0xa9,
- 0x7c, 0x71, 0xfb, 0x8f,
- 0x78, 0xab, 0x20, 0x11, 0x6d, 0x86, 0xf6, 0x33, 0xdc, 0xba, 0x14, 0x19,
- 0x7f, 0x9e, 0x65, 0x95,
- 0x1d, 0x53, 0x63, 0xdd, 0xf4, 0x61, 0x14, 0xa4, 0x05, 0x8e, 0xe4, 0xb5,
- 0x3e, 0xd9, 0x9c, 0xa6,
- 0x8a, 0x30, 0x93, 0x43, 0xe3, 0x36, 0xe8, 0xc5, 0x3a, 0x73, 0x82, 0x17,
- 0x5e, 0xca, 0xb7, 0x60,
- 0x97, 0x63, 0xf0, 0x9e, 0x17, 0x57, 0xfc, 0x61, 0x3f, 0xfd, 0x66, 0xa2,
- 0x60, 0x13, 0x2b, 0xc6,
- 0xf8, 0xad, 0x0a, 0x21, 0x49, 0xf0, 0xeb, 0x63, 0x4a, 0x8c, 0x95, 0xc2,
- 0x04, 0x16, 0xaa, 0x99,
- 0xf9, 0xaa, 0x92, 0x19, 0x63, 0x2e, 0x12, 0x2b, 0xe5, 0xb3, 0xca, 0xdc,
- 0x8a, 0xa2, 0xa6, 0x97,
- 0x58, 0x4b, 0xcb, 0x1d, 0x64, 0x7a, 0x60, 0x27, 0x18, 0x56, 0xa5, 0x5f,
- 0x11, 0xbc, 0x26, 0x96,
- 0x2c, 0xc4, 0x84, 0xef, 0x32, 0x3d, 0x30, 0xf2, 0x0c, 0x2b, 0xb3, 0xce,
- 0xe9, 0x5e, 0x13, 0x4b,
- 0x06, 0x12, 0xd6, 0x90, 0xfc, 0x81, 0x53, 0x73, 0x64, 0x82, 0x01, 0x44,
- 0xa2, 0x3e, 0x28, 0x24,
- 0xbc, 0xb2, 0x3a, 0xd9, 0xf3, 0x35, 0x66, 0xa8, 0xf8, 0x6b, 0x8b, 0x36,
- 0xa5, 0xc7, 0x1c, 0xa7,
- 0x9c, 0x52, 0xd1, 0xd5, 0xfa, 0xc9, 0xf0, 0xbc, 0x3c, 0x87, 0x3a, 0x70,
- 0xcb, 0xe5, 0x5f, 0xa4,
- 0x55, 0x68, 0x3c, 0xc6, 0x75, 0x65, 0x3f, 0x89, 0x7f, 0xae, 0xf8, 0xc9,
- 0x18, 0x74, 0x7a, 0xd0,
- 0x7c, 0xb7, 0x05, 0xf1, 0xc5, 0x78, 0x94, 0xd0, 0x25, 0x46, 0xab, 0x61,
- 0x02, 0x0b, 0x55, 0xad,
- 0x2a, 0xd6, 0x52, 0x7f, 0xce, 0xbc, 0x63, 0x81, 0x68, 0xa9, 0xb2, 0x8a,
- 0x4b, 0x60, 0x3b, 0x6f,
- 0x3b, 0xa1, 0x5e, 0x41, 0x01, 0x1c, 0xd1, 0xc3, 0xa5, 0xe0, 0x54, 0xb7,
- 0xf2, 0xc5, 0xf7, 0x81,
- 0x9f, 0x5b, 0xba, 0x9d, 0x84, 0x68, 0x38, 0x64, 0x0e, 0xc6, 0xdb, 0x52,
- 0x9a, 0xfa, 0x4b, 0xb6,
- 0xc6, 0x17, 0xe9, 0xb8, 0xca, 0xcc, 0xa1, 0x0b, 0xb9, 0xaf, 0x21, 0x13,
- 0x05, 0xf2, 0x61, 0x2e,
- 0x1c, 0x54, 0xfb, 0xe5, 0xde, 0xbf, 0xed, 0xec, 0xaa, 0xb1, 0xbb, 0xab,
- 0xb0, 0x6d, 0x90, 0xa8,
- 0xfe, 0xbf, 0xdc, 0xb1, 0xb5, 0x71, 0xb8, 0x10, 0x2e, 0x0e, 0x94, 0x86,
- 0xa6, 0x28, 0x82, 0xbd,
- 0x62, 0xed, 0x0d, 0x64, 0x4f, 0xb8, 0x48, 0xac, 0x12, 0x89, 0xae, 0xf6,
- 0x6d, 0xcd, 0xdd, 0x19,
- 0x7d, 0xb0, 0x9d, 0xc9, 0xef, 0xa6, 0x6d, 0x98, 0x8a, 0x79, 0xf4, 0x7f,
- 0x8c, 0xbf, 0x59, 0xa3,
- 0x21, 0xe7, 0x73, 0x34, 0x23, 0x22, 0x6f, 0x5c, 0x6b, 0xd3, 0xee, 0x58,
- 0xe0, 0x96, 0x4f, 0x0d,
- 0xc0, 0x05, 0x3f, 0x28, 0x36, 0x4d, 0xf2, 0x78, 0xdd, 0x2d, 0x20, 0x57,
- 0xa7, 0xcc, 0x49, 0x0a,
- 0xf2, 0x9b, 0xb3, 0x52, 0x8e, 0xb0, 0x1e, 0xf6, 0xe6, 0xc9, 0x96, 0x0e,
- 0x21, 0x54, 0xd2, 0xf5,
- 0xf7, 0x80, 0x0e, 0x8a, 0x0c, 0x90, 0x85, 0x5d, 0xb0, 0x0a, 0x76, 0x68,
- 0xd2, 0x75, 0xee, 0xc3,
- 0x33, 0x99, 0x14, 0x42, 0x92, 0x23, 0x15, 0xc6, 0x94, 0xdb, 0xe9, 0x47,
- 0x08, 0x2c, 0x97, 0xf1,
- 0x98, 0x4e, 0xf4, 0x35, 0x52, 0x37, 0x92, 0x5f, 0xc5, 0x7b, 0x85, 0x08,
- 0xb6, 0x70, 0x6f, 0x9c,
- 0xa9, 0xd9, 0x13, 0x07, 0x94, 0x6b, 0xb6, 0x09, 0xcc, 0xde, 0xd2, 0x73,
- 0x61, 0xf7, 0xe0, 0x71,
- 0x82, 0x08, 0xd9, 0x40, 0x70, 0x09, 0x2c, 0xc0, 0x0b, 0x48, 0x3f, 0xe7,
- 0xa4, 0x23, 0xd7, 0x10,
- 0x4d, 0x20, 0xe2, 0xc3, 0x03, 0x24, 0xb0, 0x86, 0x2c, 0xe3, 0xfc, 0x1a,
- 0xd5, 0x8c, 0xda, 0x40,
- 0xf4, 0x89, 0x65, 0xc2, 0x72, 0x31, 0x4d, 0x85, 0x82, 0x4b, 0x97, 0x4a,
- 0x83, 0x6a, 0xfa, 0xd1,
- 0xf6, 0x87, 0x96, 0xb2, 0x26, 0x4e, 0x7c, 0x15, 0x1f, 0x35, 0x29, 0x76,
- 0x5c, 0xc1, 0xe2, 0xcd,
- 0x14, 0x6c, 0xb1, 0xe6, 0x4d, 0x80, 0x29, 0xe9, 0x9b, 0x8a, 0x06, 0x5b,
- 0x4a, 0x84, 0xf0, 0xd8,
- 0x7b, 0xa2, 0x4b, 0x59, 0x13, 0x27, 0x3e, 0xeb, 0xee, 0xfb, 0xf5, 0x3b,
- 0x2e, 0x81, 0x71, 0x87,
- 0x79, 0xac, 0xb8, 0x29, 0x47, 0x58, 0x0f, 0x7b, 0x73, 0x85, 0x4b, 0x07,
- 0xf1, 0x2a, 0x69, 0x9b,
- 0x17, 0x65, 0xda, 0xae, 0x33, 0x21, 0xe1, 0x31, 0xa9, 0xcb, 0xe7, 0x79,
- 0x1b, 0x9b, 0xe4, 0xca,
- 0xf0, 0x95, 0x40, 0x22, 0xda, 0xcf, 0x2f, 0x66, 0x7b, 0xb7, 0x28, 0x32,
- 0xfe, 0xff, 0xca, 0xe9,
- 0xbf, 0xbb, 0x51, 0x91, 0x8d, 0x94, 0xae, 0x70, 0xca, 0x2a, 0x6a, 0x14,
- 0xf4, 0xd8, 0x08, 0xb5,
- 0xcf, 0x28, 0x3b, 0x83, 0x73, 0x2d, 0x9c, 0x46, 0x27, 0xab, 0xc3, 0xfd,
- 0x71, 0xaf, 0x0d, 0x50,
- 0x01, 0x07, 0x98, 0x38, 0x2a, 0xde, 0xf9, 0x48, 0xaf, 0x3f, 0x5f, 0x1e,
- 0x8e, 0xb4, 0x0c, 0x0e,
- 0xed, 0xc6, 0x23, 0xff, 0x2e, 0xae, 0x3b, 0xc2, 0x7e, 0x39, 0xcc, 0x87,
- 0xc0, 0x26, 0x56, 0x4f,
- 0xcc, 0x21, 0x50, 0xcb, 0x0d, 0x8c, 0x54, 0x9e, 0x15, 0xea, 0x22, 0xdf,
- 0x20, 0xb0, 0x19, 0x42,
- 0x15, 0x6b, 0x29, 0xde, 0x67, 0x5e, 0xd0, 0xa1, 0x34, 0xb5, 0x59, 0x45,
- 0xc4, 0x30, 0xfc, 0xd6,
- 0x27, 0xf5, 0xa5, 0xa4, 0xdf, 0xa3, 0x3c, 0x2f, 0x0f, 0x51, 0xef, 0x1c,
- 0x42, 0xa8, 0x67, 0x29,
- 0xa3, 0xef, 0xaa, 0x74, 0x53, 0x2b, 0x43, 0x9c, 0x60, 0x9b, 0xd1, 0xbf,
- 0x44, 0xb5, 0x98, 0x1d,
- 0x0b, 0x31, 0x21, 0x4b, 0xed, 0x9e, 0x0c, 0xdd, 0x03, 0x7a, 0x5c, 0xd2,
- 0xab, 0xf6, 0x74, 0x62,
- 0x38, 0xa8, 0x35, 0x09, 0x7f, 0xbd, 0x19, 0x1b, 0x97, 0xa1, 0xb5, 0x95,
- 0xa3, 0xda, 0xe3, 0x93,
- 0x57, 0x66, 0xcf, 0xb6, 0x21, 0x1a, 0x0e, 0x19, 0xe2, 0xd0, 0x46, 0xf5,
- 0xc7, 0xdf, 0x62, 0xcc,
- 0x67, 0xf6, 0xb0, 0xbc, 0xcd, 0x98, 0xd3, 0x07, 0x44, 0x4a, 0x4e, 0x90,
- 0x9e, 0xec, 0xe1, 0x2f,
- 0x83, 0x0f, 0x41, 0x78, 0x5a, 0xd7, 0xd5, 0x88, 0xa4, 0x77, 0x60, 0xf9,
- 0x2a, 0x97, 0xdb, 0x1e,
- 0x3c, 0xb4, 0x10, 0xe9, 0xd7, 0x43, 0x7b, 0xf8, 0x6e, 0x5d, 0x0a, 0xed,
- 0xde, 0x4f, 0xd3, 0xab,
- 0xfd, 0xb6, 0xb7, 0xf9, 0xcb, 0xd0, 0x70, 0xc8, 0x1c, 0x4f, 0x75, 0xa4,
- 0xf7, 0x37, 0x96, 0xaf,
- 0xac, 0xc2, 0xae, 0xdf, 0x16, 0x4b, 0x2d, 0xa2, 0x9a, 0x1d, 0x32, 0x15,
- 0x92, 0xd6, 0xdc, 0x47,
- 0x95, 0x6d, 0x03, 0xee, 0x43, 0x28, 0xcd, 0xf1, 0xa2, 0x83, 0xd8, 0x9e,
- 0xbf, 0xb8, 0x33, 0xda,
- 0x51, 0x74, 0x19, 0x26, 0xdd, 0x9b, 0x5d, 0x6a, 0x86, 0x52, 0x47, 0xb1,
- 0x65, 0xe1, 0x4a, 0xe8,
- 0xd2, 0x7b, 0x58, 0x5e, 0x87, 0x4c, 0x88, 0xe2, 0x22, 0x25, 0x27, 0x48,
- 0x4f, 0x76, 0x91, 0xf6,
- 0xe1, 0xe2, 0x4c, 0x1c, 0x15, 0x6f, 0x9d, 0x24, 0xb6, 0xfe, 0xce, 0x0f,
- 0x47, 0x5a, 0x06, 0x07,
- 0xe4, 0xf9, 0xf1, 0xc4, 0x97, 0x4f, 0x06, 0x8f, 0xe0, 0x3d, 0x2e, 0x69,
- 0xb4, 0x7b, 0x3a, 0x31,
- 0xa6, 0xf4, 0x17, 0xac, 0xd1, 0x0b, 0xd8, 0x37, 0x36, 0x58, 0x31, 0xd9,
- 0xb7, 0x94, 0xa4, 0x2b,
- 0x2e, 0xca, 0x77, 0x9f, 0x66, 0x42, 0x01, 0x62, 0x91, 0x55, 0x0d, 0xf2,
- 0x36, 0xf5, 0x0b, 0x57,
- 0x9e, 0x5c, 0x22, 0xa5, 0xae, 0xb6, 0xc1, 0x2c, 0xa1, 0xf9, 0x84, 0x4c,
- 0x14, 0x4e, 0x47, 0xb8,
- 0xb0, 0x96, 0x55, 0x3a, 0xc8, 0xf4, 0xc0, 0x4e, 0x30, 0xac, 0x89, 0xbe,
- 0x22, 0xbb, 0x4c, 0xef,
- 0x04, 0x1c, 0x25, 0xe0, 0xa8, 0xfe, 0x62, 0xe3, 0xf9, 0xfc, 0xbf, 0x78,
- 0x7d, 0x95, 0x30, 0x38,
- 0xca, 0x33, 0x86, 0x5b, 0xf1, 0x0d, 0x07, 0xed, 0x71, 0x68, 0x23, 0x9b,
- 0x82, 0x8e, 0x31, 0x66,
- 0xe0, 0xe5, 0xd4, 0x24, 0x3f, 0xb1, 0x64, 0x6c, 0x19, 0xc1, 0x91, 0x11,
- 0xc9, 0xee, 0x0a, 0x09,
- 0x7e, 0xb9, 0xf6, 0x81, 0x91, 0x07, 0xa5, 0x40, 0xb8, 0x38, 0x15, 0x5d,
- 0xdd, 0xa0, 0x4d, 0xb1,
- 0x66, 0xf1, 0x28, 0x84, 0xe7, 0x46, 0x2a, 0x4f, 0xeb, 0x75, 0x11, 0x8e,
- 0x10, 0x58, 0xed, 0x21,
- 0x50, 0x73, 0x81, 0x1e, 0xf7, 0x45, 0xa4, 0x22, 0x29, 0x6d, 0x18, 0xaf,
- 0xeb, 0x55, 0x46, 0xe6,
- 0x49, 0x3c, 0xc7, 0x23, 0xab, 0xda, 0xd2, 0x65, 0xd5, 0x1f, 0x43, 0x62,
- 0xa8, 0x19, 0xea, 0x78,
- 0x5b, 0x42, 0xa0, 0x55, 0x1a, 0xdb, 0xa8, 0xff, 0x2a, 0x17, 0x44, 0x7d,
- 0x40, 0xa3, 0x32, 0x84,
- 0x99, 0x49, 0x6c, 0x0d, 0x78, 0xe9, 0x6b, 0x17, 0x6a, 0x44, 0xda, 0x16,
- 0x38, 0xc4, 0x63, 0x92,
- 0x68, 0xdb, 0xb4, 0x17, 0x88, 0xf8, 0xbd, 0x39, 0xbe, 0xcc, 0xad, 0x3a,
- 0x48, 0x8f, 0xa5, 0x75,
- 0xe9, 0xda, 0x06, 0x1f, 0x86, 0x50, 0x59, 0x21, 0x87, 0xc5, 0x73, 0xff,
- 0xbd, 0xb3, 0x66, 0x77,
- 0xc5, 0x1e, 0x82, 0xf0, 0xb4, 0x6d, 0x69, 0xd3, 0x8b, 0xee, 0xc0, 0x31,
- 0x54, 0xed, 0x75, 0x3c,
- },
- { /* 8 */
- 0xd7, 0x48, 0x12, 0xa3, 0xbe, 0x29, 0x25, 0xd9, 0x10, 0xec, 0xae, 0xdf,
- 0x6a, 0x2d, 0x01, 0xfc,
- 0x63, 0x44, 0x11, 0xde, 0x60, 0x0e, 0x82, 0x6c, 0x92, 0x7c, 0xf2, 0x2a,
- 0x20, 0xcb, 0xa0, 0xee,
- 0x5e, 0x13, 0x74, 0x22, 0x3d, 0x0d, 0xaf, 0x72, 0xfa, 0x27, 0xc7, 0x23,
- 0xaa, 0xd2, 0x47, 0xdd,
- 0xaa, 0x8c, 0x23, 0x54, 0x8a, 0x01, 0x1b, 0x0a, 0x99, 0x88, 0x13, 0x07,
- 0xc7, 0xb6, 0x5d, 0x11,
- 0xea, 0x1f, 0x77, 0x5f, 0xe3, 0x2a, 0x08, 0xc7, 0x78, 0xb7, 0x9b, 0xd6,
- 0xe0, 0x34, 0xe6, 0xcf,
- 0x2a, 0x69, 0x8b, 0x42, 0x58, 0x57, 0x3d, 0x53, 0x98, 0xf6, 0xc0, 0x66,
- 0x89, 0x71, 0xe8, 0x6e,
- 0x29, 0x16, 0xe4, 0x73, 0x84, 0x86, 0x44, 0x75, 0x7a, 0x4b, 0xfe, 0x14,
- 0x7c, 0x79, 0x4f, 0x31,
- 0x9c, 0x8e, 0xc2, 0xa0, 0xaf, 0xee, 0x75, 0x63, 0xa6, 0xb0, 0x09, 0xcf,
- 0x65, 0x26, 0x32, 0x16,
- 0xe1, 0x4a, 0xf3, 0x57, 0x9b, 0xc6, 0x4b, 0xb0, 0x2f, 0xd4, 0xb4, 0x17,
- 0xc8, 0xbd, 0x6e, 0xfb,
- 0xa4, 0x58, 0x16, 0x0f, 0x55, 0x5d, 0xd3, 0x17, 0x2b, 0xef, 0x7e, 0x50,
- 0x33, 0x27, 0xff, 0xc4,
- 0xeb, 0x8b, 0x52, 0xf1, 0x16, 0x65, 0x9e, 0x64, 0x26, 0xdc, 0x30, 0xf8,
- 0xb3, 0x8d, 0x3a, 0xfa,
- 0x68, 0x11, 0x95, 0xd6, 0x18, 0xe2, 0xc1, 0x1b, 0xc5, 0x1f, 0xdd, 0xeb,
- 0x08, 0x42, 0x28, 0xda,
- 0x9d, 0x1a, 0xe7, 0x0e, 0x5a, 0xa1, 0xe3, 0xc0, 0xf8, 0xdb, 0xa2, 0xe1,
- 0x36, 0x9f, 0xee, 0x23,
- 0xae, 0x99, 0xb7, 0xa9, 0xd8, 0xfe, 0x06, 0xc3, 0x22, 0xe7, 0xfa, 0xbf,
- 0x48, 0x17, 0xab, 0xc5,
- 0x28, 0x82, 0xc1, 0xdd, 0x71, 0xc9, 0xd2, 0xd6, 0x24, 0x20, 0x55, 0x3a,
- 0x2f, 0xc0, 0x93, 0x04,
- 0xb7, 0x73, 0x6c, 0x4c, 0x02, 0xf6, 0xde, 0x93, 0x60, 0x2d, 0x62, 0x87,
- 0xbf, 0xee, 0x06, 0x4d,
- 0x55, 0x46, 0xf0, 0x2a, 0x45, 0xe1, 0xec, 0x05, 0xad, 0x44, 0xe8, 0xe2,
- 0x82, 0x5b, 0xcf, 0xe9,
- 0xd0, 0x22, 0xe9, 0x6f, 0x30, 0x07, 0x41, 0x36, 0x49, 0x3e, 0x79, 0x15,
- 0x10, 0x84, 0x50, 0x77,
- 0xaf, 0x0d, 0x92, 0x07, 0x2d, 0xb1, 0x90, 0x60, 0x7c, 0x8c, 0x51, 0x91,
- 0x1b, 0xae, 0x77, 0xf0,
- 0x62, 0xd0, 0x34, 0x70, 0x95, 0x41, 0x14, 0xcf, 0xcc, 0x17, 0x59, 0x04,
- 0x73, 0x72, 0x7c, 0xdb,
- 0xf7, 0xe0, 0x38, 0x47, 0x6b, 0xdd, 0xcd, 0x5e, 0x81, 0x12, 0xea, 0x56,
- 0x98, 0x6c, 0xbd, 0x93,
- 0xef, 0x9e, 0xc6, 0x0c, 0x44, 0x9a, 0x83, 0xad, 0x9d, 0xb3, 0xd9, 0x40,
- 0x3c, 0x2c, 0xcc, 0x2e,
- 0xb3, 0x66, 0xf8, 0xb1, 0x50, 0x09, 0xc3, 0x5a, 0xdb, 0x42, 0x8b, 0x3f,
- 0x30, 0x4f, 0xf0, 0x99,
- 0x2e, 0x7c, 0x1f, 0xbf, 0x0a, 0xa8, 0x20, 0x9a, 0x23, 0x99, 0x29, 0xde,
- 0x06, 0xd0, 0x1e, 0xba,
- 0x96, 0x4f, 0x63, 0x06, 0x22, 0x4d, 0xa0, 0xb7, 0xaf, 0xb8, 0x8d, 0x20,
- 0x1e, 0x16, 0x66, 0x17,
- 0x1f, 0x14, 0x05, 0x87, 0xa1, 0x69, 0x2a, 0x1c, 0x45, 0x73, 0xe4, 0xdc,
- 0xde, 0xe9, 0x20, 0x36,
- 0xa5, 0xcc, 0x33, 0xa1, 0xa0, 0x12, 0x45, 0xb4, 0x75, 0x84, 0xd5, 0x7e,
- 0x60, 0x9e, 0x23, 0xf1,
- 0x24, 0xbd, 0xbe, 0x19, 0x87, 0x0b, 0xf5, 0x4e, 0x2a, 0x91, 0xad, 0x31,
- 0x7d, 0xe0, 0x4a, 0xbb,
- 0x88, 0xcf, 0x43, 0x2f, 0x76, 0x6b, 0x1c, 0x08, 0xb4, 0xa0, 0xc2, 0xd2,
- 0x93, 0x46, 0x9a, 0x14,
- 0xfe, 0x5e, 0xf6, 0xd0, 0x3a, 0xaf, 0x61, 0xac, 0x6a, 0xa7, 0x50, 0xcb,
- 0x16, 0x54, 0x4e, 0xcd,
- 0x03, 0x7f, 0x6f, 0x31, 0xdc, 0xd1, 0x79, 0x26, 0xe2, 0xbd, 0x3e, 0x72,
- 0xf5, 0x08, 0xa7, 0x5f,
- 0x86, 0x1b, 0x76, 0x74, 0xa9, 0x37, 0xd4, 0x15, 0x06, 0xc7, 0xaf, 0x85,
- 0x67, 0xd7, 0x38, 0xc1,
- 0xf5, 0x0b, 0x72, 0xd8, 0x42, 0x43, 0x22, 0xdb, 0x3d, 0xc4, 0x7f, 0x0a,
- 0x3e, 0xdd, 0xc6, 0xf9,
- 0xf0, 0x8a, 0xc3, 0x8b, 0xe5, 0xf3, 0xa9, 0xb1, 0xd8, 0xc0, 0x3d, 0x9c,
- 0xe2, 0xc5, 0xec, 0x18,
- 0x64, 0x2e, 0xea, 0x12, 0xee, 0x20, 0xe6, 0x83, 0xcb, 0xae, 0x25, 0xe0,
- 0x5a, 0x62, 0xf1, 0x65,
- 0x21, 0x3c, 0x0f, 0x4a, 0x20, 0xbb, 0x7e, 0x24, 0xcf, 0x95, 0xef, 0xa7,
- 0xa1, 0xf8, 0x60, 0x5a,
- 0x1b, 0x01, 0x91, 0x7a, 0xf3, 0x96, 0x37, 0xd5, 0xfe, 0x1c, 0x0d, 0x64,
- 0x51, 0x48, 0xd6, 0xe2,
- 0x1d, 0xff, 0x4f, 0x18, 0x88, 0xf7, 0xc5, 0x99, 0xf9, 0xa5, 0x71, 0x80,
- 0x78, 0x58, 0x5b, 0x5c,
- 0x69, 0x85, 0xb0, 0x78, 0xed, 0xad, 0x57, 0xb8, 0x9b, 0x74, 0x76, 0xc5,
- 0x5b, 0xfb, 0xf4, 0xef,
- 0x89, 0x5b, 0x66, 0x81, 0x83, 0x24, 0x8a, 0xab, 0xea, 0xcb, 0x69, 0xfc,
- 0xc0, 0xff, 0x46, 0x21,
- 0x43, 0xec, 0x3b, 0x3a, 0xb5, 0xfa, 0x6a, 0xeb, 0x03, 0x82, 0xb6, 0xa3,
- 0xd2, 0x8a, 0x1c, 0x81,
- 0xd8, 0x08, 0x02, 0x56, 0x94, 0x3a, 0x7b, 0x67, 0xfc, 0xe0, 0x68, 0xa6,
- 0xcd, 0x05, 0x7f, 0x1c,
- 0x5b, 0x92, 0xc5, 0x71, 0x9a, 0xbd, 0x24, 0x18, 0x1f, 0x23, 0x85, 0xb5,
- 0x76, 0xca, 0x6d, 0x3c,
- 0xd1, 0xb6, 0xcc, 0xc1, 0xc5, 0x48, 0xd7, 0x95, 0x17, 0x55, 0xd2, 0x3b,
- 0x43, 0x3d, 0x8c, 0x42,
- 0x07, 0x6a, 0xfb, 0xcc, 0x8e, 0x2e, 0x64, 0xef, 0x59, 0xd2, 0xd7, 0xca,
- 0x7a, 0xa9, 0x51, 0x8b,
- 0x0a, 0xc1, 0xa1, 0xa6, 0x8d, 0xa3, 0xd5, 0xd4, 0x09, 0x08, 0x84, 0xef,
- 0x7b, 0x30, 0x54, 0x01,
- 0x25, 0x29, 0x9b, 0xb7, 0x72, 0x44, 0x63, 0xed, 0x74, 0xfa, 0x06, 0x1f,
- 0x2e, 0x59, 0x96, 0x8e,
- 0xa3, 0x32, 0xed, 0xc3, 0xdb, 0x73, 0xb7, 0xf8, 0x72, 0x3d, 0xa9, 0x9a,
- 0x49, 0x8e, 0xae, 0x4f,
- 0x22, 0x43, 0x60, 0x7b, 0xfc, 0x6a, 0x07, 0x02, 0x2d, 0x28, 0xd1, 0xd5,
- 0x54, 0xf0, 0xc7, 0x05,
- 0x61, 0xaf, 0x5b, 0x41, 0x49, 0x90, 0x6d, 0xe9, 0x2e, 0xaa, 0x67, 0x76,
- 0x86, 0x7a, 0xdb, 0x84,
- 0x14, 0x41, 0x81, 0x8f, 0xd9, 0x85, 0x69, 0x6b, 0x12, 0x10, 0xcb, 0x1d,
- 0xf6, 0x60, 0xa8, 0x02,
- 0xa6, 0xb3, 0x5c, 0x90, 0x7c, 0xc3, 0x3c, 0x92, 0x97, 0x39, 0xeb, 0x0c,
- 0x95, 0x96, 0x84, 0xae,
- 0x11, 0xc0, 0x30, 0xdc, 0x7e, 0x35, 0xe2, 0x01, 0xf7, 0x14, 0x89, 0x8b,
- 0x2a, 0x78, 0x82, 0xe3,
- 0x02, 0xeb, 0x4a, 0x9f, 0x29, 0x9e, 0xef, 0x85, 0xbc, 0xd6, 0x95, 0x5c,
- 0xa6, 0xb1, 0x7b, 0x6a,
- 0x2f, 0xe8, 0x3a, 0x11, 0xff, 0xe7, 0xb6, 0x39, 0x7d, 0xf2, 0x82, 0xf0,
- 0x55, 0x69, 0xc2, 0x8f,
- 0xca, 0xb7, 0x5d, 0xbb, 0x36, 0xde, 0xe0, 0x40, 0xe9, 0x49, 0xdf, 0x5f,
- 0x12, 0x75, 0x5a, 0xa0,
- 0x3c, 0xc3, 0x40, 0x52, 0xa8, 0x4c, 0xbb, 0xbd, 0x36, 0x30, 0x9e, 0x27,
- 0xd9, 0xa0, 0x3b, 0x06,
- 0x4e, 0x47, 0x61, 0x50, 0xb6, 0x77, 0xdb, 0xd0, 0x53, 0x58, 0xe5, 0x86,
- 0xd3, 0x13, 0x19, 0x0b,
- 0x7d, 0xc4, 0x31, 0xf7, 0x34, 0x28, 0x3e, 0xd3, 0x89, 0x64, 0xbd, 0xd8,
- 0xad, 0x9b, 0x5c, 0xed,
- 0xb9, 0xa7, 0x59, 0x17, 0xdd, 0xaa, 0x16, 0x8e, 0xd2, 0x4a, 0x0f, 0xd0,
- 0x4b, 0x7f, 0xa4, 0x98,
- 0x80, 0xe5, 0xa8, 0x16, 0xd2, 0x56, 0x26, 0x59, 0x01, 0x7e, 0xd3, 0x61,
- 0x4e, 0xc7, 0xb5, 0x7f,
- 0x04, 0x15, 0x94, 0xfd, 0x52, 0xff, 0x1d, 0xc9, 0xbb, 0x6f, 0xe9, 0xb8,
- 0x8f, 0xa1, 0xf6, 0xd4,
- 0x32, 0x17, 0x75, 0x09, 0x77, 0x10, 0x73, 0xa0, 0x84, 0x57, 0xf3, 0x70,
- 0x2d, 0x31, 0x99, 0xd3,
- 0xc6, 0x88, 0x22, 0x7f, 0xc0, 0x1c, 0xc7, 0xd8, 0xe7, 0xf8, 0x27, 0x54,
- 0x40, 0x55, 0x83, 0x1f,
- 0x41, 0x07, 0x71, 0xa5, 0x9c, 0x64, 0x85, 0x6e, 0xbf, 0x54, 0x23, 0xff,
- 0x74, 0x3b, 0x67, 0xeb,
- 0x0b, 0x55, 0x84, 0x08, 0x78, 0xec, 0x43, 0x77, 0x57, 0x63, 0x2f, 0xc1,
- 0x28, 0x89, 0x88, 0x34,
- 0xfb, 0xdf, 0x47, 0x83, 0x9d, 0x1f, 0xea, 0xc6, 0x8f, 0xa3, 0x12, 0x5d,
- 0xca, 0x4c, 0x64, 0x2c,
- 0x6f, 0x7b, 0x6e, 0x1a, 0x96, 0xcc, 0xa5, 0xf4, 0x9c, 0xcd, 0x0a, 0x21,
- 0x72, 0xeb, 0x79, 0x51,
- 0x4b, 0xc6, 0xd0, 0x03, 0x11, 0xc7, 0x50, 0xba, 0xb6, 0x5c, 0xa7, 0x10,
- 0x0f, 0x0b, 0x33, 0xea,
- 0xdc, 0x1d, 0x96, 0xab, 0xc6, 0xc5, 0x66, 0xae, 0x47, 0x8f, 0x81, 0x1e,
- 0x42, 0xa4, 0x89, 0xc8,
- 0x95, 0x30, 0x0c, 0x37, 0xfe, 0x9c, 0xd9, 0x91, 0x4d, 0x05, 0xb3, 0x52,
- 0xeb, 0x1e, 0xc1, 0x48,
- 0x84, 0xf0, 0x3c, 0xeb, 0x80, 0xa9, 0x3b, 0x90, 0xba, 0x11, 0x3a, 0xd9,
- 0xc1, 0x66, 0x43, 0xab,
- 0xbb, 0x4c, 0x13, 0x88, 0xf4, 0x34, 0xf9, 0x0b, 0x6e, 0x9c, 0x9a, 0x8c,
- 0xed, 0xce, 0xdf, 0xf2,
- 0xc7, 0x1c, 0x07, 0xd1, 0x35, 0x53, 0x51, 0x7b, 0xb9, 0x93, 0x8c, 0x7a,
- 0x13, 0xec, 0x5f, 0x2a,
- 0x16, 0xaa, 0xcb, 0x10, 0xf0, 0x1b, 0x86, 0xee, 0xae, 0xc6, 0x5e, 0x41,
- 0x50, 0xd1, 0xd3, 0x68,
- 0xde, 0xf6, 0xdc, 0x34, 0xef, 0x5b, 0x89, 0x2b, 0xfb, 0x59, 0x14, 0x42,
- 0xe4, 0x15, 0xf2, 0xa2,
- 0xdd, 0x89, 0xb3, 0x05, 0x33, 0x8a, 0xf0, 0x0d, 0x19, 0xe4, 0x2a, 0x30,
- 0x11, 0x1d, 0x55, 0xfd,
- 0x67, 0x51, 0x85, 0x23, 0x32, 0xf1, 0x9f, 0xa5, 0x29, 0x13, 0x1b, 0x92,
- 0xaf, 0x6a, 0x56, 0x3a,
- 0xe0, 0xde, 0xd6, 0xf9, 0x6e, 0x89, 0xdd, 0x13, 0x71, 0xbf, 0x1f, 0x39,
- 0x9b, 0x04, 0xb2, 0xce,
- 0xf4, 0x9f, 0x57, 0x76, 0xb7, 0x0c, 0xb4, 0x78, 0x63, 0xaf, 0xd4, 0x24,
- 0x6d, 0x64, 0x1a, 0xcc,
- 0x48, 0xb9, 0xbf, 0x32, 0xcd, 0x16, 0x29, 0x9c, 0x54, 0xe1, 0x99, 0x62,
- 0xfa, 0x03, 0x94, 0xb5,
- 0xe6, 0x20, 0x08, 0x9b, 0x15, 0xe8, 0x2f, 0x5f, 0x76, 0x06, 0x63, 0xdd,
- 0xb2, 0x14, 0x3f, 0x70,
- 0x6c, 0x04, 0x01, 0x2b, 0x4a, 0x1d, 0xdc, 0xd2, 0x7e, 0x70, 0x34, 0x53,
- 0x87, 0xe3, 0xde, 0x0e,
- 0x59, 0x79, 0x8f, 0xee, 0xb3, 0x23, 0xcb, 0x9d, 0xa3, 0xf5, 0x10, 0xe9,
- 0xd0, 0x7b, 0x16, 0x56,
- 0x50, 0xc7, 0x41, 0x79, 0xe2, 0x51, 0x67, 0x6f, 0x48, 0x40, 0xaa, 0x74,
- 0x5e, 0x43, 0xe5, 0x08,
- 0x78, 0x45, 0x80, 0xa4, 0x93, 0x98, 0xb5, 0xb9, 0x6c, 0x60, 0xff, 0x4e,
- 0x71, 0x83, 0x76, 0x0c,
- 0xda, 0xe3, 0x48, 0xc9, 0xbd, 0xa4, 0x94, 0xe2, 0x40, 0x36, 0xfd, 0xfa,
- 0x6b, 0xb4, 0x04, 0x76,
- 0xb4, 0x0c, 0x03, 0x7d, 0xde, 0x27, 0xa7, 0xb5, 0x82, 0x90, 0x5c, 0xf5,
- 0x4a, 0xe6, 0xa1, 0x12,
- 0x0c, 0x3f, 0x7f, 0xc4, 0xf6, 0xc2, 0x27, 0x98, 0x0e, 0xb1, 0xf8, 0x0b,
- 0x52, 0x20, 0xd9, 0xbf,
- 0xf2, 0x61, 0x89, 0x14, 0xcc, 0x6d, 0x46, 0x34, 0x64, 0x16, 0xa8, 0xc0,
- 0x44, 0x74, 0x97, 0x72,
- 0xbe, 0xcd, 0xa2, 0xdb, 0x53, 0x84, 0x72, 0x61, 0x8b, 0x98, 0xd8, 0x1a,
- 0x31, 0xd6, 0xf5, 0x13,
- 0xf3, 0xf5, 0xac, 0xba, 0x39, 0x22, 0xd0, 0x97, 0x3a, 0x7d, 0x03, 0xee,
- 0x17, 0xcd, 0x4b, 0x47,
- 0x91, 0x25, 0x98, 0xca, 0xac, 0x63, 0xc4, 0x58, 0xf6, 0x6a, 0x5a, 0xea,
- 0x64, 0xbf, 0x37, 0x9c,
- 0x5c, 0xf8, 0x3e, 0xbd, 0x14, 0x93, 0x40, 0xf7, 0x46, 0xf1, 0x52, 0x7f,
- 0x0c, 0x63, 0x3c, 0xb7,
- 0x17, 0x3e, 0xee, 0xbe, 0x05, 0x54, 0x10, 0x4d, 0xf0, 0xad, 0xf5, 0x6f,
- 0x03, 0x68, 0x0f, 0x5d,
- 0x7f, 0x2f, 0x7b, 0x68, 0x1d, 0xb6, 0xd1, 0x56, 0x35, 0xb2, 0x28, 0x84,
- 0x0b, 0x2a, 0x27, 0x87,
- 0x82, 0x0e, 0xe2, 0x89, 0xfb, 0xc8, 0xc9, 0xdc, 0xbd, 0xa8, 0x46, 0x3d,
- 0xe8, 0x76, 0xce, 0x15,
- 0xc0, 0x76, 0xfc, 0x1d, 0xbb, 0x7d, 0x35, 0x94, 0xe0, 0x41, 0x5b, 0xb0,
- 0x69, 0x45, 0x0e, 0xa1,
- 0xd5, 0xa3, 0x58, 0x3c, 0x97, 0xb7, 0xca, 0x5c, 0xac, 0x3a, 0x3b, 0x83,
- 0xcc, 0x9c, 0x7a, 0x96,
- 0xd9, 0x9c, 0x27, 0xf8, 0x61, 0x75, 0xed, 0xc4, 0xa2, 0x8b, 0xc3, 0x88,
- 0x9e, 0xbc, 0xa3, 0x29,
- 0xa0, 0x4d, 0x82, 0xf2, 0x07, 0xa2, 0xce, 0xde, 0x90, 0x80, 0x97, 0xe8,
- 0xbc, 0x86, 0x09, 0x10,
- 0xa8, 0x67, 0x69, 0xcb, 0xa3, 0x9f, 0xf4, 0x8f, 0x25, 0x5e, 0x86, 0x5b,
- 0x61, 0x07, 0x26, 0x7b,
- 0xad, 0xe6, 0xd8, 0x98, 0x04, 0x2f, 0x7f, 0xe5, 0xc0, 0x5a, 0xc4, 0xcd,
- 0xbd, 0x1f, 0x0c, 0x9a,
- 0xba, 0xd8, 0x36, 0x26, 0x01, 0x7b, 0x6f, 0xa8, 0x30, 0xf7, 0x31, 0xa2,
- 0xbe, 0x77, 0x03, 0xc7,
- 0xb1, 0x8d, 0xb2, 0x2e, 0x79, 0x97, 0x2c, 0xdf, 0x67, 0x94, 0x1e, 0x63,
- 0x96, 0xfe, 0x8b, 0xf3,
- 0xe3, 0xa1, 0xb9, 0xc8, 0xb2, 0x58, 0xa4, 0x35, 0x93, 0x02, 0x21, 0x4b,
- 0x6e, 0x0c, 0x15, 0x91,
- 0xb6, 0xe7, 0x49, 0xe2, 0xf7, 0xb9, 0x48, 0x30, 0x3e, 0x46, 0xc9, 0xa9,
- 0xec, 0x57, 0xda, 0x78,
- 0x20, 0xa8, 0x2a, 0xe4, 0xd5, 0xf4, 0xe8, 0x87, 0x91, 0xfe, 0x44, 0x89,
- 0xf2, 0x41, 0xbc, 0x6f,
- 0x9b, 0xe4, 0x39, 0x6c, 0x21, 0xc0, 0x11, 0x8c, 0xff, 0x62, 0xde, 0x05,
- 0x1f, 0x8f, 0x63, 0x9d,
- 0x85, 0x64, 0x19, 0x45, 0x75, 0xe6, 0xad, 0x33, 0xe4, 0x7a, 0x91, 0xf7,
- 0x92, 0xdf, 0x9f, 0x9e,
- 0x7e, 0xbb, 0x5e, 0xc6, 0xe8, 0xf9, 0x47, 0xf5, 0x6b, 0xd9, 0x83, 0xaa,
- 0x58, 0x93, 0xfb, 0xb2,
- 0x60, 0x3b, 0x7e, 0xef, 0xbc, 0xdf, 0xfb, 0x4a, 0x70, 0xc1, 0xcc, 0x58,
- 0xd5, 0xc3, 0x07, 0xb1,
- 0x37, 0x96, 0xc4, 0x5a, 0xd0, 0xa0, 0xf8, 0xca, 0x61, 0x53, 0xb1, 0xe6,
- 0xf1, 0x29, 0xb3, 0x32,
- 0xc4, 0x63, 0x68, 0xe0, 0xe9, 0x82, 0x28, 0x5d, 0x5b, 0x2e, 0xb2, 0x08,
- 0xe6, 0xe4, 0xf8, 0x75,
- 0xfa, 0x4b, 0x62, 0x2d, 0x68, 0x50, 0x7c, 0x65, 0xd1, 0xc8, 0xb9, 0x73,
- 0x99, 0xf5, 0xb8, 0x19,
- 0x51, 0x53, 0x64, 0xd7, 0x17, 0x1e, 0xf1, 0xcc, 0x16, 0x2b, 0x01, 0x5a,
- 0x0d, 0xfa, 0x39, 0x3d,
- 0xc9, 0xc8, 0x32, 0x8a, 0xea, 0x0f, 0x99, 0x66, 0x0b, 0xf4, 0xe1, 0x2d,
- 0xe7, 0x7d, 0xfd, 0xff,
- 0x01, 0x94, 0x25, 0xae, 0xf5, 0x4f, 0x96, 0xa3, 0x5e, 0x6b, 0xab, 0x2e,
- 0x53, 0xb9, 0xdc, 0x35,
- 0x0d, 0xab, 0x5a, 0x6a, 0x03, 0x8d, 0xb1, 0x3b, 0x50, 0xda, 0x53, 0x25,
- 0x01, 0x99, 0x05, 0x8a,
- 0x8a, 0x24, 0x09, 0xb0, 0x5f, 0xf5, 0xf3, 0x8d, 0x08, 0x76, 0x57, 0x8e,
- 0x35, 0xf7, 0xe1, 0x7e,
- 0x34, 0xe9, 0xab, 0x6b, 0x0c, 0x71, 0x81, 0xec, 0x83, 0xee, 0x8f, 0x94,
- 0x04, 0x21, 0x14, 0x6d,
- 0x4d, 0x38, 0x0e, 0x61, 0x6a, 0xa6, 0xa2, 0xf6, 0xb1, 0xe5, 0xdb, 0xf4,
- 0x26, 0x1b, 0xbe, 0x54,
- 0xb0, 0x19, 0x97, 0x80, 0x8c, 0xd8, 0xba, 0x7c, 0x39, 0xff, 0xb5, 0x4d,
- 0xc5, 0x47, 0x57, 0xc6,
- 0x49, 0x2d, 0x9a, 0x9c, 0x38, 0x59, 0xbf, 0x3f, 0x0a, 0x8a, 0x32, 0x4c,
- 0xa9, 0xba, 0x48, 0x80,
- 0x92, 0x5a, 0xf7, 0xfb, 0x70, 0xb2, 0xbd, 0x7e, 0x14, 0xd7, 0x64, 0x98,
- 0x91, 0xb7, 0x90, 0xc3,
- 0x18, 0x7e, 0xfe, 0x4b, 0x2f, 0x47, 0x4e, 0xf3, 0x1c, 0xa1, 0x33, 0x16,
- 0xa4, 0x40, 0x71, 0xbd,
- 0x72, 0x84, 0x21, 0x02, 0x1e, 0x3b, 0x60, 0x6d, 0x65, 0x68, 0x7b, 0xa1,
- 0x0a, 0xb3, 0x22, 0x0d,
- 0x53, 0xb8, 0x2e, 0x48, 0x3e, 0x80, 0x1e, 0x49, 0xaa, 0xfd, 0x94, 0x06,
- 0xab, 0x4b, 0x42, 0x57,
- 0x4a, 0x52, 0xf5, 0xad, 0xe4, 0x88, 0xc6, 0x19, 0xe8, 0x37, 0x0c, 0x3e,
- 0x5c, 0xb2, 0xef, 0xdf,
- 0x8d, 0x4e, 0xf2, 0x7c, 0xd1, 0xdb, 0x97, 0x62, 0x51, 0xa4, 0x80, 0x44,
- 0x4f, 0x5e, 0xb0, 0xf5,
- 0xab, 0x18, 0x06, 0xfa, 0x7f, 0x4e, 0x8d, 0xa9, 0xc7, 0xe3, 0xb8, 0x29,
- 0x94, 0x0f, 0x81, 0x24,
- 0x90, 0xb1, 0xbd, 0x64, 0x59, 0x2c, 0x52, 0xfb, 0xa8, 0x01, 0xf1, 0xc4,
- 0x37, 0x06, 0xeb, 0xa9,
- 0x4f, 0xd3, 0x44, 0xfe, 0x43, 0x38, 0x4d, 0x73, 0x0d, 0x33, 0x4e, 0xa8,
- 0x80, 0xaa, 0xc5, 0x3e,
- 0x9a, 0x70, 0x1c, 0xc2, 0xd4, 0x8f, 0x87, 0x2f, 0xa1, 0x09, 0x75, 0x2b,
- 0x4c, 0x36, 0xbf, 0xa8,
- 0xdb, 0x77, 0x6d, 0x67, 0x48, 0xeb, 0x02, 0x41, 0x1e, 0x5d, 0x56, 0xd4,
- 0x38, 0x0d, 0xd8, 0x43,
- 0xd6, 0xdc, 0x37, 0x0d, 0x4b, 0x66, 0xb3, 0x7a, 0x4e, 0x87, 0x05, 0xf1,
- 0x39, 0x94, 0xdd, 0xc9,
- 0x1a, 0x95, 0xb4, 0xd4, 0x06, 0xd9, 0xa1, 0x76, 0xa0, 0x77, 0xa6, 0x4a,
- 0x02, 0xf1, 0x0a, 0xd7,
- 0xbc, 0x26, 0xe8, 0x44, 0x7a, 0x1a, 0x9d, 0xe4, 0x37, 0x4e, 0x4d, 0x46,
- 0x97, 0x67, 0x8e, 0x79,
- 0x10, 0x54, 0x15, 0x72, 0x8b, 0x7a, 0x74, 0xa2, 0xa9, 0x7f, 0x22, 0xa5,
- 0x79, 0xc1, 0x5e, 0xd6,
- 0x93, 0xce, 0xd2, 0x55, 0x85, 0xfd, 0x2b, 0xdd, 0x4a, 0xbc, 0xcf, 0xb6,
- 0xc2, 0x0e, 0x4c, 0xf6,
- 0x9e, 0x65, 0x88, 0x3f, 0x86, 0x70, 0x9a, 0xe6, 0x1a, 0x66, 0x9c, 0x93,
- 0xc3, 0x97, 0x49, 0x7c,
- 0x97, 0xdb, 0x46, 0xa8, 0xd7, 0x02, 0x36, 0x14, 0xf1, 0xd3, 0x26, 0x0e,
- 0x4d, 0xaf, 0xba, 0x22,
- 0x30, 0xfc, 0x3f, 0x96, 0x5e, 0x8e, 0x9c, 0x25, 0x38, 0x81, 0x66, 0x2c,
- 0x8b, 0x80, 0xe2, 0xb9,
- 0x1e, 0x80, 0x20, 0x29, 0x54, 0x26, 0xbc, 0xbf, 0x1b, 0x18, 0x4f, 0xf2,
- 0x8d, 0x50, 0xfc, 0x03,
- 0x0f, 0x40, 0x10, 0xf5, 0x2a, 0x13, 0x5e, 0xbe, 0xec, 0x0c, 0xc6, 0x79,
- 0xa7, 0x28, 0x7e, 0xe0,
- 0x66, 0xc5, 0xa0, 0x8d, 0xc7, 0xbe, 0x09, 0x06, 0x77, 0x78, 0xb0, 0xbc,
- 0xfc, 0xd3, 0x8a, 0x0f,
- 0x77, 0x05, 0x90, 0x51, 0xb9, 0x8b, 0xeb, 0x07, 0x80, 0x6c, 0x39, 0x37,
- 0xd6, 0xab, 0x08, 0xec,
- 0x40, 0x93, 0x54, 0x0b, 0x69, 0x2b, 0x13, 0xcd, 0xe1, 0x3f, 0x88, 0xd1,
- 0x27, 0x82, 0xbb, 0xde,
- 0xa2, 0xa6, 0xc8, 0x6d, 0x2e, 0x3c, 0x21, 0x5b, 0x2c, 0x56, 0x02, 0xb4,
- 0x1a, 0x37, 0x72, 0x7a,
- 0xc1, 0xe2, 0xd9, 0xb3, 0x4e, 0x32, 0xa3, 0x37, 0xbe, 0x2a, 0xf0, 0x9e,
- 0x3a, 0xfc, 0xd2, 0x94,
- 0x6a, 0xfa, 0xdf, 0x49, 0x31, 0x7c, 0x2e, 0x9e, 0x79, 0xc9, 0x48, 0xb7,
- 0xae, 0xf3, 0x53, 0xb0,
- 0x12, 0xbf, 0x5f, 0xed, 0xa2, 0xe4, 0x9b, 0x27, 0x15, 0xa9, 0xb7, 0xf9,
- 0xdf, 0x70, 0x25, 0xbc,
- 0x54, 0xd2, 0xd5, 0x84, 0xb0, 0xae, 0x7a, 0xa6, 0xf3, 0x2f, 0x43, 0xcc,
- 0xd1, 0xe2, 0x13, 0xdc,
- 0x5f, 0x87, 0x51, 0x8c, 0xc8, 0x42, 0x39, 0xd1, 0xa4, 0x4c, 0x6c, 0x0d,
- 0xf9, 0x6b, 0x9b, 0xe8,
- 0xd3, 0x5d, 0x86, 0x5e, 0xec, 0xd6, 0x38, 0x10, 0xab, 0x83, 0x47, 0x67,
- 0xe5, 0x8c, 0xf7, 0x28,
- 0x65, 0xba, 0xcf, 0xbc, 0x1b, 0x6f, 0x70, 0x20, 0x95, 0xc5, 0x8e, 0xce,
- 0x09, 0xdb, 0x2d, 0x50,
- 0xa9, 0xf3, 0x4c, 0x65, 0x56, 0xd0, 0x62, 0x2c, 0x7b, 0x35, 0x2d, 0x75,
- 0x32, 0xbe, 0xfa, 0x4e,
- 0x3d, 0x57, 0x65, 0xfc, 0x5d, 0x03, 0x2d, 0x1e, 0x68, 0x5b, 0x35, 0x09,
- 0x8a, 0x19, 0xe7, 0x33,
- 0x44, 0x86, 0xc0, 0xf6, 0x3b, 0xd4, 0x0e, 0x04, 0x5a, 0x50, 0x61, 0x69,
- 0xa8, 0x23, 0x4d, 0x0a,
- 0x81, 0x71, 0x8d, 0xb8, 0x27, 0x19, 0xb0, 0xfa, 0x5f, 0x15, 0x78, 0x4f,
- 0x1d, 0x7e, 0x69, 0x4a,
- 0xfc, 0xb5, 0xbc, 0x4f, 0x13, 0x31, 0x8e, 0x29, 0xd6, 0x71, 0xc5, 0x97,
- 0xb0, 0xe5, 0x35, 0xa7,
- 0xdf, 0x62, 0xf9, 0x9a, 0x1a, 0x14, 0x1f, 0x88, 0xa5, 0x32, 0xbf, 0x6c,
- 0xb7, 0xac, 0x2e, 0x97,
- 0x46, 0x6d, 0x8a, 0x69, 0x12, 0x4a, 0xe1, 0x81, 0xe6, 0x86, 0xf4, 0x35,
- 0x0e, 0x92, 0x36, 0x60,
- 0xf8, 0xa0, 0x28, 0xb2, 0x41, 0xce, 0x93, 0xe0, 0x6d, 0x1e, 0x2c, 0x2f,
- 0x3f, 0x44, 0xc3, 0x73,
- 0xcc, 0x49, 0x83, 0xd9, 0x4d, 0xbf, 0x12, 0x0c, 0xee, 0xf0, 0xa3, 0xbb,
- 0x3b, 0x65, 0xd7, 0x1e,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x2c, 0x0b, 0xe6, 0xcb, 0xcf, 0x88, 0xea, 0xf4, 0x96, 0x3f, 0x28,
- 0xf8, 0xf2, 0x9e, 0x62,
- 0xed, 0x75, 0x8c, 0x93, 0x6d, 0x04, 0x6c, 0x28, 0x21, 0x65, 0x4c, 0x1c,
- 0x9a, 0x9d, 0xb7, 0x44,
- 0xe4, 0xcb, 0x42, 0x04, 0x3c, 0x76, 0xc0, 0xda, 0xca, 0xd0, 0xf6, 0x81,
- 0x14, 0xa5, 0x44, 0x1a,
- 0x3a, 0x3d, 0x9e, 0x30, 0xd3, 0x2d, 0x49, 0xf1, 0x31, 0x89, 0xe2, 0xc3,
- 0xf0, 0xb0, 0xb6, 0xb8,
- 0x73, 0x10, 0x04, 0xac, 0xeb, 0x74, 0xf6, 0xce, 0x3b, 0x03, 0xd0, 0x8f,
- 0x59, 0x0a, 0xfe, 0x38,
- 0x5d, 0x6c, 0x1b, 0x13, 0xe1, 0xdc, 0xd6, 0x54, 0x18, 0x9a, 0xf9, 0x51,
- 0x5f, 0xda, 0xe0, 0x82,
- 0x6e, 0xef, 0x4b, 0xb4, 0x63, 0x83, 0x33, 0x57, 0xc2, 0xa6, 0xa1, 0x0f,
- 0x21, 0x52, 0xa5, 0x64,
- 0x8f, 0xa5, 0xb8, 0xe3, 0xf8, 0x45, 0x78, 0xe7, 0xed, 0x72, 0x15, 0x18,
- 0xe9, 0xef, 0xcb, 0x9f,
- 0xbf, 0x59, 0x87, 0x75, 0xa6, 0xcb, 0xe4, 0xc2, 0xd5, 0xf3, 0x73, 0x34,
- 0x62, 0x6f, 0x29, 0x26,
- 0xcf, 0x36, 0xec, 0xe8, 0x91, 0x6e, 0x6b, 0x2a, 0x0c, 0x4d, 0x9d, 0xc9,
- 0xce, 0x6d, 0x70, 0x41,
- 0xb8, 0x33, 0x7c, 0xb9, 0x28, 0xe5, 0x80, 0x2d, 0x8c, 0x21, 0xa4, 0xfe,
- 0x18, 0xc6, 0x78, 0xad,
- 0xe7, 0xb4, 0x2d, 0x35, 0xe0, 0xa7, 0xb9, 0xfc, 0x28, 0x6d, 0xc8, 0xf3,
- 0xe1, 0xad, 0xe3, 0x45,
- 0xf9, 0x34, 0x0d, 0x1c, 0xb4, 0x81, 0x05, 0x43, 0x33, 0x75, 0x87, 0x01,
- 0x6c, 0xfd, 0x1f, 0x46,
- 0xfd, 0x21, 0x99, 0xe1, 0xe6, 0x7e, 0x18, 0x8a, 0x88, 0x1a, 0x6e, 0xb9,
- 0xe3, 0x5c, 0xe9, 0x92,
- 0xb5, 0x98, 0x26, 0xd3, 0x2b, 0x68, 0x31, 0x16, 0xdc, 0xfb, 0xf7, 0xdb,
- 0x19, 0x5f, 0x7d, 0x27,
- 0x09, 0xbe, 0xce, 0x97, 0x51, 0x72, 0xac, 0xf2, 0xeb, 0xb5, 0xba, 0x9d,
- 0x8e, 0x38, 0xf3, 0x5e,
- 0x47, 0xf9, 0xaf, 0xc7, 0xe7, 0x05, 0x77, 0x22, 0xb8, 0xed, 0x5f, 0x1b,
- 0x5d, 0x2b, 0xea, 0x55,
- 0xe5, 0x5f, 0x67, 0xaa, 0xc9, 0x39, 0x56, 0x79, 0x94, 0xbb, 0x5d, 0xaf,
- 0x47, 0x1c, 0x98, 0x2f,
- 0x31, 0x68, 0x1a, 0x38, 0xab, 0xc1, 0x0a, 0x86, 0x66, 0xea, 0xcd, 0x02,
- 0xd8, 0x39, 0x3e, 0x8c,
- 0xd4, 0x37, 0x7d, 0x92, 0x62, 0xf8, 0x5c, 0xff, 0xf2, 0x51, 0x90, 0xad,
- 0x9f, 0x25, 0xa6, 0xa3,
- 0xe8, 0xf4, 0x3d, 0xc0, 0xca, 0xb4, 0xe7, 0x42, 0xc4, 0x61, 0x0e, 0x8a,
- 0x46, 0x85, 0x9d, 0xa5,
- 0x94, 0xa4, 0x29, 0x99, 0x0b, 0xd3, 0x4f, 0x32, 0x13, 0x6e, 0x18, 0x7c,
- 0xb8, 0xa7, 0x1d, 0x7d,
- 0x1c, 0x6b, 0x6a, 0xb6, 0x7d, 0xb8, 0x53, 0x3a, 0xa7, 0xce, 0xda, 0xae,
- 0x2b, 0xe1, 0x87, 0x69,
- 0x0e, 0xd4, 0x35, 0x5b, 0xdf, 0x5c, 0xc8, 0x1d, 0xb2, 0x67, 0x6d, 0x57,
- 0xf4, 0x91, 0xa2, 0xd5,
- 0xcb, 0x23, 0x78, 0x15, 0xc3, 0x91, 0x76, 0xe3, 0xb7, 0x22, 0x74, 0x71,
- 0x41, 0xcc, 0x86, 0x95,
- 0x6d, 0x90, 0x24, 0x85, 0xbf, 0x52, 0x4a, 0x71, 0x20, 0x1b, 0x9f, 0x7d,
- 0xd4, 0x5a, 0x02, 0x3b,
- 0x36, 0x02, 0xe1, 0xf4, 0x25, 0xef, 0x6e, 0x69, 0x3f, 0x38, 0x1a, 0xc8,
- 0xa2, 0x90, 0x6f, 0x07,
- 0x35, 0x7d, 0x8e, 0xc5, 0xf9, 0x3e, 0x17, 0x4f, 0xdd, 0x85, 0x24, 0xba,
- 0x57, 0x98, 0xc8, 0x58,
- 0x74, 0x7a, 0xff, 0x60, 0x65, 0x5a, 0x92, 0x21, 0x62, 0xd1, 0x07, 0x45,
- 0x23, 0xa3, 0xaf, 0xb3,
- 0xc5, 0xf7, 0x4d, 0x4e, 0x1c, 0xcd, 0xbe, 0xfe, 0x05, 0x45, 0x19, 0x26,
- 0xb5, 0x5d, 0x24, 0x40,
- 0x75, 0xee, 0xda, 0xce, 0x90, 0x15, 0x04, 0x82, 0x3c, 0xba, 0xac, 0x6b,
- 0x70, 0x1a, 0x73, 0x86,
- 0xb2, 0xf2, 0xdd, 0x1f, 0xa5, 0x46, 0x55, 0xf9, 0x85, 0x29, 0x20, 0x11,
- 0x63, 0xf6, 0x2c, 0xac,
- 0xd2, 0xc9, 0xa3, 0xf0, 0x19, 0x99, 0xae, 0xb3, 0xf5, 0xe8, 0xec, 0x49,
- 0xb6, 0x35, 0x2b, 0x1d,
- 0x99, 0x0f, 0x73, 0xf3, 0x08, 0x5e, 0xfe, 0x09, 0x43, 0xb4, 0x4b, 0x59,
- 0xb9, 0x3e, 0x18, 0xf7,
- 0x23, 0xd7, 0x45, 0xd5, 0x09, 0x25, 0x91, 0xa1, 0x73, 0x43, 0x7a, 0xfb,
- 0x07, 0x49, 0x1b, 0x30,
- 0x15, 0xd5, 0xa4, 0x21, 0x2c, 0xca, 0xff, 0xc8, 0x4c, 0x7b, 0x60, 0x33,
- 0xa5, 0xd9, 0x74, 0x37,
- 0x08, 0x2a, 0xeb, 0x39, 0xa4, 0x3d, 0x3a, 0x51, 0xb5, 0xde, 0x11, 0xb3,
- 0xdd, 0x81, 0x2f, 0x6b,
- 0x27, 0xc2, 0xd1, 0x28, 0x5b, 0xda, 0x8c, 0x68, 0xc8, 0x2c, 0x93, 0x43,
- 0x88, 0xe8, 0xed, 0xe4,
- 0x19, 0xea, 0xdb, 0xe5, 0xda, 0x08, 0xd8, 0x50, 0x42, 0xca, 0x98, 0x38,
- 0xf7, 0xf9, 0xad, 0x88,
- 0x76, 0x91, 0xb5, 0xff, 0x4c, 0xc4, 0x7d, 0xa4, 0xde, 0x07, 0x92, 0x19,
- 0x85, 0x12, 0xd4, 0xd9,
- 0x39, 0x42, 0xf1, 0x01, 0x0f, 0xfc, 0x30, 0xd7, 0xd3, 0x34, 0xdc, 0xb1,
- 0x05, 0xb8, 0x11, 0xe7,
- 0x13, 0x2b, 0x7a, 0x43, 0x57, 0xab, 0x0d, 0x84, 0x4b, 0xc2, 0x1c, 0xd7,
- 0x8c, 0xc9, 0xf9, 0x89,
- 0x05, 0x81, 0xb1, 0x53, 0xa7, 0xb0, 0x8b, 0x6a, 0xe5, 0x04, 0x42, 0x96,
- 0xdc, 0x18, 0x2a, 0xe1,
- 0xee, 0x0a, 0xe3, 0xa2, 0xb1, 0xd5, 0x15, 0x0e, 0xc3, 0xd8, 0x72, 0x6e,
- 0x6f, 0x95, 0x10, 0x1b,
- 0x57, 0xad, 0xba, 0xb5, 0x6c, 0x7f, 0x03, 0x80, 0x11, 0x92, 0x7d, 0xbe,
- 0x24, 0xea, 0xb4, 0x83,
- 0x9f, 0xf1, 0xad, 0x91, 0x73, 0x3f, 0x0c, 0x45, 0x44, 0x0d, 0x37, 0xbd,
- 0x90, 0x2e, 0x95, 0x49,
- 0xbd, 0xb2, 0xcd, 0xea, 0x8f, 0x55, 0x0b, 0x47, 0x69, 0x25, 0xe6, 0x68,
- 0xc4, 0xde, 0x52, 0x4c,
- 0x45, 0x12, 0xe5, 0x58, 0xce, 0x9b, 0x98, 0xa7, 0x04, 0x3b, 0xca, 0x47,
- 0xfb, 0x9a, 0x91, 0x3f,
- 0xff, 0xca, 0xd3, 0x7e, 0xcf, 0xe0, 0xf7, 0x0f, 0x34, 0xcc, 0xfb, 0xe5,
- 0x45, 0xed, 0x92, 0xf8,
- 0xc3, 0x09, 0x93, 0x2c, 0x67, 0xac, 0x4c, 0xb2, 0x02, 0xfc, 0x65, 0xc2,
- 0x9c, 0x4d, 0xa9, 0xfe,
- 0x3b, 0xa9, 0xbb, 0x9e, 0x26, 0x62, 0xdf, 0x52, 0x6f, 0xe2, 0x49, 0xed,
- 0xa3, 0x09, 0x6a, 0x8d,
- 0x7b, 0x3a, 0xef, 0x95, 0x4f, 0x49, 0xcc, 0x9f, 0x8e, 0xdd, 0xc1, 0x3c,
- 0x84, 0x8b, 0xd1, 0x53,
- 0x8e, 0x31, 0x9d, 0x4d, 0x0d, 0x0a, 0xee, 0x44, 0xb3, 0x19, 0xbe, 0x36,
- 0xba, 0x56, 0x17, 0xaa,
- 0xe9, 0x60, 0x18, 0x6e, 0x3f, 0xfb, 0x71, 0xe1, 0x9a, 0x0a, 0xa5, 0xa4,
- 0x15, 0x3c, 0x41, 0x90,
- 0xc8, 0x5c, 0x17, 0x24, 0x1f, 0x40, 0x0f, 0xc5, 0x55, 0x9f, 0x4a, 0x03,
- 0xb4, 0xc4, 0x21, 0xca,
- 0x7c, 0x50, 0x14, 0x59, 0xc1, 0x67, 0xa8, 0x70, 0xd7, 0x0f, 0x16, 0xf6,
- 0xfe, 0x22, 0x80, 0xd8,
- 0x6b, 0x6e, 0xfa, 0xe7, 0xc4, 0x33, 0xb8, 0x3d, 0x27, 0xa2, 0xe3, 0x99,
- 0xfd, 0x4a, 0x8f, 0x85,
- 0x4c, 0xac, 0x2b, 0xcf, 0x9f, 0xe9, 0x34, 0x55, 0xef, 0x8e, 0x70, 0xda,
- 0x75, 0xa2, 0x62, 0x61,
- 0x83, 0x9a, 0xc7, 0x27, 0x0e, 0x87, 0x5f, 0x7f, 0xe3, 0xc3, 0xed, 0x13,
- 0xbb, 0xcf, 0x12, 0x20,
- 0xec, 0xe1, 0xa9, 0x3d, 0x98, 0x4b, 0xfa, 0x8b, 0x7f, 0x0e, 0xe7, 0x32,
- 0xc9, 0x24, 0x6b, 0x71,
- 0x70, 0x6f, 0x6b, 0x9d, 0x37, 0xa5, 0x8f, 0xe8, 0xd9, 0xbe, 0xee, 0xfd,
- 0xac, 0x02, 0x59, 0x67,
- 0xe2, 0x35, 0x9c, 0x66, 0x47, 0x17, 0x32, 0x96, 0xcd, 0x69, 0x8a, 0x65,
- 0x3d, 0xb5, 0xc9, 0xa4,
- 0xf1, 0x1e, 0xe6, 0x25, 0x10, 0xbc, 0x3f, 0x12, 0x86, 0xab, 0x96, 0xb2,
- 0xb1, 0x7c, 0x30, 0x2d,
- 0xcd, 0xdd, 0xa6, 0x77, 0xb8, 0xf0, 0x84, 0xaf, 0xb0, 0x9b, 0x08, 0x95,
- 0x68, 0xdc, 0x0b, 0x2b,
- 0x5a, 0x06, 0xe0, 0xdf, 0x6f, 0xf2, 0xb2, 0xbb, 0x41, 0x48, 0x2e, 0x9b,
- 0x25, 0x73, 0xb1, 0x09,
- 0x2b, 0xfd, 0xae, 0xec, 0xad, 0x18, 0xab, 0xf0, 0xc6, 0x9d, 0x6b, 0x48,
- 0xda, 0xc8, 0x34, 0x5b,
- 0xc2, 0x9d, 0xb6, 0x82, 0x92, 0xe3, 0xda, 0x11, 0x5c, 0x97, 0xce, 0xec,
- 0xcf, 0xf4, 0x75, 0xcb,
- 0xa7, 0x27, 0x79, 0x3e, 0x89, 0x8c, 0xaa, 0x31, 0xc9, 0x52, 0x40, 0x22,
- 0xc6, 0x2f, 0x58, 0x9b,
- 0xa1, 0xd9, 0xa7, 0x5c, 0xf2, 0xed, 0x58, 0x7d, 0xce, 0xeb, 0x3c, 0xc6,
- 0xef, 0x3f, 0xd5, 0x25,
- 0x2c, 0x97, 0x55, 0x20, 0x23, 0x36, 0xcf, 0x1f, 0x9f, 0x4f, 0xbc, 0x82,
- 0xa0, 0x61, 0x65, 0xd0,
- 0x06, 0xfe, 0xde, 0x62, 0x7b, 0x61, 0xf2, 0x4c, 0x07, 0xb9, 0x7c, 0xe4,
- 0x29, 0x10, 0x8d, 0xbe,
- 0x2d, 0x03, 0x70, 0x8e, 0xd6, 0x79, 0x59, 0xbc, 0xc1, 0x24, 0x17, 0xac,
- 0xf3, 0xd8, 0xb9, 0xe5,
- 0x3e, 0x28, 0x0a, 0xcd, 0x81, 0xd2, 0x54, 0x38, 0x8a, 0xe6, 0x0b, 0x7b,
- 0x7f, 0x11, 0x40, 0x6c,
- 0x71, 0xfb, 0x4e, 0x33, 0xc2, 0xea, 0x19, 0x4b, 0x87, 0xd5, 0x45, 0xd3,
- 0xff, 0xbb, 0x85, 0x52,
- 0x3f, 0xbc, 0x2f, 0x63, 0x74, 0x9d, 0xc2, 0x9b, 0xd4, 0x8d, 0xa0, 0x55,
- 0x2c, 0xa8, 0x9c, 0x59,
- 0xf6, 0x74, 0x1d, 0xe9, 0x9e, 0x92, 0x5b, 0xfd, 0xdf, 0x79, 0x41, 0x78,
- 0xcb, 0xd5, 0x61, 0xa6,
- 0xce, 0xa2, 0xc9, 0x46, 0x64, 0x21, 0xfd, 0x89, 0x52, 0x26, 0x36, 0xe7,
- 0x9d, 0xd4, 0xac, 0x74,
- 0x38, 0xd6, 0xd4, 0xaf, 0xfa, 0xb3, 0xa6, 0x74, 0x8d, 0x5f, 0x77, 0x9f,
- 0x56, 0x01, 0xcd, 0xd2,
- 0x33, 0x83, 0x50, 0xa7, 0x82, 0x5f, 0xe5, 0x03, 0xda, 0x3c, 0x58, 0x5e,
- 0x7e, 0x88, 0x45, 0xe6,
- 0x87, 0x8f, 0x53, 0xda, 0x5c, 0x78, 0x42, 0xb6, 0x58, 0xac, 0x04, 0xab,
- 0x34, 0x6e, 0xe4, 0xf4,
- 0x42, 0x78, 0x1e, 0x94, 0x40, 0xb5, 0xfc, 0x48, 0x5d, 0xe9, 0x1d, 0x8d,
- 0x81, 0x33, 0xc0, 0xb4,
- 0x8c, 0xda, 0xd7, 0xd2, 0x24, 0x94, 0x01, 0xc1, 0x0f, 0xcf, 0x2b, 0x6a,
- 0x1c, 0xe7, 0x6c, 0xc0,
- 0x26, 0x56, 0xf4, 0x86, 0xae, 0x95, 0x1a, 0xcb, 0x96, 0x47, 0x38, 0x6d,
- 0xdb, 0x51, 0x31, 0xd1,
- 0x7a, 0xae, 0xca, 0x3b, 0xba, 0x06, 0x5a, 0x3c, 0xd0, 0xb6, 0x6a, 0x12,
- 0xd7, 0x32, 0x0d, 0x66,
- 0xac, 0x72, 0xfd, 0x36, 0xf1, 0x60, 0xe9, 0x46, 0x9e, 0x31, 0x6f, 0xe3,
- 0xee, 0xa6, 0xd0, 0xaf,
- 0x98, 0x9b, 0x56, 0x5d, 0xfd, 0x11, 0x68, 0xaa, 0x1d, 0xdf, 0xe0, 0x77,
- 0xea, 0x87, 0xc4, 0xc2,
- 0x79, 0xd1, 0xa5, 0x0a, 0x66, 0xd7, 0x23, 0x1a, 0x32, 0x0b, 0x54, 0x60,
- 0x22, 0x3a, 0xaa, 0x39,
- 0x8b, 0xb0, 0x2c, 0x1e, 0xaa, 0xba, 0x65, 0x2e, 0x56, 0x1d, 0xfc, 0xa0,
- 0x66, 0x4e, 0x3d, 0x4b,
- 0x58, 0xed, 0xaa, 0x40, 0x46, 0x6c, 0x5d, 0x3e, 0xfd, 0x9e, 0xbb, 0xc7,
- 0x83, 0xc2, 0xca, 0x63,
- 0x56, 0x39, 0x9f, 0x1b, 0x99, 0x30, 0x95, 0x23, 0x4f, 0xf9, 0xd6, 0x90,
- 0x77, 0x53, 0x68, 0xb6,
- },
- { /* 9 */
- 0xa8, 0x2c, 0x9d, 0x1e, 0xd9, 0x7e, 0xa9, 0xb3, 0xc0, 0x01, 0x6b, 0x3d,
- 0xc4, 0xa3, 0x83, 0xb4,
- 0xb4, 0x6b, 0xa4, 0x9d, 0x6c, 0x77, 0x14, 0x4c, 0x17, 0xa0, 0x80, 0x59,
- 0xd2, 0xde, 0x39, 0xaa,
- 0x96, 0x95, 0xc3, 0xd6, 0x72, 0x8f, 0xd1, 0xd8, 0xb2, 0x47, 0xed, 0x28,
- 0x6d, 0x22, 0x15, 0xce,
- 0x1e, 0xeb, 0x9c, 0x39, 0x0a, 0xe9, 0x43, 0xcd, 0x63, 0x5d, 0x9a, 0x2f,
- 0xd4, 0x54, 0xa5, 0x9d,
- 0x8a, 0xd2, 0xfa, 0x55, 0xc7, 0x86, 0x6c, 0x27, 0x65, 0xe6, 0x06, 0x4c,
- 0x7b, 0x5f, 0xaf, 0xd0,
- 0xf5, 0x99, 0x50, 0xe1, 0x53, 0x37, 0x1d, 0xda, 0x6f, 0xe8, 0x61, 0xe9,
- 0x49, 0x42, 0xb1, 0x07,
- 0x9f, 0x36, 0xa1, 0x26, 0x75, 0xf9, 0xd0, 0x09, 0x7d, 0x4f, 0x33, 0x03,
- 0x82, 0x73, 0x87, 0x27,
- 0xa5, 0x14, 0x76, 0x59, 0x63, 0x0b, 0x97, 0x06, 0xa4, 0x32, 0x57, 0x80,
- 0x6c, 0xa0, 0x2f, 0x98,
- 0x13, 0xd3, 0x77, 0x7e, 0xb0, 0x9c, 0x7d, 0x78, 0x07, 0x6e, 0xa6, 0x92,
- 0x7c, 0x57, 0x09, 0xb1,
- 0x39, 0xd8, 0xc1, 0x98, 0x17, 0x62, 0xc6, 0x24, 0x37, 0xff, 0xcc, 0x0c,
- 0x4d, 0x0f, 0x59, 0x9c,
- 0xac, 0xb7, 0x14, 0xa9, 0x64, 0x7d, 0x96, 0xd7, 0x6b, 0x3a, 0x89, 0xab,
- 0x83, 0xf1, 0xbd, 0x71,
- 0x2d, 0x6a, 0x29, 0xb6, 0x1b, 0x6d, 0x05, 0x13, 0x75, 0x28, 0x20, 0x87,
- 0xd5, 0xd6, 0x9f, 0xcb,
- 0x83, 0x71, 0x98, 0xa5, 0xc0, 0xf0, 0x6d, 0xf6, 0xaa, 0xee, 0xd8, 0x67,
- 0x94, 0x0e, 0x3d, 0x39,
- 0x86, 0xbc, 0xa2, 0x4f, 0xc3, 0x83, 0x2d, 0x8b, 0x5b, 0xab, 0xe3, 0x35,
- 0xb2, 0xa9, 0xed, 0x5c,
- 0xb9, 0x53, 0x4f, 0xda, 0xd6, 0x02, 0x2a, 0xf9, 0x73, 0x93, 0xbc, 0xe4,
- 0x7a, 0xdd, 0x95, 0x86,
- 0x76, 0xe8, 0xc8, 0x44, 0x93, 0xc7, 0x70, 0x2c, 0xc5, 0x06, 0xb9, 0x8e,
- 0xdd, 0x4c, 0x8c, 0x3e,
- 0x0f, 0x94, 0x4e, 0xfd, 0x05, 0x95, 0xc0, 0x87, 0xd0, 0xcf, 0x4d, 0xf6,
- 0x6a, 0x2a, 0xb3, 0xaf,
- 0x5a, 0xd4, 0x52, 0xaf, 0x36, 0xda, 0x0a, 0x26, 0xea, 0x50, 0x40, 0xcd,
- 0x69, 0x6f, 0xfd, 0x55,
- 0xa0, 0xd9, 0x4c, 0xb3, 0x60, 0x78, 0xd7, 0x7b, 0x55, 0x77, 0x6c, 0xd2,
- 0x4a, 0x07, 0xff, 0xfd,
- 0x92, 0x0e, 0x4a, 0x61, 0xcf, 0x8c, 0xee, 0xbc, 0x19, 0x7c, 0x0f, 0xbe,
- 0x2a, 0x70, 0x2b, 0x0b,
- 0xe2, 0xd1, 0xae, 0x28, 0x5e, 0xa8, 0x5f, 0xc6, 0xc3, 0xbd, 0x25, 0xed,
- 0x72, 0x47, 0x86, 0x73,
- 0x34, 0xe0, 0x2a, 0xdf, 0xad, 0x17, 0xf8, 0x91, 0x53, 0xcc, 0xf0, 0xb1,
- 0xe5, 0x0c, 0xf5, 0xb0,
- 0xee, 0xbf, 0xf6, 0x32, 0x5a, 0xad, 0x1e, 0x6a, 0xfd, 0xf0, 0xc0, 0x94,
- 0xbb, 0xb1, 0xc4, 0xff,
- 0x6d, 0xce, 0x6e, 0x97, 0x9a, 0x5d, 0x73, 0x9c, 0x57, 0x1e, 0x18, 0xf3,
- 0x2f, 0xbf, 0xf9, 0xc6,
- 0x1a, 0x70, 0x15, 0x8e, 0xb7, 0xea, 0x7c, 0xa9, 0xc8, 0x66, 0x78, 0xb9,
- 0x93, 0x06, 0x9b, 0x58,
- 0x24, 0xc9, 0x4b, 0x46, 0x1c, 0x1b, 0x04, 0xc2, 0xba, 0x20, 0xfe, 0xac,
- 0x3a, 0x87, 0x0d, 0x22,
- 0x1f, 0xbd, 0x2f, 0x64, 0xb4, 0x99, 0x3c, 0xd4, 0x39, 0x23, 0x43, 0xeb,
- 0xb5, 0xa1, 0x4b, 0x3d,
- 0xd2, 0xaa, 0x0d, 0x40, 0x4e, 0xbc, 0x98, 0x33, 0x3b, 0x4a, 0x37, 0xca,
- 0xd0, 0x19, 0x4d, 0x06,
- 0x18, 0xdc, 0xb0, 0x34, 0x08, 0x0a, 0x82, 0x9b, 0x7c, 0x9a, 0x09, 0xf2,
- 0x51, 0x2f, 0x84, 0xdb,
- 0x37, 0x1a, 0x3c, 0x38, 0xac, 0x87, 0x79, 0xba, 0xbd, 0x4e, 0x58, 0x3e,
- 0x46, 0xd0, 0x04, 0x93,
- 0x6a, 0xaf, 0xf1, 0xc7, 0x26, 0xce, 0xcd, 0xd3, 0x12, 0xa7, 0x52, 0xea,
- 0xcb, 0x31, 0x36, 0x20,
- 0x3f, 0xef, 0xed, 0x95, 0x15, 0x81, 0x07, 0x72, 0x28, 0x38, 0x5f, 0xd1,
- 0xc8, 0x74, 0x78, 0xda,
- 0xae, 0x1b, 0xb1, 0x13, 0xdb, 0x9d, 0x68, 0xe5, 0xdf, 0xc6, 0xf8, 0xe0,
- 0x41, 0xd8, 0xa2, 0xf2,
- 0x10, 0x29, 0x61, 0x99, 0xb1, 0x0c, 0xfc, 0x53, 0xe9, 0xec, 0x0e, 0x1d,
- 0xdf, 0x8b, 0xf8, 0x92,
- 0x46, 0x93, 0x6b, 0x2c, 0x83, 0xd3, 0xb7, 0xd9, 0x3d, 0xf1, 0xab, 0xa9,
- 0x7f, 0x12, 0x47, 0x4b,
- 0x6c, 0x98, 0xdd, 0xca, 0x24, 0x2d, 0x0c, 0x85, 0x0d, 0x60, 0xc1, 0x37,
- 0x4e, 0x4a, 0x17, 0x66,
- 0xbc, 0x9e, 0x75, 0x30, 0xd5, 0x71, 0x6a, 0x84, 0x82, 0xd6, 0x87, 0xb6,
- 0x5c, 0x7a, 0x45, 0xe3,
- 0x68, 0x03, 0x54, 0x7d, 0x99, 0x2e, 0x33, 0xe1, 0xa6, 0x5b, 0x23, 0xa1,
- 0x09, 0x18, 0x29, 0xa3,
- 0x0b, 0x0f, 0xc7, 0x4a, 0xb8, 0x96, 0xff, 0xe3, 0x7b, 0xf4, 0xaf, 0x60,
- 0x2d, 0x78, 0x8d, 0x6a,
- 0x3e, 0xb9, 0x5e, 0xc8, 0xab, 0xf1, 0x78, 0x6b, 0x72, 0x46, 0x86, 0x15,
- 0xa9, 0x81, 0x96, 0x7a,
- 0xfe, 0x96, 0x97, 0xab, 0xeb, 0xa1, 0xe2, 0x39, 0x14, 0x1c, 0xce, 0x89,
- 0x64, 0x3a, 0x3c, 0x6d,
- 0xa9, 0x7a, 0x2e, 0x43, 0x67, 0x0e, 0xd6, 0xaa, 0x9a, 0x7f, 0xb2, 0xf9,
- 0xa5, 0x56, 0x6d, 0x14,
- 0x28, 0xa7, 0x13, 0x5c, 0x18, 0x1e, 0x45, 0x6e, 0x84, 0x6d, 0x1b, 0xd5,
- 0xf3, 0x71, 0x4f, 0xae,
- 0x7c, 0xb1, 0xbc, 0x53, 0x95, 0x21, 0xf0, 0xd6, 0xe4, 0x8c, 0xcf, 0x2a,
- 0x91, 0xc1, 0xef, 0xf4,
- 0xf2, 0xf8, 0xcf, 0xb1, 0xef, 0xa4, 0xa3, 0x95, 0x2a, 0x51, 0x2b, 0xf0,
- 0xad, 0xcc, 0x7e, 0xe1,
- 0xbf, 0x64, 0x63, 0xd7, 0xd4, 0xe1, 0xeb, 0xaf, 0x6c, 0x54, 0x2f, 0x39,
- 0xff, 0xa6, 0xb4, 0xc0,
- 0xf4, 0xcf, 0xe3, 0xbc, 0xed, 0x47, 0x62, 0xc3, 0x35, 0x96, 0xb8, 0x2d,
- 0x28, 0xb7, 0x5f, 0xa7,
- 0xcb, 0x20, 0x0e, 0x29, 0xf8, 0xc6, 0x65, 0xb1, 0x1d, 0xae, 0xe7, 0xfc,
- 0xe0, 0xc3, 0x27, 0x7d,
- 0x06, 0x37, 0x2c, 0x0d, 0x02, 0xe3, 0xc1, 0x56, 0x1f, 0xc7, 0x93, 0xdd,
- 0x85, 0x7b, 0x21, 0x46,
- 0xf8, 0xa1, 0xbb, 0xa6, 0xe9, 0x42, 0x23, 0x6f, 0x0b, 0xdb, 0x5d, 0x54,
- 0xe1, 0x41, 0x1d, 0x2b,
- 0xbd, 0xc8, 0xc6, 0x6d, 0x6b, 0x01, 0x15, 0x9d, 0xd8, 0xa8, 0x5e, 0x72,
- 0x3d, 0x8f, 0xab, 0x43,
- 0x75, 0x12, 0xde, 0xa3, 0x92, 0x57, 0xf1, 0x07, 0x2b, 0x84, 0x11, 0x01,
- 0x7e, 0x90, 0x7d, 0x1d,
- 0x03, 0xfa, 0x16, 0xe7, 0x01, 0x90, 0x81, 0x2b, 0xee, 0x82, 0xa8, 0x8f,
- 0xa3, 0xdc, 0xf1, 0x23,
- 0x4c, 0xca, 0x1f, 0x3b, 0x85, 0x35, 0x37, 0x23, 0x1c, 0x7b, 0xdd, 0x0d,
- 0x33, 0x9f, 0x24, 0x81,
- 0x4b, 0xab, 0x80, 0x6b, 0x39, 0xa6, 0x89, 0x6c, 0x59, 0xc2, 0x97, 0x14,
- 0xd7, 0x11, 0xeb, 0x67,
- 0xc0, 0x2f, 0xc9, 0x63, 0x40, 0x50, 0x9a, 0x52, 0x66, 0x5a, 0x48, 0x9c,
- 0xcd, 0xbb, 0xaa, 0x17,
- 0x04, 0x9b, 0x89, 0xb7, 0xbd, 0x03, 0x3f, 0x64, 0xab, 0x3b, 0xe2, 0x96,
- 0x47, 0x52, 0x3e, 0xc5,
- 0xb3, 0x0a, 0x3b, 0xcd, 0xd0, 0xe4, 0xaa, 0x03, 0x52, 0x19, 0xca, 0x40,
- 0x36, 0x50, 0xf6, 0x4c,
- 0xb6, 0xc7, 0x01, 0x27, 0xd3, 0x97, 0xea, 0x7e, 0xa3, 0x5c, 0xf1, 0x12,
- 0x10, 0xf7, 0x26, 0x29,
- 0x51, 0xdb, 0x95, 0xe5, 0x8e, 0x4c, 0xf5, 0xc5, 0x91, 0xa4, 0xef, 0xad,
- 0x44, 0x17, 0x70, 0x3f,
- 0xeb, 0x72, 0xcc, 0xd8, 0x59, 0xde, 0x5e, 0x17, 0x0c, 0xb5, 0xfb, 0xc6,
- 0x9d, 0x16, 0x14, 0x9a,
- 0x98, 0x57, 0x3e, 0x76, 0xc9, 0x6a, 0x6e, 0x46, 0x38, 0xf6, 0x79, 0x1a,
- 0x66, 0xfd, 0x48, 0xc1,
- 0x23, 0xa8, 0xd4, 0x16, 0xa0, 0x88, 0xba, 0x8d, 0xff, 0x99, 0xb4, 0xb5,
- 0xde, 0x09, 0xc2, 0xc4,
- 0xab, 0xd6, 0x8b, 0xf9, 0xd8, 0xee, 0x28, 0x98, 0x2e, 0x83, 0xc3, 0xb2,
- 0x67, 0x7f, 0x72, 0x97,
- 0xb2, 0x5c, 0x88, 0x90, 0x6e, 0x94, 0xd5, 0x1a, 0x08, 0x67, 0x13, 0x84,
- 0x57, 0xa5, 0x18, 0xec,
- 0x99, 0x01, 0x8d, 0x2b, 0x77, 0x1a, 0x11, 0x5f, 0x62, 0x88, 0xa0, 0xde,
- 0x07, 0x08, 0xa6, 0x61,
- 0x89, 0x28, 0xec, 0xb2, 0xc6, 0x16, 0xed, 0x0c, 0x8b, 0x64, 0xae, 0xc3,
- 0xd8, 0x83, 0x5e, 0xf3,
- 0xdf, 0x92, 0xe6, 0x07, 0xf4, 0xc9, 0xa6, 0x86, 0x5f, 0x79, 0x0b, 0x77,
- 0x78, 0x1a, 0xe1, 0x2a,
- 0x0d, 0x38, 0xeb, 0x47, 0xba, 0x75, 0x3e, 0xb5, 0x64, 0x33, 0x3c, 0xbd,
- 0xa8, 0x03, 0xac, 0x2c,
- 0x31, 0x2d, 0x10, 0x35, 0xae, 0x64, 0xb8, 0xec, 0xa2, 0x89, 0xcb, 0xe3,
- 0xc3, 0xab, 0x25, 0xd5,
- 0x70, 0xdf, 0xe4, 0x49, 0x91, 0x24, 0xb1, 0x7a, 0xda, 0xc1, 0x2a, 0x53,
- 0x58, 0x37, 0xad, 0x78,
- 0x73, 0x25, 0xf2, 0xae, 0x90, 0xb4, 0x30, 0x51, 0x34, 0x43, 0x82, 0xdc,
- 0xfb, 0xeb, 0x5c, 0x5b,
- 0x1d, 0x11, 0x8a, 0xde, 0x0b, 0x79, 0xc2, 0xe6, 0x8d, 0xdf, 0x32, 0xa0,
- 0x77, 0x88, 0x54, 0xbe,
- 0x8d, 0xb3, 0x65, 0x05, 0x7b, 0x15, 0xd2, 0x68, 0x20, 0x5f, 0x4c, 0x55,
- 0x9f, 0xd1, 0x60, 0x36,
- 0xf1, 0x02, 0xd9, 0x56, 0xee, 0x34, 0x22, 0xbe, 0xc4, 0xd3, 0x83, 0x7f,
- 0x0e, 0x10, 0x8f, 0xc2,
- 0x7d, 0xe7, 0x0f, 0x0e, 0x2b, 0x51, 0x8f, 0xcf, 0xbe, 0xf2, 0x16, 0xee,
- 0xf0, 0x34, 0x01, 0x54,
- 0x17, 0x48, 0xfe, 0xc9, 0x0d, 0x9f, 0x42, 0x1c, 0xac, 0x55, 0x44, 0x04,
- 0x3b, 0x05, 0x37, 0x74,
- 0x2c, 0x3c, 0x9a, 0xeb, 0xa5, 0x1d, 0x7a, 0x0a, 0x2f, 0x56, 0xf9, 0x43,
- 0xb4, 0x23, 0x71, 0x6b,
- 0x35, 0xb6, 0x99, 0x82, 0x13, 0x67, 0x87, 0x88, 0x09, 0xb2, 0x29, 0x75,
- 0x84, 0xf9, 0x1b, 0x10,
- 0x88, 0x7e, 0x5f, 0xef, 0x78, 0x66, 0x92, 0x15, 0xd1, 0x1a, 0x77, 0x07,
- 0xb9, 0x76, 0xb0, 0x53,
- 0x67, 0x97, 0x1a, 0x80, 0x9c, 0xbb, 0xf3, 0x66, 0x76, 0x94, 0x6e, 0x57,
- 0x63, 0x32, 0x9a, 0x0c,
- 0xe1, 0x2b, 0xb8, 0xcf, 0x5f, 0x38, 0xde, 0xed, 0x2d, 0x3f, 0x8d, 0x62,
- 0xd1, 0x9b, 0x77, 0x50,
- 0xb5, 0x3d, 0x17, 0xc0, 0xd2, 0x07, 0x6b, 0x55, 0x4d, 0xde, 0x59, 0x9d,
- 0xb3, 0x2b, 0xd7, 0x0a,
- 0x64, 0x6d, 0x0c, 0x67, 0x9d, 0x2b, 0x72, 0x4d, 0x98, 0x16, 0xc6, 0xd8,
- 0xc0, 0xee, 0x6b, 0x2f,
- 0xb1, 0xa6, 0x9e, 0x77, 0x6f, 0x04, 0x54, 0x31, 0xe6, 0xe5, 0xbb, 0x0b,
- 0xf4, 0x79, 0xe9, 0xcf,
- 0x08, 0xf5, 0xd1, 0xad, 0xb9, 0x06, 0x7e, 0xc8, 0x95, 0x76, 0x07, 0xef,
- 0x8e, 0xa4, 0x7c, 0x49,
- 0xe5, 0xb0, 0x31, 0x78, 0xe2, 0x3b, 0xe1, 0x89, 0x86, 0x04, 0x6f, 0xf4,
- 0x96, 0xc9, 0x49, 0x95,
- 0x1c, 0x47, 0x39, 0x83, 0xb5, 0x09, 0xbd, 0xff, 0xd7, 0xa1, 0xeb, 0x64,
- 0x16, 0x7d, 0xba, 0x1e,
- 0x6b, 0xf9, 0x42, 0x9a, 0x98, 0xbe, 0xb2, 0xca, 0x48, 0xd9, 0x8b, 0x2e,
- 0xaa, 0xc4, 0xd8, 0x80,
- 0x5c, 0xe3, 0x7e, 0xa2, 0x34, 0x39, 0xcb, 0x70, 0xf5, 0x97, 0xd3, 0x10,
- 0xec, 0x14, 0xdc, 0x13,
- 0xa3, 0x23, 0x5a, 0x54, 0x61, 0xe8, 0x56, 0x50, 0xbb, 0xf5, 0xc4, 0x5d,
- 0xe9, 0xdb, 0x0e, 0xde,
- 0x7a, 0x86, 0x90, 0x5e, 0x97, 0xc2, 0x31, 0x80, 0xfb, 0x4b, 0x5c, 0xf7,
- 0x14, 0xba, 0xce, 0xb2,
- 0xe8, 0x88, 0xda, 0x3f, 0x58, 0x4e, 0xdf, 0x3c, 0xe2, 0x37, 0x53, 0x49,
- 0x3e, 0xca, 0xe5, 0xb9,
- 0xda, 0x5f, 0xdc, 0xed, 0xf7, 0xba, 0xe6, 0xfb, 0xae, 0x3c, 0x30, 0x25,
- 0x5e, 0xbd, 0x31, 0x4f,
- 0xd7, 0x67, 0x37, 0xaa, 0x4d, 0xcf, 0xd8, 0x4e, 0xca, 0x0f, 0x0c, 0x98,
- 0xf6, 0xbe, 0x9d, 0x63,
- 0xfa, 0x0d, 0x1e, 0x1c, 0x56, 0xa2, 0xdd, 0x5d, 0xbf, 0x27, 0x2c, 0x1f,
- 0x23, 0x68, 0x02, 0xa8,
- 0xa7, 0xb8, 0xd3, 0xe3, 0xdc, 0xeb, 0x69, 0x34, 0x10, 0xce, 0x26, 0xcb,
- 0xae, 0x89, 0x30, 0x1b,
- 0x7f, 0x4b, 0xaa, 0xb4, 0x94, 0xb1, 0x71, 0xfd, 0x0a, 0x0e, 0x67, 0xa5,
- 0x32, 0x1d, 0x1e, 0xd7,
- 0xe4, 0xe6, 0x82, 0x25, 0x5c, 0x4b, 0x9e, 0x90, 0xdc, 0x7a, 0xb6, 0x30,
- 0xf7, 0x3c, 0xa7, 0x35,
- 0x8f, 0x1f, 0xc0, 0xbf, 0xc4, 0xf5, 0x2c, 0x5a, 0x94, 0xa3, 0x3d, 0x1e,
- 0x5d, 0xf8, 0x7f, 0xb5,
- 0xa1, 0x8f, 0xff, 0xee, 0xde, 0x08, 0xa8, 0x62, 0x0f, 0x09, 0xb5, 0x16,
- 0x2b, 0xf2, 0x11, 0x5d,
- 0x52, 0x21, 0x83, 0x02, 0x8f, 0xdc, 0x74, 0xee, 0x7f, 0x26, 0x47, 0x22,
- 0xe7, 0xcb, 0x81, 0x1c,
- 0xec, 0x13, 0x53, 0x88, 0xe5, 0x4d, 0xe0, 0x58, 0x49, 0x0c, 0xb1, 0xdf,
- 0x79, 0x98, 0xdb, 0x7c,
- 0x3b, 0x74, 0x64, 0x22, 0xa8, 0x82, 0x38, 0x16, 0x83, 0x03, 0xbd, 0x47,
- 0x8f, 0x26, 0x46, 0x1f,
- 0xa2, 0x75, 0xe9, 0x09, 0xdf, 0x98, 0x29, 0x49, 0xe1, 0x8b, 0x1d, 0x99,
- 0x88, 0x2e, 0xe0, 0x7e,
- 0x5f, 0x19, 0x68, 0x45, 0x35, 0xa9, 0x4a, 0x5b, 0x1b, 0x15, 0x7b, 0x9f,
- 0x4f, 0xc8, 0x2d, 0x30,
- 0x50, 0x8d, 0x26, 0xb8, 0x30, 0x3c, 0x8a, 0xdc, 0xcb, 0xda, 0x36, 0x69,
- 0x25, 0xe2, 0x9e, 0x9f,
- 0x4a, 0xfd, 0x33, 0x36, 0x87, 0xd6, 0xf6, 0x75, 0x03, 0xbc, 0x4e, 0xd0,
- 0xb6, 0xe4, 0x05, 0xc7,
- 0x57, 0xec, 0xb9, 0xe8, 0x8c, 0xaf, 0x34, 0x93, 0x8e, 0x63, 0x7c, 0x70,
- 0xc1, 0x6c, 0x51, 0x79,
- 0x55, 0x40, 0x1c, 0x52, 0x33, 0x4f, 0xca, 0xa1, 0x3a, 0x9f, 0x0d, 0x3b,
- 0x03, 0x45, 0x4e, 0xfa,
- 0xdc, 0x68, 0xf0, 0xe0, 0xf5, 0x59, 0x27, 0xad, 0xb1, 0xfb, 0xa3, 0xf8,
- 0xdb, 0xc6, 0x10, 0x09,
- 0xde, 0xc4, 0x55, 0x5a, 0x4a, 0xb9, 0xd9, 0x9f, 0x05, 0x07, 0xd2, 0xb3,
- 0x19, 0xef, 0x0f, 0x8a,
- 0x9d, 0x9a, 0x04, 0x9c, 0xca, 0x19, 0x2e, 0x3b, 0xc9, 0xb3, 0x42, 0x48,
- 0x40, 0x5a, 0x98, 0xa4,
- 0xe7, 0x1c, 0x94, 0xc2, 0x5d, 0xdb, 0x1f, 0xbb, 0x32, 0xf8, 0x1e, 0xbf,
- 0x54, 0xe0, 0x56, 0x16,
- 0xaf, 0x4d, 0x02, 0x4e, 0x65, 0xed, 0x17, 0xfc, 0x85, 0xb8, 0x21, 0x24,
- 0x20, 0x2d, 0x4c, 0x52,
- 0x97, 0xc3, 0x70, 0x8b, 0xcc, 0xff, 0xae, 0xc1, 0xe8, 0x39, 0x34, 0xec,
- 0x0c, 0xd7, 0xfb, 0x6e,
- 0xaa, 0x80, 0x38, 0xa4, 0x66, 0x9e, 0x57, 0x81, 0x74, 0xfd, 0x1a, 0x76,
- 0x06, 0x8a, 0x9c, 0x37,
- 0x26, 0x65, 0xee, 0xfc, 0xa3, 0xfb, 0xfa, 0xf0, 0x0e, 0xdc, 0x8f, 0xe7,
- 0xf8, 0xae, 0x12, 0xa1,
- 0x4d, 0x9c, 0xac, 0x66, 0x3b, 0x45, 0x48, 0x3a, 0x46, 0x05, 0x04, 0xc9,
- 0x52, 0x6a, 0xca, 0x21,
- 0x54, 0x16, 0xaf, 0x0f, 0x8d, 0x3f, 0xb5, 0xb8, 0x60, 0xe1, 0xd4, 0xff,
- 0x62, 0xb0, 0xa0, 0x5a,
- 0xf7, 0x35, 0xf5, 0x5b, 0xec, 0xd7, 0xe3, 0xe8, 0xdb, 0x14, 0x10, 0xa2,
- 0x8b, 0x6b, 0xae, 0x84,
- 0xd9, 0xa5, 0xca, 0x0a, 0xf6, 0x2a, 0x67, 0xd0, 0x40, 0xbe, 0x98, 0xaa,
- 0xfd, 0x61, 0xc0, 0x6c,
- 0x84, 0x10, 0x07, 0xf5, 0x7c, 0x63, 0xd3, 0xb9, 0xef, 0x57, 0x92, 0x7e,
- 0x70, 0x80, 0xf2, 0xdf,
- 0x41, 0xf2, 0xf4, 0x7c, 0x3f, 0x40, 0x09, 0x96, 0x78, 0x48, 0xe1, 0xb0,
- 0x9b, 0x9c, 0x88, 0xad,
- 0x82, 0x27, 0x2b, 0xf8, 0x7e, 0x80, 0x12, 0xef, 0xf0, 0x90, 0x01, 0xa3,
- 0xf5, 0xfb, 0xd3, 0x99,
- 0xd6, 0x31, 0x84, 0xf7, 0xf3, 0xbf, 0xa7, 0x57, 0x90, 0x71, 0xd5, 0x5c,
- 0x97, 0x4b, 0x73, 0xc3,
- 0xb7, 0x91, 0xb2, 0x7a, 0x6d, 0xe7, 0x95, 0x67, 0xf9, 0x22, 0x28, 0xd6,
- 0x71, 0x02, 0xc8, 0x89,
- 0xdb, 0x09, 0x6f, 0xb0, 0x49, 0xca, 0x99, 0xe2, 0xf4, 0x42, 0xe9, 0xe1,
- 0x3f, 0x48, 0xdf, 0xef,
- 0x2b, 0x5d, 0x05, 0xbb, 0x19, 0x8e, 0xc4, 0x45, 0x6a, 0xef, 0xb3, 0x5a,
- 0x50, 0xad, 0xbe, 0x8d,
- 0xa6, 0xee, 0x60, 0xbe, 0x62, 0x9b, 0x16, 0x2d, 0x4a, 0xb0, 0xff, 0x0f,
- 0xcf, 0x7c, 0xde, 0xbb,
- 0x38, 0x8e, 0x72, 0xc5, 0xa9, 0x12, 0xb9, 0x3d, 0x6d, 0x81, 0x15, 0xc8,
- 0x2c, 0xfa, 0xb7, 0x3c,
- 0xce, 0xed, 0x34, 0xc3, 0xfb, 0xb5, 0x25, 0xcc, 0xec, 0xeb, 0xdc, 0xae,
- 0xc6, 0x64, 0xf7, 0x18,
- 0x95, 0x6f, 0xd5, 0x31, 0x73, 0x1f, 0x50, 0xf3, 0x5c, 0xc5, 0x45, 0xa7,
- 0xce, 0xfe, 0xe4, 0xed,
- 0x71, 0x89, 0x57, 0x14, 0x2f, 0x54, 0xce, 0x63, 0x80, 0xbf, 0xf3, 0x97,
- 0x39, 0xc2, 0x43, 0xd8,
- 0xc3, 0xd5, 0xdf, 0x84, 0x41, 0xc0, 0x1b, 0x79, 0x88, 0xd8, 0xe0, 0x13,
- 0x6e, 0x67, 0x5b, 0x34,
- 0x8e, 0x49, 0x73, 0xe2, 0x7a, 0x85, 0x53, 0x43, 0xce, 0xdd, 0xe4, 0xda,
- 0x3c, 0x0d, 0x91, 0x15,
- 0x9a, 0xfb, 0x9b, 0xcc, 0x76, 0x8a, 0x90, 0x74, 0x8c, 0x0a, 0x08, 0x51,
- 0xa4, 0xd4, 0x57, 0x42,
- 0xef, 0xe9, 0x45, 0x6f, 0xe4, 0xdd, 0x61, 0x73, 0xa7, 0x8e, 0x19, 0x50,
- 0xda, 0x44, 0x2a, 0x5f,
- 0x25, 0x9f, 0xf8, 0x1b, 0xa2, 0x6b, 0x7b, 0xdb, 0xe0, 0x5e, 0x27, 0x68,
- 0x5b, 0x72, 0xe3, 0x82,
- 0xa4, 0x42, 0xc5, 0x04, 0xdd, 0x7b, 0xe8, 0x1f, 0xfe, 0x4c, 0x8e, 0x44,
- 0x0d, 0x55, 0xc1, 0x38,
- 0xe9, 0xde, 0x69, 0x62, 0xe6, 0x3e, 0xa0, 0x25, 0xb8, 0x49, 0x8a, 0x8d,
- 0x5f, 0x3f, 0x0b, 0x19,
- 0x3c, 0x15, 0xfb, 0x72, 0x14, 0x11, 0x86, 0x59, 0xc6, 0xba, 0xf7, 0x5e,
- 0x6b, 0xa8, 0x89, 0xf9,
- 0x6f, 0x62, 0xcb, 0x2d, 0x25, 0xbd, 0x8d, 0xae, 0xe3, 0xe2, 0x69, 0xb8,
- 0xed, 0x96, 0xe6, 0x45,
- 0x02, 0xac, 0xa5, 0xba, 0xbf, 0xe0, 0xfe, 0x32, 0xb4, 0xfc, 0x71, 0x4b,
- 0xc2, 0x29, 0x1f, 0x83,
- 0x01, 0x56, 0xb3, 0x5d, 0xbe, 0x70, 0x7f, 0x19, 0x5a, 0x7e, 0xd9, 0xc4,
- 0x61, 0xf5, 0xee, 0xa0,
- 0x0a, 0x59, 0x74, 0x17, 0x06, 0xe6, 0x80, 0xfa, 0x21, 0x8a, 0x76, 0xa4,
- 0x4c, 0x8d, 0x63, 0xca,
- 0x09, 0xa3, 0x62, 0xf0, 0x07, 0x76, 0x01, 0xd1, 0xcf, 0x08, 0xde, 0x2b,
- 0xef, 0x51, 0x92, 0xe9,
- 0x94, 0x39, 0x66, 0x6c, 0xcd, 0x6f, 0x2f, 0xea, 0x06, 0xbb, 0x9c, 0x63,
- 0xaf, 0x0b, 0x0a, 0x4d,
- 0xed, 0x45, 0xe0, 0xd5, 0x5b, 0x3d, 0x9f, 0x41, 0x13, 0x72, 0x68, 0x1b,
- 0x18, 0x6d, 0x35, 0xdc,
- 0x59, 0x2e, 0x44, 0x48, 0x37, 0x4a, 0x8b, 0x0d, 0x04, 0xd2, 0xe8, 0x42,
- 0xca, 0xb3, 0x0c, 0x76,
- 0x61, 0xa0, 0x36, 0x8d, 0x9e, 0x58, 0x32, 0x30, 0x69, 0x53, 0xfd, 0x8a,
- 0xe6, 0x49, 0xbb, 0x4a,
- 0x69, 0x55, 0xe7, 0x20, 0x27, 0x5e, 0x4c, 0xf8, 0xfc, 0x25, 0xfa, 0x65,
- 0x68, 0xed, 0xc7, 0x03,
- 0x29, 0xf1, 0xa0, 0x01, 0xa6, 0x6e, 0x3a, 0x77, 0xde, 0x13, 0xc2, 0x11,
- 0x92, 0x84, 0xa1, 0x0e,
- 0xb0, 0xf0, 0x2d, 0x2a, 0xd1, 0x74, 0x2b, 0x28, 0xbc, 0x9b, 0x62, 0xcf,
- 0x95, 0x8c, 0x07, 0x6f,
- 0x30, 0x7b, 0xa3, 0x68, 0x10, 0x14, 0xc7, 0xf5, 0xf8, 0xf7, 0x12, 0x27,
- 0xa2, 0x5e, 0xcb, 0x75,
- 0x60, 0xf6, 0x85, 0xd0, 0x20, 0x28, 0x4d, 0x29, 0x33, 0x2d, 0x24, 0x4e,
- 0x87, 0xbc, 0x55, 0xea,
- 0x74, 0x44, 0x6d, 0xfe, 0x2c, 0x27, 0x8e, 0x1e, 0x71, 0xfa, 0xc8, 0xc5,
- 0x1f, 0x65, 0x93, 0xbd,
- 0x22, 0xfe, 0x67, 0x4b, 0x1e, 0xf8, 0xc5, 0x94, 0xa5, 0xe7, 0x6d, 0x71,
- 0xbf, 0xfc, 0x2c, 0x64,
- 0x0c, 0x6e, 0x58, 0x1a, 0x04, 0x05, 0x41, 0xac, 0x3e, 0x4d, 0xe5, 0x79,
- 0xc9, 0xf6, 0x42, 0x8c,
- 0xcd, 0x17, 0x22, 0x24, 0xfa, 0x25, 0xa4, 0xe7, 0x02, 0x69, 0x74, 0x21,
- 0x65, 0xb8, 0x06, 0x3b,
- 0x7b, 0xd0, 0x23, 0x03, 0x29, 0xb2, 0x4e, 0x99, 0xa1, 0x35, 0x85, 0x33,
- 0x75, 0x4f, 0x20, 0x12,
- 0x5b, 0x82, 0xe1, 0xf2, 0x88, 0xaa, 0x75, 0x3f, 0xb0, 0x2e, 0x99, 0x09,
- 0x08, 0x9a, 0x13, 0xf5,
- 0x40, 0xa4, 0x47, 0x21, 0x81, 0x30, 0x76, 0x8f, 0x22, 0x36, 0x38, 0x74,
- 0xfa, 0x69, 0x66, 0x0d,
- 0xe3, 0x87, 0x1d, 0x75, 0xe0, 0xd8, 0x20, 0xdf, 0x99, 0xc3, 0xfc, 0x29,
- 0x13, 0xb2, 0x68, 0xd3,
- 0x14, 0xb2, 0xe8, 0x2e, 0x0c, 0x0f, 0xc3, 0x37, 0x42, 0xd7, 0xec, 0x8b,
- 0x98, 0xd9, 0xc6, 0x57,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xfd, 0x6c, 0x81, 0x4c, 0xea, 0x31, 0x63, 0x12, 0xfa, 0x9e, 0x66, 0x06,
- 0xc7, 0xe6, 0xcd, 0x4e,
- 0x78, 0x2a, 0x35, 0xe4, 0x28, 0x22, 0xcf, 0xb2, 0x4f, 0xb7, 0x2d, 0xbc,
- 0xd6, 0x93, 0xd1, 0x31,
- 0xad, 0xe1, 0xa7, 0xf4, 0xda, 0x0d, 0xe9, 0xce, 0x31, 0x44, 0x50, 0x6f,
- 0xe2, 0x04, 0x53, 0xd1,
- 0xd0, 0x06, 0xa8, 0xfa, 0xf1, 0x5c, 0x66, 0x01, 0x8f, 0xb6, 0x46, 0x81,
- 0x12, 0x30, 0x52, 0x85,
- 0x91, 0xf4, 0x5c, 0x86, 0xce, 0x1c, 0x6f, 0x97, 0xf7, 0xfe, 0xa7, 0x31,
- 0x89, 0xac, 0xda, 0x28,
- 0xfc, 0x3a, 0x32, 0x11, 0x54, 0x41, 0x1c, 0x0b, 0xa0, 0xe0, 0xbf, 0xc2,
- 0xa6, 0x13, 0x23, 0xee,
- 0xf9, 0xf7, 0x08, 0xfb, 0x57, 0x32, 0x5c, 0x76, 0x51, 0xa5, 0x84, 0x90,
- 0x80, 0xb4, 0xf3, 0x8b,
- 0xea, 0x24, 0x7f, 0x85, 0xe7, 0xae, 0x21, 0x0e, 0x56, 0xcb, 0x22, 0x02,
- 0xfc, 0xe3, 0xfa, 0x3a,
- 0x85, 0x46, 0xb4, 0xa8, 0xc2, 0x13, 0xac, 0xa0, 0xb5, 0x29, 0x4b, 0xba,
- 0x11, 0x75, 0x1c, 0x7f,
- 0x7e, 0x1d, 0x19, 0xe9, 0x2a, 0xc1, 0x0e, 0xe4, 0x50, 0x70, 0xbe, 0x61,
- 0x53, 0xe8, 0xf0, 0x77,
- 0x77, 0xbe, 0x7b, 0x19, 0x2d, 0xb7, 0x0f, 0x35, 0x9f, 0x78, 0x60, 0x4a,
- 0xbc, 0xb9, 0x62, 0x9e,
- 0xc7, 0x4e, 0x56, 0x33, 0xfc, 0xc3, 0x24, 0x1d, 0x23, 0xe3, 0x02, 0x85,
- 0x29, 0x35, 0x65, 0xf1,
- 0xc5, 0xe2, 0xf3, 0x89, 0x43, 0x23, 0xda, 0x2f, 0x97, 0x1f, 0x73, 0xce,
- 0xeb, 0x1c, 0x7a, 0x72,
- 0x5d, 0xb5, 0xcd, 0xff, 0x8a, 0x49, 0xb4, 0x69, 0xaf, 0xe9, 0x0a, 0xd4,
- 0x8d, 0xe1, 0x32, 0xb3,
- 0x3a, 0x22, 0xd7, 0x7f, 0x16, 0xf2, 0x47, 0x0f, 0xd9, 0x7d, 0x64, 0x83,
- 0xee, 0xd3, 0xa8, 0xbf,
- 0xd5, 0xcb, 0x92, 0x10, 0xf2, 0x2f, 0x26, 0x7c, 0x7e, 0xf3, 0x7d, 0xd3,
- 0x34, 0x97, 0x82, 0xe0,
- 0x66, 0xc1, 0xa9, 0xdd, 0x22, 0xcb, 0x8c, 0x7f, 0x2c, 0xea, 0xb7, 0x93,
- 0x02, 0xc7, 0x74, 0xac,
- 0x8b, 0x84, 0x49, 0x08, 0x79, 0xf6, 0x13, 0x3e, 0x3f, 0x98, 0xdf, 0x88,
- 0x1a, 0xaa, 0x41, 0x70,
- 0x49, 0x07, 0x25, 0xd1, 0x86, 0x46, 0x77, 0x5e, 0xed, 0x3e, 0xe6, 0x5f,
- 0x15, 0x38, 0xf4, 0xe4,
- 0xc2, 0x83, 0x6c, 0xd9, 0xff, 0xb0, 0x64, 0x60, 0xd2, 0xa6, 0x39, 0xd7,
- 0x0f, 0x92, 0xb5, 0x94,
- 0xc6, 0x18, 0xe5, 0x6e, 0x42, 0xb3, 0x5b, 0x04, 0x79, 0x9d, 0xdb, 0x41,
- 0x48, 0xc0, 0x8b, 0x51,
- 0x56, 0xba, 0x0a, 0xb5, 0x32, 0xdf, 0x4b, 0x8a, 0xd4, 0x1d, 0xa5, 0xb4,
- 0xa0, 0x99, 0xbf, 0xd9,
- 0x4e, 0x66, 0xba, 0x81, 0x3a, 0xd5, 0xc9, 0x11, 0xa8, 0x87, 0xac, 0x46,
- 0xf1, 0xb6, 0x3b, 0x02,
- 0x27, 0x33, 0x5d, 0xa1, 0x1d, 0x8b, 0x85, 0xe9, 0x54, 0xa2, 0x56, 0x23,
- 0x99, 0x5b, 0xfc, 0x01,
- 0xe6, 0x4a, 0x27, 0x9f, 0xe3, 0xab, 0x60, 0xa2, 0x68, 0x86, 0xc7, 0x7b,
- 0x35, 0x15, 0xb8, 0xb6,
- 0x93, 0x58, 0xf9, 0x3c, 0x71, 0xfc, 0x91, 0xa5, 0x43, 0x02, 0xd6, 0x7a,
- 0x4b, 0x85, 0xc5, 0xab,
- 0xbb, 0xff, 0xea, 0x60, 0x69, 0xe2, 0xd4, 0xcb, 0xc7, 0x6f, 0xcd, 0xaf,
- 0xb8, 0xf4, 0x8a, 0x05,
- 0xd1, 0x50, 0x1b, 0xa7, 0x4f, 0x2c, 0x19, 0x18, 0xd5, 0xc8, 0x9f, 0x45,
- 0x73, 0xc5, 0xbc, 0x25,
- 0x63, 0x0c, 0x93, 0x37, 0x21, 0xb8, 0xcc, 0x02, 0xdd, 0xaf, 0x8c, 0xc1,
- 0x24, 0x60, 0xa4, 0xc9,
- 0xc1, 0x79, 0x7a, 0x3e, 0xfe, 0x20, 0xe5, 0x4b, 0x3c, 0x24, 0x91, 0x58,
- 0xac, 0x4e, 0x44, 0xb7,
- 0x45, 0x69, 0x7d, 0xcb, 0x82, 0x43, 0x36, 0xf2, 0xd3, 0x73, 0x03, 0x26,
- 0xdc, 0xce, 0xb6, 0x68,
- 0xc8, 0xda, 0x18, 0xce, 0xf9, 0x56, 0xe4, 0x9a, 0xf3, 0x2c, 0x4f, 0x73,
- 0x43, 0x1f, 0xd6, 0x5e,
- 0x16, 0x1e, 0x4d, 0x94, 0xb3, 0xef, 0x3d, 0x05, 0xf6, 0x2b, 0x9d, 0xc0,
- 0x5a, 0xf0, 0xd9, 0xd4,
- 0x1b, 0x26, 0xa6, 0xd3, 0x09, 0x9a, 0x03, 0xb0, 0x92, 0x18, 0xa1, 0x7d,
- 0xf2, 0xf3, 0x75, 0xf8,
- 0x20, 0x52, 0xc2, 0xf1, 0xa1, 0x18, 0x3b, 0xa6, 0x11, 0x1b, 0x1c, 0x3a,
- 0x7d, 0xd5, 0x33, 0xe7,
- 0x9b, 0xad, 0x28, 0x91, 0xc8, 0xfa, 0xef, 0x6d, 0xd6, 0x74, 0xd1, 0x95,
- 0xc5, 0x21, 0xb9, 0xe2,
- 0xf3, 0xae, 0x7c, 0xec, 0x51, 0xd4, 0xdc, 0x8c, 0x70, 0x2f, 0xf2, 0x34,
- 0xcc, 0x39, 0x90, 0x41,
- 0xb8, 0x05, 0xfc, 0x87, 0x68, 0x72, 0x55, 0xe0, 0x29, 0xed, 0x65, 0x20,
- 0x1b, 0x28, 0x7b, 0x26,
- 0xf0, 0x54, 0x6a, 0x0b, 0x50, 0x44, 0x5d, 0xa7, 0x9e, 0xad, 0x5a, 0xbb,
- 0x6f, 0xe5, 0x61, 0x62,
- 0x2f, 0xc6, 0x8c, 0x0c, 0xa4, 0x8d, 0xfb, 0x21, 0xc1, 0xd4, 0x51, 0xcc,
- 0x17, 0xff, 0x80, 0x48,
- 0xba, 0xa9, 0x59, 0x3d, 0xd7, 0x92, 0xab, 0xd2, 0x9d, 0x11, 0x14, 0x6b,
- 0xd9, 0x01, 0x64, 0xa5,
- 0x4f, 0x30, 0x09, 0xdc, 0x84, 0xa5, 0xb6, 0x08, 0xf2, 0xf9, 0x75, 0x82,
- 0x90, 0x43, 0xd5, 0xa2,
- 0xbe, 0x32, 0xd0, 0x8a, 0x6a, 0x91, 0x94, 0xb6, 0x36, 0x2a, 0xf6, 0xfd,
- 0x9e, 0x53, 0x5a, 0x60,
- 0x12, 0x85, 0xc4, 0x23, 0x0e, 0xec, 0x02, 0x61, 0x5d, 0x10, 0x7f, 0x56,
- 0x1d, 0xa2, 0xe7, 0x11,
- 0x43, 0x5e, 0x51, 0xc6, 0x80, 0xa0, 0xf7, 0xa4, 0xcc, 0xb4, 0x90, 0xfb,
- 0x59, 0xb5, 0x97, 0x2e,
- 0xcf, 0xbb, 0x87, 0x9e, 0x45, 0xc5, 0x5a, 0xd5, 0xb6, 0x95, 0x05, 0x6a,
- 0xa7, 0x91, 0x19, 0xb8,
- 0xc9, 0x8c, 0xab, 0x93, 0x47, 0x26, 0x9b, 0x83, 0xa9, 0x52, 0x96, 0xb7,
- 0x22, 0xea, 0x38, 0xfe,
- 0x2a, 0x0b, 0xb6, 0xe6, 0xa7, 0xfe, 0xbb, 0x5c, 0x30, 0x91, 0x6a, 0x9e,
- 0x31, 0x58, 0x50, 0x2d,
- 0x11, 0x7f, 0xd2, 0xc4, 0x0f, 0x7c, 0x83, 0x4a, 0xb3, 0x92, 0xd7, 0xd9,
- 0xbe, 0x7e, 0x16, 0x32,
- 0x15, 0xe4, 0x5b, 0x73, 0xb2, 0x7f, 0xbc, 0x2e, 0x18, 0xa9, 0x35, 0x4f,
- 0xf9, 0x2c, 0x28, 0xf7,
- 0xf6, 0x63, 0x46, 0x06, 0x52, 0xa7, 0x9c, 0xf1, 0x81, 0x6a, 0xc9, 0x66,
- 0xea, 0x9e, 0x40, 0x24,
- 0x62, 0x5a, 0x20, 0x6a, 0x9f, 0xc8, 0xb3, 0x1b, 0x87, 0xd1, 0x55, 0x05,
- 0x45, 0x95, 0x4a, 0x69,
- 0xcc, 0x41, 0x91, 0x79, 0x44, 0x55, 0xdb, 0xfe, 0x58, 0x17, 0xad, 0xe5,
- 0x04, 0x4d, 0xe8, 0x9b,
- 0xe0, 0x7d, 0x0b, 0x92, 0xe1, 0x48, 0xa1, 0xf4, 0x77, 0x41, 0x54, 0xa6,
- 0xb0, 0x6e, 0x99, 0xf0,
- 0x8c, 0xe5, 0xd6, 0x58, 0xc5, 0x65, 0xad, 0x71, 0x7a, 0x21, 0x95, 0x91,
- 0xfe, 0x24, 0x8e, 0x96,
- 0x90, 0xa2, 0xef, 0xdb, 0x70, 0x6c, 0x10, 0x8e, 0xad, 0x80, 0x7e, 0xf5,
- 0xe8, 0x59, 0x34, 0x88,
- 0x47, 0xc5, 0xd8, 0x71, 0x3d, 0xa3, 0xc8, 0xc0, 0x67, 0x8f, 0x72, 0x6d,
- 0x1e, 0xe7, 0xa9, 0xeb,
- 0xff, 0xc0, 0x24, 0xf6, 0x55, 0xd1, 0x9d, 0x20, 0x4e, 0x62, 0x17, 0x4d,
- 0x05, 0xcf, 0xd2, 0xcd,
- 0x81, 0xdd, 0x3d, 0x1f, 0x7f, 0x10, 0x93, 0xc4, 0x1e, 0x12, 0xa9, 0x2c,
- 0x56, 0x27, 0x22, 0xba,
- 0x5e, 0x4f, 0xdb, 0x18, 0x8b, 0xd9, 0x35, 0x42, 0x41, 0x6b, 0xa2, 0x5b,
- 0x2e, 0x3d, 0xc3, 0x90,
- 0xfb, 0x5b, 0xad, 0x41, 0xe8, 0xd2, 0xa2, 0x44, 0xe5, 0x59, 0xf5, 0xdb,
- 0x42, 0x9d, 0xec, 0x08,
- 0x79, 0x7c, 0x86, 0xb9, 0x96, 0x52, 0xb0, 0xab, 0x15, 0xc9, 0xf4, 0x78,
- 0xb7, 0x66, 0x3f, 0x91,
- 0x36, 0x4c, 0x8f, 0x65, 0x12, 0xf7, 0x06, 0xa3, 0xe7, 0x30, 0x81, 0xfa,
- 0x27, 0x25, 0xea, 0x33,
- 0x32, 0xd7, 0x06, 0xd2, 0xaf, 0xf4, 0x39, 0xc7, 0x4c, 0x0b, 0x63, 0x6c,
- 0x60, 0x77, 0xd4, 0xf6,
- 0x0e, 0xc2, 0xfd, 0xa0, 0xbb, 0xe5, 0xbf, 0x9e, 0x8a, 0xb1, 0x94, 0x32,
- 0x0b, 0xdf, 0x5d, 0x0f,
- 0xd3, 0xfc, 0xbe, 0x1d, 0xf0, 0xcc, 0xe7, 0x2a, 0x61, 0x34, 0xee, 0x0e,
- 0xb1, 0xec, 0xa3, 0xa6,
- 0x33, 0x81, 0xb5, 0x8f, 0x11, 0x84, 0x46, 0xde, 0x16, 0x75, 0xba, 0xa8,
- 0x01, 0x82, 0x3a, 0x56,
- 0x53, 0x77, 0x30, 0x5f, 0x31, 0xac, 0x0b, 0xf7, 0x25, 0x58, 0x9e, 0xe6,
- 0x86, 0x3e, 0x6f, 0xbc,
- 0x87, 0xea, 0x11, 0x12, 0x7d, 0xf3, 0x52, 0x92, 0x01, 0xd5, 0x3a, 0xf1,
- 0xd3, 0x5c, 0x03, 0xfc,
- 0x21, 0x04, 0x71, 0xac, 0x1f, 0x68, 0x44, 0xbf, 0x4b, 0x65, 0xc5, 0xfe,
- 0x1c, 0x20, 0xdd, 0x47,
- 0xd4, 0x9d, 0x21, 0x4d, 0x4c, 0x5f, 0x59, 0x65, 0x24, 0x8d, 0xa4, 0x17,
- 0x55, 0x62, 0x6c, 0x40,
- 0x07, 0x61, 0x9f, 0x50, 0xbc, 0x93, 0xbe, 0x4f, 0x45, 0xb9, 0x4a, 0x19,
- 0xe4, 0x8e, 0xcf, 0xe6,
- 0x48, 0x51, 0x96, 0x8c, 0x38, 0x36, 0x08, 0x47, 0xb7, 0x40, 0x3f, 0x9b,
- 0x74, 0xcd, 0x1a, 0x44,
- 0xdd, 0x3e, 0x43, 0xbd, 0x4b, 0x29, 0x58, 0xb4, 0xeb, 0x85, 0x7a, 0x3c,
- 0xba, 0x33, 0xfe, 0xa9,
- 0x6e, 0x34, 0x78, 0x70, 0x9b, 0xcd, 0xf2, 0xb7, 0xb9, 0x9c, 0xb0, 0x7c,
- 0x8c, 0x63, 0x08, 0xe5,
- 0xc4, 0xb4, 0x40, 0xd4, 0xfd, 0x53, 0xa5, 0x36, 0xcd, 0x61, 0xaa, 0x0a,
- 0x8a, 0xe9, 0x94, 0xd2,
- 0x58, 0x78, 0xf7, 0x15, 0x89, 0x3a, 0xf4, 0x14, 0x5e, 0xac, 0x31, 0x86,
- 0xab, 0x46, 0xe2, 0xd6,
- 0x9c, 0xcc, 0xb7, 0xc1, 0x74, 0x69, 0x51, 0x22, 0x93, 0xcd, 0x9b, 0x8c,
- 0x21, 0xaf, 0x76, 0x04,
- 0x05, 0xcd, 0x3a, 0xea, 0x03, 0x73, 0x40, 0x7d, 0xf1, 0x45, 0x3b, 0x52,
- 0x26, 0xa7, 0xd0, 0x65,
- 0x19, 0x8a, 0x03, 0x69, 0xb6, 0x7a, 0xfd, 0x82, 0x26, 0xe4, 0xd0, 0x36,
- 0x30, 0xda, 0x6a, 0x7b,
- 0xd8, 0xf3, 0x79, 0x57, 0x48, 0x5a, 0x18, 0xc9, 0x1a, 0xc0, 0x41, 0x6e,
- 0x9c, 0x94, 0x2e, 0xcc,
- 0x80, 0x8b, 0x8e, 0x42, 0xc1, 0x60, 0xec, 0xdd, 0x44, 0x6c, 0x70, 0xe8,
- 0x37, 0xd2, 0xcc, 0x1a,
- 0x9e, 0x60, 0x12, 0x7b, 0xcb, 0x89, 0xaf, 0x10, 0x27, 0x31, 0xea, 0xc7,
- 0xe3, 0x86, 0x69, 0x87,
- 0x44, 0x3f, 0xce, 0x96, 0x3c, 0x33, 0x49, 0xeb, 0x89, 0x0d, 0xda, 0xe2,
- 0xbd, 0x3b, 0x58, 0xc8,
- 0xca, 0x76, 0xbd, 0x74, 0x46, 0xb6, 0x1a, 0xa8, 0x47, 0xd0, 0x3e, 0x38,
- 0x81, 0x36, 0xc9, 0xdd,
- 0x3d, 0x43, 0x48, 0x2f, 0xaa, 0x61, 0xf9, 0x40, 0x9c, 0xc4, 0x2e, 0x9a,
- 0x0a, 0x5d, 0x67, 0x59,
- 0x2e, 0x90, 0x3f, 0x51, 0x1a, 0xfd, 0x84, 0x38, 0x9b, 0xaa, 0x88, 0x08,
- 0x76, 0x0a, 0x6e, 0xe8,
- 0x72, 0x73, 0x41, 0xf3, 0x2e, 0xc4, 0x4f, 0x48, 0x6e, 0x3d, 0x5b, 0x18,
- 0x9a, 0x1e, 0xb2, 0xfb,
- 0x42, 0x08, 0xe2, 0x9b, 0x3e, 0xd0, 0x88, 0xbd, 0x96, 0xca, 0x49, 0x3f,
- 0x38, 0x40, 0x79, 0x8e,
- 0x65, 0x3b, 0xbf, 0x3a, 0x23, 0x5b, 0x0d, 0x54, 0xc2, 0x68, 0x1f, 0x1c,
- 0xa1, 0x1b, 0x85, 0x8f,
- },
- { /* 10 */
- 0xd4, 0x19, 0x2d, 0xd4, 0xc2, 0xc3, 0xd3, 0x9c, 0xe1, 0x5d, 0xa9, 0x18,
- 0x2c, 0xd1, 0xbe, 0x8f,
- 0x40, 0x7b, 0xcb, 0x40, 0x94, 0x34, 0xa6, 0x04, 0x50, 0xb3, 0x14, 0xdb,
- 0x6b, 0x25, 0x60, 0xb5,
- 0x97, 0xc0, 0xd2, 0x97, 0x3c, 0x7b, 0x81, 0x84, 0xc2, 0x71, 0xd1, 0x87,
- 0x95, 0x0f, 0x3d, 0xb7,
- 0x4d, 0x69, 0xb6, 0x4d, 0xd9, 0x84, 0x1d, 0xc1, 0xcf, 0xff, 0x43, 0x34,
- 0xeb, 0xa7, 0x8a, 0xbf,
- 0x03, 0xa2, 0x34, 0x03, 0x6a, 0x8c, 0xf4, 0x1c, 0x73, 0x9f, 0x6c, 0x44,
- 0xd2, 0xfb, 0xe3, 0x8d,
- 0xd1, 0x3c, 0x71, 0xd1, 0x7c, 0x94, 0x0c, 0xb8, 0x74, 0x3f, 0x1d, 0xd4,
- 0x99, 0x1f, 0x58, 0xdb,
- 0xf8, 0x08, 0x79, 0xf8, 0xe3, 0xac, 0xd6, 0xee, 0xc6, 0xdc, 0xd0, 0x47,
- 0x36, 0x48, 0x84, 0x45,
- 0xca, 0xc7, 0x26, 0xca, 0xc0, 0xf2, 0x54, 0x44, 0x19, 0xd2, 0x97, 0xf5,
- 0x14, 0x30, 0xaf, 0xb4,
- 0x53, 0xb7, 0xbd, 0x53, 0xdb, 0xb5, 0x9a, 0x19, 0x37, 0x70, 0x7d, 0xd9,
- 0xd3, 0x46, 0x9b, 0x84,
- 0x66, 0x20, 0x27, 0x66, 0x0a, 0xf5, 0xde, 0x3e, 0x9e, 0xf6, 0xc6, 0xdf,
- 0xd8, 0xe3, 0x55, 0xd7,
- 0xa5, 0x0f, 0x8d, 0xa5, 0x1f, 0x25, 0x03, 0x2e, 0x1d, 0x7f, 0x96, 0x35,
- 0xb7, 0x77, 0x16, 0x46,
- 0x10, 0x6e, 0x42, 0x10, 0x25, 0x0d, 0xc8, 0x01, 0x14, 0x5c, 0x05, 0x46,
- 0x6a, 0x98, 0x18, 0xbc,
- 0x6c, 0x6a, 0x9f, 0x6c, 0xb5, 0x5b, 0xa3, 0x76, 0x77, 0x32, 0x6d, 0x84,
- 0x71, 0xbc, 0x5a, 0x7f,
- 0x90, 0x98, 0x17, 0x90, 0xce, 0x65, 0x47, 0x09, 0xb4, 0xf9, 0x2d, 0x33,
- 0xbc, 0xd2, 0xd8, 0x15,
- 0x5e, 0xa5, 0xc0, 0x5e, 0x96, 0x05, 0x21, 0xdc, 0xa8, 0x3c, 0x2a, 0x36,
- 0x53, 0xc4, 0x71, 0x8e,
- 0xbd, 0x56, 0xee, 0xbd, 0xc9, 0xcf, 0xaf, 0xce, 0x03, 0x0d, 0x70, 0x50,
- 0xe8, 0xa3, 0x02, 0xa4,
- 0xc7, 0xd5, 0x5b, 0xc7, 0x8d, 0x42, 0xef, 0x81, 0x86, 0x9e, 0xc0, 0x1a,
- 0x94, 0xb2, 0x45, 0xbe,
- 0x20, 0xdc, 0x84, 0x20, 0x4a, 0x1a, 0x53, 0x02, 0x28, 0xb8, 0x0a, 0x8c,
- 0xd4, 0xf3, 0x30, 0xbb,
- 0x36, 0x35, 0xae, 0x36, 0xbb, 0xcc, 0xb0, 0x3b, 0xda, 0x19, 0xd7, 0x42,
- 0xd9, 0x5e, 0x2d, 0xde,
- 0xe6, 0xd6, 0x72, 0xe6, 0xe1, 0x9d, 0x51, 0x36, 0x3e, 0x53, 0xee, 0xaa,
- 0x0e, 0xa9, 0x95, 0x7e,
- 0xf3, 0x9d, 0x6c, 0xf3, 0x7a, 0xc7, 0x46, 0x13, 0xbf, 0x6d, 0x5f, 0x20,
- 0xd1, 0xff, 0x6b, 0x96,
- 0x78, 0xfe, 0x2c, 0x78, 0x08, 0xc4, 0x59, 0xe6, 0x66, 0x79, 0xf8, 0x32,
- 0xe0, 0x02, 0x44, 0xec,
- 0x60, 0xa7, 0x4f, 0x60, 0xde, 0x2e, 0xf5, 0x06, 0x78, 0x0b, 0x1e, 0x57,
- 0xbf, 0xd6, 0x50, 0x0e,
- 0x0c, 0xcd, 0xd0, 0x0c, 0x6b, 0x75, 0x56, 0x70, 0x0f, 0x39, 0x73, 0xd3,
- 0xce, 0x6a, 0x0a, 0x71,
- 0x3c, 0x7f, 0x16, 0x3c, 0x04, 0x62, 0xcd, 0x73, 0x33, 0xdd, 0x7c, 0x19,
- 0x70, 0x01, 0x22, 0x76,
- 0x7f, 0xa6, 0xe9, 0x7f, 0xfa, 0xda, 0x9f, 0x6b, 0x10, 0xf1, 0x04, 0x86,
- 0xc9, 0xdf, 0xa1, 0x4e,
- 0xc0, 0x8d, 0x9e, 0xc0, 0x7f, 0x5c, 0x29, 0x0c, 0xf0, 0x16, 0x3c, 0xae,
- 0xbd, 0x6f, 0xa0, 0x1c,
- 0xfa, 0x75, 0xe0, 0xfa, 0xaf, 0xe5, 0xcf, 0x47, 0x25, 0x36, 0x98, 0x3f,
- 0xaa, 0x5b, 0x87, 0xb3,
- 0xe5, 0x74, 0x46, 0xe5, 0x8b, 0x11, 0xa5, 0x2a, 0x4d, 0xcc, 0x82, 0xee,
- 0xdc, 0x52, 0x76, 0xf3,
- 0x2c, 0x11, 0x54, 0x2c, 0x21, 0x6f, 0x05, 0x72, 0x27, 0x81, 0x79, 0x5f,
- 0x1a, 0x99, 0x3a, 0xca,
- 0x29, 0x34, 0x08, 0x29, 0x9f, 0x38, 0xda, 0x56, 0xb2, 0xe3, 0xcd, 0x93,
- 0xaf, 0x57, 0xdc, 0x9e,
- 0xce, 0x3d, 0xd7, 0xce, 0x58, 0x60, 0x66, 0xd5, 0x1c, 0xc5, 0x07, 0x05,
- 0xef, 0x16, 0xa9, 0x9b,
- 0x7c, 0x04, 0xdd, 0x7c, 0x90, 0x56, 0x6b, 0x77, 0x63, 0x6e, 0x68, 0xc2,
- 0x1b, 0x24, 0x42, 0xc3,
- 0x07, 0x58, 0xc5, 0x07, 0xf2, 0x1e, 0xc6, 0x8d, 0x76, 0x88, 0xfc, 0xb4,
- 0x29, 0xdd, 0xe5, 0xa2,
- 0xb4, 0xbe, 0x62, 0xb4, 0x1c, 0xed, 0x26, 0x9a, 0x99, 0x56, 0xb7, 0x4f,
- 0x93, 0x07, 0xee, 0x81,
- 0x81, 0x29, 0xf8, 0x81, 0xcd, 0xad, 0x62, 0xbd, 0x30, 0xd0, 0x0c, 0x49,
- 0x98, 0xa2, 0x20, 0xd2,
- 0xa2, 0x57, 0x48, 0xa2, 0xed, 0x3b, 0xc5, 0xa3, 0x6b, 0xf7, 0x6a, 0x81,
- 0x9e, 0xaa, 0xf3, 0xe4,
- 0xf0, 0x3f, 0x58, 0xf0, 0x10, 0x4b, 0xb2, 0x0f, 0xcc, 0xf2, 0x33, 0x64,
- 0x03, 0x04, 0x88, 0x1b,
- 0xb6, 0xc3, 0xfb, 0xb6, 0x50, 0xa4, 0x3f, 0x33, 0x7a, 0xbc, 0xff, 0x37,
- 0x0f, 0x14, 0xed, 0x77,
- 0x43, 0xd9, 0xff, 0x43, 0xfe, 0xb8, 0x52, 0x18, 0x23, 0x2c, 0x78, 0x9f,
- 0xb9, 0xde, 0x83, 0x38,
- 0x67, 0xff, 0x8a, 0x67, 0x2c, 0x30, 0x33, 0x8b, 0x0e, 0x83, 0xe2, 0xe3,
- 0x96, 0x0b, 0xb5, 0xac,
- 0x59, 0xfd, 0x05, 0x59, 0x64, 0x1b, 0xe7, 0x51, 0xde, 0xb4, 0xd6, 0x82,
- 0x7a, 0x19, 0x94, 0x2c,
- 0xec, 0x9c, 0xca, 0xec, 0x5e, 0x33, 0x2c, 0x7e, 0xd7, 0x97, 0x45, 0xf1,
- 0xa7, 0xf6, 0x9a, 0xd6,
- 0x86, 0x71, 0x3d, 0x86, 0x3f, 0xb3, 0xa4, 0x30, 0x46, 0x58, 0xf0, 0xfd,
- 0xb1, 0x7f, 0xc5, 0x70,
- 0xf4, 0xc5, 0xa9, 0xf4, 0x88, 0xd9, 0x80, 0x9e, 0xc9, 0xe5, 0xa3, 0x94,
- 0xf8, 0x22, 0x8e, 0x34,
- 0xf6, 0xb8, 0x30, 0xf6, 0xc4, 0x90, 0x99, 0x37, 0x2a, 0x0f, 0xeb, 0xec,
- 0x64, 0x31, 0x8d, 0xc2,
- 0x5c, 0xd8, 0x59, 0x5c, 0xda, 0x4c, 0x38, 0x75, 0x4b, 0xd6, 0x62, 0x4e,
- 0xcf, 0xd7, 0x72, 0x78,
- 0x92, 0xe5, 0x8e, 0x92, 0x82, 0x2c, 0x5e, 0xa0, 0x57, 0x13, 0x65, 0x4b,
- 0x20, 0xc1, 0xdb, 0xe3,
- 0xa8, 0x1d, 0xf0, 0xa8, 0x52, 0x95, 0xb8, 0xeb, 0x82, 0x33, 0xc1, 0xda,
- 0x37, 0xf5, 0xfc, 0x4c,
- 0xcf, 0xe2, 0x7a, 0xcf, 0x7e, 0xa5, 0x8b, 0x60, 0x8c, 0xb0, 0x23, 0x39,
- 0xa1, 0xfe, 0x49, 0xe0,
- 0x2f, 0xb3, 0x60, 0x2f, 0x4b, 0xe3, 0xf1, 0x6e, 0x54, 0x1e, 0x15, 0x1b,
- 0xc8, 0x62, 0xd9, 0x47,
- 0xe9, 0xb9, 0x96, 0xe9, 0xe0, 0x64, 0xf3, 0x5a, 0x42, 0xf5, 0xf1, 0x3d,
- 0x12, 0x38, 0x7c, 0x82,
- 0x54, 0xef, 0x78, 0x54, 0x29, 0xab, 0x5c, 0x94, 0x41, 0xf8, 0x81, 0x6d,
- 0xfa, 0x9b, 0x7e, 0x26,
- 0x8f, 0x99, 0xb1, 0x8f, 0xea, 0x91, 0x2d, 0x64, 0xdc, 0x03, 0x37, 0xe2,
- 0xca, 0xdb, 0x29, 0x55,
- 0xaa, 0x60, 0x69, 0xaa, 0x1e, 0xdc, 0xa1, 0x42, 0x61, 0xd9, 0x89, 0xa2,
- 0xab, 0xe6, 0xff, 0xba,
- 0x24, 0x26, 0x75, 0x24, 0xd2, 0x88, 0x61, 0x93, 0x2d, 0xaf, 0x9a, 0x7c,
- 0x2f, 0xd5, 0x36, 0x94,
- 0x71, 0x16, 0xa0, 0x71, 0xdd, 0xe6, 0xd0, 0xb2, 0xfc, 0x22, 0x3f, 0x2d,
- 0x9b, 0xa6, 0xa8, 0xc9,
- 0x65, 0x82, 0x13, 0x65, 0x60, 0x79, 0x2a, 0x22, 0xed, 0x69, 0xaa, 0x9b,
- 0x0a, 0x18, 0xb6, 0x5a,
- 0x99, 0x70, 0x9b, 0x99, 0x1b, 0x47, 0xce, 0x5d, 0x2e, 0xa2, 0xea, 0x2c,
- 0xc7, 0x76, 0x34, 0x30,
- 0x96, 0x1f, 0x7f, 0x96, 0x1a, 0xbe, 0x6c, 0x31, 0x52, 0x04, 0xf5, 0xbb,
- 0xdb, 0xe7, 0xdd, 0xcc,
- 0x9c, 0x55, 0xc7, 0x9c, 0xa5, 0x10, 0x11, 0x79, 0xbb, 0xc0, 0x5e, 0xe0,
- 0x72, 0xb8, 0xd2, 0x64,
- 0xdd, 0xf1, 0xa1, 0xdd, 0x17, 0xe1, 0x5a, 0xc8, 0x7b, 0x06, 0x6e, 0x07,
- 0x57, 0x75, 0x52, 0xaa,
- 0x5a, 0x5f, 0x31, 0x5a, 0x0e, 0x97, 0x13, 0x4d, 0xad, 0x2b, 0xba, 0xc6,
- 0xa8, 0xe2, 0x77, 0xa1,
- 0x80, 0xf6, 0x55, 0x80, 0xeb, 0x68, 0x8f, 0x08, 0xa0, 0xa5, 0x28, 0x75,
- 0xd6, 0x4a, 0xc0, 0xa9,
- 0xe8, 0x66, 0x3b, 0xe8, 0xc6, 0xa1, 0x1e, 0xef, 0xd2, 0x80, 0xd5, 0x01,
- 0x5c, 0xd0, 0x9c, 0xf9,
- 0x50, 0x15, 0x89, 0x50, 0xb1, 0x39, 0x6e, 0x05, 0x44, 0xef, 0x11, 0x9d,
- 0x01, 0xbd, 0x78, 0x09,
- 0x57, 0x4d, 0x4c, 0x57, 0x43, 0x27, 0xa8, 0x88, 0x32, 0x67, 0xed, 0x29,
- 0x28, 0x60, 0x9d, 0xab,
- 0xe4, 0xab, 0xeb, 0xe4, 0xad, 0xd4, 0x48, 0x9f, 0xdd, 0xb9, 0xa6, 0xd2,
- 0x92, 0xba, 0x96, 0x88,
- 0x1e, 0xde, 0x0b, 0x1e, 0x02, 0x31, 0x87, 0xd8, 0xf8, 0x8f, 0x3e, 0xed,
- 0x38, 0xe1, 0x11, 0x3b,
- 0x84, 0x0c, 0xa4, 0x84, 0x73, 0xfa, 0xbd, 0x99, 0xa5, 0xb2, 0xb8, 0x85,
- 0x2d, 0x6c, 0xc6, 0x86,
- 0x15, 0x4b, 0x1e, 0x15, 0x9b, 0x5a, 0x17, 0x25, 0x81, 0x3e, 0xb1, 0x8a,
- 0xdf, 0x56, 0xfe, 0xe8,
- 0x41, 0xa4, 0x66, 0x41, 0xb2, 0xf1, 0x4b, 0xb1, 0xc0, 0xc6, 0x30, 0xe7,
- 0x25, 0xcd, 0x80, 0xce,
- 0x19, 0x86, 0xce, 0x19, 0xf0, 0x2f, 0x41, 0x55, 0x8e, 0x07, 0xc2, 0x59,
- 0x11, 0x3c, 0xf4, 0x99,
- 0x26, 0x5b, 0xec, 0x26, 0x9e, 0xc1, 0x78, 0x3a, 0xce, 0x45, 0xd2, 0x04,
- 0xb3, 0xc6, 0x35, 0x62,
- 0xa0, 0x2a, 0xd1, 0xa0, 0xa1, 0x72, 0xdc, 0x0a, 0x88, 0x1d, 0x22, 0xf9,
- 0x02, 0xb9, 0xf0, 0x12,
- 0x0b, 0x95, 0x15, 0x0b, 0x99, 0x6b, 0x90, 0xfd, 0x79, 0xb1, 0x8f, 0x67,
- 0xe7, 0xb7, 0xef, 0xd3,
- 0x22, 0xa1, 0x1d, 0x22, 0x06, 0x53, 0x4a, 0xab, 0xcb, 0x52, 0x42, 0xf4,
- 0x48, 0xe0, 0x33, 0x4d,
- 0x9d, 0x8a, 0x6a, 0x9d, 0x83, 0xd5, 0xfc, 0xcc, 0x2b, 0xb5, 0x7a, 0xdc,
- 0x3c, 0x50, 0x32, 0x1f,
- 0xf5, 0x1a, 0x04, 0xf5, 0xae, 0x1c, 0x6d, 0x2b, 0x59, 0x90, 0x87, 0xa8,
- 0xb6, 0xca, 0x6e, 0x4f,
- 0xda, 0xa9, 0x64, 0xda, 0xe5, 0xff, 0x9c, 0x45, 0x0d, 0x8e, 0x92, 0xb3,
- 0x7e, 0xa8, 0xb7, 0x08,
- 0x37, 0xea, 0x03, 0x37, 0x9d, 0x09, 0x5d, 0x8e, 0x4a, 0x6c, 0xf3, 0x7e,
- 0x97, 0xb6, 0xcd, 0xa5,
- 0xa7, 0x72, 0x14, 0xa7, 0x53, 0x6c, 0x1a, 0x87, 0xfe, 0x95, 0xde, 0x4d,
- 0x2b, 0x64, 0x15, 0xb0,
- 0xcd, 0x9f, 0xe3, 0xcd, 0x32, 0xec, 0x92, 0xc9, 0x6f, 0x5a, 0x6b, 0x41,
- 0x3d, 0xed, 0x4a, 0x16,
- 0x63, 0x05, 0x7b, 0x63, 0xb4, 0xa2, 0x01, 0x1a, 0x0b, 0x94, 0x72, 0x13,
- 0x6d, 0x2d, 0xb3, 0x83,
- 0xbc, 0x89, 0x43, 0xbc, 0xef, 0x0a, 0x42, 0x7b, 0x93, 0x78, 0x54, 0x6c,
- 0xa6, 0x4b, 0xe2, 0xdf,
- 0xe2, 0x2c, 0x83, 0xe2, 0x79, 0x0f, 0x63, 0xa7, 0x3b, 0x44, 0x7e, 0x5a,
- 0xf5, 0x8f, 0x93, 0x51,
- 0xd6, 0x64, 0xb4, 0xd6, 0x8e, 0x8a, 0xca, 0x35, 0x02, 0xb7, 0xe1, 0x60,
- 0xb0, 0xc2, 0xbd, 0x79,
- 0x94, 0x62, 0xe6, 0x94, 0x56, 0xf7, 0x75, 0x98, 0xb1, 0xee, 0xbd, 0xc3,
- 0x47, 0xf4, 0xde, 0x3a,
- 0xa4, 0xd0, 0x20, 0xa4, 0x39, 0xe0, 0xee, 0x9b, 0x8d, 0x0a, 0xb2, 0x09,
- 0xf9, 0x9f, 0xf6, 0x3d,
- 0x88, 0xc1, 0x74, 0x88, 0x18, 0x8f, 0xeb, 0xe9, 0xaa, 0x8b, 0xcb, 0x56,
- 0xe3, 0x06, 0xcc, 0xf7,
- 0x62, 0xda, 0xd6, 0x62, 0x92, 0x67, 0xec, 0xaf, 0x9b, 0xe1, 0x56, 0x2f,
- 0x23, 0xc5, 0x53, 0xf8,
- 0x2e, 0x6c, 0xcd, 0x2e, 0x6d, 0x26, 0x1c, 0xdb, 0xc4, 0x6b, 0x31, 0x27,
- 0x86, 0x8a, 0x39, 0x3c,
- 0xc8, 0xba, 0xbf, 0xc8, 0x8c, 0xbb, 0x4d, 0xed, 0xfa, 0x38, 0xdf, 0x8d,
- 0x88, 0x23, 0xac, 0x42,
- 0x18, 0x59, 0x63, 0x18, 0xd6, 0xea, 0xac, 0xe0, 0x1e, 0x72, 0xe6, 0x65,
- 0x5f, 0xd4, 0x14, 0xe2,
- 0x06, 0x87, 0x68, 0x06, 0xd4, 0xdb, 0x2b, 0x38, 0xe6, 0xfd, 0xd8, 0x88,
- 0x67, 0x35, 0x05, 0xd9,
- 0x16, 0xe9, 0x2a, 0x16, 0xf1, 0xd6, 0xe3, 0x39, 0xf2, 0xa1, 0xdd, 0xce,
- 0x0d, 0xad, 0x1d, 0x65,
- 0x13, 0xcc, 0x76, 0x13, 0x4f, 0x81, 0x3c, 0x1d, 0x67, 0xc3, 0x69, 0x02,
- 0xb8, 0x63, 0xfb, 0x31,
- 0xd2, 0x9e, 0x45, 0xd2, 0x16, 0x18, 0xf8, 0xa4, 0x07, 0xa0, 0x71, 0x90,
- 0x4b, 0xe4, 0xbb, 0x56,
- 0x5b, 0x80, 0x9c, 0x5b, 0x28, 0x52, 0xfe, 0xf8, 0x3d, 0x5e, 0x9e, 0xfa,
- 0xe6, 0x0a, 0x97, 0xda,
- 0xff, 0x50, 0xbc, 0xff, 0x11, 0xb2, 0x10, 0x63, 0xb0, 0x54, 0x2c, 0xf3,
- 0x1f, 0x95, 0x61, 0xe7,
- 0xbb, 0xd1, 0x86, 0xbb, 0x1d, 0x14, 0x84, 0xf6, 0xe5, 0xf0, 0xa8, 0xd8,
- 0x8f, 0x96, 0x07, 0x7d,
- 0xc2, 0xf0, 0x07, 0xc2, 0x33, 0x15, 0x30, 0xa5, 0x13, 0xfc, 0x74, 0xd6,
- 0x21, 0x7c, 0xa3, 0xea,
- 0xb9, 0xac, 0x1f, 0xb9, 0x51, 0x5d, 0x9d, 0x5f, 0x06, 0x1a, 0xe0, 0xa0,
- 0x13, 0x85, 0x04, 0x8b,
- 0xbf, 0x2b, 0x77, 0xbf, 0x85, 0x86, 0xb6, 0x67, 0xe0, 0xe7, 0x38, 0x28,
- 0x74, 0xb0, 0x01, 0x52,
- 0xef, 0x3e, 0xfe, 0xef, 0x34, 0xbf, 0xd8, 0x62, 0xa4, 0x08, 0x29, 0xb5,
- 0x75, 0x0d, 0x79, 0x5b,
- 0xdc, 0x2e, 0x0c, 0xdc, 0x31, 0x24, 0xb7, 0x7d, 0xeb, 0x73, 0x4a, 0x3b,
- 0x19, 0x9d, 0xb2, 0xd1,
- 0x1b, 0xfb, 0x57, 0x1b, 0xbc, 0x66, 0x58, 0xfc, 0x6d, 0xed, 0x8a, 0x21,
- 0x8d, 0x2f, 0xf7, 0x6f,
- 0x27, 0x84, 0x41, 0x27, 0xb8, 0x04, 0x95, 0x8f, 0x5e, 0x30, 0xf6, 0x38,
- 0xfd, 0x2e, 0xd5, 0x19,
- 0x3e, 0x02, 0x8f, 0x3e, 0x48, 0x2b, 0xd4, 0xda, 0xd0, 0x37, 0x34, 0x61,
- 0xec, 0x12, 0x21, 0x80,
- 0xe7, 0x09, 0xdf, 0xe7, 0xc7, 0x58, 0xbc, 0x83, 0xae, 0x26, 0xca, 0x96,
- 0x40, 0x41, 0x75, 0x05,
- 0xb0, 0x44, 0x93, 0xb0, 0x84, 0x7f, 0x14, 0x0b, 0x9c, 0x41, 0x27, 0xbf,
- 0x68, 0x21, 0xe8, 0xae,
- 0x69, 0x4f, 0xc3, 0x69, 0x0b, 0x0c, 0x7c, 0x52, 0xe2, 0x50, 0xd9, 0x48,
- 0xc4, 0x72, 0xbc, 0x2b,
- 0x21, 0x03, 0x29, 0x21, 0x6c, 0xdf, 0xbe, 0xb7, 0xb8, 0xcd, 0x2e, 0xb0,
- 0x9a, 0x1b, 0xd0, 0xc0,
- 0x0f, 0x6f, 0xe4, 0x0f, 0x01, 0xf9, 0xa2, 0x6c, 0x7c, 0xa6, 0x1f, 0x97,
- 0x1c, 0x91, 0xe9, 0xfc,
- 0xf1, 0xe0, 0xf5, 0xf1, 0x36, 0x8e, 0x5f, 0xba, 0x5c, 0x87, 0x17, 0x58,
- 0x4d, 0xec, 0x68, 0x60,
- 0x1a, 0x24, 0xfa, 0x1a, 0x9a, 0xa3, 0xb5, 0x49, 0xfd, 0x98, 0xae, 0x1d,
- 0xc3, 0xc7, 0x17, 0x14,
- 0x0d, 0x12, 0x7d, 0x0d, 0x4d, 0xb0, 0xbb, 0xc5, 0x9f, 0x4c, 0x57, 0xef,
- 0x80, 0x82, 0xea, 0x0a,
- 0xa6, 0xad, 0xb9, 0xa6, 0x75, 0xa9, 0xf7, 0x32, 0x6e, 0xe0, 0xfa, 0x71,
- 0x65, 0x8c, 0xf5, 0xcb,
- 0x02, 0x7d, 0x99, 0x02, 0x4c, 0x49, 0x19, 0xa9, 0xe3, 0xea, 0x48, 0x78,
- 0x9c, 0x13, 0x03, 0xf6,
- 0x6a, 0xed, 0xf7, 0x6a, 0x61, 0x80, 0x88, 0x4e, 0x91, 0xcf, 0xb5, 0x0c,
- 0x16, 0x89, 0x5f, 0xa6,
- 0x08, 0x37, 0x21, 0x08, 0xf3, 0xe7, 0x64, 0xe1, 0x0a, 0x2e, 0xe3, 0x23,
- 0x35, 0x4c, 0x0c, 0x5e,
- 0x4c, 0xb6, 0x1b, 0x4c, 0xff, 0x41, 0xf0, 0x74, 0x5f, 0x8a, 0x67, 0x08,
- 0xa5, 0x4f, 0x6a, 0xc4,
- 0x49, 0x93, 0x47, 0x49, 0x41, 0x16, 0x2f, 0x50, 0xca, 0xe8, 0xd3, 0xc4,
- 0x10, 0x81, 0x8c, 0x90,
- 0x91, 0x47, 0xba, 0x91, 0xe8, 0xa0, 0xaa, 0xbc, 0x24, 0x8c, 0x09, 0x0f,
- 0xf2, 0x3a, 0x38, 0x6e,
- 0xe1, 0x8e, 0xb7, 0xe1, 0x13, 0x83, 0x97, 0xbb, 0x48, 0xdb, 0x12, 0x1e,
- 0x27, 0x74, 0x70, 0xdc,
- 0x8b, 0x63, 0x40, 0x8b, 0x72, 0x03, 0x1f, 0xf5, 0xd9, 0x14, 0xa7, 0x12,
- 0x31, 0xfd, 0x2f, 0x7a,
- 0x14, 0x94, 0xb3, 0x14, 0xbd, 0x9f, 0xfa, 0x90, 0x11, 0x4b, 0x95, 0xb6,
- 0x91, 0xbe, 0x1e, 0x93,
- 0x95, 0xbd, 0x4b, 0x95, 0x70, 0x32, 0x98, 0x2d, 0x21, 0x9b, 0x99, 0xff,
- 0x09, 0x1c, 0x3e, 0x41,
- 0xb8, 0x73, 0xb2, 0xb8, 0x77, 0x98, 0x70, 0xea, 0x96, 0x6f, 0xc4, 0x9c,
- 0x5d, 0x6d, 0xe4, 0xf0,
- 0x9e, 0x28, 0x5e, 0x9e, 0xe9, 0x59, 0x08, 0xd0, 0x58, 0x2a, 0x16, 0x98,
- 0xee, 0xab, 0xd1, 0x92,
- 0xeb, 0xc4, 0x0f, 0xeb, 0xac, 0x2d, 0xea, 0xf3, 0xa1, 0x1f, 0xb9, 0x45,
- 0x8e, 0x2b, 0x7f, 0x74,
- 0x6e, 0x17, 0x06, 0x6e, 0xf9, 0x12, 0xba, 0xdf, 0x94, 0xd8, 0x25, 0xfc,
- 0xed, 0xaf, 0x59, 0x89,
- 0xc3, 0x2f, 0xaa, 0xc3, 0x15, 0xd0, 0xdd, 0x10, 0x83, 0x89, 0x50, 0xea,
- 0x6f, 0x94, 0x43, 0x91,
- 0x98, 0xaf, 0x36, 0x98, 0x3d, 0x82, 0x23, 0xe8, 0xbe, 0xd7, 0xce, 0x10,
- 0x89, 0x9e, 0xd4, 0x4b,
- 0x70, 0xc9, 0x0d, 0x70, 0xfb, 0x23, 0x3d, 0x07, 0x6c, 0x57, 0x1b, 0x11,
- 0xd5, 0x4e, 0x48, 0xb2,
- 0x72, 0xb4, 0x94, 0x72, 0xb7, 0x6a, 0x24, 0xae, 0x8f, 0xbd, 0x53, 0x69,
- 0x49, 0x5d, 0x4b, 0x44,
- 0x04, 0xfa, 0xf1, 0x04, 0x98, 0x92, 0x32, 0x91, 0x05, 0x17, 0x90, 0xf0,
- 0xfb, 0x26, 0x06, 0x2f,
- 0xed, 0x43, 0x67, 0xed, 0x78, 0xf6, 0xc1, 0xcb, 0x47, 0xe2, 0x61, 0xcd,
- 0xe9, 0x1e, 0x7a, 0xad,
- 0xf2, 0x42, 0xc1, 0xf2, 0x5c, 0x02, 0xab, 0xa6, 0x2f, 0x18, 0x7b, 0x1c,
- 0x9f, 0x17, 0x8b, 0xed,
- 0x47, 0x23, 0x0e, 0x47, 0x66, 0x2a, 0x60, 0x89, 0x26, 0x3b, 0xe8, 0x6f,
- 0x42, 0xf8, 0x85, 0x17,
- 0x45, 0x5e, 0x97, 0x45, 0x2a, 0x63, 0x79, 0x20, 0xc5, 0xd1, 0xa0, 0x17,
- 0xde, 0xeb, 0x86, 0xe1,
- 0x9a, 0xd2, 0xaf, 0x9a, 0x71, 0xcb, 0x3a, 0x41, 0x5d, 0x3d, 0x86, 0x68,
- 0x15, 0x8d, 0xd7, 0xbd,
- 0xd5, 0xc6, 0x80, 0xd5, 0xe4, 0x06, 0x3e, 0x29, 0x71, 0x28, 0x8d, 0x24,
- 0x62, 0x39, 0x5e, 0xf4,
- 0xd9, 0x0b, 0x50, 0xd9, 0x8f, 0x73, 0x68, 0x59, 0x7e, 0x11, 0xfe, 0xf7,
- 0xac, 0x53, 0x54, 0x85,
- 0x8d, 0xe4, 0x28, 0x8d, 0xa6, 0xd8, 0x34, 0xcd, 0x3f, 0xe9, 0x7f, 0x9a,
- 0x56, 0xc8, 0x2a, 0xa3,
- 0x3b, 0x27, 0xd3, 0x3b, 0xf6, 0x7c, 0x0b, 0xfe, 0x45, 0x55, 0x80, 0xad,
- 0x59, 0xdc, 0xc7, 0xd4,
- 0x6f, 0xc8, 0xab, 0x6f, 0xdf, 0xd7, 0x57, 0x6a, 0x04, 0xad, 0x01, 0xc0,
- 0xa3, 0x47, 0xb9, 0xf2,
- 0x4e, 0xcb, 0x82, 0x4e, 0xb3, 0x08, 0xe9, 0xdd, 0xbc, 0x60, 0x2f, 0x70,
- 0x39, 0x5c, 0x69, 0x32,
- 0x34, 0x48, 0x37, 0x34, 0xf7, 0x85, 0xa9, 0x92, 0x39, 0xf3, 0x9f, 0x3a,
- 0x45, 0x4d, 0x2e, 0x28,
- 0x74, 0x33, 0xfc, 0x74, 0x63, 0xb1, 0x0f, 0x96, 0x69, 0x40, 0x8b, 0xe1,
- 0x2e, 0x68, 0x4e, 0x9d,
- 0x9f, 0xf7, 0xf3, 0x9f, 0xcf, 0x9c, 0xe5, 0x65, 0xc8, 0x5f, 0x32, 0xa4,
- 0xa0, 0x43, 0x31, 0xe9,
- 0x7d, 0xdb, 0x70, 0x7d, 0xb6, 0x93, 0x86, 0xc2, 0xf3, 0x1b, 0x4c, 0xfe,
- 0x55, 0xcc, 0xa2, 0xb8,
- 0x61, 0x78, 0xe2, 0x61, 0xf8, 0xeb, 0x18, 0xb3, 0xe8, 0x7e, 0x3a, 0x6b,
- 0xf1, 0x3e, 0xb0, 0x75,
- 0x31, 0x6d, 0x6b, 0x31, 0x49, 0xd2, 0x76, 0xb6, 0xac, 0x91, 0x2b, 0xf6,
- 0xf0, 0x83, 0xc8, 0x7c,
- 0x09, 0xe8, 0x8c, 0x09, 0xd5, 0x22, 0x89, 0x54, 0x9a, 0x5b, 0xc7, 0x1f,
- 0x7b, 0xa4, 0xec, 0x25,
- 0x12, 0x13, 0xdb, 0x12, 0x69, 0x44, 0xd1, 0xa8, 0xf7, 0xb6, 0x4d, 0x3e,
- 0xf6, 0x8b, 0x1b, 0x4a,
- 0x64, 0x5d, 0xbe, 0x64, 0x46, 0xbc, 0xc7, 0x97, 0x7d, 0x1c, 0x8e, 0xa7,
- 0x44, 0xf0, 0x56, 0x21,
- 0xd7, 0xbb, 0x19, 0xd7, 0xa8, 0x4f, 0x27, 0x80, 0x92, 0xc2, 0xc5, 0x5c,
- 0xfe, 0x2a, 0x5d, 0x02,
- 0x93, 0x3a, 0x23, 0x93, 0xa4, 0xe9, 0xb3, 0x15, 0xc7, 0x66, 0x41, 0x77,
- 0x6e, 0x29, 0x3b, 0x98,
- 0x3a, 0xf8, 0x7e, 0x3a, 0xd0, 0xb9, 0xe6, 0x4b, 0xd5, 0x20, 0xa4, 0x91,
- 0x17, 0x34, 0x27, 0xaf,
- 0xa3, 0x88, 0xe5, 0xa3, 0xcb, 0xfe, 0x28, 0x16, 0xfb, 0x82, 0x4e, 0xbd,
- 0xd0, 0x42, 0x13, 0x9f,
- 0xad, 0x38, 0xac, 0xad, 0xec, 0xc2, 0x67, 0xcf, 0x17, 0x51, 0x75, 0x16,
- 0x82, 0x3b, 0x1a, 0x18,
- 0x1c, 0xa3, 0x92, 0x1c, 0x4e, 0x78, 0x9e, 0x71, 0x1b, 0x65, 0x76, 0x95,
- 0xa4, 0xf2, 0x12, 0xcd,
- 0x7e, 0x79, 0x44, 0x7e, 0xdc, 0x1f, 0x72, 0xde, 0x80, 0x84, 0x20, 0xba,
- 0x87, 0x37, 0x41, 0x35,
- 0x76, 0x4e, 0x65, 0x76, 0x2f, 0xf8, 0x16, 0x3f, 0x8a, 0xaa, 0xc3, 0x99,
- 0xb2, 0x7b, 0x4d, 0x6b,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x33, 0x10, 0xf2, 0x33, 0x05, 0x9b, 0x6f, 0x1f, 0x4f, 0x7b, 0x63, 0x8e,
- 0x6c, 0x90, 0xcb, 0x8a,
- 0xf7, 0x67, 0x9d, 0xf7, 0xe2, 0x55, 0x74, 0x82, 0xba, 0x7a, 0xcf, 0xd0,
- 0x2a, 0xd9, 0x6d, 0xb9,
- 0x28, 0xeb, 0xa5, 0x28, 0xb9, 0xfd, 0x37, 0xe3, 0x22, 0x96, 0xe9, 0xaf,
- 0xe1, 0xbf, 0x3c, 0xe5,
- 0x23, 0x7e, 0xb0, 0x23, 0x20, 0x96, 0xa7, 0x1e, 0x5b, 0x27, 0x66, 0xc8,
- 0x06, 0x08, 0xd3, 0x36,
- 0xb2, 0x39, 0x0a, 0xb2, 0xc8, 0x36, 0x0d, 0xa2, 0x7f, 0xab, 0x6f, 0xc7,
- 0xf4, 0x32, 0xeb, 0x58,
- 0xbe, 0xf4, 0xda, 0xbe, 0xa3, 0x43, 0x5b, 0xd2, 0x70, 0x92, 0x1c, 0x14,
- 0x3a, 0x58, 0xe1, 0x29,
- 0x42, 0x06, 0x52, 0x42, 0xd8, 0x7d, 0xbf, 0xad, 0xb3, 0x59, 0x5c, 0xa3,
- 0xf7, 0x36, 0x63, 0x43,
- 0x11, 0xb1, 0xef, 0x11, 0x03, 0xc8, 0x25, 0xb4, 0x84, 0x29, 0x21, 0x7a,
- 0x24, 0x70, 0xf8, 0xc7,
- 0xc4, 0x77, 0x6f, 0xc4, 0xe7, 0xce, 0x1b, 0x9d, 0xf5, 0x01, 0xac, 0x5e,
- 0x46, 0x49, 0xa6, 0x33,
- 0x5f, 0x7a, 0x6d, 0x5f, 0xb0, 0xc0, 0xcc, 0x69, 0x38, 0x49, 0x0e, 0x0a,
- 0x1d, 0x2c, 0x91, 0xf5,
- 0x30, 0xb2, 0xc6, 0x30, 0x6f, 0x17, 0x9b, 0x03, 0x3c, 0xe4, 0x0f, 0xca,
- 0xbe, 0x6b, 0x28, 0x07,
- 0x01, 0xdf, 0xad, 0x01, 0x26, 0xc5, 0xed, 0xb5, 0x90, 0x75, 0x24, 0x3c,
- 0x4e, 0xe8, 0xe0, 0x7b,
- 0xd8, 0xd4, 0xfd, 0xd8, 0xa9, 0xb6, 0x85, 0xec, 0xee, 0x64, 0xda, 0xcb,
- 0xe2, 0xbb, 0xb4, 0xfe,
- 0x05, 0x25, 0x5c, 0x05, 0xbe, 0x57, 0xdf, 0x24, 0x95, 0x62, 0xb4, 0xcc,
- 0xb5, 0xce, 0xe6, 0x54,
- 0x32, 0xcf, 0x5f, 0x32, 0x23, 0x5e, 0x82, 0xaa, 0xdf, 0x0e, 0x47, 0xb2,
- 0x22, 0x78, 0x2b, 0xf1,
- 0xdf, 0x8c, 0x38, 0xdf, 0x5b, 0xa8, 0x43, 0x61, 0x98, 0xec, 0x26, 0x7f,
- 0xcb, 0x66, 0x51, 0x5c,
- 0xba, 0x0e, 0x2b, 0xba, 0x3b, 0xd1, 0x69, 0x43, 0x75, 0x85, 0x8c, 0xe4,
- 0xc1, 0x7e, 0xe7, 0x06,
- 0x8e, 0x46, 0x1c, 0x8e, 0xcc, 0x54, 0xc0, 0xd1, 0x4c, 0x76, 0x13, 0xde,
- 0x84, 0x33, 0xc9, 0x2e,
- 0x73, 0x6b, 0x39, 0x73, 0x91, 0xaf, 0xc9, 0x1b, 0x1f, 0xc8, 0x77, 0x55,
- 0x07, 0xb5, 0xab, 0x3f,
- 0xfd, 0x2d, 0x25, 0xfd, 0x5d, 0xfb, 0x09, 0xca, 0x53, 0xbe, 0x64, 0x8b,
- 0x83, 0x86, 0x62, 0x11,
- 0x8c, 0x3b, 0x85, 0x8c, 0x80, 0x1d, 0xd9, 0x78, 0xaf, 0x9c, 0x5b, 0xa6,
- 0x18, 0x20, 0xca, 0xd8,
- 0xb3, 0xe6, 0xa7, 0xb3, 0xee, 0xf3, 0xe0, 0x17, 0xef, 0xde, 0x4b, 0xfb,
- 0xba, 0xda, 0x0b, 0x23,
- 0x56, 0x92, 0xe1, 0x56, 0x65, 0xe2, 0x45, 0x3d, 0xa2, 0x12, 0xc9, 0x15,
- 0x66, 0x88, 0x7d, 0xd0,
- 0x2b, 0x49, 0x91, 0x2b, 0xd3, 0x71, 0xc3, 0xff, 0x51, 0x09, 0x85, 0xeb,
- 0x33, 0x44, 0xdf, 0x68,
- 0x82, 0x8b, 0xcc, 0x82, 0xa7, 0x21, 0x96, 0xa1, 0x43, 0x4f, 0x60, 0x0d,
- 0x4a, 0x59, 0xc3, 0x5f,
- 0x6b, 0x32, 0x5a, 0x6b, 0x47, 0x45, 0x65, 0xfb, 0x01, 0xba, 0x91, 0x30,
- 0x58, 0x61, 0xbf, 0xdd,
- 0x87, 0xae, 0x90, 0x87, 0x19, 0x76, 0x49, 0x85, 0xd6, 0x2d, 0xd4, 0xc1,
- 0xff, 0x97, 0x25, 0x0b,
- 0xae, 0x9a, 0x98, 0xae, 0x86, 0x4e, 0x93, 0xd3, 0x64, 0xce, 0x19, 0x52,
- 0x50, 0xc0, 0xf9, 0x95,
- 0x46, 0xfc, 0xa3, 0x46, 0x40, 0xef, 0x8d, 0x3c, 0xb6, 0x4e, 0xcc, 0x53,
- 0x0c, 0x10, 0x65, 0x6c,
- 0xa9, 0xc2, 0x5d, 0xa9, 0x74, 0x50, 0x55, 0x5e, 0x12, 0x46, 0xe5, 0xe6,
- 0x79, 0x1d, 0x1c, 0x37,
- 0xe0, 0x51, 0x1a, 0xe0, 0x35, 0x46, 0x7a, 0x0e, 0xd8, 0xae, 0x36, 0x22,
- 0x69, 0x9c, 0x90, 0xa7,
- 0xc6, 0x0a, 0xf6, 0xc6, 0xab, 0x87, 0x02, 0x34, 0x16, 0xeb, 0xe4, 0x26,
- 0xda, 0x5a, 0xa5, 0xc5,
- 0xaf, 0x45, 0x35, 0xaf, 0xa0, 0x8b, 0x7e, 0x66, 0xf4, 0xbb, 0x3d, 0x6e,
- 0x1e, 0x28, 0x19, 0xee,
- 0xb1, 0x9b, 0x3e, 0xb1, 0xa2, 0xba, 0xf9, 0xbe, 0x0c, 0x34, 0x03, 0x83,
- 0x26, 0xc9, 0x08, 0xd5,
- 0x0e, 0xb0, 0x49, 0x0e, 0x27, 0x3c, 0x4f, 0xd9, 0xec, 0xd3, 0x3b, 0xab,
- 0x52, 0x79, 0x09, 0x87,
- 0x89, 0x1e, 0xd9, 0x89, 0x3e, 0x4a, 0x06, 0x5c, 0x3a, 0xfe, 0xef, 0x6a,
- 0xad, 0xee, 0x2c, 0x8c,
- 0x79, 0x21, 0x81, 0x79, 0x2e, 0x01, 0xb4, 0x53, 0xf6, 0x0c, 0xdc, 0x0e,
- 0xae, 0xea, 0xa4, 0x97,
- 0xd3, 0x41, 0xe8, 0xd3, 0x30, 0xdd, 0x15, 0x11, 0x97, 0xd5, 0x55, 0xac,
- 0x05, 0x0c, 0x5b, 0x2d,
- 0x2d, 0xce, 0xf9, 0x2d, 0x07, 0xaa, 0xe8, 0xc7, 0xb7, 0xf4, 0x5d, 0x63,
- 0x54, 0x71, 0xda, 0xb1,
- 0xc9, 0x65, 0x12, 0xc9, 0xaa, 0x7e, 0xa0, 0x58, 0x6a, 0x4d, 0xfb, 0xb1,
- 0xc6, 0xcb, 0x4c, 0x39,
- 0x0a, 0x4a, 0xb8, 0x0a, 0xbf, 0xae, 0x7d, 0x48, 0xe9, 0xc4, 0xab, 0x5b,
- 0xa9, 0x5f, 0x0f, 0xa8,
- 0xdb, 0x76, 0xc9, 0xdb, 0xc3, 0x3a, 0x71, 0xf0, 0x9d, 0xfb, 0xb6, 0x8f,
- 0x30, 0x40, 0x57, 0x73,
- 0x7b, 0x5c, 0x18, 0x7b, 0x62, 0x48, 0xad, 0xfa, 0x15, 0xe6, 0x94, 0x76,
- 0x32, 0xf9, 0xa7, 0x61,
- 0xde, 0x53, 0x95, 0xde, 0x7d, 0x6d, 0xae, 0xd4, 0x08, 0x99, 0x02, 0x43,
- 0x85, 0x8e, 0xb1, 0x27,
- 0x48, 0x4c, 0xea, 0x48, 0x67, 0xd3, 0xc2, 0xe5, 0x5a, 0x9d, 0xf7, 0xf8,
- 0x5e, 0x69, 0x6c, 0xeb,
- 0xe3, 0xf3, 0x2e, 0xe3, 0x5f, 0xca, 0x8e, 0x12, 0xab, 0x31, 0x5a, 0x66,
- 0xbb, 0x67, 0x73, 0x2a,
- 0x4b, 0xee, 0xde, 0x4b, 0x0d, 0x5f, 0x36, 0xf9, 0x29, 0x02, 0x9b, 0xbc,
- 0x8c, 0x92, 0x8f, 0x66,
- 0x35, 0x97, 0x9a, 0x35, 0xd1, 0x40, 0x44, 0x27, 0xa9, 0x86, 0xbb, 0x06,
- 0x0b, 0xa5, 0xce, 0x53,
- 0x8a, 0xbc, 0xed, 0x8a, 0x54, 0xc6, 0xf2, 0x40, 0x49, 0x61, 0x83, 0x2e,
- 0x7f, 0x15, 0xcf, 0x01,
- 0xfb, 0xaa, 0x4d, 0xfb, 0x89, 0x20, 0x22, 0xf2, 0xb5, 0x43, 0xbc, 0x03,
- 0xe4, 0xb3, 0x67, 0xc8,
- 0x85, 0xd3, 0x09, 0x85, 0x55, 0x3f, 0x50, 0x2c, 0x35, 0xc7, 0x9c, 0xb9,
- 0x63, 0x84, 0x26, 0xfd,
- 0xcb, 0x18, 0x8b, 0xcb, 0xe6, 0x37, 0xb9, 0xf1, 0x89, 0xa7, 0xb3, 0xc9,
- 0x5a, 0xd8, 0x4f, 0xcf,
- 0xb7, 0x1c, 0x56, 0xb7, 0x76, 0x61, 0xd2, 0x86, 0xea, 0xc9, 0xdb, 0x0b,
- 0x41, 0xfc, 0x0d, 0x0c,
- 0x2a, 0x96, 0x3c, 0x2a, 0xf5, 0xb4, 0x2e, 0x4a, 0xc1, 0x7c, 0xa1, 0xd7,
- 0x7d, 0xac, 0x3f, 0x13,
- 0xab, 0xbf, 0xc4, 0xab, 0x38, 0x19, 0x4c, 0xf7, 0xf1, 0xac, 0xad, 0x9e,
- 0xe5, 0x0e, 0x1f, 0xc1,
- 0x3f, 0xdd, 0x22, 0x3f, 0x6e, 0xee, 0x39, 0x6f, 0x40, 0x42, 0x10, 0x5d,
- 0xa2, 0xfa, 0xc1, 0xfb,
- 0x39, 0x5a, 0x4a, 0x39, 0xba, 0x35, 0x12, 0x57, 0xa6, 0xbf, 0xc8, 0xd5,
- 0xc5, 0xcf, 0xc4, 0x22,
- 0xea, 0x1b, 0xa2, 0xea, 0x8a, 0xe8, 0x07, 0x46, 0x31, 0x6a, 0x9d, 0x79,
- 0xc0, 0xc3, 0x9f, 0x0f,
- 0xb5, 0x61, 0xcf, 0xb5, 0x3a, 0x28, 0xcb, 0x2f, 0x09, 0x23, 0x93, 0x73,
- 0xdd, 0xef, 0x0e, 0xfa,
- 0x51, 0xca, 0x24, 0x51, 0x97, 0xfc, 0x83, 0xb0, 0xd4, 0x9a, 0x35, 0xa1,
- 0x4f, 0x55, 0x98, 0x72,
- 0x9b, 0x0d, 0x02, 0x9b, 0x57, 0x0e, 0xd7, 0xf4, 0xcd, 0x48, 0xa2, 0x54,
- 0x5b, 0x65, 0x37, 0xc6,
- 0x7a, 0x83, 0xb5, 0x7a, 0x44, 0x8d, 0x40, 0x4f, 0x85, 0x93, 0xb0, 0x4a,
- 0x7c, 0x11, 0x47, 0x1a,
- 0xa1, 0xf5, 0x7c, 0xa1, 0x87, 0xb7, 0x31, 0xbf, 0x18, 0x68, 0x06, 0xc5,
- 0x4c, 0x51, 0x10, 0x69,
- 0xd0, 0xe3, 0xdc, 0xd0, 0x5a, 0x51, 0xe1, 0x0d, 0xe4, 0x4a, 0x39, 0xe8,
- 0xd7, 0xf7, 0xb8, 0xa0,
- 0x4a, 0x31, 0x73, 0x4a, 0x2b, 0x9a, 0xdb, 0x4c, 0xb9, 0x77, 0xbf, 0x80,
- 0xc2, 0x7a, 0x6f, 0x1d,
- 0x77, 0x91, 0xc8, 0x77, 0x09, 0x3d, 0xfb, 0x8a, 0x1a, 0xdf, 0xe7, 0xa5,
- 0xfc, 0x93, 0xad, 0x10,
- 0x5d, 0x07, 0xf4, 0x5d, 0xfc, 0x89, 0xd5, 0xc0, 0xdb, 0xa3, 0x46, 0x72,
- 0x81, 0x3f, 0x92, 0x03,
- 0x4f, 0x14, 0x2f, 0x4f, 0x95, 0xcd, 0x04, 0x68, 0x2c, 0x15, 0x0b, 0x4c,
- 0x77, 0xb4, 0x89, 0x49,
- 0x1d, 0x7c, 0x3f, 0x1d, 0x68, 0xbd, 0x73, 0xc4, 0x8b, 0x10, 0x52, 0xa9,
- 0xea, 0x1a, 0xf2, 0xb6,
- 0x83, 0x54, 0x61, 0x83, 0x81, 0xe4, 0x7b, 0x14, 0xd3, 0x3a, 0x44, 0x31,
- 0x04, 0xb1, 0x23, 0x24,
- 0x52, 0x68, 0x10, 0x52, 0xfd, 0x70, 0x77, 0xac, 0xa7, 0x05, 0x59, 0xe5,
- 0x9d, 0xae, 0x7b, 0xff,
- 0x25, 0xf9, 0xd8, 0x25, 0xf4, 0x4d, 0x8c, 0x26, 0xbd, 0xda, 0xbe, 0x40,
- 0x61, 0x3d, 0xd6, 0xef,
- 0xfe, 0x8f, 0x11, 0xfe, 0x37, 0x77, 0xfd, 0xd6, 0x20, 0x21, 0x08, 0xcf,
- 0x51, 0x7d, 0x81, 0x9c,
- 0x3d, 0xa0, 0xbb, 0x3d, 0x22, 0xa7, 0x20, 0xc6, 0xa3, 0xa8, 0x58, 0x25,
- 0x3e, 0xe9, 0xc2, 0x0d,
- 0x58, 0x22, 0xa8, 0x58, 0x42, 0xde, 0x0a, 0xe4, 0x4e, 0xc1, 0xf2, 0xbe,
- 0x34, 0xf1, 0x74, 0x57,
- 0x55, 0x30, 0xd5, 0x55, 0x0f, 0x6e, 0xb1, 0x21, 0xd1, 0x8d, 0xa5, 0x51,
- 0xb4, 0x73, 0x9e, 0x5d,
- 0xf9, 0xd7, 0xd4, 0xf9, 0xc5, 0x69, 0x3b, 0x5b, 0x56, 0xa9, 0xf4, 0x7b,
- 0x78, 0xa0, 0x64, 0x3e,
- 0xac, 0xe7, 0x01, 0xac, 0xca, 0x07, 0x8a, 0x7a, 0x87, 0x24, 0x51, 0x2a,
- 0xcc, 0xd3, 0xfa, 0x63,
- 0xfc, 0xf2, 0x88, 0xfc, 0x7b, 0x3e, 0xe4, 0x7f, 0xc3, 0xcb, 0x40, 0xb7,
- 0xcd, 0x6e, 0x82, 0x6a,
- 0x68, 0x90, 0x6e, 0x68, 0x2d, 0xc9, 0x91, 0xe7, 0x72, 0x25, 0xfd, 0x74,
- 0x8a, 0x9a, 0x5c, 0x50,
- 0xc1, 0x52, 0x33, 0xc1, 0x59, 0x99, 0xc4, 0xb9, 0x60, 0x63, 0x18, 0x92,
- 0xf3, 0x87, 0x40, 0x67,
- 0x38, 0x85, 0xe7, 0x38, 0x9c, 0xf0, 0xff, 0xe2, 0x36, 0xca, 0xec, 0xe9,
- 0x8b, 0x27, 0x24, 0x59,
- 0x75, 0xec, 0x51, 0x75, 0x45, 0x74, 0xe2, 0x23, 0xf9, 0x35, 0xaf, 0xdd,
- 0x60, 0x80, 0xae, 0xe6,
- 0x6d, 0xb5, 0x32, 0x6d, 0x93, 0x9e, 0x4e, 0xc3, 0xe7, 0x47, 0x49, 0xb8,
- 0x3f, 0x54, 0xba, 0x04,
- 0x1f, 0x01, 0xa6, 0x1f, 0x24, 0xf4, 0x6a, 0x6d, 0x68, 0xfa, 0x1a, 0xd1,
- 0x76, 0x09, 0xf1, 0x40,
- 0x17, 0x36, 0x87, 0x17, 0xd7, 0x13, 0x0e, 0x8c, 0x62, 0xd4, 0xf9, 0xf2,
- 0x43, 0x45, 0xfd, 0x1e,
- 0x44, 0x81, 0x3a, 0x44, 0x0c, 0xa6, 0x94, 0x95, 0x55, 0xa4, 0x84, 0x2b,
- 0x90, 0x03, 0x66, 0x9a,
- 0xcc, 0x40, 0x4e, 0xcc, 0x14, 0x29, 0x7f, 0x7c, 0xff, 0x2f, 0x4f, 0x7d,
- 0x73, 0x05, 0xaa, 0x6d,
- 0xc5, 0xa8, 0xc2, 0xc5, 0xc1, 0x0b, 0xf6, 0x28, 0x65, 0x74, 0x88, 0x62,
- 0x08, 0xa1, 0x46, 0x48,
- 0xee, 0xe1, 0x53, 0xee, 0x12, 0x7a, 0x35, 0xd7, 0x34, 0x7d, 0x0d, 0x89,
- 0x3b, 0xe5, 0x99, 0x20,
- },
- { /* 11 */
- 0xfe, 0x50, 0x71, 0x7c, 0xfc, 0x9b, 0xad, 0x09, 0xfc, 0x5e, 0x38, 0x3f,
- 0x3f, 0x68, 0x53, 0x1b,
- 0x6d, 0x9f, 0xd8, 0xf4, 0xee, 0xe2, 0xd1, 0xe9, 0xee, 0x90, 0x3c, 0xda,
- 0xda, 0xa3, 0xbc, 0xf8,
- 0x53, 0x94, 0xe4, 0x01, 0xdd, 0x92, 0x0e, 0x3a, 0xdd, 0xb8, 0xb0, 0xa6,
- 0xa6, 0x24, 0x5d, 0x4e,
- 0xab, 0xb8, 0x14, 0x53, 0x11, 0x91, 0xf4, 0xf0, 0x11, 0x18, 0xc5, 0x95,
- 0x95, 0x7d, 0x5f, 0xd3,
- 0xc0, 0x5b, 0x4d, 0x89, 0xcf, 0xeb, 0x72, 0xda, 0xcf, 0x76, 0xb4, 0x43,
- 0x43, 0xef, 0xb2, 0xad,
- 0x7d, 0xbd, 0xa6, 0x24, 0x6e, 0x65, 0x3b, 0xa4, 0x6e, 0xc4, 0x27, 0xfa,
- 0xfa, 0x9a, 0x46, 0x2f,
- 0xaf, 0x51, 0xea, 0x67, 0x31, 0xc0, 0x2f, 0x72, 0x31, 0x0d, 0xb3, 0x9d,
- 0x9d, 0xe2, 0x80, 0x96,
- 0x72, 0x7b, 0xc6, 0x6f, 0x16, 0xda, 0x5f, 0x61, 0x16, 0x84, 0x7a, 0xe4,
- 0xe4, 0x01, 0x2d, 0xa3,
- 0x27, 0x93, 0xa3, 0x40, 0xfb, 0xd0, 0x06, 0x98, 0xfb, 0xc2, 0x87, 0x4e,
- 0x4e, 0x14, 0x21, 0x6b,
- 0xf9, 0x87, 0x2e, 0x5f, 0xc4, 0x86, 0xbc, 0x0b, 0xc4, 0x34, 0x89, 0x31,
- 0x31, 0x0e, 0x45, 0x1d,
- 0x8e, 0xbe, 0xc8, 0x09, 0xfa, 0x88, 0x7e, 0x29, 0xfa, 0x31, 0x79, 0xdf,
- 0xdf, 0xc7, 0xf0, 0x7b,
- 0x8a, 0x57, 0x36, 0x3d, 0xda, 0xd9, 0xa5, 0xab, 0xda, 0x24, 0x0f, 0xd7,
- 0xd7, 0x58, 0x2f, 0x3e,
- 0x3c, 0x9e, 0x43, 0xef, 0x23, 0xb9, 0x53, 0x92, 0x23, 0xc3, 0xb7, 0x78,
- 0x78, 0x29, 0x6f, 0x75,
- 0x50, 0xaa, 0x45, 0x16, 0xc5, 0xde, 0xc4, 0xba, 0xc5, 0xc7, 0x77, 0xa0,
- 0xa0, 0xdd, 0x94, 0x0d,
- 0xe1, 0xb4, 0x6f, 0xe7, 0x04, 0xa3, 0x23, 0x81, 0x04, 0x4a, 0x7e, 0x01,
- 0x01, 0xca, 0xc2, 0x40,
- 0x41, 0x23, 0xe5, 0xcb, 0x4d, 0xdc, 0x68, 0x36, 0x4d, 0x07, 0x90, 0x82,
- 0x82, 0xb3, 0x29, 0x5a,
- 0xb4, 0x5c, 0x0a, 0xc8, 0xe9, 0xa9, 0x7a, 0x78, 0xe9, 0x0c, 0x83, 0xab,
- 0xab, 0xdf, 0xce, 0x88,
- 0xd7, 0xae, 0x6c, 0x7a, 0x77, 0x71, 0x89, 0x95, 0x77, 0x48, 0x1e, 0x6d,
- 0x6d, 0xb0, 0x5e, 0x7c,
- 0x1e, 0x4f, 0xc0, 0x96, 0xf0, 0xbd, 0xc8, 0x49, 0xf0, 0x80, 0xba, 0x3c,
- 0x3c, 0xf5, 0xd6, 0xdb,
- 0x23, 0x7a, 0x5d, 0x74, 0xdb, 0x81, 0xdd, 0x1a, 0xdb, 0xd7, 0xf1, 0x46,
- 0x46, 0x8b, 0xfe, 0x2e,
- 0x2a, 0xc0, 0xbc, 0x11, 0x93, 0xa6, 0xee, 0x1c, 0x93, 0x69, 0xe1, 0x54,
- 0x54, 0x21, 0xc4, 0x24,
- 0x75, 0xac, 0x99, 0x4c, 0x2e, 0xc7, 0x4e, 0x63, 0x2e, 0xee, 0xcb, 0xea,
- 0xea, 0x67, 0x3b, 0xa5,
- 0xba, 0x31, 0xb4, 0x8e, 0x99, 0x93, 0x58, 0x7c, 0x99, 0xd8, 0x22, 0xb7,
- 0xb7, 0x13, 0xe2, 0x84,
- 0x86, 0xaf, 0xf7, 0x61, 0xba, 0x2a, 0x0b, 0xee, 0xba, 0x1b, 0x95, 0xcf,
- 0xcf, 0x3a, 0x8d, 0xf1,
- 0xdb, 0x56, 0xad, 0x26, 0x17, 0x82, 0x27, 0xd0, 0x17, 0x77, 0x84, 0x75,
- 0x75, 0xd2, 0xfc, 0xb3,
- 0x76, 0x92, 0x38, 0x5b, 0x36, 0x8b, 0x84, 0xe3, 0x36, 0x91, 0x0c, 0xec,
- 0xec, 0x9e, 0xf2, 0xe6,
- 0xb7, 0x62, 0xab, 0xdf, 0xf1, 0xe5, 0xb0, 0xf8, 0xf1, 0x73, 0x44, 0xad,
- 0xad, 0x26, 0x07, 0xcb,
- 0x2f, 0x82, 0x9c, 0x28, 0xbb, 0x72, 0x73, 0x5f, 0xbb, 0xe8, 0x6b, 0x5e,
- 0x5e, 0xe9, 0x5c, 0xe1,
- 0xe3, 0x21, 0x10, 0xfd, 0x14, 0x6a, 0xaf, 0xc0, 0x14, 0xa1, 0x45, 0x05,
- 0x05, 0x64, 0x4c, 0x83,
- 0x51, 0x01, 0x9b, 0x1b, 0xcd, 0x5b, 0x82, 0x7b, 0xcd, 0x53, 0x8b, 0xa2,
- 0xa2, 0x8a, 0xd3, 0x8d,
- 0xd2, 0xec, 0x4c, 0x43, 0x5f, 0xa5, 0x14, 0xd6, 0x5f, 0xc9, 0x94, 0x67,
- 0x67, 0x78, 0xc6, 0xb9,
- 0xb1, 0x1e, 0x2a, 0xf1, 0xc1, 0x7d, 0xe7, 0x3b, 0xc1, 0x8d, 0x09, 0xa1,
- 0xa1, 0x17, 0x56, 0x4d,
- 0xb6, 0xc9, 0x75, 0xd2, 0xf9, 0x60, 0xf6, 0x39, 0xf9, 0xe7, 0xb8, 0xaf,
- 0xaf, 0x71, 0x40, 0x4b,
- 0x03, 0x3e, 0xa1, 0x17, 0x18, 0x4c, 0xca, 0x80, 0x18, 0x7f, 0xc7, 0x06,
- 0x06, 0xf9, 0xc9, 0x43,
- 0x44, 0x61, 0xc5, 0xf2, 0x65, 0x08, 0xf5, 0x75, 0x65, 0x86, 0x1a, 0x88,
- 0x88, 0x7b, 0xb1, 0x9f,
- 0x9a, 0x75, 0x48, 0xed, 0x5a, 0x5e, 0x4f, 0xe6, 0x5a, 0x70, 0x14, 0xf7,
- 0xf7, 0x61, 0xd5, 0xe9,
- 0x8d, 0x80, 0x69, 0x1e, 0xe2, 0xc4, 0xb4, 0xa9, 0xe2, 0x4e, 0xbe, 0xd9,
- 0xd9, 0x3e, 0x39, 0x38,
- 0xea, 0x9b, 0xf1, 0x98, 0x5c, 0x4d, 0x9c, 0xc6, 0x5c, 0x1f, 0x55, 0x17,
- 0x17, 0xce, 0x76, 0x89,
- 0xc4, 0xb2, 0xb3, 0xbd, 0xef, 0xba, 0xa9, 0x58, 0xef, 0x63, 0xc2, 0x4b,
- 0x4b, 0x70, 0x6d, 0xe8,
- 0xad, 0xc4, 0x95, 0x7d, 0x21, 0x09, 0xa3, 0x33, 0x21, 0xe6, 0x88, 0x99,
- 0x99, 0x4c, 0x0e, 0x55,
- 0xb9, 0x0f, 0x15, 0x99, 0x81, 0xdf, 0x92, 0xfc, 0x81, 0xa7, 0xe5, 0xb1,
- 0xb1, 0xea, 0x2b, 0xc7,
- 0xe2, 0x8a, 0xce, 0xf0, 0x1c, 0xef, 0xe9, 0x01, 0x1c, 0x35, 0xb9, 0x07,
- 0x07, 0x33, 0x0b, 0x03,
- 0xe6, 0x63, 0x30, 0xc4, 0x3c, 0xbe, 0x32, 0x83, 0x3c, 0x20, 0xcf, 0x0f,
- 0x0f, 0xac, 0xd4, 0x46,
- 0x99, 0x4b, 0xe9, 0xfa, 0x42, 0x12, 0x85, 0x66, 0x42, 0x0f, 0xd3, 0xf1,
- 0xf1, 0x98, 0x1c, 0xaa,
- 0x29, 0xfe, 0x1d, 0x06, 0x8b, 0xea, 0x24, 0x9c, 0x8b, 0x16, 0x26, 0x52,
- 0x52, 0xd8, 0x0d, 0x67,
- 0xa9, 0x2d, 0x6b, 0x49, 0x01, 0x58, 0x78, 0xb1, 0x01, 0xf3, 0xfe, 0x91,
- 0x91, 0xd3, 0xd1, 0x10,
- 0x61, 0x67, 0x19, 0xa8, 0x8e, 0x11, 0x7f, 0xac, 0x8e, 0xaf, 0xa6, 0xc2,
- 0xc2, 0xc1, 0x1e, 0x37,
- 0xd0, 0x79, 0x33, 0x59, 0x4f, 0x6c, 0x98, 0x97, 0x4f, 0x22, 0xaf, 0x63,
- 0x63, 0xd6, 0x48, 0x7a,
- 0x48, 0x99, 0x04, 0xae, 0x05, 0xfb, 0x5b, 0x30, 0x05, 0xb9, 0x80, 0x90,
- 0x90, 0x19, 0x13, 0x50,
- 0xf1, 0x96, 0x11, 0x37, 0x84, 0x24, 0xc9, 0xcc, 0x84, 0x1e, 0x65, 0x21,
- 0x21, 0xf3, 0x38, 0x97,
- 0x91, 0x5a, 0xd6, 0x92, 0x02, 0xb0, 0xf0, 0xa1, 0x02, 0x25, 0x3f, 0xe1,
- 0xe1, 0x65, 0x61, 0x20,
- 0x65, 0x8e, 0xe7, 0x9c, 0xae, 0x40, 0xa4, 0x2e, 0xae, 0xba, 0xd0, 0xca,
- 0xca, 0x5e, 0xc1, 0x72,
- 0x24, 0xad, 0x02, 0x57, 0xe3, 0x9c, 0xcc, 0x18, 0xe3, 0xbd, 0x40, 0x48,
- 0x48, 0xed, 0xe8, 0x28,
- 0x9c, 0x09, 0xc9, 0xc3, 0x6a, 0xc6, 0x18, 0x25, 0x6a, 0x8e, 0x59, 0xfb,
- 0xfb, 0x50, 0x84, 0x6f,
- 0xc8, 0x4a, 0x72, 0xe1, 0x8f, 0x49, 0x07, 0x1d, 0x8f, 0x5c, 0x58, 0x53,
- 0x53, 0x12, 0xcf, 0x27,
- 0x14, 0xcb, 0x80, 0xe4, 0xa0, 0xd6, 0x31, 0xcf, 0xa0, 0x41, 0x6d, 0x28,
- 0x28, 0xa6, 0x25, 0x92,
- 0x70, 0xee, 0xb9, 0x75, 0x06, 0x13, 0xd3, 0x20, 0x06, 0x6f, 0x41, 0xe0,
- 0xe0, 0xaf, 0xa3, 0x60,
- 0x39, 0xdc, 0x63, 0xd6, 0x0b, 0x6d, 0xce, 0xd1, 0x0b, 0x42, 0x3d, 0x72,
- 0x72, 0xe1, 0xf7, 0xb0,
- 0x55, 0xe8, 0x65, 0x2f, 0xed, 0x0a, 0x59, 0xf9, 0xed, 0x46, 0xfd, 0xaa,
- 0xaa, 0x15, 0x0c, 0xc8,
- 0x13, 0x1c, 0xdf, 0xc7, 0x98, 0xcb, 0x20, 0xcd, 0x98, 0x2b, 0xdc, 0x26,
- 0x26, 0xc0, 0x33, 0x94,
- 0xd6, 0x05, 0xb2, 0x77, 0x7f, 0xf4, 0xcf, 0x54, 0x7f, 0xdc, 0xe2, 0x6f,
- 0x6f, 0xe7, 0x19, 0xfc,
- 0xfb, 0x12, 0x51, 0x45, 0xd4, 0x4f, 0x30, 0x4a, 0xd4, 0xdf, 0xb2, 0x35,
- 0x35, 0xa0, 0xcb, 0xde,
- 0x22, 0xd1, 0x83, 0x79, 0xd3, 0x04, 0x9b, 0xdb, 0xd3, 0x43, 0x0d, 0x44,
- 0x44, 0xdc, 0xb9, 0xae,
- 0xda, 0xfd, 0x73, 0x2b, 0x1f, 0x07, 0x61, 0x11, 0x1f, 0xe3, 0x78, 0x77,
- 0x77, 0x85, 0xbb, 0x33,
- 0x25, 0x06, 0xdc, 0x5a, 0xeb, 0x19, 0x8a, 0xd9, 0xeb, 0x29, 0xbc, 0x4a,
- 0x4a, 0xba, 0xaf, 0xa8,
- 0xe7, 0xc8, 0xee, 0xc9, 0x34, 0x3b, 0x74, 0x42, 0x34, 0xb4, 0x33, 0x0d,
- 0x0d, 0xfb, 0x93, 0xc6,
- 0xe4, 0xf6, 0x4f, 0xde, 0x2c, 0x77, 0xbe, 0xc2, 0x2c, 0xcb, 0xf4, 0x0b,
- 0x0b, 0x02, 0x5a, 0x85,
- 0xa3, 0xa9, 0x2b, 0x3b, 0x51, 0x33, 0x81, 0x37, 0x51, 0x32, 0x29, 0x85,
- 0x85, 0x80, 0x22, 0x59,
- 0x8c, 0x2b, 0xb7, 0x13, 0xea, 0x41, 0xf2, 0x68, 0xea, 0xda, 0x42, 0xdb,
- 0xdb, 0x69, 0x7e, 0xb8,
- 0x19, 0x98, 0x9f, 0xb5, 0xc8, 0xa0, 0xd9, 0x4b, 0xc8, 0xea, 0x0b, 0x32,
- 0x32, 0x93, 0xc0, 0xdd,
- 0x09, 0xba, 0xe1, 0x65, 0x48, 0x27, 0x33, 0x06, 0x48, 0xbe, 0x10, 0x12,
- 0x12, 0xaa, 0x3a, 0x0a,
- 0x2d, 0x17, 0xe3, 0x32, 0xab, 0xbb, 0xff, 0x1e, 0xab, 0x03, 0x50, 0x5a,
- 0x5a, 0x47, 0xd2, 0x22,
- 0x8f, 0x15, 0x16, 0x04, 0xf2, 0x0d, 0x38, 0xe8, 0xf2, 0xa5, 0x85, 0xdd,
- 0xdd, 0x90, 0xb7, 0xfb,
- 0x94, 0x18, 0xf6, 0xab, 0x2a, 0x64, 0x6d, 0xe2, 0x2a, 0xa4, 0xb5, 0xeb,
- 0xeb, 0xad, 0xf9, 0xe5,
- 0x0d, 0x53, 0x1f, 0x51, 0x68, 0x76, 0xe8, 0x84, 0x68, 0xab, 0x66, 0x1a,
- 0x1a, 0x35, 0xe5, 0x4f,
- 0x85, 0x91, 0x56, 0x76, 0xa2, 0x66, 0xc1, 0x6e, 0xa2, 0x64, 0x52, 0xc9,
- 0xc9, 0xc3, 0x44, 0xb2,
- 0x57, 0x7d, 0x1a, 0x35, 0xfd, 0xc3, 0xd5, 0xb8, 0xfd, 0xad, 0xc6, 0xae,
- 0xae, 0xbb, 0x82, 0x0b,
- 0x96, 0x8d, 0x89, 0xb1, 0x3a, 0xad, 0xe1, 0xa3, 0x3a, 0x4f, 0x8e, 0xef,
- 0xef, 0x03, 0x77, 0x26,
- 0x69, 0x76, 0x26, 0xc0, 0xce, 0xb3, 0x0a, 0x6b, 0xce, 0x85, 0x4a, 0xd2,
- 0xd2, 0x3c, 0x63, 0xbd,
- 0xf8, 0x2c, 0xf0, 0x52, 0xcc, 0x03, 0xfa, 0xca, 0xcc, 0xa0, 0x75, 0x33,
- 0x33, 0x59, 0x02, 0x9d,
- 0x5e, 0xc7, 0xfb, 0x50, 0xb5, 0xe4, 0xe6, 0xbe, 0xb5, 0x13, 0xd6, 0xbc,
- 0xbc, 0x11, 0xb8, 0x01,
- 0x0e, 0x6d, 0xbe, 0x46, 0x70, 0x3a, 0x22, 0x04, 0x70, 0xd4, 0xa1, 0x1c,
- 0x1c, 0xcc, 0x2c, 0x0c,
- 0x71, 0x45, 0x67, 0x78, 0x0e, 0x96, 0x95, 0xe1, 0x0e, 0xfb, 0xbd, 0xe2,
- 0xe2, 0xf8, 0xe4, 0xe0,
- 0x7a, 0x6a, 0xf9, 0x07, 0x56, 0x78, 0x2a, 0xa6, 0x56, 0xae, 0x96, 0xf4,
- 0xf4, 0xfc, 0x50, 0x29,
- 0x01, 0xab, 0xde, 0x0d, 0x08, 0x85, 0x46, 0xc1, 0x08, 0x94, 0xfc, 0x02,
- 0x02, 0x57, 0x47, 0x80,
- 0xe0, 0x1f, 0xb1, 0xea, 0x0c, 0x26, 0x65, 0x40, 0x0c, 0xde, 0x82, 0x03,
- 0x03, 0x9d, 0x85, 0xc0,
- 0x7e, 0x83, 0x07, 0x33, 0x76, 0x29, 0xf1, 0x24, 0x76, 0xbb, 0xe0, 0xfc,
- 0xfc, 0x63, 0x8f, 0x6c,
- 0x93, 0xcf, 0xa9, 0x88, 0x12, 0x79, 0x7c, 0xe0, 0x12, 0xce, 0x04, 0xe5,
- 0xe5, 0xcb, 0xef, 0xe3,
- 0xce, 0x36, 0xf3, 0xcf, 0xbf, 0xd1, 0x50, 0xde, 0xbf, 0xa2, 0x15, 0x5f,
- 0x5f, 0x23, 0x9e, 0xa1,
- 0x9f, 0x37, 0x68, 0xd4, 0x72, 0x8a, 0xd2, 0xa5, 0x72, 0xf1, 0x9e, 0xfd,
- 0xfd, 0xa9, 0x4d, 0x2c,
- 0x3a, 0xe2, 0xc2, 0xc1, 0x13, 0x21, 0x04, 0x51, 0x13, 0x3d, 0xfa, 0x74,
- 0x74, 0x18, 0x3e, 0xf3,
- 0xd1, 0xd2, 0xed, 0x54, 0x47, 0xe9, 0xde, 0x56, 0x47, 0xb6, 0x53, 0x61,
- 0x61, 0x81, 0x0f, 0xfa,
- 0xf2, 0xa8, 0xb0, 0x20, 0x9c, 0x68, 0x03, 0x4c, 0x9c, 0x61, 0xa2, 0x27,
- 0x27, 0x0a, 0xf1, 0xd4,
- 0xcf, 0x9d, 0x2d, 0xc2, 0xb7, 0x54, 0x16, 0x1f, 0xb7, 0x36, 0xe9, 0x5d,
- 0x5d, 0x74, 0xd9, 0x21,
- 0x43, 0xb6, 0x9a, 0xd1, 0x5d, 0x15, 0xe4, 0x77, 0x5d, 0xec, 0xab, 0x86,
- 0x86, 0x1d, 0xa7, 0x99,
- 0xc9, 0xe1, 0xac, 0xec, 0x87, 0xcc, 0x41, 0xdc, 0x87, 0xc8, 0xa4, 0x51,
- 0x51, 0x45, 0x88, 0xa7,
- 0x4a, 0x0c, 0x7b, 0xb4, 0x15, 0x32, 0xd7, 0x71, 0x15, 0x52, 0xbb, 0x94,
- 0x94, 0xb7, 0x9d, 0x93,
- 0xbd, 0xe6, 0xeb, 0xad, 0xa1, 0x8e, 0x49, 0x7e, 0xa1, 0xb2, 0x93, 0xb9,
- 0xb9, 0x75, 0xf4, 0x82,
- 0x62, 0x59, 0xb8, 0xbf, 0x96, 0x5d, 0xb5, 0x2c, 0x96, 0xd0, 0x61, 0xc4,
- 0xc4, 0x38, 0xd7, 0x74,
- 0xac, 0x6f, 0x4b, 0x70, 0x29, 0x8c, 0xe5, 0xf2, 0x29, 0x72, 0x74, 0x9b,
- 0x9b, 0x1b, 0x49, 0xd5,
- 0x02, 0x95, 0x7f, 0x1a, 0x10, 0xc9, 0x8c, 0x41, 0x10, 0xeb, 0x3b, 0x04,
- 0x04, 0xae, 0x8e, 0xc3,
- 0x37, 0xb1, 0xdd, 0x90, 0x7b, 0x57, 0xec, 0xd5, 0x7b, 0x96, 0x9c, 0x6e,
- 0x6e, 0x2d, 0xdb, 0xbc,
- 0x82, 0x46, 0x09, 0x55, 0x9a, 0x7b, 0xd0, 0x6c, 0x9a, 0x0e, 0xe3, 0xc7,
- 0xc7, 0xa5, 0x52, 0xb4,
- 0xc1, 0xf0, 0x93, 0x84, 0xc7, 0x6e, 0x34, 0x1b, 0xc7, 0xe2, 0x48, 0x41,
- 0x41, 0xb8, 0xf5, 0x2d,
- 0x26, 0x38, 0x7d, 0x4d, 0xf3, 0x55, 0x40, 0x59, 0xf3, 0x56, 0x7b, 0x4c,
- 0x4c, 0x43, 0x66, 0xeb,
- 0xbb, 0x9a, 0x6a, 0x83, 0x91, 0x16, 0x1e, 0xbd, 0x91, 0x4c, 0xde, 0xb5,
- 0xb5, 0x44, 0xa5, 0x04,
- 0x0f, 0xc6, 0x60, 0x4b, 0x78, 0xbf, 0x64, 0xc5, 0x78, 0x40, 0x5d, 0x1e,
- 0x1e, 0x9b, 0x6b, 0x8c,
- 0xd4, 0x90, 0xcd, 0x6d, 0x6f, 0x3d, 0x43, 0x15, 0x6f, 0x37, 0xd9, 0x6b,
- 0x6b, 0x49, 0x97, 0x3f,
- 0x5b, 0x85, 0xdb, 0x69, 0x9d, 0x30, 0x7b, 0xfd, 0x9d, 0x92, 0x5c, 0xb6,
- 0xb6, 0xd9, 0x20, 0xc4,
- 0x63, 0xf2, 0x66, 0xb2, 0x9e, 0xd8, 0xf3, 0xed, 0x9e, 0x44, 0x9d, 0xc6,
- 0xc6, 0x6f, 0x90, 0xf4,
- 0x87, 0x04, 0x29, 0x6c, 0xb2, 0xaf, 0x4d, 0x2f, 0xb2, 0x8f, 0x69, 0xcd,
- 0xcd, 0x6d, 0xca, 0x71,
- 0xbf, 0x73, 0x94, 0xb7, 0xb1, 0x47, 0xc5, 0x3f, 0xb1, 0x59, 0xa8, 0xbd,
- 0xbd, 0xdb, 0x7a, 0x41,
- 0x97, 0x26, 0x57, 0xbc, 0x32, 0x28, 0xa7, 0x62, 0x32, 0xdb, 0x72, 0xed,
- 0xed, 0x54, 0x30, 0xa6,
- 0x46, 0xf4, 0xba, 0xe8, 0x75, 0xc1, 0x79, 0x34, 0x75, 0x6d, 0x21, 0x8c,
- 0x8c, 0xd5, 0x3f, 0x5c,
- 0xaa, 0x13, 0xca, 0x5e, 0x19, 0x14, 0xb2, 0x31, 0x19, 0x8c, 0x39, 0x97,
- 0x97, 0x2a, 0x18, 0x53,
- 0x4f, 0x4e, 0x5b, 0x8d, 0x3d, 0xe6, 0x4a, 0x32, 0x3d, 0xd3, 0x31, 0x9e,
- 0x9e, 0x7f, 0x05, 0x56,
- 0xc6, 0x27, 0xcc, 0xa7, 0xff, 0x73, 0x25, 0x19, 0xff, 0x88, 0xf9, 0x4f,
- 0x4f, 0xde, 0xe3, 0x2b,
- 0x4e, 0xe5, 0x85, 0x80, 0x35, 0x63, 0x0c, 0xf3, 0x35, 0x47, 0xcd, 0x9c,
- 0x9c, 0x28, 0x42, 0xd6,
- 0x80, 0xd3, 0x76, 0x4f, 0x8a, 0xb2, 0x5c, 0x2d, 0x8a, 0xe5, 0xd8, 0xc3,
- 0xc3, 0x0b, 0xdc, 0x77,
- 0x7f, 0x28, 0xd9, 0x3e, 0x7e, 0xac, 0xb7, 0xe5, 0x7e, 0x2f, 0x1c, 0xfe,
- 0xfe, 0x34, 0xc8, 0xec,
- 0x45, 0xca, 0x1b, 0xff, 0x6d, 0x8d, 0xb3, 0xb4, 0x6d, 0x12, 0xe6, 0x8a,
- 0x8a, 0x2c, 0xf6, 0x1f,
- 0xeb, 0x30, 0x2f, 0x95, 0x54, 0xc8, 0xda, 0x07, 0x54, 0x8b, 0xa9, 0x15,
- 0x15, 0x99, 0x31, 0x09,
- 0x68, 0xdd, 0xf8, 0xcd, 0xc6, 0x36, 0x4c, 0xaa, 0xc6, 0x11, 0xb6, 0xd0,
- 0xd0, 0x6b, 0x24, 0x3d,
- 0x10, 0x22, 0x7e, 0xd0, 0x80, 0x87, 0xea, 0x4d, 0x80, 0x54, 0x1b, 0x20,
- 0x20, 0x39, 0xfa, 0xd7,
- 0x20, 0x44, 0xfc, 0x63, 0xc3, 0xcd, 0x17, 0x9a, 0xc3, 0xa8, 0x36, 0x40,
- 0x40, 0x72, 0x37, 0x6d,
- 0x5f, 0x6c, 0x25, 0x5d, 0xbd, 0x61, 0xa0, 0x7f, 0xbd, 0x87, 0x2a, 0xbe,
- 0xbe, 0x46, 0xff, 0x81,
- 0x49, 0x32, 0xda, 0xa3, 0x0d, 0x7e, 0x1d, 0xf1, 0x0d, 0x2d, 0x7c, 0x92,
- 0x92, 0x4e, 0x54, 0xd0,
- 0xd3, 0x47, 0x92, 0x4e, 0x57, 0x20, 0x52, 0x17, 0x57, 0x5d, 0x68, 0x65,
- 0x65, 0x2f, 0x81, 0x39,
- 0xc2, 0xce, 0x32, 0x93, 0xdf, 0x22, 0xfe, 0x9b, 0xdf, 0x9d, 0x8f, 0x47,
- 0x47, 0x41, 0x3c, 0x6e,
- 0x56, 0xd6, 0xc4, 0x38, 0xf5, 0x46, 0x93, 0x79, 0xf5, 0x39, 0x3a, 0xac,
- 0xac, 0xec, 0xc5, 0x8b,
- 0xe5, 0x5d, 0x91, 0xd3, 0x24, 0xf2, 0xf8, 0x03, 0x24, 0x5f, 0x08, 0x09,
- 0x09, 0x55, 0x1d, 0x05,
- 0xbc, 0x4d, 0x35, 0xa0, 0xa9, 0x0b, 0x0f, 0xbf, 0xa9, 0x26, 0x6f, 0xbb,
- 0xbb, 0x22, 0xb3, 0x02,
- 0x77, 0x39, 0xe6, 0x56, 0x3e, 0x0e, 0xc2, 0x22, 0x3e, 0x05, 0xf0, 0xee,
- 0xee, 0xc9, 0xb5, 0x66,
- 0x15, 0x60, 0x5e, 0xe9, 0xa8, 0x53, 0x77, 0x0e, 0xa8, 0xd5, 0x91, 0x2a,
- 0x2a, 0xf1, 0x62, 0x12,
- 0x30, 0x66, 0x82, 0xb3, 0x43, 0x4a, 0xfd, 0xd7, 0x43, 0xfc, 0x2d, 0x60,
- 0x60, 0x4b, 0xcd, 0xba,
- 0xb0, 0xb5, 0xf4, 0xfc, 0xc9, 0xf8, 0xa1, 0xfa, 0xc9, 0x19, 0xf5, 0xa3,
- 0xa3, 0x40, 0x11, 0xcd,
- 0xc3, 0x65, 0xec, 0x9e, 0xd7, 0xa7, 0xb8, 0x5a, 0xd7, 0x09, 0x73, 0x45,
- 0x45, 0x16, 0x7b, 0xee,
- 0xa6, 0xeb, 0x0b, 0x02, 0x79, 0xe7, 0x1c, 0x74, 0x79, 0xb3, 0xa3, 0x8f,
- 0x8f, 0x48, 0xba, 0x9c,
- 0x6a, 0x48, 0x87, 0xd7, 0xd6, 0xff, 0xc0, 0xeb, 0xd6, 0xfa, 0x8d, 0xd4,
- 0xd4, 0xc5, 0xaa, 0xfe,
- 0x6e, 0xa1, 0x79, 0xe3, 0xf6, 0xae, 0x1b, 0x69, 0xf6, 0xef, 0xfb, 0xdc,
- 0xdc, 0x5a, 0x75, 0xbb,
- 0xee, 0x72, 0x0f, 0xac, 0x7c, 0x1c, 0x47, 0x44, 0x7c, 0x0a, 0x23, 0x1f,
- 0x1f, 0x51, 0xa9, 0xcc,
- 0x95, 0xb3, 0x28, 0xa6, 0x22, 0xe1, 0x2b, 0x23, 0x22, 0x30, 0x49, 0xe9,
- 0xe9, 0xfa, 0xbe, 0x65,
- 0xbe, 0xd8, 0x4a, 0xba, 0xb9, 0xc2, 0x83, 0xfe, 0xb9, 0xcd, 0x54, 0xbf,
- 0xbf, 0x8c, 0x3d, 0xc1,
- 0x38, 0x77, 0xbd, 0xdb, 0x03, 0xe8, 0x88, 0x10, 0x03, 0xd6, 0xc1, 0x70,
- 0x70, 0xb6, 0xb0, 0x30,
- 0x1c, 0xda, 0xbf, 0x8c, 0xe0, 0x74, 0x44, 0x08, 0xe0, 0x6b, 0x81, 0x38,
- 0x38, 0x5b, 0x58, 0x18,
- 0xd8, 0x68, 0x0c, 0x31, 0x0f, 0xce, 0xed, 0x50, 0x0f, 0x08, 0x43, 0x73,
- 0x73, 0x2b, 0x35, 0xf0,
- 0xfc, 0xc5, 0x0e, 0x66, 0xec, 0x52, 0x21, 0x48, 0xec, 0xb5, 0x03, 0x3b,
- 0x3b, 0xc6, 0xdd, 0xd8,
- 0x6b, 0xe3, 0x59, 0xda, 0xde, 0x7a, 0x86, 0x2a, 0xde, 0x6e, 0x71, 0xd6,
- 0xd6, 0x92, 0xed, 0x7e,
- 0x9e, 0x9c, 0xb6, 0xd9, 0x7a, 0x0f, 0x94, 0x64, 0x7a, 0x65, 0x62, 0xff,
- 0xff, 0xfe, 0x0a, 0xac,
- 0xf3, 0x03, 0x6e, 0x2d, 0x94, 0xed, 0x45, 0x8d, 0x94, 0xf5, 0x5e, 0x25,
- 0x25, 0x5d, 0xb6, 0x54,
- 0x16, 0x5e, 0xff, 0xfe, 0xb0, 0x1f, 0xbd, 0x8e, 0xb0, 0xaa, 0x56, 0x2c,
- 0x2c, 0x08, 0xab, 0x51,
- 0xf6, 0x41, 0x4e, 0x14, 0xbc, 0x39, 0xd8, 0xce, 0xbc, 0x74, 0xd4, 0x2f,
- 0x2f, 0x95, 0x2e, 0x91,
- 0xfa, 0xb9, 0x8f, 0x48, 0xdc, 0xca, 0x76, 0x8b, 0xdc, 0x4b, 0x4e, 0x37,
- 0x37, 0xf7, 0x8c, 0x5e,
- 0x1d, 0x71, 0x61, 0x81, 0xe8, 0xf1, 0x02, 0xc9, 0xe8, 0xff, 0x7d, 0x3a,
- 0x3a, 0x0c, 0x1f, 0x98,
- 0x05, 0x42, 0x20, 0x39, 0x28, 0xd4, 0x9d, 0x43, 0x28, 0x81, 0x8a, 0x0a,
- 0x0a, 0xc8, 0x98, 0xc5,
- 0x0a, 0x84, 0x40, 0x72, 0x50, 0x6b, 0xf9, 0x86, 0x50, 0xc1, 0xd7, 0x14,
- 0x14, 0x53, 0xf3, 0x49,
- 0x79, 0x54, 0x58, 0x10, 0x4e, 0x34, 0xe0, 0x26, 0x4e, 0xd1, 0x51, 0xf2,
- 0xf2, 0x05, 0x99, 0x6a,
- 0x3e, 0x0b, 0x3c, 0xf5, 0x33, 0x70, 0xdf, 0xd3, 0x33, 0x28, 0x8c, 0x7c,
- 0x7c, 0x87, 0xe1, 0xb6,
- 0x90, 0xf1, 0x08, 0x9f, 0x0a, 0x35, 0xb6, 0x60, 0x0a, 0xb1, 0xc3, 0xe3,
- 0xe3, 0x32, 0x26, 0xa0,
- 0x98, 0xe0, 0x37, 0xf7, 0x4a, 0x97, 0xc3, 0xa7, 0x4a, 0x9b, 0x2f, 0xf3,
- 0xf3, 0xcf, 0x5b, 0x2a,
- 0xcd, 0x08, 0x52, 0xd8, 0xa7, 0x9d, 0x9a, 0x5e, 0xa7, 0xdd, 0xd2, 0x59,
- 0x59, 0xda, 0x57, 0xe2,
- 0xcb, 0x74, 0xd3, 0xf6, 0x97, 0x05, 0xcd, 0x9d, 0x97, 0x23, 0x9f, 0x55,
- 0x55, 0xeb, 0x06, 0x64,
- 0x0c, 0xf8, 0xc1, 0x5c, 0x60, 0xf3, 0xae, 0x45, 0x60, 0x3f, 0x9a, 0x18,
- 0x18, 0x62, 0xa2, 0xcf,
- 0x36, 0x1a, 0x03, 0x9d, 0x73, 0xd2, 0xaa, 0x14, 0x73, 0x02, 0x60, 0x6c,
- 0x6c, 0x7a, 0x9c, 0x3c,
- 0x73, 0xd0, 0x18, 0x62, 0x1e, 0x5f, 0x19, 0xa0, 0x1e, 0x10, 0x86, 0xe6,
- 0xe6, 0x56, 0x6a, 0x23,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x9d, 0xa2, 0x17, 0xce, 0x62, 0x43, 0x5e, 0xe4, 0x62, 0x1a, 0xa5, 0xf9,
- 0xf9, 0x07, 0xc3, 0xef,
- 0xe9, 0xa5, 0x50, 0x8f, 0x44, 0x01, 0x56, 0x46, 0x44, 0x60, 0x92, 0x11,
- 0x11, 0x37, 0xbf, 0xca,
- 0x92, 0x64, 0x77, 0x85, 0x1a, 0xfc, 0x3a, 0x21, 0x1a, 0x5a, 0xf8, 0xe7,
- 0xe7, 0x9c, 0xa8, 0x63,
- 0x17, 0xf5, 0x21, 0xf3, 0xb8, 0x9a, 0xfb, 0x4f, 0xb8, 0x3e, 0xaa, 0x2e,
- 0x2e, 0x5f, 0xec, 0xd1,
- 0x07, 0xd7, 0x5f, 0x23, 0x38, 0x1d, 0x11, 0x02, 0x38, 0x6a, 0xb1, 0x0e,
- 0x0e, 0x66, 0x16, 0x06,
- 0x81, 0x78, 0xa8, 0x42, 0x82, 0x37, 0x1a, 0xec, 0x82, 0x71, 0x24, 0xc1,
- 0xc1, 0x5c, 0x9b, 0xf7,
- 0xed, 0x4c, 0xae, 0xbb, 0x64, 0x50, 0x8d, 0xc4, 0x64, 0x75, 0xe4, 0x19,
- 0x19, 0xa8, 0x60, 0x8f,
- 0xca, 0xdf, 0x0d, 0xfb, 0x9f, 0x80, 0x8b, 0x5c, 0x9f, 0xb7, 0x63, 0x57,
- 0x57, 0xbc, 0x41, 0xe4,
- 0x74, 0x07, 0x47, 0x41, 0x26, 0x42, 0x08, 0xa2, 0x26, 0x7a, 0x37, 0xe8,
- 0xe8, 0x30, 0x7c, 0x25,
- 0xa1, 0x3c, 0x54, 0x21, 0x41, 0xfa, 0x0d, 0x76, 0x41, 0xd9, 0x12, 0x81,
- 0x81, 0x2e, 0xac, 0x9a,
- 0x5d, 0xf9, 0x5a, 0x47, 0xad, 0xa8, 0x2c, 0x3e, 0xad, 0x6c, 0x11, 0xba,
- 0xba, 0xe8, 0x71, 0x42,
- 0x40, 0x88, 0x3b, 0xc6, 0x45, 0x59, 0x2e, 0xf7, 0x45, 0x93, 0x6c, 0x80,
- 0x80, 0xe4, 0x6e, 0xda,
- 0x78, 0xff, 0x86, 0x1d, 0x46, 0xb1, 0xa6, 0xe7, 0x46, 0x45, 0xad, 0xf0,
- 0xf0, 0x52, 0xde, 0xea,
- 0x83, 0xed, 0xd7, 0x58, 0x92, 0xfe, 0x96, 0xad, 0x92, 0x9a, 0x1f, 0xc5,
- 0xc5, 0xf2, 0x15, 0x34,
- 0xdd, 0x2a, 0x2c, 0x08, 0x27, 0x1a, 0x70, 0x13, 0x27, 0x89, 0xc9, 0x79,
- 0x79, 0xe3, 0xad, 0x35,
- 0x7b, 0xc1, 0x27, 0x0a, 0x5e, 0xfd, 0x6c, 0x67, 0x5e, 0x3a, 0x6a, 0xf6,
- 0xf6, 0xab, 0x17, 0xa9,
- 0x42, 0x1d, 0x44, 0xdc, 0x55, 0x90, 0xa2, 0xb6, 0x55, 0x78, 0x57, 0x84,
- 0x84, 0x4a, 0xe0, 0x19,
- 0xdc, 0x81, 0xf2, 0x05, 0x2f, 0x9f, 0x36, 0xd2, 0x2f, 0x1d, 0x35, 0x7b,
- 0x7b, 0xb4, 0xea, 0xb5,
- 0xf0, 0x3d, 0xcf, 0x3a, 0x8c, 0xa1, 0x8f, 0x0d, 0x8c, 0x8a, 0x99, 0x23,
- 0x23, 0xa4, 0x7f, 0x17,
- 0x2c, 0xbc, 0x3d, 0x3f, 0xa3, 0x3e, 0xb9, 0xdf, 0xa3, 0x97, 0xac, 0x58,
- 0x58, 0x10, 0x95, 0xa2,
- 0x5c, 0x52, 0x84, 0x4a, 0xa5, 0x2d, 0x6a, 0xff, 0xa5, 0xf8, 0xed, 0xb8,
- 0xb8, 0xbf, 0x36, 0xc2,
- 0x47, 0x5f, 0x64, 0xe5, 0x7d, 0x44, 0x3f, 0xf5, 0x7d, 0xf9, 0xdd, 0x8e,
- 0x8e, 0x82, 0x78, 0xdc,
- 0xa4, 0x7e, 0x74, 0x18, 0x69, 0x2e, 0x90, 0x35, 0x69, 0x58, 0x98, 0x8b,
- 0x8b, 0xe6, 0x34, 0x5f,
- 0x52, 0x3f, 0x3a, 0x0c, 0xd5, 0x17, 0x48, 0xfb, 0xd5, 0x2c, 0x4c, 0xa4,
- 0xa4, 0x73, 0x1a, 0xce,
- 0x5a, 0x2e, 0x05, 0x64, 0x95, 0xb5, 0x3d, 0x3c, 0x95, 0x06, 0xa0, 0xb4,
- 0xb4, 0x8e, 0x67, 0x44,
- 0x3f, 0xa0, 0xe2, 0xf8, 0x3b, 0xf5, 0x99, 0x12, 0x3b, 0xbc, 0x70, 0x7e,
- 0x7e, 0xd0, 0xa6, 0x36,
- 0xd9, 0xc3, 0xd2, 0x3c, 0x07, 0x4b, 0xab, 0x91, 0x07, 0x9c, 0xbf, 0x71,
- 0x71, 0x7c, 0x72, 0x70,
- 0x0b, 0x2f, 0x9e, 0x7f, 0x58, 0xee, 0xbf, 0x47, 0x58, 0x55, 0x2b, 0x16,
- 0x16, 0x04, 0xb4, 0xc9,
- 0x2e, 0x29, 0x42, 0x25, 0xb3, 0xf7, 0x35, 0x9e, 0xb3, 0x7c, 0x97, 0x5c,
- 0x5c, 0xbe, 0x1b, 0x61,
- 0x08, 0x11, 0x3f, 0x68, 0x40, 0xa2, 0x75, 0xc7, 0x40, 0x2a, 0xec, 0x10,
- 0x10, 0xfd, 0x7d, 0x8a,
- 0x60, 0xcc, 0xc7, 0xa5, 0x86, 0x94, 0x39, 0x6d, 0x86, 0x3b, 0x5a, 0xc0,
- 0xc0, 0x96, 0x59, 0xb7,
- 0xf4, 0xd4, 0x31, 0x0e, 0xac, 0xf0, 0x54, 0x8f, 0xac, 0x9f, 0xef, 0x2b,
- 0x2b, 0x3b, 0xa0, 0x52,
- 0x4b, 0xa7, 0xa5, 0xb9, 0x1d, 0xb7, 0x91, 0xb0, 0x1d, 0xc6, 0x47, 0x96,
- 0x96, 0xe0, 0xda, 0x13,
- 0xc7, 0x8c, 0x12, 0xaa, 0xf7, 0xf6, 0x63, 0xd8, 0xf7, 0x1c, 0x05, 0x4d,
- 0x4d, 0x89, 0xa4, 0xab,
- 0x06, 0x7c, 0x81, 0x2e, 0x30, 0x98, 0x57, 0xc3, 0x30, 0xfe, 0x4d, 0x0c,
- 0x0c, 0x31, 0x51, 0x86,
- 0xdf, 0xbf, 0x53, 0x12, 0x37, 0xd3, 0xfc, 0x52, 0x37, 0x62, 0xf2, 0x7d,
- 0x7d, 0x4d, 0x23, 0xf6,
- 0x35, 0x24, 0xa2, 0x8a, 0x6b, 0x9e, 0x60, 0x94, 0x6b, 0x7d, 0xa7, 0x6a,
- 0x6a, 0x83, 0x55, 0x7f,
- 0xfd, 0x6e, 0xd0, 0x6b, 0xe4, 0xd7, 0x67, 0x89, 0xe4, 0x21, 0xff, 0x39,
- 0x39, 0x91, 0x9a, 0x58,
- 0x11, 0x89, 0xa0, 0xdd, 0x88, 0x02, 0xac, 0x8c, 0x88, 0xc0, 0xe7, 0x22,
- 0x22, 0x6e, 0xbd, 0x57,
- 0xb2, 0x20, 0x8b, 0xe6, 0xd9, 0x31, 0x2d, 0xbb, 0xd9, 0xf2, 0xce, 0xa7,
- 0xa7, 0xee, 0x9f, 0x0e,
- 0xc5, 0x19, 0x6d, 0xb0, 0xe7, 0x3f, 0xef, 0x99, 0xe7, 0xf7, 0x3e, 0x49,
- 0x49, 0x27, 0x2a, 0x68,
- 0xb8, 0xa4, 0xcb, 0x94, 0x89, 0x5a, 0xd4, 0x3d, 0x89, 0x33, 0x19, 0xb3,
- 0xb3, 0xbd, 0x6c, 0x47,
- 0xb5, 0xf7, 0xd4, 0xc5, 0xe1, 0x2c, 0x3c, 0xb9, 0xe1, 0x98, 0x7f, 0xa9,
- 0xa9, 0x88, 0x89, 0x08,
- 0x3b, 0x49, 0x1c, 0xcc, 0x1b, 0xa4, 0x42, 0x90, 0x1b, 0xa9, 0x06, 0x76,
- 0x76, 0x4f, 0x79, 0x73,
- 0x28, 0x55, 0xc3, 0x0b, 0x83, 0x6f, 0x62, 0x5d, 0x83, 0x82, 0xda, 0x50,
- 0x50, 0x8f, 0x4a, 0xe7,
- 0xa0, 0x97, 0x8a, 0x2c, 0x49, 0x7f, 0x4b, 0xb7, 0x49, 0x4d, 0xee, 0x83,
- 0x83, 0x79, 0xeb, 0x1a,
- 0xe8, 0x0e, 0x8e, 0x82, 0x4c, 0x84, 0x10, 0x87, 0x4c, 0xf4, 0x6e, 0x13,
- 0x13, 0x60, 0xf8, 0x4a,
- 0xde, 0x14, 0x8d, 0x1f, 0x3f, 0x56, 0xba, 0x93, 0x3f, 0xf6, 0x0e, 0x7f,
- 0x7f, 0x1a, 0x64, 0x76,
- 0x1f, 0xe4, 0x1e, 0x9b, 0xf8, 0x38, 0x8e, 0x88, 0xf8, 0x14, 0x46, 0x3e,
- 0x3e, 0xa2, 0x91, 0x5b,
- 0x6f, 0x0a, 0xa7, 0xee, 0xfe, 0x2b, 0x5d, 0xa8, 0xfe, 0x7b, 0x07, 0xde,
- 0xde, 0x0d, 0x32, 0x3b,
- 0x59, 0x10, 0xa4, 0x73, 0x8d, 0xf9, 0xf7, 0xbc, 0x8d, 0x79, 0x67, 0xb2,
- 0xb2, 0x77, 0xae, 0x07,
- 0x32, 0xf3, 0xfd, 0xa9, 0x53, 0x83, 0x71, 0x96, 0x53, 0x17, 0x16, 0x64,
- 0x64, 0xe5, 0x43, 0x79,
- 0x84, 0x3a, 0x88, 0x7b, 0xaa, 0xe3, 0x87, 0xaf, 0xaa, 0xf0, 0xae, 0xcb,
- 0xcb, 0x94, 0x03, 0x32,
- 0x12, 0xb7, 0x01, 0xca, 0x90, 0x4e, 0x66, 0x0c, 0x90, 0xbf, 0x20, 0x24,
- 0x24, 0x97, 0x74, 0x14,
- 0x88, 0xc2, 0x49, 0x27, 0xca, 0x10, 0x29, 0xea, 0xca, 0xcf, 0x34, 0xd3,
- 0xd3, 0xf6, 0xa1, 0xfd,
- 0x1b, 0x0d, 0xe0, 0xaf, 0xd8, 0x69, 0x55, 0x0a, 0xd8, 0x01, 0x30, 0x36,
- 0x36, 0x3d, 0x4e, 0x1e,
- 0x58, 0xbb, 0x7a, 0x7e, 0x85, 0x7c, 0xb1, 0x7d, 0x85, 0xed, 0x9b, 0xb0,
- 0xb0, 0x20, 0xe9, 0x87,
- 0xa5, 0xd5, 0xaa, 0x15, 0x61, 0xab, 0xd6, 0xf4, 0x61, 0xcc, 0x64, 0x89,
- 0x89, 0xb1, 0x73, 0xdf,
- 0x04, 0xe9, 0xfe, 0x34, 0x20, 0x51, 0xdb, 0x82, 0x20, 0x15, 0x76, 0x08,
- 0x08, 0x9f, 0xdf, 0x45,
- 0xa7, 0x40, 0xd5, 0x0f, 0x71, 0x62, 0x5a, 0xb5, 0x71, 0x27, 0x5f, 0x8d,
- 0x8d, 0x1f, 0xfd, 0x1c,
- 0xd5, 0x3b, 0x13, 0x60, 0x67, 0xb8, 0x05, 0xd4, 0x67, 0xa3, 0x25, 0x69,
- 0x69, 0x1e, 0xd0, 0xbf,
- 0xf5, 0x7f, 0xef, 0x03, 0xa4, 0x75, 0x12, 0x4e, 0xa4, 0x0b, 0x13, 0x29,
- 0x29, 0x6c, 0xe7, 0xd2,
- 0x4d, 0xdb, 0x24, 0x97, 0x2d, 0x2f, 0xc6, 0x73, 0x2d, 0x38, 0x0a, 0x9a,
- 0x9a, 0xd1, 0x8b, 0x95,
- 0x3d, 0x35, 0x9d, 0xe2, 0x2b, 0x3c, 0x15, 0x53, 0x2b, 0x57, 0x4b, 0x7a,
- 0x7a, 0x7e, 0x28, 0xf5,
- 0xa8, 0x86, 0xb5, 0x44, 0x09, 0xdd, 0x3e, 0x70, 0x09, 0x67, 0x02, 0x93,
- 0x93, 0x84, 0x96, 0x90,
- 0x33, 0x58, 0x23, 0xa4, 0x5b, 0x06, 0x37, 0x57, 0x5b, 0x83, 0xea, 0x66,
- 0x66, 0xb2, 0x04, 0xf9,
- 0x21, 0xef, 0x22, 0x6e, 0xcb, 0x48, 0x51, 0x5b, 0xcb, 0x3c, 0xca, 0x42,
- 0x42, 0x25, 0x70, 0xed,
- 0x2b, 0x6b, 0x62, 0x1c, 0x9b, 0x23, 0xa8, 0xdd, 0x9b, 0xfd, 0x1d, 0x56,
- 0x56, 0x76, 0x83, 0xa4,
- 0x4c, 0x70, 0xfa, 0x9a, 0x25, 0xaa, 0x80, 0xb2, 0x25, 0xac, 0xf6, 0x98,
- 0x98, 0x86, 0xcc, 0x15,
- 0x1a, 0xa6, 0x3e, 0xa2, 0xd0, 0xec, 0x13, 0xcb, 0xd0, 0x95, 0xcc, 0x34,
- 0x34, 0x6a, 0x09, 0x9e,
- 0x67, 0x1b, 0x98, 0x86, 0xbe, 0x89, 0x28, 0x6f, 0xbe, 0x51, 0xeb, 0xce,
- 0xce, 0xf0, 0x4f, 0xb1,
- 0x54, 0x43, 0xbb, 0x22, 0xe5, 0x8f, 0x1f, 0x38, 0xe5, 0xd2, 0x01, 0xa8,
- 0xa8, 0x42, 0x4b, 0x48,
- 0xec, 0xe7, 0x70, 0xb6, 0x6c, 0xd5, 0xcb, 0x05, 0x6c, 0xe1, 0x18, 0x1b,
- 0x1b, 0xff, 0x27, 0x0f,
- 0x9b, 0xde, 0x96, 0xe0, 0x52, 0xdb, 0x09, 0x27, 0x52, 0xe4, 0xe8, 0xf5,
- 0xf5, 0x36, 0x92, 0x69,
- 0xa2, 0x02, 0xf5, 0x36, 0x59, 0xb6, 0xc7, 0xf6, 0x59, 0xa6, 0xd5, 0x87,
- 0x87, 0xd7, 0x65, 0xd9,
- 0x64, 0x25, 0x39, 0x91, 0xa6, 0xc5, 0xe2, 0xef, 0xa6, 0x2e, 0x2c, 0xc8,
- 0xc8, 0x09, 0x86, 0xf2,
- 0xef, 0xd9, 0xd1, 0xa1, 0x74, 0x99, 0x01, 0x85, 0x74, 0x9e, 0xdf, 0x1d,
- 0x1d, 0x06, 0xee, 0x4c,
- 0x8b, 0xfc, 0xe8, 0x30, 0xd2, 0x5c, 0xe3, 0x6a, 0xd2, 0xb0, 0xf3, 0xd5,
- 0xd5, 0x0f, 0x68, 0xbe,
- 0x6c, 0x34, 0x06, 0xf9, 0xe6, 0x67, 0x97, 0x28, 0xe6, 0x04, 0xc0, 0xd8,
- 0xd8, 0xf4, 0xfb, 0x78,
- 0xff, 0xfb, 0xaf, 0x71, 0xf4, 0x1e, 0xeb, 0xc8, 0xf4, 0xca, 0xc4, 0x3d,
- 0x3d, 0x3f, 0x14, 0x9b,
- 0xf7, 0xea, 0x90, 0x19, 0xb4, 0xbc, 0x9e, 0x0f, 0xb4, 0xe0, 0x28, 0x2d,
- 0x2d, 0xc2, 0x69, 0x11,
- 0x18, 0x33, 0x41, 0xb8, 0xc0, 0x25, 0x9f, 0x8a, 0xc0, 0x7e, 0xf7, 0x30,
- 0x30, 0xc4, 0x87, 0x5d,
- 0xb3, 0x8b, 0x55, 0xeb, 0xd1, 0xb4, 0x6b, 0x7a, 0xd1, 0x66, 0x32, 0xa5,
- 0xa5, 0xb9, 0xd8, 0x8e,
- 0x7c, 0x16, 0x78, 0x29, 0x66, 0xe0, 0x7d, 0x65, 0x66, 0x50, 0xdb, 0xf8,
- 0xf8, 0xcd, 0x01, 0xaf,
- 0xcc, 0xa3, 0x8c, 0xd5, 0xaf, 0x18, 0xdc, 0x9f, 0xaf, 0x49, 0x2e, 0x5b,
- 0x5b, 0x8d, 0x10, 0x62,
- 0x89, 0x69, 0x97, 0x2a, 0xc2, 0x95, 0x6f, 0x2b, 0xc2, 0x5b, 0xc8, 0xd1,
- 0xd1, 0xa1, 0xe6, 0x7d,
- 0xae, 0xfa, 0x34, 0x6a, 0x39, 0x45, 0x69, 0xb3, 0x39, 0x99, 0x4f, 0x9f,
- 0x9f, 0xb5, 0xc7, 0x16,
- 0x31, 0xcd, 0x5c, 0xbe, 0x4b, 0xcf, 0xbb, 0x16, 0x4b, 0x68, 0xd1, 0x62,
- 0x62, 0x1c, 0x8a, 0x3a,
- 0x34, 0x8f, 0x7c, 0x87, 0x63, 0x1b, 0x26, 0x55, 0x63, 0xe9, 0x5b, 0x68,
- 0x68, 0xd4, 0x12, 0xff,
- 0x66, 0xb0, 0x46, 0x8b, 0xb6, 0x0c, 0x6e, 0xae, 0xb6, 0xc5, 0x17, 0xcc,
- 0xcc, 0xa7, 0x08, 0x31,
- },
- { /* 12 */
- 0x55, 0x95, 0x9e, 0xb1, 0xd0, 0xa1, 0x4c, 0xd9, 0x5a, 0x2f, 0xf9, 0x1c,
- 0x4c, 0xf2, 0x1a, 0x52,
- 0xfa, 0xed, 0x87, 0xcf, 0x85, 0x5d, 0x81, 0x6c, 0x55, 0x48, 0x8b, 0x1e,
- 0x81, 0xe1, 0x58, 0x1c,
- 0x0c, 0xbe, 0x0a, 0x56, 0x48, 0xac, 0xcc, 0x72, 0x67, 0x5c, 0x45, 0x58,
- 0xcc, 0xf1, 0x09, 0x1a,
- 0x52, 0x31, 0x7b, 0x77, 0xfa, 0xee, 0x3b, 0x0a, 0xaf, 0x0c, 0xfb, 0x83,
- 0x3b, 0xb1, 0x8e, 0x02,
- 0xa3, 0xc6, 0x13, 0x28, 0x1d, 0x50, 0x01, 0xc7, 0x68, 0x3b, 0x37, 0x5a,
- 0x01, 0xe2, 0x4b, 0x54,
- 0x73, 0x1c, 0xab, 0xc9, 0xf7, 0x51, 0x4f, 0x53, 0xe2, 0x62, 0xa0, 0xf2,
- 0x4f, 0x17, 0xc7, 0xae,
- 0xe1, 0x9c, 0x70, 0x97, 0x07, 0xed, 0xe9, 0x75, 0xf2, 0xe7, 0x81, 0xb8,
- 0xe9, 0x6d, 0xd9, 0xcf,
- 0x81, 0x25, 0x20, 0x62, 0x02, 0xc4, 0x46, 0x63, 0x4c, 0x42, 0xec, 0x3d,
- 0x46, 0xe9, 0x91, 0x1f,
- 0x86, 0x81, 0xc5, 0xa4, 0x28, 0x8b, 0x31, 0xb0, 0xb9, 0x61, 0xee, 0xa2,
- 0x31, 0xaa, 0x05, 0x4f,
- 0x02, 0x35, 0x03, 0x19, 0x1c, 0x32, 0x22, 0x17, 0x4e, 0x1a, 0x41, 0xa5,
- 0x22, 0x77, 0xe2, 0xba,
- 0x6c, 0x07, 0x5a, 0xa3, 0x4d, 0x85, 0x63, 0x64, 0xd9, 0xf9, 0x28, 0xdd,
- 0x63, 0x75, 0x41, 0xca,
- 0xdf, 0xaa, 0x51, 0x43, 0xb0, 0x86, 0xb1, 0x1b, 0x84, 0x12, 0x52, 0xe6,
- 0xb1, 0xa9, 0x16, 0x07,
- 0x4e, 0xe4, 0x69, 0xe9, 0x52, 0x11, 0x24, 0xc0, 0xfd, 0x80, 0xf3, 0xba,
- 0x24, 0x7e, 0x9b, 0x81,
- 0xe8, 0xb3, 0x9c, 0x1e, 0x79, 0x3c, 0x70, 0xc3, 0x2e, 0x82, 0x87, 0xda,
- 0x70, 0xa8, 0xa6, 0x3f,
- 0x2e, 0x5d, 0x39, 0x1c, 0x57, 0x38, 0x8b, 0xd6, 0x43, 0x25, 0x9e, 0x3f,
- 0x8b, 0xfa, 0xd3, 0x51,
- 0x3d, 0xf8, 0xc2, 0x20, 0xa5, 0x40, 0x6b, 0x93, 0x1f, 0xe2, 0x53, 0x48,
- 0x6b, 0x69, 0x5c, 0x2f,
- 0x29, 0xf9, 0xdc, 0xda, 0x7d, 0x77, 0xfc, 0x05, 0xb6, 0x06, 0x9c, 0xa0,
- 0xfc, 0xb9, 0x47, 0x01,
- 0x7d, 0x97, 0xa2, 0x86, 0xa3, 0xcf, 0xa1, 0x36, 0xcb, 0x24, 0xa4, 0x0f,
- 0xa1, 0x91, 0x2c, 0x0e,
- 0x27, 0x72, 0xd5, 0x95, 0x29, 0xe9, 0x12, 0x60, 0x9f, 0x40, 0x98, 0x5d,
- 0x12, 0x3f, 0xac, 0xa1,
- 0x35, 0x2c, 0xce, 0x44, 0xd5, 0x88, 0xe3, 0xcf, 0xe4, 0x8a, 0x94, 0x99,
- 0xe3, 0x76, 0x52, 0x82,
- 0xcc, 0x0f, 0xaa, 0x7f, 0x42, 0xfe, 0x51, 0x5e, 0xd8, 0xd5, 0x9f, 0x91,
- 0x51, 0x3a, 0x99, 0x79,
- 0xd6, 0x85, 0xbd, 0xca, 0xce, 0x57, 0x28, 0xad, 0x58, 0x77, 0x54, 0x84,
- 0x28, 0x6c, 0x69, 0xf7,
- 0x87, 0x7a, 0x25, 0x49, 0x26, 0x92, 0x20, 0x5a, 0x9e, 0x6c, 0x2f, 0x11,
- 0x20, 0x70, 0x74, 0x12,
- 0xc9, 0x9e, 0x4c, 0xa0, 0x74, 0x83, 0x04, 0x9a, 0x63, 0xec, 0xdc, 0xab,
- 0x04, 0x0e, 0xef, 0x93,
- 0x6b, 0xa3, 0xbf, 0x65, 0x67, 0xca, 0x14, 0xb7, 0x2c, 0xda, 0x2a, 0x42,
- 0x14, 0x36, 0xd5, 0x9a,
- 0x32, 0x88, 0x2b, 0x82, 0xff, 0xc7, 0x94, 0x1c, 0x11, 0xa9, 0x96, 0x06,
- 0x94, 0x35, 0xc6, 0xd2,
- 0xcd, 0xf4, 0x4a, 0x92, 0x4c, 0xe7, 0x40, 0xb4, 0xff, 0xd8, 0x5e, 0x22,
- 0x40, 0xe0, 0xe8, 0x24,
- 0x23, 0x18, 0xd3, 0xa7, 0x11, 0x8d, 0x56, 0x4e, 0x03, 0x74, 0x1a, 0xd4,
- 0x56, 0xd1, 0xab, 0x16,
- 0x96, 0xea, 0xdd, 0x6c, 0xc8, 0xd8, 0xe2, 0x08, 0x8c, 0xb1, 0xa3, 0xc3,
- 0xe2, 0x94, 0x19, 0xd6,
- 0xb4, 0x09, 0xee, 0x26, 0xd7, 0x4c, 0xa5, 0xac, 0xa8, 0xc8, 0x78, 0xa4,
- 0xa5, 0x9f, 0xc3, 0x9d,
- 0x92, 0x80, 0xdb, 0x5e, 0xf0, 0xbc, 0xa6, 0x26, 0x10, 0x85, 0x21, 0x4a,
- 0xa6, 0x7a, 0x1e, 0x61,
- 0xc6, 0xee, 0xa5, 0x02, 0x2e, 0x04, 0xfb, 0x15, 0x6d, 0xa7, 0x19, 0xe5,
- 0xfb, 0x52, 0x75, 0x6e,
- 0x91, 0x4e, 0x38, 0xaa, 0xe2, 0x97, 0x95, 0xdb, 0x79, 0x92, 0xa1, 0x5c,
- 0x95, 0xd7, 0x8d, 0x86,
- 0xe4, 0x0d, 0x96, 0x48, 0x31, 0x90, 0xbc, 0xb1, 0x49, 0xde, 0xc2, 0x82,
- 0xbc, 0x59, 0xaf, 0x25,
- 0xd2, 0xef, 0xbb, 0xf8, 0xf6, 0x33, 0x6c, 0x83, 0xc4, 0x43, 0xd6, 0x0d,
- 0x6c, 0x82, 0x6e, 0x40,
- 0x56, 0x5b, 0x7d, 0x45, 0xc2, 0x8a, 0x7f, 0x24, 0x33, 0x38, 0x79, 0x0a,
- 0x7f, 0x5f, 0x89, 0xb5,
- 0x88, 0x0a, 0xcc, 0xeb, 0x7c, 0x15, 0xdf, 0xd5, 0x90, 0x27, 0xea, 0x5f,
- 0xdf, 0x2c, 0xee, 0xef,
- 0x6f, 0xc9, 0xb9, 0x57, 0x5f, 0xae, 0x50, 0x99, 0xb0, 0xee, 0xa8, 0xcb,
- 0x50, 0xd8, 0xd2, 0x2d,
- 0x10, 0x6b, 0x18, 0xc8, 0xe0, 0x53, 0xd3, 0xb8, 0x35, 0xd0, 0x4d, 0x61,
- 0xd3, 0x3e, 0x1c, 0x99,
- 0x59, 0x2b, 0x94, 0xe7, 0x98, 0x0d, 0x80, 0xab, 0x3d, 0x73, 0xbc, 0x44,
- 0x80, 0x03, 0x13, 0x48,
- 0x63, 0x77, 0xb3, 0x01, 0x17, 0x02, 0x9c, 0xeb, 0xd7, 0xb2, 0xed, 0x93,
- 0x9c, 0x29, 0xdb, 0x37,
- 0xca, 0x50, 0xaf, 0x54, 0x66, 0xa8, 0x37, 0x67, 0x0a, 0xfb, 0x5c, 0xbd,
- 0x37, 0xa3, 0x7c, 0x74,
- 0x79, 0xfd, 0xa4, 0xb4, 0x9b, 0xab, 0xe5, 0x18, 0x57, 0x10, 0x26, 0x86,
- 0xe5, 0x7f, 0x2b, 0xb9,
- 0xb2, 0x56, 0xeb, 0x0d, 0xf3, 0x1a, 0xc3, 0x95, 0x7a, 0xe6, 0xbb, 0x88,
- 0xc3, 0x06, 0x26, 0x90,
- 0x28, 0x02, 0x3c, 0x37, 0x73, 0x6e, 0xed, 0xef, 0x91, 0x0b, 0x5d, 0x13,
- 0xed, 0x63, 0x36, 0x5c,
- 0xea, 0x86, 0x9f, 0x07, 0x65, 0x0e, 0x52, 0xd4, 0x60, 0x98, 0xc6, 0x7f,
- 0x52, 0xdf, 0x44, 0x85,
- 0xec, 0xd9, 0x9a, 0x2c, 0x41, 0x58, 0x34, 0xed, 0xb2, 0xb6, 0x05, 0x53,
- 0x34, 0x46, 0xa1, 0x88,
- 0x2a, 0x37, 0x3f, 0x2e, 0x6f, 0x5c, 0xcf, 0xf8, 0xdf, 0x11, 0x1c, 0xb6,
- 0xcf, 0x14, 0xd4, 0xe6,
- 0xc4, 0xdb, 0xa6, 0x1b, 0x32, 0x36, 0xd9, 0x02, 0x23, 0xbd, 0x58, 0x40,
- 0xd9, 0x25, 0x97, 0xd4,
- 0xa7, 0xac, 0x15, 0x1a, 0x25, 0x34, 0x45, 0xe9, 0xf4, 0x0f, 0xb5, 0xd3,
- 0x45, 0x0c, 0x4c, 0xe3,
- 0x17, 0xcf, 0xfd, 0x0e, 0xca, 0x1c, 0xa4, 0x6b, 0xc0, 0xf3, 0x4f, 0xfe,
- 0xa4, 0x7d, 0x88, 0xc9,
- 0x5f, 0x74, 0x91, 0xcc, 0xbc, 0x5b, 0xe6, 0x92, 0xef, 0x5d, 0x7f, 0x68,
- 0xe6, 0x9a, 0xf6, 0x45,
- 0x62, 0x8c, 0x53, 0xec, 0x19, 0x1b, 0x8d, 0x01, 0xf0, 0xbf, 0x2c, 0x20,
- 0x8d, 0xf3, 0xaa, 0x6a,
- 0x5d, 0x41, 0x92, 0xd5, 0xa0, 0x69, 0xc4, 0x85, 0xa1, 0x47, 0x3e, 0xcd,
- 0xc4, 0xed, 0x14, 0xff,
- 0x06, 0x5f, 0x05, 0x2b, 0x24, 0x56, 0x66, 0x39, 0xd2, 0x2e, 0xc3, 0x2c,
- 0x66, 0x99, 0xe5, 0x0d,
- 0x3a, 0x5c, 0x27, 0xe6, 0x8f, 0x0f, 0x1c, 0x40, 0xea, 0xc1, 0x51, 0xd7,
- 0x1c, 0x2a, 0xc8, 0x7f,
- 0x39, 0x92, 0xc4, 0x12, 0x9d, 0x24, 0x2f, 0xbd, 0x83, 0xd6, 0xd1, 0xc1,
- 0x2f, 0x87, 0x5b, 0x98,
- 0xa1, 0xf3, 0x10, 0x31, 0x01, 0x62, 0x23, 0xd0, 0x26, 0x21, 0x76, 0xff,
- 0x23, 0x95, 0xa9, 0xee,
- 0x07, 0xa4, 0xe5, 0xc6, 0x2a, 0x4f, 0x77, 0xd3, 0xf5, 0x23, 0x02, 0x9f,
- 0x77, 0x43, 0x94, 0x50,
- 0x6d, 0xfc, 0xba, 0x4e, 0x43, 0x9c, 0x72, 0x8e, 0xfe, 0xf4, 0xe9, 0x6e,
- 0x72, 0xaf, 0x30, 0x97,
- 0x21, 0x2d, 0xd0, 0xbe, 0x0d, 0xbf, 0x74, 0x59, 0x4d, 0x6e, 0x5b, 0x71,
- 0x74, 0xa6, 0x49, 0xac,
- 0xba, 0x82, 0xe7, 0x69, 0x83, 0xd2, 0x4b, 0xc9, 0x81, 0x8e, 0x7c, 0x59,
- 0x4b, 0x19, 0x28, 0x3d,
- 0x69, 0x96, 0xbc, 0x7c, 0x7b, 0xf8, 0x36, 0xa0, 0x62, 0xc0, 0x6b, 0xe7,
- 0x36, 0x41, 0x37, 0x20,
- 0x37, 0x19, 0xcd, 0x5d, 0xc9, 0xba, 0xc1, 0xd8, 0xaa, 0x90, 0xd5, 0x3c,
- 0xc1, 0x01, 0xb0, 0x38,
- 0x3e, 0x36, 0x21, 0xd4, 0xb7, 0x6b, 0x58, 0x6e, 0x76, 0xf5, 0xd3, 0x5e,
- 0x58, 0xc4, 0xcf, 0xc8,
- 0x25, 0x47, 0xd6, 0x8c, 0x35, 0xdb, 0x30, 0x77, 0xd1, 0x5a, 0xd9, 0xf8,
- 0x30, 0x48, 0x4e, 0x1b,
- 0xc1, 0x4a, 0x40, 0xc4, 0x04, 0x4b, 0x8c, 0xc6, 0x98, 0x84, 0x1b, 0x7a,
- 0x8c, 0x11, 0xe1, 0x3e,
- 0xf7, 0xa8, 0x6d, 0x74, 0xc3, 0xe8, 0x5c, 0xf4, 0x15, 0x19, 0x0f, 0xf5,
- 0x5c, 0xca, 0x20, 0x5b,
- 0xd4, 0xb0, 0xbe, 0xd3, 0xd2, 0x65, 0x0a, 0xba, 0x16, 0x6d, 0x15, 0x21,
- 0x0a, 0x1b, 0x8b, 0x4d,
- 0x70, 0xd2, 0x48, 0x3d, 0xe5, 0x7a, 0x7c, 0xae, 0x8b, 0x75, 0x20, 0xe4,
- 0x7c, 0xba, 0x54, 0x49,
- 0xf9, 0x23, 0x64, 0x3b, 0x97, 0x76, 0xb2, 0x91, 0x3c, 0x5f, 0x0b, 0x08,
- 0xb2, 0x4c, 0xcb, 0xfb,
- 0x9b, 0xaf, 0x37, 0xd7, 0x8e, 0x6d, 0x3f, 0x90, 0xcc, 0xe0, 0x27, 0x28,
- 0x3f, 0xbf, 0x61, 0x91,
- 0x30, 0xbd, 0x28, 0x9b, 0xe3, 0xf5, 0xb6, 0x0b, 0x5f, 0xb3, 0xd7, 0xa3,
- 0xb6, 0x42, 0x24, 0x68,
- 0xf8, 0xd8, 0x84, 0xd6, 0x99, 0x6f, 0xa3, 0x7b, 0x1b, 0x52, 0xca, 0xbb,
- 0xa3, 0x96, 0xba, 0xa6,
- 0x4a, 0x8e, 0x6f, 0xdb, 0x6a, 0x75, 0x60, 0xee, 0x61, 0xb4, 0x71, 0x33,
- 0x60, 0x90, 0x9c, 0x36,
- 0x2d, 0x93, 0xda, 0xe8, 0x45, 0x13, 0xb8, 0x2b, 0x2a, 0x32, 0x1e, 0x29,
- 0xb8, 0x57, 0x40, 0xb6,
- 0xbf, 0x13, 0x01, 0xb6, 0xb5, 0xaf, 0x1e, 0x0d, 0x3a, 0xb7, 0x3f, 0x63,
- 0x1e, 0x2d, 0x5e, 0xd7,
- 0x40, 0x6f, 0x60, 0xa6, 0x06, 0x8f, 0xca, 0xa5, 0xd4, 0xc6, 0xf7, 0x47,
- 0xca, 0xf8, 0x70, 0x21,
- 0x49, 0x40, 0x8c, 0x2f, 0x78, 0x5e, 0x53, 0x13, 0x08, 0xa3, 0xf1, 0x25,
- 0x53, 0x3d, 0x0f, 0xd1,
- 0x5e, 0x8f, 0x71, 0x21, 0xb2, 0x42, 0xf7, 0x78, 0xc8, 0x50, 0xbe, 0xdb,
- 0xf7, 0x40, 0x87, 0x18,
- 0x46, 0x30, 0x65, 0x8d, 0x22, 0xd9, 0xac, 0x9c, 0x06, 0xe8, 0x34, 0x6b,
- 0xac, 0x61, 0x95, 0x2c,
- 0xae, 0x83, 0xf9, 0x93, 0x5b, 0xe5, 0xdc, 0x5f, 0x28, 0x6a, 0xb3, 0xb1,
- 0xdc, 0xc9, 0x33, 0x13,
- 0x65, 0x28, 0xb6, 0x2a, 0x33, 0x54, 0xfa, 0xd2, 0x05, 0x9c, 0x2e, 0xbf,
- 0xfa, 0xb0, 0x3e, 0x3a,
- 0x24, 0xbc, 0x36, 0x61, 0x3b, 0xc2, 0x21, 0x9d, 0xf6, 0x57, 0x18, 0x4b,
- 0x21, 0x92, 0x3f, 0x46,
- 0x5c, 0xba, 0x72, 0x38, 0xae, 0x70, 0xd5, 0x6f, 0x86, 0x4a, 0xff, 0x7e,
- 0xd5, 0x37, 0x65, 0xa2,
- 0x72, 0xe7, 0x4b, 0x24, 0xf9, 0x48, 0x5e, 0xb9, 0xc5, 0x6f, 0x61, 0x41,
- 0x5e, 0xcd, 0xb6, 0xf3,
- 0x97, 0x11, 0x3d, 0x81, 0xc6, 0xc1, 0xf3, 0xe2, 0xab, 0xbc, 0x62, 0x70,
- 0xf3, 0x4e, 0x68, 0x8b,
- 0xaf, 0x78, 0x19, 0x7e, 0x55, 0xfc, 0xcd, 0xb5, 0x0f, 0x67, 0x72, 0x02,
- 0xcd, 0x13, 0x42, 0x4e,
- 0x0d, 0x45, 0xea, 0xbb, 0x46, 0xb5, 0xdd, 0x98, 0x40, 0x51, 0x84, 0xeb,
- 0xdd, 0x2b, 0x78, 0x47,
- 0xb9, 0x4c, 0x04, 0x9d, 0x91, 0xf9, 0x78, 0x34, 0xe8, 0x99, 0xfc, 0x4f,
- 0x78, 0xb4, 0xbb, 0xda,
- 0x45, 0xfe, 0x86, 0x79, 0x30, 0xf2, 0x9f, 0x61, 0x6f, 0xff, 0xb4, 0x7d,
- 0x9f, 0xcc, 0x06, 0xcb,
- 0x76, 0x8d, 0x4d, 0x16, 0xc1, 0x2c, 0x1a, 0x97, 0x59, 0x5b, 0xe3, 0xc8,
- 0x1a, 0x23, 0xb1, 0x44,
- 0x43, 0xa1, 0x83, 0x52, 0x14, 0xa4, 0xf9, 0x58, 0xbd, 0xd1, 0x77, 0x51,
- 0xf9, 0x55, 0xe3, 0xc6,
- 0x51, 0xff, 0x98, 0x83, 0xe8, 0xc5, 0x08, 0xf7, 0xc6, 0x1b, 0x7b, 0x95,
- 0x08, 0x1c, 0x1d, 0xe5,
- 0x85, 0x4f, 0x26, 0x50, 0x3a, 0xa0, 0x02, 0x4d, 0xd0, 0x76, 0x6e, 0xb4,
- 0x02, 0x07, 0x96, 0xa8,
- 0x5a, 0xe5, 0x77, 0x13, 0x8a, 0x26, 0xb3, 0x56, 0x54, 0x64, 0x3c, 0x52,
- 0xb3, 0xae, 0x80, 0xaf,
- 0x7c, 0x6c, 0x42, 0x6b, 0xad, 0xd6, 0xb0, 0xdc, 0xec, 0x29, 0x65, 0xbc,
- 0xb0, 0x4b, 0x5d, 0x53,
- 0xd0, 0xda, 0xb8, 0xe1, 0xea, 0x01, 0x4e, 0x94, 0x8a, 0x59, 0x97, 0xa8,
- 0x4e, 0xf5, 0x8c, 0xfa,
- 0x08, 0xd4, 0x0c, 0x64, 0x70, 0xc8, 0x88, 0x5c, 0xfb, 0x68, 0xc7, 0xd1,
- 0x88, 0x1f, 0x0e, 0xad,
- 0x05, 0x91, 0xe6, 0xdf, 0x36, 0x7d, 0x55, 0xc4, 0xbb, 0x39, 0x43, 0x3a,
- 0x55, 0x34, 0x76, 0xea,
- 0xb8, 0xb7, 0xe4, 0x70, 0x9f, 0xe0, 0x69, 0xde, 0xcf, 0x94, 0x3d, 0xfc,
- 0x69, 0x6e, 0xca, 0x87,
- 0x0f, 0x70, 0xe9, 0xa2, 0x5a, 0x87, 0xff, 0x8f, 0x0e, 0x4b, 0xc5, 0x4e,
- 0xff, 0x5c, 0x9a, 0xfd,
- 0x7a, 0x33, 0x47, 0x40, 0x89, 0x80, 0xd6, 0xe5, 0x3e, 0x07, 0xa6, 0x90,
- 0xd6, 0xd2, 0xb8, 0x5e,
- 0xff, 0x7c, 0x61, 0x10, 0xb3, 0x20, 0xd4, 0xa8, 0xee, 0x71, 0xc8, 0x24,
- 0xd4, 0xd5, 0x2e, 0xf6,
- 0xda, 0x3b, 0xb7, 0x9c, 0x86, 0xfb, 0xe4, 0xdf, 0x3f, 0x2b, 0x11, 0xdc,
- 0xe4, 0x9d, 0x60, 0xed,
- 0xdb, 0xc0, 0x57, 0x71, 0x88, 0xe2, 0xf5, 0x35, 0x18, 0x26, 0xd0, 0x6f,
- 0xf5, 0x47, 0x11, 0xb0,
- 0xf2, 0x39, 0x8b, 0xab, 0xf5, 0x95, 0x09, 0x30, 0xae, 0x20, 0x4c, 0xcf,
- 0x09, 0xfe, 0x56, 0xb1,
- 0x99, 0x9a, 0x34, 0xce, 0x92, 0x5f, 0x1d, 0x87, 0x82, 0xfa, 0x66, 0x8d,
- 0x1d, 0xc8, 0x83, 0x2b,
- 0xa9, 0x27, 0x1c, 0x55, 0x71, 0xaa, 0xab, 0x8c, 0xdd, 0x49, 0xb1, 0x2e,
- 0xab, 0x8a, 0xa7, 0x43,
- 0x54, 0x6e, 0x7e, 0x5c, 0xde, 0xb8, 0x5d, 0x33, 0x7d, 0x22, 0x38, 0xaf,
- 0x5d, 0x28, 0x6b, 0x0f,
- 0x95, 0x24, 0x3e, 0x98, 0xda, 0xf3, 0xd1, 0xf5, 0xe5, 0xa6, 0x23, 0xd5,
- 0xd1, 0x39, 0x8a, 0x31,
- 0x68, 0x6d, 0x5c, 0x91, 0x75, 0xe1, 0x27, 0x4a, 0x45, 0xcd, 0xaa, 0x54,
- 0x27, 0x9b, 0x46, 0x7d,
- 0x1c, 0xd5, 0x12, 0x9e, 0xa8, 0xff, 0x1f, 0xca, 0x52, 0x8c, 0x08, 0x39,
- 0x1f, 0xcf, 0x15, 0x83,
- 0x6a, 0x58, 0x5f, 0x88, 0x69, 0xd3, 0x05, 0x5d, 0x0b, 0xd7, 0xeb, 0xf1,
- 0x05, 0xec, 0xa4, 0xc7,
- 0x0e, 0x8b, 0x09, 0x4f, 0x54, 0x9e, 0xee, 0x65, 0x29, 0x46, 0x04, 0xfd,
- 0xee, 0x86, 0xeb, 0xa0,
- 0x93, 0x7b, 0x3b, 0xb3, 0xfe, 0xa5, 0xb7, 0xcc, 0x37, 0x88, 0xe0, 0xf9,
- 0xb7, 0xa0, 0x6f, 0x3c,
- 0xa8, 0xdc, 0xfc, 0xb8, 0x7f, 0xb3, 0xba, 0x66, 0xfa, 0x44, 0x70, 0x9d,
- 0xba, 0x50, 0xd6, 0x1e,
- 0xcf, 0xc1, 0x49, 0x8b, 0x50, 0xd5, 0x62, 0xa3, 0xb1, 0xc2, 0x1f, 0x87,
- 0x62, 0x97, 0x0a, 0x9e,
- 0xc2, 0x84, 0xa3, 0x30, 0x16, 0x60, 0xbf, 0x3b, 0xf1, 0x93, 0x9b, 0x6c,
- 0xbf, 0xbc, 0x72, 0xd9,
- 0xcb, 0xab, 0x4f, 0xb9, 0x68, 0xb1, 0x26, 0x8d, 0x2d, 0xf6, 0x9d, 0x0e,
- 0x26, 0x79, 0x0d, 0x29,
- 0x8e, 0x55, 0xc9, 0xc0, 0x58, 0x43, 0xb9, 0xec, 0x42, 0x09, 0x29, 0x73,
- 0xb9, 0xb5, 0x0b, 0xe2,
- 0x33, 0x73, 0xcb, 0x6f, 0xf1, 0xde, 0x85, 0xf6, 0x36, 0xa4, 0x57, 0xb5,
- 0x85, 0xef, 0xb7, 0x8f,
- 0x15, 0xfa, 0xfe, 0x17, 0xd6, 0x2e, 0x86, 0x7c, 0x8e, 0xe9, 0x0e, 0x5b,
- 0x86, 0x0a, 0x6a, 0x73,
- 0x89, 0xf1, 0x2c, 0x06, 0x72, 0x0c, 0xce, 0x3f, 0xb7, 0x2a, 0x2b, 0xec,
- 0xce, 0xf6, 0x9f, 0xb2,
- 0xd1, 0x21, 0x58, 0x0c, 0xe4, 0x18, 0x5f, 0x7e, 0xad, 0x54, 0x56, 0x1b,
- 0x5f, 0x2f, 0xfd, 0xa7,
- 0x1a, 0x8a, 0x17, 0xb5, 0x8c, 0xa9, 0x79, 0xf3, 0x80, 0xa2, 0xcb, 0x15,
- 0x79, 0x56, 0xf0, 0x8e,
- 0x98, 0x61, 0xd4, 0x23, 0x9c, 0x46, 0x0c, 0x6d, 0xa5, 0xf7, 0xa7, 0x3e,
- 0x0c, 0x12, 0xf2, 0x76,
- 0xce, 0x3a, 0xa9, 0x66, 0x5e, 0xcc, 0x73, 0x49, 0x96, 0xcf, 0xde, 0x34,
- 0x73, 0x4d, 0x7b, 0xc3,
- 0x1b, 0x71, 0xf7, 0x58, 0x82, 0xb0, 0x68, 0x19, 0xa7, 0xaf, 0x0a, 0xa6,
- 0x68, 0x8c, 0x81, 0xd3,
- 0xe3, 0xa9, 0x73, 0x8e, 0x1b, 0xdf, 0xcb, 0x62, 0xbc, 0xfd, 0xc0, 0x1d,
- 0xcb, 0x1a, 0x3b, 0x75,
- 0x9d, 0xf0, 0x32, 0xfc, 0xaa, 0x3b, 0x59, 0xa9, 0x1e, 0xce, 0xe4, 0x04,
- 0x59, 0x26, 0x84, 0x9c,
- 0x8c, 0x60, 0xca, 0xd9, 0x44, 0x71, 0x9b, 0xfb, 0x0c, 0x13, 0x68, 0xd6,
- 0x9b, 0xc2, 0xe9, 0x58,
- 0x6e, 0x32, 0x59, 0xba, 0x51, 0xb7, 0x41, 0x73, 0x97, 0xe3, 0x69, 0x78,
- 0x41, 0x02, 0xa3, 0x70,
- 0x66, 0xe6, 0x55, 0xde, 0x21, 0x7f, 0xc9, 0x2f, 0x6c, 0x8b, 0xae, 0xa9,
- 0xc9, 0x1d, 0xad, 0xdd,
- 0x58, 0xd0, 0x74, 0x0a, 0x96, 0x14, 0x91, 0x41, 0x1a, 0x7e, 0x7d, 0xf7,
- 0x91, 0xd9, 0x62, 0x15,
- 0x9a, 0x54, 0xd7, 0x3a, 0x80, 0x74, 0x2e, 0x7a, 0xeb, 0xed, 0xe6, 0x9b,
- 0x2e, 0x65, 0x10, 0xcc,
- 0x47, 0xcb, 0x85, 0x60, 0x2c, 0xc0, 0xbd, 0x76, 0x21, 0xe5, 0xf5, 0xd8,
- 0xbd, 0xbb, 0xe4, 0x71,
- 0x18, 0xbf, 0x14, 0xac, 0x90, 0x9b, 0x5b, 0xe4, 0xce, 0xb8, 0x8a, 0xb0,
- 0x5b, 0x21, 0x12, 0x34,
- 0xad, 0x4d, 0x1a, 0x67, 0x49, 0xce, 0xef, 0xa2, 0x41, 0x7d, 0x33, 0xa7,
- 0xef, 0x64, 0xa0, 0xf4,
- 0x1e, 0xe0, 0x11, 0x87, 0xb4, 0xcd, 0x3d, 0xdd, 0x1c, 0x96, 0x49, 0x9c,
- 0x3d, 0xb8, 0xf7, 0x39,
- 0xdc, 0x64, 0xb2, 0xb7, 0xa2, 0xad, 0x82, 0xe6, 0xed, 0x05, 0xd2, 0xf0,
- 0x82, 0x04, 0x85, 0xe0,
- 0xa4, 0x62, 0xf6, 0xee, 0x37, 0x1f, 0x76, 0x14, 0x9d, 0x18, 0x35, 0xc5,
- 0x76, 0xa1, 0xdf, 0x04,
- 0x34, 0xd7, 0x2e, 0xa9, 0xdb, 0x91, 0xf2, 0x25, 0xc3, 0x87, 0x55, 0x2a,
- 0xf2, 0xac, 0x23, 0xdf,
- 0xfd, 0x49, 0x62, 0x09, 0xaf, 0x12, 0xf6, 0xbf, 0xa0, 0x6b, 0x89, 0x81,
- 0xf6, 0xa2, 0xcc, 0x4c,
- 0x9f, 0xc5, 0x31, 0xe5, 0xb6, 0x09, 0x7b, 0xbe, 0x50, 0xd4, 0xa5, 0xa1,
- 0x7b, 0x51, 0x66, 0x26,
- 0x8f, 0xae, 0x29, 0x2d, 0x56, 0x5a, 0xa8, 0x06, 0x65, 0x04, 0xe8, 0xc0,
- 0xa8, 0x6f, 0x7a, 0xbf,
- 0xed, 0x22, 0x7a, 0xc1, 0x4f, 0x41, 0x25, 0x07, 0x95, 0xbb, 0xc4, 0xe0,
- 0x25, 0x9c, 0xd0, 0xd5,
- 0xf1, 0xf7, 0x68, 0x5f, 0xe7, 0xbe, 0x3a, 0xcd, 0xc7, 0x37, 0xcc, 0xd9,
- 0x3a, 0x53, 0xc5, 0x56,
- 0xe5, 0xf6, 0x76, 0xa5, 0x3f, 0x89, 0xad, 0x5b, 0x6e, 0xd3, 0x03, 0x31,
- 0xad, 0x83, 0xde, 0x78,
- 0x1f, 0x1b, 0xf1, 0x6a, 0xba, 0xd4, 0x2c, 0x37, 0x3b, 0x9b, 0x88, 0x2f,
- 0x2c, 0x62, 0x86, 0x64,
- 0x82, 0xeb, 0xc3, 0x96, 0x10, 0xef, 0x75, 0x9e, 0x25, 0x55, 0x6c, 0x2b,
- 0x75, 0x44, 0x02, 0xf8,
- 0xf0, 0x0c, 0x88, 0xb2, 0xe9, 0xa7, 0x2b, 0x27, 0xe0, 0x3a, 0x0d, 0x6a,
- 0x2b, 0x89, 0xb4, 0x0b,
- 0xe6, 0x38, 0x95, 0x51, 0x2d, 0xa2, 0x9e, 0xa6, 0x07, 0xc4, 0x83, 0x27,
- 0x9e, 0x2e, 0x4d, 0x9f,
- 0xc3, 0x7f, 0x43, 0xdd, 0x18, 0x79, 0xae, 0xd1, 0xd6, 0x9e, 0x5a, 0xdf,
- 0xae, 0x66, 0x03, 0x84,
- 0xef, 0x17, 0x79, 0xd8, 0x53, 0x73, 0x07, 0x10, 0xdb, 0xa1, 0x85, 0x45,
- 0x07, 0xeb, 0x32, 0x6f,
- 0x1d, 0x2e, 0xf2, 0x73, 0xa6, 0xe6, 0x0e, 0x20, 0x75, 0x81, 0xc9, 0x8a,
- 0x0e, 0x15, 0x64, 0xde,
- 0xc0, 0xb1, 0xa0, 0x29, 0x0a, 0x52, 0x9d, 0x2c, 0xbf, 0x89, 0xda, 0xc9,
- 0x9d, 0xcb, 0x90, 0x63,
- 0xf6, 0x53, 0x8d, 0x99, 0xcd, 0xf1, 0x4d, 0x1e, 0x32, 0x14, 0xce, 0x46,
- 0x4d, 0x10, 0x51, 0x06,
- 0x4b, 0x75, 0x8f, 0x36, 0x64, 0x6c, 0x71, 0x04, 0x46, 0xb9, 0xb0, 0x80,
- 0x71, 0x4a, 0xed, 0x6b,
- 0xee, 0xec, 0x99, 0x35, 0x5d, 0x6a, 0x16, 0xfa, 0xfc, 0xac, 0x44, 0xf6,
- 0x16, 0x31, 0x43, 0x32,
- 0xe9, 0x48, 0x7c, 0xf3, 0x77, 0x25, 0x61, 0x29, 0x09, 0x8f, 0x46, 0x69,
- 0x61, 0x72, 0xd7, 0x62,
- 0xe2, 0x52, 0x93, 0x63, 0x15, 0xc6, 0xda, 0x88, 0x9b, 0xf0, 0x01, 0xae,
- 0xda, 0xc0, 0x4a, 0x28,
- 0x16, 0x34, 0x1d, 0xe3, 0xc4, 0x05, 0xb5, 0x81, 0xe7, 0xfe, 0x8e, 0x4d,
- 0xb5, 0xa7, 0xf9, 0x94,
- 0x53, 0xca, 0x9b, 0x9a, 0xf4, 0xf7, 0x2a, 0xe0, 0x88, 0x01, 0x3a, 0x30,
- 0x2a, 0x6b, 0xff, 0x5f,
- 0xdd, 0x9f, 0x52, 0x5a, 0xac, 0xb4, 0x93, 0x0c, 0xca, 0x08, 0x13, 0x43,
- 0x93, 0xde, 0xf4, 0xbd,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x01, 0xfb, 0xe0, 0xed, 0x0e, 0x19, 0x11, 0xea, 0x27, 0x0d, 0xc1, 0xb3,
- 0x11, 0xda, 0x71, 0x5d,
- 0x8b, 0xc4, 0x2f, 0x1f, 0x6e, 0x3e, 0xec, 0x28, 0xf9, 0x30, 0x6a, 0x49,
- 0xec, 0x81, 0x7d, 0x08,
- 0xf3, 0xc2, 0x6b, 0x46, 0xfb, 0x8c, 0x18, 0xda, 0x89, 0x2d, 0x8d, 0x7c,
- 0x18, 0x24, 0x27, 0xec,
- 0xde, 0x51, 0xb1, 0xae, 0xbe, 0x9f, 0xa0, 0xf1, 0xa3, 0x1f, 0x93, 0x55,
- 0xa0, 0x73, 0x67, 0x5a,
- 0x57, 0xa0, 0x9d, 0xa8, 0xcc, 0x93, 0x6e, 0xce, 0x14, 0x35, 0xb8, 0xb9,
- 0x6e, 0x85, 0xf8, 0xe8,
- 0x9e, 0x3e, 0xd1, 0x08, 0xb8, 0x10, 0x6a, 0x54, 0x77, 0xd9, 0x64, 0x12,
- 0x6a, 0x8b, 0x17, 0x7b,
- 0x38, 0x69, 0x24, 0xff, 0x93, 0x3d, 0x3e, 0x57, 0xa4, 0xdb, 0x10, 0x72,
- 0x3e, 0x5d, 0x2a, 0xc5,
- 0xbe, 0xe8, 0xe1, 0x5b, 0xbb, 0xb6, 0x0f, 0xe7, 0x1d, 0xba, 0xfe, 0xd0,
- 0x0f, 0xf7, 0x2f, 0x8a,
- 0x8a, 0x3f, 0xcf, 0xf2, 0x60, 0x27, 0xfd, 0xc2, 0xde, 0x3d, 0xab, 0xfa,
- 0xfd, 0x5b, 0x0c, 0x55,
- 0x4f, 0x1f, 0x89, 0x04, 0x5c, 0x08, 0x35, 0x2a, 0xda, 0x8d, 0x32, 0x09,
- 0x35, 0xa4, 0xea, 0xdc,
- 0xa2, 0x3d, 0xf3, 0xc5, 0x13, 0x49, 0x10, 0x2d, 0x4f, 0x36, 0xf6, 0xe9,
- 0x10, 0x38, 0x3a, 0x09,
- 0x61, 0x42, 0xb0, 0x18, 0x0b, 0x30, 0xbe, 0xfc, 0x99, 0xa8, 0xac, 0x36,
- 0xbe, 0x5e, 0x39, 0x8d,
- 0x9c, 0x0b, 0xd2, 0x11, 0xa4, 0x22, 0x48, 0x43, 0x39, 0xc3, 0x25, 0xb7,
- 0x48, 0xfc, 0xf5, 0xc1,
- 0x26, 0x89, 0x35, 0x78, 0x27, 0xf0, 0x03, 0x8a, 0xb8, 0x4d, 0x59, 0xee,
- 0x03, 0xe5, 0xdd, 0xfc,
- 0x60, 0xb9, 0x50, 0xf5, 0x05, 0x29, 0xaf, 0x16, 0xbe, 0xa5, 0x6d, 0x85,
- 0xaf, 0x84, 0x48, 0xd0,
- 0x78, 0x06, 0x44, 0x59, 0x95, 0xb2, 0xf4, 0xf2, 0x70, 0x1d, 0xe7, 0x35,
- 0xf4, 0xa5, 0x5a, 0xe4,
- 0xd9, 0xf5, 0x54, 0x68, 0x94, 0xd0, 0xd7, 0x22, 0x56, 0x3c, 0x91, 0xca,
- 0xd7, 0x30, 0xf3, 0x0a,
- 0x3c, 0x03, 0x22, 0xcd, 0xab, 0x59, 0x7a, 0x79, 0x38, 0xef, 0x92, 0xfb,
- 0x7a, 0xb3, 0x2d, 0x72,
- 0xfb, 0x16, 0x67, 0x22, 0x8b, 0x44, 0x90, 0x86, 0x72, 0x45, 0x4a, 0xad,
- 0x90, 0x3b, 0x29, 0x41,
- 0xc7, 0x15, 0x45, 0xef, 0x20, 0x1d, 0xea, 0xff, 0x4a, 0xaa, 0xd8, 0x56,
- 0xea, 0x88, 0x04, 0x33,
- 0xfe, 0x87, 0x81, 0xfd, 0xbd, 0x39, 0xc5, 0x42, 0xc9, 0x7c, 0x09, 0x97,
- 0xc5, 0x0f, 0x5f, 0xab,
- 0x36, 0xe2, 0x2d, 0xb0, 0xc7, 0xa3, 0xd0, 0x32, 0x8d, 0x9d, 0x14, 0x8f,
- 0xd0, 0xdb, 0xc1, 0x65,
- 0xa0, 0x08, 0xf0, 0xdc, 0x0f, 0x7b, 0x32, 0x3a, 0x01, 0x2c, 0xb7, 0x4c,
- 0x32, 0x4f, 0xd8, 0xb3,
- 0x50, 0x04, 0x78, 0x6e, 0xe6, 0xdc, 0x19, 0x1d, 0xe1, 0x16, 0xba, 0x26,
- 0x19, 0xc6, 0x6c, 0xb8,
- 0xf5, 0x9d, 0x6e, 0x6d, 0xdf, 0xda, 0x7e, 0xe3, 0x5b, 0x03, 0x4e, 0x50,
- 0x7e, 0xbd, 0xc2, 0xe1,
- 0xaa, 0xe9, 0xff, 0xa1, 0x63, 0x81, 0x98, 0x71, 0xb4, 0x5e, 0x31, 0x38,
- 0x98, 0x27, 0x34, 0xa4,
- 0xd3, 0x14, 0x5b, 0x15, 0xf8, 0x2a, 0x7d, 0x69, 0xe3, 0x4e, 0x17, 0xbe,
- 0x7d, 0x58, 0x1f, 0x1d,
- 0x41, 0x94, 0x80, 0x4b, 0x08, 0x96, 0xdb, 0x4f, 0xf3, 0xcb, 0x36, 0xf4,
- 0xdb, 0x22, 0x01, 0x7c,
- 0x7f, 0xa2, 0xa1, 0x9f, 0xbf, 0xfd, 0x83, 0x21, 0x85, 0x3e, 0xe5, 0xaa,
- 0x83, 0xe6, 0xce, 0xb4,
- 0xa5, 0x99, 0x16, 0x03, 0x39, 0x06, 0x67, 0xfe, 0xba, 0x15, 0xf4, 0x76,
- 0x67, 0x7b, 0xae, 0x59,
- 0xb0, 0x63, 0xe8, 0x14, 0xef, 0x28, 0xe1, 0x82, 0x34, 0xfc, 0xfa, 0x2d,
- 0xe1, 0x71, 0xc4, 0x2a,
- 0x48, 0xbb, 0x6c, 0xc2, 0x76, 0x47, 0x42, 0xf9, 0x2f, 0xae, 0x30, 0x96,
- 0x42, 0xe7, 0x7e, 0x8c,
- 0x20, 0xd6, 0x30, 0x53, 0x03, 0xa6, 0x65, 0xb3, 0x6a, 0x63, 0x9a, 0xc2,
- 0x65, 0x7c, 0x38, 0xf1,
- 0xf4, 0x66, 0x8e, 0x80, 0xd1, 0xc3, 0x6f, 0x09, 0x7c, 0x0e, 0x8f, 0xe3,
- 0x6f, 0x67, 0xb3, 0xbc,
- 0x0b, 0x1a, 0xef, 0x90, 0x62, 0xe3, 0xbb, 0xa1, 0x92, 0x7f, 0x47, 0xc7,
- 0xbb, 0xb2, 0x9d, 0x4a,
- 0xd8, 0x0e, 0xb4, 0x85, 0x9a, 0xc9, 0xc6, 0xc8, 0x71, 0x31, 0x50, 0x79,
- 0xc6, 0xea, 0x82, 0x57,
- 0xb7, 0xc7, 0x0d, 0xd2, 0xc5, 0x67, 0x96, 0x51, 0xc1, 0xdf, 0xf8, 0xb2,
- 0x96, 0x32, 0x50, 0x7a,
- 0xb1, 0x98, 0x08, 0xf9, 0xe1, 0x31, 0xf0, 0x68, 0x13, 0xf1, 0x3b, 0x9e,
- 0xf0, 0xab, 0xb5, 0x77,
- 0xd5, 0x4b, 0x5e, 0x3e, 0xdc, 0x7c, 0x1b, 0x50, 0x31, 0x60, 0xd4, 0x92,
- 0x1b, 0xc1, 0xfa, 0x10,
- 0x22, 0xe3, 0x33, 0x4a, 0x1f, 0x94, 0x47, 0xa4, 0x24, 0x79, 0xdb, 0x67,
- 0x47, 0x0b, 0xda, 0x4b,
- 0x4c, 0xd1, 0x6a, 0xf0, 0x4e, 0x23, 0x06, 0xd7, 0xb3, 0x9a, 0xb2, 0x1f,
- 0x06, 0x09, 0x79, 0x3b,
- 0x3f, 0xcd, 0xc1, 0x39, 0xb9, 0x72, 0x49, 0x84, 0x51, 0xf8, 0x12, 0xed,
- 0x49, 0x1e, 0xbe, 0x95,
- 0x75, 0x43, 0xae, 0xe2, 0xd3, 0x07, 0x29, 0x6a, 0x30, 0x4c, 0x63, 0xde,
- 0x29, 0x8e, 0x22, 0xa3,
- 0x19, 0x44, 0xf4, 0x41, 0x9e, 0x82, 0x4a, 0x0e, 0xe9, 0xb5, 0x4b, 0x03,
- 0x4a, 0xfb, 0x63, 0x69,
- 0x74, 0xb8, 0x4e, 0x0f, 0xdd, 0x1e, 0x38, 0x80, 0x17, 0x41, 0xa2, 0x6d,
- 0x38, 0x54, 0x53, 0xfe,
- 0x13, 0xa5, 0xfb, 0x3c, 0xf2, 0x78, 0xe0, 0x45, 0x5c, 0xc7, 0xcd, 0x77,
- 0xe0, 0x93, 0x8f, 0x7e,
- 0xd7, 0x7e, 0x5d, 0x27, 0xc0, 0x4e, 0x39, 0x47, 0x7f, 0x7a, 0x95, 0x37,
- 0x39, 0xb6, 0x18, 0xaa,
- 0x84, 0xb4, 0xc6, 0xbd, 0x34, 0xb9, 0x13, 0xa7, 0xf7, 0x7b, 0xaf, 0x07,
- 0x13, 0xdd, 0xe7, 0xf5,
- 0x7b, 0xc8, 0xa7, 0xad, 0x87, 0x99, 0xc7, 0x0f, 0x19, 0x0a, 0x67, 0x23,
- 0xc7, 0x08, 0xc9, 0x03,
- 0x42, 0x5a, 0x63, 0xbf, 0x1a, 0xbd, 0xe8, 0xb2, 0x9a, 0xdc, 0xb6, 0xe2,
- 0xe8, 0x8f, 0x92, 0x9b,
- 0x11, 0x90, 0xf8, 0x25, 0xee, 0x4a, 0xc2, 0x52, 0x12, 0xdd, 0x8c, 0xd2,
- 0xc2, 0xe4, 0x6d, 0xc4,
- 0xe0, 0x67, 0x90, 0x7a, 0x09, 0xf4, 0xf8, 0x9f, 0xd5, 0xea, 0x40, 0x0b,
- 0xf8, 0xb7, 0xa8, 0x92,
- 0x71, 0x29, 0xa8, 0xd0, 0xeb, 0x63, 0x6d, 0x44, 0xac, 0x78, 0xe1, 0x57,
- 0x6d, 0x60, 0x25, 0x14,
- 0x31, 0x46, 0xc8, 0x76, 0xed, 0xec, 0xa7, 0xe1, 0x78, 0xbe, 0x16, 0x10,
- 0xa7, 0x98, 0x55, 0x35,
- 0x67, 0x1d, 0xb5, 0x33, 0x2f, 0x66, 0xd8, 0xc5, 0x4b, 0x86, 0x6f, 0x1a,
- 0xd8, 0xc7, 0xdc, 0x80,
- 0xc8, 0x65, 0xac, 0x4d, 0x7a, 0x9a, 0x15, 0x70, 0x44, 0xe1, 0x1d, 0x18,
- 0x15, 0xd4, 0x9e, 0xce,
- 0x4d, 0x2a, 0x8a, 0x1d, 0x40, 0x3a, 0x17, 0x3d, 0x94, 0x97, 0x73, 0xac,
- 0x17, 0xd3, 0x08, 0x66,
- 0xfc, 0xb2, 0x82, 0xe4, 0xa1, 0x0b, 0xe7, 0x55, 0x87, 0x66, 0x48, 0x32,
- 0xe7, 0x78, 0xbd, 0x11,
- 0xb3, 0xad, 0x0b, 0xe0, 0xfd, 0x03, 0xd2, 0x7f, 0x5d, 0xeb, 0x7a, 0x3b,
- 0xd2, 0xdc, 0x57, 0xcd,
- 0x44, 0x05, 0x66, 0x94, 0x3e, 0xeb, 0x8e, 0x8b, 0x48, 0xf2, 0x75, 0xce,
- 0x8e, 0x16, 0x77, 0x96,
- 0xc5, 0x20, 0x46, 0xf6, 0x3c, 0x2f, 0xc8, 0xe8, 0x04, 0xb0, 0x99, 0xf3,
- 0xc8, 0xff, 0xe6, 0x89,
- 0x14, 0x01, 0x1e, 0xfa, 0xd8, 0x37, 0x97, 0x96, 0xa9, 0xe4, 0xcf, 0xe8,
- 0x97, 0xd0, 0x1b, 0x2e,
- 0x2b, 0xcc, 0xdf, 0xc3, 0x61, 0x45, 0xde, 0x12, 0xf8, 0x1c, 0xdd, 0x05,
- 0xde, 0xce, 0xa5, 0xbb,
- 0x12, 0x5e, 0x1b, 0xd1, 0xfc, 0x61, 0xf1, 0xaf, 0x7b, 0xca, 0x0c, 0xc4,
- 0xf1, 0x49, 0xfe, 0x23,
- 0xb6, 0x3c, 0xed, 0x3f, 0xcb, 0x7e, 0x87, 0xbb, 0xe6, 0xd2, 0x39, 0x01,
- 0x87, 0xe8, 0x21, 0x27,
- 0xbc, 0xdd, 0xe2, 0x42, 0xa7, 0x84, 0x2d, 0xf0, 0x53, 0xa0, 0xbf, 0x75,
- 0x2d, 0x80, 0xcd, 0x30,
- 0x8d, 0x9b, 0x2a, 0x34, 0x4a, 0x68, 0x8a, 0x11, 0x2b, 0x1e, 0xa9, 0x65,
- 0x8a, 0x18, 0x98, 0x05,
- 0x90, 0xb5, 0xd8, 0x47, 0xec, 0x8e, 0x84, 0x31, 0x5e, 0x9f, 0x60, 0xef,
- 0x84, 0x0d, 0xfc, 0xdb,
- 0x77, 0x76, 0xad, 0xfb, 0xcf, 0x35, 0x0b, 0x7d, 0x7e, 0x56, 0x22, 0x7b,
- 0x0b, 0xf9, 0xc0, 0x19,
- 0x94, 0xdf, 0xde, 0x75, 0xd4, 0xea, 0xc0, 0x1f, 0xc2, 0xab, 0xe2, 0x66,
- 0xc0, 0xe3, 0xfb, 0x6c,
- 0xe7, 0xc3, 0x75, 0xbc, 0x23, 0xbb, 0x8f, 0x4c, 0x20, 0xc9, 0x42, 0x94,
- 0x8f, 0xf4, 0x3c, 0xc2,
- 0x5b, 0x1e, 0x97, 0xfe, 0x84, 0x3f, 0xa2, 0xbc, 0x73, 0x69, 0xfd, 0xe1,
- 0xa2, 0x74, 0xf1, 0xf2,
- 0x64, 0xd3, 0x56, 0xc7, 0x3d, 0x4d, 0xeb, 0x38, 0x22, 0x91, 0xef, 0x0c,
- 0xeb, 0x6a, 0x4f, 0x67,
- 0x0a, 0xe1, 0x0f, 0x7d, 0x6c, 0xfa, 0xaa, 0x4b, 0xb5, 0x72, 0x86, 0x74,
- 0xaa, 0x68, 0xec, 0x17,
- 0xab, 0x12, 0x1f, 0x4c, 0x6d, 0x98, 0x89, 0x9b, 0x93, 0x53, 0xf0, 0x8b,
- 0x89, 0xfd, 0x45, 0xf9,
- 0x03, 0xce, 0xe3, 0xf4, 0x12, 0x2b, 0x33, 0xfd, 0x69, 0x17, 0x80, 0x16,
- 0x33, 0xad, 0x93, 0xe7,
- 0x80, 0xde, 0xc0, 0x8f, 0x0c, 0xdd, 0x57, 0x89, 0x6b, 0x4f, 0x2d, 0x8e,
- 0x57, 0x33, 0xe0, 0x42,
- 0x83, 0x10, 0x23, 0x7b, 0x1e, 0xf6, 0x64, 0x74, 0x02, 0x58, 0xad, 0x98,
- 0x64, 0x9e, 0x73, 0xa5,
- 0xa6, 0x57, 0xf5, 0xf7, 0x2b, 0x2d, 0x54, 0x03, 0xd3, 0x02, 0x74, 0x60,
- 0x54, 0xd6, 0x3d, 0xbe,
- 0x09, 0x2f, 0xec, 0x89, 0x7e, 0xd1, 0x99, 0xb6, 0xdc, 0x65, 0x06, 0x62,
- 0x99, 0xc5, 0x7f, 0xf0,
- 0xac, 0xb6, 0xfa, 0x8a, 0x47, 0xd7, 0xfe, 0x48, 0x66, 0x70, 0xf2, 0x14,
- 0xfe, 0xbe, 0xd1, 0xa9,
- 0x2c, 0x68, 0x3a, 0x05, 0x4b, 0x0a, 0xa9, 0xc1, 0x0d, 0x3f, 0xdf, 0x9a,
- 0xa9, 0x8d, 0x31, 0xeb,
- 0x7e, 0x59, 0x41, 0x72, 0xb1, 0xe4, 0x92, 0xcb, 0xa2, 0x33, 0x24, 0x19,
- 0x92, 0x3c, 0xbf, 0xe9,
- 0x2f, 0xa6, 0xd9, 0xf1, 0x59, 0x21, 0x9a, 0x3c, 0x64, 0x28, 0x5f, 0x8c,
- 0x9a, 0x20, 0xa2, 0x0c,
- 0xb5, 0xf2, 0x0e, 0xcb, 0xd9, 0x55, 0xb4, 0x46, 0x8f, 0xc5, 0xb9, 0x17,
- 0xb4, 0x45, 0xb2, 0xc0,
- 0x3b, 0xa7, 0xc7, 0x0b, 0x81, 0x16, 0x0d, 0xaa, 0xcd, 0xcc, 0x90, 0x64,
- 0x0d, 0xf0, 0xb9, 0x22,
- 0xbd, 0x26, 0x02, 0xaf, 0xa9, 0x9d, 0x3c, 0x1a, 0x74, 0xad, 0x7e, 0xc6,
- 0x3c, 0x5a, 0xbc, 0x6d,
- 0x04, 0x6a, 0x06, 0x32, 0x38, 0x64, 0x44, 0x2e, 0x9c, 0x34, 0x82, 0x89,
- 0x44, 0xee, 0x07, 0xb7,
- 0xeb, 0x7d, 0x7f, 0xea, 0x6b, 0x17, 0x43, 0x3e, 0x47, 0x95, 0x07, 0xcc,
- 0x43, 0x05, 0x35, 0xd8,
- 0xbb, 0x79, 0x07, 0x84, 0x8d, 0xcb, 0x5a, 0x23, 0xa6, 0x83, 0xbd, 0xea,
- 0x5a, 0xc3, 0x59, 0x60,
- },
- { /* 13 */
- 0x79, 0x1a, 0x2d, 0x6d, 0xc9, 0x3b, 0x13, 0xe1, 0x79, 0x58, 0x80, 0x80,
- 0x75, 0x80, 0xb7, 0x36,
- 0x91, 0x58, 0xcb, 0xc6, 0xfe, 0x1f, 0xb1, 0x50, 0x91, 0xd6, 0x1a, 0x1a,
- 0x1d, 0x1a, 0x89, 0x33,
- 0x99, 0x09, 0xd2, 0xbc, 0x88, 0x79, 0x33, 0xc2, 0x99, 0xe9, 0xdc, 0xdc,
- 0x3b, 0xdc, 0x07, 0x9c,
- 0xb9, 0x8e, 0xb6, 0x97, 0x93, 0x22, 0x7e, 0xcf, 0xb9, 0x15, 0x42, 0x42,
- 0xa3, 0x42, 0x7a, 0x65,
- 0x71, 0x4b, 0x34, 0x17, 0xbf, 0x5d, 0x91, 0x73, 0x71, 0x67, 0x46, 0x46,
- 0x53, 0x46, 0x39, 0x99,
- 0xea, 0xc7, 0x71, 0x54, 0xcb, 0xdc, 0x63, 0x74, 0xea, 0xf1, 0x4a, 0x4a,
- 0x80, 0x4a, 0xfc, 0x5e,
- 0xd7, 0xd9, 0x79, 0x52, 0x0f, 0x62, 0xab, 0xc6, 0xd7, 0x6c, 0x56, 0x56,
- 0x15, 0x56, 0xf6, 0xef,
- 0x95, 0x91, 0x26, 0xfb, 0xc5, 0x2c, 0xf0, 0x19, 0x95, 0x28, 0x79, 0x79,
- 0x0e, 0x79, 0xce, 0x85,
- 0x55, 0x05, 0xbd, 0x01, 0x9f, 0x35, 0x9d, 0x37, 0x55, 0x65, 0xbb, 0xbb,
- 0xd8, 0xbb, 0x03, 0xd6,
- 0xda, 0xe2, 0x27, 0x8b, 0x3c, 0x4b, 0xe9, 0x9e, 0xda, 0x73, 0x9b, 0x9b,
- 0x54, 0x9b, 0x5e, 0x3a,
- 0xdb, 0x41, 0x8d, 0x15, 0x42, 0x37, 0x68, 0x1d, 0xdb, 0xad, 0xf3, 0xf3,
- 0x20, 0xf3, 0x3f, 0xf6,
- 0xb5, 0x16, 0x42, 0xd0, 0xde, 0x77, 0xbd, 0x14, 0xb5, 0xd4, 0xe7, 0xe7,
- 0x96, 0xe7, 0xb3, 0x7c,
- 0x3f, 0x9b, 0x9f, 0xf9, 0x38, 0x46, 0x09, 0x77, 0x3f, 0xe2, 0xcc, 0xcc,
- 0x7d, 0xcc, 0xc8, 0xea,
- 0x54, 0xa6, 0x17, 0x9f, 0xe1, 0x49, 0x1c, 0xb4, 0x54, 0xbb, 0xd3, 0xd3,
- 0xac, 0xd3, 0x62, 0x1a,
- 0x7d, 0xd3, 0xc0, 0x50, 0xf2, 0x08, 0x52, 0xa8, 0x7d, 0xa6, 0xe3, 0xe3,
- 0x66, 0xe3, 0xf0, 0x80,
- 0xd5, 0x5c, 0xee, 0xad, 0xf3, 0x9a, 0x6a, 0x03, 0xd5, 0x13, 0x86, 0x86,
- 0xfd, 0x86, 0x34, 0xb4,
- 0xbd, 0x47, 0x5b, 0xaa, 0xa8, 0x11, 0x3f, 0x86, 0xbd, 0xeb, 0x21, 0x21,
- 0xb0, 0x21, 0x3d, 0xd3,
- 0xa9, 0x2c, 0x84, 0x63, 0x7f, 0xee, 0xb9, 0x28, 0xa9, 0x6b, 0x0d, 0x0d,
- 0xef, 0x0d, 0xa5, 0xf8,
- 0xfe, 0xac, 0xae, 0x9d, 0x1c, 0x23, 0xe5, 0xda, 0xfe, 0x71, 0x66, 0x66,
- 0xdf, 0x66, 0x64, 0x75,
- 0x3b, 0x52, 0x72, 0xc4, 0x03, 0x75, 0x48, 0x3e, 0x3b, 0x1c, 0xaf, 0xaf,
- 0x6e, 0xaf, 0x8f, 0x5c,
- 0x1d, 0x99, 0x6c, 0x2d, 0xdf, 0xe5, 0x85, 0xbf, 0x1d, 0x61, 0x82, 0x82,
- 0x0d, 0x82, 0x77, 0x48,
- 0x36, 0x69, 0x2c, 0x1d, 0x30, 0x5c, 0x0a, 0x66, 0x36, 0x03, 0x62, 0x62,
- 0x2f, 0x62, 0x27, 0x89,
- 0x38, 0x74, 0x4f, 0xa5, 0x81, 0xf1, 0x08, 0x78, 0x38, 0xbd, 0x17, 0x17,
- 0xf2, 0x17, 0x2c, 0xcb,
- 0x07, 0xef, 0xd0, 0x5c, 0xb9, 0xb7, 0x01, 0x0f, 0x07, 0x5f, 0xdb, 0xdb,
- 0x8f, 0xdb, 0xe4, 0x21,
- 0x1b, 0xd5, 0x16, 0xef, 0x18, 0x2e, 0x05, 0x33, 0x1b, 0xe0, 0x31, 0x31,
- 0xf6, 0x31, 0xf2, 0xa5,
- 0xfb, 0xc6, 0xe9, 0x3e, 0x59, 0x6c, 0x25, 0x10, 0xfb, 0x51, 0x6d, 0x6d,
- 0xb8, 0x6d, 0x42, 0x0f,
- 0x70, 0xe8, 0x9e, 0x89, 0xc1, 0x21, 0x10, 0xf0, 0x70, 0xb9, 0x2e, 0x2e,
- 0x27, 0x2e, 0x58, 0x55,
- 0x89, 0xab, 0xe0, 0x48, 0x64, 0xb5, 0xf4, 0x25, 0x89, 0x97, 0x93, 0x93,
- 0x77, 0x93, 0xd8, 0x01,
- 0x4a, 0x19, 0x46, 0xd3, 0xbc, 0x28, 0xd9, 0x4d, 0x4a, 0x7b, 0xe9, 0xe9,
- 0x3d, 0xe9, 0xb6, 0xc5,
- 0xae, 0xc3, 0x54, 0x3f, 0xc6, 0x59, 0xb8, 0x27, 0xae, 0x34, 0xd6, 0xd6,
- 0x60, 0xd6, 0x41, 0xd9,
- 0x3d, 0x1e, 0x08, 0x06, 0xc4, 0xbe, 0xc8, 0xb2, 0x3d, 0x9d, 0x1c, 0x1c,
- 0x95, 0x1c, 0x0a, 0xb1,
- 0x29, 0x75, 0xd7, 0xcf, 0x13, 0x41, 0x4e, 0x1c, 0x29, 0x1d, 0x30, 0x30,
- 0xca, 0x30, 0x92, 0x9a,
- 0x8a, 0x8d, 0xdd, 0x29, 0xe6, 0x31, 0xb4, 0x63, 0x8a, 0x36, 0x2b, 0x2b,
- 0xeb, 0x2b, 0x7b, 0x96,
- 0xcd, 0xaf, 0xc5, 0x23, 0x69, 0x30, 0x2f, 0x76, 0xcd, 0x52, 0x0f, 0x0f,
- 0x97, 0x0f, 0x65, 0x86,
- 0x41, 0x6e, 0x62, 0xc8, 0x48, 0xca, 0x1b, 0x99, 0x41, 0xe5, 0x97, 0x97,
- 0x87, 0x97, 0x9b, 0xfd,
- 0xce, 0x89, 0xf8, 0x42, 0xeb, 0xb4, 0x6f, 0x30, 0xce, 0xf3, 0xb7, 0xb7,
- 0x0b, 0xb7, 0xc6, 0x11,
- 0x16, 0xee, 0x48, 0x36, 0x2b, 0x07, 0x47, 0x6b, 0x16, 0xff, 0xfc, 0xfc,
- 0xb7, 0xfc, 0x5a, 0x70,
- 0x6c, 0xd2, 0x58, 0x3a, 0x60, 0xb8, 0x14, 0xcc, 0x6c, 0x06, 0xc4, 0xc4,
- 0x5e, 0xc4, 0x4e, 0xd1,
- 0x1f, 0x1c, 0xfb, 0xd2, 0x23, 0x1d, 0x44, 0x7a, 0x1f, 0x1e, 0x52, 0x52,
- 0xe5, 0x52, 0xb5, 0x13,
- 0xe0, 0x13, 0xff, 0xd1, 0x41, 0x42, 0x20, 0x23, 0xe0, 0xb1, 0x5c, 0x5c,
- 0x4e, 0x5c, 0xb0, 0xaa,
- 0xf5, 0xdb, 0x8a, 0x86, 0xe8, 0xc1, 0x27, 0x0e, 0xf5, 0xef, 0x18, 0x18,
- 0x65, 0x18, 0x49, 0x4d,
- 0xb0, 0x7c, 0x05, 0x73, 0x9b, 0x38, 0x7d, 0xde, 0xb0, 0xf4, 0xec, 0xec,
- 0xf1, 0xec, 0x95, 0x06,
- 0xde, 0x2b, 0xca, 0xb6, 0x07, 0x78, 0xa8, 0xd7, 0xde, 0x8d, 0xf8, 0xf8,
- 0x47, 0xf8, 0x19, 0x8c,
- 0x03, 0x26, 0x3d, 0x61, 0x82, 0x84, 0x40, 0x46, 0x03, 0xa1, 0xb8, 0xb8,
- 0x9c, 0xb8, 0xa3, 0x97,
- 0xd0, 0x36, 0xa9, 0x0e, 0xb6, 0xd5, 0xaa, 0xc9, 0xd0, 0x33, 0x8d, 0x8d,
- 0x9a, 0x8d, 0x12, 0xce,
- 0x8e, 0x44, 0x30, 0x14, 0xdd, 0x02, 0xf5, 0x2a, 0x8e, 0xc8, 0x48, 0x48,
- 0xf8, 0x48, 0x3c, 0x20,
- 0x23, 0xa1, 0x59, 0x4a, 0x99, 0xdf, 0x0d, 0x4b, 0x23, 0x5d, 0x26, 0x26,
- 0x04, 0x26, 0xde, 0x6e,
- 0x0a, 0xd4, 0x8e, 0x85, 0x8a, 0x9e, 0x43, 0x57, 0x0a, 0x40, 0x16, 0x16,
- 0xce, 0x16, 0x4c, 0xf4,
- 0xf3, 0x97, 0xf0, 0x44, 0x2f, 0x0a, 0xa7, 0x82, 0xf3, 0x6e, 0xab, 0xab,
- 0x9e, 0xab, 0xcc, 0xa0,
- 0x06, 0x4c, 0x7a, 0xc2, 0xc7, 0xcb, 0x80, 0x8c, 0x06, 0x81, 0xb3, 0xb3,
- 0xfb, 0xb3, 0x85, 0xed,
- 0xdf, 0x88, 0x60, 0x28, 0x79, 0x04, 0x29, 0x54, 0xdf, 0x53, 0x90, 0x90,
- 0x33, 0x90, 0x78, 0x40,
- 0x4d, 0xf6, 0x96, 0x8f, 0x05, 0x9f, 0xd8, 0x42, 0x4d, 0x24, 0x32, 0x32,
- 0xb2, 0x32, 0x52, 0xe4,
- 0x98, 0xaa, 0x78, 0x22, 0xf6, 0x05, 0xb2, 0x41, 0x98, 0x37, 0xb4, 0xb4,
- 0x4f, 0xb4, 0x66, 0x50,
- 0x97, 0x14, 0xb1, 0x04, 0x39, 0xd4, 0x31, 0xdc, 0x97, 0x57, 0xa9, 0xa9,
- 0xe6, 0xa9, 0x0c, 0xde,
- 0xad, 0xe5, 0x69, 0x5e, 0x44, 0xdd, 0xf8, 0x61, 0xad, 0x95, 0x6e, 0x6e,
- 0xfc, 0x6e, 0xe2, 0x4e,
- 0x15, 0xc8, 0x75, 0x57, 0xa9, 0x83, 0x07, 0x2d, 0x15, 0x5e, 0x44, 0x44,
- 0x2b, 0x44, 0xf9, 0xe7,
- 0xa2, 0x5b, 0xa0, 0x78, 0x8b, 0x0c, 0x7b, 0xfc, 0xa2, 0xf5, 0x73, 0x73,
- 0x55, 0x73, 0x88, 0xc0,
- 0xab, 0xa9, 0x13, 0x9c, 0x83, 0x16, 0x78, 0xed, 0xab, 0x14, 0xdd, 0xdd,
- 0x07, 0xdd, 0x67, 0xa3,
- 0xc0, 0x94, 0x9b, 0xfa, 0x5a, 0x19, 0x6d, 0x2e, 0xc0, 0x4d, 0xc2, 0xc2,
- 0xd6, 0xc2, 0xcd, 0x53,
- 0xb6, 0x30, 0x7f, 0xb1, 0x5c, 0xf3, 0xfd, 0x52, 0xb6, 0x75, 0x5f, 0x5f,
- 0x0a, 0x5f, 0x10, 0xeb,
- 0x53, 0x49, 0xc7, 0xc3, 0x58, 0xfe, 0x1d, 0xbb, 0x53, 0xe4, 0x08, 0x08,
- 0x23, 0x08, 0x86, 0x3b,
- 0xed, 0x28, 0xa1, 0x08, 0x72, 0x6b, 0x62, 0x7b, 0xed, 0xae, 0x91, 0x91,
- 0x0f, 0x91, 0x18, 0x7f,
- 0xc1, 0x37, 0x31, 0x64, 0x24, 0x65, 0xec, 0xad, 0xc1, 0x93, 0xaa, 0xaa,
- 0xa2, 0xaa, 0xac, 0x9f,
- 0xe1, 0xb0, 0x55, 0x4f, 0x3f, 0x3e, 0xa1, 0xa0, 0xe1, 0x6f, 0x34, 0x34,
- 0x3a, 0x34, 0xd1, 0x66,
- 0x62, 0xcf, 0x3b, 0x82, 0xd1, 0x15, 0x16, 0xd2, 0x62, 0xb8, 0xb1, 0xb1,
- 0x83, 0xb1, 0x45, 0x93,
- 0x24, 0x4e, 0x89, 0x16, 0x20, 0x68, 0x0c, 0x44, 0x24, 0x02, 0xfd, 0xfd,
- 0x8b, 0xfd, 0x3a, 0x4f,
- 0xe9, 0xe1, 0x4c, 0x35, 0x49, 0x58, 0x23, 0x32, 0xe9, 0x50, 0xf2, 0xf2,
- 0x1c, 0xf2, 0x5f, 0xc9,
- 0x65, 0x20, 0xeb, 0xde, 0x68, 0xa2, 0x17, 0xdd, 0x65, 0xe7, 0x6a, 0x6a,
- 0x0c, 0x6a, 0xa1, 0xb2,
- 0xec, 0x8b, 0x0b, 0x96, 0x0c, 0x17, 0xe3, 0xf8, 0xec, 0x70, 0xf9, 0xf9,
- 0x7b, 0xf9, 0x79, 0xb3,
- 0x5d, 0x54, 0xa4, 0x7b, 0xe9, 0x53, 0x1f, 0xa5, 0x5d, 0x5a, 0x7d, 0x7d,
- 0xfe, 0x7d, 0x8d, 0x79,
- 0x26, 0xcb, 0x1e, 0xe9, 0xdc, 0x90, 0xcd, 0x81, 0x26, 0x7d, 0x2d, 0x2d,
- 0x63, 0x2d, 0xf8, 0x14,
- 0xbe, 0x61, 0x66, 0xcb, 0x2a, 0x95, 0x7f, 0xc0, 0xbe, 0x4a, 0x99, 0x99,
- 0x2c, 0x99, 0x9e, 0x44,
- 0x21, 0x24, 0xce, 0xb5, 0x65, 0x27, 0xcc, 0x8e, 0x21, 0x22, 0xf6, 0xf6,
- 0xec, 0xf6, 0x1c, 0x35,
- 0x4b, 0xba, 0xec, 0x4d, 0xc2, 0x54, 0x58, 0xce, 0x4b, 0xa5, 0x81, 0x81,
- 0x49, 0x81, 0xd7, 0x09,
- 0x48, 0x9c, 0xd1, 0x2c, 0x40, 0xd0, 0x18, 0x88, 0x48, 0x04, 0x39, 0x39,
- 0xd5, 0x39, 0x74, 0x9e,
- 0xca, 0x40, 0x15, 0x7f, 0xd0, 0x87, 0x2e, 0x79, 0xca, 0x0d, 0xd4, 0xd4,
- 0x18, 0xd4, 0x81, 0xa7,
- 0xf7, 0x5e, 0x1d, 0x79, 0x14, 0x39, 0xe6, 0xcb, 0xf7, 0x90, 0xc8, 0xc8,
- 0x8d, 0xc8, 0x8b, 0x16,
- 0x7c, 0x70, 0x6a, 0xce, 0x8c, 0x74, 0xd3, 0x2b, 0x7c, 0x78, 0x8b, 0x8b,
- 0x12, 0x8b, 0x91, 0x4c,
- 0xff, 0x0f, 0x04, 0x03, 0x62, 0x5f, 0x64, 0x59, 0xff, 0xaf, 0x0e, 0x0e,
- 0xab, 0x0e, 0x05, 0xb9,
- 0x20, 0x87, 0x64, 0x2b, 0x1b, 0x5b, 0x4d, 0x0d, 0x20, 0xfc, 0x9e, 0x9e,
- 0x98, 0x9e, 0x7d, 0xf9,
- 0xd1, 0x95, 0x03, 0x90, 0xc8, 0xa9, 0x2b, 0x4a, 0xd1, 0xed, 0xe5, 0xe5,
- 0xee, 0xe5, 0x73, 0x02,
- 0x85, 0x33, 0x14, 0x0f, 0x29, 0xe0, 0x37, 0xfe, 0x85, 0x56, 0x36, 0x36,
- 0x42, 0x36, 0x11, 0x18,
- 0x58, 0x3e, 0xe3, 0xd8, 0xac, 0x1c, 0xdf, 0x6f, 0x58, 0x7a, 0x76, 0x76,
- 0x99, 0x76, 0xab, 0x03,
- 0x49, 0x3f, 0x7b, 0xb2, 0x3e, 0xac, 0x99, 0x0b, 0x49, 0xda, 0x51, 0x51,
- 0xa1, 0x51, 0x15, 0x52,
- 0xfa, 0x65, 0x43, 0xa0, 0x27, 0x10, 0xa4, 0x93, 0xfa, 0x8f, 0x05, 0x05,
- 0xcc, 0x05, 0x23, 0xc3,
- 0x87, 0xb6, 0x83, 0xf0, 0xd5, 0x18, 0xf6, 0x3b, 0x87, 0x29, 0xe6, 0xe6,
- 0xaa, 0xe6, 0xd3, 0x43,
- 0x27, 0x68, 0xb4, 0x77, 0xa2, 0xec, 0x4c, 0x02, 0x27, 0xa3, 0x45, 0x45,
- 0x17, 0x45, 0x99, 0xd8,
- 0xe8, 0x42, 0xe6, 0xab, 0x37, 0x24, 0xa2, 0xb1, 0xe8, 0x8e, 0x9a, 0x9a,
- 0x68, 0x9a, 0x3e, 0x05,
- 0xf4, 0x78, 0x20, 0x18, 0x96, 0xbd, 0xa6, 0x8d, 0xf4, 0x31, 0x70, 0x70,
- 0x11, 0x70, 0x28, 0x81,
- 0x5a, 0xbb, 0x74, 0x27, 0x50, 0xe4, 0x1e, 0xaa, 0x5a, 0x05, 0xa6, 0xa6,
- 0x71, 0xa6, 0x69, 0x58,
- 0x66, 0x06, 0xd6, 0xbf, 0xea, 0x26, 0x57, 0x9b, 0x66, 0x46, 0xd2, 0xd2,
- 0x90, 0xd2, 0x02, 0x25,
- 0xf0, 0xb1, 0xcd, 0x25, 0xad, 0x8e, 0xe7, 0xc4, 0xf0, 0xcf, 0x13, 0x13,
- 0x02, 0x13, 0x6f, 0x37,
- 0xcb, 0xe3, 0xbf, 0xe1, 0xae, 0xfb, 0xaf, 0xfa, 0xcb, 0xd3, 0xbc, 0xbc,
- 0x6c, 0xbc, 0xe0, 0x6b,
- 0x0e, 0x1d, 0x63, 0xb8, 0xb1, 0xad, 0x02, 0x1e, 0x0e, 0xbe, 0x75, 0x75,
- 0xdd, 0x75, 0x0b, 0x42,
- 0xe2, 0x96, 0x68, 0x2e, 0xbd, 0xba, 0xe1, 0xe6, 0xe2, 0xce, 0x8c, 0x8c,
- 0xa6, 0x8c, 0x72, 0xf1,
- 0x57, 0x80, 0x2a, 0xfe, 0x63, 0xcd, 0x5c, 0xf2, 0x57, 0x1a, 0x6b, 0x6b,
- 0x30, 0x6b, 0xc1, 0x8d,
- 0xc4, 0x5d, 0x76, 0xc7, 0x61, 0x2a, 0x2c, 0x67, 0xc4, 0xb3, 0xa1, 0xa1,
- 0xc5, 0xa1, 0x8a, 0xe5,
- 0x9b, 0x8c, 0x45, 0x43, 0x74, 0x81, 0xf2, 0x07, 0x9b, 0x96, 0x0c, 0x0c,
- 0xd3, 0x0c, 0xc5, 0xc7,
- 0xee, 0x0e, 0x9c, 0x69, 0xf0, 0xef, 0x22, 0x3d, 0xee, 0x0f, 0x29, 0x29,
- 0x93, 0x29, 0xbb, 0xe8,
- 0x1a, 0x76, 0xbc, 0x71, 0x66, 0x52, 0x84, 0xb0, 0x1a, 0x3e, 0x59, 0x59,
- 0x82, 0x59, 0x93, 0x69,
- 0x37, 0xca, 0x86, 0x83, 0x4e, 0x20, 0x8b, 0xe5, 0x37, 0xdd, 0x0a, 0x0a,
- 0x5b, 0x0a, 0x46, 0x45,
- 0x2e, 0x9a, 0x07, 0x93, 0xaa, 0xf6, 0x4f, 0x13, 0x2e, 0x42, 0xeb, 0xeb,
- 0x45, 0xeb, 0x76, 0xbb,
- 0x69, 0xb8, 0x1f, 0x99, 0x25, 0xf7, 0xd4, 0x06, 0x69, 0x26, 0xcf, 0xcf,
- 0x39, 0xcf, 0x68, 0xab,
- 0x8b, 0x2e, 0x77, 0xb7, 0x98, 0x4d, 0x35, 0xe0, 0x8b, 0xe8, 0x43, 0x43,
- 0x9f, 0x43, 0x1a, 0x5a,
- 0xaf, 0x60, 0xfe, 0xa1, 0xb8, 0x25, 0x39, 0xa4, 0xaf, 0xea, 0xbe, 0xbe,
- 0x14, 0xbe, 0x20, 0x15,
- 0xc2, 0x11, 0x0c, 0x05, 0xa6, 0xe1, 0xac, 0xeb, 0xc2, 0x32, 0x12, 0x12,
- 0x3e, 0x12, 0x0f, 0x08,
- 0x7f, 0x56, 0x57, 0xaf, 0x0e, 0xf0, 0x93, 0x6d, 0x7f, 0xd9, 0x33, 0x33,
- 0x8e, 0x33, 0x32, 0xdb,
- 0x64, 0x83, 0x41, 0x40, 0x16, 0xde, 0x96, 0x5e, 0x64, 0x39, 0x02, 0x02,
- 0x78, 0x02, 0xc0, 0x7e,
- 0x45, 0xa7, 0x8f, 0xf5, 0x73, 0xf9, 0x5a, 0xd0, 0x45, 0x1b, 0xf4, 0xf4,
- 0x94, 0xf4, 0xdc, 0x4b,
- 0x14, 0x6b, 0xdf, 0xc9, 0xd7, 0xff, 0x86, 0xae, 0x14, 0x80, 0x2c, 0x2c,
- 0x5f, 0x2c, 0x98, 0x2b,
- 0xfd, 0x8a, 0x93, 0xfc, 0x9e, 0xa7, 0xa5, 0x9c, 0xfd, 0xd0, 0xde, 0xde,
- 0x43, 0xde, 0xc7, 0xe2,
- 0xac, 0x46, 0xc3, 0xc0, 0x3a, 0xa1, 0x79, 0xe2, 0xac, 0x4b, 0x06, 0x06,
- 0x88, 0x06, 0x83, 0x82,
- 0x86, 0x15, 0x29, 0x6e, 0xab, 0x64, 0x77, 0xb8, 0x86, 0xf7, 0x8e, 0x8e,
- 0xde, 0x8e, 0xb2, 0x8f,
- 0x76, 0xa4, 0xe4, 0x4b, 0x06, 0xea, 0x90, 0x7c, 0x76, 0x38, 0x9d, 0x9d,
- 0xdc, 0x9d, 0xdd, 0xb8,
- 0x43, 0xeb, 0xf5, 0x37, 0xb4, 0x32, 0xda, 0x5c, 0x43, 0x9a, 0x47, 0x47,
- 0x6f, 0x47, 0x59, 0xa6,
- 0x50, 0x6f, 0xfa, 0xa2, 0xda, 0x7a, 0x5d, 0xfd, 0x50, 0x45, 0xb0, 0xb0,
- 0xbf, 0xb0, 0x25, 0xac,
- 0x28, 0xd6, 0x7d, 0x51, 0x6d, 0x3d, 0xcf, 0x9f, 0x28, 0xc3, 0x58, 0x58,
- 0xbe, 0x58, 0xf3, 0x56,
- 0xaa, 0x0a, 0xb9, 0x02, 0xfd, 0x6a, 0xf9, 0x6e, 0xaa, 0xca, 0xb5, 0xb5,
- 0x73, 0xb5, 0x06, 0x6f,
- 0x5e, 0x72, 0x99, 0x1a, 0x6b, 0xd7, 0x5f, 0xe3, 0x5e, 0xfb, 0xc5, 0xc5,
- 0x62, 0xc5, 0x2e, 0xee,
- 0xdd, 0x0d, 0xf7, 0xd7, 0x85, 0xfc, 0xe8, 0x91, 0xdd, 0x2c, 0x40, 0x40,
- 0xdb, 0x40, 0xba, 0x1b,
- 0xbb, 0x0b, 0x21, 0x68, 0x6f, 0xda, 0xbf, 0x0a, 0xbb, 0x6a, 0x92, 0x92,
- 0x4b, 0x92, 0xb8, 0x3e,
- 0x96, 0xb7, 0x1b, 0x9a, 0x47, 0xa8, 0xb0, 0x5f, 0x96, 0x89, 0xc1, 0xc1,
- 0x92, 0xc1, 0x6d, 0x12,
- 0x05, 0x6a, 0x47, 0xa3, 0x45, 0x4f, 0xc0, 0xca, 0x05, 0x20, 0x0b, 0x0b,
- 0x67, 0x0b, 0x26, 0x7a,
- 0x7b, 0x9f, 0xba, 0x92, 0x35, 0xc3, 0xd2, 0x24, 0x7b, 0x27, 0x50, 0x50,
- 0x9d, 0x50, 0x75, 0x6d,
- 0xf6, 0xfd, 0xb7, 0xe7, 0x6a, 0x45, 0x67, 0x48, 0xf6, 0x4e, 0xa0, 0xa0,
- 0xf9, 0xa0, 0xea, 0xda,
- 0x2b, 0xf0, 0x40, 0x30, 0xef, 0xb9, 0x8f, 0xd9, 0x2b, 0x62, 0xe0, 0xe0,
- 0x22, 0xe0, 0x50, 0xc1,
- 0x09, 0xf2, 0xb3, 0xe4, 0x08, 0x1a, 0x03, 0x11, 0x09, 0xe1, 0xae, 0xae,
- 0x52, 0xae, 0xef, 0x63,
- 0xc7, 0x7b, 0x4b, 0xa6, 0xe3, 0xae, 0x6c, 0x21, 0xc7, 0x12, 0x19, 0x19,
- 0x59, 0x19, 0x29, 0x72,
- 0x46, 0x81, 0xb2, 0x94, 0xf1, 0x7d, 0x1a, 0x96, 0x46, 0xba, 0x4c, 0x4c,
- 0x08, 0x4c, 0x7f, 0xdc,
- 0x0d, 0x3b, 0x5e, 0xd9, 0x33, 0x29, 0x42, 0x58, 0x0d, 0x1f, 0xcd, 0xcd,
- 0x41, 0xcd, 0xa8, 0xd5,
- 0x13, 0x84, 0x0f, 0x95, 0x6e, 0x48, 0x87, 0xa1, 0x13, 0xdf, 0xf7, 0xf7,
- 0xd0, 0xf7, 0x7c, 0x0a,
- 0x61, 0xe9, 0x06, 0xe3, 0x53, 0x91, 0x56, 0x94, 0x61, 0x19, 0x09, 0x09,
- 0x1f, 0x09, 0xe6, 0x04,
- 0x01, 0xa3, 0xaa, 0x9e, 0x7e, 0x7c, 0x81, 0x83, 0x01, 0xde, 0x68, 0x68,
- 0x74, 0x68, 0x61, 0xcc,
- 0xef, 0xad, 0x36, 0xf7, 0x8e, 0x93, 0xa3, 0xbe, 0xef, 0xd1, 0x41, 0x41,
- 0xe7, 0x41, 0xda, 0x24,
- 0x8d, 0x62, 0x0d, 0x75, 0x5f, 0x86, 0xb5, 0x6c, 0x8d, 0x69, 0xf0, 0xf0,
- 0x64, 0xf0, 0x9f, 0xb7,
- 0xd3, 0x10, 0x94, 0x6f, 0x34, 0x51, 0xea, 0x8f, 0xd3, 0x92, 0x35, 0x35,
- 0x06, 0x35, 0xb1, 0x59,
- 0xbc, 0xe4, 0xf1, 0x34, 0xd6, 0x6d, 0xbe, 0x05, 0xbc, 0x35, 0x49, 0x49,
- 0xc4, 0x49, 0x5c, 0x1f,
- 0xf1, 0x12, 0x67, 0xbb, 0xd3, 0xf2, 0x66, 0x47, 0xf1, 0x11, 0x7b, 0x7b,
- 0x76, 0x7b, 0x0e, 0xfb,
- 0x32, 0xa0, 0xc1, 0x20, 0x0b, 0x6f, 0x4b, 0x2f, 0x32, 0xfd, 0x01, 0x01,
- 0x3c, 0x01, 0x60, 0x3f,
- 0x5c, 0xf7, 0x0e, 0xe5, 0x97, 0x2f, 0x9e, 0x26, 0x5c, 0x84, 0x15, 0x15,
- 0x8a, 0x15, 0xec, 0xb5,
- 0x02, 0x85, 0x97, 0xff, 0xfc, 0xf8, 0xc1, 0xc5, 0x02, 0x7f, 0xd0, 0xd0,
- 0xe8, 0xd0, 0xc2, 0x5b,
- 0xb1, 0xdf, 0xaf, 0xed, 0xe5, 0x44, 0xfc, 0x5d, 0xb1, 0x2a, 0x84, 0x84,
- 0x85, 0x84, 0xf4, 0xca,
- 0x56, 0x23, 0x80, 0x60, 0x1d, 0xb1, 0xdd, 0x71, 0x56, 0xc4, 0x03, 0x03,
- 0x44, 0x03, 0xa0, 0x41,
- 0x51, 0xcc, 0x50, 0x3c, 0xa4, 0x06, 0xdc, 0x7e, 0x51, 0x9b, 0xd8, 0xd8,
- 0xcb, 0xd8, 0x44, 0x60,
- 0xc9, 0x66, 0x28, 0x1e, 0x52, 0x03, 0x6e, 0x3f, 0xc9, 0xac, 0x6c, 0x6c,
- 0x84, 0x6c, 0x22, 0x30,
- 0xd6, 0x7a, 0xd3, 0xcc, 0x71, 0x1e, 0x2a, 0x45, 0xd6, 0xb2, 0x3e, 0x3e,
- 0x61, 0x3e, 0x97, 0x23,
- 0x4e, 0xd0, 0xab, 0xee, 0x87, 0x1b, 0x98, 0x04, 0x4e, 0x85, 0x8a, 0x8a,
- 0x2e, 0x8a, 0xf1, 0x73,
- 0xc8, 0xc5, 0x82, 0x80, 0x2c, 0x7f, 0xef, 0xbc, 0xc8, 0x72, 0x04, 0x04,
- 0xf0, 0x04, 0x43, 0xfc,
- 0xa0, 0xde, 0x37, 0x87, 0x77, 0xf4, 0xba, 0x39, 0xa0, 0x8a, 0xa3, 0xa3,
- 0xbd, 0xa3, 0x4a, 0x9b,
- 0x31, 0x86, 0xfc, 0x41, 0x89, 0xeb, 0x0b, 0x69, 0x31, 0x5c, 0xb9, 0xb9,
- 0xa0, 0xb9, 0xc3, 0xa8,
- 0x22, 0x02, 0xf3, 0xd4, 0xe7, 0xa3, 0x8c, 0xc8, 0x22, 0x83, 0x4e, 0x4e,
- 0x70, 0x4e, 0xbf, 0xa2,
- 0xa5, 0xb4, 0x70, 0x24, 0x32, 0xbb, 0x7a, 0xf3, 0xa5, 0xaa, 0xa8, 0xa8,
- 0xda, 0xa8, 0x6c, 0xe1,
- 0x17, 0x4d, 0xe2, 0xa8, 0x55, 0x7b, 0xc6, 0xe8, 0x17, 0x21, 0x94, 0x94,
- 0xc3, 0x94, 0x3b, 0xbc,
- 0x33, 0x03, 0x6b, 0xbe, 0x75, 0x13, 0xca, 0xac, 0x33, 0x23, 0x69, 0x69,
- 0x48, 0x69, 0x01, 0xf3,
- 0x94, 0x32, 0x8c, 0x65, 0xbb, 0x50, 0x71, 0x9a, 0x94, 0xf6, 0x11, 0x11,
- 0x7a, 0x11, 0xaf, 0x49,
- 0xeb, 0x64, 0xdb, 0xca, 0xb5, 0xa0, 0xe2, 0xf7, 0xeb, 0x2f, 0x22, 0x22,
- 0xf4, 0x22, 0x9d, 0x92,
- 0x84, 0x90, 0xbe, 0x91, 0x57, 0x9c, 0xb6, 0x7d, 0x84, 0x88, 0x5e, 0x5e,
- 0x36, 0x5e, 0x70, 0xd4,
- 0x08, 0x51, 0x19, 0x7a, 0x76, 0x66, 0x82, 0x92, 0x08, 0x3f, 0xc6, 0xc6,
- 0x26, 0xc6, 0x8e, 0xaf,
- 0x25, 0xed, 0x23, 0x88, 0x5e, 0x14, 0x8d, 0xc7, 0x25, 0xdc, 0x95, 0x95,
- 0xff, 0x95, 0x5b, 0x83,
- 0xf9, 0x43, 0x7e, 0xc1, 0xa5, 0x94, 0xe4, 0xd5, 0xf9, 0x2e, 0xbd, 0xbd,
- 0x50, 0xbd, 0x80, 0x54,
- 0x39, 0xd7, 0xe5, 0x3b, 0xff, 0x8d, 0x89, 0xfb, 0x39, 0x63, 0x7f, 0x7f,
- 0x86, 0x7f, 0x4d, 0x07,
- 0x60, 0x4a, 0xac, 0x7d, 0x2d, 0xed, 0xd7, 0x17, 0x60, 0xc7, 0x61, 0x61,
- 0x6b, 0x61, 0x87, 0xc8,
- 0xb2, 0xf9, 0x92, 0x8c, 0x67, 0xc0, 0xbc, 0x1b, 0xb2, 0x8b, 0x3c, 0x3c,
- 0x19, 0x3c, 0x57, 0x5d,
- 0xd4, 0xff, 0x44, 0x33, 0x8d, 0xe6, 0xeb, 0x80, 0xd4, 0xcd, 0xee, 0xee,
- 0x89, 0xee, 0x55, 0x78,
- 0x6f, 0xf4, 0x65, 0x5b, 0xe2, 0x3c, 0x54, 0x8a, 0x6f, 0xa7, 0x7c, 0x7c,
- 0xc2, 0x7c, 0xed, 0x46,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x6d, 0x71, 0xf2, 0xa4, 0x1e, 0xc4, 0x95, 0x4f, 0x6d, 0xd8, 0xac, 0xac,
- 0x2a, 0xac, 0x2f, 0x1d,
- 0xa1, 0x7d, 0x9d, 0x19, 0x09, 0x88, 0x3b, 0xba, 0xa1, 0x54, 0xcb, 0xcb,
- 0xc9, 0xcb, 0x2b, 0x57,
- 0x12, 0x27, 0xa5, 0x0b, 0x10, 0x34, 0x06, 0x22, 0x12, 0x01, 0x9f, 0x9f,
- 0xa4, 0x9f, 0x1d, 0xc6,
- 0xd8, 0x67, 0xb0, 0x74, 0xc0, 0xb3, 0x28, 0x5b, 0xd8, 0x0c, 0x4b, 0x4b,
- 0xbc, 0x4b, 0x9c, 0x61,
- 0xa3, 0xf8, 0x0a, 0xe6, 0xf5, 0x70, 0xfa, 0x7f, 0xa3, 0x2b, 0x1b, 0x1b,
- 0x21, 0x1b, 0xe9, 0x0c,
- 0xa4, 0x17, 0xda, 0xba, 0x4c, 0xc7, 0xfb, 0x70, 0xa4, 0x74, 0xc0, 0xc0,
- 0xae, 0xc0, 0x0d, 0x2d,
- 0xcf, 0x2a, 0x52, 0xdc, 0x95, 0xc8, 0xee, 0xb3, 0xcf, 0x2d, 0xdf, 0xdf,
- 0x7f, 0xdf, 0xa7, 0xdd,
- 0x9a, 0x2f, 0xef, 0xdd, 0x0a, 0xfd, 0x73, 0x84, 0x9a, 0x48, 0x64, 0x64,
- 0xa7, 0x64, 0xa4, 0x0b,
- 0xcc, 0x0c, 0x6f, 0xbd, 0x17, 0x4c, 0xae, 0xf5, 0xcc, 0x8c, 0x67, 0x67,
- 0xe3, 0x67, 0x04, 0x4a,
- 0x52, 0xea, 0x6d, 0x5d, 0x26, 0x82, 0x9c, 0x38, 0x52, 0x3a, 0x60, 0x60,
- 0x57, 0x60, 0xe7, 0xf7,
- 0x1c, 0x3a, 0xc6, 0xb3, 0xa1, 0x99, 0x04, 0x3c, 0x1c, 0xbf, 0xea, 0xea,
- 0x79, 0xea, 0x16, 0x84,
- 0x2f, 0x39, 0xad, 0x0d, 0xd4, 0x8a, 0xce, 0x90, 0x2f, 0x9c, 0x83, 0x83,
- 0x31, 0x83, 0x17, 0x77,
- 0x7e, 0xf5, 0xfd, 0x31, 0x70, 0x8c, 0x12, 0xee, 0x7e, 0x07, 0x5b, 0x5b,
- 0xfa, 0x5b, 0x53, 0x17,
- 0x93, 0xdd, 0x5c, 0x39, 0x02, 0xe7, 0x70, 0x95, 0x93, 0xa9, 0xca, 0xca,
- 0xf5, 0xca, 0x4b, 0x68,
- 0x42, 0x48, 0x5f, 0xa9, 0xca, 0x4e, 0x5b, 0xdf, 0x42, 0x44, 0x2f, 0x2f,
- 0x1b, 0x2f, 0x38, 0x6a,
- 0xb3, 0x5a, 0x38, 0x12, 0x19, 0xbc, 0x3d, 0x98, 0xb3, 0x55, 0x54, 0x54,
- 0x6d, 0x54, 0x36, 0x91,
- 0x18, 0xf3, 0x2b, 0x8e, 0x9a, 0xaa, 0x45, 0x75, 0x18, 0x41, 0x89, 0x89,
- 0x6a, 0x89, 0x51, 0x32,
- 0xb8, 0x2d, 0x1c, 0x09, 0xed, 0x5e, 0xff, 0x4c, 0xb8, 0xcb, 0x2a, 0x2a,
- 0xd7, 0x2a, 0x1b, 0xa9,
- 0xfc, 0x29, 0x39, 0x62, 0xe0, 0xdb, 0x24, 0x1f, 0xfc, 0x0e, 0xb6, 0xb6,
- 0x37, 0xb6, 0xa6, 0x2e,
- 0x44, 0x04, 0x25, 0x6b, 0x0d, 0x85, 0xdb, 0x53, 0x44, 0xc5, 0x9c, 0x9c,
- 0xe0, 0x9c, 0xbd, 0x87,
- 0xe6, 0x5f, 0x85, 0x13, 0x86, 0x89, 0xa0, 0xaf, 0xe6, 0x30, 0xef, 0xef,
- 0xb5, 0xef, 0x35, 0x47,
- 0x8c, 0xc1, 0xa7, 0xeb, 0x21, 0xfa, 0x34, 0xef, 0x8c, 0xb7, 0x98, 0x98,
- 0x10, 0x98, 0xfe, 0x7b,
- 0xc6, 0xd8, 0xe1, 0x38, 0x9d, 0xd2, 0xed, 0xa2, 0xc6, 0xcc, 0x71, 0x71,
- 0x2d, 0x71, 0x48, 0xbe,
- 0x63, 0x6c, 0x91, 0x1c, 0xaf, 0x69, 0x97, 0x51, 0x63, 0x66, 0xd9, 0xd9,
- 0xf7, 0xd9, 0x24, 0x5f,
- 0xbf, 0xc2, 0xcc, 0x55, 0x54, 0xe9, 0xfe, 0x43, 0xbf, 0x94, 0xf1, 0xf1,
- 0x58, 0xf1, 0xff, 0x88,
- 0xf2, 0x34, 0x5a, 0xda, 0x51, 0x76, 0x26, 0x01, 0xf2, 0xb0, 0xc3, 0xc3,
- 0xea, 0xc3, 0xad, 0x6c,
- 0x2c, 0x1f, 0x90, 0x6c, 0x56, 0x0e, 0x8e, 0xd6, 0x2c, 0x3d, 0x3b, 0x3b,
- 0xad, 0x3b, 0xb4, 0xe0,
- 0x11, 0x01, 0x98, 0x6a, 0x92, 0xb0, 0x46, 0x64, 0x11, 0xa0, 0x27, 0x27,
- 0x38, 0x27, 0xbe, 0x51,
- 0x73, 0xce, 0xa3, 0xe8, 0x43, 0xa5, 0x50, 0xb6, 0x73, 0x18, 0x96, 0x96,
- 0xbb, 0x96, 0xfb, 0xc2,
- 0xdc, 0xae, 0x5d, 0x49, 0xfb, 0x80, 0x69, 0x12, 0xdc, 0xf2, 0x28, 0x28,
- 0xaf, 0x28, 0xdb, 0xd7,
- 0xd9, 0xc4, 0x1a, 0xea, 0xbe, 0xcf, 0xa9, 0xd8, 0xd9, 0xd2, 0x23, 0x23,
- 0xc8, 0x23, 0xfd, 0xad,
- 0x92, 0x7e, 0xf6, 0xa7, 0x7c, 0x9b, 0xf1, 0x16, 0x92, 0x77, 0xa2, 0xa2,
- 0x81, 0xa2, 0x2a, 0xa4,
- 0x3e, 0x38, 0x35, 0x67, 0x46, 0x3a, 0x88, 0xf4, 0x3e, 0x3c, 0xa4, 0xa4,
- 0x09, 0xa4, 0xa9, 0x26,
- 0xd2, 0xb3, 0x3e, 0xf1, 0x4a, 0x2d, 0x6b, 0x0c, 0xd2, 0x4c, 0x5d, 0x5d,
- 0x72, 0x5d, 0xd0, 0x95,
- 0x59, 0x9d, 0x49, 0x46, 0xd2, 0x60, 0x5e, 0xec, 0x59, 0xa4, 0x1e, 0x1e,
- 0xed, 0x1e, 0xca, 0xcf,
- 0x75, 0x82, 0xd9, 0x2a, 0x84, 0x6e, 0xd0, 0x3a, 0x75, 0x99, 0x25, 0x25,
- 0x40, 0x25, 0x7e, 0x2f,
- 0x19, 0x50, 0x81, 0x10, 0xe4, 0xd6, 0xc4, 0xf6, 0x19, 0x9f, 0xe1, 0xe1,
- 0x1e, 0xe1, 0x30, 0xfe,
- 0xb4, 0xb5, 0xe8, 0x4e, 0xa0, 0x0b, 0x3c, 0x97, 0xb4, 0x0a, 0x8f, 0x8f,
- 0xe2, 0x8f, 0xd2, 0xb0,
- 0x81, 0xfa, 0xf9, 0x32, 0x12, 0xd3, 0x76, 0xb7, 0x81, 0xa8, 0x55, 0x55,
- 0x51, 0x55, 0x56, 0xae,
- 0xe4, 0xda, 0x12, 0xec, 0x7a, 0x71, 0x61, 0x6a, 0xe4, 0x4f, 0x3f, 0x3f,
- 0x5d, 0x3f, 0xf7, 0x1c,
- 0xe5, 0x79, 0xb8, 0x72, 0x04, 0x0d, 0xe0, 0xe9, 0xe5, 0x91, 0x57, 0x57,
- 0x29, 0x57, 0x96, 0xd0,
- 0x0f, 0xbe, 0xc9, 0x26, 0xcf, 0xd1, 0x83, 0x9d, 0x0f, 0x60, 0x1d, 0x1d,
- 0xa9, 0x1d, 0x6a, 0x8e,
- 0x47, 0x22, 0x18, 0x0a, 0x8f, 0x01, 0x9b, 0x15, 0x47, 0x64, 0x24, 0x24,
- 0x7c, 0x24, 0x1e, 0x10,
- 0x9c, 0x63, 0x95, 0x1f, 0xcd, 0x36, 0xf3, 0x08, 0x9c, 0xc9, 0xd7, 0xd7,
- 0x5c, 0xd7, 0x21, 0xe6,
- 0x2a, 0x53, 0xea, 0xae, 0x91, 0xc5, 0x0e, 0x5a, 0x2a, 0xbc, 0x88, 0x88,
- 0x56, 0x88, 0x31, 0x0d,
- 0xa8, 0x8f, 0x2e, 0xfd, 0x01, 0x92, 0x38, 0xab, 0xa8, 0xb5, 0x65, 0x65,
- 0x9b, 0x65, 0xc4, 0x34,
- 0x5b, 0x18, 0xde, 0xb9, 0x2e, 0x98, 0x9f, 0x29, 0x5b, 0xdb, 0xce, 0xce,
- 0x05, 0xce, 0x08, 0x94,
- 0x8f, 0xe7, 0x9a, 0x8a, 0xa3, 0x7e, 0x74, 0xa9, 0x8f, 0x16, 0x20, 0x20,
- 0x8c, 0x20, 0x5d, 0xec,
- 0x04, 0xc9, 0xed, 0x3d, 0x3b, 0x33, 0x41, 0x49, 0x04, 0xfe, 0x63, 0x63,
- 0x13, 0x63, 0x47, 0xb6,
- 0xa6, 0x92, 0x4d, 0x45, 0xb0, 0x3f, 0x3a, 0xb5, 0xa6, 0x0b, 0x10, 0x10,
- 0x46, 0x10, 0xcf, 0x76,
- 0x72, 0x6d, 0x09, 0x76, 0x3d, 0xd9, 0xd1, 0x35, 0x72, 0xc6, 0xfe, 0xfe,
- 0xcf, 0xfe, 0x9a, 0x0e,
- 0xba, 0xa8, 0x8b, 0xf6, 0x11, 0xa6, 0x3e, 0x89, 0xba, 0xb4, 0xfa, 0xfa,
- 0x3f, 0xfa, 0xd9, 0xf2,
- 0x30, 0x25, 0x56, 0xdf, 0xf7, 0x97, 0x8a, 0xea, 0x30, 0x82, 0xd1, 0xd1,
- 0xd4, 0xd1, 0xa2, 0x64,
- 0x4c, 0x55, 0x3c, 0x11, 0x7b, 0xe3, 0x59, 0xc1, 0x4c, 0xfa, 0x5a, 0x5a,
- 0xc6, 0x5a, 0x33, 0x28,
- 0x82, 0xdc, 0xc4, 0x53, 0x90, 0x57, 0x36, 0xf1, 0x82, 0x09, 0xed, 0xed,
- 0xcd, 0xed, 0xf5, 0x39,
- 0x6a, 0x9e, 0x22, 0xf8, 0xa7, 0x73, 0x94, 0x40, 0x6a, 0x87, 0x77, 0x77,
- 0xa5, 0x77, 0xcb, 0x3c,
- 0x88, 0x08, 0x4a, 0xd6, 0x1a, 0xc9, 0x75, 0xa6, 0x88, 0x49, 0xfb, 0xfb,
- 0x03, 0xfb, 0xb9, 0xcd,
- 0x3c, 0xbd, 0xa2, 0x98, 0xba, 0xc2, 0x49, 0x31, 0x3c, 0x43, 0x74, 0x74,
- 0xe1, 0x74, 0x6b, 0x7d,
- 0x6e, 0x57, 0xcf, 0xc5, 0x9c, 0x40, 0xd5, 0x09, 0x6e, 0x79, 0x14, 0x14,
- 0xb6, 0x14, 0x8c, 0x8a,
- 0x0b, 0x77, 0x24, 0x1b, 0xf4, 0xe2, 0xc2, 0xd4, 0x0b, 0x9e, 0x7e, 0x7e,
- 0xba, 0x7e, 0x2d, 0x38,
- 0x9e, 0xe6, 0x02, 0xe0, 0x31, 0xce, 0x32, 0xcd, 0x9e, 0xb6, 0x07, 0x07,
- 0xb4, 0x07, 0xe3, 0xbd,
- 0x68, 0x1b, 0xb5, 0x07, 0x5b, 0x8b, 0x55, 0x85, 0x68, 0xf8, 0xa7, 0xa7,
- 0x4d, 0xa7, 0x09, 0x67,
- 0x67, 0xa5, 0x7c, 0x21, 0x94, 0x5a, 0xd6, 0x18, 0x67, 0x98, 0xba, 0xba,
- 0xe4, 0xba, 0x63, 0xe9,
- 0xc5, 0xfe, 0xdc, 0x59, 0x1f, 0x56, 0xad, 0xe4, 0xc5, 0x6d, 0xc9, 0xc9,
- 0xb1, 0xc9, 0xeb, 0x29,
- 0x74, 0x21, 0x73, 0xb4, 0xfa, 0x12, 0x51, 0xb9, 0x74, 0x47, 0x4d, 0x4d,
- 0x34, 0x4d, 0x1f, 0xe3,
- 0x40, 0xcd, 0xc8, 0x56, 0x36, 0xb6, 0x9a, 0x1a, 0x40, 0x3b, 0xff, 0xff,
- 0xf3, 0xff, 0xfa, 0x31,
- 0x0c, 0x98, 0xf4, 0x47, 0x4d, 0x55, 0xc3, 0xdb, 0x0c, 0xc1, 0xa5, 0xa5,
- 0x35, 0xa5, 0xc9, 0x19,
- 0xe7, 0xfc, 0x2f, 0x8d, 0xf8, 0xf5, 0x21, 0x2c, 0xe7, 0xee, 0x87, 0x87,
- 0xc1, 0x87, 0x54, 0x8b,
- 0x9d, 0xc0, 0x3f, 0x81, 0xb3, 0x4a, 0x72, 0x8b, 0x9d, 0x17, 0xbf, 0xbf,
- 0x28, 0xbf, 0x40, 0x2a,
- 0x90, 0xfb, 0x61, 0x58, 0x80, 0x63, 0x30, 0xd3, 0x90, 0x08, 0x72, 0x72,
- 0x69, 0x72, 0xe8, 0xff,
- 0x7a, 0x3c, 0x10, 0x0c, 0x4b, 0xbf, 0x53, 0xa7, 0x7a, 0xf9, 0x38, 0x38,
- 0xe9, 0x38, 0x14, 0xa1,
- 0x3a, 0xf1, 0xd8, 0x5a, 0x7d, 0x09, 0xc9, 0xbd, 0x3a, 0xc2, 0xc7, 0xc7,
- 0x1a, 0xc7, 0xee, 0x90,
- 0x35, 0x4f, 0x11, 0x7c, 0xb2, 0xd8, 0x4a, 0x20, 0x35, 0xa2, 0xda, 0xda,
- 0xb3, 0xda, 0x84, 0x1e,
- 0x34, 0xec, 0xbb, 0xe2, 0xcc, 0xa4, 0xcb, 0xa3, 0x34, 0x7c, 0xb2, 0xb2,
- 0xc7, 0xb2, 0xe5, 0xd2,
- 0x9f, 0x45, 0xa8, 0x7e, 0x4f, 0xb2, 0xb3, 0x4e, 0x9f, 0x68, 0x6f, 0x6f,
- 0xc0, 0x6f, 0x82, 0x71,
- 0xb7, 0x93, 0xd5, 0x2f, 0x22, 0x8f, 0x7c, 0xd1, 0xb7, 0xab, 0x37, 0x37,
- 0x7e, 0x37, 0x71, 0x27,
- 0xf8, 0xe0, 0xd4, 0x5f, 0xdb, 0xe8, 0x65, 0x56, 0xf8, 0xf0, 0xd5, 0xd5,
- 0x24, 0xd5, 0xe1, 0x98,
- 0x4f, 0x73, 0x01, 0x70, 0xf9, 0x67, 0x19, 0x87, 0x4f, 0x5b, 0xe2, 0xe2,
- 0x5a, 0xe2, 0x90, 0xbf,
- 0x6b, 0x3d, 0x88, 0x66, 0xd9, 0x0f, 0x15, 0xc3, 0x6b, 0x59, 0x1f, 0x1f,
- 0xd1, 0x1f, 0xaa, 0xf0,
- 0x83, 0x7f, 0x6e, 0xcd, 0xee, 0x2b, 0xb7, 0x72, 0x83, 0xd7, 0x85, 0x85,
- 0xb9, 0x85, 0x94, 0xf5,
- 0x5f, 0xd1, 0x33, 0x84, 0x15, 0xab, 0xde, 0x60, 0x5f, 0x25, 0xad, 0xad,
- 0x16, 0xad, 0x4f, 0x22,
- 0xa7, 0x31, 0xe7, 0xdb, 0xce, 0x43, 0xbb, 0x36, 0xa7, 0xd5, 0x78, 0x78,
- 0x32, 0x78, 0xae, 0xba,
- 0x1e, 0xbf, 0x51, 0x4c, 0x5d, 0x61, 0xc5, 0xf9, 0x1e, 0xc0, 0x3a, 0x3a,
- 0x91, 0x3a, 0xd4, 0xdf,
- 0x10, 0xa2, 0x32, 0xf4, 0xec, 0xcc, 0xc7, 0xe7, 0x10, 0x7e, 0x4f, 0x4f,
- 0x4c, 0x4f, 0xdf, 0x9d,
- 0xc3, 0xb2, 0xa6, 0x9b, 0xd8, 0x9d, 0x2d, 0x68, 0xc3, 0xec, 0x7a, 0x7a,
- 0x4a, 0x7a, 0x6e, 0xc4,
- 0x78, 0xb9, 0x87, 0xf3, 0xb7, 0x47, 0x92, 0x62, 0x78, 0x86, 0xe8, 0xe8,
- 0x01, 0xe8, 0xd6, 0xfa,
- 0x2d, 0xbc, 0x3a, 0xf2, 0x28, 0x72, 0x0f, 0x55, 0x2d, 0xe3, 0x53, 0x53,
- 0xd9, 0x53, 0xd5, 0x2c,
- 0x77, 0x07, 0x4e, 0xd5, 0x78, 0x96, 0x11, 0xff, 0x77, 0xe6, 0xf5, 0xf5,
- 0xa8, 0xf5, 0xbc, 0x74,
- 0xe3, 0x35, 0xc2, 0xb0, 0xc3, 0xc6, 0x60, 0x65, 0xe3, 0x10, 0xe4, 0xe4,
- 0xd2, 0xe4, 0x13, 0x3d,
- 0x80, 0x59, 0x53, 0xac, 0x6c, 0xaf, 0xf7, 0x34, 0x80, 0x76, 0x3d, 0x3d,
- 0x25, 0x3d, 0x37, 0x62,
- },
- { /* 14 */
- 0x0a, 0xaf, 0x45, 0x6e, 0xf6, 0x73, 0x56, 0xfb, 0x47, 0x1c, 0xd5, 0xc8,
- 0x66, 0x2c, 0x64, 0xb5,
- 0xca, 0x52, 0x68, 0xe5, 0x24, 0x5b, 0xd9, 0x08, 0xeb, 0x1e, 0xe0, 0x5e,
- 0xac, 0x6b, 0x2f, 0x0a,
- 0xf3, 0x80, 0xf6, 0x75, 0x2e, 0x6a, 0xc5, 0xcb, 0x78, 0x58, 0xd0, 0xcf,
- 0x08, 0x95, 0x86, 0x89,
- 0x17, 0x4e, 0xcb, 0x70, 0x06, 0xae, 0xb5, 0x41, 0x71, 0x83, 0x10, 0xce,
- 0xdd, 0xeb, 0x67, 0xc0,
- 0x33, 0x7d, 0xdb, 0xfe, 0xfc, 0x42, 0x4a, 0x38, 0xd4, 0x5a, 0xe5, 0x59,
- 0xc2, 0xd2, 0xcd, 0x36,
- 0x5f, 0x28, 0xeb, 0xaf, 0x31, 0xb5, 0x88, 0xb3, 0xf8, 0xf2, 0x39, 0x23,
- 0xe3, 0x99, 0xf0, 0xef,
- 0xa3, 0xb1, 0x9b, 0x83, 0x92, 0x74, 0x30, 0x1f, 0x05, 0xb8, 0xb7, 0x40,
- 0xbe, 0x36, 0x20, 0x68,
- 0x37, 0x3b, 0x27, 0xad, 0x21, 0xa2, 0xd7, 0x88, 0x43, 0x3d, 0xf8, 0xf7,
- 0xfe, 0x14, 0x9a, 0xaa,
- 0x2a, 0xda, 0xa9, 0xb3, 0xd1, 0x7f, 0x34, 0x32, 0x75, 0xa2, 0x3d, 0xf1,
- 0x45, 0xd3, 0x99, 0xdf,
- 0xc9, 0x81, 0x29, 0x49, 0x0d, 0x13, 0xc0, 0x7c, 0x14, 0xa5, 0x99, 0xc3,
- 0xbd, 0xd8, 0x80, 0x63,
- 0x67, 0x0a, 0x4a, 0x5b, 0x9d, 0xbc, 0x22, 0x5c, 0x3e, 0xdd, 0x9f, 0x78,
- 0x48, 0xb7, 0x3c, 0x4b,
- 0xd3, 0xf5, 0x1a, 0xa8, 0x09, 0x66, 0xa7, 0x02, 0x4a, 0xe6, 0x38, 0xf6,
- 0x2b, 0x6a, 0x7b, 0xe3,
- 0x63, 0x4c, 0xb6, 0x08, 0x40, 0x5c, 0xbf, 0xec, 0xa9, 0xba, 0x82, 0xd6,
- 0x74, 0x71, 0x6b, 0xd7,
- 0x84, 0x51, 0xca, 0xa1, 0x41, 0xd0, 0xd6, 0x12, 0x5f, 0xda, 0x3b, 0x4a,
- 0xb0, 0xbc, 0x25, 0xf7,
- 0xf7, 0xc6, 0x0a, 0x26, 0xf3, 0x8a, 0x58, 0x7b, 0xef, 0x3f, 0xcd, 0x61,
- 0x34, 0x53, 0xd1, 0x15,
- 0x3c, 0x64, 0x5d, 0xa7, 0x71, 0xe9, 0x37, 0x5f, 0x51, 0x48, 0xbb, 0xf5,
- 0x97, 0xe8, 0x9b, 0x38,
- 0xea, 0x27, 0x84, 0x38, 0x03, 0x57, 0xbb, 0xc1, 0xd9, 0xa0, 0x08, 0x67,
- 0x8f, 0x94, 0xd2, 0x60,
- 0x65, 0x29, 0x34, 0x93, 0x12, 0xcc, 0x8d, 0x04, 0x94, 0x0f, 0x70, 0x2f,
- 0x56, 0xd4, 0xf6, 0x05,
- 0xd0, 0x26, 0x5b, 0x04, 0x20, 0x2e, 0xbe, 0x76, 0xb5, 0x5d, 0x41, 0x6b,
- 0x3a, 0xd9, 0xd4, 0x8a,
- 0x9e, 0x25, 0xf9, 0x40, 0x45, 0xa5, 0xb1, 0x6c, 0x01, 0x99, 0x9a, 0x7f,
- 0x26, 0x0e, 0xde, 0x77,
- 0x18, 0x57, 0x4d, 0x29, 0x8b, 0x05, 0xc8, 0x26, 0xf4, 0x91, 0x4e, 0x62,
- 0x88, 0xd1, 0x31, 0xce,
- 0xf4, 0x15, 0x4b, 0x8a, 0xda, 0xc2, 0x41, 0x0f, 0x10, 0x84, 0xb4, 0xfc,
- 0x25, 0xe0, 0x7e, 0x7c,
- 0xaf, 0x7b, 0x5c, 0x76, 0x36, 0x97, 0x54, 0x0c, 0x7f, 0x11, 0x90, 0x71,
- 0xfa, 0xbf, 0xd9, 0x0f,
- 0xcc, 0x37, 0xea, 0x7e, 0x76, 0xcb, 0xeb, 0xe0, 0xd6, 0xab, 0x12, 0xa7,
- 0x8e, 0xce, 0xb2, 0xd8,
- 0x7a, 0xeb, 0xc4, 0x45, 0x6d, 0x61, 0xc1, 0xe6, 0x08, 0x42, 0x5a, 0x7e,
- 0xf3, 0x70, 0x3f, 0x3e,
- 0x83, 0xc4, 0x77, 0x5e, 0xb5, 0x78, 0x52, 0xd6, 0x37, 0x06, 0x5f, 0x79,
- 0x9d, 0xc9, 0xdd, 0x02,
- 0x9d, 0xf6, 0xb8, 0xec, 0x6c, 0xed, 0xa8, 0x18, 0xfe, 0x22, 0xe3, 0xe2,
- 0x37, 0xbd, 0x71, 0x1e,
- 0x81, 0xe7, 0x09, 0x96, 0x3a, 0x08, 0xfd, 0x8e, 0x9d, 0xd4, 0xb0, 0x2e,
- 0x83, 0xaa, 0x17, 0x4c,
- 0xad, 0x58, 0x22, 0xbe, 0xb9, 0xe7, 0xfb, 0x54, 0xd5, 0xc3, 0x7f, 0x26,
- 0xe4, 0xdc, 0x13, 0x41,
- 0xa9, 0x1e, 0xde, 0xed, 0x64, 0x07, 0x66, 0xe4, 0x42, 0xa4, 0x62, 0x88,
- 0xd8, 0x1a, 0x44, 0xdd,
- 0xfc, 0x99, 0x70, 0x2c, 0xa3, 0xc1, 0xb8, 0xac, 0xfd, 0x4a, 0x8e, 0x63,
- 0x5d, 0xaf, 0xd0, 0x87,
- 0x73, 0x97, 0xc0, 0x87, 0xb2, 0x5a, 0x8e, 0x69, 0xb0, 0xe5, 0xf6, 0x2b,
- 0x84, 0xef, 0xf4, 0xe2,
- 0xb0, 0xb9, 0xac, 0xa0, 0x49, 0x3a, 0x18, 0xee, 0xe3, 0x5c, 0xba, 0x20,
- 0x5f, 0x1b, 0x10, 0x34,
- 0x77, 0xd1, 0x3c, 0xd4, 0x6f, 0xba, 0x13, 0xd9, 0x27, 0x82, 0xeb, 0x85,
- 0xb8, 0x29, 0xa3, 0x7e,
- 0xa5, 0xd4, 0x19, 0x18, 0xc0, 0xe4, 0x02, 0xf7, 0x38, 0x0d, 0x45, 0xb9,
- 0x9c, 0x93, 0xbd, 0xba,
- 0x46, 0x8f, 0x99, 0xe2, 0x1c, 0x88, 0xf6, 0xb9, 0x59, 0x0a, 0xe1, 0x8b,
- 0x64, 0x98, 0xa4, 0x06,
- 0x10, 0xdb, 0x76, 0x8f, 0xf2, 0x06, 0x31, 0x85, 0x19, 0x5f, 0x74, 0xfd,
- 0xf0, 0x9e, 0x9f, 0x35,
- 0x2b, 0x2a, 0x96, 0xd7, 0x77, 0x47, 0x82, 0x1e, 0x20, 0xcb, 0xab, 0x3b,
- 0x4a, 0x03, 0xfc, 0xf8,
- 0x87, 0x82, 0x8b, 0x0d, 0x68, 0x98, 0xcf, 0x66, 0xa0, 0x61, 0x42, 0xd7,
- 0xa1, 0x0f, 0x8a, 0x9e,
- 0xf9, 0x2f, 0xb3, 0x1b, 0xd8, 0x19, 0x93, 0x30, 0x3f, 0x44, 0x05, 0x07,
- 0x6e, 0xb9, 0xe2, 0x3c,
- 0xd8, 0xaa, 0x60, 0xa2, 0x59, 0x2d, 0x47, 0xd5, 0x58, 0x93, 0x7b, 0xf4,
- 0x42, 0x96, 0x7a, 0x71,
- 0x80, 0x17, 0x36, 0xf2, 0x9c, 0x30, 0x4b, 0xa2, 0xc8, 0xbd, 0x26, 0xe4,
- 0x8c, 0x7a, 0x72, 0x6b,
- 0x34, 0xe8, 0x66, 0x01, 0x08, 0xea, 0xce, 0xfc, 0xbc, 0x86, 0x81, 0x6a,
- 0xef, 0xa7, 0x35, 0xc3,
- 0x31, 0x5e, 0xa5, 0x36, 0x73, 0x32, 0xe5, 0x60, 0x7e, 0x88, 0x0a, 0x0e,
- 0xdc, 0xb1, 0x07, 0x78,
- 0x6f, 0x86, 0x71, 0xfd, 0xe4, 0xbf, 0xdb, 0xff, 0xd3, 0x13, 0xa5, 0xe7,
- 0x30, 0xf8, 0x92, 0xb0,
- 0x4d, 0xd0, 0xe3, 0xe8, 0x4c, 0xc3, 0x16, 0x6e, 0x4b, 0x7f, 0xa2, 0x89,
- 0x0d, 0x64, 0xa5, 0x94,
- 0xd5, 0x90, 0x98, 0x33, 0x5b, 0xf6, 0x95, 0xea, 0x77, 0x53, 0xca, 0x0f,
- 0x09, 0xcf, 0xe6, 0x31,
- 0xa6, 0x07, 0x58, 0xb4, 0xe9, 0xac, 0x1b, 0x83, 0xc7, 0xb6, 0x3c, 0x24,
- 0x8d, 0x20, 0x12, 0xd3,
- 0xba, 0x16, 0xe9, 0xce, 0xbf, 0x49, 0x4e, 0x15, 0xa4, 0x40, 0x6f, 0xe8,
- 0x39, 0x37, 0x74, 0x81,
- 0x62, 0xbc, 0x89, 0x6c, 0xe6, 0x64, 0x09, 0xc0, 0xfc, 0xd3, 0x14, 0x1c,
- 0x7b, 0xa1, 0x0e, 0xf0,
- 0x9a, 0x63, 0x05, 0x13, 0x98, 0x45, 0x2c, 0xdc, 0x96, 0xfe, 0x87, 0xd1,
- 0x1a, 0xc8, 0x89, 0xeb,
- 0x61, 0x6f, 0xc8, 0xc0, 0xcf, 0x2c, 0x10, 0xb4, 0x03, 0x68, 0x6d, 0x81,
- 0x6a, 0x12, 0xa1, 0x99,
- 0x5d, 0x0b, 0x95, 0x67, 0xbe, 0xc5, 0x27, 0xeb, 0x52, 0x20, 0xd6, 0x74,
- 0xfd, 0xfa, 0x3a, 0xa1,
- 0xa8, 0xee, 0xe1, 0x89, 0xc2, 0x3f, 0xd0, 0xc8, 0x17, 0xcd, 0xf4, 0x42,
- 0xd7, 0xca, 0x21, 0xfa,
- 0x98, 0x40, 0x7b, 0xdb, 0x17, 0x35, 0x83, 0x84, 0x3c, 0x2c, 0x68, 0x86,
- 0x04, 0xab, 0x43, 0xa5,
- 0x21, 0x85, 0xd3, 0xb9, 0x81, 0x34, 0xd4, 0xe5, 0x67, 0xd7, 0x7e, 0xf3,
- 0x2c, 0x2f, 0x98, 0x4d,
- 0x6d, 0xa5, 0x0f, 0x35, 0x6b, 0xcf, 0x74, 0xa7, 0x79, 0xc1, 0x4a, 0xb0,
- 0x2e, 0x9b, 0x58, 0xfe,
- 0xfa, 0xfc, 0xf2, 0xb7, 0xf1, 0x51, 0x8a, 0x44, 0xc0, 0xff, 0x7c, 0x9a,
- 0x7f, 0x0a, 0x4d, 0x55,
- 0x1d, 0xe1, 0x8e, 0x1e, 0xf0, 0xdd, 0xe3, 0xba, 0x36, 0x9f, 0xc5, 0x06,
- 0xbb, 0xc7, 0x03, 0x75,
- 0xe2, 0xab, 0xbf, 0x9e, 0x7a, 0x54, 0x42, 0x62, 0x34, 0x6e, 0x32, 0xf8,
- 0xf7, 0xdb, 0x7c, 0x9b,
- 0x48, 0x66, 0x20, 0xdf, 0x37, 0x1b, 0x3d, 0xf2, 0x89, 0x71, 0x29, 0xed,
- 0x3e, 0x72, 0x97, 0x2f,
- 0x93, 0x1f, 0x01, 0xd1, 0x47, 0x7e, 0x63, 0x53, 0x2e, 0x59, 0x2b, 0x84,
- 0x6d, 0x57, 0x42, 0x37,
- 0xb3, 0x6a, 0xed, 0x0c, 0x60, 0x72, 0x01, 0x9a, 0x1c, 0xe7, 0xc3, 0xbd,
- 0x4e, 0xa8, 0xbf, 0x5d,
- 0x57, 0xa4, 0xd0, 0x09, 0x48, 0xb6, 0x71, 0x10, 0x15, 0x3c, 0x03, 0xbc,
- 0x9b, 0xd6, 0x5e, 0x14,
- 0x70, 0x44, 0x81, 0x2b, 0x9b, 0x12, 0x97, 0x1d, 0x4f, 0x5e, 0x8f, 0xb6,
- 0x95, 0x5c, 0x5b, 0x8b,
- 0x19, 0xa7, 0x72, 0x4d, 0x2d, 0x3d, 0x7e, 0x0a, 0xa1, 0xf8, 0xd8, 0xa8,
- 0x87, 0x01, 0x54, 0xe9,
- 0x6e, 0x76, 0x4e, 0x99, 0x42, 0x87, 0x6d, 0xd3, 0x86, 0x7a, 0x33, 0x2d,
- 0x3f, 0x28, 0xf7, 0x97,
- 0xbc, 0x73, 0x6b, 0x55, 0xed, 0xd9, 0x7c, 0xfd, 0x99, 0xf5, 0x9d, 0x11,
- 0x1b, 0x92, 0xe9, 0x53,
- 0x3d, 0x94, 0x62, 0xc3, 0xd7, 0xd1, 0x81, 0x73, 0x04, 0x21, 0x2d, 0x3f,
- 0x98, 0x38, 0xfe, 0x1f,
- 0x13, 0x08, 0x37, 0x23, 0xdb, 0x4e, 0x28, 0xf1, 0xe6, 0xe4, 0x0d, 0x60,
- 0xe1, 0x2d, 0x30, 0x5c,
- 0x86, 0x72, 0xb4, 0x69, 0xce, 0xa0, 0x79, 0x4a, 0xf5, 0x08, 0xd4, 0x1d,
- 0xae, 0xdf, 0xef, 0xb9,
- 0xdb, 0x79, 0x21, 0x0e, 0x70, 0x65, 0x5e, 0xa1, 0xa7, 0x28, 0x02, 0x69,
- 0x53, 0x25, 0xd5, 0x18,
- 0x4a, 0x45, 0x5e, 0x17, 0xb8, 0x6b, 0x92, 0xaa, 0x23, 0xa3, 0xc6, 0xba,
- 0x20, 0x11, 0x5d, 0x61,
- 0x03, 0xd3, 0x41, 0xac, 0x29, 0x48, 0x19, 0x74, 0xff, 0xbb, 0x79, 0x9d,
- 0x11, 0xb3, 0xaf, 0x69,
- 0x32, 0x8d, 0xe4, 0x9a, 0x5a, 0x7a, 0xfc, 0x14, 0x81, 0x33, 0x73, 0x93,
- 0xcd, 0x02, 0xa8, 0x11,
- 0xbb, 0xe6, 0xd6, 0xaa, 0x19, 0x71, 0xf8, 0x39, 0xf1, 0x29, 0xf9, 0x22,
- 0x36, 0xe7, 0x11, 0xa6,
- 0x47, 0x7f, 0xa6, 0x86, 0xba, 0xb0, 0x40, 0x95, 0x0c, 0x63, 0x77, 0x41,
- 0x6b, 0x48, 0xc1, 0x21,
- 0x59, 0x4d, 0x69, 0x34, 0x63, 0x25, 0xba, 0x5b, 0xc5, 0x47, 0xcb, 0xda,
- 0xc1, 0x3c, 0x6d, 0x3d,
- 0x7e, 0xad, 0x38, 0x16, 0xb0, 0x81, 0x5c, 0x56, 0x9f, 0x25, 0x47, 0xd0,
- 0xcf, 0xb6, 0x68, 0xa2,
- 0xe4, 0xce, 0x3d, 0x05, 0x28, 0xc4, 0x70, 0x8a, 0x09, 0xdb, 0xc0, 0x01,
- 0xd5, 0x7e, 0xe1, 0x49,
- 0xc1, 0x0d, 0x12, 0xef, 0x74, 0x10, 0x39, 0xdf, 0xf9, 0x6b, 0xa3, 0x5c,
- 0xc5, 0x97, 0x2e, 0x98,
- 0x45, 0x5c, 0xd8, 0x4e, 0x35, 0xc0, 0xef, 0xcd, 0xa6, 0xb1, 0x98, 0x16,
- 0x75, 0x2b, 0x0b, 0x6f,
- 0x40, 0xea, 0x1b, 0x79, 0x4e, 0x18, 0xc4, 0x51, 0x64, 0xbf, 0x13, 0x72,
- 0x46, 0x3d, 0x39, 0xd4,
- 0x9c, 0x06, 0x87, 0x88, 0xca, 0xd5, 0x1e, 0x34, 0xab, 0x4b, 0x75, 0x28,
- 0x38, 0x6d, 0x14, 0x39,
- 0x2d, 0x4f, 0x14, 0x4c, 0x25, 0xd7, 0xb0, 0xf6, 0x1d, 0x7e, 0x59, 0xc2,
- 0x68, 0xa6, 0x61, 0x2a,
- 0xda, 0x89, 0x1e, 0x6a, 0xd6, 0x5d, 0xe8, 0x8d, 0xf2, 0x41, 0x94, 0xa3,
- 0x5c, 0xf5, 0xb0, 0x3f,
- 0x28, 0xf9, 0xd7, 0x7b, 0x5e, 0x0f, 0x9b, 0x6a, 0xdf, 0x70, 0xd2, 0xa6,
- 0x5b, 0xb0, 0x53, 0x91,
- 0xc0, 0xfd, 0x2d, 0x8b, 0xd2, 0x28, 0x8f, 0xf3, 0xac, 0x02, 0x35, 0x96,
- 0xca, 0x47, 0x4b, 0xbf,
- 0x76, 0x21, 0x03, 0xb0, 0xc9, 0x82, 0xa5, 0xf5, 0x72, 0xeb, 0x7d, 0x4f,
- 0xb7, 0xf9, 0xc6, 0x59,
- 0xdf, 0x3f, 0xdd, 0x5d, 0xad, 0x85, 0xc3, 0x11, 0x30, 0x4f, 0x1f, 0xc7,
- 0x6f, 0xe3, 0x82, 0x84,
- 0x8d, 0x2d, 0xce, 0x63, 0x9e, 0xeb, 0x99, 0x9d, 0xe7, 0x7d, 0x97, 0x1f,
- 0xc7, 0x23, 0xee, 0x2b,
- 0x8b, 0x48, 0x4c, 0xf8, 0xcc, 0x7b, 0xab, 0x75, 0xda, 0xc8, 0x65, 0xe6,
- 0xe5, 0x86, 0x73, 0xf9,
- 0x15, 0x6d, 0xb5, 0xb8, 0x89, 0xde, 0x1a, 0x19, 0xdb, 0x51, 0xff, 0x99,
- 0xc3, 0x88, 0xad, 0x8e,
- 0x5b, 0x6e, 0x17, 0xfc, 0xec, 0x55, 0x15, 0x03, 0x6f, 0x95, 0x24, 0x8d,
- 0xdf, 0x5f, 0xa7, 0x73,
- 0x66, 0xfa, 0x75, 0x3f, 0x3b, 0x84, 0x94, 0x70, 0x6b, 0xb4, 0x09, 0xb2,
- 0x47, 0x67, 0x59, 0x6c,
- 0xb5, 0x0f, 0x6f, 0x97, 0x32, 0xe2, 0x33, 0x72, 0x21, 0x52, 0x31, 0x44,
- 0x6c, 0x0d, 0x22, 0x8f,
- 0xe0, 0x88, 0xc1, 0x56, 0xf5, 0x24, 0xed, 0x3a, 0x9e, 0xbc, 0xdd, 0xaf,
- 0xe9, 0xb8, 0xb6, 0xd5,
- 0x6c, 0x55, 0x30, 0x51, 0xcd, 0xf7, 0xc2, 0x8b, 0x2c, 0xa8, 0xdc, 0x7a,
- 0x21, 0x4b, 0x3d, 0xd9,
- 0xa2, 0x41, 0xa4, 0xe7, 0x34, 0x4c, 0x86, 0x33, 0x50, 0xd1, 0x21, 0x8a,
- 0xb1, 0xe6, 0x45, 0x4f,
- 0xd4, 0x60, 0xa7, 0x57, 0xfd, 0xce, 0x23, 0xc6, 0x22, 0x3a, 0x5c, 0xc5,
- 0x06, 0x1f, 0x83, 0x16,
- 0x5a, 0x9e, 0x28, 0x98, 0x4a, 0x6d, 0xa3, 0x2f, 0x3a, 0xfc, 0xb2, 0x47,
- 0xd0, 0x8f, 0xc2, 0x54,
- 0xbf, 0xa0, 0x2a, 0xf9, 0xc4, 0x91, 0x65, 0x89, 0x66, 0x4e, 0xe4, 0x8c,
- 0x0a, 0x21, 0x46, 0x3a,
- 0x78, 0xc8, 0xba, 0x8d, 0xe2, 0x11, 0x6e, 0xbe, 0xa2, 0x90, 0xb5, 0x29,
- 0xed, 0x13, 0xf5, 0x70,
- 0x1e, 0x32, 0xcf, 0xb2, 0xd9, 0x95, 0xfa, 0xce, 0xc9, 0x24, 0xbc, 0x9b,
- 0xaa, 0x74, 0xac, 0x1c,
- 0x07, 0x95, 0xbd, 0xff, 0xf4, 0xa8, 0x84, 0xc4, 0x68, 0xdc, 0x64, 0x33,
- 0x2d, 0x75, 0xf8, 0xf5,
- 0x82, 0x34, 0x48, 0x3a, 0x13, 0x40, 0xe4, 0xfa, 0x62, 0x6f, 0xc9, 0xb3,
- 0x92, 0x19, 0xb8, 0x25,
- 0x68, 0x13, 0xcc, 0x02, 0x10, 0x17, 0x5f, 0x3b, 0xbb, 0xcf, 0xc1, 0xd4,
- 0x1d, 0x8d, 0x6a, 0x45,
- 0x12, 0xf8, 0x08, 0x47, 0x7d, 0x76, 0x9e, 0xdd, 0xb3, 0x8d, 0x9b, 0xaa,
- 0xee, 0xfd, 0x55, 0x7b,
- 0x58, 0xbd, 0x56, 0x50, 0xc5, 0x1d, 0x0c, 0x77, 0x90, 0x2e, 0x5d, 0x10,
- 0xce, 0xec, 0x08, 0x1a,
- 0x8f, 0x0e, 0xb0, 0xab, 0x11, 0x9b, 0x36, 0xc5, 0x4d, 0xaf, 0x78, 0x48,
- 0xd9, 0x40, 0x24, 0x65,
- 0xe1, 0x78, 0xfe, 0x32, 0x53, 0x1c, 0x5b, 0x16, 0xcb, 0xd5, 0x4b, 0x65,
- 0xe6, 0x68, 0xd3, 0xf2,
- 0x36, 0xcb, 0x18, 0xc9, 0x87, 0x9a, 0x61, 0xa4, 0x16, 0x54, 0x6e, 0x3d,
- 0xf1, 0xc4, 0xff, 0x8d,
- 0x74, 0x02, 0x7d, 0x78, 0x46, 0xf2, 0x0a, 0xad, 0xd8, 0x39, 0x92, 0x18,
- 0xa9, 0x9a, 0x0c, 0x17,
- 0xff, 0x4a, 0x31, 0x80, 0x8a, 0x89, 0xa1, 0xd8, 0x02, 0xf1, 0xf7, 0xfe,
- 0x4c, 0x1c, 0x7f, 0xee,
- 0x3a, 0x01, 0xdf, 0x3c, 0x23, 0x79, 0x05, 0xb7, 0x6c, 0xfd, 0x49, 0x0c,
- 0xb5, 0x4d, 0x06, 0xea,
- 0x79, 0x38, 0x85, 0xe9, 0x44, 0x29, 0xd8, 0x92, 0xf7, 0xf9, 0x23, 0xe3,
- 0xe2, 0xc3, 0x90, 0x57,
- 0xdd, 0x1c, 0xa3, 0x95, 0x22, 0xf5, 0x6c, 0x49, 0x9a, 0x9d, 0xf0, 0x90,
- 0x71, 0x80, 0x48, 0xca,
- 0x54, 0x77, 0x91, 0xa5, 0x61, 0xfe, 0x68, 0x64, 0xea, 0x87, 0x7a, 0x21,
- 0x8a, 0x65, 0xf1, 0x7d,
- 0x22, 0x56, 0x92, 0x15, 0xa8, 0x7c, 0xcd, 0x91, 0x98, 0x6c, 0x07, 0x6e,
- 0x3d, 0x9c, 0x37, 0x24,
- 0x05, 0xb6, 0xc3, 0x37, 0x7b, 0xd8, 0x2b, 0x9c, 0xc2, 0x0e, 0x8b, 0x64,
- 0x33, 0x16, 0x32, 0xbb,
- 0x88, 0x9b, 0x0d, 0x54, 0xe5, 0x33, 0xb2, 0x01, 0x25, 0x73, 0x1c, 0x7b,
- 0xf4, 0x35, 0xdc, 0x90,
- 0x06, 0x65, 0x82, 0x9b, 0x52, 0x90, 0x32, 0xe8, 0x3d, 0xb5, 0xf2, 0xf9,
- 0x22, 0xa5, 0x9d, 0xd2,
- 0x53, 0xe2, 0x2c, 0x5a, 0x95, 0x56, 0xec, 0xa0, 0x82, 0x5b, 0x1e, 0x12,
- 0xa7, 0x10, 0x09, 0x88,
- 0x95, 0x7a, 0x83, 0x4a, 0x15, 0xee, 0x51, 0xbb, 0x13, 0xec, 0xd9, 0x7d,
- 0x4f, 0xf2, 0xdf, 0xe5,
- 0xe9, 0xf4, 0xc5, 0x94, 0x2a, 0x1f, 0xa2, 0xb5, 0x26, 0x1b, 0x71, 0xfa,
- 0x9e, 0x27, 0x7d, 0x09,
- 0xec, 0x42, 0x06, 0xa3, 0x51, 0xc7, 0x89, 0x29, 0xe4, 0x15, 0xfa, 0x9e,
- 0xad, 0x31, 0x4f, 0xb2,
- 0x97, 0x59, 0xfd, 0x82, 0x9a, 0x9e, 0xfe, 0xe3, 0xb9, 0x3e, 0x36, 0x2a,
- 0x51, 0x91, 0x15, 0xab,
- 0xd1, 0xd6, 0x64, 0x60, 0x86, 0x16, 0x08, 0x5a, 0xe0, 0x34, 0xd7, 0xa1,
- 0x35, 0x09, 0xb1, 0xad,
- 0x69, 0xe3, 0xf3, 0x66, 0xb6, 0x2f, 0xe9, 0x17, 0xee, 0xa6, 0x57, 0x1e,
- 0x12, 0x5d, 0x0f, 0x62,
- 0x6a, 0x30, 0xb2, 0xca, 0x9f, 0x67, 0xf0, 0x63, 0x11, 0x1d, 0x2e, 0x83,
- 0x03, 0xee, 0xa0, 0x0b,
- 0x43, 0x39, 0x5a, 0xd5, 0x67, 0x50, 0xdd, 0x25, 0x9b, 0x04, 0x6a, 0xef,
- 0x57, 0x8e, 0x96, 0xbd,
- 0x41, 0x1a, 0x24, 0x1d, 0xe8, 0x20, 0x72, 0x7d, 0x31, 0xd6, 0x85, 0xb8,
- 0x49, 0xed, 0x5c, 0xf3,
- 0xae, 0x8b, 0x63, 0x12, 0x90, 0xaf, 0xe2, 0x20, 0x2a, 0x78, 0x06, 0xbb,
- 0xf5, 0x6f, 0xbc, 0x28,
- 0x0c, 0xca, 0xc7, 0xf5, 0xa4, 0xe3, 0x64, 0x13, 0x7a, 0xa9, 0x27, 0x31,
- 0x44, 0x89, 0xf9, 0x67,
- 0x7c, 0x8e, 0x46, 0xde, 0x3f, 0xf1, 0xf3, 0x0e, 0x35, 0xf7, 0xa8, 0x87,
- 0xd1, 0xd5, 0xa2, 0xec,
- 0x5e, 0xd8, 0xd4, 0xcb, 0x97, 0x8d, 0x3e, 0x9f, 0xad, 0x9b, 0xaf, 0xe9,
- 0xec, 0x49, 0x95, 0xc8,
- 0x44, 0xac, 0xe7, 0x2a, 0x93, 0xf8, 0x59, 0xe1, 0xf3, 0xd8, 0x0e, 0xdc,
- 0x7a, 0xfb, 0x6e, 0x48,
- 0x25, 0xc3, 0x2f, 0xea, 0x5c, 0xd4, 0x49, 0x55, 0xf0, 0xb0, 0x63, 0x5d,
- 0x10, 0xe9, 0xcf, 0xd1,
- 0x09, 0x7c, 0x04, 0xc2, 0xdf, 0x3b, 0x4f, 0x8f, 0xb8, 0xa7, 0xac, 0x55,
- 0x77, 0x9f, 0xcb, 0xdc,
- 0xbd, 0x83, 0x54, 0x31, 0x4b, 0xe1, 0xca, 0xd1, 0xcc, 0x9c, 0x0b, 0xdb,
- 0x14, 0x42, 0x8c, 0x74,
- 0x9f, 0xd5, 0xc6, 0x24, 0xe3, 0x9d, 0x07, 0x40, 0x54, 0xf0, 0x0c, 0xb5,
- 0x29, 0xde, 0xbb, 0x50,
- 0x2e, 0x9c, 0x55, 0xe0, 0x0c, 0x9f, 0xa9, 0x82, 0xe2, 0xc5, 0x20, 0x5f,
- 0x79, 0x15, 0xce, 0x43,
- 0x1b, 0x84, 0x0c, 0x85, 0xa2, 0x4d, 0xd1, 0x52, 0x0b, 0x2a, 0x37, 0xff,
- 0x99, 0x62, 0x9e, 0xa7,
- 0xd7, 0xb3, 0xe6, 0xfb, 0xd4, 0x86, 0x3a, 0xb2, 0xdd, 0x81, 0x25, 0x58,
- 0x17, 0xac, 0x2c, 0x7f,
- 0x8a, 0xb8, 0x73, 0x9c, 0x6a, 0x43, 0x1d, 0x59, 0x8f, 0xa1, 0xf3, 0x2c,
- 0xea, 0x56, 0x16, 0xde,
- 0x0d, 0x3a, 0xf8, 0x91, 0x02, 0xdb, 0xd2, 0x3f, 0x2f, 0xc0, 0xb1, 0xfb,
- 0x4b, 0x59, 0x9c, 0x40,
- 0x50, 0x31, 0x6d, 0xf6, 0xbc, 0x1e, 0xf5, 0xd4, 0x7d, 0xe0, 0x67, 0x8f,
- 0xb6, 0xa3, 0xa6, 0xe1,
- 0x24, 0x33, 0x10, 0x8e, 0xfa, 0xec, 0xff, 0x79, 0xa5, 0xd9, 0xf5, 0x97,
- 0x1f, 0x39, 0xaa, 0xf6,
- 0xf2, 0x70, 0xc9, 0x11, 0x88, 0x52, 0x73, 0xe7, 0x2d, 0x31, 0x46, 0x05,
- 0x07, 0x45, 0xe3, 0xae,
- 0x38, 0x22, 0xa1, 0xf4, 0xac, 0x09, 0xaa, 0xef, 0xc6, 0x2f, 0xa6, 0x5b,
- 0xab, 0x2e, 0xcc, 0xa4,
- 0x7b, 0x1b, 0xfb, 0x21, 0xcb, 0x59, 0x77, 0xca, 0x5d, 0x2b, 0xcc, 0xb4,
- 0xfc, 0xa0, 0x5a, 0x19,
- 0xa1, 0x92, 0xe5, 0x4b, 0x1d, 0x04, 0x9f, 0x47, 0xaf, 0x6a, 0x58, 0x17,
- 0xa0, 0x55, 0xea, 0x26,
- 0xbe, 0x50, 0x15, 0x9d, 0x62, 0xa9, 0xd3, 0xa5, 0x33, 0x27, 0x72, 0x46,
- 0x05, 0xf1, 0x23, 0x1d,
- 0xa7, 0xf7, 0x67, 0xd0, 0x4f, 0x94, 0xad, 0xaf, 0x92, 0xdf, 0xaa, 0xee,
- 0x82, 0xf0, 0x77, 0xf4,
- 0x99, 0xb0, 0x44, 0xbf, 0xb1, 0x0d, 0x35, 0xa8, 0x69, 0x45, 0xfe, 0x4c,
- 0x0b, 0x7b, 0x26, 0x82,
- 0xf1, 0xa3, 0x88, 0xbd, 0xa1, 0x1a, 0x6a, 0x93, 0xd2, 0x8a, 0x3f, 0x98,
- 0x16, 0xf6, 0x4c, 0xc7,
- 0xeb, 0xd7, 0xbb, 0x5c, 0xa5, 0x6f, 0x0d, 0xed, 0x8c, 0xc9, 0x9e, 0xad,
- 0x80, 0x44, 0xb7, 0x47,
- 0x39, 0xd2, 0x9e, 0x90, 0x0a, 0x31, 0x1c, 0xc3, 0x93, 0x46, 0x30, 0x91,
- 0xa4, 0xfe, 0xa9, 0x83,
- 0xb7, 0x2c, 0x11, 0x5f, 0xbd, 0x92, 0x9c, 0x2a, 0x8b, 0x80, 0xde, 0x13,
- 0x72, 0x6e, 0xe8, 0xc1,
- 0x1c, 0x11, 0xb1, 0x7a, 0x56, 0xe5, 0x55, 0x96, 0x63, 0xf6, 0x53, 0xcc,
- 0xb4, 0x17, 0x66, 0x52,
- 0x01, 0xf0, 0x3f, 0x64, 0xa6, 0x38, 0xb6, 0x2c, 0x55, 0x69, 0x96, 0xca,
- 0x0f, 0xd0, 0x65, 0x27,
- 0xef, 0x91, 0x47, 0x0f, 0x78, 0x8f, 0x90, 0x5d, 0x1b, 0xae, 0x83, 0x03,
- 0xbc, 0x82, 0xe0, 0xdb,
- 0x1f, 0xc2, 0xf0, 0xd6, 0x7f, 0xad, 0x4c, 0xe2, 0x9c, 0x4d, 0x2a, 0x51,
- 0xa5, 0xa4, 0xc9, 0x3b,
- 0x92, 0xef, 0x3e, 0xb5, 0xe1, 0x46, 0xd5, 0x7f, 0x7b, 0x30, 0xbd, 0x4e,
- 0x62, 0x87, 0x27, 0x10,
- 0x1a, 0x74, 0x33, 0xe1, 0x04, 0x75, 0x67, 0x7e, 0x5e, 0x43, 0xa1, 0x35,
- 0x96, 0xb2, 0xfb, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x85, 0xa1, 0xf5, 0xc5, 0xe7, 0xe8, 0x60, 0x3e, 0x0a, 0xb3, 0xad, 0x80,
- 0xbf, 0x6c, 0x40, 0xd0,
- 0x5c, 0xfb, 0xaa, 0x03, 0x18, 0xfd, 0x91, 0xc7, 0x07, 0x49, 0x40, 0xbe,
- 0xf2, 0x2a, 0x5f, 0x86,
- 0xed, 0xb2, 0x39, 0xc7, 0xf7, 0xff, 0x3f, 0x05, 0xb1, 0x7c, 0x6c, 0x54,
- 0xa2, 0xe1, 0x2a, 0x95,
- 0x56, 0x54, 0xef, 0x6d, 0xee, 0x8e, 0xc7, 0x3c, 0x40, 0x55, 0x95, 0x76,
- 0x94, 0x06, 0x3b, 0x33,
- 0xc3, 0x2e, 0x6c, 0x27, 0xfb, 0x60, 0x96, 0x87, 0x53, 0xb9, 0x4c, 0x0b,
- 0xdb, 0xf4, 0xe4, 0xd6,
- 0x0f, 0x19, 0x86, 0x59, 0x8d, 0xab, 0x7d, 0x67, 0x85, 0x12, 0x5e, 0xac,
- 0x55, 0x3a, 0x56, 0x0e,
- 0xe8, 0x04, 0xfa, 0xf0, 0x8c, 0x27, 0x14, 0x99, 0x73, 0x72, 0xe7, 0x30,
- 0x91, 0xf7, 0x18, 0x2e,
- 0xc2, 0xde, 0x53, 0x43, 0x5d, 0x58, 0x20, 0xab, 0x06, 0xd0, 0xda, 0xc1,
- 0xd4, 0x24, 0x81, 0xf1,
- 0xd9, 0x5a, 0x5f, 0xc6, 0xff, 0x15, 0xf1, 0xf9, 0x0d, 0xfa, 0xed, 0x3e,
- 0x4d, 0x46, 0x1f, 0x56,
- 0xe6, 0xed, 0x43, 0xcd, 0xa7, 0xb4, 0xdf, 0xd2, 0xa3, 0x09, 0x2f, 0x56,
- 0xcb, 0x1d, 0x2b, 0x07,
- 0xb6, 0xdc, 0x2e, 0x3b, 0x1b, 0xaa, 0x2a, 0x06, 0xde, 0xe9, 0x48, 0xd9,
- 0x7d, 0xbe, 0x8d, 0xe6,
- 0x11, 0x2b, 0x49, 0xeb, 0x54, 0x3e, 0x87, 0xa9, 0x4c, 0x36, 0xe2, 0x37,
- 0xff, 0x4e, 0xfa, 0x12,
- 0xc6, 0x98, 0xaf, 0x10, 0x80, 0xb8, 0xbd, 0x1b, 0x91, 0xb7, 0xc7, 0x6f,
- 0xe8, 0xe2, 0xd6, 0x6d,
- 0x55, 0x87, 0xae, 0xc1, 0xc7, 0xc6, 0xde, 0x48, 0xbf, 0xee, 0xec, 0xeb,
- 0x85, 0xb5, 0x94, 0x5a,
- 0x94, 0x8a, 0xbc, 0x2e, 0xb3, 0xd6, 0xe7, 0x97, 0x46, 0x85, 0x4f, 0xb7,
- 0x40, 0x22, 0xba, 0xc2,
- 0xb1, 0x49, 0x93, 0xc4, 0xef, 0x02, 0xae, 0xc2, 0xb6, 0x35, 0x2c, 0xea,
- 0x50, 0xcb, 0x75, 0x13,
- 0x4b, 0xb5, 0x61, 0x73, 0x1e, 0x53, 0x24, 0x86, 0x76, 0xca, 0x50, 0x70,
- 0x2f, 0xc1, 0x38, 0x46,
- 0xb9, 0xc5, 0xa8, 0x62, 0x96, 0x01, 0x57, 0x61, 0x5b, 0xfb, 0x16, 0x75,
- 0x28, 0x84, 0xdb, 0xe8,
- 0x4f, 0xf3, 0x9d, 0x20, 0xc3, 0xb3, 0xb9, 0x36, 0xe1, 0xad, 0x4d, 0xde,
- 0x13, 0x07, 0x6f, 0xda,
- 0xf6, 0x36, 0x35, 0x42, 0x55, 0xb2, 0xee, 0x57, 0xba, 0x56, 0x5b, 0xab,
- 0x3b, 0x83, 0xb4, 0x32,
- 0x9b, 0x93, 0x3a, 0x77, 0x3e, 0x7d, 0x9a, 0xf0, 0xc3, 0x97, 0x11, 0x1b,
- 0x15, 0x18, 0xec, 0xcc,
- 0xd2, 0x05, 0x25, 0xcc, 0xaf, 0x5e, 0x11, 0x2e, 0x1f, 0x8f, 0xae, 0x3c,
- 0x24, 0xba, 0x1e, 0xc4,
- 0x7f, 0x5d, 0x07, 0x72, 0x16, 0xb9, 0xea, 0x7a, 0xca, 0x4c, 0xd1, 0x1a,
- 0xc0, 0x66, 0x0d, 0x85,
- 0xde, 0xcf, 0xe2, 0x39, 0x0b, 0xbd, 0x75, 0x3d, 0x65, 0x26, 0x89, 0x0d,
- 0x60, 0x33, 0xe7, 0xa3,
- 0x75, 0xf2, 0x42, 0x1c, 0xe0, 0xca, 0xbc, 0x81, 0x8d, 0x50, 0x04, 0xd2,
- 0xa6, 0x4a, 0x69, 0x30,
- 0x14, 0x9d, 0x8a, 0xdc, 0x2f, 0xe6, 0xac, 0x35, 0x8e, 0x38, 0x69, 0x53,
- 0xcc, 0x58, 0xc8, 0xa9,
- 0x20, 0x75, 0xec, 0xdd, 0x27, 0x0c, 0x62, 0xc9, 0x32, 0xbe, 0xe8, 0x39,
- 0x23, 0xff, 0xfd, 0x6a,
- 0xdc, 0xec, 0x9c, 0xf1, 0x84, 0xcd, 0xda, 0x65, 0xcf, 0xf4, 0x66, 0x5a,
- 0x7e, 0x50, 0x2d, 0xed,
- 0xac, 0xa8, 0x1d, 0xda, 0x1f, 0xdf, 0x4d, 0x78, 0x80, 0xaa, 0xe9, 0xec,
- 0xeb, 0x0c, 0x76, 0x66,
- 0xab, 0x3d, 0xa0, 0x25, 0xeb, 0x77, 0xc9, 0xbc, 0xe8, 0x76, 0x8d, 0xdf,
- 0xc6, 0x79, 0x8e, 0x93,
- 0xf8, 0xdf, 0x8c, 0x7f, 0x7e, 0x21, 0x25, 0x1c, 0x6a, 0x2d, 0x93, 0xcd,
- 0x61, 0x69, 0x87, 0x1b,
- 0xfb, 0x0c, 0xcd, 0xd3, 0x57, 0x69, 0x3c, 0x68, 0x95, 0x96, 0xea, 0x50,
- 0x70, 0xda, 0x28, 0x72,
- 0xcd, 0xc7, 0xd5, 0x1a, 0xd0, 0xf3, 0x5d, 0xcc, 0x83, 0xc2, 0x84, 0x6d,
- 0x81, 0x1e, 0xd7, 0xff,
- 0xf0, 0x53, 0xb7, 0xd9, 0x07, 0x22, 0xdc, 0xbf, 0x87, 0xe3, 0xa9, 0x52,
- 0x19, 0x26, 0x29, 0xe0,
- 0xee, 0x61, 0x78, 0x6b, 0xde, 0xb7, 0x26, 0x71, 0x4e, 0xc7, 0x15, 0xc9,
- 0xb3, 0x52, 0x85, 0xfc,
- 0xce, 0x14, 0x94, 0xb6, 0xf9, 0xbb, 0x44, 0xb8, 0x7c, 0x79, 0xfd, 0xf0,
- 0x90, 0xad, 0x78, 0x96,
- 0xe5, 0x3e, 0x02, 0x61, 0x8e, 0xfc, 0xc6, 0xa6, 0x5c, 0xb2, 0x56, 0xcb,
- 0xda, 0xae, 0x84, 0x6e,
- 0x7d, 0x7e, 0x79, 0xba, 0x99, 0xc9, 0x45, 0x22, 0x60, 0x9e, 0x3e, 0x4d,
- 0xde, 0x05, 0xc7, 0xcb,
- 0xb8, 0x35, 0x97, 0x06, 0x30, 0x39, 0xe1, 0x4d, 0x0e, 0x92, 0x80, 0xbf,
- 0x27, 0x54, 0xbe, 0xcf,
- 0x04, 0x46, 0xfc, 0x53, 0xdd, 0xe0, 0x9d, 0xb0, 0x97, 0x67, 0x1d, 0xae,
- 0x3c, 0xc6, 0x57, 0x9c,
- 0xaa, 0xcd, 0x9f, 0x41, 0x4d, 0x4f, 0x7f, 0x90, 0xbd, 0x1f, 0x1b, 0x15,
- 0xc9, 0xa9, 0xeb, 0xb4,
- 0xf5, 0xe5, 0x74, 0xee, 0x7c, 0xfa, 0xf7, 0x23, 0x45, 0xed, 0x22, 0x36,
- 0x2a, 0x30, 0x1b, 0x5b,
- 0xc7, 0x68, 0x90, 0x74, 0x26, 0x80, 0x0b, 0x37, 0xc4, 0xde, 0x51, 0xa5,
- 0xe7, 0x32, 0xb3, 0x4a,
- 0xa0, 0x62, 0xda, 0x2f, 0xbb, 0x3c, 0x29, 0x6b, 0xfa, 0x03, 0xce, 0xdd,
- 0xaf, 0x85, 0x8f, 0x01,
- 0x42, 0xc9, 0x65, 0xb1, 0xc1, 0x68, 0x6b, 0x09, 0xce, 0x6d, 0xfc, 0x25,
- 0x58, 0x5e, 0xf3, 0x9a,
- 0xcb, 0xa2, 0x57, 0x81, 0x82, 0x63, 0x6f, 0x24, 0xbe, 0x77, 0x76, 0x94,
- 0xa3, 0xbb, 0x4a, 0x2d,
- 0x71, 0xb4, 0xbe, 0x4f, 0x3d, 0x2a, 0x21, 0x31, 0x1a, 0x37, 0x19, 0x7c,
- 0x9a, 0x8c, 0x3e, 0xac,
- 0xe3, 0x5b, 0x80, 0xfa, 0xdc, 0x6c, 0xf4, 0x4e, 0x61, 0x07, 0xa4, 0x32,
- 0xf8, 0x0b, 0x19, 0xbc,
- 0xfd, 0x69, 0x4f, 0x48, 0x05, 0xf9, 0x0e, 0x80, 0xa8, 0x23, 0x18, 0xa9,
- 0x52, 0x7f, 0xb5, 0xa0,
- 0x90, 0xcc, 0x40, 0x7d, 0x6e, 0x36, 0x7a, 0x27, 0xd1, 0xe2, 0x52, 0x19,
- 0x7c, 0xe4, 0xed, 0x5e,
- 0x02, 0x23, 0x7e, 0xc8, 0x8f, 0x70, 0xaf, 0x58, 0xaa, 0xd2, 0xef, 0x57,
- 0x1e, 0x63, 0xca, 0x4e,
- 0x26, 0x10, 0x6e, 0x46, 0x75, 0x9c, 0x50, 0x21, 0x0f, 0x0b, 0x1a, 0xc0,
- 0x01, 0x5a, 0x60, 0xb8,
- 0x96, 0xa9, 0xc2, 0xe6, 0x3c, 0xa6, 0x48, 0xcf, 0xec, 0x57, 0xa0, 0xe0,
- 0x5e, 0x41, 0x70, 0x8c,
- 0xcf, 0xe4, 0xab, 0xd2, 0x5f, 0x83, 0xf2, 0x94, 0x29, 0x10, 0x6b, 0x3a,
- 0x9f, 0x7d, 0x1d, 0xb1,
- 0x89, 0x6b, 0x32, 0x30, 0x43, 0x0b, 0x04, 0x2d, 0x70, 0x1a, 0x8a, 0xb1,
- 0xfb, 0xe5, 0xb9, 0xb7,
- 0x49, 0x96, 0x1f, 0xbb, 0x91, 0x23, 0x8b, 0xde, 0xdc, 0x18, 0xbf, 0x27,
- 0x31, 0xa2, 0xf2, 0x08,
- 0x2f, 0x6c, 0x6a, 0x84, 0xaa, 0xa7, 0x1f, 0xae, 0xb7, 0xac, 0xb6, 0x95,
- 0x76, 0xc5, 0xab, 0x64,
- 0x52, 0x12, 0x13, 0x3e, 0x33, 0x6e, 0x5a, 0x8c, 0xd7, 0x32, 0x88, 0xd8,
- 0xa8, 0xc0, 0x6c, 0xaf,
- 0xb4, 0xff, 0x50, 0xf3, 0x94, 0xda, 0x85, 0x5e, 0x74, 0x3b, 0xa7, 0x8e,
- 0x63, 0xdd, 0x47, 0xa8,
- 0x08, 0x8c, 0x3b, 0xa6, 0x79, 0x03, 0xf9, 0xa3, 0xed, 0xce, 0x3a, 0x9f,
- 0x78, 0x4f, 0xae, 0xfb,
- 0x3f, 0xb7, 0x1c, 0x0b, 0x58, 0xa1, 0x2e, 0x2b, 0xae, 0xf3, 0xc2, 0x68,
- 0x86, 0x5b, 0x34, 0x51,
- 0xd6, 0x43, 0xd9, 0x9f, 0x72, 0xbe, 0x8c, 0x9e, 0x88, 0xe8, 0xb3, 0x92,
- 0x18, 0x7c, 0x49, 0x58,
- 0x23, 0xa6, 0xad, 0x71, 0x0e, 0x44, 0x7b, 0xbd, 0xcd, 0x05, 0x91, 0xa4,
- 0x32, 0x4c, 0x52, 0x03,
- 0x4e, 0x03, 0xa2, 0x44, 0x65, 0x8b, 0x0f, 0x1a, 0xb4, 0xc4, 0xdb, 0x14,
- 0x1c, 0xd7, 0x0a, 0xfd,
- 0x60, 0x9f, 0xf7, 0xa4, 0x69, 0x14, 0xa6, 0x98, 0x56, 0x01, 0xfb, 0x4b,
- 0x65, 0xc2, 0xc4, 0xbe,
- 0x0b, 0x5f, 0x7a, 0x0a, 0x50, 0x4b, 0xe0, 0xd7, 0x12, 0x75, 0x43, 0x02,
- 0x69, 0xfc, 0x01, 0x92,
- 0xc4, 0xbb, 0xd1, 0xd8, 0x0f, 0xc8, 0x12, 0x43, 0x3b, 0x65, 0x28, 0x38,
- 0xf6, 0x81, 0x1c, 0x23,
- 0x35, 0x18, 0x59, 0x65, 0xae, 0xd2, 0x78, 0xd0, 0xe9, 0xef, 0x17, 0xa0,
- 0xe0, 0x77, 0x50, 0xe4,
- 0x0e, 0xe9, 0xb9, 0x3d, 0x2b, 0x93, 0xcb, 0x4b, 0xd0, 0x7b, 0xc8, 0x66,
- 0x5a, 0xea, 0x33, 0x29,
- 0x64, 0xd9, 0x0b, 0xf7, 0xb4, 0xf4, 0x3b, 0x28, 0xc1, 0x66, 0xe6, 0xe5,
- 0x59, 0x04, 0x93, 0x22,
- 0x3b, 0xf1, 0xe0, 0x58, 0x85, 0x41, 0xb3, 0x9b, 0x39, 0x94, 0xdf, 0xc6,
- 0xba, 0x9d, 0x63, 0xcd,
- 0x30, 0xae, 0x9a, 0x52, 0xd5, 0x0a, 0x53, 0x4c, 0x2b, 0xe1, 0x9c, 0xc4,
- 0xd3, 0x61, 0x62, 0x5f,
- 0xc5, 0x4b, 0xee, 0xbc, 0xa9, 0xf0, 0xa4, 0x6f, 0x6e, 0x0c, 0xbe, 0xf2,
- 0xf9, 0x51, 0x79, 0x04,
- 0x6b, 0xc0, 0x8d, 0xae, 0x39, 0x5f, 0x46, 0x4f, 0x44, 0x74, 0xb8, 0x49,
- 0x0c, 0x3e, 0xc5, 0x2c,
- 0x91, 0x3c, 0x7f, 0x19, 0xc8, 0x0e, 0xcc, 0x0b, 0x84, 0x8b, 0xc4, 0xd3,
- 0x73, 0x34, 0x88, 0x79,
- 0x4c, 0x20, 0xdc, 0x8c, 0xea, 0xfb, 0xa0, 0x42, 0x1e, 0x16, 0x34, 0x43,
- 0x02, 0xb4, 0xc0, 0xb3,
- 0xb2, 0x9a, 0xd2, 0x68, 0xc6, 0x4a, 0xb7, 0xb6, 0x49, 0x8e, 0x55, 0x77,
- 0x41, 0x78, 0xda, 0x7a,
- 0xfe, 0xba, 0x0e, 0xe4, 0x2c, 0xb1, 0x17, 0xf4, 0x57, 0x98, 0x61, 0x34,
- 0x43, 0xcc, 0x1a, 0xc9,
- 0xe7, 0x1d, 0x7c, 0xa9, 0x01, 0x8c, 0x69, 0xfe, 0xf6, 0x60, 0xb9, 0x9c,
- 0xc4, 0xcd, 0x4e, 0x20,
- 0x27, 0xe0, 0x51, 0x22, 0xd3, 0xa4, 0xe6, 0x0d, 0x5a, 0x62, 0x8c, 0x0a,
- 0x0e, 0x8a, 0x05, 0x9f,
- 0x8c, 0xdd, 0xf1, 0x07, 0x38, 0xd3, 0x2f, 0xb1, 0xb2, 0x14, 0x01, 0xd5,
- 0xc8, 0xf3, 0x8b, 0x0c,
- 0x3e, 0x47, 0x23, 0x6f, 0xfe, 0x99, 0x98, 0x07, 0xfb, 0x9a, 0x54, 0xa2,
- 0x89, 0x8b, 0x51, 0x76,
- 0x29, 0x09, 0xe8, 0x1f, 0xf8, 0x37, 0x2d, 0x46, 0x8a, 0x19, 0x44, 0x6c,
- 0x54, 0x60, 0x36, 0xb6,
- 0x72, 0x67, 0xff, 0xe3, 0x14, 0x62, 0x38, 0x45, 0xe5, 0x8c, 0x60, 0xe1,
- 0x8b, 0x3f, 0x91, 0xc5,
- 0x2c, 0xbf, 0x2b, 0x28, 0x83, 0xef, 0x06, 0xda, 0x48, 0x17, 0xcf, 0x08,
- 0x67, 0x76, 0x04, 0x0d,
- 0xa4, 0x24, 0x26, 0x7c, 0x66, 0xdc, 0xb4, 0xdb, 0x6d, 0x64, 0xd3, 0x73,
- 0x93, 0x43, 0xd8, 0x9d,
- 0x8e, 0xfe, 0x8f, 0xcf, 0xb7, 0xa3, 0x80, 0xe9, 0x18, 0xc6, 0xee, 0x82,
- 0xd6, 0x90, 0x41, 0x42,
- 0x51, 0xc1, 0x52, 0x92, 0x1a, 0x26, 0x43, 0xf8, 0x28, 0x89, 0xf1, 0x45,
- 0xb9, 0x73, 0xc3, 0xc6,
- 0xc8, 0x71, 0x16, 0x2d, 0xab, 0x2b, 0x76, 0x50, 0x41, 0xcc, 0x0f, 0x09,
- 0xb2, 0x08, 0xe5, 0x44,
- 0x16, 0xbe, 0xf4, 0x14, 0xa0, 0x96, 0x03, 0x6d, 0x24, 0xea, 0x86, 0x04,
- 0xd2, 0x3b, 0x02, 0xe7,
- },
- { /* 15 */
- 0xfb, 0xd5, 0x0c, 0x7a, 0xc0, 0x80, 0x96, 0x19, 0x11, 0x87, 0x93, 0x1b,
- 0xc9, 0xae, 0xb5, 0xfc,
- 0x08, 0xe0, 0x8c, 0xb2, 0x17, 0x1a, 0xce, 0x7b, 0x32, 0xfc, 0xab, 0xf8,
- 0xfe, 0xf2, 0x0a, 0xee,
- 0xcb, 0xd0, 0xa2, 0x50, 0xb2, 0xdc, 0x77, 0xc0, 0xbd, 0xca, 0xef, 0x4e,
- 0x88, 0xc7, 0x89, 0xdd,
- 0x41, 0x10, 0x1a, 0x5e, 0x63, 0x42, 0xd6, 0x69, 0xc4, 0x12, 0x3c, 0xd3,
- 0x93, 0x13, 0xc0, 0x11,
- 0x38, 0xe5, 0x22, 0x98, 0x65, 0x46, 0x2f, 0xa2, 0x9e, 0xb1, 0xd7, 0xad,
- 0xbf, 0x9b, 0x36, 0xcf,
- 0xb3, 0x39, 0x6a, 0x11, 0x6f, 0x4a, 0xe7, 0x3c, 0x70, 0x97, 0x29, 0x2f,
- 0xcb, 0xc0, 0xef, 0x6e,
- 0x1f, 0xb7, 0xc2, 0x06, 0x7d, 0x56, 0x4d, 0x08, 0x35, 0x78, 0xfd, 0x96,
- 0x0f, 0xfe, 0x68, 0x31,
- 0x88, 0xf8, 0x9b, 0xc3, 0xa4, 0x79, 0x73, 0xc7, 0x94, 0xe7, 0x89, 0xa3,
- 0xc5, 0x09, 0xaa, 0x16,
- 0x32, 0x3d, 0x8d, 0xe7, 0x07, 0xbb, 0x33, 0xb7, 0x41, 0x72, 0x26, 0x6b,
- 0x9f, 0xb4, 0xdf, 0xfb,
- 0x7c, 0x99, 0x8e, 0x18, 0x37, 0x9b, 0xf7, 0x20, 0xd4, 0x23, 0x72, 0x1d,
- 0x3c, 0x7e, 0x63, 0xc4,
- 0x5c, 0x9f, 0xfb, 0x95, 0x6b, 0xf3, 0x49, 0x0f, 0x1c, 0x55, 0x9b, 0x7b,
- 0x42, 0x30, 0x4b, 0xfa,
- 0x02, 0x38, 0x23, 0xcd, 0x75, 0xe7, 0xd2, 0x6e, 0xed, 0x3f, 0x5a, 0x3e,
- 0xde, 0xdd, 0xe3, 0xda,
- 0xec, 0x82, 0x42, 0xce, 0xaa, 0xcc, 0x15, 0x6a, 0x16, 0x03, 0xc5, 0x75,
- 0x38, 0xa2, 0xd7, 0x23,
- 0x12, 0x3b, 0xf8, 0x6a, 0x5b, 0xd3, 0x8d, 0x98, 0x89, 0x04, 0xcf, 0x0d,
- 0xe1, 0xfa, 0xf7, 0xc5,
- 0x7b, 0xcd, 0x1b, 0x0b, 0x73, 0xe3, 0x2b, 0xa5, 0xb7, 0x9c, 0xb1, 0x40,
- 0xf2, 0x55, 0x15, 0x04,
- 0x5f, 0xbb, 0x28, 0xdf, 0xc5, 0x86, 0xf2, 0x56, 0x66, 0x94, 0xec, 0x5a,
- 0xf3, 0x62, 0x38, 0x4d,
- 0xc1, 0x08, 0x0d, 0x2f, 0xd0, 0x21, 0x6b, 0xd5, 0x62, 0x09, 0x1e, 0x88,
- 0xa8, 0xe8, 0x60, 0xe9,
- 0x04, 0x70, 0x46, 0x59, 0xea, 0x0d, 0x67, 0xdc, 0x19, 0x7e, 0xb4, 0x7c,
- 0x7f, 0x79, 0x05, 0x77,
- 0x76, 0x41, 0x21, 0x67, 0x55, 0x66, 0xeb, 0x35, 0x0b, 0xe0, 0x83, 0xdb,
- 0x1c, 0x51, 0x8a, 0xf0,
- 0x6c, 0x9a, 0x55, 0xbf, 0x19, 0xaf, 0xa8, 0xd6, 0xb0, 0x18, 0xe7, 0x2e,
- 0x03, 0x59, 0x77, 0xdb,
- 0x26, 0x4e, 0x10, 0x19, 0xc3, 0x82, 0x0b, 0x9d, 0x3c, 0x37, 0x07, 0x24,
- 0xdf, 0xea, 0xce, 0x93,
- 0x0f, 0xb4, 0x19, 0xa1, 0x53, 0x62, 0x12, 0xfe, 0x51, 0x43, 0x68, 0xa5,
- 0x30, 0xd9, 0x7c, 0x2e,
- 0x0c, 0x90, 0xca, 0xeb, 0xfd, 0x17, 0xa9, 0xa7, 0x2b, 0x82, 0x1f, 0x84,
- 0x81, 0x8b, 0x0f, 0x99,
- 0xe0, 0x12, 0x88, 0x25, 0x57, 0xdb, 0xbc, 0xcd, 0x3d, 0x81, 0xda, 0xf1,
- 0xb9, 0x29, 0xd8, 0xba,
- 0xe6, 0x5a, 0xed, 0xb1, 0xc8, 0x31, 0x09, 0x7f, 0xc9, 0xc0, 0x34, 0xb3,
- 0x18, 0x8d, 0x3e, 0x17,
- 0xd6, 0x5f, 0x43, 0x9b, 0xba, 0x6d, 0xe8, 0xa6, 0x65, 0x8d, 0x48, 0xe6,
- 0x59, 0xe4, 0x02, 0x36,
- 0x18, 0xe3, 0x57, 0x15, 0x39, 0x2e, 0x91, 0x8d, 0x56, 0xc7, 0x3e, 0xcb,
- 0xc1, 0xd5, 0x1e, 0xf1,
- 0x8e, 0xb0, 0xfe, 0x57, 0x3b, 0x93, 0xc6, 0x75, 0x60, 0xa6, 0x67, 0xe1,
- 0x64, 0xad, 0x4c, 0xbb,
- 0x54, 0x7f, 0x77, 0x27, 0x7c, 0xe9, 0x87, 0x74, 0x2e, 0xa9, 0x30, 0x83,
- 0xbc, 0xc2, 0x41, 0x14,
- 0xe4, 0x62, 0xce, 0x7c, 0xbd, 0xd6, 0xdb, 0x11, 0x24, 0xff, 0x6e, 0x8d,
- 0xc6, 0x50, 0xdd, 0xcd,
- 0xac, 0x8e, 0xa8, 0x17, 0x12, 0x1c, 0xaa, 0x34, 0x45, 0xef, 0xd4, 0xb9,
- 0xc4, 0x3e, 0x87, 0x5f,
- 0x69, 0xf6, 0xe3, 0x61, 0x28, 0x30, 0xa6, 0x3d, 0x3e, 0x98, 0x7e, 0x4d,
- 0x13, 0xaf, 0xe2, 0xc1,
- 0xee, 0xba, 0x61, 0x03, 0xdf, 0x2b, 0xc7, 0x04, 0xfb, 0x3c, 0x9f, 0x4b,
- 0xe6, 0x7f, 0x34, 0xf9,
- 0xd9, 0xeb, 0x5a, 0x3a, 0xe9, 0x0f, 0xfa, 0x58, 0x34, 0xce, 0x20, 0x43,
- 0x69, 0x3d, 0x7e, 0x18,
- 0xf7, 0x45, 0xc6, 0x91, 0x3d, 0x97, 0x3f, 0xbe, 0x3a, 0x05, 0x8c, 0x9f,
- 0x48, 0x25, 0xba, 0x65,
- 0xb9, 0xe1, 0xc5, 0x6e, 0x0d, 0xb7, 0xfb, 0x29, 0xaf, 0x54, 0xd8, 0xe9,
- 0xeb, 0xef, 0x06, 0x5a,
- 0x85, 0x74, 0xa1, 0xaf, 0x82, 0xfc, 0xb3, 0x57, 0x28, 0x9b, 0xbb, 0x38,
- 0x2b, 0x0d, 0x35, 0xe2,
- 0x1e, 0xab, 0x32, 0x81, 0xa6, 0xc4, 0x24, 0x3f, 0xa2, 0x86, 0xd0, 0x89,
- 0x60, 0x71, 0xf8, 0x5c,
- 0x66, 0x42, 0xfa, 0xc0, 0x7b, 0x52, 0xb4, 0xc3, 0x6f, 0xdb, 0x16, 0xe8,
- 0x23, 0x76, 0x9e, 0xef,
- 0x30, 0x05, 0xae, 0x2a, 0x72, 0x5c, 0xe1, 0xd9, 0xac, 0x4d, 0x7c, 0x55,
- 0x41, 0x69, 0x3c, 0x21,
- 0xd5, 0x7b, 0x90, 0xd1, 0x14, 0x18, 0x53, 0xff, 0x1f, 0x4c, 0x3f, 0xc7,
- 0xe8, 0xb6, 0x71, 0x81,
- 0xa2, 0x26, 0x41, 0x31, 0x9a, 0xec, 0xd1, 0xfd, 0x83, 0x52, 0x91, 0x03,
- 0x9b, 0x68, 0x6b, 0x1c,
- 0xfc, 0x81, 0x99, 0x69, 0x84, 0xf8, 0x4a, 0x9c, 0x72, 0x38, 0x50, 0x46,
- 0x07, 0x85, 0xc3, 0x3c,
- 0x60, 0x0a, 0x9f, 0x54, 0xe4, 0xb8, 0x01, 0x71, 0x9b, 0x9a, 0xf8, 0xaa,
- 0x82, 0xd2, 0x78, 0x42,
- 0xff, 0xa5, 0x4a, 0x23, 0x2a, 0x8d, 0xf1, 0xc5, 0x08, 0xf9, 0x27, 0x67,
- 0xb6, 0xd7, 0xb0, 0x8b,
- 0x6e, 0xa2, 0x76, 0x72, 0x6c, 0x48, 0x7a, 0xb8, 0x5d, 0x27, 0xbd, 0x10,
- 0xdd, 0x84, 0x94, 0x01,
- 0xea, 0xca, 0x27, 0x5a, 0x35, 0x26, 0xa0, 0xd8, 0xe2, 0x42, 0x2b, 0x37,
- 0x99, 0x06, 0x31, 0x8e,
- 0x83, 0x3c, 0xc4, 0x3b, 0x1d, 0x16, 0x06, 0xe5, 0xdc, 0xda, 0x55, 0x7a,
- 0x8a, 0xa9, 0xd3, 0x4f,
- 0x15, 0x6f, 0x6d, 0x79, 0x1f, 0xab, 0x51, 0x1d, 0xea, 0xbb, 0x0c, 0x50,
- 0x2f, 0xd1, 0x81, 0x05,
- 0xc0, 0x14, 0xfd, 0xa8, 0x0b, 0xb3, 0x02, 0xe2, 0xf5, 0xf7, 0x33, 0x97,
- 0xc7, 0x67, 0xf0, 0x84,
- 0xdc, 0x87, 0xec, 0xe4, 0xd8, 0x90, 0xf4, 0xb3, 0xba, 0x4e, 0xb9, 0x20,
- 0x79, 0xcb, 0xeb, 0x02,
- 0xb4, 0x6d, 0xff, 0x02, 0x2b, 0x32, 0x3b, 0xb9, 0x13, 0x28, 0xea, 0x72,
- 0x05, 0xeb, 0x99, 0xae,
- 0xeb, 0xd6, 0xd7, 0xdd, 0xee, 0xb4, 0xc9, 0xef, 0x75, 0xbc, 0x06, 0x28,
- 0xf6, 0x89, 0xa1, 0xe3,
- 0xc8, 0xf4, 0x71, 0x1a, 0x1c, 0xa9, 0xcc, 0x99, 0xc7, 0x0b, 0x98, 0x6f,
- 0x39, 0x95, 0xfa, 0x6a,
- 0x84, 0x68, 0x51, 0x28, 0x59, 0x6e, 0xda, 0x60, 0xbf, 0x65, 0x96, 0x27,
- 0x44, 0x82, 0xa5, 0x8f,
- 0xe5, 0x7e, 0x3e, 0xfb, 0x66, 0x44, 0xb2, 0x26, 0xb3, 0x01, 0x43, 0x92,
- 0xa9, 0xdf, 0x4d, 0xa0,
- 0xa7, 0x4a, 0xf7, 0xef, 0xab, 0x73, 0xdf, 0x16, 0x0d, 0xd2, 0x08, 0x60,
- 0x8b, 0x9e, 0xfe, 0x06,
- 0x44, 0x7c, 0xac, 0x80, 0x52, 0xdd, 0xd8, 0x82, 0x4a, 0x92, 0xa5, 0xb0,
- 0x83, 0xe5, 0x55, 0x0b,
- 0xba, 0xc5, 0x16, 0x24, 0xa3, 0xc2, 0x40, 0x70, 0xd5, 0x95, 0xaf, 0xc8,
- 0x5a, 0xbd, 0x75, 0xed,
- 0x62, 0x32, 0xbc, 0x99, 0x91, 0x5f, 0xd3, 0x1f, 0x76, 0xa5, 0xa2, 0x94,
- 0x5c, 0x0f, 0x9b, 0x98,
- 0xf2, 0x29, 0x70, 0x4f, 0x0c, 0x08, 0x31, 0x55, 0xb4, 0x85, 0x15, 0xfc,
- 0x58, 0xd3, 0x2f, 0x7f,
- 0x53, 0x2b, 0xe2, 0x34, 0x38, 0x91, 0x5b, 0xf1, 0x4d, 0x16, 0xf3, 0xde,
- 0x72, 0xe9, 0x37, 0xd4,
- 0x9a, 0xc3, 0x63, 0xa9, 0xff, 0xaa, 0xfe, 0x5f, 0x1d, 0xe3, 0x46, 0xae,
- 0x24, 0xf3, 0x5d, 0xd3,
- 0x10, 0x03, 0xdb, 0xa7, 0x2e, 0x34, 0x5f, 0xf6, 0x64, 0x3b, 0x95, 0x33,
- 0x3f, 0x27, 0x14, 0x1f,
- 0x1d, 0x8f, 0xe1, 0xcb, 0x08, 0xb1, 0x9f, 0x66, 0xd8, 0x47, 0xa7, 0xa8,
- 0xd1, 0x23, 0x8b, 0xeb,
- 0x0a, 0xd8, 0xaf, 0x7f, 0x62, 0xfd, 0x1c, 0x15, 0xdf, 0xc3, 0xf1, 0xc6,
- 0x20, 0x2f, 0xe9, 0x34,
- 0xd3, 0x33, 0xf5, 0x45, 0x8b, 0xf2, 0xe6, 0x4d, 0xeb, 0x0d, 0xd1, 0x85,
- 0x49, 0x12, 0x97, 0x2c,
- 0xfd, 0x9d, 0x69, 0xee, 0x5f, 0x6a, 0x23, 0xab, 0xe5, 0xc6, 0x7d, 0x59,
- 0x68, 0x0a, 0x53, 0x51,
- 0x73, 0x2d, 0x97, 0xb9, 0x64, 0xf9, 0xe5, 0xde, 0x85, 0x60, 0x1a, 0xb8,
- 0x0c, 0xa7, 0x1f, 0xea,
- 0xf1, 0x0d, 0xa3, 0x05, 0xa2, 0x7d, 0x8a, 0x0c, 0xce, 0x44, 0x62, 0xdd,
- 0xe9, 0x81, 0x5c, 0xc8,
- 0x4a, 0xd4, 0x45, 0xa6, 0xda, 0x2d, 0xa3, 0x4b, 0x8c, 0x2f, 0xe0, 0x0a,
- 0xdc, 0xb3, 0xb9, 0x48,
- 0xa1, 0x02, 0x92, 0x7b, 0x34, 0x99, 0x6a, 0xa4, 0xf9, 0x93, 0xe6, 0x22,
- 0x2a, 0x3a, 0x18, 0xab,
- 0xaa, 0xc6, 0xcd, 0x83, 0x8d, 0xf6, 0x1f, 0x86, 0xb1, 0xae, 0x3a, 0xfb,
- 0x65, 0x9a, 0x61, 0xf2,
- 0x74, 0x79, 0x02, 0xaa, 0x20, 0x81, 0x39, 0x5b, 0xe6, 0xdf, 0xd9, 0xe5,
- 0xc2, 0x8c, 0x69, 0x2a,
- 0x14, 0x73, 0x9d, 0xfe, 0xc4, 0x39, 0x38, 0x2a, 0x7d, 0x45, 0x21, 0x4f,
- 0x40, 0x5e, 0x11, 0x68,
- 0x39, 0xf9, 0xd2, 0x1f, 0xbe, 0xd4, 0x46, 0x95, 0x09, 0x4f, 0xfa, 0xb2,
- 0xd0, 0x14, 0xa6, 0xa2,
- 0x95, 0x77, 0x7a, 0x08, 0xac, 0xc8, 0xec, 0xa1, 0x4c, 0xa0, 0x2e, 0x0b,
- 0x14, 0x2a, 0x21, 0xfd,
- 0x5b, 0xcb, 0x6e, 0x86, 0x2f, 0x8b, 0x95, 0x8a, 0x7f, 0xea, 0x58, 0x26,
- 0x8c, 0x1b, 0x3d, 0x3a,
- 0x56, 0x47, 0x54, 0xea, 0x09, 0x0e, 0x55, 0x1a, 0xc3, 0x96, 0x6a, 0xbd,
- 0x62, 0x1f, 0xa2, 0xce,
- 0x8a, 0xc0, 0xb8, 0x0e, 0xd1, 0x9e, 0xa1, 0xa9, 0x79, 0xd8, 0xd3, 0x9d,
- 0x1b, 0xd4, 0x49, 0xcc,
- 0xdf, 0xa3, 0x3f, 0xae, 0x76, 0xe5, 0x4f, 0xea, 0xc0, 0x8f, 0xce, 0x01,
- 0xc8, 0x99, 0x98, 0xb5,
- 0xcd, 0x98, 0xc7, 0xc4, 0x2d, 0x36, 0xc2, 0x72, 0x49, 0x8b, 0x01, 0x0c,
- 0x29, 0x63, 0x6f, 0x70,
- 0x51, 0x13, 0xc1, 0xf9, 0x4d, 0x76, 0x89, 0x9f, 0xa0, 0x29, 0xa9, 0xe0,
- 0xac, 0x34, 0xd4, 0x0e,
- 0x34, 0x75, 0xe8, 0x73, 0x98, 0x51, 0x86, 0x05, 0xb5, 0x33, 0xc8, 0x29,
- 0x3e, 0x10, 0x39, 0x56,
- 0xf6, 0x59, 0x36, 0x16, 0xe6, 0x05, 0x56, 0x89, 0xad, 0xfb, 0xa1, 0x80,
- 0x27, 0xaa, 0x2a, 0x08,
- 0x8d, 0x94, 0x2d, 0x1d, 0x95, 0xe6, 0x7d, 0x2c, 0x1a, 0x67, 0x10, 0xc0,
- 0xd5, 0xff, 0x3f, 0x0c,
- 0x6a, 0xd2, 0x30, 0x2b, 0x86, 0x45, 0x1d, 0x64, 0x44, 0x59, 0x09, 0x6c,
- 0xa2, 0xfd, 0x91, 0x76,
- 0xf3, 0x35, 0x80, 0xc8, 0xd7, 0x9a, 0x58, 0x62, 0x23, 0x7b, 0x38, 0xe3,
- 0x37, 0x5c, 0xbf, 0x12,
- 0xf5, 0x7d, 0xe5, 0x5c, 0x48, 0x70, 0xed, 0xd0, 0xd7, 0x3a, 0xd6, 0xa1,
- 0x96, 0xf8, 0x59, 0xbf,
- 0x11, 0x1f, 0x2b, 0x20, 0xf5, 0xa6, 0x36, 0xc1, 0xf3, 0xc5, 0xb8, 0x2c,
- 0x50, 0xa8, 0x84, 0x72,
- 0x9d, 0x97, 0xf6, 0xba, 0xbb, 0xd2, 0x22, 0xda, 0x7e, 0x5c, 0x85, 0xf3,
- 0xea, 0xd8, 0x2b, 0x13,
- 0x75, 0x65, 0xf2, 0x2d, 0xfb, 0x13, 0x50, 0x6c, 0x71, 0x21, 0xf4, 0xfa,
- 0xad, 0x03, 0xf9, 0x47,
- 0x19, 0xff, 0xa7, 0x92, 0xe2, 0xbc, 0xf8, 0xba, 0xc1, 0x39, 0x13, 0xd4,
- 0xae, 0x5a, 0x8e, 0x9c,
- 0x03, 0x24, 0xd3, 0x4a, 0xae, 0x75, 0xbb, 0x59, 0x7a, 0xc1, 0x77, 0x21,
- 0xb1, 0x52, 0x73, 0xb7,
- 0x70, 0x09, 0x44, 0xf3, 0xca, 0x8c, 0x5e, 0x87, 0xff, 0xa1, 0x6d, 0x99,
- 0xbd, 0xf5, 0x6c, 0x5d,
- 0x72, 0x31, 0x67, 0x3e, 0xbf, 0x6b, 0x8c, 0xe9, 0x12, 0x9e, 0x37, 0xa7,
- 0x63, 0x28, 0x8f, 0x87,
- 0x3a, 0xdd, 0x01, 0x55, 0x10, 0xa1, 0xfd, 0xcc, 0x73, 0x8e, 0x8d, 0x93,
- 0x61, 0x46, 0xd5, 0x15,
- 0x8b, 0xdc, 0x48, 0x89, 0x0a, 0x0c, 0xc8, 0x9e, 0xee, 0x26, 0xfe, 0x82,
- 0x74, 0x5b, 0xd9, 0xa1,
- 0x33, 0x21, 0x7d, 0x60, 0xdc, 0x29, 0x5a, 0x80, 0xd6, 0x8c, 0x0b, 0x74,
- 0xf0, 0x3b, 0x4f, 0x96,
- 0xc6, 0x5c, 0x98, 0x3c, 0x94, 0x59, 0xb7, 0x50, 0x01, 0xb6, 0xdd, 0xd5,
- 0x66, 0xc3, 0x16, 0x29,
- 0x2f, 0xb2, 0x6c, 0x2c, 0x0f, 0x0a, 0xac, 0xd1, 0x99, 0x35, 0x81, 0xc3,
- 0x4e, 0x97, 0x54, 0x10,
- 0x89, 0xe4, 0x6b, 0x44, 0x7f, 0xeb, 0x1a, 0xf0, 0x03, 0x19, 0xa4, 0xbc,
- 0xaa, 0x86, 0x3a, 0x7b,
- 0xbe, 0xb5, 0x50, 0x7d, 0x49, 0xcf, 0x27, 0xac, 0xcc, 0xeb, 0x1b, 0xb4,
- 0x25, 0xc4, 0x70, 0x9a,
- 0xce, 0xbc, 0x14, 0x8e, 0x83, 0x43, 0x79, 0x2b, 0x33, 0x4a, 0x76, 0x2d,
- 0x98, 0x31, 0x1c, 0xc7,
- 0xc4, 0x64, 0xbb, 0xf1, 0xe1, 0xbe, 0x65, 0x3e, 0xec, 0x89, 0x87, 0xeb,
- 0xb8, 0x1e, 0xf5, 0xf3,
- 0xfa, 0xc9, 0xfc, 0xfd, 0x1b, 0x12, 0xff, 0x2e, 0x86, 0x79, 0xbe, 0x04,
- 0xa6, 0x21, 0x25, 0x91,
- 0x3b, 0xc1, 0xf1, 0xd2, 0xcb, 0x33, 0x94, 0xfb, 0xe4, 0x70, 0xa0, 0x8c,
- 0x0e, 0xc9, 0x45, 0x78,
- 0xdd, 0x9b, 0x1c, 0x63, 0x03, 0x02, 0x9d, 0x84, 0x2d, 0xb0, 0x94, 0x3f,
- 0x16, 0x44, 0x7b, 0x6f,
- 0x77, 0x5d, 0xd1, 0xe0, 0x8e, 0xf4, 0x82, 0x02, 0x9c, 0x1e, 0xae, 0xc4,
- 0x73, 0xde, 0x1a, 0x9d,
- 0xc5, 0x78, 0x4b, 0x76, 0x3a, 0x2c, 0x0c, 0x09, 0x7b, 0x77, 0xaa, 0xf4,
- 0xd7, 0x91, 0x65, 0x9e,
- 0x16, 0x4b, 0xbe, 0x33, 0xb1, 0xde, 0xea, 0x44, 0x90, 0x7a, 0x7b, 0x71,
- 0x9e, 0x83, 0xf2, 0xb2,
- 0xa4, 0x6e, 0x24, 0xa5, 0x05, 0x06, 0x64, 0x4f, 0x77, 0x13, 0x7f, 0x41,
- 0x3a, 0xcc, 0x8d, 0xb1,
- 0xad, 0x92, 0x58, 0x90, 0xc9, 0x8e, 0xc3, 0x03, 0xd2, 0x11, 0xf9, 0xa6,
- 0xab, 0xb1, 0x17, 0x32,
- 0xd8, 0xf7, 0xaa, 0xbd, 0x32, 0x9d, 0x93, 0x6f, 0xa3, 0x30, 0x0d, 0x5c,
- 0x06, 0xb2, 0xee, 0x75,
- 0xb7, 0x49, 0x2c, 0x48, 0x85, 0x47, 0x80, 0xe0, 0x69, 0xe9, 0x9d, 0x53,
- 0xb4, 0xb9, 0xea, 0x19,
- 0x92, 0x23, 0xef, 0x1b, 0xe8, 0xb0, 0x30, 0x24, 0x2f, 0x1f, 0xed, 0x56,
- 0xda, 0x01, 0x57, 0x3d,
- 0x49, 0xf0, 0x96, 0xec, 0x74, 0x58, 0x18, 0x12, 0xf6, 0xee, 0x97, 0x2b,
- 0x6d, 0xe1, 0xca, 0xff,
- 0x64, 0x7a, 0xd9, 0x0d, 0x0e, 0xb5, 0x66, 0xad, 0x82, 0xe4, 0x4c, 0xd6,
- 0xfd, 0xab, 0x7d, 0x35,
- 0x91, 0x07, 0x3c, 0x51, 0x46, 0xc5, 0x8b, 0x7d, 0x55, 0xde, 0x9a, 0x77,
- 0x6b, 0x53, 0x24, 0x8a,
- 0x9c, 0x8b, 0x06, 0x3d, 0x60, 0x40, 0x4b, 0xed, 0xe9, 0xa2, 0xa8, 0xec,
- 0x85, 0x57, 0xbb, 0x7e,
- 0x01, 0x1c, 0xf0, 0x87, 0xdb, 0x92, 0x69, 0x37, 0x97, 0xfe, 0x2d, 0x1f,
- 0x6f, 0x8f, 0x90, 0x6d,
- 0xe8, 0xf2, 0x04, 0x97, 0x40, 0xc1, 0x72, 0xb6, 0x0f, 0x7d, 0x71, 0x09,
- 0x47, 0xdb, 0xd2, 0x54,
- 0xa0, 0x1e, 0x62, 0xfc, 0xef, 0x0b, 0x03, 0x93, 0x6e, 0x6d, 0xcb, 0x3d,
- 0x45, 0xb5, 0x88, 0xc6,
- 0xbb, 0xd9, 0xe6, 0xa3, 0x78, 0x50, 0x29, 0x47, 0x42, 0x6b, 0x82, 0xd7,
- 0x35, 0x32, 0xe5, 0x80,
- 0xb5, 0x71, 0x0f, 0x85, 0xf0, 0xa0, 0x52, 0x8e, 0x84, 0xd6, 0xc7, 0x6d,
- 0x6a, 0x64, 0x09, 0xc3,
- 0x29, 0xfa, 0x09, 0xb8, 0x90, 0xe0, 0x19, 0x63, 0x6d, 0x74, 0x6f, 0x81,
- 0xef, 0x33, 0xb2, 0xbd,
- 0xe3, 0x36, 0x5b, 0x6f, 0xf9, 0xae, 0x07, 0x94, 0x47, 0x40, 0xad, 0xd0,
- 0x08, 0x7b, 0xab, 0x0d,
- 0x5a, 0xd7, 0x9e, 0x01, 0xf4, 0x19, 0xfc, 0xbd, 0xe8, 0x14, 0x75, 0x39,
- 0xe3, 0x94, 0xad, 0x57,
- 0x17, 0x57, 0x4e, 0xb4, 0x6a, 0x4c, 0x83, 0x73, 0x07, 0x84, 0x56, 0x6e,
- 0xf1, 0x0c, 0x62, 0xdf,
- 0x63, 0x2e, 0x4c, 0x1e, 0x4a, 0xcd, 0xba, 0x28, 0xe1, 0x5b, 0x8f, 0x8b,
- 0x33, 0x80, 0x0b, 0xf5,
- 0x25, 0x6a, 0xc3, 0x53, 0x6d, 0xf7, 0xb0, 0xc4, 0x46, 0xf6, 0x70, 0x05,
- 0x6e, 0xb8, 0xbd, 0x24,
- 0x7d, 0x85, 0x7e, 0x9f, 0xec, 0x09, 0x9e, 0x17, 0x43, 0xdd, 0x5f, 0x02,
- 0x53, 0xf1, 0xf3, 0xa9,
- 0x20, 0x06, 0x75, 0x8d, 0x5c, 0x68, 0xbe, 0x2f, 0xc8, 0x76, 0xe9, 0x66,
- 0x7e, 0x4e, 0x28, 0x3e,
- 0x13, 0x27, 0x08, 0xed, 0x80, 0x41, 0xe4, 0xaf, 0x1e, 0xfa, 0xe2, 0x12,
- 0x8e, 0x75, 0x67, 0xa8,
- 0x0e, 0xa8, 0xe9, 0x26, 0x88, 0xf0, 0x7b, 0xc9, 0xc6, 0xbd, 0x45, 0xba,
- 0x5f, 0x56, 0xec, 0x43,
- 0x9f, 0xaf, 0xd5, 0x77, 0xce, 0x35, 0xf0, 0xb4, 0x93, 0x63, 0xdf, 0xcd,
- 0x34, 0x05, 0xc8, 0xc9,
- 0xe1, 0x0e, 0x78, 0xa2, 0x8c, 0x49, 0xd5, 0xfa, 0xaa, 0x7f, 0xf7, 0xee,
- 0xd6, 0xa6, 0x48, 0xd7,
- 0x55, 0x63, 0x87, 0xa0, 0xa7, 0x7b, 0xee, 0x43, 0xb9, 0x57, 0x1d, 0x9c,
- 0xd3, 0x4d, 0xd1, 0x79,
- 0x8f, 0xac, 0x0e, 0xd0, 0xe0, 0x01, 0xaf, 0x42, 0xf7, 0x58, 0x4a, 0xfe,
- 0x0b, 0x22, 0xdc, 0xd6,
- 0xd1, 0x0b, 0xd6, 0x88, 0xfe, 0x15, 0x34, 0x23, 0x06, 0x32, 0x8b, 0xbb,
- 0x97, 0xcf, 0x74, 0xf6,
- 0x40, 0x0c, 0xea, 0xd9, 0xb8, 0xd0, 0xbf, 0x5e, 0x53, 0xec, 0x11, 0xcc,
- 0xfc, 0x9c, 0x50, 0x7c,
- 0x82, 0x20, 0x34, 0xbc, 0xc6, 0x84, 0x6f, 0xd2, 0x4b, 0x24, 0x78, 0x65,
- 0xe5, 0x26, 0x43, 0x22,
- 0x52, 0x37, 0x12, 0xb3, 0xe3, 0x03, 0x32, 0xc6, 0xda, 0xe8, 0xde, 0xc1,
- 0x1d, 0x66, 0xa7, 0xb9,
- 0xb2, 0x25, 0x9a, 0x96, 0xb4, 0xd8, 0x8e, 0x0b, 0xe7, 0x69, 0x04, 0x30,
- 0xa4, 0x4f, 0x7f, 0x03,
- 0x59, 0xf3, 0x4d, 0x4b, 0x5a, 0x6c, 0x47, 0xe4, 0x92, 0xd5, 0x02, 0x18,
- 0x52, 0xc6, 0xde, 0xe0,
- 0x3f, 0xb1, 0xb7, 0x8b, 0x21, 0x3e, 0xf3, 0x27, 0xfd, 0x0e, 0x14, 0xf0,
- 0x71, 0xb0, 0x40, 0x0f,
- 0xd4, 0x67, 0x60, 0x56, 0xcf, 0x8a, 0x3a, 0xc8, 0x88, 0xb2, 0x12, 0xd8,
- 0x87, 0x39, 0xe1, 0xec,
- 0x79, 0xf5, 0x38, 0xc6, 0x06, 0x04, 0xf9, 0xcb, 0x5a, 0xa3, 0xeb, 0x7e,
- 0x2c, 0x88, 0xf6, 0xde,
- 0xe7, 0x46, 0x1d, 0x36, 0x13, 0xa3, 0x60, 0x48, 0x5e, 0x3e, 0x19, 0xac,
- 0x77, 0x02, 0xae, 0x7a,
- 0xef, 0xa6, 0x91, 0x84, 0x04, 0xb9, 0xae, 0x33, 0x6c, 0xc2, 0xb2, 0x54,
- 0x89, 0xf0, 0xa4, 0x94,
- 0xca, 0xcc, 0x52, 0xd7, 0x69, 0x4e, 0x1e, 0xf7, 0x2a, 0x34, 0xc2, 0x51,
- 0xe7, 0x48, 0x19, 0xb0,
- 0x47, 0x58, 0x7f, 0xca, 0xfc, 0xa8, 0x63, 0xdb, 0x30, 0x53, 0xd2, 0x91,
- 0x32, 0xb7, 0x26, 0xbc,
- 0xa5, 0x72, 0xd4, 0x22, 0xde, 0x94, 0x0d, 0x78, 0xe0, 0xed, 0x52, 0x5e,
- 0x55, 0x43, 0x1d, 0xdc,
- 0xaf, 0xaa, 0x7b, 0x5d, 0xbc, 0x69, 0x11, 0x6d, 0x3f, 0x2e, 0xa3, 0x98,
- 0x75, 0x6c, 0xf4, 0xe8,
- 0xa8, 0xfe, 0xee, 0x4e, 0xf8, 0x11, 0xcd, 0xe8, 0x5c, 0x91, 0x60, 0xc5,
- 0xbb, 0x47, 0x82, 0x28,
- 0x93, 0x3f, 0x1f, 0x9c, 0x33, 0x22, 0x59, 0x13, 0xb8, 0xe1, 0xc0, 0x49,
- 0xb5, 0x8e, 0xc7, 0x50,
- 0xed, 0x9e, 0xb2, 0x49, 0x71, 0x5e, 0x7c, 0x5d, 0x81, 0xfd, 0xe8, 0x6a,
- 0x57, 0x2d, 0x47, 0x4e,
- 0xc3, 0x30, 0x2e, 0xe2, 0xa5, 0xc6, 0xb9, 0xbb, 0x8f, 0x36, 0x44, 0xb6,
- 0x76, 0x35, 0x83, 0x33,
- 0x2a, 0xde, 0xda, 0xf2, 0x3e, 0x95, 0xa2, 0x3a, 0x17, 0xb5, 0x18, 0xa0,
- 0x5e, 0x61, 0xc1, 0x0a,
- 0x96, 0x53, 0xa9, 0x42, 0x02, 0xbd, 0x57, 0xf8, 0x36, 0x61, 0x59, 0x2a,
- 0xa5, 0x78, 0x52, 0x4a,
- 0x2c, 0x96, 0xbf, 0x66, 0xa1, 0x7f, 0x17, 0x88, 0xe3, 0xf4, 0xf6, 0xe2,
- 0xff, 0xc5, 0x27, 0xa7,
- 0x5d, 0x83, 0x0b, 0x12, 0xb0, 0x61, 0x20, 0x38, 0x8b, 0xab, 0xb6, 0x64,
- 0x2d, 0xbf, 0xdb, 0x97,
- 0xe2, 0x2a, 0xab, 0xe8, 0x22, 0x3c, 0x6e, 0xa3, 0xd0, 0xbe, 0x80, 0xcf,
- 0x67, 0xf4, 0x3b, 0x60,
- 0x7f, 0xbd, 0x5d, 0x52, 0x99, 0xee, 0x4c, 0x79, 0xae, 0xe2, 0x05, 0x3c,
- 0x8d, 0x2c, 0x10, 0x73,
- 0x7e, 0xa1, 0xad, 0xd5, 0x42, 0x7c, 0x25, 0x4e, 0x39, 0x1c, 0x28, 0x23,
- 0xe2, 0xa3, 0x80, 0x1e,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x3e, 0xad, 0x47, 0x0c, 0xfa, 0xac, 0x9a, 0x10, 0x6a, 0xf0, 0x39, 0xef,
- 0x1e, 0x3f, 0xd0, 0x62,
- 0xc7, 0x40, 0x68, 0xbb, 0x4f, 0xcb, 0xde, 0x67, 0x96, 0x48, 0xf0, 0xca,
- 0x09, 0x4c, 0x86, 0x44,
- 0x05, 0x6c, 0xb6, 0xde, 0x31, 0x9f, 0x0e, 0xeb, 0x8e, 0x80, 0x99, 0x63,
- 0x10, 0xf6, 0x95, 0x1a,
- 0x3c, 0x95, 0x64, 0xc1, 0x8f, 0x4b, 0x48, 0x7e, 0x87, 0xcf, 0x63, 0xd1,
- 0xc0, 0xe2, 0x33, 0xb8,
- 0x87, 0x4c, 0x82, 0x62, 0xf7, 0x1b, 0x61, 0x39, 0xc5, 0xa4, 0xe1, 0x06,
- 0xf5, 0xd0, 0xd6, 0x38,
- 0x67, 0x5e, 0x0a, 0x47, 0xa0, 0xc0, 0xdd, 0xf4, 0xf8, 0x25, 0x3b, 0xf7,
- 0x4c, 0xf9, 0x0e, 0x82,
- 0x99, 0xe7, 0xb0, 0xe3, 0x51, 0xdf, 0x45, 0x06, 0x67, 0x22, 0x31, 0x8f,
- 0x95, 0xa1, 0x2e, 0x64,
- 0xab, 0xda, 0x3d, 0x04, 0x56, 0x64, 0x76, 0xb1, 0x26, 0x50, 0x17, 0xe4,
- 0x0a, 0x15, 0xf1, 0x9f,
- 0xf9, 0xed, 0x2f, 0xb7, 0xb5, 0x67, 0x44, 0x77, 0xfc, 0xb8, 0xc9, 0x25,
- 0x17, 0x73, 0x56, 0x26,
- 0xd2, 0x2f, 0x05, 0xc2, 0x50, 0x60, 0x8f, 0x7a, 0x7c, 0xf3, 0xfc, 0x9a,
- 0x26, 0x9d, 0x07, 0x41,
- 0x06, 0x48, 0x65, 0x94, 0x9f, 0xea, 0xb5, 0xb2, 0xf4, 0x41, 0xee, 0x42,
- 0xa1, 0xa4, 0xe6, 0xad,
- 0xa9, 0xe2, 0x1e, 0xc9, 0x23, 0x83, 0xa4, 0xdf, 0xcb, 0x6f, 0x4d, 0xda,
- 0xd4, 0xc8, 0x12, 0x45,
- 0x1b, 0xc7, 0x84, 0x5f, 0x97, 0x5b, 0x2a, 0xd4, 0x2c, 0x06, 0x49, 0xea,
- 0x70, 0x87, 0x6d, 0x46,
- 0x48, 0xec, 0x66, 0x6b, 0xaf, 0xca, 0x71, 0x25, 0x61, 0x10, 0xba, 0x34,
- 0x02, 0x6e, 0x5a, 0x92,
- 0x97, 0x4f, 0x59, 0xc5, 0xd9, 0x2f, 0x3e, 0xcf, 0xa1, 0x9f, 0x74, 0x35,
- 0xca, 0xf7, 0xc2, 0x27,
- 0xc2, 0x2c, 0xde, 0x65, 0x7e, 0x54, 0xd0, 0x8c, 0x18, 0xc8, 0x69, 0xa9,
- 0x19, 0xba, 0x13, 0x5e,
- 0x86, 0x50, 0x72, 0xe5, 0x2c, 0x89, 0x08, 0x0e, 0x52, 0x5a, 0xcc, 0x19,
- 0x9a, 0x5f, 0x46, 0x55,
- 0x61, 0x16, 0x6f, 0xd3, 0x3f, 0x2a, 0x68, 0x46, 0x0c, 0x64, 0xd5, 0xb5,
- 0xed, 0x5d, 0xe8, 0x2f,
- 0x36, 0x4d, 0xcb, 0xbe, 0xed, 0xb6, 0x54, 0x6b, 0x58, 0x0c, 0x92, 0x17,
- 0xe0, 0xcd, 0xda, 0x8c,
- 0x57, 0x5b, 0xa4, 0x6d, 0xd2, 0x9c, 0x3c, 0x2d, 0x54, 0x68, 0x47, 0xa2,
- 0x0d, 0x90, 0x32, 0xa3,
- 0xf0, 0x11, 0x53, 0x82, 0x79, 0xef, 0xe3, 0x3b, 0x59, 0xba, 0x4f, 0xc2,
- 0x86, 0x0e, 0xcc, 0xa5,
- 0x2e, 0xae, 0x9c, 0xab, 0xd4, 0x98, 0xc5, 0xe6, 0x0e, 0xcb, 0xac, 0xdc,
- 0x21, 0x18, 0xc4, 0x7d,
- 0x7a, 0xd1, 0xeb, 0x8c, 0xa8, 0x71, 0x42, 0x92, 0x20, 0x62, 0x9c, 0x5f,
- 0x9d, 0xda, 0x85, 0x69,
- 0x3d, 0x89, 0x94, 0x46, 0x54, 0xd9, 0x21, 0x49, 0x10, 0x31, 0x4e, 0xce,
- 0xaf, 0x6d, 0xa3, 0xd5,
- 0x81, 0x04, 0xe7, 0xf6, 0x68, 0xf1, 0xd4, 0x8b, 0x31, 0xe5, 0x0f, 0x44,
- 0x54, 0x74, 0x30, 0x95,
- 0x35, 0x69, 0x18, 0xf4, 0x43, 0xc3, 0xef, 0x32, 0x22, 0xcd, 0xe5, 0x36,
- 0x51, 0x9f, 0xa9, 0x3b,
- 0xc9, 0xe8, 0x81, 0x9d, 0xc7, 0x3b, 0xa5, 0xae, 0x50, 0xf5, 0xb5, 0x70,
- 0x56, 0x1a, 0x6a, 0x07,
- 0x65, 0x66, 0x29, 0x8a, 0xd5, 0x27, 0x0f, 0x9a, 0x15, 0x1a, 0x61, 0xc9,
- 0x92, 0x24, 0xed, 0x58,
- 0x78, 0xe9, 0xc8, 0x41, 0xdd, 0x96, 0x90, 0xfc, 0xcd, 0x5d, 0xc6, 0x61,
- 0x43, 0x07, 0x66, 0xb3,
- 0xbc, 0x8d, 0x73, 0xb0, 0x3c, 0x28, 0xf5, 0xc2, 0x21, 0xd4, 0x41, 0x8a,
- 0xfb, 0x19, 0x93, 0x40,
- 0x1c, 0x93, 0x11, 0x4c, 0xd3, 0x23, 0xf6, 0x51, 0x4f, 0xb9, 0x8a, 0xb7,
- 0xbe, 0xac, 0x1b, 0x86,
- 0x68, 0xea, 0x13, 0xe6, 0xf3, 0xa2, 0xcf, 0x0a, 0xa9, 0x66, 0x53, 0x52,
- 0x7c, 0x20, 0x72, 0xac,
- 0xcc, 0x84, 0x37, 0x43, 0xf6, 0xa4, 0xab, 0x45, 0xde, 0x75, 0x2c, 0x13,
- 0x46, 0xec, 0xff, 0x1d,
- 0xbf, 0xa9, 0xa0, 0xfa, 0x92, 0x5d, 0x4e, 0x9b, 0x5b, 0x15, 0x36, 0xab,
- 0x4a, 0x4b, 0xe0, 0xf7,
- 0x71, 0x15, 0xb4, 0x74, 0x11, 0x1e, 0x37, 0xb0, 0x68, 0x5f, 0x40, 0x86,
- 0xd2, 0x7a, 0xfc, 0x30,
- 0xb8, 0xfd, 0x35, 0xe9, 0xd6, 0x25, 0x92, 0x1e, 0x38, 0xaa, 0xf5, 0xf6,
- 0x84, 0x60, 0x96, 0x37,
- 0xa6, 0x56, 0x07, 0x68, 0x70, 0xe1, 0xb6, 0x21, 0x9a, 0x2c, 0x25, 0x7f,
- 0xe4, 0x11, 0x6e, 0x6b,
- 0x22, 0x3e, 0x56, 0x40, 0x29, 0x8f, 0x6c, 0x41, 0x25, 0x49, 0xb3, 0x58,
- 0xa0, 0x93, 0xcb, 0xe4,
- 0x4d, 0x80, 0xd0, 0xb5, 0x9e, 0x55, 0x7f, 0xce, 0xef, 0x90, 0x23, 0x57,
- 0x12, 0x98, 0xcf, 0x88,
- 0xb0, 0x1d, 0xb9, 0x5b, 0xc1, 0x3f, 0x5c, 0x65, 0x0a, 0x56, 0x5e, 0x0e,
- 0x7a, 0x92, 0x9c, 0xd9,
- 0x90, 0x1b, 0xcc, 0xd6, 0x9d, 0x57, 0xe2, 0x4a, 0xc2, 0x20, 0xb7, 0x68,
- 0x04, 0xdc, 0xb4, 0xe7,
- 0x23, 0x22, 0xa6, 0xc7, 0xf2, 0x1d, 0x05, 0x76, 0xb2, 0xb7, 0x9e, 0x47,
- 0xcf, 0x1c, 0x5b, 0x89,
- 0x37, 0x51, 0x3b, 0x39, 0x36, 0x24, 0x3d, 0x5c, 0xcf, 0xf2, 0xbf, 0x08,
- 0x8f, 0x42, 0x4a, 0xe1,
- 0x6b, 0xce, 0xc0, 0xac, 0x5d, 0xd7, 0x74, 0x53, 0xd3, 0xa7, 0x24, 0x73,
- 0xcd, 0x72, 0x01, 0x1b,
- 0x09, 0xfc, 0x7c, 0x35, 0xcc, 0x88, 0xa7, 0x4c, 0xa5, 0x02, 0x86, 0xe7,
- 0x91, 0x7d, 0x9a, 0x83,
- 0x24, 0x76, 0x33, 0xd4, 0xb6, 0x65, 0xd9, 0xf3, 0xd1, 0x08, 0x5d, 0x1a,
- 0x01, 0x37, 0x2d, 0x49,
- 0x31, 0x19, 0x5e, 0xad, 0xa9, 0xce, 0x88, 0xee, 0x3b, 0xb3, 0x51, 0x4a,
- 0x2e, 0xe6, 0xac, 0x4c,
- 0x4e, 0xa4, 0x03, 0xff, 0x30, 0x20, 0xc4, 0x97, 0x95, 0x51, 0x54, 0x76,
- 0xa3, 0xca, 0xbc, 0x3f,
- 0x80, 0x18, 0x17, 0x71, 0xb3, 0x63, 0xbd, 0xbc, 0xa6, 0x1b, 0x22, 0x5b,
- 0x3b, 0xfb, 0xa0, 0xf8,
- 0x27, 0x52, 0xe0, 0x9e, 0x18, 0x10, 0x62, 0xaa, 0xab, 0xc9, 0x2a, 0x3b,
- 0xb0, 0x65, 0x5e, 0xfe,
- 0x58, 0xef, 0xbd, 0xcc, 0x81, 0xfe, 0x2e, 0xd3, 0x05, 0x2b, 0x2f, 0x07,
- 0x3d, 0x49, 0x4e, 0x8d,
- 0x21, 0x1a, 0x85, 0x0a, 0x87, 0xfa, 0xd7, 0x18, 0x5f, 0x88, 0xc4, 0x79,
- 0x11, 0xc1, 0xb8, 0x53,
- 0xcf, 0xa0, 0xe4, 0x09, 0x58, 0xd1, 0x10, 0x1c, 0xa4, 0xb4, 0x5b, 0x32,
- 0xf7, 0xbe, 0x8c, 0xaa,
- 0x94, 0x6b, 0x8a, 0x8f, 0x77, 0x5a, 0x85, 0x96, 0xdb, 0x5e, 0x03, 0x14,
- 0x7b, 0xa5, 0xb1, 0x90,
- 0x2d, 0x8a, 0x4f, 0xe1, 0x7a, 0xed, 0x7e, 0xbf, 0x74, 0x0a, 0xdb, 0xfd,
- 0x90, 0x4a, 0xb7, 0xca,
- 0xde, 0xbf, 0xcf, 0x29, 0xad, 0x77, 0x26, 0xdd, 0x57, 0x71, 0xe3, 0x1e,
- 0xa7, 0x16, 0x08, 0xd8,
- 0xae, 0xb6, 0x8b, 0xda, 0x67, 0xfb, 0x78, 0x5a, 0xa8, 0xd0, 0x8e, 0x87,
- 0x1a, 0xe3, 0x64, 0x85,
- 0x8c, 0x88, 0xdd, 0x9a, 0x4e, 0x74, 0x14, 0x1b, 0x8d, 0x99, 0x3d, 0xdf,
- 0xba, 0x70, 0xaf, 0x61,
- 0x5e, 0xa7, 0xd8, 0x58, 0x1e, 0x14, 0x9b, 0x61, 0xf1, 0x6a, 0xc1, 0x45,
- 0x9c, 0xed, 0xa8, 0x20,
- 0xa3, 0x3a, 0xb1, 0xb6, 0x41, 0x7e, 0xb8, 0xca, 0x14, 0xac, 0xbc, 0x1c,
- 0xf4, 0xe7, 0xfb, 0x71,
- 0x2b, 0xc2, 0x2a, 0x75, 0xe5, 0x07, 0xcb, 0x0d, 0x80, 0x4b, 0x35, 0xbf,
- 0x31, 0xee, 0x51, 0x67,
- 0x9e, 0xb3, 0x25, 0xf0, 0x15, 0xa7, 0x99, 0x83, 0x04, 0x9d, 0xf2, 0xd2,
- 0x5b, 0x8a, 0x58, 0xa4,
- 0xbd, 0x91, 0x83, 0x37, 0xe7, 0xba, 0x9c, 0xf5, 0xb6, 0x2a, 0x6c, 0x95,
- 0x94, 0x96, 0x03, 0x2d,
- 0x1a, 0xdb, 0x74, 0xd8, 0x4c, 0xc9, 0x43, 0xe3, 0xbb, 0xf8, 0x64, 0xf5,
- 0x1f, 0x08, 0xfd, 0x2b,
- 0x98, 0xfb, 0x40, 0x64, 0x8a, 0x4d, 0x2c, 0x31, 0xf0, 0xdc, 0x1c, 0x90,
- 0xfa, 0x2e, 0xbe, 0x09,
- 0xd7, 0x43, 0xb3, 0x1c, 0x61, 0xff, 0x81, 0x91, 0xf2, 0x73, 0x65, 0xf9,
- 0x36, 0x6b, 0x92, 0x5b,
- 0x43, 0x28, 0x39, 0x93, 0x16, 0xa5, 0x04, 0x07, 0x29, 0x2d, 0x66, 0xed,
- 0x4d, 0xce, 0x23, 0xcb,
- 0xd0, 0x17, 0x26, 0x0f, 0x25, 0x87, 0x5d, 0x14, 0x91, 0xcc, 0xa6, 0xa4,
- 0xf8, 0x40, 0xe4, 0x9b,
- 0x4b, 0xc8, 0xb5, 0x21, 0x01, 0xbf, 0xca, 0x7c, 0x1b, 0xd1, 0xcd, 0x15,
- 0xb3, 0x3c, 0x29, 0x25,
- 0x28, 0xe6, 0xf9, 0x3f, 0x4b, 0x72, 0x70, 0x54, 0xfa, 0x8a, 0x42, 0x9e,
- 0x80, 0xbc, 0x22, 0xd0,
- 0x9b, 0xdf, 0x93, 0x2e, 0x24, 0x38, 0x97, 0x68, 0x8a, 0x1d, 0x6b, 0xb1,
- 0x4b, 0x7c, 0xcd, 0xbe,
- 0x4c, 0x9c, 0x20, 0x32, 0x45, 0xc7, 0x16, 0xf9, 0x78, 0x6e, 0x0e, 0x48,
- 0x7d, 0x17, 0x5f, 0xe5,
- 0x6f, 0xbe, 0x86, 0xf5, 0xb7, 0xda, 0x13, 0x8f, 0xca, 0xd9, 0x90, 0x0f,
- 0xb2, 0x0b, 0x04, 0x6c,
- 0x4f, 0xb8, 0xf3, 0x78, 0xeb, 0xb2, 0xad, 0xa0, 0x02, 0xaf, 0x79, 0x69,
- 0xcc, 0x45, 0x2c, 0x52,
- 0x0b, 0xc4, 0x5f, 0xf8, 0xb9, 0x6f, 0x75, 0x22, 0x48, 0x3d, 0xdc, 0xd9,
- 0x4f, 0xa0, 0x79, 0x59,
- 0x42, 0x34, 0xc9, 0x14, 0xcd, 0x37, 0x6d, 0x30, 0xbe, 0xd3, 0x4b, 0xf2,
- 0x22, 0x41, 0xb3, 0xa6,
- 0xb6, 0x55, 0xdc, 0xcf, 0x5e, 0xd5, 0xe9, 0xd7, 0xfe, 0x17, 0xb0, 0x4c,
- 0xdb, 0x36, 0x7a, 0x74,
- 0xf4, 0x61, 0x15, 0xdb, 0x93, 0xe2, 0x84, 0xe7, 0x40, 0xc4, 0xfb, 0xbe,
- 0xf9, 0x77, 0xc9, 0xd2,
- 0xfe, 0xb9, 0xba, 0xa4, 0xf1, 0x1f, 0x98, 0xf2, 0x9f, 0x07, 0x0a, 0x78,
- 0xd9, 0x58, 0x20, 0xe6,
- 0x0d, 0x8c, 0x3a, 0x6c, 0x26, 0x85, 0xc0, 0x90, 0xbc, 0x7c, 0x32, 0x9b,
- 0xee, 0x04, 0x9f, 0xf4,
- 0xb1, 0x01, 0x49, 0xdc, 0x1a, 0xad, 0x35, 0x52, 0x9d, 0xa8, 0x73, 0x11,
- 0x15, 0x1d, 0x0c, 0xb4,
- 0x07, 0x54, 0x95, 0x13, 0x44, 0x78, 0xdc, 0x85, 0x63, 0xbf, 0xc3, 0x5d,
- 0xce, 0x2b, 0x76, 0xc0,
- 0x46, 0x44, 0x8f, 0x4d, 0x27, 0x3a, 0x0a, 0xec, 0xa7, 0xad, 0xff, 0x8e,
- 0x5d, 0x38, 0xb6, 0xd1,
- 0x45, 0x60, 0x5c, 0x07, 0x89, 0x4f, 0xb1, 0xb5, 0xdd, 0x6c, 0x88, 0xaf,
- 0xec, 0x6a, 0xc5, 0x66,
- 0xda, 0xcf, 0x89, 0x70, 0x47, 0x7a, 0x41, 0x01, 0x4e, 0x0f, 0x57, 0x62,
- 0xd8, 0x6f, 0x0d, 0xaf,
- 0xdb, 0xd3, 0x79, 0xf7, 0x9c, 0xe8, 0x28, 0x36, 0xd9, 0xf1, 0x7a, 0x7d,
- 0xb7, 0xe0, 0x9d, 0xc2,
- 0xe9, 0xee, 0xf4, 0x10, 0x9b, 0x53, 0x1b, 0x81, 0x98, 0x83, 0x5c, 0x16,
- 0x28, 0x54, 0x42, 0x39,
- 0xf8, 0xf1, 0xdf, 0x30, 0x6e, 0xf5, 0x2d, 0x40, 0x6b, 0x46, 0xe4, 0x3a,
- 0x78, 0xfc, 0xc6, 0x4b,
- 0x50, 0x0f, 0x31, 0x7e, 0x96, 0xe4, 0xe0, 0xa8, 0x37, 0xd7, 0x84, 0xff,
- 0xc3, 0xbb, 0x44, 0x63,
- 0x6d, 0x86, 0xa5, 0x38, 0xc2, 0x3d, 0xc1, 0xe1, 0x27, 0xe6, 0xca, 0x31,
- 0x6c, 0xd6, 0xe7, 0xb6,
- },
+ {
+ /* 0 */
+ 0xe9, 0xfb, 0xd5, 0x0c, 0x7a, 0xc0, 0x80, 0x96, 0x19, 0x11,
+ 0x87, 0x93, 0x1b, 0xc9, 0xae, 0xb5, 0x19, 0x08, 0xe0, 0x8c,
+ 0xb2, 0x17, 0x1a, 0xce, 0x7b, 0x32, 0xfc, 0xab, 0xf8, 0xfe,
+ 0xf2, 0x0a, 0xbf, 0xcb, 0xd0, 0xa2, 0x50, 0xb2, 0xdc, 0x77,
+ 0xc0, 0xbd, 0xca, 0xef, 0x4e, 0x88, 0xc7, 0x89, 0x62, 0x41,
+ 0x10, 0x1a, 0x5e, 0x63, 0x42, 0xd6, 0x69, 0xc4, 0x12, 0x3c,
+ 0xd3, 0x93, 0x13, 0xc0, 0x4f, 0x38, 0xe5, 0x22, 0x98, 0x65,
+ 0x46, 0x2f, 0xa2, 0x9e, 0xb1, 0xd7, 0xad, 0xbf, 0x9b, 0x36,
+ 0x38, 0xb3, 0x39, 0x6a, 0x11, 0x6f, 0x4a, 0xe7, 0x3c, 0x70,
+ 0x97, 0x29, 0x2f, 0xcb, 0xc0, 0xef, 0xfb, 0x1f, 0xb7, 0xc2,
+ 0x06, 0x7d, 0x56, 0x4d, 0x08, 0x35, 0x78, 0xfd, 0x96, 0x0f,
+ 0xfe, 0x68, 0x4a, 0x88, 0xf8, 0x9b, 0xc3, 0xa4, 0x79, 0x73,
+ 0xc7, 0x94, 0xe7, 0x89, 0xa3, 0xc5, 0x09, 0xaa, 0xc1, 0x32,
+ 0x3d, 0x8d, 0xe7, 0x07, 0xbb, 0x33, 0xb7, 0x41, 0x72, 0x26,
+ 0x6b, 0x9f, 0xb4, 0xdf, 0x6a, 0x7c, 0x99, 0x8e, 0x18, 0x37,
+ 0x9b, 0xf7, 0x20, 0xd4, 0x23, 0x72, 0x1d, 0x3c, 0x7e, 0x63,
+ 0x0e, 0x5c, 0x9f, 0xfb, 0x95, 0x6b, 0xf3, 0x49, 0x0f, 0x1c,
+ 0x55, 0x9b, 0x7b, 0x42, 0x30, 0x4b, 0x97, 0x02, 0x38, 0x23,
+ 0xcd, 0x75, 0xe7, 0xd2, 0x6e, 0xed, 0x3f, 0x5a, 0x3e, 0xde,
+ 0xdd, 0xe3, 0x0b, 0xec, 0x82, 0x42, 0xce, 0xaa, 0xcc, 0x15,
+ 0x6a, 0x16, 0x03, 0xc5, 0x75, 0x38, 0xa2, 0xd7, 0xa5, 0x12,
+ 0x3b, 0xf8, 0x6a, 0x5b, 0xd3, 0x8d, 0x98, 0x89, 0x04, 0xcf,
+ 0x0d, 0xe1, 0xfa, 0xf7, 0xba, 0x7b, 0xcd, 0x1b, 0x0b, 0x73,
+ 0xe3, 0x2b, 0xa5, 0xb7, 0x9c, 0xb1, 0x40, 0xf2, 0x55, 0x15,
+ 0x33, 0x5f, 0xbb, 0x28, 0xdf, 0xc5, 0x86, 0xf2, 0x56, 0x66,
+ 0x94, 0xec, 0x5a, 0xf3, 0x62, 0x38, 0x31, 0xc1, 0x08, 0x0d,
+ 0x2f, 0xd0, 0x21, 0x6b, 0xd5, 0x62, 0x09, 0x1e, 0x88, 0xa8,
+ 0xe8, 0x60, 0xed, 0x04, 0x70, 0x46, 0x59, 0xea, 0x0d, 0x67,
+ 0xdc, 0x19, 0x7e, 0xb4, 0x7c, 0x7f, 0x79, 0x05, 0xe4, 0x76,
+ 0x41, 0x21, 0x67, 0x55, 0x66, 0xeb, 0x35, 0x0b, 0xe0, 0x83,
+ 0xdb, 0x1c, 0x51, 0x8a, 0x58, 0x6c, 0x9a, 0x55, 0xbf, 0x19,
+ 0xaf, 0xa8, 0xd6, 0xb0, 0x18, 0xe7, 0x2e, 0x03, 0x59, 0x77,
+ 0x1e, 0x26, 0x4e, 0x10, 0x19, 0xc3, 0x82, 0x0b, 0x9d, 0x3c,
+ 0x37, 0x07, 0x24, 0xdf, 0xea, 0xce, 0xc9, 0x0f, 0xb4, 0x19,
+ 0xa1, 0x53, 0x62, 0x12, 0xfe, 0x51, 0x43, 0x68, 0xa5, 0x30,
+ 0xd9, 0x7c, 0xf4, 0x0c, 0x90, 0xca, 0xeb, 0xfd, 0x17, 0xa9,
+ 0xa7, 0x2b, 0x82, 0x1f, 0x84, 0x81, 0x8b, 0x0f, 0xff, 0xe0,
+ 0x12, 0x88, 0x25, 0x57, 0xdb, 0xbc, 0xcd, 0x3d, 0x81, 0xda,
+ 0xf1, 0xb9, 0x29, 0xd8, 0x85, 0xe6, 0x5a, 0xed, 0xb1, 0xc8,
+ 0x31, 0x09, 0x7f, 0xc9, 0xc0, 0x34, 0xb3, 0x18, 0x8d, 0x3e,
+ 0xd3, 0xd6, 0x5f, 0x43, 0x9b, 0xba, 0x6d, 0xe8, 0xa6, 0x65,
+ 0x8d, 0x48, 0xe6, 0x59, 0xe4, 0x02, 0x2b, 0x18, 0xe3, 0x57,
+ 0x15, 0x39, 0x2e, 0x91, 0x8d, 0x56, 0xc7, 0x3e, 0xcb, 0xc1,
+ 0xd5, 0x1e, 0x30, 0x8e, 0xb0, 0xfe, 0x57, 0x3b, 0x93, 0xc6,
+ 0x75, 0x60, 0xa6, 0x67, 0xe1, 0x64, 0xad, 0x4c, 0x17, 0x54,
+ 0x7f, 0x77, 0x27, 0x7c, 0xe9, 0x87, 0x74, 0x2e, 0xa9, 0x30,
+ 0x83, 0xbc, 0xc2, 0x41, 0x12, 0xe4, 0x62, 0xce, 0x7c, 0xbd,
+ 0xd6, 0xdb, 0x11, 0x24, 0xff, 0x6e, 0x8d, 0xc6, 0x50, 0xdd,
+ 0xc3, 0xac, 0x8e, 0xa8, 0x17, 0x12, 0x1c, 0xaa, 0x34, 0x45,
+ 0xef, 0xd4, 0xb9, 0xc4, 0x3e, 0x87, 0x1f, 0x69, 0xf6, 0xe3,
+ 0x61, 0x28, 0x30, 0xa6, 0x3d, 0x3e, 0x98, 0x7e, 0x4d, 0x13,
+ 0xaf, 0xe2, 0x9c, 0xee, 0xba, 0x61, 0x03, 0xdf, 0x2b, 0xc7,
+ 0x04, 0xfb, 0x3c, 0x9f, 0x4b, 0xe6, 0x7f, 0x34, 0x1a, 0xd9,
+ 0xeb, 0x5a, 0x3a, 0xe9, 0x0f, 0xfa, 0x58, 0x34, 0xce, 0x20,
+ 0x43, 0x69, 0x3d, 0x7e, 0x1d, 0xf7, 0x45, 0xc6, 0x91, 0x3d,
+ 0x97, 0x3f, 0xbe, 0x3a, 0x05, 0x8c, 0x9f, 0x48, 0x25, 0xba,
+ 0xb6, 0xb9, 0xe1, 0xc5, 0x6e, 0x0d, 0xb7, 0xfb, 0x29, 0xaf,
+ 0x54, 0xd8, 0xe9, 0xeb, 0xef, 0x06, 0x14, 0x85, 0x74, 0xa1,
+ 0xaf, 0x82, 0xfc, 0xb3, 0x57, 0x28, 0x9b, 0xbb, 0x38, 0x2b,
+ 0x0d, 0x35, 0x51, 0x1e, 0xab, 0x32, 0x81, 0xa6, 0xc4, 0x24,
+ 0x3f, 0xa2, 0x86, 0xd0, 0x89, 0x60, 0x71, 0xf8, 0xd6, 0x66,
+ 0x42, 0xfa, 0xc0, 0x7b, 0x52, 0xb4, 0xc3, 0x6f, 0xdb, 0x16,
+ 0xe8, 0x23, 0x76, 0x9e, 0x56, 0x30, 0x05, 0xae, 0x2a, 0x72,
+ 0x5c, 0xe1, 0xd9, 0xac, 0x4d, 0x7c, 0x55, 0x41, 0x69, 0x3c,
+ 0xee, 0xd5, 0x7b, 0x90, 0xd1, 0x14, 0x18, 0x53, 0xff, 0x1f,
+ 0x4c, 0x3f, 0xc7, 0xe8, 0xb6, 0x71, 0xa0, 0xa2, 0x26, 0x41,
+ 0x31, 0x9a, 0xec, 0xd1, 0xfd, 0x83, 0x52, 0x91, 0x03, 0x9b,
+ 0x68, 0x6b, 0x39, 0xfc, 0x81, 0x99, 0x69, 0x84, 0xf8, 0x4a,
+ 0x9c, 0x72, 0x38, 0x50, 0x46, 0x07, 0x85, 0xc3, 0xac, 0x60,
+ 0x0a, 0x9f, 0x54, 0xe4, 0xb8, 0x01, 0x71, 0x9b, 0x9a, 0xf8,
+ 0xaa, 0x82, 0xd2, 0x78, 0x04, 0xff, 0xa5, 0x4a, 0x23, 0x2a,
+ 0x8d, 0xf1, 0xc5, 0x08, 0xf9, 0x27, 0x67, 0xb6, 0xd7, 0xb0,
+ 0xcf, 0x6e, 0xa2, 0x76, 0x72, 0x6c, 0x48, 0x7a, 0xb8, 0x5d,
+ 0x27, 0xbd, 0x10, 0xdd, 0x84, 0x94, 0x71, 0xea, 0xca, 0x27,
+ 0x5a, 0x35, 0x26, 0xa0, 0xd8, 0xe2, 0x42, 0x2b, 0x37, 0x99,
+ 0x06, 0x31, 0x6e, 0x83, 0x3c, 0xc4, 0x3b, 0x1d, 0x16, 0x06,
+ 0xe5, 0xdc, 0xda, 0x55, 0x7a, 0x8a, 0xa9, 0xd3, 0x75, 0x15,
+ 0x6f, 0x6d, 0x79, 0x1f, 0xab, 0x51, 0x1d, 0xea, 0xbb, 0x0c,
+ 0x50, 0x2f, 0xd1, 0x81, 0x9b, 0xc0, 0x14, 0xfd, 0xa8, 0x0b,
+ 0xb3, 0x02, 0xe2, 0xf5, 0xf7, 0x33, 0x97, 0xc7, 0x67, 0xf0,
+ 0x5d, 0xdc, 0x87, 0xec, 0xe4, 0xd8, 0x90, 0xf4, 0xb3, 0xba,
+ 0x4e, 0xb9, 0x20, 0x79, 0xcb, 0xeb, 0xe8, 0xb4, 0x6d, 0xff,
+ 0x02, 0x2b, 0x32, 0x3b, 0xb9, 0x13, 0x28, 0xea, 0x72, 0x05,
+ 0xeb, 0x99, 0xdb, 0xeb, 0xd6, 0xd7, 0xdd, 0xee, 0xb4, 0xc9,
+ 0xef, 0x75, 0xbc, 0x06, 0x28, 0xf6, 0x89, 0xa1, 0x82, 0xc8,
+ 0xf4, 0x71, 0x1a, 0x1c, 0xa9, 0xcc, 0x99, 0xc7, 0x0b, 0x98,
+ 0x6f, 0x39, 0x95, 0xfa, 0xbe, 0x84, 0x68, 0x51, 0x28, 0x59,
+ 0x6e, 0xda, 0x60, 0xbf, 0x65, 0x96, 0x27, 0x44, 0x82, 0xa5,
+ 0xb8, 0xe5, 0x7e, 0x3e, 0xfb, 0x66, 0x44, 0xb2, 0x26, 0xb3,
+ 0x01, 0x43, 0x92, 0xa9, 0xdf, 0x4d, 0xe7, 0xa7, 0x4a, 0xf7,
+ 0xef, 0xab, 0x73, 0xdf, 0x16, 0x0d, 0xd2, 0x08, 0x60, 0x8b,
+ 0x9e, 0xfe, 0x25, 0x44, 0x7c, 0xac, 0x80, 0x52, 0xdd, 0xd8,
+ 0x82, 0x4a, 0x92, 0xa5, 0xb0, 0x83, 0xe5, 0x55, 0x8b, 0xba,
+ 0xc5, 0x16, 0x24, 0xa3, 0xc2, 0x40, 0x70, 0xd5, 0x95, 0xaf,
+ 0xc8, 0x5a, 0xbd, 0x75, 0x3b, 0x62, 0x32, 0xbc, 0x99, 0x91,
+ 0x5f, 0xd3, 0x1f, 0x76, 0xa5, 0xa2, 0x94, 0x5c, 0x0f, 0x9b,
+ 0x5a, 0xf2, 0x29, 0x70, 0x4f, 0x0c, 0x08, 0x31, 0x55, 0xb4,
+ 0x85, 0x15, 0xfc, 0x58, 0xd3, 0x2f, 0xc7, 0x53, 0x2b, 0xe2,
+ 0x34, 0x38, 0x91, 0x5b, 0xf1, 0x4d, 0x16, 0xf3, 0xde, 0x72,
+ 0xe9, 0x37, 0xef, 0x9a, 0xc3, 0x63, 0xa9, 0xff, 0xaa, 0xfe,
+ 0x5f, 0x1d, 0xe3, 0x46, 0xae, 0x24, 0xf3, 0x5d, 0x32, 0x10,
+ 0x03, 0xdb, 0xa7, 0x2e, 0x34, 0x5f, 0xf6, 0x64, 0x3b, 0x95,
+ 0x33, 0x3f, 0x27, 0x14, 0x6c, 0x1d, 0x8f, 0xe1, 0xcb, 0x08,
+ 0xb1, 0x9f, 0x66, 0xd8, 0x47, 0xa7, 0xa8, 0xd1, 0x23, 0x8b,
+ 0x8e, 0x0a, 0xd8, 0xaf, 0x7f, 0x62, 0xfd, 0x1c, 0x15, 0xdf,
+ 0xc3, 0xf1, 0xc6, 0x20, 0x2f, 0xe9, 0x94, 0xd3, 0x33, 0xf5,
+ 0x45, 0x8b, 0xf2, 0xe6, 0x4d, 0xeb, 0x0d, 0xd1, 0x85, 0x49,
+ 0x12, 0x97, 0x93, 0xfd, 0x9d, 0x69, 0xee, 0x5f, 0x6a, 0x23,
+ 0xab, 0xe5, 0xc6, 0x7d, 0x59, 0x68, 0x0a, 0x53, 0xa3, 0x73,
+ 0x2d, 0x97, 0xb9, 0x64, 0xf9, 0xe5, 0xde, 0x85, 0x60, 0x1a,
+ 0xb8, 0x0c, 0xa7, 0x1f, 0x67, 0xf1, 0x0d, 0xa3, 0x05, 0xa2,
+ 0x7d, 0x8a, 0x0c, 0xce, 0x44, 0x62, 0xdd, 0xe9, 0x81, 0x5c,
+ 0x46, 0x4a, 0xd4, 0x45, 0xa6, 0xda, 0x2d, 0xa3, 0x4b, 0x8c,
+ 0x2f, 0xe0, 0x0a, 0xdc, 0xb3, 0xb9, 0x9d, 0xa1, 0x02, 0x92,
+ 0x7b, 0x34, 0x99, 0x6a, 0xa4, 0xf9, 0x93, 0xe6, 0x22, 0x2a,
+ 0x3a, 0x18, 0xb9, 0xaa, 0xc6, 0xcd, 0x83, 0x8d, 0xf6, 0x1f,
+ 0x86, 0xb1, 0xae, 0x3a, 0xfb, 0x65, 0x9a, 0x61, 0x73, 0x74,
+ 0x79, 0x02, 0xaa, 0x20, 0x81, 0x39, 0x5b, 0xe6, 0xdf, 0xd9,
+ 0xe5, 0xc2, 0x8c, 0x69, 0xdf, 0x14, 0x73, 0x9d, 0xfe, 0xc4,
+ 0x39, 0x38, 0x2a, 0x7d, 0x45, 0x21, 0x4f, 0x40, 0x5e, 0x11,
+ 0xe5, 0x39, 0xf9, 0xd2, 0x1f, 0xbe, 0xd4, 0x46, 0x95, 0x09,
+ 0x4f, 0xfa, 0xb2, 0xd0, 0x14, 0xa6, 0x26, 0x95, 0x77, 0x7a,
+ 0x08, 0xac, 0xc8, 0xec, 0xa1, 0x4c, 0xa0, 0x2e, 0x0b, 0x14,
+ 0x2a, 0x21, 0xde, 0x5b, 0xcb, 0x6e, 0x86, 0x2f, 0x8b, 0x95,
+ 0x8a, 0x7f, 0xea, 0x58, 0x26, 0x8c, 0x1b, 0x3d, 0x80, 0x56,
+ 0x47, 0x54, 0xea, 0x09, 0x0e, 0x55, 0x1a, 0xc3, 0x96, 0x6a,
+ 0xbd, 0x62, 0x1f, 0xa2, 0xdd, 0x8a, 0xc0, 0xb8, 0x0e, 0xd1,
+ 0x9e, 0xa1, 0xa9, 0x79, 0xd8, 0xd3, 0x9d, 0x1b, 0xd4, 0x49,
+ 0x60, 0xdf, 0xa3, 0x3f, 0xae, 0x76, 0xe5, 0x4f, 0xea, 0xc0,
+ 0x8f, 0xce, 0x01, 0xc8, 0x99, 0x98, 0xc5, 0xcd, 0x98, 0xc7,
+ 0xc4, 0x2d, 0x36, 0xc2, 0x72, 0x49, 0x8b, 0x01, 0x0c, 0x29,
+ 0x63, 0x6f, 0x50, 0x51, 0x13, 0xc1, 0xf9, 0x4d, 0x76, 0x89,
+ 0x9f, 0xa0, 0x29, 0xa9, 0xe0, 0xac, 0x34, 0xd4, 0xbb, 0x34,
+ 0x75, 0xe8, 0x73, 0x98, 0x51, 0x86, 0x05, 0xb5, 0x33, 0xc8,
+ 0x29, 0x3e, 0x10, 0x39, 0xb7, 0xf6, 0x59, 0x36, 0x16, 0xe6,
+ 0x05, 0x56, 0x89, 0xad, 0xfb, 0xa1, 0x80, 0x27, 0xaa, 0x2a,
+ 0x0d, 0x8d, 0x94, 0x2d, 0x1d, 0x95, 0xe6, 0x7d, 0x2c, 0x1a,
+ 0x67, 0x10, 0xc0, 0xd5, 0xff, 0x3f, 0x22, 0x6a, 0xd2, 0x30,
+ 0x2b, 0x86, 0x45, 0x1d, 0x64, 0x44, 0x59, 0x09, 0x6c, 0xa2,
+ 0xfd, 0x91, 0xf0, 0xf3, 0x35, 0x80, 0xc8, 0xd7, 0x9a, 0x58,
+ 0x62, 0x23, 0x7b, 0x38, 0xe3, 0x37, 0x5c, 0xbf, 0x8a, 0xf5,
+ 0x7d, 0xe5, 0x5c, 0x48, 0x70, 0xed, 0xd0, 0xd7, 0x3a, 0xd6,
+ 0xa1, 0x96, 0xf8, 0x59, 0x98, 0x11, 0x1f, 0x2b, 0x20, 0xf5,
+ 0xa6, 0x36, 0xc1, 0xf3, 0xc5, 0xb8, 0x2c, 0x50, 0xa8, 0x84,
+ 0x3f, 0x9d, 0x97, 0xf6, 0xba, 0xbb, 0xd2, 0x22, 0xda, 0x7e,
+ 0x5c, 0x85, 0xf3, 0xea, 0xd8, 0x2b, 0xd9, 0x75, 0x65, 0xf2,
+ 0x2d, 0xfb, 0x13, 0x50, 0x6c, 0x71, 0x21, 0xf4, 0xfa, 0xad,
+ 0x03, 0xf9, 0x81, 0x19, 0xff, 0xa7, 0x92, 0xe2, 0xbc, 0xf8,
+ 0xba, 0xc1, 0x39, 0x13, 0xd4, 0xae, 0x5a, 0x8e, 0x3d, 0x03,
+ 0x24, 0xd3, 0x4a, 0xae, 0x75, 0xbb, 0x59, 0x7a, 0xc1, 0x77,
+ 0x21, 0xb1, 0x52, 0x73, 0x9e, 0x70, 0x09, 0x44, 0xf3, 0xca,
+ 0x8c, 0x5e, 0x87, 0xff, 0xa1, 0x6d, 0x99, 0xbd, 0xf5, 0x6c,
+ 0x09, 0x72, 0x31, 0x67, 0x3e, 0xbf, 0x6b, 0x8c, 0xe9, 0x12,
+ 0x9e, 0x37, 0xa7, 0x63, 0x28, 0x8f, 0xd8, 0x3a, 0xdd, 0x01,
+ 0x55, 0x10, 0xa1, 0xfd, 0xcc, 0x73, 0x8e, 0x8d, 0x93, 0x61,
+ 0x46, 0xd5, 0x77, 0x8b, 0xdc, 0x48, 0x89, 0x0a, 0x0c, 0xc8,
+ 0x9e, 0xee, 0x26, 0xfe, 0x82, 0x74, 0x5b, 0xd9, 0x6b, 0x33,
+ 0x21, 0x7d, 0x60, 0xdc, 0x29, 0x5a, 0x80, 0xd6, 0x8c, 0x0b,
+ 0x74, 0xf0, 0x3b, 0x4f, 0xe1, 0xc6, 0x5c, 0x98, 0x3c, 0x94,
+ 0x59, 0xb7, 0x50, 0x01, 0xb6, 0xdd, 0xd5, 0x66, 0xc3, 0x16,
+ 0xad, 0x2f, 0xb2, 0x6c, 0x2c, 0x0f, 0x0a, 0xac, 0xd1, 0x99,
+ 0x35, 0x81, 0xc3, 0x4e, 0x97, 0x54, 0xe0, 0x89, 0xe4, 0x6b,
+ 0x44, 0x7f, 0xeb, 0x1a, 0xf0, 0x03, 0x19, 0xa4, 0xbc, 0xaa,
+ 0x86, 0x3a, 0x66, 0xbe, 0xb5, 0x50, 0x7d, 0x49, 0xcf, 0x27,
+ 0xac, 0xcc, 0xeb, 0x1b, 0xb4, 0x25, 0xc4, 0x70, 0xf8, 0xce,
+ 0xbc, 0x14, 0x8e, 0x83, 0x43, 0x79, 0x2b, 0x33, 0x4a, 0x76,
+ 0x2d, 0x98, 0x31, 0x1c, 0x76, 0xc4, 0x64, 0xbb, 0xf1, 0xe1,
+ 0xbe, 0x65, 0x3e, 0xec, 0x89, 0x87, 0xeb, 0xb8, 0x1e, 0xf5,
+ 0x43, 0xfa, 0xc9, 0xfc, 0xfd, 0x1b, 0x12, 0xff, 0x2e, 0x86,
+ 0x79, 0xbe, 0x04, 0xa6, 0x21, 0x25, 0x72, 0x3b, 0xc1, 0xf1,
+ 0xd2, 0xcb, 0x33, 0x94, 0xfb, 0xe4, 0x70, 0xa0, 0x8c, 0x0e,
+ 0xc9, 0x45, 0xf7, 0xdd, 0x9b, 0x1c, 0x63, 0x03, 0x02, 0x9d,
+ 0x84, 0x2d, 0xb0, 0x94, 0x3f, 0x16, 0x44, 0x7b, 0x4e, 0x77,
+ 0x5d, 0xd1, 0xe0, 0x8e, 0xf4, 0x82, 0x02, 0x9c, 0x1e, 0xae,
+ 0xc4, 0x73, 0xde, 0x1a, 0xdc, 0xc5, 0x78, 0x4b, 0x76, 0x3a,
+ 0x2c, 0x0c, 0x09, 0x7b, 0x77, 0xaa, 0xf4, 0xd7, 0x91, 0x65,
+ 0x48, 0x16, 0x4b, 0xbe, 0x33, 0xb1, 0xde, 0xea, 0x44, 0x90,
+ 0x7a, 0x7b, 0x71, 0x9e, 0x83, 0xf2, 0xda, 0xa4, 0x6e, 0x24,
+ 0xa5, 0x05, 0x06, 0x64, 0x4f, 0x77, 0x13, 0x7f, 0x41, 0x3a,
+ 0xcc, 0x8d, 0x69, 0xad, 0x92, 0x58, 0x90, 0xc9, 0x8e, 0xc3,
+ 0x03, 0xd2, 0x11, 0xf9, 0xa6, 0xab, 0xb1, 0x17, 0xb0, 0xd8,
+ 0xf7, 0xaa, 0xbd, 0x32, 0x9d, 0x93, 0x6f, 0xa3, 0x30, 0x0d,
+ 0x5c, 0x06, 0xb2, 0xee, 0xd5, 0xb7, 0x49, 0x2c, 0x48, 0x85,
+ 0x47, 0x80, 0xe0, 0x69, 0xe9, 0x9d, 0x53, 0xb4, 0xb9, 0xea,
+ 0xf6, 0x92, 0x23, 0xef, 0x1b, 0xe8, 0xb0, 0x30, 0x24, 0x2f,
+ 0x1f, 0xed, 0x56, 0xda, 0x01, 0x57, 0x7b, 0x49, 0xf0, 0x96,
+ 0xec, 0x74, 0x58, 0x18, 0x12, 0xf6, 0xee, 0x97, 0x2b, 0x6d,
+ 0xe1, 0xca, 0x41, 0x64, 0x7a, 0xd9, 0x0d, 0x0e, 0xb5, 0x66,
+ 0xad, 0x82, 0xe4, 0x4c, 0xd6, 0xfd, 0xab, 0x7d, 0xcb, 0x91,
+ 0x07, 0x3c, 0x51, 0x46, 0xc5, 0x8b, 0x7d, 0x55, 0xde, 0x9a,
+ 0x77, 0x6b, 0x53, 0x24, 0x95, 0x9c, 0x8b, 0x06, 0x3d, 0x60,
+ 0x40, 0x4b, 0xed, 0xe9, 0xa2, 0xa8, 0xec, 0x85, 0x57, 0xbb,
+ 0xaa, 0x01, 0x1c, 0xf0, 0x87, 0xdb, 0x92, 0x69, 0x37, 0x97,
+ 0xfe, 0x2d, 0x1f, 0x6f, 0x8f, 0x90, 0xe6, 0xe8, 0xf2, 0x04,
+ 0x97, 0x40, 0xc1, 0x72, 0xb6, 0x0f, 0x7d, 0x71, 0x09, 0x47,
+ 0xdb, 0xd2, 0x37, 0xa0, 0x1e, 0x62, 0xfc, 0xef, 0x0b, 0x03,
+ 0x93, 0x6e, 0x6d, 0xcb, 0x3d, 0x45, 0xb5, 0x88, 0x21, 0xbb,
+ 0xd9, 0xe6, 0xa3, 0x78, 0x50, 0x29, 0x47, 0x42, 0x6b, 0x82,
+ 0xd7, 0x35, 0x32, 0xe5, 0x42, 0xb5, 0x71, 0x0f, 0x85, 0xf0,
+ 0xa0, 0x52, 0x8e, 0x84, 0xd6, 0xc7, 0x6d, 0x6a, 0x64, 0x09,
+ 0xd7, 0x29, 0xfa, 0x09, 0xb8, 0x90, 0xe0, 0x19, 0x63, 0x6d,
+ 0x74, 0x6f, 0x81, 0xef, 0x33, 0xb2, 0xc2, 0xe3, 0x36, 0x5b,
+ 0x6f, 0xf9, 0xae, 0x07, 0x94, 0x47, 0x40, 0xad, 0xd0, 0x08,
+ 0x7b, 0xab, 0x74, 0x5a, 0xd7, 0x9e, 0x01, 0xf4, 0x19, 0xfc,
+ 0xbd, 0xe8, 0x14, 0x75, 0x39, 0xe3, 0x94, 0xad, 0xe2, 0x17,
+ 0x57, 0x4e, 0xb4, 0x6a, 0x4c, 0x83, 0x73, 0x07, 0x84, 0x56,
+ 0x6e, 0xf1, 0x0c, 0x62, 0x91, 0x63, 0x2e, 0x4c, 0x1e, 0x4a,
+ 0xcd, 0xba, 0x28, 0xe1, 0x5b, 0x8f, 0x8b, 0x33, 0x80, 0x0b,
+ 0x23, 0x25, 0x6a, 0xc3, 0x53, 0x6d, 0xf7, 0xb0, 0xc4, 0x46,
+ 0xf6, 0x70, 0x05, 0x6e, 0xb8, 0xbd, 0xc0, 0x7d, 0x85, 0x7e,
+ 0x9f, 0xec, 0x09, 0x9e, 0x17, 0x43, 0xdd, 0x5f, 0x02, 0x53,
+ 0xf1, 0xf3, 0x64, 0x20, 0x06, 0x75, 0x8d, 0x5c, 0x68, 0xbe,
+ 0x2f, 0xc8, 0x76, 0xe9, 0x66, 0x7e, 0x4e, 0x28, 0x0f, 0x13,
+ 0x27, 0x08, 0xed, 0x80, 0x41, 0xe4, 0xaf, 0x1e, 0xfa, 0xe2,
+ 0x12, 0x8e, 0x75, 0x67, 0x63, 0x0e, 0xa8, 0xe9, 0x26, 0x88,
+ 0xf0, 0x7b, 0xc9, 0xc6, 0xbd, 0x45, 0xba, 0x5f, 0x56, 0xec,
+ 0xa8, 0x9f, 0xaf, 0xd5, 0x77, 0xce, 0x35, 0xf0, 0xb4, 0x93,
+ 0x63, 0xdf, 0xcd, 0x34, 0x05, 0xc8, 0x55, 0xe1, 0x0e, 0x78,
+ 0xa2, 0x8c, 0x49, 0xd5, 0xfa, 0xaa, 0x7f, 0xf7, 0xee, 0xd6,
+ 0xa6, 0x48, 0xbd, 0x55, 0x63, 0x87, 0xa0, 0xa7, 0x7b, 0xee,
+ 0x43, 0xb9, 0x57, 0x1d, 0x9c, 0xd3, 0x4d, 0xd1, 0x9a, 0x8f,
+ 0xac, 0x0e, 0xd0, 0xe0, 0x01, 0xaf, 0x42, 0xf7, 0x58, 0x4a,
+ 0xfe, 0x0b, 0x22, 0xdc, 0x03, 0xd1, 0x0b, 0xd6, 0x88, 0xfe,
+ 0x15, 0x34, 0x23, 0x06, 0x32, 0x8b, 0xbb, 0x97, 0xcf, 0x74,
+ 0xc8, 0x40, 0x0c, 0xea, 0xd9, 0xb8, 0xd0, 0xbf, 0x5e, 0x53,
+ 0xec, 0x11, 0xcc, 0xfc, 0x9c, 0x50, 0xc4, 0x82, 0x20, 0x34,
+ 0xbc, 0xc6, 0x84, 0x6f, 0xd2, 0x4b, 0x24, 0x78, 0x65, 0xe5,
+ 0x26, 0x43, 0x6d, 0x52, 0x37, 0x12, 0xb3, 0xe3, 0x03, 0x32,
+ 0xc6, 0xda, 0xe8, 0xde, 0xc1, 0x1d, 0x66, 0xa7, 0x92, 0xb2,
+ 0x25, 0x9a, 0x96, 0xb4, 0xd8, 0x8e, 0x0b, 0xe7, 0x69, 0x04,
+ 0x30, 0xa4, 0x4f, 0x7f, 0x49, 0x59, 0xf3, 0x4d, 0x4b, 0x5a,
+ 0x6c, 0x47, 0xe4, 0x92, 0xd5, 0x02, 0x18, 0x52, 0xc6, 0xde,
+ 0x9f, 0x3f, 0xb1, 0xb7, 0x8b, 0x21, 0x3e, 0xf3, 0x27, 0xfd,
+ 0x0e, 0x14, 0xf0, 0x71, 0xb0, 0x40, 0x44, 0xd4, 0x67, 0x60,
+ 0x56, 0xcf, 0x8a, 0x3a, 0xc8, 0x88, 0xb2, 0x12, 0xd8, 0x87,
+ 0x39, 0xe1, 0x2d, 0x79, 0xf5, 0x38, 0xc6, 0x06, 0x04, 0xf9,
+ 0xcb, 0x5a, 0xa3, 0xeb, 0x7e, 0x2c, 0x88, 0xf6, 0x2f, 0xe7,
+ 0x46, 0x1d, 0x36, 0x13, 0xa3, 0x60, 0x48, 0x5e, 0x3e, 0x19,
+ 0xac, 0x77, 0x02, 0xae, 0x36, 0xef, 0xa6, 0x91, 0x84, 0x04,
+ 0xb9, 0xae, 0x33, 0x6c, 0xc2, 0xb2, 0x54, 0x89, 0xf0, 0xa4,
+ 0x15, 0xca, 0xcc, 0x52, 0xd7, 0x69, 0x4e, 0x1e, 0xf7, 0x2a,
+ 0x34, 0xc2, 0x51, 0xe7, 0x48, 0x19, 0x18, 0x47, 0x58, 0x7f,
+ 0xca, 0xfc, 0xa8, 0x63, 0xdb, 0x30, 0x53, 0xd2, 0x91, 0x32,
+ 0xb7, 0x26, 0x70, 0xa5, 0x72, 0xd4, 0x22, 0xde, 0x94, 0x0d,
+ 0x78, 0xe0, 0xed, 0x52, 0x5e, 0x55, 0x43, 0x1d, 0xfe, 0xaf,
+ 0xaa, 0x7b, 0x5d, 0xbc, 0x69, 0x11, 0x6d, 0x3f, 0x2e, 0xa3,
+ 0x98, 0x75, 0x6c, 0xf4, 0x2e, 0xa8, 0xfe, 0xee, 0x4e, 0xf8,
+ 0x11, 0xcd, 0xe8, 0x5c, 0x91, 0x60, 0xc5, 0xbb, 0x47, 0x82,
+ 0x5c, 0x93, 0x3f, 0x1f, 0x9c, 0x33, 0x22, 0x59, 0x13, 0xb8,
+ 0xe1, 0xc0, 0x49, 0xb5, 0x8e, 0xc7, 0xa1, 0xed, 0x9e, 0xb2,
+ 0x49, 0x71, 0x5e, 0x7c, 0x5d, 0x81, 0xfd, 0xe8, 0x6a, 0x57,
+ 0x2d, 0x47, 0xa6, 0xc3, 0x30, 0x2e, 0xe2, 0xa5, 0xc6, 0xb9,
+ 0xbb, 0x8f, 0x36, 0x44, 0xb6, 0x76, 0x35, 0x83, 0xea, 0x2a,
+ 0xde, 0xda, 0xf2, 0x3e, 0x95, 0xa2, 0x3a, 0x17, 0xb5, 0x18,
+ 0xa0, 0x5e, 0x61, 0xc1, 0x1b, 0x96, 0x53, 0xa9, 0x42, 0x02,
+ 0xbd, 0x57, 0xf8, 0x36, 0x61, 0x59, 0x2a, 0xa5, 0x78, 0x52,
+ 0x90, 0x2c, 0x96, 0xbf, 0x66, 0xa1, 0x7f, 0x17, 0x88, 0xe3,
+ 0xf4, 0xf6, 0xe2, 0xff, 0xc5, 0x27, 0xa4, 0x5d, 0x83, 0x0b,
+ 0x12, 0xb0, 0x61, 0x20, 0x38, 0x8b, 0xab, 0xb6, 0x64, 0x2d,
+ 0xbf, 0xdb, 0x68, 0xe2, 0x2a, 0xab, 0xe8, 0x22, 0x3c, 0x6e,
+ 0xa3, 0xd0, 0xbe, 0x80, 0xcf, 0x67, 0xf4, 0x3b, 0x57, 0x7f,
+ 0xbd, 0x5d, 0x52, 0x99, 0xee, 0x4c, 0x79, 0xae, 0xe2, 0x05,
+ 0x3c, 0x8d, 0x2c, 0x10, 0xfd, 0x7e, 0xa1, 0xad, 0xd5, 0x42,
+ 0x7c, 0x25, 0x4e, 0x39, 0x1c, 0x28, 0x23, 0xe2, 0xa3, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x3e, 0xad, 0x47,
+ 0x0c, 0xfa, 0xac, 0x9a, 0x10, 0x6a, 0xf0, 0x39, 0xef, 0x1e,
+ 0x3f, 0xd0, 0x4b, 0xc7, 0x40, 0x68, 0xbb, 0x4f, 0xcb, 0xde,
+ 0x67, 0x96, 0x48, 0xf0, 0xca, 0x09, 0x4c, 0x86, 0x47, 0x05,
+ 0x6c, 0xb6, 0xde, 0x31, 0x9f, 0x0e, 0xeb, 0x8e, 0x80, 0x99,
+ 0x63, 0x10, 0xf6, 0x95, 0xa2, 0x3c, 0x95, 0x64, 0xc1, 0x8f,
+ 0x4b, 0x48, 0x7e, 0x87, 0xcf, 0x63, 0xd1, 0xc0, 0xe2, 0x33,
+ 0x83, 0x87, 0x4c, 0x82, 0x62, 0xf7, 0x1b, 0x61, 0x39, 0xc5,
+ 0xa4, 0xe1, 0x06, 0xf5, 0xd0, 0xd6, 0x7c, 0x67, 0x5e, 0x0a,
+ 0x47, 0xa0, 0xc0, 0xdd, 0xf4, 0xf8, 0x25, 0x3b, 0xf7, 0x4c,
+ 0xf9, 0x0e, 0xd2, 0x99, 0xe7, 0xb0, 0xe3, 0x51, 0xdf, 0x45,
+ 0x06, 0x67, 0x22, 0x31, 0x8f, 0x95, 0xa1, 0x2e, 0x13, 0xab,
+ 0xda, 0x3d, 0x04, 0x56, 0x64, 0x76, 0xb1, 0x26, 0x50, 0x17,
+ 0xe4, 0x0a, 0x15, 0xf1, 0x7e, 0xf9, 0xed, 0x2f, 0xb7, 0xb5,
+ 0x67, 0x44, 0x77, 0xfc, 0xb8, 0xc9, 0x25, 0x17, 0x73, 0x56,
+ 0x3e, 0xd2, 0x2f, 0x05, 0xc2, 0x50, 0x60, 0x8f, 0x7a, 0x7c,
+ 0xf3, 0xfc, 0x9a, 0x26, 0x9d, 0x07, 0x7a, 0x06, 0x48, 0x65,
+ 0x94, 0x9f, 0xea, 0xb5, 0xb2, 0xf4, 0x41, 0xee, 0x42, 0xa1,
+ 0xa4, 0xe6, 0x84, 0xa9, 0xe2, 0x1e, 0xc9, 0x23, 0x83, 0xa4,
+ 0xdf, 0xcb, 0x6f, 0x4d, 0xda, 0xd4, 0xc8, 0x12, 0x16, 0x1b,
+ 0xc7, 0x84, 0x5f, 0x97, 0x5b, 0x2a, 0xd4, 0x2c, 0x06, 0x49,
+ 0xea, 0x70, 0x87, 0x6d, 0xd1, 0x48, 0xec, 0x66, 0x6b, 0xaf,
+ 0xca, 0x71, 0x25, 0x61, 0x10, 0xba, 0x34, 0x02, 0x6e, 0x5a,
+ 0xb1, 0x97, 0x4f, 0x59, 0xc5, 0xd9, 0x2f, 0x3e, 0xcf, 0xa1,
+ 0x9f, 0x74, 0x35, 0xca, 0xf7, 0xc2, 0x0c, 0xc2, 0x2c, 0xde,
+ 0x65, 0x7e, 0x54, 0xd0, 0x8c, 0x18, 0xc8, 0x69, 0xa9, 0x19,
+ 0xba, 0x13, 0x29, 0x86, 0x50, 0x72, 0xe5, 0x2c, 0x89, 0x08,
+ 0x0e, 0x52, 0x5a, 0xcc, 0x19, 0x9a, 0x5f, 0x46, 0x06, 0x61,
+ 0x16, 0x6f, 0xd3, 0x3f, 0x2a, 0x68, 0x46, 0x0c, 0x64, 0xd5,
+ 0xb5, 0xed, 0x5d, 0xe8, 0x2c, 0x36, 0x4d, 0xcb, 0xbe, 0xed,
+ 0xb6, 0x54, 0x6b, 0x58, 0x0c, 0x92, 0x17, 0xe0, 0xcd, 0xda,
+ 0x2a, 0x57, 0x5b, 0xa4, 0x6d, 0xd2, 0x9c, 0x3c, 0x2d, 0x54,
+ 0x68, 0x47, 0xa2, 0x0d, 0x90, 0x32, 0xcd, 0xf0, 0x11, 0x53,
+ 0x82, 0x79, 0xef, 0xe3, 0x3b, 0x59, 0xba, 0x4f, 0xc2, 0x86,
+ 0x0e, 0xcc, 0x07, 0x2e, 0xae, 0x9c, 0xab, 0xd4, 0x98, 0xc5,
+ 0xe6, 0x0e, 0xcb, 0xac, 0xdc, 0x21, 0x18, 0xc4, 0x10, 0x7a,
+ 0xd1, 0xeb, 0x8c, 0xa8, 0x71, 0x42, 0x92, 0x20, 0x62, 0x9c,
+ 0x5f, 0x9d, 0xda, 0x85, 0x08, 0x3d, 0x89, 0x94, 0x46, 0x54,
+ 0xd9, 0x21, 0x49, 0x10, 0x31, 0x4e, 0xce, 0xaf, 0x6d, 0xa3,
+ 0xf9, 0x81, 0x04, 0xe7, 0xf6, 0x68, 0xf1, 0xd4, 0x8b, 0x31,
+ 0xe5, 0x0f, 0x44, 0x54, 0x74, 0x30, 0x11, 0x35, 0x69, 0x18,
+ 0xf4, 0x43, 0xc3, 0xef, 0x32, 0x22, 0xcd, 0xe5, 0x36, 0x51,
+ 0x9f, 0xa9, 0x28, 0xc9, 0xe8, 0x81, 0x9d, 0xc7, 0x3b, 0xa5,
+ 0xae, 0x50, 0xf5, 0xb5, 0x70, 0x56, 0x1a, 0x6a, 0xeb, 0x65,
+ 0x66, 0x29, 0x8a, 0xd5, 0x27, 0x0f, 0x9a, 0x15, 0x1a, 0x61,
+ 0xc9, 0x92, 0x24, 0xed, 0x87, 0x78, 0xe9, 0xc8, 0x41, 0xdd,
+ 0x96, 0x90, 0xfc, 0xcd, 0x5d, 0xc6, 0x61, 0x43, 0x07, 0x66,
+ 0xf1, 0xbc, 0x8d, 0x73, 0xb0, 0x3c, 0x28, 0xf5, 0xc2, 0x21,
+ 0xd4, 0x41, 0x8a, 0xfb, 0x19, 0x93, 0xc6, 0x1c, 0x93, 0x11,
+ 0x4c, 0xd3, 0x23, 0xf6, 0x51, 0x4f, 0xb9, 0x8a, 0xb7, 0xbe,
+ 0xac, 0x1b, 0xb5, 0x68, 0xea, 0x13, 0xe6, 0xf3, 0xa2, 0xcf,
+ 0x0a, 0xa9, 0x66, 0x53, 0x52, 0x7c, 0x20, 0x72, 0x6f, 0xcc,
+ 0x84, 0x37, 0x43, 0xf6, 0xa4, 0xab, 0x45, 0xde, 0x75, 0x2c,
+ 0x13, 0x46, 0xec, 0xff, 0xcc, 0xbf, 0xa9, 0xa0, 0xfa, 0x92,
+ 0x5d, 0x4e, 0x9b, 0x5b, 0x15, 0x36, 0xab, 0x4a, 0x4b, 0xe0,
+ 0x34, 0x71, 0x15, 0xb4, 0x74, 0x11, 0x1e, 0x37, 0xb0, 0x68,
+ 0x5f, 0x40, 0x86, 0xd2, 0x7a, 0xfc, 0x1c, 0xb8, 0xfd, 0x35,
+ 0xe9, 0xd6, 0x25, 0x92, 0x1e, 0x38, 0xaa, 0xf5, 0xf6, 0x84,
+ 0x60, 0x96, 0x4d, 0xa6, 0x56, 0x07, 0x68, 0x70, 0xe1, 0xb6,
+ 0x21, 0x9a, 0x2c, 0x25, 0x7f, 0xe4, 0x11, 0x6e, 0xf3, 0x22,
+ 0x3e, 0x56, 0x40, 0x29, 0x8f, 0x6c, 0x41, 0x25, 0x49, 0xb3,
+ 0x58, 0xa0, 0x93, 0xcb, 0x96, 0x4d, 0x80, 0xd0, 0xb5, 0x9e,
+ 0x55, 0x7f, 0xce, 0xef, 0x90, 0x23, 0x57, 0x12, 0x98, 0xcf,
+ 0x05, 0xb0, 0x1d, 0xb9, 0x5b, 0xc1, 0x3f, 0x5c, 0x65, 0x0a,
+ 0x56, 0x5e, 0x0e, 0x7a, 0x92, 0x9c, 0x61, 0x90, 0x1b, 0xcc,
+ 0xd6, 0x9d, 0x57, 0xe2, 0x4a, 0xc2, 0x20, 0xb7, 0x68, 0x04,
+ 0xdc, 0xb4, 0x59, 0x23, 0x22, 0xa6, 0xc7, 0xf2, 0x1d, 0x05,
+ 0x76, 0xb2, 0xb7, 0x9e, 0x47, 0xcf, 0x1c, 0x5b, 0x86, 0x37,
+ 0x51, 0x3b, 0x39, 0x36, 0x24, 0x3d, 0x5c, 0xcf, 0xf2, 0xbf,
+ 0x08, 0x8f, 0x42, 0x4a, 0x88, 0x6b, 0xce, 0xc0, 0xac, 0x5d,
+ 0xd7, 0x74, 0x53, 0xd3, 0xa7, 0x24, 0x73, 0xcd, 0x72, 0x01,
+ 0xb3, 0x09, 0xfc, 0x7c, 0x35, 0xcc, 0x88, 0xa7, 0x4c, 0xa5,
+ 0x02, 0x86, 0xe7, 0x91, 0x7d, 0x9a, 0x89, 0x24, 0x76, 0x33,
+ 0xd4, 0xb6, 0x65, 0xd9, 0xf3, 0xd1, 0x08, 0x5d, 0x1a, 0x01,
+ 0x37, 0x2d, 0xfc, 0x31, 0x19, 0x5e, 0xad, 0xa9, 0xce, 0x88,
+ 0xee, 0x3b, 0xb3, 0x51, 0x4a, 0x2e, 0xe6, 0xac, 0xab, 0x4e,
+ 0xa4, 0x03, 0xff, 0x30, 0x20, 0xc4, 0x97, 0x95, 0x51, 0x54,
+ 0x76, 0xa3, 0xca, 0xbc, 0x53, 0x80, 0x18, 0x17, 0x71, 0xb3,
+ 0x63, 0xbd, 0xbc, 0xa6, 0x1b, 0x22, 0x5b, 0x3b, 0xfb, 0xa0,
+ 0xb4, 0x27, 0x52, 0xe0, 0x9e, 0x18, 0x10, 0x62, 0xaa, 0xab,
+ 0xc9, 0x2a, 0x3b, 0xb0, 0x65, 0x5e, 0xe3, 0x58, 0xef, 0xbd,
+ 0xcc, 0x81, 0xfe, 0x2e, 0xd3, 0x05, 0x2b, 0x2f, 0x07, 0x3d,
+ 0x49, 0x4e, 0xce, 0x21, 0x1a, 0x85, 0x0a, 0x87, 0xfa, 0xd7,
+ 0x18, 0x5f, 0x88, 0xc4, 0x79, 0x11, 0xc1, 0xb8, 0x52, 0xcf,
+ 0xa0, 0xe4, 0x09, 0x58, 0xd1, 0x10, 0x1c, 0xa4, 0xb4, 0x5b,
+ 0x32, 0xf7, 0xbe, 0x8c, 0x8c, 0x94, 0x6b, 0x8a, 0x8f, 0x77,
+ 0x5a, 0x85, 0x96, 0xdb, 0x5e, 0x03, 0x14, 0x7b, 0xa5, 0xb1,
+ 0x3a, 0x2d, 0x8a, 0x4f, 0xe1, 0x7a, 0xed, 0x7e, 0xbf, 0x74,
+ 0x0a, 0xdb, 0xfd, 0x90, 0x4a, 0xb7, 0xca, 0xde, 0xbf, 0xcf,
+ 0x29, 0xad, 0x77, 0x26, 0xdd, 0x57, 0x71, 0xe3, 0x1e, 0xa7,
+ 0x16, 0x08, 0x54, 0xae, 0xb6, 0x8b, 0xda, 0x67, 0xfb, 0x78,
+ 0x5a, 0xa8, 0xd0, 0x8e, 0x87, 0x1a, 0xe3, 0x64, 0xa7, 0x8c,
+ 0x88, 0xdd, 0x9a, 0x4e, 0x74, 0x14, 0x1b, 0x8d, 0x99, 0x3d,
+ 0xdf, 0xba, 0x70, 0xaf, 0x99, 0x5e, 0xa7, 0xd8, 0x58, 0x1e,
+ 0x14, 0x9b, 0x61, 0xf1, 0x6a, 0xc1, 0x45, 0x9c, 0xed, 0xa8,
+ 0x0a, 0xa3, 0x3a, 0xb1, 0xb6, 0x41, 0x7e, 0xb8, 0xca, 0x14,
+ 0xac, 0xbc, 0x1c, 0xf4, 0xe7, 0xfb, 0x40, 0x2b, 0xc2, 0x2a,
+ 0x75, 0xe5, 0x07, 0xcb, 0x0d, 0x80, 0x4b, 0x35, 0xbf, 0x31,
+ 0xee, 0x51, 0x02, 0x9e, 0xb3, 0x25, 0xf0, 0x15, 0xa7, 0x99,
+ 0x83, 0x04, 0x9d, 0xf2, 0xd2, 0x5b, 0x8a, 0x58, 0x5b, 0xbd,
+ 0x91, 0x83, 0x37, 0xe7, 0xba, 0x9c, 0xf5, 0xb6, 0x2a, 0x6c,
+ 0x95, 0x94, 0x96, 0x03, 0xbc, 0x1a, 0xdb, 0x74, 0xd8, 0x4c,
+ 0xc9, 0x43, 0xe3, 0xbb, 0xf8, 0x64, 0xf5, 0x1f, 0x08, 0xfd,
+ 0x78, 0x98, 0xfb, 0x40, 0x64, 0x8a, 0x4d, 0x2c, 0x31, 0xf0,
+ 0xdc, 0x1c, 0x90, 0xfa, 0x2e, 0xbe, 0x79, 0xd7, 0x43, 0xb3,
+ 0x1c, 0x61, 0xff, 0x81, 0x91, 0xf2, 0x73, 0x65, 0xf9, 0x36,
+ 0x6b, 0x92, 0xf5, 0x43, 0x28, 0x39, 0x93, 0x16, 0xa5, 0x04,
+ 0x07, 0x29, 0x2d, 0x66, 0xed, 0x4d, 0xce, 0x23, 0xa9, 0xd0,
+ 0x17, 0x26, 0x0f, 0x25, 0x87, 0x5d, 0x14, 0x91, 0xcc, 0xa6,
+ 0xa4, 0xf8, 0x40, 0xe4, 0xec, 0x4b, 0xc8, 0xb5, 0x21, 0x01,
+ 0xbf, 0xca, 0x7c, 0x1b, 0xd1, 0xcd, 0x15, 0xb3, 0x3c, 0x29,
+ 0x7d, 0x28, 0xe6, 0xf9, 0x3f, 0x4b, 0x72, 0x70, 0x54, 0xfa,
+ 0x8a, 0x42, 0x9e, 0x80, 0xbc, 0x22, 0x45, 0x9b, 0xdf, 0x93,
+ 0x2e, 0x24, 0x38, 0x97, 0x68, 0x8a, 0x1d, 0x6b, 0xb1, 0x4b,
+ 0x7c, 0xcd, 0x3c, 0x4c, 0x9c, 0x20, 0x32, 0x45, 0xc7, 0x16,
+ 0xf9, 0x78, 0x6e, 0x0e, 0x48, 0x7d, 0x17, 0x5f, 0x65, 0x6f,
+ 0xbe, 0x86, 0xf5, 0xb7, 0xda, 0x13, 0x8f, 0xca, 0xd9, 0x90,
+ 0x0f, 0xb2, 0x0b, 0x04, 0x01, 0x4f, 0xb8, 0xf3, 0x78, 0xeb,
+ 0xb2, 0xad, 0xa0, 0x02, 0xaf, 0x79, 0x69, 0xcc, 0x45, 0x2c,
+ 0x24, 0x0b, 0xc4, 0x5f, 0xf8, 0xb9, 0x6f, 0x75, 0x22, 0x48,
+ 0x3d, 0xdc, 0xd9, 0x4f, 0xa0, 0x79, 0x5f, 0x42, 0x34, 0xc9,
+ 0x14, 0xcd, 0x37, 0x6d, 0x30, 0xbe, 0xd3, 0x4b, 0xf2, 0x22,
+ 0x41, 0xb3, 0x7f, 0xb6, 0x55, 0xdc, 0xcf, 0x5e, 0xd5, 0xe9,
+ 0xd7, 0xfe, 0x17, 0xb0, 0x4c, 0xdb, 0x36, 0x7a, 0x20, 0xf4,
+ 0x61, 0x15, 0xdb, 0x93, 0xe2, 0x84, 0xe7, 0x40, 0xc4, 0xfb,
+ 0xbe, 0xf9, 0x77, 0xc9, 0xae, 0xfe, 0xb9, 0xba, 0xa4, 0xf1,
+ 0x1f, 0x98, 0xf2, 0x9f, 0x07, 0x0a, 0x78, 0xd9, 0x58, 0x20,
+ 0x5e, 0x0d, 0x8c, 0x3a, 0x6c, 0x26, 0x85, 0xc0, 0x90, 0xbc,
+ 0x7c, 0x32, 0x9b, 0xee, 0x04, 0x9f, 0xaf, 0xb1, 0x01, 0x49,
+ 0xdc, 0x1a, 0xad, 0x35, 0x52, 0x9d, 0xa8, 0x73, 0x11, 0x15,
+ 0x1d, 0x0c, 0xd0, 0x07, 0x54, 0x95, 0x13, 0x44, 0x78, 0xdc,
+ 0x85, 0x63, 0xbf, 0xc3, 0x5d, 0xce, 0x2b, 0x76, 0xb2, 0x46,
+ 0x44, 0x8f, 0x4d, 0x27, 0x3a, 0x0a, 0xec, 0xa7, 0xad, 0xff,
+ 0x8e, 0x5d, 0x38, 0xb6, 0x8f, 0x45, 0x60, 0x5c, 0x07, 0x89,
+ 0x4f, 0xb1, 0xb5, 0xdd, 0x6c, 0x88, 0xaf, 0xec, 0x6a, 0xc5,
+ 0x27, 0xda, 0xcf, 0x89, 0x70, 0x47, 0x7a, 0x41, 0x01, 0x4e,
+ 0x0f, 0x57, 0x62, 0xd8, 0x6f, 0x0d, 0x8d, 0xdb, 0xd3, 0x79,
+ 0xf7, 0x9c, 0xe8, 0x28, 0x36, 0xd9, 0xf1, 0x7a, 0x7d, 0xb7,
+ 0xe0, 0x9d, 0x4c, 0xe9, 0xee, 0xf4, 0x10, 0x9b, 0x53, 0x1b,
+ 0x81, 0x98, 0x83, 0x5c, 0x16, 0x28, 0x54, 0x42, 0xd4, 0xf8,
+ 0xf1, 0xdf, 0x30, 0x6e, 0xf5, 0x2d, 0x40, 0x6b, 0x46, 0xe4,
+ 0x3a, 0x78, 0xfc, 0xc6, 0xfa, 0x50, 0x0f, 0x31, 0x7e, 0x96,
+ 0xe4, 0xe0, 0xa8, 0x37, 0xd7, 0x84, 0xff, 0xc3, 0xbb, 0x44,
+ 0xf2, 0x6d, 0x86, 0xa5, 0x38, 0xc2, 0x3d, 0xc1, 0xe1, 0x27,
+ 0xe6, 0xca, 0x31, 0x6c, 0xd6, 0xe7,
+ },
+ {
+ /* 1 */
+ 0x2f, 0x36, 0x58, 0xea, 0xa2, 0x0c, 0x25, 0xcf, 0x7c, 0xd9,
+ 0x9e, 0x49, 0x92, 0xd3, 0x50, 0x36, 0x48, 0x33, 0xd6, 0x3a,
+ 0x7e, 0x8c, 0x82, 0xb8, 0xf4, 0x6c, 0x87, 0xe4, 0x0b, 0xa6,
+ 0x9f, 0x33, 0x5c, 0x9c, 0xe9, 0x76, 0x65, 0xa2, 0xaf, 0xd9,
+ 0x01, 0x72, 0x0a, 0x54, 0xa8, 0x81, 0x94, 0x9c, 0x0c, 0x65,
+ 0x15, 0x85, 0x09, 0x1a, 0x1b, 0x9e, 0x53, 0x0a, 0x7b, 0xd1,
+ 0x61, 0x1d, 0xb8, 0x65, 0x3b, 0x99, 0x67, 0xa6, 0xb9, 0x22,
+ 0x08, 0xae, 0x89, 0xc7, 0x13, 0xf9, 0x31, 0xf4, 0x5b, 0x99,
+ 0x62, 0x5e, 0xf1, 0xc3, 0xaa, 0x6a, 0x3d, 0xfe, 0x24, 0x53,
+ 0xab, 0x81, 0xc1, 0x0c, 0xbd, 0x5e, 0xe7, 0xef, 0x6c, 0x2a,
+ 0x3c, 0xc2, 0x44, 0x6e, 0x67, 0x75, 0x70, 0x59, 0xb2, 0xd6,
+ 0x51, 0xef, 0x42, 0x85, 0x28, 0x1c, 0x92, 0x9b, 0x75, 0x69,
+ 0x6f, 0x63, 0x20, 0xbc, 0xbb, 0x54, 0x7b, 0x85, 0x61, 0xd6,
+ 0x65, 0x73, 0x39, 0x8d, 0x4b, 0x38, 0x40, 0xb0, 0xc5, 0x24,
+ 0x48, 0x9a, 0x93, 0xd6, 0x1a, 0x3a, 0x73, 0xa8, 0xf0, 0x8e,
+ 0xd3, 0x7b, 0x5f, 0x17, 0x03, 0xa7, 0x8d, 0xde, 0x87, 0x3a,
+ 0xf9, 0xf6, 0xad, 0x40, 0xcb, 0xfb, 0x9e, 0xde, 0x09, 0x64,
+ 0x5a, 0xb1, 0xa1, 0x03, 0xbe, 0xf6, 0x12, 0x7c, 0xd4, 0xef,
+ 0xfe, 0x23, 0xc1, 0x2e, 0x3d, 0x1b, 0x51, 0x39, 0x72, 0xc8,
+ 0x57, 0x7c, 0x80, 0xea, 0xe2, 0xfa, 0xe0, 0x42, 0xe3, 0x19,
+ 0xef, 0xc0, 0x69, 0xf4, 0x2b, 0xa3, 0x9e, 0xea, 0x82, 0x1a,
+ 0xbb, 0x9b, 0x02, 0xf8, 0x06, 0x9d, 0x16, 0xc3, 0x9c, 0x32,
+ 0x64, 0x47, 0xaa, 0x1a, 0x25, 0x80, 0xa6, 0xcc, 0x4e, 0x1b,
+ 0xd2, 0x1e, 0xe7, 0xd6, 0x39, 0x11, 0x22, 0x21, 0xb4, 0x80,
+ 0xe2, 0xb4, 0x13, 0x39, 0x4a, 0x28, 0xde, 0xe7, 0xcb, 0x93,
+ 0xc2, 0x75, 0xea, 0xaf, 0x23, 0xb4, 0x06, 0xd3, 0xeb, 0xa3,
+ 0xe5, 0x0d, 0xec, 0x4f, 0xc8, 0x05, 0xdc, 0x89, 0xd1, 0xef,
+ 0x5c, 0xd3, 0x24, 0xf8, 0x6b, 0x1d, 0x3f, 0x46, 0x41, 0x5c,
+ 0x7a, 0x36, 0xa2, 0x72, 0xe4, 0x53, 0xae, 0xf8, 0x40, 0x75,
+ 0x71, 0x7d, 0x70, 0x21, 0x90, 0xed, 0x96, 0x60, 0xd5, 0x7a,
+ 0xf4, 0xb0, 0x4f, 0x75, 0x8a, 0x5c, 0x1c, 0xdc, 0x0c, 0x55,
+ 0x14, 0xc8, 0x74, 0xcf, 0xce, 0xac, 0x9b, 0x51, 0x7a, 0x5c,
+ 0xd5, 0x48, 0x61, 0x1a, 0xfa, 0x10, 0xcd, 0xd7, 0x11, 0x5e,
+ 0xaa, 0x5d, 0xba, 0x46, 0xc0, 0x48, 0x77, 0x89, 0x03, 0x5e,
+ 0xc0, 0x19, 0x83, 0xdd, 0x4c, 0xad, 0xbd, 0x52, 0xa4, 0x59,
+ 0xac, 0x89, 0x6c, 0xcb, 0xbd, 0x27, 0x41, 0xca, 0xc3, 0xe4,
+ 0x8e, 0x5a, 0x25, 0x96, 0xef, 0xf5, 0x31, 0xcb, 0xec, 0x21,
+ 0x5f, 0xdd, 0xa1, 0x88, 0x20, 0xfd, 0x61, 0x9a, 0x4c, 0x62,
+ 0xc4, 0x56, 0xaf, 0x21, 0xda, 0xa5, 0xe0, 0x2f, 0x60, 0xed,
+ 0xa0, 0x8f, 0x26, 0xb7, 0xbf, 0x29, 0x52, 0xcd, 0x56, 0xa5,
+ 0xa9, 0x0f, 0x51, 0xb3, 0xa7, 0x43, 0x2a, 0x99, 0x5b, 0x1c,
+ 0x2b, 0x34, 0x68, 0x9f, 0x92, 0x0f, 0xd8, 0x55, 0xb9, 0x4e,
+ 0x82, 0x57, 0x45, 0x0b, 0xdf, 0xb4, 0x4a, 0xef, 0x1d, 0x29,
+ 0x62, 0x55, 0x74, 0x01, 0x97, 0xee, 0x53, 0xfe, 0xf5, 0x1b,
+ 0x28, 0x4e, 0xd3, 0xf7, 0x2d, 0xcf, 0x82, 0x01, 0xb1, 0xc5,
+ 0x7b, 0x7a, 0xb5, 0x77, 0x1c, 0x66, 0xfd, 0x08, 0xdd, 0x55,
+ 0xaa, 0xa5, 0x21, 0xc5, 0xc8, 0xd9, 0x34, 0xc0, 0x9e, 0xce,
+ 0x61, 0xa1, 0x1b, 0xac, 0xee, 0x10, 0x20, 0x05, 0x01, 0xd9,
+ 0x85, 0xb1, 0x9d, 0xe9, 0x96, 0xa8, 0x79, 0x90, 0x43, 0x26,
+ 0xdb, 0xd8, 0x73, 0xda, 0xec, 0xb1, 0xa7, 0x9a, 0x1d, 0x57,
+ 0x4c, 0xe3, 0xd4, 0x83, 0xf1, 0x15, 0xa5, 0x23, 0x46, 0x66,
+ 0x1e, 0x9a, 0x92, 0x96, 0x36, 0x15, 0x1e, 0x61, 0x22, 0x37,
+ 0xd2, 0xdb, 0x38, 0xcd, 0x59, 0x6b, 0xc9, 0x96, 0xde, 0x86,
+ 0x52, 0xed, 0x67, 0x5a, 0xa9, 0x44, 0x17, 0xb1, 0x96, 0x66,
+ 0xcc, 0xc6, 0x3e, 0x86, 0x43, 0xfd, 0xe5, 0xcd, 0xe3, 0xc6,
+ 0xe6, 0x2b, 0xf2, 0x83, 0xbb, 0xdf, 0x7d, 0x26, 0x61, 0xfd,
+ 0x38, 0x11, 0xf3, 0x16, 0x2a, 0xc5, 0x7e, 0x68, 0xed, 0x24,
+ 0x7d, 0x5c, 0xb8, 0x62, 0x75, 0x11, 0x27, 0x70, 0xff, 0xad,
+ 0xac, 0xa1, 0x37, 0x9a, 0x1e, 0xd5, 0xcc, 0xd7, 0x6d, 0xc5,
+ 0x80, 0x70, 0xee, 0xd1, 0x06, 0xbc, 0x43, 0x32, 0xc5, 0x79,
+ 0x98, 0x99, 0xb9, 0xa4, 0x8b, 0xb2, 0x9b, 0xd1, 0xd0, 0x13,
+ 0x1e, 0x09, 0x8c, 0xfa, 0x57, 0x5e, 0xbd, 0xb8, 0x18, 0x71,
+ 0xe2, 0x3f, 0xb2, 0x13, 0x73, 0xaa, 0xb1, 0x9c, 0xc7, 0xae,
+ 0x8a, 0x16, 0x7d, 0xab, 0x94, 0x1d, 0x3a, 0x52, 0xc4, 0xaa,
+ 0xb2, 0x4d, 0xef, 0xca, 0x26, 0x90, 0x6a, 0xa0, 0x99, 0xeb,
+ 0xb3, 0xf0, 0x23, 0x33, 0x0f, 0x4d, 0xfb, 0x06, 0xf4, 0x21,
+ 0x29, 0x41, 0x7b, 0x5a, 0xf0, 0x67, 0xaf, 0x77, 0xee, 0xe7,
+ 0x8a, 0x06, 0x10, 0x8c, 0x8d, 0x8e, 0x1c, 0x99, 0x24, 0xaa,
+ 0xc4, 0x18, 0xa4, 0xff, 0x3d, 0x2c, 0x63, 0x8c, 0xe6, 0x97,
+ 0xa1, 0xfb, 0x4d, 0x9f, 0xd7, 0x2c, 0xfa, 0x95, 0xeb, 0x3a,
+ 0x74, 0xa4, 0x4b, 0x97, 0x0b, 0xce, 0x33, 0xf7, 0x9d, 0x4a,
+ 0x64, 0x93, 0x06, 0xef, 0x3c, 0x3b, 0x76, 0x80, 0xfe, 0xce,
+ 0x98, 0x20, 0xc8, 0x33, 0xf2, 0x76, 0xd5, 0xe6, 0x49, 0xd4,
+ 0x9f, 0x95, 0xe9, 0x99, 0x2d, 0x20, 0xb6, 0x6e, 0x5d, 0x08,
+ 0x21, 0x27, 0x63, 0x6b, 0xa8, 0xed, 0x9a, 0xbf, 0xbd, 0x38,
+ 0x67, 0x6e, 0x11, 0xf4, 0x40, 0x5f, 0x6d, 0xc4, 0xb7, 0xe8,
+ 0x59, 0xf8, 0x3f, 0x9c, 0xfb, 0x5e, 0x79, 0xf4, 0xbd, 0xa0,
+ 0x6e, 0xff, 0xbc, 0x6d, 0x07, 0xf8, 0xae, 0x02, 0xa6, 0x84,
+ 0xcb, 0xb8, 0x99, 0xa0, 0x0f, 0xed, 0x81, 0x35, 0x9a, 0xfd,
+ 0x6d, 0x58, 0x37, 0xe9, 0x15, 0x74, 0xe8, 0x8b, 0x96, 0xed,
+ 0xf3, 0x40, 0x53, 0x66, 0x27, 0xec, 0x69, 0x0f, 0x92, 0x6b,
+ 0xfd, 0xe9, 0x11, 0xf1, 0x5a, 0x40, 0x5d, 0xe4, 0x24, 0xa7,
+ 0x14, 0xff, 0x3c, 0x9b, 0x9c, 0x92, 0x91, 0x37, 0x6e, 0xf3,
+ 0x8e, 0xe4, 0xbf, 0x50, 0x37, 0x9e, 0x5e, 0xd7, 0xe2, 0x7c,
+ 0x57, 0x01, 0x53, 0x42, 0x84, 0x5c, 0xad, 0x50, 0x47, 0xde,
+ 0x57, 0x0f, 0xe4, 0x71, 0xef, 0xe0, 0xc3, 0x85, 0x92, 0x90,
+ 0xe3, 0x2d, 0x09, 0xde, 0x2e, 0x4e, 0x95, 0x3b, 0xd3, 0x51,
+ 0xb6, 0x8d, 0xe1, 0x39, 0x05, 0x2a, 0x54, 0xa1, 0x4a, 0x4e,
+ 0xc1, 0xe7, 0x5e, 0x56, 0xe1, 0x3e, 0xe0, 0xb6, 0xe4, 0x40,
+ 0x27, 0xed, 0x19, 0x61, 0xcb, 0xe7, 0xd6, 0xc0, 0xf5, 0xaa,
+ 0x69, 0xf7, 0xbb, 0x11, 0x75, 0xbd, 0xc4, 0xf8, 0x33, 0xd0,
+ 0xee, 0xc0, 0x21, 0xa3, 0x14, 0x0e, 0x49, 0xac, 0xdb, 0xd5,
+ 0xd6, 0xd0, 0x10, 0x5e, 0xbc, 0x2a, 0xdc, 0xa3, 0x23, 0x53,
+ 0x4d, 0x6f, 0xab, 0x16, 0x3e, 0x51, 0x2f, 0xd3, 0xe5, 0x98,
+ 0xf3, 0xce, 0xe8, 0x53, 0xf4, 0xeb, 0x75, 0x14, 0xb3, 0xbc,
+ 0x16, 0x02, 0xc7, 0x8e, 0xba, 0x03, 0x06, 0x6c, 0x1c, 0xeb,
+ 0x6e, 0x3b, 0xe4, 0x46, 0xa3, 0x70, 0x26, 0x60, 0x77, 0x59,
+ 0xd0, 0x50, 0xa0, 0x11, 0x05, 0x3b, 0x8e, 0x7f, 0xae, 0x1e,
+ 0x0b, 0xe2, 0x1d, 0x03, 0x45, 0xc9, 0xe7, 0xe3, 0x05, 0x5a,
+ 0x12, 0x7f, 0xc0, 0x9f, 0x93, 0x87, 0x90, 0x63, 0x73, 0xf4,
+ 0x79, 0xa0, 0xbc, 0x8e, 0xdf, 0x13, 0xd1, 0x9f, 0x90, 0x66,
+ 0x6f, 0x74, 0xfc, 0xdb, 0xc7, 0xb3, 0x2b, 0xd8, 0xcd, 0x0b,
+ 0x16, 0x8f, 0xfd, 0x66, 0xf5, 0x93, 0xb8, 0xc5, 0xc2, 0xe1,
+ 0x85, 0x40, 0x5a, 0x6e, 0x21, 0x60, 0xc0, 0x1e, 0x06, 0x93,
+ 0x5a, 0x4f, 0x02, 0xd5, 0x80, 0xaf, 0x43, 0x96, 0xc9, 0x77,
+ 0xd6, 0xdd, 0x79, 0x6e, 0xc8, 0x4f, 0x84, 0xc9, 0x50, 0x38,
+ 0xe7, 0xf5, 0xea, 0xd2, 0xde, 0xc6, 0x40, 0xbb, 0xb5, 0xa8,
+ 0xf6, 0xc9, 0x19, 0xb2, 0xe7, 0x18, 0x63, 0x69, 0xa5, 0xbd,
+ 0x3b, 0xf4, 0x6d, 0x02, 0x04, 0x48, 0xa9, 0xb2, 0x6d, 0xb3,
+ 0x70, 0xf6, 0x30, 0x97, 0x50, 0xa6, 0x13, 0xba, 0xbe, 0xf5,
+ 0x29, 0x87, 0x2b, 0xb3, 0x75, 0x79, 0x5a, 0x3f, 0x22, 0xa3,
+ 0x66, 0x59, 0xb5, 0xae, 0x48, 0x94, 0xeb, 0xbd, 0x98, 0x79,
+ 0x5f, 0x14, 0x7d, 0xc6, 0xf6, 0x45, 0xd9, 0x1f, 0x65, 0x91,
+ 0x64, 0xf1, 0x21, 0x17, 0xba, 0x14, 0xe0, 0x44, 0x4a, 0x58,
+ 0xa8, 0x92, 0x3b, 0x63, 0x32, 0x90, 0x37, 0xb3, 0xa5, 0x4b,
+ 0x17, 0x44, 0xb3, 0x35, 0x22, 0x1b, 0x57, 0xcd, 0xf9, 0xe2,
+ 0x04, 0x0b, 0x28, 0x93, 0xe5, 0x41, 0x15, 0x35, 0x52, 0x09,
+ 0xa5, 0x92, 0x8e, 0x02, 0x51, 0xc3, 0xab, 0x7b, 0x84, 0x43,
+ 0x86, 0x78, 0x18, 0x09, 0xb4, 0x9e, 0x04, 0x69, 0xc3, 0x9d,
+ 0x86, 0xef, 0x51, 0xee, 0x6f, 0x79, 0xf2, 0xdc, 0x53, 0x9e,
+ 0x32, 0xa7, 0x0d, 0x30, 0xc6, 0xd2, 0x89, 0xb9, 0x76, 0x2b,
+ 0xda, 0x04, 0x08, 0x90, 0x91, 0xa7, 0xb7, 0x16, 0x90, 0xd9,
+ 0x50, 0x7a, 0xf0, 0x29, 0x35, 0x0d, 0x01, 0xdc, 0x7b, 0x4a,
+ 0x7d, 0x16, 0xc6, 0x4c, 0x78, 0x24, 0x75, 0x6e, 0x9f, 0xbb,
+ 0xb1, 0xa5, 0x60, 0x07, 0x0e, 0xfc, 0x8d, 0x4c, 0xa3, 0xb9,
+ 0xaf, 0x95, 0x4b, 0x54, 0xdd, 0x48, 0xc0, 0x13, 0x8c, 0x6c,
+ 0xd8, 0x6d, 0x76, 0xb9, 0x50, 0xf9, 0xfc, 0xf3, 0x6c, 0xb8,
+ 0xb4, 0x47, 0x52, 0x78, 0x71, 0x85, 0xc9, 0x9c, 0x2c, 0xf9,
+ 0xe8, 0x02, 0xed, 0x1f, 0xa6, 0x3f, 0x29, 0x36, 0x50, 0x9c,
+ 0x65, 0x2d, 0x5a, 0x5d, 0xc7, 0x02, 0x6a, 0x18, 0x56, 0x84,
+ 0xa4, 0xc7, 0x2f, 0xab, 0x46, 0x5f, 0xf9, 0x1f, 0x3e, 0x1a,
+ 0x6d, 0x18, 0x9c, 0x03, 0x7a, 0xf1, 0xf5, 0xc1, 0xdc, 0x2d,
+ 0x78, 0xd2, 0xb6, 0xda, 0x77, 0x92, 0x45, 0x03, 0x57, 0x52,
+ 0xda, 0x81, 0xf8, 0xe8, 0xcb, 0x4a, 0x07, 0x9d, 0x36, 0x6f,
+ 0xde, 0x01, 0x6a, 0x52, 0x4a, 0xc3, 0x8f, 0x5b, 0x9c, 0x36,
+ 0x67, 0x3c, 0x0d, 0x6f, 0x72, 0x22, 0x44, 0x42, 0xab, 0xc3,
+ 0x6f, 0x43, 0x29, 0x97, 0xd2, 0x2d, 0xb5, 0x22, 0xea, 0xb9,
+ 0x4b, 0x33, 0x66, 0x63, 0x1f, 0x43, 0xbc, 0xd8, 0xa3, 0x2e,
+ 0xcd, 0x30, 0x94, 0xba, 0x33, 0xe2, 0x3d, 0xe7, 0x0d, 0xca,
+ 0x83, 0xd8, 0x67, 0x05, 0x8e, 0xd0, 0xdc, 0x80, 0xa7, 0x77,
+ 0x88, 0xb5, 0x19, 0xad, 0x99, 0x75, 0xcf, 0x05, 0x51, 0x81,
+ 0x31, 0x22, 0x1d, 0xe5, 0x27, 0x05, 0xcf, 0x98, 0xea, 0xe6,
+ 0x0f, 0xee, 0x36, 0x81, 0x99, 0x58, 0x05, 0xe2, 0x83, 0x2b,
+ 0x46, 0xa4, 0xd4, 0x34, 0x04, 0xf6, 0x2f, 0xeb, 0x37, 0x58,
+ 0xff, 0x25, 0x46, 0xe3, 0x2e, 0xf6, 0x72, 0x91, 0xc1, 0x61,
+ 0x86, 0x38, 0x70, 0xec, 0xe2, 0x25, 0x5b, 0x37, 0xcf, 0x04,
+ 0xf1, 0xf2, 0xd0, 0xd4, 0x54, 0x97, 0x4d, 0xbe, 0xbf, 0x1c,
+ 0xd2, 0x37, 0xd1, 0x6b, 0xd3, 0xd8, 0xfd, 0xa7, 0xc4, 0x1c,
+ 0x20, 0x58, 0x83, 0x12, 0x24, 0x4d, 0xa8, 0x6b, 0x1b, 0x42,
+ 0xbe, 0x79, 0x81, 0xd3, 0x40, 0x39, 0xc2, 0xf7, 0x98, 0xc4,
+ 0x4b, 0xac, 0x9d, 0x42, 0x76, 0xf1, 0xce, 0x8f, 0xb1, 0x44,
+ 0x10, 0x9f, 0xd1, 0x4d, 0x26, 0x31, 0x62, 0x2b, 0xb6, 0xf1,
+ 0x64, 0x8d, 0x1a, 0x60, 0x4f, 0x67, 0xd1, 0xb1, 0xec, 0x56,
+ 0x77, 0x08, 0x10, 0xe3, 0xe1, 0x8d, 0x29, 0xe5, 0xb3, 0x49,
+ 0x47, 0x01, 0xc9, 0x80, 0xb4, 0xdc, 0x42, 0xc0, 0x43, 0x3c,
+ 0x0c, 0xe5, 0x59, 0xc7, 0x96, 0x65, 0x13, 0x48, 0x35, 0x50,
+ 0xad, 0x94, 0xb8, 0x78, 0xf0, 0xf8, 0xe6, 0xc7, 0x68, 0xe8,
+ 0x0f, 0xe5, 0x46, 0x7d, 0xca, 0x2f, 0xbf, 0x5c, 0x0c, 0xd9,
+ 0x71, 0xfe, 0x59, 0xe8, 0x39, 0x69, 0x3e, 0xc7, 0x5b, 0x98,
+ 0xed, 0x2a, 0x70, 0xc4, 0xe6, 0x3f, 0x7e, 0x10, 0x6f, 0x69,
+ 0x94, 0x45, 0xdd, 0xb6, 0xfb, 0x6c, 0xce, 0x78, 0x1a, 0xde,
+ 0xe4, 0x44, 0x88, 0x84, 0x95, 0x45, 0x4b, 0xbb, 0x42, 0x8a,
+ 0xed, 0x6b, 0xf4, 0x7e, 0x90, 0x8f, 0xe9, 0x41, 0x82, 0x30,
+ 0xb1, 0xbb, 0x07, 0xab, 0x26, 0x72, 0x94, 0x50, 0x7f, 0x0d,
+ 0x55, 0xe5, 0x47, 0xea, 0x17, 0x9d, 0x46, 0xab, 0x71, 0x5a,
+ 0xe8, 0xfd, 0x25, 0x14, 0x6f, 0x92, 0x84, 0xa8, 0x61, 0xdb,
+ 0x75, 0xb6, 0xf0, 0x5a, 0x2b, 0x15, 0xea, 0x28, 0xa5, 0xbb,
+ 0x2c, 0x04, 0x4d, 0xdf, 0xb7, 0x06, 0x0c, 0xd8, 0x38, 0x15,
+ 0x26, 0x08, 0x32, 0x7c, 0xdd, 0xfc, 0xa4, 0xd8, 0x83, 0x35,
+ 0x57, 0xb4, 0xab, 0xb7, 0x9a, 0x08, 0x20, 0xdb, 0xd9, 0xdf,
+ 0x38, 0xf1, 0x48, 0x97, 0x4b, 0x30, 0x8b, 0x3d, 0x7a, 0x58,
+ 0xc6, 0xdb, 0xfa, 0x7e, 0x39, 0xf0, 0x58, 0x1c, 0xe8, 0x18,
+ 0x6d, 0x87, 0x34, 0x14, 0x28, 0x95, 0x90, 0x7e, 0x49, 0x4b,
+ 0x1b, 0xeb, 0x0f, 0xd1, 0x11, 0xfa, 0x69, 0x8c, 0x1c, 0x87,
+ 0xcd, 0xd4, 0x85, 0x4b, 0x22, 0x2b, 0x80, 0xbe, 0xda, 0x4b,
+ 0xad, 0x13, 0xb2, 0x33, 0x7e, 0xfb, 0x35, 0xbc, 0xf2, 0x2b,
+ 0xa6, 0xe2, 0xd0, 0x86, 0x3d, 0xbe, 0x47, 0xc1, 0x6c, 0xf5,
+ 0x3e, 0x40, 0x80, 0x14, 0x04, 0xe2, 0xcd, 0x82, 0x4b, 0xd3,
+ 0xe8, 0x24, 0xfb, 0x28, 0xb7, 0x4a, 0x5c, 0x3c, 0x78, 0x7c,
+ 0x73, 0x82, 0x8c, 0x8f, 0xf7, 0x7f, 0xe9, 0x58, 0xf8, 0x87,
+ 0xbc, 0xca, 0x12, 0x25, 0x4a, 0xbe, 0x26, 0x8f, 0xd7, 0xb8,
+ 0x38, 0x7b, 0x18, 0xaa, 0x28, 0x53, 0xe8, 0x5d, 0x5f, 0x9b,
+ 0xf5, 0xa2, 0xf4, 0xb8, 0x46, 0xa6, 0x9a, 0xde, 0x95, 0x2c,
+ 0x7c, 0xa2, 0x5e, 0x65, 0x09, 0xf3, 0x25, 0x5f, 0x13, 0xa6,
+ 0x88, 0xac, 0x45, 0xbd, 0xee, 0xef, 0xf1, 0x4c, 0x8d, 0xcc,
+ 0x3b, 0x6a, 0xd4, 0xb5, 0x4e, 0xac, 0x44, 0x56, 0xc3, 0xbf,
+ 0x77, 0x96, 0x99, 0x26, 0xa7, 0x66, 0xfc, 0x35, 0x6a, 0xbb,
+ 0x27, 0x56, 0xc2, 0x6f, 0xca, 0xe6, 0x72, 0xd9, 0x96, 0x70,
+ 0x80, 0xa3, 0x49, 0x48, 0x90, 0xf7, 0xe5, 0x6f, 0x93, 0xee,
+ 0xfb, 0xc4, 0x6f, 0x3c, 0xb1, 0x75, 0x4f, 0x3b, 0xa3, 0xae,
+ 0x9f, 0x19, 0xd3, 0xee, 0xf6, 0x1b, 0x2c, 0x75, 0x51, 0x06,
+ 0xf3, 0x86, 0x3e, 0x8d, 0x4f, 0xc5, 0x49, 0x88, 0x28, 0x1b,
+ 0x09, 0x3e, 0x6a, 0x96, 0x7f, 0xf0, 0x81, 0x17, 0xff, 0xec,
+ 0xc9, 0xfd, 0x39, 0x64, 0xca, 0x3e, 0xa4, 0x12, 0x89, 0xe7,
+ 0xdf, 0x04, 0xa2, 0x45, 0x95, 0xf6, 0xcb, 0x86, 0xcf, 0xf0,
+ 0x30, 0x12, 0xe9, 0x7a, 0x20, 0xce, 0xd7, 0x62, 0xba, 0x74,
+ 0xcd, 0x7c, 0xfe, 0x4e, 0x9c, 0x2f, 0xdd, 0x7a, 0x2a, 0x6d,
+ 0x27, 0xf9, 0xd4, 0xe6, 0xbf, 0x46, 0xd0, 0x3f, 0x2c, 0x65,
+ 0xca, 0xaa, 0x22, 0x6d, 0x54, 0xda, 0x4e, 0x31, 0x6b, 0x0f,
+ 0xbd, 0x8c, 0x63, 0x7e, 0x58, 0xca, 0x57, 0x97, 0x44, 0xda,
+ 0xa2, 0xc1, 0x62, 0x44, 0x3a, 0x09, 0x4e, 0x0a, 0x5d, 0xf3,
+ 0x17, 0x0f, 0x1e, 0x1f, 0x6c, 0xc1, 0xf7, 0x63, 0xe1, 0xa4,
+ 0x20, 0x5b, 0x60, 0xc4, 0xa3, 0x6d, 0xd4, 0xa6, 0x8f, 0xfa,
+ 0x32, 0x63, 0xcf, 0x72, 0x12, 0xb2, 0x0a, 0x9e, 0x1e, 0xac,
+ 0x4e, 0x49, 0xa9, 0xfa, 0x37, 0x98, 0x47, 0x72, 0xaf, 0xdc,
+ 0xba, 0x10, 0x42, 0x4e, 0xc6, 0xd6, 0x93, 0x19, 0xf7, 0xbd,
+ 0xb9, 0x70, 0xce, 0xdc, 0xfd, 0xd5, 0x1f, 0x82, 0xcc, 0x4c,
+ 0x97, 0x15, 0x38, 0x62, 0x73, 0xfe, 0x3f, 0x08, 0xd6, 0xd5,
+ 0xce, 0x0a, 0xdf, 0x63, 0x7b, 0xc3, 0x8d, 0xee, 0xd3, 0xa9,
+ 0x32, 0x99, 0xf1, 0xea, 0x5d, 0x0a, 0x13, 0x04, 0x19, 0x3e,
+ 0x8f, 0x7e, 0x52, 0x6c, 0xa0, 0xfb, 0xca, 0x5a, 0xb4, 0xba,
+ 0x4d, 0x04, 0xe3, 0xcc, 0xde, 0xe8, 0x3b, 0x75, 0x4d, 0xa5,
+ 0x56, 0x73, 0x59, 0x16, 0x2c, 0xdd, 0x39, 0xcc, 0x8b, 0x24,
+ 0xd1, 0x0d, 0x7d, 0x08, 0x87, 0x8a, 0xe9, 0x2f, 0x55, 0xcf,
+ 0x5d, 0x23, 0x60, 0x24, 0x7e, 0xb7, 0x69, 0xc8, 0xbf, 0xe9,
+ 0x02, 0xca, 0xb3, 0x41, 0x74, 0xaf, 0x9d, 0x3d, 0x66, 0xb7,
+ 0xed, 0x59, 0x92, 0x0c, 0xd0, 0xd5, 0xb3, 0xbf, 0xfc, 0x7a,
+ 0xd7, 0x01, 0x02, 0x24, 0xb5, 0x59, 0xe5, 0x1f, 0x35, 0x4b,
+ 0xde, 0x78, 0xa1, 0xea, 0x9e, 0x76, 0x85, 0x9f, 0xfd, 0x32,
+ 0x65, 0x1f, 0xb8, 0xfb, 0x11, 0xec, 0xca, 0x87, 0x9d, 0x71,
+ 0x02, 0xe4, 0x14, 0xa8, 0x93, 0xc1, 0xeb, 0xfb, 0x7d, 0x3f,
+ 0xfd, 0x78, 0x2c, 0x0e, 0x74, 0x0c, 0xd7, 0xa2, 0x1a, 0x0a,
+ 0x14, 0xab, 0x48, 0x3f, 0x96, 0xb5, 0x84, 0xd7, 0x19, 0xd6,
+ 0x2b, 0xfc, 0xe3, 0xdd, 0x11, 0x82, 0xc7, 0x60, 0xa1, 0xb5,
+ 0x05, 0x5b, 0x7f, 0x13, 0x76, 0xea, 0x9a, 0x89, 0xac, 0xe6,
+ 0xb2, 0x2c, 0x58, 0x79, 0x72, 0x5b, 0x18, 0xca, 0x2a, 0xc9,
+ 0x12, 0x34, 0x36, 0xff, 0xa6, 0x14, 0xf6, 0x61, 0xc2, 0x3a,
+ 0xb3, 0xca, 0x87, 0x41, 0xc4, 0x88, 0x74, 0x12, 0x9c, 0x14,
+ 0xba, 0x25, 0x2e, 0x1e, 0x3c, 0x3e, 0xd8, 0x41, 0x6b, 0x60,
+ 0x9b, 0x55, 0xd5, 0x9a, 0xbc, 0xe9, 0xdb, 0xbf, 0x62, 0x7c,
+ 0xf8, 0x68, 0x77, 0x60, 0xd4, 0x30, 0xac, 0xcb, 0x8b, 0x4d,
+ 0x5e, 0x95, 0x8c, 0xbe, 0x31, 0x3e, 0x7c, 0x34, 0xda, 0x30,
+ 0x04, 0x23, 0xb2, 0xc2, 0x07, 0xb7, 0x09, 0xcb, 0x31, 0x06,
+ 0x29, 0x4f, 0x9e, 0x0b, 0x68, 0x23, 0xbb, 0x73, 0x85, 0x5c,
+ 0x59, 0x60, 0xeb, 0xb7, 0x66, 0x07, 0x7a, 0x0d, 0x1a, 0x57,
+ 0xc5, 0x73, 0x37, 0xfc, 0x72, 0x23, 0xb0, 0x38, 0x13, 0x30,
+ 0xda, 0xcd, 0x68, 0x28, 0x50, 0xe9, 0xe3, 0xfc, 0xd3, 0x9b,
+ 0x8a, 0xb9, 0x1f, 0x1d, 0x21, 0x98, 0xd9, 0x5b, 0x76, 0xd4,
+ 0x6b, 0xa9, 0x9c, 0x9b, 0x9b, 0xa8, 0x5c, 0x83, 0x61, 0x91,
+ 0xa3, 0x20, 0x2d, 0x37, 0xf1, 0x30, 0x60, 0x0f, 0x03, 0xa8,
+ 0x55, 0xa2, 0x83, 0xe0, 0x1a, 0x52, 0x2e, 0xce, 0xfe, 0x9e,
+ 0xc3, 0xa9, 0x91, 0xe5, 0x5e, 0xa2, 0x3a, 0xe1, 0xaa, 0x77,
+ 0xc8, 0x7f, 0x9b, 0xec, 0x14, 0x27, 0x88, 0x9a, 0xf7, 0x86,
+ 0x41, 0xe1, 0xc4, 0xbc, 0x21, 0x45, 0x97, 0xd4, 0x7a, 0x3f,
+ 0x48, 0xa6, 0x95, 0xc1, 0x41, 0x18, 0xb9, 0xbc, 0x9e, 0xf3,
+ 0x23, 0x90, 0x17, 0x7b, 0x39, 0xa9, 0x81, 0xd1, 0x43, 0x1c,
+ 0x38, 0x76, 0x71, 0xf3, 0xa1, 0x49, 0xf6, 0xf4, 0xa9, 0xee,
+ 0x38, 0xcc, 0x39, 0x10, 0x79, 0xaa, 0x97, 0x89, 0x42, 0x49,
+ 0x81, 0x92, 0x2f, 0x2b, 0x91, 0x1f, 0x70, 0x5b, 0x72, 0x20,
+ 0xf2, 0x97, 0xed, 0xd1, 0x84, 0x92, 0x89, 0xd4, 0x88, 0x6c,
+ 0x9f, 0xb2, 0x62, 0x0e, 0x10, 0x2c, 0xa0, 0x09, 0x12, 0xc7,
+ 0x54, 0xd4, 0x14, 0xaf, 0x3f, 0x4c, 0x1b, 0x2e, 0x2d, 0x61,
+ 0xf5, 0x1e, 0x8d, 0xb0, 0xa3, 0x27, 0x0b, 0xaf, 0xb9, 0x83,
+ 0xdc, 0x3d, 0xbb, 0xda, 0x0e, 0x33, 0x9f, 0x04, 0x8f, 0xcb,
+ 0x55, 0xb3, 0xf1, 0x83, 0xac, 0x54, 0x2e, 0xa0, 0xd1, 0xa9,
+ 0xb0, 0x10, 0xf7, 0xfa, 0x99, 0x18, 0x30, 0xe6, 0xe0, 0x54,
+ 0x8f, 0x07, 0x63, 0xcf, 0x7a, 0xbf, 0x8e, 0x41, 0xd8, 0x29,
+ 0x7c, 0x80, 0xc3, 0x28, 0x08, 0x07, 0xf0, 0xc8, 0xc7, 0xd6,
+ 0xb4, 0x0b, 0x1f, 0xc9, 0xf6, 0x88, 0x93, 0x4c, 0x98, 0x67,
+ 0x74, 0xc8, 0xfe, 0x5d, 0x8b, 0x32, 0x5f, 0xab, 0xe1, 0xd3,
+ 0x5c, 0x81, 0x1d, 0x5b, 0xb6, 0x9e, 0xf8, 0x5d, 0x01, 0x78,
+ 0xcd, 0xd1, 0x71, 0x5d, 0x93, 0x42, 0x9d, 0xe0, 0x9b, 0x63,
+ 0xc6, 0x72, 0x1a, 0x78, 0x08, 0x46, 0xa7, 0x47, 0x0e, 0xad,
+ 0x12, 0x55, 0x62, 0x0c, 0x52, 0x9e, 0xff, 0x16, 0xd0, 0x46,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x1d, 0xd8, 0x54,
+ 0x78, 0x47, 0x88, 0xdc, 0xce, 0xea, 0xe0, 0xb2, 0xa7, 0x6f,
+ 0xa2, 0x1d, 0x30, 0x57, 0x54, 0x51, 0x24, 0x68, 0x6c, 0x3d,
+ 0x8f, 0x28, 0x2f, 0xc2, 0x47, 0x74, 0xa5, 0x57, 0x2d, 0xc6,
+ 0x01, 0x8b, 0x40, 0xb6, 0xc0, 0x4b, 0x85, 0xda, 0x6b, 0x8f,
+ 0xdd, 0x37, 0x64, 0xc6, 0x1f, 0x61, 0x0c, 0xbb, 0x86, 0x64,
+ 0x49, 0xf2, 0xf3, 0xf1, 0xb1, 0x8b, 0xd5, 0xa7, 0xf5, 0x61,
+ 0x35, 0x0c, 0x2b, 0x42, 0x52, 0x82, 0xf6, 0xb4, 0x23, 0xce,
+ 0x9d, 0xee, 0x1f, 0x0d, 0xd7, 0x0c, 0xd9, 0x2d, 0x74, 0x9f,
+ 0xf3, 0x0a, 0xd6, 0x49, 0x42, 0x54, 0xd1, 0x8c, 0xdb, 0x5b,
+ 0x78, 0x2d, 0xdb, 0xdd, 0x2d, 0xfe, 0x11, 0xb0, 0x33, 0xcd,
+ 0xbb, 0x57, 0x24, 0x4a, 0x94, 0xbf, 0x4c, 0xdd, 0xba, 0x0b,
+ 0x48, 0x8d, 0x28, 0x3d, 0x78, 0xf5, 0xfb, 0xe7, 0xe1, 0x6e,
+ 0xdc, 0x25, 0xdf, 0x0b, 0x3d, 0x4a, 0x8c, 0x05, 0x5c, 0x2f,
+ 0xe4, 0xe1, 0x41, 0xc2, 0xcf, 0x70, 0xe0, 0x1b, 0x07, 0x4a,
+ 0x8d, 0xf7, 0x3a, 0xae, 0x98, 0x05, 0x6b, 0xc5, 0x21, 0x2a,
+ 0x89, 0x46, 0x8c, 0xcc, 0x3c, 0xf7, 0x36, 0x84, 0xbf, 0xf2,
+ 0xc1, 0x65, 0x80, 0x72, 0x47, 0x2d, 0xf3, 0x4b, 0x96, 0x9b,
+ 0xf9, 0x84, 0xa8, 0x77, 0x9c, 0x62, 0xd6, 0x1e, 0xb9, 0xdb,
+ 0xc6, 0xfc, 0xb0, 0x57, 0xae, 0xed, 0x88, 0x77, 0xc3, 0x17,
+ 0x07, 0x37, 0x03, 0x84, 0x05, 0x32, 0x1d, 0x43, 0xd2, 0x2b,
+ 0x56, 0x85, 0xff, 0x17, 0x4d, 0x68, 0xa9, 0x29, 0x08, 0x66,
+ 0x18, 0x31, 0x58, 0x8a, 0x35, 0xc8, 0x53, 0xdf, 0xed, 0x68,
+ 0xa5, 0x6a, 0x44, 0x36, 0xae, 0x59, 0x31, 0x07, 0x08, 0x16,
+ 0x50, 0xe5, 0x09, 0x82, 0x2a, 0x6a, 0x1d, 0x91, 0x55, 0xda,
+ 0x64, 0xde, 0xac, 0x76, 0x0a, 0xf2, 0x44, 0x4d, 0x9a, 0x43,
+ 0xc1, 0x91, 0x3c, 0x32, 0x41, 0xd4, 0x2d, 0x72, 0x77, 0xa3,
+ 0xdc, 0x22, 0x54, 0x13, 0x26, 0x69, 0x1d, 0x32, 0xef, 0xa9,
+ 0xcb, 0x6d, 0x32, 0x6f, 0x56, 0x3b, 0x05, 0x79, 0x22, 0xc7,
+ 0x4d, 0xc0, 0x81, 0xa9, 0x45, 0x2e, 0x0e, 0x6e, 0x06, 0xcb,
+ 0x0a, 0x64, 0x3a, 0x86, 0x67, 0x56, 0xac, 0xc9, 0x3d, 0x2e,
+ 0xaa, 0x87, 0xc5, 0x03, 0x34, 0xa4, 0x5c, 0x5f, 0x3f, 0xff,
+ 0x45, 0x91, 0xe1, 0x09, 0xbc, 0x87, 0x7c, 0x47, 0x30, 0xa9,
+ 0x5d, 0x53, 0xe7, 0x4e, 0x4a, 0x42, 0x81, 0x69, 0xd2, 0xd9,
+ 0x52, 0x47, 0x9d, 0x7b, 0xb7, 0x20, 0x84, 0x9c, 0x4f, 0x6f,
+ 0xe5, 0x32, 0x2d, 0xb9, 0xb1, 0xe0, 0x5f, 0x7b, 0x2c, 0xbe,
+ 0xcc, 0x5a, 0x31, 0xeb, 0x53, 0x09, 0x18, 0x3a, 0xf0, 0xec,
+ 0x1b, 0x45, 0x7e, 0xbe, 0x16, 0x5f, 0x66, 0x2d, 0xf9, 0x94,
+ 0xc8, 0xe5, 0x0c, 0x1d, 0x78, 0x76, 0xec, 0xc3, 0x3f, 0x5f,
+ 0x03, 0x88, 0x94, 0xb0, 0x93, 0xe7, 0x76, 0xc6, 0x64, 0xe3,
+ 0x6e, 0xa5, 0x89, 0x96, 0x2e, 0x88, 0x5e, 0x6c, 0xb0, 0x17,
+ 0x87, 0x18, 0x4a, 0x5d, 0xf8, 0x71, 0xff, 0x92, 0xe7, 0x65,
+ 0xa0, 0x6c, 0x4e, 0xe0, 0x3d, 0x99, 0x9b, 0x81, 0x6e, 0xf7,
+ 0x3c, 0x69, 0x5b, 0x6d, 0xda, 0x49, 0xc3, 0xe0, 0xcb, 0x51,
+ 0xa0, 0x70, 0x0d, 0x29, 0x17, 0x67, 0x7f, 0x4f, 0x80, 0xb5,
+ 0xa9, 0x93, 0x2f, 0x51, 0x3e, 0xc2, 0x18, 0xb5, 0xcf, 0xc8,
+ 0x92, 0x27, 0x25, 0x21, 0xa1, 0xd5, 0x69, 0x8d, 0x29, 0xc2,
+ 0x15, 0xd7, 0xf2, 0x9d, 0x6a, 0x73, 0xbe, 0x23, 0x68, 0xfe,
+ 0x16, 0xd3, 0x65, 0x55, 0x11, 0xd7, 0xfc, 0xad, 0xd2, 0x53,
+ 0xbd, 0x11, 0x04, 0x57, 0xa5, 0x82, 0xe8, 0x9d, 0xf9, 0x7a,
+ 0xcc, 0xad, 0xae, 0xa4, 0x77, 0xc1, 0x33, 0x13, 0x55, 0x94,
+ 0x0e, 0xf9, 0x6c, 0xde, 0x7f, 0x02, 0xd4, 0xa4, 0x63, 0x26,
+ 0x3c, 0x12, 0xdb, 0x37, 0xae, 0xbc, 0xb9, 0xb3, 0x30, 0xe2,
+ 0x07, 0x7e, 0xa7, 0x26, 0x0e, 0x95, 0x4c, 0xe4, 0xeb, 0xa0,
+ 0xfe, 0x1a, 0xaa, 0x09, 0x8e, 0x17, 0x2e, 0xf9, 0x8c, 0x95,
+ 0x7f, 0xcf, 0xa4, 0x19, 0xce, 0xb4, 0x91, 0x88, 0x2e, 0xa1,
+ 0xef, 0xcc, 0x5b, 0x4f, 0x7c, 0xcf, 0x31, 0x2f, 0x99, 0x80,
+ 0x55, 0x35, 0xff, 0x7f, 0x12, 0xc8, 0xb4, 0xa1, 0x81, 0x06,
+ 0xbf, 0x2f, 0xdf, 0xfe, 0x9f, 0x3c, 0x16, 0x07, 0x3a, 0x06,
+ 0x8a, 0x51, 0x0d, 0x05, 0x0a, 0xb4, 0x24, 0xfe, 0xf1, 0xb0,
+ 0x0a, 0x07, 0xc5, 0x56, 0x8c, 0x8b, 0x6b, 0x68, 0x08, 0x2f,
+ 0x5e, 0x15, 0x6e, 0xb0, 0x60, 0xae, 0xa8, 0xa2, 0x48, 0xd0,
+ 0xd8, 0x7a, 0xdd, 0x50, 0x5e, 0x47, 0x8e, 0xe8, 0x89, 0xae,
+ 0x79, 0x1c, 0x4f, 0xba, 0x2b, 0xb9, 0x7d, 0xc7, 0xe6, 0xa4,
+ 0x33, 0x45, 0x8a, 0xa0, 0x20, 0x1c, 0x9a, 0xd0, 0x91, 0x52,
+ 0x10, 0xcc, 0x30, 0x62, 0xb0, 0xd7, 0x6a, 0x53, 0xa6, 0x7d,
+ 0x19, 0xd0, 0xf8, 0x8e, 0x60, 0x91, 0xba, 0xa6, 0x0d, 0x9c,
+ 0x94, 0x84, 0xc1, 0xd2, 0x67, 0x71, 0xa4, 0x8e, 0x4c, 0x10,
+ 0x64, 0xf8, 0x79, 0x3b, 0x8b, 0x73, 0xc5, 0x6a, 0xae, 0xab,
+ 0x95, 0xad, 0xf7, 0x10, 0xb5, 0xe6, 0xc9, 0xb8, 0xb2, 0xc0,
+ 0x15, 0xad, 0xcc, 0x0e, 0xf4, 0x1a, 0x34, 0xae, 0x49, 0xe6,
+ 0x41, 0x0d, 0xbc, 0xac, 0x01, 0x7c, 0x03, 0xaf, 0x0b, 0x80,
+ 0x4e, 0x19, 0x32, 0xc2, 0x55, 0x0d, 0xc7, 0x34, 0xb5, 0xf5,
+ 0x04, 0x33, 0x0c, 0xf9, 0x2c, 0x45, 0xfb, 0x64, 0xc8, 0x8e,
+ 0x97, 0x34, 0x7a, 0x94, 0xdb, 0x0a, 0xb8, 0x5e, 0x0b, 0x01,
+ 0x82, 0x47, 0x5d, 0xe0, 0x03, 0x36, 0x0e, 0x94, 0x7b, 0xec,
+ 0x16, 0xdb, 0xc9, 0x03, 0x98, 0x43, 0x1f, 0xa7, 0xc6, 0x83,
+ 0xc5, 0x44, 0x14, 0xec, 0x0a, 0xb6, 0xfe, 0x26, 0xec, 0x17,
+ 0xf7, 0xd1, 0x9b, 0x0f, 0xa7, 0x58, 0xb0, 0xf2, 0xe4, 0xb6,
+ 0xdc, 0x76, 0x0b, 0x8c, 0x85, 0xe0, 0x4c, 0xc0, 0xee, 0xb2,
+ 0x63, 0xa0, 0x83, 0x22, 0x0a, 0x76, 0xdd, 0x0e, 0xc6, 0x5d,
+ 0xf4, 0xbd, 0xdf, 0x82, 0x73, 0x52, 0xf8, 0xc3, 0x45, 0x50,
+ 0x10, 0x0e, 0xea, 0xf2, 0xb4, 0x7e, 0x44, 0x85, 0xcc, 0xb2,
+ 0xa9, 0x9f, 0x90, 0xeb, 0x15, 0xb9, 0xf3, 0xf2, 0x78, 0x64,
+ 0x82, 0x6b, 0x5a, 0xe4, 0xee, 0x85, 0x7b, 0x44, 0xa8, 0x26,
+ 0x4c, 0xd2, 0x3a, 0x64, 0xbe, 0x28, 0xfa, 0x4f, 0x2f, 0x8a,
+ 0x71, 0x3e, 0xca, 0xe1, 0xc8, 0x21, 0x42, 0x2e, 0xb7, 0x28,
+ 0x86, 0x39, 0x09, 0x59, 0x05, 0x4f, 0x0f, 0x56, 0x27, 0xc5,
+ 0xb5, 0x7d, 0xfa, 0x4c, 0xc2, 0x39, 0xe1, 0x3c, 0x87, 0x89,
+ 0xd9, 0xcf, 0xa8, 0x21, 0xaf, 0x70, 0xac, 0xd0, 0x63, 0x39,
+ 0x0d, 0x3c, 0x97, 0xcd, 0x49, 0x06, 0x68, 0x8b, 0xb8, 0xbe,
+ 0x7e, 0x3d, 0x8a, 0xe1, 0x01, 0x12, 0xbb, 0xcd, 0x66, 0x7d,
+ 0x43, 0x01, 0xad, 0xdd, 0x34, 0x35, 0x15, 0x55, 0x82, 0xce,
+ 0x5f, 0x07, 0xd5, 0x7d, 0xeb, 0x8a, 0x79, 0xaf, 0x35, 0xd8,
+ 0x5f, 0xf0, 0x34, 0x7f, 0x0b, 0x88, 0xd3, 0xcb, 0xe9, 0x8a,
+ 0xf2, 0x38, 0x9e, 0xb7, 0x56, 0xb1, 0xfa, 0x4d, 0x0f, 0x8b,
+ 0x66, 0x8a, 0xd7, 0x83, 0x40, 0x38, 0xb0, 0xbd, 0xb6, 0xab,
+ 0xc4, 0x2a, 0x8f, 0x24, 0x60, 0xe8, 0x46, 0x36, 0x6c, 0xd7,
+ 0x3b, 0xbd, 0xe4, 0x67, 0xf8, 0x9a, 0xaf, 0x25, 0x32, 0xa8,
+ 0x03, 0x96, 0x1e, 0xfc, 0x3b, 0x40, 0x7f, 0x67, 0x1c, 0xe9,
+ 0x98, 0x0b, 0x15, 0x83, 0x3f, 0x34, 0x97, 0x12, 0xdf, 0x2e,
+ 0x5c, 0x31, 0xdb, 0xe9, 0xca, 0x29, 0x6d, 0xa1, 0x7c, 0x74,
+ 0x84, 0x25, 0xe2, 0xaf, 0x1b, 0xd6, 0x6f, 0xe1, 0x35, 0x29,
+ 0xd2, 0xe3, 0x47, 0x68, 0x6e, 0x40, 0xb2, 0xda, 0x44, 0xbb,
+ 0xed, 0xb7, 0xad, 0xdb, 0x86, 0xe3, 0xa0, 0x31, 0x3b, 0x25,
+ 0xd8, 0xb3, 0xab, 0x8e, 0xa4, 0xf0, 0xe2, 0xc9, 0x51, 0xfb,
+ 0x58, 0x31, 0x1e, 0x19, 0xc1, 0x6a, 0xf7, 0x39, 0xda, 0xb0,
+ 0x6e, 0x11, 0x2a, 0xe8, 0x13, 0xd5, 0xef, 0x19, 0x9f, 0x8b,
+ 0xee, 0x41, 0x66, 0x26, 0xaa, 0xeb, 0x1c, 0x31, 0xd8, 0x7f,
+ 0xfe, 0x04, 0x6b, 0x8b, 0x56, 0x2a, 0x17, 0x50, 0x89, 0xb5,
+ 0x58, 0x08, 0x9a, 0x7d, 0xad, 0x0c, 0x18, 0x73, 0x70, 0x2a,
+ 0xab, 0xff, 0x08, 0xd2, 0x45, 0xf9, 0xcf, 0x1d, 0xa2, 0x1f,
+ 0xde, 0xf2, 0x27, 0x7b, 0xa6, 0xff, 0xc9, 0xa1, 0xf9, 0x11,
+ 0xef, 0x93, 0xf2, 0xe3, 0x86, 0x4c, 0x75, 0x73, 0xe6, 0x77,
+ 0x1b, 0xa1, 0x69, 0x90, 0xc2, 0x34, 0x37, 0x20, 0x59, 0x6d,
+ 0x22, 0xbc, 0x97, 0xba, 0xb7, 0x8c, 0x43, 0x90, 0x91, 0x1e,
+ 0xa2, 0xa5, 0x8d, 0x86, 0x54, 0xf1, 0xb6, 0x38, 0x56, 0x68,
+ 0xd0, 0xfd, 0xe7, 0x1e, 0x72, 0xd2, 0x7c, 0x4d, 0xb6, 0xf3,
+ 0x19, 0x54, 0xe0, 0x4b, 0x0f, 0x7e, 0xfc, 0x20, 0xde, 0xd2,
+ 0x53, 0x71, 0x68, 0x43, 0xff, 0x5f, 0xc2, 0x81, 0x36, 0x9b,
+ 0x1f, 0x20, 0x40, 0x0a, 0x02, 0x71, 0x17, 0x27, 0xab, 0xfc,
+ 0x88, 0xc9, 0x5b, 0xa7, 0x91, 0xfd, 0xe3, 0x15, 0x2a, 0xb1,
+ 0x25, 0x27, 0x4f, 0x98, 0xf0, 0x48, 0xea, 0xdc, 0xfd, 0xb5,
+ 0xa1, 0x89, 0xc0, 0x0e, 0x1c, 0x3b, 0xd9, 0x98, 0x58, 0xbf,
+ 0x5b, 0xb4, 0x62, 0x15, 0xa6, 0x12, 0x30, 0x74, 0x23, 0x1b,
+ 0x36, 0x8a, 0xfc, 0xbf, 0x02, 0xf0, 0x59, 0x61, 0xe2, 0xba,
+ 0xe5, 0x84, 0xf9, 0x03, 0xf5, 0xc6, 0x4f, 0xe4, 0x34, 0xf0,
+ 0x65, 0xf5, 0xd7, 0xb1, 0x3e, 0x3a, 0x42, 0xf3, 0x71, 0xb6,
+ 0xec, 0x6b, 0xd6, 0x91, 0xfb, 0xf5, 0x70, 0x22, 0x25, 0x2c,
+ 0x54, 0x49, 0xfc, 0xd0, 0x19, 0x48, 0xfa, 0xb8, 0xb3, 0xc4,
+ 0xea, 0x22, 0x3f, 0xba, 0xd5, 0x64, 0xbe, 0x95, 0x01, 0x65,
+ 0xb8, 0xc1, 0x3a, 0xb6, 0xaf, 0xff, 0x33, 0xba, 0x33, 0xdf,
+ 0xc0, 0xe1, 0xb7, 0x8f, 0x1a, 0xfb, 0xeb, 0xcb, 0x41, 0x67,
+ 0xce, 0xe2, 0x8b, 0xdf, 0x28, 0x9d, 0x7e, 0x98, 0x36, 0x5c,
+ 0x5a, 0xc2, 0x29, 0x3c, 0xd9, 0xa3, 0x85, 0x4e, 0x16, 0x9d,
+ 0xc5, 0xc4, 0xec, 0x94, 0xe6, 0x89, 0xe9, 0x7d, 0xd5, 0x46,
+ 0x0e, 0xa2, 0x87, 0x6a, 0xa3, 0xc4, 0xcc, 0xfa, 0x86, 0x02,
+ 0x99, 0x79, 0x68, 0x6a, 0x2a, 0xaa, 0xc7, 0x5f, 0xbe, 0x0e,
+ 0x69, 0xfa, 0xad, 0x2c, 0xe3, 0x71, 0xa0, 0xf4, 0x23, 0x52,
+ 0x6a, 0x1a, 0x02, 0x7b, 0xf6, 0x94, 0xfa, 0x2c, 0x34, 0x74,
+ 0xe6, 0x93, 0x23, 0xdf, 0x65, 0xf6, 0xbe, 0x2e, 0x06, 0x8d,
+ 0xd9, 0x7f, 0xcd, 0x74, 0x95, 0x3d, 0x10, 0x67, 0x8a, 0x31,
+ 0x5d, 0x3a, 0x87, 0x3e, 0x7f, 0x27, 0x4e, 0xf6, 0x8f, 0x3d,
+ 0x83, 0x62, 0x76, 0x4a, 0x73, 0xa5, 0x95, 0xdf, 0x8b, 0x23,
+ 0x07, 0x51, 0xa2, 0x35, 0xb0, 0x62,
+ },
+ {
+ /* 2 */
+ 0x37, 0xf9, 0x69, 0x1b, 0x71, 0x18, 0x61, 0xcd, 0x69, 0x19,
+ 0x54, 0xd6, 0xaf, 0xcb, 0x37, 0x52, 0x93, 0x8b, 0x03, 0xf8,
+ 0xd8, 0xdb, 0x4a, 0x3b, 0x03, 0x7b, 0x5a, 0xc3, 0x52, 0x7d,
+ 0x93, 0x1c, 0xdb, 0x45, 0x63, 0x4e, 0xe4, 0x87, 0x1e, 0x57,
+ 0x63, 0xc0, 0x4b, 0x19, 0x80, 0x06, 0xdb, 0x1a, 0x38, 0xfb,
+ 0x20, 0xd3, 0x14, 0x34, 0x8d, 0x24, 0x20, 0x69, 0x0f, 0xf7,
+ 0x4e, 0x29, 0x38, 0x02, 0x7f, 0x37, 0x09, 0xad, 0x4d, 0x44,
+ 0x35, 0xa1, 0x09, 0xa2, 0x45, 0x0c, 0x7d, 0xb0, 0x7f, 0x54,
+ 0xb6, 0xa0, 0x72, 0x2f, 0xa6, 0xd4, 0x3e, 0xed, 0x72, 0x3c,
+ 0x9b, 0xc2, 0x28, 0xd8, 0xb6, 0xae, 0xa0, 0x81, 0xad, 0x96,
+ 0xea, 0x47, 0x90, 0xf0, 0xad, 0x08, 0xae, 0x66, 0xb1, 0x91,
+ 0xa0, 0xcf, 0xb7, 0xec, 0x33, 0xa3, 0xc6, 0xf5, 0x60, 0x0d,
+ 0x33, 0xc7, 0xb3, 0xae, 0x3b, 0xa1, 0xb7, 0x1f, 0xb8, 0xee,
+ 0x7a, 0x6b, 0xa3, 0xd9, 0x8c, 0xe4, 0x7a, 0xb7, 0xe8, 0x8f,
+ 0xda, 0x43, 0xb8, 0x4f, 0xc5, 0x41, 0xf1, 0x1d, 0x2e, 0xdf,
+ 0x05, 0x46, 0xf1, 0x20, 0xfd, 0x5b, 0x81, 0x01, 0xc5, 0xba,
+ 0xcc, 0x28, 0xfd, 0x7b, 0xc8, 0x35, 0xee, 0xaa, 0xfd, 0x0f,
+ 0x56, 0xd1, 0x0a, 0x36, 0xcc, 0xca, 0x54, 0x52, 0x70, 0x3e,
+ 0x36, 0x46, 0xf3, 0x7e, 0x70, 0x6e, 0xf7, 0x40, 0xf5, 0x8e,
+ 0x54, 0x07, 0x04, 0xf3, 0xc7, 0x75, 0x43, 0x84, 0xbb, 0x06,
+ 0xc7, 0x6a, 0xa0, 0x73, 0x4c, 0x27, 0x04, 0x81, 0xb1, 0x87,
+ 0x76, 0x0d, 0x45, 0x33, 0x67, 0x08, 0x76, 0x98, 0x43, 0x05,
+ 0x51, 0x74, 0xb1, 0x3f, 0x13, 0x9e, 0x59, 0x40, 0x6f, 0x36,
+ 0x4b, 0xfb, 0x59, 0xa5, 0xbd, 0xbb, 0xc6, 0x17, 0x13, 0x51,
+ 0xb2, 0x53, 0xb5, 0x5a, 0xe5, 0x50, 0x85, 0xeb, 0xb5, 0x56,
+ 0x3b, 0xb1, 0x64, 0xff, 0xb2, 0x2f, 0x1c, 0x9c, 0x10, 0x88,
+ 0x0a, 0x1a, 0xa7, 0x12, 0x10, 0xd5, 0xe6, 0x9a, 0x27, 0xf5,
+ 0x1c, 0x01, 0xa8, 0xa4, 0xe0, 0x7c, 0x6c, 0x8c, 0x25, 0xfc,
+ 0xe0, 0xdc, 0x2d, 0x80, 0x29, 0xdf, 0xa8, 0x0e, 0x02, 0x98,
+ 0x82, 0xdb, 0xc0, 0x42, 0xbc, 0x03, 0x82, 0x35, 0x50, 0xd8,
+ 0x26, 0xf2, 0x02, 0xa1, 0x20, 0x94, 0xf7, 0x2e, 0x5d, 0xaa,
+ 0x91, 0x30, 0xf7, 0xd6, 0x49, 0x1e, 0x25, 0xfb, 0x20, 0x82,
+ 0xf5, 0x9f, 0x9c, 0x24, 0xbc, 0x20, 0x3d, 0x6e, 0x9c, 0x9d,
+ 0x71, 0x4a, 0x57, 0x66, 0xf5, 0x79, 0x45, 0x54, 0xab, 0xa5,
+ 0x99, 0x32, 0x04, 0x86, 0xab, 0xfe, 0x1a, 0x23, 0x15, 0x6b,
+ 0x45, 0xf7, 0x3b, 0x2f, 0xe3, 0x84, 0xb4, 0x57, 0x6f, 0xc7,
+ 0xe3, 0xa7, 0x77, 0x43, 0x7b, 0xa2, 0x3b, 0x12, 0x3f, 0xdc,
+ 0x24, 0xf1, 0xf7, 0xd3, 0xd4, 0xc1, 0x24, 0xcd, 0xd7, 0x30,
+ 0x37, 0x85, 0x3f, 0x93, 0xc3, 0x2a, 0xb4, 0xb3, 0xad, 0x19,
+ 0x02, 0x43, 0xb4, 0x7f, 0x0d, 0xf0, 0xeb, 0xd4, 0xc3, 0x9a,
+ 0x2f, 0x96, 0xbe, 0xe6, 0x38, 0x86, 0x7d, 0xd9, 0xbe, 0xa6,
+ 0x12, 0x3f, 0xc4, 0x19, 0x2f, 0xd2, 0x76, 0x5e, 0x05, 0xcb,
+ 0xab, 0xae, 0xde, 0x4d, 0x05, 0x8d, 0xee, 0x86, 0xf6, 0x87,
+ 0x76, 0x24, 0x4b, 0x1a, 0xa3, 0xe1, 0x9c, 0x3f, 0xb6, 0x8f,
+ 0xa3, 0x75, 0x69, 0x6e, 0xe7, 0xf0, 0x4b, 0x16, 0x5f, 0xa3,
+ 0xfe, 0x83, 0x10, 0xee, 0xa4, 0x91, 0xfe, 0x74, 0x0c, 0x12,
+ 0x58, 0x4b, 0x5f, 0xd6, 0x97, 0x78, 0xc4, 0x8d, 0x9b, 0x5f,
+ 0xf1, 0x3d, 0xc4, 0x11, 0xfa, 0xb0, 0x1e, 0x5a, 0x97, 0x9d,
+ 0x16, 0x21, 0xdf, 0xb9, 0x4c, 0x93, 0xae, 0x1d, 0xdf, 0x34,
+ 0x35, 0xa4, 0x99, 0x49, 0x16, 0x61, 0xa2, 0x19, 0x2f, 0x4d,
+ 0x2a, 0x05, 0x2c, 0xf3, 0x2f, 0x3d, 0xfe, 0xbe, 0x97, 0x63,
+ 0xa2, 0x6e, 0x50, 0xa1, 0xb7, 0x4b, 0x75, 0xc2, 0x48, 0x78,
+ 0xb7, 0x04, 0x57, 0x33, 0xb9, 0xa9, 0x50, 0x86, 0x6a, 0xc2,
+ 0x15, 0x43, 0xa1, 0xb4, 0x79, 0x5f, 0x15, 0x58, 0x08, 0x1c,
+ 0xd1, 0x72, 0x6a, 0x25, 0x0c, 0xd6, 0x8a, 0x9f, 0xc5, 0x4f,
+ 0x0e, 0x0a, 0x8a, 0xbe, 0x23, 0x95, 0xd4, 0x69, 0x0c, 0x40,
+ 0x71, 0x79, 0x01, 0xe9, 0x48, 0x49, 0x87, 0xa8, 0x01, 0x29,
+ 0x36, 0x41, 0x8f, 0x2b, 0x71, 0xb5, 0xa6, 0xea, 0xe8, 0x38,
+ 0x69, 0x81, 0x97, 0xf5, 0xe8, 0x57, 0x5e, 0xcd, 0xdb, 0x44,
+ 0xa6, 0xef, 0x8a, 0xa8, 0x95, 0x89, 0xf1, 0x64, 0x08, 0xcf,
+ 0x95, 0x3f, 0x34, 0x46, 0x2a, 0xd6, 0x8a, 0x2d, 0xe7, 0x4d,
+ 0x84, 0xe8, 0xb3, 0x37, 0x28, 0x75, 0x84, 0xc3, 0xe4, 0x9d,
+ 0x82, 0x08, 0xe7, 0x99, 0xec, 0xbc, 0x0a, 0x55, 0x95, 0x9f,
+ 0x7f, 0x9a, 0x0a, 0xd9, 0x1f, 0xcf, 0x2f, 0xcd, 0xec, 0x48,
+ 0x51, 0xed, 0xf6, 0xc7, 0x15, 0xe3, 0x16, 0x98, 0xf6, 0xff,
+ 0x7f, 0x5f, 0xaa, 0xd0, 0x51, 0x37, 0x79, 0x5c, 0x4c, 0x03,
+ 0xce, 0x82, 0x32, 0xa4, 0x4c, 0xfd, 0xb5, 0xa7, 0x17, 0x65,
+ 0x79, 0x74, 0xe1, 0x26, 0xc1, 0x46, 0x30, 0xf1, 0x2f, 0x70,
+ 0xc1, 0x9c, 0x14, 0x36, 0xe8, 0xdd, 0xe1, 0xb9, 0x1b, 0xbb,
+ 0x14, 0xaa, 0xe9, 0xfd, 0xfe, 0xf7, 0x14, 0x71, 0x3e, 0x5d,
+ 0x5e, 0x59, 0x1b, 0x90, 0x9f, 0x5d, 0x89, 0x67, 0x1d, 0x94,
+ 0x44, 0x31, 0x89, 0xc5, 0x79, 0x56, 0x86, 0x14, 0x9f, 0x5c,
+ 0x74, 0xc6, 0x87, 0x10, 0x6b, 0xec, 0x62, 0x4e, 0x87, 0xb8,
+ 0xbe, 0x5e, 0xd0, 0x75, 0x74, 0x85, 0xf8, 0x05, 0x57, 0x37,
+ 0x19, 0x4e, 0x6d, 0x84, 0x57, 0xd8, 0x7a, 0xb3, 0x90, 0x76,
+ 0xf8, 0x88, 0x5a, 0x1c, 0x78, 0x7a, 0x33, 0x4b, 0x41, 0x77,
+ 0x78, 0xe5, 0x84, 0x0d, 0x07, 0x15, 0x5a, 0xe6, 0x67, 0x58,
+ 0xde, 0x50, 0x04, 0xda, 0x29, 0xb5, 0xde, 0x1d, 0x03, 0xe5,
+ 0x16, 0x62, 0x67, 0xd4, 0x36, 0xb5, 0x28, 0x97, 0x11, 0x39,
+ 0x3f, 0x2d, 0x28, 0xe2, 0x7c, 0xba, 0xbc, 0xb2, 0x36, 0xe3,
+ 0xe8, 0x4f, 0xcd, 0x20, 0xd6, 0x1b, 0xc4, 0x9c, 0xcd, 0xb3,
+ 0xbf, 0xbc, 0x63, 0xea, 0xe8, 0xc9, 0x60, 0x7f, 0xda, 0x72,
+ 0xe7, 0x3d, 0x70, 0x50, 0xda, 0xb9, 0xdb, 0x22, 0x6f, 0xce,
+ 0x60, 0x45, 0xd2, 0x2c, 0x6f, 0x28, 0x02, 0x6d, 0xf5, 0xbb,
+ 0x6f, 0xef, 0xe0, 0x93, 0x0b, 0x31, 0xd2, 0x6a, 0xa5, 0x3e,
+ 0x2b, 0x6f, 0xc9, 0xe2, 0x75, 0x16, 0x2b, 0x99, 0x26, 0x79,
+ 0xee, 0xcf, 0xa5, 0xff, 0x8c, 0xc3, 0xd0, 0x27, 0x72, 0xa2,
+ 0x0f, 0xca, 0xd0, 0x60, 0xc4, 0xed, 0x40, 0x03, 0x8c, 0x0d,
+ 0xbd, 0x51, 0xfc, 0x92, 0x80, 0x7c, 0x69, 0x02, 0xfc, 0x26,
+ 0x60, 0x90, 0x85, 0x1d, 0xbd, 0x7f, 0xfb, 0xd1, 0x94, 0x60,
+ 0xb9, 0x2d, 0x8f, 0x67, 0x94, 0x16, 0x02, 0x07, 0xa5, 0xfd,
+ 0xfb, 0x98, 0xba, 0x76, 0xf8, 0xb0, 0x63, 0x9b, 0x30, 0xe7,
+ 0xf8, 0x82, 0xb8, 0x57, 0xfc, 0xb1, 0xba, 0xee, 0x0f, 0x02,
+ 0x49, 0xc8, 0x65, 0x2c, 0xec, 0xe9, 0x49, 0x70, 0x5b, 0x21,
+ 0xe1, 0xe2, 0x0f, 0x50, 0x4f, 0xe9, 0x64, 0x94, 0xdf, 0xbb,
+ 0x0d, 0x89, 0x64, 0x1f, 0xc9, 0x1d, 0xab, 0xd7, 0x4f, 0x97,
+ 0x8e, 0x5b, 0x52, 0xfc, 0xb2, 0xe0, 0xb3, 0xc9, 0x52, 0x55,
+ 0x94, 0x35, 0x66, 0xf1, 0x8e, 0xac, 0x89, 0x7c, 0x56, 0xde,
+ 0x51, 0x07, 0xea, 0x2c, 0x56, 0xf1, 0x4c, 0xf2, 0x1f, 0x5d,
+ 0x89, 0x3d, 0x06, 0x6b, 0x45, 0xae, 0x83, 0xc6, 0x07, 0x05,
+ 0x45, 0x5f, 0xf0, 0xab, 0x6a, 0xd5, 0x06, 0x20, 0xe5, 0xd5,
+ 0x06, 0x33, 0x73, 0x75, 0x94, 0x76, 0x06, 0xf6, 0xb4, 0x45,
+ 0xa4, 0xfa, 0xe5, 0x38, 0xf4, 0xd3, 0xdd, 0xa8, 0xdc, 0x01,
+ 0x63, 0x8e, 0xdd, 0x66, 0x59, 0x26, 0x44, 0x1f, 0xf4, 0xc8,
+ 0xc7, 0xd9, 0x73, 0xc6, 0xee, 0x9d, 0xb9, 0x45, 0x73, 0x15,
+ 0xad, 0x83, 0xa7, 0xf3, 0xc7, 0x1b, 0xad, 0x1b, 0x66, 0x85,
+ 0x4f, 0x29, 0xc0, 0x1a, 0x66, 0x4d, 0xa5, 0x9f, 0x76, 0x81,
+ 0xad, 0x3e, 0xcb, 0x0f, 0xf9, 0x59, 0x2b, 0xd2, 0xb7, 0x4f,
+ 0xf9, 0xab, 0x8e, 0x16, 0x73, 0x9a, 0xcb, 0x5b, 0x80, 0x15,
+ 0x5a, 0xb8, 0xb7, 0xed, 0x01, 0xc0, 0x5a, 0xde, 0xe7, 0x78,
+ 0x94, 0x6a, 0x80, 0x4d, 0xf0, 0x20, 0x1a, 0xdd, 0x9f, 0x85,
+ 0xd8, 0x88, 0x1a, 0x0c, 0xf9, 0x55, 0x08, 0x38, 0xf0, 0x49,
+ 0xd5, 0x0b, 0x6b, 0x0a, 0xe1, 0x8a, 0xac, 0x5e, 0x6b, 0x4b,
+ 0x38, 0x54, 0x72, 0x9d, 0xd5, 0xfb, 0x07, 0x27, 0x04, 0x22,
+ 0xe3, 0xe7, 0x59, 0xe5, 0x04, 0xa4, 0xd8, 0xc7, 0x79, 0xac,
+ 0x07, 0x91, 0xea, 0xd7, 0x4f, 0xfb, 0x16, 0x59, 0x78, 0x9f,
+ 0x4f, 0x86, 0xef, 0x64, 0x45, 0x18, 0xea, 0x68, 0x56, 0xca,
+ 0xf2, 0xe5, 0xf6, 0x04, 0x4f, 0x7d, 0xf2, 0x5b, 0xa7, 0x98,
+ 0xd3, 0x7c, 0x56, 0xa6, 0x4d, 0x71, 0xe6, 0x4f, 0x1f, 0xf9,
+ 0xb1, 0x8a, 0xe6, 0x2a, 0x99, 0xc5, 0x8d, 0x25, 0x4d, 0x36,
+ 0x55, 0x1e, 0x31, 0xb2, 0x56, 0x67, 0xad, 0x9e, 0x31, 0x95,
+ 0xdf, 0x2c, 0xe6, 0xf7, 0x55, 0xb6, 0x43, 0x3f, 0xee, 0x0b,
+ 0x1a, 0xf4, 0x03, 0x83, 0xee, 0xa1, 0xea, 0x88, 0x7f, 0xbe,
+ 0x43, 0xd7, 0x1a, 0xf7, 0x55, 0x26, 0x89, 0xdc, 0xa0, 0x17,
+ 0x55, 0x8a, 0x16, 0x31, 0x4d, 0x20, 0x1a, 0x21, 0x0b, 0xf1,
+ 0x8e, 0xbd, 0x26, 0xa8, 0x57, 0xef, 0x8e, 0x1a, 0xfb, 0x52,
+ 0xad, 0xc5, 0x0b, 0xd1, 0xe3, 0xbe, 0x43, 0x9d, 0xf0, 0xb3,
+ 0x93, 0x73, 0x43, 0xa9, 0x44, 0xee, 0xce, 0x2f, 0xe3, 0x18,
+ 0x96, 0x34, 0x85, 0x01, 0xfb, 0x7e, 0xaf, 0xdd, 0x85, 0xea,
+ 0xd2, 0xdc, 0x0d, 0x23, 0x96, 0x2c, 0x27, 0xb3, 0xf3, 0x0c,
+ 0xbe, 0x4d, 0xc8, 0xd5, 0xf3, 0x72, 0x91, 0xd9, 0x5c, 0x57,
+ 0x27, 0x13, 0xdd, 0x2e, 0x26, 0xe0, 0x67, 0x41, 0x19, 0x52,
+ 0x26, 0x9f, 0xbb, 0xb2, 0xea, 0xd3, 0xdd, 0x3a, 0x44, 0x18,
+ 0xea, 0x29, 0xf9, 0x13, 0x5a, 0x66, 0xea, 0x05, 0x32, 0x4f,
+ 0x06, 0x12, 0x44, 0x46, 0x26, 0xff, 0xb2, 0x80, 0xde, 0x6c,
+ 0x96, 0x35, 0xb2, 0x89, 0xb9, 0xb5, 0x4f, 0x2e, 0x26, 0xa2,
+ 0x35, 0x61, 0xeb, 0xc0, 0xb1, 0x5a, 0xdd, 0xce, 0xeb, 0x2c,
+ 0x04, 0x0e, 0x89, 0x39, 0x35, 0xf3, 0xdc, 0x62, 0x67, 0x6c,
+ 0x07, 0x60, 0x47, 0xb2, 0x67, 0x64, 0x93, 0xde, 0xf9, 0xaa,
+ 0xdc, 0x8b, 0xa4, 0x72, 0x6a, 0xe3, 0xa9, 0xc3, 0x2b, 0xf6,
+ 0x6a, 0x62, 0x0e, 0x15, 0xfd, 0xb6, 0xa4, 0x4e, 0x58, 0x84,
+ 0xfa, 0xa1, 0xf3, 0x09, 0xfd, 0x74, 0xfa, 0xd0, 0xd4, 0xd5,
+ 0x21, 0xe7, 0x58, 0x47, 0xcf, 0xfc, 0x3e, 0x2c, 0x68, 0x56,
+ 0x0c, 0x49, 0x3e, 0xc1, 0x2e, 0x65, 0x3f, 0xbd, 0xcf, 0xda,
+ 0xd0, 0xb4, 0xed, 0xf3, 0xc2, 0x2f, 0x49, 0xb8, 0xed, 0xda,
+ 0xb0, 0x4b, 0x2d, 0xc3, 0xd0, 0xcb, 0x7c, 0xe3, 0xca, 0xfa,
+ 0xed, 0x27, 0xd7, 0x42, 0xca, 0x6c, 0x3d, 0xb8, 0x48, 0x3b,
+ 0x7c, 0x44, 0x5c, 0x77, 0x3d, 0xd4, 0xb0, 0x8d, 0x46, 0x72,
+ 0x3d, 0xba, 0x74, 0xa6, 0x6d, 0xc0, 0x5c, 0xc6, 0x7e, 0x7b,
+ 0x48, 0x21, 0x2d, 0x65, 0x6b, 0x41, 0x48, 0x59, 0x6d, 0x60,
+ 0x6e, 0xc9, 0x7e, 0xe5, 0xfe, 0x6e, 0x12, 0x99, 0x9a, 0x88,
+ 0x6a, 0x81, 0x12, 0x87, 0x8a, 0x18, 0xfa, 0xa3, 0xfe, 0xa8,
+ 0xaa, 0x3c, 0x62, 0xa7, 0xac, 0xce, 0x99, 0xff, 0x62, 0xe9,
+ 0x7d, 0x58, 0x0f, 0x2d, 0xaa, 0xaf, 0x2b, 0x65, 0x79, 0x93,
+ 0x7b, 0x02, 0xc6, 0xdf, 0x79, 0xcc, 0xb2, 0x4c, 0x88, 0x3e,
+ 0x2b, 0x53, 0xc9, 0x97, 0x7b, 0x82, 0xeb, 0x90, 0x0b, 0x4c,
+ 0x7b, 0x9e, 0xde, 0xce, 0x55, 0x68, 0xc9, 0xfa, 0x92, 0xc7,
+ 0x42, 0x74, 0xb8, 0xfa, 0x14, 0xdb, 0x42, 0x80, 0x72, 0xaf,
+ 0x41, 0x04, 0x92, 0xad, 0xca, 0x43, 0xb8, 0xd5, 0x4b, 0xf3,
+ 0xe9, 0xaf, 0xb8, 0x50, 0xa6, 0x7a, 0x60, 0xe3, 0xca, 0xea,
+ 0x4c, 0x3d, 0xa7, 0xc3, 0x7f, 0xd8, 0xef, 0x6a, 0xa7, 0xd1,
+ 0xb1, 0xa9, 0x9e, 0x5c, 0x4c, 0x87, 0x9d, 0xc5, 0x0b, 0xbc,
+ 0xdd, 0xd6, 0xf8, 0x32, 0x0b, 0xf0, 0x29, 0x8e, 0xa0, 0xe6,
+ 0x9d, 0xfd, 0xa7, 0xa6, 0xa9, 0xb4, 0x09, 0xa0, 0xc9, 0x15,
+ 0xa9, 0xac, 0x76, 0xa1, 0xc8, 0x3d, 0xa7, 0x5e, 0x59, 0xc8,
+ 0xbb, 0x2d, 0x93, 0x28, 0xa3, 0x94, 0xbb, 0x2b, 0xfc, 0xb9,
+ 0x32, 0x9e, 0x59, 0xf6, 0x9e, 0x11, 0xc8, 0xeb, 0x7d, 0xb5,
+ 0x1a, 0xd1, 0xc8, 0x3e, 0x51, 0x3a, 0x95, 0x6d, 0x9e, 0xed,
+ 0x1d, 0xd0, 0x51, 0x04, 0x6a, 0x3b, 0xf9, 0xf2, 0x51, 0x2e,
+ 0xce, 0xf6, 0x34, 0x8c, 0x1d, 0xb0, 0x01, 0x4c, 0x41, 0x8c,
+ 0x60, 0x21, 0x5e, 0xe0, 0x41, 0xfb, 0x28, 0x6c, 0x13, 0x79,
+ 0x01, 0xb1, 0xc2, 0x66, 0xf5, 0x3f, 0xcd, 0x38, 0x5c, 0xa3,
+ 0xf5, 0x84, 0x25, 0x9c, 0xf8, 0xad, 0xc2, 0x2b, 0x28, 0xb1,
+ 0xba, 0xc4, 0xdb, 0x61, 0x24, 0x3c, 0xba, 0x02, 0xca, 0xf8,
+ 0xbd, 0xb5, 0x28, 0x43, 0xb4, 0x38, 0xf0, 0xf4, 0x66, 0x96,
+ 0x82, 0xee, 0xf0, 0x09, 0xcb, 0x1a, 0x0e, 0x2a, 0xb4, 0x0f,
+ 0x19, 0x23, 0x96, 0x71, 0x29, 0xbf, 0x42, 0xf4, 0x96, 0x44,
+ 0x6e, 0x85, 0x78, 0xab, 0x19, 0x31, 0x85, 0xaa, 0xdc, 0x41,
+ 0x94, 0x48, 0xe4, 0x26, 0xdc, 0x4f, 0x6f, 0x67, 0xcb, 0x34,
+ 0x85, 0x7d, 0x3c, 0x08, 0xe7, 0xa6, 0x57, 0xb0, 0x36, 0x22,
+ 0xe7, 0x03, 0xaf, 0x84, 0x02, 0x0e, 0x3c, 0x83, 0x40, 0xeb,
+ 0x2d, 0x5c, 0xba, 0x97, 0xe1, 0x60, 0x2d, 0x6f, 0x92, 0x3c,
+ 0x4a, 0x35, 0x40, 0xc7, 0x1e, 0x04, 0x92, 0x53, 0xca, 0x58,
+ 0x1b, 0x11, 0x92, 0xe0, 0xb6, 0x42, 0x01, 0x07, 0x1e, 0xa0,
+ 0x95, 0xe0, 0x46, 0x56, 0x5b, 0x1d, 0x4d, 0x3e, 0x46, 0x24,
+ 0xaa, 0x68, 0x38, 0xa8, 0x95, 0x3c, 0xab, 0x70, 0x23, 0x2b,
+ 0xcc, 0xef, 0xc7, 0x1f, 0x23, 0x12, 0x55, 0x34, 0x1c, 0x54,
+ 0xab, 0x1e, 0xb3, 0x1f, 0xf4, 0xd6, 0x85, 0x71, 0xdb, 0x0b,
+ 0xf4, 0xad, 0x13, 0xdd, 0x77, 0x86, 0xb3, 0x9e, 0xeb, 0x9b,
+ 0x0e, 0x77, 0x76, 0x78, 0x26, 0x7f, 0x0e, 0x7d, 0xc7, 0x08,
+ 0x56, 0x61, 0xeb, 0xd9, 0xfa, 0x9d, 0xd5, 0xec, 0xd9, 0x0c,
+ 0xd1, 0x87, 0xd5, 0xed, 0x2a, 0x6b, 0xb6, 0x84, 0xfa, 0x29,
+ 0x2a, 0x29, 0x38, 0x1f, 0x1b, 0x23, 0x98, 0x3f, 0x38, 0x37,
+ 0x9a, 0x20, 0x9b, 0x47, 0x2a, 0xe2, 0xac, 0x57, 0x27, 0x09,
+ 0x2f, 0x08, 0x9e, 0xfa, 0x27, 0xb6, 0x8d, 0xf3, 0x65, 0xf8,
+ 0xac, 0x8f, 0x2d, 0x0e, 0x3c, 0x3d, 0xf8, 0xc4, 0xc1, 0xda,
+ 0x3c, 0x93, 0x42, 0xe7, 0xe2, 0xeb, 0x2d, 0x73, 0x25, 0x2b,
+ 0x71, 0xd7, 0x7e, 0x0f, 0x74, 0xd6, 0x71, 0x47, 0xc1, 0x01,
+ 0x7a, 0xa5, 0x25, 0xb2, 0x4a, 0x56, 0xe2, 0x6d, 0xfc, 0x1e,
+ 0xe8, 0x6f, 0xe2, 0x8e, 0x41, 0x02, 0xf4, 0x89, 0x4a, 0xa7,
+ 0xb0, 0xcb, 0x37, 0x81, 0x25, 0x12, 0x39, 0xe8, 0x37, 0x63,
+ 0x6b, 0x69, 0x42, 0x0d, 0xb0, 0x8e, 0x41, 0xa7, 0x6c, 0xd0,
+ 0xda, 0xb6, 0xbf, 0x80, 0x6c, 0x94, 0xba, 0x50, 0x59, 0x4c,
+ 0x41, 0x76, 0x30, 0xde, 0x6d, 0x39, 0x92, 0xff, 0x38, 0x28,
+ 0x6d, 0xbd, 0x8c, 0x11, 0xd6, 0x67, 0x30, 0xc3, 0x33, 0x0a,
+ 0xae, 0x6e, 0x32, 0x9c, 0xda, 0xcb, 0xae, 0x73, 0xf4, 0xa5,
+ 0xe3, 0xec, 0x33, 0xd3, 0x65, 0xc0, 0x5c, 0x8b, 0xc4, 0x98,
+ 0x95, 0xb6, 0x5c, 0x28, 0x53, 0x3d, 0x30, 0x90, 0x65, 0x75,
+ 0x8b, 0xe4, 0xd4, 0x05, 0x91, 0x45, 0x56, 0x2f, 0xd4, 0xc4,
+ 0x1c, 0x2a, 0x39, 0xaf, 0x8b, 0x9c, 0xef, 0x68, 0xc9, 0x02,
+ 0x35, 0xfc, 0x9d, 0x79, 0xc9, 0x17, 0x67, 0x7b, 0x1a, 0x46,
+ 0xef, 0x58, 0x09, 0x69, 0x0c, 0x66, 0xe6, 0xea, 0xeb, 0xec,
+ 0x0c, 0x2f, 0xab, 0x8a, 0x8b, 0x37, 0x09, 0x70, 0x9b, 0xae,
+ 0x4e, 0x12, 0x5e, 0x10, 0xff, 0x37, 0x4e, 0xaf, 0xd9, 0x25,
+ 0xca, 0x33, 0x9b, 0xdd, 0x6f, 0x7d, 0x93, 0xba, 0x82, 0x11,
+ 0x9c, 0xb9, 0x93, 0xc9, 0x80, 0x03, 0x8e, 0x2c, 0x6f, 0x15,
+ 0x84, 0xe6, 0x9d, 0xcd, 0xf4, 0x69, 0xba, 0xc6, 0x9d, 0xb4,
+ 0x47, 0x0b, 0xd8, 0x4d, 0x84, 0xcc, 0x15, 0xf5, 0x1c, 0xee,
+ 0xec, 0xf0, 0x4c, 0xfe, 0x1c, 0xfa, 0x4d, 0x10, 0xac, 0xc2,
+ 0x15, 0x71, 0x75, 0x8a, 0xc6, 0x9c, 0x0b, 0xcd, 0x3c, 0xae,
+ 0xc6, 0x43, 0x96, 0x32, 0xc3, 0x0c, 0x75, 0x34, 0x61, 0x33,
+ 0x9b, 0xfe, 0x87, 0x1c, 0x2e, 0xb0, 0x9b, 0x42, 0xf3, 0x4e,
+ 0x7c, 0xb7, 0x61, 0xf4, 0xf9, 0x49, 0x16, 0xbb, 0x79, 0x6f,
+ 0x33, 0x64, 0x16, 0x23, 0x52, 0xdf, 0x83, 0x0f, 0xf9, 0x39,
+ 0x12, 0xd2, 0x18, 0xcc, 0x0f, 0x17, 0x15, 0x1b, 0x18, 0x5e,
+ 0x95, 0xd7, 0xd5, 0x6e, 0x12, 0xe0, 0x70, 0x35, 0x40, 0x65,
+ 0x28, 0x68, 0xd9, 0x48, 0x40, 0xd2, 0x1e, 0x2d, 0x9c, 0x52,
+ 0x70, 0x04, 0xa3, 0x55, 0x6e, 0xc1, 0x4a, 0x24, 0x72, 0x13,
+ 0x6e, 0xc6, 0xd6, 0xd2, 0x84, 0x1a, 0xa3, 0xdf, 0x9c, 0x89,
+ 0x4a, 0x30, 0xbd, 0xf7, 0xa6, 0xd2, 0x4a, 0x0b, 0x01, 0xe2,
+ 0xb3, 0x9f, 0x9c, 0x4c, 0x4e, 0xa5, 0x25, 0x18, 0xbf, 0x9a,
+ 0x53, 0x69, 0x25, 0xe4, 0xe1, 0x71, 0xb8, 0xae, 0x4e, 0x26,
+ 0xa9, 0xe8, 0xa1, 0xf0, 0x0c, 0xad, 0x7b, 0x1c, 0xa1, 0x27,
+ 0x05, 0xec, 0x3a, 0xa6, 0xa9, 0xbf, 0x7b, 0xc4, 0xce, 0xd8,
+ 0x0e, 0xc0, 0x8e, 0xa7, 0xce, 0xc8, 0xe5, 0x7f, 0x31, 0x97,
+ 0x7b, 0xd5, 0x47, 0xcc, 0x29, 0x7e, 0x59, 0x70, 0xb8, 0x85,
+ 0x29, 0xcb, 0x4a, 0xfb, 0x33, 0x99, 0x47, 0x56, 0xe9, 0x03,
+ 0x8c, 0xac, 0xb6, 0x3a, 0x9a, 0x7c, 0x8c, 0x48, 0x97, 0xd0,
+ 0x70, 0x93, 0xe9, 0x78, 0x7a, 0x88, 0x8f, 0x54, 0x6e, 0xe1,
+ 0xd0, 0x47, 0x8f, 0x33, 0xcd, 0x13, 0x22, 0xee, 0x7a, 0x64,
+ 0xf1, 0x6c, 0x5b, 0x51, 0xff, 0xa4, 0x86, 0x68, 0x5b, 0xf7,
+ 0xd1, 0x39, 0x1b, 0x41, 0xf1, 0xf8, 0xc4, 0x0d, 0xb0, 0x91,
+ 0x4e, 0xfe, 0x5b, 0xa6, 0xb0, 0xdb, 0xd5, 0x37, 0x92, 0x78,
+ 0xc4, 0x0b, 0xaf, 0x83, 0xe4, 0x5e, 0x8f, 0x6b, 0x7c, 0x19,
+ 0xe4, 0x78, 0xf5, 0x47, 0x50, 0x73, 0xaf, 0x9f, 0x68, 0x5a,
+ 0x97, 0x98, 0x61, 0xf6, 0xc5, 0x5c, 0x97, 0x6d, 0x58, 0xc4,
+ 0xf7, 0x80, 0x68, 0x84, 0xbe, 0x85, 0x3f, 0xc5, 0x20, 0x1f,
+ 0x8b, 0xe1, 0x3f, 0xe8, 0x18, 0x24, 0xb0, 0x96, 0xbe, 0x6f,
+ 0xbf, 0xc9, 0x7e, 0x49, 0x40, 0x3e, 0xd5, 0x01, 0x7e, 0x13,
+ 0x30, 0x48, 0xa3, 0xef, 0xbf, 0xde, 0x2e, 0xda, 0xff, 0x6a,
+ 0x58, 0xa7, 0x23, 0x39, 0xff, 0x5d, 0x3a, 0x53, 0xd7, 0x60,
+ 0x2e, 0x63, 0x48, 0xce, 0x60, 0xb6, 0x3c, 0x5c, 0x54, 0x6c,
+ 0x60, 0xbb, 0x11, 0xda, 0xd2, 0x7b, 0x48, 0x06, 0xce, 0xb0,
+ 0x7f, 0xa0, 0x08, 0x77, 0x52, 0xa9, 0x7f, 0x3a, 0x06, 0x09,
+ 0x2c, 0xc4, 0xce, 0x6b, 0x3d, 0x44, 0xa6, 0x2a, 0x37, 0x91,
+ 0x68, 0xc2, 0xa6, 0xf8, 0x87, 0xe8, 0x11, 0x77, 0x3d, 0x32,
+ 0x32, 0x46, 0xef, 0xe2, 0x52, 0xbd, 0x84, 0x2b, 0xef, 0x88,
+ 0xdc, 0xc9, 0xf0, 0x95, 0x32, 0x62, 0xe6, 0x01, 0xc5, 0x64,
+ 0xd3, 0x16, 0x76, 0x95, 0xc5, 0x38, 0xcc, 0xf1, 0x91, 0x71,
+ 0xe6, 0x28, 0x6b, 0x8e, 0x54, 0xcf, 0xc1, 0x95, 0x27, 0xbf,
+ 0x54, 0xa3, 0x20, 0x70, 0xc2, 0x0b, 0x6b, 0x94, 0xbb, 0x3a,
+ 0xb9, 0x3c, 0x03, 0xba, 0x6e, 0x07, 0xb9, 0x79, 0x90, 0x3b,
+ 0xef, 0xc8, 0xbb, 0x5f, 0x91, 0x13, 0x81, 0x23, 0x18, 0x99,
+ 0xf6, 0x38, 0x81, 0x4e, 0x0a, 0x1b, 0x74, 0x8f, 0x91, 0xbd,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xc1, 0x99, 0xef,
+ 0x17, 0x8e, 0xe3, 0x23, 0x99, 0x10, 0x9f, 0xcc, 0xa1, 0xe1,
+ 0x83, 0x5d, 0xe0, 0x6a, 0x80, 0xca, 0x50, 0xd0, 0x71, 0x90,
+ 0x80, 0x67, 0x3c, 0x5a, 0xfb, 0xa4, 0xe0, 0x08, 0x82, 0x8d,
+ 0xd8, 0x63, 0x77, 0xaf, 0xbd, 0xc3, 0xd8, 0xeb, 0xb7, 0xa0,
+ 0xb2, 0x98, 0x82, 0xec, 0xd7, 0x93, 0xe9, 0xd1, 0x21, 0xc8,
+ 0x10, 0x5d, 0xe9, 0x7e, 0x68, 0x8c, 0x54, 0x6f, 0xd7, 0x5a,
+ 0xf2, 0xb8, 0x98, 0x06, 0x5f, 0xc7, 0x64, 0x8b, 0x98, 0x39,
+ 0xa9, 0x8d, 0x2e, 0xca, 0xf2, 0xe8, 0xcd, 0x64, 0xbc, 0xf7,
+ 0xa8, 0x14, 0xb0, 0x4a, 0xbc, 0xf4, 0x7e, 0xbd, 0x19, 0x4f,
+ 0xcd, 0x7b, 0x78, 0x10, 0x0d, 0x8f, 0xae, 0xa3, 0x6c, 0x44,
+ 0x0d, 0x06, 0x9d, 0xcb, 0x04, 0x1c, 0x78, 0xc5, 0xc0, 0xfe,
+ 0x77, 0xe4, 0x0d, 0x7a, 0xe0, 0xa0, 0x77, 0xb1, 0x75, 0x44,
+ 0xde, 0x5f, 0xc0, 0x8a, 0x63, 0xab, 0x19, 0x25, 0x47, 0x5e,
+ 0x92, 0xb3, 0x19, 0x77, 0xa3, 0x96, 0x5a, 0x45, 0x63, 0x55,
+ 0x87, 0x32, 0x5e, 0x9a, 0x54, 0x0a, 0x58, 0x25, 0x5e, 0x7a,
+ 0x3f, 0xbf, 0xed, 0xc6, 0x87, 0xdc, 0xfc, 0xf6, 0x90, 0x42,
+ 0x5a, 0xca, 0xd6, 0x82, 0x90, 0xb2, 0xda, 0xc0, 0xdc, 0x51,
+ 0xfc, 0x09, 0x94, 0xac, 0x07, 0xda, 0x3b, 0x3c, 0x13, 0xde,
+ 0x07, 0xdf, 0x82, 0x04, 0x2b, 0xd1, 0x94, 0x8d, 0x08, 0x25,
+ 0x4d, 0xea, 0x86, 0xcb, 0xb5, 0x0c, 0x4d, 0xd4, 0x83, 0xe6,
+ 0x98, 0x4e, 0x08, 0xc1, 0x81, 0x59, 0x1b, 0x34, 0xd7, 0xcc,
+ 0x5f, 0x20, 0x1b, 0x25, 0xcf, 0x14, 0x87, 0x13, 0x81, 0xfc,
+ 0x17, 0x6d, 0x9e, 0x35, 0x2c, 0xb2, 0xf0, 0xfd, 0x9e, 0xcf,
+ 0x1d, 0xc8, 0x8a, 0x30, 0x17, 0xd0, 0x62, 0xe7, 0x58, 0xa9,
+ 0x27, 0x7f, 0xcc, 0x53, 0x58, 0x8c, 0x8b, 0xfa, 0x49, 0x3c,
+ 0x62, 0xe4, 0xd8, 0x91, 0xa0, 0x19, 0x44, 0xe4, 0xfc, 0xb4,
+ 0xa0, 0x0e, 0x33, 0xad, 0xb5, 0x8d, 0xd8, 0x0a, 0x31, 0x92,
+ 0x2c, 0xb5, 0xf2, 0xde, 0x66, 0xc8, 0x2c, 0x46, 0xa4, 0x7d,
+ 0xc5, 0x1e, 0x31, 0x72, 0x10, 0x4a, 0x9a, 0x17, 0xcf, 0x55,
+ 0xa9, 0x18, 0x9a, 0x6b, 0xc5, 0x0f, 0xf3, 0x9c, 0x10, 0x41,
+ 0x21, 0xd8, 0xb6, 0xa2, 0x3d, 0x8b, 0xcf, 0xd0, 0xb6, 0x2d,
+ 0x61, 0x72, 0x36, 0x82, 0x21, 0x33, 0xda, 0x09, 0x22, 0xc2,
+ 0x84, 0xa6, 0x40, 0xb7, 0x22, 0x3b, 0x63, 0x75, 0x93, 0x7f,
+ 0xda, 0xab, 0x66, 0x14, 0x9f, 0xdc, 0x64, 0xfb, 0x77, 0x55,
+ 0x9f, 0xe6, 0x2b, 0x89, 0x05, 0x1b, 0x66, 0x65, 0x39, 0xb7,
+ 0x61, 0x5f, 0x74, 0x15, 0xd3, 0xc4, 0x61, 0x92, 0x27, 0x9b,
+ 0x5d, 0x50, 0x39, 0xb3, 0xfd, 0xba, 0xd1, 0xce, 0x3a, 0xeb,
+ 0x88, 0x62, 0xd1, 0x49, 0xf2, 0xac, 0xcf, 0x28, 0xfd, 0xb8,
+ 0x0e, 0x4e, 0x08, 0x44, 0x05, 0x0d, 0xb2, 0x09, 0x08, 0x8b,
+ 0x73, 0x4d, 0xf2, 0x9b, 0x0e, 0xe1, 0x6e, 0x31, 0xd2, 0x36,
+ 0xe2, 0x30, 0xc2, 0x59, 0xd2, 0x32, 0xa8, 0x6f, 0x9d, 0x55,
+ 0x6e, 0xa4, 0x8f, 0x17, 0x13, 0x70, 0xd2, 0xc1, 0xed, 0x29,
+ 0x13, 0xae, 0xbc, 0x59, 0x75, 0x88, 0x8f, 0x1d, 0x99, 0x36,
+ 0xcc, 0xc9, 0x9e, 0x52, 0x43, 0x34, 0xcc, 0x9a, 0x89, 0xfd,
+ 0xec, 0xc1, 0x99, 0x7c, 0x6d, 0xe5, 0x11, 0x61, 0x42, 0x53,
+ 0x20, 0xba, 0x11, 0xfc, 0xd0, 0xdb, 0xa8, 0xde, 0x6d, 0xb4,
+ 0xf3, 0xf4, 0xd9, 0x8a, 0x3f, 0xe6, 0x3a, 0x6b, 0xd9, 0xc2,
+ 0x81, 0xe1, 0x3d, 0xb3, 0xf3, 0x59, 0xde, 0xfa, 0xe5, 0xb7,
+ 0xc7, 0x22, 0xfb, 0xb1, 0xe5, 0x51, 0xc3, 0x06, 0xdf, 0x58,
+ 0xde, 0x2a, 0x88, 0x30, 0x17, 0x52, 0x31, 0x26, 0xb4, 0xcc,
+ 0x17, 0x0a, 0x64, 0x9e, 0x0c, 0x24, 0x88, 0x8c, 0x0d, 0x9a,
+ 0xcb, 0x13, 0xa5, 0x6e, 0x50, 0xea, 0xcb, 0x45, 0x0b, 0xf9,
+ 0xc7, 0x10, 0x0d, 0xf1, 0x8d, 0x8f, 0x91, 0xab, 0x12, 0x83,
+ 0x51, 0x2a, 0x91, 0x9b, 0xec, 0x81, 0x53, 0x7a, 0x8d, 0xbc,
+ 0xd4, 0x47, 0x2a, 0x86, 0x81, 0xab, 0xf2, 0xbe, 0x2a, 0xb0,
+ 0x10, 0x38, 0x61, 0xe4, 0xd4, 0x4a, 0x5b, 0x50, 0x39, 0xf6,
+ 0x53, 0x6a, 0x1f, 0x97, 0x39, 0x1e, 0xac, 0x61, 0x14, 0x6c,
+ 0x5b, 0x57, 0xd1, 0xf8, 0xac, 0x7f, 0xa2, 0x0e, 0x17, 0x58,
+ 0xac, 0x21, 0x98, 0x27, 0x3e, 0xba, 0xd1, 0x7a, 0x5d, 0x3b,
+ 0x7c, 0x58, 0xd0, 0xac, 0x18, 0x92, 0x7c, 0x41, 0x5c, 0xca,
+ 0x7e, 0xb9, 0x5d, 0x77, 0x03, 0xd4, 0xc3, 0x57, 0xa0, 0x63,
+ 0xe2, 0xe3, 0xc3, 0xce, 0x78, 0xb4, 0x35, 0x8b, 0x03, 0x10,
+ 0xc8, 0xdb, 0x3a, 0x0e, 0x8b, 0xb1, 0x55, 0xac, 0x3a, 0x65,
+ 0xf6, 0xa2, 0x46, 0x11, 0xc8, 0x4b, 0xc1, 0xb2, 0x36, 0x68,
+ 0x6d, 0x5b, 0xbe, 0x40, 0x36, 0x4a, 0x5d, 0x28, 0xcd, 0x26,
+ 0xc1, 0x3b, 0x77, 0x12, 0x44, 0x47, 0xcb, 0x8f, 0x80, 0xad,
+ 0x44, 0x76, 0xc6, 0xea, 0xe5, 0xfe, 0x77, 0x95, 0x3a, 0x63,
+ 0xa2, 0x08, 0xd4, 0x76, 0x31, 0x27, 0xa2, 0x5c, 0x5f, 0x2f,
+ 0x68, 0xdb, 0x3a, 0xa3, 0xf6, 0x4b, 0x5f, 0x73, 0x1c, 0x43,
+ 0xdf, 0x8d, 0x5f, 0x53, 0x09, 0xfe, 0x62, 0xed, 0xf6, 0x69,
+ 0xb9, 0xa2, 0x3b, 0xe7, 0xc3, 0xf8, 0xd2, 0x04, 0x3b, 0x4c,
+ 0xc0, 0xe3, 0xc9, 0x3a, 0xb9, 0xfe, 0xa1, 0xcd, 0xec, 0x1a,
+ 0x8a, 0x66, 0xce, 0x10, 0xec, 0xf3, 0x86, 0x0a, 0xa2, 0xe8,
+ 0xa1, 0x7e, 0xc6, 0x95, 0x32, 0x4a, 0x8e, 0xbc, 0xe7, 0xa5,
+ 0x32, 0xee, 0x85, 0xef, 0xb4, 0x8a, 0xc6, 0xaa, 0x7d, 0xaf,
+ 0x8b, 0x76, 0x8d, 0x06, 0x89, 0xa2, 0x8b, 0x97, 0x15, 0xd4,
+ 0x5b, 0x42, 0x7d, 0xf5, 0x24, 0x67, 0x30, 0x5b, 0x1e, 0x2e,
+ 0x2a, 0x36, 0x30, 0xbc, 0xe9, 0x6d, 0x69, 0xdc, 0x24, 0x03,
+ 0xdf, 0xb6, 0xa4, 0x3b, 0xa7, 0x03, 0xa5, 0x51, 0xa4, 0xaa,
+ 0xeb, 0x6a, 0xcc, 0x21, 0xdf, 0x9b, 0x64, 0x8c, 0x1d, 0x07,
+ 0xa4, 0xb9, 0xcb, 0x56, 0x1d, 0xd3, 0x7b, 0x51, 0x23, 0xe9,
+ 0x64, 0xc4, 0x23, 0x40, 0x34, 0x79, 0xfd, 0xc9, 0x73, 0xd3,
+ 0x34, 0x18, 0x31, 0xaa, 0x10, 0x70, 0x23, 0x92, 0x73, 0xe1,
+ 0x83, 0x32, 0x88, 0x0b, 0x3b, 0xab, 0x83, 0x1c, 0x66, 0x99,
+ 0xa9, 0xd9, 0x73, 0x14, 0x69, 0x16, 0xd6, 0x14, 0x01, 0xd7,
+ 0x9b, 0xbc, 0xd6, 0x96, 0x70, 0xa8, 0xe4, 0xf9, 0x69, 0x35,
+ 0x18, 0x6f, 0xd7, 0xfd, 0x49, 0x9e, 0x1c, 0x14, 0xd7, 0xbf,
+ 0x46, 0xe9, 0x6b, 0xd2, 0x18, 0x80, 0xbc, 0x1d, 0xbd, 0x1e,
+ 0xe0, 0x5d, 0x37, 0xe2, 0xbd, 0xdd, 0x48, 0xfc, 0x96, 0x64,
+ 0xbc, 0xce, 0x42, 0x73, 0xaf, 0x87, 0x7a, 0xd5, 0x5d, 0x63,
+ 0xaf, 0x5a, 0xc2, 0xe4, 0x6c, 0xc7, 0x42, 0x66, 0x1f, 0x48,
+ 0xd3, 0xdf, 0xaa, 0x79, 0x45, 0xf1, 0xd3, 0x1b, 0x9e, 0x2e,
+ 0x12, 0x7e, 0x1f, 0x11, 0x98, 0x7a, 0x8d, 0x45, 0xfe, 0x73,
+ 0x1d, 0xd4, 0x8d, 0x61, 0xa1, 0x91, 0xff, 0xb8, 0x98, 0xcd,
+ 0x53, 0x75, 0x74, 0x1c, 0xd5, 0xa1, 0xaa, 0x9b, 0x74, 0xca,
+ 0x2f, 0x87, 0x8c, 0x22, 0x53, 0x96, 0xe4, 0x99, 0x47, 0xbf,
+ 0x13, 0x54, 0xca, 0x96, 0x47, 0x0d, 0x9c, 0x29, 0xb7, 0x83,
+ 0xe4, 0x89, 0xae, 0xcf, 0xa5, 0xd2, 0xef, 0x4a, 0x22, 0xf9,
+ 0xa5, 0x83, 0xdd, 0x2b, 0x43, 0x0a, 0xae, 0x2e, 0xd9, 0xdd,
+ 0xe1, 0x95, 0x24, 0xc5, 0xa2, 0x54, 0xe1, 0xf5, 0x1b, 0xc1,
+ 0xa6, 0xf4, 0xd9, 0xbb, 0x22, 0x0c, 0x75, 0xf5, 0x9d, 0xe8,
+ 0x2d, 0x33, 0x75, 0xe3, 0x19, 0xc6, 0x03, 0x09, 0x22, 0x23,
+ 0x52, 0x39, 0x35, 0x90, 0xb5, 0x80, 0xf4, 0x7b, 0x35, 0x31,
+ 0x07, 0xeb, 0x9f, 0x5b, 0x52, 0x27, 0x05, 0xbf, 0x86, 0xf9,
+ 0x23, 0xa5, 0xe5, 0xe6, 0x86, 0x91, 0x88, 0x1f, 0x5f, 0x5e,
+ 0x05, 0x30, 0x6c, 0xa9, 0x50, 0xed, 0x22, 0x72, 0x7e, 0x5a,
+ 0x50, 0x07, 0xf8, 0xb7, 0xbb, 0xa7, 0x6c, 0x05, 0xd3, 0x60,
+ 0x2e, 0xa4, 0x62, 0x4c, 0xab, 0x5b, 0x2e, 0x14, 0xc8, 0xff,
+ 0x18, 0x48, 0xd3, 0xdb, 0xff, 0x22, 0x53, 0x15, 0xfa, 0xa9,
+ 0x34, 0x61, 0x53, 0x7c, 0xa2, 0x74, 0xe9, 0xda, 0xff, 0x19,
+ 0x9a, 0xe2, 0x0f, 0x9e, 0x3e, 0x31, 0xa1, 0xd7, 0x0f, 0x54,
+ 0xf1, 0x49, 0xd9, 0x4a, 0x9a, 0x6c, 0x2c, 0x42, 0x7d, 0xb1,
+ 0x98, 0xe5, 0x9f, 0x3a, 0x7d, 0x68, 0x6a, 0x8b, 0xf1, 0x92,
+ 0x2c, 0xc2, 0x29, 0xfd, 0xfb, 0x48, 0xbb, 0x40, 0x7a, 0xdc,
+ 0xfb, 0xf9, 0xe2, 0x94, 0xae, 0xcc, 0x29, 0xf2, 0x5e, 0xef,
+ 0xbf, 0x0f, 0x70, 0xcf, 0xfa, 0x71, 0xbf, 0x8f, 0x24, 0x7e,
+ 0x4b, 0x32, 0x5e, 0x67, 0x57, 0x86, 0xb3, 0x69, 0x96, 0x25,
+ 0x11, 0x9d, 0xb3, 0xa0, 0x8f, 0xf4, 0xc0, 0x05, 0x57, 0x17,
+ 0xed, 0xf0, 0x4b, 0xd9, 0xf5, 0xbe, 0x21, 0x7a, 0x4b, 0x22,
+ 0x37, 0xa3, 0x3c, 0xb4, 0xed, 0xf9, 0x46, 0x80, 0x68, 0xf2,
+ 0x39, 0x51, 0xe6, 0x65, 0x68, 0x30, 0x62, 0x97, 0x20, 0xe0,
+ 0x46, 0xe7, 0x34, 0x2d, 0xaa, 0x4c, 0xd1, 0x7b, 0x83, 0x2e,
+ 0xaa, 0xd7, 0x2c, 0x62, 0x9a, 0x40, 0x34, 0x42, 0x72, 0xad,
+ 0xc2, 0xbe, 0xe8, 0x2a, 0x65, 0x4b, 0xc2, 0xe7, 0x4e, 0xf5,
+ 0xba, 0xa0, 0x72, 0xa5, 0xb5, 0x74, 0xb1, 0x78, 0x06, 0xb7,
+ 0xdc, 0x0e, 0xb1, 0xf2, 0xe3, 0x76, 0x1d, 0x53, 0xb5, 0xbe,
+ 0x11, 0x06, 0xdb, 0x9b, 0xaf, 0x74, 0xf7, 0xf8, 0xdb, 0x90,
+ 0xed, 0x63, 0xe0, 0xe5, 0x11, 0xf0, 0xe2, 0xf2, 0x02, 0x11,
+ 0x90, 0x92, 0xcd, 0x93, 0x02, 0x52, 0x6c, 0x82, 0xdd, 0x56,
+ 0xe2, 0xa9, 0xd6, 0xdf, 0xa8, 0x5d, 0x41, 0xe9, 0x4e, 0xbd,
+ 0xa8, 0x85, 0x40, 0xe0, 0x47, 0x16, 0xd6, 0xeb, 0xee, 0x24,
+ 0x88, 0x8e, 0x55, 0xdd, 0xc3, 0x99, 0x88, 0xec, 0x4f, 0x17,
+ 0x09, 0x3f, 0xee, 0xe9, 0x90, 0x5f, 0xc0, 0xaf, 0x78, 0xb8,
+ 0xa8, 0xd8, 0xc0, 0xb5, 0x22, 0x77, 0x67, 0xf6, 0x90, 0x0c,
+ 0x14, 0xb9, 0x5d, 0x62, 0x8c, 0xd1, 0x12, 0x1e, 0x5d, 0x01,
+ 0x65, 0x7c, 0xbf, 0xbb, 0x14, 0xc0, 0x3e, 0x90, 0x65, 0x7d,
+ 0x97, 0xf2, 0x8a, 0x21, 0x65, 0x36, 0xff, 0x5c, 0x24, 0xfc,
+ 0x3e, 0x22, 0x86, 0x7e, 0x1f, 0x16, 0x34, 0x2b, 0x06, 0xc5,
+ 0x1f, 0x81, 0x17, 0xd3, 0xfe, 0xbf, 0x86, 0x6d, 0x49, 0x82,
+ 0x21, 0x3a, 0x5c, 0x7d, 0x0a, 0x8c, 0x21, 0x40, 0x39, 0xb6,
+ 0xc1, 0x02, 0x49, 0xb7, 0xf7, 0x07, 0x1e, 0xff, 0x7c, 0x62,
+ 0x81, 0x6d, 0x1e, 0xa8, 0x21, 0x92, 0x71, 0x94, 0xf7, 0xd8,
+ 0x0a, 0xbd, 0xcf, 0x31, 0x46, 0x89, 0x09, 0x0f, 0xcf, 0xe1,
+ 0xd3, 0x3e, 0xbe, 0xbc, 0x0a, 0x60,
+ },
+ {
+ /* 3 */
+ 0xa8, 0x78, 0x41, 0x9a, 0x63, 0x9a, 0xaa, 0xcc, 0x6d, 0x6b,
+ 0xb6, 0x2d, 0xbf, 0x63, 0x8e, 0x1b, 0xb4, 0x31, 0xad, 0x42,
+ 0xc9, 0x42, 0x37, 0x9b, 0xc6, 0x80, 0x29, 0xcb, 0xc0, 0xc9,
+ 0x15, 0xf8, 0x96, 0xde, 0x29, 0xd5, 0x90, 0xd5, 0x18, 0x10,
+ 0xbc, 0xed, 0x40, 0xd2, 0x7a, 0x90, 0xf0, 0x4e, 0x1e, 0xe4,
+ 0x7c, 0xcc, 0x37, 0xcc, 0xa4, 0x79, 0x97, 0x9a, 0x27, 0xb6,
+ 0xd7, 0x37, 0xe2, 0xd3, 0x8a, 0x97, 0xc5, 0x0d, 0x3a, 0x0d,
+ 0x85, 0x47, 0x17, 0x06, 0xdf, 0x34, 0x05, 0x3a, 0x6b, 0xad,
+ 0xf5, 0x02, 0xcd, 0x8d, 0x2d, 0x8d, 0xe6, 0x05, 0x54, 0x61,
+ 0x14, 0x71, 0xb0, 0x2d, 0x33, 0x2f, 0x9f, 0x98, 0x64, 0x8f,
+ 0x0e, 0x8f, 0x01, 0xbf, 0x52, 0x33, 0xb9, 0x79, 0xcb, 0x0e,
+ 0x0a, 0x96, 0xa5, 0xa7, 0xef, 0xe8, 0x04, 0xe8, 0xc1, 0x3f,
+ 0xfb, 0x57, 0xfc, 0x26, 0x9d, 0x04, 0x86, 0xa3, 0x13, 0x3b,
+ 0xd2, 0xbe, 0x50, 0xbe, 0xcf, 0x8a, 0x01, 0xa6, 0x6d, 0xbd,
+ 0xf5, 0x50, 0xea, 0x6b, 0x39, 0x25, 0x53, 0x79, 0x38, 0x79,
+ 0x04, 0xb9, 0x8b, 0xcc, 0xa1, 0x27, 0xaa, 0x38, 0x28, 0x1d,
+ 0xac, 0xe1, 0xa2, 0xb2, 0x9a, 0xb2, 0xd8, 0x90, 0x15, 0x89,
+ 0x05, 0x8d, 0x2c, 0x9a, 0x7c, 0x7b, 0x2d, 0x9d, 0xba, 0xf1,
+ 0xa3, 0xf1, 0x7d, 0x56, 0xd0, 0x20, 0x9b, 0x42, 0x30, 0xa3,
+ 0x94, 0x3e, 0x83, 0xd1, 0x88, 0x57, 0xa4, 0x57, 0x9c, 0xe8,
+ 0xf9, 0xd8, 0x26, 0x9f, 0xb4, 0xa4, 0x91, 0x75, 0x86, 0xff,
+ 0x23, 0x75, 0xf2, 0x75, 0x13, 0xa3, 0x9f, 0xe3, 0xc9, 0x17,
+ 0x73, 0xf2, 0xbe, 0x0d, 0xb9, 0xee, 0x03, 0x30, 0xae, 0x30,
+ 0x5c, 0x68, 0x50, 0xbc, 0x63, 0xc0, 0xe2, 0xae, 0x1d, 0x40,
+ 0x76, 0xd3, 0x45, 0xda, 0x89, 0xda, 0x7a, 0xed, 0xad, 0xb9,
+ 0x32, 0xee, 0x04, 0x89, 0xa2, 0x5a, 0x0f, 0x72, 0x3e, 0x66,
+ 0xfa, 0x66, 0x52, 0xdd, 0xaa, 0x4d, 0xf2, 0x5b, 0x8a, 0xfa,
+ 0x71, 0x88, 0x5a, 0xf9, 0xb7, 0x21, 0x85, 0x21, 0xfa, 0xac,
+ 0x63, 0x40, 0xf5, 0x84, 0x60, 0x85, 0xeb, 0x7c, 0xa0, 0x89,
+ 0x44, 0xca, 0x52, 0xca, 0x4e, 0x74, 0x9d, 0x6c, 0x13, 0xae,
+ 0x5a, 0x52, 0xa9, 0xdb, 0x92, 0x47, 0xca, 0xfd, 0x69, 0xfd,
+ 0x6a, 0x4c, 0xc4, 0x0f, 0xf3, 0x72, 0xe9, 0x69, 0x02, 0x2e,
+ 0xe2, 0xa0, 0xfc, 0x1b, 0x84, 0x1b, 0x5b, 0xd3, 0x2d, 0x25,
+ 0xca, 0x6c, 0xd6, 0x84, 0x2b, 0x24, 0x34, 0xfa, 0xfd, 0x0b,
+ 0x5f, 0x0b, 0x6f, 0x4a, 0x1d, 0xf0, 0xeb, 0x2c, 0x88, 0x5f,
+ 0x20, 0xa5, 0xee, 0xc8, 0x1a, 0x63, 0x4c, 0x63, 0xcd, 0x37,
+ 0xa5, 0xc0, 0xdc, 0x4f, 0xa0, 0x4c, 0xfe, 0x84, 0x6d, 0x19,
+ 0x92, 0x34, 0xe8, 0x34, 0x51, 0xdf, 0x5c, 0x18, 0xfa, 0xd0,
+ 0x14, 0xe8, 0x6f, 0xf1, 0x1a, 0x7d, 0x9f, 0xe4, 0xce, 0xe4,
+ 0xd6, 0x25, 0xef, 0x78, 0x94, 0x16, 0x44, 0xce, 0x10, 0xb3,
+ 0x24, 0xdb, 0xf7, 0xab, 0x3d, 0xab, 0x64, 0xf9, 0x3e, 0xfe,
+ 0x62, 0xe9, 0x81, 0x3d, 0x6e, 0xe6, 0x1f, 0x53, 0x34, 0xc6,
+ 0x98, 0xc6, 0x59, 0x6e, 0x89, 0x43, 0x7b, 0x9e, 0x83, 0x98,
+ 0x3f, 0xcb, 0xd2, 0xc3, 0xe2, 0x38, 0x22, 0x38, 0x46, 0xc5,
+ 0x48, 0x37, 0x92, 0xe0, 0xcd, 0x22, 0xf9, 0xe1, 0x18, 0xd0,
+ 0x0f, 0xf0, 0x53, 0xf0, 0xef, 0x0b, 0xd3, 0x09, 0x2c, 0x46,
+ 0xec, 0x53, 0x69, 0x83, 0x37, 0xe0, 0x25, 0x15, 0x6d, 0x15,
+ 0xab, 0x73, 0x3f, 0x58, 0x0f, 0x54, 0x74, 0x6d, 0x84, 0x8d,
+ 0x6a, 0x9a, 0xa9, 0x02, 0x23, 0x02, 0xe7, 0xba, 0x06, 0x52,
+ 0xad, 0x08, 0x7b, 0x23, 0x39, 0xb9, 0x3f, 0x11, 0x20, 0x45,
+ 0x5c, 0x45, 0x4f, 0xcb, 0xcf, 0x5f, 0xaa, 0xd7, 0x91, 0x5c,
+ 0xa3, 0x4d, 0xae, 0x4c, 0x32, 0xa6, 0x07, 0xa6, 0xe1, 0xbe,
+ 0x29, 0xf8, 0xbd, 0xdd, 0x84, 0x07, 0x05, 0x4b, 0x10, 0x21,
+ 0x0a, 0xa0, 0x62, 0xa0, 0x0b, 0xb3, 0x23, 0x0e, 0x89, 0xc5,
+ 0x09, 0x62, 0x4e, 0x43, 0x46, 0xb0, 0x5b, 0xf9, 0x2f, 0xf9,
+ 0x67, 0xfb, 0xc8, 0xab, 0x6a, 0x62, 0x1f, 0x2f, 0x70, 0x9f,
+ 0x6c, 0xae, 0xda, 0x3e, 0x47, 0x3e, 0xac, 0xc8, 0x42, 0xc1,
+ 0xa6, 0xf8, 0x40, 0x47, 0xb2, 0xe9, 0xbc, 0xc0, 0xa8, 0x12,
+ 0xf8, 0x12, 0xd3, 0x23, 0x36, 0x87, 0x8c, 0x48, 0x25, 0xf8,
+ 0x32, 0x38, 0x68, 0x37, 0x39, 0x16, 0xbe, 0x16, 0xde, 0x94,
+ 0x3a, 0x23, 0x15, 0x58, 0xd3, 0xbe, 0x40, 0x89, 0x0b, 0xeb,
+ 0xdd, 0x4e, 0x03, 0x4e, 0x20, 0x81, 0xd2, 0xaf, 0x41, 0xfb,
+ 0x19, 0x03, 0x83, 0xe8, 0x3e, 0xa6, 0x68, 0x4f, 0xf3, 0x4f,
+ 0xb2, 0xdc, 0xd1, 0x86, 0xf6, 0xff, 0xc5, 0xf3, 0x7e, 0x55,
+ 0xfe, 0xe9, 0x10, 0xc3, 0x2e, 0xc3, 0xc6, 0x84, 0x86, 0xce,
+ 0x55, 0x8a, 0xa9, 0x2e, 0xb0, 0xc7, 0xa9, 0xcf, 0x09, 0x90,
+ 0xcc, 0x90, 0x57, 0xdb, 0x73, 0xb2, 0xea, 0x05, 0xeb, 0xcc,
+ 0x53, 0x03, 0x28, 0xb3, 0x11, 0xd3, 0xf5, 0xd3, 0xf2, 0x1d,
+ 0xb6, 0x1b, 0x74, 0xca, 0xf7, 0xf5, 0xbb, 0x46, 0x7c, 0x8f,
+ 0xd0, 0x9e, 0x25, 0x9e, 0xa7, 0x7b, 0x61, 0xcf, 0x2f, 0x3d,
+ 0x49, 0x25, 0xfc, 0xaa, 0xf2, 0x81, 0xf6, 0xbb, 0xe6, 0xbb,
+ 0x50, 0x60, 0x0e, 0x2b, 0x43, 0xa9, 0xdf, 0xe6, 0x65, 0x67,
+ 0xbf, 0xda, 0x70, 0x0c, 0xca, 0x0c, 0x17, 0x1a, 0x14, 0x2f,
+ 0x68, 0x30, 0xd9, 0xca, 0x96, 0x10, 0xf4, 0xb5, 0x85, 0x87,
+ 0x82, 0x87, 0x1b, 0x12, 0x4a, 0xb8, 0x48, 0x59, 0xe4, 0x82,
+ 0xee, 0x37, 0xcb, 0xa4, 0xa5, 0xc2, 0xde, 0xc2, 0x54, 0xd9,
+ 0x85, 0xe7, 0xe2, 0x8e, 0x75, 0xde, 0x4d, 0x7a, 0x06, 0x34,
+ 0x73, 0x3c, 0x64, 0x3c, 0x4b, 0x72, 0x44, 0x93, 0x0b, 0xf0,
+ 0x3b, 0x64, 0x8b, 0x50, 0xf8, 0xdd, 0x63, 0xff, 0x4a, 0xff,
+ 0x8d, 0xf6, 0xc2, 0x5d, 0x5e, 0x7a, 0x92, 0x4a, 0x3b, 0x97,
+ 0xbd, 0x77, 0xe0, 0x18, 0x57, 0x18, 0x2e, 0x34, 0x28, 0x5e,
+ 0xd0, 0x60, 0x71, 0x57, 0xef, 0x20, 0x75, 0xc9, 0x9d, 0xc4,
+ 0xbb, 0xc4, 0xbe, 0xd4, 0x8f, 0x11, 0xd6, 0x96, 0xf8, 0xbb,
+ 0x06, 0x72, 0x03, 0x1a, 0xd8, 0x1e, 0x32, 0x1e, 0xc4, 0x39,
+ 0x22, 0xa8, 0xe4, 0x78, 0xfc, 0x32, 0xa4, 0x28, 0x4c, 0xec,
+ 0xce, 0xbd, 0x83, 0xbd, 0xba, 0x6d, 0x04, 0xdd, 0x77, 0xb1,
+ 0x52, 0x83, 0x2e, 0x6f, 0x4b, 0x6f, 0xf5, 0x8b, 0x48, 0x8b,
+ 0x0c, 0x08, 0x5e, 0x97, 0x20, 0x69, 0x3d, 0x48, 0x78, 0x27,
+ 0xc0, 0x4f, 0x78, 0x8c, 0xdd, 0x8c, 0x74, 0x58, 0x57, 0x48,
+ 0xa3, 0x75, 0x6c, 0xdd, 0xce, 0x92, 0x04, 0x99, 0xe3, 0x28,
+ 0xf9, 0x28, 0x72, 0x5c, 0x78, 0xe2, 0xb3, 0xa0, 0x93, 0xf9,
+ 0xf2, 0x60, 0xb3, 0xb2, 0x96, 0x74, 0x02, 0x74, 0x81, 0xfe,
+ 0x9c, 0xca, 0x7e, 0x13, 0xaf, 0x02, 0x43, 0xb0, 0xb6, 0x9c,
+ 0x3d, 0x56, 0x54, 0x56, 0x0e, 0xb5, 0xfa, 0xf1, 0x91, 0x9b,
+ 0x68, 0x54, 0x6c, 0xc8, 0x51, 0x12, 0x6a, 0x6f, 0x86, 0x6f,
+ 0xda, 0x2d, 0xb1, 0xef, 0xb4, 0x7f, 0x79, 0x86, 0x68, 0x94,
+ 0xeb, 0xe6, 0xb1, 0x41, 0x1a, 0x41, 0x42, 0x7c, 0xc3, 0xfb,
+ 0x33, 0xc7, 0x67, 0x1a, 0xd1, 0xfc, 0x98, 0x1b, 0x5f, 0xb9,
+ 0xc5, 0xb9, 0xb7, 0xda, 0x08, 0x79, 0xee, 0xa1, 0xa4, 0xc5,
+ 0x5c, 0xde, 0x23, 0x58, 0xcc, 0x9d, 0xf6, 0x9d, 0xd2, 0x9c,
+ 0x64, 0xb4, 0x35, 0x31, 0xee, 0xf6, 0x38, 0xae, 0xab, 0x62,
+ 0x99, 0x84, 0x51, 0x84, 0x6e, 0xf5, 0x4f, 0xc3, 0x52, 0x55,
+ 0x43, 0x51, 0x2a, 0x33, 0xb2, 0x05, 0xde, 0x7e, 0xad, 0x7e,
+ 0x7c, 0xe9, 0x82, 0x13, 0x22, 0x3b, 0xfb, 0xad, 0x9e, 0xa8,
+ 0x99, 0xac, 0x17, 0xb3, 0x6a, 0xb3, 0x4a, 0xcd, 0x16, 0xa0,
+ 0xb2, 0x89, 0xf0, 0x6a, 0x81, 0xc6, 0x89, 0x8d, 0x1d, 0x13,
+ 0x08, 0x13, 0x41, 0x7e, 0x35, 0xae, 0x3b, 0x4c, 0xf9, 0x08,
+ 0xcf, 0x85, 0xdf, 0x1c, 0x4c, 0x4a, 0x45, 0x4a, 0x2d, 0x36,
+ 0xde, 0x0b, 0xd8, 0xeb, 0xef, 0x45, 0xf1, 0x59, 0x0d, 0xdf,
+ 0xae, 0x72, 0x67, 0x72, 0x6b, 0xf3, 0x96, 0x3c, 0x4a, 0x0b,
+ 0x22, 0x67, 0x08, 0xb8, 0x31, 0xd4, 0x56, 0x29, 0x09, 0x29,
+ 0xe0, 0x01, 0x7b, 0xcb, 0x04, 0xa4, 0x4f, 0x09, 0x0f, 0xdd,
+ 0x70, 0xe7, 0x36, 0xe6, 0xed, 0xe6, 0x31, 0x9f, 0xe9, 0x2a,
+ 0x39, 0x1e, 0x3f, 0xed, 0x29, 0x0a, 0x73, 0xfd, 0xee, 0xf8,
+ 0xdf, 0xf8, 0xf5, 0xa6, 0xcb, 0x82, 0xdd, 0x66, 0xc3, 0xdf,
+ 0x8d, 0x22, 0x1d, 0xfe, 0xa4, 0xd2, 0x05, 0xd2, 0x60, 0x40,
+ 0xb5, 0x32, 0xc3, 0xce, 0x2b, 0x05, 0x46, 0xfb, 0x8d, 0x14,
+ 0xfe, 0x3b, 0xf1, 0x3b, 0x33, 0x22, 0x4d, 0x4c, 0x88, 0xec,
+ 0x6a, 0xf1, 0x3d, 0xe5, 0xf1, 0x9b, 0x2e, 0xa5, 0xd4, 0xa5,
+ 0x94, 0x59, 0x2c, 0x83, 0xa7, 0xd1, 0x23, 0xd4, 0xc1, 0x4f,
+ 0x7d, 0x38, 0x98, 0x94, 0x8a, 0x94, 0x5a, 0x6c, 0x7f, 0x16,
+ 0x73, 0x15, 0x1d, 0x8a, 0x21, 0xb2, 0x17, 0xa2, 0x31, 0x96,
+ 0xa9, 0x96, 0xbd, 0xd6, 0x79, 0x44, 0xde, 0x1d, 0x66, 0xa9,
+ 0x18, 0x0b, 0x2c, 0x2a, 0xf2, 0xfb, 0x0c, 0xfb, 0x80, 0x41,
+ 0xce, 0xf9, 0xc7, 0x6a, 0x64, 0x0c, 0x49, 0x26, 0x35, 0x4d,
+ 0xb5, 0x01, 0xf0, 0x01, 0x92, 0x5d, 0x03, 0x29, 0xb7, 0x04,
+ 0xdc, 0xf0, 0xfd, 0xbd, 0x88, 0x3a, 0x55, 0x19, 0xa7, 0x19,
+ 0xbc, 0x69, 0x2b, 0x77, 0x67, 0x64, 0xad, 0xa7, 0x12, 0x9d,
+ 0x67, 0x45, 0x07, 0x70, 0x44, 0x70, 0x8c, 0x49, 0x90, 0x6e,
+ 0xe7, 0x03, 0x59, 0x44, 0x31, 0x01, 0xe1, 0xba, 0x24, 0x05,
+ 0xb6, 0x05, 0x9f, 0xea, 0x0f, 0x8d, 0x2e, 0x14, 0x2a, 0xb6,
+ 0x8f, 0x0c, 0xb5, 0x86, 0xe5, 0x48, 0x66, 0x48, 0xca, 0x8c,
+ 0xd8, 0x59, 0x75, 0xe3, 0x94, 0x66, 0xc8, 0xe0, 0x64, 0x5f,
+ 0xdf, 0x6e, 0x76, 0x6e, 0x48, 0x70, 0xb2, 0xc6, 0x03, 0x7b,
+ 0xa5, 0x76, 0x95, 0x29, 0xb1, 0x1f, 0x06, 0x60, 0x9f, 0x60,
+ 0xb8, 0xd0, 0xa0, 0xbb, 0xc6, 0x43, 0x07, 0x9f, 0x3a, 0x80,
+ 0x08, 0xf1, 0x05, 0x50, 0x31, 0x50, 0xe4, 0xb8, 0xf0, 0x07,
+ 0xa5, 0x83, 0xe5, 0x31, 0x27, 0xc0, 0xe5, 0x23, 0xc7, 0x2d,
+ 0x4f, 0x2d, 0xed, 0xb6, 0x77, 0x6f, 0x9d, 0xb4, 0xb9, 0x4f,
+ 0x7d, 0x6c, 0x1c, 0x49, 0xec, 0xd8, 0xaa, 0xd8, 0x9d, 0x57,
+ 0xab, 0xeb, 0x9f, 0xe6, 0x7f, 0xaa, 0x9b, 0xe3, 0x6b, 0x2d,
+ 0xe1, 0x08, 0x8c, 0x08, 0x1a, 0xad, 0x18, 0x8b, 0xf1, 0x20,
+ 0x2f, 0x8c, 0xe4, 0xa1, 0x5c, 0xcd, 0xc4, 0x1d, 0xe1, 0x1d,
+ 0xb1, 0xde, 0x27, 0xd3, 0xfe, 0x74, 0x5b, 0xe1, 0x60, 0x2c,
+ 0xa3, 0x93, 0x9c, 0xd4, 0x60, 0xd4, 0x8a, 0x4d, 0xbf, 0xc4,
+ 0xf7, 0xd6, 0xa6, 0x60, 0x0d, 0xf3, 0x7a, 0xbb, 0xa3, 0xa2,
+ 0x41, 0xa2, 0xec, 0x09, 0x25, 0x5c, 0x24, 0xcd, 0x72, 0x41,
+ 0x77, 0xfa, 0xe8, 0xfc, 0x69, 0x5f, 0x28, 0x5f, 0x86, 0x45,
+ 0xe1, 0x53, 0xd7, 0xbf, 0x9b, 0x28, 0x75, 0xd4, 0xda, 0x32,
+ 0xe7, 0x68, 0x13, 0x68, 0xa2, 0x7d, 0xb8, 0x30, 0x37, 0x63,
+ 0x28, 0x13, 0xde, 0x21, 0xd7, 0xed, 0x49, 0x1a, 0x74, 0x1a,
+ 0xc9, 0x8e, 0x2e, 0x0c, 0x7d, 0x68, 0x0a, 0x74, 0xd6, 0x99,
+ 0xfa, 0x70, 0xf3, 0xeb, 0xd7, 0xeb, 0xb4, 0xd8, 0xfe, 0x2c,
+ 0xe6, 0x2a, 0x3a, 0xd7, 0x42, 0xa7, 0xa7, 0x0a, 0x7f, 0xfc,
+ 0x99, 0xfc, 0xf8, 0x11, 0xc7, 0x26, 0x44, 0x76, 0x35, 0x99,
+ 0xff, 0x93, 0x7f, 0x95, 0x08, 0x80, 0x17, 0x80, 0x63, 0x42,
+ 0x43, 0x67, 0xcb, 0x45, 0xb5, 0x17, 0x58, 0x82, 0xe4, 0x94,
+ 0x8f, 0x27, 0xe0, 0x27, 0x10, 0xa1, 0x69, 0xb6, 0xc1, 0x9c,
+ 0xed, 0xe0, 0xa0, 0x74, 0x8f, 0xb9, 0x6e, 0x2f, 0x6c, 0x2f,
+ 0x0a, 0x0c, 0x71, 0x3d, 0x30, 0xbc, 0xc2, 0x6c, 0x44, 0xd5,
+ 0xa1, 0x3e, 0x0c, 0xc0, 0xfd, 0xc0, 0xb3, 0x63, 0x83, 0xb5,
+ 0x4f, 0x86, 0x0e, 0xfd, 0x74, 0xc3, 0x52, 0x08, 0xb2, 0x71,
+ 0xb4, 0x71, 0x1e, 0x14, 0x93, 0x47, 0x50, 0x07, 0x85, 0xb4,
+ 0xcc, 0xbc, 0xec, 0x65, 0x8a, 0x77, 0xd1, 0x77, 0xf4, 0x19,
+ 0x99, 0xb1, 0x64, 0x1f, 0x08, 0xd1, 0x87, 0xb4, 0x3b, 0x88,
+ 0xc3, 0x6d, 0xa5, 0x6d, 0x3d, 0x97, 0xb7, 0xbd, 0x19, 0x77,
+ 0x02, 0xa5, 0x51, 0x2d, 0xa2, 0x24, 0xd4, 0xde, 0xcf, 0xde,
+ 0x77, 0x5a, 0xa1, 0x1d, 0xab, 0xfe, 0xf2, 0xcf, 0xd0, 0xeb,
+ 0x5f, 0xd7, 0x1c, 0x03, 0xd3, 0x03, 0x75, 0xe7, 0x05, 0x7b,
+ 0x1a, 0x0c, 0xa7, 0xd3, 0xc4, 0x04, 0x50, 0xa5, 0x22, 0x65,
+ 0x29, 0x65, 0x27, 0x3a, 0xaf, 0x36, 0xe8, 0x57, 0x2d, 0x29,
+ 0xb5, 0x8c, 0x4a, 0xd8, 0xbd, 0x81, 0xe7, 0x81, 0xf1, 0x1f,
+ 0x40, 0x4e, 0x7c, 0x41, 0x69, 0xe7, 0xa5, 0x3f, 0x57, 0x26,
+ 0x19, 0x53, 0xe2, 0x53, 0x91, 0x5f, 0xf5, 0x7c, 0xbf, 0x8f,
+ 0x42, 0xe2, 0xe3, 0xc4, 0x55, 0x8b, 0x89, 0x47, 0x7f, 0x47,
+ 0xa8, 0x71, 0xc9, 0x0d, 0x07, 0xdf, 0xea, 0x7f, 0x9a, 0xf4,
+ 0xdc, 0x06, 0x94, 0x54, 0x77, 0x54, 0xe9, 0x0f, 0xfc, 0xa3,
+ 0x3c, 0x93, 0x13, 0x77, 0x55, 0x71, 0xde, 0xab, 0x04, 0x40,
+ 0xea, 0x40, 0xd0, 0x21, 0xc0, 0xd2, 0x84, 0xc3, 0xbb, 0xea,
+ 0x2c, 0x41, 0x9d, 0x35, 0xf4, 0x9b, 0x93, 0x9b, 0x38, 0x91,
+ 0x6e, 0x42, 0x01, 0x29, 0x63, 0x93, 0x73, 0xa6, 0xe7, 0x8e,
+ 0x57, 0x39, 0xd2, 0x39, 0xd4, 0x98, 0x4b, 0x1e, 0x25, 0xe4,
+ 0x11, 0xd2, 0x04, 0x5c, 0xaf, 0xfb, 0x7a, 0xac, 0xa8, 0xac,
+ 0x1c, 0xa9, 0x37, 0x21, 0xe1, 0xf5, 0xd0, 0xa8, 0xd8, 0x53,
+ 0x97, 0x69, 0x61, 0xdf, 0x3f, 0xdf, 0xe5, 0x07, 0xa2, 0x34,
+ 0x1c, 0xfa, 0x2e, 0x3f, 0x2d, 0x56, 0xaa, 0xd5, 0xd1, 0x8e,
+ 0xfe, 0x8e, 0x93, 0xe2, 0x51, 0x1a, 0x0e, 0x7d, 0x17, 0xfe,
+ 0xf7, 0x2b, 0x26, 0x76, 0x67, 0xbf, 0xa0, 0xbf, 0x5d, 0xd7,
+ 0x02, 0x8f, 0xda, 0xb9, 0x29, 0xa0, 0x17, 0xd6, 0x4d, 0x5b,
+ 0x86, 0xb7, 0x2c, 0xb7, 0x47, 0x7a, 0x1a, 0x04, 0x2b, 0x99,
+ 0x06, 0x2c, 0xf3, 0x77, 0x54, 0x3c, 0xc1, 0x4d, 0xd0, 0x4d,
+ 0x55, 0x66, 0xd7, 0xd4, 0x5b, 0xf7, 0xbe, 0xd0, 0x47, 0xec,
+ 0xf7, 0xaf, 0x5d, 0x99, 0xb0, 0x99, 0xdf, 0x2b, 0x68, 0x10,
+ 0xac, 0x21, 0x18, 0xb0, 0x4a, 0x1f, 0xd9, 0x28, 0x3f, 0x76,
+ 0x21, 0x76, 0x66, 0x44, 0x9a, 0x98, 0xd3, 0x1b, 0xd4, 0x21,
+ 0x7a, 0x09, 0x84, 0x52, 0xb3, 0x61, 0x6f, 0x61, 0x2a, 0x8d,
+ 0xa3, 0x92, 0x71, 0x47, 0xdb, 0x6f, 0xc7, 0x3d, 0x41, 0x33,
+ 0x60, 0xcf, 0xe4, 0xcf, 0xd1, 0x9e, 0x92, 0xe1, 0x3d, 0xba,
+ 0x70, 0xe4, 0x26, 0xd7, 0x82, 0x66, 0xc0, 0x5d, 0x0b, 0x5d,
+ 0x61, 0xff, 0xe7, 0x01, 0x7a, 0xb7, 0xe0, 0x0b, 0x4c, 0x6d,
+ 0xd6, 0x5a, 0x01, 0x10, 0xdb, 0x10, 0x34, 0x99, 0x30, 0xd5,
+ 0x21, 0x40, 0x5e, 0xdb, 0x0b, 0x81, 0xb7, 0x2b, 0x75, 0x5c,
+ 0xfb, 0x5c, 0xf3, 0xa2, 0xe4, 0x28, 0xcd, 0xb3, 0x3c, 0xfb,
+ 0xb1, 0xd0, 0xdb, 0x85, 0xaf, 0x62, 0xbc, 0x62, 0x5f, 0x6a,
+ 0xa6, 0xe9, 0x6b, 0x4b, 0x7c, 0xbc, 0x03, 0x39, 0x2b, 0xa9,
+ 0xc9, 0xcd, 0xc7, 0xcd, 0x36, 0x24, 0x94, 0xb3, 0x90, 0xb2,
+ 0x0b, 0xc7, 0x1f, 0x6e, 0xa6, 0xbd, 0x37, 0xf6, 0x36, 0xf6,
+ 0x05, 0x06, 0xd9, 0xff, 0x18, 0x5e, 0x61, 0x36, 0x22, 0x8b,
+ 0x38, 0x92, 0x1b, 0x73, 0x97, 0x73, 0xf9, 0xae, 0x95, 0x15,
+ 0xfd, 0x0f, 0xfe, 0x97, 0xf5, 0x05, 0xce, 0x8a, 0x0e, 0xe0,
+ 0x88, 0xe0, 0xdb, 0x92, 0xe3, 0xdc, 0x0d, 0x06, 0xb2, 0x88,
+ 0x62, 0x02, 0x95, 0xc4, 0xf1, 0xcb, 0xa2, 0xcb, 0xdc, 0x29,
+ 0x9e, 0x45, 0xa4, 0xaa, 0x86, 0xa2, 0x54, 0x66, 0x71, 0x50,
+ 0x7e, 0xec, 0x42, 0xec, 0xcc, 0x88, 0xf7, 0xf3, 0x65, 0x36,
+ 0x6b, 0x42, 0xf4, 0x12, 0xc3, 0x55, 0xa0, 0x92, 0xef, 0x92,
+ 0xb0, 0x61, 0x75, 0xe0, 0x47, 0x0d, 0x90, 0xef, 0x6a, 0xba,
+ 0x8e, 0x0e, 0x26, 0x25, 0xc3, 0x25, 0xf7, 0x1b, 0x6f, 0xe4,
+ 0x6c, 0x94, 0x96, 0xc3, 0x99, 0xcd, 0x9a, 0xb6, 0xcf, 0xad,
+ 0x58, 0xad, 0x8e, 0xf4, 0x34, 0x08, 0x56, 0xf1, 0x0c, 0x58,
+ 0x25, 0xee, 0xef, 0x7f, 0x52, 0x69, 0xe3, 0x69, 0x30, 0x20,
+ 0xbb, 0x19, 0x80, 0x67, 0xf4, 0xe3, 0x23, 0x9c, 0x25, 0x6c,
+ 0xbf, 0xa1, 0x92, 0xa1, 0x99, 0xee, 0x20, 0x27, 0x3e, 0xc1,
+ 0xd5, 0x92, 0xb3, 0xfe, 0xa4, 0x10, 0xa7, 0xe2, 0xab, 0xe2,
+ 0x3c, 0x28, 0xe5, 0x8e, 0xa0, 0x0e, 0xc9, 0xab, 0x5b, 0xbb,
+ 0xe9, 0x4b, 0x21, 0x55, 0x87, 0x55, 0x7b, 0x52, 0xff, 0x8a,
+ 0x8b, 0x97, 0xcf, 0x87, 0xa8, 0xcc, 0x3c, 0x0b, 0xf8, 0x5b,
+ 0x6e, 0x5b, 0x8b, 0xf2, 0xed, 0xf7, 0x4e, 0xaf, 0x6d, 0x6e,
+ 0x07, 0x65, 0x6f, 0xb4, 0x02, 0x20, 0x75, 0x20, 0x68, 0xf1,
+ 0x60, 0x69, 0x42, 0x80, 0xbc, 0x75, 0x16, 0xc1, 0x02, 0xad,
+ 0x90, 0x14, 0x9d, 0x14, 0x39, 0x2e, 0x3c, 0x71, 0xb8, 0x50,
+ 0xa8, 0x9d, 0x79, 0x30, 0x01, 0xb7, 0x48, 0x0a, 0xaf, 0x0a,
+ 0xfd, 0x17, 0x1e, 0xd9, 0x5c, 0x28, 0x54, 0xaf, 0xdd, 0x18,
+ 0x0a, 0x5c, 0x95, 0x44, 0xac, 0x44, 0xdd, 0x96, 0xcc, 0x76,
+ 0x1d, 0xd3, 0x4d, 0xac, 0x5e, 0xf0, 0x09, 0x46, 0x4d, 0x5a,
+ 0x9e, 0x5a, 0x19, 0xaf, 0xee, 0xde, 0xf9, 0xab, 0xb1, 0x9e,
+ 0xfa, 0xd8, 0x94, 0x73, 0xb9, 0xc1, 0x0d, 0xc1, 0x21, 0x3e,
+ 0x80, 0x9c, 0xf8, 0x82, 0xd2, 0x0d, 0x89, 0x7e, 0xed, 0xd2,
+ 0xc2, 0x7d, 0x7e, 0x7d, 0x09, 0x0e, 0x87, 0x68, 0x38, 0x37,
+ 0x5c, 0x7e, 0x5a, 0xac, 0x59, 0xe3, 0x6f, 0x3f, 0xb7, 0x3f,
+ 0x3e, 0x95, 0x41, 0xe8, 0x11, 0xfc, 0x9c, 0xb7, 0x4f, 0x54,
+ 0x61, 0x71, 0x74, 0x4c, 0x20, 0x4c, 0xc7, 0x3b, 0xd4, 0xfd,
+ 0xec, 0xf3, 0x62, 0x20, 0xba, 0x51, 0x69, 0x80, 0x71, 0x1c,
+ 0x11, 0x1c, 0x23, 0x83, 0x24, 0xfa, 0x49, 0x70, 0x87, 0x11,
+ 0x9d, 0x91, 0x29, 0x04, 0x59, 0xd9, 0x5a, 0xd9, 0x0f, 0x0a,
+ 0xa8, 0xc2, 0x28, 0xe2, 0xa3, 0x5a, 0x66, 0x5e, 0xb0, 0xa8,
+ 0x4e, 0x6a, 0x30, 0x6a, 0x45, 0xc7, 0xbe, 0x62, 0x9a, 0x6b,
+ 0x53, 0x30, 0xe7, 0x98, 0x30, 0x63, 0x1e, 0x23, 0xa6, 0x23,
+ 0x1d, 0x16, 0x65, 0x12, 0x58, 0x8c, 0x1b, 0xa6, 0xd2, 0xc5,
+ 0x60, 0xc6, 0x3c, 0x46, 0x8f, 0x46, 0x3a, 0x2c, 0xca, 0x24,
+ 0xb0, 0xdb, 0x36, 0x8f, 0x67, 0x49, 0x74, 0x7e, 0xd5, 0xce,
+ 0x14, 0xce, 0x43, 0xc3, 0x91, 0xc8, 0x8a, 0xbe, 0xac, 0x14,
+ 0xdb, 0x6a, 0x22, 0xef, 0x84, 0x97, 0x59, 0x97, 0x2f, 0x8b,
+ 0x7a, 0x6d, 0x69, 0x19, 0xba, 0x59, 0xe5, 0xb6, 0x0c, 0x68,
+ 0xe6, 0x78, 0xc8, 0x78, 0x96, 0xe4, 0x88, 0xe5, 0x16, 0x23,
+ 0x76, 0xc8, 0xd5, 0xa0, 0xcd, 0x90, 0xd6, 0xfe, 0xba, 0xfe,
+ 0x1f, 0xab, 0xc1, 0x74, 0xe9, 0x7e, 0x4e, 0xba, 0xc6, 0x2a,
+ 0x7b, 0x0c, 0xeb, 0xa8, 0xee, 0xa8, 0x11, 0x1e, 0x3b, 0x85,
+ 0x78, 0xe5, 0x26, 0xee, 0xaa, 0xe2, 0x5b, 0x4e, 0xff, 0x2b,
+ 0x2a, 0x2b, 0x07, 0xbb, 0x7d, 0x99, 0xa9, 0xac, 0x34, 0x2a,
+ 0x36, 0x64, 0x40, 0x84, 0x28, 0xc5, 0x4b, 0xc5, 0x2c, 0x89,
+ 0x8c, 0x38, 0x61, 0x92, 0x24, 0x4b, 0xfb, 0xcf, 0xe3, 0x17,
+ 0xb4, 0x11, 0x2b, 0x11, 0xa6, 0xc4, 0x33, 0xfc, 0x96, 0x44,
+ 0x82, 0x2b, 0xf6, 0x3c, 0x14, 0xb8, 0xe9, 0x88, 0x9b, 0x88,
+ 0x79, 0xef, 0x5b, 0xec, 0x3a, 0x65, 0x9a, 0x9b, 0xbc, 0x23,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xf3, 0xc8, 0xdd,
+ 0x1c, 0xdd, 0x02, 0xbd, 0xa4, 0x66, 0xb1, 0xf2, 0x55, 0x1c,
+ 0x14, 0xef, 0x78, 0x16, 0x33, 0xb6, 0xdc, 0xb6, 0xd5, 0x27,
+ 0x19, 0x2d, 0x9c, 0x9d, 0xda, 0xdc, 0x0e, 0xca, 0xad, 0x56,
+ 0xea, 0xb8, 0x35, 0xb8, 0x25, 0x87, 0x0b, 0x50, 0x59, 0xa5,
+ 0x78, 0x35, 0xa1, 0x63, 0xd0, 0x6e, 0x72, 0x2c, 0xbf, 0x2c,
+ 0x7f, 0xeb, 0x74, 0x46, 0x2a, 0xb0, 0x65, 0xbf, 0x80, 0xd1,
+ 0x91, 0x5d, 0x12, 0xe3, 0x5b, 0xe3, 0xae, 0x75, 0xe6, 0xa7,
+ 0x17, 0x0a, 0x15, 0x5b, 0xa6, 0x06, 0xfc, 0x44, 0x80, 0xd7,
+ 0xb3, 0xd7, 0xff, 0xaa, 0xba, 0xbf, 0xed, 0xda, 0x01, 0xb3,
+ 0xc9, 0xf7, 0xf9, 0x6a, 0x2b, 0xf5, 0xe5, 0xf5, 0x70, 0xe1,
+ 0xdc, 0x84, 0x02, 0x52, 0xc6, 0xe5, 0xe6, 0x8f, 0xea, 0x51,
+ 0xf9, 0x4b, 0xb5, 0x4b, 0xbf, 0x6b, 0xdd, 0x22, 0x6f, 0xef,
+ 0x33, 0xb5, 0x0c, 0xe4, 0x85, 0xe5, 0xfb, 0x6b, 0xc0, 0x6b,
+ 0xd7, 0x9a, 0xbd, 0x4b, 0x2d, 0x6f, 0x8f, 0xc0, 0x1a, 0x25,
+ 0x7e, 0x22, 0x40, 0x8a, 0xb8, 0x8a, 0x9e, 0x55, 0x5d, 0xbe,
+ 0x97, 0x6d, 0xe1, 0xb8, 0x85, 0x9a, 0x77, 0x64, 0x0d, 0xd0,
+ 0x26, 0xd0, 0x87, 0xfa, 0xb3, 0x60, 0x6e, 0xc6, 0x50, 0x26,
+ 0x7f, 0x42, 0xc7, 0xcc, 0x43, 0xba, 0x16, 0xba, 0xc2, 0x3d,
+ 0x0d, 0x02, 0xf4, 0xad, 0x03, 0x16, 0x98, 0xda, 0xc5, 0x61,
+ 0xd3, 0xae, 0x8b, 0xae, 0xfb, 0x13, 0x31, 0x73, 0x4c, 0xfd,
+ 0xab, 0x8b, 0xe1, 0xea, 0x5d, 0x7a, 0x8c, 0x17, 0x4e, 0x17,
+ 0x4c, 0xc9, 0x39, 0x0a, 0xa2, 0x5c, 0x0f, 0x4e, 0xbd, 0x34,
+ 0x3a, 0x3f, 0x8b, 0x67, 0x0a, 0x67, 0xc0, 0x80, 0xa9, 0x64,
+ 0x45, 0x5f, 0x56, 0x0a, 0x8c, 0x35, 0xd5, 0x40, 0xd9, 0x0e,
+ 0xe9, 0x0e, 0xf0, 0xa0, 0x12, 0x7d, 0xc5, 0x38, 0xa2, 0xe9,
+ 0xaf, 0xa9, 0x66, 0xf2, 0x4f, 0x7a, 0xeb, 0x7a, 0x71, 0x5e,
+ 0x8e, 0xb7, 0xbb, 0x2b, 0x0d, 0xeb, 0xec, 0x19, 0x8b, 0x20,
+ 0x8d, 0x07, 0x95, 0x07, 0x78, 0x50, 0x09, 0xdf, 0x83, 0x1c,
+ 0x51, 0x95, 0xb6, 0xb5, 0x49, 0xc2, 0x65, 0x9f, 0xd5, 0x9f,
+ 0x35, 0x26, 0x62, 0xe6, 0x98, 0x39, 0x95, 0xd5, 0x01, 0x17,
+ 0xc2, 0xe2, 0xe8, 0x98, 0x40, 0x98, 0x4d, 0x76, 0x6b, 0x39,
+ 0x1b, 0x25, 0xc4, 0x40, 0xb7, 0xa2, 0xc6, 0x7b, 0x0b, 0xb0,
+ 0xb9, 0xb0, 0x3f, 0x2a, 0x13, 0xdb, 0xa8, 0x85, 0x57, 0xb9,
+ 0x45, 0xc2, 0x56, 0x91, 0x51, 0x59, 0x4d, 0x59, 0x6c, 0x48,
+ 0xeb, 0xa5, 0xe3, 0xa7, 0x16, 0x4d, 0x3e, 0xdc, 0x4e, 0x41,
+ 0x5e, 0xa9, 0x1e, 0xa9, 0x83, 0x43, 0x38, 0xac, 0xcf, 0xe1,
+ 0xfa, 0x1e, 0x57, 0x5f, 0x27, 0xc1, 0x2f, 0xb5, 0x0f, 0xb5,
+ 0xa0, 0xc0, 0x1c, 0x56, 0x86, 0x91, 0x7d, 0x0f, 0xca, 0xce,
+ 0xe6, 0x39, 0x1f, 0x33, 0x7d, 0x33, 0x29, 0x8f, 0x55, 0xc7,
+ 0x79, 0xcc, 0x45, 0x7d, 0xd9, 0x44, 0x93, 0xf0, 0x82, 0xf7,
+ 0xc6, 0xf7, 0x97, 0x5b, 0xda, 0xd6, 0xaf, 0x5a, 0xbd, 0xc6,
+ 0xdf, 0x36, 0xbb, 0x43, 0x93, 0x24, 0x33, 0x24, 0x65, 0x46,
+ 0x6c, 0xcd, 0xdb, 0x90, 0x4a, 0x33, 0x64, 0x70, 0xd1, 0xd9,
+ 0x3a, 0x26, 0x10, 0x26, 0x82, 0xfc, 0x6a, 0x9f, 0x76, 0x98,
+ 0x31, 0x10, 0x5d, 0xc9, 0x63, 0xdc, 0xe4, 0x58, 0xbd, 0x58,
+ 0xfe, 0x15, 0xe8, 0x8c, 0x54, 0xa3, 0xca, 0xbd, 0xc3, 0x61,
+ 0xc1, 0xf8, 0x30, 0x86, 0x72, 0x86, 0x89, 0x4f, 0x49, 0x91,
+ 0xff, 0x5d, 0x38, 0x72, 0x13, 0x8a, 0x45, 0xaa, 0x83, 0xe7,
+ 0x1d, 0xe7, 0xa3, 0xc2, 0xea, 0x03, 0x8e, 0x1a, 0xe3, 0x1d,
+ 0xd4, 0xb7, 0xc8, 0xbe, 0x7d, 0xdc, 0xec, 0xdc, 0x90, 0xe0,
+ 0xa7, 0x4f, 0x06, 0xf6, 0x89, 0xec, 0xe9, 0x52, 0x16, 0x15,
+ 0x79, 0x9c, 0x06, 0x9c, 0x40, 0xc1, 0x67, 0x9d, 0x82, 0x35,
+ 0x32, 0x06, 0xc5, 0x13, 0x1b, 0xca, 0xd7, 0xee, 0x61, 0xee,
+ 0x2b, 0x32, 0xf1, 0xa1, 0xc8, 0x3e, 0x10, 0x61, 0xcd, 0xab,
+ 0x20, 0x42, 0x14, 0x83, 0xc4, 0x83, 0x16, 0xa5, 0x46, 0x1c,
+ 0xd1, 0x49, 0x12, 0xc4, 0x9c, 0x86, 0x9b, 0x01, 0x87, 0xa7,
+ 0xf7, 0xa7, 0x73, 0xe3, 0x2a, 0xd1, 0x0a, 0xd9, 0x58, 0xf7,
+ 0xf8, 0xf6, 0xf3, 0x36, 0xbe, 0xb1, 0x49, 0xb1, 0xad, 0x77,
+ 0x10, 0xf2, 0x1f, 0x81, 0x8b, 0x49, 0xb8, 0x7f, 0xb8, 0x59,
+ 0x4b, 0x3a, 0x01, 0x3a, 0xa1, 0x7f, 0x4e, 0x65, 0x3f, 0xe8,
+ 0xb6, 0x01, 0xc0, 0x58, 0xf0, 0x2c, 0x66, 0xaf, 0x7b, 0xaf,
+ 0x69, 0x4e, 0x32, 0x5a, 0xfb, 0xf9, 0x77, 0x7b, 0x1c, 0x57,
+ 0x2f, 0x30, 0x2a, 0xe5, 0x3e, 0xe5, 0x44, 0x78, 0xec, 0x51,
+ 0x23, 0x12, 0x98, 0x3e, 0xed, 0x0e, 0xba, 0xf4, 0xdb, 0x2e,
+ 0x9c, 0x2e, 0x98, 0x51, 0x72, 0x14, 0x87, 0xb8, 0x1e, 0x9c,
+ 0xb9, 0x68, 0x4f, 0xf6, 0x16, 0xa3, 0xb1, 0xa3, 0x7e, 0x54,
+ 0x26, 0x75, 0x93, 0xc9, 0xae, 0xb1, 0x8a, 0x47, 0xbe, 0x6d,
+ 0x38, 0x06, 0x65, 0x06, 0xea, 0x0d, 0x0a, 0xf6, 0x34, 0x18,
+ 0x8d, 0x65, 0x4b, 0x08, 0x12, 0x8c, 0x9a, 0xb4, 0xff, 0xb4,
+ 0x32, 0x9d, 0x1f, 0x7f, 0x31, 0x95, 0xa1, 0xff, 0x37, 0x73,
+ 0x43, 0x9e, 0xf0, 0xdb, 0x79, 0xdb, 0xe8, 0xb0, 0xae, 0x90,
+ 0x85, 0xea, 0xd8, 0x79, 0x5f, 0xe7, 0xcf, 0x3d, 0x46, 0xea,
+ 0x27, 0xea, 0x26, 0x85, 0xfd, 0x05, 0x51, 0x2e, 0xe6, 0x27,
+ 0xbf, 0x1a, 0xc9, 0x09, 0x35, 0xd6, 0x43, 0xd6, 0x6d, 0xf7,
+ 0xb9, 0x96, 0x5a, 0xde, 0xdd, 0x43, 0x34, 0x4a, 0x2a, 0x1e,
+ 0x81, 0xc7, 0x68, 0xc7, 0xcb, 0x33, 0x8a, 0x6a, 0xcc, 0x9a,
+ 0x5f, 0x68, 0xc2, 0x76, 0x11, 0x96, 0x42, 0xaa, 0xcd, 0xaa,
+ 0xf6, 0xa4, 0x3d, 0xd7, 0xd5, 0xed, 0x5d, 0xcd, 0x93, 0x5b,
+ 0x15, 0x0f, 0xa1, 0x82, 0x34, 0x82, 0x84, 0xf8, 0x45, 0x35,
+ 0x66, 0x4d, 0xce, 0x34, 0x61, 0x3b, 0xf6, 0x18, 0x15, 0x93,
+ 0x1f, 0x93, 0x22, 0x3c, 0x76, 0xc9, 0xf0, 0x09, 0x4c, 0x1f,
+ 0x97, 0x07, 0x62, 0x6b, 0xac, 0x52, 0x12, 0x52, 0x03, 0x02,
+ 0xf6, 0x55, 0x08, 0x8b, 0x9e, 0x12, 0x1e, 0x79, 0xcc, 0x27,
+ 0x9e, 0xf4, 0x15, 0xf4, 0xe2, 0xbc, 0xdf, 0xad, 0xb5, 0x56,
+ 0x1a, 0x15, 0x1b, 0x32, 0xe0, 0x0d, 0x6c, 0x0f, 0x19, 0x0f,
+ 0x62, 0xfd, 0x11, 0x54, 0x72, 0x3c, 0x7e, 0x19, 0x52, 0x14,
+ 0x8c, 0xa3, 0xb6, 0x31, 0x5e, 0x31, 0xce, 0x35, 0x53, 0x95,
+ 0xd4, 0xc4, 0x3e, 0x5e, 0xe0, 0xfd, 0x90, 0xea, 0x5a, 0xe9,
+ 0xf4, 0xe9, 0x53, 0x62, 0xf8, 0x7e, 0x4b, 0x22, 0x41, 0xf4,
+ 0x7b, 0x1e, 0x47, 0x07, 0x13, 0xf3, 0x80, 0xf3, 0x9a, 0xec,
+ 0xd6, 0x72, 0x36, 0x4a, 0x4b, 0x80, 0xad, 0x87, 0xff, 0x5e,
+ 0x58, 0xc9, 0x81, 0xc9, 0x3b, 0x93, 0x98, 0x17, 0x09, 0xa2,
+ 0xfd, 0x81, 0x6d, 0xdf, 0x81, 0x7c, 0x18, 0x43, 0x39, 0x43,
+ 0xa5, 0xc6, 0xc5, 0xa9, 0x9e, 0xcf, 0x1c, 0x39, 0xe8, 0x45,
+ 0x5e, 0x60, 0x54, 0x09, 0x7c, 0x09, 0x88, 0xf0, 0x1b, 0xa2,
+ 0x46, 0x24, 0xf3, 0x7c, 0x19, 0x1c, 0xfb, 0xc7, 0xbb, 0xe1,
+ 0x78, 0xe1, 0x49, 0xcf, 0xe0, 0xf5, 0xba, 0x02, 0x6e, 0x78,
+ 0x9f, 0xbf, 0x79, 0xa1, 0x7b, 0xbc, 0x73, 0xbc, 0x28, 0x30,
+ 0x07, 0xf4, 0xc0, 0xb5, 0x8e, 0x73, 0xd3, 0xd2, 0x36, 0x57,
+ 0x6d, 0x1f, 0xc2, 0x1f, 0x56, 0x64, 0x21, 0x81, 0x53, 0x7c,
+ 0x20, 0xc2, 0x59, 0x95, 0x32, 0xce, 0x8e, 0x37, 0x3b, 0x37,
+ 0x24, 0x38, 0x59, 0x63, 0xe0, 0xdc, 0xb3, 0x3b, 0xab, 0xf5,
+ 0x0e, 0xc5, 0x76, 0x6c, 0x55, 0x6c, 0xaf, 0xca, 0xb4, 0x94,
+ 0xae, 0x73, 0xde, 0x55, 0xac, 0x90, 0xd3, 0x74, 0xaa, 0x32,
+ 0x8d, 0x32, 0xbb, 0xd2, 0x56, 0xee, 0xce, 0xc8, 0x99, 0x8d,
+ 0x24, 0xf9, 0x33, 0x79, 0xc6, 0x3d, 0x94, 0x3d, 0xd9, 0x2f,
+ 0x47, 0xba, 0xbc, 0xf4, 0xe7, 0x94, 0x76, 0xed, 0x53, 0xbf,
+ 0xfa, 0x7b, 0x1b, 0x7b, 0xe3, 0x03, 0x8d, 0x9e, 0x0c, 0x2f,
+ 0xd1, 0x1b, 0x11, 0xa4, 0x87, 0x48, 0x6b, 0x7f, 0x5d, 0x7f,
+ 0xee, 0xb4, 0x81, 0x3a, 0x95, 0x3f, 0x27, 0x5d, 0x63, 0x15,
+ 0x21, 0xf5, 0x5c, 0x89, 0x6b, 0x89, 0xeb, 0xb2, 0x58, 0xc5,
+ 0x8d, 0x61, 0x46, 0x6b, 0x41, 0x9e, 0xd4, 0xf7, 0x91, 0x04,
+ 0x46, 0x04, 0x0d, 0xb7, 0x0c, 0xa4, 0x99, 0x10, 0xf6, 0x46,
+ 0x72, 0xb1, 0x07, 0x83, 0x3b, 0x36, 0xcb, 0x36, 0xb6, 0x65,
+ 0x5a, 0x4a, 0x57, 0xd8, 0x6f, 0xcb, 0x56, 0x48, 0x48, 0x75,
+ 0x2d, 0x95, 0x7a, 0x95, 0xc8, 0x31, 0x7c, 0x3f, 0xc4, 0x11,
+ 0xc1, 0x7a, 0xdc, 0x0f, 0xdd, 0xb1, 0xdc, 0x5e, 0xd8, 0x5e,
+ 0x14, 0x18, 0xe2, 0x7a, 0x60, 0xbb, 0x47, 0xd8, 0x88, 0x69,
+ 0x6e, 0x03, 0x4a, 0x2a, 0xda, 0x2a, 0x95, 0xe6, 0x7e, 0xb0,
+ 0x1e, 0xa8, 0xe8, 0xda, 0xcb, 0xd9, 0xc4, 0xd6, 0x9b, 0xa4,
+ 0x24, 0xa4, 0x06, 0x04, 0x2f, 0xaa, 0x10, 0xd5, 0xff, 0x24,
+ 0x3c, 0xf2, 0x58, 0x54, 0x27, 0x35, 0x18, 0x35, 0xc3, 0x82,
+ 0x5f, 0x31, 0x4d, 0xd4, 0xc8, 0x18, 0x92, 0x4c, 0x9c, 0x82,
+ 0xbc, 0x91, 0x3c, 0x91, 0xc5, 0x86, 0x70, 0x9b, 0x5d, 0x01,
+ 0x37, 0x3c, 0xae, 0xbe, 0x05, 0x2e, 0xab, 0x22, 0x56, 0x22,
+ 0x8f, 0x4b, 0x66, 0x3b, 0xef, 0x88, 0xc7, 0x56, 0x2f, 0x78,
+ 0x19, 0x67, 0x47, 0xfa, 0xfc, 0xfa, 0x12, 0x1c, 0xcd, 0xd0,
+ 0x70, 0x6e, 0xb8, 0xfc, 0xb4, 0x9b, 0xd8, 0x9f, 0x77, 0x7c,
+ 0x8e, 0x7c, 0x9b, 0x53, 0x84, 0x41, 0x8f, 0x33, 0x80, 0x8e,
+ 0xa7, 0x11, 0x80, 0xcb, 0x50, 0x49, 0x96, 0x49, 0x58, 0xd1,
+ 0xdb, 0x70, 0xc2, 0xe7, 0x48, 0x96, 0x35, 0x5d, 0x9e, 0x2f,
+ 0x2c, 0x85, 0xa1, 0x85, 0xfc, 0xa8, 0x4c, 0xea, 0xe5, 0x51,
+ 0x9f, 0xa1, 0xd7, 0x8e, 0x44, 0x1d, 0xcb, 0xed, 0xb2, 0xed,
+ 0x5e, 0xd5, 0xf4, 0xda, 0xd2, 0x32, 0xb7, 0xb2, 0x09, 0xaf,
+ 0xca, 0x13, 0xed, 0xc8, 0x71, 0xc8, 0xa9, 0xce, 0x9b, 0x3e,
+ 0xbe, 0xa6, 0x21, 0x71, 0x90, 0x62, 0x3d, 0xbc, 0xb0, 0x51,
+ 0xc1, 0x51, 0x76, 0xe5, 0xf3, 0x2e, 0x12, 0x87, 0x39, 0xc1,
+ 0xda, 0x7d, 0x2e, 0x87, 0x62, 0xef, 0x91, 0xef, 0xb9, 0x6f,
+ 0xf2, 0x88, 0x7f, 0x3a, 0xcc, 0x91, 0x30, 0x16, 0x72, 0x4a,
+ 0xa6, 0xf2, 0x70, 0xf2, 0x08, 0xb1, 0xd5, 0x5b, 0x81, 0x4e,
+ 0x97, 0x70, 0x50, 0x3a, 0x42, 0x29, 0xb8, 0xd1, 0xd6, 0xd1,
+ 0x15, 0xa7, 0xb0, 0x49, 0xd9, 0xc2, 0x8c, 0xd6, 0x82, 0xff,
+ 0x65, 0xe8, 0x97, 0x64, 0xd9, 0x64, 0xb5, 0x67, 0xac, 0x1f,
+ 0x5f, 0x53, 0xf1, 0xd9, 0x48, 0x31,
+ },
+ {
+ /* 4 */
+ 0x04, 0xc3, 0xb6, 0x81, 0x36, 0x3e, 0x4d, 0xde, 0x9f, 0xbe,
+ 0xcc, 0x92, 0x5e, 0x72, 0x11, 0x8f, 0xc5, 0x34, 0x29, 0xba,
+ 0x33, 0x7a, 0x21, 0x8a, 0x27, 0x60, 0x9b, 0x0b, 0x90, 0xfb,
+ 0x32, 0xb5, 0xdf, 0x7b, 0x40, 0x9b, 0x9c, 0xe1, 0x8b, 0x64,
+ 0x4d, 0x3d, 0x10, 0xa8, 0xb8, 0x2d, 0xbd, 0xb7, 0xb7, 0x84,
+ 0x27, 0x1f, 0x65, 0xc8, 0x66, 0x5a, 0x26, 0x8a, 0x79, 0x61,
+ 0x18, 0xf3, 0xc4, 0xbf, 0x1e, 0x8c, 0xdf, 0xa0, 0x99, 0xa5,
+ 0xe7, 0x30, 0xf5, 0xe3, 0x47, 0x31, 0x76, 0xa4, 0x9e, 0x8d,
+ 0x26, 0x94, 0x14, 0xa2, 0x5e, 0x12, 0xa7, 0x8e, 0x43, 0x58,
+ 0x05, 0xc1, 0xc4, 0x5d, 0x70, 0xdb, 0xff, 0xac, 0xb9, 0x19,
+ 0xef, 0xd2, 0xa6, 0x5b, 0x3f, 0x84, 0xbf, 0xb2, 0x0d, 0x3b,
+ 0x35, 0x45, 0xc8, 0xf2, 0xfc, 0x4b, 0x85, 0xd6, 0x74, 0xfd,
+ 0x12, 0xaf, 0x3f, 0xbb, 0x84, 0x90, 0x94, 0xb4, 0x7b, 0xb5,
+ 0x6d, 0xd5, 0xd6, 0x20, 0x5f, 0x79, 0xab, 0x9b, 0x8a, 0x48,
+ 0xc2, 0x11, 0x41, 0x84, 0x7a, 0xf5, 0xa1, 0x64, 0x3a, 0xce,
+ 0xdd, 0xaf, 0xfc, 0x55, 0xb9, 0x8d, 0x34, 0xec, 0xd4, 0xd7,
+ 0xe8, 0x25, 0x05, 0xc9, 0xf6, 0xe5, 0x59, 0xc2, 0x60, 0x16,
+ 0x90, 0xa1, 0x31, 0x86, 0x1c, 0x46, 0xa0, 0x0d, 0x9b, 0xcf,
+ 0x7c, 0xff, 0x99, 0xc3, 0x79, 0x18, 0x56, 0x72, 0x24, 0x4e,
+ 0xed, 0xbc, 0x3e, 0x5b, 0x26, 0x22, 0xea, 0x96, 0xca, 0x0f,
+ 0x87, 0x5a, 0xe8, 0x2b, 0xc3, 0xb2, 0x16, 0x7f, 0xe9, 0x65,
+ 0xc9, 0x78, 0x1a, 0x0b, 0xdb, 0x14, 0x37, 0xd8, 0xa3, 0x64,
+ 0xc7, 0x7b, 0x89, 0x15, 0x09, 0x05, 0x63, 0x70, 0x80, 0x92,
+ 0x18, 0xa9, 0xaa, 0x71, 0x68, 0x22, 0x4a, 0x19, 0xb7, 0x8e,
+ 0x18, 0xcf, 0x32, 0x80, 0xb4, 0x84, 0x6d, 0x81, 0xc4, 0x02,
+ 0xed, 0xea, 0x07, 0xef, 0x66, 0xa4, 0xba, 0x42, 0xf2, 0xee,
+ 0xd3, 0x64, 0x33, 0x2d, 0x13, 0x45, 0xdd, 0xd1, 0x0c, 0x98,
+ 0x62, 0xbe, 0x83, 0x1a, 0xf5, 0x5d, 0xf8, 0x3d, 0xf1, 0x45,
+ 0xf2, 0x30, 0xac, 0xe4, 0x48, 0x9c, 0x19, 0xbb, 0x1f, 0xcc,
+ 0x13, 0x11, 0x75, 0x4b, 0x65, 0xe6, 0xa2, 0x2d, 0x74, 0xf4,
+ 0x80, 0x59, 0x0b, 0xde, 0x33, 0x9d, 0xf3, 0xd3, 0x5c, 0x3a,
+ 0x9f, 0x78, 0xb2, 0x95, 0x4c, 0x9b, 0xd7, 0xd9, 0xb0, 0x7e,
+ 0xb1, 0xc7, 0xca, 0x3f, 0x48, 0xe9, 0xec, 0xeb, 0x17, 0x6b,
+ 0xd3, 0xba, 0x69, 0xb8, 0x3c, 0x96, 0xb6, 0xc4, 0xeb, 0xae,
+ 0x89, 0x26, 0xe4, 0x8c, 0x71, 0x44, 0x4a, 0xa4, 0xee, 0x0e,
+ 0x51, 0xec, 0x46, 0x2e, 0xdc, 0xe7, 0xcb, 0x47, 0xd0, 0xcf,
+ 0xd5, 0x50, 0x37, 0xef, 0xd8, 0x67, 0x2b, 0x0e, 0x78, 0x75,
+ 0xfa, 0xc5, 0x21, 0xd1, 0x1a, 0xc0, 0x52, 0x0a, 0xdf, 0xc4,
+ 0x1b, 0xd5, 0x3d, 0x71, 0x5b, 0x62, 0x94, 0x57, 0xa5, 0x13,
+ 0x72, 0x46, 0xd9, 0x22, 0x25, 0x52, 0x77, 0x07, 0xc9, 0x76,
+ 0x80, 0xda, 0x62, 0x4d, 0x0f, 0xcc, 0xb4, 0xfc, 0x0b, 0xa1,
+ 0xf9, 0x68, 0x91, 0x58, 0x65, 0x4e, 0x8c, 0x5c, 0x7b, 0x0d,
+ 0x55, 0x8e, 0x63, 0x5d, 0x69, 0xa0, 0x6e, 0x1d, 0x73, 0xce,
+ 0x56, 0x1c, 0xeb, 0xe5, 0x92, 0xd9, 0x01, 0x14, 0x1c, 0x7b,
+ 0x99, 0x87, 0xc5, 0x2d, 0xe8, 0x42, 0x60, 0xb3, 0x2d, 0x11,
+ 0x2c, 0x73, 0xc5, 0x9f, 0x78, 0x48, 0x47, 0x76, 0x0b, 0xaa,
+ 0xa1, 0x7d, 0x2e, 0xf3, 0xfb, 0x6f, 0x0f, 0x98, 0xd9, 0xec,
+ 0xeb, 0x85, 0xa0, 0x3a, 0x73, 0x20, 0x53, 0x49, 0x24, 0xca,
+ 0xd9, 0x38, 0xad, 0xbb, 0xb1, 0xc0, 0x01, 0xd5, 0x7c, 0xdc,
+ 0xba, 0x73, 0xc9, 0x66, 0x45, 0x9e, 0xe0, 0x60, 0xaa, 0x08,
+ 0x9a, 0x99, 0xc3, 0xbd, 0x9d, 0xa9, 0xcb, 0x46, 0x8d, 0x62,
+ 0x3e, 0x9b, 0x9e, 0x56, 0xbd, 0xed, 0x96, 0x69, 0x53, 0xcc,
+ 0xfe, 0x42, 0xbe, 0x59, 0xe7, 0xfc, 0xfb, 0xc3, 0x36, 0x1e,
+ 0x89, 0xe3, 0x86, 0xea, 0x50, 0x70, 0x7a, 0xe5, 0xb3, 0xcc,
+ 0x7f, 0x56, 0x34, 0xa2, 0x42, 0xed, 0x6a, 0x66, 0xfd, 0x79,
+ 0x9d, 0x11, 0x4a, 0xee, 0xfb, 0x7d, 0x86, 0x15, 0x3a, 0x81,
+ 0x43, 0xad, 0xa6, 0xd7, 0x11, 0x97, 0x1f, 0xc7, 0x1d, 0x20,
+ 0xc8, 0xb8, 0x70, 0xe8, 0xaf, 0xd2, 0xde, 0x3b, 0x8c, 0x2a,
+ 0x70, 0x0f, 0x09, 0xb2, 0x1a, 0xf3, 0x23, 0x6d, 0x4e, 0xd0,
+ 0x28, 0xe4, 0xaf, 0x4b, 0x15, 0x9f, 0xd1, 0x4c, 0x0b, 0xdb,
+ 0xe2, 0x88, 0x94, 0x8b, 0x1f, 0x1c, 0xa2, 0x1b, 0x56, 0xa4,
+ 0x41, 0xa6, 0x13, 0xbf, 0x27, 0x31, 0xec, 0xed, 0x81, 0xe2,
+ 0x63, 0x6c, 0x6f, 0x77, 0xdb, 0xb8, 0xf6, 0x1a, 0xaa, 0xdf,
+ 0xc6, 0xba, 0xd2, 0x83, 0xdc, 0x3a, 0xe6, 0x5f, 0xac, 0x38,
+ 0x70, 0x30, 0x55, 0x04, 0x4d, 0xad, 0x80, 0xbf, 0xaf, 0xb5,
+ 0x84, 0x23, 0xa7, 0x31, 0x1f, 0xac, 0x3f, 0x1b, 0xea, 0x93,
+ 0x06, 0x78, 0x48, 0xd9, 0xd0, 0x94, 0xdb, 0xee, 0x35, 0x4f,
+ 0x83, 0x2c, 0x77, 0x33, 0x74, 0x95, 0x8c, 0x62, 0x88, 0xd8,
+ 0xc9, 0x9a, 0x1d, 0x3d, 0x20, 0x87, 0x72, 0xd6, 0x75, 0xb3,
+ 0x2f, 0x34, 0x97, 0x7d, 0x4f, 0xb7, 0x67, 0xc5, 0x7b, 0x74,
+ 0x0f, 0xbe, 0x9b, 0x70, 0x87, 0xd9, 0x43, 0xdc, 0xce, 0x03,
+ 0xbc, 0x9b, 0x6d, 0x8e, 0x60, 0x76, 0x16, 0xee, 0x08, 0x34,
+ 0x93, 0x90, 0x68, 0x1c, 0x20, 0xc5, 0x06, 0xbb, 0xcb, 0x8d,
+ 0x1a, 0xe9, 0xf3, 0x97, 0x5d, 0xc2, 0x1d, 0x4c, 0x48, 0xb0,
+ 0x6e, 0x54, 0xa2, 0x89, 0x0c, 0x72, 0x12, 0xbd, 0xaf, 0x60,
+ 0xe2, 0x78, 0xfd, 0x2c, 0xe2, 0xb8, 0xf4, 0xcd, 0x61, 0x34,
+ 0x91, 0xdb, 0xd9, 0xfb, 0x22, 0x02, 0xdc, 0xe3, 0x9a, 0x95,
+ 0x0b, 0x6c, 0xa0, 0x57, 0x1e, 0x12, 0x61, 0xfc, 0x72, 0xcb,
+ 0xb9, 0x8e, 0xea, 0x4c, 0xea, 0xa5, 0x5e, 0x68, 0xed, 0xfa,
+ 0x9e, 0xad, 0xce, 0x49, 0xf6, 0xe8, 0x1e, 0xbf, 0xf5, 0xe0,
+ 0xe5, 0xe3, 0xd0, 0x38, 0x40, 0x49, 0x0c, 0xb5, 0x55, 0xd9,
+ 0x34, 0x11, 0x25, 0xed, 0xba, 0x47, 0x55, 0x64, 0xd6, 0xb6,
+ 0xe4, 0x4e, 0x62, 0x88, 0x15, 0x7c, 0xd4, 0x6e, 0xba, 0xa8,
+ 0x13, 0x82, 0x4d, 0xab, 0xe4, 0x36, 0x50, 0xca, 0x0f, 0x09,
+ 0xd1, 0x7e, 0x39, 0x84, 0xbd, 0x47, 0x75, 0x26, 0x2f, 0x91,
+ 0x77, 0xd2, 0xde, 0x80, 0xbf, 0x27, 0xe9, 0x29, 0x6d, 0xe3,
+ 0x8e, 0x44, 0xc7, 0x55, 0x8e, 0xdc, 0x20, 0xac, 0x4e, 0x91,
+ 0xa4, 0x32, 0xc7, 0xff, 0x08, 0x54, 0x5c, 0xf7, 0xbf, 0xba,
+ 0xab, 0x88, 0xa3, 0x1e, 0xe7, 0x72, 0x46, 0x05, 0x7d, 0x36,
+ 0x58, 0x19, 0x41, 0x6e, 0xb3, 0x94, 0xec, 0xe6, 0xb3, 0x48,
+ 0xc0, 0xdb, 0x14, 0x1c, 0xff, 0xa8, 0x5c, 0x33, 0x6f, 0xf4,
+ 0x0d, 0xc9, 0x64, 0x79, 0x7e, 0xc4, 0xa3, 0x6b, 0x3a, 0x9f,
+ 0x09, 0xb6, 0xfe, 0xbc, 0x42, 0x48, 0x4a, 0x5a, 0xb3, 0x47,
+ 0x91, 0x9e, 0x53, 0xf6, 0x2b, 0x84, 0xb9, 0x34, 0xb5, 0xf3,
+ 0x46, 0x81, 0xd5, 0x30, 0xd5, 0xbe, 0xb4, 0xfb, 0xeb, 0x82,
+ 0xd6, 0x74, 0x1e, 0xdd, 0x2d, 0x06, 0x2b, 0xf0, 0x76, 0xcc,
+ 0x91, 0x10, 0x33, 0xbd, 0x3b, 0xda, 0xc1, 0xd4, 0x65, 0xd2,
+ 0x7c, 0xa0, 0xdc, 0xae, 0xb4, 0x64, 0x5e, 0xe1, 0xee, 0x67,
+ 0x7f, 0xc3, 0xbd, 0x4e, 0x11, 0x52, 0xda, 0x05, 0xdf, 0x88,
+ 0x4d, 0xaa, 0x21, 0x97, 0x35, 0x33, 0x9f, 0xdd, 0xaf, 0xe9,
+ 0x25, 0x77, 0x9c, 0xdf, 0x43, 0xeb, 0x1d, 0xa1, 0x49, 0x68,
+ 0x52, 0xb7, 0x66, 0xf4, 0x42, 0xd7, 0x4e, 0xc0, 0xf5, 0x16,
+ 0xe3, 0x35, 0x64, 0xa9, 0x5f, 0xa1, 0x22, 0xd6, 0x93, 0x2d,
+ 0x3f, 0x98, 0x46, 0x9c, 0xe9, 0xc0, 0x29, 0x75, 0xd8, 0xf9,
+ 0x65, 0x39, 0xb2, 0x75, 0x4f, 0x85, 0xb8, 0x49, 0x5e, 0x78,
+ 0xcd, 0x79, 0xb4, 0xb5, 0xdf, 0x09, 0x53, 0x27, 0x3b, 0x96,
+ 0xc9, 0x6f, 0xe8, 0x39, 0x24, 0x9d, 0x7e, 0xb5, 0xcb, 0xe3,
+ 0xeb, 0xab, 0x27, 0xd4, 0xd8, 0x13, 0xb2, 0xfc, 0x25, 0x58,
+ 0x14, 0x96, 0x36, 0x04, 0x32, 0xa0, 0xe5, 0x88, 0xcc, 0x31,
+ 0x4a, 0xca, 0xb3, 0xe8, 0x39, 0x23, 0x8d, 0x11, 0xf3, 0x29,
+ 0xda, 0xe2, 0x85, 0x3b, 0x61, 0xfa, 0x04, 0xf4, 0x79, 0xbb,
+ 0xf5, 0x97, 0xc1, 0xc6, 0x01, 0xeb, 0xea, 0xc7, 0xce, 0x86,
+ 0x82, 0x5a, 0x39, 0xec, 0x14, 0xd3, 0x73, 0x93, 0xa5, 0xfe,
+ 0x9f, 0x21, 0xbe, 0x61, 0x8c, 0xe8, 0xcf, 0xf1, 0xdd, 0xda,
+ 0x44, 0x19, 0x7c, 0x9a, 0x74, 0x80, 0xa6, 0xa5, 0x03, 0x26,
+ 0xf9, 0xce, 0xfa, 0x2f, 0xc3, 0x29, 0x35, 0x02, 0x69, 0x53,
+ 0xf7, 0xf4, 0x40, 0xe5, 0xa5, 0xb4, 0xb1, 0x99, 0xbf, 0xc1,
+ 0x88, 0xde, 0x09, 0xb4, 0xfc, 0x25, 0xdb, 0x35, 0x22, 0x86,
+ 0xa4, 0x17, 0xe6, 0x62, 0xca, 0x72, 0xa7, 0xea, 0x9e, 0xc9,
+ 0xb3, 0x92, 0xbc, 0xf0, 0x59, 0xf2, 0xab, 0xa9, 0x7d, 0x12,
+ 0x4e, 0x6b, 0x73, 0x26, 0xa7, 0x3b, 0x4a, 0xb0, 0x28, 0xef,
+ 0x6c, 0x08, 0x64, 0x83, 0x09, 0xd3, 0x97, 0x53, 0xde, 0x9d,
+ 0x16, 0xfb, 0x4b, 0x65, 0x54, 0x33, 0xd6, 0x7b, 0xad, 0xe5,
+ 0x4c, 0x4d, 0x9b, 0xd5, 0xc7, 0xdd, 0x4c, 0xb9, 0x9c, 0xc4,
+ 0x36, 0x32, 0x41, 0x0e, 0x4f, 0x73, 0x7f, 0x1f, 0x8d, 0x1c,
+ 0xb7, 0xbc, 0xb9, 0x60, 0xe1, 0x8b, 0x3e, 0x6e, 0x5d, 0xd8,
+ 0x85, 0x33, 0xc3, 0x4f, 0x68, 0xff, 0x67, 0x84, 0xf9, 0x29,
+ 0xed, 0x3e, 0x6b, 0xb7, 0x69, 0xc9, 0xa0, 0xde, 0x79, 0x08,
+ 0x15, 0x09, 0xe7, 0x71, 0x02, 0x28, 0x38, 0xf6, 0xf1, 0xcd,
+ 0x49, 0x5a, 0x13, 0x84, 0xc0, 0xa5, 0xfc, 0x6c, 0x2e, 0x09,
+ 0x18, 0x23, 0xe3, 0xe2, 0xc6, 0x15, 0xea, 0x3e, 0xd4, 0xff,
+ 0x49, 0xb0, 0xfe, 0xec, 0x75, 0xa8, 0x03, 0x3c, 0x24, 0x8d,
+ 0x68, 0x4a, 0x8c, 0x77, 0xfb, 0xc6, 0xa0, 0x16, 0x58, 0xa2,
+ 0x03, 0x47, 0x52, 0xe2, 0x37, 0xff, 0x20, 0xb3, 0x70, 0xde,
+ 0xae, 0xc3, 0xb5, 0x83, 0x12, 0x0a, 0xc6, 0xe0, 0xc3, 0xe7,
+ 0x30, 0x91, 0x97, 0xe2, 0xd0, 0x44, 0x94, 0x32, 0xad, 0xdf,
+ 0x1b, 0x0f, 0xa5, 0x90, 0x43, 0x75, 0x28, 0x38, 0x3d, 0x93,
+ 0xb8, 0x66, 0xde, 0x2b, 0x1a, 0x51, 0x10, 0x8a, 0x9d, 0x41,
+ 0xd8, 0xf8, 0xf7, 0xfe, 0x39, 0xbd, 0xb6, 0x0d, 0xbb, 0x0b,
+ 0x44, 0x79, 0xc1, 0xf7, 0x9f, 0x3b, 0x05, 0x44, 0x6c, 0x54,
+ 0xb8, 0xde, 0x57, 0x99, 0xce, 0x89, 0x23, 0x3a, 0xe2, 0xe0,
+ 0xf1, 0xa9, 0x81, 0x86, 0x04, 0xd2, 0x33, 0xf6, 0xad, 0x0f,
+ 0xa2, 0x5b, 0xd7, 0x3d, 0x19, 0x8f, 0xfe, 0x31, 0x58, 0x6a,
+ 0xef, 0x57, 0x93, 0xcc, 0xde, 0x2f, 0xf1, 0x12, 0xf3, 0xf7,
+ 0x52, 0x67, 0xf7, 0x27, 0x25, 0x81, 0x6a, 0xef, 0x73, 0x53,
+ 0x4d, 0x70, 0x3d, 0x1e, 0x7e, 0xf8, 0xef, 0x26, 0x24, 0x58,
+ 0x37, 0x2a, 0x51, 0xa5, 0x06, 0x39, 0x09, 0xbf, 0xb6, 0x30,
+ 0x71, 0x3c, 0xdc, 0xbb, 0xd7, 0x8b, 0x6b, 0x10, 0xce, 0xdd,
+ 0xb4, 0xac, 0x45, 0x24, 0x61, 0xe9, 0xc1, 0x42, 0xf0, 0xea,
+ 0x37, 0x49, 0x42, 0x61, 0x34, 0x43, 0xa4, 0x14, 0x7d, 0x4b,
+ 0x36, 0x69, 0x7a, 0xe2, 0x3c, 0xdb, 0x7d, 0x83, 0xf1, 0x89,
+ 0x0d, 0x60, 0x29, 0x05, 0x8e, 0x62, 0xec, 0x8b, 0xff, 0xd9,
+ 0x9c, 0xd6, 0xe6, 0x4c, 0x8d, 0x76, 0x94, 0xa3, 0x50, 0x1d,
+ 0xd8, 0x10, 0xc8, 0xc5, 0x12, 0x65, 0xbe, 0x81, 0x44, 0x6f,
+ 0xe5, 0x5a, 0x7e, 0xf3, 0x8c, 0xfb, 0x11, 0x43, 0x52, 0xea,
+ 0x73, 0x31, 0x38, 0x18, 0xcb, 0x02, 0xc7, 0xb7, 0x40, 0xbe,
+ 0xb6, 0xbb, 0x42, 0xf0, 0xb2, 0xf9, 0xee, 0x56, 0x2b, 0x52,
+ 0xc1, 0x53, 0xe8, 0xbe, 0xf2, 0xf9, 0x76, 0x97, 0xa1, 0x71,
+ 0xd0, 0x36, 0xd6, 0xda, 0xc9, 0xb2, 0x30, 0xfa, 0x69, 0x38,
+ 0xf6, 0x2b, 0x45, 0x61, 0x0c, 0x7e, 0x72, 0x6d, 0x01, 0xe7,
+ 0x24, 0x14, 0x4f, 0x03, 0x45, 0x0d, 0x60, 0xe1, 0xed, 0x07,
+ 0x63, 0x88, 0xeb, 0x64, 0x99, 0x7d, 0x98, 0x15, 0x50, 0xcd,
+ 0xbb, 0x48, 0xd9, 0x7d, 0xcf, 0xa3, 0x14, 0x82, 0x96, 0xb7,
+ 0x03, 0xea, 0x30, 0x5d, 0x64, 0xc3, 0xab, 0xcb, 0xda, 0xc1,
+ 0x4b, 0x04, 0x19, 0x17, 0x0e, 0x1d, 0xcc, 0x8b, 0x0c, 0x86,
+ 0x19, 0x40, 0x5a, 0x42, 0xd7, 0xa1, 0x62, 0x01, 0x97, 0x75,
+ 0xe2, 0x96, 0x33, 0x52, 0x69, 0xbf, 0xab, 0x35, 0x15, 0xc7,
+ 0x6f, 0xe8, 0x3c, 0x79, 0x5a, 0x0c, 0x56, 0x23, 0xec, 0x5b,
+ 0x54, 0x24, 0x1a, 0x07, 0x08, 0xa0, 0xe0, 0x5e, 0x42, 0xb2,
+ 0xe7, 0xab, 0x4c, 0x55, 0x86, 0xd1, 0xee, 0x66, 0xe8, 0xe9,
+ 0xdb, 0xc4, 0xd3, 0x73, 0x51, 0xf7, 0x3a, 0x7a, 0x40, 0xcd,
+ 0xe4, 0x6f, 0xb5, 0x04, 0x7c, 0xbe, 0x7e, 0xd7, 0xa1, 0x35,
+ 0x88, 0xd5, 0x1f, 0x28, 0x37, 0xca, 0x2d, 0x19, 0x4f, 0x2b,
+ 0xbf, 0x97, 0x4b, 0xd5, 0xc8, 0x66, 0x7f, 0x21, 0x5f, 0xcd,
+ 0x92, 0x7e, 0x9c, 0x80, 0x39, 0x58, 0x07, 0xb3, 0x2b, 0x59,
+ 0xc2, 0x68, 0xe1, 0x75, 0x71, 0x35, 0x44, 0x04, 0x7b, 0x05,
+ 0x6a, 0x7f, 0x3c, 0x25, 0xe2, 0x36, 0x2a, 0x51, 0xc5, 0xe8,
+ 0x0f, 0x80, 0x8f, 0xe7, 0x90, 0xae, 0x1c, 0x0c, 0x84, 0x01,
+ 0x82, 0xba, 0x20, 0x5f, 0x5b, 0xbc, 0x21, 0x78, 0x59, 0x9d,
+ 0x77, 0x2b, 0x89, 0xdf, 0x01, 0x3d, 0x8f, 0x5e, 0xac, 0x55,
+ 0xa1, 0xd0, 0x91, 0x4a, 0xdb, 0x41, 0xd2, 0xc0, 0x66, 0xf9,
+ 0x25, 0x65, 0xb8, 0x74, 0xfd, 0xf0, 0xa7, 0xe9, 0x98, 0xf5,
+ 0x6d, 0x71, 0xa3, 0xfc, 0xa5, 0x8e, 0xe1, 0xff, 0xa6, 0x2f,
+ 0x56, 0xcb, 0xb1, 0x68, 0xa9, 0x25, 0x8c, 0xc1, 0x69, 0x60,
+ 0xe4, 0xa3, 0x1c, 0x89, 0xac, 0xa7, 0x8e, 0x63, 0x02, 0x17,
+ 0x07, 0xd4, 0xd3, 0x10, 0x2f, 0x14, 0x72, 0xb0, 0x0e, 0xa5,
+ 0x56, 0xb2, 0x47, 0xd0, 0x01, 0xea, 0xe2, 0x6a, 0x88, 0x08,
+ 0xf6, 0x0a, 0xf6, 0xa9, 0xda, 0x69, 0x6f, 0x40, 0xbe, 0xf2,
+ 0x95, 0xf5, 0xd7, 0x90, 0x47, 0x22, 0x82, 0xcb, 0x14, 0x49,
+ 0x2b, 0xc0, 0xee, 0xc6, 0xba, 0x20, 0xa6, 0x03, 0x7a, 0x9f,
+ 0xe5, 0x79, 0x55, 0xf6, 0x02, 0x80, 0x5b, 0xa1, 0x1b, 0x1f,
+ 0xc7, 0x6f, 0xae, 0x5f, 0x66, 0x49, 0x2f, 0x39, 0xe9, 0xa6,
+ 0x50, 0xe7, 0xac, 0x86, 0x3e, 0x9e, 0xad, 0x80, 0xdd, 0x0c,
+ 0x2b, 0x39, 0x12, 0x27, 0x97, 0x5e, 0xbd, 0x41, 0xd3, 0x7f,
+ 0x12, 0xab, 0x3b, 0x4a, 0x75, 0x6a, 0x44, 0xcf, 0x8b, 0x2e,
+ 0x0f, 0xc4, 0x9f, 0x16, 0x71, 0x5c, 0x7a, 0x87, 0xd1, 0x1a,
+ 0xa9, 0x8c, 0x8d, 0x9c, 0x11, 0x01, 0x6e, 0x90, 0xe3, 0xa0,
+ 0x3d, 0x18, 0x6d, 0x68, 0x86, 0x04, 0x64, 0x38, 0x9e, 0xca,
+ 0x54, 0xa6, 0x42, 0x6e, 0x05, 0x83, 0x7a, 0x30, 0xda, 0xd0,
+ 0xcf, 0x08, 0xc8, 0x70, 0xff, 0x57, 0xa8, 0x8f, 0x84, 0xdc,
+ 0x07, 0x03, 0x21, 0x91, 0xc1, 0xcf, 0x08, 0x67, 0x66, 0x2f,
+ 0x99, 0x1e, 0x87, 0xb6, 0x6d, 0x7a, 0x88, 0x9f, 0xcd, 0x8c,
+ 0x63, 0xb0, 0x2e, 0x83, 0xf6, 0x1e, 0xa2, 0x8f, 0x2d, 0xbc,
+ 0x47, 0x93, 0xcb, 0x32, 0x6b, 0x5b, 0x72, 0x27, 0x31, 0x44,
+ 0xeb, 0x3e, 0x6a, 0x37, 0x5d, 0x54, 0xe8, 0x41, 0x3a, 0x98,
+ 0x90, 0xa3, 0xdc, 0xa8, 0x87, 0xd1, 0x18, 0xe4, 0x24, 0xb9,
+ 0x9d, 0xc0, 0x07, 0xf0, 0x85, 0x59, 0x18, 0x7d, 0xd5, 0x1c,
+ 0x7b, 0xf4, 0xc3, 0xd1, 0x06, 0x3f, 0x39, 0xd7, 0xe1, 0x92,
+ 0x41, 0x2d, 0xfd, 0x76, 0x0a, 0x88, 0xd8, 0xa8, 0xb3, 0x7f,
+ 0xae, 0xf1, 0x5f, 0xd1, 0x46, 0x74, 0x2a, 0x12, 0x0d, 0xe2,
+ 0x04, 0x50, 0x70, 0x2f, 0x21, 0x59, 0x92, 0xb4, 0x26, 0xcb,
+ 0x43, 0x89, 0x92, 0xd0, 0xa4, 0xad, 0xcc, 0x2b, 0x84, 0x6d,
+ 0x9c, 0x43, 0x29, 0x2c, 0x05, 0x6a, 0xc8, 0x91, 0xb9, 0x82,
+ 0x65, 0xfe, 0x24, 0x95, 0x76, 0x94, 0xea, 0xd4, 0x88, 0x5d,
+ 0xd5, 0x5c, 0x1e, 0x4b, 0xe6, 0x23, 0x47, 0x28, 0xb7, 0xb8,
+ 0x49, 0x0c, 0xac, 0x48, 0x61, 0x9d, 0xfc, 0x29, 0xc6, 0xb2,
+ 0xf2, 0x6a, 0x6c, 0xe8, 0x59, 0x7e, 0xf3, 0x2c, 0x0a, 0x4b,
+ 0x1b, 0x02, 0x19, 0x50, 0x93, 0x44, 0x28, 0x92, 0x56, 0x43,
+ 0x1f, 0x4f, 0xb7, 0x40, 0x8f, 0x06, 0xf4, 0xfd, 0x09, 0xf2,
+ 0xaa, 0x2f, 0x7d, 0xf6, 0x80, 0xf5, 0xfb, 0x01, 0xd5, 0xc8,
+ 0x9a, 0x7a, 0x20, 0x93, 0xb3, 0x5a, 0xb9, 0xad, 0xbb, 0x02,
+ 0x3e, 0x5f, 0x3f, 0x8a, 0xb1, 0xfb, 0x44, 0x8b, 0xee, 0x14,
+ 0xfa, 0x65, 0xf7, 0xed, 0xf3, 0x2a, 0xa0, 0x59, 0xb5, 0x90,
+ 0x71, 0xfa, 0x5d, 0x85, 0x28, 0xc7, 0xef, 0xad, 0x06, 0x17,
+ 0xe7, 0x63, 0x8b, 0x99, 0x5b, 0x56, 0xcb, 0xda, 0xfb, 0x86,
+ 0x52, 0x58, 0x0a, 0xd4, 0x53, 0xe1, 0xad, 0xcb, 0x4e, 0x3e,
+ 0xca, 0x53, 0xcc, 0xb4, 0x4c, 0xd7, 0xf2, 0xc2, 0x30, 0x25,
+ 0x4b, 0xbd, 0x0e, 0x06, 0x42, 0xe1, 0x41, 0x5d, 0x10, 0xce,
+ 0xcc, 0x5e, 0xf1, 0x3c, 0xcd, 0xaf, 0xda, 0xf4, 0x76, 0x73,
+ 0xb8, 0x24, 0x60, 0x8c, 0x0a, 0x0e, 0x9e, 0x54, 0x2e, 0xf8,
+ 0xd6, 0x7a, 0xe7, 0x85, 0x3b, 0xd8, 0x5c, 0x12, 0x30, 0x46,
+ 0x05, 0x07, 0x4f, 0x2a, 0x17, 0x7c, 0x6b, 0x3d, 0x92, 0xa3,
+ 0x6d, 0x7c, 0x1d, 0xb4, 0x23, 0xf9, 0x22, 0x36, 0xa3, 0xc7,
+ 0x96, 0x9e, 0x08, 0x51, 0xfd, 0xd4, 0x20, 0xd7, 0xf9, 0x82,
+ 0x73, 0x33, 0x2d, 0x3f, 0x72, 0xb9, 0xaf, 0x1a, 0xb5, 0x16,
+ 0x88, 0xf2, 0xa9, 0x08, 0xf8, 0xbf, 0xfc, 0x6d, 0x81, 0x6a,
+ 0xd3, 0x69, 0x3e, 0x50, 0x6e, 0x57, 0x5a, 0x32, 0x0b, 0x85,
+ 0x38, 0xd1, 0x9b, 0x8d, 0xdf, 0xc6, 0x04, 0x2e, 0x0e, 0x6b,
+ 0x65, 0x20, 0x5e, 0x28, 0xce, 0xb1, 0x11, 0x6b, 0xa8, 0xf7,
+ 0xfe, 0x4c, 0x23, 0x4e, 0x95, 0x60, 0xf5, 0xdb, 0x6c, 0x9d,
+ 0x8f, 0x9c, 0xec, 0x1d, 0xa2, 0x7f, 0x26, 0xe4, 0x90, 0x31,
+ 0x3b, 0x91, 0xaa, 0x0a, 0x2a, 0xe9, 0x94, 0x93, 0x49, 0x8d,
+ 0xe1, 0x0a, 0x0e, 0xdc, 0xad, 0xa2, 0x83, 0xf7, 0x74, 0x21,
+ 0x30, 0xb8, 0x4c, 0xeb, 0x28, 0x87, 0xbc, 0x24, 0x8d, 0xdf,
+ 0x86, 0xb0, 0x0a, 0x41, 0x4b, 0xba, 0xe0, 0x75, 0x29, 0xd2,
+ 0x9a, 0xf2, 0xf3, 0xa1, 0x35, 0x96, 0xd8, 0xc8, 0xc7, 0x38,
+ 0xff, 0x0f, 0x3f, 0x7c, 0x5a, 0x22, 0x58, 0xe6, 0x49, 0xfd,
+ 0xf0, 0x90, 0x8e, 0xec, 0x16, 0x97, 0x81, 0xfa, 0x5c, 0x25,
+ 0xb4, 0x44, 0xb0, 0x0f, 0x92, 0x39, 0x23, 0xe3, 0xdf, 0x1b,
+ 0x2c, 0xed, 0xc1, 0x37, 0xb8, 0x4a, 0x6e, 0xbc, 0x8a, 0xa4,
+ 0xd4, 0x08, 0x67, 0x8f, 0x5a, 0x56, 0xc3, 0x12, 0xd1, 0x95,
+ 0x81, 0x21, 0x1a, 0x4f, 0x69, 0x21, 0xaf, 0x9b, 0xaa, 0xee,
+ 0x6a, 0x5d, 0x8b, 0xa3, 0x28, 0xd6, 0x8f, 0x02, 0xf7, 0xe9,
+ 0x16, 0xd8, 0x83, 0xae, 0x3c, 0x24, 0xc2, 0x3b, 0xe4, 0x55,
+ 0xb1, 0xdf, 0x17, 0x98, 0x67, 0xb9, 0xe9, 0xd4, 0x54, 0x9a,
+ 0x7f, 0x26, 0xf0, 0x27, 0xab, 0x30, 0x9b, 0x8c, 0x36, 0xaf,
+ 0xd4, 0xfe, 0x78, 0x4a, 0x07, 0x6c, 0x54, 0xa2, 0x49, 0x13,
+ 0x1e, 0xc3, 0xdd, 0x0d, 0xe3, 0x9f, 0xb8, 0xc2, 0xa9, 0x4f,
+ 0xc8, 0x7b, 0xf4, 0x42, 0xbd, 0x1a, 0xbb, 0x98, 0x23, 0xa1,
+ 0x8b, 0x18, 0xd8, 0x78, 0x61, 0x0a, 0x5d, 0x2e, 0x83, 0x03,
+ 0x2b, 0x12, 0x89, 0xb6, 0x3f, 0x9b, 0xd0, 0xcd, 0x8a, 0x1f,
+ 0x96, 0x2d, 0x78, 0xaf, 0xe9, 0xec, 0x58, 0x41, 0xc4, 0xc6,
+ 0x02, 0x85, 0xae, 0x35, 0xda, 0xf8, 0x3a, 0xab, 0x46, 0x31,
+ 0x44, 0x6c, 0x85, 0x4d, 0xef, 0xff, 0x10, 0xa2, 0x39, 0x6b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x9b, 0xb1, 0x32,
+ 0x1d, 0x67, 0x8f, 0xb6, 0x7e, 0xcb, 0xbd, 0xa7, 0x1a, 0x76,
+ 0x6a, 0x8a, 0x99, 0x55, 0x9c, 0x7c, 0x57, 0xa6, 0x5b, 0xab,
+ 0x98, 0x6d, 0x27, 0x47, 0x60, 0x4a, 0x96, 0xb9, 0xd3, 0xfd,
+ 0x59, 0xdb, 0xc6, 0xa3, 0x5c, 0xc5, 0x2f, 0x3c, 0x87, 0xdd,
+ 0x5a, 0xbb, 0x8e, 0xe5, 0x9d, 0x96, 0x2a, 0xfd, 0x61, 0x98,
+ 0x16, 0x75, 0x07, 0xd3, 0xeb, 0xd5, 0x3e, 0x38, 0x87, 0x36,
+ 0x7e, 0x36, 0x17, 0xe5, 0x0c, 0xf0, 0x90, 0x71, 0x63, 0xeb,
+ 0x75, 0x1f, 0x6a, 0x9e, 0xc5, 0x58, 0x06, 0x43, 0xed, 0x20,
+ 0x2d, 0x21, 0x8a, 0xb1, 0x31, 0xe1, 0xaa, 0xdb, 0x71, 0x4b,
+ 0xf8, 0x29, 0xd1, 0x7d, 0x02, 0x7a, 0xdd, 0xbc, 0x9b, 0xaa,
+ 0x81, 0x63, 0xe1, 0x94, 0x75, 0x82, 0x67, 0x43, 0xaa, 0xc8,
+ 0x6f, 0xaf, 0x0b, 0x9c, 0xc4, 0xd3, 0x2a, 0xf8, 0x6b, 0xdc,
+ 0xb7, 0x93, 0x26, 0xc7, 0xa4, 0xce, 0x2d, 0x4e, 0x4a, 0xc1,
+ 0xd4, 0x1d, 0xe6, 0xa6, 0x9a, 0xe0, 0x7a, 0x3c, 0xfc, 0x33,
+ 0x03, 0xc0, 0x97, 0x10, 0xf7, 0xf1, 0x45, 0xb9, 0xf9, 0x91,
+ 0x55, 0x8c, 0xd9, 0xc4, 0x7c, 0xf5, 0x23, 0x17, 0x6e, 0x92,
+ 0x84, 0xc2, 0x68, 0x86, 0x8b, 0x28, 0xfa, 0x96, 0x6c, 0xd2,
+ 0xf4, 0x07, 0x0a, 0xc5, 0xf4, 0x60, 0x77, 0x63, 0x5d, 0x10,
+ 0x53, 0xe0, 0x3d, 0xae, 0x93, 0xdd, 0xcb, 0x7b, 0x7c, 0xb6,
+ 0x4c, 0x44, 0x17, 0xef, 0x57, 0x1e, 0xcd, 0xb4, 0x13, 0x56,
+ 0x45, 0xa7, 0x2c, 0xfe, 0x22, 0x57, 0xa2, 0x23, 0x68, 0x2c,
+ 0xea, 0x50, 0xdc, 0xe6, 0xc9, 0x53, 0x9a, 0x2f, 0x61, 0x54,
+ 0x37, 0x5e, 0x45, 0x52, 0x6a, 0x04, 0xd2, 0xa6, 0x2d, 0x2b,
+ 0x80, 0x09, 0x89, 0xab, 0xa1, 0xf1, 0x4a, 0xa8, 0xc5, 0xa7,
+ 0x91, 0x05, 0x07, 0x6e, 0xb7, 0x51, 0xa0, 0x9a, 0x3a, 0xf1,
+ 0x18, 0x5c, 0x2e, 0xd1, 0xbb, 0x63, 0x32, 0x6e, 0x3d, 0xf1,
+ 0xbe, 0xe7, 0x5e, 0x26, 0x78, 0xb9, 0x52, 0x06, 0x25, 0x54,
+ 0x83, 0xb2, 0xa9, 0xe3, 0xe2, 0x37, 0xba, 0xc9, 0x50, 0x4d,
+ 0x1d, 0x99, 0x0c, 0x2e, 0xf8, 0xaf, 0x98, 0x88, 0x2e, 0x1d,
+ 0xae, 0x3c, 0x59, 0xab, 0x26, 0xac, 0x8a, 0x8d, 0x58, 0x3f,
+ 0xdd, 0xfb, 0x1b, 0x3a, 0x87, 0xfe, 0x4c, 0x0b, 0xe3, 0x62,
+ 0x76, 0xe1, 0x97, 0x14, 0x54, 0x11, 0x31, 0x1d, 0xa8, 0x72,
+ 0x47, 0x25, 0x58, 0x17, 0x1c, 0xca, 0x2a, 0xd2, 0xf8, 0xe0,
+ 0x59, 0xd8, 0x74, 0xf3, 0xe3, 0x85, 0x7b, 0x93, 0xcd, 0x61,
+ 0x30, 0x0b, 0x48, 0xb1, 0xf9, 0x43, 0x0e, 0x23, 0x59, 0xe2,
+ 0xcf, 0xf6, 0xbe, 0x0c, 0xb5, 0x29, 0x77, 0x7d, 0x43, 0x1b,
+ 0x58, 0x3e, 0x20, 0xd0, 0xcd, 0x71, 0x86, 0x7b, 0x5f, 0x06,
+ 0xbb, 0xf5, 0xda, 0xdf, 0xc0, 0xec, 0x2c, 0x1f, 0x10, 0x68,
+ 0x5d, 0x21, 0x79, 0x77, 0x88, 0x32, 0xf8, 0xf7, 0xe8, 0xc3,
+ 0x8f, 0x89, 0x06, 0x4c, 0x31, 0x5f, 0x08, 0x45, 0xaf, 0xc1,
+ 0x6c, 0x7c, 0x9a, 0x7f, 0xfd, 0xbf, 0x5b, 0xe7, 0xbc, 0xe4,
+ 0x22, 0xdd, 0x7f, 0x76, 0xdb, 0x54, 0xe0, 0x1e, 0x12, 0xa7,
+ 0x34, 0x25, 0x46, 0xda, 0x9c, 0x63, 0x50, 0x0b, 0xa6, 0x4e,
+ 0x76, 0xef, 0x51, 0xde, 0x13, 0x72, 0x48, 0xf9, 0xfc, 0xa9,
+ 0x55, 0x05, 0x15, 0x95, 0xf9, 0xef, 0x54, 0x39, 0xc2, 0xf3,
+ 0x2c, 0xea, 0x0e, 0x65, 0x15, 0x69, 0x7c, 0x70, 0xcd, 0x6c,
+ 0x90, 0x50, 0xff, 0x0c, 0xd7, 0x34, 0x43, 0x02, 0x32, 0x1c,
+ 0x4f, 0x65, 0x2a, 0x53, 0x21, 0x37, 0x0f, 0x46, 0x8e, 0x50,
+ 0xad, 0xb3, 0x92, 0x18, 0x9b, 0x90, 0xc2, 0xf9, 0x3b, 0x52,
+ 0x4f, 0xa7, 0xb0, 0x87, 0x06, 0x8e, 0xa4, 0x07, 0x6e, 0x3d,
+ 0x40, 0xa5, 0xe0, 0x7f, 0x9f, 0x45, 0xa9, 0xc5, 0xac, 0x8b,
+ 0x82, 0x8f, 0x26, 0xbd, 0x4e, 0x62, 0x1b, 0x19, 0xc1, 0x07,
+ 0xc6, 0xd8, 0xde, 0xee, 0x60, 0xba, 0xc8, 0x45, 0x95, 0x55,
+ 0x77, 0x41, 0x96, 0x08, 0x32, 0x2e, 0x1c, 0x3a, 0x5b, 0xd5,
+ 0x6c, 0x3c, 0xd1, 0x05, 0xcf, 0x17, 0xa0, 0xe0, 0xf4, 0x09,
+ 0xa5, 0x5b, 0xfe, 0xac, 0x68, 0x87, 0x13, 0x4a, 0x0a, 0x51,
+ 0x2f, 0x09, 0xb2, 0x47, 0xc0, 0x2c, 0xe3, 0x81, 0x62, 0xcf,
+ 0x38, 0x8c, 0xbc, 0x01, 0x1f, 0xce, 0xfe, 0x45, 0xb9, 0x9c,
+ 0x22, 0xa4, 0x77, 0x0a, 0x7d, 0xd3, 0x9a, 0x97, 0x32, 0xdd,
+ 0x3f, 0x62, 0xb0, 0xd4, 0x1d, 0xae, 0xe5, 0x5b, 0x7f, 0x5e,
+ 0x21, 0x24, 0x25, 0x2d, 0xf1, 0xaa, 0xfb, 0xf8, 0xae, 0x8f,
+ 0xb6, 0x95, 0xf3, 0xda, 0x4e, 0x8e, 0xc0, 0x94, 0xef, 0xb1,
+ 0xd6, 0x7e, 0x23, 0xeb, 0x1c, 0x73, 0x93, 0xcd, 0xe7, 0x4c,
+ 0x78, 0x8a, 0xf2, 0x34, 0x0a, 0x39, 0x44, 0xae, 0x87, 0x46,
+ 0xd0, 0x58, 0x17, 0xa0, 0x7b, 0x0f, 0x51, 0xa6, 0xf7, 0x5e,
+ 0xc2, 0xa8, 0x62, 0x3a, 0x93, 0xe4, 0x8e, 0x4a, 0xb0, 0x2e,
+ 0x38, 0x57, 0x54, 0x67, 0x33, 0x03, 0xb2, 0x73, 0xa8, 0x48,
+ 0x34, 0x0e, 0x10, 0x83, 0x03, 0xbc, 0x84, 0xa7, 0x0d, 0x95,
+ 0x98, 0xaa, 0xcf, 0x61, 0x40, 0x6d, 0x31, 0xc7, 0xe6, 0x66,
+ 0x5a, 0x7e, 0xe4, 0xb1, 0x9d, 0x34, 0xa9, 0x2c, 0xd3, 0x27,
+ 0x95, 0xd3, 0x85, 0x3c, 0x0d, 0xe4, 0x8c, 0x0a, 0xfa, 0x6c,
+ 0xb0, 0x32, 0x82, 0xdc, 0xa5, 0xeb, 0x11, 0xca, 0x51, 0xf0,
+ 0x34, 0x16, 0x75, 0x28, 0x6e, 0x73, 0x85, 0xc8, 0x4d, 0xf6,
+ 0xd1, 0x2a, 0x8b, 0x5f, 0x5a, 0x9c, 0x94, 0x41, 0x6b, 0x3a,
+ 0x0f, 0x8f, 0xf7, 0x03, 0xf4, 0x78, 0x3b, 0x66, 0x01, 0x40,
+ 0xcc, 0xb1, 0xec, 0xee, 0x82, 0xd6, 0x57, 0xce, 0x33, 0xc5,
+ 0xf6, 0xfd, 0x95, 0x53, 0x0d, 0xc6, 0xd5, 0xf1, 0xb6, 0xac,
+ 0x55, 0x77, 0x35, 0xcf, 0xa4, 0xb0, 0x14, 0x6b, 0xa6, 0x01,
+ 0xe1, 0x20, 0x66, 0xb9, 0x76, 0x77, 0x41, 0x6b, 0xca, 0x67,
+ 0xf8, 0x83, 0x7b, 0x9f, 0xab, 0xc8, 0x6b, 0x3f, 0xf0, 0x94,
+ 0x0e, 0xd8, 0xa8, 0x87, 0x92, 0x26, 0x3c, 0x45, 0x79, 0x1a,
+ 0x05, 0xfd, 0xc2, 0x37, 0x08, 0x2b, 0xf2, 0xb5, 0x29, 0xed,
+ 0x41, 0x4f, 0x02, 0x15, 0x17, 0x4d, 0x5f, 0xcf, 0x5c, 0x61,
+ 0xb5, 0xc6, 0x64, 0xdc, 0x7a, 0x21, 0xbf, 0x0d, 0xbc, 0x4c,
+ 0xf0, 0xb1, 0xa4, 0x0c, 0xc7, 0xb4, 0x72, 0x1b, 0x28, 0x65,
+ 0xe6, 0xe5, 0x89, 0x3f, 0xfd, 0x42, 0xbf, 0xc2, 0xdb, 0x13,
+ 0x84, 0x19, 0xd4, 0xcc, 0x39, 0xf2, 0xf9, 0x22, 0x94, 0x1f,
+ 0x35, 0xfa, 0xcf, 0x2a, 0x74, 0xc1, 0x45, 0xee, 0x4b, 0xf7,
+ 0x3c, 0xb6, 0x95, 0x76, 0x2c, 0xc1, 0x62, 0x63, 0x01, 0xa3,
+ 0x57, 0xfb, 0x79, 0x35, 0x36, 0x74, 0xcd, 0x3f, 0x98, 0x16,
+ 0x05, 0xc4, 0xec, 0x01, 0xed, 0x28, 0xa8, 0x22, 0x4b, 0xe8,
+ 0x09, 0x16, 0x7d, 0xeb, 0x85, 0xb8, 0xe0, 0x9f, 0x93, 0x5f,
+ 0xcc, 0x0c, 0x8d, 0x0f, 0x48, 0x28, 0x9e, 0x06, 0x8a, 0x1a,
+ 0xc0, 0x01, 0x19, 0x0e, 0xc6, 0xd3, 0x15, 0xc8, 0xf1, 0xfa,
+ 0x6f, 0xfc, 0x46, 0x15, 0x38, 0xe6, 0xe5, 0x59, 0x0d, 0x98,
+ 0xf0, 0xd7, 0x27, 0x68, 0x14, 0x72, 0xa7, 0x0e, 0xba, 0x5e,
+ 0xbd, 0x30, 0x91, 0xa4, 0x1f, 0x37, 0xcf, 0x6c, 0xa3, 0xf8,
+ 0x80, 0xc6, 0xa2, 0x8d, 0xc0, 0x6e, 0x67, 0xe0, 0x5e, 0xac,
+ 0xd7, 0x47, 0x30, 0x3b, 0x0b, 0x77, 0x04, 0x1a, 0xc0, 0xb7,
+ 0x53, 0x8a, 0xe9, 0xaa, 0xee, 0x82, 0xef, 0x10, 0x64, 0x5c,
+ 0x38, 0x74, 0xb6, 0x69, 0x2c, 0x51, 0xe0, 0xc2, 0x29, 0x71,
+ 0xfa, 0x9e, 0x10, 0xb8, 0x38, 0x6f, 0x57, 0x80, 0xbb, 0xa0,
+ 0x81, 0x9a, 0xae, 0xfc, 0xe3, 0x22, 0x36, 0x2a, 0x5c, 0x6f,
+ 0xca, 0xad, 0x67, 0xa5, 0xf0, 0x1d, 0xd0, 0x3d, 0xce, 0xcb,
+ 0x31, 0x52, 0x19, 0x7c, 0xd6, 0xad, 0xd2, 0x51, 0x83, 0x7f,
+ 0xf2, 0x10, 0x17, 0x89, 0xbc, 0xd0, 0x19, 0x37, 0xff, 0x99,
+ 0x5f, 0x92, 0x2f, 0x13, 0x3c, 0xbd, 0x29, 0x03, 0xa3, 0xcd,
+ 0x0c, 0xdf, 0x8b, 0x0e, 0xdc, 0x7a, 0x80, 0x89, 0x03, 0xfe,
+ 0xfd, 0x8a, 0x91, 0x49, 0xd2, 0xbd, 0x95, 0x6a, 0x2a, 0x4d,
+ 0xde, 0x13, 0x78, 0xf2, 0xb4, 0x18, 0xac, 0x46, 0x1b, 0xb6,
+ 0x57, 0xe4, 0x8d, 0x17, 0xff, 0x51, 0xa5, 0xe7, 0xbb, 0x23,
+ 0xb2, 0x27, 0x95, 0x91, 0xfa, 0x24, 0x71, 0x70, 0x99, 0xb5,
+ 0xa1, 0x43, 0x02, 0x69, 0xf8, 0x7b, 0xb7, 0xe6, 0x51, 0xcc,
+ 0x8a, 0xff, 0xa1, 0x4d, 0x57, 0x7e, 0x90, 0x11, 0x1b, 0x15,
+ 0x2e, 0xd6, 0x65, 0xb7, 0xd2, 0xb3, 0x78, 0xef, 0xc3, 0x77,
+ 0xc4, 0x9a, 0x1e, 0x5b, 0xab, 0x3b, 0x16, 0x81, 0x31, 0xd0,
+ 0xe1, 0xb0, 0xca, 0x9c, 0x51, 0xa7, 0x60, 0x37, 0xd2, 0x70,
+ 0x2f, 0x56, 0x8a, 0xc2, 0x18, 0xfc, 0xe4, 0xda, 0x02, 0x0d,
+ 0x35, 0xde, 0x1e, 0xf3, 0x71, 0x1b, 0x15, 0xc9, 0x83, 0x74,
+ 0xe6, 0x40, 0xa6, 0x92, 0x48, 0x57, 0x47, 0x6e, 0x10, 0x56,
+ 0x27, 0xa9, 0x52, 0x19, 0x82, 0x9e, 0x04, 0x2a, 0x2e, 0x9a,
+ 0xbe, 0x5d, 0xf5, 0x69, 0x4d, 0x79, 0x98, 0xb1, 0xfb, 0x4b,
+ 0x6c, 0x64, 0x82, 0x1c, 0x9e, 0xe6, 0xfe, 0x3e, 0xb2, 0x07,
+ 0x5d, 0x2f, 0xbf, 0x18, 0xa9, 0x52, 0xee, 0xfa, 0x86, 0x36,
+ 0xb0, 0x7c, 0x40, 0x63, 0xd7, 0x3e, 0xef, 0x5a, 0xf0, 0x9d,
+ 0x11, 0x1b, 0xb0, 0x82, 0x4b, 0x4f, 0x04, 0xc9, 0x9f, 0x6a,
+ 0x16, 0xc9, 0x70, 0x61, 0xf5, 0xd9, 0x7d, 0x4f, 0x08, 0x5c,
+ 0x1c, 0xd6, 0xca, 0x40, 0xbc, 0x50, 0x86, 0x99, 0x8f, 0x6d,
+ 0x22, 0xed, 0x3e, 0x4d, 0x3a, 0x40, 0x53, 0xb3, 0xe0, 0x13,
+ 0x9d, 0x67, 0x73, 0xf0, 0xc2, 0x14, 0xba, 0x5c, 0xc5, 0x06,
+ 0x56, 0x24, 0xd1, 0xaf, 0x7e, 0xf5, 0x63, 0x59, 0xc4, 0x74,
+ 0xe5, 0x0b, 0xdf, 0x94, 0xa3, 0x5c, 0x70, 0xae, 0xa8, 0xce,
+ 0x66, 0x06, 0xa7, 0xe6, 0x34, 0x9e, 0xd2, 0x42, 0x9d, 0xf5,
+ 0x97, 0x1f, 0xd4, 0xba, 0xd5, 0x85, 0x50, 0x6f, 0xdd, 0x04,
+ 0xc6, 0xf4, 0xbe, 0xaa, 0xc4, 0x8b, 0x64, 0x33, 0xde, 0xf1,
+ 0xce, 0x87, 0x49, 0x3f, 0x4e, 0x40, 0x96, 0x13, 0x12, 0x2c,
+ 0xfa, 0x15, 0xc9, 0xb3, 0x03, 0xfd, 0xe5, 0xbe, 0x5b, 0x18,
+ 0xd9, 0x1e, 0xed, 0xa6, 0x7f, 0xf9, 0x2c, 0x35, 0x96, 0xca,
+ 0xa8, 0x66, 0x6f, 0xf6, 0x99, 0x09, 0x98, 0x9a, 0xf4, 0x29,
+ 0x81, 0xc8, 0x74, 0x5f, 0x79, 0x9d, 0x3b, 0xaa, 0xb1, 0xd9,
+ 0x68, 0x1b, 0x6b, 0x6d, 0xae, 0x0b, 0xd9, 0x2e, 0x3d, 0xa2,
+ 0x89, 0x0d, 0xb5, 0x46, 0xa7, 0x4e, 0xe9, 0xe1, 0x37, 0x48,
+ 0x63, 0x7a, 0x5f, 0x55, 0x62, 0xa4, 0x32, 0xf8, 0x6f, 0x99,
+ 0x67, 0xa2, 0xc5, 0xfe, 0x27, 0x20,
+ },
+ {
+ /* 5 */
+ 0x79, 0x80, 0xab, 0xe7, 0xa9, 0x6f, 0x50, 0x97, 0xbe, 0x20,
+ 0xdb, 0x5a, 0xb5, 0x1a, 0xf0, 0xb4, 0x91, 0x1a, 0x97, 0x16,
+ 0x14, 0x45, 0x9f, 0x6e, 0x60, 0xe7, 0xef, 0x55, 0x0a, 0x58,
+ 0x62, 0xaa, 0x99, 0xdc, 0x5f, 0x93, 0xd1, 0x32, 0x94, 0x30,
+ 0x3d, 0x37, 0xfc, 0x67, 0x89, 0x09, 0x7f, 0xce, 0xb9, 0x42,
+ 0xf9, 0xc2, 0x43, 0x2d, 0xb8, 0x8b, 0x8a, 0xf1, 0xb0, 0xaf,
+ 0xc0, 0x8e, 0x0b, 0x9d, 0x71, 0x46, 0x63, 0x62, 0x6c, 0x18,
+ 0x5b, 0xc9, 0xe3, 0xf0, 0xc8, 0x68, 0x36, 0x4b, 0xed, 0xd0,
+ 0xea, 0x4a, 0x0e, 0x41, 0x1d, 0x47, 0xbd, 0x0f, 0x58, 0xf3,
+ 0x40, 0xe2, 0xef, 0xc7, 0x04, 0x07, 0xd7, 0x56, 0x4e, 0xa7,
+ 0xd0, 0xcc, 0x51, 0x02, 0x84, 0xf4, 0xeb, 0xf2, 0x68, 0xd9,
+ 0xf3, 0x27, 0x95, 0x79, 0xf3, 0xb5, 0x97, 0x9f, 0x7b, 0x41,
+ 0xaf, 0x8f, 0x07, 0x4c, 0xaa, 0x91, 0x8d, 0x98, 0x55, 0xbb,
+ 0xa1, 0x90, 0x7d, 0xdd, 0x93, 0x5d, 0x9b, 0x5e, 0x6c, 0xb9,
+ 0xdf, 0x05, 0x76, 0xb1, 0xda, 0x9b, 0xfb, 0xd9, 0xc6, 0xb6,
+ 0x87, 0x08, 0x55, 0x56, 0x2a, 0x4e, 0x63, 0xe2, 0x4a, 0x9c,
+ 0xdb, 0xf3, 0xe2, 0x81, 0x96, 0x61, 0xbe, 0x73, 0x16, 0x4c,
+ 0x10, 0xd9, 0x4b, 0x41, 0x01, 0x71, 0xb5, 0xe7, 0x55, 0xe4,
+ 0x05, 0x80, 0x57, 0xfa, 0x18, 0x49, 0x4b, 0x84, 0xe3, 0x16,
+ 0xf9, 0xcb, 0x3f, 0xcc, 0x72, 0x56, 0x6d, 0xe6, 0x9e, 0xfb,
+ 0x5a, 0x33, 0xdf, 0xfd, 0xd7, 0x9b, 0x61, 0x39, 0x54, 0xd3,
+ 0xb8, 0xc8, 0x2d, 0x0a, 0xaa, 0x26, 0xd8, 0x44, 0x56, 0x2e,
+ 0xf7, 0xa6, 0x3d, 0x5c, 0x7d, 0xe3, 0xcf, 0x44, 0x2a, 0xb5,
+ 0xb4, 0xb8, 0x71, 0x48, 0x33, 0x43, 0x15, 0xd3, 0x1f, 0x86,
+ 0xd5, 0x86, 0x7c, 0x17, 0x70, 0xa1, 0x23, 0xf4, 0x02, 0xc0,
+ 0x9f, 0x1f, 0x38, 0x5c, 0x65, 0x3e, 0xbd, 0x21, 0x9d, 0x61,
+ 0xc0, 0xf7, 0x5c, 0xa4, 0x45, 0x99, 0x58, 0xb6, 0x60, 0x47,
+ 0xe4, 0xaf, 0xa9, 0x0d, 0xaa, 0x0b, 0x0a, 0xc3, 0xae, 0x37,
+ 0x30, 0x92, 0x96, 0xcb, 0x05, 0x2c, 0x31, 0x55, 0xfe, 0x66,
+ 0x39, 0x2b, 0xd7, 0x73, 0x4f, 0x9c, 0x2d, 0xf8, 0x8e, 0x9f,
+ 0x8a, 0xac, 0xd1, 0xfd, 0x3b, 0xaf, 0x16, 0xf5, 0xee, 0x3c,
+ 0x7a, 0xd4, 0x95, 0x5b, 0x37, 0xe4, 0x77, 0x52, 0x8e, 0x0b,
+ 0x1d, 0x82, 0xe6, 0xb7, 0x5f, 0x94, 0xc0, 0xb6, 0x6b, 0xc1,
+ 0xe7, 0xd8, 0xce, 0x99, 0x83, 0x73, 0x36, 0x62, 0xa3, 0x8b,
+ 0xf8, 0x46, 0xac, 0xde, 0x44, 0xf9, 0xf6, 0x58, 0x7c, 0x69,
+ 0x37, 0xb0, 0x38, 0x17, 0x3d, 0x1d, 0x1e, 0x86, 0x31, 0x59,
+ 0x50, 0x75, 0x79, 0x9e, 0x0f, 0x74, 0x53, 0xff, 0x07, 0xdb,
+ 0x4f, 0x4b, 0x73, 0x60, 0xaf, 0xa2, 0x0a, 0x46, 0xa6, 0x63,
+ 0xd8, 0xef, 0x32, 0xc6, 0x1b, 0x31, 0xb0, 0xa4, 0x7c, 0x23,
+ 0x56, 0x6f, 0x22, 0x9d, 0x7b, 0x2c, 0x3e, 0xd5, 0xfa, 0x58,
+ 0xfb, 0x6d, 0x44, 0xd0, 0x04, 0x7e, 0x92, 0xc8, 0xa1, 0x8a,
+ 0x5c, 0x11, 0x02, 0xc6, 0x75, 0x22, 0x70, 0x2e, 0x7a, 0x3a,
+ 0x3c, 0xcf, 0x62, 0xb2, 0xa0, 0xea, 0xf2, 0xff, 0x1e, 0xe8,
+ 0xa6, 0x3d, 0x89, 0x93, 0x0c, 0x5a, 0x98, 0xdc, 0x82, 0x8c,
+ 0x87, 0x54, 0xda, 0x03, 0x4c, 0xab, 0x45, 0x06, 0x4a, 0xe9,
+ 0x75, 0x97, 0x82, 0x24, 0x21, 0x1d, 0x76, 0xab, 0xff, 0x8c,
+ 0x41, 0x19, 0x63, 0xdb, 0xae, 0xd6, 0xe5, 0x40, 0x79, 0xa3,
+ 0x01, 0x95, 0x3a, 0xd4, 0x30, 0xa8, 0xdd, 0xc3, 0x03, 0x93,
+ 0x3d, 0x1c, 0x40, 0xe6, 0xcd, 0x8b, 0xec, 0x0d, 0xdc, 0x07,
+ 0xab, 0x10, 0x87, 0x1e, 0xf7, 0x20, 0x29, 0x30, 0x77, 0x8c,
+ 0x07, 0xbf, 0x1e, 0x9e, 0xa9, 0x0c, 0x65, 0x6d, 0xe2, 0x75,
+ 0x22, 0xda, 0x8a, 0x2b, 0x27, 0xb2, 0x68, 0x66, 0xc9, 0x01,
+ 0x42, 0x7a, 0x94, 0x79, 0x34, 0x8d, 0x98, 0xf2, 0xcd, 0x0f,
+ 0xe7, 0x5b, 0xfc, 0x38, 0x3e, 0x16, 0xe5, 0x73, 0xaa, 0x49,
+ 0x7e, 0xaf, 0x42, 0x92, 0x41, 0x97, 0x96, 0xfa, 0xb7, 0xe9,
+ 0x61, 0xce, 0xee, 0x55, 0xa2, 0xc4, 0xba, 0x6e, 0xa3, 0x4b,
+ 0xce, 0xb7, 0xcc, 0xb3, 0x0c, 0x82, 0x75, 0x9b, 0x20, 0x5d,
+ 0xe4, 0x33, 0x06, 0x89, 0x9f, 0x66, 0x16, 0xfc, 0x05, 0xda,
+ 0x6a, 0x59, 0x80, 0x65, 0xf3, 0x3f, 0xba, 0x90, 0x35, 0xee,
+ 0x43, 0xe3, 0x6c, 0xc4, 0x85, 0xd5, 0x33, 0x8c, 0x9b, 0x7f,
+ 0x88, 0x31, 0x2f, 0xb0, 0xf8, 0xd2, 0x6e, 0xa3, 0x1f, 0x52,
+ 0xd4, 0x07, 0xff, 0xf9, 0xb2, 0x40, 0xed, 0xf5, 0x93, 0x35,
+ 0x9e, 0x1c, 0x15, 0x6a, 0xe0, 0x5c, 0xf4, 0x74, 0x78, 0x5d,
+ 0xc4, 0xa7, 0x83, 0x17, 0x27, 0x3d, 0x3c, 0x13, 0x8f, 0x7a,
+ 0xf5, 0x18, 0xda, 0x46, 0xe2, 0xbe, 0x0f, 0x4f, 0xb5, 0x06,
+ 0xd3, 0xd7, 0x71, 0xdb, 0x11, 0x6d, 0xb0, 0xec, 0x28, 0x1f,
+ 0xd6, 0x8d, 0x8a, 0xae, 0x94, 0x3b, 0x99, 0x0a, 0x6b, 0x7c,
+ 0x5d, 0x14, 0xde, 0xf8, 0x9f, 0x7a, 0x45, 0x6c, 0x63, 0x27,
+ 0x9a, 0x3e, 0xc2, 0x57, 0xc3, 0x2b, 0xa5, 0xae, 0x03, 0xb8,
+ 0x2b, 0xe8, 0xf0, 0xba, 0x4b, 0x8d, 0xc5, 0x2e, 0x4e, 0x7a,
+ 0x78, 0x26, 0xdd, 0xf4, 0xd0, 0x8d, 0x01, 0xec, 0xa3, 0xac,
+ 0xfe, 0xa0, 0x8e, 0xb2, 0x4d, 0x91, 0xb0, 0x36, 0xc1, 0xe1,
+ 0x8e, 0x48, 0x43, 0x11, 0xeb, 0xbc, 0x2d, 0x2e, 0x8d, 0x12,
+ 0x7c, 0x60, 0x94, 0x44, 0x77, 0xc0, 0x23, 0x26, 0x8d, 0xb9,
+ 0x62, 0xa5, 0x67, 0x36, 0x72, 0xe8, 0x02, 0xb2, 0x31, 0xa1,
+ 0xa9, 0xa7, 0x0a, 0x16, 0xfa, 0x35, 0x65, 0x1a, 0x79, 0xa8,
+ 0xdb, 0xe4, 0x67, 0xdf, 0xd3, 0xd4, 0x8b, 0x7d, 0xf3, 0xab,
+ 0x8c, 0x55, 0xc1, 0x09, 0x99, 0x96, 0xfc, 0x5a, 0x4f, 0x23,
+ 0x81, 0x97, 0x68, 0x46, 0x06, 0xb3, 0x56, 0x13, 0x23, 0xb7,
+ 0x96, 0xd9, 0x49, 0x5c, 0x9c, 0xf4, 0xf0, 0x4c, 0x79, 0x2b,
+ 0xdf, 0x90, 0x86, 0x22, 0x15, 0xbb, 0x5a, 0x5c, 0xd9, 0x24,
+ 0xf8, 0xc0, 0xeb, 0x88, 0xee, 0x43, 0x4d, 0x32, 0x3a, 0xdc,
+ 0xf1, 0x44, 0x8e, 0xbf, 0x7c, 0xed, 0x59, 0xef, 0x99, 0xf6,
+ 0x51, 0x1d, 0x98, 0xb4, 0x46, 0xcb, 0x81, 0xe5, 0xad, 0x4b,
+ 0x7e, 0x2d, 0xc6, 0xf0, 0xa1, 0xaa, 0x34, 0x23, 0x97, 0xa9,
+ 0xc1, 0x05, 0x37, 0xf2, 0x09, 0xb7, 0x29, 0xbb, 0x73, 0xa1,
+ 0xfa, 0x14, 0x1b, 0x81, 0xad, 0x6e, 0xce, 0xa8, 0x89, 0x19,
+ 0x4a, 0x18, 0xff, 0xfa, 0x7e, 0xd2, 0xa5, 0xe5, 0xde, 0x67,
+ 0x15, 0x44, 0x2e, 0x32, 0x9a, 0xe3, 0xcb, 0xe8, 0x36, 0x11,
+ 0xf4, 0xea, 0x4d, 0xc8, 0x9e, 0x17, 0xa2, 0x73, 0x49, 0x66,
+ 0x3f, 0x0e, 0xee, 0xe4, 0xa8, 0x6c, 0xcb, 0x83, 0xfe, 0x5b,
+ 0xf1, 0xc5, 0xab, 0xdd, 0x98, 0xbb, 0xaa, 0xae, 0xdc, 0xc1,
+ 0xb6, 0xa6, 0xe2, 0x26, 0x55, 0xa9, 0xa7, 0x4c, 0xc0, 0xc2,
+ 0x52, 0x25, 0xea, 0x42, 0xe8, 0x1c, 0x34, 0xd1, 0x6b, 0xf5,
+ 0x75, 0x94, 0xfb, 0x29, 0xb6, 0x5f, 0x7e, 0x0c, 0xf5, 0x3a,
+ 0x1c, 0x77, 0xdd, 0x67, 0x05, 0xfe, 0x9b, 0x30, 0x24, 0x3f,
+ 0x53, 0x08, 0xf7, 0x83, 0x5e, 0x6a, 0x05, 0x84, 0xd2, 0x02,
+ 0xf0, 0x4d, 0x2f, 0x49, 0x0f, 0x9a, 0xed, 0x91, 0x41, 0x0a,
+ 0x6e, 0x27, 0x12, 0xad, 0x52, 0xb5, 0xe6, 0x81, 0x37, 0x28,
+ 0x36, 0xc1, 0xc1, 0xaa, 0x4b, 0x7d, 0xba, 0x95, 0xd1, 0x67,
+ 0x77, 0xcb, 0x51, 0x62, 0x5d, 0x37, 0xb0, 0xc4, 0xe1, 0x34,
+ 0xed, 0x2c, 0x28, 0x8a, 0xfd, 0xdc, 0xc0, 0x0d, 0x1d, 0xaa,
+ 0x14, 0xb0, 0xc4, 0x97, 0x62, 0xb1, 0x1b, 0x43, 0xd5, 0x4c,
+ 0x06, 0xf8, 0x9c, 0xbd, 0xa0, 0x76, 0x8b, 0xcf, 0x0a, 0xec,
+ 0x24, 0xfd, 0xc2, 0xf2, 0x11, 0xc5, 0xc8, 0x94, 0x78, 0xae,
+ 0xa4, 0xd1, 0xe9, 0x4e, 0x9b, 0x61, 0xe9, 0xf2, 0x25, 0xa9,
+ 0xed, 0xfd, 0xf6, 0x82, 0x9d, 0xdd, 0x0e, 0x98, 0x97, 0xe1,
+ 0xd9, 0xf3, 0x65, 0x6a, 0x54, 0x08, 0xa6, 0x2c, 0xa9, 0x5a,
+ 0x96, 0xfb, 0x06, 0x15, 0x53, 0x20, 0x38, 0x2a, 0xec, 0xf9,
+ 0x58, 0x52, 0x3e, 0xf0, 0x2b, 0xd6, 0x11, 0xaf, 0xdc, 0x16,
+ 0x1f, 0x8b, 0x7d, 0x2c, 0x5d, 0x7d, 0x69, 0x15, 0xb8, 0xaa,
+ 0x98, 0x03, 0xc6, 0x8e, 0x7f, 0x8b, 0x5c, 0x54, 0x6b, 0xd5,
+ 0x26, 0x2d, 0xf0, 0x42, 0xb1, 0xa8, 0xba, 0x62, 0xfe, 0x9a,
+ 0xd0, 0x3c, 0xb9, 0xcb, 0x0d, 0x78, 0xbe, 0x99, 0xb6, 0x89,
+ 0x30, 0x4d, 0x17, 0x29, 0x80, 0xb7, 0x16, 0xcc, 0x18, 0x61,
+ 0x39, 0x5b, 0x21, 0xf6, 0xbf, 0x09, 0xc2, 0xc8, 0x15, 0xc0,
+ 0xf4, 0xdc, 0x76, 0x5f, 0x61, 0x24, 0x3f, 0xbe, 0x4b, 0x81,
+ 0x6c, 0xcf, 0xd2, 0xf3, 0x18, 0x66, 0x35, 0xb1, 0xc5, 0x1b,
+ 0x69, 0xba, 0x28, 0x36, 0x48, 0x39, 0x47, 0x27, 0x22, 0x49,
+ 0x53, 0xeb, 0xf0, 0x9f, 0x8b, 0x61, 0x11, 0x9c, 0xf5, 0xc2,
+ 0xca, 0xd4, 0xa8, 0x10, 0x8f, 0x58, 0x91, 0xb4, 0xef, 0x35,
+ 0x0c, 0x2a, 0xa6, 0x40, 0x70, 0x54, 0xf7, 0xc8, 0xe8, 0xf6,
+ 0x42, 0xd3, 0x7d, 0xb9, 0x33, 0x32, 0xa7, 0x3a, 0x21, 0x5e,
+ 0x87, 0x74, 0x7c, 0x8b, 0xd6, 0x1c, 0x7a, 0x62, 0x8d, 0xc3,
+ 0x32, 0x52, 0x09, 0xd4, 0x3d, 0x70, 0x54, 0x6b, 0xff, 0x0e,
+ 0x20, 0x73, 0x87, 0xa4, 0x76, 0xe7, 0x6e, 0xe2, 0xb4, 0x08,
+ 0xa2, 0x0f, 0x9a, 0x10, 0x20, 0x9e, 0xa6, 0x51, 0x92, 0x1f,
+ 0x2c, 0xbb, 0xb7, 0xc6, 0x4c, 0xc8, 0x49, 0x87, 0x74, 0x53,
+ 0xd1, 0xe5, 0x18, 0xb4, 0xf3, 0x7b, 0xc7, 0xdb, 0xcd, 0xa8,
+ 0x77, 0x06, 0x98, 0x95, 0x8a, 0x0c, 0x85, 0x36, 0xa0, 0x7c,
+ 0xde, 0x71, 0x6d, 0xfd, 0x15, 0xec, 0x21, 0x28, 0x6f, 0x33,
+ 0xb7, 0x50, 0x58, 0x76, 0x14, 0xee, 0x6b, 0xa7, 0x45, 0x57,
+ 0x4a, 0xfc, 0xad, 0x05, 0xd4, 0x3e, 0xcf, 0x0a, 0x49, 0x51,
+ 0x5e, 0x7f, 0x72, 0x9e, 0x6a, 0x90, 0xb3, 0x85, 0xb1, 0xf6,
+ 0x39, 0x3f, 0xbe, 0x2f, 0xfa, 0x05, 0x5d, 0x88, 0x54, 0xa9,
+ 0xab, 0xb3, 0xe2, 0x90, 0x66, 0x86, 0x2a, 0x65, 0x3e, 0xcf,
+ 0x87, 0xe6, 0x92, 0xcc, 0x7e, 0x1c, 0x1f, 0x0b, 0x93, 0xd8,
+ 0x55, 0xc5, 0x3f, 0xb6, 0x21, 0x49, 0x27, 0x45, 0xe9, 0x1a,
+ 0xe1, 0x7f, 0x83, 0x19, 0xbd, 0x80, 0xea, 0xab, 0x91, 0x68,
+ 0x46, 0x95, 0xe8, 0x9a, 0x3c, 0xf1, 0xbd, 0x2a, 0xcf, 0xf9,
+ 0xde, 0xc7, 0x34, 0x0f, 0xbf, 0x42, 0x92, 0x1e, 0xf4, 0x70,
+ 0xc3, 0x1e, 0xb2, 0x69, 0x36, 0x34, 0xf6, 0x1c, 0xe9, 0x40,
+ 0x59, 0x78, 0x5a, 0x80, 0x5a, 0xa6, 0x26, 0x5e, 0xcb, 0xca,
+ 0x37, 0xa1, 0xcc, 0xc8, 0xd9, 0xe8, 0x84, 0xbb, 0x59, 0x13,
+ 0x66, 0xd2, 0x7f, 0xe0, 0x56, 0x96, 0xe2, 0xd7, 0x53, 0xd5,
+ 0x48, 0x6f, 0x2b, 0x06, 0xe5, 0xde, 0xf0, 0x13, 0xa7, 0xbd,
+ 0x31, 0xb3, 0xd2, 0x1b, 0x39, 0x74, 0x01, 0x59, 0xf9, 0xb1,
+ 0xb5, 0xb2, 0xcb, 0xbc, 0xb1, 0x48, 0xdf, 0x8f, 0xa8, 0xcf,
+ 0xac, 0x2f, 0x36, 0xbd, 0x8e, 0xe3, 0x3b, 0xb9, 0x0e, 0x75,
+ 0x9e, 0x96, 0xe6, 0xc0, 0x9d, 0x87, 0x14, 0x8c, 0x8f, 0xc6,
+ 0x73, 0x1d, 0x64, 0x4f, 0xe2, 0x8c, 0xc6, 0xc4, 0xd8, 0x30,
+ 0xb6, 0x51, 0x05, 0x23, 0x53, 0xd0, 0x6c, 0x96, 0x19, 0x63,
+ 0x57, 0x6b, 0x93, 0x20, 0xdd, 0xb0, 0xe1, 0xab, 0x1d, 0x6a,
+ 0x18, 0x54, 0x8f, 0x80, 0xe0, 0xa8, 0xc4, 0xa1, 0x36, 0x86,
+ 0x69, 0x98, 0x0c, 0x33, 0xfb, 0xb9, 0x83, 0xec, 0xd5, 0x5d,
+ 0x14, 0x1b, 0x9b, 0x0c, 0x6d, 0x23, 0x71, 0x5f, 0xe6, 0xc6,
+ 0xbb, 0x03, 0x88, 0x8a, 0xd9, 0x8c, 0xe9, 0xd7, 0xee, 0x29,
+ 0x6a, 0xe2, 0x9e, 0x9d, 0x59, 0x20, 0x97, 0x9b, 0xa8, 0xfb,
+ 0x4f, 0x0e, 0xeb, 0x35, 0x1a, 0x59, 0xa9, 0xfc, 0x2c, 0xf4,
+ 0x6f, 0x14, 0x61, 0x87, 0x41, 0xbb, 0x16, 0x76, 0xb1, 0xb5,
+ 0x37, 0x0a, 0xba, 0xd3, 0xa8, 0x91, 0x95, 0xa5, 0x07, 0xe3,
+ 0xcc, 0xcf, 0x54, 0xca, 0x7c, 0x5d, 0x2e, 0xeb, 0x38, 0xc7,
+ 0x74, 0xdf, 0xb1, 0x3c, 0xa3, 0x4a, 0xc3, 0x0e, 0x3a, 0x9a,
+ 0x10, 0x1c, 0x69, 0xcf, 0xf8, 0x2e, 0xe0, 0x81, 0x46, 0x2b,
+ 0x04, 0x43, 0xfd, 0x3e, 0x70, 0xb8, 0xca, 0x7c, 0x8b, 0x43,
+ 0x3e, 0xea, 0x38, 0xb1, 0xf0, 0x7a, 0x01, 0x60, 0xae, 0xee,
+ 0x1c, 0x2e, 0xd3, 0x1f, 0xaf, 0xbe, 0xfc, 0x18, 0x29, 0x74,
+ 0x38, 0xee, 0x79, 0xce, 0x0a, 0x3f, 0xf5, 0x60, 0x48, 0x7e,
+ 0xc2, 0x12, 0x60, 0x95, 0x4a, 0x2f, 0x9a, 0xea, 0xb2, 0xe5,
+ 0x1f, 0x18, 0x25, 0x11, 0x6d, 0x30, 0x7f, 0x33, 0xfd, 0xf4,
+ 0x8a, 0xd8, 0xc6, 0x4e, 0xf7, 0x7c, 0x47, 0xae, 0x45, 0x56,
+ 0x89, 0x9f, 0x64, 0x02, 0x4d, 0x50, 0xf6, 0xfb, 0x90, 0x21,
+ 0xd5, 0xe1, 0x3c, 0x82, 0x7b, 0x83, 0x73, 0xc7, 0x45, 0xf4,
+ 0xf2, 0x59, 0x34, 0x33, 0x85, 0xe1, 0x21, 0x3d, 0x4a, 0xdd,
+ 0x1a, 0xa7, 0x4c, 0x79, 0x14, 0x2c, 0x37, 0x6a, 0xca, 0x34,
+ 0xf2, 0x93, 0x75, 0x0b, 0xce, 0x7d, 0x65, 0x6b, 0xd5, 0xfa,
+ 0xfd, 0xde, 0x12, 0xc3, 0x27, 0xc9, 0x04, 0x11, 0xe8, 0xd6,
+ 0xc0, 0xe5, 0xf2, 0x8a, 0x0c, 0x09, 0xac, 0x06, 0xd7, 0xf0,
+ 0xd9, 0xce, 0x73, 0x63, 0xbc, 0xe0, 0x44, 0x45, 0x8d, 0x46,
+ 0x95, 0x8a, 0x86, 0x8e, 0x8b, 0x94, 0x2e, 0xcb, 0x26, 0x70,
+ 0xd0, 0xc2, 0x6f, 0x52, 0x17, 0x15, 0x6a, 0xa4, 0x76, 0x9d,
+ 0x2c, 0x29, 0x1f, 0x78, 0xf4, 0x6b, 0xe9, 0xb6, 0x6e, 0x0b,
+ 0xee, 0xa4, 0xdf, 0x16, 0x43, 0x47, 0xa4, 0x4a, 0x17, 0x84,
+ 0x13, 0x38, 0x68, 0x61, 0xd6, 0x29, 0xea, 0xeb, 0x35, 0x52,
+ 0x50, 0xb0, 0xdc, 0x6b, 0xae, 0xd0, 0x4e, 0x09, 0x17, 0x2c,
+ 0xbe, 0x37, 0x57, 0x6f, 0xd2, 0x6e, 0x28, 0x58, 0x6e, 0xd4,
+ 0x57, 0x68, 0x27, 0xe5, 0xea, 0x16, 0x5f, 0xfa, 0xca, 0xd6,
+ 0x69, 0x37, 0xaa, 0xb5, 0x81, 0xe3, 0xfa, 0x79, 0xe5, 0xba,
+ 0xf5, 0xbc, 0xd8, 0xb1, 0x7d, 0x0a, 0xec, 0xa1, 0x5e, 0xc5,
+ 0x42, 0xfd, 0x48, 0x10, 0xd3, 0x8e, 0x03, 0xa0, 0x31, 0xf1,
+ 0x24, 0x72, 0xb6, 0x21, 0xdd, 0x40, 0xb4, 0x92, 0xb5, 0xd6,
+ 0x28, 0xaa, 0x5f, 0x10, 0x8c, 0x2d, 0xbb, 0x0d, 0x78, 0x5a,
+ 0xbb, 0x92, 0xcb, 0x72, 0xe3, 0x40, 0xca, 0x7d, 0x0c, 0xc5,
+ 0xc4, 0x42, 0x90, 0x0b, 0x9d, 0x84, 0x96, 0xc1, 0xd8, 0x5d,
+ 0x67, 0x25, 0x30, 0xcc, 0x6a, 0xa1, 0x49, 0x36, 0xd2, 0xb7,
+ 0x50, 0x6c, 0x05, 0x0b, 0x7d, 0xfb, 0xd3, 0x0d, 0xdd, 0x54,
+ 0x8c, 0x72, 0xd2, 0x8e, 0x88, 0x6a, 0xa4, 0xdf, 0x7b, 0x50,
+ 0x99, 0x57, 0x09, 0x02, 0x22, 0x61, 0x38, 0x14, 0xaf, 0xb7,
+ 0xe5, 0x9f, 0x66, 0xad, 0xf6, 0xa0, 0xf1, 0xae, 0x12, 0x04,
+ 0x44, 0xc2, 0x70, 0x28, 0x9d, 0xad, 0x09, 0xfd, 0xcc, 0x99,
+ 0x2b, 0xe0, 0x45, 0x3c, 0xa7, 0xd2, 0x6c, 0x68, 0x2f, 0x38,
+ 0x11, 0x80, 0xb2, 0xf0, 0xb4, 0xc3, 0x09, 0xae, 0xd1, 0xdd,
+ 0x95, 0xa0, 0x32, 0x25, 0x1e, 0xca, 0x29, 0xa5, 0xab, 0xf2,
+ 0x56, 0x89, 0xc7, 0x19, 0x1d, 0x6e, 0x99, 0x22, 0x47, 0xbe,
+ 0x3e, 0x97, 0xcd, 0x96, 0xad, 0x7b, 0xc9, 0xef, 0x46, 0x4c,
+ 0xd9, 0xb1, 0xc4, 0x89, 0xce, 0x6c, 0xe4, 0x13, 0x04, 0xa7,
+ 0x62, 0x81, 0x91, 0x8d, 0x0d, 0xcd, 0xb5, 0x7e, 0x16, 0x7a,
+ 0xd6, 0x0a, 0xd1, 0xa2, 0xc1, 0xbc, 0x0b, 0x3b, 0xb9, 0xbb,
+ 0x13, 0xf7, 0x78, 0x21, 0xb9, 0x54, 0x5d, 0x31, 0x7f, 0x4d,
+ 0x68, 0x1e, 0xbd, 0x84, 0xe7, 0x3c, 0x61, 0x09, 0x30, 0xab,
+ 0x25, 0xf6, 0x4d, 0x75, 0x59, 0x93, 0xee, 0x0c, 0xf3, 0xe9,
+ 0xd7, 0x18, 0x01, 0x68, 0x19, 0x58, 0x50, 0xd7, 0x39, 0x7b,
+ 0x43, 0x1a, 0x3a, 0x97, 0x28, 0xa3, 0x4b, 0xed, 0xef, 0x41,
+ 0x73, 0xba, 0xce, 0x4a, 0x60, 0x5b, 0xd4, 0x81, 0x92, 0x6c,
+ 0x67, 0xad, 0xa0, 0xd8, 0x8d, 0xf0, 0x68, 0xf9, 0x1b, 0x06,
+ 0x66, 0xa3, 0x48, 0x3c, 0x32, 0x1a, 0xec, 0x62, 0xaa, 0x34,
+ 0xd3, 0x35, 0x2a, 0x04, 0x53, 0x16, 0xb5, 0x2d, 0x4b, 0x9c,
+ 0x03, 0xeb, 0xc8, 0x10, 0x1c, 0x15, 0xbc, 0x49, 0x84, 0x39,
+ 0x90, 0x20, 0x65, 0xdf, 0x06, 0x83, 0x62, 0x21, 0x48, 0xe4,
+ 0xaf, 0x42, 0xf1, 0x7b, 0xbe, 0xe5, 0x61, 0x64, 0xeb, 0x60,
+ 0x7a, 0x6e, 0x3b, 0xce, 0xd1, 0x12, 0xfe, 0x5f, 0x32, 0x01,
+ 0xc7, 0x28, 0x7b, 0x9c, 0x48, 0xf1, 0x8b, 0x91, 0x1e, 0x41,
+ 0xdc, 0xa0, 0xd8, 0x82, 0x5c, 0x15, 0x70, 0x4d, 0xe8, 0x7d,
+ 0xa1, 0x78, 0x85, 0x94, 0x45, 0x1c, 0x74, 0xf7, 0x20, 0x38,
+ 0x02, 0xd0, 0x32, 0xb0, 0xa0, 0x6d, 0x72, 0xf6, 0x86, 0x34,
+ 0x74, 0xed, 0x50, 0x85, 0x96, 0x19, 0xb1, 0x84, 0x31, 0x47,
+ 0x86, 0x5a, 0xb3, 0xd5, 0xd7, 0x21, 0xa3, 0x9d, 0x43, 0xdf,
+ 0x16, 0xf9, 0x56, 0x03, 0x8a, 0x78, 0x8d, 0x67, 0xd8, 0xd0,
+ 0x5e, 0x70, 0x22, 0xc3, 0xa7, 0x23, 0xab, 0x45, 0x51, 0xd8,
+ 0xc5, 0x33, 0xfe, 0x07, 0x77, 0x72, 0x54, 0x36, 0x84, 0xa0,
+ 0x7f, 0xcc, 0x99, 0x83, 0xc9, 0x6c, 0x83, 0xf8, 0x7f, 0xe2,
+ 0xda, 0x39, 0x2a, 0x1b, 0x42, 0x50, 0xde, 0x66, 0xad, 0xa0,
+ 0xd6, 0x3e, 0x57, 0xff, 0x80, 0x1b, 0x68, 0x79, 0xc7, 0xee,
+ 0xd1, 0x65, 0x40, 0x7a, 0xb8, 0xca, 0x4e, 0x8a, 0x11, 0x34,
+ 0x01, 0xfe, 0xc5, 0x32, 0xb9, 0xc3, 0x17, 0x95, 0xe1, 0xd0,
+ 0x8c, 0xe9, 0xc8, 0x04, 0x9a, 0xa0, 0x2f, 0x35, 0xe3, 0x42,
+ 0x69, 0x01, 0x78, 0xc7, 0xf6, 0xc5, 0xe6, 0x4d, 0xa0, 0xa3,
+ 0x7b, 0xd6, 0x9f, 0x63, 0x9c, 0x12, 0x2e, 0x58, 0xbf, 0x6e,
+ 0xae, 0xde, 0x67, 0xdc, 0x31, 0xb9, 0xec, 0xc0, 0x8b, 0x26,
+ 0x03, 0x7c, 0x4e, 0xbf, 0x50, 0x3b, 0xa4, 0x86, 0x05, 0x76,
+ 0x22, 0x4e, 0x94, 0xe1, 0x32, 0x72, 0x5e, 0x4d, 0x31, 0xf2,
+ 0x38, 0x25, 0x19, 0x02, 0xe2, 0x4a, 0xa5, 0xa8, 0x06, 0x2d,
+ 0x4c, 0x6e, 0x41, 0x46, 0xa2, 0x2a, 0x6d, 0xe0, 0x26, 0xb4,
+ 0xc3, 0x03, 0x17, 0x94, 0x1c, 0x82, 0x3a, 0x8e, 0xb9, 0x1e,
+ 0xb0, 0x25, 0x80, 0x07, 0x1d, 0x4d, 0x08, 0x0e, 0x33, 0x69,
+ 0xde, 0x70, 0x2b, 0x4b, 0x71, 0x8a, 0xc8, 0x8b, 0x24, 0xd6,
+ 0xf4, 0x03, 0x93, 0x6f, 0x94, 0x11, 0xea, 0xed, 0xc7, 0x48,
+ 0x42, 0x3a, 0xec, 0x95, 0x3d, 0xdb, 0x82, 0x32, 0xc6, 0x75,
+ 0xeb, 0x22, 0x17, 0x19, 0x4d, 0x90, 0x84, 0x74, 0x1b, 0xe9,
+ 0x7a, 0x75, 0xc7, 0x64, 0x4f, 0xea, 0x84, 0x5e, 0xb9, 0x24,
+ 0x8e, 0xa6, 0x54, 0x86, 0x56, 0xf6, 0x1b, 0xbf, 0x47, 0x90,
+ 0xfc, 0xbd, 0x08, 0xc6, 0xc8, 0x85, 0xc5, 0x77, 0x0b, 0x5e,
+ 0x5d, 0xd0, 0x13, 0x32, 0x83, 0x51, 0x1d, 0x64, 0x25, 0x95,
+ 0xdb, 0xaa, 0x41, 0x12, 0xf1, 0xef, 0x3b, 0xb4, 0x9e, 0x46,
+ 0xc1, 0xed, 0xd0, 0x8c, 0xf9, 0xbd, 0x76, 0x60, 0xa4, 0x13,
+ 0xe0, 0x3e, 0x27, 0xbe, 0x28, 0xfc, 0x52, 0x43, 0xe3, 0x3b,
+ 0x39, 0x7f, 0x24, 0x45, 0x4e, 0x51, 0x08, 0x22, 0x13, 0x6f,
+ 0x43, 0x09, 0x27, 0xd7, 0x18, 0x12, 0x60, 0x61, 0x29, 0xf3,
+ 0x75, 0x21, 0x74, 0x0e, 0x1a, 0x89, 0xd4, 0x9b, 0xdb, 0x4a,
+ 0x9c, 0xf5, 0xb2, 0x3c, 0x1a, 0xaf, 0x76, 0xe0, 0xf8, 0x58,
+ 0x12, 0x0f, 0xed, 0xe7, 0x3b, 0xf9, 0xcb, 0x0d, 0xd4, 0xee,
+ 0x65, 0x4f, 0x20, 0x76, 0x1a, 0x8f, 0x41, 0xda, 0xa5, 0x88,
+ 0x10, 0xff, 0x2e, 0xd3, 0x6f, 0x7c, 0xae, 0x3d, 0xc3, 0x36,
+ 0xd0, 0xf2, 0x4d, 0x1f, 0x61, 0xca, 0x80, 0xf4, 0xb3, 0x57,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0xac, 0x9c, 0x8d,
+ 0x63, 0x5b, 0xa2, 0x04, 0xcb, 0x2b, 0x15, 0x27, 0xd0, 0x71,
+ 0x25, 0x4e, 0xa1, 0xcb, 0x62, 0x8e, 0xcf, 0xb4, 0xa5, 0x69,
+ 0x6d, 0x42, 0x85, 0xf9, 0x86, 0x7d, 0x2c, 0x31, 0x12, 0x9f,
+ 0x61, 0x79, 0xe9, 0x83, 0x64, 0x4a, 0x3c, 0x57, 0x52, 0x89,
+ 0x95, 0x27, 0xac, 0xd1, 0xd8, 0x4b, 0xc9, 0x69, 0x66, 0xdb,
+ 0xf5, 0xfe, 0xd3, 0x62, 0x5e, 0xa3, 0x33, 0x67, 0xdc, 0x85,
+ 0xa3, 0x1b, 0x50, 0x3e, 0x6f, 0xd9, 0xd7, 0x9f, 0xeb, 0x76,
+ 0xf1, 0x14, 0xd6, 0xf8, 0xba, 0x28, 0xa4, 0xc0, 0x1f, 0x75,
+ 0x1c, 0xb9, 0x78, 0x3d, 0xe1, 0x30, 0x57, 0x77, 0x0e, 0x17,
+ 0x88, 0xee, 0xcf, 0xdf, 0xd5, 0xeb, 0x5c, 0x55, 0x4c, 0xe0,
+ 0x63, 0x47, 0xde, 0xa4, 0x2e, 0x2a, 0xd4, 0x8b, 0x9a, 0x64,
+ 0x74, 0x7b, 0x21, 0x88, 0xdf, 0xbd, 0xf8, 0x19, 0xb2, 0x1d,
+ 0xf1, 0x2f, 0xa2, 0x3a, 0xcc, 0x67, 0xfe, 0x03, 0xac, 0xef,
+ 0x07, 0x6d, 0xa6, 0x69, 0x90, 0xde, 0x56, 0x0c, 0x09, 0x7f,
+ 0x52, 0x60, 0xee, 0xdb, 0x0e, 0xbd, 0x3c, 0xff, 0x91, 0x18,
+ 0xca, 0xda, 0x07, 0xea, 0x44, 0x77, 0x1c, 0xea, 0xff, 0xef,
+ 0x0f, 0x43, 0xf9, 0xcd, 0x28, 0xdb, 0xdd, 0x4f, 0xe6, 0x3a,
+ 0xc8, 0x9e, 0x2f, 0x83, 0x21, 0x9f, 0x24, 0x08, 0x88, 0x47,
+ 0xe0, 0x50, 0xf9, 0x99, 0x12, 0x39, 0x5b, 0xf1, 0x7e, 0x5b,
+ 0xe4, 0xac, 0xda, 0x0f, 0xff, 0x35, 0xb4, 0x66, 0x7d, 0x39,
+ 0x6d, 0xf5, 0xc2, 0x72, 0x93, 0xca, 0xa5, 0xa6, 0xb4, 0x28,
+ 0xed, 0x98, 0xe6, 0xd3, 0x9b, 0xb8, 0x5a, 0xdd, 0xf4, 0xb3,
+ 0x42, 0x2f, 0xbd, 0x12, 0x47, 0x53, 0x2a, 0x43, 0x2b, 0x7b,
+ 0xec, 0xbe, 0xc2, 0x48, 0x7e, 0xbf, 0xb3, 0x54, 0x03, 0xf7,
+ 0x26, 0x37, 0xc1, 0x23, 0x51, 0x15, 0xd7, 0x70, 0x13, 0x5a,
+ 0x80, 0xe0, 0x18, 0x89, 0x9b, 0x4c, 0x8c, 0x99, 0x1d, 0xe2,
+ 0xe7, 0xb3, 0x35, 0x56, 0x46, 0xf3, 0x27, 0xac, 0xb8, 0x2a,
+ 0xe0, 0x9a, 0x13, 0xfa, 0x81, 0xf0, 0xc9, 0xeb, 0x8a, 0x38,
+ 0xe8, 0x2d, 0x40, 0x70, 0xfc, 0xb6, 0x0b, 0x9b, 0x77, 0x1e,
+ 0x3d, 0x6a, 0xab, 0xcc, 0xfa, 0x72, 0xda, 0x29, 0x47, 0xe4,
+ 0x44, 0x9c, 0xeb, 0x01, 0x64, 0xe4, 0xbc, 0x9a, 0x62, 0x27,
+ 0x70, 0x4a, 0x32, 0x04, 0x07, 0x94, 0xe6, 0xef, 0xa2, 0x67,
+ 0x5b, 0xea, 0x52, 0x7e, 0xca, 0x4b, 0xbb, 0xc9, 0xcc, 0x5f,
+ 0xf6, 0x51, 0x8c, 0x98, 0x71, 0xa1, 0x4b, 0xd1, 0x5f, 0xd8,
+ 0x0b, 0x26, 0x08, 0x8d, 0xc4, 0xc1, 0xe1, 0xd9, 0xc6, 0x71,
+ 0x04, 0x36, 0xc9, 0xf5, 0x7e, 0xc5, 0x7d, 0x8d, 0xf7, 0x01,
+ 0x85, 0xd8, 0x82, 0x02, 0x63, 0xd9, 0x02, 0x1b, 0x85, 0x9b,
+ 0x3f, 0x83, 0xdf, 0xa7, 0x9a, 0xe1, 0xa3, 0x6c, 0x41, 0x01,
+ 0xbf, 0xf1, 0xaf, 0xd1, 0x60, 0x9a, 0x2e, 0x52, 0xc3, 0xad,
+ 0x2c, 0x5b, 0x30, 0xc2, 0x72, 0xb6, 0xf2, 0xc3, 0x95, 0x0d,
+ 0x91, 0xde, 0xa0, 0xed, 0xbf, 0x40, 0x75, 0xb4, 0xa9, 0x34,
+ 0x23, 0xab, 0x2c, 0x3b, 0x0a, 0x77, 0xd4, 0xb2, 0xc3, 0xca,
+ 0x25, 0x7e, 0xb7, 0xe3, 0x6a, 0x1f, 0x86, 0x05, 0x11, 0x27,
+ 0x4a, 0x91, 0x19, 0x39, 0x2f, 0xc7, 0xf9, 0x79, 0x1c, 0xf3,
+ 0xed, 0x01, 0x71, 0x25, 0x73, 0x96, 0x51, 0xd2, 0xcc, 0x75,
+ 0x29, 0x3f, 0x65, 0xc4, 0xbc, 0x85, 0x66, 0xce, 0x7b, 0xc9,
+ 0xdc, 0x28, 0xad, 0xca, 0xe5, 0x01, 0x11, 0xd1, 0x1c, 0x0a,
+ 0xb6, 0xba, 0x93, 0xae, 0x33, 0xb7, 0xd9, 0x23, 0xd0, 0x31,
+ 0x36, 0x0c, 0xcc, 0x85, 0x90, 0x78, 0x64, 0x34, 0x1b, 0xc4,
+ 0x97, 0x68, 0x92, 0xa2, 0xbc, 0xfe, 0xe4, 0xff, 0xd4, 0xe3,
+ 0xa5, 0xc9, 0xa1, 0x2f, 0x72, 0x7e, 0xbf, 0x5e, 0x3e, 0xa4,
+ 0x6b, 0x0e, 0x3d, 0x31, 0xa7, 0x80, 0x19, 0x29, 0xe5, 0x6a,
+ 0xff, 0x38, 0x2a, 0xd4, 0xd2, 0x5d, 0x33, 0x5c, 0x03, 0xc1,
+ 0x8c, 0x56, 0x08, 0x86, 0x39, 0x7c, 0xe0, 0xb3, 0x57, 0xf8,
+ 0x59, 0x1e, 0x0d, 0xb6, 0x3b, 0x70, 0x7c, 0x2c, 0x09, 0xe6,
+ 0x97, 0x92, 0xfc, 0x9d, 0x84, 0xe7, 0x75, 0x25, 0x07, 0xc1,
+ 0xef, 0xc2, 0xbf, 0xe6, 0x2c, 0x98, 0x20, 0x71, 0x96, 0x82,
+ 0x02, 0xe2, 0x19, 0xe1, 0x82, 0x14, 0xdc, 0x4e, 0x24, 0x99,
+ 0xa4, 0xa9, 0x0f, 0xc1, 0x6e, 0x50, 0x6c, 0x41, 0xb4, 0x8f,
+ 0x4c, 0xbc, 0x55, 0x57, 0x6e, 0x81, 0x5b, 0x53, 0x71, 0x13,
+ 0xcb, 0xb5, 0xb2, 0x26, 0x81, 0x55, 0xc4, 0xdf, 0x5d, 0xab,
+ 0x89, 0xd2, 0xda, 0x84, 0xc9, 0x31, 0xcf, 0xfa, 0x58, 0x62,
+ 0xe4, 0x3f, 0x90, 0xd7, 0xfb, 0x87, 0x20, 0x88, 0x4c, 0x7f,
+ 0xcf, 0x24, 0x9c, 0xda, 0x60, 0x48, 0xe5, 0x57, 0x89, 0x8f,
+ 0xab, 0x50, 0x19, 0xf3, 0x0f, 0x65, 0xf5, 0xb3, 0xb4, 0x79,
+ 0x2b, 0xa5, 0x0f, 0x1d, 0x87, 0xce, 0xb6, 0x17, 0xa4, 0xfc,
+ 0x57, 0x96, 0xb5, 0x51, 0x5b, 0xbe, 0x2f, 0xa2, 0x47, 0x24,
+ 0xc0, 0xe9, 0x94, 0x5e, 0xf7, 0x17, 0xa7, 0x09, 0x3e, 0x30,
+ 0x4a, 0x22, 0xda, 0x60, 0x9c, 0xd7, 0x22, 0x68, 0x02, 0x3f,
+ 0x49, 0x64, 0xb1, 0x45, 0x2e, 0xe9, 0x01, 0x63, 0xdb, 0x11,
+ 0x2a, 0x88, 0x5c, 0x64, 0xf7, 0x05, 0x55, 0x13, 0x6c, 0x22,
+ 0x2b, 0x17, 0x9a, 0x53, 0xff, 0x2e, 0xa8, 0x65, 0xb3, 0x53,
+ 0x5a, 0x14, 0x97, 0x4c, 0x73, 0x88, 0xac, 0x5c, 0x2d, 0x8f,
+ 0x7a, 0xb8, 0x5b, 0xce, 0x3f, 0x06, 0x9b, 0x1d, 0x0e, 0xda,
+ 0x8f, 0xd2, 0xe3, 0x7f, 0xac, 0x18, 0x12, 0xfe, 0x8f, 0x20,
+ 0x5a, 0x49, 0xbb, 0x6b, 0x14, 0x55, 0xce, 0x08, 0x46, 0xf7,
+ 0xbc, 0xe7, 0x3c, 0x2d, 0x04, 0x63, 0x64, 0xa3, 0x83, 0xda,
+ 0xe4, 0x2f, 0xcf, 0x68, 0xe8, 0x19, 0xa0, 0xc9, 0xef, 0x32,
+ 0xa6, 0x10, 0x2d, 0xc5, 0xbc, 0xd4, 0x0a, 0xcb, 0x67, 0x04,
+ 0x23, 0x9a, 0x5e, 0x92, 0x1e, 0xf7, 0x72, 0xfe, 0x48, 0x8a,
+ 0x9c, 0xa2, 0x10, 0x44, 0x26, 0xde, 0x86, 0x12, 0x4e, 0x6d,
+ 0x30, 0x24, 0xba, 0xfa, 0xd2, 0x2a, 0xb3, 0x97, 0xf3, 0x06,
+ 0x4f, 0xdf, 0xfe, 0xd5, 0xb8, 0xa8, 0xd6, 0x69, 0x30, 0xd1,
+ 0xf5, 0x98, 0xdb, 0xf1, 0x3a, 0x07, 0x0d, 0xa5, 0x6a, 0xac,
+ 0x8c, 0x25, 0x4e, 0x9b, 0x4c, 0x5a, 0x23, 0x84, 0xa1, 0x93,
+ 0xb7, 0xc4, 0x3f, 0xf7, 0x63, 0x78, 0xb1, 0x55, 0x1a, 0xf0,
+ 0x82, 0xed, 0xef, 0x37, 0xad, 0x11, 0xc2, 0x5f, 0x1f, 0xaa,
+ 0x87, 0x4b, 0xb7, 0xdc, 0x85, 0x96, 0x6a, 0x77, 0xd3, 0xc6,
+ 0x10, 0x3b, 0x0d, 0xa6, 0xc1, 0x6d, 0xb3, 0x44, 0x08, 0x9e,
+ 0x17, 0x88, 0x88, 0xfb, 0x15, 0x02, 0xc8, 0x0b, 0xbb, 0xf7,
+ 0xc4, 0x4e, 0xe0, 0x94, 0x64, 0x08, 0x0e, 0xeb, 0x3c, 0x74,
+ 0x59, 0xbe, 0x9d, 0x5c, 0xd5, 0x76, 0x9f, 0x1d, 0x91, 0x87,
+ 0xaf, 0xbd, 0xbc, 0xcd, 0x6e, 0x14, 0xb7, 0x65, 0x93, 0xe1,
+ 0xe9, 0x89, 0x0e, 0x05, 0x5b, 0x5d, 0xa8, 0x57, 0xf8, 0xba,
+ 0x0b, 0x7e, 0xe3, 0x6d, 0x35, 0xcd, 0x40, 0xd3, 0x98, 0xfe,
+ 0x5d, 0x48, 0xfb, 0x77, 0xc0, 0x90, 0x9e, 0x07, 0x10, 0xd8,
+ 0xa2, 0x52, 0x3b, 0x92, 0x37, 0x71, 0x5a, 0x04, 0x51, 0xe6,
+ 0x4d, 0x08, 0x68, 0xa7, 0xe1, 0x76, 0xb0, 0x56, 0x7f, 0x50,
+ 0x47, 0x59, 0xc7, 0xa9, 0x58, 0x1b, 0x81, 0x91, 0x67, 0xba,
+ 0x66, 0xb8, 0x06, 0x41, 0xdb, 0xac, 0x10, 0xcf, 0x72, 0xf8,
+ 0x03, 0xa5, 0xae, 0x33, 0xc5, 0xc9, 0x2f, 0xde, 0x39, 0x4f,
+ 0x35, 0x48, 0xb8, 0xa3, 0xb9, 0x7b, 0xfd, 0xfe, 0x5f, 0xf6,
+ 0x74, 0x4d, 0x1e, 0x99, 0xbf, 0x15, 0x86, 0x9d, 0x6f, 0x82,
+ 0x1a, 0xe6, 0xbe, 0x21, 0x49, 0x0f, 0x40, 0xff, 0x8f, 0xa2,
+ 0xe7, 0x3e, 0x58, 0xb5, 0xad, 0x4f, 0x98, 0x53, 0x92, 0xcd,
+ 0xe8, 0xa6, 0x0c, 0xa5, 0xac, 0x26, 0x46, 0xad, 0xef, 0x71,
+ 0x92, 0xb8, 0xfb, 0x2b, 0x23, 0x98, 0xf2, 0x56, 0xe7, 0x87,
+ 0xbb, 0x3f, 0x0b, 0x3d, 0x6b, 0x05, 0x89, 0x51, 0x81, 0x5e,
+ 0xe4, 0xfc, 0xbd, 0xbc, 0x9d, 0xbf, 0x3b, 0x30, 0x52, 0xe8,
+ 0x70, 0x1f, 0xf2, 0x5f, 0x14, 0x7e, 0x29, 0xc0, 0x90, 0xfc,
+ 0x90, 0x72, 0x8e, 0x4e, 0x44, 0x92, 0xa6, 0x15, 0x23, 0xfd,
+ 0xd5, 0xc2, 0x22, 0xfb, 0x29, 0x47, 0x7a, 0x38, 0x80, 0x0f,
+ 0x59, 0xd5, 0x1b, 0x1a, 0x7b, 0x0e, 0x95, 0x20, 0xcd, 0x3c,
+ 0x2d, 0x40, 0x3a, 0xc7, 0x0f, 0xad, 0xbe, 0xeb, 0x43, 0xaf,
+ 0xd6, 0x41, 0x0d, 0x73, 0x5f, 0xf1, 0xc5, 0xe6, 0x35, 0xda,
+ 0x88, 0x63, 0x08, 0xfc, 0xe7, 0x53, 0x81, 0xd7, 0xb8, 0x22,
+ 0x04, 0x4f, 0xea, 0x44, 0x34, 0xb2, 0x91, 0x3b, 0x58, 0x2b,
+ 0xde, 0x28, 0xc2, 0xcd, 0x82, 0xb5, 0x2c, 0xec, 0xa1, 0xa9,
+ 0x9f, 0x6f, 0x09, 0x80, 0xf2, 0x85, 0x02, 0xe9, 0x74, 0x6b,
+ 0x60, 0x93, 0x79, 0x45, 0x06, 0xe5, 0xb7, 0x37, 0x67, 0x54,
+ 0xa5, 0xed, 0x25, 0x0c, 0x9e, 0x7d, 0x3f, 0x69, 0xb3, 0x93,
+ 0x6f, 0xd2, 0xf8, 0xd5, 0x6f, 0x38, 0xf4, 0xc4, 0xd9, 0x45,
+ 0x64, 0xa4, 0x12, 0x6b, 0x7a, 0xe0, 0xa8, 0xd6, 0x4f, 0xe2,
+ 0x08, 0x6c, 0x51, 0x29, 0xfc, 0x49, 0xfa, 0xd9, 0x2d, 0x02,
+ 0xc9, 0x73, 0xc7, 0x04, 0x6b, 0x1f, 0xca, 0x9e, 0x40, 0xec,
+ 0x34, 0xdd, 0x82, 0x77, 0x89, 0xd3, 0x20, 0x3d, 0x5c, 0x65,
+ 0x83, 0x85, 0xf6, 0x6f, 0xfd, 0xc6, 0xfb, 0x24, 0x5c, 0xb0,
+ 0xbd, 0xdc, 0x9f, 0x7f, 0xce, 0x7b, 0x5f, 0xad, 0x5b, 0xa5,
+ 0x18, 0xc7, 0xea, 0xf5, 0x40, 0xba, 0x0b, 0x66, 0x0c, 0xd1,
+ 0xfd, 0xcc, 0xa7, 0x78, 0x34, 0x9d, 0xec, 0x03, 0x33, 0xb0,
+ 0x24, 0x1e, 0x19, 0x0d, 0x76, 0x31, 0x55, 0x1a, 0x1e, 0x3a,
+ 0xcd, 0x5f, 0xaf, 0x2e, 0x8b, 0x3b, 0xae, 0xef, 0xa9, 0xa2,
+ 0xb6, 0xbf, 0x5e, 0x87, 0x10, 0x4f, 0x53, 0xc9, 0x49, 0xee,
+ 0x16, 0xbc, 0xba, 0x63, 0x26, 0x64, 0xc5, 0xa2, 0x3a, 0xc8,
+ 0xc3, 0x7a, 0x79, 0xcd, 0x1a, 0xf8, 0xa3, 0x91, 0xf1, 0xff,
+ 0x25, 0x8f, 0x0d, 0xb2, 0x26, 0xdd, 0x78, 0xe8, 0xb2, 0xbf,
+ 0xf9, 0xb8, 0x69, 0xec, 0xfd, 0x3a, 0xe1, 0xcd, 0x9d, 0xb9,
+ 0xbb, 0x59, 0x2d, 0x53, 0x13, 0x2f, 0x84, 0x65, 0xfa, 0xb1,
+ 0x66, 0x64, 0x8d, 0x74, 0x42, 0xbc, 0xcd, 0xe8, 0x77, 0xf5,
+ 0x35, 0x71, 0x4f, 0xaf, 0xcd, 0x10, 0xaa, 0xac, 0x54, 0x9c,
+ 0xc6, 0x07, 0x94, 0xfb, 0xe3, 0xe4, 0xdf, 0x9c, 0x88, 0xe7,
+ 0x8f, 0x2a, 0x46, 0x39, 0x69, 0x47, 0x44, 0x35, 0x52, 0x8e,
+ 0x80, 0x3d, 0xdd, 0x87, 0x0d, 0x7c, 0xb0, 0xa9, 0x99, 0x9e,
+ 0xf3, 0xa6, 0xe7, 0x59, 0x13, 0x8f,
+ },
+ {
+ /* 6 */
+ 0xa2, 0xc8, 0x81, 0xe2, 0x3b, 0xb3, 0xc2, 0x65, 0xc5, 0x23,
+ 0x88, 0xa8, 0x4b, 0xa0, 0x07, 0xfc, 0x7e, 0x5e, 0xba, 0x73,
+ 0x1f, 0x4c, 0x94, 0x8f, 0x72, 0xc4, 0x53, 0xb4, 0x67, 0xfd,
+ 0xe6, 0xee, 0x65, 0xcf, 0x9b, 0x0b, 0x79, 0xd8, 0x3c, 0xc1,
+ 0x2a, 0xfe, 0xa1, 0x96, 0xda, 0xeb, 0x16, 0xdd, 0x09, 0xce,
+ 0x1f, 0x28, 0x22, 0xcd, 0xd9, 0x3a, 0x89, 0x16, 0xef, 0x1e,
+ 0x6b, 0xb3, 0x50, 0x11, 0xb9, 0x59, 0xa0, 0x9a, 0x5d, 0x27,
+ 0x6a, 0x2b, 0x9d, 0x19, 0x7a, 0x8a, 0xf6, 0xb6, 0xf7, 0xcf,
+ 0xaa, 0x23, 0xa2, 0x8f, 0xdc, 0xda, 0x7c, 0x18, 0xa1, 0x08,
+ 0x06, 0xf5, 0x92, 0xb9, 0xdd, 0x6e, 0x3c, 0x40, 0x19, 0x17,
+ 0x62, 0x09, 0xe3, 0x6f, 0xcd, 0x25, 0x6b, 0x9f, 0xc7, 0xa2,
+ 0x2e, 0x31, 0x92, 0xf7, 0x4b, 0x4f, 0x2c, 0x06, 0xc0, 0xa8,
+ 0x5e, 0xd9, 0x2a, 0xa5, 0xd8, 0xf6, 0x9e, 0x16, 0x39, 0xf1,
+ 0xd5, 0x85, 0x35, 0x78, 0xdb, 0xf7, 0x12, 0xec, 0x4d, 0x13,
+ 0xf8, 0xe5, 0xc9, 0xfb, 0xf0, 0xc3, 0x64, 0x5c, 0x4b, 0x24,
+ 0x0a, 0x7f, 0xb2, 0x94, 0x6f, 0x39, 0x9a, 0xcd, 0xb8, 0xc4,
+ 0xcb, 0x78, 0xc9, 0x53, 0x37, 0xd7, 0x1f, 0x06, 0xb9, 0x02,
+ 0xe0, 0xac, 0xc5, 0xbf, 0xa6, 0xfa, 0xfe, 0xf6, 0xcf, 0x6c,
+ 0x77, 0x13, 0x25, 0x53, 0xfd, 0x31, 0x64, 0x2d, 0x69, 0xae,
+ 0xd8, 0xda, 0xe0, 0xd6, 0x22, 0x86, 0x46, 0xf6, 0xb5, 0x85,
+ 0x7a, 0xc2, 0xb0, 0x83, 0xeb, 0xff, 0xcf, 0x23, 0x02, 0x4a,
+ 0x78, 0x8a, 0x49, 0x8b, 0xce, 0x8e, 0x19, 0x7a, 0xc2, 0x86,
+ 0xa7, 0x97, 0xd7, 0xc5, 0x4e, 0x61, 0x70, 0xde, 0x08, 0xf9,
+ 0x96, 0x42, 0xe9, 0x3e, 0xf1, 0xb9, 0xf4, 0xab, 0x7f, 0x04,
+ 0x4a, 0xf5, 0x80, 0x09, 0x9a, 0x2c, 0xc9, 0x9d, 0xdb, 0xca,
+ 0xb6, 0x76, 0x79, 0x46, 0x12, 0x4d, 0xe5, 0x67, 0xee, 0x14,
+ 0x11, 0x87, 0x8d, 0x1d, 0xa5, 0x0b, 0x96, 0x0f, 0xd4, 0xb8,
+ 0x28, 0xe9, 0x3f, 0x2f, 0x5d, 0xd8, 0xee, 0x26, 0x4a, 0xa6,
+ 0x39, 0x62, 0xc8, 0x5a, 0xd2, 0x9f, 0x73, 0x77, 0x70, 0x6b,
+ 0x11, 0x43, 0x23, 0x7b, 0xbb, 0xa3, 0x3d, 0x61, 0x58, 0xa0,
+ 0x94, 0x9e, 0x86, 0xf0, 0x0c, 0x7f, 0xd3, 0xba, 0x75, 0xbc,
+ 0xe1, 0xa2, 0x56, 0xdf, 0xc9, 0x92, 0x54, 0xf4, 0xb7, 0xdb,
+ 0xfa, 0x62, 0x3f, 0xbb, 0xe5, 0xc6, 0x7a, 0x8c, 0xcf, 0xc5,
+ 0x23, 0xe2, 0xe4, 0x43, 0xb5, 0x93, 0xc0, 0xfc, 0xae, 0xf1,
+ 0x5c, 0x91, 0x08, 0xb2, 0x29, 0x6e, 0xcd, 0x34, 0x09, 0x9b,
+ 0x21, 0x2e, 0x41, 0x71, 0xe7, 0xab, 0xf1, 0x6a, 0xde, 0x29,
+ 0x4b, 0xa6, 0x9b, 0xee, 0xb5, 0x62, 0x95, 0x99, 0xa1, 0xa7,
+ 0xc5, 0x2d, 0xb7, 0x9c, 0x6b, 0xac, 0x31, 0x64, 0x2b, 0x6d,
+ 0x5e, 0x9d, 0x5a, 0xba, 0x60, 0x7e, 0x57, 0x99, 0x2e, 0xa9,
+ 0x04, 0x59, 0xf5, 0x37, 0x87, 0x1a, 0xe5, 0xac, 0xf1, 0x17,
+ 0xa7, 0x79, 0x4d, 0x70, 0x6c, 0xc2, 0xfa, 0xfd, 0x1a, 0xea,
+ 0xae, 0x24, 0x74, 0xe7, 0xe0, 0x36, 0x82, 0xe2, 0x0d, 0x95,
+ 0x21, 0xd4, 0x7f, 0x52, 0x96, 0x8f, 0xf5, 0x1f, 0xa9, 0xc4,
+ 0xe9, 0xf1, 0x53, 0x2e, 0xd9, 0xfb, 0xb5, 0x33, 0xaf, 0x5d,
+ 0x9a, 0x8a, 0x86, 0xd2, 0x63, 0xc7, 0x35, 0xbb, 0xb5, 0x26,
+ 0x73, 0x20, 0x28, 0x9b, 0x8b, 0x89, 0xcb, 0xc6, 0xb3, 0x18,
+ 0xa2, 0x42, 0x40, 0x14, 0x9e, 0x88, 0x98, 0xf5, 0x59, 0xba,
+ 0x21, 0x0a, 0x08, 0x06, 0xe3, 0x37, 0x8c, 0x02, 0x29, 0xcd,
+ 0x96, 0x63, 0xbb, 0x98, 0xbe, 0xd3, 0x9f, 0x77, 0x6c, 0x2d,
+ 0x6d, 0x6a, 0x55, 0x1b, 0xf3, 0x5f, 0x4c, 0x2b, 0x08, 0x54,
+ 0x41, 0x72, 0x58, 0xcc, 0xf0, 0x44, 0x33, 0x3f, 0x53, 0x3c,
+ 0xa8, 0xc1, 0x1e, 0x20, 0xed, 0xea, 0x31, 0xe5, 0x90, 0xd6,
+ 0x87, 0xf3, 0xd4, 0xae, 0x82, 0x51, 0x17, 0xf9, 0x67, 0x85,
+ 0xe3, 0x81, 0x30, 0x53, 0xf2, 0x4f, 0x33, 0x84, 0x63, 0x10,
+ 0x7d, 0x7c, 0xc1, 0x18, 0xe3, 0xb9, 0x66, 0x49, 0xca, 0xd9,
+ 0x1c, 0x4c, 0x8e, 0x85, 0x13, 0x46, 0xfe, 0xc2, 0x92, 0x65,
+ 0x2a, 0x8b, 0xd7, 0x90, 0xb4, 0x85, 0xcd, 0xc4, 0x2e, 0xfd,
+ 0x31, 0x6c, 0x9c, 0xea, 0xe3, 0x5a, 0xac, 0xfd, 0x2a, 0xd2,
+ 0x07, 0x84, 0xed, 0x49, 0x8a, 0x86, 0x83, 0xbc, 0xb8, 0xc3,
+ 0x67, 0xe2, 0x43, 0x3b, 0x9f, 0x21, 0xb8, 0xe1, 0x10, 0xa7,
+ 0x52, 0xdc, 0x59, 0x68, 0x12, 0xf5, 0x42, 0x5c, 0x8c, 0xd7,
+ 0xa6, 0xa5, 0x1d, 0xe3, 0x50, 0x7e, 0xd9, 0x2a, 0xfe, 0x0b,
+ 0x5a, 0xa7, 0x89, 0xef, 0xc7, 0x07, 0x1a, 0xe9, 0x42, 0x6b,
+ 0xfe, 0xa4, 0xef, 0xdd, 0x29, 0x3e, 0x91, 0x4b, 0x11, 0x21,
+ 0x26, 0xf4, 0x04, 0x2a, 0xc1, 0x39, 0x2c, 0x66, 0x78, 0x22,
+ 0xf8, 0xfe, 0xc8, 0x1e, 0x54, 0x81, 0x29, 0xe4, 0x93, 0x5f,
+ 0x38, 0xaa, 0x64, 0x0d, 0xda, 0xba, 0x92, 0xa9, 0x89, 0xd7,
+ 0xbe, 0x1c, 0x1c, 0x6a, 0x95, 0x60, 0x78, 0x6e, 0x5e, 0x58,
+ 0x9e, 0x89, 0x16, 0x28, 0x25, 0xc6, 0xc0, 0x3c, 0x4d, 0x0e,
+ 0x34, 0x11, 0x84, 0xd6, 0x3f, 0x8b, 0x1d, 0x79, 0x52, 0x7c,
+ 0xe1, 0x96, 0x22, 0x42, 0x9d, 0xe7, 0xdc, 0x3a, 0xd5, 0x95,
+ 0x88, 0xc3, 0xfc, 0x41, 0x40, 0xf2, 0x99, 0x3f, 0x74, 0x8b,
+ 0xf2, 0x89, 0x1c, 0xd6, 0x02, 0xaf, 0xc4, 0xf1, 0xab, 0xee,
+ 0xad, 0xbf, 0x3d, 0x5a, 0x6f, 0x01, 0x21, 0x0f, 0xb0, 0x32,
+ 0xdf, 0xc3, 0xda, 0x70, 0xbe, 0x91, 0x1c, 0xf4, 0x50, 0xce,
+ 0x64, 0x8e, 0x6d, 0x24, 0xb8, 0x66, 0x9e, 0xb1, 0x82, 0xbc,
+ 0x4e, 0xd5, 0x2f, 0xcb, 0x03, 0xf2, 0xcc, 0x4f, 0xbc, 0xe8,
+ 0x6c, 0x08, 0x0a, 0x56, 0x52, 0xb3, 0x42, 0xd0, 0x5c, 0x06,
+ 0xc9, 0xf1, 0x10, 0x05, 0x9a, 0x1c, 0x68, 0x22, 0xcb, 0x6f,
+ 0x7e, 0xd5, 0x3a, 0xf2, 0xa4, 0xf8, 0x01, 0xef, 0x44, 0x84,
+ 0x27, 0xd1, 0x38, 0x6f, 0x04, 0x9d, 0x4b, 0x21, 0x95, 0x1f,
+ 0x99, 0xbd, 0x7a, 0xb4, 0xde, 0x02, 0x14, 0x81, 0xb6, 0x0d,
+ 0x9f, 0x07, 0xe0, 0x25, 0xfa, 0xa2, 0x98, 0x75, 0xfc, 0xdf,
+ 0x1a, 0xae, 0x5e, 0x74, 0x36, 0x04, 0x05, 0x2b, 0x29, 0xb8,
+ 0x21, 0x68, 0x2e, 0x03, 0x85, 0x99, 0x08, 0xe3, 0xe4, 0x42,
+ 0xd2, 0x51, 0xd4, 0x23, 0xea, 0x5a, 0x48, 0x36, 0xf7, 0x4c,
+ 0x66, 0x12, 0xa2, 0x6a, 0xd3, 0x86, 0xac, 0xe4, 0xdd, 0x6c,
+ 0x1e, 0x81, 0x15, 0x7f, 0xb1, 0x4b, 0x6d, 0x94, 0x0b, 0x8f,
+ 0xe1, 0xf3, 0x1e, 0xc3, 0x83, 0x52, 0xd2, 0xc2, 0x97, 0xff,
+ 0xd1, 0xc0, 0x59, 0x55, 0x45, 0xa0, 0x69, 0xb0, 0x48, 0xb1,
+ 0x0c, 0x64, 0xdd, 0x63, 0x7c, 0x21, 0x68, 0x04, 0x8e, 0x1f,
+ 0xa1, 0x06, 0x49, 0x9a, 0xc4, 0xc6, 0x16, 0x03, 0x60, 0x54,
+ 0x2f, 0x8d, 0x15, 0xb3, 0x6c, 0x7b, 0x4f, 0x0b, 0xab, 0x06,
+ 0x9e, 0xca, 0x19, 0x7e, 0x1b, 0x5f, 0x4c, 0x35, 0x67, 0xb6,
+ 0x20, 0x13, 0x57, 0xed, 0xb3, 0xf8, 0xfb, 0x7d, 0xf3, 0xc5,
+ 0x1a, 0xd8, 0xe0, 0x48, 0x36, 0x51, 0x88, 0x38, 0xfa, 0x98,
+ 0xa3, 0xed, 0xbd, 0xa7, 0xfe, 0x17, 0xa5, 0x22, 0x28, 0x1e,
+ 0xe9, 0xeb, 0xf9, 0x0a, 0x8d, 0x7f, 0x0b, 0x84, 0x67, 0xa2,
+ 0x6b, 0x46, 0x17, 0xb4, 0x90, 0x6c, 0x2d, 0x98, 0xcc, 0x24,
+ 0x87, 0xd4, 0x90, 0xbd, 0x33, 0xc5, 0x65, 0x8d, 0x0e, 0x26,
+ 0x47, 0xa3, 0xe8, 0x23, 0x7f, 0x61, 0x49, 0xd3, 0xfc, 0xbc,
+ 0xb7, 0xe6, 0x3e, 0x98, 0xeb, 0xdd, 0xe4, 0x4b, 0xa6, 0xab,
+ 0xce, 0x39, 0x0f, 0x1f, 0xc2, 0xb6, 0xd6, 0x7b, 0x15, 0x1a,
+ 0xc6, 0x3c, 0x30, 0x14, 0x0f, 0xb2, 0xae, 0x0c, 0xf6, 0xeb,
+ 0x80, 0xa8, 0x75, 0x1f, 0x68, 0x5f, 0xb1, 0xdc, 0x8f, 0xf5,
+ 0x37, 0x99, 0x0e, 0x53, 0x3e, 0x34, 0xe7, 0x2d, 0x96, 0x9e,
+ 0x58, 0x0c, 0x43, 0x93, 0xbc, 0x71, 0x54, 0x89, 0x73, 0x2f,
+ 0xff, 0x2c, 0x63, 0x11, 0x13, 0x56, 0xa2, 0x86, 0xad, 0x90,
+ 0x01, 0x70, 0x24, 0xdf, 0xf0, 0x91, 0xac, 0x51, 0x30, 0x3f,
+ 0xca, 0xad, 0x17, 0xb5, 0x02, 0xcd, 0x9b, 0xfa, 0xa2, 0x0d,
+ 0x93, 0x56, 0x99, 0xea, 0x22, 0x60, 0xf4, 0xfd, 0x53, 0xec,
+ 0x73, 0xb9, 0x4a, 0xd6, 0xbf, 0x31, 0x45, 0xf3, 0x39, 0xc8,
+ 0xf6, 0x1d, 0xec, 0x01, 0x90, 0x7a, 0x9b, 0x2e, 0x99, 0x1a,
+ 0xea, 0x70, 0xb0, 0xb7, 0x02, 0x48, 0xa8, 0x69, 0xda, 0x05,
+ 0x95, 0x51, 0xb2, 0x96, 0xb8, 0x72, 0xc4, 0x73, 0x35, 0x2e,
+ 0x0a, 0xab, 0x57, 0xba, 0x29, 0x2c, 0x27, 0xe6, 0xf0, 0x82,
+ 0xa8, 0x7e, 0xc1, 0x1d, 0xee, 0x2a, 0x58, 0xf2, 0x8e, 0x9d,
+ 0xde, 0x2f, 0x54, 0x68, 0x9e, 0xf0, 0xc0, 0x50, 0x3c, 0x8d,
+ 0xfd, 0x30, 0x5e, 0x2a, 0xc3, 0x93, 0xea, 0x3e, 0xd0, 0xbe,
+ 0xa1, 0x7b, 0xdd, 0x29, 0x6e, 0xf1, 0x1c, 0xa6, 0x7c, 0x68,
+ 0xc6, 0x22, 0x26, 0xac, 0x87, 0xcf, 0x99, 0xe3, 0x02, 0xe0,
+ 0x48, 0x7d, 0x23, 0xe1, 0x9b, 0xa2, 0x50, 0x41, 0x9d, 0x34,
+ 0x39, 0x1c, 0x06, 0x94, 0x6e, 0xcd, 0x25, 0x17, 0x76, 0xfa,
+ 0x68, 0xfd, 0x75, 0xda, 0xdd, 0xd1, 0x74, 0x0a, 0x83, 0x3b,
+ 0xe2, 0xa8, 0x7e, 0x2c, 0xab, 0xd9, 0x61, 0x3a, 0x4b, 0xd0,
+ 0xbc, 0x4c, 0x5f, 0x88, 0xae, 0xda, 0x36, 0xf7, 0xd7, 0x35,
+ 0xcb, 0xec, 0x98, 0xce, 0x6c, 0x01, 0x84, 0x23, 0x5b, 0x15,
+ 0xe5, 0xfb, 0xa3, 0xe8, 0x4e, 0x88, 0xb1, 0x58, 0x46, 0xcc,
+ 0xa6, 0x5c, 0x71, 0x35, 0xa9, 0x66, 0x9d, 0xba, 0xf7, 0xd7,
+ 0xcf, 0x67, 0xc6, 0x4d, 0x6a, 0xb5, 0xa4, 0x16, 0x09, 0xbf,
+ 0xe0, 0xed, 0x53, 0x34, 0xee, 0xad, 0x0d, 0xe1, 0x61, 0xda,
+ 0xbd, 0x70, 0xf5, 0x72, 0xa8, 0xce, 0x1c, 0x55, 0x32, 0xe7,
+ 0x6d, 0x5d, 0x49, 0xb5, 0xa5, 0x8a, 0x5f, 0x0e, 0xf8, 0x28,
+ 0x47, 0x31, 0xac, 0x4d, 0xb4, 0x02, 0xd6, 0xbf, 0xe1, 0x64,
+ 0x43, 0xd4, 0x62, 0x56, 0x9c, 0xc2, 0xe0, 0x7f, 0x10, 0x31,
+ 0xef, 0x84, 0x11, 0x7c, 0x21, 0xb1, 0x2b, 0x95, 0xfe, 0x08,
+ 0xd2, 0xa3, 0x90, 0xa1, 0x18, 0xc8, 0x79, 0xc6, 0xf8, 0x42,
+ 0xd0, 0x08, 0xdf, 0x3e, 0x81, 0x0c, 0xcd, 0xa6, 0x41, 0x0e,
+ 0xec, 0x89, 0x8e, 0x57, 0x92, 0x8c, 0x65, 0xe5, 0xef, 0xc5,
+ 0x1c, 0x76, 0xdc, 0x96, 0x3b, 0x91, 0x24, 0xff, 0x56, 0xea,
+ 0xb7, 0xe7, 0xdb, 0x1c, 0x2c, 0x5d, 0xe1, 0x12, 0x1d, 0x4f,
+ 0xa9, 0x25, 0xbd, 0xca, 0x39, 0x1f, 0x73, 0xb4, 0x77, 0x6b,
+ 0x97, 0x6c, 0x4a, 0xbf, 0x83, 0xc7, 0x31, 0xd0, 0xe4, 0x70,
+ 0x18, 0x15, 0x7b, 0xb2, 0x94, 0x5c, 0x1b, 0x6e, 0x63, 0x72,
+ 0x2e, 0x1f, 0x27, 0x47, 0x26, 0x50, 0x92, 0x1b, 0x1c, 0x09,
+ 0x76, 0xa3, 0x11, 0x07, 0x8e, 0x13, 0xf1, 0xe6, 0x58, 0x19,
+ 0x8e, 0x80, 0x6d, 0x38, 0x5f, 0xa9, 0x0e, 0x7a, 0x28, 0x67,
+ 0x32, 0x47, 0xfd, 0x99, 0x8b, 0xa3, 0xfb, 0x3c, 0x8c, 0x9a,
+ 0x09, 0x76, 0xc7, 0xe8, 0x7c, 0x93, 0x85, 0x9c, 0x81, 0x8d,
+ 0x49, 0x5a, 0xad, 0xfb, 0xd6, 0x9b, 0x62, 0xc8, 0x56, 0xda,
+ 0xbc, 0xf9, 0xb4, 0xb7, 0xb1, 0xb2, 0x83, 0xf7, 0xba, 0x4e,
+ 0xd4, 0x56, 0xf9, 0x32, 0xf4, 0xd7, 0x2f, 0xaf, 0x2d, 0x5d,
+ 0x4f, 0x44, 0x4c, 0x9b, 0xcd, 0x5d, 0xf1, 0x05, 0x04, 0x03,
+ 0x90, 0xfa, 0x46, 0x01, 0xf5, 0x87, 0x47, 0xaf, 0x6f, 0xf6,
+ 0x2a, 0x34, 0x4f, 0x78, 0x60, 0x28, 0x1e, 0xa7, 0x9f, 0x18,
+ 0x2f, 0x15, 0x13, 0x7a, 0x02, 0x15, 0x81, 0xfd, 0x16, 0x33,
+ 0x3c, 0x11, 0x7c, 0x7f, 0x64, 0x0f, 0x2a, 0xa1, 0x46, 0x8a,
+ 0x53, 0xb3, 0xef, 0x90, 0x28, 0x3f, 0x8d, 0x15, 0x7f, 0xe4,
+ 0x2d, 0xb2, 0xa5, 0x96, 0x5b, 0xc5, 0xfa, 0x96, 0x52, 0x5a,
+ 0x11, 0x20, 0xfe, 0xa1, 0x08, 0x8f, 0xba, 0xde, 0xef, 0x29,
+ 0xfb, 0x47, 0x03, 0xfe, 0x20, 0x62, 0x1d, 0xcb, 0x22, 0xf8,
+ 0x42, 0xa1, 0x56, 0xe9, 0x3f, 0x10, 0xed, 0x8c, 0xcd, 0x79,
+ 0xf6, 0xee, 0x33, 0x60, 0xc1, 0x20, 0x18, 0x52, 0x0d, 0xa1,
+ 0xf2, 0x7b, 0x94, 0x29, 0xc3, 0x12, 0xf7, 0x58, 0x51, 0xf9,
+ 0x75, 0x57, 0xaf, 0xec, 0xf2, 0x8c, 0x24, 0x9a, 0x25, 0x9b,
+ 0x40, 0xe5, 0x4d, 0x16, 0x85, 0xaf, 0x8c, 0x65, 0x5b, 0x3b,
+ 0xdd, 0x23, 0x09, 0xc7, 0xa5, 0x33, 0x35, 0xfa, 0x25, 0x49,
+ 0x34, 0x73, 0x03, 0x90, 0x6c, 0xa2, 0xd3, 0x70, 0x37, 0xf3,
+ 0xdd, 0xb3, 0x07, 0xd4, 0xe1, 0x5b, 0x31, 0xad, 0x5a, 0xda,
+ 0xba, 0x5f, 0x9e, 0xf7, 0x6b, 0x91, 0x38, 0xd4, 0xe9, 0xc0,
+ 0xf0, 0xdc, 0xbc, 0xb0, 0xff, 0xd1, 0x2c, 0x50, 0x4a, 0x4f,
+ 0x43, 0x78, 0x58, 0xaa, 0xbe, 0x59, 0xde, 0x75, 0xb8, 0xe9,
+ 0x0a, 0xe6, 0xab, 0x4a, 0xaf, 0xe3, 0xb2, 0x6f, 0x0f, 0x10,
+ 0x97, 0x75, 0xf9, 0x93, 0x48, 0x6b, 0xa2, 0x98, 0x6a, 0x57,
+ 0x41, 0xc9, 0xea, 0x9d, 0xda, 0x48, 0xb3, 0xcc, 0xff, 0xa1,
+ 0xc7, 0xbb, 0x9c, 0x69, 0x5e, 0x55, 0x06, 0x27, 0x5b, 0x9e,
+ 0x3d, 0x65, 0x25, 0x52, 0xa7, 0xad, 0x84, 0x28, 0x20, 0x18,
+ 0x0a, 0xdc, 0x75, 0x08, 0xa4, 0xb2, 0xe8, 0x3d, 0x01, 0xeb,
+ 0xa1, 0x9f, 0x0b, 0xf8, 0x1e, 0xe9, 0x3e, 0xde, 0x32, 0xe6,
+ 0x15, 0xb1, 0xe9, 0x18, 0x3d, 0xae, 0x64, 0x3b, 0x6c, 0xbf,
+ 0xf3, 0xd4, 0x5f, 0x9d, 0x80, 0x4c, 0x9f, 0x32, 0x18, 0xfe,
+ 0x65, 0xb7, 0xea, 0xbb, 0x01, 0x87, 0xac, 0x7d, 0x51, 0xe7,
+ 0xa8, 0x2b, 0xad, 0x75, 0x95, 0x0c, 0xff, 0x57, 0x32, 0xfc,
+ 0x36, 0xbe, 0x98, 0x6a, 0xce, 0xaf, 0x40, 0x26, 0xae, 0x19,
+ 0xee, 0xe3, 0x89, 0xb6, 0x7a, 0xc1, 0x9a, 0xa9, 0x35, 0x67,
+ 0xbb, 0x97, 0x18, 0x9c, 0xaf, 0x3d, 0x77, 0x90, 0xa5, 0x5b,
+ 0x3d, 0x81, 0x4d, 0xb5, 0xfb, 0xd2, 0xbc, 0xaa, 0x0c, 0x4e,
+ 0xb6, 0xff, 0x72, 0x21, 0x69, 0xc9, 0x6a, 0xf0, 0x75, 0x2d,
+ 0x24, 0x1b, 0x9a, 0x26, 0x33, 0x09, 0x51, 0x35, 0x6f, 0x6e,
+ 0xc0, 0xec, 0xd7, 0x3a, 0x4c, 0x32, 0x57, 0xaf, 0xed, 0x4d,
+ 0xa4, 0x65, 0x1b, 0x8a, 0x51, 0x64, 0xa1, 0x71, 0xfc, 0xb8,
+ 0x61, 0xd3, 0x83, 0xf0, 0x44, 0x54, 0xc4, 0x50, 0xe2, 0x7e,
+ 0x7f, 0x7b, 0x86, 0x36, 0xda, 0xe8, 0xf3, 0xc8, 0x9f, 0xf9,
+ 0x32, 0xf7, 0xd5, 0x57, 0x6c, 0x6d, 0xdf, 0xf9, 0x7f, 0x5e,
+ 0xa8, 0xd0, 0xff, 0x23, 0x43, 0xa0, 0x78, 0xd9, 0x39, 0x60,
+ 0xbc, 0x54, 0xd7, 0x12, 0x5c, 0x33, 0x4f, 0xb9, 0x41, 0x5e,
+ 0x27, 0x8b, 0xf6, 0x84, 0xe0, 0x79, 0x66, 0xc6, 0xd4, 0x7d,
+ 0x18, 0xfc, 0xc3, 0x96, 0xe8, 0x97, 0xd3, 0xcc, 0x55, 0x41,
+ 0xf5, 0x44, 0x3b, 0x80, 0x6b, 0xfa, 0x30, 0x3b, 0x45, 0xef,
+ 0x13, 0xed, 0x65, 0x5b, 0xaa, 0x82, 0x29, 0x88, 0x76, 0xc3,
+ 0x3a, 0x9e, 0x91, 0x4a, 0xb9, 0x57, 0x72, 0x3e, 0xe6, 0xab,
+ 0xee, 0xd6, 0xed, 0xd8, 0x94, 0xbd, 0x20, 0x2a, 0x8c, 0x77,
+ 0x1a, 0x67, 0xbd, 0x37, 0x53, 0xac, 0x7d, 0xb7, 0xe2, 0x64,
+ 0xee, 0x0d, 0x0a, 0xa1, 0x5b, 0xe7, 0xae, 0xe2, 0x70, 0xf3,
+ 0x7d, 0x51, 0x4c, 0xdb, 0x7e, 0x8e, 0x0d, 0x57, 0x42, 0x1e,
+ 0xa3, 0x64, 0x7d, 0x45, 0x77, 0xe0, 0xbf, 0xe1, 0x38, 0x2b,
+ 0xa0, 0x5f, 0xc8, 0xdf, 0xcc, 0x83, 0x7d, 0x4b, 0x29, 0x2d,
+ 0xe9, 0x10, 0x7f, 0xb1, 0x04, 0xa6, 0x5d, 0x6f, 0x96, 0xf5,
+ 0x7b, 0xef, 0x76, 0xe1, 0x48, 0x3d, 0xac, 0x17, 0xad, 0x0d,
+ 0x75, 0x38, 0x58, 0xba, 0x01, 0x24, 0x8f, 0xb8, 0xe2, 0x6a,
+ 0x91, 0xcc, 0xf9, 0xb7, 0x2d, 0x6d, 0x5d, 0xce, 0x4f, 0x9a,
+ 0xd4, 0xa9, 0x3b, 0xbb, 0xad, 0x0f, 0x7c, 0xf3, 0x15, 0x79,
+ 0x0b, 0x96, 0x8f, 0x95, 0x5f, 0x72, 0x1e, 0x3e, 0x7d, 0x31,
+ 0xfe, 0xbc, 0x93, 0x63, 0x3d, 0x46, 0x86, 0x83, 0xf0, 0x71,
+ 0x72, 0xc0, 0xbb, 0xa8, 0xbf, 0x87, 0x28, 0xc7, 0x86, 0x79,
+ 0xfb, 0x7a, 0xb6, 0x97, 0xff, 0xc3, 0xdc, 0xcc, 0x4d, 0x43,
+ 0xd0, 0xe9, 0xe8, 0x2b, 0x51, 0x43, 0xb7, 0x48, 0xe1, 0x38,
+ 0x12, 0x8e, 0x78, 0xa9, 0x56, 0xc9, 0xde, 0xdc, 0x43, 0x1b,
+ 0x6d, 0x74, 0x98, 0x64, 0xae, 0x9d, 0x19, 0x9a, 0x8b, 0xca,
+ 0x36, 0xd7, 0xca, 0x5d, 0xf5, 0x16, 0xf2, 0x73, 0x78, 0x41,
+ 0x54, 0x3f, 0x81, 0xef, 0x77, 0x15, 0x2c, 0x79, 0x2c, 0x55,
+ 0x5f, 0xcd, 0x6f, 0xdb, 0x5c, 0x95, 0x05, 0x73, 0xb4, 0x25,
+ 0xb6, 0x90, 0x59, 0xd6, 0x19, 0xdb, 0x59, 0xf2, 0x2f, 0x1f,
+ 0x66, 0xc0, 0x41, 0x40, 0x30, 0xa4, 0x1a, 0x81, 0x27, 0xf6,
+ 0x76, 0xb5, 0x99, 0x1e, 0xf8, 0x25, 0x2a, 0xf2, 0x16, 0xef,
+ 0xdd, 0xe9, 0xbe, 0xe4, 0x3c, 0x7c, 0x12, 0x5f, 0x3e, 0x50,
+ 0x44, 0x59, 0x71, 0x74, 0xd1, 0x2c, 0x1d, 0x3c, 0xd6, 0xa5,
+ 0xa0, 0x22, 0x74, 0xff, 0xe1, 0x94, 0xb1, 0xae, 0xe4, 0x7c,
+ 0x0f, 0x95, 0x1f, 0x6f, 0x19, 0x73, 0xeb, 0xb9, 0xd5, 0x58,
+ 0x24, 0xb9, 0x06, 0x32, 0x8f, 0xd0, 0x3e, 0xf1, 0x34, 0x02,
+ 0x47, 0xee, 0xb1, 0x03, 0x8b, 0x2c, 0x12, 0xbd, 0x03, 0x19,
+ 0xa6, 0x68, 0x1f, 0x99, 0x1a, 0x01, 0xc2, 0x77, 0xb9, 0xe0,
+ 0x07, 0xfb, 0xb4, 0x18, 0x1e, 0xfa, 0xf6, 0x16, 0xc6, 0xb3,
+ 0xe4, 0x0a, 0x98, 0xd0, 0x30, 0x0f, 0x59, 0x8f, 0x82, 0x1c,
+ 0x1b, 0xd1, 0xdf, 0xae, 0xe7, 0xdb, 0xca, 0x09, 0x1d, 0x49,
+ 0x38, 0xec, 0xb0, 0x97, 0xbf, 0xb2, 0x7f, 0xea, 0xb3, 0x11,
+ 0x14, 0x0f, 0x95, 0x94, 0x9d, 0x05, 0xa7, 0xde, 0x1f, 0x05,
+ 0xd1, 0xaf, 0xf4, 0x41, 0xf7, 0x91, 0x6a, 0xce, 0xb5, 0xed,
+ 0x30, 0xfb, 0x9d, 0x7a, 0x61, 0x5b, 0x6b, 0xdc, 0xeb, 0x0d,
+ 0x63, 0x1e, 0x18, 0x0a, 0xe6, 0x59, 0x57, 0x06, 0x7b, 0x94,
+ 0x1a, 0xb4, 0x1d, 0x3d, 0xa3, 0x30, 0xcf, 0x09, 0xb5, 0x07,
+ 0x93, 0x61, 0x0f, 0xbc, 0x7a, 0xb0, 0xc8, 0x17, 0x8d, 0x9c,
+ 0xbb, 0xf8, 0xb6, 0xcf, 0x4d, 0x45, 0x43, 0x69, 0xd0, 0x82,
+ 0xfb, 0xbc, 0x97, 0x46, 0x87, 0xdd, 0x7b, 0x77, 0xf8, 0x30,
+ 0x81, 0x10, 0x0c, 0x29, 0xe7, 0xb1, 0x79, 0xdc, 0x17, 0xee,
+ 0xf2, 0xc2, 0x13, 0x28, 0x49, 0xec, 0x0e, 0xe5, 0x3b, 0xb0,
+ 0xe9, 0xe2, 0x47, 0xe8, 0xa9, 0x4c, 0xe6, 0x40, 0x50, 0xf5,
+ 0xd5, 0xd1, 0x55, 0x4f, 0xa5, 0x30, 0x87, 0x84, 0x80, 0x28,
+ 0x91, 0x98, 0x0f, 0x80, 0xa0, 0x29, 0x69, 0x61, 0xaa, 0x9e,
+ 0x89, 0x60, 0xcd, 0xcb, 0xc3, 0x50, 0x9f, 0xad, 0xa4, 0xb0,
+ 0x9c, 0x1e, 0x46, 0x4d, 0xe5, 0x3b, 0x82, 0x74, 0x3e, 0xa8,
+ 0xa3, 0x4e, 0x1b, 0x91, 0x21, 0x78, 0x66, 0x94, 0xa8, 0x4e,
+ 0x58, 0x3a, 0xf2, 0x22, 0xbd, 0x16, 0xf0, 0x33, 0xbb, 0x13,
+ 0xd8, 0x10, 0x14, 0xac, 0xa4, 0xa5, 0x84, 0x63, 0xb8, 0x0c,
+ 0x51, 0x21, 0x20, 0x0a, 0xd1, 0xcc, 0xd4, 0x6e, 0x94, 0xe7,
+ 0xd0, 0x0f, 0x0c, 0x05, 0x73, 0xcd, 0xca, 0x03, 0xdc, 0x4a,
+ 0x7a, 0xca, 0x4a, 0xa4, 0x8d, 0x99, 0xcb, 0x50, 0x40, 0x30,
+ 0x14, 0x7b, 0xea, 0x10, 0x8b, 0xa7, 0xb4, 0x03, 0x4f, 0x65,
+ 0xed, 0x3f, 0xec, 0xce, 0x26, 0xfb, 0xd2, 0x5b, 0x10, 0xe8,
+ 0xca, 0x97, 0x5f, 0x51, 0x0a, 0x41, 0xc0, 0x8f, 0x4e, 0xff,
+ 0xcc, 0x55, 0x4f, 0x40, 0x37, 0x33, 0x82, 0x60, 0x71, 0x4e,
+ 0x2d, 0x06, 0xe6, 0xdf, 0xdc, 0xe4, 0xd0, 0x5c, 0x39, 0xe3,
+ 0x26, 0x34, 0x0c, 0x73, 0x0e, 0x35, 0xab, 0x30, 0x3c, 0x37,
+ 0x2f, 0x2c, 0x4f, 0xa5, 0x0b, 0x14, 0xf3, 0x63, 0x60, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x32, 0x2e,
+ 0xc4, 0x12, 0x05, 0xde, 0x59, 0x4a, 0xd6, 0xfd, 0x4d, 0x87,
+ 0x5c, 0x62, 0x24, 0xbe, 0x7c, 0xa0, 0x88, 0xb2, 0xe2, 0xe8,
+ 0x61, 0x58, 0x3a, 0x78, 0x6f, 0x89, 0x83, 0x44, 0x40, 0x54,
+ 0xdb, 0xee, 0x34, 0xce, 0xb9, 0x6e, 0xa6, 0x9b, 0xfa, 0xad,
+ 0x07, 0xc8, 0x1f, 0x1a, 0x86, 0x76, 0xfd, 0x42, 0xb3, 0x01,
+ 0x20, 0x8d, 0xa4, 0x7b, 0xb2, 0xd0, 0x24, 0x29, 0x84, 0xb8,
+ 0x52, 0x0b, 0xe5, 0xbe, 0x70, 0x97, 0xc8, 0x1a, 0x77, 0xb7,
+ 0xe7, 0x91, 0xd1, 0x6d, 0xbf, 0x38, 0xf3, 0xac, 0x20, 0x93,
+ 0xc7, 0x0b, 0xa3, 0xb6, 0x46, 0xd3, 0xcc, 0xfc, 0x8f, 0xf0,
+ 0xe5, 0x82, 0x11, 0x30, 0x7a, 0x9f, 0xc8, 0x76, 0xd8, 0xbd,
+ 0x25, 0x6b, 0xbe, 0xf9, 0xc3, 0x98, 0xfd, 0x64, 0x28, 0xc1,
+ 0xaf, 0x1a, 0xfd, 0x0e, 0x03, 0x4a, 0x37, 0x87, 0xf3, 0xea,
+ 0x3b, 0x7d, 0x34, 0x9f, 0x5c, 0x3e, 0x4e, 0x8e, 0x4c, 0xa0,
+ 0xe7, 0x36, 0x38, 0x12, 0xec, 0x85, 0x22, 0x0e, 0xdf, 0x26,
+ 0x98, 0x56, 0x10, 0xa8, 0x82, 0xe4, 0xb0, 0x5b, 0x23, 0x88,
+ 0x66, 0x7e, 0xa6, 0x78, 0x93, 0x41, 0xc1, 0xd9, 0x92, 0xb4,
+ 0x99, 0x35, 0x6f, 0xf5, 0xc4, 0x53, 0xac, 0x77, 0xbb, 0x31,
+ 0xab, 0xad, 0xd6, 0x37, 0x60, 0x76, 0x8a, 0x1d, 0x26, 0x19,
+ 0xca, 0xb6, 0x97, 0xc7, 0x52, 0xd3, 0xec, 0x45, 0x03, 0x6f,
+ 0x44, 0xcf, 0x8c, 0x2f, 0xa9, 0xc9, 0xf4, 0x47, 0xa3, 0xc5,
+ 0x15, 0x3d, 0x5d, 0x46, 0x08, 0xeb, 0x23, 0x6d, 0xe7, 0x69,
+ 0xbe, 0x7d, 0x64, 0x2b, 0x8e, 0x5d, 0xd9, 0x19, 0xda, 0x92,
+ 0xae, 0xb7, 0x52, 0x58, 0x4e, 0x0f, 0x23, 0xc7, 0x93, 0xfc,
+ 0x41, 0x3a, 0x1f, 0x54, 0xb0, 0x27, 0x64, 0xea, 0xa7, 0x4e,
+ 0xbc, 0x7c, 0x5b, 0x86, 0xc7, 0xc3, 0xc0, 0xd5, 0x68, 0x41,
+ 0x9c, 0x5e, 0x2d, 0x70, 0x63, 0x88, 0xaa, 0x7f, 0x3b, 0xd2,
+ 0xe8, 0x4e, 0xd5, 0x66, 0x04, 0x3a, 0xd3, 0x55, 0x32, 0x75,
+ 0xb2, 0x27, 0x5e, 0x3e, 0xcc, 0x43, 0x82, 0x80, 0x60, 0x8b,
+ 0x34, 0xc1, 0x4e, 0x2f, 0x06, 0xde, 0x88, 0x5d, 0xdb, 0x5e,
+ 0x91, 0x51, 0x2b, 0x8e, 0x85, 0x49, 0x2a, 0x7a, 0xba, 0x8c,
+ 0x34, 0xab, 0x3a, 0x7a, 0x85, 0x60, 0x5d, 0x12, 0xa9, 0x0e,
+ 0xe5, 0xc2, 0x1e, 0xbb, 0xf4, 0xa3, 0x5d, 0x1b, 0x72, 0xcb,
+ 0x89, 0x04, 0x80, 0x71, 0xd5, 0x2f, 0x8d, 0xc6, 0x90, 0xa4,
+ 0x55, 0xa5, 0x84, 0x3c, 0x85, 0xc8, 0xfa, 0x8a, 0xee, 0x03,
+ 0xbd, 0x01, 0x70, 0x56, 0x83, 0xbe, 0x53, 0x7d, 0x31, 0x1a,
+ 0xf6, 0xe8, 0xd2, 0x11, 0x65, 0x8a, 0x76, 0xc7, 0xc3, 0x4e,
+ 0x21, 0xfc, 0x13, 0x69, 0xf9, 0x0d, 0x7b, 0x74, 0x69, 0xe9,
+ 0xd3, 0x45, 0x3b, 0x82, 0x80, 0x27, 0xf1, 0x7e, 0xe8, 0xd5,
+ 0x93, 0xd2, 0x77, 0x0a, 0xe9, 0xa2, 0xa7, 0xef, 0xb3, 0xe4,
+ 0x4b, 0xe6, 0x6a, 0x5c, 0x14, 0x95, 0x87, 0x53, 0xc1, 0x07,
+ 0x76, 0xa5, 0x47, 0xca, 0x49, 0x46, 0xd3, 0x93, 0x96, 0x83,
+ 0x0e, 0x3b, 0x9b, 0x39, 0x54, 0x67, 0x0e, 0xcb, 0x19, 0x92,
+ 0xd7, 0xcf, 0xc5, 0xbb, 0xb3, 0x45, 0xce, 0x07, 0x0d, 0x5a,
+ 0xef, 0xff, 0xb0, 0x18, 0x86, 0xe5, 0xbb, 0xe2, 0xa8, 0xd1,
+ 0xe6, 0x5e, 0x3d, 0x58, 0xcf, 0xec, 0x39, 0x84, 0xa5, 0x02,
+ 0x40, 0xd9, 0x8b, 0xf6, 0xa7, 0x63, 0x48, 0x52, 0xcb, 0xb3,
+ 0x6a, 0xdf, 0x0c, 0x7e, 0x80, 0x4b, 0x74, 0xaa, 0x88, 0x66,
+ 0xcb, 0xc1, 0x9b, 0x22, 0xfc, 0x40, 0xbd, 0xcd, 0x50, 0x4d,
+ 0xcf, 0xf2, 0x35, 0xf4, 0xaf, 0xed, 0x3d, 0x45, 0x7b, 0x5b,
+ 0x9a, 0x86, 0x33, 0x50, 0x8e, 0x62, 0x9b, 0x9a, 0xab, 0x04,
+ 0x6f, 0xbd, 0x01, 0xc8, 0x86, 0x6b, 0xc4, 0xac, 0xdb, 0x6d,
+ 0x8f, 0x89, 0x3a, 0x05, 0xa0, 0xfc, 0x71, 0x54, 0x3f, 0x16,
+ 0xb4, 0x8d, 0xd1, 0x1d, 0xeb, 0x52, 0x45, 0x24, 0x2d, 0xb0,
+ 0xa2, 0x31, 0xea, 0xae, 0x9d, 0x1b, 0x27, 0xdb, 0x48, 0xf7,
+ 0xce, 0xc9, 0x05, 0xc1, 0x60, 0xa6, 0x27, 0x9e, 0x66, 0xcb,
+ 0xc6, 0x20, 0xfa, 0xf8, 0x41, 0x30, 0x55, 0xf0, 0x51, 0xa6,
+ 0x6e, 0x6d, 0x3e, 0x0c, 0xb1, 0x04, 0x03, 0x9b, 0x49, 0xbd,
+ 0x8f, 0x37, 0x16, 0xcb, 0xce, 0x87, 0xd6, 0x8c, 0x2e, 0xab,
+ 0xe3, 0xd8, 0x5a, 0xf3, 0x5b, 0x48, 0xcd, 0x6b, 0xc5, 0x4d,
+ 0x62, 0x63, 0x0b, 0xe0, 0x30, 0x2a, 0xf6, 0xa7, 0xeb, 0xb8,
+ 0x36, 0xdc, 0xc6, 0xe4, 0x48, 0xbf, 0xf8, 0x83, 0xd3, 0xa7,
+ 0x07, 0x13, 0xc2, 0xb0, 0x74, 0xf0, 0xde, 0xd1, 0xc5, 0x88,
+ 0x2b, 0xae, 0xeb, 0xd5, 0x71, 0x21, 0xaa, 0x83, 0xc3, 0xc0,
+ 0x50, 0x2f, 0x2e, 0x40, 0x69, 0xd9, 0x10, 0x15, 0x46, 0xda,
+ 0x0d, 0xd2, 0xbf, 0xfa, 0xc8, 0x56, 0xdf, 0xba, 0x71, 0x32,
+ 0x77, 0xe7, 0xba, 0x36, 0xe4, 0x55, 0xd1, 0x08, 0xc3, 0xe2,
+ 0x69, 0x5e, 0xd9, 0x4f, 0xe3, 0x8b, 0xaa, 0x89, 0x79, 0xa5,
+ 0x0e, 0x6b, 0x01, 0xb6, 0x62, 0x99, 0xb4, 0x77, 0xb7, 0xbe,
+ 0xff, 0x2d, 0xd6, 0xe1, 0xb2, 0xdd, 0xc7, 0x38, 0x36, 0x61,
+ 0x7d, 0x9f, 0x0d, 0x75, 0x57, 0x12, 0x3a, 0x92, 0x70, 0x1b,
+ 0x01, 0x25, 0x3c, 0x45, 0xc5, 0xa4, 0x67, 0x47, 0xed, 0x3d,
+ 0x61, 0x43, 0xb2, 0xaa, 0x8a, 0x83, 0x04, 0x94, 0xf0, 0xd7,
+ 0x92, 0xd5, 0x5f, 0xdf, 0x32, 0xf4, 0x47, 0xcf, 0x8d, 0xed,
+ 0x6d, 0x49, 0xb8, 0x7c, 0x9c, 0xdf, 0x98, 0x83, 0x0d, 0x6c,
+ 0x70, 0x24, 0x1b, 0xc9, 0x44, 0x1c, 0x7d, 0x4c, 0xc9, 0x32,
+ 0xb1, 0xd9, 0x7e, 0x5c, 0xd1, 0x88, 0xa0, 0x78, 0x22, 0x2a,
+ 0x62, 0x28, 0x71, 0x3f, 0xec, 0xa9, 0xf1, 0x3c, 0x33, 0x4a,
+ 0x54, 0x27, 0x2c, 0x1d, 0x79, 0x11, 0xbf, 0x0b, 0x78, 0xf8,
+ 0x85, 0x19, 0xb9, 0x8d, 0x3f, 0x2e, 0x89, 0x44, 0x50, 0x3c,
+ 0x11, 0x15, 0x31, 0x14, 0xd9, 0xfe, 0xf4, 0x57, 0x94, 0x8b,
+ 0xd9, 0xf1, 0x55, 0xa0, 0x80, 0x60, 0x28, 0xf6, 0x17, 0x20,
+ 0xd5, 0x8d, 0x44, 0xc0, 0x2b, 0x39, 0xa6, 0x1b, 0xe6, 0xb1,
+ 0x94, 0x6f, 0xbd, 0x62, 0x8a, 0x25, 0x72, 0x53, 0x5a, 0xe0,
+ 0xc6, 0xd3, 0x97, 0xfe, 0x76, 0x67, 0x13, 0x9c, 0x69, 0xcc,
+ 0x08, 0x74, 0x65, 0xaa, 0x2f, 0x3a, 0x1b, 0x02, 0xe3, 0xf4,
+ 0xf5, 0x5c, 0xf1, 0x34, 0x17, 0xe0, 0xa3, 0xad, 0x04, 0x90,
+ 0x05, 0xb1, 0xcc, 0x92, 0x57, 0x71, 0x38, 0x98, 0xdf, 0xc9,
+ 0x26, 0x8c, 0x3f, 0x47, 0xe7, 0xca, 0xd9, 0x27, 0xf7, 0x03,
+ 0x73, 0x8e, 0x6e, 0x72, 0x68, 0x2e, 0xfd, 0x90, 0x13, 0x1a,
+ 0x06, 0xd8, 0x68, 0x95, 0x74, 0xf4, 0xc9, 0xc0, 0xba, 0x24,
+ 0x91, 0x1c, 0x09, 0x47, 0x3c, 0xb5, 0x2b, 0x85, 0xad, 0xd8,
+ 0x16, 0x97, 0xc2, 0x20, 0x8a, 0x0e, 0x67, 0xbb, 0xe2, 0xff,
+ 0x0a, 0x69, 0xed, 0x61, 0x35, 0x8e, 0x06, 0x3f, 0x40, 0xc4,
+ 0x3a, 0x55, 0x44, 0x33, 0x84, 0x81, 0xac, 0x11, 0x7e, 0x20,
+ 0x56, 0x9f, 0x15, 0x69, 0xe2, 0x42, 0x97, 0xc5, 0x45, 0x43,
+ 0xa0, 0x5e, 0x5c, 0x80, 0xd2, 0x71, 0xc4, 0x68, 0x5e, 0x26,
+ 0xce, 0x44, 0x57, 0x6d, 0x1b, 0x9a, 0x8a, 0xfb, 0x84, 0x76,
+ 0x4c, 0x67, 0xaf, 0x92, 0x6e, 0x1d, 0x8b, 0xab, 0x44, 0x80,
+ 0x7e, 0xc1, 0x20, 0x79, 0xad, 0xfe, 0x3a, 0xa4, 0x15, 0xa4,
+ 0x8a, 0x48, 0x5a, 0xa3, 0x87, 0x62, 0x17, 0x9f, 0xf9, 0x36,
+ 0x4e, 0x75, 0x90, 0x2d, 0x7c, 0x14, 0xc2, 0xf9, 0x56, 0xc7,
+ 0x5a, 0x01, 0x6b, 0xbe, 0x91, 0x32, 0xc0, 0x6a, 0x31, 0x2b,
+ 0x6e, 0x4b, 0xfc, 0xa9, 0x12, 0x9e, 0x2b, 0x75, 0xba, 0x92,
+ 0x8c, 0x0e, 0x16, 0xcf, 0x91, 0x09, 0xd8, 0x02, 0xcb, 0x46,
+ 0xb6, 0x2a, 0x09, 0x35, 0x85, 0x13, 0x9c, 0xd3, 0xa1, 0xb0,
+ 0x8c, 0x5b, 0xf7, 0x38, 0xd0, 0x44, 0x55, 0xde, 0xfc, 0x69,
+ 0x74, 0x27, 0x8b, 0x33, 0x02, 0x1d, 0x88, 0xcb, 0x66, 0xa0,
+ 0xdf, 0xc4, 0xf5, 0xf7, 0x95, 0x08, 0xde, 0xb9, 0x02, 0x53,
+ 0xcf, 0xd6, 0x4b, 0x9b, 0x89, 0x66, 0x6a, 0x37, 0x4a, 0x92,
+ 0x68, 0xe6, 0x06, 0xe3, 0xd8, 0x87, 0x65, 0xe0, 0x6e, 0x25,
+ 0x45, 0xe5, 0x17, 0x7c, 0x63, 0xbf, 0x81, 0xf6, 0x79, 0x52,
+ 0xdc, 0x21, 0x38, 0x8f, 0xf8, 0xd0, 0xef, 0xc6, 0xb5, 0xf3,
+ 0xbf, 0x65, 0xfd, 0xee, 0xd8, 0x5a, 0xda, 0xd4, 0xaa, 0x36,
+ 0x25, 0xbe, 0x37, 0xc4, 0x7e, 0xb5, 0x09, 0x4f, 0xf4, 0xdb,
+ 0x5d, 0x49, 0x46, 0x07, 0x0b, 0x86, 0xa9, 0xe5, 0x8d, 0xf2,
+ 0x9a, 0xe0, 0xd8, 0x47, 0x37, 0x39, 0x34, 0x17, 0x9f, 0x48,
+ 0xe8, 0x0d, 0x03, 0x6c, 0xb6, 0x49, 0x37, 0xef, 0xa4, 0xb4,
+ 0x22, 0x40, 0x3f, 0x81, 0x10, 0xdd, 0xb7, 0x7f, 0x1d, 0x52,
+ 0xff, 0xd3, 0xf3, 0x29, 0xb2, 0xb7, 0x42, 0x14, 0x10, 0x0c,
+ 0x05, 0x6e, 0xdb, 0x04, 0x52, 0x59, 0x88, 0x43, 0x56, 0x72,
+ 0x8f, 0x36, 0x0f, 0xa1, 0xeb, 0xde, 0xb9, 0xc4, 0xd7, 0x4a,
+ 0xe4, 0xa6, 0xea, 0x77, 0x79, 0x61, 0xe8, 0x14, 0xc5, 0x76,
+ 0x07, 0x93, 0xfc, 0x58, 0x95, 0x71, 0xc2, 0x74, 0x62, 0x34,
+ 0x2f, 0x13, 0x67, 0x22, 0xca, 0xd7, 0xec, 0x4d, 0x45, 0x9c,
+ 0x42, 0x3b, 0x26, 0xd2, 0xe2, 0x9c, 0x5a, 0x0c, 0x0f, 0x7d,
+ 0x7b, 0x0b, 0x63, 0xb8, 0x72, 0x05, 0x4c, 0x68, 0x18, 0xe6,
+ 0x3e, 0x0a, 0x61, 0x9d, 0x2b, 0x82, 0x2d, 0xe1, 0xd4, 0x5f,
+ 0xa9, 0x19, 0x60, 0x35, 0xf9, 0xf4, 0x54, 0xd5, 0x6d, 0xe3,
+ 0xab, 0xc9, 0x59, 0x4b, 0x5c, 0x39, 0x62, 0xd8, 0xfb, 0x17,
+ 0x05, 0xb4, 0xbe, 0xa2, 0x14, 0x82, 0x43, 0xdd, 0x9c, 0x3d,
+ 0x5b, 0xaa, 0x9e, 0x80, 0x6e, 0x66, 0xc7, 0xc0, 0xb7, 0x6c,
+ 0x0b, 0xaa, 0x61, 0x10, 0x45, 0x07, 0xd2, 0xbc, 0x71, 0x9e,
+ 0x05, 0xd5, 0x97, 0xd1, 0x36, 0xe1, 0x42, 0xf0, 0xcc, 0xeb,
+ 0x93, 0x9c, 0xb0, 0x74, 0x27, 0x44, 0xb9, 0x2c, 0x23, 0x66,
+ 0xe6, 0x08, 0xaa, 0xdb, 0x9d, 0xa8, 0x24, 0xd4, 0x51, 0x4c,
+ 0x35, 0xca, 0xc1, 0x85, 0x75, 0xaf, 0x99, 0x73, 0x2c, 0xed,
+ 0x47, 0x40, 0xd7, 0x1c, 0xce, 0xb5, 0x07, 0x3d, 0x14, 0xd2,
+ 0x19, 0xc2, 0xa0, 0x82, 0xf9, 0x68, 0x72, 0x38, 0x0c, 0xeb,
+ 0xdc, 0x59, 0x4a, 0x2e, 0xec, 0x37, 0xd0, 0x39, 0x23, 0x45,
+ 0xc8, 0xb8, 0x96, 0x48, 0x14, 0xfe, 0xa7, 0xeb, 0xde, 0x72,
+ 0xf7, 0x59, 0xb3, 0x4b, 0x8a, 0x09, 0x2e, 0xf8, 0xc6, 0xbd,
+ 0xc1, 0x2f, 0xf2, 0xa4, 0x7b, 0x42, 0x70, 0xdd, 0x33, 0x63,
+ 0x73, 0x04, 0x55, 0x8c, 0xaf, 0x54, 0x12, 0x6a, 0xc9, 0x26,
+ 0xfb, 0x65, 0x81, 0xa3, 0xdb, 0xb6,
+ },
+ {
+ /* 7 */
+ 0x5e, 0x59, 0x1d, 0x8d, 0x98, 0xfb, 0x33, 0x54, 0x7c, 0xd4,
+ 0xa4, 0x1b, 0xb3, 0x82, 0x0e, 0xb2, 0x90, 0x76, 0xbe, 0x36,
+ 0xc1, 0x08, 0x56, 0x5a, 0xf4, 0x40, 0x38, 0xf8, 0x4c, 0x99,
+ 0x0f, 0xec, 0xb8, 0xae, 0x1f, 0x39, 0x5b, 0xcb, 0x04, 0x4b,
+ 0x01, 0x97, 0x34, 0x4e, 0xd8, 0x52, 0x2c, 0x9f, 0x18, 0x48,
+ 0xde, 0x05, 0x76, 0x41, 0x8f, 0x0f, 0x53, 0x4d, 0x04, 0xd3,
+ 0xcd, 0xf8, 0xa0, 0x90, 0x76, 0x81, 0xbc, 0x82, 0x02, 0x38,
+ 0x61, 0x45, 0x89, 0x03, 0xa8, 0xad, 0x27, 0x49, 0x2d, 0xc1,
+ 0xc4, 0x19, 0x1a, 0xc8, 0x9e, 0xb3, 0x90, 0x9b, 0x24, 0xd1,
+ 0x9f, 0x2f, 0xda, 0x59, 0x79, 0x32, 0x0d, 0x23, 0xf7, 0xdb,
+ 0x11, 0x1f, 0x5f, 0xae, 0x67, 0xf8, 0x5d, 0x96, 0x09, 0xc8,
+ 0x5c, 0x46, 0x84, 0x1a, 0x0f, 0xd0, 0x8c, 0x88, 0x7f, 0xb3,
+ 0x6f, 0xca, 0x3e, 0xa3, 0x06, 0x1d, 0xff, 0x34, 0xc2, 0x0b,
+ 0xcc, 0x58, 0x62, 0x32, 0xc3, 0xe8, 0x40, 0x53, 0x9e, 0x6b,
+ 0x78, 0x67, 0x51, 0x16, 0x34, 0x8c, 0x5a, 0xea, 0x44, 0x7c,
+ 0xbf, 0xfd, 0x5f, 0x66, 0xb7, 0x1d, 0x24, 0xa6, 0xb3, 0xdb,
+ 0x31, 0x97, 0xe7, 0x32, 0xc6, 0x5c, 0x24, 0x56, 0x09, 0xa5,
+ 0x57, 0x7b, 0xd7, 0x87, 0x8f, 0xed, 0x24, 0xfc, 0xce, 0xec,
+ 0xa1, 0x02, 0xf4, 0xf7, 0x3d, 0x10, 0x0e, 0x3e, 0x13, 0xb7,
+ 0x73, 0x3b, 0xc3, 0x0c, 0x54, 0x60, 0x48, 0xec, 0x3a, 0xa0,
+ 0xef, 0x6c, 0xc1, 0x75, 0xf6, 0xd3, 0x5d, 0x18, 0xc7, 0x10,
+ 0x71, 0x80, 0xe0, 0x12, 0x58, 0x43, 0x16, 0x90, 0x7e, 0x0d,
+ 0x8b, 0x46, 0x6d, 0x20, 0x4a, 0x35, 0xac, 0x6b, 0xd5, 0x7b,
+ 0x1a, 0xbd, 0xe7, 0x5e, 0xa2, 0x40, 0xf9, 0x06, 0xfe, 0x6a,
+ 0x07, 0x15, 0x4e, 0xa8, 0xd6, 0x5f, 0xaa, 0x3b, 0xcb, 0xbd,
+ 0x5e, 0x5a, 0x2c, 0x8a, 0x24, 0x2a, 0x0c, 0x24, 0x6f, 0xe3,
+ 0x3b, 0xc1, 0xa6, 0xe6, 0xc8, 0xc7, 0x02, 0x88, 0x87, 0x7c,
+ 0x50, 0x48, 0x48, 0x3b, 0x5f, 0x1b, 0x81, 0x04, 0x2b, 0x2d,
+ 0x7a, 0x20, 0x1c, 0x7c, 0x26, 0xad, 0xe6, 0x76, 0x80, 0x06,
+ 0x2a, 0x30, 0x24, 0x76, 0x1d, 0x50, 0x96, 0x36, 0x81, 0xdb,
+ 0x7b, 0x88, 0xcf, 0x0c, 0xd7, 0x60, 0xe5, 0x86, 0x05, 0x6c,
+ 0x13, 0x49, 0x74, 0xe6, 0xc7, 0x2e, 0xbc, 0x57, 0xad, 0xc0,
+ 0x69, 0xdc, 0x2c, 0x2f, 0xa2, 0x26, 0x44, 0x71, 0x11, 0xf3,
+ 0xf2, 0x24, 0xc6, 0x3b, 0xa9, 0x7b, 0xee, 0xcf, 0x48, 0xb7,
+ 0x50, 0x0f, 0xf3, 0x1a, 0x4c, 0x78, 0x2d, 0xa5, 0x91, 0x39,
+ 0x42, 0x5d, 0xd8, 0x4d, 0xe1, 0x2d, 0x40, 0x0c, 0x7d, 0x77,
+ 0x8e, 0x60, 0x24, 0x84, 0x6a, 0x34, 0xe9, 0x9a, 0x1b, 0x41,
+ 0xb5, 0x4d, 0x08, 0xe0, 0x47, 0xd7, 0x61, 0x0c, 0xe5, 0xf1,
+ 0x9c, 0xe7, 0xb4, 0x82, 0x77, 0x86, 0x24, 0xba, 0x28, 0xe6,
+ 0x98, 0x0d, 0x26, 0x3c, 0xf7, 0xb3, 0xa9, 0xfd, 0x21, 0xcf,
+ 0x91, 0x71, 0x26, 0x0e, 0xeb, 0xd6, 0xaf, 0x12, 0x5b, 0x7f,
+ 0x67, 0xe6, 0xc2, 0x2d, 0x03, 0xe2, 0x73, 0x9a, 0x01, 0x5a,
+ 0x80, 0x18, 0xfa, 0xee, 0xdf, 0xc0, 0x48, 0xcb, 0xd4, 0x68,
+ 0x11, 0xf7, 0xe8, 0xdd, 0x9e, 0x27, 0xac, 0x8e, 0xa0, 0x69,
+ 0x28, 0xfa, 0x2c, 0xe1, 0x33, 0x07, 0x6a, 0x79, 0xa1, 0xe1,
+ 0x59, 0x04, 0x07, 0x54, 0x72, 0x0c, 0xfd, 0xe5, 0x6f, 0x83,
+ 0x9b, 0x1e, 0x80, 0x01, 0x53, 0x7a, 0xea, 0x56, 0x89, 0xe4,
+ 0x6c, 0xfa, 0x1b, 0x2c, 0xf9, 0x8d, 0xba, 0x4a, 0x52, 0xf4,
+ 0xc9, 0x3a, 0xed, 0x13, 0x8f, 0xac, 0xcf, 0x35, 0x43, 0x29,
+ 0xc2, 0xb9, 0xd3, 0x91, 0x25, 0x74, 0x8d, 0x25, 0xdd, 0xeb,
+ 0x35, 0x69, 0x42, 0xfe, 0xf1, 0xce, 0xdc, 0x4d, 0x72, 0x40,
+ 0x93, 0x4a, 0xe7, 0xf0, 0x9a, 0x8c, 0xe9, 0xee, 0xce, 0x57,
+ 0xd2, 0x7c, 0xcf, 0x4b, 0xe5, 0x64, 0x2e, 0x23, 0x7f, 0xbe,
+ 0x6e, 0xb9, 0xbb, 0xd9, 0x5c, 0x08, 0x17, 0x07, 0x4a, 0x43,
+ 0x53, 0x14, 0x41, 0xbf, 0x86, 0x14, 0xfc, 0xa0, 0xd8, 0xf7,
+ 0x4e, 0x23, 0xf2, 0xb4, 0x80, 0x9f, 0xd9, 0xb6, 0xe7, 0x28,
+ 0x70, 0x93, 0x6a, 0x12, 0xfe, 0xb9, 0x32, 0x36, 0xed, 0x81,
+ 0xa9, 0xe9, 0x85, 0x77, 0x05, 0xe5, 0x4e, 0x29, 0x89, 0x8b,
+ 0x7d, 0x85, 0x78, 0x5e, 0x1e, 0xa2, 0x1d, 0x38, 0x84, 0x93,
+ 0xce, 0x52, 0x1f, 0x5d, 0x90, 0xad, 0xa0, 0x1e, 0x25, 0x34,
+ 0x98, 0xf0, 0x5a, 0x89, 0xe1, 0x72, 0x84, 0xba, 0x63, 0xea,
+ 0x95, 0x5c, 0x65, 0x66, 0xb1, 0xe4, 0xbd, 0xb6, 0xf1, 0xe8,
+ 0xe3, 0x79, 0xd1, 0x17, 0xe6, 0xf7, 0x02, 0xb4, 0xc3, 0x30,
+ 0x37, 0x1f, 0x7d, 0x43, 0x90, 0x55, 0x6b, 0xd0, 0x22, 0x2d,
+ 0xa7, 0xf3, 0x8f, 0x94, 0xfb, 0xd5, 0x21, 0x7f, 0x99, 0x67,
+ 0x6e, 0xc7, 0x39, 0x20, 0xa8, 0x25, 0x35, 0x8b, 0xc2, 0xd2,
+ 0x6e, 0xa2, 0x46, 0xb5, 0xf0, 0x59, 0xe8, 0x03, 0xaa, 0x12,
+ 0xbf, 0xd5, 0x20, 0xe0, 0xeb, 0x0c, 0x09, 0xfc, 0x96, 0x14,
+ 0xc4, 0xec, 0xb1, 0x46, 0x6e, 0x22, 0x43, 0x03, 0x0f, 0x2d,
+ 0x04, 0xab, 0x45, 0x60, 0x6e, 0x3e, 0xfa, 0x86, 0xe3, 0xaa,
+ 0xd6, 0x63, 0x44, 0x5a, 0x16, 0x62, 0x42, 0x96, 0x19, 0xff,
+ 0x18, 0x79, 0x06, 0xf4, 0xb8, 0x67, 0x95, 0x2f, 0xe8, 0xc4,
+ 0xf3, 0x9c, 0x2b, 0x6a, 0xa4, 0x6e, 0xe7, 0xbe, 0x49, 0xf6,
+ 0xc9, 0x10, 0xaf, 0xe0, 0xde, 0xfb, 0xaf, 0xcb, 0xc5, 0x97,
+ 0x68, 0xea, 0xe5, 0x7a, 0xa8, 0x5c, 0xd3, 0x37, 0xc3, 0xc9,
+ 0xc8, 0x55, 0x22, 0xee, 0x18, 0x7c, 0x5d, 0x83, 0xa7, 0x84,
+ 0x59, 0x92, 0x0f, 0x7a, 0xb1, 0x89, 0x5b, 0x1f, 0xb9, 0xa9,
+ 0x87, 0x01, 0x71, 0x15, 0xfd, 0x03, 0xae, 0xa8, 0x6b, 0x50,
+ 0x56, 0xe6, 0x20, 0x91, 0x1e, 0x5a, 0x08, 0x95, 0x8a, 0xc0,
+ 0xdc, 0x7c, 0x37, 0xcf, 0x05, 0x97, 0x6f, 0xc6, 0x88, 0xb4,
+ 0x25, 0xfb, 0x56, 0xd4, 0x8b, 0xdc, 0x0d, 0xbf, 0x92, 0x2f,
+ 0x51, 0x20, 0x9d, 0x03, 0x7f, 0x35, 0xba, 0xa0, 0xec, 0x49,
+ 0x0f, 0xb4, 0x35, 0xdb, 0x9c, 0xe9, 0x8a, 0x72, 0x07, 0xf9,
+ 0x34, 0x83, 0xbd, 0xb5, 0xa2, 0xe1, 0xd9, 0xeb, 0x9f, 0xe0,
+ 0x57, 0x54, 0xd4, 0x28, 0x2b, 0x73, 0x10, 0xa9, 0x8e, 0x2c,
+ 0xb6, 0xa3, 0x4b, 0xc8, 0x8a, 0x26, 0xc3, 0x8f, 0x3d, 0x6f,
+ 0x23, 0x5f, 0x87, 0x58, 0x5c, 0x57, 0xee, 0xfd, 0xcc, 0x84,
+ 0x02, 0xc4, 0xe1, 0xaa, 0x1a, 0x27, 0x6c, 0x29, 0x16, 0xae,
+ 0x41, 0x04, 0x8d, 0x20, 0x38, 0xe5, 0x16, 0x60, 0xe4, 0x24,
+ 0xfe, 0x92, 0x52, 0xf0, 0x8a, 0x08, 0x6f, 0xce, 0xfa, 0xbf,
+ 0x5e, 0xa7, 0x17, 0x02, 0x75, 0x71, 0xf3, 0x60, 0x64, 0x05,
+ 0x81, 0x5f, 0x42, 0x0d, 0xe6, 0x68, 0x46, 0x44, 0xde, 0xb8,
+ 0xd6, 0x65, 0x1f, 0xb0, 0x03, 0xef, 0x9e, 0x1a, 0x46, 0x11,
+ 0xc3, 0x88, 0xee, 0xba, 0xbc, 0x5b, 0x2f, 0x99, 0xa0, 0xc8,
+ 0x7e, 0x7a, 0xae, 0x22, 0x2b, 0xd1, 0xca, 0x47, 0xe4, 0x62,
+ 0x9a, 0xc9, 0xc7, 0x96, 0xed, 0x94, 0xc5, 0xd4, 0x37, 0x61,
+ 0xdc, 0x51, 0xc4, 0xcd, 0xe8, 0xf2, 0x1f, 0x94, 0x77, 0x9c,
+ 0x9b, 0xfc, 0x17, 0xa1, 0xd9, 0xa2, 0xdf, 0x58, 0xaf, 0x85,
+ 0x96, 0x53, 0xd7, 0x4c, 0x45, 0xdd, 0x7a, 0xde, 0x46, 0xbe,
+ 0xcd, 0xb0, 0x43, 0x0a, 0x7e, 0x50, 0x6c, 0x9a, 0x27, 0xf0,
+ 0x79, 0x5a, 0x40, 0xae, 0x8d, 0x5b, 0x92, 0x14, 0xe3, 0xec,
+ 0xbf, 0x6c, 0x41, 0x10, 0xac, 0xb4, 0x2b, 0x80, 0x70, 0x33,
+ 0x98, 0xf1, 0x1e, 0x1b, 0x29, 0xdf, 0x39, 0x37, 0xb0, 0x1d,
+ 0xab, 0x59, 0x5a, 0xe8, 0x53, 0xa8, 0x1a, 0x7f, 0x2f, 0x7d,
+ 0xb4, 0x8a, 0x70, 0xda, 0x60, 0x0a, 0xa2, 0xad, 0xc9, 0x50,
+ 0x36, 0xc6, 0x5f, 0x2e, 0x7c, 0xd7, 0xcb, 0x34, 0x1e, 0x63,
+ 0xdb, 0xd3, 0xfe, 0xa5, 0xde, 0x57, 0x7c, 0x85, 0x0c, 0x3a,
+ 0x3d, 0x68, 0x32, 0x9e, 0x8c, 0x7a, 0xb8, 0xfd, 0xec, 0x8e,
+ 0x3b, 0xe4, 0xb6, 0x59, 0x86, 0x98, 0x9b, 0xff, 0xda, 0x43,
+ 0x12, 0x5d, 0x14, 0x73, 0x4c, 0xe7, 0x13, 0x1e, 0x9a, 0xb8,
+ 0xb5, 0x9f, 0xf1, 0x86, 0xea, 0xd3, 0x6d, 0x57, 0xf8, 0xf1,
+ 0x91, 0xf9, 0xb5, 0x84, 0x92, 0xdd, 0xec, 0xac, 0x72, 0x65,
+ 0xbe, 0xbc, 0xc9, 0xa9, 0xa7, 0x4a, 0x57, 0x38, 0x65, 0x15,
+ 0x35, 0x0a, 0x7a, 0x6c, 0x04, 0xbb, 0x03, 0x09, 0x6b, 0x48,
+ 0x7e, 0xa1, 0xc8, 0xd8, 0x32, 0x41, 0xe1, 0x22, 0x51, 0x1f,
+ 0x14, 0x12, 0xa5, 0xfd, 0x7c, 0xe4, 0xaf, 0xaa, 0x10, 0xef,
+ 0x04, 0x19, 0xd0, 0xfb, 0xe6, 0x8b, 0xb0, 0x39, 0xa4, 0xfa,
+ 0xe4, 0xdc, 0x85, 0x74, 0xe9, 0xa7, 0xab, 0x26, 0x8f, 0xe5,
+ 0x68, 0x3f, 0xbc, 0x37, 0xab, 0xd7, 0xe0, 0x77, 0xc0, 0x14,
+ 0x87, 0x99, 0x51, 0xa0, 0x6c, 0x4f, 0xbe, 0x5c, 0xf8, 0x6d,
+ 0x64, 0xff, 0xdb, 0xf4, 0xb3, 0x39, 0x1b, 0xdf, 0x76, 0x0b,
+ 0xaf, 0xb2, 0xcf, 0xf3, 0xf5, 0x3d, 0xad, 0xc5, 0x36, 0xe7,
+ 0x3c, 0x95, 0xd4, 0xea, 0x35, 0x22, 0x6d, 0x0b, 0x1c, 0x62,
+ 0xd0, 0x49, 0x4f, 0x2e, 0x11, 0xb3, 0x57, 0x5b, 0x81, 0x16,
+ 0xb1, 0x9d, 0x42, 0x26, 0x0a, 0x27, 0xc2, 0x5c, 0x85, 0x1d,
+ 0x97, 0xe8, 0xa6, 0x56, 0x86, 0xfb, 0xc0, 0xf5, 0x61, 0xbd,
+ 0x88, 0xa9, 0xf3, 0x3a, 0xa0, 0xe6, 0xc1, 0x3c, 0x2d, 0x8a,
+ 0x8b, 0x44, 0x52, 0xda, 0x30, 0x9d, 0x15, 0xaa, 0x8c, 0x0f,
+ 0x13, 0x79, 0xff, 0x4e, 0x9b, 0xdf, 0x83, 0xd2, 0x50, 0x37,
+ 0x58, 0x01, 0x66, 0x0e, 0xd4, 0xf2, 0xd4, 0x69, 0x8e, 0xce,
+ 0x7b, 0xcd, 0xdb, 0x91, 0x46, 0xa7, 0x26, 0x0c, 0xed, 0x48,
+ 0xb9, 0xd2, 0xfb, 0xa4, 0x61, 0x69, 0x37, 0x51, 0x23, 0xbb,
+ 0x78, 0xcd, 0x74, 0xe0, 0x55, 0x09, 0xbe, 0x8b, 0xae, 0xcc,
+ 0x5d, 0xaf, 0x42, 0x34, 0x1c, 0x32, 0x07, 0x63, 0x8c, 0x29,
+ 0x4d, 0x7d, 0xc4, 0x5b, 0x94, 0x6a, 0x9b, 0xd6, 0x69, 0xf6,
+ 0x34, 0xb9, 0x0d, 0xbc, 0x87, 0x80, 0x31, 0x0c, 0x3f, 0xd4,
+ 0xde, 0x5f, 0x37, 0xbd, 0xbc, 0x8d, 0x2e, 0x04, 0xea, 0xe2,
+ 0x25, 0xc0, 0xc8, 0x0a, 0xc1, 0xbe, 0xbb, 0xa7, 0x74, 0x71,
+ 0x25, 0x6a, 0xcc, 0x93, 0x33, 0xd6, 0xd5, 0x6c, 0x89, 0x4d,
+ 0x38, 0x8d, 0xce, 0x2f, 0xa3, 0xbb, 0x59, 0xf3, 0x65, 0x0e,
+ 0x88, 0x94, 0x9c, 0xe3, 0xff, 0x1b, 0x01, 0x5e, 0xa2, 0xe8,
+ 0x32, 0x4c, 0x79, 0xf5, 0xba, 0xd4, 0xcf, 0xa4, 0x8e, 0xa1,
+ 0xca, 0x01, 0x94, 0x13, 0xf1, 0x92, 0xd8, 0x1a, 0xf0, 0x11,
+ 0xd6, 0x2e, 0xd4, 0x88, 0x77, 0x2c, 0x70, 0x4b, 0xc6, 0xe7,
+ 0x3d, 0xb3, 0x88, 0xd1, 0xfd, 0x9d, 0x82, 0xb0, 0xc1, 0x62,
+ 0x55, 0xf3, 0x50, 0xfb, 0xdf, 0xa5, 0xb6, 0x84, 0x83, 0xaa,
+ 0x34, 0x75, 0x93, 0x3d, 0x54, 0x2e, 0x88, 0xfa, 0x80, 0x85,
+ 0x64, 0xcb, 0x61, 0xe4, 0x66, 0x2c, 0x31, 0x19, 0x80, 0x74,
+ 0x20, 0xc8, 0x4f, 0xd4, 0x3c, 0xd2, 0xc9, 0x0b, 0x36, 0x82,
+ 0xa9, 0x9a, 0x10, 0x03, 0x8e, 0x6d, 0xc2, 0x18, 0x09, 0x21,
+ 0xfb, 0x0d, 0xab, 0xc7, 0xec, 0xc1, 0xbb, 0xc7, 0x04, 0x70,
+ 0xc2, 0x8a, 0xd1, 0x06, 0x93, 0x99, 0x4e, 0x92, 0x5a, 0x41,
+ 0xc8, 0x3d, 0x75, 0x2b, 0xa5, 0x72, 0x36, 0x7d, 0xec, 0x16,
+ 0x9d, 0xa7, 0x5d, 0x25, 0x29, 0x7a, 0x52, 0x7d, 0x72, 0x6e,
+ 0xa3, 0x3a, 0x95, 0xb2, 0xb4, 0x13, 0xa6, 0x93, 0x34, 0xfe,
+ 0x5e, 0xfa, 0xb2, 0x98, 0xa6, 0x4a, 0x9c, 0x8b, 0xf1, 0xde,
+ 0xad, 0xd2, 0x37, 0x82, 0xfd, 0x10, 0x54, 0xf3, 0xd0, 0x75,
+ 0xab, 0x2e, 0xd3, 0x33, 0xb9, 0x72, 0xbf, 0x5b, 0x99, 0x74,
+ 0x90, 0xdd, 0x89, 0xea, 0x72, 0x9d, 0x99, 0x62, 0xaa, 0xc6,
+ 0x03, 0xa6, 0x70, 0xff, 0x17, 0xd5, 0x5a, 0xdc, 0x1d, 0xf9,
+ 0xeb, 0xd4, 0xf5, 0x6f, 0xd2, 0x2f, 0x68, 0xb1, 0x1a, 0xbb,
+ 0xcd, 0xc3, 0x62, 0x18, 0x7e, 0x6b, 0x96, 0x64, 0x68, 0xa6,
+ 0x3d, 0x89, 0x05, 0x29, 0x90, 0xc2, 0x39, 0xbc, 0xee, 0xa7,
+ 0x27, 0xc8, 0x0e, 0x2a, 0x9c, 0x93, 0x6f, 0xbe, 0x97, 0x76,
+ 0x55, 0xb9, 0xbc, 0xb4, 0x58, 0xd7, 0x48, 0x54, 0xe2, 0xeb,
+ 0x27, 0x54, 0x6b, 0xce, 0x55, 0xfc, 0x84, 0xbf, 0x2f, 0x2d,
+ 0x16, 0x45, 0x12, 0x15, 0x56, 0x61, 0x57, 0x8e, 0x0b, 0xc4,
+ 0xf7, 0x51, 0x4d, 0xef, 0x19, 0xeb, 0x49, 0x6b, 0x6e, 0xc2,
+ 0x4c, 0x27, 0x7a, 0xfb, 0x29, 0xfa, 0x49, 0xce, 0x83, 0xdc,
+ 0xa3, 0x04, 0x5b, 0x38, 0xd6, 0x4e, 0x40, 0x03, 0x15, 0x18,
+ 0x12, 0x3b, 0xef, 0x28, 0x4b, 0x1b, 0xa1, 0x8c, 0xdc, 0x44,
+ 0x86, 0x06, 0x37, 0x85, 0x31, 0xa2, 0x3a, 0xdd, 0x77, 0x25,
+ 0x6d, 0x27, 0x56, 0x3f, 0x75, 0xb9, 0xa7, 0xc9, 0x92, 0x78,
+ 0x4d, 0x46, 0x95, 0x77, 0x67, 0xca, 0x69, 0x3e, 0x86, 0xc4,
+ 0x93, 0x32, 0x17, 0xf0, 0x44, 0x1f, 0x30, 0xf8, 0xba, 0xc5,
+ 0x8d, 0xcb, 0xb2, 0xe7, 0x1e, 0xf4, 0xa1, 0xd1, 0xb6, 0x3e,
+ 0x8f, 0x2b, 0x2e, 0x9b, 0x61, 0x16, 0x73, 0x6e, 0x6c, 0xb0,
+ 0x62, 0x71, 0xad, 0xeb, 0x8b, 0x56, 0x59, 0x4c, 0x53, 0x25,
+ 0x4e, 0xa4, 0x99, 0x6f, 0xb7, 0x69, 0xfa, 0x41, 0x9f, 0x08,
+ 0x2a, 0x98, 0xdb, 0x44, 0x8a, 0x65, 0x3e, 0xad, 0xb5, 0xaf,
+ 0xbc, 0x21, 0xc5, 0xa6, 0x3b, 0x2b, 0xfd, 0x88, 0x6d, 0xc0,
+ 0x09, 0xcf, 0x0a, 0xd8, 0x26, 0x92, 0xe8, 0x0f, 0x4d, 0x5c,
+ 0xbb, 0xae, 0x99, 0x43, 0x8c, 0x22, 0x45, 0xd3, 0x1f, 0xb7,
+ 0xbb, 0xb6, 0x5e, 0xf1, 0x83, 0x53, 0xfc, 0xf4, 0x9f, 0x44,
+ 0xd3, 0x7c, 0xc0, 0x66, 0xad, 0x92, 0x71, 0xaa, 0x8d, 0x1a,
+ 0x78, 0x56, 0xc1, 0xc2, 0x9d, 0xf8, 0x88, 0x3e, 0x60, 0x33,
+ 0xb7, 0x49, 0xd9, 0x55, 0xa7, 0x0d, 0x3c, 0x2b, 0x81, 0x61,
+ 0xaf, 0x7c, 0x47, 0x16, 0x5b, 0xb0, 0xc4, 0x64, 0x45, 0x13,
+ 0x80, 0xa6, 0xff, 0xd6, 0xf0, 0xce, 0xa2, 0x2c, 0xe5, 0xfe,
+ 0x69, 0xfc, 0xbd, 0x91, 0xff, 0xc7, 0x4f, 0x02, 0x71, 0x77,
+ 0x3a, 0xcf, 0x36, 0x3f, 0x2f, 0xcd, 0xef, 0xa7, 0x4c, 0x9c,
+ 0xf8, 0x2a, 0x3e, 0x6a, 0x52, 0xec, 0xb8, 0x41, 0x07, 0x59,
+ 0x12, 0x7e, 0x67, 0x76, 0xb1, 0x01, 0x7a, 0x9a, 0xff, 0x08,
+ 0x07, 0x1f, 0xe8, 0xba, 0xd8, 0xfc, 0x8b, 0x37, 0x0b, 0x7b,
+ 0xc9, 0xe8, 0x11, 0x8d, 0x95, 0x4c, 0xdd, 0x09, 0xd0, 0x7e,
+ 0xbb, 0x6e, 0x11, 0x77, 0x0c, 0x3e, 0xcf, 0xa0, 0xb2, 0x42,
+ 0xcd, 0x49, 0xe6, 0x3d, 0xb9, 0xa5, 0xcc, 0xee, 0x54, 0x6f,
+ 0xa4, 0xfe, 0x5f, 0xbb, 0xc6, 0xc1, 0xd0, 0x91, 0xa7, 0xd7,
+ 0x96, 0xc0, 0x76, 0xde, 0xa8, 0xde, 0x8b, 0x3f, 0xbe, 0xb5,
+ 0x4f, 0x41, 0x63, 0xe1, 0x8d, 0x6d, 0xef, 0x43, 0xec, 0x7f,
+ 0x87, 0x13, 0x64, 0x98, 0xf2, 0x29, 0xb7, 0x6b, 0x5d, 0x8b,
+ 0xdf, 0x81, 0x57, 0x02, 0xeb, 0x26, 0x2d, 0xc3, 0x1c, 0xd7,
+ 0x18, 0xe3, 0xc9, 0xba, 0xa3, 0x14, 0xec, 0xd0, 0x67, 0xea,
+ 0x1f, 0x45, 0x5d, 0x50, 0x76, 0xc5, 0xe6, 0x5a, 0xfb, 0x8c,
+ 0x4e, 0x95, 0x45, 0x39, 0xe2, 0x9d, 0x1a, 0xa0, 0x9d, 0x55,
+ 0x49, 0xed, 0xd0, 0x17, 0x09, 0xf4, 0x93, 0xb8, 0x65, 0x6e,
+ 0x45, 0x51, 0x53, 0xaa, 0x39, 0xaf, 0xad, 0x31, 0x55, 0x63,
+ 0xe0, 0x53, 0x38, 0x9e, 0xea, 0x8b, 0x2d, 0x6e, 0xef, 0x9d,
+ 0x5f, 0x5e, 0x85, 0xb5, 0xb2, 0x25, 0xca, 0x1c, 0xd3, 0xeb,
+ 0xfb, 0x05, 0x3d, 0x36, 0x02, 0xbc, 0x26, 0xf2, 0x3d, 0x9c,
+ 0xf5, 0x7d, 0xc5, 0x67, 0xa0, 0x6e, 0xb0, 0x02, 0xcc, 0x1c,
+ 0x6b, 0x27, 0x05, 0x1b, 0xbd, 0xd8, 0x82, 0x20, 0x9b, 0xab,
+ 0x56, 0xc3, 0xe0, 0x66, 0xf3, 0x21, 0x3c, 0x36, 0xd5, 0x6e,
+ 0x16, 0xf6, 0x51, 0x13, 0x22, 0xd9, 0xe9, 0x98, 0x79, 0x12,
+ 0x63, 0xfc, 0xb5, 0xdc, 0xfc, 0xb1, 0x2f, 0xc1, 0xe1, 0x0e,
+ 0x89, 0x80, 0xb3, 0x70, 0x2a, 0xba, 0x79, 0x83, 0x9a, 0xa1,
+ 0x19, 0x4f, 0x46, 0x3d, 0x5c, 0x9f, 0x76, 0x47, 0xfc, 0x72,
+ 0x5b, 0xcd, 0x43, 0x4c, 0xac, 0x9e, 0x09, 0x3f, 0xd2, 0x3b,
+ 0xb9, 0xe1, 0x3d, 0x4d, 0x9e, 0x04, 0xe2, 0xee, 0x74, 0x5d,
+ 0x6c, 0x7e, 0xb3, 0x9f, 0x3e, 0x72, 0xb6, 0x55, 0x08, 0x96,
+ 0x02, 0xed, 0x68, 0x9c, 0x73, 0xa4, 0x58, 0xfd, 0xfa, 0xa3,
+ 0xf9, 0x51, 0x1d, 0x8f, 0xda, 0xf3, 0xd7, 0xf2, 0x2b, 0xfe,
+ 0xdb, 0xbd, 0xb2, 0x85, 0xef, 0xc8, 0xd0, 0x8f, 0x7a, 0xd1,
+ 0x0a, 0x52, 0xe3, 0x47, 0x72, 0xbb, 0x1f, 0x8d, 0x4e, 0x53,
+ 0x0a, 0x36, 0xb9, 0x73, 0xc7, 0x40, 0xf5, 0x95, 0xac, 0x45,
+ 0x03, 0xcc, 0x25, 0x42, 0x78, 0x6c, 0x30, 0x90, 0x7f, 0x0a,
+ 0xec, 0x82, 0xdd, 0x1e, 0xa6, 0x9a, 0x08, 0x65, 0x59, 0x33,
+ 0x83, 0xe3, 0xcd, 0x26, 0xc8, 0xf3, 0x27, 0x52, 0xad, 0xd6,
+ 0xba, 0xd5, 0x7d, 0xc1, 0xae, 0x04, 0x15, 0x4c, 0xd6, 0x67,
+ 0x7d, 0xbe, 0x2f, 0xb2, 0xea, 0x01, 0xdb, 0xd9, 0x98, 0x30,
+ 0x32, 0xe3, 0xa1, 0xce, 0x6b, 0xd2, 0xdf, 0x5f, 0xf6, 0x59,
+ 0x75, 0xe1, 0x8c, 0x8d, 0x4c, 0x18, 0x19, 0x90, 0xb1, 0x67,
+ 0x08, 0x38, 0x4a, 0x03, 0x93, 0x3f, 0xc4, 0x05, 0x31, 0x3b,
+ 0xbd, 0xf0, 0xfa, 0xe9, 0x60, 0x70, 0xb5, 0x8d, 0xe8, 0xe2,
+ 0x4a, 0xd4, 0x5b, 0xe5, 0x66, 0x6f, 0x69, 0xd8, 0xd1, 0x9a,
+ 0x70, 0xd9, 0x6e, 0xc9, 0x62, 0x87, 0x74, 0x79, 0xee, 0x4a,
+ 0xda, 0x4e, 0xac, 0x7e, 0xea, 0xb1, 0x8d, 0x51, 0x65, 0xf8,
+ 0x43, 0xcc, 0x99, 0xe7, 0xe2, 0x97, 0xd9, 0x34, 0xf0, 0xac,
+ 0x41, 0x47, 0xf9, 0x33, 0xf5, 0x8e, 0xfd, 0xfa, 0x58, 0xef,
+ 0xb4, 0xcd, 0x2d, 0x74, 0xc8, 0x54, 0x0d, 0xde, 0xf6, 0xdf,
+ 0xaa, 0xd0, 0x78, 0x4f, 0xea, 0xca, 0x7e, 0xd1, 0xfe, 0x9f,
+ 0x33, 0x51, 0x30, 0xe8, 0xf4, 0x63, 0x74, 0x8f, 0x4f, 0xf2,
+ 0x56, 0x47, 0x50, 0xd5, 0x14, 0x7d, 0x16, 0x91, 0xf8, 0xe2,
+ 0x35, 0xdd, 0x4b, 0x32, 0x34, 0x53, 0xff, 0xa5, 0xe3, 0xf5,
+ 0x48, 0x61, 0xfd, 0x5e, 0x77, 0xb2, 0xf2, 0x64, 0xff, 0xb8,
+ 0x44, 0x89, 0x9f, 0xaf, 0x41, 0x58, 0x81, 0x31, 0xcb, 0x98,
+ 0x28, 0x9c, 0x8e, 0xb3, 0x81, 0x01, 0xb2, 0x08, 0x0e, 0xa8,
+ 0xe4, 0x18, 0x39, 0x09, 0xde, 0xc5, 0xf5, 0x3c, 0xc3, 0x02,
+ 0xc1, 0x02, 0xa7, 0x10, 0x1c, 0x93, 0x0b, 0x30, 0x72, 0x12,
+ 0x7f, 0x49, 0x29, 0x78, 0x45, 0x04, 0xd1, 0x72, 0x33, 0x16,
+ 0xf9, 0xed, 0x40, 0x3a, 0x10, 0x64, 0xc6, 0x6a, 0x1e, 0x69,
+ 0x85, 0xe4, 0x28, 0xd8, 0xa1, 0x0f, 0x9a, 0xc3, 0x52, 0x11,
+ 0xf5, 0xd7, 0x0c, 0xb6, 0x94, 0xcb, 0x23, 0x73, 0xb1, 0x91,
+ 0xcd, 0x02, 0xe2, 0x2a, 0x39, 0x06, 0x9f, 0x93, 0xd6, 0xa0,
+ 0xac, 0x0f, 0x40, 0xe1, 0x9b, 0x47, 0x9f, 0x7d, 0x2c, 0x96,
+ 0x5a, 0x87, 0xf7, 0x3a, 0x64, 0x2a, 0xe7, 0x6f, 0x7b, 0x8e,
+ 0xdd, 0x56, 0x5c, 0xf5, 0xc2, 0x2c, 0xe6, 0xdc, 0xd8, 0xa3,
+ 0xc4, 0xe2, 0x99, 0x15, 0xd5, 0xac, 0x23, 0xe9, 0x80, 0x44,
+ 0x77, 0x5d, 0x5e, 0xcc, 0xf6, 0xad, 0x50, 0x64, 0x3f, 0x3d,
+ 0x57, 0x11, 0x3f, 0xbd, 0x7b, 0xa1, 0xa9, 0xe2, 0xb3, 0x20,
+ 0x5c, 0x1c, 0xeb, 0xcf, 0x8f, 0x50, 0xc7, 0xb9, 0x02, 0x0e,
+ 0xf3, 0x70, 0x54, 0x7f, 0x31, 0x90, 0x9d, 0x7e, 0xbe, 0x3c,
+ 0xdf, 0xab, 0x18, 0x1c, 0x10, 0x70, 0x94, 0x06, 0xe5, 0x7e,
+ 0x4b, 0x0a, 0x62, 0x76, 0xb9, 0x23, 0x37, 0x11, 0xc0, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x46, 0x2d, 0x75,
+ 0x22, 0x3e, 0xbe, 0x9f, 0xce, 0x33, 0xba, 0xef, 0x12, 0x53,
+ 0xb8, 0x8c, 0x60, 0xe3, 0xfe, 0x14, 0x1b, 0xc7, 0x79, 0x3c,
+ 0x8f, 0xf7, 0x10, 0xca, 0xb2, 0x66, 0xc5, 0x05, 0x5a, 0x45,
+ 0x38, 0x6d, 0x30, 0x05, 0x51, 0xb7, 0x85, 0x28, 0x1b, 0x63,
+ 0xce, 0x17, 0x3e, 0x8a, 0x3e, 0xba, 0xe3, 0x99, 0x83, 0x3c,
+ 0x4a, 0x68, 0xf3, 0x23, 0xb4, 0xd1, 0x01, 0xe4, 0xcb, 0xb7,
+ 0x6a, 0xd5, 0x47, 0x67, 0xdc, 0x87, 0x8c, 0xa9, 0x23, 0xb2,
+ 0x13, 0x06, 0x97, 0x24, 0xbd, 0x69, 0x71, 0x94, 0xf2, 0x2a,
+ 0xd4, 0x67, 0xcb, 0x7e, 0x42, 0xbe, 0xf6, 0xf7, 0x0b, 0xc3,
+ 0x09, 0xeb, 0x75, 0x88, 0xd7, 0xca, 0x7c, 0x99, 0xa9, 0x9d,
+ 0xbb, 0x42, 0x49, 0x8f, 0x76, 0x56, 0x39, 0xd3, 0xb7, 0x83,
+ 0x1b, 0x92, 0x1e, 0xab, 0x6a, 0x75, 0xfb, 0x11, 0xd7, 0xe4,
+ 0x0e, 0x31, 0x68, 0xc5, 0x7a, 0xa5, 0xd3, 0x61, 0x39, 0xf9,
+ 0xc7, 0xa3, 0x41, 0xc4, 0xaa, 0x25, 0xa0, 0x35, 0x7d, 0x89,
+ 0xd9, 0x4a, 0x79, 0x15, 0x6a, 0xd2, 0x84, 0x3f, 0x21, 0x5f,
+ 0x7b, 0x9a, 0xe4, 0x80, 0xe5, 0x94, 0x6c, 0xc7, 0x91, 0xf7,
+ 0x20, 0x06, 0xdf, 0xda, 0x47, 0x30, 0x12, 0x42, 0x35, 0x1a,
+ 0x95, 0x4d, 0x93, 0x7f, 0xd5, 0x7e, 0xbf, 0xa9, 0x9e, 0x82,
+ 0xc6, 0x01, 0xd9, 0xda, 0x1d, 0x86, 0x1b, 0xfe, 0x45, 0x18,
+ 0xa8, 0xc0, 0x90, 0x1b, 0x74, 0x83, 0x1d, 0xd8, 0x41, 0xea,
+ 0x2f, 0x65, 0xba, 0x30, 0x9a, 0x40, 0x07, 0x45, 0x06, 0x48,
+ 0xa3, 0xcf, 0x58, 0x05, 0x3b, 0x34, 0x69, 0xdb, 0x77, 0x80,
+ 0x89, 0x39, 0xf8, 0x0b, 0x9d, 0x97, 0x20, 0x1d, 0x08, 0x32,
+ 0x63, 0x35, 0x0f, 0xd5, 0xa3, 0x72, 0x3a, 0xa6, 0xc6, 0x79,
+ 0x2b, 0xc2, 0x28, 0x8b, 0x0a, 0xdf, 0x0b, 0xa9, 0x7c, 0x71,
+ 0xfb, 0x8f, 0x78, 0xab, 0x20, 0x11, 0x6d, 0x86, 0xf6, 0x33,
+ 0xdc, 0xba, 0x14, 0x19, 0x7f, 0x9e, 0x65, 0x95, 0x1d, 0x53,
+ 0x63, 0xdd, 0xf4, 0x61, 0x14, 0xa4, 0x05, 0x8e, 0xe4, 0xb5,
+ 0x3e, 0xd9, 0x9c, 0xa6, 0x8a, 0x30, 0x93, 0x43, 0xe3, 0x36,
+ 0xe8, 0xc5, 0x3a, 0x73, 0x82, 0x17, 0x5e, 0xca, 0xb7, 0x60,
+ 0x97, 0x63, 0xf0, 0x9e, 0x17, 0x57, 0xfc, 0x61, 0x3f, 0xfd,
+ 0x66, 0xa2, 0x60, 0x13, 0x2b, 0xc6, 0xf8, 0xad, 0x0a, 0x21,
+ 0x49, 0xf0, 0xeb, 0x63, 0x4a, 0x8c, 0x95, 0xc2, 0x04, 0x16,
+ 0xaa, 0x99, 0xf9, 0xaa, 0x92, 0x19, 0x63, 0x2e, 0x12, 0x2b,
+ 0xe5, 0xb3, 0xca, 0xdc, 0x8a, 0xa2, 0xa6, 0x97, 0x58, 0x4b,
+ 0xcb, 0x1d, 0x64, 0x7a, 0x60, 0x27, 0x18, 0x56, 0xa5, 0x5f,
+ 0x11, 0xbc, 0x26, 0x96, 0x2c, 0xc4, 0x84, 0xef, 0x32, 0x3d,
+ 0x30, 0xf2, 0x0c, 0x2b, 0xb3, 0xce, 0xe9, 0x5e, 0x13, 0x4b,
+ 0x06, 0x12, 0xd6, 0x90, 0xfc, 0x81, 0x53, 0x73, 0x64, 0x82,
+ 0x01, 0x44, 0xa2, 0x3e, 0x28, 0x24, 0xbc, 0xb2, 0x3a, 0xd9,
+ 0xf3, 0x35, 0x66, 0xa8, 0xf8, 0x6b, 0x8b, 0x36, 0xa5, 0xc7,
+ 0x1c, 0xa7, 0x9c, 0x52, 0xd1, 0xd5, 0xfa, 0xc9, 0xf0, 0xbc,
+ 0x3c, 0x87, 0x3a, 0x70, 0xcb, 0xe5, 0x5f, 0xa4, 0x55, 0x68,
+ 0x3c, 0xc6, 0x75, 0x65, 0x3f, 0x89, 0x7f, 0xae, 0xf8, 0xc9,
+ 0x18, 0x74, 0x7a, 0xd0, 0x7c, 0xb7, 0x05, 0xf1, 0xc5, 0x78,
+ 0x94, 0xd0, 0x25, 0x46, 0xab, 0x61, 0x02, 0x0b, 0x55, 0xad,
+ 0x2a, 0xd6, 0x52, 0x7f, 0xce, 0xbc, 0x63, 0x81, 0x68, 0xa9,
+ 0xb2, 0x8a, 0x4b, 0x60, 0x3b, 0x6f, 0x3b, 0xa1, 0x5e, 0x41,
+ 0x01, 0x1c, 0xd1, 0xc3, 0xa5, 0xe0, 0x54, 0xb7, 0xf2, 0xc5,
+ 0xf7, 0x81, 0x9f, 0x5b, 0xba, 0x9d, 0x84, 0x68, 0x38, 0x64,
+ 0x0e, 0xc6, 0xdb, 0x52, 0x9a, 0xfa, 0x4b, 0xb6, 0xc6, 0x17,
+ 0xe9, 0xb8, 0xca, 0xcc, 0xa1, 0x0b, 0xb9, 0xaf, 0x21, 0x13,
+ 0x05, 0xf2, 0x61, 0x2e, 0x1c, 0x54, 0xfb, 0xe5, 0xde, 0xbf,
+ 0xed, 0xec, 0xaa, 0xb1, 0xbb, 0xab, 0xb0, 0x6d, 0x90, 0xa8,
+ 0xfe, 0xbf, 0xdc, 0xb1, 0xb5, 0x71, 0xb8, 0x10, 0x2e, 0x0e,
+ 0x94, 0x86, 0xa6, 0x28, 0x82, 0xbd, 0x62, 0xed, 0x0d, 0x64,
+ 0x4f, 0xb8, 0x48, 0xac, 0x12, 0x89, 0xae, 0xf6, 0x6d, 0xcd,
+ 0xdd, 0x19, 0x7d, 0xb0, 0x9d, 0xc9, 0xef, 0xa6, 0x6d, 0x98,
+ 0x8a, 0x79, 0xf4, 0x7f, 0x8c, 0xbf, 0x59, 0xa3, 0x21, 0xe7,
+ 0x73, 0x34, 0x23, 0x22, 0x6f, 0x5c, 0x6b, 0xd3, 0xee, 0x58,
+ 0xe0, 0x96, 0x4f, 0x0d, 0xc0, 0x05, 0x3f, 0x28, 0x36, 0x4d,
+ 0xf2, 0x78, 0xdd, 0x2d, 0x20, 0x57, 0xa7, 0xcc, 0x49, 0x0a,
+ 0xf2, 0x9b, 0xb3, 0x52, 0x8e, 0xb0, 0x1e, 0xf6, 0xe6, 0xc9,
+ 0x96, 0x0e, 0x21, 0x54, 0xd2, 0xf5, 0xf7, 0x80, 0x0e, 0x8a,
+ 0x0c, 0x90, 0x85, 0x5d, 0xb0, 0x0a, 0x76, 0x68, 0xd2, 0x75,
+ 0xee, 0xc3, 0x33, 0x99, 0x14, 0x42, 0x92, 0x23, 0x15, 0xc6,
+ 0x94, 0xdb, 0xe9, 0x47, 0x08, 0x2c, 0x97, 0xf1, 0x98, 0x4e,
+ 0xf4, 0x35, 0x52, 0x37, 0x92, 0x5f, 0xc5, 0x7b, 0x85, 0x08,
+ 0xb6, 0x70, 0x6f, 0x9c, 0xa9, 0xd9, 0x13, 0x07, 0x94, 0x6b,
+ 0xb6, 0x09, 0xcc, 0xde, 0xd2, 0x73, 0x61, 0xf7, 0xe0, 0x71,
+ 0x82, 0x08, 0xd9, 0x40, 0x70, 0x09, 0x2c, 0xc0, 0x0b, 0x48,
+ 0x3f, 0xe7, 0xa4, 0x23, 0xd7, 0x10, 0x4d, 0x20, 0xe2, 0xc3,
+ 0x03, 0x24, 0xb0, 0x86, 0x2c, 0xe3, 0xfc, 0x1a, 0xd5, 0x8c,
+ 0xda, 0x40, 0xf4, 0x89, 0x65, 0xc2, 0x72, 0x31, 0x4d, 0x85,
+ 0x82, 0x4b, 0x97, 0x4a, 0x83, 0x6a, 0xfa, 0xd1, 0xf6, 0x87,
+ 0x96, 0xb2, 0x26, 0x4e, 0x7c, 0x15, 0x1f, 0x35, 0x29, 0x76,
+ 0x5c, 0xc1, 0xe2, 0xcd, 0x14, 0x6c, 0xb1, 0xe6, 0x4d, 0x80,
+ 0x29, 0xe9, 0x9b, 0x8a, 0x06, 0x5b, 0x4a, 0x84, 0xf0, 0xd8,
+ 0x7b, 0xa2, 0x4b, 0x59, 0x13, 0x27, 0x3e, 0xeb, 0xee, 0xfb,
+ 0xf5, 0x3b, 0x2e, 0x81, 0x71, 0x87, 0x79, 0xac, 0xb8, 0x29,
+ 0x47, 0x58, 0x0f, 0x7b, 0x73, 0x85, 0x4b, 0x07, 0xf1, 0x2a,
+ 0x69, 0x9b, 0x17, 0x65, 0xda, 0xae, 0x33, 0x21, 0xe1, 0x31,
+ 0xa9, 0xcb, 0xe7, 0x79, 0x1b, 0x9b, 0xe4, 0xca, 0xf0, 0x95,
+ 0x40, 0x22, 0xda, 0xcf, 0x2f, 0x66, 0x7b, 0xb7, 0x28, 0x32,
+ 0xfe, 0xff, 0xca, 0xe9, 0xbf, 0xbb, 0x51, 0x91, 0x8d, 0x94,
+ 0xae, 0x70, 0xca, 0x2a, 0x6a, 0x14, 0xf4, 0xd8, 0x08, 0xb5,
+ 0xcf, 0x28, 0x3b, 0x83, 0x73, 0x2d, 0x9c, 0x46, 0x27, 0xab,
+ 0xc3, 0xfd, 0x71, 0xaf, 0x0d, 0x50, 0x01, 0x07, 0x98, 0x38,
+ 0x2a, 0xde, 0xf9, 0x48, 0xaf, 0x3f, 0x5f, 0x1e, 0x8e, 0xb4,
+ 0x0c, 0x0e, 0xed, 0xc6, 0x23, 0xff, 0x2e, 0xae, 0x3b, 0xc2,
+ 0x7e, 0x39, 0xcc, 0x87, 0xc0, 0x26, 0x56, 0x4f, 0xcc, 0x21,
+ 0x50, 0xcb, 0x0d, 0x8c, 0x54, 0x9e, 0x15, 0xea, 0x22, 0xdf,
+ 0x20, 0xb0, 0x19, 0x42, 0x15, 0x6b, 0x29, 0xde, 0x67, 0x5e,
+ 0xd0, 0xa1, 0x34, 0xb5, 0x59, 0x45, 0xc4, 0x30, 0xfc, 0xd6,
+ 0x27, 0xf5, 0xa5, 0xa4, 0xdf, 0xa3, 0x3c, 0x2f, 0x0f, 0x51,
+ 0xef, 0x1c, 0x42, 0xa8, 0x67, 0x29, 0xa3, 0xef, 0xaa, 0x74,
+ 0x53, 0x2b, 0x43, 0x9c, 0x60, 0x9b, 0xd1, 0xbf, 0x44, 0xb5,
+ 0x98, 0x1d, 0x0b, 0x31, 0x21, 0x4b, 0xed, 0x9e, 0x0c, 0xdd,
+ 0x03, 0x7a, 0x5c, 0xd2, 0xab, 0xf6, 0x74, 0x62, 0x38, 0xa8,
+ 0x35, 0x09, 0x7f, 0xbd, 0x19, 0x1b, 0x97, 0xa1, 0xb5, 0x95,
+ 0xa3, 0xda, 0xe3, 0x93, 0x57, 0x66, 0xcf, 0xb6, 0x21, 0x1a,
+ 0x0e, 0x19, 0xe2, 0xd0, 0x46, 0xf5, 0xc7, 0xdf, 0x62, 0xcc,
+ 0x67, 0xf6, 0xb0, 0xbc, 0xcd, 0x98, 0xd3, 0x07, 0x44, 0x4a,
+ 0x4e, 0x90, 0x9e, 0xec, 0xe1, 0x2f, 0x83, 0x0f, 0x41, 0x78,
+ 0x5a, 0xd7, 0xd5, 0x88, 0xa4, 0x77, 0x60, 0xf9, 0x2a, 0x97,
+ 0xdb, 0x1e, 0x3c, 0xb4, 0x10, 0xe9, 0xd7, 0x43, 0x7b, 0xf8,
+ 0x6e, 0x5d, 0x0a, 0xed, 0xde, 0x4f, 0xd3, 0xab, 0xfd, 0xb6,
+ 0xb7, 0xf9, 0xcb, 0xd0, 0x70, 0xc8, 0x1c, 0x4f, 0x75, 0xa4,
+ 0xf7, 0x37, 0x96, 0xaf, 0xac, 0xc2, 0xae, 0xdf, 0x16, 0x4b,
+ 0x2d, 0xa2, 0x9a, 0x1d, 0x32, 0x15, 0x92, 0xd6, 0xdc, 0x47,
+ 0x95, 0x6d, 0x03, 0xee, 0x43, 0x28, 0xcd, 0xf1, 0xa2, 0x83,
+ 0xd8, 0x9e, 0xbf, 0xb8, 0x33, 0xda, 0x51, 0x74, 0x19, 0x26,
+ 0xdd, 0x9b, 0x5d, 0x6a, 0x86, 0x52, 0x47, 0xb1, 0x65, 0xe1,
+ 0x4a, 0xe8, 0xd2, 0x7b, 0x58, 0x5e, 0x87, 0x4c, 0x88, 0xe2,
+ 0x22, 0x25, 0x27, 0x48, 0x4f, 0x76, 0x91, 0xf6, 0xe1, 0xe2,
+ 0x4c, 0x1c, 0x15, 0x6f, 0x9d, 0x24, 0xb6, 0xfe, 0xce, 0x0f,
+ 0x47, 0x5a, 0x06, 0x07, 0xe4, 0xf9, 0xf1, 0xc4, 0x97, 0x4f,
+ 0x06, 0x8f, 0xe0, 0x3d, 0x2e, 0x69, 0xb4, 0x7b, 0x3a, 0x31,
+ 0xa6, 0xf4, 0x17, 0xac, 0xd1, 0x0b, 0xd8, 0x37, 0x36, 0x58,
+ 0x31, 0xd9, 0xb7, 0x94, 0xa4, 0x2b, 0x2e, 0xca, 0x77, 0x9f,
+ 0x66, 0x42, 0x01, 0x62, 0x91, 0x55, 0x0d, 0xf2, 0x36, 0xf5,
+ 0x0b, 0x57, 0x9e, 0x5c, 0x22, 0xa5, 0xae, 0xb6, 0xc1, 0x2c,
+ 0xa1, 0xf9, 0x84, 0x4c, 0x14, 0x4e, 0x47, 0xb8, 0xb0, 0x96,
+ 0x55, 0x3a, 0xc8, 0xf4, 0xc0, 0x4e, 0x30, 0xac, 0x89, 0xbe,
+ 0x22, 0xbb, 0x4c, 0xef, 0x04, 0x1c, 0x25, 0xe0, 0xa8, 0xfe,
+ 0x62, 0xe3, 0xf9, 0xfc, 0xbf, 0x78, 0x7d, 0x95, 0x30, 0x38,
+ 0xca, 0x33, 0x86, 0x5b, 0xf1, 0x0d, 0x07, 0xed, 0x71, 0x68,
+ 0x23, 0x9b, 0x82, 0x8e, 0x31, 0x66, 0xe0, 0xe5, 0xd4, 0x24,
+ 0x3f, 0xb1, 0x64, 0x6c, 0x19, 0xc1, 0x91, 0x11, 0xc9, 0xee,
+ 0x0a, 0x09, 0x7e, 0xb9, 0xf6, 0x81, 0x91, 0x07, 0xa5, 0x40,
+ 0xb8, 0x38, 0x15, 0x5d, 0xdd, 0xa0, 0x4d, 0xb1, 0x66, 0xf1,
+ 0x28, 0x84, 0xe7, 0x46, 0x2a, 0x4f, 0xeb, 0x75, 0x11, 0x8e,
+ 0x10, 0x58, 0xed, 0x21, 0x50, 0x73, 0x81, 0x1e, 0xf7, 0x45,
+ 0xa4, 0x22, 0x29, 0x6d, 0x18, 0xaf, 0xeb, 0x55, 0x46, 0xe6,
+ 0x49, 0x3c, 0xc7, 0x23, 0xab, 0xda, 0xd2, 0x65, 0xd5, 0x1f,
+ 0x43, 0x62, 0xa8, 0x19, 0xea, 0x78, 0x5b, 0x42, 0xa0, 0x55,
+ 0x1a, 0xdb, 0xa8, 0xff, 0x2a, 0x17, 0x44, 0x7d, 0x40, 0xa3,
+ 0x32, 0x84, 0x99, 0x49, 0x6c, 0x0d, 0x78, 0xe9, 0x6b, 0x17,
+ 0x6a, 0x44, 0xda, 0x16, 0x38, 0xc4, 0x63, 0x92, 0x68, 0xdb,
+ 0xb4, 0x17, 0x88, 0xf8, 0xbd, 0x39, 0xbe, 0xcc, 0xad, 0x3a,
+ 0x48, 0x8f, 0xa5, 0x75, 0xe9, 0xda, 0x06, 0x1f, 0x86, 0x50,
+ 0x59, 0x21, 0x87, 0xc5, 0x73, 0xff, 0xbd, 0xb3, 0x66, 0x77,
+ 0xc5, 0x1e, 0x82, 0xf0, 0xb4, 0x6d, 0x69, 0xd3, 0x8b, 0xee,
+ 0xc0, 0x31, 0x54, 0xed, 0x75, 0x3c,
+ },
+ {
+ /* 8 */
+ 0xd7, 0x48, 0x12, 0xa3, 0xbe, 0x29, 0x25, 0xd9, 0x10, 0xec,
+ 0xae, 0xdf, 0x6a, 0x2d, 0x01, 0xfc, 0x63, 0x44, 0x11, 0xde,
+ 0x60, 0x0e, 0x82, 0x6c, 0x92, 0x7c, 0xf2, 0x2a, 0x20, 0xcb,
+ 0xa0, 0xee, 0x5e, 0x13, 0x74, 0x22, 0x3d, 0x0d, 0xaf, 0x72,
+ 0xfa, 0x27, 0xc7, 0x23, 0xaa, 0xd2, 0x47, 0xdd, 0xaa, 0x8c,
+ 0x23, 0x54, 0x8a, 0x01, 0x1b, 0x0a, 0x99, 0x88, 0x13, 0x07,
+ 0xc7, 0xb6, 0x5d, 0x11, 0xea, 0x1f, 0x77, 0x5f, 0xe3, 0x2a,
+ 0x08, 0xc7, 0x78, 0xb7, 0x9b, 0xd6, 0xe0, 0x34, 0xe6, 0xcf,
+ 0x2a, 0x69, 0x8b, 0x42, 0x58, 0x57, 0x3d, 0x53, 0x98, 0xf6,
+ 0xc0, 0x66, 0x89, 0x71, 0xe8, 0x6e, 0x29, 0x16, 0xe4, 0x73,
+ 0x84, 0x86, 0x44, 0x75, 0x7a, 0x4b, 0xfe, 0x14, 0x7c, 0x79,
+ 0x4f, 0x31, 0x9c, 0x8e, 0xc2, 0xa0, 0xaf, 0xee, 0x75, 0x63,
+ 0xa6, 0xb0, 0x09, 0xcf, 0x65, 0x26, 0x32, 0x16, 0xe1, 0x4a,
+ 0xf3, 0x57, 0x9b, 0xc6, 0x4b, 0xb0, 0x2f, 0xd4, 0xb4, 0x17,
+ 0xc8, 0xbd, 0x6e, 0xfb, 0xa4, 0x58, 0x16, 0x0f, 0x55, 0x5d,
+ 0xd3, 0x17, 0x2b, 0xef, 0x7e, 0x50, 0x33, 0x27, 0xff, 0xc4,
+ 0xeb, 0x8b, 0x52, 0xf1, 0x16, 0x65, 0x9e, 0x64, 0x26, 0xdc,
+ 0x30, 0xf8, 0xb3, 0x8d, 0x3a, 0xfa, 0x68, 0x11, 0x95, 0xd6,
+ 0x18, 0xe2, 0xc1, 0x1b, 0xc5, 0x1f, 0xdd, 0xeb, 0x08, 0x42,
+ 0x28, 0xda, 0x9d, 0x1a, 0xe7, 0x0e, 0x5a, 0xa1, 0xe3, 0xc0,
+ 0xf8, 0xdb, 0xa2, 0xe1, 0x36, 0x9f, 0xee, 0x23, 0xae, 0x99,
+ 0xb7, 0xa9, 0xd8, 0xfe, 0x06, 0xc3, 0x22, 0xe7, 0xfa, 0xbf,
+ 0x48, 0x17, 0xab, 0xc5, 0x28, 0x82, 0xc1, 0xdd, 0x71, 0xc9,
+ 0xd2, 0xd6, 0x24, 0x20, 0x55, 0x3a, 0x2f, 0xc0, 0x93, 0x04,
+ 0xb7, 0x73, 0x6c, 0x4c, 0x02, 0xf6, 0xde, 0x93, 0x60, 0x2d,
+ 0x62, 0x87, 0xbf, 0xee, 0x06, 0x4d, 0x55, 0x46, 0xf0, 0x2a,
+ 0x45, 0xe1, 0xec, 0x05, 0xad, 0x44, 0xe8, 0xe2, 0x82, 0x5b,
+ 0xcf, 0xe9, 0xd0, 0x22, 0xe9, 0x6f, 0x30, 0x07, 0x41, 0x36,
+ 0x49, 0x3e, 0x79, 0x15, 0x10, 0x84, 0x50, 0x77, 0xaf, 0x0d,
+ 0x92, 0x07, 0x2d, 0xb1, 0x90, 0x60, 0x7c, 0x8c, 0x51, 0x91,
+ 0x1b, 0xae, 0x77, 0xf0, 0x62, 0xd0, 0x34, 0x70, 0x95, 0x41,
+ 0x14, 0xcf, 0xcc, 0x17, 0x59, 0x04, 0x73, 0x72, 0x7c, 0xdb,
+ 0xf7, 0xe0, 0x38, 0x47, 0x6b, 0xdd, 0xcd, 0x5e, 0x81, 0x12,
+ 0xea, 0x56, 0x98, 0x6c, 0xbd, 0x93, 0xef, 0x9e, 0xc6, 0x0c,
+ 0x44, 0x9a, 0x83, 0xad, 0x9d, 0xb3, 0xd9, 0x40, 0x3c, 0x2c,
+ 0xcc, 0x2e, 0xb3, 0x66, 0xf8, 0xb1, 0x50, 0x09, 0xc3, 0x5a,
+ 0xdb, 0x42, 0x8b, 0x3f, 0x30, 0x4f, 0xf0, 0x99, 0x2e, 0x7c,
+ 0x1f, 0xbf, 0x0a, 0xa8, 0x20, 0x9a, 0x23, 0x99, 0x29, 0xde,
+ 0x06, 0xd0, 0x1e, 0xba, 0x96, 0x4f, 0x63, 0x06, 0x22, 0x4d,
+ 0xa0, 0xb7, 0xaf, 0xb8, 0x8d, 0x20, 0x1e, 0x16, 0x66, 0x17,
+ 0x1f, 0x14, 0x05, 0x87, 0xa1, 0x69, 0x2a, 0x1c, 0x45, 0x73,
+ 0xe4, 0xdc, 0xde, 0xe9, 0x20, 0x36, 0xa5, 0xcc, 0x33, 0xa1,
+ 0xa0, 0x12, 0x45, 0xb4, 0x75, 0x84, 0xd5, 0x7e, 0x60, 0x9e,
+ 0x23, 0xf1, 0x24, 0xbd, 0xbe, 0x19, 0x87, 0x0b, 0xf5, 0x4e,
+ 0x2a, 0x91, 0xad, 0x31, 0x7d, 0xe0, 0x4a, 0xbb, 0x88, 0xcf,
+ 0x43, 0x2f, 0x76, 0x6b, 0x1c, 0x08, 0xb4, 0xa0, 0xc2, 0xd2,
+ 0x93, 0x46, 0x9a, 0x14, 0xfe, 0x5e, 0xf6, 0xd0, 0x3a, 0xaf,
+ 0x61, 0xac, 0x6a, 0xa7, 0x50, 0xcb, 0x16, 0x54, 0x4e, 0xcd,
+ 0x03, 0x7f, 0x6f, 0x31, 0xdc, 0xd1, 0x79, 0x26, 0xe2, 0xbd,
+ 0x3e, 0x72, 0xf5, 0x08, 0xa7, 0x5f, 0x86, 0x1b, 0x76, 0x74,
+ 0xa9, 0x37, 0xd4, 0x15, 0x06, 0xc7, 0xaf, 0x85, 0x67, 0xd7,
+ 0x38, 0xc1, 0xf5, 0x0b, 0x72, 0xd8, 0x42, 0x43, 0x22, 0xdb,
+ 0x3d, 0xc4, 0x7f, 0x0a, 0x3e, 0xdd, 0xc6, 0xf9, 0xf0, 0x8a,
+ 0xc3, 0x8b, 0xe5, 0xf3, 0xa9, 0xb1, 0xd8, 0xc0, 0x3d, 0x9c,
+ 0xe2, 0xc5, 0xec, 0x18, 0x64, 0x2e, 0xea, 0x12, 0xee, 0x20,
+ 0xe6, 0x83, 0xcb, 0xae, 0x25, 0xe0, 0x5a, 0x62, 0xf1, 0x65,
+ 0x21, 0x3c, 0x0f, 0x4a, 0x20, 0xbb, 0x7e, 0x24, 0xcf, 0x95,
+ 0xef, 0xa7, 0xa1, 0xf8, 0x60, 0x5a, 0x1b, 0x01, 0x91, 0x7a,
+ 0xf3, 0x96, 0x37, 0xd5, 0xfe, 0x1c, 0x0d, 0x64, 0x51, 0x48,
+ 0xd6, 0xe2, 0x1d, 0xff, 0x4f, 0x18, 0x88, 0xf7, 0xc5, 0x99,
+ 0xf9, 0xa5, 0x71, 0x80, 0x78, 0x58, 0x5b, 0x5c, 0x69, 0x85,
+ 0xb0, 0x78, 0xed, 0xad, 0x57, 0xb8, 0x9b, 0x74, 0x76, 0xc5,
+ 0x5b, 0xfb, 0xf4, 0xef, 0x89, 0x5b, 0x66, 0x81, 0x83, 0x24,
+ 0x8a, 0xab, 0xea, 0xcb, 0x69, 0xfc, 0xc0, 0xff, 0x46, 0x21,
+ 0x43, 0xec, 0x3b, 0x3a, 0xb5, 0xfa, 0x6a, 0xeb, 0x03, 0x82,
+ 0xb6, 0xa3, 0xd2, 0x8a, 0x1c, 0x81, 0xd8, 0x08, 0x02, 0x56,
+ 0x94, 0x3a, 0x7b, 0x67, 0xfc, 0xe0, 0x68, 0xa6, 0xcd, 0x05,
+ 0x7f, 0x1c, 0x5b, 0x92, 0xc5, 0x71, 0x9a, 0xbd, 0x24, 0x18,
+ 0x1f, 0x23, 0x85, 0xb5, 0x76, 0xca, 0x6d, 0x3c, 0xd1, 0xb6,
+ 0xcc, 0xc1, 0xc5, 0x48, 0xd7, 0x95, 0x17, 0x55, 0xd2, 0x3b,
+ 0x43, 0x3d, 0x8c, 0x42, 0x07, 0x6a, 0xfb, 0xcc, 0x8e, 0x2e,
+ 0x64, 0xef, 0x59, 0xd2, 0xd7, 0xca, 0x7a, 0xa9, 0x51, 0x8b,
+ 0x0a, 0xc1, 0xa1, 0xa6, 0x8d, 0xa3, 0xd5, 0xd4, 0x09, 0x08,
+ 0x84, 0xef, 0x7b, 0x30, 0x54, 0x01, 0x25, 0x29, 0x9b, 0xb7,
+ 0x72, 0x44, 0x63, 0xed, 0x74, 0xfa, 0x06, 0x1f, 0x2e, 0x59,
+ 0x96, 0x8e, 0xa3, 0x32, 0xed, 0xc3, 0xdb, 0x73, 0xb7, 0xf8,
+ 0x72, 0x3d, 0xa9, 0x9a, 0x49, 0x8e, 0xae, 0x4f, 0x22, 0x43,
+ 0x60, 0x7b, 0xfc, 0x6a, 0x07, 0x02, 0x2d, 0x28, 0xd1, 0xd5,
+ 0x54, 0xf0, 0xc7, 0x05, 0x61, 0xaf, 0x5b, 0x41, 0x49, 0x90,
+ 0x6d, 0xe9, 0x2e, 0xaa, 0x67, 0x76, 0x86, 0x7a, 0xdb, 0x84,
+ 0x14, 0x41, 0x81, 0x8f, 0xd9, 0x85, 0x69, 0x6b, 0x12, 0x10,
+ 0xcb, 0x1d, 0xf6, 0x60, 0xa8, 0x02, 0xa6, 0xb3, 0x5c, 0x90,
+ 0x7c, 0xc3, 0x3c, 0x92, 0x97, 0x39, 0xeb, 0x0c, 0x95, 0x96,
+ 0x84, 0xae, 0x11, 0xc0, 0x30, 0xdc, 0x7e, 0x35, 0xe2, 0x01,
+ 0xf7, 0x14, 0x89, 0x8b, 0x2a, 0x78, 0x82, 0xe3, 0x02, 0xeb,
+ 0x4a, 0x9f, 0x29, 0x9e, 0xef, 0x85, 0xbc, 0xd6, 0x95, 0x5c,
+ 0xa6, 0xb1, 0x7b, 0x6a, 0x2f, 0xe8, 0x3a, 0x11, 0xff, 0xe7,
+ 0xb6, 0x39, 0x7d, 0xf2, 0x82, 0xf0, 0x55, 0x69, 0xc2, 0x8f,
+ 0xca, 0xb7, 0x5d, 0xbb, 0x36, 0xde, 0xe0, 0x40, 0xe9, 0x49,
+ 0xdf, 0x5f, 0x12, 0x75, 0x5a, 0xa0, 0x3c, 0xc3, 0x40, 0x52,
+ 0xa8, 0x4c, 0xbb, 0xbd, 0x36, 0x30, 0x9e, 0x27, 0xd9, 0xa0,
+ 0x3b, 0x06, 0x4e, 0x47, 0x61, 0x50, 0xb6, 0x77, 0xdb, 0xd0,
+ 0x53, 0x58, 0xe5, 0x86, 0xd3, 0x13, 0x19, 0x0b, 0x7d, 0xc4,
+ 0x31, 0xf7, 0x34, 0x28, 0x3e, 0xd3, 0x89, 0x64, 0xbd, 0xd8,
+ 0xad, 0x9b, 0x5c, 0xed, 0xb9, 0xa7, 0x59, 0x17, 0xdd, 0xaa,
+ 0x16, 0x8e, 0xd2, 0x4a, 0x0f, 0xd0, 0x4b, 0x7f, 0xa4, 0x98,
+ 0x80, 0xe5, 0xa8, 0x16, 0xd2, 0x56, 0x26, 0x59, 0x01, 0x7e,
+ 0xd3, 0x61, 0x4e, 0xc7, 0xb5, 0x7f, 0x04, 0x15, 0x94, 0xfd,
+ 0x52, 0xff, 0x1d, 0xc9, 0xbb, 0x6f, 0xe9, 0xb8, 0x8f, 0xa1,
+ 0xf6, 0xd4, 0x32, 0x17, 0x75, 0x09, 0x77, 0x10, 0x73, 0xa0,
+ 0x84, 0x57, 0xf3, 0x70, 0x2d, 0x31, 0x99, 0xd3, 0xc6, 0x88,
+ 0x22, 0x7f, 0xc0, 0x1c, 0xc7, 0xd8, 0xe7, 0xf8, 0x27, 0x54,
+ 0x40, 0x55, 0x83, 0x1f, 0x41, 0x07, 0x71, 0xa5, 0x9c, 0x64,
+ 0x85, 0x6e, 0xbf, 0x54, 0x23, 0xff, 0x74, 0x3b, 0x67, 0xeb,
+ 0x0b, 0x55, 0x84, 0x08, 0x78, 0xec, 0x43, 0x77, 0x57, 0x63,
+ 0x2f, 0xc1, 0x28, 0x89, 0x88, 0x34, 0xfb, 0xdf, 0x47, 0x83,
+ 0x9d, 0x1f, 0xea, 0xc6, 0x8f, 0xa3, 0x12, 0x5d, 0xca, 0x4c,
+ 0x64, 0x2c, 0x6f, 0x7b, 0x6e, 0x1a, 0x96, 0xcc, 0xa5, 0xf4,
+ 0x9c, 0xcd, 0x0a, 0x21, 0x72, 0xeb, 0x79, 0x51, 0x4b, 0xc6,
+ 0xd0, 0x03, 0x11, 0xc7, 0x50, 0xba, 0xb6, 0x5c, 0xa7, 0x10,
+ 0x0f, 0x0b, 0x33, 0xea, 0xdc, 0x1d, 0x96, 0xab, 0xc6, 0xc5,
+ 0x66, 0xae, 0x47, 0x8f, 0x81, 0x1e, 0x42, 0xa4, 0x89, 0xc8,
+ 0x95, 0x30, 0x0c, 0x37, 0xfe, 0x9c, 0xd9, 0x91, 0x4d, 0x05,
+ 0xb3, 0x52, 0xeb, 0x1e, 0xc1, 0x48, 0x84, 0xf0, 0x3c, 0xeb,
+ 0x80, 0xa9, 0x3b, 0x90, 0xba, 0x11, 0x3a, 0xd9, 0xc1, 0x66,
+ 0x43, 0xab, 0xbb, 0x4c, 0x13, 0x88, 0xf4, 0x34, 0xf9, 0x0b,
+ 0x6e, 0x9c, 0x9a, 0x8c, 0xed, 0xce, 0xdf, 0xf2, 0xc7, 0x1c,
+ 0x07, 0xd1, 0x35, 0x53, 0x51, 0x7b, 0xb9, 0x93, 0x8c, 0x7a,
+ 0x13, 0xec, 0x5f, 0x2a, 0x16, 0xaa, 0xcb, 0x10, 0xf0, 0x1b,
+ 0x86, 0xee, 0xae, 0xc6, 0x5e, 0x41, 0x50, 0xd1, 0xd3, 0x68,
+ 0xde, 0xf6, 0xdc, 0x34, 0xef, 0x5b, 0x89, 0x2b, 0xfb, 0x59,
+ 0x14, 0x42, 0xe4, 0x15, 0xf2, 0xa2, 0xdd, 0x89, 0xb3, 0x05,
+ 0x33, 0x8a, 0xf0, 0x0d, 0x19, 0xe4, 0x2a, 0x30, 0x11, 0x1d,
+ 0x55, 0xfd, 0x67, 0x51, 0x85, 0x23, 0x32, 0xf1, 0x9f, 0xa5,
+ 0x29, 0x13, 0x1b, 0x92, 0xaf, 0x6a, 0x56, 0x3a, 0xe0, 0xde,
+ 0xd6, 0xf9, 0x6e, 0x89, 0xdd, 0x13, 0x71, 0xbf, 0x1f, 0x39,
+ 0x9b, 0x04, 0xb2, 0xce, 0xf4, 0x9f, 0x57, 0x76, 0xb7, 0x0c,
+ 0xb4, 0x78, 0x63, 0xaf, 0xd4, 0x24, 0x6d, 0x64, 0x1a, 0xcc,
+ 0x48, 0xb9, 0xbf, 0x32, 0xcd, 0x16, 0x29, 0x9c, 0x54, 0xe1,
+ 0x99, 0x62, 0xfa, 0x03, 0x94, 0xb5, 0xe6, 0x20, 0x08, 0x9b,
+ 0x15, 0xe8, 0x2f, 0x5f, 0x76, 0x06, 0x63, 0xdd, 0xb2, 0x14,
+ 0x3f, 0x70, 0x6c, 0x04, 0x01, 0x2b, 0x4a, 0x1d, 0xdc, 0xd2,
+ 0x7e, 0x70, 0x34, 0x53, 0x87, 0xe3, 0xde, 0x0e, 0x59, 0x79,
+ 0x8f, 0xee, 0xb3, 0x23, 0xcb, 0x9d, 0xa3, 0xf5, 0x10, 0xe9,
+ 0xd0, 0x7b, 0x16, 0x56, 0x50, 0xc7, 0x41, 0x79, 0xe2, 0x51,
+ 0x67, 0x6f, 0x48, 0x40, 0xaa, 0x74, 0x5e, 0x43, 0xe5, 0x08,
+ 0x78, 0x45, 0x80, 0xa4, 0x93, 0x98, 0xb5, 0xb9, 0x6c, 0x60,
+ 0xff, 0x4e, 0x71, 0x83, 0x76, 0x0c, 0xda, 0xe3, 0x48, 0xc9,
+ 0xbd, 0xa4, 0x94, 0xe2, 0x40, 0x36, 0xfd, 0xfa, 0x6b, 0xb4,
+ 0x04, 0x76, 0xb4, 0x0c, 0x03, 0x7d, 0xde, 0x27, 0xa7, 0xb5,
+ 0x82, 0x90, 0x5c, 0xf5, 0x4a, 0xe6, 0xa1, 0x12, 0x0c, 0x3f,
+ 0x7f, 0xc4, 0xf6, 0xc2, 0x27, 0x98, 0x0e, 0xb1, 0xf8, 0x0b,
+ 0x52, 0x20, 0xd9, 0xbf, 0xf2, 0x61, 0x89, 0x14, 0xcc, 0x6d,
+ 0x46, 0x34, 0x64, 0x16, 0xa8, 0xc0, 0x44, 0x74, 0x97, 0x72,
+ 0xbe, 0xcd, 0xa2, 0xdb, 0x53, 0x84, 0x72, 0x61, 0x8b, 0x98,
+ 0xd8, 0x1a, 0x31, 0xd6, 0xf5, 0x13, 0xf3, 0xf5, 0xac, 0xba,
+ 0x39, 0x22, 0xd0, 0x97, 0x3a, 0x7d, 0x03, 0xee, 0x17, 0xcd,
+ 0x4b, 0x47, 0x91, 0x25, 0x98, 0xca, 0xac, 0x63, 0xc4, 0x58,
+ 0xf6, 0x6a, 0x5a, 0xea, 0x64, 0xbf, 0x37, 0x9c, 0x5c, 0xf8,
+ 0x3e, 0xbd, 0x14, 0x93, 0x40, 0xf7, 0x46, 0xf1, 0x52, 0x7f,
+ 0x0c, 0x63, 0x3c, 0xb7, 0x17, 0x3e, 0xee, 0xbe, 0x05, 0x54,
+ 0x10, 0x4d, 0xf0, 0xad, 0xf5, 0x6f, 0x03, 0x68, 0x0f, 0x5d,
+ 0x7f, 0x2f, 0x7b, 0x68, 0x1d, 0xb6, 0xd1, 0x56, 0x35, 0xb2,
+ 0x28, 0x84, 0x0b, 0x2a, 0x27, 0x87, 0x82, 0x0e, 0xe2, 0x89,
+ 0xfb, 0xc8, 0xc9, 0xdc, 0xbd, 0xa8, 0x46, 0x3d, 0xe8, 0x76,
+ 0xce, 0x15, 0xc0, 0x76, 0xfc, 0x1d, 0xbb, 0x7d, 0x35, 0x94,
+ 0xe0, 0x41, 0x5b, 0xb0, 0x69, 0x45, 0x0e, 0xa1, 0xd5, 0xa3,
+ 0x58, 0x3c, 0x97, 0xb7, 0xca, 0x5c, 0xac, 0x3a, 0x3b, 0x83,
+ 0xcc, 0x9c, 0x7a, 0x96, 0xd9, 0x9c, 0x27, 0xf8, 0x61, 0x75,
+ 0xed, 0xc4, 0xa2, 0x8b, 0xc3, 0x88, 0x9e, 0xbc, 0xa3, 0x29,
+ 0xa0, 0x4d, 0x82, 0xf2, 0x07, 0xa2, 0xce, 0xde, 0x90, 0x80,
+ 0x97, 0xe8, 0xbc, 0x86, 0x09, 0x10, 0xa8, 0x67, 0x69, 0xcb,
+ 0xa3, 0x9f, 0xf4, 0x8f, 0x25, 0x5e, 0x86, 0x5b, 0x61, 0x07,
+ 0x26, 0x7b, 0xad, 0xe6, 0xd8, 0x98, 0x04, 0x2f, 0x7f, 0xe5,
+ 0xc0, 0x5a, 0xc4, 0xcd, 0xbd, 0x1f, 0x0c, 0x9a, 0xba, 0xd8,
+ 0x36, 0x26, 0x01, 0x7b, 0x6f, 0xa8, 0x30, 0xf7, 0x31, 0xa2,
+ 0xbe, 0x77, 0x03, 0xc7, 0xb1, 0x8d, 0xb2, 0x2e, 0x79, 0x97,
+ 0x2c, 0xdf, 0x67, 0x94, 0x1e, 0x63, 0x96, 0xfe, 0x8b, 0xf3,
+ 0xe3, 0xa1, 0xb9, 0xc8, 0xb2, 0x58, 0xa4, 0x35, 0x93, 0x02,
+ 0x21, 0x4b, 0x6e, 0x0c, 0x15, 0x91, 0xb6, 0xe7, 0x49, 0xe2,
+ 0xf7, 0xb9, 0x48, 0x30, 0x3e, 0x46, 0xc9, 0xa9, 0xec, 0x57,
+ 0xda, 0x78, 0x20, 0xa8, 0x2a, 0xe4, 0xd5, 0xf4, 0xe8, 0x87,
+ 0x91, 0xfe, 0x44, 0x89, 0xf2, 0x41, 0xbc, 0x6f, 0x9b, 0xe4,
+ 0x39, 0x6c, 0x21, 0xc0, 0x11, 0x8c, 0xff, 0x62, 0xde, 0x05,
+ 0x1f, 0x8f, 0x63, 0x9d, 0x85, 0x64, 0x19, 0x45, 0x75, 0xe6,
+ 0xad, 0x33, 0xe4, 0x7a, 0x91, 0xf7, 0x92, 0xdf, 0x9f, 0x9e,
+ 0x7e, 0xbb, 0x5e, 0xc6, 0xe8, 0xf9, 0x47, 0xf5, 0x6b, 0xd9,
+ 0x83, 0xaa, 0x58, 0x93, 0xfb, 0xb2, 0x60, 0x3b, 0x7e, 0xef,
+ 0xbc, 0xdf, 0xfb, 0x4a, 0x70, 0xc1, 0xcc, 0x58, 0xd5, 0xc3,
+ 0x07, 0xb1, 0x37, 0x96, 0xc4, 0x5a, 0xd0, 0xa0, 0xf8, 0xca,
+ 0x61, 0x53, 0xb1, 0xe6, 0xf1, 0x29, 0xb3, 0x32, 0xc4, 0x63,
+ 0x68, 0xe0, 0xe9, 0x82, 0x28, 0x5d, 0x5b, 0x2e, 0xb2, 0x08,
+ 0xe6, 0xe4, 0xf8, 0x75, 0xfa, 0x4b, 0x62, 0x2d, 0x68, 0x50,
+ 0x7c, 0x65, 0xd1, 0xc8, 0xb9, 0x73, 0x99, 0xf5, 0xb8, 0x19,
+ 0x51, 0x53, 0x64, 0xd7, 0x17, 0x1e, 0xf1, 0xcc, 0x16, 0x2b,
+ 0x01, 0x5a, 0x0d, 0xfa, 0x39, 0x3d, 0xc9, 0xc8, 0x32, 0x8a,
+ 0xea, 0x0f, 0x99, 0x66, 0x0b, 0xf4, 0xe1, 0x2d, 0xe7, 0x7d,
+ 0xfd, 0xff, 0x01, 0x94, 0x25, 0xae, 0xf5, 0x4f, 0x96, 0xa3,
+ 0x5e, 0x6b, 0xab, 0x2e, 0x53, 0xb9, 0xdc, 0x35, 0x0d, 0xab,
+ 0x5a, 0x6a, 0x03, 0x8d, 0xb1, 0x3b, 0x50, 0xda, 0x53, 0x25,
+ 0x01, 0x99, 0x05, 0x8a, 0x8a, 0x24, 0x09, 0xb0, 0x5f, 0xf5,
+ 0xf3, 0x8d, 0x08, 0x76, 0x57, 0x8e, 0x35, 0xf7, 0xe1, 0x7e,
+ 0x34, 0xe9, 0xab, 0x6b, 0x0c, 0x71, 0x81, 0xec, 0x83, 0xee,
+ 0x8f, 0x94, 0x04, 0x21, 0x14, 0x6d, 0x4d, 0x38, 0x0e, 0x61,
+ 0x6a, 0xa6, 0xa2, 0xf6, 0xb1, 0xe5, 0xdb, 0xf4, 0x26, 0x1b,
+ 0xbe, 0x54, 0xb0, 0x19, 0x97, 0x80, 0x8c, 0xd8, 0xba, 0x7c,
+ 0x39, 0xff, 0xb5, 0x4d, 0xc5, 0x47, 0x57, 0xc6, 0x49, 0x2d,
+ 0x9a, 0x9c, 0x38, 0x59, 0xbf, 0x3f, 0x0a, 0x8a, 0x32, 0x4c,
+ 0xa9, 0xba, 0x48, 0x80, 0x92, 0x5a, 0xf7, 0xfb, 0x70, 0xb2,
+ 0xbd, 0x7e, 0x14, 0xd7, 0x64, 0x98, 0x91, 0xb7, 0x90, 0xc3,
+ 0x18, 0x7e, 0xfe, 0x4b, 0x2f, 0x47, 0x4e, 0xf3, 0x1c, 0xa1,
+ 0x33, 0x16, 0xa4, 0x40, 0x71, 0xbd, 0x72, 0x84, 0x21, 0x02,
+ 0x1e, 0x3b, 0x60, 0x6d, 0x65, 0x68, 0x7b, 0xa1, 0x0a, 0xb3,
+ 0x22, 0x0d, 0x53, 0xb8, 0x2e, 0x48, 0x3e, 0x80, 0x1e, 0x49,
+ 0xaa, 0xfd, 0x94, 0x06, 0xab, 0x4b, 0x42, 0x57, 0x4a, 0x52,
+ 0xf5, 0xad, 0xe4, 0x88, 0xc6, 0x19, 0xe8, 0x37, 0x0c, 0x3e,
+ 0x5c, 0xb2, 0xef, 0xdf, 0x8d, 0x4e, 0xf2, 0x7c, 0xd1, 0xdb,
+ 0x97, 0x62, 0x51, 0xa4, 0x80, 0x44, 0x4f, 0x5e, 0xb0, 0xf5,
+ 0xab, 0x18, 0x06, 0xfa, 0x7f, 0x4e, 0x8d, 0xa9, 0xc7, 0xe3,
+ 0xb8, 0x29, 0x94, 0x0f, 0x81, 0x24, 0x90, 0xb1, 0xbd, 0x64,
+ 0x59, 0x2c, 0x52, 0xfb, 0xa8, 0x01, 0xf1, 0xc4, 0x37, 0x06,
+ 0xeb, 0xa9, 0x4f, 0xd3, 0x44, 0xfe, 0x43, 0x38, 0x4d, 0x73,
+ 0x0d, 0x33, 0x4e, 0xa8, 0x80, 0xaa, 0xc5, 0x3e, 0x9a, 0x70,
+ 0x1c, 0xc2, 0xd4, 0x8f, 0x87, 0x2f, 0xa1, 0x09, 0x75, 0x2b,
+ 0x4c, 0x36, 0xbf, 0xa8, 0xdb, 0x77, 0x6d, 0x67, 0x48, 0xeb,
+ 0x02, 0x41, 0x1e, 0x5d, 0x56, 0xd4, 0x38, 0x0d, 0xd8, 0x43,
+ 0xd6, 0xdc, 0x37, 0x0d, 0x4b, 0x66, 0xb3, 0x7a, 0x4e, 0x87,
+ 0x05, 0xf1, 0x39, 0x94, 0xdd, 0xc9, 0x1a, 0x95, 0xb4, 0xd4,
+ 0x06, 0xd9, 0xa1, 0x76, 0xa0, 0x77, 0xa6, 0x4a, 0x02, 0xf1,
+ 0x0a, 0xd7, 0xbc, 0x26, 0xe8, 0x44, 0x7a, 0x1a, 0x9d, 0xe4,
+ 0x37, 0x4e, 0x4d, 0x46, 0x97, 0x67, 0x8e, 0x79, 0x10, 0x54,
+ 0x15, 0x72, 0x8b, 0x7a, 0x74, 0xa2, 0xa9, 0x7f, 0x22, 0xa5,
+ 0x79, 0xc1, 0x5e, 0xd6, 0x93, 0xce, 0xd2, 0x55, 0x85, 0xfd,
+ 0x2b, 0xdd, 0x4a, 0xbc, 0xcf, 0xb6, 0xc2, 0x0e, 0x4c, 0xf6,
+ 0x9e, 0x65, 0x88, 0x3f, 0x86, 0x70, 0x9a, 0xe6, 0x1a, 0x66,
+ 0x9c, 0x93, 0xc3, 0x97, 0x49, 0x7c, 0x97, 0xdb, 0x46, 0xa8,
+ 0xd7, 0x02, 0x36, 0x14, 0xf1, 0xd3, 0x26, 0x0e, 0x4d, 0xaf,
+ 0xba, 0x22, 0x30, 0xfc, 0x3f, 0x96, 0x5e, 0x8e, 0x9c, 0x25,
+ 0x38, 0x81, 0x66, 0x2c, 0x8b, 0x80, 0xe2, 0xb9, 0x1e, 0x80,
+ 0x20, 0x29, 0x54, 0x26, 0xbc, 0xbf, 0x1b, 0x18, 0x4f, 0xf2,
+ 0x8d, 0x50, 0xfc, 0x03, 0x0f, 0x40, 0x10, 0xf5, 0x2a, 0x13,
+ 0x5e, 0xbe, 0xec, 0x0c, 0xc6, 0x79, 0xa7, 0x28, 0x7e, 0xe0,
+ 0x66, 0xc5, 0xa0, 0x8d, 0xc7, 0xbe, 0x09, 0x06, 0x77, 0x78,
+ 0xb0, 0xbc, 0xfc, 0xd3, 0x8a, 0x0f, 0x77, 0x05, 0x90, 0x51,
+ 0xb9, 0x8b, 0xeb, 0x07, 0x80, 0x6c, 0x39, 0x37, 0xd6, 0xab,
+ 0x08, 0xec, 0x40, 0x93, 0x54, 0x0b, 0x69, 0x2b, 0x13, 0xcd,
+ 0xe1, 0x3f, 0x88, 0xd1, 0x27, 0x82, 0xbb, 0xde, 0xa2, 0xa6,
+ 0xc8, 0x6d, 0x2e, 0x3c, 0x21, 0x5b, 0x2c, 0x56, 0x02, 0xb4,
+ 0x1a, 0x37, 0x72, 0x7a, 0xc1, 0xe2, 0xd9, 0xb3, 0x4e, 0x32,
+ 0xa3, 0x37, 0xbe, 0x2a, 0xf0, 0x9e, 0x3a, 0xfc, 0xd2, 0x94,
+ 0x6a, 0xfa, 0xdf, 0x49, 0x31, 0x7c, 0x2e, 0x9e, 0x79, 0xc9,
+ 0x48, 0xb7, 0xae, 0xf3, 0x53, 0xb0, 0x12, 0xbf, 0x5f, 0xed,
+ 0xa2, 0xe4, 0x9b, 0x27, 0x15, 0xa9, 0xb7, 0xf9, 0xdf, 0x70,
+ 0x25, 0xbc, 0x54, 0xd2, 0xd5, 0x84, 0xb0, 0xae, 0x7a, 0xa6,
+ 0xf3, 0x2f, 0x43, 0xcc, 0xd1, 0xe2, 0x13, 0xdc, 0x5f, 0x87,
+ 0x51, 0x8c, 0xc8, 0x42, 0x39, 0xd1, 0xa4, 0x4c, 0x6c, 0x0d,
+ 0xf9, 0x6b, 0x9b, 0xe8, 0xd3, 0x5d, 0x86, 0x5e, 0xec, 0xd6,
+ 0x38, 0x10, 0xab, 0x83, 0x47, 0x67, 0xe5, 0x8c, 0xf7, 0x28,
+ 0x65, 0xba, 0xcf, 0xbc, 0x1b, 0x6f, 0x70, 0x20, 0x95, 0xc5,
+ 0x8e, 0xce, 0x09, 0xdb, 0x2d, 0x50, 0xa9, 0xf3, 0x4c, 0x65,
+ 0x56, 0xd0, 0x62, 0x2c, 0x7b, 0x35, 0x2d, 0x75, 0x32, 0xbe,
+ 0xfa, 0x4e, 0x3d, 0x57, 0x65, 0xfc, 0x5d, 0x03, 0x2d, 0x1e,
+ 0x68, 0x5b, 0x35, 0x09, 0x8a, 0x19, 0xe7, 0x33, 0x44, 0x86,
+ 0xc0, 0xf6, 0x3b, 0xd4, 0x0e, 0x04, 0x5a, 0x50, 0x61, 0x69,
+ 0xa8, 0x23, 0x4d, 0x0a, 0x81, 0x71, 0x8d, 0xb8, 0x27, 0x19,
+ 0xb0, 0xfa, 0x5f, 0x15, 0x78, 0x4f, 0x1d, 0x7e, 0x69, 0x4a,
+ 0xfc, 0xb5, 0xbc, 0x4f, 0x13, 0x31, 0x8e, 0x29, 0xd6, 0x71,
+ 0xc5, 0x97, 0xb0, 0xe5, 0x35, 0xa7, 0xdf, 0x62, 0xf9, 0x9a,
+ 0x1a, 0x14, 0x1f, 0x88, 0xa5, 0x32, 0xbf, 0x6c, 0xb7, 0xac,
+ 0x2e, 0x97, 0x46, 0x6d, 0x8a, 0x69, 0x12, 0x4a, 0xe1, 0x81,
+ 0xe6, 0x86, 0xf4, 0x35, 0x0e, 0x92, 0x36, 0x60, 0xf8, 0xa0,
+ 0x28, 0xb2, 0x41, 0xce, 0x93, 0xe0, 0x6d, 0x1e, 0x2c, 0x2f,
+ 0x3f, 0x44, 0xc3, 0x73, 0xcc, 0x49, 0x83, 0xd9, 0x4d, 0xbf,
+ 0x12, 0x0c, 0xee, 0xf0, 0xa3, 0xbb, 0x3b, 0x65, 0xd7, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x2c, 0x0b, 0xe6,
+ 0xcb, 0xcf, 0x88, 0xea, 0xf4, 0x96, 0x3f, 0x28, 0xf8, 0xf2,
+ 0x9e, 0x62, 0xed, 0x75, 0x8c, 0x93, 0x6d, 0x04, 0x6c, 0x28,
+ 0x21, 0x65, 0x4c, 0x1c, 0x9a, 0x9d, 0xb7, 0x44, 0xe4, 0xcb,
+ 0x42, 0x04, 0x3c, 0x76, 0xc0, 0xda, 0xca, 0xd0, 0xf6, 0x81,
+ 0x14, 0xa5, 0x44, 0x1a, 0x3a, 0x3d, 0x9e, 0x30, 0xd3, 0x2d,
+ 0x49, 0xf1, 0x31, 0x89, 0xe2, 0xc3, 0xf0, 0xb0, 0xb6, 0xb8,
+ 0x73, 0x10, 0x04, 0xac, 0xeb, 0x74, 0xf6, 0xce, 0x3b, 0x03,
+ 0xd0, 0x8f, 0x59, 0x0a, 0xfe, 0x38, 0x5d, 0x6c, 0x1b, 0x13,
+ 0xe1, 0xdc, 0xd6, 0x54, 0x18, 0x9a, 0xf9, 0x51, 0x5f, 0xda,
+ 0xe0, 0x82, 0x6e, 0xef, 0x4b, 0xb4, 0x63, 0x83, 0x33, 0x57,
+ 0xc2, 0xa6, 0xa1, 0x0f, 0x21, 0x52, 0xa5, 0x64, 0x8f, 0xa5,
+ 0xb8, 0xe3, 0xf8, 0x45, 0x78, 0xe7, 0xed, 0x72, 0x15, 0x18,
+ 0xe9, 0xef, 0xcb, 0x9f, 0xbf, 0x59, 0x87, 0x75, 0xa6, 0xcb,
+ 0xe4, 0xc2, 0xd5, 0xf3, 0x73, 0x34, 0x62, 0x6f, 0x29, 0x26,
+ 0xcf, 0x36, 0xec, 0xe8, 0x91, 0x6e, 0x6b, 0x2a, 0x0c, 0x4d,
+ 0x9d, 0xc9, 0xce, 0x6d, 0x70, 0x41, 0xb8, 0x33, 0x7c, 0xb9,
+ 0x28, 0xe5, 0x80, 0x2d, 0x8c, 0x21, 0xa4, 0xfe, 0x18, 0xc6,
+ 0x78, 0xad, 0xe7, 0xb4, 0x2d, 0x35, 0xe0, 0xa7, 0xb9, 0xfc,
+ 0x28, 0x6d, 0xc8, 0xf3, 0xe1, 0xad, 0xe3, 0x45, 0xf9, 0x34,
+ 0x0d, 0x1c, 0xb4, 0x81, 0x05, 0x43, 0x33, 0x75, 0x87, 0x01,
+ 0x6c, 0xfd, 0x1f, 0x46, 0xfd, 0x21, 0x99, 0xe1, 0xe6, 0x7e,
+ 0x18, 0x8a, 0x88, 0x1a, 0x6e, 0xb9, 0xe3, 0x5c, 0xe9, 0x92,
+ 0xb5, 0x98, 0x26, 0xd3, 0x2b, 0x68, 0x31, 0x16, 0xdc, 0xfb,
+ 0xf7, 0xdb, 0x19, 0x5f, 0x7d, 0x27, 0x09, 0xbe, 0xce, 0x97,
+ 0x51, 0x72, 0xac, 0xf2, 0xeb, 0xb5, 0xba, 0x9d, 0x8e, 0x38,
+ 0xf3, 0x5e, 0x47, 0xf9, 0xaf, 0xc7, 0xe7, 0x05, 0x77, 0x22,
+ 0xb8, 0xed, 0x5f, 0x1b, 0x5d, 0x2b, 0xea, 0x55, 0xe5, 0x5f,
+ 0x67, 0xaa, 0xc9, 0x39, 0x56, 0x79, 0x94, 0xbb, 0x5d, 0xaf,
+ 0x47, 0x1c, 0x98, 0x2f, 0x31, 0x68, 0x1a, 0x38, 0xab, 0xc1,
+ 0x0a, 0x86, 0x66, 0xea, 0xcd, 0x02, 0xd8, 0x39, 0x3e, 0x8c,
+ 0xd4, 0x37, 0x7d, 0x92, 0x62, 0xf8, 0x5c, 0xff, 0xf2, 0x51,
+ 0x90, 0xad, 0x9f, 0x25, 0xa6, 0xa3, 0xe8, 0xf4, 0x3d, 0xc0,
+ 0xca, 0xb4, 0xe7, 0x42, 0xc4, 0x61, 0x0e, 0x8a, 0x46, 0x85,
+ 0x9d, 0xa5, 0x94, 0xa4, 0x29, 0x99, 0x0b, 0xd3, 0x4f, 0x32,
+ 0x13, 0x6e, 0x18, 0x7c, 0xb8, 0xa7, 0x1d, 0x7d, 0x1c, 0x6b,
+ 0x6a, 0xb6, 0x7d, 0xb8, 0x53, 0x3a, 0xa7, 0xce, 0xda, 0xae,
+ 0x2b, 0xe1, 0x87, 0x69, 0x0e, 0xd4, 0x35, 0x5b, 0xdf, 0x5c,
+ 0xc8, 0x1d, 0xb2, 0x67, 0x6d, 0x57, 0xf4, 0x91, 0xa2, 0xd5,
+ 0xcb, 0x23, 0x78, 0x15, 0xc3, 0x91, 0x76, 0xe3, 0xb7, 0x22,
+ 0x74, 0x71, 0x41, 0xcc, 0x86, 0x95, 0x6d, 0x90, 0x24, 0x85,
+ 0xbf, 0x52, 0x4a, 0x71, 0x20, 0x1b, 0x9f, 0x7d, 0xd4, 0x5a,
+ 0x02, 0x3b, 0x36, 0x02, 0xe1, 0xf4, 0x25, 0xef, 0x6e, 0x69,
+ 0x3f, 0x38, 0x1a, 0xc8, 0xa2, 0x90, 0x6f, 0x07, 0x35, 0x7d,
+ 0x8e, 0xc5, 0xf9, 0x3e, 0x17, 0x4f, 0xdd, 0x85, 0x24, 0xba,
+ 0x57, 0x98, 0xc8, 0x58, 0x74, 0x7a, 0xff, 0x60, 0x65, 0x5a,
+ 0x92, 0x21, 0x62, 0xd1, 0x07, 0x45, 0x23, 0xa3, 0xaf, 0xb3,
+ 0xc5, 0xf7, 0x4d, 0x4e, 0x1c, 0xcd, 0xbe, 0xfe, 0x05, 0x45,
+ 0x19, 0x26, 0xb5, 0x5d, 0x24, 0x40, 0x75, 0xee, 0xda, 0xce,
+ 0x90, 0x15, 0x04, 0x82, 0x3c, 0xba, 0xac, 0x6b, 0x70, 0x1a,
+ 0x73, 0x86, 0xb2, 0xf2, 0xdd, 0x1f, 0xa5, 0x46, 0x55, 0xf9,
+ 0x85, 0x29, 0x20, 0x11, 0x63, 0xf6, 0x2c, 0xac, 0xd2, 0xc9,
+ 0xa3, 0xf0, 0x19, 0x99, 0xae, 0xb3, 0xf5, 0xe8, 0xec, 0x49,
+ 0xb6, 0x35, 0x2b, 0x1d, 0x99, 0x0f, 0x73, 0xf3, 0x08, 0x5e,
+ 0xfe, 0x09, 0x43, 0xb4, 0x4b, 0x59, 0xb9, 0x3e, 0x18, 0xf7,
+ 0x23, 0xd7, 0x45, 0xd5, 0x09, 0x25, 0x91, 0xa1, 0x73, 0x43,
+ 0x7a, 0xfb, 0x07, 0x49, 0x1b, 0x30, 0x15, 0xd5, 0xa4, 0x21,
+ 0x2c, 0xca, 0xff, 0xc8, 0x4c, 0x7b, 0x60, 0x33, 0xa5, 0xd9,
+ 0x74, 0x37, 0x08, 0x2a, 0xeb, 0x39, 0xa4, 0x3d, 0x3a, 0x51,
+ 0xb5, 0xde, 0x11, 0xb3, 0xdd, 0x81, 0x2f, 0x6b, 0x27, 0xc2,
+ 0xd1, 0x28, 0x5b, 0xda, 0x8c, 0x68, 0xc8, 0x2c, 0x93, 0x43,
+ 0x88, 0xe8, 0xed, 0xe4, 0x19, 0xea, 0xdb, 0xe5, 0xda, 0x08,
+ 0xd8, 0x50, 0x42, 0xca, 0x98, 0x38, 0xf7, 0xf9, 0xad, 0x88,
+ 0x76, 0x91, 0xb5, 0xff, 0x4c, 0xc4, 0x7d, 0xa4, 0xde, 0x07,
+ 0x92, 0x19, 0x85, 0x12, 0xd4, 0xd9, 0x39, 0x42, 0xf1, 0x01,
+ 0x0f, 0xfc, 0x30, 0xd7, 0xd3, 0x34, 0xdc, 0xb1, 0x05, 0xb8,
+ 0x11, 0xe7, 0x13, 0x2b, 0x7a, 0x43, 0x57, 0xab, 0x0d, 0x84,
+ 0x4b, 0xc2, 0x1c, 0xd7, 0x8c, 0xc9, 0xf9, 0x89, 0x05, 0x81,
+ 0xb1, 0x53, 0xa7, 0xb0, 0x8b, 0x6a, 0xe5, 0x04, 0x42, 0x96,
+ 0xdc, 0x18, 0x2a, 0xe1, 0xee, 0x0a, 0xe3, 0xa2, 0xb1, 0xd5,
+ 0x15, 0x0e, 0xc3, 0xd8, 0x72, 0x6e, 0x6f, 0x95, 0x10, 0x1b,
+ 0x57, 0xad, 0xba, 0xb5, 0x6c, 0x7f, 0x03, 0x80, 0x11, 0x92,
+ 0x7d, 0xbe, 0x24, 0xea, 0xb4, 0x83, 0x9f, 0xf1, 0xad, 0x91,
+ 0x73, 0x3f, 0x0c, 0x45, 0x44, 0x0d, 0x37, 0xbd, 0x90, 0x2e,
+ 0x95, 0x49, 0xbd, 0xb2, 0xcd, 0xea, 0x8f, 0x55, 0x0b, 0x47,
+ 0x69, 0x25, 0xe6, 0x68, 0xc4, 0xde, 0x52, 0x4c, 0x45, 0x12,
+ 0xe5, 0x58, 0xce, 0x9b, 0x98, 0xa7, 0x04, 0x3b, 0xca, 0x47,
+ 0xfb, 0x9a, 0x91, 0x3f, 0xff, 0xca, 0xd3, 0x7e, 0xcf, 0xe0,
+ 0xf7, 0x0f, 0x34, 0xcc, 0xfb, 0xe5, 0x45, 0xed, 0x92, 0xf8,
+ 0xc3, 0x09, 0x93, 0x2c, 0x67, 0xac, 0x4c, 0xb2, 0x02, 0xfc,
+ 0x65, 0xc2, 0x9c, 0x4d, 0xa9, 0xfe, 0x3b, 0xa9, 0xbb, 0x9e,
+ 0x26, 0x62, 0xdf, 0x52, 0x6f, 0xe2, 0x49, 0xed, 0xa3, 0x09,
+ 0x6a, 0x8d, 0x7b, 0x3a, 0xef, 0x95, 0x4f, 0x49, 0xcc, 0x9f,
+ 0x8e, 0xdd, 0xc1, 0x3c, 0x84, 0x8b, 0xd1, 0x53, 0x8e, 0x31,
+ 0x9d, 0x4d, 0x0d, 0x0a, 0xee, 0x44, 0xb3, 0x19, 0xbe, 0x36,
+ 0xba, 0x56, 0x17, 0xaa, 0xe9, 0x60, 0x18, 0x6e, 0x3f, 0xfb,
+ 0x71, 0xe1, 0x9a, 0x0a, 0xa5, 0xa4, 0x15, 0x3c, 0x41, 0x90,
+ 0xc8, 0x5c, 0x17, 0x24, 0x1f, 0x40, 0x0f, 0xc5, 0x55, 0x9f,
+ 0x4a, 0x03, 0xb4, 0xc4, 0x21, 0xca, 0x7c, 0x50, 0x14, 0x59,
+ 0xc1, 0x67, 0xa8, 0x70, 0xd7, 0x0f, 0x16, 0xf6, 0xfe, 0x22,
+ 0x80, 0xd8, 0x6b, 0x6e, 0xfa, 0xe7, 0xc4, 0x33, 0xb8, 0x3d,
+ 0x27, 0xa2, 0xe3, 0x99, 0xfd, 0x4a, 0x8f, 0x85, 0x4c, 0xac,
+ 0x2b, 0xcf, 0x9f, 0xe9, 0x34, 0x55, 0xef, 0x8e, 0x70, 0xda,
+ 0x75, 0xa2, 0x62, 0x61, 0x83, 0x9a, 0xc7, 0x27, 0x0e, 0x87,
+ 0x5f, 0x7f, 0xe3, 0xc3, 0xed, 0x13, 0xbb, 0xcf, 0x12, 0x20,
+ 0xec, 0xe1, 0xa9, 0x3d, 0x98, 0x4b, 0xfa, 0x8b, 0x7f, 0x0e,
+ 0xe7, 0x32, 0xc9, 0x24, 0x6b, 0x71, 0x70, 0x6f, 0x6b, 0x9d,
+ 0x37, 0xa5, 0x8f, 0xe8, 0xd9, 0xbe, 0xee, 0xfd, 0xac, 0x02,
+ 0x59, 0x67, 0xe2, 0x35, 0x9c, 0x66, 0x47, 0x17, 0x32, 0x96,
+ 0xcd, 0x69, 0x8a, 0x65, 0x3d, 0xb5, 0xc9, 0xa4, 0xf1, 0x1e,
+ 0xe6, 0x25, 0x10, 0xbc, 0x3f, 0x12, 0x86, 0xab, 0x96, 0xb2,
+ 0xb1, 0x7c, 0x30, 0x2d, 0xcd, 0xdd, 0xa6, 0x77, 0xb8, 0xf0,
+ 0x84, 0xaf, 0xb0, 0x9b, 0x08, 0x95, 0x68, 0xdc, 0x0b, 0x2b,
+ 0x5a, 0x06, 0xe0, 0xdf, 0x6f, 0xf2, 0xb2, 0xbb, 0x41, 0x48,
+ 0x2e, 0x9b, 0x25, 0x73, 0xb1, 0x09, 0x2b, 0xfd, 0xae, 0xec,
+ 0xad, 0x18, 0xab, 0xf0, 0xc6, 0x9d, 0x6b, 0x48, 0xda, 0xc8,
+ 0x34, 0x5b, 0xc2, 0x9d, 0xb6, 0x82, 0x92, 0xe3, 0xda, 0x11,
+ 0x5c, 0x97, 0xce, 0xec, 0xcf, 0xf4, 0x75, 0xcb, 0xa7, 0x27,
+ 0x79, 0x3e, 0x89, 0x8c, 0xaa, 0x31, 0xc9, 0x52, 0x40, 0x22,
+ 0xc6, 0x2f, 0x58, 0x9b, 0xa1, 0xd9, 0xa7, 0x5c, 0xf2, 0xed,
+ 0x58, 0x7d, 0xce, 0xeb, 0x3c, 0xc6, 0xef, 0x3f, 0xd5, 0x25,
+ 0x2c, 0x97, 0x55, 0x20, 0x23, 0x36, 0xcf, 0x1f, 0x9f, 0x4f,
+ 0xbc, 0x82, 0xa0, 0x61, 0x65, 0xd0, 0x06, 0xfe, 0xde, 0x62,
+ 0x7b, 0x61, 0xf2, 0x4c, 0x07, 0xb9, 0x7c, 0xe4, 0x29, 0x10,
+ 0x8d, 0xbe, 0x2d, 0x03, 0x70, 0x8e, 0xd6, 0x79, 0x59, 0xbc,
+ 0xc1, 0x24, 0x17, 0xac, 0xf3, 0xd8, 0xb9, 0xe5, 0x3e, 0x28,
+ 0x0a, 0xcd, 0x81, 0xd2, 0x54, 0x38, 0x8a, 0xe6, 0x0b, 0x7b,
+ 0x7f, 0x11, 0x40, 0x6c, 0x71, 0xfb, 0x4e, 0x33, 0xc2, 0xea,
+ 0x19, 0x4b, 0x87, 0xd5, 0x45, 0xd3, 0xff, 0xbb, 0x85, 0x52,
+ 0x3f, 0xbc, 0x2f, 0x63, 0x74, 0x9d, 0xc2, 0x9b, 0xd4, 0x8d,
+ 0xa0, 0x55, 0x2c, 0xa8, 0x9c, 0x59, 0xf6, 0x74, 0x1d, 0xe9,
+ 0x9e, 0x92, 0x5b, 0xfd, 0xdf, 0x79, 0x41, 0x78, 0xcb, 0xd5,
+ 0x61, 0xa6, 0xce, 0xa2, 0xc9, 0x46, 0x64, 0x21, 0xfd, 0x89,
+ 0x52, 0x26, 0x36, 0xe7, 0x9d, 0xd4, 0xac, 0x74, 0x38, 0xd6,
+ 0xd4, 0xaf, 0xfa, 0xb3, 0xa6, 0x74, 0x8d, 0x5f, 0x77, 0x9f,
+ 0x56, 0x01, 0xcd, 0xd2, 0x33, 0x83, 0x50, 0xa7, 0x82, 0x5f,
+ 0xe5, 0x03, 0xda, 0x3c, 0x58, 0x5e, 0x7e, 0x88, 0x45, 0xe6,
+ 0x87, 0x8f, 0x53, 0xda, 0x5c, 0x78, 0x42, 0xb6, 0x58, 0xac,
+ 0x04, 0xab, 0x34, 0x6e, 0xe4, 0xf4, 0x42, 0x78, 0x1e, 0x94,
+ 0x40, 0xb5, 0xfc, 0x48, 0x5d, 0xe9, 0x1d, 0x8d, 0x81, 0x33,
+ 0xc0, 0xb4, 0x8c, 0xda, 0xd7, 0xd2, 0x24, 0x94, 0x01, 0xc1,
+ 0x0f, 0xcf, 0x2b, 0x6a, 0x1c, 0xe7, 0x6c, 0xc0, 0x26, 0x56,
+ 0xf4, 0x86, 0xae, 0x95, 0x1a, 0xcb, 0x96, 0x47, 0x38, 0x6d,
+ 0xdb, 0x51, 0x31, 0xd1, 0x7a, 0xae, 0xca, 0x3b, 0xba, 0x06,
+ 0x5a, 0x3c, 0xd0, 0xb6, 0x6a, 0x12, 0xd7, 0x32, 0x0d, 0x66,
+ 0xac, 0x72, 0xfd, 0x36, 0xf1, 0x60, 0xe9, 0x46, 0x9e, 0x31,
+ 0x6f, 0xe3, 0xee, 0xa6, 0xd0, 0xaf, 0x98, 0x9b, 0x56, 0x5d,
+ 0xfd, 0x11, 0x68, 0xaa, 0x1d, 0xdf, 0xe0, 0x77, 0xea, 0x87,
+ 0xc4, 0xc2, 0x79, 0xd1, 0xa5, 0x0a, 0x66, 0xd7, 0x23, 0x1a,
+ 0x32, 0x0b, 0x54, 0x60, 0x22, 0x3a, 0xaa, 0x39, 0x8b, 0xb0,
+ 0x2c, 0x1e, 0xaa, 0xba, 0x65, 0x2e, 0x56, 0x1d, 0xfc, 0xa0,
+ 0x66, 0x4e, 0x3d, 0x4b, 0x58, 0xed, 0xaa, 0x40, 0x46, 0x6c,
+ 0x5d, 0x3e, 0xfd, 0x9e, 0xbb, 0xc7, 0x83, 0xc2, 0xca, 0x63,
+ 0x56, 0x39, 0x9f, 0x1b, 0x99, 0x30, 0x95, 0x23, 0x4f, 0xf9,
+ 0xd6, 0x90, 0x77, 0x53, 0x68, 0xb6,
+ },
+ {
+ /* 9 */
+ 0xa8, 0x2c, 0x9d, 0x1e, 0xd9, 0x7e, 0xa9, 0xb3, 0xc0, 0x01,
+ 0x6b, 0x3d, 0xc4, 0xa3, 0x83, 0xb4, 0xb4, 0x6b, 0xa4, 0x9d,
+ 0x6c, 0x77, 0x14, 0x4c, 0x17, 0xa0, 0x80, 0x59, 0xd2, 0xde,
+ 0x39, 0xaa, 0x96, 0x95, 0xc3, 0xd6, 0x72, 0x8f, 0xd1, 0xd8,
+ 0xb2, 0x47, 0xed, 0x28, 0x6d, 0x22, 0x15, 0xce, 0x1e, 0xeb,
+ 0x9c, 0x39, 0x0a, 0xe9, 0x43, 0xcd, 0x63, 0x5d, 0x9a, 0x2f,
+ 0xd4, 0x54, 0xa5, 0x9d, 0x8a, 0xd2, 0xfa, 0x55, 0xc7, 0x86,
+ 0x6c, 0x27, 0x65, 0xe6, 0x06, 0x4c, 0x7b, 0x5f, 0xaf, 0xd0,
+ 0xf5, 0x99, 0x50, 0xe1, 0x53, 0x37, 0x1d, 0xda, 0x6f, 0xe8,
+ 0x61, 0xe9, 0x49, 0x42, 0xb1, 0x07, 0x9f, 0x36, 0xa1, 0x26,
+ 0x75, 0xf9, 0xd0, 0x09, 0x7d, 0x4f, 0x33, 0x03, 0x82, 0x73,
+ 0x87, 0x27, 0xa5, 0x14, 0x76, 0x59, 0x63, 0x0b, 0x97, 0x06,
+ 0xa4, 0x32, 0x57, 0x80, 0x6c, 0xa0, 0x2f, 0x98, 0x13, 0xd3,
+ 0x77, 0x7e, 0xb0, 0x9c, 0x7d, 0x78, 0x07, 0x6e, 0xa6, 0x92,
+ 0x7c, 0x57, 0x09, 0xb1, 0x39, 0xd8, 0xc1, 0x98, 0x17, 0x62,
+ 0xc6, 0x24, 0x37, 0xff, 0xcc, 0x0c, 0x4d, 0x0f, 0x59, 0x9c,
+ 0xac, 0xb7, 0x14, 0xa9, 0x64, 0x7d, 0x96, 0xd7, 0x6b, 0x3a,
+ 0x89, 0xab, 0x83, 0xf1, 0xbd, 0x71, 0x2d, 0x6a, 0x29, 0xb6,
+ 0x1b, 0x6d, 0x05, 0x13, 0x75, 0x28, 0x20, 0x87, 0xd5, 0xd6,
+ 0x9f, 0xcb, 0x83, 0x71, 0x98, 0xa5, 0xc0, 0xf0, 0x6d, 0xf6,
+ 0xaa, 0xee, 0xd8, 0x67, 0x94, 0x0e, 0x3d, 0x39, 0x86, 0xbc,
+ 0xa2, 0x4f, 0xc3, 0x83, 0x2d, 0x8b, 0x5b, 0xab, 0xe3, 0x35,
+ 0xb2, 0xa9, 0xed, 0x5c, 0xb9, 0x53, 0x4f, 0xda, 0xd6, 0x02,
+ 0x2a, 0xf9, 0x73, 0x93, 0xbc, 0xe4, 0x7a, 0xdd, 0x95, 0x86,
+ 0x76, 0xe8, 0xc8, 0x44, 0x93, 0xc7, 0x70, 0x2c, 0xc5, 0x06,
+ 0xb9, 0x8e, 0xdd, 0x4c, 0x8c, 0x3e, 0x0f, 0x94, 0x4e, 0xfd,
+ 0x05, 0x95, 0xc0, 0x87, 0xd0, 0xcf, 0x4d, 0xf6, 0x6a, 0x2a,
+ 0xb3, 0xaf, 0x5a, 0xd4, 0x52, 0xaf, 0x36, 0xda, 0x0a, 0x26,
+ 0xea, 0x50, 0x40, 0xcd, 0x69, 0x6f, 0xfd, 0x55, 0xa0, 0xd9,
+ 0x4c, 0xb3, 0x60, 0x78, 0xd7, 0x7b, 0x55, 0x77, 0x6c, 0xd2,
+ 0x4a, 0x07, 0xff, 0xfd, 0x92, 0x0e, 0x4a, 0x61, 0xcf, 0x8c,
+ 0xee, 0xbc, 0x19, 0x7c, 0x0f, 0xbe, 0x2a, 0x70, 0x2b, 0x0b,
+ 0xe2, 0xd1, 0xae, 0x28, 0x5e, 0xa8, 0x5f, 0xc6, 0xc3, 0xbd,
+ 0x25, 0xed, 0x72, 0x47, 0x86, 0x73, 0x34, 0xe0, 0x2a, 0xdf,
+ 0xad, 0x17, 0xf8, 0x91, 0x53, 0xcc, 0xf0, 0xb1, 0xe5, 0x0c,
+ 0xf5, 0xb0, 0xee, 0xbf, 0xf6, 0x32, 0x5a, 0xad, 0x1e, 0x6a,
+ 0xfd, 0xf0, 0xc0, 0x94, 0xbb, 0xb1, 0xc4, 0xff, 0x6d, 0xce,
+ 0x6e, 0x97, 0x9a, 0x5d, 0x73, 0x9c, 0x57, 0x1e, 0x18, 0xf3,
+ 0x2f, 0xbf, 0xf9, 0xc6, 0x1a, 0x70, 0x15, 0x8e, 0xb7, 0xea,
+ 0x7c, 0xa9, 0xc8, 0x66, 0x78, 0xb9, 0x93, 0x06, 0x9b, 0x58,
+ 0x24, 0xc9, 0x4b, 0x46, 0x1c, 0x1b, 0x04, 0xc2, 0xba, 0x20,
+ 0xfe, 0xac, 0x3a, 0x87, 0x0d, 0x22, 0x1f, 0xbd, 0x2f, 0x64,
+ 0xb4, 0x99, 0x3c, 0xd4, 0x39, 0x23, 0x43, 0xeb, 0xb5, 0xa1,
+ 0x4b, 0x3d, 0xd2, 0xaa, 0x0d, 0x40, 0x4e, 0xbc, 0x98, 0x33,
+ 0x3b, 0x4a, 0x37, 0xca, 0xd0, 0x19, 0x4d, 0x06, 0x18, 0xdc,
+ 0xb0, 0x34, 0x08, 0x0a, 0x82, 0x9b, 0x7c, 0x9a, 0x09, 0xf2,
+ 0x51, 0x2f, 0x84, 0xdb, 0x37, 0x1a, 0x3c, 0x38, 0xac, 0x87,
+ 0x79, 0xba, 0xbd, 0x4e, 0x58, 0x3e, 0x46, 0xd0, 0x04, 0x93,
+ 0x6a, 0xaf, 0xf1, 0xc7, 0x26, 0xce, 0xcd, 0xd3, 0x12, 0xa7,
+ 0x52, 0xea, 0xcb, 0x31, 0x36, 0x20, 0x3f, 0xef, 0xed, 0x95,
+ 0x15, 0x81, 0x07, 0x72, 0x28, 0x38, 0x5f, 0xd1, 0xc8, 0x74,
+ 0x78, 0xda, 0xae, 0x1b, 0xb1, 0x13, 0xdb, 0x9d, 0x68, 0xe5,
+ 0xdf, 0xc6, 0xf8, 0xe0, 0x41, 0xd8, 0xa2, 0xf2, 0x10, 0x29,
+ 0x61, 0x99, 0xb1, 0x0c, 0xfc, 0x53, 0xe9, 0xec, 0x0e, 0x1d,
+ 0xdf, 0x8b, 0xf8, 0x92, 0x46, 0x93, 0x6b, 0x2c, 0x83, 0xd3,
+ 0xb7, 0xd9, 0x3d, 0xf1, 0xab, 0xa9, 0x7f, 0x12, 0x47, 0x4b,
+ 0x6c, 0x98, 0xdd, 0xca, 0x24, 0x2d, 0x0c, 0x85, 0x0d, 0x60,
+ 0xc1, 0x37, 0x4e, 0x4a, 0x17, 0x66, 0xbc, 0x9e, 0x75, 0x30,
+ 0xd5, 0x71, 0x6a, 0x84, 0x82, 0xd6, 0x87, 0xb6, 0x5c, 0x7a,
+ 0x45, 0xe3, 0x68, 0x03, 0x54, 0x7d, 0x99, 0x2e, 0x33, 0xe1,
+ 0xa6, 0x5b, 0x23, 0xa1, 0x09, 0x18, 0x29, 0xa3, 0x0b, 0x0f,
+ 0xc7, 0x4a, 0xb8, 0x96, 0xff, 0xe3, 0x7b, 0xf4, 0xaf, 0x60,
+ 0x2d, 0x78, 0x8d, 0x6a, 0x3e, 0xb9, 0x5e, 0xc8, 0xab, 0xf1,
+ 0x78, 0x6b, 0x72, 0x46, 0x86, 0x15, 0xa9, 0x81, 0x96, 0x7a,
+ 0xfe, 0x96, 0x97, 0xab, 0xeb, 0xa1, 0xe2, 0x39, 0x14, 0x1c,
+ 0xce, 0x89, 0x64, 0x3a, 0x3c, 0x6d, 0xa9, 0x7a, 0x2e, 0x43,
+ 0x67, 0x0e, 0xd6, 0xaa, 0x9a, 0x7f, 0xb2, 0xf9, 0xa5, 0x56,
+ 0x6d, 0x14, 0x28, 0xa7, 0x13, 0x5c, 0x18, 0x1e, 0x45, 0x6e,
+ 0x84, 0x6d, 0x1b, 0xd5, 0xf3, 0x71, 0x4f, 0xae, 0x7c, 0xb1,
+ 0xbc, 0x53, 0x95, 0x21, 0xf0, 0xd6, 0xe4, 0x8c, 0xcf, 0x2a,
+ 0x91, 0xc1, 0xef, 0xf4, 0xf2, 0xf8, 0xcf, 0xb1, 0xef, 0xa4,
+ 0xa3, 0x95, 0x2a, 0x51, 0x2b, 0xf0, 0xad, 0xcc, 0x7e, 0xe1,
+ 0xbf, 0x64, 0x63, 0xd7, 0xd4, 0xe1, 0xeb, 0xaf, 0x6c, 0x54,
+ 0x2f, 0x39, 0xff, 0xa6, 0xb4, 0xc0, 0xf4, 0xcf, 0xe3, 0xbc,
+ 0xed, 0x47, 0x62, 0xc3, 0x35, 0x96, 0xb8, 0x2d, 0x28, 0xb7,
+ 0x5f, 0xa7, 0xcb, 0x20, 0x0e, 0x29, 0xf8, 0xc6, 0x65, 0xb1,
+ 0x1d, 0xae, 0xe7, 0xfc, 0xe0, 0xc3, 0x27, 0x7d, 0x06, 0x37,
+ 0x2c, 0x0d, 0x02, 0xe3, 0xc1, 0x56, 0x1f, 0xc7, 0x93, 0xdd,
+ 0x85, 0x7b, 0x21, 0x46, 0xf8, 0xa1, 0xbb, 0xa6, 0xe9, 0x42,
+ 0x23, 0x6f, 0x0b, 0xdb, 0x5d, 0x54, 0xe1, 0x41, 0x1d, 0x2b,
+ 0xbd, 0xc8, 0xc6, 0x6d, 0x6b, 0x01, 0x15, 0x9d, 0xd8, 0xa8,
+ 0x5e, 0x72, 0x3d, 0x8f, 0xab, 0x43, 0x75, 0x12, 0xde, 0xa3,
+ 0x92, 0x57, 0xf1, 0x07, 0x2b, 0x84, 0x11, 0x01, 0x7e, 0x90,
+ 0x7d, 0x1d, 0x03, 0xfa, 0x16, 0xe7, 0x01, 0x90, 0x81, 0x2b,
+ 0xee, 0x82, 0xa8, 0x8f, 0xa3, 0xdc, 0xf1, 0x23, 0x4c, 0xca,
+ 0x1f, 0x3b, 0x85, 0x35, 0x37, 0x23, 0x1c, 0x7b, 0xdd, 0x0d,
+ 0x33, 0x9f, 0x24, 0x81, 0x4b, 0xab, 0x80, 0x6b, 0x39, 0xa6,
+ 0x89, 0x6c, 0x59, 0xc2, 0x97, 0x14, 0xd7, 0x11, 0xeb, 0x67,
+ 0xc0, 0x2f, 0xc9, 0x63, 0x40, 0x50, 0x9a, 0x52, 0x66, 0x5a,
+ 0x48, 0x9c, 0xcd, 0xbb, 0xaa, 0x17, 0x04, 0x9b, 0x89, 0xb7,
+ 0xbd, 0x03, 0x3f, 0x64, 0xab, 0x3b, 0xe2, 0x96, 0x47, 0x52,
+ 0x3e, 0xc5, 0xb3, 0x0a, 0x3b, 0xcd, 0xd0, 0xe4, 0xaa, 0x03,
+ 0x52, 0x19, 0xca, 0x40, 0x36, 0x50, 0xf6, 0x4c, 0xb6, 0xc7,
+ 0x01, 0x27, 0xd3, 0x97, 0xea, 0x7e, 0xa3, 0x5c, 0xf1, 0x12,
+ 0x10, 0xf7, 0x26, 0x29, 0x51, 0xdb, 0x95, 0xe5, 0x8e, 0x4c,
+ 0xf5, 0xc5, 0x91, 0xa4, 0xef, 0xad, 0x44, 0x17, 0x70, 0x3f,
+ 0xeb, 0x72, 0xcc, 0xd8, 0x59, 0xde, 0x5e, 0x17, 0x0c, 0xb5,
+ 0xfb, 0xc6, 0x9d, 0x16, 0x14, 0x9a, 0x98, 0x57, 0x3e, 0x76,
+ 0xc9, 0x6a, 0x6e, 0x46, 0x38, 0xf6, 0x79, 0x1a, 0x66, 0xfd,
+ 0x48, 0xc1, 0x23, 0xa8, 0xd4, 0x16, 0xa0, 0x88, 0xba, 0x8d,
+ 0xff, 0x99, 0xb4, 0xb5, 0xde, 0x09, 0xc2, 0xc4, 0xab, 0xd6,
+ 0x8b, 0xf9, 0xd8, 0xee, 0x28, 0x98, 0x2e, 0x83, 0xc3, 0xb2,
+ 0x67, 0x7f, 0x72, 0x97, 0xb2, 0x5c, 0x88, 0x90, 0x6e, 0x94,
+ 0xd5, 0x1a, 0x08, 0x67, 0x13, 0x84, 0x57, 0xa5, 0x18, 0xec,
+ 0x99, 0x01, 0x8d, 0x2b, 0x77, 0x1a, 0x11, 0x5f, 0x62, 0x88,
+ 0xa0, 0xde, 0x07, 0x08, 0xa6, 0x61, 0x89, 0x28, 0xec, 0xb2,
+ 0xc6, 0x16, 0xed, 0x0c, 0x8b, 0x64, 0xae, 0xc3, 0xd8, 0x83,
+ 0x5e, 0xf3, 0xdf, 0x92, 0xe6, 0x07, 0xf4, 0xc9, 0xa6, 0x86,
+ 0x5f, 0x79, 0x0b, 0x77, 0x78, 0x1a, 0xe1, 0x2a, 0x0d, 0x38,
+ 0xeb, 0x47, 0xba, 0x75, 0x3e, 0xb5, 0x64, 0x33, 0x3c, 0xbd,
+ 0xa8, 0x03, 0xac, 0x2c, 0x31, 0x2d, 0x10, 0x35, 0xae, 0x64,
+ 0xb8, 0xec, 0xa2, 0x89, 0xcb, 0xe3, 0xc3, 0xab, 0x25, 0xd5,
+ 0x70, 0xdf, 0xe4, 0x49, 0x91, 0x24, 0xb1, 0x7a, 0xda, 0xc1,
+ 0x2a, 0x53, 0x58, 0x37, 0xad, 0x78, 0x73, 0x25, 0xf2, 0xae,
+ 0x90, 0xb4, 0x30, 0x51, 0x34, 0x43, 0x82, 0xdc, 0xfb, 0xeb,
+ 0x5c, 0x5b, 0x1d, 0x11, 0x8a, 0xde, 0x0b, 0x79, 0xc2, 0xe6,
+ 0x8d, 0xdf, 0x32, 0xa0, 0x77, 0x88, 0x54, 0xbe, 0x8d, 0xb3,
+ 0x65, 0x05, 0x7b, 0x15, 0xd2, 0x68, 0x20, 0x5f, 0x4c, 0x55,
+ 0x9f, 0xd1, 0x60, 0x36, 0xf1, 0x02, 0xd9, 0x56, 0xee, 0x34,
+ 0x22, 0xbe, 0xc4, 0xd3, 0x83, 0x7f, 0x0e, 0x10, 0x8f, 0xc2,
+ 0x7d, 0xe7, 0x0f, 0x0e, 0x2b, 0x51, 0x8f, 0xcf, 0xbe, 0xf2,
+ 0x16, 0xee, 0xf0, 0x34, 0x01, 0x54, 0x17, 0x48, 0xfe, 0xc9,
+ 0x0d, 0x9f, 0x42, 0x1c, 0xac, 0x55, 0x44, 0x04, 0x3b, 0x05,
+ 0x37, 0x74, 0x2c, 0x3c, 0x9a, 0xeb, 0xa5, 0x1d, 0x7a, 0x0a,
+ 0x2f, 0x56, 0xf9, 0x43, 0xb4, 0x23, 0x71, 0x6b, 0x35, 0xb6,
+ 0x99, 0x82, 0x13, 0x67, 0x87, 0x88, 0x09, 0xb2, 0x29, 0x75,
+ 0x84, 0xf9, 0x1b, 0x10, 0x88, 0x7e, 0x5f, 0xef, 0x78, 0x66,
+ 0x92, 0x15, 0xd1, 0x1a, 0x77, 0x07, 0xb9, 0x76, 0xb0, 0x53,
+ 0x67, 0x97, 0x1a, 0x80, 0x9c, 0xbb, 0xf3, 0x66, 0x76, 0x94,
+ 0x6e, 0x57, 0x63, 0x32, 0x9a, 0x0c, 0xe1, 0x2b, 0xb8, 0xcf,
+ 0x5f, 0x38, 0xde, 0xed, 0x2d, 0x3f, 0x8d, 0x62, 0xd1, 0x9b,
+ 0x77, 0x50, 0xb5, 0x3d, 0x17, 0xc0, 0xd2, 0x07, 0x6b, 0x55,
+ 0x4d, 0xde, 0x59, 0x9d, 0xb3, 0x2b, 0xd7, 0x0a, 0x64, 0x6d,
+ 0x0c, 0x67, 0x9d, 0x2b, 0x72, 0x4d, 0x98, 0x16, 0xc6, 0xd8,
+ 0xc0, 0xee, 0x6b, 0x2f, 0xb1, 0xa6, 0x9e, 0x77, 0x6f, 0x04,
+ 0x54, 0x31, 0xe6, 0xe5, 0xbb, 0x0b, 0xf4, 0x79, 0xe9, 0xcf,
+ 0x08, 0xf5, 0xd1, 0xad, 0xb9, 0x06, 0x7e, 0xc8, 0x95, 0x76,
+ 0x07, 0xef, 0x8e, 0xa4, 0x7c, 0x49, 0xe5, 0xb0, 0x31, 0x78,
+ 0xe2, 0x3b, 0xe1, 0x89, 0x86, 0x04, 0x6f, 0xf4, 0x96, 0xc9,
+ 0x49, 0x95, 0x1c, 0x47, 0x39, 0x83, 0xb5, 0x09, 0xbd, 0xff,
+ 0xd7, 0xa1, 0xeb, 0x64, 0x16, 0x7d, 0xba, 0x1e, 0x6b, 0xf9,
+ 0x42, 0x9a, 0x98, 0xbe, 0xb2, 0xca, 0x48, 0xd9, 0x8b, 0x2e,
+ 0xaa, 0xc4, 0xd8, 0x80, 0x5c, 0xe3, 0x7e, 0xa2, 0x34, 0x39,
+ 0xcb, 0x70, 0xf5, 0x97, 0xd3, 0x10, 0xec, 0x14, 0xdc, 0x13,
+ 0xa3, 0x23, 0x5a, 0x54, 0x61, 0xe8, 0x56, 0x50, 0xbb, 0xf5,
+ 0xc4, 0x5d, 0xe9, 0xdb, 0x0e, 0xde, 0x7a, 0x86, 0x90, 0x5e,
+ 0x97, 0xc2, 0x31, 0x80, 0xfb, 0x4b, 0x5c, 0xf7, 0x14, 0xba,
+ 0xce, 0xb2, 0xe8, 0x88, 0xda, 0x3f, 0x58, 0x4e, 0xdf, 0x3c,
+ 0xe2, 0x37, 0x53, 0x49, 0x3e, 0xca, 0xe5, 0xb9, 0xda, 0x5f,
+ 0xdc, 0xed, 0xf7, 0xba, 0xe6, 0xfb, 0xae, 0x3c, 0x30, 0x25,
+ 0x5e, 0xbd, 0x31, 0x4f, 0xd7, 0x67, 0x37, 0xaa, 0x4d, 0xcf,
+ 0xd8, 0x4e, 0xca, 0x0f, 0x0c, 0x98, 0xf6, 0xbe, 0x9d, 0x63,
+ 0xfa, 0x0d, 0x1e, 0x1c, 0x56, 0xa2, 0xdd, 0x5d, 0xbf, 0x27,
+ 0x2c, 0x1f, 0x23, 0x68, 0x02, 0xa8, 0xa7, 0xb8, 0xd3, 0xe3,
+ 0xdc, 0xeb, 0x69, 0x34, 0x10, 0xce, 0x26, 0xcb, 0xae, 0x89,
+ 0x30, 0x1b, 0x7f, 0x4b, 0xaa, 0xb4, 0x94, 0xb1, 0x71, 0xfd,
+ 0x0a, 0x0e, 0x67, 0xa5, 0x32, 0x1d, 0x1e, 0xd7, 0xe4, 0xe6,
+ 0x82, 0x25, 0x5c, 0x4b, 0x9e, 0x90, 0xdc, 0x7a, 0xb6, 0x30,
+ 0xf7, 0x3c, 0xa7, 0x35, 0x8f, 0x1f, 0xc0, 0xbf, 0xc4, 0xf5,
+ 0x2c, 0x5a, 0x94, 0xa3, 0x3d, 0x1e, 0x5d, 0xf8, 0x7f, 0xb5,
+ 0xa1, 0x8f, 0xff, 0xee, 0xde, 0x08, 0xa8, 0x62, 0x0f, 0x09,
+ 0xb5, 0x16, 0x2b, 0xf2, 0x11, 0x5d, 0x52, 0x21, 0x83, 0x02,
+ 0x8f, 0xdc, 0x74, 0xee, 0x7f, 0x26, 0x47, 0x22, 0xe7, 0xcb,
+ 0x81, 0x1c, 0xec, 0x13, 0x53, 0x88, 0xe5, 0x4d, 0xe0, 0x58,
+ 0x49, 0x0c, 0xb1, 0xdf, 0x79, 0x98, 0xdb, 0x7c, 0x3b, 0x74,
+ 0x64, 0x22, 0xa8, 0x82, 0x38, 0x16, 0x83, 0x03, 0xbd, 0x47,
+ 0x8f, 0x26, 0x46, 0x1f, 0xa2, 0x75, 0xe9, 0x09, 0xdf, 0x98,
+ 0x29, 0x49, 0xe1, 0x8b, 0x1d, 0x99, 0x88, 0x2e, 0xe0, 0x7e,
+ 0x5f, 0x19, 0x68, 0x45, 0x35, 0xa9, 0x4a, 0x5b, 0x1b, 0x15,
+ 0x7b, 0x9f, 0x4f, 0xc8, 0x2d, 0x30, 0x50, 0x8d, 0x26, 0xb8,
+ 0x30, 0x3c, 0x8a, 0xdc, 0xcb, 0xda, 0x36, 0x69, 0x25, 0xe2,
+ 0x9e, 0x9f, 0x4a, 0xfd, 0x33, 0x36, 0x87, 0xd6, 0xf6, 0x75,
+ 0x03, 0xbc, 0x4e, 0xd0, 0xb6, 0xe4, 0x05, 0xc7, 0x57, 0xec,
+ 0xb9, 0xe8, 0x8c, 0xaf, 0x34, 0x93, 0x8e, 0x63, 0x7c, 0x70,
+ 0xc1, 0x6c, 0x51, 0x79, 0x55, 0x40, 0x1c, 0x52, 0x33, 0x4f,
+ 0xca, 0xa1, 0x3a, 0x9f, 0x0d, 0x3b, 0x03, 0x45, 0x4e, 0xfa,
+ 0xdc, 0x68, 0xf0, 0xe0, 0xf5, 0x59, 0x27, 0xad, 0xb1, 0xfb,
+ 0xa3, 0xf8, 0xdb, 0xc6, 0x10, 0x09, 0xde, 0xc4, 0x55, 0x5a,
+ 0x4a, 0xb9, 0xd9, 0x9f, 0x05, 0x07, 0xd2, 0xb3, 0x19, 0xef,
+ 0x0f, 0x8a, 0x9d, 0x9a, 0x04, 0x9c, 0xca, 0x19, 0x2e, 0x3b,
+ 0xc9, 0xb3, 0x42, 0x48, 0x40, 0x5a, 0x98, 0xa4, 0xe7, 0x1c,
+ 0x94, 0xc2, 0x5d, 0xdb, 0x1f, 0xbb, 0x32, 0xf8, 0x1e, 0xbf,
+ 0x54, 0xe0, 0x56, 0x16, 0xaf, 0x4d, 0x02, 0x4e, 0x65, 0xed,
+ 0x17, 0xfc, 0x85, 0xb8, 0x21, 0x24, 0x20, 0x2d, 0x4c, 0x52,
+ 0x97, 0xc3, 0x70, 0x8b, 0xcc, 0xff, 0xae, 0xc1, 0xe8, 0x39,
+ 0x34, 0xec, 0x0c, 0xd7, 0xfb, 0x6e, 0xaa, 0x80, 0x38, 0xa4,
+ 0x66, 0x9e, 0x57, 0x81, 0x74, 0xfd, 0x1a, 0x76, 0x06, 0x8a,
+ 0x9c, 0x37, 0x26, 0x65, 0xee, 0xfc, 0xa3, 0xfb, 0xfa, 0xf0,
+ 0x0e, 0xdc, 0x8f, 0xe7, 0xf8, 0xae, 0x12, 0xa1, 0x4d, 0x9c,
+ 0xac, 0x66, 0x3b, 0x45, 0x48, 0x3a, 0x46, 0x05, 0x04, 0xc9,
+ 0x52, 0x6a, 0xca, 0x21, 0x54, 0x16, 0xaf, 0x0f, 0x8d, 0x3f,
+ 0xb5, 0xb8, 0x60, 0xe1, 0xd4, 0xff, 0x62, 0xb0, 0xa0, 0x5a,
+ 0xf7, 0x35, 0xf5, 0x5b, 0xec, 0xd7, 0xe3, 0xe8, 0xdb, 0x14,
+ 0x10, 0xa2, 0x8b, 0x6b, 0xae, 0x84, 0xd9, 0xa5, 0xca, 0x0a,
+ 0xf6, 0x2a, 0x67, 0xd0, 0x40, 0xbe, 0x98, 0xaa, 0xfd, 0x61,
+ 0xc0, 0x6c, 0x84, 0x10, 0x07, 0xf5, 0x7c, 0x63, 0xd3, 0xb9,
+ 0xef, 0x57, 0x92, 0x7e, 0x70, 0x80, 0xf2, 0xdf, 0x41, 0xf2,
+ 0xf4, 0x7c, 0x3f, 0x40, 0x09, 0x96, 0x78, 0x48, 0xe1, 0xb0,
+ 0x9b, 0x9c, 0x88, 0xad, 0x82, 0x27, 0x2b, 0xf8, 0x7e, 0x80,
+ 0x12, 0xef, 0xf0, 0x90, 0x01, 0xa3, 0xf5, 0xfb, 0xd3, 0x99,
+ 0xd6, 0x31, 0x84, 0xf7, 0xf3, 0xbf, 0xa7, 0x57, 0x90, 0x71,
+ 0xd5, 0x5c, 0x97, 0x4b, 0x73, 0xc3, 0xb7, 0x91, 0xb2, 0x7a,
+ 0x6d, 0xe7, 0x95, 0x67, 0xf9, 0x22, 0x28, 0xd6, 0x71, 0x02,
+ 0xc8, 0x89, 0xdb, 0x09, 0x6f, 0xb0, 0x49, 0xca, 0x99, 0xe2,
+ 0xf4, 0x42, 0xe9, 0xe1, 0x3f, 0x48, 0xdf, 0xef, 0x2b, 0x5d,
+ 0x05, 0xbb, 0x19, 0x8e, 0xc4, 0x45, 0x6a, 0xef, 0xb3, 0x5a,
+ 0x50, 0xad, 0xbe, 0x8d, 0xa6, 0xee, 0x60, 0xbe, 0x62, 0x9b,
+ 0x16, 0x2d, 0x4a, 0xb0, 0xff, 0x0f, 0xcf, 0x7c, 0xde, 0xbb,
+ 0x38, 0x8e, 0x72, 0xc5, 0xa9, 0x12, 0xb9, 0x3d, 0x6d, 0x81,
+ 0x15, 0xc8, 0x2c, 0xfa, 0xb7, 0x3c, 0xce, 0xed, 0x34, 0xc3,
+ 0xfb, 0xb5, 0x25, 0xcc, 0xec, 0xeb, 0xdc, 0xae, 0xc6, 0x64,
+ 0xf7, 0x18, 0x95, 0x6f, 0xd5, 0x31, 0x73, 0x1f, 0x50, 0xf3,
+ 0x5c, 0xc5, 0x45, 0xa7, 0xce, 0xfe, 0xe4, 0xed, 0x71, 0x89,
+ 0x57, 0x14, 0x2f, 0x54, 0xce, 0x63, 0x80, 0xbf, 0xf3, 0x97,
+ 0x39, 0xc2, 0x43, 0xd8, 0xc3, 0xd5, 0xdf, 0x84, 0x41, 0xc0,
+ 0x1b, 0x79, 0x88, 0xd8, 0xe0, 0x13, 0x6e, 0x67, 0x5b, 0x34,
+ 0x8e, 0x49, 0x73, 0xe2, 0x7a, 0x85, 0x53, 0x43, 0xce, 0xdd,
+ 0xe4, 0xda, 0x3c, 0x0d, 0x91, 0x15, 0x9a, 0xfb, 0x9b, 0xcc,
+ 0x76, 0x8a, 0x90, 0x74, 0x8c, 0x0a, 0x08, 0x51, 0xa4, 0xd4,
+ 0x57, 0x42, 0xef, 0xe9, 0x45, 0x6f, 0xe4, 0xdd, 0x61, 0x73,
+ 0xa7, 0x8e, 0x19, 0x50, 0xda, 0x44, 0x2a, 0x5f, 0x25, 0x9f,
+ 0xf8, 0x1b, 0xa2, 0x6b, 0x7b, 0xdb, 0xe0, 0x5e, 0x27, 0x68,
+ 0x5b, 0x72, 0xe3, 0x82, 0xa4, 0x42, 0xc5, 0x04, 0xdd, 0x7b,
+ 0xe8, 0x1f, 0xfe, 0x4c, 0x8e, 0x44, 0x0d, 0x55, 0xc1, 0x38,
+ 0xe9, 0xde, 0x69, 0x62, 0xe6, 0x3e, 0xa0, 0x25, 0xb8, 0x49,
+ 0x8a, 0x8d, 0x5f, 0x3f, 0x0b, 0x19, 0x3c, 0x15, 0xfb, 0x72,
+ 0x14, 0x11, 0x86, 0x59, 0xc6, 0xba, 0xf7, 0x5e, 0x6b, 0xa8,
+ 0x89, 0xf9, 0x6f, 0x62, 0xcb, 0x2d, 0x25, 0xbd, 0x8d, 0xae,
+ 0xe3, 0xe2, 0x69, 0xb8, 0xed, 0x96, 0xe6, 0x45, 0x02, 0xac,
+ 0xa5, 0xba, 0xbf, 0xe0, 0xfe, 0x32, 0xb4, 0xfc, 0x71, 0x4b,
+ 0xc2, 0x29, 0x1f, 0x83, 0x01, 0x56, 0xb3, 0x5d, 0xbe, 0x70,
+ 0x7f, 0x19, 0x5a, 0x7e, 0xd9, 0xc4, 0x61, 0xf5, 0xee, 0xa0,
+ 0x0a, 0x59, 0x74, 0x17, 0x06, 0xe6, 0x80, 0xfa, 0x21, 0x8a,
+ 0x76, 0xa4, 0x4c, 0x8d, 0x63, 0xca, 0x09, 0xa3, 0x62, 0xf0,
+ 0x07, 0x76, 0x01, 0xd1, 0xcf, 0x08, 0xde, 0x2b, 0xef, 0x51,
+ 0x92, 0xe9, 0x94, 0x39, 0x66, 0x6c, 0xcd, 0x6f, 0x2f, 0xea,
+ 0x06, 0xbb, 0x9c, 0x63, 0xaf, 0x0b, 0x0a, 0x4d, 0xed, 0x45,
+ 0xe0, 0xd5, 0x5b, 0x3d, 0x9f, 0x41, 0x13, 0x72, 0x68, 0x1b,
+ 0x18, 0x6d, 0x35, 0xdc, 0x59, 0x2e, 0x44, 0x48, 0x37, 0x4a,
+ 0x8b, 0x0d, 0x04, 0xd2, 0xe8, 0x42, 0xca, 0xb3, 0x0c, 0x76,
+ 0x61, 0xa0, 0x36, 0x8d, 0x9e, 0x58, 0x32, 0x30, 0x69, 0x53,
+ 0xfd, 0x8a, 0xe6, 0x49, 0xbb, 0x4a, 0x69, 0x55, 0xe7, 0x20,
+ 0x27, 0x5e, 0x4c, 0xf8, 0xfc, 0x25, 0xfa, 0x65, 0x68, 0xed,
+ 0xc7, 0x03, 0x29, 0xf1, 0xa0, 0x01, 0xa6, 0x6e, 0x3a, 0x77,
+ 0xde, 0x13, 0xc2, 0x11, 0x92, 0x84, 0xa1, 0x0e, 0xb0, 0xf0,
+ 0x2d, 0x2a, 0xd1, 0x74, 0x2b, 0x28, 0xbc, 0x9b, 0x62, 0xcf,
+ 0x95, 0x8c, 0x07, 0x6f, 0x30, 0x7b, 0xa3, 0x68, 0x10, 0x14,
+ 0xc7, 0xf5, 0xf8, 0xf7, 0x12, 0x27, 0xa2, 0x5e, 0xcb, 0x75,
+ 0x60, 0xf6, 0x85, 0xd0, 0x20, 0x28, 0x4d, 0x29, 0x33, 0x2d,
+ 0x24, 0x4e, 0x87, 0xbc, 0x55, 0xea, 0x74, 0x44, 0x6d, 0xfe,
+ 0x2c, 0x27, 0x8e, 0x1e, 0x71, 0xfa, 0xc8, 0xc5, 0x1f, 0x65,
+ 0x93, 0xbd, 0x22, 0xfe, 0x67, 0x4b, 0x1e, 0xf8, 0xc5, 0x94,
+ 0xa5, 0xe7, 0x6d, 0x71, 0xbf, 0xfc, 0x2c, 0x64, 0x0c, 0x6e,
+ 0x58, 0x1a, 0x04, 0x05, 0x41, 0xac, 0x3e, 0x4d, 0xe5, 0x79,
+ 0xc9, 0xf6, 0x42, 0x8c, 0xcd, 0x17, 0x22, 0x24, 0xfa, 0x25,
+ 0xa4, 0xe7, 0x02, 0x69, 0x74, 0x21, 0x65, 0xb8, 0x06, 0x3b,
+ 0x7b, 0xd0, 0x23, 0x03, 0x29, 0xb2, 0x4e, 0x99, 0xa1, 0x35,
+ 0x85, 0x33, 0x75, 0x4f, 0x20, 0x12, 0x5b, 0x82, 0xe1, 0xf2,
+ 0x88, 0xaa, 0x75, 0x3f, 0xb0, 0x2e, 0x99, 0x09, 0x08, 0x9a,
+ 0x13, 0xf5, 0x40, 0xa4, 0x47, 0x21, 0x81, 0x30, 0x76, 0x8f,
+ 0x22, 0x36, 0x38, 0x74, 0xfa, 0x69, 0x66, 0x0d, 0xe3, 0x87,
+ 0x1d, 0x75, 0xe0, 0xd8, 0x20, 0xdf, 0x99, 0xc3, 0xfc, 0x29,
+ 0x13, 0xb2, 0x68, 0xd3, 0x14, 0xb2, 0xe8, 0x2e, 0x0c, 0x0f,
+ 0xc3, 0x37, 0x42, 0xd7, 0xec, 0x8b, 0x98, 0xd9, 0xc6, 0x57,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x6c, 0x81, 0x4c,
+ 0xea, 0x31, 0x63, 0x12, 0xfa, 0x9e, 0x66, 0x06, 0xc7, 0xe6,
+ 0xcd, 0x4e, 0x78, 0x2a, 0x35, 0xe4, 0x28, 0x22, 0xcf, 0xb2,
+ 0x4f, 0xb7, 0x2d, 0xbc, 0xd6, 0x93, 0xd1, 0x31, 0xad, 0xe1,
+ 0xa7, 0xf4, 0xda, 0x0d, 0xe9, 0xce, 0x31, 0x44, 0x50, 0x6f,
+ 0xe2, 0x04, 0x53, 0xd1, 0xd0, 0x06, 0xa8, 0xfa, 0xf1, 0x5c,
+ 0x66, 0x01, 0x8f, 0xb6, 0x46, 0x81, 0x12, 0x30, 0x52, 0x85,
+ 0x91, 0xf4, 0x5c, 0x86, 0xce, 0x1c, 0x6f, 0x97, 0xf7, 0xfe,
+ 0xa7, 0x31, 0x89, 0xac, 0xda, 0x28, 0xfc, 0x3a, 0x32, 0x11,
+ 0x54, 0x41, 0x1c, 0x0b, 0xa0, 0xe0, 0xbf, 0xc2, 0xa6, 0x13,
+ 0x23, 0xee, 0xf9, 0xf7, 0x08, 0xfb, 0x57, 0x32, 0x5c, 0x76,
+ 0x51, 0xa5, 0x84, 0x90, 0x80, 0xb4, 0xf3, 0x8b, 0xea, 0x24,
+ 0x7f, 0x85, 0xe7, 0xae, 0x21, 0x0e, 0x56, 0xcb, 0x22, 0x02,
+ 0xfc, 0xe3, 0xfa, 0x3a, 0x85, 0x46, 0xb4, 0xa8, 0xc2, 0x13,
+ 0xac, 0xa0, 0xb5, 0x29, 0x4b, 0xba, 0x11, 0x75, 0x1c, 0x7f,
+ 0x7e, 0x1d, 0x19, 0xe9, 0x2a, 0xc1, 0x0e, 0xe4, 0x50, 0x70,
+ 0xbe, 0x61, 0x53, 0xe8, 0xf0, 0x77, 0x77, 0xbe, 0x7b, 0x19,
+ 0x2d, 0xb7, 0x0f, 0x35, 0x9f, 0x78, 0x60, 0x4a, 0xbc, 0xb9,
+ 0x62, 0x9e, 0xc7, 0x4e, 0x56, 0x33, 0xfc, 0xc3, 0x24, 0x1d,
+ 0x23, 0xe3, 0x02, 0x85, 0x29, 0x35, 0x65, 0xf1, 0xc5, 0xe2,
+ 0xf3, 0x89, 0x43, 0x23, 0xda, 0x2f, 0x97, 0x1f, 0x73, 0xce,
+ 0xeb, 0x1c, 0x7a, 0x72, 0x5d, 0xb5, 0xcd, 0xff, 0x8a, 0x49,
+ 0xb4, 0x69, 0xaf, 0xe9, 0x0a, 0xd4, 0x8d, 0xe1, 0x32, 0xb3,
+ 0x3a, 0x22, 0xd7, 0x7f, 0x16, 0xf2, 0x47, 0x0f, 0xd9, 0x7d,
+ 0x64, 0x83, 0xee, 0xd3, 0xa8, 0xbf, 0xd5, 0xcb, 0x92, 0x10,
+ 0xf2, 0x2f, 0x26, 0x7c, 0x7e, 0xf3, 0x7d, 0xd3, 0x34, 0x97,
+ 0x82, 0xe0, 0x66, 0xc1, 0xa9, 0xdd, 0x22, 0xcb, 0x8c, 0x7f,
+ 0x2c, 0xea, 0xb7, 0x93, 0x02, 0xc7, 0x74, 0xac, 0x8b, 0x84,
+ 0x49, 0x08, 0x79, 0xf6, 0x13, 0x3e, 0x3f, 0x98, 0xdf, 0x88,
+ 0x1a, 0xaa, 0x41, 0x70, 0x49, 0x07, 0x25, 0xd1, 0x86, 0x46,
+ 0x77, 0x5e, 0xed, 0x3e, 0xe6, 0x5f, 0x15, 0x38, 0xf4, 0xe4,
+ 0xc2, 0x83, 0x6c, 0xd9, 0xff, 0xb0, 0x64, 0x60, 0xd2, 0xa6,
+ 0x39, 0xd7, 0x0f, 0x92, 0xb5, 0x94, 0xc6, 0x18, 0xe5, 0x6e,
+ 0x42, 0xb3, 0x5b, 0x04, 0x79, 0x9d, 0xdb, 0x41, 0x48, 0xc0,
+ 0x8b, 0x51, 0x56, 0xba, 0x0a, 0xb5, 0x32, 0xdf, 0x4b, 0x8a,
+ 0xd4, 0x1d, 0xa5, 0xb4, 0xa0, 0x99, 0xbf, 0xd9, 0x4e, 0x66,
+ 0xba, 0x81, 0x3a, 0xd5, 0xc9, 0x11, 0xa8, 0x87, 0xac, 0x46,
+ 0xf1, 0xb6, 0x3b, 0x02, 0x27, 0x33, 0x5d, 0xa1, 0x1d, 0x8b,
+ 0x85, 0xe9, 0x54, 0xa2, 0x56, 0x23, 0x99, 0x5b, 0xfc, 0x01,
+ 0xe6, 0x4a, 0x27, 0x9f, 0xe3, 0xab, 0x60, 0xa2, 0x68, 0x86,
+ 0xc7, 0x7b, 0x35, 0x15, 0xb8, 0xb6, 0x93, 0x58, 0xf9, 0x3c,
+ 0x71, 0xfc, 0x91, 0xa5, 0x43, 0x02, 0xd6, 0x7a, 0x4b, 0x85,
+ 0xc5, 0xab, 0xbb, 0xff, 0xea, 0x60, 0x69, 0xe2, 0xd4, 0xcb,
+ 0xc7, 0x6f, 0xcd, 0xaf, 0xb8, 0xf4, 0x8a, 0x05, 0xd1, 0x50,
+ 0x1b, 0xa7, 0x4f, 0x2c, 0x19, 0x18, 0xd5, 0xc8, 0x9f, 0x45,
+ 0x73, 0xc5, 0xbc, 0x25, 0x63, 0x0c, 0x93, 0x37, 0x21, 0xb8,
+ 0xcc, 0x02, 0xdd, 0xaf, 0x8c, 0xc1, 0x24, 0x60, 0xa4, 0xc9,
+ 0xc1, 0x79, 0x7a, 0x3e, 0xfe, 0x20, 0xe5, 0x4b, 0x3c, 0x24,
+ 0x91, 0x58, 0xac, 0x4e, 0x44, 0xb7, 0x45, 0x69, 0x7d, 0xcb,
+ 0x82, 0x43, 0x36, 0xf2, 0xd3, 0x73, 0x03, 0x26, 0xdc, 0xce,
+ 0xb6, 0x68, 0xc8, 0xda, 0x18, 0xce, 0xf9, 0x56, 0xe4, 0x9a,
+ 0xf3, 0x2c, 0x4f, 0x73, 0x43, 0x1f, 0xd6, 0x5e, 0x16, 0x1e,
+ 0x4d, 0x94, 0xb3, 0xef, 0x3d, 0x05, 0xf6, 0x2b, 0x9d, 0xc0,
+ 0x5a, 0xf0, 0xd9, 0xd4, 0x1b, 0x26, 0xa6, 0xd3, 0x09, 0x9a,
+ 0x03, 0xb0, 0x92, 0x18, 0xa1, 0x7d, 0xf2, 0xf3, 0x75, 0xf8,
+ 0x20, 0x52, 0xc2, 0xf1, 0xa1, 0x18, 0x3b, 0xa6, 0x11, 0x1b,
+ 0x1c, 0x3a, 0x7d, 0xd5, 0x33, 0xe7, 0x9b, 0xad, 0x28, 0x91,
+ 0xc8, 0xfa, 0xef, 0x6d, 0xd6, 0x74, 0xd1, 0x95, 0xc5, 0x21,
+ 0xb9, 0xe2, 0xf3, 0xae, 0x7c, 0xec, 0x51, 0xd4, 0xdc, 0x8c,
+ 0x70, 0x2f, 0xf2, 0x34, 0xcc, 0x39, 0x90, 0x41, 0xb8, 0x05,
+ 0xfc, 0x87, 0x68, 0x72, 0x55, 0xe0, 0x29, 0xed, 0x65, 0x20,
+ 0x1b, 0x28, 0x7b, 0x26, 0xf0, 0x54, 0x6a, 0x0b, 0x50, 0x44,
+ 0x5d, 0xa7, 0x9e, 0xad, 0x5a, 0xbb, 0x6f, 0xe5, 0x61, 0x62,
+ 0x2f, 0xc6, 0x8c, 0x0c, 0xa4, 0x8d, 0xfb, 0x21, 0xc1, 0xd4,
+ 0x51, 0xcc, 0x17, 0xff, 0x80, 0x48, 0xba, 0xa9, 0x59, 0x3d,
+ 0xd7, 0x92, 0xab, 0xd2, 0x9d, 0x11, 0x14, 0x6b, 0xd9, 0x01,
+ 0x64, 0xa5, 0x4f, 0x30, 0x09, 0xdc, 0x84, 0xa5, 0xb6, 0x08,
+ 0xf2, 0xf9, 0x75, 0x82, 0x90, 0x43, 0xd5, 0xa2, 0xbe, 0x32,
+ 0xd0, 0x8a, 0x6a, 0x91, 0x94, 0xb6, 0x36, 0x2a, 0xf6, 0xfd,
+ 0x9e, 0x53, 0x5a, 0x60, 0x12, 0x85, 0xc4, 0x23, 0x0e, 0xec,
+ 0x02, 0x61, 0x5d, 0x10, 0x7f, 0x56, 0x1d, 0xa2, 0xe7, 0x11,
+ 0x43, 0x5e, 0x51, 0xc6, 0x80, 0xa0, 0xf7, 0xa4, 0xcc, 0xb4,
+ 0x90, 0xfb, 0x59, 0xb5, 0x97, 0x2e, 0xcf, 0xbb, 0x87, 0x9e,
+ 0x45, 0xc5, 0x5a, 0xd5, 0xb6, 0x95, 0x05, 0x6a, 0xa7, 0x91,
+ 0x19, 0xb8, 0xc9, 0x8c, 0xab, 0x93, 0x47, 0x26, 0x9b, 0x83,
+ 0xa9, 0x52, 0x96, 0xb7, 0x22, 0xea, 0x38, 0xfe, 0x2a, 0x0b,
+ 0xb6, 0xe6, 0xa7, 0xfe, 0xbb, 0x5c, 0x30, 0x91, 0x6a, 0x9e,
+ 0x31, 0x58, 0x50, 0x2d, 0x11, 0x7f, 0xd2, 0xc4, 0x0f, 0x7c,
+ 0x83, 0x4a, 0xb3, 0x92, 0xd7, 0xd9, 0xbe, 0x7e, 0x16, 0x32,
+ 0x15, 0xe4, 0x5b, 0x73, 0xb2, 0x7f, 0xbc, 0x2e, 0x18, 0xa9,
+ 0x35, 0x4f, 0xf9, 0x2c, 0x28, 0xf7, 0xf6, 0x63, 0x46, 0x06,
+ 0x52, 0xa7, 0x9c, 0xf1, 0x81, 0x6a, 0xc9, 0x66, 0xea, 0x9e,
+ 0x40, 0x24, 0x62, 0x5a, 0x20, 0x6a, 0x9f, 0xc8, 0xb3, 0x1b,
+ 0x87, 0xd1, 0x55, 0x05, 0x45, 0x95, 0x4a, 0x69, 0xcc, 0x41,
+ 0x91, 0x79, 0x44, 0x55, 0xdb, 0xfe, 0x58, 0x17, 0xad, 0xe5,
+ 0x04, 0x4d, 0xe8, 0x9b, 0xe0, 0x7d, 0x0b, 0x92, 0xe1, 0x48,
+ 0xa1, 0xf4, 0x77, 0x41, 0x54, 0xa6, 0xb0, 0x6e, 0x99, 0xf0,
+ 0x8c, 0xe5, 0xd6, 0x58, 0xc5, 0x65, 0xad, 0x71, 0x7a, 0x21,
+ 0x95, 0x91, 0xfe, 0x24, 0x8e, 0x96, 0x90, 0xa2, 0xef, 0xdb,
+ 0x70, 0x6c, 0x10, 0x8e, 0xad, 0x80, 0x7e, 0xf5, 0xe8, 0x59,
+ 0x34, 0x88, 0x47, 0xc5, 0xd8, 0x71, 0x3d, 0xa3, 0xc8, 0xc0,
+ 0x67, 0x8f, 0x72, 0x6d, 0x1e, 0xe7, 0xa9, 0xeb, 0xff, 0xc0,
+ 0x24, 0xf6, 0x55, 0xd1, 0x9d, 0x20, 0x4e, 0x62, 0x17, 0x4d,
+ 0x05, 0xcf, 0xd2, 0xcd, 0x81, 0xdd, 0x3d, 0x1f, 0x7f, 0x10,
+ 0x93, 0xc4, 0x1e, 0x12, 0xa9, 0x2c, 0x56, 0x27, 0x22, 0xba,
+ 0x5e, 0x4f, 0xdb, 0x18, 0x8b, 0xd9, 0x35, 0x42, 0x41, 0x6b,
+ 0xa2, 0x5b, 0x2e, 0x3d, 0xc3, 0x90, 0xfb, 0x5b, 0xad, 0x41,
+ 0xe8, 0xd2, 0xa2, 0x44, 0xe5, 0x59, 0xf5, 0xdb, 0x42, 0x9d,
+ 0xec, 0x08, 0x79, 0x7c, 0x86, 0xb9, 0x96, 0x52, 0xb0, 0xab,
+ 0x15, 0xc9, 0xf4, 0x78, 0xb7, 0x66, 0x3f, 0x91, 0x36, 0x4c,
+ 0x8f, 0x65, 0x12, 0xf7, 0x06, 0xa3, 0xe7, 0x30, 0x81, 0xfa,
+ 0x27, 0x25, 0xea, 0x33, 0x32, 0xd7, 0x06, 0xd2, 0xaf, 0xf4,
+ 0x39, 0xc7, 0x4c, 0x0b, 0x63, 0x6c, 0x60, 0x77, 0xd4, 0xf6,
+ 0x0e, 0xc2, 0xfd, 0xa0, 0xbb, 0xe5, 0xbf, 0x9e, 0x8a, 0xb1,
+ 0x94, 0x32, 0x0b, 0xdf, 0x5d, 0x0f, 0xd3, 0xfc, 0xbe, 0x1d,
+ 0xf0, 0xcc, 0xe7, 0x2a, 0x61, 0x34, 0xee, 0x0e, 0xb1, 0xec,
+ 0xa3, 0xa6, 0x33, 0x81, 0xb5, 0x8f, 0x11, 0x84, 0x46, 0xde,
+ 0x16, 0x75, 0xba, 0xa8, 0x01, 0x82, 0x3a, 0x56, 0x53, 0x77,
+ 0x30, 0x5f, 0x31, 0xac, 0x0b, 0xf7, 0x25, 0x58, 0x9e, 0xe6,
+ 0x86, 0x3e, 0x6f, 0xbc, 0x87, 0xea, 0x11, 0x12, 0x7d, 0xf3,
+ 0x52, 0x92, 0x01, 0xd5, 0x3a, 0xf1, 0xd3, 0x5c, 0x03, 0xfc,
+ 0x21, 0x04, 0x71, 0xac, 0x1f, 0x68, 0x44, 0xbf, 0x4b, 0x65,
+ 0xc5, 0xfe, 0x1c, 0x20, 0xdd, 0x47, 0xd4, 0x9d, 0x21, 0x4d,
+ 0x4c, 0x5f, 0x59, 0x65, 0x24, 0x8d, 0xa4, 0x17, 0x55, 0x62,
+ 0x6c, 0x40, 0x07, 0x61, 0x9f, 0x50, 0xbc, 0x93, 0xbe, 0x4f,
+ 0x45, 0xb9, 0x4a, 0x19, 0xe4, 0x8e, 0xcf, 0xe6, 0x48, 0x51,
+ 0x96, 0x8c, 0x38, 0x36, 0x08, 0x47, 0xb7, 0x40, 0x3f, 0x9b,
+ 0x74, 0xcd, 0x1a, 0x44, 0xdd, 0x3e, 0x43, 0xbd, 0x4b, 0x29,
+ 0x58, 0xb4, 0xeb, 0x85, 0x7a, 0x3c, 0xba, 0x33, 0xfe, 0xa9,
+ 0x6e, 0x34, 0x78, 0x70, 0x9b, 0xcd, 0xf2, 0xb7, 0xb9, 0x9c,
+ 0xb0, 0x7c, 0x8c, 0x63, 0x08, 0xe5, 0xc4, 0xb4, 0x40, 0xd4,
+ 0xfd, 0x53, 0xa5, 0x36, 0xcd, 0x61, 0xaa, 0x0a, 0x8a, 0xe9,
+ 0x94, 0xd2, 0x58, 0x78, 0xf7, 0x15, 0x89, 0x3a, 0xf4, 0x14,
+ 0x5e, 0xac, 0x31, 0x86, 0xab, 0x46, 0xe2, 0xd6, 0x9c, 0xcc,
+ 0xb7, 0xc1, 0x74, 0x69, 0x51, 0x22, 0x93, 0xcd, 0x9b, 0x8c,
+ 0x21, 0xaf, 0x76, 0x04, 0x05, 0xcd, 0x3a, 0xea, 0x03, 0x73,
+ 0x40, 0x7d, 0xf1, 0x45, 0x3b, 0x52, 0x26, 0xa7, 0xd0, 0x65,
+ 0x19, 0x8a, 0x03, 0x69, 0xb6, 0x7a, 0xfd, 0x82, 0x26, 0xe4,
+ 0xd0, 0x36, 0x30, 0xda, 0x6a, 0x7b, 0xd8, 0xf3, 0x79, 0x57,
+ 0x48, 0x5a, 0x18, 0xc9, 0x1a, 0xc0, 0x41, 0x6e, 0x9c, 0x94,
+ 0x2e, 0xcc, 0x80, 0x8b, 0x8e, 0x42, 0xc1, 0x60, 0xec, 0xdd,
+ 0x44, 0x6c, 0x70, 0xe8, 0x37, 0xd2, 0xcc, 0x1a, 0x9e, 0x60,
+ 0x12, 0x7b, 0xcb, 0x89, 0xaf, 0x10, 0x27, 0x31, 0xea, 0xc7,
+ 0xe3, 0x86, 0x69, 0x87, 0x44, 0x3f, 0xce, 0x96, 0x3c, 0x33,
+ 0x49, 0xeb, 0x89, 0x0d, 0xda, 0xe2, 0xbd, 0x3b, 0x58, 0xc8,
+ 0xca, 0x76, 0xbd, 0x74, 0x46, 0xb6, 0x1a, 0xa8, 0x47, 0xd0,
+ 0x3e, 0x38, 0x81, 0x36, 0xc9, 0xdd, 0x3d, 0x43, 0x48, 0x2f,
+ 0xaa, 0x61, 0xf9, 0x40, 0x9c, 0xc4, 0x2e, 0x9a, 0x0a, 0x5d,
+ 0x67, 0x59, 0x2e, 0x90, 0x3f, 0x51, 0x1a, 0xfd, 0x84, 0x38,
+ 0x9b, 0xaa, 0x88, 0x08, 0x76, 0x0a, 0x6e, 0xe8, 0x72, 0x73,
+ 0x41, 0xf3, 0x2e, 0xc4, 0x4f, 0x48, 0x6e, 0x3d, 0x5b, 0x18,
+ 0x9a, 0x1e, 0xb2, 0xfb, 0x42, 0x08, 0xe2, 0x9b, 0x3e, 0xd0,
+ 0x88, 0xbd, 0x96, 0xca, 0x49, 0x3f, 0x38, 0x40, 0x79, 0x8e,
+ 0x65, 0x3b, 0xbf, 0x3a, 0x23, 0x5b, 0x0d, 0x54, 0xc2, 0x68,
+ 0x1f, 0x1c, 0xa1, 0x1b, 0x85, 0x8f,
+ },
+ {
+ /* 10 */
+ 0xd4, 0x19, 0x2d, 0xd4, 0xc2, 0xc3, 0xd3, 0x9c, 0xe1, 0x5d,
+ 0xa9, 0x18, 0x2c, 0xd1, 0xbe, 0x8f, 0x40, 0x7b, 0xcb, 0x40,
+ 0x94, 0x34, 0xa6, 0x04, 0x50, 0xb3, 0x14, 0xdb, 0x6b, 0x25,
+ 0x60, 0xb5, 0x97, 0xc0, 0xd2, 0x97, 0x3c, 0x7b, 0x81, 0x84,
+ 0xc2, 0x71, 0xd1, 0x87, 0x95, 0x0f, 0x3d, 0xb7, 0x4d, 0x69,
+ 0xb6, 0x4d, 0xd9, 0x84, 0x1d, 0xc1, 0xcf, 0xff, 0x43, 0x34,
+ 0xeb, 0xa7, 0x8a, 0xbf, 0x03, 0xa2, 0x34, 0x03, 0x6a, 0x8c,
+ 0xf4, 0x1c, 0x73, 0x9f, 0x6c, 0x44, 0xd2, 0xfb, 0xe3, 0x8d,
+ 0xd1, 0x3c, 0x71, 0xd1, 0x7c, 0x94, 0x0c, 0xb8, 0x74, 0x3f,
+ 0x1d, 0xd4, 0x99, 0x1f, 0x58, 0xdb, 0xf8, 0x08, 0x79, 0xf8,
+ 0xe3, 0xac, 0xd6, 0xee, 0xc6, 0xdc, 0xd0, 0x47, 0x36, 0x48,
+ 0x84, 0x45, 0xca, 0xc7, 0x26, 0xca, 0xc0, 0xf2, 0x54, 0x44,
+ 0x19, 0xd2, 0x97, 0xf5, 0x14, 0x30, 0xaf, 0xb4, 0x53, 0xb7,
+ 0xbd, 0x53, 0xdb, 0xb5, 0x9a, 0x19, 0x37, 0x70, 0x7d, 0xd9,
+ 0xd3, 0x46, 0x9b, 0x84, 0x66, 0x20, 0x27, 0x66, 0x0a, 0xf5,
+ 0xde, 0x3e, 0x9e, 0xf6, 0xc6, 0xdf, 0xd8, 0xe3, 0x55, 0xd7,
+ 0xa5, 0x0f, 0x8d, 0xa5, 0x1f, 0x25, 0x03, 0x2e, 0x1d, 0x7f,
+ 0x96, 0x35, 0xb7, 0x77, 0x16, 0x46, 0x10, 0x6e, 0x42, 0x10,
+ 0x25, 0x0d, 0xc8, 0x01, 0x14, 0x5c, 0x05, 0x46, 0x6a, 0x98,
+ 0x18, 0xbc, 0x6c, 0x6a, 0x9f, 0x6c, 0xb5, 0x5b, 0xa3, 0x76,
+ 0x77, 0x32, 0x6d, 0x84, 0x71, 0xbc, 0x5a, 0x7f, 0x90, 0x98,
+ 0x17, 0x90, 0xce, 0x65, 0x47, 0x09, 0xb4, 0xf9, 0x2d, 0x33,
+ 0xbc, 0xd2, 0xd8, 0x15, 0x5e, 0xa5, 0xc0, 0x5e, 0x96, 0x05,
+ 0x21, 0xdc, 0xa8, 0x3c, 0x2a, 0x36, 0x53, 0xc4, 0x71, 0x8e,
+ 0xbd, 0x56, 0xee, 0xbd, 0xc9, 0xcf, 0xaf, 0xce, 0x03, 0x0d,
+ 0x70, 0x50, 0xe8, 0xa3, 0x02, 0xa4, 0xc7, 0xd5, 0x5b, 0xc7,
+ 0x8d, 0x42, 0xef, 0x81, 0x86, 0x9e, 0xc0, 0x1a, 0x94, 0xb2,
+ 0x45, 0xbe, 0x20, 0xdc, 0x84, 0x20, 0x4a, 0x1a, 0x53, 0x02,
+ 0x28, 0xb8, 0x0a, 0x8c, 0xd4, 0xf3, 0x30, 0xbb, 0x36, 0x35,
+ 0xae, 0x36, 0xbb, 0xcc, 0xb0, 0x3b, 0xda, 0x19, 0xd7, 0x42,
+ 0xd9, 0x5e, 0x2d, 0xde, 0xe6, 0xd6, 0x72, 0xe6, 0xe1, 0x9d,
+ 0x51, 0x36, 0x3e, 0x53, 0xee, 0xaa, 0x0e, 0xa9, 0x95, 0x7e,
+ 0xf3, 0x9d, 0x6c, 0xf3, 0x7a, 0xc7, 0x46, 0x13, 0xbf, 0x6d,
+ 0x5f, 0x20, 0xd1, 0xff, 0x6b, 0x96, 0x78, 0xfe, 0x2c, 0x78,
+ 0x08, 0xc4, 0x59, 0xe6, 0x66, 0x79, 0xf8, 0x32, 0xe0, 0x02,
+ 0x44, 0xec, 0x60, 0xa7, 0x4f, 0x60, 0xde, 0x2e, 0xf5, 0x06,
+ 0x78, 0x0b, 0x1e, 0x57, 0xbf, 0xd6, 0x50, 0x0e, 0x0c, 0xcd,
+ 0xd0, 0x0c, 0x6b, 0x75, 0x56, 0x70, 0x0f, 0x39, 0x73, 0xd3,
+ 0xce, 0x6a, 0x0a, 0x71, 0x3c, 0x7f, 0x16, 0x3c, 0x04, 0x62,
+ 0xcd, 0x73, 0x33, 0xdd, 0x7c, 0x19, 0x70, 0x01, 0x22, 0x76,
+ 0x7f, 0xa6, 0xe9, 0x7f, 0xfa, 0xda, 0x9f, 0x6b, 0x10, 0xf1,
+ 0x04, 0x86, 0xc9, 0xdf, 0xa1, 0x4e, 0xc0, 0x8d, 0x9e, 0xc0,
+ 0x7f, 0x5c, 0x29, 0x0c, 0xf0, 0x16, 0x3c, 0xae, 0xbd, 0x6f,
+ 0xa0, 0x1c, 0xfa, 0x75, 0xe0, 0xfa, 0xaf, 0xe5, 0xcf, 0x47,
+ 0x25, 0x36, 0x98, 0x3f, 0xaa, 0x5b, 0x87, 0xb3, 0xe5, 0x74,
+ 0x46, 0xe5, 0x8b, 0x11, 0xa5, 0x2a, 0x4d, 0xcc, 0x82, 0xee,
+ 0xdc, 0x52, 0x76, 0xf3, 0x2c, 0x11, 0x54, 0x2c, 0x21, 0x6f,
+ 0x05, 0x72, 0x27, 0x81, 0x79, 0x5f, 0x1a, 0x99, 0x3a, 0xca,
+ 0x29, 0x34, 0x08, 0x29, 0x9f, 0x38, 0xda, 0x56, 0xb2, 0xe3,
+ 0xcd, 0x93, 0xaf, 0x57, 0xdc, 0x9e, 0xce, 0x3d, 0xd7, 0xce,
+ 0x58, 0x60, 0x66, 0xd5, 0x1c, 0xc5, 0x07, 0x05, 0xef, 0x16,
+ 0xa9, 0x9b, 0x7c, 0x04, 0xdd, 0x7c, 0x90, 0x56, 0x6b, 0x77,
+ 0x63, 0x6e, 0x68, 0xc2, 0x1b, 0x24, 0x42, 0xc3, 0x07, 0x58,
+ 0xc5, 0x07, 0xf2, 0x1e, 0xc6, 0x8d, 0x76, 0x88, 0xfc, 0xb4,
+ 0x29, 0xdd, 0xe5, 0xa2, 0xb4, 0xbe, 0x62, 0xb4, 0x1c, 0xed,
+ 0x26, 0x9a, 0x99, 0x56, 0xb7, 0x4f, 0x93, 0x07, 0xee, 0x81,
+ 0x81, 0x29, 0xf8, 0x81, 0xcd, 0xad, 0x62, 0xbd, 0x30, 0xd0,
+ 0x0c, 0x49, 0x98, 0xa2, 0x20, 0xd2, 0xa2, 0x57, 0x48, 0xa2,
+ 0xed, 0x3b, 0xc5, 0xa3, 0x6b, 0xf7, 0x6a, 0x81, 0x9e, 0xaa,
+ 0xf3, 0xe4, 0xf0, 0x3f, 0x58, 0xf0, 0x10, 0x4b, 0xb2, 0x0f,
+ 0xcc, 0xf2, 0x33, 0x64, 0x03, 0x04, 0x88, 0x1b, 0xb6, 0xc3,
+ 0xfb, 0xb6, 0x50, 0xa4, 0x3f, 0x33, 0x7a, 0xbc, 0xff, 0x37,
+ 0x0f, 0x14, 0xed, 0x77, 0x43, 0xd9, 0xff, 0x43, 0xfe, 0xb8,
+ 0x52, 0x18, 0x23, 0x2c, 0x78, 0x9f, 0xb9, 0xde, 0x83, 0x38,
+ 0x67, 0xff, 0x8a, 0x67, 0x2c, 0x30, 0x33, 0x8b, 0x0e, 0x83,
+ 0xe2, 0xe3, 0x96, 0x0b, 0xb5, 0xac, 0x59, 0xfd, 0x05, 0x59,
+ 0x64, 0x1b, 0xe7, 0x51, 0xde, 0xb4, 0xd6, 0x82, 0x7a, 0x19,
+ 0x94, 0x2c, 0xec, 0x9c, 0xca, 0xec, 0x5e, 0x33, 0x2c, 0x7e,
+ 0xd7, 0x97, 0x45, 0xf1, 0xa7, 0xf6, 0x9a, 0xd6, 0x86, 0x71,
+ 0x3d, 0x86, 0x3f, 0xb3, 0xa4, 0x30, 0x46, 0x58, 0xf0, 0xfd,
+ 0xb1, 0x7f, 0xc5, 0x70, 0xf4, 0xc5, 0xa9, 0xf4, 0x88, 0xd9,
+ 0x80, 0x9e, 0xc9, 0xe5, 0xa3, 0x94, 0xf8, 0x22, 0x8e, 0x34,
+ 0xf6, 0xb8, 0x30, 0xf6, 0xc4, 0x90, 0x99, 0x37, 0x2a, 0x0f,
+ 0xeb, 0xec, 0x64, 0x31, 0x8d, 0xc2, 0x5c, 0xd8, 0x59, 0x5c,
+ 0xda, 0x4c, 0x38, 0x75, 0x4b, 0xd6, 0x62, 0x4e, 0xcf, 0xd7,
+ 0x72, 0x78, 0x92, 0xe5, 0x8e, 0x92, 0x82, 0x2c, 0x5e, 0xa0,
+ 0x57, 0x13, 0x65, 0x4b, 0x20, 0xc1, 0xdb, 0xe3, 0xa8, 0x1d,
+ 0xf0, 0xa8, 0x52, 0x95, 0xb8, 0xeb, 0x82, 0x33, 0xc1, 0xda,
+ 0x37, 0xf5, 0xfc, 0x4c, 0xcf, 0xe2, 0x7a, 0xcf, 0x7e, 0xa5,
+ 0x8b, 0x60, 0x8c, 0xb0, 0x23, 0x39, 0xa1, 0xfe, 0x49, 0xe0,
+ 0x2f, 0xb3, 0x60, 0x2f, 0x4b, 0xe3, 0xf1, 0x6e, 0x54, 0x1e,
+ 0x15, 0x1b, 0xc8, 0x62, 0xd9, 0x47, 0xe9, 0xb9, 0x96, 0xe9,
+ 0xe0, 0x64, 0xf3, 0x5a, 0x42, 0xf5, 0xf1, 0x3d, 0x12, 0x38,
+ 0x7c, 0x82, 0x54, 0xef, 0x78, 0x54, 0x29, 0xab, 0x5c, 0x94,
+ 0x41, 0xf8, 0x81, 0x6d, 0xfa, 0x9b, 0x7e, 0x26, 0x8f, 0x99,
+ 0xb1, 0x8f, 0xea, 0x91, 0x2d, 0x64, 0xdc, 0x03, 0x37, 0xe2,
+ 0xca, 0xdb, 0x29, 0x55, 0xaa, 0x60, 0x69, 0xaa, 0x1e, 0xdc,
+ 0xa1, 0x42, 0x61, 0xd9, 0x89, 0xa2, 0xab, 0xe6, 0xff, 0xba,
+ 0x24, 0x26, 0x75, 0x24, 0xd2, 0x88, 0x61, 0x93, 0x2d, 0xaf,
+ 0x9a, 0x7c, 0x2f, 0xd5, 0x36, 0x94, 0x71, 0x16, 0xa0, 0x71,
+ 0xdd, 0xe6, 0xd0, 0xb2, 0xfc, 0x22, 0x3f, 0x2d, 0x9b, 0xa6,
+ 0xa8, 0xc9, 0x65, 0x82, 0x13, 0x65, 0x60, 0x79, 0x2a, 0x22,
+ 0xed, 0x69, 0xaa, 0x9b, 0x0a, 0x18, 0xb6, 0x5a, 0x99, 0x70,
+ 0x9b, 0x99, 0x1b, 0x47, 0xce, 0x5d, 0x2e, 0xa2, 0xea, 0x2c,
+ 0xc7, 0x76, 0x34, 0x30, 0x96, 0x1f, 0x7f, 0x96, 0x1a, 0xbe,
+ 0x6c, 0x31, 0x52, 0x04, 0xf5, 0xbb, 0xdb, 0xe7, 0xdd, 0xcc,
+ 0x9c, 0x55, 0xc7, 0x9c, 0xa5, 0x10, 0x11, 0x79, 0xbb, 0xc0,
+ 0x5e, 0xe0, 0x72, 0xb8, 0xd2, 0x64, 0xdd, 0xf1, 0xa1, 0xdd,
+ 0x17, 0xe1, 0x5a, 0xc8, 0x7b, 0x06, 0x6e, 0x07, 0x57, 0x75,
+ 0x52, 0xaa, 0x5a, 0x5f, 0x31, 0x5a, 0x0e, 0x97, 0x13, 0x4d,
+ 0xad, 0x2b, 0xba, 0xc6, 0xa8, 0xe2, 0x77, 0xa1, 0x80, 0xf6,
+ 0x55, 0x80, 0xeb, 0x68, 0x8f, 0x08, 0xa0, 0xa5, 0x28, 0x75,
+ 0xd6, 0x4a, 0xc0, 0xa9, 0xe8, 0x66, 0x3b, 0xe8, 0xc6, 0xa1,
+ 0x1e, 0xef, 0xd2, 0x80, 0xd5, 0x01, 0x5c, 0xd0, 0x9c, 0xf9,
+ 0x50, 0x15, 0x89, 0x50, 0xb1, 0x39, 0x6e, 0x05, 0x44, 0xef,
+ 0x11, 0x9d, 0x01, 0xbd, 0x78, 0x09, 0x57, 0x4d, 0x4c, 0x57,
+ 0x43, 0x27, 0xa8, 0x88, 0x32, 0x67, 0xed, 0x29, 0x28, 0x60,
+ 0x9d, 0xab, 0xe4, 0xab, 0xeb, 0xe4, 0xad, 0xd4, 0x48, 0x9f,
+ 0xdd, 0xb9, 0xa6, 0xd2, 0x92, 0xba, 0x96, 0x88, 0x1e, 0xde,
+ 0x0b, 0x1e, 0x02, 0x31, 0x87, 0xd8, 0xf8, 0x8f, 0x3e, 0xed,
+ 0x38, 0xe1, 0x11, 0x3b, 0x84, 0x0c, 0xa4, 0x84, 0x73, 0xfa,
+ 0xbd, 0x99, 0xa5, 0xb2, 0xb8, 0x85, 0x2d, 0x6c, 0xc6, 0x86,
+ 0x15, 0x4b, 0x1e, 0x15, 0x9b, 0x5a, 0x17, 0x25, 0x81, 0x3e,
+ 0xb1, 0x8a, 0xdf, 0x56, 0xfe, 0xe8, 0x41, 0xa4, 0x66, 0x41,
+ 0xb2, 0xf1, 0x4b, 0xb1, 0xc0, 0xc6, 0x30, 0xe7, 0x25, 0xcd,
+ 0x80, 0xce, 0x19, 0x86, 0xce, 0x19, 0xf0, 0x2f, 0x41, 0x55,
+ 0x8e, 0x07, 0xc2, 0x59, 0x11, 0x3c, 0xf4, 0x99, 0x26, 0x5b,
+ 0xec, 0x26, 0x9e, 0xc1, 0x78, 0x3a, 0xce, 0x45, 0xd2, 0x04,
+ 0xb3, 0xc6, 0x35, 0x62, 0xa0, 0x2a, 0xd1, 0xa0, 0xa1, 0x72,
+ 0xdc, 0x0a, 0x88, 0x1d, 0x22, 0xf9, 0x02, 0xb9, 0xf0, 0x12,
+ 0x0b, 0x95, 0x15, 0x0b, 0x99, 0x6b, 0x90, 0xfd, 0x79, 0xb1,
+ 0x8f, 0x67, 0xe7, 0xb7, 0xef, 0xd3, 0x22, 0xa1, 0x1d, 0x22,
+ 0x06, 0x53, 0x4a, 0xab, 0xcb, 0x52, 0x42, 0xf4, 0x48, 0xe0,
+ 0x33, 0x4d, 0x9d, 0x8a, 0x6a, 0x9d, 0x83, 0xd5, 0xfc, 0xcc,
+ 0x2b, 0xb5, 0x7a, 0xdc, 0x3c, 0x50, 0x32, 0x1f, 0xf5, 0x1a,
+ 0x04, 0xf5, 0xae, 0x1c, 0x6d, 0x2b, 0x59, 0x90, 0x87, 0xa8,
+ 0xb6, 0xca, 0x6e, 0x4f, 0xda, 0xa9, 0x64, 0xda, 0xe5, 0xff,
+ 0x9c, 0x45, 0x0d, 0x8e, 0x92, 0xb3, 0x7e, 0xa8, 0xb7, 0x08,
+ 0x37, 0xea, 0x03, 0x37, 0x9d, 0x09, 0x5d, 0x8e, 0x4a, 0x6c,
+ 0xf3, 0x7e, 0x97, 0xb6, 0xcd, 0xa5, 0xa7, 0x72, 0x14, 0xa7,
+ 0x53, 0x6c, 0x1a, 0x87, 0xfe, 0x95, 0xde, 0x4d, 0x2b, 0x64,
+ 0x15, 0xb0, 0xcd, 0x9f, 0xe3, 0xcd, 0x32, 0xec, 0x92, 0xc9,
+ 0x6f, 0x5a, 0x6b, 0x41, 0x3d, 0xed, 0x4a, 0x16, 0x63, 0x05,
+ 0x7b, 0x63, 0xb4, 0xa2, 0x01, 0x1a, 0x0b, 0x94, 0x72, 0x13,
+ 0x6d, 0x2d, 0xb3, 0x83, 0xbc, 0x89, 0x43, 0xbc, 0xef, 0x0a,
+ 0x42, 0x7b, 0x93, 0x78, 0x54, 0x6c, 0xa6, 0x4b, 0xe2, 0xdf,
+ 0xe2, 0x2c, 0x83, 0xe2, 0x79, 0x0f, 0x63, 0xa7, 0x3b, 0x44,
+ 0x7e, 0x5a, 0xf5, 0x8f, 0x93, 0x51, 0xd6, 0x64, 0xb4, 0xd6,
+ 0x8e, 0x8a, 0xca, 0x35, 0x02, 0xb7, 0xe1, 0x60, 0xb0, 0xc2,
+ 0xbd, 0x79, 0x94, 0x62, 0xe6, 0x94, 0x56, 0xf7, 0x75, 0x98,
+ 0xb1, 0xee, 0xbd, 0xc3, 0x47, 0xf4, 0xde, 0x3a, 0xa4, 0xd0,
+ 0x20, 0xa4, 0x39, 0xe0, 0xee, 0x9b, 0x8d, 0x0a, 0xb2, 0x09,
+ 0xf9, 0x9f, 0xf6, 0x3d, 0x88, 0xc1, 0x74, 0x88, 0x18, 0x8f,
+ 0xeb, 0xe9, 0xaa, 0x8b, 0xcb, 0x56, 0xe3, 0x06, 0xcc, 0xf7,
+ 0x62, 0xda, 0xd6, 0x62, 0x92, 0x67, 0xec, 0xaf, 0x9b, 0xe1,
+ 0x56, 0x2f, 0x23, 0xc5, 0x53, 0xf8, 0x2e, 0x6c, 0xcd, 0x2e,
+ 0x6d, 0x26, 0x1c, 0xdb, 0xc4, 0x6b, 0x31, 0x27, 0x86, 0x8a,
+ 0x39, 0x3c, 0xc8, 0xba, 0xbf, 0xc8, 0x8c, 0xbb, 0x4d, 0xed,
+ 0xfa, 0x38, 0xdf, 0x8d, 0x88, 0x23, 0xac, 0x42, 0x18, 0x59,
+ 0x63, 0x18, 0xd6, 0xea, 0xac, 0xe0, 0x1e, 0x72, 0xe6, 0x65,
+ 0x5f, 0xd4, 0x14, 0xe2, 0x06, 0x87, 0x68, 0x06, 0xd4, 0xdb,
+ 0x2b, 0x38, 0xe6, 0xfd, 0xd8, 0x88, 0x67, 0x35, 0x05, 0xd9,
+ 0x16, 0xe9, 0x2a, 0x16, 0xf1, 0xd6, 0xe3, 0x39, 0xf2, 0xa1,
+ 0xdd, 0xce, 0x0d, 0xad, 0x1d, 0x65, 0x13, 0xcc, 0x76, 0x13,
+ 0x4f, 0x81, 0x3c, 0x1d, 0x67, 0xc3, 0x69, 0x02, 0xb8, 0x63,
+ 0xfb, 0x31, 0xd2, 0x9e, 0x45, 0xd2, 0x16, 0x18, 0xf8, 0xa4,
+ 0x07, 0xa0, 0x71, 0x90, 0x4b, 0xe4, 0xbb, 0x56, 0x5b, 0x80,
+ 0x9c, 0x5b, 0x28, 0x52, 0xfe, 0xf8, 0x3d, 0x5e, 0x9e, 0xfa,
+ 0xe6, 0x0a, 0x97, 0xda, 0xff, 0x50, 0xbc, 0xff, 0x11, 0xb2,
+ 0x10, 0x63, 0xb0, 0x54, 0x2c, 0xf3, 0x1f, 0x95, 0x61, 0xe7,
+ 0xbb, 0xd1, 0x86, 0xbb, 0x1d, 0x14, 0x84, 0xf6, 0xe5, 0xf0,
+ 0xa8, 0xd8, 0x8f, 0x96, 0x07, 0x7d, 0xc2, 0xf0, 0x07, 0xc2,
+ 0x33, 0x15, 0x30, 0xa5, 0x13, 0xfc, 0x74, 0xd6, 0x21, 0x7c,
+ 0xa3, 0xea, 0xb9, 0xac, 0x1f, 0xb9, 0x51, 0x5d, 0x9d, 0x5f,
+ 0x06, 0x1a, 0xe0, 0xa0, 0x13, 0x85, 0x04, 0x8b, 0xbf, 0x2b,
+ 0x77, 0xbf, 0x85, 0x86, 0xb6, 0x67, 0xe0, 0xe7, 0x38, 0x28,
+ 0x74, 0xb0, 0x01, 0x52, 0xef, 0x3e, 0xfe, 0xef, 0x34, 0xbf,
+ 0xd8, 0x62, 0xa4, 0x08, 0x29, 0xb5, 0x75, 0x0d, 0x79, 0x5b,
+ 0xdc, 0x2e, 0x0c, 0xdc, 0x31, 0x24, 0xb7, 0x7d, 0xeb, 0x73,
+ 0x4a, 0x3b, 0x19, 0x9d, 0xb2, 0xd1, 0x1b, 0xfb, 0x57, 0x1b,
+ 0xbc, 0x66, 0x58, 0xfc, 0x6d, 0xed, 0x8a, 0x21, 0x8d, 0x2f,
+ 0xf7, 0x6f, 0x27, 0x84, 0x41, 0x27, 0xb8, 0x04, 0x95, 0x8f,
+ 0x5e, 0x30, 0xf6, 0x38, 0xfd, 0x2e, 0xd5, 0x19, 0x3e, 0x02,
+ 0x8f, 0x3e, 0x48, 0x2b, 0xd4, 0xda, 0xd0, 0x37, 0x34, 0x61,
+ 0xec, 0x12, 0x21, 0x80, 0xe7, 0x09, 0xdf, 0xe7, 0xc7, 0x58,
+ 0xbc, 0x83, 0xae, 0x26, 0xca, 0x96, 0x40, 0x41, 0x75, 0x05,
+ 0xb0, 0x44, 0x93, 0xb0, 0x84, 0x7f, 0x14, 0x0b, 0x9c, 0x41,
+ 0x27, 0xbf, 0x68, 0x21, 0xe8, 0xae, 0x69, 0x4f, 0xc3, 0x69,
+ 0x0b, 0x0c, 0x7c, 0x52, 0xe2, 0x50, 0xd9, 0x48, 0xc4, 0x72,
+ 0xbc, 0x2b, 0x21, 0x03, 0x29, 0x21, 0x6c, 0xdf, 0xbe, 0xb7,
+ 0xb8, 0xcd, 0x2e, 0xb0, 0x9a, 0x1b, 0xd0, 0xc0, 0x0f, 0x6f,
+ 0xe4, 0x0f, 0x01, 0xf9, 0xa2, 0x6c, 0x7c, 0xa6, 0x1f, 0x97,
+ 0x1c, 0x91, 0xe9, 0xfc, 0xf1, 0xe0, 0xf5, 0xf1, 0x36, 0x8e,
+ 0x5f, 0xba, 0x5c, 0x87, 0x17, 0x58, 0x4d, 0xec, 0x68, 0x60,
+ 0x1a, 0x24, 0xfa, 0x1a, 0x9a, 0xa3, 0xb5, 0x49, 0xfd, 0x98,
+ 0xae, 0x1d, 0xc3, 0xc7, 0x17, 0x14, 0x0d, 0x12, 0x7d, 0x0d,
+ 0x4d, 0xb0, 0xbb, 0xc5, 0x9f, 0x4c, 0x57, 0xef, 0x80, 0x82,
+ 0xea, 0x0a, 0xa6, 0xad, 0xb9, 0xa6, 0x75, 0xa9, 0xf7, 0x32,
+ 0x6e, 0xe0, 0xfa, 0x71, 0x65, 0x8c, 0xf5, 0xcb, 0x02, 0x7d,
+ 0x99, 0x02, 0x4c, 0x49, 0x19, 0xa9, 0xe3, 0xea, 0x48, 0x78,
+ 0x9c, 0x13, 0x03, 0xf6, 0x6a, 0xed, 0xf7, 0x6a, 0x61, 0x80,
+ 0x88, 0x4e, 0x91, 0xcf, 0xb5, 0x0c, 0x16, 0x89, 0x5f, 0xa6,
+ 0x08, 0x37, 0x21, 0x08, 0xf3, 0xe7, 0x64, 0xe1, 0x0a, 0x2e,
+ 0xe3, 0x23, 0x35, 0x4c, 0x0c, 0x5e, 0x4c, 0xb6, 0x1b, 0x4c,
+ 0xff, 0x41, 0xf0, 0x74, 0x5f, 0x8a, 0x67, 0x08, 0xa5, 0x4f,
+ 0x6a, 0xc4, 0x49, 0x93, 0x47, 0x49, 0x41, 0x16, 0x2f, 0x50,
+ 0xca, 0xe8, 0xd3, 0xc4, 0x10, 0x81, 0x8c, 0x90, 0x91, 0x47,
+ 0xba, 0x91, 0xe8, 0xa0, 0xaa, 0xbc, 0x24, 0x8c, 0x09, 0x0f,
+ 0xf2, 0x3a, 0x38, 0x6e, 0xe1, 0x8e, 0xb7, 0xe1, 0x13, 0x83,
+ 0x97, 0xbb, 0x48, 0xdb, 0x12, 0x1e, 0x27, 0x74, 0x70, 0xdc,
+ 0x8b, 0x63, 0x40, 0x8b, 0x72, 0x03, 0x1f, 0xf5, 0xd9, 0x14,
+ 0xa7, 0x12, 0x31, 0xfd, 0x2f, 0x7a, 0x14, 0x94, 0xb3, 0x14,
+ 0xbd, 0x9f, 0xfa, 0x90, 0x11, 0x4b, 0x95, 0xb6, 0x91, 0xbe,
+ 0x1e, 0x93, 0x95, 0xbd, 0x4b, 0x95, 0x70, 0x32, 0x98, 0x2d,
+ 0x21, 0x9b, 0x99, 0xff, 0x09, 0x1c, 0x3e, 0x41, 0xb8, 0x73,
+ 0xb2, 0xb8, 0x77, 0x98, 0x70, 0xea, 0x96, 0x6f, 0xc4, 0x9c,
+ 0x5d, 0x6d, 0xe4, 0xf0, 0x9e, 0x28, 0x5e, 0x9e, 0xe9, 0x59,
+ 0x08, 0xd0, 0x58, 0x2a, 0x16, 0x98, 0xee, 0xab, 0xd1, 0x92,
+ 0xeb, 0xc4, 0x0f, 0xeb, 0xac, 0x2d, 0xea, 0xf3, 0xa1, 0x1f,
+ 0xb9, 0x45, 0x8e, 0x2b, 0x7f, 0x74, 0x6e, 0x17, 0x06, 0x6e,
+ 0xf9, 0x12, 0xba, 0xdf, 0x94, 0xd8, 0x25, 0xfc, 0xed, 0xaf,
+ 0x59, 0x89, 0xc3, 0x2f, 0xaa, 0xc3, 0x15, 0xd0, 0xdd, 0x10,
+ 0x83, 0x89, 0x50, 0xea, 0x6f, 0x94, 0x43, 0x91, 0x98, 0xaf,
+ 0x36, 0x98, 0x3d, 0x82, 0x23, 0xe8, 0xbe, 0xd7, 0xce, 0x10,
+ 0x89, 0x9e, 0xd4, 0x4b, 0x70, 0xc9, 0x0d, 0x70, 0xfb, 0x23,
+ 0x3d, 0x07, 0x6c, 0x57, 0x1b, 0x11, 0xd5, 0x4e, 0x48, 0xb2,
+ 0x72, 0xb4, 0x94, 0x72, 0xb7, 0x6a, 0x24, 0xae, 0x8f, 0xbd,
+ 0x53, 0x69, 0x49, 0x5d, 0x4b, 0x44, 0x04, 0xfa, 0xf1, 0x04,
+ 0x98, 0x92, 0x32, 0x91, 0x05, 0x17, 0x90, 0xf0, 0xfb, 0x26,
+ 0x06, 0x2f, 0xed, 0x43, 0x67, 0xed, 0x78, 0xf6, 0xc1, 0xcb,
+ 0x47, 0xe2, 0x61, 0xcd, 0xe9, 0x1e, 0x7a, 0xad, 0xf2, 0x42,
+ 0xc1, 0xf2, 0x5c, 0x02, 0xab, 0xa6, 0x2f, 0x18, 0x7b, 0x1c,
+ 0x9f, 0x17, 0x8b, 0xed, 0x47, 0x23, 0x0e, 0x47, 0x66, 0x2a,
+ 0x60, 0x89, 0x26, 0x3b, 0xe8, 0x6f, 0x42, 0xf8, 0x85, 0x17,
+ 0x45, 0x5e, 0x97, 0x45, 0x2a, 0x63, 0x79, 0x20, 0xc5, 0xd1,
+ 0xa0, 0x17, 0xde, 0xeb, 0x86, 0xe1, 0x9a, 0xd2, 0xaf, 0x9a,
+ 0x71, 0xcb, 0x3a, 0x41, 0x5d, 0x3d, 0x86, 0x68, 0x15, 0x8d,
+ 0xd7, 0xbd, 0xd5, 0xc6, 0x80, 0xd5, 0xe4, 0x06, 0x3e, 0x29,
+ 0x71, 0x28, 0x8d, 0x24, 0x62, 0x39, 0x5e, 0xf4, 0xd9, 0x0b,
+ 0x50, 0xd9, 0x8f, 0x73, 0x68, 0x59, 0x7e, 0x11, 0xfe, 0xf7,
+ 0xac, 0x53, 0x54, 0x85, 0x8d, 0xe4, 0x28, 0x8d, 0xa6, 0xd8,
+ 0x34, 0xcd, 0x3f, 0xe9, 0x7f, 0x9a, 0x56, 0xc8, 0x2a, 0xa3,
+ 0x3b, 0x27, 0xd3, 0x3b, 0xf6, 0x7c, 0x0b, 0xfe, 0x45, 0x55,
+ 0x80, 0xad, 0x59, 0xdc, 0xc7, 0xd4, 0x6f, 0xc8, 0xab, 0x6f,
+ 0xdf, 0xd7, 0x57, 0x6a, 0x04, 0xad, 0x01, 0xc0, 0xa3, 0x47,
+ 0xb9, 0xf2, 0x4e, 0xcb, 0x82, 0x4e, 0xb3, 0x08, 0xe9, 0xdd,
+ 0xbc, 0x60, 0x2f, 0x70, 0x39, 0x5c, 0x69, 0x32, 0x34, 0x48,
+ 0x37, 0x34, 0xf7, 0x85, 0xa9, 0x92, 0x39, 0xf3, 0x9f, 0x3a,
+ 0x45, 0x4d, 0x2e, 0x28, 0x74, 0x33, 0xfc, 0x74, 0x63, 0xb1,
+ 0x0f, 0x96, 0x69, 0x40, 0x8b, 0xe1, 0x2e, 0x68, 0x4e, 0x9d,
+ 0x9f, 0xf7, 0xf3, 0x9f, 0xcf, 0x9c, 0xe5, 0x65, 0xc8, 0x5f,
+ 0x32, 0xa4, 0xa0, 0x43, 0x31, 0xe9, 0x7d, 0xdb, 0x70, 0x7d,
+ 0xb6, 0x93, 0x86, 0xc2, 0xf3, 0x1b, 0x4c, 0xfe, 0x55, 0xcc,
+ 0xa2, 0xb8, 0x61, 0x78, 0xe2, 0x61, 0xf8, 0xeb, 0x18, 0xb3,
+ 0xe8, 0x7e, 0x3a, 0x6b, 0xf1, 0x3e, 0xb0, 0x75, 0x31, 0x6d,
+ 0x6b, 0x31, 0x49, 0xd2, 0x76, 0xb6, 0xac, 0x91, 0x2b, 0xf6,
+ 0xf0, 0x83, 0xc8, 0x7c, 0x09, 0xe8, 0x8c, 0x09, 0xd5, 0x22,
+ 0x89, 0x54, 0x9a, 0x5b, 0xc7, 0x1f, 0x7b, 0xa4, 0xec, 0x25,
+ 0x12, 0x13, 0xdb, 0x12, 0x69, 0x44, 0xd1, 0xa8, 0xf7, 0xb6,
+ 0x4d, 0x3e, 0xf6, 0x8b, 0x1b, 0x4a, 0x64, 0x5d, 0xbe, 0x64,
+ 0x46, 0xbc, 0xc7, 0x97, 0x7d, 0x1c, 0x8e, 0xa7, 0x44, 0xf0,
+ 0x56, 0x21, 0xd7, 0xbb, 0x19, 0xd7, 0xa8, 0x4f, 0x27, 0x80,
+ 0x92, 0xc2, 0xc5, 0x5c, 0xfe, 0x2a, 0x5d, 0x02, 0x93, 0x3a,
+ 0x23, 0x93, 0xa4, 0xe9, 0xb3, 0x15, 0xc7, 0x66, 0x41, 0x77,
+ 0x6e, 0x29, 0x3b, 0x98, 0x3a, 0xf8, 0x7e, 0x3a, 0xd0, 0xb9,
+ 0xe6, 0x4b, 0xd5, 0x20, 0xa4, 0x91, 0x17, 0x34, 0x27, 0xaf,
+ 0xa3, 0x88, 0xe5, 0xa3, 0xcb, 0xfe, 0x28, 0x16, 0xfb, 0x82,
+ 0x4e, 0xbd, 0xd0, 0x42, 0x13, 0x9f, 0xad, 0x38, 0xac, 0xad,
+ 0xec, 0xc2, 0x67, 0xcf, 0x17, 0x51, 0x75, 0x16, 0x82, 0x3b,
+ 0x1a, 0x18, 0x1c, 0xa3, 0x92, 0x1c, 0x4e, 0x78, 0x9e, 0x71,
+ 0x1b, 0x65, 0x76, 0x95, 0xa4, 0xf2, 0x12, 0xcd, 0x7e, 0x79,
+ 0x44, 0x7e, 0xdc, 0x1f, 0x72, 0xde, 0x80, 0x84, 0x20, 0xba,
+ 0x87, 0x37, 0x41, 0x35, 0x76, 0x4e, 0x65, 0x76, 0x2f, 0xf8,
+ 0x16, 0x3f, 0x8a, 0xaa, 0xc3, 0x99, 0xb2, 0x7b, 0x4d, 0x6b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x10, 0xf2, 0x33,
+ 0x05, 0x9b, 0x6f, 0x1f, 0x4f, 0x7b, 0x63, 0x8e, 0x6c, 0x90,
+ 0xcb, 0x8a, 0xf7, 0x67, 0x9d, 0xf7, 0xe2, 0x55, 0x74, 0x82,
+ 0xba, 0x7a, 0xcf, 0xd0, 0x2a, 0xd9, 0x6d, 0xb9, 0x28, 0xeb,
+ 0xa5, 0x28, 0xb9, 0xfd, 0x37, 0xe3, 0x22, 0x96, 0xe9, 0xaf,
+ 0xe1, 0xbf, 0x3c, 0xe5, 0x23, 0x7e, 0xb0, 0x23, 0x20, 0x96,
+ 0xa7, 0x1e, 0x5b, 0x27, 0x66, 0xc8, 0x06, 0x08, 0xd3, 0x36,
+ 0xb2, 0x39, 0x0a, 0xb2, 0xc8, 0x36, 0x0d, 0xa2, 0x7f, 0xab,
+ 0x6f, 0xc7, 0xf4, 0x32, 0xeb, 0x58, 0xbe, 0xf4, 0xda, 0xbe,
+ 0xa3, 0x43, 0x5b, 0xd2, 0x70, 0x92, 0x1c, 0x14, 0x3a, 0x58,
+ 0xe1, 0x29, 0x42, 0x06, 0x52, 0x42, 0xd8, 0x7d, 0xbf, 0xad,
+ 0xb3, 0x59, 0x5c, 0xa3, 0xf7, 0x36, 0x63, 0x43, 0x11, 0xb1,
+ 0xef, 0x11, 0x03, 0xc8, 0x25, 0xb4, 0x84, 0x29, 0x21, 0x7a,
+ 0x24, 0x70, 0xf8, 0xc7, 0xc4, 0x77, 0x6f, 0xc4, 0xe7, 0xce,
+ 0x1b, 0x9d, 0xf5, 0x01, 0xac, 0x5e, 0x46, 0x49, 0xa6, 0x33,
+ 0x5f, 0x7a, 0x6d, 0x5f, 0xb0, 0xc0, 0xcc, 0x69, 0x38, 0x49,
+ 0x0e, 0x0a, 0x1d, 0x2c, 0x91, 0xf5, 0x30, 0xb2, 0xc6, 0x30,
+ 0x6f, 0x17, 0x9b, 0x03, 0x3c, 0xe4, 0x0f, 0xca, 0xbe, 0x6b,
+ 0x28, 0x07, 0x01, 0xdf, 0xad, 0x01, 0x26, 0xc5, 0xed, 0xb5,
+ 0x90, 0x75, 0x24, 0x3c, 0x4e, 0xe8, 0xe0, 0x7b, 0xd8, 0xd4,
+ 0xfd, 0xd8, 0xa9, 0xb6, 0x85, 0xec, 0xee, 0x64, 0xda, 0xcb,
+ 0xe2, 0xbb, 0xb4, 0xfe, 0x05, 0x25, 0x5c, 0x05, 0xbe, 0x57,
+ 0xdf, 0x24, 0x95, 0x62, 0xb4, 0xcc, 0xb5, 0xce, 0xe6, 0x54,
+ 0x32, 0xcf, 0x5f, 0x32, 0x23, 0x5e, 0x82, 0xaa, 0xdf, 0x0e,
+ 0x47, 0xb2, 0x22, 0x78, 0x2b, 0xf1, 0xdf, 0x8c, 0x38, 0xdf,
+ 0x5b, 0xa8, 0x43, 0x61, 0x98, 0xec, 0x26, 0x7f, 0xcb, 0x66,
+ 0x51, 0x5c, 0xba, 0x0e, 0x2b, 0xba, 0x3b, 0xd1, 0x69, 0x43,
+ 0x75, 0x85, 0x8c, 0xe4, 0xc1, 0x7e, 0xe7, 0x06, 0x8e, 0x46,
+ 0x1c, 0x8e, 0xcc, 0x54, 0xc0, 0xd1, 0x4c, 0x76, 0x13, 0xde,
+ 0x84, 0x33, 0xc9, 0x2e, 0x73, 0x6b, 0x39, 0x73, 0x91, 0xaf,
+ 0xc9, 0x1b, 0x1f, 0xc8, 0x77, 0x55, 0x07, 0xb5, 0xab, 0x3f,
+ 0xfd, 0x2d, 0x25, 0xfd, 0x5d, 0xfb, 0x09, 0xca, 0x53, 0xbe,
+ 0x64, 0x8b, 0x83, 0x86, 0x62, 0x11, 0x8c, 0x3b, 0x85, 0x8c,
+ 0x80, 0x1d, 0xd9, 0x78, 0xaf, 0x9c, 0x5b, 0xa6, 0x18, 0x20,
+ 0xca, 0xd8, 0xb3, 0xe6, 0xa7, 0xb3, 0xee, 0xf3, 0xe0, 0x17,
+ 0xef, 0xde, 0x4b, 0xfb, 0xba, 0xda, 0x0b, 0x23, 0x56, 0x92,
+ 0xe1, 0x56, 0x65, 0xe2, 0x45, 0x3d, 0xa2, 0x12, 0xc9, 0x15,
+ 0x66, 0x88, 0x7d, 0xd0, 0x2b, 0x49, 0x91, 0x2b, 0xd3, 0x71,
+ 0xc3, 0xff, 0x51, 0x09, 0x85, 0xeb, 0x33, 0x44, 0xdf, 0x68,
+ 0x82, 0x8b, 0xcc, 0x82, 0xa7, 0x21, 0x96, 0xa1, 0x43, 0x4f,
+ 0x60, 0x0d, 0x4a, 0x59, 0xc3, 0x5f, 0x6b, 0x32, 0x5a, 0x6b,
+ 0x47, 0x45, 0x65, 0xfb, 0x01, 0xba, 0x91, 0x30, 0x58, 0x61,
+ 0xbf, 0xdd, 0x87, 0xae, 0x90, 0x87, 0x19, 0x76, 0x49, 0x85,
+ 0xd6, 0x2d, 0xd4, 0xc1, 0xff, 0x97, 0x25, 0x0b, 0xae, 0x9a,
+ 0x98, 0xae, 0x86, 0x4e, 0x93, 0xd3, 0x64, 0xce, 0x19, 0x52,
+ 0x50, 0xc0, 0xf9, 0x95, 0x46, 0xfc, 0xa3, 0x46, 0x40, 0xef,
+ 0x8d, 0x3c, 0xb6, 0x4e, 0xcc, 0x53, 0x0c, 0x10, 0x65, 0x6c,
+ 0xa9, 0xc2, 0x5d, 0xa9, 0x74, 0x50, 0x55, 0x5e, 0x12, 0x46,
+ 0xe5, 0xe6, 0x79, 0x1d, 0x1c, 0x37, 0xe0, 0x51, 0x1a, 0xe0,
+ 0x35, 0x46, 0x7a, 0x0e, 0xd8, 0xae, 0x36, 0x22, 0x69, 0x9c,
+ 0x90, 0xa7, 0xc6, 0x0a, 0xf6, 0xc6, 0xab, 0x87, 0x02, 0x34,
+ 0x16, 0xeb, 0xe4, 0x26, 0xda, 0x5a, 0xa5, 0xc5, 0xaf, 0x45,
+ 0x35, 0xaf, 0xa0, 0x8b, 0x7e, 0x66, 0xf4, 0xbb, 0x3d, 0x6e,
+ 0x1e, 0x28, 0x19, 0xee, 0xb1, 0x9b, 0x3e, 0xb1, 0xa2, 0xba,
+ 0xf9, 0xbe, 0x0c, 0x34, 0x03, 0x83, 0x26, 0xc9, 0x08, 0xd5,
+ 0x0e, 0xb0, 0x49, 0x0e, 0x27, 0x3c, 0x4f, 0xd9, 0xec, 0xd3,
+ 0x3b, 0xab, 0x52, 0x79, 0x09, 0x87, 0x89, 0x1e, 0xd9, 0x89,
+ 0x3e, 0x4a, 0x06, 0x5c, 0x3a, 0xfe, 0xef, 0x6a, 0xad, 0xee,
+ 0x2c, 0x8c, 0x79, 0x21, 0x81, 0x79, 0x2e, 0x01, 0xb4, 0x53,
+ 0xf6, 0x0c, 0xdc, 0x0e, 0xae, 0xea, 0xa4, 0x97, 0xd3, 0x41,
+ 0xe8, 0xd3, 0x30, 0xdd, 0x15, 0x11, 0x97, 0xd5, 0x55, 0xac,
+ 0x05, 0x0c, 0x5b, 0x2d, 0x2d, 0xce, 0xf9, 0x2d, 0x07, 0xaa,
+ 0xe8, 0xc7, 0xb7, 0xf4, 0x5d, 0x63, 0x54, 0x71, 0xda, 0xb1,
+ 0xc9, 0x65, 0x12, 0xc9, 0xaa, 0x7e, 0xa0, 0x58, 0x6a, 0x4d,
+ 0xfb, 0xb1, 0xc6, 0xcb, 0x4c, 0x39, 0x0a, 0x4a, 0xb8, 0x0a,
+ 0xbf, 0xae, 0x7d, 0x48, 0xe9, 0xc4, 0xab, 0x5b, 0xa9, 0x5f,
+ 0x0f, 0xa8, 0xdb, 0x76, 0xc9, 0xdb, 0xc3, 0x3a, 0x71, 0xf0,
+ 0x9d, 0xfb, 0xb6, 0x8f, 0x30, 0x40, 0x57, 0x73, 0x7b, 0x5c,
+ 0x18, 0x7b, 0x62, 0x48, 0xad, 0xfa, 0x15, 0xe6, 0x94, 0x76,
+ 0x32, 0xf9, 0xa7, 0x61, 0xde, 0x53, 0x95, 0xde, 0x7d, 0x6d,
+ 0xae, 0xd4, 0x08, 0x99, 0x02, 0x43, 0x85, 0x8e, 0xb1, 0x27,
+ 0x48, 0x4c, 0xea, 0x48, 0x67, 0xd3, 0xc2, 0xe5, 0x5a, 0x9d,
+ 0xf7, 0xf8, 0x5e, 0x69, 0x6c, 0xeb, 0xe3, 0xf3, 0x2e, 0xe3,
+ 0x5f, 0xca, 0x8e, 0x12, 0xab, 0x31, 0x5a, 0x66, 0xbb, 0x67,
+ 0x73, 0x2a, 0x4b, 0xee, 0xde, 0x4b, 0x0d, 0x5f, 0x36, 0xf9,
+ 0x29, 0x02, 0x9b, 0xbc, 0x8c, 0x92, 0x8f, 0x66, 0x35, 0x97,
+ 0x9a, 0x35, 0xd1, 0x40, 0x44, 0x27, 0xa9, 0x86, 0xbb, 0x06,
+ 0x0b, 0xa5, 0xce, 0x53, 0x8a, 0xbc, 0xed, 0x8a, 0x54, 0xc6,
+ 0xf2, 0x40, 0x49, 0x61, 0x83, 0x2e, 0x7f, 0x15, 0xcf, 0x01,
+ 0xfb, 0xaa, 0x4d, 0xfb, 0x89, 0x20, 0x22, 0xf2, 0xb5, 0x43,
+ 0xbc, 0x03, 0xe4, 0xb3, 0x67, 0xc8, 0x85, 0xd3, 0x09, 0x85,
+ 0x55, 0x3f, 0x50, 0x2c, 0x35, 0xc7, 0x9c, 0xb9, 0x63, 0x84,
+ 0x26, 0xfd, 0xcb, 0x18, 0x8b, 0xcb, 0xe6, 0x37, 0xb9, 0xf1,
+ 0x89, 0xa7, 0xb3, 0xc9, 0x5a, 0xd8, 0x4f, 0xcf, 0xb7, 0x1c,
+ 0x56, 0xb7, 0x76, 0x61, 0xd2, 0x86, 0xea, 0xc9, 0xdb, 0x0b,
+ 0x41, 0xfc, 0x0d, 0x0c, 0x2a, 0x96, 0x3c, 0x2a, 0xf5, 0xb4,
+ 0x2e, 0x4a, 0xc1, 0x7c, 0xa1, 0xd7, 0x7d, 0xac, 0x3f, 0x13,
+ 0xab, 0xbf, 0xc4, 0xab, 0x38, 0x19, 0x4c, 0xf7, 0xf1, 0xac,
+ 0xad, 0x9e, 0xe5, 0x0e, 0x1f, 0xc1, 0x3f, 0xdd, 0x22, 0x3f,
+ 0x6e, 0xee, 0x39, 0x6f, 0x40, 0x42, 0x10, 0x5d, 0xa2, 0xfa,
+ 0xc1, 0xfb, 0x39, 0x5a, 0x4a, 0x39, 0xba, 0x35, 0x12, 0x57,
+ 0xa6, 0xbf, 0xc8, 0xd5, 0xc5, 0xcf, 0xc4, 0x22, 0xea, 0x1b,
+ 0xa2, 0xea, 0x8a, 0xe8, 0x07, 0x46, 0x31, 0x6a, 0x9d, 0x79,
+ 0xc0, 0xc3, 0x9f, 0x0f, 0xb5, 0x61, 0xcf, 0xb5, 0x3a, 0x28,
+ 0xcb, 0x2f, 0x09, 0x23, 0x93, 0x73, 0xdd, 0xef, 0x0e, 0xfa,
+ 0x51, 0xca, 0x24, 0x51, 0x97, 0xfc, 0x83, 0xb0, 0xd4, 0x9a,
+ 0x35, 0xa1, 0x4f, 0x55, 0x98, 0x72, 0x9b, 0x0d, 0x02, 0x9b,
+ 0x57, 0x0e, 0xd7, 0xf4, 0xcd, 0x48, 0xa2, 0x54, 0x5b, 0x65,
+ 0x37, 0xc6, 0x7a, 0x83, 0xb5, 0x7a, 0x44, 0x8d, 0x40, 0x4f,
+ 0x85, 0x93, 0xb0, 0x4a, 0x7c, 0x11, 0x47, 0x1a, 0xa1, 0xf5,
+ 0x7c, 0xa1, 0x87, 0xb7, 0x31, 0xbf, 0x18, 0x68, 0x06, 0xc5,
+ 0x4c, 0x51, 0x10, 0x69, 0xd0, 0xe3, 0xdc, 0xd0, 0x5a, 0x51,
+ 0xe1, 0x0d, 0xe4, 0x4a, 0x39, 0xe8, 0xd7, 0xf7, 0xb8, 0xa0,
+ 0x4a, 0x31, 0x73, 0x4a, 0x2b, 0x9a, 0xdb, 0x4c, 0xb9, 0x77,
+ 0xbf, 0x80, 0xc2, 0x7a, 0x6f, 0x1d, 0x77, 0x91, 0xc8, 0x77,
+ 0x09, 0x3d, 0xfb, 0x8a, 0x1a, 0xdf, 0xe7, 0xa5, 0xfc, 0x93,
+ 0xad, 0x10, 0x5d, 0x07, 0xf4, 0x5d, 0xfc, 0x89, 0xd5, 0xc0,
+ 0xdb, 0xa3, 0x46, 0x72, 0x81, 0x3f, 0x92, 0x03, 0x4f, 0x14,
+ 0x2f, 0x4f, 0x95, 0xcd, 0x04, 0x68, 0x2c, 0x15, 0x0b, 0x4c,
+ 0x77, 0xb4, 0x89, 0x49, 0x1d, 0x7c, 0x3f, 0x1d, 0x68, 0xbd,
+ 0x73, 0xc4, 0x8b, 0x10, 0x52, 0xa9, 0xea, 0x1a, 0xf2, 0xb6,
+ 0x83, 0x54, 0x61, 0x83, 0x81, 0xe4, 0x7b, 0x14, 0xd3, 0x3a,
+ 0x44, 0x31, 0x04, 0xb1, 0x23, 0x24, 0x52, 0x68, 0x10, 0x52,
+ 0xfd, 0x70, 0x77, 0xac, 0xa7, 0x05, 0x59, 0xe5, 0x9d, 0xae,
+ 0x7b, 0xff, 0x25, 0xf9, 0xd8, 0x25, 0xf4, 0x4d, 0x8c, 0x26,
+ 0xbd, 0xda, 0xbe, 0x40, 0x61, 0x3d, 0xd6, 0xef, 0xfe, 0x8f,
+ 0x11, 0xfe, 0x37, 0x77, 0xfd, 0xd6, 0x20, 0x21, 0x08, 0xcf,
+ 0x51, 0x7d, 0x81, 0x9c, 0x3d, 0xa0, 0xbb, 0x3d, 0x22, 0xa7,
+ 0x20, 0xc6, 0xa3, 0xa8, 0x58, 0x25, 0x3e, 0xe9, 0xc2, 0x0d,
+ 0x58, 0x22, 0xa8, 0x58, 0x42, 0xde, 0x0a, 0xe4, 0x4e, 0xc1,
+ 0xf2, 0xbe, 0x34, 0xf1, 0x74, 0x57, 0x55, 0x30, 0xd5, 0x55,
+ 0x0f, 0x6e, 0xb1, 0x21, 0xd1, 0x8d, 0xa5, 0x51, 0xb4, 0x73,
+ 0x9e, 0x5d, 0xf9, 0xd7, 0xd4, 0xf9, 0xc5, 0x69, 0x3b, 0x5b,
+ 0x56, 0xa9, 0xf4, 0x7b, 0x78, 0xa0, 0x64, 0x3e, 0xac, 0xe7,
+ 0x01, 0xac, 0xca, 0x07, 0x8a, 0x7a, 0x87, 0x24, 0x51, 0x2a,
+ 0xcc, 0xd3, 0xfa, 0x63, 0xfc, 0xf2, 0x88, 0xfc, 0x7b, 0x3e,
+ 0xe4, 0x7f, 0xc3, 0xcb, 0x40, 0xb7, 0xcd, 0x6e, 0x82, 0x6a,
+ 0x68, 0x90, 0x6e, 0x68, 0x2d, 0xc9, 0x91, 0xe7, 0x72, 0x25,
+ 0xfd, 0x74, 0x8a, 0x9a, 0x5c, 0x50, 0xc1, 0x52, 0x33, 0xc1,
+ 0x59, 0x99, 0xc4, 0xb9, 0x60, 0x63, 0x18, 0x92, 0xf3, 0x87,
+ 0x40, 0x67, 0x38, 0x85, 0xe7, 0x38, 0x9c, 0xf0, 0xff, 0xe2,
+ 0x36, 0xca, 0xec, 0xe9, 0x8b, 0x27, 0x24, 0x59, 0x75, 0xec,
+ 0x51, 0x75, 0x45, 0x74, 0xe2, 0x23, 0xf9, 0x35, 0xaf, 0xdd,
+ 0x60, 0x80, 0xae, 0xe6, 0x6d, 0xb5, 0x32, 0x6d, 0x93, 0x9e,
+ 0x4e, 0xc3, 0xe7, 0x47, 0x49, 0xb8, 0x3f, 0x54, 0xba, 0x04,
+ 0x1f, 0x01, 0xa6, 0x1f, 0x24, 0xf4, 0x6a, 0x6d, 0x68, 0xfa,
+ 0x1a, 0xd1, 0x76, 0x09, 0xf1, 0x40, 0x17, 0x36, 0x87, 0x17,
+ 0xd7, 0x13, 0x0e, 0x8c, 0x62, 0xd4, 0xf9, 0xf2, 0x43, 0x45,
+ 0xfd, 0x1e, 0x44, 0x81, 0x3a, 0x44, 0x0c, 0xa6, 0x94, 0x95,
+ 0x55, 0xa4, 0x84, 0x2b, 0x90, 0x03, 0x66, 0x9a, 0xcc, 0x40,
+ 0x4e, 0xcc, 0x14, 0x29, 0x7f, 0x7c, 0xff, 0x2f, 0x4f, 0x7d,
+ 0x73, 0x05, 0xaa, 0x6d, 0xc5, 0xa8, 0xc2, 0xc5, 0xc1, 0x0b,
+ 0xf6, 0x28, 0x65, 0x74, 0x88, 0x62, 0x08, 0xa1, 0x46, 0x48,
+ 0xee, 0xe1, 0x53, 0xee, 0x12, 0x7a, 0x35, 0xd7, 0x34, 0x7d,
+ 0x0d, 0x89, 0x3b, 0xe5, 0x99, 0x20,
+ },
+ {
+ /* 11 */
+ 0xfe, 0x50, 0x71, 0x7c, 0xfc, 0x9b, 0xad, 0x09, 0xfc, 0x5e,
+ 0x38, 0x3f, 0x3f, 0x68, 0x53, 0x1b, 0x6d, 0x9f, 0xd8, 0xf4,
+ 0xee, 0xe2, 0xd1, 0xe9, 0xee, 0x90, 0x3c, 0xda, 0xda, 0xa3,
+ 0xbc, 0xf8, 0x53, 0x94, 0xe4, 0x01, 0xdd, 0x92, 0x0e, 0x3a,
+ 0xdd, 0xb8, 0xb0, 0xa6, 0xa6, 0x24, 0x5d, 0x4e, 0xab, 0xb8,
+ 0x14, 0x53, 0x11, 0x91, 0xf4, 0xf0, 0x11, 0x18, 0xc5, 0x95,
+ 0x95, 0x7d, 0x5f, 0xd3, 0xc0, 0x5b, 0x4d, 0x89, 0xcf, 0xeb,
+ 0x72, 0xda, 0xcf, 0x76, 0xb4, 0x43, 0x43, 0xef, 0xb2, 0xad,
+ 0x7d, 0xbd, 0xa6, 0x24, 0x6e, 0x65, 0x3b, 0xa4, 0x6e, 0xc4,
+ 0x27, 0xfa, 0xfa, 0x9a, 0x46, 0x2f, 0xaf, 0x51, 0xea, 0x67,
+ 0x31, 0xc0, 0x2f, 0x72, 0x31, 0x0d, 0xb3, 0x9d, 0x9d, 0xe2,
+ 0x80, 0x96, 0x72, 0x7b, 0xc6, 0x6f, 0x16, 0xda, 0x5f, 0x61,
+ 0x16, 0x84, 0x7a, 0xe4, 0xe4, 0x01, 0x2d, 0xa3, 0x27, 0x93,
+ 0xa3, 0x40, 0xfb, 0xd0, 0x06, 0x98, 0xfb, 0xc2, 0x87, 0x4e,
+ 0x4e, 0x14, 0x21, 0x6b, 0xf9, 0x87, 0x2e, 0x5f, 0xc4, 0x86,
+ 0xbc, 0x0b, 0xc4, 0x34, 0x89, 0x31, 0x31, 0x0e, 0x45, 0x1d,
+ 0x8e, 0xbe, 0xc8, 0x09, 0xfa, 0x88, 0x7e, 0x29, 0xfa, 0x31,
+ 0x79, 0xdf, 0xdf, 0xc7, 0xf0, 0x7b, 0x8a, 0x57, 0x36, 0x3d,
+ 0xda, 0xd9, 0xa5, 0xab, 0xda, 0x24, 0x0f, 0xd7, 0xd7, 0x58,
+ 0x2f, 0x3e, 0x3c, 0x9e, 0x43, 0xef, 0x23, 0xb9, 0x53, 0x92,
+ 0x23, 0xc3, 0xb7, 0x78, 0x78, 0x29, 0x6f, 0x75, 0x50, 0xaa,
+ 0x45, 0x16, 0xc5, 0xde, 0xc4, 0xba, 0xc5, 0xc7, 0x77, 0xa0,
+ 0xa0, 0xdd, 0x94, 0x0d, 0xe1, 0xb4, 0x6f, 0xe7, 0x04, 0xa3,
+ 0x23, 0x81, 0x04, 0x4a, 0x7e, 0x01, 0x01, 0xca, 0xc2, 0x40,
+ 0x41, 0x23, 0xe5, 0xcb, 0x4d, 0xdc, 0x68, 0x36, 0x4d, 0x07,
+ 0x90, 0x82, 0x82, 0xb3, 0x29, 0x5a, 0xb4, 0x5c, 0x0a, 0xc8,
+ 0xe9, 0xa9, 0x7a, 0x78, 0xe9, 0x0c, 0x83, 0xab, 0xab, 0xdf,
+ 0xce, 0x88, 0xd7, 0xae, 0x6c, 0x7a, 0x77, 0x71, 0x89, 0x95,
+ 0x77, 0x48, 0x1e, 0x6d, 0x6d, 0xb0, 0x5e, 0x7c, 0x1e, 0x4f,
+ 0xc0, 0x96, 0xf0, 0xbd, 0xc8, 0x49, 0xf0, 0x80, 0xba, 0x3c,
+ 0x3c, 0xf5, 0xd6, 0xdb, 0x23, 0x7a, 0x5d, 0x74, 0xdb, 0x81,
+ 0xdd, 0x1a, 0xdb, 0xd7, 0xf1, 0x46, 0x46, 0x8b, 0xfe, 0x2e,
+ 0x2a, 0xc0, 0xbc, 0x11, 0x93, 0xa6, 0xee, 0x1c, 0x93, 0x69,
+ 0xe1, 0x54, 0x54, 0x21, 0xc4, 0x24, 0x75, 0xac, 0x99, 0x4c,
+ 0x2e, 0xc7, 0x4e, 0x63, 0x2e, 0xee, 0xcb, 0xea, 0xea, 0x67,
+ 0x3b, 0xa5, 0xba, 0x31, 0xb4, 0x8e, 0x99, 0x93, 0x58, 0x7c,
+ 0x99, 0xd8, 0x22, 0xb7, 0xb7, 0x13, 0xe2, 0x84, 0x86, 0xaf,
+ 0xf7, 0x61, 0xba, 0x2a, 0x0b, 0xee, 0xba, 0x1b, 0x95, 0xcf,
+ 0xcf, 0x3a, 0x8d, 0xf1, 0xdb, 0x56, 0xad, 0x26, 0x17, 0x82,
+ 0x27, 0xd0, 0x17, 0x77, 0x84, 0x75, 0x75, 0xd2, 0xfc, 0xb3,
+ 0x76, 0x92, 0x38, 0x5b, 0x36, 0x8b, 0x84, 0xe3, 0x36, 0x91,
+ 0x0c, 0xec, 0xec, 0x9e, 0xf2, 0xe6, 0xb7, 0x62, 0xab, 0xdf,
+ 0xf1, 0xe5, 0xb0, 0xf8, 0xf1, 0x73, 0x44, 0xad, 0xad, 0x26,
+ 0x07, 0xcb, 0x2f, 0x82, 0x9c, 0x28, 0xbb, 0x72, 0x73, 0x5f,
+ 0xbb, 0xe8, 0x6b, 0x5e, 0x5e, 0xe9, 0x5c, 0xe1, 0xe3, 0x21,
+ 0x10, 0xfd, 0x14, 0x6a, 0xaf, 0xc0, 0x14, 0xa1, 0x45, 0x05,
+ 0x05, 0x64, 0x4c, 0x83, 0x51, 0x01, 0x9b, 0x1b, 0xcd, 0x5b,
+ 0x82, 0x7b, 0xcd, 0x53, 0x8b, 0xa2, 0xa2, 0x8a, 0xd3, 0x8d,
+ 0xd2, 0xec, 0x4c, 0x43, 0x5f, 0xa5, 0x14, 0xd6, 0x5f, 0xc9,
+ 0x94, 0x67, 0x67, 0x78, 0xc6, 0xb9, 0xb1, 0x1e, 0x2a, 0xf1,
+ 0xc1, 0x7d, 0xe7, 0x3b, 0xc1, 0x8d, 0x09, 0xa1, 0xa1, 0x17,
+ 0x56, 0x4d, 0xb6, 0xc9, 0x75, 0xd2, 0xf9, 0x60, 0xf6, 0x39,
+ 0xf9, 0xe7, 0xb8, 0xaf, 0xaf, 0x71, 0x40, 0x4b, 0x03, 0x3e,
+ 0xa1, 0x17, 0x18, 0x4c, 0xca, 0x80, 0x18, 0x7f, 0xc7, 0x06,
+ 0x06, 0xf9, 0xc9, 0x43, 0x44, 0x61, 0xc5, 0xf2, 0x65, 0x08,
+ 0xf5, 0x75, 0x65, 0x86, 0x1a, 0x88, 0x88, 0x7b, 0xb1, 0x9f,
+ 0x9a, 0x75, 0x48, 0xed, 0x5a, 0x5e, 0x4f, 0xe6, 0x5a, 0x70,
+ 0x14, 0xf7, 0xf7, 0x61, 0xd5, 0xe9, 0x8d, 0x80, 0x69, 0x1e,
+ 0xe2, 0xc4, 0xb4, 0xa9, 0xe2, 0x4e, 0xbe, 0xd9, 0xd9, 0x3e,
+ 0x39, 0x38, 0xea, 0x9b, 0xf1, 0x98, 0x5c, 0x4d, 0x9c, 0xc6,
+ 0x5c, 0x1f, 0x55, 0x17, 0x17, 0xce, 0x76, 0x89, 0xc4, 0xb2,
+ 0xb3, 0xbd, 0xef, 0xba, 0xa9, 0x58, 0xef, 0x63, 0xc2, 0x4b,
+ 0x4b, 0x70, 0x6d, 0xe8, 0xad, 0xc4, 0x95, 0x7d, 0x21, 0x09,
+ 0xa3, 0x33, 0x21, 0xe6, 0x88, 0x99, 0x99, 0x4c, 0x0e, 0x55,
+ 0xb9, 0x0f, 0x15, 0x99, 0x81, 0xdf, 0x92, 0xfc, 0x81, 0xa7,
+ 0xe5, 0xb1, 0xb1, 0xea, 0x2b, 0xc7, 0xe2, 0x8a, 0xce, 0xf0,
+ 0x1c, 0xef, 0xe9, 0x01, 0x1c, 0x35, 0xb9, 0x07, 0x07, 0x33,
+ 0x0b, 0x03, 0xe6, 0x63, 0x30, 0xc4, 0x3c, 0xbe, 0x32, 0x83,
+ 0x3c, 0x20, 0xcf, 0x0f, 0x0f, 0xac, 0xd4, 0x46, 0x99, 0x4b,
+ 0xe9, 0xfa, 0x42, 0x12, 0x85, 0x66, 0x42, 0x0f, 0xd3, 0xf1,
+ 0xf1, 0x98, 0x1c, 0xaa, 0x29, 0xfe, 0x1d, 0x06, 0x8b, 0xea,
+ 0x24, 0x9c, 0x8b, 0x16, 0x26, 0x52, 0x52, 0xd8, 0x0d, 0x67,
+ 0xa9, 0x2d, 0x6b, 0x49, 0x01, 0x58, 0x78, 0xb1, 0x01, 0xf3,
+ 0xfe, 0x91, 0x91, 0xd3, 0xd1, 0x10, 0x61, 0x67, 0x19, 0xa8,
+ 0x8e, 0x11, 0x7f, 0xac, 0x8e, 0xaf, 0xa6, 0xc2, 0xc2, 0xc1,
+ 0x1e, 0x37, 0xd0, 0x79, 0x33, 0x59, 0x4f, 0x6c, 0x98, 0x97,
+ 0x4f, 0x22, 0xaf, 0x63, 0x63, 0xd6, 0x48, 0x7a, 0x48, 0x99,
+ 0x04, 0xae, 0x05, 0xfb, 0x5b, 0x30, 0x05, 0xb9, 0x80, 0x90,
+ 0x90, 0x19, 0x13, 0x50, 0xf1, 0x96, 0x11, 0x37, 0x84, 0x24,
+ 0xc9, 0xcc, 0x84, 0x1e, 0x65, 0x21, 0x21, 0xf3, 0x38, 0x97,
+ 0x91, 0x5a, 0xd6, 0x92, 0x02, 0xb0, 0xf0, 0xa1, 0x02, 0x25,
+ 0x3f, 0xe1, 0xe1, 0x65, 0x61, 0x20, 0x65, 0x8e, 0xe7, 0x9c,
+ 0xae, 0x40, 0xa4, 0x2e, 0xae, 0xba, 0xd0, 0xca, 0xca, 0x5e,
+ 0xc1, 0x72, 0x24, 0xad, 0x02, 0x57, 0xe3, 0x9c, 0xcc, 0x18,
+ 0xe3, 0xbd, 0x40, 0x48, 0x48, 0xed, 0xe8, 0x28, 0x9c, 0x09,
+ 0xc9, 0xc3, 0x6a, 0xc6, 0x18, 0x25, 0x6a, 0x8e, 0x59, 0xfb,
+ 0xfb, 0x50, 0x84, 0x6f, 0xc8, 0x4a, 0x72, 0xe1, 0x8f, 0x49,
+ 0x07, 0x1d, 0x8f, 0x5c, 0x58, 0x53, 0x53, 0x12, 0xcf, 0x27,
+ 0x14, 0xcb, 0x80, 0xe4, 0xa0, 0xd6, 0x31, 0xcf, 0xa0, 0x41,
+ 0x6d, 0x28, 0x28, 0xa6, 0x25, 0x92, 0x70, 0xee, 0xb9, 0x75,
+ 0x06, 0x13, 0xd3, 0x20, 0x06, 0x6f, 0x41, 0xe0, 0xe0, 0xaf,
+ 0xa3, 0x60, 0x39, 0xdc, 0x63, 0xd6, 0x0b, 0x6d, 0xce, 0xd1,
+ 0x0b, 0x42, 0x3d, 0x72, 0x72, 0xe1, 0xf7, 0xb0, 0x55, 0xe8,
+ 0x65, 0x2f, 0xed, 0x0a, 0x59, 0xf9, 0xed, 0x46, 0xfd, 0xaa,
+ 0xaa, 0x15, 0x0c, 0xc8, 0x13, 0x1c, 0xdf, 0xc7, 0x98, 0xcb,
+ 0x20, 0xcd, 0x98, 0x2b, 0xdc, 0x26, 0x26, 0xc0, 0x33, 0x94,
+ 0xd6, 0x05, 0xb2, 0x77, 0x7f, 0xf4, 0xcf, 0x54, 0x7f, 0xdc,
+ 0xe2, 0x6f, 0x6f, 0xe7, 0x19, 0xfc, 0xfb, 0x12, 0x51, 0x45,
+ 0xd4, 0x4f, 0x30, 0x4a, 0xd4, 0xdf, 0xb2, 0x35, 0x35, 0xa0,
+ 0xcb, 0xde, 0x22, 0xd1, 0x83, 0x79, 0xd3, 0x04, 0x9b, 0xdb,
+ 0xd3, 0x43, 0x0d, 0x44, 0x44, 0xdc, 0xb9, 0xae, 0xda, 0xfd,
+ 0x73, 0x2b, 0x1f, 0x07, 0x61, 0x11, 0x1f, 0xe3, 0x78, 0x77,
+ 0x77, 0x85, 0xbb, 0x33, 0x25, 0x06, 0xdc, 0x5a, 0xeb, 0x19,
+ 0x8a, 0xd9, 0xeb, 0x29, 0xbc, 0x4a, 0x4a, 0xba, 0xaf, 0xa8,
+ 0xe7, 0xc8, 0xee, 0xc9, 0x34, 0x3b, 0x74, 0x42, 0x34, 0xb4,
+ 0x33, 0x0d, 0x0d, 0xfb, 0x93, 0xc6, 0xe4, 0xf6, 0x4f, 0xde,
+ 0x2c, 0x77, 0xbe, 0xc2, 0x2c, 0xcb, 0xf4, 0x0b, 0x0b, 0x02,
+ 0x5a, 0x85, 0xa3, 0xa9, 0x2b, 0x3b, 0x51, 0x33, 0x81, 0x37,
+ 0x51, 0x32, 0x29, 0x85, 0x85, 0x80, 0x22, 0x59, 0x8c, 0x2b,
+ 0xb7, 0x13, 0xea, 0x41, 0xf2, 0x68, 0xea, 0xda, 0x42, 0xdb,
+ 0xdb, 0x69, 0x7e, 0xb8, 0x19, 0x98, 0x9f, 0xb5, 0xc8, 0xa0,
+ 0xd9, 0x4b, 0xc8, 0xea, 0x0b, 0x32, 0x32, 0x93, 0xc0, 0xdd,
+ 0x09, 0xba, 0xe1, 0x65, 0x48, 0x27, 0x33, 0x06, 0x48, 0xbe,
+ 0x10, 0x12, 0x12, 0xaa, 0x3a, 0x0a, 0x2d, 0x17, 0xe3, 0x32,
+ 0xab, 0xbb, 0xff, 0x1e, 0xab, 0x03, 0x50, 0x5a, 0x5a, 0x47,
+ 0xd2, 0x22, 0x8f, 0x15, 0x16, 0x04, 0xf2, 0x0d, 0x38, 0xe8,
+ 0xf2, 0xa5, 0x85, 0xdd, 0xdd, 0x90, 0xb7, 0xfb, 0x94, 0x18,
+ 0xf6, 0xab, 0x2a, 0x64, 0x6d, 0xe2, 0x2a, 0xa4, 0xb5, 0xeb,
+ 0xeb, 0xad, 0xf9, 0xe5, 0x0d, 0x53, 0x1f, 0x51, 0x68, 0x76,
+ 0xe8, 0x84, 0x68, 0xab, 0x66, 0x1a, 0x1a, 0x35, 0xe5, 0x4f,
+ 0x85, 0x91, 0x56, 0x76, 0xa2, 0x66, 0xc1, 0x6e, 0xa2, 0x64,
+ 0x52, 0xc9, 0xc9, 0xc3, 0x44, 0xb2, 0x57, 0x7d, 0x1a, 0x35,
+ 0xfd, 0xc3, 0xd5, 0xb8, 0xfd, 0xad, 0xc6, 0xae, 0xae, 0xbb,
+ 0x82, 0x0b, 0x96, 0x8d, 0x89, 0xb1, 0x3a, 0xad, 0xe1, 0xa3,
+ 0x3a, 0x4f, 0x8e, 0xef, 0xef, 0x03, 0x77, 0x26, 0x69, 0x76,
+ 0x26, 0xc0, 0xce, 0xb3, 0x0a, 0x6b, 0xce, 0x85, 0x4a, 0xd2,
+ 0xd2, 0x3c, 0x63, 0xbd, 0xf8, 0x2c, 0xf0, 0x52, 0xcc, 0x03,
+ 0xfa, 0xca, 0xcc, 0xa0, 0x75, 0x33, 0x33, 0x59, 0x02, 0x9d,
+ 0x5e, 0xc7, 0xfb, 0x50, 0xb5, 0xe4, 0xe6, 0xbe, 0xb5, 0x13,
+ 0xd6, 0xbc, 0xbc, 0x11, 0xb8, 0x01, 0x0e, 0x6d, 0xbe, 0x46,
+ 0x70, 0x3a, 0x22, 0x04, 0x70, 0xd4, 0xa1, 0x1c, 0x1c, 0xcc,
+ 0x2c, 0x0c, 0x71, 0x45, 0x67, 0x78, 0x0e, 0x96, 0x95, 0xe1,
+ 0x0e, 0xfb, 0xbd, 0xe2, 0xe2, 0xf8, 0xe4, 0xe0, 0x7a, 0x6a,
+ 0xf9, 0x07, 0x56, 0x78, 0x2a, 0xa6, 0x56, 0xae, 0x96, 0xf4,
+ 0xf4, 0xfc, 0x50, 0x29, 0x01, 0xab, 0xde, 0x0d, 0x08, 0x85,
+ 0x46, 0xc1, 0x08, 0x94, 0xfc, 0x02, 0x02, 0x57, 0x47, 0x80,
+ 0xe0, 0x1f, 0xb1, 0xea, 0x0c, 0x26, 0x65, 0x40, 0x0c, 0xde,
+ 0x82, 0x03, 0x03, 0x9d, 0x85, 0xc0, 0x7e, 0x83, 0x07, 0x33,
+ 0x76, 0x29, 0xf1, 0x24, 0x76, 0xbb, 0xe0, 0xfc, 0xfc, 0x63,
+ 0x8f, 0x6c, 0x93, 0xcf, 0xa9, 0x88, 0x12, 0x79, 0x7c, 0xe0,
+ 0x12, 0xce, 0x04, 0xe5, 0xe5, 0xcb, 0xef, 0xe3, 0xce, 0x36,
+ 0xf3, 0xcf, 0xbf, 0xd1, 0x50, 0xde, 0xbf, 0xa2, 0x15, 0x5f,
+ 0x5f, 0x23, 0x9e, 0xa1, 0x9f, 0x37, 0x68, 0xd4, 0x72, 0x8a,
+ 0xd2, 0xa5, 0x72, 0xf1, 0x9e, 0xfd, 0xfd, 0xa9, 0x4d, 0x2c,
+ 0x3a, 0xe2, 0xc2, 0xc1, 0x13, 0x21, 0x04, 0x51, 0x13, 0x3d,
+ 0xfa, 0x74, 0x74, 0x18, 0x3e, 0xf3, 0xd1, 0xd2, 0xed, 0x54,
+ 0x47, 0xe9, 0xde, 0x56, 0x47, 0xb6, 0x53, 0x61, 0x61, 0x81,
+ 0x0f, 0xfa, 0xf2, 0xa8, 0xb0, 0x20, 0x9c, 0x68, 0x03, 0x4c,
+ 0x9c, 0x61, 0xa2, 0x27, 0x27, 0x0a, 0xf1, 0xd4, 0xcf, 0x9d,
+ 0x2d, 0xc2, 0xb7, 0x54, 0x16, 0x1f, 0xb7, 0x36, 0xe9, 0x5d,
+ 0x5d, 0x74, 0xd9, 0x21, 0x43, 0xb6, 0x9a, 0xd1, 0x5d, 0x15,
+ 0xe4, 0x77, 0x5d, 0xec, 0xab, 0x86, 0x86, 0x1d, 0xa7, 0x99,
+ 0xc9, 0xe1, 0xac, 0xec, 0x87, 0xcc, 0x41, 0xdc, 0x87, 0xc8,
+ 0xa4, 0x51, 0x51, 0x45, 0x88, 0xa7, 0x4a, 0x0c, 0x7b, 0xb4,
+ 0x15, 0x32, 0xd7, 0x71, 0x15, 0x52, 0xbb, 0x94, 0x94, 0xb7,
+ 0x9d, 0x93, 0xbd, 0xe6, 0xeb, 0xad, 0xa1, 0x8e, 0x49, 0x7e,
+ 0xa1, 0xb2, 0x93, 0xb9, 0xb9, 0x75, 0xf4, 0x82, 0x62, 0x59,
+ 0xb8, 0xbf, 0x96, 0x5d, 0xb5, 0x2c, 0x96, 0xd0, 0x61, 0xc4,
+ 0xc4, 0x38, 0xd7, 0x74, 0xac, 0x6f, 0x4b, 0x70, 0x29, 0x8c,
+ 0xe5, 0xf2, 0x29, 0x72, 0x74, 0x9b, 0x9b, 0x1b, 0x49, 0xd5,
+ 0x02, 0x95, 0x7f, 0x1a, 0x10, 0xc9, 0x8c, 0x41, 0x10, 0xeb,
+ 0x3b, 0x04, 0x04, 0xae, 0x8e, 0xc3, 0x37, 0xb1, 0xdd, 0x90,
+ 0x7b, 0x57, 0xec, 0xd5, 0x7b, 0x96, 0x9c, 0x6e, 0x6e, 0x2d,
+ 0xdb, 0xbc, 0x82, 0x46, 0x09, 0x55, 0x9a, 0x7b, 0xd0, 0x6c,
+ 0x9a, 0x0e, 0xe3, 0xc7, 0xc7, 0xa5, 0x52, 0xb4, 0xc1, 0xf0,
+ 0x93, 0x84, 0xc7, 0x6e, 0x34, 0x1b, 0xc7, 0xe2, 0x48, 0x41,
+ 0x41, 0xb8, 0xf5, 0x2d, 0x26, 0x38, 0x7d, 0x4d, 0xf3, 0x55,
+ 0x40, 0x59, 0xf3, 0x56, 0x7b, 0x4c, 0x4c, 0x43, 0x66, 0xeb,
+ 0xbb, 0x9a, 0x6a, 0x83, 0x91, 0x16, 0x1e, 0xbd, 0x91, 0x4c,
+ 0xde, 0xb5, 0xb5, 0x44, 0xa5, 0x04, 0x0f, 0xc6, 0x60, 0x4b,
+ 0x78, 0xbf, 0x64, 0xc5, 0x78, 0x40, 0x5d, 0x1e, 0x1e, 0x9b,
+ 0x6b, 0x8c, 0xd4, 0x90, 0xcd, 0x6d, 0x6f, 0x3d, 0x43, 0x15,
+ 0x6f, 0x37, 0xd9, 0x6b, 0x6b, 0x49, 0x97, 0x3f, 0x5b, 0x85,
+ 0xdb, 0x69, 0x9d, 0x30, 0x7b, 0xfd, 0x9d, 0x92, 0x5c, 0xb6,
+ 0xb6, 0xd9, 0x20, 0xc4, 0x63, 0xf2, 0x66, 0xb2, 0x9e, 0xd8,
+ 0xf3, 0xed, 0x9e, 0x44, 0x9d, 0xc6, 0xc6, 0x6f, 0x90, 0xf4,
+ 0x87, 0x04, 0x29, 0x6c, 0xb2, 0xaf, 0x4d, 0x2f, 0xb2, 0x8f,
+ 0x69, 0xcd, 0xcd, 0x6d, 0xca, 0x71, 0xbf, 0x73, 0x94, 0xb7,
+ 0xb1, 0x47, 0xc5, 0x3f, 0xb1, 0x59, 0xa8, 0xbd, 0xbd, 0xdb,
+ 0x7a, 0x41, 0x97, 0x26, 0x57, 0xbc, 0x32, 0x28, 0xa7, 0x62,
+ 0x32, 0xdb, 0x72, 0xed, 0xed, 0x54, 0x30, 0xa6, 0x46, 0xf4,
+ 0xba, 0xe8, 0x75, 0xc1, 0x79, 0x34, 0x75, 0x6d, 0x21, 0x8c,
+ 0x8c, 0xd5, 0x3f, 0x5c, 0xaa, 0x13, 0xca, 0x5e, 0x19, 0x14,
+ 0xb2, 0x31, 0x19, 0x8c, 0x39, 0x97, 0x97, 0x2a, 0x18, 0x53,
+ 0x4f, 0x4e, 0x5b, 0x8d, 0x3d, 0xe6, 0x4a, 0x32, 0x3d, 0xd3,
+ 0x31, 0x9e, 0x9e, 0x7f, 0x05, 0x56, 0xc6, 0x27, 0xcc, 0xa7,
+ 0xff, 0x73, 0x25, 0x19, 0xff, 0x88, 0xf9, 0x4f, 0x4f, 0xde,
+ 0xe3, 0x2b, 0x4e, 0xe5, 0x85, 0x80, 0x35, 0x63, 0x0c, 0xf3,
+ 0x35, 0x47, 0xcd, 0x9c, 0x9c, 0x28, 0x42, 0xd6, 0x80, 0xd3,
+ 0x76, 0x4f, 0x8a, 0xb2, 0x5c, 0x2d, 0x8a, 0xe5, 0xd8, 0xc3,
+ 0xc3, 0x0b, 0xdc, 0x77, 0x7f, 0x28, 0xd9, 0x3e, 0x7e, 0xac,
+ 0xb7, 0xe5, 0x7e, 0x2f, 0x1c, 0xfe, 0xfe, 0x34, 0xc8, 0xec,
+ 0x45, 0xca, 0x1b, 0xff, 0x6d, 0x8d, 0xb3, 0xb4, 0x6d, 0x12,
+ 0xe6, 0x8a, 0x8a, 0x2c, 0xf6, 0x1f, 0xeb, 0x30, 0x2f, 0x95,
+ 0x54, 0xc8, 0xda, 0x07, 0x54, 0x8b, 0xa9, 0x15, 0x15, 0x99,
+ 0x31, 0x09, 0x68, 0xdd, 0xf8, 0xcd, 0xc6, 0x36, 0x4c, 0xaa,
+ 0xc6, 0x11, 0xb6, 0xd0, 0xd0, 0x6b, 0x24, 0x3d, 0x10, 0x22,
+ 0x7e, 0xd0, 0x80, 0x87, 0xea, 0x4d, 0x80, 0x54, 0x1b, 0x20,
+ 0x20, 0x39, 0xfa, 0xd7, 0x20, 0x44, 0xfc, 0x63, 0xc3, 0xcd,
+ 0x17, 0x9a, 0xc3, 0xa8, 0x36, 0x40, 0x40, 0x72, 0x37, 0x6d,
+ 0x5f, 0x6c, 0x25, 0x5d, 0xbd, 0x61, 0xa0, 0x7f, 0xbd, 0x87,
+ 0x2a, 0xbe, 0xbe, 0x46, 0xff, 0x81, 0x49, 0x32, 0xda, 0xa3,
+ 0x0d, 0x7e, 0x1d, 0xf1, 0x0d, 0x2d, 0x7c, 0x92, 0x92, 0x4e,
+ 0x54, 0xd0, 0xd3, 0x47, 0x92, 0x4e, 0x57, 0x20, 0x52, 0x17,
+ 0x57, 0x5d, 0x68, 0x65, 0x65, 0x2f, 0x81, 0x39, 0xc2, 0xce,
+ 0x32, 0x93, 0xdf, 0x22, 0xfe, 0x9b, 0xdf, 0x9d, 0x8f, 0x47,
+ 0x47, 0x41, 0x3c, 0x6e, 0x56, 0xd6, 0xc4, 0x38, 0xf5, 0x46,
+ 0x93, 0x79, 0xf5, 0x39, 0x3a, 0xac, 0xac, 0xec, 0xc5, 0x8b,
+ 0xe5, 0x5d, 0x91, 0xd3, 0x24, 0xf2, 0xf8, 0x03, 0x24, 0x5f,
+ 0x08, 0x09, 0x09, 0x55, 0x1d, 0x05, 0xbc, 0x4d, 0x35, 0xa0,
+ 0xa9, 0x0b, 0x0f, 0xbf, 0xa9, 0x26, 0x6f, 0xbb, 0xbb, 0x22,
+ 0xb3, 0x02, 0x77, 0x39, 0xe6, 0x56, 0x3e, 0x0e, 0xc2, 0x22,
+ 0x3e, 0x05, 0xf0, 0xee, 0xee, 0xc9, 0xb5, 0x66, 0x15, 0x60,
+ 0x5e, 0xe9, 0xa8, 0x53, 0x77, 0x0e, 0xa8, 0xd5, 0x91, 0x2a,
+ 0x2a, 0xf1, 0x62, 0x12, 0x30, 0x66, 0x82, 0xb3, 0x43, 0x4a,
+ 0xfd, 0xd7, 0x43, 0xfc, 0x2d, 0x60, 0x60, 0x4b, 0xcd, 0xba,
+ 0xb0, 0xb5, 0xf4, 0xfc, 0xc9, 0xf8, 0xa1, 0xfa, 0xc9, 0x19,
+ 0xf5, 0xa3, 0xa3, 0x40, 0x11, 0xcd, 0xc3, 0x65, 0xec, 0x9e,
+ 0xd7, 0xa7, 0xb8, 0x5a, 0xd7, 0x09, 0x73, 0x45, 0x45, 0x16,
+ 0x7b, 0xee, 0xa6, 0xeb, 0x0b, 0x02, 0x79, 0xe7, 0x1c, 0x74,
+ 0x79, 0xb3, 0xa3, 0x8f, 0x8f, 0x48, 0xba, 0x9c, 0x6a, 0x48,
+ 0x87, 0xd7, 0xd6, 0xff, 0xc0, 0xeb, 0xd6, 0xfa, 0x8d, 0xd4,
+ 0xd4, 0xc5, 0xaa, 0xfe, 0x6e, 0xa1, 0x79, 0xe3, 0xf6, 0xae,
+ 0x1b, 0x69, 0xf6, 0xef, 0xfb, 0xdc, 0xdc, 0x5a, 0x75, 0xbb,
+ 0xee, 0x72, 0x0f, 0xac, 0x7c, 0x1c, 0x47, 0x44, 0x7c, 0x0a,
+ 0x23, 0x1f, 0x1f, 0x51, 0xa9, 0xcc, 0x95, 0xb3, 0x28, 0xa6,
+ 0x22, 0xe1, 0x2b, 0x23, 0x22, 0x30, 0x49, 0xe9, 0xe9, 0xfa,
+ 0xbe, 0x65, 0xbe, 0xd8, 0x4a, 0xba, 0xb9, 0xc2, 0x83, 0xfe,
+ 0xb9, 0xcd, 0x54, 0xbf, 0xbf, 0x8c, 0x3d, 0xc1, 0x38, 0x77,
+ 0xbd, 0xdb, 0x03, 0xe8, 0x88, 0x10, 0x03, 0xd6, 0xc1, 0x70,
+ 0x70, 0xb6, 0xb0, 0x30, 0x1c, 0xda, 0xbf, 0x8c, 0xe0, 0x74,
+ 0x44, 0x08, 0xe0, 0x6b, 0x81, 0x38, 0x38, 0x5b, 0x58, 0x18,
+ 0xd8, 0x68, 0x0c, 0x31, 0x0f, 0xce, 0xed, 0x50, 0x0f, 0x08,
+ 0x43, 0x73, 0x73, 0x2b, 0x35, 0xf0, 0xfc, 0xc5, 0x0e, 0x66,
+ 0xec, 0x52, 0x21, 0x48, 0xec, 0xb5, 0x03, 0x3b, 0x3b, 0xc6,
+ 0xdd, 0xd8, 0x6b, 0xe3, 0x59, 0xda, 0xde, 0x7a, 0x86, 0x2a,
+ 0xde, 0x6e, 0x71, 0xd6, 0xd6, 0x92, 0xed, 0x7e, 0x9e, 0x9c,
+ 0xb6, 0xd9, 0x7a, 0x0f, 0x94, 0x64, 0x7a, 0x65, 0x62, 0xff,
+ 0xff, 0xfe, 0x0a, 0xac, 0xf3, 0x03, 0x6e, 0x2d, 0x94, 0xed,
+ 0x45, 0x8d, 0x94, 0xf5, 0x5e, 0x25, 0x25, 0x5d, 0xb6, 0x54,
+ 0x16, 0x5e, 0xff, 0xfe, 0xb0, 0x1f, 0xbd, 0x8e, 0xb0, 0xaa,
+ 0x56, 0x2c, 0x2c, 0x08, 0xab, 0x51, 0xf6, 0x41, 0x4e, 0x14,
+ 0xbc, 0x39, 0xd8, 0xce, 0xbc, 0x74, 0xd4, 0x2f, 0x2f, 0x95,
+ 0x2e, 0x91, 0xfa, 0xb9, 0x8f, 0x48, 0xdc, 0xca, 0x76, 0x8b,
+ 0xdc, 0x4b, 0x4e, 0x37, 0x37, 0xf7, 0x8c, 0x5e, 0x1d, 0x71,
+ 0x61, 0x81, 0xe8, 0xf1, 0x02, 0xc9, 0xe8, 0xff, 0x7d, 0x3a,
+ 0x3a, 0x0c, 0x1f, 0x98, 0x05, 0x42, 0x20, 0x39, 0x28, 0xd4,
+ 0x9d, 0x43, 0x28, 0x81, 0x8a, 0x0a, 0x0a, 0xc8, 0x98, 0xc5,
+ 0x0a, 0x84, 0x40, 0x72, 0x50, 0x6b, 0xf9, 0x86, 0x50, 0xc1,
+ 0xd7, 0x14, 0x14, 0x53, 0xf3, 0x49, 0x79, 0x54, 0x58, 0x10,
+ 0x4e, 0x34, 0xe0, 0x26, 0x4e, 0xd1, 0x51, 0xf2, 0xf2, 0x05,
+ 0x99, 0x6a, 0x3e, 0x0b, 0x3c, 0xf5, 0x33, 0x70, 0xdf, 0xd3,
+ 0x33, 0x28, 0x8c, 0x7c, 0x7c, 0x87, 0xe1, 0xb6, 0x90, 0xf1,
+ 0x08, 0x9f, 0x0a, 0x35, 0xb6, 0x60, 0x0a, 0xb1, 0xc3, 0xe3,
+ 0xe3, 0x32, 0x26, 0xa0, 0x98, 0xe0, 0x37, 0xf7, 0x4a, 0x97,
+ 0xc3, 0xa7, 0x4a, 0x9b, 0x2f, 0xf3, 0xf3, 0xcf, 0x5b, 0x2a,
+ 0xcd, 0x08, 0x52, 0xd8, 0xa7, 0x9d, 0x9a, 0x5e, 0xa7, 0xdd,
+ 0xd2, 0x59, 0x59, 0xda, 0x57, 0xe2, 0xcb, 0x74, 0xd3, 0xf6,
+ 0x97, 0x05, 0xcd, 0x9d, 0x97, 0x23, 0x9f, 0x55, 0x55, 0xeb,
+ 0x06, 0x64, 0x0c, 0xf8, 0xc1, 0x5c, 0x60, 0xf3, 0xae, 0x45,
+ 0x60, 0x3f, 0x9a, 0x18, 0x18, 0x62, 0xa2, 0xcf, 0x36, 0x1a,
+ 0x03, 0x9d, 0x73, 0xd2, 0xaa, 0x14, 0x73, 0x02, 0x60, 0x6c,
+ 0x6c, 0x7a, 0x9c, 0x3c, 0x73, 0xd0, 0x18, 0x62, 0x1e, 0x5f,
+ 0x19, 0xa0, 0x1e, 0x10, 0x86, 0xe6, 0xe6, 0x56, 0x6a, 0x23,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xa2, 0x17, 0xce,
+ 0x62, 0x43, 0x5e, 0xe4, 0x62, 0x1a, 0xa5, 0xf9, 0xf9, 0x07,
+ 0xc3, 0xef, 0xe9, 0xa5, 0x50, 0x8f, 0x44, 0x01, 0x56, 0x46,
+ 0x44, 0x60, 0x92, 0x11, 0x11, 0x37, 0xbf, 0xca, 0x92, 0x64,
+ 0x77, 0x85, 0x1a, 0xfc, 0x3a, 0x21, 0x1a, 0x5a, 0xf8, 0xe7,
+ 0xe7, 0x9c, 0xa8, 0x63, 0x17, 0xf5, 0x21, 0xf3, 0xb8, 0x9a,
+ 0xfb, 0x4f, 0xb8, 0x3e, 0xaa, 0x2e, 0x2e, 0x5f, 0xec, 0xd1,
+ 0x07, 0xd7, 0x5f, 0x23, 0x38, 0x1d, 0x11, 0x02, 0x38, 0x6a,
+ 0xb1, 0x0e, 0x0e, 0x66, 0x16, 0x06, 0x81, 0x78, 0xa8, 0x42,
+ 0x82, 0x37, 0x1a, 0xec, 0x82, 0x71, 0x24, 0xc1, 0xc1, 0x5c,
+ 0x9b, 0xf7, 0xed, 0x4c, 0xae, 0xbb, 0x64, 0x50, 0x8d, 0xc4,
+ 0x64, 0x75, 0xe4, 0x19, 0x19, 0xa8, 0x60, 0x8f, 0xca, 0xdf,
+ 0x0d, 0xfb, 0x9f, 0x80, 0x8b, 0x5c, 0x9f, 0xb7, 0x63, 0x57,
+ 0x57, 0xbc, 0x41, 0xe4, 0x74, 0x07, 0x47, 0x41, 0x26, 0x42,
+ 0x08, 0xa2, 0x26, 0x7a, 0x37, 0xe8, 0xe8, 0x30, 0x7c, 0x25,
+ 0xa1, 0x3c, 0x54, 0x21, 0x41, 0xfa, 0x0d, 0x76, 0x41, 0xd9,
+ 0x12, 0x81, 0x81, 0x2e, 0xac, 0x9a, 0x5d, 0xf9, 0x5a, 0x47,
+ 0xad, 0xa8, 0x2c, 0x3e, 0xad, 0x6c, 0x11, 0xba, 0xba, 0xe8,
+ 0x71, 0x42, 0x40, 0x88, 0x3b, 0xc6, 0x45, 0x59, 0x2e, 0xf7,
+ 0x45, 0x93, 0x6c, 0x80, 0x80, 0xe4, 0x6e, 0xda, 0x78, 0xff,
+ 0x86, 0x1d, 0x46, 0xb1, 0xa6, 0xe7, 0x46, 0x45, 0xad, 0xf0,
+ 0xf0, 0x52, 0xde, 0xea, 0x83, 0xed, 0xd7, 0x58, 0x92, 0xfe,
+ 0x96, 0xad, 0x92, 0x9a, 0x1f, 0xc5, 0xc5, 0xf2, 0x15, 0x34,
+ 0xdd, 0x2a, 0x2c, 0x08, 0x27, 0x1a, 0x70, 0x13, 0x27, 0x89,
+ 0xc9, 0x79, 0x79, 0xe3, 0xad, 0x35, 0x7b, 0xc1, 0x27, 0x0a,
+ 0x5e, 0xfd, 0x6c, 0x67, 0x5e, 0x3a, 0x6a, 0xf6, 0xf6, 0xab,
+ 0x17, 0xa9, 0x42, 0x1d, 0x44, 0xdc, 0x55, 0x90, 0xa2, 0xb6,
+ 0x55, 0x78, 0x57, 0x84, 0x84, 0x4a, 0xe0, 0x19, 0xdc, 0x81,
+ 0xf2, 0x05, 0x2f, 0x9f, 0x36, 0xd2, 0x2f, 0x1d, 0x35, 0x7b,
+ 0x7b, 0xb4, 0xea, 0xb5, 0xf0, 0x3d, 0xcf, 0x3a, 0x8c, 0xa1,
+ 0x8f, 0x0d, 0x8c, 0x8a, 0x99, 0x23, 0x23, 0xa4, 0x7f, 0x17,
+ 0x2c, 0xbc, 0x3d, 0x3f, 0xa3, 0x3e, 0xb9, 0xdf, 0xa3, 0x97,
+ 0xac, 0x58, 0x58, 0x10, 0x95, 0xa2, 0x5c, 0x52, 0x84, 0x4a,
+ 0xa5, 0x2d, 0x6a, 0xff, 0xa5, 0xf8, 0xed, 0xb8, 0xb8, 0xbf,
+ 0x36, 0xc2, 0x47, 0x5f, 0x64, 0xe5, 0x7d, 0x44, 0x3f, 0xf5,
+ 0x7d, 0xf9, 0xdd, 0x8e, 0x8e, 0x82, 0x78, 0xdc, 0xa4, 0x7e,
+ 0x74, 0x18, 0x69, 0x2e, 0x90, 0x35, 0x69, 0x58, 0x98, 0x8b,
+ 0x8b, 0xe6, 0x34, 0x5f, 0x52, 0x3f, 0x3a, 0x0c, 0xd5, 0x17,
+ 0x48, 0xfb, 0xd5, 0x2c, 0x4c, 0xa4, 0xa4, 0x73, 0x1a, 0xce,
+ 0x5a, 0x2e, 0x05, 0x64, 0x95, 0xb5, 0x3d, 0x3c, 0x95, 0x06,
+ 0xa0, 0xb4, 0xb4, 0x8e, 0x67, 0x44, 0x3f, 0xa0, 0xe2, 0xf8,
+ 0x3b, 0xf5, 0x99, 0x12, 0x3b, 0xbc, 0x70, 0x7e, 0x7e, 0xd0,
+ 0xa6, 0x36, 0xd9, 0xc3, 0xd2, 0x3c, 0x07, 0x4b, 0xab, 0x91,
+ 0x07, 0x9c, 0xbf, 0x71, 0x71, 0x7c, 0x72, 0x70, 0x0b, 0x2f,
+ 0x9e, 0x7f, 0x58, 0xee, 0xbf, 0x47, 0x58, 0x55, 0x2b, 0x16,
+ 0x16, 0x04, 0xb4, 0xc9, 0x2e, 0x29, 0x42, 0x25, 0xb3, 0xf7,
+ 0x35, 0x9e, 0xb3, 0x7c, 0x97, 0x5c, 0x5c, 0xbe, 0x1b, 0x61,
+ 0x08, 0x11, 0x3f, 0x68, 0x40, 0xa2, 0x75, 0xc7, 0x40, 0x2a,
+ 0xec, 0x10, 0x10, 0xfd, 0x7d, 0x8a, 0x60, 0xcc, 0xc7, 0xa5,
+ 0x86, 0x94, 0x39, 0x6d, 0x86, 0x3b, 0x5a, 0xc0, 0xc0, 0x96,
+ 0x59, 0xb7, 0xf4, 0xd4, 0x31, 0x0e, 0xac, 0xf0, 0x54, 0x8f,
+ 0xac, 0x9f, 0xef, 0x2b, 0x2b, 0x3b, 0xa0, 0x52, 0x4b, 0xa7,
+ 0xa5, 0xb9, 0x1d, 0xb7, 0x91, 0xb0, 0x1d, 0xc6, 0x47, 0x96,
+ 0x96, 0xe0, 0xda, 0x13, 0xc7, 0x8c, 0x12, 0xaa, 0xf7, 0xf6,
+ 0x63, 0xd8, 0xf7, 0x1c, 0x05, 0x4d, 0x4d, 0x89, 0xa4, 0xab,
+ 0x06, 0x7c, 0x81, 0x2e, 0x30, 0x98, 0x57, 0xc3, 0x30, 0xfe,
+ 0x4d, 0x0c, 0x0c, 0x31, 0x51, 0x86, 0xdf, 0xbf, 0x53, 0x12,
+ 0x37, 0xd3, 0xfc, 0x52, 0x37, 0x62, 0xf2, 0x7d, 0x7d, 0x4d,
+ 0x23, 0xf6, 0x35, 0x24, 0xa2, 0x8a, 0x6b, 0x9e, 0x60, 0x94,
+ 0x6b, 0x7d, 0xa7, 0x6a, 0x6a, 0x83, 0x55, 0x7f, 0xfd, 0x6e,
+ 0xd0, 0x6b, 0xe4, 0xd7, 0x67, 0x89, 0xe4, 0x21, 0xff, 0x39,
+ 0x39, 0x91, 0x9a, 0x58, 0x11, 0x89, 0xa0, 0xdd, 0x88, 0x02,
+ 0xac, 0x8c, 0x88, 0xc0, 0xe7, 0x22, 0x22, 0x6e, 0xbd, 0x57,
+ 0xb2, 0x20, 0x8b, 0xe6, 0xd9, 0x31, 0x2d, 0xbb, 0xd9, 0xf2,
+ 0xce, 0xa7, 0xa7, 0xee, 0x9f, 0x0e, 0xc5, 0x19, 0x6d, 0xb0,
+ 0xe7, 0x3f, 0xef, 0x99, 0xe7, 0xf7, 0x3e, 0x49, 0x49, 0x27,
+ 0x2a, 0x68, 0xb8, 0xa4, 0xcb, 0x94, 0x89, 0x5a, 0xd4, 0x3d,
+ 0x89, 0x33, 0x19, 0xb3, 0xb3, 0xbd, 0x6c, 0x47, 0xb5, 0xf7,
+ 0xd4, 0xc5, 0xe1, 0x2c, 0x3c, 0xb9, 0xe1, 0x98, 0x7f, 0xa9,
+ 0xa9, 0x88, 0x89, 0x08, 0x3b, 0x49, 0x1c, 0xcc, 0x1b, 0xa4,
+ 0x42, 0x90, 0x1b, 0xa9, 0x06, 0x76, 0x76, 0x4f, 0x79, 0x73,
+ 0x28, 0x55, 0xc3, 0x0b, 0x83, 0x6f, 0x62, 0x5d, 0x83, 0x82,
+ 0xda, 0x50, 0x50, 0x8f, 0x4a, 0xe7, 0xa0, 0x97, 0x8a, 0x2c,
+ 0x49, 0x7f, 0x4b, 0xb7, 0x49, 0x4d, 0xee, 0x83, 0x83, 0x79,
+ 0xeb, 0x1a, 0xe8, 0x0e, 0x8e, 0x82, 0x4c, 0x84, 0x10, 0x87,
+ 0x4c, 0xf4, 0x6e, 0x13, 0x13, 0x60, 0xf8, 0x4a, 0xde, 0x14,
+ 0x8d, 0x1f, 0x3f, 0x56, 0xba, 0x93, 0x3f, 0xf6, 0x0e, 0x7f,
+ 0x7f, 0x1a, 0x64, 0x76, 0x1f, 0xe4, 0x1e, 0x9b, 0xf8, 0x38,
+ 0x8e, 0x88, 0xf8, 0x14, 0x46, 0x3e, 0x3e, 0xa2, 0x91, 0x5b,
+ 0x6f, 0x0a, 0xa7, 0xee, 0xfe, 0x2b, 0x5d, 0xa8, 0xfe, 0x7b,
+ 0x07, 0xde, 0xde, 0x0d, 0x32, 0x3b, 0x59, 0x10, 0xa4, 0x73,
+ 0x8d, 0xf9, 0xf7, 0xbc, 0x8d, 0x79, 0x67, 0xb2, 0xb2, 0x77,
+ 0xae, 0x07, 0x32, 0xf3, 0xfd, 0xa9, 0x53, 0x83, 0x71, 0x96,
+ 0x53, 0x17, 0x16, 0x64, 0x64, 0xe5, 0x43, 0x79, 0x84, 0x3a,
+ 0x88, 0x7b, 0xaa, 0xe3, 0x87, 0xaf, 0xaa, 0xf0, 0xae, 0xcb,
+ 0xcb, 0x94, 0x03, 0x32, 0x12, 0xb7, 0x01, 0xca, 0x90, 0x4e,
+ 0x66, 0x0c, 0x90, 0xbf, 0x20, 0x24, 0x24, 0x97, 0x74, 0x14,
+ 0x88, 0xc2, 0x49, 0x27, 0xca, 0x10, 0x29, 0xea, 0xca, 0xcf,
+ 0x34, 0xd3, 0xd3, 0xf6, 0xa1, 0xfd, 0x1b, 0x0d, 0xe0, 0xaf,
+ 0xd8, 0x69, 0x55, 0x0a, 0xd8, 0x01, 0x30, 0x36, 0x36, 0x3d,
+ 0x4e, 0x1e, 0x58, 0xbb, 0x7a, 0x7e, 0x85, 0x7c, 0xb1, 0x7d,
+ 0x85, 0xed, 0x9b, 0xb0, 0xb0, 0x20, 0xe9, 0x87, 0xa5, 0xd5,
+ 0xaa, 0x15, 0x61, 0xab, 0xd6, 0xf4, 0x61, 0xcc, 0x64, 0x89,
+ 0x89, 0xb1, 0x73, 0xdf, 0x04, 0xe9, 0xfe, 0x34, 0x20, 0x51,
+ 0xdb, 0x82, 0x20, 0x15, 0x76, 0x08, 0x08, 0x9f, 0xdf, 0x45,
+ 0xa7, 0x40, 0xd5, 0x0f, 0x71, 0x62, 0x5a, 0xb5, 0x71, 0x27,
+ 0x5f, 0x8d, 0x8d, 0x1f, 0xfd, 0x1c, 0xd5, 0x3b, 0x13, 0x60,
+ 0x67, 0xb8, 0x05, 0xd4, 0x67, 0xa3, 0x25, 0x69, 0x69, 0x1e,
+ 0xd0, 0xbf, 0xf5, 0x7f, 0xef, 0x03, 0xa4, 0x75, 0x12, 0x4e,
+ 0xa4, 0x0b, 0x13, 0x29, 0x29, 0x6c, 0xe7, 0xd2, 0x4d, 0xdb,
+ 0x24, 0x97, 0x2d, 0x2f, 0xc6, 0x73, 0x2d, 0x38, 0x0a, 0x9a,
+ 0x9a, 0xd1, 0x8b, 0x95, 0x3d, 0x35, 0x9d, 0xe2, 0x2b, 0x3c,
+ 0x15, 0x53, 0x2b, 0x57, 0x4b, 0x7a, 0x7a, 0x7e, 0x28, 0xf5,
+ 0xa8, 0x86, 0xb5, 0x44, 0x09, 0xdd, 0x3e, 0x70, 0x09, 0x67,
+ 0x02, 0x93, 0x93, 0x84, 0x96, 0x90, 0x33, 0x58, 0x23, 0xa4,
+ 0x5b, 0x06, 0x37, 0x57, 0x5b, 0x83, 0xea, 0x66, 0x66, 0xb2,
+ 0x04, 0xf9, 0x21, 0xef, 0x22, 0x6e, 0xcb, 0x48, 0x51, 0x5b,
+ 0xcb, 0x3c, 0xca, 0x42, 0x42, 0x25, 0x70, 0xed, 0x2b, 0x6b,
+ 0x62, 0x1c, 0x9b, 0x23, 0xa8, 0xdd, 0x9b, 0xfd, 0x1d, 0x56,
+ 0x56, 0x76, 0x83, 0xa4, 0x4c, 0x70, 0xfa, 0x9a, 0x25, 0xaa,
+ 0x80, 0xb2, 0x25, 0xac, 0xf6, 0x98, 0x98, 0x86, 0xcc, 0x15,
+ 0x1a, 0xa6, 0x3e, 0xa2, 0xd0, 0xec, 0x13, 0xcb, 0xd0, 0x95,
+ 0xcc, 0x34, 0x34, 0x6a, 0x09, 0x9e, 0x67, 0x1b, 0x98, 0x86,
+ 0xbe, 0x89, 0x28, 0x6f, 0xbe, 0x51, 0xeb, 0xce, 0xce, 0xf0,
+ 0x4f, 0xb1, 0x54, 0x43, 0xbb, 0x22, 0xe5, 0x8f, 0x1f, 0x38,
+ 0xe5, 0xd2, 0x01, 0xa8, 0xa8, 0x42, 0x4b, 0x48, 0xec, 0xe7,
+ 0x70, 0xb6, 0x6c, 0xd5, 0xcb, 0x05, 0x6c, 0xe1, 0x18, 0x1b,
+ 0x1b, 0xff, 0x27, 0x0f, 0x9b, 0xde, 0x96, 0xe0, 0x52, 0xdb,
+ 0x09, 0x27, 0x52, 0xe4, 0xe8, 0xf5, 0xf5, 0x36, 0x92, 0x69,
+ 0xa2, 0x02, 0xf5, 0x36, 0x59, 0xb6, 0xc7, 0xf6, 0x59, 0xa6,
+ 0xd5, 0x87, 0x87, 0xd7, 0x65, 0xd9, 0x64, 0x25, 0x39, 0x91,
+ 0xa6, 0xc5, 0xe2, 0xef, 0xa6, 0x2e, 0x2c, 0xc8, 0xc8, 0x09,
+ 0x86, 0xf2, 0xef, 0xd9, 0xd1, 0xa1, 0x74, 0x99, 0x01, 0x85,
+ 0x74, 0x9e, 0xdf, 0x1d, 0x1d, 0x06, 0xee, 0x4c, 0x8b, 0xfc,
+ 0xe8, 0x30, 0xd2, 0x5c, 0xe3, 0x6a, 0xd2, 0xb0, 0xf3, 0xd5,
+ 0xd5, 0x0f, 0x68, 0xbe, 0x6c, 0x34, 0x06, 0xf9, 0xe6, 0x67,
+ 0x97, 0x28, 0xe6, 0x04, 0xc0, 0xd8, 0xd8, 0xf4, 0xfb, 0x78,
+ 0xff, 0xfb, 0xaf, 0x71, 0xf4, 0x1e, 0xeb, 0xc8, 0xf4, 0xca,
+ 0xc4, 0x3d, 0x3d, 0x3f, 0x14, 0x9b, 0xf7, 0xea, 0x90, 0x19,
+ 0xb4, 0xbc, 0x9e, 0x0f, 0xb4, 0xe0, 0x28, 0x2d, 0x2d, 0xc2,
+ 0x69, 0x11, 0x18, 0x33, 0x41, 0xb8, 0xc0, 0x25, 0x9f, 0x8a,
+ 0xc0, 0x7e, 0xf7, 0x30, 0x30, 0xc4, 0x87, 0x5d, 0xb3, 0x8b,
+ 0x55, 0xeb, 0xd1, 0xb4, 0x6b, 0x7a, 0xd1, 0x66, 0x32, 0xa5,
+ 0xa5, 0xb9, 0xd8, 0x8e, 0x7c, 0x16, 0x78, 0x29, 0x66, 0xe0,
+ 0x7d, 0x65, 0x66, 0x50, 0xdb, 0xf8, 0xf8, 0xcd, 0x01, 0xaf,
+ 0xcc, 0xa3, 0x8c, 0xd5, 0xaf, 0x18, 0xdc, 0x9f, 0xaf, 0x49,
+ 0x2e, 0x5b, 0x5b, 0x8d, 0x10, 0x62, 0x89, 0x69, 0x97, 0x2a,
+ 0xc2, 0x95, 0x6f, 0x2b, 0xc2, 0x5b, 0xc8, 0xd1, 0xd1, 0xa1,
+ 0xe6, 0x7d, 0xae, 0xfa, 0x34, 0x6a, 0x39, 0x45, 0x69, 0xb3,
+ 0x39, 0x99, 0x4f, 0x9f, 0x9f, 0xb5, 0xc7, 0x16, 0x31, 0xcd,
+ 0x5c, 0xbe, 0x4b, 0xcf, 0xbb, 0x16, 0x4b, 0x68, 0xd1, 0x62,
+ 0x62, 0x1c, 0x8a, 0x3a, 0x34, 0x8f, 0x7c, 0x87, 0x63, 0x1b,
+ 0x26, 0x55, 0x63, 0xe9, 0x5b, 0x68, 0x68, 0xd4, 0x12, 0xff,
+ 0x66, 0xb0, 0x46, 0x8b, 0xb6, 0x0c, 0x6e, 0xae, 0xb6, 0xc5,
+ 0x17, 0xcc, 0xcc, 0xa7, 0x08, 0x31,
+ },
+ {
+ /* 12 */
+ 0x55, 0x95, 0x9e, 0xb1, 0xd0, 0xa1, 0x4c, 0xd9, 0x5a, 0x2f,
+ 0xf9, 0x1c, 0x4c, 0xf2, 0x1a, 0x52, 0xfa, 0xed, 0x87, 0xcf,
+ 0x85, 0x5d, 0x81, 0x6c, 0x55, 0x48, 0x8b, 0x1e, 0x81, 0xe1,
+ 0x58, 0x1c, 0x0c, 0xbe, 0x0a, 0x56, 0x48, 0xac, 0xcc, 0x72,
+ 0x67, 0x5c, 0x45, 0x58, 0xcc, 0xf1, 0x09, 0x1a, 0x52, 0x31,
+ 0x7b, 0x77, 0xfa, 0xee, 0x3b, 0x0a, 0xaf, 0x0c, 0xfb, 0x83,
+ 0x3b, 0xb1, 0x8e, 0x02, 0xa3, 0xc6, 0x13, 0x28, 0x1d, 0x50,
+ 0x01, 0xc7, 0x68, 0x3b, 0x37, 0x5a, 0x01, 0xe2, 0x4b, 0x54,
+ 0x73, 0x1c, 0xab, 0xc9, 0xf7, 0x51, 0x4f, 0x53, 0xe2, 0x62,
+ 0xa0, 0xf2, 0x4f, 0x17, 0xc7, 0xae, 0xe1, 0x9c, 0x70, 0x97,
+ 0x07, 0xed, 0xe9, 0x75, 0xf2, 0xe7, 0x81, 0xb8, 0xe9, 0x6d,
+ 0xd9, 0xcf, 0x81, 0x25, 0x20, 0x62, 0x02, 0xc4, 0x46, 0x63,
+ 0x4c, 0x42, 0xec, 0x3d, 0x46, 0xe9, 0x91, 0x1f, 0x86, 0x81,
+ 0xc5, 0xa4, 0x28, 0x8b, 0x31, 0xb0, 0xb9, 0x61, 0xee, 0xa2,
+ 0x31, 0xaa, 0x05, 0x4f, 0x02, 0x35, 0x03, 0x19, 0x1c, 0x32,
+ 0x22, 0x17, 0x4e, 0x1a, 0x41, 0xa5, 0x22, 0x77, 0xe2, 0xba,
+ 0x6c, 0x07, 0x5a, 0xa3, 0x4d, 0x85, 0x63, 0x64, 0xd9, 0xf9,
+ 0x28, 0xdd, 0x63, 0x75, 0x41, 0xca, 0xdf, 0xaa, 0x51, 0x43,
+ 0xb0, 0x86, 0xb1, 0x1b, 0x84, 0x12, 0x52, 0xe6, 0xb1, 0xa9,
+ 0x16, 0x07, 0x4e, 0xe4, 0x69, 0xe9, 0x52, 0x11, 0x24, 0xc0,
+ 0xfd, 0x80, 0xf3, 0xba, 0x24, 0x7e, 0x9b, 0x81, 0xe8, 0xb3,
+ 0x9c, 0x1e, 0x79, 0x3c, 0x70, 0xc3, 0x2e, 0x82, 0x87, 0xda,
+ 0x70, 0xa8, 0xa6, 0x3f, 0x2e, 0x5d, 0x39, 0x1c, 0x57, 0x38,
+ 0x8b, 0xd6, 0x43, 0x25, 0x9e, 0x3f, 0x8b, 0xfa, 0xd3, 0x51,
+ 0x3d, 0xf8, 0xc2, 0x20, 0xa5, 0x40, 0x6b, 0x93, 0x1f, 0xe2,
+ 0x53, 0x48, 0x6b, 0x69, 0x5c, 0x2f, 0x29, 0xf9, 0xdc, 0xda,
+ 0x7d, 0x77, 0xfc, 0x05, 0xb6, 0x06, 0x9c, 0xa0, 0xfc, 0xb9,
+ 0x47, 0x01, 0x7d, 0x97, 0xa2, 0x86, 0xa3, 0xcf, 0xa1, 0x36,
+ 0xcb, 0x24, 0xa4, 0x0f, 0xa1, 0x91, 0x2c, 0x0e, 0x27, 0x72,
+ 0xd5, 0x95, 0x29, 0xe9, 0x12, 0x60, 0x9f, 0x40, 0x98, 0x5d,
+ 0x12, 0x3f, 0xac, 0xa1, 0x35, 0x2c, 0xce, 0x44, 0xd5, 0x88,
+ 0xe3, 0xcf, 0xe4, 0x8a, 0x94, 0x99, 0xe3, 0x76, 0x52, 0x82,
+ 0xcc, 0x0f, 0xaa, 0x7f, 0x42, 0xfe, 0x51, 0x5e, 0xd8, 0xd5,
+ 0x9f, 0x91, 0x51, 0x3a, 0x99, 0x79, 0xd6, 0x85, 0xbd, 0xca,
+ 0xce, 0x57, 0x28, 0xad, 0x58, 0x77, 0x54, 0x84, 0x28, 0x6c,
+ 0x69, 0xf7, 0x87, 0x7a, 0x25, 0x49, 0x26, 0x92, 0x20, 0x5a,
+ 0x9e, 0x6c, 0x2f, 0x11, 0x20, 0x70, 0x74, 0x12, 0xc9, 0x9e,
+ 0x4c, 0xa0, 0x74, 0x83, 0x04, 0x9a, 0x63, 0xec, 0xdc, 0xab,
+ 0x04, 0x0e, 0xef, 0x93, 0x6b, 0xa3, 0xbf, 0x65, 0x67, 0xca,
+ 0x14, 0xb7, 0x2c, 0xda, 0x2a, 0x42, 0x14, 0x36, 0xd5, 0x9a,
+ 0x32, 0x88, 0x2b, 0x82, 0xff, 0xc7, 0x94, 0x1c, 0x11, 0xa9,
+ 0x96, 0x06, 0x94, 0x35, 0xc6, 0xd2, 0xcd, 0xf4, 0x4a, 0x92,
+ 0x4c, 0xe7, 0x40, 0xb4, 0xff, 0xd8, 0x5e, 0x22, 0x40, 0xe0,
+ 0xe8, 0x24, 0x23, 0x18, 0xd3, 0xa7, 0x11, 0x8d, 0x56, 0x4e,
+ 0x03, 0x74, 0x1a, 0xd4, 0x56, 0xd1, 0xab, 0x16, 0x96, 0xea,
+ 0xdd, 0x6c, 0xc8, 0xd8, 0xe2, 0x08, 0x8c, 0xb1, 0xa3, 0xc3,
+ 0xe2, 0x94, 0x19, 0xd6, 0xb4, 0x09, 0xee, 0x26, 0xd7, 0x4c,
+ 0xa5, 0xac, 0xa8, 0xc8, 0x78, 0xa4, 0xa5, 0x9f, 0xc3, 0x9d,
+ 0x92, 0x80, 0xdb, 0x5e, 0xf0, 0xbc, 0xa6, 0x26, 0x10, 0x85,
+ 0x21, 0x4a, 0xa6, 0x7a, 0x1e, 0x61, 0xc6, 0xee, 0xa5, 0x02,
+ 0x2e, 0x04, 0xfb, 0x15, 0x6d, 0xa7, 0x19, 0xe5, 0xfb, 0x52,
+ 0x75, 0x6e, 0x91, 0x4e, 0x38, 0xaa, 0xe2, 0x97, 0x95, 0xdb,
+ 0x79, 0x92, 0xa1, 0x5c, 0x95, 0xd7, 0x8d, 0x86, 0xe4, 0x0d,
+ 0x96, 0x48, 0x31, 0x90, 0xbc, 0xb1, 0x49, 0xde, 0xc2, 0x82,
+ 0xbc, 0x59, 0xaf, 0x25, 0xd2, 0xef, 0xbb, 0xf8, 0xf6, 0x33,
+ 0x6c, 0x83, 0xc4, 0x43, 0xd6, 0x0d, 0x6c, 0x82, 0x6e, 0x40,
+ 0x56, 0x5b, 0x7d, 0x45, 0xc2, 0x8a, 0x7f, 0x24, 0x33, 0x38,
+ 0x79, 0x0a, 0x7f, 0x5f, 0x89, 0xb5, 0x88, 0x0a, 0xcc, 0xeb,
+ 0x7c, 0x15, 0xdf, 0xd5, 0x90, 0x27, 0xea, 0x5f, 0xdf, 0x2c,
+ 0xee, 0xef, 0x6f, 0xc9, 0xb9, 0x57, 0x5f, 0xae, 0x50, 0x99,
+ 0xb0, 0xee, 0xa8, 0xcb, 0x50, 0xd8, 0xd2, 0x2d, 0x10, 0x6b,
+ 0x18, 0xc8, 0xe0, 0x53, 0xd3, 0xb8, 0x35, 0xd0, 0x4d, 0x61,
+ 0xd3, 0x3e, 0x1c, 0x99, 0x59, 0x2b, 0x94, 0xe7, 0x98, 0x0d,
+ 0x80, 0xab, 0x3d, 0x73, 0xbc, 0x44, 0x80, 0x03, 0x13, 0x48,
+ 0x63, 0x77, 0xb3, 0x01, 0x17, 0x02, 0x9c, 0xeb, 0xd7, 0xb2,
+ 0xed, 0x93, 0x9c, 0x29, 0xdb, 0x37, 0xca, 0x50, 0xaf, 0x54,
+ 0x66, 0xa8, 0x37, 0x67, 0x0a, 0xfb, 0x5c, 0xbd, 0x37, 0xa3,
+ 0x7c, 0x74, 0x79, 0xfd, 0xa4, 0xb4, 0x9b, 0xab, 0xe5, 0x18,
+ 0x57, 0x10, 0x26, 0x86, 0xe5, 0x7f, 0x2b, 0xb9, 0xb2, 0x56,
+ 0xeb, 0x0d, 0xf3, 0x1a, 0xc3, 0x95, 0x7a, 0xe6, 0xbb, 0x88,
+ 0xc3, 0x06, 0x26, 0x90, 0x28, 0x02, 0x3c, 0x37, 0x73, 0x6e,
+ 0xed, 0xef, 0x91, 0x0b, 0x5d, 0x13, 0xed, 0x63, 0x36, 0x5c,
+ 0xea, 0x86, 0x9f, 0x07, 0x65, 0x0e, 0x52, 0xd4, 0x60, 0x98,
+ 0xc6, 0x7f, 0x52, 0xdf, 0x44, 0x85, 0xec, 0xd9, 0x9a, 0x2c,
+ 0x41, 0x58, 0x34, 0xed, 0xb2, 0xb6, 0x05, 0x53, 0x34, 0x46,
+ 0xa1, 0x88, 0x2a, 0x37, 0x3f, 0x2e, 0x6f, 0x5c, 0xcf, 0xf8,
+ 0xdf, 0x11, 0x1c, 0xb6, 0xcf, 0x14, 0xd4, 0xe6, 0xc4, 0xdb,
+ 0xa6, 0x1b, 0x32, 0x36, 0xd9, 0x02, 0x23, 0xbd, 0x58, 0x40,
+ 0xd9, 0x25, 0x97, 0xd4, 0xa7, 0xac, 0x15, 0x1a, 0x25, 0x34,
+ 0x45, 0xe9, 0xf4, 0x0f, 0xb5, 0xd3, 0x45, 0x0c, 0x4c, 0xe3,
+ 0x17, 0xcf, 0xfd, 0x0e, 0xca, 0x1c, 0xa4, 0x6b, 0xc0, 0xf3,
+ 0x4f, 0xfe, 0xa4, 0x7d, 0x88, 0xc9, 0x5f, 0x74, 0x91, 0xcc,
+ 0xbc, 0x5b, 0xe6, 0x92, 0xef, 0x5d, 0x7f, 0x68, 0xe6, 0x9a,
+ 0xf6, 0x45, 0x62, 0x8c, 0x53, 0xec, 0x19, 0x1b, 0x8d, 0x01,
+ 0xf0, 0xbf, 0x2c, 0x20, 0x8d, 0xf3, 0xaa, 0x6a, 0x5d, 0x41,
+ 0x92, 0xd5, 0xa0, 0x69, 0xc4, 0x85, 0xa1, 0x47, 0x3e, 0xcd,
+ 0xc4, 0xed, 0x14, 0xff, 0x06, 0x5f, 0x05, 0x2b, 0x24, 0x56,
+ 0x66, 0x39, 0xd2, 0x2e, 0xc3, 0x2c, 0x66, 0x99, 0xe5, 0x0d,
+ 0x3a, 0x5c, 0x27, 0xe6, 0x8f, 0x0f, 0x1c, 0x40, 0xea, 0xc1,
+ 0x51, 0xd7, 0x1c, 0x2a, 0xc8, 0x7f, 0x39, 0x92, 0xc4, 0x12,
+ 0x9d, 0x24, 0x2f, 0xbd, 0x83, 0xd6, 0xd1, 0xc1, 0x2f, 0x87,
+ 0x5b, 0x98, 0xa1, 0xf3, 0x10, 0x31, 0x01, 0x62, 0x23, 0xd0,
+ 0x26, 0x21, 0x76, 0xff, 0x23, 0x95, 0xa9, 0xee, 0x07, 0xa4,
+ 0xe5, 0xc6, 0x2a, 0x4f, 0x77, 0xd3, 0xf5, 0x23, 0x02, 0x9f,
+ 0x77, 0x43, 0x94, 0x50, 0x6d, 0xfc, 0xba, 0x4e, 0x43, 0x9c,
+ 0x72, 0x8e, 0xfe, 0xf4, 0xe9, 0x6e, 0x72, 0xaf, 0x30, 0x97,
+ 0x21, 0x2d, 0xd0, 0xbe, 0x0d, 0xbf, 0x74, 0x59, 0x4d, 0x6e,
+ 0x5b, 0x71, 0x74, 0xa6, 0x49, 0xac, 0xba, 0x82, 0xe7, 0x69,
+ 0x83, 0xd2, 0x4b, 0xc9, 0x81, 0x8e, 0x7c, 0x59, 0x4b, 0x19,
+ 0x28, 0x3d, 0x69, 0x96, 0xbc, 0x7c, 0x7b, 0xf8, 0x36, 0xa0,
+ 0x62, 0xc0, 0x6b, 0xe7, 0x36, 0x41, 0x37, 0x20, 0x37, 0x19,
+ 0xcd, 0x5d, 0xc9, 0xba, 0xc1, 0xd8, 0xaa, 0x90, 0xd5, 0x3c,
+ 0xc1, 0x01, 0xb0, 0x38, 0x3e, 0x36, 0x21, 0xd4, 0xb7, 0x6b,
+ 0x58, 0x6e, 0x76, 0xf5, 0xd3, 0x5e, 0x58, 0xc4, 0xcf, 0xc8,
+ 0x25, 0x47, 0xd6, 0x8c, 0x35, 0xdb, 0x30, 0x77, 0xd1, 0x5a,
+ 0xd9, 0xf8, 0x30, 0x48, 0x4e, 0x1b, 0xc1, 0x4a, 0x40, 0xc4,
+ 0x04, 0x4b, 0x8c, 0xc6, 0x98, 0x84, 0x1b, 0x7a, 0x8c, 0x11,
+ 0xe1, 0x3e, 0xf7, 0xa8, 0x6d, 0x74, 0xc3, 0xe8, 0x5c, 0xf4,
+ 0x15, 0x19, 0x0f, 0xf5, 0x5c, 0xca, 0x20, 0x5b, 0xd4, 0xb0,
+ 0xbe, 0xd3, 0xd2, 0x65, 0x0a, 0xba, 0x16, 0x6d, 0x15, 0x21,
+ 0x0a, 0x1b, 0x8b, 0x4d, 0x70, 0xd2, 0x48, 0x3d, 0xe5, 0x7a,
+ 0x7c, 0xae, 0x8b, 0x75, 0x20, 0xe4, 0x7c, 0xba, 0x54, 0x49,
+ 0xf9, 0x23, 0x64, 0x3b, 0x97, 0x76, 0xb2, 0x91, 0x3c, 0x5f,
+ 0x0b, 0x08, 0xb2, 0x4c, 0xcb, 0xfb, 0x9b, 0xaf, 0x37, 0xd7,
+ 0x8e, 0x6d, 0x3f, 0x90, 0xcc, 0xe0, 0x27, 0x28, 0x3f, 0xbf,
+ 0x61, 0x91, 0x30, 0xbd, 0x28, 0x9b, 0xe3, 0xf5, 0xb6, 0x0b,
+ 0x5f, 0xb3, 0xd7, 0xa3, 0xb6, 0x42, 0x24, 0x68, 0xf8, 0xd8,
+ 0x84, 0xd6, 0x99, 0x6f, 0xa3, 0x7b, 0x1b, 0x52, 0xca, 0xbb,
+ 0xa3, 0x96, 0xba, 0xa6, 0x4a, 0x8e, 0x6f, 0xdb, 0x6a, 0x75,
+ 0x60, 0xee, 0x61, 0xb4, 0x71, 0x33, 0x60, 0x90, 0x9c, 0x36,
+ 0x2d, 0x93, 0xda, 0xe8, 0x45, 0x13, 0xb8, 0x2b, 0x2a, 0x32,
+ 0x1e, 0x29, 0xb8, 0x57, 0x40, 0xb6, 0xbf, 0x13, 0x01, 0xb6,
+ 0xb5, 0xaf, 0x1e, 0x0d, 0x3a, 0xb7, 0x3f, 0x63, 0x1e, 0x2d,
+ 0x5e, 0xd7, 0x40, 0x6f, 0x60, 0xa6, 0x06, 0x8f, 0xca, 0xa5,
+ 0xd4, 0xc6, 0xf7, 0x47, 0xca, 0xf8, 0x70, 0x21, 0x49, 0x40,
+ 0x8c, 0x2f, 0x78, 0x5e, 0x53, 0x13, 0x08, 0xa3, 0xf1, 0x25,
+ 0x53, 0x3d, 0x0f, 0xd1, 0x5e, 0x8f, 0x71, 0x21, 0xb2, 0x42,
+ 0xf7, 0x78, 0xc8, 0x50, 0xbe, 0xdb, 0xf7, 0x40, 0x87, 0x18,
+ 0x46, 0x30, 0x65, 0x8d, 0x22, 0xd9, 0xac, 0x9c, 0x06, 0xe8,
+ 0x34, 0x6b, 0xac, 0x61, 0x95, 0x2c, 0xae, 0x83, 0xf9, 0x93,
+ 0x5b, 0xe5, 0xdc, 0x5f, 0x28, 0x6a, 0xb3, 0xb1, 0xdc, 0xc9,
+ 0x33, 0x13, 0x65, 0x28, 0xb6, 0x2a, 0x33, 0x54, 0xfa, 0xd2,
+ 0x05, 0x9c, 0x2e, 0xbf, 0xfa, 0xb0, 0x3e, 0x3a, 0x24, 0xbc,
+ 0x36, 0x61, 0x3b, 0xc2, 0x21, 0x9d, 0xf6, 0x57, 0x18, 0x4b,
+ 0x21, 0x92, 0x3f, 0x46, 0x5c, 0xba, 0x72, 0x38, 0xae, 0x70,
+ 0xd5, 0x6f, 0x86, 0x4a, 0xff, 0x7e, 0xd5, 0x37, 0x65, 0xa2,
+ 0x72, 0xe7, 0x4b, 0x24, 0xf9, 0x48, 0x5e, 0xb9, 0xc5, 0x6f,
+ 0x61, 0x41, 0x5e, 0xcd, 0xb6, 0xf3, 0x97, 0x11, 0x3d, 0x81,
+ 0xc6, 0xc1, 0xf3, 0xe2, 0xab, 0xbc, 0x62, 0x70, 0xf3, 0x4e,
+ 0x68, 0x8b, 0xaf, 0x78, 0x19, 0x7e, 0x55, 0xfc, 0xcd, 0xb5,
+ 0x0f, 0x67, 0x72, 0x02, 0xcd, 0x13, 0x42, 0x4e, 0x0d, 0x45,
+ 0xea, 0xbb, 0x46, 0xb5, 0xdd, 0x98, 0x40, 0x51, 0x84, 0xeb,
+ 0xdd, 0x2b, 0x78, 0x47, 0xb9, 0x4c, 0x04, 0x9d, 0x91, 0xf9,
+ 0x78, 0x34, 0xe8, 0x99, 0xfc, 0x4f, 0x78, 0xb4, 0xbb, 0xda,
+ 0x45, 0xfe, 0x86, 0x79, 0x30, 0xf2, 0x9f, 0x61, 0x6f, 0xff,
+ 0xb4, 0x7d, 0x9f, 0xcc, 0x06, 0xcb, 0x76, 0x8d, 0x4d, 0x16,
+ 0xc1, 0x2c, 0x1a, 0x97, 0x59, 0x5b, 0xe3, 0xc8, 0x1a, 0x23,
+ 0xb1, 0x44, 0x43, 0xa1, 0x83, 0x52, 0x14, 0xa4, 0xf9, 0x58,
+ 0xbd, 0xd1, 0x77, 0x51, 0xf9, 0x55, 0xe3, 0xc6, 0x51, 0xff,
+ 0x98, 0x83, 0xe8, 0xc5, 0x08, 0xf7, 0xc6, 0x1b, 0x7b, 0x95,
+ 0x08, 0x1c, 0x1d, 0xe5, 0x85, 0x4f, 0x26, 0x50, 0x3a, 0xa0,
+ 0x02, 0x4d, 0xd0, 0x76, 0x6e, 0xb4, 0x02, 0x07, 0x96, 0xa8,
+ 0x5a, 0xe5, 0x77, 0x13, 0x8a, 0x26, 0xb3, 0x56, 0x54, 0x64,
+ 0x3c, 0x52, 0xb3, 0xae, 0x80, 0xaf, 0x7c, 0x6c, 0x42, 0x6b,
+ 0xad, 0xd6, 0xb0, 0xdc, 0xec, 0x29, 0x65, 0xbc, 0xb0, 0x4b,
+ 0x5d, 0x53, 0xd0, 0xda, 0xb8, 0xe1, 0xea, 0x01, 0x4e, 0x94,
+ 0x8a, 0x59, 0x97, 0xa8, 0x4e, 0xf5, 0x8c, 0xfa, 0x08, 0xd4,
+ 0x0c, 0x64, 0x70, 0xc8, 0x88, 0x5c, 0xfb, 0x68, 0xc7, 0xd1,
+ 0x88, 0x1f, 0x0e, 0xad, 0x05, 0x91, 0xe6, 0xdf, 0x36, 0x7d,
+ 0x55, 0xc4, 0xbb, 0x39, 0x43, 0x3a, 0x55, 0x34, 0x76, 0xea,
+ 0xb8, 0xb7, 0xe4, 0x70, 0x9f, 0xe0, 0x69, 0xde, 0xcf, 0x94,
+ 0x3d, 0xfc, 0x69, 0x6e, 0xca, 0x87, 0x0f, 0x70, 0xe9, 0xa2,
+ 0x5a, 0x87, 0xff, 0x8f, 0x0e, 0x4b, 0xc5, 0x4e, 0xff, 0x5c,
+ 0x9a, 0xfd, 0x7a, 0x33, 0x47, 0x40, 0x89, 0x80, 0xd6, 0xe5,
+ 0x3e, 0x07, 0xa6, 0x90, 0xd6, 0xd2, 0xb8, 0x5e, 0xff, 0x7c,
+ 0x61, 0x10, 0xb3, 0x20, 0xd4, 0xa8, 0xee, 0x71, 0xc8, 0x24,
+ 0xd4, 0xd5, 0x2e, 0xf6, 0xda, 0x3b, 0xb7, 0x9c, 0x86, 0xfb,
+ 0xe4, 0xdf, 0x3f, 0x2b, 0x11, 0xdc, 0xe4, 0x9d, 0x60, 0xed,
+ 0xdb, 0xc0, 0x57, 0x71, 0x88, 0xe2, 0xf5, 0x35, 0x18, 0x26,
+ 0xd0, 0x6f, 0xf5, 0x47, 0x11, 0xb0, 0xf2, 0x39, 0x8b, 0xab,
+ 0xf5, 0x95, 0x09, 0x30, 0xae, 0x20, 0x4c, 0xcf, 0x09, 0xfe,
+ 0x56, 0xb1, 0x99, 0x9a, 0x34, 0xce, 0x92, 0x5f, 0x1d, 0x87,
+ 0x82, 0xfa, 0x66, 0x8d, 0x1d, 0xc8, 0x83, 0x2b, 0xa9, 0x27,
+ 0x1c, 0x55, 0x71, 0xaa, 0xab, 0x8c, 0xdd, 0x49, 0xb1, 0x2e,
+ 0xab, 0x8a, 0xa7, 0x43, 0x54, 0x6e, 0x7e, 0x5c, 0xde, 0xb8,
+ 0x5d, 0x33, 0x7d, 0x22, 0x38, 0xaf, 0x5d, 0x28, 0x6b, 0x0f,
+ 0x95, 0x24, 0x3e, 0x98, 0xda, 0xf3, 0xd1, 0xf5, 0xe5, 0xa6,
+ 0x23, 0xd5, 0xd1, 0x39, 0x8a, 0x31, 0x68, 0x6d, 0x5c, 0x91,
+ 0x75, 0xe1, 0x27, 0x4a, 0x45, 0xcd, 0xaa, 0x54, 0x27, 0x9b,
+ 0x46, 0x7d, 0x1c, 0xd5, 0x12, 0x9e, 0xa8, 0xff, 0x1f, 0xca,
+ 0x52, 0x8c, 0x08, 0x39, 0x1f, 0xcf, 0x15, 0x83, 0x6a, 0x58,
+ 0x5f, 0x88, 0x69, 0xd3, 0x05, 0x5d, 0x0b, 0xd7, 0xeb, 0xf1,
+ 0x05, 0xec, 0xa4, 0xc7, 0x0e, 0x8b, 0x09, 0x4f, 0x54, 0x9e,
+ 0xee, 0x65, 0x29, 0x46, 0x04, 0xfd, 0xee, 0x86, 0xeb, 0xa0,
+ 0x93, 0x7b, 0x3b, 0xb3, 0xfe, 0xa5, 0xb7, 0xcc, 0x37, 0x88,
+ 0xe0, 0xf9, 0xb7, 0xa0, 0x6f, 0x3c, 0xa8, 0xdc, 0xfc, 0xb8,
+ 0x7f, 0xb3, 0xba, 0x66, 0xfa, 0x44, 0x70, 0x9d, 0xba, 0x50,
+ 0xd6, 0x1e, 0xcf, 0xc1, 0x49, 0x8b, 0x50, 0xd5, 0x62, 0xa3,
+ 0xb1, 0xc2, 0x1f, 0x87, 0x62, 0x97, 0x0a, 0x9e, 0xc2, 0x84,
+ 0xa3, 0x30, 0x16, 0x60, 0xbf, 0x3b, 0xf1, 0x93, 0x9b, 0x6c,
+ 0xbf, 0xbc, 0x72, 0xd9, 0xcb, 0xab, 0x4f, 0xb9, 0x68, 0xb1,
+ 0x26, 0x8d, 0x2d, 0xf6, 0x9d, 0x0e, 0x26, 0x79, 0x0d, 0x29,
+ 0x8e, 0x55, 0xc9, 0xc0, 0x58, 0x43, 0xb9, 0xec, 0x42, 0x09,
+ 0x29, 0x73, 0xb9, 0xb5, 0x0b, 0xe2, 0x33, 0x73, 0xcb, 0x6f,
+ 0xf1, 0xde, 0x85, 0xf6, 0x36, 0xa4, 0x57, 0xb5, 0x85, 0xef,
+ 0xb7, 0x8f, 0x15, 0xfa, 0xfe, 0x17, 0xd6, 0x2e, 0x86, 0x7c,
+ 0x8e, 0xe9, 0x0e, 0x5b, 0x86, 0x0a, 0x6a, 0x73, 0x89, 0xf1,
+ 0x2c, 0x06, 0x72, 0x0c, 0xce, 0x3f, 0xb7, 0x2a, 0x2b, 0xec,
+ 0xce, 0xf6, 0x9f, 0xb2, 0xd1, 0x21, 0x58, 0x0c, 0xe4, 0x18,
+ 0x5f, 0x7e, 0xad, 0x54, 0x56, 0x1b, 0x5f, 0x2f, 0xfd, 0xa7,
+ 0x1a, 0x8a, 0x17, 0xb5, 0x8c, 0xa9, 0x79, 0xf3, 0x80, 0xa2,
+ 0xcb, 0x15, 0x79, 0x56, 0xf0, 0x8e, 0x98, 0x61, 0xd4, 0x23,
+ 0x9c, 0x46, 0x0c, 0x6d, 0xa5, 0xf7, 0xa7, 0x3e, 0x0c, 0x12,
+ 0xf2, 0x76, 0xce, 0x3a, 0xa9, 0x66, 0x5e, 0xcc, 0x73, 0x49,
+ 0x96, 0xcf, 0xde, 0x34, 0x73, 0x4d, 0x7b, 0xc3, 0x1b, 0x71,
+ 0xf7, 0x58, 0x82, 0xb0, 0x68, 0x19, 0xa7, 0xaf, 0x0a, 0xa6,
+ 0x68, 0x8c, 0x81, 0xd3, 0xe3, 0xa9, 0x73, 0x8e, 0x1b, 0xdf,
+ 0xcb, 0x62, 0xbc, 0xfd, 0xc0, 0x1d, 0xcb, 0x1a, 0x3b, 0x75,
+ 0x9d, 0xf0, 0x32, 0xfc, 0xaa, 0x3b, 0x59, 0xa9, 0x1e, 0xce,
+ 0xe4, 0x04, 0x59, 0x26, 0x84, 0x9c, 0x8c, 0x60, 0xca, 0xd9,
+ 0x44, 0x71, 0x9b, 0xfb, 0x0c, 0x13, 0x68, 0xd6, 0x9b, 0xc2,
+ 0xe9, 0x58, 0x6e, 0x32, 0x59, 0xba, 0x51, 0xb7, 0x41, 0x73,
+ 0x97, 0xe3, 0x69, 0x78, 0x41, 0x02, 0xa3, 0x70, 0x66, 0xe6,
+ 0x55, 0xde, 0x21, 0x7f, 0xc9, 0x2f, 0x6c, 0x8b, 0xae, 0xa9,
+ 0xc9, 0x1d, 0xad, 0xdd, 0x58, 0xd0, 0x74, 0x0a, 0x96, 0x14,
+ 0x91, 0x41, 0x1a, 0x7e, 0x7d, 0xf7, 0x91, 0xd9, 0x62, 0x15,
+ 0x9a, 0x54, 0xd7, 0x3a, 0x80, 0x74, 0x2e, 0x7a, 0xeb, 0xed,
+ 0xe6, 0x9b, 0x2e, 0x65, 0x10, 0xcc, 0x47, 0xcb, 0x85, 0x60,
+ 0x2c, 0xc0, 0xbd, 0x76, 0x21, 0xe5, 0xf5, 0xd8, 0xbd, 0xbb,
+ 0xe4, 0x71, 0x18, 0xbf, 0x14, 0xac, 0x90, 0x9b, 0x5b, 0xe4,
+ 0xce, 0xb8, 0x8a, 0xb0, 0x5b, 0x21, 0x12, 0x34, 0xad, 0x4d,
+ 0x1a, 0x67, 0x49, 0xce, 0xef, 0xa2, 0x41, 0x7d, 0x33, 0xa7,
+ 0xef, 0x64, 0xa0, 0xf4, 0x1e, 0xe0, 0x11, 0x87, 0xb4, 0xcd,
+ 0x3d, 0xdd, 0x1c, 0x96, 0x49, 0x9c, 0x3d, 0xb8, 0xf7, 0x39,
+ 0xdc, 0x64, 0xb2, 0xb7, 0xa2, 0xad, 0x82, 0xe6, 0xed, 0x05,
+ 0xd2, 0xf0, 0x82, 0x04, 0x85, 0xe0, 0xa4, 0x62, 0xf6, 0xee,
+ 0x37, 0x1f, 0x76, 0x14, 0x9d, 0x18, 0x35, 0xc5, 0x76, 0xa1,
+ 0xdf, 0x04, 0x34, 0xd7, 0x2e, 0xa9, 0xdb, 0x91, 0xf2, 0x25,
+ 0xc3, 0x87, 0x55, 0x2a, 0xf2, 0xac, 0x23, 0xdf, 0xfd, 0x49,
+ 0x62, 0x09, 0xaf, 0x12, 0xf6, 0xbf, 0xa0, 0x6b, 0x89, 0x81,
+ 0xf6, 0xa2, 0xcc, 0x4c, 0x9f, 0xc5, 0x31, 0xe5, 0xb6, 0x09,
+ 0x7b, 0xbe, 0x50, 0xd4, 0xa5, 0xa1, 0x7b, 0x51, 0x66, 0x26,
+ 0x8f, 0xae, 0x29, 0x2d, 0x56, 0x5a, 0xa8, 0x06, 0x65, 0x04,
+ 0xe8, 0xc0, 0xa8, 0x6f, 0x7a, 0xbf, 0xed, 0x22, 0x7a, 0xc1,
+ 0x4f, 0x41, 0x25, 0x07, 0x95, 0xbb, 0xc4, 0xe0, 0x25, 0x9c,
+ 0xd0, 0xd5, 0xf1, 0xf7, 0x68, 0x5f, 0xe7, 0xbe, 0x3a, 0xcd,
+ 0xc7, 0x37, 0xcc, 0xd9, 0x3a, 0x53, 0xc5, 0x56, 0xe5, 0xf6,
+ 0x76, 0xa5, 0x3f, 0x89, 0xad, 0x5b, 0x6e, 0xd3, 0x03, 0x31,
+ 0xad, 0x83, 0xde, 0x78, 0x1f, 0x1b, 0xf1, 0x6a, 0xba, 0xd4,
+ 0x2c, 0x37, 0x3b, 0x9b, 0x88, 0x2f, 0x2c, 0x62, 0x86, 0x64,
+ 0x82, 0xeb, 0xc3, 0x96, 0x10, 0xef, 0x75, 0x9e, 0x25, 0x55,
+ 0x6c, 0x2b, 0x75, 0x44, 0x02, 0xf8, 0xf0, 0x0c, 0x88, 0xb2,
+ 0xe9, 0xa7, 0x2b, 0x27, 0xe0, 0x3a, 0x0d, 0x6a, 0x2b, 0x89,
+ 0xb4, 0x0b, 0xe6, 0x38, 0x95, 0x51, 0x2d, 0xa2, 0x9e, 0xa6,
+ 0x07, 0xc4, 0x83, 0x27, 0x9e, 0x2e, 0x4d, 0x9f, 0xc3, 0x7f,
+ 0x43, 0xdd, 0x18, 0x79, 0xae, 0xd1, 0xd6, 0x9e, 0x5a, 0xdf,
+ 0xae, 0x66, 0x03, 0x84, 0xef, 0x17, 0x79, 0xd8, 0x53, 0x73,
+ 0x07, 0x10, 0xdb, 0xa1, 0x85, 0x45, 0x07, 0xeb, 0x32, 0x6f,
+ 0x1d, 0x2e, 0xf2, 0x73, 0xa6, 0xe6, 0x0e, 0x20, 0x75, 0x81,
+ 0xc9, 0x8a, 0x0e, 0x15, 0x64, 0xde, 0xc0, 0xb1, 0xa0, 0x29,
+ 0x0a, 0x52, 0x9d, 0x2c, 0xbf, 0x89, 0xda, 0xc9, 0x9d, 0xcb,
+ 0x90, 0x63, 0xf6, 0x53, 0x8d, 0x99, 0xcd, 0xf1, 0x4d, 0x1e,
+ 0x32, 0x14, 0xce, 0x46, 0x4d, 0x10, 0x51, 0x06, 0x4b, 0x75,
+ 0x8f, 0x36, 0x64, 0x6c, 0x71, 0x04, 0x46, 0xb9, 0xb0, 0x80,
+ 0x71, 0x4a, 0xed, 0x6b, 0xee, 0xec, 0x99, 0x35, 0x5d, 0x6a,
+ 0x16, 0xfa, 0xfc, 0xac, 0x44, 0xf6, 0x16, 0x31, 0x43, 0x32,
+ 0xe9, 0x48, 0x7c, 0xf3, 0x77, 0x25, 0x61, 0x29, 0x09, 0x8f,
+ 0x46, 0x69, 0x61, 0x72, 0xd7, 0x62, 0xe2, 0x52, 0x93, 0x63,
+ 0x15, 0xc6, 0xda, 0x88, 0x9b, 0xf0, 0x01, 0xae, 0xda, 0xc0,
+ 0x4a, 0x28, 0x16, 0x34, 0x1d, 0xe3, 0xc4, 0x05, 0xb5, 0x81,
+ 0xe7, 0xfe, 0x8e, 0x4d, 0xb5, 0xa7, 0xf9, 0x94, 0x53, 0xca,
+ 0x9b, 0x9a, 0xf4, 0xf7, 0x2a, 0xe0, 0x88, 0x01, 0x3a, 0x30,
+ 0x2a, 0x6b, 0xff, 0x5f, 0xdd, 0x9f, 0x52, 0x5a, 0xac, 0xb4,
+ 0x93, 0x0c, 0xca, 0x08, 0x13, 0x43, 0x93, 0xde, 0xf4, 0xbd,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfb, 0xe0, 0xed,
+ 0x0e, 0x19, 0x11, 0xea, 0x27, 0x0d, 0xc1, 0xb3, 0x11, 0xda,
+ 0x71, 0x5d, 0x8b, 0xc4, 0x2f, 0x1f, 0x6e, 0x3e, 0xec, 0x28,
+ 0xf9, 0x30, 0x6a, 0x49, 0xec, 0x81, 0x7d, 0x08, 0xf3, 0xc2,
+ 0x6b, 0x46, 0xfb, 0x8c, 0x18, 0xda, 0x89, 0x2d, 0x8d, 0x7c,
+ 0x18, 0x24, 0x27, 0xec, 0xde, 0x51, 0xb1, 0xae, 0xbe, 0x9f,
+ 0xa0, 0xf1, 0xa3, 0x1f, 0x93, 0x55, 0xa0, 0x73, 0x67, 0x5a,
+ 0x57, 0xa0, 0x9d, 0xa8, 0xcc, 0x93, 0x6e, 0xce, 0x14, 0x35,
+ 0xb8, 0xb9, 0x6e, 0x85, 0xf8, 0xe8, 0x9e, 0x3e, 0xd1, 0x08,
+ 0xb8, 0x10, 0x6a, 0x54, 0x77, 0xd9, 0x64, 0x12, 0x6a, 0x8b,
+ 0x17, 0x7b, 0x38, 0x69, 0x24, 0xff, 0x93, 0x3d, 0x3e, 0x57,
+ 0xa4, 0xdb, 0x10, 0x72, 0x3e, 0x5d, 0x2a, 0xc5, 0xbe, 0xe8,
+ 0xe1, 0x5b, 0xbb, 0xb6, 0x0f, 0xe7, 0x1d, 0xba, 0xfe, 0xd0,
+ 0x0f, 0xf7, 0x2f, 0x8a, 0x8a, 0x3f, 0xcf, 0xf2, 0x60, 0x27,
+ 0xfd, 0xc2, 0xde, 0x3d, 0xab, 0xfa, 0xfd, 0x5b, 0x0c, 0x55,
+ 0x4f, 0x1f, 0x89, 0x04, 0x5c, 0x08, 0x35, 0x2a, 0xda, 0x8d,
+ 0x32, 0x09, 0x35, 0xa4, 0xea, 0xdc, 0xa2, 0x3d, 0xf3, 0xc5,
+ 0x13, 0x49, 0x10, 0x2d, 0x4f, 0x36, 0xf6, 0xe9, 0x10, 0x38,
+ 0x3a, 0x09, 0x61, 0x42, 0xb0, 0x18, 0x0b, 0x30, 0xbe, 0xfc,
+ 0x99, 0xa8, 0xac, 0x36, 0xbe, 0x5e, 0x39, 0x8d, 0x9c, 0x0b,
+ 0xd2, 0x11, 0xa4, 0x22, 0x48, 0x43, 0x39, 0xc3, 0x25, 0xb7,
+ 0x48, 0xfc, 0xf5, 0xc1, 0x26, 0x89, 0x35, 0x78, 0x27, 0xf0,
+ 0x03, 0x8a, 0xb8, 0x4d, 0x59, 0xee, 0x03, 0xe5, 0xdd, 0xfc,
+ 0x60, 0xb9, 0x50, 0xf5, 0x05, 0x29, 0xaf, 0x16, 0xbe, 0xa5,
+ 0x6d, 0x85, 0xaf, 0x84, 0x48, 0xd0, 0x78, 0x06, 0x44, 0x59,
+ 0x95, 0xb2, 0xf4, 0xf2, 0x70, 0x1d, 0xe7, 0x35, 0xf4, 0xa5,
+ 0x5a, 0xe4, 0xd9, 0xf5, 0x54, 0x68, 0x94, 0xd0, 0xd7, 0x22,
+ 0x56, 0x3c, 0x91, 0xca, 0xd7, 0x30, 0xf3, 0x0a, 0x3c, 0x03,
+ 0x22, 0xcd, 0xab, 0x59, 0x7a, 0x79, 0x38, 0xef, 0x92, 0xfb,
+ 0x7a, 0xb3, 0x2d, 0x72, 0xfb, 0x16, 0x67, 0x22, 0x8b, 0x44,
+ 0x90, 0x86, 0x72, 0x45, 0x4a, 0xad, 0x90, 0x3b, 0x29, 0x41,
+ 0xc7, 0x15, 0x45, 0xef, 0x20, 0x1d, 0xea, 0xff, 0x4a, 0xaa,
+ 0xd8, 0x56, 0xea, 0x88, 0x04, 0x33, 0xfe, 0x87, 0x81, 0xfd,
+ 0xbd, 0x39, 0xc5, 0x42, 0xc9, 0x7c, 0x09, 0x97, 0xc5, 0x0f,
+ 0x5f, 0xab, 0x36, 0xe2, 0x2d, 0xb0, 0xc7, 0xa3, 0xd0, 0x32,
+ 0x8d, 0x9d, 0x14, 0x8f, 0xd0, 0xdb, 0xc1, 0x65, 0xa0, 0x08,
+ 0xf0, 0xdc, 0x0f, 0x7b, 0x32, 0x3a, 0x01, 0x2c, 0xb7, 0x4c,
+ 0x32, 0x4f, 0xd8, 0xb3, 0x50, 0x04, 0x78, 0x6e, 0xe6, 0xdc,
+ 0x19, 0x1d, 0xe1, 0x16, 0xba, 0x26, 0x19, 0xc6, 0x6c, 0xb8,
+ 0xf5, 0x9d, 0x6e, 0x6d, 0xdf, 0xda, 0x7e, 0xe3, 0x5b, 0x03,
+ 0x4e, 0x50, 0x7e, 0xbd, 0xc2, 0xe1, 0xaa, 0xe9, 0xff, 0xa1,
+ 0x63, 0x81, 0x98, 0x71, 0xb4, 0x5e, 0x31, 0x38, 0x98, 0x27,
+ 0x34, 0xa4, 0xd3, 0x14, 0x5b, 0x15, 0xf8, 0x2a, 0x7d, 0x69,
+ 0xe3, 0x4e, 0x17, 0xbe, 0x7d, 0x58, 0x1f, 0x1d, 0x41, 0x94,
+ 0x80, 0x4b, 0x08, 0x96, 0xdb, 0x4f, 0xf3, 0xcb, 0x36, 0xf4,
+ 0xdb, 0x22, 0x01, 0x7c, 0x7f, 0xa2, 0xa1, 0x9f, 0xbf, 0xfd,
+ 0x83, 0x21, 0x85, 0x3e, 0xe5, 0xaa, 0x83, 0xe6, 0xce, 0xb4,
+ 0xa5, 0x99, 0x16, 0x03, 0x39, 0x06, 0x67, 0xfe, 0xba, 0x15,
+ 0xf4, 0x76, 0x67, 0x7b, 0xae, 0x59, 0xb0, 0x63, 0xe8, 0x14,
+ 0xef, 0x28, 0xe1, 0x82, 0x34, 0xfc, 0xfa, 0x2d, 0xe1, 0x71,
+ 0xc4, 0x2a, 0x48, 0xbb, 0x6c, 0xc2, 0x76, 0x47, 0x42, 0xf9,
+ 0x2f, 0xae, 0x30, 0x96, 0x42, 0xe7, 0x7e, 0x8c, 0x20, 0xd6,
+ 0x30, 0x53, 0x03, 0xa6, 0x65, 0xb3, 0x6a, 0x63, 0x9a, 0xc2,
+ 0x65, 0x7c, 0x38, 0xf1, 0xf4, 0x66, 0x8e, 0x80, 0xd1, 0xc3,
+ 0x6f, 0x09, 0x7c, 0x0e, 0x8f, 0xe3, 0x6f, 0x67, 0xb3, 0xbc,
+ 0x0b, 0x1a, 0xef, 0x90, 0x62, 0xe3, 0xbb, 0xa1, 0x92, 0x7f,
+ 0x47, 0xc7, 0xbb, 0xb2, 0x9d, 0x4a, 0xd8, 0x0e, 0xb4, 0x85,
+ 0x9a, 0xc9, 0xc6, 0xc8, 0x71, 0x31, 0x50, 0x79, 0xc6, 0xea,
+ 0x82, 0x57, 0xb7, 0xc7, 0x0d, 0xd2, 0xc5, 0x67, 0x96, 0x51,
+ 0xc1, 0xdf, 0xf8, 0xb2, 0x96, 0x32, 0x50, 0x7a, 0xb1, 0x98,
+ 0x08, 0xf9, 0xe1, 0x31, 0xf0, 0x68, 0x13, 0xf1, 0x3b, 0x9e,
+ 0xf0, 0xab, 0xb5, 0x77, 0xd5, 0x4b, 0x5e, 0x3e, 0xdc, 0x7c,
+ 0x1b, 0x50, 0x31, 0x60, 0xd4, 0x92, 0x1b, 0xc1, 0xfa, 0x10,
+ 0x22, 0xe3, 0x33, 0x4a, 0x1f, 0x94, 0x47, 0xa4, 0x24, 0x79,
+ 0xdb, 0x67, 0x47, 0x0b, 0xda, 0x4b, 0x4c, 0xd1, 0x6a, 0xf0,
+ 0x4e, 0x23, 0x06, 0xd7, 0xb3, 0x9a, 0xb2, 0x1f, 0x06, 0x09,
+ 0x79, 0x3b, 0x3f, 0xcd, 0xc1, 0x39, 0xb9, 0x72, 0x49, 0x84,
+ 0x51, 0xf8, 0x12, 0xed, 0x49, 0x1e, 0xbe, 0x95, 0x75, 0x43,
+ 0xae, 0xe2, 0xd3, 0x07, 0x29, 0x6a, 0x30, 0x4c, 0x63, 0xde,
+ 0x29, 0x8e, 0x22, 0xa3, 0x19, 0x44, 0xf4, 0x41, 0x9e, 0x82,
+ 0x4a, 0x0e, 0xe9, 0xb5, 0x4b, 0x03, 0x4a, 0xfb, 0x63, 0x69,
+ 0x74, 0xb8, 0x4e, 0x0f, 0xdd, 0x1e, 0x38, 0x80, 0x17, 0x41,
+ 0xa2, 0x6d, 0x38, 0x54, 0x53, 0xfe, 0x13, 0xa5, 0xfb, 0x3c,
+ 0xf2, 0x78, 0xe0, 0x45, 0x5c, 0xc7, 0xcd, 0x77, 0xe0, 0x93,
+ 0x8f, 0x7e, 0xd7, 0x7e, 0x5d, 0x27, 0xc0, 0x4e, 0x39, 0x47,
+ 0x7f, 0x7a, 0x95, 0x37, 0x39, 0xb6, 0x18, 0xaa, 0x84, 0xb4,
+ 0xc6, 0xbd, 0x34, 0xb9, 0x13, 0xa7, 0xf7, 0x7b, 0xaf, 0x07,
+ 0x13, 0xdd, 0xe7, 0xf5, 0x7b, 0xc8, 0xa7, 0xad, 0x87, 0x99,
+ 0xc7, 0x0f, 0x19, 0x0a, 0x67, 0x23, 0xc7, 0x08, 0xc9, 0x03,
+ 0x42, 0x5a, 0x63, 0xbf, 0x1a, 0xbd, 0xe8, 0xb2, 0x9a, 0xdc,
+ 0xb6, 0xe2, 0xe8, 0x8f, 0x92, 0x9b, 0x11, 0x90, 0xf8, 0x25,
+ 0xee, 0x4a, 0xc2, 0x52, 0x12, 0xdd, 0x8c, 0xd2, 0xc2, 0xe4,
+ 0x6d, 0xc4, 0xe0, 0x67, 0x90, 0x7a, 0x09, 0xf4, 0xf8, 0x9f,
+ 0xd5, 0xea, 0x40, 0x0b, 0xf8, 0xb7, 0xa8, 0x92, 0x71, 0x29,
+ 0xa8, 0xd0, 0xeb, 0x63, 0x6d, 0x44, 0xac, 0x78, 0xe1, 0x57,
+ 0x6d, 0x60, 0x25, 0x14, 0x31, 0x46, 0xc8, 0x76, 0xed, 0xec,
+ 0xa7, 0xe1, 0x78, 0xbe, 0x16, 0x10, 0xa7, 0x98, 0x55, 0x35,
+ 0x67, 0x1d, 0xb5, 0x33, 0x2f, 0x66, 0xd8, 0xc5, 0x4b, 0x86,
+ 0x6f, 0x1a, 0xd8, 0xc7, 0xdc, 0x80, 0xc8, 0x65, 0xac, 0x4d,
+ 0x7a, 0x9a, 0x15, 0x70, 0x44, 0xe1, 0x1d, 0x18, 0x15, 0xd4,
+ 0x9e, 0xce, 0x4d, 0x2a, 0x8a, 0x1d, 0x40, 0x3a, 0x17, 0x3d,
+ 0x94, 0x97, 0x73, 0xac, 0x17, 0xd3, 0x08, 0x66, 0xfc, 0xb2,
+ 0x82, 0xe4, 0xa1, 0x0b, 0xe7, 0x55, 0x87, 0x66, 0x48, 0x32,
+ 0xe7, 0x78, 0xbd, 0x11, 0xb3, 0xad, 0x0b, 0xe0, 0xfd, 0x03,
+ 0xd2, 0x7f, 0x5d, 0xeb, 0x7a, 0x3b, 0xd2, 0xdc, 0x57, 0xcd,
+ 0x44, 0x05, 0x66, 0x94, 0x3e, 0xeb, 0x8e, 0x8b, 0x48, 0xf2,
+ 0x75, 0xce, 0x8e, 0x16, 0x77, 0x96, 0xc5, 0x20, 0x46, 0xf6,
+ 0x3c, 0x2f, 0xc8, 0xe8, 0x04, 0xb0, 0x99, 0xf3, 0xc8, 0xff,
+ 0xe6, 0x89, 0x14, 0x01, 0x1e, 0xfa, 0xd8, 0x37, 0x97, 0x96,
+ 0xa9, 0xe4, 0xcf, 0xe8, 0x97, 0xd0, 0x1b, 0x2e, 0x2b, 0xcc,
+ 0xdf, 0xc3, 0x61, 0x45, 0xde, 0x12, 0xf8, 0x1c, 0xdd, 0x05,
+ 0xde, 0xce, 0xa5, 0xbb, 0x12, 0x5e, 0x1b, 0xd1, 0xfc, 0x61,
+ 0xf1, 0xaf, 0x7b, 0xca, 0x0c, 0xc4, 0xf1, 0x49, 0xfe, 0x23,
+ 0xb6, 0x3c, 0xed, 0x3f, 0xcb, 0x7e, 0x87, 0xbb, 0xe6, 0xd2,
+ 0x39, 0x01, 0x87, 0xe8, 0x21, 0x27, 0xbc, 0xdd, 0xe2, 0x42,
+ 0xa7, 0x84, 0x2d, 0xf0, 0x53, 0xa0, 0xbf, 0x75, 0x2d, 0x80,
+ 0xcd, 0x30, 0x8d, 0x9b, 0x2a, 0x34, 0x4a, 0x68, 0x8a, 0x11,
+ 0x2b, 0x1e, 0xa9, 0x65, 0x8a, 0x18, 0x98, 0x05, 0x90, 0xb5,
+ 0xd8, 0x47, 0xec, 0x8e, 0x84, 0x31, 0x5e, 0x9f, 0x60, 0xef,
+ 0x84, 0x0d, 0xfc, 0xdb, 0x77, 0x76, 0xad, 0xfb, 0xcf, 0x35,
+ 0x0b, 0x7d, 0x7e, 0x56, 0x22, 0x7b, 0x0b, 0xf9, 0xc0, 0x19,
+ 0x94, 0xdf, 0xde, 0x75, 0xd4, 0xea, 0xc0, 0x1f, 0xc2, 0xab,
+ 0xe2, 0x66, 0xc0, 0xe3, 0xfb, 0x6c, 0xe7, 0xc3, 0x75, 0xbc,
+ 0x23, 0xbb, 0x8f, 0x4c, 0x20, 0xc9, 0x42, 0x94, 0x8f, 0xf4,
+ 0x3c, 0xc2, 0x5b, 0x1e, 0x97, 0xfe, 0x84, 0x3f, 0xa2, 0xbc,
+ 0x73, 0x69, 0xfd, 0xe1, 0xa2, 0x74, 0xf1, 0xf2, 0x64, 0xd3,
+ 0x56, 0xc7, 0x3d, 0x4d, 0xeb, 0x38, 0x22, 0x91, 0xef, 0x0c,
+ 0xeb, 0x6a, 0x4f, 0x67, 0x0a, 0xe1, 0x0f, 0x7d, 0x6c, 0xfa,
+ 0xaa, 0x4b, 0xb5, 0x72, 0x86, 0x74, 0xaa, 0x68, 0xec, 0x17,
+ 0xab, 0x12, 0x1f, 0x4c, 0x6d, 0x98, 0x89, 0x9b, 0x93, 0x53,
+ 0xf0, 0x8b, 0x89, 0xfd, 0x45, 0xf9, 0x03, 0xce, 0xe3, 0xf4,
+ 0x12, 0x2b, 0x33, 0xfd, 0x69, 0x17, 0x80, 0x16, 0x33, 0xad,
+ 0x93, 0xe7, 0x80, 0xde, 0xc0, 0x8f, 0x0c, 0xdd, 0x57, 0x89,
+ 0x6b, 0x4f, 0x2d, 0x8e, 0x57, 0x33, 0xe0, 0x42, 0x83, 0x10,
+ 0x23, 0x7b, 0x1e, 0xf6, 0x64, 0x74, 0x02, 0x58, 0xad, 0x98,
+ 0x64, 0x9e, 0x73, 0xa5, 0xa6, 0x57, 0xf5, 0xf7, 0x2b, 0x2d,
+ 0x54, 0x03, 0xd3, 0x02, 0x74, 0x60, 0x54, 0xd6, 0x3d, 0xbe,
+ 0x09, 0x2f, 0xec, 0x89, 0x7e, 0xd1, 0x99, 0xb6, 0xdc, 0x65,
+ 0x06, 0x62, 0x99, 0xc5, 0x7f, 0xf0, 0xac, 0xb6, 0xfa, 0x8a,
+ 0x47, 0xd7, 0xfe, 0x48, 0x66, 0x70, 0xf2, 0x14, 0xfe, 0xbe,
+ 0xd1, 0xa9, 0x2c, 0x68, 0x3a, 0x05, 0x4b, 0x0a, 0xa9, 0xc1,
+ 0x0d, 0x3f, 0xdf, 0x9a, 0xa9, 0x8d, 0x31, 0xeb, 0x7e, 0x59,
+ 0x41, 0x72, 0xb1, 0xe4, 0x92, 0xcb, 0xa2, 0x33, 0x24, 0x19,
+ 0x92, 0x3c, 0xbf, 0xe9, 0x2f, 0xa6, 0xd9, 0xf1, 0x59, 0x21,
+ 0x9a, 0x3c, 0x64, 0x28, 0x5f, 0x8c, 0x9a, 0x20, 0xa2, 0x0c,
+ 0xb5, 0xf2, 0x0e, 0xcb, 0xd9, 0x55, 0xb4, 0x46, 0x8f, 0xc5,
+ 0xb9, 0x17, 0xb4, 0x45, 0xb2, 0xc0, 0x3b, 0xa7, 0xc7, 0x0b,
+ 0x81, 0x16, 0x0d, 0xaa, 0xcd, 0xcc, 0x90, 0x64, 0x0d, 0xf0,
+ 0xb9, 0x22, 0xbd, 0x26, 0x02, 0xaf, 0xa9, 0x9d, 0x3c, 0x1a,
+ 0x74, 0xad, 0x7e, 0xc6, 0x3c, 0x5a, 0xbc, 0x6d, 0x04, 0x6a,
+ 0x06, 0x32, 0x38, 0x64, 0x44, 0x2e, 0x9c, 0x34, 0x82, 0x89,
+ 0x44, 0xee, 0x07, 0xb7, 0xeb, 0x7d, 0x7f, 0xea, 0x6b, 0x17,
+ 0x43, 0x3e, 0x47, 0x95, 0x07, 0xcc, 0x43, 0x05, 0x35, 0xd8,
+ 0xbb, 0x79, 0x07, 0x84, 0x8d, 0xcb, 0x5a, 0x23, 0xa6, 0x83,
+ 0xbd, 0xea, 0x5a, 0xc3, 0x59, 0x60,
+ },
+ {
+ /* 13 */
+ 0x79, 0x1a, 0x2d, 0x6d, 0xc9, 0x3b, 0x13, 0xe1, 0x79, 0x58,
+ 0x80, 0x80, 0x75, 0x80, 0xb7, 0x36, 0x91, 0x58, 0xcb, 0xc6,
+ 0xfe, 0x1f, 0xb1, 0x50, 0x91, 0xd6, 0x1a, 0x1a, 0x1d, 0x1a,
+ 0x89, 0x33, 0x99, 0x09, 0xd2, 0xbc, 0x88, 0x79, 0x33, 0xc2,
+ 0x99, 0xe9, 0xdc, 0xdc, 0x3b, 0xdc, 0x07, 0x9c, 0xb9, 0x8e,
+ 0xb6, 0x97, 0x93, 0x22, 0x7e, 0xcf, 0xb9, 0x15, 0x42, 0x42,
+ 0xa3, 0x42, 0x7a, 0x65, 0x71, 0x4b, 0x34, 0x17, 0xbf, 0x5d,
+ 0x91, 0x73, 0x71, 0x67, 0x46, 0x46, 0x53, 0x46, 0x39, 0x99,
+ 0xea, 0xc7, 0x71, 0x54, 0xcb, 0xdc, 0x63, 0x74, 0xea, 0xf1,
+ 0x4a, 0x4a, 0x80, 0x4a, 0xfc, 0x5e, 0xd7, 0xd9, 0x79, 0x52,
+ 0x0f, 0x62, 0xab, 0xc6, 0xd7, 0x6c, 0x56, 0x56, 0x15, 0x56,
+ 0xf6, 0xef, 0x95, 0x91, 0x26, 0xfb, 0xc5, 0x2c, 0xf0, 0x19,
+ 0x95, 0x28, 0x79, 0x79, 0x0e, 0x79, 0xce, 0x85, 0x55, 0x05,
+ 0xbd, 0x01, 0x9f, 0x35, 0x9d, 0x37, 0x55, 0x65, 0xbb, 0xbb,
+ 0xd8, 0xbb, 0x03, 0xd6, 0xda, 0xe2, 0x27, 0x8b, 0x3c, 0x4b,
+ 0xe9, 0x9e, 0xda, 0x73, 0x9b, 0x9b, 0x54, 0x9b, 0x5e, 0x3a,
+ 0xdb, 0x41, 0x8d, 0x15, 0x42, 0x37, 0x68, 0x1d, 0xdb, 0xad,
+ 0xf3, 0xf3, 0x20, 0xf3, 0x3f, 0xf6, 0xb5, 0x16, 0x42, 0xd0,
+ 0xde, 0x77, 0xbd, 0x14, 0xb5, 0xd4, 0xe7, 0xe7, 0x96, 0xe7,
+ 0xb3, 0x7c, 0x3f, 0x9b, 0x9f, 0xf9, 0x38, 0x46, 0x09, 0x77,
+ 0x3f, 0xe2, 0xcc, 0xcc, 0x7d, 0xcc, 0xc8, 0xea, 0x54, 0xa6,
+ 0x17, 0x9f, 0xe1, 0x49, 0x1c, 0xb4, 0x54, 0xbb, 0xd3, 0xd3,
+ 0xac, 0xd3, 0x62, 0x1a, 0x7d, 0xd3, 0xc0, 0x50, 0xf2, 0x08,
+ 0x52, 0xa8, 0x7d, 0xa6, 0xe3, 0xe3, 0x66, 0xe3, 0xf0, 0x80,
+ 0xd5, 0x5c, 0xee, 0xad, 0xf3, 0x9a, 0x6a, 0x03, 0xd5, 0x13,
+ 0x86, 0x86, 0xfd, 0x86, 0x34, 0xb4, 0xbd, 0x47, 0x5b, 0xaa,
+ 0xa8, 0x11, 0x3f, 0x86, 0xbd, 0xeb, 0x21, 0x21, 0xb0, 0x21,
+ 0x3d, 0xd3, 0xa9, 0x2c, 0x84, 0x63, 0x7f, 0xee, 0xb9, 0x28,
+ 0xa9, 0x6b, 0x0d, 0x0d, 0xef, 0x0d, 0xa5, 0xf8, 0xfe, 0xac,
+ 0xae, 0x9d, 0x1c, 0x23, 0xe5, 0xda, 0xfe, 0x71, 0x66, 0x66,
+ 0xdf, 0x66, 0x64, 0x75, 0x3b, 0x52, 0x72, 0xc4, 0x03, 0x75,
+ 0x48, 0x3e, 0x3b, 0x1c, 0xaf, 0xaf, 0x6e, 0xaf, 0x8f, 0x5c,
+ 0x1d, 0x99, 0x6c, 0x2d, 0xdf, 0xe5, 0x85, 0xbf, 0x1d, 0x61,
+ 0x82, 0x82, 0x0d, 0x82, 0x77, 0x48, 0x36, 0x69, 0x2c, 0x1d,
+ 0x30, 0x5c, 0x0a, 0x66, 0x36, 0x03, 0x62, 0x62, 0x2f, 0x62,
+ 0x27, 0x89, 0x38, 0x74, 0x4f, 0xa5, 0x81, 0xf1, 0x08, 0x78,
+ 0x38, 0xbd, 0x17, 0x17, 0xf2, 0x17, 0x2c, 0xcb, 0x07, 0xef,
+ 0xd0, 0x5c, 0xb9, 0xb7, 0x01, 0x0f, 0x07, 0x5f, 0xdb, 0xdb,
+ 0x8f, 0xdb, 0xe4, 0x21, 0x1b, 0xd5, 0x16, 0xef, 0x18, 0x2e,
+ 0x05, 0x33, 0x1b, 0xe0, 0x31, 0x31, 0xf6, 0x31, 0xf2, 0xa5,
+ 0xfb, 0xc6, 0xe9, 0x3e, 0x59, 0x6c, 0x25, 0x10, 0xfb, 0x51,
+ 0x6d, 0x6d, 0xb8, 0x6d, 0x42, 0x0f, 0x70, 0xe8, 0x9e, 0x89,
+ 0xc1, 0x21, 0x10, 0xf0, 0x70, 0xb9, 0x2e, 0x2e, 0x27, 0x2e,
+ 0x58, 0x55, 0x89, 0xab, 0xe0, 0x48, 0x64, 0xb5, 0xf4, 0x25,
+ 0x89, 0x97, 0x93, 0x93, 0x77, 0x93, 0xd8, 0x01, 0x4a, 0x19,
+ 0x46, 0xd3, 0xbc, 0x28, 0xd9, 0x4d, 0x4a, 0x7b, 0xe9, 0xe9,
+ 0x3d, 0xe9, 0xb6, 0xc5, 0xae, 0xc3, 0x54, 0x3f, 0xc6, 0x59,
+ 0xb8, 0x27, 0xae, 0x34, 0xd6, 0xd6, 0x60, 0xd6, 0x41, 0xd9,
+ 0x3d, 0x1e, 0x08, 0x06, 0xc4, 0xbe, 0xc8, 0xb2, 0x3d, 0x9d,
+ 0x1c, 0x1c, 0x95, 0x1c, 0x0a, 0xb1, 0x29, 0x75, 0xd7, 0xcf,
+ 0x13, 0x41, 0x4e, 0x1c, 0x29, 0x1d, 0x30, 0x30, 0xca, 0x30,
+ 0x92, 0x9a, 0x8a, 0x8d, 0xdd, 0x29, 0xe6, 0x31, 0xb4, 0x63,
+ 0x8a, 0x36, 0x2b, 0x2b, 0xeb, 0x2b, 0x7b, 0x96, 0xcd, 0xaf,
+ 0xc5, 0x23, 0x69, 0x30, 0x2f, 0x76, 0xcd, 0x52, 0x0f, 0x0f,
+ 0x97, 0x0f, 0x65, 0x86, 0x41, 0x6e, 0x62, 0xc8, 0x48, 0xca,
+ 0x1b, 0x99, 0x41, 0xe5, 0x97, 0x97, 0x87, 0x97, 0x9b, 0xfd,
+ 0xce, 0x89, 0xf8, 0x42, 0xeb, 0xb4, 0x6f, 0x30, 0xce, 0xf3,
+ 0xb7, 0xb7, 0x0b, 0xb7, 0xc6, 0x11, 0x16, 0xee, 0x48, 0x36,
+ 0x2b, 0x07, 0x47, 0x6b, 0x16, 0xff, 0xfc, 0xfc, 0xb7, 0xfc,
+ 0x5a, 0x70, 0x6c, 0xd2, 0x58, 0x3a, 0x60, 0xb8, 0x14, 0xcc,
+ 0x6c, 0x06, 0xc4, 0xc4, 0x5e, 0xc4, 0x4e, 0xd1, 0x1f, 0x1c,
+ 0xfb, 0xd2, 0x23, 0x1d, 0x44, 0x7a, 0x1f, 0x1e, 0x52, 0x52,
+ 0xe5, 0x52, 0xb5, 0x13, 0xe0, 0x13, 0xff, 0xd1, 0x41, 0x42,
+ 0x20, 0x23, 0xe0, 0xb1, 0x5c, 0x5c, 0x4e, 0x5c, 0xb0, 0xaa,
+ 0xf5, 0xdb, 0x8a, 0x86, 0xe8, 0xc1, 0x27, 0x0e, 0xf5, 0xef,
+ 0x18, 0x18, 0x65, 0x18, 0x49, 0x4d, 0xb0, 0x7c, 0x05, 0x73,
+ 0x9b, 0x38, 0x7d, 0xde, 0xb0, 0xf4, 0xec, 0xec, 0xf1, 0xec,
+ 0x95, 0x06, 0xde, 0x2b, 0xca, 0xb6, 0x07, 0x78, 0xa8, 0xd7,
+ 0xde, 0x8d, 0xf8, 0xf8, 0x47, 0xf8, 0x19, 0x8c, 0x03, 0x26,
+ 0x3d, 0x61, 0x82, 0x84, 0x40, 0x46, 0x03, 0xa1, 0xb8, 0xb8,
+ 0x9c, 0xb8, 0xa3, 0x97, 0xd0, 0x36, 0xa9, 0x0e, 0xb6, 0xd5,
+ 0xaa, 0xc9, 0xd0, 0x33, 0x8d, 0x8d, 0x9a, 0x8d, 0x12, 0xce,
+ 0x8e, 0x44, 0x30, 0x14, 0xdd, 0x02, 0xf5, 0x2a, 0x8e, 0xc8,
+ 0x48, 0x48, 0xf8, 0x48, 0x3c, 0x20, 0x23, 0xa1, 0x59, 0x4a,
+ 0x99, 0xdf, 0x0d, 0x4b, 0x23, 0x5d, 0x26, 0x26, 0x04, 0x26,
+ 0xde, 0x6e, 0x0a, 0xd4, 0x8e, 0x85, 0x8a, 0x9e, 0x43, 0x57,
+ 0x0a, 0x40, 0x16, 0x16, 0xce, 0x16, 0x4c, 0xf4, 0xf3, 0x97,
+ 0xf0, 0x44, 0x2f, 0x0a, 0xa7, 0x82, 0xf3, 0x6e, 0xab, 0xab,
+ 0x9e, 0xab, 0xcc, 0xa0, 0x06, 0x4c, 0x7a, 0xc2, 0xc7, 0xcb,
+ 0x80, 0x8c, 0x06, 0x81, 0xb3, 0xb3, 0xfb, 0xb3, 0x85, 0xed,
+ 0xdf, 0x88, 0x60, 0x28, 0x79, 0x04, 0x29, 0x54, 0xdf, 0x53,
+ 0x90, 0x90, 0x33, 0x90, 0x78, 0x40, 0x4d, 0xf6, 0x96, 0x8f,
+ 0x05, 0x9f, 0xd8, 0x42, 0x4d, 0x24, 0x32, 0x32, 0xb2, 0x32,
+ 0x52, 0xe4, 0x98, 0xaa, 0x78, 0x22, 0xf6, 0x05, 0xb2, 0x41,
+ 0x98, 0x37, 0xb4, 0xb4, 0x4f, 0xb4, 0x66, 0x50, 0x97, 0x14,
+ 0xb1, 0x04, 0x39, 0xd4, 0x31, 0xdc, 0x97, 0x57, 0xa9, 0xa9,
+ 0xe6, 0xa9, 0x0c, 0xde, 0xad, 0xe5, 0x69, 0x5e, 0x44, 0xdd,
+ 0xf8, 0x61, 0xad, 0x95, 0x6e, 0x6e, 0xfc, 0x6e, 0xe2, 0x4e,
+ 0x15, 0xc8, 0x75, 0x57, 0xa9, 0x83, 0x07, 0x2d, 0x15, 0x5e,
+ 0x44, 0x44, 0x2b, 0x44, 0xf9, 0xe7, 0xa2, 0x5b, 0xa0, 0x78,
+ 0x8b, 0x0c, 0x7b, 0xfc, 0xa2, 0xf5, 0x73, 0x73, 0x55, 0x73,
+ 0x88, 0xc0, 0xab, 0xa9, 0x13, 0x9c, 0x83, 0x16, 0x78, 0xed,
+ 0xab, 0x14, 0xdd, 0xdd, 0x07, 0xdd, 0x67, 0xa3, 0xc0, 0x94,
+ 0x9b, 0xfa, 0x5a, 0x19, 0x6d, 0x2e, 0xc0, 0x4d, 0xc2, 0xc2,
+ 0xd6, 0xc2, 0xcd, 0x53, 0xb6, 0x30, 0x7f, 0xb1, 0x5c, 0xf3,
+ 0xfd, 0x52, 0xb6, 0x75, 0x5f, 0x5f, 0x0a, 0x5f, 0x10, 0xeb,
+ 0x53, 0x49, 0xc7, 0xc3, 0x58, 0xfe, 0x1d, 0xbb, 0x53, 0xe4,
+ 0x08, 0x08, 0x23, 0x08, 0x86, 0x3b, 0xed, 0x28, 0xa1, 0x08,
+ 0x72, 0x6b, 0x62, 0x7b, 0xed, 0xae, 0x91, 0x91, 0x0f, 0x91,
+ 0x18, 0x7f, 0xc1, 0x37, 0x31, 0x64, 0x24, 0x65, 0xec, 0xad,
+ 0xc1, 0x93, 0xaa, 0xaa, 0xa2, 0xaa, 0xac, 0x9f, 0xe1, 0xb0,
+ 0x55, 0x4f, 0x3f, 0x3e, 0xa1, 0xa0, 0xe1, 0x6f, 0x34, 0x34,
+ 0x3a, 0x34, 0xd1, 0x66, 0x62, 0xcf, 0x3b, 0x82, 0xd1, 0x15,
+ 0x16, 0xd2, 0x62, 0xb8, 0xb1, 0xb1, 0x83, 0xb1, 0x45, 0x93,
+ 0x24, 0x4e, 0x89, 0x16, 0x20, 0x68, 0x0c, 0x44, 0x24, 0x02,
+ 0xfd, 0xfd, 0x8b, 0xfd, 0x3a, 0x4f, 0xe9, 0xe1, 0x4c, 0x35,
+ 0x49, 0x58, 0x23, 0x32, 0xe9, 0x50, 0xf2, 0xf2, 0x1c, 0xf2,
+ 0x5f, 0xc9, 0x65, 0x20, 0xeb, 0xde, 0x68, 0xa2, 0x17, 0xdd,
+ 0x65, 0xe7, 0x6a, 0x6a, 0x0c, 0x6a, 0xa1, 0xb2, 0xec, 0x8b,
+ 0x0b, 0x96, 0x0c, 0x17, 0xe3, 0xf8, 0xec, 0x70, 0xf9, 0xf9,
+ 0x7b, 0xf9, 0x79, 0xb3, 0x5d, 0x54, 0xa4, 0x7b, 0xe9, 0x53,
+ 0x1f, 0xa5, 0x5d, 0x5a, 0x7d, 0x7d, 0xfe, 0x7d, 0x8d, 0x79,
+ 0x26, 0xcb, 0x1e, 0xe9, 0xdc, 0x90, 0xcd, 0x81, 0x26, 0x7d,
+ 0x2d, 0x2d, 0x63, 0x2d, 0xf8, 0x14, 0xbe, 0x61, 0x66, 0xcb,
+ 0x2a, 0x95, 0x7f, 0xc0, 0xbe, 0x4a, 0x99, 0x99, 0x2c, 0x99,
+ 0x9e, 0x44, 0x21, 0x24, 0xce, 0xb5, 0x65, 0x27, 0xcc, 0x8e,
+ 0x21, 0x22, 0xf6, 0xf6, 0xec, 0xf6, 0x1c, 0x35, 0x4b, 0xba,
+ 0xec, 0x4d, 0xc2, 0x54, 0x58, 0xce, 0x4b, 0xa5, 0x81, 0x81,
+ 0x49, 0x81, 0xd7, 0x09, 0x48, 0x9c, 0xd1, 0x2c, 0x40, 0xd0,
+ 0x18, 0x88, 0x48, 0x04, 0x39, 0x39, 0xd5, 0x39, 0x74, 0x9e,
+ 0xca, 0x40, 0x15, 0x7f, 0xd0, 0x87, 0x2e, 0x79, 0xca, 0x0d,
+ 0xd4, 0xd4, 0x18, 0xd4, 0x81, 0xa7, 0xf7, 0x5e, 0x1d, 0x79,
+ 0x14, 0x39, 0xe6, 0xcb, 0xf7, 0x90, 0xc8, 0xc8, 0x8d, 0xc8,
+ 0x8b, 0x16, 0x7c, 0x70, 0x6a, 0xce, 0x8c, 0x74, 0xd3, 0x2b,
+ 0x7c, 0x78, 0x8b, 0x8b, 0x12, 0x8b, 0x91, 0x4c, 0xff, 0x0f,
+ 0x04, 0x03, 0x62, 0x5f, 0x64, 0x59, 0xff, 0xaf, 0x0e, 0x0e,
+ 0xab, 0x0e, 0x05, 0xb9, 0x20, 0x87, 0x64, 0x2b, 0x1b, 0x5b,
+ 0x4d, 0x0d, 0x20, 0xfc, 0x9e, 0x9e, 0x98, 0x9e, 0x7d, 0xf9,
+ 0xd1, 0x95, 0x03, 0x90, 0xc8, 0xa9, 0x2b, 0x4a, 0xd1, 0xed,
+ 0xe5, 0xe5, 0xee, 0xe5, 0x73, 0x02, 0x85, 0x33, 0x14, 0x0f,
+ 0x29, 0xe0, 0x37, 0xfe, 0x85, 0x56, 0x36, 0x36, 0x42, 0x36,
+ 0x11, 0x18, 0x58, 0x3e, 0xe3, 0xd8, 0xac, 0x1c, 0xdf, 0x6f,
+ 0x58, 0x7a, 0x76, 0x76, 0x99, 0x76, 0xab, 0x03, 0x49, 0x3f,
+ 0x7b, 0xb2, 0x3e, 0xac, 0x99, 0x0b, 0x49, 0xda, 0x51, 0x51,
+ 0xa1, 0x51, 0x15, 0x52, 0xfa, 0x65, 0x43, 0xa0, 0x27, 0x10,
+ 0xa4, 0x93, 0xfa, 0x8f, 0x05, 0x05, 0xcc, 0x05, 0x23, 0xc3,
+ 0x87, 0xb6, 0x83, 0xf0, 0xd5, 0x18, 0xf6, 0x3b, 0x87, 0x29,
+ 0xe6, 0xe6, 0xaa, 0xe6, 0xd3, 0x43, 0x27, 0x68, 0xb4, 0x77,
+ 0xa2, 0xec, 0x4c, 0x02, 0x27, 0xa3, 0x45, 0x45, 0x17, 0x45,
+ 0x99, 0xd8, 0xe8, 0x42, 0xe6, 0xab, 0x37, 0x24, 0xa2, 0xb1,
+ 0xe8, 0x8e, 0x9a, 0x9a, 0x68, 0x9a, 0x3e, 0x05, 0xf4, 0x78,
+ 0x20, 0x18, 0x96, 0xbd, 0xa6, 0x8d, 0xf4, 0x31, 0x70, 0x70,
+ 0x11, 0x70, 0x28, 0x81, 0x5a, 0xbb, 0x74, 0x27, 0x50, 0xe4,
+ 0x1e, 0xaa, 0x5a, 0x05, 0xa6, 0xa6, 0x71, 0xa6, 0x69, 0x58,
+ 0x66, 0x06, 0xd6, 0xbf, 0xea, 0x26, 0x57, 0x9b, 0x66, 0x46,
+ 0xd2, 0xd2, 0x90, 0xd2, 0x02, 0x25, 0xf0, 0xb1, 0xcd, 0x25,
+ 0xad, 0x8e, 0xe7, 0xc4, 0xf0, 0xcf, 0x13, 0x13, 0x02, 0x13,
+ 0x6f, 0x37, 0xcb, 0xe3, 0xbf, 0xe1, 0xae, 0xfb, 0xaf, 0xfa,
+ 0xcb, 0xd3, 0xbc, 0xbc, 0x6c, 0xbc, 0xe0, 0x6b, 0x0e, 0x1d,
+ 0x63, 0xb8, 0xb1, 0xad, 0x02, 0x1e, 0x0e, 0xbe, 0x75, 0x75,
+ 0xdd, 0x75, 0x0b, 0x42, 0xe2, 0x96, 0x68, 0x2e, 0xbd, 0xba,
+ 0xe1, 0xe6, 0xe2, 0xce, 0x8c, 0x8c, 0xa6, 0x8c, 0x72, 0xf1,
+ 0x57, 0x80, 0x2a, 0xfe, 0x63, 0xcd, 0x5c, 0xf2, 0x57, 0x1a,
+ 0x6b, 0x6b, 0x30, 0x6b, 0xc1, 0x8d, 0xc4, 0x5d, 0x76, 0xc7,
+ 0x61, 0x2a, 0x2c, 0x67, 0xc4, 0xb3, 0xa1, 0xa1, 0xc5, 0xa1,
+ 0x8a, 0xe5, 0x9b, 0x8c, 0x45, 0x43, 0x74, 0x81, 0xf2, 0x07,
+ 0x9b, 0x96, 0x0c, 0x0c, 0xd3, 0x0c, 0xc5, 0xc7, 0xee, 0x0e,
+ 0x9c, 0x69, 0xf0, 0xef, 0x22, 0x3d, 0xee, 0x0f, 0x29, 0x29,
+ 0x93, 0x29, 0xbb, 0xe8, 0x1a, 0x76, 0xbc, 0x71, 0x66, 0x52,
+ 0x84, 0xb0, 0x1a, 0x3e, 0x59, 0x59, 0x82, 0x59, 0x93, 0x69,
+ 0x37, 0xca, 0x86, 0x83, 0x4e, 0x20, 0x8b, 0xe5, 0x37, 0xdd,
+ 0x0a, 0x0a, 0x5b, 0x0a, 0x46, 0x45, 0x2e, 0x9a, 0x07, 0x93,
+ 0xaa, 0xf6, 0x4f, 0x13, 0x2e, 0x42, 0xeb, 0xeb, 0x45, 0xeb,
+ 0x76, 0xbb, 0x69, 0xb8, 0x1f, 0x99, 0x25, 0xf7, 0xd4, 0x06,
+ 0x69, 0x26, 0xcf, 0xcf, 0x39, 0xcf, 0x68, 0xab, 0x8b, 0x2e,
+ 0x77, 0xb7, 0x98, 0x4d, 0x35, 0xe0, 0x8b, 0xe8, 0x43, 0x43,
+ 0x9f, 0x43, 0x1a, 0x5a, 0xaf, 0x60, 0xfe, 0xa1, 0xb8, 0x25,
+ 0x39, 0xa4, 0xaf, 0xea, 0xbe, 0xbe, 0x14, 0xbe, 0x20, 0x15,
+ 0xc2, 0x11, 0x0c, 0x05, 0xa6, 0xe1, 0xac, 0xeb, 0xc2, 0x32,
+ 0x12, 0x12, 0x3e, 0x12, 0x0f, 0x08, 0x7f, 0x56, 0x57, 0xaf,
+ 0x0e, 0xf0, 0x93, 0x6d, 0x7f, 0xd9, 0x33, 0x33, 0x8e, 0x33,
+ 0x32, 0xdb, 0x64, 0x83, 0x41, 0x40, 0x16, 0xde, 0x96, 0x5e,
+ 0x64, 0x39, 0x02, 0x02, 0x78, 0x02, 0xc0, 0x7e, 0x45, 0xa7,
+ 0x8f, 0xf5, 0x73, 0xf9, 0x5a, 0xd0, 0x45, 0x1b, 0xf4, 0xf4,
+ 0x94, 0xf4, 0xdc, 0x4b, 0x14, 0x6b, 0xdf, 0xc9, 0xd7, 0xff,
+ 0x86, 0xae, 0x14, 0x80, 0x2c, 0x2c, 0x5f, 0x2c, 0x98, 0x2b,
+ 0xfd, 0x8a, 0x93, 0xfc, 0x9e, 0xa7, 0xa5, 0x9c, 0xfd, 0xd0,
+ 0xde, 0xde, 0x43, 0xde, 0xc7, 0xe2, 0xac, 0x46, 0xc3, 0xc0,
+ 0x3a, 0xa1, 0x79, 0xe2, 0xac, 0x4b, 0x06, 0x06, 0x88, 0x06,
+ 0x83, 0x82, 0x86, 0x15, 0x29, 0x6e, 0xab, 0x64, 0x77, 0xb8,
+ 0x86, 0xf7, 0x8e, 0x8e, 0xde, 0x8e, 0xb2, 0x8f, 0x76, 0xa4,
+ 0xe4, 0x4b, 0x06, 0xea, 0x90, 0x7c, 0x76, 0x38, 0x9d, 0x9d,
+ 0xdc, 0x9d, 0xdd, 0xb8, 0x43, 0xeb, 0xf5, 0x37, 0xb4, 0x32,
+ 0xda, 0x5c, 0x43, 0x9a, 0x47, 0x47, 0x6f, 0x47, 0x59, 0xa6,
+ 0x50, 0x6f, 0xfa, 0xa2, 0xda, 0x7a, 0x5d, 0xfd, 0x50, 0x45,
+ 0xb0, 0xb0, 0xbf, 0xb0, 0x25, 0xac, 0x28, 0xd6, 0x7d, 0x51,
+ 0x6d, 0x3d, 0xcf, 0x9f, 0x28, 0xc3, 0x58, 0x58, 0xbe, 0x58,
+ 0xf3, 0x56, 0xaa, 0x0a, 0xb9, 0x02, 0xfd, 0x6a, 0xf9, 0x6e,
+ 0xaa, 0xca, 0xb5, 0xb5, 0x73, 0xb5, 0x06, 0x6f, 0x5e, 0x72,
+ 0x99, 0x1a, 0x6b, 0xd7, 0x5f, 0xe3, 0x5e, 0xfb, 0xc5, 0xc5,
+ 0x62, 0xc5, 0x2e, 0xee, 0xdd, 0x0d, 0xf7, 0xd7, 0x85, 0xfc,
+ 0xe8, 0x91, 0xdd, 0x2c, 0x40, 0x40, 0xdb, 0x40, 0xba, 0x1b,
+ 0xbb, 0x0b, 0x21, 0x68, 0x6f, 0xda, 0xbf, 0x0a, 0xbb, 0x6a,
+ 0x92, 0x92, 0x4b, 0x92, 0xb8, 0x3e, 0x96, 0xb7, 0x1b, 0x9a,
+ 0x47, 0xa8, 0xb0, 0x5f, 0x96, 0x89, 0xc1, 0xc1, 0x92, 0xc1,
+ 0x6d, 0x12, 0x05, 0x6a, 0x47, 0xa3, 0x45, 0x4f, 0xc0, 0xca,
+ 0x05, 0x20, 0x0b, 0x0b, 0x67, 0x0b, 0x26, 0x7a, 0x7b, 0x9f,
+ 0xba, 0x92, 0x35, 0xc3, 0xd2, 0x24, 0x7b, 0x27, 0x50, 0x50,
+ 0x9d, 0x50, 0x75, 0x6d, 0xf6, 0xfd, 0xb7, 0xe7, 0x6a, 0x45,
+ 0x67, 0x48, 0xf6, 0x4e, 0xa0, 0xa0, 0xf9, 0xa0, 0xea, 0xda,
+ 0x2b, 0xf0, 0x40, 0x30, 0xef, 0xb9, 0x8f, 0xd9, 0x2b, 0x62,
+ 0xe0, 0xe0, 0x22, 0xe0, 0x50, 0xc1, 0x09, 0xf2, 0xb3, 0xe4,
+ 0x08, 0x1a, 0x03, 0x11, 0x09, 0xe1, 0xae, 0xae, 0x52, 0xae,
+ 0xef, 0x63, 0xc7, 0x7b, 0x4b, 0xa6, 0xe3, 0xae, 0x6c, 0x21,
+ 0xc7, 0x12, 0x19, 0x19, 0x59, 0x19, 0x29, 0x72, 0x46, 0x81,
+ 0xb2, 0x94, 0xf1, 0x7d, 0x1a, 0x96, 0x46, 0xba, 0x4c, 0x4c,
+ 0x08, 0x4c, 0x7f, 0xdc, 0x0d, 0x3b, 0x5e, 0xd9, 0x33, 0x29,
+ 0x42, 0x58, 0x0d, 0x1f, 0xcd, 0xcd, 0x41, 0xcd, 0xa8, 0xd5,
+ 0x13, 0x84, 0x0f, 0x95, 0x6e, 0x48, 0x87, 0xa1, 0x13, 0xdf,
+ 0xf7, 0xf7, 0xd0, 0xf7, 0x7c, 0x0a, 0x61, 0xe9, 0x06, 0xe3,
+ 0x53, 0x91, 0x56, 0x94, 0x61, 0x19, 0x09, 0x09, 0x1f, 0x09,
+ 0xe6, 0x04, 0x01, 0xa3, 0xaa, 0x9e, 0x7e, 0x7c, 0x81, 0x83,
+ 0x01, 0xde, 0x68, 0x68, 0x74, 0x68, 0x61, 0xcc, 0xef, 0xad,
+ 0x36, 0xf7, 0x8e, 0x93, 0xa3, 0xbe, 0xef, 0xd1, 0x41, 0x41,
+ 0xe7, 0x41, 0xda, 0x24, 0x8d, 0x62, 0x0d, 0x75, 0x5f, 0x86,
+ 0xb5, 0x6c, 0x8d, 0x69, 0xf0, 0xf0, 0x64, 0xf0, 0x9f, 0xb7,
+ 0xd3, 0x10, 0x94, 0x6f, 0x34, 0x51, 0xea, 0x8f, 0xd3, 0x92,
+ 0x35, 0x35, 0x06, 0x35, 0xb1, 0x59, 0xbc, 0xe4, 0xf1, 0x34,
+ 0xd6, 0x6d, 0xbe, 0x05, 0xbc, 0x35, 0x49, 0x49, 0xc4, 0x49,
+ 0x5c, 0x1f, 0xf1, 0x12, 0x67, 0xbb, 0xd3, 0xf2, 0x66, 0x47,
+ 0xf1, 0x11, 0x7b, 0x7b, 0x76, 0x7b, 0x0e, 0xfb, 0x32, 0xa0,
+ 0xc1, 0x20, 0x0b, 0x6f, 0x4b, 0x2f, 0x32, 0xfd, 0x01, 0x01,
+ 0x3c, 0x01, 0x60, 0x3f, 0x5c, 0xf7, 0x0e, 0xe5, 0x97, 0x2f,
+ 0x9e, 0x26, 0x5c, 0x84, 0x15, 0x15, 0x8a, 0x15, 0xec, 0xb5,
+ 0x02, 0x85, 0x97, 0xff, 0xfc, 0xf8, 0xc1, 0xc5, 0x02, 0x7f,
+ 0xd0, 0xd0, 0xe8, 0xd0, 0xc2, 0x5b, 0xb1, 0xdf, 0xaf, 0xed,
+ 0xe5, 0x44, 0xfc, 0x5d, 0xb1, 0x2a, 0x84, 0x84, 0x85, 0x84,
+ 0xf4, 0xca, 0x56, 0x23, 0x80, 0x60, 0x1d, 0xb1, 0xdd, 0x71,
+ 0x56, 0xc4, 0x03, 0x03, 0x44, 0x03, 0xa0, 0x41, 0x51, 0xcc,
+ 0x50, 0x3c, 0xa4, 0x06, 0xdc, 0x7e, 0x51, 0x9b, 0xd8, 0xd8,
+ 0xcb, 0xd8, 0x44, 0x60, 0xc9, 0x66, 0x28, 0x1e, 0x52, 0x03,
+ 0x6e, 0x3f, 0xc9, 0xac, 0x6c, 0x6c, 0x84, 0x6c, 0x22, 0x30,
+ 0xd6, 0x7a, 0xd3, 0xcc, 0x71, 0x1e, 0x2a, 0x45, 0xd6, 0xb2,
+ 0x3e, 0x3e, 0x61, 0x3e, 0x97, 0x23, 0x4e, 0xd0, 0xab, 0xee,
+ 0x87, 0x1b, 0x98, 0x04, 0x4e, 0x85, 0x8a, 0x8a, 0x2e, 0x8a,
+ 0xf1, 0x73, 0xc8, 0xc5, 0x82, 0x80, 0x2c, 0x7f, 0xef, 0xbc,
+ 0xc8, 0x72, 0x04, 0x04, 0xf0, 0x04, 0x43, 0xfc, 0xa0, 0xde,
+ 0x37, 0x87, 0x77, 0xf4, 0xba, 0x39, 0xa0, 0x8a, 0xa3, 0xa3,
+ 0xbd, 0xa3, 0x4a, 0x9b, 0x31, 0x86, 0xfc, 0x41, 0x89, 0xeb,
+ 0x0b, 0x69, 0x31, 0x5c, 0xb9, 0xb9, 0xa0, 0xb9, 0xc3, 0xa8,
+ 0x22, 0x02, 0xf3, 0xd4, 0xe7, 0xa3, 0x8c, 0xc8, 0x22, 0x83,
+ 0x4e, 0x4e, 0x70, 0x4e, 0xbf, 0xa2, 0xa5, 0xb4, 0x70, 0x24,
+ 0x32, 0xbb, 0x7a, 0xf3, 0xa5, 0xaa, 0xa8, 0xa8, 0xda, 0xa8,
+ 0x6c, 0xe1, 0x17, 0x4d, 0xe2, 0xa8, 0x55, 0x7b, 0xc6, 0xe8,
+ 0x17, 0x21, 0x94, 0x94, 0xc3, 0x94, 0x3b, 0xbc, 0x33, 0x03,
+ 0x6b, 0xbe, 0x75, 0x13, 0xca, 0xac, 0x33, 0x23, 0x69, 0x69,
+ 0x48, 0x69, 0x01, 0xf3, 0x94, 0x32, 0x8c, 0x65, 0xbb, 0x50,
+ 0x71, 0x9a, 0x94, 0xf6, 0x11, 0x11, 0x7a, 0x11, 0xaf, 0x49,
+ 0xeb, 0x64, 0xdb, 0xca, 0xb5, 0xa0, 0xe2, 0xf7, 0xeb, 0x2f,
+ 0x22, 0x22, 0xf4, 0x22, 0x9d, 0x92, 0x84, 0x90, 0xbe, 0x91,
+ 0x57, 0x9c, 0xb6, 0x7d, 0x84, 0x88, 0x5e, 0x5e, 0x36, 0x5e,
+ 0x70, 0xd4, 0x08, 0x51, 0x19, 0x7a, 0x76, 0x66, 0x82, 0x92,
+ 0x08, 0x3f, 0xc6, 0xc6, 0x26, 0xc6, 0x8e, 0xaf, 0x25, 0xed,
+ 0x23, 0x88, 0x5e, 0x14, 0x8d, 0xc7, 0x25, 0xdc, 0x95, 0x95,
+ 0xff, 0x95, 0x5b, 0x83, 0xf9, 0x43, 0x7e, 0xc1, 0xa5, 0x94,
+ 0xe4, 0xd5, 0xf9, 0x2e, 0xbd, 0xbd, 0x50, 0xbd, 0x80, 0x54,
+ 0x39, 0xd7, 0xe5, 0x3b, 0xff, 0x8d, 0x89, 0xfb, 0x39, 0x63,
+ 0x7f, 0x7f, 0x86, 0x7f, 0x4d, 0x07, 0x60, 0x4a, 0xac, 0x7d,
+ 0x2d, 0xed, 0xd7, 0x17, 0x60, 0xc7, 0x61, 0x61, 0x6b, 0x61,
+ 0x87, 0xc8, 0xb2, 0xf9, 0x92, 0x8c, 0x67, 0xc0, 0xbc, 0x1b,
+ 0xb2, 0x8b, 0x3c, 0x3c, 0x19, 0x3c, 0x57, 0x5d, 0xd4, 0xff,
+ 0x44, 0x33, 0x8d, 0xe6, 0xeb, 0x80, 0xd4, 0xcd, 0xee, 0xee,
+ 0x89, 0xee, 0x55, 0x78, 0x6f, 0xf4, 0x65, 0x5b, 0xe2, 0x3c,
+ 0x54, 0x8a, 0x6f, 0xa7, 0x7c, 0x7c, 0xc2, 0x7c, 0xed, 0x46,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x71, 0xf2, 0xa4,
+ 0x1e, 0xc4, 0x95, 0x4f, 0x6d, 0xd8, 0xac, 0xac, 0x2a, 0xac,
+ 0x2f, 0x1d, 0xa1, 0x7d, 0x9d, 0x19, 0x09, 0x88, 0x3b, 0xba,
+ 0xa1, 0x54, 0xcb, 0xcb, 0xc9, 0xcb, 0x2b, 0x57, 0x12, 0x27,
+ 0xa5, 0x0b, 0x10, 0x34, 0x06, 0x22, 0x12, 0x01, 0x9f, 0x9f,
+ 0xa4, 0x9f, 0x1d, 0xc6, 0xd8, 0x67, 0xb0, 0x74, 0xc0, 0xb3,
+ 0x28, 0x5b, 0xd8, 0x0c, 0x4b, 0x4b, 0xbc, 0x4b, 0x9c, 0x61,
+ 0xa3, 0xf8, 0x0a, 0xe6, 0xf5, 0x70, 0xfa, 0x7f, 0xa3, 0x2b,
+ 0x1b, 0x1b, 0x21, 0x1b, 0xe9, 0x0c, 0xa4, 0x17, 0xda, 0xba,
+ 0x4c, 0xc7, 0xfb, 0x70, 0xa4, 0x74, 0xc0, 0xc0, 0xae, 0xc0,
+ 0x0d, 0x2d, 0xcf, 0x2a, 0x52, 0xdc, 0x95, 0xc8, 0xee, 0xb3,
+ 0xcf, 0x2d, 0xdf, 0xdf, 0x7f, 0xdf, 0xa7, 0xdd, 0x9a, 0x2f,
+ 0xef, 0xdd, 0x0a, 0xfd, 0x73, 0x84, 0x9a, 0x48, 0x64, 0x64,
+ 0xa7, 0x64, 0xa4, 0x0b, 0xcc, 0x0c, 0x6f, 0xbd, 0x17, 0x4c,
+ 0xae, 0xf5, 0xcc, 0x8c, 0x67, 0x67, 0xe3, 0x67, 0x04, 0x4a,
+ 0x52, 0xea, 0x6d, 0x5d, 0x26, 0x82, 0x9c, 0x38, 0x52, 0x3a,
+ 0x60, 0x60, 0x57, 0x60, 0xe7, 0xf7, 0x1c, 0x3a, 0xc6, 0xb3,
+ 0xa1, 0x99, 0x04, 0x3c, 0x1c, 0xbf, 0xea, 0xea, 0x79, 0xea,
+ 0x16, 0x84, 0x2f, 0x39, 0xad, 0x0d, 0xd4, 0x8a, 0xce, 0x90,
+ 0x2f, 0x9c, 0x83, 0x83, 0x31, 0x83, 0x17, 0x77, 0x7e, 0xf5,
+ 0xfd, 0x31, 0x70, 0x8c, 0x12, 0xee, 0x7e, 0x07, 0x5b, 0x5b,
+ 0xfa, 0x5b, 0x53, 0x17, 0x93, 0xdd, 0x5c, 0x39, 0x02, 0xe7,
+ 0x70, 0x95, 0x93, 0xa9, 0xca, 0xca, 0xf5, 0xca, 0x4b, 0x68,
+ 0x42, 0x48, 0x5f, 0xa9, 0xca, 0x4e, 0x5b, 0xdf, 0x42, 0x44,
+ 0x2f, 0x2f, 0x1b, 0x2f, 0x38, 0x6a, 0xb3, 0x5a, 0x38, 0x12,
+ 0x19, 0xbc, 0x3d, 0x98, 0xb3, 0x55, 0x54, 0x54, 0x6d, 0x54,
+ 0x36, 0x91, 0x18, 0xf3, 0x2b, 0x8e, 0x9a, 0xaa, 0x45, 0x75,
+ 0x18, 0x41, 0x89, 0x89, 0x6a, 0x89, 0x51, 0x32, 0xb8, 0x2d,
+ 0x1c, 0x09, 0xed, 0x5e, 0xff, 0x4c, 0xb8, 0xcb, 0x2a, 0x2a,
+ 0xd7, 0x2a, 0x1b, 0xa9, 0xfc, 0x29, 0x39, 0x62, 0xe0, 0xdb,
+ 0x24, 0x1f, 0xfc, 0x0e, 0xb6, 0xb6, 0x37, 0xb6, 0xa6, 0x2e,
+ 0x44, 0x04, 0x25, 0x6b, 0x0d, 0x85, 0xdb, 0x53, 0x44, 0xc5,
+ 0x9c, 0x9c, 0xe0, 0x9c, 0xbd, 0x87, 0xe6, 0x5f, 0x85, 0x13,
+ 0x86, 0x89, 0xa0, 0xaf, 0xe6, 0x30, 0xef, 0xef, 0xb5, 0xef,
+ 0x35, 0x47, 0x8c, 0xc1, 0xa7, 0xeb, 0x21, 0xfa, 0x34, 0xef,
+ 0x8c, 0xb7, 0x98, 0x98, 0x10, 0x98, 0xfe, 0x7b, 0xc6, 0xd8,
+ 0xe1, 0x38, 0x9d, 0xd2, 0xed, 0xa2, 0xc6, 0xcc, 0x71, 0x71,
+ 0x2d, 0x71, 0x48, 0xbe, 0x63, 0x6c, 0x91, 0x1c, 0xaf, 0x69,
+ 0x97, 0x51, 0x63, 0x66, 0xd9, 0xd9, 0xf7, 0xd9, 0x24, 0x5f,
+ 0xbf, 0xc2, 0xcc, 0x55, 0x54, 0xe9, 0xfe, 0x43, 0xbf, 0x94,
+ 0xf1, 0xf1, 0x58, 0xf1, 0xff, 0x88, 0xf2, 0x34, 0x5a, 0xda,
+ 0x51, 0x76, 0x26, 0x01, 0xf2, 0xb0, 0xc3, 0xc3, 0xea, 0xc3,
+ 0xad, 0x6c, 0x2c, 0x1f, 0x90, 0x6c, 0x56, 0x0e, 0x8e, 0xd6,
+ 0x2c, 0x3d, 0x3b, 0x3b, 0xad, 0x3b, 0xb4, 0xe0, 0x11, 0x01,
+ 0x98, 0x6a, 0x92, 0xb0, 0x46, 0x64, 0x11, 0xa0, 0x27, 0x27,
+ 0x38, 0x27, 0xbe, 0x51, 0x73, 0xce, 0xa3, 0xe8, 0x43, 0xa5,
+ 0x50, 0xb6, 0x73, 0x18, 0x96, 0x96, 0xbb, 0x96, 0xfb, 0xc2,
+ 0xdc, 0xae, 0x5d, 0x49, 0xfb, 0x80, 0x69, 0x12, 0xdc, 0xf2,
+ 0x28, 0x28, 0xaf, 0x28, 0xdb, 0xd7, 0xd9, 0xc4, 0x1a, 0xea,
+ 0xbe, 0xcf, 0xa9, 0xd8, 0xd9, 0xd2, 0x23, 0x23, 0xc8, 0x23,
+ 0xfd, 0xad, 0x92, 0x7e, 0xf6, 0xa7, 0x7c, 0x9b, 0xf1, 0x16,
+ 0x92, 0x77, 0xa2, 0xa2, 0x81, 0xa2, 0x2a, 0xa4, 0x3e, 0x38,
+ 0x35, 0x67, 0x46, 0x3a, 0x88, 0xf4, 0x3e, 0x3c, 0xa4, 0xa4,
+ 0x09, 0xa4, 0xa9, 0x26, 0xd2, 0xb3, 0x3e, 0xf1, 0x4a, 0x2d,
+ 0x6b, 0x0c, 0xd2, 0x4c, 0x5d, 0x5d, 0x72, 0x5d, 0xd0, 0x95,
+ 0x59, 0x9d, 0x49, 0x46, 0xd2, 0x60, 0x5e, 0xec, 0x59, 0xa4,
+ 0x1e, 0x1e, 0xed, 0x1e, 0xca, 0xcf, 0x75, 0x82, 0xd9, 0x2a,
+ 0x84, 0x6e, 0xd0, 0x3a, 0x75, 0x99, 0x25, 0x25, 0x40, 0x25,
+ 0x7e, 0x2f, 0x19, 0x50, 0x81, 0x10, 0xe4, 0xd6, 0xc4, 0xf6,
+ 0x19, 0x9f, 0xe1, 0xe1, 0x1e, 0xe1, 0x30, 0xfe, 0xb4, 0xb5,
+ 0xe8, 0x4e, 0xa0, 0x0b, 0x3c, 0x97, 0xb4, 0x0a, 0x8f, 0x8f,
+ 0xe2, 0x8f, 0xd2, 0xb0, 0x81, 0xfa, 0xf9, 0x32, 0x12, 0xd3,
+ 0x76, 0xb7, 0x81, 0xa8, 0x55, 0x55, 0x51, 0x55, 0x56, 0xae,
+ 0xe4, 0xda, 0x12, 0xec, 0x7a, 0x71, 0x61, 0x6a, 0xe4, 0x4f,
+ 0x3f, 0x3f, 0x5d, 0x3f, 0xf7, 0x1c, 0xe5, 0x79, 0xb8, 0x72,
+ 0x04, 0x0d, 0xe0, 0xe9, 0xe5, 0x91, 0x57, 0x57, 0x29, 0x57,
+ 0x96, 0xd0, 0x0f, 0xbe, 0xc9, 0x26, 0xcf, 0xd1, 0x83, 0x9d,
+ 0x0f, 0x60, 0x1d, 0x1d, 0xa9, 0x1d, 0x6a, 0x8e, 0x47, 0x22,
+ 0x18, 0x0a, 0x8f, 0x01, 0x9b, 0x15, 0x47, 0x64, 0x24, 0x24,
+ 0x7c, 0x24, 0x1e, 0x10, 0x9c, 0x63, 0x95, 0x1f, 0xcd, 0x36,
+ 0xf3, 0x08, 0x9c, 0xc9, 0xd7, 0xd7, 0x5c, 0xd7, 0x21, 0xe6,
+ 0x2a, 0x53, 0xea, 0xae, 0x91, 0xc5, 0x0e, 0x5a, 0x2a, 0xbc,
+ 0x88, 0x88, 0x56, 0x88, 0x31, 0x0d, 0xa8, 0x8f, 0x2e, 0xfd,
+ 0x01, 0x92, 0x38, 0xab, 0xa8, 0xb5, 0x65, 0x65, 0x9b, 0x65,
+ 0xc4, 0x34, 0x5b, 0x18, 0xde, 0xb9, 0x2e, 0x98, 0x9f, 0x29,
+ 0x5b, 0xdb, 0xce, 0xce, 0x05, 0xce, 0x08, 0x94, 0x8f, 0xe7,
+ 0x9a, 0x8a, 0xa3, 0x7e, 0x74, 0xa9, 0x8f, 0x16, 0x20, 0x20,
+ 0x8c, 0x20, 0x5d, 0xec, 0x04, 0xc9, 0xed, 0x3d, 0x3b, 0x33,
+ 0x41, 0x49, 0x04, 0xfe, 0x63, 0x63, 0x13, 0x63, 0x47, 0xb6,
+ 0xa6, 0x92, 0x4d, 0x45, 0xb0, 0x3f, 0x3a, 0xb5, 0xa6, 0x0b,
+ 0x10, 0x10, 0x46, 0x10, 0xcf, 0x76, 0x72, 0x6d, 0x09, 0x76,
+ 0x3d, 0xd9, 0xd1, 0x35, 0x72, 0xc6, 0xfe, 0xfe, 0xcf, 0xfe,
+ 0x9a, 0x0e, 0xba, 0xa8, 0x8b, 0xf6, 0x11, 0xa6, 0x3e, 0x89,
+ 0xba, 0xb4, 0xfa, 0xfa, 0x3f, 0xfa, 0xd9, 0xf2, 0x30, 0x25,
+ 0x56, 0xdf, 0xf7, 0x97, 0x8a, 0xea, 0x30, 0x82, 0xd1, 0xd1,
+ 0xd4, 0xd1, 0xa2, 0x64, 0x4c, 0x55, 0x3c, 0x11, 0x7b, 0xe3,
+ 0x59, 0xc1, 0x4c, 0xfa, 0x5a, 0x5a, 0xc6, 0x5a, 0x33, 0x28,
+ 0x82, 0xdc, 0xc4, 0x53, 0x90, 0x57, 0x36, 0xf1, 0x82, 0x09,
+ 0xed, 0xed, 0xcd, 0xed, 0xf5, 0x39, 0x6a, 0x9e, 0x22, 0xf8,
+ 0xa7, 0x73, 0x94, 0x40, 0x6a, 0x87, 0x77, 0x77, 0xa5, 0x77,
+ 0xcb, 0x3c, 0x88, 0x08, 0x4a, 0xd6, 0x1a, 0xc9, 0x75, 0xa6,
+ 0x88, 0x49, 0xfb, 0xfb, 0x03, 0xfb, 0xb9, 0xcd, 0x3c, 0xbd,
+ 0xa2, 0x98, 0xba, 0xc2, 0x49, 0x31, 0x3c, 0x43, 0x74, 0x74,
+ 0xe1, 0x74, 0x6b, 0x7d, 0x6e, 0x57, 0xcf, 0xc5, 0x9c, 0x40,
+ 0xd5, 0x09, 0x6e, 0x79, 0x14, 0x14, 0xb6, 0x14, 0x8c, 0x8a,
+ 0x0b, 0x77, 0x24, 0x1b, 0xf4, 0xe2, 0xc2, 0xd4, 0x0b, 0x9e,
+ 0x7e, 0x7e, 0xba, 0x7e, 0x2d, 0x38, 0x9e, 0xe6, 0x02, 0xe0,
+ 0x31, 0xce, 0x32, 0xcd, 0x9e, 0xb6, 0x07, 0x07, 0xb4, 0x07,
+ 0xe3, 0xbd, 0x68, 0x1b, 0xb5, 0x07, 0x5b, 0x8b, 0x55, 0x85,
+ 0x68, 0xf8, 0xa7, 0xa7, 0x4d, 0xa7, 0x09, 0x67, 0x67, 0xa5,
+ 0x7c, 0x21, 0x94, 0x5a, 0xd6, 0x18, 0x67, 0x98, 0xba, 0xba,
+ 0xe4, 0xba, 0x63, 0xe9, 0xc5, 0xfe, 0xdc, 0x59, 0x1f, 0x56,
+ 0xad, 0xe4, 0xc5, 0x6d, 0xc9, 0xc9, 0xb1, 0xc9, 0xeb, 0x29,
+ 0x74, 0x21, 0x73, 0xb4, 0xfa, 0x12, 0x51, 0xb9, 0x74, 0x47,
+ 0x4d, 0x4d, 0x34, 0x4d, 0x1f, 0xe3, 0x40, 0xcd, 0xc8, 0x56,
+ 0x36, 0xb6, 0x9a, 0x1a, 0x40, 0x3b, 0xff, 0xff, 0xf3, 0xff,
+ 0xfa, 0x31, 0x0c, 0x98, 0xf4, 0x47, 0x4d, 0x55, 0xc3, 0xdb,
+ 0x0c, 0xc1, 0xa5, 0xa5, 0x35, 0xa5, 0xc9, 0x19, 0xe7, 0xfc,
+ 0x2f, 0x8d, 0xf8, 0xf5, 0x21, 0x2c, 0xe7, 0xee, 0x87, 0x87,
+ 0xc1, 0x87, 0x54, 0x8b, 0x9d, 0xc0, 0x3f, 0x81, 0xb3, 0x4a,
+ 0x72, 0x8b, 0x9d, 0x17, 0xbf, 0xbf, 0x28, 0xbf, 0x40, 0x2a,
+ 0x90, 0xfb, 0x61, 0x58, 0x80, 0x63, 0x30, 0xd3, 0x90, 0x08,
+ 0x72, 0x72, 0x69, 0x72, 0xe8, 0xff, 0x7a, 0x3c, 0x10, 0x0c,
+ 0x4b, 0xbf, 0x53, 0xa7, 0x7a, 0xf9, 0x38, 0x38, 0xe9, 0x38,
+ 0x14, 0xa1, 0x3a, 0xf1, 0xd8, 0x5a, 0x7d, 0x09, 0xc9, 0xbd,
+ 0x3a, 0xc2, 0xc7, 0xc7, 0x1a, 0xc7, 0xee, 0x90, 0x35, 0x4f,
+ 0x11, 0x7c, 0xb2, 0xd8, 0x4a, 0x20, 0x35, 0xa2, 0xda, 0xda,
+ 0xb3, 0xda, 0x84, 0x1e, 0x34, 0xec, 0xbb, 0xe2, 0xcc, 0xa4,
+ 0xcb, 0xa3, 0x34, 0x7c, 0xb2, 0xb2, 0xc7, 0xb2, 0xe5, 0xd2,
+ 0x9f, 0x45, 0xa8, 0x7e, 0x4f, 0xb2, 0xb3, 0x4e, 0x9f, 0x68,
+ 0x6f, 0x6f, 0xc0, 0x6f, 0x82, 0x71, 0xb7, 0x93, 0xd5, 0x2f,
+ 0x22, 0x8f, 0x7c, 0xd1, 0xb7, 0xab, 0x37, 0x37, 0x7e, 0x37,
+ 0x71, 0x27, 0xf8, 0xe0, 0xd4, 0x5f, 0xdb, 0xe8, 0x65, 0x56,
+ 0xf8, 0xf0, 0xd5, 0xd5, 0x24, 0xd5, 0xe1, 0x98, 0x4f, 0x73,
+ 0x01, 0x70, 0xf9, 0x67, 0x19, 0x87, 0x4f, 0x5b, 0xe2, 0xe2,
+ 0x5a, 0xe2, 0x90, 0xbf, 0x6b, 0x3d, 0x88, 0x66, 0xd9, 0x0f,
+ 0x15, 0xc3, 0x6b, 0x59, 0x1f, 0x1f, 0xd1, 0x1f, 0xaa, 0xf0,
+ 0x83, 0x7f, 0x6e, 0xcd, 0xee, 0x2b, 0xb7, 0x72, 0x83, 0xd7,
+ 0x85, 0x85, 0xb9, 0x85, 0x94, 0xf5, 0x5f, 0xd1, 0x33, 0x84,
+ 0x15, 0xab, 0xde, 0x60, 0x5f, 0x25, 0xad, 0xad, 0x16, 0xad,
+ 0x4f, 0x22, 0xa7, 0x31, 0xe7, 0xdb, 0xce, 0x43, 0xbb, 0x36,
+ 0xa7, 0xd5, 0x78, 0x78, 0x32, 0x78, 0xae, 0xba, 0x1e, 0xbf,
+ 0x51, 0x4c, 0x5d, 0x61, 0xc5, 0xf9, 0x1e, 0xc0, 0x3a, 0x3a,
+ 0x91, 0x3a, 0xd4, 0xdf, 0x10, 0xa2, 0x32, 0xf4, 0xec, 0xcc,
+ 0xc7, 0xe7, 0x10, 0x7e, 0x4f, 0x4f, 0x4c, 0x4f, 0xdf, 0x9d,
+ 0xc3, 0xb2, 0xa6, 0x9b, 0xd8, 0x9d, 0x2d, 0x68, 0xc3, 0xec,
+ 0x7a, 0x7a, 0x4a, 0x7a, 0x6e, 0xc4, 0x78, 0xb9, 0x87, 0xf3,
+ 0xb7, 0x47, 0x92, 0x62, 0x78, 0x86, 0xe8, 0xe8, 0x01, 0xe8,
+ 0xd6, 0xfa, 0x2d, 0xbc, 0x3a, 0xf2, 0x28, 0x72, 0x0f, 0x55,
+ 0x2d, 0xe3, 0x53, 0x53, 0xd9, 0x53, 0xd5, 0x2c, 0x77, 0x07,
+ 0x4e, 0xd5, 0x78, 0x96, 0x11, 0xff, 0x77, 0xe6, 0xf5, 0xf5,
+ 0xa8, 0xf5, 0xbc, 0x74, 0xe3, 0x35, 0xc2, 0xb0, 0xc3, 0xc6,
+ 0x60, 0x65, 0xe3, 0x10, 0xe4, 0xe4, 0xd2, 0xe4, 0x13, 0x3d,
+ 0x80, 0x59, 0x53, 0xac, 0x6c, 0xaf, 0xf7, 0x34, 0x80, 0x76,
+ 0x3d, 0x3d, 0x25, 0x3d, 0x37, 0x62,
+ },
+ {
+ /* 14 */
+ 0x0a, 0xaf, 0x45, 0x6e, 0xf6, 0x73, 0x56, 0xfb, 0x47, 0x1c,
+ 0xd5, 0xc8, 0x66, 0x2c, 0x64, 0xb5, 0xca, 0x52, 0x68, 0xe5,
+ 0x24, 0x5b, 0xd9, 0x08, 0xeb, 0x1e, 0xe0, 0x5e, 0xac, 0x6b,
+ 0x2f, 0x0a, 0xf3, 0x80, 0xf6, 0x75, 0x2e, 0x6a, 0xc5, 0xcb,
+ 0x78, 0x58, 0xd0, 0xcf, 0x08, 0x95, 0x86, 0x89, 0x17, 0x4e,
+ 0xcb, 0x70, 0x06, 0xae, 0xb5, 0x41, 0x71, 0x83, 0x10, 0xce,
+ 0xdd, 0xeb, 0x67, 0xc0, 0x33, 0x7d, 0xdb, 0xfe, 0xfc, 0x42,
+ 0x4a, 0x38, 0xd4, 0x5a, 0xe5, 0x59, 0xc2, 0xd2, 0xcd, 0x36,
+ 0x5f, 0x28, 0xeb, 0xaf, 0x31, 0xb5, 0x88, 0xb3, 0xf8, 0xf2,
+ 0x39, 0x23, 0xe3, 0x99, 0xf0, 0xef, 0xa3, 0xb1, 0x9b, 0x83,
+ 0x92, 0x74, 0x30, 0x1f, 0x05, 0xb8, 0xb7, 0x40, 0xbe, 0x36,
+ 0x20, 0x68, 0x37, 0x3b, 0x27, 0xad, 0x21, 0xa2, 0xd7, 0x88,
+ 0x43, 0x3d, 0xf8, 0xf7, 0xfe, 0x14, 0x9a, 0xaa, 0x2a, 0xda,
+ 0xa9, 0xb3, 0xd1, 0x7f, 0x34, 0x32, 0x75, 0xa2, 0x3d, 0xf1,
+ 0x45, 0xd3, 0x99, 0xdf, 0xc9, 0x81, 0x29, 0x49, 0x0d, 0x13,
+ 0xc0, 0x7c, 0x14, 0xa5, 0x99, 0xc3, 0xbd, 0xd8, 0x80, 0x63,
+ 0x67, 0x0a, 0x4a, 0x5b, 0x9d, 0xbc, 0x22, 0x5c, 0x3e, 0xdd,
+ 0x9f, 0x78, 0x48, 0xb7, 0x3c, 0x4b, 0xd3, 0xf5, 0x1a, 0xa8,
+ 0x09, 0x66, 0xa7, 0x02, 0x4a, 0xe6, 0x38, 0xf6, 0x2b, 0x6a,
+ 0x7b, 0xe3, 0x63, 0x4c, 0xb6, 0x08, 0x40, 0x5c, 0xbf, 0xec,
+ 0xa9, 0xba, 0x82, 0xd6, 0x74, 0x71, 0x6b, 0xd7, 0x84, 0x51,
+ 0xca, 0xa1, 0x41, 0xd0, 0xd6, 0x12, 0x5f, 0xda, 0x3b, 0x4a,
+ 0xb0, 0xbc, 0x25, 0xf7, 0xf7, 0xc6, 0x0a, 0x26, 0xf3, 0x8a,
+ 0x58, 0x7b, 0xef, 0x3f, 0xcd, 0x61, 0x34, 0x53, 0xd1, 0x15,
+ 0x3c, 0x64, 0x5d, 0xa7, 0x71, 0xe9, 0x37, 0x5f, 0x51, 0x48,
+ 0xbb, 0xf5, 0x97, 0xe8, 0x9b, 0x38, 0xea, 0x27, 0x84, 0x38,
+ 0x03, 0x57, 0xbb, 0xc1, 0xd9, 0xa0, 0x08, 0x67, 0x8f, 0x94,
+ 0xd2, 0x60, 0x65, 0x29, 0x34, 0x93, 0x12, 0xcc, 0x8d, 0x04,
+ 0x94, 0x0f, 0x70, 0x2f, 0x56, 0xd4, 0xf6, 0x05, 0xd0, 0x26,
+ 0x5b, 0x04, 0x20, 0x2e, 0xbe, 0x76, 0xb5, 0x5d, 0x41, 0x6b,
+ 0x3a, 0xd9, 0xd4, 0x8a, 0x9e, 0x25, 0xf9, 0x40, 0x45, 0xa5,
+ 0xb1, 0x6c, 0x01, 0x99, 0x9a, 0x7f, 0x26, 0x0e, 0xde, 0x77,
+ 0x18, 0x57, 0x4d, 0x29, 0x8b, 0x05, 0xc8, 0x26, 0xf4, 0x91,
+ 0x4e, 0x62, 0x88, 0xd1, 0x31, 0xce, 0xf4, 0x15, 0x4b, 0x8a,
+ 0xda, 0xc2, 0x41, 0x0f, 0x10, 0x84, 0xb4, 0xfc, 0x25, 0xe0,
+ 0x7e, 0x7c, 0xaf, 0x7b, 0x5c, 0x76, 0x36, 0x97, 0x54, 0x0c,
+ 0x7f, 0x11, 0x90, 0x71, 0xfa, 0xbf, 0xd9, 0x0f, 0xcc, 0x37,
+ 0xea, 0x7e, 0x76, 0xcb, 0xeb, 0xe0, 0xd6, 0xab, 0x12, 0xa7,
+ 0x8e, 0xce, 0xb2, 0xd8, 0x7a, 0xeb, 0xc4, 0x45, 0x6d, 0x61,
+ 0xc1, 0xe6, 0x08, 0x42, 0x5a, 0x7e, 0xf3, 0x70, 0x3f, 0x3e,
+ 0x83, 0xc4, 0x77, 0x5e, 0xb5, 0x78, 0x52, 0xd6, 0x37, 0x06,
+ 0x5f, 0x79, 0x9d, 0xc9, 0xdd, 0x02, 0x9d, 0xf6, 0xb8, 0xec,
+ 0x6c, 0xed, 0xa8, 0x18, 0xfe, 0x22, 0xe3, 0xe2, 0x37, 0xbd,
+ 0x71, 0x1e, 0x81, 0xe7, 0x09, 0x96, 0x3a, 0x08, 0xfd, 0x8e,
+ 0x9d, 0xd4, 0xb0, 0x2e, 0x83, 0xaa, 0x17, 0x4c, 0xad, 0x58,
+ 0x22, 0xbe, 0xb9, 0xe7, 0xfb, 0x54, 0xd5, 0xc3, 0x7f, 0x26,
+ 0xe4, 0xdc, 0x13, 0x41, 0xa9, 0x1e, 0xde, 0xed, 0x64, 0x07,
+ 0x66, 0xe4, 0x42, 0xa4, 0x62, 0x88, 0xd8, 0x1a, 0x44, 0xdd,
+ 0xfc, 0x99, 0x70, 0x2c, 0xa3, 0xc1, 0xb8, 0xac, 0xfd, 0x4a,
+ 0x8e, 0x63, 0x5d, 0xaf, 0xd0, 0x87, 0x73, 0x97, 0xc0, 0x87,
+ 0xb2, 0x5a, 0x8e, 0x69, 0xb0, 0xe5, 0xf6, 0x2b, 0x84, 0xef,
+ 0xf4, 0xe2, 0xb0, 0xb9, 0xac, 0xa0, 0x49, 0x3a, 0x18, 0xee,
+ 0xe3, 0x5c, 0xba, 0x20, 0x5f, 0x1b, 0x10, 0x34, 0x77, 0xd1,
+ 0x3c, 0xd4, 0x6f, 0xba, 0x13, 0xd9, 0x27, 0x82, 0xeb, 0x85,
+ 0xb8, 0x29, 0xa3, 0x7e, 0xa5, 0xd4, 0x19, 0x18, 0xc0, 0xe4,
+ 0x02, 0xf7, 0x38, 0x0d, 0x45, 0xb9, 0x9c, 0x93, 0xbd, 0xba,
+ 0x46, 0x8f, 0x99, 0xe2, 0x1c, 0x88, 0xf6, 0xb9, 0x59, 0x0a,
+ 0xe1, 0x8b, 0x64, 0x98, 0xa4, 0x06, 0x10, 0xdb, 0x76, 0x8f,
+ 0xf2, 0x06, 0x31, 0x85, 0x19, 0x5f, 0x74, 0xfd, 0xf0, 0x9e,
+ 0x9f, 0x35, 0x2b, 0x2a, 0x96, 0xd7, 0x77, 0x47, 0x82, 0x1e,
+ 0x20, 0xcb, 0xab, 0x3b, 0x4a, 0x03, 0xfc, 0xf8, 0x87, 0x82,
+ 0x8b, 0x0d, 0x68, 0x98, 0xcf, 0x66, 0xa0, 0x61, 0x42, 0xd7,
+ 0xa1, 0x0f, 0x8a, 0x9e, 0xf9, 0x2f, 0xb3, 0x1b, 0xd8, 0x19,
+ 0x93, 0x30, 0x3f, 0x44, 0x05, 0x07, 0x6e, 0xb9, 0xe2, 0x3c,
+ 0xd8, 0xaa, 0x60, 0xa2, 0x59, 0x2d, 0x47, 0xd5, 0x58, 0x93,
+ 0x7b, 0xf4, 0x42, 0x96, 0x7a, 0x71, 0x80, 0x17, 0x36, 0xf2,
+ 0x9c, 0x30, 0x4b, 0xa2, 0xc8, 0xbd, 0x26, 0xe4, 0x8c, 0x7a,
+ 0x72, 0x6b, 0x34, 0xe8, 0x66, 0x01, 0x08, 0xea, 0xce, 0xfc,
+ 0xbc, 0x86, 0x81, 0x6a, 0xef, 0xa7, 0x35, 0xc3, 0x31, 0x5e,
+ 0xa5, 0x36, 0x73, 0x32, 0xe5, 0x60, 0x7e, 0x88, 0x0a, 0x0e,
+ 0xdc, 0xb1, 0x07, 0x78, 0x6f, 0x86, 0x71, 0xfd, 0xe4, 0xbf,
+ 0xdb, 0xff, 0xd3, 0x13, 0xa5, 0xe7, 0x30, 0xf8, 0x92, 0xb0,
+ 0x4d, 0xd0, 0xe3, 0xe8, 0x4c, 0xc3, 0x16, 0x6e, 0x4b, 0x7f,
+ 0xa2, 0x89, 0x0d, 0x64, 0xa5, 0x94, 0xd5, 0x90, 0x98, 0x33,
+ 0x5b, 0xf6, 0x95, 0xea, 0x77, 0x53, 0xca, 0x0f, 0x09, 0xcf,
+ 0xe6, 0x31, 0xa6, 0x07, 0x58, 0xb4, 0xe9, 0xac, 0x1b, 0x83,
+ 0xc7, 0xb6, 0x3c, 0x24, 0x8d, 0x20, 0x12, 0xd3, 0xba, 0x16,
+ 0xe9, 0xce, 0xbf, 0x49, 0x4e, 0x15, 0xa4, 0x40, 0x6f, 0xe8,
+ 0x39, 0x37, 0x74, 0x81, 0x62, 0xbc, 0x89, 0x6c, 0xe6, 0x64,
+ 0x09, 0xc0, 0xfc, 0xd3, 0x14, 0x1c, 0x7b, 0xa1, 0x0e, 0xf0,
+ 0x9a, 0x63, 0x05, 0x13, 0x98, 0x45, 0x2c, 0xdc, 0x96, 0xfe,
+ 0x87, 0xd1, 0x1a, 0xc8, 0x89, 0xeb, 0x61, 0x6f, 0xc8, 0xc0,
+ 0xcf, 0x2c, 0x10, 0xb4, 0x03, 0x68, 0x6d, 0x81, 0x6a, 0x12,
+ 0xa1, 0x99, 0x5d, 0x0b, 0x95, 0x67, 0xbe, 0xc5, 0x27, 0xeb,
+ 0x52, 0x20, 0xd6, 0x74, 0xfd, 0xfa, 0x3a, 0xa1, 0xa8, 0xee,
+ 0xe1, 0x89, 0xc2, 0x3f, 0xd0, 0xc8, 0x17, 0xcd, 0xf4, 0x42,
+ 0xd7, 0xca, 0x21, 0xfa, 0x98, 0x40, 0x7b, 0xdb, 0x17, 0x35,
+ 0x83, 0x84, 0x3c, 0x2c, 0x68, 0x86, 0x04, 0xab, 0x43, 0xa5,
+ 0x21, 0x85, 0xd3, 0xb9, 0x81, 0x34, 0xd4, 0xe5, 0x67, 0xd7,
+ 0x7e, 0xf3, 0x2c, 0x2f, 0x98, 0x4d, 0x6d, 0xa5, 0x0f, 0x35,
+ 0x6b, 0xcf, 0x74, 0xa7, 0x79, 0xc1, 0x4a, 0xb0, 0x2e, 0x9b,
+ 0x58, 0xfe, 0xfa, 0xfc, 0xf2, 0xb7, 0xf1, 0x51, 0x8a, 0x44,
+ 0xc0, 0xff, 0x7c, 0x9a, 0x7f, 0x0a, 0x4d, 0x55, 0x1d, 0xe1,
+ 0x8e, 0x1e, 0xf0, 0xdd, 0xe3, 0xba, 0x36, 0x9f, 0xc5, 0x06,
+ 0xbb, 0xc7, 0x03, 0x75, 0xe2, 0xab, 0xbf, 0x9e, 0x7a, 0x54,
+ 0x42, 0x62, 0x34, 0x6e, 0x32, 0xf8, 0xf7, 0xdb, 0x7c, 0x9b,
+ 0x48, 0x66, 0x20, 0xdf, 0x37, 0x1b, 0x3d, 0xf2, 0x89, 0x71,
+ 0x29, 0xed, 0x3e, 0x72, 0x97, 0x2f, 0x93, 0x1f, 0x01, 0xd1,
+ 0x47, 0x7e, 0x63, 0x53, 0x2e, 0x59, 0x2b, 0x84, 0x6d, 0x57,
+ 0x42, 0x37, 0xb3, 0x6a, 0xed, 0x0c, 0x60, 0x72, 0x01, 0x9a,
+ 0x1c, 0xe7, 0xc3, 0xbd, 0x4e, 0xa8, 0xbf, 0x5d, 0x57, 0xa4,
+ 0xd0, 0x09, 0x48, 0xb6, 0x71, 0x10, 0x15, 0x3c, 0x03, 0xbc,
+ 0x9b, 0xd6, 0x5e, 0x14, 0x70, 0x44, 0x81, 0x2b, 0x9b, 0x12,
+ 0x97, 0x1d, 0x4f, 0x5e, 0x8f, 0xb6, 0x95, 0x5c, 0x5b, 0x8b,
+ 0x19, 0xa7, 0x72, 0x4d, 0x2d, 0x3d, 0x7e, 0x0a, 0xa1, 0xf8,
+ 0xd8, 0xa8, 0x87, 0x01, 0x54, 0xe9, 0x6e, 0x76, 0x4e, 0x99,
+ 0x42, 0x87, 0x6d, 0xd3, 0x86, 0x7a, 0x33, 0x2d, 0x3f, 0x28,
+ 0xf7, 0x97, 0xbc, 0x73, 0x6b, 0x55, 0xed, 0xd9, 0x7c, 0xfd,
+ 0x99, 0xf5, 0x9d, 0x11, 0x1b, 0x92, 0xe9, 0x53, 0x3d, 0x94,
+ 0x62, 0xc3, 0xd7, 0xd1, 0x81, 0x73, 0x04, 0x21, 0x2d, 0x3f,
+ 0x98, 0x38, 0xfe, 0x1f, 0x13, 0x08, 0x37, 0x23, 0xdb, 0x4e,
+ 0x28, 0xf1, 0xe6, 0xe4, 0x0d, 0x60, 0xe1, 0x2d, 0x30, 0x5c,
+ 0x86, 0x72, 0xb4, 0x69, 0xce, 0xa0, 0x79, 0x4a, 0xf5, 0x08,
+ 0xd4, 0x1d, 0xae, 0xdf, 0xef, 0xb9, 0xdb, 0x79, 0x21, 0x0e,
+ 0x70, 0x65, 0x5e, 0xa1, 0xa7, 0x28, 0x02, 0x69, 0x53, 0x25,
+ 0xd5, 0x18, 0x4a, 0x45, 0x5e, 0x17, 0xb8, 0x6b, 0x92, 0xaa,
+ 0x23, 0xa3, 0xc6, 0xba, 0x20, 0x11, 0x5d, 0x61, 0x03, 0xd3,
+ 0x41, 0xac, 0x29, 0x48, 0x19, 0x74, 0xff, 0xbb, 0x79, 0x9d,
+ 0x11, 0xb3, 0xaf, 0x69, 0x32, 0x8d, 0xe4, 0x9a, 0x5a, 0x7a,
+ 0xfc, 0x14, 0x81, 0x33, 0x73, 0x93, 0xcd, 0x02, 0xa8, 0x11,
+ 0xbb, 0xe6, 0xd6, 0xaa, 0x19, 0x71, 0xf8, 0x39, 0xf1, 0x29,
+ 0xf9, 0x22, 0x36, 0xe7, 0x11, 0xa6, 0x47, 0x7f, 0xa6, 0x86,
+ 0xba, 0xb0, 0x40, 0x95, 0x0c, 0x63, 0x77, 0x41, 0x6b, 0x48,
+ 0xc1, 0x21, 0x59, 0x4d, 0x69, 0x34, 0x63, 0x25, 0xba, 0x5b,
+ 0xc5, 0x47, 0xcb, 0xda, 0xc1, 0x3c, 0x6d, 0x3d, 0x7e, 0xad,
+ 0x38, 0x16, 0xb0, 0x81, 0x5c, 0x56, 0x9f, 0x25, 0x47, 0xd0,
+ 0xcf, 0xb6, 0x68, 0xa2, 0xe4, 0xce, 0x3d, 0x05, 0x28, 0xc4,
+ 0x70, 0x8a, 0x09, 0xdb, 0xc0, 0x01, 0xd5, 0x7e, 0xe1, 0x49,
+ 0xc1, 0x0d, 0x12, 0xef, 0x74, 0x10, 0x39, 0xdf, 0xf9, 0x6b,
+ 0xa3, 0x5c, 0xc5, 0x97, 0x2e, 0x98, 0x45, 0x5c, 0xd8, 0x4e,
+ 0x35, 0xc0, 0xef, 0xcd, 0xa6, 0xb1, 0x98, 0x16, 0x75, 0x2b,
+ 0x0b, 0x6f, 0x40, 0xea, 0x1b, 0x79, 0x4e, 0x18, 0xc4, 0x51,
+ 0x64, 0xbf, 0x13, 0x72, 0x46, 0x3d, 0x39, 0xd4, 0x9c, 0x06,
+ 0x87, 0x88, 0xca, 0xd5, 0x1e, 0x34, 0xab, 0x4b, 0x75, 0x28,
+ 0x38, 0x6d, 0x14, 0x39, 0x2d, 0x4f, 0x14, 0x4c, 0x25, 0xd7,
+ 0xb0, 0xf6, 0x1d, 0x7e, 0x59, 0xc2, 0x68, 0xa6, 0x61, 0x2a,
+ 0xda, 0x89, 0x1e, 0x6a, 0xd6, 0x5d, 0xe8, 0x8d, 0xf2, 0x41,
+ 0x94, 0xa3, 0x5c, 0xf5, 0xb0, 0x3f, 0x28, 0xf9, 0xd7, 0x7b,
+ 0x5e, 0x0f, 0x9b, 0x6a, 0xdf, 0x70, 0xd2, 0xa6, 0x5b, 0xb0,
+ 0x53, 0x91, 0xc0, 0xfd, 0x2d, 0x8b, 0xd2, 0x28, 0x8f, 0xf3,
+ 0xac, 0x02, 0x35, 0x96, 0xca, 0x47, 0x4b, 0xbf, 0x76, 0x21,
+ 0x03, 0xb0, 0xc9, 0x82, 0xa5, 0xf5, 0x72, 0xeb, 0x7d, 0x4f,
+ 0xb7, 0xf9, 0xc6, 0x59, 0xdf, 0x3f, 0xdd, 0x5d, 0xad, 0x85,
+ 0xc3, 0x11, 0x30, 0x4f, 0x1f, 0xc7, 0x6f, 0xe3, 0x82, 0x84,
+ 0x8d, 0x2d, 0xce, 0x63, 0x9e, 0xeb, 0x99, 0x9d, 0xe7, 0x7d,
+ 0x97, 0x1f, 0xc7, 0x23, 0xee, 0x2b, 0x8b, 0x48, 0x4c, 0xf8,
+ 0xcc, 0x7b, 0xab, 0x75, 0xda, 0xc8, 0x65, 0xe6, 0xe5, 0x86,
+ 0x73, 0xf9, 0x15, 0x6d, 0xb5, 0xb8, 0x89, 0xde, 0x1a, 0x19,
+ 0xdb, 0x51, 0xff, 0x99, 0xc3, 0x88, 0xad, 0x8e, 0x5b, 0x6e,
+ 0x17, 0xfc, 0xec, 0x55, 0x15, 0x03, 0x6f, 0x95, 0x24, 0x8d,
+ 0xdf, 0x5f, 0xa7, 0x73, 0x66, 0xfa, 0x75, 0x3f, 0x3b, 0x84,
+ 0x94, 0x70, 0x6b, 0xb4, 0x09, 0xb2, 0x47, 0x67, 0x59, 0x6c,
+ 0xb5, 0x0f, 0x6f, 0x97, 0x32, 0xe2, 0x33, 0x72, 0x21, 0x52,
+ 0x31, 0x44, 0x6c, 0x0d, 0x22, 0x8f, 0xe0, 0x88, 0xc1, 0x56,
+ 0xf5, 0x24, 0xed, 0x3a, 0x9e, 0xbc, 0xdd, 0xaf, 0xe9, 0xb8,
+ 0xb6, 0xd5, 0x6c, 0x55, 0x30, 0x51, 0xcd, 0xf7, 0xc2, 0x8b,
+ 0x2c, 0xa8, 0xdc, 0x7a, 0x21, 0x4b, 0x3d, 0xd9, 0xa2, 0x41,
+ 0xa4, 0xe7, 0x34, 0x4c, 0x86, 0x33, 0x50, 0xd1, 0x21, 0x8a,
+ 0xb1, 0xe6, 0x45, 0x4f, 0xd4, 0x60, 0xa7, 0x57, 0xfd, 0xce,
+ 0x23, 0xc6, 0x22, 0x3a, 0x5c, 0xc5, 0x06, 0x1f, 0x83, 0x16,
+ 0x5a, 0x9e, 0x28, 0x98, 0x4a, 0x6d, 0xa3, 0x2f, 0x3a, 0xfc,
+ 0xb2, 0x47, 0xd0, 0x8f, 0xc2, 0x54, 0xbf, 0xa0, 0x2a, 0xf9,
+ 0xc4, 0x91, 0x65, 0x89, 0x66, 0x4e, 0xe4, 0x8c, 0x0a, 0x21,
+ 0x46, 0x3a, 0x78, 0xc8, 0xba, 0x8d, 0xe2, 0x11, 0x6e, 0xbe,
+ 0xa2, 0x90, 0xb5, 0x29, 0xed, 0x13, 0xf5, 0x70, 0x1e, 0x32,
+ 0xcf, 0xb2, 0xd9, 0x95, 0xfa, 0xce, 0xc9, 0x24, 0xbc, 0x9b,
+ 0xaa, 0x74, 0xac, 0x1c, 0x07, 0x95, 0xbd, 0xff, 0xf4, 0xa8,
+ 0x84, 0xc4, 0x68, 0xdc, 0x64, 0x33, 0x2d, 0x75, 0xf8, 0xf5,
+ 0x82, 0x34, 0x48, 0x3a, 0x13, 0x40, 0xe4, 0xfa, 0x62, 0x6f,
+ 0xc9, 0xb3, 0x92, 0x19, 0xb8, 0x25, 0x68, 0x13, 0xcc, 0x02,
+ 0x10, 0x17, 0x5f, 0x3b, 0xbb, 0xcf, 0xc1, 0xd4, 0x1d, 0x8d,
+ 0x6a, 0x45, 0x12, 0xf8, 0x08, 0x47, 0x7d, 0x76, 0x9e, 0xdd,
+ 0xb3, 0x8d, 0x9b, 0xaa, 0xee, 0xfd, 0x55, 0x7b, 0x58, 0xbd,
+ 0x56, 0x50, 0xc5, 0x1d, 0x0c, 0x77, 0x90, 0x2e, 0x5d, 0x10,
+ 0xce, 0xec, 0x08, 0x1a, 0x8f, 0x0e, 0xb0, 0xab, 0x11, 0x9b,
+ 0x36, 0xc5, 0x4d, 0xaf, 0x78, 0x48, 0xd9, 0x40, 0x24, 0x65,
+ 0xe1, 0x78, 0xfe, 0x32, 0x53, 0x1c, 0x5b, 0x16, 0xcb, 0xd5,
+ 0x4b, 0x65, 0xe6, 0x68, 0xd3, 0xf2, 0x36, 0xcb, 0x18, 0xc9,
+ 0x87, 0x9a, 0x61, 0xa4, 0x16, 0x54, 0x6e, 0x3d, 0xf1, 0xc4,
+ 0xff, 0x8d, 0x74, 0x02, 0x7d, 0x78, 0x46, 0xf2, 0x0a, 0xad,
+ 0xd8, 0x39, 0x92, 0x18, 0xa9, 0x9a, 0x0c, 0x17, 0xff, 0x4a,
+ 0x31, 0x80, 0x8a, 0x89, 0xa1, 0xd8, 0x02, 0xf1, 0xf7, 0xfe,
+ 0x4c, 0x1c, 0x7f, 0xee, 0x3a, 0x01, 0xdf, 0x3c, 0x23, 0x79,
+ 0x05, 0xb7, 0x6c, 0xfd, 0x49, 0x0c, 0xb5, 0x4d, 0x06, 0xea,
+ 0x79, 0x38, 0x85, 0xe9, 0x44, 0x29, 0xd8, 0x92, 0xf7, 0xf9,
+ 0x23, 0xe3, 0xe2, 0xc3, 0x90, 0x57, 0xdd, 0x1c, 0xa3, 0x95,
+ 0x22, 0xf5, 0x6c, 0x49, 0x9a, 0x9d, 0xf0, 0x90, 0x71, 0x80,
+ 0x48, 0xca, 0x54, 0x77, 0x91, 0xa5, 0x61, 0xfe, 0x68, 0x64,
+ 0xea, 0x87, 0x7a, 0x21, 0x8a, 0x65, 0xf1, 0x7d, 0x22, 0x56,
+ 0x92, 0x15, 0xa8, 0x7c, 0xcd, 0x91, 0x98, 0x6c, 0x07, 0x6e,
+ 0x3d, 0x9c, 0x37, 0x24, 0x05, 0xb6, 0xc3, 0x37, 0x7b, 0xd8,
+ 0x2b, 0x9c, 0xc2, 0x0e, 0x8b, 0x64, 0x33, 0x16, 0x32, 0xbb,
+ 0x88, 0x9b, 0x0d, 0x54, 0xe5, 0x33, 0xb2, 0x01, 0x25, 0x73,
+ 0x1c, 0x7b, 0xf4, 0x35, 0xdc, 0x90, 0x06, 0x65, 0x82, 0x9b,
+ 0x52, 0x90, 0x32, 0xe8, 0x3d, 0xb5, 0xf2, 0xf9, 0x22, 0xa5,
+ 0x9d, 0xd2, 0x53, 0xe2, 0x2c, 0x5a, 0x95, 0x56, 0xec, 0xa0,
+ 0x82, 0x5b, 0x1e, 0x12, 0xa7, 0x10, 0x09, 0x88, 0x95, 0x7a,
+ 0x83, 0x4a, 0x15, 0xee, 0x51, 0xbb, 0x13, 0xec, 0xd9, 0x7d,
+ 0x4f, 0xf2, 0xdf, 0xe5, 0xe9, 0xf4, 0xc5, 0x94, 0x2a, 0x1f,
+ 0xa2, 0xb5, 0x26, 0x1b, 0x71, 0xfa, 0x9e, 0x27, 0x7d, 0x09,
+ 0xec, 0x42, 0x06, 0xa3, 0x51, 0xc7, 0x89, 0x29, 0xe4, 0x15,
+ 0xfa, 0x9e, 0xad, 0x31, 0x4f, 0xb2, 0x97, 0x59, 0xfd, 0x82,
+ 0x9a, 0x9e, 0xfe, 0xe3, 0xb9, 0x3e, 0x36, 0x2a, 0x51, 0x91,
+ 0x15, 0xab, 0xd1, 0xd6, 0x64, 0x60, 0x86, 0x16, 0x08, 0x5a,
+ 0xe0, 0x34, 0xd7, 0xa1, 0x35, 0x09, 0xb1, 0xad, 0x69, 0xe3,
+ 0xf3, 0x66, 0xb6, 0x2f, 0xe9, 0x17, 0xee, 0xa6, 0x57, 0x1e,
+ 0x12, 0x5d, 0x0f, 0x62, 0x6a, 0x30, 0xb2, 0xca, 0x9f, 0x67,
+ 0xf0, 0x63, 0x11, 0x1d, 0x2e, 0x83, 0x03, 0xee, 0xa0, 0x0b,
+ 0x43, 0x39, 0x5a, 0xd5, 0x67, 0x50, 0xdd, 0x25, 0x9b, 0x04,
+ 0x6a, 0xef, 0x57, 0x8e, 0x96, 0xbd, 0x41, 0x1a, 0x24, 0x1d,
+ 0xe8, 0x20, 0x72, 0x7d, 0x31, 0xd6, 0x85, 0xb8, 0x49, 0xed,
+ 0x5c, 0xf3, 0xae, 0x8b, 0x63, 0x12, 0x90, 0xaf, 0xe2, 0x20,
+ 0x2a, 0x78, 0x06, 0xbb, 0xf5, 0x6f, 0xbc, 0x28, 0x0c, 0xca,
+ 0xc7, 0xf5, 0xa4, 0xe3, 0x64, 0x13, 0x7a, 0xa9, 0x27, 0x31,
+ 0x44, 0x89, 0xf9, 0x67, 0x7c, 0x8e, 0x46, 0xde, 0x3f, 0xf1,
+ 0xf3, 0x0e, 0x35, 0xf7, 0xa8, 0x87, 0xd1, 0xd5, 0xa2, 0xec,
+ 0x5e, 0xd8, 0xd4, 0xcb, 0x97, 0x8d, 0x3e, 0x9f, 0xad, 0x9b,
+ 0xaf, 0xe9, 0xec, 0x49, 0x95, 0xc8, 0x44, 0xac, 0xe7, 0x2a,
+ 0x93, 0xf8, 0x59, 0xe1, 0xf3, 0xd8, 0x0e, 0xdc, 0x7a, 0xfb,
+ 0x6e, 0x48, 0x25, 0xc3, 0x2f, 0xea, 0x5c, 0xd4, 0x49, 0x55,
+ 0xf0, 0xb0, 0x63, 0x5d, 0x10, 0xe9, 0xcf, 0xd1, 0x09, 0x7c,
+ 0x04, 0xc2, 0xdf, 0x3b, 0x4f, 0x8f, 0xb8, 0xa7, 0xac, 0x55,
+ 0x77, 0x9f, 0xcb, 0xdc, 0xbd, 0x83, 0x54, 0x31, 0x4b, 0xe1,
+ 0xca, 0xd1, 0xcc, 0x9c, 0x0b, 0xdb, 0x14, 0x42, 0x8c, 0x74,
+ 0x9f, 0xd5, 0xc6, 0x24, 0xe3, 0x9d, 0x07, 0x40, 0x54, 0xf0,
+ 0x0c, 0xb5, 0x29, 0xde, 0xbb, 0x50, 0x2e, 0x9c, 0x55, 0xe0,
+ 0x0c, 0x9f, 0xa9, 0x82, 0xe2, 0xc5, 0x20, 0x5f, 0x79, 0x15,
+ 0xce, 0x43, 0x1b, 0x84, 0x0c, 0x85, 0xa2, 0x4d, 0xd1, 0x52,
+ 0x0b, 0x2a, 0x37, 0xff, 0x99, 0x62, 0x9e, 0xa7, 0xd7, 0xb3,
+ 0xe6, 0xfb, 0xd4, 0x86, 0x3a, 0xb2, 0xdd, 0x81, 0x25, 0x58,
+ 0x17, 0xac, 0x2c, 0x7f, 0x8a, 0xb8, 0x73, 0x9c, 0x6a, 0x43,
+ 0x1d, 0x59, 0x8f, 0xa1, 0xf3, 0x2c, 0xea, 0x56, 0x16, 0xde,
+ 0x0d, 0x3a, 0xf8, 0x91, 0x02, 0xdb, 0xd2, 0x3f, 0x2f, 0xc0,
+ 0xb1, 0xfb, 0x4b, 0x59, 0x9c, 0x40, 0x50, 0x31, 0x6d, 0xf6,
+ 0xbc, 0x1e, 0xf5, 0xd4, 0x7d, 0xe0, 0x67, 0x8f, 0xb6, 0xa3,
+ 0xa6, 0xe1, 0x24, 0x33, 0x10, 0x8e, 0xfa, 0xec, 0xff, 0x79,
+ 0xa5, 0xd9, 0xf5, 0x97, 0x1f, 0x39, 0xaa, 0xf6, 0xf2, 0x70,
+ 0xc9, 0x11, 0x88, 0x52, 0x73, 0xe7, 0x2d, 0x31, 0x46, 0x05,
+ 0x07, 0x45, 0xe3, 0xae, 0x38, 0x22, 0xa1, 0xf4, 0xac, 0x09,
+ 0xaa, 0xef, 0xc6, 0x2f, 0xa6, 0x5b, 0xab, 0x2e, 0xcc, 0xa4,
+ 0x7b, 0x1b, 0xfb, 0x21, 0xcb, 0x59, 0x77, 0xca, 0x5d, 0x2b,
+ 0xcc, 0xb4, 0xfc, 0xa0, 0x5a, 0x19, 0xa1, 0x92, 0xe5, 0x4b,
+ 0x1d, 0x04, 0x9f, 0x47, 0xaf, 0x6a, 0x58, 0x17, 0xa0, 0x55,
+ 0xea, 0x26, 0xbe, 0x50, 0x15, 0x9d, 0x62, 0xa9, 0xd3, 0xa5,
+ 0x33, 0x27, 0x72, 0x46, 0x05, 0xf1, 0x23, 0x1d, 0xa7, 0xf7,
+ 0x67, 0xd0, 0x4f, 0x94, 0xad, 0xaf, 0x92, 0xdf, 0xaa, 0xee,
+ 0x82, 0xf0, 0x77, 0xf4, 0x99, 0xb0, 0x44, 0xbf, 0xb1, 0x0d,
+ 0x35, 0xa8, 0x69, 0x45, 0xfe, 0x4c, 0x0b, 0x7b, 0x26, 0x82,
+ 0xf1, 0xa3, 0x88, 0xbd, 0xa1, 0x1a, 0x6a, 0x93, 0xd2, 0x8a,
+ 0x3f, 0x98, 0x16, 0xf6, 0x4c, 0xc7, 0xeb, 0xd7, 0xbb, 0x5c,
+ 0xa5, 0x6f, 0x0d, 0xed, 0x8c, 0xc9, 0x9e, 0xad, 0x80, 0x44,
+ 0xb7, 0x47, 0x39, 0xd2, 0x9e, 0x90, 0x0a, 0x31, 0x1c, 0xc3,
+ 0x93, 0x46, 0x30, 0x91, 0xa4, 0xfe, 0xa9, 0x83, 0xb7, 0x2c,
+ 0x11, 0x5f, 0xbd, 0x92, 0x9c, 0x2a, 0x8b, 0x80, 0xde, 0x13,
+ 0x72, 0x6e, 0xe8, 0xc1, 0x1c, 0x11, 0xb1, 0x7a, 0x56, 0xe5,
+ 0x55, 0x96, 0x63, 0xf6, 0x53, 0xcc, 0xb4, 0x17, 0x66, 0x52,
+ 0x01, 0xf0, 0x3f, 0x64, 0xa6, 0x38, 0xb6, 0x2c, 0x55, 0x69,
+ 0x96, 0xca, 0x0f, 0xd0, 0x65, 0x27, 0xef, 0x91, 0x47, 0x0f,
+ 0x78, 0x8f, 0x90, 0x5d, 0x1b, 0xae, 0x83, 0x03, 0xbc, 0x82,
+ 0xe0, 0xdb, 0x1f, 0xc2, 0xf0, 0xd6, 0x7f, 0xad, 0x4c, 0xe2,
+ 0x9c, 0x4d, 0x2a, 0x51, 0xa5, 0xa4, 0xc9, 0x3b, 0x92, 0xef,
+ 0x3e, 0xb5, 0xe1, 0x46, 0xd5, 0x7f, 0x7b, 0x30, 0xbd, 0x4e,
+ 0x62, 0x87, 0x27, 0x10, 0x1a, 0x74, 0x33, 0xe1, 0x04, 0x75,
+ 0x67, 0x7e, 0x5e, 0x43, 0xa1, 0x35, 0x96, 0xb2, 0xfb, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xa1, 0xf5, 0xc5,
+ 0xe7, 0xe8, 0x60, 0x3e, 0x0a, 0xb3, 0xad, 0x80, 0xbf, 0x6c,
+ 0x40, 0xd0, 0x5c, 0xfb, 0xaa, 0x03, 0x18, 0xfd, 0x91, 0xc7,
+ 0x07, 0x49, 0x40, 0xbe, 0xf2, 0x2a, 0x5f, 0x86, 0xed, 0xb2,
+ 0x39, 0xc7, 0xf7, 0xff, 0x3f, 0x05, 0xb1, 0x7c, 0x6c, 0x54,
+ 0xa2, 0xe1, 0x2a, 0x95, 0x56, 0x54, 0xef, 0x6d, 0xee, 0x8e,
+ 0xc7, 0x3c, 0x40, 0x55, 0x95, 0x76, 0x94, 0x06, 0x3b, 0x33,
+ 0xc3, 0x2e, 0x6c, 0x27, 0xfb, 0x60, 0x96, 0x87, 0x53, 0xb9,
+ 0x4c, 0x0b, 0xdb, 0xf4, 0xe4, 0xd6, 0x0f, 0x19, 0x86, 0x59,
+ 0x8d, 0xab, 0x7d, 0x67, 0x85, 0x12, 0x5e, 0xac, 0x55, 0x3a,
+ 0x56, 0x0e, 0xe8, 0x04, 0xfa, 0xf0, 0x8c, 0x27, 0x14, 0x99,
+ 0x73, 0x72, 0xe7, 0x30, 0x91, 0xf7, 0x18, 0x2e, 0xc2, 0xde,
+ 0x53, 0x43, 0x5d, 0x58, 0x20, 0xab, 0x06, 0xd0, 0xda, 0xc1,
+ 0xd4, 0x24, 0x81, 0xf1, 0xd9, 0x5a, 0x5f, 0xc6, 0xff, 0x15,
+ 0xf1, 0xf9, 0x0d, 0xfa, 0xed, 0x3e, 0x4d, 0x46, 0x1f, 0x56,
+ 0xe6, 0xed, 0x43, 0xcd, 0xa7, 0xb4, 0xdf, 0xd2, 0xa3, 0x09,
+ 0x2f, 0x56, 0xcb, 0x1d, 0x2b, 0x07, 0xb6, 0xdc, 0x2e, 0x3b,
+ 0x1b, 0xaa, 0x2a, 0x06, 0xde, 0xe9, 0x48, 0xd9, 0x7d, 0xbe,
+ 0x8d, 0xe6, 0x11, 0x2b, 0x49, 0xeb, 0x54, 0x3e, 0x87, 0xa9,
+ 0x4c, 0x36, 0xe2, 0x37, 0xff, 0x4e, 0xfa, 0x12, 0xc6, 0x98,
+ 0xaf, 0x10, 0x80, 0xb8, 0xbd, 0x1b, 0x91, 0xb7, 0xc7, 0x6f,
+ 0xe8, 0xe2, 0xd6, 0x6d, 0x55, 0x87, 0xae, 0xc1, 0xc7, 0xc6,
+ 0xde, 0x48, 0xbf, 0xee, 0xec, 0xeb, 0x85, 0xb5, 0x94, 0x5a,
+ 0x94, 0x8a, 0xbc, 0x2e, 0xb3, 0xd6, 0xe7, 0x97, 0x46, 0x85,
+ 0x4f, 0xb7, 0x40, 0x22, 0xba, 0xc2, 0xb1, 0x49, 0x93, 0xc4,
+ 0xef, 0x02, 0xae, 0xc2, 0xb6, 0x35, 0x2c, 0xea, 0x50, 0xcb,
+ 0x75, 0x13, 0x4b, 0xb5, 0x61, 0x73, 0x1e, 0x53, 0x24, 0x86,
+ 0x76, 0xca, 0x50, 0x70, 0x2f, 0xc1, 0x38, 0x46, 0xb9, 0xc5,
+ 0xa8, 0x62, 0x96, 0x01, 0x57, 0x61, 0x5b, 0xfb, 0x16, 0x75,
+ 0x28, 0x84, 0xdb, 0xe8, 0x4f, 0xf3, 0x9d, 0x20, 0xc3, 0xb3,
+ 0xb9, 0x36, 0xe1, 0xad, 0x4d, 0xde, 0x13, 0x07, 0x6f, 0xda,
+ 0xf6, 0x36, 0x35, 0x42, 0x55, 0xb2, 0xee, 0x57, 0xba, 0x56,
+ 0x5b, 0xab, 0x3b, 0x83, 0xb4, 0x32, 0x9b, 0x93, 0x3a, 0x77,
+ 0x3e, 0x7d, 0x9a, 0xf0, 0xc3, 0x97, 0x11, 0x1b, 0x15, 0x18,
+ 0xec, 0xcc, 0xd2, 0x05, 0x25, 0xcc, 0xaf, 0x5e, 0x11, 0x2e,
+ 0x1f, 0x8f, 0xae, 0x3c, 0x24, 0xba, 0x1e, 0xc4, 0x7f, 0x5d,
+ 0x07, 0x72, 0x16, 0xb9, 0xea, 0x7a, 0xca, 0x4c, 0xd1, 0x1a,
+ 0xc0, 0x66, 0x0d, 0x85, 0xde, 0xcf, 0xe2, 0x39, 0x0b, 0xbd,
+ 0x75, 0x3d, 0x65, 0x26, 0x89, 0x0d, 0x60, 0x33, 0xe7, 0xa3,
+ 0x75, 0xf2, 0x42, 0x1c, 0xe0, 0xca, 0xbc, 0x81, 0x8d, 0x50,
+ 0x04, 0xd2, 0xa6, 0x4a, 0x69, 0x30, 0x14, 0x9d, 0x8a, 0xdc,
+ 0x2f, 0xe6, 0xac, 0x35, 0x8e, 0x38, 0x69, 0x53, 0xcc, 0x58,
+ 0xc8, 0xa9, 0x20, 0x75, 0xec, 0xdd, 0x27, 0x0c, 0x62, 0xc9,
+ 0x32, 0xbe, 0xe8, 0x39, 0x23, 0xff, 0xfd, 0x6a, 0xdc, 0xec,
+ 0x9c, 0xf1, 0x84, 0xcd, 0xda, 0x65, 0xcf, 0xf4, 0x66, 0x5a,
+ 0x7e, 0x50, 0x2d, 0xed, 0xac, 0xa8, 0x1d, 0xda, 0x1f, 0xdf,
+ 0x4d, 0x78, 0x80, 0xaa, 0xe9, 0xec, 0xeb, 0x0c, 0x76, 0x66,
+ 0xab, 0x3d, 0xa0, 0x25, 0xeb, 0x77, 0xc9, 0xbc, 0xe8, 0x76,
+ 0x8d, 0xdf, 0xc6, 0x79, 0x8e, 0x93, 0xf8, 0xdf, 0x8c, 0x7f,
+ 0x7e, 0x21, 0x25, 0x1c, 0x6a, 0x2d, 0x93, 0xcd, 0x61, 0x69,
+ 0x87, 0x1b, 0xfb, 0x0c, 0xcd, 0xd3, 0x57, 0x69, 0x3c, 0x68,
+ 0x95, 0x96, 0xea, 0x50, 0x70, 0xda, 0x28, 0x72, 0xcd, 0xc7,
+ 0xd5, 0x1a, 0xd0, 0xf3, 0x5d, 0xcc, 0x83, 0xc2, 0x84, 0x6d,
+ 0x81, 0x1e, 0xd7, 0xff, 0xf0, 0x53, 0xb7, 0xd9, 0x07, 0x22,
+ 0xdc, 0xbf, 0x87, 0xe3, 0xa9, 0x52, 0x19, 0x26, 0x29, 0xe0,
+ 0xee, 0x61, 0x78, 0x6b, 0xde, 0xb7, 0x26, 0x71, 0x4e, 0xc7,
+ 0x15, 0xc9, 0xb3, 0x52, 0x85, 0xfc, 0xce, 0x14, 0x94, 0xb6,
+ 0xf9, 0xbb, 0x44, 0xb8, 0x7c, 0x79, 0xfd, 0xf0, 0x90, 0xad,
+ 0x78, 0x96, 0xe5, 0x3e, 0x02, 0x61, 0x8e, 0xfc, 0xc6, 0xa6,
+ 0x5c, 0xb2, 0x56, 0xcb, 0xda, 0xae, 0x84, 0x6e, 0x7d, 0x7e,
+ 0x79, 0xba, 0x99, 0xc9, 0x45, 0x22, 0x60, 0x9e, 0x3e, 0x4d,
+ 0xde, 0x05, 0xc7, 0xcb, 0xb8, 0x35, 0x97, 0x06, 0x30, 0x39,
+ 0xe1, 0x4d, 0x0e, 0x92, 0x80, 0xbf, 0x27, 0x54, 0xbe, 0xcf,
+ 0x04, 0x46, 0xfc, 0x53, 0xdd, 0xe0, 0x9d, 0xb0, 0x97, 0x67,
+ 0x1d, 0xae, 0x3c, 0xc6, 0x57, 0x9c, 0xaa, 0xcd, 0x9f, 0x41,
+ 0x4d, 0x4f, 0x7f, 0x90, 0xbd, 0x1f, 0x1b, 0x15, 0xc9, 0xa9,
+ 0xeb, 0xb4, 0xf5, 0xe5, 0x74, 0xee, 0x7c, 0xfa, 0xf7, 0x23,
+ 0x45, 0xed, 0x22, 0x36, 0x2a, 0x30, 0x1b, 0x5b, 0xc7, 0x68,
+ 0x90, 0x74, 0x26, 0x80, 0x0b, 0x37, 0xc4, 0xde, 0x51, 0xa5,
+ 0xe7, 0x32, 0xb3, 0x4a, 0xa0, 0x62, 0xda, 0x2f, 0xbb, 0x3c,
+ 0x29, 0x6b, 0xfa, 0x03, 0xce, 0xdd, 0xaf, 0x85, 0x8f, 0x01,
+ 0x42, 0xc9, 0x65, 0xb1, 0xc1, 0x68, 0x6b, 0x09, 0xce, 0x6d,
+ 0xfc, 0x25, 0x58, 0x5e, 0xf3, 0x9a, 0xcb, 0xa2, 0x57, 0x81,
+ 0x82, 0x63, 0x6f, 0x24, 0xbe, 0x77, 0x76, 0x94, 0xa3, 0xbb,
+ 0x4a, 0x2d, 0x71, 0xb4, 0xbe, 0x4f, 0x3d, 0x2a, 0x21, 0x31,
+ 0x1a, 0x37, 0x19, 0x7c, 0x9a, 0x8c, 0x3e, 0xac, 0xe3, 0x5b,
+ 0x80, 0xfa, 0xdc, 0x6c, 0xf4, 0x4e, 0x61, 0x07, 0xa4, 0x32,
+ 0xf8, 0x0b, 0x19, 0xbc, 0xfd, 0x69, 0x4f, 0x48, 0x05, 0xf9,
+ 0x0e, 0x80, 0xa8, 0x23, 0x18, 0xa9, 0x52, 0x7f, 0xb5, 0xa0,
+ 0x90, 0xcc, 0x40, 0x7d, 0x6e, 0x36, 0x7a, 0x27, 0xd1, 0xe2,
+ 0x52, 0x19, 0x7c, 0xe4, 0xed, 0x5e, 0x02, 0x23, 0x7e, 0xc8,
+ 0x8f, 0x70, 0xaf, 0x58, 0xaa, 0xd2, 0xef, 0x57, 0x1e, 0x63,
+ 0xca, 0x4e, 0x26, 0x10, 0x6e, 0x46, 0x75, 0x9c, 0x50, 0x21,
+ 0x0f, 0x0b, 0x1a, 0xc0, 0x01, 0x5a, 0x60, 0xb8, 0x96, 0xa9,
+ 0xc2, 0xe6, 0x3c, 0xa6, 0x48, 0xcf, 0xec, 0x57, 0xa0, 0xe0,
+ 0x5e, 0x41, 0x70, 0x8c, 0xcf, 0xe4, 0xab, 0xd2, 0x5f, 0x83,
+ 0xf2, 0x94, 0x29, 0x10, 0x6b, 0x3a, 0x9f, 0x7d, 0x1d, 0xb1,
+ 0x89, 0x6b, 0x32, 0x30, 0x43, 0x0b, 0x04, 0x2d, 0x70, 0x1a,
+ 0x8a, 0xb1, 0xfb, 0xe5, 0xb9, 0xb7, 0x49, 0x96, 0x1f, 0xbb,
+ 0x91, 0x23, 0x8b, 0xde, 0xdc, 0x18, 0xbf, 0x27, 0x31, 0xa2,
+ 0xf2, 0x08, 0x2f, 0x6c, 0x6a, 0x84, 0xaa, 0xa7, 0x1f, 0xae,
+ 0xb7, 0xac, 0xb6, 0x95, 0x76, 0xc5, 0xab, 0x64, 0x52, 0x12,
+ 0x13, 0x3e, 0x33, 0x6e, 0x5a, 0x8c, 0xd7, 0x32, 0x88, 0xd8,
+ 0xa8, 0xc0, 0x6c, 0xaf, 0xb4, 0xff, 0x50, 0xf3, 0x94, 0xda,
+ 0x85, 0x5e, 0x74, 0x3b, 0xa7, 0x8e, 0x63, 0xdd, 0x47, 0xa8,
+ 0x08, 0x8c, 0x3b, 0xa6, 0x79, 0x03, 0xf9, 0xa3, 0xed, 0xce,
+ 0x3a, 0x9f, 0x78, 0x4f, 0xae, 0xfb, 0x3f, 0xb7, 0x1c, 0x0b,
+ 0x58, 0xa1, 0x2e, 0x2b, 0xae, 0xf3, 0xc2, 0x68, 0x86, 0x5b,
+ 0x34, 0x51, 0xd6, 0x43, 0xd9, 0x9f, 0x72, 0xbe, 0x8c, 0x9e,
+ 0x88, 0xe8, 0xb3, 0x92, 0x18, 0x7c, 0x49, 0x58, 0x23, 0xa6,
+ 0xad, 0x71, 0x0e, 0x44, 0x7b, 0xbd, 0xcd, 0x05, 0x91, 0xa4,
+ 0x32, 0x4c, 0x52, 0x03, 0x4e, 0x03, 0xa2, 0x44, 0x65, 0x8b,
+ 0x0f, 0x1a, 0xb4, 0xc4, 0xdb, 0x14, 0x1c, 0xd7, 0x0a, 0xfd,
+ 0x60, 0x9f, 0xf7, 0xa4, 0x69, 0x14, 0xa6, 0x98, 0x56, 0x01,
+ 0xfb, 0x4b, 0x65, 0xc2, 0xc4, 0xbe, 0x0b, 0x5f, 0x7a, 0x0a,
+ 0x50, 0x4b, 0xe0, 0xd7, 0x12, 0x75, 0x43, 0x02, 0x69, 0xfc,
+ 0x01, 0x92, 0xc4, 0xbb, 0xd1, 0xd8, 0x0f, 0xc8, 0x12, 0x43,
+ 0x3b, 0x65, 0x28, 0x38, 0xf6, 0x81, 0x1c, 0x23, 0x35, 0x18,
+ 0x59, 0x65, 0xae, 0xd2, 0x78, 0xd0, 0xe9, 0xef, 0x17, 0xa0,
+ 0xe0, 0x77, 0x50, 0xe4, 0x0e, 0xe9, 0xb9, 0x3d, 0x2b, 0x93,
+ 0xcb, 0x4b, 0xd0, 0x7b, 0xc8, 0x66, 0x5a, 0xea, 0x33, 0x29,
+ 0x64, 0xd9, 0x0b, 0xf7, 0xb4, 0xf4, 0x3b, 0x28, 0xc1, 0x66,
+ 0xe6, 0xe5, 0x59, 0x04, 0x93, 0x22, 0x3b, 0xf1, 0xe0, 0x58,
+ 0x85, 0x41, 0xb3, 0x9b, 0x39, 0x94, 0xdf, 0xc6, 0xba, 0x9d,
+ 0x63, 0xcd, 0x30, 0xae, 0x9a, 0x52, 0xd5, 0x0a, 0x53, 0x4c,
+ 0x2b, 0xe1, 0x9c, 0xc4, 0xd3, 0x61, 0x62, 0x5f, 0xc5, 0x4b,
+ 0xee, 0xbc, 0xa9, 0xf0, 0xa4, 0x6f, 0x6e, 0x0c, 0xbe, 0xf2,
+ 0xf9, 0x51, 0x79, 0x04, 0x6b, 0xc0, 0x8d, 0xae, 0x39, 0x5f,
+ 0x46, 0x4f, 0x44, 0x74, 0xb8, 0x49, 0x0c, 0x3e, 0xc5, 0x2c,
+ 0x91, 0x3c, 0x7f, 0x19, 0xc8, 0x0e, 0xcc, 0x0b, 0x84, 0x8b,
+ 0xc4, 0xd3, 0x73, 0x34, 0x88, 0x79, 0x4c, 0x20, 0xdc, 0x8c,
+ 0xea, 0xfb, 0xa0, 0x42, 0x1e, 0x16, 0x34, 0x43, 0x02, 0xb4,
+ 0xc0, 0xb3, 0xb2, 0x9a, 0xd2, 0x68, 0xc6, 0x4a, 0xb7, 0xb6,
+ 0x49, 0x8e, 0x55, 0x77, 0x41, 0x78, 0xda, 0x7a, 0xfe, 0xba,
+ 0x0e, 0xe4, 0x2c, 0xb1, 0x17, 0xf4, 0x57, 0x98, 0x61, 0x34,
+ 0x43, 0xcc, 0x1a, 0xc9, 0xe7, 0x1d, 0x7c, 0xa9, 0x01, 0x8c,
+ 0x69, 0xfe, 0xf6, 0x60, 0xb9, 0x9c, 0xc4, 0xcd, 0x4e, 0x20,
+ 0x27, 0xe0, 0x51, 0x22, 0xd3, 0xa4, 0xe6, 0x0d, 0x5a, 0x62,
+ 0x8c, 0x0a, 0x0e, 0x8a, 0x05, 0x9f, 0x8c, 0xdd, 0xf1, 0x07,
+ 0x38, 0xd3, 0x2f, 0xb1, 0xb2, 0x14, 0x01, 0xd5, 0xc8, 0xf3,
+ 0x8b, 0x0c, 0x3e, 0x47, 0x23, 0x6f, 0xfe, 0x99, 0x98, 0x07,
+ 0xfb, 0x9a, 0x54, 0xa2, 0x89, 0x8b, 0x51, 0x76, 0x29, 0x09,
+ 0xe8, 0x1f, 0xf8, 0x37, 0x2d, 0x46, 0x8a, 0x19, 0x44, 0x6c,
+ 0x54, 0x60, 0x36, 0xb6, 0x72, 0x67, 0xff, 0xe3, 0x14, 0x62,
+ 0x38, 0x45, 0xe5, 0x8c, 0x60, 0xe1, 0x8b, 0x3f, 0x91, 0xc5,
+ 0x2c, 0xbf, 0x2b, 0x28, 0x83, 0xef, 0x06, 0xda, 0x48, 0x17,
+ 0xcf, 0x08, 0x67, 0x76, 0x04, 0x0d, 0xa4, 0x24, 0x26, 0x7c,
+ 0x66, 0xdc, 0xb4, 0xdb, 0x6d, 0x64, 0xd3, 0x73, 0x93, 0x43,
+ 0xd8, 0x9d, 0x8e, 0xfe, 0x8f, 0xcf, 0xb7, 0xa3, 0x80, 0xe9,
+ 0x18, 0xc6, 0xee, 0x82, 0xd6, 0x90, 0x41, 0x42, 0x51, 0xc1,
+ 0x52, 0x92, 0x1a, 0x26, 0x43, 0xf8, 0x28, 0x89, 0xf1, 0x45,
+ 0xb9, 0x73, 0xc3, 0xc6, 0xc8, 0x71, 0x16, 0x2d, 0xab, 0x2b,
+ 0x76, 0x50, 0x41, 0xcc, 0x0f, 0x09, 0xb2, 0x08, 0xe5, 0x44,
+ 0x16, 0xbe, 0xf4, 0x14, 0xa0, 0x96, 0x03, 0x6d, 0x24, 0xea,
+ 0x86, 0x04, 0xd2, 0x3b, 0x02, 0xe7,
+ },
+ {
+ /* 15 */
+ 0xfb, 0xd5, 0x0c, 0x7a, 0xc0, 0x80, 0x96, 0x19, 0x11, 0x87,
+ 0x93, 0x1b, 0xc9, 0xae, 0xb5, 0xfc, 0x08, 0xe0, 0x8c, 0xb2,
+ 0x17, 0x1a, 0xce, 0x7b, 0x32, 0xfc, 0xab, 0xf8, 0xfe, 0xf2,
+ 0x0a, 0xee, 0xcb, 0xd0, 0xa2, 0x50, 0xb2, 0xdc, 0x77, 0xc0,
+ 0xbd, 0xca, 0xef, 0x4e, 0x88, 0xc7, 0x89, 0xdd, 0x41, 0x10,
+ 0x1a, 0x5e, 0x63, 0x42, 0xd6, 0x69, 0xc4, 0x12, 0x3c, 0xd3,
+ 0x93, 0x13, 0xc0, 0x11, 0x38, 0xe5, 0x22, 0x98, 0x65, 0x46,
+ 0x2f, 0xa2, 0x9e, 0xb1, 0xd7, 0xad, 0xbf, 0x9b, 0x36, 0xcf,
+ 0xb3, 0x39, 0x6a, 0x11, 0x6f, 0x4a, 0xe7, 0x3c, 0x70, 0x97,
+ 0x29, 0x2f, 0xcb, 0xc0, 0xef, 0x6e, 0x1f, 0xb7, 0xc2, 0x06,
+ 0x7d, 0x56, 0x4d, 0x08, 0x35, 0x78, 0xfd, 0x96, 0x0f, 0xfe,
+ 0x68, 0x31, 0x88, 0xf8, 0x9b, 0xc3, 0xa4, 0x79, 0x73, 0xc7,
+ 0x94, 0xe7, 0x89, 0xa3, 0xc5, 0x09, 0xaa, 0x16, 0x32, 0x3d,
+ 0x8d, 0xe7, 0x07, 0xbb, 0x33, 0xb7, 0x41, 0x72, 0x26, 0x6b,
+ 0x9f, 0xb4, 0xdf, 0xfb, 0x7c, 0x99, 0x8e, 0x18, 0x37, 0x9b,
+ 0xf7, 0x20, 0xd4, 0x23, 0x72, 0x1d, 0x3c, 0x7e, 0x63, 0xc4,
+ 0x5c, 0x9f, 0xfb, 0x95, 0x6b, 0xf3, 0x49, 0x0f, 0x1c, 0x55,
+ 0x9b, 0x7b, 0x42, 0x30, 0x4b, 0xfa, 0x02, 0x38, 0x23, 0xcd,
+ 0x75, 0xe7, 0xd2, 0x6e, 0xed, 0x3f, 0x5a, 0x3e, 0xde, 0xdd,
+ 0xe3, 0xda, 0xec, 0x82, 0x42, 0xce, 0xaa, 0xcc, 0x15, 0x6a,
+ 0x16, 0x03, 0xc5, 0x75, 0x38, 0xa2, 0xd7, 0x23, 0x12, 0x3b,
+ 0xf8, 0x6a, 0x5b, 0xd3, 0x8d, 0x98, 0x89, 0x04, 0xcf, 0x0d,
+ 0xe1, 0xfa, 0xf7, 0xc5, 0x7b, 0xcd, 0x1b, 0x0b, 0x73, 0xe3,
+ 0x2b, 0xa5, 0xb7, 0x9c, 0xb1, 0x40, 0xf2, 0x55, 0x15, 0x04,
+ 0x5f, 0xbb, 0x28, 0xdf, 0xc5, 0x86, 0xf2, 0x56, 0x66, 0x94,
+ 0xec, 0x5a, 0xf3, 0x62, 0x38, 0x4d, 0xc1, 0x08, 0x0d, 0x2f,
+ 0xd0, 0x21, 0x6b, 0xd5, 0x62, 0x09, 0x1e, 0x88, 0xa8, 0xe8,
+ 0x60, 0xe9, 0x04, 0x70, 0x46, 0x59, 0xea, 0x0d, 0x67, 0xdc,
+ 0x19, 0x7e, 0xb4, 0x7c, 0x7f, 0x79, 0x05, 0x77, 0x76, 0x41,
+ 0x21, 0x67, 0x55, 0x66, 0xeb, 0x35, 0x0b, 0xe0, 0x83, 0xdb,
+ 0x1c, 0x51, 0x8a, 0xf0, 0x6c, 0x9a, 0x55, 0xbf, 0x19, 0xaf,
+ 0xa8, 0xd6, 0xb0, 0x18, 0xe7, 0x2e, 0x03, 0x59, 0x77, 0xdb,
+ 0x26, 0x4e, 0x10, 0x19, 0xc3, 0x82, 0x0b, 0x9d, 0x3c, 0x37,
+ 0x07, 0x24, 0xdf, 0xea, 0xce, 0x93, 0x0f, 0xb4, 0x19, 0xa1,
+ 0x53, 0x62, 0x12, 0xfe, 0x51, 0x43, 0x68, 0xa5, 0x30, 0xd9,
+ 0x7c, 0x2e, 0x0c, 0x90, 0xca, 0xeb, 0xfd, 0x17, 0xa9, 0xa7,
+ 0x2b, 0x82, 0x1f, 0x84, 0x81, 0x8b, 0x0f, 0x99, 0xe0, 0x12,
+ 0x88, 0x25, 0x57, 0xdb, 0xbc, 0xcd, 0x3d, 0x81, 0xda, 0xf1,
+ 0xb9, 0x29, 0xd8, 0xba, 0xe6, 0x5a, 0xed, 0xb1, 0xc8, 0x31,
+ 0x09, 0x7f, 0xc9, 0xc0, 0x34, 0xb3, 0x18, 0x8d, 0x3e, 0x17,
+ 0xd6, 0x5f, 0x43, 0x9b, 0xba, 0x6d, 0xe8, 0xa6, 0x65, 0x8d,
+ 0x48, 0xe6, 0x59, 0xe4, 0x02, 0x36, 0x18, 0xe3, 0x57, 0x15,
+ 0x39, 0x2e, 0x91, 0x8d, 0x56, 0xc7, 0x3e, 0xcb, 0xc1, 0xd5,
+ 0x1e, 0xf1, 0x8e, 0xb0, 0xfe, 0x57, 0x3b, 0x93, 0xc6, 0x75,
+ 0x60, 0xa6, 0x67, 0xe1, 0x64, 0xad, 0x4c, 0xbb, 0x54, 0x7f,
+ 0x77, 0x27, 0x7c, 0xe9, 0x87, 0x74, 0x2e, 0xa9, 0x30, 0x83,
+ 0xbc, 0xc2, 0x41, 0x14, 0xe4, 0x62, 0xce, 0x7c, 0xbd, 0xd6,
+ 0xdb, 0x11, 0x24, 0xff, 0x6e, 0x8d, 0xc6, 0x50, 0xdd, 0xcd,
+ 0xac, 0x8e, 0xa8, 0x17, 0x12, 0x1c, 0xaa, 0x34, 0x45, 0xef,
+ 0xd4, 0xb9, 0xc4, 0x3e, 0x87, 0x5f, 0x69, 0xf6, 0xe3, 0x61,
+ 0x28, 0x30, 0xa6, 0x3d, 0x3e, 0x98, 0x7e, 0x4d, 0x13, 0xaf,
+ 0xe2, 0xc1, 0xee, 0xba, 0x61, 0x03, 0xdf, 0x2b, 0xc7, 0x04,
+ 0xfb, 0x3c, 0x9f, 0x4b, 0xe6, 0x7f, 0x34, 0xf9, 0xd9, 0xeb,
+ 0x5a, 0x3a, 0xe9, 0x0f, 0xfa, 0x58, 0x34, 0xce, 0x20, 0x43,
+ 0x69, 0x3d, 0x7e, 0x18, 0xf7, 0x45, 0xc6, 0x91, 0x3d, 0x97,
+ 0x3f, 0xbe, 0x3a, 0x05, 0x8c, 0x9f, 0x48, 0x25, 0xba, 0x65,
+ 0xb9, 0xe1, 0xc5, 0x6e, 0x0d, 0xb7, 0xfb, 0x29, 0xaf, 0x54,
+ 0xd8, 0xe9, 0xeb, 0xef, 0x06, 0x5a, 0x85, 0x74, 0xa1, 0xaf,
+ 0x82, 0xfc, 0xb3, 0x57, 0x28, 0x9b, 0xbb, 0x38, 0x2b, 0x0d,
+ 0x35, 0xe2, 0x1e, 0xab, 0x32, 0x81, 0xa6, 0xc4, 0x24, 0x3f,
+ 0xa2, 0x86, 0xd0, 0x89, 0x60, 0x71, 0xf8, 0x5c, 0x66, 0x42,
+ 0xfa, 0xc0, 0x7b, 0x52, 0xb4, 0xc3, 0x6f, 0xdb, 0x16, 0xe8,
+ 0x23, 0x76, 0x9e, 0xef, 0x30, 0x05, 0xae, 0x2a, 0x72, 0x5c,
+ 0xe1, 0xd9, 0xac, 0x4d, 0x7c, 0x55, 0x41, 0x69, 0x3c, 0x21,
+ 0xd5, 0x7b, 0x90, 0xd1, 0x14, 0x18, 0x53, 0xff, 0x1f, 0x4c,
+ 0x3f, 0xc7, 0xe8, 0xb6, 0x71, 0x81, 0xa2, 0x26, 0x41, 0x31,
+ 0x9a, 0xec, 0xd1, 0xfd, 0x83, 0x52, 0x91, 0x03, 0x9b, 0x68,
+ 0x6b, 0x1c, 0xfc, 0x81, 0x99, 0x69, 0x84, 0xf8, 0x4a, 0x9c,
+ 0x72, 0x38, 0x50, 0x46, 0x07, 0x85, 0xc3, 0x3c, 0x60, 0x0a,
+ 0x9f, 0x54, 0xe4, 0xb8, 0x01, 0x71, 0x9b, 0x9a, 0xf8, 0xaa,
+ 0x82, 0xd2, 0x78, 0x42, 0xff, 0xa5, 0x4a, 0x23, 0x2a, 0x8d,
+ 0xf1, 0xc5, 0x08, 0xf9, 0x27, 0x67, 0xb6, 0xd7, 0xb0, 0x8b,
+ 0x6e, 0xa2, 0x76, 0x72, 0x6c, 0x48, 0x7a, 0xb8, 0x5d, 0x27,
+ 0xbd, 0x10, 0xdd, 0x84, 0x94, 0x01, 0xea, 0xca, 0x27, 0x5a,
+ 0x35, 0x26, 0xa0, 0xd8, 0xe2, 0x42, 0x2b, 0x37, 0x99, 0x06,
+ 0x31, 0x8e, 0x83, 0x3c, 0xc4, 0x3b, 0x1d, 0x16, 0x06, 0xe5,
+ 0xdc, 0xda, 0x55, 0x7a, 0x8a, 0xa9, 0xd3, 0x4f, 0x15, 0x6f,
+ 0x6d, 0x79, 0x1f, 0xab, 0x51, 0x1d, 0xea, 0xbb, 0x0c, 0x50,
+ 0x2f, 0xd1, 0x81, 0x05, 0xc0, 0x14, 0xfd, 0xa8, 0x0b, 0xb3,
+ 0x02, 0xe2, 0xf5, 0xf7, 0x33, 0x97, 0xc7, 0x67, 0xf0, 0x84,
+ 0xdc, 0x87, 0xec, 0xe4, 0xd8, 0x90, 0xf4, 0xb3, 0xba, 0x4e,
+ 0xb9, 0x20, 0x79, 0xcb, 0xeb, 0x02, 0xb4, 0x6d, 0xff, 0x02,
+ 0x2b, 0x32, 0x3b, 0xb9, 0x13, 0x28, 0xea, 0x72, 0x05, 0xeb,
+ 0x99, 0xae, 0xeb, 0xd6, 0xd7, 0xdd, 0xee, 0xb4, 0xc9, 0xef,
+ 0x75, 0xbc, 0x06, 0x28, 0xf6, 0x89, 0xa1, 0xe3, 0xc8, 0xf4,
+ 0x71, 0x1a, 0x1c, 0xa9, 0xcc, 0x99, 0xc7, 0x0b, 0x98, 0x6f,
+ 0x39, 0x95, 0xfa, 0x6a, 0x84, 0x68, 0x51, 0x28, 0x59, 0x6e,
+ 0xda, 0x60, 0xbf, 0x65, 0x96, 0x27, 0x44, 0x82, 0xa5, 0x8f,
+ 0xe5, 0x7e, 0x3e, 0xfb, 0x66, 0x44, 0xb2, 0x26, 0xb3, 0x01,
+ 0x43, 0x92, 0xa9, 0xdf, 0x4d, 0xa0, 0xa7, 0x4a, 0xf7, 0xef,
+ 0xab, 0x73, 0xdf, 0x16, 0x0d, 0xd2, 0x08, 0x60, 0x8b, 0x9e,
+ 0xfe, 0x06, 0x44, 0x7c, 0xac, 0x80, 0x52, 0xdd, 0xd8, 0x82,
+ 0x4a, 0x92, 0xa5, 0xb0, 0x83, 0xe5, 0x55, 0x0b, 0xba, 0xc5,
+ 0x16, 0x24, 0xa3, 0xc2, 0x40, 0x70, 0xd5, 0x95, 0xaf, 0xc8,
+ 0x5a, 0xbd, 0x75, 0xed, 0x62, 0x32, 0xbc, 0x99, 0x91, 0x5f,
+ 0xd3, 0x1f, 0x76, 0xa5, 0xa2, 0x94, 0x5c, 0x0f, 0x9b, 0x98,
+ 0xf2, 0x29, 0x70, 0x4f, 0x0c, 0x08, 0x31, 0x55, 0xb4, 0x85,
+ 0x15, 0xfc, 0x58, 0xd3, 0x2f, 0x7f, 0x53, 0x2b, 0xe2, 0x34,
+ 0x38, 0x91, 0x5b, 0xf1, 0x4d, 0x16, 0xf3, 0xde, 0x72, 0xe9,
+ 0x37, 0xd4, 0x9a, 0xc3, 0x63, 0xa9, 0xff, 0xaa, 0xfe, 0x5f,
+ 0x1d, 0xe3, 0x46, 0xae, 0x24, 0xf3, 0x5d, 0xd3, 0x10, 0x03,
+ 0xdb, 0xa7, 0x2e, 0x34, 0x5f, 0xf6, 0x64, 0x3b, 0x95, 0x33,
+ 0x3f, 0x27, 0x14, 0x1f, 0x1d, 0x8f, 0xe1, 0xcb, 0x08, 0xb1,
+ 0x9f, 0x66, 0xd8, 0x47, 0xa7, 0xa8, 0xd1, 0x23, 0x8b, 0xeb,
+ 0x0a, 0xd8, 0xaf, 0x7f, 0x62, 0xfd, 0x1c, 0x15, 0xdf, 0xc3,
+ 0xf1, 0xc6, 0x20, 0x2f, 0xe9, 0x34, 0xd3, 0x33, 0xf5, 0x45,
+ 0x8b, 0xf2, 0xe6, 0x4d, 0xeb, 0x0d, 0xd1, 0x85, 0x49, 0x12,
+ 0x97, 0x2c, 0xfd, 0x9d, 0x69, 0xee, 0x5f, 0x6a, 0x23, 0xab,
+ 0xe5, 0xc6, 0x7d, 0x59, 0x68, 0x0a, 0x53, 0x51, 0x73, 0x2d,
+ 0x97, 0xb9, 0x64, 0xf9, 0xe5, 0xde, 0x85, 0x60, 0x1a, 0xb8,
+ 0x0c, 0xa7, 0x1f, 0xea, 0xf1, 0x0d, 0xa3, 0x05, 0xa2, 0x7d,
+ 0x8a, 0x0c, 0xce, 0x44, 0x62, 0xdd, 0xe9, 0x81, 0x5c, 0xc8,
+ 0x4a, 0xd4, 0x45, 0xa6, 0xda, 0x2d, 0xa3, 0x4b, 0x8c, 0x2f,
+ 0xe0, 0x0a, 0xdc, 0xb3, 0xb9, 0x48, 0xa1, 0x02, 0x92, 0x7b,
+ 0x34, 0x99, 0x6a, 0xa4, 0xf9, 0x93, 0xe6, 0x22, 0x2a, 0x3a,
+ 0x18, 0xab, 0xaa, 0xc6, 0xcd, 0x83, 0x8d, 0xf6, 0x1f, 0x86,
+ 0xb1, 0xae, 0x3a, 0xfb, 0x65, 0x9a, 0x61, 0xf2, 0x74, 0x79,
+ 0x02, 0xaa, 0x20, 0x81, 0x39, 0x5b, 0xe6, 0xdf, 0xd9, 0xe5,
+ 0xc2, 0x8c, 0x69, 0x2a, 0x14, 0x73, 0x9d, 0xfe, 0xc4, 0x39,
+ 0x38, 0x2a, 0x7d, 0x45, 0x21, 0x4f, 0x40, 0x5e, 0x11, 0x68,
+ 0x39, 0xf9, 0xd2, 0x1f, 0xbe, 0xd4, 0x46, 0x95, 0x09, 0x4f,
+ 0xfa, 0xb2, 0xd0, 0x14, 0xa6, 0xa2, 0x95, 0x77, 0x7a, 0x08,
+ 0xac, 0xc8, 0xec, 0xa1, 0x4c, 0xa0, 0x2e, 0x0b, 0x14, 0x2a,
+ 0x21, 0xfd, 0x5b, 0xcb, 0x6e, 0x86, 0x2f, 0x8b, 0x95, 0x8a,
+ 0x7f, 0xea, 0x58, 0x26, 0x8c, 0x1b, 0x3d, 0x3a, 0x56, 0x47,
+ 0x54, 0xea, 0x09, 0x0e, 0x55, 0x1a, 0xc3, 0x96, 0x6a, 0xbd,
+ 0x62, 0x1f, 0xa2, 0xce, 0x8a, 0xc0, 0xb8, 0x0e, 0xd1, 0x9e,
+ 0xa1, 0xa9, 0x79, 0xd8, 0xd3, 0x9d, 0x1b, 0xd4, 0x49, 0xcc,
+ 0xdf, 0xa3, 0x3f, 0xae, 0x76, 0xe5, 0x4f, 0xea, 0xc0, 0x8f,
+ 0xce, 0x01, 0xc8, 0x99, 0x98, 0xb5, 0xcd, 0x98, 0xc7, 0xc4,
+ 0x2d, 0x36, 0xc2, 0x72, 0x49, 0x8b, 0x01, 0x0c, 0x29, 0x63,
+ 0x6f, 0x70, 0x51, 0x13, 0xc1, 0xf9, 0x4d, 0x76, 0x89, 0x9f,
+ 0xa0, 0x29, 0xa9, 0xe0, 0xac, 0x34, 0xd4, 0x0e, 0x34, 0x75,
+ 0xe8, 0x73, 0x98, 0x51, 0x86, 0x05, 0xb5, 0x33, 0xc8, 0x29,
+ 0x3e, 0x10, 0x39, 0x56, 0xf6, 0x59, 0x36, 0x16, 0xe6, 0x05,
+ 0x56, 0x89, 0xad, 0xfb, 0xa1, 0x80, 0x27, 0xaa, 0x2a, 0x08,
+ 0x8d, 0x94, 0x2d, 0x1d, 0x95, 0xe6, 0x7d, 0x2c, 0x1a, 0x67,
+ 0x10, 0xc0, 0xd5, 0xff, 0x3f, 0x0c, 0x6a, 0xd2, 0x30, 0x2b,
+ 0x86, 0x45, 0x1d, 0x64, 0x44, 0x59, 0x09, 0x6c, 0xa2, 0xfd,
+ 0x91, 0x76, 0xf3, 0x35, 0x80, 0xc8, 0xd7, 0x9a, 0x58, 0x62,
+ 0x23, 0x7b, 0x38, 0xe3, 0x37, 0x5c, 0xbf, 0x12, 0xf5, 0x7d,
+ 0xe5, 0x5c, 0x48, 0x70, 0xed, 0xd0, 0xd7, 0x3a, 0xd6, 0xa1,
+ 0x96, 0xf8, 0x59, 0xbf, 0x11, 0x1f, 0x2b, 0x20, 0xf5, 0xa6,
+ 0x36, 0xc1, 0xf3, 0xc5, 0xb8, 0x2c, 0x50, 0xa8, 0x84, 0x72,
+ 0x9d, 0x97, 0xf6, 0xba, 0xbb, 0xd2, 0x22, 0xda, 0x7e, 0x5c,
+ 0x85, 0xf3, 0xea, 0xd8, 0x2b, 0x13, 0x75, 0x65, 0xf2, 0x2d,
+ 0xfb, 0x13, 0x50, 0x6c, 0x71, 0x21, 0xf4, 0xfa, 0xad, 0x03,
+ 0xf9, 0x47, 0x19, 0xff, 0xa7, 0x92, 0xe2, 0xbc, 0xf8, 0xba,
+ 0xc1, 0x39, 0x13, 0xd4, 0xae, 0x5a, 0x8e, 0x9c, 0x03, 0x24,
+ 0xd3, 0x4a, 0xae, 0x75, 0xbb, 0x59, 0x7a, 0xc1, 0x77, 0x21,
+ 0xb1, 0x52, 0x73, 0xb7, 0x70, 0x09, 0x44, 0xf3, 0xca, 0x8c,
+ 0x5e, 0x87, 0xff, 0xa1, 0x6d, 0x99, 0xbd, 0xf5, 0x6c, 0x5d,
+ 0x72, 0x31, 0x67, 0x3e, 0xbf, 0x6b, 0x8c, 0xe9, 0x12, 0x9e,
+ 0x37, 0xa7, 0x63, 0x28, 0x8f, 0x87, 0x3a, 0xdd, 0x01, 0x55,
+ 0x10, 0xa1, 0xfd, 0xcc, 0x73, 0x8e, 0x8d, 0x93, 0x61, 0x46,
+ 0xd5, 0x15, 0x8b, 0xdc, 0x48, 0x89, 0x0a, 0x0c, 0xc8, 0x9e,
+ 0xee, 0x26, 0xfe, 0x82, 0x74, 0x5b, 0xd9, 0xa1, 0x33, 0x21,
+ 0x7d, 0x60, 0xdc, 0x29, 0x5a, 0x80, 0xd6, 0x8c, 0x0b, 0x74,
+ 0xf0, 0x3b, 0x4f, 0x96, 0xc6, 0x5c, 0x98, 0x3c, 0x94, 0x59,
+ 0xb7, 0x50, 0x01, 0xb6, 0xdd, 0xd5, 0x66, 0xc3, 0x16, 0x29,
+ 0x2f, 0xb2, 0x6c, 0x2c, 0x0f, 0x0a, 0xac, 0xd1, 0x99, 0x35,
+ 0x81, 0xc3, 0x4e, 0x97, 0x54, 0x10, 0x89, 0xe4, 0x6b, 0x44,
+ 0x7f, 0xeb, 0x1a, 0xf0, 0x03, 0x19, 0xa4, 0xbc, 0xaa, 0x86,
+ 0x3a, 0x7b, 0xbe, 0xb5, 0x50, 0x7d, 0x49, 0xcf, 0x27, 0xac,
+ 0xcc, 0xeb, 0x1b, 0xb4, 0x25, 0xc4, 0x70, 0x9a, 0xce, 0xbc,
+ 0x14, 0x8e, 0x83, 0x43, 0x79, 0x2b, 0x33, 0x4a, 0x76, 0x2d,
+ 0x98, 0x31, 0x1c, 0xc7, 0xc4, 0x64, 0xbb, 0xf1, 0xe1, 0xbe,
+ 0x65, 0x3e, 0xec, 0x89, 0x87, 0xeb, 0xb8, 0x1e, 0xf5, 0xf3,
+ 0xfa, 0xc9, 0xfc, 0xfd, 0x1b, 0x12, 0xff, 0x2e, 0x86, 0x79,
+ 0xbe, 0x04, 0xa6, 0x21, 0x25, 0x91, 0x3b, 0xc1, 0xf1, 0xd2,
+ 0xcb, 0x33, 0x94, 0xfb, 0xe4, 0x70, 0xa0, 0x8c, 0x0e, 0xc9,
+ 0x45, 0x78, 0xdd, 0x9b, 0x1c, 0x63, 0x03, 0x02, 0x9d, 0x84,
+ 0x2d, 0xb0, 0x94, 0x3f, 0x16, 0x44, 0x7b, 0x6f, 0x77, 0x5d,
+ 0xd1, 0xe0, 0x8e, 0xf4, 0x82, 0x02, 0x9c, 0x1e, 0xae, 0xc4,
+ 0x73, 0xde, 0x1a, 0x9d, 0xc5, 0x78, 0x4b, 0x76, 0x3a, 0x2c,
+ 0x0c, 0x09, 0x7b, 0x77, 0xaa, 0xf4, 0xd7, 0x91, 0x65, 0x9e,
+ 0x16, 0x4b, 0xbe, 0x33, 0xb1, 0xde, 0xea, 0x44, 0x90, 0x7a,
+ 0x7b, 0x71, 0x9e, 0x83, 0xf2, 0xb2, 0xa4, 0x6e, 0x24, 0xa5,
+ 0x05, 0x06, 0x64, 0x4f, 0x77, 0x13, 0x7f, 0x41, 0x3a, 0xcc,
+ 0x8d, 0xb1, 0xad, 0x92, 0x58, 0x90, 0xc9, 0x8e, 0xc3, 0x03,
+ 0xd2, 0x11, 0xf9, 0xa6, 0xab, 0xb1, 0x17, 0x32, 0xd8, 0xf7,
+ 0xaa, 0xbd, 0x32, 0x9d, 0x93, 0x6f, 0xa3, 0x30, 0x0d, 0x5c,
+ 0x06, 0xb2, 0xee, 0x75, 0xb7, 0x49, 0x2c, 0x48, 0x85, 0x47,
+ 0x80, 0xe0, 0x69, 0xe9, 0x9d, 0x53, 0xb4, 0xb9, 0xea, 0x19,
+ 0x92, 0x23, 0xef, 0x1b, 0xe8, 0xb0, 0x30, 0x24, 0x2f, 0x1f,
+ 0xed, 0x56, 0xda, 0x01, 0x57, 0x3d, 0x49, 0xf0, 0x96, 0xec,
+ 0x74, 0x58, 0x18, 0x12, 0xf6, 0xee, 0x97, 0x2b, 0x6d, 0xe1,
+ 0xca, 0xff, 0x64, 0x7a, 0xd9, 0x0d, 0x0e, 0xb5, 0x66, 0xad,
+ 0x82, 0xe4, 0x4c, 0xd6, 0xfd, 0xab, 0x7d, 0x35, 0x91, 0x07,
+ 0x3c, 0x51, 0x46, 0xc5, 0x8b, 0x7d, 0x55, 0xde, 0x9a, 0x77,
+ 0x6b, 0x53, 0x24, 0x8a, 0x9c, 0x8b, 0x06, 0x3d, 0x60, 0x40,
+ 0x4b, 0xed, 0xe9, 0xa2, 0xa8, 0xec, 0x85, 0x57, 0xbb, 0x7e,
+ 0x01, 0x1c, 0xf0, 0x87, 0xdb, 0x92, 0x69, 0x37, 0x97, 0xfe,
+ 0x2d, 0x1f, 0x6f, 0x8f, 0x90, 0x6d, 0xe8, 0xf2, 0x04, 0x97,
+ 0x40, 0xc1, 0x72, 0xb6, 0x0f, 0x7d, 0x71, 0x09, 0x47, 0xdb,
+ 0xd2, 0x54, 0xa0, 0x1e, 0x62, 0xfc, 0xef, 0x0b, 0x03, 0x93,
+ 0x6e, 0x6d, 0xcb, 0x3d, 0x45, 0xb5, 0x88, 0xc6, 0xbb, 0xd9,
+ 0xe6, 0xa3, 0x78, 0x50, 0x29, 0x47, 0x42, 0x6b, 0x82, 0xd7,
+ 0x35, 0x32, 0xe5, 0x80, 0xb5, 0x71, 0x0f, 0x85, 0xf0, 0xa0,
+ 0x52, 0x8e, 0x84, 0xd6, 0xc7, 0x6d, 0x6a, 0x64, 0x09, 0xc3,
+ 0x29, 0xfa, 0x09, 0xb8, 0x90, 0xe0, 0x19, 0x63, 0x6d, 0x74,
+ 0x6f, 0x81, 0xef, 0x33, 0xb2, 0xbd, 0xe3, 0x36, 0x5b, 0x6f,
+ 0xf9, 0xae, 0x07, 0x94, 0x47, 0x40, 0xad, 0xd0, 0x08, 0x7b,
+ 0xab, 0x0d, 0x5a, 0xd7, 0x9e, 0x01, 0xf4, 0x19, 0xfc, 0xbd,
+ 0xe8, 0x14, 0x75, 0x39, 0xe3, 0x94, 0xad, 0x57, 0x17, 0x57,
+ 0x4e, 0xb4, 0x6a, 0x4c, 0x83, 0x73, 0x07, 0x84, 0x56, 0x6e,
+ 0xf1, 0x0c, 0x62, 0xdf, 0x63, 0x2e, 0x4c, 0x1e, 0x4a, 0xcd,
+ 0xba, 0x28, 0xe1, 0x5b, 0x8f, 0x8b, 0x33, 0x80, 0x0b, 0xf5,
+ 0x25, 0x6a, 0xc3, 0x53, 0x6d, 0xf7, 0xb0, 0xc4, 0x46, 0xf6,
+ 0x70, 0x05, 0x6e, 0xb8, 0xbd, 0x24, 0x7d, 0x85, 0x7e, 0x9f,
+ 0xec, 0x09, 0x9e, 0x17, 0x43, 0xdd, 0x5f, 0x02, 0x53, 0xf1,
+ 0xf3, 0xa9, 0x20, 0x06, 0x75, 0x8d, 0x5c, 0x68, 0xbe, 0x2f,
+ 0xc8, 0x76, 0xe9, 0x66, 0x7e, 0x4e, 0x28, 0x3e, 0x13, 0x27,
+ 0x08, 0xed, 0x80, 0x41, 0xe4, 0xaf, 0x1e, 0xfa, 0xe2, 0x12,
+ 0x8e, 0x75, 0x67, 0xa8, 0x0e, 0xa8, 0xe9, 0x26, 0x88, 0xf0,
+ 0x7b, 0xc9, 0xc6, 0xbd, 0x45, 0xba, 0x5f, 0x56, 0xec, 0x43,
+ 0x9f, 0xaf, 0xd5, 0x77, 0xce, 0x35, 0xf0, 0xb4, 0x93, 0x63,
+ 0xdf, 0xcd, 0x34, 0x05, 0xc8, 0xc9, 0xe1, 0x0e, 0x78, 0xa2,
+ 0x8c, 0x49, 0xd5, 0xfa, 0xaa, 0x7f, 0xf7, 0xee, 0xd6, 0xa6,
+ 0x48, 0xd7, 0x55, 0x63, 0x87, 0xa0, 0xa7, 0x7b, 0xee, 0x43,
+ 0xb9, 0x57, 0x1d, 0x9c, 0xd3, 0x4d, 0xd1, 0x79, 0x8f, 0xac,
+ 0x0e, 0xd0, 0xe0, 0x01, 0xaf, 0x42, 0xf7, 0x58, 0x4a, 0xfe,
+ 0x0b, 0x22, 0xdc, 0xd6, 0xd1, 0x0b, 0xd6, 0x88, 0xfe, 0x15,
+ 0x34, 0x23, 0x06, 0x32, 0x8b, 0xbb, 0x97, 0xcf, 0x74, 0xf6,
+ 0x40, 0x0c, 0xea, 0xd9, 0xb8, 0xd0, 0xbf, 0x5e, 0x53, 0xec,
+ 0x11, 0xcc, 0xfc, 0x9c, 0x50, 0x7c, 0x82, 0x20, 0x34, 0xbc,
+ 0xc6, 0x84, 0x6f, 0xd2, 0x4b, 0x24, 0x78, 0x65, 0xe5, 0x26,
+ 0x43, 0x22, 0x52, 0x37, 0x12, 0xb3, 0xe3, 0x03, 0x32, 0xc6,
+ 0xda, 0xe8, 0xde, 0xc1, 0x1d, 0x66, 0xa7, 0xb9, 0xb2, 0x25,
+ 0x9a, 0x96, 0xb4, 0xd8, 0x8e, 0x0b, 0xe7, 0x69, 0x04, 0x30,
+ 0xa4, 0x4f, 0x7f, 0x03, 0x59, 0xf3, 0x4d, 0x4b, 0x5a, 0x6c,
+ 0x47, 0xe4, 0x92, 0xd5, 0x02, 0x18, 0x52, 0xc6, 0xde, 0xe0,
+ 0x3f, 0xb1, 0xb7, 0x8b, 0x21, 0x3e, 0xf3, 0x27, 0xfd, 0x0e,
+ 0x14, 0xf0, 0x71, 0xb0, 0x40, 0x0f, 0xd4, 0x67, 0x60, 0x56,
+ 0xcf, 0x8a, 0x3a, 0xc8, 0x88, 0xb2, 0x12, 0xd8, 0x87, 0x39,
+ 0xe1, 0xec, 0x79, 0xf5, 0x38, 0xc6, 0x06, 0x04, 0xf9, 0xcb,
+ 0x5a, 0xa3, 0xeb, 0x7e, 0x2c, 0x88, 0xf6, 0xde, 0xe7, 0x46,
+ 0x1d, 0x36, 0x13, 0xa3, 0x60, 0x48, 0x5e, 0x3e, 0x19, 0xac,
+ 0x77, 0x02, 0xae, 0x7a, 0xef, 0xa6, 0x91, 0x84, 0x04, 0xb9,
+ 0xae, 0x33, 0x6c, 0xc2, 0xb2, 0x54, 0x89, 0xf0, 0xa4, 0x94,
+ 0xca, 0xcc, 0x52, 0xd7, 0x69, 0x4e, 0x1e, 0xf7, 0x2a, 0x34,
+ 0xc2, 0x51, 0xe7, 0x48, 0x19, 0xb0, 0x47, 0x58, 0x7f, 0xca,
+ 0xfc, 0xa8, 0x63, 0xdb, 0x30, 0x53, 0xd2, 0x91, 0x32, 0xb7,
+ 0x26, 0xbc, 0xa5, 0x72, 0xd4, 0x22, 0xde, 0x94, 0x0d, 0x78,
+ 0xe0, 0xed, 0x52, 0x5e, 0x55, 0x43, 0x1d, 0xdc, 0xaf, 0xaa,
+ 0x7b, 0x5d, 0xbc, 0x69, 0x11, 0x6d, 0x3f, 0x2e, 0xa3, 0x98,
+ 0x75, 0x6c, 0xf4, 0xe8, 0xa8, 0xfe, 0xee, 0x4e, 0xf8, 0x11,
+ 0xcd, 0xe8, 0x5c, 0x91, 0x60, 0xc5, 0xbb, 0x47, 0x82, 0x28,
+ 0x93, 0x3f, 0x1f, 0x9c, 0x33, 0x22, 0x59, 0x13, 0xb8, 0xe1,
+ 0xc0, 0x49, 0xb5, 0x8e, 0xc7, 0x50, 0xed, 0x9e, 0xb2, 0x49,
+ 0x71, 0x5e, 0x7c, 0x5d, 0x81, 0xfd, 0xe8, 0x6a, 0x57, 0x2d,
+ 0x47, 0x4e, 0xc3, 0x30, 0x2e, 0xe2, 0xa5, 0xc6, 0xb9, 0xbb,
+ 0x8f, 0x36, 0x44, 0xb6, 0x76, 0x35, 0x83, 0x33, 0x2a, 0xde,
+ 0xda, 0xf2, 0x3e, 0x95, 0xa2, 0x3a, 0x17, 0xb5, 0x18, 0xa0,
+ 0x5e, 0x61, 0xc1, 0x0a, 0x96, 0x53, 0xa9, 0x42, 0x02, 0xbd,
+ 0x57, 0xf8, 0x36, 0x61, 0x59, 0x2a, 0xa5, 0x78, 0x52, 0x4a,
+ 0x2c, 0x96, 0xbf, 0x66, 0xa1, 0x7f, 0x17, 0x88, 0xe3, 0xf4,
+ 0xf6, 0xe2, 0xff, 0xc5, 0x27, 0xa7, 0x5d, 0x83, 0x0b, 0x12,
+ 0xb0, 0x61, 0x20, 0x38, 0x8b, 0xab, 0xb6, 0x64, 0x2d, 0xbf,
+ 0xdb, 0x97, 0xe2, 0x2a, 0xab, 0xe8, 0x22, 0x3c, 0x6e, 0xa3,
+ 0xd0, 0xbe, 0x80, 0xcf, 0x67, 0xf4, 0x3b, 0x60, 0x7f, 0xbd,
+ 0x5d, 0x52, 0x99, 0xee, 0x4c, 0x79, 0xae, 0xe2, 0x05, 0x3c,
+ 0x8d, 0x2c, 0x10, 0x73, 0x7e, 0xa1, 0xad, 0xd5, 0x42, 0x7c,
+ 0x25, 0x4e, 0x39, 0x1c, 0x28, 0x23, 0xe2, 0xa3, 0x80, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xad, 0x47, 0x0c,
+ 0xfa, 0xac, 0x9a, 0x10, 0x6a, 0xf0, 0x39, 0xef, 0x1e, 0x3f,
+ 0xd0, 0x62, 0xc7, 0x40, 0x68, 0xbb, 0x4f, 0xcb, 0xde, 0x67,
+ 0x96, 0x48, 0xf0, 0xca, 0x09, 0x4c, 0x86, 0x44, 0x05, 0x6c,
+ 0xb6, 0xde, 0x31, 0x9f, 0x0e, 0xeb, 0x8e, 0x80, 0x99, 0x63,
+ 0x10, 0xf6, 0x95, 0x1a, 0x3c, 0x95, 0x64, 0xc1, 0x8f, 0x4b,
+ 0x48, 0x7e, 0x87, 0xcf, 0x63, 0xd1, 0xc0, 0xe2, 0x33, 0xb8,
+ 0x87, 0x4c, 0x82, 0x62, 0xf7, 0x1b, 0x61, 0x39, 0xc5, 0xa4,
+ 0xe1, 0x06, 0xf5, 0xd0, 0xd6, 0x38, 0x67, 0x5e, 0x0a, 0x47,
+ 0xa0, 0xc0, 0xdd, 0xf4, 0xf8, 0x25, 0x3b, 0xf7, 0x4c, 0xf9,
+ 0x0e, 0x82, 0x99, 0xe7, 0xb0, 0xe3, 0x51, 0xdf, 0x45, 0x06,
+ 0x67, 0x22, 0x31, 0x8f, 0x95, 0xa1, 0x2e, 0x64, 0xab, 0xda,
+ 0x3d, 0x04, 0x56, 0x64, 0x76, 0xb1, 0x26, 0x50, 0x17, 0xe4,
+ 0x0a, 0x15, 0xf1, 0x9f, 0xf9, 0xed, 0x2f, 0xb7, 0xb5, 0x67,
+ 0x44, 0x77, 0xfc, 0xb8, 0xc9, 0x25, 0x17, 0x73, 0x56, 0x26,
+ 0xd2, 0x2f, 0x05, 0xc2, 0x50, 0x60, 0x8f, 0x7a, 0x7c, 0xf3,
+ 0xfc, 0x9a, 0x26, 0x9d, 0x07, 0x41, 0x06, 0x48, 0x65, 0x94,
+ 0x9f, 0xea, 0xb5, 0xb2, 0xf4, 0x41, 0xee, 0x42, 0xa1, 0xa4,
+ 0xe6, 0xad, 0xa9, 0xe2, 0x1e, 0xc9, 0x23, 0x83, 0xa4, 0xdf,
+ 0xcb, 0x6f, 0x4d, 0xda, 0xd4, 0xc8, 0x12, 0x45, 0x1b, 0xc7,
+ 0x84, 0x5f, 0x97, 0x5b, 0x2a, 0xd4, 0x2c, 0x06, 0x49, 0xea,
+ 0x70, 0x87, 0x6d, 0x46, 0x48, 0xec, 0x66, 0x6b, 0xaf, 0xca,
+ 0x71, 0x25, 0x61, 0x10, 0xba, 0x34, 0x02, 0x6e, 0x5a, 0x92,
+ 0x97, 0x4f, 0x59, 0xc5, 0xd9, 0x2f, 0x3e, 0xcf, 0xa1, 0x9f,
+ 0x74, 0x35, 0xca, 0xf7, 0xc2, 0x27, 0xc2, 0x2c, 0xde, 0x65,
+ 0x7e, 0x54, 0xd0, 0x8c, 0x18, 0xc8, 0x69, 0xa9, 0x19, 0xba,
+ 0x13, 0x5e, 0x86, 0x50, 0x72, 0xe5, 0x2c, 0x89, 0x08, 0x0e,
+ 0x52, 0x5a, 0xcc, 0x19, 0x9a, 0x5f, 0x46, 0x55, 0x61, 0x16,
+ 0x6f, 0xd3, 0x3f, 0x2a, 0x68, 0x46, 0x0c, 0x64, 0xd5, 0xb5,
+ 0xed, 0x5d, 0xe8, 0x2f, 0x36, 0x4d, 0xcb, 0xbe, 0xed, 0xb6,
+ 0x54, 0x6b, 0x58, 0x0c, 0x92, 0x17, 0xe0, 0xcd, 0xda, 0x8c,
+ 0x57, 0x5b, 0xa4, 0x6d, 0xd2, 0x9c, 0x3c, 0x2d, 0x54, 0x68,
+ 0x47, 0xa2, 0x0d, 0x90, 0x32, 0xa3, 0xf0, 0x11, 0x53, 0x82,
+ 0x79, 0xef, 0xe3, 0x3b, 0x59, 0xba, 0x4f, 0xc2, 0x86, 0x0e,
+ 0xcc, 0xa5, 0x2e, 0xae, 0x9c, 0xab, 0xd4, 0x98, 0xc5, 0xe6,
+ 0x0e, 0xcb, 0xac, 0xdc, 0x21, 0x18, 0xc4, 0x7d, 0x7a, 0xd1,
+ 0xeb, 0x8c, 0xa8, 0x71, 0x42, 0x92, 0x20, 0x62, 0x9c, 0x5f,
+ 0x9d, 0xda, 0x85, 0x69, 0x3d, 0x89, 0x94, 0x46, 0x54, 0xd9,
+ 0x21, 0x49, 0x10, 0x31, 0x4e, 0xce, 0xaf, 0x6d, 0xa3, 0xd5,
+ 0x81, 0x04, 0xe7, 0xf6, 0x68, 0xf1, 0xd4, 0x8b, 0x31, 0xe5,
+ 0x0f, 0x44, 0x54, 0x74, 0x30, 0x95, 0x35, 0x69, 0x18, 0xf4,
+ 0x43, 0xc3, 0xef, 0x32, 0x22, 0xcd, 0xe5, 0x36, 0x51, 0x9f,
+ 0xa9, 0x3b, 0xc9, 0xe8, 0x81, 0x9d, 0xc7, 0x3b, 0xa5, 0xae,
+ 0x50, 0xf5, 0xb5, 0x70, 0x56, 0x1a, 0x6a, 0x07, 0x65, 0x66,
+ 0x29, 0x8a, 0xd5, 0x27, 0x0f, 0x9a, 0x15, 0x1a, 0x61, 0xc9,
+ 0x92, 0x24, 0xed, 0x58, 0x78, 0xe9, 0xc8, 0x41, 0xdd, 0x96,
+ 0x90, 0xfc, 0xcd, 0x5d, 0xc6, 0x61, 0x43, 0x07, 0x66, 0xb3,
+ 0xbc, 0x8d, 0x73, 0xb0, 0x3c, 0x28, 0xf5, 0xc2, 0x21, 0xd4,
+ 0x41, 0x8a, 0xfb, 0x19, 0x93, 0x40, 0x1c, 0x93, 0x11, 0x4c,
+ 0xd3, 0x23, 0xf6, 0x51, 0x4f, 0xb9, 0x8a, 0xb7, 0xbe, 0xac,
+ 0x1b, 0x86, 0x68, 0xea, 0x13, 0xe6, 0xf3, 0xa2, 0xcf, 0x0a,
+ 0xa9, 0x66, 0x53, 0x52, 0x7c, 0x20, 0x72, 0xac, 0xcc, 0x84,
+ 0x37, 0x43, 0xf6, 0xa4, 0xab, 0x45, 0xde, 0x75, 0x2c, 0x13,
+ 0x46, 0xec, 0xff, 0x1d, 0xbf, 0xa9, 0xa0, 0xfa, 0x92, 0x5d,
+ 0x4e, 0x9b, 0x5b, 0x15, 0x36, 0xab, 0x4a, 0x4b, 0xe0, 0xf7,
+ 0x71, 0x15, 0xb4, 0x74, 0x11, 0x1e, 0x37, 0xb0, 0x68, 0x5f,
+ 0x40, 0x86, 0xd2, 0x7a, 0xfc, 0x30, 0xb8, 0xfd, 0x35, 0xe9,
+ 0xd6, 0x25, 0x92, 0x1e, 0x38, 0xaa, 0xf5, 0xf6, 0x84, 0x60,
+ 0x96, 0x37, 0xa6, 0x56, 0x07, 0x68, 0x70, 0xe1, 0xb6, 0x21,
+ 0x9a, 0x2c, 0x25, 0x7f, 0xe4, 0x11, 0x6e, 0x6b, 0x22, 0x3e,
+ 0x56, 0x40, 0x29, 0x8f, 0x6c, 0x41, 0x25, 0x49, 0xb3, 0x58,
+ 0xa0, 0x93, 0xcb, 0xe4, 0x4d, 0x80, 0xd0, 0xb5, 0x9e, 0x55,
+ 0x7f, 0xce, 0xef, 0x90, 0x23, 0x57, 0x12, 0x98, 0xcf, 0x88,
+ 0xb0, 0x1d, 0xb9, 0x5b, 0xc1, 0x3f, 0x5c, 0x65, 0x0a, 0x56,
+ 0x5e, 0x0e, 0x7a, 0x92, 0x9c, 0xd9, 0x90, 0x1b, 0xcc, 0xd6,
+ 0x9d, 0x57, 0xe2, 0x4a, 0xc2, 0x20, 0xb7, 0x68, 0x04, 0xdc,
+ 0xb4, 0xe7, 0x23, 0x22, 0xa6, 0xc7, 0xf2, 0x1d, 0x05, 0x76,
+ 0xb2, 0xb7, 0x9e, 0x47, 0xcf, 0x1c, 0x5b, 0x89, 0x37, 0x51,
+ 0x3b, 0x39, 0x36, 0x24, 0x3d, 0x5c, 0xcf, 0xf2, 0xbf, 0x08,
+ 0x8f, 0x42, 0x4a, 0xe1, 0x6b, 0xce, 0xc0, 0xac, 0x5d, 0xd7,
+ 0x74, 0x53, 0xd3, 0xa7, 0x24, 0x73, 0xcd, 0x72, 0x01, 0x1b,
+ 0x09, 0xfc, 0x7c, 0x35, 0xcc, 0x88, 0xa7, 0x4c, 0xa5, 0x02,
+ 0x86, 0xe7, 0x91, 0x7d, 0x9a, 0x83, 0x24, 0x76, 0x33, 0xd4,
+ 0xb6, 0x65, 0xd9, 0xf3, 0xd1, 0x08, 0x5d, 0x1a, 0x01, 0x37,
+ 0x2d, 0x49, 0x31, 0x19, 0x5e, 0xad, 0xa9, 0xce, 0x88, 0xee,
+ 0x3b, 0xb3, 0x51, 0x4a, 0x2e, 0xe6, 0xac, 0x4c, 0x4e, 0xa4,
+ 0x03, 0xff, 0x30, 0x20, 0xc4, 0x97, 0x95, 0x51, 0x54, 0x76,
+ 0xa3, 0xca, 0xbc, 0x3f, 0x80, 0x18, 0x17, 0x71, 0xb3, 0x63,
+ 0xbd, 0xbc, 0xa6, 0x1b, 0x22, 0x5b, 0x3b, 0xfb, 0xa0, 0xf8,
+ 0x27, 0x52, 0xe0, 0x9e, 0x18, 0x10, 0x62, 0xaa, 0xab, 0xc9,
+ 0x2a, 0x3b, 0xb0, 0x65, 0x5e, 0xfe, 0x58, 0xef, 0xbd, 0xcc,
+ 0x81, 0xfe, 0x2e, 0xd3, 0x05, 0x2b, 0x2f, 0x07, 0x3d, 0x49,
+ 0x4e, 0x8d, 0x21, 0x1a, 0x85, 0x0a, 0x87, 0xfa, 0xd7, 0x18,
+ 0x5f, 0x88, 0xc4, 0x79, 0x11, 0xc1, 0xb8, 0x53, 0xcf, 0xa0,
+ 0xe4, 0x09, 0x58, 0xd1, 0x10, 0x1c, 0xa4, 0xb4, 0x5b, 0x32,
+ 0xf7, 0xbe, 0x8c, 0xaa, 0x94, 0x6b, 0x8a, 0x8f, 0x77, 0x5a,
+ 0x85, 0x96, 0xdb, 0x5e, 0x03, 0x14, 0x7b, 0xa5, 0xb1, 0x90,
+ 0x2d, 0x8a, 0x4f, 0xe1, 0x7a, 0xed, 0x7e, 0xbf, 0x74, 0x0a,
+ 0xdb, 0xfd, 0x90, 0x4a, 0xb7, 0xca, 0xde, 0xbf, 0xcf, 0x29,
+ 0xad, 0x77, 0x26, 0xdd, 0x57, 0x71, 0xe3, 0x1e, 0xa7, 0x16,
+ 0x08, 0xd8, 0xae, 0xb6, 0x8b, 0xda, 0x67, 0xfb, 0x78, 0x5a,
+ 0xa8, 0xd0, 0x8e, 0x87, 0x1a, 0xe3, 0x64, 0x85, 0x8c, 0x88,
+ 0xdd, 0x9a, 0x4e, 0x74, 0x14, 0x1b, 0x8d, 0x99, 0x3d, 0xdf,
+ 0xba, 0x70, 0xaf, 0x61, 0x5e, 0xa7, 0xd8, 0x58, 0x1e, 0x14,
+ 0x9b, 0x61, 0xf1, 0x6a, 0xc1, 0x45, 0x9c, 0xed, 0xa8, 0x20,
+ 0xa3, 0x3a, 0xb1, 0xb6, 0x41, 0x7e, 0xb8, 0xca, 0x14, 0xac,
+ 0xbc, 0x1c, 0xf4, 0xe7, 0xfb, 0x71, 0x2b, 0xc2, 0x2a, 0x75,
+ 0xe5, 0x07, 0xcb, 0x0d, 0x80, 0x4b, 0x35, 0xbf, 0x31, 0xee,
+ 0x51, 0x67, 0x9e, 0xb3, 0x25, 0xf0, 0x15, 0xa7, 0x99, 0x83,
+ 0x04, 0x9d, 0xf2, 0xd2, 0x5b, 0x8a, 0x58, 0xa4, 0xbd, 0x91,
+ 0x83, 0x37, 0xe7, 0xba, 0x9c, 0xf5, 0xb6, 0x2a, 0x6c, 0x95,
+ 0x94, 0x96, 0x03, 0x2d, 0x1a, 0xdb, 0x74, 0xd8, 0x4c, 0xc9,
+ 0x43, 0xe3, 0xbb, 0xf8, 0x64, 0xf5, 0x1f, 0x08, 0xfd, 0x2b,
+ 0x98, 0xfb, 0x40, 0x64, 0x8a, 0x4d, 0x2c, 0x31, 0xf0, 0xdc,
+ 0x1c, 0x90, 0xfa, 0x2e, 0xbe, 0x09, 0xd7, 0x43, 0xb3, 0x1c,
+ 0x61, 0xff, 0x81, 0x91, 0xf2, 0x73, 0x65, 0xf9, 0x36, 0x6b,
+ 0x92, 0x5b, 0x43, 0x28, 0x39, 0x93, 0x16, 0xa5, 0x04, 0x07,
+ 0x29, 0x2d, 0x66, 0xed, 0x4d, 0xce, 0x23, 0xcb, 0xd0, 0x17,
+ 0x26, 0x0f, 0x25, 0x87, 0x5d, 0x14, 0x91, 0xcc, 0xa6, 0xa4,
+ 0xf8, 0x40, 0xe4, 0x9b, 0x4b, 0xc8, 0xb5, 0x21, 0x01, 0xbf,
+ 0xca, 0x7c, 0x1b, 0xd1, 0xcd, 0x15, 0xb3, 0x3c, 0x29, 0x25,
+ 0x28, 0xe6, 0xf9, 0x3f, 0x4b, 0x72, 0x70, 0x54, 0xfa, 0x8a,
+ 0x42, 0x9e, 0x80, 0xbc, 0x22, 0xd0, 0x9b, 0xdf, 0x93, 0x2e,
+ 0x24, 0x38, 0x97, 0x68, 0x8a, 0x1d, 0x6b, 0xb1, 0x4b, 0x7c,
+ 0xcd, 0xbe, 0x4c, 0x9c, 0x20, 0x32, 0x45, 0xc7, 0x16, 0xf9,
+ 0x78, 0x6e, 0x0e, 0x48, 0x7d, 0x17, 0x5f, 0xe5, 0x6f, 0xbe,
+ 0x86, 0xf5, 0xb7, 0xda, 0x13, 0x8f, 0xca, 0xd9, 0x90, 0x0f,
+ 0xb2, 0x0b, 0x04, 0x6c, 0x4f, 0xb8, 0xf3, 0x78, 0xeb, 0xb2,
+ 0xad, 0xa0, 0x02, 0xaf, 0x79, 0x69, 0xcc, 0x45, 0x2c, 0x52,
+ 0x0b, 0xc4, 0x5f, 0xf8, 0xb9, 0x6f, 0x75, 0x22, 0x48, 0x3d,
+ 0xdc, 0xd9, 0x4f, 0xa0, 0x79, 0x59, 0x42, 0x34, 0xc9, 0x14,
+ 0xcd, 0x37, 0x6d, 0x30, 0xbe, 0xd3, 0x4b, 0xf2, 0x22, 0x41,
+ 0xb3, 0xa6, 0xb6, 0x55, 0xdc, 0xcf, 0x5e, 0xd5, 0xe9, 0xd7,
+ 0xfe, 0x17, 0xb0, 0x4c, 0xdb, 0x36, 0x7a, 0x74, 0xf4, 0x61,
+ 0x15, 0xdb, 0x93, 0xe2, 0x84, 0xe7, 0x40, 0xc4, 0xfb, 0xbe,
+ 0xf9, 0x77, 0xc9, 0xd2, 0xfe, 0xb9, 0xba, 0xa4, 0xf1, 0x1f,
+ 0x98, 0xf2, 0x9f, 0x07, 0x0a, 0x78, 0xd9, 0x58, 0x20, 0xe6,
+ 0x0d, 0x8c, 0x3a, 0x6c, 0x26, 0x85, 0xc0, 0x90, 0xbc, 0x7c,
+ 0x32, 0x9b, 0xee, 0x04, 0x9f, 0xf4, 0xb1, 0x01, 0x49, 0xdc,
+ 0x1a, 0xad, 0x35, 0x52, 0x9d, 0xa8, 0x73, 0x11, 0x15, 0x1d,
+ 0x0c, 0xb4, 0x07, 0x54, 0x95, 0x13, 0x44, 0x78, 0xdc, 0x85,
+ 0x63, 0xbf, 0xc3, 0x5d, 0xce, 0x2b, 0x76, 0xc0, 0x46, 0x44,
+ 0x8f, 0x4d, 0x27, 0x3a, 0x0a, 0xec, 0xa7, 0xad, 0xff, 0x8e,
+ 0x5d, 0x38, 0xb6, 0xd1, 0x45, 0x60, 0x5c, 0x07, 0x89, 0x4f,
+ 0xb1, 0xb5, 0xdd, 0x6c, 0x88, 0xaf, 0xec, 0x6a, 0xc5, 0x66,
+ 0xda, 0xcf, 0x89, 0x70, 0x47, 0x7a, 0x41, 0x01, 0x4e, 0x0f,
+ 0x57, 0x62, 0xd8, 0x6f, 0x0d, 0xaf, 0xdb, 0xd3, 0x79, 0xf7,
+ 0x9c, 0xe8, 0x28, 0x36, 0xd9, 0xf1, 0x7a, 0x7d, 0xb7, 0xe0,
+ 0x9d, 0xc2, 0xe9, 0xee, 0xf4, 0x10, 0x9b, 0x53, 0x1b, 0x81,
+ 0x98, 0x83, 0x5c, 0x16, 0x28, 0x54, 0x42, 0x39, 0xf8, 0xf1,
+ 0xdf, 0x30, 0x6e, 0xf5, 0x2d, 0x40, 0x6b, 0x46, 0xe4, 0x3a,
+ 0x78, 0xfc, 0xc6, 0x4b, 0x50, 0x0f, 0x31, 0x7e, 0x96, 0xe4,
+ 0xe0, 0xa8, 0x37, 0xd7, 0x84, 0xff, 0xc3, 0xbb, 0x44, 0x63,
+ 0x6d, 0x86, 0xa5, 0x38, 0xc2, 0x3d, 0xc1, 0xe1, 0x27, 0xe6,
+ 0xca, 0x31, 0x6c, 0xd6, 0xe7, 0xb6,
+ },
};
static const uint8_t kuz_table_inv[16][256 * 16] = {
- { /* 0 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x94, 0x84, 0xdd, 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c,
- 0x72, 0x76, 0xa2, 0x6e,
- 0x02, 0xeb, 0xcb, 0x79, 0x20, 0xb9, 0x4e, 0xba, 0xb3, 0xf4, 0x90, 0xd8,
- 0xe4, 0xec, 0x87, 0xdc,
- 0x03, 0x7f, 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b, 0x8e, 0xd8, 0xb4,
- 0x96, 0x9a, 0x25, 0xb2,
- 0x04, 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c, 0xb7, 0xa5, 0x2b, 0xe3, 0x73,
- 0x0b, 0x1b, 0xcd, 0x7b,
- 0x05, 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51, 0xab, 0x1f,
- 0x79, 0x6d, 0x6f, 0x15,
- 0x06, 0xfe, 0x9e, 0x8b, 0x60, 0x08, 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab,
- 0xef, 0xf7, 0x4a, 0xa7,
- 0x07, 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50, 0xae, 0xa5, 0x3b, 0xc7,
- 0x9d, 0x81, 0xe8, 0xc9,
- 0x08, 0x2a, 0xaa, 0x27, 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6,
- 0x16, 0x36, 0x59, 0xf6,
- 0x09, 0xbe, 0x2e, 0xfa, 0x90, 0x1c, 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a,
- 0x64, 0x40, 0xfb, 0x98,
- 0x0a, 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2, 0x95, 0x3e,
- 0xf2, 0xda, 0xde, 0x2a,
- 0x0b, 0x55, 0xe5, 0x83, 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52,
- 0x80, 0xac, 0x7c, 0x44,
- 0x0c, 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c, 0x7d, 0xe6, 0x95,
- 0x1d, 0x2d, 0x94, 0x8d,
- 0x0d, 0xab, 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94, 0x07, 0xae, 0xf9,
- 0x6f, 0x5b, 0x36, 0xe3,
- 0x0e, 0xd4, 0x34, 0xac, 0xe0, 0xa9, 0x29, 0xa0, 0x9f, 0x89, 0x76, 0x4d,
- 0xf9, 0xc1, 0x13, 0x51,
- 0x0f, 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27, 0xf3, 0x3e, 0x21,
- 0x8b, 0xb7, 0xb1, 0x3f,
- 0x10, 0x54, 0x97, 0x4e, 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f,
- 0x2c, 0x6c, 0xb2, 0x2f,
- 0x11, 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12, 0xc4, 0x69, 0xd6, 0x42, 0x63,
- 0x5e, 0x1a, 0x10, 0x41,
- 0x12, 0xbf, 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a, 0xd7,
- 0xc8, 0x80, 0x35, 0xf3,
- 0x13, 0x2b, 0xd8, 0xea, 0xf3, 0x85, 0x5c, 0x7e, 0xda, 0x22, 0xd2, 0xbb,
- 0xba, 0xf6, 0x97, 0x9d,
- 0x14, 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74, 0x87, 0xe9, 0x7c,
- 0x27, 0x77, 0x7f, 0x54,
- 0x15, 0xd5, 0x46, 0x61, 0x93, 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10,
- 0x55, 0x01, 0xdd, 0x3a,
- 0x16, 0xaa, 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7, 0x73, 0x79, 0xa4,
- 0xc3, 0x9b, 0xf8, 0x88,
- 0x17, 0x3e, 0x8d, 0x18, 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8,
- 0xb1, 0xed, 0x5a, 0xe6,
- 0x18, 0x7e, 0x3d, 0x69, 0x43, 0x20, 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9,
- 0x3a, 0x5a, 0xeb, 0xd9,
- 0x19, 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9, 0x69, 0xe0, 0x80, 0x47, 0x85,
- 0x48, 0x2c, 0x49, 0xb7,
- 0x1a, 0x95, 0xf6, 0x10, 0x63, 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31,
- 0xde, 0xb6, 0x6c, 0x05,
- 0x1b, 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3, 0x53, 0x74, 0xd7, 0x5d,
- 0xac, 0xc0, 0xce, 0x6b,
- 0x1c, 0x6b, 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec, 0x9a,
- 0x31, 0x41, 0x26, 0xa2,
- 0x1d, 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75, 0xde, 0x45, 0xab, 0xa4, 0xf6,
- 0x43, 0x37, 0x84, 0xcc,
- 0x1e, 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25, 0x7c, 0x42,
- 0xd5, 0xad, 0xa1, 0x7e,
- 0x1f, 0x14, 0x27, 0x3f, 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e,
- 0xa7, 0xdb, 0x03, 0x10,
- 0x20, 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a, 0xf1, 0x61, 0x9b, 0x14, 0x1e,
- 0x58, 0xd8, 0xa7, 0x5e,
- 0x21, 0x3c, 0x69, 0x41, 0x55, 0x7c, 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72,
- 0x2a, 0xae, 0x05, 0x30,
- 0x22, 0x43, 0x26, 0xe5, 0x65, 0x78, 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6,
- 0xbc, 0x34, 0x20, 0x82,
- 0x23, 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15, 0xcc, 0xaa,
- 0xce, 0x42, 0x82, 0xec,
- 0x24, 0xbd, 0xb8, 0x6e, 0x05, 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d,
- 0x53, 0xc3, 0x6a, 0x25,
- 0x25, 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b, 0x7c, 0xca, 0xbf, 0x01,
- 0x21, 0xb5, 0xc8, 0x4b,
- 0x26, 0x56, 0x73, 0x17, 0x25, 0xc9, 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5,
- 0xb7, 0x2f, 0xed, 0xf9,
- 0x27, 0xc2, 0xf7, 0xca, 0x35, 0x74, 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9,
- 0xc5, 0x59, 0x4f, 0x97,
- 0x28, 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91, 0x5c, 0xe8, 0xcd, 0x11, 0xf8,
- 0x4e, 0xee, 0xfe, 0xa8,
- 0x29, 0x16, 0xc3, 0x66, 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94,
- 0x3c, 0x98, 0x5c, 0xc6,
- 0x2a, 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b, 0x39, 0x81, 0x20,
- 0xaa, 0x02, 0x79, 0x74,
- 0x2b, 0xfd, 0x08, 0x1f, 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c,
- 0xd8, 0x74, 0xdb, 0x1a,
- 0x2c, 0x97, 0x12, 0x49, 0x85, 0xd1, 0x0d, 0xeb, 0x4d, 0xe6, 0xf2, 0x8b,
- 0x45, 0xf5, 0x33, 0xd3,
- 0x2d, 0x03, 0x96, 0x94, 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba, 0xe7,
- 0x37, 0x83, 0x91, 0xbd,
- 0x2e, 0x7c, 0xd9, 0x30, 0xa5, 0x68, 0x43, 0x51, 0xfe, 0x12, 0x62, 0x53,
- 0xa1, 0x19, 0xb4, 0x0f,
- 0x2f, 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64, 0x0c, 0x46, 0x68, 0x2a, 0x3f,
- 0xd3, 0x6f, 0x16, 0x61,
- 0x30, 0xfc, 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e, 0x11,
- 0x74, 0xb4, 0x15, 0x71,
- 0x31, 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78, 0x35, 0x08, 0x4d, 0x56, 0x7d,
- 0x06, 0xc2, 0xb7, 0x1f,
- 0x32, 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03, 0xc3, 0x8e, 0xc9,
- 0x90, 0x58, 0x92, 0xad,
- 0x33, 0x83, 0x35, 0x76, 0xb6, 0x44, 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5,
- 0xe2, 0x2e, 0x30, 0xc3,
- 0x34, 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf, 0x15, 0x1c, 0xfd, 0x62,
- 0x7f, 0xaf, 0xd8, 0x0a,
- 0x35, 0x7d, 0xab, 0xfd, 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e,
- 0x0d, 0xd9, 0x7a, 0x64,
- 0x36, 0x02, 0xe4, 0x59, 0xe6, 0x48, 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba,
- 0x9b, 0x43, 0x5f, 0xd6,
- 0x37, 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92, 0x25, 0xd6,
- 0xe9, 0x35, 0xfd, 0xb8,
- 0x38, 0xd6, 0xd0, 0xf5, 0x06, 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7,
- 0x62, 0x82, 0x4c, 0x87,
- 0x39, 0x42, 0x54, 0x28, 0x16, 0x5c, 0x83, 0x98, 0x81, 0x1b, 0x53, 0x9b,
- 0x10, 0xf4, 0xee, 0xe9,
- 0x3a, 0x3d, 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a, 0x95, 0x8b, 0x2f,
- 0x86, 0x6e, 0xcb, 0x5b,
- 0x3b, 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd, 0x22, 0x32, 0xef, 0xc3, 0x43,
- 0xf4, 0x18, 0x69, 0x35,
- 0x3c, 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c, 0x4a, 0xf8, 0x84,
- 0x69, 0x99, 0x81, 0xfc,
- 0x3d, 0x57, 0x01, 0xda, 0x56, 0xed, 0x1f, 0x2f, 0x24, 0x30, 0xb0, 0xe8,
- 0x1b, 0xef, 0x23, 0x92,
- 0x3e, 0x28, 0x4e, 0x7e, 0x66, 0xe9, 0x76, 0xc8, 0x2f, 0xbe, 0x68, 0x5c,
- 0x8d, 0x75, 0x06, 0x20,
- 0x3f, 0xbc, 0xca, 0xa3, 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30,
- 0xff, 0x03, 0xa4, 0x4e,
- 0x40, 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4, 0x21, 0xc2, 0xf5, 0x28, 0x3c,
- 0xb0, 0x73, 0x8d, 0xbc,
- 0x41, 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a, 0x8f, 0x60, 0x50,
- 0xc2, 0x05, 0x2f, 0xd2,
- 0x42, 0x78, 0xd2, 0x82, 0xaa, 0xf8, 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4,
- 0x54, 0x9f, 0x0a, 0x60,
- 0x43, 0xec, 0x56, 0x5f, 0xba, 0x45, 0xbd, 0xc6, 0xc9, 0x7b, 0xf0, 0x88,
- 0x26, 0xe9, 0xa8, 0x0e,
- 0x44, 0x86, 0x4c, 0x09, 0xca, 0xf0, 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f,
- 0xbb, 0x68, 0x40, 0xc7,
- 0x45, 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f, 0xcb, 0xdf, 0xa4, 0x83, 0x23,
- 0xc9, 0x1e, 0xe2, 0xa9,
- 0x46, 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4, 0x2a, 0x5b, 0x97,
- 0x5f, 0x84, 0xc7, 0x1b,
- 0x47, 0xf9, 0x03, 0xad, 0xfa, 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb,
- 0x2d, 0xf2, 0x65, 0x75,
- 0x48, 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c, 0x4b, 0xa3, 0x2d, 0xda,
- 0xa6, 0x45, 0xd4, 0x4a,
- 0x49, 0x2d, 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3, 0xd9, 0x65, 0xb6,
- 0xd4, 0x33, 0x76, 0x24,
- 0x4a, 0x52, 0x78, 0xa5, 0x2a, 0x59, 0x61, 0x36, 0xf8, 0x57, 0xbd, 0x02,
- 0x42, 0xa9, 0x53, 0x96,
- 0x4b, 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40, 0x2d, 0xf5, 0x6e,
- 0x30, 0xdf, 0xf1, 0xf8,
- 0x4c, 0xac, 0xe6, 0x2e, 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9,
- 0xad, 0x5e, 0x19, 0x31,
- 0x4d, 0x38, 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56, 0xf2, 0x86, 0xc5,
- 0xdf, 0x28, 0xbb, 0x5f,
- 0x4e, 0x47, 0x2d, 0x57, 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71,
- 0x49, 0xb2, 0x9e, 0xed,
- 0x4f, 0xd3, 0xa9, 0x8a, 0x7a, 0x55, 0xda, 0xdc, 0xe5, 0x06, 0x16, 0x1d,
- 0x3b, 0xc4, 0x3c, 0x83,
- 0x50, 0xc7, 0x8e, 0xb5, 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22, 0x33,
- 0x9c, 0x1f, 0x3f, 0x93,
- 0x51, 0x53, 0x0a, 0x68, 0x59, 0x7d, 0xc6, 0xe5, 0xab, 0x23, 0x6a, 0x5f,
- 0xee, 0x69, 0x9d, 0xfd,
- 0x52, 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf, 0x02, 0xa0, 0xad, 0xb2, 0xeb,
- 0x78, 0xf3, 0xb8, 0x4f,
- 0x53, 0xb8, 0xc1, 0x11, 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87,
- 0x0a, 0x85, 0x1a, 0x21,
- 0x54, 0xd2, 0xdb, 0x47, 0x09, 0x71, 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40,
- 0x97, 0x04, 0xf2, 0xe8,
- 0x55, 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e, 0x08, 0x89, 0x2c,
- 0xe5, 0x72, 0x50, 0x86,
- 0x56, 0x39, 0x10, 0x3e, 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98,
- 0x73, 0xe8, 0x75, 0x34,
- 0x57, 0xad, 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd, 0xfc, 0x19, 0xf4,
- 0x01, 0x9e, 0xd7, 0x5a,
- 0x58, 0xed, 0x24, 0x92, 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5,
- 0x8a, 0x29, 0x66, 0x65,
- 0x59, 0x79, 0xa0, 0x4f, 0xd9, 0xdc, 0x3d, 0x48, 0x22, 0x75, 0x6f, 0xb9,
- 0xf8, 0x5f, 0xc4, 0x0b,
- 0x5a, 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54, 0xaf, 0x29, 0xfb, 0xb7, 0x0d,
- 0x6e, 0xc5, 0xe1, 0xb9,
- 0x5b, 0x92, 0x6b, 0x36, 0xf9, 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61,
- 0x1c, 0xb3, 0x43, 0xd7,
- 0x5c, 0xf8, 0x71, 0x60, 0x89, 0xd0, 0x86, 0xa2, 0x3f, 0x24, 0xc4, 0xa6,
- 0x81, 0x32, 0xab, 0x1e,
- 0x5d, 0x6c, 0xf5, 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca,
- 0xf3, 0x44, 0x09, 0x70,
- 0x5e, 0x13, 0xba, 0x19, 0xa9, 0x69, 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e,
- 0x65, 0xde, 0x2c, 0xc2,
- 0x5f, 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa, 0x1c, 0x12,
- 0x17, 0xa8, 0x8e, 0xac,
- 0x60, 0x3b, 0xf4, 0x67, 0xcf, 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22,
- 0xe8, 0xab, 0x2a, 0xe2,
- 0x61, 0xaf, 0x70, 0xba, 0xdf, 0x3d, 0x99, 0x8d, 0x1b, 0x14, 0x74, 0x4e,
- 0x9a, 0xdd, 0x88, 0x8c,
- 0x62, 0xd0, 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac, 0xfa,
- 0x0c, 0x47, 0xad, 0x3e,
- 0x63, 0x44, 0xbb, 0xc3, 0xff, 0x84, 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96,
- 0x7e, 0x31, 0x0f, 0x50,
- 0x64, 0x2e, 0xa1, 0x95, 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf, 0x51,
- 0xe3, 0xb0, 0xe7, 0x99,
- 0x65, 0xba, 0x25, 0x48, 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d,
- 0x91, 0xc6, 0x45, 0xf7,
- 0x66, 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c, 0xdd, 0xb5, 0xb1, 0x4f, 0x89,
- 0x07, 0x5c, 0x60, 0x45,
- 0x67, 0x51, 0xee, 0x31, 0xbf, 0x35, 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5,
- 0x75, 0x2a, 0xc2, 0x2b,
- 0x68, 0x11, 0x5e, 0x40, 0x4f, 0x21, 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4,
- 0xfe, 0x9d, 0x73, 0x14,
- 0x69, 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42, 0x71, 0xa8,
- 0x8c, 0xeb, 0xd1, 0x7a,
- 0x6a, 0xfa, 0x95, 0x39, 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9, 0x1c,
- 0x1a, 0x71, 0xf4, 0xc8,
- 0x6b, 0x6e, 0x11, 0xe4, 0x7f, 0x25, 0x2c, 0x9a, 0x21, 0xb6, 0xe1, 0x70,
- 0x68, 0x07, 0x56, 0xa6,
- 0x6c, 0x04, 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f, 0x13, 0xda, 0xb7,
- 0xf5, 0x86, 0xbe, 0x6f,
- 0x6d, 0x90, 0x8f, 0x6f, 0x1f, 0x2d, 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb,
- 0x87, 0xf0, 0x1c, 0x01,
- 0x6e, 0xef, 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a, 0x6f,
- 0x11, 0x6a, 0x39, 0xb3,
- 0x6f, 0x7b, 0x44, 0x16, 0x3f, 0x94, 0xb0, 0x2d, 0x84, 0x9d, 0x02, 0x03,
- 0x63, 0x1c, 0x9b, 0xdd,
- 0x70, 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72, 0xc2, 0x36, 0x2d,
- 0xc4, 0xc7, 0x98, 0xcd,
- 0x71, 0xfb, 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca, 0xb8, 0x7e, 0x41,
- 0xb6, 0xb1, 0x3a, 0xa3,
- 0x72, 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5, 0xf3, 0xc1, 0x36, 0xa6, 0xf5,
- 0x20, 0x2b, 0x1f, 0x11,
- 0x73, 0x10, 0x2c, 0x8d, 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee, 0x99,
- 0x52, 0x5d, 0xbd, 0x7f,
- 0x74, 0x7a, 0x36, 0xdb, 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5, 0x5e,
- 0xcf, 0xdc, 0x55, 0xb6,
- 0x75, 0xee, 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f, 0x93, 0x9d, 0x32,
- 0xbd, 0xaa, 0xf7, 0xd8,
- 0x76, 0x91, 0xfd, 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86,
- 0x2b, 0x30, 0xd2, 0x6a,
- 0x77, 0x05, 0x79, 0x7f, 0x7c, 0xb4, 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea,
- 0x59, 0x46, 0x70, 0x04,
- 0x78, 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70, 0xe4, 0xfb, 0x94, 0x33, 0xcb,
- 0xd2, 0xf1, 0xc1, 0x3b,
- 0x79, 0xd1, 0x4d, 0xd3, 0x9c, 0x1d, 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7,
- 0xa0, 0x87, 0x63, 0x55,
- 0x7a, 0xae, 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48, 0x60, 0xa3, 0x13,
- 0x36, 0x1d, 0x46, 0xe7,
- 0x7b, 0x3a, 0x86, 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f,
- 0x44, 0x6b, 0xe4, 0x89,
- 0x7c, 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec, 0x53, 0x5e, 0xbf, 0xd0, 0xb8,
- 0xd9, 0xea, 0x0c, 0x40,
- 0x7d, 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb, 0x0e, 0xe6, 0xc5, 0x98, 0xd4,
- 0xab, 0x9c, 0xae, 0x2e,
- 0x7e, 0xbb, 0x57, 0x85, 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60,
- 0x3d, 0x06, 0x8b, 0x9c,
- 0x7f, 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4, 0x55, 0x31, 0x08, 0x0c,
- 0x4f, 0x70, 0x29, 0xf2,
- 0x80, 0xe5, 0x32, 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78,
- 0xa3, 0xe6, 0xd9, 0xbb,
- 0x81, 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c, 0x1f, 0xff, 0x53, 0x18, 0x14,
- 0xd1, 0x90, 0x7b, 0xd5,
- 0x82, 0x0e, 0xf9, 0x4c, 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0, 0xa0,
- 0x47, 0x0a, 0x5e, 0x67,
- 0x83, 0x9a, 0x7d, 0x91, 0xe7, 0x86, 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc,
- 0x35, 0x7c, 0xfc, 0x09,
- 0x84, 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5, 0xe2, 0x02, 0xb3, 0x0b,
- 0xa8, 0xfd, 0x14, 0xc0,
- 0x85, 0x64, 0xe3, 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67,
- 0xda, 0x8b, 0xb6, 0xae,
- 0x86, 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9, 0x4f, 0x51, 0xf6, 0x23, 0xd3,
- 0x4c, 0x11, 0x93, 0x1c,
- 0x87, 0x8f, 0x28, 0x63, 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b, 0xbf,
- 0x3e, 0x67, 0x31, 0x72,
- 0x88, 0xcf, 0x98, 0x12, 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55, 0x9e,
- 0xb5, 0xd0, 0x80, 0x4d,
- 0x89, 0x5b, 0x1c, 0xcf, 0x47, 0x9e, 0xb7, 0xb2, 0x76, 0x05, 0x1d, 0xf2,
- 0xc7, 0xa6, 0x22, 0x23,
- 0x8a, 0x24, 0x53, 0x6b, 0x77, 0x9a, 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46,
- 0x51, 0x3c, 0x07, 0x91,
- 0x8b, 0xb0, 0xd7, 0xb6, 0x67, 0x27, 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a,
- 0x23, 0x4a, 0xa5, 0xff,
- 0x8c, 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c, 0x58, 0x6b, 0x54, 0xb6, 0xed,
- 0xbe, 0xcb, 0x4d, 0x36,
- 0x8d, 0x4e, 0x49, 0x3d, 0x07, 0x2f, 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81,
- 0xcc, 0xbd, 0xef, 0x58,
- 0x8e, 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8, 0xa0, 0x26, 0x35,
- 0x5a, 0x27, 0xca, 0xea,
- 0x8f, 0xa5, 0x82, 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59,
- 0x28, 0x51, 0x68, 0x84,
- 0x90, 0xb1, 0xa5, 0x7b, 0x14, 0x03, 0x5e, 0xdb, 0x96, 0x85, 0x5a, 0x77,
- 0x8f, 0x8a, 0x6b, 0x94,
- 0x91, 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff, 0x12, 0x1b,
- 0xfd, 0xfc, 0xc9, 0xfa,
- 0x92, 0x5a, 0x6e, 0x02, 0x34, 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf,
- 0x6b, 0x66, 0xec, 0x48,
- 0x93, 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c, 0x9d, 0x0b, 0x82, 0xc3,
- 0x19, 0x10, 0x4e, 0x26,
- 0x94, 0xa4, 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33, 0xae, 0xb9, 0x04,
- 0x84, 0x91, 0xa6, 0xef,
- 0x95, 0x30, 0x74, 0x54, 0x44, 0x0f, 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68,
- 0xf6, 0xe7, 0x04, 0x81,
- 0x96, 0x4f, 0x3b, 0xf0, 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29, 0xdc,
- 0x60, 0x7d, 0x21, 0x33,
- 0x97, 0xdb, 0xbf, 0x2d, 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0,
- 0x12, 0x0b, 0x83, 0x5d,
- 0x98, 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f, 0xd3, 0x5f, 0x91,
- 0x99, 0xbc, 0x32, 0x62,
- 0x99, 0x0f, 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7, 0xa9, 0x17, 0xfd,
- 0xeb, 0xca, 0x90, 0x0c,
- 0x9a, 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb, 0xcc, 0xac, 0x27, 0xcf, 0x49,
- 0x7d, 0x50, 0xb5, 0xbe,
- 0x9b, 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d, 0x87, 0x25,
- 0x0f, 0x26, 0x17, 0xd0,
- 0x9c, 0x8e, 0x5a, 0xae, 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2,
- 0x92, 0xa7, 0xff, 0x19,
- 0x9d, 0x1a, 0xde, 0x73, 0xc4, 0xae, 0x1e, 0x9c, 0x02, 0x82, 0xf4, 0x8e,
- 0xe0, 0xd1, 0x5d, 0x77,
- 0x9e, 0x65, 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c, 0x3a,
- 0x76, 0x4b, 0x78, 0xc5,
- 0x9f, 0xf1, 0x15, 0x0a, 0xe4, 0x17, 0x50, 0x26, 0xb1, 0x76, 0x64, 0x56,
- 0x04, 0x3d, 0xda, 0xab,
- 0xa0, 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26, 0xb2, 0x44, 0x66,
- 0xfb, 0x3e, 0x7e, 0xe5,
- 0xa1, 0xd9, 0x5b, 0x74, 0x82, 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a,
- 0x89, 0x48, 0xdc, 0x8b,
- 0xa2, 0xa6, 0x14, 0xd0, 0xb2, 0xfa, 0x4f, 0x09, 0x95, 0x46, 0xd4, 0xbe,
- 0x1f, 0xd2, 0xf9, 0x39,
- 0xa3, 0x32, 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c, 0xd2,
- 0x6d, 0xa4, 0x5b, 0x57,
- 0xa4, 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d, 0x04, 0x83, 0x99, 0xa7, 0x15,
- 0xf0, 0x25, 0xb3, 0x9e,
- 0xa5, 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3, 0xef, 0x79,
- 0x82, 0x53, 0x11, 0xf0,
- 0xa6, 0xb3, 0x41, 0x22, 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd,
- 0x14, 0xc9, 0x34, 0x42,
- 0xa7, 0x27, 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88, 0x17, 0x7f, 0xa1,
- 0x66, 0xbf, 0x96, 0x2c,
- 0xa8, 0x67, 0x75, 0x8e, 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80,
- 0xed, 0x08, 0x27, 0x13,
- 0xa9, 0xf3, 0xf1, 0x53, 0x02, 0x5f, 0xdd, 0x43, 0x17, 0x9e, 0x09, 0xec,
- 0x9f, 0x7e, 0x85, 0x7d,
- 0xaa, 0x8c, 0xbe, 0xf7, 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1, 0x58,
- 0x09, 0xe4, 0xa0, 0xcf,
- 0xab, 0x18, 0x3a, 0x2a, 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99, 0x34,
- 0x7b, 0x92, 0x02, 0xa1,
- 0xac, 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a, 0xcf, 0xa2, 0xf3,
- 0xe6, 0x13, 0xea, 0x68,
- 0xad, 0xe6, 0xa4, 0xa1, 0x42, 0xee, 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f,
- 0x94, 0x65, 0x48, 0x06,
- 0xae, 0x99, 0xeb, 0x05, 0x72, 0xea, 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b,
- 0x02, 0xff, 0x6d, 0xb4,
- 0xaf, 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41, 0x7a, 0x47,
- 0x70, 0x89, 0xcf, 0xda,
- 0xb0, 0x19, 0x48, 0xe7, 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69,
- 0xd7, 0x52, 0xcc, 0xca,
- 0xb1, 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13, 0x77, 0x4f, 0x64, 0x06, 0x05,
- 0xa5, 0x24, 0x6e, 0xa4,
- 0xb2, 0xf2, 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde, 0xb1,
- 0x33, 0xbe, 0x4b, 0x16,
- 0xb3, 0x66, 0x07, 0x43, 0x61, 0xc6, 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd,
- 0x41, 0xc8, 0xe9, 0x78,
- 0xb4, 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8, 0x9d, 0x52, 0x35, 0xad, 0x1a,
- 0xdc, 0x49, 0x01, 0xb1,
- 0xb5, 0x98, 0x99, 0xc8, 0x01, 0xce, 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76,
- 0xae, 0x3f, 0xa3, 0xdf,
- 0xb6, 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1, 0xc1, 0x3d, 0xc2,
- 0x38, 0xa5, 0x86, 0x6d,
- 0xb7, 0x73, 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59, 0xbb, 0x75, 0xae,
- 0x4a, 0xd3, 0x24, 0x03,
- 0xb8, 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf, 0x87, 0x7e, 0x48, 0x4b, 0x8f,
- 0xc1, 0x64, 0x95, 0x3c,
- 0xb9, 0xa7, 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03, 0xe3,
- 0xb3, 0x12, 0x37, 0x52,
- 0xba, 0xd8, 0x29, 0xb9, 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb, 0x57,
- 0x25, 0x88, 0x12, 0xe0,
- 0xbb, 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75, 0xc6, 0x93, 0x3b,
- 0x57, 0xfe, 0xb0, 0x8e,
- 0xbc, 0x26, 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8, 0xfc,
- 0xca, 0x7f, 0x58, 0x47,
- 0xbd, 0xb2, 0x33, 0xef, 0x81, 0x6f, 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90,
- 0xb8, 0x09, 0xfa, 0x29,
- 0xbe, 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d, 0x8a, 0x68, 0x97, 0x38, 0x24,
- 0x2e, 0x93, 0xdf, 0x9b,
- 0xbf, 0x59, 0xf8, 0x96, 0xa1, 0xd6, 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48,
- 0x5c, 0xe5, 0x7d, 0xf5,
- 0xc0, 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63, 0x85, 0xdc, 0x78, 0x44,
- 0x13, 0x95, 0x54, 0x07,
- 0xc1, 0xe2, 0xaf, 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28,
- 0x61, 0xe3, 0xf6, 0x69,
- 0xc2, 0x9d, 0xe0, 0xb7, 0x7d, 0x7a, 0xf1, 0xd9, 0x36, 0x28, 0xe8, 0x9c,
- 0xf7, 0x79, 0xd3, 0xdb,
- 0xc3, 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6, 0x84, 0x8e, 0x52, 0xa0, 0xf0,
- 0x85, 0x0f, 0x71, 0xb5,
- 0xc4, 0x63, 0x7e, 0x3c, 0x1d, 0x72, 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37,
- 0x18, 0x8e, 0x99, 0x7c,
- 0xc5, 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89, 0x98, 0x8d, 0xd3, 0x5b,
- 0x6a, 0xf8, 0x3b, 0x12,
- 0xc6, 0x88, 0xb5, 0x45, 0x3d, 0xcb, 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef,
- 0xfc, 0x62, 0x1e, 0xa0,
- 0xc7, 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a, 0x33, 0x2b, 0x79, 0x43, 0x83,
- 0x8e, 0x14, 0xbc, 0xce,
- 0xc8, 0x5c, 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d, 0xa2,
- 0x05, 0xa3, 0x0d, 0xf1,
- 0xc9, 0xc8, 0x05, 0x34, 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35, 0xce,
- 0x77, 0xd5, 0xaf, 0x9f,
- 0xca, 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74, 0xbf, 0x7e, 0xed, 0x7a,
- 0xe1, 0x4f, 0x8a, 0x2d,
- 0xcb, 0x23, 0xce, 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16,
- 0x93, 0x39, 0x28, 0x43,
- 0xcc, 0x49, 0xd4, 0x1b, 0x9d, 0xd3, 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1,
- 0x0e, 0xb8, 0xc0, 0x8a,
- 0xcd, 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11, 0xdb, 0xd6, 0xbd,
- 0x7c, 0xce, 0x62, 0xe4,
- 0xce, 0xa2, 0x1f, 0x62, 0xbd, 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09,
- 0xea, 0x54, 0x47, 0x56,
- 0xcf, 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e, 0xa2, 0x2f, 0x46, 0x65,
- 0x98, 0x22, 0xe5, 0x38,
- 0xd0, 0x22, 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72, 0x4b,
- 0x3f, 0xf9, 0xe6, 0x28,
- 0xd1, 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad, 0xa7, 0xec, 0x0a, 0x3a, 0x27,
- 0x4d, 0x8f, 0x44, 0x46,
- 0xd2, 0xc9, 0x77, 0xf9, 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2, 0x93,
- 0xdb, 0x15, 0x61, 0xf4,
- 0xd3, 0x5d, 0xf3, 0x24, 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff,
- 0xa9, 0x63, 0xc3, 0x9a,
- 0xd4, 0x37, 0xe9, 0x72, 0xde, 0xf3, 0x16, 0x4d, 0xf1, 0x5b, 0x91, 0x38,
- 0x34, 0xe2, 0x2b, 0x53,
- 0xd5, 0xa3, 0x6d, 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54,
- 0x46, 0x94, 0x89, 0x3d,
- 0xd6, 0xdc, 0x22, 0x0b, 0xfe, 0x4a, 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0,
- 0xd0, 0x0e, 0xac, 0x8f,
- 0xd7, 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f, 0xaa, 0xfa, 0xd5, 0x49, 0x8c,
- 0xa2, 0x78, 0x0e, 0xe1,
- 0xd8, 0x08, 0x16, 0xa7, 0x1e, 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad,
- 0x29, 0xcf, 0xbf, 0xde,
- 0xd9, 0x9c, 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65, 0x5c, 0x3f, 0xc1,
- 0x5b, 0xb9, 0x1d, 0xb0,
- 0xda, 0xe3, 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7, 0x75,
- 0xcd, 0x23, 0x38, 0x02,
- 0xdb, 0x77, 0x59, 0x03, 0x2e, 0xe7, 0x18, 0xb0, 0xd6, 0xa8, 0xaf, 0x19,
- 0xbf, 0x55, 0x9a, 0x6c,
- 0xdc, 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78, 0x0d, 0x94, 0xde,
- 0x22, 0xd4, 0x72, 0xa5,
- 0xdd, 0x89, 0xc7, 0x88, 0x4e, 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2,
- 0x50, 0xa2, 0xd0, 0xcb,
- 0xde, 0xf6, 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb, 0xf9, 0x04, 0x06,
- 0xc6, 0x38, 0xf5, 0x79,
- 0xdf, 0x62, 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73, 0x83, 0x4c, 0x6a,
- 0xb4, 0x4e, 0x57, 0x17,
- 0xe0, 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5, 0x92, 0xe4, 0x47, 0x6c, 0x5a,
- 0x4b, 0x4d, 0xf3, 0x59,
- 0xe1, 0x4a, 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24, 0x36,
- 0x39, 0x3b, 0x51, 0x37,
- 0xe2, 0x35, 0x0d, 0x2b, 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82,
- 0xaf, 0xa1, 0x74, 0x85,
- 0xe3, 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc, 0x75, 0xef, 0xc9, 0xb4, 0xee,
- 0xdd, 0xd7, 0xd6, 0xeb,
- 0xe4, 0xcb, 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f, 0x29,
- 0x40, 0x56, 0x3e, 0x22,
- 0xe5, 0x5f, 0x17, 0x7d, 0x48, 0x0e, 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45,
- 0x32, 0x20, 0x9c, 0x4c,
- 0xe6, 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07, 0x9f, 0xf2, 0x98, 0x1f, 0xf1,
- 0xa4, 0xba, 0xb9, 0xfe,
- 0xe7, 0xb4, 0xdc, 0x04, 0x68, 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d,
- 0xd6, 0xcc, 0x1b, 0x90,
- 0xe8, 0xf4, 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d, 0x11, 0x69, 0xbc,
- 0x5d, 0x7b, 0xaa, 0xaf,
- 0xe9, 0x60, 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21, 0xd0,
- 0x2f, 0x0d, 0x08, 0xc1,
- 0xea, 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60, 0x85, 0xde, 0xe5, 0xf9, 0x64,
- 0xb9, 0x97, 0x2d, 0x73,
- 0xeb, 0x8b, 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1, 0x08,
- 0xcb, 0xe1, 0x8f, 0x1d,
- 0xec, 0xe1, 0x39, 0x87, 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a, 0xcf,
- 0x56, 0x60, 0x67, 0xd4,
- 0xed, 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95, 0xd5, 0x70, 0x40, 0xc2, 0xa3,
- 0x24, 0x16, 0xc5, 0xba,
- 0xee, 0x0a, 0xf2, 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17,
- 0xb2, 0x8c, 0xe0, 0x08,
- 0xef, 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb, 0x6f, 0xc3, 0xb4, 0x52, 0x7b,
- 0xc0, 0xfa, 0x42, 0x66,
- 0xf0, 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0, 0x0b, 0x35, 0xeb, 0x66, 0x55,
- 0x67, 0x21, 0x41, 0x76,
- 0xf1, 0x1e, 0xd5, 0xc1, 0xcb, 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39,
- 0x15, 0x57, 0xe3, 0x18,
- 0xf2, 0x61, 0x9a, 0x65, 0xfb, 0x3a, 0xae, 0xb1, 0x86, 0x1f, 0xf6, 0x8d,
- 0x83, 0xcd, 0xc6, 0xaa,
- 0xf3, 0xf5, 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe, 0xe1,
- 0xf1, 0xbb, 0x64, 0xc4,
- 0xf4, 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c, 0xbc, 0x90, 0xc0, 0x85, 0x26,
- 0x6c, 0x3a, 0x8c, 0x0d,
- 0xf5, 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b, 0xe1, 0x28, 0xba, 0xcd, 0x4a,
- 0x1e, 0x4c, 0x2e, 0x63,
- 0xf6, 0x74, 0xcf, 0x97, 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15, 0xfe,
- 0x88, 0xd6, 0x0b, 0xd1,
- 0xf7, 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b, 0x9b, 0x4e, 0x5d, 0x92,
- 0xfa, 0xa0, 0xa9, 0xbf,
- 0xf8, 0xa0, 0xfb, 0x3b, 0x5b, 0x22, 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3,
- 0x71, 0x17, 0x18, 0x80,
- 0xf9, 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c, 0xfb, 0x04, 0xc7, 0x2b, 0xdf,
- 0x03, 0x61, 0xba, 0xee,
- 0xfa, 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49, 0xf3, 0x6b,
- 0x95, 0xfb, 0x9f, 0x5c,
- 0xfb, 0xdf, 0xb4, 0x9f, 0x6b, 0x26, 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07,
- 0xe7, 0x8d, 0x3d, 0x32,
- 0xfc, 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11, 0x19, 0x96, 0x80, 0xc0,
- 0x7a, 0x0c, 0xd5, 0xfb,
- 0xfd, 0x21, 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8, 0xac,
- 0x08, 0x7a, 0x77, 0x95,
- 0xfe, 0x5e, 0x65, 0xb0, 0x3b, 0x2a, 0xc9, 0xab, 0xaa, 0x62, 0x10, 0x18,
- 0x9e, 0xe0, 0x52, 0x27,
- 0xff, 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12, 0x18, 0x58, 0x74,
- 0xec, 0x96, 0xf0, 0x49,
- },
- { /* 1 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x94, 0xa5, 0x64, 0x0d, 0x89, 0xa2, 0x7f, 0x4b, 0x6e, 0x16, 0xc3, 0x4c,
- 0xe8, 0xe3, 0xd0, 0x4d,
- 0xeb, 0x89, 0xc8, 0x1a, 0xd1, 0x87, 0xfe, 0x96, 0xdc, 0x2c, 0x45, 0x98,
- 0x13, 0x05, 0x63, 0x9a,
- 0x7f, 0x2c, 0xac, 0x17, 0x58, 0x25, 0x81, 0xdd, 0xb2, 0x3a, 0x86, 0xd4,
- 0xfb, 0xe6, 0xb3, 0xd7,
- 0x15, 0xd1, 0x53, 0x34, 0x61, 0xcd, 0x3f, 0xef, 0x7b, 0x58, 0x8a, 0xf3,
- 0x26, 0x0a, 0xc6, 0xf7,
- 0x81, 0x74, 0x37, 0x39, 0xe8, 0x6f, 0x40, 0xa4, 0x15, 0x4e, 0x49, 0xbf,
- 0xce, 0xe9, 0x16, 0xba,
- 0xfe, 0x58, 0x9b, 0x2e, 0xb0, 0x4a, 0xc1, 0x79, 0xa7, 0x74, 0xcf, 0x6b,
- 0x35, 0x0f, 0xa5, 0x6d,
- 0x6a, 0xfd, 0xff, 0x23, 0x39, 0xe8, 0xbe, 0x32, 0xc9, 0x62, 0x0c, 0x27,
- 0xdd, 0xec, 0x75, 0x20,
- 0x2a, 0x61, 0xa6, 0x68, 0xc2, 0x59, 0x7e, 0x1d, 0xf6, 0xb0, 0xd7, 0x25,
- 0x4c, 0x14, 0x4f, 0x2d,
- 0xbe, 0xc4, 0xc2, 0x65, 0x4b, 0xfb, 0x01, 0x56, 0x98, 0xa6, 0x14, 0x69,
- 0xa4, 0xf7, 0x9f, 0x60,
- 0xc1, 0xe8, 0x6e, 0x72, 0x13, 0xde, 0x80, 0x8b, 0x2a, 0x9c, 0x92, 0xbd,
- 0x5f, 0x11, 0x2c, 0xb7,
- 0x55, 0x4d, 0x0a, 0x7f, 0x9a, 0x7c, 0xff, 0xc0, 0x44, 0x8a, 0x51, 0xf1,
- 0xb7, 0xf2, 0xfc, 0xfa,
- 0x3f, 0xb0, 0xf5, 0x5c, 0xa3, 0x94, 0x41, 0xf2, 0x8d, 0xe8, 0x5d, 0xd6,
- 0x6a, 0x1e, 0x89, 0xda,
- 0xab, 0x15, 0x91, 0x51, 0x2a, 0x36, 0x3e, 0xb9, 0xe3, 0xfe, 0x9e, 0x9a,
- 0x82, 0xfd, 0x59, 0x97,
- 0xd4, 0x39, 0x3d, 0x46, 0x72, 0x13, 0xbf, 0x64, 0x51, 0xc4, 0x18, 0x4e,
- 0x79, 0x1b, 0xea, 0x40,
- 0x40, 0x9c, 0x59, 0x4b, 0xfb, 0xb1, 0xc0, 0x2f, 0x3f, 0xd2, 0xdb, 0x02,
- 0x91, 0xf8, 0x3a, 0x0d,
- 0x54, 0xc2, 0x8f, 0xd0, 0x47, 0xb2, 0xfc, 0x3a, 0x2f, 0xa3, 0x6d, 0x4a,
- 0x98, 0x28, 0x9e, 0x5a,
- 0xc0, 0x67, 0xeb, 0xdd, 0xce, 0x10, 0x83, 0x71, 0x41, 0xb5, 0xae, 0x06,
- 0x70, 0xcb, 0x4e, 0x17,
- 0xbf, 0x4b, 0x47, 0xca, 0x96, 0x35, 0x02, 0xac, 0xf3, 0x8f, 0x28, 0xd2,
- 0x8b, 0x2d, 0xfd, 0xc0,
- 0x2b, 0xee, 0x23, 0xc7, 0x1f, 0x97, 0x7d, 0xe7, 0x9d, 0x99, 0xeb, 0x9e,
- 0x63, 0xce, 0x2d, 0x8d,
- 0x41, 0x13, 0xdc, 0xe4, 0x26, 0x7f, 0xc3, 0xd5, 0x54, 0xfb, 0xe7, 0xb9,
- 0xbe, 0x22, 0x58, 0xad,
- 0xd5, 0xb6, 0xb8, 0xe9, 0xaf, 0xdd, 0xbc, 0x9e, 0x3a, 0xed, 0x24, 0xf5,
- 0x56, 0xc1, 0x88, 0xe0,
- 0xaa, 0x9a, 0x14, 0xfe, 0xf7, 0xf8, 0x3d, 0x43, 0x88, 0xd7, 0xa2, 0x21,
- 0xad, 0x27, 0x3b, 0x37,
- 0x3e, 0x3f, 0x70, 0xf3, 0x7e, 0x5a, 0x42, 0x08, 0xe6, 0xc1, 0x61, 0x6d,
- 0x45, 0xc4, 0xeb, 0x7a,
- 0x7e, 0xa3, 0x29, 0xb8, 0x85, 0xeb, 0x82, 0x27, 0xd9, 0x13, 0xba, 0x6f,
- 0xd4, 0x3c, 0xd1, 0x77,
- 0xea, 0x06, 0x4d, 0xb5, 0x0c, 0x49, 0xfd, 0x6c, 0xb7, 0x05, 0x79, 0x23,
- 0x3c, 0xdf, 0x01, 0x3a,
- 0x95, 0x2a, 0xe1, 0xa2, 0x54, 0x6c, 0x7c, 0xb1, 0x05, 0x3f, 0xff, 0xf7,
- 0xc7, 0x39, 0xb2, 0xed,
- 0x01, 0x8f, 0x85, 0xaf, 0xdd, 0xce, 0x03, 0xfa, 0x6b, 0x29, 0x3c, 0xbb,
- 0x2f, 0xda, 0x62, 0xa0,
- 0x6b, 0x72, 0x7a, 0x8c, 0xe4, 0x26, 0xbd, 0xc8, 0xa2, 0x4b, 0x30, 0x9c,
- 0xf2, 0x36, 0x17, 0x80,
- 0xff, 0xd7, 0x1e, 0x81, 0x6d, 0x84, 0xc2, 0x83, 0xcc, 0x5d, 0xf3, 0xd0,
- 0x1a, 0xd5, 0xc7, 0xcd,
- 0x80, 0xfb, 0xb2, 0x96, 0x35, 0xa1, 0x43, 0x5e, 0x7e, 0x67, 0x75, 0x04,
- 0xe1, 0x33, 0x74, 0x1a,
- 0x14, 0x5e, 0xd6, 0x9b, 0xbc, 0x03, 0x3c, 0x15, 0x10, 0x71, 0xb6, 0x48,
- 0x09, 0xd0, 0xa4, 0x57,
- 0xa8, 0x47, 0xdd, 0x63, 0x8e, 0xa7, 0x3b, 0x74, 0x5e, 0x85, 0xda, 0x94,
- 0xf3, 0x50, 0xff, 0xb4,
- 0x3c, 0xe2, 0xb9, 0x6e, 0x07, 0x05, 0x44, 0x3f, 0x30, 0x93, 0x19, 0xd8,
- 0x1b, 0xb3, 0x2f, 0xf9,
- 0x43, 0xce, 0x15, 0x79, 0x5f, 0x20, 0xc5, 0xe2, 0x82, 0xa9, 0x9f, 0x0c,
- 0xe0, 0x55, 0x9c, 0x2e,
- 0xd7, 0x6b, 0x71, 0x74, 0xd6, 0x82, 0xba, 0xa9, 0xec, 0xbf, 0x5c, 0x40,
- 0x08, 0xb6, 0x4c, 0x63,
- 0xbd, 0x96, 0x8e, 0x57, 0xef, 0x6a, 0x04, 0x9b, 0x25, 0xdd, 0x50, 0x67,
- 0xd5, 0x5a, 0x39, 0x43,
- 0x29, 0x33, 0xea, 0x5a, 0x66, 0xc8, 0x7b, 0xd0, 0x4b, 0xcb, 0x93, 0x2b,
- 0x3d, 0xb9, 0xe9, 0x0e,
- 0x56, 0x1f, 0x46, 0x4d, 0x3e, 0xed, 0xfa, 0x0d, 0xf9, 0xf1, 0x15, 0xff,
- 0xc6, 0x5f, 0x5a, 0xd9,
- 0xc2, 0xba, 0x22, 0x40, 0xb7, 0x4f, 0x85, 0x46, 0x97, 0xe7, 0xd6, 0xb3,
- 0x2e, 0xbc, 0x8a, 0x94,
- 0x82, 0x26, 0x7b, 0x0b, 0x4c, 0xfe, 0x45, 0x69, 0xa8, 0x35, 0x0d, 0xb1,
- 0xbf, 0x44, 0xb0, 0x99,
- 0x16, 0x83, 0x1f, 0x06, 0xc5, 0x5c, 0x3a, 0x22, 0xc6, 0x23, 0xce, 0xfd,
- 0x57, 0xa7, 0x60, 0xd4,
- 0x69, 0xaf, 0xb3, 0x11, 0x9d, 0x79, 0xbb, 0xff, 0x74, 0x19, 0x48, 0x29,
- 0xac, 0x41, 0xd3, 0x03,
- 0xfd, 0x0a, 0xd7, 0x1c, 0x14, 0xdb, 0xc4, 0xb4, 0x1a, 0x0f, 0x8b, 0x65,
- 0x44, 0xa2, 0x03, 0x4e,
- 0x97, 0xf7, 0x28, 0x3f, 0x2d, 0x33, 0x7a, 0x86, 0xd3, 0x6d, 0x87, 0x42,
- 0x99, 0x4e, 0x76, 0x6e,
- 0x03, 0x52, 0x4c, 0x32, 0xa4, 0x91, 0x05, 0xcd, 0xbd, 0x7b, 0x44, 0x0e,
- 0x71, 0xad, 0xa6, 0x23,
- 0x7c, 0x7e, 0xe0, 0x25, 0xfc, 0xb4, 0x84, 0x10, 0x0f, 0x41, 0xc2, 0xda,
- 0x8a, 0x4b, 0x15, 0xf4,
- 0xe8, 0xdb, 0x84, 0x28, 0x75, 0x16, 0xfb, 0x5b, 0x61, 0x57, 0x01, 0x96,
- 0x62, 0xa8, 0xc5, 0xb9,
- 0xfc, 0x85, 0x52, 0xb3, 0xc9, 0x15, 0xc7, 0x4e, 0x71, 0x26, 0xb7, 0xde,
- 0x6b, 0x78, 0x61, 0xee,
- 0x68, 0x20, 0x36, 0xbe, 0x40, 0xb7, 0xb8, 0x05, 0x1f, 0x30, 0x74, 0x92,
- 0x83, 0x9b, 0xb1, 0xa3,
- 0x17, 0x0c, 0x9a, 0xa9, 0x18, 0x92, 0x39, 0xd8, 0xad, 0x0a, 0xf2, 0x46,
- 0x78, 0x7d, 0x02, 0x74,
- 0x83, 0xa9, 0xfe, 0xa4, 0x91, 0x30, 0x46, 0x93, 0xc3, 0x1c, 0x31, 0x0a,
- 0x90, 0x9e, 0xd2, 0x39,
- 0xe9, 0x54, 0x01, 0x87, 0xa8, 0xd8, 0xf8, 0xa1, 0x0a, 0x7e, 0x3d, 0x2d,
- 0x4d, 0x72, 0xa7, 0x19,
- 0x7d, 0xf1, 0x65, 0x8a, 0x21, 0x7a, 0x87, 0xea, 0x64, 0x68, 0xfe, 0x61,
- 0xa5, 0x91, 0x77, 0x54,
- 0x02, 0xdd, 0xc9, 0x9d, 0x79, 0x5f, 0x06, 0x37, 0xd6, 0x52, 0x78, 0xb5,
- 0x5e, 0x77, 0xc4, 0x83,
- 0x96, 0x78, 0xad, 0x90, 0xf0, 0xfd, 0x79, 0x7c, 0xb8, 0x44, 0xbb, 0xf9,
- 0xb6, 0x94, 0x14, 0xce,
- 0xd6, 0xe4, 0xf4, 0xdb, 0x0b, 0x4c, 0xb9, 0x53, 0x87, 0x96, 0x60, 0xfb,
- 0x27, 0x6c, 0x2e, 0xc3,
- 0x42, 0x41, 0x90, 0xd6, 0x82, 0xee, 0xc6, 0x18, 0xe9, 0x80, 0xa3, 0xb7,
- 0xcf, 0x8f, 0xfe, 0x8e,
- 0x3d, 0x6d, 0x3c, 0xc1, 0xda, 0xcb, 0x47, 0xc5, 0x5b, 0xba, 0x25, 0x63,
- 0x34, 0x69, 0x4d, 0x59,
- 0xa9, 0xc8, 0x58, 0xcc, 0x53, 0x69, 0x38, 0x8e, 0x35, 0xac, 0xe6, 0x2f,
- 0xdc, 0x8a, 0x9d, 0x14,
- 0xc3, 0x35, 0xa7, 0xef, 0x6a, 0x81, 0x86, 0xbc, 0xfc, 0xce, 0xea, 0x08,
- 0x01, 0x66, 0xe8, 0x34,
- 0x57, 0x90, 0xc3, 0xe2, 0xe3, 0x23, 0xf9, 0xf7, 0x92, 0xd8, 0x29, 0x44,
- 0xe9, 0x85, 0x38, 0x79,
- 0x28, 0xbc, 0x6f, 0xf5, 0xbb, 0x06, 0x78, 0x2a, 0x20, 0xe2, 0xaf, 0x90,
- 0x12, 0x63, 0x8b, 0xae,
- 0xbc, 0x19, 0x0b, 0xf8, 0x32, 0xa4, 0x07, 0x61, 0x4e, 0xf4, 0x6c, 0xdc,
- 0xfa, 0x80, 0x5b, 0xe3,
- 0x93, 0x8e, 0x79, 0xc6, 0xdf, 0x8d, 0x76, 0xe8, 0xbc, 0xc9, 0x77, 0xeb,
- 0x25, 0xa0, 0x3d, 0xab,
- 0x07, 0x2b, 0x1d, 0xcb, 0x56, 0x2f, 0x09, 0xa3, 0xd2, 0xdf, 0xb4, 0xa7,
- 0xcd, 0x43, 0xed, 0xe6,
- 0x78, 0x07, 0xb1, 0xdc, 0x0e, 0x0a, 0x88, 0x7e, 0x60, 0xe5, 0x32, 0x73,
- 0x36, 0xa5, 0x5e, 0x31,
- 0xec, 0xa2, 0xd5, 0xd1, 0x87, 0xa8, 0xf7, 0x35, 0x0e, 0xf3, 0xf1, 0x3f,
- 0xde, 0x46, 0x8e, 0x7c,
- 0x86, 0x5f, 0x2a, 0xf2, 0xbe, 0x40, 0x49, 0x07, 0xc7, 0x91, 0xfd, 0x18,
- 0x03, 0xaa, 0xfb, 0x5c,
- 0x12, 0xfa, 0x4e, 0xff, 0x37, 0xe2, 0x36, 0x4c, 0xa9, 0x87, 0x3e, 0x54,
- 0xeb, 0x49, 0x2b, 0x11,
- 0x6d, 0xd6, 0xe2, 0xe8, 0x6f, 0xc7, 0xb7, 0x91, 0x1b, 0xbd, 0xb8, 0x80,
- 0x10, 0xaf, 0x98, 0xc6,
- 0xf9, 0x73, 0x86, 0xe5, 0xe6, 0x65, 0xc8, 0xda, 0x75, 0xab, 0x7b, 0xcc,
- 0xf8, 0x4c, 0x48, 0x8b,
- 0xb9, 0xef, 0xdf, 0xae, 0x1d, 0xd4, 0x08, 0xf5, 0x4a, 0x79, 0xa0, 0xce,
- 0x69, 0xb4, 0x72, 0x86,
- 0x2d, 0x4a, 0xbb, 0xa3, 0x94, 0x76, 0x77, 0xbe, 0x24, 0x6f, 0x63, 0x82,
- 0x81, 0x57, 0xa2, 0xcb,
- 0x52, 0x66, 0x17, 0xb4, 0xcc, 0x53, 0xf6, 0x63, 0x96, 0x55, 0xe5, 0x56,
- 0x7a, 0xb1, 0x11, 0x1c,
- 0xc6, 0xc3, 0x73, 0xb9, 0x45, 0xf1, 0x89, 0x28, 0xf8, 0x43, 0x26, 0x1a,
- 0x92, 0x52, 0xc1, 0x51,
- 0xac, 0x3e, 0x8c, 0x9a, 0x7c, 0x19, 0x37, 0x1a, 0x31, 0x21, 0x2a, 0x3d,
- 0x4f, 0xbe, 0xb4, 0x71,
- 0x38, 0x9b, 0xe8, 0x97, 0xf5, 0xbb, 0x48, 0x51, 0x5f, 0x37, 0xe9, 0x71,
- 0xa7, 0x5d, 0x64, 0x3c,
- 0x47, 0xb7, 0x44, 0x80, 0xad, 0x9e, 0xc9, 0x8c, 0xed, 0x0d, 0x6f, 0xa5,
- 0x5c, 0xbb, 0xd7, 0xeb,
- 0xd3, 0x12, 0x20, 0x8d, 0x24, 0x3c, 0xb6, 0xc7, 0x83, 0x1b, 0xac, 0xe9,
- 0xb4, 0x58, 0x07, 0xa6,
- 0xc7, 0x4c, 0xf6, 0x16, 0x98, 0x3f, 0x8a, 0xd2, 0x93, 0x6a, 0x1a, 0xa1,
- 0xbd, 0x88, 0xa3, 0xf1,
- 0x53, 0xe9, 0x92, 0x1b, 0x11, 0x9d, 0xf5, 0x99, 0xfd, 0x7c, 0xd9, 0xed,
- 0x55, 0x6b, 0x73, 0xbc,
- 0x2c, 0xc5, 0x3e, 0x0c, 0x49, 0xb8, 0x74, 0x44, 0x4f, 0x46, 0x5f, 0x39,
- 0xae, 0x8d, 0xc0, 0x6b,
- 0xb8, 0x60, 0x5a, 0x01, 0xc0, 0x1a, 0x0b, 0x0f, 0x21, 0x50, 0x9c, 0x75,
- 0x46, 0x6e, 0x10, 0x26,
- 0xd2, 0x9d, 0xa5, 0x22, 0xf9, 0xf2, 0xb5, 0x3d, 0xe8, 0x32, 0x90, 0x52,
- 0x9b, 0x82, 0x65, 0x06,
- 0x46, 0x38, 0xc1, 0x2f, 0x70, 0x50, 0xca, 0x76, 0x86, 0x24, 0x53, 0x1e,
- 0x73, 0x61, 0xb5, 0x4b,
- 0x39, 0x14, 0x6d, 0x38, 0x28, 0x75, 0x4b, 0xab, 0x34, 0x1e, 0xd5, 0xca,
- 0x88, 0x87, 0x06, 0x9c,
- 0xad, 0xb1, 0x09, 0x35, 0xa1, 0xd7, 0x34, 0xe0, 0x5a, 0x08, 0x16, 0x86,
- 0x60, 0x64, 0xd6, 0xd1,
- 0xed, 0x2d, 0x50, 0x7e, 0x5a, 0x66, 0xf4, 0xcf, 0x65, 0xda, 0xcd, 0x84,
- 0xf1, 0x9c, 0xec, 0xdc,
- 0x79, 0x88, 0x34, 0x73, 0xd3, 0xc4, 0x8b, 0x84, 0x0b, 0xcc, 0x0e, 0xc8,
- 0x19, 0x7f, 0x3c, 0x91,
- 0x06, 0xa4, 0x98, 0x64, 0x8b, 0xe1, 0x0a, 0x59, 0xb9, 0xf6, 0x88, 0x1c,
- 0xe2, 0x99, 0x8f, 0x46,
- 0x92, 0x01, 0xfc, 0x69, 0x02, 0x43, 0x75, 0x12, 0xd7, 0xe0, 0x4b, 0x50,
- 0x0a, 0x7a, 0x5f, 0x0b,
- 0xf8, 0xfc, 0x03, 0x4a, 0x3b, 0xab, 0xcb, 0x20, 0x1e, 0x82, 0x47, 0x77,
- 0xd7, 0x96, 0x2a, 0x2b,
- 0x6c, 0x59, 0x67, 0x47, 0xb2, 0x09, 0xb4, 0x6b, 0x70, 0x94, 0x84, 0x3b,
- 0x3f, 0x75, 0xfa, 0x66,
- 0x13, 0x75, 0xcb, 0x50, 0xea, 0x2c, 0x35, 0xb6, 0xc2, 0xae, 0x02, 0xef,
- 0xc4, 0x93, 0x49, 0xb1,
- 0x87, 0xd0, 0xaf, 0x5d, 0x63, 0x8e, 0x4a, 0xfd, 0xac, 0xb8, 0xc1, 0xa3,
- 0x2c, 0x70, 0x99, 0xfc,
- 0x3b, 0xc9, 0xa4, 0xa5, 0x51, 0x2a, 0x4d, 0x9c, 0xe2, 0x4c, 0xad, 0x7f,
- 0xd6, 0xf0, 0xc2, 0x1f,
- 0xaf, 0x6c, 0xc0, 0xa8, 0xd8, 0x88, 0x32, 0xd7, 0x8c, 0x5a, 0x6e, 0x33,
- 0x3e, 0x13, 0x12, 0x52,
- 0xd0, 0x40, 0x6c, 0xbf, 0x80, 0xad, 0xb3, 0x0a, 0x3e, 0x60, 0xe8, 0xe7,
- 0xc5, 0xf5, 0xa1, 0x85,
- 0x44, 0xe5, 0x08, 0xb2, 0x09, 0x0f, 0xcc, 0x41, 0x50, 0x76, 0x2b, 0xab,
- 0x2d, 0x16, 0x71, 0xc8,
- 0x2e, 0x18, 0xf7, 0x91, 0x30, 0xe7, 0x72, 0x73, 0x99, 0x14, 0x27, 0x8c,
- 0xf0, 0xfa, 0x04, 0xe8,
- 0xba, 0xbd, 0x93, 0x9c, 0xb9, 0x45, 0x0d, 0x38, 0xf7, 0x02, 0xe4, 0xc0,
- 0x18, 0x19, 0xd4, 0xa5,
- 0xc5, 0x91, 0x3f, 0x8b, 0xe1, 0x60, 0x8c, 0xe5, 0x45, 0x38, 0x62, 0x14,
- 0xe3, 0xff, 0x67, 0x72,
- 0x51, 0x34, 0x5b, 0x86, 0x68, 0xc2, 0xf3, 0xae, 0x2b, 0x2e, 0xa1, 0x58,
- 0x0b, 0x1c, 0xb7, 0x3f,
- 0x11, 0xa8, 0x02, 0xcd, 0x93, 0x73, 0x33, 0x81, 0x14, 0xfc, 0x7a, 0x5a,
- 0x9a, 0xe4, 0x8d, 0x32,
- 0x85, 0x0d, 0x66, 0xc0, 0x1a, 0xd1, 0x4c, 0xca, 0x7a, 0xea, 0xb9, 0x16,
- 0x72, 0x07, 0x5d, 0x7f,
- 0xfa, 0x21, 0xca, 0xd7, 0x42, 0xf4, 0xcd, 0x17, 0xc8, 0xd0, 0x3f, 0xc2,
- 0x89, 0xe1, 0xee, 0xa8,
- 0x6e, 0x84, 0xae, 0xda, 0xcb, 0x56, 0xb2, 0x5c, 0xa6, 0xc6, 0xfc, 0x8e,
- 0x61, 0x02, 0x3e, 0xe5,
- 0x04, 0x79, 0x51, 0xf9, 0xf2, 0xbe, 0x0c, 0x6e, 0x6f, 0xa4, 0xf0, 0xa9,
- 0xbc, 0xee, 0x4b, 0xc5,
- 0x90, 0xdc, 0x35, 0xf4, 0x7b, 0x1c, 0x73, 0x25, 0x01, 0xb2, 0x33, 0xe5,
- 0x54, 0x0d, 0x9b, 0x88,
- 0xef, 0xf0, 0x99, 0xe3, 0x23, 0x39, 0xf2, 0xf8, 0xb3, 0x88, 0xb5, 0x31,
- 0xaf, 0xeb, 0x28, 0x5f,
- 0x7b, 0x55, 0xfd, 0xee, 0xaa, 0x9b, 0x8d, 0xb3, 0xdd, 0x9e, 0x76, 0x7d,
- 0x47, 0x08, 0xf8, 0x12,
- 0x6f, 0x0b, 0x2b, 0x75, 0x16, 0x98, 0xb1, 0xa6, 0xcd, 0xef, 0xc0, 0x35,
- 0x4e, 0xd8, 0x5c, 0x45,
- 0xfb, 0xae, 0x4f, 0x78, 0x9f, 0x3a, 0xce, 0xed, 0xa3, 0xf9, 0x03, 0x79,
- 0xa6, 0x3b, 0x8c, 0x08,
- 0x84, 0x82, 0xe3, 0x6f, 0xc7, 0x1f, 0x4f, 0x30, 0x11, 0xc3, 0x85, 0xad,
- 0x5d, 0xdd, 0x3f, 0xdf,
- 0x10, 0x27, 0x87, 0x62, 0x4e, 0xbd, 0x30, 0x7b, 0x7f, 0xd5, 0x46, 0xe1,
- 0xb5, 0x3e, 0xef, 0x92,
- 0x7a, 0xda, 0x78, 0x41, 0x77, 0x55, 0x8e, 0x49, 0xb6, 0xb7, 0x4a, 0xc6,
- 0x68, 0xd2, 0x9a, 0xb2,
- 0xee, 0x7f, 0x1c, 0x4c, 0xfe, 0xf7, 0xf1, 0x02, 0xd8, 0xa1, 0x89, 0x8a,
- 0x80, 0x31, 0x4a, 0xff,
- 0x91, 0x53, 0xb0, 0x5b, 0xa6, 0xd2, 0x70, 0xdf, 0x6a, 0x9b, 0x0f, 0x5e,
- 0x7b, 0xd7, 0xf9, 0x28,
- 0x05, 0xf6, 0xd4, 0x56, 0x2f, 0x70, 0x0f, 0x94, 0x04, 0x8d, 0xcc, 0x12,
- 0x93, 0x34, 0x29, 0x65,
- 0x45, 0x6a, 0x8d, 0x1d, 0xd4, 0xc1, 0xcf, 0xbb, 0x3b, 0x5f, 0x17, 0x10,
- 0x02, 0xcc, 0x13, 0x68,
- 0xd1, 0xcf, 0xe9, 0x10, 0x5d, 0x63, 0xb0, 0xf0, 0x55, 0x49, 0xd4, 0x5c,
- 0xea, 0x2f, 0xc3, 0x25,
- 0xae, 0xe3, 0x45, 0x07, 0x05, 0x46, 0x31, 0x2d, 0xe7, 0x73, 0x52, 0x88,
- 0x11, 0xc9, 0x70, 0xf2,
- 0x3a, 0x46, 0x21, 0x0a, 0x8c, 0xe4, 0x4e, 0x66, 0x89, 0x65, 0x91, 0xc4,
- 0xf9, 0x2a, 0xa0, 0xbf,
- 0x50, 0xbb, 0xde, 0x29, 0xb5, 0x0c, 0xf0, 0x54, 0x40, 0x07, 0x9d, 0xe3,
- 0x24, 0xc6, 0xd5, 0x9f,
- 0xc4, 0x1e, 0xba, 0x24, 0x3c, 0xae, 0x8f, 0x1f, 0x2e, 0x11, 0x5e, 0xaf,
- 0xcc, 0x25, 0x05, 0xd2,
- 0xbb, 0x32, 0x16, 0x33, 0x64, 0x8b, 0x0e, 0xc2, 0x9c, 0x2b, 0xd8, 0x7b,
- 0x37, 0xc3, 0xb6, 0x05,
- 0x2f, 0x97, 0x72, 0x3e, 0xed, 0x29, 0x71, 0x89, 0xf2, 0x3d, 0x1b, 0x37,
- 0xdf, 0x20, 0x66, 0x48,
- 0xe5, 0xdf, 0xf2, 0x4f, 0x7d, 0xd9, 0xec, 0x13, 0xbb, 0x51, 0xee, 0x15,
- 0x4a, 0x83, 0x7a, 0x95,
- 0x71, 0x7a, 0x96, 0x42, 0xf4, 0x7b, 0x93, 0x58, 0xd5, 0x47, 0x2d, 0x59,
- 0xa2, 0x60, 0xaa, 0xd8,
- 0x0e, 0x56, 0x3a, 0x55, 0xac, 0x5e, 0x12, 0x85, 0x67, 0x7d, 0xab, 0x8d,
- 0x59, 0x86, 0x19, 0x0f,
- 0x9a, 0xf3, 0x5e, 0x58, 0x25, 0xfc, 0x6d, 0xce, 0x09, 0x6b, 0x68, 0xc1,
- 0xb1, 0x65, 0xc9, 0x42,
- 0xf0, 0x0e, 0xa1, 0x7b, 0x1c, 0x14, 0xd3, 0xfc, 0xc0, 0x09, 0x64, 0xe6,
- 0x6c, 0x89, 0xbc, 0x62,
- 0x64, 0xab, 0xc5, 0x76, 0x95, 0xb6, 0xac, 0xb7, 0xae, 0x1f, 0xa7, 0xaa,
- 0x84, 0x6a, 0x6c, 0x2f,
- 0x1b, 0x87, 0x69, 0x61, 0xcd, 0x93, 0x2d, 0x6a, 0x1c, 0x25, 0x21, 0x7e,
- 0x7f, 0x8c, 0xdf, 0xf8,
- 0x8f, 0x22, 0x0d, 0x6c, 0x44, 0x31, 0x52, 0x21, 0x72, 0x33, 0xe2, 0x32,
- 0x97, 0x6f, 0x0f, 0xb5,
- 0xcf, 0xbe, 0x54, 0x27, 0xbf, 0x80, 0x92, 0x0e, 0x4d, 0xe1, 0x39, 0x30,
- 0x06, 0x97, 0x35, 0xb8,
- 0x5b, 0x1b, 0x30, 0x2a, 0x36, 0x22, 0xed, 0x45, 0x23, 0xf7, 0xfa, 0x7c,
- 0xee, 0x74, 0xe5, 0xf5,
- 0x24, 0x37, 0x9c, 0x3d, 0x6e, 0x07, 0x6c, 0x98, 0x91, 0xcd, 0x7c, 0xa8,
- 0x15, 0x92, 0x56, 0x22,
- 0xb0, 0x92, 0xf8, 0x30, 0xe7, 0xa5, 0x13, 0xd3, 0xff, 0xdb, 0xbf, 0xe4,
- 0xfd, 0x71, 0x86, 0x6f,
- 0xda, 0x6f, 0x07, 0x13, 0xde, 0x4d, 0xad, 0xe1, 0x36, 0xb9, 0xb3, 0xc3,
- 0x20, 0x9d, 0xf3, 0x4f,
- 0x4e, 0xca, 0x63, 0x1e, 0x57, 0xef, 0xd2, 0xaa, 0x58, 0xaf, 0x70, 0x8f,
- 0xc8, 0x7e, 0x23, 0x02,
- 0x31, 0xe6, 0xcf, 0x09, 0x0f, 0xca, 0x53, 0x77, 0xea, 0x95, 0xf6, 0x5b,
- 0x33, 0x98, 0x90, 0xd5,
- 0xa5, 0x43, 0xab, 0x04, 0x86, 0x68, 0x2c, 0x3c, 0x84, 0x83, 0x35, 0x17,
- 0xdb, 0x7b, 0x40, 0x98,
- 0xb1, 0x1d, 0x7d, 0x9f, 0x3a, 0x6b, 0x10, 0x29, 0x94, 0xf2, 0x83, 0x5f,
- 0xd2, 0xab, 0xe4, 0xcf,
- 0x25, 0xb8, 0x19, 0x92, 0xb3, 0xc9, 0x6f, 0x62, 0xfa, 0xe4, 0x40, 0x13,
- 0x3a, 0x48, 0x34, 0x82,
- 0x5a, 0x94, 0xb5, 0x85, 0xeb, 0xec, 0xee, 0xbf, 0x48, 0xde, 0xc6, 0xc7,
- 0xc1, 0xae, 0x87, 0x55,
- 0xce, 0x31, 0xd1, 0x88, 0x62, 0x4e, 0x91, 0xf4, 0x26, 0xc8, 0x05, 0x8b,
- 0x29, 0x4d, 0x57, 0x18,
- 0xa4, 0xcc, 0x2e, 0xab, 0x5b, 0xa6, 0x2f, 0xc6, 0xef, 0xaa, 0x09, 0xac,
- 0xf4, 0xa1, 0x22, 0x38,
- 0x30, 0x69, 0x4a, 0xa6, 0xd2, 0x04, 0x50, 0x8d, 0x81, 0xbc, 0xca, 0xe0,
- 0x1c, 0x42, 0xf2, 0x75,
- 0x4f, 0x45, 0xe6, 0xb1, 0x8a, 0x21, 0xd1, 0x50, 0x33, 0x86, 0x4c, 0x34,
- 0xe7, 0xa4, 0x41, 0xa2,
- 0xdb, 0xe0, 0x82, 0xbc, 0x03, 0x83, 0xae, 0x1b, 0x5d, 0x90, 0x8f, 0x78,
- 0x0f, 0x47, 0x91, 0xef,
- 0x9b, 0x7c, 0xdb, 0xf7, 0xf8, 0x32, 0x6e, 0x34, 0x62, 0x42, 0x54, 0x7a,
- 0x9e, 0xbf, 0xab, 0xe2,
- 0x0f, 0xd9, 0xbf, 0xfa, 0x71, 0x90, 0x11, 0x7f, 0x0c, 0x54, 0x97, 0x36,
- 0x76, 0x5c, 0x7b, 0xaf,
- 0x70, 0xf5, 0x13, 0xed, 0x29, 0xb5, 0x90, 0xa2, 0xbe, 0x6e, 0x11, 0xe2,
- 0x8d, 0xba, 0xc8, 0x78,
- 0xe4, 0x50, 0x77, 0xe0, 0xa0, 0x17, 0xef, 0xe9, 0xd0, 0x78, 0xd2, 0xae,
- 0x65, 0x59, 0x18, 0x35,
- 0x8e, 0xad, 0x88, 0xc3, 0x99, 0xff, 0x51, 0xdb, 0x19, 0x1a, 0xde, 0x89,
- 0xb8, 0xb5, 0x6d, 0x15,
- 0x1a, 0x08, 0xec, 0xce, 0x10, 0x5d, 0x2e, 0x90, 0x77, 0x0c, 0x1d, 0xc5,
- 0x50, 0x56, 0xbd, 0x58,
- 0x65, 0x24, 0x40, 0xd9, 0x48, 0x78, 0xaf, 0x4d, 0xc5, 0x36, 0x9b, 0x11,
- 0xab, 0xb0, 0x0e, 0x8f,
- 0xf1, 0x81, 0x24, 0xd4, 0xc1, 0xda, 0xd0, 0x06, 0xab, 0x20, 0x58, 0x5d,
- 0x43, 0x53, 0xde, 0xc2,
- 0x4d, 0x98, 0x2f, 0x2c, 0xf3, 0x7e, 0xd7, 0x67, 0xe5, 0xd4, 0x34, 0x81,
- 0xb9, 0xd3, 0x85, 0x21,
- 0xd9, 0x3d, 0x4b, 0x21, 0x7a, 0xdc, 0xa8, 0x2c, 0x8b, 0xc2, 0xf7, 0xcd,
- 0x51, 0x30, 0x55, 0x6c,
- 0xa6, 0x11, 0xe7, 0x36, 0x22, 0xf9, 0x29, 0xf1, 0x39, 0xf8, 0x71, 0x19,
- 0xaa, 0xd6, 0xe6, 0xbb,
- 0x32, 0xb4, 0x83, 0x3b, 0xab, 0x5b, 0x56, 0xba, 0x57, 0xee, 0xb2, 0x55,
- 0x42, 0x35, 0x36, 0xf6,
- 0x58, 0x49, 0x7c, 0x18, 0x92, 0xb3, 0xe8, 0x88, 0x9e, 0x8c, 0xbe, 0x72,
- 0x9f, 0xd9, 0x43, 0xd6,
- 0xcc, 0xec, 0x18, 0x15, 0x1b, 0x11, 0x97, 0xc3, 0xf0, 0x9a, 0x7d, 0x3e,
- 0x77, 0x3a, 0x93, 0x9b,
- 0xb3, 0xc0, 0xb4, 0x02, 0x43, 0x34, 0x16, 0x1e, 0x42, 0xa0, 0xfb, 0xea,
- 0x8c, 0xdc, 0x20, 0x4c,
- 0x27, 0x65, 0xd0, 0x0f, 0xca, 0x96, 0x69, 0x55, 0x2c, 0xb6, 0x38, 0xa6,
- 0x64, 0x3f, 0xf0, 0x01,
- 0x67, 0xf9, 0x89, 0x44, 0x31, 0x27, 0xa9, 0x7a, 0x13, 0x64, 0xe3, 0xa4,
- 0xf5, 0xc7, 0xca, 0x0c,
- 0xf3, 0x5c, 0xed, 0x49, 0xb8, 0x85, 0xd6, 0x31, 0x7d, 0x72, 0x20, 0xe8,
- 0x1d, 0x24, 0x1a, 0x41,
- 0x8c, 0x70, 0x41, 0x5e, 0xe0, 0xa0, 0x57, 0xec, 0xcf, 0x48, 0xa6, 0x3c,
- 0xe6, 0xc2, 0xa9, 0x96,
- 0x18, 0xd5, 0x25, 0x53, 0x69, 0x02, 0x28, 0xa7, 0xa1, 0x5e, 0x65, 0x70,
- 0x0e, 0x21, 0x79, 0xdb,
- 0x72, 0x28, 0xda, 0x70, 0x50, 0xea, 0x96, 0x95, 0x68, 0x3c, 0x69, 0x57,
- 0xd3, 0xcd, 0x0c, 0xfb,
- 0xe6, 0x8d, 0xbe, 0x7d, 0xd9, 0x48, 0xe9, 0xde, 0x06, 0x2a, 0xaa, 0x1b,
- 0x3b, 0x2e, 0xdc, 0xb6,
- 0x99, 0xa1, 0x12, 0x6a, 0x81, 0x6d, 0x68, 0x03, 0xb4, 0x10, 0x2c, 0xcf,
- 0xc0, 0xc8, 0x6f, 0x61,
- 0x0d, 0x04, 0x76, 0x67, 0x08, 0xcf, 0x17, 0x48, 0xda, 0x06, 0xef, 0x83,
- 0x28, 0x2b, 0xbf, 0x2c,
- 0x19, 0x5a, 0xa0, 0xfc, 0xb4, 0xcc, 0x2b, 0x5d, 0xca, 0x77, 0x59, 0xcb,
- 0x21, 0xfb, 0x1b, 0x7b,
- 0x8d, 0xff, 0xc4, 0xf1, 0x3d, 0x6e, 0x54, 0x16, 0xa4, 0x61, 0x9a, 0x87,
- 0xc9, 0x18, 0xcb, 0x36,
- 0xf2, 0xd3, 0x68, 0xe6, 0x65, 0x4b, 0xd5, 0xcb, 0x16, 0x5b, 0x1c, 0x53,
- 0x32, 0xfe, 0x78, 0xe1,
- 0x66, 0x76, 0x0c, 0xeb, 0xec, 0xe9, 0xaa, 0x80, 0x78, 0x4d, 0xdf, 0x1f,
- 0xda, 0x1d, 0xa8, 0xac,
- 0x0c, 0x8b, 0xf3, 0xc8, 0xd5, 0x01, 0x14, 0xb2, 0xb1, 0x2f, 0xd3, 0x38,
- 0x07, 0xf1, 0xdd, 0x8c,
- 0x98, 0x2e, 0x97, 0xc5, 0x5c, 0xa3, 0x6b, 0xf9, 0xdf, 0x39, 0x10, 0x74,
- 0xef, 0x12, 0x0d, 0xc1,
- 0xe7, 0x02, 0x3b, 0xd2, 0x04, 0x86, 0xea, 0x24, 0x6d, 0x03, 0x96, 0xa0,
- 0x14, 0xf4, 0xbe, 0x16,
- 0x73, 0xa7, 0x5f, 0xdf, 0x8d, 0x24, 0x95, 0x6f, 0x03, 0x15, 0x55, 0xec,
- 0xfc, 0x17, 0x6e, 0x5b,
- 0x33, 0x3b, 0x06, 0x94, 0x76, 0x95, 0x55, 0x40, 0x3c, 0xc7, 0x8e, 0xee,
- 0x6d, 0xef, 0x54, 0x56,
- 0xa7, 0x9e, 0x62, 0x99, 0xff, 0x37, 0x2a, 0x0b, 0x52, 0xd1, 0x4d, 0xa2,
- 0x85, 0x0c, 0x84, 0x1b,
- 0xd8, 0xb2, 0xce, 0x8e, 0xa7, 0x12, 0xab, 0xd6, 0xe0, 0xeb, 0xcb, 0x76,
- 0x7e, 0xea, 0x37, 0xcc,
- 0x4c, 0x17, 0xaa, 0x83, 0x2e, 0xb0, 0xd4, 0x9d, 0x8e, 0xfd, 0x08, 0x3a,
- 0x96, 0x09, 0xe7, 0x81,
- 0x26, 0xea, 0x55, 0xa0, 0x17, 0x58, 0x6a, 0xaf, 0x47, 0x9f, 0x04, 0x1d,
- 0x4b, 0xe5, 0x92, 0xa1,
- 0xb2, 0x4f, 0x31, 0xad, 0x9e, 0xfa, 0x15, 0xe4, 0x29, 0x89, 0xc7, 0x51,
- 0xa3, 0x06, 0x42, 0xec,
- 0xcd, 0x63, 0x9d, 0xba, 0xc6, 0xdf, 0x94, 0x39, 0x9b, 0xb3, 0x41, 0x85,
- 0x58, 0xe0, 0xf1, 0x3b,
- 0x59, 0xc6, 0xf9, 0xb7, 0x4f, 0x7d, 0xeb, 0x72, 0xf5, 0xa5, 0x82, 0xc9,
- 0xb0, 0x03, 0x21, 0x76,
- 0x76, 0x51, 0x8b, 0x89, 0xa2, 0x54, 0x9a, 0xfb, 0x07, 0x98, 0x99, 0xfe,
- 0x6f, 0x23, 0x47, 0x3e,
- 0xe2, 0xf4, 0xef, 0x84, 0x2b, 0xf6, 0xe5, 0xb0, 0x69, 0x8e, 0x5a, 0xb2,
- 0x87, 0xc0, 0x97, 0x73,
- 0x9d, 0xd8, 0x43, 0x93, 0x73, 0xd3, 0x64, 0x6d, 0xdb, 0xb4, 0xdc, 0x66,
- 0x7c, 0x26, 0x24, 0xa4,
- 0x09, 0x7d, 0x27, 0x9e, 0xfa, 0x71, 0x1b, 0x26, 0xb5, 0xa2, 0x1f, 0x2a,
- 0x94, 0xc5, 0xf4, 0xe9,
- 0x63, 0x80, 0xd8, 0xbd, 0xc3, 0x99, 0xa5, 0x14, 0x7c, 0xc0, 0x13, 0x0d,
- 0x49, 0x29, 0x81, 0xc9,
- 0xf7, 0x25, 0xbc, 0xb0, 0x4a, 0x3b, 0xda, 0x5f, 0x12, 0xd6, 0xd0, 0x41,
- 0xa1, 0xca, 0x51, 0x84,
- 0x88, 0x09, 0x10, 0xa7, 0x12, 0x1e, 0x5b, 0x82, 0xa0, 0xec, 0x56, 0x95,
- 0x5a, 0x2c, 0xe2, 0x53,
- 0x1c, 0xac, 0x74, 0xaa, 0x9b, 0xbc, 0x24, 0xc9, 0xce, 0xfa, 0x95, 0xd9,
- 0xb2, 0xcf, 0x32, 0x1e,
- 0x5c, 0x30, 0x2d, 0xe1, 0x60, 0x0d, 0xe4, 0xe6, 0xf1, 0x28, 0x4e, 0xdb,
- 0x23, 0x37, 0x08, 0x13,
- 0xc8, 0x95, 0x49, 0xec, 0xe9, 0xaf, 0x9b, 0xad, 0x9f, 0x3e, 0x8d, 0x97,
- 0xcb, 0xd4, 0xd8, 0x5e,
- 0xb7, 0xb9, 0xe5, 0xfb, 0xb1, 0x8a, 0x1a, 0x70, 0x2d, 0x04, 0x0b, 0x43,
- 0x30, 0x32, 0x6b, 0x89,
- 0x23, 0x1c, 0x81, 0xf6, 0x38, 0x28, 0x65, 0x3b, 0x43, 0x12, 0xc8, 0x0f,
- 0xd8, 0xd1, 0xbb, 0xc4,
- 0x49, 0xe1, 0x7e, 0xd5, 0x01, 0xc0, 0xdb, 0x09, 0x8a, 0x70, 0xc4, 0x28,
- 0x05, 0x3d, 0xce, 0xe4,
- 0xdd, 0x44, 0x1a, 0xd8, 0x88, 0x62, 0xa4, 0x42, 0xe4, 0x66, 0x07, 0x64,
- 0xed, 0xde, 0x1e, 0xa9,
- 0xa2, 0x68, 0xb6, 0xcf, 0xd0, 0x47, 0x25, 0x9f, 0x56, 0x5c, 0x81, 0xb0,
- 0x16, 0x38, 0xad, 0x7e,
- 0x36, 0xcd, 0xd2, 0xc2, 0x59, 0xe5, 0x5a, 0xd4, 0x38, 0x4a, 0x42, 0xfc,
- 0xfe, 0xdb, 0x7d, 0x33,
- 0x22, 0x93, 0x04, 0x59, 0xe5, 0xe6, 0x66, 0xc1, 0x28, 0x3b, 0xf4, 0xb4,
- 0xf7, 0x0b, 0xd9, 0x64,
- 0xb6, 0x36, 0x60, 0x54, 0x6c, 0x44, 0x19, 0x8a, 0x46, 0x2d, 0x37, 0xf8,
- 0x1f, 0xe8, 0x09, 0x29,
- 0xc9, 0x1a, 0xcc, 0x43, 0x34, 0x61, 0x98, 0x57, 0xf4, 0x17, 0xb1, 0x2c,
- 0xe4, 0x0e, 0xba, 0xfe,
- 0x5d, 0xbf, 0xa8, 0x4e, 0xbd, 0xc3, 0xe7, 0x1c, 0x9a, 0x01, 0x72, 0x60,
- 0x0c, 0xed, 0x6a, 0xb3,
- 0x37, 0x42, 0x57, 0x6d, 0x84, 0x2b, 0x59, 0x2e, 0x53, 0x63, 0x7e, 0x47,
- 0xd1, 0x01, 0x1f, 0x93,
- 0xa3, 0xe7, 0x33, 0x60, 0x0d, 0x89, 0x26, 0x65, 0x3d, 0x75, 0xbd, 0x0b,
- 0x39, 0xe2, 0xcf, 0xde,
- 0xdc, 0xcb, 0x9f, 0x77, 0x55, 0xac, 0xa7, 0xb8, 0x8f, 0x4f, 0x3b, 0xdf,
- 0xc2, 0x04, 0x7c, 0x09,
- 0x48, 0x6e, 0xfb, 0x7a, 0xdc, 0x0e, 0xd8, 0xf3, 0xe1, 0x59, 0xf8, 0x93,
- 0x2a, 0xe7, 0xac, 0x44,
- 0x08, 0xf2, 0xa2, 0x31, 0x27, 0xbf, 0x18, 0xdc, 0xde, 0x8b, 0x23, 0x91,
- 0xbb, 0x1f, 0x96, 0x49,
- 0x9c, 0x57, 0xc6, 0x3c, 0xae, 0x1d, 0x67, 0x97, 0xb0, 0x9d, 0xe0, 0xdd,
- 0x53, 0xfc, 0x46, 0x04,
- 0xe3, 0x7b, 0x6a, 0x2b, 0xf6, 0x38, 0xe6, 0x4a, 0x02, 0xa7, 0x66, 0x09,
- 0xa8, 0x1a, 0xf5, 0xd3,
- 0x77, 0xde, 0x0e, 0x26, 0x7f, 0x9a, 0x99, 0x01, 0x6c, 0xb1, 0xa5, 0x45,
- 0x40, 0xf9, 0x25, 0x9e,
- 0x1d, 0x23, 0xf1, 0x05, 0x46, 0x72, 0x27, 0x33, 0xa5, 0xd3, 0xa9, 0x62,
- 0x9d, 0x15, 0x50, 0xbe,
- 0x89, 0x86, 0x95, 0x08, 0xcf, 0xd0, 0x58, 0x78, 0xcb, 0xc5, 0x6a, 0x2e,
- 0x75, 0xf6, 0x80, 0xf3,
- 0xf6, 0xaa, 0x39, 0x1f, 0x97, 0xf5, 0xd9, 0xa5, 0x79, 0xff, 0xec, 0xfa,
- 0x8e, 0x10, 0x33, 0x24,
- 0x62, 0x0f, 0x5d, 0x12, 0x1e, 0x57, 0xa6, 0xee, 0x17, 0xe9, 0x2f, 0xb6,
- 0x66, 0xf3, 0xe3, 0x69,
- 0xde, 0x16, 0x56, 0xea, 0x2c, 0xf3, 0xa1, 0x8f, 0x59, 0x1d, 0x43, 0x6a,
- 0x9c, 0x73, 0xb8, 0x8a,
- 0x4a, 0xb3, 0x32, 0xe7, 0xa5, 0x51, 0xde, 0xc4, 0x37, 0x0b, 0x80, 0x26,
- 0x74, 0x90, 0x68, 0xc7,
- 0x35, 0x9f, 0x9e, 0xf0, 0xfd, 0x74, 0x5f, 0x19, 0x85, 0x31, 0x06, 0xf2,
- 0x8f, 0x76, 0xdb, 0x10,
- 0xa1, 0x3a, 0xfa, 0xfd, 0x74, 0xd6, 0x20, 0x52, 0xeb, 0x27, 0xc5, 0xbe,
- 0x67, 0x95, 0x0b, 0x5d,
- 0xcb, 0xc7, 0x05, 0xde, 0x4d, 0x3e, 0x9e, 0x60, 0x22, 0x45, 0xc9, 0x99,
- 0xba, 0x79, 0x7e, 0x7d,
- 0x5f, 0x62, 0x61, 0xd3, 0xc4, 0x9c, 0xe1, 0x2b, 0x4c, 0x53, 0x0a, 0xd5,
- 0x52, 0x9a, 0xae, 0x30,
- 0x20, 0x4e, 0xcd, 0xc4, 0x9c, 0xb9, 0x60, 0xf6, 0xfe, 0x69, 0x8c, 0x01,
- 0xa9, 0x7c, 0x1d, 0xe7,
- 0xb4, 0xeb, 0xa9, 0xc9, 0x15, 0x1b, 0x1f, 0xbd, 0x90, 0x7f, 0x4f, 0x4d,
- 0x41, 0x9f, 0xcd, 0xaa,
- 0xf4, 0x77, 0xf0, 0x82, 0xee, 0xaa, 0xdf, 0x92, 0xaf, 0xad, 0x94, 0x4f,
- 0xd0, 0x67, 0xf7, 0xa7,
- 0x60, 0xd2, 0x94, 0x8f, 0x67, 0x08, 0xa0, 0xd9, 0xc1, 0xbb, 0x57, 0x03,
- 0x38, 0x84, 0x27, 0xea,
- 0x1f, 0xfe, 0x38, 0x98, 0x3f, 0x2d, 0x21, 0x04, 0x73, 0x81, 0xd1, 0xd7,
- 0xc3, 0x62, 0x94, 0x3d,
- 0x8b, 0x5b, 0x5c, 0x95, 0xb6, 0x8f, 0x5e, 0x4f, 0x1d, 0x97, 0x12, 0x9b,
- 0x2b, 0x81, 0x44, 0x70,
- 0xe1, 0xa6, 0xa3, 0xb6, 0x8f, 0x67, 0xe0, 0x7d, 0xd4, 0xf5, 0x1e, 0xbc,
- 0xf6, 0x6d, 0x31, 0x50,
- 0x75, 0x03, 0xc7, 0xbb, 0x06, 0xc5, 0x9f, 0x36, 0xba, 0xe3, 0xdd, 0xf0,
- 0x1e, 0x8e, 0xe1, 0x1d,
- 0x0a, 0x2f, 0x6b, 0xac, 0x5e, 0xe0, 0x1e, 0xeb, 0x08, 0xd9, 0x5b, 0x24,
- 0xe5, 0x68, 0x52, 0xca,
- 0x9e, 0x8a, 0x0f, 0xa1, 0xd7, 0x42, 0x61, 0xa0, 0x66, 0xcf, 0x98, 0x68,
- 0x0d, 0x8b, 0x82, 0x87,
- 0x8a, 0xd4, 0xd9, 0x3a, 0x6b, 0x41, 0x5d, 0xb5, 0x76, 0xbe, 0x2e, 0x20,
- 0x04, 0x5b, 0x26, 0xd0,
- 0x1e, 0x71, 0xbd, 0x37, 0xe2, 0xe3, 0x22, 0xfe, 0x18, 0xa8, 0xed, 0x6c,
- 0xec, 0xb8, 0xf6, 0x9d,
- 0x61, 0x5d, 0x11, 0x20, 0xba, 0xc6, 0xa3, 0x23, 0xaa, 0x92, 0x6b, 0xb8,
- 0x17, 0x5e, 0x45, 0x4a,
- 0xf5, 0xf8, 0x75, 0x2d, 0x33, 0x64, 0xdc, 0x68, 0xc4, 0x84, 0xa8, 0xf4,
- 0xff, 0xbd, 0x95, 0x07,
- 0x9f, 0x05, 0x8a, 0x0e, 0x0a, 0x8c, 0x62, 0x5a, 0x0d, 0xe6, 0xa4, 0xd3,
- 0x22, 0x51, 0xe0, 0x27,
- 0x0b, 0xa0, 0xee, 0x03, 0x83, 0x2e, 0x1d, 0x11, 0x63, 0xf0, 0x67, 0x9f,
- 0xca, 0xb2, 0x30, 0x6a,
- 0x74, 0x8c, 0x42, 0x14, 0xdb, 0x0b, 0x9c, 0xcc, 0xd1, 0xca, 0xe1, 0x4b,
- 0x31, 0x54, 0x83, 0xbd,
- 0xe0, 0x29, 0x26, 0x19, 0x52, 0xa9, 0xe3, 0x87, 0xbf, 0xdc, 0x22, 0x07,
- 0xd9, 0xb7, 0x53, 0xf0,
- 0xa0, 0xb5, 0x7f, 0x52, 0xa9, 0x18, 0x23, 0xa8, 0x80, 0x0e, 0xf9, 0x05,
- 0x48, 0x4f, 0x69, 0xfd,
- 0x34, 0x10, 0x1b, 0x5f, 0x20, 0xba, 0x5c, 0xe3, 0xee, 0x18, 0x3a, 0x49,
- 0xa0, 0xac, 0xb9, 0xb0,
- 0x4b, 0x3c, 0xb7, 0x48, 0x78, 0x9f, 0xdd, 0x3e, 0x5c, 0x22, 0xbc, 0x9d,
- 0x5b, 0x4a, 0x0a, 0x67,
- 0xdf, 0x99, 0xd3, 0x45, 0xf1, 0x3d, 0xa2, 0x75, 0x32, 0x34, 0x7f, 0xd1,
- 0xb3, 0xa9, 0xda, 0x2a,
- 0xb5, 0x64, 0x2c, 0x66, 0xc8, 0xd5, 0x1c, 0x47, 0xfb, 0x56, 0x73, 0xf6,
- 0x6e, 0x45, 0xaf, 0x0a,
- 0x21, 0xc1, 0x48, 0x6b, 0x41, 0x77, 0x63, 0x0c, 0x95, 0x40, 0xb0, 0xba,
- 0x86, 0xa6, 0x7f, 0x47,
- 0x5e, 0xed, 0xe4, 0x7c, 0x19, 0x52, 0xe2, 0xd1, 0x27, 0x7a, 0x36, 0x6e,
- 0x7d, 0x40, 0xcc, 0x90,
- 0xca, 0x48, 0x80, 0x71, 0x90, 0xf0, 0x9d, 0x9a, 0x49, 0x6c, 0xf5, 0x22,
- 0x95, 0xa3, 0x1c, 0xdd,
- },
- { /* 2 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x3c, 0x48, 0xf8, 0x48, 0x48, 0xc8, 0x8e, 0x2a, 0xf5, 0x02, 0xdd,
- 0x14, 0x30, 0x44, 0x8e,
- 0x40, 0x78, 0x90, 0x33, 0x90, 0x90, 0x53, 0xdf, 0x54, 0x29, 0x04, 0x79,
- 0x28, 0x60, 0x88, 0xdf,
- 0x60, 0x44, 0xd8, 0xcb, 0xd8, 0xd8, 0x9b, 0x51, 0x7e, 0xdc, 0x06, 0xa4,
- 0x3c, 0x50, 0xcc, 0x51,
- 0x80, 0xf0, 0xe3, 0x66, 0xe3, 0xe3, 0xa6, 0x7d, 0xa8, 0x52, 0x08, 0xf2,
- 0x50, 0xc0, 0xd3, 0x7d,
- 0xa0, 0xcc, 0xab, 0x9e, 0xab, 0xab, 0x6e, 0xf3, 0x82, 0xa7, 0x0a, 0x2f,
- 0x44, 0xf0, 0x97, 0xf3,
- 0xc0, 0x88, 0x73, 0x55, 0x73, 0x73, 0xf5, 0xa2, 0xfc, 0x7b, 0x0c, 0x8b,
- 0x78, 0xa0, 0x5b, 0xa2,
- 0xe0, 0xb4, 0x3b, 0xad, 0x3b, 0x3b, 0x3d, 0x2c, 0xd6, 0x8e, 0x0e, 0x56,
- 0x6c, 0x90, 0x1f, 0x2c,
- 0xc3, 0x23, 0x05, 0xcc, 0x05, 0x05, 0x8f, 0xfa, 0x93, 0xa4, 0x10, 0x27,
- 0xa0, 0x43, 0x65, 0xfa,
- 0xe3, 0x1f, 0x4d, 0x34, 0x4d, 0x4d, 0x47, 0x74, 0xb9, 0x51, 0x12, 0xfa,
- 0xb4, 0x73, 0x21, 0x74,
- 0x83, 0x5b, 0x95, 0xff, 0x95, 0x95, 0xdc, 0x25, 0xc7, 0x8d, 0x14, 0x5e,
- 0x88, 0x23, 0xed, 0x25,
- 0xa3, 0x67, 0xdd, 0x07, 0xdd, 0xdd, 0x14, 0xab, 0xed, 0x78, 0x16, 0x83,
- 0x9c, 0x13, 0xa9, 0xab,
- 0x43, 0xd3, 0xe6, 0xaa, 0xe6, 0xe6, 0x29, 0x87, 0x3b, 0xf6, 0x18, 0xd5,
- 0xf0, 0x83, 0xb6, 0x87,
- 0x63, 0xef, 0xae, 0x52, 0xae, 0xae, 0xe1, 0x09, 0x11, 0x03, 0x1a, 0x08,
- 0xe4, 0xb3, 0xf2, 0x09,
- 0x03, 0xab, 0x76, 0x99, 0x76, 0x76, 0x7a, 0x58, 0x6f, 0xdf, 0x1c, 0xac,
- 0xd8, 0xe3, 0x3e, 0x58,
- 0x23, 0x97, 0x3e, 0x61, 0x3e, 0x3e, 0xb2, 0xd6, 0x45, 0x2a, 0x1e, 0x71,
- 0xcc, 0xd3, 0x7a, 0xd6,
- 0x45, 0x46, 0x0a, 0x5b, 0x0a, 0x0a, 0xdd, 0x37, 0xe5, 0x8b, 0x20, 0x4e,
- 0x83, 0x86, 0xca, 0x37,
- 0x65, 0x7a, 0x42, 0xa3, 0x42, 0x42, 0x15, 0xb9, 0xcf, 0x7e, 0x22, 0x93,
- 0x97, 0xb6, 0x8e, 0xb9,
- 0x05, 0x3e, 0x9a, 0x68, 0x9a, 0x9a, 0x8e, 0xe8, 0xb1, 0xa2, 0x24, 0x37,
- 0xab, 0xe6, 0x42, 0xe8,
- 0x25, 0x02, 0xd2, 0x90, 0xd2, 0xd2, 0x46, 0x66, 0x9b, 0x57, 0x26, 0xea,
- 0xbf, 0xd6, 0x06, 0x66,
- 0xc5, 0xb6, 0xe9, 0x3d, 0xe9, 0xe9, 0x7b, 0x4a, 0x4d, 0xd9, 0x28, 0xbc,
- 0xd3, 0x46, 0x19, 0x4a,
- 0xe5, 0x8a, 0xa1, 0xc5, 0xa1, 0xa1, 0xb3, 0xc4, 0x67, 0x2c, 0x2a, 0x61,
- 0xc7, 0x76, 0x5d, 0xc4,
- 0x85, 0xce, 0x79, 0x0e, 0x79, 0x79, 0x28, 0x95, 0x19, 0xf0, 0x2c, 0xc5,
- 0xfb, 0x26, 0x91, 0x95,
- 0xa5, 0xf2, 0x31, 0xf6, 0x31, 0x31, 0xe0, 0x1b, 0x33, 0x05, 0x2e, 0x18,
- 0xef, 0x16, 0xd5, 0x1b,
- 0x86, 0x65, 0x0f, 0x97, 0x0f, 0x0f, 0x52, 0xcd, 0x76, 0x2f, 0x30, 0x69,
- 0x23, 0xc5, 0xaf, 0xcd,
- 0xa6, 0x59, 0x47, 0x6f, 0x47, 0x47, 0x9a, 0x43, 0x5c, 0xda, 0x32, 0xb4,
- 0x37, 0xf5, 0xeb, 0x43,
- 0xc6, 0x1d, 0x9f, 0xa4, 0x9f, 0x9f, 0x01, 0x12, 0x22, 0x06, 0x34, 0x10,
- 0x0b, 0xa5, 0x27, 0x12,
- 0xe6, 0x21, 0xd7, 0x5c, 0xd7, 0xd7, 0xc9, 0x9c, 0x08, 0xf3, 0x36, 0xcd,
- 0x1f, 0x95, 0x63, 0x9c,
- 0x06, 0x95, 0xec, 0xf1, 0xec, 0xec, 0xf4, 0xb0, 0xde, 0x7d, 0x38, 0x9b,
- 0x73, 0x05, 0x7c, 0xb0,
- 0x26, 0xa9, 0xa4, 0x09, 0xa4, 0xa4, 0x3c, 0x3e, 0xf4, 0x88, 0x3a, 0x46,
- 0x67, 0x35, 0x38, 0x3e,
- 0x46, 0xed, 0x7c, 0xc2, 0x7c, 0x7c, 0xa7, 0x6f, 0x8a, 0x54, 0x3c, 0xe2,
- 0x5b, 0x65, 0xf4, 0x6f,
- 0x66, 0xd1, 0x34, 0x3a, 0x34, 0x34, 0x6f, 0xe1, 0xa0, 0xa1, 0x3e, 0x3f,
- 0x4f, 0x55, 0xb0, 0xe1,
- 0x8a, 0x8c, 0x14, 0xb6, 0x14, 0x14, 0x79, 0x6e, 0x09, 0xd5, 0x40, 0x9c,
- 0xc5, 0xcf, 0x57, 0x6e,
- 0xaa, 0xb0, 0x5c, 0x4e, 0x5c, 0x5c, 0xb1, 0xe0, 0x23, 0x20, 0x42, 0x41,
- 0xd1, 0xff, 0x13, 0xe0,
- 0xca, 0xf4, 0x84, 0x85, 0x84, 0x84, 0x2a, 0xb1, 0x5d, 0xfc, 0x44, 0xe5,
- 0xed, 0xaf, 0xdf, 0xb1,
- 0xea, 0xc8, 0xcc, 0x7d, 0xcc, 0xcc, 0xe2, 0x3f, 0x77, 0x09, 0x46, 0x38,
- 0xf9, 0x9f, 0x9b, 0x3f,
- 0x0a, 0x7c, 0xf7, 0xd0, 0xf7, 0xf7, 0xdf, 0x13, 0xa1, 0x87, 0x48, 0x6e,
- 0x95, 0x0f, 0x84, 0x13,
- 0x2a, 0x40, 0xbf, 0x28, 0xbf, 0xbf, 0x17, 0x9d, 0x8b, 0x72, 0x4a, 0xb3,
- 0x81, 0x3f, 0xc0, 0x9d,
- 0x4a, 0x04, 0x67, 0xe3, 0x67, 0x67, 0x8c, 0xcc, 0xf5, 0xae, 0x4c, 0x17,
- 0xbd, 0x6f, 0x0c, 0xcc,
- 0x6a, 0x38, 0x2f, 0x1b, 0x2f, 0x2f, 0x44, 0x42, 0xdf, 0x5b, 0x4e, 0xca,
- 0xa9, 0x5f, 0x48, 0x42,
- 0x49, 0xaf, 0x11, 0x7a, 0x11, 0x11, 0xf6, 0x94, 0x9a, 0x71, 0x50, 0xbb,
- 0x65, 0x8c, 0x32, 0x94,
- 0x69, 0x93, 0x59, 0x82, 0x59, 0x59, 0x3e, 0x1a, 0xb0, 0x84, 0x52, 0x66,
- 0x71, 0xbc, 0x76, 0x1a,
- 0x09, 0xd7, 0x81, 0x49, 0x81, 0x81, 0xa5, 0x4b, 0xce, 0x58, 0x54, 0xc2,
- 0x4d, 0xec, 0xba, 0x4b,
- 0x29, 0xeb, 0xc9, 0xb1, 0xc9, 0xc9, 0x6d, 0xc5, 0xe4, 0xad, 0x56, 0x1f,
- 0x59, 0xdc, 0xfe, 0xc5,
- 0xc9, 0x5f, 0xf2, 0x1c, 0xf2, 0xf2, 0x50, 0xe9, 0x32, 0x23, 0x58, 0x49,
- 0x35, 0x4c, 0xe1, 0xe9,
- 0xe9, 0x63, 0xba, 0xe4, 0xba, 0xba, 0x98, 0x67, 0x18, 0xd6, 0x5a, 0x94,
- 0x21, 0x7c, 0xa5, 0x67,
- 0x89, 0x27, 0x62, 0x2f, 0x62, 0x62, 0x03, 0x36, 0x66, 0x0a, 0x5c, 0x30,
- 0x1d, 0x2c, 0x69, 0x36,
- 0xa9, 0x1b, 0x2a, 0xd7, 0x2a, 0x2a, 0xcb, 0xb8, 0x4c, 0xff, 0x5e, 0xed,
- 0x09, 0x1c, 0x2d, 0xb8,
- 0xcf, 0xca, 0x1e, 0xed, 0x1e, 0x1e, 0xa4, 0x59, 0xec, 0x5e, 0x60, 0xd2,
- 0x46, 0x49, 0x9d, 0x59,
- 0xef, 0xf6, 0x56, 0x15, 0x56, 0x56, 0x6c, 0xd7, 0xc6, 0xab, 0x62, 0x0f,
- 0x52, 0x79, 0xd9, 0xd7,
- 0x8f, 0xb2, 0x8e, 0xde, 0x8e, 0x8e, 0xf7, 0x86, 0xb8, 0x77, 0x64, 0xab,
- 0x6e, 0x29, 0x15, 0x86,
- 0xaf, 0x8e, 0xc6, 0x26, 0xc6, 0xc6, 0x3f, 0x08, 0x92, 0x82, 0x66, 0x76,
- 0x7a, 0x19, 0x51, 0x08,
- 0x4f, 0x3a, 0xfd, 0x8b, 0xfd, 0xfd, 0x02, 0x24, 0x44, 0x0c, 0x68, 0x20,
- 0x16, 0x89, 0x4e, 0x24,
- 0x6f, 0x06, 0xb5, 0x73, 0xb5, 0xb5, 0xca, 0xaa, 0x6e, 0xf9, 0x6a, 0xfd,
- 0x02, 0xb9, 0x0a, 0xaa,
- 0x0f, 0x42, 0x6d, 0xb8, 0x6d, 0x6d, 0x51, 0xfb, 0x10, 0x25, 0x6c, 0x59,
- 0x3e, 0xe9, 0xc6, 0xfb,
- 0x2f, 0x7e, 0x25, 0x40, 0x25, 0x25, 0x99, 0x75, 0x3a, 0xd0, 0x6e, 0x84,
- 0x2a, 0xd9, 0x82, 0x75,
- 0x0c, 0xe9, 0x1b, 0x21, 0x1b, 0x1b, 0x2b, 0xa3, 0x7f, 0xfa, 0x70, 0xf5,
- 0xe6, 0x0a, 0xf8, 0xa3,
- 0x2c, 0xd5, 0x53, 0xd9, 0x53, 0x53, 0xe3, 0x2d, 0x55, 0x0f, 0x72, 0x28,
- 0xf2, 0x3a, 0xbc, 0x2d,
- 0x4c, 0x91, 0x8b, 0x12, 0x8b, 0x8b, 0x78, 0x7c, 0x2b, 0xd3, 0x74, 0x8c,
- 0xce, 0x6a, 0x70, 0x7c,
- 0x6c, 0xad, 0xc3, 0xea, 0xc3, 0xc3, 0xb0, 0xf2, 0x01, 0x26, 0x76, 0x51,
- 0xda, 0x5a, 0x34, 0xf2,
- 0x8c, 0x19, 0xf8, 0x47, 0xf8, 0xf8, 0x8d, 0xde, 0xd7, 0xa8, 0x78, 0x07,
- 0xb6, 0xca, 0x2b, 0xde,
- 0xac, 0x25, 0xb0, 0xbf, 0xb0, 0xb0, 0x45, 0x50, 0xfd, 0x5d, 0x7a, 0xda,
- 0xa2, 0xfa, 0x6f, 0x50,
- 0xcc, 0x61, 0x68, 0x74, 0x68, 0x68, 0xde, 0x01, 0x83, 0x81, 0x7c, 0x7e,
- 0x9e, 0xaa, 0xa3, 0x01,
- 0xec, 0x5d, 0x20, 0x8c, 0x20, 0x20, 0x16, 0x8f, 0xa9, 0x74, 0x7e, 0xa3,
- 0x8a, 0x9a, 0xe7, 0x8f,
- 0xd7, 0xdb, 0x28, 0xaf, 0x28, 0x28, 0xf2, 0xdc, 0x12, 0x69, 0x80, 0xfb,
- 0x49, 0x5d, 0xae, 0xdc,
- 0xf7, 0xe7, 0x60, 0x57, 0x60, 0x60, 0x3a, 0x52, 0x38, 0x9c, 0x82, 0x26,
- 0x5d, 0x6d, 0xea, 0x52,
- 0x97, 0xa3, 0xb8, 0x9c, 0xb8, 0xb8, 0xa1, 0x03, 0x46, 0x40, 0x84, 0x82,
- 0x61, 0x3d, 0x26, 0x03,
- 0xb7, 0x9f, 0xf0, 0x64, 0xf0, 0xf0, 0x69, 0x8d, 0x6c, 0xb5, 0x86, 0x5f,
- 0x75, 0x0d, 0x62, 0x8d,
- 0x57, 0x2b, 0xcb, 0xc9, 0xcb, 0xcb, 0x54, 0xa1, 0xba, 0x3b, 0x88, 0x09,
- 0x19, 0x9d, 0x7d, 0xa1,
- 0x77, 0x17, 0x83, 0x31, 0x83, 0x83, 0x9c, 0x2f, 0x90, 0xce, 0x8a, 0xd4,
- 0x0d, 0xad, 0x39, 0x2f,
- 0x17, 0x53, 0x5b, 0xfa, 0x5b, 0x5b, 0x07, 0x7e, 0xee, 0x12, 0x8c, 0x70,
- 0x31, 0xfd, 0xf5, 0x7e,
- 0x37, 0x6f, 0x13, 0x02, 0x13, 0x13, 0xcf, 0xf0, 0xc4, 0xe7, 0x8e, 0xad,
- 0x25, 0xcd, 0xb1, 0xf0,
- 0x14, 0xf8, 0x2d, 0x63, 0x2d, 0x2d, 0x7d, 0x26, 0x81, 0xcd, 0x90, 0xdc,
- 0xe9, 0x1e, 0xcb, 0x26,
- 0x34, 0xc4, 0x65, 0x9b, 0x65, 0x65, 0xb5, 0xa8, 0xab, 0x38, 0x92, 0x01,
- 0xfd, 0x2e, 0x8f, 0xa8,
- 0x54, 0x80, 0xbd, 0x50, 0xbd, 0xbd, 0x2e, 0xf9, 0xd5, 0xe4, 0x94, 0xa5,
- 0xc1, 0x7e, 0x43, 0xf9,
- 0x74, 0xbc, 0xf5, 0xa8, 0xf5, 0xf5, 0xe6, 0x77, 0xff, 0x11, 0x96, 0x78,
- 0xd5, 0x4e, 0x07, 0x77,
- 0x94, 0x08, 0xce, 0x05, 0xce, 0xce, 0xdb, 0x5b, 0x29, 0x9f, 0x98, 0x2e,
- 0xb9, 0xde, 0x18, 0x5b,
- 0xb4, 0x34, 0x86, 0xfd, 0x86, 0x86, 0x13, 0xd5, 0x03, 0x6a, 0x9a, 0xf3,
- 0xad, 0xee, 0x5c, 0xd5,
- 0xd4, 0x70, 0x5e, 0x36, 0x5e, 0x5e, 0x88, 0x84, 0x7d, 0xb6, 0x9c, 0x57,
- 0x91, 0xbe, 0x90, 0x84,
- 0xf4, 0x4c, 0x16, 0xce, 0x16, 0x16, 0x40, 0x0a, 0x57, 0x43, 0x9e, 0x8a,
- 0x85, 0x8e, 0xd4, 0x0a,
- 0x92, 0x9d, 0x22, 0xf4, 0x22, 0x22, 0x2f, 0xeb, 0xf7, 0xe2, 0xa0, 0xb5,
- 0xca, 0xdb, 0x64, 0xeb,
- 0xb2, 0xa1, 0x6a, 0x0c, 0x6a, 0x6a, 0xe7, 0x65, 0xdd, 0x17, 0xa2, 0x68,
- 0xde, 0xeb, 0x20, 0x65,
- 0xd2, 0xe5, 0xb2, 0xc7, 0xb2, 0xb2, 0x7c, 0x34, 0xa3, 0xcb, 0xa4, 0xcc,
- 0xe2, 0xbb, 0xec, 0x34,
- 0xf2, 0xd9, 0xfa, 0x3f, 0xfa, 0xfa, 0xb4, 0xba, 0x89, 0x3e, 0xa6, 0x11,
- 0xf6, 0x8b, 0xa8, 0xba,
- 0x12, 0x6d, 0xc1, 0x92, 0xc1, 0xc1, 0x89, 0x96, 0x5f, 0xb0, 0xa8, 0x47,
- 0x9a, 0x1b, 0xb7, 0x96,
- 0x32, 0x51, 0x89, 0x6a, 0x89, 0x89, 0x41, 0x18, 0x75, 0x45, 0xaa, 0x9a,
- 0x8e, 0x2b, 0xf3, 0x18,
- 0x52, 0x15, 0x51, 0xa1, 0x51, 0x51, 0xda, 0x49, 0x0b, 0x99, 0xac, 0x3e,
- 0xb2, 0x7b, 0x3f, 0x49,
- 0x72, 0x29, 0x19, 0x59, 0x19, 0x19, 0x12, 0xc7, 0x21, 0x6c, 0xae, 0xe3,
- 0xa6, 0x4b, 0x7b, 0xc7,
- 0x51, 0xbe, 0x27, 0x38, 0x27, 0x27, 0xa0, 0x11, 0x64, 0x46, 0xb0, 0x92,
- 0x6a, 0x98, 0x01, 0x11,
- 0x71, 0x82, 0x6f, 0xc0, 0x6f, 0x6f, 0x68, 0x9f, 0x4e, 0xb3, 0xb2, 0x4f,
- 0x7e, 0xa8, 0x45, 0x9f,
- 0x11, 0xc6, 0xb7, 0x0b, 0xb7, 0xb7, 0xf3, 0xce, 0x30, 0x6f, 0xb4, 0xeb,
- 0x42, 0xf8, 0x89, 0xce,
- 0x31, 0xfa, 0xff, 0xf3, 0xff, 0xff, 0x3b, 0x40, 0x1a, 0x9a, 0xb6, 0x36,
- 0x56, 0xc8, 0xcd, 0x40,
- 0xd1, 0x4e, 0xc4, 0x5e, 0xc4, 0xc4, 0x06, 0x6c, 0xcc, 0x14, 0xb8, 0x60,
- 0x3a, 0x58, 0xd2, 0x6c,
- 0xf1, 0x72, 0x8c, 0xa6, 0x8c, 0x8c, 0xce, 0xe2, 0xe6, 0xe1, 0xba, 0xbd,
- 0x2e, 0x68, 0x96, 0xe2,
- 0x91, 0x36, 0x54, 0x6d, 0x54, 0x54, 0x55, 0xb3, 0x98, 0x3d, 0xbc, 0x19,
- 0x12, 0x38, 0x5a, 0xb3,
- 0xb1, 0x0a, 0x1c, 0x95, 0x1c, 0x1c, 0x9d, 0x3d, 0xb2, 0xc8, 0xbe, 0xc4,
- 0x06, 0x08, 0x1e, 0x3d,
- 0x5d, 0x57, 0x3c, 0x19, 0x3c, 0x3c, 0x8b, 0xb2, 0x1b, 0xbc, 0xc0, 0x67,
- 0x8c, 0x92, 0xf9, 0xb2,
- 0x7d, 0x6b, 0x74, 0xe1, 0x74, 0x74, 0x43, 0x3c, 0x31, 0x49, 0xc2, 0xba,
- 0x98, 0xa2, 0xbd, 0x3c,
- 0x1d, 0x2f, 0xac, 0x2a, 0xac, 0xac, 0xd8, 0x6d, 0x4f, 0x95, 0xc4, 0x1e,
- 0xa4, 0xf2, 0x71, 0x6d,
- 0x3d, 0x13, 0xe4, 0xd2, 0xe4, 0xe4, 0x10, 0xe3, 0x65, 0x60, 0xc6, 0xc3,
- 0xb0, 0xc2, 0x35, 0xe3,
- 0xdd, 0xa7, 0xdf, 0x7f, 0xdf, 0xdf, 0x2d, 0xcf, 0xb3, 0xee, 0xc8, 0x95,
- 0xdc, 0x52, 0x2a, 0xcf,
- 0xfd, 0x9b, 0x97, 0x87, 0x97, 0x97, 0xe5, 0x41, 0x99, 0x1b, 0xca, 0x48,
- 0xc8, 0x62, 0x6e, 0x41,
- 0x9d, 0xdf, 0x4f, 0x4c, 0x4f, 0x4f, 0x7e, 0x10, 0xe7, 0xc7, 0xcc, 0xec,
- 0xf4, 0x32, 0xa2, 0x10,
- 0xbd, 0xe3, 0x07, 0xb4, 0x07, 0x07, 0xb6, 0x9e, 0xcd, 0x32, 0xce, 0x31,
- 0xe0, 0x02, 0xe6, 0x9e,
- 0x9e, 0x74, 0x39, 0xd5, 0x39, 0x39, 0x04, 0x48, 0x88, 0x18, 0xd0, 0x40,
- 0x2c, 0xd1, 0x9c, 0x48,
- 0xbe, 0x48, 0x71, 0x2d, 0x71, 0x71, 0xcc, 0xc6, 0xa2, 0xed, 0xd2, 0x9d,
- 0x38, 0xe1, 0xd8, 0xc6,
- 0xde, 0x0c, 0xa9, 0xe6, 0xa9, 0xa9, 0x57, 0x97, 0xdc, 0x31, 0xd4, 0x39,
- 0x04, 0xb1, 0x14, 0x97,
- 0xfe, 0x30, 0xe1, 0x1e, 0xe1, 0xe1, 0x9f, 0x19, 0xf6, 0xc4, 0xd6, 0xe4,
- 0x10, 0x81, 0x50, 0x19,
- 0x1e, 0x84, 0xda, 0xb3, 0xda, 0xda, 0xa2, 0x35, 0x20, 0x4a, 0xd8, 0xb2,
- 0x7c, 0x11, 0x4f, 0x35,
- 0x3e, 0xb8, 0x92, 0x4b, 0x92, 0x92, 0x6a, 0xbb, 0x0a, 0xbf, 0xda, 0x6f,
- 0x68, 0x21, 0x0b, 0xbb,
- 0x5e, 0xfc, 0x4a, 0x80, 0x4a, 0x4a, 0xf1, 0xea, 0x74, 0x63, 0xdc, 0xcb,
- 0x54, 0x71, 0xc7, 0xea,
- 0x7e, 0xc0, 0x02, 0x78, 0x02, 0x02, 0x39, 0x64, 0x5e, 0x96, 0xde, 0x16,
- 0x40, 0x41, 0x83, 0x64,
- 0x18, 0x11, 0x36, 0x42, 0x36, 0x36, 0x56, 0x85, 0xfe, 0x37, 0xe0, 0x29,
- 0x0f, 0x14, 0x33, 0x85,
- 0x38, 0x2d, 0x7e, 0xba, 0x7e, 0x7e, 0x9e, 0x0b, 0xd4, 0xc2, 0xe2, 0xf4,
- 0x1b, 0x24, 0x77, 0x0b,
- 0x58, 0x69, 0xa6, 0x71, 0xa6, 0xa6, 0x05, 0x5a, 0xaa, 0x1e, 0xe4, 0x50,
- 0x27, 0x74, 0xbb, 0x5a,
- 0x78, 0x55, 0xee, 0x89, 0xee, 0xee, 0xcd, 0xd4, 0x80, 0xeb, 0xe6, 0x8d,
- 0x33, 0x44, 0xff, 0xd4,
- 0x98, 0xe1, 0xd5, 0x24, 0xd5, 0xd5, 0xf0, 0xf8, 0x56, 0x65, 0xe8, 0xdb,
- 0x5f, 0xd4, 0xe0, 0xf8,
- 0xb8, 0xdd, 0x9d, 0xdc, 0x9d, 0x9d, 0x38, 0x76, 0x7c, 0x90, 0xea, 0x06,
- 0x4b, 0xe4, 0xa4, 0x76,
- 0xd8, 0x99, 0x45, 0x17, 0x45, 0x45, 0xa3, 0x27, 0x02, 0x4c, 0xec, 0xa2,
- 0x77, 0xb4, 0x68, 0x27,
- 0xf8, 0xa5, 0x0d, 0xef, 0x0d, 0x0d, 0x6b, 0xa9, 0x28, 0xb9, 0xee, 0x7f,
- 0x63, 0x84, 0x2c, 0xa9,
- 0xdb, 0x32, 0x33, 0x8e, 0x33, 0x33, 0xd9, 0x7f, 0x6d, 0x93, 0xf0, 0x0e,
- 0xaf, 0x57, 0x56, 0x7f,
- 0xfb, 0x0e, 0x7b, 0x76, 0x7b, 0x7b, 0x11, 0xf1, 0x47, 0x66, 0xf2, 0xd3,
- 0xbb, 0x67, 0x12, 0xf1,
- 0x9b, 0x4a, 0xa3, 0xbd, 0xa3, 0xa3, 0x8a, 0xa0, 0x39, 0xba, 0xf4, 0x77,
- 0x87, 0x37, 0xde, 0xa0,
- 0xbb, 0x76, 0xeb, 0x45, 0xeb, 0xeb, 0x42, 0x2e, 0x13, 0x4f, 0xf6, 0xaa,
- 0x93, 0x07, 0x9a, 0x2e,
- 0x5b, 0xc2, 0xd0, 0xe8, 0xd0, 0xd0, 0x7f, 0x02, 0xc5, 0xc1, 0xf8, 0xfc,
- 0xff, 0x97, 0x85, 0x02,
- 0x7b, 0xfe, 0x98, 0x10, 0x98, 0x98, 0xb7, 0x8c, 0xef, 0x34, 0xfa, 0x21,
- 0xeb, 0xa7, 0xc1, 0x8c,
- 0x1b, 0xba, 0x40, 0xdb, 0x40, 0x40, 0x2c, 0xdd, 0x91, 0xe8, 0xfc, 0x85,
- 0xd7, 0xf7, 0x0d, 0xdd,
- 0x3b, 0x86, 0x08, 0x23, 0x08, 0x08, 0xe4, 0x53, 0xbb, 0x1d, 0xfe, 0x58,
- 0xc3, 0xc7, 0x49, 0x53,
- 0x6d, 0x75, 0x50, 0x9d, 0x50, 0x50, 0x27, 0x7b, 0x24, 0xd2, 0xc3, 0x35,
- 0x92, 0xba, 0x9f, 0x7b,
- 0x4d, 0x49, 0x18, 0x65, 0x18, 0x18, 0xef, 0xf5, 0x0e, 0x27, 0xc1, 0xe8,
- 0x86, 0x8a, 0xdb, 0xf5,
- 0x2d, 0x0d, 0xc0, 0xae, 0xc0, 0xc0, 0x74, 0xa4, 0x70, 0xfb, 0xc7, 0x4c,
- 0xba, 0xda, 0x17, 0xa4,
- 0x0d, 0x31, 0x88, 0x56, 0x88, 0x88, 0xbc, 0x2a, 0x5a, 0x0e, 0xc5, 0x91,
- 0xae, 0xea, 0x53, 0x2a,
- 0xed, 0x85, 0xb3, 0xfb, 0xb3, 0xb3, 0x81, 0x06, 0x8c, 0x80, 0xcb, 0xc7,
- 0xc2, 0x7a, 0x4c, 0x06,
- 0xcd, 0xb9, 0xfb, 0x03, 0xfb, 0xfb, 0x49, 0x88, 0xa6, 0x75, 0xc9, 0x1a,
- 0xd6, 0x4a, 0x08, 0x88,
- 0xad, 0xfd, 0x23, 0xc8, 0x23, 0x23, 0xd2, 0xd9, 0xd8, 0xa9, 0xcf, 0xbe,
- 0xea, 0x1a, 0xc4, 0xd9,
- 0x8d, 0xc1, 0x6b, 0x30, 0x6b, 0x6b, 0x1a, 0x57, 0xf2, 0x5c, 0xcd, 0x63,
- 0xfe, 0x2a, 0x80, 0x57,
- 0xae, 0x56, 0x55, 0x51, 0x55, 0x55, 0xa8, 0x81, 0xb7, 0x76, 0xd3, 0x12,
- 0x32, 0xf9, 0xfa, 0x81,
- 0x8e, 0x6a, 0x1d, 0xa9, 0x1d, 0x1d, 0x60, 0x0f, 0x9d, 0x83, 0xd1, 0xcf,
- 0x26, 0xc9, 0xbe, 0x0f,
- 0xee, 0x2e, 0xc5, 0x62, 0xc5, 0xc5, 0xfb, 0x5e, 0xe3, 0x5f, 0xd7, 0x6b,
- 0x1a, 0x99, 0x72, 0x5e,
- 0xce, 0x12, 0x8d, 0x9a, 0x8d, 0x8d, 0x33, 0xd0, 0xc9, 0xaa, 0xd5, 0xb6,
- 0x0e, 0xa9, 0x36, 0xd0,
- 0x2e, 0xa6, 0xb6, 0x37, 0xb6, 0xb6, 0x0e, 0xfc, 0x1f, 0x24, 0xdb, 0xe0,
- 0x62, 0x39, 0x29, 0xfc,
- 0x0e, 0x9a, 0xfe, 0xcf, 0xfe, 0xfe, 0xc6, 0x72, 0x35, 0xd1, 0xd9, 0x3d,
- 0x76, 0x09, 0x6d, 0x72,
- 0x6e, 0xde, 0x26, 0x04, 0x26, 0x26, 0x5d, 0x23, 0x4b, 0x0d, 0xdf, 0x99,
- 0x4a, 0x59, 0xa1, 0x23,
- 0x4e, 0xe2, 0x6e, 0xfc, 0x6e, 0x6e, 0x95, 0xad, 0x61, 0xf8, 0xdd, 0x44,
- 0x5e, 0x69, 0xe5, 0xad,
- 0x28, 0x33, 0x5a, 0xc6, 0x5a, 0x5a, 0xfa, 0x4c, 0xc1, 0x59, 0xe3, 0x7b,
- 0x11, 0x3c, 0x55, 0x4c,
- 0x08, 0x0f, 0x12, 0x3e, 0x12, 0x12, 0x32, 0xc2, 0xeb, 0xac, 0xe1, 0xa6,
- 0x05, 0x0c, 0x11, 0xc2,
- 0x68, 0x4b, 0xca, 0xf5, 0xca, 0xca, 0xa9, 0x93, 0x95, 0x70, 0xe7, 0x02,
- 0x39, 0x5c, 0xdd, 0x93,
- 0x48, 0x77, 0x82, 0x0d, 0x82, 0x82, 0x61, 0x1d, 0xbf, 0x85, 0xe5, 0xdf,
- 0x2d, 0x6c, 0x99, 0x1d,
- 0xa8, 0xc3, 0xb9, 0xa0, 0xb9, 0xb9, 0x5c, 0x31, 0x69, 0x0b, 0xeb, 0x89,
- 0x41, 0xfc, 0x86, 0x31,
- 0x88, 0xff, 0xf1, 0x58, 0xf1, 0xf1, 0x94, 0xbf, 0x43, 0xfe, 0xe9, 0x54,
- 0x55, 0xcc, 0xc2, 0xbf,
- 0xe8, 0xbb, 0x29, 0x93, 0x29, 0x29, 0x0f, 0xee, 0x3d, 0x22, 0xef, 0xf0,
- 0x69, 0x9c, 0x0e, 0xee,
- 0xc8, 0x87, 0x61, 0x6b, 0x61, 0x61, 0xc7, 0x60, 0x17, 0xd7, 0xed, 0x2d,
- 0x7d, 0xac, 0x4a, 0x60,
- 0xeb, 0x10, 0x5f, 0x0a, 0x5f, 0x5f, 0x75, 0xb6, 0x52, 0xfd, 0xf3, 0x5c,
- 0xb1, 0x7f, 0x30, 0xb6,
- 0xcb, 0x2c, 0x17, 0xf2, 0x17, 0x17, 0xbd, 0x38, 0x78, 0x08, 0xf1, 0x81,
- 0xa5, 0x4f, 0x74, 0x38,
- 0xab, 0x68, 0xcf, 0x39, 0xcf, 0xcf, 0x26, 0x69, 0x06, 0xd4, 0xf7, 0x25,
- 0x99, 0x1f, 0xb8, 0x69,
- 0x8b, 0x54, 0x87, 0xc1, 0x87, 0x87, 0xee, 0xe7, 0x2c, 0x21, 0xf5, 0xf8,
- 0x8d, 0x2f, 0xfc, 0xe7,
- 0x6b, 0xe0, 0xbc, 0x6c, 0xbc, 0xbc, 0xd3, 0xcb, 0xfa, 0xaf, 0xfb, 0xae,
- 0xe1, 0xbf, 0xe3, 0xcb,
- 0x4b, 0xdc, 0xf4, 0x94, 0xf4, 0xf4, 0x1b, 0x45, 0xd0, 0x5a, 0xf9, 0x73,
- 0xf5, 0x8f, 0xa7, 0x45,
- 0x2b, 0x98, 0x2c, 0x5f, 0x2c, 0x2c, 0x80, 0x14, 0xae, 0x86, 0xff, 0xd7,
- 0xc9, 0xdf, 0x6b, 0x14,
- 0x0b, 0xa4, 0x64, 0xa7, 0x64, 0x64, 0x48, 0x9a, 0x84, 0x73, 0xfd, 0x0a,
- 0xdd, 0xef, 0x2f, 0x9a,
- 0xe7, 0xf9, 0x44, 0x2b, 0x44, 0x44, 0x5e, 0x15, 0x2d, 0x07, 0x83, 0xa9,
- 0x57, 0x75, 0xc8, 0x15,
- 0xc7, 0xc5, 0x0c, 0xd3, 0x0c, 0x0c, 0x96, 0x9b, 0x07, 0xf2, 0x81, 0x74,
- 0x43, 0x45, 0x8c, 0x9b,
- 0xa7, 0x81, 0xd4, 0x18, 0xd4, 0xd4, 0x0d, 0xca, 0x79, 0x2e, 0x87, 0xd0,
- 0x7f, 0x15, 0x40, 0xca,
- 0x87, 0xbd, 0x9c, 0xe0, 0x9c, 0x9c, 0xc5, 0x44, 0x53, 0xdb, 0x85, 0x0d,
- 0x6b, 0x25, 0x04, 0x44,
- 0x67, 0x09, 0xa7, 0x4d, 0xa7, 0xa7, 0xf8, 0x68, 0x85, 0x55, 0x8b, 0x5b,
- 0x07, 0xb5, 0x1b, 0x68,
- 0x47, 0x35, 0xef, 0xb5, 0xef, 0xef, 0x30, 0xe6, 0xaf, 0xa0, 0x89, 0x86,
- 0x13, 0x85, 0x5f, 0xe6,
- 0x27, 0x71, 0x37, 0x7e, 0x37, 0x37, 0xab, 0xb7, 0xd1, 0x7c, 0x8f, 0x22,
- 0x2f, 0xd5, 0x93, 0xb7,
- 0x07, 0x4d, 0x7f, 0x86, 0x7f, 0x7f, 0x63, 0x39, 0xfb, 0x89, 0x8d, 0xff,
- 0x3b, 0xe5, 0xd7, 0x39,
- 0x24, 0xda, 0x41, 0xe7, 0x41, 0x41, 0xd1, 0xef, 0xbe, 0xa3, 0x93, 0x8e,
- 0xf7, 0x36, 0xad, 0xef,
- 0x04, 0xe6, 0x09, 0x1f, 0x09, 0x09, 0x19, 0x61, 0x94, 0x56, 0x91, 0x53,
- 0xe3, 0x06, 0xe9, 0x61,
- 0x64, 0xa2, 0xd1, 0xd4, 0xd1, 0xd1, 0x82, 0x30, 0xea, 0x8a, 0x97, 0xf7,
- 0xdf, 0x56, 0x25, 0x30,
- 0x44, 0x9e, 0x99, 0x2c, 0x99, 0x99, 0x4a, 0xbe, 0xc0, 0x7f, 0x95, 0x2a,
- 0xcb, 0x66, 0x61, 0xbe,
- 0xa4, 0x2a, 0xa2, 0x81, 0xa2, 0xa2, 0x77, 0x92, 0x16, 0xf1, 0x9b, 0x7c,
- 0xa7, 0xf6, 0x7e, 0x92,
- 0x84, 0x16, 0xea, 0x79, 0xea, 0xea, 0xbf, 0x1c, 0x3c, 0x04, 0x99, 0xa1,
- 0xb3, 0xc6, 0x3a, 0x1c,
- 0xe4, 0x52, 0x32, 0xb2, 0x32, 0x32, 0x24, 0x4d, 0x42, 0xd8, 0x9f, 0x05,
- 0x8f, 0x96, 0xf6, 0x4d,
- 0xc4, 0x6e, 0x7a, 0x4a, 0x7a, 0x7a, 0xec, 0xc3, 0x68, 0x2d, 0x9d, 0xd8,
- 0x9b, 0xa6, 0xb2, 0xc3,
- 0xa2, 0xbf, 0x4e, 0x70, 0x4e, 0x4e, 0x83, 0x22, 0xc8, 0x8c, 0xa3, 0xe7,
- 0xd4, 0xf3, 0x02, 0x22,
- 0x82, 0x83, 0x06, 0x88, 0x06, 0x06, 0x4b, 0xac, 0xe2, 0x79, 0xa1, 0x3a,
- 0xc0, 0xc3, 0x46, 0xac,
- 0xe2, 0xc7, 0xde, 0x43, 0xde, 0xde, 0xd0, 0xfd, 0x9c, 0xa5, 0xa7, 0x9e,
- 0xfc, 0x93, 0x8a, 0xfd,
- 0xc2, 0xfb, 0x96, 0xbb, 0x96, 0x96, 0x18, 0x73, 0xb6, 0x50, 0xa5, 0x43,
- 0xe8, 0xa3, 0xce, 0x73,
- 0x22, 0x4f, 0xad, 0x16, 0xad, 0xad, 0x25, 0x5f, 0x60, 0xde, 0xab, 0x15,
- 0x84, 0x33, 0xd1, 0x5f,
- 0x02, 0x73, 0xe5, 0xee, 0xe5, 0xe5, 0xed, 0xd1, 0x4a, 0x2b, 0xa9, 0xc8,
- 0x90, 0x03, 0x95, 0xd1,
- 0x62, 0x37, 0x3d, 0x25, 0x3d, 0x3d, 0x76, 0x80, 0x34, 0xf7, 0xaf, 0x6c,
- 0xac, 0x53, 0x59, 0x80,
- 0x42, 0x0b, 0x75, 0xdd, 0x75, 0x75, 0xbe, 0x0e, 0x1e, 0x02, 0xad, 0xb1,
- 0xb8, 0x63, 0x1d, 0x0e,
- 0x61, 0x9c, 0x4b, 0xbc, 0x4b, 0x4b, 0x0c, 0xd8, 0x5b, 0x28, 0xb3, 0xc0,
- 0x74, 0xb0, 0x67, 0xd8,
- 0x41, 0xa0, 0x03, 0x44, 0x03, 0x03, 0xc4, 0x56, 0x71, 0xdd, 0xb1, 0x1d,
- 0x60, 0x80, 0x23, 0x56,
- 0x21, 0xe4, 0xdb, 0x8f, 0xdb, 0xdb, 0x5f, 0x07, 0x0f, 0x01, 0xb7, 0xb9,
- 0x5c, 0xd0, 0xef, 0x07,
- 0x01, 0xd8, 0x93, 0x77, 0x93, 0x93, 0x97, 0x89, 0x25, 0xf4, 0xb5, 0x64,
- 0x48, 0xe0, 0xab, 0x89,
- 0xe1, 0x6c, 0xa8, 0xda, 0xa8, 0xa8, 0xaa, 0xa5, 0xf3, 0x7a, 0xbb, 0x32,
- 0x24, 0x70, 0xb4, 0xa5,
- 0xc1, 0x50, 0xe0, 0x22, 0xe0, 0xe0, 0x62, 0x2b, 0xd9, 0x8f, 0xb9, 0xef,
- 0x30, 0x40, 0xf0, 0x2b,
- 0xa1, 0x14, 0x38, 0xe9, 0x38, 0x38, 0xf9, 0x7a, 0xa7, 0x53, 0xbf, 0x4b,
- 0x0c, 0x10, 0x3c, 0x7a,
- 0x81, 0x28, 0x70, 0x11, 0x70, 0x70, 0x31, 0xf4, 0x8d, 0xa6, 0xbd, 0x96,
- 0x18, 0x20, 0x78, 0xf4,
- 0xba, 0xae, 0x78, 0x32, 0x78, 0x78, 0xd5, 0xa7, 0x36, 0xbb, 0x43, 0xce,
- 0xdb, 0xe7, 0x31, 0xa7,
- 0x9a, 0x92, 0x30, 0xca, 0x30, 0x30, 0x1d, 0x29, 0x1c, 0x4e, 0x41, 0x13,
- 0xcf, 0xd7, 0x75, 0x29,
- 0xfa, 0xd6, 0xe8, 0x01, 0xe8, 0xe8, 0x86, 0x78, 0x62, 0x92, 0x47, 0xb7,
- 0xf3, 0x87, 0xb9, 0x78,
- 0xda, 0xea, 0xa0, 0xf9, 0xa0, 0xa0, 0x4e, 0xf6, 0x48, 0x67, 0x45, 0x6a,
- 0xe7, 0xb7, 0xfd, 0xf6,
- 0x3a, 0x5e, 0x9b, 0x54, 0x9b, 0x9b, 0x73, 0xda, 0x9e, 0xe9, 0x4b, 0x3c,
- 0x8b, 0x27, 0xe2, 0xda,
- 0x1a, 0x62, 0xd3, 0xac, 0xd3, 0xd3, 0xbb, 0x54, 0xb4, 0x1c, 0x49, 0xe1,
- 0x9f, 0x17, 0xa6, 0x54,
- 0x7a, 0x26, 0x0b, 0x67, 0x0b, 0x0b, 0x20, 0x05, 0xca, 0xc0, 0x4f, 0x45,
- 0xa3, 0x47, 0x6a, 0x05,
- 0x5a, 0x1a, 0x43, 0x9f, 0x43, 0x43, 0xe8, 0x8b, 0xe0, 0x35, 0x4d, 0x98,
- 0xb7, 0x77, 0x2e, 0x8b,
- 0x79, 0x8d, 0x7d, 0xfe, 0x7d, 0x7d, 0x5a, 0x5d, 0xa5, 0x1f, 0x53, 0xe9,
- 0x7b, 0xa4, 0x54, 0x5d,
- 0x59, 0xb1, 0x35, 0x06, 0x35, 0x35, 0x92, 0xd3, 0x8f, 0xea, 0x51, 0x34,
- 0x6f, 0x94, 0x10, 0xd3,
- 0x39, 0xf5, 0xed, 0xcd, 0xed, 0xed, 0x09, 0x82, 0xf1, 0x36, 0x57, 0x90,
- 0x53, 0xc4, 0xdc, 0x82,
- 0x19, 0xc9, 0xa5, 0x35, 0xa5, 0xa5, 0xc1, 0x0c, 0xdb, 0xc3, 0x55, 0x4d,
- 0x47, 0xf4, 0x98, 0x0c,
- 0xf9, 0x7d, 0x9e, 0x98, 0x9e, 0x9e, 0xfc, 0x20, 0x0d, 0x4d, 0x5b, 0x1b,
- 0x2b, 0x64, 0x87, 0x20,
- 0xd9, 0x41, 0xd6, 0x60, 0xd6, 0xd6, 0x34, 0xae, 0x27, 0xb8, 0x59, 0xc6,
- 0x3f, 0x54, 0xc3, 0xae,
- 0xb9, 0x05, 0x0e, 0xab, 0x0e, 0x0e, 0xaf, 0xff, 0x59, 0x64, 0x5f, 0x62,
- 0x03, 0x04, 0x0f, 0xff,
- 0x99, 0x39, 0x46, 0x53, 0x46, 0x46, 0x67, 0x71, 0x73, 0x91, 0x5d, 0xbf,
- 0x17, 0x34, 0x4b, 0x71,
- 0xff, 0xe8, 0x72, 0x69, 0x72, 0x72, 0x08, 0x90, 0xd3, 0x30, 0x63, 0x80,
- 0x58, 0x61, 0xfb, 0x90,
- 0xdf, 0xd4, 0x3a, 0x91, 0x3a, 0x3a, 0xc0, 0x1e, 0xf9, 0xc5, 0x61, 0x5d,
- 0x4c, 0x51, 0xbf, 0x1e,
- 0xbf, 0x90, 0xe2, 0x5a, 0xe2, 0xe2, 0x5b, 0x4f, 0x87, 0x19, 0x67, 0xf9,
- 0x70, 0x01, 0x73, 0x4f,
- 0x9f, 0xac, 0xaa, 0xa2, 0xaa, 0xaa, 0x93, 0xc1, 0xad, 0xec, 0x65, 0x24,
- 0x64, 0x31, 0x37, 0xc1,
- 0x7f, 0x18, 0x91, 0x0f, 0x91, 0x91, 0xae, 0xed, 0x7b, 0x62, 0x6b, 0x72,
- 0x08, 0xa1, 0x28, 0xed,
- 0x5f, 0x24, 0xd9, 0xf7, 0xd9, 0xd9, 0x66, 0x63, 0x51, 0x97, 0x69, 0xaf,
- 0x1c, 0x91, 0x6c, 0x63,
- 0x3f, 0x60, 0x01, 0x3c, 0x01, 0x01, 0xfd, 0x32, 0x2f, 0x4b, 0x6f, 0x0b,
- 0x20, 0xc1, 0xa0, 0x32,
- 0x1f, 0x5c, 0x49, 0xc4, 0x49, 0x49, 0x35, 0xbc, 0x05, 0xbe, 0x6d, 0xd6,
- 0x34, 0xf1, 0xe4, 0xbc,
- 0x3c, 0xcb, 0x77, 0xa5, 0x77, 0x77, 0x87, 0x6a, 0x40, 0x94, 0x73, 0xa7,
- 0xf8, 0x22, 0x9e, 0x6a,
- 0x1c, 0xf7, 0x3f, 0x5d, 0x3f, 0x3f, 0x4f, 0xe4, 0x6a, 0x61, 0x71, 0x7a,
- 0xec, 0x12, 0xda, 0xe4,
- 0x7c, 0xb3, 0xe7, 0x96, 0xe7, 0xe7, 0xd4, 0xb5, 0x14, 0xbd, 0x77, 0xde,
- 0xd0, 0x42, 0x16, 0xb5,
- 0x5c, 0x8f, 0xaf, 0x6e, 0xaf, 0xaf, 0x1c, 0x3b, 0x3e, 0x48, 0x75, 0x03,
- 0xc4, 0x72, 0x52, 0x3b,
- 0xbc, 0x3b, 0x94, 0xc3, 0x94, 0x94, 0x21, 0x17, 0xe8, 0xc6, 0x7b, 0x55,
- 0xa8, 0xe2, 0x4d, 0x17,
- 0x9c, 0x07, 0xdc, 0x3b, 0xdc, 0xdc, 0xe9, 0x99, 0xc2, 0x33, 0x79, 0x88,
- 0xbc, 0xd2, 0x09, 0x99,
- 0xfc, 0x43, 0x04, 0xf0, 0x04, 0x04, 0x72, 0xc8, 0xbc, 0xef, 0x7f, 0x2c,
- 0x80, 0x82, 0xc5, 0xc8,
- 0xdc, 0x7f, 0x4c, 0x08, 0x4c, 0x4c, 0xba, 0x46, 0x96, 0x1a, 0x7d, 0xf1,
- 0x94, 0xb2, 0x81, 0x46,
- 0x30, 0x22, 0x6c, 0x84, 0x6c, 0x6c, 0xac, 0xc9, 0x3f, 0x6e, 0x03, 0x52,
- 0x1e, 0x28, 0x66, 0xc9,
- 0x10, 0x1e, 0x24, 0x7c, 0x24, 0x24, 0x64, 0x47, 0x15, 0x9b, 0x01, 0x8f,
- 0x0a, 0x18, 0x22, 0x47,
- 0x70, 0x5a, 0xfc, 0xb7, 0xfc, 0xfc, 0xff, 0x16, 0x6b, 0x47, 0x07, 0x2b,
- 0x36, 0x48, 0xee, 0x16,
- 0x50, 0x66, 0xb4, 0x4f, 0xb4, 0xb4, 0x37, 0x98, 0x41, 0xb2, 0x05, 0xf6,
- 0x22, 0x78, 0xaa, 0x98,
- 0xb0, 0xd2, 0x8f, 0xe2, 0x8f, 0x8f, 0x0a, 0xb4, 0x97, 0x3c, 0x0b, 0xa0,
- 0x4e, 0xe8, 0xb5, 0xb4,
- 0x90, 0xee, 0xc7, 0x1a, 0xc7, 0xc7, 0xc2, 0x3a, 0xbd, 0xc9, 0x09, 0x7d,
- 0x5a, 0xd8, 0xf1, 0x3a,
- 0xf0, 0xaa, 0x1f, 0xd1, 0x1f, 0x1f, 0x59, 0x6b, 0xc3, 0x15, 0x0f, 0xd9,
- 0x66, 0x88, 0x3d, 0x6b,
- 0xd0, 0x96, 0x57, 0x29, 0x57, 0x57, 0x91, 0xe5, 0xe9, 0xe0, 0x0d, 0x04,
- 0x72, 0xb8, 0x79, 0xe5,
- 0xf3, 0x01, 0x69, 0x48, 0x69, 0x69, 0x23, 0x33, 0xac, 0xca, 0x13, 0x75,
- 0xbe, 0x6b, 0x03, 0x33,
- 0xd3, 0x3d, 0x21, 0xb0, 0x21, 0x21, 0xeb, 0xbd, 0x86, 0x3f, 0x11, 0xa8,
- 0xaa, 0x5b, 0x47, 0xbd,
- 0xb3, 0x79, 0xf9, 0x7b, 0xf9, 0xf9, 0x70, 0xec, 0xf8, 0xe3, 0x17, 0x0c,
- 0x96, 0x0b, 0x8b, 0xec,
- 0x93, 0x45, 0xb1, 0x83, 0xb1, 0xb1, 0xb8, 0x62, 0xd2, 0x16, 0x15, 0xd1,
- 0x82, 0x3b, 0xcf, 0x62,
- 0x73, 0xf1, 0x8a, 0x2e, 0x8a, 0x8a, 0x85, 0x4e, 0x04, 0x98, 0x1b, 0x87,
- 0xee, 0xab, 0xd0, 0x4e,
- 0x53, 0xcd, 0xc2, 0xd6, 0xc2, 0xc2, 0x4d, 0xc0, 0x2e, 0x6d, 0x19, 0x5a,
- 0xfa, 0x9b, 0x94, 0xc0,
- 0x33, 0x89, 0x1a, 0x1d, 0x1a, 0x1a, 0xd6, 0x91, 0x50, 0xb1, 0x1f, 0xfe,
- 0xc6, 0xcb, 0x58, 0x91,
- 0x13, 0xb5, 0x52, 0xe5, 0x52, 0x52, 0x1e, 0x1f, 0x7a, 0x44, 0x1d, 0x23,
- 0xd2, 0xfb, 0x1c, 0x1f,
- 0x75, 0x64, 0x66, 0xdf, 0x66, 0x66, 0x71, 0xfe, 0xda, 0xe5, 0x23, 0x1c,
- 0x9d, 0xae, 0xac, 0xfe,
- 0x55, 0x58, 0x2e, 0x27, 0x2e, 0x2e, 0xb9, 0x70, 0xf0, 0x10, 0x21, 0xc1,
- 0x89, 0x9e, 0xe8, 0x70,
- 0x35, 0x1c, 0xf6, 0xec, 0xf6, 0xf6, 0x22, 0x21, 0x8e, 0xcc, 0x27, 0x65,
- 0xb5, 0xce, 0x24, 0x21,
- 0x15, 0x20, 0xbe, 0x14, 0xbe, 0xbe, 0xea, 0xaf, 0xa4, 0x39, 0x25, 0xb8,
- 0xa1, 0xfe, 0x60, 0xaf,
- 0xf5, 0x94, 0x85, 0xb9, 0x85, 0x85, 0xd7, 0x83, 0x72, 0xb7, 0x2b, 0xee,
- 0xcd, 0x6e, 0x7f, 0x83,
- 0xd5, 0xa8, 0xcd, 0x41, 0xcd, 0xcd, 0x1f, 0x0d, 0x58, 0x42, 0x29, 0x33,
- 0xd9, 0x5e, 0x3b, 0x0d,
- 0xb5, 0xec, 0x15, 0x8a, 0x15, 0x15, 0x84, 0x5c, 0x26, 0x9e, 0x2f, 0x97,
- 0xe5, 0x0e, 0xf7, 0x5c,
- 0x95, 0xd0, 0x5d, 0x72, 0x5d, 0x5d, 0x4c, 0xd2, 0x0c, 0x6b, 0x2d, 0x4a,
- 0xf1, 0x3e, 0xb3, 0xd2,
- 0xb6, 0x47, 0x63, 0x13, 0x63, 0x63, 0xfe, 0x04, 0x49, 0x41, 0x33, 0x3b,
- 0x3d, 0xed, 0xc9, 0x04,
- 0x96, 0x7b, 0x2b, 0xeb, 0x2b, 0x2b, 0x36, 0x8a, 0x63, 0xb4, 0x31, 0xe6,
- 0x29, 0xdd, 0x8d, 0x8a,
- 0xf6, 0x3f, 0xf3, 0x20, 0xf3, 0xf3, 0xad, 0xdb, 0x1d, 0x68, 0x37, 0x42,
- 0x15, 0x8d, 0x41, 0xdb,
- 0xd6, 0x03, 0xbb, 0xd8, 0xbb, 0xbb, 0x65, 0x55, 0x37, 0x9d, 0x35, 0x9f,
- 0x01, 0xbd, 0x05, 0x55,
- 0x36, 0xb7, 0x80, 0x75, 0x80, 0x80, 0x58, 0x79, 0xe1, 0x13, 0x3b, 0xc9,
- 0x6d, 0x2d, 0x1a, 0x79,
- 0x16, 0x8b, 0xc8, 0x8d, 0xc8, 0xc8, 0x90, 0xf7, 0xcb, 0xe6, 0x39, 0x14,
- 0x79, 0x1d, 0x5e, 0xf7,
- 0x76, 0xcf, 0x10, 0x46, 0x10, 0x10, 0x0b, 0xa6, 0xb5, 0x3a, 0x3f, 0xb0,
- 0x45, 0x4d, 0x92, 0xa6,
- 0x56, 0xf3, 0x58, 0xbe, 0x58, 0x58, 0xc3, 0x28, 0x9f, 0xcf, 0x3d, 0x6d,
- 0x51, 0x7d, 0xd6, 0x28,
- },
- { /* 3 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x85, 0x44, 0xdf, 0x52, 0x7f, 0xc6, 0x98, 0x60, 0xd4, 0x52, 0x0e, 0x65,
- 0x07, 0x9f, 0x86, 0xea,
- 0xc9, 0x88, 0x7d, 0xa4, 0xfe, 0x4f, 0xf3, 0xc0, 0x6b, 0xa4, 0x1c, 0xca,
- 0x0e, 0xfd, 0xcf, 0x17,
- 0x4c, 0xcc, 0xa2, 0xf6, 0x81, 0x89, 0x6b, 0xa0, 0xbf, 0xf6, 0x12, 0xaf,
- 0x09, 0x62, 0x49, 0xfd,
- 0x51, 0xd3, 0xfa, 0x8b, 0x3f, 0x9e, 0x25, 0x43, 0xd6, 0x8b, 0x38, 0x57,
- 0x1c, 0x39, 0x5d, 0x2e,
- 0xd4, 0x97, 0x25, 0xd9, 0x40, 0x58, 0xbd, 0x23, 0x02, 0xd9, 0x36, 0x32,
- 0x1b, 0xa6, 0xdb, 0xc4,
- 0x98, 0x5b, 0x87, 0x2f, 0xc1, 0xd1, 0xd6, 0x83, 0xbd, 0x2f, 0x24, 0x9d,
- 0x12, 0xc4, 0x92, 0x39,
- 0x1d, 0x1f, 0x58, 0x7d, 0xbe, 0x17, 0x4e, 0xe3, 0x69, 0x7d, 0x2a, 0xf8,
- 0x15, 0x5b, 0x14, 0xd3,
- 0xa2, 0x65, 0x37, 0xd5, 0x7e, 0xff, 0x4a, 0x86, 0x6f, 0xd5, 0x70, 0xae,
- 0x38, 0x72, 0xba, 0x5c,
- 0x27, 0x21, 0xe8, 0x87, 0x01, 0x39, 0xd2, 0xe6, 0xbb, 0x87, 0x7e, 0xcb,
- 0x3f, 0xed, 0x3c, 0xb6,
- 0x6b, 0xed, 0x4a, 0x71, 0x80, 0xb0, 0xb9, 0x46, 0x04, 0x71, 0x6c, 0x64,
- 0x36, 0x8f, 0x75, 0x4b,
- 0xee, 0xa9, 0x95, 0x23, 0xff, 0x76, 0x21, 0x26, 0xd0, 0x23, 0x62, 0x01,
- 0x31, 0x10, 0xf3, 0xa1,
- 0xf3, 0xb6, 0xcd, 0x5e, 0x41, 0x61, 0x6f, 0xc5, 0xb9, 0x5e, 0x48, 0xf9,
- 0x24, 0x4b, 0xe7, 0x72,
- 0x76, 0xf2, 0x12, 0x0c, 0x3e, 0xa7, 0xf7, 0xa5, 0x6d, 0x0c, 0x46, 0x9c,
- 0x23, 0xd4, 0x61, 0x98,
- 0x3a, 0x3e, 0xb0, 0xfa, 0xbf, 0x2e, 0x9c, 0x05, 0xd2, 0xfa, 0x54, 0x33,
- 0x2a, 0xb6, 0x28, 0x65,
- 0xbf, 0x7a, 0x6f, 0xa8, 0xc0, 0xe8, 0x04, 0x65, 0x06, 0xa8, 0x5a, 0x56,
- 0x2d, 0x29, 0xae, 0x8f,
- 0x87, 0xca, 0x6e, 0x69, 0xfc, 0x3d, 0x94, 0xcf, 0xde, 0x69, 0xe0, 0x9f,
- 0x70, 0xe4, 0xb7, 0xb8,
- 0x02, 0x8e, 0xb1, 0x3b, 0x83, 0xfb, 0x0c, 0xaf, 0x0a, 0x3b, 0xee, 0xfa,
- 0x77, 0x7b, 0x31, 0x52,
- 0x4e, 0x42, 0x13, 0xcd, 0x02, 0x72, 0x67, 0x0f, 0xb5, 0xcd, 0xfc, 0x55,
- 0x7e, 0x19, 0x78, 0xaf,
- 0xcb, 0x06, 0xcc, 0x9f, 0x7d, 0xb4, 0xff, 0x6f, 0x61, 0x9f, 0xf2, 0x30,
- 0x79, 0x86, 0xfe, 0x45,
- 0xd6, 0x19, 0x94, 0xe2, 0xc3, 0xa3, 0xb1, 0x8c, 0x08, 0xe2, 0xd8, 0xc8,
- 0x6c, 0xdd, 0xea, 0x96,
- 0x53, 0x5d, 0x4b, 0xb0, 0xbc, 0x65, 0x29, 0xec, 0xdc, 0xb0, 0xd6, 0xad,
- 0x6b, 0x42, 0x6c, 0x7c,
- 0x1f, 0x91, 0xe9, 0x46, 0x3d, 0xec, 0x42, 0x4c, 0x63, 0x46, 0xc4, 0x02,
- 0x62, 0x20, 0x25, 0x81,
- 0x9a, 0xd5, 0x36, 0x14, 0x42, 0x2a, 0xda, 0x2c, 0xb7, 0x14, 0xca, 0x67,
- 0x65, 0xbf, 0xa3, 0x6b,
- 0x25, 0xaf, 0x59, 0xbc, 0x82, 0xc2, 0xde, 0x49, 0xb1, 0xbc, 0x90, 0x31,
- 0x48, 0x96, 0x0d, 0xe4,
- 0xa0, 0xeb, 0x86, 0xee, 0xfd, 0x04, 0x46, 0x29, 0x65, 0xee, 0x9e, 0x54,
- 0x4f, 0x09, 0x8b, 0x0e,
- 0xec, 0x27, 0x24, 0x18, 0x7c, 0x8d, 0x2d, 0x89, 0xda, 0x18, 0x8c, 0xfb,
- 0x46, 0x6b, 0xc2, 0xf3,
- 0x69, 0x63, 0xfb, 0x4a, 0x03, 0x4b, 0xb5, 0xe9, 0x0e, 0x4a, 0x82, 0x9e,
- 0x41, 0xf4, 0x44, 0x19,
- 0x74, 0x7c, 0xa3, 0x37, 0xbd, 0x5c, 0xfb, 0x0a, 0x67, 0x37, 0xa8, 0x66,
- 0x54, 0xaf, 0x50, 0xca,
- 0xf1, 0x38, 0x7c, 0x65, 0xc2, 0x9a, 0x63, 0x6a, 0xb3, 0x65, 0xa6, 0x03,
- 0x53, 0x30, 0xd6, 0x20,
- 0xbd, 0xf4, 0xde, 0x93, 0x43, 0x13, 0x08, 0xca, 0x0c, 0x93, 0xb4, 0xac,
- 0x5a, 0x52, 0x9f, 0xdd,
- 0x38, 0xb0, 0x01, 0xc1, 0x3c, 0xd5, 0x90, 0xaa, 0xd8, 0xc1, 0xba, 0xc9,
- 0x5d, 0xcd, 0x19, 0x37,
- 0xcd, 0x57, 0xdc, 0xd2, 0x3b, 0x7a, 0xeb, 0x5d, 0x7f, 0xd2, 0x03, 0xfd,
- 0xe0, 0x0b, 0xad, 0xb3,
- 0x48, 0x13, 0x03, 0x80, 0x44, 0xbc, 0x73, 0x3d, 0xab, 0x80, 0x0d, 0x98,
- 0xe7, 0x94, 0x2b, 0x59,
- 0x04, 0xdf, 0xa1, 0x76, 0xc5, 0x35, 0x18, 0x9d, 0x14, 0x76, 0x1f, 0x37,
- 0xee, 0xf6, 0x62, 0xa4,
- 0x81, 0x9b, 0x7e, 0x24, 0xba, 0xf3, 0x80, 0xfd, 0xc0, 0x24, 0x11, 0x52,
- 0xe9, 0x69, 0xe4, 0x4e,
- 0x9c, 0x84, 0x26, 0x59, 0x04, 0xe4, 0xce, 0x1e, 0xa9, 0x59, 0x3b, 0xaa,
- 0xfc, 0x32, 0xf0, 0x9d,
- 0x19, 0xc0, 0xf9, 0x0b, 0x7b, 0x22, 0x56, 0x7e, 0x7d, 0x0b, 0x35, 0xcf,
- 0xfb, 0xad, 0x76, 0x77,
- 0x55, 0x0c, 0x5b, 0xfd, 0xfa, 0xab, 0x3d, 0xde, 0xc2, 0xfd, 0x27, 0x60,
- 0xf2, 0xcf, 0x3f, 0x8a,
- 0xd0, 0x48, 0x84, 0xaf, 0x85, 0x6d, 0xa5, 0xbe, 0x16, 0xaf, 0x29, 0x05,
- 0xf5, 0x50, 0xb9, 0x60,
- 0x6f, 0x32, 0xeb, 0x07, 0x45, 0x85, 0xa1, 0xdb, 0x10, 0x07, 0x73, 0x53,
- 0xd8, 0x79, 0x17, 0xef,
- 0xea, 0x76, 0x34, 0x55, 0x3a, 0x43, 0x39, 0xbb, 0xc4, 0x55, 0x7d, 0x36,
- 0xdf, 0xe6, 0x91, 0x05,
- 0xa6, 0xba, 0x96, 0xa3, 0xbb, 0xca, 0x52, 0x1b, 0x7b, 0xa3, 0x6f, 0x99,
- 0xd6, 0x84, 0xd8, 0xf8,
- 0x23, 0xfe, 0x49, 0xf1, 0xc4, 0x0c, 0xca, 0x7b, 0xaf, 0xf1, 0x61, 0xfc,
- 0xd1, 0x1b, 0x5e, 0x12,
- 0x3e, 0xe1, 0x11, 0x8c, 0x7a, 0x1b, 0x84, 0x98, 0xc6, 0x8c, 0x4b, 0x04,
- 0xc4, 0x40, 0x4a, 0xc1,
- 0xbb, 0xa5, 0xce, 0xde, 0x05, 0xdd, 0x1c, 0xf8, 0x12, 0xde, 0x45, 0x61,
- 0xc3, 0xdf, 0xcc, 0x2b,
- 0xf7, 0x69, 0x6c, 0x28, 0x84, 0x54, 0x77, 0x58, 0xad, 0x28, 0x57, 0xce,
- 0xca, 0xbd, 0x85, 0xd6,
- 0x72, 0x2d, 0xb3, 0x7a, 0xfb, 0x92, 0xef, 0x38, 0x79, 0x7a, 0x59, 0xab,
- 0xcd, 0x22, 0x03, 0x3c,
- 0x4a, 0x9d, 0xb2, 0xbb, 0xc7, 0x47, 0x7f, 0x92, 0xa1, 0xbb, 0xe3, 0x62,
- 0x90, 0xef, 0x1a, 0x0b,
- 0xcf, 0xd9, 0x6d, 0xe9, 0xb8, 0x81, 0xe7, 0xf2, 0x75, 0xe9, 0xed, 0x07,
- 0x97, 0x70, 0x9c, 0xe1,
- 0x83, 0x15, 0xcf, 0x1f, 0x39, 0x08, 0x8c, 0x52, 0xca, 0x1f, 0xff, 0xa8,
- 0x9e, 0x12, 0xd5, 0x1c,
- 0x06, 0x51, 0x10, 0x4d, 0x46, 0xce, 0x14, 0x32, 0x1e, 0x4d, 0xf1, 0xcd,
- 0x99, 0x8d, 0x53, 0xf6,
- 0x1b, 0x4e, 0x48, 0x30, 0xf8, 0xd9, 0x5a, 0xd1, 0x77, 0x30, 0xdb, 0x35,
- 0x8c, 0xd6, 0x47, 0x25,
- 0x9e, 0x0a, 0x97, 0x62, 0x87, 0x1f, 0xc2, 0xb1, 0xa3, 0x62, 0xd5, 0x50,
- 0x8b, 0x49, 0xc1, 0xcf,
- 0xd2, 0xc6, 0x35, 0x94, 0x06, 0x96, 0xa9, 0x11, 0x1c, 0x94, 0xc7, 0xff,
- 0x82, 0x2b, 0x88, 0x32,
- 0x57, 0x82, 0xea, 0xc6, 0x79, 0x50, 0x31, 0x71, 0xc8, 0xc6, 0xc9, 0x9a,
- 0x85, 0xb4, 0x0e, 0xd8,
- 0xe8, 0xf8, 0x85, 0x6e, 0xb9, 0xb8, 0x35, 0x14, 0xce, 0x6e, 0x93, 0xcc,
- 0xa8, 0x9d, 0xa0, 0x57,
- 0x6d, 0xbc, 0x5a, 0x3c, 0xc6, 0x7e, 0xad, 0x74, 0x1a, 0x3c, 0x9d, 0xa9,
- 0xaf, 0x02, 0x26, 0xbd,
- 0x21, 0x70, 0xf8, 0xca, 0x47, 0xf7, 0xc6, 0xd4, 0xa5, 0xca, 0x8f, 0x06,
- 0xa6, 0x60, 0x6f, 0x40,
- 0xa4, 0x34, 0x27, 0x98, 0x38, 0x31, 0x5e, 0xb4, 0x71, 0x98, 0x81, 0x63,
- 0xa1, 0xff, 0xe9, 0xaa,
- 0xb9, 0x2b, 0x7f, 0xe5, 0x86, 0x26, 0x10, 0x57, 0x18, 0xe5, 0xab, 0x9b,
- 0xb4, 0xa4, 0xfd, 0x79,
- 0x3c, 0x6f, 0xa0, 0xb7, 0xf9, 0xe0, 0x88, 0x37, 0xcc, 0xb7, 0xa5, 0xfe,
- 0xb3, 0x3b, 0x7b, 0x93,
- 0x70, 0xa3, 0x02, 0x41, 0x78, 0x69, 0xe3, 0x97, 0x73, 0x41, 0xb7, 0x51,
- 0xba, 0x59, 0x32, 0x6e,
- 0xf5, 0xe7, 0xdd, 0x13, 0x07, 0xaf, 0x7b, 0xf7, 0xa7, 0x13, 0xb9, 0x34,
- 0xbd, 0xc6, 0xb4, 0x84,
- 0x59, 0xae, 0x7b, 0x67, 0x76, 0xf4, 0x15, 0xba, 0xfe, 0x67, 0x06, 0x39,
- 0x03, 0x16, 0x99, 0xa5,
- 0xdc, 0xea, 0xa4, 0x35, 0x09, 0x32, 0x8d, 0xda, 0x2a, 0x35, 0x08, 0x5c,
- 0x04, 0x89, 0x1f, 0x4f,
- 0x90, 0x26, 0x06, 0xc3, 0x88, 0xbb, 0xe6, 0x7a, 0x95, 0xc3, 0x1a, 0xf3,
- 0x0d, 0xeb, 0x56, 0xb2,
- 0x15, 0x62, 0xd9, 0x91, 0xf7, 0x7d, 0x7e, 0x1a, 0x41, 0x91, 0x14, 0x96,
- 0x0a, 0x74, 0xd0, 0x58,
- 0x08, 0x7d, 0x81, 0xec, 0x49, 0x6a, 0x30, 0xf9, 0x28, 0xec, 0x3e, 0x6e,
- 0x1f, 0x2f, 0xc4, 0x8b,
- 0x8d, 0x39, 0x5e, 0xbe, 0x36, 0xac, 0xa8, 0x99, 0xfc, 0xbe, 0x30, 0x0b,
- 0x18, 0xb0, 0x42, 0x61,
- 0xc1, 0xf5, 0xfc, 0x48, 0xb7, 0x25, 0xc3, 0x39, 0x43, 0x48, 0x22, 0xa4,
- 0x11, 0xd2, 0x0b, 0x9c,
- 0x44, 0xb1, 0x23, 0x1a, 0xc8, 0xe3, 0x5b, 0x59, 0x97, 0x1a, 0x2c, 0xc1,
- 0x16, 0x4d, 0x8d, 0x76,
- 0xfb, 0xcb, 0x4c, 0xb2, 0x08, 0x0b, 0x5f, 0x3c, 0x91, 0xb2, 0x76, 0x97,
- 0x3b, 0x64, 0x23, 0xf9,
- 0x7e, 0x8f, 0x93, 0xe0, 0x77, 0xcd, 0xc7, 0x5c, 0x45, 0xe0, 0x78, 0xf2,
- 0x3c, 0xfb, 0xa5, 0x13,
- 0x32, 0x43, 0x31, 0x16, 0xf6, 0x44, 0xac, 0xfc, 0xfa, 0x16, 0x6a, 0x5d,
- 0x35, 0x99, 0xec, 0xee,
- 0xb7, 0x07, 0xee, 0x44, 0x89, 0x82, 0x34, 0x9c, 0x2e, 0x44, 0x64, 0x38,
- 0x32, 0x06, 0x6a, 0x04,
- 0xaa, 0x18, 0xb6, 0x39, 0x37, 0x95, 0x7a, 0x7f, 0x47, 0x39, 0x4e, 0xc0,
- 0x27, 0x5d, 0x7e, 0xd7,
- 0x2f, 0x5c, 0x69, 0x6b, 0x48, 0x53, 0xe2, 0x1f, 0x93, 0x6b, 0x40, 0xa5,
- 0x20, 0xc2, 0xf8, 0x3d,
- 0x63, 0x90, 0xcb, 0x9d, 0xc9, 0xda, 0x89, 0xbf, 0x2c, 0x9d, 0x52, 0x0a,
- 0x29, 0xa0, 0xb1, 0xc0,
- 0xe6, 0xd4, 0x14, 0xcf, 0xb6, 0x1c, 0x11, 0xdf, 0xf8, 0xcf, 0x5c, 0x6f,
- 0x2e, 0x3f, 0x37, 0x2a,
- 0xde, 0x64, 0x15, 0x0e, 0x8a, 0xc9, 0x81, 0x75, 0x20, 0x0e, 0xe6, 0xa6,
- 0x73, 0xf2, 0x2e, 0x1d,
- 0x5b, 0x20, 0xca, 0x5c, 0xf5, 0x0f, 0x19, 0x15, 0xf4, 0x5c, 0xe8, 0xc3,
- 0x74, 0x6d, 0xa8, 0xf7,
- 0x17, 0xec, 0x68, 0xaa, 0x74, 0x86, 0x72, 0xb5, 0x4b, 0xaa, 0xfa, 0x6c,
- 0x7d, 0x0f, 0xe1, 0x0a,
- 0x92, 0xa8, 0xb7, 0xf8, 0x0b, 0x40, 0xea, 0xd5, 0x9f, 0xf8, 0xf4, 0x09,
- 0x7a, 0x90, 0x67, 0xe0,
- 0x8f, 0xb7, 0xef, 0x85, 0xb5, 0x57, 0xa4, 0x36, 0xf6, 0x85, 0xde, 0xf1,
- 0x6f, 0xcb, 0x73, 0x33,
- 0x0a, 0xf3, 0x30, 0xd7, 0xca, 0x91, 0x3c, 0x56, 0x22, 0xd7, 0xd0, 0x94,
- 0x68, 0x54, 0xf5, 0xd9,
- 0x46, 0x3f, 0x92, 0x21, 0x4b, 0x18, 0x57, 0xf6, 0x9d, 0x21, 0xc2, 0x3b,
- 0x61, 0x36, 0xbc, 0x24,
- 0xc3, 0x7b, 0x4d, 0x73, 0x34, 0xde, 0xcf, 0x96, 0x49, 0x73, 0xcc, 0x5e,
- 0x66, 0xa9, 0x3a, 0xce,
- 0x7c, 0x01, 0x22, 0xdb, 0xf4, 0x36, 0xcb, 0xf3, 0x4f, 0xdb, 0x96, 0x08,
- 0x4b, 0x80, 0x94, 0x41,
- 0xf9, 0x45, 0xfd, 0x89, 0x8b, 0xf0, 0x53, 0x93, 0x9b, 0x89, 0x98, 0x6d,
- 0x4c, 0x1f, 0x12, 0xab,
- 0xb5, 0x89, 0x5f, 0x7f, 0x0a, 0x79, 0x38, 0x33, 0x24, 0x7f, 0x8a, 0xc2,
- 0x45, 0x7d, 0x5b, 0x56,
- 0x30, 0xcd, 0x80, 0x2d, 0x75, 0xbf, 0xa0, 0x53, 0xf0, 0x2d, 0x84, 0xa7,
- 0x42, 0xe2, 0xdd, 0xbc,
- 0x2d, 0xd2, 0xd8, 0x50, 0xcb, 0xa8, 0xee, 0xb0, 0x99, 0x50, 0xae, 0x5f,
- 0x57, 0xb9, 0xc9, 0x6f,
- 0xa8, 0x96, 0x07, 0x02, 0xb4, 0x6e, 0x76, 0xd0, 0x4d, 0x02, 0xa0, 0x3a,
- 0x50, 0x26, 0x4f, 0x85,
- 0xe4, 0x5a, 0xa5, 0xf4, 0x35, 0xe7, 0x1d, 0x70, 0xf2, 0xf4, 0xb2, 0x95,
- 0x59, 0x44, 0x06, 0x78,
- 0x61, 0x1e, 0x7a, 0xa6, 0x4a, 0x21, 0x85, 0x10, 0x26, 0xa6, 0xbc, 0xf0,
- 0x5e, 0xdb, 0x80, 0x92,
- 0x94, 0xf9, 0xa7, 0xb5, 0x4d, 0x8e, 0xfe, 0xe7, 0x81, 0xb5, 0x05, 0xc4,
- 0xe3, 0x1d, 0x34, 0x16,
- 0x11, 0xbd, 0x78, 0xe7, 0x32, 0x48, 0x66, 0x87, 0x55, 0xe7, 0x0b, 0xa1,
- 0xe4, 0x82, 0xb2, 0xfc,
- 0x5d, 0x71, 0xda, 0x11, 0xb3, 0xc1, 0x0d, 0x27, 0xea, 0x11, 0x19, 0x0e,
- 0xed, 0xe0, 0xfb, 0x01,
- 0xd8, 0x35, 0x05, 0x43, 0xcc, 0x07, 0x95, 0x47, 0x3e, 0x43, 0x17, 0x6b,
- 0xea, 0x7f, 0x7d, 0xeb,
- 0xc5, 0x2a, 0x5d, 0x3e, 0x72, 0x10, 0xdb, 0xa4, 0x57, 0x3e, 0x3d, 0x93,
- 0xff, 0x24, 0x69, 0x38,
- 0x40, 0x6e, 0x82, 0x6c, 0x0d, 0xd6, 0x43, 0xc4, 0x83, 0x6c, 0x33, 0xf6,
- 0xf8, 0xbb, 0xef, 0xd2,
- 0x0c, 0xa2, 0x20, 0x9a, 0x8c, 0x5f, 0x28, 0x64, 0x3c, 0x9a, 0x21, 0x59,
- 0xf1, 0xd9, 0xa6, 0x2f,
- 0x89, 0xe6, 0xff, 0xc8, 0xf3, 0x99, 0xb0, 0x04, 0xe8, 0xc8, 0x2f, 0x3c,
- 0xf6, 0x46, 0x20, 0xc5,
- 0x36, 0x9c, 0x90, 0x60, 0x33, 0x71, 0xb4, 0x61, 0xee, 0x60, 0x75, 0x6a,
- 0xdb, 0x6f, 0x8e, 0x4a,
- 0xb3, 0xd8, 0x4f, 0x32, 0x4c, 0xb7, 0x2c, 0x01, 0x3a, 0x32, 0x7b, 0x0f,
- 0xdc, 0xf0, 0x08, 0xa0,
- 0xff, 0x14, 0xed, 0xc4, 0xcd, 0x3e, 0x47, 0xa1, 0x85, 0xc4, 0x69, 0xa0,
- 0xd5, 0x92, 0x41, 0x5d,
- 0x7a, 0x50, 0x32, 0x96, 0xb2, 0xf8, 0xdf, 0xc1, 0x51, 0x96, 0x67, 0xc5,
- 0xd2, 0x0d, 0xc7, 0xb7,
- 0x67, 0x4f, 0x6a, 0xeb, 0x0c, 0xef, 0x91, 0x22, 0x38, 0xeb, 0x4d, 0x3d,
- 0xc7, 0x56, 0xd3, 0x64,
- 0xe2, 0x0b, 0xb5, 0xb9, 0x73, 0x29, 0x09, 0x42, 0xec, 0xb9, 0x43, 0x58,
- 0xc0, 0xc9, 0x55, 0x8e,
- 0xae, 0xc7, 0x17, 0x4f, 0xf2, 0xa0, 0x62, 0xe2, 0x53, 0x4f, 0x51, 0xf7,
- 0xc9, 0xab, 0x1c, 0x73,
- 0x2b, 0x83, 0xc8, 0x1d, 0x8d, 0x66, 0xfa, 0x82, 0x87, 0x1d, 0x5f, 0x92,
- 0xce, 0x34, 0x9a, 0x99,
- 0x13, 0x33, 0xc9, 0xdc, 0xb1, 0xb3, 0x6a, 0x28, 0x5f, 0xdc, 0xe5, 0x5b,
- 0x93, 0xf9, 0x83, 0xae,
- 0x96, 0x77, 0x16, 0x8e, 0xce, 0x75, 0xf2, 0x48, 0x8b, 0x8e, 0xeb, 0x3e,
- 0x94, 0x66, 0x05, 0x44,
- 0xda, 0xbb, 0xb4, 0x78, 0x4f, 0xfc, 0x99, 0xe8, 0x34, 0x78, 0xf9, 0x91,
- 0x9d, 0x04, 0x4c, 0xb9,
- 0x5f, 0xff, 0x6b, 0x2a, 0x30, 0x3a, 0x01, 0x88, 0xe0, 0x2a, 0xf7, 0xf4,
- 0x9a, 0x9b, 0xca, 0x53,
- 0x42, 0xe0, 0x33, 0x57, 0x8e, 0x2d, 0x4f, 0x6b, 0x89, 0x57, 0xdd, 0x0c,
- 0x8f, 0xc0, 0xde, 0x80,
- 0xc7, 0xa4, 0xec, 0x05, 0xf1, 0xeb, 0xd7, 0x0b, 0x5d, 0x05, 0xd3, 0x69,
- 0x88, 0x5f, 0x58, 0x6a,
- 0x8b, 0x68, 0x4e, 0xf3, 0x70, 0x62, 0xbc, 0xab, 0xe2, 0xf3, 0xc1, 0xc6,
- 0x81, 0x3d, 0x11, 0x97,
- 0x0e, 0x2c, 0x91, 0xa1, 0x0f, 0xa4, 0x24, 0xcb, 0x36, 0xa1, 0xcf, 0xa3,
- 0x86, 0xa2, 0x97, 0x7d,
- 0xb1, 0x56, 0xfe, 0x09, 0xcf, 0x4c, 0x20, 0xae, 0x30, 0x09, 0x95, 0xf5,
- 0xab, 0x8b, 0x39, 0xf2,
- 0x34, 0x12, 0x21, 0x5b, 0xb0, 0x8a, 0xb8, 0xce, 0xe4, 0x5b, 0x9b, 0x90,
- 0xac, 0x14, 0xbf, 0x18,
- 0x78, 0xde, 0x83, 0xad, 0x31, 0x03, 0xd3, 0x6e, 0x5b, 0xad, 0x89, 0x3f,
- 0xa5, 0x76, 0xf6, 0xe5,
- 0xfd, 0x9a, 0x5c, 0xff, 0x4e, 0xc5, 0x4b, 0x0e, 0x8f, 0xff, 0x87, 0x5a,
- 0xa2, 0xe9, 0x70, 0x0f,
- 0xe0, 0x85, 0x04, 0x82, 0xf0, 0xd2, 0x05, 0xed, 0xe6, 0x82, 0xad, 0xa2,
- 0xb7, 0xb2, 0x64, 0xdc,
- 0x65, 0xc1, 0xdb, 0xd0, 0x8f, 0x14, 0x9d, 0x8d, 0x32, 0xd0, 0xa3, 0xc7,
- 0xb0, 0x2d, 0xe2, 0x36,
- 0x29, 0x0d, 0x79, 0x26, 0x0e, 0x9d, 0xf6, 0x2d, 0x8d, 0x26, 0xb1, 0x68,
- 0xb9, 0x4f, 0xab, 0xcb,
- 0xac, 0x49, 0xa6, 0x74, 0x71, 0x5b, 0x6e, 0x4d, 0x59, 0x74, 0xbf, 0x0d,
- 0xbe, 0xd0, 0x2d, 0x21,
- 0xb2, 0x9f, 0xf6, 0xce, 0xec, 0x2b, 0x2a, 0xb7, 0x3f, 0xce, 0x0c, 0x72,
- 0x06, 0x2c, 0xf1, 0x89,
- 0x37, 0xdb, 0x29, 0x9c, 0x93, 0xed, 0xb2, 0xd7, 0xeb, 0x9c, 0x02, 0x17,
- 0x01, 0xb3, 0x77, 0x63,
- 0x7b, 0x17, 0x8b, 0x6a, 0x12, 0x64, 0xd9, 0x77, 0x54, 0x6a, 0x10, 0xb8,
- 0x08, 0xd1, 0x3e, 0x9e,
- 0xfe, 0x53, 0x54, 0x38, 0x6d, 0xa2, 0x41, 0x17, 0x80, 0x38, 0x1e, 0xdd,
- 0x0f, 0x4e, 0xb8, 0x74,
- 0xe3, 0x4c, 0x0c, 0x45, 0xd3, 0xb5, 0x0f, 0xf4, 0xe9, 0x45, 0x34, 0x25,
- 0x1a, 0x15, 0xac, 0xa7,
- 0x66, 0x08, 0xd3, 0x17, 0xac, 0x73, 0x97, 0x94, 0x3d, 0x17, 0x3a, 0x40,
- 0x1d, 0x8a, 0x2a, 0x4d,
- 0x2a, 0xc4, 0x71, 0xe1, 0x2d, 0xfa, 0xfc, 0x34, 0x82, 0xe1, 0x28, 0xef,
- 0x14, 0xe8, 0x63, 0xb0,
- 0xaf, 0x80, 0xae, 0xb3, 0x52, 0x3c, 0x64, 0x54, 0x56, 0xb3, 0x26, 0x8a,
- 0x13, 0x77, 0xe5, 0x5a,
- 0x10, 0xfa, 0xc1, 0x1b, 0x92, 0xd4, 0x60, 0x31, 0x50, 0x1b, 0x7c, 0xdc,
- 0x3e, 0x5e, 0x4b, 0xd5,
- 0x95, 0xbe, 0x1e, 0x49, 0xed, 0x12, 0xf8, 0x51, 0x84, 0x49, 0x72, 0xb9,
- 0x39, 0xc1, 0xcd, 0x3f,
- 0xd9, 0x72, 0xbc, 0xbf, 0x6c, 0x9b, 0x93, 0xf1, 0x3b, 0xbf, 0x60, 0x16,
- 0x30, 0xa3, 0x84, 0xc2,
- 0x5c, 0x36, 0x63, 0xed, 0x13, 0x5d, 0x0b, 0x91, 0xef, 0xed, 0x6e, 0x73,
- 0x37, 0x3c, 0x02, 0x28,
- 0x41, 0x29, 0x3b, 0x90, 0xad, 0x4a, 0x45, 0x72, 0x86, 0x90, 0x44, 0x8b,
- 0x22, 0x67, 0x16, 0xfb,
- 0xc4, 0x6d, 0xe4, 0xc2, 0xd2, 0x8c, 0xdd, 0x12, 0x52, 0xc2, 0x4a, 0xee,
- 0x25, 0xf8, 0x90, 0x11,
- 0x88, 0xa1, 0x46, 0x34, 0x53, 0x05, 0xb6, 0xb2, 0xed, 0x34, 0x58, 0x41,
- 0x2c, 0x9a, 0xd9, 0xec,
- 0x0d, 0xe5, 0x99, 0x66, 0x2c, 0xc3, 0x2e, 0xd2, 0x39, 0x66, 0x56, 0x24,
- 0x2b, 0x05, 0x5f, 0x06,
- 0x35, 0x55, 0x98, 0xa7, 0x10, 0x16, 0xbe, 0x78, 0xe1, 0xa7, 0xec, 0xed,
- 0x76, 0xc8, 0x46, 0x31,
- 0xb0, 0x11, 0x47, 0xf5, 0x6f, 0xd0, 0x26, 0x18, 0x35, 0xf5, 0xe2, 0x88,
- 0x71, 0x57, 0xc0, 0xdb,
- 0xfc, 0xdd, 0xe5, 0x03, 0xee, 0x59, 0x4d, 0xb8, 0x8a, 0x03, 0xf0, 0x27,
- 0x78, 0x35, 0x89, 0x26,
- 0x79, 0x99, 0x3a, 0x51, 0x91, 0x9f, 0xd5, 0xd8, 0x5e, 0x51, 0xfe, 0x42,
- 0x7f, 0xaa, 0x0f, 0xcc,
- 0x64, 0x86, 0x62, 0x2c, 0x2f, 0x88, 0x9b, 0x3b, 0x37, 0x2c, 0xd4, 0xba,
- 0x6a, 0xf1, 0x1b, 0x1f,
- 0xe1, 0xc2, 0xbd, 0x7e, 0x50, 0x4e, 0x03, 0x5b, 0xe3, 0x7e, 0xda, 0xdf,
- 0x6d, 0x6e, 0x9d, 0xf5,
- 0xad, 0x0e, 0x1f, 0x88, 0xd1, 0xc7, 0x68, 0xfb, 0x5c, 0x88, 0xc8, 0x70,
- 0x64, 0x0c, 0xd4, 0x08,
- 0x28, 0x4a, 0xc0, 0xda, 0xae, 0x01, 0xf0, 0x9b, 0x88, 0xda, 0xc6, 0x15,
- 0x63, 0x93, 0x52, 0xe2,
- 0x97, 0x30, 0xaf, 0x72, 0x6e, 0xe9, 0xf4, 0xfe, 0x8e, 0x72, 0x9c, 0x43,
- 0x4e, 0xba, 0xfc, 0x6d,
- 0x12, 0x74, 0x70, 0x20, 0x11, 0x2f, 0x6c, 0x9e, 0x5a, 0x20, 0x92, 0x26,
- 0x49, 0x25, 0x7a, 0x87,
- 0x5e, 0xb8, 0xd2, 0xd6, 0x90, 0xa6, 0x07, 0x3e, 0xe5, 0xd6, 0x80, 0x89,
- 0x40, 0x47, 0x33, 0x7a,
- 0xdb, 0xfc, 0x0d, 0x84, 0xef, 0x60, 0x9f, 0x5e, 0x31, 0x84, 0x8e, 0xec,
- 0x47, 0xd8, 0xb5, 0x90,
- 0xc6, 0xe3, 0x55, 0xf9, 0x51, 0x77, 0xd1, 0xbd, 0x58, 0xf9, 0xa4, 0x14,
- 0x52, 0x83, 0xa1, 0x43,
- 0x43, 0xa7, 0x8a, 0xab, 0x2e, 0xb1, 0x49, 0xdd, 0x8c, 0xab, 0xaa, 0x71,
- 0x55, 0x1c, 0x27, 0xa9,
- 0x0f, 0x6b, 0x28, 0x5d, 0xaf, 0x38, 0x22, 0x7d, 0x33, 0x5d, 0xb8, 0xde,
- 0x5c, 0x7e, 0x6e, 0x54,
- 0x8a, 0x2f, 0xf7, 0x0f, 0xd0, 0xfe, 0xba, 0x1d, 0xe7, 0x0f, 0xb6, 0xbb,
- 0x5b, 0xe1, 0xe8, 0xbe,
- 0x7f, 0xc8, 0x2a, 0x1c, 0xd7, 0x51, 0xc1, 0xea, 0x40, 0x1c, 0x0f, 0x8f,
- 0xe6, 0x27, 0x5c, 0x3a,
- 0xfa, 0x8c, 0xf5, 0x4e, 0xa8, 0x97, 0x59, 0x8a, 0x94, 0x4e, 0x01, 0xea,
- 0xe1, 0xb8, 0xda, 0xd0,
- 0xb6, 0x40, 0x57, 0xb8, 0x29, 0x1e, 0x32, 0x2a, 0x2b, 0xb8, 0x13, 0x45,
- 0xe8, 0xda, 0x93, 0x2d,
- 0x33, 0x04, 0x88, 0xea, 0x56, 0xd8, 0xaa, 0x4a, 0xff, 0xea, 0x1d, 0x20,
- 0xef, 0x45, 0x15, 0xc7,
- 0x2e, 0x1b, 0xd0, 0x97, 0xe8, 0xcf, 0xe4, 0xa9, 0x96, 0x97, 0x37, 0xd8,
- 0xfa, 0x1e, 0x01, 0x14,
- 0xab, 0x5f, 0x0f, 0xc5, 0x97, 0x09, 0x7c, 0xc9, 0x42, 0xc5, 0x39, 0xbd,
- 0xfd, 0x81, 0x87, 0xfe,
- 0xe7, 0x93, 0xad, 0x33, 0x16, 0x80, 0x17, 0x69, 0xfd, 0x33, 0x2b, 0x12,
- 0xf4, 0xe3, 0xce, 0x03,
- 0x62, 0xd7, 0x72, 0x61, 0x69, 0x46, 0x8f, 0x09, 0x29, 0x61, 0x25, 0x77,
- 0xf3, 0x7c, 0x48, 0xe9,
- 0xdd, 0xad, 0x1d, 0xc9, 0xa9, 0xae, 0x8b, 0x6c, 0x2f, 0xc9, 0x7f, 0x21,
- 0xde, 0x55, 0xe6, 0x66,
- 0x58, 0xe9, 0xc2, 0x9b, 0xd6, 0x68, 0x13, 0x0c, 0xfb, 0x9b, 0x71, 0x44,
- 0xd9, 0xca, 0x60, 0x8c,
- 0x14, 0x25, 0x60, 0x6d, 0x57, 0xe1, 0x78, 0xac, 0x44, 0x6d, 0x63, 0xeb,
- 0xd0, 0xa8, 0x29, 0x71,
- 0x91, 0x61, 0xbf, 0x3f, 0x28, 0x27, 0xe0, 0xcc, 0x90, 0x3f, 0x6d, 0x8e,
- 0xd7, 0x37, 0xaf, 0x9b,
- 0x8c, 0x7e, 0xe7, 0x42, 0x96, 0x30, 0xae, 0x2f, 0xf9, 0x42, 0x47, 0x76,
- 0xc2, 0x6c, 0xbb, 0x48,
- 0x09, 0x3a, 0x38, 0x10, 0xe9, 0xf6, 0x36, 0x4f, 0x2d, 0x10, 0x49, 0x13,
- 0xc5, 0xf3, 0x3d, 0xa2,
- 0x45, 0xf6, 0x9a, 0xe6, 0x68, 0x7f, 0x5d, 0xef, 0x92, 0xe6, 0x5b, 0xbc,
- 0xcc, 0x91, 0x74, 0x5f,
- 0xc0, 0xb2, 0x45, 0xb4, 0x17, 0xb9, 0xc5, 0x8f, 0x46, 0xb4, 0x55, 0xd9,
- 0xcb, 0x0e, 0xf2, 0xb5,
- 0xf8, 0x02, 0x44, 0x75, 0x2b, 0x6c, 0x55, 0x25, 0x9e, 0x75, 0xef, 0x10,
- 0x96, 0xc3, 0xeb, 0x82,
- 0x7d, 0x46, 0x9b, 0x27, 0x54, 0xaa, 0xcd, 0x45, 0x4a, 0x27, 0xe1, 0x75,
- 0x91, 0x5c, 0x6d, 0x68,
- 0x31, 0x8a, 0x39, 0xd1, 0xd5, 0x23, 0xa6, 0xe5, 0xf5, 0xd1, 0xf3, 0xda,
- 0x98, 0x3e, 0x24, 0x95,
- 0xb4, 0xce, 0xe6, 0x83, 0xaa, 0xe5, 0x3e, 0x85, 0x21, 0x83, 0xfd, 0xbf,
- 0x9f, 0xa1, 0xa2, 0x7f,
- 0xa9, 0xd1, 0xbe, 0xfe, 0x14, 0xf2, 0x70, 0x66, 0x48, 0xfe, 0xd7, 0x47,
- 0x8a, 0xfa, 0xb6, 0xac,
- 0x2c, 0x95, 0x61, 0xac, 0x6b, 0x34, 0xe8, 0x06, 0x9c, 0xac, 0xd9, 0x22,
- 0x8d, 0x65, 0x30, 0x46,
- 0x60, 0x59, 0xc3, 0x5a, 0xea, 0xbd, 0x83, 0xa6, 0x23, 0x5a, 0xcb, 0x8d,
- 0x84, 0x07, 0x79, 0xbb,
- 0xe5, 0x1d, 0x1c, 0x08, 0x95, 0x7b, 0x1b, 0xc6, 0xf7, 0x08, 0xc5, 0xe8,
- 0x83, 0x98, 0xff, 0x51,
- 0x5a, 0x67, 0x73, 0xa0, 0x55, 0x93, 0x1f, 0xa3, 0xf1, 0xa0, 0x9f, 0xbe,
- 0xae, 0xb1, 0x51, 0xde,
- 0xdf, 0x23, 0xac, 0xf2, 0x2a, 0x55, 0x87, 0xc3, 0x25, 0xf2, 0x91, 0xdb,
- 0xa9, 0x2e, 0xd7, 0x34,
- 0x93, 0xef, 0x0e, 0x04, 0xab, 0xdc, 0xec, 0x63, 0x9a, 0x04, 0x83, 0x74,
- 0xa0, 0x4c, 0x9e, 0xc9,
- 0x16, 0xab, 0xd1, 0x56, 0xd4, 0x1a, 0x74, 0x03, 0x4e, 0x56, 0x8d, 0x11,
- 0xa7, 0xd3, 0x18, 0x23,
- 0x0b, 0xb4, 0x89, 0x2b, 0x6a, 0x0d, 0x3a, 0xe0, 0x27, 0x2b, 0xa7, 0xe9,
- 0xb2, 0x88, 0x0c, 0xf0,
- 0x8e, 0xf0, 0x56, 0x79, 0x15, 0xcb, 0xa2, 0x80, 0xf3, 0x79, 0xa9, 0x8c,
- 0xb5, 0x17, 0x8a, 0x1a,
- 0xc2, 0x3c, 0xf4, 0x8f, 0x94, 0x42, 0xc9, 0x20, 0x4c, 0x8f, 0xbb, 0x23,
- 0xbc, 0x75, 0xc3, 0xe7,
- 0x47, 0x78, 0x2b, 0xdd, 0xeb, 0x84, 0x51, 0x40, 0x98, 0xdd, 0xb5, 0x46,
- 0xbb, 0xea, 0x45, 0x0d,
- 0xeb, 0x31, 0x8d, 0xa9, 0x9a, 0xdf, 0x3f, 0x0d, 0xc1, 0xa9, 0x0a, 0x4b,
- 0x05, 0x3a, 0x68, 0x2c,
- 0x6e, 0x75, 0x52, 0xfb, 0xe5, 0x19, 0xa7, 0x6d, 0x15, 0xfb, 0x04, 0x2e,
- 0x02, 0xa5, 0xee, 0xc6,
- 0x22, 0xb9, 0xf0, 0x0d, 0x64, 0x90, 0xcc, 0xcd, 0xaa, 0x0d, 0x16, 0x81,
- 0x0b, 0xc7, 0xa7, 0x3b,
- 0xa7, 0xfd, 0x2f, 0x5f, 0x1b, 0x56, 0x54, 0xad, 0x7e, 0x5f, 0x18, 0xe4,
- 0x0c, 0x58, 0x21, 0xd1,
- 0xba, 0xe2, 0x77, 0x22, 0xa5, 0x41, 0x1a, 0x4e, 0x17, 0x22, 0x32, 0x1c,
- 0x19, 0x03, 0x35, 0x02,
- 0x3f, 0xa6, 0xa8, 0x70, 0xda, 0x87, 0x82, 0x2e, 0xc3, 0x70, 0x3c, 0x79,
- 0x1e, 0x9c, 0xb3, 0xe8,
- 0x73, 0x6a, 0x0a, 0x86, 0x5b, 0x0e, 0xe9, 0x8e, 0x7c, 0x86, 0x2e, 0xd6,
- 0x17, 0xfe, 0xfa, 0x15,
- 0xf6, 0x2e, 0xd5, 0xd4, 0x24, 0xc8, 0x71, 0xee, 0xa8, 0xd4, 0x20, 0xb3,
- 0x10, 0x61, 0x7c, 0xff,
- 0x49, 0x54, 0xba, 0x7c, 0xe4, 0x20, 0x75, 0x8b, 0xae, 0x7c, 0x7a, 0xe5,
- 0x3d, 0x48, 0xd2, 0x70,
- 0xcc, 0x10, 0x65, 0x2e, 0x9b, 0xe6, 0xed, 0xeb, 0x7a, 0x2e, 0x74, 0x80,
- 0x3a, 0xd7, 0x54, 0x9a,
- 0x80, 0xdc, 0xc7, 0xd8, 0x1a, 0x6f, 0x86, 0x4b, 0xc5, 0xd8, 0x66, 0x2f,
- 0x33, 0xb5, 0x1d, 0x67,
- 0x05, 0x98, 0x18, 0x8a, 0x65, 0xa9, 0x1e, 0x2b, 0x11, 0x8a, 0x68, 0x4a,
- 0x34, 0x2a, 0x9b, 0x8d,
- 0x18, 0x87, 0x40, 0xf7, 0xdb, 0xbe, 0x50, 0xc8, 0x78, 0xf7, 0x42, 0xb2,
- 0x21, 0x71, 0x8f, 0x5e,
- 0x9d, 0xc3, 0x9f, 0xa5, 0xa4, 0x78, 0xc8, 0xa8, 0xac, 0xa5, 0x4c, 0xd7,
- 0x26, 0xee, 0x09, 0xb4,
- 0xd1, 0x0f, 0x3d, 0x53, 0x25, 0xf1, 0xa3, 0x08, 0x13, 0x53, 0x5e, 0x78,
- 0x2f, 0x8c, 0x40, 0x49,
- 0x54, 0x4b, 0xe2, 0x01, 0x5a, 0x37, 0x3b, 0x68, 0xc7, 0x01, 0x50, 0x1d,
- 0x28, 0x13, 0xc6, 0xa3,
- 0x6c, 0xfb, 0xe3, 0xc0, 0x66, 0xe2, 0xab, 0xc2, 0x1f, 0xc0, 0xea, 0xd4,
- 0x75, 0xde, 0xdf, 0x94,
- 0xe9, 0xbf, 0x3c, 0x92, 0x19, 0x24, 0x33, 0xa2, 0xcb, 0x92, 0xe4, 0xb1,
- 0x72, 0x41, 0x59, 0x7e,
- 0xa5, 0x73, 0x9e, 0x64, 0x98, 0xad, 0x58, 0x02, 0x74, 0x64, 0xf6, 0x1e,
- 0x7b, 0x23, 0x10, 0x83,
- 0x20, 0x37, 0x41, 0x36, 0xe7, 0x6b, 0xc0, 0x62, 0xa0, 0x36, 0xf8, 0x7b,
- 0x7c, 0xbc, 0x96, 0x69,
- 0x3d, 0x28, 0x19, 0x4b, 0x59, 0x7c, 0x8e, 0x81, 0xc9, 0x4b, 0xd2, 0x83,
- 0x69, 0xe7, 0x82, 0xba,
- 0xb8, 0x6c, 0xc6, 0x19, 0x26, 0xba, 0x16, 0xe1, 0x1d, 0x19, 0xdc, 0xe6,
- 0x6e, 0x78, 0x04, 0x50,
- 0xf4, 0xa0, 0x64, 0xef, 0xa7, 0x33, 0x7d, 0x41, 0xa2, 0xef, 0xce, 0x49,
- 0x67, 0x1a, 0x4d, 0xad,
- 0x71, 0xe4, 0xbb, 0xbd, 0xd8, 0xf5, 0xe5, 0x21, 0x76, 0xbd, 0xc0, 0x2c,
- 0x60, 0x85, 0xcb, 0x47,
- 0xce, 0x9e, 0xd4, 0x15, 0x18, 0x1d, 0xe1, 0x44, 0x70, 0x15, 0x9a, 0x7a,
- 0x4d, 0xac, 0x65, 0xc8,
- 0x4b, 0xda, 0x0b, 0x47, 0x67, 0xdb, 0x79, 0x24, 0xa4, 0x47, 0x94, 0x1f,
- 0x4a, 0x33, 0xe3, 0x22,
- 0x07, 0x16, 0xa9, 0xb1, 0xe6, 0x52, 0x12, 0x84, 0x1b, 0xb1, 0x86, 0xb0,
- 0x43, 0x51, 0xaa, 0xdf,
- 0x82, 0x52, 0x76, 0xe3, 0x99, 0x94, 0x8a, 0xe4, 0xcf, 0xe3, 0x88, 0xd5,
- 0x44, 0xce, 0x2c, 0x35,
- 0x9f, 0x4d, 0x2e, 0x9e, 0x27, 0x83, 0xc4, 0x07, 0xa6, 0x9e, 0xa2, 0x2d,
- 0x51, 0x95, 0x38, 0xe6,
- 0x1a, 0x09, 0xf1, 0xcc, 0x58, 0x45, 0x5c, 0x67, 0x72, 0xcc, 0xac, 0x48,
- 0x56, 0x0a, 0xbe, 0x0c,
- 0x56, 0xc5, 0x53, 0x3a, 0xd9, 0xcc, 0x37, 0xc7, 0xcd, 0x3a, 0xbe, 0xe7,
- 0x5f, 0x68, 0xf7, 0xf1,
- 0xd3, 0x81, 0x8c, 0x68, 0xa6, 0x0a, 0xaf, 0xa7, 0x19, 0x68, 0xb0, 0x82,
- 0x58, 0xf7, 0x71, 0x1b,
- 0x26, 0x66, 0x51, 0x7b, 0xa1, 0xa5, 0xd4, 0x50, 0xbe, 0x7b, 0x09, 0xb6,
- 0xe5, 0x31, 0xc5, 0x9f,
- 0xa3, 0x22, 0x8e, 0x29, 0xde, 0x63, 0x4c, 0x30, 0x6a, 0x29, 0x07, 0xd3,
- 0xe2, 0xae, 0x43, 0x75,
- 0xef, 0xee, 0x2c, 0xdf, 0x5f, 0xea, 0x27, 0x90, 0xd5, 0xdf, 0x15, 0x7c,
- 0xeb, 0xcc, 0x0a, 0x88,
- 0x6a, 0xaa, 0xf3, 0x8d, 0x20, 0x2c, 0xbf, 0xf0, 0x01, 0x8d, 0x1b, 0x19,
- 0xec, 0x53, 0x8c, 0x62,
- 0x77, 0xb5, 0xab, 0xf0, 0x9e, 0x3b, 0xf1, 0x13, 0x68, 0xf0, 0x31, 0xe1,
- 0xf9, 0x08, 0x98, 0xb1,
- 0xf2, 0xf1, 0x74, 0xa2, 0xe1, 0xfd, 0x69, 0x73, 0xbc, 0xa2, 0x3f, 0x84,
- 0xfe, 0x97, 0x1e, 0x5b,
- 0xbe, 0x3d, 0xd6, 0x54, 0x60, 0x74, 0x02, 0xd3, 0x03, 0x54, 0x2d, 0x2b,
- 0xf7, 0xf5, 0x57, 0xa6,
- 0x3b, 0x79, 0x09, 0x06, 0x1f, 0xb2, 0x9a, 0xb3, 0xd7, 0x06, 0x23, 0x4e,
- 0xf0, 0x6a, 0xd1, 0x4c,
- 0x84, 0x03, 0x66, 0xae, 0xdf, 0x5a, 0x9e, 0xd6, 0xd1, 0xae, 0x79, 0x18,
- 0xdd, 0x43, 0x7f, 0xc3,
- 0x01, 0x47, 0xb9, 0xfc, 0xa0, 0x9c, 0x06, 0xb6, 0x05, 0xfc, 0x77, 0x7d,
- 0xda, 0xdc, 0xf9, 0x29,
- 0x4d, 0x8b, 0x1b, 0x0a, 0x21, 0x15, 0x6d, 0x16, 0xba, 0x0a, 0x65, 0xd2,
- 0xd3, 0xbe, 0xb0, 0xd4,
- 0xc8, 0xcf, 0xc4, 0x58, 0x5e, 0xd3, 0xf5, 0x76, 0x6e, 0x58, 0x6b, 0xb7,
- 0xd4, 0x21, 0x36, 0x3e,
- 0xd5, 0xd0, 0x9c, 0x25, 0xe0, 0xc4, 0xbb, 0x95, 0x07, 0x25, 0x41, 0x4f,
- 0xc1, 0x7a, 0x22, 0xed,
- 0x50, 0x94, 0x43, 0x77, 0x9f, 0x02, 0x23, 0xf5, 0xd3, 0x77, 0x4f, 0x2a,
- 0xc6, 0xe5, 0xa4, 0x07,
- 0x1c, 0x58, 0xe1, 0x81, 0x1e, 0x8b, 0x48, 0x55, 0x6c, 0x81, 0x5d, 0x85,
- 0xcf, 0x87, 0xed, 0xfa,
- 0x99, 0x1c, 0x3e, 0xd3, 0x61, 0x4d, 0xd0, 0x35, 0xb8, 0xd3, 0x53, 0xe0,
- 0xc8, 0x18, 0x6b, 0x10,
- 0xa1, 0xac, 0x3f, 0x12, 0x5d, 0x98, 0x40, 0x9f, 0x60, 0x12, 0xe9, 0x29,
- 0x95, 0xd5, 0x72, 0x27,
- 0x24, 0xe8, 0xe0, 0x40, 0x22, 0x5e, 0xd8, 0xff, 0xb4, 0x40, 0xe7, 0x4c,
- 0x92, 0x4a, 0xf4, 0xcd,
- 0x68, 0x24, 0x42, 0xb6, 0xa3, 0xd7, 0xb3, 0x5f, 0x0b, 0xb6, 0xf5, 0xe3,
- 0x9b, 0x28, 0xbd, 0x30,
- 0xed, 0x60, 0x9d, 0xe4, 0xdc, 0x11, 0x2b, 0x3f, 0xdf, 0xe4, 0xfb, 0x86,
- 0x9c, 0xb7, 0x3b, 0xda,
- 0xf0, 0x7f, 0xc5, 0x99, 0x62, 0x06, 0x65, 0xdc, 0xb6, 0x99, 0xd1, 0x7e,
- 0x89, 0xec, 0x2f, 0x09,
- 0x75, 0x3b, 0x1a, 0xcb, 0x1d, 0xc0, 0xfd, 0xbc, 0x62, 0xcb, 0xdf, 0x1b,
- 0x8e, 0x73, 0xa9, 0xe3,
- 0x39, 0xf7, 0xb8, 0x3d, 0x9c, 0x49, 0x96, 0x1c, 0xdd, 0x3d, 0xcd, 0xb4,
- 0x87, 0x11, 0xe0, 0x1e,
- 0xbc, 0xb3, 0x67, 0x6f, 0xe3, 0x8f, 0x0e, 0x7c, 0x09, 0x6f, 0xc3, 0xd1,
- 0x80, 0x8e, 0x66, 0xf4,
- 0x03, 0xc9, 0x08, 0xc7, 0x23, 0x67, 0x0a, 0x19, 0x0f, 0xc7, 0x99, 0x87,
- 0xad, 0xa7, 0xc8, 0x7b,
- 0x86, 0x8d, 0xd7, 0x95, 0x5c, 0xa1, 0x92, 0x79, 0xdb, 0x95, 0x97, 0xe2,
- 0xaa, 0x38, 0x4e, 0x91,
- 0xca, 0x41, 0x75, 0x63, 0xdd, 0x28, 0xf9, 0xd9, 0x64, 0x63, 0x85, 0x4d,
- 0xa3, 0x5a, 0x07, 0x6c,
- 0x4f, 0x05, 0xaa, 0x31, 0xa2, 0xee, 0x61, 0xb9, 0xb0, 0x31, 0x8b, 0x28,
- 0xa4, 0xc5, 0x81, 0x86,
- 0x52, 0x1a, 0xf2, 0x4c, 0x1c, 0xf9, 0x2f, 0x5a, 0xd9, 0x4c, 0xa1, 0xd0,
- 0xb1, 0x9e, 0x95, 0x55,
- 0xd7, 0x5e, 0x2d, 0x1e, 0x63, 0x3f, 0xb7, 0x3a, 0x0d, 0x1e, 0xaf, 0xb5,
- 0xb6, 0x01, 0x13, 0xbf,
- 0x9b, 0x92, 0x8f, 0xe8, 0xe2, 0xb6, 0xdc, 0x9a, 0xb2, 0xe8, 0xbd, 0x1a,
- 0xbf, 0x63, 0x5a, 0x42,
- 0x1e, 0xd6, 0x50, 0xba, 0x9d, 0x70, 0x44, 0xfa, 0x66, 0xba, 0xb3, 0x7f,
- 0xb8, 0xfc, 0xdc, 0xa8,
- },
- { /* 4 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x10, 0xd1, 0xd3, 0x91, 0x91, 0xfe, 0xf3, 0x01, 0xb1, 0x78, 0x58, 0x01,
- 0x49, 0x6b, 0x2d, 0xa9,
- 0x20, 0x61, 0x65, 0xe1, 0xe1, 0x3f, 0x25, 0x02, 0xa1, 0xf0, 0xb0, 0x02,
- 0x92, 0xd6, 0x5a, 0x91,
- 0x30, 0xb0, 0xb6, 0x70, 0x70, 0xc1, 0xd6, 0x03, 0x10, 0x88, 0xe8, 0x03,
- 0xdb, 0xbd, 0x77, 0x38,
- 0x40, 0xc2, 0xca, 0x01, 0x01, 0x7e, 0x4a, 0x04, 0x81, 0x23, 0xa3, 0x04,
- 0xe7, 0x6f, 0xb4, 0xe1,
- 0x50, 0x13, 0x19, 0x90, 0x90, 0x80, 0xb9, 0x05, 0x30, 0x5b, 0xfb, 0x05,
- 0xae, 0x04, 0x99, 0x48,
- 0x60, 0xa3, 0xaf, 0xe0, 0xe0, 0x41, 0x6f, 0x06, 0x20, 0xd3, 0x13, 0x06,
- 0x75, 0xb9, 0xee, 0x70,
- 0x70, 0x72, 0x7c, 0x71, 0x71, 0xbf, 0x9c, 0x07, 0x91, 0xab, 0x4b, 0x07,
- 0x3c, 0xd2, 0xc3, 0xd9,
- 0x80, 0x47, 0x57, 0x02, 0x02, 0xfc, 0x94, 0x08, 0xc1, 0x46, 0x85, 0x08,
- 0x0d, 0xde, 0xab, 0x01,
- 0x90, 0x96, 0x84, 0x93, 0x93, 0x02, 0x67, 0x09, 0x70, 0x3e, 0xdd, 0x09,
- 0x44, 0xb5, 0x86, 0xa8,
- 0xa0, 0x26, 0x32, 0xe3, 0xe3, 0xc3, 0xb1, 0x0a, 0x60, 0xb6, 0x35, 0x0a,
- 0x9f, 0x08, 0xf1, 0x90,
- 0xb0, 0xf7, 0xe1, 0x72, 0x72, 0x3d, 0x42, 0x0b, 0xd1, 0xce, 0x6d, 0x0b,
- 0xd6, 0x63, 0xdc, 0x39,
- 0xc0, 0x85, 0x9d, 0x03, 0x03, 0x82, 0xde, 0x0c, 0x40, 0x65, 0x26, 0x0c,
- 0xea, 0xb1, 0x1f, 0xe0,
- 0xd0, 0x54, 0x4e, 0x92, 0x92, 0x7c, 0x2d, 0x0d, 0xf1, 0x1d, 0x7e, 0x0d,
- 0xa3, 0xda, 0x32, 0x49,
- 0xe0, 0xe4, 0xf8, 0xe2, 0xe2, 0xbd, 0xfb, 0x0e, 0xe1, 0x95, 0x96, 0x0e,
- 0x78, 0x67, 0x45, 0x71,
- 0xf0, 0x35, 0x2b, 0x73, 0x73, 0x43, 0x08, 0x0f, 0x50, 0xed, 0xce, 0x0f,
- 0x31, 0x0c, 0x68, 0xd8,
- 0xc3, 0x8e, 0xae, 0x04, 0x04, 0x3b, 0xeb, 0x10, 0x41, 0x8c, 0xc9, 0x10,
- 0x1a, 0x7f, 0x95, 0x02,
- 0xd3, 0x5f, 0x7d, 0x95, 0x95, 0xc5, 0x18, 0x11, 0xf0, 0xf4, 0x91, 0x11,
- 0x53, 0x14, 0xb8, 0xab,
- 0xe3, 0xef, 0xcb, 0xe5, 0xe5, 0x04, 0xce, 0x12, 0xe0, 0x7c, 0x79, 0x12,
- 0x88, 0xa9, 0xcf, 0x93,
- 0xf3, 0x3e, 0x18, 0x74, 0x74, 0xfa, 0x3d, 0x13, 0x51, 0x04, 0x21, 0x13,
- 0xc1, 0xc2, 0xe2, 0x3a,
- 0x83, 0x4c, 0x64, 0x05, 0x05, 0x45, 0xa1, 0x14, 0xc0, 0xaf, 0x6a, 0x14,
- 0xfd, 0x10, 0x21, 0xe3,
- 0x93, 0x9d, 0xb7, 0x94, 0x94, 0xbb, 0x52, 0x15, 0x71, 0xd7, 0x32, 0x15,
- 0xb4, 0x7b, 0x0c, 0x4a,
- 0xa3, 0x2d, 0x01, 0xe4, 0xe4, 0x7a, 0x84, 0x16, 0x61, 0x5f, 0xda, 0x16,
- 0x6f, 0xc6, 0x7b, 0x72,
- 0xb3, 0xfc, 0xd2, 0x75, 0x75, 0x84, 0x77, 0x17, 0xd0, 0x27, 0x82, 0x17,
- 0x26, 0xad, 0x56, 0xdb,
- 0x43, 0xc9, 0xf9, 0x06, 0x06, 0xc7, 0x7f, 0x18, 0x80, 0xca, 0x4c, 0x18,
- 0x17, 0xa1, 0x3e, 0x03,
- 0x53, 0x18, 0x2a, 0x97, 0x97, 0x39, 0x8c, 0x19, 0x31, 0xb2, 0x14, 0x19,
- 0x5e, 0xca, 0x13, 0xaa,
- 0x63, 0xa8, 0x9c, 0xe7, 0xe7, 0xf8, 0x5a, 0x1a, 0x21, 0x3a, 0xfc, 0x1a,
- 0x85, 0x77, 0x64, 0x92,
- 0x73, 0x79, 0x4f, 0x76, 0x76, 0x06, 0xa9, 0x1b, 0x90, 0x42, 0xa4, 0x1b,
- 0xcc, 0x1c, 0x49, 0x3b,
- 0x03, 0x0b, 0x33, 0x07, 0x07, 0xb9, 0x35, 0x1c, 0x01, 0xe9, 0xef, 0x1c,
- 0xf0, 0xce, 0x8a, 0xe2,
- 0x13, 0xda, 0xe0, 0x96, 0x96, 0x47, 0xc6, 0x1d, 0xb0, 0x91, 0xb7, 0x1d,
- 0xb9, 0xa5, 0xa7, 0x4b,
- 0x23, 0x6a, 0x56, 0xe6, 0xe6, 0x86, 0x10, 0x1e, 0xa0, 0x19, 0x5f, 0x1e,
- 0x62, 0x18, 0xd0, 0x73,
- 0x33, 0xbb, 0x85, 0x77, 0x77, 0x78, 0xe3, 0x1f, 0x11, 0x61, 0x07, 0x1f,
- 0x2b, 0x73, 0xfd, 0xda,
- 0x45, 0xdf, 0x9f, 0x08, 0x08, 0x76, 0x15, 0x20, 0x82, 0xdb, 0x51, 0x20,
- 0x34, 0xfe, 0xe9, 0x04,
- 0x55, 0x0e, 0x4c, 0x99, 0x99, 0x88, 0xe6, 0x21, 0x33, 0xa3, 0x09, 0x21,
- 0x7d, 0x95, 0xc4, 0xad,
- 0x65, 0xbe, 0xfa, 0xe9, 0xe9, 0x49, 0x30, 0x22, 0x23, 0x2b, 0xe1, 0x22,
- 0xa6, 0x28, 0xb3, 0x95,
- 0x75, 0x6f, 0x29, 0x78, 0x78, 0xb7, 0xc3, 0x23, 0x92, 0x53, 0xb9, 0x23,
- 0xef, 0x43, 0x9e, 0x3c,
- 0x05, 0x1d, 0x55, 0x09, 0x09, 0x08, 0x5f, 0x24, 0x03, 0xf8, 0xf2, 0x24,
- 0xd3, 0x91, 0x5d, 0xe5,
- 0x15, 0xcc, 0x86, 0x98, 0x98, 0xf6, 0xac, 0x25, 0xb2, 0x80, 0xaa, 0x25,
- 0x9a, 0xfa, 0x70, 0x4c,
- 0x25, 0x7c, 0x30, 0xe8, 0xe8, 0x37, 0x7a, 0x26, 0xa2, 0x08, 0x42, 0x26,
- 0x41, 0x47, 0x07, 0x74,
- 0x35, 0xad, 0xe3, 0x79, 0x79, 0xc9, 0x89, 0x27, 0x13, 0x70, 0x1a, 0x27,
- 0x08, 0x2c, 0x2a, 0xdd,
- 0xc5, 0x98, 0xc8, 0x0a, 0x0a, 0x8a, 0x81, 0x28, 0x43, 0x9d, 0xd4, 0x28,
- 0x39, 0x20, 0x42, 0x05,
- 0xd5, 0x49, 0x1b, 0x9b, 0x9b, 0x74, 0x72, 0x29, 0xf2, 0xe5, 0x8c, 0x29,
- 0x70, 0x4b, 0x6f, 0xac,
- 0xe5, 0xf9, 0xad, 0xeb, 0xeb, 0xb5, 0xa4, 0x2a, 0xe2, 0x6d, 0x64, 0x2a,
- 0xab, 0xf6, 0x18, 0x94,
- 0xf5, 0x28, 0x7e, 0x7a, 0x7a, 0x4b, 0x57, 0x2b, 0x53, 0x15, 0x3c, 0x2b,
- 0xe2, 0x9d, 0x35, 0x3d,
- 0x85, 0x5a, 0x02, 0x0b, 0x0b, 0xf4, 0xcb, 0x2c, 0xc2, 0xbe, 0x77, 0x2c,
- 0xde, 0x4f, 0xf6, 0xe4,
- 0x95, 0x8b, 0xd1, 0x9a, 0x9a, 0x0a, 0x38, 0x2d, 0x73, 0xc6, 0x2f, 0x2d,
- 0x97, 0x24, 0xdb, 0x4d,
- 0xa5, 0x3b, 0x67, 0xea, 0xea, 0xcb, 0xee, 0x2e, 0x63, 0x4e, 0xc7, 0x2e,
- 0x4c, 0x99, 0xac, 0x75,
- 0xb5, 0xea, 0xb4, 0x7b, 0x7b, 0x35, 0x1d, 0x2f, 0xd2, 0x36, 0x9f, 0x2f,
- 0x05, 0xf2, 0x81, 0xdc,
- 0x86, 0x51, 0x31, 0x0c, 0x0c, 0x4d, 0xfe, 0x30, 0xc3, 0x57, 0x98, 0x30,
- 0x2e, 0x81, 0x7c, 0x06,
- 0x96, 0x80, 0xe2, 0x9d, 0x9d, 0xb3, 0x0d, 0x31, 0x72, 0x2f, 0xc0, 0x31,
- 0x67, 0xea, 0x51, 0xaf,
- 0xa6, 0x30, 0x54, 0xed, 0xed, 0x72, 0xdb, 0x32, 0x62, 0xa7, 0x28, 0x32,
- 0xbc, 0x57, 0x26, 0x97,
- 0xb6, 0xe1, 0x87, 0x7c, 0x7c, 0x8c, 0x28, 0x33, 0xd3, 0xdf, 0x70, 0x33,
- 0xf5, 0x3c, 0x0b, 0x3e,
- 0xc6, 0x93, 0xfb, 0x0d, 0x0d, 0x33, 0xb4, 0x34, 0x42, 0x74, 0x3b, 0x34,
- 0xc9, 0xee, 0xc8, 0xe7,
- 0xd6, 0x42, 0x28, 0x9c, 0x9c, 0xcd, 0x47, 0x35, 0xf3, 0x0c, 0x63, 0x35,
- 0x80, 0x85, 0xe5, 0x4e,
- 0xe6, 0xf2, 0x9e, 0xec, 0xec, 0x0c, 0x91, 0x36, 0xe3, 0x84, 0x8b, 0x36,
- 0x5b, 0x38, 0x92, 0x76,
- 0xf6, 0x23, 0x4d, 0x7d, 0x7d, 0xf2, 0x62, 0x37, 0x52, 0xfc, 0xd3, 0x37,
- 0x12, 0x53, 0xbf, 0xdf,
- 0x06, 0x16, 0x66, 0x0e, 0x0e, 0xb1, 0x6a, 0x38, 0x02, 0x11, 0x1d, 0x38,
- 0x23, 0x5f, 0xd7, 0x07,
- 0x16, 0xc7, 0xb5, 0x9f, 0x9f, 0x4f, 0x99, 0x39, 0xb3, 0x69, 0x45, 0x39,
- 0x6a, 0x34, 0xfa, 0xae,
- 0x26, 0x77, 0x03, 0xef, 0xef, 0x8e, 0x4f, 0x3a, 0xa3, 0xe1, 0xad, 0x3a,
- 0xb1, 0x89, 0x8d, 0x96,
- 0x36, 0xa6, 0xd0, 0x7e, 0x7e, 0x70, 0xbc, 0x3b, 0x12, 0x99, 0xf5, 0x3b,
- 0xf8, 0xe2, 0xa0, 0x3f,
- 0x46, 0xd4, 0xac, 0x0f, 0x0f, 0xcf, 0x20, 0x3c, 0x83, 0x32, 0xbe, 0x3c,
- 0xc4, 0x30, 0x63, 0xe6,
- 0x56, 0x05, 0x7f, 0x9e, 0x9e, 0x31, 0xd3, 0x3d, 0x32, 0x4a, 0xe6, 0x3d,
- 0x8d, 0x5b, 0x4e, 0x4f,
- 0x66, 0xb5, 0xc9, 0xee, 0xee, 0xf0, 0x05, 0x3e, 0x22, 0xc2, 0x0e, 0x3e,
- 0x56, 0xe6, 0x39, 0x77,
- 0x76, 0x64, 0x1a, 0x7f, 0x7f, 0x0e, 0xf6, 0x3f, 0x93, 0xba, 0x56, 0x3f,
- 0x1f, 0x8d, 0x14, 0xde,
- 0x8a, 0x7d, 0xfd, 0x10, 0x10, 0xec, 0x2a, 0x40, 0xc7, 0x75, 0xa2, 0x40,
- 0x68, 0x3f, 0x11, 0x08,
- 0x9a, 0xac, 0x2e, 0x81, 0x81, 0x12, 0xd9, 0x41, 0x76, 0x0d, 0xfa, 0x41,
- 0x21, 0x54, 0x3c, 0xa1,
- 0xaa, 0x1c, 0x98, 0xf1, 0xf1, 0xd3, 0x0f, 0x42, 0x66, 0x85, 0x12, 0x42,
- 0xfa, 0xe9, 0x4b, 0x99,
- 0xba, 0xcd, 0x4b, 0x60, 0x60, 0x2d, 0xfc, 0x43, 0xd7, 0xfd, 0x4a, 0x43,
- 0xb3, 0x82, 0x66, 0x30,
- 0xca, 0xbf, 0x37, 0x11, 0x11, 0x92, 0x60, 0x44, 0x46, 0x56, 0x01, 0x44,
- 0x8f, 0x50, 0xa5, 0xe9,
- 0xda, 0x6e, 0xe4, 0x80, 0x80, 0x6c, 0x93, 0x45, 0xf7, 0x2e, 0x59, 0x45,
- 0xc6, 0x3b, 0x88, 0x40,
- 0xea, 0xde, 0x52, 0xf0, 0xf0, 0xad, 0x45, 0x46, 0xe7, 0xa6, 0xb1, 0x46,
- 0x1d, 0x86, 0xff, 0x78,
- 0xfa, 0x0f, 0x81, 0x61, 0x61, 0x53, 0xb6, 0x47, 0x56, 0xde, 0xe9, 0x47,
- 0x54, 0xed, 0xd2, 0xd1,
- 0x0a, 0x3a, 0xaa, 0x12, 0x12, 0x10, 0xbe, 0x48, 0x06, 0x33, 0x27, 0x48,
- 0x65, 0xe1, 0xba, 0x09,
- 0x1a, 0xeb, 0x79, 0x83, 0x83, 0xee, 0x4d, 0x49, 0xb7, 0x4b, 0x7f, 0x49,
- 0x2c, 0x8a, 0x97, 0xa0,
- 0x2a, 0x5b, 0xcf, 0xf3, 0xf3, 0x2f, 0x9b, 0x4a, 0xa7, 0xc3, 0x97, 0x4a,
- 0xf7, 0x37, 0xe0, 0x98,
- 0x3a, 0x8a, 0x1c, 0x62, 0x62, 0xd1, 0x68, 0x4b, 0x16, 0xbb, 0xcf, 0x4b,
- 0xbe, 0x5c, 0xcd, 0x31,
- 0x4a, 0xf8, 0x60, 0x13, 0x13, 0x6e, 0xf4, 0x4c, 0x87, 0x10, 0x84, 0x4c,
- 0x82, 0x8e, 0x0e, 0xe8,
- 0x5a, 0x29, 0xb3, 0x82, 0x82, 0x90, 0x07, 0x4d, 0x36, 0x68, 0xdc, 0x4d,
- 0xcb, 0xe5, 0x23, 0x41,
- 0x6a, 0x99, 0x05, 0xf2, 0xf2, 0x51, 0xd1, 0x4e, 0x26, 0xe0, 0x34, 0x4e,
- 0x10, 0x58, 0x54, 0x79,
- 0x7a, 0x48, 0xd6, 0x63, 0x63, 0xaf, 0x22, 0x4f, 0x97, 0x98, 0x6c, 0x4f,
- 0x59, 0x33, 0x79, 0xd0,
- 0x49, 0xf3, 0x53, 0x14, 0x14, 0xd7, 0xc1, 0x50, 0x86, 0xf9, 0x6b, 0x50,
- 0x72, 0x40, 0x84, 0x0a,
- 0x59, 0x22, 0x80, 0x85, 0x85, 0x29, 0x32, 0x51, 0x37, 0x81, 0x33, 0x51,
- 0x3b, 0x2b, 0xa9, 0xa3,
- 0x69, 0x92, 0x36, 0xf5, 0xf5, 0xe8, 0xe4, 0x52, 0x27, 0x09, 0xdb, 0x52,
- 0xe0, 0x96, 0xde, 0x9b,
- 0x79, 0x43, 0xe5, 0x64, 0x64, 0x16, 0x17, 0x53, 0x96, 0x71, 0x83, 0x53,
- 0xa9, 0xfd, 0xf3, 0x32,
- 0x09, 0x31, 0x99, 0x15, 0x15, 0xa9, 0x8b, 0x54, 0x07, 0xda, 0xc8, 0x54,
- 0x95, 0x2f, 0x30, 0xeb,
- 0x19, 0xe0, 0x4a, 0x84, 0x84, 0x57, 0x78, 0x55, 0xb6, 0xa2, 0x90, 0x55,
- 0xdc, 0x44, 0x1d, 0x42,
- 0x29, 0x50, 0xfc, 0xf4, 0xf4, 0x96, 0xae, 0x56, 0xa6, 0x2a, 0x78, 0x56,
- 0x07, 0xf9, 0x6a, 0x7a,
- 0x39, 0x81, 0x2f, 0x65, 0x65, 0x68, 0x5d, 0x57, 0x17, 0x52, 0x20, 0x57,
- 0x4e, 0x92, 0x47, 0xd3,
- 0xc9, 0xb4, 0x04, 0x16, 0x16, 0x2b, 0x55, 0x58, 0x47, 0xbf, 0xee, 0x58,
- 0x7f, 0x9e, 0x2f, 0x0b,
- 0xd9, 0x65, 0xd7, 0x87, 0x87, 0xd5, 0xa6, 0x59, 0xf6, 0xc7, 0xb6, 0x59,
- 0x36, 0xf5, 0x02, 0xa2,
- 0xe9, 0xd5, 0x61, 0xf7, 0xf7, 0x14, 0x70, 0x5a, 0xe6, 0x4f, 0x5e, 0x5a,
- 0xed, 0x48, 0x75, 0x9a,
- 0xf9, 0x04, 0xb2, 0x66, 0x66, 0xea, 0x83, 0x5b, 0x57, 0x37, 0x06, 0x5b,
- 0xa4, 0x23, 0x58, 0x33,
- 0x89, 0x76, 0xce, 0x17, 0x17, 0x55, 0x1f, 0x5c, 0xc6, 0x9c, 0x4d, 0x5c,
- 0x98, 0xf1, 0x9b, 0xea,
- 0x99, 0xa7, 0x1d, 0x86, 0x86, 0xab, 0xec, 0x5d, 0x77, 0xe4, 0x15, 0x5d,
- 0xd1, 0x9a, 0xb6, 0x43,
- 0xa9, 0x17, 0xab, 0xf6, 0xf6, 0x6a, 0x3a, 0x5e, 0x67, 0x6c, 0xfd, 0x5e,
- 0x0a, 0x27, 0xc1, 0x7b,
- 0xb9, 0xc6, 0x78, 0x67, 0x67, 0x94, 0xc9, 0x5f, 0xd6, 0x14, 0xa5, 0x5f,
- 0x43, 0x4c, 0xec, 0xd2,
- 0xcf, 0xa2, 0x62, 0x18, 0x18, 0x9a, 0x3f, 0x60, 0x45, 0xae, 0xf3, 0x60,
- 0x5c, 0xc1, 0xf8, 0x0c,
- 0xdf, 0x73, 0xb1, 0x89, 0x89, 0x64, 0xcc, 0x61, 0xf4, 0xd6, 0xab, 0x61,
- 0x15, 0xaa, 0xd5, 0xa5,
- 0xef, 0xc3, 0x07, 0xf9, 0xf9, 0xa5, 0x1a, 0x62, 0xe4, 0x5e, 0x43, 0x62,
- 0xce, 0x17, 0xa2, 0x9d,
- 0xff, 0x12, 0xd4, 0x68, 0x68, 0x5b, 0xe9, 0x63, 0x55, 0x26, 0x1b, 0x63,
- 0x87, 0x7c, 0x8f, 0x34,
- 0x8f, 0x60, 0xa8, 0x19, 0x19, 0xe4, 0x75, 0x64, 0xc4, 0x8d, 0x50, 0x64,
- 0xbb, 0xae, 0x4c, 0xed,
- 0x9f, 0xb1, 0x7b, 0x88, 0x88, 0x1a, 0x86, 0x65, 0x75, 0xf5, 0x08, 0x65,
- 0xf2, 0xc5, 0x61, 0x44,
- 0xaf, 0x01, 0xcd, 0xf8, 0xf8, 0xdb, 0x50, 0x66, 0x65, 0x7d, 0xe0, 0x66,
- 0x29, 0x78, 0x16, 0x7c,
- 0xbf, 0xd0, 0x1e, 0x69, 0x69, 0x25, 0xa3, 0x67, 0xd4, 0x05, 0xb8, 0x67,
- 0x60, 0x13, 0x3b, 0xd5,
- 0x4f, 0xe5, 0x35, 0x1a, 0x1a, 0x66, 0xab, 0x68, 0x84, 0xe8, 0x76, 0x68,
- 0x51, 0x1f, 0x53, 0x0d,
- 0x5f, 0x34, 0xe6, 0x8b, 0x8b, 0x98, 0x58, 0x69, 0x35, 0x90, 0x2e, 0x69,
- 0x18, 0x74, 0x7e, 0xa4,
- 0x6f, 0x84, 0x50, 0xfb, 0xfb, 0x59, 0x8e, 0x6a, 0x25, 0x18, 0xc6, 0x6a,
- 0xc3, 0xc9, 0x09, 0x9c,
- 0x7f, 0x55, 0x83, 0x6a, 0x6a, 0xa7, 0x7d, 0x6b, 0x94, 0x60, 0x9e, 0x6b,
- 0x8a, 0xa2, 0x24, 0x35,
- 0x0f, 0x27, 0xff, 0x1b, 0x1b, 0x18, 0xe1, 0x6c, 0x05, 0xcb, 0xd5, 0x6c,
- 0xb6, 0x70, 0xe7, 0xec,
- 0x1f, 0xf6, 0x2c, 0x8a, 0x8a, 0xe6, 0x12, 0x6d, 0xb4, 0xb3, 0x8d, 0x6d,
- 0xff, 0x1b, 0xca, 0x45,
- 0x2f, 0x46, 0x9a, 0xfa, 0xfa, 0x27, 0xc4, 0x6e, 0xa4, 0x3b, 0x65, 0x6e,
- 0x24, 0xa6, 0xbd, 0x7d,
- 0x3f, 0x97, 0x49, 0x6b, 0x6b, 0xd9, 0x37, 0x6f, 0x15, 0x43, 0x3d, 0x6f,
- 0x6d, 0xcd, 0x90, 0xd4,
- 0x0c, 0x2c, 0xcc, 0x1c, 0x1c, 0xa1, 0xd4, 0x70, 0x04, 0x22, 0x3a, 0x70,
- 0x46, 0xbe, 0x6d, 0x0e,
- 0x1c, 0xfd, 0x1f, 0x8d, 0x8d, 0x5f, 0x27, 0x71, 0xb5, 0x5a, 0x62, 0x71,
- 0x0f, 0xd5, 0x40, 0xa7,
- 0x2c, 0x4d, 0xa9, 0xfd, 0xfd, 0x9e, 0xf1, 0x72, 0xa5, 0xd2, 0x8a, 0x72,
- 0xd4, 0x68, 0x37, 0x9f,
- 0x3c, 0x9c, 0x7a, 0x6c, 0x6c, 0x60, 0x02, 0x73, 0x14, 0xaa, 0xd2, 0x73,
- 0x9d, 0x03, 0x1a, 0x36,
- 0x4c, 0xee, 0x06, 0x1d, 0x1d, 0xdf, 0x9e, 0x74, 0x85, 0x01, 0x99, 0x74,
- 0xa1, 0xd1, 0xd9, 0xef,
- 0x5c, 0x3f, 0xd5, 0x8c, 0x8c, 0x21, 0x6d, 0x75, 0x34, 0x79, 0xc1, 0x75,
- 0xe8, 0xba, 0xf4, 0x46,
- 0x6c, 0x8f, 0x63, 0xfc, 0xfc, 0xe0, 0xbb, 0x76, 0x24, 0xf1, 0x29, 0x76,
- 0x33, 0x07, 0x83, 0x7e,
- 0x7c, 0x5e, 0xb0, 0x6d, 0x6d, 0x1e, 0x48, 0x77, 0x95, 0x89, 0x71, 0x77,
- 0x7a, 0x6c, 0xae, 0xd7,
- 0x8c, 0x6b, 0x9b, 0x1e, 0x1e, 0x5d, 0x40, 0x78, 0xc5, 0x64, 0xbf, 0x78,
- 0x4b, 0x60, 0xc6, 0x0f,
- 0x9c, 0xba, 0x48, 0x8f, 0x8f, 0xa3, 0xb3, 0x79, 0x74, 0x1c, 0xe7, 0x79,
- 0x02, 0x0b, 0xeb, 0xa6,
- 0xac, 0x0a, 0xfe, 0xff, 0xff, 0x62, 0x65, 0x7a, 0x64, 0x94, 0x0f, 0x7a,
- 0xd9, 0xb6, 0x9c, 0x9e,
- 0xbc, 0xdb, 0x2d, 0x6e, 0x6e, 0x9c, 0x96, 0x7b, 0xd5, 0xec, 0x57, 0x7b,
- 0x90, 0xdd, 0xb1, 0x37,
- 0xcc, 0xa9, 0x51, 0x1f, 0x1f, 0x23, 0x0a, 0x7c, 0x44, 0x47, 0x1c, 0x7c,
- 0xac, 0x0f, 0x72, 0xee,
- 0xdc, 0x78, 0x82, 0x8e, 0x8e, 0xdd, 0xf9, 0x7d, 0xf5, 0x3f, 0x44, 0x7d,
- 0xe5, 0x64, 0x5f, 0x47,
- 0xec, 0xc8, 0x34, 0xfe, 0xfe, 0x1c, 0x2f, 0x7e, 0xe5, 0xb7, 0xac, 0x7e,
- 0x3e, 0xd9, 0x28, 0x7f,
- 0xfc, 0x19, 0xe7, 0x6f, 0x6f, 0xe2, 0xdc, 0x7f, 0x54, 0xcf, 0xf4, 0x7f,
- 0x77, 0xb2, 0x05, 0xd6,
- 0xd7, 0xfa, 0x39, 0x20, 0x20, 0x1b, 0x54, 0x80, 0x4d, 0xea, 0x87, 0x80,
- 0xd0, 0x7e, 0x22, 0x10,
- 0xc7, 0x2b, 0xea, 0xb1, 0xb1, 0xe5, 0xa7, 0x81, 0xfc, 0x92, 0xdf, 0x81,
- 0x99, 0x15, 0x0f, 0xb9,
- 0xf7, 0x9b, 0x5c, 0xc1, 0xc1, 0x24, 0x71, 0x82, 0xec, 0x1a, 0x37, 0x82,
- 0x42, 0xa8, 0x78, 0x81,
- 0xe7, 0x4a, 0x8f, 0x50, 0x50, 0xda, 0x82, 0x83, 0x5d, 0x62, 0x6f, 0x83,
- 0x0b, 0xc3, 0x55, 0x28,
- 0x97, 0x38, 0xf3, 0x21, 0x21, 0x65, 0x1e, 0x84, 0xcc, 0xc9, 0x24, 0x84,
- 0x37, 0x11, 0x96, 0xf1,
- 0x87, 0xe9, 0x20, 0xb0, 0xb0, 0x9b, 0xed, 0x85, 0x7d, 0xb1, 0x7c, 0x85,
- 0x7e, 0x7a, 0xbb, 0x58,
- 0xb7, 0x59, 0x96, 0xc0, 0xc0, 0x5a, 0x3b, 0x86, 0x6d, 0x39, 0x94, 0x86,
- 0xa5, 0xc7, 0xcc, 0x60,
- 0xa7, 0x88, 0x45, 0x51, 0x51, 0xa4, 0xc8, 0x87, 0xdc, 0x41, 0xcc, 0x87,
- 0xec, 0xac, 0xe1, 0xc9,
- 0x57, 0xbd, 0x6e, 0x22, 0x22, 0xe7, 0xc0, 0x88, 0x8c, 0xac, 0x02, 0x88,
- 0xdd, 0xa0, 0x89, 0x11,
- 0x47, 0x6c, 0xbd, 0xb3, 0xb3, 0x19, 0x33, 0x89, 0x3d, 0xd4, 0x5a, 0x89,
- 0x94, 0xcb, 0xa4, 0xb8,
- 0x77, 0xdc, 0x0b, 0xc3, 0xc3, 0xd8, 0xe5, 0x8a, 0x2d, 0x5c, 0xb2, 0x8a,
- 0x4f, 0x76, 0xd3, 0x80,
- 0x67, 0x0d, 0xd8, 0x52, 0x52, 0x26, 0x16, 0x8b, 0x9c, 0x24, 0xea, 0x8b,
- 0x06, 0x1d, 0xfe, 0x29,
- 0x17, 0x7f, 0xa4, 0x23, 0x23, 0x99, 0x8a, 0x8c, 0x0d, 0x8f, 0xa1, 0x8c,
- 0x3a, 0xcf, 0x3d, 0xf0,
- 0x07, 0xae, 0x77, 0xb2, 0xb2, 0x67, 0x79, 0x8d, 0xbc, 0xf7, 0xf9, 0x8d,
- 0x73, 0xa4, 0x10, 0x59,
- 0x37, 0x1e, 0xc1, 0xc2, 0xc2, 0xa6, 0xaf, 0x8e, 0xac, 0x7f, 0x11, 0x8e,
- 0xa8, 0x19, 0x67, 0x61,
- 0x27, 0xcf, 0x12, 0x53, 0x53, 0x58, 0x5c, 0x8f, 0x1d, 0x07, 0x49, 0x8f,
- 0xe1, 0x72, 0x4a, 0xc8,
- 0x14, 0x74, 0x97, 0x24, 0x24, 0x20, 0xbf, 0x90, 0x0c, 0x66, 0x4e, 0x90,
- 0xca, 0x01, 0xb7, 0x12,
- 0x04, 0xa5, 0x44, 0xb5, 0xb5, 0xde, 0x4c, 0x91, 0xbd, 0x1e, 0x16, 0x91,
- 0x83, 0x6a, 0x9a, 0xbb,
- 0x34, 0x15, 0xf2, 0xc5, 0xc5, 0x1f, 0x9a, 0x92, 0xad, 0x96, 0xfe, 0x92,
- 0x58, 0xd7, 0xed, 0x83,
- 0x24, 0xc4, 0x21, 0x54, 0x54, 0xe1, 0x69, 0x93, 0x1c, 0xee, 0xa6, 0x93,
- 0x11, 0xbc, 0xc0, 0x2a,
- 0x54, 0xb6, 0x5d, 0x25, 0x25, 0x5e, 0xf5, 0x94, 0x8d, 0x45, 0xed, 0x94,
- 0x2d, 0x6e, 0x03, 0xf3,
- 0x44, 0x67, 0x8e, 0xb4, 0xb4, 0xa0, 0x06, 0x95, 0x3c, 0x3d, 0xb5, 0x95,
- 0x64, 0x05, 0x2e, 0x5a,
- 0x74, 0xd7, 0x38, 0xc4, 0xc4, 0x61, 0xd0, 0x96, 0x2c, 0xb5, 0x5d, 0x96,
- 0xbf, 0xb8, 0x59, 0x62,
- 0x64, 0x06, 0xeb, 0x55, 0x55, 0x9f, 0x23, 0x97, 0x9d, 0xcd, 0x05, 0x97,
- 0xf6, 0xd3, 0x74, 0xcb,
- 0x94, 0x33, 0xc0, 0x26, 0x26, 0xdc, 0x2b, 0x98, 0xcd, 0x20, 0xcb, 0x98,
- 0xc7, 0xdf, 0x1c, 0x13,
- 0x84, 0xe2, 0x13, 0xb7, 0xb7, 0x22, 0xd8, 0x99, 0x7c, 0x58, 0x93, 0x99,
- 0x8e, 0xb4, 0x31, 0xba,
- 0xb4, 0x52, 0xa5, 0xc7, 0xc7, 0xe3, 0x0e, 0x9a, 0x6c, 0xd0, 0x7b, 0x9a,
- 0x55, 0x09, 0x46, 0x82,
- 0xa4, 0x83, 0x76, 0x56, 0x56, 0x1d, 0xfd, 0x9b, 0xdd, 0xa8, 0x23, 0x9b,
- 0x1c, 0x62, 0x6b, 0x2b,
- 0xd4, 0xf1, 0x0a, 0x27, 0x27, 0xa2, 0x61, 0x9c, 0x4c, 0x03, 0x68, 0x9c,
- 0x20, 0xb0, 0xa8, 0xf2,
- 0xc4, 0x20, 0xd9, 0xb6, 0xb6, 0x5c, 0x92, 0x9d, 0xfd, 0x7b, 0x30, 0x9d,
- 0x69, 0xdb, 0x85, 0x5b,
- 0xf4, 0x90, 0x6f, 0xc6, 0xc6, 0x9d, 0x44, 0x9e, 0xed, 0xf3, 0xd8, 0x9e,
- 0xb2, 0x66, 0xf2, 0x63,
- 0xe4, 0x41, 0xbc, 0x57, 0x57, 0x63, 0xb7, 0x9f, 0x5c, 0x8b, 0x80, 0x9f,
- 0xfb, 0x0d, 0xdf, 0xca,
- 0x92, 0x25, 0xa6, 0x28, 0x28, 0x6d, 0x41, 0xa0, 0xcf, 0x31, 0xd6, 0xa0,
- 0xe4, 0x80, 0xcb, 0x14,
- 0x82, 0xf4, 0x75, 0xb9, 0xb9, 0x93, 0xb2, 0xa1, 0x7e, 0x49, 0x8e, 0xa1,
- 0xad, 0xeb, 0xe6, 0xbd,
- 0xb2, 0x44, 0xc3, 0xc9, 0xc9, 0x52, 0x64, 0xa2, 0x6e, 0xc1, 0x66, 0xa2,
- 0x76, 0x56, 0x91, 0x85,
- 0xa2, 0x95, 0x10, 0x58, 0x58, 0xac, 0x97, 0xa3, 0xdf, 0xb9, 0x3e, 0xa3,
- 0x3f, 0x3d, 0xbc, 0x2c,
- 0xd2, 0xe7, 0x6c, 0x29, 0x29, 0x13, 0x0b, 0xa4, 0x4e, 0x12, 0x75, 0xa4,
- 0x03, 0xef, 0x7f, 0xf5,
- 0xc2, 0x36, 0xbf, 0xb8, 0xb8, 0xed, 0xf8, 0xa5, 0xff, 0x6a, 0x2d, 0xa5,
- 0x4a, 0x84, 0x52, 0x5c,
- 0xf2, 0x86, 0x09, 0xc8, 0xc8, 0x2c, 0x2e, 0xa6, 0xef, 0xe2, 0xc5, 0xa6,
- 0x91, 0x39, 0x25, 0x64,
- 0xe2, 0x57, 0xda, 0x59, 0x59, 0xd2, 0xdd, 0xa7, 0x5e, 0x9a, 0x9d, 0xa7,
- 0xd8, 0x52, 0x08, 0xcd,
- 0x12, 0x62, 0xf1, 0x2a, 0x2a, 0x91, 0xd5, 0xa8, 0x0e, 0x77, 0x53, 0xa8,
- 0xe9, 0x5e, 0x60, 0x15,
- 0x02, 0xb3, 0x22, 0xbb, 0xbb, 0x6f, 0x26, 0xa9, 0xbf, 0x0f, 0x0b, 0xa9,
- 0xa0, 0x35, 0x4d, 0xbc,
- 0x32, 0x03, 0x94, 0xcb, 0xcb, 0xae, 0xf0, 0xaa, 0xaf, 0x87, 0xe3, 0xaa,
- 0x7b, 0x88, 0x3a, 0x84,
- 0x22, 0xd2, 0x47, 0x5a, 0x5a, 0x50, 0x03, 0xab, 0x1e, 0xff, 0xbb, 0xab,
- 0x32, 0xe3, 0x17, 0x2d,
- 0x52, 0xa0, 0x3b, 0x2b, 0x2b, 0xef, 0x9f, 0xac, 0x8f, 0x54, 0xf0, 0xac,
- 0x0e, 0x31, 0xd4, 0xf4,
- 0x42, 0x71, 0xe8, 0xba, 0xba, 0x11, 0x6c, 0xad, 0x3e, 0x2c, 0xa8, 0xad,
- 0x47, 0x5a, 0xf9, 0x5d,
- 0x72, 0xc1, 0x5e, 0xca, 0xca, 0xd0, 0xba, 0xae, 0x2e, 0xa4, 0x40, 0xae,
- 0x9c, 0xe7, 0x8e, 0x65,
- 0x62, 0x10, 0x8d, 0x5b, 0x5b, 0x2e, 0x49, 0xaf, 0x9f, 0xdc, 0x18, 0xaf,
- 0xd5, 0x8c, 0xa3, 0xcc,
- 0x51, 0xab, 0x08, 0x2c, 0x2c, 0x56, 0xaa, 0xb0, 0x8e, 0xbd, 0x1f, 0xb0,
- 0xfe, 0xff, 0x5e, 0x16,
- 0x41, 0x7a, 0xdb, 0xbd, 0xbd, 0xa8, 0x59, 0xb1, 0x3f, 0xc5, 0x47, 0xb1,
- 0xb7, 0x94, 0x73, 0xbf,
- 0x71, 0xca, 0x6d, 0xcd, 0xcd, 0x69, 0x8f, 0xb2, 0x2f, 0x4d, 0xaf, 0xb2,
- 0x6c, 0x29, 0x04, 0x87,
- 0x61, 0x1b, 0xbe, 0x5c, 0x5c, 0x97, 0x7c, 0xb3, 0x9e, 0x35, 0xf7, 0xb3,
- 0x25, 0x42, 0x29, 0x2e,
- 0x11, 0x69, 0xc2, 0x2d, 0x2d, 0x28, 0xe0, 0xb4, 0x0f, 0x9e, 0xbc, 0xb4,
- 0x19, 0x90, 0xea, 0xf7,
- 0x01, 0xb8, 0x11, 0xbc, 0xbc, 0xd6, 0x13, 0xb5, 0xbe, 0xe6, 0xe4, 0xb5,
- 0x50, 0xfb, 0xc7, 0x5e,
- 0x31, 0x08, 0xa7, 0xcc, 0xcc, 0x17, 0xc5, 0xb6, 0xae, 0x6e, 0x0c, 0xb6,
- 0x8b, 0x46, 0xb0, 0x66,
- 0x21, 0xd9, 0x74, 0x5d, 0x5d, 0xe9, 0x36, 0xb7, 0x1f, 0x16, 0x54, 0xb7,
- 0xc2, 0x2d, 0x9d, 0xcf,
- 0xd1, 0xec, 0x5f, 0x2e, 0x2e, 0xaa, 0x3e, 0xb8, 0x4f, 0xfb, 0x9a, 0xb8,
- 0xf3, 0x21, 0xf5, 0x17,
- 0xc1, 0x3d, 0x8c, 0xbf, 0xbf, 0x54, 0xcd, 0xb9, 0xfe, 0x83, 0xc2, 0xb9,
- 0xba, 0x4a, 0xd8, 0xbe,
- 0xf1, 0x8d, 0x3a, 0xcf, 0xcf, 0x95, 0x1b, 0xba, 0xee, 0x0b, 0x2a, 0xba,
- 0x61, 0xf7, 0xaf, 0x86,
- 0xe1, 0x5c, 0xe9, 0x5e, 0x5e, 0x6b, 0xe8, 0xbb, 0x5f, 0x73, 0x72, 0xbb,
- 0x28, 0x9c, 0x82, 0x2f,
- 0x91, 0x2e, 0x95, 0x2f, 0x2f, 0xd4, 0x74, 0xbc, 0xce, 0xd8, 0x39, 0xbc,
- 0x14, 0x4e, 0x41, 0xf6,
- 0x81, 0xff, 0x46, 0xbe, 0xbe, 0x2a, 0x87, 0xbd, 0x7f, 0xa0, 0x61, 0xbd,
- 0x5d, 0x25, 0x6c, 0x5f,
- 0xb1, 0x4f, 0xf0, 0xce, 0xce, 0xeb, 0x51, 0xbe, 0x6f, 0x28, 0x89, 0xbe,
- 0x86, 0x98, 0x1b, 0x67,
- 0xa1, 0x9e, 0x23, 0x5f, 0x5f, 0x15, 0xa2, 0xbf, 0xde, 0x50, 0xd1, 0xbf,
- 0xcf, 0xf3, 0x36, 0xce,
- 0x5d, 0x87, 0xc4, 0x30, 0x30, 0xf7, 0x7e, 0xc0, 0x8a, 0x9f, 0x25, 0xc0,
- 0xb8, 0x41, 0x33, 0x18,
- 0x4d, 0x56, 0x17, 0xa1, 0xa1, 0x09, 0x8d, 0xc1, 0x3b, 0xe7, 0x7d, 0xc1,
- 0xf1, 0x2a, 0x1e, 0xb1,
- 0x7d, 0xe6, 0xa1, 0xd1, 0xd1, 0xc8, 0x5b, 0xc2, 0x2b, 0x6f, 0x95, 0xc2,
- 0x2a, 0x97, 0x69, 0x89,
- 0x6d, 0x37, 0x72, 0x40, 0x40, 0x36, 0xa8, 0xc3, 0x9a, 0x17, 0xcd, 0xc3,
- 0x63, 0xfc, 0x44, 0x20,
- 0x1d, 0x45, 0x0e, 0x31, 0x31, 0x89, 0x34, 0xc4, 0x0b, 0xbc, 0x86, 0xc4,
- 0x5f, 0x2e, 0x87, 0xf9,
- 0x0d, 0x94, 0xdd, 0xa0, 0xa0, 0x77, 0xc7, 0xc5, 0xba, 0xc4, 0xde, 0xc5,
- 0x16, 0x45, 0xaa, 0x50,
- 0x3d, 0x24, 0x6b, 0xd0, 0xd0, 0xb6, 0x11, 0xc6, 0xaa, 0x4c, 0x36, 0xc6,
- 0xcd, 0xf8, 0xdd, 0x68,
- 0x2d, 0xf5, 0xb8, 0x41, 0x41, 0x48, 0xe2, 0xc7, 0x1b, 0x34, 0x6e, 0xc7,
- 0x84, 0x93, 0xf0, 0xc1,
- 0xdd, 0xc0, 0x93, 0x32, 0x32, 0x0b, 0xea, 0xc8, 0x4b, 0xd9, 0xa0, 0xc8,
- 0xb5, 0x9f, 0x98, 0x19,
- 0xcd, 0x11, 0x40, 0xa3, 0xa3, 0xf5, 0x19, 0xc9, 0xfa, 0xa1, 0xf8, 0xc9,
- 0xfc, 0xf4, 0xb5, 0xb0,
- 0xfd, 0xa1, 0xf6, 0xd3, 0xd3, 0x34, 0xcf, 0xca, 0xea, 0x29, 0x10, 0xca,
- 0x27, 0x49, 0xc2, 0x88,
- 0xed, 0x70, 0x25, 0x42, 0x42, 0xca, 0x3c, 0xcb, 0x5b, 0x51, 0x48, 0xcb,
- 0x6e, 0x22, 0xef, 0x21,
- 0x9d, 0x02, 0x59, 0x33, 0x33, 0x75, 0xa0, 0xcc, 0xca, 0xfa, 0x03, 0xcc,
- 0x52, 0xf0, 0x2c, 0xf8,
- 0x8d, 0xd3, 0x8a, 0xa2, 0xa2, 0x8b, 0x53, 0xcd, 0x7b, 0x82, 0x5b, 0xcd,
- 0x1b, 0x9b, 0x01, 0x51,
- 0xbd, 0x63, 0x3c, 0xd2, 0xd2, 0x4a, 0x85, 0xce, 0x6b, 0x0a, 0xb3, 0xce,
- 0xc0, 0x26, 0x76, 0x69,
- 0xad, 0xb2, 0xef, 0x43, 0x43, 0xb4, 0x76, 0xcf, 0xda, 0x72, 0xeb, 0xcf,
- 0x89, 0x4d, 0x5b, 0xc0,
- 0x9e, 0x09, 0x6a, 0x34, 0x34, 0xcc, 0x95, 0xd0, 0xcb, 0x13, 0xec, 0xd0,
- 0xa2, 0x3e, 0xa6, 0x1a,
- 0x8e, 0xd8, 0xb9, 0xa5, 0xa5, 0x32, 0x66, 0xd1, 0x7a, 0x6b, 0xb4, 0xd1,
- 0xeb, 0x55, 0x8b, 0xb3,
- 0xbe, 0x68, 0x0f, 0xd5, 0xd5, 0xf3, 0xb0, 0xd2, 0x6a, 0xe3, 0x5c, 0xd2,
- 0x30, 0xe8, 0xfc, 0x8b,
- 0xae, 0xb9, 0xdc, 0x44, 0x44, 0x0d, 0x43, 0xd3, 0xdb, 0x9b, 0x04, 0xd3,
- 0x79, 0x83, 0xd1, 0x22,
- 0xde, 0xcb, 0xa0, 0x35, 0x35, 0xb2, 0xdf, 0xd4, 0x4a, 0x30, 0x4f, 0xd4,
- 0x45, 0x51, 0x12, 0xfb,
- 0xce, 0x1a, 0x73, 0xa4, 0xa4, 0x4c, 0x2c, 0xd5, 0xfb, 0x48, 0x17, 0xd5,
- 0x0c, 0x3a, 0x3f, 0x52,
- 0xfe, 0xaa, 0xc5, 0xd4, 0xd4, 0x8d, 0xfa, 0xd6, 0xeb, 0xc0, 0xff, 0xd6,
- 0xd7, 0x87, 0x48, 0x6a,
- 0xee, 0x7b, 0x16, 0x45, 0x45, 0x73, 0x09, 0xd7, 0x5a, 0xb8, 0xa7, 0xd7,
- 0x9e, 0xec, 0x65, 0xc3,
- 0x1e, 0x4e, 0x3d, 0x36, 0x36, 0x30, 0x01, 0xd8, 0x0a, 0x55, 0x69, 0xd8,
- 0xaf, 0xe0, 0x0d, 0x1b,
- 0x0e, 0x9f, 0xee, 0xa7, 0xa7, 0xce, 0xf2, 0xd9, 0xbb, 0x2d, 0x31, 0xd9,
- 0xe6, 0x8b, 0x20, 0xb2,
- 0x3e, 0x2f, 0x58, 0xd7, 0xd7, 0x0f, 0x24, 0xda, 0xab, 0xa5, 0xd9, 0xda,
- 0x3d, 0x36, 0x57, 0x8a,
- 0x2e, 0xfe, 0x8b, 0x46, 0x46, 0xf1, 0xd7, 0xdb, 0x1a, 0xdd, 0x81, 0xdb,
- 0x74, 0x5d, 0x7a, 0x23,
- 0x5e, 0x8c, 0xf7, 0x37, 0x37, 0x4e, 0x4b, 0xdc, 0x8b, 0x76, 0xca, 0xdc,
- 0x48, 0x8f, 0xb9, 0xfa,
- 0x4e, 0x5d, 0x24, 0xa6, 0xa6, 0xb0, 0xb8, 0xdd, 0x3a, 0x0e, 0x92, 0xdd,
- 0x01, 0xe4, 0x94, 0x53,
- 0x7e, 0xed, 0x92, 0xd6, 0xd6, 0x71, 0x6e, 0xde, 0x2a, 0x86, 0x7a, 0xde,
- 0xda, 0x59, 0xe3, 0x6b,
- 0x6e, 0x3c, 0x41, 0x47, 0x47, 0x8f, 0x9d, 0xdf, 0x9b, 0xfe, 0x22, 0xdf,
- 0x93, 0x32, 0xce, 0xc2,
- 0x18, 0x58, 0x5b, 0x38, 0x38, 0x81, 0x6b, 0xe0, 0x08, 0x44, 0x74, 0xe0,
- 0x8c, 0xbf, 0xda, 0x1c,
- 0x08, 0x89, 0x88, 0xa9, 0xa9, 0x7f, 0x98, 0xe1, 0xb9, 0x3c, 0x2c, 0xe1,
- 0xc5, 0xd4, 0xf7, 0xb5,
- 0x38, 0x39, 0x3e, 0xd9, 0xd9, 0xbe, 0x4e, 0xe2, 0xa9, 0xb4, 0xc4, 0xe2,
- 0x1e, 0x69, 0x80, 0x8d,
- 0x28, 0xe8, 0xed, 0x48, 0x48, 0x40, 0xbd, 0xe3, 0x18, 0xcc, 0x9c, 0xe3,
- 0x57, 0x02, 0xad, 0x24,
- 0x58, 0x9a, 0x91, 0x39, 0x39, 0xff, 0x21, 0xe4, 0x89, 0x67, 0xd7, 0xe4,
- 0x6b, 0xd0, 0x6e, 0xfd,
- 0x48, 0x4b, 0x42, 0xa8, 0xa8, 0x01, 0xd2, 0xe5, 0x38, 0x1f, 0x8f, 0xe5,
- 0x22, 0xbb, 0x43, 0x54,
- 0x78, 0xfb, 0xf4, 0xd8, 0xd8, 0xc0, 0x04, 0xe6, 0x28, 0x97, 0x67, 0xe6,
- 0xf9, 0x06, 0x34, 0x6c,
- 0x68, 0x2a, 0x27, 0x49, 0x49, 0x3e, 0xf7, 0xe7, 0x99, 0xef, 0x3f, 0xe7,
- 0xb0, 0x6d, 0x19, 0xc5,
- 0x98, 0x1f, 0x0c, 0x3a, 0x3a, 0x7d, 0xff, 0xe8, 0xc9, 0x02, 0xf1, 0xe8,
- 0x81, 0x61, 0x71, 0x1d,
- 0x88, 0xce, 0xdf, 0xab, 0xab, 0x83, 0x0c, 0xe9, 0x78, 0x7a, 0xa9, 0xe9,
- 0xc8, 0x0a, 0x5c, 0xb4,
- 0xb8, 0x7e, 0x69, 0xdb, 0xdb, 0x42, 0xda, 0xea, 0x68, 0xf2, 0x41, 0xea,
- 0x13, 0xb7, 0x2b, 0x8c,
- 0xa8, 0xaf, 0xba, 0x4a, 0x4a, 0xbc, 0x29, 0xeb, 0xd9, 0x8a, 0x19, 0xeb,
- 0x5a, 0xdc, 0x06, 0x25,
- 0xd8, 0xdd, 0xc6, 0x3b, 0x3b, 0x03, 0xb5, 0xec, 0x48, 0x21, 0x52, 0xec,
- 0x66, 0x0e, 0xc5, 0xfc,
- 0xc8, 0x0c, 0x15, 0xaa, 0xaa, 0xfd, 0x46, 0xed, 0xf9, 0x59, 0x0a, 0xed,
- 0x2f, 0x65, 0xe8, 0x55,
- 0xf8, 0xbc, 0xa3, 0xda, 0xda, 0x3c, 0x90, 0xee, 0xe9, 0xd1, 0xe2, 0xee,
- 0xf4, 0xd8, 0x9f, 0x6d,
- 0xe8, 0x6d, 0x70, 0x4b, 0x4b, 0xc2, 0x63, 0xef, 0x58, 0xa9, 0xba, 0xef,
- 0xbd, 0xb3, 0xb2, 0xc4,
- 0xdb, 0xd6, 0xf5, 0x3c, 0x3c, 0xba, 0x80, 0xf0, 0x49, 0xc8, 0xbd, 0xf0,
- 0x96, 0xc0, 0x4f, 0x1e,
- 0xcb, 0x07, 0x26, 0xad, 0xad, 0x44, 0x73, 0xf1, 0xf8, 0xb0, 0xe5, 0xf1,
- 0xdf, 0xab, 0x62, 0xb7,
- 0xfb, 0xb7, 0x90, 0xdd, 0xdd, 0x85, 0xa5, 0xf2, 0xe8, 0x38, 0x0d, 0xf2,
- 0x04, 0x16, 0x15, 0x8f,
- 0xeb, 0x66, 0x43, 0x4c, 0x4c, 0x7b, 0x56, 0xf3, 0x59, 0x40, 0x55, 0xf3,
- 0x4d, 0x7d, 0x38, 0x26,
- 0x9b, 0x14, 0x3f, 0x3d, 0x3d, 0xc4, 0xca, 0xf4, 0xc8, 0xeb, 0x1e, 0xf4,
- 0x71, 0xaf, 0xfb, 0xff,
- 0x8b, 0xc5, 0xec, 0xac, 0xac, 0x3a, 0x39, 0xf5, 0x79, 0x93, 0x46, 0xf5,
- 0x38, 0xc4, 0xd6, 0x56,
- 0xbb, 0x75, 0x5a, 0xdc, 0xdc, 0xfb, 0xef, 0xf6, 0x69, 0x1b, 0xae, 0xf6,
- 0xe3, 0x79, 0xa1, 0x6e,
- 0xab, 0xa4, 0x89, 0x4d, 0x4d, 0x05, 0x1c, 0xf7, 0xd8, 0x63, 0xf6, 0xf7,
- 0xaa, 0x12, 0x8c, 0xc7,
- 0x5b, 0x91, 0xa2, 0x3e, 0x3e, 0x46, 0x14, 0xf8, 0x88, 0x8e, 0x38, 0xf8,
- 0x9b, 0x1e, 0xe4, 0x1f,
- 0x4b, 0x40, 0x71, 0xaf, 0xaf, 0xb8, 0xe7, 0xf9, 0x39, 0xf6, 0x60, 0xf9,
- 0xd2, 0x75, 0xc9, 0xb6,
- 0x7b, 0xf0, 0xc7, 0xdf, 0xdf, 0x79, 0x31, 0xfa, 0x29, 0x7e, 0x88, 0xfa,
- 0x09, 0xc8, 0xbe, 0x8e,
- 0x6b, 0x21, 0x14, 0x4e, 0x4e, 0x87, 0xc2, 0xfb, 0x98, 0x06, 0xd0, 0xfb,
- 0x40, 0xa3, 0x93, 0x27,
- 0x1b, 0x53, 0x68, 0x3f, 0x3f, 0x38, 0x5e, 0xfc, 0x09, 0xad, 0x9b, 0xfc,
- 0x7c, 0x71, 0x50, 0xfe,
- 0x0b, 0x82, 0xbb, 0xae, 0xae, 0xc6, 0xad, 0xfd, 0xb8, 0xd5, 0xc3, 0xfd,
- 0x35, 0x1a, 0x7d, 0x57,
- 0x3b, 0x32, 0x0d, 0xde, 0xde, 0x07, 0x7b, 0xfe, 0xa8, 0x5d, 0x2b, 0xfe,
- 0xee, 0xa7, 0x0a, 0x6f,
- 0x2b, 0xe3, 0xde, 0x4f, 0x4f, 0xf9, 0x88, 0xff, 0x19, 0x25, 0x73, 0xff,
- 0xa7, 0xcc, 0x27, 0xc6,
- },
- { /* 5 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xc2, 0x8d, 0x31, 0x64, 0xec, 0xeb, 0x0f, 0x2a, 0x37, 0x99, 0x90, 0xc4,
- 0xf6, 0x30, 0xb8, 0xf6,
- 0x47, 0xd9, 0x62, 0xc8, 0x1b, 0x15, 0x1e, 0x54, 0x6e, 0xf1, 0xe3, 0x4b,
- 0x2f, 0x60, 0xb3, 0x2f,
- 0x85, 0x54, 0x53, 0xac, 0xf7, 0xfe, 0x11, 0x7e, 0x59, 0x68, 0x73, 0x8f,
- 0xd9, 0x50, 0x0b, 0xd9,
- 0x8e, 0x71, 0xc4, 0x53, 0x36, 0x2a, 0x3c, 0xa8, 0xdc, 0x21, 0x05, 0x96,
- 0x5e, 0xc0, 0xa5, 0x5e,
- 0x4c, 0xfc, 0xf5, 0x37, 0xda, 0xc1, 0x33, 0x82, 0xeb, 0xb8, 0x95, 0x52,
- 0xa8, 0xf0, 0x1d, 0xa8,
- 0xc9, 0xa8, 0xa6, 0x9b, 0x2d, 0x3f, 0x22, 0xfc, 0xb2, 0xd0, 0xe6, 0xdd,
- 0x71, 0xa0, 0x16, 0x71,
- 0x0b, 0x25, 0x97, 0xff, 0xc1, 0xd4, 0x2d, 0xd6, 0x85, 0x49, 0x76, 0x19,
- 0x87, 0x90, 0xae, 0x87,
- 0xdf, 0xe2, 0x4b, 0xa6, 0x6c, 0x54, 0x78, 0x93, 0x7b, 0x42, 0x0a, 0xef,
- 0xbc, 0x43, 0x89, 0xbc,
- 0x1d, 0x6f, 0x7a, 0xc2, 0x80, 0xbf, 0x77, 0xb9, 0x4c, 0xdb, 0x9a, 0x2b,
- 0x4a, 0x73, 0x31, 0x4a,
- 0x98, 0x3b, 0x29, 0x6e, 0x77, 0x41, 0x66, 0xc7, 0x15, 0xb3, 0xe9, 0xa4,
- 0x93, 0x23, 0x3a, 0x93,
- 0x5a, 0xb6, 0x18, 0x0a, 0x9b, 0xaa, 0x69, 0xed, 0x22, 0x2a, 0x79, 0x60,
- 0x65, 0x13, 0x82, 0x65,
- 0x51, 0x93, 0x8f, 0xf5, 0x5a, 0x7e, 0x44, 0x3b, 0xa7, 0x63, 0x0f, 0x79,
- 0xe2, 0x83, 0x2c, 0xe2,
- 0x93, 0x1e, 0xbe, 0x91, 0xb6, 0x95, 0x4b, 0x11, 0x90, 0xfa, 0x9f, 0xbd,
- 0x14, 0xb3, 0x94, 0x14,
- 0x16, 0x4a, 0xed, 0x3d, 0x41, 0x6b, 0x5a, 0x6f, 0xc9, 0x92, 0xec, 0x32,
- 0xcd, 0xe3, 0x9f, 0xcd,
- 0xd4, 0xc7, 0xdc, 0x59, 0xad, 0x80, 0x55, 0x45, 0xfe, 0x0b, 0x7c, 0xf6,
- 0x3b, 0xd3, 0x27, 0x3b,
- 0x7d, 0x07, 0x96, 0x8f, 0xd8, 0xa8, 0xf0, 0xe5, 0xf6, 0x84, 0x14, 0x1d,
- 0xbb, 0x86, 0xd1, 0xbb,
- 0xbf, 0x8a, 0xa7, 0xeb, 0x34, 0x43, 0xff, 0xcf, 0xc1, 0x1d, 0x84, 0xd9,
- 0x4d, 0xb6, 0x69, 0x4d,
- 0x3a, 0xde, 0xf4, 0x47, 0xc3, 0xbd, 0xee, 0xb1, 0x98, 0x75, 0xf7, 0x56,
- 0x94, 0xe6, 0x62, 0x94,
- 0xf8, 0x53, 0xc5, 0x23, 0x2f, 0x56, 0xe1, 0x9b, 0xaf, 0xec, 0x67, 0x92,
- 0x62, 0xd6, 0xda, 0x62,
- 0xf3, 0x76, 0x52, 0xdc, 0xee, 0x82, 0xcc, 0x4d, 0x2a, 0xa5, 0x11, 0x8b,
- 0xe5, 0x46, 0x74, 0xe5,
- 0x31, 0xfb, 0x63, 0xb8, 0x02, 0x69, 0xc3, 0x67, 0x1d, 0x3c, 0x81, 0x4f,
- 0x13, 0x76, 0xcc, 0x13,
- 0xb4, 0xaf, 0x30, 0x14, 0xf5, 0x97, 0xd2, 0x19, 0x44, 0x54, 0xf2, 0xc0,
- 0xca, 0x26, 0xc7, 0xca,
- 0x76, 0x22, 0x01, 0x70, 0x19, 0x7c, 0xdd, 0x33, 0x73, 0xcd, 0x62, 0x04,
- 0x3c, 0x16, 0x7f, 0x3c,
- 0xa2, 0xe5, 0xdd, 0x29, 0xb4, 0xfc, 0x88, 0x76, 0x8d, 0xc6, 0x1e, 0xf2,
- 0x07, 0xc5, 0x58, 0x07,
- 0x60, 0x68, 0xec, 0x4d, 0x58, 0x17, 0x87, 0x5c, 0xba, 0x5f, 0x8e, 0x36,
- 0xf1, 0xf5, 0xe0, 0xf1,
- 0xe5, 0x3c, 0xbf, 0xe1, 0xaf, 0xe9, 0x96, 0x22, 0xe3, 0x37, 0xfd, 0xb9,
- 0x28, 0xa5, 0xeb, 0x28,
- 0x27, 0xb1, 0x8e, 0x85, 0x43, 0x02, 0x99, 0x08, 0xd4, 0xae, 0x6d, 0x7d,
- 0xde, 0x95, 0x53, 0xde,
- 0x2c, 0x94, 0x19, 0x7a, 0x82, 0xd6, 0xb4, 0xde, 0x51, 0xe7, 0x1b, 0x64,
- 0x59, 0x05, 0xfd, 0x59,
- 0xee, 0x19, 0x28, 0x1e, 0x6e, 0x3d, 0xbb, 0xf4, 0x66, 0x7e, 0x8b, 0xa0,
- 0xaf, 0x35, 0x45, 0xaf,
- 0x6b, 0x4d, 0x7b, 0xb2, 0x99, 0xc3, 0xaa, 0x8a, 0x3f, 0x16, 0xf8, 0x2f,
- 0x76, 0x65, 0x4e, 0x76,
- 0xa9, 0xc0, 0x4a, 0xd6, 0x75, 0x28, 0xa5, 0xa0, 0x08, 0x8f, 0x68, 0xeb,
- 0x80, 0x55, 0xf6, 0x80,
- 0xfa, 0x0e, 0xef, 0xdd, 0x73, 0x93, 0x23, 0x09, 0x2f, 0xcb, 0x28, 0x3a,
- 0xb5, 0xcf, 0x61, 0xb5,
- 0x38, 0x83, 0xde, 0xb9, 0x9f, 0x78, 0x2c, 0x23, 0x18, 0x52, 0xb8, 0xfe,
- 0x43, 0xff, 0xd9, 0x43,
- 0xbd, 0xd7, 0x8d, 0x15, 0x68, 0x86, 0x3d, 0x5d, 0x41, 0x3a, 0xcb, 0x71,
- 0x9a, 0xaf, 0xd2, 0x9a,
- 0x7f, 0x5a, 0xbc, 0x71, 0x84, 0x6d, 0x32, 0x77, 0x76, 0xa3, 0x5b, 0xb5,
- 0x6c, 0x9f, 0x6a, 0x6c,
- 0x74, 0x7f, 0x2b, 0x8e, 0x45, 0xb9, 0x1f, 0xa1, 0xf3, 0xea, 0x2d, 0xac,
- 0xeb, 0x0f, 0xc4, 0xeb,
- 0xb6, 0xf2, 0x1a, 0xea, 0xa9, 0x52, 0x10, 0x8b, 0xc4, 0x73, 0xbd, 0x68,
- 0x1d, 0x3f, 0x7c, 0x1d,
- 0x33, 0xa6, 0x49, 0x46, 0x5e, 0xac, 0x01, 0xf5, 0x9d, 0x1b, 0xce, 0xe7,
- 0xc4, 0x6f, 0x77, 0xc4,
- 0xf1, 0x2b, 0x78, 0x22, 0xb2, 0x47, 0x0e, 0xdf, 0xaa, 0x82, 0x5e, 0x23,
- 0x32, 0x5f, 0xcf, 0x32,
- 0x25, 0xec, 0xa4, 0x7b, 0x1f, 0xc7, 0x5b, 0x9a, 0x54, 0x89, 0x22, 0xd5,
- 0x09, 0x8c, 0xe8, 0x09,
- 0xe7, 0x61, 0x95, 0x1f, 0xf3, 0x2c, 0x54, 0xb0, 0x63, 0x10, 0xb2, 0x11,
- 0xff, 0xbc, 0x50, 0xff,
- 0x62, 0x35, 0xc6, 0xb3, 0x04, 0xd2, 0x45, 0xce, 0x3a, 0x78, 0xc1, 0x9e,
- 0x26, 0xec, 0x5b, 0x26,
- 0xa0, 0xb8, 0xf7, 0xd7, 0xe8, 0x39, 0x4a, 0xe4, 0x0d, 0xe1, 0x51, 0x5a,
- 0xd0, 0xdc, 0xe3, 0xd0,
- 0xab, 0x9d, 0x60, 0x28, 0x29, 0xed, 0x67, 0x32, 0x88, 0xa8, 0x27, 0x43,
- 0x57, 0x4c, 0x4d, 0x57,
- 0x69, 0x10, 0x51, 0x4c, 0xc5, 0x06, 0x68, 0x18, 0xbf, 0x31, 0xb7, 0x87,
- 0xa1, 0x7c, 0xf5, 0xa1,
- 0xec, 0x44, 0x02, 0xe0, 0x32, 0xf8, 0x79, 0x66, 0xe6, 0x59, 0xc4, 0x08,
- 0x78, 0x2c, 0xfe, 0x78,
- 0x2e, 0xc9, 0x33, 0x84, 0xde, 0x13, 0x76, 0x4c, 0xd1, 0xc0, 0x54, 0xcc,
- 0x8e, 0x1c, 0x46, 0x8e,
- 0x87, 0x09, 0x79, 0x52, 0xab, 0x3b, 0xd3, 0xec, 0xd9, 0x4f, 0x3c, 0x27,
- 0x0e, 0x49, 0xb0, 0x0e,
- 0x45, 0x84, 0x48, 0x36, 0x47, 0xd0, 0xdc, 0xc6, 0xee, 0xd6, 0xac, 0xe3,
- 0xf8, 0x79, 0x08, 0xf8,
- 0xc0, 0xd0, 0x1b, 0x9a, 0xb0, 0x2e, 0xcd, 0xb8, 0xb7, 0xbe, 0xdf, 0x6c,
- 0x21, 0x29, 0x03, 0x21,
- 0x02, 0x5d, 0x2a, 0xfe, 0x5c, 0xc5, 0xc2, 0x92, 0x80, 0x27, 0x4f, 0xa8,
- 0xd7, 0x19, 0xbb, 0xd7,
- 0x09, 0x78, 0xbd, 0x01, 0x9d, 0x11, 0xef, 0x44, 0x05, 0x6e, 0x39, 0xb1,
- 0x50, 0x89, 0x15, 0x50,
- 0xcb, 0xf5, 0x8c, 0x65, 0x71, 0xfa, 0xe0, 0x6e, 0x32, 0xf7, 0xa9, 0x75,
- 0xa6, 0xb9, 0xad, 0xa6,
- 0x4e, 0xa1, 0xdf, 0xc9, 0x86, 0x04, 0xf1, 0x10, 0x6b, 0x9f, 0xda, 0xfa,
- 0x7f, 0xe9, 0xa6, 0x7f,
- 0x8c, 0x2c, 0xee, 0xad, 0x6a, 0xef, 0xfe, 0x3a, 0x5c, 0x06, 0x4a, 0x3e,
- 0x89, 0xd9, 0x1e, 0x89,
- 0x58, 0xeb, 0x32, 0xf4, 0xc7, 0x6f, 0xab, 0x7f, 0xa2, 0x0d, 0x36, 0xc8,
- 0xb2, 0x0a, 0x39, 0xb2,
- 0x9a, 0x66, 0x03, 0x90, 0x2b, 0x84, 0xa4, 0x55, 0x95, 0x94, 0xa6, 0x0c,
- 0x44, 0x3a, 0x81, 0x44,
- 0x1f, 0x32, 0x50, 0x3c, 0xdc, 0x7a, 0xb5, 0x2b, 0xcc, 0xfc, 0xd5, 0x83,
- 0x9d, 0x6a, 0x8a, 0x9d,
- 0xdd, 0xbf, 0x61, 0x58, 0x30, 0x91, 0xba, 0x01, 0xfb, 0x65, 0x45, 0x47,
- 0x6b, 0x5a, 0x32, 0x6b,
- 0xd6, 0x9a, 0xf6, 0xa7, 0xf1, 0x45, 0x97, 0xd7, 0x7e, 0x2c, 0x33, 0x5e,
- 0xec, 0xca, 0x9c, 0xec,
- 0x14, 0x17, 0xc7, 0xc3, 0x1d, 0xae, 0x98, 0xfd, 0x49, 0xb5, 0xa3, 0x9a,
- 0x1a, 0xfa, 0x24, 0x1a,
- 0x91, 0x43, 0x94, 0x6f, 0xea, 0x50, 0x89, 0x83, 0x10, 0xdd, 0xd0, 0x15,
- 0xc3, 0xaa, 0x2f, 0xc3,
- 0x53, 0xce, 0xa5, 0x0b, 0x06, 0xbb, 0x86, 0xa9, 0x27, 0x44, 0x40, 0xd1,
- 0x35, 0x9a, 0x97, 0x35,
- 0x37, 0x1c, 0x1d, 0x79, 0xe6, 0xe5, 0x46, 0x12, 0x5e, 0x55, 0x50, 0x74,
- 0xa9, 0x5d, 0xc2, 0xa9,
- 0xf5, 0x91, 0x2c, 0x1d, 0x0a, 0x0e, 0x49, 0x38, 0x69, 0xcc, 0xc0, 0xb0,
- 0x5f, 0x6d, 0x7a, 0x5f,
- 0x70, 0xc5, 0x7f, 0xb1, 0xfd, 0xf0, 0x58, 0x46, 0x30, 0xa4, 0xb3, 0x3f,
- 0x86, 0x3d, 0x71, 0x86,
- 0xb2, 0x48, 0x4e, 0xd5, 0x11, 0x1b, 0x57, 0x6c, 0x07, 0x3d, 0x23, 0xfb,
- 0x70, 0x0d, 0xc9, 0x70,
- 0xb9, 0x6d, 0xd9, 0x2a, 0xd0, 0xcf, 0x7a, 0xba, 0x82, 0x74, 0x55, 0xe2,
- 0xf7, 0x9d, 0x67, 0xf7,
- 0x7b, 0xe0, 0xe8, 0x4e, 0x3c, 0x24, 0x75, 0x90, 0xb5, 0xed, 0xc5, 0x26,
- 0x01, 0xad, 0xdf, 0x01,
- 0xfe, 0xb4, 0xbb, 0xe2, 0xcb, 0xda, 0x64, 0xee, 0xec, 0x85, 0xb6, 0xa9,
- 0xd8, 0xfd, 0xd4, 0xd8,
- 0x3c, 0x39, 0x8a, 0x86, 0x27, 0x31, 0x6b, 0xc4, 0xdb, 0x1c, 0x26, 0x6d,
- 0x2e, 0xcd, 0x6c, 0x2e,
- 0xe8, 0xfe, 0x56, 0xdf, 0x8a, 0xb1, 0x3e, 0x81, 0x25, 0x17, 0x5a, 0x9b,
- 0x15, 0x1e, 0x4b, 0x15,
- 0x2a, 0x73, 0x67, 0xbb, 0x66, 0x5a, 0x31, 0xab, 0x12, 0x8e, 0xca, 0x5f,
- 0xe3, 0x2e, 0xf3, 0xe3,
- 0xaf, 0x27, 0x34, 0x17, 0x91, 0xa4, 0x20, 0xd5, 0x4b, 0xe6, 0xb9, 0xd0,
- 0x3a, 0x7e, 0xf8, 0x3a,
- 0x6d, 0xaa, 0x05, 0x73, 0x7d, 0x4f, 0x2f, 0xff, 0x7c, 0x7f, 0x29, 0x14,
- 0xcc, 0x4e, 0x40, 0xcc,
- 0x66, 0x8f, 0x92, 0x8c, 0xbc, 0x9b, 0x02, 0x29, 0xf9, 0x36, 0x5f, 0x0d,
- 0x4b, 0xde, 0xee, 0x4b,
- 0xa4, 0x02, 0xa3, 0xe8, 0x50, 0x70, 0x0d, 0x03, 0xce, 0xaf, 0xcf, 0xc9,
- 0xbd, 0xee, 0x56, 0xbd,
- 0x21, 0x56, 0xf0, 0x44, 0xa7, 0x8e, 0x1c, 0x7d, 0x97, 0xc7, 0xbc, 0x46,
- 0x64, 0xbe, 0x5d, 0x64,
- 0xe3, 0xdb, 0xc1, 0x20, 0x4b, 0x65, 0x13, 0x57, 0xa0, 0x5e, 0x2c, 0x82,
- 0x92, 0x8e, 0xe5, 0x92,
- 0x4a, 0x1b, 0x8b, 0xf6, 0x3e, 0x4d, 0xb6, 0xf7, 0xa8, 0xd1, 0x44, 0x69,
- 0x12, 0xdb, 0x13, 0x12,
- 0x88, 0x96, 0xba, 0x92, 0xd2, 0xa6, 0xb9, 0xdd, 0x9f, 0x48, 0xd4, 0xad,
- 0xe4, 0xeb, 0xab, 0xe4,
- 0x0d, 0xc2, 0xe9, 0x3e, 0x25, 0x58, 0xa8, 0xa3, 0xc6, 0x20, 0xa7, 0x22,
- 0x3d, 0xbb, 0xa0, 0x3d,
- 0xcf, 0x4f, 0xd8, 0x5a, 0xc9, 0xb3, 0xa7, 0x89, 0xf1, 0xb9, 0x37, 0xe6,
- 0xcb, 0x8b, 0x18, 0xcb,
- 0xc4, 0x6a, 0x4f, 0xa5, 0x08, 0x67, 0x8a, 0x5f, 0x74, 0xf0, 0x41, 0xff,
- 0x4c, 0x1b, 0xb6, 0x4c,
- 0x06, 0xe7, 0x7e, 0xc1, 0xe4, 0x8c, 0x85, 0x75, 0x43, 0x69, 0xd1, 0x3b,
- 0xba, 0x2b, 0x0e, 0xba,
- 0x83, 0xb3, 0x2d, 0x6d, 0x13, 0x72, 0x94, 0x0b, 0x1a, 0x01, 0xa2, 0xb4,
- 0x63, 0x7b, 0x05, 0x63,
- 0x41, 0x3e, 0x1c, 0x09, 0xff, 0x99, 0x9b, 0x21, 0x2d, 0x98, 0x32, 0x70,
- 0x95, 0x4b, 0xbd, 0x95,
- 0x95, 0xf9, 0xc0, 0x50, 0x52, 0x19, 0xce, 0x64, 0xd3, 0x93, 0x4e, 0x86,
- 0xae, 0x98, 0x9a, 0xae,
- 0x57, 0x74, 0xf1, 0x34, 0xbe, 0xf2, 0xc1, 0x4e, 0xe4, 0x0a, 0xde, 0x42,
- 0x58, 0xa8, 0x22, 0x58,
- 0xd2, 0x20, 0xa2, 0x98, 0x49, 0x0c, 0xd0, 0x30, 0xbd, 0x62, 0xad, 0xcd,
- 0x81, 0xf8, 0x29, 0x81,
- 0x10, 0xad, 0x93, 0xfc, 0xa5, 0xe7, 0xdf, 0x1a, 0x8a, 0xfb, 0x3d, 0x09,
- 0x77, 0xc8, 0x91, 0x77,
- 0x1b, 0x88, 0x04, 0x03, 0x64, 0x33, 0xf2, 0xcc, 0x0f, 0xb2, 0x4b, 0x10,
- 0xf0, 0x58, 0x3f, 0xf0,
- 0xd9, 0x05, 0x35, 0x67, 0x88, 0xd8, 0xfd, 0xe6, 0x38, 0x2b, 0xdb, 0xd4,
- 0x06, 0x68, 0x87, 0x06,
- 0x5c, 0x51, 0x66, 0xcb, 0x7f, 0x26, 0xec, 0x98, 0x61, 0x43, 0xa8, 0x5b,
- 0xdf, 0x38, 0x8c, 0xdf,
- 0x9e, 0xdc, 0x57, 0xaf, 0x93, 0xcd, 0xe3, 0xb2, 0x56, 0xda, 0x38, 0x9f,
- 0x29, 0x08, 0x34, 0x29,
- 0xcd, 0x12, 0xf2, 0xa4, 0x95, 0x76, 0x65, 0x1b, 0x71, 0x9e, 0x78, 0x4e,
- 0x1c, 0x92, 0xa3, 0x1c,
- 0x0f, 0x9f, 0xc3, 0xc0, 0x79, 0x9d, 0x6a, 0x31, 0x46, 0x07, 0xe8, 0x8a,
- 0xea, 0xa2, 0x1b, 0xea,
- 0x8a, 0xcb, 0x90, 0x6c, 0x8e, 0x63, 0x7b, 0x4f, 0x1f, 0x6f, 0x9b, 0x05,
- 0x33, 0xf2, 0x10, 0x33,
- 0x48, 0x46, 0xa1, 0x08, 0x62, 0x88, 0x74, 0x65, 0x28, 0xf6, 0x0b, 0xc1,
- 0xc5, 0xc2, 0xa8, 0xc5,
- 0x43, 0x63, 0x36, 0xf7, 0xa3, 0x5c, 0x59, 0xb3, 0xad, 0xbf, 0x7d, 0xd8,
- 0x42, 0x52, 0x06, 0x42,
- 0x81, 0xee, 0x07, 0x93, 0x4f, 0xb7, 0x56, 0x99, 0x9a, 0x26, 0xed, 0x1c,
- 0xb4, 0x62, 0xbe, 0xb4,
- 0x04, 0xba, 0x54, 0x3f, 0xb8, 0x49, 0x47, 0xe7, 0xc3, 0x4e, 0x9e, 0x93,
- 0x6d, 0x32, 0xb5, 0x6d,
- 0xc6, 0x37, 0x65, 0x5b, 0x54, 0xa2, 0x48, 0xcd, 0xf4, 0xd7, 0x0e, 0x57,
- 0x9b, 0x02, 0x0d, 0x9b,
- 0x12, 0xf0, 0xb9, 0x02, 0xf9, 0x22, 0x1d, 0x88, 0x0a, 0xdc, 0x72, 0xa1,
- 0xa0, 0xd1, 0x2a, 0xa0,
- 0xd0, 0x7d, 0x88, 0x66, 0x15, 0xc9, 0x12, 0xa2, 0x3d, 0x45, 0xe2, 0x65,
- 0x56, 0xe1, 0x92, 0x56,
- 0x55, 0x29, 0xdb, 0xca, 0xe2, 0x37, 0x03, 0xdc, 0x64, 0x2d, 0x91, 0xea,
- 0x8f, 0xb1, 0x99, 0x8f,
- 0x97, 0xa4, 0xea, 0xae, 0x0e, 0xdc, 0x0c, 0xf6, 0x53, 0xb4, 0x01, 0x2e,
- 0x79, 0x81, 0x21, 0x79,
- 0x9c, 0x81, 0x7d, 0x51, 0xcf, 0x08, 0x21, 0x20, 0xd6, 0xfd, 0x77, 0x37,
- 0xfe, 0x11, 0x8f, 0xfe,
- 0x5e, 0x0c, 0x4c, 0x35, 0x23, 0xe3, 0x2e, 0x0a, 0xe1, 0x64, 0xe7, 0xf3,
- 0x08, 0x21, 0x37, 0x08,
- 0xdb, 0x58, 0x1f, 0x99, 0xd4, 0x1d, 0x3f, 0x74, 0xb8, 0x0c, 0x94, 0x7c,
- 0xd1, 0x71, 0x3c, 0xd1,
- 0x19, 0xd5, 0x2e, 0xfd, 0x38, 0xf6, 0x30, 0x5e, 0x8f, 0x95, 0x04, 0xb8,
- 0x27, 0x41, 0x84, 0x27,
- 0xb0, 0x15, 0x64, 0x2b, 0x4d, 0xde, 0x95, 0xfe, 0x87, 0x1a, 0x6c, 0x53,
- 0xa7, 0x14, 0x72, 0xa7,
- 0x72, 0x98, 0x55, 0x4f, 0xa1, 0x35, 0x9a, 0xd4, 0xb0, 0x83, 0xfc, 0x97,
- 0x51, 0x24, 0xca, 0x51,
- 0xf7, 0xcc, 0x06, 0xe3, 0x56, 0xcb, 0x8b, 0xaa, 0xe9, 0xeb, 0x8f, 0x18,
- 0x88, 0x74, 0xc1, 0x88,
- 0x35, 0x41, 0x37, 0x87, 0xba, 0x20, 0x84, 0x80, 0xde, 0x72, 0x1f, 0xdc,
- 0x7e, 0x44, 0x79, 0x7e,
- 0x3e, 0x64, 0xa0, 0x78, 0x7b, 0xf4, 0xa9, 0x56, 0x5b, 0x3b, 0x69, 0xc5,
- 0xf9, 0xd4, 0xd7, 0xf9,
- 0xfc, 0xe9, 0x91, 0x1c, 0x97, 0x1f, 0xa6, 0x7c, 0x6c, 0xa2, 0xf9, 0x01,
- 0x0f, 0xe4, 0x6f, 0x0f,
- 0x79, 0xbd, 0xc2, 0xb0, 0x60, 0xe1, 0xb7, 0x02, 0x35, 0xca, 0x8a, 0x8e,
- 0xd6, 0xb4, 0x64, 0xd6,
- 0xbb, 0x30, 0xf3, 0xd4, 0x8c, 0x0a, 0xb8, 0x28, 0x02, 0x53, 0x1a, 0x4a,
- 0x20, 0x84, 0xdc, 0x20,
- 0x6f, 0xf7, 0x2f, 0x8d, 0x21, 0x8a, 0xed, 0x6d, 0xfc, 0x58, 0x66, 0xbc,
- 0x1b, 0x57, 0xfb, 0x1b,
- 0xad, 0x7a, 0x1e, 0xe9, 0xcd, 0x61, 0xe2, 0x47, 0xcb, 0xc1, 0xf6, 0x78,
- 0xed, 0x67, 0x43, 0xed,
- 0x28, 0x2e, 0x4d, 0x45, 0x3a, 0x9f, 0xf3, 0x39, 0x92, 0xa9, 0x85, 0xf7,
- 0x34, 0x37, 0x48, 0x34,
- 0xea, 0xa3, 0x7c, 0x21, 0xd6, 0x74, 0xfc, 0x13, 0xa5, 0x30, 0x15, 0x33,
- 0xc2, 0x07, 0xf0, 0xc2,
- 0xe1, 0x86, 0xeb, 0xde, 0x17, 0xa0, 0xd1, 0xc5, 0x20, 0x79, 0x63, 0x2a,
- 0x45, 0x97, 0x5e, 0x45,
- 0x23, 0x0b, 0xda, 0xba, 0xfb, 0x4b, 0xde, 0xef, 0x17, 0xe0, 0xf3, 0xee,
- 0xb3, 0xa7, 0xe6, 0xb3,
- 0xa6, 0x5f, 0x89, 0x16, 0x0c, 0xb5, 0xcf, 0x91, 0x4e, 0x88, 0x80, 0x61,
- 0x6a, 0xf7, 0xed, 0x6a,
- 0x64, 0xd2, 0xb8, 0x72, 0xe0, 0x5e, 0xc0, 0xbb, 0x79, 0x11, 0x10, 0xa5,
- 0x9c, 0xc7, 0x55, 0x9c,
- 0x6e, 0x38, 0x3a, 0xf2, 0x0f, 0x09, 0x8c, 0x24, 0xbc, 0xaa, 0xa0, 0xe8,
- 0x91, 0xba, 0x47, 0x91,
- 0xac, 0xb5, 0x0b, 0x96, 0xe3, 0xe2, 0x83, 0x0e, 0x8b, 0x33, 0x30, 0x2c,
- 0x67, 0x8a, 0xff, 0x67,
- 0x29, 0xe1, 0x58, 0x3a, 0x14, 0x1c, 0x92, 0x70, 0xd2, 0x5b, 0x43, 0xa3,
- 0xbe, 0xda, 0xf4, 0xbe,
- 0xeb, 0x6c, 0x69, 0x5e, 0xf8, 0xf7, 0x9d, 0x5a, 0xe5, 0xc2, 0xd3, 0x67,
- 0x48, 0xea, 0x4c, 0x48,
- 0xe0, 0x49, 0xfe, 0xa1, 0x39, 0x23, 0xb0, 0x8c, 0x60, 0x8b, 0xa5, 0x7e,
- 0xcf, 0x7a, 0xe2, 0xcf,
- 0x22, 0xc4, 0xcf, 0xc5, 0xd5, 0xc8, 0xbf, 0xa6, 0x57, 0x12, 0x35, 0xba,
- 0x39, 0x4a, 0x5a, 0x39,
- 0xa7, 0x90, 0x9c, 0x69, 0x22, 0x36, 0xae, 0xd8, 0x0e, 0x7a, 0x46, 0x35,
- 0xe0, 0x1a, 0x51, 0xe0,
- 0x65, 0x1d, 0xad, 0x0d, 0xce, 0xdd, 0xa1, 0xf2, 0x39, 0xe3, 0xd6, 0xf1,
- 0x16, 0x2a, 0xe9, 0x16,
- 0xb1, 0xda, 0x71, 0x54, 0x63, 0x5d, 0xf4, 0xb7, 0xc7, 0xe8, 0xaa, 0x07,
- 0x2d, 0xf9, 0xce, 0x2d,
- 0x73, 0x57, 0x40, 0x30, 0x8f, 0xb6, 0xfb, 0x9d, 0xf0, 0x71, 0x3a, 0xc3,
- 0xdb, 0xc9, 0x76, 0xdb,
- 0xf6, 0x03, 0x13, 0x9c, 0x78, 0x48, 0xea, 0xe3, 0xa9, 0x19, 0x49, 0x4c,
- 0x02, 0x99, 0x7d, 0x02,
- 0x34, 0x8e, 0x22, 0xf8, 0x94, 0xa3, 0xe5, 0xc9, 0x9e, 0x80, 0xd9, 0x88,
- 0xf4, 0xa9, 0xc5, 0xf4,
- 0x3f, 0xab, 0xb5, 0x07, 0x55, 0x77, 0xc8, 0x1f, 0x1b, 0xc9, 0xaf, 0x91,
- 0x73, 0x39, 0x6b, 0x73,
- 0xfd, 0x26, 0x84, 0x63, 0xb9, 0x9c, 0xc7, 0x35, 0x2c, 0x50, 0x3f, 0x55,
- 0x85, 0x09, 0xd3, 0x85,
- 0x78, 0x72, 0xd7, 0xcf, 0x4e, 0x62, 0xd6, 0x4b, 0x75, 0x38, 0x4c, 0xda,
- 0x5c, 0x59, 0xd8, 0x5c,
- 0xba, 0xff, 0xe6, 0xab, 0xa2, 0x89, 0xd9, 0x61, 0x42, 0xa1, 0xdc, 0x1e,
- 0xaa, 0x69, 0x60, 0xaa,
- 0x13, 0x3f, 0xac, 0x7d, 0xd7, 0xa1, 0x7c, 0xc1, 0x4a, 0x2e, 0xb4, 0xf5,
- 0x2a, 0x3c, 0x96, 0x2a,
- 0xd1, 0xb2, 0x9d, 0x19, 0x3b, 0x4a, 0x73, 0xeb, 0x7d, 0xb7, 0x24, 0x31,
- 0xdc, 0x0c, 0x2e, 0xdc,
- 0x54, 0xe6, 0xce, 0xb5, 0xcc, 0xb4, 0x62, 0x95, 0x24, 0xdf, 0x57, 0xbe,
- 0x05, 0x5c, 0x25, 0x05,
- 0x96, 0x6b, 0xff, 0xd1, 0x20, 0x5f, 0x6d, 0xbf, 0x13, 0x46, 0xc7, 0x7a,
- 0xf3, 0x6c, 0x9d, 0xf3,
- 0x9d, 0x4e, 0x68, 0x2e, 0xe1, 0x8b, 0x40, 0x69, 0x96, 0x0f, 0xb1, 0x63,
- 0x74, 0xfc, 0x33, 0x74,
- 0x5f, 0xc3, 0x59, 0x4a, 0x0d, 0x60, 0x4f, 0x43, 0xa1, 0x96, 0x21, 0xa7,
- 0x82, 0xcc, 0x8b, 0x82,
- 0xda, 0x97, 0x0a, 0xe6, 0xfa, 0x9e, 0x5e, 0x3d, 0xf8, 0xfe, 0x52, 0x28,
- 0x5b, 0x9c, 0x80, 0x5b,
- 0x18, 0x1a, 0x3b, 0x82, 0x16, 0x75, 0x51, 0x17, 0xcf, 0x67, 0xc2, 0xec,
- 0xad, 0xac, 0x38, 0xad,
- 0xcc, 0xdd, 0xe7, 0xdb, 0xbb, 0xf5, 0x04, 0x52, 0x31, 0x6c, 0xbe, 0x1a,
- 0x96, 0x7f, 0x1f, 0x96,
- 0x0e, 0x50, 0xd6, 0xbf, 0x57, 0x1e, 0x0b, 0x78, 0x06, 0xf5, 0x2e, 0xde,
- 0x60, 0x4f, 0xa7, 0x60,
- 0x8b, 0x04, 0x85, 0x13, 0xa0, 0xe0, 0x1a, 0x06, 0x5f, 0x9d, 0x5d, 0x51,
- 0xb9, 0x1f, 0xac, 0xb9,
- 0x49, 0x89, 0xb4, 0x77, 0x4c, 0x0b, 0x15, 0x2c, 0x68, 0x04, 0xcd, 0x95,
- 0x4f, 0x2f, 0x14, 0x4f,
- 0x42, 0xac, 0x23, 0x88, 0x8d, 0xdf, 0x38, 0xfa, 0xed, 0x4d, 0xbb, 0x8c,
- 0xc8, 0xbf, 0xba, 0xc8,
- 0x80, 0x21, 0x12, 0xec, 0x61, 0x34, 0x37, 0xd0, 0xda, 0xd4, 0x2b, 0x48,
- 0x3e, 0x8f, 0x02, 0x3e,
- 0x05, 0x75, 0x41, 0x40, 0x96, 0xca, 0x26, 0xae, 0x83, 0xbc, 0x58, 0xc7,
- 0xe7, 0xdf, 0x09, 0xe7,
- 0xc7, 0xf8, 0x70, 0x24, 0x7a, 0x21, 0x29, 0x84, 0xb4, 0x25, 0xc8, 0x03,
- 0x11, 0xef, 0xb1, 0x11,
- 0x94, 0x36, 0xd5, 0x2f, 0x7c, 0x9a, 0xaf, 0x2d, 0x93, 0x61, 0x88, 0xd2,
- 0x24, 0x75, 0x26, 0x24,
- 0x56, 0xbb, 0xe4, 0x4b, 0x90, 0x71, 0xa0, 0x07, 0xa4, 0xf8, 0x18, 0x16,
- 0xd2, 0x45, 0x9e, 0xd2,
- 0xd3, 0xef, 0xb7, 0xe7, 0x67, 0x8f, 0xb1, 0x79, 0xfd, 0x90, 0x6b, 0x99,
- 0x0b, 0x15, 0x95, 0x0b,
- 0x11, 0x62, 0x86, 0x83, 0x8b, 0x64, 0xbe, 0x53, 0xca, 0x09, 0xfb, 0x5d,
- 0xfd, 0x25, 0x2d, 0xfd,
- 0x1a, 0x47, 0x11, 0x7c, 0x4a, 0xb0, 0x93, 0x85, 0x4f, 0x40, 0x8d, 0x44,
- 0x7a, 0xb5, 0x83, 0x7a,
- 0xd8, 0xca, 0x20, 0x18, 0xa6, 0x5b, 0x9c, 0xaf, 0x78, 0xd9, 0x1d, 0x80,
- 0x8c, 0x85, 0x3b, 0x8c,
- 0x5d, 0x9e, 0x73, 0xb4, 0x51, 0xa5, 0x8d, 0xd1, 0x21, 0xb1, 0x6e, 0x0f,
- 0x55, 0xd5, 0x30, 0x55,
- 0x9f, 0x13, 0x42, 0xd0, 0xbd, 0x4e, 0x82, 0xfb, 0x16, 0x28, 0xfe, 0xcb,
- 0xa3, 0xe5, 0x88, 0xa3,
- 0x4b, 0xd4, 0x9e, 0x89, 0x10, 0xce, 0xd7, 0xbe, 0xe8, 0x23, 0x82, 0x3d,
- 0x98, 0x36, 0xaf, 0x98,
- 0x89, 0x59, 0xaf, 0xed, 0xfc, 0x25, 0xd8, 0x94, 0xdf, 0xba, 0x12, 0xf9,
- 0x6e, 0x06, 0x17, 0x6e,
- 0x0c, 0x0d, 0xfc, 0x41, 0x0b, 0xdb, 0xc9, 0xea, 0x86, 0xd2, 0x61, 0x76,
- 0xb7, 0x56, 0x1c, 0xb7,
- 0xce, 0x80, 0xcd, 0x25, 0xe7, 0x30, 0xc6, 0xc0, 0xb1, 0x4b, 0xf1, 0xb2,
- 0x41, 0x66, 0xa4, 0x41,
- 0xc5, 0xa5, 0x5a, 0xda, 0x26, 0xe4, 0xeb, 0x16, 0x34, 0x02, 0x87, 0xab,
- 0xc6, 0xf6, 0x0a, 0xc6,
- 0x07, 0x28, 0x6b, 0xbe, 0xca, 0x0f, 0xe4, 0x3c, 0x03, 0x9b, 0x17, 0x6f,
- 0x30, 0xc6, 0xb2, 0x30,
- 0x82, 0x7c, 0x38, 0x12, 0x3d, 0xf1, 0xf5, 0x42, 0x5a, 0xf3, 0x64, 0xe0,
- 0xe9, 0x96, 0xb9, 0xe9,
- 0x40, 0xf1, 0x09, 0x76, 0xd1, 0x1a, 0xfa, 0x68, 0x6d, 0x6a, 0xf4, 0x24,
- 0x1f, 0xa6, 0x01, 0x1f,
- 0xe9, 0x31, 0x43, 0xa0, 0xa4, 0x32, 0x5f, 0xc8, 0x65, 0xe5, 0x9c, 0xcf,
- 0x9f, 0xf3, 0xf7, 0x9f,
- 0x2b, 0xbc, 0x72, 0xc4, 0x48, 0xd9, 0x50, 0xe2, 0x52, 0x7c, 0x0c, 0x0b,
- 0x69, 0xc3, 0x4f, 0x69,
- 0xae, 0xe8, 0x21, 0x68, 0xbf, 0x27, 0x41, 0x9c, 0x0b, 0x14, 0x7f, 0x84,
- 0xb0, 0x93, 0x44, 0xb0,
- 0x6c, 0x65, 0x10, 0x0c, 0x53, 0xcc, 0x4e, 0xb6, 0x3c, 0x8d, 0xef, 0x40,
- 0x46, 0xa3, 0xfc, 0x46,
- 0x67, 0x40, 0x87, 0xf3, 0x92, 0x18, 0x63, 0x60, 0xb9, 0xc4, 0x99, 0x59,
- 0xc1, 0x33, 0x52, 0xc1,
- 0xa5, 0xcd, 0xb6, 0x97, 0x7e, 0xf3, 0x6c, 0x4a, 0x8e, 0x5d, 0x09, 0x9d,
- 0x37, 0x03, 0xea, 0x37,
- 0x20, 0x99, 0xe5, 0x3b, 0x89, 0x0d, 0x7d, 0x34, 0xd7, 0x35, 0x7a, 0x12,
- 0xee, 0x53, 0xe1, 0xee,
- 0xe2, 0x14, 0xd4, 0x5f, 0x65, 0xe6, 0x72, 0x1e, 0xe0, 0xac, 0xea, 0xd6,
- 0x18, 0x63, 0x59, 0x18,
- 0x36, 0xd3, 0x08, 0x06, 0xc8, 0x66, 0x27, 0x5b, 0x1e, 0xa7, 0x96, 0x20,
- 0x23, 0xb0, 0x7e, 0x23,
- 0xf4, 0x5e, 0x39, 0x62, 0x24, 0x8d, 0x28, 0x71, 0x29, 0x3e, 0x06, 0xe4,
- 0xd5, 0x80, 0xc6, 0xd5,
- 0x71, 0x0a, 0x6a, 0xce, 0xd3, 0x73, 0x39, 0x0f, 0x70, 0x56, 0x75, 0x6b,
- 0x0c, 0xd0, 0xcd, 0x0c,
- 0xb3, 0x87, 0x5b, 0xaa, 0x3f, 0x98, 0x36, 0x25, 0x47, 0xcf, 0xe5, 0xaf,
- 0xfa, 0xe0, 0x75, 0xfa,
- 0xb8, 0xa2, 0xcc, 0x55, 0xfe, 0x4c, 0x1b, 0xf3, 0xc2, 0x86, 0x93, 0xb6,
- 0x7d, 0x70, 0xdb, 0x7d,
- 0x7a, 0x2f, 0xfd, 0x31, 0x12, 0xa7, 0x14, 0xd9, 0xf5, 0x1f, 0x03, 0x72,
- 0x8b, 0x40, 0x63, 0x8b,
- 0xff, 0x7b, 0xae, 0x9d, 0xe5, 0x59, 0x05, 0xa7, 0xac, 0x77, 0x70, 0xfd,
- 0x52, 0x10, 0x68, 0x52,
- 0x3d, 0xf6, 0x9f, 0xf9, 0x09, 0xb2, 0x0a, 0x8d, 0x9b, 0xee, 0xe0, 0x39,
- 0xa4, 0x20, 0xd0, 0xa4,
- 0x59, 0x24, 0x27, 0x8b, 0xe9, 0xec, 0xca, 0x36, 0xe2, 0xff, 0xf0, 0x9c,
- 0x38, 0xe7, 0x85, 0x38,
- 0x9b, 0xa9, 0x16, 0xef, 0x05, 0x07, 0xc5, 0x1c, 0xd5, 0x66, 0x60, 0x58,
- 0xce, 0xd7, 0x3d, 0xce,
- 0x1e, 0xfd, 0x45, 0x43, 0xf2, 0xf9, 0xd4, 0x62, 0x8c, 0x0e, 0x13, 0xd7,
- 0x17, 0x87, 0x36, 0x17,
- 0xdc, 0x70, 0x74, 0x27, 0x1e, 0x12, 0xdb, 0x48, 0xbb, 0x97, 0x83, 0x13,
- 0xe1, 0xb7, 0x8e, 0xe1,
- 0xd7, 0x55, 0xe3, 0xd8, 0xdf, 0xc6, 0xf6, 0x9e, 0x3e, 0xde, 0xf5, 0x0a,
- 0x66, 0x27, 0x20, 0x66,
- 0x15, 0xd8, 0xd2, 0xbc, 0x33, 0x2d, 0xf9, 0xb4, 0x09, 0x47, 0x65, 0xce,
- 0x90, 0x17, 0x98, 0x90,
- 0x90, 0x8c, 0x81, 0x10, 0xc4, 0xd3, 0xe8, 0xca, 0x50, 0x2f, 0x16, 0x41,
- 0x49, 0x47, 0x93, 0x49,
- 0x52, 0x01, 0xb0, 0x74, 0x28, 0x38, 0xe7, 0xe0, 0x67, 0xb6, 0x86, 0x85,
- 0xbf, 0x77, 0x2b, 0xbf,
- 0x86, 0xc6, 0x6c, 0x2d, 0x85, 0xb8, 0xb2, 0xa5, 0x99, 0xbd, 0xfa, 0x73,
- 0x84, 0xa4, 0x0c, 0x84,
- 0x44, 0x4b, 0x5d, 0x49, 0x69, 0x53, 0xbd, 0x8f, 0xae, 0x24, 0x6a, 0xb7,
- 0x72, 0x94, 0xb4, 0x72,
- 0xc1, 0x1f, 0x0e, 0xe5, 0x9e, 0xad, 0xac, 0xf1, 0xf7, 0x4c, 0x19, 0x38,
- 0xab, 0xc4, 0xbf, 0xab,
- 0x03, 0x92, 0x3f, 0x81, 0x72, 0x46, 0xa3, 0xdb, 0xc0, 0xd5, 0x89, 0xfc,
- 0x5d, 0xf4, 0x07, 0x5d,
- 0x08, 0xb7, 0xa8, 0x7e, 0xb3, 0x92, 0x8e, 0x0d, 0x45, 0x9c, 0xff, 0xe5,
- 0xda, 0x64, 0xa9, 0xda,
- 0xca, 0x3a, 0x99, 0x1a, 0x5f, 0x79, 0x81, 0x27, 0x72, 0x05, 0x6f, 0x21,
- 0x2c, 0x54, 0x11, 0x2c,
- 0x4f, 0x6e, 0xca, 0xb6, 0xa8, 0x87, 0x90, 0x59, 0x2b, 0x6d, 0x1c, 0xae,
- 0xf5, 0x04, 0x1a, 0xf5,
- 0x8d, 0xe3, 0xfb, 0xd2, 0x44, 0x6c, 0x9f, 0x73, 0x1c, 0xf4, 0x8c, 0x6a,
- 0x03, 0x34, 0xa2, 0x03,
- 0x24, 0x23, 0xb1, 0x04, 0x31, 0x44, 0x3a, 0xd3, 0x14, 0x7b, 0xe4, 0x81,
- 0x83, 0x61, 0x54, 0x83,
- 0xe6, 0xae, 0x80, 0x60, 0xdd, 0xaf, 0x35, 0xf9, 0x23, 0xe2, 0x74, 0x45,
- 0x75, 0x51, 0xec, 0x75,
- 0x63, 0xfa, 0xd3, 0xcc, 0x2a, 0x51, 0x24, 0x87, 0x7a, 0x8a, 0x07, 0xca,
- 0xac, 0x01, 0xe7, 0xac,
- 0xa1, 0x77, 0xe2, 0xa8, 0xc6, 0xba, 0x2b, 0xad, 0x4d, 0x13, 0x97, 0x0e,
- 0x5a, 0x31, 0x5f, 0x5a,
- 0xaa, 0x52, 0x75, 0x57, 0x07, 0x6e, 0x06, 0x7b, 0xc8, 0x5a, 0xe1, 0x17,
- 0xdd, 0xa1, 0xf1, 0xdd,
- 0x68, 0xdf, 0x44, 0x33, 0xeb, 0x85, 0x09, 0x51, 0xff, 0xc3, 0x71, 0xd3,
- 0x2b, 0x91, 0x49, 0x2b,
- 0xed, 0x8b, 0x17, 0x9f, 0x1c, 0x7b, 0x18, 0x2f, 0xa6, 0xab, 0x02, 0x5c,
- 0xf2, 0xc1, 0x42, 0xf2,
- 0x2f, 0x06, 0x26, 0xfb, 0xf0, 0x90, 0x17, 0x05, 0x91, 0x32, 0x92, 0x98,
- 0x04, 0xf1, 0xfa, 0x04,
- 0xfb, 0xc1, 0xfa, 0xa2, 0x5d, 0x10, 0x42, 0x40, 0x6f, 0x39, 0xee, 0x6e,
- 0x3f, 0x22, 0xdd, 0x3f,
- 0x39, 0x4c, 0xcb, 0xc6, 0xb1, 0xfb, 0x4d, 0x6a, 0x58, 0xa0, 0x7e, 0xaa,
- 0xc9, 0x12, 0x65, 0xc9,
- 0xbc, 0x18, 0x98, 0x6a, 0x46, 0x05, 0x5c, 0x14, 0x01, 0xc8, 0x0d, 0x25,
- 0x10, 0x42, 0x6e, 0x10,
- 0x7e, 0x95, 0xa9, 0x0e, 0xaa, 0xee, 0x53, 0x3e, 0x36, 0x51, 0x9d, 0xe1,
- 0xe6, 0x72, 0xd6, 0xe6,
- 0x75, 0xb0, 0x3e, 0xf1, 0x6b, 0x3a, 0x7e, 0xe8, 0xb3, 0x18, 0xeb, 0xf8,
- 0x61, 0xe2, 0x78, 0x61,
- 0xb7, 0x3d, 0x0f, 0x95, 0x87, 0xd1, 0x71, 0xc2, 0x84, 0x81, 0x7b, 0x3c,
- 0x97, 0xd2, 0xc0, 0x97,
- 0x32, 0x69, 0x5c, 0x39, 0x70, 0x2f, 0x60, 0xbc, 0xdd, 0xe9, 0x08, 0xb3,
- 0x4e, 0x82, 0xcb, 0x4e,
- 0xf0, 0xe4, 0x6d, 0x5d, 0x9c, 0xc4, 0x6f, 0x96, 0xea, 0x70, 0x98, 0x77,
- 0xb8, 0xb2, 0x73, 0xb8,
- 0xa3, 0x2a, 0xc8, 0x56, 0x9a, 0x7f, 0xe9, 0x3f, 0xcd, 0x34, 0xd8, 0xa6,
- 0x8d, 0x28, 0xe4, 0x8d,
- 0x61, 0xa7, 0xf9, 0x32, 0x76, 0x94, 0xe6, 0x15, 0xfa, 0xad, 0x48, 0x62,
- 0x7b, 0x18, 0x5c, 0x7b,
- 0xe4, 0xf3, 0xaa, 0x9e, 0x81, 0x6a, 0xf7, 0x6b, 0xa3, 0xc5, 0x3b, 0xed,
- 0xa2, 0x48, 0x57, 0xa2,
- 0x26, 0x7e, 0x9b, 0xfa, 0x6d, 0x81, 0xf8, 0x41, 0x94, 0x5c, 0xab, 0x29,
- 0x54, 0x78, 0xef, 0x54,
- 0x2d, 0x5b, 0x0c, 0x05, 0xac, 0x55, 0xd5, 0x97, 0x11, 0x15, 0xdd, 0x30,
- 0xd3, 0xe8, 0x41, 0xd3,
- 0xef, 0xd6, 0x3d, 0x61, 0x40, 0xbe, 0xda, 0xbd, 0x26, 0x8c, 0x4d, 0xf4,
- 0x25, 0xd8, 0xf9, 0x25,
- 0x6a, 0x82, 0x6e, 0xcd, 0xb7, 0x40, 0xcb, 0xc3, 0x7f, 0xe4, 0x3e, 0x7b,
- 0xfc, 0x88, 0xf2, 0xfc,
- 0xa8, 0x0f, 0x5f, 0xa9, 0x5b, 0xab, 0xc4, 0xe9, 0x48, 0x7d, 0xae, 0xbf,
- 0x0a, 0xb8, 0x4a, 0x0a,
- 0x7c, 0xc8, 0x83, 0xf0, 0xf6, 0x2b, 0x91, 0xac, 0xb6, 0x76, 0xd2, 0x49,
- 0x31, 0x6b, 0x6d, 0x31,
- 0xbe, 0x45, 0xb2, 0x94, 0x1a, 0xc0, 0x9e, 0x86, 0x81, 0xef, 0x42, 0x8d,
- 0xc7, 0x5b, 0xd5, 0xc7,
- 0x3b, 0x11, 0xe1, 0x38, 0xed, 0x3e, 0x8f, 0xf8, 0xd8, 0x87, 0x31, 0x02,
- 0x1e, 0x0b, 0xde, 0x1e,
- 0xf9, 0x9c, 0xd0, 0x5c, 0x01, 0xd5, 0x80, 0xd2, 0xef, 0x1e, 0xa1, 0xc6,
- 0xe8, 0x3b, 0x66, 0xe8,
- 0xf2, 0xb9, 0x47, 0xa3, 0xc0, 0x01, 0xad, 0x04, 0x6a, 0x57, 0xd7, 0xdf,
- 0x6f, 0xab, 0xc8, 0x6f,
- 0x30, 0x34, 0x76, 0xc7, 0x2c, 0xea, 0xa2, 0x2e, 0x5d, 0xce, 0x47, 0x1b,
- 0x99, 0x9b, 0x70, 0x99,
- 0xb5, 0x60, 0x25, 0x6b, 0xdb, 0x14, 0xb3, 0x50, 0x04, 0xa6, 0x34, 0x94,
- 0x40, 0xcb, 0x7b, 0x40,
- 0x77, 0xed, 0x14, 0x0f, 0x37, 0xff, 0xbc, 0x7a, 0x33, 0x3f, 0xa4, 0x50,
- 0xb6, 0xfb, 0xc3, 0xb6,
- 0xde, 0x2d, 0x5e, 0xd9, 0x42, 0xd7, 0x19, 0xda, 0x3b, 0xb0, 0xcc, 0xbb,
- 0x36, 0xae, 0x35, 0x36,
- 0x1c, 0xa0, 0x6f, 0xbd, 0xae, 0x3c, 0x16, 0xf0, 0x0c, 0x29, 0x5c, 0x7f,
- 0xc0, 0x9e, 0x8d, 0xc0,
- 0x99, 0xf4, 0x3c, 0x11, 0x59, 0xc2, 0x07, 0x8e, 0x55, 0x41, 0x2f, 0xf0,
- 0x19, 0xce, 0x86, 0x19,
- 0x5b, 0x79, 0x0d, 0x75, 0xb5, 0x29, 0x08, 0xa4, 0x62, 0xd8, 0xbf, 0x34,
- 0xef, 0xfe, 0x3e, 0xef,
- 0x50, 0x5c, 0x9a, 0x8a, 0x74, 0xfd, 0x25, 0x72, 0xe7, 0x91, 0xc9, 0x2d,
- 0x68, 0x6e, 0x90, 0x68,
- 0x92, 0xd1, 0xab, 0xee, 0x98, 0x16, 0x2a, 0x58, 0xd0, 0x08, 0x59, 0xe9,
- 0x9e, 0x5e, 0x28, 0x9e,
- 0x17, 0x85, 0xf8, 0x42, 0x6f, 0xe8, 0x3b, 0x26, 0x89, 0x60, 0x2a, 0x66,
- 0x47, 0x0e, 0x23, 0x47,
- 0xd5, 0x08, 0xc9, 0x26, 0x83, 0x03, 0x34, 0x0c, 0xbe, 0xf9, 0xba, 0xa2,
- 0xb1, 0x3e, 0x9b, 0xb1,
- 0x01, 0xcf, 0x15, 0x7f, 0x2e, 0x83, 0x61, 0x49, 0x40, 0xf2, 0xc6, 0x54,
- 0x8a, 0xed, 0xbc, 0x8a,
- 0xc3, 0x42, 0x24, 0x1b, 0xc2, 0x68, 0x6e, 0x63, 0x77, 0x6b, 0x56, 0x90,
- 0x7c, 0xdd, 0x04, 0x7c,
- 0x46, 0x16, 0x77, 0xb7, 0x35, 0x96, 0x7f, 0x1d, 0x2e, 0x03, 0x25, 0x1f,
- 0xa5, 0x8d, 0x0f, 0xa5,
- 0x84, 0x9b, 0x46, 0xd3, 0xd9, 0x7d, 0x70, 0x37, 0x19, 0x9a, 0xb5, 0xdb,
- 0x53, 0xbd, 0xb7, 0x53,
- 0x8f, 0xbe, 0xd1, 0x2c, 0x18, 0xa9, 0x5d, 0xe1, 0x9c, 0xd3, 0xc3, 0xc2,
- 0xd4, 0x2d, 0x19, 0xd4,
- 0x4d, 0x33, 0xe0, 0x48, 0xf4, 0x42, 0x52, 0xcb, 0xab, 0x4a, 0x53, 0x06,
- 0x22, 0x1d, 0xa1, 0x22,
- 0xc8, 0x67, 0xb3, 0xe4, 0x03, 0xbc, 0x43, 0xb5, 0xf2, 0x22, 0x20, 0x89,
- 0xfb, 0x4d, 0xaa, 0xfb,
- 0x0a, 0xea, 0x82, 0x80, 0xef, 0x57, 0x4c, 0x9f, 0xc5, 0xbb, 0xb0, 0x4d,
- 0x0d, 0x7d, 0x12, 0x0d,
- },
- { /* 6 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0xb4, 0xa6, 0xff, 0x39, 0x2f, 0x54, 0x6c, 0xaf, 0xeb, 0xe1, 0xd4,
- 0xd7, 0x63, 0x64, 0xbf,
- 0x43, 0xab, 0x8f, 0x3d, 0x72, 0x5e, 0xa8, 0xd8, 0x9d, 0x15, 0x01, 0x6b,
- 0x6d, 0xc6, 0xc8, 0xbd,
- 0x83, 0x1f, 0x29, 0xc2, 0x4b, 0x71, 0xfc, 0xb4, 0x32, 0xfe, 0xe0, 0xbf,
- 0xba, 0xa5, 0xac, 0x02,
- 0x86, 0x95, 0xdd, 0x7a, 0xe4, 0xbc, 0x93, 0x73, 0xf9, 0x2a, 0x02, 0xd6,
- 0xda, 0x4f, 0x53, 0xb9,
- 0x46, 0x21, 0x7b, 0x85, 0xdd, 0x93, 0xc7, 0x1f, 0x56, 0xc1, 0xe3, 0x02,
- 0x0d, 0x2c, 0x37, 0x06,
- 0xc5, 0x3e, 0x52, 0x47, 0x96, 0xe2, 0x3b, 0xab, 0x64, 0x3f, 0x03, 0xbd,
- 0xb7, 0x89, 0x9b, 0x04,
- 0x05, 0x8a, 0xf4, 0xb8, 0xaf, 0xcd, 0x6f, 0xc7, 0xcb, 0xd4, 0xe2, 0x69,
- 0x60, 0xea, 0xff, 0xbb,
- 0xcf, 0xe9, 0x79, 0xf4, 0x0b, 0xbb, 0xe5, 0xe6, 0x31, 0x54, 0x04, 0x6f,
- 0x77, 0x9e, 0xa6, 0xb1,
- 0x0f, 0x5d, 0xdf, 0x0b, 0x32, 0x94, 0xb1, 0x8a, 0x9e, 0xbf, 0xe5, 0xbb,
- 0xa0, 0xfd, 0xc2, 0x0e,
- 0x8c, 0x42, 0xf6, 0xc9, 0x79, 0xe5, 0x4d, 0x3e, 0xac, 0x41, 0x05, 0x04,
- 0x1a, 0x58, 0x6e, 0x0c,
- 0x4c, 0xf6, 0x50, 0x36, 0x40, 0xca, 0x19, 0x52, 0x03, 0xaa, 0xe4, 0xd0,
- 0xcd, 0x3b, 0x0a, 0xb3,
- 0x49, 0x7c, 0xa4, 0x8e, 0xef, 0x07, 0x76, 0x95, 0xc8, 0x7e, 0x06, 0xb9,
- 0xad, 0xd1, 0xf5, 0x08,
- 0x89, 0xc8, 0x02, 0x71, 0xd6, 0x28, 0x22, 0xf9, 0x67, 0x95, 0xe7, 0x6d,
- 0x7a, 0xb2, 0x91, 0xb7,
- 0x0a, 0xd7, 0x2b, 0xb3, 0x9d, 0x59, 0xde, 0x4d, 0x55, 0x6b, 0x07, 0xd2,
- 0xc0, 0x17, 0x3d, 0xb5,
- 0xca, 0x63, 0x8d, 0x4c, 0xa4, 0x76, 0x8a, 0x21, 0xfa, 0x80, 0xe6, 0x06,
- 0x17, 0x74, 0x59, 0x0a,
- 0x5d, 0x11, 0xf2, 0x2b, 0x16, 0xb5, 0x09, 0x0f, 0x62, 0xa8, 0x08, 0xde,
- 0xee, 0xff, 0x8f, 0xa1,
- 0x9d, 0xa5, 0x54, 0xd4, 0x2f, 0x9a, 0x5d, 0x63, 0xcd, 0x43, 0xe9, 0x0a,
- 0x39, 0x9c, 0xeb, 0x1e,
- 0x1e, 0xba, 0x7d, 0x16, 0x64, 0xeb, 0xa1, 0xd7, 0xff, 0xbd, 0x09, 0xb5,
- 0x83, 0x39, 0x47, 0x1c,
- 0xde, 0x0e, 0xdb, 0xe9, 0x5d, 0xc4, 0xf5, 0xbb, 0x50, 0x56, 0xe8, 0x61,
- 0x54, 0x5a, 0x23, 0xa3,
- 0xdb, 0x84, 0x2f, 0x51, 0xf2, 0x09, 0x9a, 0x7c, 0x9b, 0x82, 0x0a, 0x08,
- 0x34, 0xb0, 0xdc, 0x18,
- 0x1b, 0x30, 0x89, 0xae, 0xcb, 0x26, 0xce, 0x10, 0x34, 0x69, 0xeb, 0xdc,
- 0xe3, 0xd3, 0xb8, 0xa7,
- 0x98, 0x2f, 0xa0, 0x6c, 0x80, 0x57, 0x32, 0xa4, 0x06, 0x97, 0x0b, 0x63,
- 0x59, 0x76, 0x14, 0xa5,
- 0x58, 0x9b, 0x06, 0x93, 0xb9, 0x78, 0x66, 0xc8, 0xa9, 0x7c, 0xea, 0xb7,
- 0x8e, 0x15, 0x70, 0x1a,
- 0x92, 0xf8, 0x8b, 0xdf, 0x1d, 0x0e, 0xec, 0xe9, 0x53, 0xfc, 0x0c, 0xb1,
- 0x99, 0x61, 0x29, 0x10,
- 0x52, 0x4c, 0x2d, 0x20, 0x24, 0x21, 0xb8, 0x85, 0xfc, 0x17, 0xed, 0x65,
- 0x4e, 0x02, 0x4d, 0xaf,
- 0xd1, 0x53, 0x04, 0xe2, 0x6f, 0x50, 0x44, 0x31, 0xce, 0xe9, 0x0d, 0xda,
- 0xf4, 0xa7, 0xe1, 0xad,
- 0x11, 0xe7, 0xa2, 0x1d, 0x56, 0x7f, 0x10, 0x5d, 0x61, 0x02, 0xec, 0x0e,
- 0x23, 0xc4, 0x85, 0x12,
- 0x14, 0x6d, 0x56, 0xa5, 0xf9, 0xb2, 0x7f, 0x9a, 0xaa, 0xd6, 0x0e, 0x67,
- 0x43, 0x2e, 0x7a, 0xa9,
- 0xd4, 0xd9, 0xf0, 0x5a, 0xc0, 0x9d, 0x2b, 0xf6, 0x05, 0x3d, 0xef, 0xb3,
- 0x94, 0x4d, 0x1e, 0x16,
- 0x57, 0xc6, 0xd9, 0x98, 0x8b, 0xec, 0xd7, 0x42, 0x37, 0xc3, 0x0f, 0x0c,
- 0x2e, 0xe8, 0xb2, 0x14,
- 0x97, 0x72, 0x7f, 0x67, 0xb2, 0xc3, 0x83, 0x2e, 0x98, 0x28, 0xee, 0xd8,
- 0xf9, 0x8b, 0xd6, 0xab,
- 0xba, 0x22, 0x27, 0x56, 0x2c, 0xa9, 0x12, 0x1e, 0xc4, 0x93, 0x10, 0x7f,
- 0x1f, 0x3d, 0xdd, 0x81,
- 0x7a, 0x96, 0x81, 0xa9, 0x15, 0x86, 0x46, 0x72, 0x6b, 0x78, 0xf1, 0xab,
- 0xc8, 0x5e, 0xb9, 0x3e,
- 0xf9, 0x89, 0xa8, 0x6b, 0x5e, 0xf7, 0xba, 0xc6, 0x59, 0x86, 0x11, 0x14,
- 0x72, 0xfb, 0x15, 0x3c,
- 0x39, 0x3d, 0x0e, 0x94, 0x67, 0xd8, 0xee, 0xaa, 0xf6, 0x6d, 0xf0, 0xc0,
- 0xa5, 0x98, 0x71, 0x83,
- 0x3c, 0xb7, 0xfa, 0x2c, 0xc8, 0x15, 0x81, 0x6d, 0x3d, 0xb9, 0x12, 0xa9,
- 0xc5, 0x72, 0x8e, 0x38,
- 0xfc, 0x03, 0x5c, 0xd3, 0xf1, 0x3a, 0xd5, 0x01, 0x92, 0x52, 0xf3, 0x7d,
- 0x12, 0x11, 0xea, 0x87,
- 0x7f, 0x1c, 0x75, 0x11, 0xba, 0x4b, 0x29, 0xb5, 0xa0, 0xac, 0x13, 0xc2,
- 0xa8, 0xb4, 0x46, 0x85,
- 0xbf, 0xa8, 0xd3, 0xee, 0x83, 0x64, 0x7d, 0xd9, 0x0f, 0x47, 0xf2, 0x16,
- 0x7f, 0xd7, 0x22, 0x3a,
- 0x75, 0xcb, 0x5e, 0xa2, 0x27, 0x12, 0xf7, 0xf8, 0xf5, 0xc7, 0x14, 0x10,
- 0x68, 0xa3, 0x7b, 0x30,
- 0xb5, 0x7f, 0xf8, 0x5d, 0x1e, 0x3d, 0xa3, 0x94, 0x5a, 0x2c, 0xf5, 0xc4,
- 0xbf, 0xc0, 0x1f, 0x8f,
- 0x36, 0x60, 0xd1, 0x9f, 0x55, 0x4c, 0x5f, 0x20, 0x68, 0xd2, 0x15, 0x7b,
- 0x05, 0x65, 0xb3, 0x8d,
- 0xf6, 0xd4, 0x77, 0x60, 0x6c, 0x63, 0x0b, 0x4c, 0xc7, 0x39, 0xf4, 0xaf,
- 0xd2, 0x06, 0xd7, 0x32,
- 0xf3, 0x5e, 0x83, 0xd8, 0xc3, 0xae, 0x64, 0x8b, 0x0c, 0xed, 0x16, 0xc6,
- 0xb2, 0xec, 0x28, 0x89,
- 0x33, 0xea, 0x25, 0x27, 0xfa, 0x81, 0x30, 0xe7, 0xa3, 0x06, 0xf7, 0x12,
- 0x65, 0x8f, 0x4c, 0x36,
- 0xb0, 0xf5, 0x0c, 0xe5, 0xb1, 0xf0, 0xcc, 0x53, 0x91, 0xf8, 0x17, 0xad,
- 0xdf, 0x2a, 0xe0, 0x34,
- 0x70, 0x41, 0xaa, 0x1a, 0x88, 0xdf, 0x98, 0x3f, 0x3e, 0x13, 0xf6, 0x79,
- 0x08, 0x49, 0x84, 0x8b,
- 0xe7, 0x33, 0xd5, 0x7d, 0x3a, 0x1c, 0x1b, 0x11, 0xa6, 0x3b, 0x18, 0xa1,
- 0xf1, 0xc2, 0x52, 0x20,
- 0x27, 0x87, 0x73, 0x82, 0x03, 0x33, 0x4f, 0x7d, 0x09, 0xd0, 0xf9, 0x75,
- 0x26, 0xa1, 0x36, 0x9f,
- 0xa4, 0x98, 0x5a, 0x40, 0x48, 0x42, 0xb3, 0xc9, 0x3b, 0x2e, 0x19, 0xca,
- 0x9c, 0x04, 0x9a, 0x9d,
- 0x64, 0x2c, 0xfc, 0xbf, 0x71, 0x6d, 0xe7, 0xa5, 0x94, 0xc5, 0xf8, 0x1e,
- 0x4b, 0x67, 0xfe, 0x22,
- 0x61, 0xa6, 0x08, 0x07, 0xde, 0xa0, 0x88, 0x62, 0x5f, 0x11, 0x1a, 0x77,
- 0x2b, 0x8d, 0x01, 0x99,
- 0xa1, 0x12, 0xae, 0xf8, 0xe7, 0x8f, 0xdc, 0x0e, 0xf0, 0xfa, 0xfb, 0xa3,
- 0xfc, 0xee, 0x65, 0x26,
- 0x22, 0x0d, 0x87, 0x3a, 0xac, 0xfe, 0x20, 0xba, 0xc2, 0x04, 0x1b, 0x1c,
- 0x46, 0x4b, 0xc9, 0x24,
- 0xe2, 0xb9, 0x21, 0xc5, 0x95, 0xd1, 0x74, 0xd6, 0x6d, 0xef, 0xfa, 0xc8,
- 0x91, 0x28, 0xad, 0x9b,
- 0x28, 0xda, 0xac, 0x89, 0x31, 0xa7, 0xfe, 0xf7, 0x97, 0x6f, 0x1c, 0xce,
- 0x86, 0x5c, 0xf4, 0x91,
- 0xe8, 0x6e, 0x0a, 0x76, 0x08, 0x88, 0xaa, 0x9b, 0x38, 0x84, 0xfd, 0x1a,
- 0x51, 0x3f, 0x90, 0x2e,
- 0x6b, 0x71, 0x23, 0xb4, 0x43, 0xf9, 0x56, 0x2f, 0x0a, 0x7a, 0x1d, 0xa5,
- 0xeb, 0x9a, 0x3c, 0x2c,
- 0xab, 0xc5, 0x85, 0x4b, 0x7a, 0xd6, 0x02, 0x43, 0xa5, 0x91, 0xfc, 0x71,
- 0x3c, 0xf9, 0x58, 0x93,
- 0xae, 0x4f, 0x71, 0xf3, 0xd5, 0x1b, 0x6d, 0x84, 0x6e, 0x45, 0x1e, 0x18,
- 0x5c, 0x13, 0xa7, 0x28,
- 0x6e, 0xfb, 0xd7, 0x0c, 0xec, 0x34, 0x39, 0xe8, 0xc1, 0xae, 0xff, 0xcc,
- 0x8b, 0x70, 0xc3, 0x97,
- 0xed, 0xe4, 0xfe, 0xce, 0xa7, 0x45, 0xc5, 0x5c, 0xf3, 0x50, 0x1f, 0x73,
- 0x31, 0xd5, 0x6f, 0x95,
- 0x2d, 0x50, 0x58, 0x31, 0x9e, 0x6a, 0x91, 0x30, 0x5c, 0xbb, 0xfe, 0xa7,
- 0xe6, 0xb6, 0x0b, 0x2a,
- 0xb7, 0x44, 0x4e, 0xac, 0x58, 0x91, 0x24, 0x3c, 0x4b, 0xe5, 0x20, 0xfe,
- 0x3e, 0x7a, 0x79, 0xc1,
- 0x77, 0xf0, 0xe8, 0x53, 0x61, 0xbe, 0x70, 0x50, 0xe4, 0x0e, 0xc1, 0x2a,
- 0xe9, 0x19, 0x1d, 0x7e,
- 0xf4, 0xef, 0xc1, 0x91, 0x2a, 0xcf, 0x8c, 0xe4, 0xd6, 0xf0, 0x21, 0x95,
- 0x53, 0xbc, 0xb1, 0x7c,
- 0x34, 0x5b, 0x67, 0x6e, 0x13, 0xe0, 0xd8, 0x88, 0x79, 0x1b, 0xc0, 0x41,
- 0x84, 0xdf, 0xd5, 0xc3,
- 0x31, 0xd1, 0x93, 0xd6, 0xbc, 0x2d, 0xb7, 0x4f, 0xb2, 0xcf, 0x22, 0x28,
- 0xe4, 0x35, 0x2a, 0x78,
- 0xf1, 0x65, 0x35, 0x29, 0x85, 0x02, 0xe3, 0x23, 0x1d, 0x24, 0xc3, 0xfc,
- 0x33, 0x56, 0x4e, 0xc7,
- 0x72, 0x7a, 0x1c, 0xeb, 0xce, 0x73, 0x1f, 0x97, 0x2f, 0xda, 0x23, 0x43,
- 0x89, 0xf3, 0xe2, 0xc5,
- 0xb2, 0xce, 0xba, 0x14, 0xf7, 0x5c, 0x4b, 0xfb, 0x80, 0x31, 0xc2, 0x97,
- 0x5e, 0x90, 0x86, 0x7a,
- 0x78, 0xad, 0x37, 0x58, 0x53, 0x2a, 0xc1, 0xda, 0x7a, 0xb1, 0x24, 0x91,
- 0x49, 0xe4, 0xdf, 0x70,
- 0xb8, 0x19, 0x91, 0xa7, 0x6a, 0x05, 0x95, 0xb6, 0xd5, 0x5a, 0xc5, 0x45,
- 0x9e, 0x87, 0xbb, 0xcf,
- 0x3b, 0x06, 0xb8, 0x65, 0x21, 0x74, 0x69, 0x02, 0xe7, 0xa4, 0x25, 0xfa,
- 0x24, 0x22, 0x17, 0xcd,
- 0xfb, 0xb2, 0x1e, 0x9a, 0x18, 0x5b, 0x3d, 0x6e, 0x48, 0x4f, 0xc4, 0x2e,
- 0xf3, 0x41, 0x73, 0x72,
- 0xfe, 0x38, 0xea, 0x22, 0xb7, 0x96, 0x52, 0xa9, 0x83, 0x9b, 0x26, 0x47,
- 0x93, 0xab, 0x8c, 0xc9,
- 0x3e, 0x8c, 0x4c, 0xdd, 0x8e, 0xb9, 0x06, 0xc5, 0x2c, 0x70, 0xc7, 0x93,
- 0x44, 0xc8, 0xe8, 0x76,
- 0xbd, 0x93, 0x65, 0x1f, 0xc5, 0xc8, 0xfa, 0x71, 0x1e, 0x8e, 0x27, 0x2c,
- 0xfe, 0x6d, 0x44, 0x74,
- 0x7d, 0x27, 0xc3, 0xe0, 0xfc, 0xe7, 0xae, 0x1d, 0xb1, 0x65, 0xc6, 0xf8,
- 0x29, 0x0e, 0x20, 0xcb,
- 0xea, 0x55, 0xbc, 0x87, 0x4e, 0x24, 0x2d, 0x33, 0x29, 0x4d, 0x28, 0x20,
- 0xd0, 0x85, 0xf6, 0x60,
- 0x2a, 0xe1, 0x1a, 0x78, 0x77, 0x0b, 0x79, 0x5f, 0x86, 0xa6, 0xc9, 0xf4,
- 0x07, 0xe6, 0x92, 0xdf,
- 0xa9, 0xfe, 0x33, 0xba, 0x3c, 0x7a, 0x85, 0xeb, 0xb4, 0x58, 0x29, 0x4b,
- 0xbd, 0x43, 0x3e, 0xdd,
- 0x69, 0x4a, 0x95, 0x45, 0x05, 0x55, 0xd1, 0x87, 0x1b, 0xb3, 0xc8, 0x9f,
- 0x6a, 0x20, 0x5a, 0x62,
- 0x6c, 0xc0, 0x61, 0xfd, 0xaa, 0x98, 0xbe, 0x40, 0xd0, 0x67, 0x2a, 0xf6,
- 0x0a, 0xca, 0xa5, 0xd9,
- 0xac, 0x74, 0xc7, 0x02, 0x93, 0xb7, 0xea, 0x2c, 0x7f, 0x8c, 0xcb, 0x22,
- 0xdd, 0xa9, 0xc1, 0x66,
- 0x2f, 0x6b, 0xee, 0xc0, 0xd8, 0xc6, 0x16, 0x98, 0x4d, 0x72, 0x2b, 0x9d,
- 0x67, 0x0c, 0x6d, 0x64,
- 0xef, 0xdf, 0x48, 0x3f, 0xe1, 0xe9, 0x42, 0xf4, 0xe2, 0x99, 0xca, 0x49,
- 0xb0, 0x6f, 0x09, 0xdb,
- 0x25, 0xbc, 0xc5, 0x73, 0x45, 0x9f, 0xc8, 0xd5, 0x18, 0x19, 0x2c, 0x4f,
- 0xa7, 0x1b, 0x50, 0xd1,
- 0xe5, 0x08, 0x63, 0x8c, 0x7c, 0xb0, 0x9c, 0xb9, 0xb7, 0xf2, 0xcd, 0x9b,
- 0x70, 0x78, 0x34, 0x6e,
- 0x66, 0x17, 0x4a, 0x4e, 0x37, 0xc1, 0x60, 0x0d, 0x85, 0x0c, 0x2d, 0x24,
- 0xca, 0xdd, 0x98, 0x6c,
- 0xa6, 0xa3, 0xec, 0xb1, 0x0e, 0xee, 0x34, 0x61, 0x2a, 0xe7, 0xcc, 0xf0,
- 0x1d, 0xbe, 0xfc, 0xd3,
- 0xa3, 0x29, 0x18, 0x09, 0xa1, 0x23, 0x5b, 0xa6, 0xe1, 0x33, 0x2e, 0x99,
- 0x7d, 0x54, 0x03, 0x68,
- 0x63, 0x9d, 0xbe, 0xf6, 0x98, 0x0c, 0x0f, 0xca, 0x4e, 0xd8, 0xcf, 0x4d,
- 0xaa, 0x37, 0x67, 0xd7,
- 0xe0, 0x82, 0x97, 0x34, 0xd3, 0x7d, 0xf3, 0x7e, 0x7c, 0x26, 0x2f, 0xf2,
- 0x10, 0x92, 0xcb, 0xd5,
- 0x20, 0x36, 0x31, 0xcb, 0xea, 0x52, 0xa7, 0x12, 0xd3, 0xcd, 0xce, 0x26,
- 0xc7, 0xf1, 0xaf, 0x6a,
- 0x0d, 0x66, 0x69, 0xfa, 0x74, 0x38, 0x36, 0x22, 0x8f, 0x76, 0x30, 0x81,
- 0x21, 0x47, 0xa4, 0x40,
- 0xcd, 0xd2, 0xcf, 0x05, 0x4d, 0x17, 0x62, 0x4e, 0x20, 0x9d, 0xd1, 0x55,
- 0xf6, 0x24, 0xc0, 0xff,
- 0x4e, 0xcd, 0xe6, 0xc7, 0x06, 0x66, 0x9e, 0xfa, 0x12, 0x63, 0x31, 0xea,
- 0x4c, 0x81, 0x6c, 0xfd,
- 0x8e, 0x79, 0x40, 0x38, 0x3f, 0x49, 0xca, 0x96, 0xbd, 0x88, 0xd0, 0x3e,
- 0x9b, 0xe2, 0x08, 0x42,
- 0x8b, 0xf3, 0xb4, 0x80, 0x90, 0x84, 0xa5, 0x51, 0x76, 0x5c, 0x32, 0x57,
- 0xfb, 0x08, 0xf7, 0xf9,
- 0x4b, 0x47, 0x12, 0x7f, 0xa9, 0xab, 0xf1, 0x3d, 0xd9, 0xb7, 0xd3, 0x83,
- 0x2c, 0x6b, 0x93, 0x46,
- 0xc8, 0x58, 0x3b, 0xbd, 0xe2, 0xda, 0x0d, 0x89, 0xeb, 0x49, 0x33, 0x3c,
- 0x96, 0xce, 0x3f, 0x44,
- 0x08, 0xec, 0x9d, 0x42, 0xdb, 0xf5, 0x59, 0xe5, 0x44, 0xa2, 0xd2, 0xe8,
- 0x41, 0xad, 0x5b, 0xfb,
- 0xc2, 0x8f, 0x10, 0x0e, 0x7f, 0x83, 0xd3, 0xc4, 0xbe, 0x22, 0x34, 0xee,
- 0x56, 0xd9, 0x02, 0xf1,
- 0x02, 0x3b, 0xb6, 0xf1, 0x46, 0xac, 0x87, 0xa8, 0x11, 0xc9, 0xd5, 0x3a,
- 0x81, 0xba, 0x66, 0x4e,
- 0x81, 0x24, 0x9f, 0x33, 0x0d, 0xdd, 0x7b, 0x1c, 0x23, 0x37, 0x35, 0x85,
- 0x3b, 0x1f, 0xca, 0x4c,
- 0x41, 0x90, 0x39, 0xcc, 0x34, 0xf2, 0x2f, 0x70, 0x8c, 0xdc, 0xd4, 0x51,
- 0xec, 0x7c, 0xae, 0xf3,
- 0x44, 0x1a, 0xcd, 0x74, 0x9b, 0x3f, 0x40, 0xb7, 0x47, 0x08, 0x36, 0x38,
- 0x8c, 0x96, 0x51, 0x48,
- 0x84, 0xae, 0x6b, 0x8b, 0xa2, 0x10, 0x14, 0xdb, 0xe8, 0xe3, 0xd7, 0xec,
- 0x5b, 0xf5, 0x35, 0xf7,
- 0x07, 0xb1, 0x42, 0x49, 0xe9, 0x61, 0xe8, 0x6f, 0xda, 0x1d, 0x37, 0x53,
- 0xe1, 0x50, 0x99, 0xf5,
- 0xc7, 0x05, 0xe4, 0xb6, 0xd0, 0x4e, 0xbc, 0x03, 0x75, 0xf6, 0xd6, 0x87,
- 0x36, 0x33, 0xfd, 0x4a,
- 0x50, 0x77, 0x9b, 0xd1, 0x62, 0x8d, 0x3f, 0x2d, 0xed, 0xde, 0x38, 0x5f,
- 0xcf, 0xb8, 0x2b, 0xe1,
- 0x90, 0xc3, 0x3d, 0x2e, 0x5b, 0xa2, 0x6b, 0x41, 0x42, 0x35, 0xd9, 0x8b,
- 0x18, 0xdb, 0x4f, 0x5e,
- 0x13, 0xdc, 0x14, 0xec, 0x10, 0xd3, 0x97, 0xf5, 0x70, 0xcb, 0x39, 0x34,
- 0xa2, 0x7e, 0xe3, 0x5c,
- 0xd3, 0x68, 0xb2, 0x13, 0x29, 0xfc, 0xc3, 0x99, 0xdf, 0x20, 0xd8, 0xe0,
- 0x75, 0x1d, 0x87, 0xe3,
- 0xd6, 0xe2, 0x46, 0xab, 0x86, 0x31, 0xac, 0x5e, 0x14, 0xf4, 0x3a, 0x89,
- 0x15, 0xf7, 0x78, 0x58,
- 0x16, 0x56, 0xe0, 0x54, 0xbf, 0x1e, 0xf8, 0x32, 0xbb, 0x1f, 0xdb, 0x5d,
- 0xc2, 0x94, 0x1c, 0xe7,
- 0x95, 0x49, 0xc9, 0x96, 0xf4, 0x6f, 0x04, 0x86, 0x89, 0xe1, 0x3b, 0xe2,
- 0x78, 0x31, 0xb0, 0xe5,
- 0x55, 0xfd, 0x6f, 0x69, 0xcd, 0x40, 0x50, 0xea, 0x26, 0x0a, 0xda, 0x36,
- 0xaf, 0x52, 0xd4, 0x5a,
- 0x9f, 0x9e, 0xe2, 0x25, 0x69, 0x36, 0xda, 0xcb, 0xdc, 0x8a, 0x3c, 0x30,
- 0xb8, 0x26, 0x8d, 0x50,
- 0x5f, 0x2a, 0x44, 0xda, 0x50, 0x19, 0x8e, 0xa7, 0x73, 0x61, 0xdd, 0xe4,
- 0x6f, 0x45, 0xe9, 0xef,
- 0xdc, 0x35, 0x6d, 0x18, 0x1b, 0x68, 0x72, 0x13, 0x41, 0x9f, 0x3d, 0x5b,
- 0xd5, 0xe0, 0x45, 0xed,
- 0x1c, 0x81, 0xcb, 0xe7, 0x22, 0x47, 0x26, 0x7f, 0xee, 0x74, 0xdc, 0x8f,
- 0x02, 0x83, 0x21, 0x52,
- 0x19, 0x0b, 0x3f, 0x5f, 0x8d, 0x8a, 0x49, 0xb8, 0x25, 0xa0, 0x3e, 0xe6,
- 0x62, 0x69, 0xde, 0xe9,
- 0xd9, 0xbf, 0x99, 0xa0, 0xb4, 0xa5, 0x1d, 0xd4, 0x8a, 0x4b, 0xdf, 0x32,
- 0xb5, 0x0a, 0xba, 0x56,
- 0x5a, 0xa0, 0xb0, 0x62, 0xff, 0xd4, 0xe1, 0x60, 0xb8, 0xb5, 0x3f, 0x8d,
- 0x0f, 0xaf, 0x16, 0x54,
- 0x9a, 0x14, 0x16, 0x9d, 0xc6, 0xfb, 0xb5, 0x0c, 0x17, 0x5e, 0xde, 0x59,
- 0xd8, 0xcc, 0x72, 0xeb,
- 0xad, 0x88, 0x9c, 0x9b, 0xb0, 0xe1, 0x48, 0x78, 0x96, 0x09, 0x40, 0x3f,
- 0x7c, 0xf4, 0xf2, 0x41,
- 0x6d, 0x3c, 0x3a, 0x64, 0x89, 0xce, 0x1c, 0x14, 0x39, 0xe2, 0xa1, 0xeb,
- 0xab, 0x97, 0x96, 0xfe,
- 0xee, 0x23, 0x13, 0xa6, 0xc2, 0xbf, 0xe0, 0xa0, 0x0b, 0x1c, 0x41, 0x54,
- 0x11, 0x32, 0x3a, 0xfc,
- 0x2e, 0x97, 0xb5, 0x59, 0xfb, 0x90, 0xb4, 0xcc, 0xa4, 0xf7, 0xa0, 0x80,
- 0xc6, 0x51, 0x5e, 0x43,
- 0x2b, 0x1d, 0x41, 0xe1, 0x54, 0x5d, 0xdb, 0x0b, 0x6f, 0x23, 0x42, 0xe9,
- 0xa6, 0xbb, 0xa1, 0xf8,
- 0xeb, 0xa9, 0xe7, 0x1e, 0x6d, 0x72, 0x8f, 0x67, 0xc0, 0xc8, 0xa3, 0x3d,
- 0x71, 0xd8, 0xc5, 0x47,
- 0x68, 0xb6, 0xce, 0xdc, 0x26, 0x03, 0x73, 0xd3, 0xf2, 0x36, 0x43, 0x82,
- 0xcb, 0x7d, 0x69, 0x45,
- 0xa8, 0x02, 0x68, 0x23, 0x1f, 0x2c, 0x27, 0xbf, 0x5d, 0xdd, 0xa2, 0x56,
- 0x1c, 0x1e, 0x0d, 0xfa,
- 0x62, 0x61, 0xe5, 0x6f, 0xbb, 0x5a, 0xad, 0x9e, 0xa7, 0x5d, 0x44, 0x50,
- 0x0b, 0x6a, 0x54, 0xf0,
- 0xa2, 0xd5, 0x43, 0x90, 0x82, 0x75, 0xf9, 0xf2, 0x08, 0xb6, 0xa5, 0x84,
- 0xdc, 0x09, 0x30, 0x4f,
- 0x21, 0xca, 0x6a, 0x52, 0xc9, 0x04, 0x05, 0x46, 0x3a, 0x48, 0x45, 0x3b,
- 0x66, 0xac, 0x9c, 0x4d,
- 0xe1, 0x7e, 0xcc, 0xad, 0xf0, 0x2b, 0x51, 0x2a, 0x95, 0xa3, 0xa4, 0xef,
- 0xb1, 0xcf, 0xf8, 0xf2,
- 0xe4, 0xf4, 0x38, 0x15, 0x5f, 0xe6, 0x3e, 0xed, 0x5e, 0x77, 0x46, 0x86,
- 0xd1, 0x25, 0x07, 0x49,
- 0x24, 0x40, 0x9e, 0xea, 0x66, 0xc9, 0x6a, 0x81, 0xf1, 0x9c, 0xa7, 0x52,
- 0x06, 0x46, 0x63, 0xf6,
- 0xa7, 0x5f, 0xb7, 0x28, 0x2d, 0xb8, 0x96, 0x35, 0xc3, 0x62, 0x47, 0xed,
- 0xbc, 0xe3, 0xcf, 0xf4,
- 0x67, 0xeb, 0x11, 0xd7, 0x14, 0x97, 0xc2, 0x59, 0x6c, 0x89, 0xa6, 0x39,
- 0x6b, 0x80, 0xab, 0x4b,
- 0xf0, 0x99, 0x6e, 0xb0, 0xa6, 0x54, 0x41, 0x77, 0xf4, 0xa1, 0x48, 0xe1,
- 0x92, 0x0b, 0x7d, 0xe0,
- 0x30, 0x2d, 0xc8, 0x4f, 0x9f, 0x7b, 0x15, 0x1b, 0x5b, 0x4a, 0xa9, 0x35,
- 0x45, 0x68, 0x19, 0x5f,
- 0xb3, 0x32, 0xe1, 0x8d, 0xd4, 0x0a, 0xe9, 0xaf, 0x69, 0xb4, 0x49, 0x8a,
- 0xff, 0xcd, 0xb5, 0x5d,
- 0x73, 0x86, 0x47, 0x72, 0xed, 0x25, 0xbd, 0xc3, 0xc6, 0x5f, 0xa8, 0x5e,
- 0x28, 0xae, 0xd1, 0xe2,
- 0x76, 0x0c, 0xb3, 0xca, 0x42, 0xe8, 0xd2, 0x04, 0x0d, 0x8b, 0x4a, 0x37,
- 0x48, 0x44, 0x2e, 0x59,
- 0xb6, 0xb8, 0x15, 0x35, 0x7b, 0xc7, 0x86, 0x68, 0xa2, 0x60, 0xab, 0xe3,
- 0x9f, 0x27, 0x4a, 0xe6,
- 0x35, 0xa7, 0x3c, 0xf7, 0x30, 0xb6, 0x7a, 0xdc, 0x90, 0x9e, 0x4b, 0x5c,
- 0x25, 0x82, 0xe6, 0xe4,
- 0xf5, 0x13, 0x9a, 0x08, 0x09, 0x99, 0x2e, 0xb0, 0x3f, 0x75, 0xaa, 0x88,
- 0xf2, 0xe1, 0x82, 0x5b,
- 0x3f, 0x70, 0x17, 0x44, 0xad, 0xef, 0xa4, 0x91, 0xc5, 0xf5, 0x4c, 0x8e,
- 0xe5, 0x95, 0xdb, 0x51,
- 0xff, 0xc4, 0xb1, 0xbb, 0x94, 0xc0, 0xf0, 0xfd, 0x6a, 0x1e, 0xad, 0x5a,
- 0x32, 0xf6, 0xbf, 0xee,
- 0x7c, 0xdb, 0x98, 0x79, 0xdf, 0xb1, 0x0c, 0x49, 0x58, 0xe0, 0x4d, 0xe5,
- 0x88, 0x53, 0x13, 0xec,
- 0xbc, 0x6f, 0x3e, 0x86, 0xe6, 0x9e, 0x58, 0x25, 0xf7, 0x0b, 0xac, 0x31,
- 0x5f, 0x30, 0x77, 0x53,
- 0xb9, 0xe5, 0xca, 0x3e, 0x49, 0x53, 0x37, 0xe2, 0x3c, 0xdf, 0x4e, 0x58,
- 0x3f, 0xda, 0x88, 0xe8,
- 0x79, 0x51, 0x6c, 0xc1, 0x70, 0x7c, 0x63, 0x8e, 0x93, 0x34, 0xaf, 0x8c,
- 0xe8, 0xb9, 0xec, 0x57,
- 0xfa, 0x4e, 0x45, 0x03, 0x3b, 0x0d, 0x9f, 0x3a, 0xa1, 0xca, 0x4f, 0x33,
- 0x52, 0x1c, 0x40, 0x55,
- 0x3a, 0xfa, 0xe3, 0xfc, 0x02, 0x22, 0xcb, 0x56, 0x0e, 0x21, 0xae, 0xe7,
- 0x85, 0x7f, 0x24, 0xea,
- 0x17, 0xaa, 0xbb, 0xcd, 0x9c, 0x48, 0x5a, 0x66, 0x52, 0x9a, 0x50, 0x40,
- 0x63, 0xc9, 0x2f, 0xc0,
- 0xd7, 0x1e, 0x1d, 0x32, 0xa5, 0x67, 0x0e, 0x0a, 0xfd, 0x71, 0xb1, 0x94,
- 0xb4, 0xaa, 0x4b, 0x7f,
- 0x54, 0x01, 0x34, 0xf0, 0xee, 0x16, 0xf2, 0xbe, 0xcf, 0x8f, 0x51, 0x2b,
- 0x0e, 0x0f, 0xe7, 0x7d,
- 0x94, 0xb5, 0x92, 0x0f, 0xd7, 0x39, 0xa6, 0xd2, 0x60, 0x64, 0xb0, 0xff,
- 0xd9, 0x6c, 0x83, 0xc2,
- 0x91, 0x3f, 0x66, 0xb7, 0x78, 0xf4, 0xc9, 0x15, 0xab, 0xb0, 0x52, 0x96,
- 0xb9, 0x86, 0x7c, 0x79,
- 0x51, 0x8b, 0xc0, 0x48, 0x41, 0xdb, 0x9d, 0x79, 0x04, 0x5b, 0xb3, 0x42,
- 0x6e, 0xe5, 0x18, 0xc6,
- 0xd2, 0x94, 0xe9, 0x8a, 0x0a, 0xaa, 0x61, 0xcd, 0x36, 0xa5, 0x53, 0xfd,
- 0xd4, 0x40, 0xb4, 0xc4,
- 0x12, 0x20, 0x4f, 0x75, 0x33, 0x85, 0x35, 0xa1, 0x99, 0x4e, 0xb2, 0x29,
- 0x03, 0x23, 0xd0, 0x7b,
- 0xd8, 0x43, 0xc2, 0x39, 0x97, 0xf3, 0xbf, 0x80, 0x63, 0xce, 0x54, 0x2f,
- 0x14, 0x57, 0x89, 0x71,
- 0x18, 0xf7, 0x64, 0xc6, 0xae, 0xdc, 0xeb, 0xec, 0xcc, 0x25, 0xb5, 0xfb,
- 0xc3, 0x34, 0xed, 0xce,
- 0x9b, 0xe8, 0x4d, 0x04, 0xe5, 0xad, 0x17, 0x58, 0xfe, 0xdb, 0x55, 0x44,
- 0x79, 0x91, 0x41, 0xcc,
- 0x5b, 0x5c, 0xeb, 0xfb, 0xdc, 0x82, 0x43, 0x34, 0x51, 0x30, 0xb4, 0x90,
- 0xae, 0xf2, 0x25, 0x73,
- 0x5e, 0xd6, 0x1f, 0x43, 0x73, 0x4f, 0x2c, 0xf3, 0x9a, 0xe4, 0x56, 0xf9,
- 0xce, 0x18, 0xda, 0xc8,
- 0x9e, 0x62, 0xb9, 0xbc, 0x4a, 0x60, 0x78, 0x9f, 0x35, 0x0f, 0xb7, 0x2d,
- 0x19, 0x7b, 0xbe, 0x77,
- 0x1d, 0x7d, 0x90, 0x7e, 0x01, 0x11, 0x84, 0x2b, 0x07, 0xf1, 0x57, 0x92,
- 0xa3, 0xde, 0x12, 0x75,
- 0xdd, 0xc9, 0x36, 0x81, 0x38, 0x3e, 0xd0, 0x47, 0xa8, 0x1a, 0xb6, 0x46,
- 0x74, 0xbd, 0x76, 0xca,
- 0x4a, 0xbb, 0x49, 0xe6, 0x8a, 0xfd, 0x53, 0x69, 0x30, 0x32, 0x58, 0x9e,
- 0x8d, 0x36, 0xa0, 0x61,
- 0x8a, 0x0f, 0xef, 0x19, 0xb3, 0xd2, 0x07, 0x05, 0x9f, 0xd9, 0xb9, 0x4a,
- 0x5a, 0x55, 0xc4, 0xde,
- 0x09, 0x10, 0xc6, 0xdb, 0xf8, 0xa3, 0xfb, 0xb1, 0xad, 0x27, 0x59, 0xf5,
- 0xe0, 0xf0, 0x68, 0xdc,
- 0xc9, 0xa4, 0x60, 0x24, 0xc1, 0x8c, 0xaf, 0xdd, 0x02, 0xcc, 0xb8, 0x21,
- 0x37, 0x93, 0x0c, 0x63,
- 0xcc, 0x2e, 0x94, 0x9c, 0x6e, 0x41, 0xc0, 0x1a, 0xc9, 0x18, 0x5a, 0x48,
- 0x57, 0x79, 0xf3, 0xd8,
- 0x0c, 0x9a, 0x32, 0x63, 0x57, 0x6e, 0x94, 0x76, 0x66, 0xf3, 0xbb, 0x9c,
- 0x80, 0x1a, 0x97, 0x67,
- 0x8f, 0x85, 0x1b, 0xa1, 0x1c, 0x1f, 0x68, 0xc2, 0x54, 0x0d, 0x5b, 0x23,
- 0x3a, 0xbf, 0x3b, 0x65,
- 0x4f, 0x31, 0xbd, 0x5e, 0x25, 0x30, 0x3c, 0xae, 0xfb, 0xe6, 0xba, 0xf7,
- 0xed, 0xdc, 0x5f, 0xda,
- 0x85, 0x52, 0x30, 0x12, 0x81, 0x46, 0xb6, 0x8f, 0x01, 0x66, 0x5c, 0xf1,
- 0xfa, 0xa8, 0x06, 0xd0,
- 0x45, 0xe6, 0x96, 0xed, 0xb8, 0x69, 0xe2, 0xe3, 0xae, 0x8d, 0xbd, 0x25,
- 0x2d, 0xcb, 0x62, 0x6f,
- 0xc6, 0xf9, 0xbf, 0x2f, 0xf3, 0x18, 0x1e, 0x57, 0x9c, 0x73, 0x5d, 0x9a,
- 0x97, 0x6e, 0xce, 0x6d,
- 0x06, 0x4d, 0x19, 0xd0, 0xca, 0x37, 0x4a, 0x3b, 0x33, 0x98, 0xbc, 0x4e,
- 0x40, 0x0d, 0xaa, 0xd2,
- 0x03, 0xc7, 0xed, 0x68, 0x65, 0xfa, 0x25, 0xfc, 0xf8, 0x4c, 0x5e, 0x27,
- 0x20, 0xe7, 0x55, 0x69,
- 0xc3, 0x73, 0x4b, 0x97, 0x5c, 0xd5, 0x71, 0x90, 0x57, 0xa7, 0xbf, 0xf3,
- 0xf7, 0x84, 0x31, 0xd6,
- 0x40, 0x6c, 0x62, 0x55, 0x17, 0xa4, 0x8d, 0x24, 0x65, 0x59, 0x5f, 0x4c,
- 0x4d, 0x21, 0x9d, 0xd4,
- 0x80, 0xd8, 0xc4, 0xaa, 0x2e, 0x8b, 0xd9, 0x48, 0xca, 0xb2, 0xbe, 0x98,
- 0x9a, 0x42, 0xf9, 0x6b,
- 0x1a, 0xcc, 0xd2, 0x37, 0xe8, 0x70, 0x6c, 0x44, 0xdd, 0xec, 0x60, 0xc1,
- 0x42, 0x8e, 0x8b, 0x80,
- 0xda, 0x78, 0x74, 0xc8, 0xd1, 0x5f, 0x38, 0x28, 0x72, 0x07, 0x81, 0x15,
- 0x95, 0xed, 0xef, 0x3f,
- 0x59, 0x67, 0x5d, 0x0a, 0x9a, 0x2e, 0xc4, 0x9c, 0x40, 0xf9, 0x61, 0xaa,
- 0x2f, 0x48, 0x43, 0x3d,
- 0x99, 0xd3, 0xfb, 0xf5, 0xa3, 0x01, 0x90, 0xf0, 0xef, 0x12, 0x80, 0x7e,
- 0xf8, 0x2b, 0x27, 0x82,
- 0x9c, 0x59, 0x0f, 0x4d, 0x0c, 0xcc, 0xff, 0x37, 0x24, 0xc6, 0x62, 0x17,
- 0x98, 0xc1, 0xd8, 0x39,
- 0x5c, 0xed, 0xa9, 0xb2, 0x35, 0xe3, 0xab, 0x5b, 0x8b, 0x2d, 0x83, 0xc3,
- 0x4f, 0xa2, 0xbc, 0x86,
- 0xdf, 0xf2, 0x80, 0x70, 0x7e, 0x92, 0x57, 0xef, 0xb9, 0xd3, 0x63, 0x7c,
- 0xf5, 0x07, 0x10, 0x84,
- 0x1f, 0x46, 0x26, 0x8f, 0x47, 0xbd, 0x03, 0x83, 0x16, 0x38, 0x82, 0xa8,
- 0x22, 0x64, 0x74, 0x3b,
- 0xd5, 0x25, 0xab, 0xc3, 0xe3, 0xcb, 0x89, 0xa2, 0xec, 0xb8, 0x64, 0xae,
- 0x35, 0x10, 0x2d, 0x31,
- 0x15, 0x91, 0x0d, 0x3c, 0xda, 0xe4, 0xdd, 0xce, 0x43, 0x53, 0x85, 0x7a,
- 0xe2, 0x73, 0x49, 0x8e,
- 0x96, 0x8e, 0x24, 0xfe, 0x91, 0x95, 0x21, 0x7a, 0x71, 0xad, 0x65, 0xc5,
- 0x58, 0xd6, 0xe5, 0x8c,
- 0x56, 0x3a, 0x82, 0x01, 0xa8, 0xba, 0x75, 0x16, 0xde, 0x46, 0x84, 0x11,
- 0x8f, 0xb5, 0x81, 0x33,
- 0x53, 0xb0, 0x76, 0xb9, 0x07, 0x77, 0x1a, 0xd1, 0x15, 0x92, 0x66, 0x78,
- 0xef, 0x5f, 0x7e, 0x88,
- 0x93, 0x04, 0xd0, 0x46, 0x3e, 0x58, 0x4e, 0xbd, 0xba, 0x79, 0x87, 0xac,
- 0x38, 0x3c, 0x1a, 0x37,
- 0x10, 0x1b, 0xf9, 0x84, 0x75, 0x29, 0xb2, 0x09, 0x88, 0x87, 0x67, 0x13,
- 0x82, 0x99, 0xb6, 0x35,
- 0xd0, 0xaf, 0x5f, 0x7b, 0x4c, 0x06, 0xe6, 0x65, 0x27, 0x6c, 0x86, 0xc7,
- 0x55, 0xfa, 0xd2, 0x8a,
- 0x47, 0xdd, 0x20, 0x1c, 0xfe, 0xc5, 0x65, 0x4b, 0xbf, 0x44, 0x68, 0x1f,
- 0xac, 0x71, 0x04, 0x21,
- 0x87, 0x69, 0x86, 0xe3, 0xc7, 0xea, 0x31, 0x27, 0x10, 0xaf, 0x89, 0xcb,
- 0x7b, 0x12, 0x60, 0x9e,
- 0x04, 0x76, 0xaf, 0x21, 0x8c, 0x9b, 0xcd, 0x93, 0x22, 0x51, 0x69, 0x74,
- 0xc1, 0xb7, 0xcc, 0x9c,
- 0xc4, 0xc2, 0x09, 0xde, 0xb5, 0xb4, 0x99, 0xff, 0x8d, 0xba, 0x88, 0xa0,
- 0x16, 0xd4, 0xa8, 0x23,
- 0xc1, 0x48, 0xfd, 0x66, 0x1a, 0x79, 0xf6, 0x38, 0x46, 0x6e, 0x6a, 0xc9,
- 0x76, 0x3e, 0x57, 0x98,
- 0x01, 0xfc, 0x5b, 0x99, 0x23, 0x56, 0xa2, 0x54, 0xe9, 0x85, 0x8b, 0x1d,
- 0xa1, 0x5d, 0x33, 0x27,
- 0x82, 0xe3, 0x72, 0x5b, 0x68, 0x27, 0x5e, 0xe0, 0xdb, 0x7b, 0x6b, 0xa2,
- 0x1b, 0xf8, 0x9f, 0x25,
- 0x42, 0x57, 0xd4, 0xa4, 0x51, 0x08, 0x0a, 0x8c, 0x74, 0x90, 0x8a, 0x76,
- 0xcc, 0x9b, 0xfb, 0x9a,
- 0x88, 0x34, 0x59, 0xe8, 0xf5, 0x7e, 0x80, 0xad, 0x8e, 0x10, 0x6c, 0x70,
- 0xdb, 0xef, 0xa2, 0x90,
- 0x48, 0x80, 0xff, 0x17, 0xcc, 0x51, 0xd4, 0xc1, 0x21, 0xfb, 0x8d, 0xa4,
- 0x0c, 0x8c, 0xc6, 0x2f,
- 0xcb, 0x9f, 0xd6, 0xd5, 0x87, 0x20, 0x28, 0x75, 0x13, 0x05, 0x6d, 0x1b,
- 0xb6, 0x29, 0x6a, 0x2d,
- 0x0b, 0x2b, 0x70, 0x2a, 0xbe, 0x0f, 0x7c, 0x19, 0xbc, 0xee, 0x8c, 0xcf,
- 0x61, 0x4a, 0x0e, 0x92,
- 0x0e, 0xa1, 0x84, 0x92, 0x11, 0xc2, 0x13, 0xde, 0x77, 0x3a, 0x6e, 0xa6,
- 0x01, 0xa0, 0xf1, 0x29,
- 0xce, 0x15, 0x22, 0x6d, 0x28, 0xed, 0x47, 0xb2, 0xd8, 0xd1, 0x8f, 0x72,
- 0xd6, 0xc3, 0x95, 0x96,
- 0x4d, 0x0a, 0x0b, 0xaf, 0x63, 0x9c, 0xbb, 0x06, 0xea, 0x2f, 0x6f, 0xcd,
- 0x6c, 0x66, 0x39, 0x94,
- 0x8d, 0xbe, 0xad, 0x50, 0x5a, 0xb3, 0xef, 0x6a, 0x45, 0xc4, 0x8e, 0x19,
- 0xbb, 0x05, 0x5d, 0x2b,
- 0xa0, 0xee, 0xf5, 0x61, 0xc4, 0xd9, 0x7e, 0x5a, 0x19, 0x7f, 0x70, 0xbe,
- 0x5d, 0xb3, 0x56, 0x01,
- 0x60, 0x5a, 0x53, 0x9e, 0xfd, 0xf6, 0x2a, 0x36, 0xb6, 0x94, 0x91, 0x6a,
- 0x8a, 0xd0, 0x32, 0xbe,
- 0xe3, 0x45, 0x7a, 0x5c, 0xb6, 0x87, 0xd6, 0x82, 0x84, 0x6a, 0x71, 0xd5,
- 0x30, 0x75, 0x9e, 0xbc,
- 0x23, 0xf1, 0xdc, 0xa3, 0x8f, 0xa8, 0x82, 0xee, 0x2b, 0x81, 0x90, 0x01,
- 0xe7, 0x16, 0xfa, 0x03,
- 0x26, 0x7b, 0x28, 0x1b, 0x20, 0x65, 0xed, 0x29, 0xe0, 0x55, 0x72, 0x68,
- 0x87, 0xfc, 0x05, 0xb8,
- 0xe6, 0xcf, 0x8e, 0xe4, 0x19, 0x4a, 0xb9, 0x45, 0x4f, 0xbe, 0x93, 0xbc,
- 0x50, 0x9f, 0x61, 0x07,
- 0x65, 0xd0, 0xa7, 0x26, 0x52, 0x3b, 0x45, 0xf1, 0x7d, 0x40, 0x73, 0x03,
- 0xea, 0x3a, 0xcd, 0x05,
- 0xa5, 0x64, 0x01, 0xd9, 0x6b, 0x14, 0x11, 0x9d, 0xd2, 0xab, 0x92, 0xd7,
- 0x3d, 0x59, 0xa9, 0xba,
- 0x6f, 0x07, 0x8c, 0x95, 0xcf, 0x62, 0x9b, 0xbc, 0x28, 0x2b, 0x74, 0xd1,
- 0x2a, 0x2d, 0xf0, 0xb0,
- 0xaf, 0xb3, 0x2a, 0x6a, 0xf6, 0x4d, 0xcf, 0xd0, 0x87, 0xc0, 0x95, 0x05,
- 0xfd, 0x4e, 0x94, 0x0f,
- 0x2c, 0xac, 0x03, 0xa8, 0xbd, 0x3c, 0x33, 0x64, 0xb5, 0x3e, 0x75, 0xba,
- 0x47, 0xeb, 0x38, 0x0d,
- 0xec, 0x18, 0xa5, 0x57, 0x84, 0x13, 0x67, 0x08, 0x1a, 0xd5, 0x94, 0x6e,
- 0x90, 0x88, 0x5c, 0xb2,
- 0xe9, 0x92, 0x51, 0xef, 0x2b, 0xde, 0x08, 0xcf, 0xd1, 0x01, 0x76, 0x07,
- 0xf0, 0x62, 0xa3, 0x09,
- 0x29, 0x26, 0xf7, 0x10, 0x12, 0xf1, 0x5c, 0xa3, 0x7e, 0xea, 0x97, 0xd3,
- 0x27, 0x01, 0xc7, 0xb6,
- 0xaa, 0x39, 0xde, 0xd2, 0x59, 0x80, 0xa0, 0x17, 0x4c, 0x14, 0x77, 0x6c,
- 0x9d, 0xa4, 0x6b, 0xb4,
- 0x6a, 0x8d, 0x78, 0x2d, 0x60, 0xaf, 0xf4, 0x7b, 0xe3, 0xff, 0x96, 0xb8,
- 0x4a, 0xc7, 0x0f, 0x0b,
- 0xfd, 0xff, 0x07, 0x4a, 0xd2, 0x6c, 0x77, 0x55, 0x7b, 0xd7, 0x78, 0x60,
- 0xb3, 0x4c, 0xd9, 0xa0,
- 0x3d, 0x4b, 0xa1, 0xb5, 0xeb, 0x43, 0x23, 0x39, 0xd4, 0x3c, 0x99, 0xb4,
- 0x64, 0x2f, 0xbd, 0x1f,
- 0xbe, 0x54, 0x88, 0x77, 0xa0, 0x32, 0xdf, 0x8d, 0xe6, 0xc2, 0x79, 0x0b,
- 0xde, 0x8a, 0x11, 0x1d,
- 0x7e, 0xe0, 0x2e, 0x88, 0x99, 0x1d, 0x8b, 0xe1, 0x49, 0x29, 0x98, 0xdf,
- 0x09, 0xe9, 0x75, 0xa2,
- 0x7b, 0x6a, 0xda, 0x30, 0x36, 0xd0, 0xe4, 0x26, 0x82, 0xfd, 0x7a, 0xb6,
- 0x69, 0x03, 0x8a, 0x19,
- 0xbb, 0xde, 0x7c, 0xcf, 0x0f, 0xff, 0xb0, 0x4a, 0x2d, 0x16, 0x9b, 0x62,
- 0xbe, 0x60, 0xee, 0xa6,
- 0x38, 0xc1, 0x55, 0x0d, 0x44, 0x8e, 0x4c, 0xfe, 0x1f, 0xe8, 0x7b, 0xdd,
- 0x04, 0xc5, 0x42, 0xa4,
- 0xf8, 0x75, 0xf3, 0xf2, 0x7d, 0xa1, 0x18, 0x92, 0xb0, 0x03, 0x9a, 0x09,
- 0xd3, 0xa6, 0x26, 0x1b,
- 0x32, 0x16, 0x7e, 0xbe, 0xd9, 0xd7, 0x92, 0xb3, 0x4a, 0x83, 0x7c, 0x0f,
- 0xc4, 0xd2, 0x7f, 0x11,
- 0xf2, 0xa2, 0xd8, 0x41, 0xe0, 0xf8, 0xc6, 0xdf, 0xe5, 0x68, 0x9d, 0xdb,
- 0x13, 0xb1, 0x1b, 0xae,
- 0x71, 0xbd, 0xf1, 0x83, 0xab, 0x89, 0x3a, 0x6b, 0xd7, 0x96, 0x7d, 0x64,
- 0xa9, 0x14, 0xb7, 0xac,
- 0xb1, 0x09, 0x57, 0x7c, 0x92, 0xa6, 0x6e, 0x07, 0x78, 0x7d, 0x9c, 0xb0,
- 0x7e, 0x77, 0xd3, 0x13,
- 0xb4, 0x83, 0xa3, 0xc4, 0x3d, 0x6b, 0x01, 0xc0, 0xb3, 0xa9, 0x7e, 0xd9,
- 0x1e, 0x9d, 0x2c, 0xa8,
- 0x74, 0x37, 0x05, 0x3b, 0x04, 0x44, 0x55, 0xac, 0x1c, 0x42, 0x9f, 0x0d,
- 0xc9, 0xfe, 0x48, 0x17,
- 0xf7, 0x28, 0x2c, 0xf9, 0x4f, 0x35, 0xa9, 0x18, 0x2e, 0xbc, 0x7f, 0xb2,
- 0x73, 0x5b, 0xe4, 0x15,
- 0x37, 0x9c, 0x8a, 0x06, 0x76, 0x1a, 0xfd, 0x74, 0x81, 0x57, 0x9e, 0x66,
- 0xa4, 0x38, 0x80, 0xaa,
- },
- { /* 7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x54, 0x30, 0x7b, 0xef, 0x84, 0x08, 0x09, 0xd4, 0xd5, 0xa3, 0x8d,
- 0xa6, 0xa1, 0xc1, 0x0a,
- 0x02, 0xa8, 0x60, 0xf6, 0x1d, 0xcb, 0x10, 0x12, 0x6b, 0x69, 0x85, 0xd9,
- 0x8f, 0x81, 0x41, 0x14,
- 0x03, 0xfc, 0x50, 0x8d, 0xf2, 0x4f, 0x18, 0x1b, 0xbf, 0xbc, 0x26, 0x54,
- 0x29, 0x20, 0x80, 0x1e,
- 0x04, 0x93, 0xc0, 0x2f, 0x3a, 0x55, 0x20, 0x24, 0xd6, 0xd2, 0xc9, 0x71,
- 0xdd, 0xc1, 0x82, 0x28,
- 0x05, 0xc7, 0xf0, 0x54, 0xd5, 0xd1, 0x28, 0x2d, 0x02, 0x07, 0x6a, 0xfc,
- 0x7b, 0x60, 0x43, 0x22,
- 0x06, 0x3b, 0xa0, 0xd9, 0x27, 0x9e, 0x30, 0x36, 0xbd, 0xbb, 0x4c, 0xa8,
- 0x52, 0x40, 0xc3, 0x3c,
- 0x07, 0x6f, 0x90, 0xa2, 0xc8, 0x1a, 0x38, 0x3f, 0x69, 0x6e, 0xef, 0x25,
- 0xf4, 0xe1, 0x02, 0x36,
- 0x08, 0xe5, 0x43, 0x5e, 0x74, 0xaa, 0x40, 0x48, 0x6f, 0x67, 0x51, 0xe2,
- 0x79, 0x41, 0xc7, 0x50,
- 0x09, 0xb1, 0x73, 0x25, 0x9b, 0x2e, 0x48, 0x41, 0xbb, 0xb2, 0xf2, 0x6f,
- 0xdf, 0xe0, 0x06, 0x5a,
- 0x0a, 0x4d, 0x23, 0xa8, 0x69, 0x61, 0x50, 0x5a, 0x04, 0x0e, 0xd4, 0x3b,
- 0xf6, 0xc0, 0x86, 0x44,
- 0x0b, 0x19, 0x13, 0xd3, 0x86, 0xe5, 0x58, 0x53, 0xd0, 0xdb, 0x77, 0xb6,
- 0x50, 0x61, 0x47, 0x4e,
- 0x0c, 0x76, 0x83, 0x71, 0x4e, 0xff, 0x60, 0x6c, 0xb9, 0xb5, 0x98, 0x93,
- 0xa4, 0x80, 0x45, 0x78,
- 0x0d, 0x22, 0xb3, 0x0a, 0xa1, 0x7b, 0x68, 0x65, 0x6d, 0x60, 0x3b, 0x1e,
- 0x02, 0x21, 0x84, 0x72,
- 0x0e, 0xde, 0xe3, 0x87, 0x53, 0x34, 0x70, 0x7e, 0xd2, 0xdc, 0x1d, 0x4a,
- 0x2b, 0x01, 0x04, 0x6c,
- 0x0f, 0x8a, 0xd3, 0xfc, 0xbc, 0xb0, 0x78, 0x77, 0x06, 0x09, 0xbe, 0xc7,
- 0x8d, 0xa0, 0xc5, 0x66,
- 0x10, 0x09, 0x86, 0xbc, 0xe8, 0x97, 0x80, 0x90, 0xde, 0xce, 0xa2, 0x07,
- 0xf2, 0x82, 0x4d, 0xa0,
- 0x11, 0x5d, 0xb6, 0xc7, 0x07, 0x13, 0x88, 0x99, 0x0a, 0x1b, 0x01, 0x8a,
- 0x54, 0x23, 0x8c, 0xaa,
- 0x12, 0xa1, 0xe6, 0x4a, 0xf5, 0x5c, 0x90, 0x82, 0xb5, 0xa7, 0x27, 0xde,
- 0x7d, 0x03, 0x0c, 0xb4,
- 0x13, 0xf5, 0xd6, 0x31, 0x1a, 0xd8, 0x98, 0x8b, 0x61, 0x72, 0x84, 0x53,
- 0xdb, 0xa2, 0xcd, 0xbe,
- 0x14, 0x9a, 0x46, 0x93, 0xd2, 0xc2, 0xa0, 0xb4, 0x08, 0x1c, 0x6b, 0x76,
- 0x2f, 0x43, 0xcf, 0x88,
- 0x15, 0xce, 0x76, 0xe8, 0x3d, 0x46, 0xa8, 0xbd, 0xdc, 0xc9, 0xc8, 0xfb,
- 0x89, 0xe2, 0x0e, 0x82,
- 0x16, 0x32, 0x26, 0x65, 0xcf, 0x09, 0xb0, 0xa6, 0x63, 0x75, 0xee, 0xaf,
- 0xa0, 0xc2, 0x8e, 0x9c,
- 0x17, 0x66, 0x16, 0x1e, 0x20, 0x8d, 0xb8, 0xaf, 0xb7, 0xa0, 0x4d, 0x22,
- 0x06, 0x63, 0x4f, 0x96,
- 0x18, 0xec, 0xc5, 0xe2, 0x9c, 0x3d, 0xc0, 0xd8, 0xb1, 0xa9, 0xf3, 0xe5,
- 0x8b, 0xc3, 0x8a, 0xf0,
- 0x19, 0xb8, 0xf5, 0x99, 0x73, 0xb9, 0xc8, 0xd1, 0x65, 0x7c, 0x50, 0x68,
- 0x2d, 0x62, 0x4b, 0xfa,
- 0x1a, 0x44, 0xa5, 0x14, 0x81, 0xf6, 0xd0, 0xca, 0xda, 0xc0, 0x76, 0x3c,
- 0x04, 0x42, 0xcb, 0xe4,
- 0x1b, 0x10, 0x95, 0x6f, 0x6e, 0x72, 0xd8, 0xc3, 0x0e, 0x15, 0xd5, 0xb1,
- 0xa2, 0xe3, 0x0a, 0xee,
- 0x1c, 0x7f, 0x05, 0xcd, 0xa6, 0x68, 0xe0, 0xfc, 0x67, 0x7b, 0x3a, 0x94,
- 0x56, 0x02, 0x08, 0xd8,
- 0x1d, 0x2b, 0x35, 0xb6, 0x49, 0xec, 0xe8, 0xf5, 0xb3, 0xae, 0x99, 0x19,
- 0xf0, 0xa3, 0xc9, 0xd2,
- 0x1e, 0xd7, 0x65, 0x3b, 0xbb, 0xa3, 0xf0, 0xee, 0x0c, 0x12, 0xbf, 0x4d,
- 0xd9, 0x83, 0x49, 0xcc,
- 0x1f, 0x83, 0x55, 0x40, 0x54, 0x27, 0xf8, 0xe7, 0xd8, 0xc7, 0x1c, 0xc0,
- 0x7f, 0x22, 0x88, 0xc6,
- 0x20, 0x12, 0xcf, 0xbb, 0x13, 0xed, 0xc3, 0xe3, 0x7f, 0x5f, 0x87, 0x0e,
- 0x27, 0xc7, 0x9a, 0x83,
- 0x21, 0x46, 0xff, 0xc0, 0xfc, 0x69, 0xcb, 0xea, 0xab, 0x8a, 0x24, 0x83,
- 0x81, 0x66, 0x5b, 0x89,
- 0x22, 0xba, 0xaf, 0x4d, 0x0e, 0x26, 0xd3, 0xf1, 0x14, 0x36, 0x02, 0xd7,
- 0xa8, 0x46, 0xdb, 0x97,
- 0x23, 0xee, 0x9f, 0x36, 0xe1, 0xa2, 0xdb, 0xf8, 0xc0, 0xe3, 0xa1, 0x5a,
- 0x0e, 0xe7, 0x1a, 0x9d,
- 0x24, 0x81, 0x0f, 0x94, 0x29, 0xb8, 0xe3, 0xc7, 0xa9, 0x8d, 0x4e, 0x7f,
- 0xfa, 0x06, 0x18, 0xab,
- 0x25, 0xd5, 0x3f, 0xef, 0xc6, 0x3c, 0xeb, 0xce, 0x7d, 0x58, 0xed, 0xf2,
- 0x5c, 0xa7, 0xd9, 0xa1,
- 0x26, 0x29, 0x6f, 0x62, 0x34, 0x73, 0xf3, 0xd5, 0xc2, 0xe4, 0xcb, 0xa6,
- 0x75, 0x87, 0x59, 0xbf,
- 0x27, 0x7d, 0x5f, 0x19, 0xdb, 0xf7, 0xfb, 0xdc, 0x16, 0x31, 0x68, 0x2b,
- 0xd3, 0x26, 0x98, 0xb5,
- 0x28, 0xf7, 0x8c, 0xe5, 0x67, 0x47, 0x83, 0xab, 0x10, 0x38, 0xd6, 0xec,
- 0x5e, 0x86, 0x5d, 0xd3,
- 0x29, 0xa3, 0xbc, 0x9e, 0x88, 0xc3, 0x8b, 0xa2, 0xc4, 0xed, 0x75, 0x61,
- 0xf8, 0x27, 0x9c, 0xd9,
- 0x2a, 0x5f, 0xec, 0x13, 0x7a, 0x8c, 0x93, 0xb9, 0x7b, 0x51, 0x53, 0x35,
- 0xd1, 0x07, 0x1c, 0xc7,
- 0x2b, 0x0b, 0xdc, 0x68, 0x95, 0x08, 0x9b, 0xb0, 0xaf, 0x84, 0xf0, 0xb8,
- 0x77, 0xa6, 0xdd, 0xcd,
- 0x2c, 0x64, 0x4c, 0xca, 0x5d, 0x12, 0xa3, 0x8f, 0xc6, 0xea, 0x1f, 0x9d,
- 0x83, 0x47, 0xdf, 0xfb,
- 0x2d, 0x30, 0x7c, 0xb1, 0xb2, 0x96, 0xab, 0x86, 0x12, 0x3f, 0xbc, 0x10,
- 0x25, 0xe6, 0x1e, 0xf1,
- 0x2e, 0xcc, 0x2c, 0x3c, 0x40, 0xd9, 0xb3, 0x9d, 0xad, 0x83, 0x9a, 0x44,
- 0x0c, 0xc6, 0x9e, 0xef,
- 0x2f, 0x98, 0x1c, 0x47, 0xaf, 0x5d, 0xbb, 0x94, 0x79, 0x56, 0x39, 0xc9,
- 0xaa, 0x67, 0x5f, 0xe5,
- 0x30, 0x1b, 0x49, 0x07, 0xfb, 0x7a, 0x43, 0x73, 0xa1, 0x91, 0x25, 0x09,
- 0xd5, 0x45, 0xd7, 0x23,
- 0x31, 0x4f, 0x79, 0x7c, 0x14, 0xfe, 0x4b, 0x7a, 0x75, 0x44, 0x86, 0x84,
- 0x73, 0xe4, 0x16, 0x29,
- 0x32, 0xb3, 0x29, 0xf1, 0xe6, 0xb1, 0x53, 0x61, 0xca, 0xf8, 0xa0, 0xd0,
- 0x5a, 0xc4, 0x96, 0x37,
- 0x33, 0xe7, 0x19, 0x8a, 0x09, 0x35, 0x5b, 0x68, 0x1e, 0x2d, 0x03, 0x5d,
- 0xfc, 0x65, 0x57, 0x3d,
- 0x34, 0x88, 0x89, 0x28, 0xc1, 0x2f, 0x63, 0x57, 0x77, 0x43, 0xec, 0x78,
- 0x08, 0x84, 0x55, 0x0b,
- 0x35, 0xdc, 0xb9, 0x53, 0x2e, 0xab, 0x6b, 0x5e, 0xa3, 0x96, 0x4f, 0xf5,
- 0xae, 0x25, 0x94, 0x01,
- 0x36, 0x20, 0xe9, 0xde, 0xdc, 0xe4, 0x73, 0x45, 0x1c, 0x2a, 0x69, 0xa1,
- 0x87, 0x05, 0x14, 0x1f,
- 0x37, 0x74, 0xd9, 0xa5, 0x33, 0x60, 0x7b, 0x4c, 0xc8, 0xff, 0xca, 0x2c,
- 0x21, 0xa4, 0xd5, 0x15,
- 0x38, 0xfe, 0x0a, 0x59, 0x8f, 0xd0, 0x03, 0x3b, 0xce, 0xf6, 0x74, 0xeb,
- 0xac, 0x04, 0x10, 0x73,
- 0x39, 0xaa, 0x3a, 0x22, 0x60, 0x54, 0x0b, 0x32, 0x1a, 0x23, 0xd7, 0x66,
- 0x0a, 0xa5, 0xd1, 0x79,
- 0x3a, 0x56, 0x6a, 0xaf, 0x92, 0x1b, 0x13, 0x29, 0xa5, 0x9f, 0xf1, 0x32,
- 0x23, 0x85, 0x51, 0x67,
- 0x3b, 0x02, 0x5a, 0xd4, 0x7d, 0x9f, 0x1b, 0x20, 0x71, 0x4a, 0x52, 0xbf,
- 0x85, 0x24, 0x90, 0x6d,
- 0x3c, 0x6d, 0xca, 0x76, 0xb5, 0x85, 0x23, 0x1f, 0x18, 0x24, 0xbd, 0x9a,
- 0x71, 0xc5, 0x92, 0x5b,
- 0x3d, 0x39, 0xfa, 0x0d, 0x5a, 0x01, 0x2b, 0x16, 0xcc, 0xf1, 0x1e, 0x17,
- 0xd7, 0x64, 0x53, 0x51,
- 0x3e, 0xc5, 0xaa, 0x80, 0xa8, 0x4e, 0x33, 0x0d, 0x73, 0x4d, 0x38, 0x43,
- 0xfe, 0x44, 0xd3, 0x4f,
- 0x3f, 0x91, 0x9a, 0xfb, 0x47, 0xca, 0x3b, 0x04, 0xa7, 0x98, 0x9b, 0xce,
- 0x58, 0xe5, 0x12, 0x45,
- 0x40, 0x24, 0x5d, 0xb5, 0x26, 0x19, 0x45, 0x05, 0xfe, 0xbe, 0xcd, 0x1c,
- 0x4e, 0x4d, 0xf7, 0xc5,
- 0x41, 0x70, 0x6d, 0xce, 0xc9, 0x9d, 0x4d, 0x0c, 0x2a, 0x6b, 0x6e, 0x91,
- 0xe8, 0xec, 0x36, 0xcf,
- 0x42, 0x8c, 0x3d, 0x43, 0x3b, 0xd2, 0x55, 0x17, 0x95, 0xd7, 0x48, 0xc5,
- 0xc1, 0xcc, 0xb6, 0xd1,
- 0x43, 0xd8, 0x0d, 0x38, 0xd4, 0x56, 0x5d, 0x1e, 0x41, 0x02, 0xeb, 0x48,
- 0x67, 0x6d, 0x77, 0xdb,
- 0x44, 0xb7, 0x9d, 0x9a, 0x1c, 0x4c, 0x65, 0x21, 0x28, 0x6c, 0x04, 0x6d,
- 0x93, 0x8c, 0x75, 0xed,
- 0x45, 0xe3, 0xad, 0xe1, 0xf3, 0xc8, 0x6d, 0x28, 0xfc, 0xb9, 0xa7, 0xe0,
- 0x35, 0x2d, 0xb4, 0xe7,
- 0x46, 0x1f, 0xfd, 0x6c, 0x01, 0x87, 0x75, 0x33, 0x43, 0x05, 0x81, 0xb4,
- 0x1c, 0x0d, 0x34, 0xf9,
- 0x47, 0x4b, 0xcd, 0x17, 0xee, 0x03, 0x7d, 0x3a, 0x97, 0xd0, 0x22, 0x39,
- 0xba, 0xac, 0xf5, 0xf3,
- 0x48, 0xc1, 0x1e, 0xeb, 0x52, 0xb3, 0x05, 0x4d, 0x91, 0xd9, 0x9c, 0xfe,
- 0x37, 0x0c, 0x30, 0x95,
- 0x49, 0x95, 0x2e, 0x90, 0xbd, 0x37, 0x0d, 0x44, 0x45, 0x0c, 0x3f, 0x73,
- 0x91, 0xad, 0xf1, 0x9f,
- 0x4a, 0x69, 0x7e, 0x1d, 0x4f, 0x78, 0x15, 0x5f, 0xfa, 0xb0, 0x19, 0x27,
- 0xb8, 0x8d, 0x71, 0x81,
- 0x4b, 0x3d, 0x4e, 0x66, 0xa0, 0xfc, 0x1d, 0x56, 0x2e, 0x65, 0xba, 0xaa,
- 0x1e, 0x2c, 0xb0, 0x8b,
- 0x4c, 0x52, 0xde, 0xc4, 0x68, 0xe6, 0x25, 0x69, 0x47, 0x0b, 0x55, 0x8f,
- 0xea, 0xcd, 0xb2, 0xbd,
- 0x4d, 0x06, 0xee, 0xbf, 0x87, 0x62, 0x2d, 0x60, 0x93, 0xde, 0xf6, 0x02,
- 0x4c, 0x6c, 0x73, 0xb7,
- 0x4e, 0xfa, 0xbe, 0x32, 0x75, 0x2d, 0x35, 0x7b, 0x2c, 0x62, 0xd0, 0x56,
- 0x65, 0x4c, 0xf3, 0xa9,
- 0x4f, 0xae, 0x8e, 0x49, 0x9a, 0xa9, 0x3d, 0x72, 0xf8, 0xb7, 0x73, 0xdb,
- 0xc3, 0xed, 0x32, 0xa3,
- 0x50, 0x2d, 0xdb, 0x09, 0xce, 0x8e, 0xc5, 0x95, 0x20, 0x70, 0x6f, 0x1b,
- 0xbc, 0xcf, 0xba, 0x65,
- 0x51, 0x79, 0xeb, 0x72, 0x21, 0x0a, 0xcd, 0x9c, 0xf4, 0xa5, 0xcc, 0x96,
- 0x1a, 0x6e, 0x7b, 0x6f,
- 0x52, 0x85, 0xbb, 0xff, 0xd3, 0x45, 0xd5, 0x87, 0x4b, 0x19, 0xea, 0xc2,
- 0x33, 0x4e, 0xfb, 0x71,
- 0x53, 0xd1, 0x8b, 0x84, 0x3c, 0xc1, 0xdd, 0x8e, 0x9f, 0xcc, 0x49, 0x4f,
- 0x95, 0xef, 0x3a, 0x7b,
- 0x54, 0xbe, 0x1b, 0x26, 0xf4, 0xdb, 0xe5, 0xb1, 0xf6, 0xa2, 0xa6, 0x6a,
- 0x61, 0x0e, 0x38, 0x4d,
- 0x55, 0xea, 0x2b, 0x5d, 0x1b, 0x5f, 0xed, 0xb8, 0x22, 0x77, 0x05, 0xe7,
- 0xc7, 0xaf, 0xf9, 0x47,
- 0x56, 0x16, 0x7b, 0xd0, 0xe9, 0x10, 0xf5, 0xa3, 0x9d, 0xcb, 0x23, 0xb3,
- 0xee, 0x8f, 0x79, 0x59,
- 0x57, 0x42, 0x4b, 0xab, 0x06, 0x94, 0xfd, 0xaa, 0x49, 0x1e, 0x80, 0x3e,
- 0x48, 0x2e, 0xb8, 0x53,
- 0x58, 0xc8, 0x98, 0x57, 0xba, 0x24, 0x85, 0xdd, 0x4f, 0x17, 0x3e, 0xf9,
- 0xc5, 0x8e, 0x7d, 0x35,
- 0x59, 0x9c, 0xa8, 0x2c, 0x55, 0xa0, 0x8d, 0xd4, 0x9b, 0xc2, 0x9d, 0x74,
- 0x63, 0x2f, 0xbc, 0x3f,
- 0x5a, 0x60, 0xf8, 0xa1, 0xa7, 0xef, 0x95, 0xcf, 0x24, 0x7e, 0xbb, 0x20,
- 0x4a, 0x0f, 0x3c, 0x21,
- 0x5b, 0x34, 0xc8, 0xda, 0x48, 0x6b, 0x9d, 0xc6, 0xf0, 0xab, 0x18, 0xad,
- 0xec, 0xae, 0xfd, 0x2b,
- 0x5c, 0x5b, 0x58, 0x78, 0x80, 0x71, 0xa5, 0xf9, 0x99, 0xc5, 0xf7, 0x88,
- 0x18, 0x4f, 0xff, 0x1d,
- 0x5d, 0x0f, 0x68, 0x03, 0x6f, 0xf5, 0xad, 0xf0, 0x4d, 0x10, 0x54, 0x05,
- 0xbe, 0xee, 0x3e, 0x17,
- 0x5e, 0xf3, 0x38, 0x8e, 0x9d, 0xba, 0xb5, 0xeb, 0xf2, 0xac, 0x72, 0x51,
- 0x97, 0xce, 0xbe, 0x09,
- 0x5f, 0xa7, 0x08, 0xf5, 0x72, 0x3e, 0xbd, 0xe2, 0x26, 0x79, 0xd1, 0xdc,
- 0x31, 0x6f, 0x7f, 0x03,
- 0x60, 0x36, 0x92, 0x0e, 0x35, 0xf4, 0x86, 0xe6, 0x81, 0xe1, 0x4a, 0x12,
- 0x69, 0x8a, 0x6d, 0x46,
- 0x61, 0x62, 0xa2, 0x75, 0xda, 0x70, 0x8e, 0xef, 0x55, 0x34, 0xe9, 0x9f,
- 0xcf, 0x2b, 0xac, 0x4c,
- 0x62, 0x9e, 0xf2, 0xf8, 0x28, 0x3f, 0x96, 0xf4, 0xea, 0x88, 0xcf, 0xcb,
- 0xe6, 0x0b, 0x2c, 0x52,
- 0x63, 0xca, 0xc2, 0x83, 0xc7, 0xbb, 0x9e, 0xfd, 0x3e, 0x5d, 0x6c, 0x46,
- 0x40, 0xaa, 0xed, 0x58,
- 0x64, 0xa5, 0x52, 0x21, 0x0f, 0xa1, 0xa6, 0xc2, 0x57, 0x33, 0x83, 0x63,
- 0xb4, 0x4b, 0xef, 0x6e,
- 0x65, 0xf1, 0x62, 0x5a, 0xe0, 0x25, 0xae, 0xcb, 0x83, 0xe6, 0x20, 0xee,
- 0x12, 0xea, 0x2e, 0x64,
- 0x66, 0x0d, 0x32, 0xd7, 0x12, 0x6a, 0xb6, 0xd0, 0x3c, 0x5a, 0x06, 0xba,
- 0x3b, 0xca, 0xae, 0x7a,
- 0x67, 0x59, 0x02, 0xac, 0xfd, 0xee, 0xbe, 0xd9, 0xe8, 0x8f, 0xa5, 0x37,
- 0x9d, 0x6b, 0x6f, 0x70,
- 0x68, 0xd3, 0xd1, 0x50, 0x41, 0x5e, 0xc6, 0xae, 0xee, 0x86, 0x1b, 0xf0,
- 0x10, 0xcb, 0xaa, 0x16,
- 0x69, 0x87, 0xe1, 0x2b, 0xae, 0xda, 0xce, 0xa7, 0x3a, 0x53, 0xb8, 0x7d,
- 0xb6, 0x6a, 0x6b, 0x1c,
- 0x6a, 0x7b, 0xb1, 0xa6, 0x5c, 0x95, 0xd6, 0xbc, 0x85, 0xef, 0x9e, 0x29,
- 0x9f, 0x4a, 0xeb, 0x02,
- 0x6b, 0x2f, 0x81, 0xdd, 0xb3, 0x11, 0xde, 0xb5, 0x51, 0x3a, 0x3d, 0xa4,
- 0x39, 0xeb, 0x2a, 0x08,
- 0x6c, 0x40, 0x11, 0x7f, 0x7b, 0x0b, 0xe6, 0x8a, 0x38, 0x54, 0xd2, 0x81,
- 0xcd, 0x0a, 0x28, 0x3e,
- 0x6d, 0x14, 0x21, 0x04, 0x94, 0x8f, 0xee, 0x83, 0xec, 0x81, 0x71, 0x0c,
- 0x6b, 0xab, 0xe9, 0x34,
- 0x6e, 0xe8, 0x71, 0x89, 0x66, 0xc0, 0xf6, 0x98, 0x53, 0x3d, 0x57, 0x58,
- 0x42, 0x8b, 0x69, 0x2a,
- 0x6f, 0xbc, 0x41, 0xf2, 0x89, 0x44, 0xfe, 0x91, 0x87, 0xe8, 0xf4, 0xd5,
- 0xe4, 0x2a, 0xa8, 0x20,
- 0x70, 0x3f, 0x14, 0xb2, 0xdd, 0x63, 0x06, 0x76, 0x5f, 0x2f, 0xe8, 0x15,
- 0x9b, 0x08, 0x20, 0xe6,
- 0x71, 0x6b, 0x24, 0xc9, 0x32, 0xe7, 0x0e, 0x7f, 0x8b, 0xfa, 0x4b, 0x98,
- 0x3d, 0xa9, 0xe1, 0xec,
- 0x72, 0x97, 0x74, 0x44, 0xc0, 0xa8, 0x16, 0x64, 0x34, 0x46, 0x6d, 0xcc,
- 0x14, 0x89, 0x61, 0xf2,
- 0x73, 0xc3, 0x44, 0x3f, 0x2f, 0x2c, 0x1e, 0x6d, 0xe0, 0x93, 0xce, 0x41,
- 0xb2, 0x28, 0xa0, 0xf8,
- 0x74, 0xac, 0xd4, 0x9d, 0xe7, 0x36, 0x26, 0x52, 0x89, 0xfd, 0x21, 0x64,
- 0x46, 0xc9, 0xa2, 0xce,
- 0x75, 0xf8, 0xe4, 0xe6, 0x08, 0xb2, 0x2e, 0x5b, 0x5d, 0x28, 0x82, 0xe9,
- 0xe0, 0x68, 0x63, 0xc4,
- 0x76, 0x04, 0xb4, 0x6b, 0xfa, 0xfd, 0x36, 0x40, 0xe2, 0x94, 0xa4, 0xbd,
- 0xc9, 0x48, 0xe3, 0xda,
- 0x77, 0x50, 0x84, 0x10, 0x15, 0x79, 0x3e, 0x49, 0x36, 0x41, 0x07, 0x30,
- 0x6f, 0xe9, 0x22, 0xd0,
- 0x78, 0xda, 0x57, 0xec, 0xa9, 0xc9, 0x46, 0x3e, 0x30, 0x48, 0xb9, 0xf7,
- 0xe2, 0x49, 0xe7, 0xb6,
- 0x79, 0x8e, 0x67, 0x97, 0x46, 0x4d, 0x4e, 0x37, 0xe4, 0x9d, 0x1a, 0x7a,
- 0x44, 0xe8, 0x26, 0xbc,
- 0x7a, 0x72, 0x37, 0x1a, 0xb4, 0x02, 0x56, 0x2c, 0x5b, 0x21, 0x3c, 0x2e,
- 0x6d, 0xc8, 0xa6, 0xa2,
- 0x7b, 0x26, 0x07, 0x61, 0x5b, 0x86, 0x5e, 0x25, 0x8f, 0xf4, 0x9f, 0xa3,
- 0xcb, 0x69, 0x67, 0xa8,
- 0x7c, 0x49, 0x97, 0xc3, 0x93, 0x9c, 0x66, 0x1a, 0xe6, 0x9a, 0x70, 0x86,
- 0x3f, 0x88, 0x65, 0x9e,
- 0x7d, 0x1d, 0xa7, 0xb8, 0x7c, 0x18, 0x6e, 0x13, 0x32, 0x4f, 0xd3, 0x0b,
- 0x99, 0x29, 0xa4, 0x94,
- 0x7e, 0xe1, 0xf7, 0x35, 0x8e, 0x57, 0x76, 0x08, 0x8d, 0xf3, 0xf5, 0x5f,
- 0xb0, 0x09, 0x24, 0x8a,
- 0x7f, 0xb5, 0xc7, 0x4e, 0x61, 0xd3, 0x7e, 0x01, 0x59, 0x26, 0x56, 0xd2,
- 0x16, 0xa8, 0xe5, 0x80,
- 0x80, 0x48, 0xba, 0xa9, 0x4c, 0x32, 0x8a, 0x0a, 0x3f, 0xbf, 0x59, 0x38,
- 0x9c, 0x9a, 0x2d, 0x49,
- 0x81, 0x1c, 0x8a, 0xd2, 0xa3, 0xb6, 0x82, 0x03, 0xeb, 0x6a, 0xfa, 0xb5,
- 0x3a, 0x3b, 0xec, 0x43,
- 0x82, 0xe0, 0xda, 0x5f, 0x51, 0xf9, 0x9a, 0x18, 0x54, 0xd6, 0xdc, 0xe1,
- 0x13, 0x1b, 0x6c, 0x5d,
- 0x83, 0xb4, 0xea, 0x24, 0xbe, 0x7d, 0x92, 0x11, 0x80, 0x03, 0x7f, 0x6c,
- 0xb5, 0xba, 0xad, 0x57,
- 0x84, 0xdb, 0x7a, 0x86, 0x76, 0x67, 0xaa, 0x2e, 0xe9, 0x6d, 0x90, 0x49,
- 0x41, 0x5b, 0xaf, 0x61,
- 0x85, 0x8f, 0x4a, 0xfd, 0x99, 0xe3, 0xa2, 0x27, 0x3d, 0xb8, 0x33, 0xc4,
- 0xe7, 0xfa, 0x6e, 0x6b,
- 0x86, 0x73, 0x1a, 0x70, 0x6b, 0xac, 0xba, 0x3c, 0x82, 0x04, 0x15, 0x90,
- 0xce, 0xda, 0xee, 0x75,
- 0x87, 0x27, 0x2a, 0x0b, 0x84, 0x28, 0xb2, 0x35, 0x56, 0xd1, 0xb6, 0x1d,
- 0x68, 0x7b, 0x2f, 0x7f,
- 0x88, 0xad, 0xf9, 0xf7, 0x38, 0x98, 0xca, 0x42, 0x50, 0xd8, 0x08, 0xda,
- 0xe5, 0xdb, 0xea, 0x19,
- 0x89, 0xf9, 0xc9, 0x8c, 0xd7, 0x1c, 0xc2, 0x4b, 0x84, 0x0d, 0xab, 0x57,
- 0x43, 0x7a, 0x2b, 0x13,
- 0x8a, 0x05, 0x99, 0x01, 0x25, 0x53, 0xda, 0x50, 0x3b, 0xb1, 0x8d, 0x03,
- 0x6a, 0x5a, 0xab, 0x0d,
- 0x8b, 0x51, 0xa9, 0x7a, 0xca, 0xd7, 0xd2, 0x59, 0xef, 0x64, 0x2e, 0x8e,
- 0xcc, 0xfb, 0x6a, 0x07,
- 0x8c, 0x3e, 0x39, 0xd8, 0x02, 0xcd, 0xea, 0x66, 0x86, 0x0a, 0xc1, 0xab,
- 0x38, 0x1a, 0x68, 0x31,
- 0x8d, 0x6a, 0x09, 0xa3, 0xed, 0x49, 0xe2, 0x6f, 0x52, 0xdf, 0x62, 0x26,
- 0x9e, 0xbb, 0xa9, 0x3b,
- 0x8e, 0x96, 0x59, 0x2e, 0x1f, 0x06, 0xfa, 0x74, 0xed, 0x63, 0x44, 0x72,
- 0xb7, 0x9b, 0x29, 0x25,
- 0x8f, 0xc2, 0x69, 0x55, 0xf0, 0x82, 0xf2, 0x7d, 0x39, 0xb6, 0xe7, 0xff,
- 0x11, 0x3a, 0xe8, 0x2f,
- 0x90, 0x41, 0x3c, 0x15, 0xa4, 0xa5, 0x0a, 0x9a, 0xe1, 0x71, 0xfb, 0x3f,
- 0x6e, 0x18, 0x60, 0xe9,
- 0x91, 0x15, 0x0c, 0x6e, 0x4b, 0x21, 0x02, 0x93, 0x35, 0xa4, 0x58, 0xb2,
- 0xc8, 0xb9, 0xa1, 0xe3,
- 0x92, 0xe9, 0x5c, 0xe3, 0xb9, 0x6e, 0x1a, 0x88, 0x8a, 0x18, 0x7e, 0xe6,
- 0xe1, 0x99, 0x21, 0xfd,
- 0x93, 0xbd, 0x6c, 0x98, 0x56, 0xea, 0x12, 0x81, 0x5e, 0xcd, 0xdd, 0x6b,
- 0x47, 0x38, 0xe0, 0xf7,
- 0x94, 0xd2, 0xfc, 0x3a, 0x9e, 0xf0, 0x2a, 0xbe, 0x37, 0xa3, 0x32, 0x4e,
- 0xb3, 0xd9, 0xe2, 0xc1,
- 0x95, 0x86, 0xcc, 0x41, 0x71, 0x74, 0x22, 0xb7, 0xe3, 0x76, 0x91, 0xc3,
- 0x15, 0x78, 0x23, 0xcb,
- 0x96, 0x7a, 0x9c, 0xcc, 0x83, 0x3b, 0x3a, 0xac, 0x5c, 0xca, 0xb7, 0x97,
- 0x3c, 0x58, 0xa3, 0xd5,
- 0x97, 0x2e, 0xac, 0xb7, 0x6c, 0xbf, 0x32, 0xa5, 0x88, 0x1f, 0x14, 0x1a,
- 0x9a, 0xf9, 0x62, 0xdf,
- 0x98, 0xa4, 0x7f, 0x4b, 0xd0, 0x0f, 0x4a, 0xd2, 0x8e, 0x16, 0xaa, 0xdd,
- 0x17, 0x59, 0xa7, 0xb9,
- 0x99, 0xf0, 0x4f, 0x30, 0x3f, 0x8b, 0x42, 0xdb, 0x5a, 0xc3, 0x09, 0x50,
- 0xb1, 0xf8, 0x66, 0xb3,
- 0x9a, 0x0c, 0x1f, 0xbd, 0xcd, 0xc4, 0x5a, 0xc0, 0xe5, 0x7f, 0x2f, 0x04,
- 0x98, 0xd8, 0xe6, 0xad,
- 0x9b, 0x58, 0x2f, 0xc6, 0x22, 0x40, 0x52, 0xc9, 0x31, 0xaa, 0x8c, 0x89,
- 0x3e, 0x79, 0x27, 0xa7,
- 0x9c, 0x37, 0xbf, 0x64, 0xea, 0x5a, 0x6a, 0xf6, 0x58, 0xc4, 0x63, 0xac,
- 0xca, 0x98, 0x25, 0x91,
- 0x9d, 0x63, 0x8f, 0x1f, 0x05, 0xde, 0x62, 0xff, 0x8c, 0x11, 0xc0, 0x21,
- 0x6c, 0x39, 0xe4, 0x9b,
- 0x9e, 0x9f, 0xdf, 0x92, 0xf7, 0x91, 0x7a, 0xe4, 0x33, 0xad, 0xe6, 0x75,
- 0x45, 0x19, 0x64, 0x85,
- 0x9f, 0xcb, 0xef, 0xe9, 0x18, 0x15, 0x72, 0xed, 0xe7, 0x78, 0x45, 0xf8,
- 0xe3, 0xb8, 0xa5, 0x8f,
- 0xa0, 0x5a, 0x75, 0x12, 0x5f, 0xdf, 0x49, 0xe9, 0x40, 0xe0, 0xde, 0x36,
- 0xbb, 0x5d, 0xb7, 0xca,
- 0xa1, 0x0e, 0x45, 0x69, 0xb0, 0x5b, 0x41, 0xe0, 0x94, 0x35, 0x7d, 0xbb,
- 0x1d, 0xfc, 0x76, 0xc0,
- 0xa2, 0xf2, 0x15, 0xe4, 0x42, 0x14, 0x59, 0xfb, 0x2b, 0x89, 0x5b, 0xef,
- 0x34, 0xdc, 0xf6, 0xde,
- 0xa3, 0xa6, 0x25, 0x9f, 0xad, 0x90, 0x51, 0xf2, 0xff, 0x5c, 0xf8, 0x62,
- 0x92, 0x7d, 0x37, 0xd4,
- 0xa4, 0xc9, 0xb5, 0x3d, 0x65, 0x8a, 0x69, 0xcd, 0x96, 0x32, 0x17, 0x47,
- 0x66, 0x9c, 0x35, 0xe2,
- 0xa5, 0x9d, 0x85, 0x46, 0x8a, 0x0e, 0x61, 0xc4, 0x42, 0xe7, 0xb4, 0xca,
- 0xc0, 0x3d, 0xf4, 0xe8,
- 0xa6, 0x61, 0xd5, 0xcb, 0x78, 0x41, 0x79, 0xdf, 0xfd, 0x5b, 0x92, 0x9e,
- 0xe9, 0x1d, 0x74, 0xf6,
- 0xa7, 0x35, 0xe5, 0xb0, 0x97, 0xc5, 0x71, 0xd6, 0x29, 0x8e, 0x31, 0x13,
- 0x4f, 0xbc, 0xb5, 0xfc,
- 0xa8, 0xbf, 0x36, 0x4c, 0x2b, 0x75, 0x09, 0xa1, 0x2f, 0x87, 0x8f, 0xd4,
- 0xc2, 0x1c, 0x70, 0x9a,
- 0xa9, 0xeb, 0x06, 0x37, 0xc4, 0xf1, 0x01, 0xa8, 0xfb, 0x52, 0x2c, 0x59,
- 0x64, 0xbd, 0xb1, 0x90,
- 0xaa, 0x17, 0x56, 0xba, 0x36, 0xbe, 0x19, 0xb3, 0x44, 0xee, 0x0a, 0x0d,
- 0x4d, 0x9d, 0x31, 0x8e,
- 0xab, 0x43, 0x66, 0xc1, 0xd9, 0x3a, 0x11, 0xba, 0x90, 0x3b, 0xa9, 0x80,
- 0xeb, 0x3c, 0xf0, 0x84,
- 0xac, 0x2c, 0xf6, 0x63, 0x11, 0x20, 0x29, 0x85, 0xf9, 0x55, 0x46, 0xa5,
- 0x1f, 0xdd, 0xf2, 0xb2,
- 0xad, 0x78, 0xc6, 0x18, 0xfe, 0xa4, 0x21, 0x8c, 0x2d, 0x80, 0xe5, 0x28,
- 0xb9, 0x7c, 0x33, 0xb8,
- 0xae, 0x84, 0x96, 0x95, 0x0c, 0xeb, 0x39, 0x97, 0x92, 0x3c, 0xc3, 0x7c,
- 0x90, 0x5c, 0xb3, 0xa6,
- 0xaf, 0xd0, 0xa6, 0xee, 0xe3, 0x6f, 0x31, 0x9e, 0x46, 0xe9, 0x60, 0xf1,
- 0x36, 0xfd, 0x72, 0xac,
- 0xb0, 0x53, 0xf3, 0xae, 0xb7, 0x48, 0xc9, 0x79, 0x9e, 0x2e, 0x7c, 0x31,
- 0x49, 0xdf, 0xfa, 0x6a,
- 0xb1, 0x07, 0xc3, 0xd5, 0x58, 0xcc, 0xc1, 0x70, 0x4a, 0xfb, 0xdf, 0xbc,
- 0xef, 0x7e, 0x3b, 0x60,
- 0xb2, 0xfb, 0x93, 0x58, 0xaa, 0x83, 0xd9, 0x6b, 0xf5, 0x47, 0xf9, 0xe8,
- 0xc6, 0x5e, 0xbb, 0x7e,
- 0xb3, 0xaf, 0xa3, 0x23, 0x45, 0x07, 0xd1, 0x62, 0x21, 0x92, 0x5a, 0x65,
- 0x60, 0xff, 0x7a, 0x74,
- 0xb4, 0xc0, 0x33, 0x81, 0x8d, 0x1d, 0xe9, 0x5d, 0x48, 0xfc, 0xb5, 0x40,
- 0x94, 0x1e, 0x78, 0x42,
- 0xb5, 0x94, 0x03, 0xfa, 0x62, 0x99, 0xe1, 0x54, 0x9c, 0x29, 0x16, 0xcd,
- 0x32, 0xbf, 0xb9, 0x48,
- 0xb6, 0x68, 0x53, 0x77, 0x90, 0xd6, 0xf9, 0x4f, 0x23, 0x95, 0x30, 0x99,
- 0x1b, 0x9f, 0x39, 0x56,
- 0xb7, 0x3c, 0x63, 0x0c, 0x7f, 0x52, 0xf1, 0x46, 0xf7, 0x40, 0x93, 0x14,
- 0xbd, 0x3e, 0xf8, 0x5c,
- 0xb8, 0xb6, 0xb0, 0xf0, 0xc3, 0xe2, 0x89, 0x31, 0xf1, 0x49, 0x2d, 0xd3,
- 0x30, 0x9e, 0x3d, 0x3a,
- 0xb9, 0xe2, 0x80, 0x8b, 0x2c, 0x66, 0x81, 0x38, 0x25, 0x9c, 0x8e, 0x5e,
- 0x96, 0x3f, 0xfc, 0x30,
- 0xba, 0x1e, 0xd0, 0x06, 0xde, 0x29, 0x99, 0x23, 0x9a, 0x20, 0xa8, 0x0a,
- 0xbf, 0x1f, 0x7c, 0x2e,
- 0xbb, 0x4a, 0xe0, 0x7d, 0x31, 0xad, 0x91, 0x2a, 0x4e, 0xf5, 0x0b, 0x87,
- 0x19, 0xbe, 0xbd, 0x24,
- 0xbc, 0x25, 0x70, 0xdf, 0xf9, 0xb7, 0xa9, 0x15, 0x27, 0x9b, 0xe4, 0xa2,
- 0xed, 0x5f, 0xbf, 0x12,
- 0xbd, 0x71, 0x40, 0xa4, 0x16, 0x33, 0xa1, 0x1c, 0xf3, 0x4e, 0x47, 0x2f,
- 0x4b, 0xfe, 0x7e, 0x18,
- 0xbe, 0x8d, 0x10, 0x29, 0xe4, 0x7c, 0xb9, 0x07, 0x4c, 0xf2, 0x61, 0x7b,
- 0x62, 0xde, 0xfe, 0x06,
- 0xbf, 0xd9, 0x20, 0x52, 0x0b, 0xf8, 0xb1, 0x0e, 0x98, 0x27, 0xc2, 0xf6,
- 0xc4, 0x7f, 0x3f, 0x0c,
- 0xc0, 0x6c, 0xe7, 0x1c, 0x6a, 0x2b, 0xcf, 0x0f, 0xc1, 0x01, 0x94, 0x24,
- 0xd2, 0xd7, 0xda, 0x8c,
- 0xc1, 0x38, 0xd7, 0x67, 0x85, 0xaf, 0xc7, 0x06, 0x15, 0xd4, 0x37, 0xa9,
- 0x74, 0x76, 0x1b, 0x86,
- 0xc2, 0xc4, 0x87, 0xea, 0x77, 0xe0, 0xdf, 0x1d, 0xaa, 0x68, 0x11, 0xfd,
- 0x5d, 0x56, 0x9b, 0x98,
- 0xc3, 0x90, 0xb7, 0x91, 0x98, 0x64, 0xd7, 0x14, 0x7e, 0xbd, 0xb2, 0x70,
- 0xfb, 0xf7, 0x5a, 0x92,
- 0xc4, 0xff, 0x27, 0x33, 0x50, 0x7e, 0xef, 0x2b, 0x17, 0xd3, 0x5d, 0x55,
- 0x0f, 0x16, 0x58, 0xa4,
- 0xc5, 0xab, 0x17, 0x48, 0xbf, 0xfa, 0xe7, 0x22, 0xc3, 0x06, 0xfe, 0xd8,
- 0xa9, 0xb7, 0x99, 0xae,
- 0xc6, 0x57, 0x47, 0xc5, 0x4d, 0xb5, 0xff, 0x39, 0x7c, 0xba, 0xd8, 0x8c,
- 0x80, 0x97, 0x19, 0xb0,
- 0xc7, 0x03, 0x77, 0xbe, 0xa2, 0x31, 0xf7, 0x30, 0xa8, 0x6f, 0x7b, 0x01,
- 0x26, 0x36, 0xd8, 0xba,
- 0xc8, 0x89, 0xa4, 0x42, 0x1e, 0x81, 0x8f, 0x47, 0xae, 0x66, 0xc5, 0xc6,
- 0xab, 0x96, 0x1d, 0xdc,
- 0xc9, 0xdd, 0x94, 0x39, 0xf1, 0x05, 0x87, 0x4e, 0x7a, 0xb3, 0x66, 0x4b,
- 0x0d, 0x37, 0xdc, 0xd6,
- 0xca, 0x21, 0xc4, 0xb4, 0x03, 0x4a, 0x9f, 0x55, 0xc5, 0x0f, 0x40, 0x1f,
- 0x24, 0x17, 0x5c, 0xc8,
- 0xcb, 0x75, 0xf4, 0xcf, 0xec, 0xce, 0x97, 0x5c, 0x11, 0xda, 0xe3, 0x92,
- 0x82, 0xb6, 0x9d, 0xc2,
- 0xcc, 0x1a, 0x64, 0x6d, 0x24, 0xd4, 0xaf, 0x63, 0x78, 0xb4, 0x0c, 0xb7,
- 0x76, 0x57, 0x9f, 0xf4,
- 0xcd, 0x4e, 0x54, 0x16, 0xcb, 0x50, 0xa7, 0x6a, 0xac, 0x61, 0xaf, 0x3a,
- 0xd0, 0xf6, 0x5e, 0xfe,
- 0xce, 0xb2, 0x04, 0x9b, 0x39, 0x1f, 0xbf, 0x71, 0x13, 0xdd, 0x89, 0x6e,
- 0xf9, 0xd6, 0xde, 0xe0,
- 0xcf, 0xe6, 0x34, 0xe0, 0xd6, 0x9b, 0xb7, 0x78, 0xc7, 0x08, 0x2a, 0xe3,
- 0x5f, 0x77, 0x1f, 0xea,
- 0xd0, 0x65, 0x61, 0xa0, 0x82, 0xbc, 0x4f, 0x9f, 0x1f, 0xcf, 0x36, 0x23,
- 0x20, 0x55, 0x97, 0x2c,
- 0xd1, 0x31, 0x51, 0xdb, 0x6d, 0x38, 0x47, 0x96, 0xcb, 0x1a, 0x95, 0xae,
- 0x86, 0xf4, 0x56, 0x26,
- 0xd2, 0xcd, 0x01, 0x56, 0x9f, 0x77, 0x5f, 0x8d, 0x74, 0xa6, 0xb3, 0xfa,
- 0xaf, 0xd4, 0xd6, 0x38,
- 0xd3, 0x99, 0x31, 0x2d, 0x70, 0xf3, 0x57, 0x84, 0xa0, 0x73, 0x10, 0x77,
- 0x09, 0x75, 0x17, 0x32,
- 0xd4, 0xf6, 0xa1, 0x8f, 0xb8, 0xe9, 0x6f, 0xbb, 0xc9, 0x1d, 0xff, 0x52,
- 0xfd, 0x94, 0x15, 0x04,
- 0xd5, 0xa2, 0x91, 0xf4, 0x57, 0x6d, 0x67, 0xb2, 0x1d, 0xc8, 0x5c, 0xdf,
- 0x5b, 0x35, 0xd4, 0x0e,
- 0xd6, 0x5e, 0xc1, 0x79, 0xa5, 0x22, 0x7f, 0xa9, 0xa2, 0x74, 0x7a, 0x8b,
- 0x72, 0x15, 0x54, 0x10,
- 0xd7, 0x0a, 0xf1, 0x02, 0x4a, 0xa6, 0x77, 0xa0, 0x76, 0xa1, 0xd9, 0x06,
- 0xd4, 0xb4, 0x95, 0x1a,
- 0xd8, 0x80, 0x22, 0xfe, 0xf6, 0x16, 0x0f, 0xd7, 0x70, 0xa8, 0x67, 0xc1,
- 0x59, 0x14, 0x50, 0x7c,
- 0xd9, 0xd4, 0x12, 0x85, 0x19, 0x92, 0x07, 0xde, 0xa4, 0x7d, 0xc4, 0x4c,
- 0xff, 0xb5, 0x91, 0x76,
- 0xda, 0x28, 0x42, 0x08, 0xeb, 0xdd, 0x1f, 0xc5, 0x1b, 0xc1, 0xe2, 0x18,
- 0xd6, 0x95, 0x11, 0x68,
- 0xdb, 0x7c, 0x72, 0x73, 0x04, 0x59, 0x17, 0xcc, 0xcf, 0x14, 0x41, 0x95,
- 0x70, 0x34, 0xd0, 0x62,
- 0xdc, 0x13, 0xe2, 0xd1, 0xcc, 0x43, 0x2f, 0xf3, 0xa6, 0x7a, 0xae, 0xb0,
- 0x84, 0xd5, 0xd2, 0x54,
- 0xdd, 0x47, 0xd2, 0xaa, 0x23, 0xc7, 0x27, 0xfa, 0x72, 0xaf, 0x0d, 0x3d,
- 0x22, 0x74, 0x13, 0x5e,
- 0xde, 0xbb, 0x82, 0x27, 0xd1, 0x88, 0x3f, 0xe1, 0xcd, 0x13, 0x2b, 0x69,
- 0x0b, 0x54, 0x93, 0x40,
- 0xdf, 0xef, 0xb2, 0x5c, 0x3e, 0x0c, 0x37, 0xe8, 0x19, 0xc6, 0x88, 0xe4,
- 0xad, 0xf5, 0x52, 0x4a,
- 0xe0, 0x7e, 0x28, 0xa7, 0x79, 0xc6, 0x0c, 0xec, 0xbe, 0x5e, 0x13, 0x2a,
- 0xf5, 0x10, 0x40, 0x0f,
- 0xe1, 0x2a, 0x18, 0xdc, 0x96, 0x42, 0x04, 0xe5, 0x6a, 0x8b, 0xb0, 0xa7,
- 0x53, 0xb1, 0x81, 0x05,
- 0xe2, 0xd6, 0x48, 0x51, 0x64, 0x0d, 0x1c, 0xfe, 0xd5, 0x37, 0x96, 0xf3,
- 0x7a, 0x91, 0x01, 0x1b,
- 0xe3, 0x82, 0x78, 0x2a, 0x8b, 0x89, 0x14, 0xf7, 0x01, 0xe2, 0x35, 0x7e,
- 0xdc, 0x30, 0xc0, 0x11,
- 0xe4, 0xed, 0xe8, 0x88, 0x43, 0x93, 0x2c, 0xc8, 0x68, 0x8c, 0xda, 0x5b,
- 0x28, 0xd1, 0xc2, 0x27,
- 0xe5, 0xb9, 0xd8, 0xf3, 0xac, 0x17, 0x24, 0xc1, 0xbc, 0x59, 0x79, 0xd6,
- 0x8e, 0x70, 0x03, 0x2d,
- 0xe6, 0x45, 0x88, 0x7e, 0x5e, 0x58, 0x3c, 0xda, 0x03, 0xe5, 0x5f, 0x82,
- 0xa7, 0x50, 0x83, 0x33,
- 0xe7, 0x11, 0xb8, 0x05, 0xb1, 0xdc, 0x34, 0xd3, 0xd7, 0x30, 0xfc, 0x0f,
- 0x01, 0xf1, 0x42, 0x39,
- 0xe8, 0x9b, 0x6b, 0xf9, 0x0d, 0x6c, 0x4c, 0xa4, 0xd1, 0x39, 0x42, 0xc8,
- 0x8c, 0x51, 0x87, 0x5f,
- 0xe9, 0xcf, 0x5b, 0x82, 0xe2, 0xe8, 0x44, 0xad, 0x05, 0xec, 0xe1, 0x45,
- 0x2a, 0xf0, 0x46, 0x55,
- 0xea, 0x33, 0x0b, 0x0f, 0x10, 0xa7, 0x5c, 0xb6, 0xba, 0x50, 0xc7, 0x11,
- 0x03, 0xd0, 0xc6, 0x4b,
- 0xeb, 0x67, 0x3b, 0x74, 0xff, 0x23, 0x54, 0xbf, 0x6e, 0x85, 0x64, 0x9c,
- 0xa5, 0x71, 0x07, 0x41,
- 0xec, 0x08, 0xab, 0xd6, 0x37, 0x39, 0x6c, 0x80, 0x07, 0xeb, 0x8b, 0xb9,
- 0x51, 0x90, 0x05, 0x77,
- 0xed, 0x5c, 0x9b, 0xad, 0xd8, 0xbd, 0x64, 0x89, 0xd3, 0x3e, 0x28, 0x34,
- 0xf7, 0x31, 0xc4, 0x7d,
- 0xee, 0xa0, 0xcb, 0x20, 0x2a, 0xf2, 0x7c, 0x92, 0x6c, 0x82, 0x0e, 0x60,
- 0xde, 0x11, 0x44, 0x63,
- 0xef, 0xf4, 0xfb, 0x5b, 0xc5, 0x76, 0x74, 0x9b, 0xb8, 0x57, 0xad, 0xed,
- 0x78, 0xb0, 0x85, 0x69,
- 0xf0, 0x77, 0xae, 0x1b, 0x91, 0x51, 0x8c, 0x7c, 0x60, 0x90, 0xb1, 0x2d,
- 0x07, 0x92, 0x0d, 0xaf,
- 0xf1, 0x23, 0x9e, 0x60, 0x7e, 0xd5, 0x84, 0x75, 0xb4, 0x45, 0x12, 0xa0,
- 0xa1, 0x33, 0xcc, 0xa5,
- 0xf2, 0xdf, 0xce, 0xed, 0x8c, 0x9a, 0x9c, 0x6e, 0x0b, 0xf9, 0x34, 0xf4,
- 0x88, 0x13, 0x4c, 0xbb,
- 0xf3, 0x8b, 0xfe, 0x96, 0x63, 0x1e, 0x94, 0x67, 0xdf, 0x2c, 0x97, 0x79,
- 0x2e, 0xb2, 0x8d, 0xb1,
- 0xf4, 0xe4, 0x6e, 0x34, 0xab, 0x04, 0xac, 0x58, 0xb6, 0x42, 0x78, 0x5c,
- 0xda, 0x53, 0x8f, 0x87,
- 0xf5, 0xb0, 0x5e, 0x4f, 0x44, 0x80, 0xa4, 0x51, 0x62, 0x97, 0xdb, 0xd1,
- 0x7c, 0xf2, 0x4e, 0x8d,
- 0xf6, 0x4c, 0x0e, 0xc2, 0xb6, 0xcf, 0xbc, 0x4a, 0xdd, 0x2b, 0xfd, 0x85,
- 0x55, 0xd2, 0xce, 0x93,
- 0xf7, 0x18, 0x3e, 0xb9, 0x59, 0x4b, 0xb4, 0x43, 0x09, 0xfe, 0x5e, 0x08,
- 0xf3, 0x73, 0x0f, 0x99,
- 0xf8, 0x92, 0xed, 0x45, 0xe5, 0xfb, 0xcc, 0x34, 0x0f, 0xf7, 0xe0, 0xcf,
- 0x7e, 0xd3, 0xca, 0xff,
- 0xf9, 0xc6, 0xdd, 0x3e, 0x0a, 0x7f, 0xc4, 0x3d, 0xdb, 0x22, 0x43, 0x42,
- 0xd8, 0x72, 0x0b, 0xf5,
- 0xfa, 0x3a, 0x8d, 0xb3, 0xf8, 0x30, 0xdc, 0x26, 0x64, 0x9e, 0x65, 0x16,
- 0xf1, 0x52, 0x8b, 0xeb,
- 0xfb, 0x6e, 0xbd, 0xc8, 0x17, 0xb4, 0xd4, 0x2f, 0xb0, 0x4b, 0xc6, 0x9b,
- 0x57, 0xf3, 0x4a, 0xe1,
- 0xfc, 0x01, 0x2d, 0x6a, 0xdf, 0xae, 0xec, 0x10, 0xd9, 0x25, 0x29, 0xbe,
- 0xa3, 0x12, 0x48, 0xd7,
- 0xfd, 0x55, 0x1d, 0x11, 0x30, 0x2a, 0xe4, 0x19, 0x0d, 0xf0, 0x8a, 0x33,
- 0x05, 0xb3, 0x89, 0xdd,
- 0xfe, 0xa9, 0x4d, 0x9c, 0xc2, 0x65, 0xfc, 0x02, 0xb2, 0x4c, 0xac, 0x67,
- 0x2c, 0x93, 0x09, 0xc3,
- 0xff, 0xfd, 0x7d, 0xe7, 0x2d, 0xe1, 0xf4, 0x0b, 0x66, 0x99, 0x0f, 0xea,
- 0x8a, 0x32, 0xc8, 0xc9,
- },
- { /* 8 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xfb, 0xde, 0xe0, 0xaf, 0x10, 0xc9, 0xf6, 0x49, 0xbe, 0xe7, 0x6e, 0xa4,
- 0x6a, 0x2b, 0x9c, 0xf3,
- 0x35, 0x7f, 0x03, 0x9d, 0x20, 0x51, 0x2f, 0x92, 0xbf, 0x0d, 0xdc, 0x8b,
- 0xd4, 0x56, 0xfb, 0x25,
- 0xce, 0xa1, 0xe3, 0x32, 0x30, 0x98, 0xd9, 0xdb, 0x01, 0xea, 0xb2, 0x2f,
- 0xbe, 0x7d, 0x67, 0xd6,
- 0x6a, 0xfe, 0x06, 0xf9, 0x40, 0xa2, 0x5e, 0xe7, 0xbd, 0x1a, 0x7b, 0xd5,
- 0x6b, 0xac, 0x35, 0x4a,
- 0x91, 0x20, 0xe6, 0x56, 0x50, 0x6b, 0xa8, 0xae, 0x03, 0xfd, 0x15, 0x71,
- 0x01, 0x87, 0xa9, 0xb9,
- 0x5f, 0x81, 0x05, 0x64, 0x60, 0xf3, 0x71, 0x75, 0x02, 0x17, 0xa7, 0x5e,
- 0xbf, 0xfa, 0xce, 0x6f,
- 0xa4, 0x5f, 0xe5, 0xcb, 0x70, 0x3a, 0x87, 0x3c, 0xbc, 0xf0, 0xc9, 0xfa,
- 0xd5, 0xd1, 0x52, 0x9c,
- 0xd4, 0x3f, 0x0c, 0x31, 0x80, 0x87, 0xbc, 0x0d, 0xb9, 0x34, 0xf6, 0x69,
- 0xd6, 0x9b, 0x6a, 0x94,
- 0x2f, 0xe1, 0xec, 0x9e, 0x90, 0x4e, 0x4a, 0x44, 0x07, 0xd3, 0x98, 0xcd,
- 0xbc, 0xb0, 0xf6, 0x67,
- 0xe1, 0x40, 0x0f, 0xac, 0xa0, 0xd6, 0x93, 0x9f, 0x06, 0x39, 0x2a, 0xe2,
- 0x02, 0xcd, 0x91, 0xb1,
- 0x1a, 0x9e, 0xef, 0x03, 0xb0, 0x1f, 0x65, 0xd6, 0xb8, 0xde, 0x44, 0x46,
- 0x68, 0xe6, 0x0d, 0x42,
- 0xbe, 0xc1, 0x0a, 0xc8, 0xc0, 0x25, 0xe2, 0xea, 0x04, 0x2e, 0x8d, 0xbc,
- 0xbd, 0x37, 0x5f, 0xde,
- 0x45, 0x1f, 0xea, 0x67, 0xd0, 0xec, 0x14, 0xa3, 0xba, 0xc9, 0xe3, 0x18,
- 0xd7, 0x1c, 0xc3, 0x2d,
- 0x8b, 0xbe, 0x09, 0x55, 0xe0, 0x74, 0xcd, 0x78, 0xbb, 0x23, 0x51, 0x37,
- 0x69, 0x61, 0xa4, 0xfb,
- 0x70, 0x60, 0xe9, 0xfa, 0xf0, 0xbd, 0x3b, 0x31, 0x05, 0xc4, 0x3f, 0x93,
- 0x03, 0x4a, 0x38, 0x08,
- 0x6b, 0x7e, 0x18, 0x62, 0xc3, 0xcd, 0xbb, 0x1a, 0xb1, 0x68, 0x2f, 0xd2,
- 0x6f, 0xf5, 0xd4, 0xeb,
- 0x90, 0xa0, 0xf8, 0xcd, 0xd3, 0x04, 0x4d, 0x53, 0x0f, 0x8f, 0x41, 0x76,
- 0x05, 0xde, 0x48, 0x18,
- 0x5e, 0x01, 0x1b, 0xff, 0xe3, 0x9c, 0x94, 0x88, 0x0e, 0x65, 0xf3, 0x59,
- 0xbb, 0xa3, 0x2f, 0xce,
- 0xa5, 0xdf, 0xfb, 0x50, 0xf3, 0x55, 0x62, 0xc1, 0xb0, 0x82, 0x9d, 0xfd,
- 0xd1, 0x88, 0xb3, 0x3d,
- 0x01, 0x80, 0x1e, 0x9b, 0x83, 0x6f, 0xe5, 0xfd, 0x0c, 0x72, 0x54, 0x07,
- 0x04, 0x59, 0xe1, 0xa1,
- 0xfa, 0x5e, 0xfe, 0x34, 0x93, 0xa6, 0x13, 0xb4, 0xb2, 0x95, 0x3a, 0xa3,
- 0x6e, 0x72, 0x7d, 0x52,
- 0x34, 0xff, 0x1d, 0x06, 0xa3, 0x3e, 0xca, 0x6f, 0xb3, 0x7f, 0x88, 0x8c,
- 0xd0, 0x0f, 0x1a, 0x84,
- 0xcf, 0x21, 0xfd, 0xa9, 0xb3, 0xf7, 0x3c, 0x26, 0x0d, 0x98, 0xe6, 0x28,
- 0xba, 0x24, 0x86, 0x77,
- 0xbf, 0x41, 0x14, 0x53, 0x43, 0x4a, 0x07, 0x17, 0x08, 0x5c, 0xd9, 0xbb,
- 0xb9, 0x6e, 0xbe, 0x7f,
- 0x44, 0x9f, 0xf4, 0xfc, 0x53, 0x83, 0xf1, 0x5e, 0xb6, 0xbb, 0xb7, 0x1f,
- 0xd3, 0x45, 0x22, 0x8c,
- 0x8a, 0x3e, 0x17, 0xce, 0x63, 0x1b, 0x28, 0x85, 0xb7, 0x51, 0x05, 0x30,
- 0x6d, 0x38, 0x45, 0x5a,
- 0x71, 0xe0, 0xf7, 0x61, 0x73, 0xd2, 0xde, 0xcc, 0x09, 0xb6, 0x6b, 0x94,
- 0x07, 0x13, 0xd9, 0xa9,
- 0xd5, 0xbf, 0x12, 0xaa, 0x03, 0xe8, 0x59, 0xf0, 0xb5, 0x46, 0xa2, 0x6e,
- 0xd2, 0xc2, 0x8b, 0x35,
- 0x2e, 0x61, 0xf2, 0x05, 0x13, 0x21, 0xaf, 0xb9, 0x0b, 0xa1, 0xcc, 0xca,
- 0xb8, 0xe9, 0x17, 0xc6,
- 0xe0, 0xc0, 0x11, 0x37, 0x23, 0xb9, 0x76, 0x62, 0x0a, 0x4b, 0x7e, 0xe5,
- 0x06, 0x94, 0x70, 0x10,
- 0x1b, 0x1e, 0xf1, 0x98, 0x33, 0x70, 0x80, 0x2b, 0xb4, 0xac, 0x10, 0x41,
- 0x6c, 0xbf, 0xec, 0xe3,
- 0xd6, 0xfc, 0x30, 0xc4, 0x45, 0x59, 0xb5, 0x34, 0xa1, 0xd0, 0x5e, 0x67,
- 0xde, 0x29, 0x6b, 0x15,
- 0x2d, 0x22, 0xd0, 0x6b, 0x55, 0x90, 0x43, 0x7d, 0x1f, 0x37, 0x30, 0xc3,
- 0xb4, 0x02, 0xf7, 0xe6,
- 0xe3, 0x83, 0x33, 0x59, 0x65, 0x08, 0x9a, 0xa6, 0x1e, 0xdd, 0x82, 0xec,
- 0x0a, 0x7f, 0x90, 0x30,
- 0x18, 0x5d, 0xd3, 0xf6, 0x75, 0xc1, 0x6c, 0xef, 0xa0, 0x3a, 0xec, 0x48,
- 0x60, 0x54, 0x0c, 0xc3,
- 0xbc, 0x02, 0x36, 0x3d, 0x05, 0xfb, 0xeb, 0xd3, 0x1c, 0xca, 0x25, 0xb2,
- 0xb5, 0x85, 0x5e, 0x5f,
- 0x47, 0xdc, 0xd6, 0x92, 0x15, 0x32, 0x1d, 0x9a, 0xa2, 0x2d, 0x4b, 0x16,
- 0xdf, 0xae, 0xc2, 0xac,
- 0x89, 0x7d, 0x35, 0xa0, 0x25, 0xaa, 0xc4, 0x41, 0xa3, 0xc7, 0xf9, 0x39,
- 0x61, 0xd3, 0xa5, 0x7a,
- 0x72, 0xa3, 0xd5, 0x0f, 0x35, 0x63, 0x32, 0x08, 0x1d, 0x20, 0x97, 0x9d,
- 0x0b, 0xf8, 0x39, 0x89,
- 0x02, 0xc3, 0x3c, 0xf5, 0xc5, 0xde, 0x09, 0x39, 0x18, 0xe4, 0xa8, 0x0e,
- 0x08, 0xb2, 0x01, 0x81,
- 0xf9, 0x1d, 0xdc, 0x5a, 0xd5, 0x17, 0xff, 0x70, 0xa6, 0x03, 0xc6, 0xaa,
- 0x62, 0x99, 0x9d, 0x72,
- 0x37, 0xbc, 0x3f, 0x68, 0xe5, 0x8f, 0x26, 0xab, 0xa7, 0xe9, 0x74, 0x85,
- 0xdc, 0xe4, 0xfa, 0xa4,
- 0xcc, 0x62, 0xdf, 0xc7, 0xf5, 0x46, 0xd0, 0xe2, 0x19, 0x0e, 0x1a, 0x21,
- 0xb6, 0xcf, 0x66, 0x57,
- 0x68, 0x3d, 0x3a, 0x0c, 0x85, 0x7c, 0x57, 0xde, 0xa5, 0xfe, 0xd3, 0xdb,
- 0x63, 0x1e, 0x34, 0xcb,
- 0x93, 0xe3, 0xda, 0xa3, 0x95, 0xb5, 0xa1, 0x97, 0x1b, 0x19, 0xbd, 0x7f,
- 0x09, 0x35, 0xa8, 0x38,
- 0x5d, 0x42, 0x39, 0x91, 0xa5, 0x2d, 0x78, 0x4c, 0x1a, 0xf3, 0x0f, 0x50,
- 0xb7, 0x48, 0xcf, 0xee,
- 0xa6, 0x9c, 0xd9, 0x3e, 0xb5, 0xe4, 0x8e, 0x05, 0xa4, 0x14, 0x61, 0xf4,
- 0xdd, 0x63, 0x53, 0x1d,
- 0xbd, 0x82, 0x28, 0xa6, 0x86, 0x94, 0x0e, 0x2e, 0x10, 0xb8, 0x71, 0xb5,
- 0xb1, 0xdc, 0xbf, 0xfe,
- 0x46, 0x5c, 0xc8, 0x09, 0x96, 0x5d, 0xf8, 0x67, 0xae, 0x5f, 0x1f, 0x11,
- 0xdb, 0xf7, 0x23, 0x0d,
- 0x88, 0xfd, 0x2b, 0x3b, 0xa6, 0xc5, 0x21, 0xbc, 0xaf, 0xb5, 0xad, 0x3e,
- 0x65, 0x8a, 0x44, 0xdb,
- 0x73, 0x23, 0xcb, 0x94, 0xb6, 0x0c, 0xd7, 0xf5, 0x11, 0x52, 0xc3, 0x9a,
- 0x0f, 0xa1, 0xd8, 0x28,
- 0xd7, 0x7c, 0x2e, 0x5f, 0xc6, 0x36, 0x50, 0xc9, 0xad, 0xa2, 0x0a, 0x60,
- 0xda, 0x70, 0x8a, 0xb4,
- 0x2c, 0xa2, 0xce, 0xf0, 0xd6, 0xff, 0xa6, 0x80, 0x13, 0x45, 0x64, 0xc4,
- 0xb0, 0x5b, 0x16, 0x47,
- 0xe2, 0x03, 0x2d, 0xc2, 0xe6, 0x67, 0x7f, 0x5b, 0x12, 0xaf, 0xd6, 0xeb,
- 0x0e, 0x26, 0x71, 0x91,
- 0x19, 0xdd, 0xcd, 0x6d, 0xf6, 0xae, 0x89, 0x12, 0xac, 0x48, 0xb8, 0x4f,
- 0x64, 0x0d, 0xed, 0x62,
- 0x69, 0xbd, 0x24, 0x97, 0x06, 0x13, 0xb2, 0x23, 0xa9, 0x8c, 0x87, 0xdc,
- 0x67, 0x47, 0xd5, 0x6a,
- 0x92, 0x63, 0xc4, 0x38, 0x16, 0xda, 0x44, 0x6a, 0x17, 0x6b, 0xe9, 0x78,
- 0x0d, 0x6c, 0x49, 0x99,
- 0x5c, 0xc2, 0x27, 0x0a, 0x26, 0x42, 0x9d, 0xb1, 0x16, 0x81, 0x5b, 0x57,
- 0xb3, 0x11, 0x2e, 0x4f,
- 0xa7, 0x1c, 0xc7, 0xa5, 0x36, 0x8b, 0x6b, 0xf8, 0xa8, 0x66, 0x35, 0xf3,
- 0xd9, 0x3a, 0xb2, 0xbc,
- 0x03, 0x43, 0x22, 0x6e, 0x46, 0xb1, 0xec, 0xc4, 0x14, 0x96, 0xfc, 0x09,
- 0x0c, 0xeb, 0xe0, 0x20,
- 0xf8, 0x9d, 0xc2, 0xc1, 0x56, 0x78, 0x1a, 0x8d, 0xaa, 0x71, 0x92, 0xad,
- 0x66, 0xc0, 0x7c, 0xd3,
- 0x36, 0x3c, 0x21, 0xf3, 0x66, 0xe0, 0xc3, 0x56, 0xab, 0x9b, 0x20, 0x82,
- 0xd8, 0xbd, 0x1b, 0x05,
- 0xcd, 0xe2, 0xc1, 0x5c, 0x76, 0x29, 0x35, 0x1f, 0x15, 0x7c, 0x4e, 0x26,
- 0xb2, 0x96, 0x87, 0xf6,
- 0x6f, 0x3b, 0x60, 0x4b, 0x8a, 0xb2, 0xa9, 0x68, 0x81, 0x63, 0xbc, 0xce,
- 0x7f, 0x52, 0xd6, 0x2a,
- 0x94, 0xe5, 0x80, 0xe4, 0x9a, 0x7b, 0x5f, 0x21, 0x3f, 0x84, 0xd2, 0x6a,
- 0x15, 0x79, 0x4a, 0xd9,
- 0x5a, 0x44, 0x63, 0xd6, 0xaa, 0xe3, 0x86, 0xfa, 0x3e, 0x6e, 0x60, 0x45,
- 0xab, 0x04, 0x2d, 0x0f,
- 0xa1, 0x9a, 0x83, 0x79, 0xba, 0x2a, 0x70, 0xb3, 0x80, 0x89, 0x0e, 0xe1,
- 0xc1, 0x2f, 0xb1, 0xfc,
- 0x05, 0xc5, 0x66, 0xb2, 0xca, 0x10, 0xf7, 0x8f, 0x3c, 0x79, 0xc7, 0x1b,
- 0x14, 0xfe, 0xe3, 0x60,
- 0xfe, 0x1b, 0x86, 0x1d, 0xda, 0xd9, 0x01, 0xc6, 0x82, 0x9e, 0xa9, 0xbf,
- 0x7e, 0xd5, 0x7f, 0x93,
- 0x30, 0xba, 0x65, 0x2f, 0xea, 0x41, 0xd8, 0x1d, 0x83, 0x74, 0x1b, 0x90,
- 0xc0, 0xa8, 0x18, 0x45,
- 0xcb, 0x64, 0x85, 0x80, 0xfa, 0x88, 0x2e, 0x54, 0x3d, 0x93, 0x75, 0x34,
- 0xaa, 0x83, 0x84, 0xb6,
- 0xbb, 0x04, 0x6c, 0x7a, 0x0a, 0x35, 0x15, 0x65, 0x38, 0x57, 0x4a, 0xa7,
- 0xa9, 0xc9, 0xbc, 0xbe,
- 0x40, 0xda, 0x8c, 0xd5, 0x1a, 0xfc, 0xe3, 0x2c, 0x86, 0xb0, 0x24, 0x03,
- 0xc3, 0xe2, 0x20, 0x4d,
- 0x8e, 0x7b, 0x6f, 0xe7, 0x2a, 0x64, 0x3a, 0xf7, 0x87, 0x5a, 0x96, 0x2c,
- 0x7d, 0x9f, 0x47, 0x9b,
- 0x75, 0xa5, 0x8f, 0x48, 0x3a, 0xad, 0xcc, 0xbe, 0x39, 0xbd, 0xf8, 0x88,
- 0x17, 0xb4, 0xdb, 0x68,
- 0xd1, 0xfa, 0x6a, 0x83, 0x4a, 0x97, 0x4b, 0x82, 0x85, 0x4d, 0x31, 0x72,
- 0xc2, 0x65, 0x89, 0xf4,
- 0x2a, 0x24, 0x8a, 0x2c, 0x5a, 0x5e, 0xbd, 0xcb, 0x3b, 0xaa, 0x5f, 0xd6,
- 0xa8, 0x4e, 0x15, 0x07,
- 0xe4, 0x85, 0x69, 0x1e, 0x6a, 0xc6, 0x64, 0x10, 0x3a, 0x40, 0xed, 0xf9,
- 0x16, 0x33, 0x72, 0xd1,
- 0x1f, 0x5b, 0x89, 0xb1, 0x7a, 0x0f, 0x92, 0x59, 0x84, 0xa7, 0x83, 0x5d,
- 0x7c, 0x18, 0xee, 0x22,
- 0x04, 0x45, 0x78, 0x29, 0x49, 0x7f, 0x12, 0x72, 0x30, 0x0b, 0x93, 0x1c,
- 0x10, 0xa7, 0x02, 0xc1,
- 0xff, 0x9b, 0x98, 0x86, 0x59, 0xb6, 0xe4, 0x3b, 0x8e, 0xec, 0xfd, 0xb8,
- 0x7a, 0x8c, 0x9e, 0x32,
- 0x31, 0x3a, 0x7b, 0xb4, 0x69, 0x2e, 0x3d, 0xe0, 0x8f, 0x06, 0x4f, 0x97,
- 0xc4, 0xf1, 0xf9, 0xe4,
- 0xca, 0xe4, 0x9b, 0x1b, 0x79, 0xe7, 0xcb, 0xa9, 0x31, 0xe1, 0x21, 0x33,
- 0xae, 0xda, 0x65, 0x17,
- 0x6e, 0xbb, 0x7e, 0xd0, 0x09, 0xdd, 0x4c, 0x95, 0x8d, 0x11, 0xe8, 0xc9,
- 0x7b, 0x0b, 0x37, 0x8b,
- 0x95, 0x65, 0x9e, 0x7f, 0x19, 0x14, 0xba, 0xdc, 0x33, 0xf6, 0x86, 0x6d,
- 0x11, 0x20, 0xab, 0x78,
- 0x5b, 0xc4, 0x7d, 0x4d, 0x29, 0x8c, 0x63, 0x07, 0x32, 0x1c, 0x34, 0x42,
- 0xaf, 0x5d, 0xcc, 0xae,
- 0xa0, 0x1a, 0x9d, 0xe2, 0x39, 0x45, 0x95, 0x4e, 0x8c, 0xfb, 0x5a, 0xe6,
- 0xc5, 0x76, 0x50, 0x5d,
- 0xd0, 0x7a, 0x74, 0x18, 0xc9, 0xf8, 0xae, 0x7f, 0x89, 0x3f, 0x65, 0x75,
- 0xc6, 0x3c, 0x68, 0x55,
- 0x2b, 0xa4, 0x94, 0xb7, 0xd9, 0x31, 0x58, 0x36, 0x37, 0xd8, 0x0b, 0xd1,
- 0xac, 0x17, 0xf4, 0xa6,
- 0xe5, 0x05, 0x77, 0x85, 0xe9, 0xa9, 0x81, 0xed, 0x36, 0x32, 0xb9, 0xfe,
- 0x12, 0x6a, 0x93, 0x70,
- 0x1e, 0xdb, 0x97, 0x2a, 0xf9, 0x60, 0x77, 0xa4, 0x88, 0xd5, 0xd7, 0x5a,
- 0x78, 0x41, 0x0f, 0x83,
- 0xba, 0x84, 0x72, 0xe1, 0x89, 0x5a, 0xf0, 0x98, 0x34, 0x25, 0x1e, 0xa0,
- 0xad, 0x90, 0x5d, 0x1f,
- 0x41, 0x5a, 0x92, 0x4e, 0x99, 0x93, 0x06, 0xd1, 0x8a, 0xc2, 0x70, 0x04,
- 0xc7, 0xbb, 0xc1, 0xec,
- 0x8f, 0xfb, 0x71, 0x7c, 0xa9, 0x0b, 0xdf, 0x0a, 0x8b, 0x28, 0xc2, 0x2b,
- 0x79, 0xc6, 0xa6, 0x3a,
- 0x74, 0x25, 0x91, 0xd3, 0xb9, 0xc2, 0x29, 0x43, 0x35, 0xcf, 0xac, 0x8f,
- 0x13, 0xed, 0x3a, 0xc9,
- 0xb9, 0xc7, 0x50, 0x8f, 0xcf, 0xeb, 0x1c, 0x5c, 0x20, 0xb3, 0xe2, 0xa9,
- 0xa1, 0x7b, 0xbd, 0x3f,
- 0x42, 0x19, 0xb0, 0x20, 0xdf, 0x22, 0xea, 0x15, 0x9e, 0x54, 0x8c, 0x0d,
- 0xcb, 0x50, 0x21, 0xcc,
- 0x8c, 0xb8, 0x53, 0x12, 0xef, 0xba, 0x33, 0xce, 0x9f, 0xbe, 0x3e, 0x22,
- 0x75, 0x2d, 0x46, 0x1a,
- 0x77, 0x66, 0xb3, 0xbd, 0xff, 0x73, 0xc5, 0x87, 0x21, 0x59, 0x50, 0x86,
- 0x1f, 0x06, 0xda, 0xe9,
- 0xd3, 0x39, 0x56, 0x76, 0x8f, 0x49, 0x42, 0xbb, 0x9d, 0xa9, 0x99, 0x7c,
- 0xca, 0xd7, 0x88, 0x75,
- 0x28, 0xe7, 0xb6, 0xd9, 0x9f, 0x80, 0xb4, 0xf2, 0x23, 0x4e, 0xf7, 0xd8,
- 0xa0, 0xfc, 0x14, 0x86,
- 0xe6, 0x46, 0x55, 0xeb, 0xaf, 0x18, 0x6d, 0x29, 0x22, 0xa4, 0x45, 0xf7,
- 0x1e, 0x81, 0x73, 0x50,
- 0x1d, 0x98, 0xb5, 0x44, 0xbf, 0xd1, 0x9b, 0x60, 0x9c, 0x43, 0x2b, 0x53,
- 0x74, 0xaa, 0xef, 0xa3,
- 0x6d, 0xf8, 0x5c, 0xbe, 0x4f, 0x6c, 0xa0, 0x51, 0x99, 0x87, 0x14, 0xc0,
- 0x77, 0xe0, 0xd7, 0xab,
- 0x96, 0x26, 0xbc, 0x11, 0x5f, 0xa5, 0x56, 0x18, 0x27, 0x60, 0x7a, 0x64,
- 0x1d, 0xcb, 0x4b, 0x58,
- 0x58, 0x87, 0x5f, 0x23, 0x6f, 0x3d, 0x8f, 0xc3, 0x26, 0x8a, 0xc8, 0x4b,
- 0xa3, 0xb6, 0x2c, 0x8e,
- 0xa3, 0x59, 0xbf, 0x8c, 0x7f, 0xf4, 0x79, 0x8a, 0x98, 0x6d, 0xa6, 0xef,
- 0xc9, 0x9d, 0xb0, 0x7d,
- 0x07, 0x06, 0x5a, 0x47, 0x0f, 0xce, 0xfe, 0xb6, 0x24, 0x9d, 0x6f, 0x15,
- 0x1c, 0x4c, 0xe2, 0xe1,
- 0xfc, 0xd8, 0xba, 0xe8, 0x1f, 0x07, 0x08, 0xff, 0x9a, 0x7a, 0x01, 0xb1,
- 0x76, 0x67, 0x7e, 0x12,
- 0x32, 0x79, 0x59, 0xda, 0x2f, 0x9f, 0xd1, 0x24, 0x9b, 0x90, 0xb3, 0x9e,
- 0xc8, 0x1a, 0x19, 0xc4,
- 0xc9, 0xa7, 0xb9, 0x75, 0x3f, 0x56, 0x27, 0x6d, 0x25, 0x77, 0xdd, 0x3a,
- 0xa2, 0x31, 0x85, 0x37,
- 0xd2, 0xb9, 0x48, 0xed, 0x0c, 0x26, 0xa7, 0x46, 0x91, 0xdb, 0xcd, 0x7b,
- 0xce, 0x8e, 0x69, 0xd4,
- 0x29, 0x67, 0xa8, 0x42, 0x1c, 0xef, 0x51, 0x0f, 0x2f, 0x3c, 0xa3, 0xdf,
- 0xa4, 0xa5, 0xf5, 0x27,
- 0xe7, 0xc6, 0x4b, 0x70, 0x2c, 0x77, 0x88, 0xd4, 0x2e, 0xd6, 0x11, 0xf0,
- 0x1a, 0xd8, 0x92, 0xf1,
- 0x1c, 0x18, 0xab, 0xdf, 0x3c, 0xbe, 0x7e, 0x9d, 0x90, 0x31, 0x7f, 0x54,
- 0x70, 0xf3, 0x0e, 0x02,
- 0xb8, 0x47, 0x4e, 0x14, 0x4c, 0x84, 0xf9, 0xa1, 0x2c, 0xc1, 0xb6, 0xae,
- 0xa5, 0x22, 0x5c, 0x9e,
- 0x43, 0x99, 0xae, 0xbb, 0x5c, 0x4d, 0x0f, 0xe8, 0x92, 0x26, 0xd8, 0x0a,
- 0xcf, 0x09, 0xc0, 0x6d,
- 0x8d, 0x38, 0x4d, 0x89, 0x6c, 0xd5, 0xd6, 0x33, 0x93, 0xcc, 0x6a, 0x25,
- 0x71, 0x74, 0xa7, 0xbb,
- 0x76, 0xe6, 0xad, 0x26, 0x7c, 0x1c, 0x20, 0x7a, 0x2d, 0x2b, 0x04, 0x81,
- 0x1b, 0x5f, 0x3b, 0x48,
- 0x06, 0x86, 0x44, 0xdc, 0x8c, 0xa1, 0x1b, 0x4b, 0x28, 0xef, 0x3b, 0x12,
- 0x18, 0x15, 0x03, 0x40,
- 0xfd, 0x58, 0xa4, 0x73, 0x9c, 0x68, 0xed, 0x02, 0x96, 0x08, 0x55, 0xb6,
- 0x72, 0x3e, 0x9f, 0xb3,
- 0x33, 0xf9, 0x47, 0x41, 0xac, 0xf0, 0x34, 0xd9, 0x97, 0xe2, 0xe7, 0x99,
- 0xcc, 0x43, 0xf8, 0x65,
- 0xc8, 0x27, 0xa7, 0xee, 0xbc, 0x39, 0xc2, 0x90, 0x29, 0x05, 0x89, 0x3d,
- 0xa6, 0x68, 0x64, 0x96,
- 0x6c, 0x78, 0x42, 0x25, 0xcc, 0x03, 0x45, 0xac, 0x95, 0xf5, 0x40, 0xc7,
- 0x73, 0xb9, 0x36, 0x0a,
- 0x97, 0xa6, 0xa2, 0x8a, 0xdc, 0xca, 0xb3, 0xe5, 0x2b, 0x12, 0x2e, 0x63,
- 0x19, 0x92, 0xaa, 0xf9,
- 0x59, 0x07, 0x41, 0xb8, 0xec, 0x52, 0x6a, 0x3e, 0x2a, 0xf8, 0x9c, 0x4c,
- 0xa7, 0xef, 0xcd, 0x2f,
- 0xa2, 0xd9, 0xa1, 0x17, 0xfc, 0x9b, 0x9c, 0x77, 0x94, 0x1f, 0xf2, 0xe8,
- 0xcd, 0xc4, 0x51, 0xdc,
- 0xde, 0x76, 0xc0, 0x96, 0xd7, 0xa7, 0x91, 0xd0, 0xc1, 0xc6, 0xbb, 0x5f,
- 0xfe, 0xa4, 0x6f, 0x54,
- 0x25, 0xa8, 0x20, 0x39, 0xc7, 0x6e, 0x67, 0x99, 0x7f, 0x21, 0xd5, 0xfb,
- 0x94, 0x8f, 0xf3, 0xa7,
- 0xeb, 0x09, 0xc3, 0x0b, 0xf7, 0xf6, 0xbe, 0x42, 0x7e, 0xcb, 0x67, 0xd4,
- 0x2a, 0xf2, 0x94, 0x71,
- 0x10, 0xd7, 0x23, 0xa4, 0xe7, 0x3f, 0x48, 0x0b, 0xc0, 0x2c, 0x09, 0x70,
- 0x40, 0xd9, 0x08, 0x82,
- 0xb4, 0x88, 0xc6, 0x6f, 0x97, 0x05, 0xcf, 0x37, 0x7c, 0xdc, 0xc0, 0x8a,
- 0x95, 0x08, 0x5a, 0x1e,
- 0x4f, 0x56, 0x26, 0xc0, 0x87, 0xcc, 0x39, 0x7e, 0xc2, 0x3b, 0xae, 0x2e,
- 0xff, 0x23, 0xc6, 0xed,
- 0x81, 0xf7, 0xc5, 0xf2, 0xb7, 0x54, 0xe0, 0xa5, 0xc3, 0xd1, 0x1c, 0x01,
- 0x41, 0x5e, 0xa1, 0x3b,
- 0x7a, 0x29, 0x25, 0x5d, 0xa7, 0x9d, 0x16, 0xec, 0x7d, 0x36, 0x72, 0xa5,
- 0x2b, 0x75, 0x3d, 0xc8,
- 0x0a, 0x49, 0xcc, 0xa7, 0x57, 0x20, 0x2d, 0xdd, 0x78, 0xf2, 0x4d, 0x36,
- 0x28, 0x3f, 0x05, 0xc0,
- 0xf1, 0x97, 0x2c, 0x08, 0x47, 0xe9, 0xdb, 0x94, 0xc6, 0x15, 0x23, 0x92,
- 0x42, 0x14, 0x99, 0x33,
- 0x3f, 0x36, 0xcf, 0x3a, 0x77, 0x71, 0x02, 0x4f, 0xc7, 0xff, 0x91, 0xbd,
- 0xfc, 0x69, 0xfe, 0xe5,
- 0xc4, 0xe8, 0x2f, 0x95, 0x67, 0xb8, 0xf4, 0x06, 0x79, 0x18, 0xff, 0x19,
- 0x96, 0x42, 0x62, 0x16,
- 0x60, 0xb7, 0xca, 0x5e, 0x17, 0x82, 0x73, 0x3a, 0xc5, 0xe8, 0x36, 0xe3,
- 0x43, 0x93, 0x30, 0x8a,
- 0x9b, 0x69, 0x2a, 0xf1, 0x07, 0x4b, 0x85, 0x73, 0x7b, 0x0f, 0x58, 0x47,
- 0x29, 0xb8, 0xac, 0x79,
- 0x55, 0xc8, 0xc9, 0xc3, 0x37, 0xd3, 0x5c, 0xa8, 0x7a, 0xe5, 0xea, 0x68,
- 0x97, 0xc5, 0xcb, 0xaf,
- 0xae, 0x16, 0x29, 0x6c, 0x27, 0x1a, 0xaa, 0xe1, 0xc4, 0x02, 0x84, 0xcc,
- 0xfd, 0xee, 0x57, 0x5c,
- 0xb5, 0x08, 0xd8, 0xf4, 0x14, 0x6a, 0x2a, 0xca, 0x70, 0xae, 0x94, 0x8d,
- 0x91, 0x51, 0xbb, 0xbf,
- 0x4e, 0xd6, 0x38, 0x5b, 0x04, 0xa3, 0xdc, 0x83, 0xce, 0x49, 0xfa, 0x29,
- 0xfb, 0x7a, 0x27, 0x4c,
- 0x80, 0x77, 0xdb, 0x69, 0x34, 0x3b, 0x05, 0x58, 0xcf, 0xa3, 0x48, 0x06,
- 0x45, 0x07, 0x40, 0x9a,
- 0x7b, 0xa9, 0x3b, 0xc6, 0x24, 0xf2, 0xf3, 0x11, 0x71, 0x44, 0x26, 0xa2,
- 0x2f, 0x2c, 0xdc, 0x69,
- 0xdf, 0xf6, 0xde, 0x0d, 0x54, 0xc8, 0x74, 0x2d, 0xcd, 0xb4, 0xef, 0x58,
- 0xfa, 0xfd, 0x8e, 0xf5,
- 0x24, 0x28, 0x3e, 0xa2, 0x44, 0x01, 0x82, 0x64, 0x73, 0x53, 0x81, 0xfc,
- 0x90, 0xd6, 0x12, 0x06,
- 0xea, 0x89, 0xdd, 0x90, 0x74, 0x99, 0x5b, 0xbf, 0x72, 0xb9, 0x33, 0xd3,
- 0x2e, 0xab, 0x75, 0xd0,
- 0x11, 0x57, 0x3d, 0x3f, 0x64, 0x50, 0xad, 0xf6, 0xcc, 0x5e, 0x5d, 0x77,
- 0x44, 0x80, 0xe9, 0x23,
- 0x61, 0x37, 0xd4, 0xc5, 0x94, 0xed, 0x96, 0xc7, 0xc9, 0x9a, 0x62, 0xe4,
- 0x47, 0xca, 0xd1, 0x2b,
- 0x9a, 0xe9, 0x34, 0x6a, 0x84, 0x24, 0x60, 0x8e, 0x77, 0x7d, 0x0c, 0x40,
- 0x2d, 0xe1, 0x4d, 0xd8,
- 0x54, 0x48, 0xd7, 0x58, 0xb4, 0xbc, 0xb9, 0x55, 0x76, 0x97, 0xbe, 0x6f,
- 0x93, 0x9c, 0x2a, 0x0e,
- 0xaf, 0x96, 0x37, 0xf7, 0xa4, 0x75, 0x4f, 0x1c, 0xc8, 0x70, 0xd0, 0xcb,
- 0xf9, 0xb7, 0xb6, 0xfd,
- 0x0b, 0xc9, 0xd2, 0x3c, 0xd4, 0x4f, 0xc8, 0x20, 0x74, 0x80, 0x19, 0x31,
- 0x2c, 0x66, 0xe4, 0x61,
- 0xf0, 0x17, 0x32, 0x93, 0xc4, 0x86, 0x3e, 0x69, 0xca, 0x67, 0x77, 0x95,
- 0x46, 0x4d, 0x78, 0x92,
- 0x3e, 0xb6, 0xd1, 0xa1, 0xf4, 0x1e, 0xe7, 0xb2, 0xcb, 0x8d, 0xc5, 0xba,
- 0xf8, 0x30, 0x1f, 0x44,
- 0xc5, 0x68, 0x31, 0x0e, 0xe4, 0xd7, 0x11, 0xfb, 0x75, 0x6a, 0xab, 0x1e,
- 0x92, 0x1b, 0x83, 0xb7,
- 0x08, 0x8a, 0xf0, 0x52, 0x92, 0xfe, 0x24, 0xe4, 0x60, 0x16, 0xe5, 0x38,
- 0x20, 0x8d, 0x04, 0x41,
- 0xf3, 0x54, 0x10, 0xfd, 0x82, 0x37, 0xd2, 0xad, 0xde, 0xf1, 0x8b, 0x9c,
- 0x4a, 0xa6, 0x98, 0xb2,
- 0x3d, 0xf5, 0xf3, 0xcf, 0xb2, 0xaf, 0x0b, 0x76, 0xdf, 0x1b, 0x39, 0xb3,
- 0xf4, 0xdb, 0xff, 0x64,
- 0xc6, 0x2b, 0x13, 0x60, 0xa2, 0x66, 0xfd, 0x3f, 0x61, 0xfc, 0x57, 0x17,
- 0x9e, 0xf0, 0x63, 0x97,
- 0x62, 0x74, 0xf6, 0xab, 0xd2, 0x5c, 0x7a, 0x03, 0xdd, 0x0c, 0x9e, 0xed,
- 0x4b, 0x21, 0x31, 0x0b,
- 0x99, 0xaa, 0x16, 0x04, 0xc2, 0x95, 0x8c, 0x4a, 0x63, 0xeb, 0xf0, 0x49,
- 0x21, 0x0a, 0xad, 0xf8,
- 0x57, 0x0b, 0xf5, 0x36, 0xf2, 0x0d, 0x55, 0x91, 0x62, 0x01, 0x42, 0x66,
- 0x9f, 0x77, 0xca, 0x2e,
- 0xac, 0xd5, 0x15, 0x99, 0xe2, 0xc4, 0xa3, 0xd8, 0xdc, 0xe6, 0x2c, 0xc2,
- 0xf5, 0x5c, 0x56, 0xdd,
- 0xdc, 0xb5, 0xfc, 0x63, 0x12, 0x79, 0x98, 0xe9, 0xd9, 0x22, 0x13, 0x51,
- 0xf6, 0x16, 0x6e, 0xd5,
- 0x27, 0x6b, 0x1c, 0xcc, 0x02, 0xb0, 0x6e, 0xa0, 0x67, 0xc5, 0x7d, 0xf5,
- 0x9c, 0x3d, 0xf2, 0x26,
- 0xe9, 0xca, 0xff, 0xfe, 0x32, 0x28, 0xb7, 0x7b, 0x66, 0x2f, 0xcf, 0xda,
- 0x22, 0x40, 0x95, 0xf0,
- 0x12, 0x14, 0x1f, 0x51, 0x22, 0xe1, 0x41, 0x32, 0xd8, 0xc8, 0xa1, 0x7e,
- 0x48, 0x6b, 0x09, 0x03,
- 0xb6, 0x4b, 0xfa, 0x9a, 0x52, 0xdb, 0xc6, 0x0e, 0x64, 0x38, 0x68, 0x84,
- 0x9d, 0xba, 0x5b, 0x9f,
- 0x4d, 0x95, 0x1a, 0x35, 0x42, 0x12, 0x30, 0x47, 0xda, 0xdf, 0x06, 0x20,
- 0xf7, 0x91, 0xc7, 0x6c,
- 0x83, 0x34, 0xf9, 0x07, 0x72, 0x8a, 0xe9, 0x9c, 0xdb, 0x35, 0xb4, 0x0f,
- 0x49, 0xec, 0xa0, 0xba,
- 0x78, 0xea, 0x19, 0xa8, 0x62, 0x43, 0x1f, 0xd5, 0x65, 0xd2, 0xda, 0xab,
- 0x23, 0xc7, 0x3c, 0x49,
- 0x63, 0xf4, 0xe8, 0x30, 0x51, 0x33, 0x9f, 0xfe, 0xd1, 0x7e, 0xca, 0xea,
- 0x4f, 0x78, 0xd0, 0xaa,
- 0x98, 0x2a, 0x08, 0x9f, 0x41, 0xfa, 0x69, 0xb7, 0x6f, 0x99, 0xa4, 0x4e,
- 0x25, 0x53, 0x4c, 0x59,
- 0x56, 0x8b, 0xeb, 0xad, 0x71, 0x62, 0xb0, 0x6c, 0x6e, 0x73, 0x16, 0x61,
- 0x9b, 0x2e, 0x2b, 0x8f,
- 0xad, 0x55, 0x0b, 0x02, 0x61, 0xab, 0x46, 0x25, 0xd0, 0x94, 0x78, 0xc5,
- 0xf1, 0x05, 0xb7, 0x7c,
- 0x09, 0x0a, 0xee, 0xc9, 0x11, 0x91, 0xc1, 0x19, 0x6c, 0x64, 0xb1, 0x3f,
- 0x24, 0xd4, 0xe5, 0xe0,
- 0xf2, 0xd4, 0x0e, 0x66, 0x01, 0x58, 0x37, 0x50, 0xd2, 0x83, 0xdf, 0x9b,
- 0x4e, 0xff, 0x79, 0x13,
- 0x3c, 0x75, 0xed, 0x54, 0x31, 0xc0, 0xee, 0x8b, 0xd3, 0x69, 0x6d, 0xb4,
- 0xf0, 0x82, 0x1e, 0xc5,
- 0xc7, 0xab, 0x0d, 0xfb, 0x21, 0x09, 0x18, 0xc2, 0x6d, 0x8e, 0x03, 0x10,
- 0x9a, 0xa9, 0x82, 0x36,
- 0xb7, 0xcb, 0xe4, 0x01, 0xd1, 0xb4, 0x23, 0xf3, 0x68, 0x4a, 0x3c, 0x83,
- 0x99, 0xe3, 0xba, 0x3e,
- 0x4c, 0x15, 0x04, 0xae, 0xc1, 0x7d, 0xd5, 0xba, 0xd6, 0xad, 0x52, 0x27,
- 0xf3, 0xc8, 0x26, 0xcd,
- 0x82, 0xb4, 0xe7, 0x9c, 0xf1, 0xe5, 0x0c, 0x61, 0xd7, 0x47, 0xe0, 0x08,
- 0x4d, 0xb5, 0x41, 0x1b,
- 0x79, 0x6a, 0x07, 0x33, 0xe1, 0x2c, 0xfa, 0x28, 0x69, 0xa0, 0x8e, 0xac,
- 0x27, 0x9e, 0xdd, 0xe8,
- 0xdd, 0x35, 0xe2, 0xf8, 0x91, 0x16, 0x7d, 0x14, 0xd5, 0x50, 0x47, 0x56,
- 0xf2, 0x4f, 0x8f, 0x74,
- 0x26, 0xeb, 0x02, 0x57, 0x81, 0xdf, 0x8b, 0x5d, 0x6b, 0xb7, 0x29, 0xf2,
- 0x98, 0x64, 0x13, 0x87,
- 0xe8, 0x4a, 0xe1, 0x65, 0xb1, 0x47, 0x52, 0x86, 0x6a, 0x5d, 0x9b, 0xdd,
- 0x26, 0x19, 0x74, 0x51,
- 0x13, 0x94, 0x01, 0xca, 0xa1, 0x8e, 0xa4, 0xcf, 0xd4, 0xba, 0xf5, 0x79,
- 0x4c, 0x32, 0xe8, 0xa2,
- 0xb1, 0x4d, 0xa0, 0xdd, 0x5d, 0x15, 0x38, 0xb8, 0x40, 0xa5, 0x07, 0x91,
- 0x81, 0xf6, 0xb9, 0x7e,
- 0x4a, 0x93, 0x40, 0x72, 0x4d, 0xdc, 0xce, 0xf1, 0xfe, 0x42, 0x69, 0x35,
- 0xeb, 0xdd, 0x25, 0x8d,
- 0x84, 0x32, 0xa3, 0x40, 0x7d, 0x44, 0x17, 0x2a, 0xff, 0xa8, 0xdb, 0x1a,
- 0x55, 0xa0, 0x42, 0x5b,
- 0x7f, 0xec, 0x43, 0xef, 0x6d, 0x8d, 0xe1, 0x63, 0x41, 0x4f, 0xb5, 0xbe,
- 0x3f, 0x8b, 0xde, 0xa8,
- 0xdb, 0xb3, 0xa6, 0x24, 0x1d, 0xb7, 0x66, 0x5f, 0xfd, 0xbf, 0x7c, 0x44,
- 0xea, 0x5a, 0x8c, 0x34,
- 0x20, 0x6d, 0x46, 0x8b, 0x0d, 0x7e, 0x90, 0x16, 0x43, 0x58, 0x12, 0xe0,
- 0x80, 0x71, 0x10, 0xc7,
- 0xee, 0xcc, 0xa5, 0xb9, 0x3d, 0xe6, 0x49, 0xcd, 0x42, 0xb2, 0xa0, 0xcf,
- 0x3e, 0x0c, 0x77, 0x11,
- 0x15, 0x12, 0x45, 0x16, 0x2d, 0x2f, 0xbf, 0x84, 0xfc, 0x55, 0xce, 0x6b,
- 0x54, 0x27, 0xeb, 0xe2,
- 0x65, 0x72, 0xac, 0xec, 0xdd, 0x92, 0x84, 0xb5, 0xf9, 0x91, 0xf1, 0xf8,
- 0x57, 0x6d, 0xd3, 0xea,
- 0x9e, 0xac, 0x4c, 0x43, 0xcd, 0x5b, 0x72, 0xfc, 0x47, 0x76, 0x9f, 0x5c,
- 0x3d, 0x46, 0x4f, 0x19,
- 0x50, 0x0d, 0xaf, 0x71, 0xfd, 0xc3, 0xab, 0x27, 0x46, 0x9c, 0x2d, 0x73,
- 0x83, 0x3b, 0x28, 0xcf,
- 0xab, 0xd3, 0x4f, 0xde, 0xed, 0x0a, 0x5d, 0x6e, 0xf8, 0x7b, 0x43, 0xd7,
- 0xe9, 0x10, 0xb4, 0x3c,
- 0x0f, 0x8c, 0xaa, 0x15, 0x9d, 0x30, 0xda, 0x52, 0x44, 0x8b, 0x8a, 0x2d,
- 0x3c, 0xc1, 0xe6, 0xa0,
- 0xf4, 0x52, 0x4a, 0xba, 0x8d, 0xf9, 0x2c, 0x1b, 0xfa, 0x6c, 0xe4, 0x89,
- 0x56, 0xea, 0x7a, 0x53,
- 0x3a, 0xf3, 0xa9, 0x88, 0xbd, 0x61, 0xf5, 0xc0, 0xfb, 0x86, 0x56, 0xa6,
- 0xe8, 0x97, 0x1d, 0x85,
- 0xc1, 0x2d, 0x49, 0x27, 0xad, 0xa8, 0x03, 0x89, 0x45, 0x61, 0x38, 0x02,
- 0x82, 0xbc, 0x81, 0x76,
- 0xda, 0x33, 0xb8, 0xbf, 0x9e, 0xd8, 0x83, 0xa2, 0xf1, 0xcd, 0x28, 0x43,
- 0xee, 0x03, 0x6d, 0x95,
- 0x21, 0xed, 0x58, 0x10, 0x8e, 0x11, 0x75, 0xeb, 0x4f, 0x2a, 0x46, 0xe7,
- 0x84, 0x28, 0xf1, 0x66,
- 0xef, 0x4c, 0xbb, 0x22, 0xbe, 0x89, 0xac, 0x30, 0x4e, 0xc0, 0xf4, 0xc8,
- 0x3a, 0x55, 0x96, 0xb0,
- 0x14, 0x92, 0x5b, 0x8d, 0xae, 0x40, 0x5a, 0x79, 0xf0, 0x27, 0x9a, 0x6c,
- 0x50, 0x7e, 0x0a, 0x43,
- 0xb0, 0xcd, 0xbe, 0x46, 0xde, 0x7a, 0xdd, 0x45, 0x4c, 0xd7, 0x53, 0x96,
- 0x85, 0xaf, 0x58, 0xdf,
- 0x4b, 0x13, 0x5e, 0xe9, 0xce, 0xb3, 0x2b, 0x0c, 0xf2, 0x30, 0x3d, 0x32,
- 0xef, 0x84, 0xc4, 0x2c,
- 0x85, 0xb2, 0xbd, 0xdb, 0xfe, 0x2b, 0xf2, 0xd7, 0xf3, 0xda, 0x8f, 0x1d,
- 0x51, 0xf9, 0xa3, 0xfa,
- 0x7e, 0x6c, 0x5d, 0x74, 0xee, 0xe2, 0x04, 0x9e, 0x4d, 0x3d, 0xe1, 0xb9,
- 0x3b, 0xd2, 0x3f, 0x09,
- 0x0e, 0x0c, 0xb4, 0x8e, 0x1e, 0x5f, 0x3f, 0xaf, 0x48, 0xf9, 0xde, 0x2a,
- 0x38, 0x98, 0x07, 0x01,
- 0xf5, 0xd2, 0x54, 0x21, 0x0e, 0x96, 0xc9, 0xe6, 0xf6, 0x1e, 0xb0, 0x8e,
- 0x52, 0xb3, 0x9b, 0xf2,
- 0x3b, 0x73, 0xb7, 0x13, 0x3e, 0x0e, 0x10, 0x3d, 0xf7, 0xf4, 0x02, 0xa1,
- 0xec, 0xce, 0xfc, 0x24,
- 0xc0, 0xad, 0x57, 0xbc, 0x2e, 0xc7, 0xe6, 0x74, 0x49, 0x13, 0x6c, 0x05,
- 0x86, 0xe5, 0x60, 0xd7,
- 0x64, 0xf2, 0xb2, 0x77, 0x5e, 0xfd, 0x61, 0x48, 0xf5, 0xe3, 0xa5, 0xff,
- 0x53, 0x34, 0x32, 0x4b,
- 0x9f, 0x2c, 0x52, 0xd8, 0x4e, 0x34, 0x97, 0x01, 0x4b, 0x04, 0xcb, 0x5b,
- 0x39, 0x1f, 0xae, 0xb8,
- 0x51, 0x8d, 0xb1, 0xea, 0x7e, 0xac, 0x4e, 0xda, 0x4a, 0xee, 0x79, 0x74,
- 0x87, 0x62, 0xc9, 0x6e,
- 0xaa, 0x53, 0x51, 0x45, 0x6e, 0x65, 0xb8, 0x93, 0xf4, 0x09, 0x17, 0xd0,
- 0xed, 0x49, 0x55, 0x9d,
- 0x67, 0xb1, 0x90, 0x19, 0x18, 0x4c, 0x8d, 0x8c, 0xe1, 0x75, 0x59, 0xf6,
- 0x5f, 0xdf, 0xd2, 0x6b,
- 0x9c, 0x6f, 0x70, 0xb6, 0x08, 0x85, 0x7b, 0xc5, 0x5f, 0x92, 0x37, 0x52,
- 0x35, 0xf4, 0x4e, 0x98,
- 0x52, 0xce, 0x93, 0x84, 0x38, 0x1d, 0xa2, 0x1e, 0x5e, 0x78, 0x85, 0x7d,
- 0x8b, 0x89, 0x29, 0x4e,
- 0xa9, 0x10, 0x73, 0x2b, 0x28, 0xd4, 0x54, 0x57, 0xe0, 0x9f, 0xeb, 0xd9,
- 0xe1, 0xa2, 0xb5, 0xbd,
- 0x0d, 0x4f, 0x96, 0xe0, 0x58, 0xee, 0xd3, 0x6b, 0x5c, 0x6f, 0x22, 0x23,
- 0x34, 0x73, 0xe7, 0x21,
- 0xf6, 0x91, 0x76, 0x4f, 0x48, 0x27, 0x25, 0x22, 0xe2, 0x88, 0x4c, 0x87,
- 0x5e, 0x58, 0x7b, 0xd2,
- 0x38, 0x30, 0x95, 0x7d, 0x78, 0xbf, 0xfc, 0xf9, 0xe3, 0x62, 0xfe, 0xa8,
- 0xe0, 0x25, 0x1c, 0x04,
- 0xc3, 0xee, 0x75, 0xd2, 0x68, 0x76, 0x0a, 0xb0, 0x5d, 0x85, 0x90, 0x0c,
- 0x8a, 0x0e, 0x80, 0xf7,
- 0xb3, 0x8e, 0x9c, 0x28, 0x98, 0xcb, 0x31, 0x81, 0x58, 0x41, 0xaf, 0x9f,
- 0x89, 0x44, 0xb8, 0xff,
- 0x48, 0x50, 0x7c, 0x87, 0x88, 0x02, 0xc7, 0xc8, 0xe6, 0xa6, 0xc1, 0x3b,
- 0xe3, 0x6f, 0x24, 0x0c,
- 0x86, 0xf1, 0x9f, 0xb5, 0xb8, 0x9a, 0x1e, 0x13, 0xe7, 0x4c, 0x73, 0x14,
- 0x5d, 0x12, 0x43, 0xda,
- 0x7d, 0x2f, 0x7f, 0x1a, 0xa8, 0x53, 0xe8, 0x5a, 0x59, 0xab, 0x1d, 0xb0,
- 0x37, 0x39, 0xdf, 0x29,
- 0xd9, 0x70, 0x9a, 0xd1, 0xd8, 0x69, 0x6f, 0x66, 0xe5, 0x5b, 0xd4, 0x4a,
- 0xe2, 0xe8, 0x8d, 0xb5,
- 0x22, 0xae, 0x7a, 0x7e, 0xc8, 0xa0, 0x99, 0x2f, 0x5b, 0xbc, 0xba, 0xee,
- 0x88, 0xc3, 0x11, 0x46,
- 0xec, 0x0f, 0x99, 0x4c, 0xf8, 0x38, 0x40, 0xf4, 0x5a, 0x56, 0x08, 0xc1,
- 0x36, 0xbe, 0x76, 0x90,
- 0x17, 0xd1, 0x79, 0xe3, 0xe8, 0xf1, 0xb6, 0xbd, 0xe4, 0xb1, 0x66, 0x65,
- 0x5c, 0x95, 0xea, 0x63,
- 0x0c, 0xcf, 0x88, 0x7b, 0xdb, 0x81, 0x36, 0x96, 0x50, 0x1d, 0x76, 0x24,
- 0x30, 0x2a, 0x06, 0x80,
- 0xf7, 0x11, 0x68, 0xd4, 0xcb, 0x48, 0xc0, 0xdf, 0xee, 0xfa, 0x18, 0x80,
- 0x5a, 0x01, 0x9a, 0x73,
- 0x39, 0xb0, 0x8b, 0xe6, 0xfb, 0xd0, 0x19, 0x04, 0xef, 0x10, 0xaa, 0xaf,
- 0xe4, 0x7c, 0xfd, 0xa5,
- 0xc2, 0x6e, 0x6b, 0x49, 0xeb, 0x19, 0xef, 0x4d, 0x51, 0xf7, 0xc4, 0x0b,
- 0x8e, 0x57, 0x61, 0x56,
- 0x66, 0x31, 0x8e, 0x82, 0x9b, 0x23, 0x68, 0x71, 0xed, 0x07, 0x0d, 0xf1,
- 0x5b, 0x86, 0x33, 0xca,
- 0x9d, 0xef, 0x6e, 0x2d, 0x8b, 0xea, 0x9e, 0x38, 0x53, 0xe0, 0x63, 0x55,
- 0x31, 0xad, 0xaf, 0x39,
- 0x53, 0x4e, 0x8d, 0x1f, 0xbb, 0x72, 0x47, 0xe3, 0x52, 0x0a, 0xd1, 0x7a,
- 0x8f, 0xd0, 0xc8, 0xef,
- 0xa8, 0x90, 0x6d, 0xb0, 0xab, 0xbb, 0xb1, 0xaa, 0xec, 0xed, 0xbf, 0xde,
- 0xe5, 0xfb, 0x54, 0x1c,
- 0xd8, 0xf0, 0x84, 0x4a, 0x5b, 0x06, 0x8a, 0x9b, 0xe9, 0x29, 0x80, 0x4d,
- 0xe6, 0xb1, 0x6c, 0x14,
- 0x23, 0x2e, 0x64, 0xe5, 0x4b, 0xcf, 0x7c, 0xd2, 0x57, 0xce, 0xee, 0xe9,
- 0x8c, 0x9a, 0xf0, 0xe7,
- 0xed, 0x8f, 0x87, 0xd7, 0x7b, 0x57, 0xa5, 0x09, 0x56, 0x24, 0x5c, 0xc6,
- 0x32, 0xe7, 0x97, 0x31,
- 0x16, 0x51, 0x67, 0x78, 0x6b, 0x9e, 0x53, 0x40, 0xe8, 0xc3, 0x32, 0x62,
- 0x58, 0xcc, 0x0b, 0xc2,
- 0xb2, 0x0e, 0x82, 0xb3, 0x1b, 0xa4, 0xd4, 0x7c, 0x54, 0x33, 0xfb, 0x98,
- 0x8d, 0x1d, 0x59, 0x5e,
- 0x49, 0xd0, 0x62, 0x1c, 0x0b, 0x6d, 0x22, 0x35, 0xea, 0xd4, 0x95, 0x3c,
- 0xe7, 0x36, 0xc5, 0xad,
- 0x87, 0x71, 0x81, 0x2e, 0x3b, 0xf5, 0xfb, 0xee, 0xeb, 0x3e, 0x27, 0x13,
- 0x59, 0x4b, 0xa2, 0x7b,
- 0x7c, 0xaf, 0x61, 0x81, 0x2b, 0x3c, 0x0d, 0xa7, 0x55, 0xd9, 0x49, 0xb7,
- 0x33, 0x60, 0x3e, 0x88,
- },
- { /* 9 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x6f, 0x5a, 0x3d, 0xbf, 0xad, 0xee, 0xab, 0xf1, 0xc4, 0xaf, 0x02,
- 0xd6, 0x1c, 0x89, 0xf2,
- 0x02, 0xde, 0xb4, 0x7a, 0xbd, 0x99, 0x1f, 0x95, 0x21, 0x4b, 0x9d, 0x04,
- 0x6f, 0x38, 0xd1, 0x27,
- 0x03, 0xb1, 0xee, 0x47, 0x02, 0x34, 0xf1, 0x3e, 0xd0, 0x8f, 0x32, 0x06,
- 0xb9, 0x24, 0x58, 0xd5,
- 0x04, 0x7f, 0xab, 0xf4, 0xb9, 0xf1, 0x3e, 0xe9, 0x42, 0x96, 0xf9, 0x08,
- 0xde, 0x70, 0x61, 0x4e,
- 0x05, 0x10, 0xf1, 0xc9, 0x06, 0x5c, 0xd0, 0x42, 0xb3, 0x52, 0x56, 0x0a,
- 0x08, 0x6c, 0xe8, 0xbc,
- 0x06, 0xa1, 0x1f, 0x8e, 0x04, 0x68, 0x21, 0x7c, 0x63, 0xdd, 0x64, 0x0c,
- 0xb1, 0x48, 0xb0, 0x69,
- 0x07, 0xce, 0x45, 0xb3, 0xbb, 0xc5, 0xcf, 0xd7, 0x92, 0x19, 0xcb, 0x0e,
- 0x67, 0x54, 0x39, 0x9b,
- 0x08, 0xfe, 0x95, 0x2b, 0xb1, 0x21, 0x7c, 0x11, 0x84, 0xef, 0x31, 0x10,
- 0x7f, 0xe0, 0xc2, 0x9c,
- 0x09, 0x91, 0xcf, 0x16, 0x0e, 0x8c, 0x92, 0xba, 0x75, 0x2b, 0x9e, 0x12,
- 0xa9, 0xfc, 0x4b, 0x6e,
- 0x0a, 0x20, 0x21, 0x51, 0x0c, 0xb8, 0x63, 0x84, 0xa5, 0xa4, 0xac, 0x14,
- 0x10, 0xd8, 0x13, 0xbb,
- 0x0b, 0x4f, 0x7b, 0x6c, 0xb3, 0x15, 0x8d, 0x2f, 0x54, 0x60, 0x03, 0x16,
- 0xc6, 0xc4, 0x9a, 0x49,
- 0x0c, 0x81, 0x3e, 0xdf, 0x08, 0xd0, 0x42, 0xf8, 0xc6, 0x79, 0xc8, 0x18,
- 0xa1, 0x90, 0xa3, 0xd2,
- 0x0d, 0xee, 0x64, 0xe2, 0xb7, 0x7d, 0xac, 0x53, 0x37, 0xbd, 0x67, 0x1a,
- 0x77, 0x8c, 0x2a, 0x20,
- 0x0e, 0x5f, 0x8a, 0xa5, 0xb5, 0x49, 0x5d, 0x6d, 0xe7, 0x32, 0x55, 0x1c,
- 0xce, 0xa8, 0x72, 0xf5,
- 0x0f, 0x30, 0xd0, 0x98, 0x0a, 0xe4, 0xb3, 0xc6, 0x16, 0xf6, 0xfa, 0x1e,
- 0x18, 0xb4, 0xfb, 0x07,
- 0x10, 0x3f, 0xe9, 0x56, 0xa1, 0x42, 0xf8, 0x22, 0xcb, 0x1d, 0x62, 0x20,
- 0xfe, 0x03, 0x47, 0xfb,
- 0x11, 0x50, 0xb3, 0x6b, 0x1e, 0xef, 0x16, 0x89, 0x3a, 0xd9, 0xcd, 0x22,
- 0x28, 0x1f, 0xce, 0x09,
- 0x12, 0xe1, 0x5d, 0x2c, 0x1c, 0xdb, 0xe7, 0xb7, 0xea, 0x56, 0xff, 0x24,
- 0x91, 0x3b, 0x96, 0xdc,
- 0x13, 0x8e, 0x07, 0x11, 0xa3, 0x76, 0x09, 0x1c, 0x1b, 0x92, 0x50, 0x26,
- 0x47, 0x27, 0x1f, 0x2e,
- 0x14, 0x40, 0x42, 0xa2, 0x18, 0xb3, 0xc6, 0xcb, 0x89, 0x8b, 0x9b, 0x28,
- 0x20, 0x73, 0x26, 0xb5,
- 0x15, 0x2f, 0x18, 0x9f, 0xa7, 0x1e, 0x28, 0x60, 0x78, 0x4f, 0x34, 0x2a,
- 0xf6, 0x6f, 0xaf, 0x47,
- 0x16, 0x9e, 0xf6, 0xd8, 0xa5, 0x2a, 0xd9, 0x5e, 0xa8, 0xc0, 0x06, 0x2c,
- 0x4f, 0x4b, 0xf7, 0x92,
- 0x17, 0xf1, 0xac, 0xe5, 0x1a, 0x87, 0x37, 0xf5, 0x59, 0x04, 0xa9, 0x2e,
- 0x99, 0x57, 0x7e, 0x60,
- 0x18, 0xc1, 0x7c, 0x7d, 0x10, 0x63, 0x84, 0x33, 0x4f, 0xf2, 0x53, 0x30,
- 0x81, 0xe3, 0x85, 0x67,
- 0x19, 0xae, 0x26, 0x40, 0xaf, 0xce, 0x6a, 0x98, 0xbe, 0x36, 0xfc, 0x32,
- 0x57, 0xff, 0x0c, 0x95,
- 0x1a, 0x1f, 0xc8, 0x07, 0xad, 0xfa, 0x9b, 0xa6, 0x6e, 0xb9, 0xce, 0x34,
- 0xee, 0xdb, 0x54, 0x40,
- 0x1b, 0x70, 0x92, 0x3a, 0x12, 0x57, 0x75, 0x0d, 0x9f, 0x7d, 0x61, 0x36,
- 0x38, 0xc7, 0xdd, 0xb2,
- 0x1c, 0xbe, 0xd7, 0x89, 0xa9, 0x92, 0xba, 0xda, 0x0d, 0x64, 0xaa, 0x38,
- 0x5f, 0x93, 0xe4, 0x29,
- 0x1d, 0xd1, 0x8d, 0xb4, 0x16, 0x3f, 0x54, 0x71, 0xfc, 0xa0, 0x05, 0x3a,
- 0x89, 0x8f, 0x6d, 0xdb,
- 0x1e, 0x60, 0x63, 0xf3, 0x14, 0x0b, 0xa5, 0x4f, 0x2c, 0x2f, 0x37, 0x3c,
- 0x30, 0xab, 0x35, 0x0e,
- 0x1f, 0x0f, 0x39, 0xce, 0xab, 0xa6, 0x4b, 0xe4, 0xdd, 0xeb, 0x98, 0x3e,
- 0xe6, 0xb7, 0xbc, 0xfc,
- 0x20, 0x7e, 0x11, 0xac, 0x81, 0x84, 0x33, 0x44, 0x55, 0x3a, 0xc4, 0x40,
- 0x3f, 0x06, 0x8e, 0x35,
- 0x21, 0x11, 0x4b, 0x91, 0x3e, 0x29, 0xdd, 0xef, 0xa4, 0xfe, 0x6b, 0x42,
- 0xe9, 0x1a, 0x07, 0xc7,
- 0x22, 0xa0, 0xa5, 0xd6, 0x3c, 0x1d, 0x2c, 0xd1, 0x74, 0x71, 0x59, 0x44,
- 0x50, 0x3e, 0x5f, 0x12,
- 0x23, 0xcf, 0xff, 0xeb, 0x83, 0xb0, 0xc2, 0x7a, 0x85, 0xb5, 0xf6, 0x46,
- 0x86, 0x22, 0xd6, 0xe0,
- 0x24, 0x01, 0xba, 0x58, 0x38, 0x75, 0x0d, 0xad, 0x17, 0xac, 0x3d, 0x48,
- 0xe1, 0x76, 0xef, 0x7b,
- 0x25, 0x6e, 0xe0, 0x65, 0x87, 0xd8, 0xe3, 0x06, 0xe6, 0x68, 0x92, 0x4a,
- 0x37, 0x6a, 0x66, 0x89,
- 0x26, 0xdf, 0x0e, 0x22, 0x85, 0xec, 0x12, 0x38, 0x36, 0xe7, 0xa0, 0x4c,
- 0x8e, 0x4e, 0x3e, 0x5c,
- 0x27, 0xb0, 0x54, 0x1f, 0x3a, 0x41, 0xfc, 0x93, 0xc7, 0x23, 0x0f, 0x4e,
- 0x58, 0x52, 0xb7, 0xae,
- 0x28, 0x80, 0x84, 0x87, 0x30, 0xa5, 0x4f, 0x55, 0xd1, 0xd5, 0xf5, 0x50,
- 0x40, 0xe6, 0x4c, 0xa9,
- 0x29, 0xef, 0xde, 0xba, 0x8f, 0x08, 0xa1, 0xfe, 0x20, 0x11, 0x5a, 0x52,
- 0x96, 0xfa, 0xc5, 0x5b,
- 0x2a, 0x5e, 0x30, 0xfd, 0x8d, 0x3c, 0x50, 0xc0, 0xf0, 0x9e, 0x68, 0x54,
- 0x2f, 0xde, 0x9d, 0x8e,
- 0x2b, 0x31, 0x6a, 0xc0, 0x32, 0x91, 0xbe, 0x6b, 0x01, 0x5a, 0xc7, 0x56,
- 0xf9, 0xc2, 0x14, 0x7c,
- 0x2c, 0xff, 0x2f, 0x73, 0x89, 0x54, 0x71, 0xbc, 0x93, 0x43, 0x0c, 0x58,
- 0x9e, 0x96, 0x2d, 0xe7,
- 0x2d, 0x90, 0x75, 0x4e, 0x36, 0xf9, 0x9f, 0x17, 0x62, 0x87, 0xa3, 0x5a,
- 0x48, 0x8a, 0xa4, 0x15,
- 0x2e, 0x21, 0x9b, 0x09, 0x34, 0xcd, 0x6e, 0x29, 0xb2, 0x08, 0x91, 0x5c,
- 0xf1, 0xae, 0xfc, 0xc0,
- 0x2f, 0x4e, 0xc1, 0x34, 0x8b, 0x60, 0x80, 0x82, 0x43, 0xcc, 0x3e, 0x5e,
- 0x27, 0xb2, 0x75, 0x32,
- 0x30, 0x41, 0xf8, 0xfa, 0x20, 0xc6, 0xcb, 0x66, 0x9e, 0x27, 0xa6, 0x60,
- 0xc1, 0x05, 0xc9, 0xce,
- 0x31, 0x2e, 0xa2, 0xc7, 0x9f, 0x6b, 0x25, 0xcd, 0x6f, 0xe3, 0x09, 0x62,
- 0x17, 0x19, 0x40, 0x3c,
- 0x32, 0x9f, 0x4c, 0x80, 0x9d, 0x5f, 0xd4, 0xf3, 0xbf, 0x6c, 0x3b, 0x64,
- 0xae, 0x3d, 0x18, 0xe9,
- 0x33, 0xf0, 0x16, 0xbd, 0x22, 0xf2, 0x3a, 0x58, 0x4e, 0xa8, 0x94, 0x66,
- 0x78, 0x21, 0x91, 0x1b,
- 0x34, 0x3e, 0x53, 0x0e, 0x99, 0x37, 0xf5, 0x8f, 0xdc, 0xb1, 0x5f, 0x68,
- 0x1f, 0x75, 0xa8, 0x80,
- 0x35, 0x51, 0x09, 0x33, 0x26, 0x9a, 0x1b, 0x24, 0x2d, 0x75, 0xf0, 0x6a,
- 0xc9, 0x69, 0x21, 0x72,
- 0x36, 0xe0, 0xe7, 0x74, 0x24, 0xae, 0xea, 0x1a, 0xfd, 0xfa, 0xc2, 0x6c,
- 0x70, 0x4d, 0x79, 0xa7,
- 0x37, 0x8f, 0xbd, 0x49, 0x9b, 0x03, 0x04, 0xb1, 0x0c, 0x3e, 0x6d, 0x6e,
- 0xa6, 0x51, 0xf0, 0x55,
- 0x38, 0xbf, 0x6d, 0xd1, 0x91, 0xe7, 0xb7, 0x77, 0x1a, 0xc8, 0x97, 0x70,
- 0xbe, 0xe5, 0x0b, 0x52,
- 0x39, 0xd0, 0x37, 0xec, 0x2e, 0x4a, 0x59, 0xdc, 0xeb, 0x0c, 0x38, 0x72,
- 0x68, 0xf9, 0x82, 0xa0,
- 0x3a, 0x61, 0xd9, 0xab, 0x2c, 0x7e, 0xa8, 0xe2, 0x3b, 0x83, 0x0a, 0x74,
- 0xd1, 0xdd, 0xda, 0x75,
- 0x3b, 0x0e, 0x83, 0x96, 0x93, 0xd3, 0x46, 0x49, 0xca, 0x47, 0xa5, 0x76,
- 0x07, 0xc1, 0x53, 0x87,
- 0x3c, 0xc0, 0xc6, 0x25, 0x28, 0x16, 0x89, 0x9e, 0x58, 0x5e, 0x6e, 0x78,
- 0x60, 0x95, 0x6a, 0x1c,
- 0x3d, 0xaf, 0x9c, 0x18, 0x97, 0xbb, 0x67, 0x35, 0xa9, 0x9a, 0xc1, 0x7a,
- 0xb6, 0x89, 0xe3, 0xee,
- 0x3e, 0x1e, 0x72, 0x5f, 0x95, 0x8f, 0x96, 0x0b, 0x79, 0x15, 0xf3, 0x7c,
- 0x0f, 0xad, 0xbb, 0x3b,
- 0x3f, 0x71, 0x28, 0x62, 0x2a, 0x22, 0x78, 0xa0, 0x88, 0xd1, 0x5c, 0x7e,
- 0xd9, 0xb1, 0x32, 0xc9,
- 0x40, 0xfc, 0x22, 0x9b, 0xc1, 0xcb, 0x66, 0x88, 0xaa, 0x74, 0x4b, 0x80,
- 0x7e, 0x0c, 0xdf, 0x6a,
- 0x41, 0x93, 0x78, 0xa6, 0x7e, 0x66, 0x88, 0x23, 0x5b, 0xb0, 0xe4, 0x82,
- 0xa8, 0x10, 0x56, 0x98,
- 0x42, 0x22, 0x96, 0xe1, 0x7c, 0x52, 0x79, 0x1d, 0x8b, 0x3f, 0xd6, 0x84,
- 0x11, 0x34, 0x0e, 0x4d,
- 0x43, 0x4d, 0xcc, 0xdc, 0xc3, 0xff, 0x97, 0xb6, 0x7a, 0xfb, 0x79, 0x86,
- 0xc7, 0x28, 0x87, 0xbf,
- 0x44, 0x83, 0x89, 0x6f, 0x78, 0x3a, 0x58, 0x61, 0xe8, 0xe2, 0xb2, 0x88,
- 0xa0, 0x7c, 0xbe, 0x24,
- 0x45, 0xec, 0xd3, 0x52, 0xc7, 0x97, 0xb6, 0xca, 0x19, 0x26, 0x1d, 0x8a,
- 0x76, 0x60, 0x37, 0xd6,
- 0x46, 0x5d, 0x3d, 0x15, 0xc5, 0xa3, 0x47, 0xf4, 0xc9, 0xa9, 0x2f, 0x8c,
- 0xcf, 0x44, 0x6f, 0x03,
- 0x47, 0x32, 0x67, 0x28, 0x7a, 0x0e, 0xa9, 0x5f, 0x38, 0x6d, 0x80, 0x8e,
- 0x19, 0x58, 0xe6, 0xf1,
- 0x48, 0x02, 0xb7, 0xb0, 0x70, 0xea, 0x1a, 0x99, 0x2e, 0x9b, 0x7a, 0x90,
- 0x01, 0xec, 0x1d, 0xf6,
- 0x49, 0x6d, 0xed, 0x8d, 0xcf, 0x47, 0xf4, 0x32, 0xdf, 0x5f, 0xd5, 0x92,
- 0xd7, 0xf0, 0x94, 0x04,
- 0x4a, 0xdc, 0x03, 0xca, 0xcd, 0x73, 0x05, 0x0c, 0x0f, 0xd0, 0xe7, 0x94,
- 0x6e, 0xd4, 0xcc, 0xd1,
- 0x4b, 0xb3, 0x59, 0xf7, 0x72, 0xde, 0xeb, 0xa7, 0xfe, 0x14, 0x48, 0x96,
- 0xb8, 0xc8, 0x45, 0x23,
- 0x4c, 0x7d, 0x1c, 0x44, 0xc9, 0x1b, 0x24, 0x70, 0x6c, 0x0d, 0x83, 0x98,
- 0xdf, 0x9c, 0x7c, 0xb8,
- 0x4d, 0x12, 0x46, 0x79, 0x76, 0xb6, 0xca, 0xdb, 0x9d, 0xc9, 0x2c, 0x9a,
- 0x09, 0x80, 0xf5, 0x4a,
- 0x4e, 0xa3, 0xa8, 0x3e, 0x74, 0x82, 0x3b, 0xe5, 0x4d, 0x46, 0x1e, 0x9c,
- 0xb0, 0xa4, 0xad, 0x9f,
- 0x4f, 0xcc, 0xf2, 0x03, 0xcb, 0x2f, 0xd5, 0x4e, 0xbc, 0x82, 0xb1, 0x9e,
- 0x66, 0xb8, 0x24, 0x6d,
- 0x50, 0xc3, 0xcb, 0xcd, 0x60, 0x89, 0x9e, 0xaa, 0x61, 0x69, 0x29, 0xa0,
- 0x80, 0x0f, 0x98, 0x91,
- 0x51, 0xac, 0x91, 0xf0, 0xdf, 0x24, 0x70, 0x01, 0x90, 0xad, 0x86, 0xa2,
- 0x56, 0x13, 0x11, 0x63,
- 0x52, 0x1d, 0x7f, 0xb7, 0xdd, 0x10, 0x81, 0x3f, 0x40, 0x22, 0xb4, 0xa4,
- 0xef, 0x37, 0x49, 0xb6,
- 0x53, 0x72, 0x25, 0x8a, 0x62, 0xbd, 0x6f, 0x94, 0xb1, 0xe6, 0x1b, 0xa6,
- 0x39, 0x2b, 0xc0, 0x44,
- 0x54, 0xbc, 0x60, 0x39, 0xd9, 0x78, 0xa0, 0x43, 0x23, 0xff, 0xd0, 0xa8,
- 0x5e, 0x7f, 0xf9, 0xdf,
- 0x55, 0xd3, 0x3a, 0x04, 0x66, 0xd5, 0x4e, 0xe8, 0xd2, 0x3b, 0x7f, 0xaa,
- 0x88, 0x63, 0x70, 0x2d,
- 0x56, 0x62, 0xd4, 0x43, 0x64, 0xe1, 0xbf, 0xd6, 0x02, 0xb4, 0x4d, 0xac,
- 0x31, 0x47, 0x28, 0xf8,
- 0x57, 0x0d, 0x8e, 0x7e, 0xdb, 0x4c, 0x51, 0x7d, 0xf3, 0x70, 0xe2, 0xae,
- 0xe7, 0x5b, 0xa1, 0x0a,
- 0x58, 0x3d, 0x5e, 0xe6, 0xd1, 0xa8, 0xe2, 0xbb, 0xe5, 0x86, 0x18, 0xb0,
- 0xff, 0xef, 0x5a, 0x0d,
- 0x59, 0x52, 0x04, 0xdb, 0x6e, 0x05, 0x0c, 0x10, 0x14, 0x42, 0xb7, 0xb2,
- 0x29, 0xf3, 0xd3, 0xff,
- 0x5a, 0xe3, 0xea, 0x9c, 0x6c, 0x31, 0xfd, 0x2e, 0xc4, 0xcd, 0x85, 0xb4,
- 0x90, 0xd7, 0x8b, 0x2a,
- 0x5b, 0x8c, 0xb0, 0xa1, 0xd3, 0x9c, 0x13, 0x85, 0x35, 0x09, 0x2a, 0xb6,
- 0x46, 0xcb, 0x02, 0xd8,
- 0x5c, 0x42, 0xf5, 0x12, 0x68, 0x59, 0xdc, 0x52, 0xa7, 0x10, 0xe1, 0xb8,
- 0x21, 0x9f, 0x3b, 0x43,
- 0x5d, 0x2d, 0xaf, 0x2f, 0xd7, 0xf4, 0x32, 0xf9, 0x56, 0xd4, 0x4e, 0xba,
- 0xf7, 0x83, 0xb2, 0xb1,
- 0x5e, 0x9c, 0x41, 0x68, 0xd5, 0xc0, 0xc3, 0xc7, 0x86, 0x5b, 0x7c, 0xbc,
- 0x4e, 0xa7, 0xea, 0x64,
- 0x5f, 0xf3, 0x1b, 0x55, 0x6a, 0x6d, 0x2d, 0x6c, 0x77, 0x9f, 0xd3, 0xbe,
- 0x98, 0xbb, 0x63, 0x96,
- 0x60, 0x82, 0x33, 0x37, 0x40, 0x4f, 0x55, 0xcc, 0xff, 0x4e, 0x8f, 0xc0,
- 0x41, 0x0a, 0x51, 0x5f,
- 0x61, 0xed, 0x69, 0x0a, 0xff, 0xe2, 0xbb, 0x67, 0x0e, 0x8a, 0x20, 0xc2,
- 0x97, 0x16, 0xd8, 0xad,
- 0x62, 0x5c, 0x87, 0x4d, 0xfd, 0xd6, 0x4a, 0x59, 0xde, 0x05, 0x12, 0xc4,
- 0x2e, 0x32, 0x80, 0x78,
- 0x63, 0x33, 0xdd, 0x70, 0x42, 0x7b, 0xa4, 0xf2, 0x2f, 0xc1, 0xbd, 0xc6,
- 0xf8, 0x2e, 0x09, 0x8a,
- 0x64, 0xfd, 0x98, 0xc3, 0xf9, 0xbe, 0x6b, 0x25, 0xbd, 0xd8, 0x76, 0xc8,
- 0x9f, 0x7a, 0x30, 0x11,
- 0x65, 0x92, 0xc2, 0xfe, 0x46, 0x13, 0x85, 0x8e, 0x4c, 0x1c, 0xd9, 0xca,
- 0x49, 0x66, 0xb9, 0xe3,
- 0x66, 0x23, 0x2c, 0xb9, 0x44, 0x27, 0x74, 0xb0, 0x9c, 0x93, 0xeb, 0xcc,
- 0xf0, 0x42, 0xe1, 0x36,
- 0x67, 0x4c, 0x76, 0x84, 0xfb, 0x8a, 0x9a, 0x1b, 0x6d, 0x57, 0x44, 0xce,
- 0x26, 0x5e, 0x68, 0xc4,
- 0x68, 0x7c, 0xa6, 0x1c, 0xf1, 0x6e, 0x29, 0xdd, 0x7b, 0xa1, 0xbe, 0xd0,
- 0x3e, 0xea, 0x93, 0xc3,
- 0x69, 0x13, 0xfc, 0x21, 0x4e, 0xc3, 0xc7, 0x76, 0x8a, 0x65, 0x11, 0xd2,
- 0xe8, 0xf6, 0x1a, 0x31,
- 0x6a, 0xa2, 0x12, 0x66, 0x4c, 0xf7, 0x36, 0x48, 0x5a, 0xea, 0x23, 0xd4,
- 0x51, 0xd2, 0x42, 0xe4,
- 0x6b, 0xcd, 0x48, 0x5b, 0xf3, 0x5a, 0xd8, 0xe3, 0xab, 0x2e, 0x8c, 0xd6,
- 0x87, 0xce, 0xcb, 0x16,
- 0x6c, 0x03, 0x0d, 0xe8, 0x48, 0x9f, 0x17, 0x34, 0x39, 0x37, 0x47, 0xd8,
- 0xe0, 0x9a, 0xf2, 0x8d,
- 0x6d, 0x6c, 0x57, 0xd5, 0xf7, 0x32, 0xf9, 0x9f, 0xc8, 0xf3, 0xe8, 0xda,
- 0x36, 0x86, 0x7b, 0x7f,
- 0x6e, 0xdd, 0xb9, 0x92, 0xf5, 0x06, 0x08, 0xa1, 0x18, 0x7c, 0xda, 0xdc,
- 0x8f, 0xa2, 0x23, 0xaa,
- 0x6f, 0xb2, 0xe3, 0xaf, 0x4a, 0xab, 0xe6, 0x0a, 0xe9, 0xb8, 0x75, 0xde,
- 0x59, 0xbe, 0xaa, 0x58,
- 0x70, 0xbd, 0xda, 0x61, 0xe1, 0x0d, 0xad, 0xee, 0x34, 0x53, 0xed, 0xe0,
- 0xbf, 0x09, 0x16, 0xa4,
- 0x71, 0xd2, 0x80, 0x5c, 0x5e, 0xa0, 0x43, 0x45, 0xc5, 0x97, 0x42, 0xe2,
- 0x69, 0x15, 0x9f, 0x56,
- 0x72, 0x63, 0x6e, 0x1b, 0x5c, 0x94, 0xb2, 0x7b, 0x15, 0x18, 0x70, 0xe4,
- 0xd0, 0x31, 0xc7, 0x83,
- 0x73, 0x0c, 0x34, 0x26, 0xe3, 0x39, 0x5c, 0xd0, 0xe4, 0xdc, 0xdf, 0xe6,
- 0x06, 0x2d, 0x4e, 0x71,
- 0x74, 0xc2, 0x71, 0x95, 0x58, 0xfc, 0x93, 0x07, 0x76, 0xc5, 0x14, 0xe8,
- 0x61, 0x79, 0x77, 0xea,
- 0x75, 0xad, 0x2b, 0xa8, 0xe7, 0x51, 0x7d, 0xac, 0x87, 0x01, 0xbb, 0xea,
- 0xb7, 0x65, 0xfe, 0x18,
- 0x76, 0x1c, 0xc5, 0xef, 0xe5, 0x65, 0x8c, 0x92, 0x57, 0x8e, 0x89, 0xec,
- 0x0e, 0x41, 0xa6, 0xcd,
- 0x77, 0x73, 0x9f, 0xd2, 0x5a, 0xc8, 0x62, 0x39, 0xa6, 0x4a, 0x26, 0xee,
- 0xd8, 0x5d, 0x2f, 0x3f,
- 0x78, 0x43, 0x4f, 0x4a, 0x50, 0x2c, 0xd1, 0xff, 0xb0, 0xbc, 0xdc, 0xf0,
- 0xc0, 0xe9, 0xd4, 0x38,
- 0x79, 0x2c, 0x15, 0x77, 0xef, 0x81, 0x3f, 0x54, 0x41, 0x78, 0x73, 0xf2,
- 0x16, 0xf5, 0x5d, 0xca,
- 0x7a, 0x9d, 0xfb, 0x30, 0xed, 0xb5, 0xce, 0x6a, 0x91, 0xf7, 0x41, 0xf4,
- 0xaf, 0xd1, 0x05, 0x1f,
- 0x7b, 0xf2, 0xa1, 0x0d, 0x52, 0x18, 0x20, 0xc1, 0x60, 0x33, 0xee, 0xf6,
- 0x79, 0xcd, 0x8c, 0xed,
- 0x7c, 0x3c, 0xe4, 0xbe, 0xe9, 0xdd, 0xef, 0x16, 0xf2, 0x2a, 0x25, 0xf8,
- 0x1e, 0x99, 0xb5, 0x76,
- 0x7d, 0x53, 0xbe, 0x83, 0x56, 0x70, 0x01, 0xbd, 0x03, 0xee, 0x8a, 0xfa,
- 0xc8, 0x85, 0x3c, 0x84,
- 0x7e, 0xe2, 0x50, 0xc4, 0x54, 0x44, 0xf0, 0x83, 0xd3, 0x61, 0xb8, 0xfc,
- 0x71, 0xa1, 0x64, 0x51,
- 0x7f, 0x8d, 0x0a, 0xf9, 0xeb, 0xe9, 0x1e, 0x28, 0x22, 0xa5, 0x17, 0xfe,
- 0xa7, 0xbd, 0xed, 0xa3,
- 0x80, 0x3b, 0x44, 0xf5, 0x41, 0x55, 0xcc, 0xd3, 0x97, 0xe8, 0x96, 0xc3,
- 0xfc, 0x18, 0x7d, 0xd4,
- 0x81, 0x54, 0x1e, 0xc8, 0xfe, 0xf8, 0x22, 0x78, 0x66, 0x2c, 0x39, 0xc1,
- 0x2a, 0x04, 0xf4, 0x26,
- 0x82, 0xe5, 0xf0, 0x8f, 0xfc, 0xcc, 0xd3, 0x46, 0xb6, 0xa3, 0x0b, 0xc7,
- 0x93, 0x20, 0xac, 0xf3,
- 0x83, 0x8a, 0xaa, 0xb2, 0x43, 0x61, 0x3d, 0xed, 0x47, 0x67, 0xa4, 0xc5,
- 0x45, 0x3c, 0x25, 0x01,
- 0x84, 0x44, 0xef, 0x01, 0xf8, 0xa4, 0xf2, 0x3a, 0xd5, 0x7e, 0x6f, 0xcb,
- 0x22, 0x68, 0x1c, 0x9a,
- 0x85, 0x2b, 0xb5, 0x3c, 0x47, 0x09, 0x1c, 0x91, 0x24, 0xba, 0xc0, 0xc9,
- 0xf4, 0x74, 0x95, 0x68,
- 0x86, 0x9a, 0x5b, 0x7b, 0x45, 0x3d, 0xed, 0xaf, 0xf4, 0x35, 0xf2, 0xcf,
- 0x4d, 0x50, 0xcd, 0xbd,
- 0x87, 0xf5, 0x01, 0x46, 0xfa, 0x90, 0x03, 0x04, 0x05, 0xf1, 0x5d, 0xcd,
- 0x9b, 0x4c, 0x44, 0x4f,
- 0x88, 0xc5, 0xd1, 0xde, 0xf0, 0x74, 0xb0, 0xc2, 0x13, 0x07, 0xa7, 0xd3,
- 0x83, 0xf8, 0xbf, 0x48,
- 0x89, 0xaa, 0x8b, 0xe3, 0x4f, 0xd9, 0x5e, 0x69, 0xe2, 0xc3, 0x08, 0xd1,
- 0x55, 0xe4, 0x36, 0xba,
- 0x8a, 0x1b, 0x65, 0xa4, 0x4d, 0xed, 0xaf, 0x57, 0x32, 0x4c, 0x3a, 0xd7,
- 0xec, 0xc0, 0x6e, 0x6f,
- 0x8b, 0x74, 0x3f, 0x99, 0xf2, 0x40, 0x41, 0xfc, 0xc3, 0x88, 0x95, 0xd5,
- 0x3a, 0xdc, 0xe7, 0x9d,
- 0x8c, 0xba, 0x7a, 0x2a, 0x49, 0x85, 0x8e, 0x2b, 0x51, 0x91, 0x5e, 0xdb,
- 0x5d, 0x88, 0xde, 0x06,
- 0x8d, 0xd5, 0x20, 0x17, 0xf6, 0x28, 0x60, 0x80, 0xa0, 0x55, 0xf1, 0xd9,
- 0x8b, 0x94, 0x57, 0xf4,
- 0x8e, 0x64, 0xce, 0x50, 0xf4, 0x1c, 0x91, 0xbe, 0x70, 0xda, 0xc3, 0xdf,
- 0x32, 0xb0, 0x0f, 0x21,
- 0x8f, 0x0b, 0x94, 0x6d, 0x4b, 0xb1, 0x7f, 0x15, 0x81, 0x1e, 0x6c, 0xdd,
- 0xe4, 0xac, 0x86, 0xd3,
- 0x90, 0x04, 0xad, 0xa3, 0xe0, 0x17, 0x34, 0xf1, 0x5c, 0xf5, 0xf4, 0xe3,
- 0x02, 0x1b, 0x3a, 0x2f,
- 0x91, 0x6b, 0xf7, 0x9e, 0x5f, 0xba, 0xda, 0x5a, 0xad, 0x31, 0x5b, 0xe1,
- 0xd4, 0x07, 0xb3, 0xdd,
- 0x92, 0xda, 0x19, 0xd9, 0x5d, 0x8e, 0x2b, 0x64, 0x7d, 0xbe, 0x69, 0xe7,
- 0x6d, 0x23, 0xeb, 0x08,
- 0x93, 0xb5, 0x43, 0xe4, 0xe2, 0x23, 0xc5, 0xcf, 0x8c, 0x7a, 0xc6, 0xe5,
- 0xbb, 0x3f, 0x62, 0xfa,
- 0x94, 0x7b, 0x06, 0x57, 0x59, 0xe6, 0x0a, 0x18, 0x1e, 0x63, 0x0d, 0xeb,
- 0xdc, 0x6b, 0x5b, 0x61,
- 0x95, 0x14, 0x5c, 0x6a, 0xe6, 0x4b, 0xe4, 0xb3, 0xef, 0xa7, 0xa2, 0xe9,
- 0x0a, 0x77, 0xd2, 0x93,
- 0x96, 0xa5, 0xb2, 0x2d, 0xe4, 0x7f, 0x15, 0x8d, 0x3f, 0x28, 0x90, 0xef,
- 0xb3, 0x53, 0x8a, 0x46,
- 0x97, 0xca, 0xe8, 0x10, 0x5b, 0xd2, 0xfb, 0x26, 0xce, 0xec, 0x3f, 0xed,
- 0x65, 0x4f, 0x03, 0xb4,
- 0x98, 0xfa, 0x38, 0x88, 0x51, 0x36, 0x48, 0xe0, 0xd8, 0x1a, 0xc5, 0xf3,
- 0x7d, 0xfb, 0xf8, 0xb3,
- 0x99, 0x95, 0x62, 0xb5, 0xee, 0x9b, 0xa6, 0x4b, 0x29, 0xde, 0x6a, 0xf1,
- 0xab, 0xe7, 0x71, 0x41,
- 0x9a, 0x24, 0x8c, 0xf2, 0xec, 0xaf, 0x57, 0x75, 0xf9, 0x51, 0x58, 0xf7,
- 0x12, 0xc3, 0x29, 0x94,
- 0x9b, 0x4b, 0xd6, 0xcf, 0x53, 0x02, 0xb9, 0xde, 0x08, 0x95, 0xf7, 0xf5,
- 0xc4, 0xdf, 0xa0, 0x66,
- 0x9c, 0x85, 0x93, 0x7c, 0xe8, 0xc7, 0x76, 0x09, 0x9a, 0x8c, 0x3c, 0xfb,
- 0xa3, 0x8b, 0x99, 0xfd,
- 0x9d, 0xea, 0xc9, 0x41, 0x57, 0x6a, 0x98, 0xa2, 0x6b, 0x48, 0x93, 0xf9,
- 0x75, 0x97, 0x10, 0x0f,
- 0x9e, 0x5b, 0x27, 0x06, 0x55, 0x5e, 0x69, 0x9c, 0xbb, 0xc7, 0xa1, 0xff,
- 0xcc, 0xb3, 0x48, 0xda,
- 0x9f, 0x34, 0x7d, 0x3b, 0xea, 0xf3, 0x87, 0x37, 0x4a, 0x03, 0x0e, 0xfd,
- 0x1a, 0xaf, 0xc1, 0x28,
- 0xa0, 0x45, 0x55, 0x59, 0xc0, 0xd1, 0xff, 0x97, 0xc2, 0xd2, 0x52, 0x83,
- 0xc3, 0x1e, 0xf3, 0xe1,
- 0xa1, 0x2a, 0x0f, 0x64, 0x7f, 0x7c, 0x11, 0x3c, 0x33, 0x16, 0xfd, 0x81,
- 0x15, 0x02, 0x7a, 0x13,
- 0xa2, 0x9b, 0xe1, 0x23, 0x7d, 0x48, 0xe0, 0x02, 0xe3, 0x99, 0xcf, 0x87,
- 0xac, 0x26, 0x22, 0xc6,
- 0xa3, 0xf4, 0xbb, 0x1e, 0xc2, 0xe5, 0x0e, 0xa9, 0x12, 0x5d, 0x60, 0x85,
- 0x7a, 0x3a, 0xab, 0x34,
- 0xa4, 0x3a, 0xfe, 0xad, 0x79, 0x20, 0xc1, 0x7e, 0x80, 0x44, 0xab, 0x8b,
- 0x1d, 0x6e, 0x92, 0xaf,
- 0xa5, 0x55, 0xa4, 0x90, 0xc6, 0x8d, 0x2f, 0xd5, 0x71, 0x80, 0x04, 0x89,
- 0xcb, 0x72, 0x1b, 0x5d,
- 0xa6, 0xe4, 0x4a, 0xd7, 0xc4, 0xb9, 0xde, 0xeb, 0xa1, 0x0f, 0x36, 0x8f,
- 0x72, 0x56, 0x43, 0x88,
- 0xa7, 0x8b, 0x10, 0xea, 0x7b, 0x14, 0x30, 0x40, 0x50, 0xcb, 0x99, 0x8d,
- 0xa4, 0x4a, 0xca, 0x7a,
- 0xa8, 0xbb, 0xc0, 0x72, 0x71, 0xf0, 0x83, 0x86, 0x46, 0x3d, 0x63, 0x93,
- 0xbc, 0xfe, 0x31, 0x7d,
- 0xa9, 0xd4, 0x9a, 0x4f, 0xce, 0x5d, 0x6d, 0x2d, 0xb7, 0xf9, 0xcc, 0x91,
- 0x6a, 0xe2, 0xb8, 0x8f,
- 0xaa, 0x65, 0x74, 0x08, 0xcc, 0x69, 0x9c, 0x13, 0x67, 0x76, 0xfe, 0x97,
- 0xd3, 0xc6, 0xe0, 0x5a,
- 0xab, 0x0a, 0x2e, 0x35, 0x73, 0xc4, 0x72, 0xb8, 0x96, 0xb2, 0x51, 0x95,
- 0x05, 0xda, 0x69, 0xa8,
- 0xac, 0xc4, 0x6b, 0x86, 0xc8, 0x01, 0xbd, 0x6f, 0x04, 0xab, 0x9a, 0x9b,
- 0x62, 0x8e, 0x50, 0x33,
- 0xad, 0xab, 0x31, 0xbb, 0x77, 0xac, 0x53, 0xc4, 0xf5, 0x6f, 0x35, 0x99,
- 0xb4, 0x92, 0xd9, 0xc1,
- 0xae, 0x1a, 0xdf, 0xfc, 0x75, 0x98, 0xa2, 0xfa, 0x25, 0xe0, 0x07, 0x9f,
- 0x0d, 0xb6, 0x81, 0x14,
- 0xaf, 0x75, 0x85, 0xc1, 0xca, 0x35, 0x4c, 0x51, 0xd4, 0x24, 0xa8, 0x9d,
- 0xdb, 0xaa, 0x08, 0xe6,
- 0xb0, 0x7a, 0xbc, 0x0f, 0x61, 0x93, 0x07, 0xb5, 0x09, 0xcf, 0x30, 0xa3,
- 0x3d, 0x1d, 0xb4, 0x1a,
- 0xb1, 0x15, 0xe6, 0x32, 0xde, 0x3e, 0xe9, 0x1e, 0xf8, 0x0b, 0x9f, 0xa1,
- 0xeb, 0x01, 0x3d, 0xe8,
- 0xb2, 0xa4, 0x08, 0x75, 0xdc, 0x0a, 0x18, 0x20, 0x28, 0x84, 0xad, 0xa7,
- 0x52, 0x25, 0x65, 0x3d,
- 0xb3, 0xcb, 0x52, 0x48, 0x63, 0xa7, 0xf6, 0x8b, 0xd9, 0x40, 0x02, 0xa5,
- 0x84, 0x39, 0xec, 0xcf,
- 0xb4, 0x05, 0x17, 0xfb, 0xd8, 0x62, 0x39, 0x5c, 0x4b, 0x59, 0xc9, 0xab,
- 0xe3, 0x6d, 0xd5, 0x54,
- 0xb5, 0x6a, 0x4d, 0xc6, 0x67, 0xcf, 0xd7, 0xf7, 0xba, 0x9d, 0x66, 0xa9,
- 0x35, 0x71, 0x5c, 0xa6,
- 0xb6, 0xdb, 0xa3, 0x81, 0x65, 0xfb, 0x26, 0xc9, 0x6a, 0x12, 0x54, 0xaf,
- 0x8c, 0x55, 0x04, 0x73,
- 0xb7, 0xb4, 0xf9, 0xbc, 0xda, 0x56, 0xc8, 0x62, 0x9b, 0xd6, 0xfb, 0xad,
- 0x5a, 0x49, 0x8d, 0x81,
- 0xb8, 0x84, 0x29, 0x24, 0xd0, 0xb2, 0x7b, 0xa4, 0x8d, 0x20, 0x01, 0xb3,
- 0x42, 0xfd, 0x76, 0x86,
- 0xb9, 0xeb, 0x73, 0x19, 0x6f, 0x1f, 0x95, 0x0f, 0x7c, 0xe4, 0xae, 0xb1,
- 0x94, 0xe1, 0xff, 0x74,
- 0xba, 0x5a, 0x9d, 0x5e, 0x6d, 0x2b, 0x64, 0x31, 0xac, 0x6b, 0x9c, 0xb7,
- 0x2d, 0xc5, 0xa7, 0xa1,
- 0xbb, 0x35, 0xc7, 0x63, 0xd2, 0x86, 0x8a, 0x9a, 0x5d, 0xaf, 0x33, 0xb5,
- 0xfb, 0xd9, 0x2e, 0x53,
- 0xbc, 0xfb, 0x82, 0xd0, 0x69, 0x43, 0x45, 0x4d, 0xcf, 0xb6, 0xf8, 0xbb,
- 0x9c, 0x8d, 0x17, 0xc8,
- 0xbd, 0x94, 0xd8, 0xed, 0xd6, 0xee, 0xab, 0xe6, 0x3e, 0x72, 0x57, 0xb9,
- 0x4a, 0x91, 0x9e, 0x3a,
- 0xbe, 0x25, 0x36, 0xaa, 0xd4, 0xda, 0x5a, 0xd8, 0xee, 0xfd, 0x65, 0xbf,
- 0xf3, 0xb5, 0xc6, 0xef,
- 0xbf, 0x4a, 0x6c, 0x97, 0x6b, 0x77, 0xb4, 0x73, 0x1f, 0x39, 0xca, 0xbd,
- 0x25, 0xa9, 0x4f, 0x1d,
- 0xc0, 0xc7, 0x66, 0x6e, 0x80, 0x9e, 0xaa, 0x5b, 0x3d, 0x9c, 0xdd, 0x43,
- 0x82, 0x14, 0xa2, 0xbe,
- 0xc1, 0xa8, 0x3c, 0x53, 0x3f, 0x33, 0x44, 0xf0, 0xcc, 0x58, 0x72, 0x41,
- 0x54, 0x08, 0x2b, 0x4c,
- 0xc2, 0x19, 0xd2, 0x14, 0x3d, 0x07, 0xb5, 0xce, 0x1c, 0xd7, 0x40, 0x47,
- 0xed, 0x2c, 0x73, 0x99,
- 0xc3, 0x76, 0x88, 0x29, 0x82, 0xaa, 0x5b, 0x65, 0xed, 0x13, 0xef, 0x45,
- 0x3b, 0x30, 0xfa, 0x6b,
- 0xc4, 0xb8, 0xcd, 0x9a, 0x39, 0x6f, 0x94, 0xb2, 0x7f, 0x0a, 0x24, 0x4b,
- 0x5c, 0x64, 0xc3, 0xf0,
- 0xc5, 0xd7, 0x97, 0xa7, 0x86, 0xc2, 0x7a, 0x19, 0x8e, 0xce, 0x8b, 0x49,
- 0x8a, 0x78, 0x4a, 0x02,
- 0xc6, 0x66, 0x79, 0xe0, 0x84, 0xf6, 0x8b, 0x27, 0x5e, 0x41, 0xb9, 0x4f,
- 0x33, 0x5c, 0x12, 0xd7,
- 0xc7, 0x09, 0x23, 0xdd, 0x3b, 0x5b, 0x65, 0x8c, 0xaf, 0x85, 0x16, 0x4d,
- 0xe5, 0x40, 0x9b, 0x25,
- 0xc8, 0x39, 0xf3, 0x45, 0x31, 0xbf, 0xd6, 0x4a, 0xb9, 0x73, 0xec, 0x53,
- 0xfd, 0xf4, 0x60, 0x22,
- 0xc9, 0x56, 0xa9, 0x78, 0x8e, 0x12, 0x38, 0xe1, 0x48, 0xb7, 0x43, 0x51,
- 0x2b, 0xe8, 0xe9, 0xd0,
- 0xca, 0xe7, 0x47, 0x3f, 0x8c, 0x26, 0xc9, 0xdf, 0x98, 0x38, 0x71, 0x57,
- 0x92, 0xcc, 0xb1, 0x05,
- 0xcb, 0x88, 0x1d, 0x02, 0x33, 0x8b, 0x27, 0x74, 0x69, 0xfc, 0xde, 0x55,
- 0x44, 0xd0, 0x38, 0xf7,
- 0xcc, 0x46, 0x58, 0xb1, 0x88, 0x4e, 0xe8, 0xa3, 0xfb, 0xe5, 0x15, 0x5b,
- 0x23, 0x84, 0x01, 0x6c,
- 0xcd, 0x29, 0x02, 0x8c, 0x37, 0xe3, 0x06, 0x08, 0x0a, 0x21, 0xba, 0x59,
- 0xf5, 0x98, 0x88, 0x9e,
- 0xce, 0x98, 0xec, 0xcb, 0x35, 0xd7, 0xf7, 0x36, 0xda, 0xae, 0x88, 0x5f,
- 0x4c, 0xbc, 0xd0, 0x4b,
- 0xcf, 0xf7, 0xb6, 0xf6, 0x8a, 0x7a, 0x19, 0x9d, 0x2b, 0x6a, 0x27, 0x5d,
- 0x9a, 0xa0, 0x59, 0xb9,
- 0xd0, 0xf8, 0x8f, 0x38, 0x21, 0xdc, 0x52, 0x79, 0xf6, 0x81, 0xbf, 0x63,
- 0x7c, 0x17, 0xe5, 0x45,
- 0xd1, 0x97, 0xd5, 0x05, 0x9e, 0x71, 0xbc, 0xd2, 0x07, 0x45, 0x10, 0x61,
- 0xaa, 0x0b, 0x6c, 0xb7,
- 0xd2, 0x26, 0x3b, 0x42, 0x9c, 0x45, 0x4d, 0xec, 0xd7, 0xca, 0x22, 0x67,
- 0x13, 0x2f, 0x34, 0x62,
- 0xd3, 0x49, 0x61, 0x7f, 0x23, 0xe8, 0xa3, 0x47, 0x26, 0x0e, 0x8d, 0x65,
- 0xc5, 0x33, 0xbd, 0x90,
- 0xd4, 0x87, 0x24, 0xcc, 0x98, 0x2d, 0x6c, 0x90, 0xb4, 0x17, 0x46, 0x6b,
- 0xa2, 0x67, 0x84, 0x0b,
- 0xd5, 0xe8, 0x7e, 0xf1, 0x27, 0x80, 0x82, 0x3b, 0x45, 0xd3, 0xe9, 0x69,
- 0x74, 0x7b, 0x0d, 0xf9,
- 0xd6, 0x59, 0x90, 0xb6, 0x25, 0xb4, 0x73, 0x05, 0x95, 0x5c, 0xdb, 0x6f,
- 0xcd, 0x5f, 0x55, 0x2c,
- 0xd7, 0x36, 0xca, 0x8b, 0x9a, 0x19, 0x9d, 0xae, 0x64, 0x98, 0x74, 0x6d,
- 0x1b, 0x43, 0xdc, 0xde,
- 0xd8, 0x06, 0x1a, 0x13, 0x90, 0xfd, 0x2e, 0x68, 0x72, 0x6e, 0x8e, 0x73,
- 0x03, 0xf7, 0x27, 0xd9,
- 0xd9, 0x69, 0x40, 0x2e, 0x2f, 0x50, 0xc0, 0xc3, 0x83, 0xaa, 0x21, 0x71,
- 0xd5, 0xeb, 0xae, 0x2b,
- 0xda, 0xd8, 0xae, 0x69, 0x2d, 0x64, 0x31, 0xfd, 0x53, 0x25, 0x13, 0x77,
- 0x6c, 0xcf, 0xf6, 0xfe,
- 0xdb, 0xb7, 0xf4, 0x54, 0x92, 0xc9, 0xdf, 0x56, 0xa2, 0xe1, 0xbc, 0x75,
- 0xba, 0xd3, 0x7f, 0x0c,
- 0xdc, 0x79, 0xb1, 0xe7, 0x29, 0x0c, 0x10, 0x81, 0x30, 0xf8, 0x77, 0x7b,
- 0xdd, 0x87, 0x46, 0x97,
- 0xdd, 0x16, 0xeb, 0xda, 0x96, 0xa1, 0xfe, 0x2a, 0xc1, 0x3c, 0xd8, 0x79,
- 0x0b, 0x9b, 0xcf, 0x65,
- 0xde, 0xa7, 0x05, 0x9d, 0x94, 0x95, 0x0f, 0x14, 0x11, 0xb3, 0xea, 0x7f,
- 0xb2, 0xbf, 0x97, 0xb0,
- 0xdf, 0xc8, 0x5f, 0xa0, 0x2b, 0x38, 0xe1, 0xbf, 0xe0, 0x77, 0x45, 0x7d,
- 0x64, 0xa3, 0x1e, 0x42,
- 0xe0, 0xb9, 0x77, 0xc2, 0x01, 0x1a, 0x99, 0x1f, 0x68, 0xa6, 0x19, 0x03,
- 0xbd, 0x12, 0x2c, 0x8b,
- 0xe1, 0xd6, 0x2d, 0xff, 0xbe, 0xb7, 0x77, 0xb4, 0x99, 0x62, 0xb6, 0x01,
- 0x6b, 0x0e, 0xa5, 0x79,
- 0xe2, 0x67, 0xc3, 0xb8, 0xbc, 0x83, 0x86, 0x8a, 0x49, 0xed, 0x84, 0x07,
- 0xd2, 0x2a, 0xfd, 0xac,
- 0xe3, 0x08, 0x99, 0x85, 0x03, 0x2e, 0x68, 0x21, 0xb8, 0x29, 0x2b, 0x05,
- 0x04, 0x36, 0x74, 0x5e,
- 0xe4, 0xc6, 0xdc, 0x36, 0xb8, 0xeb, 0xa7, 0xf6, 0x2a, 0x30, 0xe0, 0x0b,
- 0x63, 0x62, 0x4d, 0xc5,
- 0xe5, 0xa9, 0x86, 0x0b, 0x07, 0x46, 0x49, 0x5d, 0xdb, 0xf4, 0x4f, 0x09,
- 0xb5, 0x7e, 0xc4, 0x37,
- 0xe6, 0x18, 0x68, 0x4c, 0x05, 0x72, 0xb8, 0x63, 0x0b, 0x7b, 0x7d, 0x0f,
- 0x0c, 0x5a, 0x9c, 0xe2,
- 0xe7, 0x77, 0x32, 0x71, 0xba, 0xdf, 0x56, 0xc8, 0xfa, 0xbf, 0xd2, 0x0d,
- 0xda, 0x46, 0x15, 0x10,
- 0xe8, 0x47, 0xe2, 0xe9, 0xb0, 0x3b, 0xe5, 0x0e, 0xec, 0x49, 0x28, 0x13,
- 0xc2, 0xf2, 0xee, 0x17,
- 0xe9, 0x28, 0xb8, 0xd4, 0x0f, 0x96, 0x0b, 0xa5, 0x1d, 0x8d, 0x87, 0x11,
- 0x14, 0xee, 0x67, 0xe5,
- 0xea, 0x99, 0x56, 0x93, 0x0d, 0xa2, 0xfa, 0x9b, 0xcd, 0x02, 0xb5, 0x17,
- 0xad, 0xca, 0x3f, 0x30,
- 0xeb, 0xf6, 0x0c, 0xae, 0xb2, 0x0f, 0x14, 0x30, 0x3c, 0xc6, 0x1a, 0x15,
- 0x7b, 0xd6, 0xb6, 0xc2,
- 0xec, 0x38, 0x49, 0x1d, 0x09, 0xca, 0xdb, 0xe7, 0xae, 0xdf, 0xd1, 0x1b,
- 0x1c, 0x82, 0x8f, 0x59,
- 0xed, 0x57, 0x13, 0x20, 0xb6, 0x67, 0x35, 0x4c, 0x5f, 0x1b, 0x7e, 0x19,
- 0xca, 0x9e, 0x06, 0xab,
- 0xee, 0xe6, 0xfd, 0x67, 0xb4, 0x53, 0xc4, 0x72, 0x8f, 0x94, 0x4c, 0x1f,
- 0x73, 0xba, 0x5e, 0x7e,
- 0xef, 0x89, 0xa7, 0x5a, 0x0b, 0xfe, 0x2a, 0xd9, 0x7e, 0x50, 0xe3, 0x1d,
- 0xa5, 0xa6, 0xd7, 0x8c,
- 0xf0, 0x86, 0x9e, 0x94, 0xa0, 0x58, 0x61, 0x3d, 0xa3, 0xbb, 0x7b, 0x23,
- 0x43, 0x11, 0x6b, 0x70,
- 0xf1, 0xe9, 0xc4, 0xa9, 0x1f, 0xf5, 0x8f, 0x96, 0x52, 0x7f, 0xd4, 0x21,
- 0x95, 0x0d, 0xe2, 0x82,
- 0xf2, 0x58, 0x2a, 0xee, 0x1d, 0xc1, 0x7e, 0xa8, 0x82, 0xf0, 0xe6, 0x27,
- 0x2c, 0x29, 0xba, 0x57,
- 0xf3, 0x37, 0x70, 0xd3, 0xa2, 0x6c, 0x90, 0x03, 0x73, 0x34, 0x49, 0x25,
- 0xfa, 0x35, 0x33, 0xa5,
- 0xf4, 0xf9, 0x35, 0x60, 0x19, 0xa9, 0x5f, 0xd4, 0xe1, 0x2d, 0x82, 0x2b,
- 0x9d, 0x61, 0x0a, 0x3e,
- 0xf5, 0x96, 0x6f, 0x5d, 0xa6, 0x04, 0xb1, 0x7f, 0x10, 0xe9, 0x2d, 0x29,
- 0x4b, 0x7d, 0x83, 0xcc,
- 0xf6, 0x27, 0x81, 0x1a, 0xa4, 0x30, 0x40, 0x41, 0xc0, 0x66, 0x1f, 0x2f,
- 0xf2, 0x59, 0xdb, 0x19,
- 0xf7, 0x48, 0xdb, 0x27, 0x1b, 0x9d, 0xae, 0xea, 0x31, 0xa2, 0xb0, 0x2d,
- 0x24, 0x45, 0x52, 0xeb,
- 0xf8, 0x78, 0x0b, 0xbf, 0x11, 0x79, 0x1d, 0x2c, 0x27, 0x54, 0x4a, 0x33,
- 0x3c, 0xf1, 0xa9, 0xec,
- 0xf9, 0x17, 0x51, 0x82, 0xae, 0xd4, 0xf3, 0x87, 0xd6, 0x90, 0xe5, 0x31,
- 0xea, 0xed, 0x20, 0x1e,
- 0xfa, 0xa6, 0xbf, 0xc5, 0xac, 0xe0, 0x02, 0xb9, 0x06, 0x1f, 0xd7, 0x37,
- 0x53, 0xc9, 0x78, 0xcb,
- 0xfb, 0xc9, 0xe5, 0xf8, 0x13, 0x4d, 0xec, 0x12, 0xf7, 0xdb, 0x78, 0x35,
- 0x85, 0xd5, 0xf1, 0x39,
- 0xfc, 0x07, 0xa0, 0x4b, 0xa8, 0x88, 0x23, 0xc5, 0x65, 0xc2, 0xb3, 0x3b,
- 0xe2, 0x81, 0xc8, 0xa2,
- 0xfd, 0x68, 0xfa, 0x76, 0x17, 0x25, 0xcd, 0x6e, 0x94, 0x06, 0x1c, 0x39,
- 0x34, 0x9d, 0x41, 0x50,
- 0xfe, 0xd9, 0x14, 0x31, 0x15, 0x11, 0x3c, 0x50, 0x44, 0x89, 0x2e, 0x3f,
- 0x8d, 0xb9, 0x19, 0x85,
- 0xff, 0xb6, 0x4e, 0x0c, 0xaa, 0xbc, 0xd2, 0xfb, 0xb5, 0x4d, 0x81, 0x3d,
- 0x5b, 0xa5, 0x90, 0x77,
- },
- { /* 10 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0x77, 0x44, 0x94, 0x60, 0x7c, 0x12, 0x8d, 0x2e, 0x2d, 0xbc, 0xeb,
- 0x11, 0x43, 0x48, 0x8e,
- 0x43, 0xee, 0x88, 0xeb, 0xc0, 0xf8, 0x24, 0xd9, 0x5c, 0x5a, 0xbb, 0x15,
- 0x22, 0x86, 0x90, 0xdf,
- 0x83, 0x99, 0xcc, 0x7f, 0xa0, 0x84, 0x36, 0x54, 0x72, 0x77, 0x07, 0xfe,
- 0x33, 0xc5, 0xd8, 0x51,
- 0x86, 0x1f, 0xd3, 0x15, 0x43, 0x33, 0x48, 0x71, 0xb8, 0xb4, 0xb5, 0x2a,
- 0x44, 0xcf, 0xe3, 0x7d,
- 0x46, 0x68, 0x97, 0x81, 0x23, 0x4f, 0x5a, 0xfc, 0x96, 0x99, 0x09, 0xc1,
- 0x55, 0x8c, 0xab, 0xf3,
- 0xc5, 0xf1, 0x5b, 0xfe, 0x83, 0xcb, 0x6c, 0xa8, 0xe4, 0xee, 0x0e, 0x3f,
- 0x66, 0x49, 0x73, 0xa2,
- 0x05, 0x86, 0x1f, 0x6a, 0xe3, 0xb7, 0x7e, 0x25, 0xca, 0xc3, 0xb2, 0xd4,
- 0x77, 0x0a, 0x3b, 0x2c,
- 0xcf, 0x3e, 0x65, 0x2a, 0x86, 0x66, 0x90, 0xe2, 0xb3, 0xab, 0xa9, 0x54,
- 0x88, 0x5d, 0x05, 0xfa,
- 0x0f, 0x49, 0x21, 0xbe, 0xe6, 0x1a, 0x82, 0x6f, 0x9d, 0x86, 0x15, 0xbf,
- 0x99, 0x1e, 0x4d, 0x74,
- 0x8c, 0xd0, 0xed, 0xc1, 0x46, 0x9e, 0xb4, 0x3b, 0xef, 0xf1, 0x12, 0x41,
- 0xaa, 0xdb, 0x95, 0x25,
- 0x4c, 0xa7, 0xa9, 0x55, 0x26, 0xe2, 0xa6, 0xb6, 0xc1, 0xdc, 0xae, 0xaa,
- 0xbb, 0x98, 0xdd, 0xab,
- 0x49, 0x21, 0xb6, 0x3f, 0xc5, 0x55, 0xd8, 0x93, 0x0b, 0x1f, 0x1c, 0x7e,
- 0xcc, 0x92, 0xe6, 0x87,
- 0x89, 0x56, 0xf2, 0xab, 0xa5, 0x29, 0xca, 0x1e, 0x25, 0x32, 0xa0, 0x95,
- 0xdd, 0xd1, 0xae, 0x09,
- 0x0a, 0xcf, 0x3e, 0xd4, 0x05, 0xad, 0xfc, 0x4a, 0x57, 0x45, 0xa7, 0x6b,
- 0xee, 0x14, 0x76, 0x58,
- 0xca, 0xb8, 0x7a, 0x40, 0x65, 0xd1, 0xee, 0xc7, 0x79, 0x68, 0x1b, 0x80,
- 0xff, 0x57, 0x3e, 0xd6,
- 0x5d, 0x7c, 0xca, 0x54, 0xcf, 0xcc, 0xe3, 0x07, 0xa5, 0x95, 0x91, 0xa8,
- 0xd3, 0xba, 0x0a, 0x37,
- 0x9d, 0x0b, 0x8e, 0xc0, 0xaf, 0xb0, 0xf1, 0x8a, 0x8b, 0xb8, 0x2d, 0x43,
- 0xc2, 0xf9, 0x42, 0xb9,
- 0x1e, 0x92, 0x42, 0xbf, 0x0f, 0x34, 0xc7, 0xde, 0xf9, 0xcf, 0x2a, 0xbd,
- 0xf1, 0x3c, 0x9a, 0xe8,
- 0xde, 0xe5, 0x06, 0x2b, 0x6f, 0x48, 0xd5, 0x53, 0xd7, 0xe2, 0x96, 0x56,
- 0xe0, 0x7f, 0xd2, 0x66,
- 0xdb, 0x63, 0x19, 0x41, 0x8c, 0xff, 0xab, 0x76, 0x1d, 0x21, 0x24, 0x82,
- 0x97, 0x75, 0xe9, 0x4a,
- 0x1b, 0x14, 0x5d, 0xd5, 0xec, 0x83, 0xb9, 0xfb, 0x33, 0x0c, 0x98, 0x69,
- 0x86, 0x36, 0xa1, 0xc4,
- 0x98, 0x8d, 0x91, 0xaa, 0x4c, 0x07, 0x8f, 0xaf, 0x41, 0x7b, 0x9f, 0x97,
- 0xb5, 0xf3, 0x79, 0x95,
- 0x58, 0xfa, 0xd5, 0x3e, 0x2c, 0x7b, 0x9d, 0x22, 0x6f, 0x56, 0x23, 0x7c,
- 0xa4, 0xb0, 0x31, 0x1b,
- 0x92, 0x42, 0xaf, 0x7e, 0x49, 0xaa, 0x73, 0xe5, 0x16, 0x3e, 0x38, 0xfc,
- 0x5b, 0xe7, 0x0f, 0xcd,
- 0x52, 0x35, 0xeb, 0xea, 0x29, 0xd6, 0x61, 0x68, 0x38, 0x13, 0x84, 0x17,
- 0x4a, 0xa4, 0x47, 0x43,
- 0xd1, 0xac, 0x27, 0x95, 0x89, 0x52, 0x57, 0x3c, 0x4a, 0x64, 0x83, 0xe9,
- 0x79, 0x61, 0x9f, 0x12,
- 0x11, 0xdb, 0x63, 0x01, 0xe9, 0x2e, 0x45, 0xb1, 0x64, 0x49, 0x3f, 0x02,
- 0x68, 0x22, 0xd7, 0x9c,
- 0x14, 0x5d, 0x7c, 0x6b, 0x0a, 0x99, 0x3b, 0x94, 0xae, 0x8a, 0x8d, 0xd6,
- 0x1f, 0x28, 0xec, 0xb0,
- 0xd4, 0x2a, 0x38, 0xff, 0x6a, 0xe5, 0x29, 0x19, 0x80, 0xa7, 0x31, 0x3d,
- 0x0e, 0x6b, 0xa4, 0x3e,
- 0x57, 0xb3, 0xf4, 0x80, 0xca, 0x61, 0x1f, 0x4d, 0xf2, 0xd0, 0x36, 0xc3,
- 0x3d, 0xae, 0x7c, 0x6f,
- 0x97, 0xc4, 0xb0, 0x14, 0xaa, 0x1d, 0x0d, 0xc0, 0xdc, 0xfd, 0x8a, 0x28,
- 0x2c, 0xed, 0x34, 0xe1,
- 0xba, 0xf8, 0x57, 0xa8, 0x5d, 0x5b, 0x05, 0x0e, 0x89, 0xe9, 0xe1, 0x93,
- 0x65, 0xb7, 0x14, 0x6e,
- 0x7a, 0x8f, 0x13, 0x3c, 0x3d, 0x27, 0x17, 0x83, 0xa7, 0xc4, 0x5d, 0x78,
- 0x74, 0xf4, 0x5c, 0xe0,
- 0xf9, 0x16, 0xdf, 0x43, 0x9d, 0xa3, 0x21, 0xd7, 0xd5, 0xb3, 0x5a, 0x86,
- 0x47, 0x31, 0x84, 0xb1,
- 0x39, 0x61, 0x9b, 0xd7, 0xfd, 0xdf, 0x33, 0x5a, 0xfb, 0x9e, 0xe6, 0x6d,
- 0x56, 0x72, 0xcc, 0x3f,
- 0x3c, 0xe7, 0x84, 0xbd, 0x1e, 0x68, 0x4d, 0x7f, 0x31, 0x5d, 0x54, 0xb9,
- 0x21, 0x78, 0xf7, 0x13,
- 0xfc, 0x90, 0xc0, 0x29, 0x7e, 0x14, 0x5f, 0xf2, 0x1f, 0x70, 0xe8, 0x52,
- 0x30, 0x3b, 0xbf, 0x9d,
- 0x7f, 0x09, 0x0c, 0x56, 0xde, 0x90, 0x69, 0xa6, 0x6d, 0x07, 0xef, 0xac,
- 0x03, 0xfe, 0x67, 0xcc,
- 0xbf, 0x7e, 0x48, 0xc2, 0xbe, 0xec, 0x7b, 0x2b, 0x43, 0x2a, 0x53, 0x47,
- 0x12, 0xbd, 0x2f, 0x42,
- 0x75, 0xc6, 0x32, 0x82, 0xdb, 0x3d, 0x95, 0xec, 0x3a, 0x42, 0x48, 0xc7,
- 0xed, 0xea, 0x11, 0x94,
- 0xb5, 0xb1, 0x76, 0x16, 0xbb, 0x41, 0x87, 0x61, 0x14, 0x6f, 0xf4, 0x2c,
- 0xfc, 0xa9, 0x59, 0x1a,
- 0x36, 0x28, 0xba, 0x69, 0x1b, 0xc5, 0xb1, 0x35, 0x66, 0x18, 0xf3, 0xd2,
- 0xcf, 0x6c, 0x81, 0x4b,
- 0xf6, 0x5f, 0xfe, 0xfd, 0x7b, 0xb9, 0xa3, 0xb8, 0x48, 0x35, 0x4f, 0x39,
- 0xde, 0x2f, 0xc9, 0xc5,
- 0xf3, 0xd9, 0xe1, 0x97, 0x98, 0x0e, 0xdd, 0x9d, 0x82, 0xf6, 0xfd, 0xed,
- 0xa9, 0x25, 0xf2, 0xe9,
- 0x33, 0xae, 0xa5, 0x03, 0xf8, 0x72, 0xcf, 0x10, 0xac, 0xdb, 0x41, 0x06,
- 0xb8, 0x66, 0xba, 0x67,
- 0xb0, 0x37, 0x69, 0x7c, 0x58, 0xf6, 0xf9, 0x44, 0xde, 0xac, 0x46, 0xf8,
- 0x8b, 0xa3, 0x62, 0x36,
- 0x70, 0x40, 0x2d, 0xe8, 0x38, 0x8a, 0xeb, 0xc9, 0xf0, 0x81, 0xfa, 0x13,
- 0x9a, 0xe0, 0x2a, 0xb8,
- 0xe7, 0x84, 0x9d, 0xfc, 0x92, 0x97, 0xe6, 0x09, 0x2c, 0x7c, 0x70, 0x3b,
- 0xb6, 0x0d, 0x1e, 0x59,
- 0x27, 0xf3, 0xd9, 0x68, 0xf2, 0xeb, 0xf4, 0x84, 0x02, 0x51, 0xcc, 0xd0,
- 0xa7, 0x4e, 0x56, 0xd7,
- 0xa4, 0x6a, 0x15, 0x17, 0x52, 0x6f, 0xc2, 0xd0, 0x70, 0x26, 0xcb, 0x2e,
- 0x94, 0x8b, 0x8e, 0x86,
- 0x64, 0x1d, 0x51, 0x83, 0x32, 0x13, 0xd0, 0x5d, 0x5e, 0x0b, 0x77, 0xc5,
- 0x85, 0xc8, 0xc6, 0x08,
- 0x61, 0x9b, 0x4e, 0xe9, 0xd1, 0xa4, 0xae, 0x78, 0x94, 0xc8, 0xc5, 0x11,
- 0xf2, 0xc2, 0xfd, 0x24,
- 0xa1, 0xec, 0x0a, 0x7d, 0xb1, 0xd8, 0xbc, 0xf5, 0xba, 0xe5, 0x79, 0xfa,
- 0xe3, 0x81, 0xb5, 0xaa,
- 0x22, 0x75, 0xc6, 0x02, 0x11, 0x5c, 0x8a, 0xa1, 0xc8, 0x92, 0x7e, 0x04,
- 0xd0, 0x44, 0x6d, 0xfb,
- 0xe2, 0x02, 0x82, 0x96, 0x71, 0x20, 0x98, 0x2c, 0xe6, 0xbf, 0xc2, 0xef,
- 0xc1, 0x07, 0x25, 0x75,
- 0x28, 0xba, 0xf8, 0xd6, 0x14, 0xf1, 0x76, 0xeb, 0x9f, 0xd7, 0xd9, 0x6f,
- 0x3e, 0x50, 0x1b, 0xa3,
- 0xe8, 0xcd, 0xbc, 0x42, 0x74, 0x8d, 0x64, 0x66, 0xb1, 0xfa, 0x65, 0x84,
- 0x2f, 0x13, 0x53, 0x2d,
- 0x6b, 0x54, 0x70, 0x3d, 0xd4, 0x09, 0x52, 0x32, 0xc3, 0x8d, 0x62, 0x7a,
- 0x1c, 0xd6, 0x8b, 0x7c,
- 0xab, 0x23, 0x34, 0xa9, 0xb4, 0x75, 0x40, 0xbf, 0xed, 0xa0, 0xde, 0x91,
- 0x0d, 0x95, 0xc3, 0xf2,
- 0xae, 0xa5, 0x2b, 0xc3, 0x57, 0xc2, 0x3e, 0x9a, 0x27, 0x63, 0x6c, 0x45,
- 0x7a, 0x9f, 0xf8, 0xde,
- 0x6e, 0xd2, 0x6f, 0x57, 0x37, 0xbe, 0x2c, 0x17, 0x09, 0x4e, 0xd0, 0xae,
- 0x6b, 0xdc, 0xb0, 0x50,
- 0xed, 0x4b, 0xa3, 0x28, 0x97, 0x3a, 0x1a, 0x43, 0x7b, 0x39, 0xd7, 0x50,
- 0x58, 0x19, 0x68, 0x01,
- 0x2d, 0x3c, 0xe7, 0xbc, 0xf7, 0x46, 0x08, 0xce, 0x55, 0x14, 0x6b, 0xbb,
- 0x49, 0x5a, 0x20, 0x8f,
- 0xb7, 0x33, 0xae, 0x93, 0xba, 0xb6, 0x0a, 0x1c, 0xd1, 0x11, 0x01, 0xe5,
- 0xca, 0xad, 0x28, 0xdc,
- 0x77, 0x44, 0xea, 0x07, 0xda, 0xca, 0x18, 0x91, 0xff, 0x3c, 0xbd, 0x0e,
- 0xdb, 0xee, 0x60, 0x52,
- 0xf4, 0xdd, 0x26, 0x78, 0x7a, 0x4e, 0x2e, 0xc5, 0x8d, 0x4b, 0xba, 0xf0,
- 0xe8, 0x2b, 0xb8, 0x03,
- 0x34, 0xaa, 0x62, 0xec, 0x1a, 0x32, 0x3c, 0x48, 0xa3, 0x66, 0x06, 0x1b,
- 0xf9, 0x68, 0xf0, 0x8d,
- 0x31, 0x2c, 0x7d, 0x86, 0xf9, 0x85, 0x42, 0x6d, 0x69, 0xa5, 0xb4, 0xcf,
- 0x8e, 0x62, 0xcb, 0xa1,
- 0xf1, 0x5b, 0x39, 0x12, 0x99, 0xf9, 0x50, 0xe0, 0x47, 0x88, 0x08, 0x24,
- 0x9f, 0x21, 0x83, 0x2f,
- 0x72, 0xc2, 0xf5, 0x6d, 0x39, 0x7d, 0x66, 0xb4, 0x35, 0xff, 0x0f, 0xda,
- 0xac, 0xe4, 0x5b, 0x7e,
- 0xb2, 0xb5, 0xb1, 0xf9, 0x59, 0x01, 0x74, 0x39, 0x1b, 0xd2, 0xb3, 0x31,
- 0xbd, 0xa7, 0x13, 0xf0,
- 0x78, 0x0d, 0xcb, 0xb9, 0x3c, 0xd0, 0x9a, 0xfe, 0x62, 0xba, 0xa8, 0xb1,
- 0x42, 0xf0, 0x2d, 0x26,
- 0xb8, 0x7a, 0x8f, 0x2d, 0x5c, 0xac, 0x88, 0x73, 0x4c, 0x97, 0x14, 0x5a,
- 0x53, 0xb3, 0x65, 0xa8,
- 0x3b, 0xe3, 0x43, 0x52, 0xfc, 0x28, 0xbe, 0x27, 0x3e, 0xe0, 0x13, 0xa4,
- 0x60, 0x76, 0xbd, 0xf9,
- 0xfb, 0x94, 0x07, 0xc6, 0x9c, 0x54, 0xac, 0xaa, 0x10, 0xcd, 0xaf, 0x4f,
- 0x71, 0x35, 0xf5, 0x77,
- 0xfe, 0x12, 0x18, 0xac, 0x7f, 0xe3, 0xd2, 0x8f, 0xda, 0x0e, 0x1d, 0x9b,
- 0x06, 0x3f, 0xce, 0x5b,
- 0x3e, 0x65, 0x5c, 0x38, 0x1f, 0x9f, 0xc0, 0x02, 0xf4, 0x23, 0xa1, 0x70,
- 0x17, 0x7c, 0x86, 0xd5,
- 0xbd, 0xfc, 0x90, 0x47, 0xbf, 0x1b, 0xf6, 0x56, 0x86, 0x54, 0xa6, 0x8e,
- 0x24, 0xb9, 0x5e, 0x84,
- 0x7d, 0x8b, 0xd4, 0xd3, 0xdf, 0x67, 0xe4, 0xdb, 0xa8, 0x79, 0x1a, 0x65,
- 0x35, 0xfa, 0x16, 0x0a,
- 0xea, 0x4f, 0x64, 0xc7, 0x75, 0x7a, 0xe9, 0x1b, 0x74, 0x84, 0x90, 0x4d,
- 0x19, 0x17, 0x22, 0xeb,
- 0x2a, 0x38, 0x20, 0x53, 0x15, 0x06, 0xfb, 0x96, 0x5a, 0xa9, 0x2c, 0xa6,
- 0x08, 0x54, 0x6a, 0x65,
- 0xa9, 0xa1, 0xec, 0x2c, 0xb5, 0x82, 0xcd, 0xc2, 0x28, 0xde, 0x2b, 0x58,
- 0x3b, 0x91, 0xb2, 0x34,
- 0x69, 0xd6, 0xa8, 0xb8, 0xd5, 0xfe, 0xdf, 0x4f, 0x06, 0xf3, 0x97, 0xb3,
- 0x2a, 0xd2, 0xfa, 0xba,
- 0x6c, 0x50, 0xb7, 0xd2, 0x36, 0x49, 0xa1, 0x6a, 0xcc, 0x30, 0x25, 0x67,
- 0x5d, 0xd8, 0xc1, 0x96,
- 0xac, 0x27, 0xf3, 0x46, 0x56, 0x35, 0xb3, 0xe7, 0xe2, 0x1d, 0x99, 0x8c,
- 0x4c, 0x9b, 0x89, 0x18,
- 0x2f, 0xbe, 0x3f, 0x39, 0xf6, 0xb1, 0x85, 0xb3, 0x90, 0x6a, 0x9e, 0x72,
- 0x7f, 0x5e, 0x51, 0x49,
- 0xef, 0xc9, 0x7b, 0xad, 0x96, 0xcd, 0x97, 0x3e, 0xbe, 0x47, 0x22, 0x99,
- 0x6e, 0x1d, 0x19, 0xc7,
- 0x25, 0x71, 0x01, 0xed, 0xf3, 0x1c, 0x79, 0xf9, 0xc7, 0x2f, 0x39, 0x19,
- 0x91, 0x4a, 0x27, 0x11,
- 0xe5, 0x06, 0x45, 0x79, 0x93, 0x60, 0x6b, 0x74, 0xe9, 0x02, 0x85, 0xf2,
- 0x80, 0x09, 0x6f, 0x9f,
- 0x66, 0x9f, 0x89, 0x06, 0x33, 0xe4, 0x5d, 0x20, 0x9b, 0x75, 0x82, 0x0c,
- 0xb3, 0xcc, 0xb7, 0xce,
- 0xa6, 0xe8, 0xcd, 0x92, 0x53, 0x98, 0x4f, 0xad, 0xb5, 0x58, 0x3e, 0xe7,
- 0xa2, 0x8f, 0xff, 0x40,
- 0xa3, 0x6e, 0xd2, 0xf8, 0xb0, 0x2f, 0x31, 0x88, 0x7f, 0x9b, 0x8c, 0x33,
- 0xd5, 0x85, 0xc4, 0x6c,
- 0x63, 0x19, 0x96, 0x6c, 0xd0, 0x53, 0x23, 0x05, 0x51, 0xb6, 0x30, 0xd8,
- 0xc4, 0xc6, 0x8c, 0xe2,
- 0xe0, 0x80, 0x5a, 0x13, 0x70, 0xd7, 0x15, 0x51, 0x23, 0xc1, 0x37, 0x26,
- 0xf7, 0x03, 0x54, 0xb3,
- 0x20, 0xf7, 0x1e, 0x87, 0x10, 0xab, 0x07, 0xdc, 0x0d, 0xec, 0x8b, 0xcd,
- 0xe6, 0x40, 0x1c, 0x3d,
- 0x0d, 0xcb, 0xf9, 0x3b, 0xe7, 0xed, 0x0f, 0x12, 0x58, 0xf8, 0xe0, 0x76,
- 0xaf, 0x1a, 0x3c, 0xb2,
- 0xcd, 0xbc, 0xbd, 0xaf, 0x87, 0x91, 0x1d, 0x9f, 0x76, 0xd5, 0x5c, 0x9d,
- 0xbe, 0x59, 0x74, 0x3c,
- 0x4e, 0x25, 0x71, 0xd0, 0x27, 0x15, 0x2b, 0xcb, 0x04, 0xa2, 0x5b, 0x63,
- 0x8d, 0x9c, 0xac, 0x6d,
- 0x8e, 0x52, 0x35, 0x44, 0x47, 0x69, 0x39, 0x46, 0x2a, 0x8f, 0xe7, 0x88,
- 0x9c, 0xdf, 0xe4, 0xe3,
- 0x8b, 0xd4, 0x2a, 0x2e, 0xa4, 0xde, 0x47, 0x63, 0xe0, 0x4c, 0x55, 0x5c,
- 0xeb, 0xd5, 0xdf, 0xcf,
- 0x4b, 0xa3, 0x6e, 0xba, 0xc4, 0xa2, 0x55, 0xee, 0xce, 0x61, 0xe9, 0xb7,
- 0xfa, 0x96, 0x97, 0x41,
- 0xc8, 0x3a, 0xa2, 0xc5, 0x64, 0x26, 0x63, 0xba, 0xbc, 0x16, 0xee, 0x49,
- 0xc9, 0x53, 0x4f, 0x10,
- 0x08, 0x4d, 0xe6, 0x51, 0x04, 0x5a, 0x71, 0x37, 0x92, 0x3b, 0x52, 0xa2,
- 0xd8, 0x10, 0x07, 0x9e,
- 0xc2, 0xf5, 0x9c, 0x11, 0x61, 0x8b, 0x9f, 0xf0, 0xeb, 0x53, 0x49, 0x22,
- 0x27, 0x47, 0x39, 0x48,
- 0x02, 0x82, 0xd8, 0x85, 0x01, 0xf7, 0x8d, 0x7d, 0xc5, 0x7e, 0xf5, 0xc9,
- 0x36, 0x04, 0x71, 0xc6,
- 0x81, 0x1b, 0x14, 0xfa, 0xa1, 0x73, 0xbb, 0x29, 0xb7, 0x09, 0xf2, 0x37,
- 0x05, 0xc1, 0xa9, 0x97,
- 0x41, 0x6c, 0x50, 0x6e, 0xc1, 0x0f, 0xa9, 0xa4, 0x99, 0x24, 0x4e, 0xdc,
- 0x14, 0x82, 0xe1, 0x19,
- 0x44, 0xea, 0x4f, 0x04, 0x22, 0xb8, 0xd7, 0x81, 0x53, 0xe7, 0xfc, 0x08,
- 0x63, 0x88, 0xda, 0x35,
- 0x84, 0x9d, 0x0b, 0x90, 0x42, 0xc4, 0xc5, 0x0c, 0x7d, 0xca, 0x40, 0xe3,
- 0x72, 0xcb, 0x92, 0xbb,
- 0x07, 0x04, 0xc7, 0xef, 0xe2, 0x40, 0xf3, 0x58, 0x0f, 0xbd, 0x47, 0x1d,
- 0x41, 0x0e, 0x4a, 0xea,
- 0xc7, 0x73, 0x83, 0x7b, 0x82, 0x3c, 0xe1, 0xd5, 0x21, 0x90, 0xfb, 0xf6,
- 0x50, 0x4d, 0x02, 0x64,
- 0x50, 0xb7, 0x33, 0x6f, 0x28, 0x21, 0xec, 0x15, 0xfd, 0x6d, 0x71, 0xde,
- 0x7c, 0xa0, 0x36, 0x85,
- 0x90, 0xc0, 0x77, 0xfb, 0x48, 0x5d, 0xfe, 0x98, 0xd3, 0x40, 0xcd, 0x35,
- 0x6d, 0xe3, 0x7e, 0x0b,
- 0x13, 0x59, 0xbb, 0x84, 0xe8, 0xd9, 0xc8, 0xcc, 0xa1, 0x37, 0xca, 0xcb,
- 0x5e, 0x26, 0xa6, 0x5a,
- 0xd3, 0x2e, 0xff, 0x10, 0x88, 0xa5, 0xda, 0x41, 0x8f, 0x1a, 0x76, 0x20,
- 0x4f, 0x65, 0xee, 0xd4,
- 0xd6, 0xa8, 0xe0, 0x7a, 0x6b, 0x12, 0xa4, 0x64, 0x45, 0xd9, 0xc4, 0xf4,
- 0x38, 0x6f, 0xd5, 0xf8,
- 0x16, 0xdf, 0xa4, 0xee, 0x0b, 0x6e, 0xb6, 0xe9, 0x6b, 0xf4, 0x78, 0x1f,
- 0x29, 0x2c, 0x9d, 0x76,
- 0x95, 0x46, 0x68, 0x91, 0xab, 0xea, 0x80, 0xbd, 0x19, 0x83, 0x7f, 0xe1,
- 0x1a, 0xe9, 0x45, 0x27,
- 0x55, 0x31, 0x2c, 0x05, 0xcb, 0x96, 0x92, 0x30, 0x37, 0xae, 0xc3, 0x0a,
- 0x0b, 0xaa, 0x0d, 0xa9,
- 0x9f, 0x89, 0x56, 0x45, 0xae, 0x47, 0x7c, 0xf7, 0x4e, 0xc6, 0xd8, 0x8a,
- 0xf4, 0xfd, 0x33, 0x7f,
- 0x5f, 0xfe, 0x12, 0xd1, 0xce, 0x3b, 0x6e, 0x7a, 0x60, 0xeb, 0x64, 0x61,
- 0xe5, 0xbe, 0x7b, 0xf1,
- 0xdc, 0x67, 0xde, 0xae, 0x6e, 0xbf, 0x58, 0x2e, 0x12, 0x9c, 0x63, 0x9f,
- 0xd6, 0x7b, 0xa3, 0xa0,
- 0x1c, 0x10, 0x9a, 0x3a, 0x0e, 0xc3, 0x4a, 0xa3, 0x3c, 0xb1, 0xdf, 0x74,
- 0xc7, 0x38, 0xeb, 0x2e,
- 0x19, 0x96, 0x85, 0x50, 0xed, 0x74, 0x34, 0x86, 0xf6, 0x72, 0x6d, 0xa0,
- 0xb0, 0x32, 0xd0, 0x02,
- 0xd9, 0xe1, 0xc1, 0xc4, 0x8d, 0x08, 0x26, 0x0b, 0xd8, 0x5f, 0xd1, 0x4b,
- 0xa1, 0x71, 0x98, 0x8c,
- 0x5a, 0x78, 0x0d, 0xbb, 0x2d, 0x8c, 0x10, 0x5f, 0xaa, 0x28, 0xd6, 0xb5,
- 0x92, 0xb4, 0x40, 0xdd,
- 0x9a, 0x0f, 0x49, 0x2f, 0x4d, 0xf0, 0x02, 0xd2, 0x84, 0x05, 0x6a, 0x5e,
- 0x83, 0xf7, 0x08, 0x53,
- 0xad, 0x66, 0x9f, 0xe5, 0xb7, 0xaf, 0x14, 0x38, 0x61, 0x22, 0x02, 0x09,
- 0x57, 0x99, 0x50, 0x7b,
- 0x6d, 0x11, 0xdb, 0x71, 0xd7, 0xd3, 0x06, 0xb5, 0x4f, 0x0f, 0xbe, 0xe2,
- 0x46, 0xda, 0x18, 0xf5,
- 0xee, 0x88, 0x17, 0x0e, 0x77, 0x57, 0x30, 0xe1, 0x3d, 0x78, 0xb9, 0x1c,
- 0x75, 0x1f, 0xc0, 0xa4,
- 0x2e, 0xff, 0x53, 0x9a, 0x17, 0x2b, 0x22, 0x6c, 0x13, 0x55, 0x05, 0xf7,
- 0x64, 0x5c, 0x88, 0x2a,
- 0x2b, 0x79, 0x4c, 0xf0, 0xf4, 0x9c, 0x5c, 0x49, 0xd9, 0x96, 0xb7, 0x23,
- 0x13, 0x56, 0xb3, 0x06,
- 0xeb, 0x0e, 0x08, 0x64, 0x94, 0xe0, 0x4e, 0xc4, 0xf7, 0xbb, 0x0b, 0xc8,
- 0x02, 0x15, 0xfb, 0x88,
- 0x68, 0x97, 0xc4, 0x1b, 0x34, 0x64, 0x78, 0x90, 0x85, 0xcc, 0x0c, 0x36,
- 0x31, 0xd0, 0x23, 0xd9,
- 0xa8, 0xe0, 0x80, 0x8f, 0x54, 0x18, 0x6a, 0x1d, 0xab, 0xe1, 0xb0, 0xdd,
- 0x20, 0x93, 0x6b, 0x57,
- 0x62, 0x58, 0xfa, 0xcf, 0x31, 0xc9, 0x84, 0xda, 0xd2, 0x89, 0xab, 0x5d,
- 0xdf, 0xc4, 0x55, 0x81,
- 0xa2, 0x2f, 0xbe, 0x5b, 0x51, 0xb5, 0x96, 0x57, 0xfc, 0xa4, 0x17, 0xb6,
- 0xce, 0x87, 0x1d, 0x0f,
- 0x21, 0xb6, 0x72, 0x24, 0xf1, 0x31, 0xa0, 0x03, 0x8e, 0xd3, 0x10, 0x48,
- 0xfd, 0x42, 0xc5, 0x5e,
- 0xe1, 0xc1, 0x36, 0xb0, 0x91, 0x4d, 0xb2, 0x8e, 0xa0, 0xfe, 0xac, 0xa3,
- 0xec, 0x01, 0x8d, 0xd0,
- 0xe4, 0x47, 0x29, 0xda, 0x72, 0xfa, 0xcc, 0xab, 0x6a, 0x3d, 0x1e, 0x77,
- 0x9b, 0x0b, 0xb6, 0xfc,
- 0x24, 0x30, 0x6d, 0x4e, 0x12, 0x86, 0xde, 0x26, 0x44, 0x10, 0xa2, 0x9c,
- 0x8a, 0x48, 0xfe, 0x72,
- 0xa7, 0xa9, 0xa1, 0x31, 0xb2, 0x02, 0xe8, 0x72, 0x36, 0x67, 0xa5, 0x62,
- 0xb9, 0x8d, 0x26, 0x23,
- 0x67, 0xde, 0xe5, 0xa5, 0xd2, 0x7e, 0xfa, 0xff, 0x18, 0x4a, 0x19, 0x89,
- 0xa8, 0xce, 0x6e, 0xad,
- 0xf0, 0x1a, 0x55, 0xb1, 0x78, 0x63, 0xf7, 0x3f, 0xc4, 0xb7, 0x93, 0xa1,
- 0x84, 0x23, 0x5a, 0x4c,
- 0x30, 0x6d, 0x11, 0x25, 0x18, 0x1f, 0xe5, 0xb2, 0xea, 0x9a, 0x2f, 0x4a,
- 0x95, 0x60, 0x12, 0xc2,
- 0xb3, 0xf4, 0xdd, 0x5a, 0xb8, 0x9b, 0xd3, 0xe6, 0x98, 0xed, 0x28, 0xb4,
- 0xa6, 0xa5, 0xca, 0x93,
- 0x73, 0x83, 0x99, 0xce, 0xd8, 0xe7, 0xc1, 0x6b, 0xb6, 0xc0, 0x94, 0x5f,
- 0xb7, 0xe6, 0x82, 0x1d,
- 0x76, 0x05, 0x86, 0xa4, 0x3b, 0x50, 0xbf, 0x4e, 0x7c, 0x03, 0x26, 0x8b,
- 0xc0, 0xec, 0xb9, 0x31,
- 0xb6, 0x72, 0xc2, 0x30, 0x5b, 0x2c, 0xad, 0xc3, 0x52, 0x2e, 0x9a, 0x60,
- 0xd1, 0xaf, 0xf1, 0xbf,
- 0x35, 0xeb, 0x0e, 0x4f, 0xfb, 0xa8, 0x9b, 0x97, 0x20, 0x59, 0x9d, 0x9e,
- 0xe2, 0x6a, 0x29, 0xee,
- 0xf5, 0x9c, 0x4a, 0xdb, 0x9b, 0xd4, 0x89, 0x1a, 0x0e, 0x74, 0x21, 0x75,
- 0xf3, 0x29, 0x61, 0x60,
- 0x3f, 0x24, 0x30, 0x9b, 0xfe, 0x05, 0x67, 0xdd, 0x77, 0x1c, 0x3a, 0xf5,
- 0x0c, 0x7e, 0x5f, 0xb6,
- 0xff, 0x53, 0x74, 0x0f, 0x9e, 0x79, 0x75, 0x50, 0x59, 0x31, 0x86, 0x1e,
- 0x1d, 0x3d, 0x17, 0x38,
- 0x7c, 0xca, 0xb8, 0x70, 0x3e, 0xfd, 0x43, 0x04, 0x2b, 0x46, 0x81, 0xe0,
- 0x2e, 0xf8, 0xcf, 0x69,
- 0xbc, 0xbd, 0xfc, 0xe4, 0x5e, 0x81, 0x51, 0x89, 0x05, 0x6b, 0x3d, 0x0b,
- 0x3f, 0xbb, 0x87, 0xe7,
- 0xb9, 0x3b, 0xe3, 0x8e, 0xbd, 0x36, 0x2f, 0xac, 0xcf, 0xa8, 0x8f, 0xdf,
- 0x48, 0xb1, 0xbc, 0xcb,
- 0x79, 0x4c, 0xa7, 0x1a, 0xdd, 0x4a, 0x3d, 0x21, 0xe1, 0x85, 0x33, 0x34,
- 0x59, 0xf2, 0xf4, 0x45,
- 0xfa, 0xd5, 0x6b, 0x65, 0x7d, 0xce, 0x0b, 0x75, 0x93, 0xf2, 0x34, 0xca,
- 0x6a, 0x37, 0x2c, 0x14,
- 0x3a, 0xa2, 0x2f, 0xf1, 0x1d, 0xb2, 0x19, 0xf8, 0xbd, 0xdf, 0x88, 0x21,
- 0x7b, 0x74, 0x64, 0x9a,
- 0x17, 0x9e, 0xc8, 0x4d, 0xea, 0xf4, 0x11, 0x36, 0xe8, 0xcb, 0xe3, 0x9a,
- 0x32, 0x2e, 0x44, 0x15,
- 0xd7, 0xe9, 0x8c, 0xd9, 0x8a, 0x88, 0x03, 0xbb, 0xc6, 0xe6, 0x5f, 0x71,
- 0x23, 0x6d, 0x0c, 0x9b,
- 0x54, 0x70, 0x40, 0xa6, 0x2a, 0x0c, 0x35, 0xef, 0xb4, 0x91, 0x58, 0x8f,
- 0x10, 0xa8, 0xd4, 0xca,
- 0x94, 0x07, 0x04, 0x32, 0x4a, 0x70, 0x27, 0x62, 0x9a, 0xbc, 0xe4, 0x64,
- 0x01, 0xeb, 0x9c, 0x44,
- 0x91, 0x81, 0x1b, 0x58, 0xa9, 0xc7, 0x59, 0x47, 0x50, 0x7f, 0x56, 0xb0,
- 0x76, 0xe1, 0xa7, 0x68,
- 0x51, 0xf6, 0x5f, 0xcc, 0xc9, 0xbb, 0x4b, 0xca, 0x7e, 0x52, 0xea, 0x5b,
- 0x67, 0xa2, 0xef, 0xe6,
- 0xd2, 0x6f, 0x93, 0xb3, 0x69, 0x3f, 0x7d, 0x9e, 0x0c, 0x25, 0xed, 0xa5,
- 0x54, 0x67, 0x37, 0xb7,
- 0x12, 0x18, 0xd7, 0x27, 0x09, 0x43, 0x6f, 0x13, 0x22, 0x08, 0x51, 0x4e,
- 0x45, 0x24, 0x7f, 0x39,
- 0xd8, 0xa0, 0xad, 0x67, 0x6c, 0x92, 0x81, 0xd4, 0x5b, 0x60, 0x4a, 0xce,
- 0xba, 0x73, 0x41, 0xef,
- 0x18, 0xd7, 0xe9, 0xf3, 0x0c, 0xee, 0x93, 0x59, 0x75, 0x4d, 0xf6, 0x25,
- 0xab, 0x30, 0x09, 0x61,
- 0x9b, 0x4e, 0x25, 0x8c, 0xac, 0x6a, 0xa5, 0x0d, 0x07, 0x3a, 0xf1, 0xdb,
- 0x98, 0xf5, 0xd1, 0x30,
- 0x5b, 0x39, 0x61, 0x18, 0xcc, 0x16, 0xb7, 0x80, 0x29, 0x17, 0x4d, 0x30,
- 0x89, 0xb6, 0x99, 0xbe,
- 0x5e, 0xbf, 0x7e, 0x72, 0x2f, 0xa1, 0xc9, 0xa5, 0xe3, 0xd4, 0xff, 0xe4,
- 0xfe, 0xbc, 0xa2, 0x92,
- 0x9e, 0xc8, 0x3a, 0xe6, 0x4f, 0xdd, 0xdb, 0x28, 0xcd, 0xf9, 0x43, 0x0f,
- 0xef, 0xff, 0xea, 0x1c,
- 0x1d, 0x51, 0xf6, 0x99, 0xef, 0x59, 0xed, 0x7c, 0xbf, 0x8e, 0x44, 0xf1,
- 0xdc, 0x3a, 0x32, 0x4d,
- 0xdd, 0x26, 0xb2, 0x0d, 0x8f, 0x25, 0xff, 0xf1, 0x91, 0xa3, 0xf8, 0x1a,
- 0xcd, 0x79, 0x7a, 0xc3,
- 0x4a, 0xe2, 0x02, 0x19, 0x25, 0x38, 0xf2, 0x31, 0x4d, 0x5e, 0x72, 0x32,
- 0xe1, 0x94, 0x4e, 0x22,
- 0x8a, 0x95, 0x46, 0x8d, 0x45, 0x44, 0xe0, 0xbc, 0x63, 0x73, 0xce, 0xd9,
- 0xf0, 0xd7, 0x06, 0xac,
- 0x09, 0x0c, 0x8a, 0xf2, 0xe5, 0xc0, 0xd6, 0xe8, 0x11, 0x04, 0xc9, 0x27,
- 0xc3, 0x12, 0xde, 0xfd,
- 0xc9, 0x7b, 0xce, 0x66, 0x85, 0xbc, 0xc4, 0x65, 0x3f, 0x29, 0x75, 0xcc,
- 0xd2, 0x51, 0x96, 0x73,
- 0xcc, 0xfd, 0xd1, 0x0c, 0x66, 0x0b, 0xba, 0x40, 0xf5, 0xea, 0xc7, 0x18,
- 0xa5, 0x5b, 0xad, 0x5f,
- 0x0c, 0x8a, 0x95, 0x98, 0x06, 0x77, 0xa8, 0xcd, 0xdb, 0xc7, 0x7b, 0xf3,
- 0xb4, 0x18, 0xe5, 0xd1,
- 0x8f, 0x13, 0x59, 0xe7, 0xa6, 0xf3, 0x9e, 0x99, 0xa9, 0xb0, 0x7c, 0x0d,
- 0x87, 0xdd, 0x3d, 0x80,
- 0x4f, 0x64, 0x1d, 0x73, 0xc6, 0x8f, 0x8c, 0x14, 0x87, 0x9d, 0xc0, 0xe6,
- 0x96, 0x9e, 0x75, 0x0e,
- 0x85, 0xdc, 0x67, 0x33, 0xa3, 0x5e, 0x62, 0xd3, 0xfe, 0xf5, 0xdb, 0x66,
- 0x69, 0xc9, 0x4b, 0xd8,
- 0x45, 0xab, 0x23, 0xa7, 0xc3, 0x22, 0x70, 0x5e, 0xd0, 0xd8, 0x67, 0x8d,
- 0x78, 0x8a, 0x03, 0x56,
- 0xc6, 0x32, 0xef, 0xd8, 0x63, 0xa6, 0x46, 0x0a, 0xa2, 0xaf, 0x60, 0x73,
- 0x4b, 0x4f, 0xdb, 0x07,
- 0x06, 0x45, 0xab, 0x4c, 0x03, 0xda, 0x54, 0x87, 0x8c, 0x82, 0xdc, 0x98,
- 0x5a, 0x0c, 0x93, 0x89,
- 0x03, 0xc3, 0xb4, 0x26, 0xe0, 0x6d, 0x2a, 0xa2, 0x46, 0x41, 0x6e, 0x4c,
- 0x2d, 0x06, 0xa8, 0xa5,
- 0xc3, 0xb4, 0xf0, 0xb2, 0x80, 0x11, 0x38, 0x2f, 0x68, 0x6c, 0xd2, 0xa7,
- 0x3c, 0x45, 0xe0, 0x2b,
- 0x40, 0x2d, 0x3c, 0xcd, 0x20, 0x95, 0x0e, 0x7b, 0x1a, 0x1b, 0xd5, 0x59,
- 0x0f, 0x80, 0x38, 0x7a,
- 0x80, 0x5a, 0x78, 0x59, 0x40, 0xe9, 0x1c, 0xf6, 0x34, 0x36, 0x69, 0xb2,
- 0x1e, 0xc3, 0x70, 0xf4,
- 0x1a, 0x55, 0x31, 0x76, 0x0d, 0x19, 0x1e, 0x24, 0xb0, 0x33, 0x03, 0xec,
- 0x9d, 0x34, 0x78, 0xa7,
- 0xda, 0x22, 0x75, 0xe2, 0x6d, 0x65, 0x0c, 0xa9, 0x9e, 0x1e, 0xbf, 0x07,
- 0x8c, 0x77, 0x30, 0x29,
- 0x59, 0xbb, 0xb9, 0x9d, 0xcd, 0xe1, 0x3a, 0xfd, 0xec, 0x69, 0xb8, 0xf9,
- 0xbf, 0xb2, 0xe8, 0x78,
- 0x99, 0xcc, 0xfd, 0x09, 0xad, 0x9d, 0x28, 0x70, 0xc2, 0x44, 0x04, 0x12,
- 0xae, 0xf1, 0xa0, 0xf6,
- 0x9c, 0x4a, 0xe2, 0x63, 0x4e, 0x2a, 0x56, 0x55, 0x08, 0x87, 0xb6, 0xc6,
- 0xd9, 0xfb, 0x9b, 0xda,
- 0x5c, 0x3d, 0xa6, 0xf7, 0x2e, 0x56, 0x44, 0xd8, 0x26, 0xaa, 0x0a, 0x2d,
- 0xc8, 0xb8, 0xd3, 0x54,
- 0xdf, 0xa4, 0x6a, 0x88, 0x8e, 0xd2, 0x72, 0x8c, 0x54, 0xdd, 0x0d, 0xd3,
- 0xfb, 0x7d, 0x0b, 0x05,
- 0x1f, 0xd3, 0x2e, 0x1c, 0xee, 0xae, 0x60, 0x01, 0x7a, 0xf0, 0xb1, 0x38,
- 0xea, 0x3e, 0x43, 0x8b,
- 0xd5, 0x6b, 0x54, 0x5c, 0x8b, 0x7f, 0x8e, 0xc6, 0x03, 0x98, 0xaa, 0xb8,
- 0x15, 0x69, 0x7d, 0x5d,
- 0x15, 0x1c, 0x10, 0xc8, 0xeb, 0x03, 0x9c, 0x4b, 0x2d, 0xb5, 0x16, 0x53,
- 0x04, 0x2a, 0x35, 0xd3,
- 0x96, 0x85, 0xdc, 0xb7, 0x4b, 0x87, 0xaa, 0x1f, 0x5f, 0xc2, 0x11, 0xad,
- 0x37, 0xef, 0xed, 0x82,
- 0x56, 0xf2, 0x98, 0x23, 0x2b, 0xfb, 0xb8, 0x92, 0x71, 0xef, 0xad, 0x46,
- 0x26, 0xac, 0xa5, 0x0c,
- 0x53, 0x74, 0x87, 0x49, 0xc8, 0x4c, 0xc6, 0xb7, 0xbb, 0x2c, 0x1f, 0x92,
- 0x51, 0xa6, 0x9e, 0x20,
- 0x93, 0x03, 0xc3, 0xdd, 0xa8, 0x30, 0xd4, 0x3a, 0x95, 0x01, 0xa3, 0x79,
- 0x40, 0xe5, 0xd6, 0xae,
- 0x10, 0x9a, 0x0f, 0xa2, 0x08, 0xb4, 0xe2, 0x6e, 0xe7, 0x76, 0xa4, 0x87,
- 0x73, 0x20, 0x0e, 0xff,
- 0xd0, 0xed, 0x4b, 0x36, 0x68, 0xc8, 0xf0, 0xe3, 0xc9, 0x5b, 0x18, 0x6c,
- 0x62, 0x63, 0x46, 0x71,
- 0x47, 0x29, 0xfb, 0x22, 0xc2, 0xd5, 0xfd, 0x23, 0x15, 0xa6, 0x92, 0x44,
- 0x4e, 0x8e, 0x72, 0x90,
- 0x87, 0x5e, 0xbf, 0xb6, 0xa2, 0xa9, 0xef, 0xae, 0x3b, 0x8b, 0x2e, 0xaf,
- 0x5f, 0xcd, 0x3a, 0x1e,
- 0x04, 0xc7, 0x73, 0xc9, 0x02, 0x2d, 0xd9, 0xfa, 0x49, 0xfc, 0x29, 0x51,
- 0x6c, 0x08, 0xe2, 0x4f,
- 0xc4, 0xb0, 0x37, 0x5d, 0x62, 0x51, 0xcb, 0x77, 0x67, 0xd1, 0x95, 0xba,
- 0x7d, 0x4b, 0xaa, 0xc1,
- 0xc1, 0x36, 0x28, 0x37, 0x81, 0xe6, 0xb5, 0x52, 0xad, 0x12, 0x27, 0x6e,
- 0x0a, 0x41, 0x91, 0xed,
- 0x01, 0x41, 0x6c, 0xa3, 0xe1, 0x9a, 0xa7, 0xdf, 0x83, 0x3f, 0x9b, 0x85,
- 0x1b, 0x02, 0xd9, 0x63,
- 0x82, 0xd8, 0xa0, 0xdc, 0x41, 0x1e, 0x91, 0x8b, 0xf1, 0x48, 0x9c, 0x7b,
- 0x28, 0xc7, 0x01, 0x32,
- 0x42, 0xaf, 0xe4, 0x48, 0x21, 0x62, 0x83, 0x06, 0xdf, 0x65, 0x20, 0x90,
- 0x39, 0x84, 0x49, 0xbc,
- 0x88, 0x17, 0x9e, 0x08, 0x44, 0xb3, 0x6d, 0xc1, 0xa6, 0x0d, 0x3b, 0x10,
- 0xc6, 0xd3, 0x77, 0x6a,
- 0x48, 0x60, 0xda, 0x9c, 0x24, 0xcf, 0x7f, 0x4c, 0x88, 0x20, 0x87, 0xfb,
- 0xd7, 0x90, 0x3f, 0xe4,
- 0xcb, 0xf9, 0x16, 0xe3, 0x84, 0x4b, 0x49, 0x18, 0xfa, 0x57, 0x80, 0x05,
- 0xe4, 0x55, 0xe7, 0xb5,
- 0x0b, 0x8e, 0x52, 0x77, 0xe4, 0x37, 0x5b, 0x95, 0xd4, 0x7a, 0x3c, 0xee,
- 0xf5, 0x16, 0xaf, 0x3b,
- 0x0e, 0x08, 0x4d, 0x1d, 0x07, 0x80, 0x25, 0xb0, 0x1e, 0xb9, 0x8e, 0x3a,
- 0x82, 0x1c, 0x94, 0x17,
- 0xce, 0x7f, 0x09, 0x89, 0x67, 0xfc, 0x37, 0x3d, 0x30, 0x94, 0x32, 0xd1,
- 0x93, 0x5f, 0xdc, 0x99,
- 0x4d, 0xe6, 0xc5, 0xf6, 0xc7, 0x78, 0x01, 0x69, 0x42, 0xe3, 0x35, 0x2f,
- 0xa0, 0x9a, 0x04, 0xc8,
- 0x8d, 0x91, 0x81, 0x62, 0xa7, 0x04, 0x13, 0xe4, 0x6c, 0xce, 0x89, 0xc4,
- 0xb1, 0xd9, 0x4c, 0x46,
- 0xa0, 0xad, 0x66, 0xde, 0x50, 0x42, 0x1b, 0x2a, 0x39, 0xda, 0xe2, 0x7f,
- 0xf8, 0x83, 0x6c, 0xc9,
- 0x60, 0xda, 0x22, 0x4a, 0x30, 0x3e, 0x09, 0xa7, 0x17, 0xf7, 0x5e, 0x94,
- 0xe9, 0xc0, 0x24, 0x47,
- 0xe3, 0x43, 0xee, 0x35, 0x90, 0xba, 0x3f, 0xf3, 0x65, 0x80, 0x59, 0x6a,
- 0xda, 0x05, 0xfc, 0x16,
- 0x23, 0x34, 0xaa, 0xa1, 0xf0, 0xc6, 0x2d, 0x7e, 0x4b, 0xad, 0xe5, 0x81,
- 0xcb, 0x46, 0xb4, 0x98,
- 0x26, 0xb2, 0xb5, 0xcb, 0x13, 0x71, 0x53, 0x5b, 0x81, 0x6e, 0x57, 0x55,
- 0xbc, 0x4c, 0x8f, 0xb4,
- 0xe6, 0xc5, 0xf1, 0x5f, 0x73, 0x0d, 0x41, 0xd6, 0xaf, 0x43, 0xeb, 0xbe,
- 0xad, 0x0f, 0xc7, 0x3a,
- 0x65, 0x5c, 0x3d, 0x20, 0xd3, 0x89, 0x77, 0x82, 0xdd, 0x34, 0xec, 0x40,
- 0x9e, 0xca, 0x1f, 0x6b,
- 0xa5, 0x2b, 0x79, 0xb4, 0xb3, 0xf5, 0x65, 0x0f, 0xf3, 0x19, 0x50, 0xab,
- 0x8f, 0x89, 0x57, 0xe5,
- 0x6f, 0x93, 0x03, 0xf4, 0xd6, 0x24, 0x8b, 0xc8, 0x8a, 0x71, 0x4b, 0x2b,
- 0x70, 0xde, 0x69, 0x33,
- 0xaf, 0xe4, 0x47, 0x60, 0xb6, 0x58, 0x99, 0x45, 0xa4, 0x5c, 0xf7, 0xc0,
- 0x61, 0x9d, 0x21, 0xbd,
- 0x2c, 0x7d, 0x8b, 0x1f, 0x16, 0xdc, 0xaf, 0x11, 0xd6, 0x2b, 0xf0, 0x3e,
- 0x52, 0x58, 0xf9, 0xec,
- 0xec, 0x0a, 0xcf, 0x8b, 0x76, 0xa0, 0xbd, 0x9c, 0xf8, 0x06, 0x4c, 0xd5,
- 0x43, 0x1b, 0xb1, 0x62,
- 0xe9, 0x8c, 0xd0, 0xe1, 0x95, 0x17, 0xc3, 0xb9, 0x32, 0xc5, 0xfe, 0x01,
- 0x34, 0x11, 0x8a, 0x4e,
- 0x29, 0xfb, 0x94, 0x75, 0xf5, 0x6b, 0xd1, 0x34, 0x1c, 0xe8, 0x42, 0xea,
- 0x25, 0x52, 0xc2, 0xc0,
- 0xaa, 0x62, 0x58, 0x0a, 0x55, 0xef, 0xe7, 0x60, 0x6e, 0x9f, 0x45, 0x14,
- 0x16, 0x97, 0x1a, 0x91,
- 0x6a, 0x15, 0x1c, 0x9e, 0x35, 0x93, 0xf5, 0xed, 0x40, 0xb2, 0xf9, 0xff,
- 0x07, 0xd4, 0x52, 0x1f,
- 0xfd, 0xd1, 0xac, 0x8a, 0x9f, 0x8e, 0xf8, 0x2d, 0x9c, 0x4f, 0x73, 0xd7,
- 0x2b, 0x39, 0x66, 0xfe,
- 0x3d, 0xa6, 0xe8, 0x1e, 0xff, 0xf2, 0xea, 0xa0, 0xb2, 0x62, 0xcf, 0x3c,
- 0x3a, 0x7a, 0x2e, 0x70,
- 0xbe, 0x3f, 0x24, 0x61, 0x5f, 0x76, 0xdc, 0xf4, 0xc0, 0x15, 0xc8, 0xc2,
- 0x09, 0xbf, 0xf6, 0x21,
- 0x7e, 0x48, 0x60, 0xf5, 0x3f, 0x0a, 0xce, 0x79, 0xee, 0x38, 0x74, 0x29,
- 0x18, 0xfc, 0xbe, 0xaf,
- 0x7b, 0xce, 0x7f, 0x9f, 0xdc, 0xbd, 0xb0, 0x5c, 0x24, 0xfb, 0xc6, 0xfd,
- 0x6f, 0xf6, 0x85, 0x83,
- 0xbb, 0xb9, 0x3b, 0x0b, 0xbc, 0xc1, 0xa2, 0xd1, 0x0a, 0xd6, 0x7a, 0x16,
- 0x7e, 0xb5, 0xcd, 0x0d,
- 0x38, 0x20, 0xf7, 0x74, 0x1c, 0x45, 0x94, 0x85, 0x78, 0xa1, 0x7d, 0xe8,
- 0x4d, 0x70, 0x15, 0x5c,
- 0xf8, 0x57, 0xb3, 0xe0, 0x7c, 0x39, 0x86, 0x08, 0x56, 0x8c, 0xc1, 0x03,
- 0x5c, 0x33, 0x5d, 0xd2,
- 0x32, 0xef, 0xc9, 0xa0, 0x19, 0xe8, 0x68, 0xcf, 0x2f, 0xe4, 0xda, 0x83,
- 0xa3, 0x64, 0x63, 0x04,
- 0xf2, 0x98, 0x8d, 0x34, 0x79, 0x94, 0x7a, 0x42, 0x01, 0xc9, 0x66, 0x68,
- 0xb2, 0x27, 0x2b, 0x8a,
- 0x71, 0x01, 0x41, 0x4b, 0xd9, 0x10, 0x4c, 0x16, 0x73, 0xbe, 0x61, 0x96,
- 0x81, 0xe2, 0xf3, 0xdb,
- 0xb1, 0x76, 0x05, 0xdf, 0xb9, 0x6c, 0x5e, 0x9b, 0x5d, 0x93, 0xdd, 0x7d,
- 0x90, 0xa1, 0xbb, 0x55,
- 0xb4, 0xf0, 0x1a, 0xb5, 0x5a, 0xdb, 0x20, 0xbe, 0x97, 0x50, 0x6f, 0xa9,
- 0xe7, 0xab, 0x80, 0x79,
- 0x74, 0x87, 0x5e, 0x21, 0x3a, 0xa7, 0x32, 0x33, 0xb9, 0x7d, 0xd3, 0x42,
- 0xf6, 0xe8, 0xc8, 0xf7,
- 0xf7, 0x1e, 0x92, 0x5e, 0x9a, 0x23, 0x04, 0x67, 0xcb, 0x0a, 0xd4, 0xbc,
- 0xc5, 0x2d, 0x10, 0xa6,
- 0x37, 0x69, 0xd6, 0xca, 0xfa, 0x5f, 0x16, 0xea, 0xe5, 0x27, 0x68, 0x57,
- 0xd4, 0x6e, 0x58, 0x28,
- },
- { /* 11 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xc2, 0x5d, 0x97, 0xf3, 0xe9, 0x1a, 0x8d, 0xcb, 0xbb, 0x06, 0xc5, 0x20,
- 0x1c, 0x68, 0x90, 0x93,
- 0x47, 0xba, 0xed, 0x25, 0x11, 0x34, 0xd9, 0x55, 0xb5, 0x0c, 0x49, 0x40,
- 0x38, 0xd0, 0xe3, 0xe5,
- 0x85, 0xe7, 0x7a, 0xd6, 0xf8, 0x2e, 0x54, 0x9e, 0x0e, 0x0a, 0x8c, 0x60,
- 0x24, 0xb8, 0x73, 0x76,
- 0x8e, 0xb7, 0x19, 0x4a, 0x22, 0x68, 0x71, 0xaa, 0xa9, 0x18, 0x92, 0x80,
- 0x70, 0x63, 0x05, 0x09,
- 0x4c, 0xea, 0x8e, 0xb9, 0xcb, 0x72, 0xfc, 0x61, 0x12, 0x1e, 0x57, 0xa0,
- 0x6c, 0x0b, 0x95, 0x9a,
- 0xc9, 0x0d, 0xf4, 0x6f, 0x33, 0x5c, 0xa8, 0xff, 0x1c, 0x14, 0xdb, 0xc0,
- 0x48, 0xb3, 0xe6, 0xec,
- 0x0b, 0x50, 0x63, 0x9c, 0xda, 0x46, 0x25, 0x34, 0xa7, 0x12, 0x1e, 0xe0,
- 0x54, 0xdb, 0x76, 0x7f,
- 0xdf, 0xad, 0x32, 0x94, 0x44, 0xd0, 0xe2, 0x97, 0x91, 0x30, 0xe7, 0xc3,
- 0xe0, 0xc6, 0x0a, 0x12,
- 0x1d, 0xf0, 0xa5, 0x67, 0xad, 0xca, 0x6f, 0x5c, 0x2a, 0x36, 0x22, 0xe3,
- 0xfc, 0xae, 0x9a, 0x81,
- 0x98, 0x17, 0xdf, 0xb1, 0x55, 0xe4, 0x3b, 0xc2, 0x24, 0x3c, 0xae, 0x83,
- 0xd8, 0x16, 0xe9, 0xf7,
- 0x5a, 0x4a, 0x48, 0x42, 0xbc, 0xfe, 0xb6, 0x09, 0x9f, 0x3a, 0x6b, 0xa3,
- 0xc4, 0x7e, 0x79, 0x64,
- 0x51, 0x1a, 0x2b, 0xde, 0x66, 0xb8, 0x93, 0x3d, 0x38, 0x28, 0x75, 0x43,
- 0x90, 0xa5, 0x0f, 0x1b,
- 0x93, 0x47, 0xbc, 0x2d, 0x8f, 0xa2, 0x1e, 0xf6, 0x83, 0x2e, 0xb0, 0x63,
- 0x8c, 0xcd, 0x9f, 0x88,
- 0x16, 0xa0, 0xc6, 0xfb, 0x77, 0x8c, 0x4a, 0x68, 0x8d, 0x24, 0x3c, 0x03,
- 0xa8, 0x75, 0xec, 0xfe,
- 0xd4, 0xfd, 0x51, 0x08, 0x9e, 0x96, 0xc7, 0xa3, 0x36, 0x22, 0xf9, 0x23,
- 0xb4, 0x1d, 0x7c, 0x6d,
- 0x7d, 0x99, 0x64, 0xeb, 0x88, 0x63, 0x07, 0xed, 0xe1, 0x60, 0x0d, 0x45,
- 0x03, 0x4f, 0x14, 0x24,
- 0xbf, 0xc4, 0xf3, 0x18, 0x61, 0x79, 0x8a, 0x26, 0x5a, 0x66, 0xc8, 0x65,
- 0x1f, 0x27, 0x84, 0xb7,
- 0x3a, 0x23, 0x89, 0xce, 0x99, 0x57, 0xde, 0xb8, 0x54, 0x6c, 0x44, 0x05,
- 0x3b, 0x9f, 0xf7, 0xc1,
- 0xf8, 0x7e, 0x1e, 0x3d, 0x70, 0x4d, 0x53, 0x73, 0xef, 0x6a, 0x81, 0x25,
- 0x27, 0xf7, 0x67, 0x52,
- 0xf3, 0x2e, 0x7d, 0xa1, 0xaa, 0x0b, 0x76, 0x47, 0x48, 0x78, 0x9f, 0xc5,
- 0x73, 0x2c, 0x11, 0x2d,
- 0x31, 0x73, 0xea, 0x52, 0x43, 0x11, 0xfb, 0x8c, 0xf3, 0x7e, 0x5a, 0xe5,
- 0x6f, 0x44, 0x81, 0xbe,
- 0xb4, 0x94, 0x90, 0x84, 0xbb, 0x3f, 0xaf, 0x12, 0xfd, 0x74, 0xd6, 0x85,
- 0x4b, 0xfc, 0xf2, 0xc8,
- 0x76, 0xc9, 0x07, 0x77, 0x52, 0x25, 0x22, 0xd9, 0x46, 0x72, 0x13, 0xa5,
- 0x57, 0x94, 0x62, 0x5b,
- 0xa2, 0x34, 0x56, 0x7f, 0xcc, 0xb3, 0xe5, 0x7a, 0x70, 0x50, 0xea, 0x86,
- 0xe3, 0x89, 0x1e, 0x36,
- 0x60, 0x69, 0xc1, 0x8c, 0x25, 0xa9, 0x68, 0xb1, 0xcb, 0x56, 0x2f, 0xa6,
- 0xff, 0xe1, 0x8e, 0xa5,
- 0xe5, 0x8e, 0xbb, 0x5a, 0xdd, 0x87, 0x3c, 0x2f, 0xc5, 0x5c, 0xa3, 0xc6,
- 0xdb, 0x59, 0xfd, 0xd3,
- 0x27, 0xd3, 0x2c, 0xa9, 0x34, 0x9d, 0xb1, 0xe4, 0x7e, 0x5a, 0x66, 0xe6,
- 0xc7, 0x31, 0x6d, 0x40,
- 0x2c, 0x83, 0x4f, 0x35, 0xee, 0xdb, 0x94, 0xd0, 0xd9, 0x48, 0x78, 0x06,
- 0x93, 0xea, 0x1b, 0x3f,
- 0xee, 0xde, 0xd8, 0xc6, 0x07, 0xc1, 0x19, 0x1b, 0x62, 0x4e, 0xbd, 0x26,
- 0x8f, 0x82, 0x8b, 0xac,
- 0x6b, 0x39, 0xa2, 0x10, 0xff, 0xef, 0x4d, 0x85, 0x6c, 0x44, 0x31, 0x46,
- 0xab, 0x3a, 0xf8, 0xda,
- 0xa9, 0x64, 0x35, 0xe3, 0x16, 0xf5, 0xc0, 0x4e, 0xd7, 0x42, 0xf4, 0x66,
- 0xb7, 0x52, 0x68, 0x49,
- 0xfa, 0xf1, 0xc8, 0x15, 0xd3, 0xc6, 0x0e, 0x19, 0x01, 0xc0, 0x1a, 0x8a,
- 0x06, 0x9e, 0x28, 0x48,
- 0x38, 0xac, 0x5f, 0xe6, 0x3a, 0xdc, 0x83, 0xd2, 0xba, 0xc6, 0xdf, 0xaa,
- 0x1a, 0xf6, 0xb8, 0xdb,
- 0xbd, 0x4b, 0x25, 0x30, 0xc2, 0xf2, 0xd7, 0x4c, 0xb4, 0xcc, 0x53, 0xca,
- 0x3e, 0x4e, 0xcb, 0xad,
- 0x7f, 0x16, 0xb2, 0xc3, 0x2b, 0xe8, 0x5a, 0x87, 0x0f, 0xca, 0x96, 0xea,
- 0x22, 0x26, 0x5b, 0x3e,
- 0x74, 0x46, 0xd1, 0x5f, 0xf1, 0xae, 0x7f, 0xb3, 0xa8, 0xd8, 0x88, 0x0a,
- 0x76, 0xfd, 0x2d, 0x41,
- 0xb6, 0x1b, 0x46, 0xac, 0x18, 0xb4, 0xf2, 0x78, 0x13, 0xde, 0x4d, 0x2a,
- 0x6a, 0x95, 0xbd, 0xd2,
- 0x33, 0xfc, 0x3c, 0x7a, 0xe0, 0x9a, 0xa6, 0xe6, 0x1d, 0xd4, 0xc1, 0x4a,
- 0x4e, 0x2d, 0xce, 0xa4,
- 0xf1, 0xa1, 0xab, 0x89, 0x09, 0x80, 0x2b, 0x2d, 0xa6, 0xd2, 0x04, 0x6a,
- 0x52, 0x45, 0x5e, 0x37,
- 0x25, 0x5c, 0xfa, 0x81, 0x97, 0x16, 0xec, 0x8e, 0x90, 0xf0, 0xfd, 0x49,
- 0xe6, 0x58, 0x22, 0x5a,
- 0xe7, 0x01, 0x6d, 0x72, 0x7e, 0x0c, 0x61, 0x45, 0x2b, 0xf6, 0x38, 0x69,
- 0xfa, 0x30, 0xb2, 0xc9,
- 0x62, 0xe6, 0x17, 0xa4, 0x86, 0x22, 0x35, 0xdb, 0x25, 0xfc, 0xb4, 0x09,
- 0xde, 0x88, 0xc1, 0xbf,
- 0xa0, 0xbb, 0x80, 0x57, 0x6f, 0x38, 0xb8, 0x10, 0x9e, 0xfa, 0x71, 0x29,
- 0xc2, 0xe0, 0x51, 0x2c,
- 0xab, 0xeb, 0xe3, 0xcb, 0xb5, 0x7e, 0x9d, 0x24, 0x39, 0xe8, 0x6f, 0xc9,
- 0x96, 0x3b, 0x27, 0x53,
- 0x69, 0xb6, 0x74, 0x38, 0x5c, 0x64, 0x10, 0xef, 0x82, 0xee, 0xaa, 0xe9,
- 0x8a, 0x53, 0xb7, 0xc0,
- 0xec, 0x51, 0x0e, 0xee, 0xa4, 0x4a, 0x44, 0x71, 0x8c, 0xe4, 0x26, 0x89,
- 0xae, 0xeb, 0xc4, 0xb6,
- 0x2e, 0x0c, 0x99, 0x1d, 0x4d, 0x50, 0xc9, 0xba, 0x37, 0xe2, 0xe3, 0xa9,
- 0xb2, 0x83, 0x54, 0x25,
- 0x87, 0x68, 0xac, 0xfe, 0x5b, 0xa5, 0x09, 0xf4, 0xe0, 0xa0, 0x17, 0xcf,
- 0x05, 0xd1, 0x3c, 0x6c,
- 0x45, 0x35, 0x3b, 0x0d, 0xb2, 0xbf, 0x84, 0x3f, 0x5b, 0xa6, 0xd2, 0xef,
- 0x19, 0xb9, 0xac, 0xff,
- 0xc0, 0xd2, 0x41, 0xdb, 0x4a, 0x91, 0xd0, 0xa1, 0x55, 0xac, 0x5e, 0x8f,
- 0x3d, 0x01, 0xdf, 0x89,
- 0x02, 0x8f, 0xd6, 0x28, 0xa3, 0x8b, 0x5d, 0x6a, 0xee, 0xaa, 0x9b, 0xaf,
- 0x21, 0x69, 0x4f, 0x1a,
- 0x09, 0xdf, 0xb5, 0xb4, 0x79, 0xcd, 0x78, 0x5e, 0x49, 0xb8, 0x85, 0x4f,
- 0x75, 0xb2, 0x39, 0x65,
- 0xcb, 0x82, 0x22, 0x47, 0x90, 0xd7, 0xf5, 0x95, 0xf2, 0xbe, 0x40, 0x6f,
- 0x69, 0xda, 0xa9, 0xf6,
- 0x4e, 0x65, 0x58, 0x91, 0x68, 0xf9, 0xa1, 0x0b, 0xfc, 0xb4, 0xcc, 0x0f,
- 0x4d, 0x62, 0xda, 0x80,
- 0x8c, 0x38, 0xcf, 0x62, 0x81, 0xe3, 0x2c, 0xc0, 0x47, 0xb2, 0x09, 0x2f,
- 0x51, 0x0a, 0x4a, 0x13,
- 0x58, 0xc5, 0x9e, 0x6a, 0x1f, 0x75, 0xeb, 0x63, 0x71, 0x90, 0xf0, 0x0c,
- 0xe5, 0x17, 0x36, 0x7e,
- 0x9a, 0x98, 0x09, 0x99, 0xf6, 0x6f, 0x66, 0xa8, 0xca, 0x96, 0x35, 0x2c,
- 0xf9, 0x7f, 0xa6, 0xed,
- 0x1f, 0x7f, 0x73, 0x4f, 0x0e, 0x41, 0x32, 0x36, 0xc4, 0x9c, 0xb9, 0x4c,
- 0xdd, 0xc7, 0xd5, 0x9b,
- 0xdd, 0x22, 0xe4, 0xbc, 0xe7, 0x5b, 0xbf, 0xfd, 0x7f, 0x9a, 0x7c, 0x6c,
- 0xc1, 0xaf, 0x45, 0x08,
- 0xd6, 0x72, 0x87, 0x20, 0x3d, 0x1d, 0x9a, 0xc9, 0xd8, 0x88, 0x62, 0x8c,
- 0x95, 0x74, 0x33, 0x77,
- 0x14, 0x2f, 0x10, 0xd3, 0xd4, 0x07, 0x17, 0x02, 0x63, 0x8e, 0xa7, 0xac,
- 0x89, 0x1c, 0xa3, 0xe4,
- 0x91, 0xc8, 0x6a, 0x05, 0x2c, 0x29, 0x43, 0x9c, 0x6d, 0x84, 0x2b, 0xcc,
- 0xad, 0xa4, 0xd0, 0x92,
- 0x53, 0x95, 0xfd, 0xf6, 0xc5, 0x33, 0xce, 0x57, 0xd6, 0x82, 0xee, 0xec,
- 0xb1, 0xcc, 0x40, 0x01,
- 0x37, 0x21, 0x53, 0x2a, 0x65, 0x4f, 0x1c, 0x32, 0x02, 0x43, 0x34, 0xd7,
- 0x0c, 0xff, 0x50, 0x90,
- 0xf5, 0x7c, 0xc4, 0xd9, 0x8c, 0x55, 0x91, 0xf9, 0xb9, 0x45, 0xf1, 0xf7,
- 0x10, 0x97, 0xc0, 0x03,
- 0x70, 0x9b, 0xbe, 0x0f, 0x74, 0x7b, 0xc5, 0x67, 0xb7, 0x4f, 0x7d, 0x97,
- 0x34, 0x2f, 0xb3, 0x75,
- 0xb2, 0xc6, 0x29, 0xfc, 0x9d, 0x61, 0x48, 0xac, 0x0c, 0x49, 0xb8, 0xb7,
- 0x28, 0x47, 0x23, 0xe6,
- 0xb9, 0x96, 0x4a, 0x60, 0x47, 0x27, 0x6d, 0x98, 0xab, 0x5b, 0xa6, 0x57,
- 0x7c, 0x9c, 0x55, 0x99,
- 0x7b, 0xcb, 0xdd, 0x93, 0xae, 0x3d, 0xe0, 0x53, 0x10, 0x5d, 0x63, 0x77,
- 0x60, 0xf4, 0xc5, 0x0a,
- 0xfe, 0x2c, 0xa7, 0x45, 0x56, 0x13, 0xb4, 0xcd, 0x1e, 0x57, 0xef, 0x17,
- 0x44, 0x4c, 0xb6, 0x7c,
- 0x3c, 0x71, 0x30, 0xb6, 0xbf, 0x09, 0x39, 0x06, 0xa5, 0x51, 0x2a, 0x37,
- 0x58, 0x24, 0x26, 0xef,
- 0xe8, 0x8c, 0x61, 0xbe, 0x21, 0x9f, 0xfe, 0xa5, 0x93, 0x73, 0xd3, 0x14,
- 0xec, 0x39, 0x5a, 0x82,
- 0x2a, 0xd1, 0xf6, 0x4d, 0xc8, 0x85, 0x73, 0x6e, 0x28, 0x75, 0x16, 0x34,
- 0xf0, 0x51, 0xca, 0x11,
- 0xaf, 0x36, 0x8c, 0x9b, 0x30, 0xab, 0x27, 0xf0, 0x26, 0x7f, 0x9a, 0x54,
- 0xd4, 0xe9, 0xb9, 0x67,
- 0x6d, 0x6b, 0x1b, 0x68, 0xd9, 0xb1, 0xaa, 0x3b, 0x9d, 0x79, 0x5f, 0x74,
- 0xc8, 0x81, 0x29, 0xf4,
- 0x66, 0x3b, 0x78, 0xf4, 0x03, 0xf7, 0x8f, 0x0f, 0x3a, 0x6b, 0x41, 0x94,
- 0x9c, 0x5a, 0x5f, 0x8b,
- 0xa4, 0x66, 0xef, 0x07, 0xea, 0xed, 0x02, 0xc4, 0x81, 0x6d, 0x84, 0xb4,
- 0x80, 0x32, 0xcf, 0x18,
- 0x21, 0x81, 0x95, 0xd1, 0x12, 0xc3, 0x56, 0x5a, 0x8f, 0x67, 0x08, 0xd4,
- 0xa4, 0x8a, 0xbc, 0x6e,
- 0xe3, 0xdc, 0x02, 0x22, 0xfb, 0xd9, 0xdb, 0x91, 0x34, 0x61, 0xcd, 0xf4,
- 0xb8, 0xe2, 0x2c, 0xfd,
- 0x4a, 0xb8, 0x37, 0xc1, 0xed, 0x2c, 0x1b, 0xdf, 0xe3, 0x23, 0x39, 0x92,
- 0x0f, 0xb0, 0x44, 0xb4,
- 0x88, 0xe5, 0xa0, 0x32, 0x04, 0x36, 0x96, 0x14, 0x58, 0x25, 0xfc, 0xb2,
- 0x13, 0xd8, 0xd4, 0x27,
- 0x0d, 0x02, 0xda, 0xe4, 0xfc, 0x18, 0xc2, 0x8a, 0x56, 0x2f, 0x70, 0xd2,
- 0x37, 0x60, 0xa7, 0x51,
- 0xcf, 0x5f, 0x4d, 0x17, 0x15, 0x02, 0x4f, 0x41, 0xed, 0x29, 0xb5, 0xf2,
- 0x2b, 0x08, 0x37, 0xc2,
- 0xc4, 0x0f, 0x2e, 0x8b, 0xcf, 0x44, 0x6a, 0x75, 0x4a, 0x3b, 0xab, 0x12,
- 0x7f, 0xd3, 0x41, 0xbd,
- 0x06, 0x52, 0xb9, 0x78, 0x26, 0x5e, 0xe7, 0xbe, 0xf1, 0x3d, 0x6e, 0x32,
- 0x63, 0xbb, 0xd1, 0x2e,
- 0x83, 0xb5, 0xc3, 0xae, 0xde, 0x70, 0xb3, 0x20, 0xff, 0x37, 0xe2, 0x52,
- 0x47, 0x03, 0xa2, 0x58,
- 0x41, 0xe8, 0x54, 0x5d, 0x37, 0x6a, 0x3e, 0xeb, 0x44, 0x31, 0x27, 0x72,
- 0x5b, 0x6b, 0x32, 0xcb,
- 0x95, 0x15, 0x05, 0x55, 0xa9, 0xfc, 0xf9, 0x48, 0x72, 0x13, 0xde, 0x51,
- 0xef, 0x76, 0x4e, 0xa6,
- 0x57, 0x48, 0x92, 0xa6, 0x40, 0xe6, 0x74, 0x83, 0xc9, 0x15, 0x1b, 0x71,
- 0xf3, 0x1e, 0xde, 0x35,
- 0xd2, 0xaf, 0xe8, 0x70, 0xb8, 0xc8, 0x20, 0x1d, 0xc7, 0x1f, 0x97, 0x11,
- 0xd7, 0xa6, 0xad, 0x43,
- 0x10, 0xf2, 0x7f, 0x83, 0x51, 0xd2, 0xad, 0xd6, 0x7c, 0x19, 0x52, 0x31,
- 0xcb, 0xce, 0x3d, 0xd0,
- 0x1b, 0xa2, 0x1c, 0x1f, 0x8b, 0x94, 0x88, 0xe2, 0xdb, 0x0b, 0x4c, 0xd1,
- 0x9f, 0x15, 0x4b, 0xaf,
- 0xd9, 0xff, 0x8b, 0xec, 0x62, 0x8e, 0x05, 0x29, 0x60, 0x0d, 0x89, 0xf1,
- 0x83, 0x7d, 0xdb, 0x3c,
- 0x5c, 0x18, 0xf1, 0x3a, 0x9a, 0xa0, 0x51, 0xb7, 0x6e, 0x07, 0x05, 0x91,
- 0xa7, 0xc5, 0xa8, 0x4a,
- 0x9e, 0x45, 0x66, 0xc9, 0x73, 0xba, 0xdc, 0x7c, 0xd5, 0x01, 0xc0, 0xb1,
- 0xbb, 0xad, 0x38, 0xd9,
- 0xcd, 0xd0, 0x9b, 0x3f, 0xb6, 0x89, 0x12, 0x2b, 0x03, 0x83, 0x2e, 0x5d,
- 0x0a, 0x61, 0x78, 0xd8,
- 0x0f, 0x8d, 0x0c, 0xcc, 0x5f, 0x93, 0x9f, 0xe0, 0xb8, 0x85, 0xeb, 0x7d,
- 0x16, 0x09, 0xe8, 0x4b,
- 0x8a, 0x6a, 0x76, 0x1a, 0xa7, 0xbd, 0xcb, 0x7e, 0xb6, 0x8f, 0x67, 0x1d,
- 0x32, 0xb1, 0x9b, 0x3d,
- 0x48, 0x37, 0xe1, 0xe9, 0x4e, 0xa7, 0x46, 0xb5, 0x0d, 0x89, 0xa2, 0x3d,
- 0x2e, 0xd9, 0x0b, 0xae,
- 0x43, 0x67, 0x82, 0x75, 0x94, 0xe1, 0x63, 0x81, 0xaa, 0x9b, 0xbc, 0xdd,
- 0x7a, 0x02, 0x7d, 0xd1,
- 0x81, 0x3a, 0x15, 0x86, 0x7d, 0xfb, 0xee, 0x4a, 0x11, 0x9d, 0x79, 0xfd,
- 0x66, 0x6a, 0xed, 0x42,
- 0x04, 0xdd, 0x6f, 0x50, 0x85, 0xd5, 0xba, 0xd4, 0x1f, 0x97, 0xf5, 0x9d,
- 0x42, 0xd2, 0x9e, 0x34,
- 0xc6, 0x80, 0xf8, 0xa3, 0x6c, 0xcf, 0x37, 0x1f, 0xa4, 0x91, 0x30, 0xbd,
- 0x5e, 0xba, 0x0e, 0xa7,
- 0x12, 0x7d, 0xa9, 0xab, 0xf2, 0x59, 0xf0, 0xbc, 0x92, 0xb3, 0xc9, 0x9e,
- 0xea, 0xa7, 0x72, 0xca,
- 0xd0, 0x20, 0x3e, 0x58, 0x1b, 0x43, 0x7d, 0x77, 0x29, 0xb5, 0x0c, 0xbe,
- 0xf6, 0xcf, 0xe2, 0x59,
- 0x55, 0xc7, 0x44, 0x8e, 0xe3, 0x6d, 0x29, 0xe9, 0x27, 0xbf, 0x80, 0xde,
- 0xd2, 0x77, 0x91, 0x2f,
- 0x97, 0x9a, 0xd3, 0x7d, 0x0a, 0x77, 0xa4, 0x22, 0x9c, 0xb9, 0x45, 0xfe,
- 0xce, 0x1f, 0x01, 0xbc,
- 0x9c, 0xca, 0xb0, 0xe1, 0xd0, 0x31, 0x81, 0x16, 0x3b, 0xab, 0x5b, 0x1e,
- 0x9a, 0xc4, 0x77, 0xc3,
- 0x5e, 0x97, 0x27, 0x12, 0x39, 0x2b, 0x0c, 0xdd, 0x80, 0xad, 0x9e, 0x3e,
- 0x86, 0xac, 0xe7, 0x50,
- 0xdb, 0x70, 0x5d, 0xc4, 0xc1, 0x05, 0x58, 0x43, 0x8e, 0xa7, 0x12, 0x5e,
- 0xa2, 0x14, 0x94, 0x26,
- 0x19, 0x2d, 0xca, 0x37, 0x28, 0x1f, 0xd5, 0x88, 0x35, 0xa1, 0xd7, 0x7e,
- 0xbe, 0x7c, 0x04, 0xb5,
- 0xb0, 0x49, 0xff, 0xd4, 0x3e, 0xea, 0x15, 0xc6, 0xe2, 0xe3, 0x23, 0x18,
- 0x09, 0x2e, 0x6c, 0xfc,
- 0x72, 0x14, 0x68, 0x27, 0xd7, 0xf0, 0x98, 0x0d, 0x59, 0xe5, 0xe6, 0x38,
- 0x15, 0x46, 0xfc, 0x6f,
- 0xf7, 0xf3, 0x12, 0xf1, 0x2f, 0xde, 0xcc, 0x93, 0x57, 0xef, 0x6a, 0x58,
- 0x31, 0xfe, 0x8f, 0x19,
- 0x35, 0xae, 0x85, 0x02, 0xc6, 0xc4, 0x41, 0x58, 0xec, 0xe9, 0xaf, 0x78,
- 0x2d, 0x96, 0x1f, 0x8a,
- 0x3e, 0xfe, 0xe6, 0x9e, 0x1c, 0x82, 0x64, 0x6c, 0x4b, 0xfb, 0xb1, 0x98,
- 0x79, 0x4d, 0x69, 0xf5,
- 0xfc, 0xa3, 0x71, 0x6d, 0xf5, 0x98, 0xe9, 0xa7, 0xf0, 0xfd, 0x74, 0xb8,
- 0x65, 0x25, 0xf9, 0x66,
- 0x79, 0x44, 0x0b, 0xbb, 0x0d, 0xb6, 0xbd, 0x39, 0xfe, 0xf7, 0xf8, 0xd8,
- 0x41, 0x9d, 0x8a, 0x10,
- 0xbb, 0x19, 0x9c, 0x48, 0xe4, 0xac, 0x30, 0xf2, 0x45, 0xf1, 0x3d, 0xf8,
- 0x5d, 0xf5, 0x1a, 0x83,
- 0x6f, 0xe4, 0xcd, 0x40, 0x7a, 0x3a, 0xf7, 0x51, 0x73, 0xd3, 0xc4, 0xdb,
- 0xe9, 0xe8, 0x66, 0xee,
- 0xad, 0xb9, 0x5a, 0xb3, 0x93, 0x20, 0x7a, 0x9a, 0xc8, 0xd5, 0x01, 0xfb,
- 0xf5, 0x80, 0xf6, 0x7d,
- 0x28, 0x5e, 0x20, 0x65, 0x6b, 0x0e, 0x2e, 0x04, 0xc6, 0xdf, 0x8d, 0x9b,
- 0xd1, 0x38, 0x85, 0x0b,
- 0xea, 0x03, 0xb7, 0x96, 0x82, 0x14, 0xa3, 0xcf, 0x7d, 0xd9, 0x48, 0xbb,
- 0xcd, 0x50, 0x15, 0x98,
- 0xe1, 0x53, 0xd4, 0x0a, 0x58, 0x52, 0x86, 0xfb, 0xda, 0xcb, 0x56, 0x5b,
- 0x99, 0x8b, 0x63, 0xe7,
- 0x23, 0x0e, 0x43, 0xf9, 0xb1, 0x48, 0x0b, 0x30, 0x61, 0xcd, 0x93, 0x7b,
- 0x85, 0xe3, 0xf3, 0x74,
- 0xa6, 0xe9, 0x39, 0x2f, 0x49, 0x66, 0x5f, 0xae, 0x6f, 0xc7, 0x1f, 0x1b,
- 0xa1, 0x5b, 0x80, 0x02,
- 0x64, 0xb4, 0xae, 0xdc, 0xa0, 0x7c, 0xd2, 0x65, 0xd4, 0xc1, 0xda, 0x3b,
- 0xbd, 0x33, 0x10, 0x91,
- 0x6e, 0x42, 0xa6, 0x54, 0xca, 0x9e, 0x38, 0x64, 0x04, 0x86, 0x68, 0x6d,
- 0x18, 0x3d, 0xa0, 0xe3,
- 0xac, 0x1f, 0x31, 0xa7, 0x23, 0x84, 0xb5, 0xaf, 0xbf, 0x80, 0xad, 0x4d,
- 0x04, 0x55, 0x30, 0x70,
- 0x29, 0xf8, 0x4b, 0x71, 0xdb, 0xaa, 0xe1, 0x31, 0xb1, 0x8a, 0x21, 0x2d,
- 0x20, 0xed, 0x43, 0x06,
- 0xeb, 0xa5, 0xdc, 0x82, 0x32, 0xb0, 0x6c, 0xfa, 0x0a, 0x8c, 0xe4, 0x0d,
- 0x3c, 0x85, 0xd3, 0x95,
- 0xe0, 0xf5, 0xbf, 0x1e, 0xe8, 0xf6, 0x49, 0xce, 0xad, 0x9e, 0xfa, 0xed,
- 0x68, 0x5e, 0xa5, 0xea,
- 0x22, 0xa8, 0x28, 0xed, 0x01, 0xec, 0xc4, 0x05, 0x16, 0x98, 0x3f, 0xcd,
- 0x74, 0x36, 0x35, 0x79,
- 0xa7, 0x4f, 0x52, 0x3b, 0xf9, 0xc2, 0x90, 0x9b, 0x18, 0x92, 0xb3, 0xad,
- 0x50, 0x8e, 0x46, 0x0f,
- 0x65, 0x12, 0xc5, 0xc8, 0x10, 0xd8, 0x1d, 0x50, 0xa3, 0x94, 0x76, 0x8d,
- 0x4c, 0xe6, 0xd6, 0x9c,
- 0xb1, 0xef, 0x94, 0xc0, 0x8e, 0x4e, 0xda, 0xf3, 0x95, 0xb6, 0x8f, 0xae,
- 0xf8, 0xfb, 0xaa, 0xf1,
- 0x73, 0xb2, 0x03, 0x33, 0x67, 0x54, 0x57, 0x38, 0x2e, 0xb0, 0x4a, 0x8e,
- 0xe4, 0x93, 0x3a, 0x62,
- 0xf6, 0x55, 0x79, 0xe5, 0x9f, 0x7a, 0x03, 0xa6, 0x20, 0xba, 0xc6, 0xee,
- 0xc0, 0x2b, 0x49, 0x14,
- 0x34, 0x08, 0xee, 0x16, 0x76, 0x60, 0x8e, 0x6d, 0x9b, 0xbc, 0x03, 0xce,
- 0xdc, 0x43, 0xd9, 0x87,
- 0x3f, 0x58, 0x8d, 0x8a, 0xac, 0x26, 0xab, 0x59, 0x3c, 0xae, 0x1d, 0x2e,
- 0x88, 0x98, 0xaf, 0xf8,
- 0xfd, 0x05, 0x1a, 0x79, 0x45, 0x3c, 0x26, 0x92, 0x87, 0xa8, 0xd8, 0x0e,
- 0x94, 0xf0, 0x3f, 0x6b,
- 0x78, 0xe2, 0x60, 0xaf, 0xbd, 0x12, 0x72, 0x0c, 0x89, 0xa2, 0x54, 0x6e,
- 0xb0, 0x48, 0x4c, 0x1d,
- 0xba, 0xbf, 0xf7, 0x5c, 0x54, 0x08, 0xff, 0xc7, 0x32, 0xa4, 0x91, 0x4e,
- 0xac, 0x20, 0xdc, 0x8e,
- 0x13, 0xdb, 0xc2, 0xbf, 0x42, 0xfd, 0x3f, 0x89, 0xe5, 0xe6, 0x65, 0x28,
- 0x1b, 0x72, 0xb4, 0xc7,
- 0xd1, 0x86, 0x55, 0x4c, 0xab, 0xe7, 0xb2, 0x42, 0x5e, 0xe0, 0xa0, 0x08,
- 0x07, 0x1a, 0x24, 0x54,
- 0x54, 0x61, 0x2f, 0x9a, 0x53, 0xc9, 0xe6, 0xdc, 0x50, 0xea, 0x2c, 0x68,
- 0x23, 0xa2, 0x57, 0x22,
- 0x96, 0x3c, 0xb8, 0x69, 0xba, 0xd3, 0x6b, 0x17, 0xeb, 0xec, 0xe9, 0x48,
- 0x3f, 0xca, 0xc7, 0xb1,
- 0x9d, 0x6c, 0xdb, 0xf5, 0x60, 0x95, 0x4e, 0x23, 0x4c, 0xfe, 0xf7, 0xa8,
- 0x6b, 0x11, 0xb1, 0xce,
- 0x5f, 0x31, 0x4c, 0x06, 0x89, 0x8f, 0xc3, 0xe8, 0xf7, 0xf8, 0x32, 0x88,
- 0x77, 0x79, 0x21, 0x5d,
- 0xda, 0xd6, 0x36, 0xd0, 0x71, 0xa1, 0x97, 0x76, 0xf9, 0xf2, 0xbe, 0xe8,
- 0x53, 0xc1, 0x52, 0x2b,
- 0x18, 0x8b, 0xa1, 0x23, 0x98, 0xbb, 0x1a, 0xbd, 0x42, 0xf4, 0x7b, 0xc8,
- 0x4f, 0xa9, 0xc2, 0xb8,
- 0xcc, 0x76, 0xf0, 0x2b, 0x06, 0x2d, 0xdd, 0x1e, 0x74, 0xd6, 0x82, 0xeb,
- 0xfb, 0xb4, 0xbe, 0xd5,
- 0x0e, 0x2b, 0x67, 0xd8, 0xef, 0x37, 0x50, 0xd5, 0xcf, 0xd0, 0x47, 0xcb,
- 0xe7, 0xdc, 0x2e, 0x46,
- 0x8b, 0xcc, 0x1d, 0x0e, 0x17, 0x19, 0x04, 0x4b, 0xc1, 0xda, 0xcb, 0xab,
- 0xc3, 0x64, 0x5d, 0x30,
- 0x49, 0x91, 0x8a, 0xfd, 0xfe, 0x03, 0x89, 0x80, 0x7a, 0xdc, 0x0e, 0x8b,
- 0xdf, 0x0c, 0xcd, 0xa3,
- 0x42, 0xc1, 0xe9, 0x61, 0x24, 0x45, 0xac, 0xb4, 0xdd, 0xce, 0x10, 0x6b,
- 0x8b, 0xd7, 0xbb, 0xdc,
- 0x80, 0x9c, 0x7e, 0x92, 0xcd, 0x5f, 0x21, 0x7f, 0x66, 0xc8, 0xd5, 0x4b,
- 0x97, 0xbf, 0x2b, 0x4f,
- 0x05, 0x7b, 0x04, 0x44, 0x35, 0x71, 0x75, 0xe1, 0x68, 0xc2, 0x59, 0x2b,
- 0xb3, 0x07, 0x58, 0x39,
- 0xc7, 0x26, 0x93, 0xb7, 0xdc, 0x6b, 0xf8, 0x2a, 0xd3, 0xc4, 0x9c, 0x0b,
- 0xaf, 0x6f, 0xc8, 0xaa,
- 0x94, 0xb3, 0x6e, 0x41, 0x19, 0x58, 0x36, 0x7d, 0x05, 0x46, 0x72, 0xe7,
- 0x1e, 0xa3, 0x88, 0xab,
- 0x56, 0xee, 0xf9, 0xb2, 0xf0, 0x42, 0xbb, 0xb6, 0xbe, 0x40, 0xb7, 0xc7,
- 0x02, 0xcb, 0x18, 0x38,
- 0xd3, 0x09, 0x83, 0x64, 0x08, 0x6c, 0xef, 0x28, 0xb0, 0x4a, 0x3b, 0xa7,
- 0x26, 0x73, 0x6b, 0x4e,
- 0x11, 0x54, 0x14, 0x97, 0xe1, 0x76, 0x62, 0xe3, 0x0b, 0x4c, 0xfe, 0x87,
- 0x3a, 0x1b, 0xfb, 0xdd,
- 0x1a, 0x04, 0x77, 0x0b, 0x3b, 0x30, 0x47, 0xd7, 0xac, 0x5e, 0xe0, 0x67,
- 0x6e, 0xc0, 0x8d, 0xa2,
- 0xd8, 0x59, 0xe0, 0xf8, 0xd2, 0x2a, 0xca, 0x1c, 0x17, 0x58, 0x25, 0x47,
- 0x72, 0xa8, 0x1d, 0x31,
- 0x5d, 0xbe, 0x9a, 0x2e, 0x2a, 0x04, 0x9e, 0x82, 0x19, 0x52, 0xa9, 0x27,
- 0x56, 0x10, 0x6e, 0x47,
- 0x9f, 0xe3, 0x0d, 0xdd, 0xc3, 0x1e, 0x13, 0x49, 0xa2, 0x54, 0x6c, 0x07,
- 0x4a, 0x78, 0xfe, 0xd4,
- 0x4b, 0x1e, 0x5c, 0xd5, 0x5d, 0x88, 0xd4, 0xea, 0x94, 0x76, 0x95, 0x24,
- 0xfe, 0x65, 0x82, 0xb9,
- 0x89, 0x43, 0xcb, 0x26, 0xb4, 0x92, 0x59, 0x21, 0x2f, 0x70, 0x50, 0x04,
- 0xe2, 0x0d, 0x12, 0x2a,
- 0x0c, 0xa4, 0xb1, 0xf0, 0x4c, 0xbc, 0x0d, 0xbf, 0x21, 0x7a, 0xdc, 0x64,
- 0xc6, 0xb5, 0x61, 0x5c,
- 0xce, 0xf9, 0x26, 0x03, 0xa5, 0xa6, 0x80, 0x74, 0x9a, 0x7c, 0x19, 0x44,
- 0xda, 0xdd, 0xf1, 0xcf,
- 0xc5, 0xa9, 0x45, 0x9f, 0x7f, 0xe0, 0xa5, 0x40, 0x3d, 0x6e, 0x07, 0xa4,
- 0x8e, 0x06, 0x87, 0xb0,
- 0x07, 0xf4, 0xd2, 0x6c, 0x96, 0xfa, 0x28, 0x8b, 0x86, 0x68, 0xc2, 0x84,
- 0x92, 0x6e, 0x17, 0x23,
- 0x82, 0x13, 0xa8, 0xba, 0x6e, 0xd4, 0x7c, 0x15, 0x88, 0x62, 0x4e, 0xe4,
- 0xb6, 0xd6, 0x64, 0x55,
- 0x40, 0x4e, 0x3f, 0x49, 0x87, 0xce, 0xf1, 0xde, 0x33, 0x64, 0x8b, 0xc4,
- 0xaa, 0xbe, 0xf4, 0xc6,
- 0xe9, 0x2a, 0x0a, 0xaa, 0x91, 0x3b, 0x31, 0x90, 0xe4, 0x26, 0x7f, 0xa2,
- 0x1d, 0xec, 0x9c, 0x8f,
- 0x2b, 0x77, 0x9d, 0x59, 0x78, 0x21, 0xbc, 0x5b, 0x5f, 0x20, 0xba, 0x82,
- 0x01, 0x84, 0x0c, 0x1c,
- 0xae, 0x90, 0xe7, 0x8f, 0x80, 0x0f, 0xe8, 0xc5, 0x51, 0x2a, 0x36, 0xe2,
- 0x25, 0x3c, 0x7f, 0x6a,
- 0x6c, 0xcd, 0x70, 0x7c, 0x69, 0x15, 0x65, 0x0e, 0xea, 0x2c, 0xf3, 0xc2,
- 0x39, 0x54, 0xef, 0xf9,
- 0x67, 0x9d, 0x13, 0xe0, 0xb3, 0x53, 0x40, 0x3a, 0x4d, 0x3e, 0xed, 0x22,
- 0x6d, 0x8f, 0x99, 0x86,
- 0xa5, 0xc0, 0x84, 0x13, 0x5a, 0x49, 0xcd, 0xf1, 0xf6, 0x38, 0x28, 0x02,
- 0x71, 0xe7, 0x09, 0x15,
- 0x20, 0x27, 0xfe, 0xc5, 0xa2, 0x67, 0x99, 0x6f, 0xf8, 0x32, 0xa4, 0x62,
- 0x55, 0x5f, 0x7a, 0x63,
- 0xe2, 0x7a, 0x69, 0x36, 0x4b, 0x7d, 0x14, 0xa4, 0x43, 0x34, 0x61, 0x42,
- 0x49, 0x37, 0xea, 0xf0,
- 0x36, 0x87, 0x38, 0x3e, 0xd5, 0xeb, 0xd3, 0x07, 0x75, 0x16, 0x98, 0x61,
- 0xfd, 0x2a, 0x96, 0x9d,
- 0xf4, 0xda, 0xaf, 0xcd, 0x3c, 0xf1, 0x5e, 0xcc, 0xce, 0x10, 0x5d, 0x41,
- 0xe1, 0x42, 0x06, 0x0e,
- 0x71, 0x3d, 0xd5, 0x1b, 0xc4, 0xdf, 0x0a, 0x52, 0xc0, 0x1a, 0xd1, 0x21,
- 0xc5, 0xfa, 0x75, 0x78,
- 0xb3, 0x60, 0x42, 0xe8, 0x2d, 0xc5, 0x87, 0x99, 0x7b, 0x1c, 0x14, 0x01,
- 0xd9, 0x92, 0xe5, 0xeb,
- 0xb8, 0x30, 0x21, 0x74, 0xf7, 0x83, 0xa2, 0xad, 0xdc, 0x0e, 0x0a, 0xe1,
- 0x8d, 0x49, 0x93, 0x94,
- 0x7a, 0x6d, 0xb6, 0x87, 0x1e, 0x99, 0x2f, 0x66, 0x67, 0x08, 0xcf, 0xc1,
- 0x91, 0x21, 0x03, 0x07,
- 0xff, 0x8a, 0xcc, 0x51, 0xe6, 0xb7, 0x7b, 0xf8, 0x69, 0x02, 0x43, 0xa1,
- 0xb5, 0x99, 0x70, 0x71,
- 0x3d, 0xd7, 0x5b, 0xa2, 0x0f, 0xad, 0xf6, 0x33, 0xd2, 0x04, 0x86, 0x81,
- 0xa9, 0xf1, 0xe0, 0xe2,
- 0x59, 0x63, 0xf5, 0x7e, 0xaf, 0xd1, 0x24, 0x56, 0x06, 0xc5, 0x5c, 0xba,
- 0x14, 0xc2, 0xf0, 0x73,
- 0x9b, 0x3e, 0x62, 0x8d, 0x46, 0xcb, 0xa9, 0x9d, 0xbd, 0xc3, 0x99, 0x9a,
- 0x08, 0xaa, 0x60, 0xe0,
- 0x1e, 0xd9, 0x18, 0x5b, 0xbe, 0xe5, 0xfd, 0x03, 0xb3, 0xc9, 0x15, 0xfa,
- 0x2c, 0x12, 0x13, 0x96,
- 0xdc, 0x84, 0x8f, 0xa8, 0x57, 0xff, 0x70, 0xc8, 0x08, 0xcf, 0xd0, 0xda,
- 0x30, 0x7a, 0x83, 0x05,
- 0xd7, 0xd4, 0xec, 0x34, 0x8d, 0xb9, 0x55, 0xfc, 0xaf, 0xdd, 0xce, 0x3a,
- 0x64, 0xa1, 0xf5, 0x7a,
- 0x15, 0x89, 0x7b, 0xc7, 0x64, 0xa3, 0xd8, 0x37, 0x14, 0xdb, 0x0b, 0x1a,
- 0x78, 0xc9, 0x65, 0xe9,
- 0x90, 0x6e, 0x01, 0x11, 0x9c, 0x8d, 0x8c, 0xa9, 0x1a, 0xd1, 0x87, 0x7a,
- 0x5c, 0x71, 0x16, 0x9f,
- 0x52, 0x33, 0x96, 0xe2, 0x75, 0x97, 0x01, 0x62, 0xa1, 0xd7, 0x42, 0x5a,
- 0x40, 0x19, 0x86, 0x0c,
- 0x86, 0xce, 0xc7, 0xea, 0xeb, 0x01, 0xc6, 0xc1, 0x97, 0xf5, 0xbb, 0x79,
- 0xf4, 0x04, 0xfa, 0x61,
- 0x44, 0x93, 0x50, 0x19, 0x02, 0x1b, 0x4b, 0x0a, 0x2c, 0xf3, 0x7e, 0x59,
- 0xe8, 0x6c, 0x6a, 0xf2,
- 0xc1, 0x74, 0x2a, 0xcf, 0xfa, 0x35, 0x1f, 0x94, 0x22, 0xf9, 0xf2, 0x39,
- 0xcc, 0xd4, 0x19, 0x84,
- 0x03, 0x29, 0xbd, 0x3c, 0x13, 0x2f, 0x92, 0x5f, 0x99, 0xff, 0x37, 0x19,
- 0xd0, 0xbc, 0x89, 0x17,
- 0x08, 0x79, 0xde, 0xa0, 0xc9, 0x69, 0xb7, 0x6b, 0x3e, 0xed, 0x29, 0xf9,
- 0x84, 0x67, 0xff, 0x68,
- 0xca, 0x24, 0x49, 0x53, 0x20, 0x73, 0x3a, 0xa0, 0x85, 0xeb, 0xec, 0xd9,
- 0x98, 0x0f, 0x6f, 0xfb,
- 0x4f, 0xc3, 0x33, 0x85, 0xd8, 0x5d, 0x6e, 0x3e, 0x8b, 0xe1, 0x60, 0xb9,
- 0xbc, 0xb7, 0x1c, 0x8d,
- 0x8d, 0x9e, 0xa4, 0x76, 0x31, 0x47, 0xe3, 0xf5, 0x30, 0xe7, 0xa5, 0x99,
- 0xa0, 0xdf, 0x8c, 0x1e,
- 0x24, 0xfa, 0x91, 0x95, 0x27, 0xb2, 0x23, 0xbb, 0xe7, 0xa5, 0x51, 0xff,
- 0x17, 0x8d, 0xe4, 0x57,
- 0xe6, 0xa7, 0x06, 0x66, 0xce, 0xa8, 0xae, 0x70, 0x5c, 0xa3, 0x94, 0xdf,
- 0x0b, 0xe5, 0x74, 0xc4,
- 0x63, 0x40, 0x7c, 0xb0, 0x36, 0x86, 0xfa, 0xee, 0x52, 0xa9, 0x18, 0xbf,
- 0x2f, 0x5d, 0x07, 0xb2,
- 0xa1, 0x1d, 0xeb, 0x43, 0xdf, 0x9c, 0x77, 0x25, 0xe9, 0xaf, 0xdd, 0x9f,
- 0x33, 0x35, 0x97, 0x21,
- 0xaa, 0x4d, 0x88, 0xdf, 0x05, 0xda, 0x52, 0x11, 0x4e, 0xbd, 0xc3, 0x7f,
- 0x67, 0xee, 0xe1, 0x5e,
- 0x68, 0x10, 0x1f, 0x2c, 0xec, 0xc0, 0xdf, 0xda, 0xf5, 0xbb, 0x06, 0x5f,
- 0x7b, 0x86, 0x71, 0xcd,
- 0xed, 0xf7, 0x65, 0xfa, 0x14, 0xee, 0x8b, 0x44, 0xfb, 0xb1, 0x8a, 0x3f,
- 0x5f, 0x3e, 0x02, 0xbb,
- 0x2f, 0xaa, 0xf2, 0x09, 0xfd, 0xf4, 0x06, 0x8f, 0x40, 0xb7, 0x4f, 0x1f,
- 0x43, 0x56, 0x92, 0x28,
- 0xfb, 0x57, 0xa3, 0x01, 0x63, 0x62, 0xc1, 0x2c, 0x76, 0x95, 0xb6, 0x3c,
- 0xf7, 0x4b, 0xee, 0x45,
- 0x39, 0x0a, 0x34, 0xf2, 0x8a, 0x78, 0x4c, 0xe7, 0xcd, 0x93, 0x73, 0x1c,
- 0xeb, 0x23, 0x7e, 0xd6,
- 0xbc, 0xed, 0x4e, 0x24, 0x72, 0x56, 0x18, 0x79, 0xc3, 0x99, 0xff, 0x7c,
- 0xcf, 0x9b, 0x0d, 0xa0,
- 0x7e, 0xb0, 0xd9, 0xd7, 0x9b, 0x4c, 0x95, 0xb2, 0x78, 0x9f, 0x3a, 0x5c,
- 0xd3, 0xf3, 0x9d, 0x33,
- 0x75, 0xe0, 0xba, 0x4b, 0x41, 0x0a, 0xb0, 0x86, 0xdf, 0x8d, 0x24, 0xbc,
- 0x87, 0x28, 0xeb, 0x4c,
- 0xb7, 0xbd, 0x2d, 0xb8, 0xa8, 0x10, 0x3d, 0x4d, 0x64, 0x8b, 0xe1, 0x9c,
- 0x9b, 0x40, 0x7b, 0xdf,
- 0x32, 0x5a, 0x57, 0x6e, 0x50, 0x3e, 0x69, 0xd3, 0x6a, 0x81, 0x6d, 0xfc,
- 0xbf, 0xf8, 0x08, 0xa9,
- 0xf0, 0x07, 0xc0, 0x9d, 0xb9, 0x24, 0xe4, 0x18, 0xd1, 0x87, 0xa8, 0xdc,
- 0xa3, 0x90, 0x98, 0x3a,
- 0xa3, 0x92, 0x3d, 0x6b, 0x7c, 0x17, 0x2a, 0x4f, 0x07, 0x05, 0x46, 0x30,
- 0x12, 0x5c, 0xd8, 0x3b,
- 0x61, 0xcf, 0xaa, 0x98, 0x95, 0x0d, 0xa7, 0x84, 0xbc, 0x03, 0x83, 0x10,
- 0x0e, 0x34, 0x48, 0xa8,
- 0xe4, 0x28, 0xd0, 0x4e, 0x6d, 0x23, 0xf3, 0x1a, 0xb2, 0x09, 0x0f, 0x70,
- 0x2a, 0x8c, 0x3b, 0xde,
- 0x26, 0x75, 0x47, 0xbd, 0x84, 0x39, 0x7e, 0xd1, 0x09, 0x0f, 0xca, 0x50,
- 0x36, 0xe4, 0xab, 0x4d,
- 0x2d, 0x25, 0x24, 0x21, 0x5e, 0x7f, 0x5b, 0xe5, 0xae, 0x1d, 0xd4, 0xb0,
- 0x62, 0x3f, 0xdd, 0x32,
- 0xef, 0x78, 0xb3, 0xd2, 0xb7, 0x65, 0xd6, 0x2e, 0x15, 0x1b, 0x11, 0x90,
- 0x7e, 0x57, 0x4d, 0xa1,
- 0x6a, 0x9f, 0xc9, 0x04, 0x4f, 0x4b, 0x82, 0xb0, 0x1b, 0x11, 0x9d, 0xf0,
- 0x5a, 0xef, 0x3e, 0xd7,
- 0xa8, 0xc2, 0x5e, 0xf7, 0xa6, 0x51, 0x0f, 0x7b, 0xa0, 0x17, 0x58, 0xd0,
- 0x46, 0x87, 0xae, 0x44,
- 0x7c, 0x3f, 0x0f, 0xff, 0x38, 0xc7, 0xc8, 0xd8, 0x96, 0x35, 0xa1, 0xf3,
- 0xf2, 0x9a, 0xd2, 0x29,
- 0xbe, 0x62, 0x98, 0x0c, 0xd1, 0xdd, 0x45, 0x13, 0x2d, 0x33, 0x64, 0xd3,
- 0xee, 0xf2, 0x42, 0xba,
- 0x3b, 0x85, 0xe2, 0xda, 0x29, 0xf3, 0x11, 0x8d, 0x23, 0x39, 0xe8, 0xb3,
- 0xca, 0x4a, 0x31, 0xcc,
- 0xf9, 0xd8, 0x75, 0x29, 0xc0, 0xe9, 0x9c, 0x46, 0x98, 0x3f, 0x2d, 0x93,
- 0xd6, 0x22, 0xa1, 0x5f,
- 0xf2, 0x88, 0x16, 0xb5, 0x1a, 0xaf, 0xb9, 0x72, 0x3f, 0x2d, 0x33, 0x73,
- 0x82, 0xf9, 0xd7, 0x20,
- 0x30, 0xd5, 0x81, 0x46, 0xf3, 0xb5, 0x34, 0xb9, 0x84, 0x2b, 0xf6, 0x53,
- 0x9e, 0x91, 0x47, 0xb3,
- 0xb5, 0x32, 0xfb, 0x90, 0x0b, 0x9b, 0x60, 0x27, 0x8a, 0x21, 0x7a, 0x33,
- 0xba, 0x29, 0x34, 0xc5,
- 0x77, 0x6f, 0x6c, 0x63, 0xe2, 0x81, 0xed, 0xec, 0x31, 0x27, 0xbf, 0x13,
- 0xa6, 0x41, 0xa4, 0x56,
- 0xde, 0x0b, 0x59, 0x80, 0xf4, 0x74, 0x2d, 0xa2, 0xe6, 0x65, 0x4b, 0x75,
- 0x11, 0x13, 0xcc, 0x1f,
- 0x1c, 0x56, 0xce, 0x73, 0x1d, 0x6e, 0xa0, 0x69, 0x5d, 0x63, 0x8e, 0x55,
- 0x0d, 0x7b, 0x5c, 0x8c,
- 0x99, 0xb1, 0xb4, 0xa5, 0xe5, 0x40, 0xf4, 0xf7, 0x53, 0x69, 0x02, 0x35,
- 0x29, 0xc3, 0x2f, 0xfa,
- 0x5b, 0xec, 0x23, 0x56, 0x0c, 0x5a, 0x79, 0x3c, 0xe8, 0x6f, 0xc7, 0x15,
- 0x35, 0xab, 0xbf, 0x69,
- 0x50, 0xbc, 0x40, 0xca, 0xd6, 0x1c, 0x5c, 0x08, 0x4f, 0x7d, 0xd9, 0xf5,
- 0x61, 0x70, 0xc9, 0x16,
- 0x92, 0xe1, 0xd7, 0x39, 0x3f, 0x06, 0xd1, 0xc3, 0xf4, 0x7b, 0x1c, 0xd5,
- 0x7d, 0x18, 0x59, 0x85,
- 0x17, 0x06, 0xad, 0xef, 0xc7, 0x28, 0x85, 0x5d, 0xfa, 0x71, 0x90, 0xb5,
- 0x59, 0xa0, 0x2a, 0xf3,
- 0xd5, 0x5b, 0x3a, 0x1c, 0x2e, 0x32, 0x08, 0x96, 0x41, 0x77, 0x55, 0x95,
- 0x45, 0xc8, 0xba, 0x60,
- 0x01, 0xa6, 0x6b, 0x14, 0xb0, 0xa4, 0xcf, 0x35, 0x77, 0x55, 0xac, 0xb6,
- 0xf1, 0xd5, 0xc6, 0x0d,
- 0xc3, 0xfb, 0xfc, 0xe7, 0x59, 0xbe, 0x42, 0xfe, 0xcc, 0x53, 0x69, 0x96,
- 0xed, 0xbd, 0x56, 0x9e,
- 0x46, 0x1c, 0x86, 0x31, 0xa1, 0x90, 0x16, 0x60, 0xc2, 0x59, 0xe5, 0xf6,
- 0xc9, 0x05, 0x25, 0xe8,
- 0x84, 0x41, 0x11, 0xc2, 0x48, 0x8a, 0x9b, 0xab, 0x79, 0x5f, 0x20, 0xd6,
- 0xd5, 0x6d, 0xb5, 0x7b,
- 0x8f, 0x11, 0x72, 0x5e, 0x92, 0xcc, 0xbe, 0x9f, 0xde, 0x4d, 0x3e, 0x36,
- 0x81, 0xb6, 0xc3, 0x04,
- 0x4d, 0x4c, 0xe5, 0xad, 0x7b, 0xd6, 0x33, 0x54, 0x65, 0x4b, 0xfb, 0x16,
- 0x9d, 0xde, 0x53, 0x97,
- 0xc8, 0xab, 0x9f, 0x7b, 0x83, 0xf8, 0x67, 0xca, 0x6b, 0x41, 0x77, 0x76,
- 0xb9, 0x66, 0x20, 0xe1,
- 0x0a, 0xf6, 0x08, 0x88, 0x6a, 0xe2, 0xea, 0x01, 0xd0, 0x47, 0xb2, 0x56,
- 0xa5, 0x0e, 0xb0, 0x72,
- },
- { /* 12 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x10, 0x96, 0xca, 0xd9, 0x30, 0x68, 0x2f, 0x14, 0x1a, 0x17, 0x0c, 0xca,
- 0x0c, 0x70, 0xda, 0xbf,
- 0x20, 0xef, 0x57, 0x71, 0x60, 0xd0, 0x5e, 0x28, 0x34, 0x2e, 0x18, 0x57,
- 0x18, 0xe0, 0x77, 0xbd,
- 0x30, 0x79, 0x9d, 0xa8, 0x50, 0xb8, 0x71, 0x3c, 0x2e, 0x39, 0x14, 0x9d,
- 0x14, 0x90, 0xad, 0x02,
- 0x40, 0x1d, 0xae, 0xe2, 0xc0, 0x63, 0xbc, 0x50, 0x68, 0x5c, 0x30, 0xae,
- 0x30, 0x03, 0xee, 0xb9,
- 0x50, 0x8b, 0x64, 0x3b, 0xf0, 0x0b, 0x93, 0x44, 0x72, 0x4b, 0x3c, 0x64,
- 0x3c, 0x73, 0x34, 0x06,
- 0x60, 0xf2, 0xf9, 0x93, 0xa0, 0xb3, 0xe2, 0x78, 0x5c, 0x72, 0x28, 0xf9,
- 0x28, 0xe3, 0x99, 0x04,
- 0x70, 0x64, 0x33, 0x4a, 0x90, 0xdb, 0xcd, 0x6c, 0x46, 0x65, 0x24, 0x33,
- 0x24, 0x93, 0x43, 0xbb,
- 0x80, 0x3a, 0x9f, 0x07, 0x43, 0xc6, 0xbb, 0xa0, 0xd0, 0xb8, 0x60, 0x9f,
- 0x60, 0x06, 0x1f, 0xb1,
- 0x90, 0xac, 0x55, 0xde, 0x73, 0xae, 0x94, 0xb4, 0xca, 0xaf, 0x6c, 0x55,
- 0x6c, 0x76, 0xc5, 0x0e,
- 0xa0, 0xd5, 0xc8, 0x76, 0x23, 0x16, 0xe5, 0x88, 0xe4, 0x96, 0x78, 0xc8,
- 0x78, 0xe6, 0x68, 0x0c,
- 0xb0, 0x43, 0x02, 0xaf, 0x13, 0x7e, 0xca, 0x9c, 0xfe, 0x81, 0x74, 0x02,
- 0x74, 0x96, 0xb2, 0xb3,
- 0xc0, 0x27, 0x31, 0xe5, 0x83, 0xa5, 0x07, 0xf0, 0xb8, 0xe4, 0x50, 0x31,
- 0x50, 0x05, 0xf1, 0x08,
- 0xd0, 0xb1, 0xfb, 0x3c, 0xb3, 0xcd, 0x28, 0xe4, 0xa2, 0xf3, 0x5c, 0xfb,
- 0x5c, 0x75, 0x2b, 0xb7,
- 0xe0, 0xc8, 0x66, 0x94, 0xe3, 0x75, 0x59, 0xd8, 0x8c, 0xca, 0x48, 0x66,
- 0x48, 0xe5, 0x86, 0xb5,
- 0xf0, 0x5e, 0xac, 0x4d, 0xd3, 0x1d, 0x76, 0xcc, 0x96, 0xdd, 0x44, 0xac,
- 0x44, 0x95, 0x5c, 0x0a,
- 0xc3, 0x74, 0xfd, 0x0e, 0x86, 0x4f, 0xb5, 0x83, 0x63, 0xb3, 0xc0, 0xfd,
- 0xc0, 0x0c, 0x3e, 0xa1,
- 0xd3, 0xe2, 0x37, 0xd7, 0xb6, 0x27, 0x9a, 0x97, 0x79, 0xa4, 0xcc, 0x37,
- 0xcc, 0x7c, 0xe4, 0x1e,
- 0xe3, 0x9b, 0xaa, 0x7f, 0xe6, 0x9f, 0xeb, 0xab, 0x57, 0x9d, 0xd8, 0xaa,
- 0xd8, 0xec, 0x49, 0x1c,
- 0xf3, 0x0d, 0x60, 0xa6, 0xd6, 0xf7, 0xc4, 0xbf, 0x4d, 0x8a, 0xd4, 0x60,
- 0xd4, 0x9c, 0x93, 0xa3,
- 0x83, 0x69, 0x53, 0xec, 0x46, 0x2c, 0x09, 0xd3, 0x0b, 0xef, 0xf0, 0x53,
- 0xf0, 0x0f, 0xd0, 0x18,
- 0x93, 0xff, 0x99, 0x35, 0x76, 0x44, 0x26, 0xc7, 0x11, 0xf8, 0xfc, 0x99,
- 0xfc, 0x7f, 0x0a, 0xa7,
- 0xa3, 0x86, 0x04, 0x9d, 0x26, 0xfc, 0x57, 0xfb, 0x3f, 0xc1, 0xe8, 0x04,
- 0xe8, 0xef, 0xa7, 0xa5,
- 0xb3, 0x10, 0xce, 0x44, 0x16, 0x94, 0x78, 0xef, 0x25, 0xd6, 0xe4, 0xce,
- 0xe4, 0x9f, 0x7d, 0x1a,
- 0x43, 0x4e, 0x62, 0x09, 0xc5, 0x89, 0x0e, 0x23, 0xb3, 0x0b, 0xa0, 0x62,
- 0xa0, 0x0a, 0x21, 0x10,
- 0x53, 0xd8, 0xa8, 0xd0, 0xf5, 0xe1, 0x21, 0x37, 0xa9, 0x1c, 0xac, 0xa8,
- 0xac, 0x7a, 0xfb, 0xaf,
- 0x63, 0xa1, 0x35, 0x78, 0xa5, 0x59, 0x50, 0x0b, 0x87, 0x25, 0xb8, 0x35,
- 0xb8, 0xea, 0x56, 0xad,
- 0x73, 0x37, 0xff, 0xa1, 0x95, 0x31, 0x7f, 0x1f, 0x9d, 0x32, 0xb4, 0xff,
- 0xb4, 0x9a, 0x8c, 0x12,
- 0x03, 0x53, 0xcc, 0xeb, 0x05, 0xea, 0xb2, 0x73, 0xdb, 0x57, 0x90, 0xcc,
- 0x90, 0x09, 0xcf, 0xa9,
- 0x13, 0xc5, 0x06, 0x32, 0x35, 0x82, 0x9d, 0x67, 0xc1, 0x40, 0x9c, 0x06,
- 0x9c, 0x79, 0x15, 0x16,
- 0x23, 0xbc, 0x9b, 0x9a, 0x65, 0x3a, 0xec, 0x5b, 0xef, 0x79, 0x88, 0x9b,
- 0x88, 0xe9, 0xb8, 0x14,
- 0x33, 0x2a, 0x51, 0x43, 0x55, 0x52, 0xc3, 0x4f, 0xf5, 0x6e, 0x84, 0x51,
- 0x84, 0x99, 0x62, 0xab,
- 0x45, 0xe8, 0x39, 0x1c, 0xcf, 0x9e, 0xa9, 0xc5, 0xc6, 0xa5, 0x43, 0x39,
- 0x43, 0x18, 0x7c, 0x81,
- 0x55, 0x7e, 0xf3, 0xc5, 0xff, 0xf6, 0x86, 0xd1, 0xdc, 0xb2, 0x4f, 0xf3,
- 0x4f, 0x68, 0xa6, 0x3e,
- 0x65, 0x07, 0x6e, 0x6d, 0xaf, 0x4e, 0xf7, 0xed, 0xf2, 0x8b, 0x5b, 0x6e,
- 0x5b, 0xf8, 0x0b, 0x3c,
- 0x75, 0x91, 0xa4, 0xb4, 0x9f, 0x26, 0xd8, 0xf9, 0xe8, 0x9c, 0x57, 0xa4,
- 0x57, 0x88, 0xd1, 0x83,
- 0x05, 0xf5, 0x97, 0xfe, 0x0f, 0xfd, 0x15, 0x95, 0xae, 0xf9, 0x73, 0x97,
- 0x73, 0x1b, 0x92, 0x38,
- 0x15, 0x63, 0x5d, 0x27, 0x3f, 0x95, 0x3a, 0x81, 0xb4, 0xee, 0x7f, 0x5d,
- 0x7f, 0x6b, 0x48, 0x87,
- 0x25, 0x1a, 0xc0, 0x8f, 0x6f, 0x2d, 0x4b, 0xbd, 0x9a, 0xd7, 0x6b, 0xc0,
- 0x6b, 0xfb, 0xe5, 0x85,
- 0x35, 0x8c, 0x0a, 0x56, 0x5f, 0x45, 0x64, 0xa9, 0x80, 0xc0, 0x67, 0x0a,
- 0x67, 0x8b, 0x3f, 0x3a,
- 0xc5, 0xd2, 0xa6, 0x1b, 0x8c, 0x58, 0x12, 0x65, 0x16, 0x1d, 0x23, 0xa6,
- 0x23, 0x1e, 0x63, 0x30,
- 0xd5, 0x44, 0x6c, 0xc2, 0xbc, 0x30, 0x3d, 0x71, 0x0c, 0x0a, 0x2f, 0x6c,
- 0x2f, 0x6e, 0xb9, 0x8f,
- 0xe5, 0x3d, 0xf1, 0x6a, 0xec, 0x88, 0x4c, 0x4d, 0x22, 0x33, 0x3b, 0xf1,
- 0x3b, 0xfe, 0x14, 0x8d,
- 0xf5, 0xab, 0x3b, 0xb3, 0xdc, 0xe0, 0x63, 0x59, 0x38, 0x24, 0x37, 0x3b,
- 0x37, 0x8e, 0xce, 0x32,
- 0x85, 0xcf, 0x08, 0xf9, 0x4c, 0x3b, 0xae, 0x35, 0x7e, 0x41, 0x13, 0x08,
- 0x13, 0x1d, 0x8d, 0x89,
- 0x95, 0x59, 0xc2, 0x20, 0x7c, 0x53, 0x81, 0x21, 0x64, 0x56, 0x1f, 0xc2,
- 0x1f, 0x6d, 0x57, 0x36,
- 0xa5, 0x20, 0x5f, 0x88, 0x2c, 0xeb, 0xf0, 0x1d, 0x4a, 0x6f, 0x0b, 0x5f,
- 0x0b, 0xfd, 0xfa, 0x34,
- 0xb5, 0xb6, 0x95, 0x51, 0x1c, 0x83, 0xdf, 0x09, 0x50, 0x78, 0x07, 0x95,
- 0x07, 0x8d, 0x20, 0x8b,
- 0x86, 0x9c, 0xc4, 0x12, 0x49, 0xd1, 0x1c, 0x46, 0xa5, 0x16, 0x83, 0xc4,
- 0x83, 0x14, 0x42, 0x20,
- 0x96, 0x0a, 0x0e, 0xcb, 0x79, 0xb9, 0x33, 0x52, 0xbf, 0x01, 0x8f, 0x0e,
- 0x8f, 0x64, 0x98, 0x9f,
- 0xa6, 0x73, 0x93, 0x63, 0x29, 0x01, 0x42, 0x6e, 0x91, 0x38, 0x9b, 0x93,
- 0x9b, 0xf4, 0x35, 0x9d,
- 0xb6, 0xe5, 0x59, 0xba, 0x19, 0x69, 0x6d, 0x7a, 0x8b, 0x2f, 0x97, 0x59,
- 0x97, 0x84, 0xef, 0x22,
- 0xc6, 0x81, 0x6a, 0xf0, 0x89, 0xb2, 0xa0, 0x16, 0xcd, 0x4a, 0xb3, 0x6a,
- 0xb3, 0x17, 0xac, 0x99,
- 0xd6, 0x17, 0xa0, 0x29, 0xb9, 0xda, 0x8f, 0x02, 0xd7, 0x5d, 0xbf, 0xa0,
- 0xbf, 0x67, 0x76, 0x26,
- 0xe6, 0x6e, 0x3d, 0x81, 0xe9, 0x62, 0xfe, 0x3e, 0xf9, 0x64, 0xab, 0x3d,
- 0xab, 0xf7, 0xdb, 0x24,
- 0xf6, 0xf8, 0xf7, 0x58, 0xd9, 0x0a, 0xd1, 0x2a, 0xe3, 0x73, 0xa7, 0xf7,
- 0xa7, 0x87, 0x01, 0x9b,
- 0x06, 0xa6, 0x5b, 0x15, 0x0a, 0x17, 0xa7, 0xe6, 0x75, 0xae, 0xe3, 0x5b,
- 0xe3, 0x12, 0x5d, 0x91,
- 0x16, 0x30, 0x91, 0xcc, 0x3a, 0x7f, 0x88, 0xf2, 0x6f, 0xb9, 0xef, 0x91,
- 0xef, 0x62, 0x87, 0x2e,
- 0x26, 0x49, 0x0c, 0x64, 0x6a, 0xc7, 0xf9, 0xce, 0x41, 0x80, 0xfb, 0x0c,
- 0xfb, 0xf2, 0x2a, 0x2c,
- 0x36, 0xdf, 0xc6, 0xbd, 0x5a, 0xaf, 0xd6, 0xda, 0x5b, 0x97, 0xf7, 0xc6,
- 0xf7, 0x82, 0xf0, 0x93,
- 0x46, 0xbb, 0xf5, 0xf7, 0xca, 0x74, 0x1b, 0xb6, 0x1d, 0xf2, 0xd3, 0xf5,
- 0xd3, 0x11, 0xb3, 0x28,
- 0x56, 0x2d, 0x3f, 0x2e, 0xfa, 0x1c, 0x34, 0xa2, 0x07, 0xe5, 0xdf, 0x3f,
- 0xdf, 0x61, 0x69, 0x97,
- 0x66, 0x54, 0xa2, 0x86, 0xaa, 0xa4, 0x45, 0x9e, 0x29, 0xdc, 0xcb, 0xa2,
- 0xcb, 0xf1, 0xc4, 0x95,
- 0x76, 0xc2, 0x68, 0x5f, 0x9a, 0xcc, 0x6a, 0x8a, 0x33, 0xcb, 0xc7, 0x68,
- 0xc7, 0x81, 0x1e, 0x2a,
- 0x8a, 0x13, 0x72, 0x38, 0x5d, 0xff, 0x91, 0x49, 0x4f, 0x89, 0x86, 0x72,
- 0x86, 0x30, 0xf8, 0xc1,
- 0x9a, 0x85, 0xb8, 0xe1, 0x6d, 0x97, 0xbe, 0x5d, 0x55, 0x9e, 0x8a, 0xb8,
- 0x8a, 0x40, 0x22, 0x7e,
- 0xaa, 0xfc, 0x25, 0x49, 0x3d, 0x2f, 0xcf, 0x61, 0x7b, 0xa7, 0x9e, 0x25,
- 0x9e, 0xd0, 0x8f, 0x7c,
- 0xba, 0x6a, 0xef, 0x90, 0x0d, 0x47, 0xe0, 0x75, 0x61, 0xb0, 0x92, 0xef,
- 0x92, 0xa0, 0x55, 0xc3,
- 0xca, 0x0e, 0xdc, 0xda, 0x9d, 0x9c, 0x2d, 0x19, 0x27, 0xd5, 0xb6, 0xdc,
- 0xb6, 0x33, 0x16, 0x78,
- 0xda, 0x98, 0x16, 0x03, 0xad, 0xf4, 0x02, 0x0d, 0x3d, 0xc2, 0xba, 0x16,
- 0xba, 0x43, 0xcc, 0xc7,
- 0xea, 0xe1, 0x8b, 0xab, 0xfd, 0x4c, 0x73, 0x31, 0x13, 0xfb, 0xae, 0x8b,
- 0xae, 0xd3, 0x61, 0xc5,
- 0xfa, 0x77, 0x41, 0x72, 0xcd, 0x24, 0x5c, 0x25, 0x09, 0xec, 0xa2, 0x41,
- 0xa2, 0xa3, 0xbb, 0x7a,
- 0x0a, 0x29, 0xed, 0x3f, 0x1e, 0x39, 0x2a, 0xe9, 0x9f, 0x31, 0xe6, 0xed,
- 0xe6, 0x36, 0xe7, 0x70,
- 0x1a, 0xbf, 0x27, 0xe6, 0x2e, 0x51, 0x05, 0xfd, 0x85, 0x26, 0xea, 0x27,
- 0xea, 0x46, 0x3d, 0xcf,
- 0x2a, 0xc6, 0xba, 0x4e, 0x7e, 0xe9, 0x74, 0xc1, 0xab, 0x1f, 0xfe, 0xba,
- 0xfe, 0xd6, 0x90, 0xcd,
- 0x3a, 0x50, 0x70, 0x97, 0x4e, 0x81, 0x5b, 0xd5, 0xb1, 0x08, 0xf2, 0x70,
- 0xf2, 0xa6, 0x4a, 0x72,
- 0x4a, 0x34, 0x43, 0xdd, 0xde, 0x5a, 0x96, 0xb9, 0xf7, 0x6d, 0xd6, 0x43,
- 0xd6, 0x35, 0x09, 0xc9,
- 0x5a, 0xa2, 0x89, 0x04, 0xee, 0x32, 0xb9, 0xad, 0xed, 0x7a, 0xda, 0x89,
- 0xda, 0x45, 0xd3, 0x76,
- 0x6a, 0xdb, 0x14, 0xac, 0xbe, 0x8a, 0xc8, 0x91, 0xc3, 0x43, 0xce, 0x14,
- 0xce, 0xd5, 0x7e, 0x74,
- 0x7a, 0x4d, 0xde, 0x75, 0x8e, 0xe2, 0xe7, 0x85, 0xd9, 0x54, 0xc2, 0xde,
- 0xc2, 0xa5, 0xa4, 0xcb,
- 0x49, 0x67, 0x8f, 0x36, 0xdb, 0xb0, 0x24, 0xca, 0x2c, 0x3a, 0x46, 0x8f,
- 0x46, 0x3c, 0xc6, 0x60,
- 0x59, 0xf1, 0x45, 0xef, 0xeb, 0xd8, 0x0b, 0xde, 0x36, 0x2d, 0x4a, 0x45,
- 0x4a, 0x4c, 0x1c, 0xdf,
- 0x69, 0x88, 0xd8, 0x47, 0xbb, 0x60, 0x7a, 0xe2, 0x18, 0x14, 0x5e, 0xd8,
- 0x5e, 0xdc, 0xb1, 0xdd,
- 0x79, 0x1e, 0x12, 0x9e, 0x8b, 0x08, 0x55, 0xf6, 0x02, 0x03, 0x52, 0x12,
- 0x52, 0xac, 0x6b, 0x62,
- 0x09, 0x7a, 0x21, 0xd4, 0x1b, 0xd3, 0x98, 0x9a, 0x44, 0x66, 0x76, 0x21,
- 0x76, 0x3f, 0x28, 0xd9,
- 0x19, 0xec, 0xeb, 0x0d, 0x2b, 0xbb, 0xb7, 0x8e, 0x5e, 0x71, 0x7a, 0xeb,
- 0x7a, 0x4f, 0xf2, 0x66,
- 0x29, 0x95, 0x76, 0xa5, 0x7b, 0x03, 0xc6, 0xb2, 0x70, 0x48, 0x6e, 0x76,
- 0x6e, 0xdf, 0x5f, 0x64,
- 0x39, 0x03, 0xbc, 0x7c, 0x4b, 0x6b, 0xe9, 0xa6, 0x6a, 0x5f, 0x62, 0xbc,
- 0x62, 0xaf, 0x85, 0xdb,
- 0xc9, 0x5d, 0x10, 0x31, 0x98, 0x76, 0x9f, 0x6a, 0xfc, 0x82, 0x26, 0x10,
- 0x26, 0x3a, 0xd9, 0xd1,
- 0xd9, 0xcb, 0xda, 0xe8, 0xa8, 0x1e, 0xb0, 0x7e, 0xe6, 0x95, 0x2a, 0xda,
- 0x2a, 0x4a, 0x03, 0x6e,
- 0xe9, 0xb2, 0x47, 0x40, 0xf8, 0xa6, 0xc1, 0x42, 0xc8, 0xac, 0x3e, 0x47,
- 0x3e, 0xda, 0xae, 0x6c,
- 0xf9, 0x24, 0x8d, 0x99, 0xc8, 0xce, 0xee, 0x56, 0xd2, 0xbb, 0x32, 0x8d,
- 0x32, 0xaa, 0x74, 0xd3,
- 0x89, 0x40, 0xbe, 0xd3, 0x58, 0x15, 0x23, 0x3a, 0x94, 0xde, 0x16, 0xbe,
- 0x16, 0x39, 0x37, 0x68,
- 0x99, 0xd6, 0x74, 0x0a, 0x68, 0x7d, 0x0c, 0x2e, 0x8e, 0xc9, 0x1a, 0x74,
- 0x1a, 0x49, 0xed, 0xd7,
- 0xa9, 0xaf, 0xe9, 0xa2, 0x38, 0xc5, 0x7d, 0x12, 0xa0, 0xf0, 0x0e, 0xe9,
- 0x0e, 0xd9, 0x40, 0xd5,
- 0xb9, 0x39, 0x23, 0x7b, 0x08, 0xad, 0x52, 0x06, 0xba, 0xe7, 0x02, 0x23,
- 0x02, 0xa9, 0x9a, 0x6a,
- 0xcf, 0xfb, 0x4b, 0x24, 0x92, 0x61, 0x38, 0x8c, 0x89, 0x2c, 0xc5, 0x4b,
- 0xc5, 0x28, 0x84, 0x40,
- 0xdf, 0x6d, 0x81, 0xfd, 0xa2, 0x09, 0x17, 0x98, 0x93, 0x3b, 0xc9, 0x81,
- 0xc9, 0x58, 0x5e, 0xff,
- 0xef, 0x14, 0x1c, 0x55, 0xf2, 0xb1, 0x66, 0xa4, 0xbd, 0x02, 0xdd, 0x1c,
- 0xdd, 0xc8, 0xf3, 0xfd,
- 0xff, 0x82, 0xd6, 0x8c, 0xc2, 0xd9, 0x49, 0xb0, 0xa7, 0x15, 0xd1, 0xd6,
- 0xd1, 0xb8, 0x29, 0x42,
- 0x8f, 0xe6, 0xe5, 0xc6, 0x52, 0x02, 0x84, 0xdc, 0xe1, 0x70, 0xf5, 0xe5,
- 0xf5, 0x2b, 0x6a, 0xf9,
- 0x9f, 0x70, 0x2f, 0x1f, 0x62, 0x6a, 0xab, 0xc8, 0xfb, 0x67, 0xf9, 0x2f,
- 0xf9, 0x5b, 0xb0, 0x46,
- 0xaf, 0x09, 0xb2, 0xb7, 0x32, 0xd2, 0xda, 0xf4, 0xd5, 0x5e, 0xed, 0xb2,
- 0xed, 0xcb, 0x1d, 0x44,
- 0xbf, 0x9f, 0x78, 0x6e, 0x02, 0xba, 0xf5, 0xe0, 0xcf, 0x49, 0xe1, 0x78,
- 0xe1, 0xbb, 0xc7, 0xfb,
- 0x4f, 0xc1, 0xd4, 0x23, 0xd1, 0xa7, 0x83, 0x2c, 0x59, 0x94, 0xa5, 0xd4,
- 0xa5, 0x2e, 0x9b, 0xf1,
- 0x5f, 0x57, 0x1e, 0xfa, 0xe1, 0xcf, 0xac, 0x38, 0x43, 0x83, 0xa9, 0x1e,
- 0xa9, 0x5e, 0x41, 0x4e,
- 0x6f, 0x2e, 0x83, 0x52, 0xb1, 0x77, 0xdd, 0x04, 0x6d, 0xba, 0xbd, 0x83,
- 0xbd, 0xce, 0xec, 0x4c,
- 0x7f, 0xb8, 0x49, 0x8b, 0x81, 0x1f, 0xf2, 0x10, 0x77, 0xad, 0xb1, 0x49,
- 0xb1, 0xbe, 0x36, 0xf3,
- 0x0f, 0xdc, 0x7a, 0xc1, 0x11, 0xc4, 0x3f, 0x7c, 0x31, 0xc8, 0x95, 0x7a,
- 0x95, 0x2d, 0x75, 0x48,
- 0x1f, 0x4a, 0xb0, 0x18, 0x21, 0xac, 0x10, 0x68, 0x2b, 0xdf, 0x99, 0xb0,
- 0x99, 0x5d, 0xaf, 0xf7,
- 0x2f, 0x33, 0x2d, 0xb0, 0x71, 0x14, 0x61, 0x54, 0x05, 0xe6, 0x8d, 0x2d,
- 0x8d, 0xcd, 0x02, 0xf5,
- 0x3f, 0xa5, 0xe7, 0x69, 0x41, 0x7c, 0x4e, 0x40, 0x1f, 0xf1, 0x81, 0xe7,
- 0x81, 0xbd, 0xd8, 0x4a,
- 0x0c, 0x8f, 0xb6, 0x2a, 0x14, 0x2e, 0x8d, 0x0f, 0xea, 0x9f, 0x05, 0xb6,
- 0x05, 0x24, 0xba, 0xe1,
- 0x1c, 0x19, 0x7c, 0xf3, 0x24, 0x46, 0xa2, 0x1b, 0xf0, 0x88, 0x09, 0x7c,
- 0x09, 0x54, 0x60, 0x5e,
- 0x2c, 0x60, 0xe1, 0x5b, 0x74, 0xfe, 0xd3, 0x27, 0xde, 0xb1, 0x1d, 0xe1,
- 0x1d, 0xc4, 0xcd, 0x5c,
- 0x3c, 0xf6, 0x2b, 0x82, 0x44, 0x96, 0xfc, 0x33, 0xc4, 0xa6, 0x11, 0x2b,
- 0x11, 0xb4, 0x17, 0xe3,
- 0x4c, 0x92, 0x18, 0xc8, 0xd4, 0x4d, 0x31, 0x5f, 0x82, 0xc3, 0x35, 0x18,
- 0x35, 0x27, 0x54, 0x58,
- 0x5c, 0x04, 0xd2, 0x11, 0xe4, 0x25, 0x1e, 0x4b, 0x98, 0xd4, 0x39, 0xd2,
- 0x39, 0x57, 0x8e, 0xe7,
- 0x6c, 0x7d, 0x4f, 0xb9, 0xb4, 0x9d, 0x6f, 0x77, 0xb6, 0xed, 0x2d, 0x4f,
- 0x2d, 0xc7, 0x23, 0xe5,
- 0x7c, 0xeb, 0x85, 0x60, 0x84, 0xf5, 0x40, 0x63, 0xac, 0xfa, 0x21, 0x85,
- 0x21, 0xb7, 0xf9, 0x5a,
- 0x8c, 0xb5, 0x29, 0x2d, 0x57, 0xe8, 0x36, 0xaf, 0x3a, 0x27, 0x65, 0x29,
- 0x65, 0x22, 0xa5, 0x50,
- 0x9c, 0x23, 0xe3, 0xf4, 0x67, 0x80, 0x19, 0xbb, 0x20, 0x30, 0x69, 0xe3,
- 0x69, 0x52, 0x7f, 0xef,
- 0xac, 0x5a, 0x7e, 0x5c, 0x37, 0x38, 0x68, 0x87, 0x0e, 0x09, 0x7d, 0x7e,
- 0x7d, 0xc2, 0xd2, 0xed,
- 0xbc, 0xcc, 0xb4, 0x85, 0x07, 0x50, 0x47, 0x93, 0x14, 0x1e, 0x71, 0xb4,
- 0x71, 0xb2, 0x08, 0x52,
- 0xcc, 0xa8, 0x87, 0xcf, 0x97, 0x8b, 0x8a, 0xff, 0x52, 0x7b, 0x55, 0x87,
- 0x55, 0x21, 0x4b, 0xe9,
- 0xdc, 0x3e, 0x4d, 0x16, 0xa7, 0xe3, 0xa5, 0xeb, 0x48, 0x6c, 0x59, 0x4d,
- 0x59, 0x51, 0x91, 0x56,
- 0xec, 0x47, 0xd0, 0xbe, 0xf7, 0x5b, 0xd4, 0xd7, 0x66, 0x55, 0x4d, 0xd0,
- 0x4d, 0xc1, 0x3c, 0x54,
- 0xfc, 0xd1, 0x1a, 0x67, 0xc7, 0x33, 0xfb, 0xc3, 0x7c, 0x42, 0x41, 0x1a,
- 0x41, 0xb1, 0xe6, 0xeb,
- 0xd7, 0x26, 0xe4, 0x70, 0xba, 0x3d, 0xe1, 0x92, 0x9e, 0xd1, 0xcf, 0xe4,
- 0xcf, 0x60, 0x33, 0x41,
- 0xc7, 0xb0, 0x2e, 0xa9, 0x8a, 0x55, 0xce, 0x86, 0x84, 0xc6, 0xc3, 0x2e,
- 0xc3, 0x10, 0xe9, 0xfe,
- 0xf7, 0xc9, 0xb3, 0x01, 0xda, 0xed, 0xbf, 0xba, 0xaa, 0xff, 0xd7, 0xb3,
- 0xd7, 0x80, 0x44, 0xfc,
- 0xe7, 0x5f, 0x79, 0xd8, 0xea, 0x85, 0x90, 0xae, 0xb0, 0xe8, 0xdb, 0x79,
- 0xdb, 0xf0, 0x9e, 0x43,
- 0x97, 0x3b, 0x4a, 0x92, 0x7a, 0x5e, 0x5d, 0xc2, 0xf6, 0x8d, 0xff, 0x4a,
- 0xff, 0x63, 0xdd, 0xf8,
- 0x87, 0xad, 0x80, 0x4b, 0x4a, 0x36, 0x72, 0xd6, 0xec, 0x9a, 0xf3, 0x80,
- 0xf3, 0x13, 0x07, 0x47,
- 0xb7, 0xd4, 0x1d, 0xe3, 0x1a, 0x8e, 0x03, 0xea, 0xc2, 0xa3, 0xe7, 0x1d,
- 0xe7, 0x83, 0xaa, 0x45,
- 0xa7, 0x42, 0xd7, 0x3a, 0x2a, 0xe6, 0x2c, 0xfe, 0xd8, 0xb4, 0xeb, 0xd7,
- 0xeb, 0xf3, 0x70, 0xfa,
- 0x57, 0x1c, 0x7b, 0x77, 0xf9, 0xfb, 0x5a, 0x32, 0x4e, 0x69, 0xaf, 0x7b,
- 0xaf, 0x66, 0x2c, 0xf0,
- 0x47, 0x8a, 0xb1, 0xae, 0xc9, 0x93, 0x75, 0x26, 0x54, 0x7e, 0xa3, 0xb1,
- 0xa3, 0x16, 0xf6, 0x4f,
- 0x77, 0xf3, 0x2c, 0x06, 0x99, 0x2b, 0x04, 0x1a, 0x7a, 0x47, 0xb7, 0x2c,
- 0xb7, 0x86, 0x5b, 0x4d,
- 0x67, 0x65, 0xe6, 0xdf, 0xa9, 0x43, 0x2b, 0x0e, 0x60, 0x50, 0xbb, 0xe6,
- 0xbb, 0xf6, 0x81, 0xf2,
- 0x17, 0x01, 0xd5, 0x95, 0x39, 0x98, 0xe6, 0x62, 0x26, 0x35, 0x9f, 0xd5,
- 0x9f, 0x65, 0xc2, 0x49,
- 0x07, 0x97, 0x1f, 0x4c, 0x09, 0xf0, 0xc9, 0x76, 0x3c, 0x22, 0x93, 0x1f,
- 0x93, 0x15, 0x18, 0xf6,
- 0x37, 0xee, 0x82, 0xe4, 0x59, 0x48, 0xb8, 0x4a, 0x12, 0x1b, 0x87, 0x82,
- 0x87, 0x85, 0xb5, 0xf4,
- 0x27, 0x78, 0x48, 0x3d, 0x69, 0x20, 0x97, 0x5e, 0x08, 0x0c, 0x8b, 0x48,
- 0x8b, 0xf5, 0x6f, 0x4b,
- 0x14, 0x52, 0x19, 0x7e, 0x3c, 0x72, 0x54, 0x11, 0xfd, 0x62, 0x0f, 0x19,
- 0x0f, 0x6c, 0x0d, 0xe0,
- 0x04, 0xc4, 0xd3, 0xa7, 0x0c, 0x1a, 0x7b, 0x05, 0xe7, 0x75, 0x03, 0xd3,
- 0x03, 0x1c, 0xd7, 0x5f,
- 0x34, 0xbd, 0x4e, 0x0f, 0x5c, 0xa2, 0x0a, 0x39, 0xc9, 0x4c, 0x17, 0x4e,
- 0x17, 0x8c, 0x7a, 0x5d,
- 0x24, 0x2b, 0x84, 0xd6, 0x6c, 0xca, 0x25, 0x2d, 0xd3, 0x5b, 0x1b, 0x84,
- 0x1b, 0xfc, 0xa0, 0xe2,
- 0x54, 0x4f, 0xb7, 0x9c, 0xfc, 0x11, 0xe8, 0x41, 0x95, 0x3e, 0x3f, 0xb7,
- 0x3f, 0x6f, 0xe3, 0x59,
- 0x44, 0xd9, 0x7d, 0x45, 0xcc, 0x79, 0xc7, 0x55, 0x8f, 0x29, 0x33, 0x7d,
- 0x33, 0x1f, 0x39, 0xe6,
- 0x74, 0xa0, 0xe0, 0xed, 0x9c, 0xc1, 0xb6, 0x69, 0xa1, 0x10, 0x27, 0xe0,
- 0x27, 0x8f, 0x94, 0xe4,
- 0x64, 0x36, 0x2a, 0x34, 0xac, 0xa9, 0x99, 0x7d, 0xbb, 0x07, 0x2b, 0x2a,
- 0x2b, 0xff, 0x4e, 0x5b,
- 0x94, 0x68, 0x86, 0x79, 0x7f, 0xb4, 0xef, 0xb1, 0x2d, 0xda, 0x6f, 0x86,
- 0x6f, 0x6a, 0x12, 0x51,
- 0x84, 0xfe, 0x4c, 0xa0, 0x4f, 0xdc, 0xc0, 0xa5, 0x37, 0xcd, 0x63, 0x4c,
- 0x63, 0x1a, 0xc8, 0xee,
- 0xb4, 0x87, 0xd1, 0x08, 0x1f, 0x64, 0xb1, 0x99, 0x19, 0xf4, 0x77, 0xd1,
- 0x77, 0x8a, 0x65, 0xec,
- 0xa4, 0x11, 0x1b, 0xd1, 0x2f, 0x0c, 0x9e, 0x8d, 0x03, 0xe3, 0x7b, 0x1b,
- 0x7b, 0xfa, 0xbf, 0x53,
- 0xd4, 0x75, 0x28, 0x9b, 0xbf, 0xd7, 0x53, 0xe1, 0x45, 0x86, 0x5f, 0x28,
- 0x5f, 0x69, 0xfc, 0xe8,
- 0xc4, 0xe3, 0xe2, 0x42, 0x8f, 0xbf, 0x7c, 0xf5, 0x5f, 0x91, 0x53, 0xe2,
- 0x53, 0x19, 0x26, 0x57,
- 0xf4, 0x9a, 0x7f, 0xea, 0xdf, 0x07, 0x0d, 0xc9, 0x71, 0xa8, 0x47, 0x7f,
- 0x47, 0x89, 0x8b, 0x55,
- 0xe4, 0x0c, 0xb5, 0x33, 0xef, 0x6f, 0x22, 0xdd, 0x6b, 0xbf, 0x4b, 0xb5,
- 0x4b, 0xf9, 0x51, 0xea,
- 0x92, 0xce, 0xdd, 0x6c, 0x75, 0xa3, 0x48, 0x57, 0x58, 0x74, 0x8c, 0xdd,
- 0x8c, 0x78, 0x4f, 0xc0,
- 0x82, 0x58, 0x17, 0xb5, 0x45, 0xcb, 0x67, 0x43, 0x42, 0x63, 0x80, 0x17,
- 0x80, 0x08, 0x95, 0x7f,
- 0xb2, 0x21, 0x8a, 0x1d, 0x15, 0x73, 0x16, 0x7f, 0x6c, 0x5a, 0x94, 0x8a,
- 0x94, 0x98, 0x38, 0x7d,
- 0xa2, 0xb7, 0x40, 0xc4, 0x25, 0x1b, 0x39, 0x6b, 0x76, 0x4d, 0x98, 0x40,
- 0x98, 0xe8, 0xe2, 0xc2,
- 0xd2, 0xd3, 0x73, 0x8e, 0xb5, 0xc0, 0xf4, 0x07, 0x30, 0x28, 0xbc, 0x73,
- 0xbc, 0x7b, 0xa1, 0x79,
- 0xc2, 0x45, 0xb9, 0x57, 0x85, 0xa8, 0xdb, 0x13, 0x2a, 0x3f, 0xb0, 0xb9,
- 0xb0, 0x0b, 0x7b, 0xc6,
- 0xf2, 0x3c, 0x24, 0xff, 0xd5, 0x10, 0xaa, 0x2f, 0x04, 0x06, 0xa4, 0x24,
- 0xa4, 0x9b, 0xd6, 0xc4,
- 0xe2, 0xaa, 0xee, 0x26, 0xe5, 0x78, 0x85, 0x3b, 0x1e, 0x11, 0xa8, 0xee,
- 0xa8, 0xeb, 0x0c, 0x7b,
- 0x12, 0xf4, 0x42, 0x6b, 0x36, 0x65, 0xf3, 0xf7, 0x88, 0xcc, 0xec, 0x42,
- 0xec, 0x7e, 0x50, 0x71,
- 0x02, 0x62, 0x88, 0xb2, 0x06, 0x0d, 0xdc, 0xe3, 0x92, 0xdb, 0xe0, 0x88,
- 0xe0, 0x0e, 0x8a, 0xce,
- 0x32, 0x1b, 0x15, 0x1a, 0x56, 0xb5, 0xad, 0xdf, 0xbc, 0xe2, 0xf4, 0x15,
- 0xf4, 0x9e, 0x27, 0xcc,
- 0x22, 0x8d, 0xdf, 0xc3, 0x66, 0xdd, 0x82, 0xcb, 0xa6, 0xf5, 0xf8, 0xdf,
- 0xf8, 0xee, 0xfd, 0x73,
- 0x52, 0xe9, 0xec, 0x89, 0xf6, 0x06, 0x4f, 0xa7, 0xe0, 0x90, 0xdc, 0xec,
- 0xdc, 0x7d, 0xbe, 0xc8,
- 0x42, 0x7f, 0x26, 0x50, 0xc6, 0x6e, 0x60, 0xb3, 0xfa, 0x87, 0xd0, 0x26,
- 0xd0, 0x0d, 0x64, 0x77,
- 0x72, 0x06, 0xbb, 0xf8, 0x96, 0xd6, 0x11, 0x8f, 0xd4, 0xbe, 0xc4, 0xbb,
- 0xc4, 0x9d, 0xc9, 0x75,
- 0x62, 0x90, 0x71, 0x21, 0xa6, 0xbe, 0x3e, 0x9b, 0xce, 0xa9, 0xc8, 0x71,
- 0xc8, 0xed, 0x13, 0xca,
- 0x51, 0xba, 0x20, 0x62, 0xf3, 0xec, 0xfd, 0xd4, 0x3b, 0xc7, 0x4c, 0x20,
- 0x4c, 0x74, 0x71, 0x61,
- 0x41, 0x2c, 0xea, 0xbb, 0xc3, 0x84, 0xd2, 0xc0, 0x21, 0xd0, 0x40, 0xea,
- 0x40, 0x04, 0xab, 0xde,
- 0x71, 0x55, 0x77, 0x13, 0x93, 0x3c, 0xa3, 0xfc, 0x0f, 0xe9, 0x54, 0x77,
- 0x54, 0x94, 0x06, 0xdc,
- 0x61, 0xc3, 0xbd, 0xca, 0xa3, 0x54, 0x8c, 0xe8, 0x15, 0xfe, 0x58, 0xbd,
- 0x58, 0xe4, 0xdc, 0x63,
- 0x11, 0xa7, 0x8e, 0x80, 0x33, 0x8f, 0x41, 0x84, 0x53, 0x9b, 0x7c, 0x8e,
- 0x7c, 0x77, 0x9f, 0xd8,
- 0x01, 0x31, 0x44, 0x59, 0x03, 0xe7, 0x6e, 0x90, 0x49, 0x8c, 0x70, 0x44,
- 0x70, 0x07, 0x45, 0x67,
- 0x31, 0x48, 0xd9, 0xf1, 0x53, 0x5f, 0x1f, 0xac, 0x67, 0xb5, 0x64, 0xd9,
- 0x64, 0x97, 0xe8, 0x65,
- 0x21, 0xde, 0x13, 0x28, 0x63, 0x37, 0x30, 0xb8, 0x7d, 0xa2, 0x68, 0x13,
- 0x68, 0xe7, 0x32, 0xda,
- 0xd1, 0x80, 0xbf, 0x65, 0xb0, 0x2a, 0x46, 0x74, 0xeb, 0x7f, 0x2c, 0xbf,
- 0x2c, 0x72, 0x6e, 0xd0,
- 0xc1, 0x16, 0x75, 0xbc, 0x80, 0x42, 0x69, 0x60, 0xf1, 0x68, 0x20, 0x75,
- 0x20, 0x02, 0xb4, 0x6f,
- 0xf1, 0x6f, 0xe8, 0x14, 0xd0, 0xfa, 0x18, 0x5c, 0xdf, 0x51, 0x34, 0xe8,
- 0x34, 0x92, 0x19, 0x6d,
- 0xe1, 0xf9, 0x22, 0xcd, 0xe0, 0x92, 0x37, 0x48, 0xc5, 0x46, 0x38, 0x22,
- 0x38, 0xe2, 0xc3, 0xd2,
- 0x91, 0x9d, 0x11, 0x87, 0x70, 0x49, 0xfa, 0x24, 0x83, 0x23, 0x1c, 0x11,
- 0x1c, 0x71, 0x80, 0x69,
- 0x81, 0x0b, 0xdb, 0x5e, 0x40, 0x21, 0xd5, 0x30, 0x99, 0x34, 0x10, 0xdb,
- 0x10, 0x01, 0x5a, 0xd6,
- 0xb1, 0x72, 0x46, 0xf6, 0x10, 0x99, 0xa4, 0x0c, 0xb7, 0x0d, 0x04, 0x46,
- 0x04, 0x91, 0xf7, 0xd4,
- 0xa1, 0xe4, 0x8c, 0x2f, 0x20, 0xf1, 0x8b, 0x18, 0xad, 0x1a, 0x08, 0x8c,
- 0x08, 0xe1, 0x2d, 0x6b,
- 0x5d, 0x35, 0x96, 0x48, 0xe7, 0xc2, 0x70, 0xdb, 0xd1, 0x58, 0x49, 0x96,
- 0x49, 0x50, 0xcb, 0x80,
- 0x4d, 0xa3, 0x5c, 0x91, 0xd7, 0xaa, 0x5f, 0xcf, 0xcb, 0x4f, 0x45, 0x5c,
- 0x45, 0x20, 0x11, 0x3f,
- 0x7d, 0xda, 0xc1, 0x39, 0x87, 0x12, 0x2e, 0xf3, 0xe5, 0x76, 0x51, 0xc1,
- 0x51, 0xb0, 0xbc, 0x3d,
- 0x6d, 0x4c, 0x0b, 0xe0, 0xb7, 0x7a, 0x01, 0xe7, 0xff, 0x61, 0x5d, 0x0b,
- 0x5d, 0xc0, 0x66, 0x82,
- 0x1d, 0x28, 0x38, 0xaa, 0x27, 0xa1, 0xcc, 0x8b, 0xb9, 0x04, 0x79, 0x38,
- 0x79, 0x53, 0x25, 0x39,
- 0x0d, 0xbe, 0xf2, 0x73, 0x17, 0xc9, 0xe3, 0x9f, 0xa3, 0x13, 0x75, 0xf2,
- 0x75, 0x23, 0xff, 0x86,
- 0x3d, 0xc7, 0x6f, 0xdb, 0x47, 0x71, 0x92, 0xa3, 0x8d, 0x2a, 0x61, 0x6f,
- 0x61, 0xb3, 0x52, 0x84,
- 0x2d, 0x51, 0xa5, 0x02, 0x77, 0x19, 0xbd, 0xb7, 0x97, 0x3d, 0x6d, 0xa5,
- 0x6d, 0xc3, 0x88, 0x3b,
- 0xdd, 0x0f, 0x09, 0x4f, 0xa4, 0x04, 0xcb, 0x7b, 0x01, 0xe0, 0x29, 0x09,
- 0x29, 0x56, 0xd4, 0x31,
- 0xcd, 0x99, 0xc3, 0x96, 0x94, 0x6c, 0xe4, 0x6f, 0x1b, 0xf7, 0x25, 0xc3,
- 0x25, 0x26, 0x0e, 0x8e,
- 0xfd, 0xe0, 0x5e, 0x3e, 0xc4, 0xd4, 0x95, 0x53, 0x35, 0xce, 0x31, 0x5e,
- 0x31, 0xb6, 0xa3, 0x8c,
- 0xed, 0x76, 0x94, 0xe7, 0xf4, 0xbc, 0xba, 0x47, 0x2f, 0xd9, 0x3d, 0x94,
- 0x3d, 0xc6, 0x79, 0x33,
- 0x9d, 0x12, 0xa7, 0xad, 0x64, 0x67, 0x77, 0x2b, 0x69, 0xbc, 0x19, 0xa7,
- 0x19, 0x55, 0x3a, 0x88,
- 0x8d, 0x84, 0x6d, 0x74, 0x54, 0x0f, 0x58, 0x3f, 0x73, 0xab, 0x15, 0x6d,
- 0x15, 0x25, 0xe0, 0x37,
- 0xbd, 0xfd, 0xf0, 0xdc, 0x04, 0xb7, 0x29, 0x03, 0x5d, 0x92, 0x01, 0xf0,
- 0x01, 0xb5, 0x4d, 0x35,
- 0xad, 0x6b, 0x3a, 0x05, 0x34, 0xdf, 0x06, 0x17, 0x47, 0x85, 0x0d, 0x3a,
- 0x0d, 0xc5, 0x97, 0x8a,
- 0x9e, 0x41, 0x6b, 0x46, 0x61, 0x8d, 0xc5, 0x58, 0xb2, 0xeb, 0x89, 0x6b,
- 0x89, 0x5c, 0xf5, 0x21,
- 0x8e, 0xd7, 0xa1, 0x9f, 0x51, 0xe5, 0xea, 0x4c, 0xa8, 0xfc, 0x85, 0xa1,
- 0x85, 0x2c, 0x2f, 0x9e,
- 0xbe, 0xae, 0x3c, 0x37, 0x01, 0x5d, 0x9b, 0x70, 0x86, 0xc5, 0x91, 0x3c,
- 0x91, 0xbc, 0x82, 0x9c,
- 0xae, 0x38, 0xf6, 0xee, 0x31, 0x35, 0xb4, 0x64, 0x9c, 0xd2, 0x9d, 0xf6,
- 0x9d, 0xcc, 0x58, 0x23,
- 0xde, 0x5c, 0xc5, 0xa4, 0xa1, 0xee, 0x79, 0x08, 0xda, 0xb7, 0xb9, 0xc5,
- 0xb9, 0x5f, 0x1b, 0x98,
- 0xce, 0xca, 0x0f, 0x7d, 0x91, 0x86, 0x56, 0x1c, 0xc0, 0xa0, 0xb5, 0x0f,
- 0xb5, 0x2f, 0xc1, 0x27,
- 0xfe, 0xb3, 0x92, 0xd5, 0xc1, 0x3e, 0x27, 0x20, 0xee, 0x99, 0xa1, 0x92,
- 0xa1, 0xbf, 0x6c, 0x25,
- 0xee, 0x25, 0x58, 0x0c, 0xf1, 0x56, 0x08, 0x34, 0xf4, 0x8e, 0xad, 0x58,
- 0xad, 0xcf, 0xb6, 0x9a,
- 0x1e, 0x7b, 0xf4, 0x41, 0x22, 0x4b, 0x7e, 0xf8, 0x62, 0x53, 0xe9, 0xf4,
- 0xe9, 0x5a, 0xea, 0x90,
- 0x0e, 0xed, 0x3e, 0x98, 0x12, 0x23, 0x51, 0xec, 0x78, 0x44, 0xe5, 0x3e,
- 0xe5, 0x2a, 0x30, 0x2f,
- 0x3e, 0x94, 0xa3, 0x30, 0x42, 0x9b, 0x20, 0xd0, 0x56, 0x7d, 0xf1, 0xa3,
- 0xf1, 0xba, 0x9d, 0x2d,
- 0x2e, 0x02, 0x69, 0xe9, 0x72, 0xf3, 0x0f, 0xc4, 0x4c, 0x6a, 0xfd, 0x69,
- 0xfd, 0xca, 0x47, 0x92,
- 0x5e, 0x66, 0x5a, 0xa3, 0xe2, 0x28, 0xc2, 0xa8, 0x0a, 0x0f, 0xd9, 0x5a,
- 0xd9, 0x59, 0x04, 0x29,
- 0x4e, 0xf0, 0x90, 0x7a, 0xd2, 0x40, 0xed, 0xbc, 0x10, 0x18, 0xd5, 0x90,
- 0xd5, 0x29, 0xde, 0x96,
- 0x7e, 0x89, 0x0d, 0xd2, 0x82, 0xf8, 0x9c, 0x80, 0x3e, 0x21, 0xc1, 0x0d,
- 0xc1, 0xb9, 0x73, 0x94,
- 0x6e, 0x1f, 0xc7, 0x0b, 0xb2, 0x90, 0xb3, 0x94, 0x24, 0x36, 0xcd, 0xc7,
- 0xcd, 0xc9, 0xa9, 0x2b,
- 0x18, 0xdd, 0xaf, 0x54, 0x28, 0x5c, 0xd9, 0x1e, 0x17, 0xfd, 0x0a, 0xaf,
- 0x0a, 0x48, 0xb7, 0x01,
- 0x08, 0x4b, 0x65, 0x8d, 0x18, 0x34, 0xf6, 0x0a, 0x0d, 0xea, 0x06, 0x65,
- 0x06, 0x38, 0x6d, 0xbe,
- 0x38, 0x32, 0xf8, 0x25, 0x48, 0x8c, 0x87, 0x36, 0x23, 0xd3, 0x12, 0xf8,
- 0x12, 0xa8, 0xc0, 0xbc,
- 0x28, 0xa4, 0x32, 0xfc, 0x78, 0xe4, 0xa8, 0x22, 0x39, 0xc4, 0x1e, 0x32,
- 0x1e, 0xd8, 0x1a, 0x03,
- 0x58, 0xc0, 0x01, 0xb6, 0xe8, 0x3f, 0x65, 0x4e, 0x7f, 0xa1, 0x3a, 0x01,
- 0x3a, 0x4b, 0x59, 0xb8,
- 0x48, 0x56, 0xcb, 0x6f, 0xd8, 0x57, 0x4a, 0x5a, 0x65, 0xb6, 0x36, 0xcb,
- 0x36, 0x3b, 0x83, 0x07,
- 0x78, 0x2f, 0x56, 0xc7, 0x88, 0xef, 0x3b, 0x66, 0x4b, 0x8f, 0x22, 0x56,
- 0x22, 0xab, 0x2e, 0x05,
- 0x68, 0xb9, 0x9c, 0x1e, 0xb8, 0x87, 0x14, 0x72, 0x51, 0x98, 0x2e, 0x9c,
- 0x2e, 0xdb, 0xf4, 0xba,
- 0x98, 0xe7, 0x30, 0x53, 0x6b, 0x9a, 0x62, 0xbe, 0xc7, 0x45, 0x6a, 0x30,
- 0x6a, 0x4e, 0xa8, 0xb0,
- 0x88, 0x71, 0xfa, 0x8a, 0x5b, 0xf2, 0x4d, 0xaa, 0xdd, 0x52, 0x66, 0xfa,
- 0x66, 0x3e, 0x72, 0x0f,
- 0xb8, 0x08, 0x67, 0x22, 0x0b, 0x4a, 0x3c, 0x96, 0xf3, 0x6b, 0x72, 0x67,
- 0x72, 0xae, 0xdf, 0x0d,
- 0xa8, 0x9e, 0xad, 0xfb, 0x3b, 0x22, 0x13, 0x82, 0xe9, 0x7c, 0x7e, 0xad,
- 0x7e, 0xde, 0x05, 0xb2,
- 0xd8, 0xfa, 0x9e, 0xb1, 0xab, 0xf9, 0xde, 0xee, 0xaf, 0x19, 0x5a, 0x9e,
- 0x5a, 0x4d, 0x46, 0x09,
- 0xc8, 0x6c, 0x54, 0x68, 0x9b, 0x91, 0xf1, 0xfa, 0xb5, 0x0e, 0x56, 0x54,
- 0x56, 0x3d, 0x9c, 0xb6,
- 0xf8, 0x15, 0xc9, 0xc0, 0xcb, 0x29, 0x80, 0xc6, 0x9b, 0x37, 0x42, 0xc9,
- 0x42, 0xad, 0x31, 0xb4,
- 0xe8, 0x83, 0x03, 0x19, 0xfb, 0x41, 0xaf, 0xd2, 0x81, 0x20, 0x4e, 0x03,
- 0x4e, 0xdd, 0xeb, 0x0b,
- 0xdb, 0xa9, 0x52, 0x5a, 0xae, 0x13, 0x6c, 0x9d, 0x74, 0x4e, 0xca, 0x52,
- 0xca, 0x44, 0x89, 0xa0,
- 0xcb, 0x3f, 0x98, 0x83, 0x9e, 0x7b, 0x43, 0x89, 0x6e, 0x59, 0xc6, 0x98,
- 0xc6, 0x34, 0x53, 0x1f,
- 0xfb, 0x46, 0x05, 0x2b, 0xce, 0xc3, 0x32, 0xb5, 0x40, 0x60, 0xd2, 0x05,
- 0xd2, 0xa4, 0xfe, 0x1d,
- 0xeb, 0xd0, 0xcf, 0xf2, 0xfe, 0xab, 0x1d, 0xa1, 0x5a, 0x77, 0xde, 0xcf,
- 0xde, 0xd4, 0x24, 0xa2,
- 0x9b, 0xb4, 0xfc, 0xb8, 0x6e, 0x70, 0xd0, 0xcd, 0x1c, 0x12, 0xfa, 0xfc,
- 0xfa, 0x47, 0x67, 0x19,
- 0x8b, 0x22, 0x36, 0x61, 0x5e, 0x18, 0xff, 0xd9, 0x06, 0x05, 0xf6, 0x36,
- 0xf6, 0x37, 0xbd, 0xa6,
- 0xbb, 0x5b, 0xab, 0xc9, 0x0e, 0xa0, 0x8e, 0xe5, 0x28, 0x3c, 0xe2, 0xab,
- 0xe2, 0xa7, 0x10, 0xa4,
- 0xab, 0xcd, 0x61, 0x10, 0x3e, 0xc8, 0xa1, 0xf1, 0x32, 0x2b, 0xee, 0x61,
- 0xee, 0xd7, 0xca, 0x1b,
- 0x5b, 0x93, 0xcd, 0x5d, 0xed, 0xd5, 0xd7, 0x3d, 0xa4, 0xf6, 0xaa, 0xcd,
- 0xaa, 0x42, 0x96, 0x11,
- 0x4b, 0x05, 0x07, 0x84, 0xdd, 0xbd, 0xf8, 0x29, 0xbe, 0xe1, 0xa6, 0x07,
- 0xa6, 0x32, 0x4c, 0xae,
- 0x7b, 0x7c, 0x9a, 0x2c, 0x8d, 0x05, 0x89, 0x15, 0x90, 0xd8, 0xb2, 0x9a,
- 0xb2, 0xa2, 0xe1, 0xac,
- 0x6b, 0xea, 0x50, 0xf5, 0xbd, 0x6d, 0xa6, 0x01, 0x8a, 0xcf, 0xbe, 0x50,
- 0xbe, 0xd2, 0x3b, 0x13,
- 0x1b, 0x8e, 0x63, 0xbf, 0x2d, 0xb6, 0x6b, 0x6d, 0xcc, 0xaa, 0x9a, 0x63,
- 0x9a, 0x41, 0x78, 0xa8,
- 0x0b, 0x18, 0xa9, 0x66, 0x1d, 0xde, 0x44, 0x79, 0xd6, 0xbd, 0x96, 0xa9,
- 0x96, 0x31, 0xa2, 0x17,
- 0x3b, 0x61, 0x34, 0xce, 0x4d, 0x66, 0x35, 0x45, 0xf8, 0x84, 0x82, 0x34,
- 0x82, 0xa1, 0x0f, 0x15,
- 0x2b, 0xf7, 0xfe, 0x17, 0x7d, 0x0e, 0x1a, 0x51, 0xe2, 0x93, 0x8e, 0xfe,
- 0x8e, 0xd1, 0xd5, 0xaa,
- },
- { /* 13 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x85, 0x74, 0x75, 0xd0, 0x5e, 0xbe, 0xb8, 0x87, 0x4e, 0x62, 0xec, 0x6b,
- 0x10, 0x87, 0xc6, 0x74,
- 0xc9, 0xe8, 0xea, 0x63, 0xbc, 0xbf, 0xb3, 0xcd, 0x9c, 0xc4, 0x1b, 0xd6,
- 0x20, 0xcd, 0x4f, 0xe8,
- 0x4c, 0x9c, 0x9f, 0xb3, 0xe2, 0x01, 0x0b, 0x4a, 0xd2, 0xa6, 0xf7, 0xbd,
- 0x30, 0x4a, 0x89, 0x9c,
- 0x51, 0x13, 0x17, 0xc6, 0xbb, 0xbd, 0xa5, 0x59, 0xfb, 0x4b, 0x36, 0x6f,
- 0x40, 0x59, 0x9e, 0x13,
- 0xd4, 0x67, 0x62, 0x16, 0xe5, 0x03, 0x1d, 0xde, 0xb5, 0x29, 0xda, 0x04,
- 0x50, 0xde, 0x58, 0x67,
- 0x98, 0xfb, 0xfd, 0xa5, 0x07, 0x02, 0x16, 0x94, 0x67, 0x8f, 0x2d, 0xb9,
- 0x60, 0x94, 0xd1, 0xfb,
- 0x1d, 0x8f, 0x88, 0x75, 0x59, 0xbc, 0xae, 0x13, 0x29, 0xed, 0xc1, 0xd2,
- 0x70, 0x13, 0x17, 0x8f,
- 0xa2, 0x26, 0x2e, 0x4f, 0xb5, 0xb9, 0x89, 0xb2, 0x35, 0x96, 0x6c, 0xde,
- 0x80, 0xb2, 0xff, 0x26,
- 0x27, 0x52, 0x5b, 0x9f, 0xeb, 0x07, 0x31, 0x35, 0x7b, 0xf4, 0x80, 0xb5,
- 0x90, 0x35, 0x39, 0x52,
- 0x6b, 0xce, 0xc4, 0x2c, 0x09, 0x06, 0x3a, 0x7f, 0xa9, 0x52, 0x77, 0x08,
- 0xa0, 0x7f, 0xb0, 0xce,
- 0xee, 0xba, 0xb1, 0xfc, 0x57, 0xb8, 0x82, 0xf8, 0xe7, 0x30, 0x9b, 0x63,
- 0xb0, 0xf8, 0x76, 0xba,
- 0xf3, 0x35, 0x39, 0x89, 0x0e, 0x04, 0x2c, 0xeb, 0xce, 0xdd, 0x5a, 0xb1,
- 0xc0, 0xeb, 0x61, 0x35,
- 0x76, 0x41, 0x4c, 0x59, 0x50, 0xba, 0x94, 0x6c, 0x80, 0xbf, 0xb6, 0xda,
- 0xd0, 0x6c, 0xa7, 0x41,
- 0x3a, 0xdd, 0xd3, 0xea, 0xb2, 0xbb, 0x9f, 0x26, 0x52, 0x19, 0x41, 0x67,
- 0xe0, 0x26, 0x2e, 0xdd,
- 0xbf, 0xa9, 0xa6, 0x3a, 0xec, 0x05, 0x27, 0xa1, 0x1c, 0x7b, 0xad, 0x0c,
- 0xf0, 0xa1, 0xe8, 0xa9,
- 0x87, 0x4c, 0x5c, 0x9e, 0xa9, 0xb1, 0xd1, 0xa7, 0x6a, 0xef, 0xd8, 0x7f,
- 0xc3, 0xa7, 0x3d, 0x4c,
- 0x02, 0x38, 0x29, 0x4e, 0xf7, 0x0f, 0x69, 0x20, 0x24, 0x8d, 0x34, 0x14,
- 0xd3, 0x20, 0xfb, 0x38,
- 0x4e, 0xa4, 0xb6, 0xfd, 0x15, 0x0e, 0x62, 0x6a, 0xf6, 0x2b, 0xc3, 0xa9,
- 0xe3, 0x6a, 0x72, 0xa4,
- 0xcb, 0xd0, 0xc3, 0x2d, 0x4b, 0xb0, 0xda, 0xed, 0xb8, 0x49, 0x2f, 0xc2,
- 0xf3, 0xed, 0xb4, 0xd0,
- 0xd6, 0x5f, 0x4b, 0x58, 0x12, 0x0c, 0x74, 0xfe, 0x91, 0xa4, 0xee, 0x10,
- 0x83, 0xfe, 0xa3, 0x5f,
- 0x53, 0x2b, 0x3e, 0x88, 0x4c, 0xb2, 0xcc, 0x79, 0xdf, 0xc6, 0x02, 0x7b,
- 0x93, 0x79, 0x65, 0x2b,
- 0x1f, 0xb7, 0xa1, 0x3b, 0xae, 0xb3, 0xc7, 0x33, 0x0d, 0x60, 0xf5, 0xc6,
- 0xa3, 0x33, 0xec, 0xb7,
- 0x9a, 0xc3, 0xd4, 0xeb, 0xf0, 0x0d, 0x7f, 0xb4, 0x43, 0x02, 0x19, 0xad,
- 0xb3, 0xb4, 0x2a, 0xc3,
- 0x25, 0x6a, 0x72, 0xd1, 0x1c, 0x08, 0x58, 0x15, 0x5f, 0x79, 0xb4, 0xa1,
- 0x43, 0x15, 0xc2, 0x6a,
- 0xa0, 0x1e, 0x07, 0x01, 0x42, 0xb6, 0xe0, 0x92, 0x11, 0x1b, 0x58, 0xca,
- 0x53, 0x92, 0x04, 0x1e,
- 0xec, 0x82, 0x98, 0xb2, 0xa0, 0xb7, 0xeb, 0xd8, 0xc3, 0xbd, 0xaf, 0x77,
- 0x63, 0xd8, 0x8d, 0x82,
- 0x69, 0xf6, 0xed, 0x62, 0xfe, 0x09, 0x53, 0x5f, 0x8d, 0xdf, 0x43, 0x1c,
- 0x73, 0x5f, 0x4b, 0xf6,
- 0x74, 0x79, 0x65, 0x17, 0xa7, 0xb5, 0xfd, 0x4c, 0xa4, 0x32, 0x82, 0xce,
- 0x03, 0x4c, 0x5c, 0x79,
- 0xf1, 0x0d, 0x10, 0xc7, 0xf9, 0x0b, 0x45, 0xcb, 0xea, 0x50, 0x6e, 0xa5,
- 0x13, 0xcb, 0x9a, 0x0d,
- 0xbd, 0x91, 0x8f, 0x74, 0x1b, 0x0a, 0x4e, 0x81, 0x38, 0xf6, 0x99, 0x18,
- 0x23, 0x81, 0x13, 0x91,
- 0x38, 0xe5, 0xfa, 0xa4, 0x45, 0xb4, 0xf6, 0x06, 0x76, 0x94, 0x75, 0x73,
- 0x33, 0x06, 0xd5, 0xe5,
- 0xcd, 0x98, 0xb8, 0xff, 0x91, 0xa1, 0x61, 0x8d, 0xd4, 0x1d, 0x73, 0xfe,
- 0x45, 0x8d, 0x7a, 0x98,
- 0x48, 0xec, 0xcd, 0x2f, 0xcf, 0x1f, 0xd9, 0x0a, 0x9a, 0x7f, 0x9f, 0x95,
- 0x55, 0x0a, 0xbc, 0xec,
- 0x04, 0x70, 0x52, 0x9c, 0x2d, 0x1e, 0xd2, 0x40, 0x48, 0xd9, 0x68, 0x28,
- 0x65, 0x40, 0x35, 0x70,
- 0x81, 0x04, 0x27, 0x4c, 0x73, 0xa0, 0x6a, 0xc7, 0x06, 0xbb, 0x84, 0x43,
- 0x75, 0xc7, 0xf3, 0x04,
- 0x9c, 0x8b, 0xaf, 0x39, 0x2a, 0x1c, 0xc4, 0xd4, 0x2f, 0x56, 0x45, 0x91,
- 0x05, 0xd4, 0xe4, 0x8b,
- 0x19, 0xff, 0xda, 0xe9, 0x74, 0xa2, 0x7c, 0x53, 0x61, 0x34, 0xa9, 0xfa,
- 0x15, 0x53, 0x22, 0xff,
- 0x55, 0x63, 0x45, 0x5a, 0x96, 0xa3, 0x77, 0x19, 0xb3, 0x92, 0x5e, 0x47,
- 0x25, 0x19, 0xab, 0x63,
- 0xd0, 0x17, 0x30, 0x8a, 0xc8, 0x1d, 0xcf, 0x9e, 0xfd, 0xf0, 0xb2, 0x2c,
- 0x35, 0x9e, 0x6d, 0x17,
- 0x6f, 0xbe, 0x96, 0xb0, 0x24, 0x18, 0xe8, 0x3f, 0xe1, 0x8b, 0x1f, 0x20,
- 0xc5, 0x3f, 0x85, 0xbe,
- 0xea, 0xca, 0xe3, 0x60, 0x7a, 0xa6, 0x50, 0xb8, 0xaf, 0xe9, 0xf3, 0x4b,
- 0xd5, 0xb8, 0x43, 0xca,
- 0xa6, 0x56, 0x7c, 0xd3, 0x98, 0xa7, 0x5b, 0xf2, 0x7d, 0x4f, 0x04, 0xf6,
- 0xe5, 0xf2, 0xca, 0x56,
- 0x23, 0x22, 0x09, 0x03, 0xc6, 0x19, 0xe3, 0x75, 0x33, 0x2d, 0xe8, 0x9d,
- 0xf5, 0x75, 0x0c, 0x22,
- 0x3e, 0xad, 0x81, 0x76, 0x9f, 0xa5, 0x4d, 0x66, 0x1a, 0xc0, 0x29, 0x4f,
- 0x85, 0x66, 0x1b, 0xad,
- 0xbb, 0xd9, 0xf4, 0xa6, 0xc1, 0x1b, 0xf5, 0xe1, 0x54, 0xa2, 0xc5, 0x24,
- 0x95, 0xe1, 0xdd, 0xd9,
- 0xf7, 0x45, 0x6b, 0x15, 0x23, 0x1a, 0xfe, 0xab, 0x86, 0x04, 0x32, 0x99,
- 0xa5, 0xab, 0x54, 0x45,
- 0x72, 0x31, 0x1e, 0xc5, 0x7d, 0xa4, 0x46, 0x2c, 0xc8, 0x66, 0xde, 0xf2,
- 0xb5, 0x2c, 0x92, 0x31,
- 0x4a, 0xd4, 0xe4, 0x61, 0x38, 0x10, 0xb0, 0x2a, 0xbe, 0xf2, 0xab, 0x81,
- 0x86, 0x2a, 0x47, 0xd4,
- 0xcf, 0xa0, 0x91, 0xb1, 0x66, 0xae, 0x08, 0xad, 0xf0, 0x90, 0x47, 0xea,
- 0x96, 0xad, 0x81, 0xa0,
- 0x83, 0x3c, 0x0e, 0x02, 0x84, 0xaf, 0x03, 0xe7, 0x22, 0x36, 0xb0, 0x57,
- 0xa6, 0xe7, 0x08, 0x3c,
- 0x06, 0x48, 0x7b, 0xd2, 0xda, 0x11, 0xbb, 0x60, 0x6c, 0x54, 0x5c, 0x3c,
- 0xb6, 0x60, 0xce, 0x48,
- 0x1b, 0xc7, 0xf3, 0xa7, 0x83, 0xad, 0x15, 0x73, 0x45, 0xb9, 0x9d, 0xee,
- 0xc6, 0x73, 0xd9, 0xc7,
- 0x9e, 0xb3, 0x86, 0x77, 0xdd, 0x13, 0xad, 0xf4, 0x0b, 0xdb, 0x71, 0x85,
- 0xd6, 0xf4, 0x1f, 0xb3,
- 0xd2, 0x2f, 0x19, 0xc4, 0x3f, 0x12, 0xa6, 0xbe, 0xd9, 0x7d, 0x86, 0x38,
- 0xe6, 0xbe, 0x96, 0x2f,
- 0x57, 0x5b, 0x6c, 0x14, 0x61, 0xac, 0x1e, 0x39, 0x97, 0x1f, 0x6a, 0x53,
- 0xf6, 0x39, 0x50, 0x5b,
- 0xe8, 0xf2, 0xca, 0x2e, 0x8d, 0xa9, 0x39, 0x98, 0x8b, 0x64, 0xc7, 0x5f,
- 0x06, 0x98, 0xb8, 0xf2,
- 0x6d, 0x86, 0xbf, 0xfe, 0xd3, 0x17, 0x81, 0x1f, 0xc5, 0x06, 0x2b, 0x34,
- 0x16, 0x1f, 0x7e, 0x86,
- 0x21, 0x1a, 0x20, 0x4d, 0x31, 0x16, 0x8a, 0x55, 0x17, 0xa0, 0xdc, 0x89,
- 0x26, 0x55, 0xf7, 0x1a,
- 0xa4, 0x6e, 0x55, 0x9d, 0x6f, 0xa8, 0x32, 0xd2, 0x59, 0xc2, 0x30, 0xe2,
- 0x36, 0xd2, 0x31, 0x6e,
- 0xb9, 0xe1, 0xdd, 0xe8, 0x36, 0x14, 0x9c, 0xc1, 0x70, 0x2f, 0xf1, 0x30,
- 0x46, 0xc1, 0x26, 0xe1,
- 0x3c, 0x95, 0xa8, 0x38, 0x68, 0xaa, 0x24, 0x46, 0x3e, 0x4d, 0x1d, 0x5b,
- 0x56, 0x46, 0xe0, 0x95,
- 0x70, 0x09, 0x37, 0x8b, 0x8a, 0xab, 0x2f, 0x0c, 0xec, 0xeb, 0xea, 0xe6,
- 0x66, 0x0c, 0x69, 0x09,
- 0xf5, 0x7d, 0x42, 0x5b, 0xd4, 0x15, 0x97, 0x8b, 0xa2, 0x89, 0x06, 0x8d,
- 0x76, 0x8b, 0xaf, 0x7d,
- 0x59, 0xf3, 0xb3, 0x3d, 0xe1, 0x81, 0xc2, 0xd9, 0x6b, 0x3a, 0xe6, 0x3f,
- 0x8a, 0xd9, 0xf4, 0xf3,
- 0xdc, 0x87, 0xc6, 0xed, 0xbf, 0x3f, 0x7a, 0x5e, 0x25, 0x58, 0x0a, 0x54,
- 0x9a, 0x5e, 0x32, 0x87,
- 0x90, 0x1b, 0x59, 0x5e, 0x5d, 0x3e, 0x71, 0x14, 0xf7, 0xfe, 0xfd, 0xe9,
- 0xaa, 0x14, 0xbb, 0x1b,
- 0x15, 0x6f, 0x2c, 0x8e, 0x03, 0x80, 0xc9, 0x93, 0xb9, 0x9c, 0x11, 0x82,
- 0xba, 0x93, 0x7d, 0x6f,
- 0x08, 0xe0, 0xa4, 0xfb, 0x5a, 0x3c, 0x67, 0x80, 0x90, 0x71, 0xd0, 0x50,
- 0xca, 0x80, 0x6a, 0xe0,
- 0x8d, 0x94, 0xd1, 0x2b, 0x04, 0x82, 0xdf, 0x07, 0xde, 0x13, 0x3c, 0x3b,
- 0xda, 0x07, 0xac, 0x94,
- 0xc1, 0x08, 0x4e, 0x98, 0xe6, 0x83, 0xd4, 0x4d, 0x0c, 0xb5, 0xcb, 0x86,
- 0xea, 0x4d, 0x25, 0x08,
- 0x44, 0x7c, 0x3b, 0x48, 0xb8, 0x3d, 0x6c, 0xca, 0x42, 0xd7, 0x27, 0xed,
- 0xfa, 0xca, 0xe3, 0x7c,
- 0xfb, 0xd5, 0x9d, 0x72, 0x54, 0x38, 0x4b, 0x6b, 0x5e, 0xac, 0x8a, 0xe1,
- 0x0a, 0x6b, 0x0b, 0xd5,
- 0x7e, 0xa1, 0xe8, 0xa2, 0x0a, 0x86, 0xf3, 0xec, 0x10, 0xce, 0x66, 0x8a,
- 0x1a, 0xec, 0xcd, 0xa1,
- 0x32, 0x3d, 0x77, 0x11, 0xe8, 0x87, 0xf8, 0xa6, 0xc2, 0x68, 0x91, 0x37,
- 0x2a, 0xa6, 0x44, 0x3d,
- 0xb7, 0x49, 0x02, 0xc1, 0xb6, 0x39, 0x40, 0x21, 0x8c, 0x0a, 0x7d, 0x5c,
- 0x3a, 0x21, 0x82, 0x49,
- 0xaa, 0xc6, 0x8a, 0xb4, 0xef, 0x85, 0xee, 0x32, 0xa5, 0xe7, 0xbc, 0x8e,
- 0x4a, 0x32, 0x95, 0xc6,
- 0x2f, 0xb2, 0xff, 0x64, 0xb1, 0x3b, 0x56, 0xb5, 0xeb, 0x85, 0x50, 0xe5,
- 0x5a, 0xb5, 0x53, 0xb2,
- 0x63, 0x2e, 0x60, 0xd7, 0x53, 0x3a, 0x5d, 0xff, 0x39, 0x23, 0xa7, 0x58,
- 0x6a, 0xff, 0xda, 0x2e,
- 0xe6, 0x5a, 0x15, 0x07, 0x0d, 0x84, 0xe5, 0x78, 0x77, 0x41, 0x4b, 0x33,
- 0x7a, 0x78, 0x1c, 0x5a,
- 0xde, 0xbf, 0xef, 0xa3, 0x48, 0x30, 0x13, 0x7e, 0x01, 0xd5, 0x3e, 0x40,
- 0x49, 0x7e, 0xc9, 0xbf,
- 0x5b, 0xcb, 0x9a, 0x73, 0x16, 0x8e, 0xab, 0xf9, 0x4f, 0xb7, 0xd2, 0x2b,
- 0x59, 0xf9, 0x0f, 0xcb,
- 0x17, 0x57, 0x05, 0xc0, 0xf4, 0x8f, 0xa0, 0xb3, 0x9d, 0x11, 0x25, 0x96,
- 0x69, 0xb3, 0x86, 0x57,
- 0x92, 0x23, 0x70, 0x10, 0xaa, 0x31, 0x18, 0x34, 0xd3, 0x73, 0xc9, 0xfd,
- 0x79, 0x34, 0x40, 0x23,
- 0x8f, 0xac, 0xf8, 0x65, 0xf3, 0x8d, 0xb6, 0x27, 0xfa, 0x9e, 0x08, 0x2f,
- 0x09, 0x27, 0x57, 0xac,
- 0x0a, 0xd8, 0x8d, 0xb5, 0xad, 0x33, 0x0e, 0xa0, 0xb4, 0xfc, 0xe4, 0x44,
- 0x19, 0xa0, 0x91, 0xd8,
- 0x46, 0x44, 0x12, 0x06, 0x4f, 0x32, 0x05, 0xea, 0x66, 0x5a, 0x13, 0xf9,
- 0x29, 0xea, 0x18, 0x44,
- 0xc3, 0x30, 0x67, 0xd6, 0x11, 0x8c, 0xbd, 0x6d, 0x28, 0x38, 0xff, 0x92,
- 0x39, 0x6d, 0xde, 0x30,
- 0x7c, 0x99, 0xc1, 0xec, 0xfd, 0x89, 0x9a, 0xcc, 0x34, 0x43, 0x52, 0x9e,
- 0xc9, 0xcc, 0x36, 0x99,
- 0xf9, 0xed, 0xb4, 0x3c, 0xa3, 0x37, 0x22, 0x4b, 0x7a, 0x21, 0xbe, 0xf5,
- 0xd9, 0x4b, 0xf0, 0xed,
- 0xb5, 0x71, 0x2b, 0x8f, 0x41, 0x36, 0x29, 0x01, 0xa8, 0x87, 0x49, 0x48,
- 0xe9, 0x01, 0x79, 0x71,
- 0x30, 0x05, 0x5e, 0x5f, 0x1f, 0x88, 0x91, 0x86, 0xe6, 0xe5, 0xa5, 0x23,
- 0xf9, 0x86, 0xbf, 0x05,
- 0x2d, 0x8a, 0xd6, 0x2a, 0x46, 0x34, 0x3f, 0x95, 0xcf, 0x08, 0x64, 0xf1,
- 0x89, 0x95, 0xa8, 0x8a,
- 0xa8, 0xfe, 0xa3, 0xfa, 0x18, 0x8a, 0x87, 0x12, 0x81, 0x6a, 0x88, 0x9a,
- 0x99, 0x12, 0x6e, 0xfe,
- 0xe4, 0x62, 0x3c, 0x49, 0xfa, 0x8b, 0x8c, 0x58, 0x53, 0xcc, 0x7f, 0x27,
- 0xa9, 0x58, 0xe7, 0x62,
- 0x61, 0x16, 0x49, 0x99, 0xa4, 0x35, 0x34, 0xdf, 0x1d, 0xae, 0x93, 0x4c,
- 0xb9, 0xdf, 0x21, 0x16,
- 0x94, 0x6b, 0x0b, 0xc2, 0x70, 0x20, 0xa3, 0x54, 0xbf, 0x27, 0x95, 0xc1,
- 0xcf, 0x54, 0x8e, 0x6b,
- 0x11, 0x1f, 0x7e, 0x12, 0x2e, 0x9e, 0x1b, 0xd3, 0xf1, 0x45, 0x79, 0xaa,
- 0xdf, 0xd3, 0x48, 0x1f,
- 0x5d, 0x83, 0xe1, 0xa1, 0xcc, 0x9f, 0x10, 0x99, 0x23, 0xe3, 0x8e, 0x17,
- 0xef, 0x99, 0xc1, 0x83,
- 0xd8, 0xf7, 0x94, 0x71, 0x92, 0x21, 0xa8, 0x1e, 0x6d, 0x81, 0x62, 0x7c,
- 0xff, 0x1e, 0x07, 0xf7,
- 0xc5, 0x78, 0x1c, 0x04, 0xcb, 0x9d, 0x06, 0x0d, 0x44, 0x6c, 0xa3, 0xae,
- 0x8f, 0x0d, 0x10, 0x78,
- 0x40, 0x0c, 0x69, 0xd4, 0x95, 0x23, 0xbe, 0x8a, 0x0a, 0x0e, 0x4f, 0xc5,
- 0x9f, 0x8a, 0xd6, 0x0c,
- 0x0c, 0x90, 0xf6, 0x67, 0x77, 0x22, 0xb5, 0xc0, 0xd8, 0xa8, 0xb8, 0x78,
- 0xaf, 0xc0, 0x5f, 0x90,
- 0x89, 0xe4, 0x83, 0xb7, 0x29, 0x9c, 0x0d, 0x47, 0x96, 0xca, 0x54, 0x13,
- 0xbf, 0x47, 0x99, 0xe4,
- 0x36, 0x4d, 0x25, 0x8d, 0xc5, 0x99, 0x2a, 0xe6, 0x8a, 0xb1, 0xf9, 0x1f,
- 0x4f, 0xe6, 0x71, 0x4d,
- 0xb3, 0x39, 0x50, 0x5d, 0x9b, 0x27, 0x92, 0x61, 0xc4, 0xd3, 0x15, 0x74,
- 0x5f, 0x61, 0xb7, 0x39,
- 0xff, 0xa5, 0xcf, 0xee, 0x79, 0x26, 0x99, 0x2b, 0x16, 0x75, 0xe2, 0xc9,
- 0x6f, 0x2b, 0x3e, 0xa5,
- 0x7a, 0xd1, 0xba, 0x3e, 0x27, 0x98, 0x21, 0xac, 0x58, 0x17, 0x0e, 0xa2,
- 0x7f, 0xac, 0xf8, 0xd1,
- 0x67, 0x5e, 0x32, 0x4b, 0x7e, 0x24, 0x8f, 0xbf, 0x71, 0xfa, 0xcf, 0x70,
- 0x0f, 0xbf, 0xef, 0x5e,
- 0xe2, 0x2a, 0x47, 0x9b, 0x20, 0x9a, 0x37, 0x38, 0x3f, 0x98, 0x23, 0x1b,
- 0x1f, 0x38, 0x29, 0x2a,
- 0xae, 0xb6, 0xd8, 0x28, 0xc2, 0x9b, 0x3c, 0x72, 0xed, 0x3e, 0xd4, 0xa6,
- 0x2f, 0x72, 0xa0, 0xb6,
- 0x2b, 0xc2, 0xad, 0xf8, 0x9c, 0x25, 0x84, 0xf5, 0xa3, 0x5c, 0x38, 0xcd,
- 0x3f, 0xf5, 0x66, 0xc2,
- 0x13, 0x27, 0x57, 0x5c, 0xd9, 0x91, 0x72, 0xf3, 0xd5, 0xc8, 0x4d, 0xbe,
- 0x0c, 0xf3, 0xb3, 0x27,
- 0x96, 0x53, 0x22, 0x8c, 0x87, 0x2f, 0xca, 0x74, 0x9b, 0xaa, 0xa1, 0xd5,
- 0x1c, 0x74, 0x75, 0x53,
- 0xda, 0xcf, 0xbd, 0x3f, 0x65, 0x2e, 0xc1, 0x3e, 0x49, 0x0c, 0x56, 0x68,
- 0x2c, 0x3e, 0xfc, 0xcf,
- 0x5f, 0xbb, 0xc8, 0xef, 0x3b, 0x90, 0x79, 0xb9, 0x07, 0x6e, 0xba, 0x03,
- 0x3c, 0xb9, 0x3a, 0xbb,
- 0x42, 0x34, 0x40, 0x9a, 0x62, 0x2c, 0xd7, 0xaa, 0x2e, 0x83, 0x7b, 0xd1,
- 0x4c, 0xaa, 0x2d, 0x34,
- 0xc7, 0x40, 0x35, 0x4a, 0x3c, 0x92, 0x6f, 0x2d, 0x60, 0xe1, 0x97, 0xba,
- 0x5c, 0x2d, 0xeb, 0x40,
- 0x8b, 0xdc, 0xaa, 0xf9, 0xde, 0x93, 0x64, 0x67, 0xb2, 0x47, 0x60, 0x07,
- 0x6c, 0x67, 0x62, 0xdc,
- 0x0e, 0xa8, 0xdf, 0x29, 0x80, 0x2d, 0xdc, 0xe0, 0xfc, 0x25, 0x8c, 0x6c,
- 0x7c, 0xe0, 0xa4, 0xa8,
- 0xb1, 0x01, 0x79, 0x13, 0x6c, 0x28, 0xfb, 0x41, 0xe0, 0x5e, 0x21, 0x60,
- 0x8c, 0x41, 0x4c, 0x01,
- 0x34, 0x75, 0x0c, 0xc3, 0x32, 0x96, 0x43, 0xc6, 0xae, 0x3c, 0xcd, 0x0b,
- 0x9c, 0xc6, 0x8a, 0x75,
- 0x78, 0xe9, 0x93, 0x70, 0xd0, 0x97, 0x48, 0x8c, 0x7c, 0x9a, 0x3a, 0xb6,
- 0xac, 0x8c, 0x03, 0xe9,
- 0xfd, 0x9d, 0xe6, 0xa0, 0x8e, 0x29, 0xf0, 0x0b, 0x32, 0xf8, 0xd6, 0xdd,
- 0xbc, 0x0b, 0xc5, 0x9d,
- 0xe0, 0x12, 0x6e, 0xd5, 0xd7, 0x95, 0x5e, 0x18, 0x1b, 0x15, 0x17, 0x0f,
- 0xcc, 0x18, 0xd2, 0x12,
- 0x65, 0x66, 0x1b, 0x05, 0x89, 0x2b, 0xe6, 0x9f, 0x55, 0x77, 0xfb, 0x64,
- 0xdc, 0x9f, 0x14, 0x66,
- 0x29, 0xfa, 0x84, 0xb6, 0x6b, 0x2a, 0xed, 0xd5, 0x87, 0xd1, 0x0c, 0xd9,
- 0xec, 0xd5, 0x9d, 0xfa,
- 0xac, 0x8e, 0xf1, 0x66, 0x35, 0x94, 0x55, 0x52, 0xc9, 0xb3, 0xe0, 0xb2,
- 0xfc, 0x52, 0x5b, 0x8e,
- 0xb2, 0x25, 0xa5, 0x7a, 0x01, 0xc1, 0x47, 0x71, 0xd6, 0x74, 0x0f, 0x7e,
- 0xd7, 0x71, 0x2b, 0x25,
- 0x37, 0x51, 0xd0, 0xaa, 0x5f, 0x7f, 0xff, 0xf6, 0x98, 0x16, 0xe3, 0x15,
- 0xc7, 0xf6, 0xed, 0x51,
- 0x7b, 0xcd, 0x4f, 0x19, 0xbd, 0x7e, 0xf4, 0xbc, 0x4a, 0xb0, 0x14, 0xa8,
- 0xf7, 0xbc, 0x64, 0xcd,
- 0xfe, 0xb9, 0x3a, 0xc9, 0xe3, 0xc0, 0x4c, 0x3b, 0x04, 0xd2, 0xf8, 0xc3,
- 0xe7, 0x3b, 0xa2, 0xb9,
- 0xe3, 0x36, 0xb2, 0xbc, 0xba, 0x7c, 0xe2, 0x28, 0x2d, 0x3f, 0x39, 0x11,
- 0x97, 0x28, 0xb5, 0x36,
- 0x66, 0x42, 0xc7, 0x6c, 0xe4, 0xc2, 0x5a, 0xaf, 0x63, 0x5d, 0xd5, 0x7a,
- 0x87, 0xaf, 0x73, 0x42,
- 0x2a, 0xde, 0x58, 0xdf, 0x06, 0xc3, 0x51, 0xe5, 0xb1, 0xfb, 0x22, 0xc7,
- 0xb7, 0xe5, 0xfa, 0xde,
- 0xaf, 0xaa, 0x2d, 0x0f, 0x58, 0x7d, 0xe9, 0x62, 0xff, 0x99, 0xce, 0xac,
- 0xa7, 0x62, 0x3c, 0xaa,
- 0x10, 0x03, 0x8b, 0x35, 0xb4, 0x78, 0xce, 0xc3, 0xe3, 0xe2, 0x63, 0xa0,
- 0x57, 0xc3, 0xd4, 0x03,
- 0x95, 0x77, 0xfe, 0xe5, 0xea, 0xc6, 0x76, 0x44, 0xad, 0x80, 0x8f, 0xcb,
- 0x47, 0x44, 0x12, 0x77,
- 0xd9, 0xeb, 0x61, 0x56, 0x08, 0xc7, 0x7d, 0x0e, 0x7f, 0x26, 0x78, 0x76,
- 0x77, 0x0e, 0x9b, 0xeb,
- 0x5c, 0x9f, 0x14, 0x86, 0x56, 0x79, 0xc5, 0x89, 0x31, 0x44, 0x94, 0x1d,
- 0x67, 0x89, 0x5d, 0x9f,
- 0x41, 0x10, 0x9c, 0xf3, 0x0f, 0xc5, 0x6b, 0x9a, 0x18, 0xa9, 0x55, 0xcf,
- 0x17, 0x9a, 0x4a, 0x10,
- 0xc4, 0x64, 0xe9, 0x23, 0x51, 0x7b, 0xd3, 0x1d, 0x56, 0xcb, 0xb9, 0xa4,
- 0x07, 0x1d, 0x8c, 0x64,
- 0x88, 0xf8, 0x76, 0x90, 0xb3, 0x7a, 0xd8, 0x57, 0x84, 0x6d, 0x4e, 0x19,
- 0x37, 0x57, 0x05, 0xf8,
- 0x0d, 0x8c, 0x03, 0x40, 0xed, 0xc4, 0x60, 0xd0, 0xca, 0x0f, 0xa2, 0x72,
- 0x27, 0xd0, 0xc3, 0x8c,
- 0x35, 0x69, 0xf9, 0xe4, 0xa8, 0x70, 0x96, 0xd6, 0xbc, 0x9b, 0xd7, 0x01,
- 0x14, 0xd6, 0x16, 0x69,
- 0xb0, 0x1d, 0x8c, 0x34, 0xf6, 0xce, 0x2e, 0x51, 0xf2, 0xf9, 0x3b, 0x6a,
- 0x04, 0x51, 0xd0, 0x1d,
- 0xfc, 0x81, 0x13, 0x87, 0x14, 0xcf, 0x25, 0x1b, 0x20, 0x5f, 0xcc, 0xd7,
- 0x34, 0x1b, 0x59, 0x81,
- 0x79, 0xf5, 0x66, 0x57, 0x4a, 0x71, 0x9d, 0x9c, 0x6e, 0x3d, 0x20, 0xbc,
- 0x24, 0x9c, 0x9f, 0xf5,
- 0x64, 0x7a, 0xee, 0x22, 0x13, 0xcd, 0x33, 0x8f, 0x47, 0xd0, 0xe1, 0x6e,
- 0x54, 0x8f, 0x88, 0x7a,
- 0xe1, 0x0e, 0x9b, 0xf2, 0x4d, 0x73, 0x8b, 0x08, 0x09, 0xb2, 0x0d, 0x05,
- 0x44, 0x08, 0x4e, 0x0e,
- 0xad, 0x92, 0x04, 0x41, 0xaf, 0x72, 0x80, 0x42, 0xdb, 0x14, 0xfa, 0xb8,
- 0x74, 0x42, 0xc7, 0x92,
- 0x28, 0xe6, 0x71, 0x91, 0xf1, 0xcc, 0x38, 0xc5, 0x95, 0x76, 0x16, 0xd3,
- 0x64, 0xc5, 0x01, 0xe6,
- 0x97, 0x4f, 0xd7, 0xab, 0x1d, 0xc9, 0x1f, 0x64, 0x89, 0x0d, 0xbb, 0xdf,
- 0x94, 0x64, 0xe9, 0x4f,
- 0x12, 0x3b, 0xa2, 0x7b, 0x43, 0x77, 0xa7, 0xe3, 0xc7, 0x6f, 0x57, 0xb4,
- 0x84, 0xe3, 0x2f, 0x3b,
- 0x5e, 0xa7, 0x3d, 0xc8, 0xa1, 0x76, 0xac, 0xa9, 0x15, 0xc9, 0xa0, 0x09,
- 0xb4, 0xa9, 0xa6, 0xa7,
- 0xdb, 0xd3, 0x48, 0x18, 0xff, 0xc8, 0x14, 0x2e, 0x5b, 0xab, 0x4c, 0x62,
- 0xa4, 0x2e, 0x60, 0xd3,
- 0xc6, 0x5c, 0xc0, 0x6d, 0xa6, 0x74, 0xba, 0x3d, 0x72, 0x46, 0x8d, 0xb0,
- 0xd4, 0x3d, 0x77, 0x5c,
- 0x43, 0x28, 0xb5, 0xbd, 0xf8, 0xca, 0x02, 0xba, 0x3c, 0x24, 0x61, 0xdb,
- 0xc4, 0xba, 0xb1, 0x28,
- 0x0f, 0xb4, 0x2a, 0x0e, 0x1a, 0xcb, 0x09, 0xf0, 0xee, 0x82, 0x96, 0x66,
- 0xf4, 0xf0, 0x38, 0xb4,
- 0x8a, 0xc0, 0x5f, 0xde, 0x44, 0x75, 0xb1, 0x77, 0xa0, 0xe0, 0x7a, 0x0d,
- 0xe4, 0x77, 0xfe, 0xc0,
- 0x7f, 0xbd, 0x1d, 0x85, 0x90, 0x60, 0x26, 0xfc, 0x02, 0x69, 0x7c, 0x80,
- 0x92, 0xfc, 0x51, 0xbd,
- 0xfa, 0xc9, 0x68, 0x55, 0xce, 0xde, 0x9e, 0x7b, 0x4c, 0x0b, 0x90, 0xeb,
- 0x82, 0x7b, 0x97, 0xc9,
- 0xb6, 0x55, 0xf7, 0xe6, 0x2c, 0xdf, 0x95, 0x31, 0x9e, 0xad, 0x67, 0x56,
- 0xb2, 0x31, 0x1e, 0x55,
- 0x33, 0x21, 0x82, 0x36, 0x72, 0x61, 0x2d, 0xb6, 0xd0, 0xcf, 0x8b, 0x3d,
- 0xa2, 0xb6, 0xd8, 0x21,
- 0x2e, 0xae, 0x0a, 0x43, 0x2b, 0xdd, 0x83, 0xa5, 0xf9, 0x22, 0x4a, 0xef,
- 0xd2, 0xa5, 0xcf, 0xae,
- 0xab, 0xda, 0x7f, 0x93, 0x75, 0x63, 0x3b, 0x22, 0xb7, 0x40, 0xa6, 0x84,
- 0xc2, 0x22, 0x09, 0xda,
- 0xe7, 0x46, 0xe0, 0x20, 0x97, 0x62, 0x30, 0x68, 0x65, 0xe6, 0x51, 0x39,
- 0xf2, 0x68, 0x80, 0x46,
- 0x62, 0x32, 0x95, 0xf0, 0xc9, 0xdc, 0x88, 0xef, 0x2b, 0x84, 0xbd, 0x52,
- 0xe2, 0xef, 0x46, 0x32,
- 0xdd, 0x9b, 0x33, 0xca, 0x25, 0xd9, 0xaf, 0x4e, 0x37, 0xff, 0x10, 0x5e,
- 0x12, 0x4e, 0xae, 0x9b,
- 0x58, 0xef, 0x46, 0x1a, 0x7b, 0x67, 0x17, 0xc9, 0x79, 0x9d, 0xfc, 0x35,
- 0x02, 0xc9, 0x68, 0xef,
- 0x14, 0x73, 0xd9, 0xa9, 0x99, 0x66, 0x1c, 0x83, 0xab, 0x3b, 0x0b, 0x88,
- 0x32, 0x83, 0xe1, 0x73,
- 0x91, 0x07, 0xac, 0x79, 0xc7, 0xd8, 0xa4, 0x04, 0xe5, 0x59, 0xe7, 0xe3,
- 0x22, 0x04, 0x27, 0x07,
- 0x8c, 0x88, 0x24, 0x0c, 0x9e, 0x64, 0x0a, 0x17, 0xcc, 0xb4, 0x26, 0x31,
- 0x52, 0x17, 0x30, 0x88,
- 0x09, 0xfc, 0x51, 0xdc, 0xc0, 0xda, 0xb2, 0x90, 0x82, 0xd6, 0xca, 0x5a,
- 0x42, 0x90, 0xf6, 0xfc,
- 0x45, 0x60, 0xce, 0x6f, 0x22, 0xdb, 0xb9, 0xda, 0x50, 0x70, 0x3d, 0xe7,
- 0x72, 0xda, 0x7f, 0x60,
- 0xc0, 0x14, 0xbb, 0xbf, 0x7c, 0x65, 0x01, 0x5d, 0x1e, 0x12, 0xd1, 0x8c,
- 0x62, 0x5d, 0xb9, 0x14,
- 0xf8, 0xf1, 0x41, 0x1b, 0x39, 0xd1, 0xf7, 0x5b, 0x68, 0x86, 0xa4, 0xff,
- 0x51, 0x5b, 0x6c, 0xf1,
- 0x7d, 0x85, 0x34, 0xcb, 0x67, 0x6f, 0x4f, 0xdc, 0x26, 0xe4, 0x48, 0x94,
- 0x41, 0xdc, 0xaa, 0x85,
- 0x31, 0x19, 0xab, 0x78, 0x85, 0x6e, 0x44, 0x96, 0xf4, 0x42, 0xbf, 0x29,
- 0x71, 0x96, 0x23, 0x19,
- 0xb4, 0x6d, 0xde, 0xa8, 0xdb, 0xd0, 0xfc, 0x11, 0xba, 0x20, 0x53, 0x42,
- 0x61, 0x11, 0xe5, 0x6d,
- 0xa9, 0xe2, 0x56, 0xdd, 0x82, 0x6c, 0x52, 0x02, 0x93, 0xcd, 0x92, 0x90,
- 0x11, 0x02, 0xf2, 0xe2,
- 0x2c, 0x96, 0x23, 0x0d, 0xdc, 0xd2, 0xea, 0x85, 0xdd, 0xaf, 0x7e, 0xfb,
- 0x01, 0x85, 0x34, 0x96,
- 0x60, 0x0a, 0xbc, 0xbe, 0x3e, 0xd3, 0xe1, 0xcf, 0x0f, 0x09, 0x89, 0x46,
- 0x31, 0xcf, 0xbd, 0x0a,
- 0xe5, 0x7e, 0xc9, 0x6e, 0x60, 0x6d, 0x59, 0x48, 0x41, 0x6b, 0x65, 0x2d,
- 0x21, 0x48, 0x7b, 0x7e,
- 0x5a, 0xd7, 0x6f, 0x54, 0x8c, 0x68, 0x7e, 0xe9, 0x5d, 0x10, 0xc8, 0x21,
- 0xd1, 0xe9, 0x93, 0xd7,
- 0xdf, 0xa3, 0x1a, 0x84, 0xd2, 0xd6, 0xc6, 0x6e, 0x13, 0x72, 0x24, 0x4a,
- 0xc1, 0x6e, 0x55, 0xa3,
- 0x93, 0x3f, 0x85, 0x37, 0x30, 0xd7, 0xcd, 0x24, 0xc1, 0xd4, 0xd3, 0xf7,
- 0xf1, 0x24, 0xdc, 0x3f,
- 0x16, 0x4b, 0xf0, 0xe7, 0x6e, 0x69, 0x75, 0xa3, 0x8f, 0xb6, 0x3f, 0x9c,
- 0xe1, 0xa3, 0x1a, 0x4b,
- 0x0b, 0xc4, 0x78, 0x92, 0x37, 0xd5, 0xdb, 0xb0, 0xa6, 0x5b, 0xfe, 0x4e,
- 0x91, 0xb0, 0x0d, 0xc4,
- 0x8e, 0xb0, 0x0d, 0x42, 0x69, 0x6b, 0x63, 0x37, 0xe8, 0x39, 0x12, 0x25,
- 0x81, 0x37, 0xcb, 0xb0,
- 0xc2, 0x2c, 0x92, 0xf1, 0x8b, 0x6a, 0x68, 0x7d, 0x3a, 0x9f, 0xe5, 0x98,
- 0xb1, 0x7d, 0x42, 0x2c,
- 0x47, 0x58, 0xe7, 0x21, 0xd5, 0xd4, 0xd0, 0xfa, 0x74, 0xfd, 0x09, 0xf3,
- 0xa1, 0xfa, 0x84, 0x58,
- 0xeb, 0xd6, 0x16, 0x47, 0xe0, 0x40, 0x85, 0xa8, 0xbd, 0x4e, 0xe9, 0x41,
- 0x5d, 0xa8, 0xdf, 0xd6,
- 0x6e, 0xa2, 0x63, 0x97, 0xbe, 0xfe, 0x3d, 0x2f, 0xf3, 0x2c, 0x05, 0x2a,
- 0x4d, 0x2f, 0x19, 0xa2,
- 0x22, 0x3e, 0xfc, 0x24, 0x5c, 0xff, 0x36, 0x65, 0x21, 0x8a, 0xf2, 0x97,
- 0x7d, 0x65, 0x90, 0x3e,
- 0xa7, 0x4a, 0x89, 0xf4, 0x02, 0x41, 0x8e, 0xe2, 0x6f, 0xe8, 0x1e, 0xfc,
- 0x6d, 0xe2, 0x56, 0x4a,
- 0xba, 0xc5, 0x01, 0x81, 0x5b, 0xfd, 0x20, 0xf1, 0x46, 0x05, 0xdf, 0x2e,
- 0x1d, 0xf1, 0x41, 0xc5,
- 0x3f, 0xb1, 0x74, 0x51, 0x05, 0x43, 0x98, 0x76, 0x08, 0x67, 0x33, 0x45,
- 0x0d, 0x76, 0x87, 0xb1,
- 0x73, 0x2d, 0xeb, 0xe2, 0xe7, 0x42, 0x93, 0x3c, 0xda, 0xc1, 0xc4, 0xf8,
- 0x3d, 0x3c, 0x0e, 0x2d,
- 0xf6, 0x59, 0x9e, 0x32, 0xb9, 0xfc, 0x2b, 0xbb, 0x94, 0xa3, 0x28, 0x93,
- 0x2d, 0xbb, 0xc8, 0x59,
- 0x49, 0xf0, 0x38, 0x08, 0x55, 0xf9, 0x0c, 0x1a, 0x88, 0xd8, 0x85, 0x9f,
- 0xdd, 0x1a, 0x20, 0xf0,
- 0xcc, 0x84, 0x4d, 0xd8, 0x0b, 0x47, 0xb4, 0x9d, 0xc6, 0xba, 0x69, 0xf4,
- 0xcd, 0x9d, 0xe6, 0x84,
- 0x80, 0x18, 0xd2, 0x6b, 0xe9, 0x46, 0xbf, 0xd7, 0x14, 0x1c, 0x9e, 0x49,
- 0xfd, 0xd7, 0x6f, 0x18,
- 0x05, 0x6c, 0xa7, 0xbb, 0xb7, 0xf8, 0x07, 0x50, 0x5a, 0x7e, 0x72, 0x22,
- 0xed, 0x50, 0xa9, 0x6c,
- 0x18, 0xe3, 0x2f, 0xce, 0xee, 0x44, 0xa9, 0x43, 0x73, 0x93, 0xb3, 0xf0,
- 0x9d, 0x43, 0xbe, 0xe3,
- 0x9d, 0x97, 0x5a, 0x1e, 0xb0, 0xfa, 0x11, 0xc4, 0x3d, 0xf1, 0x5f, 0x9b,
- 0x8d, 0xc4, 0x78, 0x97,
- 0xd1, 0x0b, 0xc5, 0xad, 0x52, 0xfb, 0x1a, 0x8e, 0xef, 0x57, 0xa8, 0x26,
- 0xbd, 0x8e, 0xf1, 0x0b,
- 0x54, 0x7f, 0xb0, 0x7d, 0x0c, 0x45, 0xa2, 0x09, 0xa1, 0x35, 0x44, 0x4d,
- 0xad, 0x09, 0x37, 0x7f,
- 0x6c, 0x9a, 0x4a, 0xd9, 0x49, 0xf1, 0x54, 0x0f, 0xd7, 0xa1, 0x31, 0x3e,
- 0x9e, 0x0f, 0xe2, 0x9a,
- 0xe9, 0xee, 0x3f, 0x09, 0x17, 0x4f, 0xec, 0x88, 0x99, 0xc3, 0xdd, 0x55,
- 0x8e, 0x88, 0x24, 0xee,
- 0xa5, 0x72, 0xa0, 0xba, 0xf5, 0x4e, 0xe7, 0xc2, 0x4b, 0x65, 0x2a, 0xe8,
- 0xbe, 0xc2, 0xad, 0x72,
- 0x20, 0x06, 0xd5, 0x6a, 0xab, 0xf0, 0x5f, 0x45, 0x05, 0x07, 0xc6, 0x83,
- 0xae, 0x45, 0x6b, 0x06,
- 0x3d, 0x89, 0x5d, 0x1f, 0xf2, 0x4c, 0xf1, 0x56, 0x2c, 0xea, 0x07, 0x51,
- 0xde, 0x56, 0x7c, 0x89,
- 0xb8, 0xfd, 0x28, 0xcf, 0xac, 0xf2, 0x49, 0xd1, 0x62, 0x88, 0xeb, 0x3a,
- 0xce, 0xd1, 0xba, 0xfd,
- 0xf4, 0x61, 0xb7, 0x7c, 0x4e, 0xf3, 0x42, 0x9b, 0xb0, 0x2e, 0x1c, 0x87,
- 0xfe, 0x9b, 0x33, 0x61,
- 0x71, 0x15, 0xc2, 0xac, 0x10, 0x4d, 0xfa, 0x1c, 0xfe, 0x4c, 0xf0, 0xec,
- 0xee, 0x1c, 0xf5, 0x15,
- 0xce, 0xbc, 0x64, 0x96, 0xfc, 0x48, 0xdd, 0xbd, 0xe2, 0x37, 0x5d, 0xe0,
- 0x1e, 0xbd, 0x1d, 0xbc,
- 0x4b, 0xc8, 0x11, 0x46, 0xa2, 0xf6, 0x65, 0x3a, 0xac, 0x55, 0xb1, 0x8b,
- 0x0e, 0x3a, 0xdb, 0xc8,
- 0x07, 0x54, 0x8e, 0xf5, 0x40, 0xf7, 0x6e, 0x70, 0x7e, 0xf3, 0x46, 0x36,
- 0x3e, 0x70, 0x52, 0x54,
- 0x82, 0x20, 0xfb, 0x25, 0x1e, 0x49, 0xd6, 0xf7, 0x30, 0x91, 0xaa, 0x5d,
- 0x2e, 0xf7, 0x94, 0x20,
- 0x9f, 0xaf, 0x73, 0x50, 0x47, 0xf5, 0x78, 0xe4, 0x19, 0x7c, 0x6b, 0x8f,
- 0x5e, 0xe4, 0x83, 0xaf,
- 0x1a, 0xdb, 0x06, 0x80, 0x19, 0x4b, 0xc0, 0x63, 0x57, 0x1e, 0x87, 0xe4,
- 0x4e, 0x63, 0x45, 0xdb,
- 0x56, 0x47, 0x99, 0x33, 0xfb, 0x4a, 0xcb, 0x29, 0x85, 0xb8, 0x70, 0x59,
- 0x7e, 0x29, 0xcc, 0x47,
- 0xd3, 0x33, 0xec, 0xe3, 0xa5, 0xf4, 0x73, 0xae, 0xcb, 0xda, 0x9c, 0x32,
- 0x6e, 0xae, 0x0a, 0x33,
- 0x26, 0x4e, 0xae, 0xb8, 0x71, 0xe1, 0xe4, 0x25, 0x69, 0x53, 0x9a, 0xbf,
- 0x18, 0x25, 0xa5, 0x4e,
- 0xa3, 0x3a, 0xdb, 0x68, 0x2f, 0x5f, 0x5c, 0xa2, 0x27, 0x31, 0x76, 0xd4,
- 0x08, 0xa2, 0x63, 0x3a,
- 0xef, 0xa6, 0x44, 0xdb, 0xcd, 0x5e, 0x57, 0xe8, 0xf5, 0x97, 0x81, 0x69,
- 0x38, 0xe8, 0xea, 0xa6,
- 0x6a, 0xd2, 0x31, 0x0b, 0x93, 0xe0, 0xef, 0x6f, 0xbb, 0xf5, 0x6d, 0x02,
- 0x28, 0x6f, 0x2c, 0xd2,
- 0x77, 0x5d, 0xb9, 0x7e, 0xca, 0x5c, 0x41, 0x7c, 0x92, 0x18, 0xac, 0xd0,
- 0x58, 0x7c, 0x3b, 0x5d,
- 0xf2, 0x29, 0xcc, 0xae, 0x94, 0xe2, 0xf9, 0xfb, 0xdc, 0x7a, 0x40, 0xbb,
- 0x48, 0xfb, 0xfd, 0x29,
- 0xbe, 0xb5, 0x53, 0x1d, 0x76, 0xe3, 0xf2, 0xb1, 0x0e, 0xdc, 0xb7, 0x06,
- 0x78, 0xb1, 0x74, 0xb5,
- 0x3b, 0xc1, 0x26, 0xcd, 0x28, 0x5d, 0x4a, 0x36, 0x40, 0xbe, 0x5b, 0x6d,
- 0x68, 0x36, 0xb2, 0xc1,
- 0x84, 0x68, 0x80, 0xf7, 0xc4, 0x58, 0x6d, 0x97, 0x5c, 0xc5, 0xf6, 0x61,
- 0x98, 0x97, 0x5a, 0x68,
- 0x01, 0x1c, 0xf5, 0x27, 0x9a, 0xe6, 0xd5, 0x10, 0x12, 0xa7, 0x1a, 0x0a,
- 0x88, 0x10, 0x9c, 0x1c,
- 0x4d, 0x80, 0x6a, 0x94, 0x78, 0xe7, 0xde, 0x5a, 0xc0, 0x01, 0xed, 0xb7,
- 0xb8, 0x5a, 0x15, 0x80,
- 0xc8, 0xf4, 0x1f, 0x44, 0x26, 0x59, 0x66, 0xdd, 0x8e, 0x63, 0x01, 0xdc,
- 0xa8, 0xdd, 0xd3, 0xf4,
- 0xd5, 0x7b, 0x97, 0x31, 0x7f, 0xe5, 0xc8, 0xce, 0xa7, 0x8e, 0xc0, 0x0e,
- 0xd8, 0xce, 0xc4, 0x7b,
- 0x50, 0x0f, 0xe2, 0xe1, 0x21, 0x5b, 0x70, 0x49, 0xe9, 0xec, 0x2c, 0x65,
- 0xc8, 0x49, 0x02, 0x0f,
- 0x1c, 0x93, 0x7d, 0x52, 0xc3, 0x5a, 0x7b, 0x03, 0x3b, 0x4a, 0xdb, 0xd8,
- 0xf8, 0x03, 0x8b, 0x93,
- 0x99, 0xe7, 0x08, 0x82, 0x9d, 0xe4, 0xc3, 0x84, 0x75, 0x28, 0x37, 0xb3,
- 0xe8, 0x84, 0x4d, 0xe7,
- 0xa1, 0x02, 0xf2, 0x26, 0xd8, 0x50, 0x35, 0x82, 0x03, 0xbc, 0x42, 0xc0,
- 0xdb, 0x82, 0x98, 0x02,
- 0x24, 0x76, 0x87, 0xf6, 0x86, 0xee, 0x8d, 0x05, 0x4d, 0xde, 0xae, 0xab,
- 0xcb, 0x05, 0x5e, 0x76,
- 0x68, 0xea, 0x18, 0x45, 0x64, 0xef, 0x86, 0x4f, 0x9f, 0x78, 0x59, 0x16,
- 0xfb, 0x4f, 0xd7, 0xea,
- 0xed, 0x9e, 0x6d, 0x95, 0x3a, 0x51, 0x3e, 0xc8, 0xd1, 0x1a, 0xb5, 0x7d,
- 0xeb, 0xc8, 0x11, 0x9e,
- 0xf0, 0x11, 0xe5, 0xe0, 0x63, 0xed, 0x90, 0xdb, 0xf8, 0xf7, 0x74, 0xaf,
- 0x9b, 0xdb, 0x06, 0x11,
- 0x75, 0x65, 0x90, 0x30, 0x3d, 0x53, 0x28, 0x5c, 0xb6, 0x95, 0x98, 0xc4,
- 0x8b, 0x5c, 0xc0, 0x65,
- 0x39, 0xf9, 0x0f, 0x83, 0xdf, 0x52, 0x23, 0x16, 0x64, 0x33, 0x6f, 0x79,
- 0xbb, 0x16, 0x49, 0xf9,
- 0xbc, 0x8d, 0x7a, 0x53, 0x81, 0xec, 0x9b, 0x91, 0x2a, 0x51, 0x83, 0x12,
- 0xab, 0x91, 0x8f, 0x8d,
- 0x03, 0x24, 0xdc, 0x69, 0x6d, 0xe9, 0xbc, 0x30, 0x36, 0x2a, 0x2e, 0x1e,
- 0x5b, 0x30, 0x67, 0x24,
- 0x86, 0x50, 0xa9, 0xb9, 0x33, 0x57, 0x04, 0xb7, 0x78, 0x48, 0xc2, 0x75,
- 0x4b, 0xb7, 0xa1, 0x50,
- 0xca, 0xcc, 0x36, 0x0a, 0xd1, 0x56, 0x0f, 0xfd, 0xaa, 0xee, 0x35, 0xc8,
- 0x7b, 0xfd, 0x28, 0xcc,
- 0x4f, 0xb8, 0x43, 0xda, 0x8f, 0xe8, 0xb7, 0x7a, 0xe4, 0x8c, 0xd9, 0xa3,
- 0x6b, 0x7a, 0xee, 0xb8,
- 0x52, 0x37, 0xcb, 0xaf, 0xd6, 0x54, 0x19, 0x69, 0xcd, 0x61, 0x18, 0x71,
- 0x1b, 0x69, 0xf9, 0x37,
- 0xd7, 0x43, 0xbe, 0x7f, 0x88, 0xea, 0xa1, 0xee, 0x83, 0x03, 0xf4, 0x1a,
- 0x0b, 0xee, 0x3f, 0x43,
- 0x9b, 0xdf, 0x21, 0xcc, 0x6a, 0xeb, 0xaa, 0xa4, 0x51, 0xa5, 0x03, 0xa7,
- 0x3b, 0xa4, 0xb6, 0xdf,
- 0x1e, 0xab, 0x54, 0x1c, 0x34, 0x55, 0x12, 0x23, 0x1f, 0xc7, 0xef, 0xcc,
- 0x2b, 0x23, 0x70, 0xab,
- },
- { /* 14 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x2d, 0x99, 0xe9, 0x95, 0x9f, 0xd4, 0x49, 0xe6, 0xd5, 0x76, 0xf2,
- 0x33, 0xc8, 0x20, 0x98,
- 0x40, 0x5a, 0xf1, 0x11, 0xe9, 0xfd, 0x6b, 0x92, 0x0f, 0x69, 0xec, 0x27,
- 0x66, 0x53, 0x40, 0xf3,
- 0x60, 0x77, 0x68, 0xf8, 0x7c, 0x62, 0xbf, 0xdb, 0xe9, 0xbc, 0x9a, 0xd5,
- 0x55, 0x9b, 0x60, 0x6b,
- 0x80, 0xb4, 0x21, 0x22, 0x11, 0x39, 0xd6, 0xe7, 0x1e, 0xd2, 0x1b, 0x4e,
- 0xcc, 0xa6, 0x80, 0x25,
- 0xa0, 0x99, 0xb8, 0xcb, 0x84, 0xa6, 0x02, 0xae, 0xf8, 0x07, 0x6d, 0xbc,
- 0xff, 0x6e, 0xa0, 0xbd,
- 0xc0, 0xee, 0xd0, 0x33, 0xf8, 0xc4, 0xbd, 0x75, 0x11, 0xbb, 0xf7, 0x69,
- 0xaa, 0xf5, 0xc0, 0xd6,
- 0xe0, 0xc3, 0x49, 0xda, 0x6d, 0x5b, 0x69, 0x3c, 0xf7, 0x6e, 0x81, 0x9b,
- 0x99, 0x3d, 0xe0, 0x4e,
- 0xc3, 0xab, 0x42, 0x44, 0x22, 0x72, 0x6f, 0x0d, 0x3c, 0x67, 0x36, 0x9c,
- 0x5b, 0x8f, 0xc3, 0x4a,
- 0xe3, 0x86, 0xdb, 0xad, 0xb7, 0xed, 0xbb, 0x44, 0xda, 0xb2, 0x40, 0x6e,
- 0x68, 0x47, 0xe3, 0xd2,
- 0x83, 0xf1, 0xb3, 0x55, 0xcb, 0x8f, 0x04, 0x9f, 0x33, 0x0e, 0xda, 0xbb,
- 0x3d, 0xdc, 0x83, 0xb9,
- 0xa3, 0xdc, 0x2a, 0xbc, 0x5e, 0x10, 0xd0, 0xd6, 0xd5, 0xdb, 0xac, 0x49,
- 0x0e, 0x14, 0xa3, 0x21,
- 0x43, 0x1f, 0x63, 0x66, 0x33, 0x4b, 0xb9, 0xea, 0x22, 0xb5, 0x2d, 0xd2,
- 0x97, 0x29, 0x43, 0x6f,
- 0x63, 0x32, 0xfa, 0x8f, 0xa6, 0xd4, 0x6d, 0xa3, 0xc4, 0x60, 0x5b, 0x20,
- 0xa4, 0xe1, 0x63, 0xf7,
- 0x03, 0x45, 0x92, 0x77, 0xda, 0xb6, 0xd2, 0x78, 0x2d, 0xdc, 0xc1, 0xf5,
- 0xf1, 0x7a, 0x03, 0x9c,
- 0x23, 0x68, 0x0b, 0x9e, 0x4f, 0x29, 0x06, 0x31, 0xcb, 0x09, 0xb7, 0x07,
- 0xc2, 0xb2, 0x23, 0x04,
- 0x45, 0x95, 0x84, 0x88, 0x44, 0xe4, 0xde, 0x1a, 0x78, 0xce, 0x6c, 0xfb,
- 0xb6, 0xdd, 0x45, 0x94,
- 0x65, 0xb8, 0x1d, 0x61, 0xd1, 0x7b, 0x0a, 0x53, 0x9e, 0x1b, 0x1a, 0x09,
- 0x85, 0x15, 0x65, 0x0c,
- 0x05, 0xcf, 0x75, 0x99, 0xad, 0x19, 0xb5, 0x88, 0x77, 0xa7, 0x80, 0xdc,
- 0xd0, 0x8e, 0x05, 0x67,
- 0x25, 0xe2, 0xec, 0x70, 0x38, 0x86, 0x61, 0xc1, 0x91, 0x72, 0xf6, 0x2e,
- 0xe3, 0x46, 0x25, 0xff,
- 0xc5, 0x21, 0xa5, 0xaa, 0x55, 0xdd, 0x08, 0xfd, 0x66, 0x1c, 0x77, 0xb5,
- 0x7a, 0x7b, 0xc5, 0xb1,
- 0xe5, 0x0c, 0x3c, 0x43, 0xc0, 0x42, 0xdc, 0xb4, 0x80, 0xc9, 0x01, 0x47,
- 0x49, 0xb3, 0xe5, 0x29,
- 0x85, 0x7b, 0x54, 0xbb, 0xbc, 0x20, 0x63, 0x6f, 0x69, 0x75, 0x9b, 0x92,
- 0x1c, 0x28, 0x85, 0x42,
- 0xa5, 0x56, 0xcd, 0x52, 0x29, 0xbf, 0xb7, 0x26, 0x8f, 0xa0, 0xed, 0x60,
- 0x2f, 0xe0, 0xa5, 0xda,
- 0x86, 0x3e, 0xc6, 0xcc, 0x66, 0x96, 0xb1, 0x17, 0x44, 0xa9, 0x5a, 0x67,
- 0xed, 0x52, 0x86, 0xde,
- 0xa6, 0x13, 0x5f, 0x25, 0xf3, 0x09, 0x65, 0x5e, 0xa2, 0x7c, 0x2c, 0x95,
- 0xde, 0x9a, 0xa6, 0x46,
- 0xc6, 0x64, 0x37, 0xdd, 0x8f, 0x6b, 0xda, 0x85, 0x4b, 0xc0, 0xb6, 0x40,
- 0x8b, 0x01, 0xc6, 0x2d,
- 0xe6, 0x49, 0xae, 0x34, 0x1a, 0xf4, 0x0e, 0xcc, 0xad, 0x15, 0xc0, 0xb2,
- 0xb8, 0xc9, 0xe6, 0xb5,
- 0x06, 0x8a, 0xe7, 0xee, 0x77, 0xaf, 0x67, 0xf0, 0x5a, 0x7b, 0x41, 0x29,
- 0x21, 0xf4, 0x06, 0xfb,
- 0x26, 0xa7, 0x7e, 0x07, 0xe2, 0x30, 0xb3, 0xb9, 0xbc, 0xae, 0x37, 0xdb,
- 0x12, 0x3c, 0x26, 0x63,
- 0x46, 0xd0, 0x16, 0xff, 0x9e, 0x52, 0x0c, 0x62, 0x55, 0x12, 0xad, 0x0e,
- 0x47, 0xa7, 0x46, 0x08,
- 0x66, 0xfd, 0x8f, 0x16, 0x0b, 0xcd, 0xd8, 0x2b, 0xb3, 0xc7, 0xdb, 0xfc,
- 0x74, 0x6f, 0x66, 0x90,
- 0x8a, 0xe9, 0xcb, 0xd3, 0x88, 0x0b, 0x7f, 0x34, 0xf0, 0x5f, 0xd8, 0x35,
- 0xaf, 0x79, 0x8a, 0xeb,
- 0xaa, 0xc4, 0x52, 0x3a, 0x1d, 0x94, 0xab, 0x7d, 0x16, 0x8a, 0xae, 0xc7,
- 0x9c, 0xb1, 0xaa, 0x73,
- 0xca, 0xb3, 0x3a, 0xc2, 0x61, 0xf6, 0x14, 0xa6, 0xff, 0x36, 0x34, 0x12,
- 0xc9, 0x2a, 0xca, 0x18,
- 0xea, 0x9e, 0xa3, 0x2b, 0xf4, 0x69, 0xc0, 0xef, 0x19, 0xe3, 0x42, 0xe0,
- 0xfa, 0xe2, 0xea, 0x80,
- 0x0a, 0x5d, 0xea, 0xf1, 0x99, 0x32, 0xa9, 0xd3, 0xee, 0x8d, 0xc3, 0x7b,
- 0x63, 0xdf, 0x0a, 0xce,
- 0x2a, 0x70, 0x73, 0x18, 0x0c, 0xad, 0x7d, 0x9a, 0x08, 0x58, 0xb5, 0x89,
- 0x50, 0x17, 0x2a, 0x56,
- 0x4a, 0x07, 0x1b, 0xe0, 0x70, 0xcf, 0xc2, 0x41, 0xe1, 0xe4, 0x2f, 0x5c,
- 0x05, 0x8c, 0x4a, 0x3d,
- 0x6a, 0x2a, 0x82, 0x09, 0xe5, 0x50, 0x16, 0x08, 0x07, 0x31, 0x59, 0xae,
- 0x36, 0x44, 0x6a, 0xa5,
- 0x49, 0x42, 0x89, 0x97, 0xaa, 0x79, 0x10, 0x39, 0xcc, 0x38, 0xee, 0xa9,
- 0xf4, 0xf6, 0x49, 0xa1,
- 0x69, 0x6f, 0x10, 0x7e, 0x3f, 0xe6, 0xc4, 0x70, 0x2a, 0xed, 0x98, 0x5b,
- 0xc7, 0x3e, 0x69, 0x39,
- 0x09, 0x18, 0x78, 0x86, 0x43, 0x84, 0x7b, 0xab, 0xc3, 0x51, 0x02, 0x8e,
- 0x92, 0xa5, 0x09, 0x52,
- 0x29, 0x35, 0xe1, 0x6f, 0xd6, 0x1b, 0xaf, 0xe2, 0x25, 0x84, 0x74, 0x7c,
- 0xa1, 0x6d, 0x29, 0xca,
- 0xc9, 0xf6, 0xa8, 0xb5, 0xbb, 0x40, 0xc6, 0xde, 0xd2, 0xea, 0xf5, 0xe7,
- 0x38, 0x50, 0xc9, 0x84,
- 0xe9, 0xdb, 0x31, 0x5c, 0x2e, 0xdf, 0x12, 0x97, 0x34, 0x3f, 0x83, 0x15,
- 0x0b, 0x98, 0xe9, 0x1c,
- 0x89, 0xac, 0x59, 0xa4, 0x52, 0xbd, 0xad, 0x4c, 0xdd, 0x83, 0x19, 0xc0,
- 0x5e, 0x03, 0x89, 0x77,
- 0xa9, 0x81, 0xc0, 0x4d, 0xc7, 0x22, 0x79, 0x05, 0x3b, 0x56, 0x6f, 0x32,
- 0x6d, 0xcb, 0xa9, 0xef,
- 0xcf, 0x7c, 0x4f, 0x5b, 0xcc, 0xef, 0xa1, 0x2e, 0x88, 0x91, 0xb4, 0xce,
- 0x19, 0xa4, 0xcf, 0x7f,
- 0xef, 0x51, 0xd6, 0xb2, 0x59, 0x70, 0x75, 0x67, 0x6e, 0x44, 0xc2, 0x3c,
- 0x2a, 0x6c, 0xef, 0xe7,
- 0x8f, 0x26, 0xbe, 0x4a, 0x25, 0x12, 0xca, 0xbc, 0x87, 0xf8, 0x58, 0xe9,
- 0x7f, 0xf7, 0x8f, 0x8c,
- 0xaf, 0x0b, 0x27, 0xa3, 0xb0, 0x8d, 0x1e, 0xf5, 0x61, 0x2d, 0x2e, 0x1b,
- 0x4c, 0x3f, 0xaf, 0x14,
- 0x4f, 0xc8, 0x6e, 0x79, 0xdd, 0xd6, 0x77, 0xc9, 0x96, 0x43, 0xaf, 0x80,
- 0xd5, 0x02, 0x4f, 0x5a,
- 0x6f, 0xe5, 0xf7, 0x90, 0x48, 0x49, 0xa3, 0x80, 0x70, 0x96, 0xd9, 0x72,
- 0xe6, 0xca, 0x6f, 0xc2,
- 0x0f, 0x92, 0x9f, 0x68, 0x34, 0x2b, 0x1c, 0x5b, 0x99, 0x2a, 0x43, 0xa7,
- 0xb3, 0x51, 0x0f, 0xa9,
- 0x2f, 0xbf, 0x06, 0x81, 0xa1, 0xb4, 0xc8, 0x12, 0x7f, 0xff, 0x35, 0x55,
- 0x80, 0x99, 0x2f, 0x31,
- 0x0c, 0xd7, 0x0d, 0x1f, 0xee, 0x9d, 0xce, 0x23, 0xb4, 0xf6, 0x82, 0x52,
- 0x42, 0x2b, 0x0c, 0x35,
- 0x2c, 0xfa, 0x94, 0xf6, 0x7b, 0x02, 0x1a, 0x6a, 0x52, 0x23, 0xf4, 0xa0,
- 0x71, 0xe3, 0x2c, 0xad,
- 0x4c, 0x8d, 0xfc, 0x0e, 0x07, 0x60, 0xa5, 0xb1, 0xbb, 0x9f, 0x6e, 0x75,
- 0x24, 0x78, 0x4c, 0xc6,
- 0x6c, 0xa0, 0x65, 0xe7, 0x92, 0xff, 0x71, 0xf8, 0x5d, 0x4a, 0x18, 0x87,
- 0x17, 0xb0, 0x6c, 0x5e,
- 0x8c, 0x63, 0x2c, 0x3d, 0xff, 0xa4, 0x18, 0xc4, 0xaa, 0x24, 0x99, 0x1c,
- 0x8e, 0x8d, 0x8c, 0x10,
- 0xac, 0x4e, 0xb5, 0xd4, 0x6a, 0x3b, 0xcc, 0x8d, 0x4c, 0xf1, 0xef, 0xee,
- 0xbd, 0x45, 0xac, 0x88,
- 0xcc, 0x39, 0xdd, 0x2c, 0x16, 0x59, 0x73, 0x56, 0xa5, 0x4d, 0x75, 0x3b,
- 0xe8, 0xde, 0xcc, 0xe3,
- 0xec, 0x14, 0x44, 0xc5, 0x83, 0xc6, 0xa7, 0x1f, 0x43, 0x98, 0x03, 0xc9,
- 0xdb, 0x16, 0xec, 0x7b,
- 0xd7, 0x11, 0x55, 0x65, 0xd3, 0x16, 0xfe, 0x68, 0x23, 0xbe, 0x73, 0x6a,
- 0x9d, 0xf2, 0xd7, 0x15,
- 0xf7, 0x3c, 0xcc, 0x8c, 0x46, 0x89, 0x2a, 0x21, 0xc5, 0x6b, 0x05, 0x98,
- 0xae, 0x3a, 0xf7, 0x8d,
- 0x97, 0x4b, 0xa4, 0x74, 0x3a, 0xeb, 0x95, 0xfa, 0x2c, 0xd7, 0x9f, 0x4d,
- 0xfb, 0xa1, 0x97, 0xe6,
- 0xb7, 0x66, 0x3d, 0x9d, 0xaf, 0x74, 0x41, 0xb3, 0xca, 0x02, 0xe9, 0xbf,
- 0xc8, 0x69, 0xb7, 0x7e,
- 0x57, 0xa5, 0x74, 0x47, 0xc2, 0x2f, 0x28, 0x8f, 0x3d, 0x6c, 0x68, 0x24,
- 0x51, 0x54, 0x57, 0x30,
- 0x77, 0x88, 0xed, 0xae, 0x57, 0xb0, 0xfc, 0xc6, 0xdb, 0xb9, 0x1e, 0xd6,
- 0x62, 0x9c, 0x77, 0xa8,
- 0x17, 0xff, 0x85, 0x56, 0x2b, 0xd2, 0x43, 0x1d, 0x32, 0x05, 0x84, 0x03,
- 0x37, 0x07, 0x17, 0xc3,
- 0x37, 0xd2, 0x1c, 0xbf, 0xbe, 0x4d, 0x97, 0x54, 0xd4, 0xd0, 0xf2, 0xf1,
- 0x04, 0xcf, 0x37, 0x5b,
- 0x14, 0xba, 0x17, 0x21, 0xf1, 0x64, 0x91, 0x65, 0x1f, 0xd9, 0x45, 0xf6,
- 0xc6, 0x7d, 0x14, 0x5f,
- 0x34, 0x97, 0x8e, 0xc8, 0x64, 0xfb, 0x45, 0x2c, 0xf9, 0x0c, 0x33, 0x04,
- 0xf5, 0xb5, 0x34, 0xc7,
- 0x54, 0xe0, 0xe6, 0x30, 0x18, 0x99, 0xfa, 0xf7, 0x10, 0xb0, 0xa9, 0xd1,
- 0xa0, 0x2e, 0x54, 0xac,
- 0x74, 0xcd, 0x7f, 0xd9, 0x8d, 0x06, 0x2e, 0xbe, 0xf6, 0x65, 0xdf, 0x23,
- 0x93, 0xe6, 0x74, 0x34,
- 0x94, 0x0e, 0x36, 0x03, 0xe0, 0x5d, 0x47, 0x82, 0x01, 0x0b, 0x5e, 0xb8,
- 0x0a, 0xdb, 0x94, 0x7a,
- 0xb4, 0x23, 0xaf, 0xea, 0x75, 0xc2, 0x93, 0xcb, 0xe7, 0xde, 0x28, 0x4a,
- 0x39, 0x13, 0xb4, 0xe2,
- 0xd4, 0x54, 0xc7, 0x12, 0x09, 0xa0, 0x2c, 0x10, 0x0e, 0x62, 0xb2, 0x9f,
- 0x6c, 0x88, 0xd4, 0x89,
- 0xf4, 0x79, 0x5e, 0xfb, 0x9c, 0x3f, 0xf8, 0x59, 0xe8, 0xb7, 0xc4, 0x6d,
- 0x5f, 0x40, 0xf4, 0x11,
- 0x92, 0x84, 0xd1, 0xed, 0x97, 0xf2, 0x20, 0x72, 0x5b, 0x70, 0x1f, 0x91,
- 0x2b, 0x2f, 0x92, 0x81,
- 0xb2, 0xa9, 0x48, 0x04, 0x02, 0x6d, 0xf4, 0x3b, 0xbd, 0xa5, 0x69, 0x63,
- 0x18, 0xe7, 0xb2, 0x19,
- 0xd2, 0xde, 0x20, 0xfc, 0x7e, 0x0f, 0x4b, 0xe0, 0x54, 0x19, 0xf3, 0xb6,
- 0x4d, 0x7c, 0xd2, 0x72,
- 0xf2, 0xf3, 0xb9, 0x15, 0xeb, 0x90, 0x9f, 0xa9, 0xb2, 0xcc, 0x85, 0x44,
- 0x7e, 0xb4, 0xf2, 0xea,
- 0x12, 0x30, 0xf0, 0xcf, 0x86, 0xcb, 0xf6, 0x95, 0x45, 0xa2, 0x04, 0xdf,
- 0xe7, 0x89, 0x12, 0xa4,
- 0x32, 0x1d, 0x69, 0x26, 0x13, 0x54, 0x22, 0xdc, 0xa3, 0x77, 0x72, 0x2d,
- 0xd4, 0x41, 0x32, 0x3c,
- 0x52, 0x6a, 0x01, 0xde, 0x6f, 0x36, 0x9d, 0x07, 0x4a, 0xcb, 0xe8, 0xf8,
- 0x81, 0xda, 0x52, 0x57,
- 0x72, 0x47, 0x98, 0x37, 0xfa, 0xa9, 0x49, 0x4e, 0xac, 0x1e, 0x9e, 0x0a,
- 0xb2, 0x12, 0x72, 0xcf,
- 0x51, 0x2f, 0x93, 0xa9, 0xb5, 0x80, 0x4f, 0x7f, 0x67, 0x17, 0x29, 0x0d,
- 0x70, 0xa0, 0x51, 0xcb,
- 0x71, 0x02, 0x0a, 0x40, 0x20, 0x1f, 0x9b, 0x36, 0x81, 0xc2, 0x5f, 0xff,
- 0x43, 0x68, 0x71, 0x53,
- 0x11, 0x75, 0x62, 0xb8, 0x5c, 0x7d, 0x24, 0xed, 0x68, 0x7e, 0xc5, 0x2a,
- 0x16, 0xf3, 0x11, 0x38,
- 0x31, 0x58, 0xfb, 0x51, 0xc9, 0xe2, 0xf0, 0xa4, 0x8e, 0xab, 0xb3, 0xd8,
- 0x25, 0x3b, 0x31, 0xa0,
- 0xd1, 0x9b, 0xb2, 0x8b, 0xa4, 0xb9, 0x99, 0x98, 0x79, 0xc5, 0x32, 0x43,
- 0xbc, 0x06, 0xd1, 0xee,
- 0xf1, 0xb6, 0x2b, 0x62, 0x31, 0x26, 0x4d, 0xd1, 0x9f, 0x10, 0x44, 0xb1,
- 0x8f, 0xce, 0xf1, 0x76,
- 0x91, 0xc1, 0x43, 0x9a, 0x4d, 0x44, 0xf2, 0x0a, 0x76, 0xac, 0xde, 0x64,
- 0xda, 0x55, 0x91, 0x1d,
- 0xb1, 0xec, 0xda, 0x73, 0xd8, 0xdb, 0x26, 0x43, 0x90, 0x79, 0xa8, 0x96,
- 0xe9, 0x9d, 0xb1, 0x85,
- 0x5d, 0xf8, 0x9e, 0xb6, 0x5b, 0x1d, 0x81, 0x5c, 0xd3, 0xe1, 0xab, 0x5f,
- 0x32, 0x8b, 0x5d, 0xfe,
- 0x7d, 0xd5, 0x07, 0x5f, 0xce, 0x82, 0x55, 0x15, 0x35, 0x34, 0xdd, 0xad,
- 0x01, 0x43, 0x7d, 0x66,
- 0x1d, 0xa2, 0x6f, 0xa7, 0xb2, 0xe0, 0xea, 0xce, 0xdc, 0x88, 0x47, 0x78,
- 0x54, 0xd8, 0x1d, 0x0d,
- 0x3d, 0x8f, 0xf6, 0x4e, 0x27, 0x7f, 0x3e, 0x87, 0x3a, 0x5d, 0x31, 0x8a,
- 0x67, 0x10, 0x3d, 0x95,
- 0xdd, 0x4c, 0xbf, 0x94, 0x4a, 0x24, 0x57, 0xbb, 0xcd, 0x33, 0xb0, 0x11,
- 0xfe, 0x2d, 0xdd, 0xdb,
- 0xfd, 0x61, 0x26, 0x7d, 0xdf, 0xbb, 0x83, 0xf2, 0x2b, 0xe6, 0xc6, 0xe3,
- 0xcd, 0xe5, 0xfd, 0x43,
- 0x9d, 0x16, 0x4e, 0x85, 0xa3, 0xd9, 0x3c, 0x29, 0xc2, 0x5a, 0x5c, 0x36,
- 0x98, 0x7e, 0x9d, 0x28,
- 0xbd, 0x3b, 0xd7, 0x6c, 0x36, 0x46, 0xe8, 0x60, 0x24, 0x8f, 0x2a, 0xc4,
- 0xab, 0xb6, 0xbd, 0xb0,
- 0x9e, 0x53, 0xdc, 0xf2, 0x79, 0x6f, 0xee, 0x51, 0xef, 0x86, 0x9d, 0xc3,
- 0x69, 0x04, 0x9e, 0xb4,
- 0xbe, 0x7e, 0x45, 0x1b, 0xec, 0xf0, 0x3a, 0x18, 0x09, 0x53, 0xeb, 0x31,
- 0x5a, 0xcc, 0xbe, 0x2c,
- 0xde, 0x09, 0x2d, 0xe3, 0x90, 0x92, 0x85, 0xc3, 0xe0, 0xef, 0x71, 0xe4,
- 0x0f, 0x57, 0xde, 0x47,
- 0xfe, 0x24, 0xb4, 0x0a, 0x05, 0x0d, 0x51, 0x8a, 0x06, 0x3a, 0x07, 0x16,
- 0x3c, 0x9f, 0xfe, 0xdf,
- 0x1e, 0xe7, 0xfd, 0xd0, 0x68, 0x56, 0x38, 0xb6, 0xf1, 0x54, 0x86, 0x8d,
- 0xa5, 0xa2, 0x1e, 0x91,
- 0x3e, 0xca, 0x64, 0x39, 0xfd, 0xc9, 0xec, 0xff, 0x17, 0x81, 0xf0, 0x7f,
- 0x96, 0x6a, 0x3e, 0x09,
- 0x5e, 0xbd, 0x0c, 0xc1, 0x81, 0xab, 0x53, 0x24, 0xfe, 0x3d, 0x6a, 0xaa,
- 0xc3, 0xf1, 0x5e, 0x62,
- 0x7e, 0x90, 0x95, 0x28, 0x14, 0x34, 0x87, 0x6d, 0x18, 0xe8, 0x1c, 0x58,
- 0xf0, 0x39, 0x7e, 0xfa,
- 0x18, 0x6d, 0x1a, 0x3e, 0x1f, 0xf9, 0x5f, 0x46, 0xab, 0x2f, 0xc7, 0xa4,
- 0x84, 0x56, 0x18, 0x6a,
- 0x38, 0x40, 0x83, 0xd7, 0x8a, 0x66, 0x8b, 0x0f, 0x4d, 0xfa, 0xb1, 0x56,
- 0xb7, 0x9e, 0x38, 0xf2,
- 0x58, 0x37, 0xeb, 0x2f, 0xf6, 0x04, 0x34, 0xd4, 0xa4, 0x46, 0x2b, 0x83,
- 0xe2, 0x05, 0x58, 0x99,
- 0x78, 0x1a, 0x72, 0xc6, 0x63, 0x9b, 0xe0, 0x9d, 0x42, 0x93, 0x5d, 0x71,
- 0xd1, 0xcd, 0x78, 0x01,
- 0x98, 0xd9, 0x3b, 0x1c, 0x0e, 0xc0, 0x89, 0xa1, 0xb5, 0xfd, 0xdc, 0xea,
- 0x48, 0xf0, 0x98, 0x4f,
- 0xb8, 0xf4, 0xa2, 0xf5, 0x9b, 0x5f, 0x5d, 0xe8, 0x53, 0x28, 0xaa, 0x18,
- 0x7b, 0x38, 0xb8, 0xd7,
- 0xd8, 0x83, 0xca, 0x0d, 0xe7, 0x3d, 0xe2, 0x33, 0xba, 0x94, 0x30, 0xcd,
- 0x2e, 0xa3, 0xd8, 0xbc,
- 0xf8, 0xae, 0x53, 0xe4, 0x72, 0xa2, 0x36, 0x7a, 0x5c, 0x41, 0x46, 0x3f,
- 0x1d, 0x6b, 0xf8, 0x24,
- 0xdb, 0xc6, 0x58, 0x7a, 0x3d, 0x8b, 0x30, 0x4b, 0x97, 0x48, 0xf1, 0x38,
- 0xdf, 0xd9, 0xdb, 0x20,
- 0xfb, 0xeb, 0xc1, 0x93, 0xa8, 0x14, 0xe4, 0x02, 0x71, 0x9d, 0x87, 0xca,
- 0xec, 0x11, 0xfb, 0xb8,
- 0x9b, 0x9c, 0xa9, 0x6b, 0xd4, 0x76, 0x5b, 0xd9, 0x98, 0x21, 0x1d, 0x1f,
- 0xb9, 0x8a, 0x9b, 0xd3,
- 0xbb, 0xb1, 0x30, 0x82, 0x41, 0xe9, 0x8f, 0x90, 0x7e, 0xf4, 0x6b, 0xed,
- 0x8a, 0x42, 0xbb, 0x4b,
- 0x5b, 0x72, 0x79, 0x58, 0x2c, 0xb2, 0xe6, 0xac, 0x89, 0x9a, 0xea, 0x76,
- 0x13, 0x7f, 0x5b, 0x05,
- 0x7b, 0x5f, 0xe0, 0xb1, 0xb9, 0x2d, 0x32, 0xe5, 0x6f, 0x4f, 0x9c, 0x84,
- 0x20, 0xb7, 0x7b, 0x9d,
- 0x1b, 0x28, 0x88, 0x49, 0xc5, 0x4f, 0x8d, 0x3e, 0x86, 0xf3, 0x06, 0x51,
- 0x75, 0x2c, 0x1b, 0xf6,
- 0x3b, 0x05, 0x11, 0xa0, 0x50, 0xd0, 0x59, 0x77, 0x60, 0x26, 0x70, 0xa3,
- 0x46, 0xe4, 0x3b, 0x6e,
- 0x6d, 0x22, 0xaa, 0xca, 0x65, 0x2c, 0x3f, 0xd0, 0x46, 0xbf, 0xe6, 0xd4,
- 0xf9, 0x27, 0x6d, 0x2a,
- 0x4d, 0x0f, 0x33, 0x23, 0xf0, 0xb3, 0xeb, 0x99, 0xa0, 0x6a, 0x90, 0x26,
- 0xca, 0xef, 0x4d, 0xb2,
- 0x2d, 0x78, 0x5b, 0xdb, 0x8c, 0xd1, 0x54, 0x42, 0x49, 0xd6, 0x0a, 0xf3,
- 0x9f, 0x74, 0x2d, 0xd9,
- 0x0d, 0x55, 0xc2, 0x32, 0x19, 0x4e, 0x80, 0x0b, 0xaf, 0x03, 0x7c, 0x01,
- 0xac, 0xbc, 0x0d, 0x41,
- 0xed, 0x96, 0x8b, 0xe8, 0x74, 0x15, 0xe9, 0x37, 0x58, 0x6d, 0xfd, 0x9a,
- 0x35, 0x81, 0xed, 0x0f,
- 0xcd, 0xbb, 0x12, 0x01, 0xe1, 0x8a, 0x3d, 0x7e, 0xbe, 0xb8, 0x8b, 0x68,
- 0x06, 0x49, 0xcd, 0x97,
- 0xad, 0xcc, 0x7a, 0xf9, 0x9d, 0xe8, 0x82, 0xa5, 0x57, 0x04, 0x11, 0xbd,
- 0x53, 0xd2, 0xad, 0xfc,
- 0x8d, 0xe1, 0xe3, 0x10, 0x08, 0x77, 0x56, 0xec, 0xb1, 0xd1, 0x67, 0x4f,
- 0x60, 0x1a, 0x8d, 0x64,
- 0xae, 0x89, 0xe8, 0x8e, 0x47, 0x5e, 0x50, 0xdd, 0x7a, 0xd8, 0xd0, 0x48,
- 0xa2, 0xa8, 0xae, 0x60,
- 0x8e, 0xa4, 0x71, 0x67, 0xd2, 0xc1, 0x84, 0x94, 0x9c, 0x0d, 0xa6, 0xba,
- 0x91, 0x60, 0x8e, 0xf8,
- 0xee, 0xd3, 0x19, 0x9f, 0xae, 0xa3, 0x3b, 0x4f, 0x75, 0xb1, 0x3c, 0x6f,
- 0xc4, 0xfb, 0xee, 0x93,
- 0xce, 0xfe, 0x80, 0x76, 0x3b, 0x3c, 0xef, 0x06, 0x93, 0x64, 0x4a, 0x9d,
- 0xf7, 0x33, 0xce, 0x0b,
- 0x2e, 0x3d, 0xc9, 0xac, 0x56, 0x67, 0x86, 0x3a, 0x64, 0x0a, 0xcb, 0x06,
- 0x6e, 0x0e, 0x2e, 0x45,
- 0x0e, 0x10, 0x50, 0x45, 0xc3, 0xf8, 0x52, 0x73, 0x82, 0xdf, 0xbd, 0xf4,
- 0x5d, 0xc6, 0x0e, 0xdd,
- 0x6e, 0x67, 0x38, 0xbd, 0xbf, 0x9a, 0xed, 0xa8, 0x6b, 0x63, 0x27, 0x21,
- 0x08, 0x5d, 0x6e, 0xb6,
- 0x4e, 0x4a, 0xa1, 0x54, 0x2a, 0x05, 0x39, 0xe1, 0x8d, 0xb6, 0x51, 0xd3,
- 0x3b, 0x95, 0x4e, 0x2e,
- 0x28, 0xb7, 0x2e, 0x42, 0x21, 0xc8, 0xe1, 0xca, 0x3e, 0x71, 0x8a, 0x2f,
- 0x4f, 0xfa, 0x28, 0xbe,
- 0x08, 0x9a, 0xb7, 0xab, 0xb4, 0x57, 0x35, 0x83, 0xd8, 0xa4, 0xfc, 0xdd,
- 0x7c, 0x32, 0x08, 0x26,
- 0x68, 0xed, 0xdf, 0x53, 0xc8, 0x35, 0x8a, 0x58, 0x31, 0x18, 0x66, 0x08,
- 0x29, 0xa9, 0x68, 0x4d,
- 0x48, 0xc0, 0x46, 0xba, 0x5d, 0xaa, 0x5e, 0x11, 0xd7, 0xcd, 0x10, 0xfa,
- 0x1a, 0x61, 0x48, 0xd5,
- 0xa8, 0x03, 0x0f, 0x60, 0x30, 0xf1, 0x37, 0x2d, 0x20, 0xa3, 0x91, 0x61,
- 0x83, 0x5c, 0xa8, 0x9b,
- 0x88, 0x2e, 0x96, 0x89, 0xa5, 0x6e, 0xe3, 0x64, 0xc6, 0x76, 0xe7, 0x93,
- 0xb0, 0x94, 0x88, 0x03,
- 0xe8, 0x59, 0xfe, 0x71, 0xd9, 0x0c, 0x5c, 0xbf, 0x2f, 0xca, 0x7d, 0x46,
- 0xe5, 0x0f, 0xe8, 0x68,
- 0xc8, 0x74, 0x67, 0x98, 0x4c, 0x93, 0x88, 0xf6, 0xc9, 0x1f, 0x0b, 0xb4,
- 0xd6, 0xc7, 0xc8, 0xf0,
- 0xeb, 0x1c, 0x6c, 0x06, 0x03, 0xba, 0x8e, 0xc7, 0x02, 0x16, 0xbc, 0xb3,
- 0x14, 0x75, 0xeb, 0xf4,
- 0xcb, 0x31, 0xf5, 0xef, 0x96, 0x25, 0x5a, 0x8e, 0xe4, 0xc3, 0xca, 0x41,
- 0x27, 0xbd, 0xcb, 0x6c,
- 0xab, 0x46, 0x9d, 0x17, 0xea, 0x47, 0xe5, 0x55, 0x0d, 0x7f, 0x50, 0x94,
- 0x72, 0x26, 0xab, 0x07,
- 0x8b, 0x6b, 0x04, 0xfe, 0x7f, 0xd8, 0x31, 0x1c, 0xeb, 0xaa, 0x26, 0x66,
- 0x41, 0xee, 0x8b, 0x9f,
- 0x6b, 0xa8, 0x4d, 0x24, 0x12, 0x83, 0x58, 0x20, 0x1c, 0xc4, 0xa7, 0xfd,
- 0xd8, 0xd3, 0x6b, 0xd1,
- 0x4b, 0x85, 0xd4, 0xcd, 0x87, 0x1c, 0x8c, 0x69, 0xfa, 0x11, 0xd1, 0x0f,
- 0xeb, 0x1b, 0x4b, 0x49,
- 0x2b, 0xf2, 0xbc, 0x35, 0xfb, 0x7e, 0x33, 0xb2, 0x13, 0xad, 0x4b, 0xda,
- 0xbe, 0x80, 0x2b, 0x22,
- 0x0b, 0xdf, 0x25, 0xdc, 0x6e, 0xe1, 0xe7, 0xfb, 0xf5, 0x78, 0x3d, 0x28,
- 0x8d, 0x48, 0x0b, 0xba,
- 0xe7, 0xcb, 0x61, 0x19, 0xed, 0x27, 0x40, 0xe4, 0xb6, 0xe0, 0x3e, 0xe1,
- 0x56, 0x5e, 0xe7, 0xc1,
- 0xc7, 0xe6, 0xf8, 0xf0, 0x78, 0xb8, 0x94, 0xad, 0x50, 0x35, 0x48, 0x13,
- 0x65, 0x96, 0xc7, 0x59,
- 0xa7, 0x91, 0x90, 0x08, 0x04, 0xda, 0x2b, 0x76, 0xb9, 0x89, 0xd2, 0xc6,
- 0x30, 0x0d, 0xa7, 0x32,
- 0x87, 0xbc, 0x09, 0xe1, 0x91, 0x45, 0xff, 0x3f, 0x5f, 0x5c, 0xa4, 0x34,
- 0x03, 0xc5, 0x87, 0xaa,
- 0x67, 0x7f, 0x40, 0x3b, 0xfc, 0x1e, 0x96, 0x03, 0xa8, 0x32, 0x25, 0xaf,
- 0x9a, 0xf8, 0x67, 0xe4,
- 0x47, 0x52, 0xd9, 0xd2, 0x69, 0x81, 0x42, 0x4a, 0x4e, 0xe7, 0x53, 0x5d,
- 0xa9, 0x30, 0x47, 0x7c,
- 0x27, 0x25, 0xb1, 0x2a, 0x15, 0xe3, 0xfd, 0x91, 0xa7, 0x5b, 0xc9, 0x88,
- 0xfc, 0xab, 0x27, 0x17,
- 0x07, 0x08, 0x28, 0xc3, 0x80, 0x7c, 0x29, 0xd8, 0x41, 0x8e, 0xbf, 0x7a,
- 0xcf, 0x63, 0x07, 0x8f,
- 0x24, 0x60, 0x23, 0x5d, 0xcf, 0x55, 0x2f, 0xe9, 0x8a, 0x87, 0x08, 0x7d,
- 0x0d, 0xd1, 0x24, 0x8b,
- 0x04, 0x4d, 0xba, 0xb4, 0x5a, 0xca, 0xfb, 0xa0, 0x6c, 0x52, 0x7e, 0x8f,
- 0x3e, 0x19, 0x04, 0x13,
- 0x64, 0x3a, 0xd2, 0x4c, 0x26, 0xa8, 0x44, 0x7b, 0x85, 0xee, 0xe4, 0x5a,
- 0x6b, 0x82, 0x64, 0x78,
- 0x44, 0x17, 0x4b, 0xa5, 0xb3, 0x37, 0x90, 0x32, 0x63, 0x3b, 0x92, 0xa8,
- 0x58, 0x4a, 0x44, 0xe0,
- 0xa4, 0xd4, 0x02, 0x7f, 0xde, 0x6c, 0xf9, 0x0e, 0x94, 0x55, 0x13, 0x33,
- 0xc1, 0x77, 0xa4, 0xae,
- 0x84, 0xf9, 0x9b, 0x96, 0x4b, 0xf3, 0x2d, 0x47, 0x72, 0x80, 0x65, 0xc1,
- 0xf2, 0xbf, 0x84, 0x36,
- 0xe4, 0x8e, 0xf3, 0x6e, 0x37, 0x91, 0x92, 0x9c, 0x9b, 0x3c, 0xff, 0x14,
- 0xa7, 0x24, 0xe4, 0x5d,
- 0xc4, 0xa3, 0x6a, 0x87, 0xa2, 0x0e, 0x46, 0xd5, 0x7d, 0xe9, 0x89, 0xe6,
- 0x94, 0xec, 0xc4, 0xc5,
- 0xa2, 0x5e, 0xe5, 0x91, 0xa9, 0xc3, 0x9e, 0xfe, 0xce, 0x2e, 0x52, 0x1a,
- 0xe0, 0x83, 0xa2, 0x55,
- 0x82, 0x73, 0x7c, 0x78, 0x3c, 0x5c, 0x4a, 0xb7, 0x28, 0xfb, 0x24, 0xe8,
- 0xd3, 0x4b, 0x82, 0xcd,
- 0xe2, 0x04, 0x14, 0x80, 0x40, 0x3e, 0xf5, 0x6c, 0xc1, 0x47, 0xbe, 0x3d,
- 0x86, 0xd0, 0xe2, 0xa6,
- 0xc2, 0x29, 0x8d, 0x69, 0xd5, 0xa1, 0x21, 0x25, 0x27, 0x92, 0xc8, 0xcf,
- 0xb5, 0x18, 0xc2, 0x3e,
- 0x22, 0xea, 0xc4, 0xb3, 0xb8, 0xfa, 0x48, 0x19, 0xd0, 0xfc, 0x49, 0x54,
- 0x2c, 0x25, 0x22, 0x70,
- 0x02, 0xc7, 0x5d, 0x5a, 0x2d, 0x65, 0x9c, 0x50, 0x36, 0x29, 0x3f, 0xa6,
- 0x1f, 0xed, 0x02, 0xe8,
- 0x62, 0xb0, 0x35, 0xa2, 0x51, 0x07, 0x23, 0x8b, 0xdf, 0x95, 0xa5, 0x73,
- 0x4a, 0x76, 0x62, 0x83,
- 0x42, 0x9d, 0xac, 0x4b, 0xc4, 0x98, 0xf7, 0xc2, 0x39, 0x40, 0xd3, 0x81,
- 0x79, 0xbe, 0x42, 0x1b,
- 0x61, 0xf5, 0xa7, 0xd5, 0x8b, 0xb1, 0xf1, 0xf3, 0xf2, 0x49, 0x64, 0x86,
- 0xbb, 0x0c, 0x61, 0x1f,
- 0x41, 0xd8, 0x3e, 0x3c, 0x1e, 0x2e, 0x25, 0xba, 0x14, 0x9c, 0x12, 0x74,
- 0x88, 0xc4, 0x41, 0x87,
- 0x21, 0xaf, 0x56, 0xc4, 0x62, 0x4c, 0x9a, 0x61, 0xfd, 0x20, 0x88, 0xa1,
- 0xdd, 0x5f, 0x21, 0xec,
- 0x01, 0x82, 0xcf, 0x2d, 0xf7, 0xd3, 0x4e, 0x28, 0x1b, 0xf5, 0xfe, 0x53,
- 0xee, 0x97, 0x01, 0x74,
- 0xe1, 0x41, 0x86, 0xf7, 0x9a, 0x88, 0x27, 0x14, 0xec, 0x9b, 0x7f, 0xc8,
- 0x77, 0xaa, 0xe1, 0x3a,
- 0xc1, 0x6c, 0x1f, 0x1e, 0x0f, 0x17, 0xf3, 0x5d, 0x0a, 0x4e, 0x09, 0x3a,
- 0x44, 0x62, 0xc1, 0xa2,
- 0xa1, 0x1b, 0x77, 0xe6, 0x73, 0x75, 0x4c, 0x86, 0xe3, 0xf2, 0x93, 0xef,
- 0x11, 0xf9, 0xa1, 0xc9,
- 0x81, 0x36, 0xee, 0x0f, 0xe6, 0xea, 0x98, 0xcf, 0x05, 0x27, 0xe5, 0x1d,
- 0x22, 0x31, 0x81, 0x51,
- 0xba, 0x33, 0xff, 0xaf, 0xb6, 0x3a, 0xc1, 0xb8, 0x65, 0x01, 0x95, 0xbe,
- 0x64, 0xd5, 0xba, 0x3f,
- 0x9a, 0x1e, 0x66, 0x46, 0x23, 0xa5, 0x15, 0xf1, 0x83, 0xd4, 0xe3, 0x4c,
- 0x57, 0x1d, 0x9a, 0xa7,
- 0xfa, 0x69, 0x0e, 0xbe, 0x5f, 0xc7, 0xaa, 0x2a, 0x6a, 0x68, 0x79, 0x99,
- 0x02, 0x86, 0xfa, 0xcc,
- 0xda, 0x44, 0x97, 0x57, 0xca, 0x58, 0x7e, 0x63, 0x8c, 0xbd, 0x0f, 0x6b,
- 0x31, 0x4e, 0xda, 0x54,
- 0x3a, 0x87, 0xde, 0x8d, 0xa7, 0x03, 0x17, 0x5f, 0x7b, 0xd3, 0x8e, 0xf0,
- 0xa8, 0x73, 0x3a, 0x1a,
- 0x1a, 0xaa, 0x47, 0x64, 0x32, 0x9c, 0xc3, 0x16, 0x9d, 0x06, 0xf8, 0x02,
- 0x9b, 0xbb, 0x1a, 0x82,
- 0x7a, 0xdd, 0x2f, 0x9c, 0x4e, 0xfe, 0x7c, 0xcd, 0x74, 0xba, 0x62, 0xd7,
- 0xce, 0x20, 0x7a, 0xe9,
- 0x5a, 0xf0, 0xb6, 0x75, 0xdb, 0x61, 0xa8, 0x84, 0x92, 0x6f, 0x14, 0x25,
- 0xfd, 0xe8, 0x5a, 0x71,
- 0x79, 0x98, 0xbd, 0xeb, 0x94, 0x48, 0xae, 0xb5, 0x59, 0x66, 0xa3, 0x22,
- 0x3f, 0x5a, 0x79, 0x75,
- 0x59, 0xb5, 0x24, 0x02, 0x01, 0xd7, 0x7a, 0xfc, 0xbf, 0xb3, 0xd5, 0xd0,
- 0x0c, 0x92, 0x59, 0xed,
- 0x39, 0xc2, 0x4c, 0xfa, 0x7d, 0xb5, 0xc5, 0x27, 0x56, 0x0f, 0x4f, 0x05,
- 0x59, 0x09, 0x39, 0x86,
- 0x19, 0xef, 0xd5, 0x13, 0xe8, 0x2a, 0x11, 0x6e, 0xb0, 0xda, 0x39, 0xf7,
- 0x6a, 0xc1, 0x19, 0x1e,
- 0xf9, 0x2c, 0x9c, 0xc9, 0x85, 0x71, 0x78, 0x52, 0x47, 0xb4, 0xb8, 0x6c,
- 0xf3, 0xfc, 0xf9, 0x50,
- 0xd9, 0x01, 0x05, 0x20, 0x10, 0xee, 0xac, 0x1b, 0xa1, 0x61, 0xce, 0x9e,
- 0xc0, 0x34, 0xd9, 0xc8,
- 0xb9, 0x76, 0x6d, 0xd8, 0x6c, 0x8c, 0x13, 0xc0, 0x48, 0xdd, 0x54, 0x4b,
- 0x95, 0xaf, 0xb9, 0xa3,
- 0x99, 0x5b, 0xf4, 0x31, 0xf9, 0x13, 0xc7, 0x89, 0xae, 0x08, 0x22, 0xb9,
- 0xa6, 0x67, 0x99, 0x3b,
- 0xff, 0xa6, 0x7b, 0x27, 0xf2, 0xde, 0x1f, 0xa2, 0x1d, 0xcf, 0xf9, 0x45,
- 0xd2, 0x08, 0xff, 0xab,
- 0xdf, 0x8b, 0xe2, 0xce, 0x67, 0x41, 0xcb, 0xeb, 0xfb, 0x1a, 0x8f, 0xb7,
- 0xe1, 0xc0, 0xdf, 0x33,
- 0xbf, 0xfc, 0x8a, 0x36, 0x1b, 0x23, 0x74, 0x30, 0x12, 0xa6, 0x15, 0x62,
- 0xb4, 0x5b, 0xbf, 0x58,
- 0x9f, 0xd1, 0x13, 0xdf, 0x8e, 0xbc, 0xa0, 0x79, 0xf4, 0x73, 0x63, 0x90,
- 0x87, 0x93, 0x9f, 0xc0,
- 0x7f, 0x12, 0x5a, 0x05, 0xe3, 0xe7, 0xc9, 0x45, 0x03, 0x1d, 0xe2, 0x0b,
- 0x1e, 0xae, 0x7f, 0x8e,
- 0x5f, 0x3f, 0xc3, 0xec, 0x76, 0x78, 0x1d, 0x0c, 0xe5, 0xc8, 0x94, 0xf9,
- 0x2d, 0x66, 0x5f, 0x16,
- 0x3f, 0x48, 0xab, 0x14, 0x0a, 0x1a, 0xa2, 0xd7, 0x0c, 0x74, 0x0e, 0x2c,
- 0x78, 0xfd, 0x3f, 0x7d,
- 0x1f, 0x65, 0x32, 0xfd, 0x9f, 0x85, 0x76, 0x9e, 0xea, 0xa1, 0x78, 0xde,
- 0x4b, 0x35, 0x1f, 0xe5,
- 0x3c, 0x0d, 0x39, 0x63, 0xd0, 0xac, 0x70, 0xaf, 0x21, 0xa8, 0xcf, 0xd9,
- 0x89, 0x87, 0x3c, 0xe1,
- 0x1c, 0x20, 0xa0, 0x8a, 0x45, 0x33, 0xa4, 0xe6, 0xc7, 0x7d, 0xb9, 0x2b,
- 0xba, 0x4f, 0x1c, 0x79,
- 0x7c, 0x57, 0xc8, 0x72, 0x39, 0x51, 0x1b, 0x3d, 0x2e, 0xc1, 0x23, 0xfe,
- 0xef, 0xd4, 0x7c, 0x12,
- 0x5c, 0x7a, 0x51, 0x9b, 0xac, 0xce, 0xcf, 0x74, 0xc8, 0x14, 0x55, 0x0c,
- 0xdc, 0x1c, 0x5c, 0x8a,
- 0xbc, 0xb9, 0x18, 0x41, 0xc1, 0x95, 0xa6, 0x48, 0x3f, 0x7a, 0xd4, 0x97,
- 0x45, 0x21, 0xbc, 0xc4,
- 0x9c, 0x94, 0x81, 0xa8, 0x54, 0x0a, 0x72, 0x01, 0xd9, 0xaf, 0xa2, 0x65,
- 0x76, 0xe9, 0x9c, 0x5c,
- 0xfc, 0xe3, 0xe9, 0x50, 0x28, 0x68, 0xcd, 0xda, 0x30, 0x13, 0x38, 0xb0,
- 0x23, 0x72, 0xfc, 0x37,
- 0xdc, 0xce, 0x70, 0xb9, 0xbd, 0xf7, 0x19, 0x93, 0xd6, 0xc6, 0x4e, 0x42,
- 0x10, 0xba, 0xdc, 0xaf,
- 0x30, 0xda, 0x34, 0x7c, 0x3e, 0x31, 0xbe, 0x8c, 0x95, 0x5e, 0x4d, 0x8b,
- 0xcb, 0xac, 0x30, 0xd4,
- 0x10, 0xf7, 0xad, 0x95, 0xab, 0xae, 0x6a, 0xc5, 0x73, 0x8b, 0x3b, 0x79,
- 0xf8, 0x64, 0x10, 0x4c,
- 0x70, 0x80, 0xc5, 0x6d, 0xd7, 0xcc, 0xd5, 0x1e, 0x9a, 0x37, 0xa1, 0xac,
- 0xad, 0xff, 0x70, 0x27,
- 0x50, 0xad, 0x5c, 0x84, 0x42, 0x53, 0x01, 0x57, 0x7c, 0xe2, 0xd7, 0x5e,
- 0x9e, 0x37, 0x50, 0xbf,
- 0xb0, 0x6e, 0x15, 0x5e, 0x2f, 0x08, 0x68, 0x6b, 0x8b, 0x8c, 0x56, 0xc5,
- 0x07, 0x0a, 0xb0, 0xf1,
- 0x90, 0x43, 0x8c, 0xb7, 0xba, 0x97, 0xbc, 0x22, 0x6d, 0x59, 0x20, 0x37,
- 0x34, 0xc2, 0x90, 0x69,
- 0xf0, 0x34, 0xe4, 0x4f, 0xc6, 0xf5, 0x03, 0xf9, 0x84, 0xe5, 0xba, 0xe2,
- 0x61, 0x59, 0xf0, 0x02,
- 0xd0, 0x19, 0x7d, 0xa6, 0x53, 0x6a, 0xd7, 0xb0, 0x62, 0x30, 0xcc, 0x10,
- 0x52, 0x91, 0xd0, 0x9a,
- 0xf3, 0x71, 0x76, 0x38, 0x1c, 0x43, 0xd1, 0x81, 0xa9, 0x39, 0x7b, 0x17,
- 0x90, 0x23, 0xf3, 0x9e,
- 0xd3, 0x5c, 0xef, 0xd1, 0x89, 0xdc, 0x05, 0xc8, 0x4f, 0xec, 0x0d, 0xe5,
- 0xa3, 0xeb, 0xd3, 0x06,
- 0xb3, 0x2b, 0x87, 0x29, 0xf5, 0xbe, 0xba, 0x13, 0xa6, 0x50, 0x97, 0x30,
- 0xf6, 0x70, 0xb3, 0x6d,
- 0x93, 0x06, 0x1e, 0xc0, 0x60, 0x21, 0x6e, 0x5a, 0x40, 0x85, 0xe1, 0xc2,
- 0xc5, 0xb8, 0x93, 0xf5,
- 0x73, 0xc5, 0x57, 0x1a, 0x0d, 0x7a, 0x07, 0x66, 0xb7, 0xeb, 0x60, 0x59,
- 0x5c, 0x85, 0x73, 0xbb,
- 0x53, 0xe8, 0xce, 0xf3, 0x98, 0xe5, 0xd3, 0x2f, 0x51, 0x3e, 0x16, 0xab,
- 0x6f, 0x4d, 0x53, 0x23,
- 0x33, 0x9f, 0xa6, 0x0b, 0xe4, 0x87, 0x6c, 0xf4, 0xb8, 0x82, 0x8c, 0x7e,
- 0x3a, 0xd6, 0x33, 0x48,
- 0x13, 0xb2, 0x3f, 0xe2, 0x71, 0x18, 0xb8, 0xbd, 0x5e, 0x57, 0xfa, 0x8c,
- 0x09, 0x1e, 0x13, 0xd0,
- 0x75, 0x4f, 0xb0, 0xf4, 0x7a, 0xd5, 0x60, 0x96, 0xed, 0x90, 0x21, 0x70,
- 0x7d, 0x71, 0x75, 0x40,
- 0x55, 0x62, 0x29, 0x1d, 0xef, 0x4a, 0xb4, 0xdf, 0x0b, 0x45, 0x57, 0x82,
- 0x4e, 0xb9, 0x55, 0xd8,
- 0x35, 0x15, 0x41, 0xe5, 0x93, 0x28, 0x0b, 0x04, 0xe2, 0xf9, 0xcd, 0x57,
- 0x1b, 0x22, 0x35, 0xb3,
- 0x15, 0x38, 0xd8, 0x0c, 0x06, 0xb7, 0xdf, 0x4d, 0x04, 0x2c, 0xbb, 0xa5,
- 0x28, 0xea, 0x15, 0x2b,
- 0xf5, 0xfb, 0x91, 0xd6, 0x6b, 0xec, 0xb6, 0x71, 0xf3, 0x42, 0x3a, 0x3e,
- 0xb1, 0xd7, 0xf5, 0x65,
- 0xd5, 0xd6, 0x08, 0x3f, 0xfe, 0x73, 0x62, 0x38, 0x15, 0x97, 0x4c, 0xcc,
- 0x82, 0x1f, 0xd5, 0xfd,
- 0xb5, 0xa1, 0x60, 0xc7, 0x82, 0x11, 0xdd, 0xe3, 0xfc, 0x2b, 0xd6, 0x19,
- 0xd7, 0x84, 0xb5, 0x96,
- 0x95, 0x8c, 0xf9, 0x2e, 0x17, 0x8e, 0x09, 0xaa, 0x1a, 0xfe, 0xa0, 0xeb,
- 0xe4, 0x4c, 0x95, 0x0e,
- 0xb6, 0xe4, 0xf2, 0xb0, 0x58, 0xa7, 0x0f, 0x9b, 0xd1, 0xf7, 0x17, 0xec,
- 0x26, 0xfe, 0xb6, 0x0a,
- 0x96, 0xc9, 0x6b, 0x59, 0xcd, 0x38, 0xdb, 0xd2, 0x37, 0x22, 0x61, 0x1e,
- 0x15, 0x36, 0x96, 0x92,
- 0xf6, 0xbe, 0x03, 0xa1, 0xb1, 0x5a, 0x64, 0x09, 0xde, 0x9e, 0xfb, 0xcb,
- 0x40, 0xad, 0xf6, 0xf9,
- 0xd6, 0x93, 0x9a, 0x48, 0x24, 0xc5, 0xb0, 0x40, 0x38, 0x4b, 0x8d, 0x39,
- 0x73, 0x65, 0xd6, 0x61,
- 0x36, 0x50, 0xd3, 0x92, 0x49, 0x9e, 0xd9, 0x7c, 0xcf, 0x25, 0x0c, 0xa2,
- 0xea, 0x58, 0x36, 0x2f,
- 0x16, 0x7d, 0x4a, 0x7b, 0xdc, 0x01, 0x0d, 0x35, 0x29, 0xf0, 0x7a, 0x50,
- 0xd9, 0x90, 0x16, 0xb7,
- 0x76, 0x0a, 0x22, 0x83, 0xa0, 0x63, 0xb2, 0xee, 0xc0, 0x4c, 0xe0, 0x85,
- 0x8c, 0x0b, 0x76, 0xdc,
- 0x56, 0x27, 0xbb, 0x6a, 0x35, 0xfc, 0x66, 0xa7, 0x26, 0x99, 0x96, 0x77,
- 0xbf, 0xc3, 0x56, 0x44,
- },
- { /* 15 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x94, 0x84, 0xdd, 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c, 0x72,
- 0x76, 0xa2, 0x6e, 0xcf,
- 0xeb, 0xcb, 0x79, 0x20, 0xb9, 0x4e, 0xba, 0xb3, 0xf4, 0x90, 0xd8, 0xe4,
- 0xec, 0x87, 0xdc, 0x5d,
- 0x7f, 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b, 0x8e, 0xd8, 0xb4, 0x96,
- 0x9a, 0x25, 0xb2, 0x92,
- 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c, 0xb7, 0xa5, 0x2b, 0xe3, 0x73, 0x0b,
- 0x1b, 0xcd, 0x7b, 0xba,
- 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51, 0xab, 0x1f, 0x79,
- 0x6d, 0x6f, 0x15, 0x75,
- 0xfe, 0x9e, 0x8b, 0x60, 0x08, 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab, 0xef,
- 0xf7, 0x4a, 0xa7, 0xe7,
- 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50, 0xae, 0xa5, 0x3b, 0xc7, 0x9d,
- 0x81, 0xe8, 0xc9, 0x28,
- 0x2a, 0xaa, 0x27, 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6, 0x16,
- 0x36, 0x59, 0xf6, 0xb7,
- 0xbe, 0x2e, 0xfa, 0x90, 0x1c, 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a, 0x64,
- 0x40, 0xfb, 0x98, 0x78,
- 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2, 0x95, 0x3e, 0xf2,
- 0xda, 0xde, 0x2a, 0xea,
- 0x55, 0xe5, 0x83, 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52, 0x80,
- 0xac, 0x7c, 0x44, 0x25,
- 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c, 0x7d, 0xe6, 0x95, 0x1d,
- 0x2d, 0x94, 0x8d, 0x0d,
- 0xab, 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94, 0x07, 0xae, 0xf9, 0x6f,
- 0x5b, 0x36, 0xe3, 0xc2,
- 0xd4, 0x34, 0xac, 0xe0, 0xa9, 0x29, 0xa0, 0x9f, 0x89, 0x76, 0x4d, 0xf9,
- 0xc1, 0x13, 0x51, 0x50,
- 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27, 0xf3, 0x3e, 0x21, 0x8b,
- 0xb7, 0xb1, 0x3f, 0x9f,
- 0x54, 0x97, 0x4e, 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f, 0x2c,
- 0x6c, 0xb2, 0x2f, 0xad,
- 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12, 0xc4, 0x69, 0xd6, 0x42, 0x63, 0x5e,
- 0x1a, 0x10, 0x41, 0x62,
- 0xbf, 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a, 0xd7, 0xc8,
- 0x80, 0x35, 0xf3, 0xf0,
- 0x2b, 0xd8, 0xea, 0xf3, 0x85, 0x5c, 0x7e, 0xda, 0x22, 0xd2, 0xbb, 0xba,
- 0xf6, 0x97, 0x9d, 0x3f,
- 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74, 0x87, 0xe9, 0x7c, 0x27,
- 0x77, 0x7f, 0x54, 0x17,
- 0xd5, 0x46, 0x61, 0x93, 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10, 0x55,
- 0x01, 0xdd, 0x3a, 0xd8,
- 0xaa, 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7, 0x73, 0x79, 0xa4, 0xc3,
- 0x9b, 0xf8, 0x88, 0x4a,
- 0x3e, 0x8d, 0x18, 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8, 0xb1,
- 0xed, 0x5a, 0xe6, 0x85,
- 0x7e, 0x3d, 0x69, 0x43, 0x20, 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9, 0x3a,
- 0x5a, 0xeb, 0xd9, 0x1a,
- 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9, 0x69, 0xe0, 0x80, 0x47, 0x85, 0x48,
- 0x2c, 0x49, 0xb7, 0xd5,
- 0x95, 0xf6, 0x10, 0x63, 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31, 0xde,
- 0xb6, 0x6c, 0x05, 0x47,
- 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3, 0x53, 0x74, 0xd7, 0x5d, 0xac,
- 0xc0, 0xce, 0x6b, 0x88,
- 0x6b, 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec, 0x9a, 0x31,
- 0x41, 0x26, 0xa2, 0xa0,
- 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75, 0xde, 0x45, 0xab, 0xa4, 0xf6, 0x43,
- 0x37, 0x84, 0xcc, 0x6f,
- 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25, 0x7c, 0x42, 0xd5,
- 0xad, 0xa1, 0x7e, 0xfd,
- 0x14, 0x27, 0x3f, 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e, 0xa7,
- 0xdb, 0x03, 0x10, 0x32,
- 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a, 0xf1, 0x61, 0x9b, 0x14, 0x1e, 0x58,
- 0xd8, 0xa7, 0x5e, 0x99,
- 0x3c, 0x69, 0x41, 0x55, 0x7c, 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72, 0x2a,
- 0xae, 0x05, 0x30, 0x56,
- 0x43, 0x26, 0xe5, 0x65, 0x78, 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6, 0xbc,
- 0x34, 0x20, 0x82, 0xc4,
- 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15, 0xcc, 0xaa, 0xce,
- 0x42, 0x82, 0xec, 0x0b,
- 0xbd, 0xb8, 0x6e, 0x05, 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d, 0x53,
- 0xc3, 0x6a, 0x25, 0x23,
- 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b, 0x7c, 0xca, 0xbf, 0x01, 0x21,
- 0xb5, 0xc8, 0x4b, 0xec,
- 0x56, 0x73, 0x17, 0x25, 0xc9, 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5, 0xb7,
- 0x2f, 0xed, 0xf9, 0x7e,
- 0xc2, 0xf7, 0xca, 0x35, 0x74, 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9, 0xc5,
- 0x59, 0x4f, 0x97, 0xb1,
- 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91, 0x5c, 0xe8, 0xcd, 0x11, 0xf8, 0x4e,
- 0xee, 0xfe, 0xa8, 0x2e,
- 0x16, 0xc3, 0x66, 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94, 0x3c,
- 0x98, 0x5c, 0xc6, 0xe1,
- 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b, 0x39, 0x81, 0x20, 0xaa,
- 0x02, 0x79, 0x74, 0x73,
- 0xfd, 0x08, 0x1f, 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c, 0xd8,
- 0x74, 0xdb, 0x1a, 0xbc,
- 0x97, 0x12, 0x49, 0x85, 0xd1, 0x0d, 0xeb, 0x4d, 0xe6, 0xf2, 0x8b, 0x45,
- 0xf5, 0x33, 0xd3, 0x94,
- 0x03, 0x96, 0x94, 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba, 0xe7, 0x37,
- 0x83, 0x91, 0xbd, 0x5b,
- 0x7c, 0xd9, 0x30, 0xa5, 0x68, 0x43, 0x51, 0xfe, 0x12, 0x62, 0x53, 0xa1,
- 0x19, 0xb4, 0x0f, 0xc9,
- 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64, 0x0c, 0x46, 0x68, 0x2a, 0x3f, 0xd3,
- 0x6f, 0x16, 0x61, 0x06,
- 0xfc, 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e, 0x11, 0x74,
- 0xb4, 0x15, 0x71, 0x34,
- 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78, 0x35, 0x08, 0x4d, 0x56, 0x7d, 0x06,
- 0xc2, 0xb7, 0x1f, 0xfb,
- 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03, 0xc3, 0x8e, 0xc9, 0x90,
- 0x58, 0x92, 0xad, 0x69,
- 0x83, 0x35, 0x76, 0xb6, 0x44, 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5, 0xe2,
- 0x2e, 0x30, 0xc3, 0xa6,
- 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf, 0x15, 0x1c, 0xfd, 0x62, 0x7f,
- 0xaf, 0xd8, 0x0a, 0x8e,
- 0x7d, 0xab, 0xfd, 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e, 0x0d,
- 0xd9, 0x7a, 0x64, 0x41,
- 0x02, 0xe4, 0x59, 0xe6, 0x48, 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba, 0x9b,
- 0x43, 0x5f, 0xd6, 0xd3,
- 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92, 0x25, 0xd6, 0xe9,
- 0x35, 0xfd, 0xb8, 0x1c,
- 0xd6, 0xd0, 0xf5, 0x06, 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7, 0x62,
- 0x82, 0x4c, 0x87, 0x83,
- 0x42, 0x54, 0x28, 0x16, 0x5c, 0x83, 0x98, 0x81, 0x1b, 0x53, 0x9b, 0x10,
- 0xf4, 0xee, 0xe9, 0x4c,
- 0x3d, 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a, 0x95, 0x8b, 0x2f, 0x86,
- 0x6e, 0xcb, 0x5b, 0xde,
- 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd, 0x22, 0x32, 0xef, 0xc3, 0x43, 0xf4,
- 0x18, 0x69, 0x35, 0x11,
- 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c, 0x4a, 0xf8, 0x84, 0x69,
- 0x99, 0x81, 0xfc, 0x39,
- 0x57, 0x01, 0xda, 0x56, 0xed, 0x1f, 0x2f, 0x24, 0x30, 0xb0, 0xe8, 0x1b,
- 0xef, 0x23, 0x92, 0xf6,
- 0x28, 0x4e, 0x7e, 0x66, 0xe9, 0x76, 0xc8, 0x2f, 0xbe, 0x68, 0x5c, 0x8d,
- 0x75, 0x06, 0x20, 0x64,
- 0xbc, 0xca, 0xa3, 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30, 0xff,
- 0x03, 0xa4, 0x4e, 0xab,
- 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4, 0x21, 0xc2, 0xf5, 0x28, 0x3c, 0xb0,
- 0x73, 0x8d, 0xbc, 0xf1,
- 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a, 0x8f, 0x60, 0x50, 0xc2,
- 0x05, 0x2f, 0xd2, 0x3e,
- 0x78, 0xd2, 0x82, 0xaa, 0xf8, 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4, 0x54,
- 0x9f, 0x0a, 0x60, 0xac,
- 0xec, 0x56, 0x5f, 0xba, 0x45, 0xbd, 0xc6, 0xc9, 0x7b, 0xf0, 0x88, 0x26,
- 0xe9, 0xa8, 0x0e, 0x63,
- 0x86, 0x4c, 0x09, 0xca, 0xf0, 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f, 0xbb,
- 0x68, 0x40, 0xc7, 0x4b,
- 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f, 0xcb, 0xdf, 0xa4, 0x83, 0x23, 0xc9,
- 0x1e, 0xe2, 0xa9, 0x84,
- 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4, 0x2a, 0x5b, 0x97, 0x5f,
- 0x84, 0xc7, 0x1b, 0x16,
- 0xf9, 0x03, 0xad, 0xfa, 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb, 0x2d,
- 0xf2, 0x65, 0x75, 0xd9,
- 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c, 0x4b, 0xa3, 0x2d, 0xda, 0xa6,
- 0x45, 0xd4, 0x4a, 0x46,
- 0x2d, 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3, 0xd9, 0x65, 0xb6, 0xd4,
- 0x33, 0x76, 0x24, 0x89,
- 0x52, 0x78, 0xa5, 0x2a, 0x59, 0x61, 0x36, 0xf8, 0x57, 0xbd, 0x02, 0x42,
- 0xa9, 0x53, 0x96, 0x1b,
- 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40, 0x2d, 0xf5, 0x6e, 0x30,
- 0xdf, 0xf1, 0xf8, 0xd4,
- 0xac, 0xe6, 0x2e, 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9, 0xad,
- 0x5e, 0x19, 0x31, 0xfc,
- 0x38, 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56, 0xf2, 0x86, 0xc5, 0xdf,
- 0x28, 0xbb, 0x5f, 0x33,
- 0x47, 0x2d, 0x57, 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71, 0x49,
- 0xb2, 0x9e, 0xed, 0xa1,
- 0xd3, 0xa9, 0x8a, 0x7a, 0x55, 0xda, 0xdc, 0xe5, 0x06, 0x16, 0x1d, 0x3b,
- 0xc4, 0x3c, 0x83, 0x6e,
- 0xc7, 0x8e, 0xb5, 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22, 0x33, 0x9c,
- 0x1f, 0x3f, 0x93, 0x5c,
- 0x53, 0x0a, 0x68, 0x59, 0x7d, 0xc6, 0xe5, 0xab, 0x23, 0x6a, 0x5f, 0xee,
- 0x69, 0x9d, 0xfd, 0x93,
- 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf, 0x02, 0xa0, 0xad, 0xb2, 0xeb, 0x78,
- 0xf3, 0xb8, 0x4f, 0x01,
- 0xb8, 0xc1, 0x11, 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87, 0x0a,
- 0x85, 0x1a, 0x21, 0xce,
- 0xd2, 0xdb, 0x47, 0x09, 0x71, 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40, 0x97,
- 0x04, 0xf2, 0xe8, 0xe6,
- 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e, 0x08, 0x89, 0x2c, 0xe5,
- 0x72, 0x50, 0x86, 0x29,
- 0x39, 0x10, 0x3e, 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98, 0x73,
- 0xe8, 0x75, 0x34, 0xbb,
- 0xad, 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd, 0xfc, 0x19, 0xf4, 0x01,
- 0x9e, 0xd7, 0x5a, 0x74,
- 0xed, 0x24, 0x92, 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5, 0x8a,
- 0x29, 0x66, 0x65, 0xeb,
- 0x79, 0xa0, 0x4f, 0xd9, 0xdc, 0x3d, 0x48, 0x22, 0x75, 0x6f, 0xb9, 0xf8,
- 0x5f, 0xc4, 0x0b, 0x24,
- 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54, 0xaf, 0x29, 0xfb, 0xb7, 0x0d, 0x6e,
- 0xc5, 0xe1, 0xb9, 0xb6,
- 0x92, 0x6b, 0x36, 0xf9, 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61, 0x1c,
- 0xb3, 0x43, 0xd7, 0x79,
- 0xf8, 0x71, 0x60, 0x89, 0xd0, 0x86, 0xa2, 0x3f, 0x24, 0xc4, 0xa6, 0x81,
- 0x32, 0xab, 0x1e, 0x51,
- 0x6c, 0xf5, 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca, 0xf3,
- 0x44, 0x09, 0x70, 0x9e,
- 0x13, 0xba, 0x19, 0xa9, 0x69, 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e, 0x65,
- 0xde, 0x2c, 0xc2, 0x0c,
- 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa, 0x1c, 0x12, 0x17,
- 0xa8, 0x8e, 0xac, 0xc3,
- 0x3b, 0xf4, 0x67, 0xcf, 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22, 0xe8,
- 0xab, 0x2a, 0xe2, 0x68,
- 0xaf, 0x70, 0xba, 0xdf, 0x3d, 0x99, 0x8d, 0x1b, 0x14, 0x74, 0x4e, 0x9a,
- 0xdd, 0x88, 0x8c, 0xa7,
- 0xd0, 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac, 0xfa, 0x0c,
- 0x47, 0xad, 0x3e, 0x35,
- 0x44, 0xbb, 0xc3, 0xff, 0x84, 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96, 0x7e,
- 0x31, 0x0f, 0x50, 0xfa,
- 0x2e, 0xa1, 0x95, 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf, 0x51, 0xe3,
- 0xb0, 0xe7, 0x99, 0xd2,
- 0xba, 0x25, 0x48, 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d, 0x91,
- 0xc6, 0x45, 0xf7, 0x1d,
- 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c, 0xdd, 0xb5, 0xb1, 0x4f, 0x89, 0x07,
- 0x5c, 0x60, 0x45, 0x8f,
- 0x51, 0xee, 0x31, 0xbf, 0x35, 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5, 0x75,
- 0x2a, 0xc2, 0x2b, 0x40,
- 0x11, 0x5e, 0x40, 0x4f, 0x21, 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4, 0xfe,
- 0x9d, 0x73, 0x14, 0xdf,
- 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42, 0x71, 0xa8, 0x8c,
- 0xeb, 0xd1, 0x7a, 0x10,
- 0xfa, 0x95, 0x39, 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9, 0x1c, 0x1a,
- 0x71, 0xf4, 0xc8, 0x82,
- 0x6e, 0x11, 0xe4, 0x7f, 0x25, 0x2c, 0x9a, 0x21, 0xb6, 0xe1, 0x70, 0x68,
- 0x07, 0x56, 0xa6, 0x4d,
- 0x04, 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f, 0x13, 0xda, 0xb7, 0xf5,
- 0x86, 0xbe, 0x6f, 0x65,
- 0x90, 0x8f, 0x6f, 0x1f, 0x2d, 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb, 0x87,
- 0xf0, 0x1c, 0x01, 0xaa,
- 0xef, 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a, 0x6f, 0x11,
- 0x6a, 0x39, 0xb3, 0x38,
- 0x7b, 0x44, 0x16, 0x3f, 0x94, 0xb0, 0x2d, 0x84, 0x9d, 0x02, 0x03, 0x63,
- 0x1c, 0x9b, 0xdd, 0xf7,
- 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72, 0xc2, 0x36, 0x2d, 0xc4,
- 0xc7, 0x98, 0xcd, 0xc5,
- 0xfb, 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca, 0xb8, 0x7e, 0x41, 0xb6,
- 0xb1, 0x3a, 0xa3, 0x0a,
- 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5, 0xf3, 0xc1, 0x36, 0xa6, 0xf5, 0x20,
- 0x2b, 0x1f, 0x11, 0x98,
- 0x10, 0x2c, 0x8d, 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee, 0x99, 0x52,
- 0x5d, 0xbd, 0x7f, 0x57,
- 0x7a, 0x36, 0xdb, 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5, 0x5e, 0xcf,
- 0xdc, 0x55, 0xb6, 0x7f,
- 0xee, 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f, 0x93, 0x9d, 0x32, 0xbd,
- 0xaa, 0xf7, 0xd8, 0xb0,
- 0x91, 0xfd, 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86, 0x2b,
- 0x30, 0xd2, 0x6a, 0x22,
- 0x05, 0x79, 0x7f, 0x7c, 0xb4, 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea, 0x59,
- 0x46, 0x70, 0x04, 0xed,
- 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70, 0xe4, 0xfb, 0x94, 0x33, 0xcb, 0xd2,
- 0xf1, 0xc1, 0x3b, 0x72,
- 0xd1, 0x4d, 0xd3, 0x9c, 0x1d, 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7, 0xa0,
- 0x87, 0x63, 0x55, 0xbd,
- 0xae, 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48, 0x60, 0xa3, 0x13, 0x36,
- 0x1d, 0x46, 0xe7, 0x2f,
- 0x3a, 0x86, 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f, 0x44,
- 0x6b, 0xe4, 0x89, 0xe0,
- 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec, 0x53, 0x5e, 0xbf, 0xd0, 0xb8, 0xd9,
- 0xea, 0x0c, 0x40, 0xc8,
- 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb, 0x0e, 0xe6, 0xc5, 0x98, 0xd4, 0xab,
- 0x9c, 0xae, 0x2e, 0x07,
- 0xbb, 0x57, 0x85, 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60, 0x3d,
- 0x06, 0x8b, 0x9c, 0x95,
- 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4, 0x55, 0x31, 0x08, 0x0c, 0x4f,
- 0x70, 0x29, 0xf2, 0x5a,
- 0xe5, 0x32, 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78, 0xa3,
- 0xe6, 0xd9, 0xbb, 0x21,
- 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c, 0x1f, 0xff, 0x53, 0x18, 0x14, 0xd1,
- 0x90, 0x7b, 0xd5, 0xee,
- 0x0e, 0xf9, 0x4c, 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0, 0xa0, 0x47,
- 0x0a, 0x5e, 0x67, 0x7c,
- 0x9a, 0x7d, 0x91, 0xe7, 0x86, 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc, 0x35,
- 0x7c, 0xfc, 0x09, 0xb3,
- 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5, 0xe2, 0x02, 0xb3, 0x0b, 0xa8,
- 0xfd, 0x14, 0xc0, 0x9b,
- 0x64, 0xe3, 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67, 0xda,
- 0x8b, 0xb6, 0xae, 0x54,
- 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9, 0x4f, 0x51, 0xf6, 0x23, 0xd3, 0x4c,
- 0x11, 0x93, 0x1c, 0xc6,
- 0x8f, 0x28, 0x63, 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b, 0xbf, 0x3e,
- 0x67, 0x31, 0x72, 0x09,
- 0xcf, 0x98, 0x12, 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55, 0x9e, 0xb5,
- 0xd0, 0x80, 0x4d, 0x96,
- 0x5b, 0x1c, 0xcf, 0x47, 0x9e, 0xb7, 0xb2, 0x76, 0x05, 0x1d, 0xf2, 0xc7,
- 0xa6, 0x22, 0x23, 0x59,
- 0x24, 0x53, 0x6b, 0x77, 0x9a, 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46, 0x51,
- 0x3c, 0x07, 0x91, 0xcb,
- 0xb0, 0xd7, 0xb6, 0x67, 0x27, 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a, 0x23,
- 0x4a, 0xa5, 0xff, 0x04,
- 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c, 0x58, 0x6b, 0x54, 0xb6, 0xed, 0xbe,
- 0xcb, 0x4d, 0x36, 0x2c,
- 0x4e, 0x49, 0x3d, 0x07, 0x2f, 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81, 0xcc,
- 0xbd, 0xef, 0x58, 0xe3,
- 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8, 0xa0, 0x26, 0x35, 0x5a,
- 0x27, 0xca, 0xea, 0x71,
- 0xa5, 0x82, 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59, 0x28,
- 0x51, 0x68, 0x84, 0xbe,
- 0xb1, 0xa5, 0x7b, 0x14, 0x03, 0x5e, 0xdb, 0x96, 0x85, 0x5a, 0x77, 0x8f,
- 0x8a, 0x6b, 0x94, 0x8c,
- 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff, 0x12, 0x1b, 0xfd,
- 0xfc, 0xc9, 0xfa, 0x43,
- 0x5a, 0x6e, 0x02, 0x34, 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf, 0x6b,
- 0x66, 0xec, 0x48, 0xd1,
- 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c, 0x9d, 0x0b, 0x82, 0xc3, 0x19,
- 0x10, 0x4e, 0x26, 0x1e,
- 0xa4, 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33, 0xae, 0xb9, 0x04, 0x84,
- 0x91, 0xa6, 0xef, 0x36,
- 0x30, 0x74, 0x54, 0x44, 0x0f, 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68, 0xf6,
- 0xe7, 0x04, 0x81, 0xf9,
- 0x4f, 0x3b, 0xf0, 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29, 0xdc, 0x60,
- 0x7d, 0x21, 0x33, 0x6b,
- 0xdb, 0xbf, 0x2d, 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0, 0x12,
- 0x0b, 0x83, 0x5d, 0xa4,
- 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f, 0xd3, 0x5f, 0x91, 0x99,
- 0xbc, 0x32, 0x62, 0x3b,
- 0x0f, 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7, 0xa9, 0x17, 0xfd, 0xeb,
- 0xca, 0x90, 0x0c, 0xf4,
- 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb, 0xcc, 0xac, 0x27, 0xcf, 0x49, 0x7d,
- 0x50, 0xb5, 0xbe, 0x66,
- 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d, 0x87, 0x25, 0x0f,
- 0x26, 0x17, 0xd0, 0xa9,
- 0x8e, 0x5a, 0xae, 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2, 0x92,
- 0xa7, 0xff, 0x19, 0x81,
- 0x1a, 0xde, 0x73, 0xc4, 0xae, 0x1e, 0x9c, 0x02, 0x82, 0xf4, 0x8e, 0xe0,
- 0xd1, 0x5d, 0x77, 0x4e,
- 0x65, 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c, 0x3a, 0x76,
- 0x4b, 0x78, 0xc5, 0xdc,
- 0xf1, 0x15, 0x0a, 0xe4, 0x17, 0x50, 0x26, 0xb1, 0x76, 0x64, 0x56, 0x04,
- 0x3d, 0xda, 0xab, 0x13,
- 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26, 0xb2, 0x44, 0x66, 0xfb,
- 0x3e, 0x7e, 0xe5, 0xb8,
- 0xd9, 0x5b, 0x74, 0x82, 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a, 0x89,
- 0x48, 0xdc, 0x8b, 0x77,
- 0xa6, 0x14, 0xd0, 0xb2, 0xfa, 0x4f, 0x09, 0x95, 0x46, 0xd4, 0xbe, 0x1f,
- 0xd2, 0xf9, 0x39, 0xe5,
- 0x32, 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c, 0xd2, 0x6d,
- 0xa4, 0x5b, 0x57, 0x2a,
- 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d, 0x04, 0x83, 0x99, 0xa7, 0x15, 0xf0,
- 0x25, 0xb3, 0x9e, 0x02,
- 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3, 0xef, 0x79, 0x82,
- 0x53, 0x11, 0xf0, 0xcd,
- 0xb3, 0x41, 0x22, 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd, 0x14,
- 0xc9, 0x34, 0x42, 0x5f,
- 0x27, 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88, 0x17, 0x7f, 0xa1, 0x66,
- 0xbf, 0x96, 0x2c, 0x90,
- 0x67, 0x75, 0x8e, 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80, 0xed,
- 0x08, 0x27, 0x13, 0x0f,
- 0xf3, 0xf1, 0x53, 0x02, 0x5f, 0xdd, 0x43, 0x17, 0x9e, 0x09, 0xec, 0x9f,
- 0x7e, 0x85, 0x7d, 0xc0,
- 0x8c, 0xbe, 0xf7, 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1, 0x58, 0x09,
- 0xe4, 0xa0, 0xcf, 0x52,
- 0x18, 0x3a, 0x2a, 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99, 0x34, 0x7b,
- 0x92, 0x02, 0xa1, 0x9d,
- 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a, 0xcf, 0xa2, 0xf3, 0xe6,
- 0x13, 0xea, 0x68, 0xb5,
- 0xe6, 0xa4, 0xa1, 0x42, 0xee, 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f, 0x94,
- 0x65, 0x48, 0x06, 0x7a,
- 0x99, 0xeb, 0x05, 0x72, 0xea, 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b, 0x02,
- 0xff, 0x6d, 0xb4, 0xe8,
- 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41, 0x7a, 0x47, 0x70,
- 0x89, 0xcf, 0xda, 0x27,
- 0x19, 0x48, 0xe7, 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69, 0xd7,
- 0x52, 0xcc, 0xca, 0x15,
- 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13, 0x77, 0x4f, 0x64, 0x06, 0x05, 0xa5,
- 0x24, 0x6e, 0xa4, 0xda,
- 0xf2, 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde, 0xb1, 0x33,
- 0xbe, 0x4b, 0x16, 0x48,
- 0x66, 0x07, 0x43, 0x61, 0xc6, 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd, 0x41,
- 0xc8, 0xe9, 0x78, 0x87,
- 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8, 0x9d, 0x52, 0x35, 0xad, 0x1a, 0xdc,
- 0x49, 0x01, 0xb1, 0xaf,
- 0x98, 0x99, 0xc8, 0x01, 0xce, 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76, 0xae,
- 0x3f, 0xa3, 0xdf, 0x60,
- 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1, 0xc1, 0x3d, 0xc2, 0x38,
- 0xa5, 0x86, 0x6d, 0xf2,
- 0x73, 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59, 0xbb, 0x75, 0xae, 0x4a,
- 0xd3, 0x24, 0x03, 0x3d,
- 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf, 0x87, 0x7e, 0x48, 0x4b, 0x8f, 0xc1,
- 0x64, 0x95, 0x3c, 0xa2,
- 0xa7, 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03, 0xe3, 0xb3,
- 0x12, 0x37, 0x52, 0x6d,
- 0xd8, 0x29, 0xb9, 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb, 0x57, 0x25,
- 0x88, 0x12, 0xe0, 0xff,
- 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75, 0xc6, 0x93, 0x3b, 0x57,
- 0xfe, 0xb0, 0x8e, 0x30,
- 0x26, 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8, 0xfc, 0xca,
- 0x7f, 0x58, 0x47, 0x18,
- 0xb2, 0x33, 0xef, 0x81, 0x6f, 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90, 0xb8,
- 0x09, 0xfa, 0x29, 0xd7,
- 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d, 0x8a, 0x68, 0x97, 0x38, 0x24, 0x2e,
- 0x93, 0xdf, 0x9b, 0x45,
- 0x59, 0xf8, 0x96, 0xa1, 0xd6, 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48, 0x5c,
- 0xe5, 0x7d, 0xf5, 0x8a,
- 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63, 0x85, 0xdc, 0x78, 0x44, 0x13,
- 0x95, 0x54, 0x07, 0xd0,
- 0xe2, 0xaf, 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28, 0x61,
- 0xe3, 0xf6, 0x69, 0x1f,
- 0x9d, 0xe0, 0xb7, 0x7d, 0x7a, 0xf1, 0xd9, 0x36, 0x28, 0xe8, 0x9c, 0xf7,
- 0x79, 0xd3, 0xdb, 0x8d,
- 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6, 0x84, 0x8e, 0x52, 0xa0, 0xf0, 0x85,
- 0x0f, 0x71, 0xb5, 0x42,
- 0x63, 0x7e, 0x3c, 0x1d, 0x72, 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37, 0x18,
- 0x8e, 0x99, 0x7c, 0x6a,
- 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89, 0x98, 0x8d, 0xd3, 0x5b, 0x6a,
- 0xf8, 0x3b, 0x12, 0xa5,
- 0x88, 0xb5, 0x45, 0x3d, 0xcb, 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef, 0xfc,
- 0x62, 0x1e, 0xa0, 0x37,
- 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a, 0x33, 0x2b, 0x79, 0x43, 0x83, 0x8e,
- 0x14, 0xbc, 0xce, 0xf8,
- 0x5c, 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d, 0xa2, 0x05,
- 0xa3, 0x0d, 0xf1, 0x67,
- 0xc8, 0x05, 0x34, 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35, 0xce, 0x77,
- 0xd5, 0xaf, 0x9f, 0xa8,
- 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74, 0xbf, 0x7e, 0xed, 0x7a, 0xe1,
- 0x4f, 0x8a, 0x2d, 0x3a,
- 0x23, 0xce, 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16, 0x93,
- 0x39, 0x28, 0x43, 0xf5,
- 0x49, 0xd4, 0x1b, 0x9d, 0xd3, 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1, 0x0e,
- 0xb8, 0xc0, 0x8a, 0xdd,
- 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11, 0xdb, 0xd6, 0xbd, 0x7c,
- 0xce, 0x62, 0xe4, 0x12,
- 0xa2, 0x1f, 0x62, 0xbd, 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09, 0xea,
- 0x54, 0x47, 0x56, 0x80,
- 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e, 0xa2, 0x2f, 0x46, 0x65, 0x98,
- 0x22, 0xe5, 0x38, 0x4f,
- 0x22, 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72, 0x4b, 0x3f,
- 0xf9, 0xe6, 0x28, 0x7d,
- 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad, 0xa7, 0xec, 0x0a, 0x3a, 0x27, 0x4d,
- 0x8f, 0x44, 0x46, 0xb2,
- 0xc9, 0x77, 0xf9, 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2, 0x93, 0xdb,
- 0x15, 0x61, 0xf4, 0x20,
- 0x5d, 0xf3, 0x24, 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff, 0xa9,
- 0x63, 0xc3, 0x9a, 0xef,
- 0x37, 0xe9, 0x72, 0xde, 0xf3, 0x16, 0x4d, 0xf1, 0x5b, 0x91, 0x38, 0x34,
- 0xe2, 0x2b, 0x53, 0xc7,
- 0xa3, 0x6d, 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54, 0x46,
- 0x94, 0x89, 0x3d, 0x08,
- 0xdc, 0x22, 0x0b, 0xfe, 0x4a, 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0, 0xd0,
- 0x0e, 0xac, 0x8f, 0x9a,
- 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f, 0xaa, 0xfa, 0xd5, 0x49, 0x8c, 0xa2,
- 0x78, 0x0e, 0xe1, 0x55,
- 0x08, 0x16, 0xa7, 0x1e, 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad, 0x29,
- 0xcf, 0xbf, 0xde, 0xca,
- 0x9c, 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65, 0x5c, 0x3f, 0xc1, 0x5b,
- 0xb9, 0x1d, 0xb0, 0x05,
- 0xe3, 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7, 0x75, 0xcd,
- 0x23, 0x38, 0x02, 0x97,
- 0x77, 0x59, 0x03, 0x2e, 0xe7, 0x18, 0xb0, 0xd6, 0xa8, 0xaf, 0x19, 0xbf,
- 0x55, 0x9a, 0x6c, 0x58,
- 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78, 0x0d, 0x94, 0xde, 0x22,
- 0xd4, 0x72, 0xa5, 0x70,
- 0x89, 0xc7, 0x88, 0x4e, 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2, 0x50,
- 0xa2, 0xd0, 0xcb, 0xbf,
- 0xf6, 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb, 0xf9, 0x04, 0x06, 0xc6,
- 0x38, 0xf5, 0x79, 0x2d,
- 0x62, 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73, 0x83, 0x4c, 0x6a, 0xb4,
- 0x4e, 0x57, 0x17, 0xe2,
- 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5, 0x92, 0xe4, 0x47, 0x6c, 0x5a, 0x4b,
- 0x4d, 0xf3, 0x59, 0x49,
- 0x4a, 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24, 0x36, 0x39,
- 0x3b, 0x51, 0x37, 0x86,
- 0x35, 0x0d, 0x2b, 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82, 0xaf,
- 0xa1, 0x74, 0x85, 0x14,
- 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc, 0x75, 0xef, 0xc9, 0xb4, 0xee, 0xdd,
- 0xd7, 0xd6, 0xeb, 0xdb,
- 0xcb, 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f, 0x29, 0x40,
- 0x56, 0x3e, 0x22, 0xf3,
- 0x5f, 0x17, 0x7d, 0x48, 0x0e, 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45, 0x32,
- 0x20, 0x9c, 0x4c, 0x3c,
- 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07, 0x9f, 0xf2, 0x98, 0x1f, 0xf1, 0xa4,
- 0xba, 0xb9, 0xfe, 0xae,
- 0xb4, 0xdc, 0x04, 0x68, 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d, 0xd6,
- 0xcc, 0x1b, 0x90, 0x61,
- 0xf4, 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d, 0x11, 0x69, 0xbc, 0x5d,
- 0x7b, 0xaa, 0xaf, 0xfe,
- 0x60, 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21, 0xd0, 0x2f,
- 0x0d, 0x08, 0xc1, 0x31,
- 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60, 0x85, 0xde, 0xe5, 0xf9, 0x64, 0xb9,
- 0x97, 0x2d, 0x73, 0xa3,
- 0x8b, 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1, 0x08, 0xcb,
- 0xe1, 0x8f, 0x1d, 0x6c,
- 0xe1, 0x39, 0x87, 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a, 0xcf, 0x56,
- 0x60, 0x67, 0xd4, 0x44,
- 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95, 0xd5, 0x70, 0x40, 0xc2, 0xa3, 0x24,
- 0x16, 0xc5, 0xba, 0x8b,
- 0x0a, 0xf2, 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17, 0xb2,
- 0x8c, 0xe0, 0x08, 0x19,
- 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb, 0x6f, 0xc3, 0xb4, 0x52, 0x7b, 0xc0,
- 0xfa, 0x42, 0x66, 0xd6,
- 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0, 0x0b, 0x35, 0xeb, 0x66, 0x55, 0x67,
- 0x21, 0x41, 0x76, 0xe4,
- 0x1e, 0xd5, 0xc1, 0xcb, 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39, 0x15,
- 0x57, 0xe3, 0x18, 0x2b,
- 0x61, 0x9a, 0x65, 0xfb, 0x3a, 0xae, 0xb1, 0x86, 0x1f, 0xf6, 0x8d, 0x83,
- 0xcd, 0xc6, 0xaa, 0xb9,
- 0xf5, 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe, 0xe1, 0xf1,
- 0xbb, 0x64, 0xc4, 0x76,
- 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c, 0xbc, 0x90, 0xc0, 0x85, 0x26, 0x6c,
- 0x3a, 0x8c, 0x0d, 0x5e,
- 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b, 0xe1, 0x28, 0xba, 0xcd, 0x4a, 0x1e,
- 0x4c, 0x2e, 0x63, 0x91,
- 0x74, 0xcf, 0x97, 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15, 0xfe, 0x88,
- 0xd6, 0x0b, 0xd1, 0x03,
- 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b, 0x9b, 0x4e, 0x5d, 0x92, 0xfa,
- 0xa0, 0xa9, 0xbf, 0xcc,
- 0xa0, 0xfb, 0x3b, 0x5b, 0x22, 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3, 0x71,
- 0x17, 0x18, 0x80, 0x53,
- 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c, 0xfb, 0x04, 0xc7, 0x2b, 0xdf, 0x03,
- 0x61, 0xba, 0xee, 0x9c,
- 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49, 0xf3, 0x6b, 0x95,
- 0xfb, 0x9f, 0x5c, 0x0e,
- 0xdf, 0xb4, 0x9f, 0x6b, 0x26, 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07, 0xe7,
- 0x8d, 0x3d, 0x32, 0xc1,
- 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11, 0x19, 0x96, 0x80, 0xc0, 0x7a,
- 0x0c, 0xd5, 0xfb, 0xe9,
- 0x21, 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8, 0xac, 0x08,
- 0x7a, 0x77, 0x95, 0x26,
- 0x5e, 0x65, 0xb0, 0x3b, 0x2a, 0xc9, 0xab, 0xaa, 0x62, 0x10, 0x18, 0x9e,
- 0xe0, 0x52, 0x27, 0xb4,
- 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12, 0x18, 0x58, 0x74, 0xec,
- 0x96, 0xf0, 0x49, 0x7b,
- },
+ {
+ /* 0 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x94, 0x84, 0xdd,
+ 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c, 0x72, 0x76,
+ 0xa2, 0x6e, 0x02, 0xeb, 0xcb, 0x79, 0x20, 0xb9, 0x4e, 0xba,
+ 0xb3, 0xf4, 0x90, 0xd8, 0xe4, 0xec, 0x87, 0xdc, 0x03, 0x7f,
+ 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b, 0x8e, 0xd8, 0xb4,
+ 0x96, 0x9a, 0x25, 0xb2, 0x04, 0x15, 0x55, 0xf2, 0x40, 0xb1,
+ 0x9c, 0xb7, 0xa5, 0x2b, 0xe3, 0x73, 0x0b, 0x1b, 0xcd, 0x7b,
+ 0x05, 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51,
+ 0xab, 0x1f, 0x79, 0x6d, 0x6f, 0x15, 0x06, 0xfe, 0x9e, 0x8b,
+ 0x60, 0x08, 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab, 0xef, 0xf7,
+ 0x4a, 0xa7, 0x07, 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50,
+ 0xae, 0xa5, 0x3b, 0xc7, 0x9d, 0x81, 0xe8, 0xc9, 0x08, 0x2a,
+ 0xaa, 0x27, 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6,
+ 0x16, 0x36, 0x59, 0xf6, 0x09, 0xbe, 0x2e, 0xfa, 0x90, 0x1c,
+ 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a, 0x64, 0x40, 0xfb, 0x98,
+ 0x0a, 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2,
+ 0x95, 0x3e, 0xf2, 0xda, 0xde, 0x2a, 0x0b, 0x55, 0xe5, 0x83,
+ 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52, 0x80, 0xac,
+ 0x7c, 0x44, 0x0c, 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a,
+ 0x2c, 0x7d, 0xe6, 0x95, 0x1d, 0x2d, 0x94, 0x8d, 0x0d, 0xab,
+ 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94, 0x07, 0xae, 0xf9,
+ 0x6f, 0x5b, 0x36, 0xe3, 0x0e, 0xd4, 0x34, 0xac, 0xe0, 0xa9,
+ 0x29, 0xa0, 0x9f, 0x89, 0x76, 0x4d, 0xf9, 0xc1, 0x13, 0x51,
+ 0x0f, 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27, 0xf3,
+ 0x3e, 0x21, 0x8b, 0xb7, 0xb1, 0x3f, 0x10, 0x54, 0x97, 0x4e,
+ 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f, 0x2c, 0x6c,
+ 0xb2, 0x2f, 0x11, 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12, 0xc4,
+ 0x69, 0xd6, 0x42, 0x63, 0x5e, 0x1a, 0x10, 0x41, 0x12, 0xbf,
+ 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a, 0xd7,
+ 0xc8, 0x80, 0x35, 0xf3, 0x13, 0x2b, 0xd8, 0xea, 0xf3, 0x85,
+ 0x5c, 0x7e, 0xda, 0x22, 0xd2, 0xbb, 0xba, 0xf6, 0x97, 0x9d,
+ 0x14, 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74, 0x87,
+ 0xe9, 0x7c, 0x27, 0x77, 0x7f, 0x54, 0x15, 0xd5, 0x46, 0x61,
+ 0x93, 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10, 0x55, 0x01,
+ 0xdd, 0x3a, 0x16, 0xaa, 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94,
+ 0xc7, 0x73, 0x79, 0xa4, 0xc3, 0x9b, 0xf8, 0x88, 0x17, 0x3e,
+ 0x8d, 0x18, 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8,
+ 0xb1, 0xed, 0x5a, 0xe6, 0x18, 0x7e, 0x3d, 0x69, 0x43, 0x20,
+ 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9, 0x3a, 0x5a, 0xeb, 0xd9,
+ 0x19, 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9, 0x69, 0xe0, 0x80,
+ 0x47, 0x85, 0x48, 0x2c, 0x49, 0xb7, 0x1a, 0x95, 0xf6, 0x10,
+ 0x63, 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31, 0xde, 0xb6,
+ 0x6c, 0x05, 0x1b, 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3,
+ 0x53, 0x74, 0xd7, 0x5d, 0xac, 0xc0, 0xce, 0x6b, 0x1c, 0x6b,
+ 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec, 0x9a,
+ 0x31, 0x41, 0x26, 0xa2, 0x1d, 0xff, 0xec, 0x46, 0x13, 0x2c,
+ 0x75, 0xde, 0x45, 0xab, 0xa4, 0xf6, 0x43, 0x37, 0x84, 0xcc,
+ 0x1e, 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25,
+ 0x7c, 0x42, 0xd5, 0xad, 0xa1, 0x7e, 0x1f, 0x14, 0x27, 0x3f,
+ 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e, 0xa7, 0xdb,
+ 0x03, 0x10, 0x20, 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a, 0xf1,
+ 0x61, 0x9b, 0x14, 0x1e, 0x58, 0xd8, 0xa7, 0x5e, 0x21, 0x3c,
+ 0x69, 0x41, 0x55, 0x7c, 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72,
+ 0x2a, 0xae, 0x05, 0x30, 0x22, 0x43, 0x26, 0xe5, 0x65, 0x78,
+ 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6, 0xbc, 0x34, 0x20, 0x82,
+ 0x23, 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15,
+ 0xcc, 0xaa, 0xce, 0x42, 0x82, 0xec, 0x24, 0xbd, 0xb8, 0x6e,
+ 0x05, 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d, 0x53, 0xc3,
+ 0x6a, 0x25, 0x25, 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b,
+ 0x7c, 0xca, 0xbf, 0x01, 0x21, 0xb5, 0xc8, 0x4b, 0x26, 0x56,
+ 0x73, 0x17, 0x25, 0xc9, 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5,
+ 0xb7, 0x2f, 0xed, 0xf9, 0x27, 0xc2, 0xf7, 0xca, 0x35, 0x74,
+ 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9, 0xc5, 0x59, 0x4f, 0x97,
+ 0x28, 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91, 0x5c, 0xe8, 0xcd,
+ 0x11, 0xf8, 0x4e, 0xee, 0xfe, 0xa8, 0x29, 0x16, 0xc3, 0x66,
+ 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94, 0x3c, 0x98,
+ 0x5c, 0xc6, 0x2a, 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6,
+ 0x5b, 0x39, 0x81, 0x20, 0xaa, 0x02, 0x79, 0x74, 0x2b, 0xfd,
+ 0x08, 0x1f, 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c,
+ 0xd8, 0x74, 0xdb, 0x1a, 0x2c, 0x97, 0x12, 0x49, 0x85, 0xd1,
+ 0x0d, 0xeb, 0x4d, 0xe6, 0xf2, 0x8b, 0x45, 0xf5, 0x33, 0xd3,
+ 0x2d, 0x03, 0x96, 0x94, 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c,
+ 0xba, 0xe7, 0x37, 0x83, 0x91, 0xbd, 0x2e, 0x7c, 0xd9, 0x30,
+ 0xa5, 0x68, 0x43, 0x51, 0xfe, 0x12, 0x62, 0x53, 0xa1, 0x19,
+ 0xb4, 0x0f, 0x2f, 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64, 0x0c,
+ 0x46, 0x68, 0x2a, 0x3f, 0xd3, 0x6f, 0x16, 0x61, 0x30, 0xfc,
+ 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e, 0x11,
+ 0x74, 0xb4, 0x15, 0x71, 0x31, 0x68, 0xfe, 0x0f, 0x96, 0xfd,
+ 0x78, 0x35, 0x08, 0x4d, 0x56, 0x7d, 0x06, 0xc2, 0xb7, 0x1f,
+ 0x32, 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03, 0xc3,
+ 0x8e, 0xc9, 0x90, 0x58, 0x92, 0xad, 0x33, 0x83, 0x35, 0x76,
+ 0xb6, 0x44, 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5, 0xe2, 0x2e,
+ 0x30, 0xc3, 0x34, 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf,
+ 0x15, 0x1c, 0xfd, 0x62, 0x7f, 0xaf, 0xd8, 0x0a, 0x35, 0x7d,
+ 0xab, 0xfd, 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e,
+ 0x0d, 0xd9, 0x7a, 0x64, 0x36, 0x02, 0xe4, 0x59, 0xe6, 0x48,
+ 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba, 0x9b, 0x43, 0x5f, 0xd6,
+ 0x37, 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92,
+ 0x25, 0xd6, 0xe9, 0x35, 0xfd, 0xb8, 0x38, 0xd6, 0xd0, 0xf5,
+ 0x06, 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7, 0x62, 0x82,
+ 0x4c, 0x87, 0x39, 0x42, 0x54, 0x28, 0x16, 0x5c, 0x83, 0x98,
+ 0x81, 0x1b, 0x53, 0x9b, 0x10, 0xf4, 0xee, 0xe9, 0x3a, 0x3d,
+ 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a, 0x95, 0x8b, 0x2f,
+ 0x86, 0x6e, 0xcb, 0x5b, 0x3b, 0xa9, 0x9f, 0x51, 0x36, 0xe5,
+ 0xcd, 0x22, 0x32, 0xef, 0xc3, 0x43, 0xf4, 0x18, 0x69, 0x35,
+ 0x3c, 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c, 0x4a,
+ 0xf8, 0x84, 0x69, 0x99, 0x81, 0xfc, 0x3d, 0x57, 0x01, 0xda,
+ 0x56, 0xed, 0x1f, 0x2f, 0x24, 0x30, 0xb0, 0xe8, 0x1b, 0xef,
+ 0x23, 0x92, 0x3e, 0x28, 0x4e, 0x7e, 0x66, 0xe9, 0x76, 0xc8,
+ 0x2f, 0xbe, 0x68, 0x5c, 0x8d, 0x75, 0x06, 0x20, 0x3f, 0xbc,
+ 0xca, 0xa3, 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30,
+ 0xff, 0x03, 0xa4, 0x4e, 0x40, 0x93, 0x19, 0xfb, 0x8a, 0x41,
+ 0xd4, 0x21, 0xc2, 0xf5, 0x28, 0x3c, 0xb0, 0x73, 0x8d, 0xbc,
+ 0x41, 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a, 0x8f,
+ 0x60, 0x50, 0xc2, 0x05, 0x2f, 0xd2, 0x42, 0x78, 0xd2, 0x82,
+ 0xaa, 0xf8, 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4, 0x54, 0x9f,
+ 0x0a, 0x60, 0x43, 0xec, 0x56, 0x5f, 0xba, 0x45, 0xbd, 0xc6,
+ 0xc9, 0x7b, 0xf0, 0x88, 0x26, 0xe9, 0xa8, 0x0e, 0x44, 0x86,
+ 0x4c, 0x09, 0xca, 0xf0, 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f,
+ 0xbb, 0x68, 0x40, 0xc7, 0x45, 0x12, 0xc8, 0xd4, 0xda, 0x4d,
+ 0x6f, 0xcb, 0xdf, 0xa4, 0x83, 0x23, 0xc9, 0x1e, 0xe2, 0xa9,
+ 0x46, 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4, 0x2a,
+ 0x5b, 0x97, 0x5f, 0x84, 0xc7, 0x1b, 0x47, 0xf9, 0x03, 0xad,
+ 0xfa, 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb, 0x2d, 0xf2,
+ 0x65, 0x75, 0x48, 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c,
+ 0x4b, 0xa3, 0x2d, 0xda, 0xa6, 0x45, 0xd4, 0x4a, 0x49, 0x2d,
+ 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3, 0xd9, 0x65, 0xb6,
+ 0xd4, 0x33, 0x76, 0x24, 0x4a, 0x52, 0x78, 0xa5, 0x2a, 0x59,
+ 0x61, 0x36, 0xf8, 0x57, 0xbd, 0x02, 0x42, 0xa9, 0x53, 0x96,
+ 0x4b, 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40, 0x2d,
+ 0xf5, 0x6e, 0x30, 0xdf, 0xf1, 0xf8, 0x4c, 0xac, 0xe6, 0x2e,
+ 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9, 0xad, 0x5e,
+ 0x19, 0x31, 0x4d, 0x38, 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66,
+ 0x56, 0xf2, 0x86, 0xc5, 0xdf, 0x28, 0xbb, 0x5f, 0x4e, 0x47,
+ 0x2d, 0x57, 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71,
+ 0x49, 0xb2, 0x9e, 0xed, 0x4f, 0xd3, 0xa9, 0x8a, 0x7a, 0x55,
+ 0xda, 0xdc, 0xe5, 0x06, 0x16, 0x1d, 0x3b, 0xc4, 0x3c, 0x83,
+ 0x50, 0xc7, 0x8e, 0xb5, 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59,
+ 0x22, 0x33, 0x9c, 0x1f, 0x3f, 0x93, 0x51, 0x53, 0x0a, 0x68,
+ 0x59, 0x7d, 0xc6, 0xe5, 0xab, 0x23, 0x6a, 0x5f, 0xee, 0x69,
+ 0x9d, 0xfd, 0x52, 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf, 0x02,
+ 0xa0, 0xad, 0xb2, 0xeb, 0x78, 0xf3, 0xb8, 0x4f, 0x53, 0xb8,
+ 0xc1, 0x11, 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87,
+ 0x0a, 0x85, 0x1a, 0x21, 0x54, 0xd2, 0xdb, 0x47, 0x09, 0x71,
+ 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40, 0x97, 0x04, 0xf2, 0xe8,
+ 0x55, 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e, 0x08,
+ 0x89, 0x2c, 0xe5, 0x72, 0x50, 0x86, 0x56, 0x39, 0x10, 0x3e,
+ 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98, 0x73, 0xe8,
+ 0x75, 0x34, 0x57, 0xad, 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8,
+ 0xbd, 0xfc, 0x19, 0xf4, 0x01, 0x9e, 0xd7, 0x5a, 0x58, 0xed,
+ 0x24, 0x92, 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5,
+ 0x8a, 0x29, 0x66, 0x65, 0x59, 0x79, 0xa0, 0x4f, 0xd9, 0xdc,
+ 0x3d, 0x48, 0x22, 0x75, 0x6f, 0xb9, 0xf8, 0x5f, 0xc4, 0x0b,
+ 0x5a, 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54, 0xaf, 0x29, 0xfb,
+ 0xb7, 0x0d, 0x6e, 0xc5, 0xe1, 0xb9, 0x5b, 0x92, 0x6b, 0x36,
+ 0xf9, 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61, 0x1c, 0xb3,
+ 0x43, 0xd7, 0x5c, 0xf8, 0x71, 0x60, 0x89, 0xd0, 0x86, 0xa2,
+ 0x3f, 0x24, 0xc4, 0xa6, 0x81, 0x32, 0xab, 0x1e, 0x5d, 0x6c,
+ 0xf5, 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca,
+ 0xf3, 0x44, 0x09, 0x70, 0x5e, 0x13, 0xba, 0x19, 0xa9, 0x69,
+ 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e, 0x65, 0xde, 0x2c, 0xc2,
+ 0x5f, 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa,
+ 0x1c, 0x12, 0x17, 0xa8, 0x8e, 0xac, 0x60, 0x3b, 0xf4, 0x67,
+ 0xcf, 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22, 0xe8, 0xab,
+ 0x2a, 0xe2, 0x61, 0xaf, 0x70, 0xba, 0xdf, 0x3d, 0x99, 0x8d,
+ 0x1b, 0x14, 0x74, 0x4e, 0x9a, 0xdd, 0x88, 0x8c, 0x62, 0xd0,
+ 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac, 0xfa,
+ 0x0c, 0x47, 0xad, 0x3e, 0x63, 0x44, 0xbb, 0xc3, 0xff, 0x84,
+ 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96, 0x7e, 0x31, 0x0f, 0x50,
+ 0x64, 0x2e, 0xa1, 0x95, 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45,
+ 0xdf, 0x51, 0xe3, 0xb0, 0xe7, 0x99, 0x65, 0xba, 0x25, 0x48,
+ 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d, 0x91, 0xc6,
+ 0x45, 0xf7, 0x66, 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c, 0xdd,
+ 0xb5, 0xb1, 0x4f, 0x89, 0x07, 0x5c, 0x60, 0x45, 0x67, 0x51,
+ 0xee, 0x31, 0xbf, 0x35, 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5,
+ 0x75, 0x2a, 0xc2, 0x2b, 0x68, 0x11, 0x5e, 0x40, 0x4f, 0x21,
+ 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4, 0xfe, 0x9d, 0x73, 0x14,
+ 0x69, 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42,
+ 0x71, 0xa8, 0x8c, 0xeb, 0xd1, 0x7a, 0x6a, 0xfa, 0x95, 0x39,
+ 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9, 0x1c, 0x1a, 0x71,
+ 0xf4, 0xc8, 0x6b, 0x6e, 0x11, 0xe4, 0x7f, 0x25, 0x2c, 0x9a,
+ 0x21, 0xb6, 0xe1, 0x70, 0x68, 0x07, 0x56, 0xa6, 0x6c, 0x04,
+ 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f, 0x13, 0xda, 0xb7,
+ 0xf5, 0x86, 0xbe, 0x6f, 0x6d, 0x90, 0x8f, 0x6f, 0x1f, 0x2d,
+ 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb, 0x87, 0xf0, 0x1c, 0x01,
+ 0x6e, 0xef, 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7,
+ 0x4a, 0x6f, 0x11, 0x6a, 0x39, 0xb3, 0x6f, 0x7b, 0x44, 0x16,
+ 0x3f, 0x94, 0xb0, 0x2d, 0x84, 0x9d, 0x02, 0x03, 0x63, 0x1c,
+ 0x9b, 0xdd, 0x70, 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49,
+ 0x72, 0xc2, 0x36, 0x2d, 0xc4, 0xc7, 0x98, 0xcd, 0x71, 0xfb,
+ 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca, 0xb8, 0x7e, 0x41,
+ 0xb6, 0xb1, 0x3a, 0xa3, 0x72, 0x84, 0xa8, 0x50, 0x2c, 0xb8,
+ 0xc5, 0xf3, 0xc1, 0x36, 0xa6, 0xf5, 0x20, 0x2b, 0x1f, 0x11,
+ 0x73, 0x10, 0x2c, 0x8d, 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c,
+ 0xee, 0x99, 0x52, 0x5d, 0xbd, 0x7f, 0x74, 0x7a, 0x36, 0xdb,
+ 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5, 0x5e, 0xcf, 0xdc,
+ 0x55, 0xb6, 0x75, 0xee, 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3,
+ 0x6f, 0x93, 0x9d, 0x32, 0xbd, 0xaa, 0xf7, 0xd8, 0x76, 0x91,
+ 0xfd, 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86,
+ 0x2b, 0x30, 0xd2, 0x6a, 0x77, 0x05, 0x79, 0x7f, 0x7c, 0xb4,
+ 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea, 0x59, 0x46, 0x70, 0x04,
+ 0x78, 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70, 0xe4, 0xfb, 0x94,
+ 0x33, 0xcb, 0xd2, 0xf1, 0xc1, 0x3b, 0x79, 0xd1, 0x4d, 0xd3,
+ 0x9c, 0x1d, 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7, 0xa0, 0x87,
+ 0x63, 0x55, 0x7a, 0xae, 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e,
+ 0x48, 0x60, 0xa3, 0x13, 0x36, 0x1d, 0x46, 0xe7, 0x7b, 0x3a,
+ 0x86, 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f,
+ 0x44, 0x6b, 0xe4, 0x89, 0x7c, 0x50, 0x9c, 0xfc, 0xcc, 0x11,
+ 0xec, 0x53, 0x5e, 0xbf, 0xd0, 0xb8, 0xd9, 0xea, 0x0c, 0x40,
+ 0x7d, 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb, 0x0e, 0xe6, 0xc5,
+ 0x98, 0xd4, 0xab, 0x9c, 0xae, 0x2e, 0x7e, 0xbb, 0x57, 0x85,
+ 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60, 0x3d, 0x06,
+ 0x8b, 0x9c, 0x7f, 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4,
+ 0x55, 0x31, 0x08, 0x0c, 0x4f, 0x70, 0x29, 0xf2, 0x80, 0xe5,
+ 0x32, 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78,
+ 0xa3, 0xe6, 0xd9, 0xbb, 0x81, 0x71, 0xb6, 0xe8, 0xc7, 0x3f,
+ 0x4c, 0x1f, 0xff, 0x53, 0x18, 0x14, 0xd1, 0x90, 0x7b, 0xd5,
+ 0x82, 0x0e, 0xf9, 0x4c, 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd,
+ 0xc0, 0xa0, 0x47, 0x0a, 0x5e, 0x67, 0x83, 0x9a, 0x7d, 0x91,
+ 0xe7, 0x86, 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc, 0x35, 0x7c,
+ 0xfc, 0x09, 0x84, 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5,
+ 0xe2, 0x02, 0xb3, 0x0b, 0xa8, 0xfd, 0x14, 0xc0, 0x85, 0x64,
+ 0xe3, 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67,
+ 0xda, 0x8b, 0xb6, 0xae, 0x86, 0x1b, 0xac, 0xbe, 0xb7, 0x8a,
+ 0xb9, 0x4f, 0x51, 0xf6, 0x23, 0xd3, 0x4c, 0x11, 0x93, 0x1c,
+ 0x87, 0x8f, 0x28, 0x63, 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c,
+ 0x6b, 0xbf, 0x3e, 0x67, 0x31, 0x72, 0x88, 0xcf, 0x98, 0x12,
+ 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55, 0x9e, 0xb5, 0xd0,
+ 0x80, 0x4d, 0x89, 0x5b, 0x1c, 0xcf, 0x47, 0x9e, 0xb7, 0xb2,
+ 0x76, 0x05, 0x1d, 0xf2, 0xc7, 0xa6, 0x22, 0x23, 0x8a, 0x24,
+ 0x53, 0x6b, 0x77, 0x9a, 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46,
+ 0x51, 0x3c, 0x07, 0x91, 0x8b, 0xb0, 0xd7, 0xb6, 0x67, 0x27,
+ 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a, 0x23, 0x4a, 0xa5, 0xff,
+ 0x8c, 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c, 0x58, 0x6b, 0x54,
+ 0xb6, 0xed, 0xbe, 0xcb, 0x4d, 0x36, 0x8d, 0x4e, 0x49, 0x3d,
+ 0x07, 0x2f, 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81, 0xcc, 0xbd,
+ 0xef, 0x58, 0x8e, 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2,
+ 0xd8, 0xa0, 0x26, 0x35, 0x5a, 0x27, 0xca, 0xea, 0x8f, 0xa5,
+ 0x82, 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59,
+ 0x28, 0x51, 0x68, 0x84, 0x90, 0xb1, 0xa5, 0x7b, 0x14, 0x03,
+ 0x5e, 0xdb, 0x96, 0x85, 0x5a, 0x77, 0x8f, 0x8a, 0x6b, 0x94,
+ 0x91, 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff,
+ 0x12, 0x1b, 0xfd, 0xfc, 0xc9, 0xfa, 0x92, 0x5a, 0x6e, 0x02,
+ 0x34, 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf, 0x6b, 0x66,
+ 0xec, 0x48, 0x93, 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c,
+ 0x9d, 0x0b, 0x82, 0xc3, 0x19, 0x10, 0x4e, 0x26, 0x94, 0xa4,
+ 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33, 0xae, 0xb9, 0x04,
+ 0x84, 0x91, 0xa6, 0xef, 0x95, 0x30, 0x74, 0x54, 0x44, 0x0f,
+ 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68, 0xf6, 0xe7, 0x04, 0x81,
+ 0x96, 0x4f, 0x3b, 0xf0, 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a,
+ 0x29, 0xdc, 0x60, 0x7d, 0x21, 0x33, 0x97, 0xdb, 0xbf, 0x2d,
+ 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0, 0x12, 0x0b,
+ 0x83, 0x5d, 0x98, 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76,
+ 0x1f, 0xd3, 0x5f, 0x91, 0x99, 0xbc, 0x32, 0x62, 0x99, 0x0f,
+ 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7, 0xa9, 0x17, 0xfd,
+ 0xeb, 0xca, 0x90, 0x0c, 0x9a, 0x70, 0xc4, 0x25, 0xb4, 0x1b,
+ 0xeb, 0xcc, 0xac, 0x27, 0xcf, 0x49, 0x7d, 0x50, 0xb5, 0xbe,
+ 0x9b, 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d,
+ 0x87, 0x25, 0x0f, 0x26, 0x17, 0xd0, 0x9c, 0x8e, 0x5a, 0xae,
+ 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2, 0x92, 0xa7,
+ 0xff, 0x19, 0x9d, 0x1a, 0xde, 0x73, 0xc4, 0xae, 0x1e, 0x9c,
+ 0x02, 0x82, 0xf4, 0x8e, 0xe0, 0xd1, 0x5d, 0x77, 0x9e, 0x65,
+ 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c, 0x3a,
+ 0x76, 0x4b, 0x78, 0xc5, 0x9f, 0xf1, 0x15, 0x0a, 0xe4, 0x17,
+ 0x50, 0x26, 0xb1, 0x76, 0x64, 0x56, 0x04, 0x3d, 0xda, 0xab,
+ 0xa0, 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26, 0xb2,
+ 0x44, 0x66, 0xfb, 0x3e, 0x7e, 0xe5, 0xa1, 0xd9, 0x5b, 0x74,
+ 0x82, 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a, 0x89, 0x48,
+ 0xdc, 0x8b, 0xa2, 0xa6, 0x14, 0xd0, 0xb2, 0xfa, 0x4f, 0x09,
+ 0x95, 0x46, 0xd4, 0xbe, 0x1f, 0xd2, 0xf9, 0x39, 0xa3, 0x32,
+ 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c, 0xd2,
+ 0x6d, 0xa4, 0x5b, 0x57, 0xa4, 0x58, 0x8a, 0x5b, 0xd2, 0xf2,
+ 0x9d, 0x04, 0x83, 0x99, 0xa7, 0x15, 0xf0, 0x25, 0xb3, 0x9e,
+ 0xa5, 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3,
+ 0xef, 0x79, 0x82, 0x53, 0x11, 0xf0, 0xa6, 0xb3, 0x41, 0x22,
+ 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd, 0x14, 0xc9,
+ 0x34, 0x42, 0xa7, 0x27, 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3,
+ 0x88, 0x17, 0x7f, 0xa1, 0x66, 0xbf, 0x96, 0x2c, 0xa8, 0x67,
+ 0x75, 0x8e, 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80,
+ 0xed, 0x08, 0x27, 0x13, 0xa9, 0xf3, 0xf1, 0x53, 0x02, 0x5f,
+ 0xdd, 0x43, 0x17, 0x9e, 0x09, 0xec, 0x9f, 0x7e, 0x85, 0x7d,
+ 0xaa, 0x8c, 0xbe, 0xf7, 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10,
+ 0xd1, 0x58, 0x09, 0xe4, 0xa0, 0xcf, 0xab, 0x18, 0x3a, 0x2a,
+ 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99, 0x34, 0x7b, 0x92,
+ 0x02, 0xa1, 0xac, 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9,
+ 0x0a, 0xcf, 0xa2, 0xf3, 0xe6, 0x13, 0xea, 0x68, 0xad, 0xe6,
+ 0xa4, 0xa1, 0x42, 0xee, 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f,
+ 0x94, 0x65, 0x48, 0x06, 0xae, 0x99, 0xeb, 0x05, 0x72, 0xea,
+ 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b, 0x02, 0xff, 0x6d, 0xb4,
+ 0xaf, 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41,
+ 0x7a, 0x47, 0x70, 0x89, 0xcf, 0xda, 0xb0, 0x19, 0x48, 0xe7,
+ 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69, 0xd7, 0x52,
+ 0xcc, 0xca, 0xb1, 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13, 0x77,
+ 0x4f, 0x64, 0x06, 0x05, 0xa5, 0x24, 0x6e, 0xa4, 0xb2, 0xf2,
+ 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde, 0xb1,
+ 0x33, 0xbe, 0x4b, 0x16, 0xb3, 0x66, 0x07, 0x43, 0x61, 0xc6,
+ 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd, 0x41, 0xc8, 0xe9, 0x78,
+ 0xb4, 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8, 0x9d, 0x52, 0x35,
+ 0xad, 0x1a, 0xdc, 0x49, 0x01, 0xb1, 0xb5, 0x98, 0x99, 0xc8,
+ 0x01, 0xce, 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76, 0xae, 0x3f,
+ 0xa3, 0xdf, 0xb6, 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27,
+ 0xe1, 0xc1, 0x3d, 0xc2, 0x38, 0xa5, 0x86, 0x6d, 0xb7, 0x73,
+ 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59, 0xbb, 0x75, 0xae,
+ 0x4a, 0xd3, 0x24, 0x03, 0xb8, 0x33, 0xe2, 0xc0, 0xd1, 0x63,
+ 0xcf, 0x87, 0x7e, 0x48, 0x4b, 0x8f, 0xc1, 0x64, 0x95, 0x3c,
+ 0xb9, 0xa7, 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32,
+ 0x03, 0xe3, 0xb3, 0x12, 0x37, 0x52, 0xba, 0xd8, 0x29, 0xb9,
+ 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb, 0x57, 0x25, 0x88,
+ 0x12, 0xe0, 0xbb, 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60,
+ 0x75, 0xc6, 0x93, 0x3b, 0x57, 0xfe, 0xb0, 0x8e, 0xbc, 0x26,
+ 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8, 0xfc,
+ 0xca, 0x7f, 0x58, 0x47, 0xbd, 0xb2, 0x33, 0xef, 0x81, 0x6f,
+ 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90, 0xb8, 0x09, 0xfa, 0x29,
+ 0xbe, 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d, 0x8a, 0x68, 0x97,
+ 0x38, 0x24, 0x2e, 0x93, 0xdf, 0x9b, 0xbf, 0x59, 0xf8, 0x96,
+ 0xa1, 0xd6, 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48, 0x5c, 0xe5,
+ 0x7d, 0xf5, 0xc0, 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63,
+ 0x85, 0xdc, 0x78, 0x44, 0x13, 0x95, 0x54, 0x07, 0xc1, 0xe2,
+ 0xaf, 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28,
+ 0x61, 0xe3, 0xf6, 0x69, 0xc2, 0x9d, 0xe0, 0xb7, 0x7d, 0x7a,
+ 0xf1, 0xd9, 0x36, 0x28, 0xe8, 0x9c, 0xf7, 0x79, 0xd3, 0xdb,
+ 0xc3, 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6, 0x84, 0x8e, 0x52,
+ 0xa0, 0xf0, 0x85, 0x0f, 0x71, 0xb5, 0xc4, 0x63, 0x7e, 0x3c,
+ 0x1d, 0x72, 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37, 0x18, 0x8e,
+ 0x99, 0x7c, 0xc5, 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89,
+ 0x98, 0x8d, 0xd3, 0x5b, 0x6a, 0xf8, 0x3b, 0x12, 0xc6, 0x88,
+ 0xb5, 0x45, 0x3d, 0xcb, 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef,
+ 0xfc, 0x62, 0x1e, 0xa0, 0xc7, 0x1c, 0x31, 0x98, 0x2d, 0x76,
+ 0x4a, 0x33, 0x2b, 0x79, 0x43, 0x83, 0x8e, 0x14, 0xbc, 0xce,
+ 0xc8, 0x5c, 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a,
+ 0x7d, 0xa2, 0x05, 0xa3, 0x0d, 0xf1, 0xc9, 0xc8, 0x05, 0x34,
+ 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35, 0xce, 0x77, 0xd5,
+ 0xaf, 0x9f, 0xca, 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74,
+ 0xbf, 0x7e, 0xed, 0x7a, 0xe1, 0x4f, 0x8a, 0x2d, 0xcb, 0x23,
+ 0xce, 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16,
+ 0x93, 0x39, 0x28, 0x43, 0xcc, 0x49, 0xd4, 0x1b, 0x9d, 0xd3,
+ 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1, 0x0e, 0xb8, 0xc0, 0x8a,
+ 0xcd, 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11, 0xdb,
+ 0xd6, 0xbd, 0x7c, 0xce, 0x62, 0xe4, 0xce, 0xa2, 0x1f, 0x62,
+ 0xbd, 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09, 0xea, 0x54,
+ 0x47, 0x56, 0xcf, 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e,
+ 0xa2, 0x2f, 0x46, 0x65, 0x98, 0x22, 0xe5, 0x38, 0xd0, 0x22,
+ 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72, 0x4b,
+ 0x3f, 0xf9, 0xe6, 0x28, 0xd1, 0xb6, 0x38, 0x5d, 0x8e, 0xff,
+ 0xad, 0xa7, 0xec, 0x0a, 0x3a, 0x27, 0x4d, 0x8f, 0x44, 0x46,
+ 0xd2, 0xc9, 0x77, 0xf9, 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84,
+ 0xe2, 0x93, 0xdb, 0x15, 0x61, 0xf4, 0xd3, 0x5d, 0xf3, 0x24,
+ 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff, 0xa9, 0x63,
+ 0xc3, 0x9a, 0xd4, 0x37, 0xe9, 0x72, 0xde, 0xf3, 0x16, 0x4d,
+ 0xf1, 0x5b, 0x91, 0x38, 0x34, 0xe2, 0x2b, 0x53, 0xd5, 0xa3,
+ 0x6d, 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54,
+ 0x46, 0x94, 0x89, 0x3d, 0xd6, 0xdc, 0x22, 0x0b, 0xfe, 0x4a,
+ 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0, 0xd0, 0x0e, 0xac, 0x8f,
+ 0xd7, 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f, 0xaa, 0xfa, 0xd5,
+ 0x49, 0x8c, 0xa2, 0x78, 0x0e, 0xe1, 0xd8, 0x08, 0x16, 0xa7,
+ 0x1e, 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad, 0x29, 0xcf,
+ 0xbf, 0xde, 0xd9, 0x9c, 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a,
+ 0x65, 0x5c, 0x3f, 0xc1, 0x5b, 0xb9, 0x1d, 0xb0, 0xda, 0xe3,
+ 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7, 0x75,
+ 0xcd, 0x23, 0x38, 0x02, 0xdb, 0x77, 0x59, 0x03, 0x2e, 0xe7,
+ 0x18, 0xb0, 0xd6, 0xa8, 0xaf, 0x19, 0xbf, 0x55, 0x9a, 0x6c,
+ 0xdc, 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78, 0x0d,
+ 0x94, 0xde, 0x22, 0xd4, 0x72, 0xa5, 0xdd, 0x89, 0xc7, 0x88,
+ 0x4e, 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2, 0x50, 0xa2,
+ 0xd0, 0xcb, 0xde, 0xf6, 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a,
+ 0xcb, 0xf9, 0x04, 0x06, 0xc6, 0x38, 0xf5, 0x79, 0xdf, 0x62,
+ 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73, 0x83, 0x4c, 0x6a,
+ 0xb4, 0x4e, 0x57, 0x17, 0xe0, 0xde, 0xc6, 0x52, 0x18, 0x02,
+ 0xd5, 0x92, 0xe4, 0x47, 0x6c, 0x5a, 0x4b, 0x4d, 0xf3, 0x59,
+ 0xe1, 0x4a, 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d,
+ 0x24, 0x36, 0x39, 0x3b, 0x51, 0x37, 0xe2, 0x35, 0x0d, 0x2b,
+ 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82, 0xaf, 0xa1,
+ 0x74, 0x85, 0xe3, 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc, 0x75,
+ 0xef, 0xc9, 0xb4, 0xee, 0xdd, 0xd7, 0xd6, 0xeb, 0xe4, 0xcb,
+ 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f, 0x29,
+ 0x40, 0x56, 0x3e, 0x22, 0xe5, 0x5f, 0x17, 0x7d, 0x48, 0x0e,
+ 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45, 0x32, 0x20, 0x9c, 0x4c,
+ 0xe6, 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07, 0x9f, 0xf2, 0x98,
+ 0x1f, 0xf1, 0xa4, 0xba, 0xb9, 0xfe, 0xe7, 0xb4, 0xdc, 0x04,
+ 0x68, 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d, 0xd6, 0xcc,
+ 0x1b, 0x90, 0xe8, 0xf4, 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f,
+ 0x6d, 0x11, 0x69, 0xbc, 0x5d, 0x7b, 0xaa, 0xaf, 0xe9, 0x60,
+ 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21, 0xd0,
+ 0x2f, 0x0d, 0x08, 0xc1, 0xea, 0x1f, 0xa7, 0x0c, 0xb8, 0x1a,
+ 0x60, 0x85, 0xde, 0xe5, 0xf9, 0x64, 0xb9, 0x97, 0x2d, 0x73,
+ 0xeb, 0x8b, 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f,
+ 0xb1, 0x08, 0xcb, 0xe1, 0x8f, 0x1d, 0xec, 0xe1, 0x39, 0x87,
+ 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a, 0xcf, 0x56, 0x60,
+ 0x67, 0xd4, 0xed, 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95, 0xd5,
+ 0x70, 0x40, 0xc2, 0xa3, 0x24, 0x16, 0xc5, 0xba, 0xee, 0x0a,
+ 0xf2, 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17,
+ 0xb2, 0x8c, 0xe0, 0x08, 0xef, 0x9e, 0x76, 0x23, 0xe8, 0x16,
+ 0xdb, 0x6f, 0xc3, 0xb4, 0x52, 0x7b, 0xc0, 0xfa, 0x42, 0x66,
+ 0xf0, 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0, 0x0b, 0x35, 0xeb,
+ 0x66, 0x55, 0x67, 0x21, 0x41, 0x76, 0xf1, 0x1e, 0xd5, 0xc1,
+ 0xcb, 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39, 0x15, 0x57,
+ 0xe3, 0x18, 0xf2, 0x61, 0x9a, 0x65, 0xfb, 0x3a, 0xae, 0xb1,
+ 0x86, 0x1f, 0xf6, 0x8d, 0x83, 0xcd, 0xc6, 0xaa, 0xf3, 0xf5,
+ 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe, 0xe1,
+ 0xf1, 0xbb, 0x64, 0xc4, 0xf4, 0x9f, 0x04, 0xee, 0x9b, 0x32,
+ 0x7c, 0xbc, 0x90, 0xc0, 0x85, 0x26, 0x6c, 0x3a, 0x8c, 0x0d,
+ 0xf5, 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b, 0xe1, 0x28, 0xba,
+ 0xcd, 0x4a, 0x1e, 0x4c, 0x2e, 0x63, 0xf6, 0x74, 0xcf, 0x97,
+ 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15, 0xfe, 0x88, 0xd6,
+ 0x0b, 0xd1, 0xf7, 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b,
+ 0x9b, 0x4e, 0x5d, 0x92, 0xfa, 0xa0, 0xa9, 0xbf, 0xf8, 0xa0,
+ 0xfb, 0x3b, 0x5b, 0x22, 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3,
+ 0x71, 0x17, 0x18, 0x80, 0xf9, 0x34, 0x7f, 0xe6, 0x4b, 0x9f,
+ 0x3c, 0xfb, 0x04, 0xc7, 0x2b, 0xdf, 0x03, 0x61, 0xba, 0xee,
+ 0xfa, 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49,
+ 0xf3, 0x6b, 0x95, 0xfb, 0x9f, 0x5c, 0xfb, 0xdf, 0xb4, 0x9f,
+ 0x6b, 0x26, 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07, 0xe7, 0x8d,
+ 0x3d, 0x32, 0xfc, 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11,
+ 0x19, 0x96, 0x80, 0xc0, 0x7a, 0x0c, 0xd5, 0xfb, 0xfd, 0x21,
+ 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8, 0xac,
+ 0x08, 0x7a, 0x77, 0x95, 0xfe, 0x5e, 0x65, 0xb0, 0x3b, 0x2a,
+ 0xc9, 0xab, 0xaa, 0x62, 0x10, 0x18, 0x9e, 0xe0, 0x52, 0x27,
+ 0xff, 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12, 0x18,
+ 0x58, 0x74, 0xec, 0x96, 0xf0, 0x49,
+ },
+ {
+ /* 1 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0xa5, 0x64, 0x0d,
+ 0x89, 0xa2, 0x7f, 0x4b, 0x6e, 0x16, 0xc3, 0x4c, 0xe8, 0xe3,
+ 0xd0, 0x4d, 0xeb, 0x89, 0xc8, 0x1a, 0xd1, 0x87, 0xfe, 0x96,
+ 0xdc, 0x2c, 0x45, 0x98, 0x13, 0x05, 0x63, 0x9a, 0x7f, 0x2c,
+ 0xac, 0x17, 0x58, 0x25, 0x81, 0xdd, 0xb2, 0x3a, 0x86, 0xd4,
+ 0xfb, 0xe6, 0xb3, 0xd7, 0x15, 0xd1, 0x53, 0x34, 0x61, 0xcd,
+ 0x3f, 0xef, 0x7b, 0x58, 0x8a, 0xf3, 0x26, 0x0a, 0xc6, 0xf7,
+ 0x81, 0x74, 0x37, 0x39, 0xe8, 0x6f, 0x40, 0xa4, 0x15, 0x4e,
+ 0x49, 0xbf, 0xce, 0xe9, 0x16, 0xba, 0xfe, 0x58, 0x9b, 0x2e,
+ 0xb0, 0x4a, 0xc1, 0x79, 0xa7, 0x74, 0xcf, 0x6b, 0x35, 0x0f,
+ 0xa5, 0x6d, 0x6a, 0xfd, 0xff, 0x23, 0x39, 0xe8, 0xbe, 0x32,
+ 0xc9, 0x62, 0x0c, 0x27, 0xdd, 0xec, 0x75, 0x20, 0x2a, 0x61,
+ 0xa6, 0x68, 0xc2, 0x59, 0x7e, 0x1d, 0xf6, 0xb0, 0xd7, 0x25,
+ 0x4c, 0x14, 0x4f, 0x2d, 0xbe, 0xc4, 0xc2, 0x65, 0x4b, 0xfb,
+ 0x01, 0x56, 0x98, 0xa6, 0x14, 0x69, 0xa4, 0xf7, 0x9f, 0x60,
+ 0xc1, 0xe8, 0x6e, 0x72, 0x13, 0xde, 0x80, 0x8b, 0x2a, 0x9c,
+ 0x92, 0xbd, 0x5f, 0x11, 0x2c, 0xb7, 0x55, 0x4d, 0x0a, 0x7f,
+ 0x9a, 0x7c, 0xff, 0xc0, 0x44, 0x8a, 0x51, 0xf1, 0xb7, 0xf2,
+ 0xfc, 0xfa, 0x3f, 0xb0, 0xf5, 0x5c, 0xa3, 0x94, 0x41, 0xf2,
+ 0x8d, 0xe8, 0x5d, 0xd6, 0x6a, 0x1e, 0x89, 0xda, 0xab, 0x15,
+ 0x91, 0x51, 0x2a, 0x36, 0x3e, 0xb9, 0xe3, 0xfe, 0x9e, 0x9a,
+ 0x82, 0xfd, 0x59, 0x97, 0xd4, 0x39, 0x3d, 0x46, 0x72, 0x13,
+ 0xbf, 0x64, 0x51, 0xc4, 0x18, 0x4e, 0x79, 0x1b, 0xea, 0x40,
+ 0x40, 0x9c, 0x59, 0x4b, 0xfb, 0xb1, 0xc0, 0x2f, 0x3f, 0xd2,
+ 0xdb, 0x02, 0x91, 0xf8, 0x3a, 0x0d, 0x54, 0xc2, 0x8f, 0xd0,
+ 0x47, 0xb2, 0xfc, 0x3a, 0x2f, 0xa3, 0x6d, 0x4a, 0x98, 0x28,
+ 0x9e, 0x5a, 0xc0, 0x67, 0xeb, 0xdd, 0xce, 0x10, 0x83, 0x71,
+ 0x41, 0xb5, 0xae, 0x06, 0x70, 0xcb, 0x4e, 0x17, 0xbf, 0x4b,
+ 0x47, 0xca, 0x96, 0x35, 0x02, 0xac, 0xf3, 0x8f, 0x28, 0xd2,
+ 0x8b, 0x2d, 0xfd, 0xc0, 0x2b, 0xee, 0x23, 0xc7, 0x1f, 0x97,
+ 0x7d, 0xe7, 0x9d, 0x99, 0xeb, 0x9e, 0x63, 0xce, 0x2d, 0x8d,
+ 0x41, 0x13, 0xdc, 0xe4, 0x26, 0x7f, 0xc3, 0xd5, 0x54, 0xfb,
+ 0xe7, 0xb9, 0xbe, 0x22, 0x58, 0xad, 0xd5, 0xb6, 0xb8, 0xe9,
+ 0xaf, 0xdd, 0xbc, 0x9e, 0x3a, 0xed, 0x24, 0xf5, 0x56, 0xc1,
+ 0x88, 0xe0, 0xaa, 0x9a, 0x14, 0xfe, 0xf7, 0xf8, 0x3d, 0x43,
+ 0x88, 0xd7, 0xa2, 0x21, 0xad, 0x27, 0x3b, 0x37, 0x3e, 0x3f,
+ 0x70, 0xf3, 0x7e, 0x5a, 0x42, 0x08, 0xe6, 0xc1, 0x61, 0x6d,
+ 0x45, 0xc4, 0xeb, 0x7a, 0x7e, 0xa3, 0x29, 0xb8, 0x85, 0xeb,
+ 0x82, 0x27, 0xd9, 0x13, 0xba, 0x6f, 0xd4, 0x3c, 0xd1, 0x77,
+ 0xea, 0x06, 0x4d, 0xb5, 0x0c, 0x49, 0xfd, 0x6c, 0xb7, 0x05,
+ 0x79, 0x23, 0x3c, 0xdf, 0x01, 0x3a, 0x95, 0x2a, 0xe1, 0xa2,
+ 0x54, 0x6c, 0x7c, 0xb1, 0x05, 0x3f, 0xff, 0xf7, 0xc7, 0x39,
+ 0xb2, 0xed, 0x01, 0x8f, 0x85, 0xaf, 0xdd, 0xce, 0x03, 0xfa,
+ 0x6b, 0x29, 0x3c, 0xbb, 0x2f, 0xda, 0x62, 0xa0, 0x6b, 0x72,
+ 0x7a, 0x8c, 0xe4, 0x26, 0xbd, 0xc8, 0xa2, 0x4b, 0x30, 0x9c,
+ 0xf2, 0x36, 0x17, 0x80, 0xff, 0xd7, 0x1e, 0x81, 0x6d, 0x84,
+ 0xc2, 0x83, 0xcc, 0x5d, 0xf3, 0xd0, 0x1a, 0xd5, 0xc7, 0xcd,
+ 0x80, 0xfb, 0xb2, 0x96, 0x35, 0xa1, 0x43, 0x5e, 0x7e, 0x67,
+ 0x75, 0x04, 0xe1, 0x33, 0x74, 0x1a, 0x14, 0x5e, 0xd6, 0x9b,
+ 0xbc, 0x03, 0x3c, 0x15, 0x10, 0x71, 0xb6, 0x48, 0x09, 0xd0,
+ 0xa4, 0x57, 0xa8, 0x47, 0xdd, 0x63, 0x8e, 0xa7, 0x3b, 0x74,
+ 0x5e, 0x85, 0xda, 0x94, 0xf3, 0x50, 0xff, 0xb4, 0x3c, 0xe2,
+ 0xb9, 0x6e, 0x07, 0x05, 0x44, 0x3f, 0x30, 0x93, 0x19, 0xd8,
+ 0x1b, 0xb3, 0x2f, 0xf9, 0x43, 0xce, 0x15, 0x79, 0x5f, 0x20,
+ 0xc5, 0xe2, 0x82, 0xa9, 0x9f, 0x0c, 0xe0, 0x55, 0x9c, 0x2e,
+ 0xd7, 0x6b, 0x71, 0x74, 0xd6, 0x82, 0xba, 0xa9, 0xec, 0xbf,
+ 0x5c, 0x40, 0x08, 0xb6, 0x4c, 0x63, 0xbd, 0x96, 0x8e, 0x57,
+ 0xef, 0x6a, 0x04, 0x9b, 0x25, 0xdd, 0x50, 0x67, 0xd5, 0x5a,
+ 0x39, 0x43, 0x29, 0x33, 0xea, 0x5a, 0x66, 0xc8, 0x7b, 0xd0,
+ 0x4b, 0xcb, 0x93, 0x2b, 0x3d, 0xb9, 0xe9, 0x0e, 0x56, 0x1f,
+ 0x46, 0x4d, 0x3e, 0xed, 0xfa, 0x0d, 0xf9, 0xf1, 0x15, 0xff,
+ 0xc6, 0x5f, 0x5a, 0xd9, 0xc2, 0xba, 0x22, 0x40, 0xb7, 0x4f,
+ 0x85, 0x46, 0x97, 0xe7, 0xd6, 0xb3, 0x2e, 0xbc, 0x8a, 0x94,
+ 0x82, 0x26, 0x7b, 0x0b, 0x4c, 0xfe, 0x45, 0x69, 0xa8, 0x35,
+ 0x0d, 0xb1, 0xbf, 0x44, 0xb0, 0x99, 0x16, 0x83, 0x1f, 0x06,
+ 0xc5, 0x5c, 0x3a, 0x22, 0xc6, 0x23, 0xce, 0xfd, 0x57, 0xa7,
+ 0x60, 0xd4, 0x69, 0xaf, 0xb3, 0x11, 0x9d, 0x79, 0xbb, 0xff,
+ 0x74, 0x19, 0x48, 0x29, 0xac, 0x41, 0xd3, 0x03, 0xfd, 0x0a,
+ 0xd7, 0x1c, 0x14, 0xdb, 0xc4, 0xb4, 0x1a, 0x0f, 0x8b, 0x65,
+ 0x44, 0xa2, 0x03, 0x4e, 0x97, 0xf7, 0x28, 0x3f, 0x2d, 0x33,
+ 0x7a, 0x86, 0xd3, 0x6d, 0x87, 0x42, 0x99, 0x4e, 0x76, 0x6e,
+ 0x03, 0x52, 0x4c, 0x32, 0xa4, 0x91, 0x05, 0xcd, 0xbd, 0x7b,
+ 0x44, 0x0e, 0x71, 0xad, 0xa6, 0x23, 0x7c, 0x7e, 0xe0, 0x25,
+ 0xfc, 0xb4, 0x84, 0x10, 0x0f, 0x41, 0xc2, 0xda, 0x8a, 0x4b,
+ 0x15, 0xf4, 0xe8, 0xdb, 0x84, 0x28, 0x75, 0x16, 0xfb, 0x5b,
+ 0x61, 0x57, 0x01, 0x96, 0x62, 0xa8, 0xc5, 0xb9, 0xfc, 0x85,
+ 0x52, 0xb3, 0xc9, 0x15, 0xc7, 0x4e, 0x71, 0x26, 0xb7, 0xde,
+ 0x6b, 0x78, 0x61, 0xee, 0x68, 0x20, 0x36, 0xbe, 0x40, 0xb7,
+ 0xb8, 0x05, 0x1f, 0x30, 0x74, 0x92, 0x83, 0x9b, 0xb1, 0xa3,
+ 0x17, 0x0c, 0x9a, 0xa9, 0x18, 0x92, 0x39, 0xd8, 0xad, 0x0a,
+ 0xf2, 0x46, 0x78, 0x7d, 0x02, 0x74, 0x83, 0xa9, 0xfe, 0xa4,
+ 0x91, 0x30, 0x46, 0x93, 0xc3, 0x1c, 0x31, 0x0a, 0x90, 0x9e,
+ 0xd2, 0x39, 0xe9, 0x54, 0x01, 0x87, 0xa8, 0xd8, 0xf8, 0xa1,
+ 0x0a, 0x7e, 0x3d, 0x2d, 0x4d, 0x72, 0xa7, 0x19, 0x7d, 0xf1,
+ 0x65, 0x8a, 0x21, 0x7a, 0x87, 0xea, 0x64, 0x68, 0xfe, 0x61,
+ 0xa5, 0x91, 0x77, 0x54, 0x02, 0xdd, 0xc9, 0x9d, 0x79, 0x5f,
+ 0x06, 0x37, 0xd6, 0x52, 0x78, 0xb5, 0x5e, 0x77, 0xc4, 0x83,
+ 0x96, 0x78, 0xad, 0x90, 0xf0, 0xfd, 0x79, 0x7c, 0xb8, 0x44,
+ 0xbb, 0xf9, 0xb6, 0x94, 0x14, 0xce, 0xd6, 0xe4, 0xf4, 0xdb,
+ 0x0b, 0x4c, 0xb9, 0x53, 0x87, 0x96, 0x60, 0xfb, 0x27, 0x6c,
+ 0x2e, 0xc3, 0x42, 0x41, 0x90, 0xd6, 0x82, 0xee, 0xc6, 0x18,
+ 0xe9, 0x80, 0xa3, 0xb7, 0xcf, 0x8f, 0xfe, 0x8e, 0x3d, 0x6d,
+ 0x3c, 0xc1, 0xda, 0xcb, 0x47, 0xc5, 0x5b, 0xba, 0x25, 0x63,
+ 0x34, 0x69, 0x4d, 0x59, 0xa9, 0xc8, 0x58, 0xcc, 0x53, 0x69,
+ 0x38, 0x8e, 0x35, 0xac, 0xe6, 0x2f, 0xdc, 0x8a, 0x9d, 0x14,
+ 0xc3, 0x35, 0xa7, 0xef, 0x6a, 0x81, 0x86, 0xbc, 0xfc, 0xce,
+ 0xea, 0x08, 0x01, 0x66, 0xe8, 0x34, 0x57, 0x90, 0xc3, 0xe2,
+ 0xe3, 0x23, 0xf9, 0xf7, 0x92, 0xd8, 0x29, 0x44, 0xe9, 0x85,
+ 0x38, 0x79, 0x28, 0xbc, 0x6f, 0xf5, 0xbb, 0x06, 0x78, 0x2a,
+ 0x20, 0xe2, 0xaf, 0x90, 0x12, 0x63, 0x8b, 0xae, 0xbc, 0x19,
+ 0x0b, 0xf8, 0x32, 0xa4, 0x07, 0x61, 0x4e, 0xf4, 0x6c, 0xdc,
+ 0xfa, 0x80, 0x5b, 0xe3, 0x93, 0x8e, 0x79, 0xc6, 0xdf, 0x8d,
+ 0x76, 0xe8, 0xbc, 0xc9, 0x77, 0xeb, 0x25, 0xa0, 0x3d, 0xab,
+ 0x07, 0x2b, 0x1d, 0xcb, 0x56, 0x2f, 0x09, 0xa3, 0xd2, 0xdf,
+ 0xb4, 0xa7, 0xcd, 0x43, 0xed, 0xe6, 0x78, 0x07, 0xb1, 0xdc,
+ 0x0e, 0x0a, 0x88, 0x7e, 0x60, 0xe5, 0x32, 0x73, 0x36, 0xa5,
+ 0x5e, 0x31, 0xec, 0xa2, 0xd5, 0xd1, 0x87, 0xa8, 0xf7, 0x35,
+ 0x0e, 0xf3, 0xf1, 0x3f, 0xde, 0x46, 0x8e, 0x7c, 0x86, 0x5f,
+ 0x2a, 0xf2, 0xbe, 0x40, 0x49, 0x07, 0xc7, 0x91, 0xfd, 0x18,
+ 0x03, 0xaa, 0xfb, 0x5c, 0x12, 0xfa, 0x4e, 0xff, 0x37, 0xe2,
+ 0x36, 0x4c, 0xa9, 0x87, 0x3e, 0x54, 0xeb, 0x49, 0x2b, 0x11,
+ 0x6d, 0xd6, 0xe2, 0xe8, 0x6f, 0xc7, 0xb7, 0x91, 0x1b, 0xbd,
+ 0xb8, 0x80, 0x10, 0xaf, 0x98, 0xc6, 0xf9, 0x73, 0x86, 0xe5,
+ 0xe6, 0x65, 0xc8, 0xda, 0x75, 0xab, 0x7b, 0xcc, 0xf8, 0x4c,
+ 0x48, 0x8b, 0xb9, 0xef, 0xdf, 0xae, 0x1d, 0xd4, 0x08, 0xf5,
+ 0x4a, 0x79, 0xa0, 0xce, 0x69, 0xb4, 0x72, 0x86, 0x2d, 0x4a,
+ 0xbb, 0xa3, 0x94, 0x76, 0x77, 0xbe, 0x24, 0x6f, 0x63, 0x82,
+ 0x81, 0x57, 0xa2, 0xcb, 0x52, 0x66, 0x17, 0xb4, 0xcc, 0x53,
+ 0xf6, 0x63, 0x96, 0x55, 0xe5, 0x56, 0x7a, 0xb1, 0x11, 0x1c,
+ 0xc6, 0xc3, 0x73, 0xb9, 0x45, 0xf1, 0x89, 0x28, 0xf8, 0x43,
+ 0x26, 0x1a, 0x92, 0x52, 0xc1, 0x51, 0xac, 0x3e, 0x8c, 0x9a,
+ 0x7c, 0x19, 0x37, 0x1a, 0x31, 0x21, 0x2a, 0x3d, 0x4f, 0xbe,
+ 0xb4, 0x71, 0x38, 0x9b, 0xe8, 0x97, 0xf5, 0xbb, 0x48, 0x51,
+ 0x5f, 0x37, 0xe9, 0x71, 0xa7, 0x5d, 0x64, 0x3c, 0x47, 0xb7,
+ 0x44, 0x80, 0xad, 0x9e, 0xc9, 0x8c, 0xed, 0x0d, 0x6f, 0xa5,
+ 0x5c, 0xbb, 0xd7, 0xeb, 0xd3, 0x12, 0x20, 0x8d, 0x24, 0x3c,
+ 0xb6, 0xc7, 0x83, 0x1b, 0xac, 0xe9, 0xb4, 0x58, 0x07, 0xa6,
+ 0xc7, 0x4c, 0xf6, 0x16, 0x98, 0x3f, 0x8a, 0xd2, 0x93, 0x6a,
+ 0x1a, 0xa1, 0xbd, 0x88, 0xa3, 0xf1, 0x53, 0xe9, 0x92, 0x1b,
+ 0x11, 0x9d, 0xf5, 0x99, 0xfd, 0x7c, 0xd9, 0xed, 0x55, 0x6b,
+ 0x73, 0xbc, 0x2c, 0xc5, 0x3e, 0x0c, 0x49, 0xb8, 0x74, 0x44,
+ 0x4f, 0x46, 0x5f, 0x39, 0xae, 0x8d, 0xc0, 0x6b, 0xb8, 0x60,
+ 0x5a, 0x01, 0xc0, 0x1a, 0x0b, 0x0f, 0x21, 0x50, 0x9c, 0x75,
+ 0x46, 0x6e, 0x10, 0x26, 0xd2, 0x9d, 0xa5, 0x22, 0xf9, 0xf2,
+ 0xb5, 0x3d, 0xe8, 0x32, 0x90, 0x52, 0x9b, 0x82, 0x65, 0x06,
+ 0x46, 0x38, 0xc1, 0x2f, 0x70, 0x50, 0xca, 0x76, 0x86, 0x24,
+ 0x53, 0x1e, 0x73, 0x61, 0xb5, 0x4b, 0x39, 0x14, 0x6d, 0x38,
+ 0x28, 0x75, 0x4b, 0xab, 0x34, 0x1e, 0xd5, 0xca, 0x88, 0x87,
+ 0x06, 0x9c, 0xad, 0xb1, 0x09, 0x35, 0xa1, 0xd7, 0x34, 0xe0,
+ 0x5a, 0x08, 0x16, 0x86, 0x60, 0x64, 0xd6, 0xd1, 0xed, 0x2d,
+ 0x50, 0x7e, 0x5a, 0x66, 0xf4, 0xcf, 0x65, 0xda, 0xcd, 0x84,
+ 0xf1, 0x9c, 0xec, 0xdc, 0x79, 0x88, 0x34, 0x73, 0xd3, 0xc4,
+ 0x8b, 0x84, 0x0b, 0xcc, 0x0e, 0xc8, 0x19, 0x7f, 0x3c, 0x91,
+ 0x06, 0xa4, 0x98, 0x64, 0x8b, 0xe1, 0x0a, 0x59, 0xb9, 0xf6,
+ 0x88, 0x1c, 0xe2, 0x99, 0x8f, 0x46, 0x92, 0x01, 0xfc, 0x69,
+ 0x02, 0x43, 0x75, 0x12, 0xd7, 0xe0, 0x4b, 0x50, 0x0a, 0x7a,
+ 0x5f, 0x0b, 0xf8, 0xfc, 0x03, 0x4a, 0x3b, 0xab, 0xcb, 0x20,
+ 0x1e, 0x82, 0x47, 0x77, 0xd7, 0x96, 0x2a, 0x2b, 0x6c, 0x59,
+ 0x67, 0x47, 0xb2, 0x09, 0xb4, 0x6b, 0x70, 0x94, 0x84, 0x3b,
+ 0x3f, 0x75, 0xfa, 0x66, 0x13, 0x75, 0xcb, 0x50, 0xea, 0x2c,
+ 0x35, 0xb6, 0xc2, 0xae, 0x02, 0xef, 0xc4, 0x93, 0x49, 0xb1,
+ 0x87, 0xd0, 0xaf, 0x5d, 0x63, 0x8e, 0x4a, 0xfd, 0xac, 0xb8,
+ 0xc1, 0xa3, 0x2c, 0x70, 0x99, 0xfc, 0x3b, 0xc9, 0xa4, 0xa5,
+ 0x51, 0x2a, 0x4d, 0x9c, 0xe2, 0x4c, 0xad, 0x7f, 0xd6, 0xf0,
+ 0xc2, 0x1f, 0xaf, 0x6c, 0xc0, 0xa8, 0xd8, 0x88, 0x32, 0xd7,
+ 0x8c, 0x5a, 0x6e, 0x33, 0x3e, 0x13, 0x12, 0x52, 0xd0, 0x40,
+ 0x6c, 0xbf, 0x80, 0xad, 0xb3, 0x0a, 0x3e, 0x60, 0xe8, 0xe7,
+ 0xc5, 0xf5, 0xa1, 0x85, 0x44, 0xe5, 0x08, 0xb2, 0x09, 0x0f,
+ 0xcc, 0x41, 0x50, 0x76, 0x2b, 0xab, 0x2d, 0x16, 0x71, 0xc8,
+ 0x2e, 0x18, 0xf7, 0x91, 0x30, 0xe7, 0x72, 0x73, 0x99, 0x14,
+ 0x27, 0x8c, 0xf0, 0xfa, 0x04, 0xe8, 0xba, 0xbd, 0x93, 0x9c,
+ 0xb9, 0x45, 0x0d, 0x38, 0xf7, 0x02, 0xe4, 0xc0, 0x18, 0x19,
+ 0xd4, 0xa5, 0xc5, 0x91, 0x3f, 0x8b, 0xe1, 0x60, 0x8c, 0xe5,
+ 0x45, 0x38, 0x62, 0x14, 0xe3, 0xff, 0x67, 0x72, 0x51, 0x34,
+ 0x5b, 0x86, 0x68, 0xc2, 0xf3, 0xae, 0x2b, 0x2e, 0xa1, 0x58,
+ 0x0b, 0x1c, 0xb7, 0x3f, 0x11, 0xa8, 0x02, 0xcd, 0x93, 0x73,
+ 0x33, 0x81, 0x14, 0xfc, 0x7a, 0x5a, 0x9a, 0xe4, 0x8d, 0x32,
+ 0x85, 0x0d, 0x66, 0xc0, 0x1a, 0xd1, 0x4c, 0xca, 0x7a, 0xea,
+ 0xb9, 0x16, 0x72, 0x07, 0x5d, 0x7f, 0xfa, 0x21, 0xca, 0xd7,
+ 0x42, 0xf4, 0xcd, 0x17, 0xc8, 0xd0, 0x3f, 0xc2, 0x89, 0xe1,
+ 0xee, 0xa8, 0x6e, 0x84, 0xae, 0xda, 0xcb, 0x56, 0xb2, 0x5c,
+ 0xa6, 0xc6, 0xfc, 0x8e, 0x61, 0x02, 0x3e, 0xe5, 0x04, 0x79,
+ 0x51, 0xf9, 0xf2, 0xbe, 0x0c, 0x6e, 0x6f, 0xa4, 0xf0, 0xa9,
+ 0xbc, 0xee, 0x4b, 0xc5, 0x90, 0xdc, 0x35, 0xf4, 0x7b, 0x1c,
+ 0x73, 0x25, 0x01, 0xb2, 0x33, 0xe5, 0x54, 0x0d, 0x9b, 0x88,
+ 0xef, 0xf0, 0x99, 0xe3, 0x23, 0x39, 0xf2, 0xf8, 0xb3, 0x88,
+ 0xb5, 0x31, 0xaf, 0xeb, 0x28, 0x5f, 0x7b, 0x55, 0xfd, 0xee,
+ 0xaa, 0x9b, 0x8d, 0xb3, 0xdd, 0x9e, 0x76, 0x7d, 0x47, 0x08,
+ 0xf8, 0x12, 0x6f, 0x0b, 0x2b, 0x75, 0x16, 0x98, 0xb1, 0xa6,
+ 0xcd, 0xef, 0xc0, 0x35, 0x4e, 0xd8, 0x5c, 0x45, 0xfb, 0xae,
+ 0x4f, 0x78, 0x9f, 0x3a, 0xce, 0xed, 0xa3, 0xf9, 0x03, 0x79,
+ 0xa6, 0x3b, 0x8c, 0x08, 0x84, 0x82, 0xe3, 0x6f, 0xc7, 0x1f,
+ 0x4f, 0x30, 0x11, 0xc3, 0x85, 0xad, 0x5d, 0xdd, 0x3f, 0xdf,
+ 0x10, 0x27, 0x87, 0x62, 0x4e, 0xbd, 0x30, 0x7b, 0x7f, 0xd5,
+ 0x46, 0xe1, 0xb5, 0x3e, 0xef, 0x92, 0x7a, 0xda, 0x78, 0x41,
+ 0x77, 0x55, 0x8e, 0x49, 0xb6, 0xb7, 0x4a, 0xc6, 0x68, 0xd2,
+ 0x9a, 0xb2, 0xee, 0x7f, 0x1c, 0x4c, 0xfe, 0xf7, 0xf1, 0x02,
+ 0xd8, 0xa1, 0x89, 0x8a, 0x80, 0x31, 0x4a, 0xff, 0x91, 0x53,
+ 0xb0, 0x5b, 0xa6, 0xd2, 0x70, 0xdf, 0x6a, 0x9b, 0x0f, 0x5e,
+ 0x7b, 0xd7, 0xf9, 0x28, 0x05, 0xf6, 0xd4, 0x56, 0x2f, 0x70,
+ 0x0f, 0x94, 0x04, 0x8d, 0xcc, 0x12, 0x93, 0x34, 0x29, 0x65,
+ 0x45, 0x6a, 0x8d, 0x1d, 0xd4, 0xc1, 0xcf, 0xbb, 0x3b, 0x5f,
+ 0x17, 0x10, 0x02, 0xcc, 0x13, 0x68, 0xd1, 0xcf, 0xe9, 0x10,
+ 0x5d, 0x63, 0xb0, 0xf0, 0x55, 0x49, 0xd4, 0x5c, 0xea, 0x2f,
+ 0xc3, 0x25, 0xae, 0xe3, 0x45, 0x07, 0x05, 0x46, 0x31, 0x2d,
+ 0xe7, 0x73, 0x52, 0x88, 0x11, 0xc9, 0x70, 0xf2, 0x3a, 0x46,
+ 0x21, 0x0a, 0x8c, 0xe4, 0x4e, 0x66, 0x89, 0x65, 0x91, 0xc4,
+ 0xf9, 0x2a, 0xa0, 0xbf, 0x50, 0xbb, 0xde, 0x29, 0xb5, 0x0c,
+ 0xf0, 0x54, 0x40, 0x07, 0x9d, 0xe3, 0x24, 0xc6, 0xd5, 0x9f,
+ 0xc4, 0x1e, 0xba, 0x24, 0x3c, 0xae, 0x8f, 0x1f, 0x2e, 0x11,
+ 0x5e, 0xaf, 0xcc, 0x25, 0x05, 0xd2, 0xbb, 0x32, 0x16, 0x33,
+ 0x64, 0x8b, 0x0e, 0xc2, 0x9c, 0x2b, 0xd8, 0x7b, 0x37, 0xc3,
+ 0xb6, 0x05, 0x2f, 0x97, 0x72, 0x3e, 0xed, 0x29, 0x71, 0x89,
+ 0xf2, 0x3d, 0x1b, 0x37, 0xdf, 0x20, 0x66, 0x48, 0xe5, 0xdf,
+ 0xf2, 0x4f, 0x7d, 0xd9, 0xec, 0x13, 0xbb, 0x51, 0xee, 0x15,
+ 0x4a, 0x83, 0x7a, 0x95, 0x71, 0x7a, 0x96, 0x42, 0xf4, 0x7b,
+ 0x93, 0x58, 0xd5, 0x47, 0x2d, 0x59, 0xa2, 0x60, 0xaa, 0xd8,
+ 0x0e, 0x56, 0x3a, 0x55, 0xac, 0x5e, 0x12, 0x85, 0x67, 0x7d,
+ 0xab, 0x8d, 0x59, 0x86, 0x19, 0x0f, 0x9a, 0xf3, 0x5e, 0x58,
+ 0x25, 0xfc, 0x6d, 0xce, 0x09, 0x6b, 0x68, 0xc1, 0xb1, 0x65,
+ 0xc9, 0x42, 0xf0, 0x0e, 0xa1, 0x7b, 0x1c, 0x14, 0xd3, 0xfc,
+ 0xc0, 0x09, 0x64, 0xe6, 0x6c, 0x89, 0xbc, 0x62, 0x64, 0xab,
+ 0xc5, 0x76, 0x95, 0xb6, 0xac, 0xb7, 0xae, 0x1f, 0xa7, 0xaa,
+ 0x84, 0x6a, 0x6c, 0x2f, 0x1b, 0x87, 0x69, 0x61, 0xcd, 0x93,
+ 0x2d, 0x6a, 0x1c, 0x25, 0x21, 0x7e, 0x7f, 0x8c, 0xdf, 0xf8,
+ 0x8f, 0x22, 0x0d, 0x6c, 0x44, 0x31, 0x52, 0x21, 0x72, 0x33,
+ 0xe2, 0x32, 0x97, 0x6f, 0x0f, 0xb5, 0xcf, 0xbe, 0x54, 0x27,
+ 0xbf, 0x80, 0x92, 0x0e, 0x4d, 0xe1, 0x39, 0x30, 0x06, 0x97,
+ 0x35, 0xb8, 0x5b, 0x1b, 0x30, 0x2a, 0x36, 0x22, 0xed, 0x45,
+ 0x23, 0xf7, 0xfa, 0x7c, 0xee, 0x74, 0xe5, 0xf5, 0x24, 0x37,
+ 0x9c, 0x3d, 0x6e, 0x07, 0x6c, 0x98, 0x91, 0xcd, 0x7c, 0xa8,
+ 0x15, 0x92, 0x56, 0x22, 0xb0, 0x92, 0xf8, 0x30, 0xe7, 0xa5,
+ 0x13, 0xd3, 0xff, 0xdb, 0xbf, 0xe4, 0xfd, 0x71, 0x86, 0x6f,
+ 0xda, 0x6f, 0x07, 0x13, 0xde, 0x4d, 0xad, 0xe1, 0x36, 0xb9,
+ 0xb3, 0xc3, 0x20, 0x9d, 0xf3, 0x4f, 0x4e, 0xca, 0x63, 0x1e,
+ 0x57, 0xef, 0xd2, 0xaa, 0x58, 0xaf, 0x70, 0x8f, 0xc8, 0x7e,
+ 0x23, 0x02, 0x31, 0xe6, 0xcf, 0x09, 0x0f, 0xca, 0x53, 0x77,
+ 0xea, 0x95, 0xf6, 0x5b, 0x33, 0x98, 0x90, 0xd5, 0xa5, 0x43,
+ 0xab, 0x04, 0x86, 0x68, 0x2c, 0x3c, 0x84, 0x83, 0x35, 0x17,
+ 0xdb, 0x7b, 0x40, 0x98, 0xb1, 0x1d, 0x7d, 0x9f, 0x3a, 0x6b,
+ 0x10, 0x29, 0x94, 0xf2, 0x83, 0x5f, 0xd2, 0xab, 0xe4, 0xcf,
+ 0x25, 0xb8, 0x19, 0x92, 0xb3, 0xc9, 0x6f, 0x62, 0xfa, 0xe4,
+ 0x40, 0x13, 0x3a, 0x48, 0x34, 0x82, 0x5a, 0x94, 0xb5, 0x85,
+ 0xeb, 0xec, 0xee, 0xbf, 0x48, 0xde, 0xc6, 0xc7, 0xc1, 0xae,
+ 0x87, 0x55, 0xce, 0x31, 0xd1, 0x88, 0x62, 0x4e, 0x91, 0xf4,
+ 0x26, 0xc8, 0x05, 0x8b, 0x29, 0x4d, 0x57, 0x18, 0xa4, 0xcc,
+ 0x2e, 0xab, 0x5b, 0xa6, 0x2f, 0xc6, 0xef, 0xaa, 0x09, 0xac,
+ 0xf4, 0xa1, 0x22, 0x38, 0x30, 0x69, 0x4a, 0xa6, 0xd2, 0x04,
+ 0x50, 0x8d, 0x81, 0xbc, 0xca, 0xe0, 0x1c, 0x42, 0xf2, 0x75,
+ 0x4f, 0x45, 0xe6, 0xb1, 0x8a, 0x21, 0xd1, 0x50, 0x33, 0x86,
+ 0x4c, 0x34, 0xe7, 0xa4, 0x41, 0xa2, 0xdb, 0xe0, 0x82, 0xbc,
+ 0x03, 0x83, 0xae, 0x1b, 0x5d, 0x90, 0x8f, 0x78, 0x0f, 0x47,
+ 0x91, 0xef, 0x9b, 0x7c, 0xdb, 0xf7, 0xf8, 0x32, 0x6e, 0x34,
+ 0x62, 0x42, 0x54, 0x7a, 0x9e, 0xbf, 0xab, 0xe2, 0x0f, 0xd9,
+ 0xbf, 0xfa, 0x71, 0x90, 0x11, 0x7f, 0x0c, 0x54, 0x97, 0x36,
+ 0x76, 0x5c, 0x7b, 0xaf, 0x70, 0xf5, 0x13, 0xed, 0x29, 0xb5,
+ 0x90, 0xa2, 0xbe, 0x6e, 0x11, 0xe2, 0x8d, 0xba, 0xc8, 0x78,
+ 0xe4, 0x50, 0x77, 0xe0, 0xa0, 0x17, 0xef, 0xe9, 0xd0, 0x78,
+ 0xd2, 0xae, 0x65, 0x59, 0x18, 0x35, 0x8e, 0xad, 0x88, 0xc3,
+ 0x99, 0xff, 0x51, 0xdb, 0x19, 0x1a, 0xde, 0x89, 0xb8, 0xb5,
+ 0x6d, 0x15, 0x1a, 0x08, 0xec, 0xce, 0x10, 0x5d, 0x2e, 0x90,
+ 0x77, 0x0c, 0x1d, 0xc5, 0x50, 0x56, 0xbd, 0x58, 0x65, 0x24,
+ 0x40, 0xd9, 0x48, 0x78, 0xaf, 0x4d, 0xc5, 0x36, 0x9b, 0x11,
+ 0xab, 0xb0, 0x0e, 0x8f, 0xf1, 0x81, 0x24, 0xd4, 0xc1, 0xda,
+ 0xd0, 0x06, 0xab, 0x20, 0x58, 0x5d, 0x43, 0x53, 0xde, 0xc2,
+ 0x4d, 0x98, 0x2f, 0x2c, 0xf3, 0x7e, 0xd7, 0x67, 0xe5, 0xd4,
+ 0x34, 0x81, 0xb9, 0xd3, 0x85, 0x21, 0xd9, 0x3d, 0x4b, 0x21,
+ 0x7a, 0xdc, 0xa8, 0x2c, 0x8b, 0xc2, 0xf7, 0xcd, 0x51, 0x30,
+ 0x55, 0x6c, 0xa6, 0x11, 0xe7, 0x36, 0x22, 0xf9, 0x29, 0xf1,
+ 0x39, 0xf8, 0x71, 0x19, 0xaa, 0xd6, 0xe6, 0xbb, 0x32, 0xb4,
+ 0x83, 0x3b, 0xab, 0x5b, 0x56, 0xba, 0x57, 0xee, 0xb2, 0x55,
+ 0x42, 0x35, 0x36, 0xf6, 0x58, 0x49, 0x7c, 0x18, 0x92, 0xb3,
+ 0xe8, 0x88, 0x9e, 0x8c, 0xbe, 0x72, 0x9f, 0xd9, 0x43, 0xd6,
+ 0xcc, 0xec, 0x18, 0x15, 0x1b, 0x11, 0x97, 0xc3, 0xf0, 0x9a,
+ 0x7d, 0x3e, 0x77, 0x3a, 0x93, 0x9b, 0xb3, 0xc0, 0xb4, 0x02,
+ 0x43, 0x34, 0x16, 0x1e, 0x42, 0xa0, 0xfb, 0xea, 0x8c, 0xdc,
+ 0x20, 0x4c, 0x27, 0x65, 0xd0, 0x0f, 0xca, 0x96, 0x69, 0x55,
+ 0x2c, 0xb6, 0x38, 0xa6, 0x64, 0x3f, 0xf0, 0x01, 0x67, 0xf9,
+ 0x89, 0x44, 0x31, 0x27, 0xa9, 0x7a, 0x13, 0x64, 0xe3, 0xa4,
+ 0xf5, 0xc7, 0xca, 0x0c, 0xf3, 0x5c, 0xed, 0x49, 0xb8, 0x85,
+ 0xd6, 0x31, 0x7d, 0x72, 0x20, 0xe8, 0x1d, 0x24, 0x1a, 0x41,
+ 0x8c, 0x70, 0x41, 0x5e, 0xe0, 0xa0, 0x57, 0xec, 0xcf, 0x48,
+ 0xa6, 0x3c, 0xe6, 0xc2, 0xa9, 0x96, 0x18, 0xd5, 0x25, 0x53,
+ 0x69, 0x02, 0x28, 0xa7, 0xa1, 0x5e, 0x65, 0x70, 0x0e, 0x21,
+ 0x79, 0xdb, 0x72, 0x28, 0xda, 0x70, 0x50, 0xea, 0x96, 0x95,
+ 0x68, 0x3c, 0x69, 0x57, 0xd3, 0xcd, 0x0c, 0xfb, 0xe6, 0x8d,
+ 0xbe, 0x7d, 0xd9, 0x48, 0xe9, 0xde, 0x06, 0x2a, 0xaa, 0x1b,
+ 0x3b, 0x2e, 0xdc, 0xb6, 0x99, 0xa1, 0x12, 0x6a, 0x81, 0x6d,
+ 0x68, 0x03, 0xb4, 0x10, 0x2c, 0xcf, 0xc0, 0xc8, 0x6f, 0x61,
+ 0x0d, 0x04, 0x76, 0x67, 0x08, 0xcf, 0x17, 0x48, 0xda, 0x06,
+ 0xef, 0x83, 0x28, 0x2b, 0xbf, 0x2c, 0x19, 0x5a, 0xa0, 0xfc,
+ 0xb4, 0xcc, 0x2b, 0x5d, 0xca, 0x77, 0x59, 0xcb, 0x21, 0xfb,
+ 0x1b, 0x7b, 0x8d, 0xff, 0xc4, 0xf1, 0x3d, 0x6e, 0x54, 0x16,
+ 0xa4, 0x61, 0x9a, 0x87, 0xc9, 0x18, 0xcb, 0x36, 0xf2, 0xd3,
+ 0x68, 0xe6, 0x65, 0x4b, 0xd5, 0xcb, 0x16, 0x5b, 0x1c, 0x53,
+ 0x32, 0xfe, 0x78, 0xe1, 0x66, 0x76, 0x0c, 0xeb, 0xec, 0xe9,
+ 0xaa, 0x80, 0x78, 0x4d, 0xdf, 0x1f, 0xda, 0x1d, 0xa8, 0xac,
+ 0x0c, 0x8b, 0xf3, 0xc8, 0xd5, 0x01, 0x14, 0xb2, 0xb1, 0x2f,
+ 0xd3, 0x38, 0x07, 0xf1, 0xdd, 0x8c, 0x98, 0x2e, 0x97, 0xc5,
+ 0x5c, 0xa3, 0x6b, 0xf9, 0xdf, 0x39, 0x10, 0x74, 0xef, 0x12,
+ 0x0d, 0xc1, 0xe7, 0x02, 0x3b, 0xd2, 0x04, 0x86, 0xea, 0x24,
+ 0x6d, 0x03, 0x96, 0xa0, 0x14, 0xf4, 0xbe, 0x16, 0x73, 0xa7,
+ 0x5f, 0xdf, 0x8d, 0x24, 0x95, 0x6f, 0x03, 0x15, 0x55, 0xec,
+ 0xfc, 0x17, 0x6e, 0x5b, 0x33, 0x3b, 0x06, 0x94, 0x76, 0x95,
+ 0x55, 0x40, 0x3c, 0xc7, 0x8e, 0xee, 0x6d, 0xef, 0x54, 0x56,
+ 0xa7, 0x9e, 0x62, 0x99, 0xff, 0x37, 0x2a, 0x0b, 0x52, 0xd1,
+ 0x4d, 0xa2, 0x85, 0x0c, 0x84, 0x1b, 0xd8, 0xb2, 0xce, 0x8e,
+ 0xa7, 0x12, 0xab, 0xd6, 0xe0, 0xeb, 0xcb, 0x76, 0x7e, 0xea,
+ 0x37, 0xcc, 0x4c, 0x17, 0xaa, 0x83, 0x2e, 0xb0, 0xd4, 0x9d,
+ 0x8e, 0xfd, 0x08, 0x3a, 0x96, 0x09, 0xe7, 0x81, 0x26, 0xea,
+ 0x55, 0xa0, 0x17, 0x58, 0x6a, 0xaf, 0x47, 0x9f, 0x04, 0x1d,
+ 0x4b, 0xe5, 0x92, 0xa1, 0xb2, 0x4f, 0x31, 0xad, 0x9e, 0xfa,
+ 0x15, 0xe4, 0x29, 0x89, 0xc7, 0x51, 0xa3, 0x06, 0x42, 0xec,
+ 0xcd, 0x63, 0x9d, 0xba, 0xc6, 0xdf, 0x94, 0x39, 0x9b, 0xb3,
+ 0x41, 0x85, 0x58, 0xe0, 0xf1, 0x3b, 0x59, 0xc6, 0xf9, 0xb7,
+ 0x4f, 0x7d, 0xeb, 0x72, 0xf5, 0xa5, 0x82, 0xc9, 0xb0, 0x03,
+ 0x21, 0x76, 0x76, 0x51, 0x8b, 0x89, 0xa2, 0x54, 0x9a, 0xfb,
+ 0x07, 0x98, 0x99, 0xfe, 0x6f, 0x23, 0x47, 0x3e, 0xe2, 0xf4,
+ 0xef, 0x84, 0x2b, 0xf6, 0xe5, 0xb0, 0x69, 0x8e, 0x5a, 0xb2,
+ 0x87, 0xc0, 0x97, 0x73, 0x9d, 0xd8, 0x43, 0x93, 0x73, 0xd3,
+ 0x64, 0x6d, 0xdb, 0xb4, 0xdc, 0x66, 0x7c, 0x26, 0x24, 0xa4,
+ 0x09, 0x7d, 0x27, 0x9e, 0xfa, 0x71, 0x1b, 0x26, 0xb5, 0xa2,
+ 0x1f, 0x2a, 0x94, 0xc5, 0xf4, 0xe9, 0x63, 0x80, 0xd8, 0xbd,
+ 0xc3, 0x99, 0xa5, 0x14, 0x7c, 0xc0, 0x13, 0x0d, 0x49, 0x29,
+ 0x81, 0xc9, 0xf7, 0x25, 0xbc, 0xb0, 0x4a, 0x3b, 0xda, 0x5f,
+ 0x12, 0xd6, 0xd0, 0x41, 0xa1, 0xca, 0x51, 0x84, 0x88, 0x09,
+ 0x10, 0xa7, 0x12, 0x1e, 0x5b, 0x82, 0xa0, 0xec, 0x56, 0x95,
+ 0x5a, 0x2c, 0xe2, 0x53, 0x1c, 0xac, 0x74, 0xaa, 0x9b, 0xbc,
+ 0x24, 0xc9, 0xce, 0xfa, 0x95, 0xd9, 0xb2, 0xcf, 0x32, 0x1e,
+ 0x5c, 0x30, 0x2d, 0xe1, 0x60, 0x0d, 0xe4, 0xe6, 0xf1, 0x28,
+ 0x4e, 0xdb, 0x23, 0x37, 0x08, 0x13, 0xc8, 0x95, 0x49, 0xec,
+ 0xe9, 0xaf, 0x9b, 0xad, 0x9f, 0x3e, 0x8d, 0x97, 0xcb, 0xd4,
+ 0xd8, 0x5e, 0xb7, 0xb9, 0xe5, 0xfb, 0xb1, 0x8a, 0x1a, 0x70,
+ 0x2d, 0x04, 0x0b, 0x43, 0x30, 0x32, 0x6b, 0x89, 0x23, 0x1c,
+ 0x81, 0xf6, 0x38, 0x28, 0x65, 0x3b, 0x43, 0x12, 0xc8, 0x0f,
+ 0xd8, 0xd1, 0xbb, 0xc4, 0x49, 0xe1, 0x7e, 0xd5, 0x01, 0xc0,
+ 0xdb, 0x09, 0x8a, 0x70, 0xc4, 0x28, 0x05, 0x3d, 0xce, 0xe4,
+ 0xdd, 0x44, 0x1a, 0xd8, 0x88, 0x62, 0xa4, 0x42, 0xe4, 0x66,
+ 0x07, 0x64, 0xed, 0xde, 0x1e, 0xa9, 0xa2, 0x68, 0xb6, 0xcf,
+ 0xd0, 0x47, 0x25, 0x9f, 0x56, 0x5c, 0x81, 0xb0, 0x16, 0x38,
+ 0xad, 0x7e, 0x36, 0xcd, 0xd2, 0xc2, 0x59, 0xe5, 0x5a, 0xd4,
+ 0x38, 0x4a, 0x42, 0xfc, 0xfe, 0xdb, 0x7d, 0x33, 0x22, 0x93,
+ 0x04, 0x59, 0xe5, 0xe6, 0x66, 0xc1, 0x28, 0x3b, 0xf4, 0xb4,
+ 0xf7, 0x0b, 0xd9, 0x64, 0xb6, 0x36, 0x60, 0x54, 0x6c, 0x44,
+ 0x19, 0x8a, 0x46, 0x2d, 0x37, 0xf8, 0x1f, 0xe8, 0x09, 0x29,
+ 0xc9, 0x1a, 0xcc, 0x43, 0x34, 0x61, 0x98, 0x57, 0xf4, 0x17,
+ 0xb1, 0x2c, 0xe4, 0x0e, 0xba, 0xfe, 0x5d, 0xbf, 0xa8, 0x4e,
+ 0xbd, 0xc3, 0xe7, 0x1c, 0x9a, 0x01, 0x72, 0x60, 0x0c, 0xed,
+ 0x6a, 0xb3, 0x37, 0x42, 0x57, 0x6d, 0x84, 0x2b, 0x59, 0x2e,
+ 0x53, 0x63, 0x7e, 0x47, 0xd1, 0x01, 0x1f, 0x93, 0xa3, 0xe7,
+ 0x33, 0x60, 0x0d, 0x89, 0x26, 0x65, 0x3d, 0x75, 0xbd, 0x0b,
+ 0x39, 0xe2, 0xcf, 0xde, 0xdc, 0xcb, 0x9f, 0x77, 0x55, 0xac,
+ 0xa7, 0xb8, 0x8f, 0x4f, 0x3b, 0xdf, 0xc2, 0x04, 0x7c, 0x09,
+ 0x48, 0x6e, 0xfb, 0x7a, 0xdc, 0x0e, 0xd8, 0xf3, 0xe1, 0x59,
+ 0xf8, 0x93, 0x2a, 0xe7, 0xac, 0x44, 0x08, 0xf2, 0xa2, 0x31,
+ 0x27, 0xbf, 0x18, 0xdc, 0xde, 0x8b, 0x23, 0x91, 0xbb, 0x1f,
+ 0x96, 0x49, 0x9c, 0x57, 0xc6, 0x3c, 0xae, 0x1d, 0x67, 0x97,
+ 0xb0, 0x9d, 0xe0, 0xdd, 0x53, 0xfc, 0x46, 0x04, 0xe3, 0x7b,
+ 0x6a, 0x2b, 0xf6, 0x38, 0xe6, 0x4a, 0x02, 0xa7, 0x66, 0x09,
+ 0xa8, 0x1a, 0xf5, 0xd3, 0x77, 0xde, 0x0e, 0x26, 0x7f, 0x9a,
+ 0x99, 0x01, 0x6c, 0xb1, 0xa5, 0x45, 0x40, 0xf9, 0x25, 0x9e,
+ 0x1d, 0x23, 0xf1, 0x05, 0x46, 0x72, 0x27, 0x33, 0xa5, 0xd3,
+ 0xa9, 0x62, 0x9d, 0x15, 0x50, 0xbe, 0x89, 0x86, 0x95, 0x08,
+ 0xcf, 0xd0, 0x58, 0x78, 0xcb, 0xc5, 0x6a, 0x2e, 0x75, 0xf6,
+ 0x80, 0xf3, 0xf6, 0xaa, 0x39, 0x1f, 0x97, 0xf5, 0xd9, 0xa5,
+ 0x79, 0xff, 0xec, 0xfa, 0x8e, 0x10, 0x33, 0x24, 0x62, 0x0f,
+ 0x5d, 0x12, 0x1e, 0x57, 0xa6, 0xee, 0x17, 0xe9, 0x2f, 0xb6,
+ 0x66, 0xf3, 0xe3, 0x69, 0xde, 0x16, 0x56, 0xea, 0x2c, 0xf3,
+ 0xa1, 0x8f, 0x59, 0x1d, 0x43, 0x6a, 0x9c, 0x73, 0xb8, 0x8a,
+ 0x4a, 0xb3, 0x32, 0xe7, 0xa5, 0x51, 0xde, 0xc4, 0x37, 0x0b,
+ 0x80, 0x26, 0x74, 0x90, 0x68, 0xc7, 0x35, 0x9f, 0x9e, 0xf0,
+ 0xfd, 0x74, 0x5f, 0x19, 0x85, 0x31, 0x06, 0xf2, 0x8f, 0x76,
+ 0xdb, 0x10, 0xa1, 0x3a, 0xfa, 0xfd, 0x74, 0xd6, 0x20, 0x52,
+ 0xeb, 0x27, 0xc5, 0xbe, 0x67, 0x95, 0x0b, 0x5d, 0xcb, 0xc7,
+ 0x05, 0xde, 0x4d, 0x3e, 0x9e, 0x60, 0x22, 0x45, 0xc9, 0x99,
+ 0xba, 0x79, 0x7e, 0x7d, 0x5f, 0x62, 0x61, 0xd3, 0xc4, 0x9c,
+ 0xe1, 0x2b, 0x4c, 0x53, 0x0a, 0xd5, 0x52, 0x9a, 0xae, 0x30,
+ 0x20, 0x4e, 0xcd, 0xc4, 0x9c, 0xb9, 0x60, 0xf6, 0xfe, 0x69,
+ 0x8c, 0x01, 0xa9, 0x7c, 0x1d, 0xe7, 0xb4, 0xeb, 0xa9, 0xc9,
+ 0x15, 0x1b, 0x1f, 0xbd, 0x90, 0x7f, 0x4f, 0x4d, 0x41, 0x9f,
+ 0xcd, 0xaa, 0xf4, 0x77, 0xf0, 0x82, 0xee, 0xaa, 0xdf, 0x92,
+ 0xaf, 0xad, 0x94, 0x4f, 0xd0, 0x67, 0xf7, 0xa7, 0x60, 0xd2,
+ 0x94, 0x8f, 0x67, 0x08, 0xa0, 0xd9, 0xc1, 0xbb, 0x57, 0x03,
+ 0x38, 0x84, 0x27, 0xea, 0x1f, 0xfe, 0x38, 0x98, 0x3f, 0x2d,
+ 0x21, 0x04, 0x73, 0x81, 0xd1, 0xd7, 0xc3, 0x62, 0x94, 0x3d,
+ 0x8b, 0x5b, 0x5c, 0x95, 0xb6, 0x8f, 0x5e, 0x4f, 0x1d, 0x97,
+ 0x12, 0x9b, 0x2b, 0x81, 0x44, 0x70, 0xe1, 0xa6, 0xa3, 0xb6,
+ 0x8f, 0x67, 0xe0, 0x7d, 0xd4, 0xf5, 0x1e, 0xbc, 0xf6, 0x6d,
+ 0x31, 0x50, 0x75, 0x03, 0xc7, 0xbb, 0x06, 0xc5, 0x9f, 0x36,
+ 0xba, 0xe3, 0xdd, 0xf0, 0x1e, 0x8e, 0xe1, 0x1d, 0x0a, 0x2f,
+ 0x6b, 0xac, 0x5e, 0xe0, 0x1e, 0xeb, 0x08, 0xd9, 0x5b, 0x24,
+ 0xe5, 0x68, 0x52, 0xca, 0x9e, 0x8a, 0x0f, 0xa1, 0xd7, 0x42,
+ 0x61, 0xa0, 0x66, 0xcf, 0x98, 0x68, 0x0d, 0x8b, 0x82, 0x87,
+ 0x8a, 0xd4, 0xd9, 0x3a, 0x6b, 0x41, 0x5d, 0xb5, 0x76, 0xbe,
+ 0x2e, 0x20, 0x04, 0x5b, 0x26, 0xd0, 0x1e, 0x71, 0xbd, 0x37,
+ 0xe2, 0xe3, 0x22, 0xfe, 0x18, 0xa8, 0xed, 0x6c, 0xec, 0xb8,
+ 0xf6, 0x9d, 0x61, 0x5d, 0x11, 0x20, 0xba, 0xc6, 0xa3, 0x23,
+ 0xaa, 0x92, 0x6b, 0xb8, 0x17, 0x5e, 0x45, 0x4a, 0xf5, 0xf8,
+ 0x75, 0x2d, 0x33, 0x64, 0xdc, 0x68, 0xc4, 0x84, 0xa8, 0xf4,
+ 0xff, 0xbd, 0x95, 0x07, 0x9f, 0x05, 0x8a, 0x0e, 0x0a, 0x8c,
+ 0x62, 0x5a, 0x0d, 0xe6, 0xa4, 0xd3, 0x22, 0x51, 0xe0, 0x27,
+ 0x0b, 0xa0, 0xee, 0x03, 0x83, 0x2e, 0x1d, 0x11, 0x63, 0xf0,
+ 0x67, 0x9f, 0xca, 0xb2, 0x30, 0x6a, 0x74, 0x8c, 0x42, 0x14,
+ 0xdb, 0x0b, 0x9c, 0xcc, 0xd1, 0xca, 0xe1, 0x4b, 0x31, 0x54,
+ 0x83, 0xbd, 0xe0, 0x29, 0x26, 0x19, 0x52, 0xa9, 0xe3, 0x87,
+ 0xbf, 0xdc, 0x22, 0x07, 0xd9, 0xb7, 0x53, 0xf0, 0xa0, 0xb5,
+ 0x7f, 0x52, 0xa9, 0x18, 0x23, 0xa8, 0x80, 0x0e, 0xf9, 0x05,
+ 0x48, 0x4f, 0x69, 0xfd, 0x34, 0x10, 0x1b, 0x5f, 0x20, 0xba,
+ 0x5c, 0xe3, 0xee, 0x18, 0x3a, 0x49, 0xa0, 0xac, 0xb9, 0xb0,
+ 0x4b, 0x3c, 0xb7, 0x48, 0x78, 0x9f, 0xdd, 0x3e, 0x5c, 0x22,
+ 0xbc, 0x9d, 0x5b, 0x4a, 0x0a, 0x67, 0xdf, 0x99, 0xd3, 0x45,
+ 0xf1, 0x3d, 0xa2, 0x75, 0x32, 0x34, 0x7f, 0xd1, 0xb3, 0xa9,
+ 0xda, 0x2a, 0xb5, 0x64, 0x2c, 0x66, 0xc8, 0xd5, 0x1c, 0x47,
+ 0xfb, 0x56, 0x73, 0xf6, 0x6e, 0x45, 0xaf, 0x0a, 0x21, 0xc1,
+ 0x48, 0x6b, 0x41, 0x77, 0x63, 0x0c, 0x95, 0x40, 0xb0, 0xba,
+ 0x86, 0xa6, 0x7f, 0x47, 0x5e, 0xed, 0xe4, 0x7c, 0x19, 0x52,
+ 0xe2, 0xd1, 0x27, 0x7a, 0x36, 0x6e, 0x7d, 0x40, 0xcc, 0x90,
+ 0xca, 0x48, 0x80, 0x71, 0x90, 0xf0, 0x9d, 0x9a, 0x49, 0x6c,
+ 0xf5, 0x22, 0x95, 0xa3, 0x1c, 0xdd,
+ },
+ {
+ /* 2 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3c, 0x48, 0xf8,
+ 0x48, 0x48, 0xc8, 0x8e, 0x2a, 0xf5, 0x02, 0xdd, 0x14, 0x30,
+ 0x44, 0x8e, 0x40, 0x78, 0x90, 0x33, 0x90, 0x90, 0x53, 0xdf,
+ 0x54, 0x29, 0x04, 0x79, 0x28, 0x60, 0x88, 0xdf, 0x60, 0x44,
+ 0xd8, 0xcb, 0xd8, 0xd8, 0x9b, 0x51, 0x7e, 0xdc, 0x06, 0xa4,
+ 0x3c, 0x50, 0xcc, 0x51, 0x80, 0xf0, 0xe3, 0x66, 0xe3, 0xe3,
+ 0xa6, 0x7d, 0xa8, 0x52, 0x08, 0xf2, 0x50, 0xc0, 0xd3, 0x7d,
+ 0xa0, 0xcc, 0xab, 0x9e, 0xab, 0xab, 0x6e, 0xf3, 0x82, 0xa7,
+ 0x0a, 0x2f, 0x44, 0xf0, 0x97, 0xf3, 0xc0, 0x88, 0x73, 0x55,
+ 0x73, 0x73, 0xf5, 0xa2, 0xfc, 0x7b, 0x0c, 0x8b, 0x78, 0xa0,
+ 0x5b, 0xa2, 0xe0, 0xb4, 0x3b, 0xad, 0x3b, 0x3b, 0x3d, 0x2c,
+ 0xd6, 0x8e, 0x0e, 0x56, 0x6c, 0x90, 0x1f, 0x2c, 0xc3, 0x23,
+ 0x05, 0xcc, 0x05, 0x05, 0x8f, 0xfa, 0x93, 0xa4, 0x10, 0x27,
+ 0xa0, 0x43, 0x65, 0xfa, 0xe3, 0x1f, 0x4d, 0x34, 0x4d, 0x4d,
+ 0x47, 0x74, 0xb9, 0x51, 0x12, 0xfa, 0xb4, 0x73, 0x21, 0x74,
+ 0x83, 0x5b, 0x95, 0xff, 0x95, 0x95, 0xdc, 0x25, 0xc7, 0x8d,
+ 0x14, 0x5e, 0x88, 0x23, 0xed, 0x25, 0xa3, 0x67, 0xdd, 0x07,
+ 0xdd, 0xdd, 0x14, 0xab, 0xed, 0x78, 0x16, 0x83, 0x9c, 0x13,
+ 0xa9, 0xab, 0x43, 0xd3, 0xe6, 0xaa, 0xe6, 0xe6, 0x29, 0x87,
+ 0x3b, 0xf6, 0x18, 0xd5, 0xf0, 0x83, 0xb6, 0x87, 0x63, 0xef,
+ 0xae, 0x52, 0xae, 0xae, 0xe1, 0x09, 0x11, 0x03, 0x1a, 0x08,
+ 0xe4, 0xb3, 0xf2, 0x09, 0x03, 0xab, 0x76, 0x99, 0x76, 0x76,
+ 0x7a, 0x58, 0x6f, 0xdf, 0x1c, 0xac, 0xd8, 0xe3, 0x3e, 0x58,
+ 0x23, 0x97, 0x3e, 0x61, 0x3e, 0x3e, 0xb2, 0xd6, 0x45, 0x2a,
+ 0x1e, 0x71, 0xcc, 0xd3, 0x7a, 0xd6, 0x45, 0x46, 0x0a, 0x5b,
+ 0x0a, 0x0a, 0xdd, 0x37, 0xe5, 0x8b, 0x20, 0x4e, 0x83, 0x86,
+ 0xca, 0x37, 0x65, 0x7a, 0x42, 0xa3, 0x42, 0x42, 0x15, 0xb9,
+ 0xcf, 0x7e, 0x22, 0x93, 0x97, 0xb6, 0x8e, 0xb9, 0x05, 0x3e,
+ 0x9a, 0x68, 0x9a, 0x9a, 0x8e, 0xe8, 0xb1, 0xa2, 0x24, 0x37,
+ 0xab, 0xe6, 0x42, 0xe8, 0x25, 0x02, 0xd2, 0x90, 0xd2, 0xd2,
+ 0x46, 0x66, 0x9b, 0x57, 0x26, 0xea, 0xbf, 0xd6, 0x06, 0x66,
+ 0xc5, 0xb6, 0xe9, 0x3d, 0xe9, 0xe9, 0x7b, 0x4a, 0x4d, 0xd9,
+ 0x28, 0xbc, 0xd3, 0x46, 0x19, 0x4a, 0xe5, 0x8a, 0xa1, 0xc5,
+ 0xa1, 0xa1, 0xb3, 0xc4, 0x67, 0x2c, 0x2a, 0x61, 0xc7, 0x76,
+ 0x5d, 0xc4, 0x85, 0xce, 0x79, 0x0e, 0x79, 0x79, 0x28, 0x95,
+ 0x19, 0xf0, 0x2c, 0xc5, 0xfb, 0x26, 0x91, 0x95, 0xa5, 0xf2,
+ 0x31, 0xf6, 0x31, 0x31, 0xe0, 0x1b, 0x33, 0x05, 0x2e, 0x18,
+ 0xef, 0x16, 0xd5, 0x1b, 0x86, 0x65, 0x0f, 0x97, 0x0f, 0x0f,
+ 0x52, 0xcd, 0x76, 0x2f, 0x30, 0x69, 0x23, 0xc5, 0xaf, 0xcd,
+ 0xa6, 0x59, 0x47, 0x6f, 0x47, 0x47, 0x9a, 0x43, 0x5c, 0xda,
+ 0x32, 0xb4, 0x37, 0xf5, 0xeb, 0x43, 0xc6, 0x1d, 0x9f, 0xa4,
+ 0x9f, 0x9f, 0x01, 0x12, 0x22, 0x06, 0x34, 0x10, 0x0b, 0xa5,
+ 0x27, 0x12, 0xe6, 0x21, 0xd7, 0x5c, 0xd7, 0xd7, 0xc9, 0x9c,
+ 0x08, 0xf3, 0x36, 0xcd, 0x1f, 0x95, 0x63, 0x9c, 0x06, 0x95,
+ 0xec, 0xf1, 0xec, 0xec, 0xf4, 0xb0, 0xde, 0x7d, 0x38, 0x9b,
+ 0x73, 0x05, 0x7c, 0xb0, 0x26, 0xa9, 0xa4, 0x09, 0xa4, 0xa4,
+ 0x3c, 0x3e, 0xf4, 0x88, 0x3a, 0x46, 0x67, 0x35, 0x38, 0x3e,
+ 0x46, 0xed, 0x7c, 0xc2, 0x7c, 0x7c, 0xa7, 0x6f, 0x8a, 0x54,
+ 0x3c, 0xe2, 0x5b, 0x65, 0xf4, 0x6f, 0x66, 0xd1, 0x34, 0x3a,
+ 0x34, 0x34, 0x6f, 0xe1, 0xa0, 0xa1, 0x3e, 0x3f, 0x4f, 0x55,
+ 0xb0, 0xe1, 0x8a, 0x8c, 0x14, 0xb6, 0x14, 0x14, 0x79, 0x6e,
+ 0x09, 0xd5, 0x40, 0x9c, 0xc5, 0xcf, 0x57, 0x6e, 0xaa, 0xb0,
+ 0x5c, 0x4e, 0x5c, 0x5c, 0xb1, 0xe0, 0x23, 0x20, 0x42, 0x41,
+ 0xd1, 0xff, 0x13, 0xe0, 0xca, 0xf4, 0x84, 0x85, 0x84, 0x84,
+ 0x2a, 0xb1, 0x5d, 0xfc, 0x44, 0xe5, 0xed, 0xaf, 0xdf, 0xb1,
+ 0xea, 0xc8, 0xcc, 0x7d, 0xcc, 0xcc, 0xe2, 0x3f, 0x77, 0x09,
+ 0x46, 0x38, 0xf9, 0x9f, 0x9b, 0x3f, 0x0a, 0x7c, 0xf7, 0xd0,
+ 0xf7, 0xf7, 0xdf, 0x13, 0xa1, 0x87, 0x48, 0x6e, 0x95, 0x0f,
+ 0x84, 0x13, 0x2a, 0x40, 0xbf, 0x28, 0xbf, 0xbf, 0x17, 0x9d,
+ 0x8b, 0x72, 0x4a, 0xb3, 0x81, 0x3f, 0xc0, 0x9d, 0x4a, 0x04,
+ 0x67, 0xe3, 0x67, 0x67, 0x8c, 0xcc, 0xf5, 0xae, 0x4c, 0x17,
+ 0xbd, 0x6f, 0x0c, 0xcc, 0x6a, 0x38, 0x2f, 0x1b, 0x2f, 0x2f,
+ 0x44, 0x42, 0xdf, 0x5b, 0x4e, 0xca, 0xa9, 0x5f, 0x48, 0x42,
+ 0x49, 0xaf, 0x11, 0x7a, 0x11, 0x11, 0xf6, 0x94, 0x9a, 0x71,
+ 0x50, 0xbb, 0x65, 0x8c, 0x32, 0x94, 0x69, 0x93, 0x59, 0x82,
+ 0x59, 0x59, 0x3e, 0x1a, 0xb0, 0x84, 0x52, 0x66, 0x71, 0xbc,
+ 0x76, 0x1a, 0x09, 0xd7, 0x81, 0x49, 0x81, 0x81, 0xa5, 0x4b,
+ 0xce, 0x58, 0x54, 0xc2, 0x4d, 0xec, 0xba, 0x4b, 0x29, 0xeb,
+ 0xc9, 0xb1, 0xc9, 0xc9, 0x6d, 0xc5, 0xe4, 0xad, 0x56, 0x1f,
+ 0x59, 0xdc, 0xfe, 0xc5, 0xc9, 0x5f, 0xf2, 0x1c, 0xf2, 0xf2,
+ 0x50, 0xe9, 0x32, 0x23, 0x58, 0x49, 0x35, 0x4c, 0xe1, 0xe9,
+ 0xe9, 0x63, 0xba, 0xe4, 0xba, 0xba, 0x98, 0x67, 0x18, 0xd6,
+ 0x5a, 0x94, 0x21, 0x7c, 0xa5, 0x67, 0x89, 0x27, 0x62, 0x2f,
+ 0x62, 0x62, 0x03, 0x36, 0x66, 0x0a, 0x5c, 0x30, 0x1d, 0x2c,
+ 0x69, 0x36, 0xa9, 0x1b, 0x2a, 0xd7, 0x2a, 0x2a, 0xcb, 0xb8,
+ 0x4c, 0xff, 0x5e, 0xed, 0x09, 0x1c, 0x2d, 0xb8, 0xcf, 0xca,
+ 0x1e, 0xed, 0x1e, 0x1e, 0xa4, 0x59, 0xec, 0x5e, 0x60, 0xd2,
+ 0x46, 0x49, 0x9d, 0x59, 0xef, 0xf6, 0x56, 0x15, 0x56, 0x56,
+ 0x6c, 0xd7, 0xc6, 0xab, 0x62, 0x0f, 0x52, 0x79, 0xd9, 0xd7,
+ 0x8f, 0xb2, 0x8e, 0xde, 0x8e, 0x8e, 0xf7, 0x86, 0xb8, 0x77,
+ 0x64, 0xab, 0x6e, 0x29, 0x15, 0x86, 0xaf, 0x8e, 0xc6, 0x26,
+ 0xc6, 0xc6, 0x3f, 0x08, 0x92, 0x82, 0x66, 0x76, 0x7a, 0x19,
+ 0x51, 0x08, 0x4f, 0x3a, 0xfd, 0x8b, 0xfd, 0xfd, 0x02, 0x24,
+ 0x44, 0x0c, 0x68, 0x20, 0x16, 0x89, 0x4e, 0x24, 0x6f, 0x06,
+ 0xb5, 0x73, 0xb5, 0xb5, 0xca, 0xaa, 0x6e, 0xf9, 0x6a, 0xfd,
+ 0x02, 0xb9, 0x0a, 0xaa, 0x0f, 0x42, 0x6d, 0xb8, 0x6d, 0x6d,
+ 0x51, 0xfb, 0x10, 0x25, 0x6c, 0x59, 0x3e, 0xe9, 0xc6, 0xfb,
+ 0x2f, 0x7e, 0x25, 0x40, 0x25, 0x25, 0x99, 0x75, 0x3a, 0xd0,
+ 0x6e, 0x84, 0x2a, 0xd9, 0x82, 0x75, 0x0c, 0xe9, 0x1b, 0x21,
+ 0x1b, 0x1b, 0x2b, 0xa3, 0x7f, 0xfa, 0x70, 0xf5, 0xe6, 0x0a,
+ 0xf8, 0xa3, 0x2c, 0xd5, 0x53, 0xd9, 0x53, 0x53, 0xe3, 0x2d,
+ 0x55, 0x0f, 0x72, 0x28, 0xf2, 0x3a, 0xbc, 0x2d, 0x4c, 0x91,
+ 0x8b, 0x12, 0x8b, 0x8b, 0x78, 0x7c, 0x2b, 0xd3, 0x74, 0x8c,
+ 0xce, 0x6a, 0x70, 0x7c, 0x6c, 0xad, 0xc3, 0xea, 0xc3, 0xc3,
+ 0xb0, 0xf2, 0x01, 0x26, 0x76, 0x51, 0xda, 0x5a, 0x34, 0xf2,
+ 0x8c, 0x19, 0xf8, 0x47, 0xf8, 0xf8, 0x8d, 0xde, 0xd7, 0xa8,
+ 0x78, 0x07, 0xb6, 0xca, 0x2b, 0xde, 0xac, 0x25, 0xb0, 0xbf,
+ 0xb0, 0xb0, 0x45, 0x50, 0xfd, 0x5d, 0x7a, 0xda, 0xa2, 0xfa,
+ 0x6f, 0x50, 0xcc, 0x61, 0x68, 0x74, 0x68, 0x68, 0xde, 0x01,
+ 0x83, 0x81, 0x7c, 0x7e, 0x9e, 0xaa, 0xa3, 0x01, 0xec, 0x5d,
+ 0x20, 0x8c, 0x20, 0x20, 0x16, 0x8f, 0xa9, 0x74, 0x7e, 0xa3,
+ 0x8a, 0x9a, 0xe7, 0x8f, 0xd7, 0xdb, 0x28, 0xaf, 0x28, 0x28,
+ 0xf2, 0xdc, 0x12, 0x69, 0x80, 0xfb, 0x49, 0x5d, 0xae, 0xdc,
+ 0xf7, 0xe7, 0x60, 0x57, 0x60, 0x60, 0x3a, 0x52, 0x38, 0x9c,
+ 0x82, 0x26, 0x5d, 0x6d, 0xea, 0x52, 0x97, 0xa3, 0xb8, 0x9c,
+ 0xb8, 0xb8, 0xa1, 0x03, 0x46, 0x40, 0x84, 0x82, 0x61, 0x3d,
+ 0x26, 0x03, 0xb7, 0x9f, 0xf0, 0x64, 0xf0, 0xf0, 0x69, 0x8d,
+ 0x6c, 0xb5, 0x86, 0x5f, 0x75, 0x0d, 0x62, 0x8d, 0x57, 0x2b,
+ 0xcb, 0xc9, 0xcb, 0xcb, 0x54, 0xa1, 0xba, 0x3b, 0x88, 0x09,
+ 0x19, 0x9d, 0x7d, 0xa1, 0x77, 0x17, 0x83, 0x31, 0x83, 0x83,
+ 0x9c, 0x2f, 0x90, 0xce, 0x8a, 0xd4, 0x0d, 0xad, 0x39, 0x2f,
+ 0x17, 0x53, 0x5b, 0xfa, 0x5b, 0x5b, 0x07, 0x7e, 0xee, 0x12,
+ 0x8c, 0x70, 0x31, 0xfd, 0xf5, 0x7e, 0x37, 0x6f, 0x13, 0x02,
+ 0x13, 0x13, 0xcf, 0xf0, 0xc4, 0xe7, 0x8e, 0xad, 0x25, 0xcd,
+ 0xb1, 0xf0, 0x14, 0xf8, 0x2d, 0x63, 0x2d, 0x2d, 0x7d, 0x26,
+ 0x81, 0xcd, 0x90, 0xdc, 0xe9, 0x1e, 0xcb, 0x26, 0x34, 0xc4,
+ 0x65, 0x9b, 0x65, 0x65, 0xb5, 0xa8, 0xab, 0x38, 0x92, 0x01,
+ 0xfd, 0x2e, 0x8f, 0xa8, 0x54, 0x80, 0xbd, 0x50, 0xbd, 0xbd,
+ 0x2e, 0xf9, 0xd5, 0xe4, 0x94, 0xa5, 0xc1, 0x7e, 0x43, 0xf9,
+ 0x74, 0xbc, 0xf5, 0xa8, 0xf5, 0xf5, 0xe6, 0x77, 0xff, 0x11,
+ 0x96, 0x78, 0xd5, 0x4e, 0x07, 0x77, 0x94, 0x08, 0xce, 0x05,
+ 0xce, 0xce, 0xdb, 0x5b, 0x29, 0x9f, 0x98, 0x2e, 0xb9, 0xde,
+ 0x18, 0x5b, 0xb4, 0x34, 0x86, 0xfd, 0x86, 0x86, 0x13, 0xd5,
+ 0x03, 0x6a, 0x9a, 0xf3, 0xad, 0xee, 0x5c, 0xd5, 0xd4, 0x70,
+ 0x5e, 0x36, 0x5e, 0x5e, 0x88, 0x84, 0x7d, 0xb6, 0x9c, 0x57,
+ 0x91, 0xbe, 0x90, 0x84, 0xf4, 0x4c, 0x16, 0xce, 0x16, 0x16,
+ 0x40, 0x0a, 0x57, 0x43, 0x9e, 0x8a, 0x85, 0x8e, 0xd4, 0x0a,
+ 0x92, 0x9d, 0x22, 0xf4, 0x22, 0x22, 0x2f, 0xeb, 0xf7, 0xe2,
+ 0xa0, 0xb5, 0xca, 0xdb, 0x64, 0xeb, 0xb2, 0xa1, 0x6a, 0x0c,
+ 0x6a, 0x6a, 0xe7, 0x65, 0xdd, 0x17, 0xa2, 0x68, 0xde, 0xeb,
+ 0x20, 0x65, 0xd2, 0xe5, 0xb2, 0xc7, 0xb2, 0xb2, 0x7c, 0x34,
+ 0xa3, 0xcb, 0xa4, 0xcc, 0xe2, 0xbb, 0xec, 0x34, 0xf2, 0xd9,
+ 0xfa, 0x3f, 0xfa, 0xfa, 0xb4, 0xba, 0x89, 0x3e, 0xa6, 0x11,
+ 0xf6, 0x8b, 0xa8, 0xba, 0x12, 0x6d, 0xc1, 0x92, 0xc1, 0xc1,
+ 0x89, 0x96, 0x5f, 0xb0, 0xa8, 0x47, 0x9a, 0x1b, 0xb7, 0x96,
+ 0x32, 0x51, 0x89, 0x6a, 0x89, 0x89, 0x41, 0x18, 0x75, 0x45,
+ 0xaa, 0x9a, 0x8e, 0x2b, 0xf3, 0x18, 0x52, 0x15, 0x51, 0xa1,
+ 0x51, 0x51, 0xda, 0x49, 0x0b, 0x99, 0xac, 0x3e, 0xb2, 0x7b,
+ 0x3f, 0x49, 0x72, 0x29, 0x19, 0x59, 0x19, 0x19, 0x12, 0xc7,
+ 0x21, 0x6c, 0xae, 0xe3, 0xa6, 0x4b, 0x7b, 0xc7, 0x51, 0xbe,
+ 0x27, 0x38, 0x27, 0x27, 0xa0, 0x11, 0x64, 0x46, 0xb0, 0x92,
+ 0x6a, 0x98, 0x01, 0x11, 0x71, 0x82, 0x6f, 0xc0, 0x6f, 0x6f,
+ 0x68, 0x9f, 0x4e, 0xb3, 0xb2, 0x4f, 0x7e, 0xa8, 0x45, 0x9f,
+ 0x11, 0xc6, 0xb7, 0x0b, 0xb7, 0xb7, 0xf3, 0xce, 0x30, 0x6f,
+ 0xb4, 0xeb, 0x42, 0xf8, 0x89, 0xce, 0x31, 0xfa, 0xff, 0xf3,
+ 0xff, 0xff, 0x3b, 0x40, 0x1a, 0x9a, 0xb6, 0x36, 0x56, 0xc8,
+ 0xcd, 0x40, 0xd1, 0x4e, 0xc4, 0x5e, 0xc4, 0xc4, 0x06, 0x6c,
+ 0xcc, 0x14, 0xb8, 0x60, 0x3a, 0x58, 0xd2, 0x6c, 0xf1, 0x72,
+ 0x8c, 0xa6, 0x8c, 0x8c, 0xce, 0xe2, 0xe6, 0xe1, 0xba, 0xbd,
+ 0x2e, 0x68, 0x96, 0xe2, 0x91, 0x36, 0x54, 0x6d, 0x54, 0x54,
+ 0x55, 0xb3, 0x98, 0x3d, 0xbc, 0x19, 0x12, 0x38, 0x5a, 0xb3,
+ 0xb1, 0x0a, 0x1c, 0x95, 0x1c, 0x1c, 0x9d, 0x3d, 0xb2, 0xc8,
+ 0xbe, 0xc4, 0x06, 0x08, 0x1e, 0x3d, 0x5d, 0x57, 0x3c, 0x19,
+ 0x3c, 0x3c, 0x8b, 0xb2, 0x1b, 0xbc, 0xc0, 0x67, 0x8c, 0x92,
+ 0xf9, 0xb2, 0x7d, 0x6b, 0x74, 0xe1, 0x74, 0x74, 0x43, 0x3c,
+ 0x31, 0x49, 0xc2, 0xba, 0x98, 0xa2, 0xbd, 0x3c, 0x1d, 0x2f,
+ 0xac, 0x2a, 0xac, 0xac, 0xd8, 0x6d, 0x4f, 0x95, 0xc4, 0x1e,
+ 0xa4, 0xf2, 0x71, 0x6d, 0x3d, 0x13, 0xe4, 0xd2, 0xe4, 0xe4,
+ 0x10, 0xe3, 0x65, 0x60, 0xc6, 0xc3, 0xb0, 0xc2, 0x35, 0xe3,
+ 0xdd, 0xa7, 0xdf, 0x7f, 0xdf, 0xdf, 0x2d, 0xcf, 0xb3, 0xee,
+ 0xc8, 0x95, 0xdc, 0x52, 0x2a, 0xcf, 0xfd, 0x9b, 0x97, 0x87,
+ 0x97, 0x97, 0xe5, 0x41, 0x99, 0x1b, 0xca, 0x48, 0xc8, 0x62,
+ 0x6e, 0x41, 0x9d, 0xdf, 0x4f, 0x4c, 0x4f, 0x4f, 0x7e, 0x10,
+ 0xe7, 0xc7, 0xcc, 0xec, 0xf4, 0x32, 0xa2, 0x10, 0xbd, 0xe3,
+ 0x07, 0xb4, 0x07, 0x07, 0xb6, 0x9e, 0xcd, 0x32, 0xce, 0x31,
+ 0xe0, 0x02, 0xe6, 0x9e, 0x9e, 0x74, 0x39, 0xd5, 0x39, 0x39,
+ 0x04, 0x48, 0x88, 0x18, 0xd0, 0x40, 0x2c, 0xd1, 0x9c, 0x48,
+ 0xbe, 0x48, 0x71, 0x2d, 0x71, 0x71, 0xcc, 0xc6, 0xa2, 0xed,
+ 0xd2, 0x9d, 0x38, 0xe1, 0xd8, 0xc6, 0xde, 0x0c, 0xa9, 0xe6,
+ 0xa9, 0xa9, 0x57, 0x97, 0xdc, 0x31, 0xd4, 0x39, 0x04, 0xb1,
+ 0x14, 0x97, 0xfe, 0x30, 0xe1, 0x1e, 0xe1, 0xe1, 0x9f, 0x19,
+ 0xf6, 0xc4, 0xd6, 0xe4, 0x10, 0x81, 0x50, 0x19, 0x1e, 0x84,
+ 0xda, 0xb3, 0xda, 0xda, 0xa2, 0x35, 0x20, 0x4a, 0xd8, 0xb2,
+ 0x7c, 0x11, 0x4f, 0x35, 0x3e, 0xb8, 0x92, 0x4b, 0x92, 0x92,
+ 0x6a, 0xbb, 0x0a, 0xbf, 0xda, 0x6f, 0x68, 0x21, 0x0b, 0xbb,
+ 0x5e, 0xfc, 0x4a, 0x80, 0x4a, 0x4a, 0xf1, 0xea, 0x74, 0x63,
+ 0xdc, 0xcb, 0x54, 0x71, 0xc7, 0xea, 0x7e, 0xc0, 0x02, 0x78,
+ 0x02, 0x02, 0x39, 0x64, 0x5e, 0x96, 0xde, 0x16, 0x40, 0x41,
+ 0x83, 0x64, 0x18, 0x11, 0x36, 0x42, 0x36, 0x36, 0x56, 0x85,
+ 0xfe, 0x37, 0xe0, 0x29, 0x0f, 0x14, 0x33, 0x85, 0x38, 0x2d,
+ 0x7e, 0xba, 0x7e, 0x7e, 0x9e, 0x0b, 0xd4, 0xc2, 0xe2, 0xf4,
+ 0x1b, 0x24, 0x77, 0x0b, 0x58, 0x69, 0xa6, 0x71, 0xa6, 0xa6,
+ 0x05, 0x5a, 0xaa, 0x1e, 0xe4, 0x50, 0x27, 0x74, 0xbb, 0x5a,
+ 0x78, 0x55, 0xee, 0x89, 0xee, 0xee, 0xcd, 0xd4, 0x80, 0xeb,
+ 0xe6, 0x8d, 0x33, 0x44, 0xff, 0xd4, 0x98, 0xe1, 0xd5, 0x24,
+ 0xd5, 0xd5, 0xf0, 0xf8, 0x56, 0x65, 0xe8, 0xdb, 0x5f, 0xd4,
+ 0xe0, 0xf8, 0xb8, 0xdd, 0x9d, 0xdc, 0x9d, 0x9d, 0x38, 0x76,
+ 0x7c, 0x90, 0xea, 0x06, 0x4b, 0xe4, 0xa4, 0x76, 0xd8, 0x99,
+ 0x45, 0x17, 0x45, 0x45, 0xa3, 0x27, 0x02, 0x4c, 0xec, 0xa2,
+ 0x77, 0xb4, 0x68, 0x27, 0xf8, 0xa5, 0x0d, 0xef, 0x0d, 0x0d,
+ 0x6b, 0xa9, 0x28, 0xb9, 0xee, 0x7f, 0x63, 0x84, 0x2c, 0xa9,
+ 0xdb, 0x32, 0x33, 0x8e, 0x33, 0x33, 0xd9, 0x7f, 0x6d, 0x93,
+ 0xf0, 0x0e, 0xaf, 0x57, 0x56, 0x7f, 0xfb, 0x0e, 0x7b, 0x76,
+ 0x7b, 0x7b, 0x11, 0xf1, 0x47, 0x66, 0xf2, 0xd3, 0xbb, 0x67,
+ 0x12, 0xf1, 0x9b, 0x4a, 0xa3, 0xbd, 0xa3, 0xa3, 0x8a, 0xa0,
+ 0x39, 0xba, 0xf4, 0x77, 0x87, 0x37, 0xde, 0xa0, 0xbb, 0x76,
+ 0xeb, 0x45, 0xeb, 0xeb, 0x42, 0x2e, 0x13, 0x4f, 0xf6, 0xaa,
+ 0x93, 0x07, 0x9a, 0x2e, 0x5b, 0xc2, 0xd0, 0xe8, 0xd0, 0xd0,
+ 0x7f, 0x02, 0xc5, 0xc1, 0xf8, 0xfc, 0xff, 0x97, 0x85, 0x02,
+ 0x7b, 0xfe, 0x98, 0x10, 0x98, 0x98, 0xb7, 0x8c, 0xef, 0x34,
+ 0xfa, 0x21, 0xeb, 0xa7, 0xc1, 0x8c, 0x1b, 0xba, 0x40, 0xdb,
+ 0x40, 0x40, 0x2c, 0xdd, 0x91, 0xe8, 0xfc, 0x85, 0xd7, 0xf7,
+ 0x0d, 0xdd, 0x3b, 0x86, 0x08, 0x23, 0x08, 0x08, 0xe4, 0x53,
+ 0xbb, 0x1d, 0xfe, 0x58, 0xc3, 0xc7, 0x49, 0x53, 0x6d, 0x75,
+ 0x50, 0x9d, 0x50, 0x50, 0x27, 0x7b, 0x24, 0xd2, 0xc3, 0x35,
+ 0x92, 0xba, 0x9f, 0x7b, 0x4d, 0x49, 0x18, 0x65, 0x18, 0x18,
+ 0xef, 0xf5, 0x0e, 0x27, 0xc1, 0xe8, 0x86, 0x8a, 0xdb, 0xf5,
+ 0x2d, 0x0d, 0xc0, 0xae, 0xc0, 0xc0, 0x74, 0xa4, 0x70, 0xfb,
+ 0xc7, 0x4c, 0xba, 0xda, 0x17, 0xa4, 0x0d, 0x31, 0x88, 0x56,
+ 0x88, 0x88, 0xbc, 0x2a, 0x5a, 0x0e, 0xc5, 0x91, 0xae, 0xea,
+ 0x53, 0x2a, 0xed, 0x85, 0xb3, 0xfb, 0xb3, 0xb3, 0x81, 0x06,
+ 0x8c, 0x80, 0xcb, 0xc7, 0xc2, 0x7a, 0x4c, 0x06, 0xcd, 0xb9,
+ 0xfb, 0x03, 0xfb, 0xfb, 0x49, 0x88, 0xa6, 0x75, 0xc9, 0x1a,
+ 0xd6, 0x4a, 0x08, 0x88, 0xad, 0xfd, 0x23, 0xc8, 0x23, 0x23,
+ 0xd2, 0xd9, 0xd8, 0xa9, 0xcf, 0xbe, 0xea, 0x1a, 0xc4, 0xd9,
+ 0x8d, 0xc1, 0x6b, 0x30, 0x6b, 0x6b, 0x1a, 0x57, 0xf2, 0x5c,
+ 0xcd, 0x63, 0xfe, 0x2a, 0x80, 0x57, 0xae, 0x56, 0x55, 0x51,
+ 0x55, 0x55, 0xa8, 0x81, 0xb7, 0x76, 0xd3, 0x12, 0x32, 0xf9,
+ 0xfa, 0x81, 0x8e, 0x6a, 0x1d, 0xa9, 0x1d, 0x1d, 0x60, 0x0f,
+ 0x9d, 0x83, 0xd1, 0xcf, 0x26, 0xc9, 0xbe, 0x0f, 0xee, 0x2e,
+ 0xc5, 0x62, 0xc5, 0xc5, 0xfb, 0x5e, 0xe3, 0x5f, 0xd7, 0x6b,
+ 0x1a, 0x99, 0x72, 0x5e, 0xce, 0x12, 0x8d, 0x9a, 0x8d, 0x8d,
+ 0x33, 0xd0, 0xc9, 0xaa, 0xd5, 0xb6, 0x0e, 0xa9, 0x36, 0xd0,
+ 0x2e, 0xa6, 0xb6, 0x37, 0xb6, 0xb6, 0x0e, 0xfc, 0x1f, 0x24,
+ 0xdb, 0xe0, 0x62, 0x39, 0x29, 0xfc, 0x0e, 0x9a, 0xfe, 0xcf,
+ 0xfe, 0xfe, 0xc6, 0x72, 0x35, 0xd1, 0xd9, 0x3d, 0x76, 0x09,
+ 0x6d, 0x72, 0x6e, 0xde, 0x26, 0x04, 0x26, 0x26, 0x5d, 0x23,
+ 0x4b, 0x0d, 0xdf, 0x99, 0x4a, 0x59, 0xa1, 0x23, 0x4e, 0xe2,
+ 0x6e, 0xfc, 0x6e, 0x6e, 0x95, 0xad, 0x61, 0xf8, 0xdd, 0x44,
+ 0x5e, 0x69, 0xe5, 0xad, 0x28, 0x33, 0x5a, 0xc6, 0x5a, 0x5a,
+ 0xfa, 0x4c, 0xc1, 0x59, 0xe3, 0x7b, 0x11, 0x3c, 0x55, 0x4c,
+ 0x08, 0x0f, 0x12, 0x3e, 0x12, 0x12, 0x32, 0xc2, 0xeb, 0xac,
+ 0xe1, 0xa6, 0x05, 0x0c, 0x11, 0xc2, 0x68, 0x4b, 0xca, 0xf5,
+ 0xca, 0xca, 0xa9, 0x93, 0x95, 0x70, 0xe7, 0x02, 0x39, 0x5c,
+ 0xdd, 0x93, 0x48, 0x77, 0x82, 0x0d, 0x82, 0x82, 0x61, 0x1d,
+ 0xbf, 0x85, 0xe5, 0xdf, 0x2d, 0x6c, 0x99, 0x1d, 0xa8, 0xc3,
+ 0xb9, 0xa0, 0xb9, 0xb9, 0x5c, 0x31, 0x69, 0x0b, 0xeb, 0x89,
+ 0x41, 0xfc, 0x86, 0x31, 0x88, 0xff, 0xf1, 0x58, 0xf1, 0xf1,
+ 0x94, 0xbf, 0x43, 0xfe, 0xe9, 0x54, 0x55, 0xcc, 0xc2, 0xbf,
+ 0xe8, 0xbb, 0x29, 0x93, 0x29, 0x29, 0x0f, 0xee, 0x3d, 0x22,
+ 0xef, 0xf0, 0x69, 0x9c, 0x0e, 0xee, 0xc8, 0x87, 0x61, 0x6b,
+ 0x61, 0x61, 0xc7, 0x60, 0x17, 0xd7, 0xed, 0x2d, 0x7d, 0xac,
+ 0x4a, 0x60, 0xeb, 0x10, 0x5f, 0x0a, 0x5f, 0x5f, 0x75, 0xb6,
+ 0x52, 0xfd, 0xf3, 0x5c, 0xb1, 0x7f, 0x30, 0xb6, 0xcb, 0x2c,
+ 0x17, 0xf2, 0x17, 0x17, 0xbd, 0x38, 0x78, 0x08, 0xf1, 0x81,
+ 0xa5, 0x4f, 0x74, 0x38, 0xab, 0x68, 0xcf, 0x39, 0xcf, 0xcf,
+ 0x26, 0x69, 0x06, 0xd4, 0xf7, 0x25, 0x99, 0x1f, 0xb8, 0x69,
+ 0x8b, 0x54, 0x87, 0xc1, 0x87, 0x87, 0xee, 0xe7, 0x2c, 0x21,
+ 0xf5, 0xf8, 0x8d, 0x2f, 0xfc, 0xe7, 0x6b, 0xe0, 0xbc, 0x6c,
+ 0xbc, 0xbc, 0xd3, 0xcb, 0xfa, 0xaf, 0xfb, 0xae, 0xe1, 0xbf,
+ 0xe3, 0xcb, 0x4b, 0xdc, 0xf4, 0x94, 0xf4, 0xf4, 0x1b, 0x45,
+ 0xd0, 0x5a, 0xf9, 0x73, 0xf5, 0x8f, 0xa7, 0x45, 0x2b, 0x98,
+ 0x2c, 0x5f, 0x2c, 0x2c, 0x80, 0x14, 0xae, 0x86, 0xff, 0xd7,
+ 0xc9, 0xdf, 0x6b, 0x14, 0x0b, 0xa4, 0x64, 0xa7, 0x64, 0x64,
+ 0x48, 0x9a, 0x84, 0x73, 0xfd, 0x0a, 0xdd, 0xef, 0x2f, 0x9a,
+ 0xe7, 0xf9, 0x44, 0x2b, 0x44, 0x44, 0x5e, 0x15, 0x2d, 0x07,
+ 0x83, 0xa9, 0x57, 0x75, 0xc8, 0x15, 0xc7, 0xc5, 0x0c, 0xd3,
+ 0x0c, 0x0c, 0x96, 0x9b, 0x07, 0xf2, 0x81, 0x74, 0x43, 0x45,
+ 0x8c, 0x9b, 0xa7, 0x81, 0xd4, 0x18, 0xd4, 0xd4, 0x0d, 0xca,
+ 0x79, 0x2e, 0x87, 0xd0, 0x7f, 0x15, 0x40, 0xca, 0x87, 0xbd,
+ 0x9c, 0xe0, 0x9c, 0x9c, 0xc5, 0x44, 0x53, 0xdb, 0x85, 0x0d,
+ 0x6b, 0x25, 0x04, 0x44, 0x67, 0x09, 0xa7, 0x4d, 0xa7, 0xa7,
+ 0xf8, 0x68, 0x85, 0x55, 0x8b, 0x5b, 0x07, 0xb5, 0x1b, 0x68,
+ 0x47, 0x35, 0xef, 0xb5, 0xef, 0xef, 0x30, 0xe6, 0xaf, 0xa0,
+ 0x89, 0x86, 0x13, 0x85, 0x5f, 0xe6, 0x27, 0x71, 0x37, 0x7e,
+ 0x37, 0x37, 0xab, 0xb7, 0xd1, 0x7c, 0x8f, 0x22, 0x2f, 0xd5,
+ 0x93, 0xb7, 0x07, 0x4d, 0x7f, 0x86, 0x7f, 0x7f, 0x63, 0x39,
+ 0xfb, 0x89, 0x8d, 0xff, 0x3b, 0xe5, 0xd7, 0x39, 0x24, 0xda,
+ 0x41, 0xe7, 0x41, 0x41, 0xd1, 0xef, 0xbe, 0xa3, 0x93, 0x8e,
+ 0xf7, 0x36, 0xad, 0xef, 0x04, 0xe6, 0x09, 0x1f, 0x09, 0x09,
+ 0x19, 0x61, 0x94, 0x56, 0x91, 0x53, 0xe3, 0x06, 0xe9, 0x61,
+ 0x64, 0xa2, 0xd1, 0xd4, 0xd1, 0xd1, 0x82, 0x30, 0xea, 0x8a,
+ 0x97, 0xf7, 0xdf, 0x56, 0x25, 0x30, 0x44, 0x9e, 0x99, 0x2c,
+ 0x99, 0x99, 0x4a, 0xbe, 0xc0, 0x7f, 0x95, 0x2a, 0xcb, 0x66,
+ 0x61, 0xbe, 0xa4, 0x2a, 0xa2, 0x81, 0xa2, 0xa2, 0x77, 0x92,
+ 0x16, 0xf1, 0x9b, 0x7c, 0xa7, 0xf6, 0x7e, 0x92, 0x84, 0x16,
+ 0xea, 0x79, 0xea, 0xea, 0xbf, 0x1c, 0x3c, 0x04, 0x99, 0xa1,
+ 0xb3, 0xc6, 0x3a, 0x1c, 0xe4, 0x52, 0x32, 0xb2, 0x32, 0x32,
+ 0x24, 0x4d, 0x42, 0xd8, 0x9f, 0x05, 0x8f, 0x96, 0xf6, 0x4d,
+ 0xc4, 0x6e, 0x7a, 0x4a, 0x7a, 0x7a, 0xec, 0xc3, 0x68, 0x2d,
+ 0x9d, 0xd8, 0x9b, 0xa6, 0xb2, 0xc3, 0xa2, 0xbf, 0x4e, 0x70,
+ 0x4e, 0x4e, 0x83, 0x22, 0xc8, 0x8c, 0xa3, 0xe7, 0xd4, 0xf3,
+ 0x02, 0x22, 0x82, 0x83, 0x06, 0x88, 0x06, 0x06, 0x4b, 0xac,
+ 0xe2, 0x79, 0xa1, 0x3a, 0xc0, 0xc3, 0x46, 0xac, 0xe2, 0xc7,
+ 0xde, 0x43, 0xde, 0xde, 0xd0, 0xfd, 0x9c, 0xa5, 0xa7, 0x9e,
+ 0xfc, 0x93, 0x8a, 0xfd, 0xc2, 0xfb, 0x96, 0xbb, 0x96, 0x96,
+ 0x18, 0x73, 0xb6, 0x50, 0xa5, 0x43, 0xe8, 0xa3, 0xce, 0x73,
+ 0x22, 0x4f, 0xad, 0x16, 0xad, 0xad, 0x25, 0x5f, 0x60, 0xde,
+ 0xab, 0x15, 0x84, 0x33, 0xd1, 0x5f, 0x02, 0x73, 0xe5, 0xee,
+ 0xe5, 0xe5, 0xed, 0xd1, 0x4a, 0x2b, 0xa9, 0xc8, 0x90, 0x03,
+ 0x95, 0xd1, 0x62, 0x37, 0x3d, 0x25, 0x3d, 0x3d, 0x76, 0x80,
+ 0x34, 0xf7, 0xaf, 0x6c, 0xac, 0x53, 0x59, 0x80, 0x42, 0x0b,
+ 0x75, 0xdd, 0x75, 0x75, 0xbe, 0x0e, 0x1e, 0x02, 0xad, 0xb1,
+ 0xb8, 0x63, 0x1d, 0x0e, 0x61, 0x9c, 0x4b, 0xbc, 0x4b, 0x4b,
+ 0x0c, 0xd8, 0x5b, 0x28, 0xb3, 0xc0, 0x74, 0xb0, 0x67, 0xd8,
+ 0x41, 0xa0, 0x03, 0x44, 0x03, 0x03, 0xc4, 0x56, 0x71, 0xdd,
+ 0xb1, 0x1d, 0x60, 0x80, 0x23, 0x56, 0x21, 0xe4, 0xdb, 0x8f,
+ 0xdb, 0xdb, 0x5f, 0x07, 0x0f, 0x01, 0xb7, 0xb9, 0x5c, 0xd0,
+ 0xef, 0x07, 0x01, 0xd8, 0x93, 0x77, 0x93, 0x93, 0x97, 0x89,
+ 0x25, 0xf4, 0xb5, 0x64, 0x48, 0xe0, 0xab, 0x89, 0xe1, 0x6c,
+ 0xa8, 0xda, 0xa8, 0xa8, 0xaa, 0xa5, 0xf3, 0x7a, 0xbb, 0x32,
+ 0x24, 0x70, 0xb4, 0xa5, 0xc1, 0x50, 0xe0, 0x22, 0xe0, 0xe0,
+ 0x62, 0x2b, 0xd9, 0x8f, 0xb9, 0xef, 0x30, 0x40, 0xf0, 0x2b,
+ 0xa1, 0x14, 0x38, 0xe9, 0x38, 0x38, 0xf9, 0x7a, 0xa7, 0x53,
+ 0xbf, 0x4b, 0x0c, 0x10, 0x3c, 0x7a, 0x81, 0x28, 0x70, 0x11,
+ 0x70, 0x70, 0x31, 0xf4, 0x8d, 0xa6, 0xbd, 0x96, 0x18, 0x20,
+ 0x78, 0xf4, 0xba, 0xae, 0x78, 0x32, 0x78, 0x78, 0xd5, 0xa7,
+ 0x36, 0xbb, 0x43, 0xce, 0xdb, 0xe7, 0x31, 0xa7, 0x9a, 0x92,
+ 0x30, 0xca, 0x30, 0x30, 0x1d, 0x29, 0x1c, 0x4e, 0x41, 0x13,
+ 0xcf, 0xd7, 0x75, 0x29, 0xfa, 0xd6, 0xe8, 0x01, 0xe8, 0xe8,
+ 0x86, 0x78, 0x62, 0x92, 0x47, 0xb7, 0xf3, 0x87, 0xb9, 0x78,
+ 0xda, 0xea, 0xa0, 0xf9, 0xa0, 0xa0, 0x4e, 0xf6, 0x48, 0x67,
+ 0x45, 0x6a, 0xe7, 0xb7, 0xfd, 0xf6, 0x3a, 0x5e, 0x9b, 0x54,
+ 0x9b, 0x9b, 0x73, 0xda, 0x9e, 0xe9, 0x4b, 0x3c, 0x8b, 0x27,
+ 0xe2, 0xda, 0x1a, 0x62, 0xd3, 0xac, 0xd3, 0xd3, 0xbb, 0x54,
+ 0xb4, 0x1c, 0x49, 0xe1, 0x9f, 0x17, 0xa6, 0x54, 0x7a, 0x26,
+ 0x0b, 0x67, 0x0b, 0x0b, 0x20, 0x05, 0xca, 0xc0, 0x4f, 0x45,
+ 0xa3, 0x47, 0x6a, 0x05, 0x5a, 0x1a, 0x43, 0x9f, 0x43, 0x43,
+ 0xe8, 0x8b, 0xe0, 0x35, 0x4d, 0x98, 0xb7, 0x77, 0x2e, 0x8b,
+ 0x79, 0x8d, 0x7d, 0xfe, 0x7d, 0x7d, 0x5a, 0x5d, 0xa5, 0x1f,
+ 0x53, 0xe9, 0x7b, 0xa4, 0x54, 0x5d, 0x59, 0xb1, 0x35, 0x06,
+ 0x35, 0x35, 0x92, 0xd3, 0x8f, 0xea, 0x51, 0x34, 0x6f, 0x94,
+ 0x10, 0xd3, 0x39, 0xf5, 0xed, 0xcd, 0xed, 0xed, 0x09, 0x82,
+ 0xf1, 0x36, 0x57, 0x90, 0x53, 0xc4, 0xdc, 0x82, 0x19, 0xc9,
+ 0xa5, 0x35, 0xa5, 0xa5, 0xc1, 0x0c, 0xdb, 0xc3, 0x55, 0x4d,
+ 0x47, 0xf4, 0x98, 0x0c, 0xf9, 0x7d, 0x9e, 0x98, 0x9e, 0x9e,
+ 0xfc, 0x20, 0x0d, 0x4d, 0x5b, 0x1b, 0x2b, 0x64, 0x87, 0x20,
+ 0xd9, 0x41, 0xd6, 0x60, 0xd6, 0xd6, 0x34, 0xae, 0x27, 0xb8,
+ 0x59, 0xc6, 0x3f, 0x54, 0xc3, 0xae, 0xb9, 0x05, 0x0e, 0xab,
+ 0x0e, 0x0e, 0xaf, 0xff, 0x59, 0x64, 0x5f, 0x62, 0x03, 0x04,
+ 0x0f, 0xff, 0x99, 0x39, 0x46, 0x53, 0x46, 0x46, 0x67, 0x71,
+ 0x73, 0x91, 0x5d, 0xbf, 0x17, 0x34, 0x4b, 0x71, 0xff, 0xe8,
+ 0x72, 0x69, 0x72, 0x72, 0x08, 0x90, 0xd3, 0x30, 0x63, 0x80,
+ 0x58, 0x61, 0xfb, 0x90, 0xdf, 0xd4, 0x3a, 0x91, 0x3a, 0x3a,
+ 0xc0, 0x1e, 0xf9, 0xc5, 0x61, 0x5d, 0x4c, 0x51, 0xbf, 0x1e,
+ 0xbf, 0x90, 0xe2, 0x5a, 0xe2, 0xe2, 0x5b, 0x4f, 0x87, 0x19,
+ 0x67, 0xf9, 0x70, 0x01, 0x73, 0x4f, 0x9f, 0xac, 0xaa, 0xa2,
+ 0xaa, 0xaa, 0x93, 0xc1, 0xad, 0xec, 0x65, 0x24, 0x64, 0x31,
+ 0x37, 0xc1, 0x7f, 0x18, 0x91, 0x0f, 0x91, 0x91, 0xae, 0xed,
+ 0x7b, 0x62, 0x6b, 0x72, 0x08, 0xa1, 0x28, 0xed, 0x5f, 0x24,
+ 0xd9, 0xf7, 0xd9, 0xd9, 0x66, 0x63, 0x51, 0x97, 0x69, 0xaf,
+ 0x1c, 0x91, 0x6c, 0x63, 0x3f, 0x60, 0x01, 0x3c, 0x01, 0x01,
+ 0xfd, 0x32, 0x2f, 0x4b, 0x6f, 0x0b, 0x20, 0xc1, 0xa0, 0x32,
+ 0x1f, 0x5c, 0x49, 0xc4, 0x49, 0x49, 0x35, 0xbc, 0x05, 0xbe,
+ 0x6d, 0xd6, 0x34, 0xf1, 0xe4, 0xbc, 0x3c, 0xcb, 0x77, 0xa5,
+ 0x77, 0x77, 0x87, 0x6a, 0x40, 0x94, 0x73, 0xa7, 0xf8, 0x22,
+ 0x9e, 0x6a, 0x1c, 0xf7, 0x3f, 0x5d, 0x3f, 0x3f, 0x4f, 0xe4,
+ 0x6a, 0x61, 0x71, 0x7a, 0xec, 0x12, 0xda, 0xe4, 0x7c, 0xb3,
+ 0xe7, 0x96, 0xe7, 0xe7, 0xd4, 0xb5, 0x14, 0xbd, 0x77, 0xde,
+ 0xd0, 0x42, 0x16, 0xb5, 0x5c, 0x8f, 0xaf, 0x6e, 0xaf, 0xaf,
+ 0x1c, 0x3b, 0x3e, 0x48, 0x75, 0x03, 0xc4, 0x72, 0x52, 0x3b,
+ 0xbc, 0x3b, 0x94, 0xc3, 0x94, 0x94, 0x21, 0x17, 0xe8, 0xc6,
+ 0x7b, 0x55, 0xa8, 0xe2, 0x4d, 0x17, 0x9c, 0x07, 0xdc, 0x3b,
+ 0xdc, 0xdc, 0xe9, 0x99, 0xc2, 0x33, 0x79, 0x88, 0xbc, 0xd2,
+ 0x09, 0x99, 0xfc, 0x43, 0x04, 0xf0, 0x04, 0x04, 0x72, 0xc8,
+ 0xbc, 0xef, 0x7f, 0x2c, 0x80, 0x82, 0xc5, 0xc8, 0xdc, 0x7f,
+ 0x4c, 0x08, 0x4c, 0x4c, 0xba, 0x46, 0x96, 0x1a, 0x7d, 0xf1,
+ 0x94, 0xb2, 0x81, 0x46, 0x30, 0x22, 0x6c, 0x84, 0x6c, 0x6c,
+ 0xac, 0xc9, 0x3f, 0x6e, 0x03, 0x52, 0x1e, 0x28, 0x66, 0xc9,
+ 0x10, 0x1e, 0x24, 0x7c, 0x24, 0x24, 0x64, 0x47, 0x15, 0x9b,
+ 0x01, 0x8f, 0x0a, 0x18, 0x22, 0x47, 0x70, 0x5a, 0xfc, 0xb7,
+ 0xfc, 0xfc, 0xff, 0x16, 0x6b, 0x47, 0x07, 0x2b, 0x36, 0x48,
+ 0xee, 0x16, 0x50, 0x66, 0xb4, 0x4f, 0xb4, 0xb4, 0x37, 0x98,
+ 0x41, 0xb2, 0x05, 0xf6, 0x22, 0x78, 0xaa, 0x98, 0xb0, 0xd2,
+ 0x8f, 0xe2, 0x8f, 0x8f, 0x0a, 0xb4, 0x97, 0x3c, 0x0b, 0xa0,
+ 0x4e, 0xe8, 0xb5, 0xb4, 0x90, 0xee, 0xc7, 0x1a, 0xc7, 0xc7,
+ 0xc2, 0x3a, 0xbd, 0xc9, 0x09, 0x7d, 0x5a, 0xd8, 0xf1, 0x3a,
+ 0xf0, 0xaa, 0x1f, 0xd1, 0x1f, 0x1f, 0x59, 0x6b, 0xc3, 0x15,
+ 0x0f, 0xd9, 0x66, 0x88, 0x3d, 0x6b, 0xd0, 0x96, 0x57, 0x29,
+ 0x57, 0x57, 0x91, 0xe5, 0xe9, 0xe0, 0x0d, 0x04, 0x72, 0xb8,
+ 0x79, 0xe5, 0xf3, 0x01, 0x69, 0x48, 0x69, 0x69, 0x23, 0x33,
+ 0xac, 0xca, 0x13, 0x75, 0xbe, 0x6b, 0x03, 0x33, 0xd3, 0x3d,
+ 0x21, 0xb0, 0x21, 0x21, 0xeb, 0xbd, 0x86, 0x3f, 0x11, 0xa8,
+ 0xaa, 0x5b, 0x47, 0xbd, 0xb3, 0x79, 0xf9, 0x7b, 0xf9, 0xf9,
+ 0x70, 0xec, 0xf8, 0xe3, 0x17, 0x0c, 0x96, 0x0b, 0x8b, 0xec,
+ 0x93, 0x45, 0xb1, 0x83, 0xb1, 0xb1, 0xb8, 0x62, 0xd2, 0x16,
+ 0x15, 0xd1, 0x82, 0x3b, 0xcf, 0x62, 0x73, 0xf1, 0x8a, 0x2e,
+ 0x8a, 0x8a, 0x85, 0x4e, 0x04, 0x98, 0x1b, 0x87, 0xee, 0xab,
+ 0xd0, 0x4e, 0x53, 0xcd, 0xc2, 0xd6, 0xc2, 0xc2, 0x4d, 0xc0,
+ 0x2e, 0x6d, 0x19, 0x5a, 0xfa, 0x9b, 0x94, 0xc0, 0x33, 0x89,
+ 0x1a, 0x1d, 0x1a, 0x1a, 0xd6, 0x91, 0x50, 0xb1, 0x1f, 0xfe,
+ 0xc6, 0xcb, 0x58, 0x91, 0x13, 0xb5, 0x52, 0xe5, 0x52, 0x52,
+ 0x1e, 0x1f, 0x7a, 0x44, 0x1d, 0x23, 0xd2, 0xfb, 0x1c, 0x1f,
+ 0x75, 0x64, 0x66, 0xdf, 0x66, 0x66, 0x71, 0xfe, 0xda, 0xe5,
+ 0x23, 0x1c, 0x9d, 0xae, 0xac, 0xfe, 0x55, 0x58, 0x2e, 0x27,
+ 0x2e, 0x2e, 0xb9, 0x70, 0xf0, 0x10, 0x21, 0xc1, 0x89, 0x9e,
+ 0xe8, 0x70, 0x35, 0x1c, 0xf6, 0xec, 0xf6, 0xf6, 0x22, 0x21,
+ 0x8e, 0xcc, 0x27, 0x65, 0xb5, 0xce, 0x24, 0x21, 0x15, 0x20,
+ 0xbe, 0x14, 0xbe, 0xbe, 0xea, 0xaf, 0xa4, 0x39, 0x25, 0xb8,
+ 0xa1, 0xfe, 0x60, 0xaf, 0xf5, 0x94, 0x85, 0xb9, 0x85, 0x85,
+ 0xd7, 0x83, 0x72, 0xb7, 0x2b, 0xee, 0xcd, 0x6e, 0x7f, 0x83,
+ 0xd5, 0xa8, 0xcd, 0x41, 0xcd, 0xcd, 0x1f, 0x0d, 0x58, 0x42,
+ 0x29, 0x33, 0xd9, 0x5e, 0x3b, 0x0d, 0xb5, 0xec, 0x15, 0x8a,
+ 0x15, 0x15, 0x84, 0x5c, 0x26, 0x9e, 0x2f, 0x97, 0xe5, 0x0e,
+ 0xf7, 0x5c, 0x95, 0xd0, 0x5d, 0x72, 0x5d, 0x5d, 0x4c, 0xd2,
+ 0x0c, 0x6b, 0x2d, 0x4a, 0xf1, 0x3e, 0xb3, 0xd2, 0xb6, 0x47,
+ 0x63, 0x13, 0x63, 0x63, 0xfe, 0x04, 0x49, 0x41, 0x33, 0x3b,
+ 0x3d, 0xed, 0xc9, 0x04, 0x96, 0x7b, 0x2b, 0xeb, 0x2b, 0x2b,
+ 0x36, 0x8a, 0x63, 0xb4, 0x31, 0xe6, 0x29, 0xdd, 0x8d, 0x8a,
+ 0xf6, 0x3f, 0xf3, 0x20, 0xf3, 0xf3, 0xad, 0xdb, 0x1d, 0x68,
+ 0x37, 0x42, 0x15, 0x8d, 0x41, 0xdb, 0xd6, 0x03, 0xbb, 0xd8,
+ 0xbb, 0xbb, 0x65, 0x55, 0x37, 0x9d, 0x35, 0x9f, 0x01, 0xbd,
+ 0x05, 0x55, 0x36, 0xb7, 0x80, 0x75, 0x80, 0x80, 0x58, 0x79,
+ 0xe1, 0x13, 0x3b, 0xc9, 0x6d, 0x2d, 0x1a, 0x79, 0x16, 0x8b,
+ 0xc8, 0x8d, 0xc8, 0xc8, 0x90, 0xf7, 0xcb, 0xe6, 0x39, 0x14,
+ 0x79, 0x1d, 0x5e, 0xf7, 0x76, 0xcf, 0x10, 0x46, 0x10, 0x10,
+ 0x0b, 0xa6, 0xb5, 0x3a, 0x3f, 0xb0, 0x45, 0x4d, 0x92, 0xa6,
+ 0x56, 0xf3, 0x58, 0xbe, 0x58, 0x58, 0xc3, 0x28, 0x9f, 0xcf,
+ 0x3d, 0x6d, 0x51, 0x7d, 0xd6, 0x28,
+ },
+ {
+ /* 3 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x44, 0xdf, 0x52,
+ 0x7f, 0xc6, 0x98, 0x60, 0xd4, 0x52, 0x0e, 0x65, 0x07, 0x9f,
+ 0x86, 0xea, 0xc9, 0x88, 0x7d, 0xa4, 0xfe, 0x4f, 0xf3, 0xc0,
+ 0x6b, 0xa4, 0x1c, 0xca, 0x0e, 0xfd, 0xcf, 0x17, 0x4c, 0xcc,
+ 0xa2, 0xf6, 0x81, 0x89, 0x6b, 0xa0, 0xbf, 0xf6, 0x12, 0xaf,
+ 0x09, 0x62, 0x49, 0xfd, 0x51, 0xd3, 0xfa, 0x8b, 0x3f, 0x9e,
+ 0x25, 0x43, 0xd6, 0x8b, 0x38, 0x57, 0x1c, 0x39, 0x5d, 0x2e,
+ 0xd4, 0x97, 0x25, 0xd9, 0x40, 0x58, 0xbd, 0x23, 0x02, 0xd9,
+ 0x36, 0x32, 0x1b, 0xa6, 0xdb, 0xc4, 0x98, 0x5b, 0x87, 0x2f,
+ 0xc1, 0xd1, 0xd6, 0x83, 0xbd, 0x2f, 0x24, 0x9d, 0x12, 0xc4,
+ 0x92, 0x39, 0x1d, 0x1f, 0x58, 0x7d, 0xbe, 0x17, 0x4e, 0xe3,
+ 0x69, 0x7d, 0x2a, 0xf8, 0x15, 0x5b, 0x14, 0xd3, 0xa2, 0x65,
+ 0x37, 0xd5, 0x7e, 0xff, 0x4a, 0x86, 0x6f, 0xd5, 0x70, 0xae,
+ 0x38, 0x72, 0xba, 0x5c, 0x27, 0x21, 0xe8, 0x87, 0x01, 0x39,
+ 0xd2, 0xe6, 0xbb, 0x87, 0x7e, 0xcb, 0x3f, 0xed, 0x3c, 0xb6,
+ 0x6b, 0xed, 0x4a, 0x71, 0x80, 0xb0, 0xb9, 0x46, 0x04, 0x71,
+ 0x6c, 0x64, 0x36, 0x8f, 0x75, 0x4b, 0xee, 0xa9, 0x95, 0x23,
+ 0xff, 0x76, 0x21, 0x26, 0xd0, 0x23, 0x62, 0x01, 0x31, 0x10,
+ 0xf3, 0xa1, 0xf3, 0xb6, 0xcd, 0x5e, 0x41, 0x61, 0x6f, 0xc5,
+ 0xb9, 0x5e, 0x48, 0xf9, 0x24, 0x4b, 0xe7, 0x72, 0x76, 0xf2,
+ 0x12, 0x0c, 0x3e, 0xa7, 0xf7, 0xa5, 0x6d, 0x0c, 0x46, 0x9c,
+ 0x23, 0xd4, 0x61, 0x98, 0x3a, 0x3e, 0xb0, 0xfa, 0xbf, 0x2e,
+ 0x9c, 0x05, 0xd2, 0xfa, 0x54, 0x33, 0x2a, 0xb6, 0x28, 0x65,
+ 0xbf, 0x7a, 0x6f, 0xa8, 0xc0, 0xe8, 0x04, 0x65, 0x06, 0xa8,
+ 0x5a, 0x56, 0x2d, 0x29, 0xae, 0x8f, 0x87, 0xca, 0x6e, 0x69,
+ 0xfc, 0x3d, 0x94, 0xcf, 0xde, 0x69, 0xe0, 0x9f, 0x70, 0xe4,
+ 0xb7, 0xb8, 0x02, 0x8e, 0xb1, 0x3b, 0x83, 0xfb, 0x0c, 0xaf,
+ 0x0a, 0x3b, 0xee, 0xfa, 0x77, 0x7b, 0x31, 0x52, 0x4e, 0x42,
+ 0x13, 0xcd, 0x02, 0x72, 0x67, 0x0f, 0xb5, 0xcd, 0xfc, 0x55,
+ 0x7e, 0x19, 0x78, 0xaf, 0xcb, 0x06, 0xcc, 0x9f, 0x7d, 0xb4,
+ 0xff, 0x6f, 0x61, 0x9f, 0xf2, 0x30, 0x79, 0x86, 0xfe, 0x45,
+ 0xd6, 0x19, 0x94, 0xe2, 0xc3, 0xa3, 0xb1, 0x8c, 0x08, 0xe2,
+ 0xd8, 0xc8, 0x6c, 0xdd, 0xea, 0x96, 0x53, 0x5d, 0x4b, 0xb0,
+ 0xbc, 0x65, 0x29, 0xec, 0xdc, 0xb0, 0xd6, 0xad, 0x6b, 0x42,
+ 0x6c, 0x7c, 0x1f, 0x91, 0xe9, 0x46, 0x3d, 0xec, 0x42, 0x4c,
+ 0x63, 0x46, 0xc4, 0x02, 0x62, 0x20, 0x25, 0x81, 0x9a, 0xd5,
+ 0x36, 0x14, 0x42, 0x2a, 0xda, 0x2c, 0xb7, 0x14, 0xca, 0x67,
+ 0x65, 0xbf, 0xa3, 0x6b, 0x25, 0xaf, 0x59, 0xbc, 0x82, 0xc2,
+ 0xde, 0x49, 0xb1, 0xbc, 0x90, 0x31, 0x48, 0x96, 0x0d, 0xe4,
+ 0xa0, 0xeb, 0x86, 0xee, 0xfd, 0x04, 0x46, 0x29, 0x65, 0xee,
+ 0x9e, 0x54, 0x4f, 0x09, 0x8b, 0x0e, 0xec, 0x27, 0x24, 0x18,
+ 0x7c, 0x8d, 0x2d, 0x89, 0xda, 0x18, 0x8c, 0xfb, 0x46, 0x6b,
+ 0xc2, 0xf3, 0x69, 0x63, 0xfb, 0x4a, 0x03, 0x4b, 0xb5, 0xe9,
+ 0x0e, 0x4a, 0x82, 0x9e, 0x41, 0xf4, 0x44, 0x19, 0x74, 0x7c,
+ 0xa3, 0x37, 0xbd, 0x5c, 0xfb, 0x0a, 0x67, 0x37, 0xa8, 0x66,
+ 0x54, 0xaf, 0x50, 0xca, 0xf1, 0x38, 0x7c, 0x65, 0xc2, 0x9a,
+ 0x63, 0x6a, 0xb3, 0x65, 0xa6, 0x03, 0x53, 0x30, 0xd6, 0x20,
+ 0xbd, 0xf4, 0xde, 0x93, 0x43, 0x13, 0x08, 0xca, 0x0c, 0x93,
+ 0xb4, 0xac, 0x5a, 0x52, 0x9f, 0xdd, 0x38, 0xb0, 0x01, 0xc1,
+ 0x3c, 0xd5, 0x90, 0xaa, 0xd8, 0xc1, 0xba, 0xc9, 0x5d, 0xcd,
+ 0x19, 0x37, 0xcd, 0x57, 0xdc, 0xd2, 0x3b, 0x7a, 0xeb, 0x5d,
+ 0x7f, 0xd2, 0x03, 0xfd, 0xe0, 0x0b, 0xad, 0xb3, 0x48, 0x13,
+ 0x03, 0x80, 0x44, 0xbc, 0x73, 0x3d, 0xab, 0x80, 0x0d, 0x98,
+ 0xe7, 0x94, 0x2b, 0x59, 0x04, 0xdf, 0xa1, 0x76, 0xc5, 0x35,
+ 0x18, 0x9d, 0x14, 0x76, 0x1f, 0x37, 0xee, 0xf6, 0x62, 0xa4,
+ 0x81, 0x9b, 0x7e, 0x24, 0xba, 0xf3, 0x80, 0xfd, 0xc0, 0x24,
+ 0x11, 0x52, 0xe9, 0x69, 0xe4, 0x4e, 0x9c, 0x84, 0x26, 0x59,
+ 0x04, 0xe4, 0xce, 0x1e, 0xa9, 0x59, 0x3b, 0xaa, 0xfc, 0x32,
+ 0xf0, 0x9d, 0x19, 0xc0, 0xf9, 0x0b, 0x7b, 0x22, 0x56, 0x7e,
+ 0x7d, 0x0b, 0x35, 0xcf, 0xfb, 0xad, 0x76, 0x77, 0x55, 0x0c,
+ 0x5b, 0xfd, 0xfa, 0xab, 0x3d, 0xde, 0xc2, 0xfd, 0x27, 0x60,
+ 0xf2, 0xcf, 0x3f, 0x8a, 0xd0, 0x48, 0x84, 0xaf, 0x85, 0x6d,
+ 0xa5, 0xbe, 0x16, 0xaf, 0x29, 0x05, 0xf5, 0x50, 0xb9, 0x60,
+ 0x6f, 0x32, 0xeb, 0x07, 0x45, 0x85, 0xa1, 0xdb, 0x10, 0x07,
+ 0x73, 0x53, 0xd8, 0x79, 0x17, 0xef, 0xea, 0x76, 0x34, 0x55,
+ 0x3a, 0x43, 0x39, 0xbb, 0xc4, 0x55, 0x7d, 0x36, 0xdf, 0xe6,
+ 0x91, 0x05, 0xa6, 0xba, 0x96, 0xa3, 0xbb, 0xca, 0x52, 0x1b,
+ 0x7b, 0xa3, 0x6f, 0x99, 0xd6, 0x84, 0xd8, 0xf8, 0x23, 0xfe,
+ 0x49, 0xf1, 0xc4, 0x0c, 0xca, 0x7b, 0xaf, 0xf1, 0x61, 0xfc,
+ 0xd1, 0x1b, 0x5e, 0x12, 0x3e, 0xe1, 0x11, 0x8c, 0x7a, 0x1b,
+ 0x84, 0x98, 0xc6, 0x8c, 0x4b, 0x04, 0xc4, 0x40, 0x4a, 0xc1,
+ 0xbb, 0xa5, 0xce, 0xde, 0x05, 0xdd, 0x1c, 0xf8, 0x12, 0xde,
+ 0x45, 0x61, 0xc3, 0xdf, 0xcc, 0x2b, 0xf7, 0x69, 0x6c, 0x28,
+ 0x84, 0x54, 0x77, 0x58, 0xad, 0x28, 0x57, 0xce, 0xca, 0xbd,
+ 0x85, 0xd6, 0x72, 0x2d, 0xb3, 0x7a, 0xfb, 0x92, 0xef, 0x38,
+ 0x79, 0x7a, 0x59, 0xab, 0xcd, 0x22, 0x03, 0x3c, 0x4a, 0x9d,
+ 0xb2, 0xbb, 0xc7, 0x47, 0x7f, 0x92, 0xa1, 0xbb, 0xe3, 0x62,
+ 0x90, 0xef, 0x1a, 0x0b, 0xcf, 0xd9, 0x6d, 0xe9, 0xb8, 0x81,
+ 0xe7, 0xf2, 0x75, 0xe9, 0xed, 0x07, 0x97, 0x70, 0x9c, 0xe1,
+ 0x83, 0x15, 0xcf, 0x1f, 0x39, 0x08, 0x8c, 0x52, 0xca, 0x1f,
+ 0xff, 0xa8, 0x9e, 0x12, 0xd5, 0x1c, 0x06, 0x51, 0x10, 0x4d,
+ 0x46, 0xce, 0x14, 0x32, 0x1e, 0x4d, 0xf1, 0xcd, 0x99, 0x8d,
+ 0x53, 0xf6, 0x1b, 0x4e, 0x48, 0x30, 0xf8, 0xd9, 0x5a, 0xd1,
+ 0x77, 0x30, 0xdb, 0x35, 0x8c, 0xd6, 0x47, 0x25, 0x9e, 0x0a,
+ 0x97, 0x62, 0x87, 0x1f, 0xc2, 0xb1, 0xa3, 0x62, 0xd5, 0x50,
+ 0x8b, 0x49, 0xc1, 0xcf, 0xd2, 0xc6, 0x35, 0x94, 0x06, 0x96,
+ 0xa9, 0x11, 0x1c, 0x94, 0xc7, 0xff, 0x82, 0x2b, 0x88, 0x32,
+ 0x57, 0x82, 0xea, 0xc6, 0x79, 0x50, 0x31, 0x71, 0xc8, 0xc6,
+ 0xc9, 0x9a, 0x85, 0xb4, 0x0e, 0xd8, 0xe8, 0xf8, 0x85, 0x6e,
+ 0xb9, 0xb8, 0x35, 0x14, 0xce, 0x6e, 0x93, 0xcc, 0xa8, 0x9d,
+ 0xa0, 0x57, 0x6d, 0xbc, 0x5a, 0x3c, 0xc6, 0x7e, 0xad, 0x74,
+ 0x1a, 0x3c, 0x9d, 0xa9, 0xaf, 0x02, 0x26, 0xbd, 0x21, 0x70,
+ 0xf8, 0xca, 0x47, 0xf7, 0xc6, 0xd4, 0xa5, 0xca, 0x8f, 0x06,
+ 0xa6, 0x60, 0x6f, 0x40, 0xa4, 0x34, 0x27, 0x98, 0x38, 0x31,
+ 0x5e, 0xb4, 0x71, 0x98, 0x81, 0x63, 0xa1, 0xff, 0xe9, 0xaa,
+ 0xb9, 0x2b, 0x7f, 0xe5, 0x86, 0x26, 0x10, 0x57, 0x18, 0xe5,
+ 0xab, 0x9b, 0xb4, 0xa4, 0xfd, 0x79, 0x3c, 0x6f, 0xa0, 0xb7,
+ 0xf9, 0xe0, 0x88, 0x37, 0xcc, 0xb7, 0xa5, 0xfe, 0xb3, 0x3b,
+ 0x7b, 0x93, 0x70, 0xa3, 0x02, 0x41, 0x78, 0x69, 0xe3, 0x97,
+ 0x73, 0x41, 0xb7, 0x51, 0xba, 0x59, 0x32, 0x6e, 0xf5, 0xe7,
+ 0xdd, 0x13, 0x07, 0xaf, 0x7b, 0xf7, 0xa7, 0x13, 0xb9, 0x34,
+ 0xbd, 0xc6, 0xb4, 0x84, 0x59, 0xae, 0x7b, 0x67, 0x76, 0xf4,
+ 0x15, 0xba, 0xfe, 0x67, 0x06, 0x39, 0x03, 0x16, 0x99, 0xa5,
+ 0xdc, 0xea, 0xa4, 0x35, 0x09, 0x32, 0x8d, 0xda, 0x2a, 0x35,
+ 0x08, 0x5c, 0x04, 0x89, 0x1f, 0x4f, 0x90, 0x26, 0x06, 0xc3,
+ 0x88, 0xbb, 0xe6, 0x7a, 0x95, 0xc3, 0x1a, 0xf3, 0x0d, 0xeb,
+ 0x56, 0xb2, 0x15, 0x62, 0xd9, 0x91, 0xf7, 0x7d, 0x7e, 0x1a,
+ 0x41, 0x91, 0x14, 0x96, 0x0a, 0x74, 0xd0, 0x58, 0x08, 0x7d,
+ 0x81, 0xec, 0x49, 0x6a, 0x30, 0xf9, 0x28, 0xec, 0x3e, 0x6e,
+ 0x1f, 0x2f, 0xc4, 0x8b, 0x8d, 0x39, 0x5e, 0xbe, 0x36, 0xac,
+ 0xa8, 0x99, 0xfc, 0xbe, 0x30, 0x0b, 0x18, 0xb0, 0x42, 0x61,
+ 0xc1, 0xf5, 0xfc, 0x48, 0xb7, 0x25, 0xc3, 0x39, 0x43, 0x48,
+ 0x22, 0xa4, 0x11, 0xd2, 0x0b, 0x9c, 0x44, 0xb1, 0x23, 0x1a,
+ 0xc8, 0xe3, 0x5b, 0x59, 0x97, 0x1a, 0x2c, 0xc1, 0x16, 0x4d,
+ 0x8d, 0x76, 0xfb, 0xcb, 0x4c, 0xb2, 0x08, 0x0b, 0x5f, 0x3c,
+ 0x91, 0xb2, 0x76, 0x97, 0x3b, 0x64, 0x23, 0xf9, 0x7e, 0x8f,
+ 0x93, 0xe0, 0x77, 0xcd, 0xc7, 0x5c, 0x45, 0xe0, 0x78, 0xf2,
+ 0x3c, 0xfb, 0xa5, 0x13, 0x32, 0x43, 0x31, 0x16, 0xf6, 0x44,
+ 0xac, 0xfc, 0xfa, 0x16, 0x6a, 0x5d, 0x35, 0x99, 0xec, 0xee,
+ 0xb7, 0x07, 0xee, 0x44, 0x89, 0x82, 0x34, 0x9c, 0x2e, 0x44,
+ 0x64, 0x38, 0x32, 0x06, 0x6a, 0x04, 0xaa, 0x18, 0xb6, 0x39,
+ 0x37, 0x95, 0x7a, 0x7f, 0x47, 0x39, 0x4e, 0xc0, 0x27, 0x5d,
+ 0x7e, 0xd7, 0x2f, 0x5c, 0x69, 0x6b, 0x48, 0x53, 0xe2, 0x1f,
+ 0x93, 0x6b, 0x40, 0xa5, 0x20, 0xc2, 0xf8, 0x3d, 0x63, 0x90,
+ 0xcb, 0x9d, 0xc9, 0xda, 0x89, 0xbf, 0x2c, 0x9d, 0x52, 0x0a,
+ 0x29, 0xa0, 0xb1, 0xc0, 0xe6, 0xd4, 0x14, 0xcf, 0xb6, 0x1c,
+ 0x11, 0xdf, 0xf8, 0xcf, 0x5c, 0x6f, 0x2e, 0x3f, 0x37, 0x2a,
+ 0xde, 0x64, 0x15, 0x0e, 0x8a, 0xc9, 0x81, 0x75, 0x20, 0x0e,
+ 0xe6, 0xa6, 0x73, 0xf2, 0x2e, 0x1d, 0x5b, 0x20, 0xca, 0x5c,
+ 0xf5, 0x0f, 0x19, 0x15, 0xf4, 0x5c, 0xe8, 0xc3, 0x74, 0x6d,
+ 0xa8, 0xf7, 0x17, 0xec, 0x68, 0xaa, 0x74, 0x86, 0x72, 0xb5,
+ 0x4b, 0xaa, 0xfa, 0x6c, 0x7d, 0x0f, 0xe1, 0x0a, 0x92, 0xa8,
+ 0xb7, 0xf8, 0x0b, 0x40, 0xea, 0xd5, 0x9f, 0xf8, 0xf4, 0x09,
+ 0x7a, 0x90, 0x67, 0xe0, 0x8f, 0xb7, 0xef, 0x85, 0xb5, 0x57,
+ 0xa4, 0x36, 0xf6, 0x85, 0xde, 0xf1, 0x6f, 0xcb, 0x73, 0x33,
+ 0x0a, 0xf3, 0x30, 0xd7, 0xca, 0x91, 0x3c, 0x56, 0x22, 0xd7,
+ 0xd0, 0x94, 0x68, 0x54, 0xf5, 0xd9, 0x46, 0x3f, 0x92, 0x21,
+ 0x4b, 0x18, 0x57, 0xf6, 0x9d, 0x21, 0xc2, 0x3b, 0x61, 0x36,
+ 0xbc, 0x24, 0xc3, 0x7b, 0x4d, 0x73, 0x34, 0xde, 0xcf, 0x96,
+ 0x49, 0x73, 0xcc, 0x5e, 0x66, 0xa9, 0x3a, 0xce, 0x7c, 0x01,
+ 0x22, 0xdb, 0xf4, 0x36, 0xcb, 0xf3, 0x4f, 0xdb, 0x96, 0x08,
+ 0x4b, 0x80, 0x94, 0x41, 0xf9, 0x45, 0xfd, 0x89, 0x8b, 0xf0,
+ 0x53, 0x93, 0x9b, 0x89, 0x98, 0x6d, 0x4c, 0x1f, 0x12, 0xab,
+ 0xb5, 0x89, 0x5f, 0x7f, 0x0a, 0x79, 0x38, 0x33, 0x24, 0x7f,
+ 0x8a, 0xc2, 0x45, 0x7d, 0x5b, 0x56, 0x30, 0xcd, 0x80, 0x2d,
+ 0x75, 0xbf, 0xa0, 0x53, 0xf0, 0x2d, 0x84, 0xa7, 0x42, 0xe2,
+ 0xdd, 0xbc, 0x2d, 0xd2, 0xd8, 0x50, 0xcb, 0xa8, 0xee, 0xb0,
+ 0x99, 0x50, 0xae, 0x5f, 0x57, 0xb9, 0xc9, 0x6f, 0xa8, 0x96,
+ 0x07, 0x02, 0xb4, 0x6e, 0x76, 0xd0, 0x4d, 0x02, 0xa0, 0x3a,
+ 0x50, 0x26, 0x4f, 0x85, 0xe4, 0x5a, 0xa5, 0xf4, 0x35, 0xe7,
+ 0x1d, 0x70, 0xf2, 0xf4, 0xb2, 0x95, 0x59, 0x44, 0x06, 0x78,
+ 0x61, 0x1e, 0x7a, 0xa6, 0x4a, 0x21, 0x85, 0x10, 0x26, 0xa6,
+ 0xbc, 0xf0, 0x5e, 0xdb, 0x80, 0x92, 0x94, 0xf9, 0xa7, 0xb5,
+ 0x4d, 0x8e, 0xfe, 0xe7, 0x81, 0xb5, 0x05, 0xc4, 0xe3, 0x1d,
+ 0x34, 0x16, 0x11, 0xbd, 0x78, 0xe7, 0x32, 0x48, 0x66, 0x87,
+ 0x55, 0xe7, 0x0b, 0xa1, 0xe4, 0x82, 0xb2, 0xfc, 0x5d, 0x71,
+ 0xda, 0x11, 0xb3, 0xc1, 0x0d, 0x27, 0xea, 0x11, 0x19, 0x0e,
+ 0xed, 0xe0, 0xfb, 0x01, 0xd8, 0x35, 0x05, 0x43, 0xcc, 0x07,
+ 0x95, 0x47, 0x3e, 0x43, 0x17, 0x6b, 0xea, 0x7f, 0x7d, 0xeb,
+ 0xc5, 0x2a, 0x5d, 0x3e, 0x72, 0x10, 0xdb, 0xa4, 0x57, 0x3e,
+ 0x3d, 0x93, 0xff, 0x24, 0x69, 0x38, 0x40, 0x6e, 0x82, 0x6c,
+ 0x0d, 0xd6, 0x43, 0xc4, 0x83, 0x6c, 0x33, 0xf6, 0xf8, 0xbb,
+ 0xef, 0xd2, 0x0c, 0xa2, 0x20, 0x9a, 0x8c, 0x5f, 0x28, 0x64,
+ 0x3c, 0x9a, 0x21, 0x59, 0xf1, 0xd9, 0xa6, 0x2f, 0x89, 0xe6,
+ 0xff, 0xc8, 0xf3, 0x99, 0xb0, 0x04, 0xe8, 0xc8, 0x2f, 0x3c,
+ 0xf6, 0x46, 0x20, 0xc5, 0x36, 0x9c, 0x90, 0x60, 0x33, 0x71,
+ 0xb4, 0x61, 0xee, 0x60, 0x75, 0x6a, 0xdb, 0x6f, 0x8e, 0x4a,
+ 0xb3, 0xd8, 0x4f, 0x32, 0x4c, 0xb7, 0x2c, 0x01, 0x3a, 0x32,
+ 0x7b, 0x0f, 0xdc, 0xf0, 0x08, 0xa0, 0xff, 0x14, 0xed, 0xc4,
+ 0xcd, 0x3e, 0x47, 0xa1, 0x85, 0xc4, 0x69, 0xa0, 0xd5, 0x92,
+ 0x41, 0x5d, 0x7a, 0x50, 0x32, 0x96, 0xb2, 0xf8, 0xdf, 0xc1,
+ 0x51, 0x96, 0x67, 0xc5, 0xd2, 0x0d, 0xc7, 0xb7, 0x67, 0x4f,
+ 0x6a, 0xeb, 0x0c, 0xef, 0x91, 0x22, 0x38, 0xeb, 0x4d, 0x3d,
+ 0xc7, 0x56, 0xd3, 0x64, 0xe2, 0x0b, 0xb5, 0xb9, 0x73, 0x29,
+ 0x09, 0x42, 0xec, 0xb9, 0x43, 0x58, 0xc0, 0xc9, 0x55, 0x8e,
+ 0xae, 0xc7, 0x17, 0x4f, 0xf2, 0xa0, 0x62, 0xe2, 0x53, 0x4f,
+ 0x51, 0xf7, 0xc9, 0xab, 0x1c, 0x73, 0x2b, 0x83, 0xc8, 0x1d,
+ 0x8d, 0x66, 0xfa, 0x82, 0x87, 0x1d, 0x5f, 0x92, 0xce, 0x34,
+ 0x9a, 0x99, 0x13, 0x33, 0xc9, 0xdc, 0xb1, 0xb3, 0x6a, 0x28,
+ 0x5f, 0xdc, 0xe5, 0x5b, 0x93, 0xf9, 0x83, 0xae, 0x96, 0x77,
+ 0x16, 0x8e, 0xce, 0x75, 0xf2, 0x48, 0x8b, 0x8e, 0xeb, 0x3e,
+ 0x94, 0x66, 0x05, 0x44, 0xda, 0xbb, 0xb4, 0x78, 0x4f, 0xfc,
+ 0x99, 0xe8, 0x34, 0x78, 0xf9, 0x91, 0x9d, 0x04, 0x4c, 0xb9,
+ 0x5f, 0xff, 0x6b, 0x2a, 0x30, 0x3a, 0x01, 0x88, 0xe0, 0x2a,
+ 0xf7, 0xf4, 0x9a, 0x9b, 0xca, 0x53, 0x42, 0xe0, 0x33, 0x57,
+ 0x8e, 0x2d, 0x4f, 0x6b, 0x89, 0x57, 0xdd, 0x0c, 0x8f, 0xc0,
+ 0xde, 0x80, 0xc7, 0xa4, 0xec, 0x05, 0xf1, 0xeb, 0xd7, 0x0b,
+ 0x5d, 0x05, 0xd3, 0x69, 0x88, 0x5f, 0x58, 0x6a, 0x8b, 0x68,
+ 0x4e, 0xf3, 0x70, 0x62, 0xbc, 0xab, 0xe2, 0xf3, 0xc1, 0xc6,
+ 0x81, 0x3d, 0x11, 0x97, 0x0e, 0x2c, 0x91, 0xa1, 0x0f, 0xa4,
+ 0x24, 0xcb, 0x36, 0xa1, 0xcf, 0xa3, 0x86, 0xa2, 0x97, 0x7d,
+ 0xb1, 0x56, 0xfe, 0x09, 0xcf, 0x4c, 0x20, 0xae, 0x30, 0x09,
+ 0x95, 0xf5, 0xab, 0x8b, 0x39, 0xf2, 0x34, 0x12, 0x21, 0x5b,
+ 0xb0, 0x8a, 0xb8, 0xce, 0xe4, 0x5b, 0x9b, 0x90, 0xac, 0x14,
+ 0xbf, 0x18, 0x78, 0xde, 0x83, 0xad, 0x31, 0x03, 0xd3, 0x6e,
+ 0x5b, 0xad, 0x89, 0x3f, 0xa5, 0x76, 0xf6, 0xe5, 0xfd, 0x9a,
+ 0x5c, 0xff, 0x4e, 0xc5, 0x4b, 0x0e, 0x8f, 0xff, 0x87, 0x5a,
+ 0xa2, 0xe9, 0x70, 0x0f, 0xe0, 0x85, 0x04, 0x82, 0xf0, 0xd2,
+ 0x05, 0xed, 0xe6, 0x82, 0xad, 0xa2, 0xb7, 0xb2, 0x64, 0xdc,
+ 0x65, 0xc1, 0xdb, 0xd0, 0x8f, 0x14, 0x9d, 0x8d, 0x32, 0xd0,
+ 0xa3, 0xc7, 0xb0, 0x2d, 0xe2, 0x36, 0x29, 0x0d, 0x79, 0x26,
+ 0x0e, 0x9d, 0xf6, 0x2d, 0x8d, 0x26, 0xb1, 0x68, 0xb9, 0x4f,
+ 0xab, 0xcb, 0xac, 0x49, 0xa6, 0x74, 0x71, 0x5b, 0x6e, 0x4d,
+ 0x59, 0x74, 0xbf, 0x0d, 0xbe, 0xd0, 0x2d, 0x21, 0xb2, 0x9f,
+ 0xf6, 0xce, 0xec, 0x2b, 0x2a, 0xb7, 0x3f, 0xce, 0x0c, 0x72,
+ 0x06, 0x2c, 0xf1, 0x89, 0x37, 0xdb, 0x29, 0x9c, 0x93, 0xed,
+ 0xb2, 0xd7, 0xeb, 0x9c, 0x02, 0x17, 0x01, 0xb3, 0x77, 0x63,
+ 0x7b, 0x17, 0x8b, 0x6a, 0x12, 0x64, 0xd9, 0x77, 0x54, 0x6a,
+ 0x10, 0xb8, 0x08, 0xd1, 0x3e, 0x9e, 0xfe, 0x53, 0x54, 0x38,
+ 0x6d, 0xa2, 0x41, 0x17, 0x80, 0x38, 0x1e, 0xdd, 0x0f, 0x4e,
+ 0xb8, 0x74, 0xe3, 0x4c, 0x0c, 0x45, 0xd3, 0xb5, 0x0f, 0xf4,
+ 0xe9, 0x45, 0x34, 0x25, 0x1a, 0x15, 0xac, 0xa7, 0x66, 0x08,
+ 0xd3, 0x17, 0xac, 0x73, 0x97, 0x94, 0x3d, 0x17, 0x3a, 0x40,
+ 0x1d, 0x8a, 0x2a, 0x4d, 0x2a, 0xc4, 0x71, 0xe1, 0x2d, 0xfa,
+ 0xfc, 0x34, 0x82, 0xe1, 0x28, 0xef, 0x14, 0xe8, 0x63, 0xb0,
+ 0xaf, 0x80, 0xae, 0xb3, 0x52, 0x3c, 0x64, 0x54, 0x56, 0xb3,
+ 0x26, 0x8a, 0x13, 0x77, 0xe5, 0x5a, 0x10, 0xfa, 0xc1, 0x1b,
+ 0x92, 0xd4, 0x60, 0x31, 0x50, 0x1b, 0x7c, 0xdc, 0x3e, 0x5e,
+ 0x4b, 0xd5, 0x95, 0xbe, 0x1e, 0x49, 0xed, 0x12, 0xf8, 0x51,
+ 0x84, 0x49, 0x72, 0xb9, 0x39, 0xc1, 0xcd, 0x3f, 0xd9, 0x72,
+ 0xbc, 0xbf, 0x6c, 0x9b, 0x93, 0xf1, 0x3b, 0xbf, 0x60, 0x16,
+ 0x30, 0xa3, 0x84, 0xc2, 0x5c, 0x36, 0x63, 0xed, 0x13, 0x5d,
+ 0x0b, 0x91, 0xef, 0xed, 0x6e, 0x73, 0x37, 0x3c, 0x02, 0x28,
+ 0x41, 0x29, 0x3b, 0x90, 0xad, 0x4a, 0x45, 0x72, 0x86, 0x90,
+ 0x44, 0x8b, 0x22, 0x67, 0x16, 0xfb, 0xc4, 0x6d, 0xe4, 0xc2,
+ 0xd2, 0x8c, 0xdd, 0x12, 0x52, 0xc2, 0x4a, 0xee, 0x25, 0xf8,
+ 0x90, 0x11, 0x88, 0xa1, 0x46, 0x34, 0x53, 0x05, 0xb6, 0xb2,
+ 0xed, 0x34, 0x58, 0x41, 0x2c, 0x9a, 0xd9, 0xec, 0x0d, 0xe5,
+ 0x99, 0x66, 0x2c, 0xc3, 0x2e, 0xd2, 0x39, 0x66, 0x56, 0x24,
+ 0x2b, 0x05, 0x5f, 0x06, 0x35, 0x55, 0x98, 0xa7, 0x10, 0x16,
+ 0xbe, 0x78, 0xe1, 0xa7, 0xec, 0xed, 0x76, 0xc8, 0x46, 0x31,
+ 0xb0, 0x11, 0x47, 0xf5, 0x6f, 0xd0, 0x26, 0x18, 0x35, 0xf5,
+ 0xe2, 0x88, 0x71, 0x57, 0xc0, 0xdb, 0xfc, 0xdd, 0xe5, 0x03,
+ 0xee, 0x59, 0x4d, 0xb8, 0x8a, 0x03, 0xf0, 0x27, 0x78, 0x35,
+ 0x89, 0x26, 0x79, 0x99, 0x3a, 0x51, 0x91, 0x9f, 0xd5, 0xd8,
+ 0x5e, 0x51, 0xfe, 0x42, 0x7f, 0xaa, 0x0f, 0xcc, 0x64, 0x86,
+ 0x62, 0x2c, 0x2f, 0x88, 0x9b, 0x3b, 0x37, 0x2c, 0xd4, 0xba,
+ 0x6a, 0xf1, 0x1b, 0x1f, 0xe1, 0xc2, 0xbd, 0x7e, 0x50, 0x4e,
+ 0x03, 0x5b, 0xe3, 0x7e, 0xda, 0xdf, 0x6d, 0x6e, 0x9d, 0xf5,
+ 0xad, 0x0e, 0x1f, 0x88, 0xd1, 0xc7, 0x68, 0xfb, 0x5c, 0x88,
+ 0xc8, 0x70, 0x64, 0x0c, 0xd4, 0x08, 0x28, 0x4a, 0xc0, 0xda,
+ 0xae, 0x01, 0xf0, 0x9b, 0x88, 0xda, 0xc6, 0x15, 0x63, 0x93,
+ 0x52, 0xe2, 0x97, 0x30, 0xaf, 0x72, 0x6e, 0xe9, 0xf4, 0xfe,
+ 0x8e, 0x72, 0x9c, 0x43, 0x4e, 0xba, 0xfc, 0x6d, 0x12, 0x74,
+ 0x70, 0x20, 0x11, 0x2f, 0x6c, 0x9e, 0x5a, 0x20, 0x92, 0x26,
+ 0x49, 0x25, 0x7a, 0x87, 0x5e, 0xb8, 0xd2, 0xd6, 0x90, 0xa6,
+ 0x07, 0x3e, 0xe5, 0xd6, 0x80, 0x89, 0x40, 0x47, 0x33, 0x7a,
+ 0xdb, 0xfc, 0x0d, 0x84, 0xef, 0x60, 0x9f, 0x5e, 0x31, 0x84,
+ 0x8e, 0xec, 0x47, 0xd8, 0xb5, 0x90, 0xc6, 0xe3, 0x55, 0xf9,
+ 0x51, 0x77, 0xd1, 0xbd, 0x58, 0xf9, 0xa4, 0x14, 0x52, 0x83,
+ 0xa1, 0x43, 0x43, 0xa7, 0x8a, 0xab, 0x2e, 0xb1, 0x49, 0xdd,
+ 0x8c, 0xab, 0xaa, 0x71, 0x55, 0x1c, 0x27, 0xa9, 0x0f, 0x6b,
+ 0x28, 0x5d, 0xaf, 0x38, 0x22, 0x7d, 0x33, 0x5d, 0xb8, 0xde,
+ 0x5c, 0x7e, 0x6e, 0x54, 0x8a, 0x2f, 0xf7, 0x0f, 0xd0, 0xfe,
+ 0xba, 0x1d, 0xe7, 0x0f, 0xb6, 0xbb, 0x5b, 0xe1, 0xe8, 0xbe,
+ 0x7f, 0xc8, 0x2a, 0x1c, 0xd7, 0x51, 0xc1, 0xea, 0x40, 0x1c,
+ 0x0f, 0x8f, 0xe6, 0x27, 0x5c, 0x3a, 0xfa, 0x8c, 0xf5, 0x4e,
+ 0xa8, 0x97, 0x59, 0x8a, 0x94, 0x4e, 0x01, 0xea, 0xe1, 0xb8,
+ 0xda, 0xd0, 0xb6, 0x40, 0x57, 0xb8, 0x29, 0x1e, 0x32, 0x2a,
+ 0x2b, 0xb8, 0x13, 0x45, 0xe8, 0xda, 0x93, 0x2d, 0x33, 0x04,
+ 0x88, 0xea, 0x56, 0xd8, 0xaa, 0x4a, 0xff, 0xea, 0x1d, 0x20,
+ 0xef, 0x45, 0x15, 0xc7, 0x2e, 0x1b, 0xd0, 0x97, 0xe8, 0xcf,
+ 0xe4, 0xa9, 0x96, 0x97, 0x37, 0xd8, 0xfa, 0x1e, 0x01, 0x14,
+ 0xab, 0x5f, 0x0f, 0xc5, 0x97, 0x09, 0x7c, 0xc9, 0x42, 0xc5,
+ 0x39, 0xbd, 0xfd, 0x81, 0x87, 0xfe, 0xe7, 0x93, 0xad, 0x33,
+ 0x16, 0x80, 0x17, 0x69, 0xfd, 0x33, 0x2b, 0x12, 0xf4, 0xe3,
+ 0xce, 0x03, 0x62, 0xd7, 0x72, 0x61, 0x69, 0x46, 0x8f, 0x09,
+ 0x29, 0x61, 0x25, 0x77, 0xf3, 0x7c, 0x48, 0xe9, 0xdd, 0xad,
+ 0x1d, 0xc9, 0xa9, 0xae, 0x8b, 0x6c, 0x2f, 0xc9, 0x7f, 0x21,
+ 0xde, 0x55, 0xe6, 0x66, 0x58, 0xe9, 0xc2, 0x9b, 0xd6, 0x68,
+ 0x13, 0x0c, 0xfb, 0x9b, 0x71, 0x44, 0xd9, 0xca, 0x60, 0x8c,
+ 0x14, 0x25, 0x60, 0x6d, 0x57, 0xe1, 0x78, 0xac, 0x44, 0x6d,
+ 0x63, 0xeb, 0xd0, 0xa8, 0x29, 0x71, 0x91, 0x61, 0xbf, 0x3f,
+ 0x28, 0x27, 0xe0, 0xcc, 0x90, 0x3f, 0x6d, 0x8e, 0xd7, 0x37,
+ 0xaf, 0x9b, 0x8c, 0x7e, 0xe7, 0x42, 0x96, 0x30, 0xae, 0x2f,
+ 0xf9, 0x42, 0x47, 0x76, 0xc2, 0x6c, 0xbb, 0x48, 0x09, 0x3a,
+ 0x38, 0x10, 0xe9, 0xf6, 0x36, 0x4f, 0x2d, 0x10, 0x49, 0x13,
+ 0xc5, 0xf3, 0x3d, 0xa2, 0x45, 0xf6, 0x9a, 0xe6, 0x68, 0x7f,
+ 0x5d, 0xef, 0x92, 0xe6, 0x5b, 0xbc, 0xcc, 0x91, 0x74, 0x5f,
+ 0xc0, 0xb2, 0x45, 0xb4, 0x17, 0xb9, 0xc5, 0x8f, 0x46, 0xb4,
+ 0x55, 0xd9, 0xcb, 0x0e, 0xf2, 0xb5, 0xf8, 0x02, 0x44, 0x75,
+ 0x2b, 0x6c, 0x55, 0x25, 0x9e, 0x75, 0xef, 0x10, 0x96, 0xc3,
+ 0xeb, 0x82, 0x7d, 0x46, 0x9b, 0x27, 0x54, 0xaa, 0xcd, 0x45,
+ 0x4a, 0x27, 0xe1, 0x75, 0x91, 0x5c, 0x6d, 0x68, 0x31, 0x8a,
+ 0x39, 0xd1, 0xd5, 0x23, 0xa6, 0xe5, 0xf5, 0xd1, 0xf3, 0xda,
+ 0x98, 0x3e, 0x24, 0x95, 0xb4, 0xce, 0xe6, 0x83, 0xaa, 0xe5,
+ 0x3e, 0x85, 0x21, 0x83, 0xfd, 0xbf, 0x9f, 0xa1, 0xa2, 0x7f,
+ 0xa9, 0xd1, 0xbe, 0xfe, 0x14, 0xf2, 0x70, 0x66, 0x48, 0xfe,
+ 0xd7, 0x47, 0x8a, 0xfa, 0xb6, 0xac, 0x2c, 0x95, 0x61, 0xac,
+ 0x6b, 0x34, 0xe8, 0x06, 0x9c, 0xac, 0xd9, 0x22, 0x8d, 0x65,
+ 0x30, 0x46, 0x60, 0x59, 0xc3, 0x5a, 0xea, 0xbd, 0x83, 0xa6,
+ 0x23, 0x5a, 0xcb, 0x8d, 0x84, 0x07, 0x79, 0xbb, 0xe5, 0x1d,
+ 0x1c, 0x08, 0x95, 0x7b, 0x1b, 0xc6, 0xf7, 0x08, 0xc5, 0xe8,
+ 0x83, 0x98, 0xff, 0x51, 0x5a, 0x67, 0x73, 0xa0, 0x55, 0x93,
+ 0x1f, 0xa3, 0xf1, 0xa0, 0x9f, 0xbe, 0xae, 0xb1, 0x51, 0xde,
+ 0xdf, 0x23, 0xac, 0xf2, 0x2a, 0x55, 0x87, 0xc3, 0x25, 0xf2,
+ 0x91, 0xdb, 0xa9, 0x2e, 0xd7, 0x34, 0x93, 0xef, 0x0e, 0x04,
+ 0xab, 0xdc, 0xec, 0x63, 0x9a, 0x04, 0x83, 0x74, 0xa0, 0x4c,
+ 0x9e, 0xc9, 0x16, 0xab, 0xd1, 0x56, 0xd4, 0x1a, 0x74, 0x03,
+ 0x4e, 0x56, 0x8d, 0x11, 0xa7, 0xd3, 0x18, 0x23, 0x0b, 0xb4,
+ 0x89, 0x2b, 0x6a, 0x0d, 0x3a, 0xe0, 0x27, 0x2b, 0xa7, 0xe9,
+ 0xb2, 0x88, 0x0c, 0xf0, 0x8e, 0xf0, 0x56, 0x79, 0x15, 0xcb,
+ 0xa2, 0x80, 0xf3, 0x79, 0xa9, 0x8c, 0xb5, 0x17, 0x8a, 0x1a,
+ 0xc2, 0x3c, 0xf4, 0x8f, 0x94, 0x42, 0xc9, 0x20, 0x4c, 0x8f,
+ 0xbb, 0x23, 0xbc, 0x75, 0xc3, 0xe7, 0x47, 0x78, 0x2b, 0xdd,
+ 0xeb, 0x84, 0x51, 0x40, 0x98, 0xdd, 0xb5, 0x46, 0xbb, 0xea,
+ 0x45, 0x0d, 0xeb, 0x31, 0x8d, 0xa9, 0x9a, 0xdf, 0x3f, 0x0d,
+ 0xc1, 0xa9, 0x0a, 0x4b, 0x05, 0x3a, 0x68, 0x2c, 0x6e, 0x75,
+ 0x52, 0xfb, 0xe5, 0x19, 0xa7, 0x6d, 0x15, 0xfb, 0x04, 0x2e,
+ 0x02, 0xa5, 0xee, 0xc6, 0x22, 0xb9, 0xf0, 0x0d, 0x64, 0x90,
+ 0xcc, 0xcd, 0xaa, 0x0d, 0x16, 0x81, 0x0b, 0xc7, 0xa7, 0x3b,
+ 0xa7, 0xfd, 0x2f, 0x5f, 0x1b, 0x56, 0x54, 0xad, 0x7e, 0x5f,
+ 0x18, 0xe4, 0x0c, 0x58, 0x21, 0xd1, 0xba, 0xe2, 0x77, 0x22,
+ 0xa5, 0x41, 0x1a, 0x4e, 0x17, 0x22, 0x32, 0x1c, 0x19, 0x03,
+ 0x35, 0x02, 0x3f, 0xa6, 0xa8, 0x70, 0xda, 0x87, 0x82, 0x2e,
+ 0xc3, 0x70, 0x3c, 0x79, 0x1e, 0x9c, 0xb3, 0xe8, 0x73, 0x6a,
+ 0x0a, 0x86, 0x5b, 0x0e, 0xe9, 0x8e, 0x7c, 0x86, 0x2e, 0xd6,
+ 0x17, 0xfe, 0xfa, 0x15, 0xf6, 0x2e, 0xd5, 0xd4, 0x24, 0xc8,
+ 0x71, 0xee, 0xa8, 0xd4, 0x20, 0xb3, 0x10, 0x61, 0x7c, 0xff,
+ 0x49, 0x54, 0xba, 0x7c, 0xe4, 0x20, 0x75, 0x8b, 0xae, 0x7c,
+ 0x7a, 0xe5, 0x3d, 0x48, 0xd2, 0x70, 0xcc, 0x10, 0x65, 0x2e,
+ 0x9b, 0xe6, 0xed, 0xeb, 0x7a, 0x2e, 0x74, 0x80, 0x3a, 0xd7,
+ 0x54, 0x9a, 0x80, 0xdc, 0xc7, 0xd8, 0x1a, 0x6f, 0x86, 0x4b,
+ 0xc5, 0xd8, 0x66, 0x2f, 0x33, 0xb5, 0x1d, 0x67, 0x05, 0x98,
+ 0x18, 0x8a, 0x65, 0xa9, 0x1e, 0x2b, 0x11, 0x8a, 0x68, 0x4a,
+ 0x34, 0x2a, 0x9b, 0x8d, 0x18, 0x87, 0x40, 0xf7, 0xdb, 0xbe,
+ 0x50, 0xc8, 0x78, 0xf7, 0x42, 0xb2, 0x21, 0x71, 0x8f, 0x5e,
+ 0x9d, 0xc3, 0x9f, 0xa5, 0xa4, 0x78, 0xc8, 0xa8, 0xac, 0xa5,
+ 0x4c, 0xd7, 0x26, 0xee, 0x09, 0xb4, 0xd1, 0x0f, 0x3d, 0x53,
+ 0x25, 0xf1, 0xa3, 0x08, 0x13, 0x53, 0x5e, 0x78, 0x2f, 0x8c,
+ 0x40, 0x49, 0x54, 0x4b, 0xe2, 0x01, 0x5a, 0x37, 0x3b, 0x68,
+ 0xc7, 0x01, 0x50, 0x1d, 0x28, 0x13, 0xc6, 0xa3, 0x6c, 0xfb,
+ 0xe3, 0xc0, 0x66, 0xe2, 0xab, 0xc2, 0x1f, 0xc0, 0xea, 0xd4,
+ 0x75, 0xde, 0xdf, 0x94, 0xe9, 0xbf, 0x3c, 0x92, 0x19, 0x24,
+ 0x33, 0xa2, 0xcb, 0x92, 0xe4, 0xb1, 0x72, 0x41, 0x59, 0x7e,
+ 0xa5, 0x73, 0x9e, 0x64, 0x98, 0xad, 0x58, 0x02, 0x74, 0x64,
+ 0xf6, 0x1e, 0x7b, 0x23, 0x10, 0x83, 0x20, 0x37, 0x41, 0x36,
+ 0xe7, 0x6b, 0xc0, 0x62, 0xa0, 0x36, 0xf8, 0x7b, 0x7c, 0xbc,
+ 0x96, 0x69, 0x3d, 0x28, 0x19, 0x4b, 0x59, 0x7c, 0x8e, 0x81,
+ 0xc9, 0x4b, 0xd2, 0x83, 0x69, 0xe7, 0x82, 0xba, 0xb8, 0x6c,
+ 0xc6, 0x19, 0x26, 0xba, 0x16, 0xe1, 0x1d, 0x19, 0xdc, 0xe6,
+ 0x6e, 0x78, 0x04, 0x50, 0xf4, 0xa0, 0x64, 0xef, 0xa7, 0x33,
+ 0x7d, 0x41, 0xa2, 0xef, 0xce, 0x49, 0x67, 0x1a, 0x4d, 0xad,
+ 0x71, 0xe4, 0xbb, 0xbd, 0xd8, 0xf5, 0xe5, 0x21, 0x76, 0xbd,
+ 0xc0, 0x2c, 0x60, 0x85, 0xcb, 0x47, 0xce, 0x9e, 0xd4, 0x15,
+ 0x18, 0x1d, 0xe1, 0x44, 0x70, 0x15, 0x9a, 0x7a, 0x4d, 0xac,
+ 0x65, 0xc8, 0x4b, 0xda, 0x0b, 0x47, 0x67, 0xdb, 0x79, 0x24,
+ 0xa4, 0x47, 0x94, 0x1f, 0x4a, 0x33, 0xe3, 0x22, 0x07, 0x16,
+ 0xa9, 0xb1, 0xe6, 0x52, 0x12, 0x84, 0x1b, 0xb1, 0x86, 0xb0,
+ 0x43, 0x51, 0xaa, 0xdf, 0x82, 0x52, 0x76, 0xe3, 0x99, 0x94,
+ 0x8a, 0xe4, 0xcf, 0xe3, 0x88, 0xd5, 0x44, 0xce, 0x2c, 0x35,
+ 0x9f, 0x4d, 0x2e, 0x9e, 0x27, 0x83, 0xc4, 0x07, 0xa6, 0x9e,
+ 0xa2, 0x2d, 0x51, 0x95, 0x38, 0xe6, 0x1a, 0x09, 0xf1, 0xcc,
+ 0x58, 0x45, 0x5c, 0x67, 0x72, 0xcc, 0xac, 0x48, 0x56, 0x0a,
+ 0xbe, 0x0c, 0x56, 0xc5, 0x53, 0x3a, 0xd9, 0xcc, 0x37, 0xc7,
+ 0xcd, 0x3a, 0xbe, 0xe7, 0x5f, 0x68, 0xf7, 0xf1, 0xd3, 0x81,
+ 0x8c, 0x68, 0xa6, 0x0a, 0xaf, 0xa7, 0x19, 0x68, 0xb0, 0x82,
+ 0x58, 0xf7, 0x71, 0x1b, 0x26, 0x66, 0x51, 0x7b, 0xa1, 0xa5,
+ 0xd4, 0x50, 0xbe, 0x7b, 0x09, 0xb6, 0xe5, 0x31, 0xc5, 0x9f,
+ 0xa3, 0x22, 0x8e, 0x29, 0xde, 0x63, 0x4c, 0x30, 0x6a, 0x29,
+ 0x07, 0xd3, 0xe2, 0xae, 0x43, 0x75, 0xef, 0xee, 0x2c, 0xdf,
+ 0x5f, 0xea, 0x27, 0x90, 0xd5, 0xdf, 0x15, 0x7c, 0xeb, 0xcc,
+ 0x0a, 0x88, 0x6a, 0xaa, 0xf3, 0x8d, 0x20, 0x2c, 0xbf, 0xf0,
+ 0x01, 0x8d, 0x1b, 0x19, 0xec, 0x53, 0x8c, 0x62, 0x77, 0xb5,
+ 0xab, 0xf0, 0x9e, 0x3b, 0xf1, 0x13, 0x68, 0xf0, 0x31, 0xe1,
+ 0xf9, 0x08, 0x98, 0xb1, 0xf2, 0xf1, 0x74, 0xa2, 0xe1, 0xfd,
+ 0x69, 0x73, 0xbc, 0xa2, 0x3f, 0x84, 0xfe, 0x97, 0x1e, 0x5b,
+ 0xbe, 0x3d, 0xd6, 0x54, 0x60, 0x74, 0x02, 0xd3, 0x03, 0x54,
+ 0x2d, 0x2b, 0xf7, 0xf5, 0x57, 0xa6, 0x3b, 0x79, 0x09, 0x06,
+ 0x1f, 0xb2, 0x9a, 0xb3, 0xd7, 0x06, 0x23, 0x4e, 0xf0, 0x6a,
+ 0xd1, 0x4c, 0x84, 0x03, 0x66, 0xae, 0xdf, 0x5a, 0x9e, 0xd6,
+ 0xd1, 0xae, 0x79, 0x18, 0xdd, 0x43, 0x7f, 0xc3, 0x01, 0x47,
+ 0xb9, 0xfc, 0xa0, 0x9c, 0x06, 0xb6, 0x05, 0xfc, 0x77, 0x7d,
+ 0xda, 0xdc, 0xf9, 0x29, 0x4d, 0x8b, 0x1b, 0x0a, 0x21, 0x15,
+ 0x6d, 0x16, 0xba, 0x0a, 0x65, 0xd2, 0xd3, 0xbe, 0xb0, 0xd4,
+ 0xc8, 0xcf, 0xc4, 0x58, 0x5e, 0xd3, 0xf5, 0x76, 0x6e, 0x58,
+ 0x6b, 0xb7, 0xd4, 0x21, 0x36, 0x3e, 0xd5, 0xd0, 0x9c, 0x25,
+ 0xe0, 0xc4, 0xbb, 0x95, 0x07, 0x25, 0x41, 0x4f, 0xc1, 0x7a,
+ 0x22, 0xed, 0x50, 0x94, 0x43, 0x77, 0x9f, 0x02, 0x23, 0xf5,
+ 0xd3, 0x77, 0x4f, 0x2a, 0xc6, 0xe5, 0xa4, 0x07, 0x1c, 0x58,
+ 0xe1, 0x81, 0x1e, 0x8b, 0x48, 0x55, 0x6c, 0x81, 0x5d, 0x85,
+ 0xcf, 0x87, 0xed, 0xfa, 0x99, 0x1c, 0x3e, 0xd3, 0x61, 0x4d,
+ 0xd0, 0x35, 0xb8, 0xd3, 0x53, 0xe0, 0xc8, 0x18, 0x6b, 0x10,
+ 0xa1, 0xac, 0x3f, 0x12, 0x5d, 0x98, 0x40, 0x9f, 0x60, 0x12,
+ 0xe9, 0x29, 0x95, 0xd5, 0x72, 0x27, 0x24, 0xe8, 0xe0, 0x40,
+ 0x22, 0x5e, 0xd8, 0xff, 0xb4, 0x40, 0xe7, 0x4c, 0x92, 0x4a,
+ 0xf4, 0xcd, 0x68, 0x24, 0x42, 0xb6, 0xa3, 0xd7, 0xb3, 0x5f,
+ 0x0b, 0xb6, 0xf5, 0xe3, 0x9b, 0x28, 0xbd, 0x30, 0xed, 0x60,
+ 0x9d, 0xe4, 0xdc, 0x11, 0x2b, 0x3f, 0xdf, 0xe4, 0xfb, 0x86,
+ 0x9c, 0xb7, 0x3b, 0xda, 0xf0, 0x7f, 0xc5, 0x99, 0x62, 0x06,
+ 0x65, 0xdc, 0xb6, 0x99, 0xd1, 0x7e, 0x89, 0xec, 0x2f, 0x09,
+ 0x75, 0x3b, 0x1a, 0xcb, 0x1d, 0xc0, 0xfd, 0xbc, 0x62, 0xcb,
+ 0xdf, 0x1b, 0x8e, 0x73, 0xa9, 0xe3, 0x39, 0xf7, 0xb8, 0x3d,
+ 0x9c, 0x49, 0x96, 0x1c, 0xdd, 0x3d, 0xcd, 0xb4, 0x87, 0x11,
+ 0xe0, 0x1e, 0xbc, 0xb3, 0x67, 0x6f, 0xe3, 0x8f, 0x0e, 0x7c,
+ 0x09, 0x6f, 0xc3, 0xd1, 0x80, 0x8e, 0x66, 0xf4, 0x03, 0xc9,
+ 0x08, 0xc7, 0x23, 0x67, 0x0a, 0x19, 0x0f, 0xc7, 0x99, 0x87,
+ 0xad, 0xa7, 0xc8, 0x7b, 0x86, 0x8d, 0xd7, 0x95, 0x5c, 0xa1,
+ 0x92, 0x79, 0xdb, 0x95, 0x97, 0xe2, 0xaa, 0x38, 0x4e, 0x91,
+ 0xca, 0x41, 0x75, 0x63, 0xdd, 0x28, 0xf9, 0xd9, 0x64, 0x63,
+ 0x85, 0x4d, 0xa3, 0x5a, 0x07, 0x6c, 0x4f, 0x05, 0xaa, 0x31,
+ 0xa2, 0xee, 0x61, 0xb9, 0xb0, 0x31, 0x8b, 0x28, 0xa4, 0xc5,
+ 0x81, 0x86, 0x52, 0x1a, 0xf2, 0x4c, 0x1c, 0xf9, 0x2f, 0x5a,
+ 0xd9, 0x4c, 0xa1, 0xd0, 0xb1, 0x9e, 0x95, 0x55, 0xd7, 0x5e,
+ 0x2d, 0x1e, 0x63, 0x3f, 0xb7, 0x3a, 0x0d, 0x1e, 0xaf, 0xb5,
+ 0xb6, 0x01, 0x13, 0xbf, 0x9b, 0x92, 0x8f, 0xe8, 0xe2, 0xb6,
+ 0xdc, 0x9a, 0xb2, 0xe8, 0xbd, 0x1a, 0xbf, 0x63, 0x5a, 0x42,
+ 0x1e, 0xd6, 0x50, 0xba, 0x9d, 0x70, 0x44, 0xfa, 0x66, 0xba,
+ 0xb3, 0x7f, 0xb8, 0xfc, 0xdc, 0xa8,
+ },
+ {
+ /* 4 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xd1, 0xd3, 0x91,
+ 0x91, 0xfe, 0xf3, 0x01, 0xb1, 0x78, 0x58, 0x01, 0x49, 0x6b,
+ 0x2d, 0xa9, 0x20, 0x61, 0x65, 0xe1, 0xe1, 0x3f, 0x25, 0x02,
+ 0xa1, 0xf0, 0xb0, 0x02, 0x92, 0xd6, 0x5a, 0x91, 0x30, 0xb0,
+ 0xb6, 0x70, 0x70, 0xc1, 0xd6, 0x03, 0x10, 0x88, 0xe8, 0x03,
+ 0xdb, 0xbd, 0x77, 0x38, 0x40, 0xc2, 0xca, 0x01, 0x01, 0x7e,
+ 0x4a, 0x04, 0x81, 0x23, 0xa3, 0x04, 0xe7, 0x6f, 0xb4, 0xe1,
+ 0x50, 0x13, 0x19, 0x90, 0x90, 0x80, 0xb9, 0x05, 0x30, 0x5b,
+ 0xfb, 0x05, 0xae, 0x04, 0x99, 0x48, 0x60, 0xa3, 0xaf, 0xe0,
+ 0xe0, 0x41, 0x6f, 0x06, 0x20, 0xd3, 0x13, 0x06, 0x75, 0xb9,
+ 0xee, 0x70, 0x70, 0x72, 0x7c, 0x71, 0x71, 0xbf, 0x9c, 0x07,
+ 0x91, 0xab, 0x4b, 0x07, 0x3c, 0xd2, 0xc3, 0xd9, 0x80, 0x47,
+ 0x57, 0x02, 0x02, 0xfc, 0x94, 0x08, 0xc1, 0x46, 0x85, 0x08,
+ 0x0d, 0xde, 0xab, 0x01, 0x90, 0x96, 0x84, 0x93, 0x93, 0x02,
+ 0x67, 0x09, 0x70, 0x3e, 0xdd, 0x09, 0x44, 0xb5, 0x86, 0xa8,
+ 0xa0, 0x26, 0x32, 0xe3, 0xe3, 0xc3, 0xb1, 0x0a, 0x60, 0xb6,
+ 0x35, 0x0a, 0x9f, 0x08, 0xf1, 0x90, 0xb0, 0xf7, 0xe1, 0x72,
+ 0x72, 0x3d, 0x42, 0x0b, 0xd1, 0xce, 0x6d, 0x0b, 0xd6, 0x63,
+ 0xdc, 0x39, 0xc0, 0x85, 0x9d, 0x03, 0x03, 0x82, 0xde, 0x0c,
+ 0x40, 0x65, 0x26, 0x0c, 0xea, 0xb1, 0x1f, 0xe0, 0xd0, 0x54,
+ 0x4e, 0x92, 0x92, 0x7c, 0x2d, 0x0d, 0xf1, 0x1d, 0x7e, 0x0d,
+ 0xa3, 0xda, 0x32, 0x49, 0xe0, 0xe4, 0xf8, 0xe2, 0xe2, 0xbd,
+ 0xfb, 0x0e, 0xe1, 0x95, 0x96, 0x0e, 0x78, 0x67, 0x45, 0x71,
+ 0xf0, 0x35, 0x2b, 0x73, 0x73, 0x43, 0x08, 0x0f, 0x50, 0xed,
+ 0xce, 0x0f, 0x31, 0x0c, 0x68, 0xd8, 0xc3, 0x8e, 0xae, 0x04,
+ 0x04, 0x3b, 0xeb, 0x10, 0x41, 0x8c, 0xc9, 0x10, 0x1a, 0x7f,
+ 0x95, 0x02, 0xd3, 0x5f, 0x7d, 0x95, 0x95, 0xc5, 0x18, 0x11,
+ 0xf0, 0xf4, 0x91, 0x11, 0x53, 0x14, 0xb8, 0xab, 0xe3, 0xef,
+ 0xcb, 0xe5, 0xe5, 0x04, 0xce, 0x12, 0xe0, 0x7c, 0x79, 0x12,
+ 0x88, 0xa9, 0xcf, 0x93, 0xf3, 0x3e, 0x18, 0x74, 0x74, 0xfa,
+ 0x3d, 0x13, 0x51, 0x04, 0x21, 0x13, 0xc1, 0xc2, 0xe2, 0x3a,
+ 0x83, 0x4c, 0x64, 0x05, 0x05, 0x45, 0xa1, 0x14, 0xc0, 0xaf,
+ 0x6a, 0x14, 0xfd, 0x10, 0x21, 0xe3, 0x93, 0x9d, 0xb7, 0x94,
+ 0x94, 0xbb, 0x52, 0x15, 0x71, 0xd7, 0x32, 0x15, 0xb4, 0x7b,
+ 0x0c, 0x4a, 0xa3, 0x2d, 0x01, 0xe4, 0xe4, 0x7a, 0x84, 0x16,
+ 0x61, 0x5f, 0xda, 0x16, 0x6f, 0xc6, 0x7b, 0x72, 0xb3, 0xfc,
+ 0xd2, 0x75, 0x75, 0x84, 0x77, 0x17, 0xd0, 0x27, 0x82, 0x17,
+ 0x26, 0xad, 0x56, 0xdb, 0x43, 0xc9, 0xf9, 0x06, 0x06, 0xc7,
+ 0x7f, 0x18, 0x80, 0xca, 0x4c, 0x18, 0x17, 0xa1, 0x3e, 0x03,
+ 0x53, 0x18, 0x2a, 0x97, 0x97, 0x39, 0x8c, 0x19, 0x31, 0xb2,
+ 0x14, 0x19, 0x5e, 0xca, 0x13, 0xaa, 0x63, 0xa8, 0x9c, 0xe7,
+ 0xe7, 0xf8, 0x5a, 0x1a, 0x21, 0x3a, 0xfc, 0x1a, 0x85, 0x77,
+ 0x64, 0x92, 0x73, 0x79, 0x4f, 0x76, 0x76, 0x06, 0xa9, 0x1b,
+ 0x90, 0x42, 0xa4, 0x1b, 0xcc, 0x1c, 0x49, 0x3b, 0x03, 0x0b,
+ 0x33, 0x07, 0x07, 0xb9, 0x35, 0x1c, 0x01, 0xe9, 0xef, 0x1c,
+ 0xf0, 0xce, 0x8a, 0xe2, 0x13, 0xda, 0xe0, 0x96, 0x96, 0x47,
+ 0xc6, 0x1d, 0xb0, 0x91, 0xb7, 0x1d, 0xb9, 0xa5, 0xa7, 0x4b,
+ 0x23, 0x6a, 0x56, 0xe6, 0xe6, 0x86, 0x10, 0x1e, 0xa0, 0x19,
+ 0x5f, 0x1e, 0x62, 0x18, 0xd0, 0x73, 0x33, 0xbb, 0x85, 0x77,
+ 0x77, 0x78, 0xe3, 0x1f, 0x11, 0x61, 0x07, 0x1f, 0x2b, 0x73,
+ 0xfd, 0xda, 0x45, 0xdf, 0x9f, 0x08, 0x08, 0x76, 0x15, 0x20,
+ 0x82, 0xdb, 0x51, 0x20, 0x34, 0xfe, 0xe9, 0x04, 0x55, 0x0e,
+ 0x4c, 0x99, 0x99, 0x88, 0xe6, 0x21, 0x33, 0xa3, 0x09, 0x21,
+ 0x7d, 0x95, 0xc4, 0xad, 0x65, 0xbe, 0xfa, 0xe9, 0xe9, 0x49,
+ 0x30, 0x22, 0x23, 0x2b, 0xe1, 0x22, 0xa6, 0x28, 0xb3, 0x95,
+ 0x75, 0x6f, 0x29, 0x78, 0x78, 0xb7, 0xc3, 0x23, 0x92, 0x53,
+ 0xb9, 0x23, 0xef, 0x43, 0x9e, 0x3c, 0x05, 0x1d, 0x55, 0x09,
+ 0x09, 0x08, 0x5f, 0x24, 0x03, 0xf8, 0xf2, 0x24, 0xd3, 0x91,
+ 0x5d, 0xe5, 0x15, 0xcc, 0x86, 0x98, 0x98, 0xf6, 0xac, 0x25,
+ 0xb2, 0x80, 0xaa, 0x25, 0x9a, 0xfa, 0x70, 0x4c, 0x25, 0x7c,
+ 0x30, 0xe8, 0xe8, 0x37, 0x7a, 0x26, 0xa2, 0x08, 0x42, 0x26,
+ 0x41, 0x47, 0x07, 0x74, 0x35, 0xad, 0xe3, 0x79, 0x79, 0xc9,
+ 0x89, 0x27, 0x13, 0x70, 0x1a, 0x27, 0x08, 0x2c, 0x2a, 0xdd,
+ 0xc5, 0x98, 0xc8, 0x0a, 0x0a, 0x8a, 0x81, 0x28, 0x43, 0x9d,
+ 0xd4, 0x28, 0x39, 0x20, 0x42, 0x05, 0xd5, 0x49, 0x1b, 0x9b,
+ 0x9b, 0x74, 0x72, 0x29, 0xf2, 0xe5, 0x8c, 0x29, 0x70, 0x4b,
+ 0x6f, 0xac, 0xe5, 0xf9, 0xad, 0xeb, 0xeb, 0xb5, 0xa4, 0x2a,
+ 0xe2, 0x6d, 0x64, 0x2a, 0xab, 0xf6, 0x18, 0x94, 0xf5, 0x28,
+ 0x7e, 0x7a, 0x7a, 0x4b, 0x57, 0x2b, 0x53, 0x15, 0x3c, 0x2b,
+ 0xe2, 0x9d, 0x35, 0x3d, 0x85, 0x5a, 0x02, 0x0b, 0x0b, 0xf4,
+ 0xcb, 0x2c, 0xc2, 0xbe, 0x77, 0x2c, 0xde, 0x4f, 0xf6, 0xe4,
+ 0x95, 0x8b, 0xd1, 0x9a, 0x9a, 0x0a, 0x38, 0x2d, 0x73, 0xc6,
+ 0x2f, 0x2d, 0x97, 0x24, 0xdb, 0x4d, 0xa5, 0x3b, 0x67, 0xea,
+ 0xea, 0xcb, 0xee, 0x2e, 0x63, 0x4e, 0xc7, 0x2e, 0x4c, 0x99,
+ 0xac, 0x75, 0xb5, 0xea, 0xb4, 0x7b, 0x7b, 0x35, 0x1d, 0x2f,
+ 0xd2, 0x36, 0x9f, 0x2f, 0x05, 0xf2, 0x81, 0xdc, 0x86, 0x51,
+ 0x31, 0x0c, 0x0c, 0x4d, 0xfe, 0x30, 0xc3, 0x57, 0x98, 0x30,
+ 0x2e, 0x81, 0x7c, 0x06, 0x96, 0x80, 0xe2, 0x9d, 0x9d, 0xb3,
+ 0x0d, 0x31, 0x72, 0x2f, 0xc0, 0x31, 0x67, 0xea, 0x51, 0xaf,
+ 0xa6, 0x30, 0x54, 0xed, 0xed, 0x72, 0xdb, 0x32, 0x62, 0xa7,
+ 0x28, 0x32, 0xbc, 0x57, 0x26, 0x97, 0xb6, 0xe1, 0x87, 0x7c,
+ 0x7c, 0x8c, 0x28, 0x33, 0xd3, 0xdf, 0x70, 0x33, 0xf5, 0x3c,
+ 0x0b, 0x3e, 0xc6, 0x93, 0xfb, 0x0d, 0x0d, 0x33, 0xb4, 0x34,
+ 0x42, 0x74, 0x3b, 0x34, 0xc9, 0xee, 0xc8, 0xe7, 0xd6, 0x42,
+ 0x28, 0x9c, 0x9c, 0xcd, 0x47, 0x35, 0xf3, 0x0c, 0x63, 0x35,
+ 0x80, 0x85, 0xe5, 0x4e, 0xe6, 0xf2, 0x9e, 0xec, 0xec, 0x0c,
+ 0x91, 0x36, 0xe3, 0x84, 0x8b, 0x36, 0x5b, 0x38, 0x92, 0x76,
+ 0xf6, 0x23, 0x4d, 0x7d, 0x7d, 0xf2, 0x62, 0x37, 0x52, 0xfc,
+ 0xd3, 0x37, 0x12, 0x53, 0xbf, 0xdf, 0x06, 0x16, 0x66, 0x0e,
+ 0x0e, 0xb1, 0x6a, 0x38, 0x02, 0x11, 0x1d, 0x38, 0x23, 0x5f,
+ 0xd7, 0x07, 0x16, 0xc7, 0xb5, 0x9f, 0x9f, 0x4f, 0x99, 0x39,
+ 0xb3, 0x69, 0x45, 0x39, 0x6a, 0x34, 0xfa, 0xae, 0x26, 0x77,
+ 0x03, 0xef, 0xef, 0x8e, 0x4f, 0x3a, 0xa3, 0xe1, 0xad, 0x3a,
+ 0xb1, 0x89, 0x8d, 0x96, 0x36, 0xa6, 0xd0, 0x7e, 0x7e, 0x70,
+ 0xbc, 0x3b, 0x12, 0x99, 0xf5, 0x3b, 0xf8, 0xe2, 0xa0, 0x3f,
+ 0x46, 0xd4, 0xac, 0x0f, 0x0f, 0xcf, 0x20, 0x3c, 0x83, 0x32,
+ 0xbe, 0x3c, 0xc4, 0x30, 0x63, 0xe6, 0x56, 0x05, 0x7f, 0x9e,
+ 0x9e, 0x31, 0xd3, 0x3d, 0x32, 0x4a, 0xe6, 0x3d, 0x8d, 0x5b,
+ 0x4e, 0x4f, 0x66, 0xb5, 0xc9, 0xee, 0xee, 0xf0, 0x05, 0x3e,
+ 0x22, 0xc2, 0x0e, 0x3e, 0x56, 0xe6, 0x39, 0x77, 0x76, 0x64,
+ 0x1a, 0x7f, 0x7f, 0x0e, 0xf6, 0x3f, 0x93, 0xba, 0x56, 0x3f,
+ 0x1f, 0x8d, 0x14, 0xde, 0x8a, 0x7d, 0xfd, 0x10, 0x10, 0xec,
+ 0x2a, 0x40, 0xc7, 0x75, 0xa2, 0x40, 0x68, 0x3f, 0x11, 0x08,
+ 0x9a, 0xac, 0x2e, 0x81, 0x81, 0x12, 0xd9, 0x41, 0x76, 0x0d,
+ 0xfa, 0x41, 0x21, 0x54, 0x3c, 0xa1, 0xaa, 0x1c, 0x98, 0xf1,
+ 0xf1, 0xd3, 0x0f, 0x42, 0x66, 0x85, 0x12, 0x42, 0xfa, 0xe9,
+ 0x4b, 0x99, 0xba, 0xcd, 0x4b, 0x60, 0x60, 0x2d, 0xfc, 0x43,
+ 0xd7, 0xfd, 0x4a, 0x43, 0xb3, 0x82, 0x66, 0x30, 0xca, 0xbf,
+ 0x37, 0x11, 0x11, 0x92, 0x60, 0x44, 0x46, 0x56, 0x01, 0x44,
+ 0x8f, 0x50, 0xa5, 0xe9, 0xda, 0x6e, 0xe4, 0x80, 0x80, 0x6c,
+ 0x93, 0x45, 0xf7, 0x2e, 0x59, 0x45, 0xc6, 0x3b, 0x88, 0x40,
+ 0xea, 0xde, 0x52, 0xf0, 0xf0, 0xad, 0x45, 0x46, 0xe7, 0xa6,
+ 0xb1, 0x46, 0x1d, 0x86, 0xff, 0x78, 0xfa, 0x0f, 0x81, 0x61,
+ 0x61, 0x53, 0xb6, 0x47, 0x56, 0xde, 0xe9, 0x47, 0x54, 0xed,
+ 0xd2, 0xd1, 0x0a, 0x3a, 0xaa, 0x12, 0x12, 0x10, 0xbe, 0x48,
+ 0x06, 0x33, 0x27, 0x48, 0x65, 0xe1, 0xba, 0x09, 0x1a, 0xeb,
+ 0x79, 0x83, 0x83, 0xee, 0x4d, 0x49, 0xb7, 0x4b, 0x7f, 0x49,
+ 0x2c, 0x8a, 0x97, 0xa0, 0x2a, 0x5b, 0xcf, 0xf3, 0xf3, 0x2f,
+ 0x9b, 0x4a, 0xa7, 0xc3, 0x97, 0x4a, 0xf7, 0x37, 0xe0, 0x98,
+ 0x3a, 0x8a, 0x1c, 0x62, 0x62, 0xd1, 0x68, 0x4b, 0x16, 0xbb,
+ 0xcf, 0x4b, 0xbe, 0x5c, 0xcd, 0x31, 0x4a, 0xf8, 0x60, 0x13,
+ 0x13, 0x6e, 0xf4, 0x4c, 0x87, 0x10, 0x84, 0x4c, 0x82, 0x8e,
+ 0x0e, 0xe8, 0x5a, 0x29, 0xb3, 0x82, 0x82, 0x90, 0x07, 0x4d,
+ 0x36, 0x68, 0xdc, 0x4d, 0xcb, 0xe5, 0x23, 0x41, 0x6a, 0x99,
+ 0x05, 0xf2, 0xf2, 0x51, 0xd1, 0x4e, 0x26, 0xe0, 0x34, 0x4e,
+ 0x10, 0x58, 0x54, 0x79, 0x7a, 0x48, 0xd6, 0x63, 0x63, 0xaf,
+ 0x22, 0x4f, 0x97, 0x98, 0x6c, 0x4f, 0x59, 0x33, 0x79, 0xd0,
+ 0x49, 0xf3, 0x53, 0x14, 0x14, 0xd7, 0xc1, 0x50, 0x86, 0xf9,
+ 0x6b, 0x50, 0x72, 0x40, 0x84, 0x0a, 0x59, 0x22, 0x80, 0x85,
+ 0x85, 0x29, 0x32, 0x51, 0x37, 0x81, 0x33, 0x51, 0x3b, 0x2b,
+ 0xa9, 0xa3, 0x69, 0x92, 0x36, 0xf5, 0xf5, 0xe8, 0xe4, 0x52,
+ 0x27, 0x09, 0xdb, 0x52, 0xe0, 0x96, 0xde, 0x9b, 0x79, 0x43,
+ 0xe5, 0x64, 0x64, 0x16, 0x17, 0x53, 0x96, 0x71, 0x83, 0x53,
+ 0xa9, 0xfd, 0xf3, 0x32, 0x09, 0x31, 0x99, 0x15, 0x15, 0xa9,
+ 0x8b, 0x54, 0x07, 0xda, 0xc8, 0x54, 0x95, 0x2f, 0x30, 0xeb,
+ 0x19, 0xe0, 0x4a, 0x84, 0x84, 0x57, 0x78, 0x55, 0xb6, 0xa2,
+ 0x90, 0x55, 0xdc, 0x44, 0x1d, 0x42, 0x29, 0x50, 0xfc, 0xf4,
+ 0xf4, 0x96, 0xae, 0x56, 0xa6, 0x2a, 0x78, 0x56, 0x07, 0xf9,
+ 0x6a, 0x7a, 0x39, 0x81, 0x2f, 0x65, 0x65, 0x68, 0x5d, 0x57,
+ 0x17, 0x52, 0x20, 0x57, 0x4e, 0x92, 0x47, 0xd3, 0xc9, 0xb4,
+ 0x04, 0x16, 0x16, 0x2b, 0x55, 0x58, 0x47, 0xbf, 0xee, 0x58,
+ 0x7f, 0x9e, 0x2f, 0x0b, 0xd9, 0x65, 0xd7, 0x87, 0x87, 0xd5,
+ 0xa6, 0x59, 0xf6, 0xc7, 0xb6, 0x59, 0x36, 0xf5, 0x02, 0xa2,
+ 0xe9, 0xd5, 0x61, 0xf7, 0xf7, 0x14, 0x70, 0x5a, 0xe6, 0x4f,
+ 0x5e, 0x5a, 0xed, 0x48, 0x75, 0x9a, 0xf9, 0x04, 0xb2, 0x66,
+ 0x66, 0xea, 0x83, 0x5b, 0x57, 0x37, 0x06, 0x5b, 0xa4, 0x23,
+ 0x58, 0x33, 0x89, 0x76, 0xce, 0x17, 0x17, 0x55, 0x1f, 0x5c,
+ 0xc6, 0x9c, 0x4d, 0x5c, 0x98, 0xf1, 0x9b, 0xea, 0x99, 0xa7,
+ 0x1d, 0x86, 0x86, 0xab, 0xec, 0x5d, 0x77, 0xe4, 0x15, 0x5d,
+ 0xd1, 0x9a, 0xb6, 0x43, 0xa9, 0x17, 0xab, 0xf6, 0xf6, 0x6a,
+ 0x3a, 0x5e, 0x67, 0x6c, 0xfd, 0x5e, 0x0a, 0x27, 0xc1, 0x7b,
+ 0xb9, 0xc6, 0x78, 0x67, 0x67, 0x94, 0xc9, 0x5f, 0xd6, 0x14,
+ 0xa5, 0x5f, 0x43, 0x4c, 0xec, 0xd2, 0xcf, 0xa2, 0x62, 0x18,
+ 0x18, 0x9a, 0x3f, 0x60, 0x45, 0xae, 0xf3, 0x60, 0x5c, 0xc1,
+ 0xf8, 0x0c, 0xdf, 0x73, 0xb1, 0x89, 0x89, 0x64, 0xcc, 0x61,
+ 0xf4, 0xd6, 0xab, 0x61, 0x15, 0xaa, 0xd5, 0xa5, 0xef, 0xc3,
+ 0x07, 0xf9, 0xf9, 0xa5, 0x1a, 0x62, 0xe4, 0x5e, 0x43, 0x62,
+ 0xce, 0x17, 0xa2, 0x9d, 0xff, 0x12, 0xd4, 0x68, 0x68, 0x5b,
+ 0xe9, 0x63, 0x55, 0x26, 0x1b, 0x63, 0x87, 0x7c, 0x8f, 0x34,
+ 0x8f, 0x60, 0xa8, 0x19, 0x19, 0xe4, 0x75, 0x64, 0xc4, 0x8d,
+ 0x50, 0x64, 0xbb, 0xae, 0x4c, 0xed, 0x9f, 0xb1, 0x7b, 0x88,
+ 0x88, 0x1a, 0x86, 0x65, 0x75, 0xf5, 0x08, 0x65, 0xf2, 0xc5,
+ 0x61, 0x44, 0xaf, 0x01, 0xcd, 0xf8, 0xf8, 0xdb, 0x50, 0x66,
+ 0x65, 0x7d, 0xe0, 0x66, 0x29, 0x78, 0x16, 0x7c, 0xbf, 0xd0,
+ 0x1e, 0x69, 0x69, 0x25, 0xa3, 0x67, 0xd4, 0x05, 0xb8, 0x67,
+ 0x60, 0x13, 0x3b, 0xd5, 0x4f, 0xe5, 0x35, 0x1a, 0x1a, 0x66,
+ 0xab, 0x68, 0x84, 0xe8, 0x76, 0x68, 0x51, 0x1f, 0x53, 0x0d,
+ 0x5f, 0x34, 0xe6, 0x8b, 0x8b, 0x98, 0x58, 0x69, 0x35, 0x90,
+ 0x2e, 0x69, 0x18, 0x74, 0x7e, 0xa4, 0x6f, 0x84, 0x50, 0xfb,
+ 0xfb, 0x59, 0x8e, 0x6a, 0x25, 0x18, 0xc6, 0x6a, 0xc3, 0xc9,
+ 0x09, 0x9c, 0x7f, 0x55, 0x83, 0x6a, 0x6a, 0xa7, 0x7d, 0x6b,
+ 0x94, 0x60, 0x9e, 0x6b, 0x8a, 0xa2, 0x24, 0x35, 0x0f, 0x27,
+ 0xff, 0x1b, 0x1b, 0x18, 0xe1, 0x6c, 0x05, 0xcb, 0xd5, 0x6c,
+ 0xb6, 0x70, 0xe7, 0xec, 0x1f, 0xf6, 0x2c, 0x8a, 0x8a, 0xe6,
+ 0x12, 0x6d, 0xb4, 0xb3, 0x8d, 0x6d, 0xff, 0x1b, 0xca, 0x45,
+ 0x2f, 0x46, 0x9a, 0xfa, 0xfa, 0x27, 0xc4, 0x6e, 0xa4, 0x3b,
+ 0x65, 0x6e, 0x24, 0xa6, 0xbd, 0x7d, 0x3f, 0x97, 0x49, 0x6b,
+ 0x6b, 0xd9, 0x37, 0x6f, 0x15, 0x43, 0x3d, 0x6f, 0x6d, 0xcd,
+ 0x90, 0xd4, 0x0c, 0x2c, 0xcc, 0x1c, 0x1c, 0xa1, 0xd4, 0x70,
+ 0x04, 0x22, 0x3a, 0x70, 0x46, 0xbe, 0x6d, 0x0e, 0x1c, 0xfd,
+ 0x1f, 0x8d, 0x8d, 0x5f, 0x27, 0x71, 0xb5, 0x5a, 0x62, 0x71,
+ 0x0f, 0xd5, 0x40, 0xa7, 0x2c, 0x4d, 0xa9, 0xfd, 0xfd, 0x9e,
+ 0xf1, 0x72, 0xa5, 0xd2, 0x8a, 0x72, 0xd4, 0x68, 0x37, 0x9f,
+ 0x3c, 0x9c, 0x7a, 0x6c, 0x6c, 0x60, 0x02, 0x73, 0x14, 0xaa,
+ 0xd2, 0x73, 0x9d, 0x03, 0x1a, 0x36, 0x4c, 0xee, 0x06, 0x1d,
+ 0x1d, 0xdf, 0x9e, 0x74, 0x85, 0x01, 0x99, 0x74, 0xa1, 0xd1,
+ 0xd9, 0xef, 0x5c, 0x3f, 0xd5, 0x8c, 0x8c, 0x21, 0x6d, 0x75,
+ 0x34, 0x79, 0xc1, 0x75, 0xe8, 0xba, 0xf4, 0x46, 0x6c, 0x8f,
+ 0x63, 0xfc, 0xfc, 0xe0, 0xbb, 0x76, 0x24, 0xf1, 0x29, 0x76,
+ 0x33, 0x07, 0x83, 0x7e, 0x7c, 0x5e, 0xb0, 0x6d, 0x6d, 0x1e,
+ 0x48, 0x77, 0x95, 0x89, 0x71, 0x77, 0x7a, 0x6c, 0xae, 0xd7,
+ 0x8c, 0x6b, 0x9b, 0x1e, 0x1e, 0x5d, 0x40, 0x78, 0xc5, 0x64,
+ 0xbf, 0x78, 0x4b, 0x60, 0xc6, 0x0f, 0x9c, 0xba, 0x48, 0x8f,
+ 0x8f, 0xa3, 0xb3, 0x79, 0x74, 0x1c, 0xe7, 0x79, 0x02, 0x0b,
+ 0xeb, 0xa6, 0xac, 0x0a, 0xfe, 0xff, 0xff, 0x62, 0x65, 0x7a,
+ 0x64, 0x94, 0x0f, 0x7a, 0xd9, 0xb6, 0x9c, 0x9e, 0xbc, 0xdb,
+ 0x2d, 0x6e, 0x6e, 0x9c, 0x96, 0x7b, 0xd5, 0xec, 0x57, 0x7b,
+ 0x90, 0xdd, 0xb1, 0x37, 0xcc, 0xa9, 0x51, 0x1f, 0x1f, 0x23,
+ 0x0a, 0x7c, 0x44, 0x47, 0x1c, 0x7c, 0xac, 0x0f, 0x72, 0xee,
+ 0xdc, 0x78, 0x82, 0x8e, 0x8e, 0xdd, 0xf9, 0x7d, 0xf5, 0x3f,
+ 0x44, 0x7d, 0xe5, 0x64, 0x5f, 0x47, 0xec, 0xc8, 0x34, 0xfe,
+ 0xfe, 0x1c, 0x2f, 0x7e, 0xe5, 0xb7, 0xac, 0x7e, 0x3e, 0xd9,
+ 0x28, 0x7f, 0xfc, 0x19, 0xe7, 0x6f, 0x6f, 0xe2, 0xdc, 0x7f,
+ 0x54, 0xcf, 0xf4, 0x7f, 0x77, 0xb2, 0x05, 0xd6, 0xd7, 0xfa,
+ 0x39, 0x20, 0x20, 0x1b, 0x54, 0x80, 0x4d, 0xea, 0x87, 0x80,
+ 0xd0, 0x7e, 0x22, 0x10, 0xc7, 0x2b, 0xea, 0xb1, 0xb1, 0xe5,
+ 0xa7, 0x81, 0xfc, 0x92, 0xdf, 0x81, 0x99, 0x15, 0x0f, 0xb9,
+ 0xf7, 0x9b, 0x5c, 0xc1, 0xc1, 0x24, 0x71, 0x82, 0xec, 0x1a,
+ 0x37, 0x82, 0x42, 0xa8, 0x78, 0x81, 0xe7, 0x4a, 0x8f, 0x50,
+ 0x50, 0xda, 0x82, 0x83, 0x5d, 0x62, 0x6f, 0x83, 0x0b, 0xc3,
+ 0x55, 0x28, 0x97, 0x38, 0xf3, 0x21, 0x21, 0x65, 0x1e, 0x84,
+ 0xcc, 0xc9, 0x24, 0x84, 0x37, 0x11, 0x96, 0xf1, 0x87, 0xe9,
+ 0x20, 0xb0, 0xb0, 0x9b, 0xed, 0x85, 0x7d, 0xb1, 0x7c, 0x85,
+ 0x7e, 0x7a, 0xbb, 0x58, 0xb7, 0x59, 0x96, 0xc0, 0xc0, 0x5a,
+ 0x3b, 0x86, 0x6d, 0x39, 0x94, 0x86, 0xa5, 0xc7, 0xcc, 0x60,
+ 0xa7, 0x88, 0x45, 0x51, 0x51, 0xa4, 0xc8, 0x87, 0xdc, 0x41,
+ 0xcc, 0x87, 0xec, 0xac, 0xe1, 0xc9, 0x57, 0xbd, 0x6e, 0x22,
+ 0x22, 0xe7, 0xc0, 0x88, 0x8c, 0xac, 0x02, 0x88, 0xdd, 0xa0,
+ 0x89, 0x11, 0x47, 0x6c, 0xbd, 0xb3, 0xb3, 0x19, 0x33, 0x89,
+ 0x3d, 0xd4, 0x5a, 0x89, 0x94, 0xcb, 0xa4, 0xb8, 0x77, 0xdc,
+ 0x0b, 0xc3, 0xc3, 0xd8, 0xe5, 0x8a, 0x2d, 0x5c, 0xb2, 0x8a,
+ 0x4f, 0x76, 0xd3, 0x80, 0x67, 0x0d, 0xd8, 0x52, 0x52, 0x26,
+ 0x16, 0x8b, 0x9c, 0x24, 0xea, 0x8b, 0x06, 0x1d, 0xfe, 0x29,
+ 0x17, 0x7f, 0xa4, 0x23, 0x23, 0x99, 0x8a, 0x8c, 0x0d, 0x8f,
+ 0xa1, 0x8c, 0x3a, 0xcf, 0x3d, 0xf0, 0x07, 0xae, 0x77, 0xb2,
+ 0xb2, 0x67, 0x79, 0x8d, 0xbc, 0xf7, 0xf9, 0x8d, 0x73, 0xa4,
+ 0x10, 0x59, 0x37, 0x1e, 0xc1, 0xc2, 0xc2, 0xa6, 0xaf, 0x8e,
+ 0xac, 0x7f, 0x11, 0x8e, 0xa8, 0x19, 0x67, 0x61, 0x27, 0xcf,
+ 0x12, 0x53, 0x53, 0x58, 0x5c, 0x8f, 0x1d, 0x07, 0x49, 0x8f,
+ 0xe1, 0x72, 0x4a, 0xc8, 0x14, 0x74, 0x97, 0x24, 0x24, 0x20,
+ 0xbf, 0x90, 0x0c, 0x66, 0x4e, 0x90, 0xca, 0x01, 0xb7, 0x12,
+ 0x04, 0xa5, 0x44, 0xb5, 0xb5, 0xde, 0x4c, 0x91, 0xbd, 0x1e,
+ 0x16, 0x91, 0x83, 0x6a, 0x9a, 0xbb, 0x34, 0x15, 0xf2, 0xc5,
+ 0xc5, 0x1f, 0x9a, 0x92, 0xad, 0x96, 0xfe, 0x92, 0x58, 0xd7,
+ 0xed, 0x83, 0x24, 0xc4, 0x21, 0x54, 0x54, 0xe1, 0x69, 0x93,
+ 0x1c, 0xee, 0xa6, 0x93, 0x11, 0xbc, 0xc0, 0x2a, 0x54, 0xb6,
+ 0x5d, 0x25, 0x25, 0x5e, 0xf5, 0x94, 0x8d, 0x45, 0xed, 0x94,
+ 0x2d, 0x6e, 0x03, 0xf3, 0x44, 0x67, 0x8e, 0xb4, 0xb4, 0xa0,
+ 0x06, 0x95, 0x3c, 0x3d, 0xb5, 0x95, 0x64, 0x05, 0x2e, 0x5a,
+ 0x74, 0xd7, 0x38, 0xc4, 0xc4, 0x61, 0xd0, 0x96, 0x2c, 0xb5,
+ 0x5d, 0x96, 0xbf, 0xb8, 0x59, 0x62, 0x64, 0x06, 0xeb, 0x55,
+ 0x55, 0x9f, 0x23, 0x97, 0x9d, 0xcd, 0x05, 0x97, 0xf6, 0xd3,
+ 0x74, 0xcb, 0x94, 0x33, 0xc0, 0x26, 0x26, 0xdc, 0x2b, 0x98,
+ 0xcd, 0x20, 0xcb, 0x98, 0xc7, 0xdf, 0x1c, 0x13, 0x84, 0xe2,
+ 0x13, 0xb7, 0xb7, 0x22, 0xd8, 0x99, 0x7c, 0x58, 0x93, 0x99,
+ 0x8e, 0xb4, 0x31, 0xba, 0xb4, 0x52, 0xa5, 0xc7, 0xc7, 0xe3,
+ 0x0e, 0x9a, 0x6c, 0xd0, 0x7b, 0x9a, 0x55, 0x09, 0x46, 0x82,
+ 0xa4, 0x83, 0x76, 0x56, 0x56, 0x1d, 0xfd, 0x9b, 0xdd, 0xa8,
+ 0x23, 0x9b, 0x1c, 0x62, 0x6b, 0x2b, 0xd4, 0xf1, 0x0a, 0x27,
+ 0x27, 0xa2, 0x61, 0x9c, 0x4c, 0x03, 0x68, 0x9c, 0x20, 0xb0,
+ 0xa8, 0xf2, 0xc4, 0x20, 0xd9, 0xb6, 0xb6, 0x5c, 0x92, 0x9d,
+ 0xfd, 0x7b, 0x30, 0x9d, 0x69, 0xdb, 0x85, 0x5b, 0xf4, 0x90,
+ 0x6f, 0xc6, 0xc6, 0x9d, 0x44, 0x9e, 0xed, 0xf3, 0xd8, 0x9e,
+ 0xb2, 0x66, 0xf2, 0x63, 0xe4, 0x41, 0xbc, 0x57, 0x57, 0x63,
+ 0xb7, 0x9f, 0x5c, 0x8b, 0x80, 0x9f, 0xfb, 0x0d, 0xdf, 0xca,
+ 0x92, 0x25, 0xa6, 0x28, 0x28, 0x6d, 0x41, 0xa0, 0xcf, 0x31,
+ 0xd6, 0xa0, 0xe4, 0x80, 0xcb, 0x14, 0x82, 0xf4, 0x75, 0xb9,
+ 0xb9, 0x93, 0xb2, 0xa1, 0x7e, 0x49, 0x8e, 0xa1, 0xad, 0xeb,
+ 0xe6, 0xbd, 0xb2, 0x44, 0xc3, 0xc9, 0xc9, 0x52, 0x64, 0xa2,
+ 0x6e, 0xc1, 0x66, 0xa2, 0x76, 0x56, 0x91, 0x85, 0xa2, 0x95,
+ 0x10, 0x58, 0x58, 0xac, 0x97, 0xa3, 0xdf, 0xb9, 0x3e, 0xa3,
+ 0x3f, 0x3d, 0xbc, 0x2c, 0xd2, 0xe7, 0x6c, 0x29, 0x29, 0x13,
+ 0x0b, 0xa4, 0x4e, 0x12, 0x75, 0xa4, 0x03, 0xef, 0x7f, 0xf5,
+ 0xc2, 0x36, 0xbf, 0xb8, 0xb8, 0xed, 0xf8, 0xa5, 0xff, 0x6a,
+ 0x2d, 0xa5, 0x4a, 0x84, 0x52, 0x5c, 0xf2, 0x86, 0x09, 0xc8,
+ 0xc8, 0x2c, 0x2e, 0xa6, 0xef, 0xe2, 0xc5, 0xa6, 0x91, 0x39,
+ 0x25, 0x64, 0xe2, 0x57, 0xda, 0x59, 0x59, 0xd2, 0xdd, 0xa7,
+ 0x5e, 0x9a, 0x9d, 0xa7, 0xd8, 0x52, 0x08, 0xcd, 0x12, 0x62,
+ 0xf1, 0x2a, 0x2a, 0x91, 0xd5, 0xa8, 0x0e, 0x77, 0x53, 0xa8,
+ 0xe9, 0x5e, 0x60, 0x15, 0x02, 0xb3, 0x22, 0xbb, 0xbb, 0x6f,
+ 0x26, 0xa9, 0xbf, 0x0f, 0x0b, 0xa9, 0xa0, 0x35, 0x4d, 0xbc,
+ 0x32, 0x03, 0x94, 0xcb, 0xcb, 0xae, 0xf0, 0xaa, 0xaf, 0x87,
+ 0xe3, 0xaa, 0x7b, 0x88, 0x3a, 0x84, 0x22, 0xd2, 0x47, 0x5a,
+ 0x5a, 0x50, 0x03, 0xab, 0x1e, 0xff, 0xbb, 0xab, 0x32, 0xe3,
+ 0x17, 0x2d, 0x52, 0xa0, 0x3b, 0x2b, 0x2b, 0xef, 0x9f, 0xac,
+ 0x8f, 0x54, 0xf0, 0xac, 0x0e, 0x31, 0xd4, 0xf4, 0x42, 0x71,
+ 0xe8, 0xba, 0xba, 0x11, 0x6c, 0xad, 0x3e, 0x2c, 0xa8, 0xad,
+ 0x47, 0x5a, 0xf9, 0x5d, 0x72, 0xc1, 0x5e, 0xca, 0xca, 0xd0,
+ 0xba, 0xae, 0x2e, 0xa4, 0x40, 0xae, 0x9c, 0xe7, 0x8e, 0x65,
+ 0x62, 0x10, 0x8d, 0x5b, 0x5b, 0x2e, 0x49, 0xaf, 0x9f, 0xdc,
+ 0x18, 0xaf, 0xd5, 0x8c, 0xa3, 0xcc, 0x51, 0xab, 0x08, 0x2c,
+ 0x2c, 0x56, 0xaa, 0xb0, 0x8e, 0xbd, 0x1f, 0xb0, 0xfe, 0xff,
+ 0x5e, 0x16, 0x41, 0x7a, 0xdb, 0xbd, 0xbd, 0xa8, 0x59, 0xb1,
+ 0x3f, 0xc5, 0x47, 0xb1, 0xb7, 0x94, 0x73, 0xbf, 0x71, 0xca,
+ 0x6d, 0xcd, 0xcd, 0x69, 0x8f, 0xb2, 0x2f, 0x4d, 0xaf, 0xb2,
+ 0x6c, 0x29, 0x04, 0x87, 0x61, 0x1b, 0xbe, 0x5c, 0x5c, 0x97,
+ 0x7c, 0xb3, 0x9e, 0x35, 0xf7, 0xb3, 0x25, 0x42, 0x29, 0x2e,
+ 0x11, 0x69, 0xc2, 0x2d, 0x2d, 0x28, 0xe0, 0xb4, 0x0f, 0x9e,
+ 0xbc, 0xb4, 0x19, 0x90, 0xea, 0xf7, 0x01, 0xb8, 0x11, 0xbc,
+ 0xbc, 0xd6, 0x13, 0xb5, 0xbe, 0xe6, 0xe4, 0xb5, 0x50, 0xfb,
+ 0xc7, 0x5e, 0x31, 0x08, 0xa7, 0xcc, 0xcc, 0x17, 0xc5, 0xb6,
+ 0xae, 0x6e, 0x0c, 0xb6, 0x8b, 0x46, 0xb0, 0x66, 0x21, 0xd9,
+ 0x74, 0x5d, 0x5d, 0xe9, 0x36, 0xb7, 0x1f, 0x16, 0x54, 0xb7,
+ 0xc2, 0x2d, 0x9d, 0xcf, 0xd1, 0xec, 0x5f, 0x2e, 0x2e, 0xaa,
+ 0x3e, 0xb8, 0x4f, 0xfb, 0x9a, 0xb8, 0xf3, 0x21, 0xf5, 0x17,
+ 0xc1, 0x3d, 0x8c, 0xbf, 0xbf, 0x54, 0xcd, 0xb9, 0xfe, 0x83,
+ 0xc2, 0xb9, 0xba, 0x4a, 0xd8, 0xbe, 0xf1, 0x8d, 0x3a, 0xcf,
+ 0xcf, 0x95, 0x1b, 0xba, 0xee, 0x0b, 0x2a, 0xba, 0x61, 0xf7,
+ 0xaf, 0x86, 0xe1, 0x5c, 0xe9, 0x5e, 0x5e, 0x6b, 0xe8, 0xbb,
+ 0x5f, 0x73, 0x72, 0xbb, 0x28, 0x9c, 0x82, 0x2f, 0x91, 0x2e,
+ 0x95, 0x2f, 0x2f, 0xd4, 0x74, 0xbc, 0xce, 0xd8, 0x39, 0xbc,
+ 0x14, 0x4e, 0x41, 0xf6, 0x81, 0xff, 0x46, 0xbe, 0xbe, 0x2a,
+ 0x87, 0xbd, 0x7f, 0xa0, 0x61, 0xbd, 0x5d, 0x25, 0x6c, 0x5f,
+ 0xb1, 0x4f, 0xf0, 0xce, 0xce, 0xeb, 0x51, 0xbe, 0x6f, 0x28,
+ 0x89, 0xbe, 0x86, 0x98, 0x1b, 0x67, 0xa1, 0x9e, 0x23, 0x5f,
+ 0x5f, 0x15, 0xa2, 0xbf, 0xde, 0x50, 0xd1, 0xbf, 0xcf, 0xf3,
+ 0x36, 0xce, 0x5d, 0x87, 0xc4, 0x30, 0x30, 0xf7, 0x7e, 0xc0,
+ 0x8a, 0x9f, 0x25, 0xc0, 0xb8, 0x41, 0x33, 0x18, 0x4d, 0x56,
+ 0x17, 0xa1, 0xa1, 0x09, 0x8d, 0xc1, 0x3b, 0xe7, 0x7d, 0xc1,
+ 0xf1, 0x2a, 0x1e, 0xb1, 0x7d, 0xe6, 0xa1, 0xd1, 0xd1, 0xc8,
+ 0x5b, 0xc2, 0x2b, 0x6f, 0x95, 0xc2, 0x2a, 0x97, 0x69, 0x89,
+ 0x6d, 0x37, 0x72, 0x40, 0x40, 0x36, 0xa8, 0xc3, 0x9a, 0x17,
+ 0xcd, 0xc3, 0x63, 0xfc, 0x44, 0x20, 0x1d, 0x45, 0x0e, 0x31,
+ 0x31, 0x89, 0x34, 0xc4, 0x0b, 0xbc, 0x86, 0xc4, 0x5f, 0x2e,
+ 0x87, 0xf9, 0x0d, 0x94, 0xdd, 0xa0, 0xa0, 0x77, 0xc7, 0xc5,
+ 0xba, 0xc4, 0xde, 0xc5, 0x16, 0x45, 0xaa, 0x50, 0x3d, 0x24,
+ 0x6b, 0xd0, 0xd0, 0xb6, 0x11, 0xc6, 0xaa, 0x4c, 0x36, 0xc6,
+ 0xcd, 0xf8, 0xdd, 0x68, 0x2d, 0xf5, 0xb8, 0x41, 0x41, 0x48,
+ 0xe2, 0xc7, 0x1b, 0x34, 0x6e, 0xc7, 0x84, 0x93, 0xf0, 0xc1,
+ 0xdd, 0xc0, 0x93, 0x32, 0x32, 0x0b, 0xea, 0xc8, 0x4b, 0xd9,
+ 0xa0, 0xc8, 0xb5, 0x9f, 0x98, 0x19, 0xcd, 0x11, 0x40, 0xa3,
+ 0xa3, 0xf5, 0x19, 0xc9, 0xfa, 0xa1, 0xf8, 0xc9, 0xfc, 0xf4,
+ 0xb5, 0xb0, 0xfd, 0xa1, 0xf6, 0xd3, 0xd3, 0x34, 0xcf, 0xca,
+ 0xea, 0x29, 0x10, 0xca, 0x27, 0x49, 0xc2, 0x88, 0xed, 0x70,
+ 0x25, 0x42, 0x42, 0xca, 0x3c, 0xcb, 0x5b, 0x51, 0x48, 0xcb,
+ 0x6e, 0x22, 0xef, 0x21, 0x9d, 0x02, 0x59, 0x33, 0x33, 0x75,
+ 0xa0, 0xcc, 0xca, 0xfa, 0x03, 0xcc, 0x52, 0xf0, 0x2c, 0xf8,
+ 0x8d, 0xd3, 0x8a, 0xa2, 0xa2, 0x8b, 0x53, 0xcd, 0x7b, 0x82,
+ 0x5b, 0xcd, 0x1b, 0x9b, 0x01, 0x51, 0xbd, 0x63, 0x3c, 0xd2,
+ 0xd2, 0x4a, 0x85, 0xce, 0x6b, 0x0a, 0xb3, 0xce, 0xc0, 0x26,
+ 0x76, 0x69, 0xad, 0xb2, 0xef, 0x43, 0x43, 0xb4, 0x76, 0xcf,
+ 0xda, 0x72, 0xeb, 0xcf, 0x89, 0x4d, 0x5b, 0xc0, 0x9e, 0x09,
+ 0x6a, 0x34, 0x34, 0xcc, 0x95, 0xd0, 0xcb, 0x13, 0xec, 0xd0,
+ 0xa2, 0x3e, 0xa6, 0x1a, 0x8e, 0xd8, 0xb9, 0xa5, 0xa5, 0x32,
+ 0x66, 0xd1, 0x7a, 0x6b, 0xb4, 0xd1, 0xeb, 0x55, 0x8b, 0xb3,
+ 0xbe, 0x68, 0x0f, 0xd5, 0xd5, 0xf3, 0xb0, 0xd2, 0x6a, 0xe3,
+ 0x5c, 0xd2, 0x30, 0xe8, 0xfc, 0x8b, 0xae, 0xb9, 0xdc, 0x44,
+ 0x44, 0x0d, 0x43, 0xd3, 0xdb, 0x9b, 0x04, 0xd3, 0x79, 0x83,
+ 0xd1, 0x22, 0xde, 0xcb, 0xa0, 0x35, 0x35, 0xb2, 0xdf, 0xd4,
+ 0x4a, 0x30, 0x4f, 0xd4, 0x45, 0x51, 0x12, 0xfb, 0xce, 0x1a,
+ 0x73, 0xa4, 0xa4, 0x4c, 0x2c, 0xd5, 0xfb, 0x48, 0x17, 0xd5,
+ 0x0c, 0x3a, 0x3f, 0x52, 0xfe, 0xaa, 0xc5, 0xd4, 0xd4, 0x8d,
+ 0xfa, 0xd6, 0xeb, 0xc0, 0xff, 0xd6, 0xd7, 0x87, 0x48, 0x6a,
+ 0xee, 0x7b, 0x16, 0x45, 0x45, 0x73, 0x09, 0xd7, 0x5a, 0xb8,
+ 0xa7, 0xd7, 0x9e, 0xec, 0x65, 0xc3, 0x1e, 0x4e, 0x3d, 0x36,
+ 0x36, 0x30, 0x01, 0xd8, 0x0a, 0x55, 0x69, 0xd8, 0xaf, 0xe0,
+ 0x0d, 0x1b, 0x0e, 0x9f, 0xee, 0xa7, 0xa7, 0xce, 0xf2, 0xd9,
+ 0xbb, 0x2d, 0x31, 0xd9, 0xe6, 0x8b, 0x20, 0xb2, 0x3e, 0x2f,
+ 0x58, 0xd7, 0xd7, 0x0f, 0x24, 0xda, 0xab, 0xa5, 0xd9, 0xda,
+ 0x3d, 0x36, 0x57, 0x8a, 0x2e, 0xfe, 0x8b, 0x46, 0x46, 0xf1,
+ 0xd7, 0xdb, 0x1a, 0xdd, 0x81, 0xdb, 0x74, 0x5d, 0x7a, 0x23,
+ 0x5e, 0x8c, 0xf7, 0x37, 0x37, 0x4e, 0x4b, 0xdc, 0x8b, 0x76,
+ 0xca, 0xdc, 0x48, 0x8f, 0xb9, 0xfa, 0x4e, 0x5d, 0x24, 0xa6,
+ 0xa6, 0xb0, 0xb8, 0xdd, 0x3a, 0x0e, 0x92, 0xdd, 0x01, 0xe4,
+ 0x94, 0x53, 0x7e, 0xed, 0x92, 0xd6, 0xd6, 0x71, 0x6e, 0xde,
+ 0x2a, 0x86, 0x7a, 0xde, 0xda, 0x59, 0xe3, 0x6b, 0x6e, 0x3c,
+ 0x41, 0x47, 0x47, 0x8f, 0x9d, 0xdf, 0x9b, 0xfe, 0x22, 0xdf,
+ 0x93, 0x32, 0xce, 0xc2, 0x18, 0x58, 0x5b, 0x38, 0x38, 0x81,
+ 0x6b, 0xe0, 0x08, 0x44, 0x74, 0xe0, 0x8c, 0xbf, 0xda, 0x1c,
+ 0x08, 0x89, 0x88, 0xa9, 0xa9, 0x7f, 0x98, 0xe1, 0xb9, 0x3c,
+ 0x2c, 0xe1, 0xc5, 0xd4, 0xf7, 0xb5, 0x38, 0x39, 0x3e, 0xd9,
+ 0xd9, 0xbe, 0x4e, 0xe2, 0xa9, 0xb4, 0xc4, 0xe2, 0x1e, 0x69,
+ 0x80, 0x8d, 0x28, 0xe8, 0xed, 0x48, 0x48, 0x40, 0xbd, 0xe3,
+ 0x18, 0xcc, 0x9c, 0xe3, 0x57, 0x02, 0xad, 0x24, 0x58, 0x9a,
+ 0x91, 0x39, 0x39, 0xff, 0x21, 0xe4, 0x89, 0x67, 0xd7, 0xe4,
+ 0x6b, 0xd0, 0x6e, 0xfd, 0x48, 0x4b, 0x42, 0xa8, 0xa8, 0x01,
+ 0xd2, 0xe5, 0x38, 0x1f, 0x8f, 0xe5, 0x22, 0xbb, 0x43, 0x54,
+ 0x78, 0xfb, 0xf4, 0xd8, 0xd8, 0xc0, 0x04, 0xe6, 0x28, 0x97,
+ 0x67, 0xe6, 0xf9, 0x06, 0x34, 0x6c, 0x68, 0x2a, 0x27, 0x49,
+ 0x49, 0x3e, 0xf7, 0xe7, 0x99, 0xef, 0x3f, 0xe7, 0xb0, 0x6d,
+ 0x19, 0xc5, 0x98, 0x1f, 0x0c, 0x3a, 0x3a, 0x7d, 0xff, 0xe8,
+ 0xc9, 0x02, 0xf1, 0xe8, 0x81, 0x61, 0x71, 0x1d, 0x88, 0xce,
+ 0xdf, 0xab, 0xab, 0x83, 0x0c, 0xe9, 0x78, 0x7a, 0xa9, 0xe9,
+ 0xc8, 0x0a, 0x5c, 0xb4, 0xb8, 0x7e, 0x69, 0xdb, 0xdb, 0x42,
+ 0xda, 0xea, 0x68, 0xf2, 0x41, 0xea, 0x13, 0xb7, 0x2b, 0x8c,
+ 0xa8, 0xaf, 0xba, 0x4a, 0x4a, 0xbc, 0x29, 0xeb, 0xd9, 0x8a,
+ 0x19, 0xeb, 0x5a, 0xdc, 0x06, 0x25, 0xd8, 0xdd, 0xc6, 0x3b,
+ 0x3b, 0x03, 0xb5, 0xec, 0x48, 0x21, 0x52, 0xec, 0x66, 0x0e,
+ 0xc5, 0xfc, 0xc8, 0x0c, 0x15, 0xaa, 0xaa, 0xfd, 0x46, 0xed,
+ 0xf9, 0x59, 0x0a, 0xed, 0x2f, 0x65, 0xe8, 0x55, 0xf8, 0xbc,
+ 0xa3, 0xda, 0xda, 0x3c, 0x90, 0xee, 0xe9, 0xd1, 0xe2, 0xee,
+ 0xf4, 0xd8, 0x9f, 0x6d, 0xe8, 0x6d, 0x70, 0x4b, 0x4b, 0xc2,
+ 0x63, 0xef, 0x58, 0xa9, 0xba, 0xef, 0xbd, 0xb3, 0xb2, 0xc4,
+ 0xdb, 0xd6, 0xf5, 0x3c, 0x3c, 0xba, 0x80, 0xf0, 0x49, 0xc8,
+ 0xbd, 0xf0, 0x96, 0xc0, 0x4f, 0x1e, 0xcb, 0x07, 0x26, 0xad,
+ 0xad, 0x44, 0x73, 0xf1, 0xf8, 0xb0, 0xe5, 0xf1, 0xdf, 0xab,
+ 0x62, 0xb7, 0xfb, 0xb7, 0x90, 0xdd, 0xdd, 0x85, 0xa5, 0xf2,
+ 0xe8, 0x38, 0x0d, 0xf2, 0x04, 0x16, 0x15, 0x8f, 0xeb, 0x66,
+ 0x43, 0x4c, 0x4c, 0x7b, 0x56, 0xf3, 0x59, 0x40, 0x55, 0xf3,
+ 0x4d, 0x7d, 0x38, 0x26, 0x9b, 0x14, 0x3f, 0x3d, 0x3d, 0xc4,
+ 0xca, 0xf4, 0xc8, 0xeb, 0x1e, 0xf4, 0x71, 0xaf, 0xfb, 0xff,
+ 0x8b, 0xc5, 0xec, 0xac, 0xac, 0x3a, 0x39, 0xf5, 0x79, 0x93,
+ 0x46, 0xf5, 0x38, 0xc4, 0xd6, 0x56, 0xbb, 0x75, 0x5a, 0xdc,
+ 0xdc, 0xfb, 0xef, 0xf6, 0x69, 0x1b, 0xae, 0xf6, 0xe3, 0x79,
+ 0xa1, 0x6e, 0xab, 0xa4, 0x89, 0x4d, 0x4d, 0x05, 0x1c, 0xf7,
+ 0xd8, 0x63, 0xf6, 0xf7, 0xaa, 0x12, 0x8c, 0xc7, 0x5b, 0x91,
+ 0xa2, 0x3e, 0x3e, 0x46, 0x14, 0xf8, 0x88, 0x8e, 0x38, 0xf8,
+ 0x9b, 0x1e, 0xe4, 0x1f, 0x4b, 0x40, 0x71, 0xaf, 0xaf, 0xb8,
+ 0xe7, 0xf9, 0x39, 0xf6, 0x60, 0xf9, 0xd2, 0x75, 0xc9, 0xb6,
+ 0x7b, 0xf0, 0xc7, 0xdf, 0xdf, 0x79, 0x31, 0xfa, 0x29, 0x7e,
+ 0x88, 0xfa, 0x09, 0xc8, 0xbe, 0x8e, 0x6b, 0x21, 0x14, 0x4e,
+ 0x4e, 0x87, 0xc2, 0xfb, 0x98, 0x06, 0xd0, 0xfb, 0x40, 0xa3,
+ 0x93, 0x27, 0x1b, 0x53, 0x68, 0x3f, 0x3f, 0x38, 0x5e, 0xfc,
+ 0x09, 0xad, 0x9b, 0xfc, 0x7c, 0x71, 0x50, 0xfe, 0x0b, 0x82,
+ 0xbb, 0xae, 0xae, 0xc6, 0xad, 0xfd, 0xb8, 0xd5, 0xc3, 0xfd,
+ 0x35, 0x1a, 0x7d, 0x57, 0x3b, 0x32, 0x0d, 0xde, 0xde, 0x07,
+ 0x7b, 0xfe, 0xa8, 0x5d, 0x2b, 0xfe, 0xee, 0xa7, 0x0a, 0x6f,
+ 0x2b, 0xe3, 0xde, 0x4f, 0x4f, 0xf9, 0x88, 0xff, 0x19, 0x25,
+ 0x73, 0xff, 0xa7, 0xcc, 0x27, 0xc6,
+ },
+ {
+ /* 5 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x8d, 0x31, 0x64,
+ 0xec, 0xeb, 0x0f, 0x2a, 0x37, 0x99, 0x90, 0xc4, 0xf6, 0x30,
+ 0xb8, 0xf6, 0x47, 0xd9, 0x62, 0xc8, 0x1b, 0x15, 0x1e, 0x54,
+ 0x6e, 0xf1, 0xe3, 0x4b, 0x2f, 0x60, 0xb3, 0x2f, 0x85, 0x54,
+ 0x53, 0xac, 0xf7, 0xfe, 0x11, 0x7e, 0x59, 0x68, 0x73, 0x8f,
+ 0xd9, 0x50, 0x0b, 0xd9, 0x8e, 0x71, 0xc4, 0x53, 0x36, 0x2a,
+ 0x3c, 0xa8, 0xdc, 0x21, 0x05, 0x96, 0x5e, 0xc0, 0xa5, 0x5e,
+ 0x4c, 0xfc, 0xf5, 0x37, 0xda, 0xc1, 0x33, 0x82, 0xeb, 0xb8,
+ 0x95, 0x52, 0xa8, 0xf0, 0x1d, 0xa8, 0xc9, 0xa8, 0xa6, 0x9b,
+ 0x2d, 0x3f, 0x22, 0xfc, 0xb2, 0xd0, 0xe6, 0xdd, 0x71, 0xa0,
+ 0x16, 0x71, 0x0b, 0x25, 0x97, 0xff, 0xc1, 0xd4, 0x2d, 0xd6,
+ 0x85, 0x49, 0x76, 0x19, 0x87, 0x90, 0xae, 0x87, 0xdf, 0xe2,
+ 0x4b, 0xa6, 0x6c, 0x54, 0x78, 0x93, 0x7b, 0x42, 0x0a, 0xef,
+ 0xbc, 0x43, 0x89, 0xbc, 0x1d, 0x6f, 0x7a, 0xc2, 0x80, 0xbf,
+ 0x77, 0xb9, 0x4c, 0xdb, 0x9a, 0x2b, 0x4a, 0x73, 0x31, 0x4a,
+ 0x98, 0x3b, 0x29, 0x6e, 0x77, 0x41, 0x66, 0xc7, 0x15, 0xb3,
+ 0xe9, 0xa4, 0x93, 0x23, 0x3a, 0x93, 0x5a, 0xb6, 0x18, 0x0a,
+ 0x9b, 0xaa, 0x69, 0xed, 0x22, 0x2a, 0x79, 0x60, 0x65, 0x13,
+ 0x82, 0x65, 0x51, 0x93, 0x8f, 0xf5, 0x5a, 0x7e, 0x44, 0x3b,
+ 0xa7, 0x63, 0x0f, 0x79, 0xe2, 0x83, 0x2c, 0xe2, 0x93, 0x1e,
+ 0xbe, 0x91, 0xb6, 0x95, 0x4b, 0x11, 0x90, 0xfa, 0x9f, 0xbd,
+ 0x14, 0xb3, 0x94, 0x14, 0x16, 0x4a, 0xed, 0x3d, 0x41, 0x6b,
+ 0x5a, 0x6f, 0xc9, 0x92, 0xec, 0x32, 0xcd, 0xe3, 0x9f, 0xcd,
+ 0xd4, 0xc7, 0xdc, 0x59, 0xad, 0x80, 0x55, 0x45, 0xfe, 0x0b,
+ 0x7c, 0xf6, 0x3b, 0xd3, 0x27, 0x3b, 0x7d, 0x07, 0x96, 0x8f,
+ 0xd8, 0xa8, 0xf0, 0xe5, 0xf6, 0x84, 0x14, 0x1d, 0xbb, 0x86,
+ 0xd1, 0xbb, 0xbf, 0x8a, 0xa7, 0xeb, 0x34, 0x43, 0xff, 0xcf,
+ 0xc1, 0x1d, 0x84, 0xd9, 0x4d, 0xb6, 0x69, 0x4d, 0x3a, 0xde,
+ 0xf4, 0x47, 0xc3, 0xbd, 0xee, 0xb1, 0x98, 0x75, 0xf7, 0x56,
+ 0x94, 0xe6, 0x62, 0x94, 0xf8, 0x53, 0xc5, 0x23, 0x2f, 0x56,
+ 0xe1, 0x9b, 0xaf, 0xec, 0x67, 0x92, 0x62, 0xd6, 0xda, 0x62,
+ 0xf3, 0x76, 0x52, 0xdc, 0xee, 0x82, 0xcc, 0x4d, 0x2a, 0xa5,
+ 0x11, 0x8b, 0xe5, 0x46, 0x74, 0xe5, 0x31, 0xfb, 0x63, 0xb8,
+ 0x02, 0x69, 0xc3, 0x67, 0x1d, 0x3c, 0x81, 0x4f, 0x13, 0x76,
+ 0xcc, 0x13, 0xb4, 0xaf, 0x30, 0x14, 0xf5, 0x97, 0xd2, 0x19,
+ 0x44, 0x54, 0xf2, 0xc0, 0xca, 0x26, 0xc7, 0xca, 0x76, 0x22,
+ 0x01, 0x70, 0x19, 0x7c, 0xdd, 0x33, 0x73, 0xcd, 0x62, 0x04,
+ 0x3c, 0x16, 0x7f, 0x3c, 0xa2, 0xe5, 0xdd, 0x29, 0xb4, 0xfc,
+ 0x88, 0x76, 0x8d, 0xc6, 0x1e, 0xf2, 0x07, 0xc5, 0x58, 0x07,
+ 0x60, 0x68, 0xec, 0x4d, 0x58, 0x17, 0x87, 0x5c, 0xba, 0x5f,
+ 0x8e, 0x36, 0xf1, 0xf5, 0xe0, 0xf1, 0xe5, 0x3c, 0xbf, 0xe1,
+ 0xaf, 0xe9, 0x96, 0x22, 0xe3, 0x37, 0xfd, 0xb9, 0x28, 0xa5,
+ 0xeb, 0x28, 0x27, 0xb1, 0x8e, 0x85, 0x43, 0x02, 0x99, 0x08,
+ 0xd4, 0xae, 0x6d, 0x7d, 0xde, 0x95, 0x53, 0xde, 0x2c, 0x94,
+ 0x19, 0x7a, 0x82, 0xd6, 0xb4, 0xde, 0x51, 0xe7, 0x1b, 0x64,
+ 0x59, 0x05, 0xfd, 0x59, 0xee, 0x19, 0x28, 0x1e, 0x6e, 0x3d,
+ 0xbb, 0xf4, 0x66, 0x7e, 0x8b, 0xa0, 0xaf, 0x35, 0x45, 0xaf,
+ 0x6b, 0x4d, 0x7b, 0xb2, 0x99, 0xc3, 0xaa, 0x8a, 0x3f, 0x16,
+ 0xf8, 0x2f, 0x76, 0x65, 0x4e, 0x76, 0xa9, 0xc0, 0x4a, 0xd6,
+ 0x75, 0x28, 0xa5, 0xa0, 0x08, 0x8f, 0x68, 0xeb, 0x80, 0x55,
+ 0xf6, 0x80, 0xfa, 0x0e, 0xef, 0xdd, 0x73, 0x93, 0x23, 0x09,
+ 0x2f, 0xcb, 0x28, 0x3a, 0xb5, 0xcf, 0x61, 0xb5, 0x38, 0x83,
+ 0xde, 0xb9, 0x9f, 0x78, 0x2c, 0x23, 0x18, 0x52, 0xb8, 0xfe,
+ 0x43, 0xff, 0xd9, 0x43, 0xbd, 0xd7, 0x8d, 0x15, 0x68, 0x86,
+ 0x3d, 0x5d, 0x41, 0x3a, 0xcb, 0x71, 0x9a, 0xaf, 0xd2, 0x9a,
+ 0x7f, 0x5a, 0xbc, 0x71, 0x84, 0x6d, 0x32, 0x77, 0x76, 0xa3,
+ 0x5b, 0xb5, 0x6c, 0x9f, 0x6a, 0x6c, 0x74, 0x7f, 0x2b, 0x8e,
+ 0x45, 0xb9, 0x1f, 0xa1, 0xf3, 0xea, 0x2d, 0xac, 0xeb, 0x0f,
+ 0xc4, 0xeb, 0xb6, 0xf2, 0x1a, 0xea, 0xa9, 0x52, 0x10, 0x8b,
+ 0xc4, 0x73, 0xbd, 0x68, 0x1d, 0x3f, 0x7c, 0x1d, 0x33, 0xa6,
+ 0x49, 0x46, 0x5e, 0xac, 0x01, 0xf5, 0x9d, 0x1b, 0xce, 0xe7,
+ 0xc4, 0x6f, 0x77, 0xc4, 0xf1, 0x2b, 0x78, 0x22, 0xb2, 0x47,
+ 0x0e, 0xdf, 0xaa, 0x82, 0x5e, 0x23, 0x32, 0x5f, 0xcf, 0x32,
+ 0x25, 0xec, 0xa4, 0x7b, 0x1f, 0xc7, 0x5b, 0x9a, 0x54, 0x89,
+ 0x22, 0xd5, 0x09, 0x8c, 0xe8, 0x09, 0xe7, 0x61, 0x95, 0x1f,
+ 0xf3, 0x2c, 0x54, 0xb0, 0x63, 0x10, 0xb2, 0x11, 0xff, 0xbc,
+ 0x50, 0xff, 0x62, 0x35, 0xc6, 0xb3, 0x04, 0xd2, 0x45, 0xce,
+ 0x3a, 0x78, 0xc1, 0x9e, 0x26, 0xec, 0x5b, 0x26, 0xa0, 0xb8,
+ 0xf7, 0xd7, 0xe8, 0x39, 0x4a, 0xe4, 0x0d, 0xe1, 0x51, 0x5a,
+ 0xd0, 0xdc, 0xe3, 0xd0, 0xab, 0x9d, 0x60, 0x28, 0x29, 0xed,
+ 0x67, 0x32, 0x88, 0xa8, 0x27, 0x43, 0x57, 0x4c, 0x4d, 0x57,
+ 0x69, 0x10, 0x51, 0x4c, 0xc5, 0x06, 0x68, 0x18, 0xbf, 0x31,
+ 0xb7, 0x87, 0xa1, 0x7c, 0xf5, 0xa1, 0xec, 0x44, 0x02, 0xe0,
+ 0x32, 0xf8, 0x79, 0x66, 0xe6, 0x59, 0xc4, 0x08, 0x78, 0x2c,
+ 0xfe, 0x78, 0x2e, 0xc9, 0x33, 0x84, 0xde, 0x13, 0x76, 0x4c,
+ 0xd1, 0xc0, 0x54, 0xcc, 0x8e, 0x1c, 0x46, 0x8e, 0x87, 0x09,
+ 0x79, 0x52, 0xab, 0x3b, 0xd3, 0xec, 0xd9, 0x4f, 0x3c, 0x27,
+ 0x0e, 0x49, 0xb0, 0x0e, 0x45, 0x84, 0x48, 0x36, 0x47, 0xd0,
+ 0xdc, 0xc6, 0xee, 0xd6, 0xac, 0xe3, 0xf8, 0x79, 0x08, 0xf8,
+ 0xc0, 0xd0, 0x1b, 0x9a, 0xb0, 0x2e, 0xcd, 0xb8, 0xb7, 0xbe,
+ 0xdf, 0x6c, 0x21, 0x29, 0x03, 0x21, 0x02, 0x5d, 0x2a, 0xfe,
+ 0x5c, 0xc5, 0xc2, 0x92, 0x80, 0x27, 0x4f, 0xa8, 0xd7, 0x19,
+ 0xbb, 0xd7, 0x09, 0x78, 0xbd, 0x01, 0x9d, 0x11, 0xef, 0x44,
+ 0x05, 0x6e, 0x39, 0xb1, 0x50, 0x89, 0x15, 0x50, 0xcb, 0xf5,
+ 0x8c, 0x65, 0x71, 0xfa, 0xe0, 0x6e, 0x32, 0xf7, 0xa9, 0x75,
+ 0xa6, 0xb9, 0xad, 0xa6, 0x4e, 0xa1, 0xdf, 0xc9, 0x86, 0x04,
+ 0xf1, 0x10, 0x6b, 0x9f, 0xda, 0xfa, 0x7f, 0xe9, 0xa6, 0x7f,
+ 0x8c, 0x2c, 0xee, 0xad, 0x6a, 0xef, 0xfe, 0x3a, 0x5c, 0x06,
+ 0x4a, 0x3e, 0x89, 0xd9, 0x1e, 0x89, 0x58, 0xeb, 0x32, 0xf4,
+ 0xc7, 0x6f, 0xab, 0x7f, 0xa2, 0x0d, 0x36, 0xc8, 0xb2, 0x0a,
+ 0x39, 0xb2, 0x9a, 0x66, 0x03, 0x90, 0x2b, 0x84, 0xa4, 0x55,
+ 0x95, 0x94, 0xa6, 0x0c, 0x44, 0x3a, 0x81, 0x44, 0x1f, 0x32,
+ 0x50, 0x3c, 0xdc, 0x7a, 0xb5, 0x2b, 0xcc, 0xfc, 0xd5, 0x83,
+ 0x9d, 0x6a, 0x8a, 0x9d, 0xdd, 0xbf, 0x61, 0x58, 0x30, 0x91,
+ 0xba, 0x01, 0xfb, 0x65, 0x45, 0x47, 0x6b, 0x5a, 0x32, 0x6b,
+ 0xd6, 0x9a, 0xf6, 0xa7, 0xf1, 0x45, 0x97, 0xd7, 0x7e, 0x2c,
+ 0x33, 0x5e, 0xec, 0xca, 0x9c, 0xec, 0x14, 0x17, 0xc7, 0xc3,
+ 0x1d, 0xae, 0x98, 0xfd, 0x49, 0xb5, 0xa3, 0x9a, 0x1a, 0xfa,
+ 0x24, 0x1a, 0x91, 0x43, 0x94, 0x6f, 0xea, 0x50, 0x89, 0x83,
+ 0x10, 0xdd, 0xd0, 0x15, 0xc3, 0xaa, 0x2f, 0xc3, 0x53, 0xce,
+ 0xa5, 0x0b, 0x06, 0xbb, 0x86, 0xa9, 0x27, 0x44, 0x40, 0xd1,
+ 0x35, 0x9a, 0x97, 0x35, 0x37, 0x1c, 0x1d, 0x79, 0xe6, 0xe5,
+ 0x46, 0x12, 0x5e, 0x55, 0x50, 0x74, 0xa9, 0x5d, 0xc2, 0xa9,
+ 0xf5, 0x91, 0x2c, 0x1d, 0x0a, 0x0e, 0x49, 0x38, 0x69, 0xcc,
+ 0xc0, 0xb0, 0x5f, 0x6d, 0x7a, 0x5f, 0x70, 0xc5, 0x7f, 0xb1,
+ 0xfd, 0xf0, 0x58, 0x46, 0x30, 0xa4, 0xb3, 0x3f, 0x86, 0x3d,
+ 0x71, 0x86, 0xb2, 0x48, 0x4e, 0xd5, 0x11, 0x1b, 0x57, 0x6c,
+ 0x07, 0x3d, 0x23, 0xfb, 0x70, 0x0d, 0xc9, 0x70, 0xb9, 0x6d,
+ 0xd9, 0x2a, 0xd0, 0xcf, 0x7a, 0xba, 0x82, 0x74, 0x55, 0xe2,
+ 0xf7, 0x9d, 0x67, 0xf7, 0x7b, 0xe0, 0xe8, 0x4e, 0x3c, 0x24,
+ 0x75, 0x90, 0xb5, 0xed, 0xc5, 0x26, 0x01, 0xad, 0xdf, 0x01,
+ 0xfe, 0xb4, 0xbb, 0xe2, 0xcb, 0xda, 0x64, 0xee, 0xec, 0x85,
+ 0xb6, 0xa9, 0xd8, 0xfd, 0xd4, 0xd8, 0x3c, 0x39, 0x8a, 0x86,
+ 0x27, 0x31, 0x6b, 0xc4, 0xdb, 0x1c, 0x26, 0x6d, 0x2e, 0xcd,
+ 0x6c, 0x2e, 0xe8, 0xfe, 0x56, 0xdf, 0x8a, 0xb1, 0x3e, 0x81,
+ 0x25, 0x17, 0x5a, 0x9b, 0x15, 0x1e, 0x4b, 0x15, 0x2a, 0x73,
+ 0x67, 0xbb, 0x66, 0x5a, 0x31, 0xab, 0x12, 0x8e, 0xca, 0x5f,
+ 0xe3, 0x2e, 0xf3, 0xe3, 0xaf, 0x27, 0x34, 0x17, 0x91, 0xa4,
+ 0x20, 0xd5, 0x4b, 0xe6, 0xb9, 0xd0, 0x3a, 0x7e, 0xf8, 0x3a,
+ 0x6d, 0xaa, 0x05, 0x73, 0x7d, 0x4f, 0x2f, 0xff, 0x7c, 0x7f,
+ 0x29, 0x14, 0xcc, 0x4e, 0x40, 0xcc, 0x66, 0x8f, 0x92, 0x8c,
+ 0xbc, 0x9b, 0x02, 0x29, 0xf9, 0x36, 0x5f, 0x0d, 0x4b, 0xde,
+ 0xee, 0x4b, 0xa4, 0x02, 0xa3, 0xe8, 0x50, 0x70, 0x0d, 0x03,
+ 0xce, 0xaf, 0xcf, 0xc9, 0xbd, 0xee, 0x56, 0xbd, 0x21, 0x56,
+ 0xf0, 0x44, 0xa7, 0x8e, 0x1c, 0x7d, 0x97, 0xc7, 0xbc, 0x46,
+ 0x64, 0xbe, 0x5d, 0x64, 0xe3, 0xdb, 0xc1, 0x20, 0x4b, 0x65,
+ 0x13, 0x57, 0xa0, 0x5e, 0x2c, 0x82, 0x92, 0x8e, 0xe5, 0x92,
+ 0x4a, 0x1b, 0x8b, 0xf6, 0x3e, 0x4d, 0xb6, 0xf7, 0xa8, 0xd1,
+ 0x44, 0x69, 0x12, 0xdb, 0x13, 0x12, 0x88, 0x96, 0xba, 0x92,
+ 0xd2, 0xa6, 0xb9, 0xdd, 0x9f, 0x48, 0xd4, 0xad, 0xe4, 0xeb,
+ 0xab, 0xe4, 0x0d, 0xc2, 0xe9, 0x3e, 0x25, 0x58, 0xa8, 0xa3,
+ 0xc6, 0x20, 0xa7, 0x22, 0x3d, 0xbb, 0xa0, 0x3d, 0xcf, 0x4f,
+ 0xd8, 0x5a, 0xc9, 0xb3, 0xa7, 0x89, 0xf1, 0xb9, 0x37, 0xe6,
+ 0xcb, 0x8b, 0x18, 0xcb, 0xc4, 0x6a, 0x4f, 0xa5, 0x08, 0x67,
+ 0x8a, 0x5f, 0x74, 0xf0, 0x41, 0xff, 0x4c, 0x1b, 0xb6, 0x4c,
+ 0x06, 0xe7, 0x7e, 0xc1, 0xe4, 0x8c, 0x85, 0x75, 0x43, 0x69,
+ 0xd1, 0x3b, 0xba, 0x2b, 0x0e, 0xba, 0x83, 0xb3, 0x2d, 0x6d,
+ 0x13, 0x72, 0x94, 0x0b, 0x1a, 0x01, 0xa2, 0xb4, 0x63, 0x7b,
+ 0x05, 0x63, 0x41, 0x3e, 0x1c, 0x09, 0xff, 0x99, 0x9b, 0x21,
+ 0x2d, 0x98, 0x32, 0x70, 0x95, 0x4b, 0xbd, 0x95, 0x95, 0xf9,
+ 0xc0, 0x50, 0x52, 0x19, 0xce, 0x64, 0xd3, 0x93, 0x4e, 0x86,
+ 0xae, 0x98, 0x9a, 0xae, 0x57, 0x74, 0xf1, 0x34, 0xbe, 0xf2,
+ 0xc1, 0x4e, 0xe4, 0x0a, 0xde, 0x42, 0x58, 0xa8, 0x22, 0x58,
+ 0xd2, 0x20, 0xa2, 0x98, 0x49, 0x0c, 0xd0, 0x30, 0xbd, 0x62,
+ 0xad, 0xcd, 0x81, 0xf8, 0x29, 0x81, 0x10, 0xad, 0x93, 0xfc,
+ 0xa5, 0xe7, 0xdf, 0x1a, 0x8a, 0xfb, 0x3d, 0x09, 0x77, 0xc8,
+ 0x91, 0x77, 0x1b, 0x88, 0x04, 0x03, 0x64, 0x33, 0xf2, 0xcc,
+ 0x0f, 0xb2, 0x4b, 0x10, 0xf0, 0x58, 0x3f, 0xf0, 0xd9, 0x05,
+ 0x35, 0x67, 0x88, 0xd8, 0xfd, 0xe6, 0x38, 0x2b, 0xdb, 0xd4,
+ 0x06, 0x68, 0x87, 0x06, 0x5c, 0x51, 0x66, 0xcb, 0x7f, 0x26,
+ 0xec, 0x98, 0x61, 0x43, 0xa8, 0x5b, 0xdf, 0x38, 0x8c, 0xdf,
+ 0x9e, 0xdc, 0x57, 0xaf, 0x93, 0xcd, 0xe3, 0xb2, 0x56, 0xda,
+ 0x38, 0x9f, 0x29, 0x08, 0x34, 0x29, 0xcd, 0x12, 0xf2, 0xa4,
+ 0x95, 0x76, 0x65, 0x1b, 0x71, 0x9e, 0x78, 0x4e, 0x1c, 0x92,
+ 0xa3, 0x1c, 0x0f, 0x9f, 0xc3, 0xc0, 0x79, 0x9d, 0x6a, 0x31,
+ 0x46, 0x07, 0xe8, 0x8a, 0xea, 0xa2, 0x1b, 0xea, 0x8a, 0xcb,
+ 0x90, 0x6c, 0x8e, 0x63, 0x7b, 0x4f, 0x1f, 0x6f, 0x9b, 0x05,
+ 0x33, 0xf2, 0x10, 0x33, 0x48, 0x46, 0xa1, 0x08, 0x62, 0x88,
+ 0x74, 0x65, 0x28, 0xf6, 0x0b, 0xc1, 0xc5, 0xc2, 0xa8, 0xc5,
+ 0x43, 0x63, 0x36, 0xf7, 0xa3, 0x5c, 0x59, 0xb3, 0xad, 0xbf,
+ 0x7d, 0xd8, 0x42, 0x52, 0x06, 0x42, 0x81, 0xee, 0x07, 0x93,
+ 0x4f, 0xb7, 0x56, 0x99, 0x9a, 0x26, 0xed, 0x1c, 0xb4, 0x62,
+ 0xbe, 0xb4, 0x04, 0xba, 0x54, 0x3f, 0xb8, 0x49, 0x47, 0xe7,
+ 0xc3, 0x4e, 0x9e, 0x93, 0x6d, 0x32, 0xb5, 0x6d, 0xc6, 0x37,
+ 0x65, 0x5b, 0x54, 0xa2, 0x48, 0xcd, 0xf4, 0xd7, 0x0e, 0x57,
+ 0x9b, 0x02, 0x0d, 0x9b, 0x12, 0xf0, 0xb9, 0x02, 0xf9, 0x22,
+ 0x1d, 0x88, 0x0a, 0xdc, 0x72, 0xa1, 0xa0, 0xd1, 0x2a, 0xa0,
+ 0xd0, 0x7d, 0x88, 0x66, 0x15, 0xc9, 0x12, 0xa2, 0x3d, 0x45,
+ 0xe2, 0x65, 0x56, 0xe1, 0x92, 0x56, 0x55, 0x29, 0xdb, 0xca,
+ 0xe2, 0x37, 0x03, 0xdc, 0x64, 0x2d, 0x91, 0xea, 0x8f, 0xb1,
+ 0x99, 0x8f, 0x97, 0xa4, 0xea, 0xae, 0x0e, 0xdc, 0x0c, 0xf6,
+ 0x53, 0xb4, 0x01, 0x2e, 0x79, 0x81, 0x21, 0x79, 0x9c, 0x81,
+ 0x7d, 0x51, 0xcf, 0x08, 0x21, 0x20, 0xd6, 0xfd, 0x77, 0x37,
+ 0xfe, 0x11, 0x8f, 0xfe, 0x5e, 0x0c, 0x4c, 0x35, 0x23, 0xe3,
+ 0x2e, 0x0a, 0xe1, 0x64, 0xe7, 0xf3, 0x08, 0x21, 0x37, 0x08,
+ 0xdb, 0x58, 0x1f, 0x99, 0xd4, 0x1d, 0x3f, 0x74, 0xb8, 0x0c,
+ 0x94, 0x7c, 0xd1, 0x71, 0x3c, 0xd1, 0x19, 0xd5, 0x2e, 0xfd,
+ 0x38, 0xf6, 0x30, 0x5e, 0x8f, 0x95, 0x04, 0xb8, 0x27, 0x41,
+ 0x84, 0x27, 0xb0, 0x15, 0x64, 0x2b, 0x4d, 0xde, 0x95, 0xfe,
+ 0x87, 0x1a, 0x6c, 0x53, 0xa7, 0x14, 0x72, 0xa7, 0x72, 0x98,
+ 0x55, 0x4f, 0xa1, 0x35, 0x9a, 0xd4, 0xb0, 0x83, 0xfc, 0x97,
+ 0x51, 0x24, 0xca, 0x51, 0xf7, 0xcc, 0x06, 0xe3, 0x56, 0xcb,
+ 0x8b, 0xaa, 0xe9, 0xeb, 0x8f, 0x18, 0x88, 0x74, 0xc1, 0x88,
+ 0x35, 0x41, 0x37, 0x87, 0xba, 0x20, 0x84, 0x80, 0xde, 0x72,
+ 0x1f, 0xdc, 0x7e, 0x44, 0x79, 0x7e, 0x3e, 0x64, 0xa0, 0x78,
+ 0x7b, 0xf4, 0xa9, 0x56, 0x5b, 0x3b, 0x69, 0xc5, 0xf9, 0xd4,
+ 0xd7, 0xf9, 0xfc, 0xe9, 0x91, 0x1c, 0x97, 0x1f, 0xa6, 0x7c,
+ 0x6c, 0xa2, 0xf9, 0x01, 0x0f, 0xe4, 0x6f, 0x0f, 0x79, 0xbd,
+ 0xc2, 0xb0, 0x60, 0xe1, 0xb7, 0x02, 0x35, 0xca, 0x8a, 0x8e,
+ 0xd6, 0xb4, 0x64, 0xd6, 0xbb, 0x30, 0xf3, 0xd4, 0x8c, 0x0a,
+ 0xb8, 0x28, 0x02, 0x53, 0x1a, 0x4a, 0x20, 0x84, 0xdc, 0x20,
+ 0x6f, 0xf7, 0x2f, 0x8d, 0x21, 0x8a, 0xed, 0x6d, 0xfc, 0x58,
+ 0x66, 0xbc, 0x1b, 0x57, 0xfb, 0x1b, 0xad, 0x7a, 0x1e, 0xe9,
+ 0xcd, 0x61, 0xe2, 0x47, 0xcb, 0xc1, 0xf6, 0x78, 0xed, 0x67,
+ 0x43, 0xed, 0x28, 0x2e, 0x4d, 0x45, 0x3a, 0x9f, 0xf3, 0x39,
+ 0x92, 0xa9, 0x85, 0xf7, 0x34, 0x37, 0x48, 0x34, 0xea, 0xa3,
+ 0x7c, 0x21, 0xd6, 0x74, 0xfc, 0x13, 0xa5, 0x30, 0x15, 0x33,
+ 0xc2, 0x07, 0xf0, 0xc2, 0xe1, 0x86, 0xeb, 0xde, 0x17, 0xa0,
+ 0xd1, 0xc5, 0x20, 0x79, 0x63, 0x2a, 0x45, 0x97, 0x5e, 0x45,
+ 0x23, 0x0b, 0xda, 0xba, 0xfb, 0x4b, 0xde, 0xef, 0x17, 0xe0,
+ 0xf3, 0xee, 0xb3, 0xa7, 0xe6, 0xb3, 0xa6, 0x5f, 0x89, 0x16,
+ 0x0c, 0xb5, 0xcf, 0x91, 0x4e, 0x88, 0x80, 0x61, 0x6a, 0xf7,
+ 0xed, 0x6a, 0x64, 0xd2, 0xb8, 0x72, 0xe0, 0x5e, 0xc0, 0xbb,
+ 0x79, 0x11, 0x10, 0xa5, 0x9c, 0xc7, 0x55, 0x9c, 0x6e, 0x38,
+ 0x3a, 0xf2, 0x0f, 0x09, 0x8c, 0x24, 0xbc, 0xaa, 0xa0, 0xe8,
+ 0x91, 0xba, 0x47, 0x91, 0xac, 0xb5, 0x0b, 0x96, 0xe3, 0xe2,
+ 0x83, 0x0e, 0x8b, 0x33, 0x30, 0x2c, 0x67, 0x8a, 0xff, 0x67,
+ 0x29, 0xe1, 0x58, 0x3a, 0x14, 0x1c, 0x92, 0x70, 0xd2, 0x5b,
+ 0x43, 0xa3, 0xbe, 0xda, 0xf4, 0xbe, 0xeb, 0x6c, 0x69, 0x5e,
+ 0xf8, 0xf7, 0x9d, 0x5a, 0xe5, 0xc2, 0xd3, 0x67, 0x48, 0xea,
+ 0x4c, 0x48, 0xe0, 0x49, 0xfe, 0xa1, 0x39, 0x23, 0xb0, 0x8c,
+ 0x60, 0x8b, 0xa5, 0x7e, 0xcf, 0x7a, 0xe2, 0xcf, 0x22, 0xc4,
+ 0xcf, 0xc5, 0xd5, 0xc8, 0xbf, 0xa6, 0x57, 0x12, 0x35, 0xba,
+ 0x39, 0x4a, 0x5a, 0x39, 0xa7, 0x90, 0x9c, 0x69, 0x22, 0x36,
+ 0xae, 0xd8, 0x0e, 0x7a, 0x46, 0x35, 0xe0, 0x1a, 0x51, 0xe0,
+ 0x65, 0x1d, 0xad, 0x0d, 0xce, 0xdd, 0xa1, 0xf2, 0x39, 0xe3,
+ 0xd6, 0xf1, 0x16, 0x2a, 0xe9, 0x16, 0xb1, 0xda, 0x71, 0x54,
+ 0x63, 0x5d, 0xf4, 0xb7, 0xc7, 0xe8, 0xaa, 0x07, 0x2d, 0xf9,
+ 0xce, 0x2d, 0x73, 0x57, 0x40, 0x30, 0x8f, 0xb6, 0xfb, 0x9d,
+ 0xf0, 0x71, 0x3a, 0xc3, 0xdb, 0xc9, 0x76, 0xdb, 0xf6, 0x03,
+ 0x13, 0x9c, 0x78, 0x48, 0xea, 0xe3, 0xa9, 0x19, 0x49, 0x4c,
+ 0x02, 0x99, 0x7d, 0x02, 0x34, 0x8e, 0x22, 0xf8, 0x94, 0xa3,
+ 0xe5, 0xc9, 0x9e, 0x80, 0xd9, 0x88, 0xf4, 0xa9, 0xc5, 0xf4,
+ 0x3f, 0xab, 0xb5, 0x07, 0x55, 0x77, 0xc8, 0x1f, 0x1b, 0xc9,
+ 0xaf, 0x91, 0x73, 0x39, 0x6b, 0x73, 0xfd, 0x26, 0x84, 0x63,
+ 0xb9, 0x9c, 0xc7, 0x35, 0x2c, 0x50, 0x3f, 0x55, 0x85, 0x09,
+ 0xd3, 0x85, 0x78, 0x72, 0xd7, 0xcf, 0x4e, 0x62, 0xd6, 0x4b,
+ 0x75, 0x38, 0x4c, 0xda, 0x5c, 0x59, 0xd8, 0x5c, 0xba, 0xff,
+ 0xe6, 0xab, 0xa2, 0x89, 0xd9, 0x61, 0x42, 0xa1, 0xdc, 0x1e,
+ 0xaa, 0x69, 0x60, 0xaa, 0x13, 0x3f, 0xac, 0x7d, 0xd7, 0xa1,
+ 0x7c, 0xc1, 0x4a, 0x2e, 0xb4, 0xf5, 0x2a, 0x3c, 0x96, 0x2a,
+ 0xd1, 0xb2, 0x9d, 0x19, 0x3b, 0x4a, 0x73, 0xeb, 0x7d, 0xb7,
+ 0x24, 0x31, 0xdc, 0x0c, 0x2e, 0xdc, 0x54, 0xe6, 0xce, 0xb5,
+ 0xcc, 0xb4, 0x62, 0x95, 0x24, 0xdf, 0x57, 0xbe, 0x05, 0x5c,
+ 0x25, 0x05, 0x96, 0x6b, 0xff, 0xd1, 0x20, 0x5f, 0x6d, 0xbf,
+ 0x13, 0x46, 0xc7, 0x7a, 0xf3, 0x6c, 0x9d, 0xf3, 0x9d, 0x4e,
+ 0x68, 0x2e, 0xe1, 0x8b, 0x40, 0x69, 0x96, 0x0f, 0xb1, 0x63,
+ 0x74, 0xfc, 0x33, 0x74, 0x5f, 0xc3, 0x59, 0x4a, 0x0d, 0x60,
+ 0x4f, 0x43, 0xa1, 0x96, 0x21, 0xa7, 0x82, 0xcc, 0x8b, 0x82,
+ 0xda, 0x97, 0x0a, 0xe6, 0xfa, 0x9e, 0x5e, 0x3d, 0xf8, 0xfe,
+ 0x52, 0x28, 0x5b, 0x9c, 0x80, 0x5b, 0x18, 0x1a, 0x3b, 0x82,
+ 0x16, 0x75, 0x51, 0x17, 0xcf, 0x67, 0xc2, 0xec, 0xad, 0xac,
+ 0x38, 0xad, 0xcc, 0xdd, 0xe7, 0xdb, 0xbb, 0xf5, 0x04, 0x52,
+ 0x31, 0x6c, 0xbe, 0x1a, 0x96, 0x7f, 0x1f, 0x96, 0x0e, 0x50,
+ 0xd6, 0xbf, 0x57, 0x1e, 0x0b, 0x78, 0x06, 0xf5, 0x2e, 0xde,
+ 0x60, 0x4f, 0xa7, 0x60, 0x8b, 0x04, 0x85, 0x13, 0xa0, 0xe0,
+ 0x1a, 0x06, 0x5f, 0x9d, 0x5d, 0x51, 0xb9, 0x1f, 0xac, 0xb9,
+ 0x49, 0x89, 0xb4, 0x77, 0x4c, 0x0b, 0x15, 0x2c, 0x68, 0x04,
+ 0xcd, 0x95, 0x4f, 0x2f, 0x14, 0x4f, 0x42, 0xac, 0x23, 0x88,
+ 0x8d, 0xdf, 0x38, 0xfa, 0xed, 0x4d, 0xbb, 0x8c, 0xc8, 0xbf,
+ 0xba, 0xc8, 0x80, 0x21, 0x12, 0xec, 0x61, 0x34, 0x37, 0xd0,
+ 0xda, 0xd4, 0x2b, 0x48, 0x3e, 0x8f, 0x02, 0x3e, 0x05, 0x75,
+ 0x41, 0x40, 0x96, 0xca, 0x26, 0xae, 0x83, 0xbc, 0x58, 0xc7,
+ 0xe7, 0xdf, 0x09, 0xe7, 0xc7, 0xf8, 0x70, 0x24, 0x7a, 0x21,
+ 0x29, 0x84, 0xb4, 0x25, 0xc8, 0x03, 0x11, 0xef, 0xb1, 0x11,
+ 0x94, 0x36, 0xd5, 0x2f, 0x7c, 0x9a, 0xaf, 0x2d, 0x93, 0x61,
+ 0x88, 0xd2, 0x24, 0x75, 0x26, 0x24, 0x56, 0xbb, 0xe4, 0x4b,
+ 0x90, 0x71, 0xa0, 0x07, 0xa4, 0xf8, 0x18, 0x16, 0xd2, 0x45,
+ 0x9e, 0xd2, 0xd3, 0xef, 0xb7, 0xe7, 0x67, 0x8f, 0xb1, 0x79,
+ 0xfd, 0x90, 0x6b, 0x99, 0x0b, 0x15, 0x95, 0x0b, 0x11, 0x62,
+ 0x86, 0x83, 0x8b, 0x64, 0xbe, 0x53, 0xca, 0x09, 0xfb, 0x5d,
+ 0xfd, 0x25, 0x2d, 0xfd, 0x1a, 0x47, 0x11, 0x7c, 0x4a, 0xb0,
+ 0x93, 0x85, 0x4f, 0x40, 0x8d, 0x44, 0x7a, 0xb5, 0x83, 0x7a,
+ 0xd8, 0xca, 0x20, 0x18, 0xa6, 0x5b, 0x9c, 0xaf, 0x78, 0xd9,
+ 0x1d, 0x80, 0x8c, 0x85, 0x3b, 0x8c, 0x5d, 0x9e, 0x73, 0xb4,
+ 0x51, 0xa5, 0x8d, 0xd1, 0x21, 0xb1, 0x6e, 0x0f, 0x55, 0xd5,
+ 0x30, 0x55, 0x9f, 0x13, 0x42, 0xd0, 0xbd, 0x4e, 0x82, 0xfb,
+ 0x16, 0x28, 0xfe, 0xcb, 0xa3, 0xe5, 0x88, 0xa3, 0x4b, 0xd4,
+ 0x9e, 0x89, 0x10, 0xce, 0xd7, 0xbe, 0xe8, 0x23, 0x82, 0x3d,
+ 0x98, 0x36, 0xaf, 0x98, 0x89, 0x59, 0xaf, 0xed, 0xfc, 0x25,
+ 0xd8, 0x94, 0xdf, 0xba, 0x12, 0xf9, 0x6e, 0x06, 0x17, 0x6e,
+ 0x0c, 0x0d, 0xfc, 0x41, 0x0b, 0xdb, 0xc9, 0xea, 0x86, 0xd2,
+ 0x61, 0x76, 0xb7, 0x56, 0x1c, 0xb7, 0xce, 0x80, 0xcd, 0x25,
+ 0xe7, 0x30, 0xc6, 0xc0, 0xb1, 0x4b, 0xf1, 0xb2, 0x41, 0x66,
+ 0xa4, 0x41, 0xc5, 0xa5, 0x5a, 0xda, 0x26, 0xe4, 0xeb, 0x16,
+ 0x34, 0x02, 0x87, 0xab, 0xc6, 0xf6, 0x0a, 0xc6, 0x07, 0x28,
+ 0x6b, 0xbe, 0xca, 0x0f, 0xe4, 0x3c, 0x03, 0x9b, 0x17, 0x6f,
+ 0x30, 0xc6, 0xb2, 0x30, 0x82, 0x7c, 0x38, 0x12, 0x3d, 0xf1,
+ 0xf5, 0x42, 0x5a, 0xf3, 0x64, 0xe0, 0xe9, 0x96, 0xb9, 0xe9,
+ 0x40, 0xf1, 0x09, 0x76, 0xd1, 0x1a, 0xfa, 0x68, 0x6d, 0x6a,
+ 0xf4, 0x24, 0x1f, 0xa6, 0x01, 0x1f, 0xe9, 0x31, 0x43, 0xa0,
+ 0xa4, 0x32, 0x5f, 0xc8, 0x65, 0xe5, 0x9c, 0xcf, 0x9f, 0xf3,
+ 0xf7, 0x9f, 0x2b, 0xbc, 0x72, 0xc4, 0x48, 0xd9, 0x50, 0xe2,
+ 0x52, 0x7c, 0x0c, 0x0b, 0x69, 0xc3, 0x4f, 0x69, 0xae, 0xe8,
+ 0x21, 0x68, 0xbf, 0x27, 0x41, 0x9c, 0x0b, 0x14, 0x7f, 0x84,
+ 0xb0, 0x93, 0x44, 0xb0, 0x6c, 0x65, 0x10, 0x0c, 0x53, 0xcc,
+ 0x4e, 0xb6, 0x3c, 0x8d, 0xef, 0x40, 0x46, 0xa3, 0xfc, 0x46,
+ 0x67, 0x40, 0x87, 0xf3, 0x92, 0x18, 0x63, 0x60, 0xb9, 0xc4,
+ 0x99, 0x59, 0xc1, 0x33, 0x52, 0xc1, 0xa5, 0xcd, 0xb6, 0x97,
+ 0x7e, 0xf3, 0x6c, 0x4a, 0x8e, 0x5d, 0x09, 0x9d, 0x37, 0x03,
+ 0xea, 0x37, 0x20, 0x99, 0xe5, 0x3b, 0x89, 0x0d, 0x7d, 0x34,
+ 0xd7, 0x35, 0x7a, 0x12, 0xee, 0x53, 0xe1, 0xee, 0xe2, 0x14,
+ 0xd4, 0x5f, 0x65, 0xe6, 0x72, 0x1e, 0xe0, 0xac, 0xea, 0xd6,
+ 0x18, 0x63, 0x59, 0x18, 0x36, 0xd3, 0x08, 0x06, 0xc8, 0x66,
+ 0x27, 0x5b, 0x1e, 0xa7, 0x96, 0x20, 0x23, 0xb0, 0x7e, 0x23,
+ 0xf4, 0x5e, 0x39, 0x62, 0x24, 0x8d, 0x28, 0x71, 0x29, 0x3e,
+ 0x06, 0xe4, 0xd5, 0x80, 0xc6, 0xd5, 0x71, 0x0a, 0x6a, 0xce,
+ 0xd3, 0x73, 0x39, 0x0f, 0x70, 0x56, 0x75, 0x6b, 0x0c, 0xd0,
+ 0xcd, 0x0c, 0xb3, 0x87, 0x5b, 0xaa, 0x3f, 0x98, 0x36, 0x25,
+ 0x47, 0xcf, 0xe5, 0xaf, 0xfa, 0xe0, 0x75, 0xfa, 0xb8, 0xa2,
+ 0xcc, 0x55, 0xfe, 0x4c, 0x1b, 0xf3, 0xc2, 0x86, 0x93, 0xb6,
+ 0x7d, 0x70, 0xdb, 0x7d, 0x7a, 0x2f, 0xfd, 0x31, 0x12, 0xa7,
+ 0x14, 0xd9, 0xf5, 0x1f, 0x03, 0x72, 0x8b, 0x40, 0x63, 0x8b,
+ 0xff, 0x7b, 0xae, 0x9d, 0xe5, 0x59, 0x05, 0xa7, 0xac, 0x77,
+ 0x70, 0xfd, 0x52, 0x10, 0x68, 0x52, 0x3d, 0xf6, 0x9f, 0xf9,
+ 0x09, 0xb2, 0x0a, 0x8d, 0x9b, 0xee, 0xe0, 0x39, 0xa4, 0x20,
+ 0xd0, 0xa4, 0x59, 0x24, 0x27, 0x8b, 0xe9, 0xec, 0xca, 0x36,
+ 0xe2, 0xff, 0xf0, 0x9c, 0x38, 0xe7, 0x85, 0x38, 0x9b, 0xa9,
+ 0x16, 0xef, 0x05, 0x07, 0xc5, 0x1c, 0xd5, 0x66, 0x60, 0x58,
+ 0xce, 0xd7, 0x3d, 0xce, 0x1e, 0xfd, 0x45, 0x43, 0xf2, 0xf9,
+ 0xd4, 0x62, 0x8c, 0x0e, 0x13, 0xd7, 0x17, 0x87, 0x36, 0x17,
+ 0xdc, 0x70, 0x74, 0x27, 0x1e, 0x12, 0xdb, 0x48, 0xbb, 0x97,
+ 0x83, 0x13, 0xe1, 0xb7, 0x8e, 0xe1, 0xd7, 0x55, 0xe3, 0xd8,
+ 0xdf, 0xc6, 0xf6, 0x9e, 0x3e, 0xde, 0xf5, 0x0a, 0x66, 0x27,
+ 0x20, 0x66, 0x15, 0xd8, 0xd2, 0xbc, 0x33, 0x2d, 0xf9, 0xb4,
+ 0x09, 0x47, 0x65, 0xce, 0x90, 0x17, 0x98, 0x90, 0x90, 0x8c,
+ 0x81, 0x10, 0xc4, 0xd3, 0xe8, 0xca, 0x50, 0x2f, 0x16, 0x41,
+ 0x49, 0x47, 0x93, 0x49, 0x52, 0x01, 0xb0, 0x74, 0x28, 0x38,
+ 0xe7, 0xe0, 0x67, 0xb6, 0x86, 0x85, 0xbf, 0x77, 0x2b, 0xbf,
+ 0x86, 0xc6, 0x6c, 0x2d, 0x85, 0xb8, 0xb2, 0xa5, 0x99, 0xbd,
+ 0xfa, 0x73, 0x84, 0xa4, 0x0c, 0x84, 0x44, 0x4b, 0x5d, 0x49,
+ 0x69, 0x53, 0xbd, 0x8f, 0xae, 0x24, 0x6a, 0xb7, 0x72, 0x94,
+ 0xb4, 0x72, 0xc1, 0x1f, 0x0e, 0xe5, 0x9e, 0xad, 0xac, 0xf1,
+ 0xf7, 0x4c, 0x19, 0x38, 0xab, 0xc4, 0xbf, 0xab, 0x03, 0x92,
+ 0x3f, 0x81, 0x72, 0x46, 0xa3, 0xdb, 0xc0, 0xd5, 0x89, 0xfc,
+ 0x5d, 0xf4, 0x07, 0x5d, 0x08, 0xb7, 0xa8, 0x7e, 0xb3, 0x92,
+ 0x8e, 0x0d, 0x45, 0x9c, 0xff, 0xe5, 0xda, 0x64, 0xa9, 0xda,
+ 0xca, 0x3a, 0x99, 0x1a, 0x5f, 0x79, 0x81, 0x27, 0x72, 0x05,
+ 0x6f, 0x21, 0x2c, 0x54, 0x11, 0x2c, 0x4f, 0x6e, 0xca, 0xb6,
+ 0xa8, 0x87, 0x90, 0x59, 0x2b, 0x6d, 0x1c, 0xae, 0xf5, 0x04,
+ 0x1a, 0xf5, 0x8d, 0xe3, 0xfb, 0xd2, 0x44, 0x6c, 0x9f, 0x73,
+ 0x1c, 0xf4, 0x8c, 0x6a, 0x03, 0x34, 0xa2, 0x03, 0x24, 0x23,
+ 0xb1, 0x04, 0x31, 0x44, 0x3a, 0xd3, 0x14, 0x7b, 0xe4, 0x81,
+ 0x83, 0x61, 0x54, 0x83, 0xe6, 0xae, 0x80, 0x60, 0xdd, 0xaf,
+ 0x35, 0xf9, 0x23, 0xe2, 0x74, 0x45, 0x75, 0x51, 0xec, 0x75,
+ 0x63, 0xfa, 0xd3, 0xcc, 0x2a, 0x51, 0x24, 0x87, 0x7a, 0x8a,
+ 0x07, 0xca, 0xac, 0x01, 0xe7, 0xac, 0xa1, 0x77, 0xe2, 0xa8,
+ 0xc6, 0xba, 0x2b, 0xad, 0x4d, 0x13, 0x97, 0x0e, 0x5a, 0x31,
+ 0x5f, 0x5a, 0xaa, 0x52, 0x75, 0x57, 0x07, 0x6e, 0x06, 0x7b,
+ 0xc8, 0x5a, 0xe1, 0x17, 0xdd, 0xa1, 0xf1, 0xdd, 0x68, 0xdf,
+ 0x44, 0x33, 0xeb, 0x85, 0x09, 0x51, 0xff, 0xc3, 0x71, 0xd3,
+ 0x2b, 0x91, 0x49, 0x2b, 0xed, 0x8b, 0x17, 0x9f, 0x1c, 0x7b,
+ 0x18, 0x2f, 0xa6, 0xab, 0x02, 0x5c, 0xf2, 0xc1, 0x42, 0xf2,
+ 0x2f, 0x06, 0x26, 0xfb, 0xf0, 0x90, 0x17, 0x05, 0x91, 0x32,
+ 0x92, 0x98, 0x04, 0xf1, 0xfa, 0x04, 0xfb, 0xc1, 0xfa, 0xa2,
+ 0x5d, 0x10, 0x42, 0x40, 0x6f, 0x39, 0xee, 0x6e, 0x3f, 0x22,
+ 0xdd, 0x3f, 0x39, 0x4c, 0xcb, 0xc6, 0xb1, 0xfb, 0x4d, 0x6a,
+ 0x58, 0xa0, 0x7e, 0xaa, 0xc9, 0x12, 0x65, 0xc9, 0xbc, 0x18,
+ 0x98, 0x6a, 0x46, 0x05, 0x5c, 0x14, 0x01, 0xc8, 0x0d, 0x25,
+ 0x10, 0x42, 0x6e, 0x10, 0x7e, 0x95, 0xa9, 0x0e, 0xaa, 0xee,
+ 0x53, 0x3e, 0x36, 0x51, 0x9d, 0xe1, 0xe6, 0x72, 0xd6, 0xe6,
+ 0x75, 0xb0, 0x3e, 0xf1, 0x6b, 0x3a, 0x7e, 0xe8, 0xb3, 0x18,
+ 0xeb, 0xf8, 0x61, 0xe2, 0x78, 0x61, 0xb7, 0x3d, 0x0f, 0x95,
+ 0x87, 0xd1, 0x71, 0xc2, 0x84, 0x81, 0x7b, 0x3c, 0x97, 0xd2,
+ 0xc0, 0x97, 0x32, 0x69, 0x5c, 0x39, 0x70, 0x2f, 0x60, 0xbc,
+ 0xdd, 0xe9, 0x08, 0xb3, 0x4e, 0x82, 0xcb, 0x4e, 0xf0, 0xe4,
+ 0x6d, 0x5d, 0x9c, 0xc4, 0x6f, 0x96, 0xea, 0x70, 0x98, 0x77,
+ 0xb8, 0xb2, 0x73, 0xb8, 0xa3, 0x2a, 0xc8, 0x56, 0x9a, 0x7f,
+ 0xe9, 0x3f, 0xcd, 0x34, 0xd8, 0xa6, 0x8d, 0x28, 0xe4, 0x8d,
+ 0x61, 0xa7, 0xf9, 0x32, 0x76, 0x94, 0xe6, 0x15, 0xfa, 0xad,
+ 0x48, 0x62, 0x7b, 0x18, 0x5c, 0x7b, 0xe4, 0xf3, 0xaa, 0x9e,
+ 0x81, 0x6a, 0xf7, 0x6b, 0xa3, 0xc5, 0x3b, 0xed, 0xa2, 0x48,
+ 0x57, 0xa2, 0x26, 0x7e, 0x9b, 0xfa, 0x6d, 0x81, 0xf8, 0x41,
+ 0x94, 0x5c, 0xab, 0x29, 0x54, 0x78, 0xef, 0x54, 0x2d, 0x5b,
+ 0x0c, 0x05, 0xac, 0x55, 0xd5, 0x97, 0x11, 0x15, 0xdd, 0x30,
+ 0xd3, 0xe8, 0x41, 0xd3, 0xef, 0xd6, 0x3d, 0x61, 0x40, 0xbe,
+ 0xda, 0xbd, 0x26, 0x8c, 0x4d, 0xf4, 0x25, 0xd8, 0xf9, 0x25,
+ 0x6a, 0x82, 0x6e, 0xcd, 0xb7, 0x40, 0xcb, 0xc3, 0x7f, 0xe4,
+ 0x3e, 0x7b, 0xfc, 0x88, 0xf2, 0xfc, 0xa8, 0x0f, 0x5f, 0xa9,
+ 0x5b, 0xab, 0xc4, 0xe9, 0x48, 0x7d, 0xae, 0xbf, 0x0a, 0xb8,
+ 0x4a, 0x0a, 0x7c, 0xc8, 0x83, 0xf0, 0xf6, 0x2b, 0x91, 0xac,
+ 0xb6, 0x76, 0xd2, 0x49, 0x31, 0x6b, 0x6d, 0x31, 0xbe, 0x45,
+ 0xb2, 0x94, 0x1a, 0xc0, 0x9e, 0x86, 0x81, 0xef, 0x42, 0x8d,
+ 0xc7, 0x5b, 0xd5, 0xc7, 0x3b, 0x11, 0xe1, 0x38, 0xed, 0x3e,
+ 0x8f, 0xf8, 0xd8, 0x87, 0x31, 0x02, 0x1e, 0x0b, 0xde, 0x1e,
+ 0xf9, 0x9c, 0xd0, 0x5c, 0x01, 0xd5, 0x80, 0xd2, 0xef, 0x1e,
+ 0xa1, 0xc6, 0xe8, 0x3b, 0x66, 0xe8, 0xf2, 0xb9, 0x47, 0xa3,
+ 0xc0, 0x01, 0xad, 0x04, 0x6a, 0x57, 0xd7, 0xdf, 0x6f, 0xab,
+ 0xc8, 0x6f, 0x30, 0x34, 0x76, 0xc7, 0x2c, 0xea, 0xa2, 0x2e,
+ 0x5d, 0xce, 0x47, 0x1b, 0x99, 0x9b, 0x70, 0x99, 0xb5, 0x60,
+ 0x25, 0x6b, 0xdb, 0x14, 0xb3, 0x50, 0x04, 0xa6, 0x34, 0x94,
+ 0x40, 0xcb, 0x7b, 0x40, 0x77, 0xed, 0x14, 0x0f, 0x37, 0xff,
+ 0xbc, 0x7a, 0x33, 0x3f, 0xa4, 0x50, 0xb6, 0xfb, 0xc3, 0xb6,
+ 0xde, 0x2d, 0x5e, 0xd9, 0x42, 0xd7, 0x19, 0xda, 0x3b, 0xb0,
+ 0xcc, 0xbb, 0x36, 0xae, 0x35, 0x36, 0x1c, 0xa0, 0x6f, 0xbd,
+ 0xae, 0x3c, 0x16, 0xf0, 0x0c, 0x29, 0x5c, 0x7f, 0xc0, 0x9e,
+ 0x8d, 0xc0, 0x99, 0xf4, 0x3c, 0x11, 0x59, 0xc2, 0x07, 0x8e,
+ 0x55, 0x41, 0x2f, 0xf0, 0x19, 0xce, 0x86, 0x19, 0x5b, 0x79,
+ 0x0d, 0x75, 0xb5, 0x29, 0x08, 0xa4, 0x62, 0xd8, 0xbf, 0x34,
+ 0xef, 0xfe, 0x3e, 0xef, 0x50, 0x5c, 0x9a, 0x8a, 0x74, 0xfd,
+ 0x25, 0x72, 0xe7, 0x91, 0xc9, 0x2d, 0x68, 0x6e, 0x90, 0x68,
+ 0x92, 0xd1, 0xab, 0xee, 0x98, 0x16, 0x2a, 0x58, 0xd0, 0x08,
+ 0x59, 0xe9, 0x9e, 0x5e, 0x28, 0x9e, 0x17, 0x85, 0xf8, 0x42,
+ 0x6f, 0xe8, 0x3b, 0x26, 0x89, 0x60, 0x2a, 0x66, 0x47, 0x0e,
+ 0x23, 0x47, 0xd5, 0x08, 0xc9, 0x26, 0x83, 0x03, 0x34, 0x0c,
+ 0xbe, 0xf9, 0xba, 0xa2, 0xb1, 0x3e, 0x9b, 0xb1, 0x01, 0xcf,
+ 0x15, 0x7f, 0x2e, 0x83, 0x61, 0x49, 0x40, 0xf2, 0xc6, 0x54,
+ 0x8a, 0xed, 0xbc, 0x8a, 0xc3, 0x42, 0x24, 0x1b, 0xc2, 0x68,
+ 0x6e, 0x63, 0x77, 0x6b, 0x56, 0x90, 0x7c, 0xdd, 0x04, 0x7c,
+ 0x46, 0x16, 0x77, 0xb7, 0x35, 0x96, 0x7f, 0x1d, 0x2e, 0x03,
+ 0x25, 0x1f, 0xa5, 0x8d, 0x0f, 0xa5, 0x84, 0x9b, 0x46, 0xd3,
+ 0xd9, 0x7d, 0x70, 0x37, 0x19, 0x9a, 0xb5, 0xdb, 0x53, 0xbd,
+ 0xb7, 0x53, 0x8f, 0xbe, 0xd1, 0x2c, 0x18, 0xa9, 0x5d, 0xe1,
+ 0x9c, 0xd3, 0xc3, 0xc2, 0xd4, 0x2d, 0x19, 0xd4, 0x4d, 0x33,
+ 0xe0, 0x48, 0xf4, 0x42, 0x52, 0xcb, 0xab, 0x4a, 0x53, 0x06,
+ 0x22, 0x1d, 0xa1, 0x22, 0xc8, 0x67, 0xb3, 0xe4, 0x03, 0xbc,
+ 0x43, 0xb5, 0xf2, 0x22, 0x20, 0x89, 0xfb, 0x4d, 0xaa, 0xfb,
+ 0x0a, 0xea, 0x82, 0x80, 0xef, 0x57, 0x4c, 0x9f, 0xc5, 0xbb,
+ 0xb0, 0x4d, 0x0d, 0x7d, 0x12, 0x0d,
+ },
+ {
+ /* 6 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xb4, 0xa6, 0xff,
+ 0x39, 0x2f, 0x54, 0x6c, 0xaf, 0xeb, 0xe1, 0xd4, 0xd7, 0x63,
+ 0x64, 0xbf, 0x43, 0xab, 0x8f, 0x3d, 0x72, 0x5e, 0xa8, 0xd8,
+ 0x9d, 0x15, 0x01, 0x6b, 0x6d, 0xc6, 0xc8, 0xbd, 0x83, 0x1f,
+ 0x29, 0xc2, 0x4b, 0x71, 0xfc, 0xb4, 0x32, 0xfe, 0xe0, 0xbf,
+ 0xba, 0xa5, 0xac, 0x02, 0x86, 0x95, 0xdd, 0x7a, 0xe4, 0xbc,
+ 0x93, 0x73, 0xf9, 0x2a, 0x02, 0xd6, 0xda, 0x4f, 0x53, 0xb9,
+ 0x46, 0x21, 0x7b, 0x85, 0xdd, 0x93, 0xc7, 0x1f, 0x56, 0xc1,
+ 0xe3, 0x02, 0x0d, 0x2c, 0x37, 0x06, 0xc5, 0x3e, 0x52, 0x47,
+ 0x96, 0xe2, 0x3b, 0xab, 0x64, 0x3f, 0x03, 0xbd, 0xb7, 0x89,
+ 0x9b, 0x04, 0x05, 0x8a, 0xf4, 0xb8, 0xaf, 0xcd, 0x6f, 0xc7,
+ 0xcb, 0xd4, 0xe2, 0x69, 0x60, 0xea, 0xff, 0xbb, 0xcf, 0xe9,
+ 0x79, 0xf4, 0x0b, 0xbb, 0xe5, 0xe6, 0x31, 0x54, 0x04, 0x6f,
+ 0x77, 0x9e, 0xa6, 0xb1, 0x0f, 0x5d, 0xdf, 0x0b, 0x32, 0x94,
+ 0xb1, 0x8a, 0x9e, 0xbf, 0xe5, 0xbb, 0xa0, 0xfd, 0xc2, 0x0e,
+ 0x8c, 0x42, 0xf6, 0xc9, 0x79, 0xe5, 0x4d, 0x3e, 0xac, 0x41,
+ 0x05, 0x04, 0x1a, 0x58, 0x6e, 0x0c, 0x4c, 0xf6, 0x50, 0x36,
+ 0x40, 0xca, 0x19, 0x52, 0x03, 0xaa, 0xe4, 0xd0, 0xcd, 0x3b,
+ 0x0a, 0xb3, 0x49, 0x7c, 0xa4, 0x8e, 0xef, 0x07, 0x76, 0x95,
+ 0xc8, 0x7e, 0x06, 0xb9, 0xad, 0xd1, 0xf5, 0x08, 0x89, 0xc8,
+ 0x02, 0x71, 0xd6, 0x28, 0x22, 0xf9, 0x67, 0x95, 0xe7, 0x6d,
+ 0x7a, 0xb2, 0x91, 0xb7, 0x0a, 0xd7, 0x2b, 0xb3, 0x9d, 0x59,
+ 0xde, 0x4d, 0x55, 0x6b, 0x07, 0xd2, 0xc0, 0x17, 0x3d, 0xb5,
+ 0xca, 0x63, 0x8d, 0x4c, 0xa4, 0x76, 0x8a, 0x21, 0xfa, 0x80,
+ 0xe6, 0x06, 0x17, 0x74, 0x59, 0x0a, 0x5d, 0x11, 0xf2, 0x2b,
+ 0x16, 0xb5, 0x09, 0x0f, 0x62, 0xa8, 0x08, 0xde, 0xee, 0xff,
+ 0x8f, 0xa1, 0x9d, 0xa5, 0x54, 0xd4, 0x2f, 0x9a, 0x5d, 0x63,
+ 0xcd, 0x43, 0xe9, 0x0a, 0x39, 0x9c, 0xeb, 0x1e, 0x1e, 0xba,
+ 0x7d, 0x16, 0x64, 0xeb, 0xa1, 0xd7, 0xff, 0xbd, 0x09, 0xb5,
+ 0x83, 0x39, 0x47, 0x1c, 0xde, 0x0e, 0xdb, 0xe9, 0x5d, 0xc4,
+ 0xf5, 0xbb, 0x50, 0x56, 0xe8, 0x61, 0x54, 0x5a, 0x23, 0xa3,
+ 0xdb, 0x84, 0x2f, 0x51, 0xf2, 0x09, 0x9a, 0x7c, 0x9b, 0x82,
+ 0x0a, 0x08, 0x34, 0xb0, 0xdc, 0x18, 0x1b, 0x30, 0x89, 0xae,
+ 0xcb, 0x26, 0xce, 0x10, 0x34, 0x69, 0xeb, 0xdc, 0xe3, 0xd3,
+ 0xb8, 0xa7, 0x98, 0x2f, 0xa0, 0x6c, 0x80, 0x57, 0x32, 0xa4,
+ 0x06, 0x97, 0x0b, 0x63, 0x59, 0x76, 0x14, 0xa5, 0x58, 0x9b,
+ 0x06, 0x93, 0xb9, 0x78, 0x66, 0xc8, 0xa9, 0x7c, 0xea, 0xb7,
+ 0x8e, 0x15, 0x70, 0x1a, 0x92, 0xf8, 0x8b, 0xdf, 0x1d, 0x0e,
+ 0xec, 0xe9, 0x53, 0xfc, 0x0c, 0xb1, 0x99, 0x61, 0x29, 0x10,
+ 0x52, 0x4c, 0x2d, 0x20, 0x24, 0x21, 0xb8, 0x85, 0xfc, 0x17,
+ 0xed, 0x65, 0x4e, 0x02, 0x4d, 0xaf, 0xd1, 0x53, 0x04, 0xe2,
+ 0x6f, 0x50, 0x44, 0x31, 0xce, 0xe9, 0x0d, 0xda, 0xf4, 0xa7,
+ 0xe1, 0xad, 0x11, 0xe7, 0xa2, 0x1d, 0x56, 0x7f, 0x10, 0x5d,
+ 0x61, 0x02, 0xec, 0x0e, 0x23, 0xc4, 0x85, 0x12, 0x14, 0x6d,
+ 0x56, 0xa5, 0xf9, 0xb2, 0x7f, 0x9a, 0xaa, 0xd6, 0x0e, 0x67,
+ 0x43, 0x2e, 0x7a, 0xa9, 0xd4, 0xd9, 0xf0, 0x5a, 0xc0, 0x9d,
+ 0x2b, 0xf6, 0x05, 0x3d, 0xef, 0xb3, 0x94, 0x4d, 0x1e, 0x16,
+ 0x57, 0xc6, 0xd9, 0x98, 0x8b, 0xec, 0xd7, 0x42, 0x37, 0xc3,
+ 0x0f, 0x0c, 0x2e, 0xe8, 0xb2, 0x14, 0x97, 0x72, 0x7f, 0x67,
+ 0xb2, 0xc3, 0x83, 0x2e, 0x98, 0x28, 0xee, 0xd8, 0xf9, 0x8b,
+ 0xd6, 0xab, 0xba, 0x22, 0x27, 0x56, 0x2c, 0xa9, 0x12, 0x1e,
+ 0xc4, 0x93, 0x10, 0x7f, 0x1f, 0x3d, 0xdd, 0x81, 0x7a, 0x96,
+ 0x81, 0xa9, 0x15, 0x86, 0x46, 0x72, 0x6b, 0x78, 0xf1, 0xab,
+ 0xc8, 0x5e, 0xb9, 0x3e, 0xf9, 0x89, 0xa8, 0x6b, 0x5e, 0xf7,
+ 0xba, 0xc6, 0x59, 0x86, 0x11, 0x14, 0x72, 0xfb, 0x15, 0x3c,
+ 0x39, 0x3d, 0x0e, 0x94, 0x67, 0xd8, 0xee, 0xaa, 0xf6, 0x6d,
+ 0xf0, 0xc0, 0xa5, 0x98, 0x71, 0x83, 0x3c, 0xb7, 0xfa, 0x2c,
+ 0xc8, 0x15, 0x81, 0x6d, 0x3d, 0xb9, 0x12, 0xa9, 0xc5, 0x72,
+ 0x8e, 0x38, 0xfc, 0x03, 0x5c, 0xd3, 0xf1, 0x3a, 0xd5, 0x01,
+ 0x92, 0x52, 0xf3, 0x7d, 0x12, 0x11, 0xea, 0x87, 0x7f, 0x1c,
+ 0x75, 0x11, 0xba, 0x4b, 0x29, 0xb5, 0xa0, 0xac, 0x13, 0xc2,
+ 0xa8, 0xb4, 0x46, 0x85, 0xbf, 0xa8, 0xd3, 0xee, 0x83, 0x64,
+ 0x7d, 0xd9, 0x0f, 0x47, 0xf2, 0x16, 0x7f, 0xd7, 0x22, 0x3a,
+ 0x75, 0xcb, 0x5e, 0xa2, 0x27, 0x12, 0xf7, 0xf8, 0xf5, 0xc7,
+ 0x14, 0x10, 0x68, 0xa3, 0x7b, 0x30, 0xb5, 0x7f, 0xf8, 0x5d,
+ 0x1e, 0x3d, 0xa3, 0x94, 0x5a, 0x2c, 0xf5, 0xc4, 0xbf, 0xc0,
+ 0x1f, 0x8f, 0x36, 0x60, 0xd1, 0x9f, 0x55, 0x4c, 0x5f, 0x20,
+ 0x68, 0xd2, 0x15, 0x7b, 0x05, 0x65, 0xb3, 0x8d, 0xf6, 0xd4,
+ 0x77, 0x60, 0x6c, 0x63, 0x0b, 0x4c, 0xc7, 0x39, 0xf4, 0xaf,
+ 0xd2, 0x06, 0xd7, 0x32, 0xf3, 0x5e, 0x83, 0xd8, 0xc3, 0xae,
+ 0x64, 0x8b, 0x0c, 0xed, 0x16, 0xc6, 0xb2, 0xec, 0x28, 0x89,
+ 0x33, 0xea, 0x25, 0x27, 0xfa, 0x81, 0x30, 0xe7, 0xa3, 0x06,
+ 0xf7, 0x12, 0x65, 0x8f, 0x4c, 0x36, 0xb0, 0xf5, 0x0c, 0xe5,
+ 0xb1, 0xf0, 0xcc, 0x53, 0x91, 0xf8, 0x17, 0xad, 0xdf, 0x2a,
+ 0xe0, 0x34, 0x70, 0x41, 0xaa, 0x1a, 0x88, 0xdf, 0x98, 0x3f,
+ 0x3e, 0x13, 0xf6, 0x79, 0x08, 0x49, 0x84, 0x8b, 0xe7, 0x33,
+ 0xd5, 0x7d, 0x3a, 0x1c, 0x1b, 0x11, 0xa6, 0x3b, 0x18, 0xa1,
+ 0xf1, 0xc2, 0x52, 0x20, 0x27, 0x87, 0x73, 0x82, 0x03, 0x33,
+ 0x4f, 0x7d, 0x09, 0xd0, 0xf9, 0x75, 0x26, 0xa1, 0x36, 0x9f,
+ 0xa4, 0x98, 0x5a, 0x40, 0x48, 0x42, 0xb3, 0xc9, 0x3b, 0x2e,
+ 0x19, 0xca, 0x9c, 0x04, 0x9a, 0x9d, 0x64, 0x2c, 0xfc, 0xbf,
+ 0x71, 0x6d, 0xe7, 0xa5, 0x94, 0xc5, 0xf8, 0x1e, 0x4b, 0x67,
+ 0xfe, 0x22, 0x61, 0xa6, 0x08, 0x07, 0xde, 0xa0, 0x88, 0x62,
+ 0x5f, 0x11, 0x1a, 0x77, 0x2b, 0x8d, 0x01, 0x99, 0xa1, 0x12,
+ 0xae, 0xf8, 0xe7, 0x8f, 0xdc, 0x0e, 0xf0, 0xfa, 0xfb, 0xa3,
+ 0xfc, 0xee, 0x65, 0x26, 0x22, 0x0d, 0x87, 0x3a, 0xac, 0xfe,
+ 0x20, 0xba, 0xc2, 0x04, 0x1b, 0x1c, 0x46, 0x4b, 0xc9, 0x24,
+ 0xe2, 0xb9, 0x21, 0xc5, 0x95, 0xd1, 0x74, 0xd6, 0x6d, 0xef,
+ 0xfa, 0xc8, 0x91, 0x28, 0xad, 0x9b, 0x28, 0xda, 0xac, 0x89,
+ 0x31, 0xa7, 0xfe, 0xf7, 0x97, 0x6f, 0x1c, 0xce, 0x86, 0x5c,
+ 0xf4, 0x91, 0xe8, 0x6e, 0x0a, 0x76, 0x08, 0x88, 0xaa, 0x9b,
+ 0x38, 0x84, 0xfd, 0x1a, 0x51, 0x3f, 0x90, 0x2e, 0x6b, 0x71,
+ 0x23, 0xb4, 0x43, 0xf9, 0x56, 0x2f, 0x0a, 0x7a, 0x1d, 0xa5,
+ 0xeb, 0x9a, 0x3c, 0x2c, 0xab, 0xc5, 0x85, 0x4b, 0x7a, 0xd6,
+ 0x02, 0x43, 0xa5, 0x91, 0xfc, 0x71, 0x3c, 0xf9, 0x58, 0x93,
+ 0xae, 0x4f, 0x71, 0xf3, 0xd5, 0x1b, 0x6d, 0x84, 0x6e, 0x45,
+ 0x1e, 0x18, 0x5c, 0x13, 0xa7, 0x28, 0x6e, 0xfb, 0xd7, 0x0c,
+ 0xec, 0x34, 0x39, 0xe8, 0xc1, 0xae, 0xff, 0xcc, 0x8b, 0x70,
+ 0xc3, 0x97, 0xed, 0xe4, 0xfe, 0xce, 0xa7, 0x45, 0xc5, 0x5c,
+ 0xf3, 0x50, 0x1f, 0x73, 0x31, 0xd5, 0x6f, 0x95, 0x2d, 0x50,
+ 0x58, 0x31, 0x9e, 0x6a, 0x91, 0x30, 0x5c, 0xbb, 0xfe, 0xa7,
+ 0xe6, 0xb6, 0x0b, 0x2a, 0xb7, 0x44, 0x4e, 0xac, 0x58, 0x91,
+ 0x24, 0x3c, 0x4b, 0xe5, 0x20, 0xfe, 0x3e, 0x7a, 0x79, 0xc1,
+ 0x77, 0xf0, 0xe8, 0x53, 0x61, 0xbe, 0x70, 0x50, 0xe4, 0x0e,
+ 0xc1, 0x2a, 0xe9, 0x19, 0x1d, 0x7e, 0xf4, 0xef, 0xc1, 0x91,
+ 0x2a, 0xcf, 0x8c, 0xe4, 0xd6, 0xf0, 0x21, 0x95, 0x53, 0xbc,
+ 0xb1, 0x7c, 0x34, 0x5b, 0x67, 0x6e, 0x13, 0xe0, 0xd8, 0x88,
+ 0x79, 0x1b, 0xc0, 0x41, 0x84, 0xdf, 0xd5, 0xc3, 0x31, 0xd1,
+ 0x93, 0xd6, 0xbc, 0x2d, 0xb7, 0x4f, 0xb2, 0xcf, 0x22, 0x28,
+ 0xe4, 0x35, 0x2a, 0x78, 0xf1, 0x65, 0x35, 0x29, 0x85, 0x02,
+ 0xe3, 0x23, 0x1d, 0x24, 0xc3, 0xfc, 0x33, 0x56, 0x4e, 0xc7,
+ 0x72, 0x7a, 0x1c, 0xeb, 0xce, 0x73, 0x1f, 0x97, 0x2f, 0xda,
+ 0x23, 0x43, 0x89, 0xf3, 0xe2, 0xc5, 0xb2, 0xce, 0xba, 0x14,
+ 0xf7, 0x5c, 0x4b, 0xfb, 0x80, 0x31, 0xc2, 0x97, 0x5e, 0x90,
+ 0x86, 0x7a, 0x78, 0xad, 0x37, 0x58, 0x53, 0x2a, 0xc1, 0xda,
+ 0x7a, 0xb1, 0x24, 0x91, 0x49, 0xe4, 0xdf, 0x70, 0xb8, 0x19,
+ 0x91, 0xa7, 0x6a, 0x05, 0x95, 0xb6, 0xd5, 0x5a, 0xc5, 0x45,
+ 0x9e, 0x87, 0xbb, 0xcf, 0x3b, 0x06, 0xb8, 0x65, 0x21, 0x74,
+ 0x69, 0x02, 0xe7, 0xa4, 0x25, 0xfa, 0x24, 0x22, 0x17, 0xcd,
+ 0xfb, 0xb2, 0x1e, 0x9a, 0x18, 0x5b, 0x3d, 0x6e, 0x48, 0x4f,
+ 0xc4, 0x2e, 0xf3, 0x41, 0x73, 0x72, 0xfe, 0x38, 0xea, 0x22,
+ 0xb7, 0x96, 0x52, 0xa9, 0x83, 0x9b, 0x26, 0x47, 0x93, 0xab,
+ 0x8c, 0xc9, 0x3e, 0x8c, 0x4c, 0xdd, 0x8e, 0xb9, 0x06, 0xc5,
+ 0x2c, 0x70, 0xc7, 0x93, 0x44, 0xc8, 0xe8, 0x76, 0xbd, 0x93,
+ 0x65, 0x1f, 0xc5, 0xc8, 0xfa, 0x71, 0x1e, 0x8e, 0x27, 0x2c,
+ 0xfe, 0x6d, 0x44, 0x74, 0x7d, 0x27, 0xc3, 0xe0, 0xfc, 0xe7,
+ 0xae, 0x1d, 0xb1, 0x65, 0xc6, 0xf8, 0x29, 0x0e, 0x20, 0xcb,
+ 0xea, 0x55, 0xbc, 0x87, 0x4e, 0x24, 0x2d, 0x33, 0x29, 0x4d,
+ 0x28, 0x20, 0xd0, 0x85, 0xf6, 0x60, 0x2a, 0xe1, 0x1a, 0x78,
+ 0x77, 0x0b, 0x79, 0x5f, 0x86, 0xa6, 0xc9, 0xf4, 0x07, 0xe6,
+ 0x92, 0xdf, 0xa9, 0xfe, 0x33, 0xba, 0x3c, 0x7a, 0x85, 0xeb,
+ 0xb4, 0x58, 0x29, 0x4b, 0xbd, 0x43, 0x3e, 0xdd, 0x69, 0x4a,
+ 0x95, 0x45, 0x05, 0x55, 0xd1, 0x87, 0x1b, 0xb3, 0xc8, 0x9f,
+ 0x6a, 0x20, 0x5a, 0x62, 0x6c, 0xc0, 0x61, 0xfd, 0xaa, 0x98,
+ 0xbe, 0x40, 0xd0, 0x67, 0x2a, 0xf6, 0x0a, 0xca, 0xa5, 0xd9,
+ 0xac, 0x74, 0xc7, 0x02, 0x93, 0xb7, 0xea, 0x2c, 0x7f, 0x8c,
+ 0xcb, 0x22, 0xdd, 0xa9, 0xc1, 0x66, 0x2f, 0x6b, 0xee, 0xc0,
+ 0xd8, 0xc6, 0x16, 0x98, 0x4d, 0x72, 0x2b, 0x9d, 0x67, 0x0c,
+ 0x6d, 0x64, 0xef, 0xdf, 0x48, 0x3f, 0xe1, 0xe9, 0x42, 0xf4,
+ 0xe2, 0x99, 0xca, 0x49, 0xb0, 0x6f, 0x09, 0xdb, 0x25, 0xbc,
+ 0xc5, 0x73, 0x45, 0x9f, 0xc8, 0xd5, 0x18, 0x19, 0x2c, 0x4f,
+ 0xa7, 0x1b, 0x50, 0xd1, 0xe5, 0x08, 0x63, 0x8c, 0x7c, 0xb0,
+ 0x9c, 0xb9, 0xb7, 0xf2, 0xcd, 0x9b, 0x70, 0x78, 0x34, 0x6e,
+ 0x66, 0x17, 0x4a, 0x4e, 0x37, 0xc1, 0x60, 0x0d, 0x85, 0x0c,
+ 0x2d, 0x24, 0xca, 0xdd, 0x98, 0x6c, 0xa6, 0xa3, 0xec, 0xb1,
+ 0x0e, 0xee, 0x34, 0x61, 0x2a, 0xe7, 0xcc, 0xf0, 0x1d, 0xbe,
+ 0xfc, 0xd3, 0xa3, 0x29, 0x18, 0x09, 0xa1, 0x23, 0x5b, 0xa6,
+ 0xe1, 0x33, 0x2e, 0x99, 0x7d, 0x54, 0x03, 0x68, 0x63, 0x9d,
+ 0xbe, 0xf6, 0x98, 0x0c, 0x0f, 0xca, 0x4e, 0xd8, 0xcf, 0x4d,
+ 0xaa, 0x37, 0x67, 0xd7, 0xe0, 0x82, 0x97, 0x34, 0xd3, 0x7d,
+ 0xf3, 0x7e, 0x7c, 0x26, 0x2f, 0xf2, 0x10, 0x92, 0xcb, 0xd5,
+ 0x20, 0x36, 0x31, 0xcb, 0xea, 0x52, 0xa7, 0x12, 0xd3, 0xcd,
+ 0xce, 0x26, 0xc7, 0xf1, 0xaf, 0x6a, 0x0d, 0x66, 0x69, 0xfa,
+ 0x74, 0x38, 0x36, 0x22, 0x8f, 0x76, 0x30, 0x81, 0x21, 0x47,
+ 0xa4, 0x40, 0xcd, 0xd2, 0xcf, 0x05, 0x4d, 0x17, 0x62, 0x4e,
+ 0x20, 0x9d, 0xd1, 0x55, 0xf6, 0x24, 0xc0, 0xff, 0x4e, 0xcd,
+ 0xe6, 0xc7, 0x06, 0x66, 0x9e, 0xfa, 0x12, 0x63, 0x31, 0xea,
+ 0x4c, 0x81, 0x6c, 0xfd, 0x8e, 0x79, 0x40, 0x38, 0x3f, 0x49,
+ 0xca, 0x96, 0xbd, 0x88, 0xd0, 0x3e, 0x9b, 0xe2, 0x08, 0x42,
+ 0x8b, 0xf3, 0xb4, 0x80, 0x90, 0x84, 0xa5, 0x51, 0x76, 0x5c,
+ 0x32, 0x57, 0xfb, 0x08, 0xf7, 0xf9, 0x4b, 0x47, 0x12, 0x7f,
+ 0xa9, 0xab, 0xf1, 0x3d, 0xd9, 0xb7, 0xd3, 0x83, 0x2c, 0x6b,
+ 0x93, 0x46, 0xc8, 0x58, 0x3b, 0xbd, 0xe2, 0xda, 0x0d, 0x89,
+ 0xeb, 0x49, 0x33, 0x3c, 0x96, 0xce, 0x3f, 0x44, 0x08, 0xec,
+ 0x9d, 0x42, 0xdb, 0xf5, 0x59, 0xe5, 0x44, 0xa2, 0xd2, 0xe8,
+ 0x41, 0xad, 0x5b, 0xfb, 0xc2, 0x8f, 0x10, 0x0e, 0x7f, 0x83,
+ 0xd3, 0xc4, 0xbe, 0x22, 0x34, 0xee, 0x56, 0xd9, 0x02, 0xf1,
+ 0x02, 0x3b, 0xb6, 0xf1, 0x46, 0xac, 0x87, 0xa8, 0x11, 0xc9,
+ 0xd5, 0x3a, 0x81, 0xba, 0x66, 0x4e, 0x81, 0x24, 0x9f, 0x33,
+ 0x0d, 0xdd, 0x7b, 0x1c, 0x23, 0x37, 0x35, 0x85, 0x3b, 0x1f,
+ 0xca, 0x4c, 0x41, 0x90, 0x39, 0xcc, 0x34, 0xf2, 0x2f, 0x70,
+ 0x8c, 0xdc, 0xd4, 0x51, 0xec, 0x7c, 0xae, 0xf3, 0x44, 0x1a,
+ 0xcd, 0x74, 0x9b, 0x3f, 0x40, 0xb7, 0x47, 0x08, 0x36, 0x38,
+ 0x8c, 0x96, 0x51, 0x48, 0x84, 0xae, 0x6b, 0x8b, 0xa2, 0x10,
+ 0x14, 0xdb, 0xe8, 0xe3, 0xd7, 0xec, 0x5b, 0xf5, 0x35, 0xf7,
+ 0x07, 0xb1, 0x42, 0x49, 0xe9, 0x61, 0xe8, 0x6f, 0xda, 0x1d,
+ 0x37, 0x53, 0xe1, 0x50, 0x99, 0xf5, 0xc7, 0x05, 0xe4, 0xb6,
+ 0xd0, 0x4e, 0xbc, 0x03, 0x75, 0xf6, 0xd6, 0x87, 0x36, 0x33,
+ 0xfd, 0x4a, 0x50, 0x77, 0x9b, 0xd1, 0x62, 0x8d, 0x3f, 0x2d,
+ 0xed, 0xde, 0x38, 0x5f, 0xcf, 0xb8, 0x2b, 0xe1, 0x90, 0xc3,
+ 0x3d, 0x2e, 0x5b, 0xa2, 0x6b, 0x41, 0x42, 0x35, 0xd9, 0x8b,
+ 0x18, 0xdb, 0x4f, 0x5e, 0x13, 0xdc, 0x14, 0xec, 0x10, 0xd3,
+ 0x97, 0xf5, 0x70, 0xcb, 0x39, 0x34, 0xa2, 0x7e, 0xe3, 0x5c,
+ 0xd3, 0x68, 0xb2, 0x13, 0x29, 0xfc, 0xc3, 0x99, 0xdf, 0x20,
+ 0xd8, 0xe0, 0x75, 0x1d, 0x87, 0xe3, 0xd6, 0xe2, 0x46, 0xab,
+ 0x86, 0x31, 0xac, 0x5e, 0x14, 0xf4, 0x3a, 0x89, 0x15, 0xf7,
+ 0x78, 0x58, 0x16, 0x56, 0xe0, 0x54, 0xbf, 0x1e, 0xf8, 0x32,
+ 0xbb, 0x1f, 0xdb, 0x5d, 0xc2, 0x94, 0x1c, 0xe7, 0x95, 0x49,
+ 0xc9, 0x96, 0xf4, 0x6f, 0x04, 0x86, 0x89, 0xe1, 0x3b, 0xe2,
+ 0x78, 0x31, 0xb0, 0xe5, 0x55, 0xfd, 0x6f, 0x69, 0xcd, 0x40,
+ 0x50, 0xea, 0x26, 0x0a, 0xda, 0x36, 0xaf, 0x52, 0xd4, 0x5a,
+ 0x9f, 0x9e, 0xe2, 0x25, 0x69, 0x36, 0xda, 0xcb, 0xdc, 0x8a,
+ 0x3c, 0x30, 0xb8, 0x26, 0x8d, 0x50, 0x5f, 0x2a, 0x44, 0xda,
+ 0x50, 0x19, 0x8e, 0xa7, 0x73, 0x61, 0xdd, 0xe4, 0x6f, 0x45,
+ 0xe9, 0xef, 0xdc, 0x35, 0x6d, 0x18, 0x1b, 0x68, 0x72, 0x13,
+ 0x41, 0x9f, 0x3d, 0x5b, 0xd5, 0xe0, 0x45, 0xed, 0x1c, 0x81,
+ 0xcb, 0xe7, 0x22, 0x47, 0x26, 0x7f, 0xee, 0x74, 0xdc, 0x8f,
+ 0x02, 0x83, 0x21, 0x52, 0x19, 0x0b, 0x3f, 0x5f, 0x8d, 0x8a,
+ 0x49, 0xb8, 0x25, 0xa0, 0x3e, 0xe6, 0x62, 0x69, 0xde, 0xe9,
+ 0xd9, 0xbf, 0x99, 0xa0, 0xb4, 0xa5, 0x1d, 0xd4, 0x8a, 0x4b,
+ 0xdf, 0x32, 0xb5, 0x0a, 0xba, 0x56, 0x5a, 0xa0, 0xb0, 0x62,
+ 0xff, 0xd4, 0xe1, 0x60, 0xb8, 0xb5, 0x3f, 0x8d, 0x0f, 0xaf,
+ 0x16, 0x54, 0x9a, 0x14, 0x16, 0x9d, 0xc6, 0xfb, 0xb5, 0x0c,
+ 0x17, 0x5e, 0xde, 0x59, 0xd8, 0xcc, 0x72, 0xeb, 0xad, 0x88,
+ 0x9c, 0x9b, 0xb0, 0xe1, 0x48, 0x78, 0x96, 0x09, 0x40, 0x3f,
+ 0x7c, 0xf4, 0xf2, 0x41, 0x6d, 0x3c, 0x3a, 0x64, 0x89, 0xce,
+ 0x1c, 0x14, 0x39, 0xe2, 0xa1, 0xeb, 0xab, 0x97, 0x96, 0xfe,
+ 0xee, 0x23, 0x13, 0xa6, 0xc2, 0xbf, 0xe0, 0xa0, 0x0b, 0x1c,
+ 0x41, 0x54, 0x11, 0x32, 0x3a, 0xfc, 0x2e, 0x97, 0xb5, 0x59,
+ 0xfb, 0x90, 0xb4, 0xcc, 0xa4, 0xf7, 0xa0, 0x80, 0xc6, 0x51,
+ 0x5e, 0x43, 0x2b, 0x1d, 0x41, 0xe1, 0x54, 0x5d, 0xdb, 0x0b,
+ 0x6f, 0x23, 0x42, 0xe9, 0xa6, 0xbb, 0xa1, 0xf8, 0xeb, 0xa9,
+ 0xe7, 0x1e, 0x6d, 0x72, 0x8f, 0x67, 0xc0, 0xc8, 0xa3, 0x3d,
+ 0x71, 0xd8, 0xc5, 0x47, 0x68, 0xb6, 0xce, 0xdc, 0x26, 0x03,
+ 0x73, 0xd3, 0xf2, 0x36, 0x43, 0x82, 0xcb, 0x7d, 0x69, 0x45,
+ 0xa8, 0x02, 0x68, 0x23, 0x1f, 0x2c, 0x27, 0xbf, 0x5d, 0xdd,
+ 0xa2, 0x56, 0x1c, 0x1e, 0x0d, 0xfa, 0x62, 0x61, 0xe5, 0x6f,
+ 0xbb, 0x5a, 0xad, 0x9e, 0xa7, 0x5d, 0x44, 0x50, 0x0b, 0x6a,
+ 0x54, 0xf0, 0xa2, 0xd5, 0x43, 0x90, 0x82, 0x75, 0xf9, 0xf2,
+ 0x08, 0xb6, 0xa5, 0x84, 0xdc, 0x09, 0x30, 0x4f, 0x21, 0xca,
+ 0x6a, 0x52, 0xc9, 0x04, 0x05, 0x46, 0x3a, 0x48, 0x45, 0x3b,
+ 0x66, 0xac, 0x9c, 0x4d, 0xe1, 0x7e, 0xcc, 0xad, 0xf0, 0x2b,
+ 0x51, 0x2a, 0x95, 0xa3, 0xa4, 0xef, 0xb1, 0xcf, 0xf8, 0xf2,
+ 0xe4, 0xf4, 0x38, 0x15, 0x5f, 0xe6, 0x3e, 0xed, 0x5e, 0x77,
+ 0x46, 0x86, 0xd1, 0x25, 0x07, 0x49, 0x24, 0x40, 0x9e, 0xea,
+ 0x66, 0xc9, 0x6a, 0x81, 0xf1, 0x9c, 0xa7, 0x52, 0x06, 0x46,
+ 0x63, 0xf6, 0xa7, 0x5f, 0xb7, 0x28, 0x2d, 0xb8, 0x96, 0x35,
+ 0xc3, 0x62, 0x47, 0xed, 0xbc, 0xe3, 0xcf, 0xf4, 0x67, 0xeb,
+ 0x11, 0xd7, 0x14, 0x97, 0xc2, 0x59, 0x6c, 0x89, 0xa6, 0x39,
+ 0x6b, 0x80, 0xab, 0x4b, 0xf0, 0x99, 0x6e, 0xb0, 0xa6, 0x54,
+ 0x41, 0x77, 0xf4, 0xa1, 0x48, 0xe1, 0x92, 0x0b, 0x7d, 0xe0,
+ 0x30, 0x2d, 0xc8, 0x4f, 0x9f, 0x7b, 0x15, 0x1b, 0x5b, 0x4a,
+ 0xa9, 0x35, 0x45, 0x68, 0x19, 0x5f, 0xb3, 0x32, 0xe1, 0x8d,
+ 0xd4, 0x0a, 0xe9, 0xaf, 0x69, 0xb4, 0x49, 0x8a, 0xff, 0xcd,
+ 0xb5, 0x5d, 0x73, 0x86, 0x47, 0x72, 0xed, 0x25, 0xbd, 0xc3,
+ 0xc6, 0x5f, 0xa8, 0x5e, 0x28, 0xae, 0xd1, 0xe2, 0x76, 0x0c,
+ 0xb3, 0xca, 0x42, 0xe8, 0xd2, 0x04, 0x0d, 0x8b, 0x4a, 0x37,
+ 0x48, 0x44, 0x2e, 0x59, 0xb6, 0xb8, 0x15, 0x35, 0x7b, 0xc7,
+ 0x86, 0x68, 0xa2, 0x60, 0xab, 0xe3, 0x9f, 0x27, 0x4a, 0xe6,
+ 0x35, 0xa7, 0x3c, 0xf7, 0x30, 0xb6, 0x7a, 0xdc, 0x90, 0x9e,
+ 0x4b, 0x5c, 0x25, 0x82, 0xe6, 0xe4, 0xf5, 0x13, 0x9a, 0x08,
+ 0x09, 0x99, 0x2e, 0xb0, 0x3f, 0x75, 0xaa, 0x88, 0xf2, 0xe1,
+ 0x82, 0x5b, 0x3f, 0x70, 0x17, 0x44, 0xad, 0xef, 0xa4, 0x91,
+ 0xc5, 0xf5, 0x4c, 0x8e, 0xe5, 0x95, 0xdb, 0x51, 0xff, 0xc4,
+ 0xb1, 0xbb, 0x94, 0xc0, 0xf0, 0xfd, 0x6a, 0x1e, 0xad, 0x5a,
+ 0x32, 0xf6, 0xbf, 0xee, 0x7c, 0xdb, 0x98, 0x79, 0xdf, 0xb1,
+ 0x0c, 0x49, 0x58, 0xe0, 0x4d, 0xe5, 0x88, 0x53, 0x13, 0xec,
+ 0xbc, 0x6f, 0x3e, 0x86, 0xe6, 0x9e, 0x58, 0x25, 0xf7, 0x0b,
+ 0xac, 0x31, 0x5f, 0x30, 0x77, 0x53, 0xb9, 0xe5, 0xca, 0x3e,
+ 0x49, 0x53, 0x37, 0xe2, 0x3c, 0xdf, 0x4e, 0x58, 0x3f, 0xda,
+ 0x88, 0xe8, 0x79, 0x51, 0x6c, 0xc1, 0x70, 0x7c, 0x63, 0x8e,
+ 0x93, 0x34, 0xaf, 0x8c, 0xe8, 0xb9, 0xec, 0x57, 0xfa, 0x4e,
+ 0x45, 0x03, 0x3b, 0x0d, 0x9f, 0x3a, 0xa1, 0xca, 0x4f, 0x33,
+ 0x52, 0x1c, 0x40, 0x55, 0x3a, 0xfa, 0xe3, 0xfc, 0x02, 0x22,
+ 0xcb, 0x56, 0x0e, 0x21, 0xae, 0xe7, 0x85, 0x7f, 0x24, 0xea,
+ 0x17, 0xaa, 0xbb, 0xcd, 0x9c, 0x48, 0x5a, 0x66, 0x52, 0x9a,
+ 0x50, 0x40, 0x63, 0xc9, 0x2f, 0xc0, 0xd7, 0x1e, 0x1d, 0x32,
+ 0xa5, 0x67, 0x0e, 0x0a, 0xfd, 0x71, 0xb1, 0x94, 0xb4, 0xaa,
+ 0x4b, 0x7f, 0x54, 0x01, 0x34, 0xf0, 0xee, 0x16, 0xf2, 0xbe,
+ 0xcf, 0x8f, 0x51, 0x2b, 0x0e, 0x0f, 0xe7, 0x7d, 0x94, 0xb5,
+ 0x92, 0x0f, 0xd7, 0x39, 0xa6, 0xd2, 0x60, 0x64, 0xb0, 0xff,
+ 0xd9, 0x6c, 0x83, 0xc2, 0x91, 0x3f, 0x66, 0xb7, 0x78, 0xf4,
+ 0xc9, 0x15, 0xab, 0xb0, 0x52, 0x96, 0xb9, 0x86, 0x7c, 0x79,
+ 0x51, 0x8b, 0xc0, 0x48, 0x41, 0xdb, 0x9d, 0x79, 0x04, 0x5b,
+ 0xb3, 0x42, 0x6e, 0xe5, 0x18, 0xc6, 0xd2, 0x94, 0xe9, 0x8a,
+ 0x0a, 0xaa, 0x61, 0xcd, 0x36, 0xa5, 0x53, 0xfd, 0xd4, 0x40,
+ 0xb4, 0xc4, 0x12, 0x20, 0x4f, 0x75, 0x33, 0x85, 0x35, 0xa1,
+ 0x99, 0x4e, 0xb2, 0x29, 0x03, 0x23, 0xd0, 0x7b, 0xd8, 0x43,
+ 0xc2, 0x39, 0x97, 0xf3, 0xbf, 0x80, 0x63, 0xce, 0x54, 0x2f,
+ 0x14, 0x57, 0x89, 0x71, 0x18, 0xf7, 0x64, 0xc6, 0xae, 0xdc,
+ 0xeb, 0xec, 0xcc, 0x25, 0xb5, 0xfb, 0xc3, 0x34, 0xed, 0xce,
+ 0x9b, 0xe8, 0x4d, 0x04, 0xe5, 0xad, 0x17, 0x58, 0xfe, 0xdb,
+ 0x55, 0x44, 0x79, 0x91, 0x41, 0xcc, 0x5b, 0x5c, 0xeb, 0xfb,
+ 0xdc, 0x82, 0x43, 0x34, 0x51, 0x30, 0xb4, 0x90, 0xae, 0xf2,
+ 0x25, 0x73, 0x5e, 0xd6, 0x1f, 0x43, 0x73, 0x4f, 0x2c, 0xf3,
+ 0x9a, 0xe4, 0x56, 0xf9, 0xce, 0x18, 0xda, 0xc8, 0x9e, 0x62,
+ 0xb9, 0xbc, 0x4a, 0x60, 0x78, 0x9f, 0x35, 0x0f, 0xb7, 0x2d,
+ 0x19, 0x7b, 0xbe, 0x77, 0x1d, 0x7d, 0x90, 0x7e, 0x01, 0x11,
+ 0x84, 0x2b, 0x07, 0xf1, 0x57, 0x92, 0xa3, 0xde, 0x12, 0x75,
+ 0xdd, 0xc9, 0x36, 0x81, 0x38, 0x3e, 0xd0, 0x47, 0xa8, 0x1a,
+ 0xb6, 0x46, 0x74, 0xbd, 0x76, 0xca, 0x4a, 0xbb, 0x49, 0xe6,
+ 0x8a, 0xfd, 0x53, 0x69, 0x30, 0x32, 0x58, 0x9e, 0x8d, 0x36,
+ 0xa0, 0x61, 0x8a, 0x0f, 0xef, 0x19, 0xb3, 0xd2, 0x07, 0x05,
+ 0x9f, 0xd9, 0xb9, 0x4a, 0x5a, 0x55, 0xc4, 0xde, 0x09, 0x10,
+ 0xc6, 0xdb, 0xf8, 0xa3, 0xfb, 0xb1, 0xad, 0x27, 0x59, 0xf5,
+ 0xe0, 0xf0, 0x68, 0xdc, 0xc9, 0xa4, 0x60, 0x24, 0xc1, 0x8c,
+ 0xaf, 0xdd, 0x02, 0xcc, 0xb8, 0x21, 0x37, 0x93, 0x0c, 0x63,
+ 0xcc, 0x2e, 0x94, 0x9c, 0x6e, 0x41, 0xc0, 0x1a, 0xc9, 0x18,
+ 0x5a, 0x48, 0x57, 0x79, 0xf3, 0xd8, 0x0c, 0x9a, 0x32, 0x63,
+ 0x57, 0x6e, 0x94, 0x76, 0x66, 0xf3, 0xbb, 0x9c, 0x80, 0x1a,
+ 0x97, 0x67, 0x8f, 0x85, 0x1b, 0xa1, 0x1c, 0x1f, 0x68, 0xc2,
+ 0x54, 0x0d, 0x5b, 0x23, 0x3a, 0xbf, 0x3b, 0x65, 0x4f, 0x31,
+ 0xbd, 0x5e, 0x25, 0x30, 0x3c, 0xae, 0xfb, 0xe6, 0xba, 0xf7,
+ 0xed, 0xdc, 0x5f, 0xda, 0x85, 0x52, 0x30, 0x12, 0x81, 0x46,
+ 0xb6, 0x8f, 0x01, 0x66, 0x5c, 0xf1, 0xfa, 0xa8, 0x06, 0xd0,
+ 0x45, 0xe6, 0x96, 0xed, 0xb8, 0x69, 0xe2, 0xe3, 0xae, 0x8d,
+ 0xbd, 0x25, 0x2d, 0xcb, 0x62, 0x6f, 0xc6, 0xf9, 0xbf, 0x2f,
+ 0xf3, 0x18, 0x1e, 0x57, 0x9c, 0x73, 0x5d, 0x9a, 0x97, 0x6e,
+ 0xce, 0x6d, 0x06, 0x4d, 0x19, 0xd0, 0xca, 0x37, 0x4a, 0x3b,
+ 0x33, 0x98, 0xbc, 0x4e, 0x40, 0x0d, 0xaa, 0xd2, 0x03, 0xc7,
+ 0xed, 0x68, 0x65, 0xfa, 0x25, 0xfc, 0xf8, 0x4c, 0x5e, 0x27,
+ 0x20, 0xe7, 0x55, 0x69, 0xc3, 0x73, 0x4b, 0x97, 0x5c, 0xd5,
+ 0x71, 0x90, 0x57, 0xa7, 0xbf, 0xf3, 0xf7, 0x84, 0x31, 0xd6,
+ 0x40, 0x6c, 0x62, 0x55, 0x17, 0xa4, 0x8d, 0x24, 0x65, 0x59,
+ 0x5f, 0x4c, 0x4d, 0x21, 0x9d, 0xd4, 0x80, 0xd8, 0xc4, 0xaa,
+ 0x2e, 0x8b, 0xd9, 0x48, 0xca, 0xb2, 0xbe, 0x98, 0x9a, 0x42,
+ 0xf9, 0x6b, 0x1a, 0xcc, 0xd2, 0x37, 0xe8, 0x70, 0x6c, 0x44,
+ 0xdd, 0xec, 0x60, 0xc1, 0x42, 0x8e, 0x8b, 0x80, 0xda, 0x78,
+ 0x74, 0xc8, 0xd1, 0x5f, 0x38, 0x28, 0x72, 0x07, 0x81, 0x15,
+ 0x95, 0xed, 0xef, 0x3f, 0x59, 0x67, 0x5d, 0x0a, 0x9a, 0x2e,
+ 0xc4, 0x9c, 0x40, 0xf9, 0x61, 0xaa, 0x2f, 0x48, 0x43, 0x3d,
+ 0x99, 0xd3, 0xfb, 0xf5, 0xa3, 0x01, 0x90, 0xf0, 0xef, 0x12,
+ 0x80, 0x7e, 0xf8, 0x2b, 0x27, 0x82, 0x9c, 0x59, 0x0f, 0x4d,
+ 0x0c, 0xcc, 0xff, 0x37, 0x24, 0xc6, 0x62, 0x17, 0x98, 0xc1,
+ 0xd8, 0x39, 0x5c, 0xed, 0xa9, 0xb2, 0x35, 0xe3, 0xab, 0x5b,
+ 0x8b, 0x2d, 0x83, 0xc3, 0x4f, 0xa2, 0xbc, 0x86, 0xdf, 0xf2,
+ 0x80, 0x70, 0x7e, 0x92, 0x57, 0xef, 0xb9, 0xd3, 0x63, 0x7c,
+ 0xf5, 0x07, 0x10, 0x84, 0x1f, 0x46, 0x26, 0x8f, 0x47, 0xbd,
+ 0x03, 0x83, 0x16, 0x38, 0x82, 0xa8, 0x22, 0x64, 0x74, 0x3b,
+ 0xd5, 0x25, 0xab, 0xc3, 0xe3, 0xcb, 0x89, 0xa2, 0xec, 0xb8,
+ 0x64, 0xae, 0x35, 0x10, 0x2d, 0x31, 0x15, 0x91, 0x0d, 0x3c,
+ 0xda, 0xe4, 0xdd, 0xce, 0x43, 0x53, 0x85, 0x7a, 0xe2, 0x73,
+ 0x49, 0x8e, 0x96, 0x8e, 0x24, 0xfe, 0x91, 0x95, 0x21, 0x7a,
+ 0x71, 0xad, 0x65, 0xc5, 0x58, 0xd6, 0xe5, 0x8c, 0x56, 0x3a,
+ 0x82, 0x01, 0xa8, 0xba, 0x75, 0x16, 0xde, 0x46, 0x84, 0x11,
+ 0x8f, 0xb5, 0x81, 0x33, 0x53, 0xb0, 0x76, 0xb9, 0x07, 0x77,
+ 0x1a, 0xd1, 0x15, 0x92, 0x66, 0x78, 0xef, 0x5f, 0x7e, 0x88,
+ 0x93, 0x04, 0xd0, 0x46, 0x3e, 0x58, 0x4e, 0xbd, 0xba, 0x79,
+ 0x87, 0xac, 0x38, 0x3c, 0x1a, 0x37, 0x10, 0x1b, 0xf9, 0x84,
+ 0x75, 0x29, 0xb2, 0x09, 0x88, 0x87, 0x67, 0x13, 0x82, 0x99,
+ 0xb6, 0x35, 0xd0, 0xaf, 0x5f, 0x7b, 0x4c, 0x06, 0xe6, 0x65,
+ 0x27, 0x6c, 0x86, 0xc7, 0x55, 0xfa, 0xd2, 0x8a, 0x47, 0xdd,
+ 0x20, 0x1c, 0xfe, 0xc5, 0x65, 0x4b, 0xbf, 0x44, 0x68, 0x1f,
+ 0xac, 0x71, 0x04, 0x21, 0x87, 0x69, 0x86, 0xe3, 0xc7, 0xea,
+ 0x31, 0x27, 0x10, 0xaf, 0x89, 0xcb, 0x7b, 0x12, 0x60, 0x9e,
+ 0x04, 0x76, 0xaf, 0x21, 0x8c, 0x9b, 0xcd, 0x93, 0x22, 0x51,
+ 0x69, 0x74, 0xc1, 0xb7, 0xcc, 0x9c, 0xc4, 0xc2, 0x09, 0xde,
+ 0xb5, 0xb4, 0x99, 0xff, 0x8d, 0xba, 0x88, 0xa0, 0x16, 0xd4,
+ 0xa8, 0x23, 0xc1, 0x48, 0xfd, 0x66, 0x1a, 0x79, 0xf6, 0x38,
+ 0x46, 0x6e, 0x6a, 0xc9, 0x76, 0x3e, 0x57, 0x98, 0x01, 0xfc,
+ 0x5b, 0x99, 0x23, 0x56, 0xa2, 0x54, 0xe9, 0x85, 0x8b, 0x1d,
+ 0xa1, 0x5d, 0x33, 0x27, 0x82, 0xe3, 0x72, 0x5b, 0x68, 0x27,
+ 0x5e, 0xe0, 0xdb, 0x7b, 0x6b, 0xa2, 0x1b, 0xf8, 0x9f, 0x25,
+ 0x42, 0x57, 0xd4, 0xa4, 0x51, 0x08, 0x0a, 0x8c, 0x74, 0x90,
+ 0x8a, 0x76, 0xcc, 0x9b, 0xfb, 0x9a, 0x88, 0x34, 0x59, 0xe8,
+ 0xf5, 0x7e, 0x80, 0xad, 0x8e, 0x10, 0x6c, 0x70, 0xdb, 0xef,
+ 0xa2, 0x90, 0x48, 0x80, 0xff, 0x17, 0xcc, 0x51, 0xd4, 0xc1,
+ 0x21, 0xfb, 0x8d, 0xa4, 0x0c, 0x8c, 0xc6, 0x2f, 0xcb, 0x9f,
+ 0xd6, 0xd5, 0x87, 0x20, 0x28, 0x75, 0x13, 0x05, 0x6d, 0x1b,
+ 0xb6, 0x29, 0x6a, 0x2d, 0x0b, 0x2b, 0x70, 0x2a, 0xbe, 0x0f,
+ 0x7c, 0x19, 0xbc, 0xee, 0x8c, 0xcf, 0x61, 0x4a, 0x0e, 0x92,
+ 0x0e, 0xa1, 0x84, 0x92, 0x11, 0xc2, 0x13, 0xde, 0x77, 0x3a,
+ 0x6e, 0xa6, 0x01, 0xa0, 0xf1, 0x29, 0xce, 0x15, 0x22, 0x6d,
+ 0x28, 0xed, 0x47, 0xb2, 0xd8, 0xd1, 0x8f, 0x72, 0xd6, 0xc3,
+ 0x95, 0x96, 0x4d, 0x0a, 0x0b, 0xaf, 0x63, 0x9c, 0xbb, 0x06,
+ 0xea, 0x2f, 0x6f, 0xcd, 0x6c, 0x66, 0x39, 0x94, 0x8d, 0xbe,
+ 0xad, 0x50, 0x5a, 0xb3, 0xef, 0x6a, 0x45, 0xc4, 0x8e, 0x19,
+ 0xbb, 0x05, 0x5d, 0x2b, 0xa0, 0xee, 0xf5, 0x61, 0xc4, 0xd9,
+ 0x7e, 0x5a, 0x19, 0x7f, 0x70, 0xbe, 0x5d, 0xb3, 0x56, 0x01,
+ 0x60, 0x5a, 0x53, 0x9e, 0xfd, 0xf6, 0x2a, 0x36, 0xb6, 0x94,
+ 0x91, 0x6a, 0x8a, 0xd0, 0x32, 0xbe, 0xe3, 0x45, 0x7a, 0x5c,
+ 0xb6, 0x87, 0xd6, 0x82, 0x84, 0x6a, 0x71, 0xd5, 0x30, 0x75,
+ 0x9e, 0xbc, 0x23, 0xf1, 0xdc, 0xa3, 0x8f, 0xa8, 0x82, 0xee,
+ 0x2b, 0x81, 0x90, 0x01, 0xe7, 0x16, 0xfa, 0x03, 0x26, 0x7b,
+ 0x28, 0x1b, 0x20, 0x65, 0xed, 0x29, 0xe0, 0x55, 0x72, 0x68,
+ 0x87, 0xfc, 0x05, 0xb8, 0xe6, 0xcf, 0x8e, 0xe4, 0x19, 0x4a,
+ 0xb9, 0x45, 0x4f, 0xbe, 0x93, 0xbc, 0x50, 0x9f, 0x61, 0x07,
+ 0x65, 0xd0, 0xa7, 0x26, 0x52, 0x3b, 0x45, 0xf1, 0x7d, 0x40,
+ 0x73, 0x03, 0xea, 0x3a, 0xcd, 0x05, 0xa5, 0x64, 0x01, 0xd9,
+ 0x6b, 0x14, 0x11, 0x9d, 0xd2, 0xab, 0x92, 0xd7, 0x3d, 0x59,
+ 0xa9, 0xba, 0x6f, 0x07, 0x8c, 0x95, 0xcf, 0x62, 0x9b, 0xbc,
+ 0x28, 0x2b, 0x74, 0xd1, 0x2a, 0x2d, 0xf0, 0xb0, 0xaf, 0xb3,
+ 0x2a, 0x6a, 0xf6, 0x4d, 0xcf, 0xd0, 0x87, 0xc0, 0x95, 0x05,
+ 0xfd, 0x4e, 0x94, 0x0f, 0x2c, 0xac, 0x03, 0xa8, 0xbd, 0x3c,
+ 0x33, 0x64, 0xb5, 0x3e, 0x75, 0xba, 0x47, 0xeb, 0x38, 0x0d,
+ 0xec, 0x18, 0xa5, 0x57, 0x84, 0x13, 0x67, 0x08, 0x1a, 0xd5,
+ 0x94, 0x6e, 0x90, 0x88, 0x5c, 0xb2, 0xe9, 0x92, 0x51, 0xef,
+ 0x2b, 0xde, 0x08, 0xcf, 0xd1, 0x01, 0x76, 0x07, 0xf0, 0x62,
+ 0xa3, 0x09, 0x29, 0x26, 0xf7, 0x10, 0x12, 0xf1, 0x5c, 0xa3,
+ 0x7e, 0xea, 0x97, 0xd3, 0x27, 0x01, 0xc7, 0xb6, 0xaa, 0x39,
+ 0xde, 0xd2, 0x59, 0x80, 0xa0, 0x17, 0x4c, 0x14, 0x77, 0x6c,
+ 0x9d, 0xa4, 0x6b, 0xb4, 0x6a, 0x8d, 0x78, 0x2d, 0x60, 0xaf,
+ 0xf4, 0x7b, 0xe3, 0xff, 0x96, 0xb8, 0x4a, 0xc7, 0x0f, 0x0b,
+ 0xfd, 0xff, 0x07, 0x4a, 0xd2, 0x6c, 0x77, 0x55, 0x7b, 0xd7,
+ 0x78, 0x60, 0xb3, 0x4c, 0xd9, 0xa0, 0x3d, 0x4b, 0xa1, 0xb5,
+ 0xeb, 0x43, 0x23, 0x39, 0xd4, 0x3c, 0x99, 0xb4, 0x64, 0x2f,
+ 0xbd, 0x1f, 0xbe, 0x54, 0x88, 0x77, 0xa0, 0x32, 0xdf, 0x8d,
+ 0xe6, 0xc2, 0x79, 0x0b, 0xde, 0x8a, 0x11, 0x1d, 0x7e, 0xe0,
+ 0x2e, 0x88, 0x99, 0x1d, 0x8b, 0xe1, 0x49, 0x29, 0x98, 0xdf,
+ 0x09, 0xe9, 0x75, 0xa2, 0x7b, 0x6a, 0xda, 0x30, 0x36, 0xd0,
+ 0xe4, 0x26, 0x82, 0xfd, 0x7a, 0xb6, 0x69, 0x03, 0x8a, 0x19,
+ 0xbb, 0xde, 0x7c, 0xcf, 0x0f, 0xff, 0xb0, 0x4a, 0x2d, 0x16,
+ 0x9b, 0x62, 0xbe, 0x60, 0xee, 0xa6, 0x38, 0xc1, 0x55, 0x0d,
+ 0x44, 0x8e, 0x4c, 0xfe, 0x1f, 0xe8, 0x7b, 0xdd, 0x04, 0xc5,
+ 0x42, 0xa4, 0xf8, 0x75, 0xf3, 0xf2, 0x7d, 0xa1, 0x18, 0x92,
+ 0xb0, 0x03, 0x9a, 0x09, 0xd3, 0xa6, 0x26, 0x1b, 0x32, 0x16,
+ 0x7e, 0xbe, 0xd9, 0xd7, 0x92, 0xb3, 0x4a, 0x83, 0x7c, 0x0f,
+ 0xc4, 0xd2, 0x7f, 0x11, 0xf2, 0xa2, 0xd8, 0x41, 0xe0, 0xf8,
+ 0xc6, 0xdf, 0xe5, 0x68, 0x9d, 0xdb, 0x13, 0xb1, 0x1b, 0xae,
+ 0x71, 0xbd, 0xf1, 0x83, 0xab, 0x89, 0x3a, 0x6b, 0xd7, 0x96,
+ 0x7d, 0x64, 0xa9, 0x14, 0xb7, 0xac, 0xb1, 0x09, 0x57, 0x7c,
+ 0x92, 0xa6, 0x6e, 0x07, 0x78, 0x7d, 0x9c, 0xb0, 0x7e, 0x77,
+ 0xd3, 0x13, 0xb4, 0x83, 0xa3, 0xc4, 0x3d, 0x6b, 0x01, 0xc0,
+ 0xb3, 0xa9, 0x7e, 0xd9, 0x1e, 0x9d, 0x2c, 0xa8, 0x74, 0x37,
+ 0x05, 0x3b, 0x04, 0x44, 0x55, 0xac, 0x1c, 0x42, 0x9f, 0x0d,
+ 0xc9, 0xfe, 0x48, 0x17, 0xf7, 0x28, 0x2c, 0xf9, 0x4f, 0x35,
+ 0xa9, 0x18, 0x2e, 0xbc, 0x7f, 0xb2, 0x73, 0x5b, 0xe4, 0x15,
+ 0x37, 0x9c, 0x8a, 0x06, 0x76, 0x1a, 0xfd, 0x74, 0x81, 0x57,
+ 0x9e, 0x66, 0xa4, 0x38, 0x80, 0xaa,
+ },
+ {
+ /* 7 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x30, 0x7b,
+ 0xef, 0x84, 0x08, 0x09, 0xd4, 0xd5, 0xa3, 0x8d, 0xa6, 0xa1,
+ 0xc1, 0x0a, 0x02, 0xa8, 0x60, 0xf6, 0x1d, 0xcb, 0x10, 0x12,
+ 0x6b, 0x69, 0x85, 0xd9, 0x8f, 0x81, 0x41, 0x14, 0x03, 0xfc,
+ 0x50, 0x8d, 0xf2, 0x4f, 0x18, 0x1b, 0xbf, 0xbc, 0x26, 0x54,
+ 0x29, 0x20, 0x80, 0x1e, 0x04, 0x93, 0xc0, 0x2f, 0x3a, 0x55,
+ 0x20, 0x24, 0xd6, 0xd2, 0xc9, 0x71, 0xdd, 0xc1, 0x82, 0x28,
+ 0x05, 0xc7, 0xf0, 0x54, 0xd5, 0xd1, 0x28, 0x2d, 0x02, 0x07,
+ 0x6a, 0xfc, 0x7b, 0x60, 0x43, 0x22, 0x06, 0x3b, 0xa0, 0xd9,
+ 0x27, 0x9e, 0x30, 0x36, 0xbd, 0xbb, 0x4c, 0xa8, 0x52, 0x40,
+ 0xc3, 0x3c, 0x07, 0x6f, 0x90, 0xa2, 0xc8, 0x1a, 0x38, 0x3f,
+ 0x69, 0x6e, 0xef, 0x25, 0xf4, 0xe1, 0x02, 0x36, 0x08, 0xe5,
+ 0x43, 0x5e, 0x74, 0xaa, 0x40, 0x48, 0x6f, 0x67, 0x51, 0xe2,
+ 0x79, 0x41, 0xc7, 0x50, 0x09, 0xb1, 0x73, 0x25, 0x9b, 0x2e,
+ 0x48, 0x41, 0xbb, 0xb2, 0xf2, 0x6f, 0xdf, 0xe0, 0x06, 0x5a,
+ 0x0a, 0x4d, 0x23, 0xa8, 0x69, 0x61, 0x50, 0x5a, 0x04, 0x0e,
+ 0xd4, 0x3b, 0xf6, 0xc0, 0x86, 0x44, 0x0b, 0x19, 0x13, 0xd3,
+ 0x86, 0xe5, 0x58, 0x53, 0xd0, 0xdb, 0x77, 0xb6, 0x50, 0x61,
+ 0x47, 0x4e, 0x0c, 0x76, 0x83, 0x71, 0x4e, 0xff, 0x60, 0x6c,
+ 0xb9, 0xb5, 0x98, 0x93, 0xa4, 0x80, 0x45, 0x78, 0x0d, 0x22,
+ 0xb3, 0x0a, 0xa1, 0x7b, 0x68, 0x65, 0x6d, 0x60, 0x3b, 0x1e,
+ 0x02, 0x21, 0x84, 0x72, 0x0e, 0xde, 0xe3, 0x87, 0x53, 0x34,
+ 0x70, 0x7e, 0xd2, 0xdc, 0x1d, 0x4a, 0x2b, 0x01, 0x04, 0x6c,
+ 0x0f, 0x8a, 0xd3, 0xfc, 0xbc, 0xb0, 0x78, 0x77, 0x06, 0x09,
+ 0xbe, 0xc7, 0x8d, 0xa0, 0xc5, 0x66, 0x10, 0x09, 0x86, 0xbc,
+ 0xe8, 0x97, 0x80, 0x90, 0xde, 0xce, 0xa2, 0x07, 0xf2, 0x82,
+ 0x4d, 0xa0, 0x11, 0x5d, 0xb6, 0xc7, 0x07, 0x13, 0x88, 0x99,
+ 0x0a, 0x1b, 0x01, 0x8a, 0x54, 0x23, 0x8c, 0xaa, 0x12, 0xa1,
+ 0xe6, 0x4a, 0xf5, 0x5c, 0x90, 0x82, 0xb5, 0xa7, 0x27, 0xde,
+ 0x7d, 0x03, 0x0c, 0xb4, 0x13, 0xf5, 0xd6, 0x31, 0x1a, 0xd8,
+ 0x98, 0x8b, 0x61, 0x72, 0x84, 0x53, 0xdb, 0xa2, 0xcd, 0xbe,
+ 0x14, 0x9a, 0x46, 0x93, 0xd2, 0xc2, 0xa0, 0xb4, 0x08, 0x1c,
+ 0x6b, 0x76, 0x2f, 0x43, 0xcf, 0x88, 0x15, 0xce, 0x76, 0xe8,
+ 0x3d, 0x46, 0xa8, 0xbd, 0xdc, 0xc9, 0xc8, 0xfb, 0x89, 0xe2,
+ 0x0e, 0x82, 0x16, 0x32, 0x26, 0x65, 0xcf, 0x09, 0xb0, 0xa6,
+ 0x63, 0x75, 0xee, 0xaf, 0xa0, 0xc2, 0x8e, 0x9c, 0x17, 0x66,
+ 0x16, 0x1e, 0x20, 0x8d, 0xb8, 0xaf, 0xb7, 0xa0, 0x4d, 0x22,
+ 0x06, 0x63, 0x4f, 0x96, 0x18, 0xec, 0xc5, 0xe2, 0x9c, 0x3d,
+ 0xc0, 0xd8, 0xb1, 0xa9, 0xf3, 0xe5, 0x8b, 0xc3, 0x8a, 0xf0,
+ 0x19, 0xb8, 0xf5, 0x99, 0x73, 0xb9, 0xc8, 0xd1, 0x65, 0x7c,
+ 0x50, 0x68, 0x2d, 0x62, 0x4b, 0xfa, 0x1a, 0x44, 0xa5, 0x14,
+ 0x81, 0xf6, 0xd0, 0xca, 0xda, 0xc0, 0x76, 0x3c, 0x04, 0x42,
+ 0xcb, 0xe4, 0x1b, 0x10, 0x95, 0x6f, 0x6e, 0x72, 0xd8, 0xc3,
+ 0x0e, 0x15, 0xd5, 0xb1, 0xa2, 0xe3, 0x0a, 0xee, 0x1c, 0x7f,
+ 0x05, 0xcd, 0xa6, 0x68, 0xe0, 0xfc, 0x67, 0x7b, 0x3a, 0x94,
+ 0x56, 0x02, 0x08, 0xd8, 0x1d, 0x2b, 0x35, 0xb6, 0x49, 0xec,
+ 0xe8, 0xf5, 0xb3, 0xae, 0x99, 0x19, 0xf0, 0xa3, 0xc9, 0xd2,
+ 0x1e, 0xd7, 0x65, 0x3b, 0xbb, 0xa3, 0xf0, 0xee, 0x0c, 0x12,
+ 0xbf, 0x4d, 0xd9, 0x83, 0x49, 0xcc, 0x1f, 0x83, 0x55, 0x40,
+ 0x54, 0x27, 0xf8, 0xe7, 0xd8, 0xc7, 0x1c, 0xc0, 0x7f, 0x22,
+ 0x88, 0xc6, 0x20, 0x12, 0xcf, 0xbb, 0x13, 0xed, 0xc3, 0xe3,
+ 0x7f, 0x5f, 0x87, 0x0e, 0x27, 0xc7, 0x9a, 0x83, 0x21, 0x46,
+ 0xff, 0xc0, 0xfc, 0x69, 0xcb, 0xea, 0xab, 0x8a, 0x24, 0x83,
+ 0x81, 0x66, 0x5b, 0x89, 0x22, 0xba, 0xaf, 0x4d, 0x0e, 0x26,
+ 0xd3, 0xf1, 0x14, 0x36, 0x02, 0xd7, 0xa8, 0x46, 0xdb, 0x97,
+ 0x23, 0xee, 0x9f, 0x36, 0xe1, 0xa2, 0xdb, 0xf8, 0xc0, 0xe3,
+ 0xa1, 0x5a, 0x0e, 0xe7, 0x1a, 0x9d, 0x24, 0x81, 0x0f, 0x94,
+ 0x29, 0xb8, 0xe3, 0xc7, 0xa9, 0x8d, 0x4e, 0x7f, 0xfa, 0x06,
+ 0x18, 0xab, 0x25, 0xd5, 0x3f, 0xef, 0xc6, 0x3c, 0xeb, 0xce,
+ 0x7d, 0x58, 0xed, 0xf2, 0x5c, 0xa7, 0xd9, 0xa1, 0x26, 0x29,
+ 0x6f, 0x62, 0x34, 0x73, 0xf3, 0xd5, 0xc2, 0xe4, 0xcb, 0xa6,
+ 0x75, 0x87, 0x59, 0xbf, 0x27, 0x7d, 0x5f, 0x19, 0xdb, 0xf7,
+ 0xfb, 0xdc, 0x16, 0x31, 0x68, 0x2b, 0xd3, 0x26, 0x98, 0xb5,
+ 0x28, 0xf7, 0x8c, 0xe5, 0x67, 0x47, 0x83, 0xab, 0x10, 0x38,
+ 0xd6, 0xec, 0x5e, 0x86, 0x5d, 0xd3, 0x29, 0xa3, 0xbc, 0x9e,
+ 0x88, 0xc3, 0x8b, 0xa2, 0xc4, 0xed, 0x75, 0x61, 0xf8, 0x27,
+ 0x9c, 0xd9, 0x2a, 0x5f, 0xec, 0x13, 0x7a, 0x8c, 0x93, 0xb9,
+ 0x7b, 0x51, 0x53, 0x35, 0xd1, 0x07, 0x1c, 0xc7, 0x2b, 0x0b,
+ 0xdc, 0x68, 0x95, 0x08, 0x9b, 0xb0, 0xaf, 0x84, 0xf0, 0xb8,
+ 0x77, 0xa6, 0xdd, 0xcd, 0x2c, 0x64, 0x4c, 0xca, 0x5d, 0x12,
+ 0xa3, 0x8f, 0xc6, 0xea, 0x1f, 0x9d, 0x83, 0x47, 0xdf, 0xfb,
+ 0x2d, 0x30, 0x7c, 0xb1, 0xb2, 0x96, 0xab, 0x86, 0x12, 0x3f,
+ 0xbc, 0x10, 0x25, 0xe6, 0x1e, 0xf1, 0x2e, 0xcc, 0x2c, 0x3c,
+ 0x40, 0xd9, 0xb3, 0x9d, 0xad, 0x83, 0x9a, 0x44, 0x0c, 0xc6,
+ 0x9e, 0xef, 0x2f, 0x98, 0x1c, 0x47, 0xaf, 0x5d, 0xbb, 0x94,
+ 0x79, 0x56, 0x39, 0xc9, 0xaa, 0x67, 0x5f, 0xe5, 0x30, 0x1b,
+ 0x49, 0x07, 0xfb, 0x7a, 0x43, 0x73, 0xa1, 0x91, 0x25, 0x09,
+ 0xd5, 0x45, 0xd7, 0x23, 0x31, 0x4f, 0x79, 0x7c, 0x14, 0xfe,
+ 0x4b, 0x7a, 0x75, 0x44, 0x86, 0x84, 0x73, 0xe4, 0x16, 0x29,
+ 0x32, 0xb3, 0x29, 0xf1, 0xe6, 0xb1, 0x53, 0x61, 0xca, 0xf8,
+ 0xa0, 0xd0, 0x5a, 0xc4, 0x96, 0x37, 0x33, 0xe7, 0x19, 0x8a,
+ 0x09, 0x35, 0x5b, 0x68, 0x1e, 0x2d, 0x03, 0x5d, 0xfc, 0x65,
+ 0x57, 0x3d, 0x34, 0x88, 0x89, 0x28, 0xc1, 0x2f, 0x63, 0x57,
+ 0x77, 0x43, 0xec, 0x78, 0x08, 0x84, 0x55, 0x0b, 0x35, 0xdc,
+ 0xb9, 0x53, 0x2e, 0xab, 0x6b, 0x5e, 0xa3, 0x96, 0x4f, 0xf5,
+ 0xae, 0x25, 0x94, 0x01, 0x36, 0x20, 0xe9, 0xde, 0xdc, 0xe4,
+ 0x73, 0x45, 0x1c, 0x2a, 0x69, 0xa1, 0x87, 0x05, 0x14, 0x1f,
+ 0x37, 0x74, 0xd9, 0xa5, 0x33, 0x60, 0x7b, 0x4c, 0xc8, 0xff,
+ 0xca, 0x2c, 0x21, 0xa4, 0xd5, 0x15, 0x38, 0xfe, 0x0a, 0x59,
+ 0x8f, 0xd0, 0x03, 0x3b, 0xce, 0xf6, 0x74, 0xeb, 0xac, 0x04,
+ 0x10, 0x73, 0x39, 0xaa, 0x3a, 0x22, 0x60, 0x54, 0x0b, 0x32,
+ 0x1a, 0x23, 0xd7, 0x66, 0x0a, 0xa5, 0xd1, 0x79, 0x3a, 0x56,
+ 0x6a, 0xaf, 0x92, 0x1b, 0x13, 0x29, 0xa5, 0x9f, 0xf1, 0x32,
+ 0x23, 0x85, 0x51, 0x67, 0x3b, 0x02, 0x5a, 0xd4, 0x7d, 0x9f,
+ 0x1b, 0x20, 0x71, 0x4a, 0x52, 0xbf, 0x85, 0x24, 0x90, 0x6d,
+ 0x3c, 0x6d, 0xca, 0x76, 0xb5, 0x85, 0x23, 0x1f, 0x18, 0x24,
+ 0xbd, 0x9a, 0x71, 0xc5, 0x92, 0x5b, 0x3d, 0x39, 0xfa, 0x0d,
+ 0x5a, 0x01, 0x2b, 0x16, 0xcc, 0xf1, 0x1e, 0x17, 0xd7, 0x64,
+ 0x53, 0x51, 0x3e, 0xc5, 0xaa, 0x80, 0xa8, 0x4e, 0x33, 0x0d,
+ 0x73, 0x4d, 0x38, 0x43, 0xfe, 0x44, 0xd3, 0x4f, 0x3f, 0x91,
+ 0x9a, 0xfb, 0x47, 0xca, 0x3b, 0x04, 0xa7, 0x98, 0x9b, 0xce,
+ 0x58, 0xe5, 0x12, 0x45, 0x40, 0x24, 0x5d, 0xb5, 0x26, 0x19,
+ 0x45, 0x05, 0xfe, 0xbe, 0xcd, 0x1c, 0x4e, 0x4d, 0xf7, 0xc5,
+ 0x41, 0x70, 0x6d, 0xce, 0xc9, 0x9d, 0x4d, 0x0c, 0x2a, 0x6b,
+ 0x6e, 0x91, 0xe8, 0xec, 0x36, 0xcf, 0x42, 0x8c, 0x3d, 0x43,
+ 0x3b, 0xd2, 0x55, 0x17, 0x95, 0xd7, 0x48, 0xc5, 0xc1, 0xcc,
+ 0xb6, 0xd1, 0x43, 0xd8, 0x0d, 0x38, 0xd4, 0x56, 0x5d, 0x1e,
+ 0x41, 0x02, 0xeb, 0x48, 0x67, 0x6d, 0x77, 0xdb, 0x44, 0xb7,
+ 0x9d, 0x9a, 0x1c, 0x4c, 0x65, 0x21, 0x28, 0x6c, 0x04, 0x6d,
+ 0x93, 0x8c, 0x75, 0xed, 0x45, 0xe3, 0xad, 0xe1, 0xf3, 0xc8,
+ 0x6d, 0x28, 0xfc, 0xb9, 0xa7, 0xe0, 0x35, 0x2d, 0xb4, 0xe7,
+ 0x46, 0x1f, 0xfd, 0x6c, 0x01, 0x87, 0x75, 0x33, 0x43, 0x05,
+ 0x81, 0xb4, 0x1c, 0x0d, 0x34, 0xf9, 0x47, 0x4b, 0xcd, 0x17,
+ 0xee, 0x03, 0x7d, 0x3a, 0x97, 0xd0, 0x22, 0x39, 0xba, 0xac,
+ 0xf5, 0xf3, 0x48, 0xc1, 0x1e, 0xeb, 0x52, 0xb3, 0x05, 0x4d,
+ 0x91, 0xd9, 0x9c, 0xfe, 0x37, 0x0c, 0x30, 0x95, 0x49, 0x95,
+ 0x2e, 0x90, 0xbd, 0x37, 0x0d, 0x44, 0x45, 0x0c, 0x3f, 0x73,
+ 0x91, 0xad, 0xf1, 0x9f, 0x4a, 0x69, 0x7e, 0x1d, 0x4f, 0x78,
+ 0x15, 0x5f, 0xfa, 0xb0, 0x19, 0x27, 0xb8, 0x8d, 0x71, 0x81,
+ 0x4b, 0x3d, 0x4e, 0x66, 0xa0, 0xfc, 0x1d, 0x56, 0x2e, 0x65,
+ 0xba, 0xaa, 0x1e, 0x2c, 0xb0, 0x8b, 0x4c, 0x52, 0xde, 0xc4,
+ 0x68, 0xe6, 0x25, 0x69, 0x47, 0x0b, 0x55, 0x8f, 0xea, 0xcd,
+ 0xb2, 0xbd, 0x4d, 0x06, 0xee, 0xbf, 0x87, 0x62, 0x2d, 0x60,
+ 0x93, 0xde, 0xf6, 0x02, 0x4c, 0x6c, 0x73, 0xb7, 0x4e, 0xfa,
+ 0xbe, 0x32, 0x75, 0x2d, 0x35, 0x7b, 0x2c, 0x62, 0xd0, 0x56,
+ 0x65, 0x4c, 0xf3, 0xa9, 0x4f, 0xae, 0x8e, 0x49, 0x9a, 0xa9,
+ 0x3d, 0x72, 0xf8, 0xb7, 0x73, 0xdb, 0xc3, 0xed, 0x32, 0xa3,
+ 0x50, 0x2d, 0xdb, 0x09, 0xce, 0x8e, 0xc5, 0x95, 0x20, 0x70,
+ 0x6f, 0x1b, 0xbc, 0xcf, 0xba, 0x65, 0x51, 0x79, 0xeb, 0x72,
+ 0x21, 0x0a, 0xcd, 0x9c, 0xf4, 0xa5, 0xcc, 0x96, 0x1a, 0x6e,
+ 0x7b, 0x6f, 0x52, 0x85, 0xbb, 0xff, 0xd3, 0x45, 0xd5, 0x87,
+ 0x4b, 0x19, 0xea, 0xc2, 0x33, 0x4e, 0xfb, 0x71, 0x53, 0xd1,
+ 0x8b, 0x84, 0x3c, 0xc1, 0xdd, 0x8e, 0x9f, 0xcc, 0x49, 0x4f,
+ 0x95, 0xef, 0x3a, 0x7b, 0x54, 0xbe, 0x1b, 0x26, 0xf4, 0xdb,
+ 0xe5, 0xb1, 0xf6, 0xa2, 0xa6, 0x6a, 0x61, 0x0e, 0x38, 0x4d,
+ 0x55, 0xea, 0x2b, 0x5d, 0x1b, 0x5f, 0xed, 0xb8, 0x22, 0x77,
+ 0x05, 0xe7, 0xc7, 0xaf, 0xf9, 0x47, 0x56, 0x16, 0x7b, 0xd0,
+ 0xe9, 0x10, 0xf5, 0xa3, 0x9d, 0xcb, 0x23, 0xb3, 0xee, 0x8f,
+ 0x79, 0x59, 0x57, 0x42, 0x4b, 0xab, 0x06, 0x94, 0xfd, 0xaa,
+ 0x49, 0x1e, 0x80, 0x3e, 0x48, 0x2e, 0xb8, 0x53, 0x58, 0xc8,
+ 0x98, 0x57, 0xba, 0x24, 0x85, 0xdd, 0x4f, 0x17, 0x3e, 0xf9,
+ 0xc5, 0x8e, 0x7d, 0x35, 0x59, 0x9c, 0xa8, 0x2c, 0x55, 0xa0,
+ 0x8d, 0xd4, 0x9b, 0xc2, 0x9d, 0x74, 0x63, 0x2f, 0xbc, 0x3f,
+ 0x5a, 0x60, 0xf8, 0xa1, 0xa7, 0xef, 0x95, 0xcf, 0x24, 0x7e,
+ 0xbb, 0x20, 0x4a, 0x0f, 0x3c, 0x21, 0x5b, 0x34, 0xc8, 0xda,
+ 0x48, 0x6b, 0x9d, 0xc6, 0xf0, 0xab, 0x18, 0xad, 0xec, 0xae,
+ 0xfd, 0x2b, 0x5c, 0x5b, 0x58, 0x78, 0x80, 0x71, 0xa5, 0xf9,
+ 0x99, 0xc5, 0xf7, 0x88, 0x18, 0x4f, 0xff, 0x1d, 0x5d, 0x0f,
+ 0x68, 0x03, 0x6f, 0xf5, 0xad, 0xf0, 0x4d, 0x10, 0x54, 0x05,
+ 0xbe, 0xee, 0x3e, 0x17, 0x5e, 0xf3, 0x38, 0x8e, 0x9d, 0xba,
+ 0xb5, 0xeb, 0xf2, 0xac, 0x72, 0x51, 0x97, 0xce, 0xbe, 0x09,
+ 0x5f, 0xa7, 0x08, 0xf5, 0x72, 0x3e, 0xbd, 0xe2, 0x26, 0x79,
+ 0xd1, 0xdc, 0x31, 0x6f, 0x7f, 0x03, 0x60, 0x36, 0x92, 0x0e,
+ 0x35, 0xf4, 0x86, 0xe6, 0x81, 0xe1, 0x4a, 0x12, 0x69, 0x8a,
+ 0x6d, 0x46, 0x61, 0x62, 0xa2, 0x75, 0xda, 0x70, 0x8e, 0xef,
+ 0x55, 0x34, 0xe9, 0x9f, 0xcf, 0x2b, 0xac, 0x4c, 0x62, 0x9e,
+ 0xf2, 0xf8, 0x28, 0x3f, 0x96, 0xf4, 0xea, 0x88, 0xcf, 0xcb,
+ 0xe6, 0x0b, 0x2c, 0x52, 0x63, 0xca, 0xc2, 0x83, 0xc7, 0xbb,
+ 0x9e, 0xfd, 0x3e, 0x5d, 0x6c, 0x46, 0x40, 0xaa, 0xed, 0x58,
+ 0x64, 0xa5, 0x52, 0x21, 0x0f, 0xa1, 0xa6, 0xc2, 0x57, 0x33,
+ 0x83, 0x63, 0xb4, 0x4b, 0xef, 0x6e, 0x65, 0xf1, 0x62, 0x5a,
+ 0xe0, 0x25, 0xae, 0xcb, 0x83, 0xe6, 0x20, 0xee, 0x12, 0xea,
+ 0x2e, 0x64, 0x66, 0x0d, 0x32, 0xd7, 0x12, 0x6a, 0xb6, 0xd0,
+ 0x3c, 0x5a, 0x06, 0xba, 0x3b, 0xca, 0xae, 0x7a, 0x67, 0x59,
+ 0x02, 0xac, 0xfd, 0xee, 0xbe, 0xd9, 0xe8, 0x8f, 0xa5, 0x37,
+ 0x9d, 0x6b, 0x6f, 0x70, 0x68, 0xd3, 0xd1, 0x50, 0x41, 0x5e,
+ 0xc6, 0xae, 0xee, 0x86, 0x1b, 0xf0, 0x10, 0xcb, 0xaa, 0x16,
+ 0x69, 0x87, 0xe1, 0x2b, 0xae, 0xda, 0xce, 0xa7, 0x3a, 0x53,
+ 0xb8, 0x7d, 0xb6, 0x6a, 0x6b, 0x1c, 0x6a, 0x7b, 0xb1, 0xa6,
+ 0x5c, 0x95, 0xd6, 0xbc, 0x85, 0xef, 0x9e, 0x29, 0x9f, 0x4a,
+ 0xeb, 0x02, 0x6b, 0x2f, 0x81, 0xdd, 0xb3, 0x11, 0xde, 0xb5,
+ 0x51, 0x3a, 0x3d, 0xa4, 0x39, 0xeb, 0x2a, 0x08, 0x6c, 0x40,
+ 0x11, 0x7f, 0x7b, 0x0b, 0xe6, 0x8a, 0x38, 0x54, 0xd2, 0x81,
+ 0xcd, 0x0a, 0x28, 0x3e, 0x6d, 0x14, 0x21, 0x04, 0x94, 0x8f,
+ 0xee, 0x83, 0xec, 0x81, 0x71, 0x0c, 0x6b, 0xab, 0xe9, 0x34,
+ 0x6e, 0xe8, 0x71, 0x89, 0x66, 0xc0, 0xf6, 0x98, 0x53, 0x3d,
+ 0x57, 0x58, 0x42, 0x8b, 0x69, 0x2a, 0x6f, 0xbc, 0x41, 0xf2,
+ 0x89, 0x44, 0xfe, 0x91, 0x87, 0xe8, 0xf4, 0xd5, 0xe4, 0x2a,
+ 0xa8, 0x20, 0x70, 0x3f, 0x14, 0xb2, 0xdd, 0x63, 0x06, 0x76,
+ 0x5f, 0x2f, 0xe8, 0x15, 0x9b, 0x08, 0x20, 0xe6, 0x71, 0x6b,
+ 0x24, 0xc9, 0x32, 0xe7, 0x0e, 0x7f, 0x8b, 0xfa, 0x4b, 0x98,
+ 0x3d, 0xa9, 0xe1, 0xec, 0x72, 0x97, 0x74, 0x44, 0xc0, 0xa8,
+ 0x16, 0x64, 0x34, 0x46, 0x6d, 0xcc, 0x14, 0x89, 0x61, 0xf2,
+ 0x73, 0xc3, 0x44, 0x3f, 0x2f, 0x2c, 0x1e, 0x6d, 0xe0, 0x93,
+ 0xce, 0x41, 0xb2, 0x28, 0xa0, 0xf8, 0x74, 0xac, 0xd4, 0x9d,
+ 0xe7, 0x36, 0x26, 0x52, 0x89, 0xfd, 0x21, 0x64, 0x46, 0xc9,
+ 0xa2, 0xce, 0x75, 0xf8, 0xe4, 0xe6, 0x08, 0xb2, 0x2e, 0x5b,
+ 0x5d, 0x28, 0x82, 0xe9, 0xe0, 0x68, 0x63, 0xc4, 0x76, 0x04,
+ 0xb4, 0x6b, 0xfa, 0xfd, 0x36, 0x40, 0xe2, 0x94, 0xa4, 0xbd,
+ 0xc9, 0x48, 0xe3, 0xda, 0x77, 0x50, 0x84, 0x10, 0x15, 0x79,
+ 0x3e, 0x49, 0x36, 0x41, 0x07, 0x30, 0x6f, 0xe9, 0x22, 0xd0,
+ 0x78, 0xda, 0x57, 0xec, 0xa9, 0xc9, 0x46, 0x3e, 0x30, 0x48,
+ 0xb9, 0xf7, 0xe2, 0x49, 0xe7, 0xb6, 0x79, 0x8e, 0x67, 0x97,
+ 0x46, 0x4d, 0x4e, 0x37, 0xe4, 0x9d, 0x1a, 0x7a, 0x44, 0xe8,
+ 0x26, 0xbc, 0x7a, 0x72, 0x37, 0x1a, 0xb4, 0x02, 0x56, 0x2c,
+ 0x5b, 0x21, 0x3c, 0x2e, 0x6d, 0xc8, 0xa6, 0xa2, 0x7b, 0x26,
+ 0x07, 0x61, 0x5b, 0x86, 0x5e, 0x25, 0x8f, 0xf4, 0x9f, 0xa3,
+ 0xcb, 0x69, 0x67, 0xa8, 0x7c, 0x49, 0x97, 0xc3, 0x93, 0x9c,
+ 0x66, 0x1a, 0xe6, 0x9a, 0x70, 0x86, 0x3f, 0x88, 0x65, 0x9e,
+ 0x7d, 0x1d, 0xa7, 0xb8, 0x7c, 0x18, 0x6e, 0x13, 0x32, 0x4f,
+ 0xd3, 0x0b, 0x99, 0x29, 0xa4, 0x94, 0x7e, 0xe1, 0xf7, 0x35,
+ 0x8e, 0x57, 0x76, 0x08, 0x8d, 0xf3, 0xf5, 0x5f, 0xb0, 0x09,
+ 0x24, 0x8a, 0x7f, 0xb5, 0xc7, 0x4e, 0x61, 0xd3, 0x7e, 0x01,
+ 0x59, 0x26, 0x56, 0xd2, 0x16, 0xa8, 0xe5, 0x80, 0x80, 0x48,
+ 0xba, 0xa9, 0x4c, 0x32, 0x8a, 0x0a, 0x3f, 0xbf, 0x59, 0x38,
+ 0x9c, 0x9a, 0x2d, 0x49, 0x81, 0x1c, 0x8a, 0xd2, 0xa3, 0xb6,
+ 0x82, 0x03, 0xeb, 0x6a, 0xfa, 0xb5, 0x3a, 0x3b, 0xec, 0x43,
+ 0x82, 0xe0, 0xda, 0x5f, 0x51, 0xf9, 0x9a, 0x18, 0x54, 0xd6,
+ 0xdc, 0xe1, 0x13, 0x1b, 0x6c, 0x5d, 0x83, 0xb4, 0xea, 0x24,
+ 0xbe, 0x7d, 0x92, 0x11, 0x80, 0x03, 0x7f, 0x6c, 0xb5, 0xba,
+ 0xad, 0x57, 0x84, 0xdb, 0x7a, 0x86, 0x76, 0x67, 0xaa, 0x2e,
+ 0xe9, 0x6d, 0x90, 0x49, 0x41, 0x5b, 0xaf, 0x61, 0x85, 0x8f,
+ 0x4a, 0xfd, 0x99, 0xe3, 0xa2, 0x27, 0x3d, 0xb8, 0x33, 0xc4,
+ 0xe7, 0xfa, 0x6e, 0x6b, 0x86, 0x73, 0x1a, 0x70, 0x6b, 0xac,
+ 0xba, 0x3c, 0x82, 0x04, 0x15, 0x90, 0xce, 0xda, 0xee, 0x75,
+ 0x87, 0x27, 0x2a, 0x0b, 0x84, 0x28, 0xb2, 0x35, 0x56, 0xd1,
+ 0xb6, 0x1d, 0x68, 0x7b, 0x2f, 0x7f, 0x88, 0xad, 0xf9, 0xf7,
+ 0x38, 0x98, 0xca, 0x42, 0x50, 0xd8, 0x08, 0xda, 0xe5, 0xdb,
+ 0xea, 0x19, 0x89, 0xf9, 0xc9, 0x8c, 0xd7, 0x1c, 0xc2, 0x4b,
+ 0x84, 0x0d, 0xab, 0x57, 0x43, 0x7a, 0x2b, 0x13, 0x8a, 0x05,
+ 0x99, 0x01, 0x25, 0x53, 0xda, 0x50, 0x3b, 0xb1, 0x8d, 0x03,
+ 0x6a, 0x5a, 0xab, 0x0d, 0x8b, 0x51, 0xa9, 0x7a, 0xca, 0xd7,
+ 0xd2, 0x59, 0xef, 0x64, 0x2e, 0x8e, 0xcc, 0xfb, 0x6a, 0x07,
+ 0x8c, 0x3e, 0x39, 0xd8, 0x02, 0xcd, 0xea, 0x66, 0x86, 0x0a,
+ 0xc1, 0xab, 0x38, 0x1a, 0x68, 0x31, 0x8d, 0x6a, 0x09, 0xa3,
+ 0xed, 0x49, 0xe2, 0x6f, 0x52, 0xdf, 0x62, 0x26, 0x9e, 0xbb,
+ 0xa9, 0x3b, 0x8e, 0x96, 0x59, 0x2e, 0x1f, 0x06, 0xfa, 0x74,
+ 0xed, 0x63, 0x44, 0x72, 0xb7, 0x9b, 0x29, 0x25, 0x8f, 0xc2,
+ 0x69, 0x55, 0xf0, 0x82, 0xf2, 0x7d, 0x39, 0xb6, 0xe7, 0xff,
+ 0x11, 0x3a, 0xe8, 0x2f, 0x90, 0x41, 0x3c, 0x15, 0xa4, 0xa5,
+ 0x0a, 0x9a, 0xe1, 0x71, 0xfb, 0x3f, 0x6e, 0x18, 0x60, 0xe9,
+ 0x91, 0x15, 0x0c, 0x6e, 0x4b, 0x21, 0x02, 0x93, 0x35, 0xa4,
+ 0x58, 0xb2, 0xc8, 0xb9, 0xa1, 0xe3, 0x92, 0xe9, 0x5c, 0xe3,
+ 0xb9, 0x6e, 0x1a, 0x88, 0x8a, 0x18, 0x7e, 0xe6, 0xe1, 0x99,
+ 0x21, 0xfd, 0x93, 0xbd, 0x6c, 0x98, 0x56, 0xea, 0x12, 0x81,
+ 0x5e, 0xcd, 0xdd, 0x6b, 0x47, 0x38, 0xe0, 0xf7, 0x94, 0xd2,
+ 0xfc, 0x3a, 0x9e, 0xf0, 0x2a, 0xbe, 0x37, 0xa3, 0x32, 0x4e,
+ 0xb3, 0xd9, 0xe2, 0xc1, 0x95, 0x86, 0xcc, 0x41, 0x71, 0x74,
+ 0x22, 0xb7, 0xe3, 0x76, 0x91, 0xc3, 0x15, 0x78, 0x23, 0xcb,
+ 0x96, 0x7a, 0x9c, 0xcc, 0x83, 0x3b, 0x3a, 0xac, 0x5c, 0xca,
+ 0xb7, 0x97, 0x3c, 0x58, 0xa3, 0xd5, 0x97, 0x2e, 0xac, 0xb7,
+ 0x6c, 0xbf, 0x32, 0xa5, 0x88, 0x1f, 0x14, 0x1a, 0x9a, 0xf9,
+ 0x62, 0xdf, 0x98, 0xa4, 0x7f, 0x4b, 0xd0, 0x0f, 0x4a, 0xd2,
+ 0x8e, 0x16, 0xaa, 0xdd, 0x17, 0x59, 0xa7, 0xb9, 0x99, 0xf0,
+ 0x4f, 0x30, 0x3f, 0x8b, 0x42, 0xdb, 0x5a, 0xc3, 0x09, 0x50,
+ 0xb1, 0xf8, 0x66, 0xb3, 0x9a, 0x0c, 0x1f, 0xbd, 0xcd, 0xc4,
+ 0x5a, 0xc0, 0xe5, 0x7f, 0x2f, 0x04, 0x98, 0xd8, 0xe6, 0xad,
+ 0x9b, 0x58, 0x2f, 0xc6, 0x22, 0x40, 0x52, 0xc9, 0x31, 0xaa,
+ 0x8c, 0x89, 0x3e, 0x79, 0x27, 0xa7, 0x9c, 0x37, 0xbf, 0x64,
+ 0xea, 0x5a, 0x6a, 0xf6, 0x58, 0xc4, 0x63, 0xac, 0xca, 0x98,
+ 0x25, 0x91, 0x9d, 0x63, 0x8f, 0x1f, 0x05, 0xde, 0x62, 0xff,
+ 0x8c, 0x11, 0xc0, 0x21, 0x6c, 0x39, 0xe4, 0x9b, 0x9e, 0x9f,
+ 0xdf, 0x92, 0xf7, 0x91, 0x7a, 0xe4, 0x33, 0xad, 0xe6, 0x75,
+ 0x45, 0x19, 0x64, 0x85, 0x9f, 0xcb, 0xef, 0xe9, 0x18, 0x15,
+ 0x72, 0xed, 0xe7, 0x78, 0x45, 0xf8, 0xe3, 0xb8, 0xa5, 0x8f,
+ 0xa0, 0x5a, 0x75, 0x12, 0x5f, 0xdf, 0x49, 0xe9, 0x40, 0xe0,
+ 0xde, 0x36, 0xbb, 0x5d, 0xb7, 0xca, 0xa1, 0x0e, 0x45, 0x69,
+ 0xb0, 0x5b, 0x41, 0xe0, 0x94, 0x35, 0x7d, 0xbb, 0x1d, 0xfc,
+ 0x76, 0xc0, 0xa2, 0xf2, 0x15, 0xe4, 0x42, 0x14, 0x59, 0xfb,
+ 0x2b, 0x89, 0x5b, 0xef, 0x34, 0xdc, 0xf6, 0xde, 0xa3, 0xa6,
+ 0x25, 0x9f, 0xad, 0x90, 0x51, 0xf2, 0xff, 0x5c, 0xf8, 0x62,
+ 0x92, 0x7d, 0x37, 0xd4, 0xa4, 0xc9, 0xb5, 0x3d, 0x65, 0x8a,
+ 0x69, 0xcd, 0x96, 0x32, 0x17, 0x47, 0x66, 0x9c, 0x35, 0xe2,
+ 0xa5, 0x9d, 0x85, 0x46, 0x8a, 0x0e, 0x61, 0xc4, 0x42, 0xe7,
+ 0xb4, 0xca, 0xc0, 0x3d, 0xf4, 0xe8, 0xa6, 0x61, 0xd5, 0xcb,
+ 0x78, 0x41, 0x79, 0xdf, 0xfd, 0x5b, 0x92, 0x9e, 0xe9, 0x1d,
+ 0x74, 0xf6, 0xa7, 0x35, 0xe5, 0xb0, 0x97, 0xc5, 0x71, 0xd6,
+ 0x29, 0x8e, 0x31, 0x13, 0x4f, 0xbc, 0xb5, 0xfc, 0xa8, 0xbf,
+ 0x36, 0x4c, 0x2b, 0x75, 0x09, 0xa1, 0x2f, 0x87, 0x8f, 0xd4,
+ 0xc2, 0x1c, 0x70, 0x9a, 0xa9, 0xeb, 0x06, 0x37, 0xc4, 0xf1,
+ 0x01, 0xa8, 0xfb, 0x52, 0x2c, 0x59, 0x64, 0xbd, 0xb1, 0x90,
+ 0xaa, 0x17, 0x56, 0xba, 0x36, 0xbe, 0x19, 0xb3, 0x44, 0xee,
+ 0x0a, 0x0d, 0x4d, 0x9d, 0x31, 0x8e, 0xab, 0x43, 0x66, 0xc1,
+ 0xd9, 0x3a, 0x11, 0xba, 0x90, 0x3b, 0xa9, 0x80, 0xeb, 0x3c,
+ 0xf0, 0x84, 0xac, 0x2c, 0xf6, 0x63, 0x11, 0x20, 0x29, 0x85,
+ 0xf9, 0x55, 0x46, 0xa5, 0x1f, 0xdd, 0xf2, 0xb2, 0xad, 0x78,
+ 0xc6, 0x18, 0xfe, 0xa4, 0x21, 0x8c, 0x2d, 0x80, 0xe5, 0x28,
+ 0xb9, 0x7c, 0x33, 0xb8, 0xae, 0x84, 0x96, 0x95, 0x0c, 0xeb,
+ 0x39, 0x97, 0x92, 0x3c, 0xc3, 0x7c, 0x90, 0x5c, 0xb3, 0xa6,
+ 0xaf, 0xd0, 0xa6, 0xee, 0xe3, 0x6f, 0x31, 0x9e, 0x46, 0xe9,
+ 0x60, 0xf1, 0x36, 0xfd, 0x72, 0xac, 0xb0, 0x53, 0xf3, 0xae,
+ 0xb7, 0x48, 0xc9, 0x79, 0x9e, 0x2e, 0x7c, 0x31, 0x49, 0xdf,
+ 0xfa, 0x6a, 0xb1, 0x07, 0xc3, 0xd5, 0x58, 0xcc, 0xc1, 0x70,
+ 0x4a, 0xfb, 0xdf, 0xbc, 0xef, 0x7e, 0x3b, 0x60, 0xb2, 0xfb,
+ 0x93, 0x58, 0xaa, 0x83, 0xd9, 0x6b, 0xf5, 0x47, 0xf9, 0xe8,
+ 0xc6, 0x5e, 0xbb, 0x7e, 0xb3, 0xaf, 0xa3, 0x23, 0x45, 0x07,
+ 0xd1, 0x62, 0x21, 0x92, 0x5a, 0x65, 0x60, 0xff, 0x7a, 0x74,
+ 0xb4, 0xc0, 0x33, 0x81, 0x8d, 0x1d, 0xe9, 0x5d, 0x48, 0xfc,
+ 0xb5, 0x40, 0x94, 0x1e, 0x78, 0x42, 0xb5, 0x94, 0x03, 0xfa,
+ 0x62, 0x99, 0xe1, 0x54, 0x9c, 0x29, 0x16, 0xcd, 0x32, 0xbf,
+ 0xb9, 0x48, 0xb6, 0x68, 0x53, 0x77, 0x90, 0xd6, 0xf9, 0x4f,
+ 0x23, 0x95, 0x30, 0x99, 0x1b, 0x9f, 0x39, 0x56, 0xb7, 0x3c,
+ 0x63, 0x0c, 0x7f, 0x52, 0xf1, 0x46, 0xf7, 0x40, 0x93, 0x14,
+ 0xbd, 0x3e, 0xf8, 0x5c, 0xb8, 0xb6, 0xb0, 0xf0, 0xc3, 0xe2,
+ 0x89, 0x31, 0xf1, 0x49, 0x2d, 0xd3, 0x30, 0x9e, 0x3d, 0x3a,
+ 0xb9, 0xe2, 0x80, 0x8b, 0x2c, 0x66, 0x81, 0x38, 0x25, 0x9c,
+ 0x8e, 0x5e, 0x96, 0x3f, 0xfc, 0x30, 0xba, 0x1e, 0xd0, 0x06,
+ 0xde, 0x29, 0x99, 0x23, 0x9a, 0x20, 0xa8, 0x0a, 0xbf, 0x1f,
+ 0x7c, 0x2e, 0xbb, 0x4a, 0xe0, 0x7d, 0x31, 0xad, 0x91, 0x2a,
+ 0x4e, 0xf5, 0x0b, 0x87, 0x19, 0xbe, 0xbd, 0x24, 0xbc, 0x25,
+ 0x70, 0xdf, 0xf9, 0xb7, 0xa9, 0x15, 0x27, 0x9b, 0xe4, 0xa2,
+ 0xed, 0x5f, 0xbf, 0x12, 0xbd, 0x71, 0x40, 0xa4, 0x16, 0x33,
+ 0xa1, 0x1c, 0xf3, 0x4e, 0x47, 0x2f, 0x4b, 0xfe, 0x7e, 0x18,
+ 0xbe, 0x8d, 0x10, 0x29, 0xe4, 0x7c, 0xb9, 0x07, 0x4c, 0xf2,
+ 0x61, 0x7b, 0x62, 0xde, 0xfe, 0x06, 0xbf, 0xd9, 0x20, 0x52,
+ 0x0b, 0xf8, 0xb1, 0x0e, 0x98, 0x27, 0xc2, 0xf6, 0xc4, 0x7f,
+ 0x3f, 0x0c, 0xc0, 0x6c, 0xe7, 0x1c, 0x6a, 0x2b, 0xcf, 0x0f,
+ 0xc1, 0x01, 0x94, 0x24, 0xd2, 0xd7, 0xda, 0x8c, 0xc1, 0x38,
+ 0xd7, 0x67, 0x85, 0xaf, 0xc7, 0x06, 0x15, 0xd4, 0x37, 0xa9,
+ 0x74, 0x76, 0x1b, 0x86, 0xc2, 0xc4, 0x87, 0xea, 0x77, 0xe0,
+ 0xdf, 0x1d, 0xaa, 0x68, 0x11, 0xfd, 0x5d, 0x56, 0x9b, 0x98,
+ 0xc3, 0x90, 0xb7, 0x91, 0x98, 0x64, 0xd7, 0x14, 0x7e, 0xbd,
+ 0xb2, 0x70, 0xfb, 0xf7, 0x5a, 0x92, 0xc4, 0xff, 0x27, 0x33,
+ 0x50, 0x7e, 0xef, 0x2b, 0x17, 0xd3, 0x5d, 0x55, 0x0f, 0x16,
+ 0x58, 0xa4, 0xc5, 0xab, 0x17, 0x48, 0xbf, 0xfa, 0xe7, 0x22,
+ 0xc3, 0x06, 0xfe, 0xd8, 0xa9, 0xb7, 0x99, 0xae, 0xc6, 0x57,
+ 0x47, 0xc5, 0x4d, 0xb5, 0xff, 0x39, 0x7c, 0xba, 0xd8, 0x8c,
+ 0x80, 0x97, 0x19, 0xb0, 0xc7, 0x03, 0x77, 0xbe, 0xa2, 0x31,
+ 0xf7, 0x30, 0xa8, 0x6f, 0x7b, 0x01, 0x26, 0x36, 0xd8, 0xba,
+ 0xc8, 0x89, 0xa4, 0x42, 0x1e, 0x81, 0x8f, 0x47, 0xae, 0x66,
+ 0xc5, 0xc6, 0xab, 0x96, 0x1d, 0xdc, 0xc9, 0xdd, 0x94, 0x39,
+ 0xf1, 0x05, 0x87, 0x4e, 0x7a, 0xb3, 0x66, 0x4b, 0x0d, 0x37,
+ 0xdc, 0xd6, 0xca, 0x21, 0xc4, 0xb4, 0x03, 0x4a, 0x9f, 0x55,
+ 0xc5, 0x0f, 0x40, 0x1f, 0x24, 0x17, 0x5c, 0xc8, 0xcb, 0x75,
+ 0xf4, 0xcf, 0xec, 0xce, 0x97, 0x5c, 0x11, 0xda, 0xe3, 0x92,
+ 0x82, 0xb6, 0x9d, 0xc2, 0xcc, 0x1a, 0x64, 0x6d, 0x24, 0xd4,
+ 0xaf, 0x63, 0x78, 0xb4, 0x0c, 0xb7, 0x76, 0x57, 0x9f, 0xf4,
+ 0xcd, 0x4e, 0x54, 0x16, 0xcb, 0x50, 0xa7, 0x6a, 0xac, 0x61,
+ 0xaf, 0x3a, 0xd0, 0xf6, 0x5e, 0xfe, 0xce, 0xb2, 0x04, 0x9b,
+ 0x39, 0x1f, 0xbf, 0x71, 0x13, 0xdd, 0x89, 0x6e, 0xf9, 0xd6,
+ 0xde, 0xe0, 0xcf, 0xe6, 0x34, 0xe0, 0xd6, 0x9b, 0xb7, 0x78,
+ 0xc7, 0x08, 0x2a, 0xe3, 0x5f, 0x77, 0x1f, 0xea, 0xd0, 0x65,
+ 0x61, 0xa0, 0x82, 0xbc, 0x4f, 0x9f, 0x1f, 0xcf, 0x36, 0x23,
+ 0x20, 0x55, 0x97, 0x2c, 0xd1, 0x31, 0x51, 0xdb, 0x6d, 0x38,
+ 0x47, 0x96, 0xcb, 0x1a, 0x95, 0xae, 0x86, 0xf4, 0x56, 0x26,
+ 0xd2, 0xcd, 0x01, 0x56, 0x9f, 0x77, 0x5f, 0x8d, 0x74, 0xa6,
+ 0xb3, 0xfa, 0xaf, 0xd4, 0xd6, 0x38, 0xd3, 0x99, 0x31, 0x2d,
+ 0x70, 0xf3, 0x57, 0x84, 0xa0, 0x73, 0x10, 0x77, 0x09, 0x75,
+ 0x17, 0x32, 0xd4, 0xf6, 0xa1, 0x8f, 0xb8, 0xe9, 0x6f, 0xbb,
+ 0xc9, 0x1d, 0xff, 0x52, 0xfd, 0x94, 0x15, 0x04, 0xd5, 0xa2,
+ 0x91, 0xf4, 0x57, 0x6d, 0x67, 0xb2, 0x1d, 0xc8, 0x5c, 0xdf,
+ 0x5b, 0x35, 0xd4, 0x0e, 0xd6, 0x5e, 0xc1, 0x79, 0xa5, 0x22,
+ 0x7f, 0xa9, 0xa2, 0x74, 0x7a, 0x8b, 0x72, 0x15, 0x54, 0x10,
+ 0xd7, 0x0a, 0xf1, 0x02, 0x4a, 0xa6, 0x77, 0xa0, 0x76, 0xa1,
+ 0xd9, 0x06, 0xd4, 0xb4, 0x95, 0x1a, 0xd8, 0x80, 0x22, 0xfe,
+ 0xf6, 0x16, 0x0f, 0xd7, 0x70, 0xa8, 0x67, 0xc1, 0x59, 0x14,
+ 0x50, 0x7c, 0xd9, 0xd4, 0x12, 0x85, 0x19, 0x92, 0x07, 0xde,
+ 0xa4, 0x7d, 0xc4, 0x4c, 0xff, 0xb5, 0x91, 0x76, 0xda, 0x28,
+ 0x42, 0x08, 0xeb, 0xdd, 0x1f, 0xc5, 0x1b, 0xc1, 0xe2, 0x18,
+ 0xd6, 0x95, 0x11, 0x68, 0xdb, 0x7c, 0x72, 0x73, 0x04, 0x59,
+ 0x17, 0xcc, 0xcf, 0x14, 0x41, 0x95, 0x70, 0x34, 0xd0, 0x62,
+ 0xdc, 0x13, 0xe2, 0xd1, 0xcc, 0x43, 0x2f, 0xf3, 0xa6, 0x7a,
+ 0xae, 0xb0, 0x84, 0xd5, 0xd2, 0x54, 0xdd, 0x47, 0xd2, 0xaa,
+ 0x23, 0xc7, 0x27, 0xfa, 0x72, 0xaf, 0x0d, 0x3d, 0x22, 0x74,
+ 0x13, 0x5e, 0xde, 0xbb, 0x82, 0x27, 0xd1, 0x88, 0x3f, 0xe1,
+ 0xcd, 0x13, 0x2b, 0x69, 0x0b, 0x54, 0x93, 0x40, 0xdf, 0xef,
+ 0xb2, 0x5c, 0x3e, 0x0c, 0x37, 0xe8, 0x19, 0xc6, 0x88, 0xe4,
+ 0xad, 0xf5, 0x52, 0x4a, 0xe0, 0x7e, 0x28, 0xa7, 0x79, 0xc6,
+ 0x0c, 0xec, 0xbe, 0x5e, 0x13, 0x2a, 0xf5, 0x10, 0x40, 0x0f,
+ 0xe1, 0x2a, 0x18, 0xdc, 0x96, 0x42, 0x04, 0xe5, 0x6a, 0x8b,
+ 0xb0, 0xa7, 0x53, 0xb1, 0x81, 0x05, 0xe2, 0xd6, 0x48, 0x51,
+ 0x64, 0x0d, 0x1c, 0xfe, 0xd5, 0x37, 0x96, 0xf3, 0x7a, 0x91,
+ 0x01, 0x1b, 0xe3, 0x82, 0x78, 0x2a, 0x8b, 0x89, 0x14, 0xf7,
+ 0x01, 0xe2, 0x35, 0x7e, 0xdc, 0x30, 0xc0, 0x11, 0xe4, 0xed,
+ 0xe8, 0x88, 0x43, 0x93, 0x2c, 0xc8, 0x68, 0x8c, 0xda, 0x5b,
+ 0x28, 0xd1, 0xc2, 0x27, 0xe5, 0xb9, 0xd8, 0xf3, 0xac, 0x17,
+ 0x24, 0xc1, 0xbc, 0x59, 0x79, 0xd6, 0x8e, 0x70, 0x03, 0x2d,
+ 0xe6, 0x45, 0x88, 0x7e, 0x5e, 0x58, 0x3c, 0xda, 0x03, 0xe5,
+ 0x5f, 0x82, 0xa7, 0x50, 0x83, 0x33, 0xe7, 0x11, 0xb8, 0x05,
+ 0xb1, 0xdc, 0x34, 0xd3, 0xd7, 0x30, 0xfc, 0x0f, 0x01, 0xf1,
+ 0x42, 0x39, 0xe8, 0x9b, 0x6b, 0xf9, 0x0d, 0x6c, 0x4c, 0xa4,
+ 0xd1, 0x39, 0x42, 0xc8, 0x8c, 0x51, 0x87, 0x5f, 0xe9, 0xcf,
+ 0x5b, 0x82, 0xe2, 0xe8, 0x44, 0xad, 0x05, 0xec, 0xe1, 0x45,
+ 0x2a, 0xf0, 0x46, 0x55, 0xea, 0x33, 0x0b, 0x0f, 0x10, 0xa7,
+ 0x5c, 0xb6, 0xba, 0x50, 0xc7, 0x11, 0x03, 0xd0, 0xc6, 0x4b,
+ 0xeb, 0x67, 0x3b, 0x74, 0xff, 0x23, 0x54, 0xbf, 0x6e, 0x85,
+ 0x64, 0x9c, 0xa5, 0x71, 0x07, 0x41, 0xec, 0x08, 0xab, 0xd6,
+ 0x37, 0x39, 0x6c, 0x80, 0x07, 0xeb, 0x8b, 0xb9, 0x51, 0x90,
+ 0x05, 0x77, 0xed, 0x5c, 0x9b, 0xad, 0xd8, 0xbd, 0x64, 0x89,
+ 0xd3, 0x3e, 0x28, 0x34, 0xf7, 0x31, 0xc4, 0x7d, 0xee, 0xa0,
+ 0xcb, 0x20, 0x2a, 0xf2, 0x7c, 0x92, 0x6c, 0x82, 0x0e, 0x60,
+ 0xde, 0x11, 0x44, 0x63, 0xef, 0xf4, 0xfb, 0x5b, 0xc5, 0x76,
+ 0x74, 0x9b, 0xb8, 0x57, 0xad, 0xed, 0x78, 0xb0, 0x85, 0x69,
+ 0xf0, 0x77, 0xae, 0x1b, 0x91, 0x51, 0x8c, 0x7c, 0x60, 0x90,
+ 0xb1, 0x2d, 0x07, 0x92, 0x0d, 0xaf, 0xf1, 0x23, 0x9e, 0x60,
+ 0x7e, 0xd5, 0x84, 0x75, 0xb4, 0x45, 0x12, 0xa0, 0xa1, 0x33,
+ 0xcc, 0xa5, 0xf2, 0xdf, 0xce, 0xed, 0x8c, 0x9a, 0x9c, 0x6e,
+ 0x0b, 0xf9, 0x34, 0xf4, 0x88, 0x13, 0x4c, 0xbb, 0xf3, 0x8b,
+ 0xfe, 0x96, 0x63, 0x1e, 0x94, 0x67, 0xdf, 0x2c, 0x97, 0x79,
+ 0x2e, 0xb2, 0x8d, 0xb1, 0xf4, 0xe4, 0x6e, 0x34, 0xab, 0x04,
+ 0xac, 0x58, 0xb6, 0x42, 0x78, 0x5c, 0xda, 0x53, 0x8f, 0x87,
+ 0xf5, 0xb0, 0x5e, 0x4f, 0x44, 0x80, 0xa4, 0x51, 0x62, 0x97,
+ 0xdb, 0xd1, 0x7c, 0xf2, 0x4e, 0x8d, 0xf6, 0x4c, 0x0e, 0xc2,
+ 0xb6, 0xcf, 0xbc, 0x4a, 0xdd, 0x2b, 0xfd, 0x85, 0x55, 0xd2,
+ 0xce, 0x93, 0xf7, 0x18, 0x3e, 0xb9, 0x59, 0x4b, 0xb4, 0x43,
+ 0x09, 0xfe, 0x5e, 0x08, 0xf3, 0x73, 0x0f, 0x99, 0xf8, 0x92,
+ 0xed, 0x45, 0xe5, 0xfb, 0xcc, 0x34, 0x0f, 0xf7, 0xe0, 0xcf,
+ 0x7e, 0xd3, 0xca, 0xff, 0xf9, 0xc6, 0xdd, 0x3e, 0x0a, 0x7f,
+ 0xc4, 0x3d, 0xdb, 0x22, 0x43, 0x42, 0xd8, 0x72, 0x0b, 0xf5,
+ 0xfa, 0x3a, 0x8d, 0xb3, 0xf8, 0x30, 0xdc, 0x26, 0x64, 0x9e,
+ 0x65, 0x16, 0xf1, 0x52, 0x8b, 0xeb, 0xfb, 0x6e, 0xbd, 0xc8,
+ 0x17, 0xb4, 0xd4, 0x2f, 0xb0, 0x4b, 0xc6, 0x9b, 0x57, 0xf3,
+ 0x4a, 0xe1, 0xfc, 0x01, 0x2d, 0x6a, 0xdf, 0xae, 0xec, 0x10,
+ 0xd9, 0x25, 0x29, 0xbe, 0xa3, 0x12, 0x48, 0xd7, 0xfd, 0x55,
+ 0x1d, 0x11, 0x30, 0x2a, 0xe4, 0x19, 0x0d, 0xf0, 0x8a, 0x33,
+ 0x05, 0xb3, 0x89, 0xdd, 0xfe, 0xa9, 0x4d, 0x9c, 0xc2, 0x65,
+ 0xfc, 0x02, 0xb2, 0x4c, 0xac, 0x67, 0x2c, 0x93, 0x09, 0xc3,
+ 0xff, 0xfd, 0x7d, 0xe7, 0x2d, 0xe1, 0xf4, 0x0b, 0x66, 0x99,
+ 0x0f, 0xea, 0x8a, 0x32, 0xc8, 0xc9,
+ },
+ {
+ /* 8 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xde, 0xe0, 0xaf,
+ 0x10, 0xc9, 0xf6, 0x49, 0xbe, 0xe7, 0x6e, 0xa4, 0x6a, 0x2b,
+ 0x9c, 0xf3, 0x35, 0x7f, 0x03, 0x9d, 0x20, 0x51, 0x2f, 0x92,
+ 0xbf, 0x0d, 0xdc, 0x8b, 0xd4, 0x56, 0xfb, 0x25, 0xce, 0xa1,
+ 0xe3, 0x32, 0x30, 0x98, 0xd9, 0xdb, 0x01, 0xea, 0xb2, 0x2f,
+ 0xbe, 0x7d, 0x67, 0xd6, 0x6a, 0xfe, 0x06, 0xf9, 0x40, 0xa2,
+ 0x5e, 0xe7, 0xbd, 0x1a, 0x7b, 0xd5, 0x6b, 0xac, 0x35, 0x4a,
+ 0x91, 0x20, 0xe6, 0x56, 0x50, 0x6b, 0xa8, 0xae, 0x03, 0xfd,
+ 0x15, 0x71, 0x01, 0x87, 0xa9, 0xb9, 0x5f, 0x81, 0x05, 0x64,
+ 0x60, 0xf3, 0x71, 0x75, 0x02, 0x17, 0xa7, 0x5e, 0xbf, 0xfa,
+ 0xce, 0x6f, 0xa4, 0x5f, 0xe5, 0xcb, 0x70, 0x3a, 0x87, 0x3c,
+ 0xbc, 0xf0, 0xc9, 0xfa, 0xd5, 0xd1, 0x52, 0x9c, 0xd4, 0x3f,
+ 0x0c, 0x31, 0x80, 0x87, 0xbc, 0x0d, 0xb9, 0x34, 0xf6, 0x69,
+ 0xd6, 0x9b, 0x6a, 0x94, 0x2f, 0xe1, 0xec, 0x9e, 0x90, 0x4e,
+ 0x4a, 0x44, 0x07, 0xd3, 0x98, 0xcd, 0xbc, 0xb0, 0xf6, 0x67,
+ 0xe1, 0x40, 0x0f, 0xac, 0xa0, 0xd6, 0x93, 0x9f, 0x06, 0x39,
+ 0x2a, 0xe2, 0x02, 0xcd, 0x91, 0xb1, 0x1a, 0x9e, 0xef, 0x03,
+ 0xb0, 0x1f, 0x65, 0xd6, 0xb8, 0xde, 0x44, 0x46, 0x68, 0xe6,
+ 0x0d, 0x42, 0xbe, 0xc1, 0x0a, 0xc8, 0xc0, 0x25, 0xe2, 0xea,
+ 0x04, 0x2e, 0x8d, 0xbc, 0xbd, 0x37, 0x5f, 0xde, 0x45, 0x1f,
+ 0xea, 0x67, 0xd0, 0xec, 0x14, 0xa3, 0xba, 0xc9, 0xe3, 0x18,
+ 0xd7, 0x1c, 0xc3, 0x2d, 0x8b, 0xbe, 0x09, 0x55, 0xe0, 0x74,
+ 0xcd, 0x78, 0xbb, 0x23, 0x51, 0x37, 0x69, 0x61, 0xa4, 0xfb,
+ 0x70, 0x60, 0xe9, 0xfa, 0xf0, 0xbd, 0x3b, 0x31, 0x05, 0xc4,
+ 0x3f, 0x93, 0x03, 0x4a, 0x38, 0x08, 0x6b, 0x7e, 0x18, 0x62,
+ 0xc3, 0xcd, 0xbb, 0x1a, 0xb1, 0x68, 0x2f, 0xd2, 0x6f, 0xf5,
+ 0xd4, 0xeb, 0x90, 0xa0, 0xf8, 0xcd, 0xd3, 0x04, 0x4d, 0x53,
+ 0x0f, 0x8f, 0x41, 0x76, 0x05, 0xde, 0x48, 0x18, 0x5e, 0x01,
+ 0x1b, 0xff, 0xe3, 0x9c, 0x94, 0x88, 0x0e, 0x65, 0xf3, 0x59,
+ 0xbb, 0xa3, 0x2f, 0xce, 0xa5, 0xdf, 0xfb, 0x50, 0xf3, 0x55,
+ 0x62, 0xc1, 0xb0, 0x82, 0x9d, 0xfd, 0xd1, 0x88, 0xb3, 0x3d,
+ 0x01, 0x80, 0x1e, 0x9b, 0x83, 0x6f, 0xe5, 0xfd, 0x0c, 0x72,
+ 0x54, 0x07, 0x04, 0x59, 0xe1, 0xa1, 0xfa, 0x5e, 0xfe, 0x34,
+ 0x93, 0xa6, 0x13, 0xb4, 0xb2, 0x95, 0x3a, 0xa3, 0x6e, 0x72,
+ 0x7d, 0x52, 0x34, 0xff, 0x1d, 0x06, 0xa3, 0x3e, 0xca, 0x6f,
+ 0xb3, 0x7f, 0x88, 0x8c, 0xd0, 0x0f, 0x1a, 0x84, 0xcf, 0x21,
+ 0xfd, 0xa9, 0xb3, 0xf7, 0x3c, 0x26, 0x0d, 0x98, 0xe6, 0x28,
+ 0xba, 0x24, 0x86, 0x77, 0xbf, 0x41, 0x14, 0x53, 0x43, 0x4a,
+ 0x07, 0x17, 0x08, 0x5c, 0xd9, 0xbb, 0xb9, 0x6e, 0xbe, 0x7f,
+ 0x44, 0x9f, 0xf4, 0xfc, 0x53, 0x83, 0xf1, 0x5e, 0xb6, 0xbb,
+ 0xb7, 0x1f, 0xd3, 0x45, 0x22, 0x8c, 0x8a, 0x3e, 0x17, 0xce,
+ 0x63, 0x1b, 0x28, 0x85, 0xb7, 0x51, 0x05, 0x30, 0x6d, 0x38,
+ 0x45, 0x5a, 0x71, 0xe0, 0xf7, 0x61, 0x73, 0xd2, 0xde, 0xcc,
+ 0x09, 0xb6, 0x6b, 0x94, 0x07, 0x13, 0xd9, 0xa9, 0xd5, 0xbf,
+ 0x12, 0xaa, 0x03, 0xe8, 0x59, 0xf0, 0xb5, 0x46, 0xa2, 0x6e,
+ 0xd2, 0xc2, 0x8b, 0x35, 0x2e, 0x61, 0xf2, 0x05, 0x13, 0x21,
+ 0xaf, 0xb9, 0x0b, 0xa1, 0xcc, 0xca, 0xb8, 0xe9, 0x17, 0xc6,
+ 0xe0, 0xc0, 0x11, 0x37, 0x23, 0xb9, 0x76, 0x62, 0x0a, 0x4b,
+ 0x7e, 0xe5, 0x06, 0x94, 0x70, 0x10, 0x1b, 0x1e, 0xf1, 0x98,
+ 0x33, 0x70, 0x80, 0x2b, 0xb4, 0xac, 0x10, 0x41, 0x6c, 0xbf,
+ 0xec, 0xe3, 0xd6, 0xfc, 0x30, 0xc4, 0x45, 0x59, 0xb5, 0x34,
+ 0xa1, 0xd0, 0x5e, 0x67, 0xde, 0x29, 0x6b, 0x15, 0x2d, 0x22,
+ 0xd0, 0x6b, 0x55, 0x90, 0x43, 0x7d, 0x1f, 0x37, 0x30, 0xc3,
+ 0xb4, 0x02, 0xf7, 0xe6, 0xe3, 0x83, 0x33, 0x59, 0x65, 0x08,
+ 0x9a, 0xa6, 0x1e, 0xdd, 0x82, 0xec, 0x0a, 0x7f, 0x90, 0x30,
+ 0x18, 0x5d, 0xd3, 0xf6, 0x75, 0xc1, 0x6c, 0xef, 0xa0, 0x3a,
+ 0xec, 0x48, 0x60, 0x54, 0x0c, 0xc3, 0xbc, 0x02, 0x36, 0x3d,
+ 0x05, 0xfb, 0xeb, 0xd3, 0x1c, 0xca, 0x25, 0xb2, 0xb5, 0x85,
+ 0x5e, 0x5f, 0x47, 0xdc, 0xd6, 0x92, 0x15, 0x32, 0x1d, 0x9a,
+ 0xa2, 0x2d, 0x4b, 0x16, 0xdf, 0xae, 0xc2, 0xac, 0x89, 0x7d,
+ 0x35, 0xa0, 0x25, 0xaa, 0xc4, 0x41, 0xa3, 0xc7, 0xf9, 0x39,
+ 0x61, 0xd3, 0xa5, 0x7a, 0x72, 0xa3, 0xd5, 0x0f, 0x35, 0x63,
+ 0x32, 0x08, 0x1d, 0x20, 0x97, 0x9d, 0x0b, 0xf8, 0x39, 0x89,
+ 0x02, 0xc3, 0x3c, 0xf5, 0xc5, 0xde, 0x09, 0x39, 0x18, 0xe4,
+ 0xa8, 0x0e, 0x08, 0xb2, 0x01, 0x81, 0xf9, 0x1d, 0xdc, 0x5a,
+ 0xd5, 0x17, 0xff, 0x70, 0xa6, 0x03, 0xc6, 0xaa, 0x62, 0x99,
+ 0x9d, 0x72, 0x37, 0xbc, 0x3f, 0x68, 0xe5, 0x8f, 0x26, 0xab,
+ 0xa7, 0xe9, 0x74, 0x85, 0xdc, 0xe4, 0xfa, 0xa4, 0xcc, 0x62,
+ 0xdf, 0xc7, 0xf5, 0x46, 0xd0, 0xe2, 0x19, 0x0e, 0x1a, 0x21,
+ 0xb6, 0xcf, 0x66, 0x57, 0x68, 0x3d, 0x3a, 0x0c, 0x85, 0x7c,
+ 0x57, 0xde, 0xa5, 0xfe, 0xd3, 0xdb, 0x63, 0x1e, 0x34, 0xcb,
+ 0x93, 0xe3, 0xda, 0xa3, 0x95, 0xb5, 0xa1, 0x97, 0x1b, 0x19,
+ 0xbd, 0x7f, 0x09, 0x35, 0xa8, 0x38, 0x5d, 0x42, 0x39, 0x91,
+ 0xa5, 0x2d, 0x78, 0x4c, 0x1a, 0xf3, 0x0f, 0x50, 0xb7, 0x48,
+ 0xcf, 0xee, 0xa6, 0x9c, 0xd9, 0x3e, 0xb5, 0xe4, 0x8e, 0x05,
+ 0xa4, 0x14, 0x61, 0xf4, 0xdd, 0x63, 0x53, 0x1d, 0xbd, 0x82,
+ 0x28, 0xa6, 0x86, 0x94, 0x0e, 0x2e, 0x10, 0xb8, 0x71, 0xb5,
+ 0xb1, 0xdc, 0xbf, 0xfe, 0x46, 0x5c, 0xc8, 0x09, 0x96, 0x5d,
+ 0xf8, 0x67, 0xae, 0x5f, 0x1f, 0x11, 0xdb, 0xf7, 0x23, 0x0d,
+ 0x88, 0xfd, 0x2b, 0x3b, 0xa6, 0xc5, 0x21, 0xbc, 0xaf, 0xb5,
+ 0xad, 0x3e, 0x65, 0x8a, 0x44, 0xdb, 0x73, 0x23, 0xcb, 0x94,
+ 0xb6, 0x0c, 0xd7, 0xf5, 0x11, 0x52, 0xc3, 0x9a, 0x0f, 0xa1,
+ 0xd8, 0x28, 0xd7, 0x7c, 0x2e, 0x5f, 0xc6, 0x36, 0x50, 0xc9,
+ 0xad, 0xa2, 0x0a, 0x60, 0xda, 0x70, 0x8a, 0xb4, 0x2c, 0xa2,
+ 0xce, 0xf0, 0xd6, 0xff, 0xa6, 0x80, 0x13, 0x45, 0x64, 0xc4,
+ 0xb0, 0x5b, 0x16, 0x47, 0xe2, 0x03, 0x2d, 0xc2, 0xe6, 0x67,
+ 0x7f, 0x5b, 0x12, 0xaf, 0xd6, 0xeb, 0x0e, 0x26, 0x71, 0x91,
+ 0x19, 0xdd, 0xcd, 0x6d, 0xf6, 0xae, 0x89, 0x12, 0xac, 0x48,
+ 0xb8, 0x4f, 0x64, 0x0d, 0xed, 0x62, 0x69, 0xbd, 0x24, 0x97,
+ 0x06, 0x13, 0xb2, 0x23, 0xa9, 0x8c, 0x87, 0xdc, 0x67, 0x47,
+ 0xd5, 0x6a, 0x92, 0x63, 0xc4, 0x38, 0x16, 0xda, 0x44, 0x6a,
+ 0x17, 0x6b, 0xe9, 0x78, 0x0d, 0x6c, 0x49, 0x99, 0x5c, 0xc2,
+ 0x27, 0x0a, 0x26, 0x42, 0x9d, 0xb1, 0x16, 0x81, 0x5b, 0x57,
+ 0xb3, 0x11, 0x2e, 0x4f, 0xa7, 0x1c, 0xc7, 0xa5, 0x36, 0x8b,
+ 0x6b, 0xf8, 0xa8, 0x66, 0x35, 0xf3, 0xd9, 0x3a, 0xb2, 0xbc,
+ 0x03, 0x43, 0x22, 0x6e, 0x46, 0xb1, 0xec, 0xc4, 0x14, 0x96,
+ 0xfc, 0x09, 0x0c, 0xeb, 0xe0, 0x20, 0xf8, 0x9d, 0xc2, 0xc1,
+ 0x56, 0x78, 0x1a, 0x8d, 0xaa, 0x71, 0x92, 0xad, 0x66, 0xc0,
+ 0x7c, 0xd3, 0x36, 0x3c, 0x21, 0xf3, 0x66, 0xe0, 0xc3, 0x56,
+ 0xab, 0x9b, 0x20, 0x82, 0xd8, 0xbd, 0x1b, 0x05, 0xcd, 0xe2,
+ 0xc1, 0x5c, 0x76, 0x29, 0x35, 0x1f, 0x15, 0x7c, 0x4e, 0x26,
+ 0xb2, 0x96, 0x87, 0xf6, 0x6f, 0x3b, 0x60, 0x4b, 0x8a, 0xb2,
+ 0xa9, 0x68, 0x81, 0x63, 0xbc, 0xce, 0x7f, 0x52, 0xd6, 0x2a,
+ 0x94, 0xe5, 0x80, 0xe4, 0x9a, 0x7b, 0x5f, 0x21, 0x3f, 0x84,
+ 0xd2, 0x6a, 0x15, 0x79, 0x4a, 0xd9, 0x5a, 0x44, 0x63, 0xd6,
+ 0xaa, 0xe3, 0x86, 0xfa, 0x3e, 0x6e, 0x60, 0x45, 0xab, 0x04,
+ 0x2d, 0x0f, 0xa1, 0x9a, 0x83, 0x79, 0xba, 0x2a, 0x70, 0xb3,
+ 0x80, 0x89, 0x0e, 0xe1, 0xc1, 0x2f, 0xb1, 0xfc, 0x05, 0xc5,
+ 0x66, 0xb2, 0xca, 0x10, 0xf7, 0x8f, 0x3c, 0x79, 0xc7, 0x1b,
+ 0x14, 0xfe, 0xe3, 0x60, 0xfe, 0x1b, 0x86, 0x1d, 0xda, 0xd9,
+ 0x01, 0xc6, 0x82, 0x9e, 0xa9, 0xbf, 0x7e, 0xd5, 0x7f, 0x93,
+ 0x30, 0xba, 0x65, 0x2f, 0xea, 0x41, 0xd8, 0x1d, 0x83, 0x74,
+ 0x1b, 0x90, 0xc0, 0xa8, 0x18, 0x45, 0xcb, 0x64, 0x85, 0x80,
+ 0xfa, 0x88, 0x2e, 0x54, 0x3d, 0x93, 0x75, 0x34, 0xaa, 0x83,
+ 0x84, 0xb6, 0xbb, 0x04, 0x6c, 0x7a, 0x0a, 0x35, 0x15, 0x65,
+ 0x38, 0x57, 0x4a, 0xa7, 0xa9, 0xc9, 0xbc, 0xbe, 0x40, 0xda,
+ 0x8c, 0xd5, 0x1a, 0xfc, 0xe3, 0x2c, 0x86, 0xb0, 0x24, 0x03,
+ 0xc3, 0xe2, 0x20, 0x4d, 0x8e, 0x7b, 0x6f, 0xe7, 0x2a, 0x64,
+ 0x3a, 0xf7, 0x87, 0x5a, 0x96, 0x2c, 0x7d, 0x9f, 0x47, 0x9b,
+ 0x75, 0xa5, 0x8f, 0x48, 0x3a, 0xad, 0xcc, 0xbe, 0x39, 0xbd,
+ 0xf8, 0x88, 0x17, 0xb4, 0xdb, 0x68, 0xd1, 0xfa, 0x6a, 0x83,
+ 0x4a, 0x97, 0x4b, 0x82, 0x85, 0x4d, 0x31, 0x72, 0xc2, 0x65,
+ 0x89, 0xf4, 0x2a, 0x24, 0x8a, 0x2c, 0x5a, 0x5e, 0xbd, 0xcb,
+ 0x3b, 0xaa, 0x5f, 0xd6, 0xa8, 0x4e, 0x15, 0x07, 0xe4, 0x85,
+ 0x69, 0x1e, 0x6a, 0xc6, 0x64, 0x10, 0x3a, 0x40, 0xed, 0xf9,
+ 0x16, 0x33, 0x72, 0xd1, 0x1f, 0x5b, 0x89, 0xb1, 0x7a, 0x0f,
+ 0x92, 0x59, 0x84, 0xa7, 0x83, 0x5d, 0x7c, 0x18, 0xee, 0x22,
+ 0x04, 0x45, 0x78, 0x29, 0x49, 0x7f, 0x12, 0x72, 0x30, 0x0b,
+ 0x93, 0x1c, 0x10, 0xa7, 0x02, 0xc1, 0xff, 0x9b, 0x98, 0x86,
+ 0x59, 0xb6, 0xe4, 0x3b, 0x8e, 0xec, 0xfd, 0xb8, 0x7a, 0x8c,
+ 0x9e, 0x32, 0x31, 0x3a, 0x7b, 0xb4, 0x69, 0x2e, 0x3d, 0xe0,
+ 0x8f, 0x06, 0x4f, 0x97, 0xc4, 0xf1, 0xf9, 0xe4, 0xca, 0xe4,
+ 0x9b, 0x1b, 0x79, 0xe7, 0xcb, 0xa9, 0x31, 0xe1, 0x21, 0x33,
+ 0xae, 0xda, 0x65, 0x17, 0x6e, 0xbb, 0x7e, 0xd0, 0x09, 0xdd,
+ 0x4c, 0x95, 0x8d, 0x11, 0xe8, 0xc9, 0x7b, 0x0b, 0x37, 0x8b,
+ 0x95, 0x65, 0x9e, 0x7f, 0x19, 0x14, 0xba, 0xdc, 0x33, 0xf6,
+ 0x86, 0x6d, 0x11, 0x20, 0xab, 0x78, 0x5b, 0xc4, 0x7d, 0x4d,
+ 0x29, 0x8c, 0x63, 0x07, 0x32, 0x1c, 0x34, 0x42, 0xaf, 0x5d,
+ 0xcc, 0xae, 0xa0, 0x1a, 0x9d, 0xe2, 0x39, 0x45, 0x95, 0x4e,
+ 0x8c, 0xfb, 0x5a, 0xe6, 0xc5, 0x76, 0x50, 0x5d, 0xd0, 0x7a,
+ 0x74, 0x18, 0xc9, 0xf8, 0xae, 0x7f, 0x89, 0x3f, 0x65, 0x75,
+ 0xc6, 0x3c, 0x68, 0x55, 0x2b, 0xa4, 0x94, 0xb7, 0xd9, 0x31,
+ 0x58, 0x36, 0x37, 0xd8, 0x0b, 0xd1, 0xac, 0x17, 0xf4, 0xa6,
+ 0xe5, 0x05, 0x77, 0x85, 0xe9, 0xa9, 0x81, 0xed, 0x36, 0x32,
+ 0xb9, 0xfe, 0x12, 0x6a, 0x93, 0x70, 0x1e, 0xdb, 0x97, 0x2a,
+ 0xf9, 0x60, 0x77, 0xa4, 0x88, 0xd5, 0xd7, 0x5a, 0x78, 0x41,
+ 0x0f, 0x83, 0xba, 0x84, 0x72, 0xe1, 0x89, 0x5a, 0xf0, 0x98,
+ 0x34, 0x25, 0x1e, 0xa0, 0xad, 0x90, 0x5d, 0x1f, 0x41, 0x5a,
+ 0x92, 0x4e, 0x99, 0x93, 0x06, 0xd1, 0x8a, 0xc2, 0x70, 0x04,
+ 0xc7, 0xbb, 0xc1, 0xec, 0x8f, 0xfb, 0x71, 0x7c, 0xa9, 0x0b,
+ 0xdf, 0x0a, 0x8b, 0x28, 0xc2, 0x2b, 0x79, 0xc6, 0xa6, 0x3a,
+ 0x74, 0x25, 0x91, 0xd3, 0xb9, 0xc2, 0x29, 0x43, 0x35, 0xcf,
+ 0xac, 0x8f, 0x13, 0xed, 0x3a, 0xc9, 0xb9, 0xc7, 0x50, 0x8f,
+ 0xcf, 0xeb, 0x1c, 0x5c, 0x20, 0xb3, 0xe2, 0xa9, 0xa1, 0x7b,
+ 0xbd, 0x3f, 0x42, 0x19, 0xb0, 0x20, 0xdf, 0x22, 0xea, 0x15,
+ 0x9e, 0x54, 0x8c, 0x0d, 0xcb, 0x50, 0x21, 0xcc, 0x8c, 0xb8,
+ 0x53, 0x12, 0xef, 0xba, 0x33, 0xce, 0x9f, 0xbe, 0x3e, 0x22,
+ 0x75, 0x2d, 0x46, 0x1a, 0x77, 0x66, 0xb3, 0xbd, 0xff, 0x73,
+ 0xc5, 0x87, 0x21, 0x59, 0x50, 0x86, 0x1f, 0x06, 0xda, 0xe9,
+ 0xd3, 0x39, 0x56, 0x76, 0x8f, 0x49, 0x42, 0xbb, 0x9d, 0xa9,
+ 0x99, 0x7c, 0xca, 0xd7, 0x88, 0x75, 0x28, 0xe7, 0xb6, 0xd9,
+ 0x9f, 0x80, 0xb4, 0xf2, 0x23, 0x4e, 0xf7, 0xd8, 0xa0, 0xfc,
+ 0x14, 0x86, 0xe6, 0x46, 0x55, 0xeb, 0xaf, 0x18, 0x6d, 0x29,
+ 0x22, 0xa4, 0x45, 0xf7, 0x1e, 0x81, 0x73, 0x50, 0x1d, 0x98,
+ 0xb5, 0x44, 0xbf, 0xd1, 0x9b, 0x60, 0x9c, 0x43, 0x2b, 0x53,
+ 0x74, 0xaa, 0xef, 0xa3, 0x6d, 0xf8, 0x5c, 0xbe, 0x4f, 0x6c,
+ 0xa0, 0x51, 0x99, 0x87, 0x14, 0xc0, 0x77, 0xe0, 0xd7, 0xab,
+ 0x96, 0x26, 0xbc, 0x11, 0x5f, 0xa5, 0x56, 0x18, 0x27, 0x60,
+ 0x7a, 0x64, 0x1d, 0xcb, 0x4b, 0x58, 0x58, 0x87, 0x5f, 0x23,
+ 0x6f, 0x3d, 0x8f, 0xc3, 0x26, 0x8a, 0xc8, 0x4b, 0xa3, 0xb6,
+ 0x2c, 0x8e, 0xa3, 0x59, 0xbf, 0x8c, 0x7f, 0xf4, 0x79, 0x8a,
+ 0x98, 0x6d, 0xa6, 0xef, 0xc9, 0x9d, 0xb0, 0x7d, 0x07, 0x06,
+ 0x5a, 0x47, 0x0f, 0xce, 0xfe, 0xb6, 0x24, 0x9d, 0x6f, 0x15,
+ 0x1c, 0x4c, 0xe2, 0xe1, 0xfc, 0xd8, 0xba, 0xe8, 0x1f, 0x07,
+ 0x08, 0xff, 0x9a, 0x7a, 0x01, 0xb1, 0x76, 0x67, 0x7e, 0x12,
+ 0x32, 0x79, 0x59, 0xda, 0x2f, 0x9f, 0xd1, 0x24, 0x9b, 0x90,
+ 0xb3, 0x9e, 0xc8, 0x1a, 0x19, 0xc4, 0xc9, 0xa7, 0xb9, 0x75,
+ 0x3f, 0x56, 0x27, 0x6d, 0x25, 0x77, 0xdd, 0x3a, 0xa2, 0x31,
+ 0x85, 0x37, 0xd2, 0xb9, 0x48, 0xed, 0x0c, 0x26, 0xa7, 0x46,
+ 0x91, 0xdb, 0xcd, 0x7b, 0xce, 0x8e, 0x69, 0xd4, 0x29, 0x67,
+ 0xa8, 0x42, 0x1c, 0xef, 0x51, 0x0f, 0x2f, 0x3c, 0xa3, 0xdf,
+ 0xa4, 0xa5, 0xf5, 0x27, 0xe7, 0xc6, 0x4b, 0x70, 0x2c, 0x77,
+ 0x88, 0xd4, 0x2e, 0xd6, 0x11, 0xf0, 0x1a, 0xd8, 0x92, 0xf1,
+ 0x1c, 0x18, 0xab, 0xdf, 0x3c, 0xbe, 0x7e, 0x9d, 0x90, 0x31,
+ 0x7f, 0x54, 0x70, 0xf3, 0x0e, 0x02, 0xb8, 0x47, 0x4e, 0x14,
+ 0x4c, 0x84, 0xf9, 0xa1, 0x2c, 0xc1, 0xb6, 0xae, 0xa5, 0x22,
+ 0x5c, 0x9e, 0x43, 0x99, 0xae, 0xbb, 0x5c, 0x4d, 0x0f, 0xe8,
+ 0x92, 0x26, 0xd8, 0x0a, 0xcf, 0x09, 0xc0, 0x6d, 0x8d, 0x38,
+ 0x4d, 0x89, 0x6c, 0xd5, 0xd6, 0x33, 0x93, 0xcc, 0x6a, 0x25,
+ 0x71, 0x74, 0xa7, 0xbb, 0x76, 0xe6, 0xad, 0x26, 0x7c, 0x1c,
+ 0x20, 0x7a, 0x2d, 0x2b, 0x04, 0x81, 0x1b, 0x5f, 0x3b, 0x48,
+ 0x06, 0x86, 0x44, 0xdc, 0x8c, 0xa1, 0x1b, 0x4b, 0x28, 0xef,
+ 0x3b, 0x12, 0x18, 0x15, 0x03, 0x40, 0xfd, 0x58, 0xa4, 0x73,
+ 0x9c, 0x68, 0xed, 0x02, 0x96, 0x08, 0x55, 0xb6, 0x72, 0x3e,
+ 0x9f, 0xb3, 0x33, 0xf9, 0x47, 0x41, 0xac, 0xf0, 0x34, 0xd9,
+ 0x97, 0xe2, 0xe7, 0x99, 0xcc, 0x43, 0xf8, 0x65, 0xc8, 0x27,
+ 0xa7, 0xee, 0xbc, 0x39, 0xc2, 0x90, 0x29, 0x05, 0x89, 0x3d,
+ 0xa6, 0x68, 0x64, 0x96, 0x6c, 0x78, 0x42, 0x25, 0xcc, 0x03,
+ 0x45, 0xac, 0x95, 0xf5, 0x40, 0xc7, 0x73, 0xb9, 0x36, 0x0a,
+ 0x97, 0xa6, 0xa2, 0x8a, 0xdc, 0xca, 0xb3, 0xe5, 0x2b, 0x12,
+ 0x2e, 0x63, 0x19, 0x92, 0xaa, 0xf9, 0x59, 0x07, 0x41, 0xb8,
+ 0xec, 0x52, 0x6a, 0x3e, 0x2a, 0xf8, 0x9c, 0x4c, 0xa7, 0xef,
+ 0xcd, 0x2f, 0xa2, 0xd9, 0xa1, 0x17, 0xfc, 0x9b, 0x9c, 0x77,
+ 0x94, 0x1f, 0xf2, 0xe8, 0xcd, 0xc4, 0x51, 0xdc, 0xde, 0x76,
+ 0xc0, 0x96, 0xd7, 0xa7, 0x91, 0xd0, 0xc1, 0xc6, 0xbb, 0x5f,
+ 0xfe, 0xa4, 0x6f, 0x54, 0x25, 0xa8, 0x20, 0x39, 0xc7, 0x6e,
+ 0x67, 0x99, 0x7f, 0x21, 0xd5, 0xfb, 0x94, 0x8f, 0xf3, 0xa7,
+ 0xeb, 0x09, 0xc3, 0x0b, 0xf7, 0xf6, 0xbe, 0x42, 0x7e, 0xcb,
+ 0x67, 0xd4, 0x2a, 0xf2, 0x94, 0x71, 0x10, 0xd7, 0x23, 0xa4,
+ 0xe7, 0x3f, 0x48, 0x0b, 0xc0, 0x2c, 0x09, 0x70, 0x40, 0xd9,
+ 0x08, 0x82, 0xb4, 0x88, 0xc6, 0x6f, 0x97, 0x05, 0xcf, 0x37,
+ 0x7c, 0xdc, 0xc0, 0x8a, 0x95, 0x08, 0x5a, 0x1e, 0x4f, 0x56,
+ 0x26, 0xc0, 0x87, 0xcc, 0x39, 0x7e, 0xc2, 0x3b, 0xae, 0x2e,
+ 0xff, 0x23, 0xc6, 0xed, 0x81, 0xf7, 0xc5, 0xf2, 0xb7, 0x54,
+ 0xe0, 0xa5, 0xc3, 0xd1, 0x1c, 0x01, 0x41, 0x5e, 0xa1, 0x3b,
+ 0x7a, 0x29, 0x25, 0x5d, 0xa7, 0x9d, 0x16, 0xec, 0x7d, 0x36,
+ 0x72, 0xa5, 0x2b, 0x75, 0x3d, 0xc8, 0x0a, 0x49, 0xcc, 0xa7,
+ 0x57, 0x20, 0x2d, 0xdd, 0x78, 0xf2, 0x4d, 0x36, 0x28, 0x3f,
+ 0x05, 0xc0, 0xf1, 0x97, 0x2c, 0x08, 0x47, 0xe9, 0xdb, 0x94,
+ 0xc6, 0x15, 0x23, 0x92, 0x42, 0x14, 0x99, 0x33, 0x3f, 0x36,
+ 0xcf, 0x3a, 0x77, 0x71, 0x02, 0x4f, 0xc7, 0xff, 0x91, 0xbd,
+ 0xfc, 0x69, 0xfe, 0xe5, 0xc4, 0xe8, 0x2f, 0x95, 0x67, 0xb8,
+ 0xf4, 0x06, 0x79, 0x18, 0xff, 0x19, 0x96, 0x42, 0x62, 0x16,
+ 0x60, 0xb7, 0xca, 0x5e, 0x17, 0x82, 0x73, 0x3a, 0xc5, 0xe8,
+ 0x36, 0xe3, 0x43, 0x93, 0x30, 0x8a, 0x9b, 0x69, 0x2a, 0xf1,
+ 0x07, 0x4b, 0x85, 0x73, 0x7b, 0x0f, 0x58, 0x47, 0x29, 0xb8,
+ 0xac, 0x79, 0x55, 0xc8, 0xc9, 0xc3, 0x37, 0xd3, 0x5c, 0xa8,
+ 0x7a, 0xe5, 0xea, 0x68, 0x97, 0xc5, 0xcb, 0xaf, 0xae, 0x16,
+ 0x29, 0x6c, 0x27, 0x1a, 0xaa, 0xe1, 0xc4, 0x02, 0x84, 0xcc,
+ 0xfd, 0xee, 0x57, 0x5c, 0xb5, 0x08, 0xd8, 0xf4, 0x14, 0x6a,
+ 0x2a, 0xca, 0x70, 0xae, 0x94, 0x8d, 0x91, 0x51, 0xbb, 0xbf,
+ 0x4e, 0xd6, 0x38, 0x5b, 0x04, 0xa3, 0xdc, 0x83, 0xce, 0x49,
+ 0xfa, 0x29, 0xfb, 0x7a, 0x27, 0x4c, 0x80, 0x77, 0xdb, 0x69,
+ 0x34, 0x3b, 0x05, 0x58, 0xcf, 0xa3, 0x48, 0x06, 0x45, 0x07,
+ 0x40, 0x9a, 0x7b, 0xa9, 0x3b, 0xc6, 0x24, 0xf2, 0xf3, 0x11,
+ 0x71, 0x44, 0x26, 0xa2, 0x2f, 0x2c, 0xdc, 0x69, 0xdf, 0xf6,
+ 0xde, 0x0d, 0x54, 0xc8, 0x74, 0x2d, 0xcd, 0xb4, 0xef, 0x58,
+ 0xfa, 0xfd, 0x8e, 0xf5, 0x24, 0x28, 0x3e, 0xa2, 0x44, 0x01,
+ 0x82, 0x64, 0x73, 0x53, 0x81, 0xfc, 0x90, 0xd6, 0x12, 0x06,
+ 0xea, 0x89, 0xdd, 0x90, 0x74, 0x99, 0x5b, 0xbf, 0x72, 0xb9,
+ 0x33, 0xd3, 0x2e, 0xab, 0x75, 0xd0, 0x11, 0x57, 0x3d, 0x3f,
+ 0x64, 0x50, 0xad, 0xf6, 0xcc, 0x5e, 0x5d, 0x77, 0x44, 0x80,
+ 0xe9, 0x23, 0x61, 0x37, 0xd4, 0xc5, 0x94, 0xed, 0x96, 0xc7,
+ 0xc9, 0x9a, 0x62, 0xe4, 0x47, 0xca, 0xd1, 0x2b, 0x9a, 0xe9,
+ 0x34, 0x6a, 0x84, 0x24, 0x60, 0x8e, 0x77, 0x7d, 0x0c, 0x40,
+ 0x2d, 0xe1, 0x4d, 0xd8, 0x54, 0x48, 0xd7, 0x58, 0xb4, 0xbc,
+ 0xb9, 0x55, 0x76, 0x97, 0xbe, 0x6f, 0x93, 0x9c, 0x2a, 0x0e,
+ 0xaf, 0x96, 0x37, 0xf7, 0xa4, 0x75, 0x4f, 0x1c, 0xc8, 0x70,
+ 0xd0, 0xcb, 0xf9, 0xb7, 0xb6, 0xfd, 0x0b, 0xc9, 0xd2, 0x3c,
+ 0xd4, 0x4f, 0xc8, 0x20, 0x74, 0x80, 0x19, 0x31, 0x2c, 0x66,
+ 0xe4, 0x61, 0xf0, 0x17, 0x32, 0x93, 0xc4, 0x86, 0x3e, 0x69,
+ 0xca, 0x67, 0x77, 0x95, 0x46, 0x4d, 0x78, 0x92, 0x3e, 0xb6,
+ 0xd1, 0xa1, 0xf4, 0x1e, 0xe7, 0xb2, 0xcb, 0x8d, 0xc5, 0xba,
+ 0xf8, 0x30, 0x1f, 0x44, 0xc5, 0x68, 0x31, 0x0e, 0xe4, 0xd7,
+ 0x11, 0xfb, 0x75, 0x6a, 0xab, 0x1e, 0x92, 0x1b, 0x83, 0xb7,
+ 0x08, 0x8a, 0xf0, 0x52, 0x92, 0xfe, 0x24, 0xe4, 0x60, 0x16,
+ 0xe5, 0x38, 0x20, 0x8d, 0x04, 0x41, 0xf3, 0x54, 0x10, 0xfd,
+ 0x82, 0x37, 0xd2, 0xad, 0xde, 0xf1, 0x8b, 0x9c, 0x4a, 0xa6,
+ 0x98, 0xb2, 0x3d, 0xf5, 0xf3, 0xcf, 0xb2, 0xaf, 0x0b, 0x76,
+ 0xdf, 0x1b, 0x39, 0xb3, 0xf4, 0xdb, 0xff, 0x64, 0xc6, 0x2b,
+ 0x13, 0x60, 0xa2, 0x66, 0xfd, 0x3f, 0x61, 0xfc, 0x57, 0x17,
+ 0x9e, 0xf0, 0x63, 0x97, 0x62, 0x74, 0xf6, 0xab, 0xd2, 0x5c,
+ 0x7a, 0x03, 0xdd, 0x0c, 0x9e, 0xed, 0x4b, 0x21, 0x31, 0x0b,
+ 0x99, 0xaa, 0x16, 0x04, 0xc2, 0x95, 0x8c, 0x4a, 0x63, 0xeb,
+ 0xf0, 0x49, 0x21, 0x0a, 0xad, 0xf8, 0x57, 0x0b, 0xf5, 0x36,
+ 0xf2, 0x0d, 0x55, 0x91, 0x62, 0x01, 0x42, 0x66, 0x9f, 0x77,
+ 0xca, 0x2e, 0xac, 0xd5, 0x15, 0x99, 0xe2, 0xc4, 0xa3, 0xd8,
+ 0xdc, 0xe6, 0x2c, 0xc2, 0xf5, 0x5c, 0x56, 0xdd, 0xdc, 0xb5,
+ 0xfc, 0x63, 0x12, 0x79, 0x98, 0xe9, 0xd9, 0x22, 0x13, 0x51,
+ 0xf6, 0x16, 0x6e, 0xd5, 0x27, 0x6b, 0x1c, 0xcc, 0x02, 0xb0,
+ 0x6e, 0xa0, 0x67, 0xc5, 0x7d, 0xf5, 0x9c, 0x3d, 0xf2, 0x26,
+ 0xe9, 0xca, 0xff, 0xfe, 0x32, 0x28, 0xb7, 0x7b, 0x66, 0x2f,
+ 0xcf, 0xda, 0x22, 0x40, 0x95, 0xf0, 0x12, 0x14, 0x1f, 0x51,
+ 0x22, 0xe1, 0x41, 0x32, 0xd8, 0xc8, 0xa1, 0x7e, 0x48, 0x6b,
+ 0x09, 0x03, 0xb6, 0x4b, 0xfa, 0x9a, 0x52, 0xdb, 0xc6, 0x0e,
+ 0x64, 0x38, 0x68, 0x84, 0x9d, 0xba, 0x5b, 0x9f, 0x4d, 0x95,
+ 0x1a, 0x35, 0x42, 0x12, 0x30, 0x47, 0xda, 0xdf, 0x06, 0x20,
+ 0xf7, 0x91, 0xc7, 0x6c, 0x83, 0x34, 0xf9, 0x07, 0x72, 0x8a,
+ 0xe9, 0x9c, 0xdb, 0x35, 0xb4, 0x0f, 0x49, 0xec, 0xa0, 0xba,
+ 0x78, 0xea, 0x19, 0xa8, 0x62, 0x43, 0x1f, 0xd5, 0x65, 0xd2,
+ 0xda, 0xab, 0x23, 0xc7, 0x3c, 0x49, 0x63, 0xf4, 0xe8, 0x30,
+ 0x51, 0x33, 0x9f, 0xfe, 0xd1, 0x7e, 0xca, 0xea, 0x4f, 0x78,
+ 0xd0, 0xaa, 0x98, 0x2a, 0x08, 0x9f, 0x41, 0xfa, 0x69, 0xb7,
+ 0x6f, 0x99, 0xa4, 0x4e, 0x25, 0x53, 0x4c, 0x59, 0x56, 0x8b,
+ 0xeb, 0xad, 0x71, 0x62, 0xb0, 0x6c, 0x6e, 0x73, 0x16, 0x61,
+ 0x9b, 0x2e, 0x2b, 0x8f, 0xad, 0x55, 0x0b, 0x02, 0x61, 0xab,
+ 0x46, 0x25, 0xd0, 0x94, 0x78, 0xc5, 0xf1, 0x05, 0xb7, 0x7c,
+ 0x09, 0x0a, 0xee, 0xc9, 0x11, 0x91, 0xc1, 0x19, 0x6c, 0x64,
+ 0xb1, 0x3f, 0x24, 0xd4, 0xe5, 0xe0, 0xf2, 0xd4, 0x0e, 0x66,
+ 0x01, 0x58, 0x37, 0x50, 0xd2, 0x83, 0xdf, 0x9b, 0x4e, 0xff,
+ 0x79, 0x13, 0x3c, 0x75, 0xed, 0x54, 0x31, 0xc0, 0xee, 0x8b,
+ 0xd3, 0x69, 0x6d, 0xb4, 0xf0, 0x82, 0x1e, 0xc5, 0xc7, 0xab,
+ 0x0d, 0xfb, 0x21, 0x09, 0x18, 0xc2, 0x6d, 0x8e, 0x03, 0x10,
+ 0x9a, 0xa9, 0x82, 0x36, 0xb7, 0xcb, 0xe4, 0x01, 0xd1, 0xb4,
+ 0x23, 0xf3, 0x68, 0x4a, 0x3c, 0x83, 0x99, 0xe3, 0xba, 0x3e,
+ 0x4c, 0x15, 0x04, 0xae, 0xc1, 0x7d, 0xd5, 0xba, 0xd6, 0xad,
+ 0x52, 0x27, 0xf3, 0xc8, 0x26, 0xcd, 0x82, 0xb4, 0xe7, 0x9c,
+ 0xf1, 0xe5, 0x0c, 0x61, 0xd7, 0x47, 0xe0, 0x08, 0x4d, 0xb5,
+ 0x41, 0x1b, 0x79, 0x6a, 0x07, 0x33, 0xe1, 0x2c, 0xfa, 0x28,
+ 0x69, 0xa0, 0x8e, 0xac, 0x27, 0x9e, 0xdd, 0xe8, 0xdd, 0x35,
+ 0xe2, 0xf8, 0x91, 0x16, 0x7d, 0x14, 0xd5, 0x50, 0x47, 0x56,
+ 0xf2, 0x4f, 0x8f, 0x74, 0x26, 0xeb, 0x02, 0x57, 0x81, 0xdf,
+ 0x8b, 0x5d, 0x6b, 0xb7, 0x29, 0xf2, 0x98, 0x64, 0x13, 0x87,
+ 0xe8, 0x4a, 0xe1, 0x65, 0xb1, 0x47, 0x52, 0x86, 0x6a, 0x5d,
+ 0x9b, 0xdd, 0x26, 0x19, 0x74, 0x51, 0x13, 0x94, 0x01, 0xca,
+ 0xa1, 0x8e, 0xa4, 0xcf, 0xd4, 0xba, 0xf5, 0x79, 0x4c, 0x32,
+ 0xe8, 0xa2, 0xb1, 0x4d, 0xa0, 0xdd, 0x5d, 0x15, 0x38, 0xb8,
+ 0x40, 0xa5, 0x07, 0x91, 0x81, 0xf6, 0xb9, 0x7e, 0x4a, 0x93,
+ 0x40, 0x72, 0x4d, 0xdc, 0xce, 0xf1, 0xfe, 0x42, 0x69, 0x35,
+ 0xeb, 0xdd, 0x25, 0x8d, 0x84, 0x32, 0xa3, 0x40, 0x7d, 0x44,
+ 0x17, 0x2a, 0xff, 0xa8, 0xdb, 0x1a, 0x55, 0xa0, 0x42, 0x5b,
+ 0x7f, 0xec, 0x43, 0xef, 0x6d, 0x8d, 0xe1, 0x63, 0x41, 0x4f,
+ 0xb5, 0xbe, 0x3f, 0x8b, 0xde, 0xa8, 0xdb, 0xb3, 0xa6, 0x24,
+ 0x1d, 0xb7, 0x66, 0x5f, 0xfd, 0xbf, 0x7c, 0x44, 0xea, 0x5a,
+ 0x8c, 0x34, 0x20, 0x6d, 0x46, 0x8b, 0x0d, 0x7e, 0x90, 0x16,
+ 0x43, 0x58, 0x12, 0xe0, 0x80, 0x71, 0x10, 0xc7, 0xee, 0xcc,
+ 0xa5, 0xb9, 0x3d, 0xe6, 0x49, 0xcd, 0x42, 0xb2, 0xa0, 0xcf,
+ 0x3e, 0x0c, 0x77, 0x11, 0x15, 0x12, 0x45, 0x16, 0x2d, 0x2f,
+ 0xbf, 0x84, 0xfc, 0x55, 0xce, 0x6b, 0x54, 0x27, 0xeb, 0xe2,
+ 0x65, 0x72, 0xac, 0xec, 0xdd, 0x92, 0x84, 0xb5, 0xf9, 0x91,
+ 0xf1, 0xf8, 0x57, 0x6d, 0xd3, 0xea, 0x9e, 0xac, 0x4c, 0x43,
+ 0xcd, 0x5b, 0x72, 0xfc, 0x47, 0x76, 0x9f, 0x5c, 0x3d, 0x46,
+ 0x4f, 0x19, 0x50, 0x0d, 0xaf, 0x71, 0xfd, 0xc3, 0xab, 0x27,
+ 0x46, 0x9c, 0x2d, 0x73, 0x83, 0x3b, 0x28, 0xcf, 0xab, 0xd3,
+ 0x4f, 0xde, 0xed, 0x0a, 0x5d, 0x6e, 0xf8, 0x7b, 0x43, 0xd7,
+ 0xe9, 0x10, 0xb4, 0x3c, 0x0f, 0x8c, 0xaa, 0x15, 0x9d, 0x30,
+ 0xda, 0x52, 0x44, 0x8b, 0x8a, 0x2d, 0x3c, 0xc1, 0xe6, 0xa0,
+ 0xf4, 0x52, 0x4a, 0xba, 0x8d, 0xf9, 0x2c, 0x1b, 0xfa, 0x6c,
+ 0xe4, 0x89, 0x56, 0xea, 0x7a, 0x53, 0x3a, 0xf3, 0xa9, 0x88,
+ 0xbd, 0x61, 0xf5, 0xc0, 0xfb, 0x86, 0x56, 0xa6, 0xe8, 0x97,
+ 0x1d, 0x85, 0xc1, 0x2d, 0x49, 0x27, 0xad, 0xa8, 0x03, 0x89,
+ 0x45, 0x61, 0x38, 0x02, 0x82, 0xbc, 0x81, 0x76, 0xda, 0x33,
+ 0xb8, 0xbf, 0x9e, 0xd8, 0x83, 0xa2, 0xf1, 0xcd, 0x28, 0x43,
+ 0xee, 0x03, 0x6d, 0x95, 0x21, 0xed, 0x58, 0x10, 0x8e, 0x11,
+ 0x75, 0xeb, 0x4f, 0x2a, 0x46, 0xe7, 0x84, 0x28, 0xf1, 0x66,
+ 0xef, 0x4c, 0xbb, 0x22, 0xbe, 0x89, 0xac, 0x30, 0x4e, 0xc0,
+ 0xf4, 0xc8, 0x3a, 0x55, 0x96, 0xb0, 0x14, 0x92, 0x5b, 0x8d,
+ 0xae, 0x40, 0x5a, 0x79, 0xf0, 0x27, 0x9a, 0x6c, 0x50, 0x7e,
+ 0x0a, 0x43, 0xb0, 0xcd, 0xbe, 0x46, 0xde, 0x7a, 0xdd, 0x45,
+ 0x4c, 0xd7, 0x53, 0x96, 0x85, 0xaf, 0x58, 0xdf, 0x4b, 0x13,
+ 0x5e, 0xe9, 0xce, 0xb3, 0x2b, 0x0c, 0xf2, 0x30, 0x3d, 0x32,
+ 0xef, 0x84, 0xc4, 0x2c, 0x85, 0xb2, 0xbd, 0xdb, 0xfe, 0x2b,
+ 0xf2, 0xd7, 0xf3, 0xda, 0x8f, 0x1d, 0x51, 0xf9, 0xa3, 0xfa,
+ 0x7e, 0x6c, 0x5d, 0x74, 0xee, 0xe2, 0x04, 0x9e, 0x4d, 0x3d,
+ 0xe1, 0xb9, 0x3b, 0xd2, 0x3f, 0x09, 0x0e, 0x0c, 0xb4, 0x8e,
+ 0x1e, 0x5f, 0x3f, 0xaf, 0x48, 0xf9, 0xde, 0x2a, 0x38, 0x98,
+ 0x07, 0x01, 0xf5, 0xd2, 0x54, 0x21, 0x0e, 0x96, 0xc9, 0xe6,
+ 0xf6, 0x1e, 0xb0, 0x8e, 0x52, 0xb3, 0x9b, 0xf2, 0x3b, 0x73,
+ 0xb7, 0x13, 0x3e, 0x0e, 0x10, 0x3d, 0xf7, 0xf4, 0x02, 0xa1,
+ 0xec, 0xce, 0xfc, 0x24, 0xc0, 0xad, 0x57, 0xbc, 0x2e, 0xc7,
+ 0xe6, 0x74, 0x49, 0x13, 0x6c, 0x05, 0x86, 0xe5, 0x60, 0xd7,
+ 0x64, 0xf2, 0xb2, 0x77, 0x5e, 0xfd, 0x61, 0x48, 0xf5, 0xe3,
+ 0xa5, 0xff, 0x53, 0x34, 0x32, 0x4b, 0x9f, 0x2c, 0x52, 0xd8,
+ 0x4e, 0x34, 0x97, 0x01, 0x4b, 0x04, 0xcb, 0x5b, 0x39, 0x1f,
+ 0xae, 0xb8, 0x51, 0x8d, 0xb1, 0xea, 0x7e, 0xac, 0x4e, 0xda,
+ 0x4a, 0xee, 0x79, 0x74, 0x87, 0x62, 0xc9, 0x6e, 0xaa, 0x53,
+ 0x51, 0x45, 0x6e, 0x65, 0xb8, 0x93, 0xf4, 0x09, 0x17, 0xd0,
+ 0xed, 0x49, 0x55, 0x9d, 0x67, 0xb1, 0x90, 0x19, 0x18, 0x4c,
+ 0x8d, 0x8c, 0xe1, 0x75, 0x59, 0xf6, 0x5f, 0xdf, 0xd2, 0x6b,
+ 0x9c, 0x6f, 0x70, 0xb6, 0x08, 0x85, 0x7b, 0xc5, 0x5f, 0x92,
+ 0x37, 0x52, 0x35, 0xf4, 0x4e, 0x98, 0x52, 0xce, 0x93, 0x84,
+ 0x38, 0x1d, 0xa2, 0x1e, 0x5e, 0x78, 0x85, 0x7d, 0x8b, 0x89,
+ 0x29, 0x4e, 0xa9, 0x10, 0x73, 0x2b, 0x28, 0xd4, 0x54, 0x57,
+ 0xe0, 0x9f, 0xeb, 0xd9, 0xe1, 0xa2, 0xb5, 0xbd, 0x0d, 0x4f,
+ 0x96, 0xe0, 0x58, 0xee, 0xd3, 0x6b, 0x5c, 0x6f, 0x22, 0x23,
+ 0x34, 0x73, 0xe7, 0x21, 0xf6, 0x91, 0x76, 0x4f, 0x48, 0x27,
+ 0x25, 0x22, 0xe2, 0x88, 0x4c, 0x87, 0x5e, 0x58, 0x7b, 0xd2,
+ 0x38, 0x30, 0x95, 0x7d, 0x78, 0xbf, 0xfc, 0xf9, 0xe3, 0x62,
+ 0xfe, 0xa8, 0xe0, 0x25, 0x1c, 0x04, 0xc3, 0xee, 0x75, 0xd2,
+ 0x68, 0x76, 0x0a, 0xb0, 0x5d, 0x85, 0x90, 0x0c, 0x8a, 0x0e,
+ 0x80, 0xf7, 0xb3, 0x8e, 0x9c, 0x28, 0x98, 0xcb, 0x31, 0x81,
+ 0x58, 0x41, 0xaf, 0x9f, 0x89, 0x44, 0xb8, 0xff, 0x48, 0x50,
+ 0x7c, 0x87, 0x88, 0x02, 0xc7, 0xc8, 0xe6, 0xa6, 0xc1, 0x3b,
+ 0xe3, 0x6f, 0x24, 0x0c, 0x86, 0xf1, 0x9f, 0xb5, 0xb8, 0x9a,
+ 0x1e, 0x13, 0xe7, 0x4c, 0x73, 0x14, 0x5d, 0x12, 0x43, 0xda,
+ 0x7d, 0x2f, 0x7f, 0x1a, 0xa8, 0x53, 0xe8, 0x5a, 0x59, 0xab,
+ 0x1d, 0xb0, 0x37, 0x39, 0xdf, 0x29, 0xd9, 0x70, 0x9a, 0xd1,
+ 0xd8, 0x69, 0x6f, 0x66, 0xe5, 0x5b, 0xd4, 0x4a, 0xe2, 0xe8,
+ 0x8d, 0xb5, 0x22, 0xae, 0x7a, 0x7e, 0xc8, 0xa0, 0x99, 0x2f,
+ 0x5b, 0xbc, 0xba, 0xee, 0x88, 0xc3, 0x11, 0x46, 0xec, 0x0f,
+ 0x99, 0x4c, 0xf8, 0x38, 0x40, 0xf4, 0x5a, 0x56, 0x08, 0xc1,
+ 0x36, 0xbe, 0x76, 0x90, 0x17, 0xd1, 0x79, 0xe3, 0xe8, 0xf1,
+ 0xb6, 0xbd, 0xe4, 0xb1, 0x66, 0x65, 0x5c, 0x95, 0xea, 0x63,
+ 0x0c, 0xcf, 0x88, 0x7b, 0xdb, 0x81, 0x36, 0x96, 0x50, 0x1d,
+ 0x76, 0x24, 0x30, 0x2a, 0x06, 0x80, 0xf7, 0x11, 0x68, 0xd4,
+ 0xcb, 0x48, 0xc0, 0xdf, 0xee, 0xfa, 0x18, 0x80, 0x5a, 0x01,
+ 0x9a, 0x73, 0x39, 0xb0, 0x8b, 0xe6, 0xfb, 0xd0, 0x19, 0x04,
+ 0xef, 0x10, 0xaa, 0xaf, 0xe4, 0x7c, 0xfd, 0xa5, 0xc2, 0x6e,
+ 0x6b, 0x49, 0xeb, 0x19, 0xef, 0x4d, 0x51, 0xf7, 0xc4, 0x0b,
+ 0x8e, 0x57, 0x61, 0x56, 0x66, 0x31, 0x8e, 0x82, 0x9b, 0x23,
+ 0x68, 0x71, 0xed, 0x07, 0x0d, 0xf1, 0x5b, 0x86, 0x33, 0xca,
+ 0x9d, 0xef, 0x6e, 0x2d, 0x8b, 0xea, 0x9e, 0x38, 0x53, 0xe0,
+ 0x63, 0x55, 0x31, 0xad, 0xaf, 0x39, 0x53, 0x4e, 0x8d, 0x1f,
+ 0xbb, 0x72, 0x47, 0xe3, 0x52, 0x0a, 0xd1, 0x7a, 0x8f, 0xd0,
+ 0xc8, 0xef, 0xa8, 0x90, 0x6d, 0xb0, 0xab, 0xbb, 0xb1, 0xaa,
+ 0xec, 0xed, 0xbf, 0xde, 0xe5, 0xfb, 0x54, 0x1c, 0xd8, 0xf0,
+ 0x84, 0x4a, 0x5b, 0x06, 0x8a, 0x9b, 0xe9, 0x29, 0x80, 0x4d,
+ 0xe6, 0xb1, 0x6c, 0x14, 0x23, 0x2e, 0x64, 0xe5, 0x4b, 0xcf,
+ 0x7c, 0xd2, 0x57, 0xce, 0xee, 0xe9, 0x8c, 0x9a, 0xf0, 0xe7,
+ 0xed, 0x8f, 0x87, 0xd7, 0x7b, 0x57, 0xa5, 0x09, 0x56, 0x24,
+ 0x5c, 0xc6, 0x32, 0xe7, 0x97, 0x31, 0x16, 0x51, 0x67, 0x78,
+ 0x6b, 0x9e, 0x53, 0x40, 0xe8, 0xc3, 0x32, 0x62, 0x58, 0xcc,
+ 0x0b, 0xc2, 0xb2, 0x0e, 0x82, 0xb3, 0x1b, 0xa4, 0xd4, 0x7c,
+ 0x54, 0x33, 0xfb, 0x98, 0x8d, 0x1d, 0x59, 0x5e, 0x49, 0xd0,
+ 0x62, 0x1c, 0x0b, 0x6d, 0x22, 0x35, 0xea, 0xd4, 0x95, 0x3c,
+ 0xe7, 0x36, 0xc5, 0xad, 0x87, 0x71, 0x81, 0x2e, 0x3b, 0xf5,
+ 0xfb, 0xee, 0xeb, 0x3e, 0x27, 0x13, 0x59, 0x4b, 0xa2, 0x7b,
+ 0x7c, 0xaf, 0x61, 0x81, 0x2b, 0x3c, 0x0d, 0xa7, 0x55, 0xd9,
+ 0x49, 0xb7, 0x33, 0x60, 0x3e, 0x88,
+ },
+ {
+ /* 9 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6f, 0x5a, 0x3d,
+ 0xbf, 0xad, 0xee, 0xab, 0xf1, 0xc4, 0xaf, 0x02, 0xd6, 0x1c,
+ 0x89, 0xf2, 0x02, 0xde, 0xb4, 0x7a, 0xbd, 0x99, 0x1f, 0x95,
+ 0x21, 0x4b, 0x9d, 0x04, 0x6f, 0x38, 0xd1, 0x27, 0x03, 0xb1,
+ 0xee, 0x47, 0x02, 0x34, 0xf1, 0x3e, 0xd0, 0x8f, 0x32, 0x06,
+ 0xb9, 0x24, 0x58, 0xd5, 0x04, 0x7f, 0xab, 0xf4, 0xb9, 0xf1,
+ 0x3e, 0xe9, 0x42, 0x96, 0xf9, 0x08, 0xde, 0x70, 0x61, 0x4e,
+ 0x05, 0x10, 0xf1, 0xc9, 0x06, 0x5c, 0xd0, 0x42, 0xb3, 0x52,
+ 0x56, 0x0a, 0x08, 0x6c, 0xe8, 0xbc, 0x06, 0xa1, 0x1f, 0x8e,
+ 0x04, 0x68, 0x21, 0x7c, 0x63, 0xdd, 0x64, 0x0c, 0xb1, 0x48,
+ 0xb0, 0x69, 0x07, 0xce, 0x45, 0xb3, 0xbb, 0xc5, 0xcf, 0xd7,
+ 0x92, 0x19, 0xcb, 0x0e, 0x67, 0x54, 0x39, 0x9b, 0x08, 0xfe,
+ 0x95, 0x2b, 0xb1, 0x21, 0x7c, 0x11, 0x84, 0xef, 0x31, 0x10,
+ 0x7f, 0xe0, 0xc2, 0x9c, 0x09, 0x91, 0xcf, 0x16, 0x0e, 0x8c,
+ 0x92, 0xba, 0x75, 0x2b, 0x9e, 0x12, 0xa9, 0xfc, 0x4b, 0x6e,
+ 0x0a, 0x20, 0x21, 0x51, 0x0c, 0xb8, 0x63, 0x84, 0xa5, 0xa4,
+ 0xac, 0x14, 0x10, 0xd8, 0x13, 0xbb, 0x0b, 0x4f, 0x7b, 0x6c,
+ 0xb3, 0x15, 0x8d, 0x2f, 0x54, 0x60, 0x03, 0x16, 0xc6, 0xc4,
+ 0x9a, 0x49, 0x0c, 0x81, 0x3e, 0xdf, 0x08, 0xd0, 0x42, 0xf8,
+ 0xc6, 0x79, 0xc8, 0x18, 0xa1, 0x90, 0xa3, 0xd2, 0x0d, 0xee,
+ 0x64, 0xe2, 0xb7, 0x7d, 0xac, 0x53, 0x37, 0xbd, 0x67, 0x1a,
+ 0x77, 0x8c, 0x2a, 0x20, 0x0e, 0x5f, 0x8a, 0xa5, 0xb5, 0x49,
+ 0x5d, 0x6d, 0xe7, 0x32, 0x55, 0x1c, 0xce, 0xa8, 0x72, 0xf5,
+ 0x0f, 0x30, 0xd0, 0x98, 0x0a, 0xe4, 0xb3, 0xc6, 0x16, 0xf6,
+ 0xfa, 0x1e, 0x18, 0xb4, 0xfb, 0x07, 0x10, 0x3f, 0xe9, 0x56,
+ 0xa1, 0x42, 0xf8, 0x22, 0xcb, 0x1d, 0x62, 0x20, 0xfe, 0x03,
+ 0x47, 0xfb, 0x11, 0x50, 0xb3, 0x6b, 0x1e, 0xef, 0x16, 0x89,
+ 0x3a, 0xd9, 0xcd, 0x22, 0x28, 0x1f, 0xce, 0x09, 0x12, 0xe1,
+ 0x5d, 0x2c, 0x1c, 0xdb, 0xe7, 0xb7, 0xea, 0x56, 0xff, 0x24,
+ 0x91, 0x3b, 0x96, 0xdc, 0x13, 0x8e, 0x07, 0x11, 0xa3, 0x76,
+ 0x09, 0x1c, 0x1b, 0x92, 0x50, 0x26, 0x47, 0x27, 0x1f, 0x2e,
+ 0x14, 0x40, 0x42, 0xa2, 0x18, 0xb3, 0xc6, 0xcb, 0x89, 0x8b,
+ 0x9b, 0x28, 0x20, 0x73, 0x26, 0xb5, 0x15, 0x2f, 0x18, 0x9f,
+ 0xa7, 0x1e, 0x28, 0x60, 0x78, 0x4f, 0x34, 0x2a, 0xf6, 0x6f,
+ 0xaf, 0x47, 0x16, 0x9e, 0xf6, 0xd8, 0xa5, 0x2a, 0xd9, 0x5e,
+ 0xa8, 0xc0, 0x06, 0x2c, 0x4f, 0x4b, 0xf7, 0x92, 0x17, 0xf1,
+ 0xac, 0xe5, 0x1a, 0x87, 0x37, 0xf5, 0x59, 0x04, 0xa9, 0x2e,
+ 0x99, 0x57, 0x7e, 0x60, 0x18, 0xc1, 0x7c, 0x7d, 0x10, 0x63,
+ 0x84, 0x33, 0x4f, 0xf2, 0x53, 0x30, 0x81, 0xe3, 0x85, 0x67,
+ 0x19, 0xae, 0x26, 0x40, 0xaf, 0xce, 0x6a, 0x98, 0xbe, 0x36,
+ 0xfc, 0x32, 0x57, 0xff, 0x0c, 0x95, 0x1a, 0x1f, 0xc8, 0x07,
+ 0xad, 0xfa, 0x9b, 0xa6, 0x6e, 0xb9, 0xce, 0x34, 0xee, 0xdb,
+ 0x54, 0x40, 0x1b, 0x70, 0x92, 0x3a, 0x12, 0x57, 0x75, 0x0d,
+ 0x9f, 0x7d, 0x61, 0x36, 0x38, 0xc7, 0xdd, 0xb2, 0x1c, 0xbe,
+ 0xd7, 0x89, 0xa9, 0x92, 0xba, 0xda, 0x0d, 0x64, 0xaa, 0x38,
+ 0x5f, 0x93, 0xe4, 0x29, 0x1d, 0xd1, 0x8d, 0xb4, 0x16, 0x3f,
+ 0x54, 0x71, 0xfc, 0xa0, 0x05, 0x3a, 0x89, 0x8f, 0x6d, 0xdb,
+ 0x1e, 0x60, 0x63, 0xf3, 0x14, 0x0b, 0xa5, 0x4f, 0x2c, 0x2f,
+ 0x37, 0x3c, 0x30, 0xab, 0x35, 0x0e, 0x1f, 0x0f, 0x39, 0xce,
+ 0xab, 0xa6, 0x4b, 0xe4, 0xdd, 0xeb, 0x98, 0x3e, 0xe6, 0xb7,
+ 0xbc, 0xfc, 0x20, 0x7e, 0x11, 0xac, 0x81, 0x84, 0x33, 0x44,
+ 0x55, 0x3a, 0xc4, 0x40, 0x3f, 0x06, 0x8e, 0x35, 0x21, 0x11,
+ 0x4b, 0x91, 0x3e, 0x29, 0xdd, 0xef, 0xa4, 0xfe, 0x6b, 0x42,
+ 0xe9, 0x1a, 0x07, 0xc7, 0x22, 0xa0, 0xa5, 0xd6, 0x3c, 0x1d,
+ 0x2c, 0xd1, 0x74, 0x71, 0x59, 0x44, 0x50, 0x3e, 0x5f, 0x12,
+ 0x23, 0xcf, 0xff, 0xeb, 0x83, 0xb0, 0xc2, 0x7a, 0x85, 0xb5,
+ 0xf6, 0x46, 0x86, 0x22, 0xd6, 0xe0, 0x24, 0x01, 0xba, 0x58,
+ 0x38, 0x75, 0x0d, 0xad, 0x17, 0xac, 0x3d, 0x48, 0xe1, 0x76,
+ 0xef, 0x7b, 0x25, 0x6e, 0xe0, 0x65, 0x87, 0xd8, 0xe3, 0x06,
+ 0xe6, 0x68, 0x92, 0x4a, 0x37, 0x6a, 0x66, 0x89, 0x26, 0xdf,
+ 0x0e, 0x22, 0x85, 0xec, 0x12, 0x38, 0x36, 0xe7, 0xa0, 0x4c,
+ 0x8e, 0x4e, 0x3e, 0x5c, 0x27, 0xb0, 0x54, 0x1f, 0x3a, 0x41,
+ 0xfc, 0x93, 0xc7, 0x23, 0x0f, 0x4e, 0x58, 0x52, 0xb7, 0xae,
+ 0x28, 0x80, 0x84, 0x87, 0x30, 0xa5, 0x4f, 0x55, 0xd1, 0xd5,
+ 0xf5, 0x50, 0x40, 0xe6, 0x4c, 0xa9, 0x29, 0xef, 0xde, 0xba,
+ 0x8f, 0x08, 0xa1, 0xfe, 0x20, 0x11, 0x5a, 0x52, 0x96, 0xfa,
+ 0xc5, 0x5b, 0x2a, 0x5e, 0x30, 0xfd, 0x8d, 0x3c, 0x50, 0xc0,
+ 0xf0, 0x9e, 0x68, 0x54, 0x2f, 0xde, 0x9d, 0x8e, 0x2b, 0x31,
+ 0x6a, 0xc0, 0x32, 0x91, 0xbe, 0x6b, 0x01, 0x5a, 0xc7, 0x56,
+ 0xf9, 0xc2, 0x14, 0x7c, 0x2c, 0xff, 0x2f, 0x73, 0x89, 0x54,
+ 0x71, 0xbc, 0x93, 0x43, 0x0c, 0x58, 0x9e, 0x96, 0x2d, 0xe7,
+ 0x2d, 0x90, 0x75, 0x4e, 0x36, 0xf9, 0x9f, 0x17, 0x62, 0x87,
+ 0xa3, 0x5a, 0x48, 0x8a, 0xa4, 0x15, 0x2e, 0x21, 0x9b, 0x09,
+ 0x34, 0xcd, 0x6e, 0x29, 0xb2, 0x08, 0x91, 0x5c, 0xf1, 0xae,
+ 0xfc, 0xc0, 0x2f, 0x4e, 0xc1, 0x34, 0x8b, 0x60, 0x80, 0x82,
+ 0x43, 0xcc, 0x3e, 0x5e, 0x27, 0xb2, 0x75, 0x32, 0x30, 0x41,
+ 0xf8, 0xfa, 0x20, 0xc6, 0xcb, 0x66, 0x9e, 0x27, 0xa6, 0x60,
+ 0xc1, 0x05, 0xc9, 0xce, 0x31, 0x2e, 0xa2, 0xc7, 0x9f, 0x6b,
+ 0x25, 0xcd, 0x6f, 0xe3, 0x09, 0x62, 0x17, 0x19, 0x40, 0x3c,
+ 0x32, 0x9f, 0x4c, 0x80, 0x9d, 0x5f, 0xd4, 0xf3, 0xbf, 0x6c,
+ 0x3b, 0x64, 0xae, 0x3d, 0x18, 0xe9, 0x33, 0xf0, 0x16, 0xbd,
+ 0x22, 0xf2, 0x3a, 0x58, 0x4e, 0xa8, 0x94, 0x66, 0x78, 0x21,
+ 0x91, 0x1b, 0x34, 0x3e, 0x53, 0x0e, 0x99, 0x37, 0xf5, 0x8f,
+ 0xdc, 0xb1, 0x5f, 0x68, 0x1f, 0x75, 0xa8, 0x80, 0x35, 0x51,
+ 0x09, 0x33, 0x26, 0x9a, 0x1b, 0x24, 0x2d, 0x75, 0xf0, 0x6a,
+ 0xc9, 0x69, 0x21, 0x72, 0x36, 0xe0, 0xe7, 0x74, 0x24, 0xae,
+ 0xea, 0x1a, 0xfd, 0xfa, 0xc2, 0x6c, 0x70, 0x4d, 0x79, 0xa7,
+ 0x37, 0x8f, 0xbd, 0x49, 0x9b, 0x03, 0x04, 0xb1, 0x0c, 0x3e,
+ 0x6d, 0x6e, 0xa6, 0x51, 0xf0, 0x55, 0x38, 0xbf, 0x6d, 0xd1,
+ 0x91, 0xe7, 0xb7, 0x77, 0x1a, 0xc8, 0x97, 0x70, 0xbe, 0xe5,
+ 0x0b, 0x52, 0x39, 0xd0, 0x37, 0xec, 0x2e, 0x4a, 0x59, 0xdc,
+ 0xeb, 0x0c, 0x38, 0x72, 0x68, 0xf9, 0x82, 0xa0, 0x3a, 0x61,
+ 0xd9, 0xab, 0x2c, 0x7e, 0xa8, 0xe2, 0x3b, 0x83, 0x0a, 0x74,
+ 0xd1, 0xdd, 0xda, 0x75, 0x3b, 0x0e, 0x83, 0x96, 0x93, 0xd3,
+ 0x46, 0x49, 0xca, 0x47, 0xa5, 0x76, 0x07, 0xc1, 0x53, 0x87,
+ 0x3c, 0xc0, 0xc6, 0x25, 0x28, 0x16, 0x89, 0x9e, 0x58, 0x5e,
+ 0x6e, 0x78, 0x60, 0x95, 0x6a, 0x1c, 0x3d, 0xaf, 0x9c, 0x18,
+ 0x97, 0xbb, 0x67, 0x35, 0xa9, 0x9a, 0xc1, 0x7a, 0xb6, 0x89,
+ 0xe3, 0xee, 0x3e, 0x1e, 0x72, 0x5f, 0x95, 0x8f, 0x96, 0x0b,
+ 0x79, 0x15, 0xf3, 0x7c, 0x0f, 0xad, 0xbb, 0x3b, 0x3f, 0x71,
+ 0x28, 0x62, 0x2a, 0x22, 0x78, 0xa0, 0x88, 0xd1, 0x5c, 0x7e,
+ 0xd9, 0xb1, 0x32, 0xc9, 0x40, 0xfc, 0x22, 0x9b, 0xc1, 0xcb,
+ 0x66, 0x88, 0xaa, 0x74, 0x4b, 0x80, 0x7e, 0x0c, 0xdf, 0x6a,
+ 0x41, 0x93, 0x78, 0xa6, 0x7e, 0x66, 0x88, 0x23, 0x5b, 0xb0,
+ 0xe4, 0x82, 0xa8, 0x10, 0x56, 0x98, 0x42, 0x22, 0x96, 0xe1,
+ 0x7c, 0x52, 0x79, 0x1d, 0x8b, 0x3f, 0xd6, 0x84, 0x11, 0x34,
+ 0x0e, 0x4d, 0x43, 0x4d, 0xcc, 0xdc, 0xc3, 0xff, 0x97, 0xb6,
+ 0x7a, 0xfb, 0x79, 0x86, 0xc7, 0x28, 0x87, 0xbf, 0x44, 0x83,
+ 0x89, 0x6f, 0x78, 0x3a, 0x58, 0x61, 0xe8, 0xe2, 0xb2, 0x88,
+ 0xa0, 0x7c, 0xbe, 0x24, 0x45, 0xec, 0xd3, 0x52, 0xc7, 0x97,
+ 0xb6, 0xca, 0x19, 0x26, 0x1d, 0x8a, 0x76, 0x60, 0x37, 0xd6,
+ 0x46, 0x5d, 0x3d, 0x15, 0xc5, 0xa3, 0x47, 0xf4, 0xc9, 0xa9,
+ 0x2f, 0x8c, 0xcf, 0x44, 0x6f, 0x03, 0x47, 0x32, 0x67, 0x28,
+ 0x7a, 0x0e, 0xa9, 0x5f, 0x38, 0x6d, 0x80, 0x8e, 0x19, 0x58,
+ 0xe6, 0xf1, 0x48, 0x02, 0xb7, 0xb0, 0x70, 0xea, 0x1a, 0x99,
+ 0x2e, 0x9b, 0x7a, 0x90, 0x01, 0xec, 0x1d, 0xf6, 0x49, 0x6d,
+ 0xed, 0x8d, 0xcf, 0x47, 0xf4, 0x32, 0xdf, 0x5f, 0xd5, 0x92,
+ 0xd7, 0xf0, 0x94, 0x04, 0x4a, 0xdc, 0x03, 0xca, 0xcd, 0x73,
+ 0x05, 0x0c, 0x0f, 0xd0, 0xe7, 0x94, 0x6e, 0xd4, 0xcc, 0xd1,
+ 0x4b, 0xb3, 0x59, 0xf7, 0x72, 0xde, 0xeb, 0xa7, 0xfe, 0x14,
+ 0x48, 0x96, 0xb8, 0xc8, 0x45, 0x23, 0x4c, 0x7d, 0x1c, 0x44,
+ 0xc9, 0x1b, 0x24, 0x70, 0x6c, 0x0d, 0x83, 0x98, 0xdf, 0x9c,
+ 0x7c, 0xb8, 0x4d, 0x12, 0x46, 0x79, 0x76, 0xb6, 0xca, 0xdb,
+ 0x9d, 0xc9, 0x2c, 0x9a, 0x09, 0x80, 0xf5, 0x4a, 0x4e, 0xa3,
+ 0xa8, 0x3e, 0x74, 0x82, 0x3b, 0xe5, 0x4d, 0x46, 0x1e, 0x9c,
+ 0xb0, 0xa4, 0xad, 0x9f, 0x4f, 0xcc, 0xf2, 0x03, 0xcb, 0x2f,
+ 0xd5, 0x4e, 0xbc, 0x82, 0xb1, 0x9e, 0x66, 0xb8, 0x24, 0x6d,
+ 0x50, 0xc3, 0xcb, 0xcd, 0x60, 0x89, 0x9e, 0xaa, 0x61, 0x69,
+ 0x29, 0xa0, 0x80, 0x0f, 0x98, 0x91, 0x51, 0xac, 0x91, 0xf0,
+ 0xdf, 0x24, 0x70, 0x01, 0x90, 0xad, 0x86, 0xa2, 0x56, 0x13,
+ 0x11, 0x63, 0x52, 0x1d, 0x7f, 0xb7, 0xdd, 0x10, 0x81, 0x3f,
+ 0x40, 0x22, 0xb4, 0xa4, 0xef, 0x37, 0x49, 0xb6, 0x53, 0x72,
+ 0x25, 0x8a, 0x62, 0xbd, 0x6f, 0x94, 0xb1, 0xe6, 0x1b, 0xa6,
+ 0x39, 0x2b, 0xc0, 0x44, 0x54, 0xbc, 0x60, 0x39, 0xd9, 0x78,
+ 0xa0, 0x43, 0x23, 0xff, 0xd0, 0xa8, 0x5e, 0x7f, 0xf9, 0xdf,
+ 0x55, 0xd3, 0x3a, 0x04, 0x66, 0xd5, 0x4e, 0xe8, 0xd2, 0x3b,
+ 0x7f, 0xaa, 0x88, 0x63, 0x70, 0x2d, 0x56, 0x62, 0xd4, 0x43,
+ 0x64, 0xe1, 0xbf, 0xd6, 0x02, 0xb4, 0x4d, 0xac, 0x31, 0x47,
+ 0x28, 0xf8, 0x57, 0x0d, 0x8e, 0x7e, 0xdb, 0x4c, 0x51, 0x7d,
+ 0xf3, 0x70, 0xe2, 0xae, 0xe7, 0x5b, 0xa1, 0x0a, 0x58, 0x3d,
+ 0x5e, 0xe6, 0xd1, 0xa8, 0xe2, 0xbb, 0xe5, 0x86, 0x18, 0xb0,
+ 0xff, 0xef, 0x5a, 0x0d, 0x59, 0x52, 0x04, 0xdb, 0x6e, 0x05,
+ 0x0c, 0x10, 0x14, 0x42, 0xb7, 0xb2, 0x29, 0xf3, 0xd3, 0xff,
+ 0x5a, 0xe3, 0xea, 0x9c, 0x6c, 0x31, 0xfd, 0x2e, 0xc4, 0xcd,
+ 0x85, 0xb4, 0x90, 0xd7, 0x8b, 0x2a, 0x5b, 0x8c, 0xb0, 0xa1,
+ 0xd3, 0x9c, 0x13, 0x85, 0x35, 0x09, 0x2a, 0xb6, 0x46, 0xcb,
+ 0x02, 0xd8, 0x5c, 0x42, 0xf5, 0x12, 0x68, 0x59, 0xdc, 0x52,
+ 0xa7, 0x10, 0xe1, 0xb8, 0x21, 0x9f, 0x3b, 0x43, 0x5d, 0x2d,
+ 0xaf, 0x2f, 0xd7, 0xf4, 0x32, 0xf9, 0x56, 0xd4, 0x4e, 0xba,
+ 0xf7, 0x83, 0xb2, 0xb1, 0x5e, 0x9c, 0x41, 0x68, 0xd5, 0xc0,
+ 0xc3, 0xc7, 0x86, 0x5b, 0x7c, 0xbc, 0x4e, 0xa7, 0xea, 0x64,
+ 0x5f, 0xf3, 0x1b, 0x55, 0x6a, 0x6d, 0x2d, 0x6c, 0x77, 0x9f,
+ 0xd3, 0xbe, 0x98, 0xbb, 0x63, 0x96, 0x60, 0x82, 0x33, 0x37,
+ 0x40, 0x4f, 0x55, 0xcc, 0xff, 0x4e, 0x8f, 0xc0, 0x41, 0x0a,
+ 0x51, 0x5f, 0x61, 0xed, 0x69, 0x0a, 0xff, 0xe2, 0xbb, 0x67,
+ 0x0e, 0x8a, 0x20, 0xc2, 0x97, 0x16, 0xd8, 0xad, 0x62, 0x5c,
+ 0x87, 0x4d, 0xfd, 0xd6, 0x4a, 0x59, 0xde, 0x05, 0x12, 0xc4,
+ 0x2e, 0x32, 0x80, 0x78, 0x63, 0x33, 0xdd, 0x70, 0x42, 0x7b,
+ 0xa4, 0xf2, 0x2f, 0xc1, 0xbd, 0xc6, 0xf8, 0x2e, 0x09, 0x8a,
+ 0x64, 0xfd, 0x98, 0xc3, 0xf9, 0xbe, 0x6b, 0x25, 0xbd, 0xd8,
+ 0x76, 0xc8, 0x9f, 0x7a, 0x30, 0x11, 0x65, 0x92, 0xc2, 0xfe,
+ 0x46, 0x13, 0x85, 0x8e, 0x4c, 0x1c, 0xd9, 0xca, 0x49, 0x66,
+ 0xb9, 0xe3, 0x66, 0x23, 0x2c, 0xb9, 0x44, 0x27, 0x74, 0xb0,
+ 0x9c, 0x93, 0xeb, 0xcc, 0xf0, 0x42, 0xe1, 0x36, 0x67, 0x4c,
+ 0x76, 0x84, 0xfb, 0x8a, 0x9a, 0x1b, 0x6d, 0x57, 0x44, 0xce,
+ 0x26, 0x5e, 0x68, 0xc4, 0x68, 0x7c, 0xa6, 0x1c, 0xf1, 0x6e,
+ 0x29, 0xdd, 0x7b, 0xa1, 0xbe, 0xd0, 0x3e, 0xea, 0x93, 0xc3,
+ 0x69, 0x13, 0xfc, 0x21, 0x4e, 0xc3, 0xc7, 0x76, 0x8a, 0x65,
+ 0x11, 0xd2, 0xe8, 0xf6, 0x1a, 0x31, 0x6a, 0xa2, 0x12, 0x66,
+ 0x4c, 0xf7, 0x36, 0x48, 0x5a, 0xea, 0x23, 0xd4, 0x51, 0xd2,
+ 0x42, 0xe4, 0x6b, 0xcd, 0x48, 0x5b, 0xf3, 0x5a, 0xd8, 0xe3,
+ 0xab, 0x2e, 0x8c, 0xd6, 0x87, 0xce, 0xcb, 0x16, 0x6c, 0x03,
+ 0x0d, 0xe8, 0x48, 0x9f, 0x17, 0x34, 0x39, 0x37, 0x47, 0xd8,
+ 0xe0, 0x9a, 0xf2, 0x8d, 0x6d, 0x6c, 0x57, 0xd5, 0xf7, 0x32,
+ 0xf9, 0x9f, 0xc8, 0xf3, 0xe8, 0xda, 0x36, 0x86, 0x7b, 0x7f,
+ 0x6e, 0xdd, 0xb9, 0x92, 0xf5, 0x06, 0x08, 0xa1, 0x18, 0x7c,
+ 0xda, 0xdc, 0x8f, 0xa2, 0x23, 0xaa, 0x6f, 0xb2, 0xe3, 0xaf,
+ 0x4a, 0xab, 0xe6, 0x0a, 0xe9, 0xb8, 0x75, 0xde, 0x59, 0xbe,
+ 0xaa, 0x58, 0x70, 0xbd, 0xda, 0x61, 0xe1, 0x0d, 0xad, 0xee,
+ 0x34, 0x53, 0xed, 0xe0, 0xbf, 0x09, 0x16, 0xa4, 0x71, 0xd2,
+ 0x80, 0x5c, 0x5e, 0xa0, 0x43, 0x45, 0xc5, 0x97, 0x42, 0xe2,
+ 0x69, 0x15, 0x9f, 0x56, 0x72, 0x63, 0x6e, 0x1b, 0x5c, 0x94,
+ 0xb2, 0x7b, 0x15, 0x18, 0x70, 0xe4, 0xd0, 0x31, 0xc7, 0x83,
+ 0x73, 0x0c, 0x34, 0x26, 0xe3, 0x39, 0x5c, 0xd0, 0xe4, 0xdc,
+ 0xdf, 0xe6, 0x06, 0x2d, 0x4e, 0x71, 0x74, 0xc2, 0x71, 0x95,
+ 0x58, 0xfc, 0x93, 0x07, 0x76, 0xc5, 0x14, 0xe8, 0x61, 0x79,
+ 0x77, 0xea, 0x75, 0xad, 0x2b, 0xa8, 0xe7, 0x51, 0x7d, 0xac,
+ 0x87, 0x01, 0xbb, 0xea, 0xb7, 0x65, 0xfe, 0x18, 0x76, 0x1c,
+ 0xc5, 0xef, 0xe5, 0x65, 0x8c, 0x92, 0x57, 0x8e, 0x89, 0xec,
+ 0x0e, 0x41, 0xa6, 0xcd, 0x77, 0x73, 0x9f, 0xd2, 0x5a, 0xc8,
+ 0x62, 0x39, 0xa6, 0x4a, 0x26, 0xee, 0xd8, 0x5d, 0x2f, 0x3f,
+ 0x78, 0x43, 0x4f, 0x4a, 0x50, 0x2c, 0xd1, 0xff, 0xb0, 0xbc,
+ 0xdc, 0xf0, 0xc0, 0xe9, 0xd4, 0x38, 0x79, 0x2c, 0x15, 0x77,
+ 0xef, 0x81, 0x3f, 0x54, 0x41, 0x78, 0x73, 0xf2, 0x16, 0xf5,
+ 0x5d, 0xca, 0x7a, 0x9d, 0xfb, 0x30, 0xed, 0xb5, 0xce, 0x6a,
+ 0x91, 0xf7, 0x41, 0xf4, 0xaf, 0xd1, 0x05, 0x1f, 0x7b, 0xf2,
+ 0xa1, 0x0d, 0x52, 0x18, 0x20, 0xc1, 0x60, 0x33, 0xee, 0xf6,
+ 0x79, 0xcd, 0x8c, 0xed, 0x7c, 0x3c, 0xe4, 0xbe, 0xe9, 0xdd,
+ 0xef, 0x16, 0xf2, 0x2a, 0x25, 0xf8, 0x1e, 0x99, 0xb5, 0x76,
+ 0x7d, 0x53, 0xbe, 0x83, 0x56, 0x70, 0x01, 0xbd, 0x03, 0xee,
+ 0x8a, 0xfa, 0xc8, 0x85, 0x3c, 0x84, 0x7e, 0xe2, 0x50, 0xc4,
+ 0x54, 0x44, 0xf0, 0x83, 0xd3, 0x61, 0xb8, 0xfc, 0x71, 0xa1,
+ 0x64, 0x51, 0x7f, 0x8d, 0x0a, 0xf9, 0xeb, 0xe9, 0x1e, 0x28,
+ 0x22, 0xa5, 0x17, 0xfe, 0xa7, 0xbd, 0xed, 0xa3, 0x80, 0x3b,
+ 0x44, 0xf5, 0x41, 0x55, 0xcc, 0xd3, 0x97, 0xe8, 0x96, 0xc3,
+ 0xfc, 0x18, 0x7d, 0xd4, 0x81, 0x54, 0x1e, 0xc8, 0xfe, 0xf8,
+ 0x22, 0x78, 0x66, 0x2c, 0x39, 0xc1, 0x2a, 0x04, 0xf4, 0x26,
+ 0x82, 0xe5, 0xf0, 0x8f, 0xfc, 0xcc, 0xd3, 0x46, 0xb6, 0xa3,
+ 0x0b, 0xc7, 0x93, 0x20, 0xac, 0xf3, 0x83, 0x8a, 0xaa, 0xb2,
+ 0x43, 0x61, 0x3d, 0xed, 0x47, 0x67, 0xa4, 0xc5, 0x45, 0x3c,
+ 0x25, 0x01, 0x84, 0x44, 0xef, 0x01, 0xf8, 0xa4, 0xf2, 0x3a,
+ 0xd5, 0x7e, 0x6f, 0xcb, 0x22, 0x68, 0x1c, 0x9a, 0x85, 0x2b,
+ 0xb5, 0x3c, 0x47, 0x09, 0x1c, 0x91, 0x24, 0xba, 0xc0, 0xc9,
+ 0xf4, 0x74, 0x95, 0x68, 0x86, 0x9a, 0x5b, 0x7b, 0x45, 0x3d,
+ 0xed, 0xaf, 0xf4, 0x35, 0xf2, 0xcf, 0x4d, 0x50, 0xcd, 0xbd,
+ 0x87, 0xf5, 0x01, 0x46, 0xfa, 0x90, 0x03, 0x04, 0x05, 0xf1,
+ 0x5d, 0xcd, 0x9b, 0x4c, 0x44, 0x4f, 0x88, 0xc5, 0xd1, 0xde,
+ 0xf0, 0x74, 0xb0, 0xc2, 0x13, 0x07, 0xa7, 0xd3, 0x83, 0xf8,
+ 0xbf, 0x48, 0x89, 0xaa, 0x8b, 0xe3, 0x4f, 0xd9, 0x5e, 0x69,
+ 0xe2, 0xc3, 0x08, 0xd1, 0x55, 0xe4, 0x36, 0xba, 0x8a, 0x1b,
+ 0x65, 0xa4, 0x4d, 0xed, 0xaf, 0x57, 0x32, 0x4c, 0x3a, 0xd7,
+ 0xec, 0xc0, 0x6e, 0x6f, 0x8b, 0x74, 0x3f, 0x99, 0xf2, 0x40,
+ 0x41, 0xfc, 0xc3, 0x88, 0x95, 0xd5, 0x3a, 0xdc, 0xe7, 0x9d,
+ 0x8c, 0xba, 0x7a, 0x2a, 0x49, 0x85, 0x8e, 0x2b, 0x51, 0x91,
+ 0x5e, 0xdb, 0x5d, 0x88, 0xde, 0x06, 0x8d, 0xd5, 0x20, 0x17,
+ 0xf6, 0x28, 0x60, 0x80, 0xa0, 0x55, 0xf1, 0xd9, 0x8b, 0x94,
+ 0x57, 0xf4, 0x8e, 0x64, 0xce, 0x50, 0xf4, 0x1c, 0x91, 0xbe,
+ 0x70, 0xda, 0xc3, 0xdf, 0x32, 0xb0, 0x0f, 0x21, 0x8f, 0x0b,
+ 0x94, 0x6d, 0x4b, 0xb1, 0x7f, 0x15, 0x81, 0x1e, 0x6c, 0xdd,
+ 0xe4, 0xac, 0x86, 0xd3, 0x90, 0x04, 0xad, 0xa3, 0xe0, 0x17,
+ 0x34, 0xf1, 0x5c, 0xf5, 0xf4, 0xe3, 0x02, 0x1b, 0x3a, 0x2f,
+ 0x91, 0x6b, 0xf7, 0x9e, 0x5f, 0xba, 0xda, 0x5a, 0xad, 0x31,
+ 0x5b, 0xe1, 0xd4, 0x07, 0xb3, 0xdd, 0x92, 0xda, 0x19, 0xd9,
+ 0x5d, 0x8e, 0x2b, 0x64, 0x7d, 0xbe, 0x69, 0xe7, 0x6d, 0x23,
+ 0xeb, 0x08, 0x93, 0xb5, 0x43, 0xe4, 0xe2, 0x23, 0xc5, 0xcf,
+ 0x8c, 0x7a, 0xc6, 0xe5, 0xbb, 0x3f, 0x62, 0xfa, 0x94, 0x7b,
+ 0x06, 0x57, 0x59, 0xe6, 0x0a, 0x18, 0x1e, 0x63, 0x0d, 0xeb,
+ 0xdc, 0x6b, 0x5b, 0x61, 0x95, 0x14, 0x5c, 0x6a, 0xe6, 0x4b,
+ 0xe4, 0xb3, 0xef, 0xa7, 0xa2, 0xe9, 0x0a, 0x77, 0xd2, 0x93,
+ 0x96, 0xa5, 0xb2, 0x2d, 0xe4, 0x7f, 0x15, 0x8d, 0x3f, 0x28,
+ 0x90, 0xef, 0xb3, 0x53, 0x8a, 0x46, 0x97, 0xca, 0xe8, 0x10,
+ 0x5b, 0xd2, 0xfb, 0x26, 0xce, 0xec, 0x3f, 0xed, 0x65, 0x4f,
+ 0x03, 0xb4, 0x98, 0xfa, 0x38, 0x88, 0x51, 0x36, 0x48, 0xe0,
+ 0xd8, 0x1a, 0xc5, 0xf3, 0x7d, 0xfb, 0xf8, 0xb3, 0x99, 0x95,
+ 0x62, 0xb5, 0xee, 0x9b, 0xa6, 0x4b, 0x29, 0xde, 0x6a, 0xf1,
+ 0xab, 0xe7, 0x71, 0x41, 0x9a, 0x24, 0x8c, 0xf2, 0xec, 0xaf,
+ 0x57, 0x75, 0xf9, 0x51, 0x58, 0xf7, 0x12, 0xc3, 0x29, 0x94,
+ 0x9b, 0x4b, 0xd6, 0xcf, 0x53, 0x02, 0xb9, 0xde, 0x08, 0x95,
+ 0xf7, 0xf5, 0xc4, 0xdf, 0xa0, 0x66, 0x9c, 0x85, 0x93, 0x7c,
+ 0xe8, 0xc7, 0x76, 0x09, 0x9a, 0x8c, 0x3c, 0xfb, 0xa3, 0x8b,
+ 0x99, 0xfd, 0x9d, 0xea, 0xc9, 0x41, 0x57, 0x6a, 0x98, 0xa2,
+ 0x6b, 0x48, 0x93, 0xf9, 0x75, 0x97, 0x10, 0x0f, 0x9e, 0x5b,
+ 0x27, 0x06, 0x55, 0x5e, 0x69, 0x9c, 0xbb, 0xc7, 0xa1, 0xff,
+ 0xcc, 0xb3, 0x48, 0xda, 0x9f, 0x34, 0x7d, 0x3b, 0xea, 0xf3,
+ 0x87, 0x37, 0x4a, 0x03, 0x0e, 0xfd, 0x1a, 0xaf, 0xc1, 0x28,
+ 0xa0, 0x45, 0x55, 0x59, 0xc0, 0xd1, 0xff, 0x97, 0xc2, 0xd2,
+ 0x52, 0x83, 0xc3, 0x1e, 0xf3, 0xe1, 0xa1, 0x2a, 0x0f, 0x64,
+ 0x7f, 0x7c, 0x11, 0x3c, 0x33, 0x16, 0xfd, 0x81, 0x15, 0x02,
+ 0x7a, 0x13, 0xa2, 0x9b, 0xe1, 0x23, 0x7d, 0x48, 0xe0, 0x02,
+ 0xe3, 0x99, 0xcf, 0x87, 0xac, 0x26, 0x22, 0xc6, 0xa3, 0xf4,
+ 0xbb, 0x1e, 0xc2, 0xe5, 0x0e, 0xa9, 0x12, 0x5d, 0x60, 0x85,
+ 0x7a, 0x3a, 0xab, 0x34, 0xa4, 0x3a, 0xfe, 0xad, 0x79, 0x20,
+ 0xc1, 0x7e, 0x80, 0x44, 0xab, 0x8b, 0x1d, 0x6e, 0x92, 0xaf,
+ 0xa5, 0x55, 0xa4, 0x90, 0xc6, 0x8d, 0x2f, 0xd5, 0x71, 0x80,
+ 0x04, 0x89, 0xcb, 0x72, 0x1b, 0x5d, 0xa6, 0xe4, 0x4a, 0xd7,
+ 0xc4, 0xb9, 0xde, 0xeb, 0xa1, 0x0f, 0x36, 0x8f, 0x72, 0x56,
+ 0x43, 0x88, 0xa7, 0x8b, 0x10, 0xea, 0x7b, 0x14, 0x30, 0x40,
+ 0x50, 0xcb, 0x99, 0x8d, 0xa4, 0x4a, 0xca, 0x7a, 0xa8, 0xbb,
+ 0xc0, 0x72, 0x71, 0xf0, 0x83, 0x86, 0x46, 0x3d, 0x63, 0x93,
+ 0xbc, 0xfe, 0x31, 0x7d, 0xa9, 0xd4, 0x9a, 0x4f, 0xce, 0x5d,
+ 0x6d, 0x2d, 0xb7, 0xf9, 0xcc, 0x91, 0x6a, 0xe2, 0xb8, 0x8f,
+ 0xaa, 0x65, 0x74, 0x08, 0xcc, 0x69, 0x9c, 0x13, 0x67, 0x76,
+ 0xfe, 0x97, 0xd3, 0xc6, 0xe0, 0x5a, 0xab, 0x0a, 0x2e, 0x35,
+ 0x73, 0xc4, 0x72, 0xb8, 0x96, 0xb2, 0x51, 0x95, 0x05, 0xda,
+ 0x69, 0xa8, 0xac, 0xc4, 0x6b, 0x86, 0xc8, 0x01, 0xbd, 0x6f,
+ 0x04, 0xab, 0x9a, 0x9b, 0x62, 0x8e, 0x50, 0x33, 0xad, 0xab,
+ 0x31, 0xbb, 0x77, 0xac, 0x53, 0xc4, 0xf5, 0x6f, 0x35, 0x99,
+ 0xb4, 0x92, 0xd9, 0xc1, 0xae, 0x1a, 0xdf, 0xfc, 0x75, 0x98,
+ 0xa2, 0xfa, 0x25, 0xe0, 0x07, 0x9f, 0x0d, 0xb6, 0x81, 0x14,
+ 0xaf, 0x75, 0x85, 0xc1, 0xca, 0x35, 0x4c, 0x51, 0xd4, 0x24,
+ 0xa8, 0x9d, 0xdb, 0xaa, 0x08, 0xe6, 0xb0, 0x7a, 0xbc, 0x0f,
+ 0x61, 0x93, 0x07, 0xb5, 0x09, 0xcf, 0x30, 0xa3, 0x3d, 0x1d,
+ 0xb4, 0x1a, 0xb1, 0x15, 0xe6, 0x32, 0xde, 0x3e, 0xe9, 0x1e,
+ 0xf8, 0x0b, 0x9f, 0xa1, 0xeb, 0x01, 0x3d, 0xe8, 0xb2, 0xa4,
+ 0x08, 0x75, 0xdc, 0x0a, 0x18, 0x20, 0x28, 0x84, 0xad, 0xa7,
+ 0x52, 0x25, 0x65, 0x3d, 0xb3, 0xcb, 0x52, 0x48, 0x63, 0xa7,
+ 0xf6, 0x8b, 0xd9, 0x40, 0x02, 0xa5, 0x84, 0x39, 0xec, 0xcf,
+ 0xb4, 0x05, 0x17, 0xfb, 0xd8, 0x62, 0x39, 0x5c, 0x4b, 0x59,
+ 0xc9, 0xab, 0xe3, 0x6d, 0xd5, 0x54, 0xb5, 0x6a, 0x4d, 0xc6,
+ 0x67, 0xcf, 0xd7, 0xf7, 0xba, 0x9d, 0x66, 0xa9, 0x35, 0x71,
+ 0x5c, 0xa6, 0xb6, 0xdb, 0xa3, 0x81, 0x65, 0xfb, 0x26, 0xc9,
+ 0x6a, 0x12, 0x54, 0xaf, 0x8c, 0x55, 0x04, 0x73, 0xb7, 0xb4,
+ 0xf9, 0xbc, 0xda, 0x56, 0xc8, 0x62, 0x9b, 0xd6, 0xfb, 0xad,
+ 0x5a, 0x49, 0x8d, 0x81, 0xb8, 0x84, 0x29, 0x24, 0xd0, 0xb2,
+ 0x7b, 0xa4, 0x8d, 0x20, 0x01, 0xb3, 0x42, 0xfd, 0x76, 0x86,
+ 0xb9, 0xeb, 0x73, 0x19, 0x6f, 0x1f, 0x95, 0x0f, 0x7c, 0xe4,
+ 0xae, 0xb1, 0x94, 0xe1, 0xff, 0x74, 0xba, 0x5a, 0x9d, 0x5e,
+ 0x6d, 0x2b, 0x64, 0x31, 0xac, 0x6b, 0x9c, 0xb7, 0x2d, 0xc5,
+ 0xa7, 0xa1, 0xbb, 0x35, 0xc7, 0x63, 0xd2, 0x86, 0x8a, 0x9a,
+ 0x5d, 0xaf, 0x33, 0xb5, 0xfb, 0xd9, 0x2e, 0x53, 0xbc, 0xfb,
+ 0x82, 0xd0, 0x69, 0x43, 0x45, 0x4d, 0xcf, 0xb6, 0xf8, 0xbb,
+ 0x9c, 0x8d, 0x17, 0xc8, 0xbd, 0x94, 0xd8, 0xed, 0xd6, 0xee,
+ 0xab, 0xe6, 0x3e, 0x72, 0x57, 0xb9, 0x4a, 0x91, 0x9e, 0x3a,
+ 0xbe, 0x25, 0x36, 0xaa, 0xd4, 0xda, 0x5a, 0xd8, 0xee, 0xfd,
+ 0x65, 0xbf, 0xf3, 0xb5, 0xc6, 0xef, 0xbf, 0x4a, 0x6c, 0x97,
+ 0x6b, 0x77, 0xb4, 0x73, 0x1f, 0x39, 0xca, 0xbd, 0x25, 0xa9,
+ 0x4f, 0x1d, 0xc0, 0xc7, 0x66, 0x6e, 0x80, 0x9e, 0xaa, 0x5b,
+ 0x3d, 0x9c, 0xdd, 0x43, 0x82, 0x14, 0xa2, 0xbe, 0xc1, 0xa8,
+ 0x3c, 0x53, 0x3f, 0x33, 0x44, 0xf0, 0xcc, 0x58, 0x72, 0x41,
+ 0x54, 0x08, 0x2b, 0x4c, 0xc2, 0x19, 0xd2, 0x14, 0x3d, 0x07,
+ 0xb5, 0xce, 0x1c, 0xd7, 0x40, 0x47, 0xed, 0x2c, 0x73, 0x99,
+ 0xc3, 0x76, 0x88, 0x29, 0x82, 0xaa, 0x5b, 0x65, 0xed, 0x13,
+ 0xef, 0x45, 0x3b, 0x30, 0xfa, 0x6b, 0xc4, 0xb8, 0xcd, 0x9a,
+ 0x39, 0x6f, 0x94, 0xb2, 0x7f, 0x0a, 0x24, 0x4b, 0x5c, 0x64,
+ 0xc3, 0xf0, 0xc5, 0xd7, 0x97, 0xa7, 0x86, 0xc2, 0x7a, 0x19,
+ 0x8e, 0xce, 0x8b, 0x49, 0x8a, 0x78, 0x4a, 0x02, 0xc6, 0x66,
+ 0x79, 0xe0, 0x84, 0xf6, 0x8b, 0x27, 0x5e, 0x41, 0xb9, 0x4f,
+ 0x33, 0x5c, 0x12, 0xd7, 0xc7, 0x09, 0x23, 0xdd, 0x3b, 0x5b,
+ 0x65, 0x8c, 0xaf, 0x85, 0x16, 0x4d, 0xe5, 0x40, 0x9b, 0x25,
+ 0xc8, 0x39, 0xf3, 0x45, 0x31, 0xbf, 0xd6, 0x4a, 0xb9, 0x73,
+ 0xec, 0x53, 0xfd, 0xf4, 0x60, 0x22, 0xc9, 0x56, 0xa9, 0x78,
+ 0x8e, 0x12, 0x38, 0xe1, 0x48, 0xb7, 0x43, 0x51, 0x2b, 0xe8,
+ 0xe9, 0xd0, 0xca, 0xe7, 0x47, 0x3f, 0x8c, 0x26, 0xc9, 0xdf,
+ 0x98, 0x38, 0x71, 0x57, 0x92, 0xcc, 0xb1, 0x05, 0xcb, 0x88,
+ 0x1d, 0x02, 0x33, 0x8b, 0x27, 0x74, 0x69, 0xfc, 0xde, 0x55,
+ 0x44, 0xd0, 0x38, 0xf7, 0xcc, 0x46, 0x58, 0xb1, 0x88, 0x4e,
+ 0xe8, 0xa3, 0xfb, 0xe5, 0x15, 0x5b, 0x23, 0x84, 0x01, 0x6c,
+ 0xcd, 0x29, 0x02, 0x8c, 0x37, 0xe3, 0x06, 0x08, 0x0a, 0x21,
+ 0xba, 0x59, 0xf5, 0x98, 0x88, 0x9e, 0xce, 0x98, 0xec, 0xcb,
+ 0x35, 0xd7, 0xf7, 0x36, 0xda, 0xae, 0x88, 0x5f, 0x4c, 0xbc,
+ 0xd0, 0x4b, 0xcf, 0xf7, 0xb6, 0xf6, 0x8a, 0x7a, 0x19, 0x9d,
+ 0x2b, 0x6a, 0x27, 0x5d, 0x9a, 0xa0, 0x59, 0xb9, 0xd0, 0xf8,
+ 0x8f, 0x38, 0x21, 0xdc, 0x52, 0x79, 0xf6, 0x81, 0xbf, 0x63,
+ 0x7c, 0x17, 0xe5, 0x45, 0xd1, 0x97, 0xd5, 0x05, 0x9e, 0x71,
+ 0xbc, 0xd2, 0x07, 0x45, 0x10, 0x61, 0xaa, 0x0b, 0x6c, 0xb7,
+ 0xd2, 0x26, 0x3b, 0x42, 0x9c, 0x45, 0x4d, 0xec, 0xd7, 0xca,
+ 0x22, 0x67, 0x13, 0x2f, 0x34, 0x62, 0xd3, 0x49, 0x61, 0x7f,
+ 0x23, 0xe8, 0xa3, 0x47, 0x26, 0x0e, 0x8d, 0x65, 0xc5, 0x33,
+ 0xbd, 0x90, 0xd4, 0x87, 0x24, 0xcc, 0x98, 0x2d, 0x6c, 0x90,
+ 0xb4, 0x17, 0x46, 0x6b, 0xa2, 0x67, 0x84, 0x0b, 0xd5, 0xe8,
+ 0x7e, 0xf1, 0x27, 0x80, 0x82, 0x3b, 0x45, 0xd3, 0xe9, 0x69,
+ 0x74, 0x7b, 0x0d, 0xf9, 0xd6, 0x59, 0x90, 0xb6, 0x25, 0xb4,
+ 0x73, 0x05, 0x95, 0x5c, 0xdb, 0x6f, 0xcd, 0x5f, 0x55, 0x2c,
+ 0xd7, 0x36, 0xca, 0x8b, 0x9a, 0x19, 0x9d, 0xae, 0x64, 0x98,
+ 0x74, 0x6d, 0x1b, 0x43, 0xdc, 0xde, 0xd8, 0x06, 0x1a, 0x13,
+ 0x90, 0xfd, 0x2e, 0x68, 0x72, 0x6e, 0x8e, 0x73, 0x03, 0xf7,
+ 0x27, 0xd9, 0xd9, 0x69, 0x40, 0x2e, 0x2f, 0x50, 0xc0, 0xc3,
+ 0x83, 0xaa, 0x21, 0x71, 0xd5, 0xeb, 0xae, 0x2b, 0xda, 0xd8,
+ 0xae, 0x69, 0x2d, 0x64, 0x31, 0xfd, 0x53, 0x25, 0x13, 0x77,
+ 0x6c, 0xcf, 0xf6, 0xfe, 0xdb, 0xb7, 0xf4, 0x54, 0x92, 0xc9,
+ 0xdf, 0x56, 0xa2, 0xe1, 0xbc, 0x75, 0xba, 0xd3, 0x7f, 0x0c,
+ 0xdc, 0x79, 0xb1, 0xe7, 0x29, 0x0c, 0x10, 0x81, 0x30, 0xf8,
+ 0x77, 0x7b, 0xdd, 0x87, 0x46, 0x97, 0xdd, 0x16, 0xeb, 0xda,
+ 0x96, 0xa1, 0xfe, 0x2a, 0xc1, 0x3c, 0xd8, 0x79, 0x0b, 0x9b,
+ 0xcf, 0x65, 0xde, 0xa7, 0x05, 0x9d, 0x94, 0x95, 0x0f, 0x14,
+ 0x11, 0xb3, 0xea, 0x7f, 0xb2, 0xbf, 0x97, 0xb0, 0xdf, 0xc8,
+ 0x5f, 0xa0, 0x2b, 0x38, 0xe1, 0xbf, 0xe0, 0x77, 0x45, 0x7d,
+ 0x64, 0xa3, 0x1e, 0x42, 0xe0, 0xb9, 0x77, 0xc2, 0x01, 0x1a,
+ 0x99, 0x1f, 0x68, 0xa6, 0x19, 0x03, 0xbd, 0x12, 0x2c, 0x8b,
+ 0xe1, 0xd6, 0x2d, 0xff, 0xbe, 0xb7, 0x77, 0xb4, 0x99, 0x62,
+ 0xb6, 0x01, 0x6b, 0x0e, 0xa5, 0x79, 0xe2, 0x67, 0xc3, 0xb8,
+ 0xbc, 0x83, 0x86, 0x8a, 0x49, 0xed, 0x84, 0x07, 0xd2, 0x2a,
+ 0xfd, 0xac, 0xe3, 0x08, 0x99, 0x85, 0x03, 0x2e, 0x68, 0x21,
+ 0xb8, 0x29, 0x2b, 0x05, 0x04, 0x36, 0x74, 0x5e, 0xe4, 0xc6,
+ 0xdc, 0x36, 0xb8, 0xeb, 0xa7, 0xf6, 0x2a, 0x30, 0xe0, 0x0b,
+ 0x63, 0x62, 0x4d, 0xc5, 0xe5, 0xa9, 0x86, 0x0b, 0x07, 0x46,
+ 0x49, 0x5d, 0xdb, 0xf4, 0x4f, 0x09, 0xb5, 0x7e, 0xc4, 0x37,
+ 0xe6, 0x18, 0x68, 0x4c, 0x05, 0x72, 0xb8, 0x63, 0x0b, 0x7b,
+ 0x7d, 0x0f, 0x0c, 0x5a, 0x9c, 0xe2, 0xe7, 0x77, 0x32, 0x71,
+ 0xba, 0xdf, 0x56, 0xc8, 0xfa, 0xbf, 0xd2, 0x0d, 0xda, 0x46,
+ 0x15, 0x10, 0xe8, 0x47, 0xe2, 0xe9, 0xb0, 0x3b, 0xe5, 0x0e,
+ 0xec, 0x49, 0x28, 0x13, 0xc2, 0xf2, 0xee, 0x17, 0xe9, 0x28,
+ 0xb8, 0xd4, 0x0f, 0x96, 0x0b, 0xa5, 0x1d, 0x8d, 0x87, 0x11,
+ 0x14, 0xee, 0x67, 0xe5, 0xea, 0x99, 0x56, 0x93, 0x0d, 0xa2,
+ 0xfa, 0x9b, 0xcd, 0x02, 0xb5, 0x17, 0xad, 0xca, 0x3f, 0x30,
+ 0xeb, 0xf6, 0x0c, 0xae, 0xb2, 0x0f, 0x14, 0x30, 0x3c, 0xc6,
+ 0x1a, 0x15, 0x7b, 0xd6, 0xb6, 0xc2, 0xec, 0x38, 0x49, 0x1d,
+ 0x09, 0xca, 0xdb, 0xe7, 0xae, 0xdf, 0xd1, 0x1b, 0x1c, 0x82,
+ 0x8f, 0x59, 0xed, 0x57, 0x13, 0x20, 0xb6, 0x67, 0x35, 0x4c,
+ 0x5f, 0x1b, 0x7e, 0x19, 0xca, 0x9e, 0x06, 0xab, 0xee, 0xe6,
+ 0xfd, 0x67, 0xb4, 0x53, 0xc4, 0x72, 0x8f, 0x94, 0x4c, 0x1f,
+ 0x73, 0xba, 0x5e, 0x7e, 0xef, 0x89, 0xa7, 0x5a, 0x0b, 0xfe,
+ 0x2a, 0xd9, 0x7e, 0x50, 0xe3, 0x1d, 0xa5, 0xa6, 0xd7, 0x8c,
+ 0xf0, 0x86, 0x9e, 0x94, 0xa0, 0x58, 0x61, 0x3d, 0xa3, 0xbb,
+ 0x7b, 0x23, 0x43, 0x11, 0x6b, 0x70, 0xf1, 0xe9, 0xc4, 0xa9,
+ 0x1f, 0xf5, 0x8f, 0x96, 0x52, 0x7f, 0xd4, 0x21, 0x95, 0x0d,
+ 0xe2, 0x82, 0xf2, 0x58, 0x2a, 0xee, 0x1d, 0xc1, 0x7e, 0xa8,
+ 0x82, 0xf0, 0xe6, 0x27, 0x2c, 0x29, 0xba, 0x57, 0xf3, 0x37,
+ 0x70, 0xd3, 0xa2, 0x6c, 0x90, 0x03, 0x73, 0x34, 0x49, 0x25,
+ 0xfa, 0x35, 0x33, 0xa5, 0xf4, 0xf9, 0x35, 0x60, 0x19, 0xa9,
+ 0x5f, 0xd4, 0xe1, 0x2d, 0x82, 0x2b, 0x9d, 0x61, 0x0a, 0x3e,
+ 0xf5, 0x96, 0x6f, 0x5d, 0xa6, 0x04, 0xb1, 0x7f, 0x10, 0xe9,
+ 0x2d, 0x29, 0x4b, 0x7d, 0x83, 0xcc, 0xf6, 0x27, 0x81, 0x1a,
+ 0xa4, 0x30, 0x40, 0x41, 0xc0, 0x66, 0x1f, 0x2f, 0xf2, 0x59,
+ 0xdb, 0x19, 0xf7, 0x48, 0xdb, 0x27, 0x1b, 0x9d, 0xae, 0xea,
+ 0x31, 0xa2, 0xb0, 0x2d, 0x24, 0x45, 0x52, 0xeb, 0xf8, 0x78,
+ 0x0b, 0xbf, 0x11, 0x79, 0x1d, 0x2c, 0x27, 0x54, 0x4a, 0x33,
+ 0x3c, 0xf1, 0xa9, 0xec, 0xf9, 0x17, 0x51, 0x82, 0xae, 0xd4,
+ 0xf3, 0x87, 0xd6, 0x90, 0xe5, 0x31, 0xea, 0xed, 0x20, 0x1e,
+ 0xfa, 0xa6, 0xbf, 0xc5, 0xac, 0xe0, 0x02, 0xb9, 0x06, 0x1f,
+ 0xd7, 0x37, 0x53, 0xc9, 0x78, 0xcb, 0xfb, 0xc9, 0xe5, 0xf8,
+ 0x13, 0x4d, 0xec, 0x12, 0xf7, 0xdb, 0x78, 0x35, 0x85, 0xd5,
+ 0xf1, 0x39, 0xfc, 0x07, 0xa0, 0x4b, 0xa8, 0x88, 0x23, 0xc5,
+ 0x65, 0xc2, 0xb3, 0x3b, 0xe2, 0x81, 0xc8, 0xa2, 0xfd, 0x68,
+ 0xfa, 0x76, 0x17, 0x25, 0xcd, 0x6e, 0x94, 0x06, 0x1c, 0x39,
+ 0x34, 0x9d, 0x41, 0x50, 0xfe, 0xd9, 0x14, 0x31, 0x15, 0x11,
+ 0x3c, 0x50, 0x44, 0x89, 0x2e, 0x3f, 0x8d, 0xb9, 0x19, 0x85,
+ 0xff, 0xb6, 0x4e, 0x0c, 0xaa, 0xbc, 0xd2, 0xfb, 0xb5, 0x4d,
+ 0x81, 0x3d, 0x5b, 0xa5, 0x90, 0x77,
+ },
+ {
+ /* 10 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x77, 0x44, 0x94,
+ 0x60, 0x7c, 0x12, 0x8d, 0x2e, 0x2d, 0xbc, 0xeb, 0x11, 0x43,
+ 0x48, 0x8e, 0x43, 0xee, 0x88, 0xeb, 0xc0, 0xf8, 0x24, 0xd9,
+ 0x5c, 0x5a, 0xbb, 0x15, 0x22, 0x86, 0x90, 0xdf, 0x83, 0x99,
+ 0xcc, 0x7f, 0xa0, 0x84, 0x36, 0x54, 0x72, 0x77, 0x07, 0xfe,
+ 0x33, 0xc5, 0xd8, 0x51, 0x86, 0x1f, 0xd3, 0x15, 0x43, 0x33,
+ 0x48, 0x71, 0xb8, 0xb4, 0xb5, 0x2a, 0x44, 0xcf, 0xe3, 0x7d,
+ 0x46, 0x68, 0x97, 0x81, 0x23, 0x4f, 0x5a, 0xfc, 0x96, 0x99,
+ 0x09, 0xc1, 0x55, 0x8c, 0xab, 0xf3, 0xc5, 0xf1, 0x5b, 0xfe,
+ 0x83, 0xcb, 0x6c, 0xa8, 0xe4, 0xee, 0x0e, 0x3f, 0x66, 0x49,
+ 0x73, 0xa2, 0x05, 0x86, 0x1f, 0x6a, 0xe3, 0xb7, 0x7e, 0x25,
+ 0xca, 0xc3, 0xb2, 0xd4, 0x77, 0x0a, 0x3b, 0x2c, 0xcf, 0x3e,
+ 0x65, 0x2a, 0x86, 0x66, 0x90, 0xe2, 0xb3, 0xab, 0xa9, 0x54,
+ 0x88, 0x5d, 0x05, 0xfa, 0x0f, 0x49, 0x21, 0xbe, 0xe6, 0x1a,
+ 0x82, 0x6f, 0x9d, 0x86, 0x15, 0xbf, 0x99, 0x1e, 0x4d, 0x74,
+ 0x8c, 0xd0, 0xed, 0xc1, 0x46, 0x9e, 0xb4, 0x3b, 0xef, 0xf1,
+ 0x12, 0x41, 0xaa, 0xdb, 0x95, 0x25, 0x4c, 0xa7, 0xa9, 0x55,
+ 0x26, 0xe2, 0xa6, 0xb6, 0xc1, 0xdc, 0xae, 0xaa, 0xbb, 0x98,
+ 0xdd, 0xab, 0x49, 0x21, 0xb6, 0x3f, 0xc5, 0x55, 0xd8, 0x93,
+ 0x0b, 0x1f, 0x1c, 0x7e, 0xcc, 0x92, 0xe6, 0x87, 0x89, 0x56,
+ 0xf2, 0xab, 0xa5, 0x29, 0xca, 0x1e, 0x25, 0x32, 0xa0, 0x95,
+ 0xdd, 0xd1, 0xae, 0x09, 0x0a, 0xcf, 0x3e, 0xd4, 0x05, 0xad,
+ 0xfc, 0x4a, 0x57, 0x45, 0xa7, 0x6b, 0xee, 0x14, 0x76, 0x58,
+ 0xca, 0xb8, 0x7a, 0x40, 0x65, 0xd1, 0xee, 0xc7, 0x79, 0x68,
+ 0x1b, 0x80, 0xff, 0x57, 0x3e, 0xd6, 0x5d, 0x7c, 0xca, 0x54,
+ 0xcf, 0xcc, 0xe3, 0x07, 0xa5, 0x95, 0x91, 0xa8, 0xd3, 0xba,
+ 0x0a, 0x37, 0x9d, 0x0b, 0x8e, 0xc0, 0xaf, 0xb0, 0xf1, 0x8a,
+ 0x8b, 0xb8, 0x2d, 0x43, 0xc2, 0xf9, 0x42, 0xb9, 0x1e, 0x92,
+ 0x42, 0xbf, 0x0f, 0x34, 0xc7, 0xde, 0xf9, 0xcf, 0x2a, 0xbd,
+ 0xf1, 0x3c, 0x9a, 0xe8, 0xde, 0xe5, 0x06, 0x2b, 0x6f, 0x48,
+ 0xd5, 0x53, 0xd7, 0xe2, 0x96, 0x56, 0xe0, 0x7f, 0xd2, 0x66,
+ 0xdb, 0x63, 0x19, 0x41, 0x8c, 0xff, 0xab, 0x76, 0x1d, 0x21,
+ 0x24, 0x82, 0x97, 0x75, 0xe9, 0x4a, 0x1b, 0x14, 0x5d, 0xd5,
+ 0xec, 0x83, 0xb9, 0xfb, 0x33, 0x0c, 0x98, 0x69, 0x86, 0x36,
+ 0xa1, 0xc4, 0x98, 0x8d, 0x91, 0xaa, 0x4c, 0x07, 0x8f, 0xaf,
+ 0x41, 0x7b, 0x9f, 0x97, 0xb5, 0xf3, 0x79, 0x95, 0x58, 0xfa,
+ 0xd5, 0x3e, 0x2c, 0x7b, 0x9d, 0x22, 0x6f, 0x56, 0x23, 0x7c,
+ 0xa4, 0xb0, 0x31, 0x1b, 0x92, 0x42, 0xaf, 0x7e, 0x49, 0xaa,
+ 0x73, 0xe5, 0x16, 0x3e, 0x38, 0xfc, 0x5b, 0xe7, 0x0f, 0xcd,
+ 0x52, 0x35, 0xeb, 0xea, 0x29, 0xd6, 0x61, 0x68, 0x38, 0x13,
+ 0x84, 0x17, 0x4a, 0xa4, 0x47, 0x43, 0xd1, 0xac, 0x27, 0x95,
+ 0x89, 0x52, 0x57, 0x3c, 0x4a, 0x64, 0x83, 0xe9, 0x79, 0x61,
+ 0x9f, 0x12, 0x11, 0xdb, 0x63, 0x01, 0xe9, 0x2e, 0x45, 0xb1,
+ 0x64, 0x49, 0x3f, 0x02, 0x68, 0x22, 0xd7, 0x9c, 0x14, 0x5d,
+ 0x7c, 0x6b, 0x0a, 0x99, 0x3b, 0x94, 0xae, 0x8a, 0x8d, 0xd6,
+ 0x1f, 0x28, 0xec, 0xb0, 0xd4, 0x2a, 0x38, 0xff, 0x6a, 0xe5,
+ 0x29, 0x19, 0x80, 0xa7, 0x31, 0x3d, 0x0e, 0x6b, 0xa4, 0x3e,
+ 0x57, 0xb3, 0xf4, 0x80, 0xca, 0x61, 0x1f, 0x4d, 0xf2, 0xd0,
+ 0x36, 0xc3, 0x3d, 0xae, 0x7c, 0x6f, 0x97, 0xc4, 0xb0, 0x14,
+ 0xaa, 0x1d, 0x0d, 0xc0, 0xdc, 0xfd, 0x8a, 0x28, 0x2c, 0xed,
+ 0x34, 0xe1, 0xba, 0xf8, 0x57, 0xa8, 0x5d, 0x5b, 0x05, 0x0e,
+ 0x89, 0xe9, 0xe1, 0x93, 0x65, 0xb7, 0x14, 0x6e, 0x7a, 0x8f,
+ 0x13, 0x3c, 0x3d, 0x27, 0x17, 0x83, 0xa7, 0xc4, 0x5d, 0x78,
+ 0x74, 0xf4, 0x5c, 0xe0, 0xf9, 0x16, 0xdf, 0x43, 0x9d, 0xa3,
+ 0x21, 0xd7, 0xd5, 0xb3, 0x5a, 0x86, 0x47, 0x31, 0x84, 0xb1,
+ 0x39, 0x61, 0x9b, 0xd7, 0xfd, 0xdf, 0x33, 0x5a, 0xfb, 0x9e,
+ 0xe6, 0x6d, 0x56, 0x72, 0xcc, 0x3f, 0x3c, 0xe7, 0x84, 0xbd,
+ 0x1e, 0x68, 0x4d, 0x7f, 0x31, 0x5d, 0x54, 0xb9, 0x21, 0x78,
+ 0xf7, 0x13, 0xfc, 0x90, 0xc0, 0x29, 0x7e, 0x14, 0x5f, 0xf2,
+ 0x1f, 0x70, 0xe8, 0x52, 0x30, 0x3b, 0xbf, 0x9d, 0x7f, 0x09,
+ 0x0c, 0x56, 0xde, 0x90, 0x69, 0xa6, 0x6d, 0x07, 0xef, 0xac,
+ 0x03, 0xfe, 0x67, 0xcc, 0xbf, 0x7e, 0x48, 0xc2, 0xbe, 0xec,
+ 0x7b, 0x2b, 0x43, 0x2a, 0x53, 0x47, 0x12, 0xbd, 0x2f, 0x42,
+ 0x75, 0xc6, 0x32, 0x82, 0xdb, 0x3d, 0x95, 0xec, 0x3a, 0x42,
+ 0x48, 0xc7, 0xed, 0xea, 0x11, 0x94, 0xb5, 0xb1, 0x76, 0x16,
+ 0xbb, 0x41, 0x87, 0x61, 0x14, 0x6f, 0xf4, 0x2c, 0xfc, 0xa9,
+ 0x59, 0x1a, 0x36, 0x28, 0xba, 0x69, 0x1b, 0xc5, 0xb1, 0x35,
+ 0x66, 0x18, 0xf3, 0xd2, 0xcf, 0x6c, 0x81, 0x4b, 0xf6, 0x5f,
+ 0xfe, 0xfd, 0x7b, 0xb9, 0xa3, 0xb8, 0x48, 0x35, 0x4f, 0x39,
+ 0xde, 0x2f, 0xc9, 0xc5, 0xf3, 0xd9, 0xe1, 0x97, 0x98, 0x0e,
+ 0xdd, 0x9d, 0x82, 0xf6, 0xfd, 0xed, 0xa9, 0x25, 0xf2, 0xe9,
+ 0x33, 0xae, 0xa5, 0x03, 0xf8, 0x72, 0xcf, 0x10, 0xac, 0xdb,
+ 0x41, 0x06, 0xb8, 0x66, 0xba, 0x67, 0xb0, 0x37, 0x69, 0x7c,
+ 0x58, 0xf6, 0xf9, 0x44, 0xde, 0xac, 0x46, 0xf8, 0x8b, 0xa3,
+ 0x62, 0x36, 0x70, 0x40, 0x2d, 0xe8, 0x38, 0x8a, 0xeb, 0xc9,
+ 0xf0, 0x81, 0xfa, 0x13, 0x9a, 0xe0, 0x2a, 0xb8, 0xe7, 0x84,
+ 0x9d, 0xfc, 0x92, 0x97, 0xe6, 0x09, 0x2c, 0x7c, 0x70, 0x3b,
+ 0xb6, 0x0d, 0x1e, 0x59, 0x27, 0xf3, 0xd9, 0x68, 0xf2, 0xeb,
+ 0xf4, 0x84, 0x02, 0x51, 0xcc, 0xd0, 0xa7, 0x4e, 0x56, 0xd7,
+ 0xa4, 0x6a, 0x15, 0x17, 0x52, 0x6f, 0xc2, 0xd0, 0x70, 0x26,
+ 0xcb, 0x2e, 0x94, 0x8b, 0x8e, 0x86, 0x64, 0x1d, 0x51, 0x83,
+ 0x32, 0x13, 0xd0, 0x5d, 0x5e, 0x0b, 0x77, 0xc5, 0x85, 0xc8,
+ 0xc6, 0x08, 0x61, 0x9b, 0x4e, 0xe9, 0xd1, 0xa4, 0xae, 0x78,
+ 0x94, 0xc8, 0xc5, 0x11, 0xf2, 0xc2, 0xfd, 0x24, 0xa1, 0xec,
+ 0x0a, 0x7d, 0xb1, 0xd8, 0xbc, 0xf5, 0xba, 0xe5, 0x79, 0xfa,
+ 0xe3, 0x81, 0xb5, 0xaa, 0x22, 0x75, 0xc6, 0x02, 0x11, 0x5c,
+ 0x8a, 0xa1, 0xc8, 0x92, 0x7e, 0x04, 0xd0, 0x44, 0x6d, 0xfb,
+ 0xe2, 0x02, 0x82, 0x96, 0x71, 0x20, 0x98, 0x2c, 0xe6, 0xbf,
+ 0xc2, 0xef, 0xc1, 0x07, 0x25, 0x75, 0x28, 0xba, 0xf8, 0xd6,
+ 0x14, 0xf1, 0x76, 0xeb, 0x9f, 0xd7, 0xd9, 0x6f, 0x3e, 0x50,
+ 0x1b, 0xa3, 0xe8, 0xcd, 0xbc, 0x42, 0x74, 0x8d, 0x64, 0x66,
+ 0xb1, 0xfa, 0x65, 0x84, 0x2f, 0x13, 0x53, 0x2d, 0x6b, 0x54,
+ 0x70, 0x3d, 0xd4, 0x09, 0x52, 0x32, 0xc3, 0x8d, 0x62, 0x7a,
+ 0x1c, 0xd6, 0x8b, 0x7c, 0xab, 0x23, 0x34, 0xa9, 0xb4, 0x75,
+ 0x40, 0xbf, 0xed, 0xa0, 0xde, 0x91, 0x0d, 0x95, 0xc3, 0xf2,
+ 0xae, 0xa5, 0x2b, 0xc3, 0x57, 0xc2, 0x3e, 0x9a, 0x27, 0x63,
+ 0x6c, 0x45, 0x7a, 0x9f, 0xf8, 0xde, 0x6e, 0xd2, 0x6f, 0x57,
+ 0x37, 0xbe, 0x2c, 0x17, 0x09, 0x4e, 0xd0, 0xae, 0x6b, 0xdc,
+ 0xb0, 0x50, 0xed, 0x4b, 0xa3, 0x28, 0x97, 0x3a, 0x1a, 0x43,
+ 0x7b, 0x39, 0xd7, 0x50, 0x58, 0x19, 0x68, 0x01, 0x2d, 0x3c,
+ 0xe7, 0xbc, 0xf7, 0x46, 0x08, 0xce, 0x55, 0x14, 0x6b, 0xbb,
+ 0x49, 0x5a, 0x20, 0x8f, 0xb7, 0x33, 0xae, 0x93, 0xba, 0xb6,
+ 0x0a, 0x1c, 0xd1, 0x11, 0x01, 0xe5, 0xca, 0xad, 0x28, 0xdc,
+ 0x77, 0x44, 0xea, 0x07, 0xda, 0xca, 0x18, 0x91, 0xff, 0x3c,
+ 0xbd, 0x0e, 0xdb, 0xee, 0x60, 0x52, 0xf4, 0xdd, 0x26, 0x78,
+ 0x7a, 0x4e, 0x2e, 0xc5, 0x8d, 0x4b, 0xba, 0xf0, 0xe8, 0x2b,
+ 0xb8, 0x03, 0x34, 0xaa, 0x62, 0xec, 0x1a, 0x32, 0x3c, 0x48,
+ 0xa3, 0x66, 0x06, 0x1b, 0xf9, 0x68, 0xf0, 0x8d, 0x31, 0x2c,
+ 0x7d, 0x86, 0xf9, 0x85, 0x42, 0x6d, 0x69, 0xa5, 0xb4, 0xcf,
+ 0x8e, 0x62, 0xcb, 0xa1, 0xf1, 0x5b, 0x39, 0x12, 0x99, 0xf9,
+ 0x50, 0xe0, 0x47, 0x88, 0x08, 0x24, 0x9f, 0x21, 0x83, 0x2f,
+ 0x72, 0xc2, 0xf5, 0x6d, 0x39, 0x7d, 0x66, 0xb4, 0x35, 0xff,
+ 0x0f, 0xda, 0xac, 0xe4, 0x5b, 0x7e, 0xb2, 0xb5, 0xb1, 0xf9,
+ 0x59, 0x01, 0x74, 0x39, 0x1b, 0xd2, 0xb3, 0x31, 0xbd, 0xa7,
+ 0x13, 0xf0, 0x78, 0x0d, 0xcb, 0xb9, 0x3c, 0xd0, 0x9a, 0xfe,
+ 0x62, 0xba, 0xa8, 0xb1, 0x42, 0xf0, 0x2d, 0x26, 0xb8, 0x7a,
+ 0x8f, 0x2d, 0x5c, 0xac, 0x88, 0x73, 0x4c, 0x97, 0x14, 0x5a,
+ 0x53, 0xb3, 0x65, 0xa8, 0x3b, 0xe3, 0x43, 0x52, 0xfc, 0x28,
+ 0xbe, 0x27, 0x3e, 0xe0, 0x13, 0xa4, 0x60, 0x76, 0xbd, 0xf9,
+ 0xfb, 0x94, 0x07, 0xc6, 0x9c, 0x54, 0xac, 0xaa, 0x10, 0xcd,
+ 0xaf, 0x4f, 0x71, 0x35, 0xf5, 0x77, 0xfe, 0x12, 0x18, 0xac,
+ 0x7f, 0xe3, 0xd2, 0x8f, 0xda, 0x0e, 0x1d, 0x9b, 0x06, 0x3f,
+ 0xce, 0x5b, 0x3e, 0x65, 0x5c, 0x38, 0x1f, 0x9f, 0xc0, 0x02,
+ 0xf4, 0x23, 0xa1, 0x70, 0x17, 0x7c, 0x86, 0xd5, 0xbd, 0xfc,
+ 0x90, 0x47, 0xbf, 0x1b, 0xf6, 0x56, 0x86, 0x54, 0xa6, 0x8e,
+ 0x24, 0xb9, 0x5e, 0x84, 0x7d, 0x8b, 0xd4, 0xd3, 0xdf, 0x67,
+ 0xe4, 0xdb, 0xa8, 0x79, 0x1a, 0x65, 0x35, 0xfa, 0x16, 0x0a,
+ 0xea, 0x4f, 0x64, 0xc7, 0x75, 0x7a, 0xe9, 0x1b, 0x74, 0x84,
+ 0x90, 0x4d, 0x19, 0x17, 0x22, 0xeb, 0x2a, 0x38, 0x20, 0x53,
+ 0x15, 0x06, 0xfb, 0x96, 0x5a, 0xa9, 0x2c, 0xa6, 0x08, 0x54,
+ 0x6a, 0x65, 0xa9, 0xa1, 0xec, 0x2c, 0xb5, 0x82, 0xcd, 0xc2,
+ 0x28, 0xde, 0x2b, 0x58, 0x3b, 0x91, 0xb2, 0x34, 0x69, 0xd6,
+ 0xa8, 0xb8, 0xd5, 0xfe, 0xdf, 0x4f, 0x06, 0xf3, 0x97, 0xb3,
+ 0x2a, 0xd2, 0xfa, 0xba, 0x6c, 0x50, 0xb7, 0xd2, 0x36, 0x49,
+ 0xa1, 0x6a, 0xcc, 0x30, 0x25, 0x67, 0x5d, 0xd8, 0xc1, 0x96,
+ 0xac, 0x27, 0xf3, 0x46, 0x56, 0x35, 0xb3, 0xe7, 0xe2, 0x1d,
+ 0x99, 0x8c, 0x4c, 0x9b, 0x89, 0x18, 0x2f, 0xbe, 0x3f, 0x39,
+ 0xf6, 0xb1, 0x85, 0xb3, 0x90, 0x6a, 0x9e, 0x72, 0x7f, 0x5e,
+ 0x51, 0x49, 0xef, 0xc9, 0x7b, 0xad, 0x96, 0xcd, 0x97, 0x3e,
+ 0xbe, 0x47, 0x22, 0x99, 0x6e, 0x1d, 0x19, 0xc7, 0x25, 0x71,
+ 0x01, 0xed, 0xf3, 0x1c, 0x79, 0xf9, 0xc7, 0x2f, 0x39, 0x19,
+ 0x91, 0x4a, 0x27, 0x11, 0xe5, 0x06, 0x45, 0x79, 0x93, 0x60,
+ 0x6b, 0x74, 0xe9, 0x02, 0x85, 0xf2, 0x80, 0x09, 0x6f, 0x9f,
+ 0x66, 0x9f, 0x89, 0x06, 0x33, 0xe4, 0x5d, 0x20, 0x9b, 0x75,
+ 0x82, 0x0c, 0xb3, 0xcc, 0xb7, 0xce, 0xa6, 0xe8, 0xcd, 0x92,
+ 0x53, 0x98, 0x4f, 0xad, 0xb5, 0x58, 0x3e, 0xe7, 0xa2, 0x8f,
+ 0xff, 0x40, 0xa3, 0x6e, 0xd2, 0xf8, 0xb0, 0x2f, 0x31, 0x88,
+ 0x7f, 0x9b, 0x8c, 0x33, 0xd5, 0x85, 0xc4, 0x6c, 0x63, 0x19,
+ 0x96, 0x6c, 0xd0, 0x53, 0x23, 0x05, 0x51, 0xb6, 0x30, 0xd8,
+ 0xc4, 0xc6, 0x8c, 0xe2, 0xe0, 0x80, 0x5a, 0x13, 0x70, 0xd7,
+ 0x15, 0x51, 0x23, 0xc1, 0x37, 0x26, 0xf7, 0x03, 0x54, 0xb3,
+ 0x20, 0xf7, 0x1e, 0x87, 0x10, 0xab, 0x07, 0xdc, 0x0d, 0xec,
+ 0x8b, 0xcd, 0xe6, 0x40, 0x1c, 0x3d, 0x0d, 0xcb, 0xf9, 0x3b,
+ 0xe7, 0xed, 0x0f, 0x12, 0x58, 0xf8, 0xe0, 0x76, 0xaf, 0x1a,
+ 0x3c, 0xb2, 0xcd, 0xbc, 0xbd, 0xaf, 0x87, 0x91, 0x1d, 0x9f,
+ 0x76, 0xd5, 0x5c, 0x9d, 0xbe, 0x59, 0x74, 0x3c, 0x4e, 0x25,
+ 0x71, 0xd0, 0x27, 0x15, 0x2b, 0xcb, 0x04, 0xa2, 0x5b, 0x63,
+ 0x8d, 0x9c, 0xac, 0x6d, 0x8e, 0x52, 0x35, 0x44, 0x47, 0x69,
+ 0x39, 0x46, 0x2a, 0x8f, 0xe7, 0x88, 0x9c, 0xdf, 0xe4, 0xe3,
+ 0x8b, 0xd4, 0x2a, 0x2e, 0xa4, 0xde, 0x47, 0x63, 0xe0, 0x4c,
+ 0x55, 0x5c, 0xeb, 0xd5, 0xdf, 0xcf, 0x4b, 0xa3, 0x6e, 0xba,
+ 0xc4, 0xa2, 0x55, 0xee, 0xce, 0x61, 0xe9, 0xb7, 0xfa, 0x96,
+ 0x97, 0x41, 0xc8, 0x3a, 0xa2, 0xc5, 0x64, 0x26, 0x63, 0xba,
+ 0xbc, 0x16, 0xee, 0x49, 0xc9, 0x53, 0x4f, 0x10, 0x08, 0x4d,
+ 0xe6, 0x51, 0x04, 0x5a, 0x71, 0x37, 0x92, 0x3b, 0x52, 0xa2,
+ 0xd8, 0x10, 0x07, 0x9e, 0xc2, 0xf5, 0x9c, 0x11, 0x61, 0x8b,
+ 0x9f, 0xf0, 0xeb, 0x53, 0x49, 0x22, 0x27, 0x47, 0x39, 0x48,
+ 0x02, 0x82, 0xd8, 0x85, 0x01, 0xf7, 0x8d, 0x7d, 0xc5, 0x7e,
+ 0xf5, 0xc9, 0x36, 0x04, 0x71, 0xc6, 0x81, 0x1b, 0x14, 0xfa,
+ 0xa1, 0x73, 0xbb, 0x29, 0xb7, 0x09, 0xf2, 0x37, 0x05, 0xc1,
+ 0xa9, 0x97, 0x41, 0x6c, 0x50, 0x6e, 0xc1, 0x0f, 0xa9, 0xa4,
+ 0x99, 0x24, 0x4e, 0xdc, 0x14, 0x82, 0xe1, 0x19, 0x44, 0xea,
+ 0x4f, 0x04, 0x22, 0xb8, 0xd7, 0x81, 0x53, 0xe7, 0xfc, 0x08,
+ 0x63, 0x88, 0xda, 0x35, 0x84, 0x9d, 0x0b, 0x90, 0x42, 0xc4,
+ 0xc5, 0x0c, 0x7d, 0xca, 0x40, 0xe3, 0x72, 0xcb, 0x92, 0xbb,
+ 0x07, 0x04, 0xc7, 0xef, 0xe2, 0x40, 0xf3, 0x58, 0x0f, 0xbd,
+ 0x47, 0x1d, 0x41, 0x0e, 0x4a, 0xea, 0xc7, 0x73, 0x83, 0x7b,
+ 0x82, 0x3c, 0xe1, 0xd5, 0x21, 0x90, 0xfb, 0xf6, 0x50, 0x4d,
+ 0x02, 0x64, 0x50, 0xb7, 0x33, 0x6f, 0x28, 0x21, 0xec, 0x15,
+ 0xfd, 0x6d, 0x71, 0xde, 0x7c, 0xa0, 0x36, 0x85, 0x90, 0xc0,
+ 0x77, 0xfb, 0x48, 0x5d, 0xfe, 0x98, 0xd3, 0x40, 0xcd, 0x35,
+ 0x6d, 0xe3, 0x7e, 0x0b, 0x13, 0x59, 0xbb, 0x84, 0xe8, 0xd9,
+ 0xc8, 0xcc, 0xa1, 0x37, 0xca, 0xcb, 0x5e, 0x26, 0xa6, 0x5a,
+ 0xd3, 0x2e, 0xff, 0x10, 0x88, 0xa5, 0xda, 0x41, 0x8f, 0x1a,
+ 0x76, 0x20, 0x4f, 0x65, 0xee, 0xd4, 0xd6, 0xa8, 0xe0, 0x7a,
+ 0x6b, 0x12, 0xa4, 0x64, 0x45, 0xd9, 0xc4, 0xf4, 0x38, 0x6f,
+ 0xd5, 0xf8, 0x16, 0xdf, 0xa4, 0xee, 0x0b, 0x6e, 0xb6, 0xe9,
+ 0x6b, 0xf4, 0x78, 0x1f, 0x29, 0x2c, 0x9d, 0x76, 0x95, 0x46,
+ 0x68, 0x91, 0xab, 0xea, 0x80, 0xbd, 0x19, 0x83, 0x7f, 0xe1,
+ 0x1a, 0xe9, 0x45, 0x27, 0x55, 0x31, 0x2c, 0x05, 0xcb, 0x96,
+ 0x92, 0x30, 0x37, 0xae, 0xc3, 0x0a, 0x0b, 0xaa, 0x0d, 0xa9,
+ 0x9f, 0x89, 0x56, 0x45, 0xae, 0x47, 0x7c, 0xf7, 0x4e, 0xc6,
+ 0xd8, 0x8a, 0xf4, 0xfd, 0x33, 0x7f, 0x5f, 0xfe, 0x12, 0xd1,
+ 0xce, 0x3b, 0x6e, 0x7a, 0x60, 0xeb, 0x64, 0x61, 0xe5, 0xbe,
+ 0x7b, 0xf1, 0xdc, 0x67, 0xde, 0xae, 0x6e, 0xbf, 0x58, 0x2e,
+ 0x12, 0x9c, 0x63, 0x9f, 0xd6, 0x7b, 0xa3, 0xa0, 0x1c, 0x10,
+ 0x9a, 0x3a, 0x0e, 0xc3, 0x4a, 0xa3, 0x3c, 0xb1, 0xdf, 0x74,
+ 0xc7, 0x38, 0xeb, 0x2e, 0x19, 0x96, 0x85, 0x50, 0xed, 0x74,
+ 0x34, 0x86, 0xf6, 0x72, 0x6d, 0xa0, 0xb0, 0x32, 0xd0, 0x02,
+ 0xd9, 0xe1, 0xc1, 0xc4, 0x8d, 0x08, 0x26, 0x0b, 0xd8, 0x5f,
+ 0xd1, 0x4b, 0xa1, 0x71, 0x98, 0x8c, 0x5a, 0x78, 0x0d, 0xbb,
+ 0x2d, 0x8c, 0x10, 0x5f, 0xaa, 0x28, 0xd6, 0xb5, 0x92, 0xb4,
+ 0x40, 0xdd, 0x9a, 0x0f, 0x49, 0x2f, 0x4d, 0xf0, 0x02, 0xd2,
+ 0x84, 0x05, 0x6a, 0x5e, 0x83, 0xf7, 0x08, 0x53, 0xad, 0x66,
+ 0x9f, 0xe5, 0xb7, 0xaf, 0x14, 0x38, 0x61, 0x22, 0x02, 0x09,
+ 0x57, 0x99, 0x50, 0x7b, 0x6d, 0x11, 0xdb, 0x71, 0xd7, 0xd3,
+ 0x06, 0xb5, 0x4f, 0x0f, 0xbe, 0xe2, 0x46, 0xda, 0x18, 0xf5,
+ 0xee, 0x88, 0x17, 0x0e, 0x77, 0x57, 0x30, 0xe1, 0x3d, 0x78,
+ 0xb9, 0x1c, 0x75, 0x1f, 0xc0, 0xa4, 0x2e, 0xff, 0x53, 0x9a,
+ 0x17, 0x2b, 0x22, 0x6c, 0x13, 0x55, 0x05, 0xf7, 0x64, 0x5c,
+ 0x88, 0x2a, 0x2b, 0x79, 0x4c, 0xf0, 0xf4, 0x9c, 0x5c, 0x49,
+ 0xd9, 0x96, 0xb7, 0x23, 0x13, 0x56, 0xb3, 0x06, 0xeb, 0x0e,
+ 0x08, 0x64, 0x94, 0xe0, 0x4e, 0xc4, 0xf7, 0xbb, 0x0b, 0xc8,
+ 0x02, 0x15, 0xfb, 0x88, 0x68, 0x97, 0xc4, 0x1b, 0x34, 0x64,
+ 0x78, 0x90, 0x85, 0xcc, 0x0c, 0x36, 0x31, 0xd0, 0x23, 0xd9,
+ 0xa8, 0xe0, 0x80, 0x8f, 0x54, 0x18, 0x6a, 0x1d, 0xab, 0xe1,
+ 0xb0, 0xdd, 0x20, 0x93, 0x6b, 0x57, 0x62, 0x58, 0xfa, 0xcf,
+ 0x31, 0xc9, 0x84, 0xda, 0xd2, 0x89, 0xab, 0x5d, 0xdf, 0xc4,
+ 0x55, 0x81, 0xa2, 0x2f, 0xbe, 0x5b, 0x51, 0xb5, 0x96, 0x57,
+ 0xfc, 0xa4, 0x17, 0xb6, 0xce, 0x87, 0x1d, 0x0f, 0x21, 0xb6,
+ 0x72, 0x24, 0xf1, 0x31, 0xa0, 0x03, 0x8e, 0xd3, 0x10, 0x48,
+ 0xfd, 0x42, 0xc5, 0x5e, 0xe1, 0xc1, 0x36, 0xb0, 0x91, 0x4d,
+ 0xb2, 0x8e, 0xa0, 0xfe, 0xac, 0xa3, 0xec, 0x01, 0x8d, 0xd0,
+ 0xe4, 0x47, 0x29, 0xda, 0x72, 0xfa, 0xcc, 0xab, 0x6a, 0x3d,
+ 0x1e, 0x77, 0x9b, 0x0b, 0xb6, 0xfc, 0x24, 0x30, 0x6d, 0x4e,
+ 0x12, 0x86, 0xde, 0x26, 0x44, 0x10, 0xa2, 0x9c, 0x8a, 0x48,
+ 0xfe, 0x72, 0xa7, 0xa9, 0xa1, 0x31, 0xb2, 0x02, 0xe8, 0x72,
+ 0x36, 0x67, 0xa5, 0x62, 0xb9, 0x8d, 0x26, 0x23, 0x67, 0xde,
+ 0xe5, 0xa5, 0xd2, 0x7e, 0xfa, 0xff, 0x18, 0x4a, 0x19, 0x89,
+ 0xa8, 0xce, 0x6e, 0xad, 0xf0, 0x1a, 0x55, 0xb1, 0x78, 0x63,
+ 0xf7, 0x3f, 0xc4, 0xb7, 0x93, 0xa1, 0x84, 0x23, 0x5a, 0x4c,
+ 0x30, 0x6d, 0x11, 0x25, 0x18, 0x1f, 0xe5, 0xb2, 0xea, 0x9a,
+ 0x2f, 0x4a, 0x95, 0x60, 0x12, 0xc2, 0xb3, 0xf4, 0xdd, 0x5a,
+ 0xb8, 0x9b, 0xd3, 0xe6, 0x98, 0xed, 0x28, 0xb4, 0xa6, 0xa5,
+ 0xca, 0x93, 0x73, 0x83, 0x99, 0xce, 0xd8, 0xe7, 0xc1, 0x6b,
+ 0xb6, 0xc0, 0x94, 0x5f, 0xb7, 0xe6, 0x82, 0x1d, 0x76, 0x05,
+ 0x86, 0xa4, 0x3b, 0x50, 0xbf, 0x4e, 0x7c, 0x03, 0x26, 0x8b,
+ 0xc0, 0xec, 0xb9, 0x31, 0xb6, 0x72, 0xc2, 0x30, 0x5b, 0x2c,
+ 0xad, 0xc3, 0x52, 0x2e, 0x9a, 0x60, 0xd1, 0xaf, 0xf1, 0xbf,
+ 0x35, 0xeb, 0x0e, 0x4f, 0xfb, 0xa8, 0x9b, 0x97, 0x20, 0x59,
+ 0x9d, 0x9e, 0xe2, 0x6a, 0x29, 0xee, 0xf5, 0x9c, 0x4a, 0xdb,
+ 0x9b, 0xd4, 0x89, 0x1a, 0x0e, 0x74, 0x21, 0x75, 0xf3, 0x29,
+ 0x61, 0x60, 0x3f, 0x24, 0x30, 0x9b, 0xfe, 0x05, 0x67, 0xdd,
+ 0x77, 0x1c, 0x3a, 0xf5, 0x0c, 0x7e, 0x5f, 0xb6, 0xff, 0x53,
+ 0x74, 0x0f, 0x9e, 0x79, 0x75, 0x50, 0x59, 0x31, 0x86, 0x1e,
+ 0x1d, 0x3d, 0x17, 0x38, 0x7c, 0xca, 0xb8, 0x70, 0x3e, 0xfd,
+ 0x43, 0x04, 0x2b, 0x46, 0x81, 0xe0, 0x2e, 0xf8, 0xcf, 0x69,
+ 0xbc, 0xbd, 0xfc, 0xe4, 0x5e, 0x81, 0x51, 0x89, 0x05, 0x6b,
+ 0x3d, 0x0b, 0x3f, 0xbb, 0x87, 0xe7, 0xb9, 0x3b, 0xe3, 0x8e,
+ 0xbd, 0x36, 0x2f, 0xac, 0xcf, 0xa8, 0x8f, 0xdf, 0x48, 0xb1,
+ 0xbc, 0xcb, 0x79, 0x4c, 0xa7, 0x1a, 0xdd, 0x4a, 0x3d, 0x21,
+ 0xe1, 0x85, 0x33, 0x34, 0x59, 0xf2, 0xf4, 0x45, 0xfa, 0xd5,
+ 0x6b, 0x65, 0x7d, 0xce, 0x0b, 0x75, 0x93, 0xf2, 0x34, 0xca,
+ 0x6a, 0x37, 0x2c, 0x14, 0x3a, 0xa2, 0x2f, 0xf1, 0x1d, 0xb2,
+ 0x19, 0xf8, 0xbd, 0xdf, 0x88, 0x21, 0x7b, 0x74, 0x64, 0x9a,
+ 0x17, 0x9e, 0xc8, 0x4d, 0xea, 0xf4, 0x11, 0x36, 0xe8, 0xcb,
+ 0xe3, 0x9a, 0x32, 0x2e, 0x44, 0x15, 0xd7, 0xe9, 0x8c, 0xd9,
+ 0x8a, 0x88, 0x03, 0xbb, 0xc6, 0xe6, 0x5f, 0x71, 0x23, 0x6d,
+ 0x0c, 0x9b, 0x54, 0x70, 0x40, 0xa6, 0x2a, 0x0c, 0x35, 0xef,
+ 0xb4, 0x91, 0x58, 0x8f, 0x10, 0xa8, 0xd4, 0xca, 0x94, 0x07,
+ 0x04, 0x32, 0x4a, 0x70, 0x27, 0x62, 0x9a, 0xbc, 0xe4, 0x64,
+ 0x01, 0xeb, 0x9c, 0x44, 0x91, 0x81, 0x1b, 0x58, 0xa9, 0xc7,
+ 0x59, 0x47, 0x50, 0x7f, 0x56, 0xb0, 0x76, 0xe1, 0xa7, 0x68,
+ 0x51, 0xf6, 0x5f, 0xcc, 0xc9, 0xbb, 0x4b, 0xca, 0x7e, 0x52,
+ 0xea, 0x5b, 0x67, 0xa2, 0xef, 0xe6, 0xd2, 0x6f, 0x93, 0xb3,
+ 0x69, 0x3f, 0x7d, 0x9e, 0x0c, 0x25, 0xed, 0xa5, 0x54, 0x67,
+ 0x37, 0xb7, 0x12, 0x18, 0xd7, 0x27, 0x09, 0x43, 0x6f, 0x13,
+ 0x22, 0x08, 0x51, 0x4e, 0x45, 0x24, 0x7f, 0x39, 0xd8, 0xa0,
+ 0xad, 0x67, 0x6c, 0x92, 0x81, 0xd4, 0x5b, 0x60, 0x4a, 0xce,
+ 0xba, 0x73, 0x41, 0xef, 0x18, 0xd7, 0xe9, 0xf3, 0x0c, 0xee,
+ 0x93, 0x59, 0x75, 0x4d, 0xf6, 0x25, 0xab, 0x30, 0x09, 0x61,
+ 0x9b, 0x4e, 0x25, 0x8c, 0xac, 0x6a, 0xa5, 0x0d, 0x07, 0x3a,
+ 0xf1, 0xdb, 0x98, 0xf5, 0xd1, 0x30, 0x5b, 0x39, 0x61, 0x18,
+ 0xcc, 0x16, 0xb7, 0x80, 0x29, 0x17, 0x4d, 0x30, 0x89, 0xb6,
+ 0x99, 0xbe, 0x5e, 0xbf, 0x7e, 0x72, 0x2f, 0xa1, 0xc9, 0xa5,
+ 0xe3, 0xd4, 0xff, 0xe4, 0xfe, 0xbc, 0xa2, 0x92, 0x9e, 0xc8,
+ 0x3a, 0xe6, 0x4f, 0xdd, 0xdb, 0x28, 0xcd, 0xf9, 0x43, 0x0f,
+ 0xef, 0xff, 0xea, 0x1c, 0x1d, 0x51, 0xf6, 0x99, 0xef, 0x59,
+ 0xed, 0x7c, 0xbf, 0x8e, 0x44, 0xf1, 0xdc, 0x3a, 0x32, 0x4d,
+ 0xdd, 0x26, 0xb2, 0x0d, 0x8f, 0x25, 0xff, 0xf1, 0x91, 0xa3,
+ 0xf8, 0x1a, 0xcd, 0x79, 0x7a, 0xc3, 0x4a, 0xe2, 0x02, 0x19,
+ 0x25, 0x38, 0xf2, 0x31, 0x4d, 0x5e, 0x72, 0x32, 0xe1, 0x94,
+ 0x4e, 0x22, 0x8a, 0x95, 0x46, 0x8d, 0x45, 0x44, 0xe0, 0xbc,
+ 0x63, 0x73, 0xce, 0xd9, 0xf0, 0xd7, 0x06, 0xac, 0x09, 0x0c,
+ 0x8a, 0xf2, 0xe5, 0xc0, 0xd6, 0xe8, 0x11, 0x04, 0xc9, 0x27,
+ 0xc3, 0x12, 0xde, 0xfd, 0xc9, 0x7b, 0xce, 0x66, 0x85, 0xbc,
+ 0xc4, 0x65, 0x3f, 0x29, 0x75, 0xcc, 0xd2, 0x51, 0x96, 0x73,
+ 0xcc, 0xfd, 0xd1, 0x0c, 0x66, 0x0b, 0xba, 0x40, 0xf5, 0xea,
+ 0xc7, 0x18, 0xa5, 0x5b, 0xad, 0x5f, 0x0c, 0x8a, 0x95, 0x98,
+ 0x06, 0x77, 0xa8, 0xcd, 0xdb, 0xc7, 0x7b, 0xf3, 0xb4, 0x18,
+ 0xe5, 0xd1, 0x8f, 0x13, 0x59, 0xe7, 0xa6, 0xf3, 0x9e, 0x99,
+ 0xa9, 0xb0, 0x7c, 0x0d, 0x87, 0xdd, 0x3d, 0x80, 0x4f, 0x64,
+ 0x1d, 0x73, 0xc6, 0x8f, 0x8c, 0x14, 0x87, 0x9d, 0xc0, 0xe6,
+ 0x96, 0x9e, 0x75, 0x0e, 0x85, 0xdc, 0x67, 0x33, 0xa3, 0x5e,
+ 0x62, 0xd3, 0xfe, 0xf5, 0xdb, 0x66, 0x69, 0xc9, 0x4b, 0xd8,
+ 0x45, 0xab, 0x23, 0xa7, 0xc3, 0x22, 0x70, 0x5e, 0xd0, 0xd8,
+ 0x67, 0x8d, 0x78, 0x8a, 0x03, 0x56, 0xc6, 0x32, 0xef, 0xd8,
+ 0x63, 0xa6, 0x46, 0x0a, 0xa2, 0xaf, 0x60, 0x73, 0x4b, 0x4f,
+ 0xdb, 0x07, 0x06, 0x45, 0xab, 0x4c, 0x03, 0xda, 0x54, 0x87,
+ 0x8c, 0x82, 0xdc, 0x98, 0x5a, 0x0c, 0x93, 0x89, 0x03, 0xc3,
+ 0xb4, 0x26, 0xe0, 0x6d, 0x2a, 0xa2, 0x46, 0x41, 0x6e, 0x4c,
+ 0x2d, 0x06, 0xa8, 0xa5, 0xc3, 0xb4, 0xf0, 0xb2, 0x80, 0x11,
+ 0x38, 0x2f, 0x68, 0x6c, 0xd2, 0xa7, 0x3c, 0x45, 0xe0, 0x2b,
+ 0x40, 0x2d, 0x3c, 0xcd, 0x20, 0x95, 0x0e, 0x7b, 0x1a, 0x1b,
+ 0xd5, 0x59, 0x0f, 0x80, 0x38, 0x7a, 0x80, 0x5a, 0x78, 0x59,
+ 0x40, 0xe9, 0x1c, 0xf6, 0x34, 0x36, 0x69, 0xb2, 0x1e, 0xc3,
+ 0x70, 0xf4, 0x1a, 0x55, 0x31, 0x76, 0x0d, 0x19, 0x1e, 0x24,
+ 0xb0, 0x33, 0x03, 0xec, 0x9d, 0x34, 0x78, 0xa7, 0xda, 0x22,
+ 0x75, 0xe2, 0x6d, 0x65, 0x0c, 0xa9, 0x9e, 0x1e, 0xbf, 0x07,
+ 0x8c, 0x77, 0x30, 0x29, 0x59, 0xbb, 0xb9, 0x9d, 0xcd, 0xe1,
+ 0x3a, 0xfd, 0xec, 0x69, 0xb8, 0xf9, 0xbf, 0xb2, 0xe8, 0x78,
+ 0x99, 0xcc, 0xfd, 0x09, 0xad, 0x9d, 0x28, 0x70, 0xc2, 0x44,
+ 0x04, 0x12, 0xae, 0xf1, 0xa0, 0xf6, 0x9c, 0x4a, 0xe2, 0x63,
+ 0x4e, 0x2a, 0x56, 0x55, 0x08, 0x87, 0xb6, 0xc6, 0xd9, 0xfb,
+ 0x9b, 0xda, 0x5c, 0x3d, 0xa6, 0xf7, 0x2e, 0x56, 0x44, 0xd8,
+ 0x26, 0xaa, 0x0a, 0x2d, 0xc8, 0xb8, 0xd3, 0x54, 0xdf, 0xa4,
+ 0x6a, 0x88, 0x8e, 0xd2, 0x72, 0x8c, 0x54, 0xdd, 0x0d, 0xd3,
+ 0xfb, 0x7d, 0x0b, 0x05, 0x1f, 0xd3, 0x2e, 0x1c, 0xee, 0xae,
+ 0x60, 0x01, 0x7a, 0xf0, 0xb1, 0x38, 0xea, 0x3e, 0x43, 0x8b,
+ 0xd5, 0x6b, 0x54, 0x5c, 0x8b, 0x7f, 0x8e, 0xc6, 0x03, 0x98,
+ 0xaa, 0xb8, 0x15, 0x69, 0x7d, 0x5d, 0x15, 0x1c, 0x10, 0xc8,
+ 0xeb, 0x03, 0x9c, 0x4b, 0x2d, 0xb5, 0x16, 0x53, 0x04, 0x2a,
+ 0x35, 0xd3, 0x96, 0x85, 0xdc, 0xb7, 0x4b, 0x87, 0xaa, 0x1f,
+ 0x5f, 0xc2, 0x11, 0xad, 0x37, 0xef, 0xed, 0x82, 0x56, 0xf2,
+ 0x98, 0x23, 0x2b, 0xfb, 0xb8, 0x92, 0x71, 0xef, 0xad, 0x46,
+ 0x26, 0xac, 0xa5, 0x0c, 0x53, 0x74, 0x87, 0x49, 0xc8, 0x4c,
+ 0xc6, 0xb7, 0xbb, 0x2c, 0x1f, 0x92, 0x51, 0xa6, 0x9e, 0x20,
+ 0x93, 0x03, 0xc3, 0xdd, 0xa8, 0x30, 0xd4, 0x3a, 0x95, 0x01,
+ 0xa3, 0x79, 0x40, 0xe5, 0xd6, 0xae, 0x10, 0x9a, 0x0f, 0xa2,
+ 0x08, 0xb4, 0xe2, 0x6e, 0xe7, 0x76, 0xa4, 0x87, 0x73, 0x20,
+ 0x0e, 0xff, 0xd0, 0xed, 0x4b, 0x36, 0x68, 0xc8, 0xf0, 0xe3,
+ 0xc9, 0x5b, 0x18, 0x6c, 0x62, 0x63, 0x46, 0x71, 0x47, 0x29,
+ 0xfb, 0x22, 0xc2, 0xd5, 0xfd, 0x23, 0x15, 0xa6, 0x92, 0x44,
+ 0x4e, 0x8e, 0x72, 0x90, 0x87, 0x5e, 0xbf, 0xb6, 0xa2, 0xa9,
+ 0xef, 0xae, 0x3b, 0x8b, 0x2e, 0xaf, 0x5f, 0xcd, 0x3a, 0x1e,
+ 0x04, 0xc7, 0x73, 0xc9, 0x02, 0x2d, 0xd9, 0xfa, 0x49, 0xfc,
+ 0x29, 0x51, 0x6c, 0x08, 0xe2, 0x4f, 0xc4, 0xb0, 0x37, 0x5d,
+ 0x62, 0x51, 0xcb, 0x77, 0x67, 0xd1, 0x95, 0xba, 0x7d, 0x4b,
+ 0xaa, 0xc1, 0xc1, 0x36, 0x28, 0x37, 0x81, 0xe6, 0xb5, 0x52,
+ 0xad, 0x12, 0x27, 0x6e, 0x0a, 0x41, 0x91, 0xed, 0x01, 0x41,
+ 0x6c, 0xa3, 0xe1, 0x9a, 0xa7, 0xdf, 0x83, 0x3f, 0x9b, 0x85,
+ 0x1b, 0x02, 0xd9, 0x63, 0x82, 0xd8, 0xa0, 0xdc, 0x41, 0x1e,
+ 0x91, 0x8b, 0xf1, 0x48, 0x9c, 0x7b, 0x28, 0xc7, 0x01, 0x32,
+ 0x42, 0xaf, 0xe4, 0x48, 0x21, 0x62, 0x83, 0x06, 0xdf, 0x65,
+ 0x20, 0x90, 0x39, 0x84, 0x49, 0xbc, 0x88, 0x17, 0x9e, 0x08,
+ 0x44, 0xb3, 0x6d, 0xc1, 0xa6, 0x0d, 0x3b, 0x10, 0xc6, 0xd3,
+ 0x77, 0x6a, 0x48, 0x60, 0xda, 0x9c, 0x24, 0xcf, 0x7f, 0x4c,
+ 0x88, 0x20, 0x87, 0xfb, 0xd7, 0x90, 0x3f, 0xe4, 0xcb, 0xf9,
+ 0x16, 0xe3, 0x84, 0x4b, 0x49, 0x18, 0xfa, 0x57, 0x80, 0x05,
+ 0xe4, 0x55, 0xe7, 0xb5, 0x0b, 0x8e, 0x52, 0x77, 0xe4, 0x37,
+ 0x5b, 0x95, 0xd4, 0x7a, 0x3c, 0xee, 0xf5, 0x16, 0xaf, 0x3b,
+ 0x0e, 0x08, 0x4d, 0x1d, 0x07, 0x80, 0x25, 0xb0, 0x1e, 0xb9,
+ 0x8e, 0x3a, 0x82, 0x1c, 0x94, 0x17, 0xce, 0x7f, 0x09, 0x89,
+ 0x67, 0xfc, 0x37, 0x3d, 0x30, 0x94, 0x32, 0xd1, 0x93, 0x5f,
+ 0xdc, 0x99, 0x4d, 0xe6, 0xc5, 0xf6, 0xc7, 0x78, 0x01, 0x69,
+ 0x42, 0xe3, 0x35, 0x2f, 0xa0, 0x9a, 0x04, 0xc8, 0x8d, 0x91,
+ 0x81, 0x62, 0xa7, 0x04, 0x13, 0xe4, 0x6c, 0xce, 0x89, 0xc4,
+ 0xb1, 0xd9, 0x4c, 0x46, 0xa0, 0xad, 0x66, 0xde, 0x50, 0x42,
+ 0x1b, 0x2a, 0x39, 0xda, 0xe2, 0x7f, 0xf8, 0x83, 0x6c, 0xc9,
+ 0x60, 0xda, 0x22, 0x4a, 0x30, 0x3e, 0x09, 0xa7, 0x17, 0xf7,
+ 0x5e, 0x94, 0xe9, 0xc0, 0x24, 0x47, 0xe3, 0x43, 0xee, 0x35,
+ 0x90, 0xba, 0x3f, 0xf3, 0x65, 0x80, 0x59, 0x6a, 0xda, 0x05,
+ 0xfc, 0x16, 0x23, 0x34, 0xaa, 0xa1, 0xf0, 0xc6, 0x2d, 0x7e,
+ 0x4b, 0xad, 0xe5, 0x81, 0xcb, 0x46, 0xb4, 0x98, 0x26, 0xb2,
+ 0xb5, 0xcb, 0x13, 0x71, 0x53, 0x5b, 0x81, 0x6e, 0x57, 0x55,
+ 0xbc, 0x4c, 0x8f, 0xb4, 0xe6, 0xc5, 0xf1, 0x5f, 0x73, 0x0d,
+ 0x41, 0xd6, 0xaf, 0x43, 0xeb, 0xbe, 0xad, 0x0f, 0xc7, 0x3a,
+ 0x65, 0x5c, 0x3d, 0x20, 0xd3, 0x89, 0x77, 0x82, 0xdd, 0x34,
+ 0xec, 0x40, 0x9e, 0xca, 0x1f, 0x6b, 0xa5, 0x2b, 0x79, 0xb4,
+ 0xb3, 0xf5, 0x65, 0x0f, 0xf3, 0x19, 0x50, 0xab, 0x8f, 0x89,
+ 0x57, 0xe5, 0x6f, 0x93, 0x03, 0xf4, 0xd6, 0x24, 0x8b, 0xc8,
+ 0x8a, 0x71, 0x4b, 0x2b, 0x70, 0xde, 0x69, 0x33, 0xaf, 0xe4,
+ 0x47, 0x60, 0xb6, 0x58, 0x99, 0x45, 0xa4, 0x5c, 0xf7, 0xc0,
+ 0x61, 0x9d, 0x21, 0xbd, 0x2c, 0x7d, 0x8b, 0x1f, 0x16, 0xdc,
+ 0xaf, 0x11, 0xd6, 0x2b, 0xf0, 0x3e, 0x52, 0x58, 0xf9, 0xec,
+ 0xec, 0x0a, 0xcf, 0x8b, 0x76, 0xa0, 0xbd, 0x9c, 0xf8, 0x06,
+ 0x4c, 0xd5, 0x43, 0x1b, 0xb1, 0x62, 0xe9, 0x8c, 0xd0, 0xe1,
+ 0x95, 0x17, 0xc3, 0xb9, 0x32, 0xc5, 0xfe, 0x01, 0x34, 0x11,
+ 0x8a, 0x4e, 0x29, 0xfb, 0x94, 0x75, 0xf5, 0x6b, 0xd1, 0x34,
+ 0x1c, 0xe8, 0x42, 0xea, 0x25, 0x52, 0xc2, 0xc0, 0xaa, 0x62,
+ 0x58, 0x0a, 0x55, 0xef, 0xe7, 0x60, 0x6e, 0x9f, 0x45, 0x14,
+ 0x16, 0x97, 0x1a, 0x91, 0x6a, 0x15, 0x1c, 0x9e, 0x35, 0x93,
+ 0xf5, 0xed, 0x40, 0xb2, 0xf9, 0xff, 0x07, 0xd4, 0x52, 0x1f,
+ 0xfd, 0xd1, 0xac, 0x8a, 0x9f, 0x8e, 0xf8, 0x2d, 0x9c, 0x4f,
+ 0x73, 0xd7, 0x2b, 0x39, 0x66, 0xfe, 0x3d, 0xa6, 0xe8, 0x1e,
+ 0xff, 0xf2, 0xea, 0xa0, 0xb2, 0x62, 0xcf, 0x3c, 0x3a, 0x7a,
+ 0x2e, 0x70, 0xbe, 0x3f, 0x24, 0x61, 0x5f, 0x76, 0xdc, 0xf4,
+ 0xc0, 0x15, 0xc8, 0xc2, 0x09, 0xbf, 0xf6, 0x21, 0x7e, 0x48,
+ 0x60, 0xf5, 0x3f, 0x0a, 0xce, 0x79, 0xee, 0x38, 0x74, 0x29,
+ 0x18, 0xfc, 0xbe, 0xaf, 0x7b, 0xce, 0x7f, 0x9f, 0xdc, 0xbd,
+ 0xb0, 0x5c, 0x24, 0xfb, 0xc6, 0xfd, 0x6f, 0xf6, 0x85, 0x83,
+ 0xbb, 0xb9, 0x3b, 0x0b, 0xbc, 0xc1, 0xa2, 0xd1, 0x0a, 0xd6,
+ 0x7a, 0x16, 0x7e, 0xb5, 0xcd, 0x0d, 0x38, 0x20, 0xf7, 0x74,
+ 0x1c, 0x45, 0x94, 0x85, 0x78, 0xa1, 0x7d, 0xe8, 0x4d, 0x70,
+ 0x15, 0x5c, 0xf8, 0x57, 0xb3, 0xe0, 0x7c, 0x39, 0x86, 0x08,
+ 0x56, 0x8c, 0xc1, 0x03, 0x5c, 0x33, 0x5d, 0xd2, 0x32, 0xef,
+ 0xc9, 0xa0, 0x19, 0xe8, 0x68, 0xcf, 0x2f, 0xe4, 0xda, 0x83,
+ 0xa3, 0x64, 0x63, 0x04, 0xf2, 0x98, 0x8d, 0x34, 0x79, 0x94,
+ 0x7a, 0x42, 0x01, 0xc9, 0x66, 0x68, 0xb2, 0x27, 0x2b, 0x8a,
+ 0x71, 0x01, 0x41, 0x4b, 0xd9, 0x10, 0x4c, 0x16, 0x73, 0xbe,
+ 0x61, 0x96, 0x81, 0xe2, 0xf3, 0xdb, 0xb1, 0x76, 0x05, 0xdf,
+ 0xb9, 0x6c, 0x5e, 0x9b, 0x5d, 0x93, 0xdd, 0x7d, 0x90, 0xa1,
+ 0xbb, 0x55, 0xb4, 0xf0, 0x1a, 0xb5, 0x5a, 0xdb, 0x20, 0xbe,
+ 0x97, 0x50, 0x6f, 0xa9, 0xe7, 0xab, 0x80, 0x79, 0x74, 0x87,
+ 0x5e, 0x21, 0x3a, 0xa7, 0x32, 0x33, 0xb9, 0x7d, 0xd3, 0x42,
+ 0xf6, 0xe8, 0xc8, 0xf7, 0xf7, 0x1e, 0x92, 0x5e, 0x9a, 0x23,
+ 0x04, 0x67, 0xcb, 0x0a, 0xd4, 0xbc, 0xc5, 0x2d, 0x10, 0xa6,
+ 0x37, 0x69, 0xd6, 0xca, 0xfa, 0x5f, 0x16, 0xea, 0xe5, 0x27,
+ 0x68, 0x57, 0xd4, 0x6e, 0x58, 0x28,
+ },
+ {
+ /* 11 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x5d, 0x97, 0xf3,
+ 0xe9, 0x1a, 0x8d, 0xcb, 0xbb, 0x06, 0xc5, 0x20, 0x1c, 0x68,
+ 0x90, 0x93, 0x47, 0xba, 0xed, 0x25, 0x11, 0x34, 0xd9, 0x55,
+ 0xb5, 0x0c, 0x49, 0x40, 0x38, 0xd0, 0xe3, 0xe5, 0x85, 0xe7,
+ 0x7a, 0xd6, 0xf8, 0x2e, 0x54, 0x9e, 0x0e, 0x0a, 0x8c, 0x60,
+ 0x24, 0xb8, 0x73, 0x76, 0x8e, 0xb7, 0x19, 0x4a, 0x22, 0x68,
+ 0x71, 0xaa, 0xa9, 0x18, 0x92, 0x80, 0x70, 0x63, 0x05, 0x09,
+ 0x4c, 0xea, 0x8e, 0xb9, 0xcb, 0x72, 0xfc, 0x61, 0x12, 0x1e,
+ 0x57, 0xa0, 0x6c, 0x0b, 0x95, 0x9a, 0xc9, 0x0d, 0xf4, 0x6f,
+ 0x33, 0x5c, 0xa8, 0xff, 0x1c, 0x14, 0xdb, 0xc0, 0x48, 0xb3,
+ 0xe6, 0xec, 0x0b, 0x50, 0x63, 0x9c, 0xda, 0x46, 0x25, 0x34,
+ 0xa7, 0x12, 0x1e, 0xe0, 0x54, 0xdb, 0x76, 0x7f, 0xdf, 0xad,
+ 0x32, 0x94, 0x44, 0xd0, 0xe2, 0x97, 0x91, 0x30, 0xe7, 0xc3,
+ 0xe0, 0xc6, 0x0a, 0x12, 0x1d, 0xf0, 0xa5, 0x67, 0xad, 0xca,
+ 0x6f, 0x5c, 0x2a, 0x36, 0x22, 0xe3, 0xfc, 0xae, 0x9a, 0x81,
+ 0x98, 0x17, 0xdf, 0xb1, 0x55, 0xe4, 0x3b, 0xc2, 0x24, 0x3c,
+ 0xae, 0x83, 0xd8, 0x16, 0xe9, 0xf7, 0x5a, 0x4a, 0x48, 0x42,
+ 0xbc, 0xfe, 0xb6, 0x09, 0x9f, 0x3a, 0x6b, 0xa3, 0xc4, 0x7e,
+ 0x79, 0x64, 0x51, 0x1a, 0x2b, 0xde, 0x66, 0xb8, 0x93, 0x3d,
+ 0x38, 0x28, 0x75, 0x43, 0x90, 0xa5, 0x0f, 0x1b, 0x93, 0x47,
+ 0xbc, 0x2d, 0x8f, 0xa2, 0x1e, 0xf6, 0x83, 0x2e, 0xb0, 0x63,
+ 0x8c, 0xcd, 0x9f, 0x88, 0x16, 0xa0, 0xc6, 0xfb, 0x77, 0x8c,
+ 0x4a, 0x68, 0x8d, 0x24, 0x3c, 0x03, 0xa8, 0x75, 0xec, 0xfe,
+ 0xd4, 0xfd, 0x51, 0x08, 0x9e, 0x96, 0xc7, 0xa3, 0x36, 0x22,
+ 0xf9, 0x23, 0xb4, 0x1d, 0x7c, 0x6d, 0x7d, 0x99, 0x64, 0xeb,
+ 0x88, 0x63, 0x07, 0xed, 0xe1, 0x60, 0x0d, 0x45, 0x03, 0x4f,
+ 0x14, 0x24, 0xbf, 0xc4, 0xf3, 0x18, 0x61, 0x79, 0x8a, 0x26,
+ 0x5a, 0x66, 0xc8, 0x65, 0x1f, 0x27, 0x84, 0xb7, 0x3a, 0x23,
+ 0x89, 0xce, 0x99, 0x57, 0xde, 0xb8, 0x54, 0x6c, 0x44, 0x05,
+ 0x3b, 0x9f, 0xf7, 0xc1, 0xf8, 0x7e, 0x1e, 0x3d, 0x70, 0x4d,
+ 0x53, 0x73, 0xef, 0x6a, 0x81, 0x25, 0x27, 0xf7, 0x67, 0x52,
+ 0xf3, 0x2e, 0x7d, 0xa1, 0xaa, 0x0b, 0x76, 0x47, 0x48, 0x78,
+ 0x9f, 0xc5, 0x73, 0x2c, 0x11, 0x2d, 0x31, 0x73, 0xea, 0x52,
+ 0x43, 0x11, 0xfb, 0x8c, 0xf3, 0x7e, 0x5a, 0xe5, 0x6f, 0x44,
+ 0x81, 0xbe, 0xb4, 0x94, 0x90, 0x84, 0xbb, 0x3f, 0xaf, 0x12,
+ 0xfd, 0x74, 0xd6, 0x85, 0x4b, 0xfc, 0xf2, 0xc8, 0x76, 0xc9,
+ 0x07, 0x77, 0x52, 0x25, 0x22, 0xd9, 0x46, 0x72, 0x13, 0xa5,
+ 0x57, 0x94, 0x62, 0x5b, 0xa2, 0x34, 0x56, 0x7f, 0xcc, 0xb3,
+ 0xe5, 0x7a, 0x70, 0x50, 0xea, 0x86, 0xe3, 0x89, 0x1e, 0x36,
+ 0x60, 0x69, 0xc1, 0x8c, 0x25, 0xa9, 0x68, 0xb1, 0xcb, 0x56,
+ 0x2f, 0xa6, 0xff, 0xe1, 0x8e, 0xa5, 0xe5, 0x8e, 0xbb, 0x5a,
+ 0xdd, 0x87, 0x3c, 0x2f, 0xc5, 0x5c, 0xa3, 0xc6, 0xdb, 0x59,
+ 0xfd, 0xd3, 0x27, 0xd3, 0x2c, 0xa9, 0x34, 0x9d, 0xb1, 0xe4,
+ 0x7e, 0x5a, 0x66, 0xe6, 0xc7, 0x31, 0x6d, 0x40, 0x2c, 0x83,
+ 0x4f, 0x35, 0xee, 0xdb, 0x94, 0xd0, 0xd9, 0x48, 0x78, 0x06,
+ 0x93, 0xea, 0x1b, 0x3f, 0xee, 0xde, 0xd8, 0xc6, 0x07, 0xc1,
+ 0x19, 0x1b, 0x62, 0x4e, 0xbd, 0x26, 0x8f, 0x82, 0x8b, 0xac,
+ 0x6b, 0x39, 0xa2, 0x10, 0xff, 0xef, 0x4d, 0x85, 0x6c, 0x44,
+ 0x31, 0x46, 0xab, 0x3a, 0xf8, 0xda, 0xa9, 0x64, 0x35, 0xe3,
+ 0x16, 0xf5, 0xc0, 0x4e, 0xd7, 0x42, 0xf4, 0x66, 0xb7, 0x52,
+ 0x68, 0x49, 0xfa, 0xf1, 0xc8, 0x15, 0xd3, 0xc6, 0x0e, 0x19,
+ 0x01, 0xc0, 0x1a, 0x8a, 0x06, 0x9e, 0x28, 0x48, 0x38, 0xac,
+ 0x5f, 0xe6, 0x3a, 0xdc, 0x83, 0xd2, 0xba, 0xc6, 0xdf, 0xaa,
+ 0x1a, 0xf6, 0xb8, 0xdb, 0xbd, 0x4b, 0x25, 0x30, 0xc2, 0xf2,
+ 0xd7, 0x4c, 0xb4, 0xcc, 0x53, 0xca, 0x3e, 0x4e, 0xcb, 0xad,
+ 0x7f, 0x16, 0xb2, 0xc3, 0x2b, 0xe8, 0x5a, 0x87, 0x0f, 0xca,
+ 0x96, 0xea, 0x22, 0x26, 0x5b, 0x3e, 0x74, 0x46, 0xd1, 0x5f,
+ 0xf1, 0xae, 0x7f, 0xb3, 0xa8, 0xd8, 0x88, 0x0a, 0x76, 0xfd,
+ 0x2d, 0x41, 0xb6, 0x1b, 0x46, 0xac, 0x18, 0xb4, 0xf2, 0x78,
+ 0x13, 0xde, 0x4d, 0x2a, 0x6a, 0x95, 0xbd, 0xd2, 0x33, 0xfc,
+ 0x3c, 0x7a, 0xe0, 0x9a, 0xa6, 0xe6, 0x1d, 0xd4, 0xc1, 0x4a,
+ 0x4e, 0x2d, 0xce, 0xa4, 0xf1, 0xa1, 0xab, 0x89, 0x09, 0x80,
+ 0x2b, 0x2d, 0xa6, 0xd2, 0x04, 0x6a, 0x52, 0x45, 0x5e, 0x37,
+ 0x25, 0x5c, 0xfa, 0x81, 0x97, 0x16, 0xec, 0x8e, 0x90, 0xf0,
+ 0xfd, 0x49, 0xe6, 0x58, 0x22, 0x5a, 0xe7, 0x01, 0x6d, 0x72,
+ 0x7e, 0x0c, 0x61, 0x45, 0x2b, 0xf6, 0x38, 0x69, 0xfa, 0x30,
+ 0xb2, 0xc9, 0x62, 0xe6, 0x17, 0xa4, 0x86, 0x22, 0x35, 0xdb,
+ 0x25, 0xfc, 0xb4, 0x09, 0xde, 0x88, 0xc1, 0xbf, 0xa0, 0xbb,
+ 0x80, 0x57, 0x6f, 0x38, 0xb8, 0x10, 0x9e, 0xfa, 0x71, 0x29,
+ 0xc2, 0xe0, 0x51, 0x2c, 0xab, 0xeb, 0xe3, 0xcb, 0xb5, 0x7e,
+ 0x9d, 0x24, 0x39, 0xe8, 0x6f, 0xc9, 0x96, 0x3b, 0x27, 0x53,
+ 0x69, 0xb6, 0x74, 0x38, 0x5c, 0x64, 0x10, 0xef, 0x82, 0xee,
+ 0xaa, 0xe9, 0x8a, 0x53, 0xb7, 0xc0, 0xec, 0x51, 0x0e, 0xee,
+ 0xa4, 0x4a, 0x44, 0x71, 0x8c, 0xe4, 0x26, 0x89, 0xae, 0xeb,
+ 0xc4, 0xb6, 0x2e, 0x0c, 0x99, 0x1d, 0x4d, 0x50, 0xc9, 0xba,
+ 0x37, 0xe2, 0xe3, 0xa9, 0xb2, 0x83, 0x54, 0x25, 0x87, 0x68,
+ 0xac, 0xfe, 0x5b, 0xa5, 0x09, 0xf4, 0xe0, 0xa0, 0x17, 0xcf,
+ 0x05, 0xd1, 0x3c, 0x6c, 0x45, 0x35, 0x3b, 0x0d, 0xb2, 0xbf,
+ 0x84, 0x3f, 0x5b, 0xa6, 0xd2, 0xef, 0x19, 0xb9, 0xac, 0xff,
+ 0xc0, 0xd2, 0x41, 0xdb, 0x4a, 0x91, 0xd0, 0xa1, 0x55, 0xac,
+ 0x5e, 0x8f, 0x3d, 0x01, 0xdf, 0x89, 0x02, 0x8f, 0xd6, 0x28,
+ 0xa3, 0x8b, 0x5d, 0x6a, 0xee, 0xaa, 0x9b, 0xaf, 0x21, 0x69,
+ 0x4f, 0x1a, 0x09, 0xdf, 0xb5, 0xb4, 0x79, 0xcd, 0x78, 0x5e,
+ 0x49, 0xb8, 0x85, 0x4f, 0x75, 0xb2, 0x39, 0x65, 0xcb, 0x82,
+ 0x22, 0x47, 0x90, 0xd7, 0xf5, 0x95, 0xf2, 0xbe, 0x40, 0x6f,
+ 0x69, 0xda, 0xa9, 0xf6, 0x4e, 0x65, 0x58, 0x91, 0x68, 0xf9,
+ 0xa1, 0x0b, 0xfc, 0xb4, 0xcc, 0x0f, 0x4d, 0x62, 0xda, 0x80,
+ 0x8c, 0x38, 0xcf, 0x62, 0x81, 0xe3, 0x2c, 0xc0, 0x47, 0xb2,
+ 0x09, 0x2f, 0x51, 0x0a, 0x4a, 0x13, 0x58, 0xc5, 0x9e, 0x6a,
+ 0x1f, 0x75, 0xeb, 0x63, 0x71, 0x90, 0xf0, 0x0c, 0xe5, 0x17,
+ 0x36, 0x7e, 0x9a, 0x98, 0x09, 0x99, 0xf6, 0x6f, 0x66, 0xa8,
+ 0xca, 0x96, 0x35, 0x2c, 0xf9, 0x7f, 0xa6, 0xed, 0x1f, 0x7f,
+ 0x73, 0x4f, 0x0e, 0x41, 0x32, 0x36, 0xc4, 0x9c, 0xb9, 0x4c,
+ 0xdd, 0xc7, 0xd5, 0x9b, 0xdd, 0x22, 0xe4, 0xbc, 0xe7, 0x5b,
+ 0xbf, 0xfd, 0x7f, 0x9a, 0x7c, 0x6c, 0xc1, 0xaf, 0x45, 0x08,
+ 0xd6, 0x72, 0x87, 0x20, 0x3d, 0x1d, 0x9a, 0xc9, 0xd8, 0x88,
+ 0x62, 0x8c, 0x95, 0x74, 0x33, 0x77, 0x14, 0x2f, 0x10, 0xd3,
+ 0xd4, 0x07, 0x17, 0x02, 0x63, 0x8e, 0xa7, 0xac, 0x89, 0x1c,
+ 0xa3, 0xe4, 0x91, 0xc8, 0x6a, 0x05, 0x2c, 0x29, 0x43, 0x9c,
+ 0x6d, 0x84, 0x2b, 0xcc, 0xad, 0xa4, 0xd0, 0x92, 0x53, 0x95,
+ 0xfd, 0xf6, 0xc5, 0x33, 0xce, 0x57, 0xd6, 0x82, 0xee, 0xec,
+ 0xb1, 0xcc, 0x40, 0x01, 0x37, 0x21, 0x53, 0x2a, 0x65, 0x4f,
+ 0x1c, 0x32, 0x02, 0x43, 0x34, 0xd7, 0x0c, 0xff, 0x50, 0x90,
+ 0xf5, 0x7c, 0xc4, 0xd9, 0x8c, 0x55, 0x91, 0xf9, 0xb9, 0x45,
+ 0xf1, 0xf7, 0x10, 0x97, 0xc0, 0x03, 0x70, 0x9b, 0xbe, 0x0f,
+ 0x74, 0x7b, 0xc5, 0x67, 0xb7, 0x4f, 0x7d, 0x97, 0x34, 0x2f,
+ 0xb3, 0x75, 0xb2, 0xc6, 0x29, 0xfc, 0x9d, 0x61, 0x48, 0xac,
+ 0x0c, 0x49, 0xb8, 0xb7, 0x28, 0x47, 0x23, 0xe6, 0xb9, 0x96,
+ 0x4a, 0x60, 0x47, 0x27, 0x6d, 0x98, 0xab, 0x5b, 0xa6, 0x57,
+ 0x7c, 0x9c, 0x55, 0x99, 0x7b, 0xcb, 0xdd, 0x93, 0xae, 0x3d,
+ 0xe0, 0x53, 0x10, 0x5d, 0x63, 0x77, 0x60, 0xf4, 0xc5, 0x0a,
+ 0xfe, 0x2c, 0xa7, 0x45, 0x56, 0x13, 0xb4, 0xcd, 0x1e, 0x57,
+ 0xef, 0x17, 0x44, 0x4c, 0xb6, 0x7c, 0x3c, 0x71, 0x30, 0xb6,
+ 0xbf, 0x09, 0x39, 0x06, 0xa5, 0x51, 0x2a, 0x37, 0x58, 0x24,
+ 0x26, 0xef, 0xe8, 0x8c, 0x61, 0xbe, 0x21, 0x9f, 0xfe, 0xa5,
+ 0x93, 0x73, 0xd3, 0x14, 0xec, 0x39, 0x5a, 0x82, 0x2a, 0xd1,
+ 0xf6, 0x4d, 0xc8, 0x85, 0x73, 0x6e, 0x28, 0x75, 0x16, 0x34,
+ 0xf0, 0x51, 0xca, 0x11, 0xaf, 0x36, 0x8c, 0x9b, 0x30, 0xab,
+ 0x27, 0xf0, 0x26, 0x7f, 0x9a, 0x54, 0xd4, 0xe9, 0xb9, 0x67,
+ 0x6d, 0x6b, 0x1b, 0x68, 0xd9, 0xb1, 0xaa, 0x3b, 0x9d, 0x79,
+ 0x5f, 0x74, 0xc8, 0x81, 0x29, 0xf4, 0x66, 0x3b, 0x78, 0xf4,
+ 0x03, 0xf7, 0x8f, 0x0f, 0x3a, 0x6b, 0x41, 0x94, 0x9c, 0x5a,
+ 0x5f, 0x8b, 0xa4, 0x66, 0xef, 0x07, 0xea, 0xed, 0x02, 0xc4,
+ 0x81, 0x6d, 0x84, 0xb4, 0x80, 0x32, 0xcf, 0x18, 0x21, 0x81,
+ 0x95, 0xd1, 0x12, 0xc3, 0x56, 0x5a, 0x8f, 0x67, 0x08, 0xd4,
+ 0xa4, 0x8a, 0xbc, 0x6e, 0xe3, 0xdc, 0x02, 0x22, 0xfb, 0xd9,
+ 0xdb, 0x91, 0x34, 0x61, 0xcd, 0xf4, 0xb8, 0xe2, 0x2c, 0xfd,
+ 0x4a, 0xb8, 0x37, 0xc1, 0xed, 0x2c, 0x1b, 0xdf, 0xe3, 0x23,
+ 0x39, 0x92, 0x0f, 0xb0, 0x44, 0xb4, 0x88, 0xe5, 0xa0, 0x32,
+ 0x04, 0x36, 0x96, 0x14, 0x58, 0x25, 0xfc, 0xb2, 0x13, 0xd8,
+ 0xd4, 0x27, 0x0d, 0x02, 0xda, 0xe4, 0xfc, 0x18, 0xc2, 0x8a,
+ 0x56, 0x2f, 0x70, 0xd2, 0x37, 0x60, 0xa7, 0x51, 0xcf, 0x5f,
+ 0x4d, 0x17, 0x15, 0x02, 0x4f, 0x41, 0xed, 0x29, 0xb5, 0xf2,
+ 0x2b, 0x08, 0x37, 0xc2, 0xc4, 0x0f, 0x2e, 0x8b, 0xcf, 0x44,
+ 0x6a, 0x75, 0x4a, 0x3b, 0xab, 0x12, 0x7f, 0xd3, 0x41, 0xbd,
+ 0x06, 0x52, 0xb9, 0x78, 0x26, 0x5e, 0xe7, 0xbe, 0xf1, 0x3d,
+ 0x6e, 0x32, 0x63, 0xbb, 0xd1, 0x2e, 0x83, 0xb5, 0xc3, 0xae,
+ 0xde, 0x70, 0xb3, 0x20, 0xff, 0x37, 0xe2, 0x52, 0x47, 0x03,
+ 0xa2, 0x58, 0x41, 0xe8, 0x54, 0x5d, 0x37, 0x6a, 0x3e, 0xeb,
+ 0x44, 0x31, 0x27, 0x72, 0x5b, 0x6b, 0x32, 0xcb, 0x95, 0x15,
+ 0x05, 0x55, 0xa9, 0xfc, 0xf9, 0x48, 0x72, 0x13, 0xde, 0x51,
+ 0xef, 0x76, 0x4e, 0xa6, 0x57, 0x48, 0x92, 0xa6, 0x40, 0xe6,
+ 0x74, 0x83, 0xc9, 0x15, 0x1b, 0x71, 0xf3, 0x1e, 0xde, 0x35,
+ 0xd2, 0xaf, 0xe8, 0x70, 0xb8, 0xc8, 0x20, 0x1d, 0xc7, 0x1f,
+ 0x97, 0x11, 0xd7, 0xa6, 0xad, 0x43, 0x10, 0xf2, 0x7f, 0x83,
+ 0x51, 0xd2, 0xad, 0xd6, 0x7c, 0x19, 0x52, 0x31, 0xcb, 0xce,
+ 0x3d, 0xd0, 0x1b, 0xa2, 0x1c, 0x1f, 0x8b, 0x94, 0x88, 0xe2,
+ 0xdb, 0x0b, 0x4c, 0xd1, 0x9f, 0x15, 0x4b, 0xaf, 0xd9, 0xff,
+ 0x8b, 0xec, 0x62, 0x8e, 0x05, 0x29, 0x60, 0x0d, 0x89, 0xf1,
+ 0x83, 0x7d, 0xdb, 0x3c, 0x5c, 0x18, 0xf1, 0x3a, 0x9a, 0xa0,
+ 0x51, 0xb7, 0x6e, 0x07, 0x05, 0x91, 0xa7, 0xc5, 0xa8, 0x4a,
+ 0x9e, 0x45, 0x66, 0xc9, 0x73, 0xba, 0xdc, 0x7c, 0xd5, 0x01,
+ 0xc0, 0xb1, 0xbb, 0xad, 0x38, 0xd9, 0xcd, 0xd0, 0x9b, 0x3f,
+ 0xb6, 0x89, 0x12, 0x2b, 0x03, 0x83, 0x2e, 0x5d, 0x0a, 0x61,
+ 0x78, 0xd8, 0x0f, 0x8d, 0x0c, 0xcc, 0x5f, 0x93, 0x9f, 0xe0,
+ 0xb8, 0x85, 0xeb, 0x7d, 0x16, 0x09, 0xe8, 0x4b, 0x8a, 0x6a,
+ 0x76, 0x1a, 0xa7, 0xbd, 0xcb, 0x7e, 0xb6, 0x8f, 0x67, 0x1d,
+ 0x32, 0xb1, 0x9b, 0x3d, 0x48, 0x37, 0xe1, 0xe9, 0x4e, 0xa7,
+ 0x46, 0xb5, 0x0d, 0x89, 0xa2, 0x3d, 0x2e, 0xd9, 0x0b, 0xae,
+ 0x43, 0x67, 0x82, 0x75, 0x94, 0xe1, 0x63, 0x81, 0xaa, 0x9b,
+ 0xbc, 0xdd, 0x7a, 0x02, 0x7d, 0xd1, 0x81, 0x3a, 0x15, 0x86,
+ 0x7d, 0xfb, 0xee, 0x4a, 0x11, 0x9d, 0x79, 0xfd, 0x66, 0x6a,
+ 0xed, 0x42, 0x04, 0xdd, 0x6f, 0x50, 0x85, 0xd5, 0xba, 0xd4,
+ 0x1f, 0x97, 0xf5, 0x9d, 0x42, 0xd2, 0x9e, 0x34, 0xc6, 0x80,
+ 0xf8, 0xa3, 0x6c, 0xcf, 0x37, 0x1f, 0xa4, 0x91, 0x30, 0xbd,
+ 0x5e, 0xba, 0x0e, 0xa7, 0x12, 0x7d, 0xa9, 0xab, 0xf2, 0x59,
+ 0xf0, 0xbc, 0x92, 0xb3, 0xc9, 0x9e, 0xea, 0xa7, 0x72, 0xca,
+ 0xd0, 0x20, 0x3e, 0x58, 0x1b, 0x43, 0x7d, 0x77, 0x29, 0xb5,
+ 0x0c, 0xbe, 0xf6, 0xcf, 0xe2, 0x59, 0x55, 0xc7, 0x44, 0x8e,
+ 0xe3, 0x6d, 0x29, 0xe9, 0x27, 0xbf, 0x80, 0xde, 0xd2, 0x77,
+ 0x91, 0x2f, 0x97, 0x9a, 0xd3, 0x7d, 0x0a, 0x77, 0xa4, 0x22,
+ 0x9c, 0xb9, 0x45, 0xfe, 0xce, 0x1f, 0x01, 0xbc, 0x9c, 0xca,
+ 0xb0, 0xe1, 0xd0, 0x31, 0x81, 0x16, 0x3b, 0xab, 0x5b, 0x1e,
+ 0x9a, 0xc4, 0x77, 0xc3, 0x5e, 0x97, 0x27, 0x12, 0x39, 0x2b,
+ 0x0c, 0xdd, 0x80, 0xad, 0x9e, 0x3e, 0x86, 0xac, 0xe7, 0x50,
+ 0xdb, 0x70, 0x5d, 0xc4, 0xc1, 0x05, 0x58, 0x43, 0x8e, 0xa7,
+ 0x12, 0x5e, 0xa2, 0x14, 0x94, 0x26, 0x19, 0x2d, 0xca, 0x37,
+ 0x28, 0x1f, 0xd5, 0x88, 0x35, 0xa1, 0xd7, 0x7e, 0xbe, 0x7c,
+ 0x04, 0xb5, 0xb0, 0x49, 0xff, 0xd4, 0x3e, 0xea, 0x15, 0xc6,
+ 0xe2, 0xe3, 0x23, 0x18, 0x09, 0x2e, 0x6c, 0xfc, 0x72, 0x14,
+ 0x68, 0x27, 0xd7, 0xf0, 0x98, 0x0d, 0x59, 0xe5, 0xe6, 0x38,
+ 0x15, 0x46, 0xfc, 0x6f, 0xf7, 0xf3, 0x12, 0xf1, 0x2f, 0xde,
+ 0xcc, 0x93, 0x57, 0xef, 0x6a, 0x58, 0x31, 0xfe, 0x8f, 0x19,
+ 0x35, 0xae, 0x85, 0x02, 0xc6, 0xc4, 0x41, 0x58, 0xec, 0xe9,
+ 0xaf, 0x78, 0x2d, 0x96, 0x1f, 0x8a, 0x3e, 0xfe, 0xe6, 0x9e,
+ 0x1c, 0x82, 0x64, 0x6c, 0x4b, 0xfb, 0xb1, 0x98, 0x79, 0x4d,
+ 0x69, 0xf5, 0xfc, 0xa3, 0x71, 0x6d, 0xf5, 0x98, 0xe9, 0xa7,
+ 0xf0, 0xfd, 0x74, 0xb8, 0x65, 0x25, 0xf9, 0x66, 0x79, 0x44,
+ 0x0b, 0xbb, 0x0d, 0xb6, 0xbd, 0x39, 0xfe, 0xf7, 0xf8, 0xd8,
+ 0x41, 0x9d, 0x8a, 0x10, 0xbb, 0x19, 0x9c, 0x48, 0xe4, 0xac,
+ 0x30, 0xf2, 0x45, 0xf1, 0x3d, 0xf8, 0x5d, 0xf5, 0x1a, 0x83,
+ 0x6f, 0xe4, 0xcd, 0x40, 0x7a, 0x3a, 0xf7, 0x51, 0x73, 0xd3,
+ 0xc4, 0xdb, 0xe9, 0xe8, 0x66, 0xee, 0xad, 0xb9, 0x5a, 0xb3,
+ 0x93, 0x20, 0x7a, 0x9a, 0xc8, 0xd5, 0x01, 0xfb, 0xf5, 0x80,
+ 0xf6, 0x7d, 0x28, 0x5e, 0x20, 0x65, 0x6b, 0x0e, 0x2e, 0x04,
+ 0xc6, 0xdf, 0x8d, 0x9b, 0xd1, 0x38, 0x85, 0x0b, 0xea, 0x03,
+ 0xb7, 0x96, 0x82, 0x14, 0xa3, 0xcf, 0x7d, 0xd9, 0x48, 0xbb,
+ 0xcd, 0x50, 0x15, 0x98, 0xe1, 0x53, 0xd4, 0x0a, 0x58, 0x52,
+ 0x86, 0xfb, 0xda, 0xcb, 0x56, 0x5b, 0x99, 0x8b, 0x63, 0xe7,
+ 0x23, 0x0e, 0x43, 0xf9, 0xb1, 0x48, 0x0b, 0x30, 0x61, 0xcd,
+ 0x93, 0x7b, 0x85, 0xe3, 0xf3, 0x74, 0xa6, 0xe9, 0x39, 0x2f,
+ 0x49, 0x66, 0x5f, 0xae, 0x6f, 0xc7, 0x1f, 0x1b, 0xa1, 0x5b,
+ 0x80, 0x02, 0x64, 0xb4, 0xae, 0xdc, 0xa0, 0x7c, 0xd2, 0x65,
+ 0xd4, 0xc1, 0xda, 0x3b, 0xbd, 0x33, 0x10, 0x91, 0x6e, 0x42,
+ 0xa6, 0x54, 0xca, 0x9e, 0x38, 0x64, 0x04, 0x86, 0x68, 0x6d,
+ 0x18, 0x3d, 0xa0, 0xe3, 0xac, 0x1f, 0x31, 0xa7, 0x23, 0x84,
+ 0xb5, 0xaf, 0xbf, 0x80, 0xad, 0x4d, 0x04, 0x55, 0x30, 0x70,
+ 0x29, 0xf8, 0x4b, 0x71, 0xdb, 0xaa, 0xe1, 0x31, 0xb1, 0x8a,
+ 0x21, 0x2d, 0x20, 0xed, 0x43, 0x06, 0xeb, 0xa5, 0xdc, 0x82,
+ 0x32, 0xb0, 0x6c, 0xfa, 0x0a, 0x8c, 0xe4, 0x0d, 0x3c, 0x85,
+ 0xd3, 0x95, 0xe0, 0xf5, 0xbf, 0x1e, 0xe8, 0xf6, 0x49, 0xce,
+ 0xad, 0x9e, 0xfa, 0xed, 0x68, 0x5e, 0xa5, 0xea, 0x22, 0xa8,
+ 0x28, 0xed, 0x01, 0xec, 0xc4, 0x05, 0x16, 0x98, 0x3f, 0xcd,
+ 0x74, 0x36, 0x35, 0x79, 0xa7, 0x4f, 0x52, 0x3b, 0xf9, 0xc2,
+ 0x90, 0x9b, 0x18, 0x92, 0xb3, 0xad, 0x50, 0x8e, 0x46, 0x0f,
+ 0x65, 0x12, 0xc5, 0xc8, 0x10, 0xd8, 0x1d, 0x50, 0xa3, 0x94,
+ 0x76, 0x8d, 0x4c, 0xe6, 0xd6, 0x9c, 0xb1, 0xef, 0x94, 0xc0,
+ 0x8e, 0x4e, 0xda, 0xf3, 0x95, 0xb6, 0x8f, 0xae, 0xf8, 0xfb,
+ 0xaa, 0xf1, 0x73, 0xb2, 0x03, 0x33, 0x67, 0x54, 0x57, 0x38,
+ 0x2e, 0xb0, 0x4a, 0x8e, 0xe4, 0x93, 0x3a, 0x62, 0xf6, 0x55,
+ 0x79, 0xe5, 0x9f, 0x7a, 0x03, 0xa6, 0x20, 0xba, 0xc6, 0xee,
+ 0xc0, 0x2b, 0x49, 0x14, 0x34, 0x08, 0xee, 0x16, 0x76, 0x60,
+ 0x8e, 0x6d, 0x9b, 0xbc, 0x03, 0xce, 0xdc, 0x43, 0xd9, 0x87,
+ 0x3f, 0x58, 0x8d, 0x8a, 0xac, 0x26, 0xab, 0x59, 0x3c, 0xae,
+ 0x1d, 0x2e, 0x88, 0x98, 0xaf, 0xf8, 0xfd, 0x05, 0x1a, 0x79,
+ 0x45, 0x3c, 0x26, 0x92, 0x87, 0xa8, 0xd8, 0x0e, 0x94, 0xf0,
+ 0x3f, 0x6b, 0x78, 0xe2, 0x60, 0xaf, 0xbd, 0x12, 0x72, 0x0c,
+ 0x89, 0xa2, 0x54, 0x6e, 0xb0, 0x48, 0x4c, 0x1d, 0xba, 0xbf,
+ 0xf7, 0x5c, 0x54, 0x08, 0xff, 0xc7, 0x32, 0xa4, 0x91, 0x4e,
+ 0xac, 0x20, 0xdc, 0x8e, 0x13, 0xdb, 0xc2, 0xbf, 0x42, 0xfd,
+ 0x3f, 0x89, 0xe5, 0xe6, 0x65, 0x28, 0x1b, 0x72, 0xb4, 0xc7,
+ 0xd1, 0x86, 0x55, 0x4c, 0xab, 0xe7, 0xb2, 0x42, 0x5e, 0xe0,
+ 0xa0, 0x08, 0x07, 0x1a, 0x24, 0x54, 0x54, 0x61, 0x2f, 0x9a,
+ 0x53, 0xc9, 0xe6, 0xdc, 0x50, 0xea, 0x2c, 0x68, 0x23, 0xa2,
+ 0x57, 0x22, 0x96, 0x3c, 0xb8, 0x69, 0xba, 0xd3, 0x6b, 0x17,
+ 0xeb, 0xec, 0xe9, 0x48, 0x3f, 0xca, 0xc7, 0xb1, 0x9d, 0x6c,
+ 0xdb, 0xf5, 0x60, 0x95, 0x4e, 0x23, 0x4c, 0xfe, 0xf7, 0xa8,
+ 0x6b, 0x11, 0xb1, 0xce, 0x5f, 0x31, 0x4c, 0x06, 0x89, 0x8f,
+ 0xc3, 0xe8, 0xf7, 0xf8, 0x32, 0x88, 0x77, 0x79, 0x21, 0x5d,
+ 0xda, 0xd6, 0x36, 0xd0, 0x71, 0xa1, 0x97, 0x76, 0xf9, 0xf2,
+ 0xbe, 0xe8, 0x53, 0xc1, 0x52, 0x2b, 0x18, 0x8b, 0xa1, 0x23,
+ 0x98, 0xbb, 0x1a, 0xbd, 0x42, 0xf4, 0x7b, 0xc8, 0x4f, 0xa9,
+ 0xc2, 0xb8, 0xcc, 0x76, 0xf0, 0x2b, 0x06, 0x2d, 0xdd, 0x1e,
+ 0x74, 0xd6, 0x82, 0xeb, 0xfb, 0xb4, 0xbe, 0xd5, 0x0e, 0x2b,
+ 0x67, 0xd8, 0xef, 0x37, 0x50, 0xd5, 0xcf, 0xd0, 0x47, 0xcb,
+ 0xe7, 0xdc, 0x2e, 0x46, 0x8b, 0xcc, 0x1d, 0x0e, 0x17, 0x19,
+ 0x04, 0x4b, 0xc1, 0xda, 0xcb, 0xab, 0xc3, 0x64, 0x5d, 0x30,
+ 0x49, 0x91, 0x8a, 0xfd, 0xfe, 0x03, 0x89, 0x80, 0x7a, 0xdc,
+ 0x0e, 0x8b, 0xdf, 0x0c, 0xcd, 0xa3, 0x42, 0xc1, 0xe9, 0x61,
+ 0x24, 0x45, 0xac, 0xb4, 0xdd, 0xce, 0x10, 0x6b, 0x8b, 0xd7,
+ 0xbb, 0xdc, 0x80, 0x9c, 0x7e, 0x92, 0xcd, 0x5f, 0x21, 0x7f,
+ 0x66, 0xc8, 0xd5, 0x4b, 0x97, 0xbf, 0x2b, 0x4f, 0x05, 0x7b,
+ 0x04, 0x44, 0x35, 0x71, 0x75, 0xe1, 0x68, 0xc2, 0x59, 0x2b,
+ 0xb3, 0x07, 0x58, 0x39, 0xc7, 0x26, 0x93, 0xb7, 0xdc, 0x6b,
+ 0xf8, 0x2a, 0xd3, 0xc4, 0x9c, 0x0b, 0xaf, 0x6f, 0xc8, 0xaa,
+ 0x94, 0xb3, 0x6e, 0x41, 0x19, 0x58, 0x36, 0x7d, 0x05, 0x46,
+ 0x72, 0xe7, 0x1e, 0xa3, 0x88, 0xab, 0x56, 0xee, 0xf9, 0xb2,
+ 0xf0, 0x42, 0xbb, 0xb6, 0xbe, 0x40, 0xb7, 0xc7, 0x02, 0xcb,
+ 0x18, 0x38, 0xd3, 0x09, 0x83, 0x64, 0x08, 0x6c, 0xef, 0x28,
+ 0xb0, 0x4a, 0x3b, 0xa7, 0x26, 0x73, 0x6b, 0x4e, 0x11, 0x54,
+ 0x14, 0x97, 0xe1, 0x76, 0x62, 0xe3, 0x0b, 0x4c, 0xfe, 0x87,
+ 0x3a, 0x1b, 0xfb, 0xdd, 0x1a, 0x04, 0x77, 0x0b, 0x3b, 0x30,
+ 0x47, 0xd7, 0xac, 0x5e, 0xe0, 0x67, 0x6e, 0xc0, 0x8d, 0xa2,
+ 0xd8, 0x59, 0xe0, 0xf8, 0xd2, 0x2a, 0xca, 0x1c, 0x17, 0x58,
+ 0x25, 0x47, 0x72, 0xa8, 0x1d, 0x31, 0x5d, 0xbe, 0x9a, 0x2e,
+ 0x2a, 0x04, 0x9e, 0x82, 0x19, 0x52, 0xa9, 0x27, 0x56, 0x10,
+ 0x6e, 0x47, 0x9f, 0xe3, 0x0d, 0xdd, 0xc3, 0x1e, 0x13, 0x49,
+ 0xa2, 0x54, 0x6c, 0x07, 0x4a, 0x78, 0xfe, 0xd4, 0x4b, 0x1e,
+ 0x5c, 0xd5, 0x5d, 0x88, 0xd4, 0xea, 0x94, 0x76, 0x95, 0x24,
+ 0xfe, 0x65, 0x82, 0xb9, 0x89, 0x43, 0xcb, 0x26, 0xb4, 0x92,
+ 0x59, 0x21, 0x2f, 0x70, 0x50, 0x04, 0xe2, 0x0d, 0x12, 0x2a,
+ 0x0c, 0xa4, 0xb1, 0xf0, 0x4c, 0xbc, 0x0d, 0xbf, 0x21, 0x7a,
+ 0xdc, 0x64, 0xc6, 0xb5, 0x61, 0x5c, 0xce, 0xf9, 0x26, 0x03,
+ 0xa5, 0xa6, 0x80, 0x74, 0x9a, 0x7c, 0x19, 0x44, 0xda, 0xdd,
+ 0xf1, 0xcf, 0xc5, 0xa9, 0x45, 0x9f, 0x7f, 0xe0, 0xa5, 0x40,
+ 0x3d, 0x6e, 0x07, 0xa4, 0x8e, 0x06, 0x87, 0xb0, 0x07, 0xf4,
+ 0xd2, 0x6c, 0x96, 0xfa, 0x28, 0x8b, 0x86, 0x68, 0xc2, 0x84,
+ 0x92, 0x6e, 0x17, 0x23, 0x82, 0x13, 0xa8, 0xba, 0x6e, 0xd4,
+ 0x7c, 0x15, 0x88, 0x62, 0x4e, 0xe4, 0xb6, 0xd6, 0x64, 0x55,
+ 0x40, 0x4e, 0x3f, 0x49, 0x87, 0xce, 0xf1, 0xde, 0x33, 0x64,
+ 0x8b, 0xc4, 0xaa, 0xbe, 0xf4, 0xc6, 0xe9, 0x2a, 0x0a, 0xaa,
+ 0x91, 0x3b, 0x31, 0x90, 0xe4, 0x26, 0x7f, 0xa2, 0x1d, 0xec,
+ 0x9c, 0x8f, 0x2b, 0x77, 0x9d, 0x59, 0x78, 0x21, 0xbc, 0x5b,
+ 0x5f, 0x20, 0xba, 0x82, 0x01, 0x84, 0x0c, 0x1c, 0xae, 0x90,
+ 0xe7, 0x8f, 0x80, 0x0f, 0xe8, 0xc5, 0x51, 0x2a, 0x36, 0xe2,
+ 0x25, 0x3c, 0x7f, 0x6a, 0x6c, 0xcd, 0x70, 0x7c, 0x69, 0x15,
+ 0x65, 0x0e, 0xea, 0x2c, 0xf3, 0xc2, 0x39, 0x54, 0xef, 0xf9,
+ 0x67, 0x9d, 0x13, 0xe0, 0xb3, 0x53, 0x40, 0x3a, 0x4d, 0x3e,
+ 0xed, 0x22, 0x6d, 0x8f, 0x99, 0x86, 0xa5, 0xc0, 0x84, 0x13,
+ 0x5a, 0x49, 0xcd, 0xf1, 0xf6, 0x38, 0x28, 0x02, 0x71, 0xe7,
+ 0x09, 0x15, 0x20, 0x27, 0xfe, 0xc5, 0xa2, 0x67, 0x99, 0x6f,
+ 0xf8, 0x32, 0xa4, 0x62, 0x55, 0x5f, 0x7a, 0x63, 0xe2, 0x7a,
+ 0x69, 0x36, 0x4b, 0x7d, 0x14, 0xa4, 0x43, 0x34, 0x61, 0x42,
+ 0x49, 0x37, 0xea, 0xf0, 0x36, 0x87, 0x38, 0x3e, 0xd5, 0xeb,
+ 0xd3, 0x07, 0x75, 0x16, 0x98, 0x61, 0xfd, 0x2a, 0x96, 0x9d,
+ 0xf4, 0xda, 0xaf, 0xcd, 0x3c, 0xf1, 0x5e, 0xcc, 0xce, 0x10,
+ 0x5d, 0x41, 0xe1, 0x42, 0x06, 0x0e, 0x71, 0x3d, 0xd5, 0x1b,
+ 0xc4, 0xdf, 0x0a, 0x52, 0xc0, 0x1a, 0xd1, 0x21, 0xc5, 0xfa,
+ 0x75, 0x78, 0xb3, 0x60, 0x42, 0xe8, 0x2d, 0xc5, 0x87, 0x99,
+ 0x7b, 0x1c, 0x14, 0x01, 0xd9, 0x92, 0xe5, 0xeb, 0xb8, 0x30,
+ 0x21, 0x74, 0xf7, 0x83, 0xa2, 0xad, 0xdc, 0x0e, 0x0a, 0xe1,
+ 0x8d, 0x49, 0x93, 0x94, 0x7a, 0x6d, 0xb6, 0x87, 0x1e, 0x99,
+ 0x2f, 0x66, 0x67, 0x08, 0xcf, 0xc1, 0x91, 0x21, 0x03, 0x07,
+ 0xff, 0x8a, 0xcc, 0x51, 0xe6, 0xb7, 0x7b, 0xf8, 0x69, 0x02,
+ 0x43, 0xa1, 0xb5, 0x99, 0x70, 0x71, 0x3d, 0xd7, 0x5b, 0xa2,
+ 0x0f, 0xad, 0xf6, 0x33, 0xd2, 0x04, 0x86, 0x81, 0xa9, 0xf1,
+ 0xe0, 0xe2, 0x59, 0x63, 0xf5, 0x7e, 0xaf, 0xd1, 0x24, 0x56,
+ 0x06, 0xc5, 0x5c, 0xba, 0x14, 0xc2, 0xf0, 0x73, 0x9b, 0x3e,
+ 0x62, 0x8d, 0x46, 0xcb, 0xa9, 0x9d, 0xbd, 0xc3, 0x99, 0x9a,
+ 0x08, 0xaa, 0x60, 0xe0, 0x1e, 0xd9, 0x18, 0x5b, 0xbe, 0xe5,
+ 0xfd, 0x03, 0xb3, 0xc9, 0x15, 0xfa, 0x2c, 0x12, 0x13, 0x96,
+ 0xdc, 0x84, 0x8f, 0xa8, 0x57, 0xff, 0x70, 0xc8, 0x08, 0xcf,
+ 0xd0, 0xda, 0x30, 0x7a, 0x83, 0x05, 0xd7, 0xd4, 0xec, 0x34,
+ 0x8d, 0xb9, 0x55, 0xfc, 0xaf, 0xdd, 0xce, 0x3a, 0x64, 0xa1,
+ 0xf5, 0x7a, 0x15, 0x89, 0x7b, 0xc7, 0x64, 0xa3, 0xd8, 0x37,
+ 0x14, 0xdb, 0x0b, 0x1a, 0x78, 0xc9, 0x65, 0xe9, 0x90, 0x6e,
+ 0x01, 0x11, 0x9c, 0x8d, 0x8c, 0xa9, 0x1a, 0xd1, 0x87, 0x7a,
+ 0x5c, 0x71, 0x16, 0x9f, 0x52, 0x33, 0x96, 0xe2, 0x75, 0x97,
+ 0x01, 0x62, 0xa1, 0xd7, 0x42, 0x5a, 0x40, 0x19, 0x86, 0x0c,
+ 0x86, 0xce, 0xc7, 0xea, 0xeb, 0x01, 0xc6, 0xc1, 0x97, 0xf5,
+ 0xbb, 0x79, 0xf4, 0x04, 0xfa, 0x61, 0x44, 0x93, 0x50, 0x19,
+ 0x02, 0x1b, 0x4b, 0x0a, 0x2c, 0xf3, 0x7e, 0x59, 0xe8, 0x6c,
+ 0x6a, 0xf2, 0xc1, 0x74, 0x2a, 0xcf, 0xfa, 0x35, 0x1f, 0x94,
+ 0x22, 0xf9, 0xf2, 0x39, 0xcc, 0xd4, 0x19, 0x84, 0x03, 0x29,
+ 0xbd, 0x3c, 0x13, 0x2f, 0x92, 0x5f, 0x99, 0xff, 0x37, 0x19,
+ 0xd0, 0xbc, 0x89, 0x17, 0x08, 0x79, 0xde, 0xa0, 0xc9, 0x69,
+ 0xb7, 0x6b, 0x3e, 0xed, 0x29, 0xf9, 0x84, 0x67, 0xff, 0x68,
+ 0xca, 0x24, 0x49, 0x53, 0x20, 0x73, 0x3a, 0xa0, 0x85, 0xeb,
+ 0xec, 0xd9, 0x98, 0x0f, 0x6f, 0xfb, 0x4f, 0xc3, 0x33, 0x85,
+ 0xd8, 0x5d, 0x6e, 0x3e, 0x8b, 0xe1, 0x60, 0xb9, 0xbc, 0xb7,
+ 0x1c, 0x8d, 0x8d, 0x9e, 0xa4, 0x76, 0x31, 0x47, 0xe3, 0xf5,
+ 0x30, 0xe7, 0xa5, 0x99, 0xa0, 0xdf, 0x8c, 0x1e, 0x24, 0xfa,
+ 0x91, 0x95, 0x27, 0xb2, 0x23, 0xbb, 0xe7, 0xa5, 0x51, 0xff,
+ 0x17, 0x8d, 0xe4, 0x57, 0xe6, 0xa7, 0x06, 0x66, 0xce, 0xa8,
+ 0xae, 0x70, 0x5c, 0xa3, 0x94, 0xdf, 0x0b, 0xe5, 0x74, 0xc4,
+ 0x63, 0x40, 0x7c, 0xb0, 0x36, 0x86, 0xfa, 0xee, 0x52, 0xa9,
+ 0x18, 0xbf, 0x2f, 0x5d, 0x07, 0xb2, 0xa1, 0x1d, 0xeb, 0x43,
+ 0xdf, 0x9c, 0x77, 0x25, 0xe9, 0xaf, 0xdd, 0x9f, 0x33, 0x35,
+ 0x97, 0x21, 0xaa, 0x4d, 0x88, 0xdf, 0x05, 0xda, 0x52, 0x11,
+ 0x4e, 0xbd, 0xc3, 0x7f, 0x67, 0xee, 0xe1, 0x5e, 0x68, 0x10,
+ 0x1f, 0x2c, 0xec, 0xc0, 0xdf, 0xda, 0xf5, 0xbb, 0x06, 0x5f,
+ 0x7b, 0x86, 0x71, 0xcd, 0xed, 0xf7, 0x65, 0xfa, 0x14, 0xee,
+ 0x8b, 0x44, 0xfb, 0xb1, 0x8a, 0x3f, 0x5f, 0x3e, 0x02, 0xbb,
+ 0x2f, 0xaa, 0xf2, 0x09, 0xfd, 0xf4, 0x06, 0x8f, 0x40, 0xb7,
+ 0x4f, 0x1f, 0x43, 0x56, 0x92, 0x28, 0xfb, 0x57, 0xa3, 0x01,
+ 0x63, 0x62, 0xc1, 0x2c, 0x76, 0x95, 0xb6, 0x3c, 0xf7, 0x4b,
+ 0xee, 0x45, 0x39, 0x0a, 0x34, 0xf2, 0x8a, 0x78, 0x4c, 0xe7,
+ 0xcd, 0x93, 0x73, 0x1c, 0xeb, 0x23, 0x7e, 0xd6, 0xbc, 0xed,
+ 0x4e, 0x24, 0x72, 0x56, 0x18, 0x79, 0xc3, 0x99, 0xff, 0x7c,
+ 0xcf, 0x9b, 0x0d, 0xa0, 0x7e, 0xb0, 0xd9, 0xd7, 0x9b, 0x4c,
+ 0x95, 0xb2, 0x78, 0x9f, 0x3a, 0x5c, 0xd3, 0xf3, 0x9d, 0x33,
+ 0x75, 0xe0, 0xba, 0x4b, 0x41, 0x0a, 0xb0, 0x86, 0xdf, 0x8d,
+ 0x24, 0xbc, 0x87, 0x28, 0xeb, 0x4c, 0xb7, 0xbd, 0x2d, 0xb8,
+ 0xa8, 0x10, 0x3d, 0x4d, 0x64, 0x8b, 0xe1, 0x9c, 0x9b, 0x40,
+ 0x7b, 0xdf, 0x32, 0x5a, 0x57, 0x6e, 0x50, 0x3e, 0x69, 0xd3,
+ 0x6a, 0x81, 0x6d, 0xfc, 0xbf, 0xf8, 0x08, 0xa9, 0xf0, 0x07,
+ 0xc0, 0x9d, 0xb9, 0x24, 0xe4, 0x18, 0xd1, 0x87, 0xa8, 0xdc,
+ 0xa3, 0x90, 0x98, 0x3a, 0xa3, 0x92, 0x3d, 0x6b, 0x7c, 0x17,
+ 0x2a, 0x4f, 0x07, 0x05, 0x46, 0x30, 0x12, 0x5c, 0xd8, 0x3b,
+ 0x61, 0xcf, 0xaa, 0x98, 0x95, 0x0d, 0xa7, 0x84, 0xbc, 0x03,
+ 0x83, 0x10, 0x0e, 0x34, 0x48, 0xa8, 0xe4, 0x28, 0xd0, 0x4e,
+ 0x6d, 0x23, 0xf3, 0x1a, 0xb2, 0x09, 0x0f, 0x70, 0x2a, 0x8c,
+ 0x3b, 0xde, 0x26, 0x75, 0x47, 0xbd, 0x84, 0x39, 0x7e, 0xd1,
+ 0x09, 0x0f, 0xca, 0x50, 0x36, 0xe4, 0xab, 0x4d, 0x2d, 0x25,
+ 0x24, 0x21, 0x5e, 0x7f, 0x5b, 0xe5, 0xae, 0x1d, 0xd4, 0xb0,
+ 0x62, 0x3f, 0xdd, 0x32, 0xef, 0x78, 0xb3, 0xd2, 0xb7, 0x65,
+ 0xd6, 0x2e, 0x15, 0x1b, 0x11, 0x90, 0x7e, 0x57, 0x4d, 0xa1,
+ 0x6a, 0x9f, 0xc9, 0x04, 0x4f, 0x4b, 0x82, 0xb0, 0x1b, 0x11,
+ 0x9d, 0xf0, 0x5a, 0xef, 0x3e, 0xd7, 0xa8, 0xc2, 0x5e, 0xf7,
+ 0xa6, 0x51, 0x0f, 0x7b, 0xa0, 0x17, 0x58, 0xd0, 0x46, 0x87,
+ 0xae, 0x44, 0x7c, 0x3f, 0x0f, 0xff, 0x38, 0xc7, 0xc8, 0xd8,
+ 0x96, 0x35, 0xa1, 0xf3, 0xf2, 0x9a, 0xd2, 0x29, 0xbe, 0x62,
+ 0x98, 0x0c, 0xd1, 0xdd, 0x45, 0x13, 0x2d, 0x33, 0x64, 0xd3,
+ 0xee, 0xf2, 0x42, 0xba, 0x3b, 0x85, 0xe2, 0xda, 0x29, 0xf3,
+ 0x11, 0x8d, 0x23, 0x39, 0xe8, 0xb3, 0xca, 0x4a, 0x31, 0xcc,
+ 0xf9, 0xd8, 0x75, 0x29, 0xc0, 0xe9, 0x9c, 0x46, 0x98, 0x3f,
+ 0x2d, 0x93, 0xd6, 0x22, 0xa1, 0x5f, 0xf2, 0x88, 0x16, 0xb5,
+ 0x1a, 0xaf, 0xb9, 0x72, 0x3f, 0x2d, 0x33, 0x73, 0x82, 0xf9,
+ 0xd7, 0x20, 0x30, 0xd5, 0x81, 0x46, 0xf3, 0xb5, 0x34, 0xb9,
+ 0x84, 0x2b, 0xf6, 0x53, 0x9e, 0x91, 0x47, 0xb3, 0xb5, 0x32,
+ 0xfb, 0x90, 0x0b, 0x9b, 0x60, 0x27, 0x8a, 0x21, 0x7a, 0x33,
+ 0xba, 0x29, 0x34, 0xc5, 0x77, 0x6f, 0x6c, 0x63, 0xe2, 0x81,
+ 0xed, 0xec, 0x31, 0x27, 0xbf, 0x13, 0xa6, 0x41, 0xa4, 0x56,
+ 0xde, 0x0b, 0x59, 0x80, 0xf4, 0x74, 0x2d, 0xa2, 0xe6, 0x65,
+ 0x4b, 0x75, 0x11, 0x13, 0xcc, 0x1f, 0x1c, 0x56, 0xce, 0x73,
+ 0x1d, 0x6e, 0xa0, 0x69, 0x5d, 0x63, 0x8e, 0x55, 0x0d, 0x7b,
+ 0x5c, 0x8c, 0x99, 0xb1, 0xb4, 0xa5, 0xe5, 0x40, 0xf4, 0xf7,
+ 0x53, 0x69, 0x02, 0x35, 0x29, 0xc3, 0x2f, 0xfa, 0x5b, 0xec,
+ 0x23, 0x56, 0x0c, 0x5a, 0x79, 0x3c, 0xe8, 0x6f, 0xc7, 0x15,
+ 0x35, 0xab, 0xbf, 0x69, 0x50, 0xbc, 0x40, 0xca, 0xd6, 0x1c,
+ 0x5c, 0x08, 0x4f, 0x7d, 0xd9, 0xf5, 0x61, 0x70, 0xc9, 0x16,
+ 0x92, 0xe1, 0xd7, 0x39, 0x3f, 0x06, 0xd1, 0xc3, 0xf4, 0x7b,
+ 0x1c, 0xd5, 0x7d, 0x18, 0x59, 0x85, 0x17, 0x06, 0xad, 0xef,
+ 0xc7, 0x28, 0x85, 0x5d, 0xfa, 0x71, 0x90, 0xb5, 0x59, 0xa0,
+ 0x2a, 0xf3, 0xd5, 0x5b, 0x3a, 0x1c, 0x2e, 0x32, 0x08, 0x96,
+ 0x41, 0x77, 0x55, 0x95, 0x45, 0xc8, 0xba, 0x60, 0x01, 0xa6,
+ 0x6b, 0x14, 0xb0, 0xa4, 0xcf, 0x35, 0x77, 0x55, 0xac, 0xb6,
+ 0xf1, 0xd5, 0xc6, 0x0d, 0xc3, 0xfb, 0xfc, 0xe7, 0x59, 0xbe,
+ 0x42, 0xfe, 0xcc, 0x53, 0x69, 0x96, 0xed, 0xbd, 0x56, 0x9e,
+ 0x46, 0x1c, 0x86, 0x31, 0xa1, 0x90, 0x16, 0x60, 0xc2, 0x59,
+ 0xe5, 0xf6, 0xc9, 0x05, 0x25, 0xe8, 0x84, 0x41, 0x11, 0xc2,
+ 0x48, 0x8a, 0x9b, 0xab, 0x79, 0x5f, 0x20, 0xd6, 0xd5, 0x6d,
+ 0xb5, 0x7b, 0x8f, 0x11, 0x72, 0x5e, 0x92, 0xcc, 0xbe, 0x9f,
+ 0xde, 0x4d, 0x3e, 0x36, 0x81, 0xb6, 0xc3, 0x04, 0x4d, 0x4c,
+ 0xe5, 0xad, 0x7b, 0xd6, 0x33, 0x54, 0x65, 0x4b, 0xfb, 0x16,
+ 0x9d, 0xde, 0x53, 0x97, 0xc8, 0xab, 0x9f, 0x7b, 0x83, 0xf8,
+ 0x67, 0xca, 0x6b, 0x41, 0x77, 0x76, 0xb9, 0x66, 0x20, 0xe1,
+ 0x0a, 0xf6, 0x08, 0x88, 0x6a, 0xe2, 0xea, 0x01, 0xd0, 0x47,
+ 0xb2, 0x56, 0xa5, 0x0e, 0xb0, 0x72,
+ },
+ {
+ /* 12 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x96, 0xca, 0xd9,
+ 0x30, 0x68, 0x2f, 0x14, 0x1a, 0x17, 0x0c, 0xca, 0x0c, 0x70,
+ 0xda, 0xbf, 0x20, 0xef, 0x57, 0x71, 0x60, 0xd0, 0x5e, 0x28,
+ 0x34, 0x2e, 0x18, 0x57, 0x18, 0xe0, 0x77, 0xbd, 0x30, 0x79,
+ 0x9d, 0xa8, 0x50, 0xb8, 0x71, 0x3c, 0x2e, 0x39, 0x14, 0x9d,
+ 0x14, 0x90, 0xad, 0x02, 0x40, 0x1d, 0xae, 0xe2, 0xc0, 0x63,
+ 0xbc, 0x50, 0x68, 0x5c, 0x30, 0xae, 0x30, 0x03, 0xee, 0xb9,
+ 0x50, 0x8b, 0x64, 0x3b, 0xf0, 0x0b, 0x93, 0x44, 0x72, 0x4b,
+ 0x3c, 0x64, 0x3c, 0x73, 0x34, 0x06, 0x60, 0xf2, 0xf9, 0x93,
+ 0xa0, 0xb3, 0xe2, 0x78, 0x5c, 0x72, 0x28, 0xf9, 0x28, 0xe3,
+ 0x99, 0x04, 0x70, 0x64, 0x33, 0x4a, 0x90, 0xdb, 0xcd, 0x6c,
+ 0x46, 0x65, 0x24, 0x33, 0x24, 0x93, 0x43, 0xbb, 0x80, 0x3a,
+ 0x9f, 0x07, 0x43, 0xc6, 0xbb, 0xa0, 0xd0, 0xb8, 0x60, 0x9f,
+ 0x60, 0x06, 0x1f, 0xb1, 0x90, 0xac, 0x55, 0xde, 0x73, 0xae,
+ 0x94, 0xb4, 0xca, 0xaf, 0x6c, 0x55, 0x6c, 0x76, 0xc5, 0x0e,
+ 0xa0, 0xd5, 0xc8, 0x76, 0x23, 0x16, 0xe5, 0x88, 0xe4, 0x96,
+ 0x78, 0xc8, 0x78, 0xe6, 0x68, 0x0c, 0xb0, 0x43, 0x02, 0xaf,
+ 0x13, 0x7e, 0xca, 0x9c, 0xfe, 0x81, 0x74, 0x02, 0x74, 0x96,
+ 0xb2, 0xb3, 0xc0, 0x27, 0x31, 0xe5, 0x83, 0xa5, 0x07, 0xf0,
+ 0xb8, 0xe4, 0x50, 0x31, 0x50, 0x05, 0xf1, 0x08, 0xd0, 0xb1,
+ 0xfb, 0x3c, 0xb3, 0xcd, 0x28, 0xe4, 0xa2, 0xf3, 0x5c, 0xfb,
+ 0x5c, 0x75, 0x2b, 0xb7, 0xe0, 0xc8, 0x66, 0x94, 0xe3, 0x75,
+ 0x59, 0xd8, 0x8c, 0xca, 0x48, 0x66, 0x48, 0xe5, 0x86, 0xb5,
+ 0xf0, 0x5e, 0xac, 0x4d, 0xd3, 0x1d, 0x76, 0xcc, 0x96, 0xdd,
+ 0x44, 0xac, 0x44, 0x95, 0x5c, 0x0a, 0xc3, 0x74, 0xfd, 0x0e,
+ 0x86, 0x4f, 0xb5, 0x83, 0x63, 0xb3, 0xc0, 0xfd, 0xc0, 0x0c,
+ 0x3e, 0xa1, 0xd3, 0xe2, 0x37, 0xd7, 0xb6, 0x27, 0x9a, 0x97,
+ 0x79, 0xa4, 0xcc, 0x37, 0xcc, 0x7c, 0xe4, 0x1e, 0xe3, 0x9b,
+ 0xaa, 0x7f, 0xe6, 0x9f, 0xeb, 0xab, 0x57, 0x9d, 0xd8, 0xaa,
+ 0xd8, 0xec, 0x49, 0x1c, 0xf3, 0x0d, 0x60, 0xa6, 0xd6, 0xf7,
+ 0xc4, 0xbf, 0x4d, 0x8a, 0xd4, 0x60, 0xd4, 0x9c, 0x93, 0xa3,
+ 0x83, 0x69, 0x53, 0xec, 0x46, 0x2c, 0x09, 0xd3, 0x0b, 0xef,
+ 0xf0, 0x53, 0xf0, 0x0f, 0xd0, 0x18, 0x93, 0xff, 0x99, 0x35,
+ 0x76, 0x44, 0x26, 0xc7, 0x11, 0xf8, 0xfc, 0x99, 0xfc, 0x7f,
+ 0x0a, 0xa7, 0xa3, 0x86, 0x04, 0x9d, 0x26, 0xfc, 0x57, 0xfb,
+ 0x3f, 0xc1, 0xe8, 0x04, 0xe8, 0xef, 0xa7, 0xa5, 0xb3, 0x10,
+ 0xce, 0x44, 0x16, 0x94, 0x78, 0xef, 0x25, 0xd6, 0xe4, 0xce,
+ 0xe4, 0x9f, 0x7d, 0x1a, 0x43, 0x4e, 0x62, 0x09, 0xc5, 0x89,
+ 0x0e, 0x23, 0xb3, 0x0b, 0xa0, 0x62, 0xa0, 0x0a, 0x21, 0x10,
+ 0x53, 0xd8, 0xa8, 0xd0, 0xf5, 0xe1, 0x21, 0x37, 0xa9, 0x1c,
+ 0xac, 0xa8, 0xac, 0x7a, 0xfb, 0xaf, 0x63, 0xa1, 0x35, 0x78,
+ 0xa5, 0x59, 0x50, 0x0b, 0x87, 0x25, 0xb8, 0x35, 0xb8, 0xea,
+ 0x56, 0xad, 0x73, 0x37, 0xff, 0xa1, 0x95, 0x31, 0x7f, 0x1f,
+ 0x9d, 0x32, 0xb4, 0xff, 0xb4, 0x9a, 0x8c, 0x12, 0x03, 0x53,
+ 0xcc, 0xeb, 0x05, 0xea, 0xb2, 0x73, 0xdb, 0x57, 0x90, 0xcc,
+ 0x90, 0x09, 0xcf, 0xa9, 0x13, 0xc5, 0x06, 0x32, 0x35, 0x82,
+ 0x9d, 0x67, 0xc1, 0x40, 0x9c, 0x06, 0x9c, 0x79, 0x15, 0x16,
+ 0x23, 0xbc, 0x9b, 0x9a, 0x65, 0x3a, 0xec, 0x5b, 0xef, 0x79,
+ 0x88, 0x9b, 0x88, 0xe9, 0xb8, 0x14, 0x33, 0x2a, 0x51, 0x43,
+ 0x55, 0x52, 0xc3, 0x4f, 0xf5, 0x6e, 0x84, 0x51, 0x84, 0x99,
+ 0x62, 0xab, 0x45, 0xe8, 0x39, 0x1c, 0xcf, 0x9e, 0xa9, 0xc5,
+ 0xc6, 0xa5, 0x43, 0x39, 0x43, 0x18, 0x7c, 0x81, 0x55, 0x7e,
+ 0xf3, 0xc5, 0xff, 0xf6, 0x86, 0xd1, 0xdc, 0xb2, 0x4f, 0xf3,
+ 0x4f, 0x68, 0xa6, 0x3e, 0x65, 0x07, 0x6e, 0x6d, 0xaf, 0x4e,
+ 0xf7, 0xed, 0xf2, 0x8b, 0x5b, 0x6e, 0x5b, 0xf8, 0x0b, 0x3c,
+ 0x75, 0x91, 0xa4, 0xb4, 0x9f, 0x26, 0xd8, 0xf9, 0xe8, 0x9c,
+ 0x57, 0xa4, 0x57, 0x88, 0xd1, 0x83, 0x05, 0xf5, 0x97, 0xfe,
+ 0x0f, 0xfd, 0x15, 0x95, 0xae, 0xf9, 0x73, 0x97, 0x73, 0x1b,
+ 0x92, 0x38, 0x15, 0x63, 0x5d, 0x27, 0x3f, 0x95, 0x3a, 0x81,
+ 0xb4, 0xee, 0x7f, 0x5d, 0x7f, 0x6b, 0x48, 0x87, 0x25, 0x1a,
+ 0xc0, 0x8f, 0x6f, 0x2d, 0x4b, 0xbd, 0x9a, 0xd7, 0x6b, 0xc0,
+ 0x6b, 0xfb, 0xe5, 0x85, 0x35, 0x8c, 0x0a, 0x56, 0x5f, 0x45,
+ 0x64, 0xa9, 0x80, 0xc0, 0x67, 0x0a, 0x67, 0x8b, 0x3f, 0x3a,
+ 0xc5, 0xd2, 0xa6, 0x1b, 0x8c, 0x58, 0x12, 0x65, 0x16, 0x1d,
+ 0x23, 0xa6, 0x23, 0x1e, 0x63, 0x30, 0xd5, 0x44, 0x6c, 0xc2,
+ 0xbc, 0x30, 0x3d, 0x71, 0x0c, 0x0a, 0x2f, 0x6c, 0x2f, 0x6e,
+ 0xb9, 0x8f, 0xe5, 0x3d, 0xf1, 0x6a, 0xec, 0x88, 0x4c, 0x4d,
+ 0x22, 0x33, 0x3b, 0xf1, 0x3b, 0xfe, 0x14, 0x8d, 0xf5, 0xab,
+ 0x3b, 0xb3, 0xdc, 0xe0, 0x63, 0x59, 0x38, 0x24, 0x37, 0x3b,
+ 0x37, 0x8e, 0xce, 0x32, 0x85, 0xcf, 0x08, 0xf9, 0x4c, 0x3b,
+ 0xae, 0x35, 0x7e, 0x41, 0x13, 0x08, 0x13, 0x1d, 0x8d, 0x89,
+ 0x95, 0x59, 0xc2, 0x20, 0x7c, 0x53, 0x81, 0x21, 0x64, 0x56,
+ 0x1f, 0xc2, 0x1f, 0x6d, 0x57, 0x36, 0xa5, 0x20, 0x5f, 0x88,
+ 0x2c, 0xeb, 0xf0, 0x1d, 0x4a, 0x6f, 0x0b, 0x5f, 0x0b, 0xfd,
+ 0xfa, 0x34, 0xb5, 0xb6, 0x95, 0x51, 0x1c, 0x83, 0xdf, 0x09,
+ 0x50, 0x78, 0x07, 0x95, 0x07, 0x8d, 0x20, 0x8b, 0x86, 0x9c,
+ 0xc4, 0x12, 0x49, 0xd1, 0x1c, 0x46, 0xa5, 0x16, 0x83, 0xc4,
+ 0x83, 0x14, 0x42, 0x20, 0x96, 0x0a, 0x0e, 0xcb, 0x79, 0xb9,
+ 0x33, 0x52, 0xbf, 0x01, 0x8f, 0x0e, 0x8f, 0x64, 0x98, 0x9f,
+ 0xa6, 0x73, 0x93, 0x63, 0x29, 0x01, 0x42, 0x6e, 0x91, 0x38,
+ 0x9b, 0x93, 0x9b, 0xf4, 0x35, 0x9d, 0xb6, 0xe5, 0x59, 0xba,
+ 0x19, 0x69, 0x6d, 0x7a, 0x8b, 0x2f, 0x97, 0x59, 0x97, 0x84,
+ 0xef, 0x22, 0xc6, 0x81, 0x6a, 0xf0, 0x89, 0xb2, 0xa0, 0x16,
+ 0xcd, 0x4a, 0xb3, 0x6a, 0xb3, 0x17, 0xac, 0x99, 0xd6, 0x17,
+ 0xa0, 0x29, 0xb9, 0xda, 0x8f, 0x02, 0xd7, 0x5d, 0xbf, 0xa0,
+ 0xbf, 0x67, 0x76, 0x26, 0xe6, 0x6e, 0x3d, 0x81, 0xe9, 0x62,
+ 0xfe, 0x3e, 0xf9, 0x64, 0xab, 0x3d, 0xab, 0xf7, 0xdb, 0x24,
+ 0xf6, 0xf8, 0xf7, 0x58, 0xd9, 0x0a, 0xd1, 0x2a, 0xe3, 0x73,
+ 0xa7, 0xf7, 0xa7, 0x87, 0x01, 0x9b, 0x06, 0xa6, 0x5b, 0x15,
+ 0x0a, 0x17, 0xa7, 0xe6, 0x75, 0xae, 0xe3, 0x5b, 0xe3, 0x12,
+ 0x5d, 0x91, 0x16, 0x30, 0x91, 0xcc, 0x3a, 0x7f, 0x88, 0xf2,
+ 0x6f, 0xb9, 0xef, 0x91, 0xef, 0x62, 0x87, 0x2e, 0x26, 0x49,
+ 0x0c, 0x64, 0x6a, 0xc7, 0xf9, 0xce, 0x41, 0x80, 0xfb, 0x0c,
+ 0xfb, 0xf2, 0x2a, 0x2c, 0x36, 0xdf, 0xc6, 0xbd, 0x5a, 0xaf,
+ 0xd6, 0xda, 0x5b, 0x97, 0xf7, 0xc6, 0xf7, 0x82, 0xf0, 0x93,
+ 0x46, 0xbb, 0xf5, 0xf7, 0xca, 0x74, 0x1b, 0xb6, 0x1d, 0xf2,
+ 0xd3, 0xf5, 0xd3, 0x11, 0xb3, 0x28, 0x56, 0x2d, 0x3f, 0x2e,
+ 0xfa, 0x1c, 0x34, 0xa2, 0x07, 0xe5, 0xdf, 0x3f, 0xdf, 0x61,
+ 0x69, 0x97, 0x66, 0x54, 0xa2, 0x86, 0xaa, 0xa4, 0x45, 0x9e,
+ 0x29, 0xdc, 0xcb, 0xa2, 0xcb, 0xf1, 0xc4, 0x95, 0x76, 0xc2,
+ 0x68, 0x5f, 0x9a, 0xcc, 0x6a, 0x8a, 0x33, 0xcb, 0xc7, 0x68,
+ 0xc7, 0x81, 0x1e, 0x2a, 0x8a, 0x13, 0x72, 0x38, 0x5d, 0xff,
+ 0x91, 0x49, 0x4f, 0x89, 0x86, 0x72, 0x86, 0x30, 0xf8, 0xc1,
+ 0x9a, 0x85, 0xb8, 0xe1, 0x6d, 0x97, 0xbe, 0x5d, 0x55, 0x9e,
+ 0x8a, 0xb8, 0x8a, 0x40, 0x22, 0x7e, 0xaa, 0xfc, 0x25, 0x49,
+ 0x3d, 0x2f, 0xcf, 0x61, 0x7b, 0xa7, 0x9e, 0x25, 0x9e, 0xd0,
+ 0x8f, 0x7c, 0xba, 0x6a, 0xef, 0x90, 0x0d, 0x47, 0xe0, 0x75,
+ 0x61, 0xb0, 0x92, 0xef, 0x92, 0xa0, 0x55, 0xc3, 0xca, 0x0e,
+ 0xdc, 0xda, 0x9d, 0x9c, 0x2d, 0x19, 0x27, 0xd5, 0xb6, 0xdc,
+ 0xb6, 0x33, 0x16, 0x78, 0xda, 0x98, 0x16, 0x03, 0xad, 0xf4,
+ 0x02, 0x0d, 0x3d, 0xc2, 0xba, 0x16, 0xba, 0x43, 0xcc, 0xc7,
+ 0xea, 0xe1, 0x8b, 0xab, 0xfd, 0x4c, 0x73, 0x31, 0x13, 0xfb,
+ 0xae, 0x8b, 0xae, 0xd3, 0x61, 0xc5, 0xfa, 0x77, 0x41, 0x72,
+ 0xcd, 0x24, 0x5c, 0x25, 0x09, 0xec, 0xa2, 0x41, 0xa2, 0xa3,
+ 0xbb, 0x7a, 0x0a, 0x29, 0xed, 0x3f, 0x1e, 0x39, 0x2a, 0xe9,
+ 0x9f, 0x31, 0xe6, 0xed, 0xe6, 0x36, 0xe7, 0x70, 0x1a, 0xbf,
+ 0x27, 0xe6, 0x2e, 0x51, 0x05, 0xfd, 0x85, 0x26, 0xea, 0x27,
+ 0xea, 0x46, 0x3d, 0xcf, 0x2a, 0xc6, 0xba, 0x4e, 0x7e, 0xe9,
+ 0x74, 0xc1, 0xab, 0x1f, 0xfe, 0xba, 0xfe, 0xd6, 0x90, 0xcd,
+ 0x3a, 0x50, 0x70, 0x97, 0x4e, 0x81, 0x5b, 0xd5, 0xb1, 0x08,
+ 0xf2, 0x70, 0xf2, 0xa6, 0x4a, 0x72, 0x4a, 0x34, 0x43, 0xdd,
+ 0xde, 0x5a, 0x96, 0xb9, 0xf7, 0x6d, 0xd6, 0x43, 0xd6, 0x35,
+ 0x09, 0xc9, 0x5a, 0xa2, 0x89, 0x04, 0xee, 0x32, 0xb9, 0xad,
+ 0xed, 0x7a, 0xda, 0x89, 0xda, 0x45, 0xd3, 0x76, 0x6a, 0xdb,
+ 0x14, 0xac, 0xbe, 0x8a, 0xc8, 0x91, 0xc3, 0x43, 0xce, 0x14,
+ 0xce, 0xd5, 0x7e, 0x74, 0x7a, 0x4d, 0xde, 0x75, 0x8e, 0xe2,
+ 0xe7, 0x85, 0xd9, 0x54, 0xc2, 0xde, 0xc2, 0xa5, 0xa4, 0xcb,
+ 0x49, 0x67, 0x8f, 0x36, 0xdb, 0xb0, 0x24, 0xca, 0x2c, 0x3a,
+ 0x46, 0x8f, 0x46, 0x3c, 0xc6, 0x60, 0x59, 0xf1, 0x45, 0xef,
+ 0xeb, 0xd8, 0x0b, 0xde, 0x36, 0x2d, 0x4a, 0x45, 0x4a, 0x4c,
+ 0x1c, 0xdf, 0x69, 0x88, 0xd8, 0x47, 0xbb, 0x60, 0x7a, 0xe2,
+ 0x18, 0x14, 0x5e, 0xd8, 0x5e, 0xdc, 0xb1, 0xdd, 0x79, 0x1e,
+ 0x12, 0x9e, 0x8b, 0x08, 0x55, 0xf6, 0x02, 0x03, 0x52, 0x12,
+ 0x52, 0xac, 0x6b, 0x62, 0x09, 0x7a, 0x21, 0xd4, 0x1b, 0xd3,
+ 0x98, 0x9a, 0x44, 0x66, 0x76, 0x21, 0x76, 0x3f, 0x28, 0xd9,
+ 0x19, 0xec, 0xeb, 0x0d, 0x2b, 0xbb, 0xb7, 0x8e, 0x5e, 0x71,
+ 0x7a, 0xeb, 0x7a, 0x4f, 0xf2, 0x66, 0x29, 0x95, 0x76, 0xa5,
+ 0x7b, 0x03, 0xc6, 0xb2, 0x70, 0x48, 0x6e, 0x76, 0x6e, 0xdf,
+ 0x5f, 0x64, 0x39, 0x03, 0xbc, 0x7c, 0x4b, 0x6b, 0xe9, 0xa6,
+ 0x6a, 0x5f, 0x62, 0xbc, 0x62, 0xaf, 0x85, 0xdb, 0xc9, 0x5d,
+ 0x10, 0x31, 0x98, 0x76, 0x9f, 0x6a, 0xfc, 0x82, 0x26, 0x10,
+ 0x26, 0x3a, 0xd9, 0xd1, 0xd9, 0xcb, 0xda, 0xe8, 0xa8, 0x1e,
+ 0xb0, 0x7e, 0xe6, 0x95, 0x2a, 0xda, 0x2a, 0x4a, 0x03, 0x6e,
+ 0xe9, 0xb2, 0x47, 0x40, 0xf8, 0xa6, 0xc1, 0x42, 0xc8, 0xac,
+ 0x3e, 0x47, 0x3e, 0xda, 0xae, 0x6c, 0xf9, 0x24, 0x8d, 0x99,
+ 0xc8, 0xce, 0xee, 0x56, 0xd2, 0xbb, 0x32, 0x8d, 0x32, 0xaa,
+ 0x74, 0xd3, 0x89, 0x40, 0xbe, 0xd3, 0x58, 0x15, 0x23, 0x3a,
+ 0x94, 0xde, 0x16, 0xbe, 0x16, 0x39, 0x37, 0x68, 0x99, 0xd6,
+ 0x74, 0x0a, 0x68, 0x7d, 0x0c, 0x2e, 0x8e, 0xc9, 0x1a, 0x74,
+ 0x1a, 0x49, 0xed, 0xd7, 0xa9, 0xaf, 0xe9, 0xa2, 0x38, 0xc5,
+ 0x7d, 0x12, 0xa0, 0xf0, 0x0e, 0xe9, 0x0e, 0xd9, 0x40, 0xd5,
+ 0xb9, 0x39, 0x23, 0x7b, 0x08, 0xad, 0x52, 0x06, 0xba, 0xe7,
+ 0x02, 0x23, 0x02, 0xa9, 0x9a, 0x6a, 0xcf, 0xfb, 0x4b, 0x24,
+ 0x92, 0x61, 0x38, 0x8c, 0x89, 0x2c, 0xc5, 0x4b, 0xc5, 0x28,
+ 0x84, 0x40, 0xdf, 0x6d, 0x81, 0xfd, 0xa2, 0x09, 0x17, 0x98,
+ 0x93, 0x3b, 0xc9, 0x81, 0xc9, 0x58, 0x5e, 0xff, 0xef, 0x14,
+ 0x1c, 0x55, 0xf2, 0xb1, 0x66, 0xa4, 0xbd, 0x02, 0xdd, 0x1c,
+ 0xdd, 0xc8, 0xf3, 0xfd, 0xff, 0x82, 0xd6, 0x8c, 0xc2, 0xd9,
+ 0x49, 0xb0, 0xa7, 0x15, 0xd1, 0xd6, 0xd1, 0xb8, 0x29, 0x42,
+ 0x8f, 0xe6, 0xe5, 0xc6, 0x52, 0x02, 0x84, 0xdc, 0xe1, 0x70,
+ 0xf5, 0xe5, 0xf5, 0x2b, 0x6a, 0xf9, 0x9f, 0x70, 0x2f, 0x1f,
+ 0x62, 0x6a, 0xab, 0xc8, 0xfb, 0x67, 0xf9, 0x2f, 0xf9, 0x5b,
+ 0xb0, 0x46, 0xaf, 0x09, 0xb2, 0xb7, 0x32, 0xd2, 0xda, 0xf4,
+ 0xd5, 0x5e, 0xed, 0xb2, 0xed, 0xcb, 0x1d, 0x44, 0xbf, 0x9f,
+ 0x78, 0x6e, 0x02, 0xba, 0xf5, 0xe0, 0xcf, 0x49, 0xe1, 0x78,
+ 0xe1, 0xbb, 0xc7, 0xfb, 0x4f, 0xc1, 0xd4, 0x23, 0xd1, 0xa7,
+ 0x83, 0x2c, 0x59, 0x94, 0xa5, 0xd4, 0xa5, 0x2e, 0x9b, 0xf1,
+ 0x5f, 0x57, 0x1e, 0xfa, 0xe1, 0xcf, 0xac, 0x38, 0x43, 0x83,
+ 0xa9, 0x1e, 0xa9, 0x5e, 0x41, 0x4e, 0x6f, 0x2e, 0x83, 0x52,
+ 0xb1, 0x77, 0xdd, 0x04, 0x6d, 0xba, 0xbd, 0x83, 0xbd, 0xce,
+ 0xec, 0x4c, 0x7f, 0xb8, 0x49, 0x8b, 0x81, 0x1f, 0xf2, 0x10,
+ 0x77, 0xad, 0xb1, 0x49, 0xb1, 0xbe, 0x36, 0xf3, 0x0f, 0xdc,
+ 0x7a, 0xc1, 0x11, 0xc4, 0x3f, 0x7c, 0x31, 0xc8, 0x95, 0x7a,
+ 0x95, 0x2d, 0x75, 0x48, 0x1f, 0x4a, 0xb0, 0x18, 0x21, 0xac,
+ 0x10, 0x68, 0x2b, 0xdf, 0x99, 0xb0, 0x99, 0x5d, 0xaf, 0xf7,
+ 0x2f, 0x33, 0x2d, 0xb0, 0x71, 0x14, 0x61, 0x54, 0x05, 0xe6,
+ 0x8d, 0x2d, 0x8d, 0xcd, 0x02, 0xf5, 0x3f, 0xa5, 0xe7, 0x69,
+ 0x41, 0x7c, 0x4e, 0x40, 0x1f, 0xf1, 0x81, 0xe7, 0x81, 0xbd,
+ 0xd8, 0x4a, 0x0c, 0x8f, 0xb6, 0x2a, 0x14, 0x2e, 0x8d, 0x0f,
+ 0xea, 0x9f, 0x05, 0xb6, 0x05, 0x24, 0xba, 0xe1, 0x1c, 0x19,
+ 0x7c, 0xf3, 0x24, 0x46, 0xa2, 0x1b, 0xf0, 0x88, 0x09, 0x7c,
+ 0x09, 0x54, 0x60, 0x5e, 0x2c, 0x60, 0xe1, 0x5b, 0x74, 0xfe,
+ 0xd3, 0x27, 0xde, 0xb1, 0x1d, 0xe1, 0x1d, 0xc4, 0xcd, 0x5c,
+ 0x3c, 0xf6, 0x2b, 0x82, 0x44, 0x96, 0xfc, 0x33, 0xc4, 0xa6,
+ 0x11, 0x2b, 0x11, 0xb4, 0x17, 0xe3, 0x4c, 0x92, 0x18, 0xc8,
+ 0xd4, 0x4d, 0x31, 0x5f, 0x82, 0xc3, 0x35, 0x18, 0x35, 0x27,
+ 0x54, 0x58, 0x5c, 0x04, 0xd2, 0x11, 0xe4, 0x25, 0x1e, 0x4b,
+ 0x98, 0xd4, 0x39, 0xd2, 0x39, 0x57, 0x8e, 0xe7, 0x6c, 0x7d,
+ 0x4f, 0xb9, 0xb4, 0x9d, 0x6f, 0x77, 0xb6, 0xed, 0x2d, 0x4f,
+ 0x2d, 0xc7, 0x23, 0xe5, 0x7c, 0xeb, 0x85, 0x60, 0x84, 0xf5,
+ 0x40, 0x63, 0xac, 0xfa, 0x21, 0x85, 0x21, 0xb7, 0xf9, 0x5a,
+ 0x8c, 0xb5, 0x29, 0x2d, 0x57, 0xe8, 0x36, 0xaf, 0x3a, 0x27,
+ 0x65, 0x29, 0x65, 0x22, 0xa5, 0x50, 0x9c, 0x23, 0xe3, 0xf4,
+ 0x67, 0x80, 0x19, 0xbb, 0x20, 0x30, 0x69, 0xe3, 0x69, 0x52,
+ 0x7f, 0xef, 0xac, 0x5a, 0x7e, 0x5c, 0x37, 0x38, 0x68, 0x87,
+ 0x0e, 0x09, 0x7d, 0x7e, 0x7d, 0xc2, 0xd2, 0xed, 0xbc, 0xcc,
+ 0xb4, 0x85, 0x07, 0x50, 0x47, 0x93, 0x14, 0x1e, 0x71, 0xb4,
+ 0x71, 0xb2, 0x08, 0x52, 0xcc, 0xa8, 0x87, 0xcf, 0x97, 0x8b,
+ 0x8a, 0xff, 0x52, 0x7b, 0x55, 0x87, 0x55, 0x21, 0x4b, 0xe9,
+ 0xdc, 0x3e, 0x4d, 0x16, 0xa7, 0xe3, 0xa5, 0xeb, 0x48, 0x6c,
+ 0x59, 0x4d, 0x59, 0x51, 0x91, 0x56, 0xec, 0x47, 0xd0, 0xbe,
+ 0xf7, 0x5b, 0xd4, 0xd7, 0x66, 0x55, 0x4d, 0xd0, 0x4d, 0xc1,
+ 0x3c, 0x54, 0xfc, 0xd1, 0x1a, 0x67, 0xc7, 0x33, 0xfb, 0xc3,
+ 0x7c, 0x42, 0x41, 0x1a, 0x41, 0xb1, 0xe6, 0xeb, 0xd7, 0x26,
+ 0xe4, 0x70, 0xba, 0x3d, 0xe1, 0x92, 0x9e, 0xd1, 0xcf, 0xe4,
+ 0xcf, 0x60, 0x33, 0x41, 0xc7, 0xb0, 0x2e, 0xa9, 0x8a, 0x55,
+ 0xce, 0x86, 0x84, 0xc6, 0xc3, 0x2e, 0xc3, 0x10, 0xe9, 0xfe,
+ 0xf7, 0xc9, 0xb3, 0x01, 0xda, 0xed, 0xbf, 0xba, 0xaa, 0xff,
+ 0xd7, 0xb3, 0xd7, 0x80, 0x44, 0xfc, 0xe7, 0x5f, 0x79, 0xd8,
+ 0xea, 0x85, 0x90, 0xae, 0xb0, 0xe8, 0xdb, 0x79, 0xdb, 0xf0,
+ 0x9e, 0x43, 0x97, 0x3b, 0x4a, 0x92, 0x7a, 0x5e, 0x5d, 0xc2,
+ 0xf6, 0x8d, 0xff, 0x4a, 0xff, 0x63, 0xdd, 0xf8, 0x87, 0xad,
+ 0x80, 0x4b, 0x4a, 0x36, 0x72, 0xd6, 0xec, 0x9a, 0xf3, 0x80,
+ 0xf3, 0x13, 0x07, 0x47, 0xb7, 0xd4, 0x1d, 0xe3, 0x1a, 0x8e,
+ 0x03, 0xea, 0xc2, 0xa3, 0xe7, 0x1d, 0xe7, 0x83, 0xaa, 0x45,
+ 0xa7, 0x42, 0xd7, 0x3a, 0x2a, 0xe6, 0x2c, 0xfe, 0xd8, 0xb4,
+ 0xeb, 0xd7, 0xeb, 0xf3, 0x70, 0xfa, 0x57, 0x1c, 0x7b, 0x77,
+ 0xf9, 0xfb, 0x5a, 0x32, 0x4e, 0x69, 0xaf, 0x7b, 0xaf, 0x66,
+ 0x2c, 0xf0, 0x47, 0x8a, 0xb1, 0xae, 0xc9, 0x93, 0x75, 0x26,
+ 0x54, 0x7e, 0xa3, 0xb1, 0xa3, 0x16, 0xf6, 0x4f, 0x77, 0xf3,
+ 0x2c, 0x06, 0x99, 0x2b, 0x04, 0x1a, 0x7a, 0x47, 0xb7, 0x2c,
+ 0xb7, 0x86, 0x5b, 0x4d, 0x67, 0x65, 0xe6, 0xdf, 0xa9, 0x43,
+ 0x2b, 0x0e, 0x60, 0x50, 0xbb, 0xe6, 0xbb, 0xf6, 0x81, 0xf2,
+ 0x17, 0x01, 0xd5, 0x95, 0x39, 0x98, 0xe6, 0x62, 0x26, 0x35,
+ 0x9f, 0xd5, 0x9f, 0x65, 0xc2, 0x49, 0x07, 0x97, 0x1f, 0x4c,
+ 0x09, 0xf0, 0xc9, 0x76, 0x3c, 0x22, 0x93, 0x1f, 0x93, 0x15,
+ 0x18, 0xf6, 0x37, 0xee, 0x82, 0xe4, 0x59, 0x48, 0xb8, 0x4a,
+ 0x12, 0x1b, 0x87, 0x82, 0x87, 0x85, 0xb5, 0xf4, 0x27, 0x78,
+ 0x48, 0x3d, 0x69, 0x20, 0x97, 0x5e, 0x08, 0x0c, 0x8b, 0x48,
+ 0x8b, 0xf5, 0x6f, 0x4b, 0x14, 0x52, 0x19, 0x7e, 0x3c, 0x72,
+ 0x54, 0x11, 0xfd, 0x62, 0x0f, 0x19, 0x0f, 0x6c, 0x0d, 0xe0,
+ 0x04, 0xc4, 0xd3, 0xa7, 0x0c, 0x1a, 0x7b, 0x05, 0xe7, 0x75,
+ 0x03, 0xd3, 0x03, 0x1c, 0xd7, 0x5f, 0x34, 0xbd, 0x4e, 0x0f,
+ 0x5c, 0xa2, 0x0a, 0x39, 0xc9, 0x4c, 0x17, 0x4e, 0x17, 0x8c,
+ 0x7a, 0x5d, 0x24, 0x2b, 0x84, 0xd6, 0x6c, 0xca, 0x25, 0x2d,
+ 0xd3, 0x5b, 0x1b, 0x84, 0x1b, 0xfc, 0xa0, 0xe2, 0x54, 0x4f,
+ 0xb7, 0x9c, 0xfc, 0x11, 0xe8, 0x41, 0x95, 0x3e, 0x3f, 0xb7,
+ 0x3f, 0x6f, 0xe3, 0x59, 0x44, 0xd9, 0x7d, 0x45, 0xcc, 0x79,
+ 0xc7, 0x55, 0x8f, 0x29, 0x33, 0x7d, 0x33, 0x1f, 0x39, 0xe6,
+ 0x74, 0xa0, 0xe0, 0xed, 0x9c, 0xc1, 0xb6, 0x69, 0xa1, 0x10,
+ 0x27, 0xe0, 0x27, 0x8f, 0x94, 0xe4, 0x64, 0x36, 0x2a, 0x34,
+ 0xac, 0xa9, 0x99, 0x7d, 0xbb, 0x07, 0x2b, 0x2a, 0x2b, 0xff,
+ 0x4e, 0x5b, 0x94, 0x68, 0x86, 0x79, 0x7f, 0xb4, 0xef, 0xb1,
+ 0x2d, 0xda, 0x6f, 0x86, 0x6f, 0x6a, 0x12, 0x51, 0x84, 0xfe,
+ 0x4c, 0xa0, 0x4f, 0xdc, 0xc0, 0xa5, 0x37, 0xcd, 0x63, 0x4c,
+ 0x63, 0x1a, 0xc8, 0xee, 0xb4, 0x87, 0xd1, 0x08, 0x1f, 0x64,
+ 0xb1, 0x99, 0x19, 0xf4, 0x77, 0xd1, 0x77, 0x8a, 0x65, 0xec,
+ 0xa4, 0x11, 0x1b, 0xd1, 0x2f, 0x0c, 0x9e, 0x8d, 0x03, 0xe3,
+ 0x7b, 0x1b, 0x7b, 0xfa, 0xbf, 0x53, 0xd4, 0x75, 0x28, 0x9b,
+ 0xbf, 0xd7, 0x53, 0xe1, 0x45, 0x86, 0x5f, 0x28, 0x5f, 0x69,
+ 0xfc, 0xe8, 0xc4, 0xe3, 0xe2, 0x42, 0x8f, 0xbf, 0x7c, 0xf5,
+ 0x5f, 0x91, 0x53, 0xe2, 0x53, 0x19, 0x26, 0x57, 0xf4, 0x9a,
+ 0x7f, 0xea, 0xdf, 0x07, 0x0d, 0xc9, 0x71, 0xa8, 0x47, 0x7f,
+ 0x47, 0x89, 0x8b, 0x55, 0xe4, 0x0c, 0xb5, 0x33, 0xef, 0x6f,
+ 0x22, 0xdd, 0x6b, 0xbf, 0x4b, 0xb5, 0x4b, 0xf9, 0x51, 0xea,
+ 0x92, 0xce, 0xdd, 0x6c, 0x75, 0xa3, 0x48, 0x57, 0x58, 0x74,
+ 0x8c, 0xdd, 0x8c, 0x78, 0x4f, 0xc0, 0x82, 0x58, 0x17, 0xb5,
+ 0x45, 0xcb, 0x67, 0x43, 0x42, 0x63, 0x80, 0x17, 0x80, 0x08,
+ 0x95, 0x7f, 0xb2, 0x21, 0x8a, 0x1d, 0x15, 0x73, 0x16, 0x7f,
+ 0x6c, 0x5a, 0x94, 0x8a, 0x94, 0x98, 0x38, 0x7d, 0xa2, 0xb7,
+ 0x40, 0xc4, 0x25, 0x1b, 0x39, 0x6b, 0x76, 0x4d, 0x98, 0x40,
+ 0x98, 0xe8, 0xe2, 0xc2, 0xd2, 0xd3, 0x73, 0x8e, 0xb5, 0xc0,
+ 0xf4, 0x07, 0x30, 0x28, 0xbc, 0x73, 0xbc, 0x7b, 0xa1, 0x79,
+ 0xc2, 0x45, 0xb9, 0x57, 0x85, 0xa8, 0xdb, 0x13, 0x2a, 0x3f,
+ 0xb0, 0xb9, 0xb0, 0x0b, 0x7b, 0xc6, 0xf2, 0x3c, 0x24, 0xff,
+ 0xd5, 0x10, 0xaa, 0x2f, 0x04, 0x06, 0xa4, 0x24, 0xa4, 0x9b,
+ 0xd6, 0xc4, 0xe2, 0xaa, 0xee, 0x26, 0xe5, 0x78, 0x85, 0x3b,
+ 0x1e, 0x11, 0xa8, 0xee, 0xa8, 0xeb, 0x0c, 0x7b, 0x12, 0xf4,
+ 0x42, 0x6b, 0x36, 0x65, 0xf3, 0xf7, 0x88, 0xcc, 0xec, 0x42,
+ 0xec, 0x7e, 0x50, 0x71, 0x02, 0x62, 0x88, 0xb2, 0x06, 0x0d,
+ 0xdc, 0xe3, 0x92, 0xdb, 0xe0, 0x88, 0xe0, 0x0e, 0x8a, 0xce,
+ 0x32, 0x1b, 0x15, 0x1a, 0x56, 0xb5, 0xad, 0xdf, 0xbc, 0xe2,
+ 0xf4, 0x15, 0xf4, 0x9e, 0x27, 0xcc, 0x22, 0x8d, 0xdf, 0xc3,
+ 0x66, 0xdd, 0x82, 0xcb, 0xa6, 0xf5, 0xf8, 0xdf, 0xf8, 0xee,
+ 0xfd, 0x73, 0x52, 0xe9, 0xec, 0x89, 0xf6, 0x06, 0x4f, 0xa7,
+ 0xe0, 0x90, 0xdc, 0xec, 0xdc, 0x7d, 0xbe, 0xc8, 0x42, 0x7f,
+ 0x26, 0x50, 0xc6, 0x6e, 0x60, 0xb3, 0xfa, 0x87, 0xd0, 0x26,
+ 0xd0, 0x0d, 0x64, 0x77, 0x72, 0x06, 0xbb, 0xf8, 0x96, 0xd6,
+ 0x11, 0x8f, 0xd4, 0xbe, 0xc4, 0xbb, 0xc4, 0x9d, 0xc9, 0x75,
+ 0x62, 0x90, 0x71, 0x21, 0xa6, 0xbe, 0x3e, 0x9b, 0xce, 0xa9,
+ 0xc8, 0x71, 0xc8, 0xed, 0x13, 0xca, 0x51, 0xba, 0x20, 0x62,
+ 0xf3, 0xec, 0xfd, 0xd4, 0x3b, 0xc7, 0x4c, 0x20, 0x4c, 0x74,
+ 0x71, 0x61, 0x41, 0x2c, 0xea, 0xbb, 0xc3, 0x84, 0xd2, 0xc0,
+ 0x21, 0xd0, 0x40, 0xea, 0x40, 0x04, 0xab, 0xde, 0x71, 0x55,
+ 0x77, 0x13, 0x93, 0x3c, 0xa3, 0xfc, 0x0f, 0xe9, 0x54, 0x77,
+ 0x54, 0x94, 0x06, 0xdc, 0x61, 0xc3, 0xbd, 0xca, 0xa3, 0x54,
+ 0x8c, 0xe8, 0x15, 0xfe, 0x58, 0xbd, 0x58, 0xe4, 0xdc, 0x63,
+ 0x11, 0xa7, 0x8e, 0x80, 0x33, 0x8f, 0x41, 0x84, 0x53, 0x9b,
+ 0x7c, 0x8e, 0x7c, 0x77, 0x9f, 0xd8, 0x01, 0x31, 0x44, 0x59,
+ 0x03, 0xe7, 0x6e, 0x90, 0x49, 0x8c, 0x70, 0x44, 0x70, 0x07,
+ 0x45, 0x67, 0x31, 0x48, 0xd9, 0xf1, 0x53, 0x5f, 0x1f, 0xac,
+ 0x67, 0xb5, 0x64, 0xd9, 0x64, 0x97, 0xe8, 0x65, 0x21, 0xde,
+ 0x13, 0x28, 0x63, 0x37, 0x30, 0xb8, 0x7d, 0xa2, 0x68, 0x13,
+ 0x68, 0xe7, 0x32, 0xda, 0xd1, 0x80, 0xbf, 0x65, 0xb0, 0x2a,
+ 0x46, 0x74, 0xeb, 0x7f, 0x2c, 0xbf, 0x2c, 0x72, 0x6e, 0xd0,
+ 0xc1, 0x16, 0x75, 0xbc, 0x80, 0x42, 0x69, 0x60, 0xf1, 0x68,
+ 0x20, 0x75, 0x20, 0x02, 0xb4, 0x6f, 0xf1, 0x6f, 0xe8, 0x14,
+ 0xd0, 0xfa, 0x18, 0x5c, 0xdf, 0x51, 0x34, 0xe8, 0x34, 0x92,
+ 0x19, 0x6d, 0xe1, 0xf9, 0x22, 0xcd, 0xe0, 0x92, 0x37, 0x48,
+ 0xc5, 0x46, 0x38, 0x22, 0x38, 0xe2, 0xc3, 0xd2, 0x91, 0x9d,
+ 0x11, 0x87, 0x70, 0x49, 0xfa, 0x24, 0x83, 0x23, 0x1c, 0x11,
+ 0x1c, 0x71, 0x80, 0x69, 0x81, 0x0b, 0xdb, 0x5e, 0x40, 0x21,
+ 0xd5, 0x30, 0x99, 0x34, 0x10, 0xdb, 0x10, 0x01, 0x5a, 0xd6,
+ 0xb1, 0x72, 0x46, 0xf6, 0x10, 0x99, 0xa4, 0x0c, 0xb7, 0x0d,
+ 0x04, 0x46, 0x04, 0x91, 0xf7, 0xd4, 0xa1, 0xe4, 0x8c, 0x2f,
+ 0x20, 0xf1, 0x8b, 0x18, 0xad, 0x1a, 0x08, 0x8c, 0x08, 0xe1,
+ 0x2d, 0x6b, 0x5d, 0x35, 0x96, 0x48, 0xe7, 0xc2, 0x70, 0xdb,
+ 0xd1, 0x58, 0x49, 0x96, 0x49, 0x50, 0xcb, 0x80, 0x4d, 0xa3,
+ 0x5c, 0x91, 0xd7, 0xaa, 0x5f, 0xcf, 0xcb, 0x4f, 0x45, 0x5c,
+ 0x45, 0x20, 0x11, 0x3f, 0x7d, 0xda, 0xc1, 0x39, 0x87, 0x12,
+ 0x2e, 0xf3, 0xe5, 0x76, 0x51, 0xc1, 0x51, 0xb0, 0xbc, 0x3d,
+ 0x6d, 0x4c, 0x0b, 0xe0, 0xb7, 0x7a, 0x01, 0xe7, 0xff, 0x61,
+ 0x5d, 0x0b, 0x5d, 0xc0, 0x66, 0x82, 0x1d, 0x28, 0x38, 0xaa,
+ 0x27, 0xa1, 0xcc, 0x8b, 0xb9, 0x04, 0x79, 0x38, 0x79, 0x53,
+ 0x25, 0x39, 0x0d, 0xbe, 0xf2, 0x73, 0x17, 0xc9, 0xe3, 0x9f,
+ 0xa3, 0x13, 0x75, 0xf2, 0x75, 0x23, 0xff, 0x86, 0x3d, 0xc7,
+ 0x6f, 0xdb, 0x47, 0x71, 0x92, 0xa3, 0x8d, 0x2a, 0x61, 0x6f,
+ 0x61, 0xb3, 0x52, 0x84, 0x2d, 0x51, 0xa5, 0x02, 0x77, 0x19,
+ 0xbd, 0xb7, 0x97, 0x3d, 0x6d, 0xa5, 0x6d, 0xc3, 0x88, 0x3b,
+ 0xdd, 0x0f, 0x09, 0x4f, 0xa4, 0x04, 0xcb, 0x7b, 0x01, 0xe0,
+ 0x29, 0x09, 0x29, 0x56, 0xd4, 0x31, 0xcd, 0x99, 0xc3, 0x96,
+ 0x94, 0x6c, 0xe4, 0x6f, 0x1b, 0xf7, 0x25, 0xc3, 0x25, 0x26,
+ 0x0e, 0x8e, 0xfd, 0xe0, 0x5e, 0x3e, 0xc4, 0xd4, 0x95, 0x53,
+ 0x35, 0xce, 0x31, 0x5e, 0x31, 0xb6, 0xa3, 0x8c, 0xed, 0x76,
+ 0x94, 0xe7, 0xf4, 0xbc, 0xba, 0x47, 0x2f, 0xd9, 0x3d, 0x94,
+ 0x3d, 0xc6, 0x79, 0x33, 0x9d, 0x12, 0xa7, 0xad, 0x64, 0x67,
+ 0x77, 0x2b, 0x69, 0xbc, 0x19, 0xa7, 0x19, 0x55, 0x3a, 0x88,
+ 0x8d, 0x84, 0x6d, 0x74, 0x54, 0x0f, 0x58, 0x3f, 0x73, 0xab,
+ 0x15, 0x6d, 0x15, 0x25, 0xe0, 0x37, 0xbd, 0xfd, 0xf0, 0xdc,
+ 0x04, 0xb7, 0x29, 0x03, 0x5d, 0x92, 0x01, 0xf0, 0x01, 0xb5,
+ 0x4d, 0x35, 0xad, 0x6b, 0x3a, 0x05, 0x34, 0xdf, 0x06, 0x17,
+ 0x47, 0x85, 0x0d, 0x3a, 0x0d, 0xc5, 0x97, 0x8a, 0x9e, 0x41,
+ 0x6b, 0x46, 0x61, 0x8d, 0xc5, 0x58, 0xb2, 0xeb, 0x89, 0x6b,
+ 0x89, 0x5c, 0xf5, 0x21, 0x8e, 0xd7, 0xa1, 0x9f, 0x51, 0xe5,
+ 0xea, 0x4c, 0xa8, 0xfc, 0x85, 0xa1, 0x85, 0x2c, 0x2f, 0x9e,
+ 0xbe, 0xae, 0x3c, 0x37, 0x01, 0x5d, 0x9b, 0x70, 0x86, 0xc5,
+ 0x91, 0x3c, 0x91, 0xbc, 0x82, 0x9c, 0xae, 0x38, 0xf6, 0xee,
+ 0x31, 0x35, 0xb4, 0x64, 0x9c, 0xd2, 0x9d, 0xf6, 0x9d, 0xcc,
+ 0x58, 0x23, 0xde, 0x5c, 0xc5, 0xa4, 0xa1, 0xee, 0x79, 0x08,
+ 0xda, 0xb7, 0xb9, 0xc5, 0xb9, 0x5f, 0x1b, 0x98, 0xce, 0xca,
+ 0x0f, 0x7d, 0x91, 0x86, 0x56, 0x1c, 0xc0, 0xa0, 0xb5, 0x0f,
+ 0xb5, 0x2f, 0xc1, 0x27, 0xfe, 0xb3, 0x92, 0xd5, 0xc1, 0x3e,
+ 0x27, 0x20, 0xee, 0x99, 0xa1, 0x92, 0xa1, 0xbf, 0x6c, 0x25,
+ 0xee, 0x25, 0x58, 0x0c, 0xf1, 0x56, 0x08, 0x34, 0xf4, 0x8e,
+ 0xad, 0x58, 0xad, 0xcf, 0xb6, 0x9a, 0x1e, 0x7b, 0xf4, 0x41,
+ 0x22, 0x4b, 0x7e, 0xf8, 0x62, 0x53, 0xe9, 0xf4, 0xe9, 0x5a,
+ 0xea, 0x90, 0x0e, 0xed, 0x3e, 0x98, 0x12, 0x23, 0x51, 0xec,
+ 0x78, 0x44, 0xe5, 0x3e, 0xe5, 0x2a, 0x30, 0x2f, 0x3e, 0x94,
+ 0xa3, 0x30, 0x42, 0x9b, 0x20, 0xd0, 0x56, 0x7d, 0xf1, 0xa3,
+ 0xf1, 0xba, 0x9d, 0x2d, 0x2e, 0x02, 0x69, 0xe9, 0x72, 0xf3,
+ 0x0f, 0xc4, 0x4c, 0x6a, 0xfd, 0x69, 0xfd, 0xca, 0x47, 0x92,
+ 0x5e, 0x66, 0x5a, 0xa3, 0xe2, 0x28, 0xc2, 0xa8, 0x0a, 0x0f,
+ 0xd9, 0x5a, 0xd9, 0x59, 0x04, 0x29, 0x4e, 0xf0, 0x90, 0x7a,
+ 0xd2, 0x40, 0xed, 0xbc, 0x10, 0x18, 0xd5, 0x90, 0xd5, 0x29,
+ 0xde, 0x96, 0x7e, 0x89, 0x0d, 0xd2, 0x82, 0xf8, 0x9c, 0x80,
+ 0x3e, 0x21, 0xc1, 0x0d, 0xc1, 0xb9, 0x73, 0x94, 0x6e, 0x1f,
+ 0xc7, 0x0b, 0xb2, 0x90, 0xb3, 0x94, 0x24, 0x36, 0xcd, 0xc7,
+ 0xcd, 0xc9, 0xa9, 0x2b, 0x18, 0xdd, 0xaf, 0x54, 0x28, 0x5c,
+ 0xd9, 0x1e, 0x17, 0xfd, 0x0a, 0xaf, 0x0a, 0x48, 0xb7, 0x01,
+ 0x08, 0x4b, 0x65, 0x8d, 0x18, 0x34, 0xf6, 0x0a, 0x0d, 0xea,
+ 0x06, 0x65, 0x06, 0x38, 0x6d, 0xbe, 0x38, 0x32, 0xf8, 0x25,
+ 0x48, 0x8c, 0x87, 0x36, 0x23, 0xd3, 0x12, 0xf8, 0x12, 0xa8,
+ 0xc0, 0xbc, 0x28, 0xa4, 0x32, 0xfc, 0x78, 0xe4, 0xa8, 0x22,
+ 0x39, 0xc4, 0x1e, 0x32, 0x1e, 0xd8, 0x1a, 0x03, 0x58, 0xc0,
+ 0x01, 0xb6, 0xe8, 0x3f, 0x65, 0x4e, 0x7f, 0xa1, 0x3a, 0x01,
+ 0x3a, 0x4b, 0x59, 0xb8, 0x48, 0x56, 0xcb, 0x6f, 0xd8, 0x57,
+ 0x4a, 0x5a, 0x65, 0xb6, 0x36, 0xcb, 0x36, 0x3b, 0x83, 0x07,
+ 0x78, 0x2f, 0x56, 0xc7, 0x88, 0xef, 0x3b, 0x66, 0x4b, 0x8f,
+ 0x22, 0x56, 0x22, 0xab, 0x2e, 0x05, 0x68, 0xb9, 0x9c, 0x1e,
+ 0xb8, 0x87, 0x14, 0x72, 0x51, 0x98, 0x2e, 0x9c, 0x2e, 0xdb,
+ 0xf4, 0xba, 0x98, 0xe7, 0x30, 0x53, 0x6b, 0x9a, 0x62, 0xbe,
+ 0xc7, 0x45, 0x6a, 0x30, 0x6a, 0x4e, 0xa8, 0xb0, 0x88, 0x71,
+ 0xfa, 0x8a, 0x5b, 0xf2, 0x4d, 0xaa, 0xdd, 0x52, 0x66, 0xfa,
+ 0x66, 0x3e, 0x72, 0x0f, 0xb8, 0x08, 0x67, 0x22, 0x0b, 0x4a,
+ 0x3c, 0x96, 0xf3, 0x6b, 0x72, 0x67, 0x72, 0xae, 0xdf, 0x0d,
+ 0xa8, 0x9e, 0xad, 0xfb, 0x3b, 0x22, 0x13, 0x82, 0xe9, 0x7c,
+ 0x7e, 0xad, 0x7e, 0xde, 0x05, 0xb2, 0xd8, 0xfa, 0x9e, 0xb1,
+ 0xab, 0xf9, 0xde, 0xee, 0xaf, 0x19, 0x5a, 0x9e, 0x5a, 0x4d,
+ 0x46, 0x09, 0xc8, 0x6c, 0x54, 0x68, 0x9b, 0x91, 0xf1, 0xfa,
+ 0xb5, 0x0e, 0x56, 0x54, 0x56, 0x3d, 0x9c, 0xb6, 0xf8, 0x15,
+ 0xc9, 0xc0, 0xcb, 0x29, 0x80, 0xc6, 0x9b, 0x37, 0x42, 0xc9,
+ 0x42, 0xad, 0x31, 0xb4, 0xe8, 0x83, 0x03, 0x19, 0xfb, 0x41,
+ 0xaf, 0xd2, 0x81, 0x20, 0x4e, 0x03, 0x4e, 0xdd, 0xeb, 0x0b,
+ 0xdb, 0xa9, 0x52, 0x5a, 0xae, 0x13, 0x6c, 0x9d, 0x74, 0x4e,
+ 0xca, 0x52, 0xca, 0x44, 0x89, 0xa0, 0xcb, 0x3f, 0x98, 0x83,
+ 0x9e, 0x7b, 0x43, 0x89, 0x6e, 0x59, 0xc6, 0x98, 0xc6, 0x34,
+ 0x53, 0x1f, 0xfb, 0x46, 0x05, 0x2b, 0xce, 0xc3, 0x32, 0xb5,
+ 0x40, 0x60, 0xd2, 0x05, 0xd2, 0xa4, 0xfe, 0x1d, 0xeb, 0xd0,
+ 0xcf, 0xf2, 0xfe, 0xab, 0x1d, 0xa1, 0x5a, 0x77, 0xde, 0xcf,
+ 0xde, 0xd4, 0x24, 0xa2, 0x9b, 0xb4, 0xfc, 0xb8, 0x6e, 0x70,
+ 0xd0, 0xcd, 0x1c, 0x12, 0xfa, 0xfc, 0xfa, 0x47, 0x67, 0x19,
+ 0x8b, 0x22, 0x36, 0x61, 0x5e, 0x18, 0xff, 0xd9, 0x06, 0x05,
+ 0xf6, 0x36, 0xf6, 0x37, 0xbd, 0xa6, 0xbb, 0x5b, 0xab, 0xc9,
+ 0x0e, 0xa0, 0x8e, 0xe5, 0x28, 0x3c, 0xe2, 0xab, 0xe2, 0xa7,
+ 0x10, 0xa4, 0xab, 0xcd, 0x61, 0x10, 0x3e, 0xc8, 0xa1, 0xf1,
+ 0x32, 0x2b, 0xee, 0x61, 0xee, 0xd7, 0xca, 0x1b, 0x5b, 0x93,
+ 0xcd, 0x5d, 0xed, 0xd5, 0xd7, 0x3d, 0xa4, 0xf6, 0xaa, 0xcd,
+ 0xaa, 0x42, 0x96, 0x11, 0x4b, 0x05, 0x07, 0x84, 0xdd, 0xbd,
+ 0xf8, 0x29, 0xbe, 0xe1, 0xa6, 0x07, 0xa6, 0x32, 0x4c, 0xae,
+ 0x7b, 0x7c, 0x9a, 0x2c, 0x8d, 0x05, 0x89, 0x15, 0x90, 0xd8,
+ 0xb2, 0x9a, 0xb2, 0xa2, 0xe1, 0xac, 0x6b, 0xea, 0x50, 0xf5,
+ 0xbd, 0x6d, 0xa6, 0x01, 0x8a, 0xcf, 0xbe, 0x50, 0xbe, 0xd2,
+ 0x3b, 0x13, 0x1b, 0x8e, 0x63, 0xbf, 0x2d, 0xb6, 0x6b, 0x6d,
+ 0xcc, 0xaa, 0x9a, 0x63, 0x9a, 0x41, 0x78, 0xa8, 0x0b, 0x18,
+ 0xa9, 0x66, 0x1d, 0xde, 0x44, 0x79, 0xd6, 0xbd, 0x96, 0xa9,
+ 0x96, 0x31, 0xa2, 0x17, 0x3b, 0x61, 0x34, 0xce, 0x4d, 0x66,
+ 0x35, 0x45, 0xf8, 0x84, 0x82, 0x34, 0x82, 0xa1, 0x0f, 0x15,
+ 0x2b, 0xf7, 0xfe, 0x17, 0x7d, 0x0e, 0x1a, 0x51, 0xe2, 0x93,
+ 0x8e, 0xfe, 0x8e, 0xd1, 0xd5, 0xaa,
+ },
+ {
+ /* 13 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x74, 0x75, 0xd0,
+ 0x5e, 0xbe, 0xb8, 0x87, 0x4e, 0x62, 0xec, 0x6b, 0x10, 0x87,
+ 0xc6, 0x74, 0xc9, 0xe8, 0xea, 0x63, 0xbc, 0xbf, 0xb3, 0xcd,
+ 0x9c, 0xc4, 0x1b, 0xd6, 0x20, 0xcd, 0x4f, 0xe8, 0x4c, 0x9c,
+ 0x9f, 0xb3, 0xe2, 0x01, 0x0b, 0x4a, 0xd2, 0xa6, 0xf7, 0xbd,
+ 0x30, 0x4a, 0x89, 0x9c, 0x51, 0x13, 0x17, 0xc6, 0xbb, 0xbd,
+ 0xa5, 0x59, 0xfb, 0x4b, 0x36, 0x6f, 0x40, 0x59, 0x9e, 0x13,
+ 0xd4, 0x67, 0x62, 0x16, 0xe5, 0x03, 0x1d, 0xde, 0xb5, 0x29,
+ 0xda, 0x04, 0x50, 0xde, 0x58, 0x67, 0x98, 0xfb, 0xfd, 0xa5,
+ 0x07, 0x02, 0x16, 0x94, 0x67, 0x8f, 0x2d, 0xb9, 0x60, 0x94,
+ 0xd1, 0xfb, 0x1d, 0x8f, 0x88, 0x75, 0x59, 0xbc, 0xae, 0x13,
+ 0x29, 0xed, 0xc1, 0xd2, 0x70, 0x13, 0x17, 0x8f, 0xa2, 0x26,
+ 0x2e, 0x4f, 0xb5, 0xb9, 0x89, 0xb2, 0x35, 0x96, 0x6c, 0xde,
+ 0x80, 0xb2, 0xff, 0x26, 0x27, 0x52, 0x5b, 0x9f, 0xeb, 0x07,
+ 0x31, 0x35, 0x7b, 0xf4, 0x80, 0xb5, 0x90, 0x35, 0x39, 0x52,
+ 0x6b, 0xce, 0xc4, 0x2c, 0x09, 0x06, 0x3a, 0x7f, 0xa9, 0x52,
+ 0x77, 0x08, 0xa0, 0x7f, 0xb0, 0xce, 0xee, 0xba, 0xb1, 0xfc,
+ 0x57, 0xb8, 0x82, 0xf8, 0xe7, 0x30, 0x9b, 0x63, 0xb0, 0xf8,
+ 0x76, 0xba, 0xf3, 0x35, 0x39, 0x89, 0x0e, 0x04, 0x2c, 0xeb,
+ 0xce, 0xdd, 0x5a, 0xb1, 0xc0, 0xeb, 0x61, 0x35, 0x76, 0x41,
+ 0x4c, 0x59, 0x50, 0xba, 0x94, 0x6c, 0x80, 0xbf, 0xb6, 0xda,
+ 0xd0, 0x6c, 0xa7, 0x41, 0x3a, 0xdd, 0xd3, 0xea, 0xb2, 0xbb,
+ 0x9f, 0x26, 0x52, 0x19, 0x41, 0x67, 0xe0, 0x26, 0x2e, 0xdd,
+ 0xbf, 0xa9, 0xa6, 0x3a, 0xec, 0x05, 0x27, 0xa1, 0x1c, 0x7b,
+ 0xad, 0x0c, 0xf0, 0xa1, 0xe8, 0xa9, 0x87, 0x4c, 0x5c, 0x9e,
+ 0xa9, 0xb1, 0xd1, 0xa7, 0x6a, 0xef, 0xd8, 0x7f, 0xc3, 0xa7,
+ 0x3d, 0x4c, 0x02, 0x38, 0x29, 0x4e, 0xf7, 0x0f, 0x69, 0x20,
+ 0x24, 0x8d, 0x34, 0x14, 0xd3, 0x20, 0xfb, 0x38, 0x4e, 0xa4,
+ 0xb6, 0xfd, 0x15, 0x0e, 0x62, 0x6a, 0xf6, 0x2b, 0xc3, 0xa9,
+ 0xe3, 0x6a, 0x72, 0xa4, 0xcb, 0xd0, 0xc3, 0x2d, 0x4b, 0xb0,
+ 0xda, 0xed, 0xb8, 0x49, 0x2f, 0xc2, 0xf3, 0xed, 0xb4, 0xd0,
+ 0xd6, 0x5f, 0x4b, 0x58, 0x12, 0x0c, 0x74, 0xfe, 0x91, 0xa4,
+ 0xee, 0x10, 0x83, 0xfe, 0xa3, 0x5f, 0x53, 0x2b, 0x3e, 0x88,
+ 0x4c, 0xb2, 0xcc, 0x79, 0xdf, 0xc6, 0x02, 0x7b, 0x93, 0x79,
+ 0x65, 0x2b, 0x1f, 0xb7, 0xa1, 0x3b, 0xae, 0xb3, 0xc7, 0x33,
+ 0x0d, 0x60, 0xf5, 0xc6, 0xa3, 0x33, 0xec, 0xb7, 0x9a, 0xc3,
+ 0xd4, 0xeb, 0xf0, 0x0d, 0x7f, 0xb4, 0x43, 0x02, 0x19, 0xad,
+ 0xb3, 0xb4, 0x2a, 0xc3, 0x25, 0x6a, 0x72, 0xd1, 0x1c, 0x08,
+ 0x58, 0x15, 0x5f, 0x79, 0xb4, 0xa1, 0x43, 0x15, 0xc2, 0x6a,
+ 0xa0, 0x1e, 0x07, 0x01, 0x42, 0xb6, 0xe0, 0x92, 0x11, 0x1b,
+ 0x58, 0xca, 0x53, 0x92, 0x04, 0x1e, 0xec, 0x82, 0x98, 0xb2,
+ 0xa0, 0xb7, 0xeb, 0xd8, 0xc3, 0xbd, 0xaf, 0x77, 0x63, 0xd8,
+ 0x8d, 0x82, 0x69, 0xf6, 0xed, 0x62, 0xfe, 0x09, 0x53, 0x5f,
+ 0x8d, 0xdf, 0x43, 0x1c, 0x73, 0x5f, 0x4b, 0xf6, 0x74, 0x79,
+ 0x65, 0x17, 0xa7, 0xb5, 0xfd, 0x4c, 0xa4, 0x32, 0x82, 0xce,
+ 0x03, 0x4c, 0x5c, 0x79, 0xf1, 0x0d, 0x10, 0xc7, 0xf9, 0x0b,
+ 0x45, 0xcb, 0xea, 0x50, 0x6e, 0xa5, 0x13, 0xcb, 0x9a, 0x0d,
+ 0xbd, 0x91, 0x8f, 0x74, 0x1b, 0x0a, 0x4e, 0x81, 0x38, 0xf6,
+ 0x99, 0x18, 0x23, 0x81, 0x13, 0x91, 0x38, 0xe5, 0xfa, 0xa4,
+ 0x45, 0xb4, 0xf6, 0x06, 0x76, 0x94, 0x75, 0x73, 0x33, 0x06,
+ 0xd5, 0xe5, 0xcd, 0x98, 0xb8, 0xff, 0x91, 0xa1, 0x61, 0x8d,
+ 0xd4, 0x1d, 0x73, 0xfe, 0x45, 0x8d, 0x7a, 0x98, 0x48, 0xec,
+ 0xcd, 0x2f, 0xcf, 0x1f, 0xd9, 0x0a, 0x9a, 0x7f, 0x9f, 0x95,
+ 0x55, 0x0a, 0xbc, 0xec, 0x04, 0x70, 0x52, 0x9c, 0x2d, 0x1e,
+ 0xd2, 0x40, 0x48, 0xd9, 0x68, 0x28, 0x65, 0x40, 0x35, 0x70,
+ 0x81, 0x04, 0x27, 0x4c, 0x73, 0xa0, 0x6a, 0xc7, 0x06, 0xbb,
+ 0x84, 0x43, 0x75, 0xc7, 0xf3, 0x04, 0x9c, 0x8b, 0xaf, 0x39,
+ 0x2a, 0x1c, 0xc4, 0xd4, 0x2f, 0x56, 0x45, 0x91, 0x05, 0xd4,
+ 0xe4, 0x8b, 0x19, 0xff, 0xda, 0xe9, 0x74, 0xa2, 0x7c, 0x53,
+ 0x61, 0x34, 0xa9, 0xfa, 0x15, 0x53, 0x22, 0xff, 0x55, 0x63,
+ 0x45, 0x5a, 0x96, 0xa3, 0x77, 0x19, 0xb3, 0x92, 0x5e, 0x47,
+ 0x25, 0x19, 0xab, 0x63, 0xd0, 0x17, 0x30, 0x8a, 0xc8, 0x1d,
+ 0xcf, 0x9e, 0xfd, 0xf0, 0xb2, 0x2c, 0x35, 0x9e, 0x6d, 0x17,
+ 0x6f, 0xbe, 0x96, 0xb0, 0x24, 0x18, 0xe8, 0x3f, 0xe1, 0x8b,
+ 0x1f, 0x20, 0xc5, 0x3f, 0x85, 0xbe, 0xea, 0xca, 0xe3, 0x60,
+ 0x7a, 0xa6, 0x50, 0xb8, 0xaf, 0xe9, 0xf3, 0x4b, 0xd5, 0xb8,
+ 0x43, 0xca, 0xa6, 0x56, 0x7c, 0xd3, 0x98, 0xa7, 0x5b, 0xf2,
+ 0x7d, 0x4f, 0x04, 0xf6, 0xe5, 0xf2, 0xca, 0x56, 0x23, 0x22,
+ 0x09, 0x03, 0xc6, 0x19, 0xe3, 0x75, 0x33, 0x2d, 0xe8, 0x9d,
+ 0xf5, 0x75, 0x0c, 0x22, 0x3e, 0xad, 0x81, 0x76, 0x9f, 0xa5,
+ 0x4d, 0x66, 0x1a, 0xc0, 0x29, 0x4f, 0x85, 0x66, 0x1b, 0xad,
+ 0xbb, 0xd9, 0xf4, 0xa6, 0xc1, 0x1b, 0xf5, 0xe1, 0x54, 0xa2,
+ 0xc5, 0x24, 0x95, 0xe1, 0xdd, 0xd9, 0xf7, 0x45, 0x6b, 0x15,
+ 0x23, 0x1a, 0xfe, 0xab, 0x86, 0x04, 0x32, 0x99, 0xa5, 0xab,
+ 0x54, 0x45, 0x72, 0x31, 0x1e, 0xc5, 0x7d, 0xa4, 0x46, 0x2c,
+ 0xc8, 0x66, 0xde, 0xf2, 0xb5, 0x2c, 0x92, 0x31, 0x4a, 0xd4,
+ 0xe4, 0x61, 0x38, 0x10, 0xb0, 0x2a, 0xbe, 0xf2, 0xab, 0x81,
+ 0x86, 0x2a, 0x47, 0xd4, 0xcf, 0xa0, 0x91, 0xb1, 0x66, 0xae,
+ 0x08, 0xad, 0xf0, 0x90, 0x47, 0xea, 0x96, 0xad, 0x81, 0xa0,
+ 0x83, 0x3c, 0x0e, 0x02, 0x84, 0xaf, 0x03, 0xe7, 0x22, 0x36,
+ 0xb0, 0x57, 0xa6, 0xe7, 0x08, 0x3c, 0x06, 0x48, 0x7b, 0xd2,
+ 0xda, 0x11, 0xbb, 0x60, 0x6c, 0x54, 0x5c, 0x3c, 0xb6, 0x60,
+ 0xce, 0x48, 0x1b, 0xc7, 0xf3, 0xa7, 0x83, 0xad, 0x15, 0x73,
+ 0x45, 0xb9, 0x9d, 0xee, 0xc6, 0x73, 0xd9, 0xc7, 0x9e, 0xb3,
+ 0x86, 0x77, 0xdd, 0x13, 0xad, 0xf4, 0x0b, 0xdb, 0x71, 0x85,
+ 0xd6, 0xf4, 0x1f, 0xb3, 0xd2, 0x2f, 0x19, 0xc4, 0x3f, 0x12,
+ 0xa6, 0xbe, 0xd9, 0x7d, 0x86, 0x38, 0xe6, 0xbe, 0x96, 0x2f,
+ 0x57, 0x5b, 0x6c, 0x14, 0x61, 0xac, 0x1e, 0x39, 0x97, 0x1f,
+ 0x6a, 0x53, 0xf6, 0x39, 0x50, 0x5b, 0xe8, 0xf2, 0xca, 0x2e,
+ 0x8d, 0xa9, 0x39, 0x98, 0x8b, 0x64, 0xc7, 0x5f, 0x06, 0x98,
+ 0xb8, 0xf2, 0x6d, 0x86, 0xbf, 0xfe, 0xd3, 0x17, 0x81, 0x1f,
+ 0xc5, 0x06, 0x2b, 0x34, 0x16, 0x1f, 0x7e, 0x86, 0x21, 0x1a,
+ 0x20, 0x4d, 0x31, 0x16, 0x8a, 0x55, 0x17, 0xa0, 0xdc, 0x89,
+ 0x26, 0x55, 0xf7, 0x1a, 0xa4, 0x6e, 0x55, 0x9d, 0x6f, 0xa8,
+ 0x32, 0xd2, 0x59, 0xc2, 0x30, 0xe2, 0x36, 0xd2, 0x31, 0x6e,
+ 0xb9, 0xe1, 0xdd, 0xe8, 0x36, 0x14, 0x9c, 0xc1, 0x70, 0x2f,
+ 0xf1, 0x30, 0x46, 0xc1, 0x26, 0xe1, 0x3c, 0x95, 0xa8, 0x38,
+ 0x68, 0xaa, 0x24, 0x46, 0x3e, 0x4d, 0x1d, 0x5b, 0x56, 0x46,
+ 0xe0, 0x95, 0x70, 0x09, 0x37, 0x8b, 0x8a, 0xab, 0x2f, 0x0c,
+ 0xec, 0xeb, 0xea, 0xe6, 0x66, 0x0c, 0x69, 0x09, 0xf5, 0x7d,
+ 0x42, 0x5b, 0xd4, 0x15, 0x97, 0x8b, 0xa2, 0x89, 0x06, 0x8d,
+ 0x76, 0x8b, 0xaf, 0x7d, 0x59, 0xf3, 0xb3, 0x3d, 0xe1, 0x81,
+ 0xc2, 0xd9, 0x6b, 0x3a, 0xe6, 0x3f, 0x8a, 0xd9, 0xf4, 0xf3,
+ 0xdc, 0x87, 0xc6, 0xed, 0xbf, 0x3f, 0x7a, 0x5e, 0x25, 0x58,
+ 0x0a, 0x54, 0x9a, 0x5e, 0x32, 0x87, 0x90, 0x1b, 0x59, 0x5e,
+ 0x5d, 0x3e, 0x71, 0x14, 0xf7, 0xfe, 0xfd, 0xe9, 0xaa, 0x14,
+ 0xbb, 0x1b, 0x15, 0x6f, 0x2c, 0x8e, 0x03, 0x80, 0xc9, 0x93,
+ 0xb9, 0x9c, 0x11, 0x82, 0xba, 0x93, 0x7d, 0x6f, 0x08, 0xe0,
+ 0xa4, 0xfb, 0x5a, 0x3c, 0x67, 0x80, 0x90, 0x71, 0xd0, 0x50,
+ 0xca, 0x80, 0x6a, 0xe0, 0x8d, 0x94, 0xd1, 0x2b, 0x04, 0x82,
+ 0xdf, 0x07, 0xde, 0x13, 0x3c, 0x3b, 0xda, 0x07, 0xac, 0x94,
+ 0xc1, 0x08, 0x4e, 0x98, 0xe6, 0x83, 0xd4, 0x4d, 0x0c, 0xb5,
+ 0xcb, 0x86, 0xea, 0x4d, 0x25, 0x08, 0x44, 0x7c, 0x3b, 0x48,
+ 0xb8, 0x3d, 0x6c, 0xca, 0x42, 0xd7, 0x27, 0xed, 0xfa, 0xca,
+ 0xe3, 0x7c, 0xfb, 0xd5, 0x9d, 0x72, 0x54, 0x38, 0x4b, 0x6b,
+ 0x5e, 0xac, 0x8a, 0xe1, 0x0a, 0x6b, 0x0b, 0xd5, 0x7e, 0xa1,
+ 0xe8, 0xa2, 0x0a, 0x86, 0xf3, 0xec, 0x10, 0xce, 0x66, 0x8a,
+ 0x1a, 0xec, 0xcd, 0xa1, 0x32, 0x3d, 0x77, 0x11, 0xe8, 0x87,
+ 0xf8, 0xa6, 0xc2, 0x68, 0x91, 0x37, 0x2a, 0xa6, 0x44, 0x3d,
+ 0xb7, 0x49, 0x02, 0xc1, 0xb6, 0x39, 0x40, 0x21, 0x8c, 0x0a,
+ 0x7d, 0x5c, 0x3a, 0x21, 0x82, 0x49, 0xaa, 0xc6, 0x8a, 0xb4,
+ 0xef, 0x85, 0xee, 0x32, 0xa5, 0xe7, 0xbc, 0x8e, 0x4a, 0x32,
+ 0x95, 0xc6, 0x2f, 0xb2, 0xff, 0x64, 0xb1, 0x3b, 0x56, 0xb5,
+ 0xeb, 0x85, 0x50, 0xe5, 0x5a, 0xb5, 0x53, 0xb2, 0x63, 0x2e,
+ 0x60, 0xd7, 0x53, 0x3a, 0x5d, 0xff, 0x39, 0x23, 0xa7, 0x58,
+ 0x6a, 0xff, 0xda, 0x2e, 0xe6, 0x5a, 0x15, 0x07, 0x0d, 0x84,
+ 0xe5, 0x78, 0x77, 0x41, 0x4b, 0x33, 0x7a, 0x78, 0x1c, 0x5a,
+ 0xde, 0xbf, 0xef, 0xa3, 0x48, 0x30, 0x13, 0x7e, 0x01, 0xd5,
+ 0x3e, 0x40, 0x49, 0x7e, 0xc9, 0xbf, 0x5b, 0xcb, 0x9a, 0x73,
+ 0x16, 0x8e, 0xab, 0xf9, 0x4f, 0xb7, 0xd2, 0x2b, 0x59, 0xf9,
+ 0x0f, 0xcb, 0x17, 0x57, 0x05, 0xc0, 0xf4, 0x8f, 0xa0, 0xb3,
+ 0x9d, 0x11, 0x25, 0x96, 0x69, 0xb3, 0x86, 0x57, 0x92, 0x23,
+ 0x70, 0x10, 0xaa, 0x31, 0x18, 0x34, 0xd3, 0x73, 0xc9, 0xfd,
+ 0x79, 0x34, 0x40, 0x23, 0x8f, 0xac, 0xf8, 0x65, 0xf3, 0x8d,
+ 0xb6, 0x27, 0xfa, 0x9e, 0x08, 0x2f, 0x09, 0x27, 0x57, 0xac,
+ 0x0a, 0xd8, 0x8d, 0xb5, 0xad, 0x33, 0x0e, 0xa0, 0xb4, 0xfc,
+ 0xe4, 0x44, 0x19, 0xa0, 0x91, 0xd8, 0x46, 0x44, 0x12, 0x06,
+ 0x4f, 0x32, 0x05, 0xea, 0x66, 0x5a, 0x13, 0xf9, 0x29, 0xea,
+ 0x18, 0x44, 0xc3, 0x30, 0x67, 0xd6, 0x11, 0x8c, 0xbd, 0x6d,
+ 0x28, 0x38, 0xff, 0x92, 0x39, 0x6d, 0xde, 0x30, 0x7c, 0x99,
+ 0xc1, 0xec, 0xfd, 0x89, 0x9a, 0xcc, 0x34, 0x43, 0x52, 0x9e,
+ 0xc9, 0xcc, 0x36, 0x99, 0xf9, 0xed, 0xb4, 0x3c, 0xa3, 0x37,
+ 0x22, 0x4b, 0x7a, 0x21, 0xbe, 0xf5, 0xd9, 0x4b, 0xf0, 0xed,
+ 0xb5, 0x71, 0x2b, 0x8f, 0x41, 0x36, 0x29, 0x01, 0xa8, 0x87,
+ 0x49, 0x48, 0xe9, 0x01, 0x79, 0x71, 0x30, 0x05, 0x5e, 0x5f,
+ 0x1f, 0x88, 0x91, 0x86, 0xe6, 0xe5, 0xa5, 0x23, 0xf9, 0x86,
+ 0xbf, 0x05, 0x2d, 0x8a, 0xd6, 0x2a, 0x46, 0x34, 0x3f, 0x95,
+ 0xcf, 0x08, 0x64, 0xf1, 0x89, 0x95, 0xa8, 0x8a, 0xa8, 0xfe,
+ 0xa3, 0xfa, 0x18, 0x8a, 0x87, 0x12, 0x81, 0x6a, 0x88, 0x9a,
+ 0x99, 0x12, 0x6e, 0xfe, 0xe4, 0x62, 0x3c, 0x49, 0xfa, 0x8b,
+ 0x8c, 0x58, 0x53, 0xcc, 0x7f, 0x27, 0xa9, 0x58, 0xe7, 0x62,
+ 0x61, 0x16, 0x49, 0x99, 0xa4, 0x35, 0x34, 0xdf, 0x1d, 0xae,
+ 0x93, 0x4c, 0xb9, 0xdf, 0x21, 0x16, 0x94, 0x6b, 0x0b, 0xc2,
+ 0x70, 0x20, 0xa3, 0x54, 0xbf, 0x27, 0x95, 0xc1, 0xcf, 0x54,
+ 0x8e, 0x6b, 0x11, 0x1f, 0x7e, 0x12, 0x2e, 0x9e, 0x1b, 0xd3,
+ 0xf1, 0x45, 0x79, 0xaa, 0xdf, 0xd3, 0x48, 0x1f, 0x5d, 0x83,
+ 0xe1, 0xa1, 0xcc, 0x9f, 0x10, 0x99, 0x23, 0xe3, 0x8e, 0x17,
+ 0xef, 0x99, 0xc1, 0x83, 0xd8, 0xf7, 0x94, 0x71, 0x92, 0x21,
+ 0xa8, 0x1e, 0x6d, 0x81, 0x62, 0x7c, 0xff, 0x1e, 0x07, 0xf7,
+ 0xc5, 0x78, 0x1c, 0x04, 0xcb, 0x9d, 0x06, 0x0d, 0x44, 0x6c,
+ 0xa3, 0xae, 0x8f, 0x0d, 0x10, 0x78, 0x40, 0x0c, 0x69, 0xd4,
+ 0x95, 0x23, 0xbe, 0x8a, 0x0a, 0x0e, 0x4f, 0xc5, 0x9f, 0x8a,
+ 0xd6, 0x0c, 0x0c, 0x90, 0xf6, 0x67, 0x77, 0x22, 0xb5, 0xc0,
+ 0xd8, 0xa8, 0xb8, 0x78, 0xaf, 0xc0, 0x5f, 0x90, 0x89, 0xe4,
+ 0x83, 0xb7, 0x29, 0x9c, 0x0d, 0x47, 0x96, 0xca, 0x54, 0x13,
+ 0xbf, 0x47, 0x99, 0xe4, 0x36, 0x4d, 0x25, 0x8d, 0xc5, 0x99,
+ 0x2a, 0xe6, 0x8a, 0xb1, 0xf9, 0x1f, 0x4f, 0xe6, 0x71, 0x4d,
+ 0xb3, 0x39, 0x50, 0x5d, 0x9b, 0x27, 0x92, 0x61, 0xc4, 0xd3,
+ 0x15, 0x74, 0x5f, 0x61, 0xb7, 0x39, 0xff, 0xa5, 0xcf, 0xee,
+ 0x79, 0x26, 0x99, 0x2b, 0x16, 0x75, 0xe2, 0xc9, 0x6f, 0x2b,
+ 0x3e, 0xa5, 0x7a, 0xd1, 0xba, 0x3e, 0x27, 0x98, 0x21, 0xac,
+ 0x58, 0x17, 0x0e, 0xa2, 0x7f, 0xac, 0xf8, 0xd1, 0x67, 0x5e,
+ 0x32, 0x4b, 0x7e, 0x24, 0x8f, 0xbf, 0x71, 0xfa, 0xcf, 0x70,
+ 0x0f, 0xbf, 0xef, 0x5e, 0xe2, 0x2a, 0x47, 0x9b, 0x20, 0x9a,
+ 0x37, 0x38, 0x3f, 0x98, 0x23, 0x1b, 0x1f, 0x38, 0x29, 0x2a,
+ 0xae, 0xb6, 0xd8, 0x28, 0xc2, 0x9b, 0x3c, 0x72, 0xed, 0x3e,
+ 0xd4, 0xa6, 0x2f, 0x72, 0xa0, 0xb6, 0x2b, 0xc2, 0xad, 0xf8,
+ 0x9c, 0x25, 0x84, 0xf5, 0xa3, 0x5c, 0x38, 0xcd, 0x3f, 0xf5,
+ 0x66, 0xc2, 0x13, 0x27, 0x57, 0x5c, 0xd9, 0x91, 0x72, 0xf3,
+ 0xd5, 0xc8, 0x4d, 0xbe, 0x0c, 0xf3, 0xb3, 0x27, 0x96, 0x53,
+ 0x22, 0x8c, 0x87, 0x2f, 0xca, 0x74, 0x9b, 0xaa, 0xa1, 0xd5,
+ 0x1c, 0x74, 0x75, 0x53, 0xda, 0xcf, 0xbd, 0x3f, 0x65, 0x2e,
+ 0xc1, 0x3e, 0x49, 0x0c, 0x56, 0x68, 0x2c, 0x3e, 0xfc, 0xcf,
+ 0x5f, 0xbb, 0xc8, 0xef, 0x3b, 0x90, 0x79, 0xb9, 0x07, 0x6e,
+ 0xba, 0x03, 0x3c, 0xb9, 0x3a, 0xbb, 0x42, 0x34, 0x40, 0x9a,
+ 0x62, 0x2c, 0xd7, 0xaa, 0x2e, 0x83, 0x7b, 0xd1, 0x4c, 0xaa,
+ 0x2d, 0x34, 0xc7, 0x40, 0x35, 0x4a, 0x3c, 0x92, 0x6f, 0x2d,
+ 0x60, 0xe1, 0x97, 0xba, 0x5c, 0x2d, 0xeb, 0x40, 0x8b, 0xdc,
+ 0xaa, 0xf9, 0xde, 0x93, 0x64, 0x67, 0xb2, 0x47, 0x60, 0x07,
+ 0x6c, 0x67, 0x62, 0xdc, 0x0e, 0xa8, 0xdf, 0x29, 0x80, 0x2d,
+ 0xdc, 0xe0, 0xfc, 0x25, 0x8c, 0x6c, 0x7c, 0xe0, 0xa4, 0xa8,
+ 0xb1, 0x01, 0x79, 0x13, 0x6c, 0x28, 0xfb, 0x41, 0xe0, 0x5e,
+ 0x21, 0x60, 0x8c, 0x41, 0x4c, 0x01, 0x34, 0x75, 0x0c, 0xc3,
+ 0x32, 0x96, 0x43, 0xc6, 0xae, 0x3c, 0xcd, 0x0b, 0x9c, 0xc6,
+ 0x8a, 0x75, 0x78, 0xe9, 0x93, 0x70, 0xd0, 0x97, 0x48, 0x8c,
+ 0x7c, 0x9a, 0x3a, 0xb6, 0xac, 0x8c, 0x03, 0xe9, 0xfd, 0x9d,
+ 0xe6, 0xa0, 0x8e, 0x29, 0xf0, 0x0b, 0x32, 0xf8, 0xd6, 0xdd,
+ 0xbc, 0x0b, 0xc5, 0x9d, 0xe0, 0x12, 0x6e, 0xd5, 0xd7, 0x95,
+ 0x5e, 0x18, 0x1b, 0x15, 0x17, 0x0f, 0xcc, 0x18, 0xd2, 0x12,
+ 0x65, 0x66, 0x1b, 0x05, 0x89, 0x2b, 0xe6, 0x9f, 0x55, 0x77,
+ 0xfb, 0x64, 0xdc, 0x9f, 0x14, 0x66, 0x29, 0xfa, 0x84, 0xb6,
+ 0x6b, 0x2a, 0xed, 0xd5, 0x87, 0xd1, 0x0c, 0xd9, 0xec, 0xd5,
+ 0x9d, 0xfa, 0xac, 0x8e, 0xf1, 0x66, 0x35, 0x94, 0x55, 0x52,
+ 0xc9, 0xb3, 0xe0, 0xb2, 0xfc, 0x52, 0x5b, 0x8e, 0xb2, 0x25,
+ 0xa5, 0x7a, 0x01, 0xc1, 0x47, 0x71, 0xd6, 0x74, 0x0f, 0x7e,
+ 0xd7, 0x71, 0x2b, 0x25, 0x37, 0x51, 0xd0, 0xaa, 0x5f, 0x7f,
+ 0xff, 0xf6, 0x98, 0x16, 0xe3, 0x15, 0xc7, 0xf6, 0xed, 0x51,
+ 0x7b, 0xcd, 0x4f, 0x19, 0xbd, 0x7e, 0xf4, 0xbc, 0x4a, 0xb0,
+ 0x14, 0xa8, 0xf7, 0xbc, 0x64, 0xcd, 0xfe, 0xb9, 0x3a, 0xc9,
+ 0xe3, 0xc0, 0x4c, 0x3b, 0x04, 0xd2, 0xf8, 0xc3, 0xe7, 0x3b,
+ 0xa2, 0xb9, 0xe3, 0x36, 0xb2, 0xbc, 0xba, 0x7c, 0xe2, 0x28,
+ 0x2d, 0x3f, 0x39, 0x11, 0x97, 0x28, 0xb5, 0x36, 0x66, 0x42,
+ 0xc7, 0x6c, 0xe4, 0xc2, 0x5a, 0xaf, 0x63, 0x5d, 0xd5, 0x7a,
+ 0x87, 0xaf, 0x73, 0x42, 0x2a, 0xde, 0x58, 0xdf, 0x06, 0xc3,
+ 0x51, 0xe5, 0xb1, 0xfb, 0x22, 0xc7, 0xb7, 0xe5, 0xfa, 0xde,
+ 0xaf, 0xaa, 0x2d, 0x0f, 0x58, 0x7d, 0xe9, 0x62, 0xff, 0x99,
+ 0xce, 0xac, 0xa7, 0x62, 0x3c, 0xaa, 0x10, 0x03, 0x8b, 0x35,
+ 0xb4, 0x78, 0xce, 0xc3, 0xe3, 0xe2, 0x63, 0xa0, 0x57, 0xc3,
+ 0xd4, 0x03, 0x95, 0x77, 0xfe, 0xe5, 0xea, 0xc6, 0x76, 0x44,
+ 0xad, 0x80, 0x8f, 0xcb, 0x47, 0x44, 0x12, 0x77, 0xd9, 0xeb,
+ 0x61, 0x56, 0x08, 0xc7, 0x7d, 0x0e, 0x7f, 0x26, 0x78, 0x76,
+ 0x77, 0x0e, 0x9b, 0xeb, 0x5c, 0x9f, 0x14, 0x86, 0x56, 0x79,
+ 0xc5, 0x89, 0x31, 0x44, 0x94, 0x1d, 0x67, 0x89, 0x5d, 0x9f,
+ 0x41, 0x10, 0x9c, 0xf3, 0x0f, 0xc5, 0x6b, 0x9a, 0x18, 0xa9,
+ 0x55, 0xcf, 0x17, 0x9a, 0x4a, 0x10, 0xc4, 0x64, 0xe9, 0x23,
+ 0x51, 0x7b, 0xd3, 0x1d, 0x56, 0xcb, 0xb9, 0xa4, 0x07, 0x1d,
+ 0x8c, 0x64, 0x88, 0xf8, 0x76, 0x90, 0xb3, 0x7a, 0xd8, 0x57,
+ 0x84, 0x6d, 0x4e, 0x19, 0x37, 0x57, 0x05, 0xf8, 0x0d, 0x8c,
+ 0x03, 0x40, 0xed, 0xc4, 0x60, 0xd0, 0xca, 0x0f, 0xa2, 0x72,
+ 0x27, 0xd0, 0xc3, 0x8c, 0x35, 0x69, 0xf9, 0xe4, 0xa8, 0x70,
+ 0x96, 0xd6, 0xbc, 0x9b, 0xd7, 0x01, 0x14, 0xd6, 0x16, 0x69,
+ 0xb0, 0x1d, 0x8c, 0x34, 0xf6, 0xce, 0x2e, 0x51, 0xf2, 0xf9,
+ 0x3b, 0x6a, 0x04, 0x51, 0xd0, 0x1d, 0xfc, 0x81, 0x13, 0x87,
+ 0x14, 0xcf, 0x25, 0x1b, 0x20, 0x5f, 0xcc, 0xd7, 0x34, 0x1b,
+ 0x59, 0x81, 0x79, 0xf5, 0x66, 0x57, 0x4a, 0x71, 0x9d, 0x9c,
+ 0x6e, 0x3d, 0x20, 0xbc, 0x24, 0x9c, 0x9f, 0xf5, 0x64, 0x7a,
+ 0xee, 0x22, 0x13, 0xcd, 0x33, 0x8f, 0x47, 0xd0, 0xe1, 0x6e,
+ 0x54, 0x8f, 0x88, 0x7a, 0xe1, 0x0e, 0x9b, 0xf2, 0x4d, 0x73,
+ 0x8b, 0x08, 0x09, 0xb2, 0x0d, 0x05, 0x44, 0x08, 0x4e, 0x0e,
+ 0xad, 0x92, 0x04, 0x41, 0xaf, 0x72, 0x80, 0x42, 0xdb, 0x14,
+ 0xfa, 0xb8, 0x74, 0x42, 0xc7, 0x92, 0x28, 0xe6, 0x71, 0x91,
+ 0xf1, 0xcc, 0x38, 0xc5, 0x95, 0x76, 0x16, 0xd3, 0x64, 0xc5,
+ 0x01, 0xe6, 0x97, 0x4f, 0xd7, 0xab, 0x1d, 0xc9, 0x1f, 0x64,
+ 0x89, 0x0d, 0xbb, 0xdf, 0x94, 0x64, 0xe9, 0x4f, 0x12, 0x3b,
+ 0xa2, 0x7b, 0x43, 0x77, 0xa7, 0xe3, 0xc7, 0x6f, 0x57, 0xb4,
+ 0x84, 0xe3, 0x2f, 0x3b, 0x5e, 0xa7, 0x3d, 0xc8, 0xa1, 0x76,
+ 0xac, 0xa9, 0x15, 0xc9, 0xa0, 0x09, 0xb4, 0xa9, 0xa6, 0xa7,
+ 0xdb, 0xd3, 0x48, 0x18, 0xff, 0xc8, 0x14, 0x2e, 0x5b, 0xab,
+ 0x4c, 0x62, 0xa4, 0x2e, 0x60, 0xd3, 0xc6, 0x5c, 0xc0, 0x6d,
+ 0xa6, 0x74, 0xba, 0x3d, 0x72, 0x46, 0x8d, 0xb0, 0xd4, 0x3d,
+ 0x77, 0x5c, 0x43, 0x28, 0xb5, 0xbd, 0xf8, 0xca, 0x02, 0xba,
+ 0x3c, 0x24, 0x61, 0xdb, 0xc4, 0xba, 0xb1, 0x28, 0x0f, 0xb4,
+ 0x2a, 0x0e, 0x1a, 0xcb, 0x09, 0xf0, 0xee, 0x82, 0x96, 0x66,
+ 0xf4, 0xf0, 0x38, 0xb4, 0x8a, 0xc0, 0x5f, 0xde, 0x44, 0x75,
+ 0xb1, 0x77, 0xa0, 0xe0, 0x7a, 0x0d, 0xe4, 0x77, 0xfe, 0xc0,
+ 0x7f, 0xbd, 0x1d, 0x85, 0x90, 0x60, 0x26, 0xfc, 0x02, 0x69,
+ 0x7c, 0x80, 0x92, 0xfc, 0x51, 0xbd, 0xfa, 0xc9, 0x68, 0x55,
+ 0xce, 0xde, 0x9e, 0x7b, 0x4c, 0x0b, 0x90, 0xeb, 0x82, 0x7b,
+ 0x97, 0xc9, 0xb6, 0x55, 0xf7, 0xe6, 0x2c, 0xdf, 0x95, 0x31,
+ 0x9e, 0xad, 0x67, 0x56, 0xb2, 0x31, 0x1e, 0x55, 0x33, 0x21,
+ 0x82, 0x36, 0x72, 0x61, 0x2d, 0xb6, 0xd0, 0xcf, 0x8b, 0x3d,
+ 0xa2, 0xb6, 0xd8, 0x21, 0x2e, 0xae, 0x0a, 0x43, 0x2b, 0xdd,
+ 0x83, 0xa5, 0xf9, 0x22, 0x4a, 0xef, 0xd2, 0xa5, 0xcf, 0xae,
+ 0xab, 0xda, 0x7f, 0x93, 0x75, 0x63, 0x3b, 0x22, 0xb7, 0x40,
+ 0xa6, 0x84, 0xc2, 0x22, 0x09, 0xda, 0xe7, 0x46, 0xe0, 0x20,
+ 0x97, 0x62, 0x30, 0x68, 0x65, 0xe6, 0x51, 0x39, 0xf2, 0x68,
+ 0x80, 0x46, 0x62, 0x32, 0x95, 0xf0, 0xc9, 0xdc, 0x88, 0xef,
+ 0x2b, 0x84, 0xbd, 0x52, 0xe2, 0xef, 0x46, 0x32, 0xdd, 0x9b,
+ 0x33, 0xca, 0x25, 0xd9, 0xaf, 0x4e, 0x37, 0xff, 0x10, 0x5e,
+ 0x12, 0x4e, 0xae, 0x9b, 0x58, 0xef, 0x46, 0x1a, 0x7b, 0x67,
+ 0x17, 0xc9, 0x79, 0x9d, 0xfc, 0x35, 0x02, 0xc9, 0x68, 0xef,
+ 0x14, 0x73, 0xd9, 0xa9, 0x99, 0x66, 0x1c, 0x83, 0xab, 0x3b,
+ 0x0b, 0x88, 0x32, 0x83, 0xe1, 0x73, 0x91, 0x07, 0xac, 0x79,
+ 0xc7, 0xd8, 0xa4, 0x04, 0xe5, 0x59, 0xe7, 0xe3, 0x22, 0x04,
+ 0x27, 0x07, 0x8c, 0x88, 0x24, 0x0c, 0x9e, 0x64, 0x0a, 0x17,
+ 0xcc, 0xb4, 0x26, 0x31, 0x52, 0x17, 0x30, 0x88, 0x09, 0xfc,
+ 0x51, 0xdc, 0xc0, 0xda, 0xb2, 0x90, 0x82, 0xd6, 0xca, 0x5a,
+ 0x42, 0x90, 0xf6, 0xfc, 0x45, 0x60, 0xce, 0x6f, 0x22, 0xdb,
+ 0xb9, 0xda, 0x50, 0x70, 0x3d, 0xe7, 0x72, 0xda, 0x7f, 0x60,
+ 0xc0, 0x14, 0xbb, 0xbf, 0x7c, 0x65, 0x01, 0x5d, 0x1e, 0x12,
+ 0xd1, 0x8c, 0x62, 0x5d, 0xb9, 0x14, 0xf8, 0xf1, 0x41, 0x1b,
+ 0x39, 0xd1, 0xf7, 0x5b, 0x68, 0x86, 0xa4, 0xff, 0x51, 0x5b,
+ 0x6c, 0xf1, 0x7d, 0x85, 0x34, 0xcb, 0x67, 0x6f, 0x4f, 0xdc,
+ 0x26, 0xe4, 0x48, 0x94, 0x41, 0xdc, 0xaa, 0x85, 0x31, 0x19,
+ 0xab, 0x78, 0x85, 0x6e, 0x44, 0x96, 0xf4, 0x42, 0xbf, 0x29,
+ 0x71, 0x96, 0x23, 0x19, 0xb4, 0x6d, 0xde, 0xa8, 0xdb, 0xd0,
+ 0xfc, 0x11, 0xba, 0x20, 0x53, 0x42, 0x61, 0x11, 0xe5, 0x6d,
+ 0xa9, 0xe2, 0x56, 0xdd, 0x82, 0x6c, 0x52, 0x02, 0x93, 0xcd,
+ 0x92, 0x90, 0x11, 0x02, 0xf2, 0xe2, 0x2c, 0x96, 0x23, 0x0d,
+ 0xdc, 0xd2, 0xea, 0x85, 0xdd, 0xaf, 0x7e, 0xfb, 0x01, 0x85,
+ 0x34, 0x96, 0x60, 0x0a, 0xbc, 0xbe, 0x3e, 0xd3, 0xe1, 0xcf,
+ 0x0f, 0x09, 0x89, 0x46, 0x31, 0xcf, 0xbd, 0x0a, 0xe5, 0x7e,
+ 0xc9, 0x6e, 0x60, 0x6d, 0x59, 0x48, 0x41, 0x6b, 0x65, 0x2d,
+ 0x21, 0x48, 0x7b, 0x7e, 0x5a, 0xd7, 0x6f, 0x54, 0x8c, 0x68,
+ 0x7e, 0xe9, 0x5d, 0x10, 0xc8, 0x21, 0xd1, 0xe9, 0x93, 0xd7,
+ 0xdf, 0xa3, 0x1a, 0x84, 0xd2, 0xd6, 0xc6, 0x6e, 0x13, 0x72,
+ 0x24, 0x4a, 0xc1, 0x6e, 0x55, 0xa3, 0x93, 0x3f, 0x85, 0x37,
+ 0x30, 0xd7, 0xcd, 0x24, 0xc1, 0xd4, 0xd3, 0xf7, 0xf1, 0x24,
+ 0xdc, 0x3f, 0x16, 0x4b, 0xf0, 0xe7, 0x6e, 0x69, 0x75, 0xa3,
+ 0x8f, 0xb6, 0x3f, 0x9c, 0xe1, 0xa3, 0x1a, 0x4b, 0x0b, 0xc4,
+ 0x78, 0x92, 0x37, 0xd5, 0xdb, 0xb0, 0xa6, 0x5b, 0xfe, 0x4e,
+ 0x91, 0xb0, 0x0d, 0xc4, 0x8e, 0xb0, 0x0d, 0x42, 0x69, 0x6b,
+ 0x63, 0x37, 0xe8, 0x39, 0x12, 0x25, 0x81, 0x37, 0xcb, 0xb0,
+ 0xc2, 0x2c, 0x92, 0xf1, 0x8b, 0x6a, 0x68, 0x7d, 0x3a, 0x9f,
+ 0xe5, 0x98, 0xb1, 0x7d, 0x42, 0x2c, 0x47, 0x58, 0xe7, 0x21,
+ 0xd5, 0xd4, 0xd0, 0xfa, 0x74, 0xfd, 0x09, 0xf3, 0xa1, 0xfa,
+ 0x84, 0x58, 0xeb, 0xd6, 0x16, 0x47, 0xe0, 0x40, 0x85, 0xa8,
+ 0xbd, 0x4e, 0xe9, 0x41, 0x5d, 0xa8, 0xdf, 0xd6, 0x6e, 0xa2,
+ 0x63, 0x97, 0xbe, 0xfe, 0x3d, 0x2f, 0xf3, 0x2c, 0x05, 0x2a,
+ 0x4d, 0x2f, 0x19, 0xa2, 0x22, 0x3e, 0xfc, 0x24, 0x5c, 0xff,
+ 0x36, 0x65, 0x21, 0x8a, 0xf2, 0x97, 0x7d, 0x65, 0x90, 0x3e,
+ 0xa7, 0x4a, 0x89, 0xf4, 0x02, 0x41, 0x8e, 0xe2, 0x6f, 0xe8,
+ 0x1e, 0xfc, 0x6d, 0xe2, 0x56, 0x4a, 0xba, 0xc5, 0x01, 0x81,
+ 0x5b, 0xfd, 0x20, 0xf1, 0x46, 0x05, 0xdf, 0x2e, 0x1d, 0xf1,
+ 0x41, 0xc5, 0x3f, 0xb1, 0x74, 0x51, 0x05, 0x43, 0x98, 0x76,
+ 0x08, 0x67, 0x33, 0x45, 0x0d, 0x76, 0x87, 0xb1, 0x73, 0x2d,
+ 0xeb, 0xe2, 0xe7, 0x42, 0x93, 0x3c, 0xda, 0xc1, 0xc4, 0xf8,
+ 0x3d, 0x3c, 0x0e, 0x2d, 0xf6, 0x59, 0x9e, 0x32, 0xb9, 0xfc,
+ 0x2b, 0xbb, 0x94, 0xa3, 0x28, 0x93, 0x2d, 0xbb, 0xc8, 0x59,
+ 0x49, 0xf0, 0x38, 0x08, 0x55, 0xf9, 0x0c, 0x1a, 0x88, 0xd8,
+ 0x85, 0x9f, 0xdd, 0x1a, 0x20, 0xf0, 0xcc, 0x84, 0x4d, 0xd8,
+ 0x0b, 0x47, 0xb4, 0x9d, 0xc6, 0xba, 0x69, 0xf4, 0xcd, 0x9d,
+ 0xe6, 0x84, 0x80, 0x18, 0xd2, 0x6b, 0xe9, 0x46, 0xbf, 0xd7,
+ 0x14, 0x1c, 0x9e, 0x49, 0xfd, 0xd7, 0x6f, 0x18, 0x05, 0x6c,
+ 0xa7, 0xbb, 0xb7, 0xf8, 0x07, 0x50, 0x5a, 0x7e, 0x72, 0x22,
+ 0xed, 0x50, 0xa9, 0x6c, 0x18, 0xe3, 0x2f, 0xce, 0xee, 0x44,
+ 0xa9, 0x43, 0x73, 0x93, 0xb3, 0xf0, 0x9d, 0x43, 0xbe, 0xe3,
+ 0x9d, 0x97, 0x5a, 0x1e, 0xb0, 0xfa, 0x11, 0xc4, 0x3d, 0xf1,
+ 0x5f, 0x9b, 0x8d, 0xc4, 0x78, 0x97, 0xd1, 0x0b, 0xc5, 0xad,
+ 0x52, 0xfb, 0x1a, 0x8e, 0xef, 0x57, 0xa8, 0x26, 0xbd, 0x8e,
+ 0xf1, 0x0b, 0x54, 0x7f, 0xb0, 0x7d, 0x0c, 0x45, 0xa2, 0x09,
+ 0xa1, 0x35, 0x44, 0x4d, 0xad, 0x09, 0x37, 0x7f, 0x6c, 0x9a,
+ 0x4a, 0xd9, 0x49, 0xf1, 0x54, 0x0f, 0xd7, 0xa1, 0x31, 0x3e,
+ 0x9e, 0x0f, 0xe2, 0x9a, 0xe9, 0xee, 0x3f, 0x09, 0x17, 0x4f,
+ 0xec, 0x88, 0x99, 0xc3, 0xdd, 0x55, 0x8e, 0x88, 0x24, 0xee,
+ 0xa5, 0x72, 0xa0, 0xba, 0xf5, 0x4e, 0xe7, 0xc2, 0x4b, 0x65,
+ 0x2a, 0xe8, 0xbe, 0xc2, 0xad, 0x72, 0x20, 0x06, 0xd5, 0x6a,
+ 0xab, 0xf0, 0x5f, 0x45, 0x05, 0x07, 0xc6, 0x83, 0xae, 0x45,
+ 0x6b, 0x06, 0x3d, 0x89, 0x5d, 0x1f, 0xf2, 0x4c, 0xf1, 0x56,
+ 0x2c, 0xea, 0x07, 0x51, 0xde, 0x56, 0x7c, 0x89, 0xb8, 0xfd,
+ 0x28, 0xcf, 0xac, 0xf2, 0x49, 0xd1, 0x62, 0x88, 0xeb, 0x3a,
+ 0xce, 0xd1, 0xba, 0xfd, 0xf4, 0x61, 0xb7, 0x7c, 0x4e, 0xf3,
+ 0x42, 0x9b, 0xb0, 0x2e, 0x1c, 0x87, 0xfe, 0x9b, 0x33, 0x61,
+ 0x71, 0x15, 0xc2, 0xac, 0x10, 0x4d, 0xfa, 0x1c, 0xfe, 0x4c,
+ 0xf0, 0xec, 0xee, 0x1c, 0xf5, 0x15, 0xce, 0xbc, 0x64, 0x96,
+ 0xfc, 0x48, 0xdd, 0xbd, 0xe2, 0x37, 0x5d, 0xe0, 0x1e, 0xbd,
+ 0x1d, 0xbc, 0x4b, 0xc8, 0x11, 0x46, 0xa2, 0xf6, 0x65, 0x3a,
+ 0xac, 0x55, 0xb1, 0x8b, 0x0e, 0x3a, 0xdb, 0xc8, 0x07, 0x54,
+ 0x8e, 0xf5, 0x40, 0xf7, 0x6e, 0x70, 0x7e, 0xf3, 0x46, 0x36,
+ 0x3e, 0x70, 0x52, 0x54, 0x82, 0x20, 0xfb, 0x25, 0x1e, 0x49,
+ 0xd6, 0xf7, 0x30, 0x91, 0xaa, 0x5d, 0x2e, 0xf7, 0x94, 0x20,
+ 0x9f, 0xaf, 0x73, 0x50, 0x47, 0xf5, 0x78, 0xe4, 0x19, 0x7c,
+ 0x6b, 0x8f, 0x5e, 0xe4, 0x83, 0xaf, 0x1a, 0xdb, 0x06, 0x80,
+ 0x19, 0x4b, 0xc0, 0x63, 0x57, 0x1e, 0x87, 0xe4, 0x4e, 0x63,
+ 0x45, 0xdb, 0x56, 0x47, 0x99, 0x33, 0xfb, 0x4a, 0xcb, 0x29,
+ 0x85, 0xb8, 0x70, 0x59, 0x7e, 0x29, 0xcc, 0x47, 0xd3, 0x33,
+ 0xec, 0xe3, 0xa5, 0xf4, 0x73, 0xae, 0xcb, 0xda, 0x9c, 0x32,
+ 0x6e, 0xae, 0x0a, 0x33, 0x26, 0x4e, 0xae, 0xb8, 0x71, 0xe1,
+ 0xe4, 0x25, 0x69, 0x53, 0x9a, 0xbf, 0x18, 0x25, 0xa5, 0x4e,
+ 0xa3, 0x3a, 0xdb, 0x68, 0x2f, 0x5f, 0x5c, 0xa2, 0x27, 0x31,
+ 0x76, 0xd4, 0x08, 0xa2, 0x63, 0x3a, 0xef, 0xa6, 0x44, 0xdb,
+ 0xcd, 0x5e, 0x57, 0xe8, 0xf5, 0x97, 0x81, 0x69, 0x38, 0xe8,
+ 0xea, 0xa6, 0x6a, 0xd2, 0x31, 0x0b, 0x93, 0xe0, 0xef, 0x6f,
+ 0xbb, 0xf5, 0x6d, 0x02, 0x28, 0x6f, 0x2c, 0xd2, 0x77, 0x5d,
+ 0xb9, 0x7e, 0xca, 0x5c, 0x41, 0x7c, 0x92, 0x18, 0xac, 0xd0,
+ 0x58, 0x7c, 0x3b, 0x5d, 0xf2, 0x29, 0xcc, 0xae, 0x94, 0xe2,
+ 0xf9, 0xfb, 0xdc, 0x7a, 0x40, 0xbb, 0x48, 0xfb, 0xfd, 0x29,
+ 0xbe, 0xb5, 0x53, 0x1d, 0x76, 0xe3, 0xf2, 0xb1, 0x0e, 0xdc,
+ 0xb7, 0x06, 0x78, 0xb1, 0x74, 0xb5, 0x3b, 0xc1, 0x26, 0xcd,
+ 0x28, 0x5d, 0x4a, 0x36, 0x40, 0xbe, 0x5b, 0x6d, 0x68, 0x36,
+ 0xb2, 0xc1, 0x84, 0x68, 0x80, 0xf7, 0xc4, 0x58, 0x6d, 0x97,
+ 0x5c, 0xc5, 0xf6, 0x61, 0x98, 0x97, 0x5a, 0x68, 0x01, 0x1c,
+ 0xf5, 0x27, 0x9a, 0xe6, 0xd5, 0x10, 0x12, 0xa7, 0x1a, 0x0a,
+ 0x88, 0x10, 0x9c, 0x1c, 0x4d, 0x80, 0x6a, 0x94, 0x78, 0xe7,
+ 0xde, 0x5a, 0xc0, 0x01, 0xed, 0xb7, 0xb8, 0x5a, 0x15, 0x80,
+ 0xc8, 0xf4, 0x1f, 0x44, 0x26, 0x59, 0x66, 0xdd, 0x8e, 0x63,
+ 0x01, 0xdc, 0xa8, 0xdd, 0xd3, 0xf4, 0xd5, 0x7b, 0x97, 0x31,
+ 0x7f, 0xe5, 0xc8, 0xce, 0xa7, 0x8e, 0xc0, 0x0e, 0xd8, 0xce,
+ 0xc4, 0x7b, 0x50, 0x0f, 0xe2, 0xe1, 0x21, 0x5b, 0x70, 0x49,
+ 0xe9, 0xec, 0x2c, 0x65, 0xc8, 0x49, 0x02, 0x0f, 0x1c, 0x93,
+ 0x7d, 0x52, 0xc3, 0x5a, 0x7b, 0x03, 0x3b, 0x4a, 0xdb, 0xd8,
+ 0xf8, 0x03, 0x8b, 0x93, 0x99, 0xe7, 0x08, 0x82, 0x9d, 0xe4,
+ 0xc3, 0x84, 0x75, 0x28, 0x37, 0xb3, 0xe8, 0x84, 0x4d, 0xe7,
+ 0xa1, 0x02, 0xf2, 0x26, 0xd8, 0x50, 0x35, 0x82, 0x03, 0xbc,
+ 0x42, 0xc0, 0xdb, 0x82, 0x98, 0x02, 0x24, 0x76, 0x87, 0xf6,
+ 0x86, 0xee, 0x8d, 0x05, 0x4d, 0xde, 0xae, 0xab, 0xcb, 0x05,
+ 0x5e, 0x76, 0x68, 0xea, 0x18, 0x45, 0x64, 0xef, 0x86, 0x4f,
+ 0x9f, 0x78, 0x59, 0x16, 0xfb, 0x4f, 0xd7, 0xea, 0xed, 0x9e,
+ 0x6d, 0x95, 0x3a, 0x51, 0x3e, 0xc8, 0xd1, 0x1a, 0xb5, 0x7d,
+ 0xeb, 0xc8, 0x11, 0x9e, 0xf0, 0x11, 0xe5, 0xe0, 0x63, 0xed,
+ 0x90, 0xdb, 0xf8, 0xf7, 0x74, 0xaf, 0x9b, 0xdb, 0x06, 0x11,
+ 0x75, 0x65, 0x90, 0x30, 0x3d, 0x53, 0x28, 0x5c, 0xb6, 0x95,
+ 0x98, 0xc4, 0x8b, 0x5c, 0xc0, 0x65, 0x39, 0xf9, 0x0f, 0x83,
+ 0xdf, 0x52, 0x23, 0x16, 0x64, 0x33, 0x6f, 0x79, 0xbb, 0x16,
+ 0x49, 0xf9, 0xbc, 0x8d, 0x7a, 0x53, 0x81, 0xec, 0x9b, 0x91,
+ 0x2a, 0x51, 0x83, 0x12, 0xab, 0x91, 0x8f, 0x8d, 0x03, 0x24,
+ 0xdc, 0x69, 0x6d, 0xe9, 0xbc, 0x30, 0x36, 0x2a, 0x2e, 0x1e,
+ 0x5b, 0x30, 0x67, 0x24, 0x86, 0x50, 0xa9, 0xb9, 0x33, 0x57,
+ 0x04, 0xb7, 0x78, 0x48, 0xc2, 0x75, 0x4b, 0xb7, 0xa1, 0x50,
+ 0xca, 0xcc, 0x36, 0x0a, 0xd1, 0x56, 0x0f, 0xfd, 0xaa, 0xee,
+ 0x35, 0xc8, 0x7b, 0xfd, 0x28, 0xcc, 0x4f, 0xb8, 0x43, 0xda,
+ 0x8f, 0xe8, 0xb7, 0x7a, 0xe4, 0x8c, 0xd9, 0xa3, 0x6b, 0x7a,
+ 0xee, 0xb8, 0x52, 0x37, 0xcb, 0xaf, 0xd6, 0x54, 0x19, 0x69,
+ 0xcd, 0x61, 0x18, 0x71, 0x1b, 0x69, 0xf9, 0x37, 0xd7, 0x43,
+ 0xbe, 0x7f, 0x88, 0xea, 0xa1, 0xee, 0x83, 0x03, 0xf4, 0x1a,
+ 0x0b, 0xee, 0x3f, 0x43, 0x9b, 0xdf, 0x21, 0xcc, 0x6a, 0xeb,
+ 0xaa, 0xa4, 0x51, 0xa5, 0x03, 0xa7, 0x3b, 0xa4, 0xb6, 0xdf,
+ 0x1e, 0xab, 0x54, 0x1c, 0x34, 0x55, 0x12, 0x23, 0x1f, 0xc7,
+ 0xef, 0xcc, 0x2b, 0x23, 0x70, 0xab,
+ },
+ {
+ /* 14 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x2d, 0x99, 0xe9,
+ 0x95, 0x9f, 0xd4, 0x49, 0xe6, 0xd5, 0x76, 0xf2, 0x33, 0xc8,
+ 0x20, 0x98, 0x40, 0x5a, 0xf1, 0x11, 0xe9, 0xfd, 0x6b, 0x92,
+ 0x0f, 0x69, 0xec, 0x27, 0x66, 0x53, 0x40, 0xf3, 0x60, 0x77,
+ 0x68, 0xf8, 0x7c, 0x62, 0xbf, 0xdb, 0xe9, 0xbc, 0x9a, 0xd5,
+ 0x55, 0x9b, 0x60, 0x6b, 0x80, 0xb4, 0x21, 0x22, 0x11, 0x39,
+ 0xd6, 0xe7, 0x1e, 0xd2, 0x1b, 0x4e, 0xcc, 0xa6, 0x80, 0x25,
+ 0xa0, 0x99, 0xb8, 0xcb, 0x84, 0xa6, 0x02, 0xae, 0xf8, 0x07,
+ 0x6d, 0xbc, 0xff, 0x6e, 0xa0, 0xbd, 0xc0, 0xee, 0xd0, 0x33,
+ 0xf8, 0xc4, 0xbd, 0x75, 0x11, 0xbb, 0xf7, 0x69, 0xaa, 0xf5,
+ 0xc0, 0xd6, 0xe0, 0xc3, 0x49, 0xda, 0x6d, 0x5b, 0x69, 0x3c,
+ 0xf7, 0x6e, 0x81, 0x9b, 0x99, 0x3d, 0xe0, 0x4e, 0xc3, 0xab,
+ 0x42, 0x44, 0x22, 0x72, 0x6f, 0x0d, 0x3c, 0x67, 0x36, 0x9c,
+ 0x5b, 0x8f, 0xc3, 0x4a, 0xe3, 0x86, 0xdb, 0xad, 0xb7, 0xed,
+ 0xbb, 0x44, 0xda, 0xb2, 0x40, 0x6e, 0x68, 0x47, 0xe3, 0xd2,
+ 0x83, 0xf1, 0xb3, 0x55, 0xcb, 0x8f, 0x04, 0x9f, 0x33, 0x0e,
+ 0xda, 0xbb, 0x3d, 0xdc, 0x83, 0xb9, 0xa3, 0xdc, 0x2a, 0xbc,
+ 0x5e, 0x10, 0xd0, 0xd6, 0xd5, 0xdb, 0xac, 0x49, 0x0e, 0x14,
+ 0xa3, 0x21, 0x43, 0x1f, 0x63, 0x66, 0x33, 0x4b, 0xb9, 0xea,
+ 0x22, 0xb5, 0x2d, 0xd2, 0x97, 0x29, 0x43, 0x6f, 0x63, 0x32,
+ 0xfa, 0x8f, 0xa6, 0xd4, 0x6d, 0xa3, 0xc4, 0x60, 0x5b, 0x20,
+ 0xa4, 0xe1, 0x63, 0xf7, 0x03, 0x45, 0x92, 0x77, 0xda, 0xb6,
+ 0xd2, 0x78, 0x2d, 0xdc, 0xc1, 0xf5, 0xf1, 0x7a, 0x03, 0x9c,
+ 0x23, 0x68, 0x0b, 0x9e, 0x4f, 0x29, 0x06, 0x31, 0xcb, 0x09,
+ 0xb7, 0x07, 0xc2, 0xb2, 0x23, 0x04, 0x45, 0x95, 0x84, 0x88,
+ 0x44, 0xe4, 0xde, 0x1a, 0x78, 0xce, 0x6c, 0xfb, 0xb6, 0xdd,
+ 0x45, 0x94, 0x65, 0xb8, 0x1d, 0x61, 0xd1, 0x7b, 0x0a, 0x53,
+ 0x9e, 0x1b, 0x1a, 0x09, 0x85, 0x15, 0x65, 0x0c, 0x05, 0xcf,
+ 0x75, 0x99, 0xad, 0x19, 0xb5, 0x88, 0x77, 0xa7, 0x80, 0xdc,
+ 0xd0, 0x8e, 0x05, 0x67, 0x25, 0xe2, 0xec, 0x70, 0x38, 0x86,
+ 0x61, 0xc1, 0x91, 0x72, 0xf6, 0x2e, 0xe3, 0x46, 0x25, 0xff,
+ 0xc5, 0x21, 0xa5, 0xaa, 0x55, 0xdd, 0x08, 0xfd, 0x66, 0x1c,
+ 0x77, 0xb5, 0x7a, 0x7b, 0xc5, 0xb1, 0xe5, 0x0c, 0x3c, 0x43,
+ 0xc0, 0x42, 0xdc, 0xb4, 0x80, 0xc9, 0x01, 0x47, 0x49, 0xb3,
+ 0xe5, 0x29, 0x85, 0x7b, 0x54, 0xbb, 0xbc, 0x20, 0x63, 0x6f,
+ 0x69, 0x75, 0x9b, 0x92, 0x1c, 0x28, 0x85, 0x42, 0xa5, 0x56,
+ 0xcd, 0x52, 0x29, 0xbf, 0xb7, 0x26, 0x8f, 0xa0, 0xed, 0x60,
+ 0x2f, 0xe0, 0xa5, 0xda, 0x86, 0x3e, 0xc6, 0xcc, 0x66, 0x96,
+ 0xb1, 0x17, 0x44, 0xa9, 0x5a, 0x67, 0xed, 0x52, 0x86, 0xde,
+ 0xa6, 0x13, 0x5f, 0x25, 0xf3, 0x09, 0x65, 0x5e, 0xa2, 0x7c,
+ 0x2c, 0x95, 0xde, 0x9a, 0xa6, 0x46, 0xc6, 0x64, 0x37, 0xdd,
+ 0x8f, 0x6b, 0xda, 0x85, 0x4b, 0xc0, 0xb6, 0x40, 0x8b, 0x01,
+ 0xc6, 0x2d, 0xe6, 0x49, 0xae, 0x34, 0x1a, 0xf4, 0x0e, 0xcc,
+ 0xad, 0x15, 0xc0, 0xb2, 0xb8, 0xc9, 0xe6, 0xb5, 0x06, 0x8a,
+ 0xe7, 0xee, 0x77, 0xaf, 0x67, 0xf0, 0x5a, 0x7b, 0x41, 0x29,
+ 0x21, 0xf4, 0x06, 0xfb, 0x26, 0xa7, 0x7e, 0x07, 0xe2, 0x30,
+ 0xb3, 0xb9, 0xbc, 0xae, 0x37, 0xdb, 0x12, 0x3c, 0x26, 0x63,
+ 0x46, 0xd0, 0x16, 0xff, 0x9e, 0x52, 0x0c, 0x62, 0x55, 0x12,
+ 0xad, 0x0e, 0x47, 0xa7, 0x46, 0x08, 0x66, 0xfd, 0x8f, 0x16,
+ 0x0b, 0xcd, 0xd8, 0x2b, 0xb3, 0xc7, 0xdb, 0xfc, 0x74, 0x6f,
+ 0x66, 0x90, 0x8a, 0xe9, 0xcb, 0xd3, 0x88, 0x0b, 0x7f, 0x34,
+ 0xf0, 0x5f, 0xd8, 0x35, 0xaf, 0x79, 0x8a, 0xeb, 0xaa, 0xc4,
+ 0x52, 0x3a, 0x1d, 0x94, 0xab, 0x7d, 0x16, 0x8a, 0xae, 0xc7,
+ 0x9c, 0xb1, 0xaa, 0x73, 0xca, 0xb3, 0x3a, 0xc2, 0x61, 0xf6,
+ 0x14, 0xa6, 0xff, 0x36, 0x34, 0x12, 0xc9, 0x2a, 0xca, 0x18,
+ 0xea, 0x9e, 0xa3, 0x2b, 0xf4, 0x69, 0xc0, 0xef, 0x19, 0xe3,
+ 0x42, 0xe0, 0xfa, 0xe2, 0xea, 0x80, 0x0a, 0x5d, 0xea, 0xf1,
+ 0x99, 0x32, 0xa9, 0xd3, 0xee, 0x8d, 0xc3, 0x7b, 0x63, 0xdf,
+ 0x0a, 0xce, 0x2a, 0x70, 0x73, 0x18, 0x0c, 0xad, 0x7d, 0x9a,
+ 0x08, 0x58, 0xb5, 0x89, 0x50, 0x17, 0x2a, 0x56, 0x4a, 0x07,
+ 0x1b, 0xe0, 0x70, 0xcf, 0xc2, 0x41, 0xe1, 0xe4, 0x2f, 0x5c,
+ 0x05, 0x8c, 0x4a, 0x3d, 0x6a, 0x2a, 0x82, 0x09, 0xe5, 0x50,
+ 0x16, 0x08, 0x07, 0x31, 0x59, 0xae, 0x36, 0x44, 0x6a, 0xa5,
+ 0x49, 0x42, 0x89, 0x97, 0xaa, 0x79, 0x10, 0x39, 0xcc, 0x38,
+ 0xee, 0xa9, 0xf4, 0xf6, 0x49, 0xa1, 0x69, 0x6f, 0x10, 0x7e,
+ 0x3f, 0xe6, 0xc4, 0x70, 0x2a, 0xed, 0x98, 0x5b, 0xc7, 0x3e,
+ 0x69, 0x39, 0x09, 0x18, 0x78, 0x86, 0x43, 0x84, 0x7b, 0xab,
+ 0xc3, 0x51, 0x02, 0x8e, 0x92, 0xa5, 0x09, 0x52, 0x29, 0x35,
+ 0xe1, 0x6f, 0xd6, 0x1b, 0xaf, 0xe2, 0x25, 0x84, 0x74, 0x7c,
+ 0xa1, 0x6d, 0x29, 0xca, 0xc9, 0xf6, 0xa8, 0xb5, 0xbb, 0x40,
+ 0xc6, 0xde, 0xd2, 0xea, 0xf5, 0xe7, 0x38, 0x50, 0xc9, 0x84,
+ 0xe9, 0xdb, 0x31, 0x5c, 0x2e, 0xdf, 0x12, 0x97, 0x34, 0x3f,
+ 0x83, 0x15, 0x0b, 0x98, 0xe9, 0x1c, 0x89, 0xac, 0x59, 0xa4,
+ 0x52, 0xbd, 0xad, 0x4c, 0xdd, 0x83, 0x19, 0xc0, 0x5e, 0x03,
+ 0x89, 0x77, 0xa9, 0x81, 0xc0, 0x4d, 0xc7, 0x22, 0x79, 0x05,
+ 0x3b, 0x56, 0x6f, 0x32, 0x6d, 0xcb, 0xa9, 0xef, 0xcf, 0x7c,
+ 0x4f, 0x5b, 0xcc, 0xef, 0xa1, 0x2e, 0x88, 0x91, 0xb4, 0xce,
+ 0x19, 0xa4, 0xcf, 0x7f, 0xef, 0x51, 0xd6, 0xb2, 0x59, 0x70,
+ 0x75, 0x67, 0x6e, 0x44, 0xc2, 0x3c, 0x2a, 0x6c, 0xef, 0xe7,
+ 0x8f, 0x26, 0xbe, 0x4a, 0x25, 0x12, 0xca, 0xbc, 0x87, 0xf8,
+ 0x58, 0xe9, 0x7f, 0xf7, 0x8f, 0x8c, 0xaf, 0x0b, 0x27, 0xa3,
+ 0xb0, 0x8d, 0x1e, 0xf5, 0x61, 0x2d, 0x2e, 0x1b, 0x4c, 0x3f,
+ 0xaf, 0x14, 0x4f, 0xc8, 0x6e, 0x79, 0xdd, 0xd6, 0x77, 0xc9,
+ 0x96, 0x43, 0xaf, 0x80, 0xd5, 0x02, 0x4f, 0x5a, 0x6f, 0xe5,
+ 0xf7, 0x90, 0x48, 0x49, 0xa3, 0x80, 0x70, 0x96, 0xd9, 0x72,
+ 0xe6, 0xca, 0x6f, 0xc2, 0x0f, 0x92, 0x9f, 0x68, 0x34, 0x2b,
+ 0x1c, 0x5b, 0x99, 0x2a, 0x43, 0xa7, 0xb3, 0x51, 0x0f, 0xa9,
+ 0x2f, 0xbf, 0x06, 0x81, 0xa1, 0xb4, 0xc8, 0x12, 0x7f, 0xff,
+ 0x35, 0x55, 0x80, 0x99, 0x2f, 0x31, 0x0c, 0xd7, 0x0d, 0x1f,
+ 0xee, 0x9d, 0xce, 0x23, 0xb4, 0xf6, 0x82, 0x52, 0x42, 0x2b,
+ 0x0c, 0x35, 0x2c, 0xfa, 0x94, 0xf6, 0x7b, 0x02, 0x1a, 0x6a,
+ 0x52, 0x23, 0xf4, 0xa0, 0x71, 0xe3, 0x2c, 0xad, 0x4c, 0x8d,
+ 0xfc, 0x0e, 0x07, 0x60, 0xa5, 0xb1, 0xbb, 0x9f, 0x6e, 0x75,
+ 0x24, 0x78, 0x4c, 0xc6, 0x6c, 0xa0, 0x65, 0xe7, 0x92, 0xff,
+ 0x71, 0xf8, 0x5d, 0x4a, 0x18, 0x87, 0x17, 0xb0, 0x6c, 0x5e,
+ 0x8c, 0x63, 0x2c, 0x3d, 0xff, 0xa4, 0x18, 0xc4, 0xaa, 0x24,
+ 0x99, 0x1c, 0x8e, 0x8d, 0x8c, 0x10, 0xac, 0x4e, 0xb5, 0xd4,
+ 0x6a, 0x3b, 0xcc, 0x8d, 0x4c, 0xf1, 0xef, 0xee, 0xbd, 0x45,
+ 0xac, 0x88, 0xcc, 0x39, 0xdd, 0x2c, 0x16, 0x59, 0x73, 0x56,
+ 0xa5, 0x4d, 0x75, 0x3b, 0xe8, 0xde, 0xcc, 0xe3, 0xec, 0x14,
+ 0x44, 0xc5, 0x83, 0xc6, 0xa7, 0x1f, 0x43, 0x98, 0x03, 0xc9,
+ 0xdb, 0x16, 0xec, 0x7b, 0xd7, 0x11, 0x55, 0x65, 0xd3, 0x16,
+ 0xfe, 0x68, 0x23, 0xbe, 0x73, 0x6a, 0x9d, 0xf2, 0xd7, 0x15,
+ 0xf7, 0x3c, 0xcc, 0x8c, 0x46, 0x89, 0x2a, 0x21, 0xc5, 0x6b,
+ 0x05, 0x98, 0xae, 0x3a, 0xf7, 0x8d, 0x97, 0x4b, 0xa4, 0x74,
+ 0x3a, 0xeb, 0x95, 0xfa, 0x2c, 0xd7, 0x9f, 0x4d, 0xfb, 0xa1,
+ 0x97, 0xe6, 0xb7, 0x66, 0x3d, 0x9d, 0xaf, 0x74, 0x41, 0xb3,
+ 0xca, 0x02, 0xe9, 0xbf, 0xc8, 0x69, 0xb7, 0x7e, 0x57, 0xa5,
+ 0x74, 0x47, 0xc2, 0x2f, 0x28, 0x8f, 0x3d, 0x6c, 0x68, 0x24,
+ 0x51, 0x54, 0x57, 0x30, 0x77, 0x88, 0xed, 0xae, 0x57, 0xb0,
+ 0xfc, 0xc6, 0xdb, 0xb9, 0x1e, 0xd6, 0x62, 0x9c, 0x77, 0xa8,
+ 0x17, 0xff, 0x85, 0x56, 0x2b, 0xd2, 0x43, 0x1d, 0x32, 0x05,
+ 0x84, 0x03, 0x37, 0x07, 0x17, 0xc3, 0x37, 0xd2, 0x1c, 0xbf,
+ 0xbe, 0x4d, 0x97, 0x54, 0xd4, 0xd0, 0xf2, 0xf1, 0x04, 0xcf,
+ 0x37, 0x5b, 0x14, 0xba, 0x17, 0x21, 0xf1, 0x64, 0x91, 0x65,
+ 0x1f, 0xd9, 0x45, 0xf6, 0xc6, 0x7d, 0x14, 0x5f, 0x34, 0x97,
+ 0x8e, 0xc8, 0x64, 0xfb, 0x45, 0x2c, 0xf9, 0x0c, 0x33, 0x04,
+ 0xf5, 0xb5, 0x34, 0xc7, 0x54, 0xe0, 0xe6, 0x30, 0x18, 0x99,
+ 0xfa, 0xf7, 0x10, 0xb0, 0xa9, 0xd1, 0xa0, 0x2e, 0x54, 0xac,
+ 0x74, 0xcd, 0x7f, 0xd9, 0x8d, 0x06, 0x2e, 0xbe, 0xf6, 0x65,
+ 0xdf, 0x23, 0x93, 0xe6, 0x74, 0x34, 0x94, 0x0e, 0x36, 0x03,
+ 0xe0, 0x5d, 0x47, 0x82, 0x01, 0x0b, 0x5e, 0xb8, 0x0a, 0xdb,
+ 0x94, 0x7a, 0xb4, 0x23, 0xaf, 0xea, 0x75, 0xc2, 0x93, 0xcb,
+ 0xe7, 0xde, 0x28, 0x4a, 0x39, 0x13, 0xb4, 0xe2, 0xd4, 0x54,
+ 0xc7, 0x12, 0x09, 0xa0, 0x2c, 0x10, 0x0e, 0x62, 0xb2, 0x9f,
+ 0x6c, 0x88, 0xd4, 0x89, 0xf4, 0x79, 0x5e, 0xfb, 0x9c, 0x3f,
+ 0xf8, 0x59, 0xe8, 0xb7, 0xc4, 0x6d, 0x5f, 0x40, 0xf4, 0x11,
+ 0x92, 0x84, 0xd1, 0xed, 0x97, 0xf2, 0x20, 0x72, 0x5b, 0x70,
+ 0x1f, 0x91, 0x2b, 0x2f, 0x92, 0x81, 0xb2, 0xa9, 0x48, 0x04,
+ 0x02, 0x6d, 0xf4, 0x3b, 0xbd, 0xa5, 0x69, 0x63, 0x18, 0xe7,
+ 0xb2, 0x19, 0xd2, 0xde, 0x20, 0xfc, 0x7e, 0x0f, 0x4b, 0xe0,
+ 0x54, 0x19, 0xf3, 0xb6, 0x4d, 0x7c, 0xd2, 0x72, 0xf2, 0xf3,
+ 0xb9, 0x15, 0xeb, 0x90, 0x9f, 0xa9, 0xb2, 0xcc, 0x85, 0x44,
+ 0x7e, 0xb4, 0xf2, 0xea, 0x12, 0x30, 0xf0, 0xcf, 0x86, 0xcb,
+ 0xf6, 0x95, 0x45, 0xa2, 0x04, 0xdf, 0xe7, 0x89, 0x12, 0xa4,
+ 0x32, 0x1d, 0x69, 0x26, 0x13, 0x54, 0x22, 0xdc, 0xa3, 0x77,
+ 0x72, 0x2d, 0xd4, 0x41, 0x32, 0x3c, 0x52, 0x6a, 0x01, 0xde,
+ 0x6f, 0x36, 0x9d, 0x07, 0x4a, 0xcb, 0xe8, 0xf8, 0x81, 0xda,
+ 0x52, 0x57, 0x72, 0x47, 0x98, 0x37, 0xfa, 0xa9, 0x49, 0x4e,
+ 0xac, 0x1e, 0x9e, 0x0a, 0xb2, 0x12, 0x72, 0xcf, 0x51, 0x2f,
+ 0x93, 0xa9, 0xb5, 0x80, 0x4f, 0x7f, 0x67, 0x17, 0x29, 0x0d,
+ 0x70, 0xa0, 0x51, 0xcb, 0x71, 0x02, 0x0a, 0x40, 0x20, 0x1f,
+ 0x9b, 0x36, 0x81, 0xc2, 0x5f, 0xff, 0x43, 0x68, 0x71, 0x53,
+ 0x11, 0x75, 0x62, 0xb8, 0x5c, 0x7d, 0x24, 0xed, 0x68, 0x7e,
+ 0xc5, 0x2a, 0x16, 0xf3, 0x11, 0x38, 0x31, 0x58, 0xfb, 0x51,
+ 0xc9, 0xe2, 0xf0, 0xa4, 0x8e, 0xab, 0xb3, 0xd8, 0x25, 0x3b,
+ 0x31, 0xa0, 0xd1, 0x9b, 0xb2, 0x8b, 0xa4, 0xb9, 0x99, 0x98,
+ 0x79, 0xc5, 0x32, 0x43, 0xbc, 0x06, 0xd1, 0xee, 0xf1, 0xb6,
+ 0x2b, 0x62, 0x31, 0x26, 0x4d, 0xd1, 0x9f, 0x10, 0x44, 0xb1,
+ 0x8f, 0xce, 0xf1, 0x76, 0x91, 0xc1, 0x43, 0x9a, 0x4d, 0x44,
+ 0xf2, 0x0a, 0x76, 0xac, 0xde, 0x64, 0xda, 0x55, 0x91, 0x1d,
+ 0xb1, 0xec, 0xda, 0x73, 0xd8, 0xdb, 0x26, 0x43, 0x90, 0x79,
+ 0xa8, 0x96, 0xe9, 0x9d, 0xb1, 0x85, 0x5d, 0xf8, 0x9e, 0xb6,
+ 0x5b, 0x1d, 0x81, 0x5c, 0xd3, 0xe1, 0xab, 0x5f, 0x32, 0x8b,
+ 0x5d, 0xfe, 0x7d, 0xd5, 0x07, 0x5f, 0xce, 0x82, 0x55, 0x15,
+ 0x35, 0x34, 0xdd, 0xad, 0x01, 0x43, 0x7d, 0x66, 0x1d, 0xa2,
+ 0x6f, 0xa7, 0xb2, 0xe0, 0xea, 0xce, 0xdc, 0x88, 0x47, 0x78,
+ 0x54, 0xd8, 0x1d, 0x0d, 0x3d, 0x8f, 0xf6, 0x4e, 0x27, 0x7f,
+ 0x3e, 0x87, 0x3a, 0x5d, 0x31, 0x8a, 0x67, 0x10, 0x3d, 0x95,
+ 0xdd, 0x4c, 0xbf, 0x94, 0x4a, 0x24, 0x57, 0xbb, 0xcd, 0x33,
+ 0xb0, 0x11, 0xfe, 0x2d, 0xdd, 0xdb, 0xfd, 0x61, 0x26, 0x7d,
+ 0xdf, 0xbb, 0x83, 0xf2, 0x2b, 0xe6, 0xc6, 0xe3, 0xcd, 0xe5,
+ 0xfd, 0x43, 0x9d, 0x16, 0x4e, 0x85, 0xa3, 0xd9, 0x3c, 0x29,
+ 0xc2, 0x5a, 0x5c, 0x36, 0x98, 0x7e, 0x9d, 0x28, 0xbd, 0x3b,
+ 0xd7, 0x6c, 0x36, 0x46, 0xe8, 0x60, 0x24, 0x8f, 0x2a, 0xc4,
+ 0xab, 0xb6, 0xbd, 0xb0, 0x9e, 0x53, 0xdc, 0xf2, 0x79, 0x6f,
+ 0xee, 0x51, 0xef, 0x86, 0x9d, 0xc3, 0x69, 0x04, 0x9e, 0xb4,
+ 0xbe, 0x7e, 0x45, 0x1b, 0xec, 0xf0, 0x3a, 0x18, 0x09, 0x53,
+ 0xeb, 0x31, 0x5a, 0xcc, 0xbe, 0x2c, 0xde, 0x09, 0x2d, 0xe3,
+ 0x90, 0x92, 0x85, 0xc3, 0xe0, 0xef, 0x71, 0xe4, 0x0f, 0x57,
+ 0xde, 0x47, 0xfe, 0x24, 0xb4, 0x0a, 0x05, 0x0d, 0x51, 0x8a,
+ 0x06, 0x3a, 0x07, 0x16, 0x3c, 0x9f, 0xfe, 0xdf, 0x1e, 0xe7,
+ 0xfd, 0xd0, 0x68, 0x56, 0x38, 0xb6, 0xf1, 0x54, 0x86, 0x8d,
+ 0xa5, 0xa2, 0x1e, 0x91, 0x3e, 0xca, 0x64, 0x39, 0xfd, 0xc9,
+ 0xec, 0xff, 0x17, 0x81, 0xf0, 0x7f, 0x96, 0x6a, 0x3e, 0x09,
+ 0x5e, 0xbd, 0x0c, 0xc1, 0x81, 0xab, 0x53, 0x24, 0xfe, 0x3d,
+ 0x6a, 0xaa, 0xc3, 0xf1, 0x5e, 0x62, 0x7e, 0x90, 0x95, 0x28,
+ 0x14, 0x34, 0x87, 0x6d, 0x18, 0xe8, 0x1c, 0x58, 0xf0, 0x39,
+ 0x7e, 0xfa, 0x18, 0x6d, 0x1a, 0x3e, 0x1f, 0xf9, 0x5f, 0x46,
+ 0xab, 0x2f, 0xc7, 0xa4, 0x84, 0x56, 0x18, 0x6a, 0x38, 0x40,
+ 0x83, 0xd7, 0x8a, 0x66, 0x8b, 0x0f, 0x4d, 0xfa, 0xb1, 0x56,
+ 0xb7, 0x9e, 0x38, 0xf2, 0x58, 0x37, 0xeb, 0x2f, 0xf6, 0x04,
+ 0x34, 0xd4, 0xa4, 0x46, 0x2b, 0x83, 0xe2, 0x05, 0x58, 0x99,
+ 0x78, 0x1a, 0x72, 0xc6, 0x63, 0x9b, 0xe0, 0x9d, 0x42, 0x93,
+ 0x5d, 0x71, 0xd1, 0xcd, 0x78, 0x01, 0x98, 0xd9, 0x3b, 0x1c,
+ 0x0e, 0xc0, 0x89, 0xa1, 0xb5, 0xfd, 0xdc, 0xea, 0x48, 0xf0,
+ 0x98, 0x4f, 0xb8, 0xf4, 0xa2, 0xf5, 0x9b, 0x5f, 0x5d, 0xe8,
+ 0x53, 0x28, 0xaa, 0x18, 0x7b, 0x38, 0xb8, 0xd7, 0xd8, 0x83,
+ 0xca, 0x0d, 0xe7, 0x3d, 0xe2, 0x33, 0xba, 0x94, 0x30, 0xcd,
+ 0x2e, 0xa3, 0xd8, 0xbc, 0xf8, 0xae, 0x53, 0xe4, 0x72, 0xa2,
+ 0x36, 0x7a, 0x5c, 0x41, 0x46, 0x3f, 0x1d, 0x6b, 0xf8, 0x24,
+ 0xdb, 0xc6, 0x58, 0x7a, 0x3d, 0x8b, 0x30, 0x4b, 0x97, 0x48,
+ 0xf1, 0x38, 0xdf, 0xd9, 0xdb, 0x20, 0xfb, 0xeb, 0xc1, 0x93,
+ 0xa8, 0x14, 0xe4, 0x02, 0x71, 0x9d, 0x87, 0xca, 0xec, 0x11,
+ 0xfb, 0xb8, 0x9b, 0x9c, 0xa9, 0x6b, 0xd4, 0x76, 0x5b, 0xd9,
+ 0x98, 0x21, 0x1d, 0x1f, 0xb9, 0x8a, 0x9b, 0xd3, 0xbb, 0xb1,
+ 0x30, 0x82, 0x41, 0xe9, 0x8f, 0x90, 0x7e, 0xf4, 0x6b, 0xed,
+ 0x8a, 0x42, 0xbb, 0x4b, 0x5b, 0x72, 0x79, 0x58, 0x2c, 0xb2,
+ 0xe6, 0xac, 0x89, 0x9a, 0xea, 0x76, 0x13, 0x7f, 0x5b, 0x05,
+ 0x7b, 0x5f, 0xe0, 0xb1, 0xb9, 0x2d, 0x32, 0xe5, 0x6f, 0x4f,
+ 0x9c, 0x84, 0x20, 0xb7, 0x7b, 0x9d, 0x1b, 0x28, 0x88, 0x49,
+ 0xc5, 0x4f, 0x8d, 0x3e, 0x86, 0xf3, 0x06, 0x51, 0x75, 0x2c,
+ 0x1b, 0xf6, 0x3b, 0x05, 0x11, 0xa0, 0x50, 0xd0, 0x59, 0x77,
+ 0x60, 0x26, 0x70, 0xa3, 0x46, 0xe4, 0x3b, 0x6e, 0x6d, 0x22,
+ 0xaa, 0xca, 0x65, 0x2c, 0x3f, 0xd0, 0x46, 0xbf, 0xe6, 0xd4,
+ 0xf9, 0x27, 0x6d, 0x2a, 0x4d, 0x0f, 0x33, 0x23, 0xf0, 0xb3,
+ 0xeb, 0x99, 0xa0, 0x6a, 0x90, 0x26, 0xca, 0xef, 0x4d, 0xb2,
+ 0x2d, 0x78, 0x5b, 0xdb, 0x8c, 0xd1, 0x54, 0x42, 0x49, 0xd6,
+ 0x0a, 0xf3, 0x9f, 0x74, 0x2d, 0xd9, 0x0d, 0x55, 0xc2, 0x32,
+ 0x19, 0x4e, 0x80, 0x0b, 0xaf, 0x03, 0x7c, 0x01, 0xac, 0xbc,
+ 0x0d, 0x41, 0xed, 0x96, 0x8b, 0xe8, 0x74, 0x15, 0xe9, 0x37,
+ 0x58, 0x6d, 0xfd, 0x9a, 0x35, 0x81, 0xed, 0x0f, 0xcd, 0xbb,
+ 0x12, 0x01, 0xe1, 0x8a, 0x3d, 0x7e, 0xbe, 0xb8, 0x8b, 0x68,
+ 0x06, 0x49, 0xcd, 0x97, 0xad, 0xcc, 0x7a, 0xf9, 0x9d, 0xe8,
+ 0x82, 0xa5, 0x57, 0x04, 0x11, 0xbd, 0x53, 0xd2, 0xad, 0xfc,
+ 0x8d, 0xe1, 0xe3, 0x10, 0x08, 0x77, 0x56, 0xec, 0xb1, 0xd1,
+ 0x67, 0x4f, 0x60, 0x1a, 0x8d, 0x64, 0xae, 0x89, 0xe8, 0x8e,
+ 0x47, 0x5e, 0x50, 0xdd, 0x7a, 0xd8, 0xd0, 0x48, 0xa2, 0xa8,
+ 0xae, 0x60, 0x8e, 0xa4, 0x71, 0x67, 0xd2, 0xc1, 0x84, 0x94,
+ 0x9c, 0x0d, 0xa6, 0xba, 0x91, 0x60, 0x8e, 0xf8, 0xee, 0xd3,
+ 0x19, 0x9f, 0xae, 0xa3, 0x3b, 0x4f, 0x75, 0xb1, 0x3c, 0x6f,
+ 0xc4, 0xfb, 0xee, 0x93, 0xce, 0xfe, 0x80, 0x76, 0x3b, 0x3c,
+ 0xef, 0x06, 0x93, 0x64, 0x4a, 0x9d, 0xf7, 0x33, 0xce, 0x0b,
+ 0x2e, 0x3d, 0xc9, 0xac, 0x56, 0x67, 0x86, 0x3a, 0x64, 0x0a,
+ 0xcb, 0x06, 0x6e, 0x0e, 0x2e, 0x45, 0x0e, 0x10, 0x50, 0x45,
+ 0xc3, 0xf8, 0x52, 0x73, 0x82, 0xdf, 0xbd, 0xf4, 0x5d, 0xc6,
+ 0x0e, 0xdd, 0x6e, 0x67, 0x38, 0xbd, 0xbf, 0x9a, 0xed, 0xa8,
+ 0x6b, 0x63, 0x27, 0x21, 0x08, 0x5d, 0x6e, 0xb6, 0x4e, 0x4a,
+ 0xa1, 0x54, 0x2a, 0x05, 0x39, 0xe1, 0x8d, 0xb6, 0x51, 0xd3,
+ 0x3b, 0x95, 0x4e, 0x2e, 0x28, 0xb7, 0x2e, 0x42, 0x21, 0xc8,
+ 0xe1, 0xca, 0x3e, 0x71, 0x8a, 0x2f, 0x4f, 0xfa, 0x28, 0xbe,
+ 0x08, 0x9a, 0xb7, 0xab, 0xb4, 0x57, 0x35, 0x83, 0xd8, 0xa4,
+ 0xfc, 0xdd, 0x7c, 0x32, 0x08, 0x26, 0x68, 0xed, 0xdf, 0x53,
+ 0xc8, 0x35, 0x8a, 0x58, 0x31, 0x18, 0x66, 0x08, 0x29, 0xa9,
+ 0x68, 0x4d, 0x48, 0xc0, 0x46, 0xba, 0x5d, 0xaa, 0x5e, 0x11,
+ 0xd7, 0xcd, 0x10, 0xfa, 0x1a, 0x61, 0x48, 0xd5, 0xa8, 0x03,
+ 0x0f, 0x60, 0x30, 0xf1, 0x37, 0x2d, 0x20, 0xa3, 0x91, 0x61,
+ 0x83, 0x5c, 0xa8, 0x9b, 0x88, 0x2e, 0x96, 0x89, 0xa5, 0x6e,
+ 0xe3, 0x64, 0xc6, 0x76, 0xe7, 0x93, 0xb0, 0x94, 0x88, 0x03,
+ 0xe8, 0x59, 0xfe, 0x71, 0xd9, 0x0c, 0x5c, 0xbf, 0x2f, 0xca,
+ 0x7d, 0x46, 0xe5, 0x0f, 0xe8, 0x68, 0xc8, 0x74, 0x67, 0x98,
+ 0x4c, 0x93, 0x88, 0xf6, 0xc9, 0x1f, 0x0b, 0xb4, 0xd6, 0xc7,
+ 0xc8, 0xf0, 0xeb, 0x1c, 0x6c, 0x06, 0x03, 0xba, 0x8e, 0xc7,
+ 0x02, 0x16, 0xbc, 0xb3, 0x14, 0x75, 0xeb, 0xf4, 0xcb, 0x31,
+ 0xf5, 0xef, 0x96, 0x25, 0x5a, 0x8e, 0xe4, 0xc3, 0xca, 0x41,
+ 0x27, 0xbd, 0xcb, 0x6c, 0xab, 0x46, 0x9d, 0x17, 0xea, 0x47,
+ 0xe5, 0x55, 0x0d, 0x7f, 0x50, 0x94, 0x72, 0x26, 0xab, 0x07,
+ 0x8b, 0x6b, 0x04, 0xfe, 0x7f, 0xd8, 0x31, 0x1c, 0xeb, 0xaa,
+ 0x26, 0x66, 0x41, 0xee, 0x8b, 0x9f, 0x6b, 0xa8, 0x4d, 0x24,
+ 0x12, 0x83, 0x58, 0x20, 0x1c, 0xc4, 0xa7, 0xfd, 0xd8, 0xd3,
+ 0x6b, 0xd1, 0x4b, 0x85, 0xd4, 0xcd, 0x87, 0x1c, 0x8c, 0x69,
+ 0xfa, 0x11, 0xd1, 0x0f, 0xeb, 0x1b, 0x4b, 0x49, 0x2b, 0xf2,
+ 0xbc, 0x35, 0xfb, 0x7e, 0x33, 0xb2, 0x13, 0xad, 0x4b, 0xda,
+ 0xbe, 0x80, 0x2b, 0x22, 0x0b, 0xdf, 0x25, 0xdc, 0x6e, 0xe1,
+ 0xe7, 0xfb, 0xf5, 0x78, 0x3d, 0x28, 0x8d, 0x48, 0x0b, 0xba,
+ 0xe7, 0xcb, 0x61, 0x19, 0xed, 0x27, 0x40, 0xe4, 0xb6, 0xe0,
+ 0x3e, 0xe1, 0x56, 0x5e, 0xe7, 0xc1, 0xc7, 0xe6, 0xf8, 0xf0,
+ 0x78, 0xb8, 0x94, 0xad, 0x50, 0x35, 0x48, 0x13, 0x65, 0x96,
+ 0xc7, 0x59, 0xa7, 0x91, 0x90, 0x08, 0x04, 0xda, 0x2b, 0x76,
+ 0xb9, 0x89, 0xd2, 0xc6, 0x30, 0x0d, 0xa7, 0x32, 0x87, 0xbc,
+ 0x09, 0xe1, 0x91, 0x45, 0xff, 0x3f, 0x5f, 0x5c, 0xa4, 0x34,
+ 0x03, 0xc5, 0x87, 0xaa, 0x67, 0x7f, 0x40, 0x3b, 0xfc, 0x1e,
+ 0x96, 0x03, 0xa8, 0x32, 0x25, 0xaf, 0x9a, 0xf8, 0x67, 0xe4,
+ 0x47, 0x52, 0xd9, 0xd2, 0x69, 0x81, 0x42, 0x4a, 0x4e, 0xe7,
+ 0x53, 0x5d, 0xa9, 0x30, 0x47, 0x7c, 0x27, 0x25, 0xb1, 0x2a,
+ 0x15, 0xe3, 0xfd, 0x91, 0xa7, 0x5b, 0xc9, 0x88, 0xfc, 0xab,
+ 0x27, 0x17, 0x07, 0x08, 0x28, 0xc3, 0x80, 0x7c, 0x29, 0xd8,
+ 0x41, 0x8e, 0xbf, 0x7a, 0xcf, 0x63, 0x07, 0x8f, 0x24, 0x60,
+ 0x23, 0x5d, 0xcf, 0x55, 0x2f, 0xe9, 0x8a, 0x87, 0x08, 0x7d,
+ 0x0d, 0xd1, 0x24, 0x8b, 0x04, 0x4d, 0xba, 0xb4, 0x5a, 0xca,
+ 0xfb, 0xa0, 0x6c, 0x52, 0x7e, 0x8f, 0x3e, 0x19, 0x04, 0x13,
+ 0x64, 0x3a, 0xd2, 0x4c, 0x26, 0xa8, 0x44, 0x7b, 0x85, 0xee,
+ 0xe4, 0x5a, 0x6b, 0x82, 0x64, 0x78, 0x44, 0x17, 0x4b, 0xa5,
+ 0xb3, 0x37, 0x90, 0x32, 0x63, 0x3b, 0x92, 0xa8, 0x58, 0x4a,
+ 0x44, 0xe0, 0xa4, 0xd4, 0x02, 0x7f, 0xde, 0x6c, 0xf9, 0x0e,
+ 0x94, 0x55, 0x13, 0x33, 0xc1, 0x77, 0xa4, 0xae, 0x84, 0xf9,
+ 0x9b, 0x96, 0x4b, 0xf3, 0x2d, 0x47, 0x72, 0x80, 0x65, 0xc1,
+ 0xf2, 0xbf, 0x84, 0x36, 0xe4, 0x8e, 0xf3, 0x6e, 0x37, 0x91,
+ 0x92, 0x9c, 0x9b, 0x3c, 0xff, 0x14, 0xa7, 0x24, 0xe4, 0x5d,
+ 0xc4, 0xa3, 0x6a, 0x87, 0xa2, 0x0e, 0x46, 0xd5, 0x7d, 0xe9,
+ 0x89, 0xe6, 0x94, 0xec, 0xc4, 0xc5, 0xa2, 0x5e, 0xe5, 0x91,
+ 0xa9, 0xc3, 0x9e, 0xfe, 0xce, 0x2e, 0x52, 0x1a, 0xe0, 0x83,
+ 0xa2, 0x55, 0x82, 0x73, 0x7c, 0x78, 0x3c, 0x5c, 0x4a, 0xb7,
+ 0x28, 0xfb, 0x24, 0xe8, 0xd3, 0x4b, 0x82, 0xcd, 0xe2, 0x04,
+ 0x14, 0x80, 0x40, 0x3e, 0xf5, 0x6c, 0xc1, 0x47, 0xbe, 0x3d,
+ 0x86, 0xd0, 0xe2, 0xa6, 0xc2, 0x29, 0x8d, 0x69, 0xd5, 0xa1,
+ 0x21, 0x25, 0x27, 0x92, 0xc8, 0xcf, 0xb5, 0x18, 0xc2, 0x3e,
+ 0x22, 0xea, 0xc4, 0xb3, 0xb8, 0xfa, 0x48, 0x19, 0xd0, 0xfc,
+ 0x49, 0x54, 0x2c, 0x25, 0x22, 0x70, 0x02, 0xc7, 0x5d, 0x5a,
+ 0x2d, 0x65, 0x9c, 0x50, 0x36, 0x29, 0x3f, 0xa6, 0x1f, 0xed,
+ 0x02, 0xe8, 0x62, 0xb0, 0x35, 0xa2, 0x51, 0x07, 0x23, 0x8b,
+ 0xdf, 0x95, 0xa5, 0x73, 0x4a, 0x76, 0x62, 0x83, 0x42, 0x9d,
+ 0xac, 0x4b, 0xc4, 0x98, 0xf7, 0xc2, 0x39, 0x40, 0xd3, 0x81,
+ 0x79, 0xbe, 0x42, 0x1b, 0x61, 0xf5, 0xa7, 0xd5, 0x8b, 0xb1,
+ 0xf1, 0xf3, 0xf2, 0x49, 0x64, 0x86, 0xbb, 0x0c, 0x61, 0x1f,
+ 0x41, 0xd8, 0x3e, 0x3c, 0x1e, 0x2e, 0x25, 0xba, 0x14, 0x9c,
+ 0x12, 0x74, 0x88, 0xc4, 0x41, 0x87, 0x21, 0xaf, 0x56, 0xc4,
+ 0x62, 0x4c, 0x9a, 0x61, 0xfd, 0x20, 0x88, 0xa1, 0xdd, 0x5f,
+ 0x21, 0xec, 0x01, 0x82, 0xcf, 0x2d, 0xf7, 0xd3, 0x4e, 0x28,
+ 0x1b, 0xf5, 0xfe, 0x53, 0xee, 0x97, 0x01, 0x74, 0xe1, 0x41,
+ 0x86, 0xf7, 0x9a, 0x88, 0x27, 0x14, 0xec, 0x9b, 0x7f, 0xc8,
+ 0x77, 0xaa, 0xe1, 0x3a, 0xc1, 0x6c, 0x1f, 0x1e, 0x0f, 0x17,
+ 0xf3, 0x5d, 0x0a, 0x4e, 0x09, 0x3a, 0x44, 0x62, 0xc1, 0xa2,
+ 0xa1, 0x1b, 0x77, 0xe6, 0x73, 0x75, 0x4c, 0x86, 0xe3, 0xf2,
+ 0x93, 0xef, 0x11, 0xf9, 0xa1, 0xc9, 0x81, 0x36, 0xee, 0x0f,
+ 0xe6, 0xea, 0x98, 0xcf, 0x05, 0x27, 0xe5, 0x1d, 0x22, 0x31,
+ 0x81, 0x51, 0xba, 0x33, 0xff, 0xaf, 0xb6, 0x3a, 0xc1, 0xb8,
+ 0x65, 0x01, 0x95, 0xbe, 0x64, 0xd5, 0xba, 0x3f, 0x9a, 0x1e,
+ 0x66, 0x46, 0x23, 0xa5, 0x15, 0xf1, 0x83, 0xd4, 0xe3, 0x4c,
+ 0x57, 0x1d, 0x9a, 0xa7, 0xfa, 0x69, 0x0e, 0xbe, 0x5f, 0xc7,
+ 0xaa, 0x2a, 0x6a, 0x68, 0x79, 0x99, 0x02, 0x86, 0xfa, 0xcc,
+ 0xda, 0x44, 0x97, 0x57, 0xca, 0x58, 0x7e, 0x63, 0x8c, 0xbd,
+ 0x0f, 0x6b, 0x31, 0x4e, 0xda, 0x54, 0x3a, 0x87, 0xde, 0x8d,
+ 0xa7, 0x03, 0x17, 0x5f, 0x7b, 0xd3, 0x8e, 0xf0, 0xa8, 0x73,
+ 0x3a, 0x1a, 0x1a, 0xaa, 0x47, 0x64, 0x32, 0x9c, 0xc3, 0x16,
+ 0x9d, 0x06, 0xf8, 0x02, 0x9b, 0xbb, 0x1a, 0x82, 0x7a, 0xdd,
+ 0x2f, 0x9c, 0x4e, 0xfe, 0x7c, 0xcd, 0x74, 0xba, 0x62, 0xd7,
+ 0xce, 0x20, 0x7a, 0xe9, 0x5a, 0xf0, 0xb6, 0x75, 0xdb, 0x61,
+ 0xa8, 0x84, 0x92, 0x6f, 0x14, 0x25, 0xfd, 0xe8, 0x5a, 0x71,
+ 0x79, 0x98, 0xbd, 0xeb, 0x94, 0x48, 0xae, 0xb5, 0x59, 0x66,
+ 0xa3, 0x22, 0x3f, 0x5a, 0x79, 0x75, 0x59, 0xb5, 0x24, 0x02,
+ 0x01, 0xd7, 0x7a, 0xfc, 0xbf, 0xb3, 0xd5, 0xd0, 0x0c, 0x92,
+ 0x59, 0xed, 0x39, 0xc2, 0x4c, 0xfa, 0x7d, 0xb5, 0xc5, 0x27,
+ 0x56, 0x0f, 0x4f, 0x05, 0x59, 0x09, 0x39, 0x86, 0x19, 0xef,
+ 0xd5, 0x13, 0xe8, 0x2a, 0x11, 0x6e, 0xb0, 0xda, 0x39, 0xf7,
+ 0x6a, 0xc1, 0x19, 0x1e, 0xf9, 0x2c, 0x9c, 0xc9, 0x85, 0x71,
+ 0x78, 0x52, 0x47, 0xb4, 0xb8, 0x6c, 0xf3, 0xfc, 0xf9, 0x50,
+ 0xd9, 0x01, 0x05, 0x20, 0x10, 0xee, 0xac, 0x1b, 0xa1, 0x61,
+ 0xce, 0x9e, 0xc0, 0x34, 0xd9, 0xc8, 0xb9, 0x76, 0x6d, 0xd8,
+ 0x6c, 0x8c, 0x13, 0xc0, 0x48, 0xdd, 0x54, 0x4b, 0x95, 0xaf,
+ 0xb9, 0xa3, 0x99, 0x5b, 0xf4, 0x31, 0xf9, 0x13, 0xc7, 0x89,
+ 0xae, 0x08, 0x22, 0xb9, 0xa6, 0x67, 0x99, 0x3b, 0xff, 0xa6,
+ 0x7b, 0x27, 0xf2, 0xde, 0x1f, 0xa2, 0x1d, 0xcf, 0xf9, 0x45,
+ 0xd2, 0x08, 0xff, 0xab, 0xdf, 0x8b, 0xe2, 0xce, 0x67, 0x41,
+ 0xcb, 0xeb, 0xfb, 0x1a, 0x8f, 0xb7, 0xe1, 0xc0, 0xdf, 0x33,
+ 0xbf, 0xfc, 0x8a, 0x36, 0x1b, 0x23, 0x74, 0x30, 0x12, 0xa6,
+ 0x15, 0x62, 0xb4, 0x5b, 0xbf, 0x58, 0x9f, 0xd1, 0x13, 0xdf,
+ 0x8e, 0xbc, 0xa0, 0x79, 0xf4, 0x73, 0x63, 0x90, 0x87, 0x93,
+ 0x9f, 0xc0, 0x7f, 0x12, 0x5a, 0x05, 0xe3, 0xe7, 0xc9, 0x45,
+ 0x03, 0x1d, 0xe2, 0x0b, 0x1e, 0xae, 0x7f, 0x8e, 0x5f, 0x3f,
+ 0xc3, 0xec, 0x76, 0x78, 0x1d, 0x0c, 0xe5, 0xc8, 0x94, 0xf9,
+ 0x2d, 0x66, 0x5f, 0x16, 0x3f, 0x48, 0xab, 0x14, 0x0a, 0x1a,
+ 0xa2, 0xd7, 0x0c, 0x74, 0x0e, 0x2c, 0x78, 0xfd, 0x3f, 0x7d,
+ 0x1f, 0x65, 0x32, 0xfd, 0x9f, 0x85, 0x76, 0x9e, 0xea, 0xa1,
+ 0x78, 0xde, 0x4b, 0x35, 0x1f, 0xe5, 0x3c, 0x0d, 0x39, 0x63,
+ 0xd0, 0xac, 0x70, 0xaf, 0x21, 0xa8, 0xcf, 0xd9, 0x89, 0x87,
+ 0x3c, 0xe1, 0x1c, 0x20, 0xa0, 0x8a, 0x45, 0x33, 0xa4, 0xe6,
+ 0xc7, 0x7d, 0xb9, 0x2b, 0xba, 0x4f, 0x1c, 0x79, 0x7c, 0x57,
+ 0xc8, 0x72, 0x39, 0x51, 0x1b, 0x3d, 0x2e, 0xc1, 0x23, 0xfe,
+ 0xef, 0xd4, 0x7c, 0x12, 0x5c, 0x7a, 0x51, 0x9b, 0xac, 0xce,
+ 0xcf, 0x74, 0xc8, 0x14, 0x55, 0x0c, 0xdc, 0x1c, 0x5c, 0x8a,
+ 0xbc, 0xb9, 0x18, 0x41, 0xc1, 0x95, 0xa6, 0x48, 0x3f, 0x7a,
+ 0xd4, 0x97, 0x45, 0x21, 0xbc, 0xc4, 0x9c, 0x94, 0x81, 0xa8,
+ 0x54, 0x0a, 0x72, 0x01, 0xd9, 0xaf, 0xa2, 0x65, 0x76, 0xe9,
+ 0x9c, 0x5c, 0xfc, 0xe3, 0xe9, 0x50, 0x28, 0x68, 0xcd, 0xda,
+ 0x30, 0x13, 0x38, 0xb0, 0x23, 0x72, 0xfc, 0x37, 0xdc, 0xce,
+ 0x70, 0xb9, 0xbd, 0xf7, 0x19, 0x93, 0xd6, 0xc6, 0x4e, 0x42,
+ 0x10, 0xba, 0xdc, 0xaf, 0x30, 0xda, 0x34, 0x7c, 0x3e, 0x31,
+ 0xbe, 0x8c, 0x95, 0x5e, 0x4d, 0x8b, 0xcb, 0xac, 0x30, 0xd4,
+ 0x10, 0xf7, 0xad, 0x95, 0xab, 0xae, 0x6a, 0xc5, 0x73, 0x8b,
+ 0x3b, 0x79, 0xf8, 0x64, 0x10, 0x4c, 0x70, 0x80, 0xc5, 0x6d,
+ 0xd7, 0xcc, 0xd5, 0x1e, 0x9a, 0x37, 0xa1, 0xac, 0xad, 0xff,
+ 0x70, 0x27, 0x50, 0xad, 0x5c, 0x84, 0x42, 0x53, 0x01, 0x57,
+ 0x7c, 0xe2, 0xd7, 0x5e, 0x9e, 0x37, 0x50, 0xbf, 0xb0, 0x6e,
+ 0x15, 0x5e, 0x2f, 0x08, 0x68, 0x6b, 0x8b, 0x8c, 0x56, 0xc5,
+ 0x07, 0x0a, 0xb0, 0xf1, 0x90, 0x43, 0x8c, 0xb7, 0xba, 0x97,
+ 0xbc, 0x22, 0x6d, 0x59, 0x20, 0x37, 0x34, 0xc2, 0x90, 0x69,
+ 0xf0, 0x34, 0xe4, 0x4f, 0xc6, 0xf5, 0x03, 0xf9, 0x84, 0xe5,
+ 0xba, 0xe2, 0x61, 0x59, 0xf0, 0x02, 0xd0, 0x19, 0x7d, 0xa6,
+ 0x53, 0x6a, 0xd7, 0xb0, 0x62, 0x30, 0xcc, 0x10, 0x52, 0x91,
+ 0xd0, 0x9a, 0xf3, 0x71, 0x76, 0x38, 0x1c, 0x43, 0xd1, 0x81,
+ 0xa9, 0x39, 0x7b, 0x17, 0x90, 0x23, 0xf3, 0x9e, 0xd3, 0x5c,
+ 0xef, 0xd1, 0x89, 0xdc, 0x05, 0xc8, 0x4f, 0xec, 0x0d, 0xe5,
+ 0xa3, 0xeb, 0xd3, 0x06, 0xb3, 0x2b, 0x87, 0x29, 0xf5, 0xbe,
+ 0xba, 0x13, 0xa6, 0x50, 0x97, 0x30, 0xf6, 0x70, 0xb3, 0x6d,
+ 0x93, 0x06, 0x1e, 0xc0, 0x60, 0x21, 0x6e, 0x5a, 0x40, 0x85,
+ 0xe1, 0xc2, 0xc5, 0xb8, 0x93, 0xf5, 0x73, 0xc5, 0x57, 0x1a,
+ 0x0d, 0x7a, 0x07, 0x66, 0xb7, 0xeb, 0x60, 0x59, 0x5c, 0x85,
+ 0x73, 0xbb, 0x53, 0xe8, 0xce, 0xf3, 0x98, 0xe5, 0xd3, 0x2f,
+ 0x51, 0x3e, 0x16, 0xab, 0x6f, 0x4d, 0x53, 0x23, 0x33, 0x9f,
+ 0xa6, 0x0b, 0xe4, 0x87, 0x6c, 0xf4, 0xb8, 0x82, 0x8c, 0x7e,
+ 0x3a, 0xd6, 0x33, 0x48, 0x13, 0xb2, 0x3f, 0xe2, 0x71, 0x18,
+ 0xb8, 0xbd, 0x5e, 0x57, 0xfa, 0x8c, 0x09, 0x1e, 0x13, 0xd0,
+ 0x75, 0x4f, 0xb0, 0xf4, 0x7a, 0xd5, 0x60, 0x96, 0xed, 0x90,
+ 0x21, 0x70, 0x7d, 0x71, 0x75, 0x40, 0x55, 0x62, 0x29, 0x1d,
+ 0xef, 0x4a, 0xb4, 0xdf, 0x0b, 0x45, 0x57, 0x82, 0x4e, 0xb9,
+ 0x55, 0xd8, 0x35, 0x15, 0x41, 0xe5, 0x93, 0x28, 0x0b, 0x04,
+ 0xe2, 0xf9, 0xcd, 0x57, 0x1b, 0x22, 0x35, 0xb3, 0x15, 0x38,
+ 0xd8, 0x0c, 0x06, 0xb7, 0xdf, 0x4d, 0x04, 0x2c, 0xbb, 0xa5,
+ 0x28, 0xea, 0x15, 0x2b, 0xf5, 0xfb, 0x91, 0xd6, 0x6b, 0xec,
+ 0xb6, 0x71, 0xf3, 0x42, 0x3a, 0x3e, 0xb1, 0xd7, 0xf5, 0x65,
+ 0xd5, 0xd6, 0x08, 0x3f, 0xfe, 0x73, 0x62, 0x38, 0x15, 0x97,
+ 0x4c, 0xcc, 0x82, 0x1f, 0xd5, 0xfd, 0xb5, 0xa1, 0x60, 0xc7,
+ 0x82, 0x11, 0xdd, 0xe3, 0xfc, 0x2b, 0xd6, 0x19, 0xd7, 0x84,
+ 0xb5, 0x96, 0x95, 0x8c, 0xf9, 0x2e, 0x17, 0x8e, 0x09, 0xaa,
+ 0x1a, 0xfe, 0xa0, 0xeb, 0xe4, 0x4c, 0x95, 0x0e, 0xb6, 0xe4,
+ 0xf2, 0xb0, 0x58, 0xa7, 0x0f, 0x9b, 0xd1, 0xf7, 0x17, 0xec,
+ 0x26, 0xfe, 0xb6, 0x0a, 0x96, 0xc9, 0x6b, 0x59, 0xcd, 0x38,
+ 0xdb, 0xd2, 0x37, 0x22, 0x61, 0x1e, 0x15, 0x36, 0x96, 0x92,
+ 0xf6, 0xbe, 0x03, 0xa1, 0xb1, 0x5a, 0x64, 0x09, 0xde, 0x9e,
+ 0xfb, 0xcb, 0x40, 0xad, 0xf6, 0xf9, 0xd6, 0x93, 0x9a, 0x48,
+ 0x24, 0xc5, 0xb0, 0x40, 0x38, 0x4b, 0x8d, 0x39, 0x73, 0x65,
+ 0xd6, 0x61, 0x36, 0x50, 0xd3, 0x92, 0x49, 0x9e, 0xd9, 0x7c,
+ 0xcf, 0x25, 0x0c, 0xa2, 0xea, 0x58, 0x36, 0x2f, 0x16, 0x7d,
+ 0x4a, 0x7b, 0xdc, 0x01, 0x0d, 0x35, 0x29, 0xf0, 0x7a, 0x50,
+ 0xd9, 0x90, 0x16, 0xb7, 0x76, 0x0a, 0x22, 0x83, 0xa0, 0x63,
+ 0xb2, 0xee, 0xc0, 0x4c, 0xe0, 0x85, 0x8c, 0x0b, 0x76, 0xdc,
+ 0x56, 0x27, 0xbb, 0x6a, 0x35, 0xfc, 0x66, 0xa7, 0x26, 0x99,
+ 0x96, 0x77, 0xbf, 0xc3, 0x56, 0x44,
+ },
+ {
+ /* 15 */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x84, 0xdd, 0x10,
+ 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c, 0x72, 0x76, 0xa2,
+ 0x6e, 0xcf, 0xeb, 0xcb, 0x79, 0x20, 0xb9, 0x4e, 0xba, 0xb3,
+ 0xf4, 0x90, 0xd8, 0xe4, 0xec, 0x87, 0xdc, 0x5d, 0x7f, 0x4f,
+ 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b, 0x8e, 0xd8, 0xb4, 0x96,
+ 0x9a, 0x25, 0xb2, 0x92, 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c,
+ 0xb7, 0xa5, 0x2b, 0xe3, 0x73, 0x0b, 0x1b, 0xcd, 0x7b, 0xba,
+ 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51, 0xab,
+ 0x1f, 0x79, 0x6d, 0x6f, 0x15, 0x75, 0xfe, 0x9e, 0x8b, 0x60,
+ 0x08, 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab, 0xef, 0xf7, 0x4a,
+ 0xa7, 0xe7, 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50, 0xae,
+ 0xa5, 0x3b, 0xc7, 0x9d, 0x81, 0xe8, 0xc9, 0x28, 0x2a, 0xaa,
+ 0x27, 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6, 0x16,
+ 0x36, 0x59, 0xf6, 0xb7, 0xbe, 0x2e, 0xfa, 0x90, 0x1c, 0xdc,
+ 0xf0, 0x31, 0x2c, 0x4d, 0x8a, 0x64, 0x40, 0xfb, 0x98, 0x78,
+ 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2, 0x95,
+ 0x3e, 0xf2, 0xda, 0xde, 0x2a, 0xea, 0x55, 0xe5, 0x83, 0xb0,
+ 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52, 0x80, 0xac, 0x7c,
+ 0x44, 0x25, 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c,
+ 0x7d, 0xe6, 0x95, 0x1d, 0x2d, 0x94, 0x8d, 0x0d, 0xab, 0x7b,
+ 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94, 0x07, 0xae, 0xf9, 0x6f,
+ 0x5b, 0x36, 0xe3, 0xc2, 0xd4, 0x34, 0xac, 0xe0, 0xa9, 0x29,
+ 0xa0, 0x9f, 0x89, 0x76, 0x4d, 0xf9, 0xc1, 0x13, 0x51, 0x50,
+ 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27, 0xf3, 0x3e,
+ 0x21, 0x8b, 0xb7, 0xb1, 0x3f, 0x9f, 0x54, 0x97, 0x4e, 0xc3,
+ 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f, 0x2c, 0x6c, 0xb2,
+ 0x2f, 0xad, 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12, 0xc4, 0x69,
+ 0xd6, 0x42, 0x63, 0x5e, 0x1a, 0x10, 0x41, 0x62, 0xbf, 0x5c,
+ 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a, 0xd7, 0xc8,
+ 0x80, 0x35, 0xf3, 0xf0, 0x2b, 0xd8, 0xea, 0xf3, 0x85, 0x5c,
+ 0x7e, 0xda, 0x22, 0xd2, 0xbb, 0xba, 0xf6, 0x97, 0x9d, 0x3f,
+ 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74, 0x87, 0xe9,
+ 0x7c, 0x27, 0x77, 0x7f, 0x54, 0x17, 0xd5, 0x46, 0x61, 0x93,
+ 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10, 0x55, 0x01, 0xdd,
+ 0x3a, 0xd8, 0xaa, 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7,
+ 0x73, 0x79, 0xa4, 0xc3, 0x9b, 0xf8, 0x88, 0x4a, 0x3e, 0x8d,
+ 0x18, 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8, 0xb1,
+ 0xed, 0x5a, 0xe6, 0x85, 0x7e, 0x3d, 0x69, 0x43, 0x20, 0xce,
+ 0x34, 0x58, 0xfa, 0x0f, 0xe9, 0x3a, 0x5a, 0xeb, 0xd9, 0x1a,
+ 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9, 0x69, 0xe0, 0x80, 0x47,
+ 0x85, 0x48, 0x2c, 0x49, 0xb7, 0xd5, 0x95, 0xf6, 0x10, 0x63,
+ 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31, 0xde, 0xb6, 0x6c,
+ 0x05, 0x47, 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3, 0x53,
+ 0x74, 0xd7, 0x5d, 0xac, 0xc0, 0xce, 0x6b, 0x88, 0x6b, 0x68,
+ 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec, 0x9a, 0x31,
+ 0x41, 0x26, 0xa2, 0xa0, 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75,
+ 0xde, 0x45, 0xab, 0xa4, 0xf6, 0x43, 0x37, 0x84, 0xcc, 0x6f,
+ 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25, 0x7c,
+ 0x42, 0xd5, 0xad, 0xa1, 0x7e, 0xfd, 0x14, 0x27, 0x3f, 0x33,
+ 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e, 0xa7, 0xdb, 0x03,
+ 0x10, 0x32, 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a, 0xf1, 0x61,
+ 0x9b, 0x14, 0x1e, 0x58, 0xd8, 0xa7, 0x5e, 0x99, 0x3c, 0x69,
+ 0x41, 0x55, 0x7c, 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72, 0x2a,
+ 0xae, 0x05, 0x30, 0x56, 0x43, 0x26, 0xe5, 0x65, 0x78, 0x24,
+ 0x4b, 0xd2, 0x6f, 0x84, 0xc6, 0xbc, 0x34, 0x20, 0x82, 0xc4,
+ 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15, 0xcc,
+ 0xaa, 0xce, 0x42, 0x82, 0xec, 0x0b, 0xbd, 0xb8, 0x6e, 0x05,
+ 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d, 0x53, 0xc3, 0x6a,
+ 0x25, 0x23, 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b, 0x7c,
+ 0xca, 0xbf, 0x01, 0x21, 0xb5, 0xc8, 0x4b, 0xec, 0x56, 0x73,
+ 0x17, 0x25, 0xc9, 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5, 0xb7,
+ 0x2f, 0xed, 0xf9, 0x7e, 0xc2, 0xf7, 0xca, 0x35, 0x74, 0x9f,
+ 0xa1, 0xcf, 0x3e, 0x2f, 0xd9, 0xc5, 0x59, 0x4f, 0x97, 0xb1,
+ 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91, 0x5c, 0xe8, 0xcd, 0x11,
+ 0xf8, 0x4e, 0xee, 0xfe, 0xa8, 0x2e, 0x16, 0xc3, 0x66, 0xd5,
+ 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94, 0x3c, 0x98, 0x5c,
+ 0xc6, 0xe1, 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b,
+ 0x39, 0x81, 0x20, 0xaa, 0x02, 0x79, 0x74, 0x73, 0xfd, 0x08,
+ 0x1f, 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c, 0xd8,
+ 0x74, 0xdb, 0x1a, 0xbc, 0x97, 0x12, 0x49, 0x85, 0xd1, 0x0d,
+ 0xeb, 0x4d, 0xe6, 0xf2, 0x8b, 0x45, 0xf5, 0x33, 0xd3, 0x94,
+ 0x03, 0x96, 0x94, 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba,
+ 0xe7, 0x37, 0x83, 0x91, 0xbd, 0x5b, 0x7c, 0xd9, 0x30, 0xa5,
+ 0x68, 0x43, 0x51, 0xfe, 0x12, 0x62, 0x53, 0xa1, 0x19, 0xb4,
+ 0x0f, 0xc9, 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64, 0x0c, 0x46,
+ 0x68, 0x2a, 0x3f, 0xd3, 0x6f, 0x16, 0x61, 0x06, 0xfc, 0x7a,
+ 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e, 0x11, 0x74,
+ 0xb4, 0x15, 0x71, 0x34, 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78,
+ 0x35, 0x08, 0x4d, 0x56, 0x7d, 0x06, 0xc2, 0xb7, 0x1f, 0xfb,
+ 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03, 0xc3, 0x8e,
+ 0xc9, 0x90, 0x58, 0x92, 0xad, 0x69, 0x83, 0x35, 0x76, 0xb6,
+ 0x44, 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5, 0xe2, 0x2e, 0x30,
+ 0xc3, 0xa6, 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf, 0x15,
+ 0x1c, 0xfd, 0x62, 0x7f, 0xaf, 0xd8, 0x0a, 0x8e, 0x7d, 0xab,
+ 0xfd, 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e, 0x0d,
+ 0xd9, 0x7a, 0x64, 0x41, 0x02, 0xe4, 0x59, 0xe6, 0x48, 0x8d,
+ 0x65, 0xa6, 0xe8, 0x6d, 0xba, 0x9b, 0x43, 0x5f, 0xd6, 0xd3,
+ 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92, 0x25,
+ 0xd6, 0xe9, 0x35, 0xfd, 0xb8, 0x1c, 0xd6, 0xd0, 0xf5, 0x06,
+ 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7, 0x62, 0x82, 0x4c,
+ 0x87, 0x83, 0x42, 0x54, 0x28, 0x16, 0x5c, 0x83, 0x98, 0x81,
+ 0x1b, 0x53, 0x9b, 0x10, 0xf4, 0xee, 0xe9, 0x4c, 0x3d, 0x1b,
+ 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a, 0x95, 0x8b, 0x2f, 0x86,
+ 0x6e, 0xcb, 0x5b, 0xde, 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd,
+ 0x22, 0x32, 0xef, 0xc3, 0x43, 0xf4, 0x18, 0x69, 0x35, 0x11,
+ 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c, 0x4a, 0xf8,
+ 0x84, 0x69, 0x99, 0x81, 0xfc, 0x39, 0x57, 0x01, 0xda, 0x56,
+ 0xed, 0x1f, 0x2f, 0x24, 0x30, 0xb0, 0xe8, 0x1b, 0xef, 0x23,
+ 0x92, 0xf6, 0x28, 0x4e, 0x7e, 0x66, 0xe9, 0x76, 0xc8, 0x2f,
+ 0xbe, 0x68, 0x5c, 0x8d, 0x75, 0x06, 0x20, 0x64, 0xbc, 0xca,
+ 0xa3, 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30, 0xff,
+ 0x03, 0xa4, 0x4e, 0xab, 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4,
+ 0x21, 0xc2, 0xf5, 0x28, 0x3c, 0xb0, 0x73, 0x8d, 0xbc, 0xf1,
+ 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a, 0x8f, 0x60,
+ 0x50, 0xc2, 0x05, 0x2f, 0xd2, 0x3e, 0x78, 0xd2, 0x82, 0xaa,
+ 0xf8, 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4, 0x54, 0x9f, 0x0a,
+ 0x60, 0xac, 0xec, 0x56, 0x5f, 0xba, 0x45, 0xbd, 0xc6, 0xc9,
+ 0x7b, 0xf0, 0x88, 0x26, 0xe9, 0xa8, 0x0e, 0x63, 0x86, 0x4c,
+ 0x09, 0xca, 0xf0, 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f, 0xbb,
+ 0x68, 0x40, 0xc7, 0x4b, 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f,
+ 0xcb, 0xdf, 0xa4, 0x83, 0x23, 0xc9, 0x1e, 0xe2, 0xa9, 0x84,
+ 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4, 0x2a, 0x5b,
+ 0x97, 0x5f, 0x84, 0xc7, 0x1b, 0x16, 0xf9, 0x03, 0xad, 0xfa,
+ 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb, 0x2d, 0xf2, 0x65,
+ 0x75, 0xd9, 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c, 0x4b,
+ 0xa3, 0x2d, 0xda, 0xa6, 0x45, 0xd4, 0x4a, 0x46, 0x2d, 0x37,
+ 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3, 0xd9, 0x65, 0xb6, 0xd4,
+ 0x33, 0x76, 0x24, 0x89, 0x52, 0x78, 0xa5, 0x2a, 0x59, 0x61,
+ 0x36, 0xf8, 0x57, 0xbd, 0x02, 0x42, 0xa9, 0x53, 0x96, 0x1b,
+ 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40, 0x2d, 0xf5,
+ 0x6e, 0x30, 0xdf, 0xf1, 0xf8, 0xd4, 0xac, 0xe6, 0x2e, 0x4a,
+ 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9, 0xad, 0x5e, 0x19,
+ 0x31, 0xfc, 0x38, 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56,
+ 0xf2, 0x86, 0xc5, 0xdf, 0x28, 0xbb, 0x5f, 0x33, 0x47, 0x2d,
+ 0x57, 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71, 0x49,
+ 0xb2, 0x9e, 0xed, 0xa1, 0xd3, 0xa9, 0x8a, 0x7a, 0x55, 0xda,
+ 0xdc, 0xe5, 0x06, 0x16, 0x1d, 0x3b, 0xc4, 0x3c, 0x83, 0x6e,
+ 0xc7, 0x8e, 0xb5, 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22,
+ 0x33, 0x9c, 0x1f, 0x3f, 0x93, 0x5c, 0x53, 0x0a, 0x68, 0x59,
+ 0x7d, 0xc6, 0xe5, 0xab, 0x23, 0x6a, 0x5f, 0xee, 0x69, 0x9d,
+ 0xfd, 0x93, 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf, 0x02, 0xa0,
+ 0xad, 0xb2, 0xeb, 0x78, 0xf3, 0xb8, 0x4f, 0x01, 0xb8, 0xc1,
+ 0x11, 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87, 0x0a,
+ 0x85, 0x1a, 0x21, 0xce, 0xd2, 0xdb, 0x47, 0x09, 0x71, 0x7d,
+ 0x0f, 0xb6, 0x72, 0xc1, 0x40, 0x97, 0x04, 0xf2, 0xe8, 0xe6,
+ 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e, 0x08, 0x89,
+ 0x2c, 0xe5, 0x72, 0x50, 0x86, 0x29, 0x39, 0x10, 0x3e, 0x29,
+ 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98, 0x73, 0xe8, 0x75,
+ 0x34, 0xbb, 0xad, 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd,
+ 0xfc, 0x19, 0xf4, 0x01, 0x9e, 0xd7, 0x5a, 0x74, 0xed, 0x24,
+ 0x92, 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5, 0x8a,
+ 0x29, 0x66, 0x65, 0xeb, 0x79, 0xa0, 0x4f, 0xd9, 0xdc, 0x3d,
+ 0x48, 0x22, 0x75, 0x6f, 0xb9, 0xf8, 0x5f, 0xc4, 0x0b, 0x24,
+ 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54, 0xaf, 0x29, 0xfb, 0xb7,
+ 0x0d, 0x6e, 0xc5, 0xe1, 0xb9, 0xb6, 0x92, 0x6b, 0x36, 0xf9,
+ 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61, 0x1c, 0xb3, 0x43,
+ 0xd7, 0x79, 0xf8, 0x71, 0x60, 0x89, 0xd0, 0x86, 0xa2, 0x3f,
+ 0x24, 0xc4, 0xa6, 0x81, 0x32, 0xab, 0x1e, 0x51, 0x6c, 0xf5,
+ 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca, 0xf3,
+ 0x44, 0x09, 0x70, 0x9e, 0x13, 0xba, 0x19, 0xa9, 0x69, 0xc8,
+ 0x18, 0x8c, 0xd0, 0x54, 0x7e, 0x65, 0xde, 0x2c, 0xc2, 0x0c,
+ 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa, 0x1c,
+ 0x12, 0x17, 0xa8, 0x8e, 0xac, 0xc3, 0x3b, 0xf4, 0x67, 0xcf,
+ 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22, 0xe8, 0xab, 0x2a,
+ 0xe2, 0x68, 0xaf, 0x70, 0xba, 0xdf, 0x3d, 0x99, 0x8d, 0x1b,
+ 0x14, 0x74, 0x4e, 0x9a, 0xdd, 0x88, 0x8c, 0xa7, 0xd0, 0x3f,
+ 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac, 0xfa, 0x0c,
+ 0x47, 0xad, 0x3e, 0x35, 0x44, 0xbb, 0xc3, 0xff, 0x84, 0xd7,
+ 0x37, 0xa8, 0xe0, 0xe4, 0x96, 0x7e, 0x31, 0x0f, 0x50, 0xfa,
+ 0x2e, 0xa1, 0x95, 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf,
+ 0x51, 0xe3, 0xb0, 0xe7, 0x99, 0xd2, 0xba, 0x25, 0x48, 0x9f,
+ 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d, 0x91, 0xc6, 0x45,
+ 0xf7, 0x1d, 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c, 0xdd, 0xb5,
+ 0xb1, 0x4f, 0x89, 0x07, 0x5c, 0x60, 0x45, 0x8f, 0x51, 0xee,
+ 0x31, 0xbf, 0x35, 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5, 0x75,
+ 0x2a, 0xc2, 0x2b, 0x40, 0x11, 0x5e, 0x40, 0x4f, 0x21, 0x45,
+ 0x7d, 0x2a, 0x38, 0x39, 0xc4, 0xfe, 0x9d, 0x73, 0x14, 0xdf,
+ 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42, 0x71,
+ 0xa8, 0x8c, 0xeb, 0xd1, 0x7a, 0x10, 0xfa, 0x95, 0x39, 0x6f,
+ 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9, 0x1c, 0x1a, 0x71, 0xf4,
+ 0xc8, 0x82, 0x6e, 0x11, 0xe4, 0x7f, 0x25, 0x2c, 0x9a, 0x21,
+ 0xb6, 0xe1, 0x70, 0x68, 0x07, 0x56, 0xa6, 0x4d, 0x04, 0x0b,
+ 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f, 0x13, 0xda, 0xb7, 0xf5,
+ 0x86, 0xbe, 0x6f, 0x65, 0x90, 0x8f, 0x6f, 0x1f, 0x2d, 0xfe,
+ 0x97, 0x37, 0x69, 0x92, 0xdb, 0x87, 0xf0, 0x1c, 0x01, 0xaa,
+ 0xef, 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a,
+ 0x6f, 0x11, 0x6a, 0x39, 0xb3, 0x38, 0x7b, 0x44, 0x16, 0x3f,
+ 0x94, 0xb0, 0x2d, 0x84, 0x9d, 0x02, 0x03, 0x63, 0x1c, 0x9b,
+ 0xdd, 0xf7, 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72,
+ 0xc2, 0x36, 0x2d, 0xc4, 0xc7, 0x98, 0xcd, 0xc5, 0xfb, 0xe7,
+ 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca, 0xb8, 0x7e, 0x41, 0xb6,
+ 0xb1, 0x3a, 0xa3, 0x0a, 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5,
+ 0xf3, 0xc1, 0x36, 0xa6, 0xf5, 0x20, 0x2b, 0x1f, 0x11, 0x98,
+ 0x10, 0x2c, 0x8d, 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee,
+ 0x99, 0x52, 0x5d, 0xbd, 0x7f, 0x57, 0x7a, 0x36, 0xdb, 0x4c,
+ 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5, 0x5e, 0xcf, 0xdc, 0x55,
+ 0xb6, 0x7f, 0xee, 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f,
+ 0x93, 0x9d, 0x32, 0xbd, 0xaa, 0xf7, 0xd8, 0xb0, 0x91, 0xfd,
+ 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86, 0x2b,
+ 0x30, 0xd2, 0x6a, 0x22, 0x05, 0x79, 0x7f, 0x7c, 0xb4, 0x7e,
+ 0x19, 0xdc, 0x67, 0x0d, 0xea, 0x59, 0x46, 0x70, 0x04, 0xed,
+ 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70, 0xe4, 0xfb, 0x94, 0x33,
+ 0xcb, 0xd2, 0xf1, 0xc1, 0x3b, 0x72, 0xd1, 0x4d, 0xd3, 0x9c,
+ 0x1d, 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7, 0xa0, 0x87, 0x63,
+ 0x55, 0xbd, 0xae, 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48,
+ 0x60, 0xa3, 0x13, 0x36, 0x1d, 0x46, 0xe7, 0x2f, 0x3a, 0x86,
+ 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f, 0x44,
+ 0x6b, 0xe4, 0x89, 0xe0, 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec,
+ 0x53, 0x5e, 0xbf, 0xd0, 0xb8, 0xd9, 0xea, 0x0c, 0x40, 0xc8,
+ 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb, 0x0e, 0xe6, 0xc5, 0x98,
+ 0xd4, 0xab, 0x9c, 0xae, 0x2e, 0x07, 0xbb, 0x57, 0x85, 0xec,
+ 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60, 0x3d, 0x06, 0x8b,
+ 0x9c, 0x95, 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4, 0x55,
+ 0x31, 0x08, 0x0c, 0x4f, 0x70, 0x29, 0xf2, 0x5a, 0xe5, 0x32,
+ 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78, 0xa3,
+ 0xe6, 0xd9, 0xbb, 0x21, 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c,
+ 0x1f, 0xff, 0x53, 0x18, 0x14, 0xd1, 0x90, 0x7b, 0xd5, 0xee,
+ 0x0e, 0xf9, 0x4c, 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0,
+ 0xa0, 0x47, 0x0a, 0x5e, 0x67, 0x7c, 0x9a, 0x7d, 0x91, 0xe7,
+ 0x86, 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc, 0x35, 0x7c, 0xfc,
+ 0x09, 0xb3, 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5, 0xe2,
+ 0x02, 0xb3, 0x0b, 0xa8, 0xfd, 0x14, 0xc0, 0x9b, 0x64, 0xe3,
+ 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67, 0xda,
+ 0x8b, 0xb6, 0xae, 0x54, 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9,
+ 0x4f, 0x51, 0xf6, 0x23, 0xd3, 0x4c, 0x11, 0x93, 0x1c, 0xc6,
+ 0x8f, 0x28, 0x63, 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b,
+ 0xbf, 0x3e, 0x67, 0x31, 0x72, 0x09, 0xcf, 0x98, 0x12, 0x57,
+ 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55, 0x9e, 0xb5, 0xd0, 0x80,
+ 0x4d, 0x96, 0x5b, 0x1c, 0xcf, 0x47, 0x9e, 0xb7, 0xb2, 0x76,
+ 0x05, 0x1d, 0xf2, 0xc7, 0xa6, 0x22, 0x23, 0x59, 0x24, 0x53,
+ 0x6b, 0x77, 0x9a, 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46, 0x51,
+ 0x3c, 0x07, 0x91, 0xcb, 0xb0, 0xd7, 0xb6, 0x67, 0x27, 0xf9,
+ 0x08, 0xc5, 0xf1, 0x8d, 0x2a, 0x23, 0x4a, 0xa5, 0xff, 0x04,
+ 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c, 0x58, 0x6b, 0x54, 0xb6,
+ 0xed, 0xbe, 0xcb, 0x4d, 0x36, 0x2c, 0x4e, 0x49, 0x3d, 0x07,
+ 0x2f, 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81, 0xcc, 0xbd, 0xef,
+ 0x58, 0xe3, 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8,
+ 0xa0, 0x26, 0x35, 0x5a, 0x27, 0xca, 0xea, 0x71, 0xa5, 0x82,
+ 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59, 0x28,
+ 0x51, 0x68, 0x84, 0xbe, 0xb1, 0xa5, 0x7b, 0x14, 0x03, 0x5e,
+ 0xdb, 0x96, 0x85, 0x5a, 0x77, 0x8f, 0x8a, 0x6b, 0x94, 0x8c,
+ 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff, 0x12,
+ 0x1b, 0xfd, 0xfc, 0xc9, 0xfa, 0x43, 0x5a, 0x6e, 0x02, 0x34,
+ 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf, 0x6b, 0x66, 0xec,
+ 0x48, 0xd1, 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c, 0x9d,
+ 0x0b, 0x82, 0xc3, 0x19, 0x10, 0x4e, 0x26, 0x1e, 0xa4, 0xf0,
+ 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33, 0xae, 0xb9, 0x04, 0x84,
+ 0x91, 0xa6, 0xef, 0x36, 0x30, 0x74, 0x54, 0x44, 0x0f, 0xe5,
+ 0x31, 0x8b, 0xd4, 0xf1, 0x68, 0xf6, 0xe7, 0x04, 0x81, 0xf9,
+ 0x4f, 0x3b, 0xf0, 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29,
+ 0xdc, 0x60, 0x7d, 0x21, 0x33, 0x6b, 0xdb, 0xbf, 0x2d, 0x64,
+ 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0, 0x12, 0x0b, 0x83,
+ 0x5d, 0xa4, 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f,
+ 0xd3, 0x5f, 0x91, 0x99, 0xbc, 0x32, 0x62, 0x3b, 0x0f, 0x8b,
+ 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7, 0xa9, 0x17, 0xfd, 0xeb,
+ 0xca, 0x90, 0x0c, 0xf4, 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb,
+ 0xcc, 0xac, 0x27, 0xcf, 0x49, 0x7d, 0x50, 0xb5, 0xbe, 0x66,
+ 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d, 0x87,
+ 0x25, 0x0f, 0x26, 0x17, 0xd0, 0xa9, 0x8e, 0x5a, 0xae, 0xd4,
+ 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2, 0x92, 0xa7, 0xff,
+ 0x19, 0x81, 0x1a, 0xde, 0x73, 0xc4, 0xae, 0x1e, 0x9c, 0x02,
+ 0x82, 0xf4, 0x8e, 0xe0, 0xd1, 0x5d, 0x77, 0x4e, 0x65, 0x91,
+ 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c, 0x3a, 0x76,
+ 0x4b, 0x78, 0xc5, 0xdc, 0xf1, 0x15, 0x0a, 0xe4, 0x17, 0x50,
+ 0x26, 0xb1, 0x76, 0x64, 0x56, 0x04, 0x3d, 0xda, 0xab, 0x13,
+ 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26, 0xb2, 0x44,
+ 0x66, 0xfb, 0x3e, 0x7e, 0xe5, 0xb8, 0xd9, 0x5b, 0x74, 0x82,
+ 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a, 0x89, 0x48, 0xdc,
+ 0x8b, 0x77, 0xa6, 0x14, 0xd0, 0xb2, 0xfa, 0x4f, 0x09, 0x95,
+ 0x46, 0xd4, 0xbe, 0x1f, 0xd2, 0xf9, 0x39, 0xe5, 0x32, 0x90,
+ 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c, 0xd2, 0x6d,
+ 0xa4, 0x5b, 0x57, 0x2a, 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d,
+ 0x04, 0x83, 0x99, 0xa7, 0x15, 0xf0, 0x25, 0xb3, 0x9e, 0x02,
+ 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3, 0xef,
+ 0x79, 0x82, 0x53, 0x11, 0xf0, 0xcd, 0xb3, 0x41, 0x22, 0xf2,
+ 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd, 0x14, 0xc9, 0x34,
+ 0x42, 0x5f, 0x27, 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88,
+ 0x17, 0x7f, 0xa1, 0x66, 0xbf, 0x96, 0x2c, 0x90, 0x67, 0x75,
+ 0x8e, 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80, 0xed,
+ 0x08, 0x27, 0x13, 0x0f, 0xf3, 0xf1, 0x53, 0x02, 0x5f, 0xdd,
+ 0x43, 0x17, 0x9e, 0x09, 0xec, 0x9f, 0x7e, 0x85, 0x7d, 0xc0,
+ 0x8c, 0xbe, 0xf7, 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1,
+ 0x58, 0x09, 0xe4, 0xa0, 0xcf, 0x52, 0x18, 0x3a, 0x2a, 0x22,
+ 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99, 0x34, 0x7b, 0x92, 0x02,
+ 0xa1, 0x9d, 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a,
+ 0xcf, 0xa2, 0xf3, 0xe6, 0x13, 0xea, 0x68, 0xb5, 0xe6, 0xa4,
+ 0xa1, 0x42, 0xee, 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f, 0x94,
+ 0x65, 0x48, 0x06, 0x7a, 0x99, 0xeb, 0x05, 0x72, 0xea, 0x28,
+ 0x13, 0xb9, 0x3b, 0x32, 0x2b, 0x02, 0xff, 0x6d, 0xb4, 0xe8,
+ 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41, 0x7a,
+ 0x47, 0x70, 0x89, 0xcf, 0xda, 0x27, 0x19, 0x48, 0xe7, 0x51,
+ 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69, 0xd7, 0x52, 0xcc,
+ 0xca, 0x15, 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13, 0x77, 0x4f,
+ 0x64, 0x06, 0x05, 0xa5, 0x24, 0x6e, 0xa4, 0xda, 0xf2, 0x83,
+ 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde, 0xb1, 0x33,
+ 0xbe, 0x4b, 0x16, 0x48, 0x66, 0x07, 0x43, 0x61, 0xc6, 0x5d,
+ 0xcd, 0xfc, 0x90, 0x96, 0xdd, 0x41, 0xc8, 0xe9, 0x78, 0x87,
+ 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8, 0x9d, 0x52, 0x35, 0xad,
+ 0x1a, 0xdc, 0x49, 0x01, 0xb1, 0xaf, 0x98, 0x99, 0xc8, 0x01,
+ 0xce, 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76, 0xae, 0x3f, 0xa3,
+ 0xdf, 0x60, 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1,
+ 0xc1, 0x3d, 0xc2, 0x38, 0xa5, 0x86, 0x6d, 0xf2, 0x73, 0x52,
+ 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59, 0xbb, 0x75, 0xae, 0x4a,
+ 0xd3, 0x24, 0x03, 0x3d, 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf,
+ 0x87, 0x7e, 0x48, 0x4b, 0x8f, 0xc1, 0x64, 0x95, 0x3c, 0xa2,
+ 0xa7, 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03,
+ 0xe3, 0xb3, 0x12, 0x37, 0x52, 0x6d, 0xd8, 0x29, 0xb9, 0xf1,
+ 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb, 0x57, 0x25, 0x88, 0x12,
+ 0xe0, 0xff, 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75,
+ 0xc6, 0x93, 0x3b, 0x57, 0xfe, 0xb0, 0x8e, 0x30, 0x26, 0xb7,
+ 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8, 0xfc, 0xca,
+ 0x7f, 0x58, 0x47, 0x18, 0xb2, 0x33, 0xef, 0x81, 0x6f, 0x74,
+ 0x6d, 0x63, 0x19, 0xe0, 0x90, 0xb8, 0x09, 0xfa, 0x29, 0xd7,
+ 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d, 0x8a, 0x68, 0x97, 0x38,
+ 0x24, 0x2e, 0x93, 0xdf, 0x9b, 0x45, 0x59, 0xf8, 0x96, 0xa1,
+ 0xd6, 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48, 0x5c, 0xe5, 0x7d,
+ 0xf5, 0x8a, 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63, 0x85,
+ 0xdc, 0x78, 0x44, 0x13, 0x95, 0x54, 0x07, 0xd0, 0xe2, 0xaf,
+ 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28, 0x61,
+ 0xe3, 0xf6, 0x69, 0x1f, 0x9d, 0xe0, 0xb7, 0x7d, 0x7a, 0xf1,
+ 0xd9, 0x36, 0x28, 0xe8, 0x9c, 0xf7, 0x79, 0xd3, 0xdb, 0x8d,
+ 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6, 0x84, 0x8e, 0x52, 0xa0,
+ 0xf0, 0x85, 0x0f, 0x71, 0xb5, 0x42, 0x63, 0x7e, 0x3c, 0x1d,
+ 0x72, 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37, 0x18, 0x8e, 0x99,
+ 0x7c, 0x6a, 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89, 0x98,
+ 0x8d, 0xd3, 0x5b, 0x6a, 0xf8, 0x3b, 0x12, 0xa5, 0x88, 0xb5,
+ 0x45, 0x3d, 0xcb, 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef, 0xfc,
+ 0x62, 0x1e, 0xa0, 0x37, 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a,
+ 0x33, 0x2b, 0x79, 0x43, 0x83, 0x8e, 0x14, 0xbc, 0xce, 0xf8,
+ 0x5c, 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d,
+ 0xa2, 0x05, 0xa3, 0x0d, 0xf1, 0x67, 0xc8, 0x05, 0x34, 0xcd,
+ 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35, 0xce, 0x77, 0xd5, 0xaf,
+ 0x9f, 0xa8, 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74, 0xbf,
+ 0x7e, 0xed, 0x7a, 0xe1, 0x4f, 0x8a, 0x2d, 0x3a, 0x23, 0xce,
+ 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16, 0x93,
+ 0x39, 0x28, 0x43, 0xf5, 0x49, 0xd4, 0x1b, 0x9d, 0xd3, 0xd8,
+ 0x79, 0xa9, 0xa1, 0x9e, 0xd1, 0x0e, 0xb8, 0xc0, 0x8a, 0xdd,
+ 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11, 0xdb, 0xd6,
+ 0xbd, 0x7c, 0xce, 0x62, 0xe4, 0x12, 0xa2, 0x1f, 0x62, 0xbd,
+ 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09, 0xea, 0x54, 0x47,
+ 0x56, 0x80, 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e, 0xa2,
+ 0x2f, 0x46, 0x65, 0x98, 0x22, 0xe5, 0x38, 0x4f, 0x22, 0xbc,
+ 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72, 0x4b, 0x3f,
+ 0xf9, 0xe6, 0x28, 0x7d, 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad,
+ 0xa7, 0xec, 0x0a, 0x3a, 0x27, 0x4d, 0x8f, 0x44, 0x46, 0xb2,
+ 0xc9, 0x77, 0xf9, 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2,
+ 0x93, 0xdb, 0x15, 0x61, 0xf4, 0x20, 0x5d, 0xf3, 0x24, 0xae,
+ 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff, 0xa9, 0x63, 0xc3,
+ 0x9a, 0xef, 0x37, 0xe9, 0x72, 0xde, 0xf3, 0x16, 0x4d, 0xf1,
+ 0x5b, 0x91, 0x38, 0x34, 0xe2, 0x2b, 0x53, 0xc7, 0xa3, 0x6d,
+ 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54, 0x46,
+ 0x94, 0x89, 0x3d, 0x08, 0xdc, 0x22, 0x0b, 0xfe, 0x4a, 0x58,
+ 0xf7, 0x42, 0xaf, 0x01, 0xe0, 0xd0, 0x0e, 0xac, 0x8f, 0x9a,
+ 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f, 0xaa, 0xfa, 0xd5, 0x49,
+ 0x8c, 0xa2, 0x78, 0x0e, 0xe1, 0x55, 0x08, 0x16, 0xa7, 0x1e,
+ 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad, 0x29, 0xcf, 0xbf,
+ 0xde, 0xca, 0x9c, 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65,
+ 0x5c, 0x3f, 0xc1, 0x5b, 0xb9, 0x1d, 0xb0, 0x05, 0xe3, 0xdd,
+ 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7, 0x75, 0xcd,
+ 0x23, 0x38, 0x02, 0x97, 0x77, 0x59, 0x03, 0x2e, 0xe7, 0x18,
+ 0xb0, 0xd6, 0xa8, 0xaf, 0x19, 0xbf, 0x55, 0x9a, 0x6c, 0x58,
+ 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78, 0x0d, 0x94,
+ 0xde, 0x22, 0xd4, 0x72, 0xa5, 0x70, 0x89, 0xc7, 0x88, 0x4e,
+ 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2, 0x50, 0xa2, 0xd0,
+ 0xcb, 0xbf, 0xf6, 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb,
+ 0xf9, 0x04, 0x06, 0xc6, 0x38, 0xf5, 0x79, 0x2d, 0x62, 0x0c,
+ 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73, 0x83, 0x4c, 0x6a, 0xb4,
+ 0x4e, 0x57, 0x17, 0xe2, 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5,
+ 0x92, 0xe4, 0x47, 0x6c, 0x5a, 0x4b, 0x4d, 0xf3, 0x59, 0x49,
+ 0x4a, 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24,
+ 0x36, 0x39, 0x3b, 0x51, 0x37, 0x86, 0x35, 0x0d, 0x2b, 0x38,
+ 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82, 0xaf, 0xa1, 0x74,
+ 0x85, 0x14, 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc, 0x75, 0xef,
+ 0xc9, 0xb4, 0xee, 0xdd, 0xd7, 0xd6, 0xeb, 0xdb, 0xcb, 0x93,
+ 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f, 0x29, 0x40,
+ 0x56, 0x3e, 0x22, 0xf3, 0x5f, 0x17, 0x7d, 0x48, 0x0e, 0x6e,
+ 0x78, 0xf9, 0x16, 0xc7, 0x45, 0x32, 0x20, 0x9c, 0x4c, 0x3c,
+ 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07, 0x9f, 0xf2, 0x98, 0x1f,
+ 0xf1, 0xa4, 0xba, 0xb9, 0xfe, 0xae, 0xb4, 0xdc, 0x04, 0x68,
+ 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d, 0xd6, 0xcc, 0x1b,
+ 0x90, 0x61, 0xf4, 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d,
+ 0x11, 0x69, 0xbc, 0x5d, 0x7b, 0xaa, 0xaf, 0xfe, 0x60, 0xe8,
+ 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21, 0xd0, 0x2f,
+ 0x0d, 0x08, 0xc1, 0x31, 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60,
+ 0x85, 0xde, 0xe5, 0xf9, 0x64, 0xb9, 0x97, 0x2d, 0x73, 0xa3,
+ 0x8b, 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1,
+ 0x08, 0xcb, 0xe1, 0x8f, 0x1d, 0x6c, 0xe1, 0x39, 0x87, 0xd8,
+ 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a, 0xcf, 0x56, 0x60, 0x67,
+ 0xd4, 0x44, 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95, 0xd5, 0x70,
+ 0x40, 0xc2, 0xa3, 0x24, 0x16, 0xc5, 0xba, 0x8b, 0x0a, 0xf2,
+ 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17, 0xb2,
+ 0x8c, 0xe0, 0x08, 0x19, 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb,
+ 0x6f, 0xc3, 0xb4, 0x52, 0x7b, 0xc0, 0xfa, 0x42, 0x66, 0xd6,
+ 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0, 0x0b, 0x35, 0xeb, 0x66,
+ 0x55, 0x67, 0x21, 0x41, 0x76, 0xe4, 0x1e, 0xd5, 0xc1, 0xcb,
+ 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39, 0x15, 0x57, 0xe3,
+ 0x18, 0x2b, 0x61, 0x9a, 0x65, 0xfb, 0x3a, 0xae, 0xb1, 0x86,
+ 0x1f, 0xf6, 0x8d, 0x83, 0xcd, 0xc6, 0xaa, 0xb9, 0xf5, 0x1e,
+ 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe, 0xe1, 0xf1,
+ 0xbb, 0x64, 0xc4, 0x76, 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c,
+ 0xbc, 0x90, 0xc0, 0x85, 0x26, 0x6c, 0x3a, 0x8c, 0x0d, 0x5e,
+ 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b, 0xe1, 0x28, 0xba, 0xcd,
+ 0x4a, 0x1e, 0x4c, 0x2e, 0x63, 0x91, 0x74, 0xcf, 0x97, 0xbb,
+ 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15, 0xfe, 0x88, 0xd6, 0x0b,
+ 0xd1, 0x03, 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b, 0x9b,
+ 0x4e, 0x5d, 0x92, 0xfa, 0xa0, 0xa9, 0xbf, 0xcc, 0xa0, 0xfb,
+ 0x3b, 0x5b, 0x22, 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3, 0x71,
+ 0x17, 0x18, 0x80, 0x53, 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c,
+ 0xfb, 0x04, 0xc7, 0x2b, 0xdf, 0x03, 0x61, 0xba, 0xee, 0x9c,
+ 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49, 0xf3,
+ 0x6b, 0x95, 0xfb, 0x9f, 0x5c, 0x0e, 0xdf, 0xb4, 0x9f, 0x6b,
+ 0x26, 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07, 0xe7, 0x8d, 0x3d,
+ 0x32, 0xc1, 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11, 0x19,
+ 0x96, 0x80, 0xc0, 0x7a, 0x0c, 0xd5, 0xfb, 0xe9, 0x21, 0x2a,
+ 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8, 0xac, 0x08,
+ 0x7a, 0x77, 0x95, 0x26, 0x5e, 0x65, 0xb0, 0x3b, 0x2a, 0xc9,
+ 0xab, 0xaa, 0x62, 0x10, 0x18, 0x9e, 0xe0, 0x52, 0x27, 0xb4,
+ 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12, 0x18, 0x58,
+ 0x74, 0xec, 0x96, 0xf0, 0x49, 0x7b,
+ },
};
static const uint8_t kuz_table_inv_LS[16][256 * 16] = {
- { /* 0 */
- 0xa5, 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3, 0xef, 0x79,
- 0x82, 0x53, 0x11, 0xf0,
- 0x2d, 0x03, 0x96, 0x94, 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba, 0xe7,
- 0x37, 0x83, 0x91, 0xbd,
- 0x32, 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03, 0xc3, 0x8e, 0xc9,
- 0x90, 0x58, 0x92, 0xad,
- 0x8f, 0xa5, 0x82, 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59,
- 0x28, 0x51, 0x68, 0x84,
- 0x0e, 0xd4, 0x34, 0xac, 0xe0, 0xa9, 0x29, 0xa0, 0x9f, 0x89, 0x76, 0x4d,
- 0xf9, 0xc1, 0x13, 0x51,
- 0x30, 0xfc, 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e, 0x11,
- 0x74, 0xb4, 0x15, 0x71,
- 0x38, 0xd6, 0xd0, 0xf5, 0x06, 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7,
- 0x62, 0x82, 0x4c, 0x87,
- 0xc0, 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63, 0x85, 0xdc, 0x78, 0x44,
- 0x13, 0x95, 0x54, 0x07,
- 0x54, 0xd2, 0xdb, 0x47, 0x09, 0x71, 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40,
- 0x97, 0x04, 0xf2, 0xe8,
- 0xe6, 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07, 0x9f, 0xf2, 0x98, 0x1f, 0xf1,
- 0xa4, 0xba, 0xb9, 0xfe,
- 0x9e, 0x65, 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c, 0x3a,
- 0x76, 0x4b, 0x78, 0xc5,
- 0x39, 0x42, 0x54, 0x28, 0x16, 0x5c, 0x83, 0x98, 0x81, 0x1b, 0x53, 0x9b,
- 0x10, 0xf4, 0xee, 0xe9,
- 0x55, 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e, 0x08, 0x89, 0x2c,
- 0xe5, 0x72, 0x50, 0x86,
- 0x7e, 0xbb, 0x57, 0x85, 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60,
- 0x3d, 0x06, 0x8b, 0x9c,
- 0x52, 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf, 0x02, 0xa0, 0xad, 0xb2, 0xeb,
- 0x78, 0xf3, 0xb8, 0x4f,
- 0x91, 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff, 0x12, 0x1b,
- 0xfd, 0xfc, 0xc9, 0xfa,
- 0x64, 0x2e, 0xa1, 0x95, 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf, 0x51,
- 0xe3, 0xb0, 0xe7, 0x99,
- 0x03, 0x7f, 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b, 0x8e, 0xd8, 0xb4,
- 0x96, 0x9a, 0x25, 0xb2,
- 0x57, 0xad, 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd, 0xfc, 0x19, 0xf4,
- 0x01, 0x9e, 0xd7, 0x5a,
- 0x5a, 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54, 0xaf, 0x29, 0xfb, 0xb7, 0x0d,
- 0x6e, 0xc5, 0xe1, 0xb9,
- 0x1c, 0x6b, 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec, 0x9a,
- 0x31, 0x41, 0x26, 0xa2,
- 0x60, 0x3b, 0xf4, 0x67, 0xcf, 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22,
- 0xe8, 0xab, 0x2a, 0xe2,
- 0x07, 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50, 0xae, 0xa5, 0x3b, 0xc7,
- 0x9d, 0x81, 0xe8, 0xc9,
- 0x18, 0x7e, 0x3d, 0x69, 0x43, 0x20, 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9,
- 0x3a, 0x5a, 0xeb, 0xd9,
- 0x21, 0x3c, 0x69, 0x41, 0x55, 0x7c, 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72,
- 0x2a, 0xae, 0x05, 0x30,
- 0x72, 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5, 0xf3, 0xc1, 0x36, 0xa6, 0xf5,
- 0x20, 0x2b, 0x1f, 0x11,
- 0xa8, 0x67, 0x75, 0x8e, 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80,
- 0xed, 0x08, 0x27, 0x13,
- 0xd1, 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad, 0xa7, 0xec, 0x0a, 0x3a, 0x27,
- 0x4d, 0x8f, 0x44, 0x46,
- 0x29, 0x16, 0xc3, 0x66, 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94,
- 0x3c, 0x98, 0x5c, 0xc6,
- 0xc6, 0x88, 0xb5, 0x45, 0x3d, 0xcb, 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef,
- 0xfc, 0x62, 0x1e, 0xa0,
- 0xa4, 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d, 0x04, 0x83, 0x99, 0xa7, 0x15,
- 0xf0, 0x25, 0xb3, 0x9e,
- 0x3f, 0xbc, 0xca, 0xa3, 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30,
- 0xff, 0x03, 0xa4, 0x4e,
- 0xe0, 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5, 0x92, 0xe4, 0x47, 0x6c, 0x5a,
- 0x4b, 0x4d, 0xf3, 0x59,
- 0x27, 0xc2, 0xf7, 0xca, 0x35, 0x74, 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9,
- 0xc5, 0x59, 0x4f, 0x97,
- 0x8d, 0x4e, 0x49, 0x3d, 0x07, 0x2f, 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81,
- 0xcc, 0xbd, 0xef, 0x58,
- 0x0c, 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c, 0x7d, 0xe6, 0x95,
- 0x1d, 0x2d, 0x94, 0x8d,
- 0x82, 0x0e, 0xf9, 0x4c, 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0, 0xa0,
- 0x47, 0x0a, 0x5e, 0x67,
- 0xea, 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60, 0x85, 0xde, 0xe5, 0xf9, 0x64,
- 0xb9, 0x97, 0x2d, 0x73,
- 0xae, 0x99, 0xeb, 0x05, 0x72, 0xea, 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b,
- 0x02, 0xff, 0x6d, 0xb4,
- 0xb4, 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8, 0x9d, 0x52, 0x35, 0xad, 0x1a,
- 0xdc, 0x49, 0x01, 0xb1,
- 0x9a, 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb, 0xcc, 0xac, 0x27, 0xcf, 0x49,
- 0x7d, 0x50, 0xb5, 0xbe,
- 0x63, 0x44, 0xbb, 0xc3, 0xff, 0x84, 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96,
- 0x7e, 0x31, 0x0f, 0x50,
- 0x49, 0x2d, 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3, 0xd9, 0x65, 0xb6,
- 0xd4, 0x33, 0x76, 0x24,
- 0xe5, 0x5f, 0x17, 0x7d, 0x48, 0x0e, 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45,
- 0x32, 0x20, 0x9c, 0x4c,
- 0x42, 0x78, 0xd2, 0x82, 0xaa, 0xf8, 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4,
- 0x54, 0x9f, 0x0a, 0x60,
- 0xe4, 0xcb, 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f, 0x29,
- 0x40, 0x56, 0x3e, 0x22,
- 0x15, 0xd5, 0x46, 0x61, 0x93, 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10,
- 0x55, 0x01, 0xdd, 0x3a,
- 0xb7, 0x73, 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59, 0xbb, 0x75, 0xae,
- 0x4a, 0xd3, 0x24, 0x03,
- 0xc8, 0x5c, 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d, 0xa2,
- 0x05, 0xa3, 0x0d, 0xf1,
- 0x06, 0xfe, 0x9e, 0x8b, 0x60, 0x08, 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab,
- 0xef, 0xf7, 0x4a, 0xa7,
- 0x70, 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72, 0xc2, 0x36, 0x2d,
- 0xc4, 0xc7, 0x98, 0xcd,
- 0x9d, 0x1a, 0xde, 0x73, 0xc4, 0xae, 0x1e, 0x9c, 0x02, 0x82, 0xf4, 0x8e,
- 0xe0, 0xd1, 0x5d, 0x77,
- 0x41, 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a, 0x8f, 0x60, 0x50,
- 0xc2, 0x05, 0x2f, 0xd2,
- 0x75, 0xee, 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f, 0x93, 0x9d, 0x32,
- 0xbd, 0xaa, 0xf7, 0xd8,
- 0x19, 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9, 0x69, 0xe0, 0x80, 0x47, 0x85,
- 0x48, 0x2c, 0x49, 0xb7,
- 0xc9, 0xc8, 0x05, 0x34, 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35, 0xce,
- 0x77, 0xd5, 0xaf, 0x9f,
- 0xaa, 0x8c, 0xbe, 0xf7, 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1, 0x58,
- 0x09, 0xe4, 0xa0, 0xcf,
- 0xfc, 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11, 0x19, 0x96, 0x80, 0xc0,
- 0x7a, 0x0c, 0xd5, 0xfb,
- 0x4d, 0x38, 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56, 0xf2, 0x86, 0xc5,
- 0xdf, 0x28, 0xbb, 0x5f,
- 0xbf, 0x59, 0xf8, 0x96, 0xa1, 0xd6, 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48,
- 0x5c, 0xe5, 0x7d, 0xf5,
- 0x2a, 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b, 0x39, 0x81, 0x20,
- 0xaa, 0x02, 0x79, 0x74,
- 0x73, 0x10, 0x2c, 0x8d, 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee, 0x99,
- 0x52, 0x5d, 0xbd, 0x7f,
- 0x84, 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5, 0xe2, 0x02, 0xb3, 0x0b,
- 0xa8, 0xfd, 0x14, 0xc0,
- 0xd5, 0xa3, 0x6d, 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54,
- 0x46, 0x94, 0x89, 0x3d,
- 0xc3, 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6, 0x84, 0x8e, 0x52, 0xa0, 0xf0,
- 0x85, 0x0f, 0x71, 0xb5,
- 0xaf, 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41, 0x7a, 0x47,
- 0x70, 0x89, 0xcf, 0xda,
- 0x2b, 0xfd, 0x08, 0x1f, 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c,
- 0xd8, 0x74, 0xdb, 0x1a,
- 0x86, 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9, 0x4f, 0x51, 0xf6, 0x23, 0xd3,
- 0x4c, 0x11, 0x93, 0x1c,
- 0xa7, 0x27, 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88, 0x17, 0x7f, 0xa1,
- 0x66, 0xbf, 0x96, 0x2c,
- 0xb1, 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13, 0x77, 0x4f, 0x64, 0x06, 0x05,
- 0xa5, 0x24, 0x6e, 0xa4,
- 0xb2, 0xf2, 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde, 0xb1,
- 0x33, 0xbe, 0x4b, 0x16,
- 0x5b, 0x92, 0x6b, 0x36, 0xf9, 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61,
- 0x1c, 0xb3, 0x43, 0xd7,
- 0x46, 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4, 0x2a, 0x5b, 0x97,
- 0x5f, 0x84, 0xc7, 0x1b,
- 0xd3, 0x5d, 0xf3, 0x24, 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff,
- 0xa9, 0x63, 0xc3, 0x9a,
- 0x9f, 0xf1, 0x15, 0x0a, 0xe4, 0x17, 0x50, 0x26, 0xb1, 0x76, 0x64, 0x56,
- 0x04, 0x3d, 0xda, 0xab,
- 0xfd, 0x21, 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8, 0xac,
- 0x08, 0x7a, 0x77, 0x95,
- 0xd4, 0x37, 0xe9, 0x72, 0xde, 0xf3, 0x16, 0x4d, 0xf1, 0x5b, 0x91, 0x38,
- 0x34, 0xe2, 0x2b, 0x53,
- 0x0f, 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27, 0xf3, 0x3e, 0x21,
- 0x8b, 0xb7, 0xb1, 0x3f,
- 0x9c, 0x8e, 0x5a, 0xae, 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2,
- 0x92, 0xa7, 0xff, 0x19,
- 0x2f, 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64, 0x0c, 0x46, 0x68, 0x2a, 0x3f,
- 0xd3, 0x6f, 0x16, 0x61,
- 0x9b, 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d, 0x87, 0x25,
- 0x0f, 0x26, 0x17, 0xd0,
- 0x43, 0xec, 0x56, 0x5f, 0xba, 0x45, 0xbd, 0xc6, 0xc9, 0x7b, 0xf0, 0x88,
- 0x26, 0xe9, 0xa8, 0x0e,
- 0xef, 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb, 0x6f, 0xc3, 0xb4, 0x52, 0x7b,
- 0xc0, 0xfa, 0x42, 0x66,
- 0xd9, 0x9c, 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65, 0x5c, 0x3f, 0xc1,
- 0x5b, 0xb9, 0x1d, 0xb0,
- 0x79, 0xd1, 0x4d, 0xd3, 0x9c, 0x1d, 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7,
- 0xa0, 0x87, 0x63, 0x55,
- 0xb6, 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1, 0xc1, 0x3d, 0xc2,
- 0x38, 0xa5, 0x86, 0x6d,
- 0x53, 0xb8, 0xc1, 0x11, 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87,
- 0x0a, 0x85, 0x1a, 0x21,
- 0x7f, 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4, 0x55, 0x31, 0x08, 0x0c,
- 0x4f, 0x70, 0x29, 0xf2,
- 0xc1, 0xe2, 0xaf, 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28,
- 0x61, 0xe3, 0xf6, 0x69,
- 0xf0, 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0, 0x0b, 0x35, 0xeb, 0x66, 0x55,
- 0x67, 0x21, 0x41, 0x76,
- 0x23, 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15, 0xcc, 0xaa,
- 0xce, 0x42, 0x82, 0xec,
- 0xe7, 0xb4, 0xdc, 0x04, 0x68, 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d,
- 0xd6, 0xcc, 0x1b, 0x90,
- 0x25, 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b, 0x7c, 0xca, 0xbf, 0x01,
- 0x21, 0xb5, 0xc8, 0x4b,
- 0x5e, 0x13, 0xba, 0x19, 0xa9, 0x69, 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e,
- 0x65, 0xde, 0x2c, 0xc2,
- 0xb5, 0x98, 0x99, 0xc8, 0x01, 0xce, 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76,
- 0xae, 0x3f, 0xa3, 0xdf,
- 0x1e, 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25, 0x7c, 0x42,
- 0xd5, 0xad, 0xa1, 0x7e,
- 0xa2, 0xa6, 0x14, 0xd0, 0xb2, 0xfa, 0x4f, 0x09, 0x95, 0x46, 0xd4, 0xbe,
- 0x1f, 0xd2, 0xf9, 0x39,
- 0xdf, 0x62, 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73, 0x83, 0x4c, 0x6a,
- 0xb4, 0x4e, 0x57, 0x17,
- 0xa6, 0xb3, 0x41, 0x22, 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd,
- 0x14, 0xc9, 0x34, 0x42,
- 0xfe, 0x5e, 0x65, 0xb0, 0x3b, 0x2a, 0xc9, 0xab, 0xaa, 0x62, 0x10, 0x18,
- 0x9e, 0xe0, 0x52, 0x27,
- 0xac, 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a, 0xcf, 0xa2, 0xf3,
- 0xe6, 0x13, 0xea, 0x68,
- 0x22, 0x43, 0x26, 0xe5, 0x65, 0x78, 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6,
- 0xbc, 0x34, 0x20, 0x82,
- 0xf9, 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c, 0xfb, 0x04, 0xc7, 0x2b, 0xdf,
- 0x03, 0x61, 0xba, 0xee,
- 0xe2, 0x35, 0x0d, 0x2b, 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82,
- 0xaf, 0xa1, 0x74, 0x85,
- 0x4a, 0x52, 0x78, 0xa5, 0x2a, 0x59, 0x61, 0x36, 0xf8, 0x57, 0xbd, 0x02,
- 0x42, 0xa9, 0x53, 0x96,
- 0xbc, 0x26, 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8, 0xfc,
- 0xca, 0x7f, 0x58, 0x47,
- 0x35, 0x7d, 0xab, 0xfd, 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e,
- 0x0d, 0xd9, 0x7a, 0x64,
- 0xca, 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74, 0xbf, 0x7e, 0xed, 0x7a,
- 0xe1, 0x4f, 0x8a, 0x2d,
- 0xee, 0x0a, 0xf2, 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17,
- 0xb2, 0x8c, 0xe0, 0x08,
- 0x78, 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70, 0xe4, 0xfb, 0x94, 0x33, 0xcb,
- 0xd2, 0xf1, 0xc1, 0x3b,
- 0x05, 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51, 0xab, 0x1f,
- 0x79, 0x6d, 0x6f, 0x15,
- 0x6b, 0x6e, 0x11, 0xe4, 0x7f, 0x25, 0x2c, 0x9a, 0x21, 0xb6, 0xe1, 0x70,
- 0x68, 0x07, 0x56, 0xa6,
- 0x51, 0x53, 0x0a, 0x68, 0x59, 0x7d, 0xc6, 0xe5, 0xab, 0x23, 0x6a, 0x5f,
- 0xee, 0x69, 0x9d, 0xfd,
- 0xe1, 0x4a, 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24, 0x36,
- 0x39, 0x3b, 0x51, 0x37,
- 0x59, 0x79, 0xa0, 0x4f, 0xd9, 0xdc, 0x3d, 0x48, 0x22, 0x75, 0x6f, 0xb9,
- 0xf8, 0x5f, 0xc4, 0x0b,
- 0xa3, 0x32, 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c, 0xd2,
- 0x6d, 0xa4, 0x5b, 0x57,
- 0xf2, 0x61, 0x9a, 0x65, 0xfb, 0x3a, 0xae, 0xb1, 0x86, 0x1f, 0xf6, 0x8d,
- 0x83, 0xcd, 0xc6, 0xaa,
- 0x71, 0xfb, 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca, 0xb8, 0x7e, 0x41,
- 0xb6, 0xb1, 0x3a, 0xa3,
- 0x56, 0x39, 0x10, 0x3e, 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98,
- 0x73, 0xe8, 0x75, 0x34,
- 0x11, 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12, 0xc4, 0x69, 0xd6, 0x42, 0x63,
- 0x5e, 0x1a, 0x10, 0x41,
- 0x6a, 0xfa, 0x95, 0x39, 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9, 0x1c,
- 0x1a, 0x71, 0xf4, 0xc8,
- 0x89, 0x5b, 0x1c, 0xcf, 0x47, 0x9e, 0xb7, 0xb2, 0x76, 0x05, 0x1d, 0xf2,
- 0xc7, 0xa6, 0x22, 0x23,
- 0x94, 0xa4, 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33, 0xae, 0xb9, 0x04,
- 0x84, 0x91, 0xa6, 0xef,
- 0x65, 0xba, 0x25, 0x48, 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d,
- 0x91, 0xc6, 0x45, 0xf7,
- 0x8c, 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c, 0x58, 0x6b, 0x54, 0xb6, 0xed,
- 0xbe, 0xcb, 0x4d, 0x36,
- 0xbb, 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75, 0xc6, 0x93, 0x3b,
- 0x57, 0xfe, 0xb0, 0x8e,
- 0x77, 0x05, 0x79, 0x7f, 0x7c, 0xb4, 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea,
- 0x59, 0x46, 0x70, 0x04,
- 0x3c, 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c, 0x4a, 0xf8, 0x84,
- 0x69, 0x99, 0x81, 0xfc,
- 0x7b, 0x3a, 0x86, 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f,
- 0x44, 0x6b, 0xe4, 0x89,
- 0x28, 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91, 0x5c, 0xe8, 0xcd, 0x11, 0xf8,
- 0x4e, 0xee, 0xfe, 0xa8,
- 0xab, 0x18, 0x3a, 0x2a, 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99, 0x34,
- 0x7b, 0x92, 0x02, 0xa1,
- 0xd2, 0xc9, 0x77, 0xf9, 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2, 0x93,
- 0xdb, 0x15, 0x61, 0xf4,
- 0x31, 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78, 0x35, 0x08, 0x4d, 0x56, 0x7d,
- 0x06, 0xc2, 0xb7, 0x1f,
- 0xde, 0xf6, 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb, 0xf9, 0x04, 0x06,
- 0xc6, 0x38, 0xf5, 0x79,
- 0xc4, 0x63, 0x7e, 0x3c, 0x1d, 0x72, 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37,
- 0x18, 0x8e, 0x99, 0x7c,
- 0x5f, 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa, 0x1c, 0x12,
- 0x17, 0xa8, 0x8e, 0xac,
- 0xcc, 0x49, 0xd4, 0x1b, 0x9d, 0xd3, 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1,
- 0x0e, 0xb8, 0xc0, 0x8a,
- 0xcf, 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e, 0xa2, 0x2f, 0x46, 0x65,
- 0x98, 0x22, 0xe5, 0x38,
- 0x76, 0x91, 0xfd, 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86,
- 0x2b, 0x30, 0xd2, 0x6a,
- 0x2c, 0x97, 0x12, 0x49, 0x85, 0xd1, 0x0d, 0xeb, 0x4d, 0xe6, 0xf2, 0x8b,
- 0x45, 0xf5, 0x33, 0xd3,
- 0xb8, 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf, 0x87, 0x7e, 0x48, 0x4b, 0x8f,
- 0xc1, 0x64, 0x95, 0x3c,
- 0xd8, 0x08, 0x16, 0xa7, 0x1e, 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad,
- 0x29, 0xcf, 0xbf, 0xde,
- 0x2e, 0x7c, 0xd9, 0x30, 0xa5, 0x68, 0x43, 0x51, 0xfe, 0x12, 0x62, 0x53,
- 0xa1, 0x19, 0xb4, 0x0f,
- 0x36, 0x02, 0xe4, 0x59, 0xe6, 0x48, 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba,
- 0x9b, 0x43, 0x5f, 0xd6,
- 0xdb, 0x77, 0x59, 0x03, 0x2e, 0xe7, 0x18, 0xb0, 0xd6, 0xa8, 0xaf, 0x19,
- 0xbf, 0x55, 0x9a, 0x6c,
- 0x69, 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42, 0x71, 0xa8,
- 0x8c, 0xeb, 0xd1, 0x7a,
- 0xb3, 0x66, 0x07, 0x43, 0x61, 0xc6, 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd,
- 0x41, 0xc8, 0xe9, 0x78,
- 0x14, 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74, 0x87, 0xe9, 0x7c,
- 0x27, 0x77, 0x7f, 0x54,
- 0x95, 0x30, 0x74, 0x54, 0x44, 0x0f, 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68,
- 0xf6, 0xe7, 0x04, 0x81,
- 0xbe, 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d, 0x8a, 0x68, 0x97, 0x38, 0x24,
- 0x2e, 0x93, 0xdf, 0x9b,
- 0x62, 0xd0, 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac, 0xfa,
- 0x0c, 0x47, 0xad, 0x3e,
- 0xa1, 0xd9, 0x5b, 0x74, 0x82, 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a,
- 0x89, 0x48, 0xdc, 0x8b,
- 0x3b, 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd, 0x22, 0x32, 0xef, 0xc3, 0x43,
- 0xf4, 0x18, 0x69, 0x35,
- 0x16, 0xaa, 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7, 0x73, 0x79, 0xa4,
- 0xc3, 0x9b, 0xf8, 0x88,
- 0x66, 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c, 0xdd, 0xb5, 0xb1, 0x4f, 0x89,
- 0x07, 0x5c, 0x60, 0x45,
- 0xe9, 0x60, 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21, 0xd0,
- 0x2f, 0x0d, 0x08, 0xc1,
- 0x5c, 0xf8, 0x71, 0x60, 0x89, 0xd0, 0x86, 0xa2, 0x3f, 0x24, 0xc4, 0xa6,
- 0x81, 0x32, 0xab, 0x1e,
- 0x6c, 0x04, 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f, 0x13, 0xda, 0xb7,
- 0xf5, 0x86, 0xbe, 0x6f,
- 0x6d, 0x90, 0x8f, 0x6f, 0x1f, 0x2d, 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb,
- 0x87, 0xf0, 0x1c, 0x01,
- 0xad, 0xe6, 0xa4, 0xa1, 0x42, 0xee, 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f,
- 0x94, 0x65, 0x48, 0x06,
- 0x37, 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92, 0x25, 0xd6,
- 0xe9, 0x35, 0xfd, 0xb8,
- 0x61, 0xaf, 0x70, 0xba, 0xdf, 0x3d, 0x99, 0x8d, 0x1b, 0x14, 0x74, 0x4e,
- 0x9a, 0xdd, 0x88, 0x8c,
- 0x4b, 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40, 0x2d, 0xf5, 0x6e,
- 0x30, 0xdf, 0xf1, 0xf8,
- 0xb9, 0xa7, 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03, 0xe3,
- 0xb3, 0x12, 0x37, 0x52,
- 0xe3, 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc, 0x75, 0xef, 0xc9, 0xb4, 0xee,
- 0xdd, 0xd7, 0xd6, 0xeb,
- 0xba, 0xd8, 0x29, 0xb9, 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb, 0x57,
- 0x25, 0x88, 0x12, 0xe0,
- 0xf1, 0x1e, 0xd5, 0xc1, 0xcb, 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39,
- 0x15, 0x57, 0xe3, 0x18,
- 0xa0, 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26, 0xb2, 0x44, 0x66,
- 0xfb, 0x3e, 0x7e, 0xe5,
- 0x85, 0x64, 0xe3, 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67,
- 0xda, 0x8b, 0xb6, 0xae,
- 0x83, 0x9a, 0x7d, 0x91, 0xe7, 0x86, 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc,
- 0x35, 0x7c, 0xfc, 0x09,
- 0xda, 0xe3, 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7, 0x75,
- 0xcd, 0x23, 0x38, 0x02,
- 0x47, 0xf9, 0x03, 0xad, 0xfa, 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb,
- 0x2d, 0xf2, 0x65, 0x75,
- 0xc5, 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89, 0x98, 0x8d, 0xd3, 0x5b,
- 0x6a, 0xf8, 0x3b, 0x12,
- 0xb0, 0x19, 0x48, 0xe7, 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69,
- 0xd7, 0x52, 0xcc, 0xca,
- 0x33, 0x83, 0x35, 0x76, 0xb6, 0x44, 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5,
- 0xe2, 0x2e, 0x30, 0xc3,
- 0xfa, 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49, 0xf3, 0x6b,
- 0x95, 0xfb, 0x9f, 0x5c,
- 0x96, 0x4f, 0x3b, 0xf0, 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29, 0xdc,
- 0x60, 0x7d, 0x21, 0x33,
- 0x6f, 0x7b, 0x44, 0x16, 0x3f, 0x94, 0xb0, 0x2d, 0x84, 0x9d, 0x02, 0x03,
- 0x63, 0x1c, 0x9b, 0xdd,
- 0x6e, 0xef, 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a, 0x6f,
- 0x11, 0x6a, 0x39, 0xb3,
- 0xc2, 0x9d, 0xe0, 0xb7, 0x7d, 0x7a, 0xf1, 0xd9, 0x36, 0x28, 0xe8, 0x9c,
- 0xf7, 0x79, 0xd3, 0xdb,
- 0xf6, 0x74, 0xcf, 0x97, 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15, 0xfe,
- 0x88, 0xd6, 0x0b, 0xd1,
- 0x50, 0xc7, 0x8e, 0xb5, 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22, 0x33,
- 0x9c, 0x1f, 0x3f, 0x93,
- 0xff, 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12, 0x18, 0x58, 0x74,
- 0xec, 0x96, 0xf0, 0x49,
- 0x5d, 0x6c, 0xf5, 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca,
- 0xf3, 0x44, 0x09, 0x70,
- 0xa9, 0xf3, 0xf1, 0x53, 0x02, 0x5f, 0xdd, 0x43, 0x17, 0x9e, 0x09, 0xec,
- 0x9f, 0x7e, 0x85, 0x7d,
- 0x8e, 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8, 0xa0, 0x26, 0x35,
- 0x5a, 0x27, 0xca, 0xea,
- 0x17, 0x3e, 0x8d, 0x18, 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8,
- 0xb1, 0xed, 0x5a, 0xe6,
- 0x1b, 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3, 0x53, 0x74, 0xd7, 0x5d,
- 0xac, 0xc0, 0xce, 0x6b,
- 0x97, 0xdb, 0xbf, 0x2d, 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0,
- 0x12, 0x0b, 0x83, 0x5d,
- 0x7d, 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb, 0x0e, 0xe6, 0xc5, 0x98, 0xd4,
- 0xab, 0x9c, 0xae, 0x2e,
- 0xec, 0xe1, 0x39, 0x87, 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a, 0xcf,
- 0x56, 0x60, 0x67, 0xd4,
- 0x58, 0xed, 0x24, 0x92, 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5,
- 0x8a, 0x29, 0x66, 0x65,
- 0xf7, 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b, 0x9b, 0x4e, 0x5d, 0x92,
- 0xfa, 0xa0, 0xa9, 0xbf,
- 0x1f, 0x14, 0x27, 0x3f, 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e,
- 0xa7, 0xdb, 0x03, 0x10,
- 0xfb, 0xdf, 0xb4, 0x9f, 0x6b, 0x26, 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07,
- 0xe7, 0x8d, 0x3d, 0x32,
- 0x7c, 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec, 0x53, 0x5e, 0xbf, 0xd0, 0xb8,
- 0xd9, 0xea, 0x0c, 0x40,
- 0x09, 0xbe, 0x2e, 0xfa, 0x90, 0x1c, 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a,
- 0x64, 0x40, 0xfb, 0x98,
- 0x0d, 0xab, 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94, 0x07, 0xae, 0xf9,
- 0x6f, 0x5b, 0x36, 0xe3,
- 0x7a, 0xae, 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48, 0x60, 0xa3, 0x13,
- 0x36, 0x1d, 0x46, 0xe7,
- 0x67, 0x51, 0xee, 0x31, 0xbf, 0x35, 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5,
- 0x75, 0x2a, 0xc2, 0x2b,
- 0x45, 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f, 0xcb, 0xdf, 0xa4, 0x83, 0x23,
- 0xc9, 0x1e, 0xe2, 0xa9,
- 0x87, 0x8f, 0x28, 0x63, 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b, 0xbf,
- 0x3e, 0x67, 0x31, 0x72,
- 0xdc, 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78, 0x0d, 0x94, 0xde,
- 0x22, 0xd4, 0x72, 0xa5,
- 0xe8, 0xf4, 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d, 0x11, 0x69, 0xbc,
- 0x5d, 0x7b, 0xaa, 0xaf,
- 0x4f, 0xd3, 0xa9, 0x8a, 0x7a, 0x55, 0xda, 0xdc, 0xe5, 0x06, 0x16, 0x1d,
- 0x3b, 0xc4, 0x3c, 0x83,
- 0x1d, 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75, 0xde, 0x45, 0xab, 0xa4, 0xf6,
- 0x43, 0x37, 0x84, 0xcc,
- 0x4e, 0x47, 0x2d, 0x57, 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71,
- 0x49, 0xb2, 0x9e, 0xed,
- 0x04, 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c, 0xb7, 0xa5, 0x2b, 0xe3, 0x73,
- 0x0b, 0x1b, 0xcd, 0x7b,
- 0xeb, 0x8b, 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1, 0x08,
- 0xcb, 0xe1, 0x8f, 0x1d,
- 0xf8, 0xa0, 0xfb, 0x3b, 0x5b, 0x22, 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3,
- 0x71, 0x17, 0x18, 0x80,
- 0xf3, 0xf5, 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe, 0xe1,
- 0xf1, 0xbb, 0x64, 0xc4,
- 0x3e, 0x28, 0x4e, 0x7e, 0x66, 0xe9, 0x76, 0xc8, 0x2f, 0xbe, 0x68, 0x5c,
- 0x8d, 0x75, 0x06, 0x20,
- 0x3d, 0x57, 0x01, 0xda, 0x56, 0xed, 0x1f, 0x2f, 0x24, 0x30, 0xb0, 0xe8,
- 0x1b, 0xef, 0x23, 0x92,
- 0xbd, 0xb2, 0x33, 0xef, 0x81, 0x6f, 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90,
- 0xb8, 0x09, 0xfa, 0x29,
- 0x8a, 0x24, 0x53, 0x6b, 0x77, 0x9a, 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46,
- 0x51, 0x3c, 0x07, 0x91,
- 0x88, 0xcf, 0x98, 0x12, 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55, 0x9e,
- 0xb5, 0xd0, 0x80, 0x4d,
- 0xdd, 0x89, 0xc7, 0x88, 0x4e, 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2,
- 0x50, 0xa2, 0xd0, 0xcb,
- 0xcd, 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11, 0xdb, 0xd6, 0xbd,
- 0x7c, 0xce, 0x62, 0xe4,
- 0x0b, 0x55, 0xe5, 0x83, 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52,
- 0x80, 0xac, 0x7c, 0x44,
- 0x13, 0x2b, 0xd8, 0xea, 0xf3, 0x85, 0x5c, 0x7e, 0xda, 0x22, 0xd2, 0xbb,
- 0xba, 0xf6, 0x97, 0x9d,
- 0x98, 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f, 0xd3, 0x5f, 0x91,
- 0x99, 0xbc, 0x32, 0x62,
- 0x02, 0xeb, 0xcb, 0x79, 0x20, 0xb9, 0x4e, 0xba, 0xb3, 0xf4, 0x90, 0xd8,
- 0xe4, 0xec, 0x87, 0xdc,
- 0x93, 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c, 0x9d, 0x0b, 0x82, 0xc3,
- 0x19, 0x10, 0x4e, 0x26,
- 0x80, 0xe5, 0x32, 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78,
- 0xa3, 0xe6, 0xd9, 0xbb,
- 0x90, 0xb1, 0xa5, 0x7b, 0x14, 0x03, 0x5e, 0xdb, 0x96, 0x85, 0x5a, 0x77,
- 0x8f, 0x8a, 0x6b, 0x94,
- 0xd0, 0x22, 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72, 0x4b,
- 0x3f, 0xf9, 0xe6, 0x28,
- 0x24, 0xbd, 0xb8, 0x6e, 0x05, 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d,
- 0x53, 0xc3, 0x6a, 0x25,
- 0x34, 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf, 0x15, 0x1c, 0xfd, 0x62,
- 0x7f, 0xaf, 0xd8, 0x0a,
- 0xcb, 0x23, 0xce, 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16,
- 0x93, 0x39, 0x28, 0x43,
- 0xed, 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95, 0xd5, 0x70, 0x40, 0xc2, 0xa3,
- 0x24, 0x16, 0xc5, 0xba,
- 0xf4, 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c, 0xbc, 0x90, 0xc0, 0x85, 0x26,
- 0x6c, 0x3a, 0x8c, 0x0d,
- 0xce, 0xa2, 0x1f, 0x62, 0xbd, 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09,
- 0xea, 0x54, 0x47, 0x56,
- 0x99, 0x0f, 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7, 0xa9, 0x17, 0xfd,
- 0xeb, 0xca, 0x90, 0x0c,
- 0x10, 0x54, 0x97, 0x4e, 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f,
- 0x2c, 0x6c, 0xb2, 0x2f,
- 0x44, 0x86, 0x4c, 0x09, 0xca, 0xf0, 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f,
- 0xbb, 0x68, 0x40, 0xc7,
- 0x40, 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4, 0x21, 0xc2, 0xf5, 0x28, 0x3c,
- 0xb0, 0x73, 0x8d, 0xbc,
- 0x92, 0x5a, 0x6e, 0x02, 0x34, 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf,
- 0x6b, 0x66, 0xec, 0x48,
- 0x3a, 0x3d, 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a, 0x95, 0x8b, 0x2f,
- 0x86, 0x6e, 0xcb, 0x5b,
- 0x01, 0x94, 0x84, 0xdd, 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c,
- 0x72, 0x76, 0xa2, 0x6e,
- 0x26, 0x56, 0x73, 0x17, 0x25, 0xc9, 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5,
- 0xb7, 0x2f, 0xed, 0xf9,
- 0x12, 0xbf, 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a, 0xd7,
- 0xc8, 0x80, 0x35, 0xf3,
- 0x1a, 0x95, 0xf6, 0x10, 0x63, 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31,
- 0xde, 0xb6, 0x6c, 0x05,
- 0x48, 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c, 0x4b, 0xa3, 0x2d, 0xda,
- 0xa6, 0x45, 0xd4, 0x4a,
- 0x68, 0x11, 0x5e, 0x40, 0x4f, 0x21, 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4,
- 0xfe, 0x9d, 0x73, 0x14,
- 0xf5, 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b, 0xe1, 0x28, 0xba, 0xcd, 0x4a,
- 0x1e, 0x4c, 0x2e, 0x63,
- 0x81, 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c, 0x1f, 0xff, 0x53, 0x18, 0x14,
- 0xd1, 0x90, 0x7b, 0xd5,
- 0x8b, 0xb0, 0xd7, 0xb6, 0x67, 0x27, 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a,
- 0x23, 0x4a, 0xa5, 0xff,
- 0xc7, 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a, 0x33, 0x2b, 0x79, 0x43, 0x83,
- 0x8e, 0x14, 0xbc, 0xce,
- 0xd6, 0xdc, 0x22, 0x0b, 0xfe, 0x4a, 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0,
- 0xd0, 0x0e, 0xac, 0x8f,
- 0x20, 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a, 0xf1, 0x61, 0x9b, 0x14, 0x1e,
- 0x58, 0xd8, 0xa7, 0x5e,
- 0x0a, 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2, 0x95, 0x3e,
- 0xf2, 0xda, 0xde, 0x2a,
- 0x08, 0x2a, 0xaa, 0x27, 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6,
- 0x16, 0x36, 0x59, 0xf6,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x4c, 0xac, 0xe6, 0x2e, 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9,
- 0xad, 0x5e, 0x19, 0x31,
- 0xd7, 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f, 0xaa, 0xfa, 0xd5, 0x49, 0x8c,
- 0xa2, 0x78, 0x0e, 0xe1,
- 0x74, 0x7a, 0x36, 0xdb, 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5, 0x5e,
- 0xcf, 0xdc, 0x55, 0xb6,
- },
- { /* 1 */
- 0xcc, 0xec, 0x18, 0x15, 0x1b, 0x11, 0x97, 0xc3, 0xf0, 0x9a, 0x7d, 0x3e,
- 0x77, 0x3a, 0x93, 0x9b,
- 0x03, 0x52, 0x4c, 0x32, 0xa4, 0x91, 0x05, 0xcd, 0xbd, 0x7b, 0x44, 0x0e,
- 0x71, 0xad, 0xa6, 0x23,
- 0x17, 0x0c, 0x9a, 0xa9, 0x18, 0x92, 0x39, 0xd8, 0xad, 0x0a, 0xf2, 0x46,
- 0x78, 0x7d, 0x02, 0x74,
- 0xa5, 0x43, 0xab, 0x04, 0x86, 0x68, 0x2c, 0x3c, 0x84, 0x83, 0x35, 0x17,
- 0xdb, 0x7b, 0x40, 0x98,
- 0xd4, 0x39, 0x3d, 0x46, 0x72, 0x13, 0xbf, 0x64, 0x51, 0xc4, 0x18, 0x4e,
- 0x79, 0x1b, 0xea, 0x40,
- 0xfc, 0x85, 0x52, 0xb3, 0xc9, 0x15, 0xc7, 0x4e, 0x71, 0x26, 0xb7, 0xde,
- 0x6b, 0x78, 0x61, 0xee,
- 0xd6, 0xe4, 0xf4, 0xdb, 0x0b, 0x4c, 0xb9, 0x53, 0x87, 0x96, 0x60, 0xfb,
- 0x27, 0x6c, 0x2e, 0xc3,
- 0x76, 0x51, 0x8b, 0x89, 0xa2, 0x54, 0x9a, 0xfb, 0x07, 0x98, 0x99, 0xfe,
- 0x6f, 0x23, 0x47, 0x3e,
- 0xd2, 0x9d, 0xa5, 0x22, 0xf9, 0xf2, 0xb5, 0x3d, 0xe8, 0x32, 0x90, 0x52,
- 0x9b, 0x82, 0x65, 0x06,
- 0x20, 0x4e, 0xcd, 0xc4, 0x9c, 0xb9, 0x60, 0xf6, 0xfe, 0x69, 0x8c, 0x01,
- 0xa9, 0x7c, 0x1d, 0xe7,
- 0x65, 0x24, 0x40, 0xd9, 0x48, 0x78, 0xaf, 0x4d, 0xc5, 0x36, 0x9b, 0x11,
- 0xab, 0xb0, 0x0e, 0x8f,
- 0x42, 0x41, 0x90, 0xd6, 0x82, 0xee, 0xc6, 0x18, 0xe9, 0x80, 0xa3, 0xb7,
- 0xcf, 0x8f, 0xfe, 0x8e,
- 0x46, 0x38, 0xc1, 0x2f, 0x70, 0x50, 0xca, 0x76, 0x86, 0x24, 0x53, 0x1e,
- 0x73, 0x61, 0xb5, 0x4b,
- 0xbb, 0x32, 0x16, 0x33, 0x64, 0x8b, 0x0e, 0xc2, 0x9c, 0x2b, 0xd8, 0x7b,
- 0x37, 0xc3, 0xb6, 0x05,
- 0x2c, 0xc5, 0x3e, 0x0c, 0x49, 0xb8, 0x74, 0x44, 0x4f, 0x46, 0x5f, 0x39,
- 0xae, 0x8d, 0xc0, 0x6b,
- 0x25, 0xb8, 0x19, 0x92, 0xb3, 0xc9, 0x6f, 0x62, 0xfa, 0xe4, 0x40, 0x13,
- 0x3a, 0x48, 0x34, 0x82,
- 0x2e, 0x18, 0xf7, 0x91, 0x30, 0xe7, 0x72, 0x73, 0x99, 0x14, 0x27, 0x8c,
- 0xf0, 0xfa, 0x04, 0xe8,
- 0x7f, 0x2c, 0xac, 0x17, 0x58, 0x25, 0x81, 0xdd, 0xb2, 0x3a, 0x86, 0xd4,
- 0xfb, 0xe6, 0xb3, 0xd7,
- 0xad, 0xb1, 0x09, 0x35, 0xa1, 0xd7, 0x34, 0xe0, 0x5a, 0x08, 0x16, 0x86,
- 0x60, 0x64, 0xd6, 0xd1,
- 0x06, 0xa4, 0x98, 0x64, 0x8b, 0xe1, 0x0a, 0x59, 0xb9, 0xf6, 0x88, 0x1c,
- 0xe2, 0x99, 0x8f, 0x46,
- 0x6b, 0x72, 0x7a, 0x8c, 0xe4, 0x26, 0xbd, 0xc8, 0xa2, 0x4b, 0x30, 0x9c,
- 0xf2, 0x36, 0x17, 0x80,
- 0x3b, 0xc9, 0xa4, 0xa5, 0x51, 0x2a, 0x4d, 0x9c, 0xe2, 0x4c, 0xad, 0x7f,
- 0xd6, 0xf0, 0xc2, 0x1f,
- 0x6a, 0xfd, 0xff, 0x23, 0x39, 0xe8, 0xbe, 0x32, 0xc9, 0x62, 0x0c, 0x27,
- 0xdd, 0xec, 0x75, 0x20,
- 0x7e, 0xa3, 0x29, 0xb8, 0x85, 0xeb, 0x82, 0x27, 0xd9, 0x13, 0xba, 0x6f,
- 0xd4, 0x3c, 0xd1, 0x77,
- 0x3c, 0xe2, 0xb9, 0x6e, 0x07, 0x05, 0x44, 0x3f, 0x30, 0x93, 0x19, 0xd8,
- 0x1b, 0xb3, 0x2f, 0xf9,
- 0x84, 0x82, 0xe3, 0x6f, 0xc7, 0x1f, 0x4f, 0x30, 0x11, 0xc3, 0x85, 0xad,
- 0x5d, 0xdd, 0x3f, 0xdf,
- 0x67, 0xf9, 0x89, 0x44, 0x31, 0x27, 0xa9, 0x7a, 0x13, 0x64, 0xe3, 0xa4,
- 0xf5, 0xc7, 0xca, 0x0c,
- 0xb6, 0x36, 0x60, 0x54, 0x6c, 0x44, 0x19, 0x8a, 0x46, 0x2d, 0x37, 0xf8,
- 0x1f, 0xe8, 0x09, 0x29,
- 0x16, 0x83, 0x1f, 0x06, 0xc5, 0x5c, 0x3a, 0x22, 0xc6, 0x23, 0xce, 0xfd,
- 0x57, 0xa7, 0x60, 0xd4,
- 0x88, 0x09, 0x10, 0xa7, 0x12, 0x1e, 0x5b, 0x82, 0xa0, 0xec, 0x56, 0x95,
- 0x5a, 0x2c, 0xe2, 0x53,
- 0x58, 0x49, 0x7c, 0x18, 0x92, 0xb3, 0xe8, 0x88, 0x9e, 0x8c, 0xbe, 0x72,
- 0x9f, 0xd9, 0x43, 0xd6,
- 0xbc, 0x19, 0x0b, 0xf8, 0x32, 0xa4, 0x07, 0x61, 0x4e, 0xf4, 0x6c, 0xdc,
- 0xfa, 0x80, 0x5b, 0xe3,
- 0xde, 0x16, 0x56, 0xea, 0x2c, 0xf3, 0xa1, 0x8f, 0x59, 0x1d, 0x43, 0x6a,
- 0x9c, 0x73, 0xb8, 0x8a,
- 0xc2, 0xba, 0x22, 0x40, 0xb7, 0x4f, 0x85, 0x46, 0x97, 0xe7, 0xd6, 0xb3,
- 0x2e, 0xbc, 0x8a, 0x94,
- 0x4e, 0xca, 0x63, 0x1e, 0x57, 0xef, 0xd2, 0xaa, 0x58, 0xaf, 0x70, 0x8f,
- 0xc8, 0x7e, 0x23, 0x02,
- 0x3f, 0xb0, 0xf5, 0x5c, 0xa3, 0x94, 0x41, 0xf2, 0x8d, 0xe8, 0x5d, 0xd6,
- 0x6a, 0x1e, 0x89, 0xda,
- 0x0e, 0x56, 0x3a, 0x55, 0xac, 0x5e, 0x12, 0x85, 0x67, 0x7d, 0xab, 0x8d,
- 0x59, 0x86, 0x19, 0x0f,
- 0x1f, 0xfe, 0x38, 0x98, 0x3f, 0x2d, 0x21, 0x04, 0x73, 0x81, 0xd1, 0xd7,
- 0xc3, 0x62, 0x94, 0x3d,
- 0x99, 0xa1, 0x12, 0x6a, 0x81, 0x6d, 0x68, 0x03, 0xb4, 0x10, 0x2c, 0xcf,
- 0xc0, 0xc8, 0x6f, 0x61,
- 0x0c, 0x8b, 0xf3, 0xc8, 0xd5, 0x01, 0x14, 0xb2, 0xb1, 0x2f, 0xd3, 0x38,
- 0x07, 0xf1, 0xdd, 0x8c,
- 0x70, 0xf5, 0x13, 0xed, 0x29, 0xb5, 0x90, 0xa2, 0xbe, 0x6e, 0x11, 0xe2,
- 0x8d, 0xba, 0xc8, 0x78,
- 0x44, 0xe5, 0x08, 0xb2, 0x09, 0x0f, 0xcc, 0x41, 0x50, 0x76, 0x2b, 0xab,
- 0x2d, 0x16, 0x71, 0xc8,
- 0x2d, 0x4a, 0xbb, 0xa3, 0x94, 0x76, 0x77, 0xbe, 0x24, 0x6f, 0x63, 0x82,
- 0x81, 0x57, 0xa2, 0xcb,
- 0x5f, 0x62, 0x61, 0xd3, 0xc4, 0x9c, 0xe1, 0x2b, 0x4c, 0x53, 0x0a, 0xd5,
- 0x52, 0x9a, 0xae, 0x30,
- 0x78, 0x07, 0xb1, 0xdc, 0x0e, 0x0a, 0x88, 0x7e, 0x60, 0xe5, 0x32, 0x73,
- 0x36, 0xa5, 0x5e, 0x31,
- 0xcb, 0xc7, 0x05, 0xde, 0x4d, 0x3e, 0x9e, 0x60, 0x22, 0x45, 0xc9, 0x99,
- 0xba, 0x79, 0x7e, 0x7d,
- 0xd5, 0xb6, 0xb8, 0xe9, 0xaf, 0xdd, 0xbc, 0x9e, 0x3a, 0xed, 0x24, 0xf5,
- 0x56, 0xc1, 0x88, 0xe0,
- 0x73, 0xa7, 0x5f, 0xdf, 0x8d, 0x24, 0x95, 0x6f, 0x03, 0x15, 0x55, 0xec,
- 0xfc, 0x17, 0x6e, 0x5b,
- 0x5c, 0x30, 0x2d, 0xe1, 0x60, 0x0d, 0xe4, 0xe6, 0xf1, 0x28, 0x4e, 0xdb,
- 0x23, 0x37, 0x08, 0x13,
- 0xfe, 0x58, 0x9b, 0x2e, 0xb0, 0x4a, 0xc1, 0x79, 0xa7, 0x74, 0xcf, 0x6b,
- 0x35, 0x0f, 0xa5, 0x6d,
- 0x6f, 0x0b, 0x2b, 0x75, 0x16, 0x98, 0xb1, 0xa6, 0xcd, 0xef, 0xc0, 0x35,
- 0x4e, 0xd8, 0x5c, 0x45,
- 0x1a, 0x08, 0xec, 0xce, 0x10, 0x5d, 0x2e, 0x90, 0x77, 0x0c, 0x1d, 0xc5,
- 0x50, 0x56, 0xbd, 0x58,
- 0x07, 0x2b, 0x1d, 0xcb, 0x56, 0x2f, 0x09, 0xa3, 0xd2, 0xdf, 0xb4, 0xa7,
- 0xcd, 0x43, 0xed, 0xe6,
- 0xee, 0x7f, 0x1c, 0x4c, 0xfe, 0xf7, 0xf1, 0x02, 0xd8, 0xa1, 0x89, 0x8a,
- 0x80, 0x31, 0x4a, 0xff,
- 0xea, 0x06, 0x4d, 0xb5, 0x0c, 0x49, 0xfd, 0x6c, 0xb7, 0x05, 0x79, 0x23,
- 0x3c, 0xdf, 0x01, 0x3a,
- 0xc8, 0x95, 0x49, 0xec, 0xe9, 0xaf, 0x9b, 0xad, 0x9f, 0x3e, 0x8d, 0x97,
- 0xcb, 0xd4, 0xd8, 0x5e,
- 0x8c, 0x70, 0x41, 0x5e, 0xe0, 0xa0, 0x57, 0xec, 0xcf, 0x48, 0xa6, 0x3c,
- 0xe6, 0xc2, 0xa9, 0x96,
- 0xb5, 0x64, 0x2c, 0x66, 0xc8, 0xd5, 0x1c, 0x47, 0xfb, 0x56, 0x73, 0xf6,
- 0x6e, 0x45, 0xaf, 0x0a,
- 0x38, 0x9b, 0xe8, 0x97, 0xf5, 0xbb, 0x48, 0x51, 0x5f, 0x37, 0xe9, 0x71,
- 0xa7, 0x5d, 0x64, 0x3c,
- 0x59, 0xc6, 0xf9, 0xb7, 0x4f, 0x7d, 0xeb, 0x72, 0xf5, 0xa5, 0x82, 0xc9,
- 0xb0, 0x03, 0x21, 0x76,
- 0x69, 0xaf, 0xb3, 0x11, 0x9d, 0x79, 0xbb, 0xff, 0x74, 0x19, 0x48, 0x29,
- 0xac, 0x41, 0xd3, 0x03,
- 0x10, 0x27, 0x87, 0x62, 0x4e, 0xbd, 0x30, 0x7b, 0x7f, 0xd5, 0x46, 0xe1,
- 0xb5, 0x3e, 0xef, 0x92,
- 0xf0, 0x0e, 0xa1, 0x7b, 0x1c, 0x14, 0xd3, 0xfc, 0xc0, 0x09, 0x64, 0xe6,
- 0x6c, 0x89, 0xbc, 0x62,
- 0xa3, 0xe7, 0x33, 0x60, 0x0d, 0x89, 0x26, 0x65, 0x3d, 0x75, 0xbd, 0x0b,
- 0x39, 0xe2, 0xcf, 0xde,
- 0x09, 0x7d, 0x27, 0x9e, 0xfa, 0x71, 0x1b, 0x26, 0xb5, 0xa2, 0x1f, 0x2a,
- 0x94, 0xc5, 0xf4, 0xe9,
- 0x0d, 0x04, 0x76, 0x67, 0x08, 0xcf, 0x17, 0x48, 0xda, 0x06, 0xef, 0x83,
- 0x28, 0x2b, 0xbf, 0x2c,
- 0xfd, 0x0a, 0xd7, 0x1c, 0x14, 0xdb, 0xc4, 0xb4, 0x1a, 0x0f, 0x8b, 0x65,
- 0x44, 0xa2, 0x03, 0x4e,
- 0x1b, 0x87, 0x69, 0x61, 0xcd, 0x93, 0x2d, 0x6a, 0x1c, 0x25, 0x21, 0x7e,
- 0x7f, 0x8c, 0xdf, 0xf8,
- 0x27, 0x65, 0xd0, 0x0f, 0xca, 0x96, 0x69, 0x55, 0x2c, 0xb6, 0x38, 0xa6,
- 0x64, 0x3f, 0xf0, 0x01,
- 0x8d, 0xff, 0xc4, 0xf1, 0x3d, 0x6e, 0x54, 0x16, 0xa4, 0x61, 0x9a, 0x87,
- 0xc9, 0x18, 0xcb, 0x36,
- 0xf2, 0xd3, 0x68, 0xe6, 0x65, 0x4b, 0xd5, 0xcb, 0x16, 0x5b, 0x1c, 0x53,
- 0x32, 0xfe, 0x78, 0xe1,
- 0x92, 0x01, 0xfc, 0x69, 0x02, 0x43, 0x75, 0x12, 0xd7, 0xe0, 0x4b, 0x50,
- 0x0a, 0x7a, 0x5f, 0x0b,
- 0x6d, 0xd6, 0xe2, 0xe8, 0x6f, 0xc7, 0xb7, 0x91, 0x1b, 0xbd, 0xb8, 0x80,
- 0x10, 0xaf, 0x98, 0xc6,
- 0x5d, 0xbf, 0xa8, 0x4e, 0xbd, 0xc3, 0xe7, 0x1c, 0x9a, 0x01, 0x72, 0x60,
- 0x0c, 0xed, 0x6a, 0xb3,
- 0xf1, 0x81, 0x24, 0xd4, 0xc1, 0xda, 0xd0, 0x06, 0xab, 0x20, 0x58, 0x5d,
- 0x43, 0x53, 0xde, 0xc2,
- 0x21, 0xc1, 0x48, 0x6b, 0x41, 0x77, 0x63, 0x0c, 0x95, 0x40, 0xb0, 0xba,
- 0x86, 0xa6, 0x7f, 0x47,
- 0x37, 0x42, 0x57, 0x6d, 0x84, 0x2b, 0x59, 0x2e, 0x53, 0x63, 0x7e, 0x47,
- 0xd1, 0x01, 0x1f, 0x93,
- 0x40, 0x9c, 0x59, 0x4b, 0xfb, 0xb1, 0xc0, 0x2f, 0x3f, 0xd2, 0xdb, 0x02,
- 0x91, 0xf8, 0x3a, 0x0d,
- 0x8e, 0xad, 0x88, 0xc3, 0x99, 0xff, 0x51, 0xdb, 0x19, 0x1a, 0xde, 0x89,
- 0xb8, 0xb5, 0x6d, 0x15,
- 0xe8, 0xdb, 0x84, 0x28, 0x75, 0x16, 0xfb, 0x5b, 0x61, 0x57, 0x01, 0x96,
- 0x62, 0xa8, 0xc5, 0xb9,
- 0xe4, 0x50, 0x77, 0xe0, 0xa0, 0x17, 0xef, 0xe9, 0xd0, 0x78, 0xd2, 0xae,
- 0x65, 0x59, 0x18, 0x35,
- 0xec, 0xa2, 0xd5, 0xd1, 0x87, 0xa8, 0xf7, 0x35, 0x0e, 0xf3, 0xf1, 0x3f,
- 0xde, 0x46, 0x8e, 0x7c,
- 0x9e, 0x8a, 0x0f, 0xa1, 0xd7, 0x42, 0x61, 0xa0, 0x66, 0xcf, 0x98, 0x68,
- 0x0d, 0x8b, 0x82, 0x87,
- 0x9c, 0x57, 0xc6, 0x3c, 0xae, 0x1d, 0x67, 0x97, 0xb0, 0x9d, 0xe0, 0xdd,
- 0x53, 0xfc, 0x46, 0x04,
- 0xd1, 0xcf, 0xe9, 0x10, 0x5d, 0x63, 0xb0, 0xf0, 0x55, 0x49, 0xd4, 0x5c,
- 0xea, 0x2f, 0xc3, 0x25,
- 0xe7, 0x02, 0x3b, 0xd2, 0x04, 0x86, 0xea, 0x24, 0x6d, 0x03, 0x96, 0xa0,
- 0x14, 0xf4, 0xbe, 0x16,
- 0xb8, 0x60, 0x5a, 0x01, 0xc0, 0x1a, 0x0b, 0x0f, 0x21, 0x50, 0x9c, 0x75,
- 0x46, 0x6e, 0x10, 0x26,
- 0x2f, 0x97, 0x72, 0x3e, 0xed, 0x29, 0x71, 0x89, 0xf2, 0x3d, 0x1b, 0x37,
- 0xdf, 0x20, 0x66, 0x48,
- 0xe2, 0xf4, 0xef, 0x84, 0x2b, 0xf6, 0xe5, 0xb0, 0x69, 0x8e, 0x5a, 0xb2,
- 0x87, 0xc0, 0x97, 0x73,
- 0x8a, 0xd4, 0xd9, 0x3a, 0x6b, 0x41, 0x5d, 0xb5, 0x76, 0xbe, 0x2e, 0x20,
- 0x04, 0x5b, 0x26, 0xd0,
- 0xd7, 0x6b, 0x71, 0x74, 0xd6, 0x82, 0xba, 0xa9, 0xec, 0xbf, 0x5c, 0x40,
- 0x08, 0xb6, 0x4c, 0x63,
- 0xb4, 0xeb, 0xa9, 0xc9, 0x15, 0x1b, 0x1f, 0xbd, 0x90, 0x7f, 0x4f, 0x4d,
- 0x41, 0x9f, 0xcd, 0xaa,
- 0x29, 0x33, 0xea, 0x5a, 0x66, 0xc8, 0x7b, 0xd0, 0x4b, 0xcb, 0x93, 0x2b,
- 0x3d, 0xb9, 0xe9, 0x0e,
- 0x13, 0x75, 0xcb, 0x50, 0xea, 0x2c, 0x35, 0xb6, 0xc2, 0xae, 0x02, 0xef,
- 0xc4, 0x93, 0x49, 0xb1,
- 0x98, 0x2e, 0x97, 0xc5, 0x5c, 0xa3, 0x6b, 0xf9, 0xdf, 0x39, 0x10, 0x74,
- 0xef, 0x12, 0x0d, 0xc1,
- 0x80, 0xfb, 0xb2, 0x96, 0x35, 0xa1, 0x43, 0x5e, 0x7e, 0x67, 0x75, 0x04,
- 0xe1, 0x33, 0x74, 0x1a,
- 0xa6, 0x11, 0xe7, 0x36, 0x22, 0xf9, 0x29, 0xf1, 0x39, 0xf8, 0x71, 0x19,
- 0xaa, 0xd6, 0xe6, 0xbb,
- 0x62, 0x0f, 0x5d, 0x12, 0x1e, 0x57, 0xa6, 0xee, 0x17, 0xe9, 0x2f, 0xb6,
- 0x66, 0xf3, 0xe3, 0x69,
- 0xb3, 0xc0, 0xb4, 0x02, 0x43, 0x34, 0x16, 0x1e, 0x42, 0xa0, 0xfb, 0xea,
- 0x8c, 0xdc, 0x20, 0x4c,
- 0x5e, 0xed, 0xe4, 0x7c, 0x19, 0x52, 0xe2, 0xd1, 0x27, 0x7a, 0x36, 0x6e,
- 0x7d, 0x40, 0xcc, 0x90,
- 0x72, 0x28, 0xda, 0x70, 0x50, 0xea, 0x96, 0x95, 0x68, 0x3c, 0x69, 0x57,
- 0xd3, 0xcd, 0x0c, 0xfb,
- 0x43, 0xce, 0x15, 0x79, 0x5f, 0x20, 0xc5, 0xe2, 0x82, 0xa9, 0x9f, 0x0c,
- 0xe0, 0x55, 0x9c, 0x2e,
- 0x34, 0x10, 0x1b, 0x5f, 0x20, 0xba, 0x5c, 0xe3, 0xee, 0x18, 0x3a, 0x49,
- 0xa0, 0xac, 0xb9, 0xb0,
- 0x35, 0x9f, 0x9e, 0xf0, 0xfd, 0x74, 0x5f, 0x19, 0x85, 0x31, 0x06, 0xf2,
- 0x8f, 0x76, 0xdb, 0x10,
- 0x52, 0x66, 0x17, 0xb4, 0xcc, 0x53, 0xf6, 0x63, 0x96, 0x55, 0xe5, 0x56,
- 0x7a, 0xb1, 0x11, 0x1c,
- 0x26, 0xea, 0x55, 0xa0, 0x17, 0x58, 0x6a, 0xaf, 0x47, 0x9f, 0x04, 0x1d,
- 0x4b, 0xe5, 0x92, 0xa1,
- 0x7d, 0xf1, 0x65, 0x8a, 0x21, 0x7a, 0x87, 0xea, 0x64, 0x68, 0xfe, 0x61,
- 0xa5, 0x91, 0x77, 0x54,
- 0xb7, 0xb9, 0xe5, 0xfb, 0xb1, 0x8a, 0x1a, 0x70, 0x2d, 0x04, 0x0b, 0x43,
- 0x30, 0x32, 0x6b, 0x89,
- 0x0a, 0x2f, 0x6b, 0xac, 0x5e, 0xe0, 0x1e, 0xeb, 0x08, 0xd9, 0x5b, 0x24,
- 0xe5, 0x68, 0x52, 0xca,
- 0x45, 0x6a, 0x8d, 0x1d, 0xd4, 0xc1, 0xcf, 0xbb, 0x3b, 0x5f, 0x17, 0x10,
- 0x02, 0xcc, 0x13, 0x68,
- 0x81, 0x74, 0x37, 0x39, 0xe8, 0x6f, 0x40, 0xa4, 0x15, 0x4e, 0x49, 0xbf,
- 0xce, 0xe9, 0x16, 0xba,
- 0x6e, 0x84, 0xae, 0xda, 0xcb, 0x56, 0xb2, 0x5c, 0xa6, 0xc6, 0xfc, 0x8e,
- 0x61, 0x02, 0x3e, 0xe5,
- 0x53, 0xe9, 0x92, 0x1b, 0x11, 0x9d, 0xf5, 0x99, 0xfd, 0x7c, 0xd9, 0xed,
- 0x55, 0x6b, 0x73, 0xbc,
- 0x4a, 0xb3, 0x32, 0xe7, 0xa5, 0x51, 0xde, 0xc4, 0x37, 0x0b, 0x80, 0x26,
- 0x74, 0x90, 0x68, 0xc7,
- 0x79, 0x88, 0x34, 0x73, 0xd3, 0xc4, 0x8b, 0x84, 0x0b, 0xcc, 0x0e, 0xc8,
- 0x19, 0x7f, 0x3c, 0x91,
- 0x32, 0xb4, 0x83, 0x3b, 0xab, 0x5b, 0x56, 0xba, 0x57, 0xee, 0xb2, 0x55,
- 0x42, 0x35, 0x36, 0xf6,
- 0x61, 0x5d, 0x11, 0x20, 0xba, 0xc6, 0xa3, 0x23, 0xaa, 0x92, 0x6b, 0xb8,
- 0x17, 0x5e, 0x45, 0x4a,
- 0xfb, 0xae, 0x4f, 0x78, 0x9f, 0x3a, 0xce, 0xed, 0xa3, 0xf9, 0x03, 0x79,
- 0xa6, 0x3b, 0x8c, 0x08,
- 0x39, 0x14, 0x6d, 0x38, 0x28, 0x75, 0x4b, 0xab, 0x34, 0x1e, 0xd5, 0xca,
- 0x88, 0x87, 0x06, 0x9c,
- 0xc0, 0x67, 0xeb, 0xdd, 0xce, 0x10, 0x83, 0x71, 0x41, 0xb5, 0xae, 0x06,
- 0x70, 0xcb, 0x4e, 0x17,
- 0xfa, 0x21, 0xca, 0xd7, 0x42, 0xf4, 0xcd, 0x17, 0xc8, 0xd0, 0x3f, 0xc2,
- 0x89, 0xe1, 0xee, 0xa8,
- 0x5b, 0x1b, 0x30, 0x2a, 0x36, 0x22, 0xed, 0x45, 0x23, 0xf7, 0xfa, 0x7c,
- 0xee, 0x74, 0xe5, 0xf5,
- 0xa4, 0xcc, 0x2e, 0xab, 0x5b, 0xa6, 0x2f, 0xc6, 0xef, 0xaa, 0x09, 0xac,
- 0xf4, 0xa1, 0x22, 0x38,
- 0xba, 0xbd, 0x93, 0x9c, 0xb9, 0x45, 0x0d, 0x38, 0xf7, 0x02, 0xe4, 0xc0,
- 0x18, 0x19, 0xd4, 0xa5,
- 0xda, 0x6f, 0x07, 0x13, 0xde, 0x4d, 0xad, 0xe1, 0x36, 0xb9, 0xb3, 0xc3,
- 0x20, 0x9d, 0xf3, 0x4f,
- 0x4c, 0x17, 0xaa, 0x83, 0x2e, 0xb0, 0xd4, 0x9d, 0x8e, 0xfd, 0x08, 0x3a,
- 0x96, 0x09, 0xe7, 0x81,
- 0x05, 0xf6, 0xd4, 0x56, 0x2f, 0x70, 0x0f, 0x94, 0x04, 0x8d, 0xcc, 0x12,
- 0x93, 0x34, 0x29, 0x65,
- 0xc3, 0x35, 0xa7, 0xef, 0x6a, 0x81, 0x86, 0xbc, 0xfc, 0xce, 0xea, 0x08,
- 0x01, 0x66, 0xe8, 0x34,
- 0x3a, 0x46, 0x21, 0x0a, 0x8c, 0xe4, 0x4e, 0x66, 0x89, 0x65, 0x91, 0xc4,
- 0xf9, 0x2a, 0xa0, 0xbf,
- 0x82, 0x26, 0x7b, 0x0b, 0x4c, 0xfe, 0x45, 0x69, 0xa8, 0x35, 0x0d, 0xb1,
- 0xbf, 0x44, 0xb0, 0x99,
- 0x18, 0xd5, 0x25, 0x53, 0x69, 0x02, 0x28, 0xa7, 0xa1, 0x5e, 0x65, 0x70,
- 0x0e, 0x21, 0x79, 0xdb,
- 0xc9, 0x1a, 0xcc, 0x43, 0x34, 0x61, 0x98, 0x57, 0xf4, 0x17, 0xb1, 0x2c,
- 0xe4, 0x0e, 0xba, 0xfe,
- 0x68, 0x20, 0x36, 0xbe, 0x40, 0xb7, 0xb8, 0x05, 0x1f, 0x30, 0x74, 0x92,
- 0x83, 0x9b, 0xb1, 0xa3,
- 0xf6, 0xaa, 0x39, 0x1f, 0x97, 0xf5, 0xd9, 0xa5, 0x79, 0xff, 0xec, 0xfa,
- 0x8e, 0x10, 0x33, 0x24,
- 0x63, 0x80, 0xd8, 0xbd, 0xc3, 0x99, 0xa5, 0x14, 0x7c, 0xc0, 0x13, 0x0d,
- 0x49, 0x29, 0x81, 0xc9,
- 0x87, 0xd0, 0xaf, 0x5d, 0x63, 0x8e, 0x4a, 0xfd, 0xac, 0xb8, 0xc1, 0xa3,
- 0x2c, 0x70, 0x99, 0xfc,
- 0x49, 0xe1, 0x7e, 0xd5, 0x01, 0xc0, 0xdb, 0x09, 0x8a, 0x70, 0xc4, 0x28,
- 0x05, 0x3d, 0xce, 0xe4,
- 0x36, 0xcd, 0xd2, 0xc2, 0x59, 0xe5, 0x5a, 0xd4, 0x38, 0x4a, 0x42, 0xfc,
- 0xfe, 0xdb, 0x7d, 0x33,
- 0x91, 0x53, 0xb0, 0x5b, 0xa6, 0xd2, 0x70, 0xdf, 0x6a, 0x9b, 0x0f, 0x5e,
- 0x7b, 0xd7, 0xf9, 0x28,
- 0x97, 0xf7, 0x28, 0x3f, 0x2d, 0x33, 0x7a, 0x86, 0xd3, 0x6d, 0x87, 0x42,
- 0x99, 0x4e, 0x76, 0x6e,
- 0x33, 0x3b, 0x06, 0x94, 0x76, 0x95, 0x55, 0x40, 0x3c, 0xc7, 0x8e, 0xee,
- 0x6d, 0xef, 0x54, 0x56,
- 0x08, 0xf2, 0xa2, 0x31, 0x27, 0xbf, 0x18, 0xdc, 0xde, 0x8b, 0x23, 0x91,
- 0xbb, 0x1f, 0x96, 0x49,
- 0x7c, 0x7e, 0xe0, 0x25, 0xfc, 0xb4, 0x84, 0x10, 0x0f, 0x41, 0xc2, 0xda,
- 0x8a, 0x4b, 0x15, 0xf4,
- 0x02, 0xdd, 0xc9, 0x9d, 0x79, 0x5f, 0x06, 0x37, 0xd6, 0x52, 0x78, 0xb5,
- 0x5e, 0x77, 0xc4, 0x83,
- 0x77, 0xde, 0x0e, 0x26, 0x7f, 0x9a, 0x99, 0x01, 0x6c, 0xb1, 0xa5, 0x45,
- 0x40, 0xf9, 0x25, 0x9e,
- 0x85, 0x0d, 0x66, 0xc0, 0x1a, 0xd1, 0x4c, 0xca, 0x7a, 0xea, 0xb9, 0x16,
- 0x72, 0x07, 0x5d, 0x7f,
- 0x66, 0x76, 0x0c, 0xeb, 0xec, 0xe9, 0xaa, 0x80, 0x78, 0x4d, 0xdf, 0x1f,
- 0xda, 0x1d, 0xa8, 0xac,
- 0x41, 0x13, 0xdc, 0xe4, 0x26, 0x7f, 0xc3, 0xd5, 0x54, 0xfb, 0xe7, 0xb9,
- 0xbe, 0x22, 0x58, 0xad,
- 0x30, 0x69, 0x4a, 0xa6, 0xd2, 0x04, 0x50, 0x8d, 0x81, 0xbc, 0xca, 0xe0,
- 0x1c, 0x42, 0xf2, 0x75,
- 0xcd, 0x63, 0x9d, 0xba, 0xc6, 0xdf, 0x94, 0x39, 0x9b, 0xb3, 0x41, 0x85,
- 0x58, 0xe0, 0xf1, 0x3b,
- 0xd0, 0x40, 0x6c, 0xbf, 0x80, 0xad, 0xb3, 0x0a, 0x3e, 0x60, 0xe8, 0xe7,
- 0xc5, 0xf5, 0xa1, 0x85,
- 0xd9, 0x3d, 0x4b, 0x21, 0x7a, 0xdc, 0xa8, 0x2c, 0x8b, 0xc2, 0xf7, 0xcd,
- 0x51, 0x30, 0x55, 0x6c,
- 0xa9, 0xc8, 0x58, 0xcc, 0x53, 0x69, 0x38, 0x8e, 0x35, 0xac, 0xe6, 0x2f,
- 0xdc, 0x8a, 0x9d, 0x14,
- 0xaa, 0x9a, 0x14, 0xfe, 0xf7, 0xf8, 0x3d, 0x43, 0x88, 0xd7, 0xa2, 0x21,
- 0xad, 0x27, 0x3b, 0x37,
- 0xc5, 0x91, 0x3f, 0x8b, 0xe1, 0x60, 0x8c, 0xe5, 0x45, 0x38, 0x62, 0x14,
- 0xe3, 0xff, 0x67, 0x72,
- 0x60, 0xd2, 0x94, 0x8f, 0x67, 0x08, 0xa0, 0xd9, 0xc1, 0xbb, 0x57, 0x03,
- 0x38, 0x84, 0x27, 0xea,
- 0xf8, 0xfc, 0x03, 0x4a, 0x3b, 0xab, 0xcb, 0x20, 0x1e, 0x82, 0x47, 0x77,
- 0xd7, 0x96, 0x2a, 0x2b,
- 0x04, 0x79, 0x51, 0xf9, 0xf2, 0xbe, 0x0c, 0x6e, 0x6f, 0xa4, 0xf0, 0xa9,
- 0xbc, 0xee, 0x4b, 0xc5,
- 0x90, 0xdc, 0x35, 0xf4, 0x7b, 0x1c, 0x73, 0x25, 0x01, 0xb2, 0x33, 0xe5,
- 0x54, 0x0d, 0x9b, 0x88,
- 0xe6, 0x8d, 0xbe, 0x7d, 0xd9, 0x48, 0xe9, 0xde, 0x06, 0x2a, 0xaa, 0x1b,
- 0x3b, 0x2e, 0xdc, 0xb6,
- 0x96, 0x78, 0xad, 0x90, 0xf0, 0xfd, 0x79, 0x7c, 0xb8, 0x44, 0xbb, 0xf9,
- 0xb6, 0x94, 0x14, 0xce,
- 0xaf, 0x6c, 0xc0, 0xa8, 0xd8, 0x88, 0x32, 0xd7, 0x8c, 0x5a, 0x6e, 0x33,
- 0x3e, 0x13, 0x12, 0x52,
- 0xc6, 0xc3, 0x73, 0xb9, 0x45, 0xf1, 0x89, 0x28, 0xf8, 0x43, 0x26, 0x1a,
- 0x92, 0x52, 0xc1, 0x51,
- 0xa7, 0x9e, 0x62, 0x99, 0xff, 0x37, 0x2a, 0x0b, 0x52, 0xd1, 0x4d, 0xa2,
- 0x85, 0x0c, 0x84, 0x1b,
- 0xa1, 0x3a, 0xfa, 0xfd, 0x74, 0xd6, 0x20, 0x52, 0xeb, 0x27, 0xc5, 0xbe,
- 0x67, 0x95, 0x0b, 0x5d,
- 0xd8, 0xb2, 0xce, 0x8e, 0xa7, 0x12, 0xab, 0xd6, 0xe0, 0xeb, 0xcb, 0x76,
- 0x7e, 0xea, 0x37, 0xcc,
- 0x1e, 0x71, 0xbd, 0x37, 0xe2, 0xe3, 0x22, 0xfe, 0x18, 0xa8, 0xed, 0x6c,
- 0xec, 0xb8, 0xf6, 0x9d,
- 0x4d, 0x98, 0x2f, 0x2c, 0xf3, 0x7e, 0xd7, 0x67, 0xe5, 0xd4, 0x34, 0x81,
- 0xb9, 0xd3, 0x85, 0x21,
- 0x64, 0xab, 0xc5, 0x76, 0x95, 0xb6, 0xac, 0xb7, 0xae, 0x1f, 0xa7, 0xaa,
- 0x84, 0x6a, 0x6c, 0x2f,
- 0x9a, 0xf3, 0x5e, 0x58, 0x25, 0xfc, 0x6d, 0xce, 0x09, 0x6b, 0x68, 0xc1,
- 0xb1, 0x65, 0xc9, 0x42,
- 0xe3, 0x7b, 0x6a, 0x2b, 0xf6, 0x38, 0xe6, 0x4a, 0x02, 0xa7, 0x66, 0x09,
- 0xa8, 0x1a, 0xf5, 0xd3,
- 0xf9, 0x73, 0x86, 0xe5, 0xe6, 0x65, 0xc8, 0xda, 0x75, 0xab, 0x7b, 0xcc,
- 0xf8, 0x4c, 0x48, 0x8b,
- 0xf7, 0x25, 0xbc, 0xb0, 0x4a, 0x3b, 0xda, 0x5f, 0x12, 0xd6, 0xd0, 0x41,
- 0xa1, 0xca, 0x51, 0x84,
- 0x19, 0x5a, 0xa0, 0xfc, 0xb4, 0xcc, 0x2b, 0x5d, 0xca, 0x77, 0x59, 0xcb,
- 0x21, 0xfb, 0x1b, 0x7b,
- 0x83, 0xa9, 0xfe, 0xa4, 0x91, 0x30, 0x46, 0x93, 0xc3, 0x1c, 0x31, 0x0a,
- 0x90, 0x9e, 0xd2, 0x39,
- 0x4b, 0x3c, 0xb7, 0x48, 0x78, 0x9f, 0xdd, 0x3e, 0x5c, 0x22, 0xbc, 0x9d,
- 0x5b, 0x4a, 0x0a, 0x67,
- 0x4f, 0x45, 0xe6, 0xb1, 0x8a, 0x21, 0xd1, 0x50, 0x33, 0x86, 0x4c, 0x34,
- 0xe7, 0xa4, 0x41, 0xa2,
- 0x7b, 0x55, 0xfd, 0xee, 0xaa, 0x9b, 0x8d, 0xb3, 0xdd, 0x9e, 0x76, 0x7d,
- 0x47, 0x08, 0xf8, 0x12,
- 0xef, 0xf0, 0x99, 0xe3, 0x23, 0x39, 0xf2, 0xf8, 0xb3, 0x88, 0xb5, 0x31,
- 0xaf, 0xeb, 0x28, 0x5f,
- 0x9d, 0xd8, 0x43, 0x93, 0x73, 0xd3, 0x64, 0x6d, 0xdb, 0xb4, 0xdc, 0x66,
- 0x7c, 0x26, 0x24, 0xa4,
- 0x74, 0x8c, 0x42, 0x14, 0xdb, 0x0b, 0x9c, 0xcc, 0xd1, 0xca, 0xe1, 0x4b,
- 0x31, 0x54, 0x83, 0xbd,
- 0xc7, 0x4c, 0xf6, 0x16, 0x98, 0x3f, 0x8a, 0xd2, 0x93, 0x6a, 0x1a, 0xa1,
- 0xbd, 0x88, 0xa3, 0xf1,
- 0xca, 0x48, 0x80, 0x71, 0x90, 0xf0, 0x9d, 0x9a, 0x49, 0x6c, 0xf5, 0x22,
- 0x95, 0xa3, 0x1c, 0xdd,
- 0x6c, 0x59, 0x67, 0x47, 0xb2, 0x09, 0xb4, 0x6b, 0x70, 0x94, 0x84, 0x3b,
- 0x3f, 0x75, 0xfa, 0x66,
- 0xf3, 0x5c, 0xed, 0x49, 0xb8, 0x85, 0xd6, 0x31, 0x7d, 0x72, 0x20, 0xe8,
- 0x1d, 0x24, 0x1a, 0x41,
- 0x31, 0xe6, 0xcf, 0x09, 0x0f, 0xca, 0x53, 0x77, 0xea, 0x95, 0xf6, 0x5b,
- 0x33, 0x98, 0x90, 0xd5,
- 0x3e, 0x3f, 0x70, 0xf3, 0x7e, 0x5a, 0x42, 0x08, 0xe6, 0xc1, 0x61, 0x6d,
- 0x45, 0xc4, 0xeb, 0x7a,
- 0x01, 0x8f, 0x85, 0xaf, 0xdd, 0xce, 0x03, 0xfa, 0x6b, 0x29, 0x3c, 0xbb,
- 0x2f, 0xda, 0x62, 0xa0,
- 0xdb, 0xe0, 0x82, 0xbc, 0x03, 0x83, 0xae, 0x1b, 0x5d, 0x90, 0x8f, 0x78,
- 0x0f, 0x47, 0x91, 0xef,
- 0xc4, 0x1e, 0xba, 0x24, 0x3c, 0xae, 0x8f, 0x1f, 0x2e, 0x11, 0x5e, 0xaf,
- 0xcc, 0x25, 0x05, 0xd2,
- 0xe1, 0xa6, 0xa3, 0xb6, 0x8f, 0x67, 0xe0, 0x7d, 0xd4, 0xf5, 0x1e, 0xbc,
- 0xf6, 0x6d, 0x31, 0x50,
- 0xed, 0x2d, 0x50, 0x7e, 0x5a, 0x66, 0xf4, 0xcf, 0x65, 0xda, 0xcd, 0x84,
- 0xf1, 0x9c, 0xec, 0xdc,
- 0xe0, 0x29, 0x26, 0x19, 0x52, 0xa9, 0xe3, 0x87, 0xbf, 0xdc, 0x22, 0x07,
- 0xd9, 0xb7, 0x53, 0xf0,
- 0x14, 0x5e, 0xd6, 0x9b, 0xbc, 0x03, 0x3c, 0x15, 0x10, 0x71, 0xb6, 0x48,
- 0x09, 0xd0, 0xa4, 0x57,
- 0xdf, 0x99, 0xd3, 0x45, 0xf1, 0x3d, 0xa2, 0x75, 0x32, 0x34, 0x7f, 0xd1,
- 0xb3, 0xa9, 0xda, 0x2a,
- 0x50, 0xbb, 0xde, 0x29, 0xb5, 0x0c, 0xf0, 0x54, 0x40, 0x07, 0x9d, 0xe3,
- 0x24, 0xc6, 0xd5, 0x9f,
- 0xbe, 0xc4, 0xc2, 0x65, 0x4b, 0xfb, 0x01, 0x56, 0x98, 0xa6, 0x14, 0x69,
- 0xa4, 0xf7, 0x9f, 0x60,
- 0xab, 0x15, 0x91, 0x51, 0x2a, 0x36, 0x3e, 0xb9, 0xe3, 0xfe, 0x9e, 0x9a,
- 0x82, 0xfd, 0x59, 0x97,
- 0xae, 0xe3, 0x45, 0x07, 0x05, 0x46, 0x31, 0x2d, 0xe7, 0x73, 0x52, 0x88,
- 0x11, 0xc9, 0x70, 0xf2,
- 0x51, 0x34, 0x5b, 0x86, 0x68, 0xc2, 0xf3, 0xae, 0x2b, 0x2e, 0xa1, 0x58,
- 0x0b, 0x1c, 0xb7, 0x3f,
- 0x12, 0xfa, 0x4e, 0xff, 0x37, 0xe2, 0x36, 0x4c, 0xa9, 0x87, 0x3e, 0x54,
- 0xeb, 0x49, 0x2b, 0x11,
- 0x8f, 0x22, 0x0d, 0x6c, 0x44, 0x31, 0x52, 0x21, 0x72, 0x33, 0xe2, 0x32,
- 0x97, 0x6f, 0x0f, 0xb5,
- 0x1d, 0x23, 0xf1, 0x05, 0x46, 0x72, 0x27, 0x33, 0xa5, 0xd3, 0xa9, 0x62,
- 0x9d, 0x15, 0x50, 0xbe,
- 0xf4, 0x77, 0xf0, 0x82, 0xee, 0xaa, 0xdf, 0x92, 0xaf, 0xad, 0x94, 0x4f,
- 0xd0, 0x67, 0xf7, 0xa7,
- 0xd3, 0x12, 0x20, 0x8d, 0x24, 0x3c, 0xb6, 0xc7, 0x83, 0x1b, 0xac, 0xe9,
- 0xb4, 0x58, 0x07, 0xa6,
- 0xff, 0xd7, 0x1e, 0x81, 0x6d, 0x84, 0xc2, 0x83, 0xcc, 0x5d, 0xf3, 0xd0,
- 0x1a, 0xd5, 0xc7, 0xcd,
- 0x47, 0xb7, 0x44, 0x80, 0xad, 0x9e, 0xc9, 0x8c, 0xed, 0x0d, 0x6f, 0xa5,
- 0x5c, 0xbb, 0xd7, 0xeb,
- 0x15, 0xd1, 0x53, 0x34, 0x61, 0xcd, 0x3f, 0xef, 0x7b, 0x58, 0x8a, 0xf3,
- 0x26, 0x0a, 0xc6, 0xf7,
- 0x8b, 0x5b, 0x5c, 0x95, 0xb6, 0x8f, 0x5e, 0x4f, 0x1d, 0x97, 0x12, 0x9b,
- 0x2b, 0x81, 0x44, 0x70,
- 0xa0, 0xb5, 0x7f, 0x52, 0xa9, 0x18, 0x23, 0xa8, 0x80, 0x0e, 0xf9, 0x05,
- 0x48, 0x4f, 0x69, 0xfd,
- 0xf5, 0xf8, 0x75, 0x2d, 0x33, 0x64, 0xdc, 0x68, 0xc4, 0x84, 0xa8, 0xf4,
- 0xff, 0xbd, 0x95, 0x07,
- 0x28, 0xbc, 0x6f, 0xf5, 0xbb, 0x06, 0x78, 0x2a, 0x20, 0xe2, 0xaf, 0x90,
- 0x12, 0x63, 0x8b, 0xae,
- 0x57, 0x90, 0xc3, 0xe2, 0xe3, 0x23, 0xf9, 0xf7, 0x92, 0xd8, 0x29, 0x44,
- 0xe9, 0x85, 0x38, 0x79,
- 0xb2, 0x4f, 0x31, 0xad, 0x9e, 0xfa, 0x15, 0xe4, 0x29, 0x89, 0xc7, 0x51,
- 0xa3, 0x06, 0x42, 0xec,
- 0x24, 0x37, 0x9c, 0x3d, 0x6e, 0x07, 0x6c, 0x98, 0x91, 0xcd, 0x7c, 0xa8,
- 0x15, 0x92, 0x56, 0x22,
- 0xcf, 0xbe, 0x54, 0x27, 0xbf, 0x80, 0x92, 0x0e, 0x4d, 0xe1, 0x39, 0x30,
- 0x06, 0x97, 0x35, 0xb8,
- 0x89, 0x86, 0x95, 0x08, 0xcf, 0xd0, 0x58, 0x78, 0xcb, 0xc5, 0x6a, 0x2e,
- 0x75, 0xf6, 0x80, 0xf3,
- 0xdd, 0x44, 0x1a, 0xd8, 0x88, 0x62, 0xa4, 0x42, 0xe4, 0x66, 0x07, 0x64,
- 0xed, 0xde, 0x1e, 0xa9,
- 0x55, 0x4d, 0x0a, 0x7f, 0x9a, 0x7c, 0xff, 0xc0, 0x44, 0x8a, 0x51, 0xf1,
- 0xb7, 0xf2, 0xfc, 0xfa,
- 0x2b, 0xee, 0x23, 0xc7, 0x1f, 0x97, 0x7d, 0xe7, 0x9d, 0x99, 0xeb, 0x9e,
- 0x63, 0xce, 0x2d, 0x8d,
- 0x9b, 0x7c, 0xdb, 0xf7, 0xf8, 0x32, 0x6e, 0x34, 0x62, 0x42, 0x54, 0x7a,
- 0x9e, 0xbf, 0xab, 0xe2,
- 0xeb, 0x89, 0xc8, 0x1a, 0xd1, 0x87, 0xfe, 0x96, 0xdc, 0x2c, 0x45, 0x98,
- 0x13, 0x05, 0x63, 0x9a,
- 0xce, 0x31, 0xd1, 0x88, 0x62, 0x4e, 0x91, 0xf4, 0x26, 0xc8, 0x05, 0x8b,
- 0x29, 0x4d, 0x57, 0x18,
- 0xe5, 0xdf, 0xf2, 0x4f, 0x7d, 0xd9, 0xec, 0x13, 0xbb, 0x51, 0xee, 0x15,
- 0x4a, 0x83, 0x7a, 0x95,
- 0xb1, 0x1d, 0x7d, 0x9f, 0x3a, 0x6b, 0x10, 0x29, 0x94, 0xf2, 0x83, 0x5f,
- 0xd2, 0xab, 0xe4, 0xcf,
- 0x22, 0x93, 0x04, 0x59, 0xe5, 0xe6, 0x66, 0xc1, 0x28, 0x3b, 0xf4, 0xb4,
- 0xf7, 0x0b, 0xd9, 0x64,
- 0xbd, 0x96, 0x8e, 0x57, 0xef, 0x6a, 0x04, 0x9b, 0x25, 0xdd, 0x50, 0x67,
- 0xd5, 0x5a, 0x39, 0x43,
- 0xe9, 0x54, 0x01, 0x87, 0xa8, 0xd8, 0xf8, 0xa1, 0x0a, 0x7e, 0x3d, 0x2d,
- 0x4d, 0x72, 0xa7, 0x19,
- 0x23, 0x1c, 0x81, 0xf6, 0x38, 0x28, 0x65, 0x3b, 0x43, 0x12, 0xc8, 0x0f,
- 0xd8, 0xd1, 0xbb, 0xc4,
- 0x75, 0x03, 0xc7, 0xbb, 0x06, 0xc5, 0x9f, 0x36, 0xba, 0xe3, 0xdd, 0xf0,
- 0x1e, 0x8e, 0xe1, 0x1d,
- 0x9f, 0x05, 0x8a, 0x0e, 0x0a, 0x8c, 0x62, 0x5a, 0x0d, 0xe6, 0xa4, 0xd3,
- 0x22, 0x51, 0xe0, 0x27,
- 0xa2, 0x68, 0xb6, 0xcf, 0xd0, 0x47, 0x25, 0x9f, 0x56, 0x5c, 0x81, 0xb0,
- 0x16, 0x38, 0xad, 0x7e,
- 0x0f, 0xd9, 0xbf, 0xfa, 0x71, 0x90, 0x11, 0x7f, 0x0c, 0x54, 0x97, 0x36,
- 0x76, 0x5c, 0x7b, 0xaf,
- 0x54, 0xc2, 0x8f, 0xd0, 0x47, 0xb2, 0xfc, 0x3a, 0x2f, 0xa3, 0x6d, 0x4a,
- 0x98, 0x28, 0x9e, 0x5a,
- 0x86, 0x5f, 0x2a, 0xf2, 0xbe, 0x40, 0x49, 0x07, 0xc7, 0x91, 0xfd, 0x18,
- 0x03, 0xaa, 0xfb, 0x5c,
- 0x93, 0x8e, 0x79, 0xc6, 0xdf, 0x8d, 0x76, 0xe8, 0xbc, 0xc9, 0x77, 0xeb,
- 0x25, 0xa0, 0x3d, 0xab,
- 0x5a, 0x94, 0xb5, 0x85, 0xeb, 0xec, 0xee, 0xbf, 0x48, 0xde, 0xc6, 0xc7,
- 0xc1, 0xae, 0x87, 0x55,
- 0x3d, 0x6d, 0x3c, 0xc1, 0xda, 0xcb, 0x47, 0xc5, 0x5b, 0xba, 0x25, 0x63,
- 0x34, 0x69, 0x4d, 0x59,
- 0x94, 0xa5, 0x64, 0x0d, 0x89, 0xa2, 0x7f, 0x4b, 0x6e, 0x16, 0xc3, 0x4c,
- 0xe8, 0xe3, 0xd0, 0x4d,
- 0x56, 0x1f, 0x46, 0x4d, 0x3e, 0xed, 0xfa, 0x0d, 0xf9, 0xf1, 0x15, 0xff,
- 0xc6, 0x5f, 0x5a, 0xd9,
- 0xbf, 0x4b, 0x47, 0xca, 0x96, 0x35, 0x02, 0xac, 0xf3, 0x8f, 0x28, 0xd2,
- 0x8b, 0x2d, 0xfd, 0xc0,
- 0x95, 0x2a, 0xe1, 0xa2, 0x54, 0x6c, 0x7c, 0xb1, 0x05, 0x3f, 0xff, 0xf7,
- 0xc7, 0x39, 0xb2, 0xed,
- 0xb9, 0xef, 0xdf, 0xae, 0x1d, 0xd4, 0x08, 0xf5, 0x4a, 0x79, 0xa0, 0xce,
- 0x69, 0xb4, 0x72, 0x86,
- 0x11, 0xa8, 0x02, 0xcd, 0x93, 0x73, 0x33, 0x81, 0x14, 0xfc, 0x7a, 0x5a,
- 0x9a, 0xe4, 0x8d, 0x32,
- 0x0b, 0xa0, 0xee, 0x03, 0x83, 0x2e, 0x1d, 0x11, 0x63, 0xf0, 0x67, 0x9f,
- 0xca, 0xb2, 0x30, 0x6a,
- 0x71, 0x7a, 0x96, 0x42, 0xf4, 0x7b, 0x93, 0x58, 0xd5, 0x47, 0x2d, 0x59,
- 0xa2, 0x60, 0xaa, 0xd8,
- 0xb0, 0x92, 0xf8, 0x30, 0xe7, 0xa5, 0x13, 0xd3, 0xff, 0xdb, 0xbf, 0xe4,
- 0xfd, 0x71, 0x86, 0x6f,
- 0x1c, 0xac, 0x74, 0xaa, 0x9b, 0xbc, 0x24, 0xc9, 0xce, 0xfa, 0x95, 0xd9,
- 0xb2, 0xcf, 0x32, 0x1e,
- 0xdc, 0xcb, 0x9f, 0x77, 0x55, 0xac, 0xa7, 0xb8, 0x8f, 0x4f, 0x3b, 0xdf,
- 0xc2, 0x04, 0x7c, 0x09,
- 0xa8, 0x47, 0xdd, 0x63, 0x8e, 0xa7, 0x3b, 0x74, 0x5e, 0x85, 0xda, 0x94,
- 0xf3, 0x50, 0xff, 0xb4,
- 0xc1, 0xe8, 0x6e, 0x72, 0x13, 0xde, 0x80, 0x8b, 0x2a, 0x9c, 0x92, 0xbd,
- 0x5f, 0x11, 0x2c, 0xb7,
- 0x2a, 0x61, 0xa6, 0x68, 0xc2, 0x59, 0x7e, 0x1d, 0xf6, 0xb0, 0xd7, 0x25,
- 0x4c, 0x14, 0x4f, 0x2d,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xac, 0x3e, 0x8c, 0x9a, 0x7c, 0x19, 0x37, 0x1a, 0x31, 0x21, 0x2a, 0x3d,
- 0x4f, 0xbe, 0xb4, 0x71,
- 0x48, 0x6e, 0xfb, 0x7a, 0xdc, 0x0e, 0xd8, 0xf3, 0xe1, 0x59, 0xf8, 0x93,
- 0x2a, 0xe7, 0xac, 0x44,
- 0x7a, 0xda, 0x78, 0x41, 0x77, 0x55, 0x8e, 0x49, 0xb6, 0xb7, 0x4a, 0xc6,
- 0x68, 0xd2, 0x9a, 0xb2,
- },
- { /* 2 */
- 0x47, 0x35, 0xef, 0xb5, 0xef, 0xef, 0x30, 0xe6, 0xaf, 0xa0, 0x89, 0x86,
- 0x13, 0x85, 0x5f, 0xe6,
- 0xe9, 0x63, 0xba, 0xe4, 0xba, 0xba, 0x98, 0x67, 0x18, 0xd6, 0x5a, 0x94,
- 0x21, 0x7c, 0xa5, 0x67,
- 0x8f, 0xb2, 0x8e, 0xde, 0x8e, 0x8e, 0xf7, 0x86, 0xb8, 0x77, 0x64, 0xab,
- 0x6e, 0x29, 0x15, 0x86,
- 0x4e, 0xe2, 0x6e, 0xfc, 0x6e, 0x6e, 0x95, 0xad, 0x61, 0xf8, 0xdd, 0x44,
- 0x5e, 0x69, 0xe5, 0xad,
- 0x03, 0xab, 0x76, 0x99, 0x76, 0x76, 0x7a, 0x58, 0x6f, 0xdf, 0x1c, 0xac,
- 0xd8, 0xe3, 0x3e, 0x58,
- 0xcf, 0xca, 0x1e, 0xed, 0x1e, 0x1e, 0xa4, 0x59, 0xec, 0x5e, 0x60, 0xd2,
- 0x46, 0x49, 0x9d, 0x59,
- 0x0c, 0xe9, 0x1b, 0x21, 0x1b, 0x1b, 0x2b, 0xa3, 0x7f, 0xfa, 0x70, 0xf5,
- 0xe6, 0x0a, 0xf8, 0xa3,
- 0xba, 0xae, 0x78, 0x32, 0x78, 0x78, 0xd5, 0xa7, 0x36, 0xbb, 0x43, 0xce,
- 0xdb, 0xe7, 0x31, 0xa7,
- 0x12, 0x6d, 0xc1, 0x92, 0xc1, 0xc1, 0x89, 0x96, 0x5f, 0xb0, 0xa8, 0x47,
- 0x9a, 0x1b, 0xb7, 0x96,
- 0xf0, 0xaa, 0x1f, 0xd1, 0x1f, 0x1f, 0x59, 0x6b, 0xc3, 0x15, 0x0f, 0xd9,
- 0x66, 0x88, 0x3d, 0x6b,
- 0x2b, 0x98, 0x2c, 0x5f, 0x2c, 0x2c, 0x80, 0x14, 0xae, 0x86, 0xff, 0xd7,
- 0xc9, 0xdf, 0x6b, 0x14,
- 0x2c, 0xd5, 0x53, 0xd9, 0x53, 0x53, 0xe3, 0x2d, 0x55, 0x0f, 0x72, 0x28,
- 0xf2, 0x3a, 0xbc, 0x2d,
- 0x32, 0x51, 0x89, 0x6a, 0x89, 0x89, 0x41, 0x18, 0x75, 0x45, 0xaa, 0x9a,
- 0x8e, 0x2b, 0xf3, 0x18,
- 0x1b, 0xba, 0x40, 0xdb, 0x40, 0x40, 0x2c, 0xdd, 0x91, 0xe8, 0xfc, 0x85,
- 0xd7, 0xf7, 0x0d, 0xdd,
- 0xd2, 0xe5, 0xb2, 0xc7, 0xb2, 0xb2, 0x7c, 0x34, 0xa3, 0xcb, 0xa4, 0xcc,
- 0xe2, 0xbb, 0xec, 0x34,
- 0x08, 0x0f, 0x12, 0x3e, 0x12, 0x12, 0x32, 0xc2, 0xeb, 0xac, 0xe1, 0xa6,
- 0x05, 0x0c, 0x11, 0xc2,
- 0xdd, 0xa7, 0xdf, 0x7f, 0xdf, 0xdf, 0x2d, 0xcf, 0xb3, 0xee, 0xc8, 0x95,
- 0xdc, 0x52, 0x2a, 0xcf,
- 0x60, 0x44, 0xd8, 0xcb, 0xd8, 0xd8, 0x9b, 0x51, 0x7e, 0xdc, 0x06, 0xa4,
- 0x3c, 0x50, 0xcc, 0x51,
- 0x72, 0x29, 0x19, 0x59, 0x19, 0x19, 0x12, 0xc7, 0x21, 0x6c, 0xae, 0xe3,
- 0xa6, 0x4b, 0x7b, 0xc7,
- 0x11, 0xc6, 0xb7, 0x0b, 0xb7, 0xb7, 0xf3, 0xce, 0x30, 0x6f, 0xb4, 0xeb,
- 0x42, 0xf8, 0x89, 0xce,
- 0x06, 0x95, 0xec, 0xf1, 0xec, 0xec, 0xf4, 0xb0, 0xde, 0x7d, 0x38, 0x9b,
- 0x73, 0x05, 0x7c, 0xb0,
- 0x5d, 0x57, 0x3c, 0x19, 0x3c, 0x3c, 0x8b, 0xb2, 0x1b, 0xbc, 0xc0, 0x67,
- 0x8c, 0x92, 0xf9, 0xb2,
- 0xe0, 0xb4, 0x3b, 0xad, 0x3b, 0x3b, 0x3d, 0x2c, 0xd6, 0x8e, 0x0e, 0x56,
- 0x6c, 0x90, 0x1f, 0x2c,
- 0x86, 0x65, 0x0f, 0x97, 0x0f, 0x0f, 0x52, 0xcd, 0x76, 0x2f, 0x30, 0x69,
- 0x23, 0xc5, 0xaf, 0xcd,
- 0xaa, 0xb0, 0x5c, 0x4e, 0x5c, 0x5c, 0xb1, 0xe0, 0x23, 0x20, 0x42, 0x41,
- 0xd1, 0xff, 0x13, 0xe0,
- 0x58, 0x69, 0xa6, 0x71, 0xa6, 0xa6, 0x05, 0x5a, 0xaa, 0x1e, 0xe4, 0x50,
- 0x27, 0x74, 0xbb, 0x5a,
- 0x24, 0xda, 0x41, 0xe7, 0x41, 0x41, 0xd1, 0xef, 0xbe, 0xa3, 0x93, 0x8e,
- 0xf7, 0x36, 0xad, 0xef,
- 0xdf, 0xd4, 0x3a, 0x91, 0x3a, 0x3a, 0xc0, 0x1e, 0xf9, 0xc5, 0x61, 0x5d,
- 0x4c, 0x51, 0xbf, 0x1e,
- 0x69, 0x93, 0x59, 0x82, 0x59, 0x59, 0x3e, 0x1a, 0xb0, 0x84, 0x52, 0x66,
- 0x71, 0xbc, 0x76, 0x1a,
- 0x7a, 0x26, 0x0b, 0x67, 0x0b, 0x0b, 0x20, 0x05, 0xca, 0xc0, 0x4f, 0x45,
- 0xa3, 0x47, 0x6a, 0x05,
- 0x67, 0x09, 0xa7, 0x4d, 0xa7, 0xa7, 0xf8, 0x68, 0x85, 0x55, 0x8b, 0x5b,
- 0x07, 0xb5, 0x1b, 0x68,
- 0xec, 0x5d, 0x20, 0x8c, 0x20, 0x20, 0x16, 0x8f, 0xa9, 0x74, 0x7e, 0xa3,
- 0x8a, 0x9a, 0xe7, 0x8f,
- 0x30, 0x22, 0x6c, 0x84, 0x6c, 0x6c, 0xac, 0xc9, 0x3f, 0x6e, 0x03, 0x52,
- 0x1e, 0x28, 0x66, 0xc9,
- 0x6a, 0x38, 0x2f, 0x1b, 0x2f, 0x2f, 0x44, 0x42, 0xdf, 0x5b, 0x4e, 0xca,
- 0xa9, 0x5f, 0x48, 0x42,
- 0x0e, 0x9a, 0xfe, 0xcf, 0xfe, 0xfe, 0xc6, 0x72, 0x35, 0xd1, 0xd9, 0x3d,
- 0x76, 0x09, 0x6d, 0x72,
- 0x43, 0xd3, 0xe6, 0xaa, 0xe6, 0xe6, 0x29, 0x87, 0x3b, 0xf6, 0x18, 0xd5,
- 0xf0, 0x83, 0xb6, 0x87,
- 0x2d, 0x0d, 0xc0, 0xae, 0xc0, 0xc0, 0x74, 0xa4, 0x70, 0xfb, 0xc7, 0x4c,
- 0xba, 0xda, 0x17, 0xa4,
- 0xb3, 0x79, 0xf9, 0x7b, 0xf9, 0xf9, 0x70, 0xec, 0xf8, 0xe3, 0x17, 0x0c,
- 0x96, 0x0b, 0x8b, 0xec,
- 0xe4, 0x52, 0x32, 0xb2, 0x32, 0x32, 0x24, 0x4d, 0x42, 0xd8, 0x9f, 0x05,
- 0x8f, 0x96, 0xf6, 0x4d,
- 0x22, 0x4f, 0xad, 0x16, 0xad, 0xad, 0x25, 0x5f, 0x60, 0xde, 0xab, 0x15,
- 0x84, 0x33, 0xd1, 0x5f,
- 0xab, 0x68, 0xcf, 0x39, 0xcf, 0xcf, 0x26, 0x69, 0x06, 0xd4, 0xf7, 0x25,
- 0x99, 0x1f, 0xb8, 0x69,
- 0x3d, 0x13, 0xe4, 0xd2, 0xe4, 0xe4, 0x10, 0xe3, 0x65, 0x60, 0xc6, 0xc3,
- 0xb0, 0xc2, 0x35, 0xe3,
- 0x34, 0xc4, 0x65, 0x9b, 0x65, 0x65, 0xb5, 0xa8, 0xab, 0x38, 0x92, 0x01,
- 0xfd, 0x2e, 0x8f, 0xa8,
- 0x90, 0xee, 0xc7, 0x1a, 0xc7, 0xc7, 0xc2, 0x3a, 0xbd, 0xc9, 0x09, 0x7d,
- 0x5a, 0xd8, 0xf1, 0x3a,
- 0x97, 0xa3, 0xb8, 0x9c, 0xb8, 0xb8, 0xa1, 0x03, 0x46, 0x40, 0x84, 0x82,
- 0x61, 0x3d, 0x26, 0x03,
- 0xb0, 0xd2, 0x8f, 0xe2, 0x8f, 0x8f, 0x0a, 0xb4, 0x97, 0x3c, 0x0b, 0xa0,
- 0x4e, 0xe8, 0xb5, 0xb4,
- 0xe5, 0x8a, 0xa1, 0xc5, 0xa1, 0xa1, 0xb3, 0xc4, 0x67, 0x2c, 0x2a, 0x61,
- 0xc7, 0x76, 0x5d, 0xc4,
- 0x42, 0x0b, 0x75, 0xdd, 0x75, 0x75, 0xbe, 0x0e, 0x1e, 0x02, 0xad, 0xb1,
- 0xb8, 0x63, 0x1d, 0x0e,
- 0x79, 0x8d, 0x7d, 0xfe, 0x7d, 0x7d, 0x5a, 0x5d, 0xa5, 0x1f, 0x53, 0xe9,
- 0x7b, 0xa4, 0x54, 0x5d,
- 0xc0, 0x88, 0x73, 0x55, 0x73, 0x73, 0xf5, 0xa2, 0xfc, 0x7b, 0x0c, 0x8b,
- 0x78, 0xa0, 0x5b, 0xa2,
- 0x18, 0x11, 0x36, 0x42, 0x36, 0x36, 0x56, 0x85, 0xfe, 0x37, 0xe0, 0x29,
- 0x0f, 0x14, 0x33, 0x85,
- 0x4b, 0xdc, 0xf4, 0x94, 0xf4, 0xf4, 0x1b, 0x45, 0xd0, 0x5a, 0xf9, 0x73,
- 0xf5, 0x8f, 0xa7, 0x45,
- 0xf7, 0xe7, 0x60, 0x57, 0x60, 0x60, 0x3a, 0x52, 0x38, 0x9c, 0x82, 0x26,
- 0x5d, 0x6d, 0xea, 0x52,
- 0xb8, 0xdd, 0x9d, 0xdc, 0x9d, 0x9d, 0x38, 0x76, 0x7c, 0x90, 0xea, 0x06,
- 0x4b, 0xe4, 0xa4, 0x76,
- 0xa6, 0x59, 0x47, 0x6f, 0x47, 0x47, 0x9a, 0x43, 0x5c, 0xda, 0x32, 0xb4,
- 0x37, 0xf5, 0xeb, 0x43,
- 0x59, 0xb1, 0x35, 0x06, 0x35, 0x35, 0x92, 0xd3, 0x8f, 0xea, 0x51, 0x34,
- 0x6f, 0x94, 0x10, 0xd3,
- 0x64, 0xa2, 0xd1, 0xd4, 0xd1, 0xd1, 0x82, 0x30, 0xea, 0x8a, 0x97, 0xf7,
- 0xdf, 0x56, 0x25, 0x30,
- 0x36, 0xb7, 0x80, 0x75, 0x80, 0x80, 0x58, 0x79, 0xe1, 0x13, 0x3b, 0xc9,
- 0x6d, 0x2d, 0x1a, 0x79,
- 0xb4, 0x34, 0x86, 0xfd, 0x86, 0x86, 0x13, 0xd5, 0x03, 0x6a, 0x9a, 0xf3,
- 0xad, 0xee, 0x5c, 0xd5,
- 0x81, 0x28, 0x70, 0x11, 0x70, 0x70, 0x31, 0xf4, 0x8d, 0xa6, 0xbd, 0x96,
- 0x18, 0x20, 0x78, 0xf4,
- 0x09, 0xd7, 0x81, 0x49, 0x81, 0x81, 0xa5, 0x4b, 0xce, 0x58, 0x54, 0xc2,
- 0x4d, 0xec, 0xba, 0x4b,
- 0x78, 0x55, 0xee, 0x89, 0xee, 0xee, 0xcd, 0xd4, 0x80, 0xeb, 0xe6, 0x8d,
- 0x33, 0x44, 0xff, 0xd4,
- 0xed, 0x85, 0xb3, 0xfb, 0xb3, 0xb3, 0x81, 0x06, 0x8c, 0x80, 0xcb, 0xc7,
- 0xc2, 0x7a, 0x4c, 0x06,
- 0x5f, 0x24, 0xd9, 0xf7, 0xd9, 0xd9, 0x66, 0x63, 0x51, 0x97, 0x69, 0xaf,
- 0x1c, 0x91, 0x6c, 0x63,
- 0xda, 0xea, 0xa0, 0xf9, 0xa0, 0xa0, 0x4e, 0xf6, 0x48, 0x67, 0x45, 0x6a,
- 0xe7, 0xb7, 0xfd, 0xf6,
- 0xc4, 0x6e, 0x7a, 0x4a, 0x7a, 0x7a, 0xec, 0xc3, 0x68, 0x2d, 0x9d, 0xd8,
- 0x9b, 0xa6, 0xb2, 0xc3,
- 0x29, 0xeb, 0xc9, 0xb1, 0xc9, 0xc9, 0x6d, 0xc5, 0xe4, 0xad, 0x56, 0x1f,
- 0x59, 0xdc, 0xfe, 0xc5,
- 0xad, 0xfd, 0x23, 0xc8, 0x23, 0x23, 0xd2, 0xd9, 0xd8, 0xa9, 0xcf, 0xbe,
- 0xea, 0x1a, 0xc4, 0xd9,
- 0x07, 0x4d, 0x7f, 0x86, 0x7f, 0x7f, 0x63, 0x39, 0xfb, 0x89, 0x8d, 0xff,
- 0x3b, 0xe5, 0xd7, 0x39,
- 0x82, 0x83, 0x06, 0x88, 0x06, 0x06, 0x4b, 0xac, 0xe2, 0x79, 0xa1, 0x3a,
- 0xc0, 0xc3, 0x46, 0xac,
- 0xe2, 0xc7, 0xde, 0x43, 0xde, 0xde, 0xd0, 0xfd, 0x9c, 0xa5, 0xa7, 0x9e,
- 0xfc, 0x93, 0x8a, 0xfd,
- 0x31, 0xfa, 0xff, 0xf3, 0xff, 0xff, 0x3b, 0x40, 0x1a, 0x9a, 0xb6, 0x36,
- 0x56, 0xc8, 0xcd, 0x40,
- 0x17, 0x53, 0x5b, 0xfa, 0x5b, 0x5b, 0x07, 0x7e, 0xee, 0x12, 0x8c, 0x70,
- 0x31, 0xfd, 0xf5, 0x7e,
- 0x9f, 0xac, 0xaa, 0xa2, 0xaa, 0xaa, 0x93, 0xc1, 0xad, 0xec, 0x65, 0x24,
- 0x64, 0x31, 0x37, 0xc1,
- 0x0b, 0xa4, 0x64, 0xa7, 0x64, 0x64, 0x48, 0x9a, 0x84, 0x73, 0xfd, 0x0a,
- 0xdd, 0xef, 0x2f, 0x9a,
- 0x16, 0x8b, 0xc8, 0x8d, 0xc8, 0xc8, 0x90, 0xf7, 0xcb, 0xe6, 0x39, 0x14,
- 0x79, 0x1d, 0x5e, 0xf7,
- 0x7f, 0x18, 0x91, 0x0f, 0x91, 0x91, 0xae, 0xed, 0x7b, 0x62, 0x6b, 0x72,
- 0x08, 0xa1, 0x28, 0xed,
- 0x23, 0x97, 0x3e, 0x61, 0x3e, 0x3e, 0xb2, 0xd6, 0x45, 0x2a, 0x1e, 0x71,
- 0xcc, 0xd3, 0x7a, 0xd6,
- 0x6b, 0xe0, 0xbc, 0x6c, 0xbc, 0xbc, 0xd3, 0xcb, 0xfa, 0xaf, 0xfb, 0xae,
- 0xe1, 0xbf, 0xe3, 0xcb,
- 0xa9, 0x1b, 0x2a, 0xd7, 0x2a, 0x2a, 0xcb, 0xb8, 0x4c, 0xff, 0x5e, 0xed,
- 0x09, 0x1c, 0x2d, 0xb8,
- 0x8b, 0x54, 0x87, 0xc1, 0x87, 0x87, 0xee, 0xe7, 0x2c, 0x21, 0xf5, 0xf8,
- 0x8d, 0x2f, 0xfc, 0xe7,
- 0xb7, 0x9f, 0xf0, 0x64, 0xf0, 0xf0, 0x69, 0x8d, 0x6c, 0xb5, 0x86, 0x5f,
- 0x75, 0x0d, 0x62, 0x8d,
- 0x13, 0xb5, 0x52, 0xe5, 0x52, 0x52, 0x1e, 0x1f, 0x7a, 0x44, 0x1d, 0x23,
- 0xd2, 0xfb, 0x1c, 0x1f,
- 0x1c, 0xf7, 0x3f, 0x5d, 0x3f, 0x3f, 0x4f, 0xe4, 0x6a, 0x61, 0x71, 0x7a,
- 0xec, 0x12, 0xda, 0xe4,
- 0xfb, 0x0e, 0x7b, 0x76, 0x7b, 0x7b, 0x11, 0xf1, 0x47, 0x66, 0xf2, 0xd3,
- 0xbb, 0x67, 0x12, 0xf1,
- 0x62, 0x37, 0x3d, 0x25, 0x3d, 0x3d, 0x76, 0x80, 0x34, 0xf7, 0xaf, 0x6c,
- 0xac, 0x53, 0x59, 0x80,
- 0xf2, 0xd9, 0xfa, 0x3f, 0xfa, 0xfa, 0xb4, 0xba, 0x89, 0x3e, 0xa6, 0x11,
- 0xf6, 0x8b, 0xa8, 0xba,
- 0x3b, 0x86, 0x08, 0x23, 0x08, 0x08, 0xe4, 0x53, 0xbb, 0x1d, 0xfe, 0x58,
- 0xc3, 0xc7, 0x49, 0x53,
- 0x9a, 0x92, 0x30, 0xca, 0x30, 0x30, 0x1d, 0x29, 0x1c, 0x4e, 0x41, 0x13,
- 0xcf, 0xd7, 0x75, 0x29,
- 0x75, 0x64, 0x66, 0xdf, 0x66, 0x66, 0x71, 0xfe, 0xda, 0xe5, 0x23, 0x1c,
- 0x9d, 0xae, 0xac, 0xfe,
- 0xea, 0xc8, 0xcc, 0x7d, 0xcc, 0xcc, 0xe2, 0x3f, 0x77, 0x09, 0x46, 0x38,
- 0xf9, 0x9f, 0x9b, 0x3f,
- 0xd0, 0x96, 0x57, 0x29, 0x57, 0x57, 0x91, 0xe5, 0xe9, 0xe0, 0x0d, 0x04,
- 0x72, 0xb8, 0x79, 0xe5,
- 0x2a, 0x40, 0xbf, 0x28, 0xbf, 0xbf, 0x17, 0x9d, 0x8b, 0x72, 0x4a, 0xb3,
- 0x81, 0x3f, 0xc0, 0x9d,
- 0x91, 0x36, 0x54, 0x6d, 0x54, 0x54, 0x55, 0xb3, 0x98, 0x3d, 0xbc, 0x19,
- 0x12, 0x38, 0x5a, 0xb3,
- 0x02, 0x73, 0xe5, 0xee, 0xe5, 0xe5, 0xed, 0xd1, 0x4a, 0x2b, 0xa9, 0xc8,
- 0x90, 0x03, 0x95, 0xd1,
- 0x46, 0xed, 0x7c, 0xc2, 0x7c, 0x7c, 0xa7, 0x6f, 0x8a, 0x54, 0x3c, 0xe2,
- 0x5b, 0x65, 0xf4, 0x6f,
- 0xa7, 0x81, 0xd4, 0x18, 0xd4, 0xd4, 0x0d, 0xca, 0x79, 0x2e, 0x87, 0xd0,
- 0x7f, 0x15, 0x40, 0xca,
- 0xdc, 0x7f, 0x4c, 0x08, 0x4c, 0x4c, 0xba, 0x46, 0x96, 0x1a, 0x7d, 0xf1,
- 0x94, 0xb2, 0x81, 0x46,
- 0x27, 0x71, 0x37, 0x7e, 0x37, 0x37, 0xab, 0xb7, 0xd1, 0x7c, 0x8f, 0x22,
- 0x2f, 0xd5, 0x93, 0xb7,
- 0x76, 0xcf, 0x10, 0x46, 0x10, 0x10, 0x0b, 0xa6, 0xb5, 0x3a, 0x3f, 0xb0,
- 0x45, 0x4d, 0x92, 0xa6,
- 0xa4, 0x2a, 0xa2, 0x81, 0xa2, 0xa2, 0x77, 0x92, 0x16, 0xf1, 0x9b, 0x7c,
- 0xa7, 0xf6, 0x7e, 0x92,
- 0xca, 0xf4, 0x84, 0x85, 0x84, 0x84, 0x2a, 0xb1, 0x5d, 0xfc, 0x44, 0xe5,
- 0xed, 0xaf, 0xdf, 0xb1,
- 0x96, 0x7b, 0x2b, 0xeb, 0x2b, 0x2b, 0x36, 0x8a, 0x63, 0xb4, 0x31, 0xe6,
- 0x29, 0xdd, 0x8d, 0x8a,
- 0x70, 0x5a, 0xfc, 0xb7, 0xfc, 0xfc, 0xff, 0x16, 0x6b, 0x47, 0x07, 0x2b,
- 0x36, 0x48, 0xee, 0x16,
- 0x54, 0x80, 0xbd, 0x50, 0xbd, 0xbd, 0x2e, 0xf9, 0xd5, 0xe4, 0x94, 0xa5,
- 0xc1, 0x7e, 0x43, 0xf9,
- 0xe1, 0x6c, 0xa8, 0xda, 0xa8, 0xa8, 0xaa, 0xa5, 0xf3, 0x7a, 0xbb, 0x32,
- 0x24, 0x70, 0xb4, 0xa5,
- 0x6f, 0x06, 0xb5, 0x73, 0xb5, 0xb5, 0xca, 0xaa, 0x6e, 0xf9, 0x6a, 0xfd,
- 0x02, 0xb9, 0x0a, 0xaa,
- 0x39, 0xf5, 0xed, 0xcd, 0xed, 0xed, 0x09, 0x82, 0xf1, 0x36, 0x57, 0x90,
- 0x53, 0xc4, 0xdc, 0x82,
- 0x33, 0x89, 0x1a, 0x1d, 0x1a, 0x1a, 0xd6, 0x91, 0x50, 0xb1, 0x1f, 0xfe,
- 0xc6, 0xcb, 0x58, 0x91,
- 0xdb, 0x32, 0x33, 0x8e, 0x33, 0x33, 0xd9, 0x7f, 0x6d, 0x93, 0xf0, 0x0e,
- 0xaf, 0x57, 0x56, 0x7f,
- 0xa0, 0xcc, 0xab, 0x9e, 0xab, 0xab, 0x6e, 0xf3, 0x82, 0xa7, 0x0a, 0x2f,
- 0x44, 0xf0, 0x97, 0xf3,
- 0xfe, 0x30, 0xe1, 0x1e, 0xe1, 0xe1, 0x9f, 0x19, 0xf6, 0xc4, 0xd6, 0xe4,
- 0x10, 0x81, 0x50, 0x19,
- 0xb2, 0xa1, 0x6a, 0x0c, 0x6a, 0x6a, 0xe7, 0x65, 0xdd, 0x17, 0xa2, 0x68,
- 0xde, 0xeb, 0x20, 0x65,
- 0x10, 0x1e, 0x24, 0x7c, 0x24, 0x24, 0x64, 0x47, 0x15, 0x9b, 0x01, 0x8f,
- 0x0a, 0x18, 0x22, 0x47,
- 0x71, 0x82, 0x6f, 0xc0, 0x6f, 0x6f, 0x68, 0x9f, 0x4e, 0xb3, 0xb2, 0x4f,
- 0x7e, 0xa8, 0x45, 0x9f,
- 0x87, 0xbd, 0x9c, 0xe0, 0x9c, 0x9c, 0xc5, 0x44, 0x53, 0xdb, 0x85, 0x0d,
- 0x6b, 0x25, 0x04, 0x44,
- 0x35, 0x1c, 0xf6, 0xec, 0xf6, 0xf6, 0x22, 0x21, 0x8e, 0xcc, 0x27, 0x65,
- 0xb5, 0xce, 0x24, 0x21,
- 0x38, 0x2d, 0x7e, 0xba, 0x7e, 0x7e, 0x9e, 0x0b, 0xd4, 0xc2, 0xe2, 0xf4,
- 0x1b, 0x24, 0x77, 0x0b,
- 0x52, 0x15, 0x51, 0xa1, 0x51, 0x51, 0xda, 0x49, 0x0b, 0x99, 0xac, 0x3e,
- 0xb2, 0x7b, 0x3f, 0x49,
- 0x65, 0x7a, 0x42, 0xa3, 0x42, 0x42, 0x15, 0xb9, 0xcf, 0x7e, 0x22, 0x93,
- 0x97, 0xb6, 0x8e, 0xb9,
- 0xde, 0x0c, 0xa9, 0xe6, 0xa9, 0xa9, 0x57, 0x97, 0xdc, 0x31, 0xd4, 0x39,
- 0x04, 0xb1, 0x14, 0x97,
- 0x8e, 0x6a, 0x1d, 0xa9, 0x1d, 0x1d, 0x60, 0x0f, 0x9d, 0x83, 0xd1, 0xcf,
- 0x26, 0xc9, 0xbe, 0x0f,
- 0xa8, 0xc3, 0xb9, 0xa0, 0xb9, 0xb9, 0x5c, 0x31, 0x69, 0x0b, 0xeb, 0x89,
- 0x41, 0xfc, 0x86, 0x31,
- 0xfd, 0x9b, 0x97, 0x87, 0x97, 0x97, 0xe5, 0x41, 0x99, 0x1b, 0xca, 0x48,
- 0xc8, 0x62, 0x6e, 0x41,
- 0x2e, 0xa6, 0xb6, 0x37, 0xb6, 0xb6, 0x0e, 0xfc, 0x1f, 0x24, 0xdb, 0xe0,
- 0x62, 0x39, 0x29, 0xfc,
- 0x01, 0xd8, 0x93, 0x77, 0x93, 0x93, 0x97, 0x89, 0x25, 0xf4, 0xb5, 0x64,
- 0x48, 0xe0, 0xab, 0x89,
- 0xf8, 0xa5, 0x0d, 0xef, 0x0d, 0x0d, 0x6b, 0xa9, 0x28, 0xb9, 0xee, 0x7f,
- 0x63, 0x84, 0x2c, 0xa9,
- 0x8c, 0x19, 0xf8, 0x47, 0xf8, 0xf8, 0x8d, 0xde, 0xd7, 0xa8, 0x78, 0x07,
- 0xb6, 0xca, 0x2b, 0xde,
- 0xbb, 0x76, 0xeb, 0x45, 0xeb, 0xeb, 0x42, 0x2e, 0x13, 0x4f, 0xf6, 0xaa,
- 0x93, 0x07, 0x9a, 0x2e,
- 0x49, 0xaf, 0x11, 0x7a, 0x11, 0x11, 0xf6, 0x94, 0x9a, 0x71, 0x50, 0xbb,
- 0x65, 0x8c, 0x32, 0x94,
- 0x44, 0x9e, 0x99, 0x2c, 0x99, 0x99, 0x4a, 0xbe, 0xc0, 0x7f, 0x95, 0x2a,
- 0xcb, 0x66, 0x61, 0xbe,
- 0xbf, 0x90, 0xe2, 0x5a, 0xe2, 0xe2, 0x5b, 0x4f, 0x87, 0x19, 0x67, 0xf9,
- 0x70, 0x01, 0x73, 0x4f,
- 0xef, 0xf6, 0x56, 0x15, 0x56, 0x56, 0x6c, 0xd7, 0xc6, 0xab, 0x62, 0x0f,
- 0x52, 0x79, 0xd9, 0xd7,
- 0xfc, 0x43, 0x04, 0xf0, 0x04, 0x04, 0x72, 0xc8, 0xbc, 0xef, 0x7f, 0x2c,
- 0x80, 0x82, 0xc5, 0xc8,
- 0x3a, 0x5e, 0x9b, 0x54, 0x9b, 0x9b, 0x73, 0xda, 0x9e, 0xe9, 0x4b, 0x3c,
- 0x8b, 0x27, 0xe2, 0xda,
- 0xb1, 0x0a, 0x1c, 0x95, 0x1c, 0x1c, 0x9d, 0x3d, 0xb2, 0xc8, 0xbe, 0xc4,
- 0x06, 0x08, 0x1e, 0x3d,
- 0xf9, 0x7d, 0x9e, 0x98, 0x9e, 0x9e, 0xfc, 0x20, 0x0d, 0x4d, 0x5b, 0x1b,
- 0x2b, 0x64, 0x87, 0x20,
- 0x99, 0x39, 0x46, 0x53, 0x46, 0x46, 0x67, 0x71, 0x73, 0x91, 0x5d, 0xbf,
- 0x17, 0x34, 0x4b, 0x71,
- 0xd8, 0x99, 0x45, 0x17, 0x45, 0x45, 0xa3, 0x27, 0x02, 0x4c, 0xec, 0xa2,
- 0x77, 0xb4, 0x68, 0x27,
- 0xc9, 0x5f, 0xf2, 0x1c, 0xf2, 0xf2, 0x50, 0xe9, 0x32, 0x23, 0x58, 0x49,
- 0x35, 0x4c, 0xe1, 0xe9,
- 0x61, 0x9c, 0x4b, 0xbc, 0x4b, 0x4b, 0x0c, 0xd8, 0x5b, 0x28, 0xb3, 0xc0,
- 0x74, 0xb0, 0x67, 0xd8,
- 0x3c, 0xcb, 0x77, 0xa5, 0x77, 0x77, 0x87, 0x6a, 0x40, 0x94, 0x73, 0xa7,
- 0xf8, 0x22, 0x9e, 0x6a,
- 0x89, 0x27, 0x62, 0x2f, 0x62, 0x62, 0x03, 0x36, 0x66, 0x0a, 0x5c, 0x30,
- 0x1d, 0x2c, 0x69, 0x36,
- 0x0f, 0x42, 0x6d, 0xb8, 0x6d, 0x6d, 0x51, 0xfb, 0x10, 0x25, 0x6c, 0x59,
- 0x3e, 0xe9, 0xc6, 0xfb,
- 0x5c, 0x8f, 0xaf, 0x6e, 0xaf, 0xaf, 0x1c, 0x3b, 0x3e, 0x48, 0x75, 0x03,
- 0xc4, 0x72, 0x52, 0x3b,
- 0xbe, 0x48, 0x71, 0x2d, 0x71, 0x71, 0xcc, 0xc6, 0xa2, 0xed, 0xd2, 0x9d,
- 0x38, 0xe1, 0xd8, 0xc6,
- 0xc2, 0xfb, 0x96, 0xbb, 0x96, 0x96, 0x18, 0x73, 0xb6, 0x50, 0xa5, 0x43,
- 0xe8, 0xa3, 0xce, 0x73,
- 0xc5, 0xb6, 0xe9, 0x3d, 0xe9, 0xe9, 0x7b, 0x4a, 0x4d, 0xd9, 0x28, 0xbc,
- 0xd3, 0x46, 0x19, 0x4a,
- 0x88, 0xff, 0xf1, 0x58, 0xf1, 0xf1, 0x94, 0xbf, 0x43, 0xfe, 0xe9, 0x54,
- 0x55, 0xcc, 0xc2, 0xbf,
- 0xa1, 0x14, 0x38, 0xe9, 0x38, 0x38, 0xf9, 0x7a, 0xa7, 0x53, 0xbf, 0x4b,
- 0x0c, 0x10, 0x3c, 0x7a,
- 0x1d, 0x2f, 0xac, 0x2a, 0xac, 0xac, 0xd8, 0x6d, 0x4f, 0x95, 0xc4, 0x1e,
- 0xa4, 0xf2, 0x71, 0x6d,
- 0xc7, 0xc5, 0x0c, 0xd3, 0x0c, 0x0c, 0x96, 0x9b, 0x07, 0xf2, 0x81, 0x74,
- 0x43, 0x45, 0x8c, 0x9b,
- 0x6c, 0xad, 0xc3, 0xea, 0xc3, 0xc3, 0xb0, 0xf2, 0x01, 0x26, 0x76, 0x51,
- 0xda, 0x5a, 0x34, 0xf2,
- 0x85, 0xce, 0x79, 0x0e, 0x79, 0x79, 0x28, 0x95, 0x19, 0xf0, 0x2c, 0xc5,
- 0xfb, 0x26, 0x91, 0x95,
- 0x9d, 0xdf, 0x4f, 0x4c, 0x4f, 0x4f, 0x7e, 0x10, 0xe7, 0xc7, 0xcc, 0xec,
- 0xf4, 0x32, 0xa2, 0x10,
- 0xd3, 0x3d, 0x21, 0xb0, 0x21, 0x21, 0xeb, 0xbd, 0x86, 0x3f, 0x11, 0xa8,
- 0xaa, 0x5b, 0x47, 0xbd,
- 0xd1, 0x4e, 0xc4, 0x5e, 0xc4, 0xc4, 0x06, 0x6c, 0xcc, 0x14, 0xb8, 0x60,
- 0x3a, 0x58, 0xd2, 0x6c,
- 0x1e, 0x84, 0xda, 0xb3, 0xda, 0xda, 0xa2, 0x35, 0x20, 0x4a, 0xd8, 0xb2,
- 0x7c, 0x11, 0x4f, 0x35,
- 0x3e, 0xb8, 0x92, 0x4b, 0x92, 0x92, 0x6a, 0xbb, 0x0a, 0xbf, 0xda, 0x6f,
- 0x68, 0x21, 0x0b, 0xbb,
- 0x84, 0x16, 0xea, 0x79, 0xea, 0xea, 0xbf, 0x1c, 0x3c, 0x04, 0x99, 0xa1,
- 0xb3, 0xc6, 0x3a, 0x1c,
- 0x2f, 0x7e, 0x25, 0x40, 0x25, 0x25, 0x99, 0x75, 0x3a, 0xd0, 0x6e, 0x84,
- 0x2a, 0xd9, 0x82, 0x75,
- 0x7d, 0x6b, 0x74, 0xe1, 0x74, 0x74, 0x43, 0x3c, 0x31, 0x49, 0xc2, 0xba,
- 0x98, 0xa2, 0xbd, 0x3c,
- 0x74, 0xbc, 0xf5, 0xa8, 0xf5, 0xf5, 0xe6, 0x77, 0xff, 0x11, 0x96, 0x78,
- 0xd5, 0x4e, 0x07, 0x77,
- 0x41, 0xa0, 0x03, 0x44, 0x03, 0x03, 0xc4, 0x56, 0x71, 0xdd, 0xb1, 0x1d,
- 0x60, 0x80, 0x23, 0x56,
- 0x50, 0x66, 0xb4, 0x4f, 0xb4, 0xb4, 0x37, 0x98, 0x41, 0xb2, 0x05, 0xf6,
- 0x22, 0x78, 0xaa, 0x98,
- 0x21, 0xe4, 0xdb, 0x8f, 0xdb, 0xdb, 0x5f, 0x07, 0x0f, 0x01, 0xb7, 0xb9,
- 0x5c, 0xd0, 0xef, 0x07,
- 0x55, 0x58, 0x2e, 0x27, 0x2e, 0x2e, 0xb9, 0x70, 0xf0, 0x10, 0x21, 0xc1,
- 0x89, 0x9e, 0xe8, 0x70,
- 0xe7, 0xf9, 0x44, 0x2b, 0x44, 0x44, 0x5e, 0x15, 0x2d, 0x07, 0x83, 0xa9,
- 0x57, 0x75, 0xc8, 0x15,
- 0xcd, 0xb9, 0xfb, 0x03, 0xfb, 0xfb, 0x49, 0x88, 0xa6, 0x75, 0xc9, 0x1a,
- 0xd6, 0x4a, 0x08, 0x88,
- 0x0d, 0x31, 0x88, 0x56, 0x88, 0x88, 0xbc, 0x2a, 0x5a, 0x0e, 0xc5, 0x91,
- 0xae, 0xea, 0x53, 0x2a,
- 0x7c, 0xb3, 0xe7, 0x96, 0xe7, 0xe7, 0xd4, 0xb5, 0x14, 0xbd, 0x77, 0xde,
- 0xd0, 0x42, 0x16, 0xb5,
- 0x37, 0x6f, 0x13, 0x02, 0x13, 0x13, 0xcf, 0xf0, 0xc4, 0xe7, 0x8e, 0xad,
- 0x25, 0xcd, 0xb1, 0xf0,
- 0x1a, 0x62, 0xd3, 0xac, 0xd3, 0xd3, 0xbb, 0x54, 0xb4, 0x1c, 0x49, 0xe1,
- 0x9f, 0x17, 0xa6, 0x54,
- 0xa2, 0xbf, 0x4e, 0x70, 0x4e, 0x4e, 0x83, 0x22, 0xc8, 0x8c, 0xa3, 0xe7,
- 0xd4, 0xf3, 0x02, 0x22,
- 0xaf, 0x8e, 0xc6, 0x26, 0xc6, 0xc6, 0x3f, 0x08, 0x92, 0x82, 0x66, 0x76,
- 0x7a, 0x19, 0x51, 0x08,
- 0xf6, 0x3f, 0xf3, 0x20, 0xf3, 0xf3, 0xad, 0xdb, 0x1d, 0x68, 0x37, 0x42,
- 0x15, 0x8d, 0x41, 0xdb,
- 0xe8, 0xbb, 0x29, 0x93, 0x29, 0x29, 0x0f, 0xee, 0x3d, 0x22, 0xef, 0xf0,
- 0x69, 0x9c, 0x0e, 0xee,
- 0x7e, 0xc0, 0x02, 0x78, 0x02, 0x02, 0x39, 0x64, 0x5e, 0x96, 0xde, 0x16,
- 0x40, 0x41, 0x83, 0x64,
- 0x5e, 0xfc, 0x4a, 0x80, 0x4a, 0x4a, 0xf1, 0xea, 0x74, 0x63, 0xdc, 0xcb,
- 0x54, 0x71, 0xc7, 0xea,
- 0xfa, 0xd6, 0xe8, 0x01, 0xe8, 0xe8, 0x86, 0x78, 0x62, 0x92, 0x47, 0xb7,
- 0xf3, 0x87, 0xb9, 0x78,
- 0xb5, 0xec, 0x15, 0x8a, 0x15, 0x15, 0x84, 0x5c, 0x26, 0x9e, 0x2f, 0x97,
- 0xe5, 0x0e, 0xf7, 0x5c,
- 0x92, 0x9d, 0x22, 0xf4, 0x22, 0x22, 0x2f, 0xeb, 0xf7, 0xe2, 0xa0, 0xb5,
- 0xca, 0xdb, 0x64, 0xeb,
- 0x56, 0xf3, 0x58, 0xbe, 0x58, 0x58, 0xc3, 0x28, 0x9f, 0xcf, 0x3d, 0x6d,
- 0x51, 0x7d, 0xd6, 0x28,
- 0xf1, 0x72, 0x8c, 0xa6, 0x8c, 0x8c, 0xce, 0xe2, 0xe6, 0xe1, 0xba, 0xbd,
- 0x2e, 0x68, 0x96, 0xe2,
- 0x04, 0xe6, 0x09, 0x1f, 0x09, 0x09, 0x19, 0x61, 0x94, 0x56, 0x91, 0x53,
- 0xe3, 0x06, 0xe9, 0x61,
- 0x6e, 0xde, 0x26, 0x04, 0x26, 0x26, 0x5d, 0x23, 0x4b, 0x0d, 0xdf, 0x99,
- 0x4a, 0x59, 0xa1, 0x23,
- 0xa5, 0xf2, 0x31, 0xf6, 0x31, 0x31, 0xe0, 0x1b, 0x33, 0x05, 0x2e, 0x18,
- 0xef, 0x16, 0xd5, 0x1b,
- 0xe6, 0x21, 0xd7, 0x5c, 0xd7, 0xd7, 0xc9, 0x9c, 0x08, 0xf3, 0x36, 0xcd,
- 0x1f, 0x95, 0x63, 0x9c,
- 0xc8, 0x87, 0x61, 0x6b, 0x61, 0x61, 0xc7, 0x60, 0x17, 0xd7, 0xed, 0x2d,
- 0x7d, 0xac, 0x4a, 0x60,
- 0x7b, 0xfe, 0x98, 0x10, 0x98, 0x98, 0xb7, 0x8c, 0xef, 0x34, 0xfa, 0x21,
- 0xeb, 0xa7, 0xc1, 0x8c,
- 0x73, 0xf1, 0x8a, 0x2e, 0x8a, 0x8a, 0x85, 0x4e, 0x04, 0x98, 0x1b, 0x87,
- 0xee, 0xab, 0xd0, 0x4e,
- 0x51, 0xbe, 0x27, 0x38, 0x27, 0x27, 0xa0, 0x11, 0x64, 0x46, 0xb0, 0x92,
- 0x6a, 0x98, 0x01, 0x11,
- 0x95, 0xd0, 0x5d, 0x72, 0x5d, 0x5d, 0x4c, 0xd2, 0x0c, 0x6b, 0x2d, 0x4a,
- 0xf1, 0x3e, 0xb3, 0xd2,
- 0x66, 0xd1, 0x34, 0x3a, 0x34, 0x34, 0x6f, 0xe1, 0xa0, 0xa1, 0x3e, 0x3f,
- 0x4f, 0x55, 0xb0, 0xe1,
- 0xd6, 0x03, 0xbb, 0xd8, 0xbb, 0xbb, 0x65, 0x55, 0x37, 0x9d, 0x35, 0x9f,
- 0x01, 0xbd, 0x05, 0x55,
- 0x5b, 0xc2, 0xd0, 0xe8, 0xd0, 0xd0, 0x7f, 0x02, 0xc5, 0xc1, 0xf8, 0xfc,
- 0xff, 0x97, 0x85, 0x02,
- 0xe3, 0x1f, 0x4d, 0x34, 0x4d, 0x4d, 0x47, 0x74, 0xb9, 0x51, 0x12, 0xfa,
- 0xb4, 0x73, 0x21, 0x74,
- 0x63, 0xef, 0xae, 0x52, 0xae, 0xae, 0xe1, 0x09, 0x11, 0x03, 0x1a, 0x08,
- 0xe4, 0xb3, 0xf2, 0x09,
- 0x9b, 0x4a, 0xa3, 0xbd, 0xa3, 0xa3, 0x8a, 0xa0, 0x39, 0xba, 0xf4, 0x77,
- 0x87, 0x37, 0xde, 0xa0,
- 0xbd, 0xe3, 0x07, 0xb4, 0x07, 0x07, 0xb6, 0x9e, 0xcd, 0x32, 0xce, 0x31,
- 0xe0, 0x02, 0xe6, 0x9e,
- 0x77, 0x17, 0x83, 0x31, 0x83, 0x83, 0x9c, 0x2f, 0x90, 0xce, 0x8a, 0xd4,
- 0x0d, 0xad, 0x39, 0x2f,
- 0x8d, 0xc1, 0x6b, 0x30, 0x6b, 0x6b, 0x1a, 0x57, 0xf2, 0x5c, 0xcd, 0x63,
- 0xfe, 0x2a, 0x80, 0x57,
- 0xbc, 0x3b, 0x94, 0xc3, 0x94, 0x94, 0x21, 0x17, 0xe8, 0xc6, 0x7b, 0x55,
- 0xa8, 0xe2, 0x4d, 0x17,
- 0xf3, 0x01, 0x69, 0x48, 0x69, 0x69, 0x23, 0x33, 0xac, 0xca, 0x13, 0x75,
- 0xbe, 0x6b, 0x03, 0x33,
- 0xf4, 0x4c, 0x16, 0xce, 0x16, 0x16, 0x40, 0x0a, 0x57, 0x43, 0x9e, 0x8a,
- 0x85, 0x8e, 0xd4, 0x0a,
- 0x26, 0xa9, 0xa4, 0x09, 0xa4, 0xa4, 0x3c, 0x3e, 0xf4, 0x88, 0x3a, 0x46,
- 0x67, 0x35, 0x38, 0x3e,
- 0xd4, 0x70, 0x5e, 0x36, 0x5e, 0x5e, 0x88, 0x84, 0x7d, 0xb6, 0x9c, 0x57,
- 0x91, 0xbe, 0x90, 0x84,
- 0x80, 0xf0, 0xe3, 0x66, 0xe3, 0xe3, 0xa6, 0x7d, 0xa8, 0x52, 0x08, 0xf2,
- 0x50, 0xc0, 0xd3, 0x7d,
- 0x93, 0x45, 0xb1, 0x83, 0xb1, 0xb1, 0xb8, 0x62, 0xd2, 0x16, 0x15, 0xd1,
- 0x82, 0x3b, 0xcf, 0x62,
- 0xb6, 0x47, 0x63, 0x13, 0x63, 0x63, 0xfe, 0x04, 0x49, 0x41, 0x33, 0x3b,
- 0x3d, 0xed, 0xc9, 0x04,
- 0x15, 0x20, 0xbe, 0x14, 0xbe, 0xbe, 0xea, 0xaf, 0xa4, 0x39, 0x25, 0xb8,
- 0xa1, 0xfe, 0x60, 0xaf,
- 0xcc, 0x61, 0x68, 0x74, 0x68, 0x68, 0xde, 0x01, 0x83, 0x81, 0x7c, 0x7e,
- 0x9e, 0xaa, 0xa3, 0x01,
- 0xac, 0x25, 0xb0, 0xbf, 0xb0, 0xb0, 0x45, 0x50, 0xfd, 0x5d, 0x7a, 0xda,
- 0xa2, 0xfa, 0x6f, 0x50,
- 0xc1, 0x50, 0xe0, 0x22, 0xe0, 0xe0, 0x62, 0x2b, 0xd9, 0x8f, 0xb9, 0xef,
- 0x30, 0x40, 0xf0, 0x2b,
- 0xee, 0x2e, 0xc5, 0x62, 0xc5, 0xc5, 0xfb, 0x5e, 0xe3, 0x5f, 0xd7, 0x6b,
- 0x1a, 0x99, 0x72, 0x5e,
- 0xae, 0x56, 0x55, 0x51, 0x55, 0x55, 0xa8, 0x81, 0xb7, 0x76, 0xd3, 0x12,
- 0x32, 0xf9, 0xfa, 0x81,
- 0x9c, 0x07, 0xdc, 0x3b, 0xdc, 0xdc, 0xe9, 0x99, 0xc2, 0x33, 0x79, 0x88,
- 0xbc, 0xd2, 0x09, 0x99,
- 0xd9, 0x41, 0xd6, 0x60, 0xd6, 0xd6, 0x34, 0xae, 0x27, 0xb8, 0x59, 0xc6,
- 0x3f, 0x54, 0xc3, 0xae,
- 0xa3, 0x67, 0xdd, 0x07, 0xdd, 0xdd, 0x14, 0xab, 0xed, 0x78, 0x16, 0x83,
- 0x9c, 0x13, 0xa9, 0xab,
- 0x25, 0x02, 0xd2, 0x90, 0xd2, 0xd2, 0x46, 0x66, 0x9b, 0x57, 0x26, 0xea,
- 0xbf, 0xd6, 0x06, 0x66,
- 0xeb, 0x10, 0x5f, 0x0a, 0x5f, 0x5f, 0x75, 0xb6, 0x52, 0xfd, 0xf3, 0x5c,
- 0xb1, 0x7f, 0x30, 0xb6,
- 0x40, 0x78, 0x90, 0x33, 0x90, 0x90, 0x53, 0xdf, 0x54, 0x29, 0x04, 0x79,
- 0x28, 0x60, 0x88, 0xdf,
- 0x48, 0x77, 0x82, 0x0d, 0x82, 0x82, 0x61, 0x1d, 0xbf, 0x85, 0xe5, 0xdf,
- 0x2d, 0x6c, 0x99, 0x1d,
- 0x6d, 0x75, 0x50, 0x9d, 0x50, 0x50, 0x27, 0x7b, 0x24, 0xd2, 0xc3, 0x35,
- 0x92, 0xba, 0x9f, 0x7b,
- 0x28, 0x33, 0x5a, 0xc6, 0x5a, 0x5a, 0xfa, 0x4c, 0xc1, 0x59, 0xe3, 0x7b,
- 0x11, 0x3c, 0x55, 0x4c,
- 0xff, 0xe8, 0x72, 0x69, 0x72, 0x72, 0x08, 0x90, 0xd3, 0x30, 0x63, 0x80,
- 0x58, 0x61, 0xfb, 0x90,
- 0x0a, 0x7c, 0xf7, 0xd0, 0xf7, 0xf7, 0xdf, 0x13, 0xa1, 0x87, 0x48, 0x6e,
- 0x95, 0x0f, 0x84, 0x13,
- 0x4f, 0x3a, 0xfd, 0x8b, 0xfd, 0xfd, 0x02, 0x24, 0x44, 0x0c, 0x68, 0x20,
- 0x16, 0x89, 0x4e, 0x24,
- 0x19, 0xc9, 0xa5, 0x35, 0xa5, 0xa5, 0xc1, 0x0c, 0xdb, 0xc3, 0x55, 0x4d,
- 0x47, 0xf4, 0x98, 0x0c,
- 0x53, 0xcd, 0xc2, 0xd6, 0xc2, 0xc2, 0x4d, 0xc0, 0x2e, 0x6d, 0x19, 0x5a,
- 0xfa, 0x9b, 0x94, 0xc0,
- 0xf5, 0x94, 0x85, 0xb9, 0x85, 0x85, 0xd7, 0x83, 0x72, 0xb7, 0x2b, 0xee,
- 0xcd, 0x6e, 0x7f, 0x83,
- 0xb9, 0x05, 0x0e, 0xab, 0x0e, 0x0e, 0xaf, 0xff, 0x59, 0x64, 0x5f, 0x62,
- 0x03, 0x04, 0x0f, 0xff,
- 0xcb, 0x2c, 0x17, 0xf2, 0x17, 0x17, 0xbd, 0x38, 0x78, 0x08, 0xf1, 0x81,
- 0xa5, 0x4f, 0x74, 0x38,
- 0x45, 0x46, 0x0a, 0x5b, 0x0a, 0x0a, 0xdd, 0x37, 0xe5, 0x8b, 0x20, 0x4e,
- 0x83, 0x86, 0xca, 0x37,
- 0x57, 0x2b, 0xcb, 0xc9, 0xcb, 0xcb, 0x54, 0xa1, 0xba, 0x3b, 0x88, 0x09,
- 0x19, 0x9d, 0x7d, 0xa1,
- 0xd7, 0xdb, 0x28, 0xaf, 0x28, 0x28, 0xf2, 0xdc, 0x12, 0x69, 0x80, 0xfb,
- 0x49, 0x5d, 0xae, 0xdc,
- 0x68, 0x4b, 0xca, 0xf5, 0xca, 0xca, 0xa9, 0x93, 0x95, 0x70, 0xe7, 0x02,
- 0x39, 0x5c, 0xdd, 0x93,
- 0x4c, 0x91, 0x8b, 0x12, 0x8b, 0x8b, 0x78, 0x7c, 0x2b, 0xd3, 0x74, 0x8c,
- 0xce, 0x6a, 0x70, 0x7c,
- 0x20, 0x3c, 0x48, 0xf8, 0x48, 0x48, 0xc8, 0x8e, 0x2a, 0xf5, 0x02, 0xdd,
- 0x14, 0x30, 0x44, 0x8e,
- 0x4a, 0x04, 0x67, 0xe3, 0x67, 0x67, 0x8c, 0xcc, 0xf5, 0xae, 0x4c, 0x17,
- 0xbd, 0x6f, 0x0c, 0xcc,
- 0x05, 0x3e, 0x9a, 0x68, 0x9a, 0x9a, 0x8e, 0xe8, 0xb1, 0xa2, 0x24, 0x37,
- 0xab, 0xe6, 0x42, 0xe8,
- 0xc6, 0x1d, 0x9f, 0xa4, 0x9f, 0x9f, 0x01, 0x12, 0x22, 0x06, 0x34, 0x10,
- 0x0b, 0xa5, 0x27, 0x12,
- 0x14, 0xf8, 0x2d, 0x63, 0x2d, 0x2d, 0x7d, 0x26, 0x81, 0xcd, 0x90, 0xdc,
- 0xe9, 0x1e, 0xcb, 0x26,
- 0x9e, 0x74, 0x39, 0xd5, 0x39, 0x39, 0x04, 0x48, 0x88, 0x18, 0xd0, 0x40,
- 0x2c, 0xd1, 0x9c, 0x48,
- 0xd5, 0xa8, 0xcd, 0x41, 0xcd, 0xcd, 0x1f, 0x0d, 0x58, 0x42, 0x29, 0x33,
- 0xd9, 0x5e, 0x3b, 0x0d,
- 0x4d, 0x49, 0x18, 0x65, 0x18, 0x18, 0xef, 0xf5, 0x0e, 0x27, 0xc1, 0xe8,
- 0x86, 0x8a, 0xdb, 0xf5,
- 0xce, 0x12, 0x8d, 0x9a, 0x8d, 0x8d, 0x33, 0xd0, 0xc9, 0xaa, 0xd5, 0xb6,
- 0x0e, 0xa9, 0x36, 0xd0,
- 0x5a, 0x1a, 0x43, 0x9f, 0x43, 0x43, 0xe8, 0x8b, 0xe0, 0x35, 0x4d, 0x98,
- 0xb7, 0x77, 0x2e, 0x8b,
- 0x3f, 0x60, 0x01, 0x3c, 0x01, 0x01, 0xfd, 0x32, 0x2f, 0x4b, 0x6f, 0x0b,
- 0x20, 0xc1, 0xa0, 0x32,
- 0x8a, 0x8c, 0x14, 0xb6, 0x14, 0x14, 0x79, 0x6e, 0x09, 0xd5, 0x40, 0x9c,
- 0xc5, 0xcf, 0x57, 0x6e,
- 0x83, 0x5b, 0x95, 0xff, 0x95, 0x95, 0xdc, 0x25, 0xc7, 0x8d, 0x14, 0x5e,
- 0x88, 0x23, 0xed, 0x25,
- 0xc3, 0x23, 0x05, 0xcc, 0x05, 0x05, 0x8f, 0xfa, 0x93, 0xa4, 0x10, 0x27,
- 0xa0, 0x43, 0x65, 0xfa,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x94, 0x08, 0xce, 0x05, 0xce, 0xce, 0xdb, 0x5b, 0x29, 0x9f, 0x98, 0x2e,
- 0xb9, 0xde, 0x18, 0x5b,
- 0x1f, 0x5c, 0x49, 0xc4, 0x49, 0x49, 0x35, 0xbc, 0x05, 0xbe, 0x6d, 0xd6,
- 0x34, 0xf1, 0xe4, 0xbc,
- 0x98, 0xe1, 0xd5, 0x24, 0xd5, 0xd5, 0xf0, 0xf8, 0x56, 0x65, 0xe8, 0xdb,
- 0x5f, 0xd4, 0xe0, 0xf8,
- },
- { /* 3 */
- 0xab, 0x5f, 0x0f, 0xc5, 0x97, 0x09, 0x7c, 0xc9, 0x42, 0xc5, 0x39, 0xbd,
- 0xfd, 0x81, 0x87, 0xfe,
- 0xbb, 0xa5, 0xce, 0xde, 0x05, 0xdd, 0x1c, 0xf8, 0x12, 0xde, 0x45, 0x61,
- 0xc3, 0xdf, 0xcc, 0x2b,
- 0x83, 0x15, 0xcf, 0x1f, 0x39, 0x08, 0x8c, 0x52, 0xca, 0x1f, 0xff, 0xa8,
- 0x9e, 0x12, 0xd5, 0x1c,
- 0x0d, 0xe5, 0x99, 0x66, 0x2c, 0xc3, 0x2e, 0xd2, 0x39, 0x66, 0x56, 0x24,
- 0x2b, 0x05, 0x5f, 0x06,
- 0x3a, 0x3e, 0xb0, 0xfa, 0xbf, 0x2e, 0x9c, 0x05, 0xd2, 0xfa, 0x54, 0x33,
- 0x2a, 0xb6, 0x28, 0x65,
- 0x4a, 0x9d, 0xb2, 0xbb, 0xc7, 0x47, 0x7f, 0x92, 0xa1, 0xbb, 0xe3, 0x62,
- 0x90, 0xef, 0x1a, 0x0b,
- 0xe8, 0xf8, 0x85, 0x6e, 0xb9, 0xb8, 0x35, 0x14, 0xce, 0x6e, 0x93, 0xcc,
- 0xa8, 0x9d, 0xa0, 0x57,
- 0xeb, 0x31, 0x8d, 0xa9, 0x9a, 0xdf, 0x3f, 0x0d, 0xc1, 0xa9, 0x0a, 0x4b,
- 0x05, 0x3a, 0x68, 0x2c,
- 0x8f, 0xb7, 0xef, 0x85, 0xb5, 0x57, 0xa4, 0x36, 0xf6, 0x85, 0xde, 0xf1,
- 0x6f, 0xcb, 0x73, 0x33,
- 0xbe, 0x3d, 0xd6, 0x54, 0x60, 0x74, 0x02, 0xd3, 0x03, 0x54, 0x2d, 0x2b,
- 0xf7, 0xf5, 0x57, 0xa6,
- 0x0f, 0x6b, 0x28, 0x5d, 0xaf, 0x38, 0x22, 0x7d, 0x33, 0x5d, 0xb8, 0xde,
- 0x5c, 0x7e, 0x6e, 0x54,
- 0x6d, 0xbc, 0x5a, 0x3c, 0xc6, 0x7e, 0xad, 0x74, 0x1a, 0x3c, 0x9d, 0xa9,
- 0xaf, 0x02, 0x26, 0xbd,
- 0x0a, 0xf3, 0x30, 0xd7, 0xca, 0x91, 0x3c, 0x56, 0x22, 0xd7, 0xd0, 0x94,
- 0x68, 0x54, 0xf5, 0xd9,
- 0x29, 0x0d, 0x79, 0x26, 0x0e, 0x9d, 0xf6, 0x2d, 0x8d, 0x26, 0xb1, 0x68,
- 0xb9, 0x4f, 0xab, 0xcb,
- 0x17, 0xec, 0x68, 0xaa, 0x74, 0x86, 0x72, 0xb5, 0x4b, 0xaa, 0xfa, 0x6c,
- 0x7d, 0x0f, 0xe1, 0x0a,
- 0xb0, 0x11, 0x47, 0xf5, 0x6f, 0xd0, 0x26, 0x18, 0x35, 0xf5, 0xe2, 0x88,
- 0x71, 0x57, 0xc0, 0xdb,
- 0xc5, 0x2a, 0x5d, 0x3e, 0x72, 0x10, 0xdb, 0xa4, 0x57, 0x3e, 0x3d, 0x93,
- 0xff, 0x24, 0x69, 0x38,
- 0x4c, 0xcc, 0xa2, 0xf6, 0x81, 0x89, 0x6b, 0xa0, 0xbf, 0xf6, 0x12, 0xaf,
- 0x09, 0x62, 0x49, 0xfd,
- 0xc3, 0x7b, 0x4d, 0x73, 0x34, 0xde, 0xcf, 0x96, 0x49, 0x73, 0xcc, 0x5e,
- 0x66, 0xa9, 0x3a, 0xce,
- 0xb5, 0x89, 0x5f, 0x7f, 0x0a, 0x79, 0x38, 0x33, 0x24, 0x7f, 0x8a, 0xc2,
- 0x45, 0x7d, 0x5b, 0x56,
- 0x74, 0x7c, 0xa3, 0x37, 0xbd, 0x5c, 0xfb, 0x0a, 0x67, 0x37, 0xa8, 0x66,
- 0x54, 0xaf, 0x50, 0xca,
- 0x94, 0xf9, 0xa7, 0xb5, 0x4d, 0x8e, 0xfe, 0xe7, 0x81, 0xb5, 0x05, 0xc4,
- 0xe3, 0x1d, 0x34, 0x16,
- 0x1d, 0x1f, 0x58, 0x7d, 0xbe, 0x17, 0x4e, 0xe3, 0x69, 0x7d, 0x2a, 0xf8,
- 0x15, 0x5b, 0x14, 0xd3,
- 0x25, 0xaf, 0x59, 0xbc, 0x82, 0xc2, 0xde, 0x49, 0xb1, 0xbc, 0x90, 0x31,
- 0x48, 0x96, 0x0d, 0xe4,
- 0x48, 0x13, 0x03, 0x80, 0x44, 0xbc, 0x73, 0x3d, 0xab, 0x80, 0x0d, 0x98,
- 0xe7, 0x94, 0x2b, 0x59,
- 0xda, 0xbb, 0xb4, 0x78, 0x4f, 0xfc, 0x99, 0xe8, 0x34, 0x78, 0xf9, 0x91,
- 0x9d, 0x04, 0x4c, 0xb9,
- 0xdd, 0xad, 0x1d, 0xc9, 0xa9, 0xae, 0x8b, 0x6c, 0x2f, 0xc9, 0x7f, 0x21,
- 0xde, 0x55, 0xe6, 0x66,
- 0xe9, 0xbf, 0x3c, 0x92, 0x19, 0x24, 0x33, 0xa2, 0xcb, 0x92, 0xe4, 0xb1,
- 0x72, 0x41, 0x59, 0x7e,
- 0xea, 0x76, 0x34, 0x55, 0x3a, 0x43, 0x39, 0xbb, 0xc4, 0x55, 0x7d, 0x36,
- 0xdf, 0xe6, 0x91, 0x05,
- 0x73, 0x6a, 0x0a, 0x86, 0x5b, 0x0e, 0xe9, 0x8e, 0x7c, 0x86, 0x2e, 0xd6,
- 0x17, 0xfe, 0xfa, 0x15,
- 0x2e, 0x1b, 0xd0, 0x97, 0xe8, 0xcf, 0xe4, 0xa9, 0x96, 0x97, 0x37, 0xd8,
- 0xfa, 0x1e, 0x01, 0x14,
- 0xf5, 0xe7, 0xdd, 0x13, 0x07, 0xaf, 0x7b, 0xf7, 0xa7, 0x13, 0xb9, 0x34,
- 0xbd, 0xc6, 0xb4, 0x84,
- 0x26, 0x66, 0x51, 0x7b, 0xa1, 0xa5, 0xd4, 0x50, 0xbe, 0x7b, 0x09, 0xb6,
- 0xe5, 0x31, 0xc5, 0x9f,
- 0xd0, 0x48, 0x84, 0xaf, 0x85, 0x6d, 0xa5, 0xbe, 0x16, 0xaf, 0x29, 0x05,
- 0xf5, 0x50, 0xb9, 0x60,
- 0xc4, 0x6d, 0xe4, 0xc2, 0xd2, 0x8c, 0xdd, 0x12, 0x52, 0xc2, 0x4a, 0xee,
- 0x25, 0xf8, 0x90, 0x11,
- 0xf3, 0xb6, 0xcd, 0x5e, 0x41, 0x61, 0x6f, 0xc5, 0xb9, 0x5e, 0x48, 0xf9,
- 0x24, 0x4b, 0xe7, 0x72,
- 0x7b, 0x17, 0x8b, 0x6a, 0x12, 0x64, 0xd9, 0x77, 0x54, 0x6a, 0x10, 0xb8,
- 0x08, 0xd1, 0x3e, 0x9e,
- 0x4d, 0x8b, 0x1b, 0x0a, 0x21, 0x15, 0x6d, 0x16, 0xba, 0x0a, 0x65, 0xd2,
- 0xd3, 0xbe, 0xb0, 0xd4,
- 0x45, 0xf6, 0x9a, 0xe6, 0x68, 0x7f, 0x5d, 0xef, 0x92, 0xe6, 0x5b, 0xbc,
- 0xcc, 0x91, 0x74, 0x5f,
- 0xa9, 0xd1, 0xbe, 0xfe, 0x14, 0xf2, 0x70, 0x66, 0x48, 0xfe, 0xd7, 0x47,
- 0x8a, 0xfa, 0xb6, 0xac,
- 0x5e, 0xb8, 0xd2, 0xd6, 0x90, 0xa6, 0x07, 0x3e, 0xe5, 0xd6, 0x80, 0x89,
- 0x40, 0x47, 0x33, 0x7a,
- 0xd8, 0x35, 0x05, 0x43, 0xcc, 0x07, 0x95, 0x47, 0x3e, 0x43, 0x17, 0x6b,
- 0xea, 0x7f, 0x7d, 0xeb,
- 0x7e, 0x8f, 0x93, 0xe0, 0x77, 0xcd, 0xc7, 0x5c, 0x45, 0xe0, 0x78, 0xf2,
- 0x3c, 0xfb, 0xa5, 0x13,
- 0xf2, 0xf1, 0x74, 0xa2, 0xe1, 0xfd, 0x69, 0x73, 0xbc, 0xa2, 0x3f, 0x84,
- 0xfe, 0x97, 0x1e, 0x5b,
- 0x90, 0x26, 0x06, 0xc3, 0x88, 0xbb, 0xe6, 0x7a, 0x95, 0xc3, 0x1a, 0xf3,
- 0x0d, 0xeb, 0x56, 0xb2,
- 0x77, 0xb5, 0xab, 0xf0, 0x9e, 0x3b, 0xf1, 0x13, 0x68, 0xf0, 0x31, 0xe1,
- 0xf9, 0x08, 0x98, 0xb1,
- 0x53, 0x5d, 0x4b, 0xb0, 0xbc, 0x65, 0x29, 0xec, 0xdc, 0xb0, 0xd6, 0xad,
- 0x6b, 0x42, 0x6c, 0x7c,
- 0xe5, 0x1d, 0x1c, 0x08, 0x95, 0x7b, 0x1b, 0xc6, 0xf7, 0x08, 0xc5, 0xe8,
- 0x83, 0x98, 0xff, 0x51,
- 0x49, 0x54, 0xba, 0x7c, 0xe4, 0x20, 0x75, 0x8b, 0xae, 0x7c, 0x7a, 0xe5,
- 0x3d, 0x48, 0xd2, 0x70,
- 0x98, 0x5b, 0x87, 0x2f, 0xc1, 0xd1, 0xd6, 0x83, 0xbd, 0x2f, 0x24, 0x9d,
- 0x12, 0xc4, 0x92, 0x39,
- 0x13, 0x33, 0xc9, 0xdc, 0xb1, 0xb3, 0x6a, 0x28, 0x5f, 0xdc, 0xe5, 0x5b,
- 0x93, 0xf9, 0x83, 0xae,
- 0x43, 0xa7, 0x8a, 0xab, 0x2e, 0xb1, 0x49, 0xdd, 0x8c, 0xab, 0xaa, 0x71,
- 0x55, 0x1c, 0x27, 0xa9,
- 0xdc, 0xea, 0xa4, 0x35, 0x09, 0x32, 0x8d, 0xda, 0x2a, 0x35, 0x08, 0x5c,
- 0x04, 0x89, 0x1f, 0x4f,
- 0xc7, 0xa4, 0xec, 0x05, 0xf1, 0xeb, 0xd7, 0x0b, 0x5d, 0x05, 0xd3, 0x69,
- 0x88, 0x5f, 0x58, 0x6a,
- 0xa0, 0xeb, 0x86, 0xee, 0xfd, 0x04, 0x46, 0x29, 0x65, 0xee, 0x9e, 0x54,
- 0x4f, 0x09, 0x8b, 0x0e,
- 0xcc, 0x10, 0x65, 0x2e, 0x9b, 0xe6, 0xed, 0xeb, 0x7a, 0x2e, 0x74, 0x80,
- 0x3a, 0xd7, 0x54, 0x9a,
- 0x14, 0x25, 0x60, 0x6d, 0x57, 0xe1, 0x78, 0xac, 0x44, 0x6d, 0x63, 0xeb,
- 0xd0, 0xa8, 0x29, 0x71,
- 0x52, 0x1a, 0xf2, 0x4c, 0x1c, 0xf9, 0x2f, 0x5a, 0xd9, 0x4c, 0xa1, 0xd0,
- 0xb1, 0x9e, 0x95, 0x55,
- 0x2f, 0x5c, 0x69, 0x6b, 0x48, 0x53, 0xe2, 0x1f, 0x93, 0x6b, 0x40, 0xa5,
- 0x20, 0xc2, 0xf8, 0x3d,
- 0x47, 0x78, 0x2b, 0xdd, 0xeb, 0x84, 0x51, 0x40, 0x98, 0xdd, 0xb5, 0x46,
- 0xbb, 0xea, 0x45, 0x0d,
- 0xa6, 0xba, 0x96, 0xa3, 0xbb, 0xca, 0x52, 0x1b, 0x7b, 0xa3, 0x6f, 0x99,
- 0xd6, 0x84, 0xd8, 0xf8,
- 0x5f, 0xff, 0x6b, 0x2a, 0x30, 0x3a, 0x01, 0x88, 0xe0, 0x2a, 0xf7, 0xf4,
- 0x9a, 0x9b, 0xca, 0x53,
- 0xe3, 0x4c, 0x0c, 0x45, 0xd3, 0xb5, 0x0f, 0xf4, 0xe9, 0x45, 0x34, 0x25,
- 0x1a, 0x15, 0xac, 0xa7,
- 0xb8, 0x6c, 0xc6, 0x19, 0x26, 0xba, 0x16, 0xe1, 0x1d, 0x19, 0xdc, 0xe6,
- 0x6e, 0x78, 0x04, 0x50,
- 0xa7, 0xfd, 0x2f, 0x5f, 0x1b, 0x56, 0x54, 0xad, 0x7e, 0x5f, 0x18, 0xe4,
- 0x0c, 0x58, 0x21, 0xd1,
- 0xc0, 0xb2, 0x45, 0xb4, 0x17, 0xb9, 0xc5, 0x8f, 0x46, 0xb4, 0x55, 0xd9,
- 0xcb, 0x0e, 0xf2, 0xb5,
- 0x23, 0xfe, 0x49, 0xf1, 0xc4, 0x0c, 0xca, 0x7b, 0xaf, 0xf1, 0x61, 0xfc,
- 0xd1, 0x1b, 0x5e, 0x12,
- 0x2a, 0xc4, 0x71, 0xe1, 0x2d, 0xfa, 0xfc, 0x34, 0x82, 0xe1, 0x28, 0xef,
- 0x14, 0xe8, 0x63, 0xb0,
- 0x62, 0xd7, 0x72, 0x61, 0x69, 0x46, 0x8f, 0x09, 0x29, 0x61, 0x25, 0x77,
- 0xf3, 0x7c, 0x48, 0xe9,
- 0x7d, 0x46, 0x9b, 0x27, 0x54, 0xaa, 0xcd, 0x45, 0x4a, 0x27, 0xe1, 0x75,
- 0x91, 0x5c, 0x6d, 0x68,
- 0x31, 0x8a, 0x39, 0xd1, 0xd5, 0x23, 0xa6, 0xe5, 0xf5, 0xd1, 0xf3, 0xda,
- 0x98, 0x3e, 0x24, 0x95,
- 0x30, 0xcd, 0x80, 0x2d, 0x75, 0xbf, 0xa0, 0x53, 0xf0, 0x2d, 0x84, 0xa7,
- 0x42, 0xe2, 0xdd, 0xbc,
- 0xc1, 0xf5, 0xfc, 0x48, 0xb7, 0x25, 0xc3, 0x39, 0x43, 0x48, 0x22, 0xa4,
- 0x11, 0xd2, 0x0b, 0x9c,
- 0x20, 0x37, 0x41, 0x36, 0xe7, 0x6b, 0xc0, 0x62, 0xa0, 0x36, 0xf8, 0x7b,
- 0x7c, 0xbc, 0x96, 0x69,
- 0x8a, 0x2f, 0xf7, 0x0f, 0xd0, 0xfe, 0xba, 0x1d, 0xe7, 0x0f, 0xb6, 0xbb,
- 0x5b, 0xe1, 0xe8, 0xbe,
- 0xd7, 0x5e, 0x2d, 0x1e, 0x63, 0x3f, 0xb7, 0x3a, 0x0d, 0x1e, 0xaf, 0xb5,
- 0xb6, 0x01, 0x13, 0xbf,
- 0x3d, 0x28, 0x19, 0x4b, 0x59, 0x7c, 0x8e, 0x81, 0xc9, 0x4b, 0xd2, 0x83,
- 0x69, 0xe7, 0x82, 0xba,
- 0xbf, 0x7a, 0x6f, 0xa8, 0xc0, 0xe8, 0x04, 0x65, 0x06, 0xa8, 0x5a, 0x56,
- 0x2d, 0x29, 0xae, 0x8f,
- 0xc6, 0xe3, 0x55, 0xf9, 0x51, 0x77, 0xd1, 0xbd, 0x58, 0xf9, 0xa4, 0x14,
- 0x52, 0x83, 0xa1, 0x43,
- 0x72, 0x2d, 0xb3, 0x7a, 0xfb, 0x92, 0xef, 0x38, 0x79, 0x7a, 0x59, 0xab,
- 0xcd, 0x22, 0x03, 0x3c,
- 0xdb, 0xfc, 0x0d, 0x84, 0xef, 0x60, 0x9f, 0x5e, 0x31, 0x84, 0x8e, 0xec,
- 0x47, 0xd8, 0xb5, 0x90,
- 0x15, 0x62, 0xd9, 0x91, 0xf7, 0x7d, 0x7e, 0x1a, 0x41, 0x91, 0x14, 0x96,
- 0x0a, 0x74, 0xd0, 0x58,
- 0x99, 0x1c, 0x3e, 0xd3, 0x61, 0x4d, 0xd0, 0x35, 0xb8, 0xd3, 0x53, 0xe0,
- 0xc8, 0x18, 0x6b, 0x10,
- 0x4b, 0xda, 0x0b, 0x47, 0x67, 0xdb, 0x79, 0x24, 0xa4, 0x47, 0x94, 0x1f,
- 0x4a, 0x33, 0xe3, 0x22,
- 0x34, 0x12, 0x21, 0x5b, 0xb0, 0x8a, 0xb8, 0xce, 0xe4, 0x5b, 0x9b, 0x90,
- 0xac, 0x14, 0xbf, 0x18,
- 0x60, 0x59, 0xc3, 0x5a, 0xea, 0xbd, 0x83, 0xa6, 0x23, 0x5a, 0xcb, 0x8d,
- 0x84, 0x07, 0x79, 0xbb,
- 0x92, 0xa8, 0xb7, 0xf8, 0x0b, 0x40, 0xea, 0xd5, 0x9f, 0xf8, 0xf4, 0x09,
- 0x7a, 0x90, 0x67, 0xe0,
- 0xac, 0x49, 0xa6, 0x74, 0x71, 0x5b, 0x6e, 0x4d, 0x59, 0x74, 0xbf, 0x0d,
- 0xbe, 0xd0, 0x2d, 0x21,
- 0x6e, 0x75, 0x52, 0xfb, 0xe5, 0x19, 0xa7, 0x6d, 0x15, 0xfb, 0x04, 0x2e,
- 0x02, 0xa5, 0xee, 0xc6,
- 0xa1, 0xac, 0x3f, 0x12, 0x5d, 0x98, 0x40, 0x9f, 0x60, 0x12, 0xe9, 0x29,
- 0x95, 0xd5, 0x72, 0x27,
- 0x81, 0x9b, 0x7e, 0x24, 0xba, 0xf3, 0x80, 0xfd, 0xc0, 0x24, 0x11, 0x52,
- 0xe9, 0x69, 0xe4, 0x4e,
- 0x3b, 0x79, 0x09, 0x06, 0x1f, 0xb2, 0x9a, 0xb3, 0xd7, 0x06, 0x23, 0x4e,
- 0xf0, 0x6a, 0xd1, 0x4c,
- 0x19, 0xc0, 0xf9, 0x0b, 0x7b, 0x22, 0x56, 0x7e, 0x7d, 0x0b, 0x35, 0xcf,
- 0xfb, 0xad, 0x76, 0x77,
- 0xe4, 0x5a, 0xa5, 0xf4, 0x35, 0xe7, 0x1d, 0x70, 0xf2, 0xf4, 0xb2, 0x95,
- 0x59, 0x44, 0x06, 0x78,
- 0x2c, 0x95, 0x61, 0xac, 0x6b, 0x34, 0xe8, 0x06, 0x9c, 0xac, 0xd9, 0x22,
- 0x8d, 0x65, 0x30, 0x46,
- 0xbd, 0xf4, 0xde, 0x93, 0x43, 0x13, 0x08, 0xca, 0x0c, 0x93, 0xb4, 0xac,
- 0x5a, 0x52, 0x9f, 0xdd,
- 0xb6, 0x40, 0x57, 0xb8, 0x29, 0x1e, 0x32, 0x2a, 0x2b, 0xb8, 0x13, 0x45,
- 0xe8, 0xda, 0x93, 0x2d,
- 0xd3, 0x81, 0x8c, 0x68, 0xa6, 0x0a, 0xaf, 0xa7, 0x19, 0x68, 0xb0, 0x82,
- 0x58, 0xf7, 0x71, 0x1b,
- 0xe7, 0x93, 0xad, 0x33, 0x16, 0x80, 0x17, 0x69, 0xfd, 0x33, 0x2b, 0x12,
- 0xf4, 0xe3, 0xce, 0x03,
- 0x9b, 0x92, 0x8f, 0xe8, 0xe2, 0xb6, 0xdc, 0x9a, 0xb2, 0xe8, 0xbd, 0x1a,
- 0xbf, 0x63, 0x5a, 0x42,
- 0x8c, 0x7e, 0xe7, 0x42, 0x96, 0x30, 0xae, 0x2f, 0xf9, 0x42, 0x47, 0x76,
- 0xc2, 0x6c, 0xbb, 0x48,
- 0x04, 0xdf, 0xa1, 0x76, 0xc5, 0x35, 0x18, 0x9d, 0x14, 0x76, 0x1f, 0x37,
- 0xee, 0xf6, 0x62, 0xa4,
- 0x86, 0x8d, 0xd7, 0x95, 0x5c, 0xa1, 0x92, 0x79, 0xdb, 0x95, 0x97, 0xe2,
- 0xaa, 0x38, 0x4e, 0x91,
- 0xef, 0xee, 0x2c, 0xdf, 0x5f, 0xea, 0x27, 0x90, 0xd5, 0xdf, 0x15, 0x7c,
- 0xeb, 0xcc, 0x0a, 0x88,
- 0x32, 0x43, 0x31, 0x16, 0xf6, 0x44, 0xac, 0xfc, 0xfa, 0x16, 0x6a, 0x5d,
- 0x35, 0x99, 0xec, 0xee,
- 0x0b, 0xb4, 0x89, 0x2b, 0x6a, 0x0d, 0x3a, 0xe0, 0x27, 0x2b, 0xa7, 0xe9,
- 0xb2, 0x88, 0x0c, 0xf0,
- 0x9e, 0x0a, 0x97, 0x62, 0x87, 0x1f, 0xc2, 0xb1, 0xa3, 0x62, 0xd5, 0x50,
- 0x8b, 0x49, 0xc1, 0xcf,
- 0x80, 0xdc, 0xc7, 0xd8, 0x1a, 0x6f, 0x86, 0x4b, 0xc5, 0xd8, 0x66, 0x2f,
- 0x33, 0xb5, 0x1d, 0x67,
- 0x1c, 0x58, 0xe1, 0x81, 0x1e, 0x8b, 0x48, 0x55, 0x6c, 0x81, 0x5d, 0x85,
- 0xcf, 0x87, 0xed, 0xfa,
- 0xb1, 0x56, 0xfe, 0x09, 0xcf, 0x4c, 0x20, 0xae, 0x30, 0x09, 0x95, 0xf5,
- 0xab, 0x8b, 0x39, 0xf2,
- 0xd4, 0x97, 0x25, 0xd9, 0x40, 0x58, 0xbd, 0x23, 0x02, 0xd9, 0x36, 0x32,
- 0x1b, 0xa6, 0xdb, 0xc4,
- 0x7a, 0x50, 0x32, 0x96, 0xb2, 0xf8, 0xdf, 0xc1, 0x51, 0x96, 0x67, 0xc5,
- 0xd2, 0x0d, 0xc7, 0xb7,
- 0x5b, 0x20, 0xca, 0x5c, 0xf5, 0x0f, 0x19, 0x15, 0xf4, 0x5c, 0xe8, 0xc3,
- 0x74, 0x6d, 0xa8, 0xf7,
- 0xa3, 0x22, 0x8e, 0x29, 0xde, 0x63, 0x4c, 0x30, 0x6a, 0x29, 0x07, 0xd3,
- 0xe2, 0xae, 0x43, 0x75,
- 0xf9, 0x45, 0xfd, 0x89, 0x8b, 0xf0, 0x53, 0x93, 0x9b, 0x89, 0x98, 0x6d,
- 0x4c, 0x1f, 0x12, 0xab,
- 0x33, 0x04, 0x88, 0xea, 0x56, 0xd8, 0xaa, 0x4a, 0xff, 0xea, 0x1d, 0x20,
- 0xef, 0x45, 0x15, 0xc7,
- 0x68, 0x24, 0x42, 0xb6, 0xa3, 0xd7, 0xb3, 0x5f, 0x0b, 0xb6, 0xf5, 0xe3,
- 0x9b, 0x28, 0xbd, 0x30,
- 0x96, 0x77, 0x16, 0x8e, 0xce, 0x75, 0xf2, 0x48, 0x8b, 0x8e, 0xeb, 0x3e,
- 0x94, 0x66, 0x05, 0x44,
- 0x46, 0x3f, 0x92, 0x21, 0x4b, 0x18, 0x57, 0xf6, 0x9d, 0x21, 0xc2, 0x3b,
- 0x61, 0x36, 0xbc, 0x24,
- 0x02, 0x8e, 0xb1, 0x3b, 0x83, 0xfb, 0x0c, 0xaf, 0x0a, 0x3b, 0xee, 0xfa,
- 0x77, 0x7b, 0x31, 0x52,
- 0xff, 0x14, 0xed, 0xc4, 0xcd, 0x3e, 0x47, 0xa1, 0x85, 0xc4, 0x69, 0xa0,
- 0xd5, 0x92, 0x41, 0x5d,
- 0x95, 0xbe, 0x1e, 0x49, 0xed, 0x12, 0xf8, 0x51, 0x84, 0x49, 0x72, 0xb9,
- 0x39, 0xc1, 0xcd, 0x3f,
- 0x64, 0x86, 0x62, 0x2c, 0x2f, 0x88, 0x9b, 0x3b, 0x37, 0x2c, 0xd4, 0xba,
- 0x6a, 0xf1, 0x1b, 0x1f,
- 0x40, 0x6e, 0x82, 0x6c, 0x0d, 0xd6, 0x43, 0xc4, 0x83, 0x6c, 0x33, 0xf6,
- 0xf8, 0xbb, 0xef, 0xd2,
- 0x41, 0x29, 0x3b, 0x90, 0xad, 0x4a, 0x45, 0x72, 0x86, 0x90, 0x44, 0x8b,
- 0x22, 0x67, 0x16, 0xfb,
- 0x16, 0xab, 0xd1, 0x56, 0xd4, 0x1a, 0x74, 0x03, 0x4e, 0x56, 0x8d, 0x11,
- 0xa7, 0xd3, 0x18, 0x23,
- 0x0e, 0x2c, 0x91, 0xa1, 0x0f, 0xa4, 0x24, 0xcb, 0x36, 0xa1, 0xcf, 0xa3,
- 0x86, 0xa2, 0x97, 0x7d,
- 0xb9, 0x2b, 0x7f, 0xe5, 0x86, 0x26, 0x10, 0x57, 0x18, 0xe5, 0xab, 0x9b,
- 0xb4, 0xa4, 0xfd, 0x79,
- 0xfd, 0x9a, 0x5c, 0xff, 0x4e, 0xc5, 0x4b, 0x0e, 0x8f, 0xff, 0x87, 0x5a,
- 0xa2, 0xe9, 0x70, 0x0f,
- 0x6f, 0x32, 0xeb, 0x07, 0x45, 0x85, 0xa1, 0xdb, 0x10, 0x07, 0x73, 0x53,
- 0xd8, 0x79, 0x17, 0xef,
- 0x91, 0x61, 0xbf, 0x3f, 0x28, 0x27, 0xe0, 0xcc, 0x90, 0x3f, 0x6d, 0x8e,
- 0xd7, 0x37, 0xaf, 0x9b,
- 0xa5, 0x73, 0x9e, 0x64, 0x98, 0xad, 0x58, 0x02, 0x74, 0x64, 0xf6, 0x1e,
- 0x7b, 0x23, 0x10, 0x83,
- 0xcf, 0xd9, 0x6d, 0xe9, 0xb8, 0x81, 0xe7, 0xf2, 0x75, 0xe9, 0xed, 0x07,
- 0x97, 0x70, 0x9c, 0xe1,
- 0x56, 0xc5, 0x53, 0x3a, 0xd9, 0xcc, 0x37, 0xc7, 0xcd, 0x3a, 0xbe, 0xe7,
- 0x5f, 0x68, 0xf7, 0xf1,
- 0xba, 0xe2, 0x77, 0x22, 0xa5, 0x41, 0x1a, 0x4e, 0x17, 0x22, 0x32, 0x1c,
- 0x19, 0x03, 0x35, 0x02,
- 0x61, 0x1e, 0x7a, 0xa6, 0x4a, 0x21, 0x85, 0x10, 0x26, 0xa6, 0xbc, 0xf0,
- 0x5e, 0xdb, 0x80, 0x92,
- 0x18, 0x87, 0x40, 0xf7, 0xdb, 0xbe, 0x50, 0xc8, 0x78, 0xf7, 0x42, 0xb2,
- 0x21, 0x71, 0x8f, 0x5e,
- 0x54, 0x4b, 0xe2, 0x01, 0x5a, 0x37, 0x3b, 0x68, 0xc7, 0x01, 0x50, 0x1d,
- 0x28, 0x13, 0xc6, 0xa3,
- 0x8b, 0x68, 0x4e, 0xf3, 0x70, 0x62, 0xbc, 0xab, 0xe2, 0xf3, 0xc1, 0xc6,
- 0x81, 0x3d, 0x11, 0x97,
- 0x3e, 0xe1, 0x11, 0x8c, 0x7a, 0x1b, 0x84, 0x98, 0xc6, 0x8c, 0x4b, 0x04,
- 0xc4, 0x40, 0x4a, 0xc1,
- 0x5a, 0x67, 0x73, 0xa0, 0x55, 0x93, 0x1f, 0xa3, 0xf1, 0xa0, 0x9f, 0xbe,
- 0xae, 0xb1, 0x51, 0xde,
- 0xce, 0x9e, 0xd4, 0x15, 0x18, 0x1d, 0xe1, 0x44, 0x70, 0x15, 0x9a, 0x7a,
- 0x4d, 0xac, 0x65, 0xc8,
- 0xf7, 0x69, 0x6c, 0x28, 0x84, 0x54, 0x77, 0x58, 0xad, 0x28, 0x57, 0xce,
- 0xca, 0xbd, 0x85, 0xd6,
- 0xd2, 0xc6, 0x35, 0x94, 0x06, 0x96, 0xa9, 0x11, 0x1c, 0x94, 0xc7, 0xff,
- 0x82, 0x2b, 0x88, 0x32,
- 0x82, 0x52, 0x76, 0xe3, 0x99, 0x94, 0x8a, 0xe4, 0xcf, 0xe3, 0x88, 0xd5,
- 0x44, 0xce, 0x2c, 0x35,
- 0xb3, 0xd8, 0x4f, 0x32, 0x4c, 0xb7, 0x2c, 0x01, 0x3a, 0x32, 0x7b, 0x0f,
- 0xdc, 0xf0, 0x08, 0xa0,
- 0xb4, 0xce, 0xe6, 0x83, 0xaa, 0xe5, 0x3e, 0x85, 0x21, 0x83, 0xfd, 0xbf,
- 0x9f, 0xa1, 0xa2, 0x7f,
- 0xd6, 0x19, 0x94, 0xe2, 0xc3, 0xa3, 0xb1, 0x8c, 0x08, 0xe2, 0xd8, 0xc8,
- 0x6c, 0xdd, 0xea, 0x96,
- 0xe1, 0xc2, 0xbd, 0x7e, 0x50, 0x4e, 0x03, 0x5b, 0xe3, 0x7e, 0xda, 0xdf,
- 0x6d, 0x6e, 0x9d, 0xf5,
- 0xc2, 0x3c, 0xf4, 0x8f, 0x94, 0x42, 0xc9, 0x20, 0x4c, 0x8f, 0xbb, 0x23,
- 0xbc, 0x75, 0xc3, 0xe7,
- 0x5d, 0x71, 0xda, 0x11, 0xb3, 0xc1, 0x0d, 0x27, 0xea, 0x11, 0x19, 0x0e,
- 0xed, 0xe0, 0xfb, 0x01,
- 0xfa, 0x8c, 0xf5, 0x4e, 0xa8, 0x97, 0x59, 0x8a, 0x94, 0x4e, 0x01, 0xea,
- 0xe1, 0xb8, 0xda, 0xd0,
- 0xa4, 0x34, 0x27, 0x98, 0x38, 0x31, 0x5e, 0xb4, 0x71, 0x98, 0x81, 0x63,
- 0xa1, 0xff, 0xe9, 0xaa,
- 0x1f, 0x91, 0xe9, 0x46, 0x3d, 0xec, 0x42, 0x4c, 0x63, 0x46, 0xc4, 0x02,
- 0x62, 0x20, 0x25, 0x81,
- 0x0c, 0xa2, 0x20, 0x9a, 0x8c, 0x5f, 0x28, 0x64, 0x3c, 0x9a, 0x21, 0x59,
- 0xf1, 0xd9, 0xa6, 0x2f,
- 0x01, 0x47, 0xb9, 0xfc, 0xa0, 0x9c, 0x06, 0xb6, 0x05, 0xfc, 0x77, 0x7d,
- 0xda, 0xdc, 0xf9, 0x29,
- 0x2d, 0xd2, 0xd8, 0x50, 0xcb, 0xa8, 0xee, 0xb0, 0x99, 0x50, 0xae, 0x5f,
- 0x57, 0xb9, 0xc9, 0x6f,
- 0x67, 0x4f, 0x6a, 0xeb, 0x0c, 0xef, 0x91, 0x22, 0x38, 0xeb, 0x4d, 0x3d,
- 0xc7, 0x56, 0xd3, 0x64,
- 0xe2, 0x0b, 0xb5, 0xb9, 0x73, 0x29, 0x09, 0x42, 0xec, 0xb9, 0x43, 0x58,
- 0xc0, 0xc9, 0x55, 0x8e,
- 0x09, 0x3a, 0x38, 0x10, 0xe9, 0xf6, 0x36, 0x4f, 0x2d, 0x10, 0x49, 0x13,
- 0xc5, 0xf3, 0x3d, 0xa2,
- 0x57, 0x82, 0xea, 0xc6, 0x79, 0x50, 0x31, 0x71, 0xc8, 0xc6, 0xc9, 0x9a,
- 0x85, 0xb4, 0x0e, 0xd8,
- 0x11, 0xbd, 0x78, 0xe7, 0x32, 0x48, 0x66, 0x87, 0x55, 0xe7, 0x0b, 0xa1,
- 0xe4, 0x82, 0xb2, 0xfc,
- 0xb7, 0x07, 0xee, 0x44, 0x89, 0x82, 0x34, 0x9c, 0x2e, 0x44, 0x64, 0x38,
- 0x32, 0x06, 0x6a, 0x04,
- 0xdf, 0x23, 0xac, 0xf2, 0x2a, 0x55, 0x87, 0xc3, 0x25, 0xf2, 0x91, 0xdb,
- 0xa9, 0x2e, 0xd7, 0x34,
- 0x6a, 0xaa, 0xf3, 0x8d, 0x20, 0x2c, 0xbf, 0xf0, 0x01, 0x8d, 0x1b, 0x19,
- 0xec, 0x53, 0x8c, 0x62,
- 0x93, 0xef, 0x0e, 0x04, 0xab, 0xdc, 0xec, 0x63, 0x9a, 0x04, 0x83, 0x74,
- 0xa0, 0x4c, 0x9e, 0xc9,
- 0x24, 0xe8, 0xe0, 0x40, 0x22, 0x5e, 0xd8, 0xff, 0xb4, 0x40, 0xe7, 0x4c,
- 0x92, 0x4a, 0xf4, 0xcd,
- 0x7f, 0xc8, 0x2a, 0x1c, 0xd7, 0x51, 0xc1, 0xea, 0x40, 0x1c, 0x0f, 0x8f,
- 0xe6, 0x27, 0x5c, 0x3a,
- 0x66, 0x08, 0xd3, 0x17, 0xac, 0x73, 0x97, 0x94, 0x3d, 0x17, 0x3a, 0x40,
- 0x1d, 0x8a, 0x2a, 0x4d,
- 0xfe, 0x53, 0x54, 0x38, 0x6d, 0xa2, 0x41, 0x17, 0x80, 0x38, 0x1e, 0xdd,
- 0x0f, 0x4e, 0xb8, 0x74,
- 0x07, 0x16, 0xa9, 0xb1, 0xe6, 0x52, 0x12, 0x84, 0x1b, 0xb1, 0x86, 0xb0,
- 0x43, 0x51, 0xaa, 0xdf,
- 0x44, 0xb1, 0x23, 0x1a, 0xc8, 0xe3, 0x5b, 0x59, 0x97, 0x1a, 0x2c, 0xc1,
- 0x16, 0x4d, 0x8d, 0x76,
- 0x3f, 0xa6, 0xa8, 0x70, 0xda, 0x87, 0x82, 0x2e, 0xc3, 0x70, 0x3c, 0x79,
- 0x1e, 0x9c, 0xb3, 0xe8,
- 0xf8, 0x02, 0x44, 0x75, 0x2b, 0x6c, 0x55, 0x25, 0x9e, 0x75, 0xef, 0x10,
- 0x96, 0xc3, 0xeb, 0x82,
- 0x06, 0x51, 0x10, 0x4d, 0x46, 0xce, 0x14, 0x32, 0x1e, 0x4d, 0xf1, 0xcd,
- 0x99, 0x8d, 0x53, 0xf6,
- 0xca, 0x41, 0x75, 0x63, 0xdd, 0x28, 0xf9, 0xd9, 0x64, 0x63, 0x85, 0x4d,
- 0xa3, 0x5a, 0x07, 0x6c,
- 0xad, 0x0e, 0x1f, 0x88, 0xd1, 0xc7, 0x68, 0xfb, 0x5c, 0x88, 0xc8, 0x70,
- 0x64, 0x0c, 0xd4, 0x08,
- 0x2b, 0x83, 0xc8, 0x1d, 0x8d, 0x66, 0xfa, 0x82, 0x87, 0x1d, 0x5f, 0x92,
- 0xce, 0x34, 0x9a, 0x99,
- 0xae, 0xc7, 0x17, 0x4f, 0xf2, 0xa0, 0x62, 0xe2, 0x53, 0x4f, 0x51, 0xf7,
- 0xc9, 0xab, 0x1c, 0x73,
- 0x22, 0xb9, 0xf0, 0x0d, 0x64, 0x90, 0xcc, 0xcd, 0xaa, 0x0d, 0x16, 0x81,
- 0x0b, 0xc7, 0xa7, 0x3b,
- 0x39, 0xf7, 0xb8, 0x3d, 0x9c, 0x49, 0x96, 0x1c, 0xdd, 0x3d, 0xcd, 0xb4,
- 0x87, 0x11, 0xe0, 0x1e,
- 0xde, 0x64, 0x15, 0x0e, 0x8a, 0xc9, 0x81, 0x75, 0x20, 0x0e, 0xe6, 0xa6,
- 0x73, 0xf2, 0x2e, 0x1d,
- 0x1e, 0xd6, 0x50, 0xba, 0x9d, 0x70, 0x44, 0xfa, 0x66, 0xba, 0xb3, 0x7f,
- 0xb8, 0xfc, 0xdc, 0xa8,
- 0xa8, 0x96, 0x07, 0x02, 0xb4, 0x6e, 0x76, 0xd0, 0x4d, 0x02, 0xa0, 0x3a,
- 0x50, 0x26, 0x4f, 0x85,
- 0x58, 0xe9, 0xc2, 0x9b, 0xd6, 0x68, 0x13, 0x0c, 0xfb, 0x9b, 0x71, 0x44,
- 0xd9, 0xca, 0x60, 0x8c,
- 0x88, 0xa1, 0x46, 0x34, 0x53, 0x05, 0xb6, 0xb2, 0xed, 0x34, 0x58, 0x41,
- 0x2c, 0x9a, 0xd9, 0xec,
- 0x9a, 0xd5, 0x36, 0x14, 0x42, 0x2a, 0xda, 0x2c, 0xb7, 0x14, 0xca, 0x67,
- 0x65, 0xbf, 0xa3, 0x6b,
- 0x69, 0x63, 0xfb, 0x4a, 0x03, 0x4b, 0xb5, 0xe9, 0x0e, 0x4a, 0x82, 0x9e,
- 0x41, 0xf4, 0x44, 0x19,
- 0x28, 0x4a, 0xc0, 0xda, 0xae, 0x01, 0xf0, 0x9b, 0x88, 0xda, 0xc6, 0x15,
- 0x63, 0x93, 0x52, 0xe2,
- 0x65, 0xc1, 0xdb, 0xd0, 0x8f, 0x14, 0x9d, 0x8d, 0x32, 0xd0, 0xa3, 0xc7,
- 0xb0, 0x2d, 0xe2, 0x36,
- 0xd5, 0xd0, 0x9c, 0x25, 0xe0, 0xc4, 0xbb, 0x95, 0x07, 0x25, 0x41, 0x4f,
- 0xc1, 0x7a, 0x22, 0xed,
- 0x7c, 0x01, 0x22, 0xdb, 0xf4, 0x36, 0xcb, 0xf3, 0x4f, 0xdb, 0x96, 0x08,
- 0x4b, 0x80, 0x94, 0x41,
- 0xbc, 0xb3, 0x67, 0x6f, 0xe3, 0x8f, 0x0e, 0x7c, 0x09, 0x6f, 0xc3, 0xd1,
- 0x80, 0x8e, 0x66, 0xf4,
- 0x38, 0xb0, 0x01, 0xc1, 0x3c, 0xd5, 0x90, 0xaa, 0xd8, 0xc1, 0xba, 0xc9,
- 0x5d, 0xcd, 0x19, 0x37,
- 0x4f, 0x05, 0xaa, 0x31, 0xa2, 0xee, 0x61, 0xb9, 0xb0, 0x31, 0x8b, 0x28,
- 0xa4, 0xc5, 0x81, 0x86,
- 0xe0, 0x85, 0x04, 0x82, 0xf0, 0xd2, 0x05, 0xed, 0xe6, 0x82, 0xad, 0xa2,
- 0xb7, 0xb2, 0x64, 0xdc,
- 0x27, 0x21, 0xe8, 0x87, 0x01, 0x39, 0xd2, 0xe6, 0xbb, 0x87, 0x7e, 0xcb,
- 0x3f, 0xed, 0x3c, 0xb6,
- 0x76, 0xf2, 0x12, 0x0c, 0x3e, 0xa7, 0xf7, 0xa5, 0x6d, 0x0c, 0x46, 0x9c,
- 0x23, 0xd4, 0x61, 0x98,
- 0x78, 0xde, 0x83, 0xad, 0x31, 0x03, 0xd3, 0x6e, 0x5b, 0xad, 0x89, 0x3f,
- 0xa5, 0x76, 0xf6, 0xe5,
- 0x89, 0xe6, 0xff, 0xc8, 0xf3, 0x99, 0xb0, 0x04, 0xe8, 0xc8, 0x2f, 0x3c,
- 0xf6, 0x46, 0x20, 0xc5,
- 0x8d, 0x39, 0x5e, 0xbe, 0x36, 0xac, 0xa8, 0x99, 0xfc, 0xbe, 0x30, 0x0b,
- 0x18, 0xb0, 0x42, 0x61,
- 0xaf, 0x80, 0xae, 0xb3, 0x52, 0x3c, 0x64, 0x54, 0x56, 0xb3, 0x26, 0x8a,
- 0x13, 0x77, 0xe5, 0x5a,
- 0x9f, 0x4d, 0x2e, 0x9e, 0x27, 0x83, 0xc4, 0x07, 0xa6, 0x9e, 0xa2, 0x2d,
- 0x51, 0x95, 0x38, 0xe6,
- 0x84, 0x03, 0x66, 0xae, 0xdf, 0x5a, 0x9e, 0xd6, 0xd1, 0xae, 0x79, 0x18,
- 0xdd, 0x43, 0x7f, 0xc3,
- 0xe6, 0xd4, 0x14, 0xcf, 0xb6, 0x1c, 0x11, 0xdf, 0xf8, 0xcf, 0x5c, 0x6f,
- 0x2e, 0x3f, 0x37, 0x2a,
- 0xf1, 0x38, 0x7c, 0x65, 0xc2, 0x9a, 0x63, 0x6a, 0xb3, 0x65, 0xa6, 0x03,
- 0x53, 0x30, 0xd6, 0x20,
- 0x63, 0x90, 0xcb, 0x9d, 0xc9, 0xda, 0x89, 0xbf, 0x2c, 0x9d, 0x52, 0x0a,
- 0x29, 0xa0, 0xb1, 0xc0,
- 0x51, 0xd3, 0xfa, 0x8b, 0x3f, 0x9e, 0x25, 0x43, 0xd6, 0x8b, 0x38, 0x57,
- 0x1c, 0x39, 0x5d, 0x2e,
- 0xc8, 0xcf, 0xc4, 0x58, 0x5e, 0xd3, 0xf5, 0x76, 0x6e, 0x58, 0x6b, 0xb7,
- 0xd4, 0x21, 0x36, 0x3e,
- 0x03, 0xc9, 0x08, 0xc7, 0x23, 0x67, 0x0a, 0x19, 0x0f, 0xc7, 0x99, 0x87,
- 0xad, 0xa7, 0xc8, 0x7b,
- 0xed, 0x60, 0x9d, 0xe4, 0xdc, 0x11, 0x2b, 0x3f, 0xdf, 0xe4, 0xfb, 0x86,
- 0x9c, 0xb7, 0x3b, 0xda,
- 0x70, 0xa3, 0x02, 0x41, 0x78, 0x69, 0xe3, 0x97, 0x73, 0x41, 0xb7, 0x51,
- 0xba, 0x59, 0x32, 0x6e,
- 0x3c, 0x6f, 0xa0, 0xb7, 0xf9, 0xe0, 0x88, 0x37, 0xcc, 0xb7, 0xa5, 0xfe,
- 0xb3, 0x3b, 0x7b, 0x93,
- 0x8e, 0xf0, 0x56, 0x79, 0x15, 0xcb, 0xa2, 0x80, 0xf3, 0x79, 0xa9, 0x8c,
- 0xb5, 0x17, 0x8a, 0x1a,
- 0xd9, 0x72, 0xbc, 0xbf, 0x6c, 0x9b, 0x93, 0xf1, 0x3b, 0xbf, 0x60, 0x16,
- 0x30, 0xa3, 0x84, 0xc2,
- 0x10, 0xfa, 0xc1, 0x1b, 0x92, 0xd4, 0x60, 0x31, 0x50, 0x1b, 0x7c, 0xdc,
- 0x3e, 0x5e, 0x4b, 0xd5,
- 0x1a, 0x09, 0xf1, 0xcc, 0x58, 0x45, 0x5c, 0x67, 0x72, 0xcc, 0xac, 0x48,
- 0x56, 0x0a, 0xbe, 0x0c,
- 0x9d, 0xc3, 0x9f, 0xa5, 0xa4, 0x78, 0xc8, 0xa8, 0xac, 0xa5, 0x4c, 0xd7,
- 0x26, 0xee, 0x09, 0xb4,
- 0xee, 0xa9, 0x95, 0x23, 0xff, 0x76, 0x21, 0x26, 0xd0, 0x23, 0x62, 0x01,
- 0x31, 0x10, 0xf3, 0xa1,
- 0xcb, 0x06, 0xcc, 0x9f, 0x7d, 0xb4, 0xff, 0x6f, 0x61, 0x9f, 0xf2, 0x30,
- 0x79, 0x86, 0xfe, 0x45,
- 0x97, 0x30, 0xaf, 0x72, 0x6e, 0xe9, 0xf4, 0xfe, 0x8e, 0x72, 0x9c, 0x43,
- 0x4e, 0xba, 0xfc, 0x6d,
- 0xc9, 0x88, 0x7d, 0xa4, 0xfe, 0x4f, 0xf3, 0xc0, 0x6b, 0xa4, 0x1c, 0xca,
- 0x0e, 0xfd, 0xcf, 0x17,
- 0x79, 0x99, 0x3a, 0x51, 0x91, 0x9f, 0xd5, 0xd8, 0x5e, 0x51, 0xfe, 0x42,
- 0x7f, 0xaa, 0x0f, 0xcc,
- 0xb2, 0x9f, 0xf6, 0xce, 0xec, 0x2b, 0x2a, 0xb7, 0x3f, 0xce, 0x0c, 0x72,
- 0x06, 0x2c, 0xf1, 0x89,
- 0x35, 0x55, 0x98, 0xa7, 0x10, 0x16, 0xbe, 0x78, 0xe1, 0xa7, 0xec, 0xed,
- 0x76, 0xc8, 0x46, 0x31,
- 0x6c, 0xfb, 0xe3, 0xc0, 0x66, 0xe2, 0xab, 0xc2, 0x1f, 0xc0, 0xea, 0xd4,
- 0x75, 0xde, 0xdf, 0x94,
- 0x9c, 0x84, 0x26, 0x59, 0x04, 0xe4, 0xce, 0x1e, 0xa9, 0x59, 0x3b, 0xaa,
- 0xfc, 0x32, 0xf0, 0x9d,
- 0x1b, 0x4e, 0x48, 0x30, 0xf8, 0xd9, 0x5a, 0xd1, 0x77, 0x30, 0xdb, 0x35,
- 0x8c, 0xd6, 0x47, 0x25,
- 0x05, 0x98, 0x18, 0x8a, 0x65, 0xa9, 0x1e, 0x2b, 0x11, 0x8a, 0x68, 0x4a,
- 0x34, 0x2a, 0x9b, 0x8d,
- 0x50, 0x94, 0x43, 0x77, 0x9f, 0x02, 0x23, 0xf5, 0xd3, 0x77, 0x4f, 0x2a,
- 0xc6, 0xe5, 0xa4, 0x07,
- 0xf0, 0x7f, 0xc5, 0x99, 0x62, 0x06, 0x65, 0xdc, 0xb6, 0x99, 0xd1, 0x7e,
- 0x89, 0xec, 0x2f, 0x09,
- 0xd1, 0x0f, 0x3d, 0x53, 0x25, 0xf1, 0xa3, 0x08, 0x13, 0x53, 0x5e, 0x78,
- 0x2f, 0x8c, 0x40, 0x49,
- 0x12, 0x74, 0x70, 0x20, 0x11, 0x2f, 0x6c, 0x9e, 0x5a, 0x20, 0x92, 0x26,
- 0x49, 0x25, 0x7a, 0x87,
- 0x87, 0xca, 0x6e, 0x69, 0xfc, 0x3d, 0x94, 0xcf, 0xde, 0x69, 0xe0, 0x9f,
- 0x70, 0xe4, 0xb7, 0xb8,
- 0x08, 0x7d, 0x81, 0xec, 0x49, 0x6a, 0x30, 0xf9, 0x28, 0xec, 0x3e, 0x6e,
- 0x1f, 0x2f, 0xc4, 0x8b,
- 0x59, 0xae, 0x7b, 0x67, 0x76, 0xf4, 0x15, 0xba, 0xfe, 0x67, 0x06, 0x39,
- 0x03, 0x16, 0x99, 0xa5,
- 0xfc, 0xdd, 0xe5, 0x03, 0xee, 0x59, 0x4d, 0xb8, 0x8a, 0x03, 0xf0, 0x27,
- 0x78, 0x35, 0x89, 0x26,
- 0x21, 0x70, 0xf8, 0xca, 0x47, 0xf7, 0xc6, 0xd4, 0xa5, 0xca, 0x8f, 0x06,
- 0xa6, 0x60, 0x6f, 0x40,
- 0x85, 0x44, 0xdf, 0x52, 0x7f, 0xc6, 0x98, 0x60, 0xd4, 0x52, 0x0e, 0x65,
- 0x07, 0x9f, 0x86, 0xea,
- 0x55, 0x0c, 0x5b, 0xfd, 0xfa, 0xab, 0x3d, 0xde, 0xc2, 0xfd, 0x27, 0x60,
- 0xf2, 0xcf, 0x3f, 0x8a,
- 0x4e, 0x42, 0x13, 0xcd, 0x02, 0x72, 0x67, 0x0f, 0xb5, 0xcd, 0xfc, 0x55,
- 0x7e, 0x19, 0x78, 0xaf,
- 0xec, 0x27, 0x24, 0x18, 0x7c, 0x8d, 0x2d, 0x89, 0xda, 0x18, 0x8c, 0xfb,
- 0x46, 0x6b, 0xc2, 0xf3,
- 0xfb, 0xcb, 0x4c, 0xb2, 0x08, 0x0b, 0x5f, 0x3c, 0x91, 0xb2, 0x76, 0x97,
- 0x3b, 0x64, 0x23, 0xf9,
- 0x36, 0x9c, 0x90, 0x60, 0x33, 0x71, 0xb4, 0x61, 0xee, 0x60, 0x75, 0x6a,
- 0xdb, 0x6f, 0x8e, 0x4a,
- 0x75, 0x3b, 0x1a, 0xcb, 0x1d, 0xc0, 0xfd, 0xbc, 0x62, 0xcb, 0xdf, 0x1b,
- 0x8e, 0x73, 0xa9, 0xe3,
- 0x37, 0xdb, 0x29, 0x9c, 0x93, 0xed, 0xb2, 0xd7, 0xeb, 0x9c, 0x02, 0x17,
- 0x01, 0xb3, 0x77, 0x63,
- 0x5c, 0x36, 0x63, 0xed, 0x13, 0x5d, 0x0b, 0x91, 0xef, 0xed, 0x6e, 0x73,
- 0x37, 0x3c, 0x02, 0x28,
- 0xf6, 0x2e, 0xd5, 0xd4, 0x24, 0xc8, 0x71, 0xee, 0xa8, 0xd4, 0x20, 0xb3,
- 0x10, 0x61, 0x7c, 0xff,
- 0xf4, 0xa0, 0x64, 0xef, 0xa7, 0x33, 0x7d, 0x41, 0xa2, 0xef, 0xce, 0x49,
- 0x67, 0x1a, 0x4d, 0xad,
- 0xcd, 0x57, 0xdc, 0xd2, 0x3b, 0x7a, 0xeb, 0x5d, 0x7f, 0xd2, 0x03, 0xfd,
- 0xe0, 0x0b, 0xad, 0xb3,
- 0x6b, 0xed, 0x4a, 0x71, 0x80, 0xb0, 0xb9, 0x46, 0x04, 0x71, 0x6c, 0x64,
- 0x36, 0x8f, 0x75, 0x4b,
- 0xa2, 0x65, 0x37, 0xd5, 0x7e, 0xff, 0x4a, 0x86, 0x6f, 0xd5, 0x70, 0xae,
- 0x38, 0x72, 0xba, 0x5c,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xaa, 0x18, 0xb6, 0x39, 0x37, 0x95, 0x7a, 0x7f, 0x47, 0x39, 0x4e, 0xc0,
- 0x27, 0x5d, 0x7e, 0xd7,
- 0x71, 0xe4, 0xbb, 0xbd, 0xd8, 0xf5, 0xe5, 0x21, 0x76, 0xbd, 0xc0, 0x2c,
- 0x60, 0x85, 0xcb, 0x47,
- 0x42, 0xe0, 0x33, 0x57, 0x8e, 0x2d, 0x4f, 0x6b, 0x89, 0x57, 0xdd, 0x0c,
- 0x8f, 0xc0, 0xde, 0x80,
- },
- { /* 4 */
- 0xc2, 0x36, 0xbf, 0xb8, 0xb8, 0xed, 0xf8, 0xa5, 0xff, 0x6a, 0x2d, 0xa5,
- 0x4a, 0x84, 0x52, 0x5c,
- 0x95, 0x8b, 0xd1, 0x9a, 0x9a, 0x0a, 0x38, 0x2d, 0x73, 0xc6, 0x2f, 0x2d,
- 0x97, 0x24, 0xdb, 0x4d,
- 0xa6, 0x30, 0x54, 0xed, 0xed, 0x72, 0xdb, 0x32, 0x62, 0xa7, 0x28, 0x32,
- 0xbc, 0x57, 0x26, 0x97,
- 0x27, 0xcf, 0x12, 0x53, 0x53, 0x58, 0x5c, 0x8f, 0x1d, 0x07, 0x49, 0x8f,
- 0xe1, 0x72, 0x4a, 0xc8,
- 0xe0, 0xe4, 0xf8, 0xe2, 0xe2, 0xbd, 0xfb, 0x0e, 0xe1, 0x95, 0x96, 0x0e,
- 0x78, 0x67, 0x45, 0x71,
- 0x86, 0x51, 0x31, 0x0c, 0x0c, 0x4d, 0xfe, 0x30, 0xc3, 0x57, 0x98, 0x30,
- 0x2e, 0x81, 0x7c, 0x06,
- 0x06, 0x16, 0x66, 0x0e, 0x0e, 0xb1, 0x6a, 0x38, 0x02, 0x11, 0x1d, 0x38,
- 0x23, 0x5f, 0xd7, 0x07,
- 0x5d, 0x87, 0xc4, 0x30, 0x30, 0xf7, 0x7e, 0xc0, 0x8a, 0x9f, 0x25, 0xc0,
- 0xb8, 0x41, 0x33, 0x18,
- 0x09, 0x31, 0x99, 0x15, 0x15, 0xa9, 0x8b, 0x54, 0x07, 0xda, 0xc8, 0x54,
- 0x95, 0x2f, 0x30, 0xeb,
- 0x78, 0xfb, 0xf4, 0xd8, 0xd8, 0xc0, 0x04, 0xe6, 0x28, 0x97, 0x67, 0xe6,
- 0xf9, 0x06, 0x34, 0x6c,
- 0xf4, 0x90, 0x6f, 0xc6, 0xc6, 0x9d, 0x44, 0x9e, 0xed, 0xf3, 0xd8, 0x9e,
- 0xb2, 0x66, 0xf2, 0x63,
- 0x16, 0xc7, 0xb5, 0x9f, 0x9f, 0x4f, 0x99, 0x39, 0xb3, 0x69, 0x45, 0x39,
- 0x6a, 0x34, 0xfa, 0xae,
- 0x19, 0xe0, 0x4a, 0x84, 0x84, 0x57, 0x78, 0x55, 0xb6, 0xa2, 0x90, 0x55,
- 0xdc, 0x44, 0x1d, 0x42,
- 0xec, 0xc8, 0x34, 0xfe, 0xfe, 0x1c, 0x2f, 0x7e, 0xe5, 0xb7, 0xac, 0x7e,
- 0x3e, 0xd9, 0x28, 0x7f,
- 0x69, 0x92, 0x36, 0xf5, 0xf5, 0xe8, 0xe4, 0x52, 0x27, 0x09, 0xdb, 0x52,
- 0xe0, 0x96, 0xde, 0x9b,
- 0x04, 0xa5, 0x44, 0xb5, 0xb5, 0xde, 0x4c, 0x91, 0xbd, 0x1e, 0x16, 0x91,
- 0x83, 0x6a, 0x9a, 0xbb,
- 0x8f, 0x60, 0xa8, 0x19, 0x19, 0xe4, 0x75, 0x64, 0xc4, 0x8d, 0x50, 0x64,
- 0xbb, 0xae, 0x4c, 0xed,
- 0x30, 0xb0, 0xb6, 0x70, 0x70, 0xc1, 0xd6, 0x03, 0x10, 0x88, 0xe8, 0x03,
- 0xdb, 0xbd, 0x77, 0x38,
- 0x39, 0x81, 0x2f, 0x65, 0x65, 0x68, 0x5d, 0x57, 0x17, 0x52, 0x20, 0x57,
- 0x4e, 0x92, 0x47, 0xd3,
- 0xe9, 0xd5, 0x61, 0xf7, 0xf7, 0x14, 0x70, 0x5a, 0xe6, 0x4f, 0x5e, 0x5a,
- 0xed, 0x48, 0x75, 0x9a,
- 0x03, 0x0b, 0x33, 0x07, 0x07, 0xb9, 0x35, 0x1c, 0x01, 0xe9, 0xef, 0x1c,
- 0xf0, 0xce, 0x8a, 0xe2,
- 0xcf, 0xa2, 0x62, 0x18, 0x18, 0x9a, 0x3f, 0x60, 0x45, 0xae, 0xf3, 0x60,
- 0x5c, 0xc1, 0xf8, 0x0c,
- 0x70, 0x72, 0x7c, 0x71, 0x71, 0xbf, 0x9c, 0x07, 0x91, 0xab, 0x4b, 0x07,
- 0x3c, 0xd2, 0xc3, 0xd9,
- 0x43, 0xc9, 0xf9, 0x06, 0x06, 0xc7, 0x7f, 0x18, 0x80, 0xca, 0x4c, 0x18,
- 0x17, 0xa1, 0x3e, 0x03,
- 0x55, 0x0e, 0x4c, 0x99, 0x99, 0x88, 0xe6, 0x21, 0x33, 0xa3, 0x09, 0x21,
- 0x7d, 0x95, 0xc4, 0xad,
- 0x2c, 0x4d, 0xa9, 0xfd, 0xfd, 0x9e, 0xf1, 0x72, 0xa5, 0xd2, 0x8a, 0x72,
- 0xd4, 0x68, 0x37, 0x9f,
- 0x12, 0x62, 0xf1, 0x2a, 0x2a, 0x91, 0xd5, 0xa8, 0x0e, 0x77, 0x53, 0xa8,
- 0xe9, 0x5e, 0x60, 0x15,
- 0x8e, 0xd8, 0xb9, 0xa5, 0xa5, 0x32, 0x66, 0xd1, 0x7a, 0x6b, 0xb4, 0xd1,
- 0xeb, 0x55, 0x8b, 0xb3,
- 0xd5, 0x49, 0x1b, 0x9b, 0x9b, 0x74, 0x72, 0x29, 0xf2, 0xe5, 0x8c, 0x29,
- 0x70, 0x4b, 0x6f, 0xac,
- 0x3d, 0x24, 0x6b, 0xd0, 0xd0, 0xb6, 0x11, 0xc6, 0xaa, 0x4c, 0x36, 0xc6,
- 0xcd, 0xf8, 0xdd, 0x68,
- 0xd2, 0xe7, 0x6c, 0x29, 0x29, 0x13, 0x0b, 0xa4, 0x4e, 0x12, 0x75, 0xa4,
- 0x03, 0xef, 0x7f, 0xf5,
- 0x76, 0x64, 0x1a, 0x7f, 0x7f, 0x0e, 0xf6, 0x3f, 0x93, 0xba, 0x56, 0x3f,
- 0x1f, 0x8d, 0x14, 0xde,
- 0x18, 0x58, 0x5b, 0x38, 0x38, 0x81, 0x6b, 0xe0, 0x08, 0x44, 0x74, 0xe0,
- 0x8c, 0xbf, 0xda, 0x1c,
- 0x35, 0xad, 0xe3, 0x79, 0x79, 0xc9, 0x89, 0x27, 0x13, 0x70, 0x1a, 0x27,
- 0x08, 0x2c, 0x2a, 0xdd,
- 0x07, 0xae, 0x77, 0xb2, 0xb2, 0x67, 0x79, 0x8d, 0xbc, 0xf7, 0xf9, 0x8d,
- 0x73, 0xa4, 0x10, 0x59,
- 0xc0, 0x85, 0x9d, 0x03, 0x03, 0x82, 0xde, 0x0c, 0x40, 0x65, 0x26, 0x0c,
- 0xea, 0xb1, 0x1f, 0xe0,
- 0xf7, 0x9b, 0x5c, 0xc1, 0xc1, 0x24, 0x71, 0x82, 0xec, 0x1a, 0x37, 0x82,
- 0x42, 0xa8, 0x78, 0x81,
- 0xb8, 0x7e, 0x69, 0xdb, 0xdb, 0x42, 0xda, 0xea, 0x68, 0xf2, 0x41, 0xea,
- 0x13, 0xb7, 0x2b, 0x8c,
- 0x72, 0xc1, 0x5e, 0xca, 0xca, 0xd0, 0xba, 0xae, 0x2e, 0xa4, 0x40, 0xae,
- 0x9c, 0xe7, 0x8e, 0x65,
- 0x11, 0x69, 0xc2, 0x2d, 0x2d, 0x28, 0xe0, 0xb4, 0x0f, 0x9e, 0xbc, 0xb4,
- 0x19, 0x90, 0xea, 0xf7,
- 0xb4, 0x52, 0xa5, 0xc7, 0xc7, 0xe3, 0x0e, 0x9a, 0x6c, 0xd0, 0x7b, 0x9a,
- 0x55, 0x09, 0x46, 0x82,
- 0xff, 0x12, 0xd4, 0x68, 0x68, 0x5b, 0xe9, 0x63, 0x55, 0x26, 0x1b, 0x63,
- 0x87, 0x7c, 0x8f, 0x34,
- 0x1a, 0xeb, 0x79, 0x83, 0x83, 0xee, 0x4d, 0x49, 0xb7, 0x4b, 0x7f, 0x49,
- 0x2c, 0x8a, 0x97, 0xa0,
- 0x48, 0x4b, 0x42, 0xa8, 0xa8, 0x01, 0xd2, 0xe5, 0x38, 0x1f, 0x8f, 0xe5,
- 0x22, 0xbb, 0x43, 0x54,
- 0xaa, 0x1c, 0x98, 0xf1, 0xf1, 0xd3, 0x0f, 0x42, 0x66, 0x85, 0x12, 0x42,
- 0xfa, 0xe9, 0x4b, 0x99,
- 0x58, 0x9a, 0x91, 0x39, 0x39, 0xff, 0x21, 0xe4, 0x89, 0x67, 0xd7, 0xe4,
- 0x6b, 0xd0, 0x6e, 0xfd,
- 0x93, 0x9d, 0xb7, 0x94, 0x94, 0xbb, 0x52, 0x15, 0x71, 0xd7, 0x32, 0x15,
- 0xb4, 0x7b, 0x0c, 0x4a,
- 0x21, 0xd9, 0x74, 0x5d, 0x5d, 0xe9, 0x36, 0xb7, 0x1f, 0x16, 0x54, 0xb7,
- 0xc2, 0x2d, 0x9d, 0xcf,
- 0xdd, 0xc0, 0x93, 0x32, 0x32, 0x0b, 0xea, 0xc8, 0x4b, 0xd9, 0xa0, 0xc8,
- 0xb5, 0x9f, 0x98, 0x19,
- 0x60, 0xa3, 0xaf, 0xe0, 0xe0, 0x41, 0x6f, 0x06, 0x20, 0xd3, 0x13, 0x06,
- 0x75, 0xb9, 0xee, 0x70,
- 0x0c, 0x2c, 0xcc, 0x1c, 0x1c, 0xa1, 0xd4, 0x70, 0x04, 0x22, 0x3a, 0x70,
- 0x46, 0xbe, 0x6d, 0x0e,
- 0xc4, 0x20, 0xd9, 0xb6, 0xb6, 0x5c, 0x92, 0x9d, 0xfd, 0x7b, 0x30, 0x9d,
- 0x69, 0xdb, 0x85, 0x5b,
- 0x9a, 0xac, 0x2e, 0x81, 0x81, 0x12, 0xd9, 0x41, 0x76, 0x0d, 0xfa, 0x41,
- 0x21, 0x54, 0x3c, 0xa1,
- 0x5c, 0x3f, 0xd5, 0x8c, 0x8c, 0x21, 0x6d, 0x75, 0x34, 0x79, 0xc1, 0x75,
- 0xe8, 0xba, 0xf4, 0x46,
- 0x53, 0x18, 0x2a, 0x97, 0x97, 0x39, 0x8c, 0x19, 0x31, 0xb2, 0x14, 0x19,
- 0x5e, 0xca, 0x13, 0xaa,
- 0xcd, 0x11, 0x40, 0xa3, 0xa3, 0xf5, 0x19, 0xc9, 0xfa, 0xa1, 0xf8, 0xc9,
- 0xfc, 0xf4, 0xb5, 0xb0,
- 0x32, 0x03, 0x94, 0xcb, 0xcb, 0xae, 0xf0, 0xaa, 0xaf, 0x87, 0xe3, 0xaa,
- 0x7b, 0x88, 0x3a, 0x84,
- 0x1b, 0x53, 0x68, 0x3f, 0x3f, 0x38, 0x5e, 0xfc, 0x09, 0xad, 0x9b, 0xfc,
- 0x7c, 0x71, 0x50, 0xfe,
- 0x5a, 0x29, 0xb3, 0x82, 0x82, 0x90, 0x07, 0x4d, 0x36, 0x68, 0xdc, 0x4d,
- 0xcb, 0xe5, 0x23, 0x41,
- 0xa1, 0x9e, 0x23, 0x5f, 0x5f, 0x15, 0xa2, 0xbf, 0xde, 0x50, 0xd1, 0xbf,
- 0xcf, 0xf3, 0x36, 0xce,
- 0xe5, 0xf9, 0xad, 0xeb, 0xeb, 0xb5, 0xa4, 0x2a, 0xe2, 0x6d, 0x64, 0x2a,
- 0xab, 0xf6, 0x18, 0x94,
- 0x3c, 0x9c, 0x7a, 0x6c, 0x6c, 0x60, 0x02, 0x73, 0x14, 0xaa, 0xd2, 0x73,
- 0x9d, 0x03, 0x1a, 0x36,
- 0x97, 0x38, 0xf3, 0x21, 0x21, 0x65, 0x1e, 0x84, 0xcc, 0xc9, 0x24, 0x84,
- 0x37, 0x11, 0x96, 0xf1,
- 0xce, 0x1a, 0x73, 0xa4, 0xa4, 0x4c, 0x2c, 0xd5, 0xfb, 0x48, 0x17, 0xd5,
- 0x0c, 0x3a, 0x3f, 0x52,
- 0x6d, 0x37, 0x72, 0x40, 0x40, 0x36, 0xa8, 0xc3, 0x9a, 0x17, 0xcd, 0xc3,
- 0x63, 0xfc, 0x44, 0x20,
- 0x62, 0x10, 0x8d, 0x5b, 0x5b, 0x2e, 0x49, 0xaf, 0x9f, 0xdc, 0x18, 0xaf,
- 0xd5, 0x8c, 0xa3, 0xcc,
- 0xf5, 0x28, 0x7e, 0x7a, 0x7a, 0x4b, 0x57, 0x2b, 0x53, 0x15, 0x3c, 0x2b,
- 0xe2, 0x9d, 0x35, 0x3d,
- 0xb7, 0x59, 0x96, 0xc0, 0xc0, 0x5a, 0x3b, 0x86, 0x6d, 0x39, 0x94, 0x86,
- 0xa5, 0xc7, 0xcc, 0x60,
- 0xe2, 0x57, 0xda, 0x59, 0x59, 0xd2, 0xdd, 0xa7, 0x5e, 0x9a, 0x9d, 0xa7,
- 0xd8, 0x52, 0x08, 0xcd,
- 0x41, 0x7a, 0xdb, 0xbd, 0xbd, 0xa8, 0x59, 0xb1, 0x3f, 0xc5, 0x47, 0xb1,
- 0xb7, 0x94, 0x73, 0xbf,
- 0x71, 0xca, 0x6d, 0xcd, 0xcd, 0x69, 0x8f, 0xb2, 0x2f, 0x4d, 0xaf, 0xb2,
- 0x6c, 0x29, 0x04, 0x87,
- 0xf9, 0x04, 0xb2, 0x66, 0x66, 0xea, 0x83, 0x5b, 0x57, 0x37, 0x06, 0x5b,
- 0xa4, 0x23, 0x58, 0x33,
- 0xea, 0xde, 0x52, 0xf0, 0xf0, 0xad, 0x45, 0x46, 0xe7, 0xa6, 0xb1, 0x46,
- 0x1d, 0x86, 0xff, 0x78,
- 0xae, 0xb9, 0xdc, 0x44, 0x44, 0x0d, 0x43, 0xd3, 0xdb, 0x9b, 0x04, 0xd3,
- 0x79, 0x83, 0xd1, 0x22,
- 0xe4, 0x41, 0xbc, 0x57, 0x57, 0x63, 0xb7, 0x9f, 0x5c, 0x8b, 0x80, 0x9f,
- 0xfb, 0x0d, 0xdf, 0xca,
- 0x0b, 0x82, 0xbb, 0xae, 0xae, 0xc6, 0xad, 0xfd, 0xb8, 0xd5, 0xc3, 0xfd,
- 0x35, 0x1a, 0x7d, 0x57,
- 0xde, 0xcb, 0xa0, 0x35, 0x35, 0xb2, 0xdf, 0xd4, 0x4a, 0x30, 0x4f, 0xd4,
- 0x45, 0x51, 0x12, 0xfb,
- 0xf0, 0x35, 0x2b, 0x73, 0x73, 0x43, 0x08, 0x0f, 0x50, 0xed, 0xce, 0x0f,
- 0x31, 0x0c, 0x68, 0xd8,
- 0xd4, 0xf1, 0x0a, 0x27, 0x27, 0xa2, 0x61, 0x9c, 0x4c, 0x03, 0x68, 0x9c,
- 0x20, 0xb0, 0xa8, 0xf2,
- 0xb5, 0xea, 0xb4, 0x7b, 0x7b, 0x35, 0x1d, 0x2f, 0xd2, 0x36, 0x9f, 0x2f,
- 0x05, 0xf2, 0x81, 0xdc,
- 0xa4, 0x83, 0x76, 0x56, 0x56, 0x1d, 0xfd, 0x9b, 0xdd, 0xa8, 0x23, 0x9b,
- 0x1c, 0x62, 0x6b, 0x2b,
- 0xba, 0xcd, 0x4b, 0x60, 0x60, 0x2d, 0xfc, 0x43, 0xd7, 0xfd, 0x4a, 0x43,
- 0xb3, 0x82, 0x66, 0x30,
- 0xe8, 0x6d, 0x70, 0x4b, 0x4b, 0xc2, 0x63, 0xef, 0x58, 0xa9, 0xba, 0xef,
- 0xbd, 0xb3, 0xb2, 0xc4,
- 0x0e, 0x9f, 0xee, 0xa7, 0xa7, 0xce, 0xf2, 0xd9, 0xbb, 0x2d, 0x31, 0xd9,
- 0xe6, 0x8b, 0x20, 0xb2,
- 0x9c, 0xba, 0x48, 0x8f, 0x8f, 0xa3, 0xb3, 0x79, 0x74, 0x1c, 0xe7, 0x79,
- 0x02, 0x0b, 0xeb, 0xa6,
- 0x31, 0x08, 0xa7, 0xcc, 0xcc, 0x17, 0xc5, 0xb6, 0xae, 0x6e, 0x0c, 0xb6,
- 0x8b, 0x46, 0xb0, 0x66,
- 0x79, 0x43, 0xe5, 0x64, 0x64, 0x16, 0x17, 0x53, 0x96, 0x71, 0x83, 0x53,
- 0xa9, 0xfd, 0xf3, 0x32,
- 0xfc, 0x19, 0xe7, 0x6f, 0x6f, 0xe2, 0xdc, 0x7f, 0x54, 0xcf, 0xf4, 0x7f,
- 0x77, 0xb2, 0x05, 0xd6,
- 0x4d, 0x56, 0x17, 0xa1, 0xa1, 0x09, 0x8d, 0xc1, 0x3b, 0xe7, 0x7d, 0xc1,
- 0xf1, 0x2a, 0x1e, 0xb1,
- 0xdb, 0xd6, 0xf5, 0x3c, 0x3c, 0xba, 0x80, 0xf0, 0x49, 0xc8, 0xbd, 0xf0,
- 0x96, 0xc0, 0x4f, 0x1e,
- 0x75, 0x6f, 0x29, 0x78, 0x78, 0xb7, 0xc3, 0x23, 0x92, 0x53, 0xb9, 0x23,
- 0xef, 0x43, 0x9e, 0x3c,
- 0x68, 0x2a, 0x27, 0x49, 0x49, 0x3e, 0xf7, 0xe7, 0x99, 0xef, 0x3f, 0xe7,
- 0xb0, 0x6d, 0x19, 0xc5,
- 0x15, 0xcc, 0x86, 0x98, 0x98, 0xf6, 0xac, 0x25, 0xb2, 0x80, 0xaa, 0x25,
- 0x9a, 0xfa, 0x70, 0x4c,
- 0xa9, 0x17, 0xab, 0xf6, 0xf6, 0x6a, 0x3a, 0x5e, 0x67, 0x6c, 0xfd, 0x5e,
- 0x0a, 0x27, 0xc1, 0x7b,
- 0x01, 0xb8, 0x11, 0xbc, 0xbc, 0xd6, 0x13, 0xb5, 0xbe, 0xe6, 0xe4, 0xb5,
- 0x50, 0xfb, 0xc7, 0x5e,
- 0x23, 0x6a, 0x56, 0xe6, 0xe6, 0x86, 0x10, 0x1e, 0xa0, 0x19, 0x5f, 0x1e,
- 0x62, 0x18, 0xd0, 0x73,
- 0xb2, 0x44, 0xc3, 0xc9, 0xc9, 0x52, 0x64, 0xa2, 0x6e, 0xc1, 0x66, 0xa2,
- 0x76, 0x56, 0x91, 0x85,
- 0x6e, 0x3c, 0x41, 0x47, 0x47, 0x8f, 0x9d, 0xdf, 0x9b, 0xfe, 0x22, 0xdf,
- 0x93, 0x32, 0xce, 0xc2,
- 0xf2, 0x86, 0x09, 0xc8, 0xc8, 0x2c, 0x2e, 0xa6, 0xef, 0xe2, 0xc5, 0xa6,
- 0x91, 0x39, 0x25, 0x64,
- 0x3b, 0x32, 0x0d, 0xde, 0xde, 0x07, 0x7b, 0xfe, 0xa8, 0x5d, 0x2b, 0xfe,
- 0xee, 0xa7, 0x0a, 0x6f,
- 0x52, 0xa0, 0x3b, 0x2b, 0x2b, 0xef, 0x9f, 0xac, 0x8f, 0x54, 0xf0, 0xac,
- 0x0e, 0x31, 0xd4, 0xf4,
- 0x65, 0xbe, 0xfa, 0xe9, 0xe9, 0x49, 0x30, 0x22, 0x23, 0x2b, 0xe1, 0x22,
- 0xa6, 0x28, 0xb3, 0x95,
- 0x4b, 0x40, 0x71, 0xaf, 0xaf, 0xb8, 0xe7, 0xf9, 0x39, 0xf6, 0x60, 0xf9,
- 0xd2, 0x75, 0xc9, 0xb6,
- 0x38, 0x39, 0x3e, 0xd9, 0xd9, 0xbe, 0x4e, 0xe2, 0xa9, 0xb4, 0xc4, 0xe2,
- 0x1e, 0x69, 0x80, 0x8d,
- 0x2a, 0x5b, 0xcf, 0xf3, 0xf3, 0x2f, 0x9b, 0x4a, 0xa7, 0xc3, 0x97, 0x4a,
- 0xf7, 0x37, 0xe0, 0x98,
- 0x91, 0x2e, 0x95, 0x2f, 0x2f, 0xd4, 0x74, 0xbc, 0xce, 0xd8, 0x39, 0xbc,
- 0x14, 0x4e, 0x41, 0xf6,
- 0xd6, 0x42, 0x28, 0x9c, 0x9c, 0xcd, 0x47, 0x35, 0xf3, 0x0c, 0x63, 0x35,
- 0x80, 0x85, 0xe5, 0x4e,
- 0xfd, 0xa1, 0xf6, 0xd3, 0xd3, 0x34, 0xcf, 0xca, 0xea, 0x29, 0x10, 0xca,
- 0x27, 0x49, 0xc2, 0x88,
- 0xf8, 0xbc, 0xa3, 0xda, 0xda, 0x3c, 0x90, 0xee, 0xe9, 0xd1, 0xe2, 0xee,
- 0xf4, 0xd8, 0x9f, 0x6d,
- 0x8c, 0x6b, 0x9b, 0x1e, 0x1e, 0x5d, 0x40, 0x78, 0xc5, 0x64, 0xbf, 0x78,
- 0x4b, 0x60, 0xc6, 0x0f,
- 0x50, 0x13, 0x19, 0x90, 0x90, 0x80, 0xb9, 0x05, 0x30, 0x5b, 0xfb, 0x05,
- 0xae, 0x04, 0x99, 0x48,
- 0x7f, 0x55, 0x83, 0x6a, 0x6a, 0xa7, 0x7d, 0x6b, 0x94, 0x60, 0x9e, 0x6b,
- 0x8a, 0xa2, 0x24, 0x35,
- 0x59, 0x22, 0x80, 0x85, 0x85, 0x29, 0x32, 0x51, 0x37, 0x81, 0x33, 0x51,
- 0x3b, 0x2b, 0xa9, 0xa3,
- 0x08, 0x89, 0x88, 0xa9, 0xa9, 0x7f, 0x98, 0xe1, 0xb9, 0x3c, 0x2c, 0xe1,
- 0xc5, 0xd4, 0xf7, 0xb5,
- 0xd9, 0x65, 0xd7, 0x87, 0x87, 0xd5, 0xa6, 0x59, 0xf6, 0xc7, 0xb6, 0x59,
- 0x36, 0xf5, 0x02, 0xa2,
- 0xa2, 0x95, 0x10, 0x58, 0x58, 0xac, 0x97, 0xa3, 0xdf, 0xb9, 0x3e, 0xa3,
- 0x3f, 0x3d, 0xbc, 0x2c,
- 0xfb, 0xb7, 0x90, 0xdd, 0xdd, 0x85, 0xa5, 0xf2, 0xe8, 0x38, 0x0d, 0xf2,
- 0x04, 0x16, 0x15, 0x8f,
- 0x1c, 0xfd, 0x1f, 0x8d, 0x8d, 0x5f, 0x27, 0x71, 0xb5, 0x5a, 0x62, 0x71,
- 0x0f, 0xd5, 0x40, 0xa7,
- 0x29, 0x50, 0xfc, 0xf4, 0xf4, 0x96, 0xae, 0x56, 0xa6, 0x2a, 0x78, 0x56,
- 0x07, 0xf9, 0x6a, 0x7a,
- 0xd3, 0x5f, 0x7d, 0x95, 0x95, 0xc5, 0x18, 0x11, 0xf0, 0xf4, 0x91, 0x11,
- 0x53, 0x14, 0xb8, 0xab,
- 0x6f, 0x84, 0x50, 0xfb, 0xfb, 0x59, 0x8e, 0x6a, 0x25, 0x18, 0xc6, 0x6a,
- 0xc3, 0xc9, 0x09, 0x9c,
- 0x47, 0x6c, 0xbd, 0xb3, 0xb3, 0x19, 0x33, 0x89, 0x3d, 0xd4, 0x5a, 0x89,
- 0x94, 0xcb, 0xa4, 0xb8,
- 0x54, 0xb6, 0x5d, 0x25, 0x25, 0x5e, 0xf5, 0x94, 0x8d, 0x45, 0xed, 0x94,
- 0x2d, 0x6e, 0x03, 0xf3,
- 0x9f, 0xb1, 0x7b, 0x88, 0x88, 0x1a, 0x86, 0x65, 0x75, 0xf5, 0x08, 0x65,
- 0xf2, 0xc5, 0x61, 0x44,
- 0x17, 0x7f, 0xa4, 0x23, 0x23, 0x99, 0x8a, 0x8c, 0x0d, 0x8f, 0xa1, 0x8c,
- 0x3a, 0xcf, 0x3d, 0xf0,
- 0xe1, 0x5c, 0xe9, 0x5e, 0x5e, 0x6b, 0xe8, 0xbb, 0x5f, 0x73, 0x72, 0xbb,
- 0x28, 0x9c, 0x82, 0x2f,
- 0x7c, 0x5e, 0xb0, 0x6d, 0x6d, 0x1e, 0x48, 0x77, 0x95, 0x89, 0x71, 0x77,
- 0x7a, 0x6c, 0xae, 0xd7,
- 0x46, 0xd4, 0xac, 0x0f, 0x0f, 0xcf, 0x20, 0x3c, 0x83, 0x32, 0xbe, 0x3c,
- 0xc4, 0x30, 0x63, 0xe6,
- 0xbc, 0xdb, 0x2d, 0x6e, 0x6e, 0x9c, 0x96, 0x7b, 0xd5, 0xec, 0x57, 0x7b,
- 0x90, 0xdd, 0xb1, 0x37,
- 0xc5, 0x98, 0xc8, 0x0a, 0x0a, 0x8a, 0x81, 0x28, 0x43, 0x9d, 0xd4, 0x28,
- 0x39, 0x20, 0x42, 0x05,
- 0x22, 0xd2, 0x47, 0x5a, 0x5a, 0x50, 0x03, 0xab, 0x1e, 0xff, 0xbb, 0xab,
- 0x32, 0xe3, 0x17, 0x2d,
- 0xbe, 0x68, 0x0f, 0xd5, 0xd5, 0xf3, 0xb0, 0xd2, 0x6a, 0xe3, 0x5c, 0xd2,
- 0x30, 0xe8, 0xfc, 0x8b,
- 0x96, 0x80, 0xe2, 0x9d, 0x9d, 0xb3, 0x0d, 0x31, 0x72, 0x2f, 0xc0, 0x31,
- 0x67, 0xea, 0x51, 0xaf,
- 0x7e, 0xed, 0x92, 0xd6, 0xd6, 0x71, 0x6e, 0xde, 0x2a, 0x86, 0x7a, 0xde,
- 0xda, 0x59, 0xe3, 0x6b,
- 0x1d, 0x45, 0x0e, 0x31, 0x31, 0x89, 0x34, 0xc4, 0x0b, 0xbc, 0x86, 0xc4,
- 0x5f, 0x2e, 0x87, 0xf9,
- 0xb9, 0xc6, 0x78, 0x67, 0x67, 0x94, 0xc9, 0x5f, 0xd6, 0x14, 0xa5, 0x5f,
- 0x43, 0x4c, 0xec, 0xd2,
- 0x9d, 0x02, 0x59, 0x33, 0x33, 0x75, 0xa0, 0xcc, 0xca, 0xfa, 0x03, 0xcc,
- 0x52, 0xf0, 0x2c, 0xf8,
- 0xad, 0xb2, 0xef, 0x43, 0x43, 0xb4, 0x76, 0xcf, 0xda, 0x72, 0xeb, 0xcf,
- 0x89, 0x4d, 0x5b, 0xc0,
- 0x6c, 0x8f, 0x63, 0xfc, 0xfc, 0xe0, 0xbb, 0x76, 0x24, 0xf1, 0x29, 0x76,
- 0x33, 0x07, 0x83, 0x7e,
- 0x85, 0x5a, 0x02, 0x0b, 0x0b, 0xf4, 0xcb, 0x2c, 0xc2, 0xbe, 0x77, 0x2c,
- 0xde, 0x4f, 0xf6, 0xe4,
- 0xd1, 0xec, 0x5f, 0x2e, 0x2e, 0xaa, 0x3e, 0xb8, 0x4f, 0xfb, 0x9a, 0xb8,
- 0xf3, 0x21, 0xf5, 0x17,
- 0x1e, 0x4e, 0x3d, 0x36, 0x36, 0x30, 0x01, 0xd8, 0x0a, 0x55, 0x69, 0xd8,
- 0xaf, 0xe0, 0x0d, 0x1b,
- 0xa5, 0x3b, 0x67, 0xea, 0xea, 0xcb, 0xee, 0x2e, 0x63, 0x4e, 0xc7, 0x2e,
- 0x4c, 0x99, 0xac, 0x75,
- 0xe6, 0xf2, 0x9e, 0xec, 0xec, 0x0c, 0x91, 0x36, 0xe3, 0x84, 0x8b, 0x36,
- 0x5b, 0x38, 0x92, 0x76,
- 0x2e, 0xfe, 0x8b, 0x46, 0x46, 0xf1, 0xd7, 0xdb, 0x1a, 0xdd, 0x81, 0xdb,
- 0x74, 0x5d, 0x7a, 0x23,
- 0x5f, 0x34, 0xe6, 0x8b, 0x8b, 0x98, 0x58, 0x69, 0x35, 0x90, 0x2e, 0x69,
- 0x18, 0x74, 0x7e, 0xa4,
- 0x61, 0x1b, 0xbe, 0x5c, 0x5c, 0x97, 0x7c, 0xb3, 0x9e, 0x35, 0xf7, 0xb3,
- 0x25, 0x42, 0x29, 0x2e,
- 0x83, 0x4c, 0x64, 0x05, 0x05, 0x45, 0xa1, 0x14, 0xc0, 0xaf, 0x6a, 0x14,
- 0xfd, 0x10, 0x21, 0xe3,
- 0x44, 0x67, 0x8e, 0xb4, 0xb4, 0xa0, 0x06, 0x95, 0x3c, 0x3d, 0xb5, 0x95,
- 0x64, 0x05, 0x2e, 0x5a,
- 0xb1, 0x4f, 0xf0, 0xce, 0xce, 0xeb, 0x51, 0xbe, 0x6f, 0x28, 0x89, 0xbe,
- 0x86, 0x98, 0x1b, 0x67,
- 0xef, 0xc3, 0x07, 0xf9, 0xf9, 0xa5, 0x1a, 0x62, 0xe4, 0x5e, 0x43, 0x62,
- 0xce, 0x17, 0xa2, 0x9d,
- 0x82, 0xf4, 0x75, 0xb9, 0xb9, 0x93, 0xb2, 0xa1, 0x7e, 0x49, 0x8e, 0xa1,
- 0xad, 0xeb, 0xe6, 0xbd,
- 0x36, 0xa6, 0xd0, 0x7e, 0x7e, 0x70, 0xbc, 0x3b, 0x12, 0x99, 0xf5, 0x3b,
- 0xf8, 0xe2, 0xa0, 0x3f,
- 0xa3, 0x2d, 0x01, 0xe4, 0xe4, 0x7a, 0x84, 0x16, 0x61, 0x5f, 0xda, 0x16,
- 0x6f, 0xc6, 0x7b, 0x72,
- 0xaf, 0x01, 0xcd, 0xf8, 0xf8, 0xdb, 0x50, 0x66, 0x65, 0x7d, 0xe0, 0x66,
- 0x29, 0x78, 0x16, 0x7c,
- 0x88, 0xce, 0xdf, 0xab, 0xab, 0x83, 0x0c, 0xe9, 0x78, 0x7a, 0xa9, 0xe9,
- 0xc8, 0x0a, 0x5c, 0xb4,
- 0x89, 0x76, 0xce, 0x17, 0x17, 0x55, 0x1f, 0x5c, 0xc6, 0x9c, 0x4d, 0x5c,
- 0x98, 0xf1, 0x9b, 0xea,
- 0x0f, 0x27, 0xff, 0x1b, 0x1b, 0x18, 0xe1, 0x6c, 0x05, 0xcb, 0xd5, 0x6c,
- 0xb6, 0x70, 0xe7, 0xec,
- 0x1f, 0xf6, 0x2c, 0x8a, 0x8a, 0xe6, 0x12, 0x6d, 0xb4, 0xb3, 0x8d, 0x6d,
- 0xff, 0x1b, 0xca, 0x45,
- 0x42, 0x71, 0xe8, 0xba, 0xba, 0x11, 0x6c, 0xad, 0x3e, 0x2c, 0xa8, 0xad,
- 0x47, 0x5a, 0xf9, 0x5d,
- 0xf6, 0x23, 0x4d, 0x7d, 0x7d, 0xf2, 0x62, 0x37, 0x52, 0xfc, 0xd3, 0x37,
- 0x12, 0x53, 0xbf, 0xdf,
- 0xdf, 0x73, 0xb1, 0x89, 0x89, 0x64, 0xcc, 0x61, 0xf4, 0xd6, 0xab, 0x61,
- 0x15, 0xaa, 0xd5, 0xa5,
- 0x3a, 0x8a, 0x1c, 0x62, 0x62, 0xd1, 0x68, 0x4b, 0x16, 0xbb, 0xcf, 0x4b,
- 0xbe, 0x5c, 0xcd, 0x31,
- 0xc1, 0x3d, 0x8c, 0xbf, 0xbf, 0x54, 0xcd, 0xb9, 0xfe, 0x83, 0xc2, 0xb9,
- 0xba, 0x4a, 0xd8, 0xbe,
- 0x28, 0xe8, 0xed, 0x48, 0x48, 0x40, 0xbd, 0xe3, 0x18, 0xcc, 0x9c, 0xe3,
- 0x57, 0x02, 0xad, 0x24,
- 0xf1, 0x8d, 0x3a, 0xcf, 0xcf, 0x95, 0x1b, 0xba, 0xee, 0x0b, 0x2a, 0xba,
- 0x61, 0xf7, 0xaf, 0x86,
- 0xcb, 0x07, 0x26, 0xad, 0xad, 0x44, 0x73, 0xf1, 0xf8, 0xb0, 0xe5, 0xf1,
- 0xdf, 0xab, 0x62, 0xb7,
- 0x92, 0x25, 0xa6, 0x28, 0x28, 0x6d, 0x41, 0xa0, 0xcf, 0x31, 0xd6, 0xa0,
- 0xe4, 0x80, 0xcb, 0x14,
- 0x87, 0xe9, 0x20, 0xb0, 0xb0, 0x9b, 0xed, 0x85, 0x7d, 0xb1, 0x7c, 0x85,
- 0x7e, 0x7a, 0xbb, 0x58,
- 0xe7, 0x4a, 0x8f, 0x50, 0x50, 0xda, 0x82, 0x83, 0x5d, 0x62, 0x6f, 0x83,
- 0x0b, 0xc3, 0x55, 0x28,
- 0x3e, 0x2f, 0x58, 0xd7, 0xd7, 0x0f, 0x24, 0xda, 0xab, 0xa5, 0xd9, 0xda,
- 0x3d, 0x36, 0x57, 0x8a,
- 0xfa, 0x0f, 0x81, 0x61, 0x61, 0x53, 0xb6, 0x47, 0x56, 0xde, 0xe9, 0x47,
- 0x54, 0xed, 0xd2, 0xd1,
- 0x0d, 0x94, 0xdd, 0xa0, 0xa0, 0x77, 0xc7, 0xc5, 0xba, 0xc4, 0xde, 0xc5,
- 0x16, 0x45, 0xaa, 0x50,
- 0x51, 0xab, 0x08, 0x2c, 0x2c, 0x56, 0xaa, 0xb0, 0x8e, 0xbd, 0x1f, 0xb0,
- 0xfe, 0xff, 0x5e, 0x16,
- 0xb6, 0xe1, 0x87, 0x7c, 0x7c, 0x8c, 0x28, 0x33, 0xd3, 0xdf, 0x70, 0x33,
- 0xf5, 0x3c, 0x0b, 0x3e,
- 0x7b, 0xf0, 0xc7, 0xdf, 0xdf, 0x79, 0x31, 0xfa, 0x29, 0x7e, 0x88, 0xfa,
- 0x09, 0xc8, 0xbe, 0x8e,
- 0x74, 0xd7, 0x38, 0xc4, 0xc4, 0x61, 0xd0, 0x96, 0x2c, 0xb5, 0x5d, 0x96,
- 0xbf, 0xb8, 0x59, 0x62,
- 0x3f, 0x97, 0x49, 0x6b, 0x6b, 0xd9, 0x37, 0x6f, 0x15, 0x43, 0x3d, 0x6f,
- 0x6d, 0xcd, 0x90, 0xd4,
- 0x2f, 0x46, 0x9a, 0xfa, 0xfa, 0x27, 0xc4, 0x6e, 0xa4, 0x3b, 0x65, 0x6e,
- 0x24, 0xa6, 0xbd, 0x7d,
- 0x7d, 0xe6, 0xa1, 0xd1, 0xd1, 0xc8, 0x5b, 0xc2, 0x2b, 0x6f, 0x95, 0xc2,
- 0x2a, 0x97, 0x69, 0x89,
- 0xbb, 0x75, 0x5a, 0xdc, 0xdc, 0xfb, 0xef, 0xf6, 0x69, 0x1b, 0xae, 0xf6,
- 0xe3, 0x79, 0xa1, 0x6e,
- 0x49, 0xf3, 0x53, 0x14, 0x14, 0xd7, 0xc1, 0x50, 0x86, 0xf9, 0x6b, 0x50,
- 0x72, 0x40, 0x84, 0x0a,
- 0x2b, 0xe3, 0xde, 0x4f, 0x4f, 0xf9, 0x88, 0xff, 0x19, 0x25, 0x73, 0xff,
- 0xa7, 0xcc, 0x27, 0xc6,
- 0x99, 0xa7, 0x1d, 0x86, 0x86, 0xab, 0xec, 0x5d, 0x77, 0xe4, 0x15, 0x5d,
- 0xd1, 0x9a, 0xb6, 0x43,
- 0x02, 0xb3, 0x22, 0xbb, 0xbb, 0x6f, 0x26, 0xa9, 0xbf, 0x0f, 0x0b, 0xa9,
- 0xa0, 0x35, 0x4d, 0xbc,
- 0x37, 0x1e, 0xc1, 0xc2, 0xc2, 0xa6, 0xaf, 0x8e, 0xac, 0x7f, 0x11, 0x8e,
- 0xa8, 0x19, 0x67, 0x61,
- 0xb3, 0xfc, 0xd2, 0x75, 0x75, 0x84, 0x77, 0x17, 0xd0, 0x27, 0x82, 0x17,
- 0x26, 0xad, 0x56, 0xdb,
- 0x73, 0x79, 0x4f, 0x76, 0x76, 0x06, 0xa9, 0x1b, 0x90, 0x42, 0xa4, 0x1b,
- 0xcc, 0x1c, 0x49, 0x3b,
- 0x64, 0x06, 0xeb, 0x55, 0x55, 0x9f, 0x23, 0x97, 0x9d, 0xcd, 0x05, 0x97,
- 0xf6, 0xd3, 0x74, 0xcb,
- 0xdc, 0x78, 0x82, 0x8e, 0x8e, 0xdd, 0xf9, 0x7d, 0xf5, 0x3f, 0x44, 0x7d,
- 0xe5, 0x64, 0x5f, 0x47,
- 0xd8, 0xdd, 0xc6, 0x3b, 0x3b, 0x03, 0xb5, 0xec, 0x48, 0x21, 0x52, 0xec,
- 0x66, 0x0e, 0xc5, 0xfc,
- 0xc9, 0xb4, 0x04, 0x16, 0x16, 0x2b, 0x55, 0x58, 0x47, 0xbf, 0xee, 0x58,
- 0x7f, 0x9e, 0x2f, 0x0b,
- 0xab, 0xa4, 0x89, 0x4d, 0x4d, 0x05, 0x1c, 0xf7, 0xd8, 0x63, 0xf6, 0xf7,
- 0xaa, 0x12, 0x8c, 0xc7,
- 0x33, 0xbb, 0x85, 0x77, 0x77, 0x78, 0xe3, 0x1f, 0x11, 0x61, 0x07, 0x1f,
- 0x2b, 0x73, 0xfd, 0xda,
- 0x6b, 0x21, 0x14, 0x4e, 0x4e, 0x87, 0xc2, 0xfb, 0x98, 0x06, 0xd0, 0xfb,
- 0x40, 0xa3, 0x93, 0x27,
- 0xcc, 0xa9, 0x51, 0x1f, 0x1f, 0x23, 0x0a, 0x7c, 0x44, 0x47, 0x1c, 0x7c,
- 0xac, 0x0f, 0x72, 0xee,
- 0x90, 0x96, 0x84, 0x93, 0x93, 0x02, 0x67, 0x09, 0x70, 0x3e, 0xdd, 0x09,
- 0x44, 0xb5, 0x86, 0xa8,
- 0xd0, 0x54, 0x4e, 0x92, 0x92, 0x7c, 0x2d, 0x0d, 0xf1, 0x1d, 0x7e, 0x0d,
- 0xa3, 0xda, 0x32, 0x49,
- 0xac, 0x0a, 0xfe, 0xff, 0xff, 0x62, 0x65, 0x7a, 0x64, 0x94, 0x0f, 0x7a,
- 0xd9, 0xb6, 0x9c, 0x9e,
- 0xbf, 0xd0, 0x1e, 0x69, 0x69, 0x25, 0xa3, 0x67, 0xd4, 0x05, 0xb8, 0x67,
- 0x60, 0x13, 0x3b, 0xd5,
- 0xda, 0x6e, 0xe4, 0x80, 0x80, 0x6c, 0x93, 0x45, 0xf7, 0x2e, 0x59, 0x45,
- 0xc6, 0x3b, 0x88, 0x40,
- 0xa7, 0x88, 0x45, 0x51, 0x51, 0xa4, 0xc8, 0x87, 0xdc, 0x41, 0xcc, 0x87,
- 0xec, 0xac, 0xe1, 0xc9,
- 0x5e, 0x8c, 0xf7, 0x37, 0x37, 0x4e, 0x4b, 0xdc, 0x8b, 0x76, 0xca, 0xdc,
- 0x48, 0x8f, 0xb9, 0xfa,
- 0x98, 0x1f, 0x0c, 0x3a, 0x3a, 0x7d, 0xff, 0xe8, 0xc9, 0x02, 0xf1, 0xe8,
- 0x81, 0x61, 0x71, 0x1d,
- 0x7a, 0x48, 0xd6, 0x63, 0x63, 0xaf, 0x22, 0x4f, 0x97, 0x98, 0x6c, 0x4f,
- 0x59, 0x33, 0x79, 0xd0,
- 0x13, 0xda, 0xe0, 0x96, 0x96, 0x47, 0xc6, 0x1d, 0xb0, 0x91, 0xb7, 0x1d,
- 0xb9, 0xa5, 0xa7, 0x4b,
- 0x6a, 0x99, 0x05, 0xf2, 0xf2, 0x51, 0xd1, 0x4e, 0x26, 0xe0, 0x34, 0x4e,
- 0x10, 0x58, 0x54, 0x79,
- 0x40, 0xc2, 0xca, 0x01, 0x01, 0x7e, 0x4a, 0x04, 0x81, 0x23, 0xa3, 0x04,
- 0xe7, 0x6f, 0xb4, 0xe1,
- 0xa8, 0xaf, 0xba, 0x4a, 0x4a, 0xbc, 0x29, 0xeb, 0xd9, 0x8a, 0x19, 0xeb,
- 0x5a, 0xdc, 0x06, 0x25,
- 0x5b, 0x91, 0xa2, 0x3e, 0x3e, 0x46, 0x14, 0xf8, 0x88, 0x8e, 0x38, 0xf8,
- 0x9b, 0x1e, 0xe4, 0x1f,
- 0xeb, 0x66, 0x43, 0x4c, 0x4c, 0x7b, 0x56, 0xf3, 0x59, 0x40, 0x55, 0xf3,
- 0x4d, 0x7d, 0x38, 0x26,
- 0x66, 0xb5, 0xc9, 0xee, 0xee, 0xf0, 0x05, 0x3e, 0x22, 0xc2, 0x0e, 0x3e,
- 0x56, 0xe6, 0x39, 0x77,
- 0x56, 0x05, 0x7f, 0x9e, 0x9e, 0x31, 0xd3, 0x3d, 0x32, 0x4a, 0xe6, 0x3d,
- 0x8d, 0x5b, 0x4e, 0x4f,
- 0x81, 0xff, 0x46, 0xbe, 0xbe, 0x2a, 0x87, 0xbd, 0x7f, 0xa0, 0x61, 0xbd,
- 0x5d, 0x25, 0x6c, 0x5f,
- 0x77, 0xdc, 0x0b, 0xc3, 0xc3, 0xd8, 0xe5, 0x8a, 0x2d, 0x5c, 0xb2, 0x8a,
- 0x4f, 0x76, 0xd3, 0x80,
- 0x57, 0xbd, 0x6e, 0x22, 0x22, 0xe7, 0xc0, 0x88, 0x8c, 0xac, 0x02, 0x88,
- 0xdd, 0xa0, 0x89, 0x11,
- 0x4e, 0x5d, 0x24, 0xa6, 0xa6, 0xb0, 0xb8, 0xdd, 0x3a, 0x0e, 0x92, 0xdd,
- 0x01, 0xe4, 0x94, 0x53,
- 0x8d, 0xd3, 0x8a, 0xa2, 0xa2, 0x8b, 0x53, 0xcd, 0x7b, 0x82, 0x5b, 0xcd,
- 0x1b, 0x9b, 0x01, 0x51,
- 0xb0, 0xf7, 0xe1, 0x72, 0x72, 0x3d, 0x42, 0x0b, 0xd1, 0xce, 0x6d, 0x0b,
- 0xd6, 0x63, 0xdc, 0x39,
- 0xf3, 0x3e, 0x18, 0x74, 0x74, 0xfa, 0x3d, 0x13, 0x51, 0x04, 0x21, 0x13,
- 0xc1, 0xc2, 0xe2, 0x3a,
- 0x94, 0x33, 0xc0, 0x26, 0x26, 0xdc, 0x2b, 0x98, 0xcd, 0x20, 0xcb, 0x98,
- 0xc7, 0xdf, 0x1c, 0x13,
- 0x20, 0x61, 0x65, 0xe1, 0xe1, 0x3f, 0x25, 0x02, 0xa1, 0xf0, 0xb0, 0x02,
- 0x92, 0xd6, 0x5a, 0x91,
- 0x24, 0xc4, 0x21, 0x54, 0x54, 0xe1, 0x69, 0x93, 0x1c, 0xee, 0xa6, 0x93,
- 0x11, 0xbc, 0xc0, 0x2a,
- 0xd7, 0xfa, 0x39, 0x20, 0x20, 0x1b, 0x54, 0x80, 0x4d, 0xea, 0x87, 0x80,
- 0xd0, 0x7e, 0x22, 0x10,
- 0x14, 0x74, 0x97, 0x24, 0x24, 0x20, 0xbf, 0x90, 0x0c, 0x66, 0x4e, 0x90,
- 0xca, 0x01, 0xb7, 0x12,
- 0x9e, 0x09, 0x6a, 0x34, 0x34, 0xcc, 0x95, 0xd0, 0xcb, 0x13, 0xec, 0xd0,
- 0xa2, 0x3e, 0xa6, 0x1a,
- 0x05, 0x1d, 0x55, 0x09, 0x09, 0x08, 0x5f, 0x24, 0x03, 0xf8, 0xf2, 0x24,
- 0xd3, 0x91, 0x5d, 0xe5,
- 0xc6, 0x93, 0xfb, 0x0d, 0x0d, 0x33, 0xb4, 0x34, 0x42, 0x74, 0x3b, 0x34,
- 0xc9, 0xee, 0xc8, 0xe7,
- 0xed, 0x70, 0x25, 0x42, 0x42, 0xca, 0x3c, 0xcb, 0x5b, 0x51, 0x48, 0xcb,
- 0x6e, 0x22, 0xef, 0x21,
- 0xc8, 0x0c, 0x15, 0xaa, 0xaa, 0xfd, 0x46, 0xed, 0xf9, 0x59, 0x0a, 0xed,
- 0x2f, 0x65, 0xe8, 0x55,
- 0x9b, 0x14, 0x3f, 0x3d, 0x3d, 0xc4, 0xca, 0xf4, 0xc8, 0xeb, 0x1e, 0xf4,
- 0x71, 0xaf, 0xfb, 0xff,
- 0xbd, 0x63, 0x3c, 0xd2, 0xd2, 0x4a, 0x85, 0xce, 0x6b, 0x0a, 0xb3, 0xce,
- 0xc0, 0x26, 0x76, 0x69,
- 0x84, 0xe2, 0x13, 0xb7, 0xb7, 0x22, 0xd8, 0x99, 0x7c, 0x58, 0x93, 0x99,
- 0x8e, 0xb4, 0x31, 0xba,
- 0xc3, 0x8e, 0xae, 0x04, 0x04, 0x3b, 0xeb, 0x10, 0x41, 0x8c, 0xc9, 0x10,
- 0x1a, 0x7f, 0x95, 0x02,
- 0xca, 0xbf, 0x37, 0x11, 0x11, 0x92, 0x60, 0x44, 0x46, 0x56, 0x01, 0x44,
- 0x8f, 0x50, 0xa5, 0xe9,
- 0x8a, 0x7d, 0xfd, 0x10, 0x10, 0xec, 0x2a, 0x40, 0xc7, 0x75, 0xa2, 0x40,
- 0x68, 0x3f, 0x11, 0x08,
- 0x34, 0x15, 0xf2, 0xc5, 0xc5, 0x1f, 0x9a, 0x92, 0xad, 0x96, 0xfe, 0x92,
- 0x58, 0xd7, 0xed, 0x83,
- 0x26, 0x77, 0x03, 0xef, 0xef, 0x8e, 0x4f, 0x3a, 0xa3, 0xe1, 0xad, 0x3a,
- 0xb1, 0x89, 0x8d, 0x96,
- 0x10, 0xd1, 0xd3, 0x91, 0x91, 0xfe, 0xf3, 0x01, 0xb1, 0x78, 0x58, 0x01,
- 0x49, 0x6b, 0x2d, 0xa9,
- 0x25, 0x7c, 0x30, 0xe8, 0xe8, 0x37, 0x7a, 0x26, 0xa2, 0x08, 0x42, 0x26,
- 0x41, 0x47, 0x07, 0x74,
- 0xe3, 0xef, 0xcb, 0xe5, 0xe5, 0x04, 0xce, 0x12, 0xe0, 0x7c, 0x79, 0x12,
- 0x88, 0xa9, 0xcf, 0x93,
- 0x63, 0xa8, 0x9c, 0xe7, 0xe7, 0xf8, 0x5a, 0x1a, 0x21, 0x3a, 0xfc, 0x1a,
- 0x85, 0x77, 0x64, 0x92,
- 0x0a, 0x3a, 0xaa, 0x12, 0x12, 0x10, 0xbe, 0x48, 0x06, 0x33, 0x27, 0x48,
- 0x65, 0xe1, 0xba, 0x09,
- 0x4f, 0xe5, 0x35, 0x1a, 0x1a, 0x66, 0xab, 0x68, 0x84, 0xe8, 0x76, 0x68,
- 0x51, 0x1f, 0x53, 0x0d,
- 0x8b, 0xc5, 0xec, 0xac, 0xac, 0x3a, 0x39, 0xf5, 0x79, 0x93, 0x46, 0xf5,
- 0x38, 0xc4, 0xd6, 0x56,
- 0xc7, 0x2b, 0xea, 0xb1, 0xb1, 0xe5, 0xa7, 0x81, 0xfc, 0x92, 0xdf, 0x81,
- 0x99, 0x15, 0x0f, 0xb9,
- 0x67, 0x0d, 0xd8, 0x52, 0x52, 0x26, 0x16, 0x8b, 0x9c, 0x24, 0xea, 0x8b,
- 0x06, 0x1d, 0xfe, 0x29,
- 0x2d, 0xf5, 0xb8, 0x41, 0x41, 0x48, 0xe2, 0xc7, 0x1b, 0x34, 0x6e, 0xc7,
- 0x84, 0x93, 0xf0, 0xc1,
- 0xfe, 0xaa, 0xc5, 0xd4, 0xd4, 0x8d, 0xfa, 0xd6, 0xeb, 0xc0, 0xff, 0xd6,
- 0xd7, 0x87, 0x48, 0x6a,
- 0x45, 0xdf, 0x9f, 0x08, 0x08, 0x76, 0x15, 0x20, 0x82, 0xdb, 0x51, 0x20,
- 0x34, 0xfe, 0xe9, 0x04,
- 0xa0, 0x26, 0x32, 0xe3, 0xe3, 0xc3, 0xb1, 0x0a, 0x60, 0xb6, 0x35, 0x0a,
- 0x9f, 0x08, 0xf1, 0x90,
- 0x80, 0x47, 0x57, 0x02, 0x02, 0xfc, 0x94, 0x08, 0xc1, 0x46, 0x85, 0x08,
- 0x0d, 0xde, 0xab, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x4a, 0xf8, 0x60, 0x13, 0x13, 0x6e, 0xf4, 0x4c, 0x87, 0x10, 0x84, 0x4c,
- 0x82, 0x8e, 0x0e, 0xe8,
- 0xee, 0x7b, 0x16, 0x45, 0x45, 0x73, 0x09, 0xd7, 0x5a, 0xb8, 0xa7, 0xd7,
- 0x9e, 0xec, 0x65, 0xc3,
- 0x4c, 0xee, 0x06, 0x1d, 0x1d, 0xdf, 0x9e, 0x74, 0x85, 0x01, 0x99, 0x74,
- 0xa1, 0xd1, 0xd9, 0xef,
- },
- { /* 5 */
- 0xd8, 0xca, 0x20, 0x18, 0xa6, 0x5b, 0x9c, 0xaf, 0x78, 0xd9, 0x1d, 0x80,
- 0x8c, 0x85, 0x3b, 0x8c,
- 0x69, 0x10, 0x51, 0x4c, 0xc5, 0x06, 0x68, 0x18, 0xbf, 0x31, 0xb7, 0x87,
- 0xa1, 0x7c, 0xf5, 0xa1,
- 0xc0, 0xd0, 0x1b, 0x9a, 0xb0, 0x2e, 0xcd, 0xb8, 0xb7, 0xbe, 0xdf, 0x6c,
- 0x21, 0x29, 0x03, 0x21,
- 0xba, 0xff, 0xe6, 0xab, 0xa2, 0x89, 0xd9, 0x61, 0x42, 0xa1, 0xdc, 0x1e,
- 0xaa, 0x69, 0x60, 0xaa,
- 0x16, 0x4a, 0xed, 0x3d, 0x41, 0x6b, 0x5a, 0x6f, 0xc9, 0x92, 0xec, 0x32,
- 0xcd, 0xe3, 0x9f, 0xcd,
- 0x87, 0x09, 0x79, 0x52, 0xab, 0x3b, 0xd3, 0xec, 0xd9, 0x4f, 0x3c, 0x27,
- 0x0e, 0x49, 0xb0, 0x0e,
- 0x58, 0xeb, 0x32, 0xf4, 0xc7, 0x6f, 0xab, 0x7f, 0xa2, 0x0d, 0x36, 0xc8,
- 0xb2, 0x0a, 0x39, 0xb2,
- 0x59, 0x24, 0x27, 0x8b, 0xe9, 0xec, 0xca, 0x36, 0xe2, 0xff, 0xf0, 0x9c,
- 0x38, 0xe7, 0x85, 0x38,
- 0xc4, 0x6a, 0x4f, 0xa5, 0x08, 0x67, 0x8a, 0x5f, 0x74, 0xf0, 0x41, 0xff,
- 0x4c, 0x1b, 0xb6, 0x4c,
- 0x6a, 0x82, 0x6e, 0xcd, 0xb7, 0x40, 0xcb, 0xc3, 0x7f, 0xe4, 0x3e, 0x7b,
- 0xfc, 0x88, 0xf2, 0xfc,
- 0x05, 0x75, 0x41, 0x40, 0x96, 0xca, 0x26, 0xae, 0x83, 0xbc, 0x58, 0xc7,
- 0xe7, 0xdf, 0x09, 0xe7,
- 0x9a, 0x66, 0x03, 0x90, 0x2b, 0x84, 0xa4, 0x55, 0x95, 0x94, 0xa6, 0x0c,
- 0x44, 0x3a, 0x81, 0x44,
- 0x06, 0xe7, 0x7e, 0xc1, 0xe4, 0x8c, 0x85, 0x75, 0x43, 0x69, 0xd1, 0x3b,
- 0xba, 0x2b, 0x0e, 0xba,
- 0xa6, 0x5f, 0x89, 0x16, 0x0c, 0xb5, 0xcf, 0x91, 0x4e, 0x88, 0x80, 0x61,
- 0x6a, 0xf7, 0xed, 0x6a,
- 0x0d, 0xc2, 0xe9, 0x3e, 0x25, 0x58, 0xa8, 0xa3, 0xc6, 0x20, 0xa7, 0x22,
- 0x3d, 0xbb, 0xa0, 0x3d,
- 0xd1, 0xb2, 0x9d, 0x19, 0x3b, 0x4a, 0x73, 0xeb, 0x7d, 0xb7, 0x24, 0x31,
- 0xdc, 0x0c, 0x2e, 0xdc,
- 0x43, 0x63, 0x36, 0xf7, 0xa3, 0x5c, 0x59, 0xb3, 0xad, 0xbf, 0x7d, 0xd8,
- 0x42, 0x52, 0x06, 0x42,
- 0x85, 0x54, 0x53, 0xac, 0xf7, 0xfe, 0x11, 0x7e, 0x59, 0x68, 0x73, 0x8f,
- 0xd9, 0x50, 0x0b, 0xd9,
- 0x41, 0x3e, 0x1c, 0x09, 0xff, 0x99, 0x9b, 0x21, 0x2d, 0x98, 0x32, 0x70,
- 0x95, 0x4b, 0xbd, 0x95,
- 0xd2, 0x20, 0xa2, 0x98, 0x49, 0x0c, 0xd0, 0x30, 0xbd, 0x62, 0xad, 0xcd,
- 0x81, 0xf8, 0x29, 0x81,
- 0x2c, 0x94, 0x19, 0x7a, 0x82, 0xd6, 0xb4, 0xde, 0x51, 0xe7, 0x1b, 0x64,
- 0x59, 0x05, 0xfd, 0x59,
- 0xcd, 0x12, 0xf2, 0xa4, 0x95, 0x76, 0x65, 0x1b, 0x71, 0x9e, 0x78, 0x4e,
- 0x1c, 0x92, 0xa3, 0x1c,
- 0x0b, 0x25, 0x97, 0xff, 0xc1, 0xd4, 0x2d, 0xd6, 0x85, 0x49, 0x76, 0x19,
- 0x87, 0x90, 0xae, 0x87,
- 0xa2, 0xe5, 0xdd, 0x29, 0xb4, 0xfc, 0x88, 0x76, 0x8d, 0xc6, 0x1e, 0xf2,
- 0x07, 0xc5, 0x58, 0x07,
- 0x38, 0x83, 0xde, 0xb9, 0x9f, 0x78, 0x2c, 0x23, 0x18, 0x52, 0xb8, 0xfe,
- 0x43, 0xff, 0xd9, 0x43,
- 0xf7, 0xcc, 0x06, 0xe3, 0x56, 0xcb, 0x8b, 0xaa, 0xe9, 0xeb, 0x8f, 0x18,
- 0x88, 0x74, 0xc1, 0x88,
- 0x4b, 0xd4, 0x9e, 0x89, 0x10, 0xce, 0xd7, 0xbe, 0xe8, 0x23, 0x82, 0x3d,
- 0x98, 0x36, 0xaf, 0x98,
- 0xe6, 0xae, 0x80, 0x60, 0xdd, 0xaf, 0x35, 0xf9, 0x23, 0xe2, 0x74, 0x45,
- 0x75, 0x51, 0xec, 0x75,
- 0xe7, 0x61, 0x95, 0x1f, 0xf3, 0x2c, 0x54, 0xb0, 0x63, 0x10, 0xb2, 0x11,
- 0xff, 0xbc, 0x50, 0xff,
- 0x90, 0x8c, 0x81, 0x10, 0xc4, 0xd3, 0xe8, 0xca, 0x50, 0x2f, 0x16, 0x41,
- 0x49, 0x47, 0x93, 0x49,
- 0x1a, 0x47, 0x11, 0x7c, 0x4a, 0xb0, 0x93, 0x85, 0x4f, 0x40, 0x8d, 0x44,
- 0x7a, 0xb5, 0x83, 0x7a,
- 0x53, 0xce, 0xa5, 0x0b, 0x06, 0xbb, 0x86, 0xa9, 0x27, 0x44, 0x40, 0xd1,
- 0x35, 0x9a, 0x97, 0x35,
- 0xa3, 0x2a, 0xc8, 0x56, 0x9a, 0x7f, 0xe9, 0x3f, 0xcd, 0x34, 0xd8, 0xa6,
- 0x8d, 0x28, 0xe4, 0x8d,
- 0xf1, 0x2b, 0x78, 0x22, 0xb2, 0x47, 0x0e, 0xdf, 0xaa, 0x82, 0x5e, 0x23,
- 0x32, 0x5f, 0xcf, 0x32,
- 0xfd, 0x26, 0x84, 0x63, 0xb9, 0x9c, 0xc7, 0x35, 0x2c, 0x50, 0x3f, 0x55,
- 0x85, 0x09, 0xd3, 0x85,
- 0x51, 0x93, 0x8f, 0xf5, 0x5a, 0x7e, 0x44, 0x3b, 0xa7, 0x63, 0x0f, 0x79,
- 0xe2, 0x83, 0x2c, 0xe2,
- 0x29, 0xe1, 0x58, 0x3a, 0x14, 0x1c, 0x92, 0x70, 0xd2, 0x5b, 0x43, 0xa3,
- 0xbe, 0xda, 0xf4, 0xbe,
- 0x3b, 0x11, 0xe1, 0x38, 0xed, 0x3e, 0x8f, 0xf8, 0xd8, 0x87, 0x31, 0x02,
- 0x1e, 0x0b, 0xde, 0x1e,
- 0x82, 0x7c, 0x38, 0x12, 0x3d, 0xf1, 0xf5, 0x42, 0x5a, 0xf3, 0x64, 0xe0,
- 0xe9, 0x96, 0xb9, 0xe9,
- 0x67, 0x40, 0x87, 0xf3, 0x92, 0x18, 0x63, 0x60, 0xb9, 0xc4, 0x99, 0x59,
- 0xc1, 0x33, 0x52, 0xc1,
- 0x8b, 0x04, 0x85, 0x13, 0xa0, 0xe0, 0x1a, 0x06, 0x5f, 0x9d, 0x5d, 0x51,
- 0xb9, 0x1f, 0xac, 0xb9,
- 0x48, 0x46, 0xa1, 0x08, 0x62, 0x88, 0x74, 0x65, 0x28, 0xf6, 0x0b, 0xc1,
- 0xc5, 0xc2, 0xa8, 0xc5,
- 0x2a, 0x73, 0x67, 0xbb, 0x66, 0x5a, 0x31, 0xab, 0x12, 0x8e, 0xca, 0x5f,
- 0xe3, 0x2e, 0xf3, 0xe3,
- 0xef, 0xd6, 0x3d, 0x61, 0x40, 0xbe, 0xda, 0xbd, 0x26, 0x8c, 0x4d, 0xf4,
- 0x25, 0xd8, 0xf9, 0x25,
- 0x70, 0xc5, 0x7f, 0xb1, 0xfd, 0xf0, 0x58, 0x46, 0x30, 0xa4, 0xb3, 0x3f,
- 0x86, 0x3d, 0x71, 0x86,
- 0x2d, 0x5b, 0x0c, 0x05, 0xac, 0x55, 0xd5, 0x97, 0x11, 0x15, 0xdd, 0x30,
- 0xd3, 0xe8, 0x41, 0xd3,
- 0x31, 0xfb, 0x63, 0xb8, 0x02, 0x69, 0xc3, 0x67, 0x1d, 0x3c, 0x81, 0x4f,
- 0x13, 0x76, 0xcc, 0x13,
- 0xe2, 0x14, 0xd4, 0x5f, 0x65, 0xe6, 0x72, 0x1e, 0xe0, 0xac, 0xea, 0xd6,
- 0x18, 0x63, 0x59, 0x18,
- 0x86, 0xc6, 0x6c, 0x2d, 0x85, 0xb8, 0xb2, 0xa5, 0x99, 0xbd, 0xfa, 0x73,
- 0x84, 0xa4, 0x0c, 0x84,
- 0xc9, 0xa8, 0xa6, 0x9b, 0x2d, 0x3f, 0x22, 0xfc, 0xb2, 0xd0, 0xe6, 0xdd,
- 0x71, 0xa0, 0x16, 0x71,
- 0xb0, 0x15, 0x64, 0x2b, 0x4d, 0xde, 0x95, 0xfe, 0x87, 0x1a, 0x6c, 0x53,
- 0xa7, 0x14, 0x72, 0xa7,
- 0x80, 0x21, 0x12, 0xec, 0x61, 0x34, 0x37, 0xd0, 0xda, 0xd4, 0x2b, 0x48,
- 0x3e, 0x8f, 0x02, 0x3e,
- 0xf5, 0x91, 0x2c, 0x1d, 0x0a, 0x0e, 0x49, 0x38, 0x69, 0xcc, 0xc0, 0xb0,
- 0x5f, 0x6d, 0x7a, 0x5f,
- 0xfc, 0xe9, 0x91, 0x1c, 0x97, 0x1f, 0xa6, 0x7c, 0x6c, 0xa2, 0xf9, 0x01,
- 0x0f, 0xe4, 0x6f, 0x0f,
- 0x60, 0x68, 0xec, 0x4d, 0x58, 0x17, 0x87, 0x5c, 0xba, 0x5f, 0x8e, 0x36,
- 0xf1, 0xf5, 0xe0, 0xf1,
- 0x44, 0x4b, 0x5d, 0x49, 0x69, 0x53, 0xbd, 0x8f, 0xae, 0x24, 0x6a, 0xb7,
- 0x72, 0x94, 0xb4, 0x72,
- 0x0c, 0x0d, 0xfc, 0x41, 0x0b, 0xdb, 0xc9, 0xea, 0x86, 0xd2, 0x61, 0x76,
- 0xb7, 0x56, 0x1c, 0xb7,
- 0x8f, 0xbe, 0xd1, 0x2c, 0x18, 0xa9, 0x5d, 0xe1, 0x9c, 0xd3, 0xc3, 0xc2,
- 0xd4, 0x2d, 0x19, 0xd4,
- 0xa4, 0x02, 0xa3, 0xe8, 0x50, 0x70, 0x0d, 0x03, 0xce, 0xaf, 0xcf, 0xc9,
- 0xbd, 0xee, 0x56, 0xbd,
- 0x3d, 0xf6, 0x9f, 0xf9, 0x09, 0xb2, 0x0a, 0x8d, 0x9b, 0xee, 0xe0, 0x39,
- 0xa4, 0x20, 0xd0, 0xa4,
- 0x62, 0x35, 0xc6, 0xb3, 0x04, 0xd2, 0x45, 0xce, 0x3a, 0x78, 0xc1, 0x9e,
- 0x26, 0xec, 0x5b, 0x26,
- 0x35, 0x41, 0x37, 0x87, 0xba, 0x20, 0x84, 0x80, 0xde, 0x72, 0x1f, 0xdc,
- 0x7e, 0x44, 0x79, 0x7e,
- 0xe0, 0x49, 0xfe, 0xa1, 0x39, 0x23, 0xb0, 0x8c, 0x60, 0x8b, 0xa5, 0x7e,
- 0xcf, 0x7a, 0xe2, 0xcf,
- 0x68, 0xdf, 0x44, 0x33, 0xeb, 0x85, 0x09, 0x51, 0xff, 0xc3, 0x71, 0xd3,
- 0x2b, 0x91, 0x49, 0x2b,
- 0xdc, 0x70, 0x74, 0x27, 0x1e, 0x12, 0xdb, 0x48, 0xbb, 0x97, 0x83, 0x13,
- 0xe1, 0xb7, 0x8e, 0xe1,
- 0x40, 0xf1, 0x09, 0x76, 0xd1, 0x1a, 0xfa, 0x68, 0x6d, 0x6a, 0xf4, 0x24,
- 0x1f, 0xa6, 0x01, 0x1f,
- 0xa0, 0xb8, 0xf7, 0xd7, 0xe8, 0x39, 0x4a, 0xe4, 0x0d, 0xe1, 0x51, 0x5a,
- 0xd0, 0xdc, 0xe3, 0xd0,
- 0xa7, 0x90, 0x9c, 0x69, 0x22, 0x36, 0xae, 0xd8, 0x0e, 0x7a, 0x46, 0x35,
- 0xe0, 0x1a, 0x51, 0xe0,
- 0x9f, 0x13, 0x42, 0xd0, 0xbd, 0x4e, 0x82, 0xfb, 0x16, 0x28, 0xfe, 0xcb,
- 0xa3, 0xe5, 0x88, 0xa3,
- 0x2b, 0xbc, 0x72, 0xc4, 0x48, 0xd9, 0x50, 0xe2, 0x52, 0x7c, 0x0c, 0x0b,
- 0x69, 0xc3, 0x4f, 0x69,
- 0xae, 0xe8, 0x21, 0x68, 0xbf, 0x27, 0x41, 0x9c, 0x0b, 0x14, 0x7f, 0x84,
- 0xb0, 0x93, 0x44, 0xb0,
- 0x10, 0xad, 0x93, 0xfc, 0xa5, 0xe7, 0xdf, 0x1a, 0x8a, 0xfb, 0x3d, 0x09,
- 0x77, 0xc8, 0x91, 0x77,
- 0xfe, 0xb4, 0xbb, 0xe2, 0xcb, 0xda, 0x64, 0xee, 0xec, 0x85, 0xb6, 0xa9,
- 0xd8, 0xfd, 0xd4, 0xd8,
- 0xa1, 0x77, 0xe2, 0xa8, 0xc6, 0xba, 0x2b, 0xad, 0x4d, 0x13, 0x97, 0x0e,
- 0x5a, 0x31, 0x5f, 0x5a,
- 0xc7, 0xf8, 0x70, 0x24, 0x7a, 0x21, 0x29, 0x84, 0xb4, 0x25, 0xc8, 0x03,
- 0x11, 0xef, 0xb1, 0x11,
- 0x4d, 0x33, 0xe0, 0x48, 0xf4, 0x42, 0x52, 0xcb, 0xab, 0x4a, 0x53, 0x06,
- 0x22, 0x1d, 0xa1, 0x22,
- 0xaa, 0x52, 0x75, 0x57, 0x07, 0x6e, 0x06, 0x7b, 0xc8, 0x5a, 0xe1, 0x17,
- 0xdd, 0xa1, 0xf1, 0xdd,
- 0xd4, 0xc7, 0xdc, 0x59, 0xad, 0x80, 0x55, 0x45, 0xfe, 0x0b, 0x7c, 0xf6,
- 0x3b, 0xd3, 0x27, 0x3b,
- 0x42, 0xac, 0x23, 0x88, 0x8d, 0xdf, 0x38, 0xfa, 0xed, 0x4d, 0xbb, 0x8c,
- 0xc8, 0xbf, 0xba, 0xc8,
- 0x2e, 0xc9, 0x33, 0x84, 0xde, 0x13, 0x76, 0x4c, 0xd1, 0xc0, 0x54, 0xcc,
- 0x8e, 0x1c, 0x46, 0x8e,
- 0x49, 0x89, 0xb4, 0x77, 0x4c, 0x0b, 0x15, 0x2c, 0x68, 0x04, 0xcd, 0x95,
- 0x4f, 0x2f, 0x14, 0x4f,
- 0xb2, 0x48, 0x4e, 0xd5, 0x11, 0x1b, 0x57, 0x6c, 0x07, 0x3d, 0x23, 0xfb,
- 0x70, 0x0d, 0xc9, 0x70,
- 0x77, 0xed, 0x14, 0x0f, 0x37, 0xff, 0xbc, 0x7a, 0x33, 0x3f, 0xa4, 0x50,
- 0xb6, 0xfb, 0xc3, 0xb6,
- 0x39, 0x4c, 0xcb, 0xc6, 0xb1, 0xfb, 0x4d, 0x6a, 0x58, 0xa0, 0x7e, 0xaa,
- 0xc9, 0x12, 0x65, 0xc9,
- 0xad, 0x7a, 0x1e, 0xe9, 0xcd, 0x61, 0xe2, 0x47, 0xcb, 0xc1, 0xf6, 0x78,
- 0xed, 0x67, 0x43, 0xed,
- 0x20, 0x99, 0xe5, 0x3b, 0x89, 0x0d, 0x7d, 0x34, 0xd7, 0x35, 0x7a, 0x12,
- 0xee, 0x53, 0xe1, 0xee,
- 0xcf, 0x4f, 0xd8, 0x5a, 0xc9, 0xb3, 0xa7, 0x89, 0xf1, 0xb9, 0x37, 0xe6,
- 0xcb, 0x8b, 0x18, 0xcb,
- 0x64, 0xd2, 0xb8, 0x72, 0xe0, 0x5e, 0xc0, 0xbb, 0x79, 0x11, 0x10, 0xa5,
- 0x9c, 0xc7, 0x55, 0x9c,
- 0x9b, 0xa9, 0x16, 0xef, 0x05, 0x07, 0xc5, 0x1c, 0xd5, 0x66, 0x60, 0x58,
- 0xce, 0xd7, 0x3d, 0xce,
- 0xde, 0x2d, 0x5e, 0xd9, 0x42, 0xd7, 0x19, 0xda, 0x3b, 0xb0, 0xcc, 0xbb,
- 0x36, 0xae, 0x35, 0x36,
- 0x7f, 0x5a, 0xbc, 0x71, 0x84, 0x6d, 0x32, 0x77, 0x76, 0xa3, 0x5b, 0xb5,
- 0x6c, 0x9f, 0x6a, 0x6c,
- 0xa8, 0x0f, 0x5f, 0xa9, 0x5b, 0xab, 0xc4, 0xe9, 0x48, 0x7d, 0xae, 0xbf,
- 0x0a, 0xb8, 0x4a, 0x0a,
- 0xb6, 0xf2, 0x1a, 0xea, 0xa9, 0x52, 0x10, 0x8b, 0xc4, 0x73, 0xbd, 0x68,
- 0x1d, 0x3f, 0x7c, 0x1d,
- 0x5c, 0x51, 0x66, 0xcb, 0x7f, 0x26, 0xec, 0x98, 0x61, 0x43, 0xa8, 0x5b,
- 0xdf, 0x38, 0x8c, 0xdf,
- 0xa5, 0xcd, 0xb6, 0x97, 0x7e, 0xf3, 0x6c, 0x4a, 0x8e, 0x5d, 0x09, 0x9d,
- 0x37, 0x03, 0xea, 0x37,
- 0x6b, 0x4d, 0x7b, 0xb2, 0x99, 0xc3, 0xaa, 0x8a, 0x3f, 0x16, 0xf8, 0x2f,
- 0x76, 0x65, 0x4e, 0x76,
- 0xd3, 0xef, 0xb7, 0xe7, 0x67, 0x8f, 0xb1, 0x79, 0xfd, 0x90, 0x6b, 0x99,
- 0x0b, 0x15, 0x95, 0x0b,
- 0xf0, 0xe4, 0x6d, 0x5d, 0x9c, 0xc4, 0x6f, 0x96, 0xea, 0x70, 0x98, 0x77,
- 0xb8, 0xb2, 0x73, 0xb8,
- 0x5d, 0x9e, 0x73, 0xb4, 0x51, 0xa5, 0x8d, 0xd1, 0x21, 0xb1, 0x6e, 0x0f,
- 0x55, 0xd5, 0x30, 0x55,
- 0xc8, 0x67, 0xb3, 0xe4, 0x03, 0xbc, 0x43, 0xb5, 0xf2, 0x22, 0x20, 0x89,
- 0xfb, 0x4d, 0xaa, 0xfb,
- 0xc5, 0xa5, 0x5a, 0xda, 0x26, 0xe4, 0xeb, 0x16, 0x34, 0x02, 0x87, 0xab,
- 0xc6, 0xf6, 0x0a, 0xc6,
- 0xbd, 0xd7, 0x8d, 0x15, 0x68, 0x86, 0x3d, 0x5d, 0x41, 0x3a, 0xcb, 0x71,
- 0x9a, 0xaf, 0xd2, 0x9a,
- 0xc3, 0x42, 0x24, 0x1b, 0xc2, 0x68, 0x6e, 0x63, 0x77, 0x6b, 0x56, 0x90,
- 0x7c, 0xdd, 0x04, 0x7c,
- 0xe4, 0xf3, 0xaa, 0x9e, 0x81, 0x6a, 0xf7, 0x6b, 0xa3, 0xc5, 0x3b, 0xed,
- 0xa2, 0x48, 0x57, 0xa2,
- 0xaf, 0x27, 0x34, 0x17, 0x91, 0xa4, 0x20, 0xd5, 0x4b, 0xe6, 0xb9, 0xd0,
- 0x3a, 0x7e, 0xf8, 0x3a,
- 0xb8, 0xa2, 0xcc, 0x55, 0xfe, 0x4c, 0x1b, 0xf3, 0xc2, 0x86, 0x93, 0xb6,
- 0x7d, 0x70, 0xdb, 0x7d,
- 0xcb, 0xf5, 0x8c, 0x65, 0x71, 0xfa, 0xe0, 0x6e, 0x32, 0xf7, 0xa9, 0x75,
- 0xa6, 0xb9, 0xad, 0xa6,
- 0xc1, 0x1f, 0x0e, 0xe5, 0x9e, 0xad, 0xac, 0xf1, 0xf7, 0x4c, 0x19, 0x38,
- 0xab, 0xc4, 0xbf, 0xab,
- 0xb5, 0x60, 0x25, 0x6b, 0xdb, 0x14, 0xb3, 0x50, 0x04, 0xa6, 0x34, 0x94,
- 0x40, 0xcb, 0x7b, 0x40,
- 0x6f, 0xf7, 0x2f, 0x8d, 0x21, 0x8a, 0xed, 0x6d, 0xfc, 0x58, 0x66, 0xbc,
- 0x1b, 0x57, 0xfb, 0x1b,
- 0x4c, 0xfc, 0xf5, 0x37, 0xda, 0xc1, 0x33, 0x82, 0xeb, 0xb8, 0x95, 0x52,
- 0xa8, 0xf0, 0x1d, 0xa8,
- 0x97, 0xa4, 0xea, 0xae, 0x0e, 0xdc, 0x0c, 0xf6, 0x53, 0xb4, 0x01, 0x2e,
- 0x79, 0x81, 0x21, 0x79,
- 0x88, 0x96, 0xba, 0x92, 0xd2, 0xa6, 0xb9, 0xdd, 0x9f, 0x48, 0xd4, 0xad,
- 0xe4, 0xeb, 0xab, 0xe4,
- 0x61, 0xa7, 0xf9, 0x32, 0x76, 0x94, 0xe6, 0x15, 0xfa, 0xad, 0x48, 0x62,
- 0x7b, 0x18, 0x5c, 0x7b,
- 0x57, 0x74, 0xf1, 0x34, 0xbe, 0xf2, 0xc1, 0x4e, 0xe4, 0x0a, 0xde, 0x42,
- 0x58, 0xa8, 0x22, 0x58,
- 0x11, 0x62, 0x86, 0x83, 0x8b, 0x64, 0xbe, 0x53, 0xca, 0x09, 0xfb, 0x5d,
- 0xfd, 0x25, 0x2d, 0xfd,
- 0x99, 0xf4, 0x3c, 0x11, 0x59, 0xc2, 0x07, 0x8e, 0x55, 0x41, 0x2f, 0xf0,
- 0x19, 0xce, 0x86, 0x19,
- 0x72, 0x98, 0x55, 0x4f, 0xa1, 0x35, 0x9a, 0xd4, 0xb0, 0x83, 0xfc, 0x97,
- 0x51, 0x24, 0xca, 0x51,
- 0x83, 0xb3, 0x2d, 0x6d, 0x13, 0x72, 0x94, 0x0b, 0x1a, 0x01, 0xa2, 0xb4,
- 0x63, 0x7b, 0x05, 0x63,
- 0xbf, 0x8a, 0xa7, 0xeb, 0x34, 0x43, 0xff, 0xcf, 0xc1, 0x1d, 0x84, 0xd9,
- 0x4d, 0xb6, 0x69, 0x4d,
- 0x55, 0x29, 0xdb, 0xca, 0xe2, 0x37, 0x03, 0xdc, 0x64, 0x2d, 0x91, 0xea,
- 0x8f, 0xb1, 0x99, 0x8f,
- 0x73, 0x57, 0x40, 0x30, 0x8f, 0xb6, 0xfb, 0x9d, 0xf0, 0x71, 0x3a, 0xc3,
- 0xdb, 0xc9, 0x76, 0xdb,
- 0x9d, 0x4e, 0x68, 0x2e, 0xe1, 0x8b, 0x40, 0x69, 0x96, 0x0f, 0xb1, 0x63,
- 0x74, 0xfc, 0x33, 0x74,
- 0x81, 0xee, 0x07, 0x93, 0x4f, 0xb7, 0x56, 0x99, 0x9a, 0x26, 0xed, 0x1c,
- 0xb4, 0x62, 0xbe, 0xb4,
- 0x3f, 0xab, 0xb5, 0x07, 0x55, 0x77, 0xc8, 0x1f, 0x1b, 0xc9, 0xaf, 0x91,
- 0x73, 0x39, 0x6b, 0x73,
- 0xb3, 0x87, 0x5b, 0xaa, 0x3f, 0x98, 0x36, 0x25, 0x47, 0xcf, 0xe5, 0xaf,
- 0xfa, 0xe0, 0x75, 0xfa,
- 0xbb, 0x30, 0xf3, 0xd4, 0x8c, 0x0a, 0xb8, 0x28, 0x02, 0x53, 0x1a, 0x4a,
- 0x20, 0x84, 0xdc, 0x20,
- 0xd6, 0x9a, 0xf6, 0xa7, 0xf1, 0x45, 0x97, 0xd7, 0x7e, 0x2c, 0x33, 0x5e,
- 0xec, 0xca, 0x9c, 0xec,
- 0xea, 0xa3, 0x7c, 0x21, 0xd6, 0x74, 0xfc, 0x13, 0xa5, 0x30, 0x15, 0x33,
- 0xc2, 0x07, 0xf0, 0xc2,
- 0x25, 0xec, 0xa4, 0x7b, 0x1f, 0xc7, 0x5b, 0x9a, 0x54, 0x89, 0x22, 0xd5,
- 0x09, 0x8c, 0xe8, 0x09,
- 0xce, 0x80, 0xcd, 0x25, 0xe7, 0x30, 0xc6, 0xc0, 0xb1, 0x4b, 0xf1, 0xb2,
- 0x41, 0x66, 0xa4, 0x41,
- 0x63, 0xfa, 0xd3, 0xcc, 0x2a, 0x51, 0x24, 0x87, 0x7a, 0x8a, 0x07, 0xca,
- 0xac, 0x01, 0xe7, 0xac,
- 0x45, 0x84, 0x48, 0x36, 0x47, 0xd0, 0xdc, 0xc6, 0xee, 0xd6, 0xac, 0xe3,
- 0xf8, 0x79, 0x08, 0xf8,
- 0x32, 0x69, 0x5c, 0x39, 0x70, 0x2f, 0x60, 0xbc, 0xdd, 0xe9, 0x08, 0xb3,
- 0x4e, 0x82, 0xcb, 0x4e,
- 0xd7, 0x55, 0xe3, 0xd8, 0xdf, 0xc6, 0xf6, 0x9e, 0x3e, 0xde, 0xf5, 0x0a,
- 0x66, 0x27, 0x20, 0x66,
- 0x9e, 0xdc, 0x57, 0xaf, 0x93, 0xcd, 0xe3, 0xb2, 0x56, 0xda, 0x38, 0x9f,
- 0x29, 0x08, 0x34, 0x29,
- 0x08, 0xb7, 0xa8, 0x7e, 0xb3, 0x92, 0x8e, 0x0d, 0x45, 0x9c, 0xff, 0xe5,
- 0xda, 0x64, 0xa9, 0xda,
- 0x8d, 0xe3, 0xfb, 0xd2, 0x44, 0x6c, 0x9f, 0x73, 0x1c, 0xf4, 0x8c, 0x6a,
- 0x03, 0x34, 0xa2, 0x03,
- 0x79, 0xbd, 0xc2, 0xb0, 0x60, 0xe1, 0xb7, 0x02, 0x35, 0xca, 0x8a, 0x8e,
- 0xd6, 0xb4, 0x64, 0xd6,
- 0xab, 0x9d, 0x60, 0x28, 0x29, 0xed, 0x67, 0x32, 0x88, 0xa8, 0x27, 0x43,
- 0x57, 0x4c, 0x4d, 0x57,
- 0x36, 0xd3, 0x08, 0x06, 0xc8, 0x66, 0x27, 0x5b, 0x1e, 0xa7, 0x96, 0x20,
- 0x23, 0xb0, 0x7e, 0x23,
- 0xfb, 0xc1, 0xfa, 0xa2, 0x5d, 0x10, 0x42, 0x40, 0x6f, 0x39, 0xee, 0x6e,
- 0x3f, 0x22, 0xdd, 0x3f,
- 0xec, 0x44, 0x02, 0xe0, 0x32, 0xf8, 0x79, 0x66, 0xe6, 0x59, 0xc4, 0x08,
- 0x78, 0x2c, 0xfe, 0x78,
- 0x4e, 0xa1, 0xdf, 0xc9, 0x86, 0x04, 0xf1, 0x10, 0x6b, 0x9f, 0xda, 0xfa,
- 0x7f, 0xe9, 0xa6, 0x7f,
- 0x7e, 0x95, 0xa9, 0x0e, 0xaa, 0xee, 0x53, 0x3e, 0x36, 0x51, 0x9d, 0xe1,
- 0xe6, 0x72, 0xd6, 0xe6,
- 0xd0, 0x7d, 0x88, 0x66, 0x15, 0xc9, 0x12, 0xa2, 0x3d, 0x45, 0xe2, 0x65,
- 0x56, 0xe1, 0x92, 0x56,
- 0x6c, 0x65, 0x10, 0x0c, 0x53, 0xcc, 0x4e, 0xb6, 0x3c, 0x8d, 0xef, 0x40,
- 0x46, 0xa3, 0xfc, 0x46,
- 0xf3, 0x76, 0x52, 0xdc, 0xee, 0x82, 0xcc, 0x4d, 0x2a, 0xa5, 0x11, 0x8b,
- 0xe5, 0x46, 0x74, 0xe5,
- 0x5f, 0xc3, 0x59, 0x4a, 0x0d, 0x60, 0x4f, 0x43, 0xa1, 0x96, 0x21, 0xa7,
- 0x82, 0xcc, 0x8b, 0x82,
- 0xff, 0x7b, 0xae, 0x9d, 0xe5, 0x59, 0x05, 0xa7, 0xac, 0x77, 0x70, 0xfd,
- 0x52, 0x10, 0x68, 0x52,
- 0x8a, 0xcb, 0x90, 0x6c, 0x8e, 0x63, 0x7b, 0x4f, 0x1f, 0x6f, 0x9b, 0x05,
- 0x33, 0xf2, 0x10, 0x33,
- 0x56, 0xbb, 0xe4, 0x4b, 0x90, 0x71, 0xa0, 0x07, 0xa4, 0xf8, 0x18, 0x16,
- 0xd2, 0x45, 0x9e, 0xd2,
- 0xdd, 0xbf, 0x61, 0x58, 0x30, 0x91, 0xba, 0x01, 0xfb, 0x65, 0x45, 0x47,
- 0x6b, 0x5a, 0x32, 0x6b,
- 0xb4, 0xaf, 0x30, 0x14, 0xf5, 0x97, 0xd2, 0x19, 0x44, 0x54, 0xf2, 0xc0,
- 0xca, 0x26, 0xc7, 0xca,
- 0x04, 0xba, 0x54, 0x3f, 0xb8, 0x49, 0x47, 0xe7, 0xc3, 0x4e, 0x9e, 0x93,
- 0x6d, 0x32, 0xb5, 0x6d,
- 0xbe, 0x45, 0xb2, 0x94, 0x1a, 0xc0, 0x9e, 0x86, 0x81, 0xef, 0x42, 0x8d,
- 0xc7, 0x5b, 0xd5, 0xc7,
- 0x1b, 0x88, 0x04, 0x03, 0x64, 0x33, 0xf2, 0xcc, 0x0f, 0xb2, 0x4b, 0x10,
- 0xf0, 0x58, 0x3f, 0xf0,
- 0x9c, 0x81, 0x7d, 0x51, 0xcf, 0x08, 0x21, 0x20, 0xd6, 0xfd, 0x77, 0x37,
- 0xfe, 0x11, 0x8f, 0xfe,
- 0x5e, 0x0c, 0x4c, 0x35, 0x23, 0xe3, 0x2e, 0x0a, 0xe1, 0x64, 0xe7, 0xf3,
- 0x08, 0x21, 0x37, 0x08,
- 0x07, 0x28, 0x6b, 0xbe, 0xca, 0x0f, 0xe4, 0x3c, 0x03, 0x9b, 0x17, 0x6f,
- 0x30, 0xc6, 0xb2, 0x30,
- 0x8c, 0x2c, 0xee, 0xad, 0x6a, 0xef, 0xfe, 0x3a, 0x5c, 0x06, 0x4a, 0x3e,
- 0x89, 0xd9, 0x1e, 0x89,
- 0x0f, 0x9f, 0xc3, 0xc0, 0x79, 0x9d, 0x6a, 0x31, 0x46, 0x07, 0xe8, 0x8a,
- 0xea, 0xa2, 0x1b, 0xea,
- 0x6d, 0xaa, 0x05, 0x73, 0x7d, 0x4f, 0x2f, 0xff, 0x7c, 0x7f, 0x29, 0x14,
- 0xcc, 0x4e, 0x40, 0xcc,
- 0xf4, 0x5e, 0x39, 0x62, 0x24, 0x8d, 0x28, 0x71, 0x29, 0x3e, 0x06, 0xe4,
- 0xd5, 0x80, 0xc6, 0xd5,
- 0x26, 0x7e, 0x9b, 0xfa, 0x6d, 0x81, 0xf8, 0x41, 0x94, 0x5c, 0xab, 0x29,
- 0x54, 0x78, 0xef, 0x54,
- 0x71, 0x0a, 0x6a, 0xce, 0xd3, 0x73, 0x39, 0x0f, 0x70, 0x56, 0x75, 0x6b,
- 0x0c, 0xd0, 0xcd, 0x0c,
- 0x1c, 0xa0, 0x6f, 0xbd, 0xae, 0x3c, 0x16, 0xf0, 0x0c, 0x29, 0x5c, 0x7f,
- 0xc0, 0x9e, 0x8d, 0xc0,
- 0x94, 0x36, 0xd5, 0x2f, 0x7c, 0x9a, 0xaf, 0x2d, 0x93, 0x61, 0x88, 0xd2,
- 0x24, 0x75, 0x26, 0x24,
- 0x22, 0xc4, 0xcf, 0xc5, 0xd5, 0xc8, 0xbf, 0xa6, 0x57, 0x12, 0x35, 0xba,
- 0x39, 0x4a, 0x5a, 0x39,
- 0xeb, 0x6c, 0x69, 0x5e, 0xf8, 0xf7, 0x9d, 0x5a, 0xe5, 0xc2, 0xd3, 0x67,
- 0x48, 0xea, 0x4c, 0x48,
- 0xbc, 0x18, 0x98, 0x6a, 0x46, 0x05, 0x5c, 0x14, 0x01, 0xc8, 0x0d, 0x25,
- 0x10, 0x42, 0x6e, 0x10,
- 0x3c, 0x39, 0x8a, 0x86, 0x27, 0x31, 0x6b, 0xc4, 0xdb, 0x1c, 0x26, 0x6d,
- 0x2e, 0xcd, 0x6c, 0x2e,
- 0x15, 0xd8, 0xd2, 0xbc, 0x33, 0x2d, 0xf9, 0xb4, 0x09, 0x47, 0x65, 0xce,
- 0x90, 0x17, 0x98, 0x90,
- 0xe9, 0x31, 0x43, 0xa0, 0xa4, 0x32, 0x5f, 0xc8, 0x65, 0xe5, 0x9c, 0xcf,
- 0x9f, 0xf3, 0xf7, 0x9f,
- 0x02, 0x5d, 0x2a, 0xfe, 0x5c, 0xc5, 0xc2, 0x92, 0x80, 0x27, 0x4f, 0xa8,
- 0xd7, 0x19, 0xbb, 0xd7,
- 0x46, 0x16, 0x77, 0xb7, 0x35, 0x96, 0x7f, 0x1d, 0x2e, 0x03, 0x25, 0x1f,
- 0xa5, 0x8d, 0x0f, 0xa5,
- 0xda, 0x97, 0x0a, 0xe6, 0xfa, 0x9e, 0x5e, 0x3d, 0xf8, 0xfe, 0x52, 0x28,
- 0x5b, 0x9c, 0x80, 0x5b,
- 0x19, 0xd5, 0x2e, 0xfd, 0x38, 0xf6, 0x30, 0x5e, 0x8f, 0x95, 0x04, 0xb8,
- 0x27, 0x41, 0x84, 0x27,
- 0xdb, 0x58, 0x1f, 0x99, 0xd4, 0x1d, 0x3f, 0x74, 0xb8, 0x0c, 0x94, 0x7c,
- 0xd1, 0x71, 0x3c, 0xd1,
- 0x1e, 0xfd, 0x45, 0x43, 0xf2, 0xf9, 0xd4, 0x62, 0x8c, 0x0e, 0x13, 0xd7,
- 0x17, 0x87, 0x36, 0x17,
- 0x17, 0x85, 0xf8, 0x42, 0x6f, 0xe8, 0x3b, 0x26, 0x89, 0x60, 0x2a, 0x66,
- 0x47, 0x0e, 0x23, 0x47,
- 0x4a, 0x1b, 0x8b, 0xf6, 0x3e, 0x4d, 0xb6, 0xf7, 0xa8, 0xd1, 0x44, 0x69,
- 0x12, 0xdb, 0x13, 0x12,
- 0x0a, 0xea, 0x82, 0x80, 0xef, 0x57, 0x4c, 0x9f, 0xc5, 0xbb, 0xb0, 0x4d,
- 0x0d, 0x7d, 0x12, 0x0d,
- 0xd9, 0x05, 0x35, 0x67, 0x88, 0xd8, 0xfd, 0xe6, 0x38, 0x2b, 0xdb, 0xd4,
- 0x06, 0x68, 0x87, 0x06,
- 0x89, 0x59, 0xaf, 0xed, 0xfc, 0x25, 0xd8, 0x94, 0xdf, 0xba, 0x12, 0xf9,
- 0x6e, 0x06, 0x17, 0x6e,
- 0x78, 0x72, 0xd7, 0xcf, 0x4e, 0x62, 0xd6, 0x4b, 0x75, 0x38, 0x4c, 0xda,
- 0x5c, 0x59, 0xd8, 0x5c,
- 0x76, 0x22, 0x01, 0x70, 0x19, 0x7c, 0xdd, 0x33, 0x73, 0xcd, 0x62, 0x04,
- 0x3c, 0x16, 0x7f, 0x3c,
- 0x27, 0xb1, 0x8e, 0x85, 0x43, 0x02, 0x99, 0x08, 0xd4, 0xae, 0x6d, 0x7d,
- 0xde, 0x95, 0x53, 0xde,
- 0x18, 0x1a, 0x3b, 0x82, 0x16, 0x75, 0x51, 0x17, 0xcf, 0x67, 0xc2, 0xec,
- 0xad, 0xac, 0x38, 0xad,
- 0x23, 0x0b, 0xda, 0xba, 0xfb, 0x4b, 0xde, 0xef, 0x17, 0xe0, 0xf3, 0xee,
- 0xb3, 0xa7, 0xe6, 0xb3,
- 0xf2, 0xb9, 0x47, 0xa3, 0xc0, 0x01, 0xad, 0x04, 0x6a, 0x57, 0xd7, 0xdf,
- 0x6f, 0xab, 0xc8, 0x6f,
- 0x95, 0xf9, 0xc0, 0x50, 0x52, 0x19, 0xce, 0x64, 0xd3, 0x93, 0x4e, 0x86,
- 0xae, 0x98, 0x9a, 0xae,
- 0xd5, 0x08, 0xc9, 0x26, 0x83, 0x03, 0x34, 0x0c, 0xbe, 0xf9, 0xba, 0xa2,
- 0xb1, 0x3e, 0x9b, 0xb1,
- 0xa9, 0xc0, 0x4a, 0xd6, 0x75, 0x28, 0xa5, 0xa0, 0x08, 0x8f, 0x68, 0xeb,
- 0x80, 0x55, 0xf6, 0x80,
- 0x84, 0x9b, 0x46, 0xd3, 0xd9, 0x7d, 0x70, 0x37, 0x19, 0x9a, 0xb5, 0xdb,
- 0x53, 0xbd, 0xb7, 0x53,
- 0xe1, 0x86, 0xeb, 0xde, 0x17, 0xa0, 0xd1, 0xc5, 0x20, 0x79, 0x63, 0x2a,
- 0x45, 0x97, 0x5e, 0x45,
- 0x1d, 0x6f, 0x7a, 0xc2, 0x80, 0xbf, 0x77, 0xb9, 0x4c, 0xdb, 0x9a, 0x2b,
- 0x4a, 0x73, 0x31, 0x4a,
- 0x93, 0x1e, 0xbe, 0x91, 0xb6, 0x95, 0x4b, 0x11, 0x90, 0xfa, 0x9f, 0xbd,
- 0x14, 0xb3, 0x94, 0x14,
- 0x28, 0x2e, 0x4d, 0x45, 0x3a, 0x9f, 0xf3, 0x39, 0x92, 0xa9, 0x85, 0xf7,
- 0x34, 0x37, 0x48, 0x34,
- 0xc6, 0x37, 0x65, 0x5b, 0x54, 0xa2, 0x48, 0xcd, 0xf4, 0xd7, 0x0e, 0x57,
- 0x9b, 0x02, 0x0d, 0x9b,
- 0x7b, 0xe0, 0xe8, 0x4e, 0x3c, 0x24, 0x75, 0x90, 0xb5, 0xed, 0xc5, 0x26,
- 0x01, 0xad, 0xdf, 0x01,
- 0x65, 0x1d, 0xad, 0x0d, 0xce, 0xdd, 0xa1, 0xf2, 0x39, 0xe3, 0xd6, 0xf1,
- 0x16, 0x2a, 0xe9, 0x16,
- 0x75, 0xb0, 0x3e, 0xf1, 0x6b, 0x3a, 0x7e, 0xe8, 0xb3, 0x18, 0xeb, 0xf8,
- 0x61, 0xe2, 0x78, 0x61,
- 0x7c, 0xc8, 0x83, 0xf0, 0xf6, 0x2b, 0x91, 0xac, 0xb6, 0x76, 0xd2, 0x49,
- 0x31, 0x6b, 0x6d, 0x31,
- 0xe3, 0xdb, 0xc1, 0x20, 0x4b, 0x65, 0x13, 0x57, 0xa0, 0x5e, 0x2c, 0x82,
- 0x92, 0x8e, 0xe5, 0x92,
- 0xee, 0x19, 0x28, 0x1e, 0x6e, 0x3d, 0xbb, 0xf4, 0x66, 0x7e, 0x8b, 0xa0,
- 0xaf, 0x35, 0x45, 0xaf,
- 0x21, 0x56, 0xf0, 0x44, 0xa7, 0x8e, 0x1c, 0x7d, 0x97, 0xc7, 0xbc, 0x46,
- 0x64, 0xbe, 0x5d, 0x64,
- 0x8e, 0x71, 0xc4, 0x53, 0x36, 0x2a, 0x3c, 0xa8, 0xdc, 0x21, 0x05, 0x96,
- 0x5e, 0xc0, 0xa5, 0x5e,
- 0xf9, 0x9c, 0xd0, 0x5c, 0x01, 0xd5, 0x80, 0xd2, 0xef, 0x1e, 0xa1, 0xc6,
- 0xe8, 0x3b, 0x66, 0xe8,
- 0x01, 0xcf, 0x15, 0x7f, 0x2e, 0x83, 0x61, 0x49, 0x40, 0xf2, 0xc6, 0x54,
- 0x8a, 0xed, 0xbc, 0x8a,
- 0x5b, 0x79, 0x0d, 0x75, 0xb5, 0x29, 0x08, 0xa4, 0x62, 0xd8, 0xbf, 0x34,
- 0xef, 0xfe, 0x3e, 0xef,
- 0x91, 0x43, 0x94, 0x6f, 0xea, 0x50, 0x89, 0x83, 0x10, 0xdd, 0xd0, 0x15,
- 0xc3, 0xaa, 0x2f, 0xc3,
- 0x14, 0x17, 0xc7, 0xc3, 0x1d, 0xae, 0x98, 0xfd, 0x49, 0xb5, 0xa3, 0x9a,
- 0x1a, 0xfa, 0x24, 0x1a,
- 0x7a, 0x2f, 0xfd, 0x31, 0x12, 0xa7, 0x14, 0xd9, 0xf5, 0x1f, 0x03, 0x72,
- 0x8b, 0x40, 0x63, 0x8b,
- 0xf6, 0x03, 0x13, 0x9c, 0x78, 0x48, 0xea, 0xe3, 0xa9, 0x19, 0x49, 0x4c,
- 0x02, 0x99, 0x7d, 0x02,
- 0xb1, 0xda, 0x71, 0x54, 0x63, 0x5d, 0xf4, 0xb7, 0xc7, 0xe8, 0xaa, 0x07,
- 0x2d, 0xf9, 0xce, 0x2d,
- 0xb7, 0x3d, 0x0f, 0x95, 0x87, 0xd1, 0x71, 0xc2, 0x84, 0x81, 0x7b, 0x3c,
- 0x97, 0xd2, 0xc0, 0x97,
- 0xca, 0x3a, 0x99, 0x1a, 0x5f, 0x79, 0x81, 0x27, 0x72, 0x05, 0x6f, 0x21,
- 0x2c, 0x54, 0x11, 0x2c,
- 0x5a, 0xb6, 0x18, 0x0a, 0x9b, 0xaa, 0x69, 0xed, 0x22, 0x2a, 0x79, 0x60,
- 0x65, 0x13, 0x82, 0x65,
- 0xf8, 0x53, 0xc5, 0x23, 0x2f, 0x56, 0xe1, 0x9b, 0xaf, 0xec, 0x67, 0x92,
- 0x62, 0xd6, 0xda, 0x62,
- 0xcc, 0xdd, 0xe7, 0xdb, 0xbb, 0xf5, 0x04, 0x52, 0x31, 0x6c, 0xbe, 0x1a,
- 0x96, 0x7f, 0x1f, 0x96,
- 0x47, 0xd9, 0x62, 0xc8, 0x1b, 0x15, 0x1e, 0x54, 0x6e, 0xf1, 0xe3, 0x4b,
- 0x2f, 0x60, 0xb3, 0x2f,
- 0x96, 0x6b, 0xff, 0xd1, 0x20, 0x5f, 0x6d, 0xbf, 0x13, 0x46, 0xc7, 0x7a,
- 0xf3, 0x6c, 0x9d, 0xf3,
- 0x6e, 0x38, 0x3a, 0xf2, 0x0f, 0x09, 0x8c, 0x24, 0xbc, 0xaa, 0xa0, 0xe8,
- 0x91, 0xba, 0x47, 0x91,
- 0x13, 0x3f, 0xac, 0x7d, 0xd7, 0xa1, 0x7c, 0xc1, 0x4a, 0x2e, 0xb4, 0xf5,
- 0x2a, 0x3c, 0x96, 0x2a,
- 0x24, 0x23, 0xb1, 0x04, 0x31, 0x44, 0x3a, 0xd3, 0x14, 0x7b, 0xe4, 0x81,
- 0x83, 0x61, 0x54, 0x83,
- 0x74, 0x7f, 0x2b, 0x8e, 0x45, 0xb9, 0x1f, 0xa1, 0xf3, 0xea, 0x2d, 0xac,
- 0xeb, 0x0f, 0xc4, 0xeb,
- 0x09, 0x78, 0xbd, 0x01, 0x9d, 0x11, 0xef, 0x44, 0x05, 0x6e, 0x39, 0xb1,
- 0x50, 0x89, 0x15, 0x50,
- 0x03, 0x92, 0x3f, 0x81, 0x72, 0x46, 0xa3, 0xdb, 0xc0, 0xd5, 0x89, 0xfc,
- 0x5d, 0xf4, 0x07, 0x5d,
- 0x30, 0x34, 0x76, 0xc7, 0x2c, 0xea, 0xa2, 0x2e, 0x5d, 0xce, 0x47, 0x1b,
- 0x99, 0x9b, 0x70, 0x99,
- 0x50, 0x5c, 0x9a, 0x8a, 0x74, 0xfd, 0x25, 0x72, 0xe7, 0x91, 0xc9, 0x2d,
- 0x68, 0x6e, 0x90, 0x68,
- 0x4f, 0x6e, 0xca, 0xb6, 0xa8, 0x87, 0x90, 0x59, 0x2b, 0x6d, 0x1c, 0xae,
- 0xf5, 0x04, 0x1a, 0xf5,
- 0x0e, 0x50, 0xd6, 0xbf, 0x57, 0x1e, 0x0b, 0x78, 0x06, 0xf5, 0x2e, 0xde,
- 0x60, 0x4f, 0xa7, 0x60,
- 0x7d, 0x07, 0x96, 0x8f, 0xd8, 0xa8, 0xf0, 0xe5, 0xf6, 0x84, 0x14, 0x1d,
- 0xbb, 0x86, 0xd1, 0xbb,
- 0xb9, 0x6d, 0xd9, 0x2a, 0xd0, 0xcf, 0x7a, 0xba, 0x82, 0x74, 0x55, 0xe2,
- 0xf7, 0x9d, 0x67, 0xf7,
- 0x37, 0x1c, 0x1d, 0x79, 0xe6, 0xe5, 0x46, 0x12, 0x5e, 0x55, 0x50, 0x74,
- 0xa9, 0x5d, 0xc2, 0xa9,
- 0x54, 0xe6, 0xce, 0xb5, 0xcc, 0xb4, 0x62, 0x95, 0x24, 0xdf, 0x57, 0xbe,
- 0x05, 0x5c, 0x25, 0x05,
- 0x1f, 0x32, 0x50, 0x3c, 0xdc, 0x7a, 0xb5, 0x2b, 0xcc, 0xfc, 0xd5, 0x83,
- 0x9d, 0x6a, 0x8a, 0x9d,
- 0xc2, 0x8d, 0x31, 0x64, 0xec, 0xeb, 0x0f, 0x2a, 0x37, 0x99, 0x90, 0xc4,
- 0xf6, 0x30, 0xb8, 0xf6,
- 0x33, 0xa6, 0x49, 0x46, 0x5e, 0xac, 0x01, 0xf5, 0x9d, 0x1b, 0xce, 0xe7,
- 0xc4, 0x6f, 0x77, 0xc4,
- 0x3a, 0xde, 0xf4, 0x47, 0xc3, 0xbd, 0xee, 0xb1, 0x98, 0x75, 0xf7, 0x56,
- 0x94, 0xe6, 0x62, 0x94,
- 0xe5, 0x3c, 0xbf, 0xe1, 0xaf, 0xe9, 0x96, 0x22, 0xe3, 0x37, 0xfd, 0xb9,
- 0x28, 0xa5, 0xeb, 0x28,
- 0xe8, 0xfe, 0x56, 0xdf, 0x8a, 0xb1, 0x3e, 0x81, 0x25, 0x17, 0x5a, 0x9b,
- 0x15, 0x1e, 0x4b, 0x15,
- 0x12, 0xf0, 0xb9, 0x02, 0xf9, 0x22, 0x1d, 0x88, 0x0a, 0xdc, 0x72, 0xa1,
- 0xa0, 0xd1, 0x2a, 0xa0,
- 0x92, 0xd1, 0xab, 0xee, 0x98, 0x16, 0x2a, 0x58, 0xd0, 0x08, 0x59, 0xe9,
- 0x9e, 0x5e, 0x28, 0x9e,
- 0xac, 0xb5, 0x0b, 0x96, 0xe3, 0xe2, 0x83, 0x0e, 0x8b, 0x33, 0x30, 0x2c,
- 0x67, 0x8a, 0xff, 0x67,
- 0x34, 0x8e, 0x22, 0xf8, 0x94, 0xa3, 0xe5, 0xc9, 0x9e, 0x80, 0xd9, 0x88,
- 0xf4, 0xa9, 0xc5, 0xf4,
- 0x52, 0x01, 0xb0, 0x74, 0x28, 0x38, 0xe7, 0xe0, 0x67, 0xb6, 0x86, 0x85,
- 0xbf, 0x77, 0x2b, 0xbf,
- 0xed, 0x8b, 0x17, 0x9f, 0x1c, 0x7b, 0x18, 0x2f, 0xa6, 0xab, 0x02, 0x5c,
- 0xf2, 0xc1, 0x42, 0xf2,
- 0xfa, 0x0e, 0xef, 0xdd, 0x73, 0x93, 0x23, 0x09, 0x2f, 0xcb, 0x28, 0x3a,
- 0xb5, 0xcf, 0x61, 0xb5,
- 0x98, 0x3b, 0x29, 0x6e, 0x77, 0x41, 0x66, 0xc7, 0x15, 0xb3, 0xe9, 0xa4,
- 0x93, 0x23, 0x3a, 0x93,
- 0xdf, 0xe2, 0x4b, 0xa6, 0x6c, 0x54, 0x78, 0x93, 0x7b, 0x42, 0x0a, 0xef,
- 0xbc, 0x43, 0x89, 0xbc,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x66, 0x8f, 0x92, 0x8c, 0xbc, 0x9b, 0x02, 0x29, 0xf9, 0x36, 0x5f, 0x0d,
- 0x4b, 0xde, 0xee, 0x4b,
- 0x2f, 0x06, 0x26, 0xfb, 0xf0, 0x90, 0x17, 0x05, 0x91, 0x32, 0x92, 0x98,
- 0x04, 0xf1, 0xfa, 0x04,
- 0x3e, 0x64, 0xa0, 0x78, 0x7b, 0xf4, 0xa9, 0x56, 0x5b, 0x3b, 0x69, 0xc5,
- 0xf9, 0xd4, 0xd7, 0xf9,
- },
- { /* 6 */
- 0x51, 0x8b, 0xc0, 0x48, 0x41, 0xdb, 0x9d, 0x79, 0x04, 0x5b, 0xb3, 0x42,
- 0x6e, 0xe5, 0x18, 0xc6,
- 0x33, 0xea, 0x25, 0x27, 0xfa, 0x81, 0x30, 0xe7, 0xa3, 0x06, 0xf7, 0x12,
- 0x65, 0x8f, 0x4c, 0x36,
- 0xa4, 0x98, 0x5a, 0x40, 0x48, 0x42, 0xb3, 0xc9, 0x3b, 0x2e, 0x19, 0xca,
- 0x9c, 0x04, 0x9a, 0x9d,
- 0x67, 0xeb, 0x11, 0xd7, 0x14, 0x97, 0xc2, 0x59, 0x6c, 0x89, 0xa6, 0x39,
- 0x6b, 0x80, 0xab, 0x4b,
- 0x0a, 0xd7, 0x2b, 0xb3, 0x9d, 0x59, 0xde, 0x4d, 0x55, 0x6b, 0x07, 0xd2,
- 0xc0, 0x17, 0x3d, 0xb5,
- 0xe7, 0x33, 0xd5, 0x7d, 0x3a, 0x1c, 0x1b, 0x11, 0xa6, 0x3b, 0x18, 0xa1,
- 0xf1, 0xc2, 0x52, 0x20,
- 0x28, 0xda, 0xac, 0x89, 0x31, 0xa7, 0xfe, 0xf7, 0x97, 0x6f, 0x1c, 0xce,
- 0x86, 0x5c, 0xf4, 0x91,
- 0x1a, 0xcc, 0xd2, 0x37, 0xe8, 0x70, 0x6c, 0x44, 0xdd, 0xec, 0x60, 0xc1,
- 0x42, 0x8e, 0x8b, 0x80,
- 0x6c, 0xc0, 0x61, 0xfd, 0xaa, 0x98, 0xbe, 0x40, 0xd0, 0x67, 0x2a, 0xf6,
- 0x0a, 0xca, 0xa5, 0xd9,
- 0x65, 0xd0, 0xa7, 0x26, 0x52, 0x3b, 0x45, 0xf1, 0x7d, 0x40, 0x73, 0x03,
- 0xea, 0x3a, 0xcd, 0x05,
- 0xfa, 0x4e, 0x45, 0x03, 0x3b, 0x0d, 0x9f, 0x3a, 0xa1, 0xca, 0x4f, 0x33,
- 0x52, 0x1c, 0x40, 0x55,
- 0xe8, 0x6e, 0x0a, 0x76, 0x08, 0x88, 0xaa, 0x9b, 0x38, 0x84, 0xfd, 0x1a,
- 0x51, 0x3f, 0x90, 0x2e,
- 0xac, 0x74, 0xc7, 0x02, 0x93, 0xb7, 0xea, 0x2c, 0x7f, 0x8c, 0xcb, 0x22,
- 0xdd, 0xa9, 0xc1, 0x66,
- 0x5a, 0xa0, 0xb0, 0x62, 0xff, 0xd4, 0xe1, 0x60, 0xb8, 0xb5, 0x3f, 0x8d,
- 0x0f, 0xaf, 0x16, 0x54,
- 0xa9, 0xfe, 0x33, 0xba, 0x3c, 0x7a, 0x85, 0xeb, 0xb4, 0x58, 0x29, 0x4b,
- 0xbd, 0x43, 0x3e, 0xdd,
- 0x30, 0x2d, 0xc8, 0x4f, 0x9f, 0x7b, 0x15, 0x1b, 0x5b, 0x4a, 0xa9, 0x35,
- 0x45, 0x68, 0x19, 0x5f,
- 0x8b, 0xf3, 0xb4, 0x80, 0x90, 0x84, 0xa5, 0x51, 0x76, 0x5c, 0x32, 0x57,
- 0xfb, 0x08, 0xf7, 0xf9,
- 0x83, 0x1f, 0x29, 0xc2, 0x4b, 0x71, 0xfc, 0xb4, 0x32, 0xfe, 0xe0, 0xbf,
- 0xba, 0xa5, 0xac, 0x02,
- 0xef, 0xdf, 0x48, 0x3f, 0xe1, 0xe9, 0x42, 0xf4, 0xe2, 0x99, 0xca, 0x49,
- 0xb0, 0x6f, 0x09, 0xdb,
- 0x66, 0x17, 0x4a, 0x4e, 0x37, 0xc1, 0x60, 0x0d, 0x85, 0x0c, 0x2d, 0x24,
- 0xca, 0xdd, 0x98, 0x6c,
- 0x14, 0x6d, 0x56, 0xa5, 0xf9, 0xb2, 0x7f, 0x9a, 0xaa, 0xd6, 0x0e, 0x67,
- 0x43, 0x2e, 0x7a, 0xa9,
- 0x0d, 0x66, 0x69, 0xfa, 0x74, 0x38, 0x36, 0x22, 0x8f, 0x76, 0x30, 0x81,
- 0x21, 0x47, 0xa4, 0x40,
- 0x05, 0x8a, 0xf4, 0xb8, 0xaf, 0xcd, 0x6f, 0xc7, 0xcb, 0xd4, 0xe2, 0x69,
- 0x60, 0xea, 0xff, 0xbb,
- 0x92, 0xf8, 0x8b, 0xdf, 0x1d, 0x0e, 0xec, 0xe9, 0x53, 0xfc, 0x0c, 0xb1,
- 0x99, 0x61, 0x29, 0x10,
- 0x7a, 0x96, 0x81, 0xa9, 0x15, 0x86, 0x46, 0x72, 0x6b, 0x78, 0xf1, 0xab,
- 0xc8, 0x5e, 0xb9, 0x3e,
- 0x13, 0xdc, 0x14, 0xec, 0x10, 0xd3, 0x97, 0xf5, 0x70, 0xcb, 0x39, 0x34,
- 0xa2, 0x7e, 0xe3, 0x5c,
- 0xd8, 0x43, 0xc2, 0x39, 0x97, 0xf3, 0xbf, 0x80, 0x63, 0xce, 0x54, 0x2f,
- 0x14, 0x57, 0x89, 0x71,
- 0x87, 0x69, 0x86, 0xe3, 0xc7, 0xea, 0x31, 0x27, 0x10, 0xaf, 0x89, 0xcb,
- 0x7b, 0x12, 0x60, 0x9e,
- 0xb5, 0x7f, 0xf8, 0x5d, 0x1e, 0x3d, 0xa3, 0x94, 0x5a, 0x2c, 0xf5, 0xc4,
- 0xbf, 0xc0, 0x1f, 0x8f,
- 0xdf, 0xf2, 0x80, 0x70, 0x7e, 0x92, 0x57, 0xef, 0xb9, 0xd3, 0x63, 0x7c,
- 0xf5, 0x07, 0x10, 0x84,
- 0x91, 0x3f, 0x66, 0xb7, 0x78, 0xf4, 0xc9, 0x15, 0xab, 0xb0, 0x52, 0x96,
- 0xb9, 0x86, 0x7c, 0x79,
- 0x2d, 0x50, 0x58, 0x31, 0x9e, 0x6a, 0x91, 0x30, 0x5c, 0xbb, 0xfe, 0xa7,
- 0xe6, 0xb6, 0x0b, 0x2a,
- 0xa0, 0xee, 0xf5, 0x61, 0xc4, 0xd9, 0x7e, 0x5a, 0x19, 0x7f, 0x70, 0xbe,
- 0x5d, 0xb3, 0x56, 0x01,
- 0xbf, 0xa8, 0xd3, 0xee, 0x83, 0x64, 0x7d, 0xd9, 0x0f, 0x47, 0xf2, 0x16,
- 0x7f, 0xd7, 0x22, 0x3a,
- 0x24, 0x40, 0x9e, 0xea, 0x66, 0xc9, 0x6a, 0x81, 0xf1, 0x9c, 0xa7, 0x52,
- 0x06, 0x46, 0x63, 0xf6,
- 0x49, 0x7c, 0xa4, 0x8e, 0xef, 0x07, 0x76, 0x95, 0xc8, 0x7e, 0x06, 0xb9,
- 0xad, 0xd1, 0xf5, 0x08,
- 0xee, 0x23, 0x13, 0xa6, 0xc2, 0xbf, 0xe0, 0xa0, 0x0b, 0x1c, 0x41, 0x54,
- 0x11, 0x32, 0x3a, 0xfc,
- 0x2c, 0xac, 0x03, 0xa8, 0xbd, 0x3c, 0x33, 0x64, 0xb5, 0x3e, 0x75, 0xba,
- 0x47, 0xeb, 0x38, 0x0d,
- 0x1d, 0x7d, 0x90, 0x7e, 0x01, 0x11, 0x84, 0x2b, 0x07, 0xf1, 0x57, 0x92,
- 0xa3, 0xde, 0x12, 0x75,
- 0xcc, 0x2e, 0x94, 0x9c, 0x6e, 0x41, 0xc0, 0x1a, 0xc9, 0x18, 0x5a, 0x48,
- 0x57, 0x79, 0xf3, 0xd8,
- 0x7c, 0xdb, 0x98, 0x79, 0xdf, 0xb1, 0x0c, 0x49, 0x58, 0xe0, 0x4d, 0xe5,
- 0x88, 0x53, 0x13, 0xec,
- 0x8e, 0x79, 0x40, 0x38, 0x3f, 0x49, 0xca, 0x96, 0xbd, 0x88, 0xd0, 0x3e,
- 0x9b, 0xe2, 0x08, 0x42,
- 0xb8, 0x19, 0x91, 0xa7, 0x6a, 0x05, 0x95, 0xb6, 0xd5, 0x5a, 0xc5, 0x45,
- 0x9e, 0x87, 0xbb, 0xcf,
- 0xe6, 0xcf, 0x8e, 0xe4, 0x19, 0x4a, 0xb9, 0x45, 0x4f, 0xbe, 0x93, 0xbc,
- 0x50, 0x9f, 0x61, 0x07,
- 0xf4, 0xef, 0xc1, 0x91, 0x2a, 0xcf, 0x8c, 0xe4, 0xd6, 0xf0, 0x21, 0x95,
- 0x53, 0xbc, 0xb1, 0x7c,
- 0x26, 0x7b, 0x28, 0x1b, 0x20, 0x65, 0xed, 0x29, 0xe0, 0x55, 0x72, 0x68,
- 0x87, 0xfc, 0x05, 0xb8,
- 0x1b, 0x30, 0x89, 0xae, 0xcb, 0x26, 0xce, 0x10, 0x34, 0x69, 0xeb, 0xdc,
- 0xe3, 0xd3, 0xb8, 0xa7,
- 0x4f, 0x31, 0xbd, 0x5e, 0x25, 0x30, 0x3c, 0xae, 0xfb, 0xe6, 0xba, 0xf7,
- 0xed, 0xdc, 0x5f, 0xda,
- 0xd5, 0x25, 0xab, 0xc3, 0xe3, 0xcb, 0x89, 0xa2, 0xec, 0xb8, 0x64, 0xae,
- 0x35, 0x10, 0x2d, 0x31,
- 0xc5, 0x3e, 0x52, 0x47, 0x96, 0xe2, 0x3b, 0xab, 0x64, 0x3f, 0x03, 0xbd,
- 0xb7, 0x89, 0x9b, 0x04,
- 0x50, 0x77, 0x9b, 0xd1, 0x62, 0x8d, 0x3f, 0x2d, 0xed, 0xde, 0x38, 0x5f,
- 0xcf, 0xb8, 0x2b, 0xe1,
- 0x79, 0x51, 0x6c, 0xc1, 0x70, 0x7c, 0x63, 0x8e, 0x93, 0x34, 0xaf, 0x8c,
- 0xe8, 0xb9, 0xec, 0x57,
- 0x77, 0xf0, 0xe8, 0x53, 0x61, 0xbe, 0x70, 0x50, 0xe4, 0x0e, 0xc1, 0x2a,
- 0xe9, 0x19, 0x1d, 0x7e,
- 0x16, 0x56, 0xe0, 0x54, 0xbf, 0x1e, 0xf8, 0x32, 0xbb, 0x1f, 0xdb, 0x5d,
- 0xc2, 0x94, 0x1c, 0xe7,
- 0x52, 0x4c, 0x2d, 0x20, 0x24, 0x21, 0xb8, 0x85, 0xfc, 0x17, 0xed, 0x65,
- 0x4e, 0x02, 0x4d, 0xaf,
- 0x15, 0x91, 0x0d, 0x3c, 0xda, 0xe4, 0xdd, 0xce, 0x43, 0x53, 0x85, 0x7a,
- 0xe2, 0x73, 0x49, 0x8e,
- 0x9b, 0xe8, 0x4d, 0x04, 0xe5, 0xad, 0x17, 0x58, 0xfe, 0xdb, 0x55, 0x44,
- 0x79, 0x91, 0x41, 0xcc,
- 0xb4, 0x83, 0xa3, 0xc4, 0x3d, 0x6b, 0x01, 0xc0, 0xb3, 0xa9, 0x7e, 0xd9,
- 0x1e, 0x9d, 0x2c, 0xa8,
- 0x3e, 0x8c, 0x4c, 0xdd, 0x8e, 0xb9, 0x06, 0xc5, 0x2c, 0x70, 0xc7, 0x93,
- 0x44, 0xc8, 0xe8, 0x76,
- 0x80, 0xd8, 0xc4, 0xaa, 0x2e, 0x8b, 0xd9, 0x48, 0xca, 0xb2, 0xbe, 0x98,
- 0x9a, 0x42, 0xf9, 0x6b,
- 0x36, 0x60, 0xd1, 0x9f, 0x55, 0x4c, 0x5f, 0x20, 0x68, 0xd2, 0x15, 0x7b,
- 0x05, 0x65, 0xb3, 0x8d,
- 0xd3, 0x68, 0xb2, 0x13, 0x29, 0xfc, 0xc3, 0x99, 0xdf, 0x20, 0xd8, 0xe0,
- 0x75, 0x1d, 0x87, 0xe3,
- 0x2b, 0x1d, 0x41, 0xe1, 0x54, 0x5d, 0xdb, 0x0b, 0x6f, 0x23, 0x42, 0xe9,
- 0xa6, 0xbb, 0xa1, 0xf8,
- 0x01, 0xfc, 0x5b, 0x99, 0x23, 0x56, 0xa2, 0x54, 0xe9, 0x85, 0x8b, 0x1d,
- 0xa1, 0x5d, 0x33, 0x27,
- 0x99, 0xd3, 0xfb, 0xf5, 0xa3, 0x01, 0x90, 0xf0, 0xef, 0x12, 0x80, 0x7e,
- 0xf8, 0x2b, 0x27, 0x82,
- 0xdd, 0xc9, 0x36, 0x81, 0x38, 0x3e, 0xd0, 0x47, 0xa8, 0x1a, 0xb6, 0x46,
- 0x74, 0xbd, 0x76, 0xca,
- 0xf6, 0xd4, 0x77, 0x60, 0x6c, 0x63, 0x0b, 0x4c, 0xc7, 0x39, 0xf4, 0xaf,
- 0xd2, 0x06, 0xd7, 0x32,
- 0x68, 0xb6, 0xce, 0xdc, 0x26, 0x03, 0x73, 0xd3, 0xf2, 0x36, 0x43, 0x82,
- 0xcb, 0x7d, 0x69, 0x45,
- 0x12, 0x20, 0x4f, 0x75, 0x33, 0x85, 0x35, 0xa1, 0x99, 0x4e, 0xb2, 0x29,
- 0x03, 0x23, 0xd0, 0x7b,
- 0x8a, 0x0f, 0xef, 0x19, 0xb3, 0xd2, 0x07, 0x05, 0x9f, 0xd9, 0xb9, 0x4a,
- 0x5a, 0x55, 0xc4, 0xde,
- 0x09, 0x10, 0xc6, 0xdb, 0xf8, 0xa3, 0xfb, 0xb1, 0xad, 0x27, 0x59, 0xf5,
- 0xe0, 0xf0, 0x68, 0xdc,
- 0xa6, 0xa3, 0xec, 0xb1, 0x0e, 0xee, 0x34, 0x61, 0x2a, 0xe7, 0xcc, 0xf0,
- 0x1d, 0xbe, 0xfc, 0xd3,
- 0x72, 0x7a, 0x1c, 0xeb, 0xce, 0x73, 0x1f, 0x97, 0x2f, 0xda, 0x23, 0x43,
- 0x89, 0xf3, 0xe2, 0xc5,
- 0xc4, 0xc2, 0x09, 0xde, 0xb5, 0xb4, 0x99, 0xff, 0x8d, 0xba, 0x88, 0xa0,
- 0x16, 0xd4, 0xa8, 0x23,
- 0x3a, 0xfa, 0xe3, 0xfc, 0x02, 0x22, 0xcb, 0x56, 0x0e, 0x21, 0xae, 0xe7,
- 0x85, 0x7f, 0x24, 0xea,
- 0x74, 0x37, 0x05, 0x3b, 0x04, 0x44, 0x55, 0xac, 0x1c, 0x42, 0x9f, 0x0d,
- 0xc9, 0xfe, 0x48, 0x17,
- 0xc1, 0x48, 0xfd, 0x66, 0x1a, 0x79, 0xf6, 0x38, 0x46, 0x6e, 0x6a, 0xc9,
- 0x76, 0x3e, 0x57, 0x98,
- 0xca, 0x63, 0x8d, 0x4c, 0xa4, 0x76, 0x8a, 0x21, 0xfa, 0x80, 0xe6, 0x06,
- 0x17, 0x74, 0x59, 0x0a,
- 0xb9, 0xe5, 0xca, 0x3e, 0x49, 0x53, 0x37, 0xe2, 0x3c, 0xdf, 0x4e, 0x58,
- 0x3f, 0xda, 0x88, 0xe8,
- 0x70, 0x41, 0xaa, 0x1a, 0x88, 0xdf, 0x98, 0x3f, 0x3e, 0x13, 0xf6, 0x79,
- 0x08, 0x49, 0x84, 0x8b,
- 0xbc, 0x6f, 0x3e, 0x86, 0xe6, 0x9e, 0x58, 0x25, 0xf7, 0x0b, 0xac, 0x31,
- 0x5f, 0x30, 0x77, 0x53,
- 0x34, 0x5b, 0x67, 0x6e, 0x13, 0xe0, 0xd8, 0x88, 0x79, 0x1b, 0xc0, 0x41,
- 0x84, 0xdf, 0xd5, 0xc3,
- 0x6a, 0x8d, 0x78, 0x2d, 0x60, 0xaf, 0xf4, 0x7b, 0xe3, 0xff, 0x96, 0xb8,
- 0x4a, 0xc7, 0x0f, 0x0b,
- 0x48, 0x80, 0xff, 0x17, 0xcc, 0x51, 0xd4, 0xc1, 0x21, 0xfb, 0x8d, 0xa4,
- 0x0c, 0x8c, 0xc6, 0x2f,
- 0x5f, 0x2a, 0x44, 0xda, 0x50, 0x19, 0x8e, 0xa7, 0x73, 0x61, 0xdd, 0xe4,
- 0x6f, 0x45, 0xe9, 0xef,
- 0x8f, 0x85, 0x1b, 0xa1, 0x1c, 0x1f, 0x68, 0xc2, 0x54, 0x0d, 0x5b, 0x23,
- 0x3a, 0xbf, 0x3b, 0x65,
- 0x69, 0x4a, 0x95, 0x45, 0x05, 0x55, 0xd1, 0x87, 0x1b, 0xb3, 0xc8, 0x9f,
- 0x6a, 0x20, 0x5a, 0x62,
- 0x9a, 0x14, 0x16, 0x9d, 0xc6, 0xfb, 0xb5, 0x0c, 0x17, 0x5e, 0xde, 0x59,
- 0xd8, 0xcc, 0x72, 0xeb,
- 0xda, 0x78, 0x74, 0xc8, 0xd1, 0x5f, 0x38, 0x28, 0x72, 0x07, 0x81, 0x15,
- 0x95, 0xed, 0xef, 0x3f,
- 0xfd, 0xff, 0x07, 0x4a, 0xd2, 0x6c, 0x77, 0x55, 0x7b, 0xd7, 0x78, 0x60,
- 0xb3, 0x4c, 0xd9, 0xa0,
- 0x39, 0x3d, 0x0e, 0x94, 0x67, 0xd8, 0xee, 0xaa, 0xf6, 0x6d, 0xf0, 0xc0,
- 0xa5, 0x98, 0x71, 0x83,
- 0xa5, 0x64, 0x01, 0xd9, 0x6b, 0x14, 0x11, 0x9d, 0xd2, 0xab, 0x92, 0xd7,
- 0x3d, 0x59, 0xa9, 0xba,
- 0xfc, 0x03, 0x5c, 0xd3, 0xf1, 0x3a, 0xd5, 0x01, 0x92, 0x52, 0xf3, 0x7d,
- 0x12, 0x11, 0xea, 0x87,
- 0xe0, 0x82, 0x97, 0x34, 0xd3, 0x7d, 0xf3, 0x7e, 0x7c, 0x26, 0x2f, 0xf2,
- 0x10, 0x92, 0xcb, 0xd5,
- 0x0c, 0x9a, 0x32, 0x63, 0x57, 0x6e, 0x94, 0x76, 0x66, 0xf3, 0xbb, 0x9c,
- 0x80, 0x1a, 0x97, 0x67,
- 0x57, 0xc6, 0xd9, 0x98, 0x8b, 0xec, 0xd7, 0x42, 0x37, 0xc3, 0x0f, 0x0c,
- 0x2e, 0xe8, 0xb2, 0x14,
- 0x54, 0x01, 0x34, 0xf0, 0xee, 0x16, 0xf2, 0xbe, 0xcf, 0x8f, 0x51, 0x2b,
- 0x0e, 0x0f, 0xe7, 0x7d,
- 0x8d, 0xbe, 0xad, 0x50, 0x5a, 0xb3, 0xef, 0x6a, 0x45, 0xc4, 0x8e, 0x19,
- 0xbb, 0x05, 0x5d, 0x2b,
- 0xd2, 0x94, 0xe9, 0x8a, 0x0a, 0xaa, 0x61, 0xcd, 0x36, 0xa5, 0x53, 0xfd,
- 0xd4, 0x40, 0xb4, 0xc4,
- 0xf7, 0x28, 0x2c, 0xf9, 0x4f, 0x35, 0xa9, 0x18, 0x2e, 0xbc, 0x7f, 0xb2,
- 0x73, 0x5b, 0xe4, 0x15,
- 0x5e, 0xd6, 0x1f, 0x43, 0x73, 0x4f, 0x2c, 0xf3, 0x9a, 0xe4, 0x56, 0xf9,
- 0xce, 0x18, 0xda, 0xc8,
- 0xf9, 0x89, 0xa8, 0x6b, 0x5e, 0xf7, 0xba, 0xc6, 0x59, 0x86, 0x11, 0x14,
- 0x72, 0xfb, 0x15, 0x3c,
- 0xf2, 0xa2, 0xd8, 0x41, 0xe0, 0xf8, 0xc6, 0xdf, 0xe5, 0x68, 0x9d, 0xdb,
- 0x13, 0xb1, 0x1b, 0xae,
- 0xe3, 0x45, 0x7a, 0x5c, 0xb6, 0x87, 0xd6, 0x82, 0x84, 0x6a, 0x71, 0xd5,
- 0x30, 0x75, 0x9e, 0xbc,
- 0x3b, 0x06, 0xb8, 0x65, 0x21, 0x74, 0x69, 0x02, 0xe7, 0xa4, 0x25, 0xfa,
- 0x24, 0x22, 0x17, 0xcd,
- 0x03, 0xc7, 0xed, 0x68, 0x65, 0xfa, 0x25, 0xfc, 0xf8, 0x4c, 0x5e, 0x27,
- 0x20, 0xe7, 0x55, 0x69,
- 0xa1, 0x12, 0xae, 0xf8, 0xe7, 0x8f, 0xdc, 0x0e, 0xf0, 0xfa, 0xfb, 0xa3,
- 0xfc, 0xee, 0x65, 0x26,
- 0x96, 0x8e, 0x24, 0xfe, 0x91, 0x95, 0x21, 0x7a, 0x71, 0xad, 0x65, 0xc5,
- 0x58, 0xd6, 0xe5, 0x8c,
- 0xaa, 0x39, 0xde, 0xd2, 0x59, 0x80, 0xa0, 0x17, 0x4c, 0x14, 0x77, 0x6c,
- 0x9d, 0xa4, 0x6b, 0xb4,
- 0x9f, 0x9e, 0xe2, 0x25, 0x69, 0x36, 0xda, 0xcb, 0xdc, 0x8a, 0x3c, 0x30,
- 0xb8, 0x26, 0x8d, 0x50,
- 0x46, 0x21, 0x7b, 0x85, 0xdd, 0x93, 0xc7, 0x1f, 0x56, 0xc1, 0xe3, 0x02,
- 0x0d, 0x2c, 0x37, 0x06,
- 0x41, 0x90, 0x39, 0xcc, 0x34, 0xf2, 0x2f, 0x70, 0x8c, 0xdc, 0xd4, 0x51,
- 0xec, 0x7c, 0xae, 0xf3,
- 0x2a, 0xe1, 0x1a, 0x78, 0x77, 0x0b, 0x79, 0x5f, 0x86, 0xa6, 0xc9, 0xf4,
- 0x07, 0xe6, 0x92, 0xdf,
- 0x60, 0x5a, 0x53, 0x9e, 0xfd, 0xf6, 0x2a, 0x36, 0xb6, 0x94, 0x91, 0x6a,
- 0x8a, 0xd0, 0x32, 0xbe,
- 0xe5, 0x08, 0x63, 0x8c, 0x7c, 0xb0, 0x9c, 0xb9, 0xb7, 0xf2, 0xcd, 0x9b,
- 0x70, 0x78, 0x34, 0x6e,
- 0x94, 0xb5, 0x92, 0x0f, 0xd7, 0x39, 0xa6, 0xd2, 0x60, 0x64, 0xb0, 0xff,
- 0xd9, 0x6c, 0x83, 0xc2,
- 0xbe, 0x54, 0x88, 0x77, 0xa0, 0x32, 0xdf, 0x8d, 0xe6, 0xc2, 0x79, 0x0b,
- 0xde, 0x8a, 0x11, 0x1d,
- 0x90, 0xc3, 0x3d, 0x2e, 0x5b, 0xa2, 0x6b, 0x41, 0x42, 0x35, 0xd9, 0x8b,
- 0x18, 0xdb, 0x4f, 0x5e,
- 0x2f, 0x6b, 0xee, 0xc0, 0xd8, 0xc6, 0x16, 0x98, 0x4d, 0x72, 0x2b, 0x9d,
- 0x67, 0x0c, 0x6d, 0x64,
- 0x9d, 0xa5, 0x54, 0xd4, 0x2f, 0x9a, 0x5d, 0x63, 0xcd, 0x43, 0xe9, 0x0a,
- 0x39, 0x9c, 0xeb, 0x1e,
- 0x81, 0x24, 0x9f, 0x33, 0x0d, 0xdd, 0x7b, 0x1c, 0x23, 0x37, 0x35, 0x85,
- 0x3b, 0x1f, 0xca, 0x4c,
- 0xa2, 0xd5, 0x43, 0x90, 0x82, 0x75, 0xf9, 0xf2, 0x08, 0xb6, 0xa5, 0x84,
- 0xdc, 0x09, 0x30, 0x4f,
- 0x76, 0x0c, 0xb3, 0xca, 0x42, 0xe8, 0xd2, 0x04, 0x0d, 0x8b, 0x4a, 0x37,
- 0x48, 0x44, 0x2e, 0x59,
- 0x4b, 0x47, 0x12, 0x7f, 0xa9, 0xab, 0xf1, 0x3d, 0xd9, 0xb7, 0xd3, 0x83,
- 0x2c, 0x6b, 0x93, 0x46,
- 0xe4, 0xf4, 0x38, 0x15, 0x5f, 0xe6, 0x3e, 0xed, 0x5e, 0x77, 0x46, 0x86,
- 0xd1, 0x25, 0x07, 0x49,
- 0x06, 0x4d, 0x19, 0xd0, 0xca, 0x37, 0x4a, 0x3b, 0x33, 0x98, 0xbc, 0x4e,
- 0x40, 0x0d, 0xaa, 0xd2,
- 0x55, 0xfd, 0x6f, 0x69, 0xcd, 0x40, 0x50, 0xea, 0x26, 0x0a, 0xda, 0x36,
- 0xaf, 0x52, 0xd4, 0x5a,
- 0xae, 0x4f, 0x71, 0xf3, 0xd5, 0x1b, 0x6d, 0x84, 0x6e, 0x45, 0x1e, 0x18,
- 0x5c, 0x13, 0xa7, 0x28,
- 0x1c, 0x81, 0xcb, 0xe7, 0x22, 0x47, 0x26, 0x7f, 0xee, 0x74, 0xdc, 0x8f,
- 0x02, 0x83, 0x21, 0x52,
- 0x75, 0xcb, 0x5e, 0xa2, 0x27, 0x12, 0xf7, 0xf8, 0xf5, 0xc7, 0x14, 0x10,
- 0x68, 0xa3, 0x7b, 0x30,
- 0x5b, 0x5c, 0xeb, 0xfb, 0xdc, 0x82, 0x43, 0x34, 0x51, 0x30, 0xb4, 0x90,
- 0xae, 0xf2, 0x25, 0x73,
- 0x04, 0x76, 0xaf, 0x21, 0x8c, 0x9b, 0xcd, 0x93, 0x22, 0x51, 0x69, 0x74,
- 0xc1, 0xb7, 0xcc, 0x9c,
- 0x27, 0x87, 0x73, 0x82, 0x03, 0x33, 0x4f, 0x7d, 0x09, 0xd0, 0xf9, 0x75,
- 0x26, 0xa1, 0x36, 0x9f,
- 0x4d, 0x0a, 0x0b, 0xaf, 0x63, 0x9c, 0xbb, 0x06, 0xea, 0x2f, 0x6f, 0xcd,
- 0x6c, 0x66, 0x39, 0x94,
- 0x9c, 0x59, 0x0f, 0x4d, 0x0c, 0xcc, 0xff, 0x37, 0x24, 0xc6, 0x62, 0x17,
- 0x98, 0xc1, 0xd8, 0x39,
- 0x20, 0x36, 0x31, 0xcb, 0xea, 0x52, 0xa7, 0x12, 0xd3, 0xcd, 0xce, 0x26,
- 0xc7, 0xf1, 0xaf, 0x6a,
- 0x53, 0xb0, 0x76, 0xb9, 0x07, 0x77, 0x1a, 0xd1, 0x15, 0x92, 0x66, 0x78,
- 0xef, 0x5f, 0x7e, 0x88,
- 0xd0, 0xaf, 0x5f, 0x7b, 0x4c, 0x06, 0xe6, 0x65, 0x27, 0x6c, 0x86, 0xc7,
- 0x55, 0xfa, 0xd2, 0x8a,
- 0x95, 0x49, 0xc9, 0x96, 0xf4, 0x6f, 0x04, 0x86, 0x89, 0xe1, 0x3b, 0xe2,
- 0x78, 0x31, 0xb0, 0xe5,
- 0xf3, 0x5e, 0x83, 0xd8, 0xc3, 0xae, 0x64, 0x8b, 0x0c, 0xed, 0x16, 0xc6,
- 0xb2, 0xec, 0x28, 0x89,
- 0x85, 0x52, 0x30, 0x12, 0x81, 0x46, 0xb6, 0x8f, 0x01, 0x66, 0x5c, 0xf1,
- 0xfa, 0xa8, 0x06, 0xd0,
- 0x88, 0x34, 0x59, 0xe8, 0xf5, 0x7e, 0x80, 0xad, 0x8e, 0x10, 0x6c, 0x70,
- 0xdb, 0xef, 0xa2, 0x90,
- 0xb0, 0xf5, 0x0c, 0xe5, 0xb1, 0xf0, 0xcc, 0x53, 0x91, 0xf8, 0x17, 0xad,
- 0xdf, 0x2a, 0xe0, 0x34,
- 0x22, 0x0d, 0x87, 0x3a, 0xac, 0xfe, 0x20, 0xba, 0xc2, 0x04, 0x1b, 0x1c,
- 0x46, 0x4b, 0xc9, 0x24,
- 0x0b, 0x2b, 0x70, 0x2a, 0xbe, 0x0f, 0x7c, 0x19, 0xbc, 0xee, 0x8c, 0xcf,
- 0x61, 0x4a, 0x0e, 0x92,
- 0x02, 0x3b, 0xb6, 0xf1, 0x46, 0xac, 0x87, 0xa8, 0x11, 0xc9, 0xd5, 0x3a,
- 0x81, 0xba, 0x66, 0x4e,
- 0xc9, 0xa4, 0x60, 0x24, 0xc1, 0x8c, 0xaf, 0xdd, 0x02, 0xcc, 0xb8, 0x21,
- 0x37, 0x93, 0x0c, 0x63,
- 0xdb, 0x84, 0x2f, 0x51, 0xf2, 0x09, 0x9a, 0x7c, 0x9b, 0x82, 0x0a, 0x08,
- 0x34, 0xb0, 0xdc, 0x18,
- 0xb6, 0xb8, 0x15, 0x35, 0x7b, 0xc7, 0x86, 0x68, 0xa2, 0x60, 0xab, 0xe3,
- 0x9f, 0x27, 0x4a, 0xe6,
- 0x40, 0x6c, 0x62, 0x55, 0x17, 0xa4, 0x8d, 0x24, 0x65, 0x59, 0x5f, 0x4c,
- 0x4d, 0x21, 0x9d, 0xd4,
- 0x4e, 0xcd, 0xe6, 0xc7, 0x06, 0x66, 0x9e, 0xfa, 0x12, 0x63, 0x31, 0xea,
- 0x4c, 0x81, 0x6c, 0xfd,
- 0xd7, 0x1e, 0x1d, 0x32, 0xa5, 0x67, 0x0e, 0x0a, 0xfd, 0x71, 0xb1, 0x94,
- 0xb4, 0xaa, 0x4b, 0x7f,
- 0xab, 0xc5, 0x85, 0x4b, 0x7a, 0xd6, 0x02, 0x43, 0xa5, 0x91, 0xfc, 0x71,
- 0x3c, 0xf9, 0x58, 0x93,
- 0x98, 0x2f, 0xa0, 0x6c, 0x80, 0x57, 0x32, 0xa4, 0x06, 0x97, 0x0b, 0x63,
- 0x59, 0x76, 0x14, 0xa5,
- 0xc8, 0x58, 0x3b, 0xbd, 0xe2, 0xda, 0x0d, 0x89, 0xeb, 0x49, 0x33, 0x3c,
- 0x96, 0xce, 0x3f, 0x44,
- 0xaf, 0xb3, 0x2a, 0x6a, 0xf6, 0x4d, 0xcf, 0xd0, 0x87, 0xc0, 0x95, 0x05,
- 0xfd, 0x4e, 0x94, 0x0f,
- 0xa3, 0x29, 0x18, 0x09, 0xa1, 0x23, 0x5b, 0xa6, 0xe1, 0x33, 0x2e, 0x99,
- 0x7d, 0x54, 0x03, 0x68,
- 0x44, 0x1a, 0xcd, 0x74, 0x9b, 0x3f, 0x40, 0xb7, 0x47, 0x08, 0x36, 0x38,
- 0x8c, 0x96, 0x51, 0x48,
- 0x84, 0xae, 0x6b, 0x8b, 0xa2, 0x10, 0x14, 0xdb, 0xe8, 0xe3, 0xd7, 0xec,
- 0x5b, 0xf5, 0x35, 0xf7,
- 0x9e, 0x62, 0xb9, 0xbc, 0x4a, 0x60, 0x78, 0x9f, 0x35, 0x0f, 0xb7, 0x2d,
- 0x19, 0x7b, 0xbe, 0x77,
- 0xe2, 0xb9, 0x21, 0xc5, 0x95, 0xd1, 0x74, 0xd6, 0x6d, 0xef, 0xfa, 0xc8,
- 0x91, 0x28, 0xad, 0x9b,
- 0xcd, 0xd2, 0xcf, 0x05, 0x4d, 0x17, 0x62, 0x4e, 0x20, 0x9d, 0xd1, 0x55,
- 0xf6, 0x24, 0xc0, 0xff,
- 0xfb, 0xb2, 0x1e, 0x9a, 0x18, 0x5b, 0x3d, 0x6e, 0x48, 0x4f, 0xc4, 0x2e,
- 0xf3, 0x41, 0x73, 0x72,
- 0x45, 0xe6, 0x96, 0xed, 0xb8, 0x69, 0xe2, 0xe3, 0xae, 0x8d, 0xbd, 0x25,
- 0x2d, 0xcb, 0x62, 0x6f,
- 0x23, 0xf1, 0xdc, 0xa3, 0x8f, 0xa8, 0x82, 0xee, 0x2b, 0x81, 0x90, 0x01,
- 0xe7, 0x16, 0xfa, 0x03,
- 0xc6, 0xf9, 0xbf, 0x2f, 0xf3, 0x18, 0x1e, 0x57, 0x9c, 0x73, 0x5d, 0x9a,
- 0x97, 0x6e, 0xce, 0x6d,
- 0x3d, 0x4b, 0xa1, 0xb5, 0xeb, 0x43, 0x23, 0x39, 0xd4, 0x3c, 0x99, 0xb4,
- 0x64, 0x2f, 0xbd, 0x1f,
- 0x17, 0xaa, 0xbb, 0xcd, 0x9c, 0x48, 0x5a, 0x66, 0x52, 0x9a, 0x50, 0x40,
- 0x63, 0xc9, 0x2f, 0xc0,
- 0xeb, 0xa9, 0xe7, 0x1e, 0x6d, 0x72, 0x8f, 0x67, 0xc0, 0xc8, 0xa3, 0x3d,
- 0x71, 0xd8, 0xc5, 0x47,
- 0x2e, 0x97, 0xb5, 0x59, 0xfb, 0x90, 0xb4, 0xcc, 0xa4, 0xf7, 0xa0, 0x80,
- 0xc6, 0x51, 0x5e, 0x43,
- 0xcb, 0x9f, 0xd6, 0xd5, 0x87, 0x20, 0x28, 0x75, 0x13, 0x05, 0x6d, 0x1b,
- 0xb6, 0x29, 0x6a, 0x2d,
- 0xb2, 0xce, 0xba, 0x14, 0xf7, 0x5c, 0x4b, 0xfb, 0x80, 0x31, 0xc2, 0x97,
- 0x5e, 0x90, 0x86, 0x7a,
- 0x5c, 0xed, 0xa9, 0xb2, 0x35, 0xe3, 0xab, 0x5b, 0x8b, 0x2d, 0x83, 0xc3,
- 0x4f, 0xa2, 0xbc, 0x86,
- 0x4a, 0xbb, 0x49, 0xe6, 0x8a, 0xfd, 0x53, 0x69, 0x30, 0x32, 0x58, 0x9e,
- 0x8d, 0x36, 0xa0, 0x61,
- 0x64, 0x2c, 0xfc, 0xbf, 0x71, 0x6d, 0xe7, 0xa5, 0x94, 0xc5, 0xf8, 0x1e,
- 0x4b, 0x67, 0xfe, 0x22,
- 0x71, 0xbd, 0xf1, 0x83, 0xab, 0x89, 0x3a, 0x6b, 0xd7, 0x96, 0x7d, 0x64,
- 0xa9, 0x14, 0xb7, 0xac,
- 0x35, 0xa7, 0x3c, 0xf7, 0x30, 0xb6, 0x7a, 0xdc, 0x90, 0x9e, 0x4b, 0x5c,
- 0x25, 0x82, 0xe6, 0xe4,
- 0xc7, 0x05, 0xe4, 0xb6, 0xd0, 0x4e, 0xbc, 0x03, 0x75, 0xf6, 0xd6, 0x87,
- 0x36, 0x33, 0xfd, 0x4a,
- 0x07, 0xb1, 0x42, 0x49, 0xe9, 0x61, 0xe8, 0x6f, 0xda, 0x1d, 0x37, 0x53,
- 0xe1, 0x50, 0x99, 0xf5,
- 0x59, 0x67, 0x5d, 0x0a, 0x9a, 0x2e, 0xc4, 0x9c, 0x40, 0xf9, 0x61, 0xaa,
- 0x2f, 0x48, 0x43, 0x3d,
- 0x38, 0xc1, 0x55, 0x0d, 0x44, 0x8e, 0x4c, 0xfe, 0x1f, 0xe8, 0x7b, 0xdd,
- 0x04, 0xc5, 0x42, 0xa4,
- 0xea, 0x55, 0xbc, 0x87, 0x4e, 0x24, 0x2d, 0x33, 0x29, 0x4d, 0x28, 0x20,
- 0xd0, 0x85, 0xf6, 0x60,
- 0x37, 0x9c, 0x8a, 0x06, 0x76, 0x1a, 0xfd, 0x74, 0x81, 0x57, 0x9e, 0x66,
- 0xa4, 0x38, 0x80, 0xaa,
- 0x63, 0x9d, 0xbe, 0xf6, 0x98, 0x0c, 0x0f, 0xca, 0x4e, 0xd8, 0xcf, 0x4d,
- 0xaa, 0x37, 0x67, 0xd7,
- 0x18, 0xf7, 0x64, 0xc6, 0xae, 0xdc, 0xeb, 0xec, 0xcc, 0x25, 0xb5, 0xfb,
- 0xc3, 0x34, 0xed, 0xce,
- 0xa7, 0x5f, 0xb7, 0x28, 0x2d, 0xb8, 0x96, 0x35, 0xc3, 0x62, 0x47, 0xed,
- 0xbc, 0xe3, 0xcf, 0xf4,
- 0x58, 0x9b, 0x06, 0x93, 0xb9, 0x78, 0x66, 0xc8, 0xa9, 0x7c, 0xea, 0xb7,
- 0x8e, 0x15, 0x70, 0x1a,
- 0x11, 0xe7, 0xa2, 0x1d, 0x56, 0x7f, 0x10, 0x5d, 0x61, 0x02, 0xec, 0x0e,
- 0x23, 0xc4, 0x85, 0x12,
- 0xf5, 0x13, 0x9a, 0x08, 0x09, 0x99, 0x2e, 0xb0, 0x3f, 0x75, 0xaa, 0x88,
- 0xf2, 0xe1, 0x82, 0x5b,
- 0xd9, 0xbf, 0x99, 0xa0, 0xb4, 0xa5, 0x1d, 0xd4, 0x8a, 0x4b, 0xdf, 0x32,
- 0xb5, 0x0a, 0xba, 0x56,
- 0xe9, 0x92, 0x51, 0xef, 0x2b, 0xde, 0x08, 0xcf, 0xd1, 0x01, 0x76, 0x07,
- 0xf0, 0x62, 0xa3, 0x09,
- 0x25, 0xbc, 0xc5, 0x73, 0x45, 0x9f, 0xc8, 0xd5, 0x18, 0x19, 0x2c, 0x4f,
- 0xa7, 0x1b, 0x50, 0xd1,
- 0xf8, 0x75, 0xf3, 0xf2, 0x7d, 0xa1, 0x18, 0x92, 0xb0, 0x03, 0x9a, 0x09,
- 0xd3, 0xa6, 0x26, 0x1b,
- 0x97, 0x72, 0x7f, 0x67, 0xb2, 0xc3, 0x83, 0x2e, 0x98, 0x28, 0xee, 0xd8,
- 0xf9, 0x8b, 0xd6, 0xab,
- 0xb1, 0x09, 0x57, 0x7c, 0x92, 0xa6, 0x6e, 0x07, 0x78, 0x7d, 0x9c, 0xb0,
- 0x7e, 0x77, 0xd3, 0x13,
- 0x19, 0x0b, 0x3f, 0x5f, 0x8d, 0x8a, 0x49, 0xb8, 0x25, 0xa0, 0x3e, 0xe6,
- 0x62, 0x69, 0xde, 0xe9,
- 0x0f, 0x5d, 0xdf, 0x0b, 0x32, 0x94, 0xb1, 0x8a, 0x9e, 0xbf, 0xe5, 0xbb,
- 0xa0, 0xfd, 0xc2, 0x0e,
- 0x89, 0xc8, 0x02, 0x71, 0xd6, 0x28, 0x22, 0xf9, 0x67, 0x95, 0xe7, 0x6d,
- 0x7a, 0xb2, 0x91, 0xb7,
- 0xdc, 0x35, 0x6d, 0x18, 0x1b, 0x68, 0x72, 0x13, 0x41, 0x9f, 0x3d, 0x5b,
- 0xd5, 0xe0, 0x45, 0xed,
- 0x08, 0xec, 0x9d, 0x42, 0xdb, 0xf5, 0x59, 0xe5, 0x44, 0xa2, 0xd2, 0xe8,
- 0x41, 0xad, 0x5b, 0xfb,
- 0xf1, 0x65, 0x35, 0x29, 0x85, 0x02, 0xe3, 0x23, 0x1d, 0x24, 0xc3, 0xfc,
- 0x33, 0x56, 0x4e, 0xc7,
- 0xa8, 0x02, 0x68, 0x23, 0x1f, 0x2c, 0x27, 0xbf, 0x5d, 0xdd, 0xa2, 0x56,
- 0x1c, 0x1e, 0x0d, 0xfa,
- 0x0e, 0xa1, 0x84, 0x92, 0x11, 0xc2, 0x13, 0xde, 0x77, 0x3a, 0x6e, 0xa6,
- 0x01, 0xa0, 0xf1, 0x29,
- 0x6f, 0x07, 0x8c, 0x95, 0xcf, 0x62, 0x9b, 0xbc, 0x28, 0x2b, 0x74, 0xd1,
- 0x2a, 0x2d, 0xf0, 0xb0,
- 0x7d, 0x27, 0xc3, 0xe0, 0xfc, 0xe7, 0xae, 0x1d, 0xb1, 0x65, 0xc6, 0xf8,
- 0x29, 0x0e, 0x20, 0xcb,
- 0xd4, 0xd9, 0xf0, 0x5a, 0xc0, 0x9d, 0x2b, 0xf6, 0x05, 0x3d, 0xef, 0xb3,
- 0x94, 0x4d, 0x1e, 0x16,
- 0xbd, 0x93, 0x65, 0x1f, 0xc5, 0xc8, 0xfa, 0x71, 0x1e, 0x8e, 0x27, 0x2c,
- 0xfe, 0x6d, 0x44, 0x74,
- 0x86, 0x95, 0xdd, 0x7a, 0xe4, 0xbc, 0x93, 0x73, 0xf9, 0x2a, 0x02, 0xd6,
- 0xda, 0x4f, 0x53, 0xb9,
- 0xec, 0x18, 0xa5, 0x57, 0x84, 0x13, 0x67, 0x08, 0x1a, 0xd5, 0x94, 0x6e,
- 0x90, 0x88, 0x5c, 0xb2,
- 0x32, 0x16, 0x7e, 0xbe, 0xd9, 0xd7, 0x92, 0xb3, 0x4a, 0x83, 0x7c, 0x0f,
- 0xc4, 0xd2, 0x7f, 0x11,
- 0x7e, 0xe0, 0x2e, 0x88, 0x99, 0x1d, 0x8b, 0xe1, 0x49, 0x29, 0x98, 0xdf,
- 0x09, 0xe9, 0x75, 0xa2,
- 0xed, 0xe4, 0xfe, 0xce, 0xa7, 0x45, 0xc5, 0x5c, 0xf3, 0x50, 0x1f, 0x73,
- 0x31, 0xd5, 0x6f, 0x95,
- 0x6e, 0xfb, 0xd7, 0x0c, 0xec, 0x34, 0x39, 0xe8, 0xc1, 0xae, 0xff, 0xcc,
- 0x8b, 0x70, 0xc3, 0x97,
- 0xc3, 0x73, 0x4b, 0x97, 0x5c, 0xd5, 0x71, 0x90, 0x57, 0xa7, 0xbf, 0xf3,
- 0xf7, 0x84, 0x31, 0xd6,
- 0x21, 0xca, 0x6a, 0x52, 0xc9, 0x04, 0x05, 0x46, 0x3a, 0x48, 0x45, 0x3b,
- 0x66, 0xac, 0x9c, 0x4d,
- 0x62, 0x61, 0xe5, 0x6f, 0xbb, 0x5a, 0xad, 0x9e, 0xa7, 0x5d, 0x44, 0x50,
- 0x0b, 0x6a, 0x54, 0xf0,
- 0xce, 0x15, 0x22, 0x6d, 0x28, 0xed, 0x47, 0xb2, 0xd8, 0xd1, 0x8f, 0x72,
- 0xd6, 0xc3, 0x95, 0x96,
- 0x93, 0x04, 0xd0, 0x46, 0x3e, 0x58, 0x4e, 0xbd, 0xba, 0x79, 0x87, 0xac,
- 0x38, 0x3c, 0x1a, 0x37,
- 0x4c, 0xf6, 0x50, 0x36, 0x40, 0xca, 0x19, 0x52, 0x03, 0xaa, 0xe4, 0xd0,
- 0xcd, 0x3b, 0x0a, 0xb3,
- 0xde, 0x0e, 0xdb, 0xe9, 0x5d, 0xc4, 0xf5, 0xbb, 0x50, 0x56, 0xe8, 0x61,
- 0x54, 0x5a, 0x23, 0xa3,
- 0x3f, 0x70, 0x17, 0x44, 0xad, 0xef, 0xa4, 0x91, 0xc5, 0xf5, 0x4c, 0x8e,
- 0xe5, 0x95, 0xdb, 0x51,
- 0x43, 0xab, 0x8f, 0x3d, 0x72, 0x5e, 0xa8, 0xd8, 0x9d, 0x15, 0x01, 0x6b,
- 0x6d, 0xc6, 0xc8, 0xbd,
- 0x73, 0x86, 0x47, 0x72, 0xed, 0x25, 0xbd, 0xc3, 0xc6, 0x5f, 0xa8, 0x5e,
- 0x28, 0xae, 0xd1, 0xe2,
- 0xad, 0x88, 0x9c, 0x9b, 0xb0, 0xe1, 0x48, 0x78, 0x96, 0x09, 0x40, 0x3f,
- 0x7c, 0xf4, 0xf2, 0x41,
- 0xf0, 0x99, 0x6e, 0xb0, 0xa6, 0x54, 0x41, 0x77, 0xf4, 0xa1, 0x48, 0xe1,
- 0x92, 0x0b, 0x7d, 0xe0,
- 0x47, 0xdd, 0x20, 0x1c, 0xfe, 0xc5, 0x65, 0x4b, 0xbf, 0x44, 0x68, 0x1f,
- 0xac, 0x71, 0x04, 0x21,
- 0x3c, 0xb7, 0xfa, 0x2c, 0xc8, 0x15, 0x81, 0x6d, 0x3d, 0xb9, 0x12, 0xa9,
- 0xc5, 0x72, 0x8e, 0x38,
- 0x61, 0xa6, 0x08, 0x07, 0xde, 0xa0, 0x88, 0x62, 0x5f, 0x11, 0x1a, 0x77,
- 0x2b, 0x8d, 0x01, 0x99,
- 0x56, 0x3a, 0x82, 0x01, 0xa8, 0xba, 0x75, 0x16, 0xde, 0x46, 0x84, 0x11,
- 0x8f, 0xb5, 0x81, 0x33,
- 0x29, 0x26, 0xf7, 0x10, 0x12, 0xf1, 0x5c, 0xa3, 0x7e, 0xea, 0x97, 0xd3,
- 0x27, 0x01, 0xc7, 0xb6,
- 0x7b, 0x6a, 0xda, 0x30, 0x36, 0xd0, 0xe4, 0x26, 0x82, 0xfd, 0x7a, 0xb6,
- 0x69, 0x03, 0x8a, 0x19,
- 0x10, 0x1b, 0xf9, 0x84, 0x75, 0x29, 0xb2, 0x09, 0x88, 0x87, 0x67, 0x13,
- 0x82, 0x99, 0xb6, 0x35,
- 0xff, 0xc4, 0xb1, 0xbb, 0x94, 0xc0, 0xf0, 0xfd, 0x6a, 0x1e, 0xad, 0x5a,
- 0x32, 0xf6, 0xbf, 0xee,
- 0x5d, 0x11, 0xf2, 0x2b, 0x16, 0xb5, 0x09, 0x0f, 0x62, 0xa8, 0x08, 0xde,
- 0xee, 0xff, 0x8f, 0xa1,
- 0x31, 0xd1, 0x93, 0xd6, 0xbc, 0x2d, 0xb7, 0x4f, 0xb2, 0xcf, 0x22, 0x28,
- 0xe4, 0x35, 0x2a, 0x78,
- 0xb7, 0x44, 0x4e, 0xac, 0x58, 0x91, 0x24, 0x3c, 0x4b, 0xe5, 0x20, 0xfe,
- 0x3e, 0x7a, 0x79, 0xc1,
- 0xb3, 0x32, 0xe1, 0x8d, 0xd4, 0x0a, 0xe9, 0xaf, 0x69, 0xb4, 0x49, 0x8a,
- 0xff, 0xcd, 0xb5, 0x5d,
- 0x6b, 0x71, 0x23, 0xb4, 0x43, 0xf9, 0x56, 0x2f, 0x0a, 0x7a, 0x1d, 0xa5,
- 0xeb, 0x9a, 0x3c, 0x2c,
- 0xc0, 0xb4, 0xa6, 0xff, 0x39, 0x2f, 0x54, 0x6c, 0xaf, 0xeb, 0xe1, 0xd4,
- 0xd7, 0x63, 0x64, 0xbf,
- 0x7f, 0x1c, 0x75, 0x11, 0xba, 0x4b, 0x29, 0xb5, 0xa0, 0xac, 0x13, 0xc2,
- 0xa8, 0xb4, 0x46, 0x85,
- 0x1e, 0xba, 0x7d, 0x16, 0x64, 0xeb, 0xa1, 0xd7, 0xff, 0xbd, 0x09, 0xb5,
- 0x83, 0x39, 0x47, 0x1c,
- 0xd1, 0x53, 0x04, 0xe2, 0x6f, 0x50, 0x44, 0x31, 0xce, 0xe9, 0x0d, 0xda,
- 0xf4, 0xa7, 0xe1, 0xad,
- 0x78, 0xad, 0x37, 0x58, 0x53, 0x2a, 0xc1, 0xda, 0x7a, 0xb1, 0x24, 0x91,
- 0x49, 0xe4, 0xdf, 0x70,
- 0xc2, 0x8f, 0x10, 0x0e, 0x7f, 0x83, 0xd3, 0xc4, 0xbe, 0x22, 0x34, 0xee,
- 0x56, 0xd9, 0x02, 0xf1,
- 0xbb, 0xde, 0x7c, 0xcf, 0x0f, 0xff, 0xb0, 0x4a, 0x2d, 0x16, 0x9b, 0x62,
- 0xbe, 0x60, 0xee, 0xa6,
- 0x6d, 0x3c, 0x3a, 0x64, 0x89, 0xce, 0x1c, 0x14, 0x39, 0xe2, 0xa1, 0xeb,
- 0xab, 0x97, 0x96, 0xfe,
- 0xe1, 0x7e, 0xcc, 0xad, 0xf0, 0x2b, 0x51, 0x2a, 0x95, 0xa3, 0xa4, 0xef,
- 0xb1, 0xcf, 0xf8, 0xf2,
- 0x1f, 0x46, 0x26, 0x8f, 0x47, 0xbd, 0x03, 0x83, 0x16, 0x38, 0x82, 0xa8,
- 0x22, 0x64, 0x74, 0x3b,
- 0x82, 0xe3, 0x72, 0x5b, 0x68, 0x27, 0x5e, 0xe0, 0xdb, 0x7b, 0x6b, 0xa2,
- 0x1b, 0xf8, 0x9f, 0x25,
- 0xba, 0x22, 0x27, 0x56, 0x2c, 0xa9, 0x12, 0x1e, 0xc4, 0x93, 0x10, 0x7f,
- 0x1f, 0x3d, 0xdd, 0x81,
- 0x8c, 0x42, 0xf6, 0xc9, 0x79, 0xe5, 0x4d, 0x3e, 0xac, 0x41, 0x05, 0x04,
- 0x1a, 0x58, 0x6e, 0x0c,
- 0xcf, 0xe9, 0x79, 0xf4, 0x0b, 0xbb, 0xe5, 0xe6, 0x31, 0x54, 0x04, 0x6f,
- 0x77, 0x9e, 0xa6, 0xb1,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xfe, 0x38, 0xea, 0x22, 0xb7, 0x96, 0x52, 0xa9, 0x83, 0x9b, 0x26, 0x47,
- 0x93, 0xab, 0x8c, 0xc9,
- 0x42, 0x57, 0xd4, 0xa4, 0x51, 0x08, 0x0a, 0x8c, 0x74, 0x90, 0x8a, 0x76,
- 0xcc, 0x9b, 0xfb, 0x9a,
- 0xd6, 0xe2, 0x46, 0xab, 0x86, 0x31, 0xac, 0x5e, 0x14, 0xf4, 0x3a, 0x89,
- 0x15, 0xf7, 0x78, 0x58,
- },
- { /* 7 */
- 0xa5, 0x9d, 0x85, 0x46, 0x8a, 0x0e, 0x61, 0xc4, 0x42, 0xe7, 0xb4, 0xca,
- 0xc0, 0x3d, 0xf4, 0xe8,
- 0x2d, 0x30, 0x7c, 0xb1, 0xb2, 0x96, 0xab, 0x86, 0x12, 0x3f, 0xbc, 0x10,
- 0x25, 0xe6, 0x1e, 0xf1,
- 0x32, 0xb3, 0x29, 0xf1, 0xe6, 0xb1, 0x53, 0x61, 0xca, 0xf8, 0xa0, 0xd0,
- 0x5a, 0xc4, 0x96, 0x37,
- 0x8f, 0xc2, 0x69, 0x55, 0xf0, 0x82, 0xf2, 0x7d, 0x39, 0xb6, 0xe7, 0xff,
- 0x11, 0x3a, 0xe8, 0x2f,
- 0x0e, 0xde, 0xe3, 0x87, 0x53, 0x34, 0x70, 0x7e, 0xd2, 0xdc, 0x1d, 0x4a,
- 0x2b, 0x01, 0x04, 0x6c,
- 0x30, 0x1b, 0x49, 0x07, 0xfb, 0x7a, 0x43, 0x73, 0xa1, 0x91, 0x25, 0x09,
- 0xd5, 0x45, 0xd7, 0x23,
- 0x38, 0xfe, 0x0a, 0x59, 0x8f, 0xd0, 0x03, 0x3b, 0xce, 0xf6, 0x74, 0xeb,
- 0xac, 0x04, 0x10, 0x73,
- 0xc0, 0x6c, 0xe7, 0x1c, 0x6a, 0x2b, 0xcf, 0x0f, 0xc1, 0x01, 0x94, 0x24,
- 0xd2, 0xd7, 0xda, 0x8c,
- 0x54, 0xbe, 0x1b, 0x26, 0xf4, 0xdb, 0xe5, 0xb1, 0xf6, 0xa2, 0xa6, 0x6a,
- 0x61, 0x0e, 0x38, 0x4d,
- 0xe6, 0x45, 0x88, 0x7e, 0x5e, 0x58, 0x3c, 0xda, 0x03, 0xe5, 0x5f, 0x82,
- 0xa7, 0x50, 0x83, 0x33,
- 0x9e, 0x9f, 0xdf, 0x92, 0xf7, 0x91, 0x7a, 0xe4, 0x33, 0xad, 0xe6, 0x75,
- 0x45, 0x19, 0x64, 0x85,
- 0x39, 0xaa, 0x3a, 0x22, 0x60, 0x54, 0x0b, 0x32, 0x1a, 0x23, 0xd7, 0x66,
- 0x0a, 0xa5, 0xd1, 0x79,
- 0x55, 0xea, 0x2b, 0x5d, 0x1b, 0x5f, 0xed, 0xb8, 0x22, 0x77, 0x05, 0xe7,
- 0xc7, 0xaf, 0xf9, 0x47,
- 0x7e, 0xe1, 0xf7, 0x35, 0x8e, 0x57, 0x76, 0x08, 0x8d, 0xf3, 0xf5, 0x5f,
- 0xb0, 0x09, 0x24, 0x8a,
- 0x52, 0x85, 0xbb, 0xff, 0xd3, 0x45, 0xd5, 0x87, 0x4b, 0x19, 0xea, 0xc2,
- 0x33, 0x4e, 0xfb, 0x71,
- 0x91, 0x15, 0x0c, 0x6e, 0x4b, 0x21, 0x02, 0x93, 0x35, 0xa4, 0x58, 0xb2,
- 0xc8, 0xb9, 0xa1, 0xe3,
- 0x64, 0xa5, 0x52, 0x21, 0x0f, 0xa1, 0xa6, 0xc2, 0x57, 0x33, 0x83, 0x63,
- 0xb4, 0x4b, 0xef, 0x6e,
- 0x03, 0xfc, 0x50, 0x8d, 0xf2, 0x4f, 0x18, 0x1b, 0xbf, 0xbc, 0x26, 0x54,
- 0x29, 0x20, 0x80, 0x1e,
- 0x57, 0x42, 0x4b, 0xab, 0x06, 0x94, 0xfd, 0xaa, 0x49, 0x1e, 0x80, 0x3e,
- 0x48, 0x2e, 0xb8, 0x53,
- 0x5a, 0x60, 0xf8, 0xa1, 0xa7, 0xef, 0x95, 0xcf, 0x24, 0x7e, 0xbb, 0x20,
- 0x4a, 0x0f, 0x3c, 0x21,
- 0x1c, 0x7f, 0x05, 0xcd, 0xa6, 0x68, 0xe0, 0xfc, 0x67, 0x7b, 0x3a, 0x94,
- 0x56, 0x02, 0x08, 0xd8,
- 0x60, 0x36, 0x92, 0x0e, 0x35, 0xf4, 0x86, 0xe6, 0x81, 0xe1, 0x4a, 0x12,
- 0x69, 0x8a, 0x6d, 0x46,
- 0x07, 0x6f, 0x90, 0xa2, 0xc8, 0x1a, 0x38, 0x3f, 0x69, 0x6e, 0xef, 0x25,
- 0xf4, 0xe1, 0x02, 0x36,
- 0x18, 0xec, 0xc5, 0xe2, 0x9c, 0x3d, 0xc0, 0xd8, 0xb1, 0xa9, 0xf3, 0xe5,
- 0x8b, 0xc3, 0x8a, 0xf0,
- 0x21, 0x46, 0xff, 0xc0, 0xfc, 0x69, 0xcb, 0xea, 0xab, 0x8a, 0x24, 0x83,
- 0x81, 0x66, 0x5b, 0x89,
- 0x72, 0x97, 0x74, 0x44, 0xc0, 0xa8, 0x16, 0x64, 0x34, 0x46, 0x6d, 0xcc,
- 0x14, 0x89, 0x61, 0xf2,
- 0xa8, 0xbf, 0x36, 0x4c, 0x2b, 0x75, 0x09, 0xa1, 0x2f, 0x87, 0x8f, 0xd4,
- 0xc2, 0x1c, 0x70, 0x9a,
- 0xd1, 0x31, 0x51, 0xdb, 0x6d, 0x38, 0x47, 0x96, 0xcb, 0x1a, 0x95, 0xae,
- 0x86, 0xf4, 0x56, 0x26,
- 0x29, 0xa3, 0xbc, 0x9e, 0x88, 0xc3, 0x8b, 0xa2, 0xc4, 0xed, 0x75, 0x61,
- 0xf8, 0x27, 0x9c, 0xd9,
- 0xc6, 0x57, 0x47, 0xc5, 0x4d, 0xb5, 0xff, 0x39, 0x7c, 0xba, 0xd8, 0x8c,
- 0x80, 0x97, 0x19, 0xb0,
- 0xa4, 0xc9, 0xb5, 0x3d, 0x65, 0x8a, 0x69, 0xcd, 0x96, 0x32, 0x17, 0x47,
- 0x66, 0x9c, 0x35, 0xe2,
- 0x3f, 0x91, 0x9a, 0xfb, 0x47, 0xca, 0x3b, 0x04, 0xa7, 0x98, 0x9b, 0xce,
- 0x58, 0xe5, 0x12, 0x45,
- 0xe0, 0x7e, 0x28, 0xa7, 0x79, 0xc6, 0x0c, 0xec, 0xbe, 0x5e, 0x13, 0x2a,
- 0xf5, 0x10, 0x40, 0x0f,
- 0x27, 0x7d, 0x5f, 0x19, 0xdb, 0xf7, 0xfb, 0xdc, 0x16, 0x31, 0x68, 0x2b,
- 0xd3, 0x26, 0x98, 0xb5,
- 0x8d, 0x6a, 0x09, 0xa3, 0xed, 0x49, 0xe2, 0x6f, 0x52, 0xdf, 0x62, 0x26,
- 0x9e, 0xbb, 0xa9, 0x3b,
- 0x0c, 0x76, 0x83, 0x71, 0x4e, 0xff, 0x60, 0x6c, 0xb9, 0xb5, 0x98, 0x93,
- 0xa4, 0x80, 0x45, 0x78,
- 0x82, 0xe0, 0xda, 0x5f, 0x51, 0xf9, 0x9a, 0x18, 0x54, 0xd6, 0xdc, 0xe1,
- 0x13, 0x1b, 0x6c, 0x5d,
- 0xea, 0x33, 0x0b, 0x0f, 0x10, 0xa7, 0x5c, 0xb6, 0xba, 0x50, 0xc7, 0x11,
- 0x03, 0xd0, 0xc6, 0x4b,
- 0xae, 0x84, 0x96, 0x95, 0x0c, 0xeb, 0x39, 0x97, 0x92, 0x3c, 0xc3, 0x7c,
- 0x90, 0x5c, 0xb3, 0xa6,
- 0xb4, 0xc0, 0x33, 0x81, 0x8d, 0x1d, 0xe9, 0x5d, 0x48, 0xfc, 0xb5, 0x40,
- 0x94, 0x1e, 0x78, 0x42,
- 0x9a, 0x0c, 0x1f, 0xbd, 0xcd, 0xc4, 0x5a, 0xc0, 0xe5, 0x7f, 0x2f, 0x04,
- 0x98, 0xd8, 0xe6, 0xad,
- 0x63, 0xca, 0xc2, 0x83, 0xc7, 0xbb, 0x9e, 0xfd, 0x3e, 0x5d, 0x6c, 0x46,
- 0x40, 0xaa, 0xed, 0x58,
- 0x49, 0x95, 0x2e, 0x90, 0xbd, 0x37, 0x0d, 0x44, 0x45, 0x0c, 0x3f, 0x73,
- 0x91, 0xad, 0xf1, 0x9f,
- 0xe5, 0xb9, 0xd8, 0xf3, 0xac, 0x17, 0x24, 0xc1, 0xbc, 0x59, 0x79, 0xd6,
- 0x8e, 0x70, 0x03, 0x2d,
- 0x42, 0x8c, 0x3d, 0x43, 0x3b, 0xd2, 0x55, 0x17, 0x95, 0xd7, 0x48, 0xc5,
- 0xc1, 0xcc, 0xb6, 0xd1,
- 0xe4, 0xed, 0xe8, 0x88, 0x43, 0x93, 0x2c, 0xc8, 0x68, 0x8c, 0xda, 0x5b,
- 0x28, 0xd1, 0xc2, 0x27,
- 0x15, 0xce, 0x76, 0xe8, 0x3d, 0x46, 0xa8, 0xbd, 0xdc, 0xc9, 0xc8, 0xfb,
- 0x89, 0xe2, 0x0e, 0x82,
- 0xb7, 0x3c, 0x63, 0x0c, 0x7f, 0x52, 0xf1, 0x46, 0xf7, 0x40, 0x93, 0x14,
- 0xbd, 0x3e, 0xf8, 0x5c,
- 0xc8, 0x89, 0xa4, 0x42, 0x1e, 0x81, 0x8f, 0x47, 0xae, 0x66, 0xc5, 0xc6,
- 0xab, 0x96, 0x1d, 0xdc,
- 0x06, 0x3b, 0xa0, 0xd9, 0x27, 0x9e, 0x30, 0x36, 0xbd, 0xbb, 0x4c, 0xa8,
- 0x52, 0x40, 0xc3, 0x3c,
- 0x70, 0x3f, 0x14, 0xb2, 0xdd, 0x63, 0x06, 0x76, 0x5f, 0x2f, 0xe8, 0x15,
- 0x9b, 0x08, 0x20, 0xe6,
- 0x9d, 0x63, 0x8f, 0x1f, 0x05, 0xde, 0x62, 0xff, 0x8c, 0x11, 0xc0, 0x21,
- 0x6c, 0x39, 0xe4, 0x9b,
- 0x41, 0x70, 0x6d, 0xce, 0xc9, 0x9d, 0x4d, 0x0c, 0x2a, 0x6b, 0x6e, 0x91,
- 0xe8, 0xec, 0x36, 0xcf,
- 0x75, 0xf8, 0xe4, 0xe6, 0x08, 0xb2, 0x2e, 0x5b, 0x5d, 0x28, 0x82, 0xe9,
- 0xe0, 0x68, 0x63, 0xc4,
- 0x19, 0xb8, 0xf5, 0x99, 0x73, 0xb9, 0xc8, 0xd1, 0x65, 0x7c, 0x50, 0x68,
- 0x2d, 0x62, 0x4b, 0xfa,
- 0xc9, 0xdd, 0x94, 0x39, 0xf1, 0x05, 0x87, 0x4e, 0x7a, 0xb3, 0x66, 0x4b,
- 0x0d, 0x37, 0xdc, 0xd6,
- 0xaa, 0x17, 0x56, 0xba, 0x36, 0xbe, 0x19, 0xb3, 0x44, 0xee, 0x0a, 0x0d,
- 0x4d, 0x9d, 0x31, 0x8e,
- 0xfc, 0x01, 0x2d, 0x6a, 0xdf, 0xae, 0xec, 0x10, 0xd9, 0x25, 0x29, 0xbe,
- 0xa3, 0x12, 0x48, 0xd7,
- 0x4d, 0x06, 0xee, 0xbf, 0x87, 0x62, 0x2d, 0x60, 0x93, 0xde, 0xf6, 0x02,
- 0x4c, 0x6c, 0x73, 0xb7,
- 0xbf, 0xd9, 0x20, 0x52, 0x0b, 0xf8, 0xb1, 0x0e, 0x98, 0x27, 0xc2, 0xf6,
- 0xc4, 0x7f, 0x3f, 0x0c,
- 0x2a, 0x5f, 0xec, 0x13, 0x7a, 0x8c, 0x93, 0xb9, 0x7b, 0x51, 0x53, 0x35,
- 0xd1, 0x07, 0x1c, 0xc7,
- 0x73, 0xc3, 0x44, 0x3f, 0x2f, 0x2c, 0x1e, 0x6d, 0xe0, 0x93, 0xce, 0x41,
- 0xb2, 0x28, 0xa0, 0xf8,
- 0x84, 0xdb, 0x7a, 0x86, 0x76, 0x67, 0xaa, 0x2e, 0xe9, 0x6d, 0x90, 0x49,
- 0x41, 0x5b, 0xaf, 0x61,
- 0xd5, 0xa2, 0x91, 0xf4, 0x57, 0x6d, 0x67, 0xb2, 0x1d, 0xc8, 0x5c, 0xdf,
- 0x5b, 0x35, 0xd4, 0x0e,
- 0xc3, 0x90, 0xb7, 0x91, 0x98, 0x64, 0xd7, 0x14, 0x7e, 0xbd, 0xb2, 0x70,
- 0xfb, 0xf7, 0x5a, 0x92,
- 0xaf, 0xd0, 0xa6, 0xee, 0xe3, 0x6f, 0x31, 0x9e, 0x46, 0xe9, 0x60, 0xf1,
- 0x36, 0xfd, 0x72, 0xac,
- 0x2b, 0x0b, 0xdc, 0x68, 0x95, 0x08, 0x9b, 0xb0, 0xaf, 0x84, 0xf0, 0xb8,
- 0x77, 0xa6, 0xdd, 0xcd,
- 0x86, 0x73, 0x1a, 0x70, 0x6b, 0xac, 0xba, 0x3c, 0x82, 0x04, 0x15, 0x90,
- 0xce, 0xda, 0xee, 0x75,
- 0xa7, 0x35, 0xe5, 0xb0, 0x97, 0xc5, 0x71, 0xd6, 0x29, 0x8e, 0x31, 0x13,
- 0x4f, 0xbc, 0xb5, 0xfc,
- 0xb1, 0x07, 0xc3, 0xd5, 0x58, 0xcc, 0xc1, 0x70, 0x4a, 0xfb, 0xdf, 0xbc,
- 0xef, 0x7e, 0x3b, 0x60,
- 0xb2, 0xfb, 0x93, 0x58, 0xaa, 0x83, 0xd9, 0x6b, 0xf5, 0x47, 0xf9, 0xe8,
- 0xc6, 0x5e, 0xbb, 0x7e,
- 0x5b, 0x34, 0xc8, 0xda, 0x48, 0x6b, 0x9d, 0xc6, 0xf0, 0xab, 0x18, 0xad,
- 0xec, 0xae, 0xfd, 0x2b,
- 0x46, 0x1f, 0xfd, 0x6c, 0x01, 0x87, 0x75, 0x33, 0x43, 0x05, 0x81, 0xb4,
- 0x1c, 0x0d, 0x34, 0xf9,
- 0xd3, 0x99, 0x31, 0x2d, 0x70, 0xf3, 0x57, 0x84, 0xa0, 0x73, 0x10, 0x77,
- 0x09, 0x75, 0x17, 0x32,
- 0x9f, 0xcb, 0xef, 0xe9, 0x18, 0x15, 0x72, 0xed, 0xe7, 0x78, 0x45, 0xf8,
- 0xe3, 0xb8, 0xa5, 0x8f,
- 0xfd, 0x55, 0x1d, 0x11, 0x30, 0x2a, 0xe4, 0x19, 0x0d, 0xf0, 0x8a, 0x33,
- 0x05, 0xb3, 0x89, 0xdd,
- 0xd4, 0xf6, 0xa1, 0x8f, 0xb8, 0xe9, 0x6f, 0xbb, 0xc9, 0x1d, 0xff, 0x52,
- 0xfd, 0x94, 0x15, 0x04,
- 0x0f, 0x8a, 0xd3, 0xfc, 0xbc, 0xb0, 0x78, 0x77, 0x06, 0x09, 0xbe, 0xc7,
- 0x8d, 0xa0, 0xc5, 0x66,
- 0x9c, 0x37, 0xbf, 0x64, 0xea, 0x5a, 0x6a, 0xf6, 0x58, 0xc4, 0x63, 0xac,
- 0xca, 0x98, 0x25, 0x91,
- 0x2f, 0x98, 0x1c, 0x47, 0xaf, 0x5d, 0xbb, 0x94, 0x79, 0x56, 0x39, 0xc9,
- 0xaa, 0x67, 0x5f, 0xe5,
- 0x9b, 0x58, 0x2f, 0xc6, 0x22, 0x40, 0x52, 0xc9, 0x31, 0xaa, 0x8c, 0x89,
- 0x3e, 0x79, 0x27, 0xa7,
- 0x43, 0xd8, 0x0d, 0x38, 0xd4, 0x56, 0x5d, 0x1e, 0x41, 0x02, 0xeb, 0x48,
- 0x67, 0x6d, 0x77, 0xdb,
- 0xef, 0xf4, 0xfb, 0x5b, 0xc5, 0x76, 0x74, 0x9b, 0xb8, 0x57, 0xad, 0xed,
- 0x78, 0xb0, 0x85, 0x69,
- 0xd9, 0xd4, 0x12, 0x85, 0x19, 0x92, 0x07, 0xde, 0xa4, 0x7d, 0xc4, 0x4c,
- 0xff, 0xb5, 0x91, 0x76,
- 0x79, 0x8e, 0x67, 0x97, 0x46, 0x4d, 0x4e, 0x37, 0xe4, 0x9d, 0x1a, 0x7a,
- 0x44, 0xe8, 0x26, 0xbc,
- 0xb6, 0x68, 0x53, 0x77, 0x90, 0xd6, 0xf9, 0x4f, 0x23, 0x95, 0x30, 0x99,
- 0x1b, 0x9f, 0x39, 0x56,
- 0x53, 0xd1, 0x8b, 0x84, 0x3c, 0xc1, 0xdd, 0x8e, 0x9f, 0xcc, 0x49, 0x4f,
- 0x95, 0xef, 0x3a, 0x7b,
- 0x7f, 0xb5, 0xc7, 0x4e, 0x61, 0xd3, 0x7e, 0x01, 0x59, 0x26, 0x56, 0xd2,
- 0x16, 0xa8, 0xe5, 0x80,
- 0xc1, 0x38, 0xd7, 0x67, 0x85, 0xaf, 0xc7, 0x06, 0x15, 0xd4, 0x37, 0xa9,
- 0x74, 0x76, 0x1b, 0x86,
- 0xf0, 0x77, 0xae, 0x1b, 0x91, 0x51, 0x8c, 0x7c, 0x60, 0x90, 0xb1, 0x2d,
- 0x07, 0x92, 0x0d, 0xaf,
- 0x23, 0xee, 0x9f, 0x36, 0xe1, 0xa2, 0xdb, 0xf8, 0xc0, 0xe3, 0xa1, 0x5a,
- 0x0e, 0xe7, 0x1a, 0x9d,
- 0xe7, 0x11, 0xb8, 0x05, 0xb1, 0xdc, 0x34, 0xd3, 0xd7, 0x30, 0xfc, 0x0f,
- 0x01, 0xf1, 0x42, 0x39,
- 0x25, 0xd5, 0x3f, 0xef, 0xc6, 0x3c, 0xeb, 0xce, 0x7d, 0x58, 0xed, 0xf2,
- 0x5c, 0xa7, 0xd9, 0xa1,
- 0x5e, 0xf3, 0x38, 0x8e, 0x9d, 0xba, 0xb5, 0xeb, 0xf2, 0xac, 0x72, 0x51,
- 0x97, 0xce, 0xbe, 0x09,
- 0xb5, 0x94, 0x03, 0xfa, 0x62, 0x99, 0xe1, 0x54, 0x9c, 0x29, 0x16, 0xcd,
- 0x32, 0xbf, 0xb9, 0x48,
- 0x1e, 0xd7, 0x65, 0x3b, 0xbb, 0xa3, 0xf0, 0xee, 0x0c, 0x12, 0xbf, 0x4d,
- 0xd9, 0x83, 0x49, 0xcc,
- 0xa2, 0xf2, 0x15, 0xe4, 0x42, 0x14, 0x59, 0xfb, 0x2b, 0x89, 0x5b, 0xef,
- 0x34, 0xdc, 0xf6, 0xde,
- 0xdf, 0xef, 0xb2, 0x5c, 0x3e, 0x0c, 0x37, 0xe8, 0x19, 0xc6, 0x88, 0xe4,
- 0xad, 0xf5, 0x52, 0x4a,
- 0xa6, 0x61, 0xd5, 0xcb, 0x78, 0x41, 0x79, 0xdf, 0xfd, 0x5b, 0x92, 0x9e,
- 0xe9, 0x1d, 0x74, 0xf6,
- 0xfe, 0xa9, 0x4d, 0x9c, 0xc2, 0x65, 0xfc, 0x02, 0xb2, 0x4c, 0xac, 0x67,
- 0x2c, 0x93, 0x09, 0xc3,
- 0xac, 0x2c, 0xf6, 0x63, 0x11, 0x20, 0x29, 0x85, 0xf9, 0x55, 0x46, 0xa5,
- 0x1f, 0xdd, 0xf2, 0xb2,
- 0x22, 0xba, 0xaf, 0x4d, 0x0e, 0x26, 0xd3, 0xf1, 0x14, 0x36, 0x02, 0xd7,
- 0xa8, 0x46, 0xdb, 0x97,
- 0xf9, 0xc6, 0xdd, 0x3e, 0x0a, 0x7f, 0xc4, 0x3d, 0xdb, 0x22, 0x43, 0x42,
- 0xd8, 0x72, 0x0b, 0xf5,
- 0xe2, 0xd6, 0x48, 0x51, 0x64, 0x0d, 0x1c, 0xfe, 0xd5, 0x37, 0x96, 0xf3,
- 0x7a, 0x91, 0x01, 0x1b,
- 0x4a, 0x69, 0x7e, 0x1d, 0x4f, 0x78, 0x15, 0x5f, 0xfa, 0xb0, 0x19, 0x27,
- 0xb8, 0x8d, 0x71, 0x81,
- 0xbc, 0x25, 0x70, 0xdf, 0xf9, 0xb7, 0xa9, 0x15, 0x27, 0x9b, 0xe4, 0xa2,
- 0xed, 0x5f, 0xbf, 0x12,
- 0x35, 0xdc, 0xb9, 0x53, 0x2e, 0xab, 0x6b, 0x5e, 0xa3, 0x96, 0x4f, 0xf5,
- 0xae, 0x25, 0x94, 0x01,
- 0xca, 0x21, 0xc4, 0xb4, 0x03, 0x4a, 0x9f, 0x55, 0xc5, 0x0f, 0x40, 0x1f,
- 0x24, 0x17, 0x5c, 0xc8,
- 0xee, 0xa0, 0xcb, 0x20, 0x2a, 0xf2, 0x7c, 0x92, 0x6c, 0x82, 0x0e, 0x60,
- 0xde, 0x11, 0x44, 0x63,
- 0x78, 0xda, 0x57, 0xec, 0xa9, 0xc9, 0x46, 0x3e, 0x30, 0x48, 0xb9, 0xf7,
- 0xe2, 0x49, 0xe7, 0xb6,
- 0x05, 0xc7, 0xf0, 0x54, 0xd5, 0xd1, 0x28, 0x2d, 0x02, 0x07, 0x6a, 0xfc,
- 0x7b, 0x60, 0x43, 0x22,
- 0x6b, 0x2f, 0x81, 0xdd, 0xb3, 0x11, 0xde, 0xb5, 0x51, 0x3a, 0x3d, 0xa4,
- 0x39, 0xeb, 0x2a, 0x08,
- 0x51, 0x79, 0xeb, 0x72, 0x21, 0x0a, 0xcd, 0x9c, 0xf4, 0xa5, 0xcc, 0x96,
- 0x1a, 0x6e, 0x7b, 0x6f,
- 0xe1, 0x2a, 0x18, 0xdc, 0x96, 0x42, 0x04, 0xe5, 0x6a, 0x8b, 0xb0, 0xa7,
- 0x53, 0xb1, 0x81, 0x05,
- 0x59, 0x9c, 0xa8, 0x2c, 0x55, 0xa0, 0x8d, 0xd4, 0x9b, 0xc2, 0x9d, 0x74,
- 0x63, 0x2f, 0xbc, 0x3f,
- 0xa3, 0xa6, 0x25, 0x9f, 0xad, 0x90, 0x51, 0xf2, 0xff, 0x5c, 0xf8, 0x62,
- 0x92, 0x7d, 0x37, 0xd4,
- 0xf2, 0xdf, 0xce, 0xed, 0x8c, 0x9a, 0x9c, 0x6e, 0x0b, 0xf9, 0x34, 0xf4,
- 0x88, 0x13, 0x4c, 0xbb,
- 0x71, 0x6b, 0x24, 0xc9, 0x32, 0xe7, 0x0e, 0x7f, 0x8b, 0xfa, 0x4b, 0x98,
- 0x3d, 0xa9, 0xe1, 0xec,
- 0x56, 0x16, 0x7b, 0xd0, 0xe9, 0x10, 0xf5, 0xa3, 0x9d, 0xcb, 0x23, 0xb3,
- 0xee, 0x8f, 0x79, 0x59,
- 0x11, 0x5d, 0xb6, 0xc7, 0x07, 0x13, 0x88, 0x99, 0x0a, 0x1b, 0x01, 0x8a,
- 0x54, 0x23, 0x8c, 0xaa,
- 0x6a, 0x7b, 0xb1, 0xa6, 0x5c, 0x95, 0xd6, 0xbc, 0x85, 0xef, 0x9e, 0x29,
- 0x9f, 0x4a, 0xeb, 0x02,
- 0x89, 0xf9, 0xc9, 0x8c, 0xd7, 0x1c, 0xc2, 0x4b, 0x84, 0x0d, 0xab, 0x57,
- 0x43, 0x7a, 0x2b, 0x13,
- 0x94, 0xd2, 0xfc, 0x3a, 0x9e, 0xf0, 0x2a, 0xbe, 0x37, 0xa3, 0x32, 0x4e,
- 0xb3, 0xd9, 0xe2, 0xc1,
- 0x65, 0xf1, 0x62, 0x5a, 0xe0, 0x25, 0xae, 0xcb, 0x83, 0xe6, 0x20, 0xee,
- 0x12, 0xea, 0x2e, 0x64,
- 0x8c, 0x3e, 0x39, 0xd8, 0x02, 0xcd, 0xea, 0x66, 0x86, 0x0a, 0xc1, 0xab,
- 0x38, 0x1a, 0x68, 0x31,
- 0xbb, 0x4a, 0xe0, 0x7d, 0x31, 0xad, 0x91, 0x2a, 0x4e, 0xf5, 0x0b, 0x87,
- 0x19, 0xbe, 0xbd, 0x24,
- 0x77, 0x50, 0x84, 0x10, 0x15, 0x79, 0x3e, 0x49, 0x36, 0x41, 0x07, 0x30,
- 0x6f, 0xe9, 0x22, 0xd0,
- 0x3c, 0x6d, 0xca, 0x76, 0xb5, 0x85, 0x23, 0x1f, 0x18, 0x24, 0xbd, 0x9a,
- 0x71, 0xc5, 0x92, 0x5b,
- 0x7b, 0x26, 0x07, 0x61, 0x5b, 0x86, 0x5e, 0x25, 0x8f, 0xf4, 0x9f, 0xa3,
- 0xcb, 0x69, 0x67, 0xa8,
- 0x28, 0xf7, 0x8c, 0xe5, 0x67, 0x47, 0x83, 0xab, 0x10, 0x38, 0xd6, 0xec,
- 0x5e, 0x86, 0x5d, 0xd3,
- 0xab, 0x43, 0x66, 0xc1, 0xd9, 0x3a, 0x11, 0xba, 0x90, 0x3b, 0xa9, 0x80,
- 0xeb, 0x3c, 0xf0, 0x84,
- 0xd2, 0xcd, 0x01, 0x56, 0x9f, 0x77, 0x5f, 0x8d, 0x74, 0xa6, 0xb3, 0xfa,
- 0xaf, 0xd4, 0xd6, 0x38,
- 0x31, 0x4f, 0x79, 0x7c, 0x14, 0xfe, 0x4b, 0x7a, 0x75, 0x44, 0x86, 0x84,
- 0x73, 0xe4, 0x16, 0x29,
- 0xde, 0xbb, 0x82, 0x27, 0xd1, 0x88, 0x3f, 0xe1, 0xcd, 0x13, 0x2b, 0x69,
- 0x0b, 0x54, 0x93, 0x40,
- 0xc4, 0xff, 0x27, 0x33, 0x50, 0x7e, 0xef, 0x2b, 0x17, 0xd3, 0x5d, 0x55,
- 0x0f, 0x16, 0x58, 0xa4,
- 0x5f, 0xa7, 0x08, 0xf5, 0x72, 0x3e, 0xbd, 0xe2, 0x26, 0x79, 0xd1, 0xdc,
- 0x31, 0x6f, 0x7f, 0x03,
- 0xcc, 0x1a, 0x64, 0x6d, 0x24, 0xd4, 0xaf, 0x63, 0x78, 0xb4, 0x0c, 0xb7,
- 0x76, 0x57, 0x9f, 0xf4,
- 0xcf, 0xe6, 0x34, 0xe0, 0xd6, 0x9b, 0xb7, 0x78, 0xc7, 0x08, 0x2a, 0xe3,
- 0x5f, 0x77, 0x1f, 0xea,
- 0x76, 0x04, 0xb4, 0x6b, 0xfa, 0xfd, 0x36, 0x40, 0xe2, 0x94, 0xa4, 0xbd,
- 0xc9, 0x48, 0xe3, 0xda,
- 0x2c, 0x64, 0x4c, 0xca, 0x5d, 0x12, 0xa3, 0x8f, 0xc6, 0xea, 0x1f, 0x9d,
- 0x83, 0x47, 0xdf, 0xfb,
- 0xb8, 0xb6, 0xb0, 0xf0, 0xc3, 0xe2, 0x89, 0x31, 0xf1, 0x49, 0x2d, 0xd3,
- 0x30, 0x9e, 0x3d, 0x3a,
- 0xd8, 0x80, 0x22, 0xfe, 0xf6, 0x16, 0x0f, 0xd7, 0x70, 0xa8, 0x67, 0xc1,
- 0x59, 0x14, 0x50, 0x7c,
- 0x2e, 0xcc, 0x2c, 0x3c, 0x40, 0xd9, 0xb3, 0x9d, 0xad, 0x83, 0x9a, 0x44,
- 0x0c, 0xc6, 0x9e, 0xef,
- 0x36, 0x20, 0xe9, 0xde, 0xdc, 0xe4, 0x73, 0x45, 0x1c, 0x2a, 0x69, 0xa1,
- 0x87, 0x05, 0x14, 0x1f,
- 0xdb, 0x7c, 0x72, 0x73, 0x04, 0x59, 0x17, 0xcc, 0xcf, 0x14, 0x41, 0x95,
- 0x70, 0x34, 0xd0, 0x62,
- 0x69, 0x87, 0xe1, 0x2b, 0xae, 0xda, 0xce, 0xa7, 0x3a, 0x53, 0xb8, 0x7d,
- 0xb6, 0x6a, 0x6b, 0x1c,
- 0xb3, 0xaf, 0xa3, 0x23, 0x45, 0x07, 0xd1, 0x62, 0x21, 0x92, 0x5a, 0x65,
- 0x60, 0xff, 0x7a, 0x74,
- 0x14, 0x9a, 0x46, 0x93, 0xd2, 0xc2, 0xa0, 0xb4, 0x08, 0x1c, 0x6b, 0x76,
- 0x2f, 0x43, 0xcf, 0x88,
- 0x95, 0x86, 0xcc, 0x41, 0x71, 0x74, 0x22, 0xb7, 0xe3, 0x76, 0x91, 0xc3,
- 0x15, 0x78, 0x23, 0xcb,
- 0xbe, 0x8d, 0x10, 0x29, 0xe4, 0x7c, 0xb9, 0x07, 0x4c, 0xf2, 0x61, 0x7b,
- 0x62, 0xde, 0xfe, 0x06,
- 0x62, 0x9e, 0xf2, 0xf8, 0x28, 0x3f, 0x96, 0xf4, 0xea, 0x88, 0xcf, 0xcb,
- 0xe6, 0x0b, 0x2c, 0x52,
- 0xa1, 0x0e, 0x45, 0x69, 0xb0, 0x5b, 0x41, 0xe0, 0x94, 0x35, 0x7d, 0xbb,
- 0x1d, 0xfc, 0x76, 0xc0,
- 0x3b, 0x02, 0x5a, 0xd4, 0x7d, 0x9f, 0x1b, 0x20, 0x71, 0x4a, 0x52, 0xbf,
- 0x85, 0x24, 0x90, 0x6d,
- 0x16, 0x32, 0x26, 0x65, 0xcf, 0x09, 0xb0, 0xa6, 0x63, 0x75, 0xee, 0xaf,
- 0xa0, 0xc2, 0x8e, 0x9c,
- 0x66, 0x0d, 0x32, 0xd7, 0x12, 0x6a, 0xb6, 0xd0, 0x3c, 0x5a, 0x06, 0xba,
- 0x3b, 0xca, 0xae, 0x7a,
- 0xe9, 0xcf, 0x5b, 0x82, 0xe2, 0xe8, 0x44, 0xad, 0x05, 0xec, 0xe1, 0x45,
- 0x2a, 0xf0, 0x46, 0x55,
- 0x5c, 0x5b, 0x58, 0x78, 0x80, 0x71, 0xa5, 0xf9, 0x99, 0xc5, 0xf7, 0x88,
- 0x18, 0x4f, 0xff, 0x1d,
- 0x6c, 0x40, 0x11, 0x7f, 0x7b, 0x0b, 0xe6, 0x8a, 0x38, 0x54, 0xd2, 0x81,
- 0xcd, 0x0a, 0x28, 0x3e,
- 0x6d, 0x14, 0x21, 0x04, 0x94, 0x8f, 0xee, 0x83, 0xec, 0x81, 0x71, 0x0c,
- 0x6b, 0xab, 0xe9, 0x34,
- 0xad, 0x78, 0xc6, 0x18, 0xfe, 0xa4, 0x21, 0x8c, 0x2d, 0x80, 0xe5, 0x28,
- 0xb9, 0x7c, 0x33, 0xb8,
- 0x37, 0x74, 0xd9, 0xa5, 0x33, 0x60, 0x7b, 0x4c, 0xc8, 0xff, 0xca, 0x2c,
- 0x21, 0xa4, 0xd5, 0x15,
- 0x61, 0x62, 0xa2, 0x75, 0xda, 0x70, 0x8e, 0xef, 0x55, 0x34, 0xe9, 0x9f,
- 0xcf, 0x2b, 0xac, 0x4c,
- 0x4b, 0x3d, 0x4e, 0x66, 0xa0, 0xfc, 0x1d, 0x56, 0x2e, 0x65, 0xba, 0xaa,
- 0x1e, 0x2c, 0xb0, 0x8b,
- 0xb9, 0xe2, 0x80, 0x8b, 0x2c, 0x66, 0x81, 0x38, 0x25, 0x9c, 0x8e, 0x5e,
- 0x96, 0x3f, 0xfc, 0x30,
- 0xe3, 0x82, 0x78, 0x2a, 0x8b, 0x89, 0x14, 0xf7, 0x01, 0xe2, 0x35, 0x7e,
- 0xdc, 0x30, 0xc0, 0x11,
- 0xba, 0x1e, 0xd0, 0x06, 0xde, 0x29, 0x99, 0x23, 0x9a, 0x20, 0xa8, 0x0a,
- 0xbf, 0x1f, 0x7c, 0x2e,
- 0xf1, 0x23, 0x9e, 0x60, 0x7e, 0xd5, 0x84, 0x75, 0xb4, 0x45, 0x12, 0xa0,
- 0xa1, 0x33, 0xcc, 0xa5,
- 0xa0, 0x5a, 0x75, 0x12, 0x5f, 0xdf, 0x49, 0xe9, 0x40, 0xe0, 0xde, 0x36,
- 0xbb, 0x5d, 0xb7, 0xca,
- 0x85, 0x8f, 0x4a, 0xfd, 0x99, 0xe3, 0xa2, 0x27, 0x3d, 0xb8, 0x33, 0xc4,
- 0xe7, 0xfa, 0x6e, 0x6b,
- 0x83, 0xb4, 0xea, 0x24, 0xbe, 0x7d, 0x92, 0x11, 0x80, 0x03, 0x7f, 0x6c,
- 0xb5, 0xba, 0xad, 0x57,
- 0xda, 0x28, 0x42, 0x08, 0xeb, 0xdd, 0x1f, 0xc5, 0x1b, 0xc1, 0xe2, 0x18,
- 0xd6, 0x95, 0x11, 0x68,
- 0x47, 0x4b, 0xcd, 0x17, 0xee, 0x03, 0x7d, 0x3a, 0x97, 0xd0, 0x22, 0x39,
- 0xba, 0xac, 0xf5, 0xf3,
- 0xc5, 0xab, 0x17, 0x48, 0xbf, 0xfa, 0xe7, 0x22, 0xc3, 0x06, 0xfe, 0xd8,
- 0xa9, 0xb7, 0x99, 0xae,
- 0xb0, 0x53, 0xf3, 0xae, 0xb7, 0x48, 0xc9, 0x79, 0x9e, 0x2e, 0x7c, 0x31,
- 0x49, 0xdf, 0xfa, 0x6a,
- 0x33, 0xe7, 0x19, 0x8a, 0x09, 0x35, 0x5b, 0x68, 0x1e, 0x2d, 0x03, 0x5d,
- 0xfc, 0x65, 0x57, 0x3d,
- 0xfa, 0x3a, 0x8d, 0xb3, 0xf8, 0x30, 0xdc, 0x26, 0x64, 0x9e, 0x65, 0x16,
- 0xf1, 0x52, 0x8b, 0xeb,
- 0x96, 0x7a, 0x9c, 0xcc, 0x83, 0x3b, 0x3a, 0xac, 0x5c, 0xca, 0xb7, 0x97,
- 0x3c, 0x58, 0xa3, 0xd5,
- 0x6f, 0xbc, 0x41, 0xf2, 0x89, 0x44, 0xfe, 0x91, 0x87, 0xe8, 0xf4, 0xd5,
- 0xe4, 0x2a, 0xa8, 0x20,
- 0x6e, 0xe8, 0x71, 0x89, 0x66, 0xc0, 0xf6, 0x98, 0x53, 0x3d, 0x57, 0x58,
- 0x42, 0x8b, 0x69, 0x2a,
- 0xc2, 0xc4, 0x87, 0xea, 0x77, 0xe0, 0xdf, 0x1d, 0xaa, 0x68, 0x11, 0xfd,
- 0x5d, 0x56, 0x9b, 0x98,
- 0xf6, 0x4c, 0x0e, 0xc2, 0xb6, 0xcf, 0xbc, 0x4a, 0xdd, 0x2b, 0xfd, 0x85,
- 0x55, 0xd2, 0xce, 0x93,
- 0x50, 0x2d, 0xdb, 0x09, 0xce, 0x8e, 0xc5, 0x95, 0x20, 0x70, 0x6f, 0x1b,
- 0xbc, 0xcf, 0xba, 0x65,
- 0xff, 0xfd, 0x7d, 0xe7, 0x2d, 0xe1, 0xf4, 0x0b, 0x66, 0x99, 0x0f, 0xea,
- 0x8a, 0x32, 0xc8, 0xc9,
- 0x5d, 0x0f, 0x68, 0x03, 0x6f, 0xf5, 0xad, 0xf0, 0x4d, 0x10, 0x54, 0x05,
- 0xbe, 0xee, 0x3e, 0x17,
- 0xa9, 0xeb, 0x06, 0x37, 0xc4, 0xf1, 0x01, 0xa8, 0xfb, 0x52, 0x2c, 0x59,
- 0x64, 0xbd, 0xb1, 0x90,
- 0x8e, 0x96, 0x59, 0x2e, 0x1f, 0x06, 0xfa, 0x74, 0xed, 0x63, 0x44, 0x72,
- 0xb7, 0x9b, 0x29, 0x25,
- 0x17, 0x66, 0x16, 0x1e, 0x20, 0x8d, 0xb8, 0xaf, 0xb7, 0xa0, 0x4d, 0x22,
- 0x06, 0x63, 0x4f, 0x96,
- 0x1b, 0x10, 0x95, 0x6f, 0x6e, 0x72, 0xd8, 0xc3, 0x0e, 0x15, 0xd5, 0xb1,
- 0xa2, 0xe3, 0x0a, 0xee,
- 0x97, 0x2e, 0xac, 0xb7, 0x6c, 0xbf, 0x32, 0xa5, 0x88, 0x1f, 0x14, 0x1a,
- 0x9a, 0xf9, 0x62, 0xdf,
- 0x7d, 0x1d, 0xa7, 0xb8, 0x7c, 0x18, 0x6e, 0x13, 0x32, 0x4f, 0xd3, 0x0b,
- 0x99, 0x29, 0xa4, 0x94,
- 0xec, 0x08, 0xab, 0xd6, 0x37, 0x39, 0x6c, 0x80, 0x07, 0xeb, 0x8b, 0xb9,
- 0x51, 0x90, 0x05, 0x77,
- 0x58, 0xc8, 0x98, 0x57, 0xba, 0x24, 0x85, 0xdd, 0x4f, 0x17, 0x3e, 0xf9,
- 0xc5, 0x8e, 0x7d, 0x35,
- 0xf7, 0x18, 0x3e, 0xb9, 0x59, 0x4b, 0xb4, 0x43, 0x09, 0xfe, 0x5e, 0x08,
- 0xf3, 0x73, 0x0f, 0x99,
- 0x1f, 0x83, 0x55, 0x40, 0x54, 0x27, 0xf8, 0xe7, 0xd8, 0xc7, 0x1c, 0xc0,
- 0x7f, 0x22, 0x88, 0xc6,
- 0xfb, 0x6e, 0xbd, 0xc8, 0x17, 0xb4, 0xd4, 0x2f, 0xb0, 0x4b, 0xc6, 0x9b,
- 0x57, 0xf3, 0x4a, 0xe1,
- 0x7c, 0x49, 0x97, 0xc3, 0x93, 0x9c, 0x66, 0x1a, 0xe6, 0x9a, 0x70, 0x86,
- 0x3f, 0x88, 0x65, 0x9e,
- 0x09, 0xb1, 0x73, 0x25, 0x9b, 0x2e, 0x48, 0x41, 0xbb, 0xb2, 0xf2, 0x6f,
- 0xdf, 0xe0, 0x06, 0x5a,
- 0x0d, 0x22, 0xb3, 0x0a, 0xa1, 0x7b, 0x68, 0x65, 0x6d, 0x60, 0x3b, 0x1e,
- 0x02, 0x21, 0x84, 0x72,
- 0x7a, 0x72, 0x37, 0x1a, 0xb4, 0x02, 0x56, 0x2c, 0x5b, 0x21, 0x3c, 0x2e,
- 0x6d, 0xc8, 0xa6, 0xa2,
- 0x67, 0x59, 0x02, 0xac, 0xfd, 0xee, 0xbe, 0xd9, 0xe8, 0x8f, 0xa5, 0x37,
- 0x9d, 0x6b, 0x6f, 0x70,
- 0x45, 0xe3, 0xad, 0xe1, 0xf3, 0xc8, 0x6d, 0x28, 0xfc, 0xb9, 0xa7, 0xe0,
- 0x35, 0x2d, 0xb4, 0xe7,
- 0x87, 0x27, 0x2a, 0x0b, 0x84, 0x28, 0xb2, 0x35, 0x56, 0xd1, 0xb6, 0x1d,
- 0x68, 0x7b, 0x2f, 0x7f,
- 0xdc, 0x13, 0xe2, 0xd1, 0xcc, 0x43, 0x2f, 0xf3, 0xa6, 0x7a, 0xae, 0xb0,
- 0x84, 0xd5, 0xd2, 0x54,
- 0xe8, 0x9b, 0x6b, 0xf9, 0x0d, 0x6c, 0x4c, 0xa4, 0xd1, 0x39, 0x42, 0xc8,
- 0x8c, 0x51, 0x87, 0x5f,
- 0x4f, 0xae, 0x8e, 0x49, 0x9a, 0xa9, 0x3d, 0x72, 0xf8, 0xb7, 0x73, 0xdb,
- 0xc3, 0xed, 0x32, 0xa3,
- 0x1d, 0x2b, 0x35, 0xb6, 0x49, 0xec, 0xe8, 0xf5, 0xb3, 0xae, 0x99, 0x19,
- 0xf0, 0xa3, 0xc9, 0xd2,
- 0x4e, 0xfa, 0xbe, 0x32, 0x75, 0x2d, 0x35, 0x7b, 0x2c, 0x62, 0xd0, 0x56,
- 0x65, 0x4c, 0xf3, 0xa9,
- 0x04, 0x93, 0xc0, 0x2f, 0x3a, 0x55, 0x20, 0x24, 0xd6, 0xd2, 0xc9, 0x71,
- 0xdd, 0xc1, 0x82, 0x28,
- 0xeb, 0x67, 0x3b, 0x74, 0xff, 0x23, 0x54, 0xbf, 0x6e, 0x85, 0x64, 0x9c,
- 0xa5, 0x71, 0x07, 0x41,
- 0xf8, 0x92, 0xed, 0x45, 0xe5, 0xfb, 0xcc, 0x34, 0x0f, 0xf7, 0xe0, 0xcf,
- 0x7e, 0xd3, 0xca, 0xff,
- 0xf3, 0x8b, 0xfe, 0x96, 0x63, 0x1e, 0x94, 0x67, 0xdf, 0x2c, 0x97, 0x79,
- 0x2e, 0xb2, 0x8d, 0xb1,
- 0x3e, 0xc5, 0xaa, 0x80, 0xa8, 0x4e, 0x33, 0x0d, 0x73, 0x4d, 0x38, 0x43,
- 0xfe, 0x44, 0xd3, 0x4f,
- 0x3d, 0x39, 0xfa, 0x0d, 0x5a, 0x01, 0x2b, 0x16, 0xcc, 0xf1, 0x1e, 0x17,
- 0xd7, 0x64, 0x53, 0x51,
- 0xbd, 0x71, 0x40, 0xa4, 0x16, 0x33, 0xa1, 0x1c, 0xf3, 0x4e, 0x47, 0x2f,
- 0x4b, 0xfe, 0x7e, 0x18,
- 0x8a, 0x05, 0x99, 0x01, 0x25, 0x53, 0xda, 0x50, 0x3b, 0xb1, 0x8d, 0x03,
- 0x6a, 0x5a, 0xab, 0x0d,
- 0x88, 0xad, 0xf9, 0xf7, 0x38, 0x98, 0xca, 0x42, 0x50, 0xd8, 0x08, 0xda,
- 0xe5, 0xdb, 0xea, 0x19,
- 0xdd, 0x47, 0xd2, 0xaa, 0x23, 0xc7, 0x27, 0xfa, 0x72, 0xaf, 0x0d, 0x3d,
- 0x22, 0x74, 0x13, 0x5e,
- 0xcd, 0x4e, 0x54, 0x16, 0xcb, 0x50, 0xa7, 0x6a, 0xac, 0x61, 0xaf, 0x3a,
- 0xd0, 0xf6, 0x5e, 0xfe,
- 0x0b, 0x19, 0x13, 0xd3, 0x86, 0xe5, 0x58, 0x53, 0xd0, 0xdb, 0x77, 0xb6,
- 0x50, 0x61, 0x47, 0x4e,
- 0x13, 0xf5, 0xd6, 0x31, 0x1a, 0xd8, 0x98, 0x8b, 0x61, 0x72, 0x84, 0x53,
- 0xdb, 0xa2, 0xcd, 0xbe,
- 0x98, 0xa4, 0x7f, 0x4b, 0xd0, 0x0f, 0x4a, 0xd2, 0x8e, 0x16, 0xaa, 0xdd,
- 0x17, 0x59, 0xa7, 0xb9,
- 0x02, 0xa8, 0x60, 0xf6, 0x1d, 0xcb, 0x10, 0x12, 0x6b, 0x69, 0x85, 0xd9,
- 0x8f, 0x81, 0x41, 0x14,
- 0x93, 0xbd, 0x6c, 0x98, 0x56, 0xea, 0x12, 0x81, 0x5e, 0xcd, 0xdd, 0x6b,
- 0x47, 0x38, 0xe0, 0xf7,
- 0x80, 0x48, 0xba, 0xa9, 0x4c, 0x32, 0x8a, 0x0a, 0x3f, 0xbf, 0x59, 0x38,
- 0x9c, 0x9a, 0x2d, 0x49,
- 0x90, 0x41, 0x3c, 0x15, 0xa4, 0xa5, 0x0a, 0x9a, 0xe1, 0x71, 0xfb, 0x3f,
- 0x6e, 0x18, 0x60, 0xe9,
- 0xd0, 0x65, 0x61, 0xa0, 0x82, 0xbc, 0x4f, 0x9f, 0x1f, 0xcf, 0x36, 0x23,
- 0x20, 0x55, 0x97, 0x2c,
- 0x24, 0x81, 0x0f, 0x94, 0x29, 0xb8, 0xe3, 0xc7, 0xa9, 0x8d, 0x4e, 0x7f,
- 0xfa, 0x06, 0x18, 0xab,
- 0x34, 0x88, 0x89, 0x28, 0xc1, 0x2f, 0x63, 0x57, 0x77, 0x43, 0xec, 0x78,
- 0x08, 0x84, 0x55, 0x0b,
- 0xcb, 0x75, 0xf4, 0xcf, 0xec, 0xce, 0x97, 0x5c, 0x11, 0xda, 0xe3, 0x92,
- 0x82, 0xb6, 0x9d, 0xc2,
- 0xed, 0x5c, 0x9b, 0xad, 0xd8, 0xbd, 0x64, 0x89, 0xd3, 0x3e, 0x28, 0x34,
- 0xf7, 0x31, 0xc4, 0x7d,
- 0xf4, 0xe4, 0x6e, 0x34, 0xab, 0x04, 0xac, 0x58, 0xb6, 0x42, 0x78, 0x5c,
- 0xda, 0x53, 0x8f, 0x87,
- 0xce, 0xb2, 0x04, 0x9b, 0x39, 0x1f, 0xbf, 0x71, 0x13, 0xdd, 0x89, 0x6e,
- 0xf9, 0xd6, 0xde, 0xe0,
- 0x99, 0xf0, 0x4f, 0x30, 0x3f, 0x8b, 0x42, 0xdb, 0x5a, 0xc3, 0x09, 0x50,
- 0xb1, 0xf8, 0x66, 0xb3,
- 0x10, 0x09, 0x86, 0xbc, 0xe8, 0x97, 0x80, 0x90, 0xde, 0xce, 0xa2, 0x07,
- 0xf2, 0x82, 0x4d, 0xa0,
- 0x44, 0xb7, 0x9d, 0x9a, 0x1c, 0x4c, 0x65, 0x21, 0x28, 0x6c, 0x04, 0x6d,
- 0x93, 0x8c, 0x75, 0xed,
- 0x40, 0x24, 0x5d, 0xb5, 0x26, 0x19, 0x45, 0x05, 0xfe, 0xbe, 0xcd, 0x1c,
- 0x4e, 0x4d, 0xf7, 0xc5,
- 0x92, 0xe9, 0x5c, 0xe3, 0xb9, 0x6e, 0x1a, 0x88, 0x8a, 0x18, 0x7e, 0xe6,
- 0xe1, 0x99, 0x21, 0xfd,
- 0x3a, 0x56, 0x6a, 0xaf, 0x92, 0x1b, 0x13, 0x29, 0xa5, 0x9f, 0xf1, 0x32,
- 0x23, 0x85, 0x51, 0x67,
- 0x01, 0x54, 0x30, 0x7b, 0xef, 0x84, 0x08, 0x09, 0xd4, 0xd5, 0xa3, 0x8d,
- 0xa6, 0xa1, 0xc1, 0x0a,
- 0x26, 0x29, 0x6f, 0x62, 0x34, 0x73, 0xf3, 0xd5, 0xc2, 0xe4, 0xcb, 0xa6,
- 0x75, 0x87, 0x59, 0xbf,
- 0x12, 0xa1, 0xe6, 0x4a, 0xf5, 0x5c, 0x90, 0x82, 0xb5, 0xa7, 0x27, 0xde,
- 0x7d, 0x03, 0x0c, 0xb4,
- 0x1a, 0x44, 0xa5, 0x14, 0x81, 0xf6, 0xd0, 0xca, 0xda, 0xc0, 0x76, 0x3c,
- 0x04, 0x42, 0xcb, 0xe4,
- 0x48, 0xc1, 0x1e, 0xeb, 0x52, 0xb3, 0x05, 0x4d, 0x91, 0xd9, 0x9c, 0xfe,
- 0x37, 0x0c, 0x30, 0x95,
- 0x68, 0xd3, 0xd1, 0x50, 0x41, 0x5e, 0xc6, 0xae, 0xee, 0x86, 0x1b, 0xf0,
- 0x10, 0xcb, 0xaa, 0x16,
- 0xf5, 0xb0, 0x5e, 0x4f, 0x44, 0x80, 0xa4, 0x51, 0x62, 0x97, 0xdb, 0xd1,
- 0x7c, 0xf2, 0x4e, 0x8d,
- 0x81, 0x1c, 0x8a, 0xd2, 0xa3, 0xb6, 0x82, 0x03, 0xeb, 0x6a, 0xfa, 0xb5,
- 0x3a, 0x3b, 0xec, 0x43,
- 0x8b, 0x51, 0xa9, 0x7a, 0xca, 0xd7, 0xd2, 0x59, 0xef, 0x64, 0x2e, 0x8e,
- 0xcc, 0xfb, 0x6a, 0x07,
- 0xc7, 0x03, 0x77, 0xbe, 0xa2, 0x31, 0xf7, 0x30, 0xa8, 0x6f, 0x7b, 0x01,
- 0x26, 0x36, 0xd8, 0xba,
- 0xd6, 0x5e, 0xc1, 0x79, 0xa5, 0x22, 0x7f, 0xa9, 0xa2, 0x74, 0x7a, 0x8b,
- 0x72, 0x15, 0x54, 0x10,
- 0x20, 0x12, 0xcf, 0xbb, 0x13, 0xed, 0xc3, 0xe3, 0x7f, 0x5f, 0x87, 0x0e,
- 0x27, 0xc7, 0x9a, 0x83,
- 0x0a, 0x4d, 0x23, 0xa8, 0x69, 0x61, 0x50, 0x5a, 0x04, 0x0e, 0xd4, 0x3b,
- 0xf6, 0xc0, 0x86, 0x44,
- 0x08, 0xe5, 0x43, 0x5e, 0x74, 0xaa, 0x40, 0x48, 0x6f, 0x67, 0x51, 0xe2,
- 0x79, 0x41, 0xc7, 0x50,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x4c, 0x52, 0xde, 0xc4, 0x68, 0xe6, 0x25, 0x69, 0x47, 0x0b, 0x55, 0x8f,
- 0xea, 0xcd, 0xb2, 0xbd,
- 0xd7, 0x0a, 0xf1, 0x02, 0x4a, 0xa6, 0x77, 0xa0, 0x76, 0xa1, 0xd9, 0x06,
- 0xd4, 0xb4, 0x95, 0x1a,
- 0x74, 0xac, 0xd4, 0x9d, 0xe7, 0x36, 0x26, 0x52, 0x89, 0xfd, 0x21, 0x64,
- 0x46, 0xc9, 0xa2, 0xce,
- },
- { /* 8 */
- 0x99, 0xaa, 0x16, 0x04, 0xc2, 0x95, 0x8c, 0x4a, 0x63, 0xeb, 0xf0, 0x49,
- 0x21, 0x0a, 0xad, 0xf8,
- 0x93, 0xe3, 0xda, 0xa3, 0x95, 0xb5, 0xa1, 0x97, 0x1b, 0x19, 0xbd, 0x7f,
- 0x09, 0x35, 0xa8, 0x38,
- 0x88, 0xfd, 0x2b, 0x3b, 0xa6, 0xc5, 0x21, 0xbc, 0xaf, 0xb5, 0xad, 0x3e,
- 0x65, 0x8a, 0x44, 0xdb,
- 0xae, 0x16, 0x29, 0x6c, 0x27, 0x1a, 0xaa, 0xe1, 0xc4, 0x02, 0x84, 0xcc,
- 0xfd, 0xee, 0x57, 0x5c,
- 0x8b, 0xbe, 0x09, 0x55, 0xe0, 0x74, 0xcd, 0x78, 0xbb, 0x23, 0x51, 0x37,
- 0x69, 0x61, 0xa4, 0xfb,
- 0xbd, 0x82, 0x28, 0xa6, 0x86, 0x94, 0x0e, 0x2e, 0x10, 0xb8, 0x71, 0xb5,
- 0xb1, 0xdc, 0xbf, 0xfe,
- 0x69, 0xbd, 0x24, 0x97, 0x06, 0x13, 0xb2, 0x23, 0xa9, 0x8c, 0x87, 0xdc,
- 0x67, 0x47, 0xd5, 0x6a,
- 0xb1, 0x4d, 0xa0, 0xdd, 0x5d, 0x15, 0x38, 0xb8, 0x40, 0xa5, 0x07, 0x91,
- 0x81, 0xf6, 0xb9, 0x7e,
- 0x6e, 0xbb, 0x7e, 0xd0, 0x09, 0xdd, 0x4c, 0x95, 0x8d, 0x11, 0xe8, 0xc9,
- 0x7b, 0x0b, 0x37, 0x8b,
- 0x38, 0x30, 0x95, 0x7d, 0x78, 0xbf, 0xfc, 0xf9, 0xe3, 0x62, 0xfe, 0xa8,
- 0xe0, 0x25, 0x1c, 0x04,
- 0x3e, 0xb6, 0xd1, 0xa1, 0xf4, 0x1e, 0xe7, 0xb2, 0xcb, 0x8d, 0xc5, 0xba,
- 0xf8, 0x30, 0x1f, 0x44,
- 0x92, 0x63, 0xc4, 0x38, 0x16, 0xda, 0x44, 0x6a, 0x17, 0x6b, 0xe9, 0x78,
- 0x0d, 0x6c, 0x49, 0x99,
- 0x95, 0x65, 0x9e, 0x7f, 0x19, 0x14, 0xba, 0xdc, 0x33, 0xf6, 0x86, 0x6d,
- 0x11, 0x20, 0xab, 0x78,
- 0x59, 0x07, 0x41, 0xb8, 0xec, 0x52, 0x6a, 0x3e, 0x2a, 0xf8, 0x9c, 0x4c,
- 0xa7, 0xef, 0xcd, 0x2f,
- 0x31, 0x3a, 0x7b, 0xb4, 0x69, 0x2e, 0x3d, 0xe0, 0x8f, 0x06, 0x4f, 0x97,
- 0xc4, 0xf1, 0xf9, 0xe4,
- 0x4e, 0xd6, 0x38, 0x5b, 0x04, 0xa3, 0xdc, 0x83, 0xce, 0x49, 0xfa, 0x29,
- 0xfb, 0x7a, 0x27, 0x4c,
- 0xd3, 0x39, 0x56, 0x76, 0x8f, 0x49, 0x42, 0xbb, 0x9d, 0xa9, 0x99, 0x7c,
- 0xca, 0xd7, 0x88, 0x75,
- 0xce, 0xa1, 0xe3, 0x32, 0x30, 0x98, 0xd9, 0xdb, 0x01, 0xea, 0xb2, 0x2f,
- 0xbe, 0x7d, 0x67, 0xd6,
- 0xa0, 0x1a, 0x9d, 0xe2, 0x39, 0x45, 0x95, 0x4e, 0x8c, 0xfb, 0x5a, 0xe6,
- 0xc5, 0x76, 0x50, 0x5d,
- 0xe5, 0x05, 0x77, 0x85, 0xe9, 0xa9, 0x81, 0xed, 0x36, 0x32, 0xb9, 0xfe,
- 0x12, 0x6a, 0x93, 0x70,
- 0xd5, 0xbf, 0x12, 0xaa, 0x03, 0xe8, 0x59, 0xf0, 0xb5, 0x46, 0xa2, 0x6e,
- 0xd2, 0xc2, 0x8b, 0x35,
- 0xb9, 0xc7, 0x50, 0x8f, 0xcf, 0xeb, 0x1c, 0x5c, 0x20, 0xb3, 0xe2, 0xa9,
- 0xa1, 0x7b, 0xbd, 0x3f,
- 0xa4, 0x5f, 0xe5, 0xcb, 0x70, 0x3a, 0x87, 0x3c, 0xbc, 0xf0, 0xc9, 0xfa,
- 0xd5, 0xd1, 0x52, 0x9c,
- 0xbf, 0x41, 0x14, 0x53, 0x43, 0x4a, 0x07, 0x17, 0x08, 0x5c, 0xd9, 0xbb,
- 0xb9, 0x6e, 0xbe, 0x7f,
- 0x2d, 0x22, 0xd0, 0x6b, 0x55, 0x90, 0x43, 0x7d, 0x1f, 0x37, 0x30, 0xc3,
- 0xb4, 0x02, 0xf7, 0xe6,
- 0xe7, 0xc6, 0x4b, 0x70, 0x2c, 0x77, 0x88, 0xd4, 0x2e, 0xd6, 0x11, 0xf0,
- 0x1a, 0xd8, 0x92, 0xf1,
- 0xdc, 0xb5, 0xfc, 0x63, 0x12, 0x79, 0x98, 0xe9, 0xd9, 0x22, 0x13, 0x51,
- 0xf6, 0x16, 0x6e, 0xd5,
- 0x21, 0xed, 0x58, 0x10, 0x8e, 0x11, 0x75, 0xeb, 0x4f, 0x2a, 0x46, 0xe7,
- 0x84, 0x28, 0xf1, 0x66,
- 0xf9, 0x1d, 0xdc, 0x5a, 0xd5, 0x17, 0xff, 0x70, 0xa6, 0x03, 0xc6, 0xaa,
- 0x62, 0x99, 0x9d, 0x72,
- 0xee, 0xcc, 0xa5, 0xb9, 0x3d, 0xe6, 0x49, 0xcd, 0x42, 0xb2, 0xa0, 0xcf,
- 0x3e, 0x0c, 0x77, 0x11,
- 0x62, 0x74, 0xf6, 0xab, 0xd2, 0x5c, 0x7a, 0x03, 0xdd, 0x0c, 0x9e, 0xed,
- 0x4b, 0x21, 0x31, 0x0b,
- 0xcd, 0xe2, 0xc1, 0x5c, 0x76, 0x29, 0x35, 0x1f, 0x15, 0x7c, 0x4e, 0x26,
- 0xb2, 0x96, 0x87, 0xf6,
- 0x67, 0xb1, 0x90, 0x19, 0x18, 0x4c, 0x8d, 0x8c, 0xe1, 0x75, 0x59, 0xf6,
- 0x5f, 0xdf, 0xd2, 0x6b,
- 0x72, 0xa3, 0xd5, 0x0f, 0x35, 0x63, 0x32, 0x08, 0x1d, 0x20, 0x97, 0x9d,
- 0x0b, 0xf8, 0x39, 0x89,
- 0x9b, 0x69, 0x2a, 0xf1, 0x07, 0x4b, 0x85, 0x73, 0x7b, 0x0f, 0x58, 0x47,
- 0x29, 0xb8, 0xac, 0x79,
- 0xbe, 0xc1, 0x0a, 0xc8, 0xc0, 0x25, 0xe2, 0xea, 0x04, 0x2e, 0x8d, 0xbc,
- 0xbd, 0x37, 0x5f, 0xde,
- 0xeb, 0x09, 0xc3, 0x0b, 0xf7, 0xf6, 0xbe, 0x42, 0x7e, 0xcb, 0x67, 0xd4,
- 0x2a, 0xf2, 0x94, 0x71,
- 0x86, 0xf1, 0x9f, 0xb5, 0xb8, 0x9a, 0x1e, 0x13, 0xe7, 0x4c, 0x73, 0x14,
- 0x5d, 0x12, 0x43, 0xda,
- 0x83, 0x34, 0xf9, 0x07, 0x72, 0x8a, 0xe9, 0x9c, 0xdb, 0x35, 0xb4, 0x0f,
- 0x49, 0xec, 0xa0, 0xba,
- 0x09, 0x0a, 0xee, 0xc9, 0x11, 0x91, 0xc1, 0x19, 0x6c, 0x64, 0xb1, 0x3f,
- 0x24, 0xd4, 0xe5, 0xe0,
- 0x54, 0x48, 0xd7, 0x58, 0xb4, 0xbc, 0xb9, 0x55, 0x76, 0x97, 0xbe, 0x6f,
- 0x93, 0x9c, 0x2a, 0x0e,
- 0x77, 0x66, 0xb3, 0xbd, 0xff, 0x73, 0xc5, 0x87, 0x21, 0x59, 0x50, 0x86,
- 0x1f, 0x06, 0xda, 0xe9,
- 0x40, 0xda, 0x8c, 0xd5, 0x1a, 0xfc, 0xe3, 0x2c, 0x86, 0xb0, 0x24, 0x03,
- 0xc3, 0xe2, 0x20, 0x4d,
- 0xf6, 0x91, 0x76, 0x4f, 0x48, 0x27, 0x25, 0x22, 0xe2, 0x88, 0x4c, 0x87,
- 0x5e, 0x58, 0x7b, 0xd2,
- 0x5a, 0x44, 0x63, 0xd6, 0xaa, 0xe3, 0x86, 0xfa, 0x3e, 0x6e, 0x60, 0x45,
- 0xab, 0x04, 0x2d, 0x0f,
- 0x0d, 0x4f, 0x96, 0xe0, 0x58, 0xee, 0xd3, 0x6b, 0x5c, 0x6f, 0x22, 0x23,
- 0x34, 0x73, 0xe7, 0x21,
- 0xfa, 0x5e, 0xfe, 0x34, 0x93, 0xa6, 0x13, 0xb4, 0xb2, 0x95, 0x3a, 0xa3,
- 0x6e, 0x72, 0x7d, 0x52,
- 0xc7, 0xab, 0x0d, 0xfb, 0x21, 0x09, 0x18, 0xc2, 0x6d, 0x8e, 0x03, 0x10,
- 0x9a, 0xa9, 0x82, 0x36,
- 0x65, 0x72, 0xac, 0xec, 0xdd, 0x92, 0x84, 0xb5, 0xf9, 0x91, 0xf1, 0xf8,
- 0x57, 0x6d, 0xd3, 0xea,
- 0x5f, 0x81, 0x05, 0x64, 0x60, 0xf3, 0x71, 0x75, 0x02, 0x17, 0xa7, 0x5e,
- 0xbf, 0xfa, 0xce, 0x6f,
- 0xd2, 0xb9, 0x48, 0xed, 0x0c, 0x26, 0xa7, 0x46, 0x91, 0xdb, 0xcd, 0x7b,
- 0xce, 0x8e, 0x69, 0xd4,
- 0xf0, 0x17, 0x32, 0x93, 0xc4, 0x86, 0x3e, 0x69, 0xca, 0x67, 0x77, 0x95,
- 0x46, 0x4d, 0x78, 0x92,
- 0x94, 0xe5, 0x80, 0xe4, 0x9a, 0x7b, 0x5f, 0x21, 0x3f, 0x84, 0xd2, 0x6a,
- 0x15, 0x79, 0x4a, 0xd9,
- 0x43, 0x99, 0xae, 0xbb, 0x5c, 0x4d, 0x0f, 0xe8, 0x92, 0x26, 0xd8, 0x0a,
- 0xcf, 0x09, 0xc0, 0x6d,
- 0x44, 0x9f, 0xf4, 0xfc, 0x53, 0x83, 0xf1, 0x5e, 0xb6, 0xbb, 0xb7, 0x1f,
- 0xd3, 0x45, 0x22, 0x8c,
- 0x9e, 0xac, 0x4c, 0x43, 0xcd, 0x5b, 0x72, 0xfc, 0x47, 0x76, 0x9f, 0x5c,
- 0x3d, 0x46, 0x4f, 0x19,
- 0xe9, 0xca, 0xff, 0xfe, 0x32, 0x28, 0xb7, 0x7b, 0x66, 0x2f, 0xcf, 0xda,
- 0x22, 0x40, 0x95, 0xf0,
- 0xb2, 0x0e, 0x82, 0xb3, 0x1b, 0xa4, 0xd4, 0x7c, 0x54, 0x33, 0xfb, 0x98,
- 0x8d, 0x1d, 0x59, 0x5e,
- 0x2a, 0x24, 0x8a, 0x2c, 0x5a, 0x5e, 0xbd, 0xcb, 0x3b, 0xaa, 0x5f, 0xd6,
- 0xa8, 0x4e, 0x15, 0x07,
- 0x13, 0x94, 0x01, 0xca, 0xa1, 0x8e, 0xa4, 0xcf, 0xd4, 0xba, 0xf5, 0x79,
- 0x4c, 0x32, 0xe8, 0xa2,
- 0x37, 0xbc, 0x3f, 0x68, 0xe5, 0x8f, 0x26, 0xab, 0xa7, 0xe9, 0x74, 0x85,
- 0xdc, 0xe4, 0xfa, 0xa4,
- 0x1c, 0x18, 0xab, 0xdf, 0x3c, 0xbe, 0x7e, 0x9d, 0x90, 0x31, 0x7f, 0x54,
- 0x70, 0xf3, 0x0e, 0x02,
- 0xb4, 0x88, 0xc6, 0x6f, 0x97, 0x05, 0xcf, 0x37, 0x7c, 0xdc, 0xc0, 0x8a,
- 0x95, 0x08, 0x5a, 0x1e,
- 0x4b, 0x13, 0x5e, 0xe9, 0xce, 0xb3, 0x2b, 0x0c, 0xf2, 0x30, 0x3d, 0x32,
- 0xef, 0x84, 0xc4, 0x2c,
- 0x7f, 0xec, 0x43, 0xef, 0x6d, 0x8d, 0xe1, 0x63, 0x41, 0x4f, 0xb5, 0xbe,
- 0x3f, 0x8b, 0xde, 0xa8,
- 0x78, 0xea, 0x19, 0xa8, 0x62, 0x43, 0x1f, 0xd5, 0x65, 0xd2, 0xda, 0xab,
- 0x23, 0xc7, 0x3c, 0x49,
- 0xcc, 0x62, 0xdf, 0xc7, 0xf5, 0x46, 0xd0, 0xe2, 0x19, 0x0e, 0x1a, 0x21,
- 0xb6, 0xcf, 0x66, 0x57,
- 0x81, 0xf7, 0xc5, 0xf2, 0xb7, 0x54, 0xe0, 0xa5, 0xc3, 0xd1, 0x1c, 0x01,
- 0x41, 0x5e, 0xa1, 0x3b,
- 0xac, 0xd5, 0x15, 0x99, 0xe2, 0xc4, 0xa3, 0xd8, 0xdc, 0xe6, 0x2c, 0xc2,
- 0xf5, 0x5c, 0x56, 0xdd,
- 0x98, 0x2a, 0x08, 0x9f, 0x41, 0xfa, 0x69, 0xb7, 0x6f, 0x99, 0xa4, 0x4e,
- 0x25, 0x53, 0x4c, 0x59,
- 0x56, 0x8b, 0xeb, 0xad, 0x71, 0x62, 0xb0, 0x6c, 0x6e, 0x73, 0x16, 0x61,
- 0x9b, 0x2e, 0x2b, 0x8f,
- 0x1e, 0xdb, 0x97, 0x2a, 0xf9, 0x60, 0x77, 0xa4, 0x88, 0xd5, 0xd7, 0x5a,
- 0x78, 0x41, 0x0f, 0x83,
- 0x30, 0xba, 0x65, 0x2f, 0xea, 0x41, 0xd8, 0x1d, 0x83, 0x74, 0x1b, 0x90,
- 0xc0, 0xa8, 0x18, 0x45,
- 0x14, 0x92, 0x5b, 0x8d, 0xae, 0x40, 0x5a, 0x79, 0xf0, 0x27, 0x9a, 0x6c,
- 0x50, 0x7e, 0x0a, 0x43,
- 0xc5, 0x68, 0x31, 0x0e, 0xe4, 0xd7, 0x11, 0xfb, 0x75, 0x6a, 0xab, 0x1e,
- 0x92, 0x1b, 0x83, 0xb7,
- 0x49, 0xd0, 0x62, 0x1c, 0x0b, 0x6d, 0x22, 0x35, 0xea, 0xd4, 0x95, 0x3c,
- 0xe7, 0x36, 0xc5, 0xad,
- 0xb0, 0xcd, 0xbe, 0x46, 0xde, 0x7a, 0xdd, 0x45, 0x4c, 0xd7, 0x53, 0x96,
- 0x85, 0xaf, 0x58, 0xdf,
- 0x70, 0x60, 0xe9, 0xfa, 0xf0, 0xbd, 0x3b, 0x31, 0x05, 0xc4, 0x3f, 0x93,
- 0x03, 0x4a, 0x38, 0x08,
- 0x0b, 0xc9, 0xd2, 0x3c, 0xd4, 0x4f, 0xc8, 0x20, 0x74, 0x80, 0x19, 0x31,
- 0x2c, 0x66, 0xe4, 0x61,
- 0xa6, 0x9c, 0xd9, 0x3e, 0xb5, 0xe4, 0x8e, 0x05, 0xa4, 0x14, 0x61, 0xf4,
- 0xdd, 0x63, 0x53, 0x1d,
- 0xaf, 0x96, 0x37, 0xf7, 0xa4, 0x75, 0x4f, 0x1c, 0xc8, 0x70, 0xd0, 0xcb,
- 0xf9, 0xb7, 0xb6, 0xfd,
- 0xa1, 0x9a, 0x83, 0x79, 0xba, 0x2a, 0x70, 0xb3, 0x80, 0x89, 0x0e, 0xe1,
- 0xc1, 0x2f, 0xb1, 0xfc,
- 0x17, 0xd1, 0x79, 0xe3, 0xe8, 0xf1, 0xb6, 0xbd, 0xe4, 0xb1, 0x66, 0x65,
- 0x5c, 0x95, 0xea, 0x63,
- 0xf5, 0xd2, 0x54, 0x21, 0x0e, 0x96, 0xc9, 0xe6, 0xf6, 0x1e, 0xb0, 0x8e,
- 0x52, 0xb3, 0x9b, 0xf2,
- 0xfd, 0x58, 0xa4, 0x73, 0x9c, 0x68, 0xed, 0x02, 0x96, 0x08, 0x55, 0xb6,
- 0x72, 0x3e, 0x9f, 0xb3,
- 0x3c, 0x75, 0xed, 0x54, 0x31, 0xc0, 0xee, 0x8b, 0xd3, 0x69, 0x6d, 0xb4,
- 0xf0, 0x82, 0x1e, 0xc5,
- 0xca, 0xe4, 0x9b, 0x1b, 0x79, 0xe7, 0xcb, 0xa9, 0x31, 0xe1, 0x21, 0x33,
- 0xae, 0xda, 0x65, 0x17,
- 0xa2, 0xd9, 0xa1, 0x17, 0xfc, 0x9b, 0x9c, 0x77, 0x94, 0x1f, 0xf2, 0xe8,
- 0xcd, 0xc4, 0x51, 0xdc,
- 0x4a, 0x93, 0x40, 0x72, 0x4d, 0xdc, 0xce, 0xf1, 0xfe, 0x42, 0x69, 0x35,
- 0xeb, 0xdd, 0x25, 0x8d,
- 0x0c, 0xcf, 0x88, 0x7b, 0xdb, 0x81, 0x36, 0x96, 0x50, 0x1d, 0x76, 0x24,
- 0x30, 0x2a, 0x06, 0x80,
- 0x18, 0x5d, 0xd3, 0xf6, 0x75, 0xc1, 0x6c, 0xef, 0xa0, 0x3a, 0xec, 0x48,
- 0x60, 0x54, 0x0c, 0xc3,
- 0xc3, 0xee, 0x75, 0xd2, 0x68, 0x76, 0x0a, 0xb0, 0x5d, 0x85, 0x90, 0x0c,
- 0x8a, 0x0e, 0x80, 0xf7,
- 0x47, 0xdc, 0xd6, 0x92, 0x15, 0x32, 0x1d, 0x9a, 0xa2, 0x2d, 0x4b, 0x16,
- 0xdf, 0xae, 0xc2, 0xac,
- 0x8f, 0xfb, 0x71, 0x7c, 0xa9, 0x0b, 0xdf, 0x0a, 0x8b, 0x28, 0xc2, 0x2b,
- 0x79, 0xc6, 0xa6, 0x3a,
- 0xf2, 0xd4, 0x0e, 0x66, 0x01, 0x58, 0x37, 0x50, 0xd2, 0x83, 0xdf, 0x9b,
- 0x4e, 0xff, 0x79, 0x13,
- 0xe0, 0xc0, 0x11, 0x37, 0x23, 0xb9, 0x76, 0x62, 0x0a, 0x4b, 0x7e, 0xe5,
- 0x06, 0x94, 0x70, 0x10,
- 0x3d, 0xf5, 0xf3, 0xcf, 0xb2, 0xaf, 0x0b, 0x76, 0xdf, 0x1b, 0x39, 0xb3,
- 0xf4, 0xdb, 0xff, 0x64,
- 0xaa, 0x53, 0x51, 0x45, 0x6e, 0x65, 0xb8, 0x93, 0xf4, 0x09, 0x17, 0xd0,
- 0xed, 0x49, 0x55, 0x9d,
- 0x57, 0x0b, 0xf5, 0x36, 0xf2, 0x0d, 0x55, 0x91, 0x62, 0x01, 0x42, 0x66,
- 0x9f, 0x77, 0xca, 0x2e,
- 0x87, 0x71, 0x81, 0x2e, 0x3b, 0xf5, 0xfb, 0xee, 0xeb, 0x3e, 0x27, 0x13,
- 0x59, 0x4b, 0xa2, 0x7b,
- 0xb6, 0x4b, 0xfa, 0x9a, 0x52, 0xdb, 0xc6, 0x0e, 0x64, 0x38, 0x68, 0x84,
- 0x9d, 0xba, 0x5b, 0x9f,
- 0xe3, 0x83, 0x33, 0x59, 0x65, 0x08, 0x9a, 0xa6, 0x1e, 0xdd, 0x82, 0xec,
- 0x0a, 0x7f, 0x90, 0x30,
- 0x23, 0x2e, 0x64, 0xe5, 0x4b, 0xcf, 0x7c, 0xd2, 0x57, 0xce, 0xee, 0xe9,
- 0x8c, 0x9a, 0xf0, 0xe7,
- 0x52, 0xce, 0x93, 0x84, 0x38, 0x1d, 0xa2, 0x1e, 0x5e, 0x78, 0x85, 0x7d,
- 0x8b, 0x89, 0x29, 0x4e,
- 0x8e, 0x7b, 0x6f, 0xe7, 0x2a, 0x64, 0x3a, 0xf7, 0x87, 0x5a, 0x96, 0x2c,
- 0x7d, 0x9f, 0x47, 0x9b,
- 0xdd, 0x35, 0xe2, 0xf8, 0x91, 0x16, 0x7d, 0x14, 0xd5, 0x50, 0x47, 0x56,
- 0xf2, 0x4f, 0x8f, 0x74,
- 0x2c, 0xa2, 0xce, 0xf0, 0xd6, 0xff, 0xa6, 0x80, 0x13, 0x45, 0x64, 0xc4,
- 0xb0, 0x5b, 0x16, 0x47,
- 0x50, 0x0d, 0xaf, 0x71, 0xfd, 0xc3, 0xab, 0x27, 0x46, 0x9c, 0x2d, 0x73,
- 0x83, 0x3b, 0x28, 0xcf,
- 0xec, 0x0f, 0x99, 0x4c, 0xf8, 0x38, 0x40, 0xf4, 0x5a, 0x56, 0x08, 0xc1,
- 0x36, 0xbe, 0x76, 0x90,
- 0x06, 0x86, 0x44, 0xdc, 0x8c, 0xa1, 0x1b, 0x4b, 0x28, 0xef, 0x3b, 0x12,
- 0x18, 0x15, 0x03, 0x40,
- 0x91, 0x20, 0xe6, 0x56, 0x50, 0x6b, 0xa8, 0xae, 0x03, 0xfd, 0x15, 0x71,
- 0x01, 0x87, 0xa9, 0xb9,
- 0xa3, 0x59, 0xbf, 0x8c, 0x7f, 0xf4, 0x79, 0x8a, 0x98, 0x6d, 0xa6, 0xef,
- 0xc9, 0x9d, 0xb0, 0x7d,
- 0xff, 0x9b, 0x98, 0x86, 0x59, 0xb6, 0xe4, 0x3b, 0x8e, 0xec, 0xfd, 0xb8,
- 0x7a, 0x8c, 0x9e, 0x32,
- 0x9c, 0x6f, 0x70, 0xb6, 0x08, 0x85, 0x7b, 0xc5, 0x5f, 0x92, 0x37, 0x52,
- 0x35, 0xf4, 0x4e, 0x98,
- 0x2b, 0xa4, 0x94, 0xb7, 0xd9, 0x31, 0x58, 0x36, 0x37, 0xd8, 0x0b, 0xd1,
- 0xac, 0x17, 0xf4, 0xa6,
- 0xc6, 0x2b, 0x13, 0x60, 0xa2, 0x66, 0xfd, 0x3f, 0x61, 0xfc, 0x57, 0x17,
- 0x9e, 0xf0, 0x63, 0x97,
- 0x39, 0xb0, 0x8b, 0xe6, 0xfb, 0xd0, 0x19, 0x04, 0xef, 0x10, 0xaa, 0xaf,
- 0xe4, 0x7c, 0xfd, 0xa5,
- 0x29, 0x67, 0xa8, 0x42, 0x1c, 0xef, 0x51, 0x0f, 0x2f, 0x3c, 0xa3, 0xdf,
- 0xa4, 0xa5, 0xf5, 0x27,
- 0x5b, 0xc4, 0x7d, 0x4d, 0x29, 0x8c, 0x63, 0x07, 0x32, 0x1c, 0x34, 0x42,
- 0xaf, 0x5d, 0xcc, 0xae,
- 0x90, 0xa0, 0xf8, 0xcd, 0xd3, 0x04, 0x4d, 0x53, 0x0f, 0x8f, 0x41, 0x76,
- 0x05, 0xde, 0x48, 0x18,
- 0x58, 0x87, 0x5f, 0x23, 0x6f, 0x3d, 0x8f, 0xc3, 0x26, 0x8a, 0xc8, 0x4b,
- 0xa3, 0xb6, 0x2c, 0x8e,
- 0xf1, 0x97, 0x2c, 0x08, 0x47, 0xe9, 0xdb, 0x94, 0xc6, 0x15, 0x23, 0x92,
- 0x42, 0x14, 0x99, 0x33,
- 0xdf, 0xf6, 0xde, 0x0d, 0x54, 0xc8, 0x74, 0x2d, 0xcd, 0xb4, 0xef, 0x58,
- 0xfa, 0xfd, 0x8e, 0xf5,
- 0x28, 0xe7, 0xb6, 0xd9, 0x9f, 0x80, 0xb4, 0xf2, 0x23, 0x4e, 0xf7, 0xd8,
- 0xa0, 0xfc, 0x14, 0x86,
- 0x60, 0xb7, 0xca, 0x5e, 0x17, 0x82, 0x73, 0x3a, 0xc5, 0xe8, 0x36, 0xe3,
- 0x43, 0x93, 0x30, 0x8a,
- 0x79, 0x6a, 0x07, 0x33, 0xe1, 0x2c, 0xfa, 0x28, 0x69, 0xa0, 0x8e, 0xac,
- 0x27, 0x9e, 0xdd, 0xe8,
- 0x76, 0xe6, 0xad, 0x26, 0x7c, 0x1c, 0x20, 0x7a, 0x2d, 0x2b, 0x04, 0x81,
- 0x1b, 0x5f, 0x3b, 0x48,
- 0x03, 0x43, 0x22, 0x6e, 0x46, 0xb1, 0xec, 0xc4, 0x14, 0x96, 0xfc, 0x09,
- 0x0c, 0xeb, 0xe0, 0x20,
- 0xc8, 0x27, 0xa7, 0xee, 0xbc, 0x39, 0xc2, 0x90, 0x29, 0x05, 0x89, 0x3d,
- 0xa6, 0x68, 0x64, 0x96,
- 0x02, 0xc3, 0x3c, 0xf5, 0xc5, 0xde, 0x09, 0x39, 0x18, 0xe4, 0xa8, 0x0e,
- 0x08, 0xb2, 0x01, 0x81,
- 0x12, 0x14, 0x1f, 0x51, 0x22, 0xe1, 0x41, 0x32, 0xd8, 0xc8, 0xa1, 0x7e,
- 0x48, 0x6b, 0x09, 0x03,
- 0xef, 0x4c, 0xbb, 0x22, 0xbe, 0x89, 0xac, 0x30, 0x4e, 0xc0, 0xf4, 0xc8,
- 0x3a, 0x55, 0x96, 0xb0,
- 0x46, 0x5c, 0xc8, 0x09, 0x96, 0x5d, 0xf8, 0x67, 0xae, 0x5f, 0x1f, 0x11,
- 0xdb, 0xf7, 0x23, 0x0d,
- 0x51, 0x8d, 0xb1, 0xea, 0x7e, 0xac, 0x4e, 0xda, 0x4a, 0xee, 0x79, 0x74,
- 0x87, 0x62, 0xc9, 0x6e,
- 0xdb, 0xb3, 0xa6, 0x24, 0x1d, 0xb7, 0x66, 0x5f, 0xfd, 0xbf, 0x7c, 0x44,
- 0xea, 0x5a, 0x8c, 0x34,
- 0x74, 0x25, 0x91, 0xd3, 0xb9, 0xc2, 0x29, 0x43, 0x35, 0xcf, 0xac, 0x8f,
- 0x13, 0xed, 0x3a, 0xc9,
- 0x0f, 0x8c, 0xaa, 0x15, 0x9d, 0x30, 0xda, 0x52, 0x44, 0x8b, 0x8a, 0x2d,
- 0x3c, 0xc1, 0xe6, 0xa0,
- 0xc1, 0x2d, 0x49, 0x27, 0xad, 0xa8, 0x03, 0x89, 0x45, 0x61, 0x38, 0x02,
- 0x82, 0xbc, 0x81, 0x76,
- 0x8d, 0x38, 0x4d, 0x89, 0x6c, 0xd5, 0xd6, 0x33, 0x93, 0xcc, 0x6a, 0x25,
- 0x71, 0x74, 0xa7, 0xbb,
- 0x68, 0x3d, 0x3a, 0x0c, 0x85, 0x7c, 0x57, 0xde, 0xa5, 0xfe, 0xd3, 0xdb,
- 0x63, 0x1e, 0x34, 0xcb,
- 0xb7, 0xcb, 0xe4, 0x01, 0xd1, 0xb4, 0x23, 0xf3, 0x68, 0x4a, 0x3c, 0x83,
- 0x99, 0xe3, 0xba, 0x3e,
- 0x0e, 0x0c, 0xb4, 0x8e, 0x1e, 0x5f, 0x3f, 0xaf, 0x48, 0xf9, 0xde, 0x2a,
- 0x38, 0x98, 0x07, 0x01,
- 0x5d, 0x42, 0x39, 0x91, 0xa5, 0x2d, 0x78, 0x4c, 0x1a, 0xf3, 0x0f, 0x50,
- 0xb7, 0x48, 0xcf, 0xee,
- 0xe2, 0x03, 0x2d, 0xc2, 0xe6, 0x67, 0x7f, 0x5b, 0x12, 0xaf, 0xd6, 0xeb,
- 0x0e, 0x26, 0x71, 0x91,
- 0xc0, 0xad, 0x57, 0xbc, 0x2e, 0xc7, 0xe6, 0x74, 0x49, 0x13, 0x6c, 0x05,
- 0x86, 0xe5, 0x60, 0xd7,
- 0x96, 0x26, 0xbc, 0x11, 0x5f, 0xa5, 0x56, 0x18, 0x27, 0x60, 0x7a, 0x64,
- 0x1d, 0xcb, 0x4b, 0x58,
- 0xad, 0x55, 0x0b, 0x02, 0x61, 0xab, 0x46, 0x25, 0xd0, 0x94, 0x78, 0xc5,
- 0xf1, 0x05, 0xb7, 0x7c,
- 0x01, 0x80, 0x1e, 0x9b, 0x83, 0x6f, 0xe5, 0xfd, 0x0c, 0x72, 0x54, 0x07,
- 0x04, 0x59, 0xe1, 0xa1,
- 0x24, 0x28, 0x3e, 0xa2, 0x44, 0x01, 0x82, 0x64, 0x73, 0x53, 0x81, 0xfc,
- 0x90, 0xd6, 0x12, 0x06,
- 0xe8, 0x4a, 0xe1, 0x65, 0xb1, 0x47, 0x52, 0x86, 0x6a, 0x5d, 0x9b, 0xdd,
- 0x26, 0x19, 0x74, 0x51,
- 0x8c, 0xb8, 0x53, 0x12, 0xef, 0xba, 0x33, 0xce, 0x9f, 0xbe, 0x3e, 0x22,
- 0x75, 0x2d, 0x46, 0x1a,
- 0xf3, 0x54, 0x10, 0xfd, 0x82, 0x37, 0xd2, 0xad, 0xde, 0xf1, 0x8b, 0x9c,
- 0x4a, 0xa6, 0x98, 0xb2,
- 0xa7, 0x1c, 0xc7, 0xa5, 0x36, 0x8b, 0x6b, 0xf8, 0xa8, 0x66, 0x35, 0xf3,
- 0xd9, 0x3a, 0xb2, 0xbc,
- 0x34, 0xff, 0x1d, 0x06, 0xa3, 0x3e, 0xca, 0x6f, 0xb3, 0x7f, 0x88, 0x8c,
- 0xd0, 0x0f, 0x1a, 0x84,
- 0xe6, 0x46, 0x55, 0xeb, 0xaf, 0x18, 0x6d, 0x29, 0x22, 0xa4, 0x45, 0xf7,
- 0x1e, 0x81, 0x73, 0x50,
- 0x48, 0x50, 0x7c, 0x87, 0x88, 0x02, 0xc7, 0xc8, 0xe6, 0xa6, 0xc1, 0x3b,
- 0xe3, 0x6f, 0x24, 0x0c,
- 0xba, 0x84, 0x72, 0xe1, 0x89, 0x5a, 0xf0, 0x98, 0x34, 0x25, 0x1e, 0xa0,
- 0xad, 0x90, 0x5d, 0x1f,
- 0x07, 0x06, 0x5a, 0x47, 0x0f, 0xce, 0xfe, 0xb6, 0x24, 0x9d, 0x6f, 0x15,
- 0x1c, 0x4c, 0xe2, 0xe1,
- 0xfc, 0xd8, 0xba, 0xe8, 0x1f, 0x07, 0x08, 0xff, 0x9a, 0x7a, 0x01, 0xb1,
- 0x76, 0x67, 0x7e, 0x12,
- 0x4d, 0x95, 0x1a, 0x35, 0x42, 0x12, 0x30, 0x47, 0xda, 0xdf, 0x06, 0x20,
- 0xf7, 0x91, 0xc7, 0x6c,
- 0x19, 0xdd, 0xcd, 0x6d, 0xf6, 0xae, 0x89, 0x12, 0xac, 0x48, 0xb8, 0x4f,
- 0x64, 0x0d, 0xed, 0x62,
- 0x42, 0x19, 0xb0, 0x20, 0xdf, 0x22, 0xea, 0x15, 0x9e, 0x54, 0x8c, 0x0d,
- 0xcb, 0x50, 0x21, 0xcc,
- 0x75, 0xa5, 0x8f, 0x48, 0x3a, 0xad, 0xcc, 0xbe, 0x39, 0xbd, 0xf8, 0x88,
- 0x17, 0xb4, 0xdb, 0x68,
- 0x4c, 0x15, 0x04, 0xae, 0xc1, 0x7d, 0xd5, 0xba, 0xd6, 0xad, 0x52, 0x27,
- 0xf3, 0xc8, 0x26, 0xcd,
- 0xa9, 0x10, 0x73, 0x2b, 0x28, 0xd4, 0x54, 0x57, 0xe0, 0x9f, 0xeb, 0xd9,
- 0xe1, 0xa2, 0xb5, 0xbd,
- 0x82, 0xb4, 0xe7, 0x9c, 0xf1, 0xe5, 0x0c, 0x61, 0xd7, 0x47, 0xe0, 0x08,
- 0x4d, 0xb5, 0x41, 0x1b,
- 0xf7, 0x11, 0x68, 0xd4, 0xcb, 0x48, 0xc0, 0xdf, 0xee, 0xfa, 0x18, 0x80,
- 0x5a, 0x01, 0x9a, 0x73,
- 0x08, 0x8a, 0xf0, 0x52, 0x92, 0xfe, 0x24, 0xe4, 0x60, 0x16, 0xe5, 0x38,
- 0x20, 0x8d, 0x04, 0x41,
- 0x4f, 0x56, 0x26, 0xc0, 0x87, 0xcc, 0x39, 0x7e, 0xc2, 0x3b, 0xae, 0x2e,
- 0xff, 0x23, 0xc6, 0xed,
- 0x10, 0xd7, 0x23, 0xa4, 0xe7, 0x3f, 0x48, 0x0b, 0xc0, 0x2c, 0x09, 0x70,
- 0x40, 0xd9, 0x08, 0x82,
- 0x3b, 0x73, 0xb7, 0x13, 0x3e, 0x0e, 0x10, 0x3d, 0xf7, 0xf4, 0x02, 0xa1,
- 0xec, 0xce, 0xfc, 0x24,
- 0xcb, 0x64, 0x85, 0x80, 0xfa, 0x88, 0x2e, 0x54, 0x3d, 0x93, 0x75, 0x34,
- 0xaa, 0x83, 0x84, 0xb6,
- 0x20, 0x6d, 0x46, 0x8b, 0x0d, 0x7e, 0x90, 0x16, 0x43, 0x58, 0x12, 0xe0,
- 0x80, 0x71, 0x10, 0xc7,
- 0x63, 0xf4, 0xe8, 0x30, 0x51, 0x33, 0x9f, 0xfe, 0xd1, 0x7e, 0xca, 0xea,
- 0x4f, 0x78, 0xd0, 0xaa,
- 0x73, 0x23, 0xcb, 0x94, 0xb6, 0x0c, 0xd7, 0xf5, 0x11, 0x52, 0xc3, 0x9a,
- 0x0f, 0xa1, 0xd8, 0x28,
- 0xed, 0x8f, 0x87, 0xd7, 0x7b, 0x57, 0xa5, 0x09, 0x56, 0x24, 0x5c, 0xc6,
- 0x32, 0xe7, 0x97, 0x31,
- 0xea, 0x89, 0xdd, 0x90, 0x74, 0x99, 0x5b, 0xbf, 0x72, 0xb9, 0x33, 0xd3,
- 0x2e, 0xab, 0x75, 0xd0,
- 0xc9, 0xa7, 0xb9, 0x75, 0x3f, 0x56, 0x27, 0x6d, 0x25, 0x77, 0xdd, 0x3a,
- 0xa2, 0x31, 0x85, 0x37,
- 0x32, 0x79, 0x59, 0xda, 0x2f, 0x9f, 0xd1, 0x24, 0x9b, 0x90, 0xb3, 0x9e,
- 0xc8, 0x1a, 0x19, 0xc4,
- 0x84, 0x32, 0xa3, 0x40, 0x7d, 0x44, 0x17, 0x2a, 0xff, 0xa8, 0xdb, 0x1a,
- 0x55, 0xa0, 0x42, 0x5b,
- 0x53, 0x4e, 0x8d, 0x1f, 0xbb, 0x72, 0x47, 0xe3, 0x52, 0x0a, 0xd1, 0x7a,
- 0x8f, 0xd0, 0xc8, 0xef,
- 0x04, 0x45, 0x78, 0x29, 0x49, 0x7f, 0x12, 0x72, 0x30, 0x0b, 0x93, 0x1c,
- 0x10, 0xa7, 0x02, 0xc1,
- 0x7c, 0xaf, 0x61, 0x81, 0x2b, 0x3c, 0x0d, 0xa7, 0x55, 0xd9, 0x49, 0xb7,
- 0x33, 0x60, 0x3e, 0x88,
- 0x41, 0x5a, 0x92, 0x4e, 0x99, 0x93, 0x06, 0xd1, 0x8a, 0xc2, 0x70, 0x04,
- 0xc7, 0xbb, 0xc1, 0xec,
- 0x27, 0x6b, 0x1c, 0xcc, 0x02, 0xb0, 0x6e, 0xa0, 0x67, 0xc5, 0x7d, 0xf5,
- 0x9c, 0x3d, 0xf2, 0x26,
- 0x55, 0xc8, 0xc9, 0xc3, 0x37, 0xd3, 0x5c, 0xa8, 0x7a, 0xe5, 0xea, 0x68,
- 0x97, 0xc5, 0xcb, 0xaf,
- 0xcf, 0x21, 0xfd, 0xa9, 0xb3, 0xf7, 0x3c, 0x26, 0x0d, 0x98, 0xe6, 0x28,
- 0xba, 0x24, 0x86, 0x77,
- 0x71, 0xe0, 0xf7, 0x61, 0x73, 0xd2, 0xde, 0xcc, 0x09, 0xb6, 0x6b, 0x94,
- 0x07, 0x13, 0xd9, 0xa9,
- 0x11, 0x57, 0x3d, 0x3f, 0x64, 0x50, 0xad, 0xf6, 0xcc, 0x5e, 0x5d, 0x77,
- 0x44, 0x80, 0xe9, 0x23,
- 0x97, 0xa6, 0xa2, 0x8a, 0xdc, 0xca, 0xb3, 0xe5, 0x2b, 0x12, 0x2e, 0x63,
- 0x19, 0x92, 0xaa, 0xf9,
- 0xd9, 0x70, 0x9a, 0xd1, 0xd8, 0x69, 0x6f, 0x66, 0xe5, 0x5b, 0xd4, 0x4a,
- 0xe2, 0xe8, 0x8d, 0xb5,
- 0xd0, 0x7a, 0x74, 0x18, 0xc9, 0xf8, 0xae, 0x7f, 0x89, 0x3f, 0x65, 0x75,
- 0xc6, 0x3c, 0x68, 0x55,
- 0xa8, 0x90, 0x6d, 0xb0, 0xab, 0xbb, 0xb1, 0xaa, 0xec, 0xed, 0xbf, 0xde,
- 0xe5, 0xfb, 0x54, 0x1c,
- 0x1b, 0x1e, 0xf1, 0x98, 0x33, 0x70, 0x80, 0x2b, 0xb4, 0xac, 0x10, 0x41,
- 0x6c, 0xbf, 0xec, 0xe3,
- 0x16, 0x51, 0x67, 0x78, 0x6b, 0x9e, 0x53, 0x40, 0xe8, 0xc3, 0x32, 0x62,
- 0x58, 0xcc, 0x0b, 0xc2,
- 0x6c, 0x78, 0x42, 0x25, 0xcc, 0x03, 0x45, 0xac, 0x95, 0xf5, 0x40, 0xc7,
- 0x73, 0xb9, 0x36, 0x0a,
- 0x2f, 0xe1, 0xec, 0x9e, 0x90, 0x4e, 0x4a, 0x44, 0x07, 0xd3, 0x98, 0xcd,
- 0xbc, 0xb0, 0xf6, 0x67,
- 0x45, 0x1f, 0xea, 0x67, 0xd0, 0xec, 0x14, 0xa3, 0xba, 0xc9, 0xe3, 0x18,
- 0xd7, 0x1c, 0xc3, 0x2d,
- 0x33, 0xf9, 0x47, 0x41, 0xac, 0xf0, 0x34, 0xd9, 0x97, 0xe2, 0xe7, 0x99,
- 0xcc, 0x43, 0xf8, 0x65,
- 0x1d, 0x98, 0xb5, 0x44, 0xbf, 0xd1, 0x9b, 0x60, 0x9c, 0x43, 0x2b, 0x53,
- 0x74, 0xaa, 0xef, 0xa3,
- 0xfe, 0x1b, 0x86, 0x1d, 0xda, 0xd9, 0x01, 0xc6, 0x82, 0x9e, 0xa9, 0xbf,
- 0x7e, 0xd5, 0x7f, 0x93,
- 0x7a, 0x29, 0x25, 0x5d, 0xa7, 0x9d, 0x16, 0xec, 0x7d, 0x36, 0x72, 0xa5,
- 0x2b, 0x75, 0x3d, 0xc8,
- 0x64, 0xf2, 0xb2, 0x77, 0x5e, 0xfd, 0x61, 0x48, 0xf5, 0xe3, 0xa5, 0xff,
- 0x53, 0x34, 0x32, 0x4b,
- 0xb3, 0x8e, 0x9c, 0x28, 0x98, 0xcb, 0x31, 0x81, 0x58, 0x41, 0xaf, 0x9f,
- 0x89, 0x44, 0xb8, 0xff,
- 0x1f, 0x5b, 0x89, 0xb1, 0x7a, 0x0f, 0x92, 0x59, 0x84, 0xa7, 0x83, 0x5d,
- 0x7c, 0x18, 0xee, 0x22,
- 0x2e, 0x61, 0xf2, 0x05, 0x13, 0x21, 0xaf, 0xb9, 0x0b, 0xa1, 0xcc, 0xca,
- 0xb8, 0xe9, 0x17, 0xc6,
- 0xe4, 0x85, 0x69, 0x1e, 0x6a, 0xc6, 0x64, 0x10, 0x3a, 0x40, 0xed, 0xf9,
- 0x16, 0x33, 0x72, 0xd1,
- 0x6a, 0xfe, 0x06, 0xf9, 0x40, 0xa2, 0x5e, 0xe7, 0xbd, 0x1a, 0x7b, 0xd5,
- 0x6b, 0xac, 0x35, 0x4a,
- 0x7d, 0x2f, 0x7f, 0x1a, 0xa8, 0x53, 0xe8, 0x5a, 0x59, 0xab, 0x1d, 0xb0,
- 0x37, 0x39, 0xdf, 0x29,
- 0xd8, 0xf0, 0x84, 0x4a, 0x5b, 0x06, 0x8a, 0x9b, 0xe9, 0x29, 0x80, 0x4d,
- 0xe6, 0xb1, 0x6c, 0x14,
- 0xc2, 0x6e, 0x6b, 0x49, 0xeb, 0x19, 0xef, 0x4d, 0x51, 0xf7, 0xc4, 0x0b,
- 0x8e, 0x57, 0x61, 0x56,
- 0x36, 0x3c, 0x21, 0xf3, 0x66, 0xe0, 0xc3, 0x56, 0xab, 0x9b, 0x20, 0x82,
- 0xd8, 0xbd, 0x1b, 0x05,
- 0xf8, 0x9d, 0xc2, 0xc1, 0x56, 0x78, 0x1a, 0x8d, 0xaa, 0x71, 0x92, 0xad,
- 0x66, 0xc0, 0x7c, 0xd3,
- 0x26, 0xeb, 0x02, 0x57, 0x81, 0xdf, 0x8b, 0x5d, 0x6b, 0xb7, 0x29, 0xf2,
- 0x98, 0x64, 0x13, 0x87,
- 0x3f, 0x36, 0xcf, 0x3a, 0x77, 0x71, 0x02, 0x4f, 0xc7, 0xff, 0x91, 0xbd,
- 0xfc, 0x69, 0xfe, 0xe5,
- 0x0a, 0x49, 0xcc, 0xa7, 0x57, 0x20, 0x2d, 0xdd, 0x78, 0xf2, 0x4d, 0x36,
- 0x28, 0x3f, 0x05, 0xc0,
- 0x9f, 0x2c, 0x52, 0xd8, 0x4e, 0x34, 0x97, 0x01, 0x4b, 0x04, 0xcb, 0x5b,
- 0x39, 0x1f, 0xae, 0xb8,
- 0xf4, 0x52, 0x4a, 0xba, 0x8d, 0xf9, 0x2c, 0x1b, 0xfa, 0x6c, 0xe4, 0x89,
- 0x56, 0xea, 0x7a, 0x53,
- 0x1a, 0x9e, 0xef, 0x03, 0xb0, 0x1f, 0x65, 0xd6, 0xb8, 0xde, 0x44, 0x46,
- 0x68, 0xe6, 0x0d, 0x42,
- 0xa5, 0xdf, 0xfb, 0x50, 0xf3, 0x55, 0x62, 0xc1, 0xb0, 0x82, 0x9d, 0xfd,
- 0xd1, 0x88, 0xb3, 0x3d,
- 0x61, 0x37, 0xd4, 0xc5, 0x94, 0xed, 0x96, 0xc7, 0xc9, 0x9a, 0x62, 0xe4,
- 0x47, 0xca, 0xd1, 0x2b,
- 0x35, 0x7f, 0x03, 0x9d, 0x20, 0x51, 0x2f, 0x92, 0xbf, 0x0d, 0xdc, 0x8b,
- 0xd4, 0x56, 0xfb, 0x25,
- 0x7b, 0xa9, 0x3b, 0xc6, 0x24, 0xf2, 0xf3, 0x11, 0x71, 0x44, 0x26, 0xa2,
- 0x2f, 0x2c, 0xdc, 0x69,
- 0xde, 0x76, 0xc0, 0x96, 0xd7, 0xa7, 0x91, 0xd0, 0xc1, 0xc6, 0xbb, 0x5f,
- 0xfe, 0xa4, 0x6f, 0x54,
- 0xb5, 0x08, 0xd8, 0xf4, 0x14, 0x6a, 0x2a, 0xca, 0x70, 0xae, 0x94, 0x8d,
- 0x91, 0x51, 0xbb, 0xbf,
- 0xda, 0x33, 0xb8, 0xbf, 0x9e, 0xd8, 0x83, 0xa2, 0xf1, 0xcd, 0x28, 0x43,
- 0xee, 0x03, 0x6d, 0x95,
- 0xbc, 0x02, 0x36, 0x3d, 0x05, 0xfb, 0xeb, 0xd3, 0x1c, 0xca, 0x25, 0xb2,
- 0xb5, 0x85, 0x5e, 0x5f,
- 0xd7, 0x7c, 0x2e, 0x5f, 0xc6, 0x36, 0x50, 0xc9, 0xad, 0xa2, 0x0a, 0x60,
- 0xda, 0x70, 0x8a, 0xb4,
- 0xab, 0xd3, 0x4f, 0xde, 0xed, 0x0a, 0x5d, 0x6e, 0xf8, 0x7b, 0x43, 0xd7,
- 0xe9, 0x10, 0xb4, 0x3c,
- 0x22, 0xae, 0x7a, 0x7e, 0xc8, 0xa0, 0x99, 0x2f, 0x5b, 0xbc, 0xba, 0xee,
- 0x88, 0xc3, 0x11, 0x46,
- 0x66, 0x31, 0x8e, 0x82, 0x9b, 0x23, 0x68, 0x71, 0xed, 0x07, 0x0d, 0xf1,
- 0x5b, 0x86, 0x33, 0xca,
- 0x3a, 0xf3, 0xa9, 0x88, 0xbd, 0x61, 0xf5, 0xc0, 0xfb, 0x86, 0x56, 0xa6,
- 0xe8, 0x97, 0x1d, 0x85,
- 0x9a, 0xe9, 0x34, 0x6a, 0x84, 0x24, 0x60, 0x8e, 0x77, 0x7d, 0x0c, 0x40,
- 0x2d, 0xe1, 0x4d, 0xd8,
- 0x6b, 0x7e, 0x18, 0x62, 0xc3, 0xcd, 0xbb, 0x1a, 0xb1, 0x68, 0x2f, 0xd2,
- 0x6f, 0xf5, 0xd4, 0xeb,
- 0x05, 0xc5, 0x66, 0xb2, 0xca, 0x10, 0xf7, 0x8f, 0x3c, 0x79, 0xc7, 0x1b,
- 0x14, 0xfe, 0xe3, 0x60,
- 0x6f, 0x3b, 0x60, 0x4b, 0x8a, 0xb2, 0xa9, 0x68, 0x81, 0x63, 0xbc, 0xce,
- 0x7f, 0x52, 0xd6, 0x2a,
- 0x80, 0x77, 0xdb, 0x69, 0x34, 0x3b, 0x05, 0x58, 0xcf, 0xa3, 0x48, 0x06,
- 0x45, 0x07, 0x40, 0x9a,
- 0x5c, 0xc2, 0x27, 0x0a, 0x26, 0x42, 0x9d, 0xb1, 0x16, 0x81, 0x5b, 0x57,
- 0xb3, 0x11, 0x2e, 0x4f,
- 0xfb, 0xde, 0xe0, 0xaf, 0x10, 0xc9, 0xf6, 0x49, 0xbe, 0xe7, 0x6e, 0xa4,
- 0x6a, 0x2b, 0x9c, 0xf3,
- 0x89, 0x7d, 0x35, 0xa0, 0x25, 0xaa, 0xc4, 0x41, 0xa3, 0xc7, 0xf9, 0x39,
- 0x61, 0xd3, 0xa5, 0x7a,
- 0x5e, 0x01, 0x1b, 0xff, 0xe3, 0x9c, 0x94, 0x88, 0x0e, 0x65, 0xf3, 0x59,
- 0xbb, 0xa3, 0x2f, 0xce,
- 0x8a, 0x3e, 0x17, 0xce, 0x63, 0x1b, 0x28, 0x85, 0xb7, 0x51, 0x05, 0x30,
- 0x6d, 0x38, 0x45, 0x5a,
- 0xbb, 0x04, 0x6c, 0x7a, 0x0a, 0x35, 0x15, 0x65, 0x38, 0x57, 0x4a, 0xa7,
- 0xa9, 0xc9, 0xbc, 0xbe,
- 0x6d, 0xf8, 0x5c, 0xbe, 0x4f, 0x6c, 0xa0, 0x51, 0x99, 0x87, 0x14, 0xc0,
- 0x77, 0xe0, 0xd7, 0xab,
- 0x9d, 0xef, 0x6e, 0x2d, 0x8b, 0xea, 0x9e, 0x38, 0x53, 0xe0, 0x63, 0x55,
- 0x31, 0xad, 0xaf, 0x39,
- 0x25, 0xa8, 0x20, 0x39, 0xc7, 0x6e, 0x67, 0x99, 0x7f, 0x21, 0xd5, 0xfb,
- 0x94, 0x8f, 0xf3, 0xa7,
- 0xc4, 0xe8, 0x2f, 0x95, 0x67, 0xb8, 0xf4, 0x06, 0x79, 0x18, 0xff, 0x19,
- 0x96, 0x42, 0x62, 0x16,
- 0x15, 0x12, 0x45, 0x16, 0x2d, 0x2f, 0xbf, 0x84, 0xfc, 0x55, 0xce, 0x6b,
- 0x54, 0x27, 0xeb, 0xe2,
- 0x85, 0xb2, 0xbd, 0xdb, 0xfe, 0x2b, 0xf2, 0xd7, 0xf3, 0xda, 0x8f, 0x1d,
- 0x51, 0xf9, 0xa3, 0xfa,
- 0xd6, 0xfc, 0x30, 0xc4, 0x45, 0x59, 0xb5, 0x34, 0xa1, 0xd0, 0x5e, 0x67,
- 0xde, 0x29, 0x6b, 0x15,
- 0xe1, 0x40, 0x0f, 0xac, 0xa0, 0xd6, 0x93, 0x9f, 0x06, 0x39, 0x2a, 0xe2,
- 0x02, 0xcd, 0x91, 0xb1,
- 0xd4, 0x3f, 0x0c, 0x31, 0x80, 0x87, 0xbc, 0x0d, 0xb9, 0x34, 0xf6, 0x69,
- 0xd6, 0x9b, 0x6a, 0x94,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xd1, 0xfa, 0x6a, 0x83, 0x4a, 0x97, 0x4b, 0x82, 0x85, 0x4d, 0x31, 0x72,
- 0xc2, 0x65, 0x89, 0xf4,
- 0x7e, 0x6c, 0x5d, 0x74, 0xee, 0xe2, 0x04, 0x9e, 0x4d, 0x3d, 0xe1, 0xb9,
- 0x3b, 0xd2, 0x3f, 0x09,
- 0xb8, 0x47, 0x4e, 0x14, 0x4c, 0x84, 0xf9, 0xa1, 0x2c, 0xc1, 0xb6, 0xae,
- 0xa5, 0x22, 0x5c, 0x9e,
- },
- { /* 9 */
- 0xa5, 0x55, 0xa4, 0x90, 0xc6, 0x8d, 0x2f, 0xd5, 0x71, 0x80, 0x04, 0x89,
- 0xcb, 0x72, 0x1b, 0x5d,
- 0x2d, 0x90, 0x75, 0x4e, 0x36, 0xf9, 0x9f, 0x17, 0x62, 0x87, 0xa3, 0x5a,
- 0x48, 0x8a, 0xa4, 0x15,
- 0x32, 0x9f, 0x4c, 0x80, 0x9d, 0x5f, 0xd4, 0xf3, 0xbf, 0x6c, 0x3b, 0x64,
- 0xae, 0x3d, 0x18, 0xe9,
- 0x8f, 0x0b, 0x94, 0x6d, 0x4b, 0xb1, 0x7f, 0x15, 0x81, 0x1e, 0x6c, 0xdd,
- 0xe4, 0xac, 0x86, 0xd3,
- 0x0e, 0x5f, 0x8a, 0xa5, 0xb5, 0x49, 0x5d, 0x6d, 0xe7, 0x32, 0x55, 0x1c,
- 0xce, 0xa8, 0x72, 0xf5,
- 0x30, 0x41, 0xf8, 0xfa, 0x20, 0xc6, 0xcb, 0x66, 0x9e, 0x27, 0xa6, 0x60,
- 0xc1, 0x05, 0xc9, 0xce,
- 0x38, 0xbf, 0x6d, 0xd1, 0x91, 0xe7, 0xb7, 0x77, 0x1a, 0xc8, 0x97, 0x70,
- 0xbe, 0xe5, 0x0b, 0x52,
- 0xc0, 0xc7, 0x66, 0x6e, 0x80, 0x9e, 0xaa, 0x5b, 0x3d, 0x9c, 0xdd, 0x43,
- 0x82, 0x14, 0xa2, 0xbe,
- 0x54, 0xbc, 0x60, 0x39, 0xd9, 0x78, 0xa0, 0x43, 0x23, 0xff, 0xd0, 0xa8,
- 0x5e, 0x7f, 0xf9, 0xdf,
- 0xe6, 0x18, 0x68, 0x4c, 0x05, 0x72, 0xb8, 0x63, 0x0b, 0x7b, 0x7d, 0x0f,
- 0x0c, 0x5a, 0x9c, 0xe2,
- 0x9e, 0x5b, 0x27, 0x06, 0x55, 0x5e, 0x69, 0x9c, 0xbb, 0xc7, 0xa1, 0xff,
- 0xcc, 0xb3, 0x48, 0xda,
- 0x39, 0xd0, 0x37, 0xec, 0x2e, 0x4a, 0x59, 0xdc, 0xeb, 0x0c, 0x38, 0x72,
- 0x68, 0xf9, 0x82, 0xa0,
- 0x55, 0xd3, 0x3a, 0x04, 0x66, 0xd5, 0x4e, 0xe8, 0xd2, 0x3b, 0x7f, 0xaa,
- 0x88, 0x63, 0x70, 0x2d,
- 0x7e, 0xe2, 0x50, 0xc4, 0x54, 0x44, 0xf0, 0x83, 0xd3, 0x61, 0xb8, 0xfc,
- 0x71, 0xa1, 0x64, 0x51,
- 0x52, 0x1d, 0x7f, 0xb7, 0xdd, 0x10, 0x81, 0x3f, 0x40, 0x22, 0xb4, 0xa4,
- 0xef, 0x37, 0x49, 0xb6,
- 0x91, 0x6b, 0xf7, 0x9e, 0x5f, 0xba, 0xda, 0x5a, 0xad, 0x31, 0x5b, 0xe1,
- 0xd4, 0x07, 0xb3, 0xdd,
- 0x64, 0xfd, 0x98, 0xc3, 0xf9, 0xbe, 0x6b, 0x25, 0xbd, 0xd8, 0x76, 0xc8,
- 0x9f, 0x7a, 0x30, 0x11,
- 0x03, 0xb1, 0xee, 0x47, 0x02, 0x34, 0xf1, 0x3e, 0xd0, 0x8f, 0x32, 0x06,
- 0xb9, 0x24, 0x58, 0xd5,
- 0x57, 0x0d, 0x8e, 0x7e, 0xdb, 0x4c, 0x51, 0x7d, 0xf3, 0x70, 0xe2, 0xae,
- 0xe7, 0x5b, 0xa1, 0x0a,
- 0x5a, 0xe3, 0xea, 0x9c, 0x6c, 0x31, 0xfd, 0x2e, 0xc4, 0xcd, 0x85, 0xb4,
- 0x90, 0xd7, 0x8b, 0x2a,
- 0x1c, 0xbe, 0xd7, 0x89, 0xa9, 0x92, 0xba, 0xda, 0x0d, 0x64, 0xaa, 0x38,
- 0x5f, 0x93, 0xe4, 0x29,
- 0x60, 0x82, 0x33, 0x37, 0x40, 0x4f, 0x55, 0xcc, 0xff, 0x4e, 0x8f, 0xc0,
- 0x41, 0x0a, 0x51, 0x5f,
- 0x07, 0xce, 0x45, 0xb3, 0xbb, 0xc5, 0xcf, 0xd7, 0x92, 0x19, 0xcb, 0x0e,
- 0x67, 0x54, 0x39, 0x9b,
- 0x18, 0xc1, 0x7c, 0x7d, 0x10, 0x63, 0x84, 0x33, 0x4f, 0xf2, 0x53, 0x30,
- 0x81, 0xe3, 0x85, 0x67,
- 0x21, 0x11, 0x4b, 0x91, 0x3e, 0x29, 0xdd, 0xef, 0xa4, 0xfe, 0x6b, 0x42,
- 0xe9, 0x1a, 0x07, 0xc7,
- 0x72, 0x63, 0x6e, 0x1b, 0x5c, 0x94, 0xb2, 0x7b, 0x15, 0x18, 0x70, 0xe4,
- 0xd0, 0x31, 0xc7, 0x83,
- 0xa8, 0xbb, 0xc0, 0x72, 0x71, 0xf0, 0x83, 0x86, 0x46, 0x3d, 0x63, 0x93,
- 0xbc, 0xfe, 0x31, 0x7d,
- 0xd1, 0x97, 0xd5, 0x05, 0x9e, 0x71, 0xbc, 0xd2, 0x07, 0x45, 0x10, 0x61,
- 0xaa, 0x0b, 0x6c, 0xb7,
- 0x29, 0xef, 0xde, 0xba, 0x8f, 0x08, 0xa1, 0xfe, 0x20, 0x11, 0x5a, 0x52,
- 0x96, 0xfa, 0xc5, 0x5b,
- 0xc6, 0x66, 0x79, 0xe0, 0x84, 0xf6, 0x8b, 0x27, 0x5e, 0x41, 0xb9, 0x4f,
- 0x33, 0x5c, 0x12, 0xd7,
- 0xa4, 0x3a, 0xfe, 0xad, 0x79, 0x20, 0xc1, 0x7e, 0x80, 0x44, 0xab, 0x8b,
- 0x1d, 0x6e, 0x92, 0xaf,
- 0x3f, 0x71, 0x28, 0x62, 0x2a, 0x22, 0x78, 0xa0, 0x88, 0xd1, 0x5c, 0x7e,
- 0xd9, 0xb1, 0x32, 0xc9,
- 0xe0, 0xb9, 0x77, 0xc2, 0x01, 0x1a, 0x99, 0x1f, 0x68, 0xa6, 0x19, 0x03,
- 0xbd, 0x12, 0x2c, 0x8b,
- 0x27, 0xb0, 0x54, 0x1f, 0x3a, 0x41, 0xfc, 0x93, 0xc7, 0x23, 0x0f, 0x4e,
- 0x58, 0x52, 0xb7, 0xae,
- 0x8d, 0xd5, 0x20, 0x17, 0xf6, 0x28, 0x60, 0x80, 0xa0, 0x55, 0xf1, 0xd9,
- 0x8b, 0x94, 0x57, 0xf4,
- 0x0c, 0x81, 0x3e, 0xdf, 0x08, 0xd0, 0x42, 0xf8, 0xc6, 0x79, 0xc8, 0x18,
- 0xa1, 0x90, 0xa3, 0xd2,
- 0x82, 0xe5, 0xf0, 0x8f, 0xfc, 0xcc, 0xd3, 0x46, 0xb6, 0xa3, 0x0b, 0xc7,
- 0x93, 0x20, 0xac, 0xf3,
- 0xea, 0x99, 0x56, 0x93, 0x0d, 0xa2, 0xfa, 0x9b, 0xcd, 0x02, 0xb5, 0x17,
- 0xad, 0xca, 0x3f, 0x30,
- 0xae, 0x1a, 0xdf, 0xfc, 0x75, 0x98, 0xa2, 0xfa, 0x25, 0xe0, 0x07, 0x9f,
- 0x0d, 0xb6, 0x81, 0x14,
- 0xb4, 0x05, 0x17, 0xfb, 0xd8, 0x62, 0x39, 0x5c, 0x4b, 0x59, 0xc9, 0xab,
- 0xe3, 0x6d, 0xd5, 0x54,
- 0x9a, 0x24, 0x8c, 0xf2, 0xec, 0xaf, 0x57, 0x75, 0xf9, 0x51, 0x58, 0xf7,
- 0x12, 0xc3, 0x29, 0x94,
- 0x63, 0x33, 0xdd, 0x70, 0x42, 0x7b, 0xa4, 0xf2, 0x2f, 0xc1, 0xbd, 0xc6,
- 0xf8, 0x2e, 0x09, 0x8a,
- 0x49, 0x6d, 0xed, 0x8d, 0xcf, 0x47, 0xf4, 0x32, 0xdf, 0x5f, 0xd5, 0x92,
- 0xd7, 0xf0, 0x94, 0x04,
- 0xe5, 0xa9, 0x86, 0x0b, 0x07, 0x46, 0x49, 0x5d, 0xdb, 0xf4, 0x4f, 0x09,
- 0xb5, 0x7e, 0xc4, 0x37,
- 0x42, 0x22, 0x96, 0xe1, 0x7c, 0x52, 0x79, 0x1d, 0x8b, 0x3f, 0xd6, 0x84,
- 0x11, 0x34, 0x0e, 0x4d,
- 0xe4, 0xc6, 0xdc, 0x36, 0xb8, 0xeb, 0xa7, 0xf6, 0x2a, 0x30, 0xe0, 0x0b,
- 0x63, 0x62, 0x4d, 0xc5,
- 0x15, 0x2f, 0x18, 0x9f, 0xa7, 0x1e, 0x28, 0x60, 0x78, 0x4f, 0x34, 0x2a,
- 0xf6, 0x6f, 0xaf, 0x47,
- 0xb7, 0xb4, 0xf9, 0xbc, 0xda, 0x56, 0xc8, 0x62, 0x9b, 0xd6, 0xfb, 0xad,
- 0x5a, 0x49, 0x8d, 0x81,
- 0xc8, 0x39, 0xf3, 0x45, 0x31, 0xbf, 0xd6, 0x4a, 0xb9, 0x73, 0xec, 0x53,
- 0xfd, 0xf4, 0x60, 0x22,
- 0x06, 0xa1, 0x1f, 0x8e, 0x04, 0x68, 0x21, 0x7c, 0x63, 0xdd, 0x64, 0x0c,
- 0xb1, 0x48, 0xb0, 0x69,
- 0x70, 0xbd, 0xda, 0x61, 0xe1, 0x0d, 0xad, 0xee, 0x34, 0x53, 0xed, 0xe0,
- 0xbf, 0x09, 0x16, 0xa4,
- 0x9d, 0xea, 0xc9, 0x41, 0x57, 0x6a, 0x98, 0xa2, 0x6b, 0x48, 0x93, 0xf9,
- 0x75, 0x97, 0x10, 0x0f,
- 0x41, 0x93, 0x78, 0xa6, 0x7e, 0x66, 0x88, 0x23, 0x5b, 0xb0, 0xe4, 0x82,
- 0xa8, 0x10, 0x56, 0x98,
- 0x75, 0xad, 0x2b, 0xa8, 0xe7, 0x51, 0x7d, 0xac, 0x87, 0x01, 0xbb, 0xea,
- 0xb7, 0x65, 0xfe, 0x18,
- 0x19, 0xae, 0x26, 0x40, 0xaf, 0xce, 0x6a, 0x98, 0xbe, 0x36, 0xfc, 0x32,
- 0x57, 0xff, 0x0c, 0x95,
- 0xc9, 0x56, 0xa9, 0x78, 0x8e, 0x12, 0x38, 0xe1, 0x48, 0xb7, 0x43, 0x51,
- 0x2b, 0xe8, 0xe9, 0xd0,
- 0xaa, 0x65, 0x74, 0x08, 0xcc, 0x69, 0x9c, 0x13, 0x67, 0x76, 0xfe, 0x97,
- 0xd3, 0xc6, 0xe0, 0x5a,
- 0xfc, 0x07, 0xa0, 0x4b, 0xa8, 0x88, 0x23, 0xc5, 0x65, 0xc2, 0xb3, 0x3b,
- 0xe2, 0x81, 0xc8, 0xa2,
- 0x4d, 0x12, 0x46, 0x79, 0x76, 0xb6, 0xca, 0xdb, 0x9d, 0xc9, 0x2c, 0x9a,
- 0x09, 0x80, 0xf5, 0x4a,
- 0xbf, 0x4a, 0x6c, 0x97, 0x6b, 0x77, 0xb4, 0x73, 0x1f, 0x39, 0xca, 0xbd,
- 0x25, 0xa9, 0x4f, 0x1d,
- 0x2a, 0x5e, 0x30, 0xfd, 0x8d, 0x3c, 0x50, 0xc0, 0xf0, 0x9e, 0x68, 0x54,
- 0x2f, 0xde, 0x9d, 0x8e,
- 0x73, 0x0c, 0x34, 0x26, 0xe3, 0x39, 0x5c, 0xd0, 0xe4, 0xdc, 0xdf, 0xe6,
- 0x06, 0x2d, 0x4e, 0x71,
- 0x84, 0x44, 0xef, 0x01, 0xf8, 0xa4, 0xf2, 0x3a, 0xd5, 0x7e, 0x6f, 0xcb,
- 0x22, 0x68, 0x1c, 0x9a,
- 0xd5, 0xe8, 0x7e, 0xf1, 0x27, 0x80, 0x82, 0x3b, 0x45, 0xd3, 0xe9, 0x69,
- 0x74, 0x7b, 0x0d, 0xf9,
- 0xc3, 0x76, 0x88, 0x29, 0x82, 0xaa, 0x5b, 0x65, 0xed, 0x13, 0xef, 0x45,
- 0x3b, 0x30, 0xfa, 0x6b,
- 0xaf, 0x75, 0x85, 0xc1, 0xca, 0x35, 0x4c, 0x51, 0xd4, 0x24, 0xa8, 0x9d,
- 0xdb, 0xaa, 0x08, 0xe6,
- 0x2b, 0x31, 0x6a, 0xc0, 0x32, 0x91, 0xbe, 0x6b, 0x01, 0x5a, 0xc7, 0x56,
- 0xf9, 0xc2, 0x14, 0x7c,
- 0x86, 0x9a, 0x5b, 0x7b, 0x45, 0x3d, 0xed, 0xaf, 0xf4, 0x35, 0xf2, 0xcf,
- 0x4d, 0x50, 0xcd, 0xbd,
- 0xa7, 0x8b, 0x10, 0xea, 0x7b, 0x14, 0x30, 0x40, 0x50, 0xcb, 0x99, 0x8d,
- 0xa4, 0x4a, 0xca, 0x7a,
- 0xb1, 0x15, 0xe6, 0x32, 0xde, 0x3e, 0xe9, 0x1e, 0xf8, 0x0b, 0x9f, 0xa1,
- 0xeb, 0x01, 0x3d, 0xe8,
- 0xb2, 0xa4, 0x08, 0x75, 0xdc, 0x0a, 0x18, 0x20, 0x28, 0x84, 0xad, 0xa7,
- 0x52, 0x25, 0x65, 0x3d,
- 0x5b, 0x8c, 0xb0, 0xa1, 0xd3, 0x9c, 0x13, 0x85, 0x35, 0x09, 0x2a, 0xb6,
- 0x46, 0xcb, 0x02, 0xd8,
- 0x46, 0x5d, 0x3d, 0x15, 0xc5, 0xa3, 0x47, 0xf4, 0xc9, 0xa9, 0x2f, 0x8c,
- 0xcf, 0x44, 0x6f, 0x03,
- 0xd3, 0x49, 0x61, 0x7f, 0x23, 0xe8, 0xa3, 0x47, 0x26, 0x0e, 0x8d, 0x65,
- 0xc5, 0x33, 0xbd, 0x90,
- 0x9f, 0x34, 0x7d, 0x3b, 0xea, 0xf3, 0x87, 0x37, 0x4a, 0x03, 0x0e, 0xfd,
- 0x1a, 0xaf, 0xc1, 0x28,
- 0xfd, 0x68, 0xfa, 0x76, 0x17, 0x25, 0xcd, 0x6e, 0x94, 0x06, 0x1c, 0x39,
- 0x34, 0x9d, 0x41, 0x50,
- 0xd4, 0x87, 0x24, 0xcc, 0x98, 0x2d, 0x6c, 0x90, 0xb4, 0x17, 0x46, 0x6b,
- 0xa2, 0x67, 0x84, 0x0b,
- 0x0f, 0x30, 0xd0, 0x98, 0x0a, 0xe4, 0xb3, 0xc6, 0x16, 0xf6, 0xfa, 0x1e,
- 0x18, 0xb4, 0xfb, 0x07,
- 0x9c, 0x85, 0x93, 0x7c, 0xe8, 0xc7, 0x76, 0x09, 0x9a, 0x8c, 0x3c, 0xfb,
- 0xa3, 0x8b, 0x99, 0xfd,
- 0x2f, 0x4e, 0xc1, 0x34, 0x8b, 0x60, 0x80, 0x82, 0x43, 0xcc, 0x3e, 0x5e,
- 0x27, 0xb2, 0x75, 0x32,
- 0x9b, 0x4b, 0xd6, 0xcf, 0x53, 0x02, 0xb9, 0xde, 0x08, 0x95, 0xf7, 0xf5,
- 0xc4, 0xdf, 0xa0, 0x66,
- 0x43, 0x4d, 0xcc, 0xdc, 0xc3, 0xff, 0x97, 0xb6, 0x7a, 0xfb, 0x79, 0x86,
- 0xc7, 0x28, 0x87, 0xbf,
- 0xef, 0x89, 0xa7, 0x5a, 0x0b, 0xfe, 0x2a, 0xd9, 0x7e, 0x50, 0xe3, 0x1d,
- 0xa5, 0xa6, 0xd7, 0x8c,
- 0xd9, 0x69, 0x40, 0x2e, 0x2f, 0x50, 0xc0, 0xc3, 0x83, 0xaa, 0x21, 0x71,
- 0xd5, 0xeb, 0xae, 0x2b,
- 0x79, 0x2c, 0x15, 0x77, 0xef, 0x81, 0x3f, 0x54, 0x41, 0x78, 0x73, 0xf2,
- 0x16, 0xf5, 0x5d, 0xca,
- 0xb6, 0xdb, 0xa3, 0x81, 0x65, 0xfb, 0x26, 0xc9, 0x6a, 0x12, 0x54, 0xaf,
- 0x8c, 0x55, 0x04, 0x73,
- 0x53, 0x72, 0x25, 0x8a, 0x62, 0xbd, 0x6f, 0x94, 0xb1, 0xe6, 0x1b, 0xa6,
- 0x39, 0x2b, 0xc0, 0x44,
- 0x7f, 0x8d, 0x0a, 0xf9, 0xeb, 0xe9, 0x1e, 0x28, 0x22, 0xa5, 0x17, 0xfe,
- 0xa7, 0xbd, 0xed, 0xa3,
- 0xc1, 0xa8, 0x3c, 0x53, 0x3f, 0x33, 0x44, 0xf0, 0xcc, 0x58, 0x72, 0x41,
- 0x54, 0x08, 0x2b, 0x4c,
- 0xf0, 0x86, 0x9e, 0x94, 0xa0, 0x58, 0x61, 0x3d, 0xa3, 0xbb, 0x7b, 0x23,
- 0x43, 0x11, 0x6b, 0x70,
- 0x23, 0xcf, 0xff, 0xeb, 0x83, 0xb0, 0xc2, 0x7a, 0x85, 0xb5, 0xf6, 0x46,
- 0x86, 0x22, 0xd6, 0xe0,
- 0xe7, 0x77, 0x32, 0x71, 0xba, 0xdf, 0x56, 0xc8, 0xfa, 0xbf, 0xd2, 0x0d,
- 0xda, 0x46, 0x15, 0x10,
- 0x25, 0x6e, 0xe0, 0x65, 0x87, 0xd8, 0xe3, 0x06, 0xe6, 0x68, 0x92, 0x4a,
- 0x37, 0x6a, 0x66, 0x89,
- 0x5e, 0x9c, 0x41, 0x68, 0xd5, 0xc0, 0xc3, 0xc7, 0x86, 0x5b, 0x7c, 0xbc,
- 0x4e, 0xa7, 0xea, 0x64,
- 0xb5, 0x6a, 0x4d, 0xc6, 0x67, 0xcf, 0xd7, 0xf7, 0xba, 0x9d, 0x66, 0xa9,
- 0x35, 0x71, 0x5c, 0xa6,
- 0x1e, 0x60, 0x63, 0xf3, 0x14, 0x0b, 0xa5, 0x4f, 0x2c, 0x2f, 0x37, 0x3c,
- 0x30, 0xab, 0x35, 0x0e,
- 0xa2, 0x9b, 0xe1, 0x23, 0x7d, 0x48, 0xe0, 0x02, 0xe3, 0x99, 0xcf, 0x87,
- 0xac, 0x26, 0x22, 0xc6,
- 0xdf, 0xc8, 0x5f, 0xa0, 0x2b, 0x38, 0xe1, 0xbf, 0xe0, 0x77, 0x45, 0x7d,
- 0x64, 0xa3, 0x1e, 0x42,
- 0xa6, 0xe4, 0x4a, 0xd7, 0xc4, 0xb9, 0xde, 0xeb, 0xa1, 0x0f, 0x36, 0x8f,
- 0x72, 0x56, 0x43, 0x88,
- 0xfe, 0xd9, 0x14, 0x31, 0x15, 0x11, 0x3c, 0x50, 0x44, 0x89, 0x2e, 0x3f,
- 0x8d, 0xb9, 0x19, 0x85,
- 0xac, 0xc4, 0x6b, 0x86, 0xc8, 0x01, 0xbd, 0x6f, 0x04, 0xab, 0x9a, 0x9b,
- 0x62, 0x8e, 0x50, 0x33,
- 0x22, 0xa0, 0xa5, 0xd6, 0x3c, 0x1d, 0x2c, 0xd1, 0x74, 0x71, 0x59, 0x44,
- 0x50, 0x3e, 0x5f, 0x12,
- 0xf9, 0x17, 0x51, 0x82, 0xae, 0xd4, 0xf3, 0x87, 0xd6, 0x90, 0xe5, 0x31,
- 0xea, 0xed, 0x20, 0x1e,
- 0xe2, 0x67, 0xc3, 0xb8, 0xbc, 0x83, 0x86, 0x8a, 0x49, 0xed, 0x84, 0x07,
- 0xd2, 0x2a, 0xfd, 0xac,
- 0x4a, 0xdc, 0x03, 0xca, 0xcd, 0x73, 0x05, 0x0c, 0x0f, 0xd0, 0xe7, 0x94,
- 0x6e, 0xd4, 0xcc, 0xd1,
- 0xbc, 0xfb, 0x82, 0xd0, 0x69, 0x43, 0x45, 0x4d, 0xcf, 0xb6, 0xf8, 0xbb,
- 0x9c, 0x8d, 0x17, 0xc8,
- 0x35, 0x51, 0x09, 0x33, 0x26, 0x9a, 0x1b, 0x24, 0x2d, 0x75, 0xf0, 0x6a,
- 0xc9, 0x69, 0x21, 0x72,
- 0xca, 0xe7, 0x47, 0x3f, 0x8c, 0x26, 0xc9, 0xdf, 0x98, 0x38, 0x71, 0x57,
- 0x92, 0xcc, 0xb1, 0x05,
- 0xee, 0xe6, 0xfd, 0x67, 0xb4, 0x53, 0xc4, 0x72, 0x8f, 0x94, 0x4c, 0x1f,
- 0x73, 0xba, 0x5e, 0x7e,
- 0x78, 0x43, 0x4f, 0x4a, 0x50, 0x2c, 0xd1, 0xff, 0xb0, 0xbc, 0xdc, 0xf0,
- 0xc0, 0xe9, 0xd4, 0x38,
- 0x05, 0x10, 0xf1, 0xc9, 0x06, 0x5c, 0xd0, 0x42, 0xb3, 0x52, 0x56, 0x0a,
- 0x08, 0x6c, 0xe8, 0xbc,
- 0x6b, 0xcd, 0x48, 0x5b, 0xf3, 0x5a, 0xd8, 0xe3, 0xab, 0x2e, 0x8c, 0xd6,
- 0x87, 0xce, 0xcb, 0x16,
- 0x51, 0xac, 0x91, 0xf0, 0xdf, 0x24, 0x70, 0x01, 0x90, 0xad, 0x86, 0xa2,
- 0x56, 0x13, 0x11, 0x63,
- 0xe1, 0xd6, 0x2d, 0xff, 0xbe, 0xb7, 0x77, 0xb4, 0x99, 0x62, 0xb6, 0x01,
- 0x6b, 0x0e, 0xa5, 0x79,
- 0x59, 0x52, 0x04, 0xdb, 0x6e, 0x05, 0x0c, 0x10, 0x14, 0x42, 0xb7, 0xb2,
- 0x29, 0xf3, 0xd3, 0xff,
- 0xa3, 0xf4, 0xbb, 0x1e, 0xc2, 0xe5, 0x0e, 0xa9, 0x12, 0x5d, 0x60, 0x85,
- 0x7a, 0x3a, 0xab, 0x34,
- 0xf2, 0x58, 0x2a, 0xee, 0x1d, 0xc1, 0x7e, 0xa8, 0x82, 0xf0, 0xe6, 0x27,
- 0x2c, 0x29, 0xba, 0x57,
- 0x71, 0xd2, 0x80, 0x5c, 0x5e, 0xa0, 0x43, 0x45, 0xc5, 0x97, 0x42, 0xe2,
- 0x69, 0x15, 0x9f, 0x56,
- 0x56, 0x62, 0xd4, 0x43, 0x64, 0xe1, 0xbf, 0xd6, 0x02, 0xb4, 0x4d, 0xac,
- 0x31, 0x47, 0x28, 0xf8,
- 0x11, 0x50, 0xb3, 0x6b, 0x1e, 0xef, 0x16, 0x89, 0x3a, 0xd9, 0xcd, 0x22,
- 0x28, 0x1f, 0xce, 0x09,
- 0x6a, 0xa2, 0x12, 0x66, 0x4c, 0xf7, 0x36, 0x48, 0x5a, 0xea, 0x23, 0xd4,
- 0x51, 0xd2, 0x42, 0xe4,
- 0x89, 0xaa, 0x8b, 0xe3, 0x4f, 0xd9, 0x5e, 0x69, 0xe2, 0xc3, 0x08, 0xd1,
- 0x55, 0xe4, 0x36, 0xba,
- 0x94, 0x7b, 0x06, 0x57, 0x59, 0xe6, 0x0a, 0x18, 0x1e, 0x63, 0x0d, 0xeb,
- 0xdc, 0x6b, 0x5b, 0x61,
- 0x65, 0x92, 0xc2, 0xfe, 0x46, 0x13, 0x85, 0x8e, 0x4c, 0x1c, 0xd9, 0xca,
- 0x49, 0x66, 0xb9, 0xe3,
- 0x8c, 0xba, 0x7a, 0x2a, 0x49, 0x85, 0x8e, 0x2b, 0x51, 0x91, 0x5e, 0xdb,
- 0x5d, 0x88, 0xde, 0x06,
- 0xbb, 0x35, 0xc7, 0x63, 0xd2, 0x86, 0x8a, 0x9a, 0x5d, 0xaf, 0x33, 0xb5,
- 0xfb, 0xd9, 0x2e, 0x53,
- 0x77, 0x73, 0x9f, 0xd2, 0x5a, 0xc8, 0x62, 0x39, 0xa6, 0x4a, 0x26, 0xee,
- 0xd8, 0x5d, 0x2f, 0x3f,
- 0x3c, 0xc0, 0xc6, 0x25, 0x28, 0x16, 0x89, 0x9e, 0x58, 0x5e, 0x6e, 0x78,
- 0x60, 0x95, 0x6a, 0x1c,
- 0x7b, 0xf2, 0xa1, 0x0d, 0x52, 0x18, 0x20, 0xc1, 0x60, 0x33, 0xee, 0xf6,
- 0x79, 0xcd, 0x8c, 0xed,
- 0x28, 0x80, 0x84, 0x87, 0x30, 0xa5, 0x4f, 0x55, 0xd1, 0xd5, 0xf5, 0x50,
- 0x40, 0xe6, 0x4c, 0xa9,
- 0xab, 0x0a, 0x2e, 0x35, 0x73, 0xc4, 0x72, 0xb8, 0x96, 0xb2, 0x51, 0x95,
- 0x05, 0xda, 0x69, 0xa8,
- 0xd2, 0x26, 0x3b, 0x42, 0x9c, 0x45, 0x4d, 0xec, 0xd7, 0xca, 0x22, 0x67,
- 0x13, 0x2f, 0x34, 0x62,
- 0x31, 0x2e, 0xa2, 0xc7, 0x9f, 0x6b, 0x25, 0xcd, 0x6f, 0xe3, 0x09, 0x62,
- 0x17, 0x19, 0x40, 0x3c,
- 0xde, 0xa7, 0x05, 0x9d, 0x94, 0x95, 0x0f, 0x14, 0x11, 0xb3, 0xea, 0x7f,
- 0xb2, 0xbf, 0x97, 0xb0,
- 0xc4, 0xb8, 0xcd, 0x9a, 0x39, 0x6f, 0x94, 0xb2, 0x7f, 0x0a, 0x24, 0x4b,
- 0x5c, 0x64, 0xc3, 0xf0,
- 0x5f, 0xf3, 0x1b, 0x55, 0x6a, 0x6d, 0x2d, 0x6c, 0x77, 0x9f, 0xd3, 0xbe,
- 0x98, 0xbb, 0x63, 0x96,
- 0xcc, 0x46, 0x58, 0xb1, 0x88, 0x4e, 0xe8, 0xa3, 0xfb, 0xe5, 0x15, 0x5b,
- 0x23, 0x84, 0x01, 0x6c,
- 0xcf, 0xf7, 0xb6, 0xf6, 0x8a, 0x7a, 0x19, 0x9d, 0x2b, 0x6a, 0x27, 0x5d,
- 0x9a, 0xa0, 0x59, 0xb9,
- 0x76, 0x1c, 0xc5, 0xef, 0xe5, 0x65, 0x8c, 0x92, 0x57, 0x8e, 0x89, 0xec,
- 0x0e, 0x41, 0xa6, 0xcd,
- 0x2c, 0xff, 0x2f, 0x73, 0x89, 0x54, 0x71, 0xbc, 0x93, 0x43, 0x0c, 0x58,
- 0x9e, 0x96, 0x2d, 0xe7,
- 0xb8, 0x84, 0x29, 0x24, 0xd0, 0xb2, 0x7b, 0xa4, 0x8d, 0x20, 0x01, 0xb3,
- 0x42, 0xfd, 0x76, 0x86,
- 0xd8, 0x06, 0x1a, 0x13, 0x90, 0xfd, 0x2e, 0x68, 0x72, 0x6e, 0x8e, 0x73,
- 0x03, 0xf7, 0x27, 0xd9,
- 0x2e, 0x21, 0x9b, 0x09, 0x34, 0xcd, 0x6e, 0x29, 0xb2, 0x08, 0x91, 0x5c,
- 0xf1, 0xae, 0xfc, 0xc0,
- 0x36, 0xe0, 0xe7, 0x74, 0x24, 0xae, 0xea, 0x1a, 0xfd, 0xfa, 0xc2, 0x6c,
- 0x70, 0x4d, 0x79, 0xa7,
- 0xdb, 0xb7, 0xf4, 0x54, 0x92, 0xc9, 0xdf, 0x56, 0xa2, 0xe1, 0xbc, 0x75,
- 0xba, 0xd3, 0x7f, 0x0c,
- 0x69, 0x13, 0xfc, 0x21, 0x4e, 0xc3, 0xc7, 0x76, 0x8a, 0x65, 0x11, 0xd2,
- 0xe8, 0xf6, 0x1a, 0x31,
- 0xb3, 0xcb, 0x52, 0x48, 0x63, 0xa7, 0xf6, 0x8b, 0xd9, 0x40, 0x02, 0xa5,
- 0x84, 0x39, 0xec, 0xcf,
- 0x14, 0x40, 0x42, 0xa2, 0x18, 0xb3, 0xc6, 0xcb, 0x89, 0x8b, 0x9b, 0x28,
- 0x20, 0x73, 0x26, 0xb5,
- 0x95, 0x14, 0x5c, 0x6a, 0xe6, 0x4b, 0xe4, 0xb3, 0xef, 0xa7, 0xa2, 0xe9,
- 0x0a, 0x77, 0xd2, 0x93,
- 0xbe, 0x25, 0x36, 0xaa, 0xd4, 0xda, 0x5a, 0xd8, 0xee, 0xfd, 0x65, 0xbf,
- 0xf3, 0xb5, 0xc6, 0xef,
- 0x62, 0x5c, 0x87, 0x4d, 0xfd, 0xd6, 0x4a, 0x59, 0xde, 0x05, 0x12, 0xc4,
- 0x2e, 0x32, 0x80, 0x78,
- 0xa1, 0x2a, 0x0f, 0x64, 0x7f, 0x7c, 0x11, 0x3c, 0x33, 0x16, 0xfd, 0x81,
- 0x15, 0x02, 0x7a, 0x13,
- 0x3b, 0x0e, 0x83, 0x96, 0x93, 0xd3, 0x46, 0x49, 0xca, 0x47, 0xa5, 0x76,
- 0x07, 0xc1, 0x53, 0x87,
- 0x16, 0x9e, 0xf6, 0xd8, 0xa5, 0x2a, 0xd9, 0x5e, 0xa8, 0xc0, 0x06, 0x2c,
- 0x4f, 0x4b, 0xf7, 0x92,
- 0x66, 0x23, 0x2c, 0xb9, 0x44, 0x27, 0x74, 0xb0, 0x9c, 0x93, 0xeb, 0xcc,
- 0xf0, 0x42, 0xe1, 0x36,
- 0xe9, 0x28, 0xb8, 0xd4, 0x0f, 0x96, 0x0b, 0xa5, 0x1d, 0x8d, 0x87, 0x11,
- 0x14, 0xee, 0x67, 0xe5,
- 0x5c, 0x42, 0xf5, 0x12, 0x68, 0x59, 0xdc, 0x52, 0xa7, 0x10, 0xe1, 0xb8,
- 0x21, 0x9f, 0x3b, 0x43,
- 0x6c, 0x03, 0x0d, 0xe8, 0x48, 0x9f, 0x17, 0x34, 0x39, 0x37, 0x47, 0xd8,
- 0xe0, 0x9a, 0xf2, 0x8d,
- 0x6d, 0x6c, 0x57, 0xd5, 0xf7, 0x32, 0xf9, 0x9f, 0xc8, 0xf3, 0xe8, 0xda,
- 0x36, 0x86, 0x7b, 0x7f,
- 0xad, 0xab, 0x31, 0xbb, 0x77, 0xac, 0x53, 0xc4, 0xf5, 0x6f, 0x35, 0x99,
- 0xb4, 0x92, 0xd9, 0xc1,
- 0x37, 0x8f, 0xbd, 0x49, 0x9b, 0x03, 0x04, 0xb1, 0x0c, 0x3e, 0x6d, 0x6e,
- 0xa6, 0x51, 0xf0, 0x55,
- 0x61, 0xed, 0x69, 0x0a, 0xff, 0xe2, 0xbb, 0x67, 0x0e, 0x8a, 0x20, 0xc2,
- 0x97, 0x16, 0xd8, 0xad,
- 0x4b, 0xb3, 0x59, 0xf7, 0x72, 0xde, 0xeb, 0xa7, 0xfe, 0x14, 0x48, 0x96,
- 0xb8, 0xc8, 0x45, 0x23,
- 0xb9, 0xeb, 0x73, 0x19, 0x6f, 0x1f, 0x95, 0x0f, 0x7c, 0xe4, 0xae, 0xb1,
- 0x94, 0xe1, 0xff, 0x74,
- 0xe3, 0x08, 0x99, 0x85, 0x03, 0x2e, 0x68, 0x21, 0xb8, 0x29, 0x2b, 0x05,
- 0x04, 0x36, 0x74, 0x5e,
- 0xba, 0x5a, 0x9d, 0x5e, 0x6d, 0x2b, 0x64, 0x31, 0xac, 0x6b, 0x9c, 0xb7,
- 0x2d, 0xc5, 0xa7, 0xa1,
- 0xf1, 0xe9, 0xc4, 0xa9, 0x1f, 0xf5, 0x8f, 0x96, 0x52, 0x7f, 0xd4, 0x21,
- 0x95, 0x0d, 0xe2, 0x82,
- 0xa0, 0x45, 0x55, 0x59, 0xc0, 0xd1, 0xff, 0x97, 0xc2, 0xd2, 0x52, 0x83,
- 0xc3, 0x1e, 0xf3, 0xe1,
- 0x85, 0x2b, 0xb5, 0x3c, 0x47, 0x09, 0x1c, 0x91, 0x24, 0xba, 0xc0, 0xc9,
- 0xf4, 0x74, 0x95, 0x68,
- 0x83, 0x8a, 0xaa, 0xb2, 0x43, 0x61, 0x3d, 0xed, 0x47, 0x67, 0xa4, 0xc5,
- 0x45, 0x3c, 0x25, 0x01,
- 0xda, 0xd8, 0xae, 0x69, 0x2d, 0x64, 0x31, 0xfd, 0x53, 0x25, 0x13, 0x77,
- 0x6c, 0xcf, 0xf6, 0xfe,
- 0x47, 0x32, 0x67, 0x28, 0x7a, 0x0e, 0xa9, 0x5f, 0x38, 0x6d, 0x80, 0x8e,
- 0x19, 0x58, 0xe6, 0xf1,
- 0xc5, 0xd7, 0x97, 0xa7, 0x86, 0xc2, 0x7a, 0x19, 0x8e, 0xce, 0x8b, 0x49,
- 0x8a, 0x78, 0x4a, 0x02,
- 0xb0, 0x7a, 0xbc, 0x0f, 0x61, 0x93, 0x07, 0xb5, 0x09, 0xcf, 0x30, 0xa3,
- 0x3d, 0x1d, 0xb4, 0x1a,
- 0x33, 0xf0, 0x16, 0xbd, 0x22, 0xf2, 0x3a, 0x58, 0x4e, 0xa8, 0x94, 0x66,
- 0x78, 0x21, 0x91, 0x1b,
- 0xfa, 0xa6, 0xbf, 0xc5, 0xac, 0xe0, 0x02, 0xb9, 0x06, 0x1f, 0xd7, 0x37,
- 0x53, 0xc9, 0x78, 0xcb,
- 0x96, 0xa5, 0xb2, 0x2d, 0xe4, 0x7f, 0x15, 0x8d, 0x3f, 0x28, 0x90, 0xef,
- 0xb3, 0x53, 0x8a, 0x46,
- 0x6f, 0xb2, 0xe3, 0xaf, 0x4a, 0xab, 0xe6, 0x0a, 0xe9, 0xb8, 0x75, 0xde,
- 0x59, 0xbe, 0xaa, 0x58,
- 0x6e, 0xdd, 0xb9, 0x92, 0xf5, 0x06, 0x08, 0xa1, 0x18, 0x7c, 0xda, 0xdc,
- 0x8f, 0xa2, 0x23, 0xaa,
- 0xc2, 0x19, 0xd2, 0x14, 0x3d, 0x07, 0xb5, 0xce, 0x1c, 0xd7, 0x40, 0x47,
- 0xed, 0x2c, 0x73, 0x99,
- 0xf6, 0x27, 0x81, 0x1a, 0xa4, 0x30, 0x40, 0x41, 0xc0, 0x66, 0x1f, 0x2f,
- 0xf2, 0x59, 0xdb, 0x19,
- 0x50, 0xc3, 0xcb, 0xcd, 0x60, 0x89, 0x9e, 0xaa, 0x61, 0x69, 0x29, 0xa0,
- 0x80, 0x0f, 0x98, 0x91,
- 0xff, 0xb6, 0x4e, 0x0c, 0xaa, 0xbc, 0xd2, 0xfb, 0xb5, 0x4d, 0x81, 0x3d,
- 0x5b, 0xa5, 0x90, 0x77,
- 0x5d, 0x2d, 0xaf, 0x2f, 0xd7, 0xf4, 0x32, 0xf9, 0x56, 0xd4, 0x4e, 0xba,
- 0xf7, 0x83, 0xb2, 0xb1,
- 0xa9, 0xd4, 0x9a, 0x4f, 0xce, 0x5d, 0x6d, 0x2d, 0xb7, 0xf9, 0xcc, 0x91,
- 0x6a, 0xe2, 0xb8, 0x8f,
- 0x8e, 0x64, 0xce, 0x50, 0xf4, 0x1c, 0x91, 0xbe, 0x70, 0xda, 0xc3, 0xdf,
- 0x32, 0xb0, 0x0f, 0x21,
- 0x17, 0xf1, 0xac, 0xe5, 0x1a, 0x87, 0x37, 0xf5, 0x59, 0x04, 0xa9, 0x2e,
- 0x99, 0x57, 0x7e, 0x60,
- 0x1b, 0x70, 0x92, 0x3a, 0x12, 0x57, 0x75, 0x0d, 0x9f, 0x7d, 0x61, 0x36,
- 0x38, 0xc7, 0xdd, 0xb2,
- 0x97, 0xca, 0xe8, 0x10, 0x5b, 0xd2, 0xfb, 0x26, 0xce, 0xec, 0x3f, 0xed,
- 0x65, 0x4f, 0x03, 0xb4,
- 0x7d, 0x53, 0xbe, 0x83, 0x56, 0x70, 0x01, 0xbd, 0x03, 0xee, 0x8a, 0xfa,
- 0xc8, 0x85, 0x3c, 0x84,
- 0xec, 0x38, 0x49, 0x1d, 0x09, 0xca, 0xdb, 0xe7, 0xae, 0xdf, 0xd1, 0x1b,
- 0x1c, 0x82, 0x8f, 0x59,
- 0x58, 0x3d, 0x5e, 0xe6, 0xd1, 0xa8, 0xe2, 0xbb, 0xe5, 0x86, 0x18, 0xb0,
- 0xff, 0xef, 0x5a, 0x0d,
- 0xf7, 0x48, 0xdb, 0x27, 0x1b, 0x9d, 0xae, 0xea, 0x31, 0xa2, 0xb0, 0x2d,
- 0x24, 0x45, 0x52, 0xeb,
- 0x1f, 0x0f, 0x39, 0xce, 0xab, 0xa6, 0x4b, 0xe4, 0xdd, 0xeb, 0x98, 0x3e,
- 0xe6, 0xb7, 0xbc, 0xfc,
- 0xfb, 0xc9, 0xe5, 0xf8, 0x13, 0x4d, 0xec, 0x12, 0xf7, 0xdb, 0x78, 0x35,
- 0x85, 0xd5, 0xf1, 0x39,
- 0x7c, 0x3c, 0xe4, 0xbe, 0xe9, 0xdd, 0xef, 0x16, 0xf2, 0x2a, 0x25, 0xf8,
- 0x1e, 0x99, 0xb5, 0x76,
- 0x09, 0x91, 0xcf, 0x16, 0x0e, 0x8c, 0x92, 0xba, 0x75, 0x2b, 0x9e, 0x12,
- 0xa9, 0xfc, 0x4b, 0x6e,
- 0x0d, 0xee, 0x64, 0xe2, 0xb7, 0x7d, 0xac, 0x53, 0x37, 0xbd, 0x67, 0x1a,
- 0x77, 0x8c, 0x2a, 0x20,
- 0x7a, 0x9d, 0xfb, 0x30, 0xed, 0xb5, 0xce, 0x6a, 0x91, 0xf7, 0x41, 0xf4,
- 0xaf, 0xd1, 0x05, 0x1f,
- 0x67, 0x4c, 0x76, 0x84, 0xfb, 0x8a, 0x9a, 0x1b, 0x6d, 0x57, 0x44, 0xce,
- 0x26, 0x5e, 0x68, 0xc4,
- 0x45, 0xec, 0xd3, 0x52, 0xc7, 0x97, 0xb6, 0xca, 0x19, 0x26, 0x1d, 0x8a,
- 0x76, 0x60, 0x37, 0xd6,
- 0x87, 0xf5, 0x01, 0x46, 0xfa, 0x90, 0x03, 0x04, 0x05, 0xf1, 0x5d, 0xcd,
- 0x9b, 0x4c, 0x44, 0x4f,
- 0xdc, 0x79, 0xb1, 0xe7, 0x29, 0x0c, 0x10, 0x81, 0x30, 0xf8, 0x77, 0x7b,
- 0xdd, 0x87, 0x46, 0x97,
- 0xe8, 0x47, 0xe2, 0xe9, 0xb0, 0x3b, 0xe5, 0x0e, 0xec, 0x49, 0x28, 0x13,
- 0xc2, 0xf2, 0xee, 0x17,
- 0x4f, 0xcc, 0xf2, 0x03, 0xcb, 0x2f, 0xd5, 0x4e, 0xbc, 0x82, 0xb1, 0x9e,
- 0x66, 0xb8, 0x24, 0x6d,
- 0x1d, 0xd1, 0x8d, 0xb4, 0x16, 0x3f, 0x54, 0x71, 0xfc, 0xa0, 0x05, 0x3a,
- 0x89, 0x8f, 0x6d, 0xdb,
- 0x4e, 0xa3, 0xa8, 0x3e, 0x74, 0x82, 0x3b, 0xe5, 0x4d, 0x46, 0x1e, 0x9c,
- 0xb0, 0xa4, 0xad, 0x9f,
- 0x04, 0x7f, 0xab, 0xf4, 0xb9, 0xf1, 0x3e, 0xe9, 0x42, 0x96, 0xf9, 0x08,
- 0xde, 0x70, 0x61, 0x4e,
- 0xeb, 0xf6, 0x0c, 0xae, 0xb2, 0x0f, 0x14, 0x30, 0x3c, 0xc6, 0x1a, 0x15,
- 0x7b, 0xd6, 0xb6, 0xc2,
- 0xf8, 0x78, 0x0b, 0xbf, 0x11, 0x79, 0x1d, 0x2c, 0x27, 0x54, 0x4a, 0x33,
- 0x3c, 0xf1, 0xa9, 0xec,
- 0xf3, 0x37, 0x70, 0xd3, 0xa2, 0x6c, 0x90, 0x03, 0x73, 0x34, 0x49, 0x25,
- 0xfa, 0x35, 0x33, 0xa5,
- 0x3e, 0x1e, 0x72, 0x5f, 0x95, 0x8f, 0x96, 0x0b, 0x79, 0x15, 0xf3, 0x7c,
- 0x0f, 0xad, 0xbb, 0x3b,
- 0x3d, 0xaf, 0x9c, 0x18, 0x97, 0xbb, 0x67, 0x35, 0xa9, 0x9a, 0xc1, 0x7a,
- 0xb6, 0x89, 0xe3, 0xee,
- 0xbd, 0x94, 0xd8, 0xed, 0xd6, 0xee, 0xab, 0xe6, 0x3e, 0x72, 0x57, 0xb9,
- 0x4a, 0x91, 0x9e, 0x3a,
- 0x8a, 0x1b, 0x65, 0xa4, 0x4d, 0xed, 0xaf, 0x57, 0x32, 0x4c, 0x3a, 0xd7,
- 0xec, 0xc0, 0x6e, 0x6f,
- 0x88, 0xc5, 0xd1, 0xde, 0xf0, 0x74, 0xb0, 0xc2, 0x13, 0x07, 0xa7, 0xd3,
- 0x83, 0xf8, 0xbf, 0x48,
- 0xdd, 0x16, 0xeb, 0xda, 0x96, 0xa1, 0xfe, 0x2a, 0xc1, 0x3c, 0xd8, 0x79,
- 0x0b, 0x9b, 0xcf, 0x65,
- 0xcd, 0x29, 0x02, 0x8c, 0x37, 0xe3, 0x06, 0x08, 0x0a, 0x21, 0xba, 0x59,
- 0xf5, 0x98, 0x88, 0x9e,
- 0x0b, 0x4f, 0x7b, 0x6c, 0xb3, 0x15, 0x8d, 0x2f, 0x54, 0x60, 0x03, 0x16,
- 0xc6, 0xc4, 0x9a, 0x49,
- 0x13, 0x8e, 0x07, 0x11, 0xa3, 0x76, 0x09, 0x1c, 0x1b, 0x92, 0x50, 0x26,
- 0x47, 0x27, 0x1f, 0x2e,
- 0x98, 0xfa, 0x38, 0x88, 0x51, 0x36, 0x48, 0xe0, 0xd8, 0x1a, 0xc5, 0xf3,
- 0x7d, 0xfb, 0xf8, 0xb3,
- 0x02, 0xde, 0xb4, 0x7a, 0xbd, 0x99, 0x1f, 0x95, 0x21, 0x4b, 0x9d, 0x04,
- 0x6f, 0x38, 0xd1, 0x27,
- 0x93, 0xb5, 0x43, 0xe4, 0xe2, 0x23, 0xc5, 0xcf, 0x8c, 0x7a, 0xc6, 0xe5,
- 0xbb, 0x3f, 0x62, 0xfa,
- 0x80, 0x3b, 0x44, 0xf5, 0x41, 0x55, 0xcc, 0xd3, 0x97, 0xe8, 0x96, 0xc3,
- 0xfc, 0x18, 0x7d, 0xd4,
- 0x90, 0x04, 0xad, 0xa3, 0xe0, 0x17, 0x34, 0xf1, 0x5c, 0xf5, 0xf4, 0xe3,
- 0x02, 0x1b, 0x3a, 0x2f,
- 0xd0, 0xf8, 0x8f, 0x38, 0x21, 0xdc, 0x52, 0x79, 0xf6, 0x81, 0xbf, 0x63,
- 0x7c, 0x17, 0xe5, 0x45,
- 0x24, 0x01, 0xba, 0x58, 0x38, 0x75, 0x0d, 0xad, 0x17, 0xac, 0x3d, 0x48,
- 0xe1, 0x76, 0xef, 0x7b,
- 0x34, 0x3e, 0x53, 0x0e, 0x99, 0x37, 0xf5, 0x8f, 0xdc, 0xb1, 0x5f, 0x68,
- 0x1f, 0x75, 0xa8, 0x80,
- 0xcb, 0x88, 0x1d, 0x02, 0x33, 0x8b, 0x27, 0x74, 0x69, 0xfc, 0xde, 0x55,
- 0x44, 0xd0, 0x38, 0xf7,
- 0xed, 0x57, 0x13, 0x20, 0xb6, 0x67, 0x35, 0x4c, 0x5f, 0x1b, 0x7e, 0x19,
- 0xca, 0x9e, 0x06, 0xab,
- 0xf4, 0xf9, 0x35, 0x60, 0x19, 0xa9, 0x5f, 0xd4, 0xe1, 0x2d, 0x82, 0x2b,
- 0x9d, 0x61, 0x0a, 0x3e,
- 0xce, 0x98, 0xec, 0xcb, 0x35, 0xd7, 0xf7, 0x36, 0xda, 0xae, 0x88, 0x5f,
- 0x4c, 0xbc, 0xd0, 0x4b,
- 0x99, 0x95, 0x62, 0xb5, 0xee, 0x9b, 0xa6, 0x4b, 0x29, 0xde, 0x6a, 0xf1,
- 0xab, 0xe7, 0x71, 0x41,
- 0x10, 0x3f, 0xe9, 0x56, 0xa1, 0x42, 0xf8, 0x22, 0xcb, 0x1d, 0x62, 0x20,
- 0xfe, 0x03, 0x47, 0xfb,
- 0x44, 0x83, 0x89, 0x6f, 0x78, 0x3a, 0x58, 0x61, 0xe8, 0xe2, 0xb2, 0x88,
- 0xa0, 0x7c, 0xbe, 0x24,
- 0x40, 0xfc, 0x22, 0x9b, 0xc1, 0xcb, 0x66, 0x88, 0xaa, 0x74, 0x4b, 0x80,
- 0x7e, 0x0c, 0xdf, 0x6a,
- 0x92, 0xda, 0x19, 0xd9, 0x5d, 0x8e, 0x2b, 0x64, 0x7d, 0xbe, 0x69, 0xe7,
- 0x6d, 0x23, 0xeb, 0x08,
- 0x3a, 0x61, 0xd9, 0xab, 0x2c, 0x7e, 0xa8, 0xe2, 0x3b, 0x83, 0x0a, 0x74,
- 0xd1, 0xdd, 0xda, 0x75,
- 0x01, 0x6f, 0x5a, 0x3d, 0xbf, 0xad, 0xee, 0xab, 0xf1, 0xc4, 0xaf, 0x02,
- 0xd6, 0x1c, 0x89, 0xf2,
- 0x26, 0xdf, 0x0e, 0x22, 0x85, 0xec, 0x12, 0x38, 0x36, 0xe7, 0xa0, 0x4c,
- 0x8e, 0x4e, 0x3e, 0x5c,
- 0x12, 0xe1, 0x5d, 0x2c, 0x1c, 0xdb, 0xe7, 0xb7, 0xea, 0x56, 0xff, 0x24,
- 0x91, 0x3b, 0x96, 0xdc,
- 0x1a, 0x1f, 0xc8, 0x07, 0xad, 0xfa, 0x9b, 0xa6, 0x6e, 0xb9, 0xce, 0x34,
- 0xee, 0xdb, 0x54, 0x40,
- 0x48, 0x02, 0xb7, 0xb0, 0x70, 0xea, 0x1a, 0x99, 0x2e, 0x9b, 0x7a, 0x90,
- 0x01, 0xec, 0x1d, 0xf6,
- 0x68, 0x7c, 0xa6, 0x1c, 0xf1, 0x6e, 0x29, 0xdd, 0x7b, 0xa1, 0xbe, 0xd0,
- 0x3e, 0xea, 0x93, 0xc3,
- 0xf5, 0x96, 0x6f, 0x5d, 0xa6, 0x04, 0xb1, 0x7f, 0x10, 0xe9, 0x2d, 0x29,
- 0x4b, 0x7d, 0x83, 0xcc,
- 0x81, 0x54, 0x1e, 0xc8, 0xfe, 0xf8, 0x22, 0x78, 0x66, 0x2c, 0x39, 0xc1,
- 0x2a, 0x04, 0xf4, 0x26,
- 0x8b, 0x74, 0x3f, 0x99, 0xf2, 0x40, 0x41, 0xfc, 0xc3, 0x88, 0x95, 0xd5,
- 0x3a, 0xdc, 0xe7, 0x9d,
- 0xc7, 0x09, 0x23, 0xdd, 0x3b, 0x5b, 0x65, 0x8c, 0xaf, 0x85, 0x16, 0x4d,
- 0xe5, 0x40, 0x9b, 0x25,
- 0xd6, 0x59, 0x90, 0xb6, 0x25, 0xb4, 0x73, 0x05, 0x95, 0x5c, 0xdb, 0x6f,
- 0xcd, 0x5f, 0x55, 0x2c,
- 0x20, 0x7e, 0x11, 0xac, 0x81, 0x84, 0x33, 0x44, 0x55, 0x3a, 0xc4, 0x40,
- 0x3f, 0x06, 0x8e, 0x35,
- 0x0a, 0x20, 0x21, 0x51, 0x0c, 0xb8, 0x63, 0x84, 0xa5, 0xa4, 0xac, 0x14,
- 0x10, 0xd8, 0x13, 0xbb,
- 0x08, 0xfe, 0x95, 0x2b, 0xb1, 0x21, 0x7c, 0x11, 0x84, 0xef, 0x31, 0x10,
- 0x7f, 0xe0, 0xc2, 0x9c,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x4c, 0x7d, 0x1c, 0x44, 0xc9, 0x1b, 0x24, 0x70, 0x6c, 0x0d, 0x83, 0x98,
- 0xdf, 0x9c, 0x7c, 0xb8,
- 0xd7, 0x36, 0xca, 0x8b, 0x9a, 0x19, 0x9d, 0xae, 0x64, 0x98, 0x74, 0x6d,
- 0x1b, 0x43, 0xdc, 0xde,
- 0x74, 0xc2, 0x71, 0x95, 0x58, 0xfc, 0x93, 0x07, 0x76, 0xc5, 0x14, 0xe8,
- 0x61, 0x79, 0x77, 0xea,
- },
- { /* 10 */
- 0x51, 0xf6, 0x5f, 0xcc, 0xc9, 0xbb, 0x4b, 0xca, 0x7e, 0x52, 0xea, 0x5b,
- 0x67, 0xa2, 0xef, 0xe6,
- 0x33, 0xae, 0xa5, 0x03, 0xf8, 0x72, 0xcf, 0x10, 0xac, 0xdb, 0x41, 0x06,
- 0xb8, 0x66, 0xba, 0x67,
- 0xa4, 0x6a, 0x15, 0x17, 0x52, 0x6f, 0xc2, 0xd0, 0x70, 0x26, 0xcb, 0x2e,
- 0x94, 0x8b, 0x8e, 0x86,
- 0x67, 0xde, 0xe5, 0xa5, 0xd2, 0x7e, 0xfa, 0xff, 0x18, 0x4a, 0x19, 0x89,
- 0xa8, 0xce, 0x6e, 0xad,
- 0x0a, 0xcf, 0x3e, 0xd4, 0x05, 0xad, 0xfc, 0x4a, 0x57, 0x45, 0xa7, 0x6b,
- 0xee, 0x14, 0x76, 0x58,
- 0xe7, 0x84, 0x9d, 0xfc, 0x92, 0x97, 0xe6, 0x09, 0x2c, 0x7c, 0x70, 0x3b,
- 0xb6, 0x0d, 0x1e, 0x59,
- 0x28, 0xba, 0xf8, 0xd6, 0x14, 0xf1, 0x76, 0xeb, 0x9f, 0xd7, 0xd9, 0x6f,
- 0x3e, 0x50, 0x1b, 0xa3,
- 0x1a, 0x55, 0x31, 0x76, 0x0d, 0x19, 0x1e, 0x24, 0xb0, 0x33, 0x03, 0xec,
- 0x9d, 0x34, 0x78, 0xa7,
- 0x6c, 0x50, 0xb7, 0xd2, 0x36, 0x49, 0xa1, 0x6a, 0xcc, 0x30, 0x25, 0x67,
- 0x5d, 0xd8, 0xc1, 0x96,
- 0x65, 0x5c, 0x3d, 0x20, 0xd3, 0x89, 0x77, 0x82, 0xdd, 0x34, 0xec, 0x40,
- 0x9e, 0xca, 0x1f, 0x6b,
- 0xfa, 0xd5, 0x6b, 0x65, 0x7d, 0xce, 0x0b, 0x75, 0x93, 0xf2, 0x34, 0xca,
- 0x6a, 0x37, 0x2c, 0x14,
- 0xe8, 0xcd, 0xbc, 0x42, 0x74, 0x8d, 0x64, 0x66, 0xb1, 0xfa, 0x65, 0x84,
- 0x2f, 0x13, 0x53, 0x2d,
- 0xac, 0x27, 0xf3, 0x46, 0x56, 0x35, 0xb3, 0xe7, 0xe2, 0x1d, 0x99, 0x8c,
- 0x4c, 0x9b, 0x89, 0x18,
- 0x5a, 0x78, 0x0d, 0xbb, 0x2d, 0x8c, 0x10, 0x5f, 0xaa, 0x28, 0xd6, 0xb5,
- 0x92, 0xb4, 0x40, 0xdd,
- 0xa9, 0xa1, 0xec, 0x2c, 0xb5, 0x82, 0xcd, 0xc2, 0x28, 0xde, 0x2b, 0x58,
- 0x3b, 0x91, 0xb2, 0x34,
- 0x30, 0x6d, 0x11, 0x25, 0x18, 0x1f, 0xe5, 0xb2, 0xea, 0x9a, 0x2f, 0x4a,
- 0x95, 0x60, 0x12, 0xc2,
- 0x8b, 0xd4, 0x2a, 0x2e, 0xa4, 0xde, 0x47, 0x63, 0xe0, 0x4c, 0x55, 0x5c,
- 0xeb, 0xd5, 0xdf, 0xcf,
- 0x83, 0x99, 0xcc, 0x7f, 0xa0, 0x84, 0x36, 0x54, 0x72, 0x77, 0x07, 0xfe,
- 0x33, 0xc5, 0xd8, 0x51,
- 0xef, 0xc9, 0x7b, 0xad, 0x96, 0xcd, 0x97, 0x3e, 0xbe, 0x47, 0x22, 0x99,
- 0x6e, 0x1d, 0x19, 0xc7,
- 0x66, 0x9f, 0x89, 0x06, 0x33, 0xe4, 0x5d, 0x20, 0x9b, 0x75, 0x82, 0x0c,
- 0xb3, 0xcc, 0xb7, 0xce,
- 0x14, 0x5d, 0x7c, 0x6b, 0x0a, 0x99, 0x3b, 0x94, 0xae, 0x8a, 0x8d, 0xd6,
- 0x1f, 0x28, 0xec, 0xb0,
- 0x0d, 0xcb, 0xf9, 0x3b, 0xe7, 0xed, 0x0f, 0x12, 0x58, 0xf8, 0xe0, 0x76,
- 0xaf, 0x1a, 0x3c, 0xb2,
- 0x05, 0x86, 0x1f, 0x6a, 0xe3, 0xb7, 0x7e, 0x25, 0xca, 0xc3, 0xb2, 0xd4,
- 0x77, 0x0a, 0x3b, 0x2c,
- 0x92, 0x42, 0xaf, 0x7e, 0x49, 0xaa, 0x73, 0xe5, 0x16, 0x3e, 0x38, 0xfc,
- 0x5b, 0xe7, 0x0f, 0xcd,
- 0x7a, 0x8f, 0x13, 0x3c, 0x3d, 0x27, 0x17, 0x83, 0xa7, 0xc4, 0x5d, 0x78,
- 0x74, 0xf4, 0x5c, 0xe0,
- 0x13, 0x59, 0xbb, 0x84, 0xe8, 0xd9, 0xc8, 0xcc, 0xa1, 0x37, 0xca, 0xcb,
- 0x5e, 0x26, 0xa6, 0x5a,
- 0xd8, 0xa0, 0xad, 0x67, 0x6c, 0x92, 0x81, 0xd4, 0x5b, 0x60, 0x4a, 0xce,
- 0xba, 0x73, 0x41, 0xef,
- 0x87, 0x5e, 0xbf, 0xb6, 0xa2, 0xa9, 0xef, 0xae, 0x3b, 0x8b, 0x2e, 0xaf,
- 0x5f, 0xcd, 0x3a, 0x1e,
- 0xb5, 0xb1, 0x76, 0x16, 0xbb, 0x41, 0x87, 0x61, 0x14, 0x6f, 0xf4, 0x2c,
- 0xfc, 0xa9, 0x59, 0x1a,
- 0xdf, 0xa4, 0x6a, 0x88, 0x8e, 0xd2, 0x72, 0x8c, 0x54, 0xdd, 0x0d, 0xd3,
- 0xfb, 0x7d, 0x0b, 0x05,
- 0x91, 0x81, 0x1b, 0x58, 0xa9, 0xc7, 0x59, 0x47, 0x50, 0x7f, 0x56, 0xb0,
- 0x76, 0xe1, 0xa7, 0x68,
- 0x2d, 0x3c, 0xe7, 0xbc, 0xf7, 0x46, 0x08, 0xce, 0x55, 0x14, 0x6b, 0xbb,
- 0x49, 0x5a, 0x20, 0x8f,
- 0xa0, 0xad, 0x66, 0xde, 0x50, 0x42, 0x1b, 0x2a, 0x39, 0xda, 0xe2, 0x7f,
- 0xf8, 0x83, 0x6c, 0xc9,
- 0xbf, 0x7e, 0x48, 0xc2, 0xbe, 0xec, 0x7b, 0x2b, 0x43, 0x2a, 0x53, 0x47,
- 0x12, 0xbd, 0x2f, 0x42,
- 0x24, 0x30, 0x6d, 0x4e, 0x12, 0x86, 0xde, 0x26, 0x44, 0x10, 0xa2, 0x9c,
- 0x8a, 0x48, 0xfe, 0x72,
- 0x49, 0x21, 0xb6, 0x3f, 0xc5, 0x55, 0xd8, 0x93, 0x0b, 0x1f, 0x1c, 0x7e,
- 0xcc, 0x92, 0xe6, 0x87,
- 0xee, 0x88, 0x17, 0x0e, 0x77, 0x57, 0x30, 0xe1, 0x3d, 0x78, 0xb9, 0x1c,
- 0x75, 0x1f, 0xc0, 0xa4,
- 0x2c, 0x7d, 0x8b, 0x1f, 0x16, 0xdc, 0xaf, 0x11, 0xd6, 0x2b, 0xf0, 0x3e,
- 0x52, 0x58, 0xf9, 0xec,
- 0x1d, 0x51, 0xf6, 0x99, 0xef, 0x59, 0xed, 0x7c, 0xbf, 0x8e, 0x44, 0xf1,
- 0xdc, 0x3a, 0x32, 0x4d,
- 0xcc, 0xfd, 0xd1, 0x0c, 0x66, 0x0b, 0xba, 0x40, 0xf5, 0xea, 0xc7, 0x18,
- 0xa5, 0x5b, 0xad, 0x5f,
- 0x7c, 0xca, 0xb8, 0x70, 0x3e, 0xfd, 0x43, 0x04, 0x2b, 0x46, 0x81, 0xe0,
- 0x2e, 0xf8, 0xcf, 0x69,
- 0x8e, 0x52, 0x35, 0x44, 0x47, 0x69, 0x39, 0x46, 0x2a, 0x8f, 0xe7, 0x88,
- 0x9c, 0xdf, 0xe4, 0xe3,
- 0xb8, 0x7a, 0x8f, 0x2d, 0x5c, 0xac, 0x88, 0x73, 0x4c, 0x97, 0x14, 0x5a,
- 0x53, 0xb3, 0x65, 0xa8,
- 0xe6, 0xc5, 0xf1, 0x5f, 0x73, 0x0d, 0x41, 0xd6, 0xaf, 0x43, 0xeb, 0xbe,
- 0xad, 0x0f, 0xc7, 0x3a,
- 0xf4, 0xdd, 0x26, 0x78, 0x7a, 0x4e, 0x2e, 0xc5, 0x8d, 0x4b, 0xba, 0xf0,
- 0xe8, 0x2b, 0xb8, 0x03,
- 0x26, 0xb2, 0xb5, 0xcb, 0x13, 0x71, 0x53, 0x5b, 0x81, 0x6e, 0x57, 0x55,
- 0xbc, 0x4c, 0x8f, 0xb4,
- 0x1b, 0x14, 0x5d, 0xd5, 0xec, 0x83, 0xb9, 0xfb, 0x33, 0x0c, 0x98, 0x69,
- 0x86, 0x36, 0xa1, 0xc4,
- 0x4f, 0x64, 0x1d, 0x73, 0xc6, 0x8f, 0x8c, 0x14, 0x87, 0x9d, 0xc0, 0xe6,
- 0x96, 0x9e, 0x75, 0x0e,
- 0xd5, 0x6b, 0x54, 0x5c, 0x8b, 0x7f, 0x8e, 0xc6, 0x03, 0x98, 0xaa, 0xb8,
- 0x15, 0x69, 0x7d, 0x5d,
- 0xc5, 0xf1, 0x5b, 0xfe, 0x83, 0xcb, 0x6c, 0xa8, 0xe4, 0xee, 0x0e, 0x3f,
- 0x66, 0x49, 0x73, 0xa2,
- 0x50, 0xb7, 0x33, 0x6f, 0x28, 0x21, 0xec, 0x15, 0xfd, 0x6d, 0x71, 0xde,
- 0x7c, 0xa0, 0x36, 0x85,
- 0x79, 0x4c, 0xa7, 0x1a, 0xdd, 0x4a, 0x3d, 0x21, 0xe1, 0x85, 0x33, 0x34,
- 0x59, 0xf2, 0xf4, 0x45,
- 0x77, 0x44, 0xea, 0x07, 0xda, 0xca, 0x18, 0x91, 0xff, 0x3c, 0xbd, 0x0e,
- 0xdb, 0xee, 0x60, 0x52,
- 0x16, 0xdf, 0xa4, 0xee, 0x0b, 0x6e, 0xb6, 0xe9, 0x6b, 0xf4, 0x78, 0x1f,
- 0x29, 0x2c, 0x9d, 0x76,
- 0x52, 0x35, 0xeb, 0xea, 0x29, 0xd6, 0x61, 0x68, 0x38, 0x13, 0x84, 0x17,
- 0x4a, 0xa4, 0x47, 0x43,
- 0x15, 0x1c, 0x10, 0xc8, 0xeb, 0x03, 0x9c, 0x4b, 0x2d, 0xb5, 0x16, 0x53,
- 0x04, 0x2a, 0x35, 0xd3,
- 0x9b, 0x4e, 0x25, 0x8c, 0xac, 0x6a, 0xa5, 0x0d, 0x07, 0x3a, 0xf1, 0xdb,
- 0x98, 0xf5, 0xd1, 0x30,
- 0xb4, 0xf0, 0x1a, 0xb5, 0x5a, 0xdb, 0x20, 0xbe, 0x97, 0x50, 0x6f, 0xa9,
- 0xe7, 0xab, 0x80, 0x79,
- 0x3e, 0x65, 0x5c, 0x38, 0x1f, 0x9f, 0xc0, 0x02, 0xf4, 0x23, 0xa1, 0x70,
- 0x17, 0x7c, 0x86, 0xd5,
- 0x80, 0x5a, 0x78, 0x59, 0x40, 0xe9, 0x1c, 0xf6, 0x34, 0x36, 0x69, 0xb2,
- 0x1e, 0xc3, 0x70, 0xf4,
- 0x36, 0x28, 0xba, 0x69, 0x1b, 0xc5, 0xb1, 0x35, 0x66, 0x18, 0xf3, 0xd2,
- 0xcf, 0x6c, 0x81, 0x4b,
- 0xd3, 0x2e, 0xff, 0x10, 0x88, 0xa5, 0xda, 0x41, 0x8f, 0x1a, 0x76, 0x20,
- 0x4f, 0x65, 0xee, 0xd4,
- 0x2b, 0x79, 0x4c, 0xf0, 0xf4, 0x9c, 0x5c, 0x49, 0xd9, 0x96, 0xb7, 0x23,
- 0x13, 0x56, 0xb3, 0x06,
- 0x01, 0x41, 0x6c, 0xa3, 0xe1, 0x9a, 0xa7, 0xdf, 0x83, 0x3f, 0x9b, 0x85,
- 0x1b, 0x02, 0xd9, 0x63,
- 0x99, 0xcc, 0xfd, 0x09, 0xad, 0x9d, 0x28, 0x70, 0xc2, 0x44, 0x04, 0x12,
- 0xae, 0xf1, 0xa0, 0xf6,
- 0xdd, 0x26, 0xb2, 0x0d, 0x8f, 0x25, 0xff, 0xf1, 0x91, 0xa3, 0xf8, 0x1a,
- 0xcd, 0x79, 0x7a, 0xc3,
- 0xf6, 0x5f, 0xfe, 0xfd, 0x7b, 0xb9, 0xa3, 0xb8, 0x48, 0x35, 0x4f, 0x39,
- 0xde, 0x2f, 0xc9, 0xc5,
- 0x68, 0x97, 0xc4, 0x1b, 0x34, 0x64, 0x78, 0x90, 0x85, 0xcc, 0x0c, 0x36,
- 0x31, 0xd0, 0x23, 0xd9,
- 0x12, 0x18, 0xd7, 0x27, 0x09, 0x43, 0x6f, 0x13, 0x22, 0x08, 0x51, 0x4e,
- 0x45, 0x24, 0x7f, 0x39,
- 0x8a, 0x95, 0x46, 0x8d, 0x45, 0x44, 0xe0, 0xbc, 0x63, 0x73, 0xce, 0xd9,
- 0xf0, 0xd7, 0x06, 0xac,
- 0x09, 0x0c, 0x8a, 0xf2, 0xe5, 0xc0, 0xd6, 0xe8, 0x11, 0x04, 0xc9, 0x27,
- 0xc3, 0x12, 0xde, 0xfd,
- 0xa6, 0xe8, 0xcd, 0x92, 0x53, 0x98, 0x4f, 0xad, 0xb5, 0x58, 0x3e, 0xe7,
- 0xa2, 0x8f, 0xff, 0x40,
- 0x72, 0xc2, 0xf5, 0x6d, 0x39, 0x7d, 0x66, 0xb4, 0x35, 0xff, 0x0f, 0xda,
- 0xac, 0xe4, 0x5b, 0x7e,
- 0xc4, 0xb0, 0x37, 0x5d, 0x62, 0x51, 0xcb, 0x77, 0x67, 0xd1, 0x95, 0xba,
- 0x7d, 0x4b, 0xaa, 0xc1,
- 0x3a, 0xa2, 0x2f, 0xf1, 0x1d, 0xb2, 0x19, 0xf8, 0xbd, 0xdf, 0x88, 0x21,
- 0x7b, 0x74, 0x64, 0x9a,
- 0x74, 0x87, 0x5e, 0x21, 0x3a, 0xa7, 0x32, 0x33, 0xb9, 0x7d, 0xd3, 0x42,
- 0xf6, 0xe8, 0xc8, 0xf7,
- 0xc1, 0x36, 0x28, 0x37, 0x81, 0xe6, 0xb5, 0x52, 0xad, 0x12, 0x27, 0x6e,
- 0x0a, 0x41, 0x91, 0xed,
- 0xca, 0xb8, 0x7a, 0x40, 0x65, 0xd1, 0xee, 0xc7, 0x79, 0x68, 0x1b, 0x80,
- 0xff, 0x57, 0x3e, 0xd6,
- 0xb9, 0x3b, 0xe3, 0x8e, 0xbd, 0x36, 0x2f, 0xac, 0xcf, 0xa8, 0x8f, 0xdf,
- 0x48, 0xb1, 0xbc, 0xcb,
- 0x70, 0x40, 0x2d, 0xe8, 0x38, 0x8a, 0xeb, 0xc9, 0xf0, 0x81, 0xfa, 0x13,
- 0x9a, 0xe0, 0x2a, 0xb8,
- 0xbc, 0xbd, 0xfc, 0xe4, 0x5e, 0x81, 0x51, 0x89, 0x05, 0x6b, 0x3d, 0x0b,
- 0x3f, 0xbb, 0x87, 0xe7,
- 0x34, 0xaa, 0x62, 0xec, 0x1a, 0x32, 0x3c, 0x48, 0xa3, 0x66, 0x06, 0x1b,
- 0xf9, 0x68, 0xf0, 0x8d,
- 0x6a, 0x15, 0x1c, 0x9e, 0x35, 0x93, 0xf5, 0xed, 0x40, 0xb2, 0xf9, 0xff,
- 0x07, 0xd4, 0x52, 0x1f,
- 0x48, 0x60, 0xda, 0x9c, 0x24, 0xcf, 0x7f, 0x4c, 0x88, 0x20, 0x87, 0xfb,
- 0xd7, 0x90, 0x3f, 0xe4,
- 0x5f, 0xfe, 0x12, 0xd1, 0xce, 0x3b, 0x6e, 0x7a, 0x60, 0xeb, 0x64, 0x61,
- 0xe5, 0xbe, 0x7b, 0xf1,
- 0x8f, 0x13, 0x59, 0xe7, 0xa6, 0xf3, 0x9e, 0x99, 0xa9, 0xb0, 0x7c, 0x0d,
- 0x87, 0xdd, 0x3d, 0x80,
- 0x69, 0xd6, 0xa8, 0xb8, 0xd5, 0xfe, 0xdf, 0x4f, 0x06, 0xf3, 0x97, 0xb3,
- 0x2a, 0xd2, 0xfa, 0xba,
- 0x9a, 0x0f, 0x49, 0x2f, 0x4d, 0xf0, 0x02, 0xd2, 0x84, 0x05, 0x6a, 0x5e,
- 0x83, 0xf7, 0x08, 0x53,
- 0xda, 0x22, 0x75, 0xe2, 0x6d, 0x65, 0x0c, 0xa9, 0x9e, 0x1e, 0xbf, 0x07,
- 0x8c, 0x77, 0x30, 0x29,
- 0xfd, 0xd1, 0xac, 0x8a, 0x9f, 0x8e, 0xf8, 0x2d, 0x9c, 0x4f, 0x73, 0xd7,
- 0x2b, 0x39, 0x66, 0xfe,
- 0x39, 0x61, 0x9b, 0xd7, 0xfd, 0xdf, 0x33, 0x5a, 0xfb, 0x9e, 0xe6, 0x6d,
- 0x56, 0x72, 0xcc, 0x3f,
- 0xa5, 0x2b, 0x79, 0xb4, 0xb3, 0xf5, 0x65, 0x0f, 0xf3, 0x19, 0x50, 0xab,
- 0x8f, 0x89, 0x57, 0xe5,
- 0xfc, 0x90, 0xc0, 0x29, 0x7e, 0x14, 0x5f, 0xf2, 0x1f, 0x70, 0xe8, 0x52,
- 0x30, 0x3b, 0xbf, 0x9d,
- 0xe0, 0x80, 0x5a, 0x13, 0x70, 0xd7, 0x15, 0x51, 0x23, 0xc1, 0x37, 0x26,
- 0xf7, 0x03, 0x54, 0xb3,
- 0x0c, 0x8a, 0x95, 0x98, 0x06, 0x77, 0xa8, 0xcd, 0xdb, 0xc7, 0x7b, 0xf3,
- 0xb4, 0x18, 0xe5, 0xd1,
- 0x57, 0xb3, 0xf4, 0x80, 0xca, 0x61, 0x1f, 0x4d, 0xf2, 0xd0, 0x36, 0xc3,
- 0x3d, 0xae, 0x7c, 0x6f,
- 0x54, 0x70, 0x40, 0xa6, 0x2a, 0x0c, 0x35, 0xef, 0xb4, 0x91, 0x58, 0x8f,
- 0x10, 0xa8, 0xd4, 0xca,
- 0x8d, 0x91, 0x81, 0x62, 0xa7, 0x04, 0x13, 0xe4, 0x6c, 0xce, 0x89, 0xc4,
- 0xb1, 0xd9, 0x4c, 0x46,
- 0xd2, 0x6f, 0x93, 0xb3, 0x69, 0x3f, 0x7d, 0x9e, 0x0c, 0x25, 0xed, 0xa5,
- 0x54, 0x67, 0x37, 0xb7,
- 0xf7, 0x1e, 0x92, 0x5e, 0x9a, 0x23, 0x04, 0x67, 0xcb, 0x0a, 0xd4, 0xbc,
- 0xc5, 0x2d, 0x10, 0xa6,
- 0x5e, 0xbf, 0x7e, 0x72, 0x2f, 0xa1, 0xc9, 0xa5, 0xe3, 0xd4, 0xff, 0xe4,
- 0xfe, 0xbc, 0xa2, 0x92,
- 0xf9, 0x16, 0xdf, 0x43, 0x9d, 0xa3, 0x21, 0xd7, 0xd5, 0xb3, 0x5a, 0x86,
- 0x47, 0x31, 0x84, 0xb1,
- 0xf2, 0x98, 0x8d, 0x34, 0x79, 0x94, 0x7a, 0x42, 0x01, 0xc9, 0x66, 0x68,
- 0xb2, 0x27, 0x2b, 0x8a,
- 0xe3, 0x43, 0xee, 0x35, 0x90, 0xba, 0x3f, 0xf3, 0x65, 0x80, 0x59, 0x6a,
- 0xda, 0x05, 0xfc, 0x16,
- 0x3b, 0xe3, 0x43, 0x52, 0xfc, 0x28, 0xbe, 0x27, 0x3e, 0xe0, 0x13, 0xa4,
- 0x60, 0x76, 0xbd, 0xf9,
- 0x03, 0xc3, 0xb4, 0x26, 0xe0, 0x6d, 0x2a, 0xa2, 0x46, 0x41, 0x6e, 0x4c,
- 0x2d, 0x06, 0xa8, 0xa5,
- 0xa1, 0xec, 0x0a, 0x7d, 0xb1, 0xd8, 0xbc, 0xf5, 0xba, 0xe5, 0x79, 0xfa,
- 0xe3, 0x81, 0xb5, 0xaa,
- 0x96, 0x85, 0xdc, 0xb7, 0x4b, 0x87, 0xaa, 0x1f, 0x5f, 0xc2, 0x11, 0xad,
- 0x37, 0xef, 0xed, 0x82,
- 0xaa, 0x62, 0x58, 0x0a, 0x55, 0xef, 0xe7, 0x60, 0x6e, 0x9f, 0x45, 0x14,
- 0x16, 0x97, 0x1a, 0x91,
- 0x9f, 0x89, 0x56, 0x45, 0xae, 0x47, 0x7c, 0xf7, 0x4e, 0xc6, 0xd8, 0x8a,
- 0xf4, 0xfd, 0x33, 0x7f,
- 0x46, 0x68, 0x97, 0x81, 0x23, 0x4f, 0x5a, 0xfc, 0x96, 0x99, 0x09, 0xc1,
- 0x55, 0x8c, 0xab, 0xf3,
- 0x41, 0x6c, 0x50, 0x6e, 0xc1, 0x0f, 0xa9, 0xa4, 0x99, 0x24, 0x4e, 0xdc,
- 0x14, 0x82, 0xe1, 0x19,
- 0x2a, 0x38, 0x20, 0x53, 0x15, 0x06, 0xfb, 0x96, 0x5a, 0xa9, 0x2c, 0xa6,
- 0x08, 0x54, 0x6a, 0x65,
- 0x60, 0xda, 0x22, 0x4a, 0x30, 0x3e, 0x09, 0xa7, 0x17, 0xf7, 0x5e, 0x94,
- 0xe9, 0xc0, 0x24, 0x47,
- 0xe5, 0x06, 0x45, 0x79, 0x93, 0x60, 0x6b, 0x74, 0xe9, 0x02, 0x85, 0xf2,
- 0x80, 0x09, 0x6f, 0x9f,
- 0x94, 0x07, 0x04, 0x32, 0x4a, 0x70, 0x27, 0x62, 0x9a, 0xbc, 0xe4, 0x64,
- 0x01, 0xeb, 0x9c, 0x44,
- 0xbe, 0x3f, 0x24, 0x61, 0x5f, 0x76, 0xdc, 0xf4, 0xc0, 0x15, 0xc8, 0xc2,
- 0x09, 0xbf, 0xf6, 0x21,
- 0x90, 0xc0, 0x77, 0xfb, 0x48, 0x5d, 0xfe, 0x98, 0xd3, 0x40, 0xcd, 0x35,
- 0x6d, 0xe3, 0x7e, 0x0b,
- 0x2f, 0xbe, 0x3f, 0x39, 0xf6, 0xb1, 0x85, 0xb3, 0x90, 0x6a, 0x9e, 0x72,
- 0x7f, 0x5e, 0x51, 0x49,
- 0x9d, 0x0b, 0x8e, 0xc0, 0xaf, 0xb0, 0xf1, 0x8a, 0x8b, 0xb8, 0x2d, 0x43,
- 0xc2, 0xf9, 0x42, 0xb9,
- 0x81, 0x1b, 0x14, 0xfa, 0xa1, 0x73, 0xbb, 0x29, 0xb7, 0x09, 0xf2, 0x37,
- 0x05, 0xc1, 0xa9, 0x97,
- 0xa2, 0x2f, 0xbe, 0x5b, 0x51, 0xb5, 0x96, 0x57, 0xfc, 0xa4, 0x17, 0xb6,
- 0xce, 0x87, 0x1d, 0x0f,
- 0x76, 0x05, 0x86, 0xa4, 0x3b, 0x50, 0xbf, 0x4e, 0x7c, 0x03, 0x26, 0x8b,
- 0xc0, 0xec, 0xb9, 0x31,
- 0x4b, 0xa3, 0x6e, 0xba, 0xc4, 0xa2, 0x55, 0xee, 0xce, 0x61, 0xe9, 0xb7,
- 0xfa, 0x96, 0x97, 0x41,
- 0xe4, 0x47, 0x29, 0xda, 0x72, 0xfa, 0xcc, 0xab, 0x6a, 0x3d, 0x1e, 0x77,
- 0x9b, 0x0b, 0xb6, 0xfc,
- 0x06, 0x45, 0xab, 0x4c, 0x03, 0xda, 0x54, 0x87, 0x8c, 0x82, 0xdc, 0x98,
- 0x5a, 0x0c, 0x93, 0x89,
- 0x55, 0x31, 0x2c, 0x05, 0xcb, 0x96, 0x92, 0x30, 0x37, 0xae, 0xc3, 0x0a,
- 0x0b, 0xaa, 0x0d, 0xa9,
- 0xae, 0xa5, 0x2b, 0xc3, 0x57, 0xc2, 0x3e, 0x9a, 0x27, 0x63, 0x6c, 0x45,
- 0x7a, 0x9f, 0xf8, 0xde,
- 0x1c, 0x10, 0x9a, 0x3a, 0x0e, 0xc3, 0x4a, 0xa3, 0x3c, 0xb1, 0xdf, 0x74,
- 0xc7, 0x38, 0xeb, 0x2e,
- 0x75, 0xc6, 0x32, 0x82, 0xdb, 0x3d, 0x95, 0xec, 0x3a, 0x42, 0x48, 0xc7,
- 0xed, 0xea, 0x11, 0x94,
- 0x5b, 0x39, 0x61, 0x18, 0xcc, 0x16, 0xb7, 0x80, 0x29, 0x17, 0x4d, 0x30,
- 0x89, 0xb6, 0x99, 0xbe,
- 0x04, 0xc7, 0x73, 0xc9, 0x02, 0x2d, 0xd9, 0xfa, 0x49, 0xfc, 0x29, 0x51,
- 0x6c, 0x08, 0xe2, 0x4f,
- 0x27, 0xf3, 0xd9, 0x68, 0xf2, 0xeb, 0xf4, 0x84, 0x02, 0x51, 0xcc, 0xd0,
- 0xa7, 0x4e, 0x56, 0xd7,
- 0x4d, 0xe6, 0xc5, 0xf6, 0xc7, 0x78, 0x01, 0x69, 0x42, 0xe3, 0x35, 0x2f,
- 0xa0, 0x9a, 0x04, 0xc8,
- 0x9c, 0x4a, 0xe2, 0x63, 0x4e, 0x2a, 0x56, 0x55, 0x08, 0x87, 0xb6, 0xc6,
- 0xd9, 0xfb, 0x9b, 0xda,
- 0x20, 0xf7, 0x1e, 0x87, 0x10, 0xab, 0x07, 0xdc, 0x0d, 0xec, 0x8b, 0xcd,
- 0xe6, 0x40, 0x1c, 0x3d,
- 0x53, 0x74, 0x87, 0x49, 0xc8, 0x4c, 0xc6, 0xb7, 0xbb, 0x2c, 0x1f, 0x92,
- 0x51, 0xa6, 0x9e, 0x20,
- 0xd0, 0xed, 0x4b, 0x36, 0x68, 0xc8, 0xf0, 0xe3, 0xc9, 0x5b, 0x18, 0x6c,
- 0x62, 0x63, 0x46, 0x71,
- 0x95, 0x46, 0x68, 0x91, 0xab, 0xea, 0x80, 0xbd, 0x19, 0x83, 0x7f, 0xe1,
- 0x1a, 0xe9, 0x45, 0x27,
- 0xf3, 0xd9, 0xe1, 0x97, 0x98, 0x0e, 0xdd, 0x9d, 0x82, 0xf6, 0xfd, 0xed,
- 0xa9, 0x25, 0xf2, 0xe9,
- 0x85, 0xdc, 0x67, 0x33, 0xa3, 0x5e, 0x62, 0xd3, 0xfe, 0xf5, 0xdb, 0x66,
- 0x69, 0xc9, 0x4b, 0xd8,
- 0x88, 0x17, 0x9e, 0x08, 0x44, 0xb3, 0x6d, 0xc1, 0xa6, 0x0d, 0x3b, 0x10,
- 0xc6, 0xd3, 0x77, 0x6a,
- 0xb0, 0x37, 0x69, 0x7c, 0x58, 0xf6, 0xf9, 0x44, 0xde, 0xac, 0x46, 0xf8,
- 0x8b, 0xa3, 0x62, 0x36,
- 0x22, 0x75, 0xc6, 0x02, 0x11, 0x5c, 0x8a, 0xa1, 0xc8, 0x92, 0x7e, 0x04,
- 0xd0, 0x44, 0x6d, 0xfb,
- 0x0b, 0x8e, 0x52, 0x77, 0xe4, 0x37, 0x5b, 0x95, 0xd4, 0x7a, 0x3c, 0xee,
- 0xf5, 0x16, 0xaf, 0x3b,
- 0x02, 0x82, 0xd8, 0x85, 0x01, 0xf7, 0x8d, 0x7d, 0xc5, 0x7e, 0xf5, 0xc9,
- 0x36, 0x04, 0x71, 0xc6,
- 0xc9, 0x7b, 0xce, 0x66, 0x85, 0xbc, 0xc4, 0x65, 0x3f, 0x29, 0x75, 0xcc,
- 0xd2, 0x51, 0x96, 0x73,
- 0xdb, 0x63, 0x19, 0x41, 0x8c, 0xff, 0xab, 0x76, 0x1d, 0x21, 0x24, 0x82,
- 0x97, 0x75, 0xe9, 0x4a,
- 0xb6, 0x72, 0xc2, 0x30, 0x5b, 0x2c, 0xad, 0xc3, 0x52, 0x2e, 0x9a, 0x60,
- 0xd1, 0xaf, 0xf1, 0xbf,
- 0x40, 0x2d, 0x3c, 0xcd, 0x20, 0x95, 0x0e, 0x7b, 0x1a, 0x1b, 0xd5, 0x59,
- 0x0f, 0x80, 0x38, 0x7a,
- 0x4e, 0x25, 0x71, 0xd0, 0x27, 0x15, 0x2b, 0xcb, 0x04, 0xa2, 0x5b, 0x63,
- 0x8d, 0x9c, 0xac, 0x6d,
- 0xd7, 0xe9, 0x8c, 0xd9, 0x8a, 0x88, 0x03, 0xbb, 0xc6, 0xe6, 0x5f, 0x71,
- 0x23, 0x6d, 0x0c, 0x9b,
- 0xab, 0x23, 0x34, 0xa9, 0xb4, 0x75, 0x40, 0xbf, 0xed, 0xa0, 0xde, 0x91,
- 0x0d, 0x95, 0xc3, 0xf2,
- 0x98, 0x8d, 0x91, 0xaa, 0x4c, 0x07, 0x8f, 0xaf, 0x41, 0x7b, 0x9f, 0x97,
- 0xb5, 0xf3, 0x79, 0x95,
- 0xc8, 0x3a, 0xa2, 0xc5, 0x64, 0x26, 0x63, 0xba, 0xbc, 0x16, 0xee, 0x49,
- 0xc9, 0x53, 0x4f, 0x10,
- 0xaf, 0xe4, 0x47, 0x60, 0xb6, 0x58, 0x99, 0x45, 0xa4, 0x5c, 0xf7, 0xc0,
- 0x61, 0x9d, 0x21, 0xbd,
- 0xa3, 0x6e, 0xd2, 0xf8, 0xb0, 0x2f, 0x31, 0x88, 0x7f, 0x9b, 0x8c, 0x33,
- 0xd5, 0x85, 0xc4, 0x6c,
- 0x44, 0xea, 0x4f, 0x04, 0x22, 0xb8, 0xd7, 0x81, 0x53, 0xe7, 0xfc, 0x08,
- 0x63, 0x88, 0xda, 0x35,
- 0x84, 0x9d, 0x0b, 0x90, 0x42, 0xc4, 0xc5, 0x0c, 0x7d, 0xca, 0x40, 0xe3,
- 0x72, 0xcb, 0x92, 0xbb,
- 0x9e, 0xc8, 0x3a, 0xe6, 0x4f, 0xdd, 0xdb, 0x28, 0xcd, 0xf9, 0x43, 0x0f,
- 0xef, 0xff, 0xea, 0x1c,
- 0xe2, 0x02, 0x82, 0x96, 0x71, 0x20, 0x98, 0x2c, 0xe6, 0xbf, 0xc2, 0xef,
- 0xc1, 0x07, 0x25, 0x75,
- 0xcd, 0xbc, 0xbd, 0xaf, 0x87, 0x91, 0x1d, 0x9f, 0x76, 0xd5, 0x5c, 0x9d,
- 0xbe, 0x59, 0x74, 0x3c,
- 0xfb, 0x94, 0x07, 0xc6, 0x9c, 0x54, 0xac, 0xaa, 0x10, 0xcd, 0xaf, 0x4f,
- 0x71, 0x35, 0xf5, 0x77,
- 0x45, 0xab, 0x23, 0xa7, 0xc3, 0x22, 0x70, 0x5e, 0xd0, 0xd8, 0x67, 0x8d,
- 0x78, 0x8a, 0x03, 0x56,
- 0x23, 0x34, 0xaa, 0xa1, 0xf0, 0xc6, 0x2d, 0x7e, 0x4b, 0xad, 0xe5, 0x81,
- 0xcb, 0x46, 0xb4, 0x98,
- 0xc6, 0x32, 0xef, 0xd8, 0x63, 0xa6, 0x46, 0x0a, 0xa2, 0xaf, 0x60, 0x73,
- 0x4b, 0x4f, 0xdb, 0x07,
- 0x3d, 0xa6, 0xe8, 0x1e, 0xff, 0xf2, 0xea, 0xa0, 0xb2, 0x62, 0xcf, 0x3c,
- 0x3a, 0x7a, 0x2e, 0x70,
- 0x17, 0x9e, 0xc8, 0x4d, 0xea, 0xf4, 0x11, 0x36, 0xe8, 0xcb, 0xe3, 0x9a,
- 0x32, 0x2e, 0x44, 0x15,
- 0xeb, 0x0e, 0x08, 0x64, 0x94, 0xe0, 0x4e, 0xc4, 0xf7, 0xbb, 0x0b, 0xc8,
- 0x02, 0x15, 0xfb, 0x88,
- 0x2e, 0xff, 0x53, 0x9a, 0x17, 0x2b, 0x22, 0x6c, 0x13, 0x55, 0x05, 0xf7,
- 0x64, 0x5c, 0x88, 0x2a,
- 0xcb, 0xf9, 0x16, 0xe3, 0x84, 0x4b, 0x49, 0x18, 0xfa, 0x57, 0x80, 0x05,
- 0xe4, 0x55, 0xe7, 0xb5,
- 0xb2, 0xb5, 0xb1, 0xf9, 0x59, 0x01, 0x74, 0x39, 0x1b, 0xd2, 0xb3, 0x31,
- 0xbd, 0xa7, 0x13, 0xf0,
- 0x5c, 0x3d, 0xa6, 0xf7, 0x2e, 0x56, 0x44, 0xd8, 0x26, 0xaa, 0x0a, 0x2d,
- 0xc8, 0xb8, 0xd3, 0x54,
- 0x4a, 0xe2, 0x02, 0x19, 0x25, 0x38, 0xf2, 0x31, 0x4d, 0x5e, 0x72, 0x32,
- 0xe1, 0x94, 0x4e, 0x22,
- 0x64, 0x1d, 0x51, 0x83, 0x32, 0x13, 0xd0, 0x5d, 0x5e, 0x0b, 0x77, 0xc5,
- 0x85, 0xc8, 0xc6, 0x08,
- 0x71, 0x01, 0x41, 0x4b, 0xd9, 0x10, 0x4c, 0x16, 0x73, 0xbe, 0x61, 0x96,
- 0x81, 0xe2, 0xf3, 0xdb,
- 0x35, 0xeb, 0x0e, 0x4f, 0xfb, 0xa8, 0x9b, 0x97, 0x20, 0x59, 0x9d, 0x9e,
- 0xe2, 0x6a, 0x29, 0xee,
- 0xc7, 0x73, 0x83, 0x7b, 0x82, 0x3c, 0xe1, 0xd5, 0x21, 0x90, 0xfb, 0xf6,
- 0x50, 0x4d, 0x02, 0x64,
- 0x07, 0x04, 0xc7, 0xef, 0xe2, 0x40, 0xf3, 0x58, 0x0f, 0xbd, 0x47, 0x1d,
- 0x41, 0x0e, 0x4a, 0xea,
- 0x59, 0xbb, 0xb9, 0x9d, 0xcd, 0xe1, 0x3a, 0xfd, 0xec, 0x69, 0xb8, 0xf9,
- 0xbf, 0xb2, 0xe8, 0x78,
- 0x38, 0x20, 0xf7, 0x74, 0x1c, 0x45, 0x94, 0x85, 0x78, 0xa1, 0x7d, 0xe8,
- 0x4d, 0x70, 0x15, 0x5c,
- 0xea, 0x4f, 0x64, 0xc7, 0x75, 0x7a, 0xe9, 0x1b, 0x74, 0x84, 0x90, 0x4d,
- 0x19, 0x17, 0x22, 0xeb,
- 0x37, 0x69, 0xd6, 0xca, 0xfa, 0x5f, 0x16, 0xea, 0xe5, 0x27, 0x68, 0x57,
- 0xd4, 0x6e, 0x58, 0x28,
- 0x63, 0x19, 0x96, 0x6c, 0xd0, 0x53, 0x23, 0x05, 0x51, 0xb6, 0x30, 0xd8,
- 0xc4, 0xc6, 0x8c, 0xe2,
- 0x18, 0xd7, 0xe9, 0xf3, 0x0c, 0xee, 0x93, 0x59, 0x75, 0x4d, 0xf6, 0x25,
- 0xab, 0x30, 0x09, 0x61,
- 0xa7, 0xa9, 0xa1, 0x31, 0xb2, 0x02, 0xe8, 0x72, 0x36, 0x67, 0xa5, 0x62,
- 0xb9, 0x8d, 0x26, 0x23,
- 0x58, 0xfa, 0xd5, 0x3e, 0x2c, 0x7b, 0x9d, 0x22, 0x6f, 0x56, 0x23, 0x7c,
- 0xa4, 0xb0, 0x31, 0x1b,
- 0x11, 0xdb, 0x63, 0x01, 0xe9, 0x2e, 0x45, 0xb1, 0x64, 0x49, 0x3f, 0x02,
- 0x68, 0x22, 0xd7, 0x9c,
- 0xf5, 0x9c, 0x4a, 0xdb, 0x9b, 0xd4, 0x89, 0x1a, 0x0e, 0x74, 0x21, 0x75,
- 0xf3, 0x29, 0x61, 0x60,
- 0xd9, 0xe1, 0xc1, 0xc4, 0x8d, 0x08, 0x26, 0x0b, 0xd8, 0x5f, 0xd1, 0x4b,
- 0xa1, 0x71, 0x98, 0x8c,
- 0xe9, 0x8c, 0xd0, 0xe1, 0x95, 0x17, 0xc3, 0xb9, 0x32, 0xc5, 0xfe, 0x01,
- 0x34, 0x11, 0x8a, 0x4e,
- 0x25, 0x71, 0x01, 0xed, 0xf3, 0x1c, 0x79, 0xf9, 0xc7, 0x2f, 0x39, 0x19,
- 0x91, 0x4a, 0x27, 0x11,
- 0xf8, 0x57, 0xb3, 0xe0, 0x7c, 0x39, 0x86, 0x08, 0x56, 0x8c, 0xc1, 0x03,
- 0x5c, 0x33, 0x5d, 0xd2,
- 0x97, 0xc4, 0xb0, 0x14, 0xaa, 0x1d, 0x0d, 0xc0, 0xdc, 0xfd, 0x8a, 0x28,
- 0x2c, 0xed, 0x34, 0xe1,
- 0xb1, 0x76, 0x05, 0xdf, 0xb9, 0x6c, 0x5e, 0x9b, 0x5d, 0x93, 0xdd, 0x7d,
- 0x90, 0xa1, 0xbb, 0x55,
- 0x19, 0x96, 0x85, 0x50, 0xed, 0x74, 0x34, 0x86, 0xf6, 0x72, 0x6d, 0xa0,
- 0xb0, 0x32, 0xd0, 0x02,
- 0x0f, 0x49, 0x21, 0xbe, 0xe6, 0x1a, 0x82, 0x6f, 0x9d, 0x86, 0x15, 0xbf,
- 0x99, 0x1e, 0x4d, 0x74,
- 0x89, 0x56, 0xf2, 0xab, 0xa5, 0x29, 0xca, 0x1e, 0x25, 0x32, 0xa0, 0x95,
- 0xdd, 0xd1, 0xae, 0x09,
- 0xdc, 0x67, 0xde, 0xae, 0x6e, 0xbf, 0x58, 0x2e, 0x12, 0x9c, 0x63, 0x9f,
- 0xd6, 0x7b, 0xa3, 0xa0,
- 0x08, 0x4d, 0xe6, 0x51, 0x04, 0x5a, 0x71, 0x37, 0x92, 0x3b, 0x52, 0xa2,
- 0xd8, 0x10, 0x07, 0x9e,
- 0xf1, 0x5b, 0x39, 0x12, 0x99, 0xf9, 0x50, 0xe0, 0x47, 0x88, 0x08, 0x24,
- 0x9f, 0x21, 0x83, 0x2f,
- 0xa8, 0xe0, 0x80, 0x8f, 0x54, 0x18, 0x6a, 0x1d, 0xab, 0xe1, 0xb0, 0xdd,
- 0x20, 0x93, 0x6b, 0x57,
- 0x0e, 0x08, 0x4d, 0x1d, 0x07, 0x80, 0x25, 0xb0, 0x1e, 0xb9, 0x8e, 0x3a,
- 0x82, 0x1c, 0x94, 0x17,
- 0x6f, 0x93, 0x03, 0xf4, 0xd6, 0x24, 0x8b, 0xc8, 0x8a, 0x71, 0x4b, 0x2b,
- 0x70, 0xde, 0x69, 0x33,
- 0x7d, 0x8b, 0xd4, 0xd3, 0xdf, 0x67, 0xe4, 0xdb, 0xa8, 0x79, 0x1a, 0x65,
- 0x35, 0xfa, 0x16, 0x0a,
- 0xd4, 0x2a, 0x38, 0xff, 0x6a, 0xe5, 0x29, 0x19, 0x80, 0xa7, 0x31, 0x3d,
- 0x0e, 0x6b, 0xa4, 0x3e,
- 0xbd, 0xfc, 0x90, 0x47, 0xbf, 0x1b, 0xf6, 0x56, 0x86, 0x54, 0xa6, 0x8e,
- 0x24, 0xb9, 0x5e, 0x84,
- 0x86, 0x1f, 0xd3, 0x15, 0x43, 0x33, 0x48, 0x71, 0xb8, 0xb4, 0xb5, 0x2a,
- 0x44, 0xcf, 0xe3, 0x7d,
- 0xec, 0x0a, 0xcf, 0x8b, 0x76, 0xa0, 0xbd, 0x9c, 0xf8, 0x06, 0x4c, 0xd5,
- 0x43, 0x1b, 0xb1, 0x62,
- 0x32, 0xef, 0xc9, 0xa0, 0x19, 0xe8, 0x68, 0xcf, 0x2f, 0xe4, 0xda, 0x83,
- 0xa3, 0x64, 0x63, 0x04,
- 0x7e, 0x48, 0x60, 0xf5, 0x3f, 0x0a, 0xce, 0x79, 0xee, 0x38, 0x74, 0x29,
- 0x18, 0xfc, 0xbe, 0xaf,
- 0xed, 0x4b, 0xa3, 0x28, 0x97, 0x3a, 0x1a, 0x43, 0x7b, 0x39, 0xd7, 0x50,
- 0x58, 0x19, 0x68, 0x01,
- 0x6e, 0xd2, 0x6f, 0x57, 0x37, 0xbe, 0x2c, 0x17, 0x09, 0x4e, 0xd0, 0xae,
- 0x6b, 0xdc, 0xb0, 0x50,
- 0xc3, 0xb4, 0xf0, 0xb2, 0x80, 0x11, 0x38, 0x2f, 0x68, 0x6c, 0xd2, 0xa7,
- 0x3c, 0x45, 0xe0, 0x2b,
- 0x21, 0xb6, 0x72, 0x24, 0xf1, 0x31, 0xa0, 0x03, 0x8e, 0xd3, 0x10, 0x48,
- 0xfd, 0x42, 0xc5, 0x5e,
- 0x62, 0x58, 0xfa, 0xcf, 0x31, 0xc9, 0x84, 0xda, 0xd2, 0x89, 0xab, 0x5d,
- 0xdf, 0xc4, 0x55, 0x81,
- 0xce, 0x7f, 0x09, 0x89, 0x67, 0xfc, 0x37, 0x3d, 0x30, 0x94, 0x32, 0xd1,
- 0x93, 0x5f, 0xdc, 0x99,
- 0x93, 0x03, 0xc3, 0xdd, 0xa8, 0x30, 0xd4, 0x3a, 0x95, 0x01, 0xa3, 0x79,
- 0x40, 0xe5, 0xd6, 0xae,
- 0x4c, 0xa7, 0xa9, 0x55, 0x26, 0xe2, 0xa6, 0xb6, 0xc1, 0xdc, 0xae, 0xaa,
- 0xbb, 0x98, 0xdd, 0xab,
- 0xde, 0xe5, 0x06, 0x2b, 0x6f, 0x48, 0xd5, 0x53, 0xd7, 0xe2, 0x96, 0x56,
- 0xe0, 0x7f, 0xd2, 0x66,
- 0x3f, 0x24, 0x30, 0x9b, 0xfe, 0x05, 0x67, 0xdd, 0x77, 0x1c, 0x3a, 0xf5,
- 0x0c, 0x7e, 0x5f, 0xb6,
- 0x43, 0xee, 0x88, 0xeb, 0xc0, 0xf8, 0x24, 0xd9, 0x5c, 0x5a, 0xbb, 0x15,
- 0x22, 0x86, 0x90, 0xdf,
- 0x73, 0x83, 0x99, 0xce, 0xd8, 0xe7, 0xc1, 0x6b, 0xb6, 0xc0, 0x94, 0x5f,
- 0xb7, 0xe6, 0x82, 0x1d,
- 0xad, 0x66, 0x9f, 0xe5, 0xb7, 0xaf, 0x14, 0x38, 0x61, 0x22, 0x02, 0x09,
- 0x57, 0x99, 0x50, 0x7b,
- 0xf0, 0x1a, 0x55, 0xb1, 0x78, 0x63, 0xf7, 0x3f, 0xc4, 0xb7, 0x93, 0xa1,
- 0x84, 0x23, 0x5a, 0x4c,
- 0x47, 0x29, 0xfb, 0x22, 0xc2, 0xd5, 0xfd, 0x23, 0x15, 0xa6, 0x92, 0x44,
- 0x4e, 0x8e, 0x72, 0x90,
- 0x3c, 0xe7, 0x84, 0xbd, 0x1e, 0x68, 0x4d, 0x7f, 0x31, 0x5d, 0x54, 0xb9,
- 0x21, 0x78, 0xf7, 0x13,
- 0x61, 0x9b, 0x4e, 0xe9, 0xd1, 0xa4, 0xae, 0x78, 0x94, 0xc8, 0xc5, 0x11,
- 0xf2, 0xc2, 0xfd, 0x24,
- 0x56, 0xf2, 0x98, 0x23, 0x2b, 0xfb, 0xb8, 0x92, 0x71, 0xef, 0xad, 0x46,
- 0x26, 0xac, 0xa5, 0x0c,
- 0x29, 0xfb, 0x94, 0x75, 0xf5, 0x6b, 0xd1, 0x34, 0x1c, 0xe8, 0x42, 0xea,
- 0x25, 0x52, 0xc2, 0xc0,
- 0x7b, 0xce, 0x7f, 0x9f, 0xdc, 0xbd, 0xb0, 0x5c, 0x24, 0xfb, 0xc6, 0xfd,
- 0x6f, 0xf6, 0x85, 0x83,
- 0x10, 0x9a, 0x0f, 0xa2, 0x08, 0xb4, 0xe2, 0x6e, 0xe7, 0x76, 0xa4, 0x87,
- 0x73, 0x20, 0x0e, 0xff,
- 0xff, 0x53, 0x74, 0x0f, 0x9e, 0x79, 0x75, 0x50, 0x59, 0x31, 0x86, 0x1e,
- 0x1d, 0x3d, 0x17, 0x38,
- 0x5d, 0x7c, 0xca, 0x54, 0xcf, 0xcc, 0xe3, 0x07, 0xa5, 0x95, 0x91, 0xa8,
- 0xd3, 0xba, 0x0a, 0x37,
- 0x31, 0x2c, 0x7d, 0x86, 0xf9, 0x85, 0x42, 0x6d, 0x69, 0xa5, 0xb4, 0xcf,
- 0x8e, 0x62, 0xcb, 0xa1,
- 0xb7, 0x33, 0xae, 0x93, 0xba, 0xb6, 0x0a, 0x1c, 0xd1, 0x11, 0x01, 0xe5,
- 0xca, 0xad, 0x28, 0xdc,
- 0xb3, 0xf4, 0xdd, 0x5a, 0xb8, 0x9b, 0xd3, 0xe6, 0x98, 0xed, 0x28, 0xb4,
- 0xa6, 0xa5, 0xca, 0x93,
- 0x6b, 0x54, 0x70, 0x3d, 0xd4, 0x09, 0x52, 0x32, 0xc3, 0x8d, 0x62, 0x7a,
- 0x1c, 0xd6, 0x8b, 0x7c,
- 0xc0, 0x77, 0x44, 0x94, 0x60, 0x7c, 0x12, 0x8d, 0x2e, 0x2d, 0xbc, 0xeb,
- 0x11, 0x43, 0x48, 0x8e,
- 0x7f, 0x09, 0x0c, 0x56, 0xde, 0x90, 0x69, 0xa6, 0x6d, 0x07, 0xef, 0xac,
- 0x03, 0xfe, 0x67, 0xcc,
- 0x1e, 0x92, 0x42, 0xbf, 0x0f, 0x34, 0xc7, 0xde, 0xf9, 0xcf, 0x2a, 0xbd,
- 0xf1, 0x3c, 0x9a, 0xe8,
- 0xd1, 0xac, 0x27, 0x95, 0x89, 0x52, 0x57, 0x3c, 0x4a, 0x64, 0x83, 0xe9,
- 0x79, 0x61, 0x9f, 0x12,
- 0x78, 0x0d, 0xcb, 0xb9, 0x3c, 0xd0, 0x9a, 0xfe, 0x62, 0xba, 0xa8, 0xb1,
- 0x42, 0xf0, 0x2d, 0x26,
- 0xc2, 0xf5, 0x9c, 0x11, 0x61, 0x8b, 0x9f, 0xf0, 0xeb, 0x53, 0x49, 0x22,
- 0x27, 0x47, 0x39, 0x48,
- 0xbb, 0xb9, 0x3b, 0x0b, 0xbc, 0xc1, 0xa2, 0xd1, 0x0a, 0xd6, 0x7a, 0x16,
- 0x7e, 0xb5, 0xcd, 0x0d,
- 0x6d, 0x11, 0xdb, 0x71, 0xd7, 0xd3, 0x06, 0xb5, 0x4f, 0x0f, 0xbe, 0xe2,
- 0x46, 0xda, 0x18, 0xf5,
- 0xe1, 0xc1, 0x36, 0xb0, 0x91, 0x4d, 0xb2, 0x8e, 0xa0, 0xfe, 0xac, 0xa3,
- 0xec, 0x01, 0x8d, 0xd0,
- 0x1f, 0xd3, 0x2e, 0x1c, 0xee, 0xae, 0x60, 0x01, 0x7a, 0xf0, 0xb1, 0x38,
- 0xea, 0x3e, 0x43, 0x8b,
- 0x82, 0xd8, 0xa0, 0xdc, 0x41, 0x1e, 0x91, 0x8b, 0xf1, 0x48, 0x9c, 0x7b,
- 0x28, 0xc7, 0x01, 0x32,
- 0xba, 0xf8, 0x57, 0xa8, 0x5d, 0x5b, 0x05, 0x0e, 0x89, 0xe9, 0xe1, 0x93,
- 0x65, 0xb7, 0x14, 0x6e,
- 0x8c, 0xd0, 0xed, 0xc1, 0x46, 0x9e, 0xb4, 0x3b, 0xef, 0xf1, 0x12, 0x41,
- 0xaa, 0xdb, 0x95, 0x25,
- 0xcf, 0x3e, 0x65, 0x2a, 0x86, 0x66, 0x90, 0xe2, 0xb3, 0xab, 0xa9, 0x54,
- 0x88, 0x5d, 0x05, 0xfa,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xfe, 0x12, 0x18, 0xac, 0x7f, 0xe3, 0xd2, 0x8f, 0xda, 0x0e, 0x1d, 0x9b,
- 0x06, 0x3f, 0xce, 0x5b,
- 0x42, 0xaf, 0xe4, 0x48, 0x21, 0x62, 0x83, 0x06, 0xdf, 0x65, 0x20, 0x90,
- 0x39, 0x84, 0x49, 0xbc,
- 0xd6, 0xa8, 0xe0, 0x7a, 0x6b, 0x12, 0xa4, 0x64, 0x45, 0xd9, 0xc4, 0xf4,
- 0x38, 0x6f, 0xd5, 0xf8,
- },
- { /* 11 */
- 0xd8, 0x59, 0xe0, 0xf8, 0xd2, 0x2a, 0xca, 0x1c, 0x17, 0x58, 0x25, 0x47,
- 0x72, 0xa8, 0x1d, 0x31,
- 0x69, 0xb6, 0x74, 0x38, 0x5c, 0x64, 0x10, 0xef, 0x82, 0xee, 0xaa, 0xe9,
- 0x8a, 0x53, 0xb7, 0xc0,
- 0xc0, 0xd2, 0x41, 0xdb, 0x4a, 0x91, 0xd0, 0xa1, 0x55, 0xac, 0x5e, 0x8f,
- 0x3d, 0x01, 0xdf, 0x89,
- 0xba, 0xbf, 0xf7, 0x5c, 0x54, 0x08, 0xff, 0xc7, 0x32, 0xa4, 0x91, 0x4e,
- 0xac, 0x20, 0xdc, 0x8e,
- 0x16, 0xa0, 0xc6, 0xfb, 0x77, 0x8c, 0x4a, 0x68, 0x8d, 0x24, 0x3c, 0x03,
- 0xa8, 0x75, 0xec, 0xfe,
- 0x87, 0x68, 0xac, 0xfe, 0x5b, 0xa5, 0x09, 0xf4, 0xe0, 0xa0, 0x17, 0xcf,
- 0x05, 0xd1, 0x3c, 0x6c,
- 0x58, 0xc5, 0x9e, 0x6a, 0x1f, 0x75, 0xeb, 0x63, 0x71, 0x90, 0xf0, 0x0c,
- 0xe5, 0x17, 0x36, 0x7e,
- 0x59, 0x63, 0xf5, 0x7e, 0xaf, 0xd1, 0x24, 0x56, 0x06, 0xc5, 0x5c, 0xba,
- 0x14, 0xc2, 0xf0, 0x73,
- 0xc4, 0x0f, 0x2e, 0x8b, 0xcf, 0x44, 0x6a, 0x75, 0x4a, 0x3b, 0xab, 0x12,
- 0x7f, 0xd3, 0x41, 0xbd,
- 0x6a, 0x9f, 0xc9, 0x04, 0x4f, 0x4b, 0x82, 0xb0, 0x1b, 0x11, 0x9d, 0xf0,
- 0x5a, 0xef, 0x3e, 0xd7,
- 0x05, 0x7b, 0x04, 0x44, 0x35, 0x71, 0x75, 0xe1, 0x68, 0xc2, 0x59, 0x2b,
- 0xb3, 0x07, 0x58, 0x39,
- 0x9a, 0x98, 0x09, 0x99, 0xf6, 0x6f, 0x66, 0xa8, 0xca, 0x96, 0x35, 0x2c,
- 0xf9, 0x7f, 0xa6, 0xed,
- 0x06, 0x52, 0xb9, 0x78, 0x26, 0x5e, 0xe7, 0xbe, 0xf1, 0x3d, 0x6e, 0x32,
- 0x63, 0xbb, 0xd1, 0x2e,
- 0xa6, 0xe9, 0x39, 0x2f, 0x49, 0x66, 0x5f, 0xae, 0x6f, 0xc7, 0x1f, 0x1b,
- 0xa1, 0x5b, 0x80, 0x02,
- 0x0d, 0x02, 0xda, 0xe4, 0xfc, 0x18, 0xc2, 0x8a, 0x56, 0x2f, 0x70, 0xd2,
- 0x37, 0x60, 0xa7, 0x51,
- 0xd1, 0x86, 0x55, 0x4c, 0xab, 0xe7, 0xb2, 0x42, 0x5e, 0xe0, 0xa0, 0x08,
- 0x07, 0x1a, 0x24, 0x54,
- 0x43, 0x67, 0x82, 0x75, 0x94, 0xe1, 0x63, 0x81, 0xaa, 0x9b, 0xbc, 0xdd,
- 0x7a, 0x02, 0x7d, 0xd1,
- 0x85, 0xe7, 0x7a, 0xd6, 0xf8, 0x2e, 0x54, 0x9e, 0x0e, 0x0a, 0x8c, 0x60,
- 0x24, 0xb8, 0x73, 0x76,
- 0x41, 0xe8, 0x54, 0x5d, 0x37, 0x6a, 0x3e, 0xeb, 0x44, 0x31, 0x27, 0x72,
- 0x5b, 0x6b, 0x32, 0xcb,
- 0xd2, 0xaf, 0xe8, 0x70, 0xb8, 0xc8, 0x20, 0x1d, 0xc7, 0x1f, 0x97, 0x11,
- 0xd7, 0xa6, 0xad, 0x43,
- 0x2c, 0x83, 0x4f, 0x35, 0xee, 0xdb, 0x94, 0xd0, 0xd9, 0x48, 0x78, 0x06,
- 0x93, 0xea, 0x1b, 0x3f,
- 0xcd, 0xd0, 0x9b, 0x3f, 0xb6, 0x89, 0x12, 0x2b, 0x03, 0x83, 0x2e, 0x5d,
- 0x0a, 0x61, 0x78, 0xd8,
- 0x0b, 0x50, 0x63, 0x9c, 0xda, 0x46, 0x25, 0x34, 0xa7, 0x12, 0x1e, 0xe0,
- 0x54, 0xdb, 0x76, 0x7f,
- 0xa2, 0x34, 0x56, 0x7f, 0xcc, 0xb3, 0xe5, 0x7a, 0x70, 0x50, 0xea, 0x86,
- 0xe3, 0x89, 0x1e, 0x36,
- 0x38, 0xac, 0x5f, 0xe6, 0x3a, 0xdc, 0x83, 0xd2, 0xba, 0xc6, 0xdf, 0xaa,
- 0x1a, 0xf6, 0xb8, 0xdb,
- 0xf7, 0xf3, 0x12, 0xf1, 0x2f, 0xde, 0xcc, 0x93, 0x57, 0xef, 0x6a, 0x58,
- 0x31, 0xfe, 0x8f, 0x19,
- 0x4b, 0x1e, 0x5c, 0xd5, 0x5d, 0x88, 0xd4, 0xea, 0x94, 0x76, 0x95, 0x24,
- 0xfe, 0x65, 0x82, 0xb9,
- 0xe6, 0xa7, 0x06, 0x66, 0xce, 0xa8, 0xae, 0x70, 0x5c, 0xa3, 0x94, 0xdf,
- 0x0b, 0xe5, 0x74, 0xc4,
- 0xe7, 0x01, 0x6d, 0x72, 0x7e, 0x0c, 0x61, 0x45, 0x2b, 0xf6, 0x38, 0x69,
- 0xfa, 0x30, 0xb2, 0xc9,
- 0x90, 0x6e, 0x01, 0x11, 0x9c, 0x8d, 0x8c, 0xa9, 0x1a, 0xd1, 0x87, 0x7a,
- 0x5c, 0x71, 0x16, 0x9f,
- 0x1a, 0x04, 0x77, 0x0b, 0x3b, 0x30, 0x47, 0xd7, 0xac, 0x5e, 0xe0, 0x67,
- 0x6e, 0xc0, 0x8d, 0xa2,
- 0x53, 0x95, 0xfd, 0xf6, 0xc5, 0x33, 0xce, 0x57, 0xd6, 0x82, 0xee, 0xec,
- 0xb1, 0xcc, 0x40, 0x01,
- 0xa3, 0x92, 0x3d, 0x6b, 0x7c, 0x17, 0x2a, 0x4f, 0x07, 0x05, 0x46, 0x30,
- 0x12, 0x5c, 0xd8, 0x3b,
- 0xf1, 0xa1, 0xab, 0x89, 0x09, 0x80, 0x2b, 0x2d, 0xa6, 0xd2, 0x04, 0x6a,
- 0x52, 0x45, 0x5e, 0x37,
- 0xfd, 0x05, 0x1a, 0x79, 0x45, 0x3c, 0x26, 0x92, 0x87, 0xa8, 0xd8, 0x0e,
- 0x94, 0xf0, 0x3f, 0x6b,
- 0x51, 0x1a, 0x2b, 0xde, 0x66, 0xb8, 0x93, 0x3d, 0x38, 0x28, 0x75, 0x43,
- 0x90, 0xa5, 0x0f, 0x1b,
- 0x29, 0xf8, 0x4b, 0x71, 0xdb, 0xaa, 0xe1, 0x31, 0xb1, 0x8a, 0x21, 0x2d,
- 0x20, 0xed, 0x43, 0x06,
- 0x3b, 0x85, 0xe2, 0xda, 0x29, 0xf3, 0x11, 0x8d, 0x23, 0x39, 0xe8, 0xb3,
- 0xca, 0x4a, 0x31, 0xcc,
- 0x82, 0x13, 0xa8, 0xba, 0x6e, 0xd4, 0x7c, 0x15, 0x88, 0x62, 0x4e, 0xe4,
- 0xb6, 0xd6, 0x64, 0x55,
- 0x67, 0x9d, 0x13, 0xe0, 0xb3, 0x53, 0x40, 0x3a, 0x4d, 0x3e, 0xed, 0x22,
- 0x6d, 0x8f, 0x99, 0x86,
- 0x8b, 0xcc, 0x1d, 0x0e, 0x17, 0x19, 0x04, 0x4b, 0xc1, 0xda, 0xcb, 0xab,
- 0xc3, 0x64, 0x5d, 0x30,
- 0x48, 0x37, 0xe1, 0xe9, 0x4e, 0xa7, 0x46, 0xb5, 0x0d, 0x89, 0xa2, 0x3d,
- 0x2e, 0xd9, 0x0b, 0xae,
- 0x2a, 0xd1, 0xf6, 0x4d, 0xc8, 0x85, 0x73, 0x6e, 0x28, 0x75, 0x16, 0x34,
- 0xf0, 0x51, 0xca, 0x11,
- 0xef, 0x78, 0xb3, 0xd2, 0xb7, 0x65, 0xd6, 0x2e, 0x15, 0x1b, 0x11, 0x90,
- 0x7e, 0x57, 0x4d, 0xa1,
- 0x70, 0x9b, 0xbe, 0x0f, 0x74, 0x7b, 0xc5, 0x67, 0xb7, 0x4f, 0x7d, 0x97,
- 0x34, 0x2f, 0xb3, 0x75,
- 0x2d, 0x25, 0x24, 0x21, 0x5e, 0x7f, 0x5b, 0xe5, 0xae, 0x1d, 0xd4, 0xb0,
- 0x62, 0x3f, 0xdd, 0x32,
- 0x31, 0x73, 0xea, 0x52, 0x43, 0x11, 0xfb, 0x8c, 0xf3, 0x7e, 0x5a, 0xe5,
- 0x6f, 0x44, 0x81, 0xbe,
- 0xe2, 0x7a, 0x69, 0x36, 0x4b, 0x7d, 0x14, 0xa4, 0x43, 0x34, 0x61, 0x42,
- 0x49, 0x37, 0xea, 0xf0,
- 0x86, 0xce, 0xc7, 0xea, 0xeb, 0x01, 0xc6, 0xc1, 0x97, 0xf5, 0xbb, 0x79,
- 0xf4, 0x04, 0xfa, 0x61,
- 0xc9, 0x0d, 0xf4, 0x6f, 0x33, 0x5c, 0xa8, 0xff, 0x1c, 0x14, 0xdb, 0xc0,
- 0x48, 0xb3, 0xe6, 0xec,
- 0xb0, 0x49, 0xff, 0xd4, 0x3e, 0xea, 0x15, 0xc6, 0xe2, 0xe3, 0x23, 0x18,
- 0x09, 0x2e, 0x6c, 0xfc,
- 0x80, 0x9c, 0x7e, 0x92, 0xcd, 0x5f, 0x21, 0x7f, 0x66, 0xc8, 0xd5, 0x4b,
- 0x97, 0xbf, 0x2b, 0x4f,
- 0xf5, 0x7c, 0xc4, 0xd9, 0x8c, 0x55, 0x91, 0xf9, 0xb9, 0x45, 0xf1, 0xf7,
- 0x10, 0x97, 0xc0, 0x03,
- 0xfc, 0xa3, 0x71, 0x6d, 0xf5, 0x98, 0xe9, 0xa7, 0xf0, 0xfd, 0x74, 0xb8,
- 0x65, 0x25, 0xf9, 0x66,
- 0x60, 0x69, 0xc1, 0x8c, 0x25, 0xa9, 0x68, 0xb1, 0xcb, 0x56, 0x2f, 0xa6,
- 0xff, 0xe1, 0x8e, 0xa5,
- 0x44, 0x93, 0x50, 0x19, 0x02, 0x1b, 0x4b, 0x0a, 0x2c, 0xf3, 0x7e, 0x59,
- 0xe8, 0x6c, 0x6a, 0xf2,
- 0x0c, 0xa4, 0xb1, 0xf0, 0x4c, 0xbc, 0x0d, 0xbf, 0x21, 0x7a, 0xdc, 0x64,
- 0xc6, 0xb5, 0x61, 0x5c,
- 0x8f, 0x11, 0x72, 0x5e, 0x92, 0xcc, 0xbe, 0x9f, 0xde, 0x4d, 0x3e, 0x36,
- 0x81, 0xb6, 0xc3, 0x04,
- 0xa4, 0x66, 0xef, 0x07, 0xea, 0xed, 0x02, 0xc4, 0x81, 0x6d, 0x84, 0xb4,
- 0x80, 0x32, 0xcf, 0x18,
- 0x3d, 0xd7, 0x5b, 0xa2, 0x0f, 0xad, 0xf6, 0x33, 0xd2, 0x04, 0x86, 0x81,
- 0xa9, 0xf1, 0xe0, 0xe2,
- 0x62, 0xe6, 0x17, 0xa4, 0x86, 0x22, 0x35, 0xdb, 0x25, 0xfc, 0xb4, 0x09,
- 0xde, 0x88, 0xc1, 0xbf,
- 0x35, 0xae, 0x85, 0x02, 0xc6, 0xc4, 0x41, 0x58, 0xec, 0xe9, 0xaf, 0x78,
- 0x2d, 0x96, 0x1f, 0x8a,
- 0xe0, 0xf5, 0xbf, 0x1e, 0xe8, 0xf6, 0x49, 0xce, 0xad, 0x9e, 0xfa, 0xed,
- 0x68, 0x5e, 0xa5, 0xea,
- 0x68, 0x10, 0x1f, 0x2c, 0xec, 0xc0, 0xdf, 0xda, 0xf5, 0xbb, 0x06, 0x5f,
- 0x7b, 0x86, 0x71, 0xcd,
- 0xdc, 0x84, 0x8f, 0xa8, 0x57, 0xff, 0x70, 0xc8, 0x08, 0xcf, 0xd0, 0xda,
- 0x30, 0x7a, 0x83, 0x05,
- 0x40, 0x4e, 0x3f, 0x49, 0x87, 0xce, 0xf1, 0xde, 0x33, 0x64, 0x8b, 0xc4,
- 0xaa, 0xbe, 0xf4, 0xc6,
- 0xa0, 0xbb, 0x80, 0x57, 0x6f, 0x38, 0xb8, 0x10, 0x9e, 0xfa, 0x71, 0x29,
- 0xc2, 0xe0, 0x51, 0x2c,
- 0xa7, 0x4f, 0x52, 0x3b, 0xf9, 0xc2, 0x90, 0x9b, 0x18, 0x92, 0xb3, 0xad,
- 0x50, 0x8e, 0x46, 0x0f,
- 0x9f, 0xe3, 0x0d, 0xdd, 0xc3, 0x1e, 0x13, 0x49, 0xa2, 0x54, 0x6c, 0x07,
- 0x4a, 0x78, 0xfe, 0xd4,
- 0x2b, 0x77, 0x9d, 0x59, 0x78, 0x21, 0xbc, 0x5b, 0x5f, 0x20, 0xba, 0x82,
- 0x01, 0x84, 0x0c, 0x1c,
- 0xae, 0x90, 0xe7, 0x8f, 0x80, 0x0f, 0xe8, 0xc5, 0x51, 0x2a, 0x36, 0xe2,
- 0x25, 0x3c, 0x7f, 0x6a,
- 0x10, 0xf2, 0x7f, 0x83, 0x51, 0xd2, 0xad, 0xd6, 0x7c, 0x19, 0x52, 0x31,
- 0xcb, 0xce, 0x3d, 0xd0,
- 0xfe, 0x2c, 0xa7, 0x45, 0x56, 0x13, 0xb4, 0xcd, 0x1e, 0x57, 0xef, 0x17,
- 0x44, 0x4c, 0xb6, 0x7c,
- 0xa1, 0x1d, 0xeb, 0x43, 0xdf, 0x9c, 0x77, 0x25, 0xe9, 0xaf, 0xdd, 0x9f,
- 0x33, 0x35, 0x97, 0x21,
- 0xc7, 0x26, 0x93, 0xb7, 0xdc, 0x6b, 0xf8, 0x2a, 0xd3, 0xc4, 0x9c, 0x0b,
- 0xaf, 0x6f, 0xc8, 0xaa,
- 0x4d, 0x4c, 0xe5, 0xad, 0x7b, 0xd6, 0x33, 0x54, 0x65, 0x4b, 0xfb, 0x16,
- 0x9d, 0xde, 0x53, 0x97,
- 0xaa, 0x4d, 0x88, 0xdf, 0x05, 0xda, 0x52, 0x11, 0x4e, 0xbd, 0xc3, 0x7f,
- 0x67, 0xee, 0xe1, 0x5e,
- 0xd4, 0xfd, 0x51, 0x08, 0x9e, 0x96, 0xc7, 0xa3, 0x36, 0x22, 0xf9, 0x23,
- 0xb4, 0x1d, 0x7c, 0x6d,
- 0x42, 0xc1, 0xe9, 0x61, 0x24, 0x45, 0xac, 0xb4, 0xdd, 0xce, 0x10, 0x6b,
- 0x8b, 0xd7, 0xbb, 0xdc,
- 0x2e, 0x0c, 0x99, 0x1d, 0x4d, 0x50, 0xc9, 0xba, 0x37, 0xe2, 0xe3, 0xa9,
- 0xb2, 0x83, 0x54, 0x25,
- 0x49, 0x91, 0x8a, 0xfd, 0xfe, 0x03, 0x89, 0x80, 0x7a, 0xdc, 0x0e, 0x8b,
- 0xdf, 0x0c, 0xcd, 0xa3,
- 0xb2, 0xc6, 0x29, 0xfc, 0x9d, 0x61, 0x48, 0xac, 0x0c, 0x49, 0xb8, 0xb7,
- 0x28, 0x47, 0x23, 0xe6,
- 0x77, 0x6f, 0x6c, 0x63, 0xe2, 0x81, 0xed, 0xec, 0x31, 0x27, 0xbf, 0x13,
- 0xa6, 0x41, 0xa4, 0x56,
- 0x39, 0x0a, 0x34, 0xf2, 0x8a, 0x78, 0x4c, 0xe7, 0xcd, 0x93, 0x73, 0x1c,
- 0xeb, 0x23, 0x7e, 0xd6,
- 0xad, 0xb9, 0x5a, 0xb3, 0x93, 0x20, 0x7a, 0x9a, 0xc8, 0xd5, 0x01, 0xfb,
- 0xf5, 0x80, 0xf6, 0x7d,
- 0x20, 0x27, 0xfe, 0xc5, 0xa2, 0x67, 0x99, 0x6f, 0xf8, 0x32, 0xa4, 0x62,
- 0x55, 0x5f, 0x7a, 0x63,
- 0xcf, 0x5f, 0x4d, 0x17, 0x15, 0x02, 0x4f, 0x41, 0xed, 0x29, 0xb5, 0xf2,
- 0x2b, 0x08, 0x37, 0xc2,
- 0x64, 0xb4, 0xae, 0xdc, 0xa0, 0x7c, 0xd2, 0x65, 0xd4, 0xc1, 0xda, 0x3b,
- 0xbd, 0x33, 0x10, 0x91,
- 0x9b, 0x3e, 0x62, 0x8d, 0x46, 0xcb, 0xa9, 0x9d, 0xbd, 0xc3, 0x99, 0x9a,
- 0x08, 0xaa, 0x60, 0xe0,
- 0xde, 0x0b, 0x59, 0x80, 0xf4, 0x74, 0x2d, 0xa2, 0xe6, 0x65, 0x4b, 0x75,
- 0x11, 0x13, 0xcc, 0x1f,
- 0x7f, 0x16, 0xb2, 0xc3, 0x2b, 0xe8, 0x5a, 0x87, 0x0f, 0xca, 0x96, 0xea,
- 0x22, 0x26, 0x5b, 0x3e,
- 0xa8, 0xc2, 0x5e, 0xf7, 0xa6, 0x51, 0x0f, 0x7b, 0xa0, 0x17, 0x58, 0xd0,
- 0x46, 0x87, 0xae, 0x44,
- 0xb6, 0x1b, 0x46, 0xac, 0x18, 0xb4, 0xf2, 0x78, 0x13, 0xde, 0x4d, 0x2a,
- 0x6a, 0x95, 0xbd, 0xd2,
- 0x5c, 0x18, 0xf1, 0x3a, 0x9a, 0xa0, 0x51, 0xb7, 0x6e, 0x07, 0x05, 0x91,
- 0xa7, 0xc5, 0xa8, 0x4a,
- 0xa5, 0xc0, 0x84, 0x13, 0x5a, 0x49, 0xcd, 0xf1, 0xf6, 0x38, 0x28, 0x02,
- 0x71, 0xe7, 0x09, 0x15,
- 0x6b, 0x39, 0xa2, 0x10, 0xff, 0xef, 0x4d, 0x85, 0x6c, 0x44, 0x31, 0x46,
- 0xab, 0x3a, 0xf8, 0xda,
- 0xd3, 0x09, 0x83, 0x64, 0x08, 0x6c, 0xef, 0x28, 0xb0, 0x4a, 0x3b, 0xa7,
- 0x26, 0x73, 0x6b, 0x4e,
- 0xf0, 0x07, 0xc0, 0x9d, 0xb9, 0x24, 0xe4, 0x18, 0xd1, 0x87, 0xa8, 0xdc,
- 0xa3, 0x90, 0x98, 0x3a,
- 0x5d, 0xbe, 0x9a, 0x2e, 0x2a, 0x04, 0x9e, 0x82, 0x19, 0x52, 0xa9, 0x27,
- 0x56, 0x10, 0x6e, 0x47,
- 0xc8, 0xab, 0x9f, 0x7b, 0x83, 0xf8, 0x67, 0xca, 0x6b, 0x41, 0x77, 0x76,
- 0xb9, 0x66, 0x20, 0xe1,
- 0xc5, 0xa9, 0x45, 0x9f, 0x7f, 0xe0, 0xa5, 0x40, 0x3d, 0x6e, 0x07, 0xa4,
- 0x8e, 0x06, 0x87, 0xb0,
- 0xbd, 0x4b, 0x25, 0x30, 0xc2, 0xf2, 0xd7, 0x4c, 0xb4, 0xcc, 0x53, 0xca,
- 0x3e, 0x4e, 0xcb, 0xad,
- 0xc3, 0xfb, 0xfc, 0xe7, 0x59, 0xbe, 0x42, 0xfe, 0xcc, 0x53, 0x69, 0x96,
- 0xed, 0xbd, 0x56, 0x9e,
- 0xe4, 0x28, 0xd0, 0x4e, 0x6d, 0x23, 0xf3, 0x1a, 0xb2, 0x09, 0x0f, 0x70,
- 0x2a, 0x8c, 0x3b, 0xde,
- 0xaf, 0x36, 0x8c, 0x9b, 0x30, 0xab, 0x27, 0xf0, 0x26, 0x7f, 0x9a, 0x54,
- 0xd4, 0xe9, 0xb9, 0x67,
- 0xb8, 0x30, 0x21, 0x74, 0xf7, 0x83, 0xa2, 0xad, 0xdc, 0x0e, 0x0a, 0xe1,
- 0x8d, 0x49, 0x93, 0x94,
- 0xcb, 0x82, 0x22, 0x47, 0x90, 0xd7, 0xf5, 0x95, 0xf2, 0xbe, 0x40, 0x6f,
- 0x69, 0xda, 0xa9, 0xf6,
- 0xc1, 0x74, 0x2a, 0xcf, 0xfa, 0x35, 0x1f, 0x94, 0x22, 0xf9, 0xf2, 0x39,
- 0xcc, 0xd4, 0x19, 0x84,
- 0xb5, 0x32, 0xfb, 0x90, 0x0b, 0x9b, 0x60, 0x27, 0x8a, 0x21, 0x7a, 0x33,
- 0xba, 0x29, 0x34, 0xc5,
- 0x6f, 0xe4, 0xcd, 0x40, 0x7a, 0x3a, 0xf7, 0x51, 0x73, 0xd3, 0xc4, 0xdb,
- 0xe9, 0xe8, 0x66, 0xee,
- 0x4c, 0xea, 0x8e, 0xb9, 0xcb, 0x72, 0xfc, 0x61, 0x12, 0x1e, 0x57, 0xa0,
- 0x6c, 0x0b, 0x95, 0x9a,
- 0x97, 0x9a, 0xd3, 0x7d, 0x0a, 0x77, 0xa4, 0x22, 0x9c, 0xb9, 0x45, 0xfe,
- 0xce, 0x1f, 0x01, 0xbc,
- 0x88, 0xe5, 0xa0, 0x32, 0x04, 0x36, 0x96, 0x14, 0x58, 0x25, 0xfc, 0xb2,
- 0x13, 0xd8, 0xd4, 0x27,
- 0x61, 0xcf, 0xaa, 0x98, 0x95, 0x0d, 0xa7, 0x84, 0xbc, 0x03, 0x83, 0x10,
- 0x0e, 0x34, 0x48, 0xa8,
- 0x57, 0x48, 0x92, 0xa6, 0x40, 0xe6, 0x74, 0x83, 0xc9, 0x15, 0x1b, 0x71,
- 0xf3, 0x1e, 0xde, 0x35,
- 0x11, 0x54, 0x14, 0x97, 0xe1, 0x76, 0x62, 0xe3, 0x0b, 0x4c, 0xfe, 0x87,
- 0x3a, 0x1b, 0xfb, 0xdd,
- 0x99, 0xb1, 0xb4, 0xa5, 0xe5, 0x40, 0xf4, 0xf7, 0x53, 0x69, 0x02, 0x35,
- 0x29, 0xc3, 0x2f, 0xfa,
- 0x72, 0x14, 0x68, 0x27, 0xd7, 0xf0, 0x98, 0x0d, 0x59, 0xe5, 0xe6, 0x38,
- 0x15, 0x46, 0xfc, 0x6f,
- 0x83, 0xb5, 0xc3, 0xae, 0xde, 0x70, 0xb3, 0x20, 0xff, 0x37, 0xe2, 0x52,
- 0x47, 0x03, 0xa2, 0x58,
- 0xbf, 0xc4, 0xf3, 0x18, 0x61, 0x79, 0x8a, 0x26, 0x5a, 0x66, 0xc8, 0x65,
- 0x1f, 0x27, 0x84, 0xb7,
- 0x55, 0xc7, 0x44, 0x8e, 0xe3, 0x6d, 0x29, 0xe9, 0x27, 0xbf, 0x80, 0xde,
- 0xd2, 0x77, 0x91, 0x2f,
- 0x73, 0xb2, 0x03, 0x33, 0x67, 0x54, 0x57, 0x38, 0x2e, 0xb0, 0x4a, 0x8e,
- 0xe4, 0x93, 0x3a, 0x62,
- 0x9d, 0x6c, 0xdb, 0xf5, 0x60, 0x95, 0x4e, 0x23, 0x4c, 0xfe, 0xf7, 0xa8,
- 0x6b, 0x11, 0xb1, 0xce,
- 0x81, 0x3a, 0x15, 0x86, 0x7d, 0xfb, 0xee, 0x4a, 0x11, 0x9d, 0x79, 0xfd,
- 0x66, 0x6a, 0xed, 0x42,
- 0x3f, 0x58, 0x8d, 0x8a, 0xac, 0x26, 0xab, 0x59, 0x3c, 0xae, 0x1d, 0x2e,
- 0x88, 0x98, 0xaf, 0xf8,
- 0xb3, 0x60, 0x42, 0xe8, 0x2d, 0xc5, 0x87, 0x99, 0x7b, 0x1c, 0x14, 0x01,
- 0xd9, 0x92, 0xe5, 0xeb,
- 0xbb, 0x19, 0x9c, 0x48, 0xe4, 0xac, 0x30, 0xf2, 0x45, 0xf1, 0x3d, 0xf8,
- 0x5d, 0xf5, 0x1a, 0x83,
- 0xd6, 0x72, 0x87, 0x20, 0x3d, 0x1d, 0x9a, 0xc9, 0xd8, 0x88, 0x62, 0x8c,
- 0x95, 0x74, 0x33, 0x77,
- 0xea, 0x03, 0xb7, 0x96, 0x82, 0x14, 0xa3, 0xcf, 0x7d, 0xd9, 0x48, 0xbb,
- 0xcd, 0x50, 0x15, 0x98,
- 0x25, 0x5c, 0xfa, 0x81, 0x97, 0x16, 0xec, 0x8e, 0x90, 0xf0, 0xfd, 0x49,
- 0xe6, 0x58, 0x22, 0x5a,
- 0xce, 0xf9, 0x26, 0x03, 0xa5, 0xa6, 0x80, 0x74, 0x9a, 0x7c, 0x19, 0x44,
- 0xda, 0xdd, 0xf1, 0xcf,
- 0x63, 0x40, 0x7c, 0xb0, 0x36, 0x86, 0xfa, 0xee, 0x52, 0xa9, 0x18, 0xbf,
- 0x2f, 0x5d, 0x07, 0xb2,
- 0x45, 0x35, 0x3b, 0x0d, 0xb2, 0xbf, 0x84, 0x3f, 0x5b, 0xa6, 0xd2, 0xef,
- 0x19, 0xb9, 0xac, 0xff,
- 0x32, 0x5a, 0x57, 0x6e, 0x50, 0x3e, 0x69, 0xd3, 0x6a, 0x81, 0x6d, 0xfc,
- 0xbf, 0xf8, 0x08, 0xa9,
- 0xd7, 0xd4, 0xec, 0x34, 0x8d, 0xb9, 0x55, 0xfc, 0xaf, 0xdd, 0xce, 0x3a,
- 0x64, 0xa1, 0xf5, 0x7a,
- 0x9e, 0x45, 0x66, 0xc9, 0x73, 0xba, 0xdc, 0x7c, 0xd5, 0x01, 0xc0, 0xb1,
- 0xbb, 0xad, 0x38, 0xd9,
- 0x08, 0x79, 0xde, 0xa0, 0xc9, 0x69, 0xb7, 0x6b, 0x3e, 0xed, 0x29, 0xf9,
- 0x84, 0x67, 0xff, 0x68,
- 0x8d, 0x9e, 0xa4, 0x76, 0x31, 0x47, 0xe3, 0xf5, 0x30, 0xe7, 0xa5, 0x99,
- 0xa0, 0xdf, 0x8c, 0x1e,
- 0x79, 0x44, 0x0b, 0xbb, 0x0d, 0xb6, 0xbd, 0x39, 0xfe, 0xf7, 0xf8, 0xd8,
- 0x41, 0x9d, 0x8a, 0x10,
- 0xab, 0xeb, 0xe3, 0xcb, 0xb5, 0x7e, 0x9d, 0x24, 0x39, 0xe8, 0x6f, 0xc9,
- 0x96, 0x3b, 0x27, 0x53,
- 0x36, 0x87, 0x38, 0x3e, 0xd5, 0xeb, 0xd3, 0x07, 0x75, 0x16, 0x98, 0x61,
- 0xfd, 0x2a, 0x96, 0x9d,
- 0xfb, 0x57, 0xa3, 0x01, 0x63, 0x62, 0xc1, 0x2c, 0x76, 0x95, 0xb6, 0x3c,
- 0xf7, 0x4b, 0xee, 0x45,
- 0xec, 0x51, 0x0e, 0xee, 0xa4, 0x4a, 0x44, 0x71, 0x8c, 0xe4, 0x26, 0x89,
- 0xae, 0xeb, 0xc4, 0xb6,
- 0x4e, 0x65, 0x58, 0x91, 0x68, 0xf9, 0xa1, 0x0b, 0xfc, 0xb4, 0xcc, 0x0f,
- 0x4d, 0x62, 0xda, 0x80,
- 0x7e, 0xb0, 0xd9, 0xd7, 0x9b, 0x4c, 0x95, 0xb2, 0x78, 0x9f, 0x3a, 0x5c,
- 0xd3, 0xf3, 0x9d, 0x33,
- 0xd0, 0x20, 0x3e, 0x58, 0x1b, 0x43, 0x7d, 0x77, 0x29, 0xb5, 0x0c, 0xbe,
- 0xf6, 0xcf, 0xe2, 0x59,
- 0x6c, 0xcd, 0x70, 0x7c, 0x69, 0x15, 0x65, 0x0e, 0xea, 0x2c, 0xf3, 0xc2,
- 0x39, 0x54, 0xef, 0xf9,
- 0xf3, 0x2e, 0x7d, 0xa1, 0xaa, 0x0b, 0x76, 0x47, 0x48, 0x78, 0x9f, 0xc5,
- 0x73, 0x2c, 0x11, 0x2d,
- 0x5f, 0x31, 0x4c, 0x06, 0x89, 0x8f, 0xc3, 0xe8, 0xf7, 0xf8, 0x32, 0x88,
- 0x77, 0x79, 0x21, 0x5d,
- 0xff, 0x8a, 0xcc, 0x51, 0xe6, 0xb7, 0x7b, 0xf8, 0x69, 0x02, 0x43, 0xa1,
- 0xb5, 0x99, 0x70, 0x71,
- 0x8a, 0x6a, 0x76, 0x1a, 0xa7, 0xbd, 0xcb, 0x7e, 0xb6, 0x8f, 0x67, 0x1d,
- 0x32, 0xb1, 0x9b, 0x3d,
- 0x56, 0xee, 0xf9, 0xb2, 0xf0, 0x42, 0xbb, 0xb6, 0xbe, 0x40, 0xb7, 0xc7,
- 0x02, 0xcb, 0x18, 0x38,
- 0xdd, 0x22, 0xe4, 0xbc, 0xe7, 0x5b, 0xbf, 0xfd, 0x7f, 0x9a, 0x7c, 0x6c,
- 0xc1, 0xaf, 0x45, 0x08,
- 0xb4, 0x94, 0x90, 0x84, 0xbb, 0x3f, 0xaf, 0x12, 0xfd, 0x74, 0xd6, 0x85,
- 0x4b, 0xfc, 0xf2, 0xc8,
- 0x04, 0xdd, 0x6f, 0x50, 0x85, 0xd5, 0xba, 0xd4, 0x1f, 0x97, 0xf5, 0x9d,
- 0x42, 0xd2, 0x9e, 0x34,
- 0xbe, 0x62, 0x98, 0x0c, 0xd1, 0xdd, 0x45, 0x13, 0x2d, 0x33, 0x64, 0xd3,
- 0xee, 0xf2, 0x42, 0xba,
- 0x1b, 0xa2, 0x1c, 0x1f, 0x8b, 0x94, 0x88, 0xe2, 0xdb, 0x0b, 0x4c, 0xd1,
- 0x9f, 0x15, 0x4b, 0xaf,
- 0x9c, 0xca, 0xb0, 0xe1, 0xd0, 0x31, 0x81, 0x16, 0x3b, 0xab, 0x5b, 0x1e,
- 0x9a, 0xc4, 0x77, 0xc3,
- 0x5e, 0x97, 0x27, 0x12, 0x39, 0x2b, 0x0c, 0xdd, 0x80, 0xad, 0x9e, 0x3e,
- 0x86, 0xac, 0xe7, 0x50,
- 0x07, 0xf4, 0xd2, 0x6c, 0x96, 0xfa, 0x28, 0x8b, 0x86, 0x68, 0xc2, 0x84,
- 0x92, 0x6e, 0x17, 0x23,
- 0x8c, 0x38, 0xcf, 0x62, 0x81, 0xe3, 0x2c, 0xc0, 0x47, 0xb2, 0x09, 0x2f,
- 0x51, 0x0a, 0x4a, 0x13,
- 0x0f, 0x8d, 0x0c, 0xcc, 0x5f, 0x93, 0x9f, 0xe0, 0xb8, 0x85, 0xeb, 0x7d,
- 0x16, 0x09, 0xe8, 0x4b,
- 0x6d, 0x6b, 0x1b, 0x68, 0xd9, 0xb1, 0xaa, 0x3b, 0x9d, 0x79, 0x5f, 0x74,
- 0xc8, 0x81, 0x29, 0xf4,
- 0xf4, 0xda, 0xaf, 0xcd, 0x3c, 0xf1, 0x5e, 0xcc, 0xce, 0x10, 0x5d, 0x41,
- 0xe1, 0x42, 0x06, 0x0e,
- 0x26, 0x75, 0x47, 0xbd, 0x84, 0x39, 0x7e, 0xd1, 0x09, 0x0f, 0xca, 0x50,
- 0x36, 0xe4, 0xab, 0x4d,
- 0x71, 0x3d, 0xd5, 0x1b, 0xc4, 0xdf, 0x0a, 0x52, 0xc0, 0x1a, 0xd1, 0x21,
- 0xc5, 0xfa, 0x75, 0x78,
- 0x1c, 0x56, 0xce, 0x73, 0x1d, 0x6e, 0xa0, 0x69, 0x5d, 0x63, 0x8e, 0x55,
- 0x0d, 0x7b, 0x5c, 0x8c,
- 0x94, 0xb3, 0x6e, 0x41, 0x19, 0x58, 0x36, 0x7d, 0x05, 0x46, 0x72, 0xe7,
- 0x1e, 0xa3, 0x88, 0xab,
- 0x22, 0xa8, 0x28, 0xed, 0x01, 0xec, 0xc4, 0x05, 0x16, 0x98, 0x3f, 0xcd,
- 0x74, 0x36, 0x35, 0x79,
- 0xeb, 0xa5, 0xdc, 0x82, 0x32, 0xb0, 0x6c, 0xfa, 0x0a, 0x8c, 0xe4, 0x0d,
- 0x3c, 0x85, 0xd3, 0x95,
- 0xbc, 0xed, 0x4e, 0x24, 0x72, 0x56, 0x18, 0x79, 0xc3, 0x99, 0xff, 0x7c,
- 0xcf, 0x9b, 0x0d, 0xa0,
- 0x3c, 0x71, 0x30, 0xb6, 0xbf, 0x09, 0x39, 0x06, 0xa5, 0x51, 0x2a, 0x37,
- 0x58, 0x24, 0x26, 0xef,
- 0x15, 0x89, 0x7b, 0xc7, 0x64, 0xa3, 0xd8, 0x37, 0x14, 0xdb, 0x0b, 0x1a,
- 0x78, 0xc9, 0x65, 0xe9,
- 0xe9, 0x2a, 0x0a, 0xaa, 0x91, 0x3b, 0x31, 0x90, 0xe4, 0x26, 0x7f, 0xa2,
- 0x1d, 0xec, 0x9c, 0x8f,
- 0x02, 0x8f, 0xd6, 0x28, 0xa3, 0x8b, 0x5d, 0x6a, 0xee, 0xaa, 0x9b, 0xaf,
- 0x21, 0x69, 0x4f, 0x1a,
- 0x46, 0x1c, 0x86, 0x31, 0xa1, 0x90, 0x16, 0x60, 0xc2, 0x59, 0xe5, 0xf6,
- 0xc9, 0x05, 0x25, 0xe8,
- 0xda, 0xd6, 0x36, 0xd0, 0x71, 0xa1, 0x97, 0x76, 0xf9, 0xf2, 0xbe, 0xe8,
- 0x53, 0xc1, 0x52, 0x2b,
- 0x19, 0x2d, 0xca, 0x37, 0x28, 0x1f, 0xd5, 0x88, 0x35, 0xa1, 0xd7, 0x7e,
- 0xbe, 0x7c, 0x04, 0xb5,
- 0xdb, 0x70, 0x5d, 0xc4, 0xc1, 0x05, 0x58, 0x43, 0x8e, 0xa7, 0x12, 0x5e,
- 0xa2, 0x14, 0x94, 0x26,
- 0x1e, 0xd9, 0x18, 0x5b, 0xbe, 0xe5, 0xfd, 0x03, 0xb3, 0xc9, 0x15, 0xfa,
- 0x2c, 0x12, 0x13, 0x96,
- 0x17, 0x06, 0xad, 0xef, 0xc7, 0x28, 0x85, 0x5d, 0xfa, 0x71, 0x90, 0xb5,
- 0x59, 0xa0, 0x2a, 0xf3,
- 0x4a, 0xb8, 0x37, 0xc1, 0xed, 0x2c, 0x1b, 0xdf, 0xe3, 0x23, 0x39, 0x92,
- 0x0f, 0xb0, 0x44, 0xb4,
- 0x0a, 0xf6, 0x08, 0x88, 0x6a, 0xe2, 0xea, 0x01, 0xd0, 0x47, 0xb2, 0x56,
- 0xa5, 0x0e, 0xb0, 0x72,
- 0xd9, 0xff, 0x8b, 0xec, 0x62, 0x8e, 0x05, 0x29, 0x60, 0x0d, 0x89, 0xf1,
- 0x83, 0x7d, 0xdb, 0x3c,
- 0x89, 0x43, 0xcb, 0x26, 0xb4, 0x92, 0x59, 0x21, 0x2f, 0x70, 0x50, 0x04,
- 0xe2, 0x0d, 0x12, 0x2a,
- 0x78, 0xe2, 0x60, 0xaf, 0xbd, 0x12, 0x72, 0x0c, 0x89, 0xa2, 0x54, 0x6e,
- 0xb0, 0x48, 0x4c, 0x1d,
- 0x76, 0xc9, 0x07, 0x77, 0x52, 0x25, 0x22, 0xd9, 0x46, 0x72, 0x13, 0xa5,
- 0x57, 0x94, 0x62, 0x5b,
- 0x27, 0xd3, 0x2c, 0xa9, 0x34, 0x9d, 0xb1, 0xe4, 0x7e, 0x5a, 0x66, 0xe6,
- 0xc7, 0x31, 0x6d, 0x40,
- 0x18, 0x8b, 0xa1, 0x23, 0x98, 0xbb, 0x1a, 0xbd, 0x42, 0xf4, 0x7b, 0xc8,
- 0x4f, 0xa9, 0xc2, 0xb8,
- 0x23, 0x0e, 0x43, 0xf9, 0xb1, 0x48, 0x0b, 0x30, 0x61, 0xcd, 0x93, 0x7b,
- 0x85, 0xe3, 0xf3, 0x74,
- 0xf2, 0x88, 0x16, 0xb5, 0x1a, 0xaf, 0xb9, 0x72, 0x3f, 0x2d, 0x33, 0x73,
- 0x82, 0xf9, 0xd7, 0x20,
- 0x95, 0x15, 0x05, 0x55, 0xa9, 0xfc, 0xf9, 0x48, 0x72, 0x13, 0xde, 0x51,
- 0xef, 0x76, 0x4e, 0xa6,
- 0xd5, 0x5b, 0x3a, 0x1c, 0x2e, 0x32, 0x08, 0x96, 0x41, 0x77, 0x55, 0x95,
- 0x45, 0xc8, 0xba, 0x60,
- 0xa9, 0x64, 0x35, 0xe3, 0x16, 0xf5, 0xc0, 0x4e, 0xd7, 0x42, 0xf4, 0x66,
- 0xb7, 0x52, 0x68, 0x49,
- 0x84, 0x41, 0x11, 0xc2, 0x48, 0x8a, 0x9b, 0xab, 0x79, 0x5f, 0x20, 0xd6,
- 0xd5, 0x6d, 0xb5, 0x7b,
- 0xe1, 0x53, 0xd4, 0x0a, 0x58, 0x52, 0x86, 0xfb, 0xda, 0xcb, 0x56, 0x5b,
- 0x99, 0x8b, 0x63, 0xe7,
- 0x1d, 0xf0, 0xa5, 0x67, 0xad, 0xca, 0x6f, 0x5c, 0x2a, 0x36, 0x22, 0xe3,
- 0xfc, 0xae, 0x9a, 0x81,
- 0x93, 0x47, 0xbc, 0x2d, 0x8f, 0xa2, 0x1e, 0xf6, 0x83, 0x2e, 0xb0, 0x63,
- 0x8c, 0xcd, 0x9f, 0x88,
- 0x28, 0x5e, 0x20, 0x65, 0x6b, 0x0e, 0x2e, 0x04, 0xc6, 0xdf, 0x8d, 0x9b,
- 0xd1, 0x38, 0x85, 0x0b,
- 0xc6, 0x80, 0xf8, 0xa3, 0x6c, 0xcf, 0x37, 0x1f, 0xa4, 0x91, 0x30, 0xbd,
- 0x5e, 0xba, 0x0e, 0xa7,
- 0x7b, 0xcb, 0xdd, 0x93, 0xae, 0x3d, 0xe0, 0x53, 0x10, 0x5d, 0x63, 0x77,
- 0x60, 0xf4, 0xc5, 0x0a,
- 0x65, 0x12, 0xc5, 0xc8, 0x10, 0xd8, 0x1d, 0x50, 0xa3, 0x94, 0x76, 0x8d,
- 0x4c, 0xe6, 0xd6, 0x9c,
- 0x75, 0xe0, 0xba, 0x4b, 0x41, 0x0a, 0xb0, 0x86, 0xdf, 0x8d, 0x24, 0xbc,
- 0x87, 0x28, 0xeb, 0x4c,
- 0x7c, 0x3f, 0x0f, 0xff, 0x38, 0xc7, 0xc8, 0xd8, 0x96, 0x35, 0xa1, 0xf3,
- 0xf2, 0x9a, 0xd2, 0x29,
- 0xe3, 0xdc, 0x02, 0x22, 0xfb, 0xd9, 0xdb, 0x91, 0x34, 0x61, 0xcd, 0xf4,
- 0xb8, 0xe2, 0x2c, 0xfd,
- 0xee, 0xde, 0xd8, 0xc6, 0x07, 0xc1, 0x19, 0x1b, 0x62, 0x4e, 0xbd, 0x26,
- 0x8f, 0x82, 0x8b, 0xac,
- 0x21, 0x81, 0x95, 0xd1, 0x12, 0xc3, 0x56, 0x5a, 0x8f, 0x67, 0x08, 0xd4,
- 0xa4, 0x8a, 0xbc, 0x6e,
- 0x8e, 0xb7, 0x19, 0x4a, 0x22, 0x68, 0x71, 0xaa, 0xa9, 0x18, 0x92, 0x80,
- 0x70, 0x63, 0x05, 0x09,
- 0xf9, 0xd8, 0x75, 0x29, 0xc0, 0xe9, 0x9c, 0x46, 0x98, 0x3f, 0x2d, 0x93,
- 0xd6, 0x22, 0xa1, 0x5f,
- 0x01, 0xa6, 0x6b, 0x14, 0xb0, 0xa4, 0xcf, 0x35, 0x77, 0x55, 0xac, 0xb6,
- 0xf1, 0xd5, 0xc6, 0x0d,
- 0x5b, 0xec, 0x23, 0x56, 0x0c, 0x5a, 0x79, 0x3c, 0xe8, 0x6f, 0xc7, 0x15,
- 0x35, 0xab, 0xbf, 0x69,
- 0x91, 0xc8, 0x6a, 0x05, 0x2c, 0x29, 0x43, 0x9c, 0x6d, 0x84, 0x2b, 0xcc,
- 0xad, 0xa4, 0xd0, 0x92,
- 0x14, 0x2f, 0x10, 0xd3, 0xd4, 0x07, 0x17, 0x02, 0x63, 0x8e, 0xa7, 0xac,
- 0x89, 0x1c, 0xa3, 0xe4,
- 0x7a, 0x6d, 0xb6, 0x87, 0x1e, 0x99, 0x2f, 0x66, 0x67, 0x08, 0xcf, 0xc1,
- 0x91, 0x21, 0x03, 0x07,
- 0xf6, 0x55, 0x79, 0xe5, 0x9f, 0x7a, 0x03, 0xa6, 0x20, 0xba, 0xc6, 0xee,
- 0xc0, 0x2b, 0x49, 0x14,
- 0xb1, 0xef, 0x94, 0xc0, 0x8e, 0x4e, 0xda, 0xf3, 0x95, 0xb6, 0x8f, 0xae,
- 0xf8, 0xfb, 0xaa, 0xf1,
- 0xb7, 0xbd, 0x2d, 0xb8, 0xa8, 0x10, 0x3d, 0x4d, 0x64, 0x8b, 0xe1, 0x9c,
- 0x9b, 0x40, 0x7b, 0xdf,
- 0xca, 0x24, 0x49, 0x53, 0x20, 0x73, 0x3a, 0xa0, 0x85, 0xeb, 0xec, 0xd9,
- 0x98, 0x0f, 0x6f, 0xfb,
- 0x5a, 0x4a, 0x48, 0x42, 0xbc, 0xfe, 0xb6, 0x09, 0x9f, 0x3a, 0x6b, 0xa3,
- 0xc4, 0x7e, 0x79, 0x64,
- 0xf8, 0x7e, 0x1e, 0x3d, 0x70, 0x4d, 0x53, 0x73, 0xef, 0x6a, 0x81, 0x25,
- 0x27, 0xf7, 0x67, 0x52,
- 0xcc, 0x76, 0xf0, 0x2b, 0x06, 0x2d, 0xdd, 0x1e, 0x74, 0xd6, 0x82, 0xeb,
- 0xfb, 0xb4, 0xbe, 0xd5,
- 0x47, 0xba, 0xed, 0x25, 0x11, 0x34, 0xd9, 0x55, 0xb5, 0x0c, 0x49, 0x40,
- 0x38, 0xd0, 0xe3, 0xe5,
- 0x96, 0x3c, 0xb8, 0x69, 0xba, 0xd3, 0x6b, 0x17, 0xeb, 0xec, 0xe9, 0x48,
- 0x3f, 0xca, 0xc7, 0xb1,
- 0x6e, 0x42, 0xa6, 0x54, 0xca, 0x9e, 0x38, 0x64, 0x04, 0x86, 0x68, 0x6d,
- 0x18, 0x3d, 0xa0, 0xe3,
- 0x13, 0xdb, 0xc2, 0xbf, 0x42, 0xfd, 0x3f, 0x89, 0xe5, 0xe6, 0x65, 0x28,
- 0x1b, 0x72, 0xb4, 0xc7,
- 0x24, 0xfa, 0x91, 0x95, 0x27, 0xb2, 0x23, 0xbb, 0xe7, 0xa5, 0x51, 0xff,
- 0x17, 0x8d, 0xe4, 0x57,
- 0x74, 0x46, 0xd1, 0x5f, 0xf1, 0xae, 0x7f, 0xb3, 0xa8, 0xd8, 0x88, 0x0a,
- 0x76, 0xfd, 0x2d, 0x41,
- 0x09, 0xdf, 0xb5, 0xb4, 0x79, 0xcd, 0x78, 0x5e, 0x49, 0xb8, 0x85, 0x4f,
- 0x75, 0xb2, 0x39, 0x65,
- 0x03, 0x29, 0xbd, 0x3c, 0x13, 0x2f, 0x92, 0x5f, 0x99, 0xff, 0x37, 0x19,
- 0xd0, 0xbc, 0x89, 0x17,
- 0x30, 0xd5, 0x81, 0x46, 0xf3, 0xb5, 0x34, 0xb9, 0x84, 0x2b, 0xf6, 0x53,
- 0x9e, 0x91, 0x47, 0xb3,
- 0x50, 0xbc, 0x40, 0xca, 0xd6, 0x1c, 0x5c, 0x08, 0x4f, 0x7d, 0xd9, 0xf5,
- 0x61, 0x70, 0xc9, 0x16,
- 0x4f, 0xc3, 0x33, 0x85, 0xd8, 0x5d, 0x6e, 0x3e, 0x8b, 0xe1, 0x60, 0xb9,
- 0xbc, 0xb7, 0x1c, 0x8d,
- 0x0e, 0x2b, 0x67, 0xd8, 0xef, 0x37, 0x50, 0xd5, 0xcf, 0xd0, 0x47, 0xcb,
- 0xe7, 0xdc, 0x2e, 0x46,
- 0x7d, 0x99, 0x64, 0xeb, 0x88, 0x63, 0x07, 0xed, 0xe1, 0x60, 0x0d, 0x45,
- 0x03, 0x4f, 0x14, 0x24,
- 0xb9, 0x96, 0x4a, 0x60, 0x47, 0x27, 0x6d, 0x98, 0xab, 0x5b, 0xa6, 0x57,
- 0x7c, 0x9c, 0x55, 0x99,
- 0x37, 0x21, 0x53, 0x2a, 0x65, 0x4f, 0x1c, 0x32, 0x02, 0x43, 0x34, 0xd7,
- 0x0c, 0xff, 0x50, 0x90,
- 0x54, 0x61, 0x2f, 0x9a, 0x53, 0xc9, 0xe6, 0xdc, 0x50, 0xea, 0x2c, 0x68,
- 0x23, 0xa2, 0x57, 0x22,
- 0x1f, 0x7f, 0x73, 0x4f, 0x0e, 0x41, 0x32, 0x36, 0xc4, 0x9c, 0xb9, 0x4c,
- 0xdd, 0xc7, 0xd5, 0x9b,
- 0xc2, 0x5d, 0x97, 0xf3, 0xe9, 0x1a, 0x8d, 0xcb, 0xbb, 0x06, 0xc5, 0x20,
- 0x1c, 0x68, 0x90, 0x93,
- 0x33, 0xfc, 0x3c, 0x7a, 0xe0, 0x9a, 0xa6, 0xe6, 0x1d, 0xd4, 0xc1, 0x4a,
- 0x4e, 0x2d, 0xce, 0xa4,
- 0x3a, 0x23, 0x89, 0xce, 0x99, 0x57, 0xde, 0xb8, 0x54, 0x6c, 0x44, 0x05,
- 0x3b, 0x9f, 0xf7, 0xc1,
- 0xe5, 0x8e, 0xbb, 0x5a, 0xdd, 0x87, 0x3c, 0x2f, 0xc5, 0x5c, 0xa3, 0xc6,
- 0xdb, 0x59, 0xfd, 0xd3,
- 0xe8, 0x8c, 0x61, 0xbe, 0x21, 0x9f, 0xfe, 0xa5, 0x93, 0x73, 0xd3, 0x14,
- 0xec, 0x39, 0x5a, 0x82,
- 0x12, 0x7d, 0xa9, 0xab, 0xf2, 0x59, 0xf0, 0xbc, 0x92, 0xb3, 0xc9, 0x9e,
- 0xea, 0xa7, 0x72, 0xca,
- 0x92, 0xe1, 0xd7, 0x39, 0x3f, 0x06, 0xd1, 0xc3, 0xf4, 0x7b, 0x1c, 0xd5,
- 0x7d, 0x18, 0x59, 0x85,
- 0xac, 0x1f, 0x31, 0xa7, 0x23, 0x84, 0xb5, 0xaf, 0xbf, 0x80, 0xad, 0x4d,
- 0x04, 0x55, 0x30, 0x70,
- 0x34, 0x08, 0xee, 0x16, 0x76, 0x60, 0x8e, 0x6d, 0x9b, 0xbc, 0x03, 0xce,
- 0xdc, 0x43, 0xd9, 0x87,
- 0x52, 0x33, 0x96, 0xe2, 0x75, 0x97, 0x01, 0x62, 0xa1, 0xd7, 0x42, 0x5a,
- 0x40, 0x19, 0x86, 0x0c,
- 0xed, 0xf7, 0x65, 0xfa, 0x14, 0xee, 0x8b, 0x44, 0xfb, 0xb1, 0x8a, 0x3f,
- 0x5f, 0x3e, 0x02, 0xbb,
- 0xfa, 0xf1, 0xc8, 0x15, 0xd3, 0xc6, 0x0e, 0x19, 0x01, 0xc0, 0x1a, 0x8a,
- 0x06, 0x9e, 0x28, 0x48,
- 0x98, 0x17, 0xdf, 0xb1, 0x55, 0xe4, 0x3b, 0xc2, 0x24, 0x3c, 0xae, 0x83,
- 0xd8, 0x16, 0xe9, 0xf7,
- 0xdf, 0xad, 0x32, 0x94, 0x44, 0xd0, 0xe2, 0x97, 0x91, 0x30, 0xe7, 0xc3,
- 0xe0, 0xc6, 0x0a, 0x12,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x66, 0x3b, 0x78, 0xf4, 0x03, 0xf7, 0x8f, 0x0f, 0x3a, 0x6b, 0x41, 0x94,
- 0x9c, 0x5a, 0x5f, 0x8b,
- 0x2f, 0xaa, 0xf2, 0x09, 0xfd, 0xf4, 0x06, 0x8f, 0x40, 0xb7, 0x4f, 0x1f,
- 0x43, 0x56, 0x92, 0x28,
- 0x3e, 0xfe, 0xe6, 0x9e, 0x1c, 0x82, 0x64, 0x6c, 0x4b, 0xfb, 0xb1, 0x98,
- 0x79, 0x4d, 0x69, 0xf5,
- },
- { /* 12 */
- 0xc2, 0x45, 0xb9, 0x57, 0x85, 0xa8, 0xdb, 0x13, 0x2a, 0x3f, 0xb0, 0xb9,
- 0xb0, 0x0b, 0x7b, 0xc6,
- 0x95, 0x59, 0xc2, 0x20, 0x7c, 0x53, 0x81, 0x21, 0x64, 0x56, 0x1f, 0xc2,
- 0x1f, 0x6d, 0x57, 0x36,
- 0xa6, 0x73, 0x93, 0x63, 0x29, 0x01, 0x42, 0x6e, 0x91, 0x38, 0x9b, 0x93,
- 0x9b, 0xf4, 0x35, 0x9d,
- 0x27, 0x78, 0x48, 0x3d, 0x69, 0x20, 0x97, 0x5e, 0x08, 0x0c, 0x8b, 0x48,
- 0x8b, 0xf5, 0x6f, 0x4b,
- 0xe0, 0xc8, 0x66, 0x94, 0xe3, 0x75, 0x59, 0xd8, 0x8c, 0xca, 0x48, 0x66,
- 0x48, 0xe5, 0x86, 0xb5,
- 0x86, 0x9c, 0xc4, 0x12, 0x49, 0xd1, 0x1c, 0x46, 0xa5, 0x16, 0x83, 0xc4,
- 0x83, 0x14, 0x42, 0x20,
- 0x06, 0xa6, 0x5b, 0x15, 0x0a, 0x17, 0xa7, 0xe6, 0x75, 0xae, 0xe3, 0x5b,
- 0xe3, 0x12, 0x5d, 0x91,
- 0x5d, 0x35, 0x96, 0x48, 0xe7, 0xc2, 0x70, 0xdb, 0xd1, 0x58, 0x49, 0x96,
- 0x49, 0x50, 0xcb, 0x80,
- 0x09, 0x7a, 0x21, 0xd4, 0x1b, 0xd3, 0x98, 0x9a, 0x44, 0x66, 0x76, 0x21,
- 0x76, 0x3f, 0x28, 0xd9,
- 0x78, 0x2f, 0x56, 0xc7, 0x88, 0xef, 0x3b, 0x66, 0x4b, 0x8f, 0x22, 0x56,
- 0x22, 0xab, 0x2e, 0x05,
- 0xf4, 0x9a, 0x7f, 0xea, 0xdf, 0x07, 0x0d, 0xc9, 0x71, 0xa8, 0x47, 0x7f,
- 0x47, 0x89, 0x8b, 0x55,
- 0x16, 0x30, 0x91, 0xcc, 0x3a, 0x7f, 0x88, 0xf2, 0x6f, 0xb9, 0xef, 0x91,
- 0xef, 0x62, 0x87, 0x2e,
- 0x19, 0xec, 0xeb, 0x0d, 0x2b, 0xbb, 0xb7, 0x8e, 0x5e, 0x71, 0x7a, 0xeb,
- 0x7a, 0x4f, 0xf2, 0x66,
- 0xec, 0x47, 0xd0, 0xbe, 0xf7, 0x5b, 0xd4, 0xd7, 0x66, 0x55, 0x4d, 0xd0,
- 0x4d, 0xc1, 0x3c, 0x54,
- 0x69, 0x88, 0xd8, 0x47, 0xbb, 0x60, 0x7a, 0xe2, 0x18, 0x14, 0x5e, 0xd8,
- 0x5e, 0xdc, 0xb1, 0xdd,
- 0x04, 0xc4, 0xd3, 0xa7, 0x0c, 0x1a, 0x7b, 0x05, 0xe7, 0x75, 0x03, 0xd3,
- 0x03, 0x1c, 0xd7, 0x5f,
- 0x8f, 0xe6, 0xe5, 0xc6, 0x52, 0x02, 0x84, 0xdc, 0xe1, 0x70, 0xf5, 0xe5,
- 0xf5, 0x2b, 0x6a, 0xf9,
- 0x30, 0x79, 0x9d, 0xa8, 0x50, 0xb8, 0x71, 0x3c, 0x2e, 0x39, 0x14, 0x9d,
- 0x14, 0x90, 0xad, 0x02,
- 0x39, 0x03, 0xbc, 0x7c, 0x4b, 0x6b, 0xe9, 0xa6, 0x6a, 0x5f, 0x62, 0xbc,
- 0x62, 0xaf, 0x85, 0xdb,
- 0xe9, 0xb2, 0x47, 0x40, 0xf8, 0xa6, 0xc1, 0x42, 0xc8, 0xac, 0x3e, 0x47,
- 0x3e, 0xda, 0xae, 0x6c,
- 0x03, 0x53, 0xcc, 0xeb, 0x05, 0xea, 0xb2, 0x73, 0xdb, 0x57, 0x90, 0xcc,
- 0x90, 0x09, 0xcf, 0xa9,
- 0xcf, 0xfb, 0x4b, 0x24, 0x92, 0x61, 0x38, 0x8c, 0x89, 0x2c, 0xc5, 0x4b,
- 0xc5, 0x28, 0x84, 0x40,
- 0x70, 0x64, 0x33, 0x4a, 0x90, 0xdb, 0xcd, 0x6c, 0x46, 0x65, 0x24, 0x33,
- 0x24, 0x93, 0x43, 0xbb,
- 0x43, 0x4e, 0x62, 0x09, 0xc5, 0x89, 0x0e, 0x23, 0xb3, 0x0b, 0xa0, 0x62,
- 0xa0, 0x0a, 0x21, 0x10,
- 0x55, 0x7e, 0xf3, 0xc5, 0xff, 0xf6, 0x86, 0xd1, 0xdc, 0xb2, 0x4f, 0xf3,
- 0x4f, 0x68, 0xa6, 0x3e,
- 0x2c, 0x60, 0xe1, 0x5b, 0x74, 0xfe, 0xd3, 0x27, 0xde, 0xb1, 0x1d, 0xe1,
- 0x1d, 0xc4, 0xcd, 0x5c,
- 0x12, 0xf4, 0x42, 0x6b, 0x36, 0x65, 0xf3, 0xf7, 0x88, 0xcc, 0xec, 0x42,
- 0xec, 0x7e, 0x50, 0x71,
- 0x8e, 0xd7, 0xa1, 0x9f, 0x51, 0xe5, 0xea, 0x4c, 0xa8, 0xfc, 0x85, 0xa1,
- 0x85, 0x2c, 0x2f, 0x9e,
- 0xd5, 0x44, 0x6c, 0xc2, 0xbc, 0x30, 0x3d, 0x71, 0x0c, 0x0a, 0x2f, 0x6c,
- 0x2f, 0x6e, 0xb9, 0x8f,
- 0x3d, 0xc7, 0x6f, 0xdb, 0x47, 0x71, 0x92, 0xa3, 0x8d, 0x2a, 0x61, 0x6f,
- 0x61, 0xb3, 0x52, 0x84,
- 0xd2, 0xd3, 0x73, 0x8e, 0xb5, 0xc0, 0xf4, 0x07, 0x30, 0x28, 0xbc, 0x73,
- 0xbc, 0x7b, 0xa1, 0x79,
- 0x76, 0xc2, 0x68, 0x5f, 0x9a, 0xcc, 0x6a, 0x8a, 0x33, 0xcb, 0xc7, 0x68,
- 0xc7, 0x81, 0x1e, 0x2a,
- 0x18, 0xdd, 0xaf, 0x54, 0x28, 0x5c, 0xd9, 0x1e, 0x17, 0xfd, 0x0a, 0xaf,
- 0x0a, 0x48, 0xb7, 0x01,
- 0x35, 0x8c, 0x0a, 0x56, 0x5f, 0x45, 0x64, 0xa9, 0x80, 0xc0, 0x67, 0x0a,
- 0x67, 0x8b, 0x3f, 0x3a,
- 0x07, 0x97, 0x1f, 0x4c, 0x09, 0xf0, 0xc9, 0x76, 0x3c, 0x22, 0x93, 0x1f,
- 0x93, 0x15, 0x18, 0xf6,
- 0xc0, 0x27, 0x31, 0xe5, 0x83, 0xa5, 0x07, 0xf0, 0xb8, 0xe4, 0x50, 0x31,
- 0x50, 0x05, 0xf1, 0x08,
- 0xf7, 0xc9, 0xb3, 0x01, 0xda, 0xed, 0xbf, 0xba, 0xaa, 0xff, 0xd7, 0xb3,
- 0xd7, 0x80, 0x44, 0xfc,
- 0xb8, 0x08, 0x67, 0x22, 0x0b, 0x4a, 0x3c, 0x96, 0xf3, 0x6b, 0x72, 0x67,
- 0x72, 0xae, 0xdf, 0x0d,
- 0x72, 0x06, 0xbb, 0xf8, 0x96, 0xd6, 0x11, 0x8f, 0xd4, 0xbe, 0xc4, 0xbb,
- 0xc4, 0x9d, 0xc9, 0x75,
- 0x11, 0xa7, 0x8e, 0x80, 0x33, 0x8f, 0x41, 0x84, 0x53, 0x9b, 0x7c, 0x8e,
- 0x7c, 0x77, 0x9f, 0xd8,
- 0xb4, 0x87, 0xd1, 0x08, 0x1f, 0x64, 0xb1, 0x99, 0x19, 0xf4, 0x77, 0xd1,
- 0x77, 0x8a, 0x65, 0xec,
- 0xff, 0x82, 0xd6, 0x8c, 0xc2, 0xd9, 0x49, 0xb0, 0xa7, 0x15, 0xd1, 0xd6,
- 0xd1, 0xb8, 0x29, 0x42,
- 0x1a, 0xbf, 0x27, 0xe6, 0x2e, 0x51, 0x05, 0xfd, 0x85, 0x26, 0xea, 0x27,
- 0xea, 0x46, 0x3d, 0xcf,
- 0x48, 0x56, 0xcb, 0x6f, 0xd8, 0x57, 0x4a, 0x5a, 0x65, 0xb6, 0x36, 0xcb,
- 0x36, 0x3b, 0x83, 0x07,
- 0xaa, 0xfc, 0x25, 0x49, 0x3d, 0x2f, 0xcf, 0x61, 0x7b, 0xa7, 0x9e, 0x25,
- 0x9e, 0xd0, 0x8f, 0x7c,
- 0x58, 0xc0, 0x01, 0xb6, 0xe8, 0x3f, 0x65, 0x4e, 0x7f, 0xa1, 0x3a, 0x01,
- 0x3a, 0x4b, 0x59, 0xb8,
- 0x93, 0xff, 0x99, 0x35, 0x76, 0x44, 0x26, 0xc7, 0x11, 0xf8, 0xfc, 0x99,
- 0xfc, 0x7f, 0x0a, 0xa7,
- 0x21, 0xde, 0x13, 0x28, 0x63, 0x37, 0x30, 0xb8, 0x7d, 0xa2, 0x68, 0x13,
- 0x68, 0xe7, 0x32, 0xda,
- 0xdd, 0x0f, 0x09, 0x4f, 0xa4, 0x04, 0xcb, 0x7b, 0x01, 0xe0, 0x29, 0x09,
- 0x29, 0x56, 0xd4, 0x31,
- 0x60, 0xf2, 0xf9, 0x93, 0xa0, 0xb3, 0xe2, 0x78, 0x5c, 0x72, 0x28, 0xf9,
- 0x28, 0xe3, 0x99, 0x04,
- 0x0c, 0x8f, 0xb6, 0x2a, 0x14, 0x2e, 0x8d, 0x0f, 0xea, 0x9f, 0x05, 0xb6,
- 0x05, 0x24, 0xba, 0xe1,
- 0xc4, 0xe3, 0xe2, 0x42, 0x8f, 0xbf, 0x7c, 0xf5, 0x5f, 0x91, 0x53, 0xe2,
- 0x53, 0x19, 0x26, 0x57,
- 0x9a, 0x85, 0xb8, 0xe1, 0x6d, 0x97, 0xbe, 0x5d, 0x55, 0x9e, 0x8a, 0xb8,
- 0x8a, 0x40, 0x22, 0x7e,
- 0x5c, 0x04, 0xd2, 0x11, 0xe4, 0x25, 0x1e, 0x4b, 0x98, 0xd4, 0x39, 0xd2,
- 0x39, 0x57, 0x8e, 0xe7,
- 0x53, 0xd8, 0xa8, 0xd0, 0xf5, 0xe1, 0x21, 0x37, 0xa9, 0x1c, 0xac, 0xa8,
- 0xac, 0x7a, 0xfb, 0xaf,
- 0xcd, 0x99, 0xc3, 0x96, 0x94, 0x6c, 0xe4, 0x6f, 0x1b, 0xf7, 0x25, 0xc3,
- 0x25, 0x26, 0x0e, 0x8e,
- 0x32, 0x1b, 0x15, 0x1a, 0x56, 0xb5, 0xad, 0xdf, 0xbc, 0xe2, 0xf4, 0x15,
- 0xf4, 0x9e, 0x27, 0xcc,
- 0x1b, 0x8e, 0x63, 0xbf, 0x2d, 0xb6, 0x6b, 0x6d, 0xcc, 0xaa, 0x9a, 0x63,
- 0x9a, 0x41, 0x78, 0xa8,
- 0x5a, 0xa2, 0x89, 0x04, 0xee, 0x32, 0xb9, 0xad, 0xed, 0x7a, 0xda, 0x89,
- 0xda, 0x45, 0xd3, 0x76,
- 0xa1, 0xe4, 0x8c, 0x2f, 0x20, 0xf1, 0x8b, 0x18, 0xad, 0x1a, 0x08, 0x8c,
- 0x08, 0xe1, 0x2d, 0x6b,
- 0xe5, 0x3d, 0xf1, 0x6a, 0xec, 0x88, 0x4c, 0x4d, 0x22, 0x33, 0x3b, 0xf1,
- 0x3b, 0xfe, 0x14, 0x8d,
- 0x3c, 0xf6, 0x2b, 0x82, 0x44, 0x96, 0xfc, 0x33, 0xc4, 0xa6, 0x11, 0x2b,
- 0x11, 0xb4, 0x17, 0xe3,
- 0x97, 0x3b, 0x4a, 0x92, 0x7a, 0x5e, 0x5d, 0xc2, 0xf6, 0x8d, 0xff, 0x4a,
- 0xff, 0x63, 0xdd, 0xf8,
- 0xce, 0xca, 0x0f, 0x7d, 0x91, 0x86, 0x56, 0x1c, 0xc0, 0xa0, 0xb5, 0x0f,
- 0xb5, 0x2f, 0xc1, 0x27,
- 0x6d, 0x4c, 0x0b, 0xe0, 0xb7, 0x7a, 0x01, 0xe7, 0xff, 0x61, 0x5d, 0x0b,
- 0x5d, 0xc0, 0x66, 0x82,
- 0x62, 0x90, 0x71, 0x21, 0xa6, 0xbe, 0x3e, 0x9b, 0xce, 0xa9, 0xc8, 0x71,
- 0xc8, 0xed, 0x13, 0xca,
- 0xf5, 0xab, 0x3b, 0xb3, 0xdc, 0xe0, 0x63, 0x59, 0x38, 0x24, 0x37, 0x3b,
- 0x37, 0x8e, 0xce, 0x32,
- 0xb7, 0xd4, 0x1d, 0xe3, 0x1a, 0x8e, 0x03, 0xea, 0xc2, 0xa3, 0xe7, 0x1d,
- 0xe7, 0x83, 0xaa, 0x45,
- 0xe2, 0xaa, 0xee, 0x26, 0xe5, 0x78, 0x85, 0x3b, 0x1e, 0x11, 0xa8, 0xee,
- 0xa8, 0xeb, 0x0c, 0x7b,
- 0x41, 0x2c, 0xea, 0xbb, 0xc3, 0x84, 0xd2, 0xc0, 0x21, 0xd0, 0x40, 0xea,
- 0x40, 0x04, 0xab, 0xde,
- 0x71, 0x55, 0x77, 0x13, 0x93, 0x3c, 0xa3, 0xfc, 0x0f, 0xe9, 0x54, 0x77,
- 0x54, 0x94, 0x06, 0xdc,
- 0xf9, 0x24, 0x8d, 0x99, 0xc8, 0xce, 0xee, 0x56, 0xd2, 0xbb, 0x32, 0x8d,
- 0x32, 0xaa, 0x74, 0xd3,
- 0xea, 0xe1, 0x8b, 0xab, 0xfd, 0x4c, 0x73, 0x31, 0x13, 0xfb, 0xae, 0x8b,
- 0xae, 0xd3, 0x61, 0xc5,
- 0xae, 0x38, 0xf6, 0xee, 0x31, 0x35, 0xb4, 0x64, 0x9c, 0xd2, 0x9d, 0xf6,
- 0x9d, 0xcc, 0x58, 0x23,
- 0xe4, 0x0c, 0xb5, 0x33, 0xef, 0x6f, 0x22, 0xdd, 0x6b, 0xbf, 0x4b, 0xb5,
- 0x4b, 0xf9, 0x51, 0xea,
- 0x0b, 0x18, 0xa9, 0x66, 0x1d, 0xde, 0x44, 0x79, 0xd6, 0xbd, 0x96, 0xa9,
- 0x96, 0x31, 0xa2, 0x17,
- 0xde, 0x5c, 0xc5, 0xa4, 0xa1, 0xee, 0x79, 0x08, 0xda, 0xb7, 0xb9, 0xc5,
- 0xb9, 0x5f, 0x1b, 0x98,
- 0xf0, 0x5e, 0xac, 0x4d, 0xd3, 0x1d, 0x76, 0xcc, 0x96, 0xdd, 0x44, 0xac,
- 0x44, 0x95, 0x5c, 0x0a,
- 0xd4, 0x75, 0x28, 0x9b, 0xbf, 0xd7, 0x53, 0xe1, 0x45, 0x86, 0x5f, 0x28,
- 0x5f, 0x69, 0xfc, 0xe8,
- 0xb5, 0xb6, 0x95, 0x51, 0x1c, 0x83, 0xdf, 0x09, 0x50, 0x78, 0x07, 0x95,
- 0x07, 0x8d, 0x20, 0x8b,
- 0xa4, 0x11, 0x1b, 0xd1, 0x2f, 0x0c, 0x9e, 0x8d, 0x03, 0xe3, 0x7b, 0x1b,
- 0x7b, 0xfa, 0xbf, 0x53,
- 0xba, 0x6a, 0xef, 0x90, 0x0d, 0x47, 0xe0, 0x75, 0x61, 0xb0, 0x92, 0xef,
- 0x92, 0xa0, 0x55, 0xc3,
- 0xe8, 0x83, 0x03, 0x19, 0xfb, 0x41, 0xaf, 0xd2, 0x81, 0x20, 0x4e, 0x03,
- 0x4e, 0xdd, 0xeb, 0x0b,
- 0x0e, 0xed, 0x3e, 0x98, 0x12, 0x23, 0x51, 0xec, 0x78, 0x44, 0xe5, 0x3e,
- 0xe5, 0x2a, 0x30, 0x2f,
- 0x9c, 0x23, 0xe3, 0xf4, 0x67, 0x80, 0x19, 0xbb, 0x20, 0x30, 0x69, 0xe3,
- 0x69, 0x52, 0x7f, 0xef,
- 0x31, 0x48, 0xd9, 0xf1, 0x53, 0x5f, 0x1f, 0xac, 0x67, 0xb5, 0x64, 0xd9,
- 0x64, 0x97, 0xe8, 0x65,
- 0x79, 0x1e, 0x12, 0x9e, 0x8b, 0x08, 0x55, 0xf6, 0x02, 0x03, 0x52, 0x12,
- 0x52, 0xac, 0x6b, 0x62,
- 0xfc, 0xd1, 0x1a, 0x67, 0xc7, 0x33, 0xfb, 0xc3, 0x7c, 0x42, 0x41, 0x1a,
- 0x41, 0xb1, 0xe6, 0xeb,
- 0x4d, 0xa3, 0x5c, 0x91, 0xd7, 0xaa, 0x5f, 0xcf, 0xcb, 0x4f, 0x45, 0x5c,
- 0x45, 0x20, 0x11, 0x3f,
- 0xdb, 0xa9, 0x52, 0x5a, 0xae, 0x13, 0x6c, 0x9d, 0x74, 0x4e, 0xca, 0x52,
- 0xca, 0x44, 0x89, 0xa0,
- 0x75, 0x91, 0xa4, 0xb4, 0x9f, 0x26, 0xd8, 0xf9, 0xe8, 0x9c, 0x57, 0xa4,
- 0x57, 0x88, 0xd1, 0x83,
- 0x68, 0xb9, 0x9c, 0x1e, 0xb8, 0x87, 0x14, 0x72, 0x51, 0x98, 0x2e, 0x9c,
- 0x2e, 0xdb, 0xf4, 0xba,
- 0x15, 0x63, 0x5d, 0x27, 0x3f, 0x95, 0x3a, 0x81, 0xb4, 0xee, 0x7f, 0x5d,
- 0x7f, 0x6b, 0x48, 0x87,
- 0xa9, 0xaf, 0xe9, 0xa2, 0x38, 0xc5, 0x7d, 0x12, 0xa0, 0xf0, 0x0e, 0xe9,
- 0x0e, 0xd9, 0x40, 0xd5,
- 0x01, 0x31, 0x44, 0x59, 0x03, 0xe7, 0x6e, 0x90, 0x49, 0x8c, 0x70, 0x44,
- 0x70, 0x07, 0x45, 0x67,
- 0x23, 0xbc, 0x9b, 0x9a, 0x65, 0x3a, 0xec, 0x5b, 0xef, 0x79, 0x88, 0x9b,
- 0x88, 0xe9, 0xb8, 0x14,
- 0xb2, 0x21, 0x8a, 0x1d, 0x15, 0x73, 0x16, 0x7f, 0x6c, 0x5a, 0x94, 0x8a,
- 0x94, 0x98, 0x38, 0x7d,
- 0x6e, 0x1f, 0xc7, 0x0b, 0xb2, 0x90, 0xb3, 0x94, 0x24, 0x36, 0xcd, 0xc7,
- 0xcd, 0xc9, 0xa9, 0x2b,
- 0xf2, 0x3c, 0x24, 0xff, 0xd5, 0x10, 0xaa, 0x2f, 0x04, 0x06, 0xa4, 0x24,
- 0xa4, 0x9b, 0xd6, 0xc4,
- 0x3b, 0x61, 0x34, 0xce, 0x4d, 0x66, 0x35, 0x45, 0xf8, 0x84, 0x82, 0x34,
- 0x82, 0xa1, 0x0f, 0x15,
- 0x52, 0xe9, 0xec, 0x89, 0xf6, 0x06, 0x4f, 0xa7, 0xe0, 0x90, 0xdc, 0xec,
- 0xdc, 0x7d, 0xbe, 0xc8,
- 0x65, 0x07, 0x6e, 0x6d, 0xaf, 0x4e, 0xf7, 0xed, 0xf2, 0x8b, 0x5b, 0x6e,
- 0x5b, 0xf8, 0x0b, 0x3c,
- 0x4b, 0x05, 0x07, 0x84, 0xdd, 0xbd, 0xf8, 0x29, 0xbe, 0xe1, 0xa6, 0x07,
- 0xa6, 0x32, 0x4c, 0xae,
- 0x38, 0x32, 0xf8, 0x25, 0x48, 0x8c, 0x87, 0x36, 0x23, 0xd3, 0x12, 0xf8,
- 0x12, 0xa8, 0xc0, 0xbc,
- 0x2a, 0xc6, 0xba, 0x4e, 0x7e, 0xe9, 0x74, 0xc1, 0xab, 0x1f, 0xfe, 0xba,
- 0xfe, 0xd6, 0x90, 0xcd,
- 0x91, 0x9d, 0x11, 0x87, 0x70, 0x49, 0xfa, 0x24, 0x83, 0x23, 0x1c, 0x11,
- 0x1c, 0x71, 0x80, 0x69,
- 0xd6, 0x17, 0xa0, 0x29, 0xb9, 0xda, 0x8f, 0x02, 0xd7, 0x5d, 0xbf, 0xa0,
- 0xbf, 0x67, 0x76, 0x26,
- 0xfd, 0xe0, 0x5e, 0x3e, 0xc4, 0xd4, 0x95, 0x53, 0x35, 0xce, 0x31, 0x5e,
- 0x31, 0xb6, 0xa3, 0x8c,
- 0xf8, 0x15, 0xc9, 0xc0, 0xcb, 0x29, 0x80, 0xc6, 0x9b, 0x37, 0x42, 0xc9,
- 0x42, 0xad, 0x31, 0xb4,
- 0x8c, 0xb5, 0x29, 0x2d, 0x57, 0xe8, 0x36, 0xaf, 0x3a, 0x27, 0x65, 0x29,
- 0x65, 0x22, 0xa5, 0x50,
- 0x50, 0x8b, 0x64, 0x3b, 0xf0, 0x0b, 0x93, 0x44, 0x72, 0x4b, 0x3c, 0x64,
- 0x3c, 0x73, 0x34, 0x06,
- 0x7f, 0xb8, 0x49, 0x8b, 0x81, 0x1f, 0xf2, 0x10, 0x77, 0xad, 0xb1, 0x49,
- 0xb1, 0xbe, 0x36, 0xf3,
- 0x59, 0xf1, 0x45, 0xef, 0xeb, 0xd8, 0x0b, 0xde, 0x36, 0x2d, 0x4a, 0x45,
- 0x4a, 0x4c, 0x1c, 0xdf,
- 0x08, 0x4b, 0x65, 0x8d, 0x18, 0x34, 0xf6, 0x0a, 0x0d, 0xea, 0x06, 0x65,
- 0x06, 0x38, 0x6d, 0xbe,
- 0xd9, 0xcb, 0xda, 0xe8, 0xa8, 0x1e, 0xb0, 0x7e, 0xe6, 0x95, 0x2a, 0xda,
- 0x2a, 0x4a, 0x03, 0x6e,
- 0xa2, 0xb7, 0x40, 0xc4, 0x25, 0x1b, 0x39, 0x6b, 0x76, 0x4d, 0x98, 0x40,
- 0x98, 0xe8, 0xe2, 0xc2,
- 0xfb, 0x46, 0x05, 0x2b, 0xce, 0xc3, 0x32, 0xb5, 0x40, 0x60, 0xd2, 0x05,
- 0xd2, 0xa4, 0xfe, 0x1d,
- 0x1c, 0x19, 0x7c, 0xf3, 0x24, 0x46, 0xa2, 0x1b, 0xf0, 0x88, 0x09, 0x7c,
- 0x09, 0x54, 0x60, 0x5e,
- 0x29, 0x95, 0x76, 0xa5, 0x7b, 0x03, 0xc6, 0xb2, 0x70, 0x48, 0x6e, 0x76,
- 0x6e, 0xdf, 0x5f, 0x64,
- 0xd3, 0xe2, 0x37, 0xd7, 0xb6, 0x27, 0x9a, 0x97, 0x79, 0xa4, 0xcc, 0x37,
- 0xcc, 0x7c, 0xe4, 0x1e,
- 0x6f, 0x2e, 0x83, 0x52, 0xb1, 0x77, 0xdd, 0x04, 0x6d, 0xba, 0xbd, 0x83,
- 0xbd, 0xce, 0xec, 0x4c,
- 0x47, 0x8a, 0xb1, 0xae, 0xc9, 0x93, 0x75, 0x26, 0x54, 0x7e, 0xa3, 0xb1,
- 0xa3, 0x16, 0xf6, 0x4f,
- 0x54, 0x4f, 0xb7, 0x9c, 0xfc, 0x11, 0xe8, 0x41, 0x95, 0x3e, 0x3f, 0xb7,
- 0x3f, 0x6f, 0xe3, 0x59,
- 0x9f, 0x70, 0x2f, 0x1f, 0x62, 0x6a, 0xab, 0xc8, 0xfb, 0x67, 0xf9, 0x2f,
- 0xf9, 0x5b, 0xb0, 0x46,
- 0x17, 0x01, 0xd5, 0x95, 0x39, 0x98, 0xe6, 0x62, 0x26, 0x35, 0x9f, 0xd5,
- 0x9f, 0x65, 0xc2, 0x49,
- 0xe1, 0xf9, 0x22, 0xcd, 0xe0, 0x92, 0x37, 0x48, 0xc5, 0x46, 0x38, 0x22,
- 0x38, 0xe2, 0xc3, 0xd2,
- 0x7c, 0xeb, 0x85, 0x60, 0x84, 0xf5, 0x40, 0x63, 0xac, 0xfa, 0x21, 0x85,
- 0x21, 0xb7, 0xf9, 0x5a,
- 0x46, 0xbb, 0xf5, 0xf7, 0xca, 0x74, 0x1b, 0xb6, 0x1d, 0xf2, 0xd3, 0xf5,
- 0xd3, 0x11, 0xb3, 0x28,
- 0xbc, 0xcc, 0xb4, 0x85, 0x07, 0x50, 0x47, 0x93, 0x14, 0x1e, 0x71, 0xb4,
- 0x71, 0xb2, 0x08, 0x52,
- 0xc5, 0xd2, 0xa6, 0x1b, 0x8c, 0x58, 0x12, 0x65, 0x16, 0x1d, 0x23, 0xa6,
- 0x23, 0x1e, 0x63, 0x30,
- 0x22, 0x8d, 0xdf, 0xc3, 0x66, 0xdd, 0x82, 0xcb, 0xa6, 0xf5, 0xf8, 0xdf,
- 0xf8, 0xee, 0xfd, 0x73,
- 0xbe, 0xae, 0x3c, 0x37, 0x01, 0x5d, 0x9b, 0x70, 0x86, 0xc5, 0x91, 0x3c,
- 0x91, 0xbc, 0x82, 0x9c,
- 0x96, 0x0a, 0x0e, 0xcb, 0x79, 0xb9, 0x33, 0x52, 0xbf, 0x01, 0x8f, 0x0e,
- 0x8f, 0x64, 0x98, 0x9f,
- 0x7e, 0x89, 0x0d, 0xd2, 0x82, 0xf8, 0x9c, 0x80, 0x3e, 0x21, 0xc1, 0x0d,
- 0xc1, 0xb9, 0x73, 0x94,
- 0x1d, 0x28, 0x38, 0xaa, 0x27, 0xa1, 0xcc, 0x8b, 0xb9, 0x04, 0x79, 0x38,
- 0x79, 0x53, 0x25, 0x39,
- 0xb9, 0x39, 0x23, 0x7b, 0x08, 0xad, 0x52, 0x06, 0xba, 0xe7, 0x02, 0x23,
- 0x02, 0xa9, 0x9a, 0x6a,
- 0x9d, 0x12, 0xa7, 0xad, 0x64, 0x67, 0x77, 0x2b, 0x69, 0xbc, 0x19, 0xa7,
- 0x19, 0x55, 0x3a, 0x88,
- 0xad, 0x6b, 0x3a, 0x05, 0x34, 0xdf, 0x06, 0x17, 0x47, 0x85, 0x0d, 0x3a,
- 0x0d, 0xc5, 0x97, 0x8a,
- 0x6c, 0x7d, 0x4f, 0xb9, 0xb4, 0x9d, 0x6f, 0x77, 0xb6, 0xed, 0x2d, 0x4f,
- 0x2d, 0xc7, 0x23, 0xe5,
- 0x85, 0xcf, 0x08, 0xf9, 0x4c, 0x3b, 0xae, 0x35, 0x7e, 0x41, 0x13, 0x08,
- 0x13, 0x1d, 0x8d, 0x89,
- 0xd1, 0x80, 0xbf, 0x65, 0xb0, 0x2a, 0x46, 0x74, 0xeb, 0x7f, 0x2c, 0xbf,
- 0x2c, 0x72, 0x6e, 0xd0,
- 0x1e, 0x7b, 0xf4, 0x41, 0x22, 0x4b, 0x7e, 0xf8, 0x62, 0x53, 0xe9, 0xf4,
- 0xe9, 0x5a, 0xea, 0x90,
- 0xa5, 0x20, 0x5f, 0x88, 0x2c, 0xeb, 0xf0, 0x1d, 0x4a, 0x6f, 0x0b, 0x5f,
- 0x0b, 0xfd, 0xfa, 0x34,
- 0xe6, 0x6e, 0x3d, 0x81, 0xe9, 0x62, 0xfe, 0x3e, 0xf9, 0x64, 0xab, 0x3d,
- 0xab, 0xf7, 0xdb, 0x24,
- 0x2e, 0x02, 0x69, 0xe9, 0x72, 0xf3, 0x0f, 0xc4, 0x4c, 0x6a, 0xfd, 0x69,
- 0xfd, 0xca, 0x47, 0x92,
- 0x5f, 0x57, 0x1e, 0xfa, 0xe1, 0xcf, 0xac, 0x38, 0x43, 0x83, 0xa9, 0x1e,
- 0xa9, 0x5e, 0x41, 0x4e,
- 0x61, 0xc3, 0xbd, 0xca, 0xa3, 0x54, 0x8c, 0xe8, 0x15, 0xfe, 0x58, 0xbd,
- 0x58, 0xe4, 0xdc, 0x63,
- 0x83, 0x69, 0x53, 0xec, 0x46, 0x2c, 0x09, 0xd3, 0x0b, 0xef, 0xf0, 0x53,
- 0xf0, 0x0f, 0xd0, 0x18,
- 0x44, 0xd9, 0x7d, 0x45, 0xcc, 0x79, 0xc7, 0x55, 0x8f, 0x29, 0x33, 0x7d,
- 0x33, 0x1f, 0x39, 0xe6,
- 0xb1, 0x72, 0x46, 0xf6, 0x10, 0x99, 0xa4, 0x0c, 0xb7, 0x0d, 0x04, 0x46,
- 0x04, 0x91, 0xf7, 0xd4,
- 0xef, 0x14, 0x1c, 0x55, 0xf2, 0xb1, 0x66, 0xa4, 0xbd, 0x02, 0xdd, 0x1c,
- 0xdd, 0xc8, 0xf3, 0xfd,
- 0x82, 0x58, 0x17, 0xb5, 0x45, 0xcb, 0x67, 0x43, 0x42, 0x63, 0x80, 0x17,
- 0x80, 0x08, 0x95, 0x7f,
- 0x36, 0xdf, 0xc6, 0xbd, 0x5a, 0xaf, 0xd6, 0xda, 0x5b, 0x97, 0xf7, 0xc6,
- 0xf7, 0x82, 0xf0, 0x93,
- 0xa3, 0x86, 0x04, 0x9d, 0x26, 0xfc, 0x57, 0xfb, 0x3f, 0xc1, 0xe8, 0x04,
- 0xe8, 0xef, 0xa7, 0xa5,
- 0xaf, 0x09, 0xb2, 0xb7, 0x32, 0xd2, 0xda, 0xf4, 0xd5, 0x5e, 0xed, 0xb2,
- 0xed, 0xcb, 0x1d, 0x44,
- 0x88, 0x71, 0xfa, 0x8a, 0x5b, 0xf2, 0x4d, 0xaa, 0xdd, 0x52, 0x66, 0xfa,
- 0x66, 0x3e, 0x72, 0x0f,
- 0x89, 0x40, 0xbe, 0xd3, 0x58, 0x15, 0x23, 0x3a, 0x94, 0xde, 0x16, 0xbe,
- 0x16, 0x39, 0x37, 0x68,
- 0x0f, 0xdc, 0x7a, 0xc1, 0x11, 0xc4, 0x3f, 0x7c, 0x31, 0xc8, 0x95, 0x7a,
- 0x95, 0x2d, 0x75, 0x48,
- 0x1f, 0x4a, 0xb0, 0x18, 0x21, 0xac, 0x10, 0x68, 0x2b, 0xdf, 0x99, 0xb0,
- 0x99, 0x5d, 0xaf, 0xf7,
- 0x42, 0x7f, 0x26, 0x50, 0xc6, 0x6e, 0x60, 0xb3, 0xfa, 0x87, 0xd0, 0x26,
- 0xd0, 0x0d, 0x64, 0x77,
- 0xf6, 0xf8, 0xf7, 0x58, 0xd9, 0x0a, 0xd1, 0x2a, 0xe3, 0x73, 0xa7, 0xf7,
- 0xa7, 0x87, 0x01, 0x9b,
- 0xdf, 0x6d, 0x81, 0xfd, 0xa2, 0x09, 0x17, 0x98, 0x93, 0x3b, 0xc9, 0x81,
- 0xc9, 0x58, 0x5e, 0xff,
- 0x3a, 0x50, 0x70, 0x97, 0x4e, 0x81, 0x5b, 0xd5, 0xb1, 0x08, 0xf2, 0x70,
- 0xf2, 0xa6, 0x4a, 0x72,
- 0xc1, 0x16, 0x75, 0xbc, 0x80, 0x42, 0x69, 0x60, 0xf1, 0x68, 0x20, 0x75,
- 0x20, 0x02, 0xb4, 0x6f,
- 0x28, 0xa4, 0x32, 0xfc, 0x78, 0xe4, 0xa8, 0x22, 0x39, 0xc4, 0x1e, 0x32,
- 0x1e, 0xd8, 0x1a, 0x03,
- 0xf1, 0x6f, 0xe8, 0x14, 0xd0, 0xfa, 0x18, 0x5c, 0xdf, 0x51, 0x34, 0xe8,
- 0x34, 0x92, 0x19, 0x6d,
- 0xcb, 0x3f, 0x98, 0x83, 0x9e, 0x7b, 0x43, 0x89, 0x6e, 0x59, 0xc6, 0x98,
- 0xc6, 0x34, 0x53, 0x1f,
- 0x92, 0xce, 0xdd, 0x6c, 0x75, 0xa3, 0x48, 0x57, 0x58, 0x74, 0x8c, 0xdd,
- 0x8c, 0x78, 0x4f, 0xc0,
- 0x87, 0xad, 0x80, 0x4b, 0x4a, 0x36, 0x72, 0xd6, 0xec, 0x9a, 0xf3, 0x80,
- 0xf3, 0x13, 0x07, 0x47,
- 0xe7, 0x5f, 0x79, 0xd8, 0xea, 0x85, 0x90, 0xae, 0xb0, 0xe8, 0xdb, 0x79,
- 0xdb, 0xf0, 0x9e, 0x43,
- 0x3e, 0x94, 0xa3, 0x30, 0x42, 0x9b, 0x20, 0xd0, 0x56, 0x7d, 0xf1, 0xa3,
- 0xf1, 0xba, 0x9d, 0x2d,
- 0xfa, 0x77, 0x41, 0x72, 0xcd, 0x24, 0x5c, 0x25, 0x09, 0xec, 0xa2, 0x41,
- 0xa2, 0xa3, 0xbb, 0x7a,
- 0x0d, 0xbe, 0xf2, 0x73, 0x17, 0xc9, 0xe3, 0x9f, 0xa3, 0x13, 0x75, 0xf2,
- 0x75, 0x23, 0xff, 0x86,
- 0x51, 0xba, 0x20, 0x62, 0xf3, 0xec, 0xfd, 0xd4, 0x3b, 0xc7, 0x4c, 0x20,
- 0x4c, 0x74, 0x71, 0x61,
- 0xb6, 0xe5, 0x59, 0xba, 0x19, 0x69, 0x6d, 0x7a, 0x8b, 0x2f, 0x97, 0x59,
- 0x97, 0x84, 0xef, 0x22,
- 0x7b, 0x7c, 0x9a, 0x2c, 0x8d, 0x05, 0x89, 0x15, 0x90, 0xd8, 0xb2, 0x9a,
- 0xb2, 0xa2, 0xe1, 0xac,
- 0x74, 0xa0, 0xe0, 0xed, 0x9c, 0xc1, 0xb6, 0x69, 0xa1, 0x10, 0x27, 0xe0,
- 0x27, 0x8f, 0x94, 0xe4,
- 0x3f, 0xa5, 0xe7, 0x69, 0x41, 0x7c, 0x4e, 0x40, 0x1f, 0xf1, 0x81, 0xe7,
- 0x81, 0xbd, 0xd8, 0x4a,
- 0x2f, 0x33, 0x2d, 0xb0, 0x71, 0x14, 0x61, 0x54, 0x05, 0xe6, 0x8d, 0x2d,
- 0x8d, 0xcd, 0x02, 0xf5,
- 0x7d, 0xda, 0xc1, 0x39, 0x87, 0x12, 0x2e, 0xf3, 0xe5, 0x76, 0x51, 0xc1,
- 0x51, 0xb0, 0xbc, 0x3d,
- 0xbb, 0x5b, 0xab, 0xc9, 0x0e, 0xa0, 0x8e, 0xe5, 0x28, 0x3c, 0xe2, 0xab,
- 0xe2, 0xa7, 0x10, 0xa4,
- 0x49, 0x67, 0x8f, 0x36, 0xdb, 0xb0, 0x24, 0xca, 0x2c, 0x3a, 0x46, 0x8f,
- 0x46, 0x3c, 0xc6, 0x60,
- 0x2b, 0xf7, 0xfe, 0x17, 0x7d, 0x0e, 0x1a, 0x51, 0xe2, 0x93, 0x8e, 0xfe,
- 0x8e, 0xd1, 0xd5, 0xaa,
- 0x99, 0xd6, 0x74, 0x0a, 0x68, 0x7d, 0x0c, 0x2e, 0x8e, 0xc9, 0x1a, 0x74,
- 0x1a, 0x49, 0xed, 0xd7,
- 0x02, 0x62, 0x88, 0xb2, 0x06, 0x0d, 0xdc, 0xe3, 0x92, 0xdb, 0xe0, 0x88,
- 0xe0, 0x0e, 0x8a, 0xce,
- 0x37, 0xee, 0x82, 0xe4, 0x59, 0x48, 0xb8, 0x4a, 0x12, 0x1b, 0x87, 0x82,
- 0x87, 0x85, 0xb5, 0xf4,
- 0xb3, 0x10, 0xce, 0x44, 0x16, 0x94, 0x78, 0xef, 0x25, 0xd6, 0xe4, 0xce,
- 0xe4, 0x9f, 0x7d, 0x1a,
- 0x73, 0x37, 0xff, 0xa1, 0x95, 0x31, 0x7f, 0x1f, 0x9d, 0x32, 0xb4, 0xff,
- 0xb4, 0x9a, 0x8c, 0x12,
- 0x64, 0x36, 0x2a, 0x34, 0xac, 0xa9, 0x99, 0x7d, 0xbb, 0x07, 0x2b, 0x2a,
- 0x2b, 0xff, 0x4e, 0x5b,
- 0xdc, 0x3e, 0x4d, 0x16, 0xa7, 0xe3, 0xa5, 0xeb, 0x48, 0x6c, 0x59, 0x4d,
- 0x59, 0x51, 0x91, 0x56,
- 0xd8, 0xfa, 0x9e, 0xb1, 0xab, 0xf9, 0xde, 0xee, 0xaf, 0x19, 0x5a, 0x9e,
- 0x5a, 0x4d, 0x46, 0x09,
- 0xc9, 0x5d, 0x10, 0x31, 0x98, 0x76, 0x9f, 0x6a, 0xfc, 0x82, 0x26, 0x10,
- 0x26, 0x3a, 0xd9, 0xd1,
- 0xab, 0xcd, 0x61, 0x10, 0x3e, 0xc8, 0xa1, 0xf1, 0x32, 0x2b, 0xee, 0x61,
- 0xee, 0xd7, 0xca, 0x1b,
- 0x33, 0x2a, 0x51, 0x43, 0x55, 0x52, 0xc3, 0x4f, 0xf5, 0x6e, 0x84, 0x51,
- 0x84, 0x99, 0x62, 0xab,
- 0x6b, 0xea, 0x50, 0xf5, 0xbd, 0x6d, 0xa6, 0x01, 0x8a, 0xcf, 0xbe, 0x50,
- 0xbe, 0xd2, 0x3b, 0x13,
- 0xcc, 0xa8, 0x87, 0xcf, 0x97, 0x8b, 0x8a, 0xff, 0x52, 0x7b, 0x55, 0x87,
- 0x55, 0x21, 0x4b, 0xe9,
- 0x90, 0xac, 0x55, 0xde, 0x73, 0xae, 0x94, 0xb4, 0xca, 0xaf, 0x6c, 0x55,
- 0x6c, 0x76, 0xc5, 0x0e,
- 0xd0, 0xb1, 0xfb, 0x3c, 0xb3, 0xcd, 0x28, 0xe4, 0xa2, 0xf3, 0x5c, 0xfb,
- 0x5c, 0x75, 0x2b, 0xb7,
- 0xac, 0x5a, 0x7e, 0x5c, 0x37, 0x38, 0x68, 0x87, 0x0e, 0x09, 0x7d, 0x7e,
- 0x7d, 0xc2, 0xd2, 0xed,
- 0xbf, 0x9f, 0x78, 0x6e, 0x02, 0xba, 0xf5, 0xe0, 0xcf, 0x49, 0xe1, 0x78,
- 0xe1, 0xbb, 0xc7, 0xfb,
- 0xda, 0x98, 0x16, 0x03, 0xad, 0xf4, 0x02, 0x0d, 0x3d, 0xc2, 0xba, 0x16,
- 0xba, 0x43, 0xcc, 0xc7,
- 0xa7, 0x42, 0xd7, 0x3a, 0x2a, 0xe6, 0x2c, 0xfe, 0xd8, 0xb4, 0xeb, 0xd7,
- 0xeb, 0xf3, 0x70, 0xfa,
- 0x5e, 0x66, 0x5a, 0xa3, 0xe2, 0x28, 0xc2, 0xa8, 0x0a, 0x0f, 0xd9, 0x5a,
- 0xd9, 0x59, 0x04, 0x29,
- 0x98, 0xe7, 0x30, 0x53, 0x6b, 0x9a, 0x62, 0xbe, 0xc7, 0x45, 0x6a, 0x30,
- 0x6a, 0x4e, 0xa8, 0xb0,
- 0x7a, 0x4d, 0xde, 0x75, 0x8e, 0xe2, 0xe7, 0x85, 0xd9, 0x54, 0xc2, 0xde,
- 0xc2, 0xa5, 0xa4, 0xcb,
- 0x13, 0xc5, 0x06, 0x32, 0x35, 0x82, 0x9d, 0x67, 0xc1, 0x40, 0x9c, 0x06,
- 0x9c, 0x79, 0x15, 0x16,
- 0x6a, 0xdb, 0x14, 0xac, 0xbe, 0x8a, 0xc8, 0x91, 0xc3, 0x43, 0xce, 0x14,
- 0xce, 0xd5, 0x7e, 0x74,
- 0x40, 0x1d, 0xae, 0xe2, 0xc0, 0x63, 0xbc, 0x50, 0x68, 0x5c, 0x30, 0xae,
- 0x30, 0x03, 0xee, 0xb9,
- 0xa8, 0x9e, 0xad, 0xfb, 0x3b, 0x22, 0x13, 0x82, 0xe9, 0x7c, 0x7e, 0xad,
- 0x7e, 0xde, 0x05, 0xb2,
- 0x5b, 0x93, 0xcd, 0x5d, 0xed, 0xd5, 0xd7, 0x3d, 0xa4, 0xf6, 0xaa, 0xcd,
- 0xaa, 0x42, 0x96, 0x11,
- 0xeb, 0xd0, 0xcf, 0xf2, 0xfe, 0xab, 0x1d, 0xa1, 0x5a, 0x77, 0xde, 0xcf,
- 0xde, 0xd4, 0x24, 0xa2,
- 0x66, 0x54, 0xa2, 0x86, 0xaa, 0xa4, 0x45, 0x9e, 0x29, 0xdc, 0xcb, 0xa2,
- 0xcb, 0xf1, 0xc4, 0x95,
- 0x56, 0x2d, 0x3f, 0x2e, 0xfa, 0x1c, 0x34, 0xa2, 0x07, 0xe5, 0xdf, 0x3f,
- 0xdf, 0x61, 0x69, 0x97,
- 0x81, 0x0b, 0xdb, 0x5e, 0x40, 0x21, 0xd5, 0x30, 0x99, 0x34, 0x10, 0xdb,
- 0x10, 0x01, 0x5a, 0xd6,
- 0x77, 0xf3, 0x2c, 0x06, 0x99, 0x2b, 0x04, 0x1a, 0x7a, 0x47, 0xb7, 0x2c,
- 0xb7, 0x86, 0x5b, 0x4d,
- 0x57, 0x1c, 0x7b, 0x77, 0xf9, 0xfb, 0x5a, 0x32, 0x4e, 0x69, 0xaf, 0x7b,
- 0xaf, 0x66, 0x2c, 0xf0,
- 0x4e, 0xf0, 0x90, 0x7a, 0xd2, 0x40, 0xed, 0xbc, 0x10, 0x18, 0xd5, 0x90,
- 0xd5, 0x29, 0xde, 0x96,
- 0x8d, 0x84, 0x6d, 0x74, 0x54, 0x0f, 0x58, 0x3f, 0x73, 0xab, 0x15, 0x6d,
- 0x15, 0x25, 0xe0, 0x37,
- 0xb0, 0x43, 0x02, 0xaf, 0x13, 0x7e, 0xca, 0x9c, 0xfe, 0x81, 0x74, 0x02,
- 0x74, 0x96, 0xb2, 0xb3,
- 0xf3, 0x0d, 0x60, 0xa6, 0xd6, 0xf7, 0xc4, 0xbf, 0x4d, 0x8a, 0xd4, 0x60,
- 0xd4, 0x9c, 0x93, 0xa3,
- 0x94, 0x68, 0x86, 0x79, 0x7f, 0xb4, 0xef, 0xb1, 0x2d, 0xda, 0x6f, 0x86,
- 0x6f, 0x6a, 0x12, 0x51,
- 0x20, 0xef, 0x57, 0x71, 0x60, 0xd0, 0x5e, 0x28, 0x34, 0x2e, 0x18, 0x57,
- 0x18, 0xe0, 0x77, 0xbd,
- 0x24, 0x2b, 0x84, 0xd6, 0x6c, 0xca, 0x25, 0x2d, 0xd3, 0x5b, 0x1b, 0x84,
- 0x1b, 0xfc, 0xa0, 0xe2,
- 0xd7, 0x26, 0xe4, 0x70, 0xba, 0x3d, 0xe1, 0x92, 0x9e, 0xd1, 0xcf, 0xe4,
- 0xcf, 0x60, 0x33, 0x41,
- 0x14, 0x52, 0x19, 0x7e, 0x3c, 0x72, 0x54, 0x11, 0xfd, 0x62, 0x0f, 0x19,
- 0x0f, 0x6c, 0x0d, 0xe0,
- 0x9e, 0x41, 0x6b, 0x46, 0x61, 0x8d, 0xc5, 0x58, 0xb2, 0xeb, 0x89, 0x6b,
- 0x89, 0x5c, 0xf5, 0x21,
- 0x05, 0xf5, 0x97, 0xfe, 0x0f, 0xfd, 0x15, 0x95, 0xae, 0xf9, 0x73, 0x97,
- 0x73, 0x1b, 0x92, 0x38,
- 0xc6, 0x81, 0x6a, 0xf0, 0x89, 0xb2, 0xa0, 0x16, 0xcd, 0x4a, 0xb3, 0x6a,
- 0xb3, 0x17, 0xac, 0x99,
- 0xed, 0x76, 0x94, 0xe7, 0xf4, 0xbc, 0xba, 0x47, 0x2f, 0xd9, 0x3d, 0x94,
- 0x3d, 0xc6, 0x79, 0x33,
- 0xc8, 0x6c, 0x54, 0x68, 0x9b, 0x91, 0xf1, 0xfa, 0xb5, 0x0e, 0x56, 0x54,
- 0x56, 0x3d, 0x9c, 0xb6,
- 0x9b, 0xb4, 0xfc, 0xb8, 0x6e, 0x70, 0xd0, 0xcd, 0x1c, 0x12, 0xfa, 0xfc,
- 0xfa, 0x47, 0x67, 0x19,
- 0xbd, 0xfd, 0xf0, 0xdc, 0x04, 0xb7, 0x29, 0x03, 0x5d, 0x92, 0x01, 0xf0,
- 0x01, 0xb5, 0x4d, 0x35,
- 0x84, 0xfe, 0x4c, 0xa0, 0x4f, 0xdc, 0xc0, 0xa5, 0x37, 0xcd, 0x63, 0x4c,
- 0x63, 0x1a, 0xc8, 0xee,
- 0xc3, 0x74, 0xfd, 0x0e, 0x86, 0x4f, 0xb5, 0x83, 0x63, 0xb3, 0xc0, 0xfd,
- 0xc0, 0x0c, 0x3e, 0xa1,
- 0xca, 0x0e, 0xdc, 0xda, 0x9d, 0x9c, 0x2d, 0x19, 0x27, 0xd5, 0xb6, 0xdc,
- 0xb6, 0x33, 0x16, 0x78,
- 0x8a, 0x13, 0x72, 0x38, 0x5d, 0xff, 0x91, 0x49, 0x4f, 0x89, 0x86, 0x72,
- 0x86, 0x30, 0xf8, 0xc1,
- 0x34, 0xbd, 0x4e, 0x0f, 0x5c, 0xa2, 0x0a, 0x39, 0xc9, 0x4c, 0x17, 0x4e,
- 0x17, 0x8c, 0x7a, 0x5d,
- 0x26, 0x49, 0x0c, 0x64, 0x6a, 0xc7, 0xf9, 0xce, 0x41, 0x80, 0xfb, 0x0c,
- 0xfb, 0xf2, 0x2a, 0x2c,
- 0x10, 0x96, 0xca, 0xd9, 0x30, 0x68, 0x2f, 0x14, 0x1a, 0x17, 0x0c, 0xca,
- 0x0c, 0x70, 0xda, 0xbf,
- 0x25, 0x1a, 0xc0, 0x8f, 0x6f, 0x2d, 0x4b, 0xbd, 0x9a, 0xd7, 0x6b, 0xc0,
- 0x6b, 0xfb, 0xe5, 0x85,
- 0xe3, 0x9b, 0xaa, 0x7f, 0xe6, 0x9f, 0xeb, 0xab, 0x57, 0x9d, 0xd8, 0xaa,
- 0xd8, 0xec, 0x49, 0x1c,
- 0x63, 0xa1, 0x35, 0x78, 0xa5, 0x59, 0x50, 0x0b, 0x87, 0x25, 0xb8, 0x35,
- 0xb8, 0xea, 0x56, 0xad,
- 0x0a, 0x29, 0xed, 0x3f, 0x1e, 0x39, 0x2a, 0xe9, 0x9f, 0x31, 0xe6, 0xed,
- 0xe6, 0x36, 0xe7, 0x70,
- 0x4f, 0xc1, 0xd4, 0x23, 0xd1, 0xa7, 0x83, 0x2c, 0x59, 0x94, 0xa5, 0xd4,
- 0xa5, 0x2e, 0x9b, 0xf1,
- 0x8b, 0x22, 0x36, 0x61, 0x5e, 0x18, 0xff, 0xd9, 0x06, 0x05, 0xf6, 0x36,
- 0xf6, 0x37, 0xbd, 0xa6,
- 0xc7, 0xb0, 0x2e, 0xa9, 0x8a, 0x55, 0xce, 0x86, 0x84, 0xc6, 0xc3, 0x2e,
- 0xc3, 0x10, 0xe9, 0xfe,
- 0x67, 0x65, 0xe6, 0xdf, 0xa9, 0x43, 0x2b, 0x0e, 0x60, 0x50, 0xbb, 0xe6,
- 0xbb, 0xf6, 0x81, 0xf2,
- 0x2d, 0x51, 0xa5, 0x02, 0x77, 0x19, 0xbd, 0xb7, 0x97, 0x3d, 0x6d, 0xa5,
- 0x6d, 0xc3, 0x88, 0x3b,
- 0xfe, 0xb3, 0x92, 0xd5, 0xc1, 0x3e, 0x27, 0x20, 0xee, 0x99, 0xa1, 0x92,
- 0xa1, 0xbf, 0x6c, 0x25,
- 0x45, 0xe8, 0x39, 0x1c, 0xcf, 0x9e, 0xa9, 0xc5, 0xc6, 0xa5, 0x43, 0x39,
- 0x43, 0x18, 0x7c, 0x81,
- 0xa0, 0xd5, 0xc8, 0x76, 0x23, 0x16, 0xe5, 0x88, 0xe4, 0x96, 0x78, 0xc8,
- 0x78, 0xe6, 0x68, 0x0c,
- 0x80, 0x3a, 0x9f, 0x07, 0x43, 0xc6, 0xbb, 0xa0, 0xd0, 0xb8, 0x60, 0x9f,
- 0x60, 0x06, 0x1f, 0xb1,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x4a, 0x34, 0x43, 0xdd, 0xde, 0x5a, 0x96, 0xb9, 0xf7, 0x6d, 0xd6, 0x43,
- 0xd6, 0x35, 0x09, 0xc9,
- 0xee, 0x25, 0x58, 0x0c, 0xf1, 0x56, 0x08, 0x34, 0xf4, 0x8e, 0xad, 0x58,
- 0xad, 0xcf, 0xb6, 0x9a,
- 0x4c, 0x92, 0x18, 0xc8, 0xd4, 0x4d, 0x31, 0x5f, 0x82, 0xc3, 0x35, 0x18,
- 0x35, 0x27, 0x54, 0x58,
- },
- { /* 13 */
- 0xab, 0xda, 0x7f, 0x93, 0x75, 0x63, 0x3b, 0x22, 0xb7, 0x40, 0xa6, 0x84,
- 0xc2, 0x22, 0x09, 0xda,
- 0xbb, 0xd9, 0xf4, 0xa6, 0xc1, 0x1b, 0xf5, 0xe1, 0x54, 0xa2, 0xc5, 0x24,
- 0x95, 0xe1, 0xdd, 0xd9,
- 0x83, 0x3c, 0x0e, 0x02, 0x84, 0xaf, 0x03, 0xe7, 0x22, 0x36, 0xb0, 0x57,
- 0xa6, 0xe7, 0x08, 0x3c,
- 0x0d, 0x8c, 0x03, 0x40, 0xed, 0xc4, 0x60, 0xd0, 0xca, 0x0f, 0xa2, 0x72,
- 0x27, 0xd0, 0xc3, 0x8c,
- 0x3a, 0xdd, 0xd3, 0xea, 0xb2, 0xbb, 0x9f, 0x26, 0x52, 0x19, 0x41, 0x67,
- 0xe0, 0x26, 0x2e, 0xdd,
- 0x4a, 0xd4, 0xe4, 0x61, 0x38, 0x10, 0xb0, 0x2a, 0xbe, 0xf2, 0xab, 0x81,
- 0x86, 0x2a, 0x47, 0xd4,
- 0xe8, 0xf2, 0xca, 0x2e, 0x8d, 0xa9, 0x39, 0x98, 0x8b, 0x64, 0xc7, 0x5f,
- 0x06, 0x98, 0xb8, 0xf2,
- 0xeb, 0xd6, 0x16, 0x47, 0xe0, 0x40, 0x85, 0xa8, 0xbd, 0x4e, 0xe9, 0x41,
- 0x5d, 0xa8, 0xdf, 0xd6,
- 0x8f, 0xac, 0xf8, 0x65, 0xf3, 0x8d, 0xb6, 0x27, 0xfa, 0x9e, 0x08, 0x2f,
- 0x09, 0x27, 0x57, 0xac,
- 0xbe, 0xb5, 0x53, 0x1d, 0x76, 0xe3, 0xf2, 0xb1, 0x0e, 0xdc, 0xb7, 0x06,
- 0x78, 0xb1, 0x74, 0xb5,
- 0x0f, 0xb4, 0x2a, 0x0e, 0x1a, 0xcb, 0x09, 0xf0, 0xee, 0x82, 0x96, 0x66,
- 0xf4, 0xf0, 0x38, 0xb4,
- 0x6d, 0x86, 0xbf, 0xfe, 0xd3, 0x17, 0x81, 0x1f, 0xc5, 0x06, 0x2b, 0x34,
- 0x16, 0x1f, 0x7e, 0x86,
- 0x0a, 0xd8, 0x8d, 0xb5, 0xad, 0x33, 0x0e, 0xa0, 0xb4, 0xfc, 0xe4, 0x44,
- 0x19, 0xa0, 0x91, 0xd8,
- 0x29, 0xfa, 0x84, 0xb6, 0x6b, 0x2a, 0xed, 0xd5, 0x87, 0xd1, 0x0c, 0xd9,
- 0xec, 0xd5, 0x9d, 0xfa,
- 0x17, 0x57, 0x05, 0xc0, 0xf4, 0x8f, 0xa0, 0xb3, 0x9d, 0x11, 0x25, 0x96,
- 0x69, 0xb3, 0x86, 0x57,
- 0xb0, 0x1d, 0x8c, 0x34, 0xf6, 0xce, 0x2e, 0x51, 0xf2, 0xf9, 0x3b, 0x6a,
- 0x04, 0x51, 0xd0, 0x1d,
- 0xc5, 0x78, 0x1c, 0x04, 0xcb, 0x9d, 0x06, 0x0d, 0x44, 0x6c, 0xa3, 0xae,
- 0x8f, 0x0d, 0x10, 0x78,
- 0x4c, 0x9c, 0x9f, 0xb3, 0xe2, 0x01, 0x0b, 0x4a, 0xd2, 0xa6, 0xf7, 0xbd,
- 0x30, 0x4a, 0x89, 0x9c,
- 0xc3, 0x30, 0x67, 0xd6, 0x11, 0x8c, 0xbd, 0x6d, 0x28, 0x38, 0xff, 0x92,
- 0x39, 0x6d, 0xde, 0x30,
- 0xb5, 0x71, 0x2b, 0x8f, 0x41, 0x36, 0x29, 0x01, 0xa8, 0x87, 0x49, 0x48,
- 0xe9, 0x01, 0x79, 0x71,
- 0x74, 0x79, 0x65, 0x17, 0xa7, 0xb5, 0xfd, 0x4c, 0xa4, 0x32, 0x82, 0xce,
- 0x03, 0x4c, 0x5c, 0x79,
- 0x94, 0x6b, 0x0b, 0xc2, 0x70, 0x20, 0xa3, 0x54, 0xbf, 0x27, 0x95, 0xc1,
- 0xcf, 0x54, 0x8e, 0x6b,
- 0x1d, 0x8f, 0x88, 0x75, 0x59, 0xbc, 0xae, 0x13, 0x29, 0xed, 0xc1, 0xd2,
- 0x70, 0x13, 0x17, 0x8f,
- 0x25, 0x6a, 0x72, 0xd1, 0x1c, 0x08, 0x58, 0x15, 0x5f, 0x79, 0xb4, 0xa1,
- 0x43, 0x15, 0xc2, 0x6a,
- 0x48, 0xec, 0xcd, 0x2f, 0xcf, 0x1f, 0xd9, 0x0a, 0x9a, 0x7f, 0x9f, 0x95,
- 0x55, 0x0a, 0xbc, 0xec,
- 0xda, 0xcf, 0xbd, 0x3f, 0x65, 0x2e, 0xc1, 0x3e, 0x49, 0x0c, 0x56, 0x68,
- 0x2c, 0x3e, 0xfc, 0xcf,
- 0xdd, 0x9b, 0x33, 0xca, 0x25, 0xd9, 0xaf, 0x4e, 0x37, 0xff, 0x10, 0x5e,
- 0x12, 0x4e, 0xae, 0x9b,
- 0xe9, 0xee, 0x3f, 0x09, 0x17, 0x4f, 0xec, 0x88, 0x99, 0xc3, 0xdd, 0x55,
- 0x8e, 0x88, 0x24, 0xee,
- 0xea, 0xca, 0xe3, 0x60, 0x7a, 0xa6, 0x50, 0xb8, 0xaf, 0xe9, 0xf3, 0x4b,
- 0xd5, 0xb8, 0x43, 0xca,
- 0x73, 0x2d, 0xeb, 0xe2, 0xe7, 0x42, 0x93, 0x3c, 0xda, 0xc1, 0xc4, 0xf8,
- 0x3d, 0x3c, 0x0e, 0x2d,
- 0x2e, 0xae, 0x0a, 0x43, 0x2b, 0xdd, 0x83, 0xa5, 0xf9, 0x22, 0x4a, 0xef,
- 0xd2, 0xa5, 0xcf, 0xae,
- 0xf5, 0x7d, 0x42, 0x5b, 0xd4, 0x15, 0x97, 0x8b, 0xa2, 0x89, 0x06, 0x8d,
- 0x76, 0x8b, 0xaf, 0x7d,
- 0x26, 0x4e, 0xae, 0xb8, 0x71, 0xe1, 0xe4, 0x25, 0x69, 0x53, 0x9a, 0xbf,
- 0x18, 0x25, 0xa5, 0x4e,
- 0xd0, 0x17, 0x30, 0x8a, 0xc8, 0x1d, 0xcf, 0x9e, 0xfd, 0xf0, 0xb2, 0x2c,
- 0x35, 0x9e, 0x6d, 0x17,
- 0xc4, 0x64, 0xe9, 0x23, 0x51, 0x7b, 0xd3, 0x1d, 0x56, 0xcb, 0xb9, 0xa4,
- 0x07, 0x1d, 0x8c, 0x64,
- 0xf3, 0x35, 0x39, 0x89, 0x0e, 0x04, 0x2c, 0xeb, 0xce, 0xdd, 0x5a, 0xb1,
- 0xc0, 0xeb, 0x61, 0x35,
- 0x7b, 0xcd, 0x4f, 0x19, 0xbd, 0x7e, 0xf4, 0xbc, 0x4a, 0xb0, 0x14, 0xa8,
- 0xf7, 0xbc, 0x64, 0xcd,
- 0x4d, 0x80, 0x6a, 0x94, 0x78, 0xe7, 0xde, 0x5a, 0xc0, 0x01, 0xed, 0xb7,
- 0xb8, 0x5a, 0x15, 0x80,
- 0x45, 0x60, 0xce, 0x6f, 0x22, 0xdb, 0xb9, 0xda, 0x50, 0x70, 0x3d, 0xe7,
- 0x72, 0xda, 0x7f, 0x60,
- 0xa9, 0xe2, 0x56, 0xdd, 0x82, 0x6c, 0x52, 0x02, 0x93, 0xcd, 0x92, 0x90,
- 0x11, 0x02, 0xf2, 0xe2,
- 0x5e, 0xa7, 0x3d, 0xc8, 0xa1, 0x76, 0xac, 0xa9, 0x15, 0xc9, 0xa0, 0x09,
- 0xb4, 0xa9, 0xa6, 0xa7,
- 0xd8, 0xf7, 0x94, 0x71, 0x92, 0x21, 0xa8, 0x1e, 0x6d, 0x81, 0x62, 0x7c,
- 0xff, 0x1e, 0x07, 0xf7,
- 0x7e, 0xa1, 0xe8, 0xa2, 0x0a, 0x86, 0xf3, 0xec, 0x10, 0xce, 0x66, 0x8a,
- 0x1a, 0xec, 0xcd, 0xa1,
- 0xf2, 0x29, 0xcc, 0xae, 0x94, 0xe2, 0xf9, 0xfb, 0xdc, 0x7a, 0x40, 0xbb,
- 0x48, 0xfb, 0xfd, 0x29,
- 0x90, 0x1b, 0x59, 0x5e, 0x5d, 0x3e, 0x71, 0x14, 0xf7, 0xfe, 0xfd, 0xe9,
- 0xaa, 0x14, 0xbb, 0x1b,
- 0x77, 0x5d, 0xb9, 0x7e, 0xca, 0x5c, 0x41, 0x7c, 0x92, 0x18, 0xac, 0xd0,
- 0x58, 0x7c, 0x3b, 0x5d,
- 0x53, 0x2b, 0x3e, 0x88, 0x4c, 0xb2, 0xcc, 0x79, 0xdf, 0xc6, 0x02, 0x7b,
- 0x93, 0x79, 0x65, 0x2b,
- 0xe5, 0x7e, 0xc9, 0x6e, 0x60, 0x6d, 0x59, 0x48, 0x41, 0x6b, 0x65, 0x2d,
- 0x21, 0x48, 0x7b, 0x7e,
- 0x49, 0xf0, 0x38, 0x08, 0x55, 0xf9, 0x0c, 0x1a, 0x88, 0xd8, 0x85, 0x9f,
- 0xdd, 0x1a, 0x20, 0xf0,
- 0x98, 0xfb, 0xfd, 0xa5, 0x07, 0x02, 0x16, 0x94, 0x67, 0x8f, 0x2d, 0xb9,
- 0x60, 0x94, 0xd1, 0xfb,
- 0x13, 0x27, 0x57, 0x5c, 0xd9, 0x91, 0x72, 0xf3, 0xd5, 0xc8, 0x4d, 0xbe,
- 0x0c, 0xf3, 0xb3, 0x27,
- 0x43, 0x28, 0xb5, 0xbd, 0xf8, 0xca, 0x02, 0xba, 0x3c, 0x24, 0x61, 0xdb,
- 0xc4, 0xba, 0xb1, 0x28,
- 0xdc, 0x87, 0xc6, 0xed, 0xbf, 0x3f, 0x7a, 0x5e, 0x25, 0x58, 0x0a, 0x54,
- 0x9a, 0x5e, 0x32, 0x87,
- 0xc7, 0x40, 0x35, 0x4a, 0x3c, 0x92, 0x6f, 0x2d, 0x60, 0xe1, 0x97, 0xba,
- 0x5c, 0x2d, 0xeb, 0x40,
- 0xa0, 0x1e, 0x07, 0x01, 0x42, 0xb6, 0xe0, 0x92, 0x11, 0x1b, 0x58, 0xca,
- 0x53, 0x92, 0x04, 0x1e,
- 0xcc, 0x84, 0x4d, 0xd8, 0x0b, 0x47, 0xb4, 0x9d, 0xc6, 0xba, 0x69, 0xf4,
- 0xcd, 0x9d, 0xe6, 0x84,
- 0x14, 0x73, 0xd9, 0xa9, 0x99, 0x66, 0x1c, 0x83, 0xab, 0x3b, 0x0b, 0x88,
- 0x32, 0x83, 0xe1, 0x73,
- 0x52, 0x37, 0xcb, 0xaf, 0xd6, 0x54, 0x19, 0x69, 0xcd, 0x61, 0x18, 0x71,
- 0x1b, 0x69, 0xf9, 0x37,
- 0x2f, 0xb2, 0xff, 0x64, 0xb1, 0x3b, 0x56, 0xb5, 0xeb, 0x85, 0x50, 0xe5,
- 0x5a, 0xb5, 0x53, 0xb2,
- 0x47, 0x58, 0xe7, 0x21, 0xd5, 0xd4, 0xd0, 0xfa, 0x74, 0xfd, 0x09, 0xf3,
- 0xa1, 0xfa, 0x84, 0x58,
- 0xa6, 0x56, 0x7c, 0xd3, 0x98, 0xa7, 0x5b, 0xf2, 0x7d, 0x4f, 0x04, 0xf6,
- 0xe5, 0xf2, 0xca, 0x56,
- 0x5f, 0xbb, 0xc8, 0xef, 0x3b, 0x90, 0x79, 0xb9, 0x07, 0x6e, 0xba, 0x03,
- 0x3c, 0xb9, 0x3a, 0xbb,
- 0xe3, 0x36, 0xb2, 0xbc, 0xba, 0x7c, 0xe2, 0x28, 0x2d, 0x3f, 0x39, 0x11,
- 0x97, 0x28, 0xb5, 0x36,
- 0xb8, 0xfd, 0x28, 0xcf, 0xac, 0xf2, 0x49, 0xd1, 0x62, 0x88, 0xeb, 0x3a,
- 0xce, 0xd1, 0xba, 0xfd,
- 0xa7, 0x4a, 0x89, 0xf4, 0x02, 0x41, 0x8e, 0xe2, 0x6f, 0xe8, 0x1e, 0xfc,
- 0x6d, 0xe2, 0x56, 0x4a,
- 0xc0, 0x14, 0xbb, 0xbf, 0x7c, 0x65, 0x01, 0x5d, 0x1e, 0x12, 0xd1, 0x8c,
- 0x62, 0x5d, 0xb9, 0x14,
- 0x23, 0x22, 0x09, 0x03, 0xc6, 0x19, 0xe3, 0x75, 0x33, 0x2d, 0xe8, 0x9d,
- 0xf5, 0x75, 0x0c, 0x22,
- 0x2a, 0xde, 0x58, 0xdf, 0x06, 0xc3, 0x51, 0xe5, 0xb1, 0xfb, 0x22, 0xc7,
- 0xb7, 0xe5, 0xfa, 0xde,
- 0x62, 0x32, 0x95, 0xf0, 0xc9, 0xdc, 0x88, 0xef, 0x2b, 0x84, 0xbd, 0x52,
- 0xe2, 0xef, 0x46, 0x32,
- 0x7d, 0x85, 0x34, 0xcb, 0x67, 0x6f, 0x4f, 0xdc, 0x26, 0xe4, 0x48, 0x94,
- 0x41, 0xdc, 0xaa, 0x85,
- 0x31, 0x19, 0xab, 0x78, 0x85, 0x6e, 0x44, 0x96, 0xf4, 0x42, 0xbf, 0x29,
- 0x71, 0x96, 0x23, 0x19,
- 0x30, 0x05, 0x5e, 0x5f, 0x1f, 0x88, 0x91, 0x86, 0xe6, 0xe5, 0xa5, 0x23,
- 0xf9, 0x86, 0xbf, 0x05,
- 0xc1, 0x08, 0x4e, 0x98, 0xe6, 0x83, 0xd4, 0x4d, 0x0c, 0xb5, 0xcb, 0x86,
- 0xea, 0x4d, 0x25, 0x08,
- 0x20, 0x06, 0xd5, 0x6a, 0xab, 0xf0, 0x5f, 0x45, 0x05, 0x07, 0xc6, 0x83,
- 0xae, 0x45, 0x6b, 0x06,
- 0x8a, 0xc0, 0x5f, 0xde, 0x44, 0x75, 0xb1, 0x77, 0xa0, 0xe0, 0x7a, 0x0d,
- 0xe4, 0x77, 0xfe, 0xc0,
- 0xd7, 0x43, 0xbe, 0x7f, 0x88, 0xea, 0xa1, 0xee, 0x83, 0x03, 0xf4, 0x1a,
- 0x0b, 0xee, 0x3f, 0x43,
- 0x3d, 0x89, 0x5d, 0x1f, 0xf2, 0x4c, 0xf1, 0x56, 0x2c, 0xea, 0x07, 0x51,
- 0xde, 0x56, 0x7c, 0x89,
- 0xbf, 0xa9, 0xa6, 0x3a, 0xec, 0x05, 0x27, 0xa1, 0x1c, 0x7b, 0xad, 0x0c,
- 0xf0, 0xa1, 0xe8, 0xa9,
- 0xc6, 0x5c, 0xc0, 0x6d, 0xa6, 0x74, 0xba, 0x3d, 0x72, 0x46, 0x8d, 0xb0,
- 0xd4, 0x3d, 0x77, 0x5c,
- 0x72, 0x31, 0x1e, 0xc5, 0x7d, 0xa4, 0x46, 0x2c, 0xc8, 0x66, 0xde, 0xf2,
- 0xb5, 0x2c, 0x92, 0x31,
- 0xdb, 0xd3, 0x48, 0x18, 0xff, 0xc8, 0x14, 0x2e, 0x5b, 0xab, 0x4c, 0x62,
- 0xa4, 0x2e, 0x60, 0xd3,
- 0x15, 0x6f, 0x2c, 0x8e, 0x03, 0x80, 0xc9, 0x93, 0xb9, 0x9c, 0x11, 0x82,
- 0xba, 0x93, 0x7d, 0x6f,
- 0x99, 0xe7, 0x08, 0x82, 0x9d, 0xe4, 0xc3, 0x84, 0x75, 0x28, 0x37, 0xb3,
- 0xe8, 0x84, 0x4d, 0xe7,
- 0x4b, 0xc8, 0x11, 0x46, 0xa2, 0xf6, 0x65, 0x3a, 0xac, 0x55, 0xb1, 0x8b,
- 0x0e, 0x3a, 0xdb, 0xc8,
- 0x34, 0x75, 0x0c, 0xc3, 0x32, 0x96, 0x43, 0xc6, 0xae, 0x3c, 0xcd, 0x0b,
- 0x9c, 0xc6, 0x8a, 0x75,
- 0x60, 0x0a, 0xbc, 0xbe, 0x3e, 0xd3, 0xe1, 0xcf, 0x0f, 0x09, 0x89, 0x46,
- 0x31, 0xcf, 0xbd, 0x0a,
- 0x92, 0x23, 0x70, 0x10, 0xaa, 0x31, 0x18, 0x34, 0xd3, 0x73, 0xc9, 0xfd,
- 0x79, 0x34, 0x40, 0x23,
- 0xac, 0x8e, 0xf1, 0x66, 0x35, 0x94, 0x55, 0x52, 0xc9, 0xb3, 0xe0, 0xb2,
- 0xfc, 0x52, 0x5b, 0x8e,
- 0x6e, 0xa2, 0x63, 0x97, 0xbe, 0xfe, 0x3d, 0x2f, 0xf3, 0x2c, 0x05, 0x2a,
- 0x4d, 0x2f, 0x19, 0xa2,
- 0xa1, 0x02, 0xf2, 0x26, 0xd8, 0x50, 0x35, 0x82, 0x03, 0xbc, 0x42, 0xc0,
- 0xdb, 0x82, 0x98, 0x02,
- 0x81, 0x04, 0x27, 0x4c, 0x73, 0xa0, 0x6a, 0xc7, 0x06, 0xbb, 0x84, 0x43,
- 0x75, 0xc7, 0xf3, 0x04,
- 0x3b, 0xc1, 0x26, 0xcd, 0x28, 0x5d, 0x4a, 0x36, 0x40, 0xbe, 0x5b, 0x6d,
- 0x68, 0x36, 0xb2, 0xc1,
- 0x19, 0xff, 0xda, 0xe9, 0x74, 0xa2, 0x7c, 0x53, 0x61, 0x34, 0xa9, 0xfa,
- 0x15, 0x53, 0x22, 0xff,
- 0xe4, 0x62, 0x3c, 0x49, 0xfa, 0x8b, 0x8c, 0x58, 0x53, 0xcc, 0x7f, 0x27,
- 0xa9, 0x58, 0xe7, 0x62,
- 0x2c, 0x96, 0x23, 0x0d, 0xdc, 0xd2, 0xea, 0x85, 0xdd, 0xaf, 0x7e, 0xfb,
- 0x01, 0x85, 0x34, 0x96,
- 0xbd, 0x91, 0x8f, 0x74, 0x1b, 0x0a, 0x4e, 0x81, 0x38, 0xf6, 0x99, 0x18,
- 0x23, 0x81, 0x13, 0x91,
- 0xb6, 0x55, 0xf7, 0xe6, 0x2c, 0xdf, 0x95, 0x31, 0x9e, 0xad, 0x67, 0x56,
- 0xb2, 0x31, 0x1e, 0x55,
- 0xd3, 0x33, 0xec, 0xe3, 0xa5, 0xf4, 0x73, 0xae, 0xcb, 0xda, 0x9c, 0x32,
- 0x6e, 0xae, 0x0a, 0x33,
- 0xe7, 0x46, 0xe0, 0x20, 0x97, 0x62, 0x30, 0x68, 0x65, 0xe6, 0x51, 0x39,
- 0xf2, 0x68, 0x80, 0x46,
- 0x9b, 0xdf, 0x21, 0xcc, 0x6a, 0xeb, 0xaa, 0xa4, 0x51, 0xa5, 0x03, 0xa7,
- 0x3b, 0xa4, 0xb6, 0xdf,
- 0x8c, 0x88, 0x24, 0x0c, 0x9e, 0x64, 0x0a, 0x17, 0xcc, 0xb4, 0x26, 0x31,
- 0x52, 0x17, 0x30, 0x88,
- 0x04, 0x70, 0x52, 0x9c, 0x2d, 0x1e, 0xd2, 0x40, 0x48, 0xd9, 0x68, 0x28,
- 0x65, 0x40, 0x35, 0x70,
- 0x86, 0x50, 0xa9, 0xb9, 0x33, 0x57, 0x04, 0xb7, 0x78, 0x48, 0xc2, 0x75,
- 0x4b, 0xb7, 0xa1, 0x50,
- 0xef, 0xa6, 0x44, 0xdb, 0xcd, 0x5e, 0x57, 0xe8, 0xf5, 0x97, 0x81, 0x69,
- 0x38, 0xe8, 0xea, 0xa6,
- 0x32, 0x3d, 0x77, 0x11, 0xe8, 0x87, 0xf8, 0xa6, 0xc2, 0x68, 0x91, 0x37,
- 0x2a, 0xa6, 0x44, 0x3d,
- 0x0b, 0xc4, 0x78, 0x92, 0x37, 0xd5, 0xdb, 0xb0, 0xa6, 0x5b, 0xfe, 0x4e,
- 0x91, 0xb0, 0x0d, 0xc4,
- 0x9e, 0xb3, 0x86, 0x77, 0xdd, 0x13, 0xad, 0xf4, 0x0b, 0xdb, 0x71, 0x85,
- 0xd6, 0xf4, 0x1f, 0xb3,
- 0x80, 0x18, 0xd2, 0x6b, 0xe9, 0x46, 0xbf, 0xd7, 0x14, 0x1c, 0x9e, 0x49,
- 0xfd, 0xd7, 0x6f, 0x18,
- 0x1c, 0x93, 0x7d, 0x52, 0xc3, 0x5a, 0x7b, 0x03, 0x3b, 0x4a, 0xdb, 0xd8,
- 0xf8, 0x03, 0x8b, 0x93,
- 0xb1, 0x01, 0x79, 0x13, 0x6c, 0x28, 0xfb, 0x41, 0xe0, 0x5e, 0x21, 0x60,
- 0x8c, 0x41, 0x4c, 0x01,
- 0xd4, 0x67, 0x62, 0x16, 0xe5, 0x03, 0x1d, 0xde, 0xb5, 0x29, 0xda, 0x04,
- 0x50, 0xde, 0x58, 0x67,
- 0x7a, 0xd1, 0xba, 0x3e, 0x27, 0x98, 0x21, 0xac, 0x58, 0x17, 0x0e, 0xa2,
- 0x7f, 0xac, 0xf8, 0xd1,
- 0x5b, 0xcb, 0x9a, 0x73, 0x16, 0x8e, 0xab, 0xf9, 0x4f, 0xb7, 0xd2, 0x2b,
- 0x59, 0xf9, 0x0f, 0xcb,
- 0xa3, 0x3a, 0xdb, 0x68, 0x2f, 0x5f, 0x5c, 0xa2, 0x27, 0x31, 0x76, 0xd4,
- 0x08, 0xa2, 0x63, 0x3a,
- 0xf9, 0xed, 0xb4, 0x3c, 0xa3, 0x37, 0x22, 0x4b, 0x7a, 0x21, 0xbe, 0xf5,
- 0xd9, 0x4b, 0xf0, 0xed,
- 0x33, 0x21, 0x82, 0x36, 0x72, 0x61, 0x2d, 0xb6, 0xd0, 0xcf, 0x8b, 0x3d,
- 0xa2, 0xb6, 0xd8, 0x21,
- 0x68, 0xea, 0x18, 0x45, 0x64, 0xef, 0x86, 0x4f, 0x9f, 0x78, 0x59, 0x16,
- 0xfb, 0x4f, 0xd7, 0xea,
- 0x96, 0x53, 0x22, 0x8c, 0x87, 0x2f, 0xca, 0x74, 0x9b, 0xaa, 0xa1, 0xd5,
- 0x1c, 0x74, 0x75, 0x53,
- 0x46, 0x44, 0x12, 0x06, 0x4f, 0x32, 0x05, 0xea, 0x66, 0x5a, 0x13, 0xf9,
- 0x29, 0xea, 0x18, 0x44,
- 0x02, 0x38, 0x29, 0x4e, 0xf7, 0x0f, 0x69, 0x20, 0x24, 0x8d, 0x34, 0x14,
- 0xd3, 0x20, 0xfb, 0x38,
- 0xff, 0xa5, 0xcf, 0xee, 0x79, 0x26, 0x99, 0x2b, 0x16, 0x75, 0xe2, 0xc9,
- 0x6f, 0x2b, 0x3e, 0xa5,
- 0x95, 0x77, 0xfe, 0xe5, 0xea, 0xc6, 0x76, 0x44, 0xad, 0x80, 0x8f, 0xcb,
- 0x47, 0x44, 0x12, 0x77,
- 0x64, 0x7a, 0xee, 0x22, 0x13, 0xcd, 0x33, 0x8f, 0x47, 0xd0, 0xe1, 0x6e,
- 0x54, 0x8f, 0x88, 0x7a,
- 0x40, 0x0c, 0x69, 0xd4, 0x95, 0x23, 0xbe, 0x8a, 0x0a, 0x0e, 0x4f, 0xc5,
- 0x9f, 0x8a, 0xd6, 0x0c,
- 0x41, 0x10, 0x9c, 0xf3, 0x0f, 0xc5, 0x6b, 0x9a, 0x18, 0xa9, 0x55, 0xcf,
- 0x17, 0x9a, 0x4a, 0x10,
- 0x16, 0x4b, 0xf0, 0xe7, 0x6e, 0x69, 0x75, 0xa3, 0x8f, 0xb6, 0x3f, 0x9c,
- 0xe1, 0xa3, 0x1a, 0x4b,
- 0x0e, 0xa8, 0xdf, 0x29, 0x80, 0x2d, 0xdc, 0xe0, 0xfc, 0x25, 0x8c, 0x6c,
- 0x7c, 0xe0, 0xa4, 0xa8,
- 0xb9, 0xe1, 0xdd, 0xe8, 0x36, 0x14, 0x9c, 0xc1, 0x70, 0x2f, 0xf1, 0x30,
- 0x46, 0xc1, 0x26, 0xe1,
- 0xfd, 0x9d, 0xe6, 0xa0, 0x8e, 0x29, 0xf0, 0x0b, 0x32, 0xf8, 0xd6, 0xdd,
- 0xbc, 0x0b, 0xc5, 0x9d,
- 0x6f, 0xbe, 0x96, 0xb0, 0x24, 0x18, 0xe8, 0x3f, 0xe1, 0x8b, 0x1f, 0x20,
- 0xc5, 0x3f, 0x85, 0xbe,
- 0x91, 0x07, 0xac, 0x79, 0xc7, 0xd8, 0xa4, 0x04, 0xe5, 0x59, 0xe7, 0xe3,
- 0x22, 0x04, 0x27, 0x07,
- 0xa5, 0x72, 0xa0, 0xba, 0xf5, 0x4e, 0xe7, 0xc2, 0x4b, 0x65, 0x2a, 0xe8,
- 0xbe, 0xc2, 0xad, 0x72,
- 0xcf, 0xa0, 0x91, 0xb1, 0x66, 0xae, 0x08, 0xad, 0xf0, 0x90, 0x47, 0xea,
- 0x96, 0xad, 0x81, 0xa0,
- 0x56, 0x47, 0x99, 0x33, 0xfb, 0x4a, 0xcb, 0x29, 0x85, 0xb8, 0x70, 0x59,
- 0x7e, 0x29, 0xcc, 0x47,
- 0xba, 0xc5, 0x01, 0x81, 0x5b, 0xfd, 0x20, 0xf1, 0x46, 0x05, 0xdf, 0x2e,
- 0x1d, 0xf1, 0x41, 0xc5,
- 0x61, 0x16, 0x49, 0x99, 0xa4, 0x35, 0x34, 0xdf, 0x1d, 0xae, 0x93, 0x4c,
- 0xb9, 0xdf, 0x21, 0x16,
- 0x18, 0xe3, 0x2f, 0xce, 0xee, 0x44, 0xa9, 0x43, 0x73, 0x93, 0xb3, 0xf0,
- 0x9d, 0x43, 0xbe, 0xe3,
- 0x54, 0x7f, 0xb0, 0x7d, 0x0c, 0x45, 0xa2, 0x09, 0xa1, 0x35, 0x44, 0x4d,
- 0xad, 0x09, 0x37, 0x7f,
- 0x8b, 0xdc, 0xaa, 0xf9, 0xde, 0x93, 0x64, 0x67, 0xb2, 0x47, 0x60, 0x07,
- 0x6c, 0x67, 0x62, 0xdc,
- 0x3e, 0xad, 0x81, 0x76, 0x9f, 0xa5, 0x4d, 0x66, 0x1a, 0xc0, 0x29, 0x4f,
- 0x85, 0x66, 0x1b, 0xad,
- 0x5a, 0xd7, 0x6f, 0x54, 0x8c, 0x68, 0x7e, 0xe9, 0x5d, 0x10, 0xc8, 0x21,
- 0xd1, 0xe9, 0x93, 0xd7,
- 0xce, 0xbc, 0x64, 0x96, 0xfc, 0x48, 0xdd, 0xbd, 0xe2, 0x37, 0x5d, 0xe0,
- 0x1e, 0xbd, 0x1d, 0xbc,
- 0xf7, 0x45, 0x6b, 0x15, 0x23, 0x1a, 0xfe, 0xab, 0x86, 0x04, 0x32, 0x99,
- 0xa5, 0xab, 0x54, 0x45,
- 0xd2, 0x2f, 0x19, 0xc4, 0x3f, 0x12, 0xa6, 0xbe, 0xd9, 0x7d, 0x86, 0x38,
- 0xe6, 0xbe, 0x96, 0x2f,
- 0x82, 0x20, 0xfb, 0x25, 0x1e, 0x49, 0xd6, 0xf7, 0x30, 0x91, 0xaa, 0x5d,
- 0x2e, 0xf7, 0x94, 0x20,
- 0xb3, 0x39, 0x50, 0x5d, 0x9b, 0x27, 0x92, 0x61, 0xc4, 0xd3, 0x15, 0x74,
- 0x5f, 0x61, 0xb7, 0x39,
- 0xb4, 0x6d, 0xde, 0xa8, 0xdb, 0xd0, 0xfc, 0x11, 0xba, 0x20, 0x53, 0x42,
- 0x61, 0x11, 0xe5, 0x6d,
- 0xd6, 0x5f, 0x4b, 0x58, 0x12, 0x0c, 0x74, 0xfe, 0x91, 0xa4, 0xee, 0x10,
- 0x83, 0xfe, 0xa3, 0x5f,
- 0xe1, 0x0e, 0x9b, 0xf2, 0x4d, 0x73, 0x8b, 0x08, 0x09, 0xb2, 0x0d, 0x05,
- 0x44, 0x08, 0x4e, 0x0e,
- 0xc2, 0x2c, 0x92, 0xf1, 0x8b, 0x6a, 0x68, 0x7d, 0x3a, 0x9f, 0xe5, 0x98,
- 0xb1, 0x7d, 0x42, 0x2c,
- 0x5d, 0x83, 0xe1, 0xa1, 0xcc, 0x9f, 0x10, 0x99, 0x23, 0xe3, 0x8e, 0x17,
- 0xef, 0x99, 0xc1, 0x83,
- 0xfa, 0xc9, 0x68, 0x55, 0xce, 0xde, 0x9e, 0x7b, 0x4c, 0x0b, 0x90, 0xeb,
- 0x82, 0x7b, 0x97, 0xc9,
- 0xa4, 0x6e, 0x55, 0x9d, 0x6f, 0xa8, 0x32, 0xd2, 0x59, 0xc2, 0x30, 0xe2,
- 0x36, 0xd2, 0x31, 0x6e,
- 0x1f, 0xb7, 0xa1, 0x3b, 0xae, 0xb3, 0xc7, 0x33, 0x0d, 0x60, 0xf5, 0xc6,
- 0xa3, 0x33, 0xec, 0xb7,
- 0x0c, 0x90, 0xf6, 0x67, 0x77, 0x22, 0xb5, 0xc0, 0xd8, 0xa8, 0xb8, 0x78,
- 0xaf, 0xc0, 0x5f, 0x90,
- 0x01, 0x1c, 0xf5, 0x27, 0x9a, 0xe6, 0xd5, 0x10, 0x12, 0xa7, 0x1a, 0x0a,
- 0x88, 0x10, 0x9c, 0x1c,
- 0x2d, 0x8a, 0xd6, 0x2a, 0x46, 0x34, 0x3f, 0x95, 0xcf, 0x08, 0x64, 0xf1,
- 0x89, 0x95, 0xa8, 0x8a,
- 0x67, 0x5e, 0x32, 0x4b, 0x7e, 0x24, 0x8f, 0xbf, 0x71, 0xfa, 0xcf, 0x70,
- 0x0f, 0xbf, 0xef, 0x5e,
- 0xe2, 0x2a, 0x47, 0x9b, 0x20, 0x9a, 0x37, 0x38, 0x3f, 0x98, 0x23, 0x1b,
- 0x1f, 0x38, 0x29, 0x2a,
- 0x09, 0xfc, 0x51, 0xdc, 0xc0, 0xda, 0xb2, 0x90, 0x82, 0xd6, 0xca, 0x5a,
- 0x42, 0x90, 0xf6, 0xfc,
- 0x57, 0x5b, 0x6c, 0x14, 0x61, 0xac, 0x1e, 0x39, 0x97, 0x1f, 0x6a, 0x53,
- 0xf6, 0x39, 0x50, 0x5b,
- 0x11, 0x1f, 0x7e, 0x12, 0x2e, 0x9e, 0x1b, 0xd3, 0xf1, 0x45, 0x79, 0xaa,
- 0xdf, 0xd3, 0x48, 0x1f,
- 0xb7, 0x49, 0x02, 0xc1, 0xb6, 0x39, 0x40, 0x21, 0x8c, 0x0a, 0x7d, 0x5c,
- 0x3a, 0x21, 0x82, 0x49,
- 0xdf, 0xa3, 0x1a, 0x84, 0xd2, 0xd6, 0xc6, 0x6e, 0x13, 0x72, 0x24, 0x4a,
- 0xc1, 0x6e, 0x55, 0xa3,
- 0x6a, 0xd2, 0x31, 0x0b, 0x93, 0xe0, 0xef, 0x6f, 0xbb, 0xf5, 0x6d, 0x02,
- 0x28, 0x6f, 0x2c, 0xd2,
- 0x93, 0x3f, 0x85, 0x37, 0x30, 0xd7, 0xcd, 0x24, 0xc1, 0xd4, 0xd3, 0xf7,
- 0xf1, 0x24, 0xdc, 0x3f,
- 0x24, 0x76, 0x87, 0xf6, 0x86, 0xee, 0x8d, 0x05, 0x4d, 0xde, 0xae, 0xab,
- 0xcb, 0x05, 0x5e, 0x76,
- 0x7f, 0xbd, 0x1d, 0x85, 0x90, 0x60, 0x26, 0xfc, 0x02, 0x69, 0x7c, 0x80,
- 0x92, 0xfc, 0x51, 0xbd,
- 0x66, 0x42, 0xc7, 0x6c, 0xe4, 0xc2, 0x5a, 0xaf, 0x63, 0x5d, 0xd5, 0x7a,
- 0x87, 0xaf, 0x73, 0x42,
- 0xfe, 0xb9, 0x3a, 0xc9, 0xe3, 0xc0, 0x4c, 0x3b, 0x04, 0xd2, 0xf8, 0xc3,
- 0xe7, 0x3b, 0xa2, 0xb9,
- 0x07, 0x54, 0x8e, 0xf5, 0x40, 0xf7, 0x6e, 0x70, 0x7e, 0xf3, 0x46, 0x36,
- 0x3e, 0x70, 0x52, 0x54,
- 0x44, 0x7c, 0x3b, 0x48, 0xb8, 0x3d, 0x6c, 0xca, 0x42, 0xd7, 0x27, 0xed,
- 0xfa, 0xca, 0xe3, 0x7c,
- 0x3f, 0xb1, 0x74, 0x51, 0x05, 0x43, 0x98, 0x76, 0x08, 0x67, 0x33, 0x45,
- 0x0d, 0x76, 0x87, 0xb1,
- 0xf8, 0xf1, 0x41, 0x1b, 0x39, 0xd1, 0xf7, 0x5b, 0x68, 0x86, 0xa4, 0xff,
- 0x51, 0x5b, 0x6c, 0xf1,
- 0x06, 0x48, 0x7b, 0xd2, 0xda, 0x11, 0xbb, 0x60, 0x6c, 0x54, 0x5c, 0x3c,
- 0xb6, 0x60, 0xce, 0x48,
- 0xca, 0xcc, 0x36, 0x0a, 0xd1, 0x56, 0x0f, 0xfd, 0xaa, 0xee, 0x35, 0xc8,
- 0x7b, 0xfd, 0x28, 0xcc,
- 0xad, 0x92, 0x04, 0x41, 0xaf, 0x72, 0x80, 0x42, 0xdb, 0x14, 0xfa, 0xb8,
- 0x74, 0x42, 0xc7, 0x92,
- 0x2b, 0xc2, 0xad, 0xf8, 0x9c, 0x25, 0x84, 0xf5, 0xa3, 0x5c, 0x38, 0xcd,
- 0x3f, 0xf5, 0x66, 0xc2,
- 0xae, 0xb6, 0xd8, 0x28, 0xc2, 0x9b, 0x3c, 0x72, 0xed, 0x3e, 0xd4, 0xa6,
- 0x2f, 0x72, 0xa0, 0xb6,
- 0x22, 0x3e, 0xfc, 0x24, 0x5c, 0xff, 0x36, 0x65, 0x21, 0x8a, 0xf2, 0x97,
- 0x7d, 0x65, 0x90, 0x3e,
- 0x39, 0xf9, 0x0f, 0x83, 0xdf, 0x52, 0x23, 0x16, 0x64, 0x33, 0x6f, 0x79,
- 0xbb, 0x16, 0x49, 0xf9,
- 0xde, 0xbf, 0xef, 0xa3, 0x48, 0x30, 0x13, 0x7e, 0x01, 0xd5, 0x3e, 0x40,
- 0x49, 0x7e, 0xc9, 0xbf,
- 0x1e, 0xab, 0x54, 0x1c, 0x34, 0x55, 0x12, 0x23, 0x1f, 0xc7, 0xef, 0xcc,
- 0x2b, 0x23, 0x70, 0xab,
- 0xa8, 0xfe, 0xa3, 0xfa, 0x18, 0x8a, 0x87, 0x12, 0x81, 0x6a, 0x88, 0x9a,
- 0x99, 0x12, 0x6e, 0xfe,
- 0x58, 0xef, 0x46, 0x1a, 0x7b, 0x67, 0x17, 0xc9, 0x79, 0x9d, 0xfc, 0x35,
- 0x02, 0xc9, 0x68, 0xef,
- 0x88, 0xf8, 0x76, 0x90, 0xb3, 0x7a, 0xd8, 0x57, 0x84, 0x6d, 0x4e, 0x19,
- 0x37, 0x57, 0x05, 0xf8,
- 0x9a, 0xc3, 0xd4, 0xeb, 0xf0, 0x0d, 0x7f, 0xb4, 0x43, 0x02, 0x19, 0xad,
- 0xb3, 0xb4, 0x2a, 0xc3,
- 0x69, 0xf6, 0xed, 0x62, 0xfe, 0x09, 0x53, 0x5f, 0x8d, 0xdf, 0x43, 0x1c,
- 0x73, 0x5f, 0x4b, 0xf6,
- 0x28, 0xe6, 0x71, 0x91, 0xf1, 0xcc, 0x38, 0xc5, 0x95, 0x76, 0x16, 0xd3,
- 0x64, 0xc5, 0x01, 0xe6,
- 0x65, 0x66, 0x1b, 0x05, 0x89, 0x2b, 0xe6, 0x9f, 0x55, 0x77, 0xfb, 0x64,
- 0xdc, 0x9f, 0x14, 0x66,
- 0xd5, 0x7b, 0x97, 0x31, 0x7f, 0xe5, 0xc8, 0xce, 0xa7, 0x8e, 0xc0, 0x0e,
- 0xd8, 0xce, 0xc4, 0x7b,
- 0x7c, 0x99, 0xc1, 0xec, 0xfd, 0x89, 0x9a, 0xcc, 0x34, 0x43, 0x52, 0x9e,
- 0xc9, 0xcc, 0x36, 0x99,
- 0xbc, 0x8d, 0x7a, 0x53, 0x81, 0xec, 0x9b, 0x91, 0x2a, 0x51, 0x83, 0x12,
- 0xab, 0x91, 0x8f, 0x8d,
- 0x38, 0xe5, 0xfa, 0xa4, 0x45, 0xb4, 0xf6, 0x06, 0x76, 0x94, 0x75, 0x73,
- 0x33, 0x06, 0xd5, 0xe5,
- 0x4f, 0xb8, 0x43, 0xda, 0x8f, 0xe8, 0xb7, 0x7a, 0xe4, 0x8c, 0xd9, 0xa3,
- 0x6b, 0x7a, 0xee, 0xb8,
- 0xe0, 0x12, 0x6e, 0xd5, 0xd7, 0x95, 0x5e, 0x18, 0x1b, 0x15, 0x17, 0x0f,
- 0xcc, 0x18, 0xd2, 0x12,
- 0x27, 0x52, 0x5b, 0x9f, 0xeb, 0x07, 0x31, 0x35, 0x7b, 0xf4, 0x80, 0xb5,
- 0x90, 0x35, 0x39, 0x52,
- 0x76, 0x41, 0x4c, 0x59, 0x50, 0xba, 0x94, 0x6c, 0x80, 0xbf, 0xb6, 0xda,
- 0xd0, 0x6c, 0xa7, 0x41,
- 0x78, 0xe9, 0x93, 0x70, 0xd0, 0x97, 0x48, 0x8c, 0x7c, 0x9a, 0x3a, 0xb6,
- 0xac, 0x8c, 0x03, 0xe9,
- 0x89, 0xe4, 0x83, 0xb7, 0x29, 0x9c, 0x0d, 0x47, 0x96, 0xca, 0x54, 0x13,
- 0xbf, 0x47, 0x99, 0xe4,
- 0x8d, 0x94, 0xd1, 0x2b, 0x04, 0x82, 0xdf, 0x07, 0xde, 0x13, 0x3c, 0x3b,
- 0xda, 0x07, 0xac, 0x94,
- 0xaf, 0xaa, 0x2d, 0x0f, 0x58, 0x7d, 0xe9, 0x62, 0xff, 0x99, 0xce, 0xac,
- 0xa7, 0x62, 0x3c, 0xaa,
- 0x9f, 0xaf, 0x73, 0x50, 0x47, 0xf5, 0x78, 0xe4, 0x19, 0x7c, 0x6b, 0x8f,
- 0x5e, 0xe4, 0x83, 0xaf,
- 0x84, 0x68, 0x80, 0xf7, 0xc4, 0x58, 0x6d, 0x97, 0x5c, 0xc5, 0xf6, 0x61,
- 0x98, 0x97, 0x5a, 0x68,
- 0xe6, 0x5a, 0x15, 0x07, 0x0d, 0x84, 0xe5, 0x78, 0x77, 0x41, 0x4b, 0x33,
- 0x7a, 0x78, 0x1c, 0x5a,
- 0xf1, 0x0d, 0x10, 0xc7, 0xf9, 0x0b, 0x45, 0xcb, 0xea, 0x50, 0x6e, 0xa5,
- 0x13, 0xcb, 0x9a, 0x0d,
- 0x63, 0x2e, 0x60, 0xd7, 0x53, 0x3a, 0x5d, 0xff, 0x39, 0x23, 0xa7, 0x58,
- 0x6a, 0xff, 0xda, 0x2e,
- 0x51, 0x13, 0x17, 0xc6, 0xbb, 0xbd, 0xa5, 0x59, 0xfb, 0x4b, 0x36, 0x6f,
- 0x40, 0x59, 0x9e, 0x13,
- 0xc8, 0xf4, 0x1f, 0x44, 0x26, 0x59, 0x66, 0xdd, 0x8e, 0x63, 0x01, 0xdc,
- 0xa8, 0xdd, 0xd3, 0xf4,
- 0x03, 0x24, 0xdc, 0x69, 0x6d, 0xe9, 0xbc, 0x30, 0x36, 0x2a, 0x2e, 0x1e,
- 0x5b, 0x30, 0x67, 0x24,
- 0xed, 0x9e, 0x6d, 0x95, 0x3a, 0x51, 0x3e, 0xc8, 0xd1, 0x1a, 0xb5, 0x7d,
- 0xeb, 0xc8, 0x11, 0x9e,
- 0x70, 0x09, 0x37, 0x8b, 0x8a, 0xab, 0x2f, 0x0c, 0xec, 0xeb, 0xea, 0xe6,
- 0x66, 0x0c, 0x69, 0x09,
- 0x3c, 0x95, 0xa8, 0x38, 0x68, 0xaa, 0x24, 0x46, 0x3e, 0x4d, 0x1d, 0x5b,
- 0x56, 0x46, 0xe0, 0x95,
- 0x8e, 0xb0, 0x0d, 0x42, 0x69, 0x6b, 0x63, 0x37, 0xe8, 0x39, 0x12, 0x25,
- 0x81, 0x37, 0xcb, 0xb0,
- 0xd9, 0xeb, 0x61, 0x56, 0x08, 0xc7, 0x7d, 0x0e, 0x7f, 0x26, 0x78, 0x76,
- 0x77, 0x0e, 0x9b, 0xeb,
- 0x10, 0x03, 0x8b, 0x35, 0xb4, 0x78, 0xce, 0xc3, 0xe3, 0xe2, 0x63, 0xa0,
- 0x57, 0xc3, 0xd4, 0x03,
- 0x1a, 0xdb, 0x06, 0x80, 0x19, 0x4b, 0xc0, 0x63, 0x57, 0x1e, 0x87, 0xe4,
- 0x4e, 0x63, 0x45, 0xdb,
- 0x9d, 0x97, 0x5a, 0x1e, 0xb0, 0xfa, 0x11, 0xc4, 0x3d, 0xf1, 0x5f, 0x9b,
- 0x8d, 0xc4, 0x78, 0x97,
- 0xee, 0xba, 0xb1, 0xfc, 0x57, 0xb8, 0x82, 0xf8, 0xe7, 0x30, 0x9b, 0x63,
- 0xb0, 0xf8, 0x76, 0xba,
- 0xcb, 0xd0, 0xc3, 0x2d, 0x4b, 0xb0, 0xda, 0xed, 0xb8, 0x49, 0x2f, 0xc2,
- 0xf3, 0xed, 0xb4, 0xd0,
- 0x97, 0x4f, 0xd7, 0xab, 0x1d, 0xc9, 0x1f, 0x64, 0x89, 0x0d, 0xbb, 0xdf,
- 0x94, 0x64, 0xe9, 0x4f,
- 0xc9, 0xe8, 0xea, 0x63, 0xbc, 0xbf, 0xb3, 0xcd, 0x9c, 0xc4, 0x1b, 0xd6,
- 0x20, 0xcd, 0x4f, 0xe8,
- 0x79, 0xf5, 0x66, 0x57, 0x4a, 0x71, 0x9d, 0x9c, 0x6e, 0x3d, 0x20, 0xbc,
- 0x24, 0x9c, 0x9f, 0xf5,
- 0xb2, 0x25, 0xa5, 0x7a, 0x01, 0xc1, 0x47, 0x71, 0xd6, 0x74, 0x0f, 0x7e,
- 0xd7, 0x71, 0x2b, 0x25,
- 0x35, 0x69, 0xf9, 0xe4, 0xa8, 0x70, 0x96, 0xd6, 0xbc, 0x9b, 0xd7, 0x01,
- 0x14, 0xd6, 0x16, 0x69,
- 0x6c, 0x9a, 0x4a, 0xd9, 0x49, 0xf1, 0x54, 0x0f, 0xd7, 0xa1, 0x31, 0x3e,
- 0x9e, 0x0f, 0xe2, 0x9a,
- 0x9c, 0x8b, 0xaf, 0x39, 0x2a, 0x1c, 0xc4, 0xd4, 0x2f, 0x56, 0x45, 0x91,
- 0x05, 0xd4, 0xe4, 0x8b,
- 0x1b, 0xc7, 0xf3, 0xa7, 0x83, 0xad, 0x15, 0x73, 0x45, 0xb9, 0x9d, 0xee,
- 0xc6, 0x73, 0xd9, 0xc7,
- 0x05, 0x6c, 0xa7, 0xbb, 0xb7, 0xf8, 0x07, 0x50, 0x5a, 0x7e, 0x72, 0x22,
- 0xed, 0x50, 0xa9, 0x6c,
- 0x50, 0x0f, 0xe2, 0xe1, 0x21, 0x5b, 0x70, 0x49, 0xe9, 0xec, 0x2c, 0x65,
- 0xc8, 0x49, 0x02, 0x0f,
- 0xf0, 0x11, 0xe5, 0xe0, 0x63, 0xed, 0x90, 0xdb, 0xf8, 0xf7, 0x74, 0xaf,
- 0x9b, 0xdb, 0x06, 0x11,
- 0xd1, 0x0b, 0xc5, 0xad, 0x52, 0xfb, 0x1a, 0x8e, 0xef, 0x57, 0xa8, 0x26,
- 0xbd, 0x8e, 0xf1, 0x0b,
- 0x12, 0x3b, 0xa2, 0x7b, 0x43, 0x77, 0xa7, 0xe3, 0xc7, 0x6f, 0x57, 0xb4,
- 0x84, 0xe3, 0x2f, 0x3b,
- 0x87, 0x4c, 0x5c, 0x9e, 0xa9, 0xb1, 0xd1, 0xa7, 0x6a, 0xef, 0xd8, 0x7f,
- 0xc3, 0xa7, 0x3d, 0x4c,
- 0x08, 0xe0, 0xa4, 0xfb, 0x5a, 0x3c, 0x67, 0x80, 0x90, 0x71, 0xd0, 0x50,
- 0xca, 0x80, 0x6a, 0xe0,
- 0x59, 0xf3, 0xb3, 0x3d, 0xe1, 0x81, 0xc2, 0xd9, 0x6b, 0x3a, 0xe6, 0x3f,
- 0x8a, 0xd9, 0xf4, 0xf3,
- 0xfc, 0x81, 0x13, 0x87, 0x14, 0xcf, 0x25, 0x1b, 0x20, 0x5f, 0xcc, 0xd7,
- 0x34, 0x1b, 0x59, 0x81,
- 0x21, 0x1a, 0x20, 0x4d, 0x31, 0x16, 0x8a, 0x55, 0x17, 0xa0, 0xdc, 0x89,
- 0x26, 0x55, 0xf7, 0x1a,
- 0x85, 0x74, 0x75, 0xd0, 0x5e, 0xbe, 0xb8, 0x87, 0x4e, 0x62, 0xec, 0x6b,
- 0x10, 0x87, 0xc6, 0x74,
- 0x55, 0x63, 0x45, 0x5a, 0x96, 0xa3, 0x77, 0x19, 0xb3, 0x92, 0x5e, 0x47,
- 0x25, 0x19, 0xab, 0x63,
- 0x4e, 0xa4, 0xb6, 0xfd, 0x15, 0x0e, 0x62, 0x6a, 0xf6, 0x2b, 0xc3, 0xa9,
- 0xe3, 0x6a, 0x72, 0xa4,
- 0xec, 0x82, 0x98, 0xb2, 0xa0, 0xb7, 0xeb, 0xd8, 0xc3, 0xbd, 0xaf, 0x77,
- 0x63, 0xd8, 0x8d, 0x82,
- 0xfb, 0xd5, 0x9d, 0x72, 0x54, 0x38, 0x4b, 0x6b, 0x5e, 0xac, 0x8a, 0xe1,
- 0x0a, 0x6b, 0x0b, 0xd5,
- 0x36, 0x4d, 0x25, 0x8d, 0xc5, 0x99, 0x2a, 0xe6, 0x8a, 0xb1, 0xf9, 0x1f,
- 0x4f, 0xe6, 0x71, 0x4d,
- 0x75, 0x65, 0x90, 0x30, 0x3d, 0x53, 0x28, 0x5c, 0xb6, 0x95, 0x98, 0xc4,
- 0x8b, 0x5c, 0xc0, 0x65,
- 0x37, 0x51, 0xd0, 0xaa, 0x5f, 0x7f, 0xff, 0xf6, 0x98, 0x16, 0xe3, 0x15,
- 0xc7, 0xf6, 0xed, 0x51,
- 0x5c, 0x9f, 0x14, 0x86, 0x56, 0x79, 0xc5, 0x89, 0x31, 0x44, 0x94, 0x1d,
- 0x67, 0x89, 0x5d, 0x9f,
- 0xf6, 0x59, 0x9e, 0x32, 0xb9, 0xfc, 0x2b, 0xbb, 0x94, 0xa3, 0x28, 0x93,
- 0x2d, 0xbb, 0xc8, 0x59,
- 0xf4, 0x61, 0xb7, 0x7c, 0x4e, 0xf3, 0x42, 0x9b, 0xb0, 0x2e, 0x1c, 0x87,
- 0xfe, 0x9b, 0x33, 0x61,
- 0xcd, 0x98, 0xb8, 0xff, 0x91, 0xa1, 0x61, 0x8d, 0xd4, 0x1d, 0x73, 0xfe,
- 0x45, 0x8d, 0x7a, 0x98,
- 0x6b, 0xce, 0xc4, 0x2c, 0x09, 0x06, 0x3a, 0x7f, 0xa9, 0x52, 0x77, 0x08,
- 0xa0, 0x7f, 0xb0, 0xce,
- 0xa2, 0x26, 0x2e, 0x4f, 0xb5, 0xb9, 0x89, 0xb2, 0x35, 0x96, 0x6c, 0xde,
- 0x80, 0xb2, 0xff, 0x26,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xaa, 0xc6, 0x8a, 0xb4, 0xef, 0x85, 0xee, 0x32, 0xa5, 0xe7, 0xbc, 0x8e,
- 0x4a, 0x32, 0x95, 0xc6,
- 0x71, 0x15, 0xc2, 0xac, 0x10, 0x4d, 0xfa, 0x1c, 0xfe, 0x4c, 0xf0, 0xec,
- 0xee, 0x1c, 0xf5, 0x15,
- 0x42, 0x34, 0x40, 0x9a, 0x62, 0x2c, 0xd7, 0xaa, 0x2e, 0x83, 0x7b, 0xd1,
- 0x4c, 0xaa, 0x2d, 0x34,
- },
- { /* 14 */
- 0x47, 0x52, 0xd9, 0xd2, 0x69, 0x81, 0x42, 0x4a, 0x4e, 0xe7, 0x53, 0x5d,
- 0xa9, 0x30, 0x47, 0x7c,
- 0xe9, 0xdb, 0x31, 0x5c, 0x2e, 0xdf, 0x12, 0x97, 0x34, 0x3f, 0x83, 0x15,
- 0x0b, 0x98, 0xe9, 0x1c,
- 0x8f, 0x26, 0xbe, 0x4a, 0x25, 0x12, 0xca, 0xbc, 0x87, 0xf8, 0x58, 0xe9,
- 0x7f, 0xf7, 0x8f, 0x8c,
- 0x4e, 0x4a, 0xa1, 0x54, 0x2a, 0x05, 0x39, 0xe1, 0x8d, 0xb6, 0x51, 0xd3,
- 0x3b, 0x95, 0x4e, 0x2e,
- 0x03, 0x45, 0x92, 0x77, 0xda, 0xb6, 0xd2, 0x78, 0x2d, 0xdc, 0xc1, 0xf5,
- 0xf1, 0x7a, 0x03, 0x9c,
- 0xcf, 0x7c, 0x4f, 0x5b, 0xcc, 0xef, 0xa1, 0x2e, 0x88, 0x91, 0xb4, 0xce,
- 0x19, 0xa4, 0xcf, 0x7f,
- 0x0c, 0xd7, 0x0d, 0x1f, 0xee, 0x9d, 0xce, 0x23, 0xb4, 0xf6, 0x82, 0x52,
- 0x42, 0x2b, 0x0c, 0x35,
- 0xba, 0x33, 0xff, 0xaf, 0xb6, 0x3a, 0xc1, 0xb8, 0x65, 0x01, 0x95, 0xbe,
- 0x64, 0xd5, 0xba, 0x3f,
- 0x12, 0x30, 0xf0, 0xcf, 0x86, 0xcb, 0xf6, 0x95, 0x45, 0xa2, 0x04, 0xdf,
- 0xe7, 0x89, 0x12, 0xa4,
- 0xf0, 0x34, 0xe4, 0x4f, 0xc6, 0xf5, 0x03, 0xf9, 0x84, 0xe5, 0xba, 0xe2,
- 0x61, 0x59, 0xf0, 0x02,
- 0x2b, 0xf2, 0xbc, 0x35, 0xfb, 0x7e, 0x33, 0xb2, 0x13, 0xad, 0x4b, 0xda,
- 0xbe, 0x80, 0x2b, 0x22,
- 0x2c, 0xfa, 0x94, 0xf6, 0x7b, 0x02, 0x1a, 0x6a, 0x52, 0x23, 0xf4, 0xa0,
- 0x71, 0xe3, 0x2c, 0xad,
- 0x32, 0x1d, 0x69, 0x26, 0x13, 0x54, 0x22, 0xdc, 0xa3, 0x77, 0x72, 0x2d,
- 0xd4, 0x41, 0x32, 0x3c,
- 0x1b, 0x28, 0x88, 0x49, 0xc5, 0x4f, 0x8d, 0x3e, 0x86, 0xf3, 0x06, 0x51,
- 0x75, 0x2c, 0x1b, 0xf6,
- 0xd2, 0xde, 0x20, 0xfc, 0x7e, 0x0f, 0x4b, 0xe0, 0x54, 0x19, 0xf3, 0xb6,
- 0x4d, 0x7c, 0xd2, 0x72,
- 0x08, 0x9a, 0xb7, 0xab, 0xb4, 0x57, 0x35, 0x83, 0xd8, 0xa4, 0xfc, 0xdd,
- 0x7c, 0x32, 0x08, 0x26,
- 0xdd, 0x4c, 0xbf, 0x94, 0x4a, 0x24, 0x57, 0xbb, 0xcd, 0x33, 0xb0, 0x11,
- 0xfe, 0x2d, 0xdd, 0xdb,
- 0x60, 0x77, 0x68, 0xf8, 0x7c, 0x62, 0xbf, 0xdb, 0xe9, 0xbc, 0x9a, 0xd5,
- 0x55, 0x9b, 0x60, 0x6b,
- 0x72, 0x47, 0x98, 0x37, 0xfa, 0xa9, 0x49, 0x4e, 0xac, 0x1e, 0x9e, 0x0a,
- 0xb2, 0x12, 0x72, 0xcf,
- 0x11, 0x75, 0x62, 0xb8, 0x5c, 0x7d, 0x24, 0xed, 0x68, 0x7e, 0xc5, 0x2a,
- 0x16, 0xf3, 0x11, 0x38,
- 0x06, 0x8a, 0xe7, 0xee, 0x77, 0xaf, 0x67, 0xf0, 0x5a, 0x7b, 0x41, 0x29,
- 0x21, 0xf4, 0x06, 0xfb,
- 0x5d, 0xf8, 0x9e, 0xb6, 0x5b, 0x1d, 0x81, 0x5c, 0xd3, 0xe1, 0xab, 0x5f,
- 0x32, 0x8b, 0x5d, 0xfe,
- 0xe0, 0xc3, 0x49, 0xda, 0x6d, 0x5b, 0x69, 0x3c, 0xf7, 0x6e, 0x81, 0x9b,
- 0x99, 0x3d, 0xe0, 0x4e,
- 0x86, 0x3e, 0xc6, 0xcc, 0x66, 0x96, 0xb1, 0x17, 0x44, 0xa9, 0x5a, 0x67,
- 0xed, 0x52, 0x86, 0xde,
- 0xaa, 0xc4, 0x52, 0x3a, 0x1d, 0x94, 0xab, 0x7d, 0x16, 0x8a, 0xae, 0xc7,
- 0x9c, 0xb1, 0xaa, 0x73,
- 0x58, 0x37, 0xeb, 0x2f, 0xf6, 0x04, 0x34, 0xd4, 0xa4, 0x46, 0x2b, 0x83,
- 0xe2, 0x05, 0x58, 0x99,
- 0x24, 0x60, 0x23, 0x5d, 0xcf, 0x55, 0x2f, 0xe9, 0x8a, 0x87, 0x08, 0x7d,
- 0x0d, 0xd1, 0x24, 0x8b,
- 0xdf, 0x8b, 0xe2, 0xce, 0x67, 0x41, 0xcb, 0xeb, 0xfb, 0x1a, 0x8f, 0xb7,
- 0xe1, 0xc0, 0xdf, 0x33,
- 0x69, 0x6f, 0x10, 0x7e, 0x3f, 0xe6, 0xc4, 0x70, 0x2a, 0xed, 0x98, 0x5b,
- 0xc7, 0x3e, 0x69, 0x39,
- 0x7a, 0xdd, 0x2f, 0x9c, 0x4e, 0xfe, 0x7c, 0xcd, 0x74, 0xba, 0x62, 0xd7,
- 0xce, 0x20, 0x7a, 0xe9,
- 0x67, 0x7f, 0x40, 0x3b, 0xfc, 0x1e, 0x96, 0x03, 0xa8, 0x32, 0x25, 0xaf,
- 0x9a, 0xf8, 0x67, 0xe4,
- 0xec, 0x14, 0x44, 0xc5, 0x83, 0xc6, 0xa7, 0x1f, 0x43, 0x98, 0x03, 0xc9,
- 0xdb, 0x16, 0xec, 0x7b,
- 0x30, 0xda, 0x34, 0x7c, 0x3e, 0x31, 0xbe, 0x8c, 0x95, 0x5e, 0x4d, 0x8b,
- 0xcb, 0xac, 0x30, 0xd4,
- 0x6a, 0x2a, 0x82, 0x09, 0xe5, 0x50, 0x16, 0x08, 0x07, 0x31, 0x59, 0xae,
- 0x36, 0x44, 0x6a, 0xa5,
- 0x0e, 0x10, 0x50, 0x45, 0xc3, 0xf8, 0x52, 0x73, 0x82, 0xdf, 0xbd, 0xf4,
- 0x5d, 0xc6, 0x0e, 0xdd,
- 0x43, 0x1f, 0x63, 0x66, 0x33, 0x4b, 0xb9, 0xea, 0x22, 0xb5, 0x2d, 0xd2,
- 0x97, 0x29, 0x43, 0x6f,
- 0x2d, 0x78, 0x5b, 0xdb, 0x8c, 0xd1, 0x54, 0x42, 0x49, 0xd6, 0x0a, 0xf3,
- 0x9f, 0x74, 0x2d, 0xd9,
- 0xb3, 0x2b, 0x87, 0x29, 0xf5, 0xbe, 0xba, 0x13, 0xa6, 0x50, 0x97, 0x30,
- 0xf6, 0x70, 0xb3, 0x6d,
- 0xe4, 0x8e, 0xf3, 0x6e, 0x37, 0x91, 0x92, 0x9c, 0x9b, 0x3c, 0xff, 0x14,
- 0xa7, 0x24, 0xe4, 0x5d,
- 0x22, 0xea, 0xc4, 0xb3, 0xb8, 0xfa, 0x48, 0x19, 0xd0, 0xfc, 0x49, 0x54,
- 0x2c, 0x25, 0x22, 0x70,
- 0xab, 0x46, 0x9d, 0x17, 0xea, 0x47, 0xe5, 0x55, 0x0d, 0x7f, 0x50, 0x94,
- 0x72, 0x26, 0xab, 0x07,
- 0x3d, 0x8f, 0xf6, 0x4e, 0x27, 0x7f, 0x3e, 0x87, 0x3a, 0x5d, 0x31, 0x8a,
- 0x67, 0x10, 0x3d, 0x95,
- 0x34, 0x97, 0x8e, 0xc8, 0x64, 0xfb, 0x45, 0x2c, 0xf9, 0x0c, 0x33, 0x04,
- 0xf5, 0xb5, 0x34, 0xc7,
- 0x90, 0x43, 0x8c, 0xb7, 0xba, 0x97, 0xbc, 0x22, 0x6d, 0x59, 0x20, 0x37,
- 0x34, 0xc2, 0x90, 0x69,
- 0x97, 0x4b, 0xa4, 0x74, 0x3a, 0xeb, 0x95, 0xfa, 0x2c, 0xd7, 0x9f, 0x4d,
- 0xfb, 0xa1, 0x97, 0xe6,
- 0xb0, 0x6e, 0x15, 0x5e, 0x2f, 0x08, 0x68, 0x6b, 0x8b, 0x8c, 0x56, 0xc5,
- 0x07, 0x0a, 0xb0, 0xf1,
- 0xe5, 0x0c, 0x3c, 0x43, 0xc0, 0x42, 0xdc, 0xb4, 0x80, 0xc9, 0x01, 0x47,
- 0x49, 0xb3, 0xe5, 0x29,
- 0x42, 0x9d, 0xac, 0x4b, 0xc4, 0x98, 0xf7, 0xc2, 0x39, 0x40, 0xd3, 0x81,
- 0x79, 0xbe, 0x42, 0x1b,
- 0x79, 0x98, 0xbd, 0xeb, 0x94, 0x48, 0xae, 0xb5, 0x59, 0x66, 0xa3, 0x22,
- 0x3f, 0x5a, 0x79, 0x75,
- 0xc0, 0xee, 0xd0, 0x33, 0xf8, 0xc4, 0xbd, 0x75, 0x11, 0xbb, 0xf7, 0x69,
- 0xaa, 0xf5, 0xc0, 0xd6,
- 0x18, 0x6d, 0x1a, 0x3e, 0x1f, 0xf9, 0x5f, 0x46, 0xab, 0x2f, 0xc7, 0xa4,
- 0x84, 0x56, 0x18, 0x6a,
- 0x4b, 0x85, 0xd4, 0xcd, 0x87, 0x1c, 0x8c, 0x69, 0xfa, 0x11, 0xd1, 0x0f,
- 0xeb, 0x1b, 0x4b, 0x49,
- 0xf7, 0x3c, 0xcc, 0x8c, 0x46, 0x89, 0x2a, 0x21, 0xc5, 0x6b, 0x05, 0x98,
- 0xae, 0x3a, 0xf7, 0x8d,
- 0xb8, 0xf4, 0xa2, 0xf5, 0x9b, 0x5f, 0x5d, 0xe8, 0x53, 0x28, 0xaa, 0x18,
- 0x7b, 0x38, 0xb8, 0xd7,
- 0xa6, 0x13, 0x5f, 0x25, 0xf3, 0x09, 0x65, 0x5e, 0xa2, 0x7c, 0x2c, 0x95,
- 0xde, 0x9a, 0xa6, 0x46,
- 0x59, 0xb5, 0x24, 0x02, 0x01, 0xd7, 0x7a, 0xfc, 0xbf, 0xb3, 0xd5, 0xd0,
- 0x0c, 0x92, 0x59, 0xed,
- 0x64, 0x3a, 0xd2, 0x4c, 0x26, 0xa8, 0x44, 0x7b, 0x85, 0xee, 0xe4, 0x5a,
- 0x6b, 0x82, 0x64, 0x78,
- 0x36, 0x50, 0xd3, 0x92, 0x49, 0x9e, 0xd9, 0x7c, 0xcf, 0x25, 0x0c, 0xa2,
- 0xea, 0x58, 0x36, 0x2f,
- 0xb4, 0x23, 0xaf, 0xea, 0x75, 0xc2, 0x93, 0xcb, 0xe7, 0xde, 0x28, 0x4a,
- 0x39, 0x13, 0xb4, 0xe2,
- 0x81, 0x36, 0xee, 0x0f, 0xe6, 0xea, 0x98, 0xcf, 0x05, 0x27, 0xe5, 0x1d,
- 0x22, 0x31, 0x81, 0x51,
- 0x09, 0x18, 0x78, 0x86, 0x43, 0x84, 0x7b, 0xab, 0xc3, 0x51, 0x02, 0x8e,
- 0x92, 0xa5, 0x09, 0x52,
- 0x78, 0x1a, 0x72, 0xc6, 0x63, 0x9b, 0xe0, 0x9d, 0x42, 0x93, 0x5d, 0x71,
- 0xd1, 0xcd, 0x78, 0x01,
- 0xed, 0x96, 0x8b, 0xe8, 0x74, 0x15, 0xe9, 0x37, 0x58, 0x6d, 0xfd, 0x9a,
- 0x35, 0x81, 0xed, 0x0f,
- 0x5f, 0x3f, 0xc3, 0xec, 0x76, 0x78, 0x1d, 0x0c, 0xe5, 0xc8, 0x94, 0xf9,
- 0x2d, 0x66, 0x5f, 0x16,
- 0xda, 0x44, 0x97, 0x57, 0xca, 0x58, 0x7e, 0x63, 0x8c, 0xbd, 0x0f, 0x6b,
- 0x31, 0x4e, 0xda, 0x54,
- 0xc4, 0xa3, 0x6a, 0x87, 0xa2, 0x0e, 0x46, 0xd5, 0x7d, 0xe9, 0x89, 0xe6,
- 0x94, 0xec, 0xc4, 0xc5,
- 0x29, 0x35, 0xe1, 0x6f, 0xd6, 0x1b, 0xaf, 0xe2, 0x25, 0x84, 0x74, 0x7c,
- 0xa1, 0x6d, 0x29, 0xca,
- 0xad, 0xcc, 0x7a, 0xf9, 0x9d, 0xe8, 0x82, 0xa5, 0x57, 0x04, 0x11, 0xbd,
- 0x53, 0xd2, 0xad, 0xfc,
- 0x07, 0x08, 0x28, 0xc3, 0x80, 0x7c, 0x29, 0xd8, 0x41, 0x8e, 0xbf, 0x7a,
- 0xcf, 0x63, 0x07, 0x8f,
- 0x82, 0x73, 0x7c, 0x78, 0x3c, 0x5c, 0x4a, 0xb7, 0x28, 0xfb, 0x24, 0xe8,
- 0xd3, 0x4b, 0x82, 0xcd,
- 0xe2, 0x04, 0x14, 0x80, 0x40, 0x3e, 0xf5, 0x6c, 0xc1, 0x47, 0xbe, 0x3d,
- 0x86, 0xd0, 0xe2, 0xa6,
- 0x31, 0x58, 0xfb, 0x51, 0xc9, 0xe2, 0xf0, 0xa4, 0x8e, 0xab, 0xb3, 0xd8,
- 0x25, 0x3b, 0x31, 0xa0,
- 0x17, 0xff, 0x85, 0x56, 0x2b, 0xd2, 0x43, 0x1d, 0x32, 0x05, 0x84, 0x03,
- 0x37, 0x07, 0x17, 0xc3,
- 0x9f, 0xd1, 0x13, 0xdf, 0x8e, 0xbc, 0xa0, 0x79, 0xf4, 0x73, 0x63, 0x90,
- 0x87, 0x93, 0x9f, 0xc0,
- 0x0b, 0xdf, 0x25, 0xdc, 0x6e, 0xe1, 0xe7, 0xfb, 0xf5, 0x78, 0x3d, 0x28,
- 0x8d, 0x48, 0x0b, 0xba,
- 0x16, 0x7d, 0x4a, 0x7b, 0xdc, 0x01, 0x0d, 0x35, 0x29, 0xf0, 0x7a, 0x50,
- 0xd9, 0x90, 0x16, 0xb7,
- 0x7f, 0x12, 0x5a, 0x05, 0xe3, 0xe7, 0xc9, 0x45, 0x03, 0x1d, 0xe2, 0x0b,
- 0x1e, 0xae, 0x7f, 0x8e,
- 0x23, 0x68, 0x0b, 0x9e, 0x4f, 0x29, 0x06, 0x31, 0xcb, 0x09, 0xb7, 0x07,
- 0xc2, 0xb2, 0x23, 0x04,
- 0x6b, 0xa8, 0x4d, 0x24, 0x12, 0x83, 0x58, 0x20, 0x1c, 0xc4, 0xa7, 0xfd,
- 0xd8, 0xd3, 0x6b, 0xd1,
- 0xa9, 0x81, 0xc0, 0x4d, 0xc7, 0x22, 0x79, 0x05, 0x3b, 0x56, 0x6f, 0x32,
- 0x6d, 0xcb, 0xa9, 0xef,
- 0x8b, 0x6b, 0x04, 0xfe, 0x7f, 0xd8, 0x31, 0x1c, 0xeb, 0xaa, 0x26, 0x66,
- 0x41, 0xee, 0x8b, 0x9f,
- 0xb7, 0x66, 0x3d, 0x9d, 0xaf, 0x74, 0x41, 0xb3, 0xca, 0x02, 0xe9, 0xbf,
- 0xc8, 0x69, 0xb7, 0x7e,
- 0x13, 0xb2, 0x3f, 0xe2, 0x71, 0x18, 0xb8, 0xbd, 0x5e, 0x57, 0xfa, 0x8c,
- 0x09, 0x1e, 0x13, 0xd0,
- 0x1c, 0x20, 0xa0, 0x8a, 0x45, 0x33, 0xa4, 0xe6, 0xc7, 0x7d, 0xb9, 0x2b,
- 0xba, 0x4f, 0x1c, 0x79,
- 0xfb, 0xeb, 0xc1, 0x93, 0xa8, 0x14, 0xe4, 0x02, 0x71, 0x9d, 0x87, 0xca,
- 0xec, 0x11, 0xfb, 0xb8,
- 0x62, 0xb0, 0x35, 0xa2, 0x51, 0x07, 0x23, 0x8b, 0xdf, 0x95, 0xa5, 0x73,
- 0x4a, 0x76, 0x62, 0x83,
- 0xf2, 0xf3, 0xb9, 0x15, 0xeb, 0x90, 0x9f, 0xa9, 0xb2, 0xcc, 0x85, 0x44,
- 0x7e, 0xb4, 0xf2, 0xea,
- 0x3b, 0x05, 0x11, 0xa0, 0x50, 0xd0, 0x59, 0x77, 0x60, 0x26, 0x70, 0xa3,
- 0x46, 0xe4, 0x3b, 0x6e,
- 0x9a, 0x1e, 0x66, 0x46, 0x23, 0xa5, 0x15, 0xf1, 0x83, 0xd4, 0xe3, 0x4c,
- 0x57, 0x1d, 0x9a, 0xa7,
- 0x75, 0x4f, 0xb0, 0xf4, 0x7a, 0xd5, 0x60, 0x96, 0xed, 0x90, 0x21, 0x70,
- 0x7d, 0x71, 0x75, 0x40,
- 0xea, 0x9e, 0xa3, 0x2b, 0xf4, 0x69, 0xc0, 0xef, 0x19, 0xe3, 0x42, 0xe0,
- 0xfa, 0xe2, 0xea, 0x80,
- 0xd0, 0x19, 0x7d, 0xa6, 0x53, 0x6a, 0xd7, 0xb0, 0x62, 0x30, 0xcc, 0x10,
- 0x52, 0x91, 0xd0, 0x9a,
- 0x2a, 0x70, 0x73, 0x18, 0x0c, 0xad, 0x7d, 0x9a, 0x08, 0x58, 0xb5, 0x89,
- 0x50, 0x17, 0x2a, 0x56,
- 0x91, 0xc1, 0x43, 0x9a, 0x4d, 0x44, 0xf2, 0x0a, 0x76, 0xac, 0xde, 0x64,
- 0xda, 0x55, 0x91, 0x1d,
- 0x02, 0xc7, 0x5d, 0x5a, 0x2d, 0x65, 0x9c, 0x50, 0x36, 0x29, 0x3f, 0xa6,
- 0x1f, 0xed, 0x02, 0xe8,
- 0x46, 0xd0, 0x16, 0xff, 0x9e, 0x52, 0x0c, 0x62, 0x55, 0x12, 0xad, 0x0e,
- 0x47, 0xa7, 0x46, 0x08,
- 0xa7, 0x91, 0x90, 0x08, 0x04, 0xda, 0x2b, 0x76, 0xb9, 0x89, 0xd2, 0xc6,
- 0x30, 0x0d, 0xa7, 0x32,
- 0xdc, 0xce, 0x70, 0xb9, 0xbd, 0xf7, 0x19, 0x93, 0xd6, 0xc6, 0x4e, 0x42,
- 0x10, 0xba, 0xdc, 0xaf,
- 0x27, 0x25, 0xb1, 0x2a, 0x15, 0xe3, 0xfd, 0x91, 0xa7, 0x5b, 0xc9, 0x88,
- 0xfc, 0xab, 0x27, 0x17,
- 0x76, 0x0a, 0x22, 0x83, 0xa0, 0x63, 0xb2, 0xee, 0xc0, 0x4c, 0xe0, 0x85,
- 0x8c, 0x0b, 0x76, 0xdc,
- 0xa4, 0xd4, 0x02, 0x7f, 0xde, 0x6c, 0xf9, 0x0e, 0x94, 0x55, 0x13, 0x33,
- 0xc1, 0x77, 0xa4, 0xae,
- 0xca, 0xb3, 0x3a, 0xc2, 0x61, 0xf6, 0x14, 0xa6, 0xff, 0x36, 0x34, 0x12,
- 0xc9, 0x2a, 0xca, 0x18,
- 0x96, 0xc9, 0x6b, 0x59, 0xcd, 0x38, 0xdb, 0xd2, 0x37, 0x22, 0x61, 0x1e,
- 0x15, 0x36, 0x96, 0x92,
- 0x70, 0x80, 0xc5, 0x6d, 0xd7, 0xcc, 0xd5, 0x1e, 0x9a, 0x37, 0xa1, 0xac,
- 0xad, 0xff, 0x70, 0x27,
- 0x54, 0xe0, 0xe6, 0x30, 0x18, 0x99, 0xfa, 0xf7, 0x10, 0xb0, 0xa9, 0xd1,
- 0xa0, 0x2e, 0x54, 0xac,
- 0xe1, 0x41, 0x86, 0xf7, 0x9a, 0x88, 0x27, 0x14, 0xec, 0x9b, 0x7f, 0xc8,
- 0x77, 0xaa, 0xe1, 0x3a,
- 0x6f, 0xe5, 0xf7, 0x90, 0x48, 0x49, 0xa3, 0x80, 0x70, 0x96, 0xd9, 0x72,
- 0xe6, 0xca, 0x6f, 0xc2,
- 0x39, 0xc2, 0x4c, 0xfa, 0x7d, 0xb5, 0xc5, 0x27, 0x56, 0x0f, 0x4f, 0x05,
- 0x59, 0x09, 0x39, 0x86,
- 0x33, 0x9f, 0xa6, 0x0b, 0xe4, 0x87, 0x6c, 0xf4, 0xb8, 0x82, 0x8c, 0x7e,
- 0x3a, 0xd6, 0x33, 0x48,
- 0xdb, 0xc6, 0x58, 0x7a, 0x3d, 0x8b, 0x30, 0x4b, 0x97, 0x48, 0xf1, 0x38,
- 0xdf, 0xd9, 0xdb, 0x20,
- 0xa0, 0x99, 0xb8, 0xcb, 0x84, 0xa6, 0x02, 0xae, 0xf8, 0x07, 0x6d, 0xbc,
- 0xff, 0x6e, 0xa0, 0xbd,
- 0xfe, 0x24, 0xb4, 0x0a, 0x05, 0x0d, 0x51, 0x8a, 0x06, 0x3a, 0x07, 0x16,
- 0x3c, 0x9f, 0xfe, 0xdf,
- 0xb2, 0xa9, 0x48, 0x04, 0x02, 0x6d, 0xf4, 0x3b, 0xbd, 0xa5, 0x69, 0x63,
- 0x18, 0xe7, 0xb2, 0x19,
- 0x10, 0xf7, 0xad, 0x95, 0xab, 0xae, 0x6a, 0xc5, 0x73, 0x8b, 0x3b, 0x79,
- 0xf8, 0x64, 0x10, 0x4c,
- 0x71, 0x02, 0x0a, 0x40, 0x20, 0x1f, 0x9b, 0x36, 0x81, 0xc2, 0x5f, 0xff,
- 0x43, 0x68, 0x71, 0x53,
- 0x87, 0xbc, 0x09, 0xe1, 0x91, 0x45, 0xff, 0x3f, 0x5f, 0x5c, 0xa4, 0x34,
- 0x03, 0xc5, 0x87, 0xaa,
- 0x35, 0x15, 0x41, 0xe5, 0x93, 0x28, 0x0b, 0x04, 0xe2, 0xf9, 0xcd, 0x57,
- 0x1b, 0x22, 0x35, 0xb3,
- 0x38, 0x40, 0x83, 0xd7, 0x8a, 0x66, 0x8b, 0x0f, 0x4d, 0xfa, 0xb1, 0x56,
- 0xb7, 0x9e, 0x38, 0xf2,
- 0x52, 0x6a, 0x01, 0xde, 0x6f, 0x36, 0x9d, 0x07, 0x4a, 0xcb, 0xe8, 0xf8,
- 0x81, 0xda, 0x52, 0x57,
- 0x65, 0xb8, 0x1d, 0x61, 0xd1, 0x7b, 0x0a, 0x53, 0x9e, 0x1b, 0x1a, 0x09,
- 0x85, 0x15, 0x65, 0x0c,
- 0xde, 0x09, 0x2d, 0xe3, 0x90, 0x92, 0x85, 0xc3, 0xe0, 0xef, 0x71, 0xe4,
- 0x0f, 0x57, 0xde, 0x47,
- 0x8e, 0xa4, 0x71, 0x67, 0xd2, 0xc1, 0x84, 0x94, 0x9c, 0x0d, 0xa6, 0xba,
- 0x91, 0x60, 0x8e, 0xf8,
- 0xa8, 0x03, 0x0f, 0x60, 0x30, 0xf1, 0x37, 0x2d, 0x20, 0xa3, 0x91, 0x61,
- 0x83, 0x5c, 0xa8, 0x9b,
- 0xfd, 0x61, 0x26, 0x7d, 0xdf, 0xbb, 0x83, 0xf2, 0x2b, 0xe6, 0xc6, 0xe3,
- 0xcd, 0xe5, 0xfd, 0x43,
- 0x2e, 0x3d, 0xc9, 0xac, 0x56, 0x67, 0x86, 0x3a, 0x64, 0x0a, 0xcb, 0x06,
- 0x6e, 0x0e, 0x2e, 0x45,
- 0x01, 0x82, 0xcf, 0x2d, 0xf7, 0xd3, 0x4e, 0x28, 0x1b, 0xf5, 0xfe, 0x53,
- 0xee, 0x97, 0x01, 0x74,
- 0xf8, 0xae, 0x53, 0xe4, 0x72, 0xa2, 0x36, 0x7a, 0x5c, 0x41, 0x46, 0x3f,
- 0x1d, 0x6b, 0xf8, 0x24,
- 0x8c, 0x63, 0x2c, 0x3d, 0xff, 0xa4, 0x18, 0xc4, 0xaa, 0x24, 0x99, 0x1c,
- 0x8e, 0x8d, 0x8c, 0x10,
- 0xbb, 0xb1, 0x30, 0x82, 0x41, 0xe9, 0x8f, 0x90, 0x7e, 0xf4, 0x6b, 0xed,
- 0x8a, 0x42, 0xbb, 0x4b,
- 0x49, 0x42, 0x89, 0x97, 0xaa, 0x79, 0x10, 0x39, 0xcc, 0x38, 0xee, 0xa9,
- 0xf4, 0xf6, 0x49, 0xa1,
- 0x44, 0x17, 0x4b, 0xa5, 0xb3, 0x37, 0x90, 0x32, 0x63, 0x3b, 0x92, 0xa8,
- 0x58, 0x4a, 0x44, 0xe0,
- 0xbf, 0xfc, 0x8a, 0x36, 0x1b, 0x23, 0x74, 0x30, 0x12, 0xa6, 0x15, 0x62,
- 0xb4, 0x5b, 0xbf, 0x58,
- 0xef, 0x51, 0xd6, 0xb2, 0x59, 0x70, 0x75, 0x67, 0x6e, 0x44, 0xc2, 0x3c,
- 0x2a, 0x6c, 0xef, 0xe7,
- 0xfc, 0xe3, 0xe9, 0x50, 0x28, 0x68, 0xcd, 0xda, 0x30, 0x13, 0x38, 0xb0,
- 0x23, 0x72, 0xfc, 0x37,
- 0x3a, 0x87, 0xde, 0x8d, 0xa7, 0x03, 0x17, 0x5f, 0x7b, 0xd3, 0x8e, 0xf0,
- 0xa8, 0x73, 0x3a, 0x1a,
- 0xb1, 0xec, 0xda, 0x73, 0xd8, 0xdb, 0x26, 0x43, 0x90, 0x79, 0xa8, 0x96,
- 0xe9, 0x9d, 0xb1, 0x85,
- 0xf9, 0x2c, 0x9c, 0xc9, 0x85, 0x71, 0x78, 0x52, 0x47, 0xb4, 0xb8, 0x6c,
- 0xf3, 0xfc, 0xf9, 0x50,
- 0x99, 0x5b, 0xf4, 0x31, 0xf9, 0x13, 0xc7, 0x89, 0xae, 0x08, 0x22, 0xb9,
- 0xa6, 0x67, 0x99, 0x3b,
- 0xd8, 0x83, 0xca, 0x0d, 0xe7, 0x3d, 0xe2, 0x33, 0xba, 0x94, 0x30, 0xcd,
- 0x2e, 0xa3, 0xd8, 0xbc,
- 0xc9, 0xf6, 0xa8, 0xb5, 0xbb, 0x40, 0xc6, 0xde, 0xd2, 0xea, 0xf5, 0xe7,
- 0x38, 0x50, 0xc9, 0x84,
- 0x61, 0xf5, 0xa7, 0xd5, 0x8b, 0xb1, 0xf1, 0xf3, 0xf2, 0x49, 0x64, 0x86,
- 0xbb, 0x0c, 0x61, 0x1f,
- 0x3c, 0x0d, 0x39, 0x63, 0xd0, 0xac, 0x70, 0xaf, 0x21, 0xa8, 0xcf, 0xd9,
- 0x89, 0x87, 0x3c, 0xe1,
- 0x89, 0xac, 0x59, 0xa4, 0x52, 0xbd, 0xad, 0x4c, 0xdd, 0x83, 0x19, 0xc0,
- 0x5e, 0x03, 0x89, 0x77,
- 0x0f, 0x92, 0x9f, 0x68, 0x34, 0x2b, 0x1c, 0x5b, 0x99, 0x2a, 0x43, 0xa7,
- 0xb3, 0x51, 0x0f, 0xa9,
- 0x5c, 0x7a, 0x51, 0x9b, 0xac, 0xce, 0xcf, 0x74, 0xc8, 0x14, 0x55, 0x0c,
- 0xdc, 0x1c, 0x5c, 0x8a,
- 0xbe, 0x7e, 0x45, 0x1b, 0xec, 0xf0, 0x3a, 0x18, 0x09, 0x53, 0xeb, 0x31,
- 0x5a, 0xcc, 0xbe, 0x2c,
- 0xc2, 0x29, 0x8d, 0x69, 0xd5, 0xa1, 0x21, 0x25, 0x27, 0x92, 0xc8, 0xcf,
- 0xb5, 0x18, 0xc2, 0x3e,
- 0xc5, 0x21, 0xa5, 0xaa, 0x55, 0xdd, 0x08, 0xfd, 0x66, 0x1c, 0x77, 0xb5,
- 0x7a, 0x7b, 0xc5, 0xb1,
- 0x88, 0x2e, 0x96, 0x89, 0xa5, 0x6e, 0xe3, 0x64, 0xc6, 0x76, 0xe7, 0x93,
- 0xb0, 0x94, 0x88, 0x03,
- 0xa1, 0x1b, 0x77, 0xe6, 0x73, 0x75, 0x4c, 0x86, 0xe3, 0xf2, 0x93, 0xef,
- 0x11, 0xf9, 0xa1, 0xc9,
- 0x1d, 0xa2, 0x6f, 0xa7, 0xb2, 0xe0, 0xea, 0xce, 0xdc, 0x88, 0x47, 0x78,
- 0x54, 0xd8, 0x1d, 0x0d,
- 0xc7, 0xe6, 0xf8, 0xf0, 0x78, 0xb8, 0x94, 0xad, 0x50, 0x35, 0x48, 0x13,
- 0x65, 0x96, 0xc7, 0x59,
- 0x6c, 0xa0, 0x65, 0xe7, 0x92, 0xff, 0x71, 0xf8, 0x5d, 0x4a, 0x18, 0x87,
- 0x17, 0xb0, 0x6c, 0x5e,
- 0x85, 0x7b, 0x54, 0xbb, 0xbc, 0x20, 0x63, 0x6f, 0x69, 0x75, 0x9b, 0x92,
- 0x1c, 0x28, 0x85, 0x42,
- 0x9d, 0x16, 0x4e, 0x85, 0xa3, 0xd9, 0x3c, 0x29, 0xc2, 0x5a, 0x5c, 0x36,
- 0x98, 0x7e, 0x9d, 0x28,
- 0xd3, 0x5c, 0xef, 0xd1, 0x89, 0xdc, 0x05, 0xc8, 0x4f, 0xec, 0x0d, 0xe5,
- 0xa3, 0xeb, 0xd3, 0x06,
- 0xd1, 0x9b, 0xb2, 0x8b, 0xa4, 0xb9, 0x99, 0x98, 0x79, 0xc5, 0x32, 0x43,
- 0xbc, 0x06, 0xd1, 0xee,
- 0x1e, 0xe7, 0xfd, 0xd0, 0x68, 0x56, 0x38, 0xb6, 0xf1, 0x54, 0x86, 0x8d,
- 0xa5, 0xa2, 0x1e, 0x91,
- 0x3e, 0xca, 0x64, 0x39, 0xfd, 0xc9, 0xec, 0xff, 0x17, 0x81, 0xf0, 0x7f,
- 0x96, 0x6a, 0x3e, 0x09,
- 0x84, 0xf9, 0x9b, 0x96, 0x4b, 0xf3, 0x2d, 0x47, 0x72, 0x80, 0x65, 0xc1,
- 0xf2, 0xbf, 0x84, 0x36,
- 0x2f, 0xbf, 0x06, 0x81, 0xa1, 0xb4, 0xc8, 0x12, 0x7f, 0xff, 0x35, 0x55,
- 0x80, 0x99, 0x2f, 0x31,
- 0x7d, 0xd5, 0x07, 0x5f, 0xce, 0x82, 0x55, 0x15, 0x35, 0x34, 0xdd, 0xad,
- 0x01, 0x43, 0x7d, 0x66,
- 0x74, 0xcd, 0x7f, 0xd9, 0x8d, 0x06, 0x2e, 0xbe, 0xf6, 0x65, 0xdf, 0x23,
- 0x93, 0xe6, 0x74, 0x34,
- 0x41, 0xd8, 0x3e, 0x3c, 0x1e, 0x2e, 0x25, 0xba, 0x14, 0x9c, 0x12, 0x74,
- 0x88, 0xc4, 0x41, 0x87,
- 0x50, 0xad, 0x5c, 0x84, 0x42, 0x53, 0x01, 0x57, 0x7c, 0xe2, 0xd7, 0x5e,
- 0x9e, 0x37, 0x50, 0xbf,
- 0x21, 0xaf, 0x56, 0xc4, 0x62, 0x4c, 0x9a, 0x61, 0xfd, 0x20, 0x88, 0xa1,
- 0xdd, 0x5f, 0x21, 0xec,
- 0x55, 0x62, 0x29, 0x1d, 0xef, 0x4a, 0xb4, 0xdf, 0x0b, 0x45, 0x57, 0x82,
- 0x4e, 0xb9, 0x55, 0xd8,
- 0xe7, 0xcb, 0x61, 0x19, 0xed, 0x27, 0x40, 0xe4, 0xb6, 0xe0, 0x3e, 0xe1,
- 0x56, 0x5e, 0xe7, 0xc1,
- 0xcd, 0xbb, 0x12, 0x01, 0xe1, 0x8a, 0x3d, 0x7e, 0xbe, 0xb8, 0x8b, 0x68,
- 0x06, 0x49, 0xcd, 0x97,
- 0x0d, 0x55, 0xc2, 0x32, 0x19, 0x4e, 0x80, 0x0b, 0xaf, 0x03, 0x7c, 0x01,
- 0xac, 0xbc, 0x0d, 0x41,
- 0x7c, 0x57, 0xc8, 0x72, 0x39, 0x51, 0x1b, 0x3d, 0x2e, 0xc1, 0x23, 0xfe,
- 0xef, 0xd4, 0x7c, 0x12,
- 0x37, 0xd2, 0x1c, 0xbf, 0xbe, 0x4d, 0x97, 0x54, 0xd4, 0xd0, 0xf2, 0xf1,
- 0x04, 0xcf, 0x37, 0x5b,
- 0x1a, 0xaa, 0x47, 0x64, 0x32, 0x9c, 0xc3, 0x16, 0x9d, 0x06, 0xf8, 0x02,
- 0x9b, 0xbb, 0x1a, 0x82,
- 0xa2, 0x5e, 0xe5, 0x91, 0xa9, 0xc3, 0x9e, 0xfe, 0xce, 0x2e, 0x52, 0x1a,
- 0xe0, 0x83, 0xa2, 0x55,
- 0xaf, 0x0b, 0x27, 0xa3, 0xb0, 0x8d, 0x1e, 0xf5, 0x61, 0x2d, 0x2e, 0x1b,
- 0x4c, 0x3f, 0xaf, 0x14,
- 0xf6, 0xbe, 0x03, 0xa1, 0xb1, 0x5a, 0x64, 0x09, 0xde, 0x9e, 0xfb, 0xcb,
- 0x40, 0xad, 0xf6, 0xf9,
- 0xe8, 0x59, 0xfe, 0x71, 0xd9, 0x0c, 0x5c, 0xbf, 0x2f, 0xca, 0x7d, 0x46,
- 0xe5, 0x0f, 0xe8, 0x68,
- 0x7e, 0x90, 0x95, 0x28, 0x14, 0x34, 0x87, 0x6d, 0x18, 0xe8, 0x1c, 0x58,
- 0xf0, 0x39, 0x7e, 0xfa,
- 0x5e, 0xbd, 0x0c, 0xc1, 0x81, 0xab, 0x53, 0x24, 0xfe, 0x3d, 0x6a, 0xaa,
- 0xc3, 0xf1, 0x5e, 0x62,
- 0xfa, 0x69, 0x0e, 0xbe, 0x5f, 0xc7, 0xaa, 0x2a, 0x6a, 0x68, 0x79, 0x99,
- 0x02, 0x86, 0xfa, 0xcc,
- 0xb5, 0xa1, 0x60, 0xc7, 0x82, 0x11, 0xdd, 0xe3, 0xfc, 0x2b, 0xd6, 0x19,
- 0xd7, 0x84, 0xb5, 0x96,
- 0x92, 0x84, 0xd1, 0xed, 0x97, 0xf2, 0x20, 0x72, 0x5b, 0x70, 0x1f, 0x91,
- 0x2b, 0x2f, 0x92, 0x81,
- 0x56, 0x27, 0xbb, 0x6a, 0x35, 0xfc, 0x66, 0xa7, 0x26, 0x99, 0x96, 0x77,
- 0xbf, 0xc3, 0x56, 0x44,
- 0xf1, 0xb6, 0x2b, 0x62, 0x31, 0x26, 0x4d, 0xd1, 0x9f, 0x10, 0x44, 0xb1,
- 0x8f, 0xce, 0xf1, 0x76,
- 0x04, 0x4d, 0xba, 0xb4, 0x5a, 0xca, 0xfb, 0xa0, 0x6c, 0x52, 0x7e, 0x8f,
- 0x3e, 0x19, 0x04, 0x13,
- 0x6e, 0x67, 0x38, 0xbd, 0xbf, 0x9a, 0xed, 0xa8, 0x6b, 0x63, 0x27, 0x21,
- 0x08, 0x5d, 0x6e, 0xb6,
- 0xa5, 0x56, 0xcd, 0x52, 0x29, 0xbf, 0xb7, 0x26, 0x8f, 0xa0, 0xed, 0x60,
- 0x2f, 0xe0, 0xa5, 0xda,
- 0xe6, 0x49, 0xae, 0x34, 0x1a, 0xf4, 0x0e, 0xcc, 0xad, 0x15, 0xc0, 0xb2,
- 0xb8, 0xc9, 0xe6, 0xb5,
- 0xc8, 0x74, 0x67, 0x98, 0x4c, 0x93, 0x88, 0xf6, 0xc9, 0x1f, 0x0b, 0xb4,
- 0xd6, 0xc7, 0xc8, 0xf0,
- 0x7b, 0x5f, 0xe0, 0xb1, 0xb9, 0x2d, 0x32, 0xe5, 0x6f, 0x4f, 0x9c, 0x84,
- 0x20, 0xb7, 0x7b, 0x9d,
- 0x73, 0xc5, 0x57, 0x1a, 0x0d, 0x7a, 0x07, 0x66, 0xb7, 0xeb, 0x60, 0x59,
- 0x5c, 0x85, 0x73, 0xbb,
- 0x51, 0x2f, 0x93, 0xa9, 0xb5, 0x80, 0x4f, 0x7f, 0x67, 0x17, 0x29, 0x0d,
- 0x70, 0xa0, 0x51, 0xcb,
- 0x95, 0x8c, 0xf9, 0x2e, 0x17, 0x8e, 0x09, 0xaa, 0x1a, 0xfe, 0xa0, 0xeb,
- 0xe4, 0x4c, 0x95, 0x0e,
- 0x66, 0xfd, 0x8f, 0x16, 0x0b, 0xcd, 0xd8, 0x2b, 0xb3, 0xc7, 0xdb, 0xfc,
- 0x74, 0x6f, 0x66, 0x90,
- 0xd6, 0x93, 0x9a, 0x48, 0x24, 0xc5, 0xb0, 0x40, 0x38, 0x4b, 0x8d, 0x39,
- 0x73, 0x65, 0xd6, 0x61,
- 0x5b, 0x72, 0x79, 0x58, 0x2c, 0xb2, 0xe6, 0xac, 0x89, 0x9a, 0xea, 0x76,
- 0x13, 0x7f, 0x5b, 0x05,
- 0xe3, 0x86, 0xdb, 0xad, 0xb7, 0xed, 0xbb, 0x44, 0xda, 0xb2, 0x40, 0x6e,
- 0x68, 0x47, 0xe3, 0xd2,
- 0x63, 0x32, 0xfa, 0x8f, 0xa6, 0xd4, 0x6d, 0xa3, 0xc4, 0x60, 0x5b, 0x20,
- 0xa4, 0xe1, 0x63, 0xf7,
- 0x9b, 0x9c, 0xa9, 0x6b, 0xd4, 0x76, 0x5b, 0xd9, 0x98, 0x21, 0x1d, 0x1f,
- 0xb9, 0x8a, 0x9b, 0xd3,
- 0xbd, 0x3b, 0xd7, 0x6c, 0x36, 0x46, 0xe8, 0x60, 0x24, 0x8f, 0x2a, 0xc4,
- 0xab, 0xb6, 0xbd, 0xb0,
- 0x77, 0x88, 0xed, 0xae, 0x57, 0xb0, 0xfc, 0xc6, 0xdb, 0xb9, 0x1e, 0xd6,
- 0x62, 0x9c, 0x77, 0xa8,
- 0x8d, 0xe1, 0xe3, 0x10, 0x08, 0x77, 0x56, 0xec, 0xb1, 0xd1, 0x67, 0x4f,
- 0x60, 0x1a, 0x8d, 0x64,
- 0xbc, 0xb9, 0x18, 0x41, 0xc1, 0x95, 0xa6, 0x48, 0x3f, 0x7a, 0xd4, 0x97,
- 0x45, 0x21, 0xbc, 0xc4,
- 0xf3, 0x71, 0x76, 0x38, 0x1c, 0x43, 0xd1, 0x81, 0xa9, 0x39, 0x7b, 0x17,
- 0x90, 0x23, 0xf3, 0x9e,
- 0xf4, 0x79, 0x5e, 0xfb, 0x9c, 0x3f, 0xf8, 0x59, 0xe8, 0xb7, 0xc4, 0x6d,
- 0x5f, 0x40, 0xf4, 0x11,
- 0x26, 0xa7, 0x7e, 0x07, 0xe2, 0x30, 0xb3, 0xb9, 0xbc, 0xae, 0x37, 0xdb,
- 0x12, 0x3c, 0x26, 0x63,
- 0xd4, 0x54, 0xc7, 0x12, 0x09, 0xa0, 0x2c, 0x10, 0x0e, 0x62, 0xb2, 0x9f,
- 0x6c, 0x88, 0xd4, 0x89,
- 0x80, 0xb4, 0x21, 0x22, 0x11, 0x39, 0xd6, 0xe7, 0x1e, 0xd2, 0x1b, 0x4e,
- 0xcc, 0xa6, 0x80, 0x25,
- 0x93, 0x06, 0x1e, 0xc0, 0x60, 0x21, 0x6e, 0x5a, 0x40, 0x85, 0xe1, 0xc2,
- 0xc5, 0xb8, 0x93, 0xf5,
- 0xb6, 0xe4, 0xf2, 0xb0, 0x58, 0xa7, 0x0f, 0x9b, 0xd1, 0xf7, 0x17, 0xec,
- 0x26, 0xfe, 0xb6, 0x0a,
- 0x15, 0x38, 0xd8, 0x0c, 0x06, 0xb7, 0xdf, 0x4d, 0x04, 0x2c, 0xbb, 0xa5,
- 0x28, 0xea, 0x15, 0x2b,
- 0xcc, 0x39, 0xdd, 0x2c, 0x16, 0x59, 0x73, 0x56, 0xa5, 0x4d, 0x75, 0x3b,
- 0xe8, 0xde, 0xcc, 0xe3,
- 0xac, 0x4e, 0xb5, 0xd4, 0x6a, 0x3b, 0xcc, 0x8d, 0x4c, 0xf1, 0xef, 0xee,
- 0xbd, 0x45, 0xac, 0x88,
- 0xc1, 0x6c, 0x1f, 0x1e, 0x0f, 0x17, 0xf3, 0x5d, 0x0a, 0x4e, 0x09, 0x3a,
- 0x44, 0x62, 0xc1, 0xa2,
- 0xee, 0xd3, 0x19, 0x9f, 0xae, 0xa3, 0x3b, 0x4f, 0x75, 0xb1, 0x3c, 0x6f,
- 0xc4, 0xfb, 0xee, 0x93,
- 0xae, 0x89, 0xe8, 0x8e, 0x47, 0x5e, 0x50, 0xdd, 0x7a, 0xd8, 0xd0, 0x48,
- 0xa2, 0xa8, 0xae, 0x60,
- 0x9c, 0x94, 0x81, 0xa8, 0x54, 0x0a, 0x72, 0x01, 0xd9, 0xaf, 0xa2, 0x65,
- 0x76, 0xe9, 0x9c, 0x5c,
- 0xd9, 0x01, 0x05, 0x20, 0x10, 0xee, 0xac, 0x1b, 0xa1, 0x61, 0xce, 0x9e,
- 0xc0, 0x34, 0xd9, 0xc8,
- 0xa3, 0xdc, 0x2a, 0xbc, 0x5e, 0x10, 0xd0, 0xd6, 0xd5, 0xdb, 0xac, 0x49,
- 0x0e, 0x14, 0xa3, 0x21,
- 0x25, 0xe2, 0xec, 0x70, 0x38, 0x86, 0x61, 0xc1, 0x91, 0x72, 0xf6, 0x2e,
- 0xe3, 0x46, 0x25, 0xff,
- 0xeb, 0x1c, 0x6c, 0x06, 0x03, 0xba, 0x8e, 0xc7, 0x02, 0x16, 0xbc, 0xb3,
- 0x14, 0x75, 0xeb, 0xf4,
- 0x40, 0x5a, 0xf1, 0x11, 0xe9, 0xfd, 0x6b, 0x92, 0x0f, 0x69, 0xec, 0x27,
- 0x66, 0x53, 0x40, 0xf3,
- 0x48, 0xc0, 0x46, 0xba, 0x5d, 0xaa, 0x5e, 0x11, 0xd7, 0xcd, 0x10, 0xfa,
- 0x1a, 0x61, 0x48, 0xd5,
- 0x6d, 0x22, 0xaa, 0xca, 0x65, 0x2c, 0x3f, 0xd0, 0x46, 0xbf, 0xe6, 0xd4,
- 0xf9, 0x27, 0x6d, 0x2a,
- 0x28, 0xb7, 0x2e, 0x42, 0x21, 0xc8, 0xe1, 0xca, 0x3e, 0x71, 0x8a, 0x2f,
- 0x4f, 0xfa, 0x28, 0xbe,
- 0xff, 0xa6, 0x7b, 0x27, 0xf2, 0xde, 0x1f, 0xa2, 0x1d, 0xcf, 0xf9, 0x45,
- 0xd2, 0x08, 0xff, 0xab,
- 0x0a, 0x5d, 0xea, 0xf1, 0x99, 0x32, 0xa9, 0xd3, 0xee, 0x8d, 0xc3, 0x7b,
- 0x63, 0xdf, 0x0a, 0xce,
- 0x4f, 0xc8, 0x6e, 0x79, 0xdd, 0xd6, 0x77, 0xc9, 0x96, 0x43, 0xaf, 0x80,
- 0xd5, 0x02, 0x4f, 0x5a,
- 0x19, 0xef, 0xd5, 0x13, 0xe8, 0x2a, 0x11, 0x6e, 0xb0, 0xda, 0x39, 0xf7,
- 0x6a, 0xc1, 0x19, 0x1e,
- 0x53, 0xe8, 0xce, 0xf3, 0x98, 0xe5, 0xd3, 0x2f, 0x51, 0x3e, 0x16, 0xab,
- 0x6f, 0x4d, 0x53, 0x23,
- 0xf5, 0xfb, 0x91, 0xd6, 0x6b, 0xec, 0xb6, 0x71, 0xf3, 0x42, 0x3a, 0x3e,
- 0xb1, 0xd7, 0xf5, 0x65,
- 0xb9, 0x76, 0x6d, 0xd8, 0x6c, 0x8c, 0x13, 0xc0, 0x48, 0xdd, 0x54, 0x4b,
- 0x95, 0xaf, 0xb9, 0xa3,
- 0xcb, 0x31, 0xf5, 0xef, 0x96, 0x25, 0x5a, 0x8e, 0xe4, 0xc3, 0xca, 0x41,
- 0x27, 0xbd, 0xcb, 0x6c,
- 0x45, 0x95, 0x84, 0x88, 0x44, 0xe4, 0xde, 0x1a, 0x78, 0xce, 0x6c, 0xfb,
- 0xb6, 0xdd, 0x45, 0x94,
- 0x57, 0xa5, 0x74, 0x47, 0xc2, 0x2f, 0x28, 0x8f, 0x3d, 0x6c, 0x68, 0x24,
- 0x51, 0x54, 0x57, 0x30,
- 0xd7, 0x11, 0x55, 0x65, 0xd3, 0x16, 0xfe, 0x68, 0x23, 0xbe, 0x73, 0x6a,
- 0x9d, 0xf2, 0xd7, 0x15,
- 0x68, 0xed, 0xdf, 0x53, 0xc8, 0x35, 0x8a, 0x58, 0x31, 0x18, 0x66, 0x08,
- 0x29, 0xa9, 0x68, 0x4d,
- 0x4c, 0x8d, 0xfc, 0x0e, 0x07, 0x60, 0xa5, 0xb1, 0xbb, 0x9f, 0x6e, 0x75,
- 0x24, 0x78, 0x4c, 0xc6,
- 0x20, 0x2d, 0x99, 0xe9, 0x95, 0x9f, 0xd4, 0x49, 0xe6, 0xd5, 0x76, 0xf2,
- 0x33, 0xc8, 0x20, 0x98,
- 0x4a, 0x07, 0x1b, 0xe0, 0x70, 0xcf, 0xc2, 0x41, 0xe1, 0xe4, 0x2f, 0x5c,
- 0x05, 0x8c, 0x4a, 0x3d,
- 0x05, 0xcf, 0x75, 0x99, 0xad, 0x19, 0xb5, 0x88, 0x77, 0xa7, 0x80, 0xdc,
- 0xd0, 0x8e, 0x05, 0x67,
- 0xc6, 0x64, 0x37, 0xdd, 0x8f, 0x6b, 0xda, 0x85, 0x4b, 0xc0, 0xb6, 0x40,
- 0x8b, 0x01, 0xc6, 0x2d,
- 0x14, 0xba, 0x17, 0x21, 0xf1, 0x64, 0x91, 0x65, 0x1f, 0xd9, 0x45, 0xf6,
- 0xc6, 0x7d, 0x14, 0x5f,
- 0x9e, 0x53, 0xdc, 0xf2, 0x79, 0x6f, 0xee, 0x51, 0xef, 0x86, 0x9d, 0xc3,
- 0x69, 0x04, 0x9e, 0xb4,
- 0xd5, 0xd6, 0x08, 0x3f, 0xfe, 0x73, 0x62, 0x38, 0x15, 0x97, 0x4c, 0xcc,
- 0x82, 0x1f, 0xd5, 0xfd,
- 0x4d, 0x0f, 0x33, 0x23, 0xf0, 0xb3, 0xeb, 0x99, 0xa0, 0x6a, 0x90, 0x26,
- 0xca, 0xef, 0x4d, 0xb2,
- 0xce, 0xfe, 0x80, 0x76, 0x3b, 0x3c, 0xef, 0x06, 0x93, 0x64, 0x4a, 0x9d,
- 0xf7, 0x33, 0xce, 0x0b,
- 0x5a, 0xf0, 0xb6, 0x75, 0xdb, 0x61, 0xa8, 0x84, 0x92, 0x6f, 0x14, 0x25,
- 0xfd, 0xe8, 0x5a, 0x71,
- 0x3f, 0x48, 0xab, 0x14, 0x0a, 0x1a, 0xa2, 0xd7, 0x0c, 0x74, 0x0e, 0x2c,
- 0x78, 0xfd, 0x3f, 0x7d,
- 0x8a, 0xe9, 0xcb, 0xd3, 0x88, 0x0b, 0x7f, 0x34, 0xf0, 0x5f, 0xd8, 0x35,
- 0xaf, 0x79, 0x8a, 0xeb,
- 0x83, 0xf1, 0xb3, 0x55, 0xcb, 0x8f, 0x04, 0x9f, 0x33, 0x0e, 0xda, 0xbb,
- 0x3d, 0xdc, 0x83, 0xb9,
- 0xc3, 0xab, 0x42, 0x44, 0x22, 0x72, 0x6f, 0x0d, 0x3c, 0x67, 0x36, 0x9c,
- 0x5b, 0x8f, 0xc3, 0x4a,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x94, 0x0e, 0x36, 0x03, 0xe0, 0x5d, 0x47, 0x82, 0x01, 0x0b, 0x5e, 0xb8,
- 0x0a, 0xdb, 0x94, 0x7a,
- 0x1f, 0x65, 0x32, 0xfd, 0x9f, 0x85, 0x76, 0x9e, 0xea, 0xa1, 0x78, 0xde,
- 0x4b, 0x35, 0x1f, 0xe5,
- 0x98, 0xd9, 0x3b, 0x1c, 0x0e, 0xc0, 0x89, 0xa1, 0xb5, 0xfd, 0xdc, 0xea,
- 0x48, 0xf0, 0x98, 0x4f,
- },
- { /* 15 */
- 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3, 0xef, 0x79, 0x82,
- 0x53, 0x11, 0xf0, 0xcd,
- 0x03, 0x96, 0x94, 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba, 0xe7, 0x37,
- 0x83, 0x91, 0xbd, 0x5b,
- 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03, 0xc3, 0x8e, 0xc9, 0x90,
- 0x58, 0x92, 0xad, 0x69,
- 0xa5, 0x82, 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59, 0x28,
- 0x51, 0x68, 0x84, 0xbe,
- 0xd4, 0x34, 0xac, 0xe0, 0xa9, 0x29, 0xa0, 0x9f, 0x89, 0x76, 0x4d, 0xf9,
- 0xc1, 0x13, 0x51, 0x50,
- 0xfc, 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e, 0x11, 0x74,
- 0xb4, 0x15, 0x71, 0x34,
- 0xd6, 0xd0, 0xf5, 0x06, 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7, 0x62,
- 0x82, 0x4c, 0x87, 0x83,
- 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63, 0x85, 0xdc, 0x78, 0x44, 0x13,
- 0x95, 0x54, 0x07, 0xd0,
- 0xd2, 0xdb, 0x47, 0x09, 0x71, 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40, 0x97,
- 0x04, 0xf2, 0xe8, 0xe6,
- 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07, 0x9f, 0xf2, 0x98, 0x1f, 0xf1, 0xa4,
- 0xba, 0xb9, 0xfe, 0xae,
- 0x65, 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c, 0x3a, 0x76,
- 0x4b, 0x78, 0xc5, 0xdc,
- 0x42, 0x54, 0x28, 0x16, 0x5c, 0x83, 0x98, 0x81, 0x1b, 0x53, 0x9b, 0x10,
- 0xf4, 0xee, 0xe9, 0x4c,
- 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e, 0x08, 0x89, 0x2c, 0xe5,
- 0x72, 0x50, 0x86, 0x29,
- 0xbb, 0x57, 0x85, 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60, 0x3d,
- 0x06, 0x8b, 0x9c, 0x95,
- 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf, 0x02, 0xa0, 0xad, 0xb2, 0xeb, 0x78,
- 0xf3, 0xb8, 0x4f, 0x01,
- 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff, 0x12, 0x1b, 0xfd,
- 0xfc, 0xc9, 0xfa, 0x43,
- 0x2e, 0xa1, 0x95, 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf, 0x51, 0xe3,
- 0xb0, 0xe7, 0x99, 0xd2,
- 0x7f, 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b, 0x8e, 0xd8, 0xb4, 0x96,
- 0x9a, 0x25, 0xb2, 0x92,
- 0xad, 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd, 0xfc, 0x19, 0xf4, 0x01,
- 0x9e, 0xd7, 0x5a, 0x74,
- 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54, 0xaf, 0x29, 0xfb, 0xb7, 0x0d, 0x6e,
- 0xc5, 0xe1, 0xb9, 0xb6,
- 0x6b, 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec, 0x9a, 0x31,
- 0x41, 0x26, 0xa2, 0xa0,
- 0x3b, 0xf4, 0x67, 0xcf, 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22, 0xe8,
- 0xab, 0x2a, 0xe2, 0x68,
- 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50, 0xae, 0xa5, 0x3b, 0xc7, 0x9d,
- 0x81, 0xe8, 0xc9, 0x28,
- 0x7e, 0x3d, 0x69, 0x43, 0x20, 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9, 0x3a,
- 0x5a, 0xeb, 0xd9, 0x1a,
- 0x3c, 0x69, 0x41, 0x55, 0x7c, 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72, 0x2a,
- 0xae, 0x05, 0x30, 0x56,
- 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5, 0xf3, 0xc1, 0x36, 0xa6, 0xf5, 0x20,
- 0x2b, 0x1f, 0x11, 0x98,
- 0x67, 0x75, 0x8e, 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80, 0xed,
- 0x08, 0x27, 0x13, 0x0f,
- 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad, 0xa7, 0xec, 0x0a, 0x3a, 0x27, 0x4d,
- 0x8f, 0x44, 0x46, 0xb2,
- 0x16, 0xc3, 0x66, 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94, 0x3c,
- 0x98, 0x5c, 0xc6, 0xe1,
- 0x88, 0xb5, 0x45, 0x3d, 0xcb, 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef, 0xfc,
- 0x62, 0x1e, 0xa0, 0x37,
- 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d, 0x04, 0x83, 0x99, 0xa7, 0x15, 0xf0,
- 0x25, 0xb3, 0x9e, 0x02,
- 0xbc, 0xca, 0xa3, 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30, 0xff,
- 0x03, 0xa4, 0x4e, 0xab,
- 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5, 0x92, 0xe4, 0x47, 0x6c, 0x5a, 0x4b,
- 0x4d, 0xf3, 0x59, 0x49,
- 0xc2, 0xf7, 0xca, 0x35, 0x74, 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9, 0xc5,
- 0x59, 0x4f, 0x97, 0xb1,
- 0x4e, 0x49, 0x3d, 0x07, 0x2f, 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81, 0xcc,
- 0xbd, 0xef, 0x58, 0xe3,
- 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c, 0x7d, 0xe6, 0x95, 0x1d,
- 0x2d, 0x94, 0x8d, 0x0d,
- 0x0e, 0xf9, 0x4c, 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0, 0xa0, 0x47,
- 0x0a, 0x5e, 0x67, 0x7c,
- 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60, 0x85, 0xde, 0xe5, 0xf9, 0x64, 0xb9,
- 0x97, 0x2d, 0x73, 0xa3,
- 0x99, 0xeb, 0x05, 0x72, 0xea, 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b, 0x02,
- 0xff, 0x6d, 0xb4, 0xe8,
- 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8, 0x9d, 0x52, 0x35, 0xad, 0x1a, 0xdc,
- 0x49, 0x01, 0xb1, 0xaf,
- 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb, 0xcc, 0xac, 0x27, 0xcf, 0x49, 0x7d,
- 0x50, 0xb5, 0xbe, 0x66,
- 0x44, 0xbb, 0xc3, 0xff, 0x84, 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96, 0x7e,
- 0x31, 0x0f, 0x50, 0xfa,
- 0x2d, 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3, 0xd9, 0x65, 0xb6, 0xd4,
- 0x33, 0x76, 0x24, 0x89,
- 0x5f, 0x17, 0x7d, 0x48, 0x0e, 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45, 0x32,
- 0x20, 0x9c, 0x4c, 0x3c,
- 0x78, 0xd2, 0x82, 0xaa, 0xf8, 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4, 0x54,
- 0x9f, 0x0a, 0x60, 0xac,
- 0xcb, 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f, 0x29, 0x40,
- 0x56, 0x3e, 0x22, 0xf3,
- 0xd5, 0x46, 0x61, 0x93, 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10, 0x55,
- 0x01, 0xdd, 0x3a, 0xd8,
- 0x73, 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59, 0xbb, 0x75, 0xae, 0x4a,
- 0xd3, 0x24, 0x03, 0x3d,
- 0x5c, 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d, 0xa2, 0x05,
- 0xa3, 0x0d, 0xf1, 0x67,
- 0xfe, 0x9e, 0x8b, 0x60, 0x08, 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab, 0xef,
- 0xf7, 0x4a, 0xa7, 0xe7,
- 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72, 0xc2, 0x36, 0x2d, 0xc4,
- 0xc7, 0x98, 0xcd, 0xc5,
- 0x1a, 0xde, 0x73, 0xc4, 0xae, 0x1e, 0x9c, 0x02, 0x82, 0xf4, 0x8e, 0xe0,
- 0xd1, 0x5d, 0x77, 0x4e,
- 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a, 0x8f, 0x60, 0x50, 0xc2,
- 0x05, 0x2f, 0xd2, 0x3e,
- 0xee, 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f, 0x93, 0x9d, 0x32, 0xbd,
- 0xaa, 0xf7, 0xd8, 0xb0,
- 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9, 0x69, 0xe0, 0x80, 0x47, 0x85, 0x48,
- 0x2c, 0x49, 0xb7, 0xd5,
- 0xc8, 0x05, 0x34, 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35, 0xce, 0x77,
- 0xd5, 0xaf, 0x9f, 0xa8,
- 0x8c, 0xbe, 0xf7, 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1, 0x58, 0x09,
- 0xe4, 0xa0, 0xcf, 0x52,
- 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11, 0x19, 0x96, 0x80, 0xc0, 0x7a,
- 0x0c, 0xd5, 0xfb, 0xe9,
- 0x38, 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56, 0xf2, 0x86, 0xc5, 0xdf,
- 0x28, 0xbb, 0x5f, 0x33,
- 0x59, 0xf8, 0x96, 0xa1, 0xd6, 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48, 0x5c,
- 0xe5, 0x7d, 0xf5, 0x8a,
- 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b, 0x39, 0x81, 0x20, 0xaa,
- 0x02, 0x79, 0x74, 0x73,
- 0x10, 0x2c, 0x8d, 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee, 0x99, 0x52,
- 0x5d, 0xbd, 0x7f, 0x57,
- 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5, 0xe2, 0x02, 0xb3, 0x0b, 0xa8,
- 0xfd, 0x14, 0xc0, 0x9b,
- 0xa3, 0x6d, 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54, 0x46,
- 0x94, 0x89, 0x3d, 0x08,
- 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6, 0x84, 0x8e, 0x52, 0xa0, 0xf0, 0x85,
- 0x0f, 0x71, 0xb5, 0x42,
- 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41, 0x7a, 0x47, 0x70,
- 0x89, 0xcf, 0xda, 0x27,
- 0xfd, 0x08, 0x1f, 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c, 0xd8,
- 0x74, 0xdb, 0x1a, 0xbc,
- 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9, 0x4f, 0x51, 0xf6, 0x23, 0xd3, 0x4c,
- 0x11, 0x93, 0x1c, 0xc6,
- 0x27, 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88, 0x17, 0x7f, 0xa1, 0x66,
- 0xbf, 0x96, 0x2c, 0x90,
- 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13, 0x77, 0x4f, 0x64, 0x06, 0x05, 0xa5,
- 0x24, 0x6e, 0xa4, 0xda,
- 0xf2, 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde, 0xb1, 0x33,
- 0xbe, 0x4b, 0x16, 0x48,
- 0x92, 0x6b, 0x36, 0xf9, 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61, 0x1c,
- 0xb3, 0x43, 0xd7, 0x79,
- 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4, 0x2a, 0x5b, 0x97, 0x5f,
- 0x84, 0xc7, 0x1b, 0x16,
- 0x5d, 0xf3, 0x24, 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff, 0xa9,
- 0x63, 0xc3, 0x9a, 0xef,
- 0xf1, 0x15, 0x0a, 0xe4, 0x17, 0x50, 0x26, 0xb1, 0x76, 0x64, 0x56, 0x04,
- 0x3d, 0xda, 0xab, 0x13,
- 0x21, 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8, 0xac, 0x08,
- 0x7a, 0x77, 0x95, 0x26,
- 0x37, 0xe9, 0x72, 0xde, 0xf3, 0x16, 0x4d, 0xf1, 0x5b, 0x91, 0x38, 0x34,
- 0xe2, 0x2b, 0x53, 0xc7,
- 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27, 0xf3, 0x3e, 0x21, 0x8b,
- 0xb7, 0xb1, 0x3f, 0x9f,
- 0x8e, 0x5a, 0xae, 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2, 0x92,
- 0xa7, 0xff, 0x19, 0x81,
- 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64, 0x0c, 0x46, 0x68, 0x2a, 0x3f, 0xd3,
- 0x6f, 0x16, 0x61, 0x06,
- 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d, 0x87, 0x25, 0x0f,
- 0x26, 0x17, 0xd0, 0xa9,
- 0xec, 0x56, 0x5f, 0xba, 0x45, 0xbd, 0xc6, 0xc9, 0x7b, 0xf0, 0x88, 0x26,
- 0xe9, 0xa8, 0x0e, 0x63,
- 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb, 0x6f, 0xc3, 0xb4, 0x52, 0x7b, 0xc0,
- 0xfa, 0x42, 0x66, 0xd6,
- 0x9c, 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65, 0x5c, 0x3f, 0xc1, 0x5b,
- 0xb9, 0x1d, 0xb0, 0x05,
- 0xd1, 0x4d, 0xd3, 0x9c, 0x1d, 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7, 0xa0,
- 0x87, 0x63, 0x55, 0xbd,
- 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1, 0xc1, 0x3d, 0xc2, 0x38,
- 0xa5, 0x86, 0x6d, 0xf2,
- 0xb8, 0xc1, 0x11, 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87, 0x0a,
- 0x85, 0x1a, 0x21, 0xce,
- 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4, 0x55, 0x31, 0x08, 0x0c, 0x4f,
- 0x70, 0x29, 0xf2, 0x5a,
- 0xe2, 0xaf, 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28, 0x61,
- 0xe3, 0xf6, 0x69, 0x1f,
- 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0, 0x0b, 0x35, 0xeb, 0x66, 0x55, 0x67,
- 0x21, 0x41, 0x76, 0xe4,
- 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15, 0xcc, 0xaa, 0xce,
- 0x42, 0x82, 0xec, 0x0b,
- 0xb4, 0xdc, 0x04, 0x68, 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d, 0xd6,
- 0xcc, 0x1b, 0x90, 0x61,
- 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b, 0x7c, 0xca, 0xbf, 0x01, 0x21,
- 0xb5, 0xc8, 0x4b, 0xec,
- 0x13, 0xba, 0x19, 0xa9, 0x69, 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e, 0x65,
- 0xde, 0x2c, 0xc2, 0x0c,
- 0x98, 0x99, 0xc8, 0x01, 0xce, 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76, 0xae,
- 0x3f, 0xa3, 0xdf, 0x60,
- 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25, 0x7c, 0x42, 0xd5,
- 0xad, 0xa1, 0x7e, 0xfd,
- 0xa6, 0x14, 0xd0, 0xb2, 0xfa, 0x4f, 0x09, 0x95, 0x46, 0xd4, 0xbe, 0x1f,
- 0xd2, 0xf9, 0x39, 0xe5,
- 0x62, 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73, 0x83, 0x4c, 0x6a, 0xb4,
- 0x4e, 0x57, 0x17, 0xe2,
- 0xb3, 0x41, 0x22, 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd, 0x14,
- 0xc9, 0x34, 0x42, 0x5f,
- 0x5e, 0x65, 0xb0, 0x3b, 0x2a, 0xc9, 0xab, 0xaa, 0x62, 0x10, 0x18, 0x9e,
- 0xe0, 0x52, 0x27, 0xb4,
- 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a, 0xcf, 0xa2, 0xf3, 0xe6,
- 0x13, 0xea, 0x68, 0xb5,
- 0x43, 0x26, 0xe5, 0x65, 0x78, 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6, 0xbc,
- 0x34, 0x20, 0x82, 0xc4,
- 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c, 0xfb, 0x04, 0xc7, 0x2b, 0xdf, 0x03,
- 0x61, 0xba, 0xee, 0x9c,
- 0x35, 0x0d, 0x2b, 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82, 0xaf,
- 0xa1, 0x74, 0x85, 0x14,
- 0x52, 0x78, 0xa5, 0x2a, 0x59, 0x61, 0x36, 0xf8, 0x57, 0xbd, 0x02, 0x42,
- 0xa9, 0x53, 0x96, 0x1b,
- 0x26, 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8, 0xfc, 0xca,
- 0x7f, 0x58, 0x47, 0x18,
- 0x7d, 0xab, 0xfd, 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e, 0x0d,
- 0xd9, 0x7a, 0x64, 0x41,
- 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74, 0xbf, 0x7e, 0xed, 0x7a, 0xe1,
- 0x4f, 0x8a, 0x2d, 0x3a,
- 0x0a, 0xf2, 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17, 0xb2,
- 0x8c, 0xe0, 0x08, 0x19,
- 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70, 0xe4, 0xfb, 0x94, 0x33, 0xcb, 0xd2,
- 0xf1, 0xc1, 0x3b, 0x72,
- 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51, 0xab, 0x1f, 0x79,
- 0x6d, 0x6f, 0x15, 0x75,
- 0x6e, 0x11, 0xe4, 0x7f, 0x25, 0x2c, 0x9a, 0x21, 0xb6, 0xe1, 0x70, 0x68,
- 0x07, 0x56, 0xa6, 0x4d,
- 0x53, 0x0a, 0x68, 0x59, 0x7d, 0xc6, 0xe5, 0xab, 0x23, 0x6a, 0x5f, 0xee,
- 0x69, 0x9d, 0xfd, 0x93,
- 0x4a, 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24, 0x36, 0x39,
- 0x3b, 0x51, 0x37, 0x86,
- 0x79, 0xa0, 0x4f, 0xd9, 0xdc, 0x3d, 0x48, 0x22, 0x75, 0x6f, 0xb9, 0xf8,
- 0x5f, 0xc4, 0x0b, 0x24,
- 0x32, 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c, 0xd2, 0x6d,
- 0xa4, 0x5b, 0x57, 0x2a,
- 0x61, 0x9a, 0x65, 0xfb, 0x3a, 0xae, 0xb1, 0x86, 0x1f, 0xf6, 0x8d, 0x83,
- 0xcd, 0xc6, 0xaa, 0xb9,
- 0xfb, 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca, 0xb8, 0x7e, 0x41, 0xb6,
- 0xb1, 0x3a, 0xa3, 0x0a,
- 0x39, 0x10, 0x3e, 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98, 0x73,
- 0xe8, 0x75, 0x34, 0xbb,
- 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12, 0xc4, 0x69, 0xd6, 0x42, 0x63, 0x5e,
- 0x1a, 0x10, 0x41, 0x62,
- 0xfa, 0x95, 0x39, 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9, 0x1c, 0x1a,
- 0x71, 0xf4, 0xc8, 0x82,
- 0x5b, 0x1c, 0xcf, 0x47, 0x9e, 0xb7, 0xb2, 0x76, 0x05, 0x1d, 0xf2, 0xc7,
- 0xa6, 0x22, 0x23, 0x59,
- 0xa4, 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33, 0xae, 0xb9, 0x04, 0x84,
- 0x91, 0xa6, 0xef, 0x36,
- 0xba, 0x25, 0x48, 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d, 0x91,
- 0xc6, 0x45, 0xf7, 0x1d,
- 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c, 0x58, 0x6b, 0x54, 0xb6, 0xed, 0xbe,
- 0xcb, 0x4d, 0x36, 0x2c,
- 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75, 0xc6, 0x93, 0x3b, 0x57,
- 0xfe, 0xb0, 0x8e, 0x30,
- 0x05, 0x79, 0x7f, 0x7c, 0xb4, 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea, 0x59,
- 0x46, 0x70, 0x04, 0xed,
- 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c, 0x4a, 0xf8, 0x84, 0x69,
- 0x99, 0x81, 0xfc, 0x39,
- 0x3a, 0x86, 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f, 0x44,
- 0x6b, 0xe4, 0x89, 0xe0,
- 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91, 0x5c, 0xe8, 0xcd, 0x11, 0xf8, 0x4e,
- 0xee, 0xfe, 0xa8, 0x2e,
- 0x18, 0x3a, 0x2a, 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99, 0x34, 0x7b,
- 0x92, 0x02, 0xa1, 0x9d,
- 0xc9, 0x77, 0xf9, 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2, 0x93, 0xdb,
- 0x15, 0x61, 0xf4, 0x20,
- 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78, 0x35, 0x08, 0x4d, 0x56, 0x7d, 0x06,
- 0xc2, 0xb7, 0x1f, 0xfb,
- 0xf6, 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb, 0xf9, 0x04, 0x06, 0xc6,
- 0x38, 0xf5, 0x79, 0x2d,
- 0x63, 0x7e, 0x3c, 0x1d, 0x72, 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37, 0x18,
- 0x8e, 0x99, 0x7c, 0x6a,
- 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa, 0x1c, 0x12, 0x17,
- 0xa8, 0x8e, 0xac, 0xc3,
- 0x49, 0xd4, 0x1b, 0x9d, 0xd3, 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1, 0x0e,
- 0xb8, 0xc0, 0x8a, 0xdd,
- 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e, 0xa2, 0x2f, 0x46, 0x65, 0x98,
- 0x22, 0xe5, 0x38, 0x4f,
- 0x91, 0xfd, 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86, 0x2b,
- 0x30, 0xd2, 0x6a, 0x22,
- 0x97, 0x12, 0x49, 0x85, 0xd1, 0x0d, 0xeb, 0x4d, 0xe6, 0xf2, 0x8b, 0x45,
- 0xf5, 0x33, 0xd3, 0x94,
- 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf, 0x87, 0x7e, 0x48, 0x4b, 0x8f, 0xc1,
- 0x64, 0x95, 0x3c, 0xa2,
- 0x08, 0x16, 0xa7, 0x1e, 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad, 0x29,
- 0xcf, 0xbf, 0xde, 0xca,
- 0x7c, 0xd9, 0x30, 0xa5, 0x68, 0x43, 0x51, 0xfe, 0x12, 0x62, 0x53, 0xa1,
- 0x19, 0xb4, 0x0f, 0xc9,
- 0x02, 0xe4, 0x59, 0xe6, 0x48, 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba, 0x9b,
- 0x43, 0x5f, 0xd6, 0xd3,
- 0x77, 0x59, 0x03, 0x2e, 0xe7, 0x18, 0xb0, 0xd6, 0xa8, 0xaf, 0x19, 0xbf,
- 0x55, 0x9a, 0x6c, 0x58,
- 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42, 0x71, 0xa8, 0x8c,
- 0xeb, 0xd1, 0x7a, 0x10,
- 0x66, 0x07, 0x43, 0x61, 0xc6, 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd, 0x41,
- 0xc8, 0xe9, 0x78, 0x87,
- 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74, 0x87, 0xe9, 0x7c, 0x27,
- 0x77, 0x7f, 0x54, 0x17,
- 0x30, 0x74, 0x54, 0x44, 0x0f, 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68, 0xf6,
- 0xe7, 0x04, 0x81, 0xf9,
- 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d, 0x8a, 0x68, 0x97, 0x38, 0x24, 0x2e,
- 0x93, 0xdf, 0x9b, 0x45,
- 0xd0, 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac, 0xfa, 0x0c,
- 0x47, 0xad, 0x3e, 0x35,
- 0xd9, 0x5b, 0x74, 0x82, 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a, 0x89,
- 0x48, 0xdc, 0x8b, 0x77,
- 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd, 0x22, 0x32, 0xef, 0xc3, 0x43, 0xf4,
- 0x18, 0x69, 0x35, 0x11,
- 0xaa, 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7, 0x73, 0x79, 0xa4, 0xc3,
- 0x9b, 0xf8, 0x88, 0x4a,
- 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c, 0xdd, 0xb5, 0xb1, 0x4f, 0x89, 0x07,
- 0x5c, 0x60, 0x45, 0x8f,
- 0x60, 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21, 0xd0, 0x2f,
- 0x0d, 0x08, 0xc1, 0x31,
- 0xf8, 0x71, 0x60, 0x89, 0xd0, 0x86, 0xa2, 0x3f, 0x24, 0xc4, 0xa6, 0x81,
- 0x32, 0xab, 0x1e, 0x51,
- 0x04, 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f, 0x13, 0xda, 0xb7, 0xf5,
- 0x86, 0xbe, 0x6f, 0x65,
- 0x90, 0x8f, 0x6f, 0x1f, 0x2d, 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb, 0x87,
- 0xf0, 0x1c, 0x01, 0xaa,
- 0xe6, 0xa4, 0xa1, 0x42, 0xee, 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f, 0x94,
- 0x65, 0x48, 0x06, 0x7a,
- 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92, 0x25, 0xd6, 0xe9,
- 0x35, 0xfd, 0xb8, 0x1c,
- 0xaf, 0x70, 0xba, 0xdf, 0x3d, 0x99, 0x8d, 0x1b, 0x14, 0x74, 0x4e, 0x9a,
- 0xdd, 0x88, 0x8c, 0xa7,
- 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40, 0x2d, 0xf5, 0x6e, 0x30,
- 0xdf, 0xf1, 0xf8, 0xd4,
- 0xa7, 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03, 0xe3, 0xb3,
- 0x12, 0x37, 0x52, 0x6d,
- 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc, 0x75, 0xef, 0xc9, 0xb4, 0xee, 0xdd,
- 0xd7, 0xd6, 0xeb, 0xdb,
- 0xd8, 0x29, 0xb9, 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb, 0x57, 0x25,
- 0x88, 0x12, 0xe0, 0xff,
- 0x1e, 0xd5, 0xc1, 0xcb, 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39, 0x15,
- 0x57, 0xe3, 0x18, 0x2b,
- 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26, 0xb2, 0x44, 0x66, 0xfb,
- 0x3e, 0x7e, 0xe5, 0xb8,
- 0x64, 0xe3, 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67, 0xda,
- 0x8b, 0xb6, 0xae, 0x54,
- 0x9a, 0x7d, 0x91, 0xe7, 0x86, 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc, 0x35,
- 0x7c, 0xfc, 0x09, 0xb3,
- 0xe3, 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7, 0x75, 0xcd,
- 0x23, 0x38, 0x02, 0x97,
- 0xf9, 0x03, 0xad, 0xfa, 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb, 0x2d,
- 0xf2, 0x65, 0x75, 0xd9,
- 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89, 0x98, 0x8d, 0xd3, 0x5b, 0x6a,
- 0xf8, 0x3b, 0x12, 0xa5,
- 0x19, 0x48, 0xe7, 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69, 0xd7,
- 0x52, 0xcc, 0xca, 0x15,
- 0x83, 0x35, 0x76, 0xb6, 0x44, 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5, 0xe2,
- 0x2e, 0x30, 0xc3, 0xa6,
- 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49, 0xf3, 0x6b, 0x95,
- 0xfb, 0x9f, 0x5c, 0x0e,
- 0x4f, 0x3b, 0xf0, 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29, 0xdc, 0x60,
- 0x7d, 0x21, 0x33, 0x6b,
- 0x7b, 0x44, 0x16, 0x3f, 0x94, 0xb0, 0x2d, 0x84, 0x9d, 0x02, 0x03, 0x63,
- 0x1c, 0x9b, 0xdd, 0xf7,
- 0xef, 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a, 0x6f, 0x11,
- 0x6a, 0x39, 0xb3, 0x38,
- 0x9d, 0xe0, 0xb7, 0x7d, 0x7a, 0xf1, 0xd9, 0x36, 0x28, 0xe8, 0x9c, 0xf7,
- 0x79, 0xd3, 0xdb, 0x8d,
- 0x74, 0xcf, 0x97, 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15, 0xfe, 0x88,
- 0xd6, 0x0b, 0xd1, 0x03,
- 0xc7, 0x8e, 0xb5, 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22, 0x33, 0x9c,
- 0x1f, 0x3f, 0x93, 0x5c,
- 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12, 0x18, 0x58, 0x74, 0xec,
- 0x96, 0xf0, 0x49, 0x7b,
- 0x6c, 0xf5, 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca, 0xf3,
- 0x44, 0x09, 0x70, 0x9e,
- 0xf3, 0xf1, 0x53, 0x02, 0x5f, 0xdd, 0x43, 0x17, 0x9e, 0x09, 0xec, 0x9f,
- 0x7e, 0x85, 0x7d, 0xc0,
- 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8, 0xa0, 0x26, 0x35, 0x5a,
- 0x27, 0xca, 0xea, 0x71,
- 0x3e, 0x8d, 0x18, 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8, 0xb1,
- 0xed, 0x5a, 0xe6, 0x85,
- 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3, 0x53, 0x74, 0xd7, 0x5d, 0xac,
- 0xc0, 0xce, 0x6b, 0x88,
- 0xdb, 0xbf, 0x2d, 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0, 0x12,
- 0x0b, 0x83, 0x5d, 0xa4,
- 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb, 0x0e, 0xe6, 0xc5, 0x98, 0xd4, 0xab,
- 0x9c, 0xae, 0x2e, 0x07,
- 0xe1, 0x39, 0x87, 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a, 0xcf, 0x56,
- 0x60, 0x67, 0xd4, 0x44,
- 0xed, 0x24, 0x92, 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5, 0x8a,
- 0x29, 0x66, 0x65, 0xeb,
- 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b, 0x9b, 0x4e, 0x5d, 0x92, 0xfa,
- 0xa0, 0xa9, 0xbf, 0xcc,
- 0x14, 0x27, 0x3f, 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e, 0xa7,
- 0xdb, 0x03, 0x10, 0x32,
- 0xdf, 0xb4, 0x9f, 0x6b, 0x26, 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07, 0xe7,
- 0x8d, 0x3d, 0x32, 0xc1,
- 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec, 0x53, 0x5e, 0xbf, 0xd0, 0xb8, 0xd9,
- 0xea, 0x0c, 0x40, 0xc8,
- 0xbe, 0x2e, 0xfa, 0x90, 0x1c, 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a, 0x64,
- 0x40, 0xfb, 0x98, 0x78,
- 0xab, 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94, 0x07, 0xae, 0xf9, 0x6f,
- 0x5b, 0x36, 0xe3, 0xc2,
- 0xae, 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48, 0x60, 0xa3, 0x13, 0x36,
- 0x1d, 0x46, 0xe7, 0x2f,
- 0x51, 0xee, 0x31, 0xbf, 0x35, 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5, 0x75,
- 0x2a, 0xc2, 0x2b, 0x40,
- 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f, 0xcb, 0xdf, 0xa4, 0x83, 0x23, 0xc9,
- 0x1e, 0xe2, 0xa9, 0x84,
- 0x8f, 0x28, 0x63, 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b, 0xbf, 0x3e,
- 0x67, 0x31, 0x72, 0x09,
- 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78, 0x0d, 0x94, 0xde, 0x22,
- 0xd4, 0x72, 0xa5, 0x70,
- 0xf4, 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d, 0x11, 0x69, 0xbc, 0x5d,
- 0x7b, 0xaa, 0xaf, 0xfe,
- 0xd3, 0xa9, 0x8a, 0x7a, 0x55, 0xda, 0xdc, 0xe5, 0x06, 0x16, 0x1d, 0x3b,
- 0xc4, 0x3c, 0x83, 0x6e,
- 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75, 0xde, 0x45, 0xab, 0xa4, 0xf6, 0x43,
- 0x37, 0x84, 0xcc, 0x6f,
- 0x47, 0x2d, 0x57, 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71, 0x49,
- 0xb2, 0x9e, 0xed, 0xa1,
- 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c, 0xb7, 0xa5, 0x2b, 0xe3, 0x73, 0x0b,
- 0x1b, 0xcd, 0x7b, 0xba,
- 0x8b, 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1, 0x08, 0xcb,
- 0xe1, 0x8f, 0x1d, 0x6c,
- 0xa0, 0xfb, 0x3b, 0x5b, 0x22, 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3, 0x71,
- 0x17, 0x18, 0x80, 0x53,
- 0xf5, 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe, 0xe1, 0xf1,
- 0xbb, 0x64, 0xc4, 0x76,
- 0x28, 0x4e, 0x7e, 0x66, 0xe9, 0x76, 0xc8, 0x2f, 0xbe, 0x68, 0x5c, 0x8d,
- 0x75, 0x06, 0x20, 0x64,
- 0x57, 0x01, 0xda, 0x56, 0xed, 0x1f, 0x2f, 0x24, 0x30, 0xb0, 0xe8, 0x1b,
- 0xef, 0x23, 0x92, 0xf6,
- 0xb2, 0x33, 0xef, 0x81, 0x6f, 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90, 0xb8,
- 0x09, 0xfa, 0x29, 0xd7,
- 0x24, 0x53, 0x6b, 0x77, 0x9a, 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46, 0x51,
- 0x3c, 0x07, 0x91, 0xcb,
- 0xcf, 0x98, 0x12, 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55, 0x9e, 0xb5,
- 0xd0, 0x80, 0x4d, 0x96,
- 0x89, 0xc7, 0x88, 0x4e, 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2, 0x50,
- 0xa2, 0xd0, 0xcb, 0xbf,
- 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11, 0xdb, 0xd6, 0xbd, 0x7c,
- 0xce, 0x62, 0xe4, 0x12,
- 0x55, 0xe5, 0x83, 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52, 0x80,
- 0xac, 0x7c, 0x44, 0x25,
- 0x2b, 0xd8, 0xea, 0xf3, 0x85, 0x5c, 0x7e, 0xda, 0x22, 0xd2, 0xbb, 0xba,
- 0xf6, 0x97, 0x9d, 0x3f,
- 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f, 0xd3, 0x5f, 0x91, 0x99,
- 0xbc, 0x32, 0x62, 0x3b,
- 0xeb, 0xcb, 0x79, 0x20, 0xb9, 0x4e, 0xba, 0xb3, 0xf4, 0x90, 0xd8, 0xe4,
- 0xec, 0x87, 0xdc, 0x5d,
- 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c, 0x9d, 0x0b, 0x82, 0xc3, 0x19,
- 0x10, 0x4e, 0x26, 0x1e,
- 0xe5, 0x32, 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78, 0xa3,
- 0xe6, 0xd9, 0xbb, 0x21,
- 0xb1, 0xa5, 0x7b, 0x14, 0x03, 0x5e, 0xdb, 0x96, 0x85, 0x5a, 0x77, 0x8f,
- 0x8a, 0x6b, 0x94, 0x8c,
- 0x22, 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72, 0x4b, 0x3f,
- 0xf9, 0xe6, 0x28, 0x7d,
- 0xbd, 0xb8, 0x6e, 0x05, 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d, 0x53,
- 0xc3, 0x6a, 0x25, 0x23,
- 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf, 0x15, 0x1c, 0xfd, 0x62, 0x7f,
- 0xaf, 0xd8, 0x0a, 0x8e,
- 0x23, 0xce, 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16, 0x93,
- 0x39, 0x28, 0x43, 0xf5,
- 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95, 0xd5, 0x70, 0x40, 0xc2, 0xa3, 0x24,
- 0x16, 0xc5, 0xba, 0x8b,
- 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c, 0xbc, 0x90, 0xc0, 0x85, 0x26, 0x6c,
- 0x3a, 0x8c, 0x0d, 0x5e,
- 0xa2, 0x1f, 0x62, 0xbd, 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09, 0xea,
- 0x54, 0x47, 0x56, 0x80,
- 0x0f, 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7, 0xa9, 0x17, 0xfd, 0xeb,
- 0xca, 0x90, 0x0c, 0xf4,
- 0x54, 0x97, 0x4e, 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f, 0x2c,
- 0x6c, 0xb2, 0x2f, 0xad,
- 0x86, 0x4c, 0x09, 0xca, 0xf0, 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f, 0xbb,
- 0x68, 0x40, 0xc7, 0x4b,
- 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4, 0x21, 0xc2, 0xf5, 0x28, 0x3c, 0xb0,
- 0x73, 0x8d, 0xbc, 0xf1,
- 0x5a, 0x6e, 0x02, 0x34, 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf, 0x6b,
- 0x66, 0xec, 0x48, 0xd1,
- 0x3d, 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a, 0x95, 0x8b, 0x2f, 0x86,
- 0x6e, 0xcb, 0x5b, 0xde,
- 0x94, 0x84, 0xdd, 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c, 0x72,
- 0x76, 0xa2, 0x6e, 0xcf,
- 0x56, 0x73, 0x17, 0x25, 0xc9, 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5, 0xb7,
- 0x2f, 0xed, 0xf9, 0x7e,
- 0xbf, 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a, 0xd7, 0xc8,
- 0x80, 0x35, 0xf3, 0xf0,
- 0x95, 0xf6, 0x10, 0x63, 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31, 0xde,
- 0xb6, 0x6c, 0x05, 0x47,
- 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c, 0x4b, 0xa3, 0x2d, 0xda, 0xa6,
- 0x45, 0xd4, 0x4a, 0x46,
- 0x11, 0x5e, 0x40, 0x4f, 0x21, 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4, 0xfe,
- 0x9d, 0x73, 0x14, 0xdf,
- 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b, 0xe1, 0x28, 0xba, 0xcd, 0x4a, 0x1e,
- 0x4c, 0x2e, 0x63, 0x91,
- 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c, 0x1f, 0xff, 0x53, 0x18, 0x14, 0xd1,
- 0x90, 0x7b, 0xd5, 0xee,
- 0xb0, 0xd7, 0xb6, 0x67, 0x27, 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a, 0x23,
- 0x4a, 0xa5, 0xff, 0x04,
- 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a, 0x33, 0x2b, 0x79, 0x43, 0x83, 0x8e,
- 0x14, 0xbc, 0xce, 0xf8,
- 0xdc, 0x22, 0x0b, 0xfe, 0x4a, 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0, 0xd0,
- 0x0e, 0xac, 0x8f, 0x9a,
- 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a, 0xf1, 0x61, 0x9b, 0x14, 0x1e, 0x58,
- 0xd8, 0xa7, 0x5e, 0x99,
- 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2, 0x95, 0x3e, 0xf2,
- 0xda, 0xde, 0x2a, 0xea,
- 0x2a, 0xaa, 0x27, 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6, 0x16,
- 0x36, 0x59, 0xf6, 0xb7,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xac, 0xe6, 0x2e, 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9, 0xad,
- 0x5e, 0x19, 0x31, 0xfc,
- 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f, 0xaa, 0xfa, 0xd5, 0x49, 0x8c, 0xa2,
- 0x78, 0x0e, 0xe1, 0x55,
- 0x7a, 0x36, 0xdb, 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5, 0x5e, 0xcf,
- 0xdc, 0x55, 0xb6, 0x7f,
- },
+ {
+ /* 0 */
+ 0xa5, 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3,
+ 0xef, 0x79, 0x82, 0x53, 0x11, 0xf0, 0x2d, 0x03, 0x96, 0x94,
+ 0x95, 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba, 0xe7, 0x37, 0x83,
+ 0x91, 0xbd, 0x32, 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2,
+ 0x03, 0xc3, 0x8e, 0xc9, 0x90, 0x58, 0x92, 0xad, 0x8f, 0xa5,
+ 0x82, 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59,
+ 0x28, 0x51, 0x68, 0x84, 0x0e, 0xd4, 0x34, 0xac, 0xe0, 0xa9,
+ 0x29, 0xa0, 0x9f, 0x89, 0x76, 0x4d, 0xf9, 0xc1, 0x13, 0x51,
+ 0x30, 0xfc, 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37,
+ 0x1e, 0x11, 0x74, 0xb4, 0x15, 0x71, 0x38, 0xd6, 0xd0, 0xf5,
+ 0x06, 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7, 0x62, 0x82,
+ 0x4c, 0x87, 0xc0, 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63,
+ 0x85, 0xdc, 0x78, 0x44, 0x13, 0x95, 0x54, 0x07, 0x54, 0xd2,
+ 0xdb, 0x47, 0x09, 0x71, 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40,
+ 0x97, 0x04, 0xf2, 0xe8, 0xe6, 0x20, 0x58, 0xd9, 0x78, 0x0a,
+ 0x07, 0x9f, 0xf2, 0x98, 0x1f, 0xf1, 0xa4, 0xba, 0xb9, 0xfe,
+ 0x9e, 0x65, 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c,
+ 0x2c, 0x3a, 0x76, 0x4b, 0x78, 0xc5, 0x39, 0x42, 0x54, 0x28,
+ 0x16, 0x5c, 0x83, 0x98, 0x81, 0x1b, 0x53, 0x9b, 0x10, 0xf4,
+ 0xee, 0xe9, 0x55, 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52,
+ 0x0e, 0x08, 0x89, 0x2c, 0xe5, 0x72, 0x50, 0x86, 0x7e, 0xbb,
+ 0x57, 0x85, 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60,
+ 0x3d, 0x06, 0x8b, 0x9c, 0x52, 0x2c, 0x45, 0xcc, 0x69, 0x79,
+ 0xaf, 0x02, 0xa0, 0xad, 0xb2, 0xeb, 0x78, 0xf3, 0xb8, 0x4f,
+ 0x91, 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff,
+ 0x12, 0x1b, 0xfd, 0xfc, 0xc9, 0xfa, 0x64, 0x2e, 0xa1, 0x95,
+ 0x8f, 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf, 0x51, 0xe3, 0xb0,
+ 0xe7, 0x99, 0x03, 0x7f, 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7,
+ 0x0b, 0x8e, 0xd8, 0xb4, 0x96, 0x9a, 0x25, 0xb2, 0x57, 0xad,
+ 0x94, 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd, 0xfc, 0x19, 0xf4,
+ 0x01, 0x9e, 0xd7, 0x5a, 0x5a, 0x06, 0xef, 0xeb, 0xe9, 0xd8,
+ 0x54, 0xaf, 0x29, 0xfb, 0xb7, 0x0d, 0x6e, 0xc5, 0xe1, 0xb9,
+ 0x1c, 0x6b, 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1,
+ 0xec, 0x9a, 0x31, 0x41, 0x26, 0xa2, 0x60, 0x3b, 0xf4, 0x67,
+ 0xcf, 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22, 0xe8, 0xab,
+ 0x2a, 0xe2, 0x07, 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50,
+ 0xae, 0xa5, 0x3b, 0xc7, 0x9d, 0x81, 0xe8, 0xc9, 0x18, 0x7e,
+ 0x3d, 0x69, 0x43, 0x20, 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9,
+ 0x3a, 0x5a, 0xeb, 0xd9, 0x21, 0x3c, 0x69, 0x41, 0x55, 0x7c,
+ 0x4d, 0xac, 0xd9, 0xe1, 0x5c, 0x72, 0x2a, 0xae, 0x05, 0x30,
+ 0x72, 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5, 0xf3, 0xc1, 0x36,
+ 0xa6, 0xf5, 0x20, 0x2b, 0x1f, 0x11, 0xa8, 0x67, 0x75, 0x8e,
+ 0x12, 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80, 0xed, 0x08,
+ 0x27, 0x13, 0xd1, 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad, 0xa7,
+ 0xec, 0x0a, 0x3a, 0x27, 0x4d, 0x8f, 0x44, 0x46, 0x29, 0x16,
+ 0xc3, 0x66, 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94,
+ 0x3c, 0x98, 0x5c, 0xc6, 0xc6, 0x88, 0xb5, 0x45, 0x3d, 0xcb,
+ 0x6d, 0x6e, 0x93, 0x03, 0x0b, 0xef, 0xfc, 0x62, 0x1e, 0xa0,
+ 0xa4, 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d, 0x04, 0x83, 0x99,
+ 0xa7, 0x15, 0xf0, 0x25, 0xb3, 0x9e, 0x3f, 0xbc, 0xca, 0xa3,
+ 0x76, 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30, 0xff, 0x03,
+ 0xa4, 0x4e, 0xe0, 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5, 0x92,
+ 0xe4, 0x47, 0x6c, 0x5a, 0x4b, 0x4d, 0xf3, 0x59, 0x27, 0xc2,
+ 0xf7, 0xca, 0x35, 0x74, 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9,
+ 0xc5, 0x59, 0x4f, 0x97, 0x8d, 0x4e, 0x49, 0x3d, 0x07, 0x2f,
+ 0x2b, 0x05, 0xd3, 0x2e, 0xfe, 0x81, 0xcc, 0xbd, 0xef, 0x58,
+ 0x0c, 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c, 0x7d,
+ 0xe6, 0x95, 0x1d, 0x2d, 0x94, 0x8d, 0x82, 0x0e, 0xf9, 0x4c,
+ 0xf7, 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0, 0xa0, 0x47, 0x0a,
+ 0x5e, 0x67, 0xea, 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60, 0x85,
+ 0xde, 0xe5, 0xf9, 0x64, 0xb9, 0x97, 0x2d, 0x73, 0xae, 0x99,
+ 0xeb, 0x05, 0x72, 0xea, 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b,
+ 0x02, 0xff, 0x6d, 0xb4, 0xb4, 0x0c, 0x1d, 0x15, 0x11, 0x73,
+ 0xa8, 0x9d, 0x52, 0x35, 0xad, 0x1a, 0xdc, 0x49, 0x01, 0xb1,
+ 0x9a, 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb, 0xcc, 0xac, 0x27,
+ 0xcf, 0x49, 0x7d, 0x50, 0xb5, 0xbe, 0x63, 0x44, 0xbb, 0xc3,
+ 0xff, 0x84, 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96, 0x7e, 0x31,
+ 0x0f, 0x50, 0x49, 0x2d, 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1,
+ 0xf3, 0xd9, 0x65, 0xb6, 0xd4, 0x33, 0x76, 0x24, 0xe5, 0x5f,
+ 0x17, 0x7d, 0x48, 0x0e, 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45,
+ 0x32, 0x20, 0x9c, 0x4c, 0x42, 0x78, 0xd2, 0x82, 0xaa, 0xf8,
+ 0x9a, 0x9b, 0x71, 0x01, 0xb8, 0xe4, 0x54, 0x9f, 0x0a, 0x60,
+ 0xe4, 0xcb, 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c,
+ 0x8f, 0x29, 0x40, 0x56, 0x3e, 0x22, 0x15, 0xd5, 0x46, 0x61,
+ 0x93, 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10, 0x55, 0x01,
+ 0xdd, 0x3a, 0xb7, 0x73, 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a,
+ 0x59, 0xbb, 0x75, 0xae, 0x4a, 0xd3, 0x24, 0x03, 0xc8, 0x5c,
+ 0x81, 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d, 0xa2,
+ 0x05, 0xa3, 0x0d, 0xf1, 0x06, 0xfe, 0x9e, 0x8b, 0x60, 0x08,
+ 0xd2, 0x0d, 0x16, 0xdf, 0x73, 0xab, 0xef, 0xf7, 0x4a, 0xa7,
+ 0x70, 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72, 0xc2,
+ 0x36, 0x2d, 0xc4, 0xc7, 0x98, 0xcd, 0x9d, 0x1a, 0xde, 0x73,
+ 0xc4, 0xae, 0x1e, 0x9c, 0x02, 0x82, 0xf4, 0x8e, 0xe0, 0xd1,
+ 0x5d, 0x77, 0x41, 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c,
+ 0x7a, 0x8f, 0x60, 0x50, 0xc2, 0x05, 0x2f, 0xd2, 0x75, 0xee,
+ 0xb2, 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f, 0x93, 0x9d, 0x32,
+ 0xbd, 0xaa, 0xf7, 0xd8, 0x19, 0xea, 0xb9, 0xb4, 0x53, 0x9d,
+ 0xe9, 0x69, 0xe0, 0x80, 0x47, 0x85, 0x48, 0x2c, 0x49, 0xb7,
+ 0xc9, 0xc8, 0x05, 0x34, 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0,
+ 0x35, 0xce, 0x77, 0xd5, 0xaf, 0x9f, 0xaa, 0x8c, 0xbe, 0xf7,
+ 0x32, 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1, 0x58, 0x09, 0xe4,
+ 0xa0, 0xcf, 0xfc, 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11,
+ 0x19, 0x96, 0x80, 0xc0, 0x7a, 0x0c, 0xd5, 0xfb, 0x4d, 0x38,
+ 0x62, 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56, 0xf2, 0x86, 0xc5,
+ 0xdf, 0x28, 0xbb, 0x5f, 0xbf, 0x59, 0xf8, 0x96, 0xa1, 0xd6,
+ 0x3a, 0xd7, 0xd0, 0xed, 0x70, 0x48, 0x5c, 0xe5, 0x7d, 0xf5,
+ 0x2a, 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b, 0x39,
+ 0x81, 0x20, 0xaa, 0x02, 0x79, 0x74, 0x73, 0x10, 0x2c, 0x8d,
+ 0x3c, 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee, 0x99, 0x52, 0x5d,
+ 0xbd, 0x7f, 0x84, 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5,
+ 0xe2, 0x02, 0xb3, 0x0b, 0xa8, 0xfd, 0x14, 0xc0, 0xd5, 0xa3,
+ 0x6d, 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54,
+ 0x46, 0x94, 0x89, 0x3d, 0xc3, 0x09, 0x64, 0x6a, 0x6d, 0xc7,
+ 0xd6, 0x84, 0x8e, 0x52, 0xa0, 0xf0, 0x85, 0x0f, 0x71, 0xb5,
+ 0xaf, 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41,
+ 0x7a, 0x47, 0x70, 0x89, 0xcf, 0xda, 0x2b, 0xfd, 0x08, 0x1f,
+ 0xf5, 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c, 0xd8, 0x74,
+ 0xdb, 0x1a, 0x86, 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9, 0x4f,
+ 0x51, 0xf6, 0x23, 0xd3, 0x4c, 0x11, 0x93, 0x1c, 0xa7, 0x27,
+ 0xc5, 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88, 0x17, 0x7f, 0xa1,
+ 0x66, 0xbf, 0x96, 0x2c, 0xb1, 0x8d, 0xcc, 0x3a, 0x41, 0x7f,
+ 0x13, 0x77, 0x4f, 0x64, 0x06, 0x05, 0xa5, 0x24, 0x6e, 0xa4,
+ 0xb2, 0xf2, 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea,
+ 0xde, 0xb1, 0x33, 0xbe, 0x4b, 0x16, 0x5b, 0x92, 0x6b, 0x36,
+ 0xf9, 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61, 0x1c, 0xb3,
+ 0x43, 0xd7, 0x46, 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c,
+ 0xd4, 0x2a, 0x5b, 0x97, 0x5f, 0x84, 0xc7, 0x1b, 0xd3, 0x5d,
+ 0xf3, 0x24, 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff,
+ 0xa9, 0x63, 0xc3, 0x9a, 0x9f, 0xf1, 0x15, 0x0a, 0xe4, 0x17,
+ 0x50, 0x26, 0xb1, 0x76, 0x64, 0x56, 0x04, 0x3d, 0xda, 0xab,
+ 0xfd, 0x21, 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec,
+ 0xc8, 0xac, 0x08, 0x7a, 0x77, 0x95, 0xd4, 0x37, 0xe9, 0x72,
+ 0xde, 0xf3, 0x16, 0x4d, 0xf1, 0x5b, 0x91, 0x38, 0x34, 0xe2,
+ 0x2b, 0x53, 0x0f, 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd,
+ 0x27, 0xf3, 0x3e, 0x21, 0x8b, 0xb7, 0xb1, 0x3f, 0x9c, 0x8e,
+ 0x5a, 0xae, 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2,
+ 0x92, 0xa7, 0xff, 0x19, 0x2f, 0xe8, 0x5d, 0xed, 0xb5, 0xd5,
+ 0x64, 0x0c, 0x46, 0x68, 0x2a, 0x3f, 0xd3, 0x6f, 0x16, 0x61,
+ 0x9b, 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d,
+ 0x87, 0x25, 0x0f, 0x26, 0x17, 0xd0, 0x43, 0xec, 0x56, 0x5f,
+ 0xba, 0x45, 0xbd, 0xc6, 0xc9, 0x7b, 0xf0, 0x88, 0x26, 0xe9,
+ 0xa8, 0x0e, 0xef, 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb, 0x6f,
+ 0xc3, 0xb4, 0x52, 0x7b, 0xc0, 0xfa, 0x42, 0x66, 0xd9, 0x9c,
+ 0x92, 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65, 0x5c, 0x3f, 0xc1,
+ 0x5b, 0xb9, 0x1d, 0xb0, 0x79, 0xd1, 0x4d, 0xd3, 0x9c, 0x1d,
+ 0x57, 0xb9, 0x43, 0xee, 0x7b, 0xa7, 0xa0, 0x87, 0x63, 0x55,
+ 0xb6, 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1, 0xc1,
+ 0x3d, 0xc2, 0x38, 0xa5, 0x86, 0x6d, 0x53, 0xb8, 0xc1, 0x11,
+ 0x79, 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87, 0x0a, 0x85,
+ 0x1a, 0x21, 0x7f, 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4,
+ 0x55, 0x31, 0x08, 0x0c, 0x4f, 0x70, 0x29, 0xf2, 0xc1, 0xe2,
+ 0xaf, 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28,
+ 0x61, 0xe3, 0xf6, 0x69, 0xf0, 0x8a, 0x51, 0x1c, 0xdb, 0x83,
+ 0xe0, 0x0b, 0x35, 0xeb, 0x66, 0x55, 0x67, 0x21, 0x41, 0x76,
+ 0x23, 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15,
+ 0xcc, 0xaa, 0xce, 0x42, 0x82, 0xec, 0xe7, 0xb4, 0xdc, 0x04,
+ 0x68, 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d, 0xd6, 0xcc,
+ 0x1b, 0x90, 0x25, 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b,
+ 0x7c, 0xca, 0xbf, 0x01, 0x21, 0xb5, 0xc8, 0x4b, 0x5e, 0x13,
+ 0xba, 0x19, 0xa9, 0x69, 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e,
+ 0x65, 0xde, 0x2c, 0xc2, 0xb5, 0x98, 0x99, 0xc8, 0x01, 0xce,
+ 0x8f, 0xc0, 0xea, 0x4f, 0xe5, 0x76, 0xae, 0x3f, 0xa3, 0xdf,
+ 0x1e, 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25,
+ 0x7c, 0x42, 0xd5, 0xad, 0xa1, 0x7e, 0xa2, 0xa6, 0x14, 0xd0,
+ 0xb2, 0xfa, 0x4f, 0x09, 0x95, 0x46, 0xd4, 0xbe, 0x1f, 0xd2,
+ 0xf9, 0x39, 0xdf, 0x62, 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07,
+ 0x73, 0x83, 0x4c, 0x6a, 0xb4, 0x4e, 0x57, 0x17, 0xa6, 0xb3,
+ 0x41, 0x22, 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd,
+ 0x14, 0xc9, 0x34, 0x42, 0xfe, 0x5e, 0x65, 0xb0, 0x3b, 0x2a,
+ 0xc9, 0xab, 0xaa, 0x62, 0x10, 0x18, 0x9e, 0xe0, 0x52, 0x27,
+ 0xac, 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a, 0xcf,
+ 0xa2, 0xf3, 0xe6, 0x13, 0xea, 0x68, 0x22, 0x43, 0x26, 0xe5,
+ 0x65, 0x78, 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6, 0xbc, 0x34,
+ 0x20, 0x82, 0xf9, 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c, 0xfb,
+ 0x04, 0xc7, 0x2b, 0xdf, 0x03, 0x61, 0xba, 0xee, 0xe2, 0x35,
+ 0x0d, 0x2b, 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82,
+ 0xaf, 0xa1, 0x74, 0x85, 0x4a, 0x52, 0x78, 0xa5, 0x2a, 0x59,
+ 0x61, 0x36, 0xf8, 0x57, 0xbd, 0x02, 0x42, 0xa9, 0x53, 0x96,
+ 0xbc, 0x26, 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63,
+ 0xa8, 0xfc, 0xca, 0x7f, 0x58, 0x47, 0x35, 0x7d, 0xab, 0xfd,
+ 0xd6, 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e, 0x0d, 0xd9,
+ 0x7a, 0x64, 0xca, 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74,
+ 0xbf, 0x7e, 0xed, 0x7a, 0xe1, 0x4f, 0x8a, 0x2d, 0xee, 0x0a,
+ 0xf2, 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17,
+ 0xb2, 0x8c, 0xe0, 0x08, 0x78, 0x45, 0xc9, 0x0e, 0x8c, 0xa0,
+ 0x70, 0xe4, 0xfb, 0x94, 0x33, 0xcb, 0xd2, 0xf1, 0xc1, 0x3b,
+ 0x05, 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51,
+ 0xab, 0x1f, 0x79, 0x6d, 0x6f, 0x15, 0x6b, 0x6e, 0x11, 0xe4,
+ 0x7f, 0x25, 0x2c, 0x9a, 0x21, 0xb6, 0xe1, 0x70, 0x68, 0x07,
+ 0x56, 0xa6, 0x51, 0x53, 0x0a, 0x68, 0x59, 0x7d, 0xc6, 0xe5,
+ 0xab, 0x23, 0x6a, 0x5f, 0xee, 0x69, 0x9d, 0xfd, 0xe1, 0x4a,
+ 0x42, 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24, 0x36,
+ 0x39, 0x3b, 0x51, 0x37, 0x59, 0x79, 0xa0, 0x4f, 0xd9, 0xdc,
+ 0x3d, 0x48, 0x22, 0x75, 0x6f, 0xb9, 0xf8, 0x5f, 0xc4, 0x0b,
+ 0xa3, 0x32, 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c,
+ 0x9c, 0xd2, 0x6d, 0xa4, 0x5b, 0x57, 0xf2, 0x61, 0x9a, 0x65,
+ 0xfb, 0x3a, 0xae, 0xb1, 0x86, 0x1f, 0xf6, 0x8d, 0x83, 0xcd,
+ 0xc6, 0xaa, 0x71, 0xfb, 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14,
+ 0xca, 0xb8, 0x7e, 0x41, 0xb6, 0xb1, 0x3a, 0xa3, 0x56, 0x39,
+ 0x10, 0x3e, 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98,
+ 0x73, 0xe8, 0x75, 0x34, 0x11, 0xc0, 0x13, 0x93, 0xd3, 0x3c,
+ 0x12, 0xc4, 0x69, 0xd6, 0x42, 0x63, 0x5e, 0x1a, 0x10, 0x41,
+ 0x6a, 0xfa, 0x95, 0x39, 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc,
+ 0xa9, 0x1c, 0x1a, 0x71, 0xf4, 0xc8, 0x89, 0x5b, 0x1c, 0xcf,
+ 0x47, 0x9e, 0xb7, 0xb2, 0x76, 0x05, 0x1d, 0xf2, 0xc7, 0xa6,
+ 0x22, 0x23, 0x94, 0xa4, 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c,
+ 0x33, 0xae, 0xb9, 0x04, 0x84, 0x91, 0xa6, 0xef, 0x65, 0xba,
+ 0x25, 0x48, 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d,
+ 0x91, 0xc6, 0x45, 0xf7, 0x8c, 0xda, 0xcd, 0xe0, 0x17, 0x92,
+ 0x0c, 0x58, 0x6b, 0x54, 0xb6, 0xed, 0xbe, 0xcb, 0x4d, 0x36,
+ 0xbb, 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75, 0xc6,
+ 0x93, 0x3b, 0x57, 0xfe, 0xb0, 0x8e, 0x77, 0x05, 0x79, 0x7f,
+ 0x7c, 0xb4, 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea, 0x59, 0x46,
+ 0x70, 0x04, 0x3c, 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72,
+ 0x9c, 0x4a, 0xf8, 0x84, 0x69, 0x99, 0x81, 0xfc, 0x7b, 0x3a,
+ 0x86, 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f,
+ 0x44, 0x6b, 0xe4, 0x89, 0x28, 0x82, 0x47, 0xbb, 0xc5, 0x60,
+ 0x91, 0x5c, 0xe8, 0xcd, 0x11, 0xf8, 0x4e, 0xee, 0xfe, 0xa8,
+ 0xab, 0x18, 0x3a, 0x2a, 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a,
+ 0x99, 0x34, 0x7b, 0x92, 0x02, 0xa1, 0xd2, 0xc9, 0x77, 0xf9,
+ 0xbe, 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2, 0x93, 0xdb, 0x15,
+ 0x61, 0xf4, 0x31, 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78, 0x35,
+ 0x08, 0x4d, 0x56, 0x7d, 0x06, 0xc2, 0xb7, 0x1f, 0xde, 0xf6,
+ 0x88, 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb, 0xf9, 0x04, 0x06,
+ 0xc6, 0x38, 0xf5, 0x79, 0xc4, 0x63, 0x7e, 0x3c, 0x1d, 0x72,
+ 0x23, 0xd4, 0x20, 0xf7, 0x9b, 0x37, 0x18, 0x8e, 0x99, 0x7c,
+ 0x5f, 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa,
+ 0x1c, 0x12, 0x17, 0xa8, 0x8e, 0xac, 0xcc, 0x49, 0xd4, 0x1b,
+ 0x9d, 0xd3, 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1, 0x0e, 0xb8,
+ 0xc0, 0x8a, 0xcf, 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e,
+ 0xa2, 0x2f, 0x46, 0x65, 0x98, 0x22, 0xe5, 0x38, 0x76, 0x91,
+ 0xfd, 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86,
+ 0x2b, 0x30, 0xd2, 0x6a, 0x2c, 0x97, 0x12, 0x49, 0x85, 0xd1,
+ 0x0d, 0xeb, 0x4d, 0xe6, 0xf2, 0x8b, 0x45, 0xf5, 0x33, 0xd3,
+ 0xb8, 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf, 0x87, 0x7e, 0x48,
+ 0x4b, 0x8f, 0xc1, 0x64, 0x95, 0x3c, 0xd8, 0x08, 0x16, 0xa7,
+ 0x1e, 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad, 0x29, 0xcf,
+ 0xbf, 0xde, 0x2e, 0x7c, 0xd9, 0x30, 0xa5, 0x68, 0x43, 0x51,
+ 0xfe, 0x12, 0x62, 0x53, 0xa1, 0x19, 0xb4, 0x0f, 0x36, 0x02,
+ 0xe4, 0x59, 0xe6, 0x48, 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba,
+ 0x9b, 0x43, 0x5f, 0xd6, 0xdb, 0x77, 0x59, 0x03, 0x2e, 0xe7,
+ 0x18, 0xb0, 0xd6, 0xa8, 0xaf, 0x19, 0xbf, 0x55, 0x9a, 0x6c,
+ 0x69, 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42,
+ 0x71, 0xa8, 0x8c, 0xeb, 0xd1, 0x7a, 0xb3, 0x66, 0x07, 0x43,
+ 0x61, 0xc6, 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd, 0x41, 0xc8,
+ 0xe9, 0x78, 0x14, 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e,
+ 0x74, 0x87, 0xe9, 0x7c, 0x27, 0x77, 0x7f, 0x54, 0x95, 0x30,
+ 0x74, 0x54, 0x44, 0x0f, 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68,
+ 0xf6, 0xe7, 0x04, 0x81, 0xbe, 0xcd, 0x7c, 0x4b, 0xb1, 0x6b,
+ 0x1d, 0x8a, 0x68, 0x97, 0x38, 0x24, 0x2e, 0x93, 0xdf, 0x9b,
+ 0x62, 0xd0, 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a,
+ 0xac, 0xfa, 0x0c, 0x47, 0xad, 0x3e, 0xa1, 0xd9, 0x5b, 0x74,
+ 0x82, 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a, 0x89, 0x48,
+ 0xdc, 0x8b, 0x3b, 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd, 0x22,
+ 0x32, 0xef, 0xc3, 0x43, 0xf4, 0x18, 0x69, 0x35, 0x16, 0xaa,
+ 0x09, 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7, 0x73, 0x79, 0xa4,
+ 0xc3, 0x9b, 0xf8, 0x88, 0x66, 0xc5, 0x6a, 0xec, 0xaf, 0x88,
+ 0x6c, 0xdd, 0xb5, 0xb1, 0x4f, 0x89, 0x07, 0x5c, 0x60, 0x45,
+ 0xe9, 0x60, 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b,
+ 0x21, 0xd0, 0x2f, 0x0d, 0x08, 0xc1, 0x5c, 0xf8, 0x71, 0x60,
+ 0x89, 0xd0, 0x86, 0xa2, 0x3f, 0x24, 0xc4, 0xa6, 0x81, 0x32,
+ 0xab, 0x1e, 0x6c, 0x04, 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca,
+ 0x8f, 0x13, 0xda, 0xb7, 0xf5, 0x86, 0xbe, 0x6f, 0x6d, 0x90,
+ 0x8f, 0x6f, 0x1f, 0x2d, 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb,
+ 0x87, 0xf0, 0x1c, 0x01, 0xad, 0xe6, 0xa4, 0xa1, 0x42, 0xee,
+ 0x41, 0xf4, 0xb2, 0xb5, 0xea, 0x9f, 0x94, 0x65, 0x48, 0x06,
+ 0x37, 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92,
+ 0x25, 0xd6, 0xe9, 0x35, 0xfd, 0xb8, 0x61, 0xaf, 0x70, 0xba,
+ 0xdf, 0x3d, 0x99, 0x8d, 0x1b, 0x14, 0x74, 0x4e, 0x9a, 0xdd,
+ 0x88, 0x8c, 0x4b, 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b,
+ 0x40, 0x2d, 0xf5, 0x6e, 0x30, 0xdf, 0xf1, 0xf8, 0xb9, 0xa7,
+ 0x66, 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03, 0xe3,
+ 0xb3, 0x12, 0x37, 0x52, 0xe3, 0xa1, 0x89, 0xf6, 0x28, 0x06,
+ 0xbc, 0x75, 0xef, 0xc9, 0xb4, 0xee, 0xdd, 0xd7, 0xd6, 0xeb,
+ 0xba, 0xd8, 0x29, 0xb9, 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc,
+ 0xdb, 0x57, 0x25, 0x88, 0x12, 0xe0, 0xf1, 0x1e, 0xd5, 0xc1,
+ 0xcb, 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39, 0x15, 0x57,
+ 0xe3, 0x18, 0xa0, 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3,
+ 0x26, 0xb2, 0x44, 0x66, 0xfb, 0x3e, 0x7e, 0xe5, 0x85, 0x64,
+ 0xe3, 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67,
+ 0xda, 0x8b, 0xb6, 0xae, 0x83, 0x9a, 0x7d, 0x91, 0xe7, 0x86,
+ 0x02, 0xa5, 0x4c, 0xa7, 0x88, 0xcc, 0x35, 0x7c, 0xfc, 0x09,
+ 0xda, 0xe3, 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2,
+ 0xe7, 0x75, 0xcd, 0x23, 0x38, 0x02, 0x47, 0xf9, 0x03, 0xad,
+ 0xfa, 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb, 0x2d, 0xf2,
+ 0x65, 0x75, 0xc5, 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89,
+ 0x98, 0x8d, 0xd3, 0x5b, 0x6a, 0xf8, 0x3b, 0x12, 0xb0, 0x19,
+ 0x48, 0xe7, 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69,
+ 0xd7, 0x52, 0xcc, 0xca, 0x33, 0x83, 0x35, 0x76, 0xb6, 0x44,
+ 0x36, 0x8f, 0xbb, 0xb9, 0xc6, 0xa5, 0xe2, 0x2e, 0x30, 0xc3,
+ 0xfa, 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49,
+ 0xf3, 0x6b, 0x95, 0xfb, 0x9f, 0x5c, 0x96, 0x4f, 0x3b, 0xf0,
+ 0x74, 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29, 0xdc, 0x60, 0x7d,
+ 0x21, 0x33, 0x6f, 0x7b, 0x44, 0x16, 0x3f, 0x94, 0xb0, 0x2d,
+ 0x84, 0x9d, 0x02, 0x03, 0x63, 0x1c, 0x9b, 0xdd, 0x6e, 0xef,
+ 0xc0, 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a, 0x6f,
+ 0x11, 0x6a, 0x39, 0xb3, 0xc2, 0x9d, 0xe0, 0xb7, 0x7d, 0x7a,
+ 0xf1, 0xd9, 0x36, 0x28, 0xe8, 0x9c, 0xf7, 0x79, 0xd3, 0xdb,
+ 0xf6, 0x74, 0xcf, 0x97, 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34,
+ 0x15, 0xfe, 0x88, 0xd6, 0x0b, 0xd1, 0x50, 0xc7, 0x8e, 0xb5,
+ 0x49, 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22, 0x33, 0x9c, 0x1f,
+ 0x3f, 0x93, 0xff, 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6,
+ 0x12, 0x18, 0x58, 0x74, 0xec, 0x96, 0xf0, 0x49, 0x5d, 0x6c,
+ 0xf5, 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca,
+ 0xf3, 0x44, 0x09, 0x70, 0xa9, 0xf3, 0xf1, 0x53, 0x02, 0x5f,
+ 0xdd, 0x43, 0x17, 0x9e, 0x09, 0xec, 0x9f, 0x7e, 0x85, 0x7d,
+ 0x8e, 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8, 0xa0,
+ 0x26, 0x35, 0x5a, 0x27, 0xca, 0xea, 0x17, 0x3e, 0x8d, 0x18,
+ 0xb3, 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8, 0xb1, 0xed,
+ 0x5a, 0xe6, 0x1b, 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3,
+ 0x53, 0x74, 0xd7, 0x5d, 0xac, 0xc0, 0xce, 0x6b, 0x97, 0xdb,
+ 0xbf, 0x2d, 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0,
+ 0x12, 0x0b, 0x83, 0x5d, 0x7d, 0xc4, 0x18, 0x21, 0xdc, 0xac,
+ 0xcb, 0x0e, 0xe6, 0xc5, 0x98, 0xd4, 0xab, 0x9c, 0xae, 0x2e,
+ 0xec, 0xe1, 0x39, 0x87, 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a,
+ 0x8a, 0xcf, 0x56, 0x60, 0x67, 0xd4, 0x58, 0xed, 0x24, 0x92,
+ 0xc9, 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5, 0x8a, 0x29,
+ 0x66, 0x65, 0xf7, 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b,
+ 0x9b, 0x4e, 0x5d, 0x92, 0xfa, 0xa0, 0xa9, 0xbf, 0x1f, 0x14,
+ 0x27, 0x3f, 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e,
+ 0xa7, 0xdb, 0x03, 0x10, 0xfb, 0xdf, 0xb4, 0x9f, 0x6b, 0x26,
+ 0x72, 0x41, 0xb7, 0x33, 0xbb, 0x07, 0xe7, 0x8d, 0x3d, 0x32,
+ 0x7c, 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec, 0x53, 0x5e, 0xbf,
+ 0xd0, 0xb8, 0xd9, 0xea, 0x0c, 0x40, 0x09, 0xbe, 0x2e, 0xfa,
+ 0x90, 0x1c, 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a, 0x64, 0x40,
+ 0xfb, 0x98, 0x0d, 0xab, 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47,
+ 0x94, 0x07, 0xae, 0xf9, 0x6f, 0x5b, 0x36, 0xe3, 0x7a, 0xae,
+ 0x02, 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48, 0x60, 0xa3, 0x13,
+ 0x36, 0x1d, 0x46, 0xe7, 0x67, 0x51, 0xee, 0x31, 0xbf, 0x35,
+ 0x4b, 0x80, 0x0d, 0xcb, 0x07, 0xe5, 0x75, 0x2a, 0xc2, 0x2b,
+ 0x45, 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f, 0xcb, 0xdf, 0xa4,
+ 0x83, 0x23, 0xc9, 0x1e, 0xe2, 0xa9, 0x87, 0x8f, 0x28, 0x63,
+ 0xa7, 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b, 0xbf, 0x3e, 0x67,
+ 0x31, 0x72, 0xdc, 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0,
+ 0x78, 0x0d, 0x94, 0xde, 0x22, 0xd4, 0x72, 0xa5, 0xe8, 0xf4,
+ 0x6c, 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d, 0x11, 0x69, 0xbc,
+ 0x5d, 0x7b, 0xaa, 0xaf, 0x4f, 0xd3, 0xa9, 0x8a, 0x7a, 0x55,
+ 0xda, 0xdc, 0xe5, 0x06, 0x16, 0x1d, 0x3b, 0xc4, 0x3c, 0x83,
+ 0x1d, 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75, 0xde, 0x45, 0xab,
+ 0xa4, 0xf6, 0x43, 0x37, 0x84, 0xcc, 0x4e, 0x47, 0x2d, 0x57,
+ 0x6a, 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71, 0x49, 0xb2,
+ 0x9e, 0xed, 0x04, 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c, 0xb7,
+ 0xa5, 0x2b, 0xe3, 0x73, 0x0b, 0x1b, 0xcd, 0x7b, 0xeb, 0x8b,
+ 0x23, 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1, 0x08,
+ 0xcb, 0xe1, 0x8f, 0x1d, 0xf8, 0xa0, 0xfb, 0x3b, 0x5b, 0x22,
+ 0x1b, 0xa6, 0xbc, 0xbd, 0x63, 0xb3, 0x71, 0x17, 0x18, 0x80,
+ 0xf3, 0xf5, 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65,
+ 0xbe, 0xe1, 0xf1, 0xbb, 0x64, 0xc4, 0x3e, 0x28, 0x4e, 0x7e,
+ 0x66, 0xe9, 0x76, 0xc8, 0x2f, 0xbe, 0x68, 0x5c, 0x8d, 0x75,
+ 0x06, 0x20, 0x3d, 0x57, 0x01, 0xda, 0x56, 0xed, 0x1f, 0x2f,
+ 0x24, 0x30, 0xb0, 0xe8, 0x1b, 0xef, 0x23, 0x92, 0xbd, 0xb2,
+ 0x33, 0xef, 0x81, 0x6f, 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90,
+ 0xb8, 0x09, 0xfa, 0x29, 0x8a, 0x24, 0x53, 0x6b, 0x77, 0x9a,
+ 0xde, 0x55, 0x7d, 0x8b, 0xc5, 0x46, 0x51, 0x3c, 0x07, 0x91,
+ 0x88, 0xcf, 0x98, 0x12, 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f,
+ 0x55, 0x9e, 0xb5, 0xd0, 0x80, 0x4d, 0xdd, 0x89, 0xc7, 0x88,
+ 0x4e, 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2, 0x50, 0xa2,
+ 0xd0, 0xcb, 0xcd, 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24,
+ 0x11, 0xdb, 0xd6, 0xbd, 0x7c, 0xce, 0x62, 0xe4, 0x0b, 0x55,
+ 0xe5, 0x83, 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52,
+ 0x80, 0xac, 0x7c, 0x44, 0x13, 0x2b, 0xd8, 0xea, 0xf3, 0x85,
+ 0x5c, 0x7e, 0xda, 0x22, 0xd2, 0xbb, 0xba, 0xf6, 0x97, 0x9d,
+ 0x98, 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f, 0xd3,
+ 0x5f, 0x91, 0x99, 0xbc, 0x32, 0x62, 0x02, 0xeb, 0xcb, 0x79,
+ 0x20, 0xb9, 0x4e, 0xba, 0xb3, 0xf4, 0x90, 0xd8, 0xe4, 0xec,
+ 0x87, 0xdc, 0x93, 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c,
+ 0x9d, 0x0b, 0x82, 0xc3, 0x19, 0x10, 0x4e, 0x26, 0x80, 0xe5,
+ 0x32, 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78,
+ 0xa3, 0xe6, 0xd9, 0xbb, 0x90, 0xb1, 0xa5, 0x7b, 0x14, 0x03,
+ 0x5e, 0xdb, 0x96, 0x85, 0x5a, 0x77, 0x8f, 0x8a, 0x6b, 0x94,
+ 0xd0, 0x22, 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70,
+ 0x72, 0x4b, 0x3f, 0xf9, 0xe6, 0x28, 0x24, 0xbd, 0xb8, 0x6e,
+ 0x05, 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d, 0x53, 0xc3,
+ 0x6a, 0x25, 0x34, 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf,
+ 0x15, 0x1c, 0xfd, 0x62, 0x7f, 0xaf, 0xd8, 0x0a, 0xcb, 0x23,
+ 0xce, 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16,
+ 0x93, 0x39, 0x28, 0x43, 0xed, 0x75, 0xbd, 0x5a, 0xc8, 0xaf,
+ 0x95, 0xd5, 0x70, 0x40, 0xc2, 0xa3, 0x24, 0x16, 0xc5, 0xba,
+ 0xf4, 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c, 0xbc, 0x90, 0xc0,
+ 0x85, 0x26, 0x6c, 0x3a, 0x8c, 0x0d, 0xce, 0xa2, 0x1f, 0x62,
+ 0xbd, 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09, 0xea, 0x54,
+ 0x47, 0x56, 0x99, 0x0f, 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b,
+ 0xa7, 0xa9, 0x17, 0xfd, 0xeb, 0xca, 0x90, 0x0c, 0x10, 0x54,
+ 0x97, 0x4e, 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f,
+ 0x2c, 0x6c, 0xb2, 0x2f, 0x44, 0x86, 0x4c, 0x09, 0xca, 0xf0,
+ 0x48, 0x96, 0x67, 0xde, 0xcb, 0x4f, 0xbb, 0x68, 0x40, 0xc7,
+ 0x40, 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4, 0x21, 0xc2, 0xf5,
+ 0x28, 0x3c, 0xb0, 0x73, 0x8d, 0xbc, 0x92, 0x5a, 0x6e, 0x02,
+ 0x34, 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf, 0x6b, 0x66,
+ 0xec, 0x48, 0x3a, 0x3d, 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f,
+ 0x8a, 0x95, 0x8b, 0x2f, 0x86, 0x6e, 0xcb, 0x5b, 0x01, 0x94,
+ 0x84, 0xdd, 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c,
+ 0x72, 0x76, 0xa2, 0x6e, 0x26, 0x56, 0x73, 0x17, 0x25, 0xc9,
+ 0xb8, 0xfc, 0x77, 0x44, 0x67, 0xb5, 0xb7, 0x2f, 0xed, 0xf9,
+ 0x12, 0xbf, 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58,
+ 0x9a, 0xd7, 0xc8, 0x80, 0x35, 0xf3, 0x1a, 0x95, 0xf6, 0x10,
+ 0x63, 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31, 0xde, 0xb6,
+ 0x6c, 0x05, 0x48, 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c,
+ 0x4b, 0xa3, 0x2d, 0xda, 0xa6, 0x45, 0xd4, 0x4a, 0x68, 0x11,
+ 0x5e, 0x40, 0x4f, 0x21, 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4,
+ 0xfe, 0x9d, 0x73, 0x14, 0xf5, 0x0b, 0x80, 0x33, 0x8b, 0x8f,
+ 0x5b, 0xe1, 0x28, 0xba, 0xcd, 0x4a, 0x1e, 0x4c, 0x2e, 0x63,
+ 0x81, 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c, 0x1f, 0xff, 0x53,
+ 0x18, 0x14, 0xd1, 0x90, 0x7b, 0xd5, 0x8b, 0xb0, 0xd7, 0xb6,
+ 0x67, 0x27, 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a, 0x23, 0x4a,
+ 0xa5, 0xff, 0xc7, 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a, 0x33,
+ 0x2b, 0x79, 0x43, 0x83, 0x8e, 0x14, 0xbc, 0xce, 0xd6, 0xdc,
+ 0x22, 0x0b, 0xfe, 0x4a, 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0,
+ 0xd0, 0x0e, 0xac, 0x8f, 0x20, 0xa8, 0xed, 0x9c, 0x45, 0xc1,
+ 0x6a, 0xf1, 0x61, 0x9b, 0x14, 0x1e, 0x58, 0xd8, 0xa7, 0x5e,
+ 0x0a, 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2,
+ 0x95, 0x3e, 0xf2, 0xda, 0xde, 0x2a, 0x08, 0x2a, 0xaa, 0x27,
+ 0x80, 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6, 0x16, 0x36,
+ 0x59, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xac,
+ 0xe6, 0x2e, 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9,
+ 0xad, 0x5e, 0x19, 0x31, 0xd7, 0x48, 0xa6, 0xd6, 0xee, 0xf7,
+ 0x7f, 0xaa, 0xfa, 0xd5, 0x49, 0x8c, 0xa2, 0x78, 0x0e, 0xe1,
+ 0x74, 0x7a, 0x36, 0xdb, 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9,
+ 0xd5, 0x5e, 0xcf, 0xdc, 0x55, 0xb6,
+ },
+ {
+ /* 1 */
+ 0xcc, 0xec, 0x18, 0x15, 0x1b, 0x11, 0x97, 0xc3, 0xf0, 0x9a,
+ 0x7d, 0x3e, 0x77, 0x3a, 0x93, 0x9b, 0x03, 0x52, 0x4c, 0x32,
+ 0xa4, 0x91, 0x05, 0xcd, 0xbd, 0x7b, 0x44, 0x0e, 0x71, 0xad,
+ 0xa6, 0x23, 0x17, 0x0c, 0x9a, 0xa9, 0x18, 0x92, 0x39, 0xd8,
+ 0xad, 0x0a, 0xf2, 0x46, 0x78, 0x7d, 0x02, 0x74, 0xa5, 0x43,
+ 0xab, 0x04, 0x86, 0x68, 0x2c, 0x3c, 0x84, 0x83, 0x35, 0x17,
+ 0xdb, 0x7b, 0x40, 0x98, 0xd4, 0x39, 0x3d, 0x46, 0x72, 0x13,
+ 0xbf, 0x64, 0x51, 0xc4, 0x18, 0x4e, 0x79, 0x1b, 0xea, 0x40,
+ 0xfc, 0x85, 0x52, 0xb3, 0xc9, 0x15, 0xc7, 0x4e, 0x71, 0x26,
+ 0xb7, 0xde, 0x6b, 0x78, 0x61, 0xee, 0xd6, 0xe4, 0xf4, 0xdb,
+ 0x0b, 0x4c, 0xb9, 0x53, 0x87, 0x96, 0x60, 0xfb, 0x27, 0x6c,
+ 0x2e, 0xc3, 0x76, 0x51, 0x8b, 0x89, 0xa2, 0x54, 0x9a, 0xfb,
+ 0x07, 0x98, 0x99, 0xfe, 0x6f, 0x23, 0x47, 0x3e, 0xd2, 0x9d,
+ 0xa5, 0x22, 0xf9, 0xf2, 0xb5, 0x3d, 0xe8, 0x32, 0x90, 0x52,
+ 0x9b, 0x82, 0x65, 0x06, 0x20, 0x4e, 0xcd, 0xc4, 0x9c, 0xb9,
+ 0x60, 0xf6, 0xfe, 0x69, 0x8c, 0x01, 0xa9, 0x7c, 0x1d, 0xe7,
+ 0x65, 0x24, 0x40, 0xd9, 0x48, 0x78, 0xaf, 0x4d, 0xc5, 0x36,
+ 0x9b, 0x11, 0xab, 0xb0, 0x0e, 0x8f, 0x42, 0x41, 0x90, 0xd6,
+ 0x82, 0xee, 0xc6, 0x18, 0xe9, 0x80, 0xa3, 0xb7, 0xcf, 0x8f,
+ 0xfe, 0x8e, 0x46, 0x38, 0xc1, 0x2f, 0x70, 0x50, 0xca, 0x76,
+ 0x86, 0x24, 0x53, 0x1e, 0x73, 0x61, 0xb5, 0x4b, 0xbb, 0x32,
+ 0x16, 0x33, 0x64, 0x8b, 0x0e, 0xc2, 0x9c, 0x2b, 0xd8, 0x7b,
+ 0x37, 0xc3, 0xb6, 0x05, 0x2c, 0xc5, 0x3e, 0x0c, 0x49, 0xb8,
+ 0x74, 0x44, 0x4f, 0x46, 0x5f, 0x39, 0xae, 0x8d, 0xc0, 0x6b,
+ 0x25, 0xb8, 0x19, 0x92, 0xb3, 0xc9, 0x6f, 0x62, 0xfa, 0xe4,
+ 0x40, 0x13, 0x3a, 0x48, 0x34, 0x82, 0x2e, 0x18, 0xf7, 0x91,
+ 0x30, 0xe7, 0x72, 0x73, 0x99, 0x14, 0x27, 0x8c, 0xf0, 0xfa,
+ 0x04, 0xe8, 0x7f, 0x2c, 0xac, 0x17, 0x58, 0x25, 0x81, 0xdd,
+ 0xb2, 0x3a, 0x86, 0xd4, 0xfb, 0xe6, 0xb3, 0xd7, 0xad, 0xb1,
+ 0x09, 0x35, 0xa1, 0xd7, 0x34, 0xe0, 0x5a, 0x08, 0x16, 0x86,
+ 0x60, 0x64, 0xd6, 0xd1, 0x06, 0xa4, 0x98, 0x64, 0x8b, 0xe1,
+ 0x0a, 0x59, 0xb9, 0xf6, 0x88, 0x1c, 0xe2, 0x99, 0x8f, 0x46,
+ 0x6b, 0x72, 0x7a, 0x8c, 0xe4, 0x26, 0xbd, 0xc8, 0xa2, 0x4b,
+ 0x30, 0x9c, 0xf2, 0x36, 0x17, 0x80, 0x3b, 0xc9, 0xa4, 0xa5,
+ 0x51, 0x2a, 0x4d, 0x9c, 0xe2, 0x4c, 0xad, 0x7f, 0xd6, 0xf0,
+ 0xc2, 0x1f, 0x6a, 0xfd, 0xff, 0x23, 0x39, 0xe8, 0xbe, 0x32,
+ 0xc9, 0x62, 0x0c, 0x27, 0xdd, 0xec, 0x75, 0x20, 0x7e, 0xa3,
+ 0x29, 0xb8, 0x85, 0xeb, 0x82, 0x27, 0xd9, 0x13, 0xba, 0x6f,
+ 0xd4, 0x3c, 0xd1, 0x77, 0x3c, 0xe2, 0xb9, 0x6e, 0x07, 0x05,
+ 0x44, 0x3f, 0x30, 0x93, 0x19, 0xd8, 0x1b, 0xb3, 0x2f, 0xf9,
+ 0x84, 0x82, 0xe3, 0x6f, 0xc7, 0x1f, 0x4f, 0x30, 0x11, 0xc3,
+ 0x85, 0xad, 0x5d, 0xdd, 0x3f, 0xdf, 0x67, 0xf9, 0x89, 0x44,
+ 0x31, 0x27, 0xa9, 0x7a, 0x13, 0x64, 0xe3, 0xa4, 0xf5, 0xc7,
+ 0xca, 0x0c, 0xb6, 0x36, 0x60, 0x54, 0x6c, 0x44, 0x19, 0x8a,
+ 0x46, 0x2d, 0x37, 0xf8, 0x1f, 0xe8, 0x09, 0x29, 0x16, 0x83,
+ 0x1f, 0x06, 0xc5, 0x5c, 0x3a, 0x22, 0xc6, 0x23, 0xce, 0xfd,
+ 0x57, 0xa7, 0x60, 0xd4, 0x88, 0x09, 0x10, 0xa7, 0x12, 0x1e,
+ 0x5b, 0x82, 0xa0, 0xec, 0x56, 0x95, 0x5a, 0x2c, 0xe2, 0x53,
+ 0x58, 0x49, 0x7c, 0x18, 0x92, 0xb3, 0xe8, 0x88, 0x9e, 0x8c,
+ 0xbe, 0x72, 0x9f, 0xd9, 0x43, 0xd6, 0xbc, 0x19, 0x0b, 0xf8,
+ 0x32, 0xa4, 0x07, 0x61, 0x4e, 0xf4, 0x6c, 0xdc, 0xfa, 0x80,
+ 0x5b, 0xe3, 0xde, 0x16, 0x56, 0xea, 0x2c, 0xf3, 0xa1, 0x8f,
+ 0x59, 0x1d, 0x43, 0x6a, 0x9c, 0x73, 0xb8, 0x8a, 0xc2, 0xba,
+ 0x22, 0x40, 0xb7, 0x4f, 0x85, 0x46, 0x97, 0xe7, 0xd6, 0xb3,
+ 0x2e, 0xbc, 0x8a, 0x94, 0x4e, 0xca, 0x63, 0x1e, 0x57, 0xef,
+ 0xd2, 0xaa, 0x58, 0xaf, 0x70, 0x8f, 0xc8, 0x7e, 0x23, 0x02,
+ 0x3f, 0xb0, 0xf5, 0x5c, 0xa3, 0x94, 0x41, 0xf2, 0x8d, 0xe8,
+ 0x5d, 0xd6, 0x6a, 0x1e, 0x89, 0xda, 0x0e, 0x56, 0x3a, 0x55,
+ 0xac, 0x5e, 0x12, 0x85, 0x67, 0x7d, 0xab, 0x8d, 0x59, 0x86,
+ 0x19, 0x0f, 0x1f, 0xfe, 0x38, 0x98, 0x3f, 0x2d, 0x21, 0x04,
+ 0x73, 0x81, 0xd1, 0xd7, 0xc3, 0x62, 0x94, 0x3d, 0x99, 0xa1,
+ 0x12, 0x6a, 0x81, 0x6d, 0x68, 0x03, 0xb4, 0x10, 0x2c, 0xcf,
+ 0xc0, 0xc8, 0x6f, 0x61, 0x0c, 0x8b, 0xf3, 0xc8, 0xd5, 0x01,
+ 0x14, 0xb2, 0xb1, 0x2f, 0xd3, 0x38, 0x07, 0xf1, 0xdd, 0x8c,
+ 0x70, 0xf5, 0x13, 0xed, 0x29, 0xb5, 0x90, 0xa2, 0xbe, 0x6e,
+ 0x11, 0xe2, 0x8d, 0xba, 0xc8, 0x78, 0x44, 0xe5, 0x08, 0xb2,
+ 0x09, 0x0f, 0xcc, 0x41, 0x50, 0x76, 0x2b, 0xab, 0x2d, 0x16,
+ 0x71, 0xc8, 0x2d, 0x4a, 0xbb, 0xa3, 0x94, 0x76, 0x77, 0xbe,
+ 0x24, 0x6f, 0x63, 0x82, 0x81, 0x57, 0xa2, 0xcb, 0x5f, 0x62,
+ 0x61, 0xd3, 0xc4, 0x9c, 0xe1, 0x2b, 0x4c, 0x53, 0x0a, 0xd5,
+ 0x52, 0x9a, 0xae, 0x30, 0x78, 0x07, 0xb1, 0xdc, 0x0e, 0x0a,
+ 0x88, 0x7e, 0x60, 0xe5, 0x32, 0x73, 0x36, 0xa5, 0x5e, 0x31,
+ 0xcb, 0xc7, 0x05, 0xde, 0x4d, 0x3e, 0x9e, 0x60, 0x22, 0x45,
+ 0xc9, 0x99, 0xba, 0x79, 0x7e, 0x7d, 0xd5, 0xb6, 0xb8, 0xe9,
+ 0xaf, 0xdd, 0xbc, 0x9e, 0x3a, 0xed, 0x24, 0xf5, 0x56, 0xc1,
+ 0x88, 0xe0, 0x73, 0xa7, 0x5f, 0xdf, 0x8d, 0x24, 0x95, 0x6f,
+ 0x03, 0x15, 0x55, 0xec, 0xfc, 0x17, 0x6e, 0x5b, 0x5c, 0x30,
+ 0x2d, 0xe1, 0x60, 0x0d, 0xe4, 0xe6, 0xf1, 0x28, 0x4e, 0xdb,
+ 0x23, 0x37, 0x08, 0x13, 0xfe, 0x58, 0x9b, 0x2e, 0xb0, 0x4a,
+ 0xc1, 0x79, 0xa7, 0x74, 0xcf, 0x6b, 0x35, 0x0f, 0xa5, 0x6d,
+ 0x6f, 0x0b, 0x2b, 0x75, 0x16, 0x98, 0xb1, 0xa6, 0xcd, 0xef,
+ 0xc0, 0x35, 0x4e, 0xd8, 0x5c, 0x45, 0x1a, 0x08, 0xec, 0xce,
+ 0x10, 0x5d, 0x2e, 0x90, 0x77, 0x0c, 0x1d, 0xc5, 0x50, 0x56,
+ 0xbd, 0x58, 0x07, 0x2b, 0x1d, 0xcb, 0x56, 0x2f, 0x09, 0xa3,
+ 0xd2, 0xdf, 0xb4, 0xa7, 0xcd, 0x43, 0xed, 0xe6, 0xee, 0x7f,
+ 0x1c, 0x4c, 0xfe, 0xf7, 0xf1, 0x02, 0xd8, 0xa1, 0x89, 0x8a,
+ 0x80, 0x31, 0x4a, 0xff, 0xea, 0x06, 0x4d, 0xb5, 0x0c, 0x49,
+ 0xfd, 0x6c, 0xb7, 0x05, 0x79, 0x23, 0x3c, 0xdf, 0x01, 0x3a,
+ 0xc8, 0x95, 0x49, 0xec, 0xe9, 0xaf, 0x9b, 0xad, 0x9f, 0x3e,
+ 0x8d, 0x97, 0xcb, 0xd4, 0xd8, 0x5e, 0x8c, 0x70, 0x41, 0x5e,
+ 0xe0, 0xa0, 0x57, 0xec, 0xcf, 0x48, 0xa6, 0x3c, 0xe6, 0xc2,
+ 0xa9, 0x96, 0xb5, 0x64, 0x2c, 0x66, 0xc8, 0xd5, 0x1c, 0x47,
+ 0xfb, 0x56, 0x73, 0xf6, 0x6e, 0x45, 0xaf, 0x0a, 0x38, 0x9b,
+ 0xe8, 0x97, 0xf5, 0xbb, 0x48, 0x51, 0x5f, 0x37, 0xe9, 0x71,
+ 0xa7, 0x5d, 0x64, 0x3c, 0x59, 0xc6, 0xf9, 0xb7, 0x4f, 0x7d,
+ 0xeb, 0x72, 0xf5, 0xa5, 0x82, 0xc9, 0xb0, 0x03, 0x21, 0x76,
+ 0x69, 0xaf, 0xb3, 0x11, 0x9d, 0x79, 0xbb, 0xff, 0x74, 0x19,
+ 0x48, 0x29, 0xac, 0x41, 0xd3, 0x03, 0x10, 0x27, 0x87, 0x62,
+ 0x4e, 0xbd, 0x30, 0x7b, 0x7f, 0xd5, 0x46, 0xe1, 0xb5, 0x3e,
+ 0xef, 0x92, 0xf0, 0x0e, 0xa1, 0x7b, 0x1c, 0x14, 0xd3, 0xfc,
+ 0xc0, 0x09, 0x64, 0xe6, 0x6c, 0x89, 0xbc, 0x62, 0xa3, 0xe7,
+ 0x33, 0x60, 0x0d, 0x89, 0x26, 0x65, 0x3d, 0x75, 0xbd, 0x0b,
+ 0x39, 0xe2, 0xcf, 0xde, 0x09, 0x7d, 0x27, 0x9e, 0xfa, 0x71,
+ 0x1b, 0x26, 0xb5, 0xa2, 0x1f, 0x2a, 0x94, 0xc5, 0xf4, 0xe9,
+ 0x0d, 0x04, 0x76, 0x67, 0x08, 0xcf, 0x17, 0x48, 0xda, 0x06,
+ 0xef, 0x83, 0x28, 0x2b, 0xbf, 0x2c, 0xfd, 0x0a, 0xd7, 0x1c,
+ 0x14, 0xdb, 0xc4, 0xb4, 0x1a, 0x0f, 0x8b, 0x65, 0x44, 0xa2,
+ 0x03, 0x4e, 0x1b, 0x87, 0x69, 0x61, 0xcd, 0x93, 0x2d, 0x6a,
+ 0x1c, 0x25, 0x21, 0x7e, 0x7f, 0x8c, 0xdf, 0xf8, 0x27, 0x65,
+ 0xd0, 0x0f, 0xca, 0x96, 0x69, 0x55, 0x2c, 0xb6, 0x38, 0xa6,
+ 0x64, 0x3f, 0xf0, 0x01, 0x8d, 0xff, 0xc4, 0xf1, 0x3d, 0x6e,
+ 0x54, 0x16, 0xa4, 0x61, 0x9a, 0x87, 0xc9, 0x18, 0xcb, 0x36,
+ 0xf2, 0xd3, 0x68, 0xe6, 0x65, 0x4b, 0xd5, 0xcb, 0x16, 0x5b,
+ 0x1c, 0x53, 0x32, 0xfe, 0x78, 0xe1, 0x92, 0x01, 0xfc, 0x69,
+ 0x02, 0x43, 0x75, 0x12, 0xd7, 0xe0, 0x4b, 0x50, 0x0a, 0x7a,
+ 0x5f, 0x0b, 0x6d, 0xd6, 0xe2, 0xe8, 0x6f, 0xc7, 0xb7, 0x91,
+ 0x1b, 0xbd, 0xb8, 0x80, 0x10, 0xaf, 0x98, 0xc6, 0x5d, 0xbf,
+ 0xa8, 0x4e, 0xbd, 0xc3, 0xe7, 0x1c, 0x9a, 0x01, 0x72, 0x60,
+ 0x0c, 0xed, 0x6a, 0xb3, 0xf1, 0x81, 0x24, 0xd4, 0xc1, 0xda,
+ 0xd0, 0x06, 0xab, 0x20, 0x58, 0x5d, 0x43, 0x53, 0xde, 0xc2,
+ 0x21, 0xc1, 0x48, 0x6b, 0x41, 0x77, 0x63, 0x0c, 0x95, 0x40,
+ 0xb0, 0xba, 0x86, 0xa6, 0x7f, 0x47, 0x37, 0x42, 0x57, 0x6d,
+ 0x84, 0x2b, 0x59, 0x2e, 0x53, 0x63, 0x7e, 0x47, 0xd1, 0x01,
+ 0x1f, 0x93, 0x40, 0x9c, 0x59, 0x4b, 0xfb, 0xb1, 0xc0, 0x2f,
+ 0x3f, 0xd2, 0xdb, 0x02, 0x91, 0xf8, 0x3a, 0x0d, 0x8e, 0xad,
+ 0x88, 0xc3, 0x99, 0xff, 0x51, 0xdb, 0x19, 0x1a, 0xde, 0x89,
+ 0xb8, 0xb5, 0x6d, 0x15, 0xe8, 0xdb, 0x84, 0x28, 0x75, 0x16,
+ 0xfb, 0x5b, 0x61, 0x57, 0x01, 0x96, 0x62, 0xa8, 0xc5, 0xb9,
+ 0xe4, 0x50, 0x77, 0xe0, 0xa0, 0x17, 0xef, 0xe9, 0xd0, 0x78,
+ 0xd2, 0xae, 0x65, 0x59, 0x18, 0x35, 0xec, 0xa2, 0xd5, 0xd1,
+ 0x87, 0xa8, 0xf7, 0x35, 0x0e, 0xf3, 0xf1, 0x3f, 0xde, 0x46,
+ 0x8e, 0x7c, 0x9e, 0x8a, 0x0f, 0xa1, 0xd7, 0x42, 0x61, 0xa0,
+ 0x66, 0xcf, 0x98, 0x68, 0x0d, 0x8b, 0x82, 0x87, 0x9c, 0x57,
+ 0xc6, 0x3c, 0xae, 0x1d, 0x67, 0x97, 0xb0, 0x9d, 0xe0, 0xdd,
+ 0x53, 0xfc, 0x46, 0x04, 0xd1, 0xcf, 0xe9, 0x10, 0x5d, 0x63,
+ 0xb0, 0xf0, 0x55, 0x49, 0xd4, 0x5c, 0xea, 0x2f, 0xc3, 0x25,
+ 0xe7, 0x02, 0x3b, 0xd2, 0x04, 0x86, 0xea, 0x24, 0x6d, 0x03,
+ 0x96, 0xa0, 0x14, 0xf4, 0xbe, 0x16, 0xb8, 0x60, 0x5a, 0x01,
+ 0xc0, 0x1a, 0x0b, 0x0f, 0x21, 0x50, 0x9c, 0x75, 0x46, 0x6e,
+ 0x10, 0x26, 0x2f, 0x97, 0x72, 0x3e, 0xed, 0x29, 0x71, 0x89,
+ 0xf2, 0x3d, 0x1b, 0x37, 0xdf, 0x20, 0x66, 0x48, 0xe2, 0xf4,
+ 0xef, 0x84, 0x2b, 0xf6, 0xe5, 0xb0, 0x69, 0x8e, 0x5a, 0xb2,
+ 0x87, 0xc0, 0x97, 0x73, 0x8a, 0xd4, 0xd9, 0x3a, 0x6b, 0x41,
+ 0x5d, 0xb5, 0x76, 0xbe, 0x2e, 0x20, 0x04, 0x5b, 0x26, 0xd0,
+ 0xd7, 0x6b, 0x71, 0x74, 0xd6, 0x82, 0xba, 0xa9, 0xec, 0xbf,
+ 0x5c, 0x40, 0x08, 0xb6, 0x4c, 0x63, 0xb4, 0xeb, 0xa9, 0xc9,
+ 0x15, 0x1b, 0x1f, 0xbd, 0x90, 0x7f, 0x4f, 0x4d, 0x41, 0x9f,
+ 0xcd, 0xaa, 0x29, 0x33, 0xea, 0x5a, 0x66, 0xc8, 0x7b, 0xd0,
+ 0x4b, 0xcb, 0x93, 0x2b, 0x3d, 0xb9, 0xe9, 0x0e, 0x13, 0x75,
+ 0xcb, 0x50, 0xea, 0x2c, 0x35, 0xb6, 0xc2, 0xae, 0x02, 0xef,
+ 0xc4, 0x93, 0x49, 0xb1, 0x98, 0x2e, 0x97, 0xc5, 0x5c, 0xa3,
+ 0x6b, 0xf9, 0xdf, 0x39, 0x10, 0x74, 0xef, 0x12, 0x0d, 0xc1,
+ 0x80, 0xfb, 0xb2, 0x96, 0x35, 0xa1, 0x43, 0x5e, 0x7e, 0x67,
+ 0x75, 0x04, 0xe1, 0x33, 0x74, 0x1a, 0xa6, 0x11, 0xe7, 0x36,
+ 0x22, 0xf9, 0x29, 0xf1, 0x39, 0xf8, 0x71, 0x19, 0xaa, 0xd6,
+ 0xe6, 0xbb, 0x62, 0x0f, 0x5d, 0x12, 0x1e, 0x57, 0xa6, 0xee,
+ 0x17, 0xe9, 0x2f, 0xb6, 0x66, 0xf3, 0xe3, 0x69, 0xb3, 0xc0,
+ 0xb4, 0x02, 0x43, 0x34, 0x16, 0x1e, 0x42, 0xa0, 0xfb, 0xea,
+ 0x8c, 0xdc, 0x20, 0x4c, 0x5e, 0xed, 0xe4, 0x7c, 0x19, 0x52,
+ 0xe2, 0xd1, 0x27, 0x7a, 0x36, 0x6e, 0x7d, 0x40, 0xcc, 0x90,
+ 0x72, 0x28, 0xda, 0x70, 0x50, 0xea, 0x96, 0x95, 0x68, 0x3c,
+ 0x69, 0x57, 0xd3, 0xcd, 0x0c, 0xfb, 0x43, 0xce, 0x15, 0x79,
+ 0x5f, 0x20, 0xc5, 0xe2, 0x82, 0xa9, 0x9f, 0x0c, 0xe0, 0x55,
+ 0x9c, 0x2e, 0x34, 0x10, 0x1b, 0x5f, 0x20, 0xba, 0x5c, 0xe3,
+ 0xee, 0x18, 0x3a, 0x49, 0xa0, 0xac, 0xb9, 0xb0, 0x35, 0x9f,
+ 0x9e, 0xf0, 0xfd, 0x74, 0x5f, 0x19, 0x85, 0x31, 0x06, 0xf2,
+ 0x8f, 0x76, 0xdb, 0x10, 0x52, 0x66, 0x17, 0xb4, 0xcc, 0x53,
+ 0xf6, 0x63, 0x96, 0x55, 0xe5, 0x56, 0x7a, 0xb1, 0x11, 0x1c,
+ 0x26, 0xea, 0x55, 0xa0, 0x17, 0x58, 0x6a, 0xaf, 0x47, 0x9f,
+ 0x04, 0x1d, 0x4b, 0xe5, 0x92, 0xa1, 0x7d, 0xf1, 0x65, 0x8a,
+ 0x21, 0x7a, 0x87, 0xea, 0x64, 0x68, 0xfe, 0x61, 0xa5, 0x91,
+ 0x77, 0x54, 0xb7, 0xb9, 0xe5, 0xfb, 0xb1, 0x8a, 0x1a, 0x70,
+ 0x2d, 0x04, 0x0b, 0x43, 0x30, 0x32, 0x6b, 0x89, 0x0a, 0x2f,
+ 0x6b, 0xac, 0x5e, 0xe0, 0x1e, 0xeb, 0x08, 0xd9, 0x5b, 0x24,
+ 0xe5, 0x68, 0x52, 0xca, 0x45, 0x6a, 0x8d, 0x1d, 0xd4, 0xc1,
+ 0xcf, 0xbb, 0x3b, 0x5f, 0x17, 0x10, 0x02, 0xcc, 0x13, 0x68,
+ 0x81, 0x74, 0x37, 0x39, 0xe8, 0x6f, 0x40, 0xa4, 0x15, 0x4e,
+ 0x49, 0xbf, 0xce, 0xe9, 0x16, 0xba, 0x6e, 0x84, 0xae, 0xda,
+ 0xcb, 0x56, 0xb2, 0x5c, 0xa6, 0xc6, 0xfc, 0x8e, 0x61, 0x02,
+ 0x3e, 0xe5, 0x53, 0xe9, 0x92, 0x1b, 0x11, 0x9d, 0xf5, 0x99,
+ 0xfd, 0x7c, 0xd9, 0xed, 0x55, 0x6b, 0x73, 0xbc, 0x4a, 0xb3,
+ 0x32, 0xe7, 0xa5, 0x51, 0xde, 0xc4, 0x37, 0x0b, 0x80, 0x26,
+ 0x74, 0x90, 0x68, 0xc7, 0x79, 0x88, 0x34, 0x73, 0xd3, 0xc4,
+ 0x8b, 0x84, 0x0b, 0xcc, 0x0e, 0xc8, 0x19, 0x7f, 0x3c, 0x91,
+ 0x32, 0xb4, 0x83, 0x3b, 0xab, 0x5b, 0x56, 0xba, 0x57, 0xee,
+ 0xb2, 0x55, 0x42, 0x35, 0x36, 0xf6, 0x61, 0x5d, 0x11, 0x20,
+ 0xba, 0xc6, 0xa3, 0x23, 0xaa, 0x92, 0x6b, 0xb8, 0x17, 0x5e,
+ 0x45, 0x4a, 0xfb, 0xae, 0x4f, 0x78, 0x9f, 0x3a, 0xce, 0xed,
+ 0xa3, 0xf9, 0x03, 0x79, 0xa6, 0x3b, 0x8c, 0x08, 0x39, 0x14,
+ 0x6d, 0x38, 0x28, 0x75, 0x4b, 0xab, 0x34, 0x1e, 0xd5, 0xca,
+ 0x88, 0x87, 0x06, 0x9c, 0xc0, 0x67, 0xeb, 0xdd, 0xce, 0x10,
+ 0x83, 0x71, 0x41, 0xb5, 0xae, 0x06, 0x70, 0xcb, 0x4e, 0x17,
+ 0xfa, 0x21, 0xca, 0xd7, 0x42, 0xf4, 0xcd, 0x17, 0xc8, 0xd0,
+ 0x3f, 0xc2, 0x89, 0xe1, 0xee, 0xa8, 0x5b, 0x1b, 0x30, 0x2a,
+ 0x36, 0x22, 0xed, 0x45, 0x23, 0xf7, 0xfa, 0x7c, 0xee, 0x74,
+ 0xe5, 0xf5, 0xa4, 0xcc, 0x2e, 0xab, 0x5b, 0xa6, 0x2f, 0xc6,
+ 0xef, 0xaa, 0x09, 0xac, 0xf4, 0xa1, 0x22, 0x38, 0xba, 0xbd,
+ 0x93, 0x9c, 0xb9, 0x45, 0x0d, 0x38, 0xf7, 0x02, 0xe4, 0xc0,
+ 0x18, 0x19, 0xd4, 0xa5, 0xda, 0x6f, 0x07, 0x13, 0xde, 0x4d,
+ 0xad, 0xe1, 0x36, 0xb9, 0xb3, 0xc3, 0x20, 0x9d, 0xf3, 0x4f,
+ 0x4c, 0x17, 0xaa, 0x83, 0x2e, 0xb0, 0xd4, 0x9d, 0x8e, 0xfd,
+ 0x08, 0x3a, 0x96, 0x09, 0xe7, 0x81, 0x05, 0xf6, 0xd4, 0x56,
+ 0x2f, 0x70, 0x0f, 0x94, 0x04, 0x8d, 0xcc, 0x12, 0x93, 0x34,
+ 0x29, 0x65, 0xc3, 0x35, 0xa7, 0xef, 0x6a, 0x81, 0x86, 0xbc,
+ 0xfc, 0xce, 0xea, 0x08, 0x01, 0x66, 0xe8, 0x34, 0x3a, 0x46,
+ 0x21, 0x0a, 0x8c, 0xe4, 0x4e, 0x66, 0x89, 0x65, 0x91, 0xc4,
+ 0xf9, 0x2a, 0xa0, 0xbf, 0x82, 0x26, 0x7b, 0x0b, 0x4c, 0xfe,
+ 0x45, 0x69, 0xa8, 0x35, 0x0d, 0xb1, 0xbf, 0x44, 0xb0, 0x99,
+ 0x18, 0xd5, 0x25, 0x53, 0x69, 0x02, 0x28, 0xa7, 0xa1, 0x5e,
+ 0x65, 0x70, 0x0e, 0x21, 0x79, 0xdb, 0xc9, 0x1a, 0xcc, 0x43,
+ 0x34, 0x61, 0x98, 0x57, 0xf4, 0x17, 0xb1, 0x2c, 0xe4, 0x0e,
+ 0xba, 0xfe, 0x68, 0x20, 0x36, 0xbe, 0x40, 0xb7, 0xb8, 0x05,
+ 0x1f, 0x30, 0x74, 0x92, 0x83, 0x9b, 0xb1, 0xa3, 0xf6, 0xaa,
+ 0x39, 0x1f, 0x97, 0xf5, 0xd9, 0xa5, 0x79, 0xff, 0xec, 0xfa,
+ 0x8e, 0x10, 0x33, 0x24, 0x63, 0x80, 0xd8, 0xbd, 0xc3, 0x99,
+ 0xa5, 0x14, 0x7c, 0xc0, 0x13, 0x0d, 0x49, 0x29, 0x81, 0xc9,
+ 0x87, 0xd0, 0xaf, 0x5d, 0x63, 0x8e, 0x4a, 0xfd, 0xac, 0xb8,
+ 0xc1, 0xa3, 0x2c, 0x70, 0x99, 0xfc, 0x49, 0xe1, 0x7e, 0xd5,
+ 0x01, 0xc0, 0xdb, 0x09, 0x8a, 0x70, 0xc4, 0x28, 0x05, 0x3d,
+ 0xce, 0xe4, 0x36, 0xcd, 0xd2, 0xc2, 0x59, 0xe5, 0x5a, 0xd4,
+ 0x38, 0x4a, 0x42, 0xfc, 0xfe, 0xdb, 0x7d, 0x33, 0x91, 0x53,
+ 0xb0, 0x5b, 0xa6, 0xd2, 0x70, 0xdf, 0x6a, 0x9b, 0x0f, 0x5e,
+ 0x7b, 0xd7, 0xf9, 0x28, 0x97, 0xf7, 0x28, 0x3f, 0x2d, 0x33,
+ 0x7a, 0x86, 0xd3, 0x6d, 0x87, 0x42, 0x99, 0x4e, 0x76, 0x6e,
+ 0x33, 0x3b, 0x06, 0x94, 0x76, 0x95, 0x55, 0x40, 0x3c, 0xc7,
+ 0x8e, 0xee, 0x6d, 0xef, 0x54, 0x56, 0x08, 0xf2, 0xa2, 0x31,
+ 0x27, 0xbf, 0x18, 0xdc, 0xde, 0x8b, 0x23, 0x91, 0xbb, 0x1f,
+ 0x96, 0x49, 0x7c, 0x7e, 0xe0, 0x25, 0xfc, 0xb4, 0x84, 0x10,
+ 0x0f, 0x41, 0xc2, 0xda, 0x8a, 0x4b, 0x15, 0xf4, 0x02, 0xdd,
+ 0xc9, 0x9d, 0x79, 0x5f, 0x06, 0x37, 0xd6, 0x52, 0x78, 0xb5,
+ 0x5e, 0x77, 0xc4, 0x83, 0x77, 0xde, 0x0e, 0x26, 0x7f, 0x9a,
+ 0x99, 0x01, 0x6c, 0xb1, 0xa5, 0x45, 0x40, 0xf9, 0x25, 0x9e,
+ 0x85, 0x0d, 0x66, 0xc0, 0x1a, 0xd1, 0x4c, 0xca, 0x7a, 0xea,
+ 0xb9, 0x16, 0x72, 0x07, 0x5d, 0x7f, 0x66, 0x76, 0x0c, 0xeb,
+ 0xec, 0xe9, 0xaa, 0x80, 0x78, 0x4d, 0xdf, 0x1f, 0xda, 0x1d,
+ 0xa8, 0xac, 0x41, 0x13, 0xdc, 0xe4, 0x26, 0x7f, 0xc3, 0xd5,
+ 0x54, 0xfb, 0xe7, 0xb9, 0xbe, 0x22, 0x58, 0xad, 0x30, 0x69,
+ 0x4a, 0xa6, 0xd2, 0x04, 0x50, 0x8d, 0x81, 0xbc, 0xca, 0xe0,
+ 0x1c, 0x42, 0xf2, 0x75, 0xcd, 0x63, 0x9d, 0xba, 0xc6, 0xdf,
+ 0x94, 0x39, 0x9b, 0xb3, 0x41, 0x85, 0x58, 0xe0, 0xf1, 0x3b,
+ 0xd0, 0x40, 0x6c, 0xbf, 0x80, 0xad, 0xb3, 0x0a, 0x3e, 0x60,
+ 0xe8, 0xe7, 0xc5, 0xf5, 0xa1, 0x85, 0xd9, 0x3d, 0x4b, 0x21,
+ 0x7a, 0xdc, 0xa8, 0x2c, 0x8b, 0xc2, 0xf7, 0xcd, 0x51, 0x30,
+ 0x55, 0x6c, 0xa9, 0xc8, 0x58, 0xcc, 0x53, 0x69, 0x38, 0x8e,
+ 0x35, 0xac, 0xe6, 0x2f, 0xdc, 0x8a, 0x9d, 0x14, 0xaa, 0x9a,
+ 0x14, 0xfe, 0xf7, 0xf8, 0x3d, 0x43, 0x88, 0xd7, 0xa2, 0x21,
+ 0xad, 0x27, 0x3b, 0x37, 0xc5, 0x91, 0x3f, 0x8b, 0xe1, 0x60,
+ 0x8c, 0xe5, 0x45, 0x38, 0x62, 0x14, 0xe3, 0xff, 0x67, 0x72,
+ 0x60, 0xd2, 0x94, 0x8f, 0x67, 0x08, 0xa0, 0xd9, 0xc1, 0xbb,
+ 0x57, 0x03, 0x38, 0x84, 0x27, 0xea, 0xf8, 0xfc, 0x03, 0x4a,
+ 0x3b, 0xab, 0xcb, 0x20, 0x1e, 0x82, 0x47, 0x77, 0xd7, 0x96,
+ 0x2a, 0x2b, 0x04, 0x79, 0x51, 0xf9, 0xf2, 0xbe, 0x0c, 0x6e,
+ 0x6f, 0xa4, 0xf0, 0xa9, 0xbc, 0xee, 0x4b, 0xc5, 0x90, 0xdc,
+ 0x35, 0xf4, 0x7b, 0x1c, 0x73, 0x25, 0x01, 0xb2, 0x33, 0xe5,
+ 0x54, 0x0d, 0x9b, 0x88, 0xe6, 0x8d, 0xbe, 0x7d, 0xd9, 0x48,
+ 0xe9, 0xde, 0x06, 0x2a, 0xaa, 0x1b, 0x3b, 0x2e, 0xdc, 0xb6,
+ 0x96, 0x78, 0xad, 0x90, 0xf0, 0xfd, 0x79, 0x7c, 0xb8, 0x44,
+ 0xbb, 0xf9, 0xb6, 0x94, 0x14, 0xce, 0xaf, 0x6c, 0xc0, 0xa8,
+ 0xd8, 0x88, 0x32, 0xd7, 0x8c, 0x5a, 0x6e, 0x33, 0x3e, 0x13,
+ 0x12, 0x52, 0xc6, 0xc3, 0x73, 0xb9, 0x45, 0xf1, 0x89, 0x28,
+ 0xf8, 0x43, 0x26, 0x1a, 0x92, 0x52, 0xc1, 0x51, 0xa7, 0x9e,
+ 0x62, 0x99, 0xff, 0x37, 0x2a, 0x0b, 0x52, 0xd1, 0x4d, 0xa2,
+ 0x85, 0x0c, 0x84, 0x1b, 0xa1, 0x3a, 0xfa, 0xfd, 0x74, 0xd6,
+ 0x20, 0x52, 0xeb, 0x27, 0xc5, 0xbe, 0x67, 0x95, 0x0b, 0x5d,
+ 0xd8, 0xb2, 0xce, 0x8e, 0xa7, 0x12, 0xab, 0xd6, 0xe0, 0xeb,
+ 0xcb, 0x76, 0x7e, 0xea, 0x37, 0xcc, 0x1e, 0x71, 0xbd, 0x37,
+ 0xe2, 0xe3, 0x22, 0xfe, 0x18, 0xa8, 0xed, 0x6c, 0xec, 0xb8,
+ 0xf6, 0x9d, 0x4d, 0x98, 0x2f, 0x2c, 0xf3, 0x7e, 0xd7, 0x67,
+ 0xe5, 0xd4, 0x34, 0x81, 0xb9, 0xd3, 0x85, 0x21, 0x64, 0xab,
+ 0xc5, 0x76, 0x95, 0xb6, 0xac, 0xb7, 0xae, 0x1f, 0xa7, 0xaa,
+ 0x84, 0x6a, 0x6c, 0x2f, 0x9a, 0xf3, 0x5e, 0x58, 0x25, 0xfc,
+ 0x6d, 0xce, 0x09, 0x6b, 0x68, 0xc1, 0xb1, 0x65, 0xc9, 0x42,
+ 0xe3, 0x7b, 0x6a, 0x2b, 0xf6, 0x38, 0xe6, 0x4a, 0x02, 0xa7,
+ 0x66, 0x09, 0xa8, 0x1a, 0xf5, 0xd3, 0xf9, 0x73, 0x86, 0xe5,
+ 0xe6, 0x65, 0xc8, 0xda, 0x75, 0xab, 0x7b, 0xcc, 0xf8, 0x4c,
+ 0x48, 0x8b, 0xf7, 0x25, 0xbc, 0xb0, 0x4a, 0x3b, 0xda, 0x5f,
+ 0x12, 0xd6, 0xd0, 0x41, 0xa1, 0xca, 0x51, 0x84, 0x19, 0x5a,
+ 0xa0, 0xfc, 0xb4, 0xcc, 0x2b, 0x5d, 0xca, 0x77, 0x59, 0xcb,
+ 0x21, 0xfb, 0x1b, 0x7b, 0x83, 0xa9, 0xfe, 0xa4, 0x91, 0x30,
+ 0x46, 0x93, 0xc3, 0x1c, 0x31, 0x0a, 0x90, 0x9e, 0xd2, 0x39,
+ 0x4b, 0x3c, 0xb7, 0x48, 0x78, 0x9f, 0xdd, 0x3e, 0x5c, 0x22,
+ 0xbc, 0x9d, 0x5b, 0x4a, 0x0a, 0x67, 0x4f, 0x45, 0xe6, 0xb1,
+ 0x8a, 0x21, 0xd1, 0x50, 0x33, 0x86, 0x4c, 0x34, 0xe7, 0xa4,
+ 0x41, 0xa2, 0x7b, 0x55, 0xfd, 0xee, 0xaa, 0x9b, 0x8d, 0xb3,
+ 0xdd, 0x9e, 0x76, 0x7d, 0x47, 0x08, 0xf8, 0x12, 0xef, 0xf0,
+ 0x99, 0xe3, 0x23, 0x39, 0xf2, 0xf8, 0xb3, 0x88, 0xb5, 0x31,
+ 0xaf, 0xeb, 0x28, 0x5f, 0x9d, 0xd8, 0x43, 0x93, 0x73, 0xd3,
+ 0x64, 0x6d, 0xdb, 0xb4, 0xdc, 0x66, 0x7c, 0x26, 0x24, 0xa4,
+ 0x74, 0x8c, 0x42, 0x14, 0xdb, 0x0b, 0x9c, 0xcc, 0xd1, 0xca,
+ 0xe1, 0x4b, 0x31, 0x54, 0x83, 0xbd, 0xc7, 0x4c, 0xf6, 0x16,
+ 0x98, 0x3f, 0x8a, 0xd2, 0x93, 0x6a, 0x1a, 0xa1, 0xbd, 0x88,
+ 0xa3, 0xf1, 0xca, 0x48, 0x80, 0x71, 0x90, 0xf0, 0x9d, 0x9a,
+ 0x49, 0x6c, 0xf5, 0x22, 0x95, 0xa3, 0x1c, 0xdd, 0x6c, 0x59,
+ 0x67, 0x47, 0xb2, 0x09, 0xb4, 0x6b, 0x70, 0x94, 0x84, 0x3b,
+ 0x3f, 0x75, 0xfa, 0x66, 0xf3, 0x5c, 0xed, 0x49, 0xb8, 0x85,
+ 0xd6, 0x31, 0x7d, 0x72, 0x20, 0xe8, 0x1d, 0x24, 0x1a, 0x41,
+ 0x31, 0xe6, 0xcf, 0x09, 0x0f, 0xca, 0x53, 0x77, 0xea, 0x95,
+ 0xf6, 0x5b, 0x33, 0x98, 0x90, 0xd5, 0x3e, 0x3f, 0x70, 0xf3,
+ 0x7e, 0x5a, 0x42, 0x08, 0xe6, 0xc1, 0x61, 0x6d, 0x45, 0xc4,
+ 0xeb, 0x7a, 0x01, 0x8f, 0x85, 0xaf, 0xdd, 0xce, 0x03, 0xfa,
+ 0x6b, 0x29, 0x3c, 0xbb, 0x2f, 0xda, 0x62, 0xa0, 0xdb, 0xe0,
+ 0x82, 0xbc, 0x03, 0x83, 0xae, 0x1b, 0x5d, 0x90, 0x8f, 0x78,
+ 0x0f, 0x47, 0x91, 0xef, 0xc4, 0x1e, 0xba, 0x24, 0x3c, 0xae,
+ 0x8f, 0x1f, 0x2e, 0x11, 0x5e, 0xaf, 0xcc, 0x25, 0x05, 0xd2,
+ 0xe1, 0xa6, 0xa3, 0xb6, 0x8f, 0x67, 0xe0, 0x7d, 0xd4, 0xf5,
+ 0x1e, 0xbc, 0xf6, 0x6d, 0x31, 0x50, 0xed, 0x2d, 0x50, 0x7e,
+ 0x5a, 0x66, 0xf4, 0xcf, 0x65, 0xda, 0xcd, 0x84, 0xf1, 0x9c,
+ 0xec, 0xdc, 0xe0, 0x29, 0x26, 0x19, 0x52, 0xa9, 0xe3, 0x87,
+ 0xbf, 0xdc, 0x22, 0x07, 0xd9, 0xb7, 0x53, 0xf0, 0x14, 0x5e,
+ 0xd6, 0x9b, 0xbc, 0x03, 0x3c, 0x15, 0x10, 0x71, 0xb6, 0x48,
+ 0x09, 0xd0, 0xa4, 0x57, 0xdf, 0x99, 0xd3, 0x45, 0xf1, 0x3d,
+ 0xa2, 0x75, 0x32, 0x34, 0x7f, 0xd1, 0xb3, 0xa9, 0xda, 0x2a,
+ 0x50, 0xbb, 0xde, 0x29, 0xb5, 0x0c, 0xf0, 0x54, 0x40, 0x07,
+ 0x9d, 0xe3, 0x24, 0xc6, 0xd5, 0x9f, 0xbe, 0xc4, 0xc2, 0x65,
+ 0x4b, 0xfb, 0x01, 0x56, 0x98, 0xa6, 0x14, 0x69, 0xa4, 0xf7,
+ 0x9f, 0x60, 0xab, 0x15, 0x91, 0x51, 0x2a, 0x36, 0x3e, 0xb9,
+ 0xe3, 0xfe, 0x9e, 0x9a, 0x82, 0xfd, 0x59, 0x97, 0xae, 0xe3,
+ 0x45, 0x07, 0x05, 0x46, 0x31, 0x2d, 0xe7, 0x73, 0x52, 0x88,
+ 0x11, 0xc9, 0x70, 0xf2, 0x51, 0x34, 0x5b, 0x86, 0x68, 0xc2,
+ 0xf3, 0xae, 0x2b, 0x2e, 0xa1, 0x58, 0x0b, 0x1c, 0xb7, 0x3f,
+ 0x12, 0xfa, 0x4e, 0xff, 0x37, 0xe2, 0x36, 0x4c, 0xa9, 0x87,
+ 0x3e, 0x54, 0xeb, 0x49, 0x2b, 0x11, 0x8f, 0x22, 0x0d, 0x6c,
+ 0x44, 0x31, 0x52, 0x21, 0x72, 0x33, 0xe2, 0x32, 0x97, 0x6f,
+ 0x0f, 0xb5, 0x1d, 0x23, 0xf1, 0x05, 0x46, 0x72, 0x27, 0x33,
+ 0xa5, 0xd3, 0xa9, 0x62, 0x9d, 0x15, 0x50, 0xbe, 0xf4, 0x77,
+ 0xf0, 0x82, 0xee, 0xaa, 0xdf, 0x92, 0xaf, 0xad, 0x94, 0x4f,
+ 0xd0, 0x67, 0xf7, 0xa7, 0xd3, 0x12, 0x20, 0x8d, 0x24, 0x3c,
+ 0xb6, 0xc7, 0x83, 0x1b, 0xac, 0xe9, 0xb4, 0x58, 0x07, 0xa6,
+ 0xff, 0xd7, 0x1e, 0x81, 0x6d, 0x84, 0xc2, 0x83, 0xcc, 0x5d,
+ 0xf3, 0xd0, 0x1a, 0xd5, 0xc7, 0xcd, 0x47, 0xb7, 0x44, 0x80,
+ 0xad, 0x9e, 0xc9, 0x8c, 0xed, 0x0d, 0x6f, 0xa5, 0x5c, 0xbb,
+ 0xd7, 0xeb, 0x15, 0xd1, 0x53, 0x34, 0x61, 0xcd, 0x3f, 0xef,
+ 0x7b, 0x58, 0x8a, 0xf3, 0x26, 0x0a, 0xc6, 0xf7, 0x8b, 0x5b,
+ 0x5c, 0x95, 0xb6, 0x8f, 0x5e, 0x4f, 0x1d, 0x97, 0x12, 0x9b,
+ 0x2b, 0x81, 0x44, 0x70, 0xa0, 0xb5, 0x7f, 0x52, 0xa9, 0x18,
+ 0x23, 0xa8, 0x80, 0x0e, 0xf9, 0x05, 0x48, 0x4f, 0x69, 0xfd,
+ 0xf5, 0xf8, 0x75, 0x2d, 0x33, 0x64, 0xdc, 0x68, 0xc4, 0x84,
+ 0xa8, 0xf4, 0xff, 0xbd, 0x95, 0x07, 0x28, 0xbc, 0x6f, 0xf5,
+ 0xbb, 0x06, 0x78, 0x2a, 0x20, 0xe2, 0xaf, 0x90, 0x12, 0x63,
+ 0x8b, 0xae, 0x57, 0x90, 0xc3, 0xe2, 0xe3, 0x23, 0xf9, 0xf7,
+ 0x92, 0xd8, 0x29, 0x44, 0xe9, 0x85, 0x38, 0x79, 0xb2, 0x4f,
+ 0x31, 0xad, 0x9e, 0xfa, 0x15, 0xe4, 0x29, 0x89, 0xc7, 0x51,
+ 0xa3, 0x06, 0x42, 0xec, 0x24, 0x37, 0x9c, 0x3d, 0x6e, 0x07,
+ 0x6c, 0x98, 0x91, 0xcd, 0x7c, 0xa8, 0x15, 0x92, 0x56, 0x22,
+ 0xcf, 0xbe, 0x54, 0x27, 0xbf, 0x80, 0x92, 0x0e, 0x4d, 0xe1,
+ 0x39, 0x30, 0x06, 0x97, 0x35, 0xb8, 0x89, 0x86, 0x95, 0x08,
+ 0xcf, 0xd0, 0x58, 0x78, 0xcb, 0xc5, 0x6a, 0x2e, 0x75, 0xf6,
+ 0x80, 0xf3, 0xdd, 0x44, 0x1a, 0xd8, 0x88, 0x62, 0xa4, 0x42,
+ 0xe4, 0x66, 0x07, 0x64, 0xed, 0xde, 0x1e, 0xa9, 0x55, 0x4d,
+ 0x0a, 0x7f, 0x9a, 0x7c, 0xff, 0xc0, 0x44, 0x8a, 0x51, 0xf1,
+ 0xb7, 0xf2, 0xfc, 0xfa, 0x2b, 0xee, 0x23, 0xc7, 0x1f, 0x97,
+ 0x7d, 0xe7, 0x9d, 0x99, 0xeb, 0x9e, 0x63, 0xce, 0x2d, 0x8d,
+ 0x9b, 0x7c, 0xdb, 0xf7, 0xf8, 0x32, 0x6e, 0x34, 0x62, 0x42,
+ 0x54, 0x7a, 0x9e, 0xbf, 0xab, 0xe2, 0xeb, 0x89, 0xc8, 0x1a,
+ 0xd1, 0x87, 0xfe, 0x96, 0xdc, 0x2c, 0x45, 0x98, 0x13, 0x05,
+ 0x63, 0x9a, 0xce, 0x31, 0xd1, 0x88, 0x62, 0x4e, 0x91, 0xf4,
+ 0x26, 0xc8, 0x05, 0x8b, 0x29, 0x4d, 0x57, 0x18, 0xe5, 0xdf,
+ 0xf2, 0x4f, 0x7d, 0xd9, 0xec, 0x13, 0xbb, 0x51, 0xee, 0x15,
+ 0x4a, 0x83, 0x7a, 0x95, 0xb1, 0x1d, 0x7d, 0x9f, 0x3a, 0x6b,
+ 0x10, 0x29, 0x94, 0xf2, 0x83, 0x5f, 0xd2, 0xab, 0xe4, 0xcf,
+ 0x22, 0x93, 0x04, 0x59, 0xe5, 0xe6, 0x66, 0xc1, 0x28, 0x3b,
+ 0xf4, 0xb4, 0xf7, 0x0b, 0xd9, 0x64, 0xbd, 0x96, 0x8e, 0x57,
+ 0xef, 0x6a, 0x04, 0x9b, 0x25, 0xdd, 0x50, 0x67, 0xd5, 0x5a,
+ 0x39, 0x43, 0xe9, 0x54, 0x01, 0x87, 0xa8, 0xd8, 0xf8, 0xa1,
+ 0x0a, 0x7e, 0x3d, 0x2d, 0x4d, 0x72, 0xa7, 0x19, 0x23, 0x1c,
+ 0x81, 0xf6, 0x38, 0x28, 0x65, 0x3b, 0x43, 0x12, 0xc8, 0x0f,
+ 0xd8, 0xd1, 0xbb, 0xc4, 0x75, 0x03, 0xc7, 0xbb, 0x06, 0xc5,
+ 0x9f, 0x36, 0xba, 0xe3, 0xdd, 0xf0, 0x1e, 0x8e, 0xe1, 0x1d,
+ 0x9f, 0x05, 0x8a, 0x0e, 0x0a, 0x8c, 0x62, 0x5a, 0x0d, 0xe6,
+ 0xa4, 0xd3, 0x22, 0x51, 0xe0, 0x27, 0xa2, 0x68, 0xb6, 0xcf,
+ 0xd0, 0x47, 0x25, 0x9f, 0x56, 0x5c, 0x81, 0xb0, 0x16, 0x38,
+ 0xad, 0x7e, 0x0f, 0xd9, 0xbf, 0xfa, 0x71, 0x90, 0x11, 0x7f,
+ 0x0c, 0x54, 0x97, 0x36, 0x76, 0x5c, 0x7b, 0xaf, 0x54, 0xc2,
+ 0x8f, 0xd0, 0x47, 0xb2, 0xfc, 0x3a, 0x2f, 0xa3, 0x6d, 0x4a,
+ 0x98, 0x28, 0x9e, 0x5a, 0x86, 0x5f, 0x2a, 0xf2, 0xbe, 0x40,
+ 0x49, 0x07, 0xc7, 0x91, 0xfd, 0x18, 0x03, 0xaa, 0xfb, 0x5c,
+ 0x93, 0x8e, 0x79, 0xc6, 0xdf, 0x8d, 0x76, 0xe8, 0xbc, 0xc9,
+ 0x77, 0xeb, 0x25, 0xa0, 0x3d, 0xab, 0x5a, 0x94, 0xb5, 0x85,
+ 0xeb, 0xec, 0xee, 0xbf, 0x48, 0xde, 0xc6, 0xc7, 0xc1, 0xae,
+ 0x87, 0x55, 0x3d, 0x6d, 0x3c, 0xc1, 0xda, 0xcb, 0x47, 0xc5,
+ 0x5b, 0xba, 0x25, 0x63, 0x34, 0x69, 0x4d, 0x59, 0x94, 0xa5,
+ 0x64, 0x0d, 0x89, 0xa2, 0x7f, 0x4b, 0x6e, 0x16, 0xc3, 0x4c,
+ 0xe8, 0xe3, 0xd0, 0x4d, 0x56, 0x1f, 0x46, 0x4d, 0x3e, 0xed,
+ 0xfa, 0x0d, 0xf9, 0xf1, 0x15, 0xff, 0xc6, 0x5f, 0x5a, 0xd9,
+ 0xbf, 0x4b, 0x47, 0xca, 0x96, 0x35, 0x02, 0xac, 0xf3, 0x8f,
+ 0x28, 0xd2, 0x8b, 0x2d, 0xfd, 0xc0, 0x95, 0x2a, 0xe1, 0xa2,
+ 0x54, 0x6c, 0x7c, 0xb1, 0x05, 0x3f, 0xff, 0xf7, 0xc7, 0x39,
+ 0xb2, 0xed, 0xb9, 0xef, 0xdf, 0xae, 0x1d, 0xd4, 0x08, 0xf5,
+ 0x4a, 0x79, 0xa0, 0xce, 0x69, 0xb4, 0x72, 0x86, 0x11, 0xa8,
+ 0x02, 0xcd, 0x93, 0x73, 0x33, 0x81, 0x14, 0xfc, 0x7a, 0x5a,
+ 0x9a, 0xe4, 0x8d, 0x32, 0x0b, 0xa0, 0xee, 0x03, 0x83, 0x2e,
+ 0x1d, 0x11, 0x63, 0xf0, 0x67, 0x9f, 0xca, 0xb2, 0x30, 0x6a,
+ 0x71, 0x7a, 0x96, 0x42, 0xf4, 0x7b, 0x93, 0x58, 0xd5, 0x47,
+ 0x2d, 0x59, 0xa2, 0x60, 0xaa, 0xd8, 0xb0, 0x92, 0xf8, 0x30,
+ 0xe7, 0xa5, 0x13, 0xd3, 0xff, 0xdb, 0xbf, 0xe4, 0xfd, 0x71,
+ 0x86, 0x6f, 0x1c, 0xac, 0x74, 0xaa, 0x9b, 0xbc, 0x24, 0xc9,
+ 0xce, 0xfa, 0x95, 0xd9, 0xb2, 0xcf, 0x32, 0x1e, 0xdc, 0xcb,
+ 0x9f, 0x77, 0x55, 0xac, 0xa7, 0xb8, 0x8f, 0x4f, 0x3b, 0xdf,
+ 0xc2, 0x04, 0x7c, 0x09, 0xa8, 0x47, 0xdd, 0x63, 0x8e, 0xa7,
+ 0x3b, 0x74, 0x5e, 0x85, 0xda, 0x94, 0xf3, 0x50, 0xff, 0xb4,
+ 0xc1, 0xe8, 0x6e, 0x72, 0x13, 0xde, 0x80, 0x8b, 0x2a, 0x9c,
+ 0x92, 0xbd, 0x5f, 0x11, 0x2c, 0xb7, 0x2a, 0x61, 0xa6, 0x68,
+ 0xc2, 0x59, 0x7e, 0x1d, 0xf6, 0xb0, 0xd7, 0x25, 0x4c, 0x14,
+ 0x4f, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x3e,
+ 0x8c, 0x9a, 0x7c, 0x19, 0x37, 0x1a, 0x31, 0x21, 0x2a, 0x3d,
+ 0x4f, 0xbe, 0xb4, 0x71, 0x48, 0x6e, 0xfb, 0x7a, 0xdc, 0x0e,
+ 0xd8, 0xf3, 0xe1, 0x59, 0xf8, 0x93, 0x2a, 0xe7, 0xac, 0x44,
+ 0x7a, 0xda, 0x78, 0x41, 0x77, 0x55, 0x8e, 0x49, 0xb6, 0xb7,
+ 0x4a, 0xc6, 0x68, 0xd2, 0x9a, 0xb2,
+ },
+ {
+ /* 2 */
+ 0x47, 0x35, 0xef, 0xb5, 0xef, 0xef, 0x30, 0xe6, 0xaf, 0xa0,
+ 0x89, 0x86, 0x13, 0x85, 0x5f, 0xe6, 0xe9, 0x63, 0xba, 0xe4,
+ 0xba, 0xba, 0x98, 0x67, 0x18, 0xd6, 0x5a, 0x94, 0x21, 0x7c,
+ 0xa5, 0x67, 0x8f, 0xb2, 0x8e, 0xde, 0x8e, 0x8e, 0xf7, 0x86,
+ 0xb8, 0x77, 0x64, 0xab, 0x6e, 0x29, 0x15, 0x86, 0x4e, 0xe2,
+ 0x6e, 0xfc, 0x6e, 0x6e, 0x95, 0xad, 0x61, 0xf8, 0xdd, 0x44,
+ 0x5e, 0x69, 0xe5, 0xad, 0x03, 0xab, 0x76, 0x99, 0x76, 0x76,
+ 0x7a, 0x58, 0x6f, 0xdf, 0x1c, 0xac, 0xd8, 0xe3, 0x3e, 0x58,
+ 0xcf, 0xca, 0x1e, 0xed, 0x1e, 0x1e, 0xa4, 0x59, 0xec, 0x5e,
+ 0x60, 0xd2, 0x46, 0x49, 0x9d, 0x59, 0x0c, 0xe9, 0x1b, 0x21,
+ 0x1b, 0x1b, 0x2b, 0xa3, 0x7f, 0xfa, 0x70, 0xf5, 0xe6, 0x0a,
+ 0xf8, 0xa3, 0xba, 0xae, 0x78, 0x32, 0x78, 0x78, 0xd5, 0xa7,
+ 0x36, 0xbb, 0x43, 0xce, 0xdb, 0xe7, 0x31, 0xa7, 0x12, 0x6d,
+ 0xc1, 0x92, 0xc1, 0xc1, 0x89, 0x96, 0x5f, 0xb0, 0xa8, 0x47,
+ 0x9a, 0x1b, 0xb7, 0x96, 0xf0, 0xaa, 0x1f, 0xd1, 0x1f, 0x1f,
+ 0x59, 0x6b, 0xc3, 0x15, 0x0f, 0xd9, 0x66, 0x88, 0x3d, 0x6b,
+ 0x2b, 0x98, 0x2c, 0x5f, 0x2c, 0x2c, 0x80, 0x14, 0xae, 0x86,
+ 0xff, 0xd7, 0xc9, 0xdf, 0x6b, 0x14, 0x2c, 0xd5, 0x53, 0xd9,
+ 0x53, 0x53, 0xe3, 0x2d, 0x55, 0x0f, 0x72, 0x28, 0xf2, 0x3a,
+ 0xbc, 0x2d, 0x32, 0x51, 0x89, 0x6a, 0x89, 0x89, 0x41, 0x18,
+ 0x75, 0x45, 0xaa, 0x9a, 0x8e, 0x2b, 0xf3, 0x18, 0x1b, 0xba,
+ 0x40, 0xdb, 0x40, 0x40, 0x2c, 0xdd, 0x91, 0xe8, 0xfc, 0x85,
+ 0xd7, 0xf7, 0x0d, 0xdd, 0xd2, 0xe5, 0xb2, 0xc7, 0xb2, 0xb2,
+ 0x7c, 0x34, 0xa3, 0xcb, 0xa4, 0xcc, 0xe2, 0xbb, 0xec, 0x34,
+ 0x08, 0x0f, 0x12, 0x3e, 0x12, 0x12, 0x32, 0xc2, 0xeb, 0xac,
+ 0xe1, 0xa6, 0x05, 0x0c, 0x11, 0xc2, 0xdd, 0xa7, 0xdf, 0x7f,
+ 0xdf, 0xdf, 0x2d, 0xcf, 0xb3, 0xee, 0xc8, 0x95, 0xdc, 0x52,
+ 0x2a, 0xcf, 0x60, 0x44, 0xd8, 0xcb, 0xd8, 0xd8, 0x9b, 0x51,
+ 0x7e, 0xdc, 0x06, 0xa4, 0x3c, 0x50, 0xcc, 0x51, 0x72, 0x29,
+ 0x19, 0x59, 0x19, 0x19, 0x12, 0xc7, 0x21, 0x6c, 0xae, 0xe3,
+ 0xa6, 0x4b, 0x7b, 0xc7, 0x11, 0xc6, 0xb7, 0x0b, 0xb7, 0xb7,
+ 0xf3, 0xce, 0x30, 0x6f, 0xb4, 0xeb, 0x42, 0xf8, 0x89, 0xce,
+ 0x06, 0x95, 0xec, 0xf1, 0xec, 0xec, 0xf4, 0xb0, 0xde, 0x7d,
+ 0x38, 0x9b, 0x73, 0x05, 0x7c, 0xb0, 0x5d, 0x57, 0x3c, 0x19,
+ 0x3c, 0x3c, 0x8b, 0xb2, 0x1b, 0xbc, 0xc0, 0x67, 0x8c, 0x92,
+ 0xf9, 0xb2, 0xe0, 0xb4, 0x3b, 0xad, 0x3b, 0x3b, 0x3d, 0x2c,
+ 0xd6, 0x8e, 0x0e, 0x56, 0x6c, 0x90, 0x1f, 0x2c, 0x86, 0x65,
+ 0x0f, 0x97, 0x0f, 0x0f, 0x52, 0xcd, 0x76, 0x2f, 0x30, 0x69,
+ 0x23, 0xc5, 0xaf, 0xcd, 0xaa, 0xb0, 0x5c, 0x4e, 0x5c, 0x5c,
+ 0xb1, 0xe0, 0x23, 0x20, 0x42, 0x41, 0xd1, 0xff, 0x13, 0xe0,
+ 0x58, 0x69, 0xa6, 0x71, 0xa6, 0xa6, 0x05, 0x5a, 0xaa, 0x1e,
+ 0xe4, 0x50, 0x27, 0x74, 0xbb, 0x5a, 0x24, 0xda, 0x41, 0xe7,
+ 0x41, 0x41, 0xd1, 0xef, 0xbe, 0xa3, 0x93, 0x8e, 0xf7, 0x36,
+ 0xad, 0xef, 0xdf, 0xd4, 0x3a, 0x91, 0x3a, 0x3a, 0xc0, 0x1e,
+ 0xf9, 0xc5, 0x61, 0x5d, 0x4c, 0x51, 0xbf, 0x1e, 0x69, 0x93,
+ 0x59, 0x82, 0x59, 0x59, 0x3e, 0x1a, 0xb0, 0x84, 0x52, 0x66,
+ 0x71, 0xbc, 0x76, 0x1a, 0x7a, 0x26, 0x0b, 0x67, 0x0b, 0x0b,
+ 0x20, 0x05, 0xca, 0xc0, 0x4f, 0x45, 0xa3, 0x47, 0x6a, 0x05,
+ 0x67, 0x09, 0xa7, 0x4d, 0xa7, 0xa7, 0xf8, 0x68, 0x85, 0x55,
+ 0x8b, 0x5b, 0x07, 0xb5, 0x1b, 0x68, 0xec, 0x5d, 0x20, 0x8c,
+ 0x20, 0x20, 0x16, 0x8f, 0xa9, 0x74, 0x7e, 0xa3, 0x8a, 0x9a,
+ 0xe7, 0x8f, 0x30, 0x22, 0x6c, 0x84, 0x6c, 0x6c, 0xac, 0xc9,
+ 0x3f, 0x6e, 0x03, 0x52, 0x1e, 0x28, 0x66, 0xc9, 0x6a, 0x38,
+ 0x2f, 0x1b, 0x2f, 0x2f, 0x44, 0x42, 0xdf, 0x5b, 0x4e, 0xca,
+ 0xa9, 0x5f, 0x48, 0x42, 0x0e, 0x9a, 0xfe, 0xcf, 0xfe, 0xfe,
+ 0xc6, 0x72, 0x35, 0xd1, 0xd9, 0x3d, 0x76, 0x09, 0x6d, 0x72,
+ 0x43, 0xd3, 0xe6, 0xaa, 0xe6, 0xe6, 0x29, 0x87, 0x3b, 0xf6,
+ 0x18, 0xd5, 0xf0, 0x83, 0xb6, 0x87, 0x2d, 0x0d, 0xc0, 0xae,
+ 0xc0, 0xc0, 0x74, 0xa4, 0x70, 0xfb, 0xc7, 0x4c, 0xba, 0xda,
+ 0x17, 0xa4, 0xb3, 0x79, 0xf9, 0x7b, 0xf9, 0xf9, 0x70, 0xec,
+ 0xf8, 0xe3, 0x17, 0x0c, 0x96, 0x0b, 0x8b, 0xec, 0xe4, 0x52,
+ 0x32, 0xb2, 0x32, 0x32, 0x24, 0x4d, 0x42, 0xd8, 0x9f, 0x05,
+ 0x8f, 0x96, 0xf6, 0x4d, 0x22, 0x4f, 0xad, 0x16, 0xad, 0xad,
+ 0x25, 0x5f, 0x60, 0xde, 0xab, 0x15, 0x84, 0x33, 0xd1, 0x5f,
+ 0xab, 0x68, 0xcf, 0x39, 0xcf, 0xcf, 0x26, 0x69, 0x06, 0xd4,
+ 0xf7, 0x25, 0x99, 0x1f, 0xb8, 0x69, 0x3d, 0x13, 0xe4, 0xd2,
+ 0xe4, 0xe4, 0x10, 0xe3, 0x65, 0x60, 0xc6, 0xc3, 0xb0, 0xc2,
+ 0x35, 0xe3, 0x34, 0xc4, 0x65, 0x9b, 0x65, 0x65, 0xb5, 0xa8,
+ 0xab, 0x38, 0x92, 0x01, 0xfd, 0x2e, 0x8f, 0xa8, 0x90, 0xee,
+ 0xc7, 0x1a, 0xc7, 0xc7, 0xc2, 0x3a, 0xbd, 0xc9, 0x09, 0x7d,
+ 0x5a, 0xd8, 0xf1, 0x3a, 0x97, 0xa3, 0xb8, 0x9c, 0xb8, 0xb8,
+ 0xa1, 0x03, 0x46, 0x40, 0x84, 0x82, 0x61, 0x3d, 0x26, 0x03,
+ 0xb0, 0xd2, 0x8f, 0xe2, 0x8f, 0x8f, 0x0a, 0xb4, 0x97, 0x3c,
+ 0x0b, 0xa0, 0x4e, 0xe8, 0xb5, 0xb4, 0xe5, 0x8a, 0xa1, 0xc5,
+ 0xa1, 0xa1, 0xb3, 0xc4, 0x67, 0x2c, 0x2a, 0x61, 0xc7, 0x76,
+ 0x5d, 0xc4, 0x42, 0x0b, 0x75, 0xdd, 0x75, 0x75, 0xbe, 0x0e,
+ 0x1e, 0x02, 0xad, 0xb1, 0xb8, 0x63, 0x1d, 0x0e, 0x79, 0x8d,
+ 0x7d, 0xfe, 0x7d, 0x7d, 0x5a, 0x5d, 0xa5, 0x1f, 0x53, 0xe9,
+ 0x7b, 0xa4, 0x54, 0x5d, 0xc0, 0x88, 0x73, 0x55, 0x73, 0x73,
+ 0xf5, 0xa2, 0xfc, 0x7b, 0x0c, 0x8b, 0x78, 0xa0, 0x5b, 0xa2,
+ 0x18, 0x11, 0x36, 0x42, 0x36, 0x36, 0x56, 0x85, 0xfe, 0x37,
+ 0xe0, 0x29, 0x0f, 0x14, 0x33, 0x85, 0x4b, 0xdc, 0xf4, 0x94,
+ 0xf4, 0xf4, 0x1b, 0x45, 0xd0, 0x5a, 0xf9, 0x73, 0xf5, 0x8f,
+ 0xa7, 0x45, 0xf7, 0xe7, 0x60, 0x57, 0x60, 0x60, 0x3a, 0x52,
+ 0x38, 0x9c, 0x82, 0x26, 0x5d, 0x6d, 0xea, 0x52, 0xb8, 0xdd,
+ 0x9d, 0xdc, 0x9d, 0x9d, 0x38, 0x76, 0x7c, 0x90, 0xea, 0x06,
+ 0x4b, 0xe4, 0xa4, 0x76, 0xa6, 0x59, 0x47, 0x6f, 0x47, 0x47,
+ 0x9a, 0x43, 0x5c, 0xda, 0x32, 0xb4, 0x37, 0xf5, 0xeb, 0x43,
+ 0x59, 0xb1, 0x35, 0x06, 0x35, 0x35, 0x92, 0xd3, 0x8f, 0xea,
+ 0x51, 0x34, 0x6f, 0x94, 0x10, 0xd3, 0x64, 0xa2, 0xd1, 0xd4,
+ 0xd1, 0xd1, 0x82, 0x30, 0xea, 0x8a, 0x97, 0xf7, 0xdf, 0x56,
+ 0x25, 0x30, 0x36, 0xb7, 0x80, 0x75, 0x80, 0x80, 0x58, 0x79,
+ 0xe1, 0x13, 0x3b, 0xc9, 0x6d, 0x2d, 0x1a, 0x79, 0xb4, 0x34,
+ 0x86, 0xfd, 0x86, 0x86, 0x13, 0xd5, 0x03, 0x6a, 0x9a, 0xf3,
+ 0xad, 0xee, 0x5c, 0xd5, 0x81, 0x28, 0x70, 0x11, 0x70, 0x70,
+ 0x31, 0xf4, 0x8d, 0xa6, 0xbd, 0x96, 0x18, 0x20, 0x78, 0xf4,
+ 0x09, 0xd7, 0x81, 0x49, 0x81, 0x81, 0xa5, 0x4b, 0xce, 0x58,
+ 0x54, 0xc2, 0x4d, 0xec, 0xba, 0x4b, 0x78, 0x55, 0xee, 0x89,
+ 0xee, 0xee, 0xcd, 0xd4, 0x80, 0xeb, 0xe6, 0x8d, 0x33, 0x44,
+ 0xff, 0xd4, 0xed, 0x85, 0xb3, 0xfb, 0xb3, 0xb3, 0x81, 0x06,
+ 0x8c, 0x80, 0xcb, 0xc7, 0xc2, 0x7a, 0x4c, 0x06, 0x5f, 0x24,
+ 0xd9, 0xf7, 0xd9, 0xd9, 0x66, 0x63, 0x51, 0x97, 0x69, 0xaf,
+ 0x1c, 0x91, 0x6c, 0x63, 0xda, 0xea, 0xa0, 0xf9, 0xa0, 0xa0,
+ 0x4e, 0xf6, 0x48, 0x67, 0x45, 0x6a, 0xe7, 0xb7, 0xfd, 0xf6,
+ 0xc4, 0x6e, 0x7a, 0x4a, 0x7a, 0x7a, 0xec, 0xc3, 0x68, 0x2d,
+ 0x9d, 0xd8, 0x9b, 0xa6, 0xb2, 0xc3, 0x29, 0xeb, 0xc9, 0xb1,
+ 0xc9, 0xc9, 0x6d, 0xc5, 0xe4, 0xad, 0x56, 0x1f, 0x59, 0xdc,
+ 0xfe, 0xc5, 0xad, 0xfd, 0x23, 0xc8, 0x23, 0x23, 0xd2, 0xd9,
+ 0xd8, 0xa9, 0xcf, 0xbe, 0xea, 0x1a, 0xc4, 0xd9, 0x07, 0x4d,
+ 0x7f, 0x86, 0x7f, 0x7f, 0x63, 0x39, 0xfb, 0x89, 0x8d, 0xff,
+ 0x3b, 0xe5, 0xd7, 0x39, 0x82, 0x83, 0x06, 0x88, 0x06, 0x06,
+ 0x4b, 0xac, 0xe2, 0x79, 0xa1, 0x3a, 0xc0, 0xc3, 0x46, 0xac,
+ 0xe2, 0xc7, 0xde, 0x43, 0xde, 0xde, 0xd0, 0xfd, 0x9c, 0xa5,
+ 0xa7, 0x9e, 0xfc, 0x93, 0x8a, 0xfd, 0x31, 0xfa, 0xff, 0xf3,
+ 0xff, 0xff, 0x3b, 0x40, 0x1a, 0x9a, 0xb6, 0x36, 0x56, 0xc8,
+ 0xcd, 0x40, 0x17, 0x53, 0x5b, 0xfa, 0x5b, 0x5b, 0x07, 0x7e,
+ 0xee, 0x12, 0x8c, 0x70, 0x31, 0xfd, 0xf5, 0x7e, 0x9f, 0xac,
+ 0xaa, 0xa2, 0xaa, 0xaa, 0x93, 0xc1, 0xad, 0xec, 0x65, 0x24,
+ 0x64, 0x31, 0x37, 0xc1, 0x0b, 0xa4, 0x64, 0xa7, 0x64, 0x64,
+ 0x48, 0x9a, 0x84, 0x73, 0xfd, 0x0a, 0xdd, 0xef, 0x2f, 0x9a,
+ 0x16, 0x8b, 0xc8, 0x8d, 0xc8, 0xc8, 0x90, 0xf7, 0xcb, 0xe6,
+ 0x39, 0x14, 0x79, 0x1d, 0x5e, 0xf7, 0x7f, 0x18, 0x91, 0x0f,
+ 0x91, 0x91, 0xae, 0xed, 0x7b, 0x62, 0x6b, 0x72, 0x08, 0xa1,
+ 0x28, 0xed, 0x23, 0x97, 0x3e, 0x61, 0x3e, 0x3e, 0xb2, 0xd6,
+ 0x45, 0x2a, 0x1e, 0x71, 0xcc, 0xd3, 0x7a, 0xd6, 0x6b, 0xe0,
+ 0xbc, 0x6c, 0xbc, 0xbc, 0xd3, 0xcb, 0xfa, 0xaf, 0xfb, 0xae,
+ 0xe1, 0xbf, 0xe3, 0xcb, 0xa9, 0x1b, 0x2a, 0xd7, 0x2a, 0x2a,
+ 0xcb, 0xb8, 0x4c, 0xff, 0x5e, 0xed, 0x09, 0x1c, 0x2d, 0xb8,
+ 0x8b, 0x54, 0x87, 0xc1, 0x87, 0x87, 0xee, 0xe7, 0x2c, 0x21,
+ 0xf5, 0xf8, 0x8d, 0x2f, 0xfc, 0xe7, 0xb7, 0x9f, 0xf0, 0x64,
+ 0xf0, 0xf0, 0x69, 0x8d, 0x6c, 0xb5, 0x86, 0x5f, 0x75, 0x0d,
+ 0x62, 0x8d, 0x13, 0xb5, 0x52, 0xe5, 0x52, 0x52, 0x1e, 0x1f,
+ 0x7a, 0x44, 0x1d, 0x23, 0xd2, 0xfb, 0x1c, 0x1f, 0x1c, 0xf7,
+ 0x3f, 0x5d, 0x3f, 0x3f, 0x4f, 0xe4, 0x6a, 0x61, 0x71, 0x7a,
+ 0xec, 0x12, 0xda, 0xe4, 0xfb, 0x0e, 0x7b, 0x76, 0x7b, 0x7b,
+ 0x11, 0xf1, 0x47, 0x66, 0xf2, 0xd3, 0xbb, 0x67, 0x12, 0xf1,
+ 0x62, 0x37, 0x3d, 0x25, 0x3d, 0x3d, 0x76, 0x80, 0x34, 0xf7,
+ 0xaf, 0x6c, 0xac, 0x53, 0x59, 0x80, 0xf2, 0xd9, 0xfa, 0x3f,
+ 0xfa, 0xfa, 0xb4, 0xba, 0x89, 0x3e, 0xa6, 0x11, 0xf6, 0x8b,
+ 0xa8, 0xba, 0x3b, 0x86, 0x08, 0x23, 0x08, 0x08, 0xe4, 0x53,
+ 0xbb, 0x1d, 0xfe, 0x58, 0xc3, 0xc7, 0x49, 0x53, 0x9a, 0x92,
+ 0x30, 0xca, 0x30, 0x30, 0x1d, 0x29, 0x1c, 0x4e, 0x41, 0x13,
+ 0xcf, 0xd7, 0x75, 0x29, 0x75, 0x64, 0x66, 0xdf, 0x66, 0x66,
+ 0x71, 0xfe, 0xda, 0xe5, 0x23, 0x1c, 0x9d, 0xae, 0xac, 0xfe,
+ 0xea, 0xc8, 0xcc, 0x7d, 0xcc, 0xcc, 0xe2, 0x3f, 0x77, 0x09,
+ 0x46, 0x38, 0xf9, 0x9f, 0x9b, 0x3f, 0xd0, 0x96, 0x57, 0x29,
+ 0x57, 0x57, 0x91, 0xe5, 0xe9, 0xe0, 0x0d, 0x04, 0x72, 0xb8,
+ 0x79, 0xe5, 0x2a, 0x40, 0xbf, 0x28, 0xbf, 0xbf, 0x17, 0x9d,
+ 0x8b, 0x72, 0x4a, 0xb3, 0x81, 0x3f, 0xc0, 0x9d, 0x91, 0x36,
+ 0x54, 0x6d, 0x54, 0x54, 0x55, 0xb3, 0x98, 0x3d, 0xbc, 0x19,
+ 0x12, 0x38, 0x5a, 0xb3, 0x02, 0x73, 0xe5, 0xee, 0xe5, 0xe5,
+ 0xed, 0xd1, 0x4a, 0x2b, 0xa9, 0xc8, 0x90, 0x03, 0x95, 0xd1,
+ 0x46, 0xed, 0x7c, 0xc2, 0x7c, 0x7c, 0xa7, 0x6f, 0x8a, 0x54,
+ 0x3c, 0xe2, 0x5b, 0x65, 0xf4, 0x6f, 0xa7, 0x81, 0xd4, 0x18,
+ 0xd4, 0xd4, 0x0d, 0xca, 0x79, 0x2e, 0x87, 0xd0, 0x7f, 0x15,
+ 0x40, 0xca, 0xdc, 0x7f, 0x4c, 0x08, 0x4c, 0x4c, 0xba, 0x46,
+ 0x96, 0x1a, 0x7d, 0xf1, 0x94, 0xb2, 0x81, 0x46, 0x27, 0x71,
+ 0x37, 0x7e, 0x37, 0x37, 0xab, 0xb7, 0xd1, 0x7c, 0x8f, 0x22,
+ 0x2f, 0xd5, 0x93, 0xb7, 0x76, 0xcf, 0x10, 0x46, 0x10, 0x10,
+ 0x0b, 0xa6, 0xb5, 0x3a, 0x3f, 0xb0, 0x45, 0x4d, 0x92, 0xa6,
+ 0xa4, 0x2a, 0xa2, 0x81, 0xa2, 0xa2, 0x77, 0x92, 0x16, 0xf1,
+ 0x9b, 0x7c, 0xa7, 0xf6, 0x7e, 0x92, 0xca, 0xf4, 0x84, 0x85,
+ 0x84, 0x84, 0x2a, 0xb1, 0x5d, 0xfc, 0x44, 0xe5, 0xed, 0xaf,
+ 0xdf, 0xb1, 0x96, 0x7b, 0x2b, 0xeb, 0x2b, 0x2b, 0x36, 0x8a,
+ 0x63, 0xb4, 0x31, 0xe6, 0x29, 0xdd, 0x8d, 0x8a, 0x70, 0x5a,
+ 0xfc, 0xb7, 0xfc, 0xfc, 0xff, 0x16, 0x6b, 0x47, 0x07, 0x2b,
+ 0x36, 0x48, 0xee, 0x16, 0x54, 0x80, 0xbd, 0x50, 0xbd, 0xbd,
+ 0x2e, 0xf9, 0xd5, 0xe4, 0x94, 0xa5, 0xc1, 0x7e, 0x43, 0xf9,
+ 0xe1, 0x6c, 0xa8, 0xda, 0xa8, 0xa8, 0xaa, 0xa5, 0xf3, 0x7a,
+ 0xbb, 0x32, 0x24, 0x70, 0xb4, 0xa5, 0x6f, 0x06, 0xb5, 0x73,
+ 0xb5, 0xb5, 0xca, 0xaa, 0x6e, 0xf9, 0x6a, 0xfd, 0x02, 0xb9,
+ 0x0a, 0xaa, 0x39, 0xf5, 0xed, 0xcd, 0xed, 0xed, 0x09, 0x82,
+ 0xf1, 0x36, 0x57, 0x90, 0x53, 0xc4, 0xdc, 0x82, 0x33, 0x89,
+ 0x1a, 0x1d, 0x1a, 0x1a, 0xd6, 0x91, 0x50, 0xb1, 0x1f, 0xfe,
+ 0xc6, 0xcb, 0x58, 0x91, 0xdb, 0x32, 0x33, 0x8e, 0x33, 0x33,
+ 0xd9, 0x7f, 0x6d, 0x93, 0xf0, 0x0e, 0xaf, 0x57, 0x56, 0x7f,
+ 0xa0, 0xcc, 0xab, 0x9e, 0xab, 0xab, 0x6e, 0xf3, 0x82, 0xa7,
+ 0x0a, 0x2f, 0x44, 0xf0, 0x97, 0xf3, 0xfe, 0x30, 0xe1, 0x1e,
+ 0xe1, 0xe1, 0x9f, 0x19, 0xf6, 0xc4, 0xd6, 0xe4, 0x10, 0x81,
+ 0x50, 0x19, 0xb2, 0xa1, 0x6a, 0x0c, 0x6a, 0x6a, 0xe7, 0x65,
+ 0xdd, 0x17, 0xa2, 0x68, 0xde, 0xeb, 0x20, 0x65, 0x10, 0x1e,
+ 0x24, 0x7c, 0x24, 0x24, 0x64, 0x47, 0x15, 0x9b, 0x01, 0x8f,
+ 0x0a, 0x18, 0x22, 0x47, 0x71, 0x82, 0x6f, 0xc0, 0x6f, 0x6f,
+ 0x68, 0x9f, 0x4e, 0xb3, 0xb2, 0x4f, 0x7e, 0xa8, 0x45, 0x9f,
+ 0x87, 0xbd, 0x9c, 0xe0, 0x9c, 0x9c, 0xc5, 0x44, 0x53, 0xdb,
+ 0x85, 0x0d, 0x6b, 0x25, 0x04, 0x44, 0x35, 0x1c, 0xf6, 0xec,
+ 0xf6, 0xf6, 0x22, 0x21, 0x8e, 0xcc, 0x27, 0x65, 0xb5, 0xce,
+ 0x24, 0x21, 0x38, 0x2d, 0x7e, 0xba, 0x7e, 0x7e, 0x9e, 0x0b,
+ 0xd4, 0xc2, 0xe2, 0xf4, 0x1b, 0x24, 0x77, 0x0b, 0x52, 0x15,
+ 0x51, 0xa1, 0x51, 0x51, 0xda, 0x49, 0x0b, 0x99, 0xac, 0x3e,
+ 0xb2, 0x7b, 0x3f, 0x49, 0x65, 0x7a, 0x42, 0xa3, 0x42, 0x42,
+ 0x15, 0xb9, 0xcf, 0x7e, 0x22, 0x93, 0x97, 0xb6, 0x8e, 0xb9,
+ 0xde, 0x0c, 0xa9, 0xe6, 0xa9, 0xa9, 0x57, 0x97, 0xdc, 0x31,
+ 0xd4, 0x39, 0x04, 0xb1, 0x14, 0x97, 0x8e, 0x6a, 0x1d, 0xa9,
+ 0x1d, 0x1d, 0x60, 0x0f, 0x9d, 0x83, 0xd1, 0xcf, 0x26, 0xc9,
+ 0xbe, 0x0f, 0xa8, 0xc3, 0xb9, 0xa0, 0xb9, 0xb9, 0x5c, 0x31,
+ 0x69, 0x0b, 0xeb, 0x89, 0x41, 0xfc, 0x86, 0x31, 0xfd, 0x9b,
+ 0x97, 0x87, 0x97, 0x97, 0xe5, 0x41, 0x99, 0x1b, 0xca, 0x48,
+ 0xc8, 0x62, 0x6e, 0x41, 0x2e, 0xa6, 0xb6, 0x37, 0xb6, 0xb6,
+ 0x0e, 0xfc, 0x1f, 0x24, 0xdb, 0xe0, 0x62, 0x39, 0x29, 0xfc,
+ 0x01, 0xd8, 0x93, 0x77, 0x93, 0x93, 0x97, 0x89, 0x25, 0xf4,
+ 0xb5, 0x64, 0x48, 0xe0, 0xab, 0x89, 0xf8, 0xa5, 0x0d, 0xef,
+ 0x0d, 0x0d, 0x6b, 0xa9, 0x28, 0xb9, 0xee, 0x7f, 0x63, 0x84,
+ 0x2c, 0xa9, 0x8c, 0x19, 0xf8, 0x47, 0xf8, 0xf8, 0x8d, 0xde,
+ 0xd7, 0xa8, 0x78, 0x07, 0xb6, 0xca, 0x2b, 0xde, 0xbb, 0x76,
+ 0xeb, 0x45, 0xeb, 0xeb, 0x42, 0x2e, 0x13, 0x4f, 0xf6, 0xaa,
+ 0x93, 0x07, 0x9a, 0x2e, 0x49, 0xaf, 0x11, 0x7a, 0x11, 0x11,
+ 0xf6, 0x94, 0x9a, 0x71, 0x50, 0xbb, 0x65, 0x8c, 0x32, 0x94,
+ 0x44, 0x9e, 0x99, 0x2c, 0x99, 0x99, 0x4a, 0xbe, 0xc0, 0x7f,
+ 0x95, 0x2a, 0xcb, 0x66, 0x61, 0xbe, 0xbf, 0x90, 0xe2, 0x5a,
+ 0xe2, 0xe2, 0x5b, 0x4f, 0x87, 0x19, 0x67, 0xf9, 0x70, 0x01,
+ 0x73, 0x4f, 0xef, 0xf6, 0x56, 0x15, 0x56, 0x56, 0x6c, 0xd7,
+ 0xc6, 0xab, 0x62, 0x0f, 0x52, 0x79, 0xd9, 0xd7, 0xfc, 0x43,
+ 0x04, 0xf0, 0x04, 0x04, 0x72, 0xc8, 0xbc, 0xef, 0x7f, 0x2c,
+ 0x80, 0x82, 0xc5, 0xc8, 0x3a, 0x5e, 0x9b, 0x54, 0x9b, 0x9b,
+ 0x73, 0xda, 0x9e, 0xe9, 0x4b, 0x3c, 0x8b, 0x27, 0xe2, 0xda,
+ 0xb1, 0x0a, 0x1c, 0x95, 0x1c, 0x1c, 0x9d, 0x3d, 0xb2, 0xc8,
+ 0xbe, 0xc4, 0x06, 0x08, 0x1e, 0x3d, 0xf9, 0x7d, 0x9e, 0x98,
+ 0x9e, 0x9e, 0xfc, 0x20, 0x0d, 0x4d, 0x5b, 0x1b, 0x2b, 0x64,
+ 0x87, 0x20, 0x99, 0x39, 0x46, 0x53, 0x46, 0x46, 0x67, 0x71,
+ 0x73, 0x91, 0x5d, 0xbf, 0x17, 0x34, 0x4b, 0x71, 0xd8, 0x99,
+ 0x45, 0x17, 0x45, 0x45, 0xa3, 0x27, 0x02, 0x4c, 0xec, 0xa2,
+ 0x77, 0xb4, 0x68, 0x27, 0xc9, 0x5f, 0xf2, 0x1c, 0xf2, 0xf2,
+ 0x50, 0xe9, 0x32, 0x23, 0x58, 0x49, 0x35, 0x4c, 0xe1, 0xe9,
+ 0x61, 0x9c, 0x4b, 0xbc, 0x4b, 0x4b, 0x0c, 0xd8, 0x5b, 0x28,
+ 0xb3, 0xc0, 0x74, 0xb0, 0x67, 0xd8, 0x3c, 0xcb, 0x77, 0xa5,
+ 0x77, 0x77, 0x87, 0x6a, 0x40, 0x94, 0x73, 0xa7, 0xf8, 0x22,
+ 0x9e, 0x6a, 0x89, 0x27, 0x62, 0x2f, 0x62, 0x62, 0x03, 0x36,
+ 0x66, 0x0a, 0x5c, 0x30, 0x1d, 0x2c, 0x69, 0x36, 0x0f, 0x42,
+ 0x6d, 0xb8, 0x6d, 0x6d, 0x51, 0xfb, 0x10, 0x25, 0x6c, 0x59,
+ 0x3e, 0xe9, 0xc6, 0xfb, 0x5c, 0x8f, 0xaf, 0x6e, 0xaf, 0xaf,
+ 0x1c, 0x3b, 0x3e, 0x48, 0x75, 0x03, 0xc4, 0x72, 0x52, 0x3b,
+ 0xbe, 0x48, 0x71, 0x2d, 0x71, 0x71, 0xcc, 0xc6, 0xa2, 0xed,
+ 0xd2, 0x9d, 0x38, 0xe1, 0xd8, 0xc6, 0xc2, 0xfb, 0x96, 0xbb,
+ 0x96, 0x96, 0x18, 0x73, 0xb6, 0x50, 0xa5, 0x43, 0xe8, 0xa3,
+ 0xce, 0x73, 0xc5, 0xb6, 0xe9, 0x3d, 0xe9, 0xe9, 0x7b, 0x4a,
+ 0x4d, 0xd9, 0x28, 0xbc, 0xd3, 0x46, 0x19, 0x4a, 0x88, 0xff,
+ 0xf1, 0x58, 0xf1, 0xf1, 0x94, 0xbf, 0x43, 0xfe, 0xe9, 0x54,
+ 0x55, 0xcc, 0xc2, 0xbf, 0xa1, 0x14, 0x38, 0xe9, 0x38, 0x38,
+ 0xf9, 0x7a, 0xa7, 0x53, 0xbf, 0x4b, 0x0c, 0x10, 0x3c, 0x7a,
+ 0x1d, 0x2f, 0xac, 0x2a, 0xac, 0xac, 0xd8, 0x6d, 0x4f, 0x95,
+ 0xc4, 0x1e, 0xa4, 0xf2, 0x71, 0x6d, 0xc7, 0xc5, 0x0c, 0xd3,
+ 0x0c, 0x0c, 0x96, 0x9b, 0x07, 0xf2, 0x81, 0x74, 0x43, 0x45,
+ 0x8c, 0x9b, 0x6c, 0xad, 0xc3, 0xea, 0xc3, 0xc3, 0xb0, 0xf2,
+ 0x01, 0x26, 0x76, 0x51, 0xda, 0x5a, 0x34, 0xf2, 0x85, 0xce,
+ 0x79, 0x0e, 0x79, 0x79, 0x28, 0x95, 0x19, 0xf0, 0x2c, 0xc5,
+ 0xfb, 0x26, 0x91, 0x95, 0x9d, 0xdf, 0x4f, 0x4c, 0x4f, 0x4f,
+ 0x7e, 0x10, 0xe7, 0xc7, 0xcc, 0xec, 0xf4, 0x32, 0xa2, 0x10,
+ 0xd3, 0x3d, 0x21, 0xb0, 0x21, 0x21, 0xeb, 0xbd, 0x86, 0x3f,
+ 0x11, 0xa8, 0xaa, 0x5b, 0x47, 0xbd, 0xd1, 0x4e, 0xc4, 0x5e,
+ 0xc4, 0xc4, 0x06, 0x6c, 0xcc, 0x14, 0xb8, 0x60, 0x3a, 0x58,
+ 0xd2, 0x6c, 0x1e, 0x84, 0xda, 0xb3, 0xda, 0xda, 0xa2, 0x35,
+ 0x20, 0x4a, 0xd8, 0xb2, 0x7c, 0x11, 0x4f, 0x35, 0x3e, 0xb8,
+ 0x92, 0x4b, 0x92, 0x92, 0x6a, 0xbb, 0x0a, 0xbf, 0xda, 0x6f,
+ 0x68, 0x21, 0x0b, 0xbb, 0x84, 0x16, 0xea, 0x79, 0xea, 0xea,
+ 0xbf, 0x1c, 0x3c, 0x04, 0x99, 0xa1, 0xb3, 0xc6, 0x3a, 0x1c,
+ 0x2f, 0x7e, 0x25, 0x40, 0x25, 0x25, 0x99, 0x75, 0x3a, 0xd0,
+ 0x6e, 0x84, 0x2a, 0xd9, 0x82, 0x75, 0x7d, 0x6b, 0x74, 0xe1,
+ 0x74, 0x74, 0x43, 0x3c, 0x31, 0x49, 0xc2, 0xba, 0x98, 0xa2,
+ 0xbd, 0x3c, 0x74, 0xbc, 0xf5, 0xa8, 0xf5, 0xf5, 0xe6, 0x77,
+ 0xff, 0x11, 0x96, 0x78, 0xd5, 0x4e, 0x07, 0x77, 0x41, 0xa0,
+ 0x03, 0x44, 0x03, 0x03, 0xc4, 0x56, 0x71, 0xdd, 0xb1, 0x1d,
+ 0x60, 0x80, 0x23, 0x56, 0x50, 0x66, 0xb4, 0x4f, 0xb4, 0xb4,
+ 0x37, 0x98, 0x41, 0xb2, 0x05, 0xf6, 0x22, 0x78, 0xaa, 0x98,
+ 0x21, 0xe4, 0xdb, 0x8f, 0xdb, 0xdb, 0x5f, 0x07, 0x0f, 0x01,
+ 0xb7, 0xb9, 0x5c, 0xd0, 0xef, 0x07, 0x55, 0x58, 0x2e, 0x27,
+ 0x2e, 0x2e, 0xb9, 0x70, 0xf0, 0x10, 0x21, 0xc1, 0x89, 0x9e,
+ 0xe8, 0x70, 0xe7, 0xf9, 0x44, 0x2b, 0x44, 0x44, 0x5e, 0x15,
+ 0x2d, 0x07, 0x83, 0xa9, 0x57, 0x75, 0xc8, 0x15, 0xcd, 0xb9,
+ 0xfb, 0x03, 0xfb, 0xfb, 0x49, 0x88, 0xa6, 0x75, 0xc9, 0x1a,
+ 0xd6, 0x4a, 0x08, 0x88, 0x0d, 0x31, 0x88, 0x56, 0x88, 0x88,
+ 0xbc, 0x2a, 0x5a, 0x0e, 0xc5, 0x91, 0xae, 0xea, 0x53, 0x2a,
+ 0x7c, 0xb3, 0xe7, 0x96, 0xe7, 0xe7, 0xd4, 0xb5, 0x14, 0xbd,
+ 0x77, 0xde, 0xd0, 0x42, 0x16, 0xb5, 0x37, 0x6f, 0x13, 0x02,
+ 0x13, 0x13, 0xcf, 0xf0, 0xc4, 0xe7, 0x8e, 0xad, 0x25, 0xcd,
+ 0xb1, 0xf0, 0x1a, 0x62, 0xd3, 0xac, 0xd3, 0xd3, 0xbb, 0x54,
+ 0xb4, 0x1c, 0x49, 0xe1, 0x9f, 0x17, 0xa6, 0x54, 0xa2, 0xbf,
+ 0x4e, 0x70, 0x4e, 0x4e, 0x83, 0x22, 0xc8, 0x8c, 0xa3, 0xe7,
+ 0xd4, 0xf3, 0x02, 0x22, 0xaf, 0x8e, 0xc6, 0x26, 0xc6, 0xc6,
+ 0x3f, 0x08, 0x92, 0x82, 0x66, 0x76, 0x7a, 0x19, 0x51, 0x08,
+ 0xf6, 0x3f, 0xf3, 0x20, 0xf3, 0xf3, 0xad, 0xdb, 0x1d, 0x68,
+ 0x37, 0x42, 0x15, 0x8d, 0x41, 0xdb, 0xe8, 0xbb, 0x29, 0x93,
+ 0x29, 0x29, 0x0f, 0xee, 0x3d, 0x22, 0xef, 0xf0, 0x69, 0x9c,
+ 0x0e, 0xee, 0x7e, 0xc0, 0x02, 0x78, 0x02, 0x02, 0x39, 0x64,
+ 0x5e, 0x96, 0xde, 0x16, 0x40, 0x41, 0x83, 0x64, 0x5e, 0xfc,
+ 0x4a, 0x80, 0x4a, 0x4a, 0xf1, 0xea, 0x74, 0x63, 0xdc, 0xcb,
+ 0x54, 0x71, 0xc7, 0xea, 0xfa, 0xd6, 0xe8, 0x01, 0xe8, 0xe8,
+ 0x86, 0x78, 0x62, 0x92, 0x47, 0xb7, 0xf3, 0x87, 0xb9, 0x78,
+ 0xb5, 0xec, 0x15, 0x8a, 0x15, 0x15, 0x84, 0x5c, 0x26, 0x9e,
+ 0x2f, 0x97, 0xe5, 0x0e, 0xf7, 0x5c, 0x92, 0x9d, 0x22, 0xf4,
+ 0x22, 0x22, 0x2f, 0xeb, 0xf7, 0xe2, 0xa0, 0xb5, 0xca, 0xdb,
+ 0x64, 0xeb, 0x56, 0xf3, 0x58, 0xbe, 0x58, 0x58, 0xc3, 0x28,
+ 0x9f, 0xcf, 0x3d, 0x6d, 0x51, 0x7d, 0xd6, 0x28, 0xf1, 0x72,
+ 0x8c, 0xa6, 0x8c, 0x8c, 0xce, 0xe2, 0xe6, 0xe1, 0xba, 0xbd,
+ 0x2e, 0x68, 0x96, 0xe2, 0x04, 0xe6, 0x09, 0x1f, 0x09, 0x09,
+ 0x19, 0x61, 0x94, 0x56, 0x91, 0x53, 0xe3, 0x06, 0xe9, 0x61,
+ 0x6e, 0xde, 0x26, 0x04, 0x26, 0x26, 0x5d, 0x23, 0x4b, 0x0d,
+ 0xdf, 0x99, 0x4a, 0x59, 0xa1, 0x23, 0xa5, 0xf2, 0x31, 0xf6,
+ 0x31, 0x31, 0xe0, 0x1b, 0x33, 0x05, 0x2e, 0x18, 0xef, 0x16,
+ 0xd5, 0x1b, 0xe6, 0x21, 0xd7, 0x5c, 0xd7, 0xd7, 0xc9, 0x9c,
+ 0x08, 0xf3, 0x36, 0xcd, 0x1f, 0x95, 0x63, 0x9c, 0xc8, 0x87,
+ 0x61, 0x6b, 0x61, 0x61, 0xc7, 0x60, 0x17, 0xd7, 0xed, 0x2d,
+ 0x7d, 0xac, 0x4a, 0x60, 0x7b, 0xfe, 0x98, 0x10, 0x98, 0x98,
+ 0xb7, 0x8c, 0xef, 0x34, 0xfa, 0x21, 0xeb, 0xa7, 0xc1, 0x8c,
+ 0x73, 0xf1, 0x8a, 0x2e, 0x8a, 0x8a, 0x85, 0x4e, 0x04, 0x98,
+ 0x1b, 0x87, 0xee, 0xab, 0xd0, 0x4e, 0x51, 0xbe, 0x27, 0x38,
+ 0x27, 0x27, 0xa0, 0x11, 0x64, 0x46, 0xb0, 0x92, 0x6a, 0x98,
+ 0x01, 0x11, 0x95, 0xd0, 0x5d, 0x72, 0x5d, 0x5d, 0x4c, 0xd2,
+ 0x0c, 0x6b, 0x2d, 0x4a, 0xf1, 0x3e, 0xb3, 0xd2, 0x66, 0xd1,
+ 0x34, 0x3a, 0x34, 0x34, 0x6f, 0xe1, 0xa0, 0xa1, 0x3e, 0x3f,
+ 0x4f, 0x55, 0xb0, 0xe1, 0xd6, 0x03, 0xbb, 0xd8, 0xbb, 0xbb,
+ 0x65, 0x55, 0x37, 0x9d, 0x35, 0x9f, 0x01, 0xbd, 0x05, 0x55,
+ 0x5b, 0xc2, 0xd0, 0xe8, 0xd0, 0xd0, 0x7f, 0x02, 0xc5, 0xc1,
+ 0xf8, 0xfc, 0xff, 0x97, 0x85, 0x02, 0xe3, 0x1f, 0x4d, 0x34,
+ 0x4d, 0x4d, 0x47, 0x74, 0xb9, 0x51, 0x12, 0xfa, 0xb4, 0x73,
+ 0x21, 0x74, 0x63, 0xef, 0xae, 0x52, 0xae, 0xae, 0xe1, 0x09,
+ 0x11, 0x03, 0x1a, 0x08, 0xe4, 0xb3, 0xf2, 0x09, 0x9b, 0x4a,
+ 0xa3, 0xbd, 0xa3, 0xa3, 0x8a, 0xa0, 0x39, 0xba, 0xf4, 0x77,
+ 0x87, 0x37, 0xde, 0xa0, 0xbd, 0xe3, 0x07, 0xb4, 0x07, 0x07,
+ 0xb6, 0x9e, 0xcd, 0x32, 0xce, 0x31, 0xe0, 0x02, 0xe6, 0x9e,
+ 0x77, 0x17, 0x83, 0x31, 0x83, 0x83, 0x9c, 0x2f, 0x90, 0xce,
+ 0x8a, 0xd4, 0x0d, 0xad, 0x39, 0x2f, 0x8d, 0xc1, 0x6b, 0x30,
+ 0x6b, 0x6b, 0x1a, 0x57, 0xf2, 0x5c, 0xcd, 0x63, 0xfe, 0x2a,
+ 0x80, 0x57, 0xbc, 0x3b, 0x94, 0xc3, 0x94, 0x94, 0x21, 0x17,
+ 0xe8, 0xc6, 0x7b, 0x55, 0xa8, 0xe2, 0x4d, 0x17, 0xf3, 0x01,
+ 0x69, 0x48, 0x69, 0x69, 0x23, 0x33, 0xac, 0xca, 0x13, 0x75,
+ 0xbe, 0x6b, 0x03, 0x33, 0xf4, 0x4c, 0x16, 0xce, 0x16, 0x16,
+ 0x40, 0x0a, 0x57, 0x43, 0x9e, 0x8a, 0x85, 0x8e, 0xd4, 0x0a,
+ 0x26, 0xa9, 0xa4, 0x09, 0xa4, 0xa4, 0x3c, 0x3e, 0xf4, 0x88,
+ 0x3a, 0x46, 0x67, 0x35, 0x38, 0x3e, 0xd4, 0x70, 0x5e, 0x36,
+ 0x5e, 0x5e, 0x88, 0x84, 0x7d, 0xb6, 0x9c, 0x57, 0x91, 0xbe,
+ 0x90, 0x84, 0x80, 0xf0, 0xe3, 0x66, 0xe3, 0xe3, 0xa6, 0x7d,
+ 0xa8, 0x52, 0x08, 0xf2, 0x50, 0xc0, 0xd3, 0x7d, 0x93, 0x45,
+ 0xb1, 0x83, 0xb1, 0xb1, 0xb8, 0x62, 0xd2, 0x16, 0x15, 0xd1,
+ 0x82, 0x3b, 0xcf, 0x62, 0xb6, 0x47, 0x63, 0x13, 0x63, 0x63,
+ 0xfe, 0x04, 0x49, 0x41, 0x33, 0x3b, 0x3d, 0xed, 0xc9, 0x04,
+ 0x15, 0x20, 0xbe, 0x14, 0xbe, 0xbe, 0xea, 0xaf, 0xa4, 0x39,
+ 0x25, 0xb8, 0xa1, 0xfe, 0x60, 0xaf, 0xcc, 0x61, 0x68, 0x74,
+ 0x68, 0x68, 0xde, 0x01, 0x83, 0x81, 0x7c, 0x7e, 0x9e, 0xaa,
+ 0xa3, 0x01, 0xac, 0x25, 0xb0, 0xbf, 0xb0, 0xb0, 0x45, 0x50,
+ 0xfd, 0x5d, 0x7a, 0xda, 0xa2, 0xfa, 0x6f, 0x50, 0xc1, 0x50,
+ 0xe0, 0x22, 0xe0, 0xe0, 0x62, 0x2b, 0xd9, 0x8f, 0xb9, 0xef,
+ 0x30, 0x40, 0xf0, 0x2b, 0xee, 0x2e, 0xc5, 0x62, 0xc5, 0xc5,
+ 0xfb, 0x5e, 0xe3, 0x5f, 0xd7, 0x6b, 0x1a, 0x99, 0x72, 0x5e,
+ 0xae, 0x56, 0x55, 0x51, 0x55, 0x55, 0xa8, 0x81, 0xb7, 0x76,
+ 0xd3, 0x12, 0x32, 0xf9, 0xfa, 0x81, 0x9c, 0x07, 0xdc, 0x3b,
+ 0xdc, 0xdc, 0xe9, 0x99, 0xc2, 0x33, 0x79, 0x88, 0xbc, 0xd2,
+ 0x09, 0x99, 0xd9, 0x41, 0xd6, 0x60, 0xd6, 0xd6, 0x34, 0xae,
+ 0x27, 0xb8, 0x59, 0xc6, 0x3f, 0x54, 0xc3, 0xae, 0xa3, 0x67,
+ 0xdd, 0x07, 0xdd, 0xdd, 0x14, 0xab, 0xed, 0x78, 0x16, 0x83,
+ 0x9c, 0x13, 0xa9, 0xab, 0x25, 0x02, 0xd2, 0x90, 0xd2, 0xd2,
+ 0x46, 0x66, 0x9b, 0x57, 0x26, 0xea, 0xbf, 0xd6, 0x06, 0x66,
+ 0xeb, 0x10, 0x5f, 0x0a, 0x5f, 0x5f, 0x75, 0xb6, 0x52, 0xfd,
+ 0xf3, 0x5c, 0xb1, 0x7f, 0x30, 0xb6, 0x40, 0x78, 0x90, 0x33,
+ 0x90, 0x90, 0x53, 0xdf, 0x54, 0x29, 0x04, 0x79, 0x28, 0x60,
+ 0x88, 0xdf, 0x48, 0x77, 0x82, 0x0d, 0x82, 0x82, 0x61, 0x1d,
+ 0xbf, 0x85, 0xe5, 0xdf, 0x2d, 0x6c, 0x99, 0x1d, 0x6d, 0x75,
+ 0x50, 0x9d, 0x50, 0x50, 0x27, 0x7b, 0x24, 0xd2, 0xc3, 0x35,
+ 0x92, 0xba, 0x9f, 0x7b, 0x28, 0x33, 0x5a, 0xc6, 0x5a, 0x5a,
+ 0xfa, 0x4c, 0xc1, 0x59, 0xe3, 0x7b, 0x11, 0x3c, 0x55, 0x4c,
+ 0xff, 0xe8, 0x72, 0x69, 0x72, 0x72, 0x08, 0x90, 0xd3, 0x30,
+ 0x63, 0x80, 0x58, 0x61, 0xfb, 0x90, 0x0a, 0x7c, 0xf7, 0xd0,
+ 0xf7, 0xf7, 0xdf, 0x13, 0xa1, 0x87, 0x48, 0x6e, 0x95, 0x0f,
+ 0x84, 0x13, 0x4f, 0x3a, 0xfd, 0x8b, 0xfd, 0xfd, 0x02, 0x24,
+ 0x44, 0x0c, 0x68, 0x20, 0x16, 0x89, 0x4e, 0x24, 0x19, 0xc9,
+ 0xa5, 0x35, 0xa5, 0xa5, 0xc1, 0x0c, 0xdb, 0xc3, 0x55, 0x4d,
+ 0x47, 0xf4, 0x98, 0x0c, 0x53, 0xcd, 0xc2, 0xd6, 0xc2, 0xc2,
+ 0x4d, 0xc0, 0x2e, 0x6d, 0x19, 0x5a, 0xfa, 0x9b, 0x94, 0xc0,
+ 0xf5, 0x94, 0x85, 0xb9, 0x85, 0x85, 0xd7, 0x83, 0x72, 0xb7,
+ 0x2b, 0xee, 0xcd, 0x6e, 0x7f, 0x83, 0xb9, 0x05, 0x0e, 0xab,
+ 0x0e, 0x0e, 0xaf, 0xff, 0x59, 0x64, 0x5f, 0x62, 0x03, 0x04,
+ 0x0f, 0xff, 0xcb, 0x2c, 0x17, 0xf2, 0x17, 0x17, 0xbd, 0x38,
+ 0x78, 0x08, 0xf1, 0x81, 0xa5, 0x4f, 0x74, 0x38, 0x45, 0x46,
+ 0x0a, 0x5b, 0x0a, 0x0a, 0xdd, 0x37, 0xe5, 0x8b, 0x20, 0x4e,
+ 0x83, 0x86, 0xca, 0x37, 0x57, 0x2b, 0xcb, 0xc9, 0xcb, 0xcb,
+ 0x54, 0xa1, 0xba, 0x3b, 0x88, 0x09, 0x19, 0x9d, 0x7d, 0xa1,
+ 0xd7, 0xdb, 0x28, 0xaf, 0x28, 0x28, 0xf2, 0xdc, 0x12, 0x69,
+ 0x80, 0xfb, 0x49, 0x5d, 0xae, 0xdc, 0x68, 0x4b, 0xca, 0xf5,
+ 0xca, 0xca, 0xa9, 0x93, 0x95, 0x70, 0xe7, 0x02, 0x39, 0x5c,
+ 0xdd, 0x93, 0x4c, 0x91, 0x8b, 0x12, 0x8b, 0x8b, 0x78, 0x7c,
+ 0x2b, 0xd3, 0x74, 0x8c, 0xce, 0x6a, 0x70, 0x7c, 0x20, 0x3c,
+ 0x48, 0xf8, 0x48, 0x48, 0xc8, 0x8e, 0x2a, 0xf5, 0x02, 0xdd,
+ 0x14, 0x30, 0x44, 0x8e, 0x4a, 0x04, 0x67, 0xe3, 0x67, 0x67,
+ 0x8c, 0xcc, 0xf5, 0xae, 0x4c, 0x17, 0xbd, 0x6f, 0x0c, 0xcc,
+ 0x05, 0x3e, 0x9a, 0x68, 0x9a, 0x9a, 0x8e, 0xe8, 0xb1, 0xa2,
+ 0x24, 0x37, 0xab, 0xe6, 0x42, 0xe8, 0xc6, 0x1d, 0x9f, 0xa4,
+ 0x9f, 0x9f, 0x01, 0x12, 0x22, 0x06, 0x34, 0x10, 0x0b, 0xa5,
+ 0x27, 0x12, 0x14, 0xf8, 0x2d, 0x63, 0x2d, 0x2d, 0x7d, 0x26,
+ 0x81, 0xcd, 0x90, 0xdc, 0xe9, 0x1e, 0xcb, 0x26, 0x9e, 0x74,
+ 0x39, 0xd5, 0x39, 0x39, 0x04, 0x48, 0x88, 0x18, 0xd0, 0x40,
+ 0x2c, 0xd1, 0x9c, 0x48, 0xd5, 0xa8, 0xcd, 0x41, 0xcd, 0xcd,
+ 0x1f, 0x0d, 0x58, 0x42, 0x29, 0x33, 0xd9, 0x5e, 0x3b, 0x0d,
+ 0x4d, 0x49, 0x18, 0x65, 0x18, 0x18, 0xef, 0xf5, 0x0e, 0x27,
+ 0xc1, 0xe8, 0x86, 0x8a, 0xdb, 0xf5, 0xce, 0x12, 0x8d, 0x9a,
+ 0x8d, 0x8d, 0x33, 0xd0, 0xc9, 0xaa, 0xd5, 0xb6, 0x0e, 0xa9,
+ 0x36, 0xd0, 0x5a, 0x1a, 0x43, 0x9f, 0x43, 0x43, 0xe8, 0x8b,
+ 0xe0, 0x35, 0x4d, 0x98, 0xb7, 0x77, 0x2e, 0x8b, 0x3f, 0x60,
+ 0x01, 0x3c, 0x01, 0x01, 0xfd, 0x32, 0x2f, 0x4b, 0x6f, 0x0b,
+ 0x20, 0xc1, 0xa0, 0x32, 0x8a, 0x8c, 0x14, 0xb6, 0x14, 0x14,
+ 0x79, 0x6e, 0x09, 0xd5, 0x40, 0x9c, 0xc5, 0xcf, 0x57, 0x6e,
+ 0x83, 0x5b, 0x95, 0xff, 0x95, 0x95, 0xdc, 0x25, 0xc7, 0x8d,
+ 0x14, 0x5e, 0x88, 0x23, 0xed, 0x25, 0xc3, 0x23, 0x05, 0xcc,
+ 0x05, 0x05, 0x8f, 0xfa, 0x93, 0xa4, 0x10, 0x27, 0xa0, 0x43,
+ 0x65, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x08,
+ 0xce, 0x05, 0xce, 0xce, 0xdb, 0x5b, 0x29, 0x9f, 0x98, 0x2e,
+ 0xb9, 0xde, 0x18, 0x5b, 0x1f, 0x5c, 0x49, 0xc4, 0x49, 0x49,
+ 0x35, 0xbc, 0x05, 0xbe, 0x6d, 0xd6, 0x34, 0xf1, 0xe4, 0xbc,
+ 0x98, 0xe1, 0xd5, 0x24, 0xd5, 0xd5, 0xf0, 0xf8, 0x56, 0x65,
+ 0xe8, 0xdb, 0x5f, 0xd4, 0xe0, 0xf8,
+ },
+ {
+ /* 3 */
+ 0xab, 0x5f, 0x0f, 0xc5, 0x97, 0x09, 0x7c, 0xc9, 0x42, 0xc5,
+ 0x39, 0xbd, 0xfd, 0x81, 0x87, 0xfe, 0xbb, 0xa5, 0xce, 0xde,
+ 0x05, 0xdd, 0x1c, 0xf8, 0x12, 0xde, 0x45, 0x61, 0xc3, 0xdf,
+ 0xcc, 0x2b, 0x83, 0x15, 0xcf, 0x1f, 0x39, 0x08, 0x8c, 0x52,
+ 0xca, 0x1f, 0xff, 0xa8, 0x9e, 0x12, 0xd5, 0x1c, 0x0d, 0xe5,
+ 0x99, 0x66, 0x2c, 0xc3, 0x2e, 0xd2, 0x39, 0x66, 0x56, 0x24,
+ 0x2b, 0x05, 0x5f, 0x06, 0x3a, 0x3e, 0xb0, 0xfa, 0xbf, 0x2e,
+ 0x9c, 0x05, 0xd2, 0xfa, 0x54, 0x33, 0x2a, 0xb6, 0x28, 0x65,
+ 0x4a, 0x9d, 0xb2, 0xbb, 0xc7, 0x47, 0x7f, 0x92, 0xa1, 0xbb,
+ 0xe3, 0x62, 0x90, 0xef, 0x1a, 0x0b, 0xe8, 0xf8, 0x85, 0x6e,
+ 0xb9, 0xb8, 0x35, 0x14, 0xce, 0x6e, 0x93, 0xcc, 0xa8, 0x9d,
+ 0xa0, 0x57, 0xeb, 0x31, 0x8d, 0xa9, 0x9a, 0xdf, 0x3f, 0x0d,
+ 0xc1, 0xa9, 0x0a, 0x4b, 0x05, 0x3a, 0x68, 0x2c, 0x8f, 0xb7,
+ 0xef, 0x85, 0xb5, 0x57, 0xa4, 0x36, 0xf6, 0x85, 0xde, 0xf1,
+ 0x6f, 0xcb, 0x73, 0x33, 0xbe, 0x3d, 0xd6, 0x54, 0x60, 0x74,
+ 0x02, 0xd3, 0x03, 0x54, 0x2d, 0x2b, 0xf7, 0xf5, 0x57, 0xa6,
+ 0x0f, 0x6b, 0x28, 0x5d, 0xaf, 0x38, 0x22, 0x7d, 0x33, 0x5d,
+ 0xb8, 0xde, 0x5c, 0x7e, 0x6e, 0x54, 0x6d, 0xbc, 0x5a, 0x3c,
+ 0xc6, 0x7e, 0xad, 0x74, 0x1a, 0x3c, 0x9d, 0xa9, 0xaf, 0x02,
+ 0x26, 0xbd, 0x0a, 0xf3, 0x30, 0xd7, 0xca, 0x91, 0x3c, 0x56,
+ 0x22, 0xd7, 0xd0, 0x94, 0x68, 0x54, 0xf5, 0xd9, 0x29, 0x0d,
+ 0x79, 0x26, 0x0e, 0x9d, 0xf6, 0x2d, 0x8d, 0x26, 0xb1, 0x68,
+ 0xb9, 0x4f, 0xab, 0xcb, 0x17, 0xec, 0x68, 0xaa, 0x74, 0x86,
+ 0x72, 0xb5, 0x4b, 0xaa, 0xfa, 0x6c, 0x7d, 0x0f, 0xe1, 0x0a,
+ 0xb0, 0x11, 0x47, 0xf5, 0x6f, 0xd0, 0x26, 0x18, 0x35, 0xf5,
+ 0xe2, 0x88, 0x71, 0x57, 0xc0, 0xdb, 0xc5, 0x2a, 0x5d, 0x3e,
+ 0x72, 0x10, 0xdb, 0xa4, 0x57, 0x3e, 0x3d, 0x93, 0xff, 0x24,
+ 0x69, 0x38, 0x4c, 0xcc, 0xa2, 0xf6, 0x81, 0x89, 0x6b, 0xa0,
+ 0xbf, 0xf6, 0x12, 0xaf, 0x09, 0x62, 0x49, 0xfd, 0xc3, 0x7b,
+ 0x4d, 0x73, 0x34, 0xde, 0xcf, 0x96, 0x49, 0x73, 0xcc, 0x5e,
+ 0x66, 0xa9, 0x3a, 0xce, 0xb5, 0x89, 0x5f, 0x7f, 0x0a, 0x79,
+ 0x38, 0x33, 0x24, 0x7f, 0x8a, 0xc2, 0x45, 0x7d, 0x5b, 0x56,
+ 0x74, 0x7c, 0xa3, 0x37, 0xbd, 0x5c, 0xfb, 0x0a, 0x67, 0x37,
+ 0xa8, 0x66, 0x54, 0xaf, 0x50, 0xca, 0x94, 0xf9, 0xa7, 0xb5,
+ 0x4d, 0x8e, 0xfe, 0xe7, 0x81, 0xb5, 0x05, 0xc4, 0xe3, 0x1d,
+ 0x34, 0x16, 0x1d, 0x1f, 0x58, 0x7d, 0xbe, 0x17, 0x4e, 0xe3,
+ 0x69, 0x7d, 0x2a, 0xf8, 0x15, 0x5b, 0x14, 0xd3, 0x25, 0xaf,
+ 0x59, 0xbc, 0x82, 0xc2, 0xde, 0x49, 0xb1, 0xbc, 0x90, 0x31,
+ 0x48, 0x96, 0x0d, 0xe4, 0x48, 0x13, 0x03, 0x80, 0x44, 0xbc,
+ 0x73, 0x3d, 0xab, 0x80, 0x0d, 0x98, 0xe7, 0x94, 0x2b, 0x59,
+ 0xda, 0xbb, 0xb4, 0x78, 0x4f, 0xfc, 0x99, 0xe8, 0x34, 0x78,
+ 0xf9, 0x91, 0x9d, 0x04, 0x4c, 0xb9, 0xdd, 0xad, 0x1d, 0xc9,
+ 0xa9, 0xae, 0x8b, 0x6c, 0x2f, 0xc9, 0x7f, 0x21, 0xde, 0x55,
+ 0xe6, 0x66, 0xe9, 0xbf, 0x3c, 0x92, 0x19, 0x24, 0x33, 0xa2,
+ 0xcb, 0x92, 0xe4, 0xb1, 0x72, 0x41, 0x59, 0x7e, 0xea, 0x76,
+ 0x34, 0x55, 0x3a, 0x43, 0x39, 0xbb, 0xc4, 0x55, 0x7d, 0x36,
+ 0xdf, 0xe6, 0x91, 0x05, 0x73, 0x6a, 0x0a, 0x86, 0x5b, 0x0e,
+ 0xe9, 0x8e, 0x7c, 0x86, 0x2e, 0xd6, 0x17, 0xfe, 0xfa, 0x15,
+ 0x2e, 0x1b, 0xd0, 0x97, 0xe8, 0xcf, 0xe4, 0xa9, 0x96, 0x97,
+ 0x37, 0xd8, 0xfa, 0x1e, 0x01, 0x14, 0xf5, 0xe7, 0xdd, 0x13,
+ 0x07, 0xaf, 0x7b, 0xf7, 0xa7, 0x13, 0xb9, 0x34, 0xbd, 0xc6,
+ 0xb4, 0x84, 0x26, 0x66, 0x51, 0x7b, 0xa1, 0xa5, 0xd4, 0x50,
+ 0xbe, 0x7b, 0x09, 0xb6, 0xe5, 0x31, 0xc5, 0x9f, 0xd0, 0x48,
+ 0x84, 0xaf, 0x85, 0x6d, 0xa5, 0xbe, 0x16, 0xaf, 0x29, 0x05,
+ 0xf5, 0x50, 0xb9, 0x60, 0xc4, 0x6d, 0xe4, 0xc2, 0xd2, 0x8c,
+ 0xdd, 0x12, 0x52, 0xc2, 0x4a, 0xee, 0x25, 0xf8, 0x90, 0x11,
+ 0xf3, 0xb6, 0xcd, 0x5e, 0x41, 0x61, 0x6f, 0xc5, 0xb9, 0x5e,
+ 0x48, 0xf9, 0x24, 0x4b, 0xe7, 0x72, 0x7b, 0x17, 0x8b, 0x6a,
+ 0x12, 0x64, 0xd9, 0x77, 0x54, 0x6a, 0x10, 0xb8, 0x08, 0xd1,
+ 0x3e, 0x9e, 0x4d, 0x8b, 0x1b, 0x0a, 0x21, 0x15, 0x6d, 0x16,
+ 0xba, 0x0a, 0x65, 0xd2, 0xd3, 0xbe, 0xb0, 0xd4, 0x45, 0xf6,
+ 0x9a, 0xe6, 0x68, 0x7f, 0x5d, 0xef, 0x92, 0xe6, 0x5b, 0xbc,
+ 0xcc, 0x91, 0x74, 0x5f, 0xa9, 0xd1, 0xbe, 0xfe, 0x14, 0xf2,
+ 0x70, 0x66, 0x48, 0xfe, 0xd7, 0x47, 0x8a, 0xfa, 0xb6, 0xac,
+ 0x5e, 0xb8, 0xd2, 0xd6, 0x90, 0xa6, 0x07, 0x3e, 0xe5, 0xd6,
+ 0x80, 0x89, 0x40, 0x47, 0x33, 0x7a, 0xd8, 0x35, 0x05, 0x43,
+ 0xcc, 0x07, 0x95, 0x47, 0x3e, 0x43, 0x17, 0x6b, 0xea, 0x7f,
+ 0x7d, 0xeb, 0x7e, 0x8f, 0x93, 0xe0, 0x77, 0xcd, 0xc7, 0x5c,
+ 0x45, 0xe0, 0x78, 0xf2, 0x3c, 0xfb, 0xa5, 0x13, 0xf2, 0xf1,
+ 0x74, 0xa2, 0xe1, 0xfd, 0x69, 0x73, 0xbc, 0xa2, 0x3f, 0x84,
+ 0xfe, 0x97, 0x1e, 0x5b, 0x90, 0x26, 0x06, 0xc3, 0x88, 0xbb,
+ 0xe6, 0x7a, 0x95, 0xc3, 0x1a, 0xf3, 0x0d, 0xeb, 0x56, 0xb2,
+ 0x77, 0xb5, 0xab, 0xf0, 0x9e, 0x3b, 0xf1, 0x13, 0x68, 0xf0,
+ 0x31, 0xe1, 0xf9, 0x08, 0x98, 0xb1, 0x53, 0x5d, 0x4b, 0xb0,
+ 0xbc, 0x65, 0x29, 0xec, 0xdc, 0xb0, 0xd6, 0xad, 0x6b, 0x42,
+ 0x6c, 0x7c, 0xe5, 0x1d, 0x1c, 0x08, 0x95, 0x7b, 0x1b, 0xc6,
+ 0xf7, 0x08, 0xc5, 0xe8, 0x83, 0x98, 0xff, 0x51, 0x49, 0x54,
+ 0xba, 0x7c, 0xe4, 0x20, 0x75, 0x8b, 0xae, 0x7c, 0x7a, 0xe5,
+ 0x3d, 0x48, 0xd2, 0x70, 0x98, 0x5b, 0x87, 0x2f, 0xc1, 0xd1,
+ 0xd6, 0x83, 0xbd, 0x2f, 0x24, 0x9d, 0x12, 0xc4, 0x92, 0x39,
+ 0x13, 0x33, 0xc9, 0xdc, 0xb1, 0xb3, 0x6a, 0x28, 0x5f, 0xdc,
+ 0xe5, 0x5b, 0x93, 0xf9, 0x83, 0xae, 0x43, 0xa7, 0x8a, 0xab,
+ 0x2e, 0xb1, 0x49, 0xdd, 0x8c, 0xab, 0xaa, 0x71, 0x55, 0x1c,
+ 0x27, 0xa9, 0xdc, 0xea, 0xa4, 0x35, 0x09, 0x32, 0x8d, 0xda,
+ 0x2a, 0x35, 0x08, 0x5c, 0x04, 0x89, 0x1f, 0x4f, 0xc7, 0xa4,
+ 0xec, 0x05, 0xf1, 0xeb, 0xd7, 0x0b, 0x5d, 0x05, 0xd3, 0x69,
+ 0x88, 0x5f, 0x58, 0x6a, 0xa0, 0xeb, 0x86, 0xee, 0xfd, 0x04,
+ 0x46, 0x29, 0x65, 0xee, 0x9e, 0x54, 0x4f, 0x09, 0x8b, 0x0e,
+ 0xcc, 0x10, 0x65, 0x2e, 0x9b, 0xe6, 0xed, 0xeb, 0x7a, 0x2e,
+ 0x74, 0x80, 0x3a, 0xd7, 0x54, 0x9a, 0x14, 0x25, 0x60, 0x6d,
+ 0x57, 0xe1, 0x78, 0xac, 0x44, 0x6d, 0x63, 0xeb, 0xd0, 0xa8,
+ 0x29, 0x71, 0x52, 0x1a, 0xf2, 0x4c, 0x1c, 0xf9, 0x2f, 0x5a,
+ 0xd9, 0x4c, 0xa1, 0xd0, 0xb1, 0x9e, 0x95, 0x55, 0x2f, 0x5c,
+ 0x69, 0x6b, 0x48, 0x53, 0xe2, 0x1f, 0x93, 0x6b, 0x40, 0xa5,
+ 0x20, 0xc2, 0xf8, 0x3d, 0x47, 0x78, 0x2b, 0xdd, 0xeb, 0x84,
+ 0x51, 0x40, 0x98, 0xdd, 0xb5, 0x46, 0xbb, 0xea, 0x45, 0x0d,
+ 0xa6, 0xba, 0x96, 0xa3, 0xbb, 0xca, 0x52, 0x1b, 0x7b, 0xa3,
+ 0x6f, 0x99, 0xd6, 0x84, 0xd8, 0xf8, 0x5f, 0xff, 0x6b, 0x2a,
+ 0x30, 0x3a, 0x01, 0x88, 0xe0, 0x2a, 0xf7, 0xf4, 0x9a, 0x9b,
+ 0xca, 0x53, 0xe3, 0x4c, 0x0c, 0x45, 0xd3, 0xb5, 0x0f, 0xf4,
+ 0xe9, 0x45, 0x34, 0x25, 0x1a, 0x15, 0xac, 0xa7, 0xb8, 0x6c,
+ 0xc6, 0x19, 0x26, 0xba, 0x16, 0xe1, 0x1d, 0x19, 0xdc, 0xe6,
+ 0x6e, 0x78, 0x04, 0x50, 0xa7, 0xfd, 0x2f, 0x5f, 0x1b, 0x56,
+ 0x54, 0xad, 0x7e, 0x5f, 0x18, 0xe4, 0x0c, 0x58, 0x21, 0xd1,
+ 0xc0, 0xb2, 0x45, 0xb4, 0x17, 0xb9, 0xc5, 0x8f, 0x46, 0xb4,
+ 0x55, 0xd9, 0xcb, 0x0e, 0xf2, 0xb5, 0x23, 0xfe, 0x49, 0xf1,
+ 0xc4, 0x0c, 0xca, 0x7b, 0xaf, 0xf1, 0x61, 0xfc, 0xd1, 0x1b,
+ 0x5e, 0x12, 0x2a, 0xc4, 0x71, 0xe1, 0x2d, 0xfa, 0xfc, 0x34,
+ 0x82, 0xe1, 0x28, 0xef, 0x14, 0xe8, 0x63, 0xb0, 0x62, 0xd7,
+ 0x72, 0x61, 0x69, 0x46, 0x8f, 0x09, 0x29, 0x61, 0x25, 0x77,
+ 0xf3, 0x7c, 0x48, 0xe9, 0x7d, 0x46, 0x9b, 0x27, 0x54, 0xaa,
+ 0xcd, 0x45, 0x4a, 0x27, 0xe1, 0x75, 0x91, 0x5c, 0x6d, 0x68,
+ 0x31, 0x8a, 0x39, 0xd1, 0xd5, 0x23, 0xa6, 0xe5, 0xf5, 0xd1,
+ 0xf3, 0xda, 0x98, 0x3e, 0x24, 0x95, 0x30, 0xcd, 0x80, 0x2d,
+ 0x75, 0xbf, 0xa0, 0x53, 0xf0, 0x2d, 0x84, 0xa7, 0x42, 0xe2,
+ 0xdd, 0xbc, 0xc1, 0xf5, 0xfc, 0x48, 0xb7, 0x25, 0xc3, 0x39,
+ 0x43, 0x48, 0x22, 0xa4, 0x11, 0xd2, 0x0b, 0x9c, 0x20, 0x37,
+ 0x41, 0x36, 0xe7, 0x6b, 0xc0, 0x62, 0xa0, 0x36, 0xf8, 0x7b,
+ 0x7c, 0xbc, 0x96, 0x69, 0x8a, 0x2f, 0xf7, 0x0f, 0xd0, 0xfe,
+ 0xba, 0x1d, 0xe7, 0x0f, 0xb6, 0xbb, 0x5b, 0xe1, 0xe8, 0xbe,
+ 0xd7, 0x5e, 0x2d, 0x1e, 0x63, 0x3f, 0xb7, 0x3a, 0x0d, 0x1e,
+ 0xaf, 0xb5, 0xb6, 0x01, 0x13, 0xbf, 0x3d, 0x28, 0x19, 0x4b,
+ 0x59, 0x7c, 0x8e, 0x81, 0xc9, 0x4b, 0xd2, 0x83, 0x69, 0xe7,
+ 0x82, 0xba, 0xbf, 0x7a, 0x6f, 0xa8, 0xc0, 0xe8, 0x04, 0x65,
+ 0x06, 0xa8, 0x5a, 0x56, 0x2d, 0x29, 0xae, 0x8f, 0xc6, 0xe3,
+ 0x55, 0xf9, 0x51, 0x77, 0xd1, 0xbd, 0x58, 0xf9, 0xa4, 0x14,
+ 0x52, 0x83, 0xa1, 0x43, 0x72, 0x2d, 0xb3, 0x7a, 0xfb, 0x92,
+ 0xef, 0x38, 0x79, 0x7a, 0x59, 0xab, 0xcd, 0x22, 0x03, 0x3c,
+ 0xdb, 0xfc, 0x0d, 0x84, 0xef, 0x60, 0x9f, 0x5e, 0x31, 0x84,
+ 0x8e, 0xec, 0x47, 0xd8, 0xb5, 0x90, 0x15, 0x62, 0xd9, 0x91,
+ 0xf7, 0x7d, 0x7e, 0x1a, 0x41, 0x91, 0x14, 0x96, 0x0a, 0x74,
+ 0xd0, 0x58, 0x99, 0x1c, 0x3e, 0xd3, 0x61, 0x4d, 0xd0, 0x35,
+ 0xb8, 0xd3, 0x53, 0xe0, 0xc8, 0x18, 0x6b, 0x10, 0x4b, 0xda,
+ 0x0b, 0x47, 0x67, 0xdb, 0x79, 0x24, 0xa4, 0x47, 0x94, 0x1f,
+ 0x4a, 0x33, 0xe3, 0x22, 0x34, 0x12, 0x21, 0x5b, 0xb0, 0x8a,
+ 0xb8, 0xce, 0xe4, 0x5b, 0x9b, 0x90, 0xac, 0x14, 0xbf, 0x18,
+ 0x60, 0x59, 0xc3, 0x5a, 0xea, 0xbd, 0x83, 0xa6, 0x23, 0x5a,
+ 0xcb, 0x8d, 0x84, 0x07, 0x79, 0xbb, 0x92, 0xa8, 0xb7, 0xf8,
+ 0x0b, 0x40, 0xea, 0xd5, 0x9f, 0xf8, 0xf4, 0x09, 0x7a, 0x90,
+ 0x67, 0xe0, 0xac, 0x49, 0xa6, 0x74, 0x71, 0x5b, 0x6e, 0x4d,
+ 0x59, 0x74, 0xbf, 0x0d, 0xbe, 0xd0, 0x2d, 0x21, 0x6e, 0x75,
+ 0x52, 0xfb, 0xe5, 0x19, 0xa7, 0x6d, 0x15, 0xfb, 0x04, 0x2e,
+ 0x02, 0xa5, 0xee, 0xc6, 0xa1, 0xac, 0x3f, 0x12, 0x5d, 0x98,
+ 0x40, 0x9f, 0x60, 0x12, 0xe9, 0x29, 0x95, 0xd5, 0x72, 0x27,
+ 0x81, 0x9b, 0x7e, 0x24, 0xba, 0xf3, 0x80, 0xfd, 0xc0, 0x24,
+ 0x11, 0x52, 0xe9, 0x69, 0xe4, 0x4e, 0x3b, 0x79, 0x09, 0x06,
+ 0x1f, 0xb2, 0x9a, 0xb3, 0xd7, 0x06, 0x23, 0x4e, 0xf0, 0x6a,
+ 0xd1, 0x4c, 0x19, 0xc0, 0xf9, 0x0b, 0x7b, 0x22, 0x56, 0x7e,
+ 0x7d, 0x0b, 0x35, 0xcf, 0xfb, 0xad, 0x76, 0x77, 0xe4, 0x5a,
+ 0xa5, 0xf4, 0x35, 0xe7, 0x1d, 0x70, 0xf2, 0xf4, 0xb2, 0x95,
+ 0x59, 0x44, 0x06, 0x78, 0x2c, 0x95, 0x61, 0xac, 0x6b, 0x34,
+ 0xe8, 0x06, 0x9c, 0xac, 0xd9, 0x22, 0x8d, 0x65, 0x30, 0x46,
+ 0xbd, 0xf4, 0xde, 0x93, 0x43, 0x13, 0x08, 0xca, 0x0c, 0x93,
+ 0xb4, 0xac, 0x5a, 0x52, 0x9f, 0xdd, 0xb6, 0x40, 0x57, 0xb8,
+ 0x29, 0x1e, 0x32, 0x2a, 0x2b, 0xb8, 0x13, 0x45, 0xe8, 0xda,
+ 0x93, 0x2d, 0xd3, 0x81, 0x8c, 0x68, 0xa6, 0x0a, 0xaf, 0xa7,
+ 0x19, 0x68, 0xb0, 0x82, 0x58, 0xf7, 0x71, 0x1b, 0xe7, 0x93,
+ 0xad, 0x33, 0x16, 0x80, 0x17, 0x69, 0xfd, 0x33, 0x2b, 0x12,
+ 0xf4, 0xe3, 0xce, 0x03, 0x9b, 0x92, 0x8f, 0xe8, 0xe2, 0xb6,
+ 0xdc, 0x9a, 0xb2, 0xe8, 0xbd, 0x1a, 0xbf, 0x63, 0x5a, 0x42,
+ 0x8c, 0x7e, 0xe7, 0x42, 0x96, 0x30, 0xae, 0x2f, 0xf9, 0x42,
+ 0x47, 0x76, 0xc2, 0x6c, 0xbb, 0x48, 0x04, 0xdf, 0xa1, 0x76,
+ 0xc5, 0x35, 0x18, 0x9d, 0x14, 0x76, 0x1f, 0x37, 0xee, 0xf6,
+ 0x62, 0xa4, 0x86, 0x8d, 0xd7, 0x95, 0x5c, 0xa1, 0x92, 0x79,
+ 0xdb, 0x95, 0x97, 0xe2, 0xaa, 0x38, 0x4e, 0x91, 0xef, 0xee,
+ 0x2c, 0xdf, 0x5f, 0xea, 0x27, 0x90, 0xd5, 0xdf, 0x15, 0x7c,
+ 0xeb, 0xcc, 0x0a, 0x88, 0x32, 0x43, 0x31, 0x16, 0xf6, 0x44,
+ 0xac, 0xfc, 0xfa, 0x16, 0x6a, 0x5d, 0x35, 0x99, 0xec, 0xee,
+ 0x0b, 0xb4, 0x89, 0x2b, 0x6a, 0x0d, 0x3a, 0xe0, 0x27, 0x2b,
+ 0xa7, 0xe9, 0xb2, 0x88, 0x0c, 0xf0, 0x9e, 0x0a, 0x97, 0x62,
+ 0x87, 0x1f, 0xc2, 0xb1, 0xa3, 0x62, 0xd5, 0x50, 0x8b, 0x49,
+ 0xc1, 0xcf, 0x80, 0xdc, 0xc7, 0xd8, 0x1a, 0x6f, 0x86, 0x4b,
+ 0xc5, 0xd8, 0x66, 0x2f, 0x33, 0xb5, 0x1d, 0x67, 0x1c, 0x58,
+ 0xe1, 0x81, 0x1e, 0x8b, 0x48, 0x55, 0x6c, 0x81, 0x5d, 0x85,
+ 0xcf, 0x87, 0xed, 0xfa, 0xb1, 0x56, 0xfe, 0x09, 0xcf, 0x4c,
+ 0x20, 0xae, 0x30, 0x09, 0x95, 0xf5, 0xab, 0x8b, 0x39, 0xf2,
+ 0xd4, 0x97, 0x25, 0xd9, 0x40, 0x58, 0xbd, 0x23, 0x02, 0xd9,
+ 0x36, 0x32, 0x1b, 0xa6, 0xdb, 0xc4, 0x7a, 0x50, 0x32, 0x96,
+ 0xb2, 0xf8, 0xdf, 0xc1, 0x51, 0x96, 0x67, 0xc5, 0xd2, 0x0d,
+ 0xc7, 0xb7, 0x5b, 0x20, 0xca, 0x5c, 0xf5, 0x0f, 0x19, 0x15,
+ 0xf4, 0x5c, 0xe8, 0xc3, 0x74, 0x6d, 0xa8, 0xf7, 0xa3, 0x22,
+ 0x8e, 0x29, 0xde, 0x63, 0x4c, 0x30, 0x6a, 0x29, 0x07, 0xd3,
+ 0xe2, 0xae, 0x43, 0x75, 0xf9, 0x45, 0xfd, 0x89, 0x8b, 0xf0,
+ 0x53, 0x93, 0x9b, 0x89, 0x98, 0x6d, 0x4c, 0x1f, 0x12, 0xab,
+ 0x33, 0x04, 0x88, 0xea, 0x56, 0xd8, 0xaa, 0x4a, 0xff, 0xea,
+ 0x1d, 0x20, 0xef, 0x45, 0x15, 0xc7, 0x68, 0x24, 0x42, 0xb6,
+ 0xa3, 0xd7, 0xb3, 0x5f, 0x0b, 0xb6, 0xf5, 0xe3, 0x9b, 0x28,
+ 0xbd, 0x30, 0x96, 0x77, 0x16, 0x8e, 0xce, 0x75, 0xf2, 0x48,
+ 0x8b, 0x8e, 0xeb, 0x3e, 0x94, 0x66, 0x05, 0x44, 0x46, 0x3f,
+ 0x92, 0x21, 0x4b, 0x18, 0x57, 0xf6, 0x9d, 0x21, 0xc2, 0x3b,
+ 0x61, 0x36, 0xbc, 0x24, 0x02, 0x8e, 0xb1, 0x3b, 0x83, 0xfb,
+ 0x0c, 0xaf, 0x0a, 0x3b, 0xee, 0xfa, 0x77, 0x7b, 0x31, 0x52,
+ 0xff, 0x14, 0xed, 0xc4, 0xcd, 0x3e, 0x47, 0xa1, 0x85, 0xc4,
+ 0x69, 0xa0, 0xd5, 0x92, 0x41, 0x5d, 0x95, 0xbe, 0x1e, 0x49,
+ 0xed, 0x12, 0xf8, 0x51, 0x84, 0x49, 0x72, 0xb9, 0x39, 0xc1,
+ 0xcd, 0x3f, 0x64, 0x86, 0x62, 0x2c, 0x2f, 0x88, 0x9b, 0x3b,
+ 0x37, 0x2c, 0xd4, 0xba, 0x6a, 0xf1, 0x1b, 0x1f, 0x40, 0x6e,
+ 0x82, 0x6c, 0x0d, 0xd6, 0x43, 0xc4, 0x83, 0x6c, 0x33, 0xf6,
+ 0xf8, 0xbb, 0xef, 0xd2, 0x41, 0x29, 0x3b, 0x90, 0xad, 0x4a,
+ 0x45, 0x72, 0x86, 0x90, 0x44, 0x8b, 0x22, 0x67, 0x16, 0xfb,
+ 0x16, 0xab, 0xd1, 0x56, 0xd4, 0x1a, 0x74, 0x03, 0x4e, 0x56,
+ 0x8d, 0x11, 0xa7, 0xd3, 0x18, 0x23, 0x0e, 0x2c, 0x91, 0xa1,
+ 0x0f, 0xa4, 0x24, 0xcb, 0x36, 0xa1, 0xcf, 0xa3, 0x86, 0xa2,
+ 0x97, 0x7d, 0xb9, 0x2b, 0x7f, 0xe5, 0x86, 0x26, 0x10, 0x57,
+ 0x18, 0xe5, 0xab, 0x9b, 0xb4, 0xa4, 0xfd, 0x79, 0xfd, 0x9a,
+ 0x5c, 0xff, 0x4e, 0xc5, 0x4b, 0x0e, 0x8f, 0xff, 0x87, 0x5a,
+ 0xa2, 0xe9, 0x70, 0x0f, 0x6f, 0x32, 0xeb, 0x07, 0x45, 0x85,
+ 0xa1, 0xdb, 0x10, 0x07, 0x73, 0x53, 0xd8, 0x79, 0x17, 0xef,
+ 0x91, 0x61, 0xbf, 0x3f, 0x28, 0x27, 0xe0, 0xcc, 0x90, 0x3f,
+ 0x6d, 0x8e, 0xd7, 0x37, 0xaf, 0x9b, 0xa5, 0x73, 0x9e, 0x64,
+ 0x98, 0xad, 0x58, 0x02, 0x74, 0x64, 0xf6, 0x1e, 0x7b, 0x23,
+ 0x10, 0x83, 0xcf, 0xd9, 0x6d, 0xe9, 0xb8, 0x81, 0xe7, 0xf2,
+ 0x75, 0xe9, 0xed, 0x07, 0x97, 0x70, 0x9c, 0xe1, 0x56, 0xc5,
+ 0x53, 0x3a, 0xd9, 0xcc, 0x37, 0xc7, 0xcd, 0x3a, 0xbe, 0xe7,
+ 0x5f, 0x68, 0xf7, 0xf1, 0xba, 0xe2, 0x77, 0x22, 0xa5, 0x41,
+ 0x1a, 0x4e, 0x17, 0x22, 0x32, 0x1c, 0x19, 0x03, 0x35, 0x02,
+ 0x61, 0x1e, 0x7a, 0xa6, 0x4a, 0x21, 0x85, 0x10, 0x26, 0xa6,
+ 0xbc, 0xf0, 0x5e, 0xdb, 0x80, 0x92, 0x18, 0x87, 0x40, 0xf7,
+ 0xdb, 0xbe, 0x50, 0xc8, 0x78, 0xf7, 0x42, 0xb2, 0x21, 0x71,
+ 0x8f, 0x5e, 0x54, 0x4b, 0xe2, 0x01, 0x5a, 0x37, 0x3b, 0x68,
+ 0xc7, 0x01, 0x50, 0x1d, 0x28, 0x13, 0xc6, 0xa3, 0x8b, 0x68,
+ 0x4e, 0xf3, 0x70, 0x62, 0xbc, 0xab, 0xe2, 0xf3, 0xc1, 0xc6,
+ 0x81, 0x3d, 0x11, 0x97, 0x3e, 0xe1, 0x11, 0x8c, 0x7a, 0x1b,
+ 0x84, 0x98, 0xc6, 0x8c, 0x4b, 0x04, 0xc4, 0x40, 0x4a, 0xc1,
+ 0x5a, 0x67, 0x73, 0xa0, 0x55, 0x93, 0x1f, 0xa3, 0xf1, 0xa0,
+ 0x9f, 0xbe, 0xae, 0xb1, 0x51, 0xde, 0xce, 0x9e, 0xd4, 0x15,
+ 0x18, 0x1d, 0xe1, 0x44, 0x70, 0x15, 0x9a, 0x7a, 0x4d, 0xac,
+ 0x65, 0xc8, 0xf7, 0x69, 0x6c, 0x28, 0x84, 0x54, 0x77, 0x58,
+ 0xad, 0x28, 0x57, 0xce, 0xca, 0xbd, 0x85, 0xd6, 0xd2, 0xc6,
+ 0x35, 0x94, 0x06, 0x96, 0xa9, 0x11, 0x1c, 0x94, 0xc7, 0xff,
+ 0x82, 0x2b, 0x88, 0x32, 0x82, 0x52, 0x76, 0xe3, 0x99, 0x94,
+ 0x8a, 0xe4, 0xcf, 0xe3, 0x88, 0xd5, 0x44, 0xce, 0x2c, 0x35,
+ 0xb3, 0xd8, 0x4f, 0x32, 0x4c, 0xb7, 0x2c, 0x01, 0x3a, 0x32,
+ 0x7b, 0x0f, 0xdc, 0xf0, 0x08, 0xa0, 0xb4, 0xce, 0xe6, 0x83,
+ 0xaa, 0xe5, 0x3e, 0x85, 0x21, 0x83, 0xfd, 0xbf, 0x9f, 0xa1,
+ 0xa2, 0x7f, 0xd6, 0x19, 0x94, 0xe2, 0xc3, 0xa3, 0xb1, 0x8c,
+ 0x08, 0xe2, 0xd8, 0xc8, 0x6c, 0xdd, 0xea, 0x96, 0xe1, 0xc2,
+ 0xbd, 0x7e, 0x50, 0x4e, 0x03, 0x5b, 0xe3, 0x7e, 0xda, 0xdf,
+ 0x6d, 0x6e, 0x9d, 0xf5, 0xc2, 0x3c, 0xf4, 0x8f, 0x94, 0x42,
+ 0xc9, 0x20, 0x4c, 0x8f, 0xbb, 0x23, 0xbc, 0x75, 0xc3, 0xe7,
+ 0x5d, 0x71, 0xda, 0x11, 0xb3, 0xc1, 0x0d, 0x27, 0xea, 0x11,
+ 0x19, 0x0e, 0xed, 0xe0, 0xfb, 0x01, 0xfa, 0x8c, 0xf5, 0x4e,
+ 0xa8, 0x97, 0x59, 0x8a, 0x94, 0x4e, 0x01, 0xea, 0xe1, 0xb8,
+ 0xda, 0xd0, 0xa4, 0x34, 0x27, 0x98, 0x38, 0x31, 0x5e, 0xb4,
+ 0x71, 0x98, 0x81, 0x63, 0xa1, 0xff, 0xe9, 0xaa, 0x1f, 0x91,
+ 0xe9, 0x46, 0x3d, 0xec, 0x42, 0x4c, 0x63, 0x46, 0xc4, 0x02,
+ 0x62, 0x20, 0x25, 0x81, 0x0c, 0xa2, 0x20, 0x9a, 0x8c, 0x5f,
+ 0x28, 0x64, 0x3c, 0x9a, 0x21, 0x59, 0xf1, 0xd9, 0xa6, 0x2f,
+ 0x01, 0x47, 0xb9, 0xfc, 0xa0, 0x9c, 0x06, 0xb6, 0x05, 0xfc,
+ 0x77, 0x7d, 0xda, 0xdc, 0xf9, 0x29, 0x2d, 0xd2, 0xd8, 0x50,
+ 0xcb, 0xa8, 0xee, 0xb0, 0x99, 0x50, 0xae, 0x5f, 0x57, 0xb9,
+ 0xc9, 0x6f, 0x67, 0x4f, 0x6a, 0xeb, 0x0c, 0xef, 0x91, 0x22,
+ 0x38, 0xeb, 0x4d, 0x3d, 0xc7, 0x56, 0xd3, 0x64, 0xe2, 0x0b,
+ 0xb5, 0xb9, 0x73, 0x29, 0x09, 0x42, 0xec, 0xb9, 0x43, 0x58,
+ 0xc0, 0xc9, 0x55, 0x8e, 0x09, 0x3a, 0x38, 0x10, 0xe9, 0xf6,
+ 0x36, 0x4f, 0x2d, 0x10, 0x49, 0x13, 0xc5, 0xf3, 0x3d, 0xa2,
+ 0x57, 0x82, 0xea, 0xc6, 0x79, 0x50, 0x31, 0x71, 0xc8, 0xc6,
+ 0xc9, 0x9a, 0x85, 0xb4, 0x0e, 0xd8, 0x11, 0xbd, 0x78, 0xe7,
+ 0x32, 0x48, 0x66, 0x87, 0x55, 0xe7, 0x0b, 0xa1, 0xe4, 0x82,
+ 0xb2, 0xfc, 0xb7, 0x07, 0xee, 0x44, 0x89, 0x82, 0x34, 0x9c,
+ 0x2e, 0x44, 0x64, 0x38, 0x32, 0x06, 0x6a, 0x04, 0xdf, 0x23,
+ 0xac, 0xf2, 0x2a, 0x55, 0x87, 0xc3, 0x25, 0xf2, 0x91, 0xdb,
+ 0xa9, 0x2e, 0xd7, 0x34, 0x6a, 0xaa, 0xf3, 0x8d, 0x20, 0x2c,
+ 0xbf, 0xf0, 0x01, 0x8d, 0x1b, 0x19, 0xec, 0x53, 0x8c, 0x62,
+ 0x93, 0xef, 0x0e, 0x04, 0xab, 0xdc, 0xec, 0x63, 0x9a, 0x04,
+ 0x83, 0x74, 0xa0, 0x4c, 0x9e, 0xc9, 0x24, 0xe8, 0xe0, 0x40,
+ 0x22, 0x5e, 0xd8, 0xff, 0xb4, 0x40, 0xe7, 0x4c, 0x92, 0x4a,
+ 0xf4, 0xcd, 0x7f, 0xc8, 0x2a, 0x1c, 0xd7, 0x51, 0xc1, 0xea,
+ 0x40, 0x1c, 0x0f, 0x8f, 0xe6, 0x27, 0x5c, 0x3a, 0x66, 0x08,
+ 0xd3, 0x17, 0xac, 0x73, 0x97, 0x94, 0x3d, 0x17, 0x3a, 0x40,
+ 0x1d, 0x8a, 0x2a, 0x4d, 0xfe, 0x53, 0x54, 0x38, 0x6d, 0xa2,
+ 0x41, 0x17, 0x80, 0x38, 0x1e, 0xdd, 0x0f, 0x4e, 0xb8, 0x74,
+ 0x07, 0x16, 0xa9, 0xb1, 0xe6, 0x52, 0x12, 0x84, 0x1b, 0xb1,
+ 0x86, 0xb0, 0x43, 0x51, 0xaa, 0xdf, 0x44, 0xb1, 0x23, 0x1a,
+ 0xc8, 0xe3, 0x5b, 0x59, 0x97, 0x1a, 0x2c, 0xc1, 0x16, 0x4d,
+ 0x8d, 0x76, 0x3f, 0xa6, 0xa8, 0x70, 0xda, 0x87, 0x82, 0x2e,
+ 0xc3, 0x70, 0x3c, 0x79, 0x1e, 0x9c, 0xb3, 0xe8, 0xf8, 0x02,
+ 0x44, 0x75, 0x2b, 0x6c, 0x55, 0x25, 0x9e, 0x75, 0xef, 0x10,
+ 0x96, 0xc3, 0xeb, 0x82, 0x06, 0x51, 0x10, 0x4d, 0x46, 0xce,
+ 0x14, 0x32, 0x1e, 0x4d, 0xf1, 0xcd, 0x99, 0x8d, 0x53, 0xf6,
+ 0xca, 0x41, 0x75, 0x63, 0xdd, 0x28, 0xf9, 0xd9, 0x64, 0x63,
+ 0x85, 0x4d, 0xa3, 0x5a, 0x07, 0x6c, 0xad, 0x0e, 0x1f, 0x88,
+ 0xd1, 0xc7, 0x68, 0xfb, 0x5c, 0x88, 0xc8, 0x70, 0x64, 0x0c,
+ 0xd4, 0x08, 0x2b, 0x83, 0xc8, 0x1d, 0x8d, 0x66, 0xfa, 0x82,
+ 0x87, 0x1d, 0x5f, 0x92, 0xce, 0x34, 0x9a, 0x99, 0xae, 0xc7,
+ 0x17, 0x4f, 0xf2, 0xa0, 0x62, 0xe2, 0x53, 0x4f, 0x51, 0xf7,
+ 0xc9, 0xab, 0x1c, 0x73, 0x22, 0xb9, 0xf0, 0x0d, 0x64, 0x90,
+ 0xcc, 0xcd, 0xaa, 0x0d, 0x16, 0x81, 0x0b, 0xc7, 0xa7, 0x3b,
+ 0x39, 0xf7, 0xb8, 0x3d, 0x9c, 0x49, 0x96, 0x1c, 0xdd, 0x3d,
+ 0xcd, 0xb4, 0x87, 0x11, 0xe0, 0x1e, 0xde, 0x64, 0x15, 0x0e,
+ 0x8a, 0xc9, 0x81, 0x75, 0x20, 0x0e, 0xe6, 0xa6, 0x73, 0xf2,
+ 0x2e, 0x1d, 0x1e, 0xd6, 0x50, 0xba, 0x9d, 0x70, 0x44, 0xfa,
+ 0x66, 0xba, 0xb3, 0x7f, 0xb8, 0xfc, 0xdc, 0xa8, 0xa8, 0x96,
+ 0x07, 0x02, 0xb4, 0x6e, 0x76, 0xd0, 0x4d, 0x02, 0xa0, 0x3a,
+ 0x50, 0x26, 0x4f, 0x85, 0x58, 0xe9, 0xc2, 0x9b, 0xd6, 0x68,
+ 0x13, 0x0c, 0xfb, 0x9b, 0x71, 0x44, 0xd9, 0xca, 0x60, 0x8c,
+ 0x88, 0xa1, 0x46, 0x34, 0x53, 0x05, 0xb6, 0xb2, 0xed, 0x34,
+ 0x58, 0x41, 0x2c, 0x9a, 0xd9, 0xec, 0x9a, 0xd5, 0x36, 0x14,
+ 0x42, 0x2a, 0xda, 0x2c, 0xb7, 0x14, 0xca, 0x67, 0x65, 0xbf,
+ 0xa3, 0x6b, 0x69, 0x63, 0xfb, 0x4a, 0x03, 0x4b, 0xb5, 0xe9,
+ 0x0e, 0x4a, 0x82, 0x9e, 0x41, 0xf4, 0x44, 0x19, 0x28, 0x4a,
+ 0xc0, 0xda, 0xae, 0x01, 0xf0, 0x9b, 0x88, 0xda, 0xc6, 0x15,
+ 0x63, 0x93, 0x52, 0xe2, 0x65, 0xc1, 0xdb, 0xd0, 0x8f, 0x14,
+ 0x9d, 0x8d, 0x32, 0xd0, 0xa3, 0xc7, 0xb0, 0x2d, 0xe2, 0x36,
+ 0xd5, 0xd0, 0x9c, 0x25, 0xe0, 0xc4, 0xbb, 0x95, 0x07, 0x25,
+ 0x41, 0x4f, 0xc1, 0x7a, 0x22, 0xed, 0x7c, 0x01, 0x22, 0xdb,
+ 0xf4, 0x36, 0xcb, 0xf3, 0x4f, 0xdb, 0x96, 0x08, 0x4b, 0x80,
+ 0x94, 0x41, 0xbc, 0xb3, 0x67, 0x6f, 0xe3, 0x8f, 0x0e, 0x7c,
+ 0x09, 0x6f, 0xc3, 0xd1, 0x80, 0x8e, 0x66, 0xf4, 0x38, 0xb0,
+ 0x01, 0xc1, 0x3c, 0xd5, 0x90, 0xaa, 0xd8, 0xc1, 0xba, 0xc9,
+ 0x5d, 0xcd, 0x19, 0x37, 0x4f, 0x05, 0xaa, 0x31, 0xa2, 0xee,
+ 0x61, 0xb9, 0xb0, 0x31, 0x8b, 0x28, 0xa4, 0xc5, 0x81, 0x86,
+ 0xe0, 0x85, 0x04, 0x82, 0xf0, 0xd2, 0x05, 0xed, 0xe6, 0x82,
+ 0xad, 0xa2, 0xb7, 0xb2, 0x64, 0xdc, 0x27, 0x21, 0xe8, 0x87,
+ 0x01, 0x39, 0xd2, 0xe6, 0xbb, 0x87, 0x7e, 0xcb, 0x3f, 0xed,
+ 0x3c, 0xb6, 0x76, 0xf2, 0x12, 0x0c, 0x3e, 0xa7, 0xf7, 0xa5,
+ 0x6d, 0x0c, 0x46, 0x9c, 0x23, 0xd4, 0x61, 0x98, 0x78, 0xde,
+ 0x83, 0xad, 0x31, 0x03, 0xd3, 0x6e, 0x5b, 0xad, 0x89, 0x3f,
+ 0xa5, 0x76, 0xf6, 0xe5, 0x89, 0xe6, 0xff, 0xc8, 0xf3, 0x99,
+ 0xb0, 0x04, 0xe8, 0xc8, 0x2f, 0x3c, 0xf6, 0x46, 0x20, 0xc5,
+ 0x8d, 0x39, 0x5e, 0xbe, 0x36, 0xac, 0xa8, 0x99, 0xfc, 0xbe,
+ 0x30, 0x0b, 0x18, 0xb0, 0x42, 0x61, 0xaf, 0x80, 0xae, 0xb3,
+ 0x52, 0x3c, 0x64, 0x54, 0x56, 0xb3, 0x26, 0x8a, 0x13, 0x77,
+ 0xe5, 0x5a, 0x9f, 0x4d, 0x2e, 0x9e, 0x27, 0x83, 0xc4, 0x07,
+ 0xa6, 0x9e, 0xa2, 0x2d, 0x51, 0x95, 0x38, 0xe6, 0x84, 0x03,
+ 0x66, 0xae, 0xdf, 0x5a, 0x9e, 0xd6, 0xd1, 0xae, 0x79, 0x18,
+ 0xdd, 0x43, 0x7f, 0xc3, 0xe6, 0xd4, 0x14, 0xcf, 0xb6, 0x1c,
+ 0x11, 0xdf, 0xf8, 0xcf, 0x5c, 0x6f, 0x2e, 0x3f, 0x37, 0x2a,
+ 0xf1, 0x38, 0x7c, 0x65, 0xc2, 0x9a, 0x63, 0x6a, 0xb3, 0x65,
+ 0xa6, 0x03, 0x53, 0x30, 0xd6, 0x20, 0x63, 0x90, 0xcb, 0x9d,
+ 0xc9, 0xda, 0x89, 0xbf, 0x2c, 0x9d, 0x52, 0x0a, 0x29, 0xa0,
+ 0xb1, 0xc0, 0x51, 0xd3, 0xfa, 0x8b, 0x3f, 0x9e, 0x25, 0x43,
+ 0xd6, 0x8b, 0x38, 0x57, 0x1c, 0x39, 0x5d, 0x2e, 0xc8, 0xcf,
+ 0xc4, 0x58, 0x5e, 0xd3, 0xf5, 0x76, 0x6e, 0x58, 0x6b, 0xb7,
+ 0xd4, 0x21, 0x36, 0x3e, 0x03, 0xc9, 0x08, 0xc7, 0x23, 0x67,
+ 0x0a, 0x19, 0x0f, 0xc7, 0x99, 0x87, 0xad, 0xa7, 0xc8, 0x7b,
+ 0xed, 0x60, 0x9d, 0xe4, 0xdc, 0x11, 0x2b, 0x3f, 0xdf, 0xe4,
+ 0xfb, 0x86, 0x9c, 0xb7, 0x3b, 0xda, 0x70, 0xa3, 0x02, 0x41,
+ 0x78, 0x69, 0xe3, 0x97, 0x73, 0x41, 0xb7, 0x51, 0xba, 0x59,
+ 0x32, 0x6e, 0x3c, 0x6f, 0xa0, 0xb7, 0xf9, 0xe0, 0x88, 0x37,
+ 0xcc, 0xb7, 0xa5, 0xfe, 0xb3, 0x3b, 0x7b, 0x93, 0x8e, 0xf0,
+ 0x56, 0x79, 0x15, 0xcb, 0xa2, 0x80, 0xf3, 0x79, 0xa9, 0x8c,
+ 0xb5, 0x17, 0x8a, 0x1a, 0xd9, 0x72, 0xbc, 0xbf, 0x6c, 0x9b,
+ 0x93, 0xf1, 0x3b, 0xbf, 0x60, 0x16, 0x30, 0xa3, 0x84, 0xc2,
+ 0x10, 0xfa, 0xc1, 0x1b, 0x92, 0xd4, 0x60, 0x31, 0x50, 0x1b,
+ 0x7c, 0xdc, 0x3e, 0x5e, 0x4b, 0xd5, 0x1a, 0x09, 0xf1, 0xcc,
+ 0x58, 0x45, 0x5c, 0x67, 0x72, 0xcc, 0xac, 0x48, 0x56, 0x0a,
+ 0xbe, 0x0c, 0x9d, 0xc3, 0x9f, 0xa5, 0xa4, 0x78, 0xc8, 0xa8,
+ 0xac, 0xa5, 0x4c, 0xd7, 0x26, 0xee, 0x09, 0xb4, 0xee, 0xa9,
+ 0x95, 0x23, 0xff, 0x76, 0x21, 0x26, 0xd0, 0x23, 0x62, 0x01,
+ 0x31, 0x10, 0xf3, 0xa1, 0xcb, 0x06, 0xcc, 0x9f, 0x7d, 0xb4,
+ 0xff, 0x6f, 0x61, 0x9f, 0xf2, 0x30, 0x79, 0x86, 0xfe, 0x45,
+ 0x97, 0x30, 0xaf, 0x72, 0x6e, 0xe9, 0xf4, 0xfe, 0x8e, 0x72,
+ 0x9c, 0x43, 0x4e, 0xba, 0xfc, 0x6d, 0xc9, 0x88, 0x7d, 0xa4,
+ 0xfe, 0x4f, 0xf3, 0xc0, 0x6b, 0xa4, 0x1c, 0xca, 0x0e, 0xfd,
+ 0xcf, 0x17, 0x79, 0x99, 0x3a, 0x51, 0x91, 0x9f, 0xd5, 0xd8,
+ 0x5e, 0x51, 0xfe, 0x42, 0x7f, 0xaa, 0x0f, 0xcc, 0xb2, 0x9f,
+ 0xf6, 0xce, 0xec, 0x2b, 0x2a, 0xb7, 0x3f, 0xce, 0x0c, 0x72,
+ 0x06, 0x2c, 0xf1, 0x89, 0x35, 0x55, 0x98, 0xa7, 0x10, 0x16,
+ 0xbe, 0x78, 0xe1, 0xa7, 0xec, 0xed, 0x76, 0xc8, 0x46, 0x31,
+ 0x6c, 0xfb, 0xe3, 0xc0, 0x66, 0xe2, 0xab, 0xc2, 0x1f, 0xc0,
+ 0xea, 0xd4, 0x75, 0xde, 0xdf, 0x94, 0x9c, 0x84, 0x26, 0x59,
+ 0x04, 0xe4, 0xce, 0x1e, 0xa9, 0x59, 0x3b, 0xaa, 0xfc, 0x32,
+ 0xf0, 0x9d, 0x1b, 0x4e, 0x48, 0x30, 0xf8, 0xd9, 0x5a, 0xd1,
+ 0x77, 0x30, 0xdb, 0x35, 0x8c, 0xd6, 0x47, 0x25, 0x05, 0x98,
+ 0x18, 0x8a, 0x65, 0xa9, 0x1e, 0x2b, 0x11, 0x8a, 0x68, 0x4a,
+ 0x34, 0x2a, 0x9b, 0x8d, 0x50, 0x94, 0x43, 0x77, 0x9f, 0x02,
+ 0x23, 0xf5, 0xd3, 0x77, 0x4f, 0x2a, 0xc6, 0xe5, 0xa4, 0x07,
+ 0xf0, 0x7f, 0xc5, 0x99, 0x62, 0x06, 0x65, 0xdc, 0xb6, 0x99,
+ 0xd1, 0x7e, 0x89, 0xec, 0x2f, 0x09, 0xd1, 0x0f, 0x3d, 0x53,
+ 0x25, 0xf1, 0xa3, 0x08, 0x13, 0x53, 0x5e, 0x78, 0x2f, 0x8c,
+ 0x40, 0x49, 0x12, 0x74, 0x70, 0x20, 0x11, 0x2f, 0x6c, 0x9e,
+ 0x5a, 0x20, 0x92, 0x26, 0x49, 0x25, 0x7a, 0x87, 0x87, 0xca,
+ 0x6e, 0x69, 0xfc, 0x3d, 0x94, 0xcf, 0xde, 0x69, 0xe0, 0x9f,
+ 0x70, 0xe4, 0xb7, 0xb8, 0x08, 0x7d, 0x81, 0xec, 0x49, 0x6a,
+ 0x30, 0xf9, 0x28, 0xec, 0x3e, 0x6e, 0x1f, 0x2f, 0xc4, 0x8b,
+ 0x59, 0xae, 0x7b, 0x67, 0x76, 0xf4, 0x15, 0xba, 0xfe, 0x67,
+ 0x06, 0x39, 0x03, 0x16, 0x99, 0xa5, 0xfc, 0xdd, 0xe5, 0x03,
+ 0xee, 0x59, 0x4d, 0xb8, 0x8a, 0x03, 0xf0, 0x27, 0x78, 0x35,
+ 0x89, 0x26, 0x21, 0x70, 0xf8, 0xca, 0x47, 0xf7, 0xc6, 0xd4,
+ 0xa5, 0xca, 0x8f, 0x06, 0xa6, 0x60, 0x6f, 0x40, 0x85, 0x44,
+ 0xdf, 0x52, 0x7f, 0xc6, 0x98, 0x60, 0xd4, 0x52, 0x0e, 0x65,
+ 0x07, 0x9f, 0x86, 0xea, 0x55, 0x0c, 0x5b, 0xfd, 0xfa, 0xab,
+ 0x3d, 0xde, 0xc2, 0xfd, 0x27, 0x60, 0xf2, 0xcf, 0x3f, 0x8a,
+ 0x4e, 0x42, 0x13, 0xcd, 0x02, 0x72, 0x67, 0x0f, 0xb5, 0xcd,
+ 0xfc, 0x55, 0x7e, 0x19, 0x78, 0xaf, 0xec, 0x27, 0x24, 0x18,
+ 0x7c, 0x8d, 0x2d, 0x89, 0xda, 0x18, 0x8c, 0xfb, 0x46, 0x6b,
+ 0xc2, 0xf3, 0xfb, 0xcb, 0x4c, 0xb2, 0x08, 0x0b, 0x5f, 0x3c,
+ 0x91, 0xb2, 0x76, 0x97, 0x3b, 0x64, 0x23, 0xf9, 0x36, 0x9c,
+ 0x90, 0x60, 0x33, 0x71, 0xb4, 0x61, 0xee, 0x60, 0x75, 0x6a,
+ 0xdb, 0x6f, 0x8e, 0x4a, 0x75, 0x3b, 0x1a, 0xcb, 0x1d, 0xc0,
+ 0xfd, 0xbc, 0x62, 0xcb, 0xdf, 0x1b, 0x8e, 0x73, 0xa9, 0xe3,
+ 0x37, 0xdb, 0x29, 0x9c, 0x93, 0xed, 0xb2, 0xd7, 0xeb, 0x9c,
+ 0x02, 0x17, 0x01, 0xb3, 0x77, 0x63, 0x5c, 0x36, 0x63, 0xed,
+ 0x13, 0x5d, 0x0b, 0x91, 0xef, 0xed, 0x6e, 0x73, 0x37, 0x3c,
+ 0x02, 0x28, 0xf6, 0x2e, 0xd5, 0xd4, 0x24, 0xc8, 0x71, 0xee,
+ 0xa8, 0xd4, 0x20, 0xb3, 0x10, 0x61, 0x7c, 0xff, 0xf4, 0xa0,
+ 0x64, 0xef, 0xa7, 0x33, 0x7d, 0x41, 0xa2, 0xef, 0xce, 0x49,
+ 0x67, 0x1a, 0x4d, 0xad, 0xcd, 0x57, 0xdc, 0xd2, 0x3b, 0x7a,
+ 0xeb, 0x5d, 0x7f, 0xd2, 0x03, 0xfd, 0xe0, 0x0b, 0xad, 0xb3,
+ 0x6b, 0xed, 0x4a, 0x71, 0x80, 0xb0, 0xb9, 0x46, 0x04, 0x71,
+ 0x6c, 0x64, 0x36, 0x8f, 0x75, 0x4b, 0xa2, 0x65, 0x37, 0xd5,
+ 0x7e, 0xff, 0x4a, 0x86, 0x6f, 0xd5, 0x70, 0xae, 0x38, 0x72,
+ 0xba, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x18,
+ 0xb6, 0x39, 0x37, 0x95, 0x7a, 0x7f, 0x47, 0x39, 0x4e, 0xc0,
+ 0x27, 0x5d, 0x7e, 0xd7, 0x71, 0xe4, 0xbb, 0xbd, 0xd8, 0xf5,
+ 0xe5, 0x21, 0x76, 0xbd, 0xc0, 0x2c, 0x60, 0x85, 0xcb, 0x47,
+ 0x42, 0xe0, 0x33, 0x57, 0x8e, 0x2d, 0x4f, 0x6b, 0x89, 0x57,
+ 0xdd, 0x0c, 0x8f, 0xc0, 0xde, 0x80,
+ },
+ {
+ /* 4 */
+ 0xc2, 0x36, 0xbf, 0xb8, 0xb8, 0xed, 0xf8, 0xa5, 0xff, 0x6a,
+ 0x2d, 0xa5, 0x4a, 0x84, 0x52, 0x5c, 0x95, 0x8b, 0xd1, 0x9a,
+ 0x9a, 0x0a, 0x38, 0x2d, 0x73, 0xc6, 0x2f, 0x2d, 0x97, 0x24,
+ 0xdb, 0x4d, 0xa6, 0x30, 0x54, 0xed, 0xed, 0x72, 0xdb, 0x32,
+ 0x62, 0xa7, 0x28, 0x32, 0xbc, 0x57, 0x26, 0x97, 0x27, 0xcf,
+ 0x12, 0x53, 0x53, 0x58, 0x5c, 0x8f, 0x1d, 0x07, 0x49, 0x8f,
+ 0xe1, 0x72, 0x4a, 0xc8, 0xe0, 0xe4, 0xf8, 0xe2, 0xe2, 0xbd,
+ 0xfb, 0x0e, 0xe1, 0x95, 0x96, 0x0e, 0x78, 0x67, 0x45, 0x71,
+ 0x86, 0x51, 0x31, 0x0c, 0x0c, 0x4d, 0xfe, 0x30, 0xc3, 0x57,
+ 0x98, 0x30, 0x2e, 0x81, 0x7c, 0x06, 0x06, 0x16, 0x66, 0x0e,
+ 0x0e, 0xb1, 0x6a, 0x38, 0x02, 0x11, 0x1d, 0x38, 0x23, 0x5f,
+ 0xd7, 0x07, 0x5d, 0x87, 0xc4, 0x30, 0x30, 0xf7, 0x7e, 0xc0,
+ 0x8a, 0x9f, 0x25, 0xc0, 0xb8, 0x41, 0x33, 0x18, 0x09, 0x31,
+ 0x99, 0x15, 0x15, 0xa9, 0x8b, 0x54, 0x07, 0xda, 0xc8, 0x54,
+ 0x95, 0x2f, 0x30, 0xeb, 0x78, 0xfb, 0xf4, 0xd8, 0xd8, 0xc0,
+ 0x04, 0xe6, 0x28, 0x97, 0x67, 0xe6, 0xf9, 0x06, 0x34, 0x6c,
+ 0xf4, 0x90, 0x6f, 0xc6, 0xc6, 0x9d, 0x44, 0x9e, 0xed, 0xf3,
+ 0xd8, 0x9e, 0xb2, 0x66, 0xf2, 0x63, 0x16, 0xc7, 0xb5, 0x9f,
+ 0x9f, 0x4f, 0x99, 0x39, 0xb3, 0x69, 0x45, 0x39, 0x6a, 0x34,
+ 0xfa, 0xae, 0x19, 0xe0, 0x4a, 0x84, 0x84, 0x57, 0x78, 0x55,
+ 0xb6, 0xa2, 0x90, 0x55, 0xdc, 0x44, 0x1d, 0x42, 0xec, 0xc8,
+ 0x34, 0xfe, 0xfe, 0x1c, 0x2f, 0x7e, 0xe5, 0xb7, 0xac, 0x7e,
+ 0x3e, 0xd9, 0x28, 0x7f, 0x69, 0x92, 0x36, 0xf5, 0xf5, 0xe8,
+ 0xe4, 0x52, 0x27, 0x09, 0xdb, 0x52, 0xe0, 0x96, 0xde, 0x9b,
+ 0x04, 0xa5, 0x44, 0xb5, 0xb5, 0xde, 0x4c, 0x91, 0xbd, 0x1e,
+ 0x16, 0x91, 0x83, 0x6a, 0x9a, 0xbb, 0x8f, 0x60, 0xa8, 0x19,
+ 0x19, 0xe4, 0x75, 0x64, 0xc4, 0x8d, 0x50, 0x64, 0xbb, 0xae,
+ 0x4c, 0xed, 0x30, 0xb0, 0xb6, 0x70, 0x70, 0xc1, 0xd6, 0x03,
+ 0x10, 0x88, 0xe8, 0x03, 0xdb, 0xbd, 0x77, 0x38, 0x39, 0x81,
+ 0x2f, 0x65, 0x65, 0x68, 0x5d, 0x57, 0x17, 0x52, 0x20, 0x57,
+ 0x4e, 0x92, 0x47, 0xd3, 0xe9, 0xd5, 0x61, 0xf7, 0xf7, 0x14,
+ 0x70, 0x5a, 0xe6, 0x4f, 0x5e, 0x5a, 0xed, 0x48, 0x75, 0x9a,
+ 0x03, 0x0b, 0x33, 0x07, 0x07, 0xb9, 0x35, 0x1c, 0x01, 0xe9,
+ 0xef, 0x1c, 0xf0, 0xce, 0x8a, 0xe2, 0xcf, 0xa2, 0x62, 0x18,
+ 0x18, 0x9a, 0x3f, 0x60, 0x45, 0xae, 0xf3, 0x60, 0x5c, 0xc1,
+ 0xf8, 0x0c, 0x70, 0x72, 0x7c, 0x71, 0x71, 0xbf, 0x9c, 0x07,
+ 0x91, 0xab, 0x4b, 0x07, 0x3c, 0xd2, 0xc3, 0xd9, 0x43, 0xc9,
+ 0xf9, 0x06, 0x06, 0xc7, 0x7f, 0x18, 0x80, 0xca, 0x4c, 0x18,
+ 0x17, 0xa1, 0x3e, 0x03, 0x55, 0x0e, 0x4c, 0x99, 0x99, 0x88,
+ 0xe6, 0x21, 0x33, 0xa3, 0x09, 0x21, 0x7d, 0x95, 0xc4, 0xad,
+ 0x2c, 0x4d, 0xa9, 0xfd, 0xfd, 0x9e, 0xf1, 0x72, 0xa5, 0xd2,
+ 0x8a, 0x72, 0xd4, 0x68, 0x37, 0x9f, 0x12, 0x62, 0xf1, 0x2a,
+ 0x2a, 0x91, 0xd5, 0xa8, 0x0e, 0x77, 0x53, 0xa8, 0xe9, 0x5e,
+ 0x60, 0x15, 0x8e, 0xd8, 0xb9, 0xa5, 0xa5, 0x32, 0x66, 0xd1,
+ 0x7a, 0x6b, 0xb4, 0xd1, 0xeb, 0x55, 0x8b, 0xb3, 0xd5, 0x49,
+ 0x1b, 0x9b, 0x9b, 0x74, 0x72, 0x29, 0xf2, 0xe5, 0x8c, 0x29,
+ 0x70, 0x4b, 0x6f, 0xac, 0x3d, 0x24, 0x6b, 0xd0, 0xd0, 0xb6,
+ 0x11, 0xc6, 0xaa, 0x4c, 0x36, 0xc6, 0xcd, 0xf8, 0xdd, 0x68,
+ 0xd2, 0xe7, 0x6c, 0x29, 0x29, 0x13, 0x0b, 0xa4, 0x4e, 0x12,
+ 0x75, 0xa4, 0x03, 0xef, 0x7f, 0xf5, 0x76, 0x64, 0x1a, 0x7f,
+ 0x7f, 0x0e, 0xf6, 0x3f, 0x93, 0xba, 0x56, 0x3f, 0x1f, 0x8d,
+ 0x14, 0xde, 0x18, 0x58, 0x5b, 0x38, 0x38, 0x81, 0x6b, 0xe0,
+ 0x08, 0x44, 0x74, 0xe0, 0x8c, 0xbf, 0xda, 0x1c, 0x35, 0xad,
+ 0xe3, 0x79, 0x79, 0xc9, 0x89, 0x27, 0x13, 0x70, 0x1a, 0x27,
+ 0x08, 0x2c, 0x2a, 0xdd, 0x07, 0xae, 0x77, 0xb2, 0xb2, 0x67,
+ 0x79, 0x8d, 0xbc, 0xf7, 0xf9, 0x8d, 0x73, 0xa4, 0x10, 0x59,
+ 0xc0, 0x85, 0x9d, 0x03, 0x03, 0x82, 0xde, 0x0c, 0x40, 0x65,
+ 0x26, 0x0c, 0xea, 0xb1, 0x1f, 0xe0, 0xf7, 0x9b, 0x5c, 0xc1,
+ 0xc1, 0x24, 0x71, 0x82, 0xec, 0x1a, 0x37, 0x82, 0x42, 0xa8,
+ 0x78, 0x81, 0xb8, 0x7e, 0x69, 0xdb, 0xdb, 0x42, 0xda, 0xea,
+ 0x68, 0xf2, 0x41, 0xea, 0x13, 0xb7, 0x2b, 0x8c, 0x72, 0xc1,
+ 0x5e, 0xca, 0xca, 0xd0, 0xba, 0xae, 0x2e, 0xa4, 0x40, 0xae,
+ 0x9c, 0xe7, 0x8e, 0x65, 0x11, 0x69, 0xc2, 0x2d, 0x2d, 0x28,
+ 0xe0, 0xb4, 0x0f, 0x9e, 0xbc, 0xb4, 0x19, 0x90, 0xea, 0xf7,
+ 0xb4, 0x52, 0xa5, 0xc7, 0xc7, 0xe3, 0x0e, 0x9a, 0x6c, 0xd0,
+ 0x7b, 0x9a, 0x55, 0x09, 0x46, 0x82, 0xff, 0x12, 0xd4, 0x68,
+ 0x68, 0x5b, 0xe9, 0x63, 0x55, 0x26, 0x1b, 0x63, 0x87, 0x7c,
+ 0x8f, 0x34, 0x1a, 0xeb, 0x79, 0x83, 0x83, 0xee, 0x4d, 0x49,
+ 0xb7, 0x4b, 0x7f, 0x49, 0x2c, 0x8a, 0x97, 0xa0, 0x48, 0x4b,
+ 0x42, 0xa8, 0xa8, 0x01, 0xd2, 0xe5, 0x38, 0x1f, 0x8f, 0xe5,
+ 0x22, 0xbb, 0x43, 0x54, 0xaa, 0x1c, 0x98, 0xf1, 0xf1, 0xd3,
+ 0x0f, 0x42, 0x66, 0x85, 0x12, 0x42, 0xfa, 0xe9, 0x4b, 0x99,
+ 0x58, 0x9a, 0x91, 0x39, 0x39, 0xff, 0x21, 0xe4, 0x89, 0x67,
+ 0xd7, 0xe4, 0x6b, 0xd0, 0x6e, 0xfd, 0x93, 0x9d, 0xb7, 0x94,
+ 0x94, 0xbb, 0x52, 0x15, 0x71, 0xd7, 0x32, 0x15, 0xb4, 0x7b,
+ 0x0c, 0x4a, 0x21, 0xd9, 0x74, 0x5d, 0x5d, 0xe9, 0x36, 0xb7,
+ 0x1f, 0x16, 0x54, 0xb7, 0xc2, 0x2d, 0x9d, 0xcf, 0xdd, 0xc0,
+ 0x93, 0x32, 0x32, 0x0b, 0xea, 0xc8, 0x4b, 0xd9, 0xa0, 0xc8,
+ 0xb5, 0x9f, 0x98, 0x19, 0x60, 0xa3, 0xaf, 0xe0, 0xe0, 0x41,
+ 0x6f, 0x06, 0x20, 0xd3, 0x13, 0x06, 0x75, 0xb9, 0xee, 0x70,
+ 0x0c, 0x2c, 0xcc, 0x1c, 0x1c, 0xa1, 0xd4, 0x70, 0x04, 0x22,
+ 0x3a, 0x70, 0x46, 0xbe, 0x6d, 0x0e, 0xc4, 0x20, 0xd9, 0xb6,
+ 0xb6, 0x5c, 0x92, 0x9d, 0xfd, 0x7b, 0x30, 0x9d, 0x69, 0xdb,
+ 0x85, 0x5b, 0x9a, 0xac, 0x2e, 0x81, 0x81, 0x12, 0xd9, 0x41,
+ 0x76, 0x0d, 0xfa, 0x41, 0x21, 0x54, 0x3c, 0xa1, 0x5c, 0x3f,
+ 0xd5, 0x8c, 0x8c, 0x21, 0x6d, 0x75, 0x34, 0x79, 0xc1, 0x75,
+ 0xe8, 0xba, 0xf4, 0x46, 0x53, 0x18, 0x2a, 0x97, 0x97, 0x39,
+ 0x8c, 0x19, 0x31, 0xb2, 0x14, 0x19, 0x5e, 0xca, 0x13, 0xaa,
+ 0xcd, 0x11, 0x40, 0xa3, 0xa3, 0xf5, 0x19, 0xc9, 0xfa, 0xa1,
+ 0xf8, 0xc9, 0xfc, 0xf4, 0xb5, 0xb0, 0x32, 0x03, 0x94, 0xcb,
+ 0xcb, 0xae, 0xf0, 0xaa, 0xaf, 0x87, 0xe3, 0xaa, 0x7b, 0x88,
+ 0x3a, 0x84, 0x1b, 0x53, 0x68, 0x3f, 0x3f, 0x38, 0x5e, 0xfc,
+ 0x09, 0xad, 0x9b, 0xfc, 0x7c, 0x71, 0x50, 0xfe, 0x5a, 0x29,
+ 0xb3, 0x82, 0x82, 0x90, 0x07, 0x4d, 0x36, 0x68, 0xdc, 0x4d,
+ 0xcb, 0xe5, 0x23, 0x41, 0xa1, 0x9e, 0x23, 0x5f, 0x5f, 0x15,
+ 0xa2, 0xbf, 0xde, 0x50, 0xd1, 0xbf, 0xcf, 0xf3, 0x36, 0xce,
+ 0xe5, 0xf9, 0xad, 0xeb, 0xeb, 0xb5, 0xa4, 0x2a, 0xe2, 0x6d,
+ 0x64, 0x2a, 0xab, 0xf6, 0x18, 0x94, 0x3c, 0x9c, 0x7a, 0x6c,
+ 0x6c, 0x60, 0x02, 0x73, 0x14, 0xaa, 0xd2, 0x73, 0x9d, 0x03,
+ 0x1a, 0x36, 0x97, 0x38, 0xf3, 0x21, 0x21, 0x65, 0x1e, 0x84,
+ 0xcc, 0xc9, 0x24, 0x84, 0x37, 0x11, 0x96, 0xf1, 0xce, 0x1a,
+ 0x73, 0xa4, 0xa4, 0x4c, 0x2c, 0xd5, 0xfb, 0x48, 0x17, 0xd5,
+ 0x0c, 0x3a, 0x3f, 0x52, 0x6d, 0x37, 0x72, 0x40, 0x40, 0x36,
+ 0xa8, 0xc3, 0x9a, 0x17, 0xcd, 0xc3, 0x63, 0xfc, 0x44, 0x20,
+ 0x62, 0x10, 0x8d, 0x5b, 0x5b, 0x2e, 0x49, 0xaf, 0x9f, 0xdc,
+ 0x18, 0xaf, 0xd5, 0x8c, 0xa3, 0xcc, 0xf5, 0x28, 0x7e, 0x7a,
+ 0x7a, 0x4b, 0x57, 0x2b, 0x53, 0x15, 0x3c, 0x2b, 0xe2, 0x9d,
+ 0x35, 0x3d, 0xb7, 0x59, 0x96, 0xc0, 0xc0, 0x5a, 0x3b, 0x86,
+ 0x6d, 0x39, 0x94, 0x86, 0xa5, 0xc7, 0xcc, 0x60, 0xe2, 0x57,
+ 0xda, 0x59, 0x59, 0xd2, 0xdd, 0xa7, 0x5e, 0x9a, 0x9d, 0xa7,
+ 0xd8, 0x52, 0x08, 0xcd, 0x41, 0x7a, 0xdb, 0xbd, 0xbd, 0xa8,
+ 0x59, 0xb1, 0x3f, 0xc5, 0x47, 0xb1, 0xb7, 0x94, 0x73, 0xbf,
+ 0x71, 0xca, 0x6d, 0xcd, 0xcd, 0x69, 0x8f, 0xb2, 0x2f, 0x4d,
+ 0xaf, 0xb2, 0x6c, 0x29, 0x04, 0x87, 0xf9, 0x04, 0xb2, 0x66,
+ 0x66, 0xea, 0x83, 0x5b, 0x57, 0x37, 0x06, 0x5b, 0xa4, 0x23,
+ 0x58, 0x33, 0xea, 0xde, 0x52, 0xf0, 0xf0, 0xad, 0x45, 0x46,
+ 0xe7, 0xa6, 0xb1, 0x46, 0x1d, 0x86, 0xff, 0x78, 0xae, 0xb9,
+ 0xdc, 0x44, 0x44, 0x0d, 0x43, 0xd3, 0xdb, 0x9b, 0x04, 0xd3,
+ 0x79, 0x83, 0xd1, 0x22, 0xe4, 0x41, 0xbc, 0x57, 0x57, 0x63,
+ 0xb7, 0x9f, 0x5c, 0x8b, 0x80, 0x9f, 0xfb, 0x0d, 0xdf, 0xca,
+ 0x0b, 0x82, 0xbb, 0xae, 0xae, 0xc6, 0xad, 0xfd, 0xb8, 0xd5,
+ 0xc3, 0xfd, 0x35, 0x1a, 0x7d, 0x57, 0xde, 0xcb, 0xa0, 0x35,
+ 0x35, 0xb2, 0xdf, 0xd4, 0x4a, 0x30, 0x4f, 0xd4, 0x45, 0x51,
+ 0x12, 0xfb, 0xf0, 0x35, 0x2b, 0x73, 0x73, 0x43, 0x08, 0x0f,
+ 0x50, 0xed, 0xce, 0x0f, 0x31, 0x0c, 0x68, 0xd8, 0xd4, 0xf1,
+ 0x0a, 0x27, 0x27, 0xa2, 0x61, 0x9c, 0x4c, 0x03, 0x68, 0x9c,
+ 0x20, 0xb0, 0xa8, 0xf2, 0xb5, 0xea, 0xb4, 0x7b, 0x7b, 0x35,
+ 0x1d, 0x2f, 0xd2, 0x36, 0x9f, 0x2f, 0x05, 0xf2, 0x81, 0xdc,
+ 0xa4, 0x83, 0x76, 0x56, 0x56, 0x1d, 0xfd, 0x9b, 0xdd, 0xa8,
+ 0x23, 0x9b, 0x1c, 0x62, 0x6b, 0x2b, 0xba, 0xcd, 0x4b, 0x60,
+ 0x60, 0x2d, 0xfc, 0x43, 0xd7, 0xfd, 0x4a, 0x43, 0xb3, 0x82,
+ 0x66, 0x30, 0xe8, 0x6d, 0x70, 0x4b, 0x4b, 0xc2, 0x63, 0xef,
+ 0x58, 0xa9, 0xba, 0xef, 0xbd, 0xb3, 0xb2, 0xc4, 0x0e, 0x9f,
+ 0xee, 0xa7, 0xa7, 0xce, 0xf2, 0xd9, 0xbb, 0x2d, 0x31, 0xd9,
+ 0xe6, 0x8b, 0x20, 0xb2, 0x9c, 0xba, 0x48, 0x8f, 0x8f, 0xa3,
+ 0xb3, 0x79, 0x74, 0x1c, 0xe7, 0x79, 0x02, 0x0b, 0xeb, 0xa6,
+ 0x31, 0x08, 0xa7, 0xcc, 0xcc, 0x17, 0xc5, 0xb6, 0xae, 0x6e,
+ 0x0c, 0xb6, 0x8b, 0x46, 0xb0, 0x66, 0x79, 0x43, 0xe5, 0x64,
+ 0x64, 0x16, 0x17, 0x53, 0x96, 0x71, 0x83, 0x53, 0xa9, 0xfd,
+ 0xf3, 0x32, 0xfc, 0x19, 0xe7, 0x6f, 0x6f, 0xe2, 0xdc, 0x7f,
+ 0x54, 0xcf, 0xf4, 0x7f, 0x77, 0xb2, 0x05, 0xd6, 0x4d, 0x56,
+ 0x17, 0xa1, 0xa1, 0x09, 0x8d, 0xc1, 0x3b, 0xe7, 0x7d, 0xc1,
+ 0xf1, 0x2a, 0x1e, 0xb1, 0xdb, 0xd6, 0xf5, 0x3c, 0x3c, 0xba,
+ 0x80, 0xf0, 0x49, 0xc8, 0xbd, 0xf0, 0x96, 0xc0, 0x4f, 0x1e,
+ 0x75, 0x6f, 0x29, 0x78, 0x78, 0xb7, 0xc3, 0x23, 0x92, 0x53,
+ 0xb9, 0x23, 0xef, 0x43, 0x9e, 0x3c, 0x68, 0x2a, 0x27, 0x49,
+ 0x49, 0x3e, 0xf7, 0xe7, 0x99, 0xef, 0x3f, 0xe7, 0xb0, 0x6d,
+ 0x19, 0xc5, 0x15, 0xcc, 0x86, 0x98, 0x98, 0xf6, 0xac, 0x25,
+ 0xb2, 0x80, 0xaa, 0x25, 0x9a, 0xfa, 0x70, 0x4c, 0xa9, 0x17,
+ 0xab, 0xf6, 0xf6, 0x6a, 0x3a, 0x5e, 0x67, 0x6c, 0xfd, 0x5e,
+ 0x0a, 0x27, 0xc1, 0x7b, 0x01, 0xb8, 0x11, 0xbc, 0xbc, 0xd6,
+ 0x13, 0xb5, 0xbe, 0xe6, 0xe4, 0xb5, 0x50, 0xfb, 0xc7, 0x5e,
+ 0x23, 0x6a, 0x56, 0xe6, 0xe6, 0x86, 0x10, 0x1e, 0xa0, 0x19,
+ 0x5f, 0x1e, 0x62, 0x18, 0xd0, 0x73, 0xb2, 0x44, 0xc3, 0xc9,
+ 0xc9, 0x52, 0x64, 0xa2, 0x6e, 0xc1, 0x66, 0xa2, 0x76, 0x56,
+ 0x91, 0x85, 0x6e, 0x3c, 0x41, 0x47, 0x47, 0x8f, 0x9d, 0xdf,
+ 0x9b, 0xfe, 0x22, 0xdf, 0x93, 0x32, 0xce, 0xc2, 0xf2, 0x86,
+ 0x09, 0xc8, 0xc8, 0x2c, 0x2e, 0xa6, 0xef, 0xe2, 0xc5, 0xa6,
+ 0x91, 0x39, 0x25, 0x64, 0x3b, 0x32, 0x0d, 0xde, 0xde, 0x07,
+ 0x7b, 0xfe, 0xa8, 0x5d, 0x2b, 0xfe, 0xee, 0xa7, 0x0a, 0x6f,
+ 0x52, 0xa0, 0x3b, 0x2b, 0x2b, 0xef, 0x9f, 0xac, 0x8f, 0x54,
+ 0xf0, 0xac, 0x0e, 0x31, 0xd4, 0xf4, 0x65, 0xbe, 0xfa, 0xe9,
+ 0xe9, 0x49, 0x30, 0x22, 0x23, 0x2b, 0xe1, 0x22, 0xa6, 0x28,
+ 0xb3, 0x95, 0x4b, 0x40, 0x71, 0xaf, 0xaf, 0xb8, 0xe7, 0xf9,
+ 0x39, 0xf6, 0x60, 0xf9, 0xd2, 0x75, 0xc9, 0xb6, 0x38, 0x39,
+ 0x3e, 0xd9, 0xd9, 0xbe, 0x4e, 0xe2, 0xa9, 0xb4, 0xc4, 0xe2,
+ 0x1e, 0x69, 0x80, 0x8d, 0x2a, 0x5b, 0xcf, 0xf3, 0xf3, 0x2f,
+ 0x9b, 0x4a, 0xa7, 0xc3, 0x97, 0x4a, 0xf7, 0x37, 0xe0, 0x98,
+ 0x91, 0x2e, 0x95, 0x2f, 0x2f, 0xd4, 0x74, 0xbc, 0xce, 0xd8,
+ 0x39, 0xbc, 0x14, 0x4e, 0x41, 0xf6, 0xd6, 0x42, 0x28, 0x9c,
+ 0x9c, 0xcd, 0x47, 0x35, 0xf3, 0x0c, 0x63, 0x35, 0x80, 0x85,
+ 0xe5, 0x4e, 0xfd, 0xa1, 0xf6, 0xd3, 0xd3, 0x34, 0xcf, 0xca,
+ 0xea, 0x29, 0x10, 0xca, 0x27, 0x49, 0xc2, 0x88, 0xf8, 0xbc,
+ 0xa3, 0xda, 0xda, 0x3c, 0x90, 0xee, 0xe9, 0xd1, 0xe2, 0xee,
+ 0xf4, 0xd8, 0x9f, 0x6d, 0x8c, 0x6b, 0x9b, 0x1e, 0x1e, 0x5d,
+ 0x40, 0x78, 0xc5, 0x64, 0xbf, 0x78, 0x4b, 0x60, 0xc6, 0x0f,
+ 0x50, 0x13, 0x19, 0x90, 0x90, 0x80, 0xb9, 0x05, 0x30, 0x5b,
+ 0xfb, 0x05, 0xae, 0x04, 0x99, 0x48, 0x7f, 0x55, 0x83, 0x6a,
+ 0x6a, 0xa7, 0x7d, 0x6b, 0x94, 0x60, 0x9e, 0x6b, 0x8a, 0xa2,
+ 0x24, 0x35, 0x59, 0x22, 0x80, 0x85, 0x85, 0x29, 0x32, 0x51,
+ 0x37, 0x81, 0x33, 0x51, 0x3b, 0x2b, 0xa9, 0xa3, 0x08, 0x89,
+ 0x88, 0xa9, 0xa9, 0x7f, 0x98, 0xe1, 0xb9, 0x3c, 0x2c, 0xe1,
+ 0xc5, 0xd4, 0xf7, 0xb5, 0xd9, 0x65, 0xd7, 0x87, 0x87, 0xd5,
+ 0xa6, 0x59, 0xf6, 0xc7, 0xb6, 0x59, 0x36, 0xf5, 0x02, 0xa2,
+ 0xa2, 0x95, 0x10, 0x58, 0x58, 0xac, 0x97, 0xa3, 0xdf, 0xb9,
+ 0x3e, 0xa3, 0x3f, 0x3d, 0xbc, 0x2c, 0xfb, 0xb7, 0x90, 0xdd,
+ 0xdd, 0x85, 0xa5, 0xf2, 0xe8, 0x38, 0x0d, 0xf2, 0x04, 0x16,
+ 0x15, 0x8f, 0x1c, 0xfd, 0x1f, 0x8d, 0x8d, 0x5f, 0x27, 0x71,
+ 0xb5, 0x5a, 0x62, 0x71, 0x0f, 0xd5, 0x40, 0xa7, 0x29, 0x50,
+ 0xfc, 0xf4, 0xf4, 0x96, 0xae, 0x56, 0xa6, 0x2a, 0x78, 0x56,
+ 0x07, 0xf9, 0x6a, 0x7a, 0xd3, 0x5f, 0x7d, 0x95, 0x95, 0xc5,
+ 0x18, 0x11, 0xf0, 0xf4, 0x91, 0x11, 0x53, 0x14, 0xb8, 0xab,
+ 0x6f, 0x84, 0x50, 0xfb, 0xfb, 0x59, 0x8e, 0x6a, 0x25, 0x18,
+ 0xc6, 0x6a, 0xc3, 0xc9, 0x09, 0x9c, 0x47, 0x6c, 0xbd, 0xb3,
+ 0xb3, 0x19, 0x33, 0x89, 0x3d, 0xd4, 0x5a, 0x89, 0x94, 0xcb,
+ 0xa4, 0xb8, 0x54, 0xb6, 0x5d, 0x25, 0x25, 0x5e, 0xf5, 0x94,
+ 0x8d, 0x45, 0xed, 0x94, 0x2d, 0x6e, 0x03, 0xf3, 0x9f, 0xb1,
+ 0x7b, 0x88, 0x88, 0x1a, 0x86, 0x65, 0x75, 0xf5, 0x08, 0x65,
+ 0xf2, 0xc5, 0x61, 0x44, 0x17, 0x7f, 0xa4, 0x23, 0x23, 0x99,
+ 0x8a, 0x8c, 0x0d, 0x8f, 0xa1, 0x8c, 0x3a, 0xcf, 0x3d, 0xf0,
+ 0xe1, 0x5c, 0xe9, 0x5e, 0x5e, 0x6b, 0xe8, 0xbb, 0x5f, 0x73,
+ 0x72, 0xbb, 0x28, 0x9c, 0x82, 0x2f, 0x7c, 0x5e, 0xb0, 0x6d,
+ 0x6d, 0x1e, 0x48, 0x77, 0x95, 0x89, 0x71, 0x77, 0x7a, 0x6c,
+ 0xae, 0xd7, 0x46, 0xd4, 0xac, 0x0f, 0x0f, 0xcf, 0x20, 0x3c,
+ 0x83, 0x32, 0xbe, 0x3c, 0xc4, 0x30, 0x63, 0xe6, 0xbc, 0xdb,
+ 0x2d, 0x6e, 0x6e, 0x9c, 0x96, 0x7b, 0xd5, 0xec, 0x57, 0x7b,
+ 0x90, 0xdd, 0xb1, 0x37, 0xc5, 0x98, 0xc8, 0x0a, 0x0a, 0x8a,
+ 0x81, 0x28, 0x43, 0x9d, 0xd4, 0x28, 0x39, 0x20, 0x42, 0x05,
+ 0x22, 0xd2, 0x47, 0x5a, 0x5a, 0x50, 0x03, 0xab, 0x1e, 0xff,
+ 0xbb, 0xab, 0x32, 0xe3, 0x17, 0x2d, 0xbe, 0x68, 0x0f, 0xd5,
+ 0xd5, 0xf3, 0xb0, 0xd2, 0x6a, 0xe3, 0x5c, 0xd2, 0x30, 0xe8,
+ 0xfc, 0x8b, 0x96, 0x80, 0xe2, 0x9d, 0x9d, 0xb3, 0x0d, 0x31,
+ 0x72, 0x2f, 0xc0, 0x31, 0x67, 0xea, 0x51, 0xaf, 0x7e, 0xed,
+ 0x92, 0xd6, 0xd6, 0x71, 0x6e, 0xde, 0x2a, 0x86, 0x7a, 0xde,
+ 0xda, 0x59, 0xe3, 0x6b, 0x1d, 0x45, 0x0e, 0x31, 0x31, 0x89,
+ 0x34, 0xc4, 0x0b, 0xbc, 0x86, 0xc4, 0x5f, 0x2e, 0x87, 0xf9,
+ 0xb9, 0xc6, 0x78, 0x67, 0x67, 0x94, 0xc9, 0x5f, 0xd6, 0x14,
+ 0xa5, 0x5f, 0x43, 0x4c, 0xec, 0xd2, 0x9d, 0x02, 0x59, 0x33,
+ 0x33, 0x75, 0xa0, 0xcc, 0xca, 0xfa, 0x03, 0xcc, 0x52, 0xf0,
+ 0x2c, 0xf8, 0xad, 0xb2, 0xef, 0x43, 0x43, 0xb4, 0x76, 0xcf,
+ 0xda, 0x72, 0xeb, 0xcf, 0x89, 0x4d, 0x5b, 0xc0, 0x6c, 0x8f,
+ 0x63, 0xfc, 0xfc, 0xe0, 0xbb, 0x76, 0x24, 0xf1, 0x29, 0x76,
+ 0x33, 0x07, 0x83, 0x7e, 0x85, 0x5a, 0x02, 0x0b, 0x0b, 0xf4,
+ 0xcb, 0x2c, 0xc2, 0xbe, 0x77, 0x2c, 0xde, 0x4f, 0xf6, 0xe4,
+ 0xd1, 0xec, 0x5f, 0x2e, 0x2e, 0xaa, 0x3e, 0xb8, 0x4f, 0xfb,
+ 0x9a, 0xb8, 0xf3, 0x21, 0xf5, 0x17, 0x1e, 0x4e, 0x3d, 0x36,
+ 0x36, 0x30, 0x01, 0xd8, 0x0a, 0x55, 0x69, 0xd8, 0xaf, 0xe0,
+ 0x0d, 0x1b, 0xa5, 0x3b, 0x67, 0xea, 0xea, 0xcb, 0xee, 0x2e,
+ 0x63, 0x4e, 0xc7, 0x2e, 0x4c, 0x99, 0xac, 0x75, 0xe6, 0xf2,
+ 0x9e, 0xec, 0xec, 0x0c, 0x91, 0x36, 0xe3, 0x84, 0x8b, 0x36,
+ 0x5b, 0x38, 0x92, 0x76, 0x2e, 0xfe, 0x8b, 0x46, 0x46, 0xf1,
+ 0xd7, 0xdb, 0x1a, 0xdd, 0x81, 0xdb, 0x74, 0x5d, 0x7a, 0x23,
+ 0x5f, 0x34, 0xe6, 0x8b, 0x8b, 0x98, 0x58, 0x69, 0x35, 0x90,
+ 0x2e, 0x69, 0x18, 0x74, 0x7e, 0xa4, 0x61, 0x1b, 0xbe, 0x5c,
+ 0x5c, 0x97, 0x7c, 0xb3, 0x9e, 0x35, 0xf7, 0xb3, 0x25, 0x42,
+ 0x29, 0x2e, 0x83, 0x4c, 0x64, 0x05, 0x05, 0x45, 0xa1, 0x14,
+ 0xc0, 0xaf, 0x6a, 0x14, 0xfd, 0x10, 0x21, 0xe3, 0x44, 0x67,
+ 0x8e, 0xb4, 0xb4, 0xa0, 0x06, 0x95, 0x3c, 0x3d, 0xb5, 0x95,
+ 0x64, 0x05, 0x2e, 0x5a, 0xb1, 0x4f, 0xf0, 0xce, 0xce, 0xeb,
+ 0x51, 0xbe, 0x6f, 0x28, 0x89, 0xbe, 0x86, 0x98, 0x1b, 0x67,
+ 0xef, 0xc3, 0x07, 0xf9, 0xf9, 0xa5, 0x1a, 0x62, 0xe4, 0x5e,
+ 0x43, 0x62, 0xce, 0x17, 0xa2, 0x9d, 0x82, 0xf4, 0x75, 0xb9,
+ 0xb9, 0x93, 0xb2, 0xa1, 0x7e, 0x49, 0x8e, 0xa1, 0xad, 0xeb,
+ 0xe6, 0xbd, 0x36, 0xa6, 0xd0, 0x7e, 0x7e, 0x70, 0xbc, 0x3b,
+ 0x12, 0x99, 0xf5, 0x3b, 0xf8, 0xe2, 0xa0, 0x3f, 0xa3, 0x2d,
+ 0x01, 0xe4, 0xe4, 0x7a, 0x84, 0x16, 0x61, 0x5f, 0xda, 0x16,
+ 0x6f, 0xc6, 0x7b, 0x72, 0xaf, 0x01, 0xcd, 0xf8, 0xf8, 0xdb,
+ 0x50, 0x66, 0x65, 0x7d, 0xe0, 0x66, 0x29, 0x78, 0x16, 0x7c,
+ 0x88, 0xce, 0xdf, 0xab, 0xab, 0x83, 0x0c, 0xe9, 0x78, 0x7a,
+ 0xa9, 0xe9, 0xc8, 0x0a, 0x5c, 0xb4, 0x89, 0x76, 0xce, 0x17,
+ 0x17, 0x55, 0x1f, 0x5c, 0xc6, 0x9c, 0x4d, 0x5c, 0x98, 0xf1,
+ 0x9b, 0xea, 0x0f, 0x27, 0xff, 0x1b, 0x1b, 0x18, 0xe1, 0x6c,
+ 0x05, 0xcb, 0xd5, 0x6c, 0xb6, 0x70, 0xe7, 0xec, 0x1f, 0xf6,
+ 0x2c, 0x8a, 0x8a, 0xe6, 0x12, 0x6d, 0xb4, 0xb3, 0x8d, 0x6d,
+ 0xff, 0x1b, 0xca, 0x45, 0x42, 0x71, 0xe8, 0xba, 0xba, 0x11,
+ 0x6c, 0xad, 0x3e, 0x2c, 0xa8, 0xad, 0x47, 0x5a, 0xf9, 0x5d,
+ 0xf6, 0x23, 0x4d, 0x7d, 0x7d, 0xf2, 0x62, 0x37, 0x52, 0xfc,
+ 0xd3, 0x37, 0x12, 0x53, 0xbf, 0xdf, 0xdf, 0x73, 0xb1, 0x89,
+ 0x89, 0x64, 0xcc, 0x61, 0xf4, 0xd6, 0xab, 0x61, 0x15, 0xaa,
+ 0xd5, 0xa5, 0x3a, 0x8a, 0x1c, 0x62, 0x62, 0xd1, 0x68, 0x4b,
+ 0x16, 0xbb, 0xcf, 0x4b, 0xbe, 0x5c, 0xcd, 0x31, 0xc1, 0x3d,
+ 0x8c, 0xbf, 0xbf, 0x54, 0xcd, 0xb9, 0xfe, 0x83, 0xc2, 0xb9,
+ 0xba, 0x4a, 0xd8, 0xbe, 0x28, 0xe8, 0xed, 0x48, 0x48, 0x40,
+ 0xbd, 0xe3, 0x18, 0xcc, 0x9c, 0xe3, 0x57, 0x02, 0xad, 0x24,
+ 0xf1, 0x8d, 0x3a, 0xcf, 0xcf, 0x95, 0x1b, 0xba, 0xee, 0x0b,
+ 0x2a, 0xba, 0x61, 0xf7, 0xaf, 0x86, 0xcb, 0x07, 0x26, 0xad,
+ 0xad, 0x44, 0x73, 0xf1, 0xf8, 0xb0, 0xe5, 0xf1, 0xdf, 0xab,
+ 0x62, 0xb7, 0x92, 0x25, 0xa6, 0x28, 0x28, 0x6d, 0x41, 0xa0,
+ 0xcf, 0x31, 0xd6, 0xa0, 0xe4, 0x80, 0xcb, 0x14, 0x87, 0xe9,
+ 0x20, 0xb0, 0xb0, 0x9b, 0xed, 0x85, 0x7d, 0xb1, 0x7c, 0x85,
+ 0x7e, 0x7a, 0xbb, 0x58, 0xe7, 0x4a, 0x8f, 0x50, 0x50, 0xda,
+ 0x82, 0x83, 0x5d, 0x62, 0x6f, 0x83, 0x0b, 0xc3, 0x55, 0x28,
+ 0x3e, 0x2f, 0x58, 0xd7, 0xd7, 0x0f, 0x24, 0xda, 0xab, 0xa5,
+ 0xd9, 0xda, 0x3d, 0x36, 0x57, 0x8a, 0xfa, 0x0f, 0x81, 0x61,
+ 0x61, 0x53, 0xb6, 0x47, 0x56, 0xde, 0xe9, 0x47, 0x54, 0xed,
+ 0xd2, 0xd1, 0x0d, 0x94, 0xdd, 0xa0, 0xa0, 0x77, 0xc7, 0xc5,
+ 0xba, 0xc4, 0xde, 0xc5, 0x16, 0x45, 0xaa, 0x50, 0x51, 0xab,
+ 0x08, 0x2c, 0x2c, 0x56, 0xaa, 0xb0, 0x8e, 0xbd, 0x1f, 0xb0,
+ 0xfe, 0xff, 0x5e, 0x16, 0xb6, 0xe1, 0x87, 0x7c, 0x7c, 0x8c,
+ 0x28, 0x33, 0xd3, 0xdf, 0x70, 0x33, 0xf5, 0x3c, 0x0b, 0x3e,
+ 0x7b, 0xf0, 0xc7, 0xdf, 0xdf, 0x79, 0x31, 0xfa, 0x29, 0x7e,
+ 0x88, 0xfa, 0x09, 0xc8, 0xbe, 0x8e, 0x74, 0xd7, 0x38, 0xc4,
+ 0xc4, 0x61, 0xd0, 0x96, 0x2c, 0xb5, 0x5d, 0x96, 0xbf, 0xb8,
+ 0x59, 0x62, 0x3f, 0x97, 0x49, 0x6b, 0x6b, 0xd9, 0x37, 0x6f,
+ 0x15, 0x43, 0x3d, 0x6f, 0x6d, 0xcd, 0x90, 0xd4, 0x2f, 0x46,
+ 0x9a, 0xfa, 0xfa, 0x27, 0xc4, 0x6e, 0xa4, 0x3b, 0x65, 0x6e,
+ 0x24, 0xa6, 0xbd, 0x7d, 0x7d, 0xe6, 0xa1, 0xd1, 0xd1, 0xc8,
+ 0x5b, 0xc2, 0x2b, 0x6f, 0x95, 0xc2, 0x2a, 0x97, 0x69, 0x89,
+ 0xbb, 0x75, 0x5a, 0xdc, 0xdc, 0xfb, 0xef, 0xf6, 0x69, 0x1b,
+ 0xae, 0xf6, 0xe3, 0x79, 0xa1, 0x6e, 0x49, 0xf3, 0x53, 0x14,
+ 0x14, 0xd7, 0xc1, 0x50, 0x86, 0xf9, 0x6b, 0x50, 0x72, 0x40,
+ 0x84, 0x0a, 0x2b, 0xe3, 0xde, 0x4f, 0x4f, 0xf9, 0x88, 0xff,
+ 0x19, 0x25, 0x73, 0xff, 0xa7, 0xcc, 0x27, 0xc6, 0x99, 0xa7,
+ 0x1d, 0x86, 0x86, 0xab, 0xec, 0x5d, 0x77, 0xe4, 0x15, 0x5d,
+ 0xd1, 0x9a, 0xb6, 0x43, 0x02, 0xb3, 0x22, 0xbb, 0xbb, 0x6f,
+ 0x26, 0xa9, 0xbf, 0x0f, 0x0b, 0xa9, 0xa0, 0x35, 0x4d, 0xbc,
+ 0x37, 0x1e, 0xc1, 0xc2, 0xc2, 0xa6, 0xaf, 0x8e, 0xac, 0x7f,
+ 0x11, 0x8e, 0xa8, 0x19, 0x67, 0x61, 0xb3, 0xfc, 0xd2, 0x75,
+ 0x75, 0x84, 0x77, 0x17, 0xd0, 0x27, 0x82, 0x17, 0x26, 0xad,
+ 0x56, 0xdb, 0x73, 0x79, 0x4f, 0x76, 0x76, 0x06, 0xa9, 0x1b,
+ 0x90, 0x42, 0xa4, 0x1b, 0xcc, 0x1c, 0x49, 0x3b, 0x64, 0x06,
+ 0xeb, 0x55, 0x55, 0x9f, 0x23, 0x97, 0x9d, 0xcd, 0x05, 0x97,
+ 0xf6, 0xd3, 0x74, 0xcb, 0xdc, 0x78, 0x82, 0x8e, 0x8e, 0xdd,
+ 0xf9, 0x7d, 0xf5, 0x3f, 0x44, 0x7d, 0xe5, 0x64, 0x5f, 0x47,
+ 0xd8, 0xdd, 0xc6, 0x3b, 0x3b, 0x03, 0xb5, 0xec, 0x48, 0x21,
+ 0x52, 0xec, 0x66, 0x0e, 0xc5, 0xfc, 0xc9, 0xb4, 0x04, 0x16,
+ 0x16, 0x2b, 0x55, 0x58, 0x47, 0xbf, 0xee, 0x58, 0x7f, 0x9e,
+ 0x2f, 0x0b, 0xab, 0xa4, 0x89, 0x4d, 0x4d, 0x05, 0x1c, 0xf7,
+ 0xd8, 0x63, 0xf6, 0xf7, 0xaa, 0x12, 0x8c, 0xc7, 0x33, 0xbb,
+ 0x85, 0x77, 0x77, 0x78, 0xe3, 0x1f, 0x11, 0x61, 0x07, 0x1f,
+ 0x2b, 0x73, 0xfd, 0xda, 0x6b, 0x21, 0x14, 0x4e, 0x4e, 0x87,
+ 0xc2, 0xfb, 0x98, 0x06, 0xd0, 0xfb, 0x40, 0xa3, 0x93, 0x27,
+ 0xcc, 0xa9, 0x51, 0x1f, 0x1f, 0x23, 0x0a, 0x7c, 0x44, 0x47,
+ 0x1c, 0x7c, 0xac, 0x0f, 0x72, 0xee, 0x90, 0x96, 0x84, 0x93,
+ 0x93, 0x02, 0x67, 0x09, 0x70, 0x3e, 0xdd, 0x09, 0x44, 0xb5,
+ 0x86, 0xa8, 0xd0, 0x54, 0x4e, 0x92, 0x92, 0x7c, 0x2d, 0x0d,
+ 0xf1, 0x1d, 0x7e, 0x0d, 0xa3, 0xda, 0x32, 0x49, 0xac, 0x0a,
+ 0xfe, 0xff, 0xff, 0x62, 0x65, 0x7a, 0x64, 0x94, 0x0f, 0x7a,
+ 0xd9, 0xb6, 0x9c, 0x9e, 0xbf, 0xd0, 0x1e, 0x69, 0x69, 0x25,
+ 0xa3, 0x67, 0xd4, 0x05, 0xb8, 0x67, 0x60, 0x13, 0x3b, 0xd5,
+ 0xda, 0x6e, 0xe4, 0x80, 0x80, 0x6c, 0x93, 0x45, 0xf7, 0x2e,
+ 0x59, 0x45, 0xc6, 0x3b, 0x88, 0x40, 0xa7, 0x88, 0x45, 0x51,
+ 0x51, 0xa4, 0xc8, 0x87, 0xdc, 0x41, 0xcc, 0x87, 0xec, 0xac,
+ 0xe1, 0xc9, 0x5e, 0x8c, 0xf7, 0x37, 0x37, 0x4e, 0x4b, 0xdc,
+ 0x8b, 0x76, 0xca, 0xdc, 0x48, 0x8f, 0xb9, 0xfa, 0x98, 0x1f,
+ 0x0c, 0x3a, 0x3a, 0x7d, 0xff, 0xe8, 0xc9, 0x02, 0xf1, 0xe8,
+ 0x81, 0x61, 0x71, 0x1d, 0x7a, 0x48, 0xd6, 0x63, 0x63, 0xaf,
+ 0x22, 0x4f, 0x97, 0x98, 0x6c, 0x4f, 0x59, 0x33, 0x79, 0xd0,
+ 0x13, 0xda, 0xe0, 0x96, 0x96, 0x47, 0xc6, 0x1d, 0xb0, 0x91,
+ 0xb7, 0x1d, 0xb9, 0xa5, 0xa7, 0x4b, 0x6a, 0x99, 0x05, 0xf2,
+ 0xf2, 0x51, 0xd1, 0x4e, 0x26, 0xe0, 0x34, 0x4e, 0x10, 0x58,
+ 0x54, 0x79, 0x40, 0xc2, 0xca, 0x01, 0x01, 0x7e, 0x4a, 0x04,
+ 0x81, 0x23, 0xa3, 0x04, 0xe7, 0x6f, 0xb4, 0xe1, 0xa8, 0xaf,
+ 0xba, 0x4a, 0x4a, 0xbc, 0x29, 0xeb, 0xd9, 0x8a, 0x19, 0xeb,
+ 0x5a, 0xdc, 0x06, 0x25, 0x5b, 0x91, 0xa2, 0x3e, 0x3e, 0x46,
+ 0x14, 0xf8, 0x88, 0x8e, 0x38, 0xf8, 0x9b, 0x1e, 0xe4, 0x1f,
+ 0xeb, 0x66, 0x43, 0x4c, 0x4c, 0x7b, 0x56, 0xf3, 0x59, 0x40,
+ 0x55, 0xf3, 0x4d, 0x7d, 0x38, 0x26, 0x66, 0xb5, 0xc9, 0xee,
+ 0xee, 0xf0, 0x05, 0x3e, 0x22, 0xc2, 0x0e, 0x3e, 0x56, 0xe6,
+ 0x39, 0x77, 0x56, 0x05, 0x7f, 0x9e, 0x9e, 0x31, 0xd3, 0x3d,
+ 0x32, 0x4a, 0xe6, 0x3d, 0x8d, 0x5b, 0x4e, 0x4f, 0x81, 0xff,
+ 0x46, 0xbe, 0xbe, 0x2a, 0x87, 0xbd, 0x7f, 0xa0, 0x61, 0xbd,
+ 0x5d, 0x25, 0x6c, 0x5f, 0x77, 0xdc, 0x0b, 0xc3, 0xc3, 0xd8,
+ 0xe5, 0x8a, 0x2d, 0x5c, 0xb2, 0x8a, 0x4f, 0x76, 0xd3, 0x80,
+ 0x57, 0xbd, 0x6e, 0x22, 0x22, 0xe7, 0xc0, 0x88, 0x8c, 0xac,
+ 0x02, 0x88, 0xdd, 0xa0, 0x89, 0x11, 0x4e, 0x5d, 0x24, 0xa6,
+ 0xa6, 0xb0, 0xb8, 0xdd, 0x3a, 0x0e, 0x92, 0xdd, 0x01, 0xe4,
+ 0x94, 0x53, 0x8d, 0xd3, 0x8a, 0xa2, 0xa2, 0x8b, 0x53, 0xcd,
+ 0x7b, 0x82, 0x5b, 0xcd, 0x1b, 0x9b, 0x01, 0x51, 0xb0, 0xf7,
+ 0xe1, 0x72, 0x72, 0x3d, 0x42, 0x0b, 0xd1, 0xce, 0x6d, 0x0b,
+ 0xd6, 0x63, 0xdc, 0x39, 0xf3, 0x3e, 0x18, 0x74, 0x74, 0xfa,
+ 0x3d, 0x13, 0x51, 0x04, 0x21, 0x13, 0xc1, 0xc2, 0xe2, 0x3a,
+ 0x94, 0x33, 0xc0, 0x26, 0x26, 0xdc, 0x2b, 0x98, 0xcd, 0x20,
+ 0xcb, 0x98, 0xc7, 0xdf, 0x1c, 0x13, 0x20, 0x61, 0x65, 0xe1,
+ 0xe1, 0x3f, 0x25, 0x02, 0xa1, 0xf0, 0xb0, 0x02, 0x92, 0xd6,
+ 0x5a, 0x91, 0x24, 0xc4, 0x21, 0x54, 0x54, 0xe1, 0x69, 0x93,
+ 0x1c, 0xee, 0xa6, 0x93, 0x11, 0xbc, 0xc0, 0x2a, 0xd7, 0xfa,
+ 0x39, 0x20, 0x20, 0x1b, 0x54, 0x80, 0x4d, 0xea, 0x87, 0x80,
+ 0xd0, 0x7e, 0x22, 0x10, 0x14, 0x74, 0x97, 0x24, 0x24, 0x20,
+ 0xbf, 0x90, 0x0c, 0x66, 0x4e, 0x90, 0xca, 0x01, 0xb7, 0x12,
+ 0x9e, 0x09, 0x6a, 0x34, 0x34, 0xcc, 0x95, 0xd0, 0xcb, 0x13,
+ 0xec, 0xd0, 0xa2, 0x3e, 0xa6, 0x1a, 0x05, 0x1d, 0x55, 0x09,
+ 0x09, 0x08, 0x5f, 0x24, 0x03, 0xf8, 0xf2, 0x24, 0xd3, 0x91,
+ 0x5d, 0xe5, 0xc6, 0x93, 0xfb, 0x0d, 0x0d, 0x33, 0xb4, 0x34,
+ 0x42, 0x74, 0x3b, 0x34, 0xc9, 0xee, 0xc8, 0xe7, 0xed, 0x70,
+ 0x25, 0x42, 0x42, 0xca, 0x3c, 0xcb, 0x5b, 0x51, 0x48, 0xcb,
+ 0x6e, 0x22, 0xef, 0x21, 0xc8, 0x0c, 0x15, 0xaa, 0xaa, 0xfd,
+ 0x46, 0xed, 0xf9, 0x59, 0x0a, 0xed, 0x2f, 0x65, 0xe8, 0x55,
+ 0x9b, 0x14, 0x3f, 0x3d, 0x3d, 0xc4, 0xca, 0xf4, 0xc8, 0xeb,
+ 0x1e, 0xf4, 0x71, 0xaf, 0xfb, 0xff, 0xbd, 0x63, 0x3c, 0xd2,
+ 0xd2, 0x4a, 0x85, 0xce, 0x6b, 0x0a, 0xb3, 0xce, 0xc0, 0x26,
+ 0x76, 0x69, 0x84, 0xe2, 0x13, 0xb7, 0xb7, 0x22, 0xd8, 0x99,
+ 0x7c, 0x58, 0x93, 0x99, 0x8e, 0xb4, 0x31, 0xba, 0xc3, 0x8e,
+ 0xae, 0x04, 0x04, 0x3b, 0xeb, 0x10, 0x41, 0x8c, 0xc9, 0x10,
+ 0x1a, 0x7f, 0x95, 0x02, 0xca, 0xbf, 0x37, 0x11, 0x11, 0x92,
+ 0x60, 0x44, 0x46, 0x56, 0x01, 0x44, 0x8f, 0x50, 0xa5, 0xe9,
+ 0x8a, 0x7d, 0xfd, 0x10, 0x10, 0xec, 0x2a, 0x40, 0xc7, 0x75,
+ 0xa2, 0x40, 0x68, 0x3f, 0x11, 0x08, 0x34, 0x15, 0xf2, 0xc5,
+ 0xc5, 0x1f, 0x9a, 0x92, 0xad, 0x96, 0xfe, 0x92, 0x58, 0xd7,
+ 0xed, 0x83, 0x26, 0x77, 0x03, 0xef, 0xef, 0x8e, 0x4f, 0x3a,
+ 0xa3, 0xe1, 0xad, 0x3a, 0xb1, 0x89, 0x8d, 0x96, 0x10, 0xd1,
+ 0xd3, 0x91, 0x91, 0xfe, 0xf3, 0x01, 0xb1, 0x78, 0x58, 0x01,
+ 0x49, 0x6b, 0x2d, 0xa9, 0x25, 0x7c, 0x30, 0xe8, 0xe8, 0x37,
+ 0x7a, 0x26, 0xa2, 0x08, 0x42, 0x26, 0x41, 0x47, 0x07, 0x74,
+ 0xe3, 0xef, 0xcb, 0xe5, 0xe5, 0x04, 0xce, 0x12, 0xe0, 0x7c,
+ 0x79, 0x12, 0x88, 0xa9, 0xcf, 0x93, 0x63, 0xa8, 0x9c, 0xe7,
+ 0xe7, 0xf8, 0x5a, 0x1a, 0x21, 0x3a, 0xfc, 0x1a, 0x85, 0x77,
+ 0x64, 0x92, 0x0a, 0x3a, 0xaa, 0x12, 0x12, 0x10, 0xbe, 0x48,
+ 0x06, 0x33, 0x27, 0x48, 0x65, 0xe1, 0xba, 0x09, 0x4f, 0xe5,
+ 0x35, 0x1a, 0x1a, 0x66, 0xab, 0x68, 0x84, 0xe8, 0x76, 0x68,
+ 0x51, 0x1f, 0x53, 0x0d, 0x8b, 0xc5, 0xec, 0xac, 0xac, 0x3a,
+ 0x39, 0xf5, 0x79, 0x93, 0x46, 0xf5, 0x38, 0xc4, 0xd6, 0x56,
+ 0xc7, 0x2b, 0xea, 0xb1, 0xb1, 0xe5, 0xa7, 0x81, 0xfc, 0x92,
+ 0xdf, 0x81, 0x99, 0x15, 0x0f, 0xb9, 0x67, 0x0d, 0xd8, 0x52,
+ 0x52, 0x26, 0x16, 0x8b, 0x9c, 0x24, 0xea, 0x8b, 0x06, 0x1d,
+ 0xfe, 0x29, 0x2d, 0xf5, 0xb8, 0x41, 0x41, 0x48, 0xe2, 0xc7,
+ 0x1b, 0x34, 0x6e, 0xc7, 0x84, 0x93, 0xf0, 0xc1, 0xfe, 0xaa,
+ 0xc5, 0xd4, 0xd4, 0x8d, 0xfa, 0xd6, 0xeb, 0xc0, 0xff, 0xd6,
+ 0xd7, 0x87, 0x48, 0x6a, 0x45, 0xdf, 0x9f, 0x08, 0x08, 0x76,
+ 0x15, 0x20, 0x82, 0xdb, 0x51, 0x20, 0x34, 0xfe, 0xe9, 0x04,
+ 0xa0, 0x26, 0x32, 0xe3, 0xe3, 0xc3, 0xb1, 0x0a, 0x60, 0xb6,
+ 0x35, 0x0a, 0x9f, 0x08, 0xf1, 0x90, 0x80, 0x47, 0x57, 0x02,
+ 0x02, 0xfc, 0x94, 0x08, 0xc1, 0x46, 0x85, 0x08, 0x0d, 0xde,
+ 0xab, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0xf8,
+ 0x60, 0x13, 0x13, 0x6e, 0xf4, 0x4c, 0x87, 0x10, 0x84, 0x4c,
+ 0x82, 0x8e, 0x0e, 0xe8, 0xee, 0x7b, 0x16, 0x45, 0x45, 0x73,
+ 0x09, 0xd7, 0x5a, 0xb8, 0xa7, 0xd7, 0x9e, 0xec, 0x65, 0xc3,
+ 0x4c, 0xee, 0x06, 0x1d, 0x1d, 0xdf, 0x9e, 0x74, 0x85, 0x01,
+ 0x99, 0x74, 0xa1, 0xd1, 0xd9, 0xef,
+ },
+ {
+ /* 5 */
+ 0xd8, 0xca, 0x20, 0x18, 0xa6, 0x5b, 0x9c, 0xaf, 0x78, 0xd9,
+ 0x1d, 0x80, 0x8c, 0x85, 0x3b, 0x8c, 0x69, 0x10, 0x51, 0x4c,
+ 0xc5, 0x06, 0x68, 0x18, 0xbf, 0x31, 0xb7, 0x87, 0xa1, 0x7c,
+ 0xf5, 0xa1, 0xc0, 0xd0, 0x1b, 0x9a, 0xb0, 0x2e, 0xcd, 0xb8,
+ 0xb7, 0xbe, 0xdf, 0x6c, 0x21, 0x29, 0x03, 0x21, 0xba, 0xff,
+ 0xe6, 0xab, 0xa2, 0x89, 0xd9, 0x61, 0x42, 0xa1, 0xdc, 0x1e,
+ 0xaa, 0x69, 0x60, 0xaa, 0x16, 0x4a, 0xed, 0x3d, 0x41, 0x6b,
+ 0x5a, 0x6f, 0xc9, 0x92, 0xec, 0x32, 0xcd, 0xe3, 0x9f, 0xcd,
+ 0x87, 0x09, 0x79, 0x52, 0xab, 0x3b, 0xd3, 0xec, 0xd9, 0x4f,
+ 0x3c, 0x27, 0x0e, 0x49, 0xb0, 0x0e, 0x58, 0xeb, 0x32, 0xf4,
+ 0xc7, 0x6f, 0xab, 0x7f, 0xa2, 0x0d, 0x36, 0xc8, 0xb2, 0x0a,
+ 0x39, 0xb2, 0x59, 0x24, 0x27, 0x8b, 0xe9, 0xec, 0xca, 0x36,
+ 0xe2, 0xff, 0xf0, 0x9c, 0x38, 0xe7, 0x85, 0x38, 0xc4, 0x6a,
+ 0x4f, 0xa5, 0x08, 0x67, 0x8a, 0x5f, 0x74, 0xf0, 0x41, 0xff,
+ 0x4c, 0x1b, 0xb6, 0x4c, 0x6a, 0x82, 0x6e, 0xcd, 0xb7, 0x40,
+ 0xcb, 0xc3, 0x7f, 0xe4, 0x3e, 0x7b, 0xfc, 0x88, 0xf2, 0xfc,
+ 0x05, 0x75, 0x41, 0x40, 0x96, 0xca, 0x26, 0xae, 0x83, 0xbc,
+ 0x58, 0xc7, 0xe7, 0xdf, 0x09, 0xe7, 0x9a, 0x66, 0x03, 0x90,
+ 0x2b, 0x84, 0xa4, 0x55, 0x95, 0x94, 0xa6, 0x0c, 0x44, 0x3a,
+ 0x81, 0x44, 0x06, 0xe7, 0x7e, 0xc1, 0xe4, 0x8c, 0x85, 0x75,
+ 0x43, 0x69, 0xd1, 0x3b, 0xba, 0x2b, 0x0e, 0xba, 0xa6, 0x5f,
+ 0x89, 0x16, 0x0c, 0xb5, 0xcf, 0x91, 0x4e, 0x88, 0x80, 0x61,
+ 0x6a, 0xf7, 0xed, 0x6a, 0x0d, 0xc2, 0xe9, 0x3e, 0x25, 0x58,
+ 0xa8, 0xa3, 0xc6, 0x20, 0xa7, 0x22, 0x3d, 0xbb, 0xa0, 0x3d,
+ 0xd1, 0xb2, 0x9d, 0x19, 0x3b, 0x4a, 0x73, 0xeb, 0x7d, 0xb7,
+ 0x24, 0x31, 0xdc, 0x0c, 0x2e, 0xdc, 0x43, 0x63, 0x36, 0xf7,
+ 0xa3, 0x5c, 0x59, 0xb3, 0xad, 0xbf, 0x7d, 0xd8, 0x42, 0x52,
+ 0x06, 0x42, 0x85, 0x54, 0x53, 0xac, 0xf7, 0xfe, 0x11, 0x7e,
+ 0x59, 0x68, 0x73, 0x8f, 0xd9, 0x50, 0x0b, 0xd9, 0x41, 0x3e,
+ 0x1c, 0x09, 0xff, 0x99, 0x9b, 0x21, 0x2d, 0x98, 0x32, 0x70,
+ 0x95, 0x4b, 0xbd, 0x95, 0xd2, 0x20, 0xa2, 0x98, 0x49, 0x0c,
+ 0xd0, 0x30, 0xbd, 0x62, 0xad, 0xcd, 0x81, 0xf8, 0x29, 0x81,
+ 0x2c, 0x94, 0x19, 0x7a, 0x82, 0xd6, 0xb4, 0xde, 0x51, 0xe7,
+ 0x1b, 0x64, 0x59, 0x05, 0xfd, 0x59, 0xcd, 0x12, 0xf2, 0xa4,
+ 0x95, 0x76, 0x65, 0x1b, 0x71, 0x9e, 0x78, 0x4e, 0x1c, 0x92,
+ 0xa3, 0x1c, 0x0b, 0x25, 0x97, 0xff, 0xc1, 0xd4, 0x2d, 0xd6,
+ 0x85, 0x49, 0x76, 0x19, 0x87, 0x90, 0xae, 0x87, 0xa2, 0xe5,
+ 0xdd, 0x29, 0xb4, 0xfc, 0x88, 0x76, 0x8d, 0xc6, 0x1e, 0xf2,
+ 0x07, 0xc5, 0x58, 0x07, 0x38, 0x83, 0xde, 0xb9, 0x9f, 0x78,
+ 0x2c, 0x23, 0x18, 0x52, 0xb8, 0xfe, 0x43, 0xff, 0xd9, 0x43,
+ 0xf7, 0xcc, 0x06, 0xe3, 0x56, 0xcb, 0x8b, 0xaa, 0xe9, 0xeb,
+ 0x8f, 0x18, 0x88, 0x74, 0xc1, 0x88, 0x4b, 0xd4, 0x9e, 0x89,
+ 0x10, 0xce, 0xd7, 0xbe, 0xe8, 0x23, 0x82, 0x3d, 0x98, 0x36,
+ 0xaf, 0x98, 0xe6, 0xae, 0x80, 0x60, 0xdd, 0xaf, 0x35, 0xf9,
+ 0x23, 0xe2, 0x74, 0x45, 0x75, 0x51, 0xec, 0x75, 0xe7, 0x61,
+ 0x95, 0x1f, 0xf3, 0x2c, 0x54, 0xb0, 0x63, 0x10, 0xb2, 0x11,
+ 0xff, 0xbc, 0x50, 0xff, 0x90, 0x8c, 0x81, 0x10, 0xc4, 0xd3,
+ 0xe8, 0xca, 0x50, 0x2f, 0x16, 0x41, 0x49, 0x47, 0x93, 0x49,
+ 0x1a, 0x47, 0x11, 0x7c, 0x4a, 0xb0, 0x93, 0x85, 0x4f, 0x40,
+ 0x8d, 0x44, 0x7a, 0xb5, 0x83, 0x7a, 0x53, 0xce, 0xa5, 0x0b,
+ 0x06, 0xbb, 0x86, 0xa9, 0x27, 0x44, 0x40, 0xd1, 0x35, 0x9a,
+ 0x97, 0x35, 0xa3, 0x2a, 0xc8, 0x56, 0x9a, 0x7f, 0xe9, 0x3f,
+ 0xcd, 0x34, 0xd8, 0xa6, 0x8d, 0x28, 0xe4, 0x8d, 0xf1, 0x2b,
+ 0x78, 0x22, 0xb2, 0x47, 0x0e, 0xdf, 0xaa, 0x82, 0x5e, 0x23,
+ 0x32, 0x5f, 0xcf, 0x32, 0xfd, 0x26, 0x84, 0x63, 0xb9, 0x9c,
+ 0xc7, 0x35, 0x2c, 0x50, 0x3f, 0x55, 0x85, 0x09, 0xd3, 0x85,
+ 0x51, 0x93, 0x8f, 0xf5, 0x5a, 0x7e, 0x44, 0x3b, 0xa7, 0x63,
+ 0x0f, 0x79, 0xe2, 0x83, 0x2c, 0xe2, 0x29, 0xe1, 0x58, 0x3a,
+ 0x14, 0x1c, 0x92, 0x70, 0xd2, 0x5b, 0x43, 0xa3, 0xbe, 0xda,
+ 0xf4, 0xbe, 0x3b, 0x11, 0xe1, 0x38, 0xed, 0x3e, 0x8f, 0xf8,
+ 0xd8, 0x87, 0x31, 0x02, 0x1e, 0x0b, 0xde, 0x1e, 0x82, 0x7c,
+ 0x38, 0x12, 0x3d, 0xf1, 0xf5, 0x42, 0x5a, 0xf3, 0x64, 0xe0,
+ 0xe9, 0x96, 0xb9, 0xe9, 0x67, 0x40, 0x87, 0xf3, 0x92, 0x18,
+ 0x63, 0x60, 0xb9, 0xc4, 0x99, 0x59, 0xc1, 0x33, 0x52, 0xc1,
+ 0x8b, 0x04, 0x85, 0x13, 0xa0, 0xe0, 0x1a, 0x06, 0x5f, 0x9d,
+ 0x5d, 0x51, 0xb9, 0x1f, 0xac, 0xb9, 0x48, 0x46, 0xa1, 0x08,
+ 0x62, 0x88, 0x74, 0x65, 0x28, 0xf6, 0x0b, 0xc1, 0xc5, 0xc2,
+ 0xa8, 0xc5, 0x2a, 0x73, 0x67, 0xbb, 0x66, 0x5a, 0x31, 0xab,
+ 0x12, 0x8e, 0xca, 0x5f, 0xe3, 0x2e, 0xf3, 0xe3, 0xef, 0xd6,
+ 0x3d, 0x61, 0x40, 0xbe, 0xda, 0xbd, 0x26, 0x8c, 0x4d, 0xf4,
+ 0x25, 0xd8, 0xf9, 0x25, 0x70, 0xc5, 0x7f, 0xb1, 0xfd, 0xf0,
+ 0x58, 0x46, 0x30, 0xa4, 0xb3, 0x3f, 0x86, 0x3d, 0x71, 0x86,
+ 0x2d, 0x5b, 0x0c, 0x05, 0xac, 0x55, 0xd5, 0x97, 0x11, 0x15,
+ 0xdd, 0x30, 0xd3, 0xe8, 0x41, 0xd3, 0x31, 0xfb, 0x63, 0xb8,
+ 0x02, 0x69, 0xc3, 0x67, 0x1d, 0x3c, 0x81, 0x4f, 0x13, 0x76,
+ 0xcc, 0x13, 0xe2, 0x14, 0xd4, 0x5f, 0x65, 0xe6, 0x72, 0x1e,
+ 0xe0, 0xac, 0xea, 0xd6, 0x18, 0x63, 0x59, 0x18, 0x86, 0xc6,
+ 0x6c, 0x2d, 0x85, 0xb8, 0xb2, 0xa5, 0x99, 0xbd, 0xfa, 0x73,
+ 0x84, 0xa4, 0x0c, 0x84, 0xc9, 0xa8, 0xa6, 0x9b, 0x2d, 0x3f,
+ 0x22, 0xfc, 0xb2, 0xd0, 0xe6, 0xdd, 0x71, 0xa0, 0x16, 0x71,
+ 0xb0, 0x15, 0x64, 0x2b, 0x4d, 0xde, 0x95, 0xfe, 0x87, 0x1a,
+ 0x6c, 0x53, 0xa7, 0x14, 0x72, 0xa7, 0x80, 0x21, 0x12, 0xec,
+ 0x61, 0x34, 0x37, 0xd0, 0xda, 0xd4, 0x2b, 0x48, 0x3e, 0x8f,
+ 0x02, 0x3e, 0xf5, 0x91, 0x2c, 0x1d, 0x0a, 0x0e, 0x49, 0x38,
+ 0x69, 0xcc, 0xc0, 0xb0, 0x5f, 0x6d, 0x7a, 0x5f, 0xfc, 0xe9,
+ 0x91, 0x1c, 0x97, 0x1f, 0xa6, 0x7c, 0x6c, 0xa2, 0xf9, 0x01,
+ 0x0f, 0xe4, 0x6f, 0x0f, 0x60, 0x68, 0xec, 0x4d, 0x58, 0x17,
+ 0x87, 0x5c, 0xba, 0x5f, 0x8e, 0x36, 0xf1, 0xf5, 0xe0, 0xf1,
+ 0x44, 0x4b, 0x5d, 0x49, 0x69, 0x53, 0xbd, 0x8f, 0xae, 0x24,
+ 0x6a, 0xb7, 0x72, 0x94, 0xb4, 0x72, 0x0c, 0x0d, 0xfc, 0x41,
+ 0x0b, 0xdb, 0xc9, 0xea, 0x86, 0xd2, 0x61, 0x76, 0xb7, 0x56,
+ 0x1c, 0xb7, 0x8f, 0xbe, 0xd1, 0x2c, 0x18, 0xa9, 0x5d, 0xe1,
+ 0x9c, 0xd3, 0xc3, 0xc2, 0xd4, 0x2d, 0x19, 0xd4, 0xa4, 0x02,
+ 0xa3, 0xe8, 0x50, 0x70, 0x0d, 0x03, 0xce, 0xaf, 0xcf, 0xc9,
+ 0xbd, 0xee, 0x56, 0xbd, 0x3d, 0xf6, 0x9f, 0xf9, 0x09, 0xb2,
+ 0x0a, 0x8d, 0x9b, 0xee, 0xe0, 0x39, 0xa4, 0x20, 0xd0, 0xa4,
+ 0x62, 0x35, 0xc6, 0xb3, 0x04, 0xd2, 0x45, 0xce, 0x3a, 0x78,
+ 0xc1, 0x9e, 0x26, 0xec, 0x5b, 0x26, 0x35, 0x41, 0x37, 0x87,
+ 0xba, 0x20, 0x84, 0x80, 0xde, 0x72, 0x1f, 0xdc, 0x7e, 0x44,
+ 0x79, 0x7e, 0xe0, 0x49, 0xfe, 0xa1, 0x39, 0x23, 0xb0, 0x8c,
+ 0x60, 0x8b, 0xa5, 0x7e, 0xcf, 0x7a, 0xe2, 0xcf, 0x68, 0xdf,
+ 0x44, 0x33, 0xeb, 0x85, 0x09, 0x51, 0xff, 0xc3, 0x71, 0xd3,
+ 0x2b, 0x91, 0x49, 0x2b, 0xdc, 0x70, 0x74, 0x27, 0x1e, 0x12,
+ 0xdb, 0x48, 0xbb, 0x97, 0x83, 0x13, 0xe1, 0xb7, 0x8e, 0xe1,
+ 0x40, 0xf1, 0x09, 0x76, 0xd1, 0x1a, 0xfa, 0x68, 0x6d, 0x6a,
+ 0xf4, 0x24, 0x1f, 0xa6, 0x01, 0x1f, 0xa0, 0xb8, 0xf7, 0xd7,
+ 0xe8, 0x39, 0x4a, 0xe4, 0x0d, 0xe1, 0x51, 0x5a, 0xd0, 0xdc,
+ 0xe3, 0xd0, 0xa7, 0x90, 0x9c, 0x69, 0x22, 0x36, 0xae, 0xd8,
+ 0x0e, 0x7a, 0x46, 0x35, 0xe0, 0x1a, 0x51, 0xe0, 0x9f, 0x13,
+ 0x42, 0xd0, 0xbd, 0x4e, 0x82, 0xfb, 0x16, 0x28, 0xfe, 0xcb,
+ 0xa3, 0xe5, 0x88, 0xa3, 0x2b, 0xbc, 0x72, 0xc4, 0x48, 0xd9,
+ 0x50, 0xe2, 0x52, 0x7c, 0x0c, 0x0b, 0x69, 0xc3, 0x4f, 0x69,
+ 0xae, 0xe8, 0x21, 0x68, 0xbf, 0x27, 0x41, 0x9c, 0x0b, 0x14,
+ 0x7f, 0x84, 0xb0, 0x93, 0x44, 0xb0, 0x10, 0xad, 0x93, 0xfc,
+ 0xa5, 0xe7, 0xdf, 0x1a, 0x8a, 0xfb, 0x3d, 0x09, 0x77, 0xc8,
+ 0x91, 0x77, 0xfe, 0xb4, 0xbb, 0xe2, 0xcb, 0xda, 0x64, 0xee,
+ 0xec, 0x85, 0xb6, 0xa9, 0xd8, 0xfd, 0xd4, 0xd8, 0xa1, 0x77,
+ 0xe2, 0xa8, 0xc6, 0xba, 0x2b, 0xad, 0x4d, 0x13, 0x97, 0x0e,
+ 0x5a, 0x31, 0x5f, 0x5a, 0xc7, 0xf8, 0x70, 0x24, 0x7a, 0x21,
+ 0x29, 0x84, 0xb4, 0x25, 0xc8, 0x03, 0x11, 0xef, 0xb1, 0x11,
+ 0x4d, 0x33, 0xe0, 0x48, 0xf4, 0x42, 0x52, 0xcb, 0xab, 0x4a,
+ 0x53, 0x06, 0x22, 0x1d, 0xa1, 0x22, 0xaa, 0x52, 0x75, 0x57,
+ 0x07, 0x6e, 0x06, 0x7b, 0xc8, 0x5a, 0xe1, 0x17, 0xdd, 0xa1,
+ 0xf1, 0xdd, 0xd4, 0xc7, 0xdc, 0x59, 0xad, 0x80, 0x55, 0x45,
+ 0xfe, 0x0b, 0x7c, 0xf6, 0x3b, 0xd3, 0x27, 0x3b, 0x42, 0xac,
+ 0x23, 0x88, 0x8d, 0xdf, 0x38, 0xfa, 0xed, 0x4d, 0xbb, 0x8c,
+ 0xc8, 0xbf, 0xba, 0xc8, 0x2e, 0xc9, 0x33, 0x84, 0xde, 0x13,
+ 0x76, 0x4c, 0xd1, 0xc0, 0x54, 0xcc, 0x8e, 0x1c, 0x46, 0x8e,
+ 0x49, 0x89, 0xb4, 0x77, 0x4c, 0x0b, 0x15, 0x2c, 0x68, 0x04,
+ 0xcd, 0x95, 0x4f, 0x2f, 0x14, 0x4f, 0xb2, 0x48, 0x4e, 0xd5,
+ 0x11, 0x1b, 0x57, 0x6c, 0x07, 0x3d, 0x23, 0xfb, 0x70, 0x0d,
+ 0xc9, 0x70, 0x77, 0xed, 0x14, 0x0f, 0x37, 0xff, 0xbc, 0x7a,
+ 0x33, 0x3f, 0xa4, 0x50, 0xb6, 0xfb, 0xc3, 0xb6, 0x39, 0x4c,
+ 0xcb, 0xc6, 0xb1, 0xfb, 0x4d, 0x6a, 0x58, 0xa0, 0x7e, 0xaa,
+ 0xc9, 0x12, 0x65, 0xc9, 0xad, 0x7a, 0x1e, 0xe9, 0xcd, 0x61,
+ 0xe2, 0x47, 0xcb, 0xc1, 0xf6, 0x78, 0xed, 0x67, 0x43, 0xed,
+ 0x20, 0x99, 0xe5, 0x3b, 0x89, 0x0d, 0x7d, 0x34, 0xd7, 0x35,
+ 0x7a, 0x12, 0xee, 0x53, 0xe1, 0xee, 0xcf, 0x4f, 0xd8, 0x5a,
+ 0xc9, 0xb3, 0xa7, 0x89, 0xf1, 0xb9, 0x37, 0xe6, 0xcb, 0x8b,
+ 0x18, 0xcb, 0x64, 0xd2, 0xb8, 0x72, 0xe0, 0x5e, 0xc0, 0xbb,
+ 0x79, 0x11, 0x10, 0xa5, 0x9c, 0xc7, 0x55, 0x9c, 0x9b, 0xa9,
+ 0x16, 0xef, 0x05, 0x07, 0xc5, 0x1c, 0xd5, 0x66, 0x60, 0x58,
+ 0xce, 0xd7, 0x3d, 0xce, 0xde, 0x2d, 0x5e, 0xd9, 0x42, 0xd7,
+ 0x19, 0xda, 0x3b, 0xb0, 0xcc, 0xbb, 0x36, 0xae, 0x35, 0x36,
+ 0x7f, 0x5a, 0xbc, 0x71, 0x84, 0x6d, 0x32, 0x77, 0x76, 0xa3,
+ 0x5b, 0xb5, 0x6c, 0x9f, 0x6a, 0x6c, 0xa8, 0x0f, 0x5f, 0xa9,
+ 0x5b, 0xab, 0xc4, 0xe9, 0x48, 0x7d, 0xae, 0xbf, 0x0a, 0xb8,
+ 0x4a, 0x0a, 0xb6, 0xf2, 0x1a, 0xea, 0xa9, 0x52, 0x10, 0x8b,
+ 0xc4, 0x73, 0xbd, 0x68, 0x1d, 0x3f, 0x7c, 0x1d, 0x5c, 0x51,
+ 0x66, 0xcb, 0x7f, 0x26, 0xec, 0x98, 0x61, 0x43, 0xa8, 0x5b,
+ 0xdf, 0x38, 0x8c, 0xdf, 0xa5, 0xcd, 0xb6, 0x97, 0x7e, 0xf3,
+ 0x6c, 0x4a, 0x8e, 0x5d, 0x09, 0x9d, 0x37, 0x03, 0xea, 0x37,
+ 0x6b, 0x4d, 0x7b, 0xb2, 0x99, 0xc3, 0xaa, 0x8a, 0x3f, 0x16,
+ 0xf8, 0x2f, 0x76, 0x65, 0x4e, 0x76, 0xd3, 0xef, 0xb7, 0xe7,
+ 0x67, 0x8f, 0xb1, 0x79, 0xfd, 0x90, 0x6b, 0x99, 0x0b, 0x15,
+ 0x95, 0x0b, 0xf0, 0xe4, 0x6d, 0x5d, 0x9c, 0xc4, 0x6f, 0x96,
+ 0xea, 0x70, 0x98, 0x77, 0xb8, 0xb2, 0x73, 0xb8, 0x5d, 0x9e,
+ 0x73, 0xb4, 0x51, 0xa5, 0x8d, 0xd1, 0x21, 0xb1, 0x6e, 0x0f,
+ 0x55, 0xd5, 0x30, 0x55, 0xc8, 0x67, 0xb3, 0xe4, 0x03, 0xbc,
+ 0x43, 0xb5, 0xf2, 0x22, 0x20, 0x89, 0xfb, 0x4d, 0xaa, 0xfb,
+ 0xc5, 0xa5, 0x5a, 0xda, 0x26, 0xe4, 0xeb, 0x16, 0x34, 0x02,
+ 0x87, 0xab, 0xc6, 0xf6, 0x0a, 0xc6, 0xbd, 0xd7, 0x8d, 0x15,
+ 0x68, 0x86, 0x3d, 0x5d, 0x41, 0x3a, 0xcb, 0x71, 0x9a, 0xaf,
+ 0xd2, 0x9a, 0xc3, 0x42, 0x24, 0x1b, 0xc2, 0x68, 0x6e, 0x63,
+ 0x77, 0x6b, 0x56, 0x90, 0x7c, 0xdd, 0x04, 0x7c, 0xe4, 0xf3,
+ 0xaa, 0x9e, 0x81, 0x6a, 0xf7, 0x6b, 0xa3, 0xc5, 0x3b, 0xed,
+ 0xa2, 0x48, 0x57, 0xa2, 0xaf, 0x27, 0x34, 0x17, 0x91, 0xa4,
+ 0x20, 0xd5, 0x4b, 0xe6, 0xb9, 0xd0, 0x3a, 0x7e, 0xf8, 0x3a,
+ 0xb8, 0xa2, 0xcc, 0x55, 0xfe, 0x4c, 0x1b, 0xf3, 0xc2, 0x86,
+ 0x93, 0xb6, 0x7d, 0x70, 0xdb, 0x7d, 0xcb, 0xf5, 0x8c, 0x65,
+ 0x71, 0xfa, 0xe0, 0x6e, 0x32, 0xf7, 0xa9, 0x75, 0xa6, 0xb9,
+ 0xad, 0xa6, 0xc1, 0x1f, 0x0e, 0xe5, 0x9e, 0xad, 0xac, 0xf1,
+ 0xf7, 0x4c, 0x19, 0x38, 0xab, 0xc4, 0xbf, 0xab, 0xb5, 0x60,
+ 0x25, 0x6b, 0xdb, 0x14, 0xb3, 0x50, 0x04, 0xa6, 0x34, 0x94,
+ 0x40, 0xcb, 0x7b, 0x40, 0x6f, 0xf7, 0x2f, 0x8d, 0x21, 0x8a,
+ 0xed, 0x6d, 0xfc, 0x58, 0x66, 0xbc, 0x1b, 0x57, 0xfb, 0x1b,
+ 0x4c, 0xfc, 0xf5, 0x37, 0xda, 0xc1, 0x33, 0x82, 0xeb, 0xb8,
+ 0x95, 0x52, 0xa8, 0xf0, 0x1d, 0xa8, 0x97, 0xa4, 0xea, 0xae,
+ 0x0e, 0xdc, 0x0c, 0xf6, 0x53, 0xb4, 0x01, 0x2e, 0x79, 0x81,
+ 0x21, 0x79, 0x88, 0x96, 0xba, 0x92, 0xd2, 0xa6, 0xb9, 0xdd,
+ 0x9f, 0x48, 0xd4, 0xad, 0xe4, 0xeb, 0xab, 0xe4, 0x61, 0xa7,
+ 0xf9, 0x32, 0x76, 0x94, 0xe6, 0x15, 0xfa, 0xad, 0x48, 0x62,
+ 0x7b, 0x18, 0x5c, 0x7b, 0x57, 0x74, 0xf1, 0x34, 0xbe, 0xf2,
+ 0xc1, 0x4e, 0xe4, 0x0a, 0xde, 0x42, 0x58, 0xa8, 0x22, 0x58,
+ 0x11, 0x62, 0x86, 0x83, 0x8b, 0x64, 0xbe, 0x53, 0xca, 0x09,
+ 0xfb, 0x5d, 0xfd, 0x25, 0x2d, 0xfd, 0x99, 0xf4, 0x3c, 0x11,
+ 0x59, 0xc2, 0x07, 0x8e, 0x55, 0x41, 0x2f, 0xf0, 0x19, 0xce,
+ 0x86, 0x19, 0x72, 0x98, 0x55, 0x4f, 0xa1, 0x35, 0x9a, 0xd4,
+ 0xb0, 0x83, 0xfc, 0x97, 0x51, 0x24, 0xca, 0x51, 0x83, 0xb3,
+ 0x2d, 0x6d, 0x13, 0x72, 0x94, 0x0b, 0x1a, 0x01, 0xa2, 0xb4,
+ 0x63, 0x7b, 0x05, 0x63, 0xbf, 0x8a, 0xa7, 0xeb, 0x34, 0x43,
+ 0xff, 0xcf, 0xc1, 0x1d, 0x84, 0xd9, 0x4d, 0xb6, 0x69, 0x4d,
+ 0x55, 0x29, 0xdb, 0xca, 0xe2, 0x37, 0x03, 0xdc, 0x64, 0x2d,
+ 0x91, 0xea, 0x8f, 0xb1, 0x99, 0x8f, 0x73, 0x57, 0x40, 0x30,
+ 0x8f, 0xb6, 0xfb, 0x9d, 0xf0, 0x71, 0x3a, 0xc3, 0xdb, 0xc9,
+ 0x76, 0xdb, 0x9d, 0x4e, 0x68, 0x2e, 0xe1, 0x8b, 0x40, 0x69,
+ 0x96, 0x0f, 0xb1, 0x63, 0x74, 0xfc, 0x33, 0x74, 0x81, 0xee,
+ 0x07, 0x93, 0x4f, 0xb7, 0x56, 0x99, 0x9a, 0x26, 0xed, 0x1c,
+ 0xb4, 0x62, 0xbe, 0xb4, 0x3f, 0xab, 0xb5, 0x07, 0x55, 0x77,
+ 0xc8, 0x1f, 0x1b, 0xc9, 0xaf, 0x91, 0x73, 0x39, 0x6b, 0x73,
+ 0xb3, 0x87, 0x5b, 0xaa, 0x3f, 0x98, 0x36, 0x25, 0x47, 0xcf,
+ 0xe5, 0xaf, 0xfa, 0xe0, 0x75, 0xfa, 0xbb, 0x30, 0xf3, 0xd4,
+ 0x8c, 0x0a, 0xb8, 0x28, 0x02, 0x53, 0x1a, 0x4a, 0x20, 0x84,
+ 0xdc, 0x20, 0xd6, 0x9a, 0xf6, 0xa7, 0xf1, 0x45, 0x97, 0xd7,
+ 0x7e, 0x2c, 0x33, 0x5e, 0xec, 0xca, 0x9c, 0xec, 0xea, 0xa3,
+ 0x7c, 0x21, 0xd6, 0x74, 0xfc, 0x13, 0xa5, 0x30, 0x15, 0x33,
+ 0xc2, 0x07, 0xf0, 0xc2, 0x25, 0xec, 0xa4, 0x7b, 0x1f, 0xc7,
+ 0x5b, 0x9a, 0x54, 0x89, 0x22, 0xd5, 0x09, 0x8c, 0xe8, 0x09,
+ 0xce, 0x80, 0xcd, 0x25, 0xe7, 0x30, 0xc6, 0xc0, 0xb1, 0x4b,
+ 0xf1, 0xb2, 0x41, 0x66, 0xa4, 0x41, 0x63, 0xfa, 0xd3, 0xcc,
+ 0x2a, 0x51, 0x24, 0x87, 0x7a, 0x8a, 0x07, 0xca, 0xac, 0x01,
+ 0xe7, 0xac, 0x45, 0x84, 0x48, 0x36, 0x47, 0xd0, 0xdc, 0xc6,
+ 0xee, 0xd6, 0xac, 0xe3, 0xf8, 0x79, 0x08, 0xf8, 0x32, 0x69,
+ 0x5c, 0x39, 0x70, 0x2f, 0x60, 0xbc, 0xdd, 0xe9, 0x08, 0xb3,
+ 0x4e, 0x82, 0xcb, 0x4e, 0xd7, 0x55, 0xe3, 0xd8, 0xdf, 0xc6,
+ 0xf6, 0x9e, 0x3e, 0xde, 0xf5, 0x0a, 0x66, 0x27, 0x20, 0x66,
+ 0x9e, 0xdc, 0x57, 0xaf, 0x93, 0xcd, 0xe3, 0xb2, 0x56, 0xda,
+ 0x38, 0x9f, 0x29, 0x08, 0x34, 0x29, 0x08, 0xb7, 0xa8, 0x7e,
+ 0xb3, 0x92, 0x8e, 0x0d, 0x45, 0x9c, 0xff, 0xe5, 0xda, 0x64,
+ 0xa9, 0xda, 0x8d, 0xe3, 0xfb, 0xd2, 0x44, 0x6c, 0x9f, 0x73,
+ 0x1c, 0xf4, 0x8c, 0x6a, 0x03, 0x34, 0xa2, 0x03, 0x79, 0xbd,
+ 0xc2, 0xb0, 0x60, 0xe1, 0xb7, 0x02, 0x35, 0xca, 0x8a, 0x8e,
+ 0xd6, 0xb4, 0x64, 0xd6, 0xab, 0x9d, 0x60, 0x28, 0x29, 0xed,
+ 0x67, 0x32, 0x88, 0xa8, 0x27, 0x43, 0x57, 0x4c, 0x4d, 0x57,
+ 0x36, 0xd3, 0x08, 0x06, 0xc8, 0x66, 0x27, 0x5b, 0x1e, 0xa7,
+ 0x96, 0x20, 0x23, 0xb0, 0x7e, 0x23, 0xfb, 0xc1, 0xfa, 0xa2,
+ 0x5d, 0x10, 0x42, 0x40, 0x6f, 0x39, 0xee, 0x6e, 0x3f, 0x22,
+ 0xdd, 0x3f, 0xec, 0x44, 0x02, 0xe0, 0x32, 0xf8, 0x79, 0x66,
+ 0xe6, 0x59, 0xc4, 0x08, 0x78, 0x2c, 0xfe, 0x78, 0x4e, 0xa1,
+ 0xdf, 0xc9, 0x86, 0x04, 0xf1, 0x10, 0x6b, 0x9f, 0xda, 0xfa,
+ 0x7f, 0xe9, 0xa6, 0x7f, 0x7e, 0x95, 0xa9, 0x0e, 0xaa, 0xee,
+ 0x53, 0x3e, 0x36, 0x51, 0x9d, 0xe1, 0xe6, 0x72, 0xd6, 0xe6,
+ 0xd0, 0x7d, 0x88, 0x66, 0x15, 0xc9, 0x12, 0xa2, 0x3d, 0x45,
+ 0xe2, 0x65, 0x56, 0xe1, 0x92, 0x56, 0x6c, 0x65, 0x10, 0x0c,
+ 0x53, 0xcc, 0x4e, 0xb6, 0x3c, 0x8d, 0xef, 0x40, 0x46, 0xa3,
+ 0xfc, 0x46, 0xf3, 0x76, 0x52, 0xdc, 0xee, 0x82, 0xcc, 0x4d,
+ 0x2a, 0xa5, 0x11, 0x8b, 0xe5, 0x46, 0x74, 0xe5, 0x5f, 0xc3,
+ 0x59, 0x4a, 0x0d, 0x60, 0x4f, 0x43, 0xa1, 0x96, 0x21, 0xa7,
+ 0x82, 0xcc, 0x8b, 0x82, 0xff, 0x7b, 0xae, 0x9d, 0xe5, 0x59,
+ 0x05, 0xa7, 0xac, 0x77, 0x70, 0xfd, 0x52, 0x10, 0x68, 0x52,
+ 0x8a, 0xcb, 0x90, 0x6c, 0x8e, 0x63, 0x7b, 0x4f, 0x1f, 0x6f,
+ 0x9b, 0x05, 0x33, 0xf2, 0x10, 0x33, 0x56, 0xbb, 0xe4, 0x4b,
+ 0x90, 0x71, 0xa0, 0x07, 0xa4, 0xf8, 0x18, 0x16, 0xd2, 0x45,
+ 0x9e, 0xd2, 0xdd, 0xbf, 0x61, 0x58, 0x30, 0x91, 0xba, 0x01,
+ 0xfb, 0x65, 0x45, 0x47, 0x6b, 0x5a, 0x32, 0x6b, 0xb4, 0xaf,
+ 0x30, 0x14, 0xf5, 0x97, 0xd2, 0x19, 0x44, 0x54, 0xf2, 0xc0,
+ 0xca, 0x26, 0xc7, 0xca, 0x04, 0xba, 0x54, 0x3f, 0xb8, 0x49,
+ 0x47, 0xe7, 0xc3, 0x4e, 0x9e, 0x93, 0x6d, 0x32, 0xb5, 0x6d,
+ 0xbe, 0x45, 0xb2, 0x94, 0x1a, 0xc0, 0x9e, 0x86, 0x81, 0xef,
+ 0x42, 0x8d, 0xc7, 0x5b, 0xd5, 0xc7, 0x1b, 0x88, 0x04, 0x03,
+ 0x64, 0x33, 0xf2, 0xcc, 0x0f, 0xb2, 0x4b, 0x10, 0xf0, 0x58,
+ 0x3f, 0xf0, 0x9c, 0x81, 0x7d, 0x51, 0xcf, 0x08, 0x21, 0x20,
+ 0xd6, 0xfd, 0x77, 0x37, 0xfe, 0x11, 0x8f, 0xfe, 0x5e, 0x0c,
+ 0x4c, 0x35, 0x23, 0xe3, 0x2e, 0x0a, 0xe1, 0x64, 0xe7, 0xf3,
+ 0x08, 0x21, 0x37, 0x08, 0x07, 0x28, 0x6b, 0xbe, 0xca, 0x0f,
+ 0xe4, 0x3c, 0x03, 0x9b, 0x17, 0x6f, 0x30, 0xc6, 0xb2, 0x30,
+ 0x8c, 0x2c, 0xee, 0xad, 0x6a, 0xef, 0xfe, 0x3a, 0x5c, 0x06,
+ 0x4a, 0x3e, 0x89, 0xd9, 0x1e, 0x89, 0x0f, 0x9f, 0xc3, 0xc0,
+ 0x79, 0x9d, 0x6a, 0x31, 0x46, 0x07, 0xe8, 0x8a, 0xea, 0xa2,
+ 0x1b, 0xea, 0x6d, 0xaa, 0x05, 0x73, 0x7d, 0x4f, 0x2f, 0xff,
+ 0x7c, 0x7f, 0x29, 0x14, 0xcc, 0x4e, 0x40, 0xcc, 0xf4, 0x5e,
+ 0x39, 0x62, 0x24, 0x8d, 0x28, 0x71, 0x29, 0x3e, 0x06, 0xe4,
+ 0xd5, 0x80, 0xc6, 0xd5, 0x26, 0x7e, 0x9b, 0xfa, 0x6d, 0x81,
+ 0xf8, 0x41, 0x94, 0x5c, 0xab, 0x29, 0x54, 0x78, 0xef, 0x54,
+ 0x71, 0x0a, 0x6a, 0xce, 0xd3, 0x73, 0x39, 0x0f, 0x70, 0x56,
+ 0x75, 0x6b, 0x0c, 0xd0, 0xcd, 0x0c, 0x1c, 0xa0, 0x6f, 0xbd,
+ 0xae, 0x3c, 0x16, 0xf0, 0x0c, 0x29, 0x5c, 0x7f, 0xc0, 0x9e,
+ 0x8d, 0xc0, 0x94, 0x36, 0xd5, 0x2f, 0x7c, 0x9a, 0xaf, 0x2d,
+ 0x93, 0x61, 0x88, 0xd2, 0x24, 0x75, 0x26, 0x24, 0x22, 0xc4,
+ 0xcf, 0xc5, 0xd5, 0xc8, 0xbf, 0xa6, 0x57, 0x12, 0x35, 0xba,
+ 0x39, 0x4a, 0x5a, 0x39, 0xeb, 0x6c, 0x69, 0x5e, 0xf8, 0xf7,
+ 0x9d, 0x5a, 0xe5, 0xc2, 0xd3, 0x67, 0x48, 0xea, 0x4c, 0x48,
+ 0xbc, 0x18, 0x98, 0x6a, 0x46, 0x05, 0x5c, 0x14, 0x01, 0xc8,
+ 0x0d, 0x25, 0x10, 0x42, 0x6e, 0x10, 0x3c, 0x39, 0x8a, 0x86,
+ 0x27, 0x31, 0x6b, 0xc4, 0xdb, 0x1c, 0x26, 0x6d, 0x2e, 0xcd,
+ 0x6c, 0x2e, 0x15, 0xd8, 0xd2, 0xbc, 0x33, 0x2d, 0xf9, 0xb4,
+ 0x09, 0x47, 0x65, 0xce, 0x90, 0x17, 0x98, 0x90, 0xe9, 0x31,
+ 0x43, 0xa0, 0xa4, 0x32, 0x5f, 0xc8, 0x65, 0xe5, 0x9c, 0xcf,
+ 0x9f, 0xf3, 0xf7, 0x9f, 0x02, 0x5d, 0x2a, 0xfe, 0x5c, 0xc5,
+ 0xc2, 0x92, 0x80, 0x27, 0x4f, 0xa8, 0xd7, 0x19, 0xbb, 0xd7,
+ 0x46, 0x16, 0x77, 0xb7, 0x35, 0x96, 0x7f, 0x1d, 0x2e, 0x03,
+ 0x25, 0x1f, 0xa5, 0x8d, 0x0f, 0xa5, 0xda, 0x97, 0x0a, 0xe6,
+ 0xfa, 0x9e, 0x5e, 0x3d, 0xf8, 0xfe, 0x52, 0x28, 0x5b, 0x9c,
+ 0x80, 0x5b, 0x19, 0xd5, 0x2e, 0xfd, 0x38, 0xf6, 0x30, 0x5e,
+ 0x8f, 0x95, 0x04, 0xb8, 0x27, 0x41, 0x84, 0x27, 0xdb, 0x58,
+ 0x1f, 0x99, 0xd4, 0x1d, 0x3f, 0x74, 0xb8, 0x0c, 0x94, 0x7c,
+ 0xd1, 0x71, 0x3c, 0xd1, 0x1e, 0xfd, 0x45, 0x43, 0xf2, 0xf9,
+ 0xd4, 0x62, 0x8c, 0x0e, 0x13, 0xd7, 0x17, 0x87, 0x36, 0x17,
+ 0x17, 0x85, 0xf8, 0x42, 0x6f, 0xe8, 0x3b, 0x26, 0x89, 0x60,
+ 0x2a, 0x66, 0x47, 0x0e, 0x23, 0x47, 0x4a, 0x1b, 0x8b, 0xf6,
+ 0x3e, 0x4d, 0xb6, 0xf7, 0xa8, 0xd1, 0x44, 0x69, 0x12, 0xdb,
+ 0x13, 0x12, 0x0a, 0xea, 0x82, 0x80, 0xef, 0x57, 0x4c, 0x9f,
+ 0xc5, 0xbb, 0xb0, 0x4d, 0x0d, 0x7d, 0x12, 0x0d, 0xd9, 0x05,
+ 0x35, 0x67, 0x88, 0xd8, 0xfd, 0xe6, 0x38, 0x2b, 0xdb, 0xd4,
+ 0x06, 0x68, 0x87, 0x06, 0x89, 0x59, 0xaf, 0xed, 0xfc, 0x25,
+ 0xd8, 0x94, 0xdf, 0xba, 0x12, 0xf9, 0x6e, 0x06, 0x17, 0x6e,
+ 0x78, 0x72, 0xd7, 0xcf, 0x4e, 0x62, 0xd6, 0x4b, 0x75, 0x38,
+ 0x4c, 0xda, 0x5c, 0x59, 0xd8, 0x5c, 0x76, 0x22, 0x01, 0x70,
+ 0x19, 0x7c, 0xdd, 0x33, 0x73, 0xcd, 0x62, 0x04, 0x3c, 0x16,
+ 0x7f, 0x3c, 0x27, 0xb1, 0x8e, 0x85, 0x43, 0x02, 0x99, 0x08,
+ 0xd4, 0xae, 0x6d, 0x7d, 0xde, 0x95, 0x53, 0xde, 0x18, 0x1a,
+ 0x3b, 0x82, 0x16, 0x75, 0x51, 0x17, 0xcf, 0x67, 0xc2, 0xec,
+ 0xad, 0xac, 0x38, 0xad, 0x23, 0x0b, 0xda, 0xba, 0xfb, 0x4b,
+ 0xde, 0xef, 0x17, 0xe0, 0xf3, 0xee, 0xb3, 0xa7, 0xe6, 0xb3,
+ 0xf2, 0xb9, 0x47, 0xa3, 0xc0, 0x01, 0xad, 0x04, 0x6a, 0x57,
+ 0xd7, 0xdf, 0x6f, 0xab, 0xc8, 0x6f, 0x95, 0xf9, 0xc0, 0x50,
+ 0x52, 0x19, 0xce, 0x64, 0xd3, 0x93, 0x4e, 0x86, 0xae, 0x98,
+ 0x9a, 0xae, 0xd5, 0x08, 0xc9, 0x26, 0x83, 0x03, 0x34, 0x0c,
+ 0xbe, 0xf9, 0xba, 0xa2, 0xb1, 0x3e, 0x9b, 0xb1, 0xa9, 0xc0,
+ 0x4a, 0xd6, 0x75, 0x28, 0xa5, 0xa0, 0x08, 0x8f, 0x68, 0xeb,
+ 0x80, 0x55, 0xf6, 0x80, 0x84, 0x9b, 0x46, 0xd3, 0xd9, 0x7d,
+ 0x70, 0x37, 0x19, 0x9a, 0xb5, 0xdb, 0x53, 0xbd, 0xb7, 0x53,
+ 0xe1, 0x86, 0xeb, 0xde, 0x17, 0xa0, 0xd1, 0xc5, 0x20, 0x79,
+ 0x63, 0x2a, 0x45, 0x97, 0x5e, 0x45, 0x1d, 0x6f, 0x7a, 0xc2,
+ 0x80, 0xbf, 0x77, 0xb9, 0x4c, 0xdb, 0x9a, 0x2b, 0x4a, 0x73,
+ 0x31, 0x4a, 0x93, 0x1e, 0xbe, 0x91, 0xb6, 0x95, 0x4b, 0x11,
+ 0x90, 0xfa, 0x9f, 0xbd, 0x14, 0xb3, 0x94, 0x14, 0x28, 0x2e,
+ 0x4d, 0x45, 0x3a, 0x9f, 0xf3, 0x39, 0x92, 0xa9, 0x85, 0xf7,
+ 0x34, 0x37, 0x48, 0x34, 0xc6, 0x37, 0x65, 0x5b, 0x54, 0xa2,
+ 0x48, 0xcd, 0xf4, 0xd7, 0x0e, 0x57, 0x9b, 0x02, 0x0d, 0x9b,
+ 0x7b, 0xe0, 0xe8, 0x4e, 0x3c, 0x24, 0x75, 0x90, 0xb5, 0xed,
+ 0xc5, 0x26, 0x01, 0xad, 0xdf, 0x01, 0x65, 0x1d, 0xad, 0x0d,
+ 0xce, 0xdd, 0xa1, 0xf2, 0x39, 0xe3, 0xd6, 0xf1, 0x16, 0x2a,
+ 0xe9, 0x16, 0x75, 0xb0, 0x3e, 0xf1, 0x6b, 0x3a, 0x7e, 0xe8,
+ 0xb3, 0x18, 0xeb, 0xf8, 0x61, 0xe2, 0x78, 0x61, 0x7c, 0xc8,
+ 0x83, 0xf0, 0xf6, 0x2b, 0x91, 0xac, 0xb6, 0x76, 0xd2, 0x49,
+ 0x31, 0x6b, 0x6d, 0x31, 0xe3, 0xdb, 0xc1, 0x20, 0x4b, 0x65,
+ 0x13, 0x57, 0xa0, 0x5e, 0x2c, 0x82, 0x92, 0x8e, 0xe5, 0x92,
+ 0xee, 0x19, 0x28, 0x1e, 0x6e, 0x3d, 0xbb, 0xf4, 0x66, 0x7e,
+ 0x8b, 0xa0, 0xaf, 0x35, 0x45, 0xaf, 0x21, 0x56, 0xf0, 0x44,
+ 0xa7, 0x8e, 0x1c, 0x7d, 0x97, 0xc7, 0xbc, 0x46, 0x64, 0xbe,
+ 0x5d, 0x64, 0x8e, 0x71, 0xc4, 0x53, 0x36, 0x2a, 0x3c, 0xa8,
+ 0xdc, 0x21, 0x05, 0x96, 0x5e, 0xc0, 0xa5, 0x5e, 0xf9, 0x9c,
+ 0xd0, 0x5c, 0x01, 0xd5, 0x80, 0xd2, 0xef, 0x1e, 0xa1, 0xc6,
+ 0xe8, 0x3b, 0x66, 0xe8, 0x01, 0xcf, 0x15, 0x7f, 0x2e, 0x83,
+ 0x61, 0x49, 0x40, 0xf2, 0xc6, 0x54, 0x8a, 0xed, 0xbc, 0x8a,
+ 0x5b, 0x79, 0x0d, 0x75, 0xb5, 0x29, 0x08, 0xa4, 0x62, 0xd8,
+ 0xbf, 0x34, 0xef, 0xfe, 0x3e, 0xef, 0x91, 0x43, 0x94, 0x6f,
+ 0xea, 0x50, 0x89, 0x83, 0x10, 0xdd, 0xd0, 0x15, 0xc3, 0xaa,
+ 0x2f, 0xc3, 0x14, 0x17, 0xc7, 0xc3, 0x1d, 0xae, 0x98, 0xfd,
+ 0x49, 0xb5, 0xa3, 0x9a, 0x1a, 0xfa, 0x24, 0x1a, 0x7a, 0x2f,
+ 0xfd, 0x31, 0x12, 0xa7, 0x14, 0xd9, 0xf5, 0x1f, 0x03, 0x72,
+ 0x8b, 0x40, 0x63, 0x8b, 0xf6, 0x03, 0x13, 0x9c, 0x78, 0x48,
+ 0xea, 0xe3, 0xa9, 0x19, 0x49, 0x4c, 0x02, 0x99, 0x7d, 0x02,
+ 0xb1, 0xda, 0x71, 0x54, 0x63, 0x5d, 0xf4, 0xb7, 0xc7, 0xe8,
+ 0xaa, 0x07, 0x2d, 0xf9, 0xce, 0x2d, 0xb7, 0x3d, 0x0f, 0x95,
+ 0x87, 0xd1, 0x71, 0xc2, 0x84, 0x81, 0x7b, 0x3c, 0x97, 0xd2,
+ 0xc0, 0x97, 0xca, 0x3a, 0x99, 0x1a, 0x5f, 0x79, 0x81, 0x27,
+ 0x72, 0x05, 0x6f, 0x21, 0x2c, 0x54, 0x11, 0x2c, 0x5a, 0xb6,
+ 0x18, 0x0a, 0x9b, 0xaa, 0x69, 0xed, 0x22, 0x2a, 0x79, 0x60,
+ 0x65, 0x13, 0x82, 0x65, 0xf8, 0x53, 0xc5, 0x23, 0x2f, 0x56,
+ 0xe1, 0x9b, 0xaf, 0xec, 0x67, 0x92, 0x62, 0xd6, 0xda, 0x62,
+ 0xcc, 0xdd, 0xe7, 0xdb, 0xbb, 0xf5, 0x04, 0x52, 0x31, 0x6c,
+ 0xbe, 0x1a, 0x96, 0x7f, 0x1f, 0x96, 0x47, 0xd9, 0x62, 0xc8,
+ 0x1b, 0x15, 0x1e, 0x54, 0x6e, 0xf1, 0xe3, 0x4b, 0x2f, 0x60,
+ 0xb3, 0x2f, 0x96, 0x6b, 0xff, 0xd1, 0x20, 0x5f, 0x6d, 0xbf,
+ 0x13, 0x46, 0xc7, 0x7a, 0xf3, 0x6c, 0x9d, 0xf3, 0x6e, 0x38,
+ 0x3a, 0xf2, 0x0f, 0x09, 0x8c, 0x24, 0xbc, 0xaa, 0xa0, 0xe8,
+ 0x91, 0xba, 0x47, 0x91, 0x13, 0x3f, 0xac, 0x7d, 0xd7, 0xa1,
+ 0x7c, 0xc1, 0x4a, 0x2e, 0xb4, 0xf5, 0x2a, 0x3c, 0x96, 0x2a,
+ 0x24, 0x23, 0xb1, 0x04, 0x31, 0x44, 0x3a, 0xd3, 0x14, 0x7b,
+ 0xe4, 0x81, 0x83, 0x61, 0x54, 0x83, 0x74, 0x7f, 0x2b, 0x8e,
+ 0x45, 0xb9, 0x1f, 0xa1, 0xf3, 0xea, 0x2d, 0xac, 0xeb, 0x0f,
+ 0xc4, 0xeb, 0x09, 0x78, 0xbd, 0x01, 0x9d, 0x11, 0xef, 0x44,
+ 0x05, 0x6e, 0x39, 0xb1, 0x50, 0x89, 0x15, 0x50, 0x03, 0x92,
+ 0x3f, 0x81, 0x72, 0x46, 0xa3, 0xdb, 0xc0, 0xd5, 0x89, 0xfc,
+ 0x5d, 0xf4, 0x07, 0x5d, 0x30, 0x34, 0x76, 0xc7, 0x2c, 0xea,
+ 0xa2, 0x2e, 0x5d, 0xce, 0x47, 0x1b, 0x99, 0x9b, 0x70, 0x99,
+ 0x50, 0x5c, 0x9a, 0x8a, 0x74, 0xfd, 0x25, 0x72, 0xe7, 0x91,
+ 0xc9, 0x2d, 0x68, 0x6e, 0x90, 0x68, 0x4f, 0x6e, 0xca, 0xb6,
+ 0xa8, 0x87, 0x90, 0x59, 0x2b, 0x6d, 0x1c, 0xae, 0xf5, 0x04,
+ 0x1a, 0xf5, 0x0e, 0x50, 0xd6, 0xbf, 0x57, 0x1e, 0x0b, 0x78,
+ 0x06, 0xf5, 0x2e, 0xde, 0x60, 0x4f, 0xa7, 0x60, 0x7d, 0x07,
+ 0x96, 0x8f, 0xd8, 0xa8, 0xf0, 0xe5, 0xf6, 0x84, 0x14, 0x1d,
+ 0xbb, 0x86, 0xd1, 0xbb, 0xb9, 0x6d, 0xd9, 0x2a, 0xd0, 0xcf,
+ 0x7a, 0xba, 0x82, 0x74, 0x55, 0xe2, 0xf7, 0x9d, 0x67, 0xf7,
+ 0x37, 0x1c, 0x1d, 0x79, 0xe6, 0xe5, 0x46, 0x12, 0x5e, 0x55,
+ 0x50, 0x74, 0xa9, 0x5d, 0xc2, 0xa9, 0x54, 0xe6, 0xce, 0xb5,
+ 0xcc, 0xb4, 0x62, 0x95, 0x24, 0xdf, 0x57, 0xbe, 0x05, 0x5c,
+ 0x25, 0x05, 0x1f, 0x32, 0x50, 0x3c, 0xdc, 0x7a, 0xb5, 0x2b,
+ 0xcc, 0xfc, 0xd5, 0x83, 0x9d, 0x6a, 0x8a, 0x9d, 0xc2, 0x8d,
+ 0x31, 0x64, 0xec, 0xeb, 0x0f, 0x2a, 0x37, 0x99, 0x90, 0xc4,
+ 0xf6, 0x30, 0xb8, 0xf6, 0x33, 0xa6, 0x49, 0x46, 0x5e, 0xac,
+ 0x01, 0xf5, 0x9d, 0x1b, 0xce, 0xe7, 0xc4, 0x6f, 0x77, 0xc4,
+ 0x3a, 0xde, 0xf4, 0x47, 0xc3, 0xbd, 0xee, 0xb1, 0x98, 0x75,
+ 0xf7, 0x56, 0x94, 0xe6, 0x62, 0x94, 0xe5, 0x3c, 0xbf, 0xe1,
+ 0xaf, 0xe9, 0x96, 0x22, 0xe3, 0x37, 0xfd, 0xb9, 0x28, 0xa5,
+ 0xeb, 0x28, 0xe8, 0xfe, 0x56, 0xdf, 0x8a, 0xb1, 0x3e, 0x81,
+ 0x25, 0x17, 0x5a, 0x9b, 0x15, 0x1e, 0x4b, 0x15, 0x12, 0xf0,
+ 0xb9, 0x02, 0xf9, 0x22, 0x1d, 0x88, 0x0a, 0xdc, 0x72, 0xa1,
+ 0xa0, 0xd1, 0x2a, 0xa0, 0x92, 0xd1, 0xab, 0xee, 0x98, 0x16,
+ 0x2a, 0x58, 0xd0, 0x08, 0x59, 0xe9, 0x9e, 0x5e, 0x28, 0x9e,
+ 0xac, 0xb5, 0x0b, 0x96, 0xe3, 0xe2, 0x83, 0x0e, 0x8b, 0x33,
+ 0x30, 0x2c, 0x67, 0x8a, 0xff, 0x67, 0x34, 0x8e, 0x22, 0xf8,
+ 0x94, 0xa3, 0xe5, 0xc9, 0x9e, 0x80, 0xd9, 0x88, 0xf4, 0xa9,
+ 0xc5, 0xf4, 0x52, 0x01, 0xb0, 0x74, 0x28, 0x38, 0xe7, 0xe0,
+ 0x67, 0xb6, 0x86, 0x85, 0xbf, 0x77, 0x2b, 0xbf, 0xed, 0x8b,
+ 0x17, 0x9f, 0x1c, 0x7b, 0x18, 0x2f, 0xa6, 0xab, 0x02, 0x5c,
+ 0xf2, 0xc1, 0x42, 0xf2, 0xfa, 0x0e, 0xef, 0xdd, 0x73, 0x93,
+ 0x23, 0x09, 0x2f, 0xcb, 0x28, 0x3a, 0xb5, 0xcf, 0x61, 0xb5,
+ 0x98, 0x3b, 0x29, 0x6e, 0x77, 0x41, 0x66, 0xc7, 0x15, 0xb3,
+ 0xe9, 0xa4, 0x93, 0x23, 0x3a, 0x93, 0xdf, 0xe2, 0x4b, 0xa6,
+ 0x6c, 0x54, 0x78, 0x93, 0x7b, 0x42, 0x0a, 0xef, 0xbc, 0x43,
+ 0x89, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x8f,
+ 0x92, 0x8c, 0xbc, 0x9b, 0x02, 0x29, 0xf9, 0x36, 0x5f, 0x0d,
+ 0x4b, 0xde, 0xee, 0x4b, 0x2f, 0x06, 0x26, 0xfb, 0xf0, 0x90,
+ 0x17, 0x05, 0x91, 0x32, 0x92, 0x98, 0x04, 0xf1, 0xfa, 0x04,
+ 0x3e, 0x64, 0xa0, 0x78, 0x7b, 0xf4, 0xa9, 0x56, 0x5b, 0x3b,
+ 0x69, 0xc5, 0xf9, 0xd4, 0xd7, 0xf9,
+ },
+ {
+ /* 6 */
+ 0x51, 0x8b, 0xc0, 0x48, 0x41, 0xdb, 0x9d, 0x79, 0x04, 0x5b,
+ 0xb3, 0x42, 0x6e, 0xe5, 0x18, 0xc6, 0x33, 0xea, 0x25, 0x27,
+ 0xfa, 0x81, 0x30, 0xe7, 0xa3, 0x06, 0xf7, 0x12, 0x65, 0x8f,
+ 0x4c, 0x36, 0xa4, 0x98, 0x5a, 0x40, 0x48, 0x42, 0xb3, 0xc9,
+ 0x3b, 0x2e, 0x19, 0xca, 0x9c, 0x04, 0x9a, 0x9d, 0x67, 0xeb,
+ 0x11, 0xd7, 0x14, 0x97, 0xc2, 0x59, 0x6c, 0x89, 0xa6, 0x39,
+ 0x6b, 0x80, 0xab, 0x4b, 0x0a, 0xd7, 0x2b, 0xb3, 0x9d, 0x59,
+ 0xde, 0x4d, 0x55, 0x6b, 0x07, 0xd2, 0xc0, 0x17, 0x3d, 0xb5,
+ 0xe7, 0x33, 0xd5, 0x7d, 0x3a, 0x1c, 0x1b, 0x11, 0xa6, 0x3b,
+ 0x18, 0xa1, 0xf1, 0xc2, 0x52, 0x20, 0x28, 0xda, 0xac, 0x89,
+ 0x31, 0xa7, 0xfe, 0xf7, 0x97, 0x6f, 0x1c, 0xce, 0x86, 0x5c,
+ 0xf4, 0x91, 0x1a, 0xcc, 0xd2, 0x37, 0xe8, 0x70, 0x6c, 0x44,
+ 0xdd, 0xec, 0x60, 0xc1, 0x42, 0x8e, 0x8b, 0x80, 0x6c, 0xc0,
+ 0x61, 0xfd, 0xaa, 0x98, 0xbe, 0x40, 0xd0, 0x67, 0x2a, 0xf6,
+ 0x0a, 0xca, 0xa5, 0xd9, 0x65, 0xd0, 0xa7, 0x26, 0x52, 0x3b,
+ 0x45, 0xf1, 0x7d, 0x40, 0x73, 0x03, 0xea, 0x3a, 0xcd, 0x05,
+ 0xfa, 0x4e, 0x45, 0x03, 0x3b, 0x0d, 0x9f, 0x3a, 0xa1, 0xca,
+ 0x4f, 0x33, 0x52, 0x1c, 0x40, 0x55, 0xe8, 0x6e, 0x0a, 0x76,
+ 0x08, 0x88, 0xaa, 0x9b, 0x38, 0x84, 0xfd, 0x1a, 0x51, 0x3f,
+ 0x90, 0x2e, 0xac, 0x74, 0xc7, 0x02, 0x93, 0xb7, 0xea, 0x2c,
+ 0x7f, 0x8c, 0xcb, 0x22, 0xdd, 0xa9, 0xc1, 0x66, 0x5a, 0xa0,
+ 0xb0, 0x62, 0xff, 0xd4, 0xe1, 0x60, 0xb8, 0xb5, 0x3f, 0x8d,
+ 0x0f, 0xaf, 0x16, 0x54, 0xa9, 0xfe, 0x33, 0xba, 0x3c, 0x7a,
+ 0x85, 0xeb, 0xb4, 0x58, 0x29, 0x4b, 0xbd, 0x43, 0x3e, 0xdd,
+ 0x30, 0x2d, 0xc8, 0x4f, 0x9f, 0x7b, 0x15, 0x1b, 0x5b, 0x4a,
+ 0xa9, 0x35, 0x45, 0x68, 0x19, 0x5f, 0x8b, 0xf3, 0xb4, 0x80,
+ 0x90, 0x84, 0xa5, 0x51, 0x76, 0x5c, 0x32, 0x57, 0xfb, 0x08,
+ 0xf7, 0xf9, 0x83, 0x1f, 0x29, 0xc2, 0x4b, 0x71, 0xfc, 0xb4,
+ 0x32, 0xfe, 0xe0, 0xbf, 0xba, 0xa5, 0xac, 0x02, 0xef, 0xdf,
+ 0x48, 0x3f, 0xe1, 0xe9, 0x42, 0xf4, 0xe2, 0x99, 0xca, 0x49,
+ 0xb0, 0x6f, 0x09, 0xdb, 0x66, 0x17, 0x4a, 0x4e, 0x37, 0xc1,
+ 0x60, 0x0d, 0x85, 0x0c, 0x2d, 0x24, 0xca, 0xdd, 0x98, 0x6c,
+ 0x14, 0x6d, 0x56, 0xa5, 0xf9, 0xb2, 0x7f, 0x9a, 0xaa, 0xd6,
+ 0x0e, 0x67, 0x43, 0x2e, 0x7a, 0xa9, 0x0d, 0x66, 0x69, 0xfa,
+ 0x74, 0x38, 0x36, 0x22, 0x8f, 0x76, 0x30, 0x81, 0x21, 0x47,
+ 0xa4, 0x40, 0x05, 0x8a, 0xf4, 0xb8, 0xaf, 0xcd, 0x6f, 0xc7,
+ 0xcb, 0xd4, 0xe2, 0x69, 0x60, 0xea, 0xff, 0xbb, 0x92, 0xf8,
+ 0x8b, 0xdf, 0x1d, 0x0e, 0xec, 0xe9, 0x53, 0xfc, 0x0c, 0xb1,
+ 0x99, 0x61, 0x29, 0x10, 0x7a, 0x96, 0x81, 0xa9, 0x15, 0x86,
+ 0x46, 0x72, 0x6b, 0x78, 0xf1, 0xab, 0xc8, 0x5e, 0xb9, 0x3e,
+ 0x13, 0xdc, 0x14, 0xec, 0x10, 0xd3, 0x97, 0xf5, 0x70, 0xcb,
+ 0x39, 0x34, 0xa2, 0x7e, 0xe3, 0x5c, 0xd8, 0x43, 0xc2, 0x39,
+ 0x97, 0xf3, 0xbf, 0x80, 0x63, 0xce, 0x54, 0x2f, 0x14, 0x57,
+ 0x89, 0x71, 0x87, 0x69, 0x86, 0xe3, 0xc7, 0xea, 0x31, 0x27,
+ 0x10, 0xaf, 0x89, 0xcb, 0x7b, 0x12, 0x60, 0x9e, 0xb5, 0x7f,
+ 0xf8, 0x5d, 0x1e, 0x3d, 0xa3, 0x94, 0x5a, 0x2c, 0xf5, 0xc4,
+ 0xbf, 0xc0, 0x1f, 0x8f, 0xdf, 0xf2, 0x80, 0x70, 0x7e, 0x92,
+ 0x57, 0xef, 0xb9, 0xd3, 0x63, 0x7c, 0xf5, 0x07, 0x10, 0x84,
+ 0x91, 0x3f, 0x66, 0xb7, 0x78, 0xf4, 0xc9, 0x15, 0xab, 0xb0,
+ 0x52, 0x96, 0xb9, 0x86, 0x7c, 0x79, 0x2d, 0x50, 0x58, 0x31,
+ 0x9e, 0x6a, 0x91, 0x30, 0x5c, 0xbb, 0xfe, 0xa7, 0xe6, 0xb6,
+ 0x0b, 0x2a, 0xa0, 0xee, 0xf5, 0x61, 0xc4, 0xd9, 0x7e, 0x5a,
+ 0x19, 0x7f, 0x70, 0xbe, 0x5d, 0xb3, 0x56, 0x01, 0xbf, 0xa8,
+ 0xd3, 0xee, 0x83, 0x64, 0x7d, 0xd9, 0x0f, 0x47, 0xf2, 0x16,
+ 0x7f, 0xd7, 0x22, 0x3a, 0x24, 0x40, 0x9e, 0xea, 0x66, 0xc9,
+ 0x6a, 0x81, 0xf1, 0x9c, 0xa7, 0x52, 0x06, 0x46, 0x63, 0xf6,
+ 0x49, 0x7c, 0xa4, 0x8e, 0xef, 0x07, 0x76, 0x95, 0xc8, 0x7e,
+ 0x06, 0xb9, 0xad, 0xd1, 0xf5, 0x08, 0xee, 0x23, 0x13, 0xa6,
+ 0xc2, 0xbf, 0xe0, 0xa0, 0x0b, 0x1c, 0x41, 0x54, 0x11, 0x32,
+ 0x3a, 0xfc, 0x2c, 0xac, 0x03, 0xa8, 0xbd, 0x3c, 0x33, 0x64,
+ 0xb5, 0x3e, 0x75, 0xba, 0x47, 0xeb, 0x38, 0x0d, 0x1d, 0x7d,
+ 0x90, 0x7e, 0x01, 0x11, 0x84, 0x2b, 0x07, 0xf1, 0x57, 0x92,
+ 0xa3, 0xde, 0x12, 0x75, 0xcc, 0x2e, 0x94, 0x9c, 0x6e, 0x41,
+ 0xc0, 0x1a, 0xc9, 0x18, 0x5a, 0x48, 0x57, 0x79, 0xf3, 0xd8,
+ 0x7c, 0xdb, 0x98, 0x79, 0xdf, 0xb1, 0x0c, 0x49, 0x58, 0xe0,
+ 0x4d, 0xe5, 0x88, 0x53, 0x13, 0xec, 0x8e, 0x79, 0x40, 0x38,
+ 0x3f, 0x49, 0xca, 0x96, 0xbd, 0x88, 0xd0, 0x3e, 0x9b, 0xe2,
+ 0x08, 0x42, 0xb8, 0x19, 0x91, 0xa7, 0x6a, 0x05, 0x95, 0xb6,
+ 0xd5, 0x5a, 0xc5, 0x45, 0x9e, 0x87, 0xbb, 0xcf, 0xe6, 0xcf,
+ 0x8e, 0xe4, 0x19, 0x4a, 0xb9, 0x45, 0x4f, 0xbe, 0x93, 0xbc,
+ 0x50, 0x9f, 0x61, 0x07, 0xf4, 0xef, 0xc1, 0x91, 0x2a, 0xcf,
+ 0x8c, 0xe4, 0xd6, 0xf0, 0x21, 0x95, 0x53, 0xbc, 0xb1, 0x7c,
+ 0x26, 0x7b, 0x28, 0x1b, 0x20, 0x65, 0xed, 0x29, 0xe0, 0x55,
+ 0x72, 0x68, 0x87, 0xfc, 0x05, 0xb8, 0x1b, 0x30, 0x89, 0xae,
+ 0xcb, 0x26, 0xce, 0x10, 0x34, 0x69, 0xeb, 0xdc, 0xe3, 0xd3,
+ 0xb8, 0xa7, 0x4f, 0x31, 0xbd, 0x5e, 0x25, 0x30, 0x3c, 0xae,
+ 0xfb, 0xe6, 0xba, 0xf7, 0xed, 0xdc, 0x5f, 0xda, 0xd5, 0x25,
+ 0xab, 0xc3, 0xe3, 0xcb, 0x89, 0xa2, 0xec, 0xb8, 0x64, 0xae,
+ 0x35, 0x10, 0x2d, 0x31, 0xc5, 0x3e, 0x52, 0x47, 0x96, 0xe2,
+ 0x3b, 0xab, 0x64, 0x3f, 0x03, 0xbd, 0xb7, 0x89, 0x9b, 0x04,
+ 0x50, 0x77, 0x9b, 0xd1, 0x62, 0x8d, 0x3f, 0x2d, 0xed, 0xde,
+ 0x38, 0x5f, 0xcf, 0xb8, 0x2b, 0xe1, 0x79, 0x51, 0x6c, 0xc1,
+ 0x70, 0x7c, 0x63, 0x8e, 0x93, 0x34, 0xaf, 0x8c, 0xe8, 0xb9,
+ 0xec, 0x57, 0x77, 0xf0, 0xe8, 0x53, 0x61, 0xbe, 0x70, 0x50,
+ 0xe4, 0x0e, 0xc1, 0x2a, 0xe9, 0x19, 0x1d, 0x7e, 0x16, 0x56,
+ 0xe0, 0x54, 0xbf, 0x1e, 0xf8, 0x32, 0xbb, 0x1f, 0xdb, 0x5d,
+ 0xc2, 0x94, 0x1c, 0xe7, 0x52, 0x4c, 0x2d, 0x20, 0x24, 0x21,
+ 0xb8, 0x85, 0xfc, 0x17, 0xed, 0x65, 0x4e, 0x02, 0x4d, 0xaf,
+ 0x15, 0x91, 0x0d, 0x3c, 0xda, 0xe4, 0xdd, 0xce, 0x43, 0x53,
+ 0x85, 0x7a, 0xe2, 0x73, 0x49, 0x8e, 0x9b, 0xe8, 0x4d, 0x04,
+ 0xe5, 0xad, 0x17, 0x58, 0xfe, 0xdb, 0x55, 0x44, 0x79, 0x91,
+ 0x41, 0xcc, 0xb4, 0x83, 0xa3, 0xc4, 0x3d, 0x6b, 0x01, 0xc0,
+ 0xb3, 0xa9, 0x7e, 0xd9, 0x1e, 0x9d, 0x2c, 0xa8, 0x3e, 0x8c,
+ 0x4c, 0xdd, 0x8e, 0xb9, 0x06, 0xc5, 0x2c, 0x70, 0xc7, 0x93,
+ 0x44, 0xc8, 0xe8, 0x76, 0x80, 0xd8, 0xc4, 0xaa, 0x2e, 0x8b,
+ 0xd9, 0x48, 0xca, 0xb2, 0xbe, 0x98, 0x9a, 0x42, 0xf9, 0x6b,
+ 0x36, 0x60, 0xd1, 0x9f, 0x55, 0x4c, 0x5f, 0x20, 0x68, 0xd2,
+ 0x15, 0x7b, 0x05, 0x65, 0xb3, 0x8d, 0xd3, 0x68, 0xb2, 0x13,
+ 0x29, 0xfc, 0xc3, 0x99, 0xdf, 0x20, 0xd8, 0xe0, 0x75, 0x1d,
+ 0x87, 0xe3, 0x2b, 0x1d, 0x41, 0xe1, 0x54, 0x5d, 0xdb, 0x0b,
+ 0x6f, 0x23, 0x42, 0xe9, 0xa6, 0xbb, 0xa1, 0xf8, 0x01, 0xfc,
+ 0x5b, 0x99, 0x23, 0x56, 0xa2, 0x54, 0xe9, 0x85, 0x8b, 0x1d,
+ 0xa1, 0x5d, 0x33, 0x27, 0x99, 0xd3, 0xfb, 0xf5, 0xa3, 0x01,
+ 0x90, 0xf0, 0xef, 0x12, 0x80, 0x7e, 0xf8, 0x2b, 0x27, 0x82,
+ 0xdd, 0xc9, 0x36, 0x81, 0x38, 0x3e, 0xd0, 0x47, 0xa8, 0x1a,
+ 0xb6, 0x46, 0x74, 0xbd, 0x76, 0xca, 0xf6, 0xd4, 0x77, 0x60,
+ 0x6c, 0x63, 0x0b, 0x4c, 0xc7, 0x39, 0xf4, 0xaf, 0xd2, 0x06,
+ 0xd7, 0x32, 0x68, 0xb6, 0xce, 0xdc, 0x26, 0x03, 0x73, 0xd3,
+ 0xf2, 0x36, 0x43, 0x82, 0xcb, 0x7d, 0x69, 0x45, 0x12, 0x20,
+ 0x4f, 0x75, 0x33, 0x85, 0x35, 0xa1, 0x99, 0x4e, 0xb2, 0x29,
+ 0x03, 0x23, 0xd0, 0x7b, 0x8a, 0x0f, 0xef, 0x19, 0xb3, 0xd2,
+ 0x07, 0x05, 0x9f, 0xd9, 0xb9, 0x4a, 0x5a, 0x55, 0xc4, 0xde,
+ 0x09, 0x10, 0xc6, 0xdb, 0xf8, 0xa3, 0xfb, 0xb1, 0xad, 0x27,
+ 0x59, 0xf5, 0xe0, 0xf0, 0x68, 0xdc, 0xa6, 0xa3, 0xec, 0xb1,
+ 0x0e, 0xee, 0x34, 0x61, 0x2a, 0xe7, 0xcc, 0xf0, 0x1d, 0xbe,
+ 0xfc, 0xd3, 0x72, 0x7a, 0x1c, 0xeb, 0xce, 0x73, 0x1f, 0x97,
+ 0x2f, 0xda, 0x23, 0x43, 0x89, 0xf3, 0xe2, 0xc5, 0xc4, 0xc2,
+ 0x09, 0xde, 0xb5, 0xb4, 0x99, 0xff, 0x8d, 0xba, 0x88, 0xa0,
+ 0x16, 0xd4, 0xa8, 0x23, 0x3a, 0xfa, 0xe3, 0xfc, 0x02, 0x22,
+ 0xcb, 0x56, 0x0e, 0x21, 0xae, 0xe7, 0x85, 0x7f, 0x24, 0xea,
+ 0x74, 0x37, 0x05, 0x3b, 0x04, 0x44, 0x55, 0xac, 0x1c, 0x42,
+ 0x9f, 0x0d, 0xc9, 0xfe, 0x48, 0x17, 0xc1, 0x48, 0xfd, 0x66,
+ 0x1a, 0x79, 0xf6, 0x38, 0x46, 0x6e, 0x6a, 0xc9, 0x76, 0x3e,
+ 0x57, 0x98, 0xca, 0x63, 0x8d, 0x4c, 0xa4, 0x76, 0x8a, 0x21,
+ 0xfa, 0x80, 0xe6, 0x06, 0x17, 0x74, 0x59, 0x0a, 0xb9, 0xe5,
+ 0xca, 0x3e, 0x49, 0x53, 0x37, 0xe2, 0x3c, 0xdf, 0x4e, 0x58,
+ 0x3f, 0xda, 0x88, 0xe8, 0x70, 0x41, 0xaa, 0x1a, 0x88, 0xdf,
+ 0x98, 0x3f, 0x3e, 0x13, 0xf6, 0x79, 0x08, 0x49, 0x84, 0x8b,
+ 0xbc, 0x6f, 0x3e, 0x86, 0xe6, 0x9e, 0x58, 0x25, 0xf7, 0x0b,
+ 0xac, 0x31, 0x5f, 0x30, 0x77, 0x53, 0x34, 0x5b, 0x67, 0x6e,
+ 0x13, 0xe0, 0xd8, 0x88, 0x79, 0x1b, 0xc0, 0x41, 0x84, 0xdf,
+ 0xd5, 0xc3, 0x6a, 0x8d, 0x78, 0x2d, 0x60, 0xaf, 0xf4, 0x7b,
+ 0xe3, 0xff, 0x96, 0xb8, 0x4a, 0xc7, 0x0f, 0x0b, 0x48, 0x80,
+ 0xff, 0x17, 0xcc, 0x51, 0xd4, 0xc1, 0x21, 0xfb, 0x8d, 0xa4,
+ 0x0c, 0x8c, 0xc6, 0x2f, 0x5f, 0x2a, 0x44, 0xda, 0x50, 0x19,
+ 0x8e, 0xa7, 0x73, 0x61, 0xdd, 0xe4, 0x6f, 0x45, 0xe9, 0xef,
+ 0x8f, 0x85, 0x1b, 0xa1, 0x1c, 0x1f, 0x68, 0xc2, 0x54, 0x0d,
+ 0x5b, 0x23, 0x3a, 0xbf, 0x3b, 0x65, 0x69, 0x4a, 0x95, 0x45,
+ 0x05, 0x55, 0xd1, 0x87, 0x1b, 0xb3, 0xc8, 0x9f, 0x6a, 0x20,
+ 0x5a, 0x62, 0x9a, 0x14, 0x16, 0x9d, 0xc6, 0xfb, 0xb5, 0x0c,
+ 0x17, 0x5e, 0xde, 0x59, 0xd8, 0xcc, 0x72, 0xeb, 0xda, 0x78,
+ 0x74, 0xc8, 0xd1, 0x5f, 0x38, 0x28, 0x72, 0x07, 0x81, 0x15,
+ 0x95, 0xed, 0xef, 0x3f, 0xfd, 0xff, 0x07, 0x4a, 0xd2, 0x6c,
+ 0x77, 0x55, 0x7b, 0xd7, 0x78, 0x60, 0xb3, 0x4c, 0xd9, 0xa0,
+ 0x39, 0x3d, 0x0e, 0x94, 0x67, 0xd8, 0xee, 0xaa, 0xf6, 0x6d,
+ 0xf0, 0xc0, 0xa5, 0x98, 0x71, 0x83, 0xa5, 0x64, 0x01, 0xd9,
+ 0x6b, 0x14, 0x11, 0x9d, 0xd2, 0xab, 0x92, 0xd7, 0x3d, 0x59,
+ 0xa9, 0xba, 0xfc, 0x03, 0x5c, 0xd3, 0xf1, 0x3a, 0xd5, 0x01,
+ 0x92, 0x52, 0xf3, 0x7d, 0x12, 0x11, 0xea, 0x87, 0xe0, 0x82,
+ 0x97, 0x34, 0xd3, 0x7d, 0xf3, 0x7e, 0x7c, 0x26, 0x2f, 0xf2,
+ 0x10, 0x92, 0xcb, 0xd5, 0x0c, 0x9a, 0x32, 0x63, 0x57, 0x6e,
+ 0x94, 0x76, 0x66, 0xf3, 0xbb, 0x9c, 0x80, 0x1a, 0x97, 0x67,
+ 0x57, 0xc6, 0xd9, 0x98, 0x8b, 0xec, 0xd7, 0x42, 0x37, 0xc3,
+ 0x0f, 0x0c, 0x2e, 0xe8, 0xb2, 0x14, 0x54, 0x01, 0x34, 0xf0,
+ 0xee, 0x16, 0xf2, 0xbe, 0xcf, 0x8f, 0x51, 0x2b, 0x0e, 0x0f,
+ 0xe7, 0x7d, 0x8d, 0xbe, 0xad, 0x50, 0x5a, 0xb3, 0xef, 0x6a,
+ 0x45, 0xc4, 0x8e, 0x19, 0xbb, 0x05, 0x5d, 0x2b, 0xd2, 0x94,
+ 0xe9, 0x8a, 0x0a, 0xaa, 0x61, 0xcd, 0x36, 0xa5, 0x53, 0xfd,
+ 0xd4, 0x40, 0xb4, 0xc4, 0xf7, 0x28, 0x2c, 0xf9, 0x4f, 0x35,
+ 0xa9, 0x18, 0x2e, 0xbc, 0x7f, 0xb2, 0x73, 0x5b, 0xe4, 0x15,
+ 0x5e, 0xd6, 0x1f, 0x43, 0x73, 0x4f, 0x2c, 0xf3, 0x9a, 0xe4,
+ 0x56, 0xf9, 0xce, 0x18, 0xda, 0xc8, 0xf9, 0x89, 0xa8, 0x6b,
+ 0x5e, 0xf7, 0xba, 0xc6, 0x59, 0x86, 0x11, 0x14, 0x72, 0xfb,
+ 0x15, 0x3c, 0xf2, 0xa2, 0xd8, 0x41, 0xe0, 0xf8, 0xc6, 0xdf,
+ 0xe5, 0x68, 0x9d, 0xdb, 0x13, 0xb1, 0x1b, 0xae, 0xe3, 0x45,
+ 0x7a, 0x5c, 0xb6, 0x87, 0xd6, 0x82, 0x84, 0x6a, 0x71, 0xd5,
+ 0x30, 0x75, 0x9e, 0xbc, 0x3b, 0x06, 0xb8, 0x65, 0x21, 0x74,
+ 0x69, 0x02, 0xe7, 0xa4, 0x25, 0xfa, 0x24, 0x22, 0x17, 0xcd,
+ 0x03, 0xc7, 0xed, 0x68, 0x65, 0xfa, 0x25, 0xfc, 0xf8, 0x4c,
+ 0x5e, 0x27, 0x20, 0xe7, 0x55, 0x69, 0xa1, 0x12, 0xae, 0xf8,
+ 0xe7, 0x8f, 0xdc, 0x0e, 0xf0, 0xfa, 0xfb, 0xa3, 0xfc, 0xee,
+ 0x65, 0x26, 0x96, 0x8e, 0x24, 0xfe, 0x91, 0x95, 0x21, 0x7a,
+ 0x71, 0xad, 0x65, 0xc5, 0x58, 0xd6, 0xe5, 0x8c, 0xaa, 0x39,
+ 0xde, 0xd2, 0x59, 0x80, 0xa0, 0x17, 0x4c, 0x14, 0x77, 0x6c,
+ 0x9d, 0xa4, 0x6b, 0xb4, 0x9f, 0x9e, 0xe2, 0x25, 0x69, 0x36,
+ 0xda, 0xcb, 0xdc, 0x8a, 0x3c, 0x30, 0xb8, 0x26, 0x8d, 0x50,
+ 0x46, 0x21, 0x7b, 0x85, 0xdd, 0x93, 0xc7, 0x1f, 0x56, 0xc1,
+ 0xe3, 0x02, 0x0d, 0x2c, 0x37, 0x06, 0x41, 0x90, 0x39, 0xcc,
+ 0x34, 0xf2, 0x2f, 0x70, 0x8c, 0xdc, 0xd4, 0x51, 0xec, 0x7c,
+ 0xae, 0xf3, 0x2a, 0xe1, 0x1a, 0x78, 0x77, 0x0b, 0x79, 0x5f,
+ 0x86, 0xa6, 0xc9, 0xf4, 0x07, 0xe6, 0x92, 0xdf, 0x60, 0x5a,
+ 0x53, 0x9e, 0xfd, 0xf6, 0x2a, 0x36, 0xb6, 0x94, 0x91, 0x6a,
+ 0x8a, 0xd0, 0x32, 0xbe, 0xe5, 0x08, 0x63, 0x8c, 0x7c, 0xb0,
+ 0x9c, 0xb9, 0xb7, 0xf2, 0xcd, 0x9b, 0x70, 0x78, 0x34, 0x6e,
+ 0x94, 0xb5, 0x92, 0x0f, 0xd7, 0x39, 0xa6, 0xd2, 0x60, 0x64,
+ 0xb0, 0xff, 0xd9, 0x6c, 0x83, 0xc2, 0xbe, 0x54, 0x88, 0x77,
+ 0xa0, 0x32, 0xdf, 0x8d, 0xe6, 0xc2, 0x79, 0x0b, 0xde, 0x8a,
+ 0x11, 0x1d, 0x90, 0xc3, 0x3d, 0x2e, 0x5b, 0xa2, 0x6b, 0x41,
+ 0x42, 0x35, 0xd9, 0x8b, 0x18, 0xdb, 0x4f, 0x5e, 0x2f, 0x6b,
+ 0xee, 0xc0, 0xd8, 0xc6, 0x16, 0x98, 0x4d, 0x72, 0x2b, 0x9d,
+ 0x67, 0x0c, 0x6d, 0x64, 0x9d, 0xa5, 0x54, 0xd4, 0x2f, 0x9a,
+ 0x5d, 0x63, 0xcd, 0x43, 0xe9, 0x0a, 0x39, 0x9c, 0xeb, 0x1e,
+ 0x81, 0x24, 0x9f, 0x33, 0x0d, 0xdd, 0x7b, 0x1c, 0x23, 0x37,
+ 0x35, 0x85, 0x3b, 0x1f, 0xca, 0x4c, 0xa2, 0xd5, 0x43, 0x90,
+ 0x82, 0x75, 0xf9, 0xf2, 0x08, 0xb6, 0xa5, 0x84, 0xdc, 0x09,
+ 0x30, 0x4f, 0x76, 0x0c, 0xb3, 0xca, 0x42, 0xe8, 0xd2, 0x04,
+ 0x0d, 0x8b, 0x4a, 0x37, 0x48, 0x44, 0x2e, 0x59, 0x4b, 0x47,
+ 0x12, 0x7f, 0xa9, 0xab, 0xf1, 0x3d, 0xd9, 0xb7, 0xd3, 0x83,
+ 0x2c, 0x6b, 0x93, 0x46, 0xe4, 0xf4, 0x38, 0x15, 0x5f, 0xe6,
+ 0x3e, 0xed, 0x5e, 0x77, 0x46, 0x86, 0xd1, 0x25, 0x07, 0x49,
+ 0x06, 0x4d, 0x19, 0xd0, 0xca, 0x37, 0x4a, 0x3b, 0x33, 0x98,
+ 0xbc, 0x4e, 0x40, 0x0d, 0xaa, 0xd2, 0x55, 0xfd, 0x6f, 0x69,
+ 0xcd, 0x40, 0x50, 0xea, 0x26, 0x0a, 0xda, 0x36, 0xaf, 0x52,
+ 0xd4, 0x5a, 0xae, 0x4f, 0x71, 0xf3, 0xd5, 0x1b, 0x6d, 0x84,
+ 0x6e, 0x45, 0x1e, 0x18, 0x5c, 0x13, 0xa7, 0x28, 0x1c, 0x81,
+ 0xcb, 0xe7, 0x22, 0x47, 0x26, 0x7f, 0xee, 0x74, 0xdc, 0x8f,
+ 0x02, 0x83, 0x21, 0x52, 0x75, 0xcb, 0x5e, 0xa2, 0x27, 0x12,
+ 0xf7, 0xf8, 0xf5, 0xc7, 0x14, 0x10, 0x68, 0xa3, 0x7b, 0x30,
+ 0x5b, 0x5c, 0xeb, 0xfb, 0xdc, 0x82, 0x43, 0x34, 0x51, 0x30,
+ 0xb4, 0x90, 0xae, 0xf2, 0x25, 0x73, 0x04, 0x76, 0xaf, 0x21,
+ 0x8c, 0x9b, 0xcd, 0x93, 0x22, 0x51, 0x69, 0x74, 0xc1, 0xb7,
+ 0xcc, 0x9c, 0x27, 0x87, 0x73, 0x82, 0x03, 0x33, 0x4f, 0x7d,
+ 0x09, 0xd0, 0xf9, 0x75, 0x26, 0xa1, 0x36, 0x9f, 0x4d, 0x0a,
+ 0x0b, 0xaf, 0x63, 0x9c, 0xbb, 0x06, 0xea, 0x2f, 0x6f, 0xcd,
+ 0x6c, 0x66, 0x39, 0x94, 0x9c, 0x59, 0x0f, 0x4d, 0x0c, 0xcc,
+ 0xff, 0x37, 0x24, 0xc6, 0x62, 0x17, 0x98, 0xc1, 0xd8, 0x39,
+ 0x20, 0x36, 0x31, 0xcb, 0xea, 0x52, 0xa7, 0x12, 0xd3, 0xcd,
+ 0xce, 0x26, 0xc7, 0xf1, 0xaf, 0x6a, 0x53, 0xb0, 0x76, 0xb9,
+ 0x07, 0x77, 0x1a, 0xd1, 0x15, 0x92, 0x66, 0x78, 0xef, 0x5f,
+ 0x7e, 0x88, 0xd0, 0xaf, 0x5f, 0x7b, 0x4c, 0x06, 0xe6, 0x65,
+ 0x27, 0x6c, 0x86, 0xc7, 0x55, 0xfa, 0xd2, 0x8a, 0x95, 0x49,
+ 0xc9, 0x96, 0xf4, 0x6f, 0x04, 0x86, 0x89, 0xe1, 0x3b, 0xe2,
+ 0x78, 0x31, 0xb0, 0xe5, 0xf3, 0x5e, 0x83, 0xd8, 0xc3, 0xae,
+ 0x64, 0x8b, 0x0c, 0xed, 0x16, 0xc6, 0xb2, 0xec, 0x28, 0x89,
+ 0x85, 0x52, 0x30, 0x12, 0x81, 0x46, 0xb6, 0x8f, 0x01, 0x66,
+ 0x5c, 0xf1, 0xfa, 0xa8, 0x06, 0xd0, 0x88, 0x34, 0x59, 0xe8,
+ 0xf5, 0x7e, 0x80, 0xad, 0x8e, 0x10, 0x6c, 0x70, 0xdb, 0xef,
+ 0xa2, 0x90, 0xb0, 0xf5, 0x0c, 0xe5, 0xb1, 0xf0, 0xcc, 0x53,
+ 0x91, 0xf8, 0x17, 0xad, 0xdf, 0x2a, 0xe0, 0x34, 0x22, 0x0d,
+ 0x87, 0x3a, 0xac, 0xfe, 0x20, 0xba, 0xc2, 0x04, 0x1b, 0x1c,
+ 0x46, 0x4b, 0xc9, 0x24, 0x0b, 0x2b, 0x70, 0x2a, 0xbe, 0x0f,
+ 0x7c, 0x19, 0xbc, 0xee, 0x8c, 0xcf, 0x61, 0x4a, 0x0e, 0x92,
+ 0x02, 0x3b, 0xb6, 0xf1, 0x46, 0xac, 0x87, 0xa8, 0x11, 0xc9,
+ 0xd5, 0x3a, 0x81, 0xba, 0x66, 0x4e, 0xc9, 0xa4, 0x60, 0x24,
+ 0xc1, 0x8c, 0xaf, 0xdd, 0x02, 0xcc, 0xb8, 0x21, 0x37, 0x93,
+ 0x0c, 0x63, 0xdb, 0x84, 0x2f, 0x51, 0xf2, 0x09, 0x9a, 0x7c,
+ 0x9b, 0x82, 0x0a, 0x08, 0x34, 0xb0, 0xdc, 0x18, 0xb6, 0xb8,
+ 0x15, 0x35, 0x7b, 0xc7, 0x86, 0x68, 0xa2, 0x60, 0xab, 0xe3,
+ 0x9f, 0x27, 0x4a, 0xe6, 0x40, 0x6c, 0x62, 0x55, 0x17, 0xa4,
+ 0x8d, 0x24, 0x65, 0x59, 0x5f, 0x4c, 0x4d, 0x21, 0x9d, 0xd4,
+ 0x4e, 0xcd, 0xe6, 0xc7, 0x06, 0x66, 0x9e, 0xfa, 0x12, 0x63,
+ 0x31, 0xea, 0x4c, 0x81, 0x6c, 0xfd, 0xd7, 0x1e, 0x1d, 0x32,
+ 0xa5, 0x67, 0x0e, 0x0a, 0xfd, 0x71, 0xb1, 0x94, 0xb4, 0xaa,
+ 0x4b, 0x7f, 0xab, 0xc5, 0x85, 0x4b, 0x7a, 0xd6, 0x02, 0x43,
+ 0xa5, 0x91, 0xfc, 0x71, 0x3c, 0xf9, 0x58, 0x93, 0x98, 0x2f,
+ 0xa0, 0x6c, 0x80, 0x57, 0x32, 0xa4, 0x06, 0x97, 0x0b, 0x63,
+ 0x59, 0x76, 0x14, 0xa5, 0xc8, 0x58, 0x3b, 0xbd, 0xe2, 0xda,
+ 0x0d, 0x89, 0xeb, 0x49, 0x33, 0x3c, 0x96, 0xce, 0x3f, 0x44,
+ 0xaf, 0xb3, 0x2a, 0x6a, 0xf6, 0x4d, 0xcf, 0xd0, 0x87, 0xc0,
+ 0x95, 0x05, 0xfd, 0x4e, 0x94, 0x0f, 0xa3, 0x29, 0x18, 0x09,
+ 0xa1, 0x23, 0x5b, 0xa6, 0xe1, 0x33, 0x2e, 0x99, 0x7d, 0x54,
+ 0x03, 0x68, 0x44, 0x1a, 0xcd, 0x74, 0x9b, 0x3f, 0x40, 0xb7,
+ 0x47, 0x08, 0x36, 0x38, 0x8c, 0x96, 0x51, 0x48, 0x84, 0xae,
+ 0x6b, 0x8b, 0xa2, 0x10, 0x14, 0xdb, 0xe8, 0xe3, 0xd7, 0xec,
+ 0x5b, 0xf5, 0x35, 0xf7, 0x9e, 0x62, 0xb9, 0xbc, 0x4a, 0x60,
+ 0x78, 0x9f, 0x35, 0x0f, 0xb7, 0x2d, 0x19, 0x7b, 0xbe, 0x77,
+ 0xe2, 0xb9, 0x21, 0xc5, 0x95, 0xd1, 0x74, 0xd6, 0x6d, 0xef,
+ 0xfa, 0xc8, 0x91, 0x28, 0xad, 0x9b, 0xcd, 0xd2, 0xcf, 0x05,
+ 0x4d, 0x17, 0x62, 0x4e, 0x20, 0x9d, 0xd1, 0x55, 0xf6, 0x24,
+ 0xc0, 0xff, 0xfb, 0xb2, 0x1e, 0x9a, 0x18, 0x5b, 0x3d, 0x6e,
+ 0x48, 0x4f, 0xc4, 0x2e, 0xf3, 0x41, 0x73, 0x72, 0x45, 0xe6,
+ 0x96, 0xed, 0xb8, 0x69, 0xe2, 0xe3, 0xae, 0x8d, 0xbd, 0x25,
+ 0x2d, 0xcb, 0x62, 0x6f, 0x23, 0xf1, 0xdc, 0xa3, 0x8f, 0xa8,
+ 0x82, 0xee, 0x2b, 0x81, 0x90, 0x01, 0xe7, 0x16, 0xfa, 0x03,
+ 0xc6, 0xf9, 0xbf, 0x2f, 0xf3, 0x18, 0x1e, 0x57, 0x9c, 0x73,
+ 0x5d, 0x9a, 0x97, 0x6e, 0xce, 0x6d, 0x3d, 0x4b, 0xa1, 0xb5,
+ 0xeb, 0x43, 0x23, 0x39, 0xd4, 0x3c, 0x99, 0xb4, 0x64, 0x2f,
+ 0xbd, 0x1f, 0x17, 0xaa, 0xbb, 0xcd, 0x9c, 0x48, 0x5a, 0x66,
+ 0x52, 0x9a, 0x50, 0x40, 0x63, 0xc9, 0x2f, 0xc0, 0xeb, 0xa9,
+ 0xe7, 0x1e, 0x6d, 0x72, 0x8f, 0x67, 0xc0, 0xc8, 0xa3, 0x3d,
+ 0x71, 0xd8, 0xc5, 0x47, 0x2e, 0x97, 0xb5, 0x59, 0xfb, 0x90,
+ 0xb4, 0xcc, 0xa4, 0xf7, 0xa0, 0x80, 0xc6, 0x51, 0x5e, 0x43,
+ 0xcb, 0x9f, 0xd6, 0xd5, 0x87, 0x20, 0x28, 0x75, 0x13, 0x05,
+ 0x6d, 0x1b, 0xb6, 0x29, 0x6a, 0x2d, 0xb2, 0xce, 0xba, 0x14,
+ 0xf7, 0x5c, 0x4b, 0xfb, 0x80, 0x31, 0xc2, 0x97, 0x5e, 0x90,
+ 0x86, 0x7a, 0x5c, 0xed, 0xa9, 0xb2, 0x35, 0xe3, 0xab, 0x5b,
+ 0x8b, 0x2d, 0x83, 0xc3, 0x4f, 0xa2, 0xbc, 0x86, 0x4a, 0xbb,
+ 0x49, 0xe6, 0x8a, 0xfd, 0x53, 0x69, 0x30, 0x32, 0x58, 0x9e,
+ 0x8d, 0x36, 0xa0, 0x61, 0x64, 0x2c, 0xfc, 0xbf, 0x71, 0x6d,
+ 0xe7, 0xa5, 0x94, 0xc5, 0xf8, 0x1e, 0x4b, 0x67, 0xfe, 0x22,
+ 0x71, 0xbd, 0xf1, 0x83, 0xab, 0x89, 0x3a, 0x6b, 0xd7, 0x96,
+ 0x7d, 0x64, 0xa9, 0x14, 0xb7, 0xac, 0x35, 0xa7, 0x3c, 0xf7,
+ 0x30, 0xb6, 0x7a, 0xdc, 0x90, 0x9e, 0x4b, 0x5c, 0x25, 0x82,
+ 0xe6, 0xe4, 0xc7, 0x05, 0xe4, 0xb6, 0xd0, 0x4e, 0xbc, 0x03,
+ 0x75, 0xf6, 0xd6, 0x87, 0x36, 0x33, 0xfd, 0x4a, 0x07, 0xb1,
+ 0x42, 0x49, 0xe9, 0x61, 0xe8, 0x6f, 0xda, 0x1d, 0x37, 0x53,
+ 0xe1, 0x50, 0x99, 0xf5, 0x59, 0x67, 0x5d, 0x0a, 0x9a, 0x2e,
+ 0xc4, 0x9c, 0x40, 0xf9, 0x61, 0xaa, 0x2f, 0x48, 0x43, 0x3d,
+ 0x38, 0xc1, 0x55, 0x0d, 0x44, 0x8e, 0x4c, 0xfe, 0x1f, 0xe8,
+ 0x7b, 0xdd, 0x04, 0xc5, 0x42, 0xa4, 0xea, 0x55, 0xbc, 0x87,
+ 0x4e, 0x24, 0x2d, 0x33, 0x29, 0x4d, 0x28, 0x20, 0xd0, 0x85,
+ 0xf6, 0x60, 0x37, 0x9c, 0x8a, 0x06, 0x76, 0x1a, 0xfd, 0x74,
+ 0x81, 0x57, 0x9e, 0x66, 0xa4, 0x38, 0x80, 0xaa, 0x63, 0x9d,
+ 0xbe, 0xf6, 0x98, 0x0c, 0x0f, 0xca, 0x4e, 0xd8, 0xcf, 0x4d,
+ 0xaa, 0x37, 0x67, 0xd7, 0x18, 0xf7, 0x64, 0xc6, 0xae, 0xdc,
+ 0xeb, 0xec, 0xcc, 0x25, 0xb5, 0xfb, 0xc3, 0x34, 0xed, 0xce,
+ 0xa7, 0x5f, 0xb7, 0x28, 0x2d, 0xb8, 0x96, 0x35, 0xc3, 0x62,
+ 0x47, 0xed, 0xbc, 0xe3, 0xcf, 0xf4, 0x58, 0x9b, 0x06, 0x93,
+ 0xb9, 0x78, 0x66, 0xc8, 0xa9, 0x7c, 0xea, 0xb7, 0x8e, 0x15,
+ 0x70, 0x1a, 0x11, 0xe7, 0xa2, 0x1d, 0x56, 0x7f, 0x10, 0x5d,
+ 0x61, 0x02, 0xec, 0x0e, 0x23, 0xc4, 0x85, 0x12, 0xf5, 0x13,
+ 0x9a, 0x08, 0x09, 0x99, 0x2e, 0xb0, 0x3f, 0x75, 0xaa, 0x88,
+ 0xf2, 0xe1, 0x82, 0x5b, 0xd9, 0xbf, 0x99, 0xa0, 0xb4, 0xa5,
+ 0x1d, 0xd4, 0x8a, 0x4b, 0xdf, 0x32, 0xb5, 0x0a, 0xba, 0x56,
+ 0xe9, 0x92, 0x51, 0xef, 0x2b, 0xde, 0x08, 0xcf, 0xd1, 0x01,
+ 0x76, 0x07, 0xf0, 0x62, 0xa3, 0x09, 0x25, 0xbc, 0xc5, 0x73,
+ 0x45, 0x9f, 0xc8, 0xd5, 0x18, 0x19, 0x2c, 0x4f, 0xa7, 0x1b,
+ 0x50, 0xd1, 0xf8, 0x75, 0xf3, 0xf2, 0x7d, 0xa1, 0x18, 0x92,
+ 0xb0, 0x03, 0x9a, 0x09, 0xd3, 0xa6, 0x26, 0x1b, 0x97, 0x72,
+ 0x7f, 0x67, 0xb2, 0xc3, 0x83, 0x2e, 0x98, 0x28, 0xee, 0xd8,
+ 0xf9, 0x8b, 0xd6, 0xab, 0xb1, 0x09, 0x57, 0x7c, 0x92, 0xa6,
+ 0x6e, 0x07, 0x78, 0x7d, 0x9c, 0xb0, 0x7e, 0x77, 0xd3, 0x13,
+ 0x19, 0x0b, 0x3f, 0x5f, 0x8d, 0x8a, 0x49, 0xb8, 0x25, 0xa0,
+ 0x3e, 0xe6, 0x62, 0x69, 0xde, 0xe9, 0x0f, 0x5d, 0xdf, 0x0b,
+ 0x32, 0x94, 0xb1, 0x8a, 0x9e, 0xbf, 0xe5, 0xbb, 0xa0, 0xfd,
+ 0xc2, 0x0e, 0x89, 0xc8, 0x02, 0x71, 0xd6, 0x28, 0x22, 0xf9,
+ 0x67, 0x95, 0xe7, 0x6d, 0x7a, 0xb2, 0x91, 0xb7, 0xdc, 0x35,
+ 0x6d, 0x18, 0x1b, 0x68, 0x72, 0x13, 0x41, 0x9f, 0x3d, 0x5b,
+ 0xd5, 0xe0, 0x45, 0xed, 0x08, 0xec, 0x9d, 0x42, 0xdb, 0xf5,
+ 0x59, 0xe5, 0x44, 0xa2, 0xd2, 0xe8, 0x41, 0xad, 0x5b, 0xfb,
+ 0xf1, 0x65, 0x35, 0x29, 0x85, 0x02, 0xe3, 0x23, 0x1d, 0x24,
+ 0xc3, 0xfc, 0x33, 0x56, 0x4e, 0xc7, 0xa8, 0x02, 0x68, 0x23,
+ 0x1f, 0x2c, 0x27, 0xbf, 0x5d, 0xdd, 0xa2, 0x56, 0x1c, 0x1e,
+ 0x0d, 0xfa, 0x0e, 0xa1, 0x84, 0x92, 0x11, 0xc2, 0x13, 0xde,
+ 0x77, 0x3a, 0x6e, 0xa6, 0x01, 0xa0, 0xf1, 0x29, 0x6f, 0x07,
+ 0x8c, 0x95, 0xcf, 0x62, 0x9b, 0xbc, 0x28, 0x2b, 0x74, 0xd1,
+ 0x2a, 0x2d, 0xf0, 0xb0, 0x7d, 0x27, 0xc3, 0xe0, 0xfc, 0xe7,
+ 0xae, 0x1d, 0xb1, 0x65, 0xc6, 0xf8, 0x29, 0x0e, 0x20, 0xcb,
+ 0xd4, 0xd9, 0xf0, 0x5a, 0xc0, 0x9d, 0x2b, 0xf6, 0x05, 0x3d,
+ 0xef, 0xb3, 0x94, 0x4d, 0x1e, 0x16, 0xbd, 0x93, 0x65, 0x1f,
+ 0xc5, 0xc8, 0xfa, 0x71, 0x1e, 0x8e, 0x27, 0x2c, 0xfe, 0x6d,
+ 0x44, 0x74, 0x86, 0x95, 0xdd, 0x7a, 0xe4, 0xbc, 0x93, 0x73,
+ 0xf9, 0x2a, 0x02, 0xd6, 0xda, 0x4f, 0x53, 0xb9, 0xec, 0x18,
+ 0xa5, 0x57, 0x84, 0x13, 0x67, 0x08, 0x1a, 0xd5, 0x94, 0x6e,
+ 0x90, 0x88, 0x5c, 0xb2, 0x32, 0x16, 0x7e, 0xbe, 0xd9, 0xd7,
+ 0x92, 0xb3, 0x4a, 0x83, 0x7c, 0x0f, 0xc4, 0xd2, 0x7f, 0x11,
+ 0x7e, 0xe0, 0x2e, 0x88, 0x99, 0x1d, 0x8b, 0xe1, 0x49, 0x29,
+ 0x98, 0xdf, 0x09, 0xe9, 0x75, 0xa2, 0xed, 0xe4, 0xfe, 0xce,
+ 0xa7, 0x45, 0xc5, 0x5c, 0xf3, 0x50, 0x1f, 0x73, 0x31, 0xd5,
+ 0x6f, 0x95, 0x6e, 0xfb, 0xd7, 0x0c, 0xec, 0x34, 0x39, 0xe8,
+ 0xc1, 0xae, 0xff, 0xcc, 0x8b, 0x70, 0xc3, 0x97, 0xc3, 0x73,
+ 0x4b, 0x97, 0x5c, 0xd5, 0x71, 0x90, 0x57, 0xa7, 0xbf, 0xf3,
+ 0xf7, 0x84, 0x31, 0xd6, 0x21, 0xca, 0x6a, 0x52, 0xc9, 0x04,
+ 0x05, 0x46, 0x3a, 0x48, 0x45, 0x3b, 0x66, 0xac, 0x9c, 0x4d,
+ 0x62, 0x61, 0xe5, 0x6f, 0xbb, 0x5a, 0xad, 0x9e, 0xa7, 0x5d,
+ 0x44, 0x50, 0x0b, 0x6a, 0x54, 0xf0, 0xce, 0x15, 0x22, 0x6d,
+ 0x28, 0xed, 0x47, 0xb2, 0xd8, 0xd1, 0x8f, 0x72, 0xd6, 0xc3,
+ 0x95, 0x96, 0x93, 0x04, 0xd0, 0x46, 0x3e, 0x58, 0x4e, 0xbd,
+ 0xba, 0x79, 0x87, 0xac, 0x38, 0x3c, 0x1a, 0x37, 0x4c, 0xf6,
+ 0x50, 0x36, 0x40, 0xca, 0x19, 0x52, 0x03, 0xaa, 0xe4, 0xd0,
+ 0xcd, 0x3b, 0x0a, 0xb3, 0xde, 0x0e, 0xdb, 0xe9, 0x5d, 0xc4,
+ 0xf5, 0xbb, 0x50, 0x56, 0xe8, 0x61, 0x54, 0x5a, 0x23, 0xa3,
+ 0x3f, 0x70, 0x17, 0x44, 0xad, 0xef, 0xa4, 0x91, 0xc5, 0xf5,
+ 0x4c, 0x8e, 0xe5, 0x95, 0xdb, 0x51, 0x43, 0xab, 0x8f, 0x3d,
+ 0x72, 0x5e, 0xa8, 0xd8, 0x9d, 0x15, 0x01, 0x6b, 0x6d, 0xc6,
+ 0xc8, 0xbd, 0x73, 0x86, 0x47, 0x72, 0xed, 0x25, 0xbd, 0xc3,
+ 0xc6, 0x5f, 0xa8, 0x5e, 0x28, 0xae, 0xd1, 0xe2, 0xad, 0x88,
+ 0x9c, 0x9b, 0xb0, 0xe1, 0x48, 0x78, 0x96, 0x09, 0x40, 0x3f,
+ 0x7c, 0xf4, 0xf2, 0x41, 0xf0, 0x99, 0x6e, 0xb0, 0xa6, 0x54,
+ 0x41, 0x77, 0xf4, 0xa1, 0x48, 0xe1, 0x92, 0x0b, 0x7d, 0xe0,
+ 0x47, 0xdd, 0x20, 0x1c, 0xfe, 0xc5, 0x65, 0x4b, 0xbf, 0x44,
+ 0x68, 0x1f, 0xac, 0x71, 0x04, 0x21, 0x3c, 0xb7, 0xfa, 0x2c,
+ 0xc8, 0x15, 0x81, 0x6d, 0x3d, 0xb9, 0x12, 0xa9, 0xc5, 0x72,
+ 0x8e, 0x38, 0x61, 0xa6, 0x08, 0x07, 0xde, 0xa0, 0x88, 0x62,
+ 0x5f, 0x11, 0x1a, 0x77, 0x2b, 0x8d, 0x01, 0x99, 0x56, 0x3a,
+ 0x82, 0x01, 0xa8, 0xba, 0x75, 0x16, 0xde, 0x46, 0x84, 0x11,
+ 0x8f, 0xb5, 0x81, 0x33, 0x29, 0x26, 0xf7, 0x10, 0x12, 0xf1,
+ 0x5c, 0xa3, 0x7e, 0xea, 0x97, 0xd3, 0x27, 0x01, 0xc7, 0xb6,
+ 0x7b, 0x6a, 0xda, 0x30, 0x36, 0xd0, 0xe4, 0x26, 0x82, 0xfd,
+ 0x7a, 0xb6, 0x69, 0x03, 0x8a, 0x19, 0x10, 0x1b, 0xf9, 0x84,
+ 0x75, 0x29, 0xb2, 0x09, 0x88, 0x87, 0x67, 0x13, 0x82, 0x99,
+ 0xb6, 0x35, 0xff, 0xc4, 0xb1, 0xbb, 0x94, 0xc0, 0xf0, 0xfd,
+ 0x6a, 0x1e, 0xad, 0x5a, 0x32, 0xf6, 0xbf, 0xee, 0x5d, 0x11,
+ 0xf2, 0x2b, 0x16, 0xb5, 0x09, 0x0f, 0x62, 0xa8, 0x08, 0xde,
+ 0xee, 0xff, 0x8f, 0xa1, 0x31, 0xd1, 0x93, 0xd6, 0xbc, 0x2d,
+ 0xb7, 0x4f, 0xb2, 0xcf, 0x22, 0x28, 0xe4, 0x35, 0x2a, 0x78,
+ 0xb7, 0x44, 0x4e, 0xac, 0x58, 0x91, 0x24, 0x3c, 0x4b, 0xe5,
+ 0x20, 0xfe, 0x3e, 0x7a, 0x79, 0xc1, 0xb3, 0x32, 0xe1, 0x8d,
+ 0xd4, 0x0a, 0xe9, 0xaf, 0x69, 0xb4, 0x49, 0x8a, 0xff, 0xcd,
+ 0xb5, 0x5d, 0x6b, 0x71, 0x23, 0xb4, 0x43, 0xf9, 0x56, 0x2f,
+ 0x0a, 0x7a, 0x1d, 0xa5, 0xeb, 0x9a, 0x3c, 0x2c, 0xc0, 0xb4,
+ 0xa6, 0xff, 0x39, 0x2f, 0x54, 0x6c, 0xaf, 0xeb, 0xe1, 0xd4,
+ 0xd7, 0x63, 0x64, 0xbf, 0x7f, 0x1c, 0x75, 0x11, 0xba, 0x4b,
+ 0x29, 0xb5, 0xa0, 0xac, 0x13, 0xc2, 0xa8, 0xb4, 0x46, 0x85,
+ 0x1e, 0xba, 0x7d, 0x16, 0x64, 0xeb, 0xa1, 0xd7, 0xff, 0xbd,
+ 0x09, 0xb5, 0x83, 0x39, 0x47, 0x1c, 0xd1, 0x53, 0x04, 0xe2,
+ 0x6f, 0x50, 0x44, 0x31, 0xce, 0xe9, 0x0d, 0xda, 0xf4, 0xa7,
+ 0xe1, 0xad, 0x78, 0xad, 0x37, 0x58, 0x53, 0x2a, 0xc1, 0xda,
+ 0x7a, 0xb1, 0x24, 0x91, 0x49, 0xe4, 0xdf, 0x70, 0xc2, 0x8f,
+ 0x10, 0x0e, 0x7f, 0x83, 0xd3, 0xc4, 0xbe, 0x22, 0x34, 0xee,
+ 0x56, 0xd9, 0x02, 0xf1, 0xbb, 0xde, 0x7c, 0xcf, 0x0f, 0xff,
+ 0xb0, 0x4a, 0x2d, 0x16, 0x9b, 0x62, 0xbe, 0x60, 0xee, 0xa6,
+ 0x6d, 0x3c, 0x3a, 0x64, 0x89, 0xce, 0x1c, 0x14, 0x39, 0xe2,
+ 0xa1, 0xeb, 0xab, 0x97, 0x96, 0xfe, 0xe1, 0x7e, 0xcc, 0xad,
+ 0xf0, 0x2b, 0x51, 0x2a, 0x95, 0xa3, 0xa4, 0xef, 0xb1, 0xcf,
+ 0xf8, 0xf2, 0x1f, 0x46, 0x26, 0x8f, 0x47, 0xbd, 0x03, 0x83,
+ 0x16, 0x38, 0x82, 0xa8, 0x22, 0x64, 0x74, 0x3b, 0x82, 0xe3,
+ 0x72, 0x5b, 0x68, 0x27, 0x5e, 0xe0, 0xdb, 0x7b, 0x6b, 0xa2,
+ 0x1b, 0xf8, 0x9f, 0x25, 0xba, 0x22, 0x27, 0x56, 0x2c, 0xa9,
+ 0x12, 0x1e, 0xc4, 0x93, 0x10, 0x7f, 0x1f, 0x3d, 0xdd, 0x81,
+ 0x8c, 0x42, 0xf6, 0xc9, 0x79, 0xe5, 0x4d, 0x3e, 0xac, 0x41,
+ 0x05, 0x04, 0x1a, 0x58, 0x6e, 0x0c, 0xcf, 0xe9, 0x79, 0xf4,
+ 0x0b, 0xbb, 0xe5, 0xe6, 0x31, 0x54, 0x04, 0x6f, 0x77, 0x9e,
+ 0xa6, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x38,
+ 0xea, 0x22, 0xb7, 0x96, 0x52, 0xa9, 0x83, 0x9b, 0x26, 0x47,
+ 0x93, 0xab, 0x8c, 0xc9, 0x42, 0x57, 0xd4, 0xa4, 0x51, 0x08,
+ 0x0a, 0x8c, 0x74, 0x90, 0x8a, 0x76, 0xcc, 0x9b, 0xfb, 0x9a,
+ 0xd6, 0xe2, 0x46, 0xab, 0x86, 0x31, 0xac, 0x5e, 0x14, 0xf4,
+ 0x3a, 0x89, 0x15, 0xf7, 0x78, 0x58,
+ },
+ {
+ /* 7 */
+ 0xa5, 0x9d, 0x85, 0x46, 0x8a, 0x0e, 0x61, 0xc4, 0x42, 0xe7,
+ 0xb4, 0xca, 0xc0, 0x3d, 0xf4, 0xe8, 0x2d, 0x30, 0x7c, 0xb1,
+ 0xb2, 0x96, 0xab, 0x86, 0x12, 0x3f, 0xbc, 0x10, 0x25, 0xe6,
+ 0x1e, 0xf1, 0x32, 0xb3, 0x29, 0xf1, 0xe6, 0xb1, 0x53, 0x61,
+ 0xca, 0xf8, 0xa0, 0xd0, 0x5a, 0xc4, 0x96, 0x37, 0x8f, 0xc2,
+ 0x69, 0x55, 0xf0, 0x82, 0xf2, 0x7d, 0x39, 0xb6, 0xe7, 0xff,
+ 0x11, 0x3a, 0xe8, 0x2f, 0x0e, 0xde, 0xe3, 0x87, 0x53, 0x34,
+ 0x70, 0x7e, 0xd2, 0xdc, 0x1d, 0x4a, 0x2b, 0x01, 0x04, 0x6c,
+ 0x30, 0x1b, 0x49, 0x07, 0xfb, 0x7a, 0x43, 0x73, 0xa1, 0x91,
+ 0x25, 0x09, 0xd5, 0x45, 0xd7, 0x23, 0x38, 0xfe, 0x0a, 0x59,
+ 0x8f, 0xd0, 0x03, 0x3b, 0xce, 0xf6, 0x74, 0xeb, 0xac, 0x04,
+ 0x10, 0x73, 0xc0, 0x6c, 0xe7, 0x1c, 0x6a, 0x2b, 0xcf, 0x0f,
+ 0xc1, 0x01, 0x94, 0x24, 0xd2, 0xd7, 0xda, 0x8c, 0x54, 0xbe,
+ 0x1b, 0x26, 0xf4, 0xdb, 0xe5, 0xb1, 0xf6, 0xa2, 0xa6, 0x6a,
+ 0x61, 0x0e, 0x38, 0x4d, 0xe6, 0x45, 0x88, 0x7e, 0x5e, 0x58,
+ 0x3c, 0xda, 0x03, 0xe5, 0x5f, 0x82, 0xa7, 0x50, 0x83, 0x33,
+ 0x9e, 0x9f, 0xdf, 0x92, 0xf7, 0x91, 0x7a, 0xe4, 0x33, 0xad,
+ 0xe6, 0x75, 0x45, 0x19, 0x64, 0x85, 0x39, 0xaa, 0x3a, 0x22,
+ 0x60, 0x54, 0x0b, 0x32, 0x1a, 0x23, 0xd7, 0x66, 0x0a, 0xa5,
+ 0xd1, 0x79, 0x55, 0xea, 0x2b, 0x5d, 0x1b, 0x5f, 0xed, 0xb8,
+ 0x22, 0x77, 0x05, 0xe7, 0xc7, 0xaf, 0xf9, 0x47, 0x7e, 0xe1,
+ 0xf7, 0x35, 0x8e, 0x57, 0x76, 0x08, 0x8d, 0xf3, 0xf5, 0x5f,
+ 0xb0, 0x09, 0x24, 0x8a, 0x52, 0x85, 0xbb, 0xff, 0xd3, 0x45,
+ 0xd5, 0x87, 0x4b, 0x19, 0xea, 0xc2, 0x33, 0x4e, 0xfb, 0x71,
+ 0x91, 0x15, 0x0c, 0x6e, 0x4b, 0x21, 0x02, 0x93, 0x35, 0xa4,
+ 0x58, 0xb2, 0xc8, 0xb9, 0xa1, 0xe3, 0x64, 0xa5, 0x52, 0x21,
+ 0x0f, 0xa1, 0xa6, 0xc2, 0x57, 0x33, 0x83, 0x63, 0xb4, 0x4b,
+ 0xef, 0x6e, 0x03, 0xfc, 0x50, 0x8d, 0xf2, 0x4f, 0x18, 0x1b,
+ 0xbf, 0xbc, 0x26, 0x54, 0x29, 0x20, 0x80, 0x1e, 0x57, 0x42,
+ 0x4b, 0xab, 0x06, 0x94, 0xfd, 0xaa, 0x49, 0x1e, 0x80, 0x3e,
+ 0x48, 0x2e, 0xb8, 0x53, 0x5a, 0x60, 0xf8, 0xa1, 0xa7, 0xef,
+ 0x95, 0xcf, 0x24, 0x7e, 0xbb, 0x20, 0x4a, 0x0f, 0x3c, 0x21,
+ 0x1c, 0x7f, 0x05, 0xcd, 0xa6, 0x68, 0xe0, 0xfc, 0x67, 0x7b,
+ 0x3a, 0x94, 0x56, 0x02, 0x08, 0xd8, 0x60, 0x36, 0x92, 0x0e,
+ 0x35, 0xf4, 0x86, 0xe6, 0x81, 0xe1, 0x4a, 0x12, 0x69, 0x8a,
+ 0x6d, 0x46, 0x07, 0x6f, 0x90, 0xa2, 0xc8, 0x1a, 0x38, 0x3f,
+ 0x69, 0x6e, 0xef, 0x25, 0xf4, 0xe1, 0x02, 0x36, 0x18, 0xec,
+ 0xc5, 0xe2, 0x9c, 0x3d, 0xc0, 0xd8, 0xb1, 0xa9, 0xf3, 0xe5,
+ 0x8b, 0xc3, 0x8a, 0xf0, 0x21, 0x46, 0xff, 0xc0, 0xfc, 0x69,
+ 0xcb, 0xea, 0xab, 0x8a, 0x24, 0x83, 0x81, 0x66, 0x5b, 0x89,
+ 0x72, 0x97, 0x74, 0x44, 0xc0, 0xa8, 0x16, 0x64, 0x34, 0x46,
+ 0x6d, 0xcc, 0x14, 0x89, 0x61, 0xf2, 0xa8, 0xbf, 0x36, 0x4c,
+ 0x2b, 0x75, 0x09, 0xa1, 0x2f, 0x87, 0x8f, 0xd4, 0xc2, 0x1c,
+ 0x70, 0x9a, 0xd1, 0x31, 0x51, 0xdb, 0x6d, 0x38, 0x47, 0x96,
+ 0xcb, 0x1a, 0x95, 0xae, 0x86, 0xf4, 0x56, 0x26, 0x29, 0xa3,
+ 0xbc, 0x9e, 0x88, 0xc3, 0x8b, 0xa2, 0xc4, 0xed, 0x75, 0x61,
+ 0xf8, 0x27, 0x9c, 0xd9, 0xc6, 0x57, 0x47, 0xc5, 0x4d, 0xb5,
+ 0xff, 0x39, 0x7c, 0xba, 0xd8, 0x8c, 0x80, 0x97, 0x19, 0xb0,
+ 0xa4, 0xc9, 0xb5, 0x3d, 0x65, 0x8a, 0x69, 0xcd, 0x96, 0x32,
+ 0x17, 0x47, 0x66, 0x9c, 0x35, 0xe2, 0x3f, 0x91, 0x9a, 0xfb,
+ 0x47, 0xca, 0x3b, 0x04, 0xa7, 0x98, 0x9b, 0xce, 0x58, 0xe5,
+ 0x12, 0x45, 0xe0, 0x7e, 0x28, 0xa7, 0x79, 0xc6, 0x0c, 0xec,
+ 0xbe, 0x5e, 0x13, 0x2a, 0xf5, 0x10, 0x40, 0x0f, 0x27, 0x7d,
+ 0x5f, 0x19, 0xdb, 0xf7, 0xfb, 0xdc, 0x16, 0x31, 0x68, 0x2b,
+ 0xd3, 0x26, 0x98, 0xb5, 0x8d, 0x6a, 0x09, 0xa3, 0xed, 0x49,
+ 0xe2, 0x6f, 0x52, 0xdf, 0x62, 0x26, 0x9e, 0xbb, 0xa9, 0x3b,
+ 0x0c, 0x76, 0x83, 0x71, 0x4e, 0xff, 0x60, 0x6c, 0xb9, 0xb5,
+ 0x98, 0x93, 0xa4, 0x80, 0x45, 0x78, 0x82, 0xe0, 0xda, 0x5f,
+ 0x51, 0xf9, 0x9a, 0x18, 0x54, 0xd6, 0xdc, 0xe1, 0x13, 0x1b,
+ 0x6c, 0x5d, 0xea, 0x33, 0x0b, 0x0f, 0x10, 0xa7, 0x5c, 0xb6,
+ 0xba, 0x50, 0xc7, 0x11, 0x03, 0xd0, 0xc6, 0x4b, 0xae, 0x84,
+ 0x96, 0x95, 0x0c, 0xeb, 0x39, 0x97, 0x92, 0x3c, 0xc3, 0x7c,
+ 0x90, 0x5c, 0xb3, 0xa6, 0xb4, 0xc0, 0x33, 0x81, 0x8d, 0x1d,
+ 0xe9, 0x5d, 0x48, 0xfc, 0xb5, 0x40, 0x94, 0x1e, 0x78, 0x42,
+ 0x9a, 0x0c, 0x1f, 0xbd, 0xcd, 0xc4, 0x5a, 0xc0, 0xe5, 0x7f,
+ 0x2f, 0x04, 0x98, 0xd8, 0xe6, 0xad, 0x63, 0xca, 0xc2, 0x83,
+ 0xc7, 0xbb, 0x9e, 0xfd, 0x3e, 0x5d, 0x6c, 0x46, 0x40, 0xaa,
+ 0xed, 0x58, 0x49, 0x95, 0x2e, 0x90, 0xbd, 0x37, 0x0d, 0x44,
+ 0x45, 0x0c, 0x3f, 0x73, 0x91, 0xad, 0xf1, 0x9f, 0xe5, 0xb9,
+ 0xd8, 0xf3, 0xac, 0x17, 0x24, 0xc1, 0xbc, 0x59, 0x79, 0xd6,
+ 0x8e, 0x70, 0x03, 0x2d, 0x42, 0x8c, 0x3d, 0x43, 0x3b, 0xd2,
+ 0x55, 0x17, 0x95, 0xd7, 0x48, 0xc5, 0xc1, 0xcc, 0xb6, 0xd1,
+ 0xe4, 0xed, 0xe8, 0x88, 0x43, 0x93, 0x2c, 0xc8, 0x68, 0x8c,
+ 0xda, 0x5b, 0x28, 0xd1, 0xc2, 0x27, 0x15, 0xce, 0x76, 0xe8,
+ 0x3d, 0x46, 0xa8, 0xbd, 0xdc, 0xc9, 0xc8, 0xfb, 0x89, 0xe2,
+ 0x0e, 0x82, 0xb7, 0x3c, 0x63, 0x0c, 0x7f, 0x52, 0xf1, 0x46,
+ 0xf7, 0x40, 0x93, 0x14, 0xbd, 0x3e, 0xf8, 0x5c, 0xc8, 0x89,
+ 0xa4, 0x42, 0x1e, 0x81, 0x8f, 0x47, 0xae, 0x66, 0xc5, 0xc6,
+ 0xab, 0x96, 0x1d, 0xdc, 0x06, 0x3b, 0xa0, 0xd9, 0x27, 0x9e,
+ 0x30, 0x36, 0xbd, 0xbb, 0x4c, 0xa8, 0x52, 0x40, 0xc3, 0x3c,
+ 0x70, 0x3f, 0x14, 0xb2, 0xdd, 0x63, 0x06, 0x76, 0x5f, 0x2f,
+ 0xe8, 0x15, 0x9b, 0x08, 0x20, 0xe6, 0x9d, 0x63, 0x8f, 0x1f,
+ 0x05, 0xde, 0x62, 0xff, 0x8c, 0x11, 0xc0, 0x21, 0x6c, 0x39,
+ 0xe4, 0x9b, 0x41, 0x70, 0x6d, 0xce, 0xc9, 0x9d, 0x4d, 0x0c,
+ 0x2a, 0x6b, 0x6e, 0x91, 0xe8, 0xec, 0x36, 0xcf, 0x75, 0xf8,
+ 0xe4, 0xe6, 0x08, 0xb2, 0x2e, 0x5b, 0x5d, 0x28, 0x82, 0xe9,
+ 0xe0, 0x68, 0x63, 0xc4, 0x19, 0xb8, 0xf5, 0x99, 0x73, 0xb9,
+ 0xc8, 0xd1, 0x65, 0x7c, 0x50, 0x68, 0x2d, 0x62, 0x4b, 0xfa,
+ 0xc9, 0xdd, 0x94, 0x39, 0xf1, 0x05, 0x87, 0x4e, 0x7a, 0xb3,
+ 0x66, 0x4b, 0x0d, 0x37, 0xdc, 0xd6, 0xaa, 0x17, 0x56, 0xba,
+ 0x36, 0xbe, 0x19, 0xb3, 0x44, 0xee, 0x0a, 0x0d, 0x4d, 0x9d,
+ 0x31, 0x8e, 0xfc, 0x01, 0x2d, 0x6a, 0xdf, 0xae, 0xec, 0x10,
+ 0xd9, 0x25, 0x29, 0xbe, 0xa3, 0x12, 0x48, 0xd7, 0x4d, 0x06,
+ 0xee, 0xbf, 0x87, 0x62, 0x2d, 0x60, 0x93, 0xde, 0xf6, 0x02,
+ 0x4c, 0x6c, 0x73, 0xb7, 0xbf, 0xd9, 0x20, 0x52, 0x0b, 0xf8,
+ 0xb1, 0x0e, 0x98, 0x27, 0xc2, 0xf6, 0xc4, 0x7f, 0x3f, 0x0c,
+ 0x2a, 0x5f, 0xec, 0x13, 0x7a, 0x8c, 0x93, 0xb9, 0x7b, 0x51,
+ 0x53, 0x35, 0xd1, 0x07, 0x1c, 0xc7, 0x73, 0xc3, 0x44, 0x3f,
+ 0x2f, 0x2c, 0x1e, 0x6d, 0xe0, 0x93, 0xce, 0x41, 0xb2, 0x28,
+ 0xa0, 0xf8, 0x84, 0xdb, 0x7a, 0x86, 0x76, 0x67, 0xaa, 0x2e,
+ 0xe9, 0x6d, 0x90, 0x49, 0x41, 0x5b, 0xaf, 0x61, 0xd5, 0xa2,
+ 0x91, 0xf4, 0x57, 0x6d, 0x67, 0xb2, 0x1d, 0xc8, 0x5c, 0xdf,
+ 0x5b, 0x35, 0xd4, 0x0e, 0xc3, 0x90, 0xb7, 0x91, 0x98, 0x64,
+ 0xd7, 0x14, 0x7e, 0xbd, 0xb2, 0x70, 0xfb, 0xf7, 0x5a, 0x92,
+ 0xaf, 0xd0, 0xa6, 0xee, 0xe3, 0x6f, 0x31, 0x9e, 0x46, 0xe9,
+ 0x60, 0xf1, 0x36, 0xfd, 0x72, 0xac, 0x2b, 0x0b, 0xdc, 0x68,
+ 0x95, 0x08, 0x9b, 0xb0, 0xaf, 0x84, 0xf0, 0xb8, 0x77, 0xa6,
+ 0xdd, 0xcd, 0x86, 0x73, 0x1a, 0x70, 0x6b, 0xac, 0xba, 0x3c,
+ 0x82, 0x04, 0x15, 0x90, 0xce, 0xda, 0xee, 0x75, 0xa7, 0x35,
+ 0xe5, 0xb0, 0x97, 0xc5, 0x71, 0xd6, 0x29, 0x8e, 0x31, 0x13,
+ 0x4f, 0xbc, 0xb5, 0xfc, 0xb1, 0x07, 0xc3, 0xd5, 0x58, 0xcc,
+ 0xc1, 0x70, 0x4a, 0xfb, 0xdf, 0xbc, 0xef, 0x7e, 0x3b, 0x60,
+ 0xb2, 0xfb, 0x93, 0x58, 0xaa, 0x83, 0xd9, 0x6b, 0xf5, 0x47,
+ 0xf9, 0xe8, 0xc6, 0x5e, 0xbb, 0x7e, 0x5b, 0x34, 0xc8, 0xda,
+ 0x48, 0x6b, 0x9d, 0xc6, 0xf0, 0xab, 0x18, 0xad, 0xec, 0xae,
+ 0xfd, 0x2b, 0x46, 0x1f, 0xfd, 0x6c, 0x01, 0x87, 0x75, 0x33,
+ 0x43, 0x05, 0x81, 0xb4, 0x1c, 0x0d, 0x34, 0xf9, 0xd3, 0x99,
+ 0x31, 0x2d, 0x70, 0xf3, 0x57, 0x84, 0xa0, 0x73, 0x10, 0x77,
+ 0x09, 0x75, 0x17, 0x32, 0x9f, 0xcb, 0xef, 0xe9, 0x18, 0x15,
+ 0x72, 0xed, 0xe7, 0x78, 0x45, 0xf8, 0xe3, 0xb8, 0xa5, 0x8f,
+ 0xfd, 0x55, 0x1d, 0x11, 0x30, 0x2a, 0xe4, 0x19, 0x0d, 0xf0,
+ 0x8a, 0x33, 0x05, 0xb3, 0x89, 0xdd, 0xd4, 0xf6, 0xa1, 0x8f,
+ 0xb8, 0xe9, 0x6f, 0xbb, 0xc9, 0x1d, 0xff, 0x52, 0xfd, 0x94,
+ 0x15, 0x04, 0x0f, 0x8a, 0xd3, 0xfc, 0xbc, 0xb0, 0x78, 0x77,
+ 0x06, 0x09, 0xbe, 0xc7, 0x8d, 0xa0, 0xc5, 0x66, 0x9c, 0x37,
+ 0xbf, 0x64, 0xea, 0x5a, 0x6a, 0xf6, 0x58, 0xc4, 0x63, 0xac,
+ 0xca, 0x98, 0x25, 0x91, 0x2f, 0x98, 0x1c, 0x47, 0xaf, 0x5d,
+ 0xbb, 0x94, 0x79, 0x56, 0x39, 0xc9, 0xaa, 0x67, 0x5f, 0xe5,
+ 0x9b, 0x58, 0x2f, 0xc6, 0x22, 0x40, 0x52, 0xc9, 0x31, 0xaa,
+ 0x8c, 0x89, 0x3e, 0x79, 0x27, 0xa7, 0x43, 0xd8, 0x0d, 0x38,
+ 0xd4, 0x56, 0x5d, 0x1e, 0x41, 0x02, 0xeb, 0x48, 0x67, 0x6d,
+ 0x77, 0xdb, 0xef, 0xf4, 0xfb, 0x5b, 0xc5, 0x76, 0x74, 0x9b,
+ 0xb8, 0x57, 0xad, 0xed, 0x78, 0xb0, 0x85, 0x69, 0xd9, 0xd4,
+ 0x12, 0x85, 0x19, 0x92, 0x07, 0xde, 0xa4, 0x7d, 0xc4, 0x4c,
+ 0xff, 0xb5, 0x91, 0x76, 0x79, 0x8e, 0x67, 0x97, 0x46, 0x4d,
+ 0x4e, 0x37, 0xe4, 0x9d, 0x1a, 0x7a, 0x44, 0xe8, 0x26, 0xbc,
+ 0xb6, 0x68, 0x53, 0x77, 0x90, 0xd6, 0xf9, 0x4f, 0x23, 0x95,
+ 0x30, 0x99, 0x1b, 0x9f, 0x39, 0x56, 0x53, 0xd1, 0x8b, 0x84,
+ 0x3c, 0xc1, 0xdd, 0x8e, 0x9f, 0xcc, 0x49, 0x4f, 0x95, 0xef,
+ 0x3a, 0x7b, 0x7f, 0xb5, 0xc7, 0x4e, 0x61, 0xd3, 0x7e, 0x01,
+ 0x59, 0x26, 0x56, 0xd2, 0x16, 0xa8, 0xe5, 0x80, 0xc1, 0x38,
+ 0xd7, 0x67, 0x85, 0xaf, 0xc7, 0x06, 0x15, 0xd4, 0x37, 0xa9,
+ 0x74, 0x76, 0x1b, 0x86, 0xf0, 0x77, 0xae, 0x1b, 0x91, 0x51,
+ 0x8c, 0x7c, 0x60, 0x90, 0xb1, 0x2d, 0x07, 0x92, 0x0d, 0xaf,
+ 0x23, 0xee, 0x9f, 0x36, 0xe1, 0xa2, 0xdb, 0xf8, 0xc0, 0xe3,
+ 0xa1, 0x5a, 0x0e, 0xe7, 0x1a, 0x9d, 0xe7, 0x11, 0xb8, 0x05,
+ 0xb1, 0xdc, 0x34, 0xd3, 0xd7, 0x30, 0xfc, 0x0f, 0x01, 0xf1,
+ 0x42, 0x39, 0x25, 0xd5, 0x3f, 0xef, 0xc6, 0x3c, 0xeb, 0xce,
+ 0x7d, 0x58, 0xed, 0xf2, 0x5c, 0xa7, 0xd9, 0xa1, 0x5e, 0xf3,
+ 0x38, 0x8e, 0x9d, 0xba, 0xb5, 0xeb, 0xf2, 0xac, 0x72, 0x51,
+ 0x97, 0xce, 0xbe, 0x09, 0xb5, 0x94, 0x03, 0xfa, 0x62, 0x99,
+ 0xe1, 0x54, 0x9c, 0x29, 0x16, 0xcd, 0x32, 0xbf, 0xb9, 0x48,
+ 0x1e, 0xd7, 0x65, 0x3b, 0xbb, 0xa3, 0xf0, 0xee, 0x0c, 0x12,
+ 0xbf, 0x4d, 0xd9, 0x83, 0x49, 0xcc, 0xa2, 0xf2, 0x15, 0xe4,
+ 0x42, 0x14, 0x59, 0xfb, 0x2b, 0x89, 0x5b, 0xef, 0x34, 0xdc,
+ 0xf6, 0xde, 0xdf, 0xef, 0xb2, 0x5c, 0x3e, 0x0c, 0x37, 0xe8,
+ 0x19, 0xc6, 0x88, 0xe4, 0xad, 0xf5, 0x52, 0x4a, 0xa6, 0x61,
+ 0xd5, 0xcb, 0x78, 0x41, 0x79, 0xdf, 0xfd, 0x5b, 0x92, 0x9e,
+ 0xe9, 0x1d, 0x74, 0xf6, 0xfe, 0xa9, 0x4d, 0x9c, 0xc2, 0x65,
+ 0xfc, 0x02, 0xb2, 0x4c, 0xac, 0x67, 0x2c, 0x93, 0x09, 0xc3,
+ 0xac, 0x2c, 0xf6, 0x63, 0x11, 0x20, 0x29, 0x85, 0xf9, 0x55,
+ 0x46, 0xa5, 0x1f, 0xdd, 0xf2, 0xb2, 0x22, 0xba, 0xaf, 0x4d,
+ 0x0e, 0x26, 0xd3, 0xf1, 0x14, 0x36, 0x02, 0xd7, 0xa8, 0x46,
+ 0xdb, 0x97, 0xf9, 0xc6, 0xdd, 0x3e, 0x0a, 0x7f, 0xc4, 0x3d,
+ 0xdb, 0x22, 0x43, 0x42, 0xd8, 0x72, 0x0b, 0xf5, 0xe2, 0xd6,
+ 0x48, 0x51, 0x64, 0x0d, 0x1c, 0xfe, 0xd5, 0x37, 0x96, 0xf3,
+ 0x7a, 0x91, 0x01, 0x1b, 0x4a, 0x69, 0x7e, 0x1d, 0x4f, 0x78,
+ 0x15, 0x5f, 0xfa, 0xb0, 0x19, 0x27, 0xb8, 0x8d, 0x71, 0x81,
+ 0xbc, 0x25, 0x70, 0xdf, 0xf9, 0xb7, 0xa9, 0x15, 0x27, 0x9b,
+ 0xe4, 0xa2, 0xed, 0x5f, 0xbf, 0x12, 0x35, 0xdc, 0xb9, 0x53,
+ 0x2e, 0xab, 0x6b, 0x5e, 0xa3, 0x96, 0x4f, 0xf5, 0xae, 0x25,
+ 0x94, 0x01, 0xca, 0x21, 0xc4, 0xb4, 0x03, 0x4a, 0x9f, 0x55,
+ 0xc5, 0x0f, 0x40, 0x1f, 0x24, 0x17, 0x5c, 0xc8, 0xee, 0xa0,
+ 0xcb, 0x20, 0x2a, 0xf2, 0x7c, 0x92, 0x6c, 0x82, 0x0e, 0x60,
+ 0xde, 0x11, 0x44, 0x63, 0x78, 0xda, 0x57, 0xec, 0xa9, 0xc9,
+ 0x46, 0x3e, 0x30, 0x48, 0xb9, 0xf7, 0xe2, 0x49, 0xe7, 0xb6,
+ 0x05, 0xc7, 0xf0, 0x54, 0xd5, 0xd1, 0x28, 0x2d, 0x02, 0x07,
+ 0x6a, 0xfc, 0x7b, 0x60, 0x43, 0x22, 0x6b, 0x2f, 0x81, 0xdd,
+ 0xb3, 0x11, 0xde, 0xb5, 0x51, 0x3a, 0x3d, 0xa4, 0x39, 0xeb,
+ 0x2a, 0x08, 0x51, 0x79, 0xeb, 0x72, 0x21, 0x0a, 0xcd, 0x9c,
+ 0xf4, 0xa5, 0xcc, 0x96, 0x1a, 0x6e, 0x7b, 0x6f, 0xe1, 0x2a,
+ 0x18, 0xdc, 0x96, 0x42, 0x04, 0xe5, 0x6a, 0x8b, 0xb0, 0xa7,
+ 0x53, 0xb1, 0x81, 0x05, 0x59, 0x9c, 0xa8, 0x2c, 0x55, 0xa0,
+ 0x8d, 0xd4, 0x9b, 0xc2, 0x9d, 0x74, 0x63, 0x2f, 0xbc, 0x3f,
+ 0xa3, 0xa6, 0x25, 0x9f, 0xad, 0x90, 0x51, 0xf2, 0xff, 0x5c,
+ 0xf8, 0x62, 0x92, 0x7d, 0x37, 0xd4, 0xf2, 0xdf, 0xce, 0xed,
+ 0x8c, 0x9a, 0x9c, 0x6e, 0x0b, 0xf9, 0x34, 0xf4, 0x88, 0x13,
+ 0x4c, 0xbb, 0x71, 0x6b, 0x24, 0xc9, 0x32, 0xe7, 0x0e, 0x7f,
+ 0x8b, 0xfa, 0x4b, 0x98, 0x3d, 0xa9, 0xe1, 0xec, 0x56, 0x16,
+ 0x7b, 0xd0, 0xe9, 0x10, 0xf5, 0xa3, 0x9d, 0xcb, 0x23, 0xb3,
+ 0xee, 0x8f, 0x79, 0x59, 0x11, 0x5d, 0xb6, 0xc7, 0x07, 0x13,
+ 0x88, 0x99, 0x0a, 0x1b, 0x01, 0x8a, 0x54, 0x23, 0x8c, 0xaa,
+ 0x6a, 0x7b, 0xb1, 0xa6, 0x5c, 0x95, 0xd6, 0xbc, 0x85, 0xef,
+ 0x9e, 0x29, 0x9f, 0x4a, 0xeb, 0x02, 0x89, 0xf9, 0xc9, 0x8c,
+ 0xd7, 0x1c, 0xc2, 0x4b, 0x84, 0x0d, 0xab, 0x57, 0x43, 0x7a,
+ 0x2b, 0x13, 0x94, 0xd2, 0xfc, 0x3a, 0x9e, 0xf0, 0x2a, 0xbe,
+ 0x37, 0xa3, 0x32, 0x4e, 0xb3, 0xd9, 0xe2, 0xc1, 0x65, 0xf1,
+ 0x62, 0x5a, 0xe0, 0x25, 0xae, 0xcb, 0x83, 0xe6, 0x20, 0xee,
+ 0x12, 0xea, 0x2e, 0x64, 0x8c, 0x3e, 0x39, 0xd8, 0x02, 0xcd,
+ 0xea, 0x66, 0x86, 0x0a, 0xc1, 0xab, 0x38, 0x1a, 0x68, 0x31,
+ 0xbb, 0x4a, 0xe0, 0x7d, 0x31, 0xad, 0x91, 0x2a, 0x4e, 0xf5,
+ 0x0b, 0x87, 0x19, 0xbe, 0xbd, 0x24, 0x77, 0x50, 0x84, 0x10,
+ 0x15, 0x79, 0x3e, 0x49, 0x36, 0x41, 0x07, 0x30, 0x6f, 0xe9,
+ 0x22, 0xd0, 0x3c, 0x6d, 0xca, 0x76, 0xb5, 0x85, 0x23, 0x1f,
+ 0x18, 0x24, 0xbd, 0x9a, 0x71, 0xc5, 0x92, 0x5b, 0x7b, 0x26,
+ 0x07, 0x61, 0x5b, 0x86, 0x5e, 0x25, 0x8f, 0xf4, 0x9f, 0xa3,
+ 0xcb, 0x69, 0x67, 0xa8, 0x28, 0xf7, 0x8c, 0xe5, 0x67, 0x47,
+ 0x83, 0xab, 0x10, 0x38, 0xd6, 0xec, 0x5e, 0x86, 0x5d, 0xd3,
+ 0xab, 0x43, 0x66, 0xc1, 0xd9, 0x3a, 0x11, 0xba, 0x90, 0x3b,
+ 0xa9, 0x80, 0xeb, 0x3c, 0xf0, 0x84, 0xd2, 0xcd, 0x01, 0x56,
+ 0x9f, 0x77, 0x5f, 0x8d, 0x74, 0xa6, 0xb3, 0xfa, 0xaf, 0xd4,
+ 0xd6, 0x38, 0x31, 0x4f, 0x79, 0x7c, 0x14, 0xfe, 0x4b, 0x7a,
+ 0x75, 0x44, 0x86, 0x84, 0x73, 0xe4, 0x16, 0x29, 0xde, 0xbb,
+ 0x82, 0x27, 0xd1, 0x88, 0x3f, 0xe1, 0xcd, 0x13, 0x2b, 0x69,
+ 0x0b, 0x54, 0x93, 0x40, 0xc4, 0xff, 0x27, 0x33, 0x50, 0x7e,
+ 0xef, 0x2b, 0x17, 0xd3, 0x5d, 0x55, 0x0f, 0x16, 0x58, 0xa4,
+ 0x5f, 0xa7, 0x08, 0xf5, 0x72, 0x3e, 0xbd, 0xe2, 0x26, 0x79,
+ 0xd1, 0xdc, 0x31, 0x6f, 0x7f, 0x03, 0xcc, 0x1a, 0x64, 0x6d,
+ 0x24, 0xd4, 0xaf, 0x63, 0x78, 0xb4, 0x0c, 0xb7, 0x76, 0x57,
+ 0x9f, 0xf4, 0xcf, 0xe6, 0x34, 0xe0, 0xd6, 0x9b, 0xb7, 0x78,
+ 0xc7, 0x08, 0x2a, 0xe3, 0x5f, 0x77, 0x1f, 0xea, 0x76, 0x04,
+ 0xb4, 0x6b, 0xfa, 0xfd, 0x36, 0x40, 0xe2, 0x94, 0xa4, 0xbd,
+ 0xc9, 0x48, 0xe3, 0xda, 0x2c, 0x64, 0x4c, 0xca, 0x5d, 0x12,
+ 0xa3, 0x8f, 0xc6, 0xea, 0x1f, 0x9d, 0x83, 0x47, 0xdf, 0xfb,
+ 0xb8, 0xb6, 0xb0, 0xf0, 0xc3, 0xe2, 0x89, 0x31, 0xf1, 0x49,
+ 0x2d, 0xd3, 0x30, 0x9e, 0x3d, 0x3a, 0xd8, 0x80, 0x22, 0xfe,
+ 0xf6, 0x16, 0x0f, 0xd7, 0x70, 0xa8, 0x67, 0xc1, 0x59, 0x14,
+ 0x50, 0x7c, 0x2e, 0xcc, 0x2c, 0x3c, 0x40, 0xd9, 0xb3, 0x9d,
+ 0xad, 0x83, 0x9a, 0x44, 0x0c, 0xc6, 0x9e, 0xef, 0x36, 0x20,
+ 0xe9, 0xde, 0xdc, 0xe4, 0x73, 0x45, 0x1c, 0x2a, 0x69, 0xa1,
+ 0x87, 0x05, 0x14, 0x1f, 0xdb, 0x7c, 0x72, 0x73, 0x04, 0x59,
+ 0x17, 0xcc, 0xcf, 0x14, 0x41, 0x95, 0x70, 0x34, 0xd0, 0x62,
+ 0x69, 0x87, 0xe1, 0x2b, 0xae, 0xda, 0xce, 0xa7, 0x3a, 0x53,
+ 0xb8, 0x7d, 0xb6, 0x6a, 0x6b, 0x1c, 0xb3, 0xaf, 0xa3, 0x23,
+ 0x45, 0x07, 0xd1, 0x62, 0x21, 0x92, 0x5a, 0x65, 0x60, 0xff,
+ 0x7a, 0x74, 0x14, 0x9a, 0x46, 0x93, 0xd2, 0xc2, 0xa0, 0xb4,
+ 0x08, 0x1c, 0x6b, 0x76, 0x2f, 0x43, 0xcf, 0x88, 0x95, 0x86,
+ 0xcc, 0x41, 0x71, 0x74, 0x22, 0xb7, 0xe3, 0x76, 0x91, 0xc3,
+ 0x15, 0x78, 0x23, 0xcb, 0xbe, 0x8d, 0x10, 0x29, 0xe4, 0x7c,
+ 0xb9, 0x07, 0x4c, 0xf2, 0x61, 0x7b, 0x62, 0xde, 0xfe, 0x06,
+ 0x62, 0x9e, 0xf2, 0xf8, 0x28, 0x3f, 0x96, 0xf4, 0xea, 0x88,
+ 0xcf, 0xcb, 0xe6, 0x0b, 0x2c, 0x52, 0xa1, 0x0e, 0x45, 0x69,
+ 0xb0, 0x5b, 0x41, 0xe0, 0x94, 0x35, 0x7d, 0xbb, 0x1d, 0xfc,
+ 0x76, 0xc0, 0x3b, 0x02, 0x5a, 0xd4, 0x7d, 0x9f, 0x1b, 0x20,
+ 0x71, 0x4a, 0x52, 0xbf, 0x85, 0x24, 0x90, 0x6d, 0x16, 0x32,
+ 0x26, 0x65, 0xcf, 0x09, 0xb0, 0xa6, 0x63, 0x75, 0xee, 0xaf,
+ 0xa0, 0xc2, 0x8e, 0x9c, 0x66, 0x0d, 0x32, 0xd7, 0x12, 0x6a,
+ 0xb6, 0xd0, 0x3c, 0x5a, 0x06, 0xba, 0x3b, 0xca, 0xae, 0x7a,
+ 0xe9, 0xcf, 0x5b, 0x82, 0xe2, 0xe8, 0x44, 0xad, 0x05, 0xec,
+ 0xe1, 0x45, 0x2a, 0xf0, 0x46, 0x55, 0x5c, 0x5b, 0x58, 0x78,
+ 0x80, 0x71, 0xa5, 0xf9, 0x99, 0xc5, 0xf7, 0x88, 0x18, 0x4f,
+ 0xff, 0x1d, 0x6c, 0x40, 0x11, 0x7f, 0x7b, 0x0b, 0xe6, 0x8a,
+ 0x38, 0x54, 0xd2, 0x81, 0xcd, 0x0a, 0x28, 0x3e, 0x6d, 0x14,
+ 0x21, 0x04, 0x94, 0x8f, 0xee, 0x83, 0xec, 0x81, 0x71, 0x0c,
+ 0x6b, 0xab, 0xe9, 0x34, 0xad, 0x78, 0xc6, 0x18, 0xfe, 0xa4,
+ 0x21, 0x8c, 0x2d, 0x80, 0xe5, 0x28, 0xb9, 0x7c, 0x33, 0xb8,
+ 0x37, 0x74, 0xd9, 0xa5, 0x33, 0x60, 0x7b, 0x4c, 0xc8, 0xff,
+ 0xca, 0x2c, 0x21, 0xa4, 0xd5, 0x15, 0x61, 0x62, 0xa2, 0x75,
+ 0xda, 0x70, 0x8e, 0xef, 0x55, 0x34, 0xe9, 0x9f, 0xcf, 0x2b,
+ 0xac, 0x4c, 0x4b, 0x3d, 0x4e, 0x66, 0xa0, 0xfc, 0x1d, 0x56,
+ 0x2e, 0x65, 0xba, 0xaa, 0x1e, 0x2c, 0xb0, 0x8b, 0xb9, 0xe2,
+ 0x80, 0x8b, 0x2c, 0x66, 0x81, 0x38, 0x25, 0x9c, 0x8e, 0x5e,
+ 0x96, 0x3f, 0xfc, 0x30, 0xe3, 0x82, 0x78, 0x2a, 0x8b, 0x89,
+ 0x14, 0xf7, 0x01, 0xe2, 0x35, 0x7e, 0xdc, 0x30, 0xc0, 0x11,
+ 0xba, 0x1e, 0xd0, 0x06, 0xde, 0x29, 0x99, 0x23, 0x9a, 0x20,
+ 0xa8, 0x0a, 0xbf, 0x1f, 0x7c, 0x2e, 0xf1, 0x23, 0x9e, 0x60,
+ 0x7e, 0xd5, 0x84, 0x75, 0xb4, 0x45, 0x12, 0xa0, 0xa1, 0x33,
+ 0xcc, 0xa5, 0xa0, 0x5a, 0x75, 0x12, 0x5f, 0xdf, 0x49, 0xe9,
+ 0x40, 0xe0, 0xde, 0x36, 0xbb, 0x5d, 0xb7, 0xca, 0x85, 0x8f,
+ 0x4a, 0xfd, 0x99, 0xe3, 0xa2, 0x27, 0x3d, 0xb8, 0x33, 0xc4,
+ 0xe7, 0xfa, 0x6e, 0x6b, 0x83, 0xb4, 0xea, 0x24, 0xbe, 0x7d,
+ 0x92, 0x11, 0x80, 0x03, 0x7f, 0x6c, 0xb5, 0xba, 0xad, 0x57,
+ 0xda, 0x28, 0x42, 0x08, 0xeb, 0xdd, 0x1f, 0xc5, 0x1b, 0xc1,
+ 0xe2, 0x18, 0xd6, 0x95, 0x11, 0x68, 0x47, 0x4b, 0xcd, 0x17,
+ 0xee, 0x03, 0x7d, 0x3a, 0x97, 0xd0, 0x22, 0x39, 0xba, 0xac,
+ 0xf5, 0xf3, 0xc5, 0xab, 0x17, 0x48, 0xbf, 0xfa, 0xe7, 0x22,
+ 0xc3, 0x06, 0xfe, 0xd8, 0xa9, 0xb7, 0x99, 0xae, 0xb0, 0x53,
+ 0xf3, 0xae, 0xb7, 0x48, 0xc9, 0x79, 0x9e, 0x2e, 0x7c, 0x31,
+ 0x49, 0xdf, 0xfa, 0x6a, 0x33, 0xe7, 0x19, 0x8a, 0x09, 0x35,
+ 0x5b, 0x68, 0x1e, 0x2d, 0x03, 0x5d, 0xfc, 0x65, 0x57, 0x3d,
+ 0xfa, 0x3a, 0x8d, 0xb3, 0xf8, 0x30, 0xdc, 0x26, 0x64, 0x9e,
+ 0x65, 0x16, 0xf1, 0x52, 0x8b, 0xeb, 0x96, 0x7a, 0x9c, 0xcc,
+ 0x83, 0x3b, 0x3a, 0xac, 0x5c, 0xca, 0xb7, 0x97, 0x3c, 0x58,
+ 0xa3, 0xd5, 0x6f, 0xbc, 0x41, 0xf2, 0x89, 0x44, 0xfe, 0x91,
+ 0x87, 0xe8, 0xf4, 0xd5, 0xe4, 0x2a, 0xa8, 0x20, 0x6e, 0xe8,
+ 0x71, 0x89, 0x66, 0xc0, 0xf6, 0x98, 0x53, 0x3d, 0x57, 0x58,
+ 0x42, 0x8b, 0x69, 0x2a, 0xc2, 0xc4, 0x87, 0xea, 0x77, 0xe0,
+ 0xdf, 0x1d, 0xaa, 0x68, 0x11, 0xfd, 0x5d, 0x56, 0x9b, 0x98,
+ 0xf6, 0x4c, 0x0e, 0xc2, 0xb6, 0xcf, 0xbc, 0x4a, 0xdd, 0x2b,
+ 0xfd, 0x85, 0x55, 0xd2, 0xce, 0x93, 0x50, 0x2d, 0xdb, 0x09,
+ 0xce, 0x8e, 0xc5, 0x95, 0x20, 0x70, 0x6f, 0x1b, 0xbc, 0xcf,
+ 0xba, 0x65, 0xff, 0xfd, 0x7d, 0xe7, 0x2d, 0xe1, 0xf4, 0x0b,
+ 0x66, 0x99, 0x0f, 0xea, 0x8a, 0x32, 0xc8, 0xc9, 0x5d, 0x0f,
+ 0x68, 0x03, 0x6f, 0xf5, 0xad, 0xf0, 0x4d, 0x10, 0x54, 0x05,
+ 0xbe, 0xee, 0x3e, 0x17, 0xa9, 0xeb, 0x06, 0x37, 0xc4, 0xf1,
+ 0x01, 0xa8, 0xfb, 0x52, 0x2c, 0x59, 0x64, 0xbd, 0xb1, 0x90,
+ 0x8e, 0x96, 0x59, 0x2e, 0x1f, 0x06, 0xfa, 0x74, 0xed, 0x63,
+ 0x44, 0x72, 0xb7, 0x9b, 0x29, 0x25, 0x17, 0x66, 0x16, 0x1e,
+ 0x20, 0x8d, 0xb8, 0xaf, 0xb7, 0xa0, 0x4d, 0x22, 0x06, 0x63,
+ 0x4f, 0x96, 0x1b, 0x10, 0x95, 0x6f, 0x6e, 0x72, 0xd8, 0xc3,
+ 0x0e, 0x15, 0xd5, 0xb1, 0xa2, 0xe3, 0x0a, 0xee, 0x97, 0x2e,
+ 0xac, 0xb7, 0x6c, 0xbf, 0x32, 0xa5, 0x88, 0x1f, 0x14, 0x1a,
+ 0x9a, 0xf9, 0x62, 0xdf, 0x7d, 0x1d, 0xa7, 0xb8, 0x7c, 0x18,
+ 0x6e, 0x13, 0x32, 0x4f, 0xd3, 0x0b, 0x99, 0x29, 0xa4, 0x94,
+ 0xec, 0x08, 0xab, 0xd6, 0x37, 0x39, 0x6c, 0x80, 0x07, 0xeb,
+ 0x8b, 0xb9, 0x51, 0x90, 0x05, 0x77, 0x58, 0xc8, 0x98, 0x57,
+ 0xba, 0x24, 0x85, 0xdd, 0x4f, 0x17, 0x3e, 0xf9, 0xc5, 0x8e,
+ 0x7d, 0x35, 0xf7, 0x18, 0x3e, 0xb9, 0x59, 0x4b, 0xb4, 0x43,
+ 0x09, 0xfe, 0x5e, 0x08, 0xf3, 0x73, 0x0f, 0x99, 0x1f, 0x83,
+ 0x55, 0x40, 0x54, 0x27, 0xf8, 0xe7, 0xd8, 0xc7, 0x1c, 0xc0,
+ 0x7f, 0x22, 0x88, 0xc6, 0xfb, 0x6e, 0xbd, 0xc8, 0x17, 0xb4,
+ 0xd4, 0x2f, 0xb0, 0x4b, 0xc6, 0x9b, 0x57, 0xf3, 0x4a, 0xe1,
+ 0x7c, 0x49, 0x97, 0xc3, 0x93, 0x9c, 0x66, 0x1a, 0xe6, 0x9a,
+ 0x70, 0x86, 0x3f, 0x88, 0x65, 0x9e, 0x09, 0xb1, 0x73, 0x25,
+ 0x9b, 0x2e, 0x48, 0x41, 0xbb, 0xb2, 0xf2, 0x6f, 0xdf, 0xe0,
+ 0x06, 0x5a, 0x0d, 0x22, 0xb3, 0x0a, 0xa1, 0x7b, 0x68, 0x65,
+ 0x6d, 0x60, 0x3b, 0x1e, 0x02, 0x21, 0x84, 0x72, 0x7a, 0x72,
+ 0x37, 0x1a, 0xb4, 0x02, 0x56, 0x2c, 0x5b, 0x21, 0x3c, 0x2e,
+ 0x6d, 0xc8, 0xa6, 0xa2, 0x67, 0x59, 0x02, 0xac, 0xfd, 0xee,
+ 0xbe, 0xd9, 0xe8, 0x8f, 0xa5, 0x37, 0x9d, 0x6b, 0x6f, 0x70,
+ 0x45, 0xe3, 0xad, 0xe1, 0xf3, 0xc8, 0x6d, 0x28, 0xfc, 0xb9,
+ 0xa7, 0xe0, 0x35, 0x2d, 0xb4, 0xe7, 0x87, 0x27, 0x2a, 0x0b,
+ 0x84, 0x28, 0xb2, 0x35, 0x56, 0xd1, 0xb6, 0x1d, 0x68, 0x7b,
+ 0x2f, 0x7f, 0xdc, 0x13, 0xe2, 0xd1, 0xcc, 0x43, 0x2f, 0xf3,
+ 0xa6, 0x7a, 0xae, 0xb0, 0x84, 0xd5, 0xd2, 0x54, 0xe8, 0x9b,
+ 0x6b, 0xf9, 0x0d, 0x6c, 0x4c, 0xa4, 0xd1, 0x39, 0x42, 0xc8,
+ 0x8c, 0x51, 0x87, 0x5f, 0x4f, 0xae, 0x8e, 0x49, 0x9a, 0xa9,
+ 0x3d, 0x72, 0xf8, 0xb7, 0x73, 0xdb, 0xc3, 0xed, 0x32, 0xa3,
+ 0x1d, 0x2b, 0x35, 0xb6, 0x49, 0xec, 0xe8, 0xf5, 0xb3, 0xae,
+ 0x99, 0x19, 0xf0, 0xa3, 0xc9, 0xd2, 0x4e, 0xfa, 0xbe, 0x32,
+ 0x75, 0x2d, 0x35, 0x7b, 0x2c, 0x62, 0xd0, 0x56, 0x65, 0x4c,
+ 0xf3, 0xa9, 0x04, 0x93, 0xc0, 0x2f, 0x3a, 0x55, 0x20, 0x24,
+ 0xd6, 0xd2, 0xc9, 0x71, 0xdd, 0xc1, 0x82, 0x28, 0xeb, 0x67,
+ 0x3b, 0x74, 0xff, 0x23, 0x54, 0xbf, 0x6e, 0x85, 0x64, 0x9c,
+ 0xa5, 0x71, 0x07, 0x41, 0xf8, 0x92, 0xed, 0x45, 0xe5, 0xfb,
+ 0xcc, 0x34, 0x0f, 0xf7, 0xe0, 0xcf, 0x7e, 0xd3, 0xca, 0xff,
+ 0xf3, 0x8b, 0xfe, 0x96, 0x63, 0x1e, 0x94, 0x67, 0xdf, 0x2c,
+ 0x97, 0x79, 0x2e, 0xb2, 0x8d, 0xb1, 0x3e, 0xc5, 0xaa, 0x80,
+ 0xa8, 0x4e, 0x33, 0x0d, 0x73, 0x4d, 0x38, 0x43, 0xfe, 0x44,
+ 0xd3, 0x4f, 0x3d, 0x39, 0xfa, 0x0d, 0x5a, 0x01, 0x2b, 0x16,
+ 0xcc, 0xf1, 0x1e, 0x17, 0xd7, 0x64, 0x53, 0x51, 0xbd, 0x71,
+ 0x40, 0xa4, 0x16, 0x33, 0xa1, 0x1c, 0xf3, 0x4e, 0x47, 0x2f,
+ 0x4b, 0xfe, 0x7e, 0x18, 0x8a, 0x05, 0x99, 0x01, 0x25, 0x53,
+ 0xda, 0x50, 0x3b, 0xb1, 0x8d, 0x03, 0x6a, 0x5a, 0xab, 0x0d,
+ 0x88, 0xad, 0xf9, 0xf7, 0x38, 0x98, 0xca, 0x42, 0x50, 0xd8,
+ 0x08, 0xda, 0xe5, 0xdb, 0xea, 0x19, 0xdd, 0x47, 0xd2, 0xaa,
+ 0x23, 0xc7, 0x27, 0xfa, 0x72, 0xaf, 0x0d, 0x3d, 0x22, 0x74,
+ 0x13, 0x5e, 0xcd, 0x4e, 0x54, 0x16, 0xcb, 0x50, 0xa7, 0x6a,
+ 0xac, 0x61, 0xaf, 0x3a, 0xd0, 0xf6, 0x5e, 0xfe, 0x0b, 0x19,
+ 0x13, 0xd3, 0x86, 0xe5, 0x58, 0x53, 0xd0, 0xdb, 0x77, 0xb6,
+ 0x50, 0x61, 0x47, 0x4e, 0x13, 0xf5, 0xd6, 0x31, 0x1a, 0xd8,
+ 0x98, 0x8b, 0x61, 0x72, 0x84, 0x53, 0xdb, 0xa2, 0xcd, 0xbe,
+ 0x98, 0xa4, 0x7f, 0x4b, 0xd0, 0x0f, 0x4a, 0xd2, 0x8e, 0x16,
+ 0xaa, 0xdd, 0x17, 0x59, 0xa7, 0xb9, 0x02, 0xa8, 0x60, 0xf6,
+ 0x1d, 0xcb, 0x10, 0x12, 0x6b, 0x69, 0x85, 0xd9, 0x8f, 0x81,
+ 0x41, 0x14, 0x93, 0xbd, 0x6c, 0x98, 0x56, 0xea, 0x12, 0x81,
+ 0x5e, 0xcd, 0xdd, 0x6b, 0x47, 0x38, 0xe0, 0xf7, 0x80, 0x48,
+ 0xba, 0xa9, 0x4c, 0x32, 0x8a, 0x0a, 0x3f, 0xbf, 0x59, 0x38,
+ 0x9c, 0x9a, 0x2d, 0x49, 0x90, 0x41, 0x3c, 0x15, 0xa4, 0xa5,
+ 0x0a, 0x9a, 0xe1, 0x71, 0xfb, 0x3f, 0x6e, 0x18, 0x60, 0xe9,
+ 0xd0, 0x65, 0x61, 0xa0, 0x82, 0xbc, 0x4f, 0x9f, 0x1f, 0xcf,
+ 0x36, 0x23, 0x20, 0x55, 0x97, 0x2c, 0x24, 0x81, 0x0f, 0x94,
+ 0x29, 0xb8, 0xe3, 0xc7, 0xa9, 0x8d, 0x4e, 0x7f, 0xfa, 0x06,
+ 0x18, 0xab, 0x34, 0x88, 0x89, 0x28, 0xc1, 0x2f, 0x63, 0x57,
+ 0x77, 0x43, 0xec, 0x78, 0x08, 0x84, 0x55, 0x0b, 0xcb, 0x75,
+ 0xf4, 0xcf, 0xec, 0xce, 0x97, 0x5c, 0x11, 0xda, 0xe3, 0x92,
+ 0x82, 0xb6, 0x9d, 0xc2, 0xed, 0x5c, 0x9b, 0xad, 0xd8, 0xbd,
+ 0x64, 0x89, 0xd3, 0x3e, 0x28, 0x34, 0xf7, 0x31, 0xc4, 0x7d,
+ 0xf4, 0xe4, 0x6e, 0x34, 0xab, 0x04, 0xac, 0x58, 0xb6, 0x42,
+ 0x78, 0x5c, 0xda, 0x53, 0x8f, 0x87, 0xce, 0xb2, 0x04, 0x9b,
+ 0x39, 0x1f, 0xbf, 0x71, 0x13, 0xdd, 0x89, 0x6e, 0xf9, 0xd6,
+ 0xde, 0xe0, 0x99, 0xf0, 0x4f, 0x30, 0x3f, 0x8b, 0x42, 0xdb,
+ 0x5a, 0xc3, 0x09, 0x50, 0xb1, 0xf8, 0x66, 0xb3, 0x10, 0x09,
+ 0x86, 0xbc, 0xe8, 0x97, 0x80, 0x90, 0xde, 0xce, 0xa2, 0x07,
+ 0xf2, 0x82, 0x4d, 0xa0, 0x44, 0xb7, 0x9d, 0x9a, 0x1c, 0x4c,
+ 0x65, 0x21, 0x28, 0x6c, 0x04, 0x6d, 0x93, 0x8c, 0x75, 0xed,
+ 0x40, 0x24, 0x5d, 0xb5, 0x26, 0x19, 0x45, 0x05, 0xfe, 0xbe,
+ 0xcd, 0x1c, 0x4e, 0x4d, 0xf7, 0xc5, 0x92, 0xe9, 0x5c, 0xe3,
+ 0xb9, 0x6e, 0x1a, 0x88, 0x8a, 0x18, 0x7e, 0xe6, 0xe1, 0x99,
+ 0x21, 0xfd, 0x3a, 0x56, 0x6a, 0xaf, 0x92, 0x1b, 0x13, 0x29,
+ 0xa5, 0x9f, 0xf1, 0x32, 0x23, 0x85, 0x51, 0x67, 0x01, 0x54,
+ 0x30, 0x7b, 0xef, 0x84, 0x08, 0x09, 0xd4, 0xd5, 0xa3, 0x8d,
+ 0xa6, 0xa1, 0xc1, 0x0a, 0x26, 0x29, 0x6f, 0x62, 0x34, 0x73,
+ 0xf3, 0xd5, 0xc2, 0xe4, 0xcb, 0xa6, 0x75, 0x87, 0x59, 0xbf,
+ 0x12, 0xa1, 0xe6, 0x4a, 0xf5, 0x5c, 0x90, 0x82, 0xb5, 0xa7,
+ 0x27, 0xde, 0x7d, 0x03, 0x0c, 0xb4, 0x1a, 0x44, 0xa5, 0x14,
+ 0x81, 0xf6, 0xd0, 0xca, 0xda, 0xc0, 0x76, 0x3c, 0x04, 0x42,
+ 0xcb, 0xe4, 0x48, 0xc1, 0x1e, 0xeb, 0x52, 0xb3, 0x05, 0x4d,
+ 0x91, 0xd9, 0x9c, 0xfe, 0x37, 0x0c, 0x30, 0x95, 0x68, 0xd3,
+ 0xd1, 0x50, 0x41, 0x5e, 0xc6, 0xae, 0xee, 0x86, 0x1b, 0xf0,
+ 0x10, 0xcb, 0xaa, 0x16, 0xf5, 0xb0, 0x5e, 0x4f, 0x44, 0x80,
+ 0xa4, 0x51, 0x62, 0x97, 0xdb, 0xd1, 0x7c, 0xf2, 0x4e, 0x8d,
+ 0x81, 0x1c, 0x8a, 0xd2, 0xa3, 0xb6, 0x82, 0x03, 0xeb, 0x6a,
+ 0xfa, 0xb5, 0x3a, 0x3b, 0xec, 0x43, 0x8b, 0x51, 0xa9, 0x7a,
+ 0xca, 0xd7, 0xd2, 0x59, 0xef, 0x64, 0x2e, 0x8e, 0xcc, 0xfb,
+ 0x6a, 0x07, 0xc7, 0x03, 0x77, 0xbe, 0xa2, 0x31, 0xf7, 0x30,
+ 0xa8, 0x6f, 0x7b, 0x01, 0x26, 0x36, 0xd8, 0xba, 0xd6, 0x5e,
+ 0xc1, 0x79, 0xa5, 0x22, 0x7f, 0xa9, 0xa2, 0x74, 0x7a, 0x8b,
+ 0x72, 0x15, 0x54, 0x10, 0x20, 0x12, 0xcf, 0xbb, 0x13, 0xed,
+ 0xc3, 0xe3, 0x7f, 0x5f, 0x87, 0x0e, 0x27, 0xc7, 0x9a, 0x83,
+ 0x0a, 0x4d, 0x23, 0xa8, 0x69, 0x61, 0x50, 0x5a, 0x04, 0x0e,
+ 0xd4, 0x3b, 0xf6, 0xc0, 0x86, 0x44, 0x08, 0xe5, 0x43, 0x5e,
+ 0x74, 0xaa, 0x40, 0x48, 0x6f, 0x67, 0x51, 0xe2, 0x79, 0x41,
+ 0xc7, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x52,
+ 0xde, 0xc4, 0x68, 0xe6, 0x25, 0x69, 0x47, 0x0b, 0x55, 0x8f,
+ 0xea, 0xcd, 0xb2, 0xbd, 0xd7, 0x0a, 0xf1, 0x02, 0x4a, 0xa6,
+ 0x77, 0xa0, 0x76, 0xa1, 0xd9, 0x06, 0xd4, 0xb4, 0x95, 0x1a,
+ 0x74, 0xac, 0xd4, 0x9d, 0xe7, 0x36, 0x26, 0x52, 0x89, 0xfd,
+ 0x21, 0x64, 0x46, 0xc9, 0xa2, 0xce,
+ },
+ {
+ /* 8 */
+ 0x99, 0xaa, 0x16, 0x04, 0xc2, 0x95, 0x8c, 0x4a, 0x63, 0xeb,
+ 0xf0, 0x49, 0x21, 0x0a, 0xad, 0xf8, 0x93, 0xe3, 0xda, 0xa3,
+ 0x95, 0xb5, 0xa1, 0x97, 0x1b, 0x19, 0xbd, 0x7f, 0x09, 0x35,
+ 0xa8, 0x38, 0x88, 0xfd, 0x2b, 0x3b, 0xa6, 0xc5, 0x21, 0xbc,
+ 0xaf, 0xb5, 0xad, 0x3e, 0x65, 0x8a, 0x44, 0xdb, 0xae, 0x16,
+ 0x29, 0x6c, 0x27, 0x1a, 0xaa, 0xe1, 0xc4, 0x02, 0x84, 0xcc,
+ 0xfd, 0xee, 0x57, 0x5c, 0x8b, 0xbe, 0x09, 0x55, 0xe0, 0x74,
+ 0xcd, 0x78, 0xbb, 0x23, 0x51, 0x37, 0x69, 0x61, 0xa4, 0xfb,
+ 0xbd, 0x82, 0x28, 0xa6, 0x86, 0x94, 0x0e, 0x2e, 0x10, 0xb8,
+ 0x71, 0xb5, 0xb1, 0xdc, 0xbf, 0xfe, 0x69, 0xbd, 0x24, 0x97,
+ 0x06, 0x13, 0xb2, 0x23, 0xa9, 0x8c, 0x87, 0xdc, 0x67, 0x47,
+ 0xd5, 0x6a, 0xb1, 0x4d, 0xa0, 0xdd, 0x5d, 0x15, 0x38, 0xb8,
+ 0x40, 0xa5, 0x07, 0x91, 0x81, 0xf6, 0xb9, 0x7e, 0x6e, 0xbb,
+ 0x7e, 0xd0, 0x09, 0xdd, 0x4c, 0x95, 0x8d, 0x11, 0xe8, 0xc9,
+ 0x7b, 0x0b, 0x37, 0x8b, 0x38, 0x30, 0x95, 0x7d, 0x78, 0xbf,
+ 0xfc, 0xf9, 0xe3, 0x62, 0xfe, 0xa8, 0xe0, 0x25, 0x1c, 0x04,
+ 0x3e, 0xb6, 0xd1, 0xa1, 0xf4, 0x1e, 0xe7, 0xb2, 0xcb, 0x8d,
+ 0xc5, 0xba, 0xf8, 0x30, 0x1f, 0x44, 0x92, 0x63, 0xc4, 0x38,
+ 0x16, 0xda, 0x44, 0x6a, 0x17, 0x6b, 0xe9, 0x78, 0x0d, 0x6c,
+ 0x49, 0x99, 0x95, 0x65, 0x9e, 0x7f, 0x19, 0x14, 0xba, 0xdc,
+ 0x33, 0xf6, 0x86, 0x6d, 0x11, 0x20, 0xab, 0x78, 0x59, 0x07,
+ 0x41, 0xb8, 0xec, 0x52, 0x6a, 0x3e, 0x2a, 0xf8, 0x9c, 0x4c,
+ 0xa7, 0xef, 0xcd, 0x2f, 0x31, 0x3a, 0x7b, 0xb4, 0x69, 0x2e,
+ 0x3d, 0xe0, 0x8f, 0x06, 0x4f, 0x97, 0xc4, 0xf1, 0xf9, 0xe4,
+ 0x4e, 0xd6, 0x38, 0x5b, 0x04, 0xa3, 0xdc, 0x83, 0xce, 0x49,
+ 0xfa, 0x29, 0xfb, 0x7a, 0x27, 0x4c, 0xd3, 0x39, 0x56, 0x76,
+ 0x8f, 0x49, 0x42, 0xbb, 0x9d, 0xa9, 0x99, 0x7c, 0xca, 0xd7,
+ 0x88, 0x75, 0xce, 0xa1, 0xe3, 0x32, 0x30, 0x98, 0xd9, 0xdb,
+ 0x01, 0xea, 0xb2, 0x2f, 0xbe, 0x7d, 0x67, 0xd6, 0xa0, 0x1a,
+ 0x9d, 0xe2, 0x39, 0x45, 0x95, 0x4e, 0x8c, 0xfb, 0x5a, 0xe6,
+ 0xc5, 0x76, 0x50, 0x5d, 0xe5, 0x05, 0x77, 0x85, 0xe9, 0xa9,
+ 0x81, 0xed, 0x36, 0x32, 0xb9, 0xfe, 0x12, 0x6a, 0x93, 0x70,
+ 0xd5, 0xbf, 0x12, 0xaa, 0x03, 0xe8, 0x59, 0xf0, 0xb5, 0x46,
+ 0xa2, 0x6e, 0xd2, 0xc2, 0x8b, 0x35, 0xb9, 0xc7, 0x50, 0x8f,
+ 0xcf, 0xeb, 0x1c, 0x5c, 0x20, 0xb3, 0xe2, 0xa9, 0xa1, 0x7b,
+ 0xbd, 0x3f, 0xa4, 0x5f, 0xe5, 0xcb, 0x70, 0x3a, 0x87, 0x3c,
+ 0xbc, 0xf0, 0xc9, 0xfa, 0xd5, 0xd1, 0x52, 0x9c, 0xbf, 0x41,
+ 0x14, 0x53, 0x43, 0x4a, 0x07, 0x17, 0x08, 0x5c, 0xd9, 0xbb,
+ 0xb9, 0x6e, 0xbe, 0x7f, 0x2d, 0x22, 0xd0, 0x6b, 0x55, 0x90,
+ 0x43, 0x7d, 0x1f, 0x37, 0x30, 0xc3, 0xb4, 0x02, 0xf7, 0xe6,
+ 0xe7, 0xc6, 0x4b, 0x70, 0x2c, 0x77, 0x88, 0xd4, 0x2e, 0xd6,
+ 0x11, 0xf0, 0x1a, 0xd8, 0x92, 0xf1, 0xdc, 0xb5, 0xfc, 0x63,
+ 0x12, 0x79, 0x98, 0xe9, 0xd9, 0x22, 0x13, 0x51, 0xf6, 0x16,
+ 0x6e, 0xd5, 0x21, 0xed, 0x58, 0x10, 0x8e, 0x11, 0x75, 0xeb,
+ 0x4f, 0x2a, 0x46, 0xe7, 0x84, 0x28, 0xf1, 0x66, 0xf9, 0x1d,
+ 0xdc, 0x5a, 0xd5, 0x17, 0xff, 0x70, 0xa6, 0x03, 0xc6, 0xaa,
+ 0x62, 0x99, 0x9d, 0x72, 0xee, 0xcc, 0xa5, 0xb9, 0x3d, 0xe6,
+ 0x49, 0xcd, 0x42, 0xb2, 0xa0, 0xcf, 0x3e, 0x0c, 0x77, 0x11,
+ 0x62, 0x74, 0xf6, 0xab, 0xd2, 0x5c, 0x7a, 0x03, 0xdd, 0x0c,
+ 0x9e, 0xed, 0x4b, 0x21, 0x31, 0x0b, 0xcd, 0xe2, 0xc1, 0x5c,
+ 0x76, 0x29, 0x35, 0x1f, 0x15, 0x7c, 0x4e, 0x26, 0xb2, 0x96,
+ 0x87, 0xf6, 0x67, 0xb1, 0x90, 0x19, 0x18, 0x4c, 0x8d, 0x8c,
+ 0xe1, 0x75, 0x59, 0xf6, 0x5f, 0xdf, 0xd2, 0x6b, 0x72, 0xa3,
+ 0xd5, 0x0f, 0x35, 0x63, 0x32, 0x08, 0x1d, 0x20, 0x97, 0x9d,
+ 0x0b, 0xf8, 0x39, 0x89, 0x9b, 0x69, 0x2a, 0xf1, 0x07, 0x4b,
+ 0x85, 0x73, 0x7b, 0x0f, 0x58, 0x47, 0x29, 0xb8, 0xac, 0x79,
+ 0xbe, 0xc1, 0x0a, 0xc8, 0xc0, 0x25, 0xe2, 0xea, 0x04, 0x2e,
+ 0x8d, 0xbc, 0xbd, 0x37, 0x5f, 0xde, 0xeb, 0x09, 0xc3, 0x0b,
+ 0xf7, 0xf6, 0xbe, 0x42, 0x7e, 0xcb, 0x67, 0xd4, 0x2a, 0xf2,
+ 0x94, 0x71, 0x86, 0xf1, 0x9f, 0xb5, 0xb8, 0x9a, 0x1e, 0x13,
+ 0xe7, 0x4c, 0x73, 0x14, 0x5d, 0x12, 0x43, 0xda, 0x83, 0x34,
+ 0xf9, 0x07, 0x72, 0x8a, 0xe9, 0x9c, 0xdb, 0x35, 0xb4, 0x0f,
+ 0x49, 0xec, 0xa0, 0xba, 0x09, 0x0a, 0xee, 0xc9, 0x11, 0x91,
+ 0xc1, 0x19, 0x6c, 0x64, 0xb1, 0x3f, 0x24, 0xd4, 0xe5, 0xe0,
+ 0x54, 0x48, 0xd7, 0x58, 0xb4, 0xbc, 0xb9, 0x55, 0x76, 0x97,
+ 0xbe, 0x6f, 0x93, 0x9c, 0x2a, 0x0e, 0x77, 0x66, 0xb3, 0xbd,
+ 0xff, 0x73, 0xc5, 0x87, 0x21, 0x59, 0x50, 0x86, 0x1f, 0x06,
+ 0xda, 0xe9, 0x40, 0xda, 0x8c, 0xd5, 0x1a, 0xfc, 0xe3, 0x2c,
+ 0x86, 0xb0, 0x24, 0x03, 0xc3, 0xe2, 0x20, 0x4d, 0xf6, 0x91,
+ 0x76, 0x4f, 0x48, 0x27, 0x25, 0x22, 0xe2, 0x88, 0x4c, 0x87,
+ 0x5e, 0x58, 0x7b, 0xd2, 0x5a, 0x44, 0x63, 0xd6, 0xaa, 0xe3,
+ 0x86, 0xfa, 0x3e, 0x6e, 0x60, 0x45, 0xab, 0x04, 0x2d, 0x0f,
+ 0x0d, 0x4f, 0x96, 0xe0, 0x58, 0xee, 0xd3, 0x6b, 0x5c, 0x6f,
+ 0x22, 0x23, 0x34, 0x73, 0xe7, 0x21, 0xfa, 0x5e, 0xfe, 0x34,
+ 0x93, 0xa6, 0x13, 0xb4, 0xb2, 0x95, 0x3a, 0xa3, 0x6e, 0x72,
+ 0x7d, 0x52, 0xc7, 0xab, 0x0d, 0xfb, 0x21, 0x09, 0x18, 0xc2,
+ 0x6d, 0x8e, 0x03, 0x10, 0x9a, 0xa9, 0x82, 0x36, 0x65, 0x72,
+ 0xac, 0xec, 0xdd, 0x92, 0x84, 0xb5, 0xf9, 0x91, 0xf1, 0xf8,
+ 0x57, 0x6d, 0xd3, 0xea, 0x5f, 0x81, 0x05, 0x64, 0x60, 0xf3,
+ 0x71, 0x75, 0x02, 0x17, 0xa7, 0x5e, 0xbf, 0xfa, 0xce, 0x6f,
+ 0xd2, 0xb9, 0x48, 0xed, 0x0c, 0x26, 0xa7, 0x46, 0x91, 0xdb,
+ 0xcd, 0x7b, 0xce, 0x8e, 0x69, 0xd4, 0xf0, 0x17, 0x32, 0x93,
+ 0xc4, 0x86, 0x3e, 0x69, 0xca, 0x67, 0x77, 0x95, 0x46, 0x4d,
+ 0x78, 0x92, 0x94, 0xe5, 0x80, 0xe4, 0x9a, 0x7b, 0x5f, 0x21,
+ 0x3f, 0x84, 0xd2, 0x6a, 0x15, 0x79, 0x4a, 0xd9, 0x43, 0x99,
+ 0xae, 0xbb, 0x5c, 0x4d, 0x0f, 0xe8, 0x92, 0x26, 0xd8, 0x0a,
+ 0xcf, 0x09, 0xc0, 0x6d, 0x44, 0x9f, 0xf4, 0xfc, 0x53, 0x83,
+ 0xf1, 0x5e, 0xb6, 0xbb, 0xb7, 0x1f, 0xd3, 0x45, 0x22, 0x8c,
+ 0x9e, 0xac, 0x4c, 0x43, 0xcd, 0x5b, 0x72, 0xfc, 0x47, 0x76,
+ 0x9f, 0x5c, 0x3d, 0x46, 0x4f, 0x19, 0xe9, 0xca, 0xff, 0xfe,
+ 0x32, 0x28, 0xb7, 0x7b, 0x66, 0x2f, 0xcf, 0xda, 0x22, 0x40,
+ 0x95, 0xf0, 0xb2, 0x0e, 0x82, 0xb3, 0x1b, 0xa4, 0xd4, 0x7c,
+ 0x54, 0x33, 0xfb, 0x98, 0x8d, 0x1d, 0x59, 0x5e, 0x2a, 0x24,
+ 0x8a, 0x2c, 0x5a, 0x5e, 0xbd, 0xcb, 0x3b, 0xaa, 0x5f, 0xd6,
+ 0xa8, 0x4e, 0x15, 0x07, 0x13, 0x94, 0x01, 0xca, 0xa1, 0x8e,
+ 0xa4, 0xcf, 0xd4, 0xba, 0xf5, 0x79, 0x4c, 0x32, 0xe8, 0xa2,
+ 0x37, 0xbc, 0x3f, 0x68, 0xe5, 0x8f, 0x26, 0xab, 0xa7, 0xe9,
+ 0x74, 0x85, 0xdc, 0xe4, 0xfa, 0xa4, 0x1c, 0x18, 0xab, 0xdf,
+ 0x3c, 0xbe, 0x7e, 0x9d, 0x90, 0x31, 0x7f, 0x54, 0x70, 0xf3,
+ 0x0e, 0x02, 0xb4, 0x88, 0xc6, 0x6f, 0x97, 0x05, 0xcf, 0x37,
+ 0x7c, 0xdc, 0xc0, 0x8a, 0x95, 0x08, 0x5a, 0x1e, 0x4b, 0x13,
+ 0x5e, 0xe9, 0xce, 0xb3, 0x2b, 0x0c, 0xf2, 0x30, 0x3d, 0x32,
+ 0xef, 0x84, 0xc4, 0x2c, 0x7f, 0xec, 0x43, 0xef, 0x6d, 0x8d,
+ 0xe1, 0x63, 0x41, 0x4f, 0xb5, 0xbe, 0x3f, 0x8b, 0xde, 0xa8,
+ 0x78, 0xea, 0x19, 0xa8, 0x62, 0x43, 0x1f, 0xd5, 0x65, 0xd2,
+ 0xda, 0xab, 0x23, 0xc7, 0x3c, 0x49, 0xcc, 0x62, 0xdf, 0xc7,
+ 0xf5, 0x46, 0xd0, 0xe2, 0x19, 0x0e, 0x1a, 0x21, 0xb6, 0xcf,
+ 0x66, 0x57, 0x81, 0xf7, 0xc5, 0xf2, 0xb7, 0x54, 0xe0, 0xa5,
+ 0xc3, 0xd1, 0x1c, 0x01, 0x41, 0x5e, 0xa1, 0x3b, 0xac, 0xd5,
+ 0x15, 0x99, 0xe2, 0xc4, 0xa3, 0xd8, 0xdc, 0xe6, 0x2c, 0xc2,
+ 0xf5, 0x5c, 0x56, 0xdd, 0x98, 0x2a, 0x08, 0x9f, 0x41, 0xfa,
+ 0x69, 0xb7, 0x6f, 0x99, 0xa4, 0x4e, 0x25, 0x53, 0x4c, 0x59,
+ 0x56, 0x8b, 0xeb, 0xad, 0x71, 0x62, 0xb0, 0x6c, 0x6e, 0x73,
+ 0x16, 0x61, 0x9b, 0x2e, 0x2b, 0x8f, 0x1e, 0xdb, 0x97, 0x2a,
+ 0xf9, 0x60, 0x77, 0xa4, 0x88, 0xd5, 0xd7, 0x5a, 0x78, 0x41,
+ 0x0f, 0x83, 0x30, 0xba, 0x65, 0x2f, 0xea, 0x41, 0xd8, 0x1d,
+ 0x83, 0x74, 0x1b, 0x90, 0xc0, 0xa8, 0x18, 0x45, 0x14, 0x92,
+ 0x5b, 0x8d, 0xae, 0x40, 0x5a, 0x79, 0xf0, 0x27, 0x9a, 0x6c,
+ 0x50, 0x7e, 0x0a, 0x43, 0xc5, 0x68, 0x31, 0x0e, 0xe4, 0xd7,
+ 0x11, 0xfb, 0x75, 0x6a, 0xab, 0x1e, 0x92, 0x1b, 0x83, 0xb7,
+ 0x49, 0xd0, 0x62, 0x1c, 0x0b, 0x6d, 0x22, 0x35, 0xea, 0xd4,
+ 0x95, 0x3c, 0xe7, 0x36, 0xc5, 0xad, 0xb0, 0xcd, 0xbe, 0x46,
+ 0xde, 0x7a, 0xdd, 0x45, 0x4c, 0xd7, 0x53, 0x96, 0x85, 0xaf,
+ 0x58, 0xdf, 0x70, 0x60, 0xe9, 0xfa, 0xf0, 0xbd, 0x3b, 0x31,
+ 0x05, 0xc4, 0x3f, 0x93, 0x03, 0x4a, 0x38, 0x08, 0x0b, 0xc9,
+ 0xd2, 0x3c, 0xd4, 0x4f, 0xc8, 0x20, 0x74, 0x80, 0x19, 0x31,
+ 0x2c, 0x66, 0xe4, 0x61, 0xa6, 0x9c, 0xd9, 0x3e, 0xb5, 0xe4,
+ 0x8e, 0x05, 0xa4, 0x14, 0x61, 0xf4, 0xdd, 0x63, 0x53, 0x1d,
+ 0xaf, 0x96, 0x37, 0xf7, 0xa4, 0x75, 0x4f, 0x1c, 0xc8, 0x70,
+ 0xd0, 0xcb, 0xf9, 0xb7, 0xb6, 0xfd, 0xa1, 0x9a, 0x83, 0x79,
+ 0xba, 0x2a, 0x70, 0xb3, 0x80, 0x89, 0x0e, 0xe1, 0xc1, 0x2f,
+ 0xb1, 0xfc, 0x17, 0xd1, 0x79, 0xe3, 0xe8, 0xf1, 0xb6, 0xbd,
+ 0xe4, 0xb1, 0x66, 0x65, 0x5c, 0x95, 0xea, 0x63, 0xf5, 0xd2,
+ 0x54, 0x21, 0x0e, 0x96, 0xc9, 0xe6, 0xf6, 0x1e, 0xb0, 0x8e,
+ 0x52, 0xb3, 0x9b, 0xf2, 0xfd, 0x58, 0xa4, 0x73, 0x9c, 0x68,
+ 0xed, 0x02, 0x96, 0x08, 0x55, 0xb6, 0x72, 0x3e, 0x9f, 0xb3,
+ 0x3c, 0x75, 0xed, 0x54, 0x31, 0xc0, 0xee, 0x8b, 0xd3, 0x69,
+ 0x6d, 0xb4, 0xf0, 0x82, 0x1e, 0xc5, 0xca, 0xe4, 0x9b, 0x1b,
+ 0x79, 0xe7, 0xcb, 0xa9, 0x31, 0xe1, 0x21, 0x33, 0xae, 0xda,
+ 0x65, 0x17, 0xa2, 0xd9, 0xa1, 0x17, 0xfc, 0x9b, 0x9c, 0x77,
+ 0x94, 0x1f, 0xf2, 0xe8, 0xcd, 0xc4, 0x51, 0xdc, 0x4a, 0x93,
+ 0x40, 0x72, 0x4d, 0xdc, 0xce, 0xf1, 0xfe, 0x42, 0x69, 0x35,
+ 0xeb, 0xdd, 0x25, 0x8d, 0x0c, 0xcf, 0x88, 0x7b, 0xdb, 0x81,
+ 0x36, 0x96, 0x50, 0x1d, 0x76, 0x24, 0x30, 0x2a, 0x06, 0x80,
+ 0x18, 0x5d, 0xd3, 0xf6, 0x75, 0xc1, 0x6c, 0xef, 0xa0, 0x3a,
+ 0xec, 0x48, 0x60, 0x54, 0x0c, 0xc3, 0xc3, 0xee, 0x75, 0xd2,
+ 0x68, 0x76, 0x0a, 0xb0, 0x5d, 0x85, 0x90, 0x0c, 0x8a, 0x0e,
+ 0x80, 0xf7, 0x47, 0xdc, 0xd6, 0x92, 0x15, 0x32, 0x1d, 0x9a,
+ 0xa2, 0x2d, 0x4b, 0x16, 0xdf, 0xae, 0xc2, 0xac, 0x8f, 0xfb,
+ 0x71, 0x7c, 0xa9, 0x0b, 0xdf, 0x0a, 0x8b, 0x28, 0xc2, 0x2b,
+ 0x79, 0xc6, 0xa6, 0x3a, 0xf2, 0xd4, 0x0e, 0x66, 0x01, 0x58,
+ 0x37, 0x50, 0xd2, 0x83, 0xdf, 0x9b, 0x4e, 0xff, 0x79, 0x13,
+ 0xe0, 0xc0, 0x11, 0x37, 0x23, 0xb9, 0x76, 0x62, 0x0a, 0x4b,
+ 0x7e, 0xe5, 0x06, 0x94, 0x70, 0x10, 0x3d, 0xf5, 0xf3, 0xcf,
+ 0xb2, 0xaf, 0x0b, 0x76, 0xdf, 0x1b, 0x39, 0xb3, 0xf4, 0xdb,
+ 0xff, 0x64, 0xaa, 0x53, 0x51, 0x45, 0x6e, 0x65, 0xb8, 0x93,
+ 0xf4, 0x09, 0x17, 0xd0, 0xed, 0x49, 0x55, 0x9d, 0x57, 0x0b,
+ 0xf5, 0x36, 0xf2, 0x0d, 0x55, 0x91, 0x62, 0x01, 0x42, 0x66,
+ 0x9f, 0x77, 0xca, 0x2e, 0x87, 0x71, 0x81, 0x2e, 0x3b, 0xf5,
+ 0xfb, 0xee, 0xeb, 0x3e, 0x27, 0x13, 0x59, 0x4b, 0xa2, 0x7b,
+ 0xb6, 0x4b, 0xfa, 0x9a, 0x52, 0xdb, 0xc6, 0x0e, 0x64, 0x38,
+ 0x68, 0x84, 0x9d, 0xba, 0x5b, 0x9f, 0xe3, 0x83, 0x33, 0x59,
+ 0x65, 0x08, 0x9a, 0xa6, 0x1e, 0xdd, 0x82, 0xec, 0x0a, 0x7f,
+ 0x90, 0x30, 0x23, 0x2e, 0x64, 0xe5, 0x4b, 0xcf, 0x7c, 0xd2,
+ 0x57, 0xce, 0xee, 0xe9, 0x8c, 0x9a, 0xf0, 0xe7, 0x52, 0xce,
+ 0x93, 0x84, 0x38, 0x1d, 0xa2, 0x1e, 0x5e, 0x78, 0x85, 0x7d,
+ 0x8b, 0x89, 0x29, 0x4e, 0x8e, 0x7b, 0x6f, 0xe7, 0x2a, 0x64,
+ 0x3a, 0xf7, 0x87, 0x5a, 0x96, 0x2c, 0x7d, 0x9f, 0x47, 0x9b,
+ 0xdd, 0x35, 0xe2, 0xf8, 0x91, 0x16, 0x7d, 0x14, 0xd5, 0x50,
+ 0x47, 0x56, 0xf2, 0x4f, 0x8f, 0x74, 0x2c, 0xa2, 0xce, 0xf0,
+ 0xd6, 0xff, 0xa6, 0x80, 0x13, 0x45, 0x64, 0xc4, 0xb0, 0x5b,
+ 0x16, 0x47, 0x50, 0x0d, 0xaf, 0x71, 0xfd, 0xc3, 0xab, 0x27,
+ 0x46, 0x9c, 0x2d, 0x73, 0x83, 0x3b, 0x28, 0xcf, 0xec, 0x0f,
+ 0x99, 0x4c, 0xf8, 0x38, 0x40, 0xf4, 0x5a, 0x56, 0x08, 0xc1,
+ 0x36, 0xbe, 0x76, 0x90, 0x06, 0x86, 0x44, 0xdc, 0x8c, 0xa1,
+ 0x1b, 0x4b, 0x28, 0xef, 0x3b, 0x12, 0x18, 0x15, 0x03, 0x40,
+ 0x91, 0x20, 0xe6, 0x56, 0x50, 0x6b, 0xa8, 0xae, 0x03, 0xfd,
+ 0x15, 0x71, 0x01, 0x87, 0xa9, 0xb9, 0xa3, 0x59, 0xbf, 0x8c,
+ 0x7f, 0xf4, 0x79, 0x8a, 0x98, 0x6d, 0xa6, 0xef, 0xc9, 0x9d,
+ 0xb0, 0x7d, 0xff, 0x9b, 0x98, 0x86, 0x59, 0xb6, 0xe4, 0x3b,
+ 0x8e, 0xec, 0xfd, 0xb8, 0x7a, 0x8c, 0x9e, 0x32, 0x9c, 0x6f,
+ 0x70, 0xb6, 0x08, 0x85, 0x7b, 0xc5, 0x5f, 0x92, 0x37, 0x52,
+ 0x35, 0xf4, 0x4e, 0x98, 0x2b, 0xa4, 0x94, 0xb7, 0xd9, 0x31,
+ 0x58, 0x36, 0x37, 0xd8, 0x0b, 0xd1, 0xac, 0x17, 0xf4, 0xa6,
+ 0xc6, 0x2b, 0x13, 0x60, 0xa2, 0x66, 0xfd, 0x3f, 0x61, 0xfc,
+ 0x57, 0x17, 0x9e, 0xf0, 0x63, 0x97, 0x39, 0xb0, 0x8b, 0xe6,
+ 0xfb, 0xd0, 0x19, 0x04, 0xef, 0x10, 0xaa, 0xaf, 0xe4, 0x7c,
+ 0xfd, 0xa5, 0x29, 0x67, 0xa8, 0x42, 0x1c, 0xef, 0x51, 0x0f,
+ 0x2f, 0x3c, 0xa3, 0xdf, 0xa4, 0xa5, 0xf5, 0x27, 0x5b, 0xc4,
+ 0x7d, 0x4d, 0x29, 0x8c, 0x63, 0x07, 0x32, 0x1c, 0x34, 0x42,
+ 0xaf, 0x5d, 0xcc, 0xae, 0x90, 0xa0, 0xf8, 0xcd, 0xd3, 0x04,
+ 0x4d, 0x53, 0x0f, 0x8f, 0x41, 0x76, 0x05, 0xde, 0x48, 0x18,
+ 0x58, 0x87, 0x5f, 0x23, 0x6f, 0x3d, 0x8f, 0xc3, 0x26, 0x8a,
+ 0xc8, 0x4b, 0xa3, 0xb6, 0x2c, 0x8e, 0xf1, 0x97, 0x2c, 0x08,
+ 0x47, 0xe9, 0xdb, 0x94, 0xc6, 0x15, 0x23, 0x92, 0x42, 0x14,
+ 0x99, 0x33, 0xdf, 0xf6, 0xde, 0x0d, 0x54, 0xc8, 0x74, 0x2d,
+ 0xcd, 0xb4, 0xef, 0x58, 0xfa, 0xfd, 0x8e, 0xf5, 0x28, 0xe7,
+ 0xb6, 0xd9, 0x9f, 0x80, 0xb4, 0xf2, 0x23, 0x4e, 0xf7, 0xd8,
+ 0xa0, 0xfc, 0x14, 0x86, 0x60, 0xb7, 0xca, 0x5e, 0x17, 0x82,
+ 0x73, 0x3a, 0xc5, 0xe8, 0x36, 0xe3, 0x43, 0x93, 0x30, 0x8a,
+ 0x79, 0x6a, 0x07, 0x33, 0xe1, 0x2c, 0xfa, 0x28, 0x69, 0xa0,
+ 0x8e, 0xac, 0x27, 0x9e, 0xdd, 0xe8, 0x76, 0xe6, 0xad, 0x26,
+ 0x7c, 0x1c, 0x20, 0x7a, 0x2d, 0x2b, 0x04, 0x81, 0x1b, 0x5f,
+ 0x3b, 0x48, 0x03, 0x43, 0x22, 0x6e, 0x46, 0xb1, 0xec, 0xc4,
+ 0x14, 0x96, 0xfc, 0x09, 0x0c, 0xeb, 0xe0, 0x20, 0xc8, 0x27,
+ 0xa7, 0xee, 0xbc, 0x39, 0xc2, 0x90, 0x29, 0x05, 0x89, 0x3d,
+ 0xa6, 0x68, 0x64, 0x96, 0x02, 0xc3, 0x3c, 0xf5, 0xc5, 0xde,
+ 0x09, 0x39, 0x18, 0xe4, 0xa8, 0x0e, 0x08, 0xb2, 0x01, 0x81,
+ 0x12, 0x14, 0x1f, 0x51, 0x22, 0xe1, 0x41, 0x32, 0xd8, 0xc8,
+ 0xa1, 0x7e, 0x48, 0x6b, 0x09, 0x03, 0xef, 0x4c, 0xbb, 0x22,
+ 0xbe, 0x89, 0xac, 0x30, 0x4e, 0xc0, 0xf4, 0xc8, 0x3a, 0x55,
+ 0x96, 0xb0, 0x46, 0x5c, 0xc8, 0x09, 0x96, 0x5d, 0xf8, 0x67,
+ 0xae, 0x5f, 0x1f, 0x11, 0xdb, 0xf7, 0x23, 0x0d, 0x51, 0x8d,
+ 0xb1, 0xea, 0x7e, 0xac, 0x4e, 0xda, 0x4a, 0xee, 0x79, 0x74,
+ 0x87, 0x62, 0xc9, 0x6e, 0xdb, 0xb3, 0xa6, 0x24, 0x1d, 0xb7,
+ 0x66, 0x5f, 0xfd, 0xbf, 0x7c, 0x44, 0xea, 0x5a, 0x8c, 0x34,
+ 0x74, 0x25, 0x91, 0xd3, 0xb9, 0xc2, 0x29, 0x43, 0x35, 0xcf,
+ 0xac, 0x8f, 0x13, 0xed, 0x3a, 0xc9, 0x0f, 0x8c, 0xaa, 0x15,
+ 0x9d, 0x30, 0xda, 0x52, 0x44, 0x8b, 0x8a, 0x2d, 0x3c, 0xc1,
+ 0xe6, 0xa0, 0xc1, 0x2d, 0x49, 0x27, 0xad, 0xa8, 0x03, 0x89,
+ 0x45, 0x61, 0x38, 0x02, 0x82, 0xbc, 0x81, 0x76, 0x8d, 0x38,
+ 0x4d, 0x89, 0x6c, 0xd5, 0xd6, 0x33, 0x93, 0xcc, 0x6a, 0x25,
+ 0x71, 0x74, 0xa7, 0xbb, 0x68, 0x3d, 0x3a, 0x0c, 0x85, 0x7c,
+ 0x57, 0xde, 0xa5, 0xfe, 0xd3, 0xdb, 0x63, 0x1e, 0x34, 0xcb,
+ 0xb7, 0xcb, 0xe4, 0x01, 0xd1, 0xb4, 0x23, 0xf3, 0x68, 0x4a,
+ 0x3c, 0x83, 0x99, 0xe3, 0xba, 0x3e, 0x0e, 0x0c, 0xb4, 0x8e,
+ 0x1e, 0x5f, 0x3f, 0xaf, 0x48, 0xf9, 0xde, 0x2a, 0x38, 0x98,
+ 0x07, 0x01, 0x5d, 0x42, 0x39, 0x91, 0xa5, 0x2d, 0x78, 0x4c,
+ 0x1a, 0xf3, 0x0f, 0x50, 0xb7, 0x48, 0xcf, 0xee, 0xe2, 0x03,
+ 0x2d, 0xc2, 0xe6, 0x67, 0x7f, 0x5b, 0x12, 0xaf, 0xd6, 0xeb,
+ 0x0e, 0x26, 0x71, 0x91, 0xc0, 0xad, 0x57, 0xbc, 0x2e, 0xc7,
+ 0xe6, 0x74, 0x49, 0x13, 0x6c, 0x05, 0x86, 0xe5, 0x60, 0xd7,
+ 0x96, 0x26, 0xbc, 0x11, 0x5f, 0xa5, 0x56, 0x18, 0x27, 0x60,
+ 0x7a, 0x64, 0x1d, 0xcb, 0x4b, 0x58, 0xad, 0x55, 0x0b, 0x02,
+ 0x61, 0xab, 0x46, 0x25, 0xd0, 0x94, 0x78, 0xc5, 0xf1, 0x05,
+ 0xb7, 0x7c, 0x01, 0x80, 0x1e, 0x9b, 0x83, 0x6f, 0xe5, 0xfd,
+ 0x0c, 0x72, 0x54, 0x07, 0x04, 0x59, 0xe1, 0xa1, 0x24, 0x28,
+ 0x3e, 0xa2, 0x44, 0x01, 0x82, 0x64, 0x73, 0x53, 0x81, 0xfc,
+ 0x90, 0xd6, 0x12, 0x06, 0xe8, 0x4a, 0xe1, 0x65, 0xb1, 0x47,
+ 0x52, 0x86, 0x6a, 0x5d, 0x9b, 0xdd, 0x26, 0x19, 0x74, 0x51,
+ 0x8c, 0xb8, 0x53, 0x12, 0xef, 0xba, 0x33, 0xce, 0x9f, 0xbe,
+ 0x3e, 0x22, 0x75, 0x2d, 0x46, 0x1a, 0xf3, 0x54, 0x10, 0xfd,
+ 0x82, 0x37, 0xd2, 0xad, 0xde, 0xf1, 0x8b, 0x9c, 0x4a, 0xa6,
+ 0x98, 0xb2, 0xa7, 0x1c, 0xc7, 0xa5, 0x36, 0x8b, 0x6b, 0xf8,
+ 0xa8, 0x66, 0x35, 0xf3, 0xd9, 0x3a, 0xb2, 0xbc, 0x34, 0xff,
+ 0x1d, 0x06, 0xa3, 0x3e, 0xca, 0x6f, 0xb3, 0x7f, 0x88, 0x8c,
+ 0xd0, 0x0f, 0x1a, 0x84, 0xe6, 0x46, 0x55, 0xeb, 0xaf, 0x18,
+ 0x6d, 0x29, 0x22, 0xa4, 0x45, 0xf7, 0x1e, 0x81, 0x73, 0x50,
+ 0x48, 0x50, 0x7c, 0x87, 0x88, 0x02, 0xc7, 0xc8, 0xe6, 0xa6,
+ 0xc1, 0x3b, 0xe3, 0x6f, 0x24, 0x0c, 0xba, 0x84, 0x72, 0xe1,
+ 0x89, 0x5a, 0xf0, 0x98, 0x34, 0x25, 0x1e, 0xa0, 0xad, 0x90,
+ 0x5d, 0x1f, 0x07, 0x06, 0x5a, 0x47, 0x0f, 0xce, 0xfe, 0xb6,
+ 0x24, 0x9d, 0x6f, 0x15, 0x1c, 0x4c, 0xe2, 0xe1, 0xfc, 0xd8,
+ 0xba, 0xe8, 0x1f, 0x07, 0x08, 0xff, 0x9a, 0x7a, 0x01, 0xb1,
+ 0x76, 0x67, 0x7e, 0x12, 0x4d, 0x95, 0x1a, 0x35, 0x42, 0x12,
+ 0x30, 0x47, 0xda, 0xdf, 0x06, 0x20, 0xf7, 0x91, 0xc7, 0x6c,
+ 0x19, 0xdd, 0xcd, 0x6d, 0xf6, 0xae, 0x89, 0x12, 0xac, 0x48,
+ 0xb8, 0x4f, 0x64, 0x0d, 0xed, 0x62, 0x42, 0x19, 0xb0, 0x20,
+ 0xdf, 0x22, 0xea, 0x15, 0x9e, 0x54, 0x8c, 0x0d, 0xcb, 0x50,
+ 0x21, 0xcc, 0x75, 0xa5, 0x8f, 0x48, 0x3a, 0xad, 0xcc, 0xbe,
+ 0x39, 0xbd, 0xf8, 0x88, 0x17, 0xb4, 0xdb, 0x68, 0x4c, 0x15,
+ 0x04, 0xae, 0xc1, 0x7d, 0xd5, 0xba, 0xd6, 0xad, 0x52, 0x27,
+ 0xf3, 0xc8, 0x26, 0xcd, 0xa9, 0x10, 0x73, 0x2b, 0x28, 0xd4,
+ 0x54, 0x57, 0xe0, 0x9f, 0xeb, 0xd9, 0xe1, 0xa2, 0xb5, 0xbd,
+ 0x82, 0xb4, 0xe7, 0x9c, 0xf1, 0xe5, 0x0c, 0x61, 0xd7, 0x47,
+ 0xe0, 0x08, 0x4d, 0xb5, 0x41, 0x1b, 0xf7, 0x11, 0x68, 0xd4,
+ 0xcb, 0x48, 0xc0, 0xdf, 0xee, 0xfa, 0x18, 0x80, 0x5a, 0x01,
+ 0x9a, 0x73, 0x08, 0x8a, 0xf0, 0x52, 0x92, 0xfe, 0x24, 0xe4,
+ 0x60, 0x16, 0xe5, 0x38, 0x20, 0x8d, 0x04, 0x41, 0x4f, 0x56,
+ 0x26, 0xc0, 0x87, 0xcc, 0x39, 0x7e, 0xc2, 0x3b, 0xae, 0x2e,
+ 0xff, 0x23, 0xc6, 0xed, 0x10, 0xd7, 0x23, 0xa4, 0xe7, 0x3f,
+ 0x48, 0x0b, 0xc0, 0x2c, 0x09, 0x70, 0x40, 0xd9, 0x08, 0x82,
+ 0x3b, 0x73, 0xb7, 0x13, 0x3e, 0x0e, 0x10, 0x3d, 0xf7, 0xf4,
+ 0x02, 0xa1, 0xec, 0xce, 0xfc, 0x24, 0xcb, 0x64, 0x85, 0x80,
+ 0xfa, 0x88, 0x2e, 0x54, 0x3d, 0x93, 0x75, 0x34, 0xaa, 0x83,
+ 0x84, 0xb6, 0x20, 0x6d, 0x46, 0x8b, 0x0d, 0x7e, 0x90, 0x16,
+ 0x43, 0x58, 0x12, 0xe0, 0x80, 0x71, 0x10, 0xc7, 0x63, 0xf4,
+ 0xe8, 0x30, 0x51, 0x33, 0x9f, 0xfe, 0xd1, 0x7e, 0xca, 0xea,
+ 0x4f, 0x78, 0xd0, 0xaa, 0x73, 0x23, 0xcb, 0x94, 0xb6, 0x0c,
+ 0xd7, 0xf5, 0x11, 0x52, 0xc3, 0x9a, 0x0f, 0xa1, 0xd8, 0x28,
+ 0xed, 0x8f, 0x87, 0xd7, 0x7b, 0x57, 0xa5, 0x09, 0x56, 0x24,
+ 0x5c, 0xc6, 0x32, 0xe7, 0x97, 0x31, 0xea, 0x89, 0xdd, 0x90,
+ 0x74, 0x99, 0x5b, 0xbf, 0x72, 0xb9, 0x33, 0xd3, 0x2e, 0xab,
+ 0x75, 0xd0, 0xc9, 0xa7, 0xb9, 0x75, 0x3f, 0x56, 0x27, 0x6d,
+ 0x25, 0x77, 0xdd, 0x3a, 0xa2, 0x31, 0x85, 0x37, 0x32, 0x79,
+ 0x59, 0xda, 0x2f, 0x9f, 0xd1, 0x24, 0x9b, 0x90, 0xb3, 0x9e,
+ 0xc8, 0x1a, 0x19, 0xc4, 0x84, 0x32, 0xa3, 0x40, 0x7d, 0x44,
+ 0x17, 0x2a, 0xff, 0xa8, 0xdb, 0x1a, 0x55, 0xa0, 0x42, 0x5b,
+ 0x53, 0x4e, 0x8d, 0x1f, 0xbb, 0x72, 0x47, 0xe3, 0x52, 0x0a,
+ 0xd1, 0x7a, 0x8f, 0xd0, 0xc8, 0xef, 0x04, 0x45, 0x78, 0x29,
+ 0x49, 0x7f, 0x12, 0x72, 0x30, 0x0b, 0x93, 0x1c, 0x10, 0xa7,
+ 0x02, 0xc1, 0x7c, 0xaf, 0x61, 0x81, 0x2b, 0x3c, 0x0d, 0xa7,
+ 0x55, 0xd9, 0x49, 0xb7, 0x33, 0x60, 0x3e, 0x88, 0x41, 0x5a,
+ 0x92, 0x4e, 0x99, 0x93, 0x06, 0xd1, 0x8a, 0xc2, 0x70, 0x04,
+ 0xc7, 0xbb, 0xc1, 0xec, 0x27, 0x6b, 0x1c, 0xcc, 0x02, 0xb0,
+ 0x6e, 0xa0, 0x67, 0xc5, 0x7d, 0xf5, 0x9c, 0x3d, 0xf2, 0x26,
+ 0x55, 0xc8, 0xc9, 0xc3, 0x37, 0xd3, 0x5c, 0xa8, 0x7a, 0xe5,
+ 0xea, 0x68, 0x97, 0xc5, 0xcb, 0xaf, 0xcf, 0x21, 0xfd, 0xa9,
+ 0xb3, 0xf7, 0x3c, 0x26, 0x0d, 0x98, 0xe6, 0x28, 0xba, 0x24,
+ 0x86, 0x77, 0x71, 0xe0, 0xf7, 0x61, 0x73, 0xd2, 0xde, 0xcc,
+ 0x09, 0xb6, 0x6b, 0x94, 0x07, 0x13, 0xd9, 0xa9, 0x11, 0x57,
+ 0x3d, 0x3f, 0x64, 0x50, 0xad, 0xf6, 0xcc, 0x5e, 0x5d, 0x77,
+ 0x44, 0x80, 0xe9, 0x23, 0x97, 0xa6, 0xa2, 0x8a, 0xdc, 0xca,
+ 0xb3, 0xe5, 0x2b, 0x12, 0x2e, 0x63, 0x19, 0x92, 0xaa, 0xf9,
+ 0xd9, 0x70, 0x9a, 0xd1, 0xd8, 0x69, 0x6f, 0x66, 0xe5, 0x5b,
+ 0xd4, 0x4a, 0xe2, 0xe8, 0x8d, 0xb5, 0xd0, 0x7a, 0x74, 0x18,
+ 0xc9, 0xf8, 0xae, 0x7f, 0x89, 0x3f, 0x65, 0x75, 0xc6, 0x3c,
+ 0x68, 0x55, 0xa8, 0x90, 0x6d, 0xb0, 0xab, 0xbb, 0xb1, 0xaa,
+ 0xec, 0xed, 0xbf, 0xde, 0xe5, 0xfb, 0x54, 0x1c, 0x1b, 0x1e,
+ 0xf1, 0x98, 0x33, 0x70, 0x80, 0x2b, 0xb4, 0xac, 0x10, 0x41,
+ 0x6c, 0xbf, 0xec, 0xe3, 0x16, 0x51, 0x67, 0x78, 0x6b, 0x9e,
+ 0x53, 0x40, 0xe8, 0xc3, 0x32, 0x62, 0x58, 0xcc, 0x0b, 0xc2,
+ 0x6c, 0x78, 0x42, 0x25, 0xcc, 0x03, 0x45, 0xac, 0x95, 0xf5,
+ 0x40, 0xc7, 0x73, 0xb9, 0x36, 0x0a, 0x2f, 0xe1, 0xec, 0x9e,
+ 0x90, 0x4e, 0x4a, 0x44, 0x07, 0xd3, 0x98, 0xcd, 0xbc, 0xb0,
+ 0xf6, 0x67, 0x45, 0x1f, 0xea, 0x67, 0xd0, 0xec, 0x14, 0xa3,
+ 0xba, 0xc9, 0xe3, 0x18, 0xd7, 0x1c, 0xc3, 0x2d, 0x33, 0xf9,
+ 0x47, 0x41, 0xac, 0xf0, 0x34, 0xd9, 0x97, 0xe2, 0xe7, 0x99,
+ 0xcc, 0x43, 0xf8, 0x65, 0x1d, 0x98, 0xb5, 0x44, 0xbf, 0xd1,
+ 0x9b, 0x60, 0x9c, 0x43, 0x2b, 0x53, 0x74, 0xaa, 0xef, 0xa3,
+ 0xfe, 0x1b, 0x86, 0x1d, 0xda, 0xd9, 0x01, 0xc6, 0x82, 0x9e,
+ 0xa9, 0xbf, 0x7e, 0xd5, 0x7f, 0x93, 0x7a, 0x29, 0x25, 0x5d,
+ 0xa7, 0x9d, 0x16, 0xec, 0x7d, 0x36, 0x72, 0xa5, 0x2b, 0x75,
+ 0x3d, 0xc8, 0x64, 0xf2, 0xb2, 0x77, 0x5e, 0xfd, 0x61, 0x48,
+ 0xf5, 0xe3, 0xa5, 0xff, 0x53, 0x34, 0x32, 0x4b, 0xb3, 0x8e,
+ 0x9c, 0x28, 0x98, 0xcb, 0x31, 0x81, 0x58, 0x41, 0xaf, 0x9f,
+ 0x89, 0x44, 0xb8, 0xff, 0x1f, 0x5b, 0x89, 0xb1, 0x7a, 0x0f,
+ 0x92, 0x59, 0x84, 0xa7, 0x83, 0x5d, 0x7c, 0x18, 0xee, 0x22,
+ 0x2e, 0x61, 0xf2, 0x05, 0x13, 0x21, 0xaf, 0xb9, 0x0b, 0xa1,
+ 0xcc, 0xca, 0xb8, 0xe9, 0x17, 0xc6, 0xe4, 0x85, 0x69, 0x1e,
+ 0x6a, 0xc6, 0x64, 0x10, 0x3a, 0x40, 0xed, 0xf9, 0x16, 0x33,
+ 0x72, 0xd1, 0x6a, 0xfe, 0x06, 0xf9, 0x40, 0xa2, 0x5e, 0xe7,
+ 0xbd, 0x1a, 0x7b, 0xd5, 0x6b, 0xac, 0x35, 0x4a, 0x7d, 0x2f,
+ 0x7f, 0x1a, 0xa8, 0x53, 0xe8, 0x5a, 0x59, 0xab, 0x1d, 0xb0,
+ 0x37, 0x39, 0xdf, 0x29, 0xd8, 0xf0, 0x84, 0x4a, 0x5b, 0x06,
+ 0x8a, 0x9b, 0xe9, 0x29, 0x80, 0x4d, 0xe6, 0xb1, 0x6c, 0x14,
+ 0xc2, 0x6e, 0x6b, 0x49, 0xeb, 0x19, 0xef, 0x4d, 0x51, 0xf7,
+ 0xc4, 0x0b, 0x8e, 0x57, 0x61, 0x56, 0x36, 0x3c, 0x21, 0xf3,
+ 0x66, 0xe0, 0xc3, 0x56, 0xab, 0x9b, 0x20, 0x82, 0xd8, 0xbd,
+ 0x1b, 0x05, 0xf8, 0x9d, 0xc2, 0xc1, 0x56, 0x78, 0x1a, 0x8d,
+ 0xaa, 0x71, 0x92, 0xad, 0x66, 0xc0, 0x7c, 0xd3, 0x26, 0xeb,
+ 0x02, 0x57, 0x81, 0xdf, 0x8b, 0x5d, 0x6b, 0xb7, 0x29, 0xf2,
+ 0x98, 0x64, 0x13, 0x87, 0x3f, 0x36, 0xcf, 0x3a, 0x77, 0x71,
+ 0x02, 0x4f, 0xc7, 0xff, 0x91, 0xbd, 0xfc, 0x69, 0xfe, 0xe5,
+ 0x0a, 0x49, 0xcc, 0xa7, 0x57, 0x20, 0x2d, 0xdd, 0x78, 0xf2,
+ 0x4d, 0x36, 0x28, 0x3f, 0x05, 0xc0, 0x9f, 0x2c, 0x52, 0xd8,
+ 0x4e, 0x34, 0x97, 0x01, 0x4b, 0x04, 0xcb, 0x5b, 0x39, 0x1f,
+ 0xae, 0xb8, 0xf4, 0x52, 0x4a, 0xba, 0x8d, 0xf9, 0x2c, 0x1b,
+ 0xfa, 0x6c, 0xe4, 0x89, 0x56, 0xea, 0x7a, 0x53, 0x1a, 0x9e,
+ 0xef, 0x03, 0xb0, 0x1f, 0x65, 0xd6, 0xb8, 0xde, 0x44, 0x46,
+ 0x68, 0xe6, 0x0d, 0x42, 0xa5, 0xdf, 0xfb, 0x50, 0xf3, 0x55,
+ 0x62, 0xc1, 0xb0, 0x82, 0x9d, 0xfd, 0xd1, 0x88, 0xb3, 0x3d,
+ 0x61, 0x37, 0xd4, 0xc5, 0x94, 0xed, 0x96, 0xc7, 0xc9, 0x9a,
+ 0x62, 0xe4, 0x47, 0xca, 0xd1, 0x2b, 0x35, 0x7f, 0x03, 0x9d,
+ 0x20, 0x51, 0x2f, 0x92, 0xbf, 0x0d, 0xdc, 0x8b, 0xd4, 0x56,
+ 0xfb, 0x25, 0x7b, 0xa9, 0x3b, 0xc6, 0x24, 0xf2, 0xf3, 0x11,
+ 0x71, 0x44, 0x26, 0xa2, 0x2f, 0x2c, 0xdc, 0x69, 0xde, 0x76,
+ 0xc0, 0x96, 0xd7, 0xa7, 0x91, 0xd0, 0xc1, 0xc6, 0xbb, 0x5f,
+ 0xfe, 0xa4, 0x6f, 0x54, 0xb5, 0x08, 0xd8, 0xf4, 0x14, 0x6a,
+ 0x2a, 0xca, 0x70, 0xae, 0x94, 0x8d, 0x91, 0x51, 0xbb, 0xbf,
+ 0xda, 0x33, 0xb8, 0xbf, 0x9e, 0xd8, 0x83, 0xa2, 0xf1, 0xcd,
+ 0x28, 0x43, 0xee, 0x03, 0x6d, 0x95, 0xbc, 0x02, 0x36, 0x3d,
+ 0x05, 0xfb, 0xeb, 0xd3, 0x1c, 0xca, 0x25, 0xb2, 0xb5, 0x85,
+ 0x5e, 0x5f, 0xd7, 0x7c, 0x2e, 0x5f, 0xc6, 0x36, 0x50, 0xc9,
+ 0xad, 0xa2, 0x0a, 0x60, 0xda, 0x70, 0x8a, 0xb4, 0xab, 0xd3,
+ 0x4f, 0xde, 0xed, 0x0a, 0x5d, 0x6e, 0xf8, 0x7b, 0x43, 0xd7,
+ 0xe9, 0x10, 0xb4, 0x3c, 0x22, 0xae, 0x7a, 0x7e, 0xc8, 0xa0,
+ 0x99, 0x2f, 0x5b, 0xbc, 0xba, 0xee, 0x88, 0xc3, 0x11, 0x46,
+ 0x66, 0x31, 0x8e, 0x82, 0x9b, 0x23, 0x68, 0x71, 0xed, 0x07,
+ 0x0d, 0xf1, 0x5b, 0x86, 0x33, 0xca, 0x3a, 0xf3, 0xa9, 0x88,
+ 0xbd, 0x61, 0xf5, 0xc0, 0xfb, 0x86, 0x56, 0xa6, 0xe8, 0x97,
+ 0x1d, 0x85, 0x9a, 0xe9, 0x34, 0x6a, 0x84, 0x24, 0x60, 0x8e,
+ 0x77, 0x7d, 0x0c, 0x40, 0x2d, 0xe1, 0x4d, 0xd8, 0x6b, 0x7e,
+ 0x18, 0x62, 0xc3, 0xcd, 0xbb, 0x1a, 0xb1, 0x68, 0x2f, 0xd2,
+ 0x6f, 0xf5, 0xd4, 0xeb, 0x05, 0xc5, 0x66, 0xb2, 0xca, 0x10,
+ 0xf7, 0x8f, 0x3c, 0x79, 0xc7, 0x1b, 0x14, 0xfe, 0xe3, 0x60,
+ 0x6f, 0x3b, 0x60, 0x4b, 0x8a, 0xb2, 0xa9, 0x68, 0x81, 0x63,
+ 0xbc, 0xce, 0x7f, 0x52, 0xd6, 0x2a, 0x80, 0x77, 0xdb, 0x69,
+ 0x34, 0x3b, 0x05, 0x58, 0xcf, 0xa3, 0x48, 0x06, 0x45, 0x07,
+ 0x40, 0x9a, 0x5c, 0xc2, 0x27, 0x0a, 0x26, 0x42, 0x9d, 0xb1,
+ 0x16, 0x81, 0x5b, 0x57, 0xb3, 0x11, 0x2e, 0x4f, 0xfb, 0xde,
+ 0xe0, 0xaf, 0x10, 0xc9, 0xf6, 0x49, 0xbe, 0xe7, 0x6e, 0xa4,
+ 0x6a, 0x2b, 0x9c, 0xf3, 0x89, 0x7d, 0x35, 0xa0, 0x25, 0xaa,
+ 0xc4, 0x41, 0xa3, 0xc7, 0xf9, 0x39, 0x61, 0xd3, 0xa5, 0x7a,
+ 0x5e, 0x01, 0x1b, 0xff, 0xe3, 0x9c, 0x94, 0x88, 0x0e, 0x65,
+ 0xf3, 0x59, 0xbb, 0xa3, 0x2f, 0xce, 0x8a, 0x3e, 0x17, 0xce,
+ 0x63, 0x1b, 0x28, 0x85, 0xb7, 0x51, 0x05, 0x30, 0x6d, 0x38,
+ 0x45, 0x5a, 0xbb, 0x04, 0x6c, 0x7a, 0x0a, 0x35, 0x15, 0x65,
+ 0x38, 0x57, 0x4a, 0xa7, 0xa9, 0xc9, 0xbc, 0xbe, 0x6d, 0xf8,
+ 0x5c, 0xbe, 0x4f, 0x6c, 0xa0, 0x51, 0x99, 0x87, 0x14, 0xc0,
+ 0x77, 0xe0, 0xd7, 0xab, 0x9d, 0xef, 0x6e, 0x2d, 0x8b, 0xea,
+ 0x9e, 0x38, 0x53, 0xe0, 0x63, 0x55, 0x31, 0xad, 0xaf, 0x39,
+ 0x25, 0xa8, 0x20, 0x39, 0xc7, 0x6e, 0x67, 0x99, 0x7f, 0x21,
+ 0xd5, 0xfb, 0x94, 0x8f, 0xf3, 0xa7, 0xc4, 0xe8, 0x2f, 0x95,
+ 0x67, 0xb8, 0xf4, 0x06, 0x79, 0x18, 0xff, 0x19, 0x96, 0x42,
+ 0x62, 0x16, 0x15, 0x12, 0x45, 0x16, 0x2d, 0x2f, 0xbf, 0x84,
+ 0xfc, 0x55, 0xce, 0x6b, 0x54, 0x27, 0xeb, 0xe2, 0x85, 0xb2,
+ 0xbd, 0xdb, 0xfe, 0x2b, 0xf2, 0xd7, 0xf3, 0xda, 0x8f, 0x1d,
+ 0x51, 0xf9, 0xa3, 0xfa, 0xd6, 0xfc, 0x30, 0xc4, 0x45, 0x59,
+ 0xb5, 0x34, 0xa1, 0xd0, 0x5e, 0x67, 0xde, 0x29, 0x6b, 0x15,
+ 0xe1, 0x40, 0x0f, 0xac, 0xa0, 0xd6, 0x93, 0x9f, 0x06, 0x39,
+ 0x2a, 0xe2, 0x02, 0xcd, 0x91, 0xb1, 0xd4, 0x3f, 0x0c, 0x31,
+ 0x80, 0x87, 0xbc, 0x0d, 0xb9, 0x34, 0xf6, 0x69, 0xd6, 0x9b,
+ 0x6a, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xfa,
+ 0x6a, 0x83, 0x4a, 0x97, 0x4b, 0x82, 0x85, 0x4d, 0x31, 0x72,
+ 0xc2, 0x65, 0x89, 0xf4, 0x7e, 0x6c, 0x5d, 0x74, 0xee, 0xe2,
+ 0x04, 0x9e, 0x4d, 0x3d, 0xe1, 0xb9, 0x3b, 0xd2, 0x3f, 0x09,
+ 0xb8, 0x47, 0x4e, 0x14, 0x4c, 0x84, 0xf9, 0xa1, 0x2c, 0xc1,
+ 0xb6, 0xae, 0xa5, 0x22, 0x5c, 0x9e,
+ },
+ {
+ /* 9 */
+ 0xa5, 0x55, 0xa4, 0x90, 0xc6, 0x8d, 0x2f, 0xd5, 0x71, 0x80,
+ 0x04, 0x89, 0xcb, 0x72, 0x1b, 0x5d, 0x2d, 0x90, 0x75, 0x4e,
+ 0x36, 0xf9, 0x9f, 0x17, 0x62, 0x87, 0xa3, 0x5a, 0x48, 0x8a,
+ 0xa4, 0x15, 0x32, 0x9f, 0x4c, 0x80, 0x9d, 0x5f, 0xd4, 0xf3,
+ 0xbf, 0x6c, 0x3b, 0x64, 0xae, 0x3d, 0x18, 0xe9, 0x8f, 0x0b,
+ 0x94, 0x6d, 0x4b, 0xb1, 0x7f, 0x15, 0x81, 0x1e, 0x6c, 0xdd,
+ 0xe4, 0xac, 0x86, 0xd3, 0x0e, 0x5f, 0x8a, 0xa5, 0xb5, 0x49,
+ 0x5d, 0x6d, 0xe7, 0x32, 0x55, 0x1c, 0xce, 0xa8, 0x72, 0xf5,
+ 0x30, 0x41, 0xf8, 0xfa, 0x20, 0xc6, 0xcb, 0x66, 0x9e, 0x27,
+ 0xa6, 0x60, 0xc1, 0x05, 0xc9, 0xce, 0x38, 0xbf, 0x6d, 0xd1,
+ 0x91, 0xe7, 0xb7, 0x77, 0x1a, 0xc8, 0x97, 0x70, 0xbe, 0xe5,
+ 0x0b, 0x52, 0xc0, 0xc7, 0x66, 0x6e, 0x80, 0x9e, 0xaa, 0x5b,
+ 0x3d, 0x9c, 0xdd, 0x43, 0x82, 0x14, 0xa2, 0xbe, 0x54, 0xbc,
+ 0x60, 0x39, 0xd9, 0x78, 0xa0, 0x43, 0x23, 0xff, 0xd0, 0xa8,
+ 0x5e, 0x7f, 0xf9, 0xdf, 0xe6, 0x18, 0x68, 0x4c, 0x05, 0x72,
+ 0xb8, 0x63, 0x0b, 0x7b, 0x7d, 0x0f, 0x0c, 0x5a, 0x9c, 0xe2,
+ 0x9e, 0x5b, 0x27, 0x06, 0x55, 0x5e, 0x69, 0x9c, 0xbb, 0xc7,
+ 0xa1, 0xff, 0xcc, 0xb3, 0x48, 0xda, 0x39, 0xd0, 0x37, 0xec,
+ 0x2e, 0x4a, 0x59, 0xdc, 0xeb, 0x0c, 0x38, 0x72, 0x68, 0xf9,
+ 0x82, 0xa0, 0x55, 0xd3, 0x3a, 0x04, 0x66, 0xd5, 0x4e, 0xe8,
+ 0xd2, 0x3b, 0x7f, 0xaa, 0x88, 0x63, 0x70, 0x2d, 0x7e, 0xe2,
+ 0x50, 0xc4, 0x54, 0x44, 0xf0, 0x83, 0xd3, 0x61, 0xb8, 0xfc,
+ 0x71, 0xa1, 0x64, 0x51, 0x52, 0x1d, 0x7f, 0xb7, 0xdd, 0x10,
+ 0x81, 0x3f, 0x40, 0x22, 0xb4, 0xa4, 0xef, 0x37, 0x49, 0xb6,
+ 0x91, 0x6b, 0xf7, 0x9e, 0x5f, 0xba, 0xda, 0x5a, 0xad, 0x31,
+ 0x5b, 0xe1, 0xd4, 0x07, 0xb3, 0xdd, 0x64, 0xfd, 0x98, 0xc3,
+ 0xf9, 0xbe, 0x6b, 0x25, 0xbd, 0xd8, 0x76, 0xc8, 0x9f, 0x7a,
+ 0x30, 0x11, 0x03, 0xb1, 0xee, 0x47, 0x02, 0x34, 0xf1, 0x3e,
+ 0xd0, 0x8f, 0x32, 0x06, 0xb9, 0x24, 0x58, 0xd5, 0x57, 0x0d,
+ 0x8e, 0x7e, 0xdb, 0x4c, 0x51, 0x7d, 0xf3, 0x70, 0xe2, 0xae,
+ 0xe7, 0x5b, 0xa1, 0x0a, 0x5a, 0xe3, 0xea, 0x9c, 0x6c, 0x31,
+ 0xfd, 0x2e, 0xc4, 0xcd, 0x85, 0xb4, 0x90, 0xd7, 0x8b, 0x2a,
+ 0x1c, 0xbe, 0xd7, 0x89, 0xa9, 0x92, 0xba, 0xda, 0x0d, 0x64,
+ 0xaa, 0x38, 0x5f, 0x93, 0xe4, 0x29, 0x60, 0x82, 0x33, 0x37,
+ 0x40, 0x4f, 0x55, 0xcc, 0xff, 0x4e, 0x8f, 0xc0, 0x41, 0x0a,
+ 0x51, 0x5f, 0x07, 0xce, 0x45, 0xb3, 0xbb, 0xc5, 0xcf, 0xd7,
+ 0x92, 0x19, 0xcb, 0x0e, 0x67, 0x54, 0x39, 0x9b, 0x18, 0xc1,
+ 0x7c, 0x7d, 0x10, 0x63, 0x84, 0x33, 0x4f, 0xf2, 0x53, 0x30,
+ 0x81, 0xe3, 0x85, 0x67, 0x21, 0x11, 0x4b, 0x91, 0x3e, 0x29,
+ 0xdd, 0xef, 0xa4, 0xfe, 0x6b, 0x42, 0xe9, 0x1a, 0x07, 0xc7,
+ 0x72, 0x63, 0x6e, 0x1b, 0x5c, 0x94, 0xb2, 0x7b, 0x15, 0x18,
+ 0x70, 0xe4, 0xd0, 0x31, 0xc7, 0x83, 0xa8, 0xbb, 0xc0, 0x72,
+ 0x71, 0xf0, 0x83, 0x86, 0x46, 0x3d, 0x63, 0x93, 0xbc, 0xfe,
+ 0x31, 0x7d, 0xd1, 0x97, 0xd5, 0x05, 0x9e, 0x71, 0xbc, 0xd2,
+ 0x07, 0x45, 0x10, 0x61, 0xaa, 0x0b, 0x6c, 0xb7, 0x29, 0xef,
+ 0xde, 0xba, 0x8f, 0x08, 0xa1, 0xfe, 0x20, 0x11, 0x5a, 0x52,
+ 0x96, 0xfa, 0xc5, 0x5b, 0xc6, 0x66, 0x79, 0xe0, 0x84, 0xf6,
+ 0x8b, 0x27, 0x5e, 0x41, 0xb9, 0x4f, 0x33, 0x5c, 0x12, 0xd7,
+ 0xa4, 0x3a, 0xfe, 0xad, 0x79, 0x20, 0xc1, 0x7e, 0x80, 0x44,
+ 0xab, 0x8b, 0x1d, 0x6e, 0x92, 0xaf, 0x3f, 0x71, 0x28, 0x62,
+ 0x2a, 0x22, 0x78, 0xa0, 0x88, 0xd1, 0x5c, 0x7e, 0xd9, 0xb1,
+ 0x32, 0xc9, 0xe0, 0xb9, 0x77, 0xc2, 0x01, 0x1a, 0x99, 0x1f,
+ 0x68, 0xa6, 0x19, 0x03, 0xbd, 0x12, 0x2c, 0x8b, 0x27, 0xb0,
+ 0x54, 0x1f, 0x3a, 0x41, 0xfc, 0x93, 0xc7, 0x23, 0x0f, 0x4e,
+ 0x58, 0x52, 0xb7, 0xae, 0x8d, 0xd5, 0x20, 0x17, 0xf6, 0x28,
+ 0x60, 0x80, 0xa0, 0x55, 0xf1, 0xd9, 0x8b, 0x94, 0x57, 0xf4,
+ 0x0c, 0x81, 0x3e, 0xdf, 0x08, 0xd0, 0x42, 0xf8, 0xc6, 0x79,
+ 0xc8, 0x18, 0xa1, 0x90, 0xa3, 0xd2, 0x82, 0xe5, 0xf0, 0x8f,
+ 0xfc, 0xcc, 0xd3, 0x46, 0xb6, 0xa3, 0x0b, 0xc7, 0x93, 0x20,
+ 0xac, 0xf3, 0xea, 0x99, 0x56, 0x93, 0x0d, 0xa2, 0xfa, 0x9b,
+ 0xcd, 0x02, 0xb5, 0x17, 0xad, 0xca, 0x3f, 0x30, 0xae, 0x1a,
+ 0xdf, 0xfc, 0x75, 0x98, 0xa2, 0xfa, 0x25, 0xe0, 0x07, 0x9f,
+ 0x0d, 0xb6, 0x81, 0x14, 0xb4, 0x05, 0x17, 0xfb, 0xd8, 0x62,
+ 0x39, 0x5c, 0x4b, 0x59, 0xc9, 0xab, 0xe3, 0x6d, 0xd5, 0x54,
+ 0x9a, 0x24, 0x8c, 0xf2, 0xec, 0xaf, 0x57, 0x75, 0xf9, 0x51,
+ 0x58, 0xf7, 0x12, 0xc3, 0x29, 0x94, 0x63, 0x33, 0xdd, 0x70,
+ 0x42, 0x7b, 0xa4, 0xf2, 0x2f, 0xc1, 0xbd, 0xc6, 0xf8, 0x2e,
+ 0x09, 0x8a, 0x49, 0x6d, 0xed, 0x8d, 0xcf, 0x47, 0xf4, 0x32,
+ 0xdf, 0x5f, 0xd5, 0x92, 0xd7, 0xf0, 0x94, 0x04, 0xe5, 0xa9,
+ 0x86, 0x0b, 0x07, 0x46, 0x49, 0x5d, 0xdb, 0xf4, 0x4f, 0x09,
+ 0xb5, 0x7e, 0xc4, 0x37, 0x42, 0x22, 0x96, 0xe1, 0x7c, 0x52,
+ 0x79, 0x1d, 0x8b, 0x3f, 0xd6, 0x84, 0x11, 0x34, 0x0e, 0x4d,
+ 0xe4, 0xc6, 0xdc, 0x36, 0xb8, 0xeb, 0xa7, 0xf6, 0x2a, 0x30,
+ 0xe0, 0x0b, 0x63, 0x62, 0x4d, 0xc5, 0x15, 0x2f, 0x18, 0x9f,
+ 0xa7, 0x1e, 0x28, 0x60, 0x78, 0x4f, 0x34, 0x2a, 0xf6, 0x6f,
+ 0xaf, 0x47, 0xb7, 0xb4, 0xf9, 0xbc, 0xda, 0x56, 0xc8, 0x62,
+ 0x9b, 0xd6, 0xfb, 0xad, 0x5a, 0x49, 0x8d, 0x81, 0xc8, 0x39,
+ 0xf3, 0x45, 0x31, 0xbf, 0xd6, 0x4a, 0xb9, 0x73, 0xec, 0x53,
+ 0xfd, 0xf4, 0x60, 0x22, 0x06, 0xa1, 0x1f, 0x8e, 0x04, 0x68,
+ 0x21, 0x7c, 0x63, 0xdd, 0x64, 0x0c, 0xb1, 0x48, 0xb0, 0x69,
+ 0x70, 0xbd, 0xda, 0x61, 0xe1, 0x0d, 0xad, 0xee, 0x34, 0x53,
+ 0xed, 0xe0, 0xbf, 0x09, 0x16, 0xa4, 0x9d, 0xea, 0xc9, 0x41,
+ 0x57, 0x6a, 0x98, 0xa2, 0x6b, 0x48, 0x93, 0xf9, 0x75, 0x97,
+ 0x10, 0x0f, 0x41, 0x93, 0x78, 0xa6, 0x7e, 0x66, 0x88, 0x23,
+ 0x5b, 0xb0, 0xe4, 0x82, 0xa8, 0x10, 0x56, 0x98, 0x75, 0xad,
+ 0x2b, 0xa8, 0xe7, 0x51, 0x7d, 0xac, 0x87, 0x01, 0xbb, 0xea,
+ 0xb7, 0x65, 0xfe, 0x18, 0x19, 0xae, 0x26, 0x40, 0xaf, 0xce,
+ 0x6a, 0x98, 0xbe, 0x36, 0xfc, 0x32, 0x57, 0xff, 0x0c, 0x95,
+ 0xc9, 0x56, 0xa9, 0x78, 0x8e, 0x12, 0x38, 0xe1, 0x48, 0xb7,
+ 0x43, 0x51, 0x2b, 0xe8, 0xe9, 0xd0, 0xaa, 0x65, 0x74, 0x08,
+ 0xcc, 0x69, 0x9c, 0x13, 0x67, 0x76, 0xfe, 0x97, 0xd3, 0xc6,
+ 0xe0, 0x5a, 0xfc, 0x07, 0xa0, 0x4b, 0xa8, 0x88, 0x23, 0xc5,
+ 0x65, 0xc2, 0xb3, 0x3b, 0xe2, 0x81, 0xc8, 0xa2, 0x4d, 0x12,
+ 0x46, 0x79, 0x76, 0xb6, 0xca, 0xdb, 0x9d, 0xc9, 0x2c, 0x9a,
+ 0x09, 0x80, 0xf5, 0x4a, 0xbf, 0x4a, 0x6c, 0x97, 0x6b, 0x77,
+ 0xb4, 0x73, 0x1f, 0x39, 0xca, 0xbd, 0x25, 0xa9, 0x4f, 0x1d,
+ 0x2a, 0x5e, 0x30, 0xfd, 0x8d, 0x3c, 0x50, 0xc0, 0xf0, 0x9e,
+ 0x68, 0x54, 0x2f, 0xde, 0x9d, 0x8e, 0x73, 0x0c, 0x34, 0x26,
+ 0xe3, 0x39, 0x5c, 0xd0, 0xe4, 0xdc, 0xdf, 0xe6, 0x06, 0x2d,
+ 0x4e, 0x71, 0x84, 0x44, 0xef, 0x01, 0xf8, 0xa4, 0xf2, 0x3a,
+ 0xd5, 0x7e, 0x6f, 0xcb, 0x22, 0x68, 0x1c, 0x9a, 0xd5, 0xe8,
+ 0x7e, 0xf1, 0x27, 0x80, 0x82, 0x3b, 0x45, 0xd3, 0xe9, 0x69,
+ 0x74, 0x7b, 0x0d, 0xf9, 0xc3, 0x76, 0x88, 0x29, 0x82, 0xaa,
+ 0x5b, 0x65, 0xed, 0x13, 0xef, 0x45, 0x3b, 0x30, 0xfa, 0x6b,
+ 0xaf, 0x75, 0x85, 0xc1, 0xca, 0x35, 0x4c, 0x51, 0xd4, 0x24,
+ 0xa8, 0x9d, 0xdb, 0xaa, 0x08, 0xe6, 0x2b, 0x31, 0x6a, 0xc0,
+ 0x32, 0x91, 0xbe, 0x6b, 0x01, 0x5a, 0xc7, 0x56, 0xf9, 0xc2,
+ 0x14, 0x7c, 0x86, 0x9a, 0x5b, 0x7b, 0x45, 0x3d, 0xed, 0xaf,
+ 0xf4, 0x35, 0xf2, 0xcf, 0x4d, 0x50, 0xcd, 0xbd, 0xa7, 0x8b,
+ 0x10, 0xea, 0x7b, 0x14, 0x30, 0x40, 0x50, 0xcb, 0x99, 0x8d,
+ 0xa4, 0x4a, 0xca, 0x7a, 0xb1, 0x15, 0xe6, 0x32, 0xde, 0x3e,
+ 0xe9, 0x1e, 0xf8, 0x0b, 0x9f, 0xa1, 0xeb, 0x01, 0x3d, 0xe8,
+ 0xb2, 0xa4, 0x08, 0x75, 0xdc, 0x0a, 0x18, 0x20, 0x28, 0x84,
+ 0xad, 0xa7, 0x52, 0x25, 0x65, 0x3d, 0x5b, 0x8c, 0xb0, 0xa1,
+ 0xd3, 0x9c, 0x13, 0x85, 0x35, 0x09, 0x2a, 0xb6, 0x46, 0xcb,
+ 0x02, 0xd8, 0x46, 0x5d, 0x3d, 0x15, 0xc5, 0xa3, 0x47, 0xf4,
+ 0xc9, 0xa9, 0x2f, 0x8c, 0xcf, 0x44, 0x6f, 0x03, 0xd3, 0x49,
+ 0x61, 0x7f, 0x23, 0xe8, 0xa3, 0x47, 0x26, 0x0e, 0x8d, 0x65,
+ 0xc5, 0x33, 0xbd, 0x90, 0x9f, 0x34, 0x7d, 0x3b, 0xea, 0xf3,
+ 0x87, 0x37, 0x4a, 0x03, 0x0e, 0xfd, 0x1a, 0xaf, 0xc1, 0x28,
+ 0xfd, 0x68, 0xfa, 0x76, 0x17, 0x25, 0xcd, 0x6e, 0x94, 0x06,
+ 0x1c, 0x39, 0x34, 0x9d, 0x41, 0x50, 0xd4, 0x87, 0x24, 0xcc,
+ 0x98, 0x2d, 0x6c, 0x90, 0xb4, 0x17, 0x46, 0x6b, 0xa2, 0x67,
+ 0x84, 0x0b, 0x0f, 0x30, 0xd0, 0x98, 0x0a, 0xe4, 0xb3, 0xc6,
+ 0x16, 0xf6, 0xfa, 0x1e, 0x18, 0xb4, 0xfb, 0x07, 0x9c, 0x85,
+ 0x93, 0x7c, 0xe8, 0xc7, 0x76, 0x09, 0x9a, 0x8c, 0x3c, 0xfb,
+ 0xa3, 0x8b, 0x99, 0xfd, 0x2f, 0x4e, 0xc1, 0x34, 0x8b, 0x60,
+ 0x80, 0x82, 0x43, 0xcc, 0x3e, 0x5e, 0x27, 0xb2, 0x75, 0x32,
+ 0x9b, 0x4b, 0xd6, 0xcf, 0x53, 0x02, 0xb9, 0xde, 0x08, 0x95,
+ 0xf7, 0xf5, 0xc4, 0xdf, 0xa0, 0x66, 0x43, 0x4d, 0xcc, 0xdc,
+ 0xc3, 0xff, 0x97, 0xb6, 0x7a, 0xfb, 0x79, 0x86, 0xc7, 0x28,
+ 0x87, 0xbf, 0xef, 0x89, 0xa7, 0x5a, 0x0b, 0xfe, 0x2a, 0xd9,
+ 0x7e, 0x50, 0xe3, 0x1d, 0xa5, 0xa6, 0xd7, 0x8c, 0xd9, 0x69,
+ 0x40, 0x2e, 0x2f, 0x50, 0xc0, 0xc3, 0x83, 0xaa, 0x21, 0x71,
+ 0xd5, 0xeb, 0xae, 0x2b, 0x79, 0x2c, 0x15, 0x77, 0xef, 0x81,
+ 0x3f, 0x54, 0x41, 0x78, 0x73, 0xf2, 0x16, 0xf5, 0x5d, 0xca,
+ 0xb6, 0xdb, 0xa3, 0x81, 0x65, 0xfb, 0x26, 0xc9, 0x6a, 0x12,
+ 0x54, 0xaf, 0x8c, 0x55, 0x04, 0x73, 0x53, 0x72, 0x25, 0x8a,
+ 0x62, 0xbd, 0x6f, 0x94, 0xb1, 0xe6, 0x1b, 0xa6, 0x39, 0x2b,
+ 0xc0, 0x44, 0x7f, 0x8d, 0x0a, 0xf9, 0xeb, 0xe9, 0x1e, 0x28,
+ 0x22, 0xa5, 0x17, 0xfe, 0xa7, 0xbd, 0xed, 0xa3, 0xc1, 0xa8,
+ 0x3c, 0x53, 0x3f, 0x33, 0x44, 0xf0, 0xcc, 0x58, 0x72, 0x41,
+ 0x54, 0x08, 0x2b, 0x4c, 0xf0, 0x86, 0x9e, 0x94, 0xa0, 0x58,
+ 0x61, 0x3d, 0xa3, 0xbb, 0x7b, 0x23, 0x43, 0x11, 0x6b, 0x70,
+ 0x23, 0xcf, 0xff, 0xeb, 0x83, 0xb0, 0xc2, 0x7a, 0x85, 0xb5,
+ 0xf6, 0x46, 0x86, 0x22, 0xd6, 0xe0, 0xe7, 0x77, 0x32, 0x71,
+ 0xba, 0xdf, 0x56, 0xc8, 0xfa, 0xbf, 0xd2, 0x0d, 0xda, 0x46,
+ 0x15, 0x10, 0x25, 0x6e, 0xe0, 0x65, 0x87, 0xd8, 0xe3, 0x06,
+ 0xe6, 0x68, 0x92, 0x4a, 0x37, 0x6a, 0x66, 0x89, 0x5e, 0x9c,
+ 0x41, 0x68, 0xd5, 0xc0, 0xc3, 0xc7, 0x86, 0x5b, 0x7c, 0xbc,
+ 0x4e, 0xa7, 0xea, 0x64, 0xb5, 0x6a, 0x4d, 0xc6, 0x67, 0xcf,
+ 0xd7, 0xf7, 0xba, 0x9d, 0x66, 0xa9, 0x35, 0x71, 0x5c, 0xa6,
+ 0x1e, 0x60, 0x63, 0xf3, 0x14, 0x0b, 0xa5, 0x4f, 0x2c, 0x2f,
+ 0x37, 0x3c, 0x30, 0xab, 0x35, 0x0e, 0xa2, 0x9b, 0xe1, 0x23,
+ 0x7d, 0x48, 0xe0, 0x02, 0xe3, 0x99, 0xcf, 0x87, 0xac, 0x26,
+ 0x22, 0xc6, 0xdf, 0xc8, 0x5f, 0xa0, 0x2b, 0x38, 0xe1, 0xbf,
+ 0xe0, 0x77, 0x45, 0x7d, 0x64, 0xa3, 0x1e, 0x42, 0xa6, 0xe4,
+ 0x4a, 0xd7, 0xc4, 0xb9, 0xde, 0xeb, 0xa1, 0x0f, 0x36, 0x8f,
+ 0x72, 0x56, 0x43, 0x88, 0xfe, 0xd9, 0x14, 0x31, 0x15, 0x11,
+ 0x3c, 0x50, 0x44, 0x89, 0x2e, 0x3f, 0x8d, 0xb9, 0x19, 0x85,
+ 0xac, 0xc4, 0x6b, 0x86, 0xc8, 0x01, 0xbd, 0x6f, 0x04, 0xab,
+ 0x9a, 0x9b, 0x62, 0x8e, 0x50, 0x33, 0x22, 0xa0, 0xa5, 0xd6,
+ 0x3c, 0x1d, 0x2c, 0xd1, 0x74, 0x71, 0x59, 0x44, 0x50, 0x3e,
+ 0x5f, 0x12, 0xf9, 0x17, 0x51, 0x82, 0xae, 0xd4, 0xf3, 0x87,
+ 0xd6, 0x90, 0xe5, 0x31, 0xea, 0xed, 0x20, 0x1e, 0xe2, 0x67,
+ 0xc3, 0xb8, 0xbc, 0x83, 0x86, 0x8a, 0x49, 0xed, 0x84, 0x07,
+ 0xd2, 0x2a, 0xfd, 0xac, 0x4a, 0xdc, 0x03, 0xca, 0xcd, 0x73,
+ 0x05, 0x0c, 0x0f, 0xd0, 0xe7, 0x94, 0x6e, 0xd4, 0xcc, 0xd1,
+ 0xbc, 0xfb, 0x82, 0xd0, 0x69, 0x43, 0x45, 0x4d, 0xcf, 0xb6,
+ 0xf8, 0xbb, 0x9c, 0x8d, 0x17, 0xc8, 0x35, 0x51, 0x09, 0x33,
+ 0x26, 0x9a, 0x1b, 0x24, 0x2d, 0x75, 0xf0, 0x6a, 0xc9, 0x69,
+ 0x21, 0x72, 0xca, 0xe7, 0x47, 0x3f, 0x8c, 0x26, 0xc9, 0xdf,
+ 0x98, 0x38, 0x71, 0x57, 0x92, 0xcc, 0xb1, 0x05, 0xee, 0xe6,
+ 0xfd, 0x67, 0xb4, 0x53, 0xc4, 0x72, 0x8f, 0x94, 0x4c, 0x1f,
+ 0x73, 0xba, 0x5e, 0x7e, 0x78, 0x43, 0x4f, 0x4a, 0x50, 0x2c,
+ 0xd1, 0xff, 0xb0, 0xbc, 0xdc, 0xf0, 0xc0, 0xe9, 0xd4, 0x38,
+ 0x05, 0x10, 0xf1, 0xc9, 0x06, 0x5c, 0xd0, 0x42, 0xb3, 0x52,
+ 0x56, 0x0a, 0x08, 0x6c, 0xe8, 0xbc, 0x6b, 0xcd, 0x48, 0x5b,
+ 0xf3, 0x5a, 0xd8, 0xe3, 0xab, 0x2e, 0x8c, 0xd6, 0x87, 0xce,
+ 0xcb, 0x16, 0x51, 0xac, 0x91, 0xf0, 0xdf, 0x24, 0x70, 0x01,
+ 0x90, 0xad, 0x86, 0xa2, 0x56, 0x13, 0x11, 0x63, 0xe1, 0xd6,
+ 0x2d, 0xff, 0xbe, 0xb7, 0x77, 0xb4, 0x99, 0x62, 0xb6, 0x01,
+ 0x6b, 0x0e, 0xa5, 0x79, 0x59, 0x52, 0x04, 0xdb, 0x6e, 0x05,
+ 0x0c, 0x10, 0x14, 0x42, 0xb7, 0xb2, 0x29, 0xf3, 0xd3, 0xff,
+ 0xa3, 0xf4, 0xbb, 0x1e, 0xc2, 0xe5, 0x0e, 0xa9, 0x12, 0x5d,
+ 0x60, 0x85, 0x7a, 0x3a, 0xab, 0x34, 0xf2, 0x58, 0x2a, 0xee,
+ 0x1d, 0xc1, 0x7e, 0xa8, 0x82, 0xf0, 0xe6, 0x27, 0x2c, 0x29,
+ 0xba, 0x57, 0x71, 0xd2, 0x80, 0x5c, 0x5e, 0xa0, 0x43, 0x45,
+ 0xc5, 0x97, 0x42, 0xe2, 0x69, 0x15, 0x9f, 0x56, 0x56, 0x62,
+ 0xd4, 0x43, 0x64, 0xe1, 0xbf, 0xd6, 0x02, 0xb4, 0x4d, 0xac,
+ 0x31, 0x47, 0x28, 0xf8, 0x11, 0x50, 0xb3, 0x6b, 0x1e, 0xef,
+ 0x16, 0x89, 0x3a, 0xd9, 0xcd, 0x22, 0x28, 0x1f, 0xce, 0x09,
+ 0x6a, 0xa2, 0x12, 0x66, 0x4c, 0xf7, 0x36, 0x48, 0x5a, 0xea,
+ 0x23, 0xd4, 0x51, 0xd2, 0x42, 0xe4, 0x89, 0xaa, 0x8b, 0xe3,
+ 0x4f, 0xd9, 0x5e, 0x69, 0xe2, 0xc3, 0x08, 0xd1, 0x55, 0xe4,
+ 0x36, 0xba, 0x94, 0x7b, 0x06, 0x57, 0x59, 0xe6, 0x0a, 0x18,
+ 0x1e, 0x63, 0x0d, 0xeb, 0xdc, 0x6b, 0x5b, 0x61, 0x65, 0x92,
+ 0xc2, 0xfe, 0x46, 0x13, 0x85, 0x8e, 0x4c, 0x1c, 0xd9, 0xca,
+ 0x49, 0x66, 0xb9, 0xe3, 0x8c, 0xba, 0x7a, 0x2a, 0x49, 0x85,
+ 0x8e, 0x2b, 0x51, 0x91, 0x5e, 0xdb, 0x5d, 0x88, 0xde, 0x06,
+ 0xbb, 0x35, 0xc7, 0x63, 0xd2, 0x86, 0x8a, 0x9a, 0x5d, 0xaf,
+ 0x33, 0xb5, 0xfb, 0xd9, 0x2e, 0x53, 0x77, 0x73, 0x9f, 0xd2,
+ 0x5a, 0xc8, 0x62, 0x39, 0xa6, 0x4a, 0x26, 0xee, 0xd8, 0x5d,
+ 0x2f, 0x3f, 0x3c, 0xc0, 0xc6, 0x25, 0x28, 0x16, 0x89, 0x9e,
+ 0x58, 0x5e, 0x6e, 0x78, 0x60, 0x95, 0x6a, 0x1c, 0x7b, 0xf2,
+ 0xa1, 0x0d, 0x52, 0x18, 0x20, 0xc1, 0x60, 0x33, 0xee, 0xf6,
+ 0x79, 0xcd, 0x8c, 0xed, 0x28, 0x80, 0x84, 0x87, 0x30, 0xa5,
+ 0x4f, 0x55, 0xd1, 0xd5, 0xf5, 0x50, 0x40, 0xe6, 0x4c, 0xa9,
+ 0xab, 0x0a, 0x2e, 0x35, 0x73, 0xc4, 0x72, 0xb8, 0x96, 0xb2,
+ 0x51, 0x95, 0x05, 0xda, 0x69, 0xa8, 0xd2, 0x26, 0x3b, 0x42,
+ 0x9c, 0x45, 0x4d, 0xec, 0xd7, 0xca, 0x22, 0x67, 0x13, 0x2f,
+ 0x34, 0x62, 0x31, 0x2e, 0xa2, 0xc7, 0x9f, 0x6b, 0x25, 0xcd,
+ 0x6f, 0xe3, 0x09, 0x62, 0x17, 0x19, 0x40, 0x3c, 0xde, 0xa7,
+ 0x05, 0x9d, 0x94, 0x95, 0x0f, 0x14, 0x11, 0xb3, 0xea, 0x7f,
+ 0xb2, 0xbf, 0x97, 0xb0, 0xc4, 0xb8, 0xcd, 0x9a, 0x39, 0x6f,
+ 0x94, 0xb2, 0x7f, 0x0a, 0x24, 0x4b, 0x5c, 0x64, 0xc3, 0xf0,
+ 0x5f, 0xf3, 0x1b, 0x55, 0x6a, 0x6d, 0x2d, 0x6c, 0x77, 0x9f,
+ 0xd3, 0xbe, 0x98, 0xbb, 0x63, 0x96, 0xcc, 0x46, 0x58, 0xb1,
+ 0x88, 0x4e, 0xe8, 0xa3, 0xfb, 0xe5, 0x15, 0x5b, 0x23, 0x84,
+ 0x01, 0x6c, 0xcf, 0xf7, 0xb6, 0xf6, 0x8a, 0x7a, 0x19, 0x9d,
+ 0x2b, 0x6a, 0x27, 0x5d, 0x9a, 0xa0, 0x59, 0xb9, 0x76, 0x1c,
+ 0xc5, 0xef, 0xe5, 0x65, 0x8c, 0x92, 0x57, 0x8e, 0x89, 0xec,
+ 0x0e, 0x41, 0xa6, 0xcd, 0x2c, 0xff, 0x2f, 0x73, 0x89, 0x54,
+ 0x71, 0xbc, 0x93, 0x43, 0x0c, 0x58, 0x9e, 0x96, 0x2d, 0xe7,
+ 0xb8, 0x84, 0x29, 0x24, 0xd0, 0xb2, 0x7b, 0xa4, 0x8d, 0x20,
+ 0x01, 0xb3, 0x42, 0xfd, 0x76, 0x86, 0xd8, 0x06, 0x1a, 0x13,
+ 0x90, 0xfd, 0x2e, 0x68, 0x72, 0x6e, 0x8e, 0x73, 0x03, 0xf7,
+ 0x27, 0xd9, 0x2e, 0x21, 0x9b, 0x09, 0x34, 0xcd, 0x6e, 0x29,
+ 0xb2, 0x08, 0x91, 0x5c, 0xf1, 0xae, 0xfc, 0xc0, 0x36, 0xe0,
+ 0xe7, 0x74, 0x24, 0xae, 0xea, 0x1a, 0xfd, 0xfa, 0xc2, 0x6c,
+ 0x70, 0x4d, 0x79, 0xa7, 0xdb, 0xb7, 0xf4, 0x54, 0x92, 0xc9,
+ 0xdf, 0x56, 0xa2, 0xe1, 0xbc, 0x75, 0xba, 0xd3, 0x7f, 0x0c,
+ 0x69, 0x13, 0xfc, 0x21, 0x4e, 0xc3, 0xc7, 0x76, 0x8a, 0x65,
+ 0x11, 0xd2, 0xe8, 0xf6, 0x1a, 0x31, 0xb3, 0xcb, 0x52, 0x48,
+ 0x63, 0xa7, 0xf6, 0x8b, 0xd9, 0x40, 0x02, 0xa5, 0x84, 0x39,
+ 0xec, 0xcf, 0x14, 0x40, 0x42, 0xa2, 0x18, 0xb3, 0xc6, 0xcb,
+ 0x89, 0x8b, 0x9b, 0x28, 0x20, 0x73, 0x26, 0xb5, 0x95, 0x14,
+ 0x5c, 0x6a, 0xe6, 0x4b, 0xe4, 0xb3, 0xef, 0xa7, 0xa2, 0xe9,
+ 0x0a, 0x77, 0xd2, 0x93, 0xbe, 0x25, 0x36, 0xaa, 0xd4, 0xda,
+ 0x5a, 0xd8, 0xee, 0xfd, 0x65, 0xbf, 0xf3, 0xb5, 0xc6, 0xef,
+ 0x62, 0x5c, 0x87, 0x4d, 0xfd, 0xd6, 0x4a, 0x59, 0xde, 0x05,
+ 0x12, 0xc4, 0x2e, 0x32, 0x80, 0x78, 0xa1, 0x2a, 0x0f, 0x64,
+ 0x7f, 0x7c, 0x11, 0x3c, 0x33, 0x16, 0xfd, 0x81, 0x15, 0x02,
+ 0x7a, 0x13, 0x3b, 0x0e, 0x83, 0x96, 0x93, 0xd3, 0x46, 0x49,
+ 0xca, 0x47, 0xa5, 0x76, 0x07, 0xc1, 0x53, 0x87, 0x16, 0x9e,
+ 0xf6, 0xd8, 0xa5, 0x2a, 0xd9, 0x5e, 0xa8, 0xc0, 0x06, 0x2c,
+ 0x4f, 0x4b, 0xf7, 0x92, 0x66, 0x23, 0x2c, 0xb9, 0x44, 0x27,
+ 0x74, 0xb0, 0x9c, 0x93, 0xeb, 0xcc, 0xf0, 0x42, 0xe1, 0x36,
+ 0xe9, 0x28, 0xb8, 0xd4, 0x0f, 0x96, 0x0b, 0xa5, 0x1d, 0x8d,
+ 0x87, 0x11, 0x14, 0xee, 0x67, 0xe5, 0x5c, 0x42, 0xf5, 0x12,
+ 0x68, 0x59, 0xdc, 0x52, 0xa7, 0x10, 0xe1, 0xb8, 0x21, 0x9f,
+ 0x3b, 0x43, 0x6c, 0x03, 0x0d, 0xe8, 0x48, 0x9f, 0x17, 0x34,
+ 0x39, 0x37, 0x47, 0xd8, 0xe0, 0x9a, 0xf2, 0x8d, 0x6d, 0x6c,
+ 0x57, 0xd5, 0xf7, 0x32, 0xf9, 0x9f, 0xc8, 0xf3, 0xe8, 0xda,
+ 0x36, 0x86, 0x7b, 0x7f, 0xad, 0xab, 0x31, 0xbb, 0x77, 0xac,
+ 0x53, 0xc4, 0xf5, 0x6f, 0x35, 0x99, 0xb4, 0x92, 0xd9, 0xc1,
+ 0x37, 0x8f, 0xbd, 0x49, 0x9b, 0x03, 0x04, 0xb1, 0x0c, 0x3e,
+ 0x6d, 0x6e, 0xa6, 0x51, 0xf0, 0x55, 0x61, 0xed, 0x69, 0x0a,
+ 0xff, 0xe2, 0xbb, 0x67, 0x0e, 0x8a, 0x20, 0xc2, 0x97, 0x16,
+ 0xd8, 0xad, 0x4b, 0xb3, 0x59, 0xf7, 0x72, 0xde, 0xeb, 0xa7,
+ 0xfe, 0x14, 0x48, 0x96, 0xb8, 0xc8, 0x45, 0x23, 0xb9, 0xeb,
+ 0x73, 0x19, 0x6f, 0x1f, 0x95, 0x0f, 0x7c, 0xe4, 0xae, 0xb1,
+ 0x94, 0xe1, 0xff, 0x74, 0xe3, 0x08, 0x99, 0x85, 0x03, 0x2e,
+ 0x68, 0x21, 0xb8, 0x29, 0x2b, 0x05, 0x04, 0x36, 0x74, 0x5e,
+ 0xba, 0x5a, 0x9d, 0x5e, 0x6d, 0x2b, 0x64, 0x31, 0xac, 0x6b,
+ 0x9c, 0xb7, 0x2d, 0xc5, 0xa7, 0xa1, 0xf1, 0xe9, 0xc4, 0xa9,
+ 0x1f, 0xf5, 0x8f, 0x96, 0x52, 0x7f, 0xd4, 0x21, 0x95, 0x0d,
+ 0xe2, 0x82, 0xa0, 0x45, 0x55, 0x59, 0xc0, 0xd1, 0xff, 0x97,
+ 0xc2, 0xd2, 0x52, 0x83, 0xc3, 0x1e, 0xf3, 0xe1, 0x85, 0x2b,
+ 0xb5, 0x3c, 0x47, 0x09, 0x1c, 0x91, 0x24, 0xba, 0xc0, 0xc9,
+ 0xf4, 0x74, 0x95, 0x68, 0x83, 0x8a, 0xaa, 0xb2, 0x43, 0x61,
+ 0x3d, 0xed, 0x47, 0x67, 0xa4, 0xc5, 0x45, 0x3c, 0x25, 0x01,
+ 0xda, 0xd8, 0xae, 0x69, 0x2d, 0x64, 0x31, 0xfd, 0x53, 0x25,
+ 0x13, 0x77, 0x6c, 0xcf, 0xf6, 0xfe, 0x47, 0x32, 0x67, 0x28,
+ 0x7a, 0x0e, 0xa9, 0x5f, 0x38, 0x6d, 0x80, 0x8e, 0x19, 0x58,
+ 0xe6, 0xf1, 0xc5, 0xd7, 0x97, 0xa7, 0x86, 0xc2, 0x7a, 0x19,
+ 0x8e, 0xce, 0x8b, 0x49, 0x8a, 0x78, 0x4a, 0x02, 0xb0, 0x7a,
+ 0xbc, 0x0f, 0x61, 0x93, 0x07, 0xb5, 0x09, 0xcf, 0x30, 0xa3,
+ 0x3d, 0x1d, 0xb4, 0x1a, 0x33, 0xf0, 0x16, 0xbd, 0x22, 0xf2,
+ 0x3a, 0x58, 0x4e, 0xa8, 0x94, 0x66, 0x78, 0x21, 0x91, 0x1b,
+ 0xfa, 0xa6, 0xbf, 0xc5, 0xac, 0xe0, 0x02, 0xb9, 0x06, 0x1f,
+ 0xd7, 0x37, 0x53, 0xc9, 0x78, 0xcb, 0x96, 0xa5, 0xb2, 0x2d,
+ 0xe4, 0x7f, 0x15, 0x8d, 0x3f, 0x28, 0x90, 0xef, 0xb3, 0x53,
+ 0x8a, 0x46, 0x6f, 0xb2, 0xe3, 0xaf, 0x4a, 0xab, 0xe6, 0x0a,
+ 0xe9, 0xb8, 0x75, 0xde, 0x59, 0xbe, 0xaa, 0x58, 0x6e, 0xdd,
+ 0xb9, 0x92, 0xf5, 0x06, 0x08, 0xa1, 0x18, 0x7c, 0xda, 0xdc,
+ 0x8f, 0xa2, 0x23, 0xaa, 0xc2, 0x19, 0xd2, 0x14, 0x3d, 0x07,
+ 0xb5, 0xce, 0x1c, 0xd7, 0x40, 0x47, 0xed, 0x2c, 0x73, 0x99,
+ 0xf6, 0x27, 0x81, 0x1a, 0xa4, 0x30, 0x40, 0x41, 0xc0, 0x66,
+ 0x1f, 0x2f, 0xf2, 0x59, 0xdb, 0x19, 0x50, 0xc3, 0xcb, 0xcd,
+ 0x60, 0x89, 0x9e, 0xaa, 0x61, 0x69, 0x29, 0xa0, 0x80, 0x0f,
+ 0x98, 0x91, 0xff, 0xb6, 0x4e, 0x0c, 0xaa, 0xbc, 0xd2, 0xfb,
+ 0xb5, 0x4d, 0x81, 0x3d, 0x5b, 0xa5, 0x90, 0x77, 0x5d, 0x2d,
+ 0xaf, 0x2f, 0xd7, 0xf4, 0x32, 0xf9, 0x56, 0xd4, 0x4e, 0xba,
+ 0xf7, 0x83, 0xb2, 0xb1, 0xa9, 0xd4, 0x9a, 0x4f, 0xce, 0x5d,
+ 0x6d, 0x2d, 0xb7, 0xf9, 0xcc, 0x91, 0x6a, 0xe2, 0xb8, 0x8f,
+ 0x8e, 0x64, 0xce, 0x50, 0xf4, 0x1c, 0x91, 0xbe, 0x70, 0xda,
+ 0xc3, 0xdf, 0x32, 0xb0, 0x0f, 0x21, 0x17, 0xf1, 0xac, 0xe5,
+ 0x1a, 0x87, 0x37, 0xf5, 0x59, 0x04, 0xa9, 0x2e, 0x99, 0x57,
+ 0x7e, 0x60, 0x1b, 0x70, 0x92, 0x3a, 0x12, 0x57, 0x75, 0x0d,
+ 0x9f, 0x7d, 0x61, 0x36, 0x38, 0xc7, 0xdd, 0xb2, 0x97, 0xca,
+ 0xe8, 0x10, 0x5b, 0xd2, 0xfb, 0x26, 0xce, 0xec, 0x3f, 0xed,
+ 0x65, 0x4f, 0x03, 0xb4, 0x7d, 0x53, 0xbe, 0x83, 0x56, 0x70,
+ 0x01, 0xbd, 0x03, 0xee, 0x8a, 0xfa, 0xc8, 0x85, 0x3c, 0x84,
+ 0xec, 0x38, 0x49, 0x1d, 0x09, 0xca, 0xdb, 0xe7, 0xae, 0xdf,
+ 0xd1, 0x1b, 0x1c, 0x82, 0x8f, 0x59, 0x58, 0x3d, 0x5e, 0xe6,
+ 0xd1, 0xa8, 0xe2, 0xbb, 0xe5, 0x86, 0x18, 0xb0, 0xff, 0xef,
+ 0x5a, 0x0d, 0xf7, 0x48, 0xdb, 0x27, 0x1b, 0x9d, 0xae, 0xea,
+ 0x31, 0xa2, 0xb0, 0x2d, 0x24, 0x45, 0x52, 0xeb, 0x1f, 0x0f,
+ 0x39, 0xce, 0xab, 0xa6, 0x4b, 0xe4, 0xdd, 0xeb, 0x98, 0x3e,
+ 0xe6, 0xb7, 0xbc, 0xfc, 0xfb, 0xc9, 0xe5, 0xf8, 0x13, 0x4d,
+ 0xec, 0x12, 0xf7, 0xdb, 0x78, 0x35, 0x85, 0xd5, 0xf1, 0x39,
+ 0x7c, 0x3c, 0xe4, 0xbe, 0xe9, 0xdd, 0xef, 0x16, 0xf2, 0x2a,
+ 0x25, 0xf8, 0x1e, 0x99, 0xb5, 0x76, 0x09, 0x91, 0xcf, 0x16,
+ 0x0e, 0x8c, 0x92, 0xba, 0x75, 0x2b, 0x9e, 0x12, 0xa9, 0xfc,
+ 0x4b, 0x6e, 0x0d, 0xee, 0x64, 0xe2, 0xb7, 0x7d, 0xac, 0x53,
+ 0x37, 0xbd, 0x67, 0x1a, 0x77, 0x8c, 0x2a, 0x20, 0x7a, 0x9d,
+ 0xfb, 0x30, 0xed, 0xb5, 0xce, 0x6a, 0x91, 0xf7, 0x41, 0xf4,
+ 0xaf, 0xd1, 0x05, 0x1f, 0x67, 0x4c, 0x76, 0x84, 0xfb, 0x8a,
+ 0x9a, 0x1b, 0x6d, 0x57, 0x44, 0xce, 0x26, 0x5e, 0x68, 0xc4,
+ 0x45, 0xec, 0xd3, 0x52, 0xc7, 0x97, 0xb6, 0xca, 0x19, 0x26,
+ 0x1d, 0x8a, 0x76, 0x60, 0x37, 0xd6, 0x87, 0xf5, 0x01, 0x46,
+ 0xfa, 0x90, 0x03, 0x04, 0x05, 0xf1, 0x5d, 0xcd, 0x9b, 0x4c,
+ 0x44, 0x4f, 0xdc, 0x79, 0xb1, 0xe7, 0x29, 0x0c, 0x10, 0x81,
+ 0x30, 0xf8, 0x77, 0x7b, 0xdd, 0x87, 0x46, 0x97, 0xe8, 0x47,
+ 0xe2, 0xe9, 0xb0, 0x3b, 0xe5, 0x0e, 0xec, 0x49, 0x28, 0x13,
+ 0xc2, 0xf2, 0xee, 0x17, 0x4f, 0xcc, 0xf2, 0x03, 0xcb, 0x2f,
+ 0xd5, 0x4e, 0xbc, 0x82, 0xb1, 0x9e, 0x66, 0xb8, 0x24, 0x6d,
+ 0x1d, 0xd1, 0x8d, 0xb4, 0x16, 0x3f, 0x54, 0x71, 0xfc, 0xa0,
+ 0x05, 0x3a, 0x89, 0x8f, 0x6d, 0xdb, 0x4e, 0xa3, 0xa8, 0x3e,
+ 0x74, 0x82, 0x3b, 0xe5, 0x4d, 0x46, 0x1e, 0x9c, 0xb0, 0xa4,
+ 0xad, 0x9f, 0x04, 0x7f, 0xab, 0xf4, 0xb9, 0xf1, 0x3e, 0xe9,
+ 0x42, 0x96, 0xf9, 0x08, 0xde, 0x70, 0x61, 0x4e, 0xeb, 0xf6,
+ 0x0c, 0xae, 0xb2, 0x0f, 0x14, 0x30, 0x3c, 0xc6, 0x1a, 0x15,
+ 0x7b, 0xd6, 0xb6, 0xc2, 0xf8, 0x78, 0x0b, 0xbf, 0x11, 0x79,
+ 0x1d, 0x2c, 0x27, 0x54, 0x4a, 0x33, 0x3c, 0xf1, 0xa9, 0xec,
+ 0xf3, 0x37, 0x70, 0xd3, 0xa2, 0x6c, 0x90, 0x03, 0x73, 0x34,
+ 0x49, 0x25, 0xfa, 0x35, 0x33, 0xa5, 0x3e, 0x1e, 0x72, 0x5f,
+ 0x95, 0x8f, 0x96, 0x0b, 0x79, 0x15, 0xf3, 0x7c, 0x0f, 0xad,
+ 0xbb, 0x3b, 0x3d, 0xaf, 0x9c, 0x18, 0x97, 0xbb, 0x67, 0x35,
+ 0xa9, 0x9a, 0xc1, 0x7a, 0xb6, 0x89, 0xe3, 0xee, 0xbd, 0x94,
+ 0xd8, 0xed, 0xd6, 0xee, 0xab, 0xe6, 0x3e, 0x72, 0x57, 0xb9,
+ 0x4a, 0x91, 0x9e, 0x3a, 0x8a, 0x1b, 0x65, 0xa4, 0x4d, 0xed,
+ 0xaf, 0x57, 0x32, 0x4c, 0x3a, 0xd7, 0xec, 0xc0, 0x6e, 0x6f,
+ 0x88, 0xc5, 0xd1, 0xde, 0xf0, 0x74, 0xb0, 0xc2, 0x13, 0x07,
+ 0xa7, 0xd3, 0x83, 0xf8, 0xbf, 0x48, 0xdd, 0x16, 0xeb, 0xda,
+ 0x96, 0xa1, 0xfe, 0x2a, 0xc1, 0x3c, 0xd8, 0x79, 0x0b, 0x9b,
+ 0xcf, 0x65, 0xcd, 0x29, 0x02, 0x8c, 0x37, 0xe3, 0x06, 0x08,
+ 0x0a, 0x21, 0xba, 0x59, 0xf5, 0x98, 0x88, 0x9e, 0x0b, 0x4f,
+ 0x7b, 0x6c, 0xb3, 0x15, 0x8d, 0x2f, 0x54, 0x60, 0x03, 0x16,
+ 0xc6, 0xc4, 0x9a, 0x49, 0x13, 0x8e, 0x07, 0x11, 0xa3, 0x76,
+ 0x09, 0x1c, 0x1b, 0x92, 0x50, 0x26, 0x47, 0x27, 0x1f, 0x2e,
+ 0x98, 0xfa, 0x38, 0x88, 0x51, 0x36, 0x48, 0xe0, 0xd8, 0x1a,
+ 0xc5, 0xf3, 0x7d, 0xfb, 0xf8, 0xb3, 0x02, 0xde, 0xb4, 0x7a,
+ 0xbd, 0x99, 0x1f, 0x95, 0x21, 0x4b, 0x9d, 0x04, 0x6f, 0x38,
+ 0xd1, 0x27, 0x93, 0xb5, 0x43, 0xe4, 0xe2, 0x23, 0xc5, 0xcf,
+ 0x8c, 0x7a, 0xc6, 0xe5, 0xbb, 0x3f, 0x62, 0xfa, 0x80, 0x3b,
+ 0x44, 0xf5, 0x41, 0x55, 0xcc, 0xd3, 0x97, 0xe8, 0x96, 0xc3,
+ 0xfc, 0x18, 0x7d, 0xd4, 0x90, 0x04, 0xad, 0xa3, 0xe0, 0x17,
+ 0x34, 0xf1, 0x5c, 0xf5, 0xf4, 0xe3, 0x02, 0x1b, 0x3a, 0x2f,
+ 0xd0, 0xf8, 0x8f, 0x38, 0x21, 0xdc, 0x52, 0x79, 0xf6, 0x81,
+ 0xbf, 0x63, 0x7c, 0x17, 0xe5, 0x45, 0x24, 0x01, 0xba, 0x58,
+ 0x38, 0x75, 0x0d, 0xad, 0x17, 0xac, 0x3d, 0x48, 0xe1, 0x76,
+ 0xef, 0x7b, 0x34, 0x3e, 0x53, 0x0e, 0x99, 0x37, 0xf5, 0x8f,
+ 0xdc, 0xb1, 0x5f, 0x68, 0x1f, 0x75, 0xa8, 0x80, 0xcb, 0x88,
+ 0x1d, 0x02, 0x33, 0x8b, 0x27, 0x74, 0x69, 0xfc, 0xde, 0x55,
+ 0x44, 0xd0, 0x38, 0xf7, 0xed, 0x57, 0x13, 0x20, 0xb6, 0x67,
+ 0x35, 0x4c, 0x5f, 0x1b, 0x7e, 0x19, 0xca, 0x9e, 0x06, 0xab,
+ 0xf4, 0xf9, 0x35, 0x60, 0x19, 0xa9, 0x5f, 0xd4, 0xe1, 0x2d,
+ 0x82, 0x2b, 0x9d, 0x61, 0x0a, 0x3e, 0xce, 0x98, 0xec, 0xcb,
+ 0x35, 0xd7, 0xf7, 0x36, 0xda, 0xae, 0x88, 0x5f, 0x4c, 0xbc,
+ 0xd0, 0x4b, 0x99, 0x95, 0x62, 0xb5, 0xee, 0x9b, 0xa6, 0x4b,
+ 0x29, 0xde, 0x6a, 0xf1, 0xab, 0xe7, 0x71, 0x41, 0x10, 0x3f,
+ 0xe9, 0x56, 0xa1, 0x42, 0xf8, 0x22, 0xcb, 0x1d, 0x62, 0x20,
+ 0xfe, 0x03, 0x47, 0xfb, 0x44, 0x83, 0x89, 0x6f, 0x78, 0x3a,
+ 0x58, 0x61, 0xe8, 0xe2, 0xb2, 0x88, 0xa0, 0x7c, 0xbe, 0x24,
+ 0x40, 0xfc, 0x22, 0x9b, 0xc1, 0xcb, 0x66, 0x88, 0xaa, 0x74,
+ 0x4b, 0x80, 0x7e, 0x0c, 0xdf, 0x6a, 0x92, 0xda, 0x19, 0xd9,
+ 0x5d, 0x8e, 0x2b, 0x64, 0x7d, 0xbe, 0x69, 0xe7, 0x6d, 0x23,
+ 0xeb, 0x08, 0x3a, 0x61, 0xd9, 0xab, 0x2c, 0x7e, 0xa8, 0xe2,
+ 0x3b, 0x83, 0x0a, 0x74, 0xd1, 0xdd, 0xda, 0x75, 0x01, 0x6f,
+ 0x5a, 0x3d, 0xbf, 0xad, 0xee, 0xab, 0xf1, 0xc4, 0xaf, 0x02,
+ 0xd6, 0x1c, 0x89, 0xf2, 0x26, 0xdf, 0x0e, 0x22, 0x85, 0xec,
+ 0x12, 0x38, 0x36, 0xe7, 0xa0, 0x4c, 0x8e, 0x4e, 0x3e, 0x5c,
+ 0x12, 0xe1, 0x5d, 0x2c, 0x1c, 0xdb, 0xe7, 0xb7, 0xea, 0x56,
+ 0xff, 0x24, 0x91, 0x3b, 0x96, 0xdc, 0x1a, 0x1f, 0xc8, 0x07,
+ 0xad, 0xfa, 0x9b, 0xa6, 0x6e, 0xb9, 0xce, 0x34, 0xee, 0xdb,
+ 0x54, 0x40, 0x48, 0x02, 0xb7, 0xb0, 0x70, 0xea, 0x1a, 0x99,
+ 0x2e, 0x9b, 0x7a, 0x90, 0x01, 0xec, 0x1d, 0xf6, 0x68, 0x7c,
+ 0xa6, 0x1c, 0xf1, 0x6e, 0x29, 0xdd, 0x7b, 0xa1, 0xbe, 0xd0,
+ 0x3e, 0xea, 0x93, 0xc3, 0xf5, 0x96, 0x6f, 0x5d, 0xa6, 0x04,
+ 0xb1, 0x7f, 0x10, 0xe9, 0x2d, 0x29, 0x4b, 0x7d, 0x83, 0xcc,
+ 0x81, 0x54, 0x1e, 0xc8, 0xfe, 0xf8, 0x22, 0x78, 0x66, 0x2c,
+ 0x39, 0xc1, 0x2a, 0x04, 0xf4, 0x26, 0x8b, 0x74, 0x3f, 0x99,
+ 0xf2, 0x40, 0x41, 0xfc, 0xc3, 0x88, 0x95, 0xd5, 0x3a, 0xdc,
+ 0xe7, 0x9d, 0xc7, 0x09, 0x23, 0xdd, 0x3b, 0x5b, 0x65, 0x8c,
+ 0xaf, 0x85, 0x16, 0x4d, 0xe5, 0x40, 0x9b, 0x25, 0xd6, 0x59,
+ 0x90, 0xb6, 0x25, 0xb4, 0x73, 0x05, 0x95, 0x5c, 0xdb, 0x6f,
+ 0xcd, 0x5f, 0x55, 0x2c, 0x20, 0x7e, 0x11, 0xac, 0x81, 0x84,
+ 0x33, 0x44, 0x55, 0x3a, 0xc4, 0x40, 0x3f, 0x06, 0x8e, 0x35,
+ 0x0a, 0x20, 0x21, 0x51, 0x0c, 0xb8, 0x63, 0x84, 0xa5, 0xa4,
+ 0xac, 0x14, 0x10, 0xd8, 0x13, 0xbb, 0x08, 0xfe, 0x95, 0x2b,
+ 0xb1, 0x21, 0x7c, 0x11, 0x84, 0xef, 0x31, 0x10, 0x7f, 0xe0,
+ 0xc2, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x7d,
+ 0x1c, 0x44, 0xc9, 0x1b, 0x24, 0x70, 0x6c, 0x0d, 0x83, 0x98,
+ 0xdf, 0x9c, 0x7c, 0xb8, 0xd7, 0x36, 0xca, 0x8b, 0x9a, 0x19,
+ 0x9d, 0xae, 0x64, 0x98, 0x74, 0x6d, 0x1b, 0x43, 0xdc, 0xde,
+ 0x74, 0xc2, 0x71, 0x95, 0x58, 0xfc, 0x93, 0x07, 0x76, 0xc5,
+ 0x14, 0xe8, 0x61, 0x79, 0x77, 0xea,
+ },
+ {
+ /* 10 */
+ 0x51, 0xf6, 0x5f, 0xcc, 0xc9, 0xbb, 0x4b, 0xca, 0x7e, 0x52,
+ 0xea, 0x5b, 0x67, 0xa2, 0xef, 0xe6, 0x33, 0xae, 0xa5, 0x03,
+ 0xf8, 0x72, 0xcf, 0x10, 0xac, 0xdb, 0x41, 0x06, 0xb8, 0x66,
+ 0xba, 0x67, 0xa4, 0x6a, 0x15, 0x17, 0x52, 0x6f, 0xc2, 0xd0,
+ 0x70, 0x26, 0xcb, 0x2e, 0x94, 0x8b, 0x8e, 0x86, 0x67, 0xde,
+ 0xe5, 0xa5, 0xd2, 0x7e, 0xfa, 0xff, 0x18, 0x4a, 0x19, 0x89,
+ 0xa8, 0xce, 0x6e, 0xad, 0x0a, 0xcf, 0x3e, 0xd4, 0x05, 0xad,
+ 0xfc, 0x4a, 0x57, 0x45, 0xa7, 0x6b, 0xee, 0x14, 0x76, 0x58,
+ 0xe7, 0x84, 0x9d, 0xfc, 0x92, 0x97, 0xe6, 0x09, 0x2c, 0x7c,
+ 0x70, 0x3b, 0xb6, 0x0d, 0x1e, 0x59, 0x28, 0xba, 0xf8, 0xd6,
+ 0x14, 0xf1, 0x76, 0xeb, 0x9f, 0xd7, 0xd9, 0x6f, 0x3e, 0x50,
+ 0x1b, 0xa3, 0x1a, 0x55, 0x31, 0x76, 0x0d, 0x19, 0x1e, 0x24,
+ 0xb0, 0x33, 0x03, 0xec, 0x9d, 0x34, 0x78, 0xa7, 0x6c, 0x50,
+ 0xb7, 0xd2, 0x36, 0x49, 0xa1, 0x6a, 0xcc, 0x30, 0x25, 0x67,
+ 0x5d, 0xd8, 0xc1, 0x96, 0x65, 0x5c, 0x3d, 0x20, 0xd3, 0x89,
+ 0x77, 0x82, 0xdd, 0x34, 0xec, 0x40, 0x9e, 0xca, 0x1f, 0x6b,
+ 0xfa, 0xd5, 0x6b, 0x65, 0x7d, 0xce, 0x0b, 0x75, 0x93, 0xf2,
+ 0x34, 0xca, 0x6a, 0x37, 0x2c, 0x14, 0xe8, 0xcd, 0xbc, 0x42,
+ 0x74, 0x8d, 0x64, 0x66, 0xb1, 0xfa, 0x65, 0x84, 0x2f, 0x13,
+ 0x53, 0x2d, 0xac, 0x27, 0xf3, 0x46, 0x56, 0x35, 0xb3, 0xe7,
+ 0xe2, 0x1d, 0x99, 0x8c, 0x4c, 0x9b, 0x89, 0x18, 0x5a, 0x78,
+ 0x0d, 0xbb, 0x2d, 0x8c, 0x10, 0x5f, 0xaa, 0x28, 0xd6, 0xb5,
+ 0x92, 0xb4, 0x40, 0xdd, 0xa9, 0xa1, 0xec, 0x2c, 0xb5, 0x82,
+ 0xcd, 0xc2, 0x28, 0xde, 0x2b, 0x58, 0x3b, 0x91, 0xb2, 0x34,
+ 0x30, 0x6d, 0x11, 0x25, 0x18, 0x1f, 0xe5, 0xb2, 0xea, 0x9a,
+ 0x2f, 0x4a, 0x95, 0x60, 0x12, 0xc2, 0x8b, 0xd4, 0x2a, 0x2e,
+ 0xa4, 0xde, 0x47, 0x63, 0xe0, 0x4c, 0x55, 0x5c, 0xeb, 0xd5,
+ 0xdf, 0xcf, 0x83, 0x99, 0xcc, 0x7f, 0xa0, 0x84, 0x36, 0x54,
+ 0x72, 0x77, 0x07, 0xfe, 0x33, 0xc5, 0xd8, 0x51, 0xef, 0xc9,
+ 0x7b, 0xad, 0x96, 0xcd, 0x97, 0x3e, 0xbe, 0x47, 0x22, 0x99,
+ 0x6e, 0x1d, 0x19, 0xc7, 0x66, 0x9f, 0x89, 0x06, 0x33, 0xe4,
+ 0x5d, 0x20, 0x9b, 0x75, 0x82, 0x0c, 0xb3, 0xcc, 0xb7, 0xce,
+ 0x14, 0x5d, 0x7c, 0x6b, 0x0a, 0x99, 0x3b, 0x94, 0xae, 0x8a,
+ 0x8d, 0xd6, 0x1f, 0x28, 0xec, 0xb0, 0x0d, 0xcb, 0xf9, 0x3b,
+ 0xe7, 0xed, 0x0f, 0x12, 0x58, 0xf8, 0xe0, 0x76, 0xaf, 0x1a,
+ 0x3c, 0xb2, 0x05, 0x86, 0x1f, 0x6a, 0xe3, 0xb7, 0x7e, 0x25,
+ 0xca, 0xc3, 0xb2, 0xd4, 0x77, 0x0a, 0x3b, 0x2c, 0x92, 0x42,
+ 0xaf, 0x7e, 0x49, 0xaa, 0x73, 0xe5, 0x16, 0x3e, 0x38, 0xfc,
+ 0x5b, 0xe7, 0x0f, 0xcd, 0x7a, 0x8f, 0x13, 0x3c, 0x3d, 0x27,
+ 0x17, 0x83, 0xa7, 0xc4, 0x5d, 0x78, 0x74, 0xf4, 0x5c, 0xe0,
+ 0x13, 0x59, 0xbb, 0x84, 0xe8, 0xd9, 0xc8, 0xcc, 0xa1, 0x37,
+ 0xca, 0xcb, 0x5e, 0x26, 0xa6, 0x5a, 0xd8, 0xa0, 0xad, 0x67,
+ 0x6c, 0x92, 0x81, 0xd4, 0x5b, 0x60, 0x4a, 0xce, 0xba, 0x73,
+ 0x41, 0xef, 0x87, 0x5e, 0xbf, 0xb6, 0xa2, 0xa9, 0xef, 0xae,
+ 0x3b, 0x8b, 0x2e, 0xaf, 0x5f, 0xcd, 0x3a, 0x1e, 0xb5, 0xb1,
+ 0x76, 0x16, 0xbb, 0x41, 0x87, 0x61, 0x14, 0x6f, 0xf4, 0x2c,
+ 0xfc, 0xa9, 0x59, 0x1a, 0xdf, 0xa4, 0x6a, 0x88, 0x8e, 0xd2,
+ 0x72, 0x8c, 0x54, 0xdd, 0x0d, 0xd3, 0xfb, 0x7d, 0x0b, 0x05,
+ 0x91, 0x81, 0x1b, 0x58, 0xa9, 0xc7, 0x59, 0x47, 0x50, 0x7f,
+ 0x56, 0xb0, 0x76, 0xe1, 0xa7, 0x68, 0x2d, 0x3c, 0xe7, 0xbc,
+ 0xf7, 0x46, 0x08, 0xce, 0x55, 0x14, 0x6b, 0xbb, 0x49, 0x5a,
+ 0x20, 0x8f, 0xa0, 0xad, 0x66, 0xde, 0x50, 0x42, 0x1b, 0x2a,
+ 0x39, 0xda, 0xe2, 0x7f, 0xf8, 0x83, 0x6c, 0xc9, 0xbf, 0x7e,
+ 0x48, 0xc2, 0xbe, 0xec, 0x7b, 0x2b, 0x43, 0x2a, 0x53, 0x47,
+ 0x12, 0xbd, 0x2f, 0x42, 0x24, 0x30, 0x6d, 0x4e, 0x12, 0x86,
+ 0xde, 0x26, 0x44, 0x10, 0xa2, 0x9c, 0x8a, 0x48, 0xfe, 0x72,
+ 0x49, 0x21, 0xb6, 0x3f, 0xc5, 0x55, 0xd8, 0x93, 0x0b, 0x1f,
+ 0x1c, 0x7e, 0xcc, 0x92, 0xe6, 0x87, 0xee, 0x88, 0x17, 0x0e,
+ 0x77, 0x57, 0x30, 0xe1, 0x3d, 0x78, 0xb9, 0x1c, 0x75, 0x1f,
+ 0xc0, 0xa4, 0x2c, 0x7d, 0x8b, 0x1f, 0x16, 0xdc, 0xaf, 0x11,
+ 0xd6, 0x2b, 0xf0, 0x3e, 0x52, 0x58, 0xf9, 0xec, 0x1d, 0x51,
+ 0xf6, 0x99, 0xef, 0x59, 0xed, 0x7c, 0xbf, 0x8e, 0x44, 0xf1,
+ 0xdc, 0x3a, 0x32, 0x4d, 0xcc, 0xfd, 0xd1, 0x0c, 0x66, 0x0b,
+ 0xba, 0x40, 0xf5, 0xea, 0xc7, 0x18, 0xa5, 0x5b, 0xad, 0x5f,
+ 0x7c, 0xca, 0xb8, 0x70, 0x3e, 0xfd, 0x43, 0x04, 0x2b, 0x46,
+ 0x81, 0xe0, 0x2e, 0xf8, 0xcf, 0x69, 0x8e, 0x52, 0x35, 0x44,
+ 0x47, 0x69, 0x39, 0x46, 0x2a, 0x8f, 0xe7, 0x88, 0x9c, 0xdf,
+ 0xe4, 0xe3, 0xb8, 0x7a, 0x8f, 0x2d, 0x5c, 0xac, 0x88, 0x73,
+ 0x4c, 0x97, 0x14, 0x5a, 0x53, 0xb3, 0x65, 0xa8, 0xe6, 0xc5,
+ 0xf1, 0x5f, 0x73, 0x0d, 0x41, 0xd6, 0xaf, 0x43, 0xeb, 0xbe,
+ 0xad, 0x0f, 0xc7, 0x3a, 0xf4, 0xdd, 0x26, 0x78, 0x7a, 0x4e,
+ 0x2e, 0xc5, 0x8d, 0x4b, 0xba, 0xf0, 0xe8, 0x2b, 0xb8, 0x03,
+ 0x26, 0xb2, 0xb5, 0xcb, 0x13, 0x71, 0x53, 0x5b, 0x81, 0x6e,
+ 0x57, 0x55, 0xbc, 0x4c, 0x8f, 0xb4, 0x1b, 0x14, 0x5d, 0xd5,
+ 0xec, 0x83, 0xb9, 0xfb, 0x33, 0x0c, 0x98, 0x69, 0x86, 0x36,
+ 0xa1, 0xc4, 0x4f, 0x64, 0x1d, 0x73, 0xc6, 0x8f, 0x8c, 0x14,
+ 0x87, 0x9d, 0xc0, 0xe6, 0x96, 0x9e, 0x75, 0x0e, 0xd5, 0x6b,
+ 0x54, 0x5c, 0x8b, 0x7f, 0x8e, 0xc6, 0x03, 0x98, 0xaa, 0xb8,
+ 0x15, 0x69, 0x7d, 0x5d, 0xc5, 0xf1, 0x5b, 0xfe, 0x83, 0xcb,
+ 0x6c, 0xa8, 0xe4, 0xee, 0x0e, 0x3f, 0x66, 0x49, 0x73, 0xa2,
+ 0x50, 0xb7, 0x33, 0x6f, 0x28, 0x21, 0xec, 0x15, 0xfd, 0x6d,
+ 0x71, 0xde, 0x7c, 0xa0, 0x36, 0x85, 0x79, 0x4c, 0xa7, 0x1a,
+ 0xdd, 0x4a, 0x3d, 0x21, 0xe1, 0x85, 0x33, 0x34, 0x59, 0xf2,
+ 0xf4, 0x45, 0x77, 0x44, 0xea, 0x07, 0xda, 0xca, 0x18, 0x91,
+ 0xff, 0x3c, 0xbd, 0x0e, 0xdb, 0xee, 0x60, 0x52, 0x16, 0xdf,
+ 0xa4, 0xee, 0x0b, 0x6e, 0xb6, 0xe9, 0x6b, 0xf4, 0x78, 0x1f,
+ 0x29, 0x2c, 0x9d, 0x76, 0x52, 0x35, 0xeb, 0xea, 0x29, 0xd6,
+ 0x61, 0x68, 0x38, 0x13, 0x84, 0x17, 0x4a, 0xa4, 0x47, 0x43,
+ 0x15, 0x1c, 0x10, 0xc8, 0xeb, 0x03, 0x9c, 0x4b, 0x2d, 0xb5,
+ 0x16, 0x53, 0x04, 0x2a, 0x35, 0xd3, 0x9b, 0x4e, 0x25, 0x8c,
+ 0xac, 0x6a, 0xa5, 0x0d, 0x07, 0x3a, 0xf1, 0xdb, 0x98, 0xf5,
+ 0xd1, 0x30, 0xb4, 0xf0, 0x1a, 0xb5, 0x5a, 0xdb, 0x20, 0xbe,
+ 0x97, 0x50, 0x6f, 0xa9, 0xe7, 0xab, 0x80, 0x79, 0x3e, 0x65,
+ 0x5c, 0x38, 0x1f, 0x9f, 0xc0, 0x02, 0xf4, 0x23, 0xa1, 0x70,
+ 0x17, 0x7c, 0x86, 0xd5, 0x80, 0x5a, 0x78, 0x59, 0x40, 0xe9,
+ 0x1c, 0xf6, 0x34, 0x36, 0x69, 0xb2, 0x1e, 0xc3, 0x70, 0xf4,
+ 0x36, 0x28, 0xba, 0x69, 0x1b, 0xc5, 0xb1, 0x35, 0x66, 0x18,
+ 0xf3, 0xd2, 0xcf, 0x6c, 0x81, 0x4b, 0xd3, 0x2e, 0xff, 0x10,
+ 0x88, 0xa5, 0xda, 0x41, 0x8f, 0x1a, 0x76, 0x20, 0x4f, 0x65,
+ 0xee, 0xd4, 0x2b, 0x79, 0x4c, 0xf0, 0xf4, 0x9c, 0x5c, 0x49,
+ 0xd9, 0x96, 0xb7, 0x23, 0x13, 0x56, 0xb3, 0x06, 0x01, 0x41,
+ 0x6c, 0xa3, 0xe1, 0x9a, 0xa7, 0xdf, 0x83, 0x3f, 0x9b, 0x85,
+ 0x1b, 0x02, 0xd9, 0x63, 0x99, 0xcc, 0xfd, 0x09, 0xad, 0x9d,
+ 0x28, 0x70, 0xc2, 0x44, 0x04, 0x12, 0xae, 0xf1, 0xa0, 0xf6,
+ 0xdd, 0x26, 0xb2, 0x0d, 0x8f, 0x25, 0xff, 0xf1, 0x91, 0xa3,
+ 0xf8, 0x1a, 0xcd, 0x79, 0x7a, 0xc3, 0xf6, 0x5f, 0xfe, 0xfd,
+ 0x7b, 0xb9, 0xa3, 0xb8, 0x48, 0x35, 0x4f, 0x39, 0xde, 0x2f,
+ 0xc9, 0xc5, 0x68, 0x97, 0xc4, 0x1b, 0x34, 0x64, 0x78, 0x90,
+ 0x85, 0xcc, 0x0c, 0x36, 0x31, 0xd0, 0x23, 0xd9, 0x12, 0x18,
+ 0xd7, 0x27, 0x09, 0x43, 0x6f, 0x13, 0x22, 0x08, 0x51, 0x4e,
+ 0x45, 0x24, 0x7f, 0x39, 0x8a, 0x95, 0x46, 0x8d, 0x45, 0x44,
+ 0xe0, 0xbc, 0x63, 0x73, 0xce, 0xd9, 0xf0, 0xd7, 0x06, 0xac,
+ 0x09, 0x0c, 0x8a, 0xf2, 0xe5, 0xc0, 0xd6, 0xe8, 0x11, 0x04,
+ 0xc9, 0x27, 0xc3, 0x12, 0xde, 0xfd, 0xa6, 0xe8, 0xcd, 0x92,
+ 0x53, 0x98, 0x4f, 0xad, 0xb5, 0x58, 0x3e, 0xe7, 0xa2, 0x8f,
+ 0xff, 0x40, 0x72, 0xc2, 0xf5, 0x6d, 0x39, 0x7d, 0x66, 0xb4,
+ 0x35, 0xff, 0x0f, 0xda, 0xac, 0xe4, 0x5b, 0x7e, 0xc4, 0xb0,
+ 0x37, 0x5d, 0x62, 0x51, 0xcb, 0x77, 0x67, 0xd1, 0x95, 0xba,
+ 0x7d, 0x4b, 0xaa, 0xc1, 0x3a, 0xa2, 0x2f, 0xf1, 0x1d, 0xb2,
+ 0x19, 0xf8, 0xbd, 0xdf, 0x88, 0x21, 0x7b, 0x74, 0x64, 0x9a,
+ 0x74, 0x87, 0x5e, 0x21, 0x3a, 0xa7, 0x32, 0x33, 0xb9, 0x7d,
+ 0xd3, 0x42, 0xf6, 0xe8, 0xc8, 0xf7, 0xc1, 0x36, 0x28, 0x37,
+ 0x81, 0xe6, 0xb5, 0x52, 0xad, 0x12, 0x27, 0x6e, 0x0a, 0x41,
+ 0x91, 0xed, 0xca, 0xb8, 0x7a, 0x40, 0x65, 0xd1, 0xee, 0xc7,
+ 0x79, 0x68, 0x1b, 0x80, 0xff, 0x57, 0x3e, 0xd6, 0xb9, 0x3b,
+ 0xe3, 0x8e, 0xbd, 0x36, 0x2f, 0xac, 0xcf, 0xa8, 0x8f, 0xdf,
+ 0x48, 0xb1, 0xbc, 0xcb, 0x70, 0x40, 0x2d, 0xe8, 0x38, 0x8a,
+ 0xeb, 0xc9, 0xf0, 0x81, 0xfa, 0x13, 0x9a, 0xe0, 0x2a, 0xb8,
+ 0xbc, 0xbd, 0xfc, 0xe4, 0x5e, 0x81, 0x51, 0x89, 0x05, 0x6b,
+ 0x3d, 0x0b, 0x3f, 0xbb, 0x87, 0xe7, 0x34, 0xaa, 0x62, 0xec,
+ 0x1a, 0x32, 0x3c, 0x48, 0xa3, 0x66, 0x06, 0x1b, 0xf9, 0x68,
+ 0xf0, 0x8d, 0x6a, 0x15, 0x1c, 0x9e, 0x35, 0x93, 0xf5, 0xed,
+ 0x40, 0xb2, 0xf9, 0xff, 0x07, 0xd4, 0x52, 0x1f, 0x48, 0x60,
+ 0xda, 0x9c, 0x24, 0xcf, 0x7f, 0x4c, 0x88, 0x20, 0x87, 0xfb,
+ 0xd7, 0x90, 0x3f, 0xe4, 0x5f, 0xfe, 0x12, 0xd1, 0xce, 0x3b,
+ 0x6e, 0x7a, 0x60, 0xeb, 0x64, 0x61, 0xe5, 0xbe, 0x7b, 0xf1,
+ 0x8f, 0x13, 0x59, 0xe7, 0xa6, 0xf3, 0x9e, 0x99, 0xa9, 0xb0,
+ 0x7c, 0x0d, 0x87, 0xdd, 0x3d, 0x80, 0x69, 0xd6, 0xa8, 0xb8,
+ 0xd5, 0xfe, 0xdf, 0x4f, 0x06, 0xf3, 0x97, 0xb3, 0x2a, 0xd2,
+ 0xfa, 0xba, 0x9a, 0x0f, 0x49, 0x2f, 0x4d, 0xf0, 0x02, 0xd2,
+ 0x84, 0x05, 0x6a, 0x5e, 0x83, 0xf7, 0x08, 0x53, 0xda, 0x22,
+ 0x75, 0xe2, 0x6d, 0x65, 0x0c, 0xa9, 0x9e, 0x1e, 0xbf, 0x07,
+ 0x8c, 0x77, 0x30, 0x29, 0xfd, 0xd1, 0xac, 0x8a, 0x9f, 0x8e,
+ 0xf8, 0x2d, 0x9c, 0x4f, 0x73, 0xd7, 0x2b, 0x39, 0x66, 0xfe,
+ 0x39, 0x61, 0x9b, 0xd7, 0xfd, 0xdf, 0x33, 0x5a, 0xfb, 0x9e,
+ 0xe6, 0x6d, 0x56, 0x72, 0xcc, 0x3f, 0xa5, 0x2b, 0x79, 0xb4,
+ 0xb3, 0xf5, 0x65, 0x0f, 0xf3, 0x19, 0x50, 0xab, 0x8f, 0x89,
+ 0x57, 0xe5, 0xfc, 0x90, 0xc0, 0x29, 0x7e, 0x14, 0x5f, 0xf2,
+ 0x1f, 0x70, 0xe8, 0x52, 0x30, 0x3b, 0xbf, 0x9d, 0xe0, 0x80,
+ 0x5a, 0x13, 0x70, 0xd7, 0x15, 0x51, 0x23, 0xc1, 0x37, 0x26,
+ 0xf7, 0x03, 0x54, 0xb3, 0x0c, 0x8a, 0x95, 0x98, 0x06, 0x77,
+ 0xa8, 0xcd, 0xdb, 0xc7, 0x7b, 0xf3, 0xb4, 0x18, 0xe5, 0xd1,
+ 0x57, 0xb3, 0xf4, 0x80, 0xca, 0x61, 0x1f, 0x4d, 0xf2, 0xd0,
+ 0x36, 0xc3, 0x3d, 0xae, 0x7c, 0x6f, 0x54, 0x70, 0x40, 0xa6,
+ 0x2a, 0x0c, 0x35, 0xef, 0xb4, 0x91, 0x58, 0x8f, 0x10, 0xa8,
+ 0xd4, 0xca, 0x8d, 0x91, 0x81, 0x62, 0xa7, 0x04, 0x13, 0xe4,
+ 0x6c, 0xce, 0x89, 0xc4, 0xb1, 0xd9, 0x4c, 0x46, 0xd2, 0x6f,
+ 0x93, 0xb3, 0x69, 0x3f, 0x7d, 0x9e, 0x0c, 0x25, 0xed, 0xa5,
+ 0x54, 0x67, 0x37, 0xb7, 0xf7, 0x1e, 0x92, 0x5e, 0x9a, 0x23,
+ 0x04, 0x67, 0xcb, 0x0a, 0xd4, 0xbc, 0xc5, 0x2d, 0x10, 0xa6,
+ 0x5e, 0xbf, 0x7e, 0x72, 0x2f, 0xa1, 0xc9, 0xa5, 0xe3, 0xd4,
+ 0xff, 0xe4, 0xfe, 0xbc, 0xa2, 0x92, 0xf9, 0x16, 0xdf, 0x43,
+ 0x9d, 0xa3, 0x21, 0xd7, 0xd5, 0xb3, 0x5a, 0x86, 0x47, 0x31,
+ 0x84, 0xb1, 0xf2, 0x98, 0x8d, 0x34, 0x79, 0x94, 0x7a, 0x42,
+ 0x01, 0xc9, 0x66, 0x68, 0xb2, 0x27, 0x2b, 0x8a, 0xe3, 0x43,
+ 0xee, 0x35, 0x90, 0xba, 0x3f, 0xf3, 0x65, 0x80, 0x59, 0x6a,
+ 0xda, 0x05, 0xfc, 0x16, 0x3b, 0xe3, 0x43, 0x52, 0xfc, 0x28,
+ 0xbe, 0x27, 0x3e, 0xe0, 0x13, 0xa4, 0x60, 0x76, 0xbd, 0xf9,
+ 0x03, 0xc3, 0xb4, 0x26, 0xe0, 0x6d, 0x2a, 0xa2, 0x46, 0x41,
+ 0x6e, 0x4c, 0x2d, 0x06, 0xa8, 0xa5, 0xa1, 0xec, 0x0a, 0x7d,
+ 0xb1, 0xd8, 0xbc, 0xf5, 0xba, 0xe5, 0x79, 0xfa, 0xe3, 0x81,
+ 0xb5, 0xaa, 0x96, 0x85, 0xdc, 0xb7, 0x4b, 0x87, 0xaa, 0x1f,
+ 0x5f, 0xc2, 0x11, 0xad, 0x37, 0xef, 0xed, 0x82, 0xaa, 0x62,
+ 0x58, 0x0a, 0x55, 0xef, 0xe7, 0x60, 0x6e, 0x9f, 0x45, 0x14,
+ 0x16, 0x97, 0x1a, 0x91, 0x9f, 0x89, 0x56, 0x45, 0xae, 0x47,
+ 0x7c, 0xf7, 0x4e, 0xc6, 0xd8, 0x8a, 0xf4, 0xfd, 0x33, 0x7f,
+ 0x46, 0x68, 0x97, 0x81, 0x23, 0x4f, 0x5a, 0xfc, 0x96, 0x99,
+ 0x09, 0xc1, 0x55, 0x8c, 0xab, 0xf3, 0x41, 0x6c, 0x50, 0x6e,
+ 0xc1, 0x0f, 0xa9, 0xa4, 0x99, 0x24, 0x4e, 0xdc, 0x14, 0x82,
+ 0xe1, 0x19, 0x2a, 0x38, 0x20, 0x53, 0x15, 0x06, 0xfb, 0x96,
+ 0x5a, 0xa9, 0x2c, 0xa6, 0x08, 0x54, 0x6a, 0x65, 0x60, 0xda,
+ 0x22, 0x4a, 0x30, 0x3e, 0x09, 0xa7, 0x17, 0xf7, 0x5e, 0x94,
+ 0xe9, 0xc0, 0x24, 0x47, 0xe5, 0x06, 0x45, 0x79, 0x93, 0x60,
+ 0x6b, 0x74, 0xe9, 0x02, 0x85, 0xf2, 0x80, 0x09, 0x6f, 0x9f,
+ 0x94, 0x07, 0x04, 0x32, 0x4a, 0x70, 0x27, 0x62, 0x9a, 0xbc,
+ 0xe4, 0x64, 0x01, 0xeb, 0x9c, 0x44, 0xbe, 0x3f, 0x24, 0x61,
+ 0x5f, 0x76, 0xdc, 0xf4, 0xc0, 0x15, 0xc8, 0xc2, 0x09, 0xbf,
+ 0xf6, 0x21, 0x90, 0xc0, 0x77, 0xfb, 0x48, 0x5d, 0xfe, 0x98,
+ 0xd3, 0x40, 0xcd, 0x35, 0x6d, 0xe3, 0x7e, 0x0b, 0x2f, 0xbe,
+ 0x3f, 0x39, 0xf6, 0xb1, 0x85, 0xb3, 0x90, 0x6a, 0x9e, 0x72,
+ 0x7f, 0x5e, 0x51, 0x49, 0x9d, 0x0b, 0x8e, 0xc0, 0xaf, 0xb0,
+ 0xf1, 0x8a, 0x8b, 0xb8, 0x2d, 0x43, 0xc2, 0xf9, 0x42, 0xb9,
+ 0x81, 0x1b, 0x14, 0xfa, 0xa1, 0x73, 0xbb, 0x29, 0xb7, 0x09,
+ 0xf2, 0x37, 0x05, 0xc1, 0xa9, 0x97, 0xa2, 0x2f, 0xbe, 0x5b,
+ 0x51, 0xb5, 0x96, 0x57, 0xfc, 0xa4, 0x17, 0xb6, 0xce, 0x87,
+ 0x1d, 0x0f, 0x76, 0x05, 0x86, 0xa4, 0x3b, 0x50, 0xbf, 0x4e,
+ 0x7c, 0x03, 0x26, 0x8b, 0xc0, 0xec, 0xb9, 0x31, 0x4b, 0xa3,
+ 0x6e, 0xba, 0xc4, 0xa2, 0x55, 0xee, 0xce, 0x61, 0xe9, 0xb7,
+ 0xfa, 0x96, 0x97, 0x41, 0xe4, 0x47, 0x29, 0xda, 0x72, 0xfa,
+ 0xcc, 0xab, 0x6a, 0x3d, 0x1e, 0x77, 0x9b, 0x0b, 0xb6, 0xfc,
+ 0x06, 0x45, 0xab, 0x4c, 0x03, 0xda, 0x54, 0x87, 0x8c, 0x82,
+ 0xdc, 0x98, 0x5a, 0x0c, 0x93, 0x89, 0x55, 0x31, 0x2c, 0x05,
+ 0xcb, 0x96, 0x92, 0x30, 0x37, 0xae, 0xc3, 0x0a, 0x0b, 0xaa,
+ 0x0d, 0xa9, 0xae, 0xa5, 0x2b, 0xc3, 0x57, 0xc2, 0x3e, 0x9a,
+ 0x27, 0x63, 0x6c, 0x45, 0x7a, 0x9f, 0xf8, 0xde, 0x1c, 0x10,
+ 0x9a, 0x3a, 0x0e, 0xc3, 0x4a, 0xa3, 0x3c, 0xb1, 0xdf, 0x74,
+ 0xc7, 0x38, 0xeb, 0x2e, 0x75, 0xc6, 0x32, 0x82, 0xdb, 0x3d,
+ 0x95, 0xec, 0x3a, 0x42, 0x48, 0xc7, 0xed, 0xea, 0x11, 0x94,
+ 0x5b, 0x39, 0x61, 0x18, 0xcc, 0x16, 0xb7, 0x80, 0x29, 0x17,
+ 0x4d, 0x30, 0x89, 0xb6, 0x99, 0xbe, 0x04, 0xc7, 0x73, 0xc9,
+ 0x02, 0x2d, 0xd9, 0xfa, 0x49, 0xfc, 0x29, 0x51, 0x6c, 0x08,
+ 0xe2, 0x4f, 0x27, 0xf3, 0xd9, 0x68, 0xf2, 0xeb, 0xf4, 0x84,
+ 0x02, 0x51, 0xcc, 0xd0, 0xa7, 0x4e, 0x56, 0xd7, 0x4d, 0xe6,
+ 0xc5, 0xf6, 0xc7, 0x78, 0x01, 0x69, 0x42, 0xe3, 0x35, 0x2f,
+ 0xa0, 0x9a, 0x04, 0xc8, 0x9c, 0x4a, 0xe2, 0x63, 0x4e, 0x2a,
+ 0x56, 0x55, 0x08, 0x87, 0xb6, 0xc6, 0xd9, 0xfb, 0x9b, 0xda,
+ 0x20, 0xf7, 0x1e, 0x87, 0x10, 0xab, 0x07, 0xdc, 0x0d, 0xec,
+ 0x8b, 0xcd, 0xe6, 0x40, 0x1c, 0x3d, 0x53, 0x74, 0x87, 0x49,
+ 0xc8, 0x4c, 0xc6, 0xb7, 0xbb, 0x2c, 0x1f, 0x92, 0x51, 0xa6,
+ 0x9e, 0x20, 0xd0, 0xed, 0x4b, 0x36, 0x68, 0xc8, 0xf0, 0xe3,
+ 0xc9, 0x5b, 0x18, 0x6c, 0x62, 0x63, 0x46, 0x71, 0x95, 0x46,
+ 0x68, 0x91, 0xab, 0xea, 0x80, 0xbd, 0x19, 0x83, 0x7f, 0xe1,
+ 0x1a, 0xe9, 0x45, 0x27, 0xf3, 0xd9, 0xe1, 0x97, 0x98, 0x0e,
+ 0xdd, 0x9d, 0x82, 0xf6, 0xfd, 0xed, 0xa9, 0x25, 0xf2, 0xe9,
+ 0x85, 0xdc, 0x67, 0x33, 0xa3, 0x5e, 0x62, 0xd3, 0xfe, 0xf5,
+ 0xdb, 0x66, 0x69, 0xc9, 0x4b, 0xd8, 0x88, 0x17, 0x9e, 0x08,
+ 0x44, 0xb3, 0x6d, 0xc1, 0xa6, 0x0d, 0x3b, 0x10, 0xc6, 0xd3,
+ 0x77, 0x6a, 0xb0, 0x37, 0x69, 0x7c, 0x58, 0xf6, 0xf9, 0x44,
+ 0xde, 0xac, 0x46, 0xf8, 0x8b, 0xa3, 0x62, 0x36, 0x22, 0x75,
+ 0xc6, 0x02, 0x11, 0x5c, 0x8a, 0xa1, 0xc8, 0x92, 0x7e, 0x04,
+ 0xd0, 0x44, 0x6d, 0xfb, 0x0b, 0x8e, 0x52, 0x77, 0xe4, 0x37,
+ 0x5b, 0x95, 0xd4, 0x7a, 0x3c, 0xee, 0xf5, 0x16, 0xaf, 0x3b,
+ 0x02, 0x82, 0xd8, 0x85, 0x01, 0xf7, 0x8d, 0x7d, 0xc5, 0x7e,
+ 0xf5, 0xc9, 0x36, 0x04, 0x71, 0xc6, 0xc9, 0x7b, 0xce, 0x66,
+ 0x85, 0xbc, 0xc4, 0x65, 0x3f, 0x29, 0x75, 0xcc, 0xd2, 0x51,
+ 0x96, 0x73, 0xdb, 0x63, 0x19, 0x41, 0x8c, 0xff, 0xab, 0x76,
+ 0x1d, 0x21, 0x24, 0x82, 0x97, 0x75, 0xe9, 0x4a, 0xb6, 0x72,
+ 0xc2, 0x30, 0x5b, 0x2c, 0xad, 0xc3, 0x52, 0x2e, 0x9a, 0x60,
+ 0xd1, 0xaf, 0xf1, 0xbf, 0x40, 0x2d, 0x3c, 0xcd, 0x20, 0x95,
+ 0x0e, 0x7b, 0x1a, 0x1b, 0xd5, 0x59, 0x0f, 0x80, 0x38, 0x7a,
+ 0x4e, 0x25, 0x71, 0xd0, 0x27, 0x15, 0x2b, 0xcb, 0x04, 0xa2,
+ 0x5b, 0x63, 0x8d, 0x9c, 0xac, 0x6d, 0xd7, 0xe9, 0x8c, 0xd9,
+ 0x8a, 0x88, 0x03, 0xbb, 0xc6, 0xe6, 0x5f, 0x71, 0x23, 0x6d,
+ 0x0c, 0x9b, 0xab, 0x23, 0x34, 0xa9, 0xb4, 0x75, 0x40, 0xbf,
+ 0xed, 0xa0, 0xde, 0x91, 0x0d, 0x95, 0xc3, 0xf2, 0x98, 0x8d,
+ 0x91, 0xaa, 0x4c, 0x07, 0x8f, 0xaf, 0x41, 0x7b, 0x9f, 0x97,
+ 0xb5, 0xf3, 0x79, 0x95, 0xc8, 0x3a, 0xa2, 0xc5, 0x64, 0x26,
+ 0x63, 0xba, 0xbc, 0x16, 0xee, 0x49, 0xc9, 0x53, 0x4f, 0x10,
+ 0xaf, 0xe4, 0x47, 0x60, 0xb6, 0x58, 0x99, 0x45, 0xa4, 0x5c,
+ 0xf7, 0xc0, 0x61, 0x9d, 0x21, 0xbd, 0xa3, 0x6e, 0xd2, 0xf8,
+ 0xb0, 0x2f, 0x31, 0x88, 0x7f, 0x9b, 0x8c, 0x33, 0xd5, 0x85,
+ 0xc4, 0x6c, 0x44, 0xea, 0x4f, 0x04, 0x22, 0xb8, 0xd7, 0x81,
+ 0x53, 0xe7, 0xfc, 0x08, 0x63, 0x88, 0xda, 0x35, 0x84, 0x9d,
+ 0x0b, 0x90, 0x42, 0xc4, 0xc5, 0x0c, 0x7d, 0xca, 0x40, 0xe3,
+ 0x72, 0xcb, 0x92, 0xbb, 0x9e, 0xc8, 0x3a, 0xe6, 0x4f, 0xdd,
+ 0xdb, 0x28, 0xcd, 0xf9, 0x43, 0x0f, 0xef, 0xff, 0xea, 0x1c,
+ 0xe2, 0x02, 0x82, 0x96, 0x71, 0x20, 0x98, 0x2c, 0xe6, 0xbf,
+ 0xc2, 0xef, 0xc1, 0x07, 0x25, 0x75, 0xcd, 0xbc, 0xbd, 0xaf,
+ 0x87, 0x91, 0x1d, 0x9f, 0x76, 0xd5, 0x5c, 0x9d, 0xbe, 0x59,
+ 0x74, 0x3c, 0xfb, 0x94, 0x07, 0xc6, 0x9c, 0x54, 0xac, 0xaa,
+ 0x10, 0xcd, 0xaf, 0x4f, 0x71, 0x35, 0xf5, 0x77, 0x45, 0xab,
+ 0x23, 0xa7, 0xc3, 0x22, 0x70, 0x5e, 0xd0, 0xd8, 0x67, 0x8d,
+ 0x78, 0x8a, 0x03, 0x56, 0x23, 0x34, 0xaa, 0xa1, 0xf0, 0xc6,
+ 0x2d, 0x7e, 0x4b, 0xad, 0xe5, 0x81, 0xcb, 0x46, 0xb4, 0x98,
+ 0xc6, 0x32, 0xef, 0xd8, 0x63, 0xa6, 0x46, 0x0a, 0xa2, 0xaf,
+ 0x60, 0x73, 0x4b, 0x4f, 0xdb, 0x07, 0x3d, 0xa6, 0xe8, 0x1e,
+ 0xff, 0xf2, 0xea, 0xa0, 0xb2, 0x62, 0xcf, 0x3c, 0x3a, 0x7a,
+ 0x2e, 0x70, 0x17, 0x9e, 0xc8, 0x4d, 0xea, 0xf4, 0x11, 0x36,
+ 0xe8, 0xcb, 0xe3, 0x9a, 0x32, 0x2e, 0x44, 0x15, 0xeb, 0x0e,
+ 0x08, 0x64, 0x94, 0xe0, 0x4e, 0xc4, 0xf7, 0xbb, 0x0b, 0xc8,
+ 0x02, 0x15, 0xfb, 0x88, 0x2e, 0xff, 0x53, 0x9a, 0x17, 0x2b,
+ 0x22, 0x6c, 0x13, 0x55, 0x05, 0xf7, 0x64, 0x5c, 0x88, 0x2a,
+ 0xcb, 0xf9, 0x16, 0xe3, 0x84, 0x4b, 0x49, 0x18, 0xfa, 0x57,
+ 0x80, 0x05, 0xe4, 0x55, 0xe7, 0xb5, 0xb2, 0xb5, 0xb1, 0xf9,
+ 0x59, 0x01, 0x74, 0x39, 0x1b, 0xd2, 0xb3, 0x31, 0xbd, 0xa7,
+ 0x13, 0xf0, 0x5c, 0x3d, 0xa6, 0xf7, 0x2e, 0x56, 0x44, 0xd8,
+ 0x26, 0xaa, 0x0a, 0x2d, 0xc8, 0xb8, 0xd3, 0x54, 0x4a, 0xe2,
+ 0x02, 0x19, 0x25, 0x38, 0xf2, 0x31, 0x4d, 0x5e, 0x72, 0x32,
+ 0xe1, 0x94, 0x4e, 0x22, 0x64, 0x1d, 0x51, 0x83, 0x32, 0x13,
+ 0xd0, 0x5d, 0x5e, 0x0b, 0x77, 0xc5, 0x85, 0xc8, 0xc6, 0x08,
+ 0x71, 0x01, 0x41, 0x4b, 0xd9, 0x10, 0x4c, 0x16, 0x73, 0xbe,
+ 0x61, 0x96, 0x81, 0xe2, 0xf3, 0xdb, 0x35, 0xeb, 0x0e, 0x4f,
+ 0xfb, 0xa8, 0x9b, 0x97, 0x20, 0x59, 0x9d, 0x9e, 0xe2, 0x6a,
+ 0x29, 0xee, 0xc7, 0x73, 0x83, 0x7b, 0x82, 0x3c, 0xe1, 0xd5,
+ 0x21, 0x90, 0xfb, 0xf6, 0x50, 0x4d, 0x02, 0x64, 0x07, 0x04,
+ 0xc7, 0xef, 0xe2, 0x40, 0xf3, 0x58, 0x0f, 0xbd, 0x47, 0x1d,
+ 0x41, 0x0e, 0x4a, 0xea, 0x59, 0xbb, 0xb9, 0x9d, 0xcd, 0xe1,
+ 0x3a, 0xfd, 0xec, 0x69, 0xb8, 0xf9, 0xbf, 0xb2, 0xe8, 0x78,
+ 0x38, 0x20, 0xf7, 0x74, 0x1c, 0x45, 0x94, 0x85, 0x78, 0xa1,
+ 0x7d, 0xe8, 0x4d, 0x70, 0x15, 0x5c, 0xea, 0x4f, 0x64, 0xc7,
+ 0x75, 0x7a, 0xe9, 0x1b, 0x74, 0x84, 0x90, 0x4d, 0x19, 0x17,
+ 0x22, 0xeb, 0x37, 0x69, 0xd6, 0xca, 0xfa, 0x5f, 0x16, 0xea,
+ 0xe5, 0x27, 0x68, 0x57, 0xd4, 0x6e, 0x58, 0x28, 0x63, 0x19,
+ 0x96, 0x6c, 0xd0, 0x53, 0x23, 0x05, 0x51, 0xb6, 0x30, 0xd8,
+ 0xc4, 0xc6, 0x8c, 0xe2, 0x18, 0xd7, 0xe9, 0xf3, 0x0c, 0xee,
+ 0x93, 0x59, 0x75, 0x4d, 0xf6, 0x25, 0xab, 0x30, 0x09, 0x61,
+ 0xa7, 0xa9, 0xa1, 0x31, 0xb2, 0x02, 0xe8, 0x72, 0x36, 0x67,
+ 0xa5, 0x62, 0xb9, 0x8d, 0x26, 0x23, 0x58, 0xfa, 0xd5, 0x3e,
+ 0x2c, 0x7b, 0x9d, 0x22, 0x6f, 0x56, 0x23, 0x7c, 0xa4, 0xb0,
+ 0x31, 0x1b, 0x11, 0xdb, 0x63, 0x01, 0xe9, 0x2e, 0x45, 0xb1,
+ 0x64, 0x49, 0x3f, 0x02, 0x68, 0x22, 0xd7, 0x9c, 0xf5, 0x9c,
+ 0x4a, 0xdb, 0x9b, 0xd4, 0x89, 0x1a, 0x0e, 0x74, 0x21, 0x75,
+ 0xf3, 0x29, 0x61, 0x60, 0xd9, 0xe1, 0xc1, 0xc4, 0x8d, 0x08,
+ 0x26, 0x0b, 0xd8, 0x5f, 0xd1, 0x4b, 0xa1, 0x71, 0x98, 0x8c,
+ 0xe9, 0x8c, 0xd0, 0xe1, 0x95, 0x17, 0xc3, 0xb9, 0x32, 0xc5,
+ 0xfe, 0x01, 0x34, 0x11, 0x8a, 0x4e, 0x25, 0x71, 0x01, 0xed,
+ 0xf3, 0x1c, 0x79, 0xf9, 0xc7, 0x2f, 0x39, 0x19, 0x91, 0x4a,
+ 0x27, 0x11, 0xf8, 0x57, 0xb3, 0xe0, 0x7c, 0x39, 0x86, 0x08,
+ 0x56, 0x8c, 0xc1, 0x03, 0x5c, 0x33, 0x5d, 0xd2, 0x97, 0xc4,
+ 0xb0, 0x14, 0xaa, 0x1d, 0x0d, 0xc0, 0xdc, 0xfd, 0x8a, 0x28,
+ 0x2c, 0xed, 0x34, 0xe1, 0xb1, 0x76, 0x05, 0xdf, 0xb9, 0x6c,
+ 0x5e, 0x9b, 0x5d, 0x93, 0xdd, 0x7d, 0x90, 0xa1, 0xbb, 0x55,
+ 0x19, 0x96, 0x85, 0x50, 0xed, 0x74, 0x34, 0x86, 0xf6, 0x72,
+ 0x6d, 0xa0, 0xb0, 0x32, 0xd0, 0x02, 0x0f, 0x49, 0x21, 0xbe,
+ 0xe6, 0x1a, 0x82, 0x6f, 0x9d, 0x86, 0x15, 0xbf, 0x99, 0x1e,
+ 0x4d, 0x74, 0x89, 0x56, 0xf2, 0xab, 0xa5, 0x29, 0xca, 0x1e,
+ 0x25, 0x32, 0xa0, 0x95, 0xdd, 0xd1, 0xae, 0x09, 0xdc, 0x67,
+ 0xde, 0xae, 0x6e, 0xbf, 0x58, 0x2e, 0x12, 0x9c, 0x63, 0x9f,
+ 0xd6, 0x7b, 0xa3, 0xa0, 0x08, 0x4d, 0xe6, 0x51, 0x04, 0x5a,
+ 0x71, 0x37, 0x92, 0x3b, 0x52, 0xa2, 0xd8, 0x10, 0x07, 0x9e,
+ 0xf1, 0x5b, 0x39, 0x12, 0x99, 0xf9, 0x50, 0xe0, 0x47, 0x88,
+ 0x08, 0x24, 0x9f, 0x21, 0x83, 0x2f, 0xa8, 0xe0, 0x80, 0x8f,
+ 0x54, 0x18, 0x6a, 0x1d, 0xab, 0xe1, 0xb0, 0xdd, 0x20, 0x93,
+ 0x6b, 0x57, 0x0e, 0x08, 0x4d, 0x1d, 0x07, 0x80, 0x25, 0xb0,
+ 0x1e, 0xb9, 0x8e, 0x3a, 0x82, 0x1c, 0x94, 0x17, 0x6f, 0x93,
+ 0x03, 0xf4, 0xd6, 0x24, 0x8b, 0xc8, 0x8a, 0x71, 0x4b, 0x2b,
+ 0x70, 0xde, 0x69, 0x33, 0x7d, 0x8b, 0xd4, 0xd3, 0xdf, 0x67,
+ 0xe4, 0xdb, 0xa8, 0x79, 0x1a, 0x65, 0x35, 0xfa, 0x16, 0x0a,
+ 0xd4, 0x2a, 0x38, 0xff, 0x6a, 0xe5, 0x29, 0x19, 0x80, 0xa7,
+ 0x31, 0x3d, 0x0e, 0x6b, 0xa4, 0x3e, 0xbd, 0xfc, 0x90, 0x47,
+ 0xbf, 0x1b, 0xf6, 0x56, 0x86, 0x54, 0xa6, 0x8e, 0x24, 0xb9,
+ 0x5e, 0x84, 0x86, 0x1f, 0xd3, 0x15, 0x43, 0x33, 0x48, 0x71,
+ 0xb8, 0xb4, 0xb5, 0x2a, 0x44, 0xcf, 0xe3, 0x7d, 0xec, 0x0a,
+ 0xcf, 0x8b, 0x76, 0xa0, 0xbd, 0x9c, 0xf8, 0x06, 0x4c, 0xd5,
+ 0x43, 0x1b, 0xb1, 0x62, 0x32, 0xef, 0xc9, 0xa0, 0x19, 0xe8,
+ 0x68, 0xcf, 0x2f, 0xe4, 0xda, 0x83, 0xa3, 0x64, 0x63, 0x04,
+ 0x7e, 0x48, 0x60, 0xf5, 0x3f, 0x0a, 0xce, 0x79, 0xee, 0x38,
+ 0x74, 0x29, 0x18, 0xfc, 0xbe, 0xaf, 0xed, 0x4b, 0xa3, 0x28,
+ 0x97, 0x3a, 0x1a, 0x43, 0x7b, 0x39, 0xd7, 0x50, 0x58, 0x19,
+ 0x68, 0x01, 0x6e, 0xd2, 0x6f, 0x57, 0x37, 0xbe, 0x2c, 0x17,
+ 0x09, 0x4e, 0xd0, 0xae, 0x6b, 0xdc, 0xb0, 0x50, 0xc3, 0xb4,
+ 0xf0, 0xb2, 0x80, 0x11, 0x38, 0x2f, 0x68, 0x6c, 0xd2, 0xa7,
+ 0x3c, 0x45, 0xe0, 0x2b, 0x21, 0xb6, 0x72, 0x24, 0xf1, 0x31,
+ 0xa0, 0x03, 0x8e, 0xd3, 0x10, 0x48, 0xfd, 0x42, 0xc5, 0x5e,
+ 0x62, 0x58, 0xfa, 0xcf, 0x31, 0xc9, 0x84, 0xda, 0xd2, 0x89,
+ 0xab, 0x5d, 0xdf, 0xc4, 0x55, 0x81, 0xce, 0x7f, 0x09, 0x89,
+ 0x67, 0xfc, 0x37, 0x3d, 0x30, 0x94, 0x32, 0xd1, 0x93, 0x5f,
+ 0xdc, 0x99, 0x93, 0x03, 0xc3, 0xdd, 0xa8, 0x30, 0xd4, 0x3a,
+ 0x95, 0x01, 0xa3, 0x79, 0x40, 0xe5, 0xd6, 0xae, 0x4c, 0xa7,
+ 0xa9, 0x55, 0x26, 0xe2, 0xa6, 0xb6, 0xc1, 0xdc, 0xae, 0xaa,
+ 0xbb, 0x98, 0xdd, 0xab, 0xde, 0xe5, 0x06, 0x2b, 0x6f, 0x48,
+ 0xd5, 0x53, 0xd7, 0xe2, 0x96, 0x56, 0xe0, 0x7f, 0xd2, 0x66,
+ 0x3f, 0x24, 0x30, 0x9b, 0xfe, 0x05, 0x67, 0xdd, 0x77, 0x1c,
+ 0x3a, 0xf5, 0x0c, 0x7e, 0x5f, 0xb6, 0x43, 0xee, 0x88, 0xeb,
+ 0xc0, 0xf8, 0x24, 0xd9, 0x5c, 0x5a, 0xbb, 0x15, 0x22, 0x86,
+ 0x90, 0xdf, 0x73, 0x83, 0x99, 0xce, 0xd8, 0xe7, 0xc1, 0x6b,
+ 0xb6, 0xc0, 0x94, 0x5f, 0xb7, 0xe6, 0x82, 0x1d, 0xad, 0x66,
+ 0x9f, 0xe5, 0xb7, 0xaf, 0x14, 0x38, 0x61, 0x22, 0x02, 0x09,
+ 0x57, 0x99, 0x50, 0x7b, 0xf0, 0x1a, 0x55, 0xb1, 0x78, 0x63,
+ 0xf7, 0x3f, 0xc4, 0xb7, 0x93, 0xa1, 0x84, 0x23, 0x5a, 0x4c,
+ 0x47, 0x29, 0xfb, 0x22, 0xc2, 0xd5, 0xfd, 0x23, 0x15, 0xa6,
+ 0x92, 0x44, 0x4e, 0x8e, 0x72, 0x90, 0x3c, 0xe7, 0x84, 0xbd,
+ 0x1e, 0x68, 0x4d, 0x7f, 0x31, 0x5d, 0x54, 0xb9, 0x21, 0x78,
+ 0xf7, 0x13, 0x61, 0x9b, 0x4e, 0xe9, 0xd1, 0xa4, 0xae, 0x78,
+ 0x94, 0xc8, 0xc5, 0x11, 0xf2, 0xc2, 0xfd, 0x24, 0x56, 0xf2,
+ 0x98, 0x23, 0x2b, 0xfb, 0xb8, 0x92, 0x71, 0xef, 0xad, 0x46,
+ 0x26, 0xac, 0xa5, 0x0c, 0x29, 0xfb, 0x94, 0x75, 0xf5, 0x6b,
+ 0xd1, 0x34, 0x1c, 0xe8, 0x42, 0xea, 0x25, 0x52, 0xc2, 0xc0,
+ 0x7b, 0xce, 0x7f, 0x9f, 0xdc, 0xbd, 0xb0, 0x5c, 0x24, 0xfb,
+ 0xc6, 0xfd, 0x6f, 0xf6, 0x85, 0x83, 0x10, 0x9a, 0x0f, 0xa2,
+ 0x08, 0xb4, 0xe2, 0x6e, 0xe7, 0x76, 0xa4, 0x87, 0x73, 0x20,
+ 0x0e, 0xff, 0xff, 0x53, 0x74, 0x0f, 0x9e, 0x79, 0x75, 0x50,
+ 0x59, 0x31, 0x86, 0x1e, 0x1d, 0x3d, 0x17, 0x38, 0x5d, 0x7c,
+ 0xca, 0x54, 0xcf, 0xcc, 0xe3, 0x07, 0xa5, 0x95, 0x91, 0xa8,
+ 0xd3, 0xba, 0x0a, 0x37, 0x31, 0x2c, 0x7d, 0x86, 0xf9, 0x85,
+ 0x42, 0x6d, 0x69, 0xa5, 0xb4, 0xcf, 0x8e, 0x62, 0xcb, 0xa1,
+ 0xb7, 0x33, 0xae, 0x93, 0xba, 0xb6, 0x0a, 0x1c, 0xd1, 0x11,
+ 0x01, 0xe5, 0xca, 0xad, 0x28, 0xdc, 0xb3, 0xf4, 0xdd, 0x5a,
+ 0xb8, 0x9b, 0xd3, 0xe6, 0x98, 0xed, 0x28, 0xb4, 0xa6, 0xa5,
+ 0xca, 0x93, 0x6b, 0x54, 0x70, 0x3d, 0xd4, 0x09, 0x52, 0x32,
+ 0xc3, 0x8d, 0x62, 0x7a, 0x1c, 0xd6, 0x8b, 0x7c, 0xc0, 0x77,
+ 0x44, 0x94, 0x60, 0x7c, 0x12, 0x8d, 0x2e, 0x2d, 0xbc, 0xeb,
+ 0x11, 0x43, 0x48, 0x8e, 0x7f, 0x09, 0x0c, 0x56, 0xde, 0x90,
+ 0x69, 0xa6, 0x6d, 0x07, 0xef, 0xac, 0x03, 0xfe, 0x67, 0xcc,
+ 0x1e, 0x92, 0x42, 0xbf, 0x0f, 0x34, 0xc7, 0xde, 0xf9, 0xcf,
+ 0x2a, 0xbd, 0xf1, 0x3c, 0x9a, 0xe8, 0xd1, 0xac, 0x27, 0x95,
+ 0x89, 0x52, 0x57, 0x3c, 0x4a, 0x64, 0x83, 0xe9, 0x79, 0x61,
+ 0x9f, 0x12, 0x78, 0x0d, 0xcb, 0xb9, 0x3c, 0xd0, 0x9a, 0xfe,
+ 0x62, 0xba, 0xa8, 0xb1, 0x42, 0xf0, 0x2d, 0x26, 0xc2, 0xf5,
+ 0x9c, 0x11, 0x61, 0x8b, 0x9f, 0xf0, 0xeb, 0x53, 0x49, 0x22,
+ 0x27, 0x47, 0x39, 0x48, 0xbb, 0xb9, 0x3b, 0x0b, 0xbc, 0xc1,
+ 0xa2, 0xd1, 0x0a, 0xd6, 0x7a, 0x16, 0x7e, 0xb5, 0xcd, 0x0d,
+ 0x6d, 0x11, 0xdb, 0x71, 0xd7, 0xd3, 0x06, 0xb5, 0x4f, 0x0f,
+ 0xbe, 0xe2, 0x46, 0xda, 0x18, 0xf5, 0xe1, 0xc1, 0x36, 0xb0,
+ 0x91, 0x4d, 0xb2, 0x8e, 0xa0, 0xfe, 0xac, 0xa3, 0xec, 0x01,
+ 0x8d, 0xd0, 0x1f, 0xd3, 0x2e, 0x1c, 0xee, 0xae, 0x60, 0x01,
+ 0x7a, 0xf0, 0xb1, 0x38, 0xea, 0x3e, 0x43, 0x8b, 0x82, 0xd8,
+ 0xa0, 0xdc, 0x41, 0x1e, 0x91, 0x8b, 0xf1, 0x48, 0x9c, 0x7b,
+ 0x28, 0xc7, 0x01, 0x32, 0xba, 0xf8, 0x57, 0xa8, 0x5d, 0x5b,
+ 0x05, 0x0e, 0x89, 0xe9, 0xe1, 0x93, 0x65, 0xb7, 0x14, 0x6e,
+ 0x8c, 0xd0, 0xed, 0xc1, 0x46, 0x9e, 0xb4, 0x3b, 0xef, 0xf1,
+ 0x12, 0x41, 0xaa, 0xdb, 0x95, 0x25, 0xcf, 0x3e, 0x65, 0x2a,
+ 0x86, 0x66, 0x90, 0xe2, 0xb3, 0xab, 0xa9, 0x54, 0x88, 0x5d,
+ 0x05, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x12,
+ 0x18, 0xac, 0x7f, 0xe3, 0xd2, 0x8f, 0xda, 0x0e, 0x1d, 0x9b,
+ 0x06, 0x3f, 0xce, 0x5b, 0x42, 0xaf, 0xe4, 0x48, 0x21, 0x62,
+ 0x83, 0x06, 0xdf, 0x65, 0x20, 0x90, 0x39, 0x84, 0x49, 0xbc,
+ 0xd6, 0xa8, 0xe0, 0x7a, 0x6b, 0x12, 0xa4, 0x64, 0x45, 0xd9,
+ 0xc4, 0xf4, 0x38, 0x6f, 0xd5, 0xf8,
+ },
+ {
+ /* 11 */
+ 0xd8, 0x59, 0xe0, 0xf8, 0xd2, 0x2a, 0xca, 0x1c, 0x17, 0x58,
+ 0x25, 0x47, 0x72, 0xa8, 0x1d, 0x31, 0x69, 0xb6, 0x74, 0x38,
+ 0x5c, 0x64, 0x10, 0xef, 0x82, 0xee, 0xaa, 0xe9, 0x8a, 0x53,
+ 0xb7, 0xc0, 0xc0, 0xd2, 0x41, 0xdb, 0x4a, 0x91, 0xd0, 0xa1,
+ 0x55, 0xac, 0x5e, 0x8f, 0x3d, 0x01, 0xdf, 0x89, 0xba, 0xbf,
+ 0xf7, 0x5c, 0x54, 0x08, 0xff, 0xc7, 0x32, 0xa4, 0x91, 0x4e,
+ 0xac, 0x20, 0xdc, 0x8e, 0x16, 0xa0, 0xc6, 0xfb, 0x77, 0x8c,
+ 0x4a, 0x68, 0x8d, 0x24, 0x3c, 0x03, 0xa8, 0x75, 0xec, 0xfe,
+ 0x87, 0x68, 0xac, 0xfe, 0x5b, 0xa5, 0x09, 0xf4, 0xe0, 0xa0,
+ 0x17, 0xcf, 0x05, 0xd1, 0x3c, 0x6c, 0x58, 0xc5, 0x9e, 0x6a,
+ 0x1f, 0x75, 0xeb, 0x63, 0x71, 0x90, 0xf0, 0x0c, 0xe5, 0x17,
+ 0x36, 0x7e, 0x59, 0x63, 0xf5, 0x7e, 0xaf, 0xd1, 0x24, 0x56,
+ 0x06, 0xc5, 0x5c, 0xba, 0x14, 0xc2, 0xf0, 0x73, 0xc4, 0x0f,
+ 0x2e, 0x8b, 0xcf, 0x44, 0x6a, 0x75, 0x4a, 0x3b, 0xab, 0x12,
+ 0x7f, 0xd3, 0x41, 0xbd, 0x6a, 0x9f, 0xc9, 0x04, 0x4f, 0x4b,
+ 0x82, 0xb0, 0x1b, 0x11, 0x9d, 0xf0, 0x5a, 0xef, 0x3e, 0xd7,
+ 0x05, 0x7b, 0x04, 0x44, 0x35, 0x71, 0x75, 0xe1, 0x68, 0xc2,
+ 0x59, 0x2b, 0xb3, 0x07, 0x58, 0x39, 0x9a, 0x98, 0x09, 0x99,
+ 0xf6, 0x6f, 0x66, 0xa8, 0xca, 0x96, 0x35, 0x2c, 0xf9, 0x7f,
+ 0xa6, 0xed, 0x06, 0x52, 0xb9, 0x78, 0x26, 0x5e, 0xe7, 0xbe,
+ 0xf1, 0x3d, 0x6e, 0x32, 0x63, 0xbb, 0xd1, 0x2e, 0xa6, 0xe9,
+ 0x39, 0x2f, 0x49, 0x66, 0x5f, 0xae, 0x6f, 0xc7, 0x1f, 0x1b,
+ 0xa1, 0x5b, 0x80, 0x02, 0x0d, 0x02, 0xda, 0xe4, 0xfc, 0x18,
+ 0xc2, 0x8a, 0x56, 0x2f, 0x70, 0xd2, 0x37, 0x60, 0xa7, 0x51,
+ 0xd1, 0x86, 0x55, 0x4c, 0xab, 0xe7, 0xb2, 0x42, 0x5e, 0xe0,
+ 0xa0, 0x08, 0x07, 0x1a, 0x24, 0x54, 0x43, 0x67, 0x82, 0x75,
+ 0x94, 0xe1, 0x63, 0x81, 0xaa, 0x9b, 0xbc, 0xdd, 0x7a, 0x02,
+ 0x7d, 0xd1, 0x85, 0xe7, 0x7a, 0xd6, 0xf8, 0x2e, 0x54, 0x9e,
+ 0x0e, 0x0a, 0x8c, 0x60, 0x24, 0xb8, 0x73, 0x76, 0x41, 0xe8,
+ 0x54, 0x5d, 0x37, 0x6a, 0x3e, 0xeb, 0x44, 0x31, 0x27, 0x72,
+ 0x5b, 0x6b, 0x32, 0xcb, 0xd2, 0xaf, 0xe8, 0x70, 0xb8, 0xc8,
+ 0x20, 0x1d, 0xc7, 0x1f, 0x97, 0x11, 0xd7, 0xa6, 0xad, 0x43,
+ 0x2c, 0x83, 0x4f, 0x35, 0xee, 0xdb, 0x94, 0xd0, 0xd9, 0x48,
+ 0x78, 0x06, 0x93, 0xea, 0x1b, 0x3f, 0xcd, 0xd0, 0x9b, 0x3f,
+ 0xb6, 0x89, 0x12, 0x2b, 0x03, 0x83, 0x2e, 0x5d, 0x0a, 0x61,
+ 0x78, 0xd8, 0x0b, 0x50, 0x63, 0x9c, 0xda, 0x46, 0x25, 0x34,
+ 0xa7, 0x12, 0x1e, 0xe0, 0x54, 0xdb, 0x76, 0x7f, 0xa2, 0x34,
+ 0x56, 0x7f, 0xcc, 0xb3, 0xe5, 0x7a, 0x70, 0x50, 0xea, 0x86,
+ 0xe3, 0x89, 0x1e, 0x36, 0x38, 0xac, 0x5f, 0xe6, 0x3a, 0xdc,
+ 0x83, 0xd2, 0xba, 0xc6, 0xdf, 0xaa, 0x1a, 0xf6, 0xb8, 0xdb,
+ 0xf7, 0xf3, 0x12, 0xf1, 0x2f, 0xde, 0xcc, 0x93, 0x57, 0xef,
+ 0x6a, 0x58, 0x31, 0xfe, 0x8f, 0x19, 0x4b, 0x1e, 0x5c, 0xd5,
+ 0x5d, 0x88, 0xd4, 0xea, 0x94, 0x76, 0x95, 0x24, 0xfe, 0x65,
+ 0x82, 0xb9, 0xe6, 0xa7, 0x06, 0x66, 0xce, 0xa8, 0xae, 0x70,
+ 0x5c, 0xa3, 0x94, 0xdf, 0x0b, 0xe5, 0x74, 0xc4, 0xe7, 0x01,
+ 0x6d, 0x72, 0x7e, 0x0c, 0x61, 0x45, 0x2b, 0xf6, 0x38, 0x69,
+ 0xfa, 0x30, 0xb2, 0xc9, 0x90, 0x6e, 0x01, 0x11, 0x9c, 0x8d,
+ 0x8c, 0xa9, 0x1a, 0xd1, 0x87, 0x7a, 0x5c, 0x71, 0x16, 0x9f,
+ 0x1a, 0x04, 0x77, 0x0b, 0x3b, 0x30, 0x47, 0xd7, 0xac, 0x5e,
+ 0xe0, 0x67, 0x6e, 0xc0, 0x8d, 0xa2, 0x53, 0x95, 0xfd, 0xf6,
+ 0xc5, 0x33, 0xce, 0x57, 0xd6, 0x82, 0xee, 0xec, 0xb1, 0xcc,
+ 0x40, 0x01, 0xa3, 0x92, 0x3d, 0x6b, 0x7c, 0x17, 0x2a, 0x4f,
+ 0x07, 0x05, 0x46, 0x30, 0x12, 0x5c, 0xd8, 0x3b, 0xf1, 0xa1,
+ 0xab, 0x89, 0x09, 0x80, 0x2b, 0x2d, 0xa6, 0xd2, 0x04, 0x6a,
+ 0x52, 0x45, 0x5e, 0x37, 0xfd, 0x05, 0x1a, 0x79, 0x45, 0x3c,
+ 0x26, 0x92, 0x87, 0xa8, 0xd8, 0x0e, 0x94, 0xf0, 0x3f, 0x6b,
+ 0x51, 0x1a, 0x2b, 0xde, 0x66, 0xb8, 0x93, 0x3d, 0x38, 0x28,
+ 0x75, 0x43, 0x90, 0xa5, 0x0f, 0x1b, 0x29, 0xf8, 0x4b, 0x71,
+ 0xdb, 0xaa, 0xe1, 0x31, 0xb1, 0x8a, 0x21, 0x2d, 0x20, 0xed,
+ 0x43, 0x06, 0x3b, 0x85, 0xe2, 0xda, 0x29, 0xf3, 0x11, 0x8d,
+ 0x23, 0x39, 0xe8, 0xb3, 0xca, 0x4a, 0x31, 0xcc, 0x82, 0x13,
+ 0xa8, 0xba, 0x6e, 0xd4, 0x7c, 0x15, 0x88, 0x62, 0x4e, 0xe4,
+ 0xb6, 0xd6, 0x64, 0x55, 0x67, 0x9d, 0x13, 0xe0, 0xb3, 0x53,
+ 0x40, 0x3a, 0x4d, 0x3e, 0xed, 0x22, 0x6d, 0x8f, 0x99, 0x86,
+ 0x8b, 0xcc, 0x1d, 0x0e, 0x17, 0x19, 0x04, 0x4b, 0xc1, 0xda,
+ 0xcb, 0xab, 0xc3, 0x64, 0x5d, 0x30, 0x48, 0x37, 0xe1, 0xe9,
+ 0x4e, 0xa7, 0x46, 0xb5, 0x0d, 0x89, 0xa2, 0x3d, 0x2e, 0xd9,
+ 0x0b, 0xae, 0x2a, 0xd1, 0xf6, 0x4d, 0xc8, 0x85, 0x73, 0x6e,
+ 0x28, 0x75, 0x16, 0x34, 0xf0, 0x51, 0xca, 0x11, 0xef, 0x78,
+ 0xb3, 0xd2, 0xb7, 0x65, 0xd6, 0x2e, 0x15, 0x1b, 0x11, 0x90,
+ 0x7e, 0x57, 0x4d, 0xa1, 0x70, 0x9b, 0xbe, 0x0f, 0x74, 0x7b,
+ 0xc5, 0x67, 0xb7, 0x4f, 0x7d, 0x97, 0x34, 0x2f, 0xb3, 0x75,
+ 0x2d, 0x25, 0x24, 0x21, 0x5e, 0x7f, 0x5b, 0xe5, 0xae, 0x1d,
+ 0xd4, 0xb0, 0x62, 0x3f, 0xdd, 0x32, 0x31, 0x73, 0xea, 0x52,
+ 0x43, 0x11, 0xfb, 0x8c, 0xf3, 0x7e, 0x5a, 0xe5, 0x6f, 0x44,
+ 0x81, 0xbe, 0xe2, 0x7a, 0x69, 0x36, 0x4b, 0x7d, 0x14, 0xa4,
+ 0x43, 0x34, 0x61, 0x42, 0x49, 0x37, 0xea, 0xf0, 0x86, 0xce,
+ 0xc7, 0xea, 0xeb, 0x01, 0xc6, 0xc1, 0x97, 0xf5, 0xbb, 0x79,
+ 0xf4, 0x04, 0xfa, 0x61, 0xc9, 0x0d, 0xf4, 0x6f, 0x33, 0x5c,
+ 0xa8, 0xff, 0x1c, 0x14, 0xdb, 0xc0, 0x48, 0xb3, 0xe6, 0xec,
+ 0xb0, 0x49, 0xff, 0xd4, 0x3e, 0xea, 0x15, 0xc6, 0xe2, 0xe3,
+ 0x23, 0x18, 0x09, 0x2e, 0x6c, 0xfc, 0x80, 0x9c, 0x7e, 0x92,
+ 0xcd, 0x5f, 0x21, 0x7f, 0x66, 0xc8, 0xd5, 0x4b, 0x97, 0xbf,
+ 0x2b, 0x4f, 0xf5, 0x7c, 0xc4, 0xd9, 0x8c, 0x55, 0x91, 0xf9,
+ 0xb9, 0x45, 0xf1, 0xf7, 0x10, 0x97, 0xc0, 0x03, 0xfc, 0xa3,
+ 0x71, 0x6d, 0xf5, 0x98, 0xe9, 0xa7, 0xf0, 0xfd, 0x74, 0xb8,
+ 0x65, 0x25, 0xf9, 0x66, 0x60, 0x69, 0xc1, 0x8c, 0x25, 0xa9,
+ 0x68, 0xb1, 0xcb, 0x56, 0x2f, 0xa6, 0xff, 0xe1, 0x8e, 0xa5,
+ 0x44, 0x93, 0x50, 0x19, 0x02, 0x1b, 0x4b, 0x0a, 0x2c, 0xf3,
+ 0x7e, 0x59, 0xe8, 0x6c, 0x6a, 0xf2, 0x0c, 0xa4, 0xb1, 0xf0,
+ 0x4c, 0xbc, 0x0d, 0xbf, 0x21, 0x7a, 0xdc, 0x64, 0xc6, 0xb5,
+ 0x61, 0x5c, 0x8f, 0x11, 0x72, 0x5e, 0x92, 0xcc, 0xbe, 0x9f,
+ 0xde, 0x4d, 0x3e, 0x36, 0x81, 0xb6, 0xc3, 0x04, 0xa4, 0x66,
+ 0xef, 0x07, 0xea, 0xed, 0x02, 0xc4, 0x81, 0x6d, 0x84, 0xb4,
+ 0x80, 0x32, 0xcf, 0x18, 0x3d, 0xd7, 0x5b, 0xa2, 0x0f, 0xad,
+ 0xf6, 0x33, 0xd2, 0x04, 0x86, 0x81, 0xa9, 0xf1, 0xe0, 0xe2,
+ 0x62, 0xe6, 0x17, 0xa4, 0x86, 0x22, 0x35, 0xdb, 0x25, 0xfc,
+ 0xb4, 0x09, 0xde, 0x88, 0xc1, 0xbf, 0x35, 0xae, 0x85, 0x02,
+ 0xc6, 0xc4, 0x41, 0x58, 0xec, 0xe9, 0xaf, 0x78, 0x2d, 0x96,
+ 0x1f, 0x8a, 0xe0, 0xf5, 0xbf, 0x1e, 0xe8, 0xf6, 0x49, 0xce,
+ 0xad, 0x9e, 0xfa, 0xed, 0x68, 0x5e, 0xa5, 0xea, 0x68, 0x10,
+ 0x1f, 0x2c, 0xec, 0xc0, 0xdf, 0xda, 0xf5, 0xbb, 0x06, 0x5f,
+ 0x7b, 0x86, 0x71, 0xcd, 0xdc, 0x84, 0x8f, 0xa8, 0x57, 0xff,
+ 0x70, 0xc8, 0x08, 0xcf, 0xd0, 0xda, 0x30, 0x7a, 0x83, 0x05,
+ 0x40, 0x4e, 0x3f, 0x49, 0x87, 0xce, 0xf1, 0xde, 0x33, 0x64,
+ 0x8b, 0xc4, 0xaa, 0xbe, 0xf4, 0xc6, 0xa0, 0xbb, 0x80, 0x57,
+ 0x6f, 0x38, 0xb8, 0x10, 0x9e, 0xfa, 0x71, 0x29, 0xc2, 0xe0,
+ 0x51, 0x2c, 0xa7, 0x4f, 0x52, 0x3b, 0xf9, 0xc2, 0x90, 0x9b,
+ 0x18, 0x92, 0xb3, 0xad, 0x50, 0x8e, 0x46, 0x0f, 0x9f, 0xe3,
+ 0x0d, 0xdd, 0xc3, 0x1e, 0x13, 0x49, 0xa2, 0x54, 0x6c, 0x07,
+ 0x4a, 0x78, 0xfe, 0xd4, 0x2b, 0x77, 0x9d, 0x59, 0x78, 0x21,
+ 0xbc, 0x5b, 0x5f, 0x20, 0xba, 0x82, 0x01, 0x84, 0x0c, 0x1c,
+ 0xae, 0x90, 0xe7, 0x8f, 0x80, 0x0f, 0xe8, 0xc5, 0x51, 0x2a,
+ 0x36, 0xe2, 0x25, 0x3c, 0x7f, 0x6a, 0x10, 0xf2, 0x7f, 0x83,
+ 0x51, 0xd2, 0xad, 0xd6, 0x7c, 0x19, 0x52, 0x31, 0xcb, 0xce,
+ 0x3d, 0xd0, 0xfe, 0x2c, 0xa7, 0x45, 0x56, 0x13, 0xb4, 0xcd,
+ 0x1e, 0x57, 0xef, 0x17, 0x44, 0x4c, 0xb6, 0x7c, 0xa1, 0x1d,
+ 0xeb, 0x43, 0xdf, 0x9c, 0x77, 0x25, 0xe9, 0xaf, 0xdd, 0x9f,
+ 0x33, 0x35, 0x97, 0x21, 0xc7, 0x26, 0x93, 0xb7, 0xdc, 0x6b,
+ 0xf8, 0x2a, 0xd3, 0xc4, 0x9c, 0x0b, 0xaf, 0x6f, 0xc8, 0xaa,
+ 0x4d, 0x4c, 0xe5, 0xad, 0x7b, 0xd6, 0x33, 0x54, 0x65, 0x4b,
+ 0xfb, 0x16, 0x9d, 0xde, 0x53, 0x97, 0xaa, 0x4d, 0x88, 0xdf,
+ 0x05, 0xda, 0x52, 0x11, 0x4e, 0xbd, 0xc3, 0x7f, 0x67, 0xee,
+ 0xe1, 0x5e, 0xd4, 0xfd, 0x51, 0x08, 0x9e, 0x96, 0xc7, 0xa3,
+ 0x36, 0x22, 0xf9, 0x23, 0xb4, 0x1d, 0x7c, 0x6d, 0x42, 0xc1,
+ 0xe9, 0x61, 0x24, 0x45, 0xac, 0xb4, 0xdd, 0xce, 0x10, 0x6b,
+ 0x8b, 0xd7, 0xbb, 0xdc, 0x2e, 0x0c, 0x99, 0x1d, 0x4d, 0x50,
+ 0xc9, 0xba, 0x37, 0xe2, 0xe3, 0xa9, 0xb2, 0x83, 0x54, 0x25,
+ 0x49, 0x91, 0x8a, 0xfd, 0xfe, 0x03, 0x89, 0x80, 0x7a, 0xdc,
+ 0x0e, 0x8b, 0xdf, 0x0c, 0xcd, 0xa3, 0xb2, 0xc6, 0x29, 0xfc,
+ 0x9d, 0x61, 0x48, 0xac, 0x0c, 0x49, 0xb8, 0xb7, 0x28, 0x47,
+ 0x23, 0xe6, 0x77, 0x6f, 0x6c, 0x63, 0xe2, 0x81, 0xed, 0xec,
+ 0x31, 0x27, 0xbf, 0x13, 0xa6, 0x41, 0xa4, 0x56, 0x39, 0x0a,
+ 0x34, 0xf2, 0x8a, 0x78, 0x4c, 0xe7, 0xcd, 0x93, 0x73, 0x1c,
+ 0xeb, 0x23, 0x7e, 0xd6, 0xad, 0xb9, 0x5a, 0xb3, 0x93, 0x20,
+ 0x7a, 0x9a, 0xc8, 0xd5, 0x01, 0xfb, 0xf5, 0x80, 0xf6, 0x7d,
+ 0x20, 0x27, 0xfe, 0xc5, 0xa2, 0x67, 0x99, 0x6f, 0xf8, 0x32,
+ 0xa4, 0x62, 0x55, 0x5f, 0x7a, 0x63, 0xcf, 0x5f, 0x4d, 0x17,
+ 0x15, 0x02, 0x4f, 0x41, 0xed, 0x29, 0xb5, 0xf2, 0x2b, 0x08,
+ 0x37, 0xc2, 0x64, 0xb4, 0xae, 0xdc, 0xa0, 0x7c, 0xd2, 0x65,
+ 0xd4, 0xc1, 0xda, 0x3b, 0xbd, 0x33, 0x10, 0x91, 0x9b, 0x3e,
+ 0x62, 0x8d, 0x46, 0xcb, 0xa9, 0x9d, 0xbd, 0xc3, 0x99, 0x9a,
+ 0x08, 0xaa, 0x60, 0xe0, 0xde, 0x0b, 0x59, 0x80, 0xf4, 0x74,
+ 0x2d, 0xa2, 0xe6, 0x65, 0x4b, 0x75, 0x11, 0x13, 0xcc, 0x1f,
+ 0x7f, 0x16, 0xb2, 0xc3, 0x2b, 0xe8, 0x5a, 0x87, 0x0f, 0xca,
+ 0x96, 0xea, 0x22, 0x26, 0x5b, 0x3e, 0xa8, 0xc2, 0x5e, 0xf7,
+ 0xa6, 0x51, 0x0f, 0x7b, 0xa0, 0x17, 0x58, 0xd0, 0x46, 0x87,
+ 0xae, 0x44, 0xb6, 0x1b, 0x46, 0xac, 0x18, 0xb4, 0xf2, 0x78,
+ 0x13, 0xde, 0x4d, 0x2a, 0x6a, 0x95, 0xbd, 0xd2, 0x5c, 0x18,
+ 0xf1, 0x3a, 0x9a, 0xa0, 0x51, 0xb7, 0x6e, 0x07, 0x05, 0x91,
+ 0xa7, 0xc5, 0xa8, 0x4a, 0xa5, 0xc0, 0x84, 0x13, 0x5a, 0x49,
+ 0xcd, 0xf1, 0xf6, 0x38, 0x28, 0x02, 0x71, 0xe7, 0x09, 0x15,
+ 0x6b, 0x39, 0xa2, 0x10, 0xff, 0xef, 0x4d, 0x85, 0x6c, 0x44,
+ 0x31, 0x46, 0xab, 0x3a, 0xf8, 0xda, 0xd3, 0x09, 0x83, 0x64,
+ 0x08, 0x6c, 0xef, 0x28, 0xb0, 0x4a, 0x3b, 0xa7, 0x26, 0x73,
+ 0x6b, 0x4e, 0xf0, 0x07, 0xc0, 0x9d, 0xb9, 0x24, 0xe4, 0x18,
+ 0xd1, 0x87, 0xa8, 0xdc, 0xa3, 0x90, 0x98, 0x3a, 0x5d, 0xbe,
+ 0x9a, 0x2e, 0x2a, 0x04, 0x9e, 0x82, 0x19, 0x52, 0xa9, 0x27,
+ 0x56, 0x10, 0x6e, 0x47, 0xc8, 0xab, 0x9f, 0x7b, 0x83, 0xf8,
+ 0x67, 0xca, 0x6b, 0x41, 0x77, 0x76, 0xb9, 0x66, 0x20, 0xe1,
+ 0xc5, 0xa9, 0x45, 0x9f, 0x7f, 0xe0, 0xa5, 0x40, 0x3d, 0x6e,
+ 0x07, 0xa4, 0x8e, 0x06, 0x87, 0xb0, 0xbd, 0x4b, 0x25, 0x30,
+ 0xc2, 0xf2, 0xd7, 0x4c, 0xb4, 0xcc, 0x53, 0xca, 0x3e, 0x4e,
+ 0xcb, 0xad, 0xc3, 0xfb, 0xfc, 0xe7, 0x59, 0xbe, 0x42, 0xfe,
+ 0xcc, 0x53, 0x69, 0x96, 0xed, 0xbd, 0x56, 0x9e, 0xe4, 0x28,
+ 0xd0, 0x4e, 0x6d, 0x23, 0xf3, 0x1a, 0xb2, 0x09, 0x0f, 0x70,
+ 0x2a, 0x8c, 0x3b, 0xde, 0xaf, 0x36, 0x8c, 0x9b, 0x30, 0xab,
+ 0x27, 0xf0, 0x26, 0x7f, 0x9a, 0x54, 0xd4, 0xe9, 0xb9, 0x67,
+ 0xb8, 0x30, 0x21, 0x74, 0xf7, 0x83, 0xa2, 0xad, 0xdc, 0x0e,
+ 0x0a, 0xe1, 0x8d, 0x49, 0x93, 0x94, 0xcb, 0x82, 0x22, 0x47,
+ 0x90, 0xd7, 0xf5, 0x95, 0xf2, 0xbe, 0x40, 0x6f, 0x69, 0xda,
+ 0xa9, 0xf6, 0xc1, 0x74, 0x2a, 0xcf, 0xfa, 0x35, 0x1f, 0x94,
+ 0x22, 0xf9, 0xf2, 0x39, 0xcc, 0xd4, 0x19, 0x84, 0xb5, 0x32,
+ 0xfb, 0x90, 0x0b, 0x9b, 0x60, 0x27, 0x8a, 0x21, 0x7a, 0x33,
+ 0xba, 0x29, 0x34, 0xc5, 0x6f, 0xe4, 0xcd, 0x40, 0x7a, 0x3a,
+ 0xf7, 0x51, 0x73, 0xd3, 0xc4, 0xdb, 0xe9, 0xe8, 0x66, 0xee,
+ 0x4c, 0xea, 0x8e, 0xb9, 0xcb, 0x72, 0xfc, 0x61, 0x12, 0x1e,
+ 0x57, 0xa0, 0x6c, 0x0b, 0x95, 0x9a, 0x97, 0x9a, 0xd3, 0x7d,
+ 0x0a, 0x77, 0xa4, 0x22, 0x9c, 0xb9, 0x45, 0xfe, 0xce, 0x1f,
+ 0x01, 0xbc, 0x88, 0xe5, 0xa0, 0x32, 0x04, 0x36, 0x96, 0x14,
+ 0x58, 0x25, 0xfc, 0xb2, 0x13, 0xd8, 0xd4, 0x27, 0x61, 0xcf,
+ 0xaa, 0x98, 0x95, 0x0d, 0xa7, 0x84, 0xbc, 0x03, 0x83, 0x10,
+ 0x0e, 0x34, 0x48, 0xa8, 0x57, 0x48, 0x92, 0xa6, 0x40, 0xe6,
+ 0x74, 0x83, 0xc9, 0x15, 0x1b, 0x71, 0xf3, 0x1e, 0xde, 0x35,
+ 0x11, 0x54, 0x14, 0x97, 0xe1, 0x76, 0x62, 0xe3, 0x0b, 0x4c,
+ 0xfe, 0x87, 0x3a, 0x1b, 0xfb, 0xdd, 0x99, 0xb1, 0xb4, 0xa5,
+ 0xe5, 0x40, 0xf4, 0xf7, 0x53, 0x69, 0x02, 0x35, 0x29, 0xc3,
+ 0x2f, 0xfa, 0x72, 0x14, 0x68, 0x27, 0xd7, 0xf0, 0x98, 0x0d,
+ 0x59, 0xe5, 0xe6, 0x38, 0x15, 0x46, 0xfc, 0x6f, 0x83, 0xb5,
+ 0xc3, 0xae, 0xde, 0x70, 0xb3, 0x20, 0xff, 0x37, 0xe2, 0x52,
+ 0x47, 0x03, 0xa2, 0x58, 0xbf, 0xc4, 0xf3, 0x18, 0x61, 0x79,
+ 0x8a, 0x26, 0x5a, 0x66, 0xc8, 0x65, 0x1f, 0x27, 0x84, 0xb7,
+ 0x55, 0xc7, 0x44, 0x8e, 0xe3, 0x6d, 0x29, 0xe9, 0x27, 0xbf,
+ 0x80, 0xde, 0xd2, 0x77, 0x91, 0x2f, 0x73, 0xb2, 0x03, 0x33,
+ 0x67, 0x54, 0x57, 0x38, 0x2e, 0xb0, 0x4a, 0x8e, 0xe4, 0x93,
+ 0x3a, 0x62, 0x9d, 0x6c, 0xdb, 0xf5, 0x60, 0x95, 0x4e, 0x23,
+ 0x4c, 0xfe, 0xf7, 0xa8, 0x6b, 0x11, 0xb1, 0xce, 0x81, 0x3a,
+ 0x15, 0x86, 0x7d, 0xfb, 0xee, 0x4a, 0x11, 0x9d, 0x79, 0xfd,
+ 0x66, 0x6a, 0xed, 0x42, 0x3f, 0x58, 0x8d, 0x8a, 0xac, 0x26,
+ 0xab, 0x59, 0x3c, 0xae, 0x1d, 0x2e, 0x88, 0x98, 0xaf, 0xf8,
+ 0xb3, 0x60, 0x42, 0xe8, 0x2d, 0xc5, 0x87, 0x99, 0x7b, 0x1c,
+ 0x14, 0x01, 0xd9, 0x92, 0xe5, 0xeb, 0xbb, 0x19, 0x9c, 0x48,
+ 0xe4, 0xac, 0x30, 0xf2, 0x45, 0xf1, 0x3d, 0xf8, 0x5d, 0xf5,
+ 0x1a, 0x83, 0xd6, 0x72, 0x87, 0x20, 0x3d, 0x1d, 0x9a, 0xc9,
+ 0xd8, 0x88, 0x62, 0x8c, 0x95, 0x74, 0x33, 0x77, 0xea, 0x03,
+ 0xb7, 0x96, 0x82, 0x14, 0xa3, 0xcf, 0x7d, 0xd9, 0x48, 0xbb,
+ 0xcd, 0x50, 0x15, 0x98, 0x25, 0x5c, 0xfa, 0x81, 0x97, 0x16,
+ 0xec, 0x8e, 0x90, 0xf0, 0xfd, 0x49, 0xe6, 0x58, 0x22, 0x5a,
+ 0xce, 0xf9, 0x26, 0x03, 0xa5, 0xa6, 0x80, 0x74, 0x9a, 0x7c,
+ 0x19, 0x44, 0xda, 0xdd, 0xf1, 0xcf, 0x63, 0x40, 0x7c, 0xb0,
+ 0x36, 0x86, 0xfa, 0xee, 0x52, 0xa9, 0x18, 0xbf, 0x2f, 0x5d,
+ 0x07, 0xb2, 0x45, 0x35, 0x3b, 0x0d, 0xb2, 0xbf, 0x84, 0x3f,
+ 0x5b, 0xa6, 0xd2, 0xef, 0x19, 0xb9, 0xac, 0xff, 0x32, 0x5a,
+ 0x57, 0x6e, 0x50, 0x3e, 0x69, 0xd3, 0x6a, 0x81, 0x6d, 0xfc,
+ 0xbf, 0xf8, 0x08, 0xa9, 0xd7, 0xd4, 0xec, 0x34, 0x8d, 0xb9,
+ 0x55, 0xfc, 0xaf, 0xdd, 0xce, 0x3a, 0x64, 0xa1, 0xf5, 0x7a,
+ 0x9e, 0x45, 0x66, 0xc9, 0x73, 0xba, 0xdc, 0x7c, 0xd5, 0x01,
+ 0xc0, 0xb1, 0xbb, 0xad, 0x38, 0xd9, 0x08, 0x79, 0xde, 0xa0,
+ 0xc9, 0x69, 0xb7, 0x6b, 0x3e, 0xed, 0x29, 0xf9, 0x84, 0x67,
+ 0xff, 0x68, 0x8d, 0x9e, 0xa4, 0x76, 0x31, 0x47, 0xe3, 0xf5,
+ 0x30, 0xe7, 0xa5, 0x99, 0xa0, 0xdf, 0x8c, 0x1e, 0x79, 0x44,
+ 0x0b, 0xbb, 0x0d, 0xb6, 0xbd, 0x39, 0xfe, 0xf7, 0xf8, 0xd8,
+ 0x41, 0x9d, 0x8a, 0x10, 0xab, 0xeb, 0xe3, 0xcb, 0xb5, 0x7e,
+ 0x9d, 0x24, 0x39, 0xe8, 0x6f, 0xc9, 0x96, 0x3b, 0x27, 0x53,
+ 0x36, 0x87, 0x38, 0x3e, 0xd5, 0xeb, 0xd3, 0x07, 0x75, 0x16,
+ 0x98, 0x61, 0xfd, 0x2a, 0x96, 0x9d, 0xfb, 0x57, 0xa3, 0x01,
+ 0x63, 0x62, 0xc1, 0x2c, 0x76, 0x95, 0xb6, 0x3c, 0xf7, 0x4b,
+ 0xee, 0x45, 0xec, 0x51, 0x0e, 0xee, 0xa4, 0x4a, 0x44, 0x71,
+ 0x8c, 0xe4, 0x26, 0x89, 0xae, 0xeb, 0xc4, 0xb6, 0x4e, 0x65,
+ 0x58, 0x91, 0x68, 0xf9, 0xa1, 0x0b, 0xfc, 0xb4, 0xcc, 0x0f,
+ 0x4d, 0x62, 0xda, 0x80, 0x7e, 0xb0, 0xd9, 0xd7, 0x9b, 0x4c,
+ 0x95, 0xb2, 0x78, 0x9f, 0x3a, 0x5c, 0xd3, 0xf3, 0x9d, 0x33,
+ 0xd0, 0x20, 0x3e, 0x58, 0x1b, 0x43, 0x7d, 0x77, 0x29, 0xb5,
+ 0x0c, 0xbe, 0xf6, 0xcf, 0xe2, 0x59, 0x6c, 0xcd, 0x70, 0x7c,
+ 0x69, 0x15, 0x65, 0x0e, 0xea, 0x2c, 0xf3, 0xc2, 0x39, 0x54,
+ 0xef, 0xf9, 0xf3, 0x2e, 0x7d, 0xa1, 0xaa, 0x0b, 0x76, 0x47,
+ 0x48, 0x78, 0x9f, 0xc5, 0x73, 0x2c, 0x11, 0x2d, 0x5f, 0x31,
+ 0x4c, 0x06, 0x89, 0x8f, 0xc3, 0xe8, 0xf7, 0xf8, 0x32, 0x88,
+ 0x77, 0x79, 0x21, 0x5d, 0xff, 0x8a, 0xcc, 0x51, 0xe6, 0xb7,
+ 0x7b, 0xf8, 0x69, 0x02, 0x43, 0xa1, 0xb5, 0x99, 0x70, 0x71,
+ 0x8a, 0x6a, 0x76, 0x1a, 0xa7, 0xbd, 0xcb, 0x7e, 0xb6, 0x8f,
+ 0x67, 0x1d, 0x32, 0xb1, 0x9b, 0x3d, 0x56, 0xee, 0xf9, 0xb2,
+ 0xf0, 0x42, 0xbb, 0xb6, 0xbe, 0x40, 0xb7, 0xc7, 0x02, 0xcb,
+ 0x18, 0x38, 0xdd, 0x22, 0xe4, 0xbc, 0xe7, 0x5b, 0xbf, 0xfd,
+ 0x7f, 0x9a, 0x7c, 0x6c, 0xc1, 0xaf, 0x45, 0x08, 0xb4, 0x94,
+ 0x90, 0x84, 0xbb, 0x3f, 0xaf, 0x12, 0xfd, 0x74, 0xd6, 0x85,
+ 0x4b, 0xfc, 0xf2, 0xc8, 0x04, 0xdd, 0x6f, 0x50, 0x85, 0xd5,
+ 0xba, 0xd4, 0x1f, 0x97, 0xf5, 0x9d, 0x42, 0xd2, 0x9e, 0x34,
+ 0xbe, 0x62, 0x98, 0x0c, 0xd1, 0xdd, 0x45, 0x13, 0x2d, 0x33,
+ 0x64, 0xd3, 0xee, 0xf2, 0x42, 0xba, 0x1b, 0xa2, 0x1c, 0x1f,
+ 0x8b, 0x94, 0x88, 0xe2, 0xdb, 0x0b, 0x4c, 0xd1, 0x9f, 0x15,
+ 0x4b, 0xaf, 0x9c, 0xca, 0xb0, 0xe1, 0xd0, 0x31, 0x81, 0x16,
+ 0x3b, 0xab, 0x5b, 0x1e, 0x9a, 0xc4, 0x77, 0xc3, 0x5e, 0x97,
+ 0x27, 0x12, 0x39, 0x2b, 0x0c, 0xdd, 0x80, 0xad, 0x9e, 0x3e,
+ 0x86, 0xac, 0xe7, 0x50, 0x07, 0xf4, 0xd2, 0x6c, 0x96, 0xfa,
+ 0x28, 0x8b, 0x86, 0x68, 0xc2, 0x84, 0x92, 0x6e, 0x17, 0x23,
+ 0x8c, 0x38, 0xcf, 0x62, 0x81, 0xe3, 0x2c, 0xc0, 0x47, 0xb2,
+ 0x09, 0x2f, 0x51, 0x0a, 0x4a, 0x13, 0x0f, 0x8d, 0x0c, 0xcc,
+ 0x5f, 0x93, 0x9f, 0xe0, 0xb8, 0x85, 0xeb, 0x7d, 0x16, 0x09,
+ 0xe8, 0x4b, 0x6d, 0x6b, 0x1b, 0x68, 0xd9, 0xb1, 0xaa, 0x3b,
+ 0x9d, 0x79, 0x5f, 0x74, 0xc8, 0x81, 0x29, 0xf4, 0xf4, 0xda,
+ 0xaf, 0xcd, 0x3c, 0xf1, 0x5e, 0xcc, 0xce, 0x10, 0x5d, 0x41,
+ 0xe1, 0x42, 0x06, 0x0e, 0x26, 0x75, 0x47, 0xbd, 0x84, 0x39,
+ 0x7e, 0xd1, 0x09, 0x0f, 0xca, 0x50, 0x36, 0xe4, 0xab, 0x4d,
+ 0x71, 0x3d, 0xd5, 0x1b, 0xc4, 0xdf, 0x0a, 0x52, 0xc0, 0x1a,
+ 0xd1, 0x21, 0xc5, 0xfa, 0x75, 0x78, 0x1c, 0x56, 0xce, 0x73,
+ 0x1d, 0x6e, 0xa0, 0x69, 0x5d, 0x63, 0x8e, 0x55, 0x0d, 0x7b,
+ 0x5c, 0x8c, 0x94, 0xb3, 0x6e, 0x41, 0x19, 0x58, 0x36, 0x7d,
+ 0x05, 0x46, 0x72, 0xe7, 0x1e, 0xa3, 0x88, 0xab, 0x22, 0xa8,
+ 0x28, 0xed, 0x01, 0xec, 0xc4, 0x05, 0x16, 0x98, 0x3f, 0xcd,
+ 0x74, 0x36, 0x35, 0x79, 0xeb, 0xa5, 0xdc, 0x82, 0x32, 0xb0,
+ 0x6c, 0xfa, 0x0a, 0x8c, 0xe4, 0x0d, 0x3c, 0x85, 0xd3, 0x95,
+ 0xbc, 0xed, 0x4e, 0x24, 0x72, 0x56, 0x18, 0x79, 0xc3, 0x99,
+ 0xff, 0x7c, 0xcf, 0x9b, 0x0d, 0xa0, 0x3c, 0x71, 0x30, 0xb6,
+ 0xbf, 0x09, 0x39, 0x06, 0xa5, 0x51, 0x2a, 0x37, 0x58, 0x24,
+ 0x26, 0xef, 0x15, 0x89, 0x7b, 0xc7, 0x64, 0xa3, 0xd8, 0x37,
+ 0x14, 0xdb, 0x0b, 0x1a, 0x78, 0xc9, 0x65, 0xe9, 0xe9, 0x2a,
+ 0x0a, 0xaa, 0x91, 0x3b, 0x31, 0x90, 0xe4, 0x26, 0x7f, 0xa2,
+ 0x1d, 0xec, 0x9c, 0x8f, 0x02, 0x8f, 0xd6, 0x28, 0xa3, 0x8b,
+ 0x5d, 0x6a, 0xee, 0xaa, 0x9b, 0xaf, 0x21, 0x69, 0x4f, 0x1a,
+ 0x46, 0x1c, 0x86, 0x31, 0xa1, 0x90, 0x16, 0x60, 0xc2, 0x59,
+ 0xe5, 0xf6, 0xc9, 0x05, 0x25, 0xe8, 0xda, 0xd6, 0x36, 0xd0,
+ 0x71, 0xa1, 0x97, 0x76, 0xf9, 0xf2, 0xbe, 0xe8, 0x53, 0xc1,
+ 0x52, 0x2b, 0x19, 0x2d, 0xca, 0x37, 0x28, 0x1f, 0xd5, 0x88,
+ 0x35, 0xa1, 0xd7, 0x7e, 0xbe, 0x7c, 0x04, 0xb5, 0xdb, 0x70,
+ 0x5d, 0xc4, 0xc1, 0x05, 0x58, 0x43, 0x8e, 0xa7, 0x12, 0x5e,
+ 0xa2, 0x14, 0x94, 0x26, 0x1e, 0xd9, 0x18, 0x5b, 0xbe, 0xe5,
+ 0xfd, 0x03, 0xb3, 0xc9, 0x15, 0xfa, 0x2c, 0x12, 0x13, 0x96,
+ 0x17, 0x06, 0xad, 0xef, 0xc7, 0x28, 0x85, 0x5d, 0xfa, 0x71,
+ 0x90, 0xb5, 0x59, 0xa0, 0x2a, 0xf3, 0x4a, 0xb8, 0x37, 0xc1,
+ 0xed, 0x2c, 0x1b, 0xdf, 0xe3, 0x23, 0x39, 0x92, 0x0f, 0xb0,
+ 0x44, 0xb4, 0x0a, 0xf6, 0x08, 0x88, 0x6a, 0xe2, 0xea, 0x01,
+ 0xd0, 0x47, 0xb2, 0x56, 0xa5, 0x0e, 0xb0, 0x72, 0xd9, 0xff,
+ 0x8b, 0xec, 0x62, 0x8e, 0x05, 0x29, 0x60, 0x0d, 0x89, 0xf1,
+ 0x83, 0x7d, 0xdb, 0x3c, 0x89, 0x43, 0xcb, 0x26, 0xb4, 0x92,
+ 0x59, 0x21, 0x2f, 0x70, 0x50, 0x04, 0xe2, 0x0d, 0x12, 0x2a,
+ 0x78, 0xe2, 0x60, 0xaf, 0xbd, 0x12, 0x72, 0x0c, 0x89, 0xa2,
+ 0x54, 0x6e, 0xb0, 0x48, 0x4c, 0x1d, 0x76, 0xc9, 0x07, 0x77,
+ 0x52, 0x25, 0x22, 0xd9, 0x46, 0x72, 0x13, 0xa5, 0x57, 0x94,
+ 0x62, 0x5b, 0x27, 0xd3, 0x2c, 0xa9, 0x34, 0x9d, 0xb1, 0xe4,
+ 0x7e, 0x5a, 0x66, 0xe6, 0xc7, 0x31, 0x6d, 0x40, 0x18, 0x8b,
+ 0xa1, 0x23, 0x98, 0xbb, 0x1a, 0xbd, 0x42, 0xf4, 0x7b, 0xc8,
+ 0x4f, 0xa9, 0xc2, 0xb8, 0x23, 0x0e, 0x43, 0xf9, 0xb1, 0x48,
+ 0x0b, 0x30, 0x61, 0xcd, 0x93, 0x7b, 0x85, 0xe3, 0xf3, 0x74,
+ 0xf2, 0x88, 0x16, 0xb5, 0x1a, 0xaf, 0xb9, 0x72, 0x3f, 0x2d,
+ 0x33, 0x73, 0x82, 0xf9, 0xd7, 0x20, 0x95, 0x15, 0x05, 0x55,
+ 0xa9, 0xfc, 0xf9, 0x48, 0x72, 0x13, 0xde, 0x51, 0xef, 0x76,
+ 0x4e, 0xa6, 0xd5, 0x5b, 0x3a, 0x1c, 0x2e, 0x32, 0x08, 0x96,
+ 0x41, 0x77, 0x55, 0x95, 0x45, 0xc8, 0xba, 0x60, 0xa9, 0x64,
+ 0x35, 0xe3, 0x16, 0xf5, 0xc0, 0x4e, 0xd7, 0x42, 0xf4, 0x66,
+ 0xb7, 0x52, 0x68, 0x49, 0x84, 0x41, 0x11, 0xc2, 0x48, 0x8a,
+ 0x9b, 0xab, 0x79, 0x5f, 0x20, 0xd6, 0xd5, 0x6d, 0xb5, 0x7b,
+ 0xe1, 0x53, 0xd4, 0x0a, 0x58, 0x52, 0x86, 0xfb, 0xda, 0xcb,
+ 0x56, 0x5b, 0x99, 0x8b, 0x63, 0xe7, 0x1d, 0xf0, 0xa5, 0x67,
+ 0xad, 0xca, 0x6f, 0x5c, 0x2a, 0x36, 0x22, 0xe3, 0xfc, 0xae,
+ 0x9a, 0x81, 0x93, 0x47, 0xbc, 0x2d, 0x8f, 0xa2, 0x1e, 0xf6,
+ 0x83, 0x2e, 0xb0, 0x63, 0x8c, 0xcd, 0x9f, 0x88, 0x28, 0x5e,
+ 0x20, 0x65, 0x6b, 0x0e, 0x2e, 0x04, 0xc6, 0xdf, 0x8d, 0x9b,
+ 0xd1, 0x38, 0x85, 0x0b, 0xc6, 0x80, 0xf8, 0xa3, 0x6c, 0xcf,
+ 0x37, 0x1f, 0xa4, 0x91, 0x30, 0xbd, 0x5e, 0xba, 0x0e, 0xa7,
+ 0x7b, 0xcb, 0xdd, 0x93, 0xae, 0x3d, 0xe0, 0x53, 0x10, 0x5d,
+ 0x63, 0x77, 0x60, 0xf4, 0xc5, 0x0a, 0x65, 0x12, 0xc5, 0xc8,
+ 0x10, 0xd8, 0x1d, 0x50, 0xa3, 0x94, 0x76, 0x8d, 0x4c, 0xe6,
+ 0xd6, 0x9c, 0x75, 0xe0, 0xba, 0x4b, 0x41, 0x0a, 0xb0, 0x86,
+ 0xdf, 0x8d, 0x24, 0xbc, 0x87, 0x28, 0xeb, 0x4c, 0x7c, 0x3f,
+ 0x0f, 0xff, 0x38, 0xc7, 0xc8, 0xd8, 0x96, 0x35, 0xa1, 0xf3,
+ 0xf2, 0x9a, 0xd2, 0x29, 0xe3, 0xdc, 0x02, 0x22, 0xfb, 0xd9,
+ 0xdb, 0x91, 0x34, 0x61, 0xcd, 0xf4, 0xb8, 0xe2, 0x2c, 0xfd,
+ 0xee, 0xde, 0xd8, 0xc6, 0x07, 0xc1, 0x19, 0x1b, 0x62, 0x4e,
+ 0xbd, 0x26, 0x8f, 0x82, 0x8b, 0xac, 0x21, 0x81, 0x95, 0xd1,
+ 0x12, 0xc3, 0x56, 0x5a, 0x8f, 0x67, 0x08, 0xd4, 0xa4, 0x8a,
+ 0xbc, 0x6e, 0x8e, 0xb7, 0x19, 0x4a, 0x22, 0x68, 0x71, 0xaa,
+ 0xa9, 0x18, 0x92, 0x80, 0x70, 0x63, 0x05, 0x09, 0xf9, 0xd8,
+ 0x75, 0x29, 0xc0, 0xe9, 0x9c, 0x46, 0x98, 0x3f, 0x2d, 0x93,
+ 0xd6, 0x22, 0xa1, 0x5f, 0x01, 0xa6, 0x6b, 0x14, 0xb0, 0xa4,
+ 0xcf, 0x35, 0x77, 0x55, 0xac, 0xb6, 0xf1, 0xd5, 0xc6, 0x0d,
+ 0x5b, 0xec, 0x23, 0x56, 0x0c, 0x5a, 0x79, 0x3c, 0xe8, 0x6f,
+ 0xc7, 0x15, 0x35, 0xab, 0xbf, 0x69, 0x91, 0xc8, 0x6a, 0x05,
+ 0x2c, 0x29, 0x43, 0x9c, 0x6d, 0x84, 0x2b, 0xcc, 0xad, 0xa4,
+ 0xd0, 0x92, 0x14, 0x2f, 0x10, 0xd3, 0xd4, 0x07, 0x17, 0x02,
+ 0x63, 0x8e, 0xa7, 0xac, 0x89, 0x1c, 0xa3, 0xe4, 0x7a, 0x6d,
+ 0xb6, 0x87, 0x1e, 0x99, 0x2f, 0x66, 0x67, 0x08, 0xcf, 0xc1,
+ 0x91, 0x21, 0x03, 0x07, 0xf6, 0x55, 0x79, 0xe5, 0x9f, 0x7a,
+ 0x03, 0xa6, 0x20, 0xba, 0xc6, 0xee, 0xc0, 0x2b, 0x49, 0x14,
+ 0xb1, 0xef, 0x94, 0xc0, 0x8e, 0x4e, 0xda, 0xf3, 0x95, 0xb6,
+ 0x8f, 0xae, 0xf8, 0xfb, 0xaa, 0xf1, 0xb7, 0xbd, 0x2d, 0xb8,
+ 0xa8, 0x10, 0x3d, 0x4d, 0x64, 0x8b, 0xe1, 0x9c, 0x9b, 0x40,
+ 0x7b, 0xdf, 0xca, 0x24, 0x49, 0x53, 0x20, 0x73, 0x3a, 0xa0,
+ 0x85, 0xeb, 0xec, 0xd9, 0x98, 0x0f, 0x6f, 0xfb, 0x5a, 0x4a,
+ 0x48, 0x42, 0xbc, 0xfe, 0xb6, 0x09, 0x9f, 0x3a, 0x6b, 0xa3,
+ 0xc4, 0x7e, 0x79, 0x64, 0xf8, 0x7e, 0x1e, 0x3d, 0x70, 0x4d,
+ 0x53, 0x73, 0xef, 0x6a, 0x81, 0x25, 0x27, 0xf7, 0x67, 0x52,
+ 0xcc, 0x76, 0xf0, 0x2b, 0x06, 0x2d, 0xdd, 0x1e, 0x74, 0xd6,
+ 0x82, 0xeb, 0xfb, 0xb4, 0xbe, 0xd5, 0x47, 0xba, 0xed, 0x25,
+ 0x11, 0x34, 0xd9, 0x55, 0xb5, 0x0c, 0x49, 0x40, 0x38, 0xd0,
+ 0xe3, 0xe5, 0x96, 0x3c, 0xb8, 0x69, 0xba, 0xd3, 0x6b, 0x17,
+ 0xeb, 0xec, 0xe9, 0x48, 0x3f, 0xca, 0xc7, 0xb1, 0x6e, 0x42,
+ 0xa6, 0x54, 0xca, 0x9e, 0x38, 0x64, 0x04, 0x86, 0x68, 0x6d,
+ 0x18, 0x3d, 0xa0, 0xe3, 0x13, 0xdb, 0xc2, 0xbf, 0x42, 0xfd,
+ 0x3f, 0x89, 0xe5, 0xe6, 0x65, 0x28, 0x1b, 0x72, 0xb4, 0xc7,
+ 0x24, 0xfa, 0x91, 0x95, 0x27, 0xb2, 0x23, 0xbb, 0xe7, 0xa5,
+ 0x51, 0xff, 0x17, 0x8d, 0xe4, 0x57, 0x74, 0x46, 0xd1, 0x5f,
+ 0xf1, 0xae, 0x7f, 0xb3, 0xa8, 0xd8, 0x88, 0x0a, 0x76, 0xfd,
+ 0x2d, 0x41, 0x09, 0xdf, 0xb5, 0xb4, 0x79, 0xcd, 0x78, 0x5e,
+ 0x49, 0xb8, 0x85, 0x4f, 0x75, 0xb2, 0x39, 0x65, 0x03, 0x29,
+ 0xbd, 0x3c, 0x13, 0x2f, 0x92, 0x5f, 0x99, 0xff, 0x37, 0x19,
+ 0xd0, 0xbc, 0x89, 0x17, 0x30, 0xd5, 0x81, 0x46, 0xf3, 0xb5,
+ 0x34, 0xb9, 0x84, 0x2b, 0xf6, 0x53, 0x9e, 0x91, 0x47, 0xb3,
+ 0x50, 0xbc, 0x40, 0xca, 0xd6, 0x1c, 0x5c, 0x08, 0x4f, 0x7d,
+ 0xd9, 0xf5, 0x61, 0x70, 0xc9, 0x16, 0x4f, 0xc3, 0x33, 0x85,
+ 0xd8, 0x5d, 0x6e, 0x3e, 0x8b, 0xe1, 0x60, 0xb9, 0xbc, 0xb7,
+ 0x1c, 0x8d, 0x0e, 0x2b, 0x67, 0xd8, 0xef, 0x37, 0x50, 0xd5,
+ 0xcf, 0xd0, 0x47, 0xcb, 0xe7, 0xdc, 0x2e, 0x46, 0x7d, 0x99,
+ 0x64, 0xeb, 0x88, 0x63, 0x07, 0xed, 0xe1, 0x60, 0x0d, 0x45,
+ 0x03, 0x4f, 0x14, 0x24, 0xb9, 0x96, 0x4a, 0x60, 0x47, 0x27,
+ 0x6d, 0x98, 0xab, 0x5b, 0xa6, 0x57, 0x7c, 0x9c, 0x55, 0x99,
+ 0x37, 0x21, 0x53, 0x2a, 0x65, 0x4f, 0x1c, 0x32, 0x02, 0x43,
+ 0x34, 0xd7, 0x0c, 0xff, 0x50, 0x90, 0x54, 0x61, 0x2f, 0x9a,
+ 0x53, 0xc9, 0xe6, 0xdc, 0x50, 0xea, 0x2c, 0x68, 0x23, 0xa2,
+ 0x57, 0x22, 0x1f, 0x7f, 0x73, 0x4f, 0x0e, 0x41, 0x32, 0x36,
+ 0xc4, 0x9c, 0xb9, 0x4c, 0xdd, 0xc7, 0xd5, 0x9b, 0xc2, 0x5d,
+ 0x97, 0xf3, 0xe9, 0x1a, 0x8d, 0xcb, 0xbb, 0x06, 0xc5, 0x20,
+ 0x1c, 0x68, 0x90, 0x93, 0x33, 0xfc, 0x3c, 0x7a, 0xe0, 0x9a,
+ 0xa6, 0xe6, 0x1d, 0xd4, 0xc1, 0x4a, 0x4e, 0x2d, 0xce, 0xa4,
+ 0x3a, 0x23, 0x89, 0xce, 0x99, 0x57, 0xde, 0xb8, 0x54, 0x6c,
+ 0x44, 0x05, 0x3b, 0x9f, 0xf7, 0xc1, 0xe5, 0x8e, 0xbb, 0x5a,
+ 0xdd, 0x87, 0x3c, 0x2f, 0xc5, 0x5c, 0xa3, 0xc6, 0xdb, 0x59,
+ 0xfd, 0xd3, 0xe8, 0x8c, 0x61, 0xbe, 0x21, 0x9f, 0xfe, 0xa5,
+ 0x93, 0x73, 0xd3, 0x14, 0xec, 0x39, 0x5a, 0x82, 0x12, 0x7d,
+ 0xa9, 0xab, 0xf2, 0x59, 0xf0, 0xbc, 0x92, 0xb3, 0xc9, 0x9e,
+ 0xea, 0xa7, 0x72, 0xca, 0x92, 0xe1, 0xd7, 0x39, 0x3f, 0x06,
+ 0xd1, 0xc3, 0xf4, 0x7b, 0x1c, 0xd5, 0x7d, 0x18, 0x59, 0x85,
+ 0xac, 0x1f, 0x31, 0xa7, 0x23, 0x84, 0xb5, 0xaf, 0xbf, 0x80,
+ 0xad, 0x4d, 0x04, 0x55, 0x30, 0x70, 0x34, 0x08, 0xee, 0x16,
+ 0x76, 0x60, 0x8e, 0x6d, 0x9b, 0xbc, 0x03, 0xce, 0xdc, 0x43,
+ 0xd9, 0x87, 0x52, 0x33, 0x96, 0xe2, 0x75, 0x97, 0x01, 0x62,
+ 0xa1, 0xd7, 0x42, 0x5a, 0x40, 0x19, 0x86, 0x0c, 0xed, 0xf7,
+ 0x65, 0xfa, 0x14, 0xee, 0x8b, 0x44, 0xfb, 0xb1, 0x8a, 0x3f,
+ 0x5f, 0x3e, 0x02, 0xbb, 0xfa, 0xf1, 0xc8, 0x15, 0xd3, 0xc6,
+ 0x0e, 0x19, 0x01, 0xc0, 0x1a, 0x8a, 0x06, 0x9e, 0x28, 0x48,
+ 0x98, 0x17, 0xdf, 0xb1, 0x55, 0xe4, 0x3b, 0xc2, 0x24, 0x3c,
+ 0xae, 0x83, 0xd8, 0x16, 0xe9, 0xf7, 0xdf, 0xad, 0x32, 0x94,
+ 0x44, 0xd0, 0xe2, 0x97, 0x91, 0x30, 0xe7, 0xc3, 0xe0, 0xc6,
+ 0x0a, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3b,
+ 0x78, 0xf4, 0x03, 0xf7, 0x8f, 0x0f, 0x3a, 0x6b, 0x41, 0x94,
+ 0x9c, 0x5a, 0x5f, 0x8b, 0x2f, 0xaa, 0xf2, 0x09, 0xfd, 0xf4,
+ 0x06, 0x8f, 0x40, 0xb7, 0x4f, 0x1f, 0x43, 0x56, 0x92, 0x28,
+ 0x3e, 0xfe, 0xe6, 0x9e, 0x1c, 0x82, 0x64, 0x6c, 0x4b, 0xfb,
+ 0xb1, 0x98, 0x79, 0x4d, 0x69, 0xf5,
+ },
+ {
+ /* 12 */
+ 0xc2, 0x45, 0xb9, 0x57, 0x85, 0xa8, 0xdb, 0x13, 0x2a, 0x3f,
+ 0xb0, 0xb9, 0xb0, 0x0b, 0x7b, 0xc6, 0x95, 0x59, 0xc2, 0x20,
+ 0x7c, 0x53, 0x81, 0x21, 0x64, 0x56, 0x1f, 0xc2, 0x1f, 0x6d,
+ 0x57, 0x36, 0xa6, 0x73, 0x93, 0x63, 0x29, 0x01, 0x42, 0x6e,
+ 0x91, 0x38, 0x9b, 0x93, 0x9b, 0xf4, 0x35, 0x9d, 0x27, 0x78,
+ 0x48, 0x3d, 0x69, 0x20, 0x97, 0x5e, 0x08, 0x0c, 0x8b, 0x48,
+ 0x8b, 0xf5, 0x6f, 0x4b, 0xe0, 0xc8, 0x66, 0x94, 0xe3, 0x75,
+ 0x59, 0xd8, 0x8c, 0xca, 0x48, 0x66, 0x48, 0xe5, 0x86, 0xb5,
+ 0x86, 0x9c, 0xc4, 0x12, 0x49, 0xd1, 0x1c, 0x46, 0xa5, 0x16,
+ 0x83, 0xc4, 0x83, 0x14, 0x42, 0x20, 0x06, 0xa6, 0x5b, 0x15,
+ 0x0a, 0x17, 0xa7, 0xe6, 0x75, 0xae, 0xe3, 0x5b, 0xe3, 0x12,
+ 0x5d, 0x91, 0x5d, 0x35, 0x96, 0x48, 0xe7, 0xc2, 0x70, 0xdb,
+ 0xd1, 0x58, 0x49, 0x96, 0x49, 0x50, 0xcb, 0x80, 0x09, 0x7a,
+ 0x21, 0xd4, 0x1b, 0xd3, 0x98, 0x9a, 0x44, 0x66, 0x76, 0x21,
+ 0x76, 0x3f, 0x28, 0xd9, 0x78, 0x2f, 0x56, 0xc7, 0x88, 0xef,
+ 0x3b, 0x66, 0x4b, 0x8f, 0x22, 0x56, 0x22, 0xab, 0x2e, 0x05,
+ 0xf4, 0x9a, 0x7f, 0xea, 0xdf, 0x07, 0x0d, 0xc9, 0x71, 0xa8,
+ 0x47, 0x7f, 0x47, 0x89, 0x8b, 0x55, 0x16, 0x30, 0x91, 0xcc,
+ 0x3a, 0x7f, 0x88, 0xf2, 0x6f, 0xb9, 0xef, 0x91, 0xef, 0x62,
+ 0x87, 0x2e, 0x19, 0xec, 0xeb, 0x0d, 0x2b, 0xbb, 0xb7, 0x8e,
+ 0x5e, 0x71, 0x7a, 0xeb, 0x7a, 0x4f, 0xf2, 0x66, 0xec, 0x47,
+ 0xd0, 0xbe, 0xf7, 0x5b, 0xd4, 0xd7, 0x66, 0x55, 0x4d, 0xd0,
+ 0x4d, 0xc1, 0x3c, 0x54, 0x69, 0x88, 0xd8, 0x47, 0xbb, 0x60,
+ 0x7a, 0xe2, 0x18, 0x14, 0x5e, 0xd8, 0x5e, 0xdc, 0xb1, 0xdd,
+ 0x04, 0xc4, 0xd3, 0xa7, 0x0c, 0x1a, 0x7b, 0x05, 0xe7, 0x75,
+ 0x03, 0xd3, 0x03, 0x1c, 0xd7, 0x5f, 0x8f, 0xe6, 0xe5, 0xc6,
+ 0x52, 0x02, 0x84, 0xdc, 0xe1, 0x70, 0xf5, 0xe5, 0xf5, 0x2b,
+ 0x6a, 0xf9, 0x30, 0x79, 0x9d, 0xa8, 0x50, 0xb8, 0x71, 0x3c,
+ 0x2e, 0x39, 0x14, 0x9d, 0x14, 0x90, 0xad, 0x02, 0x39, 0x03,
+ 0xbc, 0x7c, 0x4b, 0x6b, 0xe9, 0xa6, 0x6a, 0x5f, 0x62, 0xbc,
+ 0x62, 0xaf, 0x85, 0xdb, 0xe9, 0xb2, 0x47, 0x40, 0xf8, 0xa6,
+ 0xc1, 0x42, 0xc8, 0xac, 0x3e, 0x47, 0x3e, 0xda, 0xae, 0x6c,
+ 0x03, 0x53, 0xcc, 0xeb, 0x05, 0xea, 0xb2, 0x73, 0xdb, 0x57,
+ 0x90, 0xcc, 0x90, 0x09, 0xcf, 0xa9, 0xcf, 0xfb, 0x4b, 0x24,
+ 0x92, 0x61, 0x38, 0x8c, 0x89, 0x2c, 0xc5, 0x4b, 0xc5, 0x28,
+ 0x84, 0x40, 0x70, 0x64, 0x33, 0x4a, 0x90, 0xdb, 0xcd, 0x6c,
+ 0x46, 0x65, 0x24, 0x33, 0x24, 0x93, 0x43, 0xbb, 0x43, 0x4e,
+ 0x62, 0x09, 0xc5, 0x89, 0x0e, 0x23, 0xb3, 0x0b, 0xa0, 0x62,
+ 0xa0, 0x0a, 0x21, 0x10, 0x55, 0x7e, 0xf3, 0xc5, 0xff, 0xf6,
+ 0x86, 0xd1, 0xdc, 0xb2, 0x4f, 0xf3, 0x4f, 0x68, 0xa6, 0x3e,
+ 0x2c, 0x60, 0xe1, 0x5b, 0x74, 0xfe, 0xd3, 0x27, 0xde, 0xb1,
+ 0x1d, 0xe1, 0x1d, 0xc4, 0xcd, 0x5c, 0x12, 0xf4, 0x42, 0x6b,
+ 0x36, 0x65, 0xf3, 0xf7, 0x88, 0xcc, 0xec, 0x42, 0xec, 0x7e,
+ 0x50, 0x71, 0x8e, 0xd7, 0xa1, 0x9f, 0x51, 0xe5, 0xea, 0x4c,
+ 0xa8, 0xfc, 0x85, 0xa1, 0x85, 0x2c, 0x2f, 0x9e, 0xd5, 0x44,
+ 0x6c, 0xc2, 0xbc, 0x30, 0x3d, 0x71, 0x0c, 0x0a, 0x2f, 0x6c,
+ 0x2f, 0x6e, 0xb9, 0x8f, 0x3d, 0xc7, 0x6f, 0xdb, 0x47, 0x71,
+ 0x92, 0xa3, 0x8d, 0x2a, 0x61, 0x6f, 0x61, 0xb3, 0x52, 0x84,
+ 0xd2, 0xd3, 0x73, 0x8e, 0xb5, 0xc0, 0xf4, 0x07, 0x30, 0x28,
+ 0xbc, 0x73, 0xbc, 0x7b, 0xa1, 0x79, 0x76, 0xc2, 0x68, 0x5f,
+ 0x9a, 0xcc, 0x6a, 0x8a, 0x33, 0xcb, 0xc7, 0x68, 0xc7, 0x81,
+ 0x1e, 0x2a, 0x18, 0xdd, 0xaf, 0x54, 0x28, 0x5c, 0xd9, 0x1e,
+ 0x17, 0xfd, 0x0a, 0xaf, 0x0a, 0x48, 0xb7, 0x01, 0x35, 0x8c,
+ 0x0a, 0x56, 0x5f, 0x45, 0x64, 0xa9, 0x80, 0xc0, 0x67, 0x0a,
+ 0x67, 0x8b, 0x3f, 0x3a, 0x07, 0x97, 0x1f, 0x4c, 0x09, 0xf0,
+ 0xc9, 0x76, 0x3c, 0x22, 0x93, 0x1f, 0x93, 0x15, 0x18, 0xf6,
+ 0xc0, 0x27, 0x31, 0xe5, 0x83, 0xa5, 0x07, 0xf0, 0xb8, 0xe4,
+ 0x50, 0x31, 0x50, 0x05, 0xf1, 0x08, 0xf7, 0xc9, 0xb3, 0x01,
+ 0xda, 0xed, 0xbf, 0xba, 0xaa, 0xff, 0xd7, 0xb3, 0xd7, 0x80,
+ 0x44, 0xfc, 0xb8, 0x08, 0x67, 0x22, 0x0b, 0x4a, 0x3c, 0x96,
+ 0xf3, 0x6b, 0x72, 0x67, 0x72, 0xae, 0xdf, 0x0d, 0x72, 0x06,
+ 0xbb, 0xf8, 0x96, 0xd6, 0x11, 0x8f, 0xd4, 0xbe, 0xc4, 0xbb,
+ 0xc4, 0x9d, 0xc9, 0x75, 0x11, 0xa7, 0x8e, 0x80, 0x33, 0x8f,
+ 0x41, 0x84, 0x53, 0x9b, 0x7c, 0x8e, 0x7c, 0x77, 0x9f, 0xd8,
+ 0xb4, 0x87, 0xd1, 0x08, 0x1f, 0x64, 0xb1, 0x99, 0x19, 0xf4,
+ 0x77, 0xd1, 0x77, 0x8a, 0x65, 0xec, 0xff, 0x82, 0xd6, 0x8c,
+ 0xc2, 0xd9, 0x49, 0xb0, 0xa7, 0x15, 0xd1, 0xd6, 0xd1, 0xb8,
+ 0x29, 0x42, 0x1a, 0xbf, 0x27, 0xe6, 0x2e, 0x51, 0x05, 0xfd,
+ 0x85, 0x26, 0xea, 0x27, 0xea, 0x46, 0x3d, 0xcf, 0x48, 0x56,
+ 0xcb, 0x6f, 0xd8, 0x57, 0x4a, 0x5a, 0x65, 0xb6, 0x36, 0xcb,
+ 0x36, 0x3b, 0x83, 0x07, 0xaa, 0xfc, 0x25, 0x49, 0x3d, 0x2f,
+ 0xcf, 0x61, 0x7b, 0xa7, 0x9e, 0x25, 0x9e, 0xd0, 0x8f, 0x7c,
+ 0x58, 0xc0, 0x01, 0xb6, 0xe8, 0x3f, 0x65, 0x4e, 0x7f, 0xa1,
+ 0x3a, 0x01, 0x3a, 0x4b, 0x59, 0xb8, 0x93, 0xff, 0x99, 0x35,
+ 0x76, 0x44, 0x26, 0xc7, 0x11, 0xf8, 0xfc, 0x99, 0xfc, 0x7f,
+ 0x0a, 0xa7, 0x21, 0xde, 0x13, 0x28, 0x63, 0x37, 0x30, 0xb8,
+ 0x7d, 0xa2, 0x68, 0x13, 0x68, 0xe7, 0x32, 0xda, 0xdd, 0x0f,
+ 0x09, 0x4f, 0xa4, 0x04, 0xcb, 0x7b, 0x01, 0xe0, 0x29, 0x09,
+ 0x29, 0x56, 0xd4, 0x31, 0x60, 0xf2, 0xf9, 0x93, 0xa0, 0xb3,
+ 0xe2, 0x78, 0x5c, 0x72, 0x28, 0xf9, 0x28, 0xe3, 0x99, 0x04,
+ 0x0c, 0x8f, 0xb6, 0x2a, 0x14, 0x2e, 0x8d, 0x0f, 0xea, 0x9f,
+ 0x05, 0xb6, 0x05, 0x24, 0xba, 0xe1, 0xc4, 0xe3, 0xe2, 0x42,
+ 0x8f, 0xbf, 0x7c, 0xf5, 0x5f, 0x91, 0x53, 0xe2, 0x53, 0x19,
+ 0x26, 0x57, 0x9a, 0x85, 0xb8, 0xe1, 0x6d, 0x97, 0xbe, 0x5d,
+ 0x55, 0x9e, 0x8a, 0xb8, 0x8a, 0x40, 0x22, 0x7e, 0x5c, 0x04,
+ 0xd2, 0x11, 0xe4, 0x25, 0x1e, 0x4b, 0x98, 0xd4, 0x39, 0xd2,
+ 0x39, 0x57, 0x8e, 0xe7, 0x53, 0xd8, 0xa8, 0xd0, 0xf5, 0xe1,
+ 0x21, 0x37, 0xa9, 0x1c, 0xac, 0xa8, 0xac, 0x7a, 0xfb, 0xaf,
+ 0xcd, 0x99, 0xc3, 0x96, 0x94, 0x6c, 0xe4, 0x6f, 0x1b, 0xf7,
+ 0x25, 0xc3, 0x25, 0x26, 0x0e, 0x8e, 0x32, 0x1b, 0x15, 0x1a,
+ 0x56, 0xb5, 0xad, 0xdf, 0xbc, 0xe2, 0xf4, 0x15, 0xf4, 0x9e,
+ 0x27, 0xcc, 0x1b, 0x8e, 0x63, 0xbf, 0x2d, 0xb6, 0x6b, 0x6d,
+ 0xcc, 0xaa, 0x9a, 0x63, 0x9a, 0x41, 0x78, 0xa8, 0x5a, 0xa2,
+ 0x89, 0x04, 0xee, 0x32, 0xb9, 0xad, 0xed, 0x7a, 0xda, 0x89,
+ 0xda, 0x45, 0xd3, 0x76, 0xa1, 0xe4, 0x8c, 0x2f, 0x20, 0xf1,
+ 0x8b, 0x18, 0xad, 0x1a, 0x08, 0x8c, 0x08, 0xe1, 0x2d, 0x6b,
+ 0xe5, 0x3d, 0xf1, 0x6a, 0xec, 0x88, 0x4c, 0x4d, 0x22, 0x33,
+ 0x3b, 0xf1, 0x3b, 0xfe, 0x14, 0x8d, 0x3c, 0xf6, 0x2b, 0x82,
+ 0x44, 0x96, 0xfc, 0x33, 0xc4, 0xa6, 0x11, 0x2b, 0x11, 0xb4,
+ 0x17, 0xe3, 0x97, 0x3b, 0x4a, 0x92, 0x7a, 0x5e, 0x5d, 0xc2,
+ 0xf6, 0x8d, 0xff, 0x4a, 0xff, 0x63, 0xdd, 0xf8, 0xce, 0xca,
+ 0x0f, 0x7d, 0x91, 0x86, 0x56, 0x1c, 0xc0, 0xa0, 0xb5, 0x0f,
+ 0xb5, 0x2f, 0xc1, 0x27, 0x6d, 0x4c, 0x0b, 0xe0, 0xb7, 0x7a,
+ 0x01, 0xe7, 0xff, 0x61, 0x5d, 0x0b, 0x5d, 0xc0, 0x66, 0x82,
+ 0x62, 0x90, 0x71, 0x21, 0xa6, 0xbe, 0x3e, 0x9b, 0xce, 0xa9,
+ 0xc8, 0x71, 0xc8, 0xed, 0x13, 0xca, 0xf5, 0xab, 0x3b, 0xb3,
+ 0xdc, 0xe0, 0x63, 0x59, 0x38, 0x24, 0x37, 0x3b, 0x37, 0x8e,
+ 0xce, 0x32, 0xb7, 0xd4, 0x1d, 0xe3, 0x1a, 0x8e, 0x03, 0xea,
+ 0xc2, 0xa3, 0xe7, 0x1d, 0xe7, 0x83, 0xaa, 0x45, 0xe2, 0xaa,
+ 0xee, 0x26, 0xe5, 0x78, 0x85, 0x3b, 0x1e, 0x11, 0xa8, 0xee,
+ 0xa8, 0xeb, 0x0c, 0x7b, 0x41, 0x2c, 0xea, 0xbb, 0xc3, 0x84,
+ 0xd2, 0xc0, 0x21, 0xd0, 0x40, 0xea, 0x40, 0x04, 0xab, 0xde,
+ 0x71, 0x55, 0x77, 0x13, 0x93, 0x3c, 0xa3, 0xfc, 0x0f, 0xe9,
+ 0x54, 0x77, 0x54, 0x94, 0x06, 0xdc, 0xf9, 0x24, 0x8d, 0x99,
+ 0xc8, 0xce, 0xee, 0x56, 0xd2, 0xbb, 0x32, 0x8d, 0x32, 0xaa,
+ 0x74, 0xd3, 0xea, 0xe1, 0x8b, 0xab, 0xfd, 0x4c, 0x73, 0x31,
+ 0x13, 0xfb, 0xae, 0x8b, 0xae, 0xd3, 0x61, 0xc5, 0xae, 0x38,
+ 0xf6, 0xee, 0x31, 0x35, 0xb4, 0x64, 0x9c, 0xd2, 0x9d, 0xf6,
+ 0x9d, 0xcc, 0x58, 0x23, 0xe4, 0x0c, 0xb5, 0x33, 0xef, 0x6f,
+ 0x22, 0xdd, 0x6b, 0xbf, 0x4b, 0xb5, 0x4b, 0xf9, 0x51, 0xea,
+ 0x0b, 0x18, 0xa9, 0x66, 0x1d, 0xde, 0x44, 0x79, 0xd6, 0xbd,
+ 0x96, 0xa9, 0x96, 0x31, 0xa2, 0x17, 0xde, 0x5c, 0xc5, 0xa4,
+ 0xa1, 0xee, 0x79, 0x08, 0xda, 0xb7, 0xb9, 0xc5, 0xb9, 0x5f,
+ 0x1b, 0x98, 0xf0, 0x5e, 0xac, 0x4d, 0xd3, 0x1d, 0x76, 0xcc,
+ 0x96, 0xdd, 0x44, 0xac, 0x44, 0x95, 0x5c, 0x0a, 0xd4, 0x75,
+ 0x28, 0x9b, 0xbf, 0xd7, 0x53, 0xe1, 0x45, 0x86, 0x5f, 0x28,
+ 0x5f, 0x69, 0xfc, 0xe8, 0xb5, 0xb6, 0x95, 0x51, 0x1c, 0x83,
+ 0xdf, 0x09, 0x50, 0x78, 0x07, 0x95, 0x07, 0x8d, 0x20, 0x8b,
+ 0xa4, 0x11, 0x1b, 0xd1, 0x2f, 0x0c, 0x9e, 0x8d, 0x03, 0xe3,
+ 0x7b, 0x1b, 0x7b, 0xfa, 0xbf, 0x53, 0xba, 0x6a, 0xef, 0x90,
+ 0x0d, 0x47, 0xe0, 0x75, 0x61, 0xb0, 0x92, 0xef, 0x92, 0xa0,
+ 0x55, 0xc3, 0xe8, 0x83, 0x03, 0x19, 0xfb, 0x41, 0xaf, 0xd2,
+ 0x81, 0x20, 0x4e, 0x03, 0x4e, 0xdd, 0xeb, 0x0b, 0x0e, 0xed,
+ 0x3e, 0x98, 0x12, 0x23, 0x51, 0xec, 0x78, 0x44, 0xe5, 0x3e,
+ 0xe5, 0x2a, 0x30, 0x2f, 0x9c, 0x23, 0xe3, 0xf4, 0x67, 0x80,
+ 0x19, 0xbb, 0x20, 0x30, 0x69, 0xe3, 0x69, 0x52, 0x7f, 0xef,
+ 0x31, 0x48, 0xd9, 0xf1, 0x53, 0x5f, 0x1f, 0xac, 0x67, 0xb5,
+ 0x64, 0xd9, 0x64, 0x97, 0xe8, 0x65, 0x79, 0x1e, 0x12, 0x9e,
+ 0x8b, 0x08, 0x55, 0xf6, 0x02, 0x03, 0x52, 0x12, 0x52, 0xac,
+ 0x6b, 0x62, 0xfc, 0xd1, 0x1a, 0x67, 0xc7, 0x33, 0xfb, 0xc3,
+ 0x7c, 0x42, 0x41, 0x1a, 0x41, 0xb1, 0xe6, 0xeb, 0x4d, 0xa3,
+ 0x5c, 0x91, 0xd7, 0xaa, 0x5f, 0xcf, 0xcb, 0x4f, 0x45, 0x5c,
+ 0x45, 0x20, 0x11, 0x3f, 0xdb, 0xa9, 0x52, 0x5a, 0xae, 0x13,
+ 0x6c, 0x9d, 0x74, 0x4e, 0xca, 0x52, 0xca, 0x44, 0x89, 0xa0,
+ 0x75, 0x91, 0xa4, 0xb4, 0x9f, 0x26, 0xd8, 0xf9, 0xe8, 0x9c,
+ 0x57, 0xa4, 0x57, 0x88, 0xd1, 0x83, 0x68, 0xb9, 0x9c, 0x1e,
+ 0xb8, 0x87, 0x14, 0x72, 0x51, 0x98, 0x2e, 0x9c, 0x2e, 0xdb,
+ 0xf4, 0xba, 0x15, 0x63, 0x5d, 0x27, 0x3f, 0x95, 0x3a, 0x81,
+ 0xb4, 0xee, 0x7f, 0x5d, 0x7f, 0x6b, 0x48, 0x87, 0xa9, 0xaf,
+ 0xe9, 0xa2, 0x38, 0xc5, 0x7d, 0x12, 0xa0, 0xf0, 0x0e, 0xe9,
+ 0x0e, 0xd9, 0x40, 0xd5, 0x01, 0x31, 0x44, 0x59, 0x03, 0xe7,
+ 0x6e, 0x90, 0x49, 0x8c, 0x70, 0x44, 0x70, 0x07, 0x45, 0x67,
+ 0x23, 0xbc, 0x9b, 0x9a, 0x65, 0x3a, 0xec, 0x5b, 0xef, 0x79,
+ 0x88, 0x9b, 0x88, 0xe9, 0xb8, 0x14, 0xb2, 0x21, 0x8a, 0x1d,
+ 0x15, 0x73, 0x16, 0x7f, 0x6c, 0x5a, 0x94, 0x8a, 0x94, 0x98,
+ 0x38, 0x7d, 0x6e, 0x1f, 0xc7, 0x0b, 0xb2, 0x90, 0xb3, 0x94,
+ 0x24, 0x36, 0xcd, 0xc7, 0xcd, 0xc9, 0xa9, 0x2b, 0xf2, 0x3c,
+ 0x24, 0xff, 0xd5, 0x10, 0xaa, 0x2f, 0x04, 0x06, 0xa4, 0x24,
+ 0xa4, 0x9b, 0xd6, 0xc4, 0x3b, 0x61, 0x34, 0xce, 0x4d, 0x66,
+ 0x35, 0x45, 0xf8, 0x84, 0x82, 0x34, 0x82, 0xa1, 0x0f, 0x15,
+ 0x52, 0xe9, 0xec, 0x89, 0xf6, 0x06, 0x4f, 0xa7, 0xe0, 0x90,
+ 0xdc, 0xec, 0xdc, 0x7d, 0xbe, 0xc8, 0x65, 0x07, 0x6e, 0x6d,
+ 0xaf, 0x4e, 0xf7, 0xed, 0xf2, 0x8b, 0x5b, 0x6e, 0x5b, 0xf8,
+ 0x0b, 0x3c, 0x4b, 0x05, 0x07, 0x84, 0xdd, 0xbd, 0xf8, 0x29,
+ 0xbe, 0xe1, 0xa6, 0x07, 0xa6, 0x32, 0x4c, 0xae, 0x38, 0x32,
+ 0xf8, 0x25, 0x48, 0x8c, 0x87, 0x36, 0x23, 0xd3, 0x12, 0xf8,
+ 0x12, 0xa8, 0xc0, 0xbc, 0x2a, 0xc6, 0xba, 0x4e, 0x7e, 0xe9,
+ 0x74, 0xc1, 0xab, 0x1f, 0xfe, 0xba, 0xfe, 0xd6, 0x90, 0xcd,
+ 0x91, 0x9d, 0x11, 0x87, 0x70, 0x49, 0xfa, 0x24, 0x83, 0x23,
+ 0x1c, 0x11, 0x1c, 0x71, 0x80, 0x69, 0xd6, 0x17, 0xa0, 0x29,
+ 0xb9, 0xda, 0x8f, 0x02, 0xd7, 0x5d, 0xbf, 0xa0, 0xbf, 0x67,
+ 0x76, 0x26, 0xfd, 0xe0, 0x5e, 0x3e, 0xc4, 0xd4, 0x95, 0x53,
+ 0x35, 0xce, 0x31, 0x5e, 0x31, 0xb6, 0xa3, 0x8c, 0xf8, 0x15,
+ 0xc9, 0xc0, 0xcb, 0x29, 0x80, 0xc6, 0x9b, 0x37, 0x42, 0xc9,
+ 0x42, 0xad, 0x31, 0xb4, 0x8c, 0xb5, 0x29, 0x2d, 0x57, 0xe8,
+ 0x36, 0xaf, 0x3a, 0x27, 0x65, 0x29, 0x65, 0x22, 0xa5, 0x50,
+ 0x50, 0x8b, 0x64, 0x3b, 0xf0, 0x0b, 0x93, 0x44, 0x72, 0x4b,
+ 0x3c, 0x64, 0x3c, 0x73, 0x34, 0x06, 0x7f, 0xb8, 0x49, 0x8b,
+ 0x81, 0x1f, 0xf2, 0x10, 0x77, 0xad, 0xb1, 0x49, 0xb1, 0xbe,
+ 0x36, 0xf3, 0x59, 0xf1, 0x45, 0xef, 0xeb, 0xd8, 0x0b, 0xde,
+ 0x36, 0x2d, 0x4a, 0x45, 0x4a, 0x4c, 0x1c, 0xdf, 0x08, 0x4b,
+ 0x65, 0x8d, 0x18, 0x34, 0xf6, 0x0a, 0x0d, 0xea, 0x06, 0x65,
+ 0x06, 0x38, 0x6d, 0xbe, 0xd9, 0xcb, 0xda, 0xe8, 0xa8, 0x1e,
+ 0xb0, 0x7e, 0xe6, 0x95, 0x2a, 0xda, 0x2a, 0x4a, 0x03, 0x6e,
+ 0xa2, 0xb7, 0x40, 0xc4, 0x25, 0x1b, 0x39, 0x6b, 0x76, 0x4d,
+ 0x98, 0x40, 0x98, 0xe8, 0xe2, 0xc2, 0xfb, 0x46, 0x05, 0x2b,
+ 0xce, 0xc3, 0x32, 0xb5, 0x40, 0x60, 0xd2, 0x05, 0xd2, 0xa4,
+ 0xfe, 0x1d, 0x1c, 0x19, 0x7c, 0xf3, 0x24, 0x46, 0xa2, 0x1b,
+ 0xf0, 0x88, 0x09, 0x7c, 0x09, 0x54, 0x60, 0x5e, 0x29, 0x95,
+ 0x76, 0xa5, 0x7b, 0x03, 0xc6, 0xb2, 0x70, 0x48, 0x6e, 0x76,
+ 0x6e, 0xdf, 0x5f, 0x64, 0xd3, 0xe2, 0x37, 0xd7, 0xb6, 0x27,
+ 0x9a, 0x97, 0x79, 0xa4, 0xcc, 0x37, 0xcc, 0x7c, 0xe4, 0x1e,
+ 0x6f, 0x2e, 0x83, 0x52, 0xb1, 0x77, 0xdd, 0x04, 0x6d, 0xba,
+ 0xbd, 0x83, 0xbd, 0xce, 0xec, 0x4c, 0x47, 0x8a, 0xb1, 0xae,
+ 0xc9, 0x93, 0x75, 0x26, 0x54, 0x7e, 0xa3, 0xb1, 0xa3, 0x16,
+ 0xf6, 0x4f, 0x54, 0x4f, 0xb7, 0x9c, 0xfc, 0x11, 0xe8, 0x41,
+ 0x95, 0x3e, 0x3f, 0xb7, 0x3f, 0x6f, 0xe3, 0x59, 0x9f, 0x70,
+ 0x2f, 0x1f, 0x62, 0x6a, 0xab, 0xc8, 0xfb, 0x67, 0xf9, 0x2f,
+ 0xf9, 0x5b, 0xb0, 0x46, 0x17, 0x01, 0xd5, 0x95, 0x39, 0x98,
+ 0xe6, 0x62, 0x26, 0x35, 0x9f, 0xd5, 0x9f, 0x65, 0xc2, 0x49,
+ 0xe1, 0xf9, 0x22, 0xcd, 0xe0, 0x92, 0x37, 0x48, 0xc5, 0x46,
+ 0x38, 0x22, 0x38, 0xe2, 0xc3, 0xd2, 0x7c, 0xeb, 0x85, 0x60,
+ 0x84, 0xf5, 0x40, 0x63, 0xac, 0xfa, 0x21, 0x85, 0x21, 0xb7,
+ 0xf9, 0x5a, 0x46, 0xbb, 0xf5, 0xf7, 0xca, 0x74, 0x1b, 0xb6,
+ 0x1d, 0xf2, 0xd3, 0xf5, 0xd3, 0x11, 0xb3, 0x28, 0xbc, 0xcc,
+ 0xb4, 0x85, 0x07, 0x50, 0x47, 0x93, 0x14, 0x1e, 0x71, 0xb4,
+ 0x71, 0xb2, 0x08, 0x52, 0xc5, 0xd2, 0xa6, 0x1b, 0x8c, 0x58,
+ 0x12, 0x65, 0x16, 0x1d, 0x23, 0xa6, 0x23, 0x1e, 0x63, 0x30,
+ 0x22, 0x8d, 0xdf, 0xc3, 0x66, 0xdd, 0x82, 0xcb, 0xa6, 0xf5,
+ 0xf8, 0xdf, 0xf8, 0xee, 0xfd, 0x73, 0xbe, 0xae, 0x3c, 0x37,
+ 0x01, 0x5d, 0x9b, 0x70, 0x86, 0xc5, 0x91, 0x3c, 0x91, 0xbc,
+ 0x82, 0x9c, 0x96, 0x0a, 0x0e, 0xcb, 0x79, 0xb9, 0x33, 0x52,
+ 0xbf, 0x01, 0x8f, 0x0e, 0x8f, 0x64, 0x98, 0x9f, 0x7e, 0x89,
+ 0x0d, 0xd2, 0x82, 0xf8, 0x9c, 0x80, 0x3e, 0x21, 0xc1, 0x0d,
+ 0xc1, 0xb9, 0x73, 0x94, 0x1d, 0x28, 0x38, 0xaa, 0x27, 0xa1,
+ 0xcc, 0x8b, 0xb9, 0x04, 0x79, 0x38, 0x79, 0x53, 0x25, 0x39,
+ 0xb9, 0x39, 0x23, 0x7b, 0x08, 0xad, 0x52, 0x06, 0xba, 0xe7,
+ 0x02, 0x23, 0x02, 0xa9, 0x9a, 0x6a, 0x9d, 0x12, 0xa7, 0xad,
+ 0x64, 0x67, 0x77, 0x2b, 0x69, 0xbc, 0x19, 0xa7, 0x19, 0x55,
+ 0x3a, 0x88, 0xad, 0x6b, 0x3a, 0x05, 0x34, 0xdf, 0x06, 0x17,
+ 0x47, 0x85, 0x0d, 0x3a, 0x0d, 0xc5, 0x97, 0x8a, 0x6c, 0x7d,
+ 0x4f, 0xb9, 0xb4, 0x9d, 0x6f, 0x77, 0xb6, 0xed, 0x2d, 0x4f,
+ 0x2d, 0xc7, 0x23, 0xe5, 0x85, 0xcf, 0x08, 0xf9, 0x4c, 0x3b,
+ 0xae, 0x35, 0x7e, 0x41, 0x13, 0x08, 0x13, 0x1d, 0x8d, 0x89,
+ 0xd1, 0x80, 0xbf, 0x65, 0xb0, 0x2a, 0x46, 0x74, 0xeb, 0x7f,
+ 0x2c, 0xbf, 0x2c, 0x72, 0x6e, 0xd0, 0x1e, 0x7b, 0xf4, 0x41,
+ 0x22, 0x4b, 0x7e, 0xf8, 0x62, 0x53, 0xe9, 0xf4, 0xe9, 0x5a,
+ 0xea, 0x90, 0xa5, 0x20, 0x5f, 0x88, 0x2c, 0xeb, 0xf0, 0x1d,
+ 0x4a, 0x6f, 0x0b, 0x5f, 0x0b, 0xfd, 0xfa, 0x34, 0xe6, 0x6e,
+ 0x3d, 0x81, 0xe9, 0x62, 0xfe, 0x3e, 0xf9, 0x64, 0xab, 0x3d,
+ 0xab, 0xf7, 0xdb, 0x24, 0x2e, 0x02, 0x69, 0xe9, 0x72, 0xf3,
+ 0x0f, 0xc4, 0x4c, 0x6a, 0xfd, 0x69, 0xfd, 0xca, 0x47, 0x92,
+ 0x5f, 0x57, 0x1e, 0xfa, 0xe1, 0xcf, 0xac, 0x38, 0x43, 0x83,
+ 0xa9, 0x1e, 0xa9, 0x5e, 0x41, 0x4e, 0x61, 0xc3, 0xbd, 0xca,
+ 0xa3, 0x54, 0x8c, 0xe8, 0x15, 0xfe, 0x58, 0xbd, 0x58, 0xe4,
+ 0xdc, 0x63, 0x83, 0x69, 0x53, 0xec, 0x46, 0x2c, 0x09, 0xd3,
+ 0x0b, 0xef, 0xf0, 0x53, 0xf0, 0x0f, 0xd0, 0x18, 0x44, 0xd9,
+ 0x7d, 0x45, 0xcc, 0x79, 0xc7, 0x55, 0x8f, 0x29, 0x33, 0x7d,
+ 0x33, 0x1f, 0x39, 0xe6, 0xb1, 0x72, 0x46, 0xf6, 0x10, 0x99,
+ 0xa4, 0x0c, 0xb7, 0x0d, 0x04, 0x46, 0x04, 0x91, 0xf7, 0xd4,
+ 0xef, 0x14, 0x1c, 0x55, 0xf2, 0xb1, 0x66, 0xa4, 0xbd, 0x02,
+ 0xdd, 0x1c, 0xdd, 0xc8, 0xf3, 0xfd, 0x82, 0x58, 0x17, 0xb5,
+ 0x45, 0xcb, 0x67, 0x43, 0x42, 0x63, 0x80, 0x17, 0x80, 0x08,
+ 0x95, 0x7f, 0x36, 0xdf, 0xc6, 0xbd, 0x5a, 0xaf, 0xd6, 0xda,
+ 0x5b, 0x97, 0xf7, 0xc6, 0xf7, 0x82, 0xf0, 0x93, 0xa3, 0x86,
+ 0x04, 0x9d, 0x26, 0xfc, 0x57, 0xfb, 0x3f, 0xc1, 0xe8, 0x04,
+ 0xe8, 0xef, 0xa7, 0xa5, 0xaf, 0x09, 0xb2, 0xb7, 0x32, 0xd2,
+ 0xda, 0xf4, 0xd5, 0x5e, 0xed, 0xb2, 0xed, 0xcb, 0x1d, 0x44,
+ 0x88, 0x71, 0xfa, 0x8a, 0x5b, 0xf2, 0x4d, 0xaa, 0xdd, 0x52,
+ 0x66, 0xfa, 0x66, 0x3e, 0x72, 0x0f, 0x89, 0x40, 0xbe, 0xd3,
+ 0x58, 0x15, 0x23, 0x3a, 0x94, 0xde, 0x16, 0xbe, 0x16, 0x39,
+ 0x37, 0x68, 0x0f, 0xdc, 0x7a, 0xc1, 0x11, 0xc4, 0x3f, 0x7c,
+ 0x31, 0xc8, 0x95, 0x7a, 0x95, 0x2d, 0x75, 0x48, 0x1f, 0x4a,
+ 0xb0, 0x18, 0x21, 0xac, 0x10, 0x68, 0x2b, 0xdf, 0x99, 0xb0,
+ 0x99, 0x5d, 0xaf, 0xf7, 0x42, 0x7f, 0x26, 0x50, 0xc6, 0x6e,
+ 0x60, 0xb3, 0xfa, 0x87, 0xd0, 0x26, 0xd0, 0x0d, 0x64, 0x77,
+ 0xf6, 0xf8, 0xf7, 0x58, 0xd9, 0x0a, 0xd1, 0x2a, 0xe3, 0x73,
+ 0xa7, 0xf7, 0xa7, 0x87, 0x01, 0x9b, 0xdf, 0x6d, 0x81, 0xfd,
+ 0xa2, 0x09, 0x17, 0x98, 0x93, 0x3b, 0xc9, 0x81, 0xc9, 0x58,
+ 0x5e, 0xff, 0x3a, 0x50, 0x70, 0x97, 0x4e, 0x81, 0x5b, 0xd5,
+ 0xb1, 0x08, 0xf2, 0x70, 0xf2, 0xa6, 0x4a, 0x72, 0xc1, 0x16,
+ 0x75, 0xbc, 0x80, 0x42, 0x69, 0x60, 0xf1, 0x68, 0x20, 0x75,
+ 0x20, 0x02, 0xb4, 0x6f, 0x28, 0xa4, 0x32, 0xfc, 0x78, 0xe4,
+ 0xa8, 0x22, 0x39, 0xc4, 0x1e, 0x32, 0x1e, 0xd8, 0x1a, 0x03,
+ 0xf1, 0x6f, 0xe8, 0x14, 0xd0, 0xfa, 0x18, 0x5c, 0xdf, 0x51,
+ 0x34, 0xe8, 0x34, 0x92, 0x19, 0x6d, 0xcb, 0x3f, 0x98, 0x83,
+ 0x9e, 0x7b, 0x43, 0x89, 0x6e, 0x59, 0xc6, 0x98, 0xc6, 0x34,
+ 0x53, 0x1f, 0x92, 0xce, 0xdd, 0x6c, 0x75, 0xa3, 0x48, 0x57,
+ 0x58, 0x74, 0x8c, 0xdd, 0x8c, 0x78, 0x4f, 0xc0, 0x87, 0xad,
+ 0x80, 0x4b, 0x4a, 0x36, 0x72, 0xd6, 0xec, 0x9a, 0xf3, 0x80,
+ 0xf3, 0x13, 0x07, 0x47, 0xe7, 0x5f, 0x79, 0xd8, 0xea, 0x85,
+ 0x90, 0xae, 0xb0, 0xe8, 0xdb, 0x79, 0xdb, 0xf0, 0x9e, 0x43,
+ 0x3e, 0x94, 0xa3, 0x30, 0x42, 0x9b, 0x20, 0xd0, 0x56, 0x7d,
+ 0xf1, 0xa3, 0xf1, 0xba, 0x9d, 0x2d, 0xfa, 0x77, 0x41, 0x72,
+ 0xcd, 0x24, 0x5c, 0x25, 0x09, 0xec, 0xa2, 0x41, 0xa2, 0xa3,
+ 0xbb, 0x7a, 0x0d, 0xbe, 0xf2, 0x73, 0x17, 0xc9, 0xe3, 0x9f,
+ 0xa3, 0x13, 0x75, 0xf2, 0x75, 0x23, 0xff, 0x86, 0x51, 0xba,
+ 0x20, 0x62, 0xf3, 0xec, 0xfd, 0xd4, 0x3b, 0xc7, 0x4c, 0x20,
+ 0x4c, 0x74, 0x71, 0x61, 0xb6, 0xe5, 0x59, 0xba, 0x19, 0x69,
+ 0x6d, 0x7a, 0x8b, 0x2f, 0x97, 0x59, 0x97, 0x84, 0xef, 0x22,
+ 0x7b, 0x7c, 0x9a, 0x2c, 0x8d, 0x05, 0x89, 0x15, 0x90, 0xd8,
+ 0xb2, 0x9a, 0xb2, 0xa2, 0xe1, 0xac, 0x74, 0xa0, 0xe0, 0xed,
+ 0x9c, 0xc1, 0xb6, 0x69, 0xa1, 0x10, 0x27, 0xe0, 0x27, 0x8f,
+ 0x94, 0xe4, 0x3f, 0xa5, 0xe7, 0x69, 0x41, 0x7c, 0x4e, 0x40,
+ 0x1f, 0xf1, 0x81, 0xe7, 0x81, 0xbd, 0xd8, 0x4a, 0x2f, 0x33,
+ 0x2d, 0xb0, 0x71, 0x14, 0x61, 0x54, 0x05, 0xe6, 0x8d, 0x2d,
+ 0x8d, 0xcd, 0x02, 0xf5, 0x7d, 0xda, 0xc1, 0x39, 0x87, 0x12,
+ 0x2e, 0xf3, 0xe5, 0x76, 0x51, 0xc1, 0x51, 0xb0, 0xbc, 0x3d,
+ 0xbb, 0x5b, 0xab, 0xc9, 0x0e, 0xa0, 0x8e, 0xe5, 0x28, 0x3c,
+ 0xe2, 0xab, 0xe2, 0xa7, 0x10, 0xa4, 0x49, 0x67, 0x8f, 0x36,
+ 0xdb, 0xb0, 0x24, 0xca, 0x2c, 0x3a, 0x46, 0x8f, 0x46, 0x3c,
+ 0xc6, 0x60, 0x2b, 0xf7, 0xfe, 0x17, 0x7d, 0x0e, 0x1a, 0x51,
+ 0xe2, 0x93, 0x8e, 0xfe, 0x8e, 0xd1, 0xd5, 0xaa, 0x99, 0xd6,
+ 0x74, 0x0a, 0x68, 0x7d, 0x0c, 0x2e, 0x8e, 0xc9, 0x1a, 0x74,
+ 0x1a, 0x49, 0xed, 0xd7, 0x02, 0x62, 0x88, 0xb2, 0x06, 0x0d,
+ 0xdc, 0xe3, 0x92, 0xdb, 0xe0, 0x88, 0xe0, 0x0e, 0x8a, 0xce,
+ 0x37, 0xee, 0x82, 0xe4, 0x59, 0x48, 0xb8, 0x4a, 0x12, 0x1b,
+ 0x87, 0x82, 0x87, 0x85, 0xb5, 0xf4, 0xb3, 0x10, 0xce, 0x44,
+ 0x16, 0x94, 0x78, 0xef, 0x25, 0xd6, 0xe4, 0xce, 0xe4, 0x9f,
+ 0x7d, 0x1a, 0x73, 0x37, 0xff, 0xa1, 0x95, 0x31, 0x7f, 0x1f,
+ 0x9d, 0x32, 0xb4, 0xff, 0xb4, 0x9a, 0x8c, 0x12, 0x64, 0x36,
+ 0x2a, 0x34, 0xac, 0xa9, 0x99, 0x7d, 0xbb, 0x07, 0x2b, 0x2a,
+ 0x2b, 0xff, 0x4e, 0x5b, 0xdc, 0x3e, 0x4d, 0x16, 0xa7, 0xe3,
+ 0xa5, 0xeb, 0x48, 0x6c, 0x59, 0x4d, 0x59, 0x51, 0x91, 0x56,
+ 0xd8, 0xfa, 0x9e, 0xb1, 0xab, 0xf9, 0xde, 0xee, 0xaf, 0x19,
+ 0x5a, 0x9e, 0x5a, 0x4d, 0x46, 0x09, 0xc9, 0x5d, 0x10, 0x31,
+ 0x98, 0x76, 0x9f, 0x6a, 0xfc, 0x82, 0x26, 0x10, 0x26, 0x3a,
+ 0xd9, 0xd1, 0xab, 0xcd, 0x61, 0x10, 0x3e, 0xc8, 0xa1, 0xf1,
+ 0x32, 0x2b, 0xee, 0x61, 0xee, 0xd7, 0xca, 0x1b, 0x33, 0x2a,
+ 0x51, 0x43, 0x55, 0x52, 0xc3, 0x4f, 0xf5, 0x6e, 0x84, 0x51,
+ 0x84, 0x99, 0x62, 0xab, 0x6b, 0xea, 0x50, 0xf5, 0xbd, 0x6d,
+ 0xa6, 0x01, 0x8a, 0xcf, 0xbe, 0x50, 0xbe, 0xd2, 0x3b, 0x13,
+ 0xcc, 0xa8, 0x87, 0xcf, 0x97, 0x8b, 0x8a, 0xff, 0x52, 0x7b,
+ 0x55, 0x87, 0x55, 0x21, 0x4b, 0xe9, 0x90, 0xac, 0x55, 0xde,
+ 0x73, 0xae, 0x94, 0xb4, 0xca, 0xaf, 0x6c, 0x55, 0x6c, 0x76,
+ 0xc5, 0x0e, 0xd0, 0xb1, 0xfb, 0x3c, 0xb3, 0xcd, 0x28, 0xe4,
+ 0xa2, 0xf3, 0x5c, 0xfb, 0x5c, 0x75, 0x2b, 0xb7, 0xac, 0x5a,
+ 0x7e, 0x5c, 0x37, 0x38, 0x68, 0x87, 0x0e, 0x09, 0x7d, 0x7e,
+ 0x7d, 0xc2, 0xd2, 0xed, 0xbf, 0x9f, 0x78, 0x6e, 0x02, 0xba,
+ 0xf5, 0xe0, 0xcf, 0x49, 0xe1, 0x78, 0xe1, 0xbb, 0xc7, 0xfb,
+ 0xda, 0x98, 0x16, 0x03, 0xad, 0xf4, 0x02, 0x0d, 0x3d, 0xc2,
+ 0xba, 0x16, 0xba, 0x43, 0xcc, 0xc7, 0xa7, 0x42, 0xd7, 0x3a,
+ 0x2a, 0xe6, 0x2c, 0xfe, 0xd8, 0xb4, 0xeb, 0xd7, 0xeb, 0xf3,
+ 0x70, 0xfa, 0x5e, 0x66, 0x5a, 0xa3, 0xe2, 0x28, 0xc2, 0xa8,
+ 0x0a, 0x0f, 0xd9, 0x5a, 0xd9, 0x59, 0x04, 0x29, 0x98, 0xe7,
+ 0x30, 0x53, 0x6b, 0x9a, 0x62, 0xbe, 0xc7, 0x45, 0x6a, 0x30,
+ 0x6a, 0x4e, 0xa8, 0xb0, 0x7a, 0x4d, 0xde, 0x75, 0x8e, 0xe2,
+ 0xe7, 0x85, 0xd9, 0x54, 0xc2, 0xde, 0xc2, 0xa5, 0xa4, 0xcb,
+ 0x13, 0xc5, 0x06, 0x32, 0x35, 0x82, 0x9d, 0x67, 0xc1, 0x40,
+ 0x9c, 0x06, 0x9c, 0x79, 0x15, 0x16, 0x6a, 0xdb, 0x14, 0xac,
+ 0xbe, 0x8a, 0xc8, 0x91, 0xc3, 0x43, 0xce, 0x14, 0xce, 0xd5,
+ 0x7e, 0x74, 0x40, 0x1d, 0xae, 0xe2, 0xc0, 0x63, 0xbc, 0x50,
+ 0x68, 0x5c, 0x30, 0xae, 0x30, 0x03, 0xee, 0xb9, 0xa8, 0x9e,
+ 0xad, 0xfb, 0x3b, 0x22, 0x13, 0x82, 0xe9, 0x7c, 0x7e, 0xad,
+ 0x7e, 0xde, 0x05, 0xb2, 0x5b, 0x93, 0xcd, 0x5d, 0xed, 0xd5,
+ 0xd7, 0x3d, 0xa4, 0xf6, 0xaa, 0xcd, 0xaa, 0x42, 0x96, 0x11,
+ 0xeb, 0xd0, 0xcf, 0xf2, 0xfe, 0xab, 0x1d, 0xa1, 0x5a, 0x77,
+ 0xde, 0xcf, 0xde, 0xd4, 0x24, 0xa2, 0x66, 0x54, 0xa2, 0x86,
+ 0xaa, 0xa4, 0x45, 0x9e, 0x29, 0xdc, 0xcb, 0xa2, 0xcb, 0xf1,
+ 0xc4, 0x95, 0x56, 0x2d, 0x3f, 0x2e, 0xfa, 0x1c, 0x34, 0xa2,
+ 0x07, 0xe5, 0xdf, 0x3f, 0xdf, 0x61, 0x69, 0x97, 0x81, 0x0b,
+ 0xdb, 0x5e, 0x40, 0x21, 0xd5, 0x30, 0x99, 0x34, 0x10, 0xdb,
+ 0x10, 0x01, 0x5a, 0xd6, 0x77, 0xf3, 0x2c, 0x06, 0x99, 0x2b,
+ 0x04, 0x1a, 0x7a, 0x47, 0xb7, 0x2c, 0xb7, 0x86, 0x5b, 0x4d,
+ 0x57, 0x1c, 0x7b, 0x77, 0xf9, 0xfb, 0x5a, 0x32, 0x4e, 0x69,
+ 0xaf, 0x7b, 0xaf, 0x66, 0x2c, 0xf0, 0x4e, 0xf0, 0x90, 0x7a,
+ 0xd2, 0x40, 0xed, 0xbc, 0x10, 0x18, 0xd5, 0x90, 0xd5, 0x29,
+ 0xde, 0x96, 0x8d, 0x84, 0x6d, 0x74, 0x54, 0x0f, 0x58, 0x3f,
+ 0x73, 0xab, 0x15, 0x6d, 0x15, 0x25, 0xe0, 0x37, 0xb0, 0x43,
+ 0x02, 0xaf, 0x13, 0x7e, 0xca, 0x9c, 0xfe, 0x81, 0x74, 0x02,
+ 0x74, 0x96, 0xb2, 0xb3, 0xf3, 0x0d, 0x60, 0xa6, 0xd6, 0xf7,
+ 0xc4, 0xbf, 0x4d, 0x8a, 0xd4, 0x60, 0xd4, 0x9c, 0x93, 0xa3,
+ 0x94, 0x68, 0x86, 0x79, 0x7f, 0xb4, 0xef, 0xb1, 0x2d, 0xda,
+ 0x6f, 0x86, 0x6f, 0x6a, 0x12, 0x51, 0x20, 0xef, 0x57, 0x71,
+ 0x60, 0xd0, 0x5e, 0x28, 0x34, 0x2e, 0x18, 0x57, 0x18, 0xe0,
+ 0x77, 0xbd, 0x24, 0x2b, 0x84, 0xd6, 0x6c, 0xca, 0x25, 0x2d,
+ 0xd3, 0x5b, 0x1b, 0x84, 0x1b, 0xfc, 0xa0, 0xe2, 0xd7, 0x26,
+ 0xe4, 0x70, 0xba, 0x3d, 0xe1, 0x92, 0x9e, 0xd1, 0xcf, 0xe4,
+ 0xcf, 0x60, 0x33, 0x41, 0x14, 0x52, 0x19, 0x7e, 0x3c, 0x72,
+ 0x54, 0x11, 0xfd, 0x62, 0x0f, 0x19, 0x0f, 0x6c, 0x0d, 0xe0,
+ 0x9e, 0x41, 0x6b, 0x46, 0x61, 0x8d, 0xc5, 0x58, 0xb2, 0xeb,
+ 0x89, 0x6b, 0x89, 0x5c, 0xf5, 0x21, 0x05, 0xf5, 0x97, 0xfe,
+ 0x0f, 0xfd, 0x15, 0x95, 0xae, 0xf9, 0x73, 0x97, 0x73, 0x1b,
+ 0x92, 0x38, 0xc6, 0x81, 0x6a, 0xf0, 0x89, 0xb2, 0xa0, 0x16,
+ 0xcd, 0x4a, 0xb3, 0x6a, 0xb3, 0x17, 0xac, 0x99, 0xed, 0x76,
+ 0x94, 0xe7, 0xf4, 0xbc, 0xba, 0x47, 0x2f, 0xd9, 0x3d, 0x94,
+ 0x3d, 0xc6, 0x79, 0x33, 0xc8, 0x6c, 0x54, 0x68, 0x9b, 0x91,
+ 0xf1, 0xfa, 0xb5, 0x0e, 0x56, 0x54, 0x56, 0x3d, 0x9c, 0xb6,
+ 0x9b, 0xb4, 0xfc, 0xb8, 0x6e, 0x70, 0xd0, 0xcd, 0x1c, 0x12,
+ 0xfa, 0xfc, 0xfa, 0x47, 0x67, 0x19, 0xbd, 0xfd, 0xf0, 0xdc,
+ 0x04, 0xb7, 0x29, 0x03, 0x5d, 0x92, 0x01, 0xf0, 0x01, 0xb5,
+ 0x4d, 0x35, 0x84, 0xfe, 0x4c, 0xa0, 0x4f, 0xdc, 0xc0, 0xa5,
+ 0x37, 0xcd, 0x63, 0x4c, 0x63, 0x1a, 0xc8, 0xee, 0xc3, 0x74,
+ 0xfd, 0x0e, 0x86, 0x4f, 0xb5, 0x83, 0x63, 0xb3, 0xc0, 0xfd,
+ 0xc0, 0x0c, 0x3e, 0xa1, 0xca, 0x0e, 0xdc, 0xda, 0x9d, 0x9c,
+ 0x2d, 0x19, 0x27, 0xd5, 0xb6, 0xdc, 0xb6, 0x33, 0x16, 0x78,
+ 0x8a, 0x13, 0x72, 0x38, 0x5d, 0xff, 0x91, 0x49, 0x4f, 0x89,
+ 0x86, 0x72, 0x86, 0x30, 0xf8, 0xc1, 0x34, 0xbd, 0x4e, 0x0f,
+ 0x5c, 0xa2, 0x0a, 0x39, 0xc9, 0x4c, 0x17, 0x4e, 0x17, 0x8c,
+ 0x7a, 0x5d, 0x26, 0x49, 0x0c, 0x64, 0x6a, 0xc7, 0xf9, 0xce,
+ 0x41, 0x80, 0xfb, 0x0c, 0xfb, 0xf2, 0x2a, 0x2c, 0x10, 0x96,
+ 0xca, 0xd9, 0x30, 0x68, 0x2f, 0x14, 0x1a, 0x17, 0x0c, 0xca,
+ 0x0c, 0x70, 0xda, 0xbf, 0x25, 0x1a, 0xc0, 0x8f, 0x6f, 0x2d,
+ 0x4b, 0xbd, 0x9a, 0xd7, 0x6b, 0xc0, 0x6b, 0xfb, 0xe5, 0x85,
+ 0xe3, 0x9b, 0xaa, 0x7f, 0xe6, 0x9f, 0xeb, 0xab, 0x57, 0x9d,
+ 0xd8, 0xaa, 0xd8, 0xec, 0x49, 0x1c, 0x63, 0xa1, 0x35, 0x78,
+ 0xa5, 0x59, 0x50, 0x0b, 0x87, 0x25, 0xb8, 0x35, 0xb8, 0xea,
+ 0x56, 0xad, 0x0a, 0x29, 0xed, 0x3f, 0x1e, 0x39, 0x2a, 0xe9,
+ 0x9f, 0x31, 0xe6, 0xed, 0xe6, 0x36, 0xe7, 0x70, 0x4f, 0xc1,
+ 0xd4, 0x23, 0xd1, 0xa7, 0x83, 0x2c, 0x59, 0x94, 0xa5, 0xd4,
+ 0xa5, 0x2e, 0x9b, 0xf1, 0x8b, 0x22, 0x36, 0x61, 0x5e, 0x18,
+ 0xff, 0xd9, 0x06, 0x05, 0xf6, 0x36, 0xf6, 0x37, 0xbd, 0xa6,
+ 0xc7, 0xb0, 0x2e, 0xa9, 0x8a, 0x55, 0xce, 0x86, 0x84, 0xc6,
+ 0xc3, 0x2e, 0xc3, 0x10, 0xe9, 0xfe, 0x67, 0x65, 0xe6, 0xdf,
+ 0xa9, 0x43, 0x2b, 0x0e, 0x60, 0x50, 0xbb, 0xe6, 0xbb, 0xf6,
+ 0x81, 0xf2, 0x2d, 0x51, 0xa5, 0x02, 0x77, 0x19, 0xbd, 0xb7,
+ 0x97, 0x3d, 0x6d, 0xa5, 0x6d, 0xc3, 0x88, 0x3b, 0xfe, 0xb3,
+ 0x92, 0xd5, 0xc1, 0x3e, 0x27, 0x20, 0xee, 0x99, 0xa1, 0x92,
+ 0xa1, 0xbf, 0x6c, 0x25, 0x45, 0xe8, 0x39, 0x1c, 0xcf, 0x9e,
+ 0xa9, 0xc5, 0xc6, 0xa5, 0x43, 0x39, 0x43, 0x18, 0x7c, 0x81,
+ 0xa0, 0xd5, 0xc8, 0x76, 0x23, 0x16, 0xe5, 0x88, 0xe4, 0x96,
+ 0x78, 0xc8, 0x78, 0xe6, 0x68, 0x0c, 0x80, 0x3a, 0x9f, 0x07,
+ 0x43, 0xc6, 0xbb, 0xa0, 0xd0, 0xb8, 0x60, 0x9f, 0x60, 0x06,
+ 0x1f, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x34,
+ 0x43, 0xdd, 0xde, 0x5a, 0x96, 0xb9, 0xf7, 0x6d, 0xd6, 0x43,
+ 0xd6, 0x35, 0x09, 0xc9, 0xee, 0x25, 0x58, 0x0c, 0xf1, 0x56,
+ 0x08, 0x34, 0xf4, 0x8e, 0xad, 0x58, 0xad, 0xcf, 0xb6, 0x9a,
+ 0x4c, 0x92, 0x18, 0xc8, 0xd4, 0x4d, 0x31, 0x5f, 0x82, 0xc3,
+ 0x35, 0x18, 0x35, 0x27, 0x54, 0x58,
+ },
+ {
+ /* 13 */
+ 0xab, 0xda, 0x7f, 0x93, 0x75, 0x63, 0x3b, 0x22, 0xb7, 0x40,
+ 0xa6, 0x84, 0xc2, 0x22, 0x09, 0xda, 0xbb, 0xd9, 0xf4, 0xa6,
+ 0xc1, 0x1b, 0xf5, 0xe1, 0x54, 0xa2, 0xc5, 0x24, 0x95, 0xe1,
+ 0xdd, 0xd9, 0x83, 0x3c, 0x0e, 0x02, 0x84, 0xaf, 0x03, 0xe7,
+ 0x22, 0x36, 0xb0, 0x57, 0xa6, 0xe7, 0x08, 0x3c, 0x0d, 0x8c,
+ 0x03, 0x40, 0xed, 0xc4, 0x60, 0xd0, 0xca, 0x0f, 0xa2, 0x72,
+ 0x27, 0xd0, 0xc3, 0x8c, 0x3a, 0xdd, 0xd3, 0xea, 0xb2, 0xbb,
+ 0x9f, 0x26, 0x52, 0x19, 0x41, 0x67, 0xe0, 0x26, 0x2e, 0xdd,
+ 0x4a, 0xd4, 0xe4, 0x61, 0x38, 0x10, 0xb0, 0x2a, 0xbe, 0xf2,
+ 0xab, 0x81, 0x86, 0x2a, 0x47, 0xd4, 0xe8, 0xf2, 0xca, 0x2e,
+ 0x8d, 0xa9, 0x39, 0x98, 0x8b, 0x64, 0xc7, 0x5f, 0x06, 0x98,
+ 0xb8, 0xf2, 0xeb, 0xd6, 0x16, 0x47, 0xe0, 0x40, 0x85, 0xa8,
+ 0xbd, 0x4e, 0xe9, 0x41, 0x5d, 0xa8, 0xdf, 0xd6, 0x8f, 0xac,
+ 0xf8, 0x65, 0xf3, 0x8d, 0xb6, 0x27, 0xfa, 0x9e, 0x08, 0x2f,
+ 0x09, 0x27, 0x57, 0xac, 0xbe, 0xb5, 0x53, 0x1d, 0x76, 0xe3,
+ 0xf2, 0xb1, 0x0e, 0xdc, 0xb7, 0x06, 0x78, 0xb1, 0x74, 0xb5,
+ 0x0f, 0xb4, 0x2a, 0x0e, 0x1a, 0xcb, 0x09, 0xf0, 0xee, 0x82,
+ 0x96, 0x66, 0xf4, 0xf0, 0x38, 0xb4, 0x6d, 0x86, 0xbf, 0xfe,
+ 0xd3, 0x17, 0x81, 0x1f, 0xc5, 0x06, 0x2b, 0x34, 0x16, 0x1f,
+ 0x7e, 0x86, 0x0a, 0xd8, 0x8d, 0xb5, 0xad, 0x33, 0x0e, 0xa0,
+ 0xb4, 0xfc, 0xe4, 0x44, 0x19, 0xa0, 0x91, 0xd8, 0x29, 0xfa,
+ 0x84, 0xb6, 0x6b, 0x2a, 0xed, 0xd5, 0x87, 0xd1, 0x0c, 0xd9,
+ 0xec, 0xd5, 0x9d, 0xfa, 0x17, 0x57, 0x05, 0xc0, 0xf4, 0x8f,
+ 0xa0, 0xb3, 0x9d, 0x11, 0x25, 0x96, 0x69, 0xb3, 0x86, 0x57,
+ 0xb0, 0x1d, 0x8c, 0x34, 0xf6, 0xce, 0x2e, 0x51, 0xf2, 0xf9,
+ 0x3b, 0x6a, 0x04, 0x51, 0xd0, 0x1d, 0xc5, 0x78, 0x1c, 0x04,
+ 0xcb, 0x9d, 0x06, 0x0d, 0x44, 0x6c, 0xa3, 0xae, 0x8f, 0x0d,
+ 0x10, 0x78, 0x4c, 0x9c, 0x9f, 0xb3, 0xe2, 0x01, 0x0b, 0x4a,
+ 0xd2, 0xa6, 0xf7, 0xbd, 0x30, 0x4a, 0x89, 0x9c, 0xc3, 0x30,
+ 0x67, 0xd6, 0x11, 0x8c, 0xbd, 0x6d, 0x28, 0x38, 0xff, 0x92,
+ 0x39, 0x6d, 0xde, 0x30, 0xb5, 0x71, 0x2b, 0x8f, 0x41, 0x36,
+ 0x29, 0x01, 0xa8, 0x87, 0x49, 0x48, 0xe9, 0x01, 0x79, 0x71,
+ 0x74, 0x79, 0x65, 0x17, 0xa7, 0xb5, 0xfd, 0x4c, 0xa4, 0x32,
+ 0x82, 0xce, 0x03, 0x4c, 0x5c, 0x79, 0x94, 0x6b, 0x0b, 0xc2,
+ 0x70, 0x20, 0xa3, 0x54, 0xbf, 0x27, 0x95, 0xc1, 0xcf, 0x54,
+ 0x8e, 0x6b, 0x1d, 0x8f, 0x88, 0x75, 0x59, 0xbc, 0xae, 0x13,
+ 0x29, 0xed, 0xc1, 0xd2, 0x70, 0x13, 0x17, 0x8f, 0x25, 0x6a,
+ 0x72, 0xd1, 0x1c, 0x08, 0x58, 0x15, 0x5f, 0x79, 0xb4, 0xa1,
+ 0x43, 0x15, 0xc2, 0x6a, 0x48, 0xec, 0xcd, 0x2f, 0xcf, 0x1f,
+ 0xd9, 0x0a, 0x9a, 0x7f, 0x9f, 0x95, 0x55, 0x0a, 0xbc, 0xec,
+ 0xda, 0xcf, 0xbd, 0x3f, 0x65, 0x2e, 0xc1, 0x3e, 0x49, 0x0c,
+ 0x56, 0x68, 0x2c, 0x3e, 0xfc, 0xcf, 0xdd, 0x9b, 0x33, 0xca,
+ 0x25, 0xd9, 0xaf, 0x4e, 0x37, 0xff, 0x10, 0x5e, 0x12, 0x4e,
+ 0xae, 0x9b, 0xe9, 0xee, 0x3f, 0x09, 0x17, 0x4f, 0xec, 0x88,
+ 0x99, 0xc3, 0xdd, 0x55, 0x8e, 0x88, 0x24, 0xee, 0xea, 0xca,
+ 0xe3, 0x60, 0x7a, 0xa6, 0x50, 0xb8, 0xaf, 0xe9, 0xf3, 0x4b,
+ 0xd5, 0xb8, 0x43, 0xca, 0x73, 0x2d, 0xeb, 0xe2, 0xe7, 0x42,
+ 0x93, 0x3c, 0xda, 0xc1, 0xc4, 0xf8, 0x3d, 0x3c, 0x0e, 0x2d,
+ 0x2e, 0xae, 0x0a, 0x43, 0x2b, 0xdd, 0x83, 0xa5, 0xf9, 0x22,
+ 0x4a, 0xef, 0xd2, 0xa5, 0xcf, 0xae, 0xf5, 0x7d, 0x42, 0x5b,
+ 0xd4, 0x15, 0x97, 0x8b, 0xa2, 0x89, 0x06, 0x8d, 0x76, 0x8b,
+ 0xaf, 0x7d, 0x26, 0x4e, 0xae, 0xb8, 0x71, 0xe1, 0xe4, 0x25,
+ 0x69, 0x53, 0x9a, 0xbf, 0x18, 0x25, 0xa5, 0x4e, 0xd0, 0x17,
+ 0x30, 0x8a, 0xc8, 0x1d, 0xcf, 0x9e, 0xfd, 0xf0, 0xb2, 0x2c,
+ 0x35, 0x9e, 0x6d, 0x17, 0xc4, 0x64, 0xe9, 0x23, 0x51, 0x7b,
+ 0xd3, 0x1d, 0x56, 0xcb, 0xb9, 0xa4, 0x07, 0x1d, 0x8c, 0x64,
+ 0xf3, 0x35, 0x39, 0x89, 0x0e, 0x04, 0x2c, 0xeb, 0xce, 0xdd,
+ 0x5a, 0xb1, 0xc0, 0xeb, 0x61, 0x35, 0x7b, 0xcd, 0x4f, 0x19,
+ 0xbd, 0x7e, 0xf4, 0xbc, 0x4a, 0xb0, 0x14, 0xa8, 0xf7, 0xbc,
+ 0x64, 0xcd, 0x4d, 0x80, 0x6a, 0x94, 0x78, 0xe7, 0xde, 0x5a,
+ 0xc0, 0x01, 0xed, 0xb7, 0xb8, 0x5a, 0x15, 0x80, 0x45, 0x60,
+ 0xce, 0x6f, 0x22, 0xdb, 0xb9, 0xda, 0x50, 0x70, 0x3d, 0xe7,
+ 0x72, 0xda, 0x7f, 0x60, 0xa9, 0xe2, 0x56, 0xdd, 0x82, 0x6c,
+ 0x52, 0x02, 0x93, 0xcd, 0x92, 0x90, 0x11, 0x02, 0xf2, 0xe2,
+ 0x5e, 0xa7, 0x3d, 0xc8, 0xa1, 0x76, 0xac, 0xa9, 0x15, 0xc9,
+ 0xa0, 0x09, 0xb4, 0xa9, 0xa6, 0xa7, 0xd8, 0xf7, 0x94, 0x71,
+ 0x92, 0x21, 0xa8, 0x1e, 0x6d, 0x81, 0x62, 0x7c, 0xff, 0x1e,
+ 0x07, 0xf7, 0x7e, 0xa1, 0xe8, 0xa2, 0x0a, 0x86, 0xf3, 0xec,
+ 0x10, 0xce, 0x66, 0x8a, 0x1a, 0xec, 0xcd, 0xa1, 0xf2, 0x29,
+ 0xcc, 0xae, 0x94, 0xe2, 0xf9, 0xfb, 0xdc, 0x7a, 0x40, 0xbb,
+ 0x48, 0xfb, 0xfd, 0x29, 0x90, 0x1b, 0x59, 0x5e, 0x5d, 0x3e,
+ 0x71, 0x14, 0xf7, 0xfe, 0xfd, 0xe9, 0xaa, 0x14, 0xbb, 0x1b,
+ 0x77, 0x5d, 0xb9, 0x7e, 0xca, 0x5c, 0x41, 0x7c, 0x92, 0x18,
+ 0xac, 0xd0, 0x58, 0x7c, 0x3b, 0x5d, 0x53, 0x2b, 0x3e, 0x88,
+ 0x4c, 0xb2, 0xcc, 0x79, 0xdf, 0xc6, 0x02, 0x7b, 0x93, 0x79,
+ 0x65, 0x2b, 0xe5, 0x7e, 0xc9, 0x6e, 0x60, 0x6d, 0x59, 0x48,
+ 0x41, 0x6b, 0x65, 0x2d, 0x21, 0x48, 0x7b, 0x7e, 0x49, 0xf0,
+ 0x38, 0x08, 0x55, 0xf9, 0x0c, 0x1a, 0x88, 0xd8, 0x85, 0x9f,
+ 0xdd, 0x1a, 0x20, 0xf0, 0x98, 0xfb, 0xfd, 0xa5, 0x07, 0x02,
+ 0x16, 0x94, 0x67, 0x8f, 0x2d, 0xb9, 0x60, 0x94, 0xd1, 0xfb,
+ 0x13, 0x27, 0x57, 0x5c, 0xd9, 0x91, 0x72, 0xf3, 0xd5, 0xc8,
+ 0x4d, 0xbe, 0x0c, 0xf3, 0xb3, 0x27, 0x43, 0x28, 0xb5, 0xbd,
+ 0xf8, 0xca, 0x02, 0xba, 0x3c, 0x24, 0x61, 0xdb, 0xc4, 0xba,
+ 0xb1, 0x28, 0xdc, 0x87, 0xc6, 0xed, 0xbf, 0x3f, 0x7a, 0x5e,
+ 0x25, 0x58, 0x0a, 0x54, 0x9a, 0x5e, 0x32, 0x87, 0xc7, 0x40,
+ 0x35, 0x4a, 0x3c, 0x92, 0x6f, 0x2d, 0x60, 0xe1, 0x97, 0xba,
+ 0x5c, 0x2d, 0xeb, 0x40, 0xa0, 0x1e, 0x07, 0x01, 0x42, 0xb6,
+ 0xe0, 0x92, 0x11, 0x1b, 0x58, 0xca, 0x53, 0x92, 0x04, 0x1e,
+ 0xcc, 0x84, 0x4d, 0xd8, 0x0b, 0x47, 0xb4, 0x9d, 0xc6, 0xba,
+ 0x69, 0xf4, 0xcd, 0x9d, 0xe6, 0x84, 0x14, 0x73, 0xd9, 0xa9,
+ 0x99, 0x66, 0x1c, 0x83, 0xab, 0x3b, 0x0b, 0x88, 0x32, 0x83,
+ 0xe1, 0x73, 0x52, 0x37, 0xcb, 0xaf, 0xd6, 0x54, 0x19, 0x69,
+ 0xcd, 0x61, 0x18, 0x71, 0x1b, 0x69, 0xf9, 0x37, 0x2f, 0xb2,
+ 0xff, 0x64, 0xb1, 0x3b, 0x56, 0xb5, 0xeb, 0x85, 0x50, 0xe5,
+ 0x5a, 0xb5, 0x53, 0xb2, 0x47, 0x58, 0xe7, 0x21, 0xd5, 0xd4,
+ 0xd0, 0xfa, 0x74, 0xfd, 0x09, 0xf3, 0xa1, 0xfa, 0x84, 0x58,
+ 0xa6, 0x56, 0x7c, 0xd3, 0x98, 0xa7, 0x5b, 0xf2, 0x7d, 0x4f,
+ 0x04, 0xf6, 0xe5, 0xf2, 0xca, 0x56, 0x5f, 0xbb, 0xc8, 0xef,
+ 0x3b, 0x90, 0x79, 0xb9, 0x07, 0x6e, 0xba, 0x03, 0x3c, 0xb9,
+ 0x3a, 0xbb, 0xe3, 0x36, 0xb2, 0xbc, 0xba, 0x7c, 0xe2, 0x28,
+ 0x2d, 0x3f, 0x39, 0x11, 0x97, 0x28, 0xb5, 0x36, 0xb8, 0xfd,
+ 0x28, 0xcf, 0xac, 0xf2, 0x49, 0xd1, 0x62, 0x88, 0xeb, 0x3a,
+ 0xce, 0xd1, 0xba, 0xfd, 0xa7, 0x4a, 0x89, 0xf4, 0x02, 0x41,
+ 0x8e, 0xe2, 0x6f, 0xe8, 0x1e, 0xfc, 0x6d, 0xe2, 0x56, 0x4a,
+ 0xc0, 0x14, 0xbb, 0xbf, 0x7c, 0x65, 0x01, 0x5d, 0x1e, 0x12,
+ 0xd1, 0x8c, 0x62, 0x5d, 0xb9, 0x14, 0x23, 0x22, 0x09, 0x03,
+ 0xc6, 0x19, 0xe3, 0x75, 0x33, 0x2d, 0xe8, 0x9d, 0xf5, 0x75,
+ 0x0c, 0x22, 0x2a, 0xde, 0x58, 0xdf, 0x06, 0xc3, 0x51, 0xe5,
+ 0xb1, 0xfb, 0x22, 0xc7, 0xb7, 0xe5, 0xfa, 0xde, 0x62, 0x32,
+ 0x95, 0xf0, 0xc9, 0xdc, 0x88, 0xef, 0x2b, 0x84, 0xbd, 0x52,
+ 0xe2, 0xef, 0x46, 0x32, 0x7d, 0x85, 0x34, 0xcb, 0x67, 0x6f,
+ 0x4f, 0xdc, 0x26, 0xe4, 0x48, 0x94, 0x41, 0xdc, 0xaa, 0x85,
+ 0x31, 0x19, 0xab, 0x78, 0x85, 0x6e, 0x44, 0x96, 0xf4, 0x42,
+ 0xbf, 0x29, 0x71, 0x96, 0x23, 0x19, 0x30, 0x05, 0x5e, 0x5f,
+ 0x1f, 0x88, 0x91, 0x86, 0xe6, 0xe5, 0xa5, 0x23, 0xf9, 0x86,
+ 0xbf, 0x05, 0xc1, 0x08, 0x4e, 0x98, 0xe6, 0x83, 0xd4, 0x4d,
+ 0x0c, 0xb5, 0xcb, 0x86, 0xea, 0x4d, 0x25, 0x08, 0x20, 0x06,
+ 0xd5, 0x6a, 0xab, 0xf0, 0x5f, 0x45, 0x05, 0x07, 0xc6, 0x83,
+ 0xae, 0x45, 0x6b, 0x06, 0x8a, 0xc0, 0x5f, 0xde, 0x44, 0x75,
+ 0xb1, 0x77, 0xa0, 0xe0, 0x7a, 0x0d, 0xe4, 0x77, 0xfe, 0xc0,
+ 0xd7, 0x43, 0xbe, 0x7f, 0x88, 0xea, 0xa1, 0xee, 0x83, 0x03,
+ 0xf4, 0x1a, 0x0b, 0xee, 0x3f, 0x43, 0x3d, 0x89, 0x5d, 0x1f,
+ 0xf2, 0x4c, 0xf1, 0x56, 0x2c, 0xea, 0x07, 0x51, 0xde, 0x56,
+ 0x7c, 0x89, 0xbf, 0xa9, 0xa6, 0x3a, 0xec, 0x05, 0x27, 0xa1,
+ 0x1c, 0x7b, 0xad, 0x0c, 0xf0, 0xa1, 0xe8, 0xa9, 0xc6, 0x5c,
+ 0xc0, 0x6d, 0xa6, 0x74, 0xba, 0x3d, 0x72, 0x46, 0x8d, 0xb0,
+ 0xd4, 0x3d, 0x77, 0x5c, 0x72, 0x31, 0x1e, 0xc5, 0x7d, 0xa4,
+ 0x46, 0x2c, 0xc8, 0x66, 0xde, 0xf2, 0xb5, 0x2c, 0x92, 0x31,
+ 0xdb, 0xd3, 0x48, 0x18, 0xff, 0xc8, 0x14, 0x2e, 0x5b, 0xab,
+ 0x4c, 0x62, 0xa4, 0x2e, 0x60, 0xd3, 0x15, 0x6f, 0x2c, 0x8e,
+ 0x03, 0x80, 0xc9, 0x93, 0xb9, 0x9c, 0x11, 0x82, 0xba, 0x93,
+ 0x7d, 0x6f, 0x99, 0xe7, 0x08, 0x82, 0x9d, 0xe4, 0xc3, 0x84,
+ 0x75, 0x28, 0x37, 0xb3, 0xe8, 0x84, 0x4d, 0xe7, 0x4b, 0xc8,
+ 0x11, 0x46, 0xa2, 0xf6, 0x65, 0x3a, 0xac, 0x55, 0xb1, 0x8b,
+ 0x0e, 0x3a, 0xdb, 0xc8, 0x34, 0x75, 0x0c, 0xc3, 0x32, 0x96,
+ 0x43, 0xc6, 0xae, 0x3c, 0xcd, 0x0b, 0x9c, 0xc6, 0x8a, 0x75,
+ 0x60, 0x0a, 0xbc, 0xbe, 0x3e, 0xd3, 0xe1, 0xcf, 0x0f, 0x09,
+ 0x89, 0x46, 0x31, 0xcf, 0xbd, 0x0a, 0x92, 0x23, 0x70, 0x10,
+ 0xaa, 0x31, 0x18, 0x34, 0xd3, 0x73, 0xc9, 0xfd, 0x79, 0x34,
+ 0x40, 0x23, 0xac, 0x8e, 0xf1, 0x66, 0x35, 0x94, 0x55, 0x52,
+ 0xc9, 0xb3, 0xe0, 0xb2, 0xfc, 0x52, 0x5b, 0x8e, 0x6e, 0xa2,
+ 0x63, 0x97, 0xbe, 0xfe, 0x3d, 0x2f, 0xf3, 0x2c, 0x05, 0x2a,
+ 0x4d, 0x2f, 0x19, 0xa2, 0xa1, 0x02, 0xf2, 0x26, 0xd8, 0x50,
+ 0x35, 0x82, 0x03, 0xbc, 0x42, 0xc0, 0xdb, 0x82, 0x98, 0x02,
+ 0x81, 0x04, 0x27, 0x4c, 0x73, 0xa0, 0x6a, 0xc7, 0x06, 0xbb,
+ 0x84, 0x43, 0x75, 0xc7, 0xf3, 0x04, 0x3b, 0xc1, 0x26, 0xcd,
+ 0x28, 0x5d, 0x4a, 0x36, 0x40, 0xbe, 0x5b, 0x6d, 0x68, 0x36,
+ 0xb2, 0xc1, 0x19, 0xff, 0xda, 0xe9, 0x74, 0xa2, 0x7c, 0x53,
+ 0x61, 0x34, 0xa9, 0xfa, 0x15, 0x53, 0x22, 0xff, 0xe4, 0x62,
+ 0x3c, 0x49, 0xfa, 0x8b, 0x8c, 0x58, 0x53, 0xcc, 0x7f, 0x27,
+ 0xa9, 0x58, 0xe7, 0x62, 0x2c, 0x96, 0x23, 0x0d, 0xdc, 0xd2,
+ 0xea, 0x85, 0xdd, 0xaf, 0x7e, 0xfb, 0x01, 0x85, 0x34, 0x96,
+ 0xbd, 0x91, 0x8f, 0x74, 0x1b, 0x0a, 0x4e, 0x81, 0x38, 0xf6,
+ 0x99, 0x18, 0x23, 0x81, 0x13, 0x91, 0xb6, 0x55, 0xf7, 0xe6,
+ 0x2c, 0xdf, 0x95, 0x31, 0x9e, 0xad, 0x67, 0x56, 0xb2, 0x31,
+ 0x1e, 0x55, 0xd3, 0x33, 0xec, 0xe3, 0xa5, 0xf4, 0x73, 0xae,
+ 0xcb, 0xda, 0x9c, 0x32, 0x6e, 0xae, 0x0a, 0x33, 0xe7, 0x46,
+ 0xe0, 0x20, 0x97, 0x62, 0x30, 0x68, 0x65, 0xe6, 0x51, 0x39,
+ 0xf2, 0x68, 0x80, 0x46, 0x9b, 0xdf, 0x21, 0xcc, 0x6a, 0xeb,
+ 0xaa, 0xa4, 0x51, 0xa5, 0x03, 0xa7, 0x3b, 0xa4, 0xb6, 0xdf,
+ 0x8c, 0x88, 0x24, 0x0c, 0x9e, 0x64, 0x0a, 0x17, 0xcc, 0xb4,
+ 0x26, 0x31, 0x52, 0x17, 0x30, 0x88, 0x04, 0x70, 0x52, 0x9c,
+ 0x2d, 0x1e, 0xd2, 0x40, 0x48, 0xd9, 0x68, 0x28, 0x65, 0x40,
+ 0x35, 0x70, 0x86, 0x50, 0xa9, 0xb9, 0x33, 0x57, 0x04, 0xb7,
+ 0x78, 0x48, 0xc2, 0x75, 0x4b, 0xb7, 0xa1, 0x50, 0xef, 0xa6,
+ 0x44, 0xdb, 0xcd, 0x5e, 0x57, 0xe8, 0xf5, 0x97, 0x81, 0x69,
+ 0x38, 0xe8, 0xea, 0xa6, 0x32, 0x3d, 0x77, 0x11, 0xe8, 0x87,
+ 0xf8, 0xa6, 0xc2, 0x68, 0x91, 0x37, 0x2a, 0xa6, 0x44, 0x3d,
+ 0x0b, 0xc4, 0x78, 0x92, 0x37, 0xd5, 0xdb, 0xb0, 0xa6, 0x5b,
+ 0xfe, 0x4e, 0x91, 0xb0, 0x0d, 0xc4, 0x9e, 0xb3, 0x86, 0x77,
+ 0xdd, 0x13, 0xad, 0xf4, 0x0b, 0xdb, 0x71, 0x85, 0xd6, 0xf4,
+ 0x1f, 0xb3, 0x80, 0x18, 0xd2, 0x6b, 0xe9, 0x46, 0xbf, 0xd7,
+ 0x14, 0x1c, 0x9e, 0x49, 0xfd, 0xd7, 0x6f, 0x18, 0x1c, 0x93,
+ 0x7d, 0x52, 0xc3, 0x5a, 0x7b, 0x03, 0x3b, 0x4a, 0xdb, 0xd8,
+ 0xf8, 0x03, 0x8b, 0x93, 0xb1, 0x01, 0x79, 0x13, 0x6c, 0x28,
+ 0xfb, 0x41, 0xe0, 0x5e, 0x21, 0x60, 0x8c, 0x41, 0x4c, 0x01,
+ 0xd4, 0x67, 0x62, 0x16, 0xe5, 0x03, 0x1d, 0xde, 0xb5, 0x29,
+ 0xda, 0x04, 0x50, 0xde, 0x58, 0x67, 0x7a, 0xd1, 0xba, 0x3e,
+ 0x27, 0x98, 0x21, 0xac, 0x58, 0x17, 0x0e, 0xa2, 0x7f, 0xac,
+ 0xf8, 0xd1, 0x5b, 0xcb, 0x9a, 0x73, 0x16, 0x8e, 0xab, 0xf9,
+ 0x4f, 0xb7, 0xd2, 0x2b, 0x59, 0xf9, 0x0f, 0xcb, 0xa3, 0x3a,
+ 0xdb, 0x68, 0x2f, 0x5f, 0x5c, 0xa2, 0x27, 0x31, 0x76, 0xd4,
+ 0x08, 0xa2, 0x63, 0x3a, 0xf9, 0xed, 0xb4, 0x3c, 0xa3, 0x37,
+ 0x22, 0x4b, 0x7a, 0x21, 0xbe, 0xf5, 0xd9, 0x4b, 0xf0, 0xed,
+ 0x33, 0x21, 0x82, 0x36, 0x72, 0x61, 0x2d, 0xb6, 0xd0, 0xcf,
+ 0x8b, 0x3d, 0xa2, 0xb6, 0xd8, 0x21, 0x68, 0xea, 0x18, 0x45,
+ 0x64, 0xef, 0x86, 0x4f, 0x9f, 0x78, 0x59, 0x16, 0xfb, 0x4f,
+ 0xd7, 0xea, 0x96, 0x53, 0x22, 0x8c, 0x87, 0x2f, 0xca, 0x74,
+ 0x9b, 0xaa, 0xa1, 0xd5, 0x1c, 0x74, 0x75, 0x53, 0x46, 0x44,
+ 0x12, 0x06, 0x4f, 0x32, 0x05, 0xea, 0x66, 0x5a, 0x13, 0xf9,
+ 0x29, 0xea, 0x18, 0x44, 0x02, 0x38, 0x29, 0x4e, 0xf7, 0x0f,
+ 0x69, 0x20, 0x24, 0x8d, 0x34, 0x14, 0xd3, 0x20, 0xfb, 0x38,
+ 0xff, 0xa5, 0xcf, 0xee, 0x79, 0x26, 0x99, 0x2b, 0x16, 0x75,
+ 0xe2, 0xc9, 0x6f, 0x2b, 0x3e, 0xa5, 0x95, 0x77, 0xfe, 0xe5,
+ 0xea, 0xc6, 0x76, 0x44, 0xad, 0x80, 0x8f, 0xcb, 0x47, 0x44,
+ 0x12, 0x77, 0x64, 0x7a, 0xee, 0x22, 0x13, 0xcd, 0x33, 0x8f,
+ 0x47, 0xd0, 0xe1, 0x6e, 0x54, 0x8f, 0x88, 0x7a, 0x40, 0x0c,
+ 0x69, 0xd4, 0x95, 0x23, 0xbe, 0x8a, 0x0a, 0x0e, 0x4f, 0xc5,
+ 0x9f, 0x8a, 0xd6, 0x0c, 0x41, 0x10, 0x9c, 0xf3, 0x0f, 0xc5,
+ 0x6b, 0x9a, 0x18, 0xa9, 0x55, 0xcf, 0x17, 0x9a, 0x4a, 0x10,
+ 0x16, 0x4b, 0xf0, 0xe7, 0x6e, 0x69, 0x75, 0xa3, 0x8f, 0xb6,
+ 0x3f, 0x9c, 0xe1, 0xa3, 0x1a, 0x4b, 0x0e, 0xa8, 0xdf, 0x29,
+ 0x80, 0x2d, 0xdc, 0xe0, 0xfc, 0x25, 0x8c, 0x6c, 0x7c, 0xe0,
+ 0xa4, 0xa8, 0xb9, 0xe1, 0xdd, 0xe8, 0x36, 0x14, 0x9c, 0xc1,
+ 0x70, 0x2f, 0xf1, 0x30, 0x46, 0xc1, 0x26, 0xe1, 0xfd, 0x9d,
+ 0xe6, 0xa0, 0x8e, 0x29, 0xf0, 0x0b, 0x32, 0xf8, 0xd6, 0xdd,
+ 0xbc, 0x0b, 0xc5, 0x9d, 0x6f, 0xbe, 0x96, 0xb0, 0x24, 0x18,
+ 0xe8, 0x3f, 0xe1, 0x8b, 0x1f, 0x20, 0xc5, 0x3f, 0x85, 0xbe,
+ 0x91, 0x07, 0xac, 0x79, 0xc7, 0xd8, 0xa4, 0x04, 0xe5, 0x59,
+ 0xe7, 0xe3, 0x22, 0x04, 0x27, 0x07, 0xa5, 0x72, 0xa0, 0xba,
+ 0xf5, 0x4e, 0xe7, 0xc2, 0x4b, 0x65, 0x2a, 0xe8, 0xbe, 0xc2,
+ 0xad, 0x72, 0xcf, 0xa0, 0x91, 0xb1, 0x66, 0xae, 0x08, 0xad,
+ 0xf0, 0x90, 0x47, 0xea, 0x96, 0xad, 0x81, 0xa0, 0x56, 0x47,
+ 0x99, 0x33, 0xfb, 0x4a, 0xcb, 0x29, 0x85, 0xb8, 0x70, 0x59,
+ 0x7e, 0x29, 0xcc, 0x47, 0xba, 0xc5, 0x01, 0x81, 0x5b, 0xfd,
+ 0x20, 0xf1, 0x46, 0x05, 0xdf, 0x2e, 0x1d, 0xf1, 0x41, 0xc5,
+ 0x61, 0x16, 0x49, 0x99, 0xa4, 0x35, 0x34, 0xdf, 0x1d, 0xae,
+ 0x93, 0x4c, 0xb9, 0xdf, 0x21, 0x16, 0x18, 0xe3, 0x2f, 0xce,
+ 0xee, 0x44, 0xa9, 0x43, 0x73, 0x93, 0xb3, 0xf0, 0x9d, 0x43,
+ 0xbe, 0xe3, 0x54, 0x7f, 0xb0, 0x7d, 0x0c, 0x45, 0xa2, 0x09,
+ 0xa1, 0x35, 0x44, 0x4d, 0xad, 0x09, 0x37, 0x7f, 0x8b, 0xdc,
+ 0xaa, 0xf9, 0xde, 0x93, 0x64, 0x67, 0xb2, 0x47, 0x60, 0x07,
+ 0x6c, 0x67, 0x62, 0xdc, 0x3e, 0xad, 0x81, 0x76, 0x9f, 0xa5,
+ 0x4d, 0x66, 0x1a, 0xc0, 0x29, 0x4f, 0x85, 0x66, 0x1b, 0xad,
+ 0x5a, 0xd7, 0x6f, 0x54, 0x8c, 0x68, 0x7e, 0xe9, 0x5d, 0x10,
+ 0xc8, 0x21, 0xd1, 0xe9, 0x93, 0xd7, 0xce, 0xbc, 0x64, 0x96,
+ 0xfc, 0x48, 0xdd, 0xbd, 0xe2, 0x37, 0x5d, 0xe0, 0x1e, 0xbd,
+ 0x1d, 0xbc, 0xf7, 0x45, 0x6b, 0x15, 0x23, 0x1a, 0xfe, 0xab,
+ 0x86, 0x04, 0x32, 0x99, 0xa5, 0xab, 0x54, 0x45, 0xd2, 0x2f,
+ 0x19, 0xc4, 0x3f, 0x12, 0xa6, 0xbe, 0xd9, 0x7d, 0x86, 0x38,
+ 0xe6, 0xbe, 0x96, 0x2f, 0x82, 0x20, 0xfb, 0x25, 0x1e, 0x49,
+ 0xd6, 0xf7, 0x30, 0x91, 0xaa, 0x5d, 0x2e, 0xf7, 0x94, 0x20,
+ 0xb3, 0x39, 0x50, 0x5d, 0x9b, 0x27, 0x92, 0x61, 0xc4, 0xd3,
+ 0x15, 0x74, 0x5f, 0x61, 0xb7, 0x39, 0xb4, 0x6d, 0xde, 0xa8,
+ 0xdb, 0xd0, 0xfc, 0x11, 0xba, 0x20, 0x53, 0x42, 0x61, 0x11,
+ 0xe5, 0x6d, 0xd6, 0x5f, 0x4b, 0x58, 0x12, 0x0c, 0x74, 0xfe,
+ 0x91, 0xa4, 0xee, 0x10, 0x83, 0xfe, 0xa3, 0x5f, 0xe1, 0x0e,
+ 0x9b, 0xf2, 0x4d, 0x73, 0x8b, 0x08, 0x09, 0xb2, 0x0d, 0x05,
+ 0x44, 0x08, 0x4e, 0x0e, 0xc2, 0x2c, 0x92, 0xf1, 0x8b, 0x6a,
+ 0x68, 0x7d, 0x3a, 0x9f, 0xe5, 0x98, 0xb1, 0x7d, 0x42, 0x2c,
+ 0x5d, 0x83, 0xe1, 0xa1, 0xcc, 0x9f, 0x10, 0x99, 0x23, 0xe3,
+ 0x8e, 0x17, 0xef, 0x99, 0xc1, 0x83, 0xfa, 0xc9, 0x68, 0x55,
+ 0xce, 0xde, 0x9e, 0x7b, 0x4c, 0x0b, 0x90, 0xeb, 0x82, 0x7b,
+ 0x97, 0xc9, 0xa4, 0x6e, 0x55, 0x9d, 0x6f, 0xa8, 0x32, 0xd2,
+ 0x59, 0xc2, 0x30, 0xe2, 0x36, 0xd2, 0x31, 0x6e, 0x1f, 0xb7,
+ 0xa1, 0x3b, 0xae, 0xb3, 0xc7, 0x33, 0x0d, 0x60, 0xf5, 0xc6,
+ 0xa3, 0x33, 0xec, 0xb7, 0x0c, 0x90, 0xf6, 0x67, 0x77, 0x22,
+ 0xb5, 0xc0, 0xd8, 0xa8, 0xb8, 0x78, 0xaf, 0xc0, 0x5f, 0x90,
+ 0x01, 0x1c, 0xf5, 0x27, 0x9a, 0xe6, 0xd5, 0x10, 0x12, 0xa7,
+ 0x1a, 0x0a, 0x88, 0x10, 0x9c, 0x1c, 0x2d, 0x8a, 0xd6, 0x2a,
+ 0x46, 0x34, 0x3f, 0x95, 0xcf, 0x08, 0x64, 0xf1, 0x89, 0x95,
+ 0xa8, 0x8a, 0x67, 0x5e, 0x32, 0x4b, 0x7e, 0x24, 0x8f, 0xbf,
+ 0x71, 0xfa, 0xcf, 0x70, 0x0f, 0xbf, 0xef, 0x5e, 0xe2, 0x2a,
+ 0x47, 0x9b, 0x20, 0x9a, 0x37, 0x38, 0x3f, 0x98, 0x23, 0x1b,
+ 0x1f, 0x38, 0x29, 0x2a, 0x09, 0xfc, 0x51, 0xdc, 0xc0, 0xda,
+ 0xb2, 0x90, 0x82, 0xd6, 0xca, 0x5a, 0x42, 0x90, 0xf6, 0xfc,
+ 0x57, 0x5b, 0x6c, 0x14, 0x61, 0xac, 0x1e, 0x39, 0x97, 0x1f,
+ 0x6a, 0x53, 0xf6, 0x39, 0x50, 0x5b, 0x11, 0x1f, 0x7e, 0x12,
+ 0x2e, 0x9e, 0x1b, 0xd3, 0xf1, 0x45, 0x79, 0xaa, 0xdf, 0xd3,
+ 0x48, 0x1f, 0xb7, 0x49, 0x02, 0xc1, 0xb6, 0x39, 0x40, 0x21,
+ 0x8c, 0x0a, 0x7d, 0x5c, 0x3a, 0x21, 0x82, 0x49, 0xdf, 0xa3,
+ 0x1a, 0x84, 0xd2, 0xd6, 0xc6, 0x6e, 0x13, 0x72, 0x24, 0x4a,
+ 0xc1, 0x6e, 0x55, 0xa3, 0x6a, 0xd2, 0x31, 0x0b, 0x93, 0xe0,
+ 0xef, 0x6f, 0xbb, 0xf5, 0x6d, 0x02, 0x28, 0x6f, 0x2c, 0xd2,
+ 0x93, 0x3f, 0x85, 0x37, 0x30, 0xd7, 0xcd, 0x24, 0xc1, 0xd4,
+ 0xd3, 0xf7, 0xf1, 0x24, 0xdc, 0x3f, 0x24, 0x76, 0x87, 0xf6,
+ 0x86, 0xee, 0x8d, 0x05, 0x4d, 0xde, 0xae, 0xab, 0xcb, 0x05,
+ 0x5e, 0x76, 0x7f, 0xbd, 0x1d, 0x85, 0x90, 0x60, 0x26, 0xfc,
+ 0x02, 0x69, 0x7c, 0x80, 0x92, 0xfc, 0x51, 0xbd, 0x66, 0x42,
+ 0xc7, 0x6c, 0xe4, 0xc2, 0x5a, 0xaf, 0x63, 0x5d, 0xd5, 0x7a,
+ 0x87, 0xaf, 0x73, 0x42, 0xfe, 0xb9, 0x3a, 0xc9, 0xe3, 0xc0,
+ 0x4c, 0x3b, 0x04, 0xd2, 0xf8, 0xc3, 0xe7, 0x3b, 0xa2, 0xb9,
+ 0x07, 0x54, 0x8e, 0xf5, 0x40, 0xf7, 0x6e, 0x70, 0x7e, 0xf3,
+ 0x46, 0x36, 0x3e, 0x70, 0x52, 0x54, 0x44, 0x7c, 0x3b, 0x48,
+ 0xb8, 0x3d, 0x6c, 0xca, 0x42, 0xd7, 0x27, 0xed, 0xfa, 0xca,
+ 0xe3, 0x7c, 0x3f, 0xb1, 0x74, 0x51, 0x05, 0x43, 0x98, 0x76,
+ 0x08, 0x67, 0x33, 0x45, 0x0d, 0x76, 0x87, 0xb1, 0xf8, 0xf1,
+ 0x41, 0x1b, 0x39, 0xd1, 0xf7, 0x5b, 0x68, 0x86, 0xa4, 0xff,
+ 0x51, 0x5b, 0x6c, 0xf1, 0x06, 0x48, 0x7b, 0xd2, 0xda, 0x11,
+ 0xbb, 0x60, 0x6c, 0x54, 0x5c, 0x3c, 0xb6, 0x60, 0xce, 0x48,
+ 0xca, 0xcc, 0x36, 0x0a, 0xd1, 0x56, 0x0f, 0xfd, 0xaa, 0xee,
+ 0x35, 0xc8, 0x7b, 0xfd, 0x28, 0xcc, 0xad, 0x92, 0x04, 0x41,
+ 0xaf, 0x72, 0x80, 0x42, 0xdb, 0x14, 0xfa, 0xb8, 0x74, 0x42,
+ 0xc7, 0x92, 0x2b, 0xc2, 0xad, 0xf8, 0x9c, 0x25, 0x84, 0xf5,
+ 0xa3, 0x5c, 0x38, 0xcd, 0x3f, 0xf5, 0x66, 0xc2, 0xae, 0xb6,
+ 0xd8, 0x28, 0xc2, 0x9b, 0x3c, 0x72, 0xed, 0x3e, 0xd4, 0xa6,
+ 0x2f, 0x72, 0xa0, 0xb6, 0x22, 0x3e, 0xfc, 0x24, 0x5c, 0xff,
+ 0x36, 0x65, 0x21, 0x8a, 0xf2, 0x97, 0x7d, 0x65, 0x90, 0x3e,
+ 0x39, 0xf9, 0x0f, 0x83, 0xdf, 0x52, 0x23, 0x16, 0x64, 0x33,
+ 0x6f, 0x79, 0xbb, 0x16, 0x49, 0xf9, 0xde, 0xbf, 0xef, 0xa3,
+ 0x48, 0x30, 0x13, 0x7e, 0x01, 0xd5, 0x3e, 0x40, 0x49, 0x7e,
+ 0xc9, 0xbf, 0x1e, 0xab, 0x54, 0x1c, 0x34, 0x55, 0x12, 0x23,
+ 0x1f, 0xc7, 0xef, 0xcc, 0x2b, 0x23, 0x70, 0xab, 0xa8, 0xfe,
+ 0xa3, 0xfa, 0x18, 0x8a, 0x87, 0x12, 0x81, 0x6a, 0x88, 0x9a,
+ 0x99, 0x12, 0x6e, 0xfe, 0x58, 0xef, 0x46, 0x1a, 0x7b, 0x67,
+ 0x17, 0xc9, 0x79, 0x9d, 0xfc, 0x35, 0x02, 0xc9, 0x68, 0xef,
+ 0x88, 0xf8, 0x76, 0x90, 0xb3, 0x7a, 0xd8, 0x57, 0x84, 0x6d,
+ 0x4e, 0x19, 0x37, 0x57, 0x05, 0xf8, 0x9a, 0xc3, 0xd4, 0xeb,
+ 0xf0, 0x0d, 0x7f, 0xb4, 0x43, 0x02, 0x19, 0xad, 0xb3, 0xb4,
+ 0x2a, 0xc3, 0x69, 0xf6, 0xed, 0x62, 0xfe, 0x09, 0x53, 0x5f,
+ 0x8d, 0xdf, 0x43, 0x1c, 0x73, 0x5f, 0x4b, 0xf6, 0x28, 0xe6,
+ 0x71, 0x91, 0xf1, 0xcc, 0x38, 0xc5, 0x95, 0x76, 0x16, 0xd3,
+ 0x64, 0xc5, 0x01, 0xe6, 0x65, 0x66, 0x1b, 0x05, 0x89, 0x2b,
+ 0xe6, 0x9f, 0x55, 0x77, 0xfb, 0x64, 0xdc, 0x9f, 0x14, 0x66,
+ 0xd5, 0x7b, 0x97, 0x31, 0x7f, 0xe5, 0xc8, 0xce, 0xa7, 0x8e,
+ 0xc0, 0x0e, 0xd8, 0xce, 0xc4, 0x7b, 0x7c, 0x99, 0xc1, 0xec,
+ 0xfd, 0x89, 0x9a, 0xcc, 0x34, 0x43, 0x52, 0x9e, 0xc9, 0xcc,
+ 0x36, 0x99, 0xbc, 0x8d, 0x7a, 0x53, 0x81, 0xec, 0x9b, 0x91,
+ 0x2a, 0x51, 0x83, 0x12, 0xab, 0x91, 0x8f, 0x8d, 0x38, 0xe5,
+ 0xfa, 0xa4, 0x45, 0xb4, 0xf6, 0x06, 0x76, 0x94, 0x75, 0x73,
+ 0x33, 0x06, 0xd5, 0xe5, 0x4f, 0xb8, 0x43, 0xda, 0x8f, 0xe8,
+ 0xb7, 0x7a, 0xe4, 0x8c, 0xd9, 0xa3, 0x6b, 0x7a, 0xee, 0xb8,
+ 0xe0, 0x12, 0x6e, 0xd5, 0xd7, 0x95, 0x5e, 0x18, 0x1b, 0x15,
+ 0x17, 0x0f, 0xcc, 0x18, 0xd2, 0x12, 0x27, 0x52, 0x5b, 0x9f,
+ 0xeb, 0x07, 0x31, 0x35, 0x7b, 0xf4, 0x80, 0xb5, 0x90, 0x35,
+ 0x39, 0x52, 0x76, 0x41, 0x4c, 0x59, 0x50, 0xba, 0x94, 0x6c,
+ 0x80, 0xbf, 0xb6, 0xda, 0xd0, 0x6c, 0xa7, 0x41, 0x78, 0xe9,
+ 0x93, 0x70, 0xd0, 0x97, 0x48, 0x8c, 0x7c, 0x9a, 0x3a, 0xb6,
+ 0xac, 0x8c, 0x03, 0xe9, 0x89, 0xe4, 0x83, 0xb7, 0x29, 0x9c,
+ 0x0d, 0x47, 0x96, 0xca, 0x54, 0x13, 0xbf, 0x47, 0x99, 0xe4,
+ 0x8d, 0x94, 0xd1, 0x2b, 0x04, 0x82, 0xdf, 0x07, 0xde, 0x13,
+ 0x3c, 0x3b, 0xda, 0x07, 0xac, 0x94, 0xaf, 0xaa, 0x2d, 0x0f,
+ 0x58, 0x7d, 0xe9, 0x62, 0xff, 0x99, 0xce, 0xac, 0xa7, 0x62,
+ 0x3c, 0xaa, 0x9f, 0xaf, 0x73, 0x50, 0x47, 0xf5, 0x78, 0xe4,
+ 0x19, 0x7c, 0x6b, 0x8f, 0x5e, 0xe4, 0x83, 0xaf, 0x84, 0x68,
+ 0x80, 0xf7, 0xc4, 0x58, 0x6d, 0x97, 0x5c, 0xc5, 0xf6, 0x61,
+ 0x98, 0x97, 0x5a, 0x68, 0xe6, 0x5a, 0x15, 0x07, 0x0d, 0x84,
+ 0xe5, 0x78, 0x77, 0x41, 0x4b, 0x33, 0x7a, 0x78, 0x1c, 0x5a,
+ 0xf1, 0x0d, 0x10, 0xc7, 0xf9, 0x0b, 0x45, 0xcb, 0xea, 0x50,
+ 0x6e, 0xa5, 0x13, 0xcb, 0x9a, 0x0d, 0x63, 0x2e, 0x60, 0xd7,
+ 0x53, 0x3a, 0x5d, 0xff, 0x39, 0x23, 0xa7, 0x58, 0x6a, 0xff,
+ 0xda, 0x2e, 0x51, 0x13, 0x17, 0xc6, 0xbb, 0xbd, 0xa5, 0x59,
+ 0xfb, 0x4b, 0x36, 0x6f, 0x40, 0x59, 0x9e, 0x13, 0xc8, 0xf4,
+ 0x1f, 0x44, 0x26, 0x59, 0x66, 0xdd, 0x8e, 0x63, 0x01, 0xdc,
+ 0xa8, 0xdd, 0xd3, 0xf4, 0x03, 0x24, 0xdc, 0x69, 0x6d, 0xe9,
+ 0xbc, 0x30, 0x36, 0x2a, 0x2e, 0x1e, 0x5b, 0x30, 0x67, 0x24,
+ 0xed, 0x9e, 0x6d, 0x95, 0x3a, 0x51, 0x3e, 0xc8, 0xd1, 0x1a,
+ 0xb5, 0x7d, 0xeb, 0xc8, 0x11, 0x9e, 0x70, 0x09, 0x37, 0x8b,
+ 0x8a, 0xab, 0x2f, 0x0c, 0xec, 0xeb, 0xea, 0xe6, 0x66, 0x0c,
+ 0x69, 0x09, 0x3c, 0x95, 0xa8, 0x38, 0x68, 0xaa, 0x24, 0x46,
+ 0x3e, 0x4d, 0x1d, 0x5b, 0x56, 0x46, 0xe0, 0x95, 0x8e, 0xb0,
+ 0x0d, 0x42, 0x69, 0x6b, 0x63, 0x37, 0xe8, 0x39, 0x12, 0x25,
+ 0x81, 0x37, 0xcb, 0xb0, 0xd9, 0xeb, 0x61, 0x56, 0x08, 0xc7,
+ 0x7d, 0x0e, 0x7f, 0x26, 0x78, 0x76, 0x77, 0x0e, 0x9b, 0xeb,
+ 0x10, 0x03, 0x8b, 0x35, 0xb4, 0x78, 0xce, 0xc3, 0xe3, 0xe2,
+ 0x63, 0xa0, 0x57, 0xc3, 0xd4, 0x03, 0x1a, 0xdb, 0x06, 0x80,
+ 0x19, 0x4b, 0xc0, 0x63, 0x57, 0x1e, 0x87, 0xe4, 0x4e, 0x63,
+ 0x45, 0xdb, 0x9d, 0x97, 0x5a, 0x1e, 0xb0, 0xfa, 0x11, 0xc4,
+ 0x3d, 0xf1, 0x5f, 0x9b, 0x8d, 0xc4, 0x78, 0x97, 0xee, 0xba,
+ 0xb1, 0xfc, 0x57, 0xb8, 0x82, 0xf8, 0xe7, 0x30, 0x9b, 0x63,
+ 0xb0, 0xf8, 0x76, 0xba, 0xcb, 0xd0, 0xc3, 0x2d, 0x4b, 0xb0,
+ 0xda, 0xed, 0xb8, 0x49, 0x2f, 0xc2, 0xf3, 0xed, 0xb4, 0xd0,
+ 0x97, 0x4f, 0xd7, 0xab, 0x1d, 0xc9, 0x1f, 0x64, 0x89, 0x0d,
+ 0xbb, 0xdf, 0x94, 0x64, 0xe9, 0x4f, 0xc9, 0xe8, 0xea, 0x63,
+ 0xbc, 0xbf, 0xb3, 0xcd, 0x9c, 0xc4, 0x1b, 0xd6, 0x20, 0xcd,
+ 0x4f, 0xe8, 0x79, 0xf5, 0x66, 0x57, 0x4a, 0x71, 0x9d, 0x9c,
+ 0x6e, 0x3d, 0x20, 0xbc, 0x24, 0x9c, 0x9f, 0xf5, 0xb2, 0x25,
+ 0xa5, 0x7a, 0x01, 0xc1, 0x47, 0x71, 0xd6, 0x74, 0x0f, 0x7e,
+ 0xd7, 0x71, 0x2b, 0x25, 0x35, 0x69, 0xf9, 0xe4, 0xa8, 0x70,
+ 0x96, 0xd6, 0xbc, 0x9b, 0xd7, 0x01, 0x14, 0xd6, 0x16, 0x69,
+ 0x6c, 0x9a, 0x4a, 0xd9, 0x49, 0xf1, 0x54, 0x0f, 0xd7, 0xa1,
+ 0x31, 0x3e, 0x9e, 0x0f, 0xe2, 0x9a, 0x9c, 0x8b, 0xaf, 0x39,
+ 0x2a, 0x1c, 0xc4, 0xd4, 0x2f, 0x56, 0x45, 0x91, 0x05, 0xd4,
+ 0xe4, 0x8b, 0x1b, 0xc7, 0xf3, 0xa7, 0x83, 0xad, 0x15, 0x73,
+ 0x45, 0xb9, 0x9d, 0xee, 0xc6, 0x73, 0xd9, 0xc7, 0x05, 0x6c,
+ 0xa7, 0xbb, 0xb7, 0xf8, 0x07, 0x50, 0x5a, 0x7e, 0x72, 0x22,
+ 0xed, 0x50, 0xa9, 0x6c, 0x50, 0x0f, 0xe2, 0xe1, 0x21, 0x5b,
+ 0x70, 0x49, 0xe9, 0xec, 0x2c, 0x65, 0xc8, 0x49, 0x02, 0x0f,
+ 0xf0, 0x11, 0xe5, 0xe0, 0x63, 0xed, 0x90, 0xdb, 0xf8, 0xf7,
+ 0x74, 0xaf, 0x9b, 0xdb, 0x06, 0x11, 0xd1, 0x0b, 0xc5, 0xad,
+ 0x52, 0xfb, 0x1a, 0x8e, 0xef, 0x57, 0xa8, 0x26, 0xbd, 0x8e,
+ 0xf1, 0x0b, 0x12, 0x3b, 0xa2, 0x7b, 0x43, 0x77, 0xa7, 0xe3,
+ 0xc7, 0x6f, 0x57, 0xb4, 0x84, 0xe3, 0x2f, 0x3b, 0x87, 0x4c,
+ 0x5c, 0x9e, 0xa9, 0xb1, 0xd1, 0xa7, 0x6a, 0xef, 0xd8, 0x7f,
+ 0xc3, 0xa7, 0x3d, 0x4c, 0x08, 0xe0, 0xa4, 0xfb, 0x5a, 0x3c,
+ 0x67, 0x80, 0x90, 0x71, 0xd0, 0x50, 0xca, 0x80, 0x6a, 0xe0,
+ 0x59, 0xf3, 0xb3, 0x3d, 0xe1, 0x81, 0xc2, 0xd9, 0x6b, 0x3a,
+ 0xe6, 0x3f, 0x8a, 0xd9, 0xf4, 0xf3, 0xfc, 0x81, 0x13, 0x87,
+ 0x14, 0xcf, 0x25, 0x1b, 0x20, 0x5f, 0xcc, 0xd7, 0x34, 0x1b,
+ 0x59, 0x81, 0x21, 0x1a, 0x20, 0x4d, 0x31, 0x16, 0x8a, 0x55,
+ 0x17, 0xa0, 0xdc, 0x89, 0x26, 0x55, 0xf7, 0x1a, 0x85, 0x74,
+ 0x75, 0xd0, 0x5e, 0xbe, 0xb8, 0x87, 0x4e, 0x62, 0xec, 0x6b,
+ 0x10, 0x87, 0xc6, 0x74, 0x55, 0x63, 0x45, 0x5a, 0x96, 0xa3,
+ 0x77, 0x19, 0xb3, 0x92, 0x5e, 0x47, 0x25, 0x19, 0xab, 0x63,
+ 0x4e, 0xa4, 0xb6, 0xfd, 0x15, 0x0e, 0x62, 0x6a, 0xf6, 0x2b,
+ 0xc3, 0xa9, 0xe3, 0x6a, 0x72, 0xa4, 0xec, 0x82, 0x98, 0xb2,
+ 0xa0, 0xb7, 0xeb, 0xd8, 0xc3, 0xbd, 0xaf, 0x77, 0x63, 0xd8,
+ 0x8d, 0x82, 0xfb, 0xd5, 0x9d, 0x72, 0x54, 0x38, 0x4b, 0x6b,
+ 0x5e, 0xac, 0x8a, 0xe1, 0x0a, 0x6b, 0x0b, 0xd5, 0x36, 0x4d,
+ 0x25, 0x8d, 0xc5, 0x99, 0x2a, 0xe6, 0x8a, 0xb1, 0xf9, 0x1f,
+ 0x4f, 0xe6, 0x71, 0x4d, 0x75, 0x65, 0x90, 0x30, 0x3d, 0x53,
+ 0x28, 0x5c, 0xb6, 0x95, 0x98, 0xc4, 0x8b, 0x5c, 0xc0, 0x65,
+ 0x37, 0x51, 0xd0, 0xaa, 0x5f, 0x7f, 0xff, 0xf6, 0x98, 0x16,
+ 0xe3, 0x15, 0xc7, 0xf6, 0xed, 0x51, 0x5c, 0x9f, 0x14, 0x86,
+ 0x56, 0x79, 0xc5, 0x89, 0x31, 0x44, 0x94, 0x1d, 0x67, 0x89,
+ 0x5d, 0x9f, 0xf6, 0x59, 0x9e, 0x32, 0xb9, 0xfc, 0x2b, 0xbb,
+ 0x94, 0xa3, 0x28, 0x93, 0x2d, 0xbb, 0xc8, 0x59, 0xf4, 0x61,
+ 0xb7, 0x7c, 0x4e, 0xf3, 0x42, 0x9b, 0xb0, 0x2e, 0x1c, 0x87,
+ 0xfe, 0x9b, 0x33, 0x61, 0xcd, 0x98, 0xb8, 0xff, 0x91, 0xa1,
+ 0x61, 0x8d, 0xd4, 0x1d, 0x73, 0xfe, 0x45, 0x8d, 0x7a, 0x98,
+ 0x6b, 0xce, 0xc4, 0x2c, 0x09, 0x06, 0x3a, 0x7f, 0xa9, 0x52,
+ 0x77, 0x08, 0xa0, 0x7f, 0xb0, 0xce, 0xa2, 0x26, 0x2e, 0x4f,
+ 0xb5, 0xb9, 0x89, 0xb2, 0x35, 0x96, 0x6c, 0xde, 0x80, 0xb2,
+ 0xff, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0xc6,
+ 0x8a, 0xb4, 0xef, 0x85, 0xee, 0x32, 0xa5, 0xe7, 0xbc, 0x8e,
+ 0x4a, 0x32, 0x95, 0xc6, 0x71, 0x15, 0xc2, 0xac, 0x10, 0x4d,
+ 0xfa, 0x1c, 0xfe, 0x4c, 0xf0, 0xec, 0xee, 0x1c, 0xf5, 0x15,
+ 0x42, 0x34, 0x40, 0x9a, 0x62, 0x2c, 0xd7, 0xaa, 0x2e, 0x83,
+ 0x7b, 0xd1, 0x4c, 0xaa, 0x2d, 0x34,
+ },
+ {
+ /* 14 */
+ 0x47, 0x52, 0xd9, 0xd2, 0x69, 0x81, 0x42, 0x4a, 0x4e, 0xe7,
+ 0x53, 0x5d, 0xa9, 0x30, 0x47, 0x7c, 0xe9, 0xdb, 0x31, 0x5c,
+ 0x2e, 0xdf, 0x12, 0x97, 0x34, 0x3f, 0x83, 0x15, 0x0b, 0x98,
+ 0xe9, 0x1c, 0x8f, 0x26, 0xbe, 0x4a, 0x25, 0x12, 0xca, 0xbc,
+ 0x87, 0xf8, 0x58, 0xe9, 0x7f, 0xf7, 0x8f, 0x8c, 0x4e, 0x4a,
+ 0xa1, 0x54, 0x2a, 0x05, 0x39, 0xe1, 0x8d, 0xb6, 0x51, 0xd3,
+ 0x3b, 0x95, 0x4e, 0x2e, 0x03, 0x45, 0x92, 0x77, 0xda, 0xb6,
+ 0xd2, 0x78, 0x2d, 0xdc, 0xc1, 0xf5, 0xf1, 0x7a, 0x03, 0x9c,
+ 0xcf, 0x7c, 0x4f, 0x5b, 0xcc, 0xef, 0xa1, 0x2e, 0x88, 0x91,
+ 0xb4, 0xce, 0x19, 0xa4, 0xcf, 0x7f, 0x0c, 0xd7, 0x0d, 0x1f,
+ 0xee, 0x9d, 0xce, 0x23, 0xb4, 0xf6, 0x82, 0x52, 0x42, 0x2b,
+ 0x0c, 0x35, 0xba, 0x33, 0xff, 0xaf, 0xb6, 0x3a, 0xc1, 0xb8,
+ 0x65, 0x01, 0x95, 0xbe, 0x64, 0xd5, 0xba, 0x3f, 0x12, 0x30,
+ 0xf0, 0xcf, 0x86, 0xcb, 0xf6, 0x95, 0x45, 0xa2, 0x04, 0xdf,
+ 0xe7, 0x89, 0x12, 0xa4, 0xf0, 0x34, 0xe4, 0x4f, 0xc6, 0xf5,
+ 0x03, 0xf9, 0x84, 0xe5, 0xba, 0xe2, 0x61, 0x59, 0xf0, 0x02,
+ 0x2b, 0xf2, 0xbc, 0x35, 0xfb, 0x7e, 0x33, 0xb2, 0x13, 0xad,
+ 0x4b, 0xda, 0xbe, 0x80, 0x2b, 0x22, 0x2c, 0xfa, 0x94, 0xf6,
+ 0x7b, 0x02, 0x1a, 0x6a, 0x52, 0x23, 0xf4, 0xa0, 0x71, 0xe3,
+ 0x2c, 0xad, 0x32, 0x1d, 0x69, 0x26, 0x13, 0x54, 0x22, 0xdc,
+ 0xa3, 0x77, 0x72, 0x2d, 0xd4, 0x41, 0x32, 0x3c, 0x1b, 0x28,
+ 0x88, 0x49, 0xc5, 0x4f, 0x8d, 0x3e, 0x86, 0xf3, 0x06, 0x51,
+ 0x75, 0x2c, 0x1b, 0xf6, 0xd2, 0xde, 0x20, 0xfc, 0x7e, 0x0f,
+ 0x4b, 0xe0, 0x54, 0x19, 0xf3, 0xb6, 0x4d, 0x7c, 0xd2, 0x72,
+ 0x08, 0x9a, 0xb7, 0xab, 0xb4, 0x57, 0x35, 0x83, 0xd8, 0xa4,
+ 0xfc, 0xdd, 0x7c, 0x32, 0x08, 0x26, 0xdd, 0x4c, 0xbf, 0x94,
+ 0x4a, 0x24, 0x57, 0xbb, 0xcd, 0x33, 0xb0, 0x11, 0xfe, 0x2d,
+ 0xdd, 0xdb, 0x60, 0x77, 0x68, 0xf8, 0x7c, 0x62, 0xbf, 0xdb,
+ 0xe9, 0xbc, 0x9a, 0xd5, 0x55, 0x9b, 0x60, 0x6b, 0x72, 0x47,
+ 0x98, 0x37, 0xfa, 0xa9, 0x49, 0x4e, 0xac, 0x1e, 0x9e, 0x0a,
+ 0xb2, 0x12, 0x72, 0xcf, 0x11, 0x75, 0x62, 0xb8, 0x5c, 0x7d,
+ 0x24, 0xed, 0x68, 0x7e, 0xc5, 0x2a, 0x16, 0xf3, 0x11, 0x38,
+ 0x06, 0x8a, 0xe7, 0xee, 0x77, 0xaf, 0x67, 0xf0, 0x5a, 0x7b,
+ 0x41, 0x29, 0x21, 0xf4, 0x06, 0xfb, 0x5d, 0xf8, 0x9e, 0xb6,
+ 0x5b, 0x1d, 0x81, 0x5c, 0xd3, 0xe1, 0xab, 0x5f, 0x32, 0x8b,
+ 0x5d, 0xfe, 0xe0, 0xc3, 0x49, 0xda, 0x6d, 0x5b, 0x69, 0x3c,
+ 0xf7, 0x6e, 0x81, 0x9b, 0x99, 0x3d, 0xe0, 0x4e, 0x86, 0x3e,
+ 0xc6, 0xcc, 0x66, 0x96, 0xb1, 0x17, 0x44, 0xa9, 0x5a, 0x67,
+ 0xed, 0x52, 0x86, 0xde, 0xaa, 0xc4, 0x52, 0x3a, 0x1d, 0x94,
+ 0xab, 0x7d, 0x16, 0x8a, 0xae, 0xc7, 0x9c, 0xb1, 0xaa, 0x73,
+ 0x58, 0x37, 0xeb, 0x2f, 0xf6, 0x04, 0x34, 0xd4, 0xa4, 0x46,
+ 0x2b, 0x83, 0xe2, 0x05, 0x58, 0x99, 0x24, 0x60, 0x23, 0x5d,
+ 0xcf, 0x55, 0x2f, 0xe9, 0x8a, 0x87, 0x08, 0x7d, 0x0d, 0xd1,
+ 0x24, 0x8b, 0xdf, 0x8b, 0xe2, 0xce, 0x67, 0x41, 0xcb, 0xeb,
+ 0xfb, 0x1a, 0x8f, 0xb7, 0xe1, 0xc0, 0xdf, 0x33, 0x69, 0x6f,
+ 0x10, 0x7e, 0x3f, 0xe6, 0xc4, 0x70, 0x2a, 0xed, 0x98, 0x5b,
+ 0xc7, 0x3e, 0x69, 0x39, 0x7a, 0xdd, 0x2f, 0x9c, 0x4e, 0xfe,
+ 0x7c, 0xcd, 0x74, 0xba, 0x62, 0xd7, 0xce, 0x20, 0x7a, 0xe9,
+ 0x67, 0x7f, 0x40, 0x3b, 0xfc, 0x1e, 0x96, 0x03, 0xa8, 0x32,
+ 0x25, 0xaf, 0x9a, 0xf8, 0x67, 0xe4, 0xec, 0x14, 0x44, 0xc5,
+ 0x83, 0xc6, 0xa7, 0x1f, 0x43, 0x98, 0x03, 0xc9, 0xdb, 0x16,
+ 0xec, 0x7b, 0x30, 0xda, 0x34, 0x7c, 0x3e, 0x31, 0xbe, 0x8c,
+ 0x95, 0x5e, 0x4d, 0x8b, 0xcb, 0xac, 0x30, 0xd4, 0x6a, 0x2a,
+ 0x82, 0x09, 0xe5, 0x50, 0x16, 0x08, 0x07, 0x31, 0x59, 0xae,
+ 0x36, 0x44, 0x6a, 0xa5, 0x0e, 0x10, 0x50, 0x45, 0xc3, 0xf8,
+ 0x52, 0x73, 0x82, 0xdf, 0xbd, 0xf4, 0x5d, 0xc6, 0x0e, 0xdd,
+ 0x43, 0x1f, 0x63, 0x66, 0x33, 0x4b, 0xb9, 0xea, 0x22, 0xb5,
+ 0x2d, 0xd2, 0x97, 0x29, 0x43, 0x6f, 0x2d, 0x78, 0x5b, 0xdb,
+ 0x8c, 0xd1, 0x54, 0x42, 0x49, 0xd6, 0x0a, 0xf3, 0x9f, 0x74,
+ 0x2d, 0xd9, 0xb3, 0x2b, 0x87, 0x29, 0xf5, 0xbe, 0xba, 0x13,
+ 0xa6, 0x50, 0x97, 0x30, 0xf6, 0x70, 0xb3, 0x6d, 0xe4, 0x8e,
+ 0xf3, 0x6e, 0x37, 0x91, 0x92, 0x9c, 0x9b, 0x3c, 0xff, 0x14,
+ 0xa7, 0x24, 0xe4, 0x5d, 0x22, 0xea, 0xc4, 0xb3, 0xb8, 0xfa,
+ 0x48, 0x19, 0xd0, 0xfc, 0x49, 0x54, 0x2c, 0x25, 0x22, 0x70,
+ 0xab, 0x46, 0x9d, 0x17, 0xea, 0x47, 0xe5, 0x55, 0x0d, 0x7f,
+ 0x50, 0x94, 0x72, 0x26, 0xab, 0x07, 0x3d, 0x8f, 0xf6, 0x4e,
+ 0x27, 0x7f, 0x3e, 0x87, 0x3a, 0x5d, 0x31, 0x8a, 0x67, 0x10,
+ 0x3d, 0x95, 0x34, 0x97, 0x8e, 0xc8, 0x64, 0xfb, 0x45, 0x2c,
+ 0xf9, 0x0c, 0x33, 0x04, 0xf5, 0xb5, 0x34, 0xc7, 0x90, 0x43,
+ 0x8c, 0xb7, 0xba, 0x97, 0xbc, 0x22, 0x6d, 0x59, 0x20, 0x37,
+ 0x34, 0xc2, 0x90, 0x69, 0x97, 0x4b, 0xa4, 0x74, 0x3a, 0xeb,
+ 0x95, 0xfa, 0x2c, 0xd7, 0x9f, 0x4d, 0xfb, 0xa1, 0x97, 0xe6,
+ 0xb0, 0x6e, 0x15, 0x5e, 0x2f, 0x08, 0x68, 0x6b, 0x8b, 0x8c,
+ 0x56, 0xc5, 0x07, 0x0a, 0xb0, 0xf1, 0xe5, 0x0c, 0x3c, 0x43,
+ 0xc0, 0x42, 0xdc, 0xb4, 0x80, 0xc9, 0x01, 0x47, 0x49, 0xb3,
+ 0xe5, 0x29, 0x42, 0x9d, 0xac, 0x4b, 0xc4, 0x98, 0xf7, 0xc2,
+ 0x39, 0x40, 0xd3, 0x81, 0x79, 0xbe, 0x42, 0x1b, 0x79, 0x98,
+ 0xbd, 0xeb, 0x94, 0x48, 0xae, 0xb5, 0x59, 0x66, 0xa3, 0x22,
+ 0x3f, 0x5a, 0x79, 0x75, 0xc0, 0xee, 0xd0, 0x33, 0xf8, 0xc4,
+ 0xbd, 0x75, 0x11, 0xbb, 0xf7, 0x69, 0xaa, 0xf5, 0xc0, 0xd6,
+ 0x18, 0x6d, 0x1a, 0x3e, 0x1f, 0xf9, 0x5f, 0x46, 0xab, 0x2f,
+ 0xc7, 0xa4, 0x84, 0x56, 0x18, 0x6a, 0x4b, 0x85, 0xd4, 0xcd,
+ 0x87, 0x1c, 0x8c, 0x69, 0xfa, 0x11, 0xd1, 0x0f, 0xeb, 0x1b,
+ 0x4b, 0x49, 0xf7, 0x3c, 0xcc, 0x8c, 0x46, 0x89, 0x2a, 0x21,
+ 0xc5, 0x6b, 0x05, 0x98, 0xae, 0x3a, 0xf7, 0x8d, 0xb8, 0xf4,
+ 0xa2, 0xf5, 0x9b, 0x5f, 0x5d, 0xe8, 0x53, 0x28, 0xaa, 0x18,
+ 0x7b, 0x38, 0xb8, 0xd7, 0xa6, 0x13, 0x5f, 0x25, 0xf3, 0x09,
+ 0x65, 0x5e, 0xa2, 0x7c, 0x2c, 0x95, 0xde, 0x9a, 0xa6, 0x46,
+ 0x59, 0xb5, 0x24, 0x02, 0x01, 0xd7, 0x7a, 0xfc, 0xbf, 0xb3,
+ 0xd5, 0xd0, 0x0c, 0x92, 0x59, 0xed, 0x64, 0x3a, 0xd2, 0x4c,
+ 0x26, 0xa8, 0x44, 0x7b, 0x85, 0xee, 0xe4, 0x5a, 0x6b, 0x82,
+ 0x64, 0x78, 0x36, 0x50, 0xd3, 0x92, 0x49, 0x9e, 0xd9, 0x7c,
+ 0xcf, 0x25, 0x0c, 0xa2, 0xea, 0x58, 0x36, 0x2f, 0xb4, 0x23,
+ 0xaf, 0xea, 0x75, 0xc2, 0x93, 0xcb, 0xe7, 0xde, 0x28, 0x4a,
+ 0x39, 0x13, 0xb4, 0xe2, 0x81, 0x36, 0xee, 0x0f, 0xe6, 0xea,
+ 0x98, 0xcf, 0x05, 0x27, 0xe5, 0x1d, 0x22, 0x31, 0x81, 0x51,
+ 0x09, 0x18, 0x78, 0x86, 0x43, 0x84, 0x7b, 0xab, 0xc3, 0x51,
+ 0x02, 0x8e, 0x92, 0xa5, 0x09, 0x52, 0x78, 0x1a, 0x72, 0xc6,
+ 0x63, 0x9b, 0xe0, 0x9d, 0x42, 0x93, 0x5d, 0x71, 0xd1, 0xcd,
+ 0x78, 0x01, 0xed, 0x96, 0x8b, 0xe8, 0x74, 0x15, 0xe9, 0x37,
+ 0x58, 0x6d, 0xfd, 0x9a, 0x35, 0x81, 0xed, 0x0f, 0x5f, 0x3f,
+ 0xc3, 0xec, 0x76, 0x78, 0x1d, 0x0c, 0xe5, 0xc8, 0x94, 0xf9,
+ 0x2d, 0x66, 0x5f, 0x16, 0xda, 0x44, 0x97, 0x57, 0xca, 0x58,
+ 0x7e, 0x63, 0x8c, 0xbd, 0x0f, 0x6b, 0x31, 0x4e, 0xda, 0x54,
+ 0xc4, 0xa3, 0x6a, 0x87, 0xa2, 0x0e, 0x46, 0xd5, 0x7d, 0xe9,
+ 0x89, 0xe6, 0x94, 0xec, 0xc4, 0xc5, 0x29, 0x35, 0xe1, 0x6f,
+ 0xd6, 0x1b, 0xaf, 0xe2, 0x25, 0x84, 0x74, 0x7c, 0xa1, 0x6d,
+ 0x29, 0xca, 0xad, 0xcc, 0x7a, 0xf9, 0x9d, 0xe8, 0x82, 0xa5,
+ 0x57, 0x04, 0x11, 0xbd, 0x53, 0xd2, 0xad, 0xfc, 0x07, 0x08,
+ 0x28, 0xc3, 0x80, 0x7c, 0x29, 0xd8, 0x41, 0x8e, 0xbf, 0x7a,
+ 0xcf, 0x63, 0x07, 0x8f, 0x82, 0x73, 0x7c, 0x78, 0x3c, 0x5c,
+ 0x4a, 0xb7, 0x28, 0xfb, 0x24, 0xe8, 0xd3, 0x4b, 0x82, 0xcd,
+ 0xe2, 0x04, 0x14, 0x80, 0x40, 0x3e, 0xf5, 0x6c, 0xc1, 0x47,
+ 0xbe, 0x3d, 0x86, 0xd0, 0xe2, 0xa6, 0x31, 0x58, 0xfb, 0x51,
+ 0xc9, 0xe2, 0xf0, 0xa4, 0x8e, 0xab, 0xb3, 0xd8, 0x25, 0x3b,
+ 0x31, 0xa0, 0x17, 0xff, 0x85, 0x56, 0x2b, 0xd2, 0x43, 0x1d,
+ 0x32, 0x05, 0x84, 0x03, 0x37, 0x07, 0x17, 0xc3, 0x9f, 0xd1,
+ 0x13, 0xdf, 0x8e, 0xbc, 0xa0, 0x79, 0xf4, 0x73, 0x63, 0x90,
+ 0x87, 0x93, 0x9f, 0xc0, 0x0b, 0xdf, 0x25, 0xdc, 0x6e, 0xe1,
+ 0xe7, 0xfb, 0xf5, 0x78, 0x3d, 0x28, 0x8d, 0x48, 0x0b, 0xba,
+ 0x16, 0x7d, 0x4a, 0x7b, 0xdc, 0x01, 0x0d, 0x35, 0x29, 0xf0,
+ 0x7a, 0x50, 0xd9, 0x90, 0x16, 0xb7, 0x7f, 0x12, 0x5a, 0x05,
+ 0xe3, 0xe7, 0xc9, 0x45, 0x03, 0x1d, 0xe2, 0x0b, 0x1e, 0xae,
+ 0x7f, 0x8e, 0x23, 0x68, 0x0b, 0x9e, 0x4f, 0x29, 0x06, 0x31,
+ 0xcb, 0x09, 0xb7, 0x07, 0xc2, 0xb2, 0x23, 0x04, 0x6b, 0xa8,
+ 0x4d, 0x24, 0x12, 0x83, 0x58, 0x20, 0x1c, 0xc4, 0xa7, 0xfd,
+ 0xd8, 0xd3, 0x6b, 0xd1, 0xa9, 0x81, 0xc0, 0x4d, 0xc7, 0x22,
+ 0x79, 0x05, 0x3b, 0x56, 0x6f, 0x32, 0x6d, 0xcb, 0xa9, 0xef,
+ 0x8b, 0x6b, 0x04, 0xfe, 0x7f, 0xd8, 0x31, 0x1c, 0xeb, 0xaa,
+ 0x26, 0x66, 0x41, 0xee, 0x8b, 0x9f, 0xb7, 0x66, 0x3d, 0x9d,
+ 0xaf, 0x74, 0x41, 0xb3, 0xca, 0x02, 0xe9, 0xbf, 0xc8, 0x69,
+ 0xb7, 0x7e, 0x13, 0xb2, 0x3f, 0xe2, 0x71, 0x18, 0xb8, 0xbd,
+ 0x5e, 0x57, 0xfa, 0x8c, 0x09, 0x1e, 0x13, 0xd0, 0x1c, 0x20,
+ 0xa0, 0x8a, 0x45, 0x33, 0xa4, 0xe6, 0xc7, 0x7d, 0xb9, 0x2b,
+ 0xba, 0x4f, 0x1c, 0x79, 0xfb, 0xeb, 0xc1, 0x93, 0xa8, 0x14,
+ 0xe4, 0x02, 0x71, 0x9d, 0x87, 0xca, 0xec, 0x11, 0xfb, 0xb8,
+ 0x62, 0xb0, 0x35, 0xa2, 0x51, 0x07, 0x23, 0x8b, 0xdf, 0x95,
+ 0xa5, 0x73, 0x4a, 0x76, 0x62, 0x83, 0xf2, 0xf3, 0xb9, 0x15,
+ 0xeb, 0x90, 0x9f, 0xa9, 0xb2, 0xcc, 0x85, 0x44, 0x7e, 0xb4,
+ 0xf2, 0xea, 0x3b, 0x05, 0x11, 0xa0, 0x50, 0xd0, 0x59, 0x77,
+ 0x60, 0x26, 0x70, 0xa3, 0x46, 0xe4, 0x3b, 0x6e, 0x9a, 0x1e,
+ 0x66, 0x46, 0x23, 0xa5, 0x15, 0xf1, 0x83, 0xd4, 0xe3, 0x4c,
+ 0x57, 0x1d, 0x9a, 0xa7, 0x75, 0x4f, 0xb0, 0xf4, 0x7a, 0xd5,
+ 0x60, 0x96, 0xed, 0x90, 0x21, 0x70, 0x7d, 0x71, 0x75, 0x40,
+ 0xea, 0x9e, 0xa3, 0x2b, 0xf4, 0x69, 0xc0, 0xef, 0x19, 0xe3,
+ 0x42, 0xe0, 0xfa, 0xe2, 0xea, 0x80, 0xd0, 0x19, 0x7d, 0xa6,
+ 0x53, 0x6a, 0xd7, 0xb0, 0x62, 0x30, 0xcc, 0x10, 0x52, 0x91,
+ 0xd0, 0x9a, 0x2a, 0x70, 0x73, 0x18, 0x0c, 0xad, 0x7d, 0x9a,
+ 0x08, 0x58, 0xb5, 0x89, 0x50, 0x17, 0x2a, 0x56, 0x91, 0xc1,
+ 0x43, 0x9a, 0x4d, 0x44, 0xf2, 0x0a, 0x76, 0xac, 0xde, 0x64,
+ 0xda, 0x55, 0x91, 0x1d, 0x02, 0xc7, 0x5d, 0x5a, 0x2d, 0x65,
+ 0x9c, 0x50, 0x36, 0x29, 0x3f, 0xa6, 0x1f, 0xed, 0x02, 0xe8,
+ 0x46, 0xd0, 0x16, 0xff, 0x9e, 0x52, 0x0c, 0x62, 0x55, 0x12,
+ 0xad, 0x0e, 0x47, 0xa7, 0x46, 0x08, 0xa7, 0x91, 0x90, 0x08,
+ 0x04, 0xda, 0x2b, 0x76, 0xb9, 0x89, 0xd2, 0xc6, 0x30, 0x0d,
+ 0xa7, 0x32, 0xdc, 0xce, 0x70, 0xb9, 0xbd, 0xf7, 0x19, 0x93,
+ 0xd6, 0xc6, 0x4e, 0x42, 0x10, 0xba, 0xdc, 0xaf, 0x27, 0x25,
+ 0xb1, 0x2a, 0x15, 0xe3, 0xfd, 0x91, 0xa7, 0x5b, 0xc9, 0x88,
+ 0xfc, 0xab, 0x27, 0x17, 0x76, 0x0a, 0x22, 0x83, 0xa0, 0x63,
+ 0xb2, 0xee, 0xc0, 0x4c, 0xe0, 0x85, 0x8c, 0x0b, 0x76, 0xdc,
+ 0xa4, 0xd4, 0x02, 0x7f, 0xde, 0x6c, 0xf9, 0x0e, 0x94, 0x55,
+ 0x13, 0x33, 0xc1, 0x77, 0xa4, 0xae, 0xca, 0xb3, 0x3a, 0xc2,
+ 0x61, 0xf6, 0x14, 0xa6, 0xff, 0x36, 0x34, 0x12, 0xc9, 0x2a,
+ 0xca, 0x18, 0x96, 0xc9, 0x6b, 0x59, 0xcd, 0x38, 0xdb, 0xd2,
+ 0x37, 0x22, 0x61, 0x1e, 0x15, 0x36, 0x96, 0x92, 0x70, 0x80,
+ 0xc5, 0x6d, 0xd7, 0xcc, 0xd5, 0x1e, 0x9a, 0x37, 0xa1, 0xac,
+ 0xad, 0xff, 0x70, 0x27, 0x54, 0xe0, 0xe6, 0x30, 0x18, 0x99,
+ 0xfa, 0xf7, 0x10, 0xb0, 0xa9, 0xd1, 0xa0, 0x2e, 0x54, 0xac,
+ 0xe1, 0x41, 0x86, 0xf7, 0x9a, 0x88, 0x27, 0x14, 0xec, 0x9b,
+ 0x7f, 0xc8, 0x77, 0xaa, 0xe1, 0x3a, 0x6f, 0xe5, 0xf7, 0x90,
+ 0x48, 0x49, 0xa3, 0x80, 0x70, 0x96, 0xd9, 0x72, 0xe6, 0xca,
+ 0x6f, 0xc2, 0x39, 0xc2, 0x4c, 0xfa, 0x7d, 0xb5, 0xc5, 0x27,
+ 0x56, 0x0f, 0x4f, 0x05, 0x59, 0x09, 0x39, 0x86, 0x33, 0x9f,
+ 0xa6, 0x0b, 0xe4, 0x87, 0x6c, 0xf4, 0xb8, 0x82, 0x8c, 0x7e,
+ 0x3a, 0xd6, 0x33, 0x48, 0xdb, 0xc6, 0x58, 0x7a, 0x3d, 0x8b,
+ 0x30, 0x4b, 0x97, 0x48, 0xf1, 0x38, 0xdf, 0xd9, 0xdb, 0x20,
+ 0xa0, 0x99, 0xb8, 0xcb, 0x84, 0xa6, 0x02, 0xae, 0xf8, 0x07,
+ 0x6d, 0xbc, 0xff, 0x6e, 0xa0, 0xbd, 0xfe, 0x24, 0xb4, 0x0a,
+ 0x05, 0x0d, 0x51, 0x8a, 0x06, 0x3a, 0x07, 0x16, 0x3c, 0x9f,
+ 0xfe, 0xdf, 0xb2, 0xa9, 0x48, 0x04, 0x02, 0x6d, 0xf4, 0x3b,
+ 0xbd, 0xa5, 0x69, 0x63, 0x18, 0xe7, 0xb2, 0x19, 0x10, 0xf7,
+ 0xad, 0x95, 0xab, 0xae, 0x6a, 0xc5, 0x73, 0x8b, 0x3b, 0x79,
+ 0xf8, 0x64, 0x10, 0x4c, 0x71, 0x02, 0x0a, 0x40, 0x20, 0x1f,
+ 0x9b, 0x36, 0x81, 0xc2, 0x5f, 0xff, 0x43, 0x68, 0x71, 0x53,
+ 0x87, 0xbc, 0x09, 0xe1, 0x91, 0x45, 0xff, 0x3f, 0x5f, 0x5c,
+ 0xa4, 0x34, 0x03, 0xc5, 0x87, 0xaa, 0x35, 0x15, 0x41, 0xe5,
+ 0x93, 0x28, 0x0b, 0x04, 0xe2, 0xf9, 0xcd, 0x57, 0x1b, 0x22,
+ 0x35, 0xb3, 0x38, 0x40, 0x83, 0xd7, 0x8a, 0x66, 0x8b, 0x0f,
+ 0x4d, 0xfa, 0xb1, 0x56, 0xb7, 0x9e, 0x38, 0xf2, 0x52, 0x6a,
+ 0x01, 0xde, 0x6f, 0x36, 0x9d, 0x07, 0x4a, 0xcb, 0xe8, 0xf8,
+ 0x81, 0xda, 0x52, 0x57, 0x65, 0xb8, 0x1d, 0x61, 0xd1, 0x7b,
+ 0x0a, 0x53, 0x9e, 0x1b, 0x1a, 0x09, 0x85, 0x15, 0x65, 0x0c,
+ 0xde, 0x09, 0x2d, 0xe3, 0x90, 0x92, 0x85, 0xc3, 0xe0, 0xef,
+ 0x71, 0xe4, 0x0f, 0x57, 0xde, 0x47, 0x8e, 0xa4, 0x71, 0x67,
+ 0xd2, 0xc1, 0x84, 0x94, 0x9c, 0x0d, 0xa6, 0xba, 0x91, 0x60,
+ 0x8e, 0xf8, 0xa8, 0x03, 0x0f, 0x60, 0x30, 0xf1, 0x37, 0x2d,
+ 0x20, 0xa3, 0x91, 0x61, 0x83, 0x5c, 0xa8, 0x9b, 0xfd, 0x61,
+ 0x26, 0x7d, 0xdf, 0xbb, 0x83, 0xf2, 0x2b, 0xe6, 0xc6, 0xe3,
+ 0xcd, 0xe5, 0xfd, 0x43, 0x2e, 0x3d, 0xc9, 0xac, 0x56, 0x67,
+ 0x86, 0x3a, 0x64, 0x0a, 0xcb, 0x06, 0x6e, 0x0e, 0x2e, 0x45,
+ 0x01, 0x82, 0xcf, 0x2d, 0xf7, 0xd3, 0x4e, 0x28, 0x1b, 0xf5,
+ 0xfe, 0x53, 0xee, 0x97, 0x01, 0x74, 0xf8, 0xae, 0x53, 0xe4,
+ 0x72, 0xa2, 0x36, 0x7a, 0x5c, 0x41, 0x46, 0x3f, 0x1d, 0x6b,
+ 0xf8, 0x24, 0x8c, 0x63, 0x2c, 0x3d, 0xff, 0xa4, 0x18, 0xc4,
+ 0xaa, 0x24, 0x99, 0x1c, 0x8e, 0x8d, 0x8c, 0x10, 0xbb, 0xb1,
+ 0x30, 0x82, 0x41, 0xe9, 0x8f, 0x90, 0x7e, 0xf4, 0x6b, 0xed,
+ 0x8a, 0x42, 0xbb, 0x4b, 0x49, 0x42, 0x89, 0x97, 0xaa, 0x79,
+ 0x10, 0x39, 0xcc, 0x38, 0xee, 0xa9, 0xf4, 0xf6, 0x49, 0xa1,
+ 0x44, 0x17, 0x4b, 0xa5, 0xb3, 0x37, 0x90, 0x32, 0x63, 0x3b,
+ 0x92, 0xa8, 0x58, 0x4a, 0x44, 0xe0, 0xbf, 0xfc, 0x8a, 0x36,
+ 0x1b, 0x23, 0x74, 0x30, 0x12, 0xa6, 0x15, 0x62, 0xb4, 0x5b,
+ 0xbf, 0x58, 0xef, 0x51, 0xd6, 0xb2, 0x59, 0x70, 0x75, 0x67,
+ 0x6e, 0x44, 0xc2, 0x3c, 0x2a, 0x6c, 0xef, 0xe7, 0xfc, 0xe3,
+ 0xe9, 0x50, 0x28, 0x68, 0xcd, 0xda, 0x30, 0x13, 0x38, 0xb0,
+ 0x23, 0x72, 0xfc, 0x37, 0x3a, 0x87, 0xde, 0x8d, 0xa7, 0x03,
+ 0x17, 0x5f, 0x7b, 0xd3, 0x8e, 0xf0, 0xa8, 0x73, 0x3a, 0x1a,
+ 0xb1, 0xec, 0xda, 0x73, 0xd8, 0xdb, 0x26, 0x43, 0x90, 0x79,
+ 0xa8, 0x96, 0xe9, 0x9d, 0xb1, 0x85, 0xf9, 0x2c, 0x9c, 0xc9,
+ 0x85, 0x71, 0x78, 0x52, 0x47, 0xb4, 0xb8, 0x6c, 0xf3, 0xfc,
+ 0xf9, 0x50, 0x99, 0x5b, 0xf4, 0x31, 0xf9, 0x13, 0xc7, 0x89,
+ 0xae, 0x08, 0x22, 0xb9, 0xa6, 0x67, 0x99, 0x3b, 0xd8, 0x83,
+ 0xca, 0x0d, 0xe7, 0x3d, 0xe2, 0x33, 0xba, 0x94, 0x30, 0xcd,
+ 0x2e, 0xa3, 0xd8, 0xbc, 0xc9, 0xf6, 0xa8, 0xb5, 0xbb, 0x40,
+ 0xc6, 0xde, 0xd2, 0xea, 0xf5, 0xe7, 0x38, 0x50, 0xc9, 0x84,
+ 0x61, 0xf5, 0xa7, 0xd5, 0x8b, 0xb1, 0xf1, 0xf3, 0xf2, 0x49,
+ 0x64, 0x86, 0xbb, 0x0c, 0x61, 0x1f, 0x3c, 0x0d, 0x39, 0x63,
+ 0xd0, 0xac, 0x70, 0xaf, 0x21, 0xa8, 0xcf, 0xd9, 0x89, 0x87,
+ 0x3c, 0xe1, 0x89, 0xac, 0x59, 0xa4, 0x52, 0xbd, 0xad, 0x4c,
+ 0xdd, 0x83, 0x19, 0xc0, 0x5e, 0x03, 0x89, 0x77, 0x0f, 0x92,
+ 0x9f, 0x68, 0x34, 0x2b, 0x1c, 0x5b, 0x99, 0x2a, 0x43, 0xa7,
+ 0xb3, 0x51, 0x0f, 0xa9, 0x5c, 0x7a, 0x51, 0x9b, 0xac, 0xce,
+ 0xcf, 0x74, 0xc8, 0x14, 0x55, 0x0c, 0xdc, 0x1c, 0x5c, 0x8a,
+ 0xbe, 0x7e, 0x45, 0x1b, 0xec, 0xf0, 0x3a, 0x18, 0x09, 0x53,
+ 0xeb, 0x31, 0x5a, 0xcc, 0xbe, 0x2c, 0xc2, 0x29, 0x8d, 0x69,
+ 0xd5, 0xa1, 0x21, 0x25, 0x27, 0x92, 0xc8, 0xcf, 0xb5, 0x18,
+ 0xc2, 0x3e, 0xc5, 0x21, 0xa5, 0xaa, 0x55, 0xdd, 0x08, 0xfd,
+ 0x66, 0x1c, 0x77, 0xb5, 0x7a, 0x7b, 0xc5, 0xb1, 0x88, 0x2e,
+ 0x96, 0x89, 0xa5, 0x6e, 0xe3, 0x64, 0xc6, 0x76, 0xe7, 0x93,
+ 0xb0, 0x94, 0x88, 0x03, 0xa1, 0x1b, 0x77, 0xe6, 0x73, 0x75,
+ 0x4c, 0x86, 0xe3, 0xf2, 0x93, 0xef, 0x11, 0xf9, 0xa1, 0xc9,
+ 0x1d, 0xa2, 0x6f, 0xa7, 0xb2, 0xe0, 0xea, 0xce, 0xdc, 0x88,
+ 0x47, 0x78, 0x54, 0xd8, 0x1d, 0x0d, 0xc7, 0xe6, 0xf8, 0xf0,
+ 0x78, 0xb8, 0x94, 0xad, 0x50, 0x35, 0x48, 0x13, 0x65, 0x96,
+ 0xc7, 0x59, 0x6c, 0xa0, 0x65, 0xe7, 0x92, 0xff, 0x71, 0xf8,
+ 0x5d, 0x4a, 0x18, 0x87, 0x17, 0xb0, 0x6c, 0x5e, 0x85, 0x7b,
+ 0x54, 0xbb, 0xbc, 0x20, 0x63, 0x6f, 0x69, 0x75, 0x9b, 0x92,
+ 0x1c, 0x28, 0x85, 0x42, 0x9d, 0x16, 0x4e, 0x85, 0xa3, 0xd9,
+ 0x3c, 0x29, 0xc2, 0x5a, 0x5c, 0x36, 0x98, 0x7e, 0x9d, 0x28,
+ 0xd3, 0x5c, 0xef, 0xd1, 0x89, 0xdc, 0x05, 0xc8, 0x4f, 0xec,
+ 0x0d, 0xe5, 0xa3, 0xeb, 0xd3, 0x06, 0xd1, 0x9b, 0xb2, 0x8b,
+ 0xa4, 0xb9, 0x99, 0x98, 0x79, 0xc5, 0x32, 0x43, 0xbc, 0x06,
+ 0xd1, 0xee, 0x1e, 0xe7, 0xfd, 0xd0, 0x68, 0x56, 0x38, 0xb6,
+ 0xf1, 0x54, 0x86, 0x8d, 0xa5, 0xa2, 0x1e, 0x91, 0x3e, 0xca,
+ 0x64, 0x39, 0xfd, 0xc9, 0xec, 0xff, 0x17, 0x81, 0xf0, 0x7f,
+ 0x96, 0x6a, 0x3e, 0x09, 0x84, 0xf9, 0x9b, 0x96, 0x4b, 0xf3,
+ 0x2d, 0x47, 0x72, 0x80, 0x65, 0xc1, 0xf2, 0xbf, 0x84, 0x36,
+ 0x2f, 0xbf, 0x06, 0x81, 0xa1, 0xb4, 0xc8, 0x12, 0x7f, 0xff,
+ 0x35, 0x55, 0x80, 0x99, 0x2f, 0x31, 0x7d, 0xd5, 0x07, 0x5f,
+ 0xce, 0x82, 0x55, 0x15, 0x35, 0x34, 0xdd, 0xad, 0x01, 0x43,
+ 0x7d, 0x66, 0x74, 0xcd, 0x7f, 0xd9, 0x8d, 0x06, 0x2e, 0xbe,
+ 0xf6, 0x65, 0xdf, 0x23, 0x93, 0xe6, 0x74, 0x34, 0x41, 0xd8,
+ 0x3e, 0x3c, 0x1e, 0x2e, 0x25, 0xba, 0x14, 0x9c, 0x12, 0x74,
+ 0x88, 0xc4, 0x41, 0x87, 0x50, 0xad, 0x5c, 0x84, 0x42, 0x53,
+ 0x01, 0x57, 0x7c, 0xe2, 0xd7, 0x5e, 0x9e, 0x37, 0x50, 0xbf,
+ 0x21, 0xaf, 0x56, 0xc4, 0x62, 0x4c, 0x9a, 0x61, 0xfd, 0x20,
+ 0x88, 0xa1, 0xdd, 0x5f, 0x21, 0xec, 0x55, 0x62, 0x29, 0x1d,
+ 0xef, 0x4a, 0xb4, 0xdf, 0x0b, 0x45, 0x57, 0x82, 0x4e, 0xb9,
+ 0x55, 0xd8, 0xe7, 0xcb, 0x61, 0x19, 0xed, 0x27, 0x40, 0xe4,
+ 0xb6, 0xe0, 0x3e, 0xe1, 0x56, 0x5e, 0xe7, 0xc1, 0xcd, 0xbb,
+ 0x12, 0x01, 0xe1, 0x8a, 0x3d, 0x7e, 0xbe, 0xb8, 0x8b, 0x68,
+ 0x06, 0x49, 0xcd, 0x97, 0x0d, 0x55, 0xc2, 0x32, 0x19, 0x4e,
+ 0x80, 0x0b, 0xaf, 0x03, 0x7c, 0x01, 0xac, 0xbc, 0x0d, 0x41,
+ 0x7c, 0x57, 0xc8, 0x72, 0x39, 0x51, 0x1b, 0x3d, 0x2e, 0xc1,
+ 0x23, 0xfe, 0xef, 0xd4, 0x7c, 0x12, 0x37, 0xd2, 0x1c, 0xbf,
+ 0xbe, 0x4d, 0x97, 0x54, 0xd4, 0xd0, 0xf2, 0xf1, 0x04, 0xcf,
+ 0x37, 0x5b, 0x1a, 0xaa, 0x47, 0x64, 0x32, 0x9c, 0xc3, 0x16,
+ 0x9d, 0x06, 0xf8, 0x02, 0x9b, 0xbb, 0x1a, 0x82, 0xa2, 0x5e,
+ 0xe5, 0x91, 0xa9, 0xc3, 0x9e, 0xfe, 0xce, 0x2e, 0x52, 0x1a,
+ 0xe0, 0x83, 0xa2, 0x55, 0xaf, 0x0b, 0x27, 0xa3, 0xb0, 0x8d,
+ 0x1e, 0xf5, 0x61, 0x2d, 0x2e, 0x1b, 0x4c, 0x3f, 0xaf, 0x14,
+ 0xf6, 0xbe, 0x03, 0xa1, 0xb1, 0x5a, 0x64, 0x09, 0xde, 0x9e,
+ 0xfb, 0xcb, 0x40, 0xad, 0xf6, 0xf9, 0xe8, 0x59, 0xfe, 0x71,
+ 0xd9, 0x0c, 0x5c, 0xbf, 0x2f, 0xca, 0x7d, 0x46, 0xe5, 0x0f,
+ 0xe8, 0x68, 0x7e, 0x90, 0x95, 0x28, 0x14, 0x34, 0x87, 0x6d,
+ 0x18, 0xe8, 0x1c, 0x58, 0xf0, 0x39, 0x7e, 0xfa, 0x5e, 0xbd,
+ 0x0c, 0xc1, 0x81, 0xab, 0x53, 0x24, 0xfe, 0x3d, 0x6a, 0xaa,
+ 0xc3, 0xf1, 0x5e, 0x62, 0xfa, 0x69, 0x0e, 0xbe, 0x5f, 0xc7,
+ 0xaa, 0x2a, 0x6a, 0x68, 0x79, 0x99, 0x02, 0x86, 0xfa, 0xcc,
+ 0xb5, 0xa1, 0x60, 0xc7, 0x82, 0x11, 0xdd, 0xe3, 0xfc, 0x2b,
+ 0xd6, 0x19, 0xd7, 0x84, 0xb5, 0x96, 0x92, 0x84, 0xd1, 0xed,
+ 0x97, 0xf2, 0x20, 0x72, 0x5b, 0x70, 0x1f, 0x91, 0x2b, 0x2f,
+ 0x92, 0x81, 0x56, 0x27, 0xbb, 0x6a, 0x35, 0xfc, 0x66, 0xa7,
+ 0x26, 0x99, 0x96, 0x77, 0xbf, 0xc3, 0x56, 0x44, 0xf1, 0xb6,
+ 0x2b, 0x62, 0x31, 0x26, 0x4d, 0xd1, 0x9f, 0x10, 0x44, 0xb1,
+ 0x8f, 0xce, 0xf1, 0x76, 0x04, 0x4d, 0xba, 0xb4, 0x5a, 0xca,
+ 0xfb, 0xa0, 0x6c, 0x52, 0x7e, 0x8f, 0x3e, 0x19, 0x04, 0x13,
+ 0x6e, 0x67, 0x38, 0xbd, 0xbf, 0x9a, 0xed, 0xa8, 0x6b, 0x63,
+ 0x27, 0x21, 0x08, 0x5d, 0x6e, 0xb6, 0xa5, 0x56, 0xcd, 0x52,
+ 0x29, 0xbf, 0xb7, 0x26, 0x8f, 0xa0, 0xed, 0x60, 0x2f, 0xe0,
+ 0xa5, 0xda, 0xe6, 0x49, 0xae, 0x34, 0x1a, 0xf4, 0x0e, 0xcc,
+ 0xad, 0x15, 0xc0, 0xb2, 0xb8, 0xc9, 0xe6, 0xb5, 0xc8, 0x74,
+ 0x67, 0x98, 0x4c, 0x93, 0x88, 0xf6, 0xc9, 0x1f, 0x0b, 0xb4,
+ 0xd6, 0xc7, 0xc8, 0xf0, 0x7b, 0x5f, 0xe0, 0xb1, 0xb9, 0x2d,
+ 0x32, 0xe5, 0x6f, 0x4f, 0x9c, 0x84, 0x20, 0xb7, 0x7b, 0x9d,
+ 0x73, 0xc5, 0x57, 0x1a, 0x0d, 0x7a, 0x07, 0x66, 0xb7, 0xeb,
+ 0x60, 0x59, 0x5c, 0x85, 0x73, 0xbb, 0x51, 0x2f, 0x93, 0xa9,
+ 0xb5, 0x80, 0x4f, 0x7f, 0x67, 0x17, 0x29, 0x0d, 0x70, 0xa0,
+ 0x51, 0xcb, 0x95, 0x8c, 0xf9, 0x2e, 0x17, 0x8e, 0x09, 0xaa,
+ 0x1a, 0xfe, 0xa0, 0xeb, 0xe4, 0x4c, 0x95, 0x0e, 0x66, 0xfd,
+ 0x8f, 0x16, 0x0b, 0xcd, 0xd8, 0x2b, 0xb3, 0xc7, 0xdb, 0xfc,
+ 0x74, 0x6f, 0x66, 0x90, 0xd6, 0x93, 0x9a, 0x48, 0x24, 0xc5,
+ 0xb0, 0x40, 0x38, 0x4b, 0x8d, 0x39, 0x73, 0x65, 0xd6, 0x61,
+ 0x5b, 0x72, 0x79, 0x58, 0x2c, 0xb2, 0xe6, 0xac, 0x89, 0x9a,
+ 0xea, 0x76, 0x13, 0x7f, 0x5b, 0x05, 0xe3, 0x86, 0xdb, 0xad,
+ 0xb7, 0xed, 0xbb, 0x44, 0xda, 0xb2, 0x40, 0x6e, 0x68, 0x47,
+ 0xe3, 0xd2, 0x63, 0x32, 0xfa, 0x8f, 0xa6, 0xd4, 0x6d, 0xa3,
+ 0xc4, 0x60, 0x5b, 0x20, 0xa4, 0xe1, 0x63, 0xf7, 0x9b, 0x9c,
+ 0xa9, 0x6b, 0xd4, 0x76, 0x5b, 0xd9, 0x98, 0x21, 0x1d, 0x1f,
+ 0xb9, 0x8a, 0x9b, 0xd3, 0xbd, 0x3b, 0xd7, 0x6c, 0x36, 0x46,
+ 0xe8, 0x60, 0x24, 0x8f, 0x2a, 0xc4, 0xab, 0xb6, 0xbd, 0xb0,
+ 0x77, 0x88, 0xed, 0xae, 0x57, 0xb0, 0xfc, 0xc6, 0xdb, 0xb9,
+ 0x1e, 0xd6, 0x62, 0x9c, 0x77, 0xa8, 0x8d, 0xe1, 0xe3, 0x10,
+ 0x08, 0x77, 0x56, 0xec, 0xb1, 0xd1, 0x67, 0x4f, 0x60, 0x1a,
+ 0x8d, 0x64, 0xbc, 0xb9, 0x18, 0x41, 0xc1, 0x95, 0xa6, 0x48,
+ 0x3f, 0x7a, 0xd4, 0x97, 0x45, 0x21, 0xbc, 0xc4, 0xf3, 0x71,
+ 0x76, 0x38, 0x1c, 0x43, 0xd1, 0x81, 0xa9, 0x39, 0x7b, 0x17,
+ 0x90, 0x23, 0xf3, 0x9e, 0xf4, 0x79, 0x5e, 0xfb, 0x9c, 0x3f,
+ 0xf8, 0x59, 0xe8, 0xb7, 0xc4, 0x6d, 0x5f, 0x40, 0xf4, 0x11,
+ 0x26, 0xa7, 0x7e, 0x07, 0xe2, 0x30, 0xb3, 0xb9, 0xbc, 0xae,
+ 0x37, 0xdb, 0x12, 0x3c, 0x26, 0x63, 0xd4, 0x54, 0xc7, 0x12,
+ 0x09, 0xa0, 0x2c, 0x10, 0x0e, 0x62, 0xb2, 0x9f, 0x6c, 0x88,
+ 0xd4, 0x89, 0x80, 0xb4, 0x21, 0x22, 0x11, 0x39, 0xd6, 0xe7,
+ 0x1e, 0xd2, 0x1b, 0x4e, 0xcc, 0xa6, 0x80, 0x25, 0x93, 0x06,
+ 0x1e, 0xc0, 0x60, 0x21, 0x6e, 0x5a, 0x40, 0x85, 0xe1, 0xc2,
+ 0xc5, 0xb8, 0x93, 0xf5, 0xb6, 0xe4, 0xf2, 0xb0, 0x58, 0xa7,
+ 0x0f, 0x9b, 0xd1, 0xf7, 0x17, 0xec, 0x26, 0xfe, 0xb6, 0x0a,
+ 0x15, 0x38, 0xd8, 0x0c, 0x06, 0xb7, 0xdf, 0x4d, 0x04, 0x2c,
+ 0xbb, 0xa5, 0x28, 0xea, 0x15, 0x2b, 0xcc, 0x39, 0xdd, 0x2c,
+ 0x16, 0x59, 0x73, 0x56, 0xa5, 0x4d, 0x75, 0x3b, 0xe8, 0xde,
+ 0xcc, 0xe3, 0xac, 0x4e, 0xb5, 0xd4, 0x6a, 0x3b, 0xcc, 0x8d,
+ 0x4c, 0xf1, 0xef, 0xee, 0xbd, 0x45, 0xac, 0x88, 0xc1, 0x6c,
+ 0x1f, 0x1e, 0x0f, 0x17, 0xf3, 0x5d, 0x0a, 0x4e, 0x09, 0x3a,
+ 0x44, 0x62, 0xc1, 0xa2, 0xee, 0xd3, 0x19, 0x9f, 0xae, 0xa3,
+ 0x3b, 0x4f, 0x75, 0xb1, 0x3c, 0x6f, 0xc4, 0xfb, 0xee, 0x93,
+ 0xae, 0x89, 0xe8, 0x8e, 0x47, 0x5e, 0x50, 0xdd, 0x7a, 0xd8,
+ 0xd0, 0x48, 0xa2, 0xa8, 0xae, 0x60, 0x9c, 0x94, 0x81, 0xa8,
+ 0x54, 0x0a, 0x72, 0x01, 0xd9, 0xaf, 0xa2, 0x65, 0x76, 0xe9,
+ 0x9c, 0x5c, 0xd9, 0x01, 0x05, 0x20, 0x10, 0xee, 0xac, 0x1b,
+ 0xa1, 0x61, 0xce, 0x9e, 0xc0, 0x34, 0xd9, 0xc8, 0xa3, 0xdc,
+ 0x2a, 0xbc, 0x5e, 0x10, 0xd0, 0xd6, 0xd5, 0xdb, 0xac, 0x49,
+ 0x0e, 0x14, 0xa3, 0x21, 0x25, 0xe2, 0xec, 0x70, 0x38, 0x86,
+ 0x61, 0xc1, 0x91, 0x72, 0xf6, 0x2e, 0xe3, 0x46, 0x25, 0xff,
+ 0xeb, 0x1c, 0x6c, 0x06, 0x03, 0xba, 0x8e, 0xc7, 0x02, 0x16,
+ 0xbc, 0xb3, 0x14, 0x75, 0xeb, 0xf4, 0x40, 0x5a, 0xf1, 0x11,
+ 0xe9, 0xfd, 0x6b, 0x92, 0x0f, 0x69, 0xec, 0x27, 0x66, 0x53,
+ 0x40, 0xf3, 0x48, 0xc0, 0x46, 0xba, 0x5d, 0xaa, 0x5e, 0x11,
+ 0xd7, 0xcd, 0x10, 0xfa, 0x1a, 0x61, 0x48, 0xd5, 0x6d, 0x22,
+ 0xaa, 0xca, 0x65, 0x2c, 0x3f, 0xd0, 0x46, 0xbf, 0xe6, 0xd4,
+ 0xf9, 0x27, 0x6d, 0x2a, 0x28, 0xb7, 0x2e, 0x42, 0x21, 0xc8,
+ 0xe1, 0xca, 0x3e, 0x71, 0x8a, 0x2f, 0x4f, 0xfa, 0x28, 0xbe,
+ 0xff, 0xa6, 0x7b, 0x27, 0xf2, 0xde, 0x1f, 0xa2, 0x1d, 0xcf,
+ 0xf9, 0x45, 0xd2, 0x08, 0xff, 0xab, 0x0a, 0x5d, 0xea, 0xf1,
+ 0x99, 0x32, 0xa9, 0xd3, 0xee, 0x8d, 0xc3, 0x7b, 0x63, 0xdf,
+ 0x0a, 0xce, 0x4f, 0xc8, 0x6e, 0x79, 0xdd, 0xd6, 0x77, 0xc9,
+ 0x96, 0x43, 0xaf, 0x80, 0xd5, 0x02, 0x4f, 0x5a, 0x19, 0xef,
+ 0xd5, 0x13, 0xe8, 0x2a, 0x11, 0x6e, 0xb0, 0xda, 0x39, 0xf7,
+ 0x6a, 0xc1, 0x19, 0x1e, 0x53, 0xe8, 0xce, 0xf3, 0x98, 0xe5,
+ 0xd3, 0x2f, 0x51, 0x3e, 0x16, 0xab, 0x6f, 0x4d, 0x53, 0x23,
+ 0xf5, 0xfb, 0x91, 0xd6, 0x6b, 0xec, 0xb6, 0x71, 0xf3, 0x42,
+ 0x3a, 0x3e, 0xb1, 0xd7, 0xf5, 0x65, 0xb9, 0x76, 0x6d, 0xd8,
+ 0x6c, 0x8c, 0x13, 0xc0, 0x48, 0xdd, 0x54, 0x4b, 0x95, 0xaf,
+ 0xb9, 0xa3, 0xcb, 0x31, 0xf5, 0xef, 0x96, 0x25, 0x5a, 0x8e,
+ 0xe4, 0xc3, 0xca, 0x41, 0x27, 0xbd, 0xcb, 0x6c, 0x45, 0x95,
+ 0x84, 0x88, 0x44, 0xe4, 0xde, 0x1a, 0x78, 0xce, 0x6c, 0xfb,
+ 0xb6, 0xdd, 0x45, 0x94, 0x57, 0xa5, 0x74, 0x47, 0xc2, 0x2f,
+ 0x28, 0x8f, 0x3d, 0x6c, 0x68, 0x24, 0x51, 0x54, 0x57, 0x30,
+ 0xd7, 0x11, 0x55, 0x65, 0xd3, 0x16, 0xfe, 0x68, 0x23, 0xbe,
+ 0x73, 0x6a, 0x9d, 0xf2, 0xd7, 0x15, 0x68, 0xed, 0xdf, 0x53,
+ 0xc8, 0x35, 0x8a, 0x58, 0x31, 0x18, 0x66, 0x08, 0x29, 0xa9,
+ 0x68, 0x4d, 0x4c, 0x8d, 0xfc, 0x0e, 0x07, 0x60, 0xa5, 0xb1,
+ 0xbb, 0x9f, 0x6e, 0x75, 0x24, 0x78, 0x4c, 0xc6, 0x20, 0x2d,
+ 0x99, 0xe9, 0x95, 0x9f, 0xd4, 0x49, 0xe6, 0xd5, 0x76, 0xf2,
+ 0x33, 0xc8, 0x20, 0x98, 0x4a, 0x07, 0x1b, 0xe0, 0x70, 0xcf,
+ 0xc2, 0x41, 0xe1, 0xe4, 0x2f, 0x5c, 0x05, 0x8c, 0x4a, 0x3d,
+ 0x05, 0xcf, 0x75, 0x99, 0xad, 0x19, 0xb5, 0x88, 0x77, 0xa7,
+ 0x80, 0xdc, 0xd0, 0x8e, 0x05, 0x67, 0xc6, 0x64, 0x37, 0xdd,
+ 0x8f, 0x6b, 0xda, 0x85, 0x4b, 0xc0, 0xb6, 0x40, 0x8b, 0x01,
+ 0xc6, 0x2d, 0x14, 0xba, 0x17, 0x21, 0xf1, 0x64, 0x91, 0x65,
+ 0x1f, 0xd9, 0x45, 0xf6, 0xc6, 0x7d, 0x14, 0x5f, 0x9e, 0x53,
+ 0xdc, 0xf2, 0x79, 0x6f, 0xee, 0x51, 0xef, 0x86, 0x9d, 0xc3,
+ 0x69, 0x04, 0x9e, 0xb4, 0xd5, 0xd6, 0x08, 0x3f, 0xfe, 0x73,
+ 0x62, 0x38, 0x15, 0x97, 0x4c, 0xcc, 0x82, 0x1f, 0xd5, 0xfd,
+ 0x4d, 0x0f, 0x33, 0x23, 0xf0, 0xb3, 0xeb, 0x99, 0xa0, 0x6a,
+ 0x90, 0x26, 0xca, 0xef, 0x4d, 0xb2, 0xce, 0xfe, 0x80, 0x76,
+ 0x3b, 0x3c, 0xef, 0x06, 0x93, 0x64, 0x4a, 0x9d, 0xf7, 0x33,
+ 0xce, 0x0b, 0x5a, 0xf0, 0xb6, 0x75, 0xdb, 0x61, 0xa8, 0x84,
+ 0x92, 0x6f, 0x14, 0x25, 0xfd, 0xe8, 0x5a, 0x71, 0x3f, 0x48,
+ 0xab, 0x14, 0x0a, 0x1a, 0xa2, 0xd7, 0x0c, 0x74, 0x0e, 0x2c,
+ 0x78, 0xfd, 0x3f, 0x7d, 0x8a, 0xe9, 0xcb, 0xd3, 0x88, 0x0b,
+ 0x7f, 0x34, 0xf0, 0x5f, 0xd8, 0x35, 0xaf, 0x79, 0x8a, 0xeb,
+ 0x83, 0xf1, 0xb3, 0x55, 0xcb, 0x8f, 0x04, 0x9f, 0x33, 0x0e,
+ 0xda, 0xbb, 0x3d, 0xdc, 0x83, 0xb9, 0xc3, 0xab, 0x42, 0x44,
+ 0x22, 0x72, 0x6f, 0x0d, 0x3c, 0x67, 0x36, 0x9c, 0x5b, 0x8f,
+ 0xc3, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x0e,
+ 0x36, 0x03, 0xe0, 0x5d, 0x47, 0x82, 0x01, 0x0b, 0x5e, 0xb8,
+ 0x0a, 0xdb, 0x94, 0x7a, 0x1f, 0x65, 0x32, 0xfd, 0x9f, 0x85,
+ 0x76, 0x9e, 0xea, 0xa1, 0x78, 0xde, 0x4b, 0x35, 0x1f, 0xe5,
+ 0x98, 0xd9, 0x3b, 0x1c, 0x0e, 0xc0, 0x89, 0xa1, 0xb5, 0xfd,
+ 0xdc, 0xea, 0x48, 0xf0, 0x98, 0x4f,
+ },
+ {
+ /* 15 */
+ 0xcc, 0x0e, 0x86, 0xc2, 0x4f, 0xba, 0x59, 0x3b, 0xe3, 0xef,
+ 0x79, 0x82, 0x53, 0x11, 0xf0, 0xcd, 0x03, 0x96, 0x94, 0x95,
+ 0x6c, 0x2a, 0xb6, 0xf5, 0x9c, 0xba, 0xe7, 0x37, 0x83, 0x91,
+ 0xbd, 0x5b, 0x17, 0xb1, 0xab, 0xa6, 0xf9, 0x11, 0xd2, 0x03,
+ 0xc3, 0x8e, 0xc9, 0x90, 0x58, 0x92, 0xad, 0x69, 0xa5, 0x82,
+ 0x44, 0x27, 0x96, 0x65, 0xbf, 0x60, 0xda, 0x6e, 0x59, 0x28,
+ 0x51, 0x68, 0x84, 0xbe, 0xd4, 0x34, 0xac, 0xe0, 0xa9, 0x29,
+ 0xa0, 0x9f, 0x89, 0x76, 0x4d, 0xf9, 0xc1, 0x13, 0x51, 0x50,
+ 0xfc, 0x7a, 0xd2, 0x86, 0x40, 0x5f, 0x68, 0xb0, 0x37, 0x1e,
+ 0x11, 0x74, 0xb4, 0x15, 0x71, 0x34, 0xd6, 0xd0, 0xf5, 0x06,
+ 0xe1, 0xa4, 0xc5, 0x39, 0x61, 0x1b, 0xf7, 0x62, 0x82, 0x4c,
+ 0x87, 0x83, 0x76, 0x2b, 0xce, 0x5d, 0xc3, 0xbf, 0x63, 0x85,
+ 0xdc, 0x78, 0x44, 0x13, 0x95, 0x54, 0x07, 0xd0, 0xd2, 0xdb,
+ 0x47, 0x09, 0x71, 0x7d, 0x0f, 0xb6, 0x72, 0xc1, 0x40, 0x97,
+ 0x04, 0xf2, 0xe8, 0xe6, 0x20, 0x58, 0xd9, 0x78, 0x0a, 0x07,
+ 0x9f, 0xf2, 0x98, 0x1f, 0xf1, 0xa4, 0xba, 0xb9, 0xfe, 0xae,
+ 0x65, 0x91, 0xd7, 0xf4, 0xaa, 0x77, 0x7b, 0x09, 0x0c, 0x2c,
+ 0x3a, 0x76, 0x4b, 0x78, 0xc5, 0xdc, 0x42, 0x54, 0x28, 0x16,
+ 0x5c, 0x83, 0x98, 0x81, 0x1b, 0x53, 0x9b, 0x10, 0xf4, 0xee,
+ 0xe9, 0x4c, 0x46, 0x5f, 0x9a, 0x19, 0xcc, 0x5a, 0x52, 0x0e,
+ 0x08, 0x89, 0x2c, 0xe5, 0x72, 0x50, 0x86, 0x29, 0xbb, 0x57,
+ 0x85, 0xec, 0xa8, 0xa2, 0xe9, 0xed, 0x4b, 0x40, 0x60, 0x3d,
+ 0x06, 0x8b, 0x9c, 0x95, 0x2c, 0x45, 0xcc, 0x69, 0x79, 0xaf,
+ 0x02, 0xa0, 0xad, 0xb2, 0xeb, 0x78, 0xf3, 0xb8, 0x4f, 0x01,
+ 0x25, 0x21, 0xa6, 0x04, 0xbe, 0x79, 0x86, 0x2e, 0xff, 0x12,
+ 0x1b, 0xfd, 0xfc, 0xc9, 0xfa, 0x43, 0x2e, 0xa1, 0x95, 0x8f,
+ 0x31, 0x22, 0x67, 0x06, 0x45, 0xdf, 0x51, 0xe3, 0xb0, 0xe7,
+ 0x99, 0xd2, 0x7f, 0x4f, 0xa4, 0x30, 0x04, 0x69, 0xe7, 0x0b,
+ 0x8e, 0xd8, 0xb4, 0x96, 0x9a, 0x25, 0xb2, 0x92, 0xad, 0x94,
+ 0xe3, 0x39, 0x75, 0x14, 0xe8, 0xbd, 0xfc, 0x19, 0xf4, 0x01,
+ 0x9e, 0xd7, 0x5a, 0x74, 0x06, 0xef, 0xeb, 0xe9, 0xd8, 0x54,
+ 0xaf, 0x29, 0xfb, 0xb7, 0x0d, 0x6e, 0xc5, 0xe1, 0xb9, 0xb6,
+ 0x6b, 0x68, 0x9b, 0x03, 0x91, 0x52, 0x83, 0xfd, 0xd1, 0xec,
+ 0x9a, 0x31, 0x41, 0x26, 0xa2, 0xa0, 0x3b, 0xf4, 0x67, 0xcf,
+ 0x80, 0xbe, 0xd0, 0xa3, 0x6e, 0x3c, 0x22, 0xe8, 0xab, 0x2a,
+ 0xe2, 0x68, 0x6a, 0x1a, 0x56, 0x70, 0xb5, 0xf5, 0x50, 0xae,
+ 0xa5, 0x3b, 0xc7, 0x9d, 0x81, 0xe8, 0xc9, 0x28, 0x7e, 0x3d,
+ 0x69, 0x43, 0x20, 0xce, 0x34, 0x58, 0xfa, 0x0f, 0xe9, 0x3a,
+ 0x5a, 0xeb, 0xd9, 0x1a, 0x3c, 0x69, 0x41, 0x55, 0x7c, 0x4d,
+ 0xac, 0xd9, 0xe1, 0x5c, 0x72, 0x2a, 0xae, 0x05, 0x30, 0x56,
+ 0x84, 0xa8, 0x50, 0x2c, 0xb8, 0xc5, 0xf3, 0xc1, 0x36, 0xa6,
+ 0xf5, 0x20, 0x2b, 0x1f, 0x11, 0x98, 0x67, 0x75, 0x8e, 0x12,
+ 0xe2, 0xfa, 0x1e, 0xaf, 0xe4, 0x41, 0x80, 0xed, 0x08, 0x27,
+ 0x13, 0x0f, 0xb6, 0x38, 0x5d, 0x8e, 0xff, 0xad, 0xa7, 0xec,
+ 0x0a, 0x3a, 0x27, 0x4d, 0x8f, 0x44, 0x46, 0xb2, 0x16, 0xc3,
+ 0x66, 0xd5, 0xdd, 0xb6, 0x01, 0x50, 0xb7, 0x59, 0x94, 0x3c,
+ 0x98, 0x5c, 0xc6, 0xe1, 0x88, 0xb5, 0x45, 0x3d, 0xcb, 0x6d,
+ 0x6e, 0x93, 0x03, 0x0b, 0xef, 0xfc, 0x62, 0x1e, 0xa0, 0x37,
+ 0x58, 0x8a, 0x5b, 0xd2, 0xf2, 0x9d, 0x04, 0x83, 0x99, 0xa7,
+ 0x15, 0xf0, 0x25, 0xb3, 0x9e, 0x02, 0xbc, 0xca, 0xa3, 0x76,
+ 0x54, 0x51, 0x95, 0x97, 0xc4, 0x20, 0x30, 0xff, 0x03, 0xa4,
+ 0x4e, 0xab, 0xde, 0xc6, 0x52, 0x18, 0x02, 0xd5, 0x92, 0xe4,
+ 0x47, 0x6c, 0x5a, 0x4b, 0x4d, 0xf3, 0x59, 0x49, 0xc2, 0xf7,
+ 0xca, 0x35, 0x74, 0x9f, 0xa1, 0xcf, 0x3e, 0x2f, 0xd9, 0xc5,
+ 0x59, 0x4f, 0x97, 0xb1, 0x4e, 0x49, 0x3d, 0x07, 0x2f, 0x2b,
+ 0x05, 0xd3, 0x2e, 0xfe, 0x81, 0xcc, 0xbd, 0xef, 0x58, 0xe3,
+ 0x3f, 0xff, 0xd5, 0xc0, 0x10, 0x67, 0x1a, 0x2c, 0x7d, 0xe6,
+ 0x95, 0x1d, 0x2d, 0x94, 0x8d, 0x0d, 0x0e, 0xf9, 0x4c, 0xf7,
+ 0x3b, 0x25, 0xf8, 0xf4, 0xdd, 0xc0, 0xa0, 0x47, 0x0a, 0x5e,
+ 0x67, 0x7c, 0x1f, 0xa7, 0x0c, 0xb8, 0x1a, 0x60, 0x85, 0xde,
+ 0xe5, 0xf9, 0x64, 0xb9, 0x97, 0x2d, 0x73, 0xa3, 0x99, 0xeb,
+ 0x05, 0x72, 0xea, 0x28, 0x13, 0xb9, 0x3b, 0x32, 0x2b, 0x02,
+ 0xff, 0x6d, 0xb4, 0xe8, 0x0c, 0x1d, 0x15, 0x11, 0x73, 0xa8,
+ 0x9d, 0x52, 0x35, 0xad, 0x1a, 0xdc, 0x49, 0x01, 0xb1, 0xaf,
+ 0x70, 0xc4, 0x25, 0xb4, 0x1b, 0xeb, 0xcc, 0xac, 0x27, 0xcf,
+ 0x49, 0x7d, 0x50, 0xb5, 0xbe, 0x66, 0x44, 0xbb, 0xc3, 0xff,
+ 0x84, 0xd7, 0x37, 0xa8, 0xe0, 0xe4, 0x96, 0x7e, 0x31, 0x0f,
+ 0x50, 0xfa, 0x2d, 0x37, 0x01, 0x1a, 0x5d, 0x08, 0xd1, 0xf3,
+ 0xd9, 0x65, 0xb6, 0xd4, 0x33, 0x76, 0x24, 0x89, 0x5f, 0x17,
+ 0x7d, 0x48, 0x0e, 0x6e, 0x78, 0xf9, 0x16, 0xc7, 0x45, 0x32,
+ 0x20, 0x9c, 0x4c, 0x3c, 0x78, 0xd2, 0x82, 0xaa, 0xf8, 0x9a,
+ 0x9b, 0x71, 0x01, 0xb8, 0xe4, 0x54, 0x9f, 0x0a, 0x60, 0xac,
+ 0xcb, 0x93, 0xa0, 0x58, 0xb3, 0x49, 0x25, 0x41, 0x6c, 0x8f,
+ 0x29, 0x40, 0x56, 0x3e, 0x22, 0xf3, 0xd5, 0x46, 0x61, 0x93,
+ 0x8d, 0x8e, 0x73, 0xcc, 0xfd, 0xa1, 0x10, 0x55, 0x01, 0xdd,
+ 0x3a, 0xd8, 0x73, 0x52, 0xb1, 0x21, 0x77, 0xc1, 0x7a, 0x59,
+ 0xbb, 0x75, 0xae, 0x4a, 0xd3, 0x24, 0x03, 0x3d, 0x5c, 0x81,
+ 0xe9, 0xdd, 0x62, 0x44, 0xce, 0x0c, 0x8a, 0x7d, 0xa2, 0x05,
+ 0xa3, 0x0d, 0xf1, 0x67, 0xfe, 0x9e, 0x8b, 0x60, 0x08, 0xd2,
+ 0x0d, 0x16, 0xdf, 0x73, 0xab, 0xef, 0xf7, 0x4a, 0xa7, 0xe7,
+ 0x6f, 0x63, 0x29, 0x0c, 0x01, 0x8b, 0x49, 0x72, 0xc2, 0x36,
+ 0x2d, 0xc4, 0xc7, 0x98, 0xcd, 0xc5, 0x1a, 0xde, 0x73, 0xc4,
+ 0xae, 0x1e, 0x9c, 0x02, 0x82, 0xf4, 0x8e, 0xe0, 0xd1, 0x5d,
+ 0x77, 0x4e, 0x07, 0x9d, 0x26, 0x9a, 0xfc, 0xf3, 0x7c, 0x7a,
+ 0x8f, 0x60, 0x50, 0xc2, 0x05, 0x2f, 0xd2, 0x3e, 0xee, 0xb2,
+ 0x06, 0x5c, 0x0d, 0x30, 0xa3, 0x6f, 0x93, 0x9d, 0x32, 0xbd,
+ 0xaa, 0xf7, 0xd8, 0xb0, 0xea, 0xb9, 0xb4, 0x53, 0x9d, 0xe9,
+ 0x69, 0xe0, 0x80, 0x47, 0x85, 0x48, 0x2c, 0x49, 0xb7, 0xd5,
+ 0xc8, 0x05, 0x34, 0xcd, 0xdf, 0x63, 0x93, 0xb4, 0xf0, 0x35,
+ 0xce, 0x77, 0xd5, 0xaf, 0x9f, 0xa8, 0x8c, 0xbe, 0xf7, 0x32,
+ 0x5b, 0xb4, 0xa4, 0x1c, 0x10, 0xd1, 0x58, 0x09, 0xe4, 0xa0,
+ 0xcf, 0x52, 0xb5, 0xae, 0xc9, 0x1b, 0x93, 0x87, 0x11, 0x19,
+ 0x96, 0x80, 0xc0, 0x7a, 0x0c, 0xd5, 0xfb, 0xe9, 0x38, 0x62,
+ 0xf3, 0x5a, 0xec, 0x94, 0x66, 0x56, 0xf2, 0x86, 0xc5, 0xdf,
+ 0x28, 0xbb, 0x5f, 0x33, 0x59, 0xf8, 0x96, 0xa1, 0xd6, 0x3a,
+ 0xd7, 0xd0, 0xed, 0x70, 0x48, 0x5c, 0xe5, 0x7d, 0xf5, 0x8a,
+ 0x69, 0x8c, 0xc2, 0xe5, 0xd9, 0xdf, 0xe6, 0x5b, 0x39, 0x81,
+ 0x20, 0xaa, 0x02, 0x79, 0x74, 0x73, 0x10, 0x2c, 0x8d, 0x3c,
+ 0x05, 0xe2, 0xae, 0x79, 0x4c, 0xee, 0x99, 0x52, 0x5d, 0xbd,
+ 0x7f, 0x57, 0xf0, 0x67, 0xc7, 0x97, 0x33, 0xf7, 0xf5, 0xe2,
+ 0x02, 0xb3, 0x0b, 0xa8, 0xfd, 0x14, 0xc0, 0x9b, 0xa3, 0x6d,
+ 0xaf, 0xce, 0x4e, 0x31, 0x10, 0x49, 0x21, 0xd9, 0x54, 0x46,
+ 0x94, 0x89, 0x3d, 0x08, 0x09, 0x64, 0x6a, 0x6d, 0xc7, 0xd6,
+ 0x84, 0x8e, 0x52, 0xa0, 0xf0, 0x85, 0x0f, 0x71, 0xb5, 0x42,
+ 0x0d, 0x6f, 0xd8, 0x62, 0x57, 0x0f, 0x4e, 0x01, 0x41, 0x7a,
+ 0x47, 0x70, 0x89, 0xcf, 0xda, 0x27, 0xfd, 0x08, 0x1f, 0xf5,
+ 0x64, 0xf8, 0xbb, 0xe3, 0x43, 0xc9, 0x4c, 0xd8, 0x74, 0xdb,
+ 0x1a, 0xbc, 0x1b, 0xac, 0xbe, 0xb7, 0x8a, 0xb9, 0x4f, 0x51,
+ 0xf6, 0x23, 0xd3, 0x4c, 0x11, 0x93, 0x1c, 0xc6, 0x27, 0xc5,
+ 0xff, 0xe2, 0xf6, 0xf4, 0xe3, 0x88, 0x17, 0x7f, 0xa1, 0x66,
+ 0xbf, 0x96, 0x2c, 0x90, 0x8d, 0xcc, 0x3a, 0x41, 0x7f, 0x13,
+ 0x77, 0x4f, 0x64, 0x06, 0x05, 0xa5, 0x24, 0x6e, 0xa4, 0xda,
+ 0xf2, 0x83, 0x9e, 0x71, 0x7b, 0x7a, 0x90, 0x44, 0xea, 0xde,
+ 0xb1, 0x33, 0xbe, 0x4b, 0x16, 0x48, 0x92, 0x6b, 0x36, 0xf9,
+ 0x65, 0x73, 0xf2, 0x91, 0x81, 0xff, 0x61, 0x1c, 0xb3, 0x43,
+ 0xd7, 0x79, 0x6d, 0x87, 0x70, 0xea, 0x49, 0x06, 0x2c, 0xd4,
+ 0x2a, 0x5b, 0x97, 0x5f, 0x84, 0xc7, 0x1b, 0x16, 0x5d, 0xf3,
+ 0x24, 0xae, 0x46, 0xe3, 0x1d, 0x5f, 0xfe, 0xaa, 0xff, 0xa9,
+ 0x63, 0xc3, 0x9a, 0xef, 0xf1, 0x15, 0x0a, 0xe4, 0x17, 0x50,
+ 0x26, 0xb1, 0x76, 0x64, 0x56, 0x04, 0x3d, 0xda, 0xab, 0x13,
+ 0x21, 0x2a, 0x14, 0x0b, 0x2e, 0xa0, 0x4c, 0xa1, 0xec, 0xc8,
+ 0xac, 0x08, 0x7a, 0x77, 0x95, 0x26, 0x37, 0xe9, 0x72, 0xde,
+ 0xf3, 0x16, 0x4d, 0xf1, 0x5b, 0x91, 0x38, 0x34, 0xe2, 0x2b,
+ 0x53, 0xc7, 0x40, 0xb0, 0x71, 0xf0, 0x14, 0x0e, 0xfd, 0x27,
+ 0xf3, 0x3e, 0x21, 0x8b, 0xb7, 0xb1, 0x3f, 0x9f, 0x8e, 0x5a,
+ 0xae, 0xd4, 0x13, 0x39, 0xc1, 0xba, 0xf8, 0xbc, 0xe2, 0x92,
+ 0xa7, 0xff, 0x19, 0x81, 0xe8, 0x5d, 0xed, 0xb5, 0xd5, 0x64,
+ 0x0c, 0x46, 0x68, 0x2a, 0x3f, 0xd3, 0x6f, 0x16, 0x61, 0x06,
+ 0xe4, 0x40, 0xf8, 0xa4, 0xa6, 0xcc, 0x91, 0x14, 0x5d, 0x87,
+ 0x25, 0x0f, 0x26, 0x17, 0xd0, 0xa9, 0xec, 0x56, 0x5f, 0xba,
+ 0x45, 0xbd, 0xc6, 0xc9, 0x7b, 0xf0, 0x88, 0x26, 0xe9, 0xa8,
+ 0x0e, 0x63, 0x9e, 0x76, 0x23, 0xe8, 0x16, 0xdb, 0x6f, 0xc3,
+ 0xb4, 0x52, 0x7b, 0xc0, 0xfa, 0x42, 0x66, 0xd6, 0x9c, 0x92,
+ 0x7a, 0x0e, 0x5e, 0x56, 0x0a, 0x65, 0x5c, 0x3f, 0xc1, 0x5b,
+ 0xb9, 0x1d, 0xb0, 0x05, 0xd1, 0x4d, 0xd3, 0x9c, 0x1d, 0x57,
+ 0xb9, 0x43, 0xee, 0x7b, 0xa7, 0xa0, 0x87, 0x63, 0x55, 0xbd,
+ 0xe7, 0xd6, 0x6c, 0x31, 0xca, 0xe6, 0x27, 0xe1, 0xc1, 0x3d,
+ 0xc2, 0x38, 0xa5, 0x86, 0x6d, 0xf2, 0xb8, 0xc1, 0x11, 0x79,
+ 0xc4, 0x88, 0x5f, 0x18, 0xd7, 0xfa, 0x87, 0x0a, 0x85, 0x1a,
+ 0x21, 0xce, 0x2f, 0xd3, 0x58, 0xfc, 0x15, 0x85, 0xb4, 0x55,
+ 0x31, 0x08, 0x0c, 0x4f, 0x70, 0x29, 0xf2, 0x5a, 0xe2, 0xaf,
+ 0x13, 0x4d, 0x7e, 0x98, 0x3e, 0x3d, 0xa6, 0x30, 0x28, 0x61,
+ 0xe3, 0xf6, 0x69, 0x1f, 0x8a, 0x51, 0x1c, 0xdb, 0x83, 0xe0,
+ 0x0b, 0x35, 0xeb, 0x66, 0x55, 0x67, 0x21, 0x41, 0x76, 0xe4,
+ 0xd7, 0xa2, 0x38, 0x75, 0xc5, 0x03, 0x16, 0x6a, 0x15, 0xcc,
+ 0xaa, 0xce, 0x42, 0x82, 0xec, 0x0b, 0xb4, 0xdc, 0x04, 0x68,
+ 0xb7, 0x20, 0xc2, 0x4a, 0xe2, 0x57, 0x9d, 0xd6, 0xcc, 0x1b,
+ 0x90, 0x61, 0x29, 0x3c, 0xb3, 0x15, 0xcd, 0xd1, 0x1b, 0x7c,
+ 0xca, 0xbf, 0x01, 0x21, 0xb5, 0xc8, 0x4b, 0xec, 0x13, 0xba,
+ 0x19, 0xa9, 0x69, 0xc8, 0x18, 0x8c, 0xd0, 0x54, 0x7e, 0x65,
+ 0xde, 0x2c, 0xc2, 0x0c, 0x98, 0x99, 0xc8, 0x01, 0xce, 0x8f,
+ 0xc0, 0xea, 0x4f, 0xe5, 0x76, 0xae, 0x3f, 0xa3, 0xdf, 0x60,
+ 0x80, 0xa3, 0xe2, 0x23, 0x28, 0x1c, 0x39, 0x4e, 0x25, 0x7c,
+ 0x42, 0xd5, 0xad, 0xa1, 0x7e, 0xfd, 0xa6, 0x14, 0xd0, 0xb2,
+ 0xfa, 0x4f, 0x09, 0x95, 0x46, 0xd4, 0xbe, 0x1f, 0xd2, 0xf9,
+ 0x39, 0xe5, 0x62, 0x0c, 0xf1, 0x6e, 0x56, 0x84, 0x07, 0x73,
+ 0x83, 0x4c, 0x6a, 0xb4, 0x4e, 0x57, 0x17, 0xe2, 0xb3, 0x41,
+ 0x22, 0xf2, 0x4b, 0xd3, 0xbe, 0x30, 0x6d, 0x37, 0xcd, 0x14,
+ 0xc9, 0x34, 0x42, 0x5f, 0x5e, 0x65, 0xb0, 0x3b, 0x2a, 0xc9,
+ 0xab, 0xaa, 0x62, 0x10, 0x18, 0x9e, 0xe0, 0x52, 0x27, 0xb4,
+ 0x72, 0x20, 0x7c, 0x52, 0x53, 0x66, 0xa9, 0x0a, 0xcf, 0xa2,
+ 0xf3, 0xe6, 0x13, 0xea, 0x68, 0xb5, 0x43, 0x26, 0xe5, 0x65,
+ 0x78, 0x24, 0x4b, 0xd2, 0x6f, 0x84, 0xc6, 0xbc, 0x34, 0x20,
+ 0x82, 0xc4, 0x34, 0x7f, 0xe6, 0x4b, 0x9f, 0x3c, 0xfb, 0x04,
+ 0xc7, 0x2b, 0xdf, 0x03, 0x61, 0xba, 0xee, 0x9c, 0x35, 0x0d,
+ 0x2b, 0x38, 0xbb, 0x9b, 0x28, 0x57, 0xb3, 0xfc, 0x82, 0xaf,
+ 0xa1, 0x74, 0x85, 0x14, 0x52, 0x78, 0xa5, 0x2a, 0x59, 0x61,
+ 0x36, 0xf8, 0x57, 0xbd, 0x02, 0x42, 0xa9, 0x53, 0x96, 0x1b,
+ 0x26, 0xb7, 0x32, 0x91, 0xd2, 0x53, 0x30, 0xdb, 0x63, 0xa8,
+ 0xfc, 0xca, 0x7f, 0x58, 0x47, 0x18, 0x7d, 0xab, 0xfd, 0xd6,
+ 0x4c, 0xe4, 0x82, 0xad, 0x66, 0xb5, 0x0e, 0x0d, 0xd9, 0x7a,
+ 0x64, 0x41, 0xb7, 0x4a, 0x90, 0xfd, 0xdb, 0x0a, 0x74, 0xbf,
+ 0x7e, 0xed, 0x7a, 0xe1, 0x4f, 0x8a, 0x2d, 0x3a, 0x0a, 0xf2,
+ 0xfe, 0xf8, 0xab, 0xfc, 0x32, 0x7b, 0xce, 0x1a, 0x17, 0xb2,
+ 0x8c, 0xe0, 0x08, 0x19, 0x45, 0xc9, 0x0e, 0x8c, 0xa0, 0x70,
+ 0xe4, 0xfb, 0x94, 0x33, 0xcb, 0xd2, 0xf1, 0xc1, 0x3b, 0x72,
+ 0x81, 0xd1, 0x2f, 0x50, 0x0c, 0xbb, 0xea, 0x1d, 0x51, 0xab,
+ 0x1f, 0x79, 0x6d, 0x6f, 0x15, 0x75, 0x6e, 0x11, 0xe4, 0x7f,
+ 0x25, 0x2c, 0x9a, 0x21, 0xb6, 0xe1, 0x70, 0x68, 0x07, 0x56,
+ 0xa6, 0x4d, 0x53, 0x0a, 0x68, 0x59, 0x7d, 0xc6, 0xe5, 0xab,
+ 0x23, 0x6a, 0x5f, 0xee, 0x69, 0x9d, 0xfd, 0x93, 0x4a, 0x42,
+ 0x8f, 0x08, 0xbf, 0xf2, 0xcf, 0x5c, 0x3d, 0x24, 0x36, 0x39,
+ 0x3b, 0x51, 0x37, 0x86, 0x79, 0xa0, 0x4f, 0xd9, 0xdc, 0x3d,
+ 0x48, 0x22, 0x75, 0x6f, 0xb9, 0xf8, 0x5f, 0xc4, 0x0b, 0x24,
+ 0x32, 0x90, 0x0d, 0xa2, 0x47, 0x68, 0x54, 0x2d, 0x3c, 0x9c,
+ 0xd2, 0x6d, 0xa4, 0x5b, 0x57, 0x2a, 0x61, 0x9a, 0x65, 0xfb,
+ 0x3a, 0xae, 0xb1, 0x86, 0x1f, 0xf6, 0x8d, 0x83, 0xcd, 0xc6,
+ 0xaa, 0xb9, 0xfb, 0xe7, 0xf4, 0x1c, 0xbc, 0xac, 0x14, 0xca,
+ 0xb8, 0x7e, 0x41, 0xb6, 0xb1, 0x3a, 0xa3, 0x0a, 0x39, 0x10,
+ 0x3e, 0x29, 0xc8, 0x33, 0xb5, 0x05, 0x86, 0x51, 0x98, 0x73,
+ 0xe8, 0x75, 0x34, 0xbb, 0xc0, 0x13, 0x93, 0xd3, 0x3c, 0x12,
+ 0xc4, 0x69, 0xd6, 0x42, 0x63, 0x5e, 0x1a, 0x10, 0x41, 0x62,
+ 0xfa, 0x95, 0x39, 0x6f, 0x98, 0x0b, 0xc7, 0x99, 0xcc, 0xa9,
+ 0x1c, 0x1a, 0x71, 0xf4, 0xc8, 0x82, 0x5b, 0x1c, 0xcf, 0x47,
+ 0x9e, 0xb7, 0xb2, 0x76, 0x05, 0x1d, 0xf2, 0xc7, 0xa6, 0x22,
+ 0x23, 0x59, 0xa4, 0xf0, 0x89, 0x54, 0xb2, 0xc2, 0x6c, 0x33,
+ 0xae, 0xb9, 0x04, 0x84, 0x91, 0xa6, 0xef, 0x36, 0xba, 0x25,
+ 0x48, 0x9f, 0x8c, 0x05, 0x3a, 0xbe, 0x3f, 0x97, 0x3d, 0x91,
+ 0xc6, 0x45, 0xf7, 0x1d, 0xda, 0xcd, 0xe0, 0x17, 0x92, 0x0c,
+ 0x58, 0x6b, 0x54, 0xb6, 0xed, 0xbe, 0xcb, 0x4d, 0x36, 0x2c,
+ 0x4c, 0xad, 0x64, 0xe1, 0x67, 0xa6, 0x60, 0x75, 0xc6, 0x93,
+ 0x3b, 0x57, 0xfe, 0xb0, 0x8e, 0x30, 0x05, 0x79, 0x7f, 0x7c,
+ 0xb4, 0x7e, 0x19, 0xdc, 0x67, 0x0d, 0xea, 0x59, 0x46, 0x70,
+ 0x04, 0xed, 0xc3, 0x85, 0x07, 0x46, 0x50, 0x38, 0x72, 0x9c,
+ 0x4a, 0xf8, 0x84, 0x69, 0x99, 0x81, 0xfc, 0x39, 0x3a, 0x86,
+ 0xaa, 0xbc, 0xa4, 0x19, 0x03, 0xf0, 0x1a, 0xeb, 0x7f, 0x44,
+ 0x6b, 0xe4, 0x89, 0xe0, 0x82, 0x47, 0xbb, 0xc5, 0x60, 0x91,
+ 0x5c, 0xe8, 0xcd, 0x11, 0xf8, 0x4e, 0xee, 0xfe, 0xa8, 0x2e,
+ 0x18, 0x3a, 0x2a, 0x22, 0xe6, 0x93, 0xf9, 0xa4, 0x6a, 0x99,
+ 0x34, 0x7b, 0x92, 0x02, 0xa1, 0x9d, 0xc9, 0x77, 0xf9, 0xbe,
+ 0xfb, 0xc4, 0x40, 0xe7, 0x84, 0xe2, 0x93, 0xdb, 0x15, 0x61,
+ 0xf4, 0x20, 0x68, 0xfe, 0x0f, 0x96, 0xfd, 0x78, 0x35, 0x08,
+ 0x4d, 0x56, 0x7d, 0x06, 0xc2, 0xb7, 0x1f, 0xfb, 0xf6, 0x88,
+ 0x2c, 0x7e, 0xeb, 0xa3, 0x5a, 0xcb, 0xf9, 0x04, 0x06, 0xc6,
+ 0x38, 0xf5, 0x79, 0x2d, 0x63, 0x7e, 0x3c, 0x1d, 0x72, 0x23,
+ 0xd4, 0x20, 0xf7, 0x9b, 0x37, 0x18, 0x8e, 0x99, 0x7c, 0x6a,
+ 0x87, 0x3e, 0xc4, 0xb9, 0xd4, 0xef, 0x45, 0x34, 0xaa, 0x1c,
+ 0x12, 0x17, 0xa8, 0x8e, 0xac, 0xc3, 0x49, 0xd4, 0x1b, 0x9d,
+ 0xd3, 0xd8, 0x79, 0xa9, 0xa1, 0x9e, 0xd1, 0x0e, 0xb8, 0xc0,
+ 0x8a, 0xdd, 0x36, 0x9b, 0xbf, 0xad, 0xd7, 0xb1, 0x9e, 0xa2,
+ 0x2f, 0x46, 0x65, 0x98, 0x22, 0xe5, 0x38, 0x4f, 0x91, 0xfd,
+ 0xa2, 0x6c, 0x09, 0x59, 0x44, 0x64, 0x1d, 0x45, 0x86, 0x2b,
+ 0x30, 0xd2, 0x6a, 0x22, 0x97, 0x12, 0x49, 0x85, 0xd1, 0x0d,
+ 0xeb, 0x4d, 0xe6, 0xf2, 0x8b, 0x45, 0xf5, 0x33, 0xd3, 0x94,
+ 0x33, 0xe2, 0xc0, 0xd1, 0x63, 0xcf, 0x87, 0x7e, 0x48, 0x4b,
+ 0x8f, 0xc1, 0x64, 0x95, 0x3c, 0xa2, 0x08, 0x16, 0xa7, 0x1e,
+ 0xe3, 0x71, 0x57, 0xdd, 0x26, 0x77, 0xad, 0x29, 0xcf, 0xbf,
+ 0xde, 0xca, 0x7c, 0xd9, 0x30, 0xa5, 0x68, 0x43, 0x51, 0xfe,
+ 0x12, 0x62, 0x53, 0xa1, 0x19, 0xb4, 0x0f, 0xc9, 0x02, 0xe4,
+ 0x59, 0xe6, 0x48, 0x8d, 0x65, 0xa6, 0xe8, 0x6d, 0xba, 0x9b,
+ 0x43, 0x5f, 0xd6, 0xd3, 0x77, 0x59, 0x03, 0x2e, 0xe7, 0x18,
+ 0xb0, 0xd6, 0xa8, 0xaf, 0x19, 0xbf, 0x55, 0x9a, 0x6c, 0x58,
+ 0x85, 0xda, 0x9d, 0x5f, 0x9c, 0x62, 0x20, 0x92, 0x42, 0x71,
+ 0xa8, 0x8c, 0xeb, 0xd1, 0x7a, 0x10, 0x66, 0x07, 0x43, 0x61,
+ 0xc6, 0x5d, 0xcd, 0xfc, 0x90, 0x96, 0xdd, 0x41, 0xc8, 0xe9,
+ 0x78, 0x87, 0x41, 0xc2, 0xbc, 0x83, 0x30, 0xa9, 0x2e, 0x74,
+ 0x87, 0xe9, 0x7c, 0x27, 0x77, 0x7f, 0x54, 0x17, 0x30, 0x74,
+ 0x54, 0x44, 0x0f, 0xe5, 0x31, 0x8b, 0xd4, 0xf1, 0x68, 0xf6,
+ 0xe7, 0x04, 0x81, 0xf9, 0xcd, 0x7c, 0x4b, 0xb1, 0x6b, 0x1d,
+ 0x8a, 0x68, 0x97, 0x38, 0x24, 0x2e, 0x93, 0xdf, 0x9b, 0x45,
+ 0xd0, 0x3f, 0x1e, 0xef, 0x39, 0xf0, 0x6a, 0x10, 0x9a, 0xac,
+ 0xfa, 0x0c, 0x47, 0xad, 0x3e, 0x35, 0xd9, 0x5b, 0x74, 0x82,
+ 0xfe, 0x26, 0xee, 0x9e, 0xc8, 0x0c, 0x0a, 0x89, 0x48, 0xdc,
+ 0x8b, 0x77, 0xa9, 0x9f, 0x51, 0x36, 0xe5, 0xcd, 0x22, 0x32,
+ 0xef, 0xc3, 0x43, 0xf4, 0x18, 0x69, 0x35, 0x11, 0xaa, 0x09,
+ 0xc5, 0xa3, 0x89, 0xe7, 0x94, 0xc7, 0x73, 0x79, 0xa4, 0xc3,
+ 0x9b, 0xf8, 0x88, 0x4a, 0xc5, 0x6a, 0xec, 0xaf, 0x88, 0x6c,
+ 0xdd, 0xb5, 0xb1, 0x4f, 0x89, 0x07, 0x5c, 0x60, 0x45, 0x8f,
+ 0x60, 0xe8, 0xa8, 0x88, 0x1e, 0x09, 0x62, 0xd5, 0x6b, 0x21,
+ 0xd0, 0x2f, 0x0d, 0x08, 0xc1, 0x31, 0xf8, 0x71, 0x60, 0x89,
+ 0xd0, 0x86, 0xa2, 0x3f, 0x24, 0xc4, 0xa6, 0x81, 0x32, 0xab,
+ 0x1e, 0x51, 0x04, 0x0b, 0xb2, 0x0f, 0x90, 0xd9, 0xca, 0x8f,
+ 0x13, 0xda, 0xb7, 0xf5, 0x86, 0xbe, 0x6f, 0x65, 0x90, 0x8f,
+ 0x6f, 0x1f, 0x2d, 0xfe, 0x97, 0x37, 0x69, 0x92, 0xdb, 0x87,
+ 0xf0, 0x1c, 0x01, 0xaa, 0xe6, 0xa4, 0xa1, 0x42, 0xee, 0x41,
+ 0xf4, 0xb2, 0xb5, 0xea, 0x9f, 0x94, 0x65, 0x48, 0x06, 0x7a,
+ 0x96, 0x60, 0x84, 0xf6, 0xf5, 0xaa, 0x38, 0x1e, 0x92, 0x25,
+ 0xd6, 0xe9, 0x35, 0xfd, 0xb8, 0x1c, 0xaf, 0x70, 0xba, 0xdf,
+ 0x3d, 0x99, 0x8d, 0x1b, 0x14, 0x74, 0x4e, 0x9a, 0xdd, 0x88,
+ 0x8c, 0xa7, 0xc6, 0xfc, 0x78, 0x3a, 0xe4, 0x46, 0x6b, 0x40,
+ 0x2d, 0xf5, 0x6e, 0x30, 0xdf, 0xf1, 0xf8, 0xd4, 0xa7, 0x66,
+ 0x1d, 0xc1, 0xde, 0xe8, 0xda, 0xc6, 0x32, 0x03, 0xe3, 0xb3,
+ 0x12, 0x37, 0x52, 0x6d, 0xa1, 0x89, 0xf6, 0x28, 0x06, 0xbc,
+ 0x75, 0xef, 0xc9, 0xb4, 0xee, 0xdd, 0xd7, 0xd6, 0xeb, 0xdb,
+ 0xd8, 0x29, 0xb9, 0xf1, 0xda, 0x81, 0x3d, 0xcd, 0xbc, 0xdb,
+ 0x57, 0x25, 0x88, 0x12, 0xe0, 0xff, 0x1e, 0xd5, 0xc1, 0xcb,
+ 0x3e, 0xc7, 0x56, 0x8d, 0x91, 0x2e, 0x39, 0x15, 0x57, 0xe3,
+ 0x18, 0x2b, 0x4d, 0xdf, 0xa9, 0x92, 0x43, 0x01, 0xb3, 0x26,
+ 0xb2, 0x44, 0x66, 0xfb, 0x3e, 0x7e, 0xe5, 0xb8, 0x64, 0xe3,
+ 0x1a, 0x87, 0x8e, 0xd0, 0xa8, 0x5a, 0x78, 0xfb, 0x67, 0xda,
+ 0x8b, 0xb6, 0xae, 0x54, 0x9a, 0x7d, 0x91, 0xe7, 0x86, 0x02,
+ 0xa5, 0x4c, 0xa7, 0x88, 0xcc, 0x35, 0x7c, 0xfc, 0x09, 0xb3,
+ 0xe3, 0xdd, 0xde, 0x3e, 0x5a, 0x3f, 0xed, 0x6e, 0xd2, 0xe7,
+ 0x75, 0xcd, 0x23, 0x38, 0x02, 0x97, 0xf9, 0x03, 0xad, 0xfa,
+ 0xf4, 0x21, 0x71, 0x6c, 0x50, 0x13, 0xfb, 0x2d, 0xf2, 0x65,
+ 0x75, 0xd9, 0xf7, 0xfa, 0xe1, 0x0d, 0xcf, 0x04, 0x89, 0x98,
+ 0x8d, 0xd3, 0x5b, 0x6a, 0xf8, 0x3b, 0x12, 0xa5, 0x19, 0x48,
+ 0xe7, 0x51, 0xc2, 0x34, 0x2a, 0xf7, 0x1e, 0x4e, 0x69, 0xd7,
+ 0x52, 0xcc, 0xca, 0x15, 0x83, 0x35, 0x76, 0xb6, 0x44, 0x36,
+ 0x8f, 0xbb, 0xb9, 0xc6, 0xa5, 0xe2, 0x2e, 0x30, 0xc3, 0xa6,
+ 0x4b, 0x30, 0x42, 0x7b, 0x9b, 0x55, 0x1c, 0x0f, 0x49, 0xf3,
+ 0x6b, 0x95, 0xfb, 0x9f, 0x5c, 0x0e, 0x4f, 0x3b, 0xf0, 0x74,
+ 0x0b, 0x8c, 0xd6, 0x80, 0x5a, 0x29, 0xdc, 0x60, 0x7d, 0x21,
+ 0x33, 0x6b, 0x7b, 0x44, 0x16, 0x3f, 0x94, 0xb0, 0x2d, 0x84,
+ 0x9d, 0x02, 0x03, 0x63, 0x1c, 0x9b, 0xdd, 0xf7, 0xef, 0xc0,
+ 0xcb, 0x2f, 0x29, 0x97, 0x70, 0x3c, 0xe7, 0x4a, 0x6f, 0x11,
+ 0x6a, 0x39, 0xb3, 0x38, 0x9d, 0xe0, 0xb7, 0x7d, 0x7a, 0xf1,
+ 0xd9, 0x36, 0x28, 0xe8, 0x9c, 0xf7, 0x79, 0xd3, 0xdb, 0x8d,
+ 0x74, 0xcf, 0x97, 0xbb, 0x8b, 0x32, 0x06, 0x23, 0x34, 0x15,
+ 0xfe, 0x88, 0xd6, 0x0b, 0xd1, 0x03, 0xc7, 0x8e, 0xb5, 0x49,
+ 0xc0, 0xe1, 0xb8, 0x13, 0x59, 0x22, 0x33, 0x9c, 0x1f, 0x3f,
+ 0x93, 0x5c, 0xca, 0xe1, 0x6d, 0x2b, 0x97, 0xee, 0xf6, 0x12,
+ 0x18, 0x58, 0x74, 0xec, 0x96, 0xf0, 0x49, 0x7b, 0x6c, 0xf5,
+ 0xbd, 0x99, 0x6d, 0xa1, 0xff, 0x87, 0x5e, 0x8c, 0xca, 0xf3,
+ 0x44, 0x09, 0x70, 0x9e, 0xf3, 0xf1, 0x53, 0x02, 0x5f, 0xdd,
+ 0x43, 0x17, 0x9e, 0x09, 0xec, 0x9f, 0x7e, 0x85, 0x7d, 0xc0,
+ 0x31, 0x06, 0x99, 0x37, 0x2b, 0x42, 0xe2, 0xd8, 0xa0, 0x26,
+ 0x35, 0x5a, 0x27, 0xca, 0xea, 0x71, 0x3e, 0x8d, 0x18, 0xb3,
+ 0x34, 0xc0, 0xc9, 0x7f, 0x09, 0x31, 0xc8, 0xb1, 0xed, 0x5a,
+ 0xe6, 0x85, 0x01, 0x72, 0xcd, 0x73, 0x24, 0xa7, 0xd3, 0x53,
+ 0x74, 0xd7, 0x5d, 0xac, 0xc0, 0xce, 0x6b, 0x88, 0xdb, 0xbf,
+ 0x2d, 0x64, 0xb6, 0xab, 0x8b, 0x38, 0x20, 0x61, 0xb0, 0x12,
+ 0x0b, 0x83, 0x5d, 0xa4, 0xc4, 0x18, 0x21, 0xdc, 0xac, 0xcb,
+ 0x0e, 0xe6, 0xc5, 0x98, 0xd4, 0xab, 0x9c, 0xae, 0x2e, 0x07,
+ 0xe1, 0x39, 0x87, 0xd8, 0x12, 0xb2, 0x88, 0xc8, 0x3a, 0x8a,
+ 0xcf, 0x56, 0x60, 0x67, 0xd4, 0x44, 0xed, 0x24, 0x92, 0xc9,
+ 0x61, 0x1a, 0x15, 0x9a, 0x0f, 0x27, 0xd5, 0x8a, 0x29, 0x66,
+ 0x65, 0xeb, 0xe0, 0x4b, 0x4a, 0xab, 0x36, 0x15, 0x5b, 0x9b,
+ 0x4e, 0x5d, 0x92, 0xfa, 0xa0, 0xa9, 0xbf, 0xcc, 0x14, 0x27,
+ 0x3f, 0x33, 0x95, 0x3b, 0x64, 0xf6, 0x5f, 0x34, 0x2e, 0xa7,
+ 0xdb, 0x03, 0x10, 0x32, 0xdf, 0xb4, 0x9f, 0x6b, 0x26, 0x72,
+ 0x41, 0xb7, 0x33, 0xbb, 0x07, 0xe7, 0x8d, 0x3d, 0x32, 0xc1,
+ 0x50, 0x9c, 0xfc, 0xcc, 0x11, 0xec, 0x53, 0x5e, 0xbf, 0xd0,
+ 0xb8, 0xd9, 0xea, 0x0c, 0x40, 0xc8, 0xbe, 0x2e, 0xfa, 0x90,
+ 0x1c, 0xdc, 0xf0, 0x31, 0x2c, 0x4d, 0x8a, 0x64, 0x40, 0xfb,
+ 0x98, 0x78, 0xab, 0x7b, 0x08, 0xd0, 0xad, 0x40, 0x47, 0x94,
+ 0x07, 0xae, 0xf9, 0x6f, 0x5b, 0x36, 0xe3, 0xc2, 0xae, 0x02,
+ 0x77, 0xac, 0x19, 0x3e, 0x5e, 0x48, 0x60, 0xa3, 0x13, 0x36,
+ 0x1d, 0x46, 0xe7, 0x2f, 0x51, 0xee, 0x31, 0xbf, 0x35, 0x4b,
+ 0x80, 0x0d, 0xcb, 0x07, 0xe5, 0x75, 0x2a, 0xc2, 0x2b, 0x40,
+ 0x12, 0xc8, 0xd4, 0xda, 0x4d, 0x6f, 0xcb, 0xdf, 0xa4, 0x83,
+ 0x23, 0xc9, 0x1e, 0xe2, 0xa9, 0x84, 0x8f, 0x28, 0x63, 0xa7,
+ 0x37, 0x9e, 0x12, 0xe9, 0x8c, 0x6b, 0xbf, 0x3e, 0x67, 0x31,
+ 0x72, 0x09, 0x1d, 0x43, 0x55, 0x5e, 0x52, 0xed, 0xe0, 0x78,
+ 0x0d, 0x94, 0xde, 0x22, 0xd4, 0x72, 0xa5, 0x70, 0xf4, 0x6c,
+ 0x75, 0x98, 0xa3, 0x2e, 0x3f, 0x6d, 0x11, 0x69, 0xbc, 0x5d,
+ 0x7b, 0xaa, 0xaf, 0xfe, 0xd3, 0xa9, 0x8a, 0x7a, 0x55, 0xda,
+ 0xdc, 0xe5, 0x06, 0x16, 0x1d, 0x3b, 0xc4, 0x3c, 0x83, 0x6e,
+ 0xff, 0xec, 0x46, 0x13, 0x2c, 0x75, 0xde, 0x45, 0xab, 0xa4,
+ 0xf6, 0x43, 0x37, 0x84, 0xcc, 0x6f, 0x47, 0x2d, 0x57, 0x6a,
+ 0xe8, 0xfd, 0x81, 0x5d, 0x7c, 0x5e, 0x71, 0x49, 0xb2, 0x9e,
+ 0xed, 0xa1, 0x15, 0x55, 0xf2, 0x40, 0xb1, 0x9c, 0xb7, 0xa5,
+ 0x2b, 0xe3, 0x73, 0x0b, 0x1b, 0xcd, 0x7b, 0xba, 0x8b, 0x23,
+ 0xd1, 0xa8, 0xa7, 0x47, 0xd8, 0x66, 0x9f, 0xb1, 0x08, 0xcb,
+ 0xe1, 0x8f, 0x1d, 0x6c, 0xa0, 0xfb, 0x3b, 0x5b, 0x22, 0x1b,
+ 0xa6, 0xbc, 0xbd, 0x63, 0xb3, 0x71, 0x17, 0x18, 0x80, 0x53,
+ 0xf5, 0x1e, 0xb8, 0xeb, 0x87, 0x89, 0xec, 0x3e, 0x65, 0xbe,
+ 0xe1, 0xf1, 0xbb, 0x64, 0xc4, 0x76, 0x28, 0x4e, 0x7e, 0x66,
+ 0xe9, 0x76, 0xc8, 0x2f, 0xbe, 0x68, 0x5c, 0x8d, 0x75, 0x06,
+ 0x20, 0x64, 0x57, 0x01, 0xda, 0x56, 0xed, 0x1f, 0x2f, 0x24,
+ 0x30, 0xb0, 0xe8, 0x1b, 0xef, 0x23, 0x92, 0xf6, 0xb2, 0x33,
+ 0xef, 0x81, 0x6f, 0x74, 0x6d, 0x63, 0x19, 0xe0, 0x90, 0xb8,
+ 0x09, 0xfa, 0x29, 0xd7, 0x24, 0x53, 0x6b, 0x77, 0x9a, 0xde,
+ 0x55, 0x7d, 0x8b, 0xc5, 0x46, 0x51, 0x3c, 0x07, 0x91, 0xcb,
+ 0xcf, 0x98, 0x12, 0x57, 0x23, 0x90, 0xef, 0xce, 0x7f, 0x55,
+ 0x9e, 0xb5, 0xd0, 0x80, 0x4d, 0x96, 0x89, 0xc7, 0x88, 0x4e,
+ 0xef, 0xca, 0xbd, 0xc0, 0x77, 0xdc, 0xb2, 0x50, 0xa2, 0xd0,
+ 0xcb, 0xbf, 0xdd, 0x50, 0xc6, 0x8d, 0x6e, 0xff, 0x24, 0x11,
+ 0xdb, 0xd6, 0xbd, 0x7c, 0xce, 0x62, 0xe4, 0x12, 0x55, 0xe5,
+ 0x83, 0xb0, 0xa5, 0x92, 0x4a, 0x82, 0xd8, 0xdd, 0x52, 0x80,
+ 0xac, 0x7c, 0x44, 0x25, 0x2b, 0xd8, 0xea, 0xf3, 0x85, 0x5c,
+ 0x7e, 0xda, 0x22, 0xd2, 0xbb, 0xba, 0xf6, 0x97, 0x9d, 0x3f,
+ 0x9b, 0x0f, 0x5c, 0x94, 0xa2, 0xa5, 0x76, 0x1f, 0xd3, 0x5f,
+ 0x91, 0x99, 0xbc, 0x32, 0x62, 0x3b, 0xeb, 0xcb, 0x79, 0x20,
+ 0xb9, 0x4e, 0xba, 0xb3, 0xf4, 0x90, 0xd8, 0xe4, 0xec, 0x87,
+ 0xdc, 0x5d, 0xce, 0xea, 0xdf, 0x24, 0x07, 0x37, 0x3c, 0x9d,
+ 0x0b, 0x82, 0xc3, 0x19, 0x10, 0x4e, 0x26, 0x1e, 0xe5, 0x32,
+ 0x35, 0xd7, 0x82, 0x6b, 0x42, 0x47, 0x29, 0x50, 0x78, 0xa3,
+ 0xe6, 0xd9, 0xbb, 0x21, 0xb1, 0xa5, 0x7b, 0x14, 0x03, 0x5e,
+ 0xdb, 0x96, 0x85, 0x5a, 0x77, 0x8f, 0x8a, 0x6b, 0x94, 0x8c,
+ 0x22, 0xbc, 0x80, 0x9e, 0x42, 0x8a, 0xfa, 0x54, 0x70, 0x72,
+ 0x4b, 0x3f, 0xf9, 0xe6, 0x28, 0x7d, 0xbd, 0xb8, 0x6e, 0x05,
+ 0x70, 0xf6, 0x46, 0xc4, 0xb0, 0xf7, 0x6d, 0x53, 0xc3, 0x6a,
+ 0x25, 0x23, 0xe9, 0x2f, 0x20, 0xc6, 0xf1, 0xc3, 0xdf, 0x15,
+ 0x1c, 0xfd, 0x62, 0x7f, 0xaf, 0xd8, 0x0a, 0x8e, 0x23, 0xce,
+ 0x4d, 0xed, 0x66, 0x2d, 0x29, 0x07, 0x04, 0xa5, 0x16, 0x93,
+ 0x39, 0x28, 0x43, 0xf5, 0x75, 0xbd, 0x5a, 0xc8, 0xaf, 0x95,
+ 0xd5, 0x70, 0x40, 0xc2, 0xa3, 0x24, 0x16, 0xc5, 0xba, 0x8b,
+ 0x9f, 0x04, 0xee, 0x9b, 0x32, 0x7c, 0xbc, 0x90, 0xc0, 0x85,
+ 0x26, 0x6c, 0x3a, 0x8c, 0x0d, 0x5e, 0xa2, 0x1f, 0x62, 0xbd,
+ 0x6a, 0x96, 0xc3, 0x1a, 0x55, 0x0e, 0x09, 0xea, 0x54, 0x47,
+ 0x56, 0x80, 0x0f, 0x8b, 0x81, 0x84, 0x1f, 0x82, 0x2b, 0xa7,
+ 0xa9, 0x17, 0xfd, 0xeb, 0xca, 0x90, 0x0c, 0xf4, 0x54, 0x97,
+ 0x4e, 0xc3, 0x81, 0x35, 0x99, 0xd1, 0xac, 0x0a, 0x0f, 0x2c,
+ 0x6c, 0xb2, 0x2f, 0xad, 0x86, 0x4c, 0x09, 0xca, 0xf0, 0x48,
+ 0x96, 0x67, 0xde, 0xcb, 0x4f, 0xbb, 0x68, 0x40, 0xc7, 0x4b,
+ 0x93, 0x19, 0xfb, 0x8a, 0x41, 0xd4, 0x21, 0xc2, 0xf5, 0x28,
+ 0x3c, 0xb0, 0x73, 0x8d, 0xbc, 0xf1, 0x5a, 0x6e, 0x02, 0x34,
+ 0xba, 0x10, 0x61, 0x25, 0x71, 0xca, 0xaf, 0x6b, 0x66, 0xec,
+ 0x48, 0xd1, 0x3d, 0x1b, 0x8c, 0x26, 0x58, 0xea, 0x7f, 0x8a,
+ 0x95, 0x8b, 0x2f, 0x86, 0x6e, 0xcb, 0x5b, 0xde, 0x94, 0x84,
+ 0xdd, 0x10, 0xbd, 0x27, 0x5d, 0xb8, 0x7a, 0x48, 0x6c, 0x72,
+ 0x76, 0xa2, 0x6e, 0xcf, 0x56, 0x73, 0x17, 0x25, 0xc9, 0xb8,
+ 0xfc, 0x77, 0x44, 0x67, 0xb5, 0xb7, 0x2f, 0xed, 0xf9, 0x7e,
+ 0xbf, 0x5c, 0x37, 0xe3, 0x38, 0x7b, 0x23, 0x62, 0x58, 0x9a,
+ 0xd7, 0xc8, 0x80, 0x35, 0xf3, 0xf0, 0x95, 0xf6, 0x10, 0x63,
+ 0x99, 0x80, 0x8e, 0xeb, 0x0e, 0x9f, 0x31, 0xde, 0xb6, 0x6c,
+ 0x05, 0x47, 0xb9, 0xb3, 0xdc, 0x0a, 0xe0, 0x2f, 0x8c, 0x4b,
+ 0xa3, 0x2d, 0xda, 0xa6, 0x45, 0xd4, 0x4a, 0x46, 0x11, 0x5e,
+ 0x40, 0x4f, 0x21, 0x45, 0x7d, 0x2a, 0x38, 0x39, 0xc4, 0xfe,
+ 0x9d, 0x73, 0x14, 0xdf, 0x0b, 0x80, 0x33, 0x8b, 0x8f, 0x5b,
+ 0xe1, 0x28, 0xba, 0xcd, 0x4a, 0x1e, 0x4c, 0x2e, 0x63, 0x91,
+ 0x71, 0xb6, 0xe8, 0xc7, 0x3f, 0x4c, 0x1f, 0xff, 0x53, 0x18,
+ 0x14, 0xd1, 0x90, 0x7b, 0xd5, 0xee, 0xb0, 0xd7, 0xb6, 0x67,
+ 0x27, 0xf9, 0x08, 0xc5, 0xf1, 0x8d, 0x2a, 0x23, 0x4a, 0xa5,
+ 0xff, 0x04, 0x1c, 0x31, 0x98, 0x2d, 0x76, 0x4a, 0x33, 0x2b,
+ 0x79, 0x43, 0x83, 0x8e, 0x14, 0xbc, 0xce, 0xf8, 0xdc, 0x22,
+ 0x0b, 0xfe, 0x4a, 0x58, 0xf7, 0x42, 0xaf, 0x01, 0xe0, 0xd0,
+ 0x0e, 0xac, 0x8f, 0x9a, 0xa8, 0xed, 0x9c, 0x45, 0xc1, 0x6a,
+ 0xf1, 0x61, 0x9b, 0x14, 0x1e, 0x58, 0xd8, 0xa7, 0x5e, 0x99,
+ 0xc1, 0x61, 0x5e, 0xa0, 0x18, 0xb5, 0x17, 0x3a, 0xa2, 0x95,
+ 0x3e, 0xf2, 0xda, 0xde, 0x2a, 0xea, 0x2a, 0xaa, 0x27, 0x80,
+ 0xa1, 0xfb, 0xad, 0x89, 0x56, 0x05, 0xe6, 0x16, 0x36, 0x59,
+ 0xf6, 0xb7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0xe6,
+ 0x2e, 0x4a, 0x51, 0xb3, 0x3b, 0xee, 0x88, 0xce, 0xa9, 0xad,
+ 0x5e, 0x19, 0x31, 0xfc, 0x48, 0xa6, 0xd6, 0xee, 0xf7, 0x7f,
+ 0xaa, 0xfa, 0xd5, 0x49, 0x8c, 0xa2, 0x78, 0x0e, 0xe1, 0x55,
+ 0x7a, 0x36, 0xdb, 0x4c, 0xb0, 0x17, 0xfe, 0xd7, 0xe9, 0xd5,
+ 0x5e, 0xcf, 0xdc, 0x55, 0xb6, 0x7f,
+ },
};
diff --git a/lib/nettle/gost/magma.c b/lib/nettle/gost/magma.c
index ffbb394018..05341ffd98 100644
--- a/lib/nettle/gost/magma.c
+++ b/lib/nettle/gost/magma.c
@@ -23,23 +23,23 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_MAGMA_SET_KEY
-# include <assert.h>
+#include <assert.h>
-# include <nettle/macros.h>
-# include "nettle-write.h"
-# include "magma.h"
-# ifndef HAVE_NETTLE_GOST28147_SET_KEY
-# include "gost28147.h"
-# else
-# include <nettle/gost28147.h>
-# endif
+#include <nettle/macros.h>
+#include "nettle-write.h"
+#include "magma.h"
+#ifndef HAVE_NETTLE_GOST28147_SET_KEY
+#include "gost28147.h"
+#else
+#include <nettle/gost28147.h>
+#endif
-void magma_set_key(struct magma_ctx *ctx, const uint8_t * key)
+void magma_set_key(struct magma_ctx *ctx, const uint8_t *key)
{
unsigned i;
@@ -47,9 +47,8 @@ void magma_set_key(struct magma_ctx *ctx, const uint8_t * key)
ctx->key[i] = READ_UINT32(key);
}
-void
-magma_encrypt(const struct magma_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void magma_encrypt(const struct magma_ctx *ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
uint32_t block[2];
@@ -70,9 +69,8 @@ magma_encrypt(const struct magma_ctx *ctx,
}
}
-void
-magma_decrypt(const struct magma_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src)
+void magma_decrypt(const struct magma_ctx *ctx, size_t length, uint8_t *dst,
+ const uint8_t *src)
{
uint32_t block[2];
@@ -92,4 +90,4 @@ magma_decrypt(const struct magma_ctx *ctx,
length -= MAGMA_BLOCK_SIZE;
}
}
-#endif /* HAVE_NETTLE_MAGMA_SET_KEY */
+#endif /* HAVE_NETTLE_MAGMA_SET_KEY */
diff --git a/lib/nettle/gost/magma.h b/lib/nettle/gost/magma.h
index bef8716db8..111f924bde 100644
--- a/lib/nettle/gost/magma.h
+++ b/lib/nettle/gost/magma.h
@@ -32,42 +32,39 @@
*/
#ifndef GNUTLS_LIB_NETTLE_MAGMA_H_INCLUDED
-# define GNUTLS_LIB_NETTLE_MAGMA_H_INCLUDED
+#define GNUTLS_LIB_NETTLE_MAGMA_H_INCLUDED
-# include "config.h"
+#include "config.h"
-# ifndef HAVE_NETTLE_MAGMA_SET_KEY
+#ifndef HAVE_NETTLE_MAGMA_SET_KEY
-# include <nettle/nettle-types.h>
+#include <nettle/nettle-types.h>
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# define magma_set_key _gnutls_magma_set_key
-# define magma_set_param _gnutls_magma_set_param
-# define magma_encrypt _gnutls_magma_encrypt
-# define magma_decrypt _gnutls_magma_decrypt
+#define magma_set_key _gnutls_magma_set_key
+#define magma_set_param _gnutls_magma_set_param
+#define magma_encrypt _gnutls_magma_encrypt
+#define magma_decrypt _gnutls_magma_decrypt
-# define MAGMA_KEY_SIZE 32
-# define MAGMA_BLOCK_SIZE 8
+#define MAGMA_KEY_SIZE 32
+#define MAGMA_BLOCK_SIZE 8
- struct magma_ctx {
- uint32_t key[MAGMA_KEY_SIZE / 4];
- };
+struct magma_ctx {
+ uint32_t key[MAGMA_KEY_SIZE / 4];
+};
- void
- magma_set_key(struct magma_ctx *ctx, const uint8_t * key);
+void magma_set_key(struct magma_ctx *ctx, const uint8_t *key);
- void
- magma_encrypt(const struct magma_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
- void
- magma_decrypt(const struct magma_ctx *ctx,
- size_t length, uint8_t * dst, const uint8_t * src);
+void magma_encrypt(const struct magma_ctx *ctx, size_t length, uint8_t *dst,
+ const uint8_t *src);
+void magma_decrypt(const struct magma_ctx *ctx, size_t length, uint8_t *dst,
+ const uint8_t *src);
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-# endif
-#endif /* GNUTLS_LIB_NETTLE_MAGMA_H_INCLUDED */
+#endif
+#endif
+#endif /* GNUTLS_LIB_NETTLE_MAGMA_H_INCLUDED */
diff --git a/lib/nettle/gost/nettle-write.h b/lib/nettle/gost/nettle-write.h
index e97e6434b2..c35ff915f5 100644
--- a/lib/nettle/gost/nettle-write.h
+++ b/lib/nettle/gost/nettle-write.h
@@ -32,12 +32,12 @@
*/
#ifndef GNUTLS_LIB_NETTLE_GOST_NETTLE_WRITE_H
-# define GNUTLS_LIB_NETTLE_GOST_NETTLE_WRITE_H
+#define GNUTLS_LIB_NETTLE_GOST_NETTLE_WRITE_H
/* For size_t */
-# include <stddef.h>
+#include <stddef.h>
-# include <stdint.h>
+#include <stdint.h>
/* Write the word array at SRC to the byte array at DST, using little
endian (le) or big endian (be) byte order, and truncating the
@@ -45,14 +45,14 @@
/* FIXME: Use a macro shortcut to memcpy for native endianness. */
void
-# define _nettle_write_be32 _gnutls_nettle_ecc_write_be32
+#define _nettle_write_be32 _gnutls_nettle_ecc_write_be32
_nettle_write_be32(size_t length, uint8_t * dst, const uint32_t * src);
void
-# define _nettle_write_le32 _gnutls_nettle_ecc_write_le32
+#define _nettle_write_le32 _gnutls_nettle_ecc_write_le32
_nettle_write_le32(size_t length, uint8_t * dst, const uint32_t * src);
void
-# define _nettle_write_le64 _gnutls_nettle_ecc_write_le64
+#define _nettle_write_le64 _gnutls_nettle_ecc_write_le64
_nettle_write_le64(size_t length, uint8_t * dst, const uint64_t * src);
-#endif /* GNUTLS_LIB_NETTLE_GOST_NETTLE_WRITE_H */
+#endif /* GNUTLS_LIB_NETTLE_GOST_NETTLE_WRITE_H */
diff --git a/lib/nettle/gost/streebog-meta.c b/lib/nettle/gost/streebog-meta.c
index 3b36f2f447..0b81345b95 100644
--- a/lib/nettle/gost/streebog-meta.c
+++ b/lib/nettle/gost/streebog-meta.c
@@ -30,19 +30,19 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
-# include <gnutls_int.h>
+#include <gnutls_int.h>
-# include <nettle/nettle-meta.h>
+#include <nettle/nettle-meta.h>
-# include "streebog.h"
+#include "streebog.h"
-const struct nettle_hash nettle_streebog512
- = _NETTLE_HASH(streebog512, STREEBOG512);
+const struct nettle_hash nettle_streebog512 =
+ _NETTLE_HASH(streebog512, STREEBOG512);
-const struct nettle_hash nettle_streebog256
- = _NETTLE_HASH(streebog256, STREEBOG256);
+const struct nettle_hash nettle_streebog256 =
+ _NETTLE_HASH(streebog256, STREEBOG256);
#endif
diff --git a/lib/nettle/gost/streebog.c b/lib/nettle/gost/streebog.c
index bb849c672f..ce5b8b8fae 100644
--- a/lib/nettle/gost/streebog.c
+++ b/lib/nettle/gost/streebog.c
@@ -32,1121 +32,775 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
-# include <gnutls_int.h>
+#include <gnutls_int.h>
-# include <stdlib.h>
-# include <string.h>
+#include <stdlib.h>
+#include <string.h>
-# include "streebog.h"
+#include "streebog.h"
-# include <nettle/macros.h>
-# include "nettle-write.h"
+#include <nettle/macros.h>
+#include "nettle-write.h"
/* Pre-computed results of multiplication of bytes on A and reordered with
Pi[]. */
static const uint64_t streebog_table[8][256] = {
/* 0 */
- {0xd01f715b5c7ef8e6ULL, 0x16fa240980778325ULL,
- 0xa8a42e857ee049c8ULL, 0x6ac1068fa186465bULL,
- 0x6e417bd7a2e9320bULL, 0x665c8167a437daabULL,
- 0x7666681aa89617f6ULL, 0x4b959163700bdcf5ULL,
- 0xf14be6b78df36248ULL, 0xc585bd689a625cffULL,
- 0x9557d7fca67d82cbULL, 0x89f0b969af6dd366ULL,
- 0xb0833d48749f6c35ULL, 0xa1998c23b1ecbc7cULL,
- 0x8d70c431ac02a736ULL, 0xd6dfbc2fd0a8b69eULL,
- 0x37aeb3e551fa198bULL, 0x0b7d128a40b5cf9cULL,
- 0x5a8f2008b5780cbcULL, 0xedec882284e333e5ULL,
- 0xd25fc177d3c7c2ceULL, 0x5e0f5d50b61778ecULL,
- 0x1d873683c0c24cb9ULL, 0xad040bcbb45d208cULL,
- 0x2f89a0285b853c76ULL, 0x5732fff6791b8d58ULL,
- 0x3e9311439ef6ec3fULL, 0xc9183a809fd3c00fULL,
- 0x83adf3f5260a01eeULL, 0xa6791941f4e8ef10ULL,
- 0x103ae97d0ca1cd5dULL, 0x2ce948121dee1b4aULL,
- 0x39738421dbf2bf53ULL, 0x093da2a6cf0cf5b4ULL,
- 0xcd9847d89cbcb45fULL, 0xf9561c078b2d8ae8ULL,
- 0x9c6a755a6971777fULL, 0xbc1ebaa0712ef0c5ULL,
- 0x72e61542abf963a6ULL, 0x78bb5fde229eb12eULL,
- 0x14ba94250fceb90dULL, 0x844d6697630e5282ULL,
- 0x98ea08026a1e032fULL, 0xf06bbea144217f5cULL,
- 0xdb6263d11ccb377aULL, 0x641c314b2b8ee083ULL,
- 0x320e96ab9b4770cfULL, 0x1ee7deb986a96b85ULL,
- 0xe96cf57a878c47b5ULL, 0xfdd6615f8842feb8ULL,
- 0xc83862965601dd1bULL, 0x2ea9f83e92572162ULL,
- 0xf876441142ff97fcULL, 0xeb2c455608357d9dULL,
- 0x5612a7e0b0c9904cULL, 0x6c01cbfb2d500823ULL,
- 0x4548a6a7fa037a2dULL, 0xabc4c6bf388b6ef4ULL,
- 0xbade77d4fdf8bebdULL, 0x799b07c8eb4cac3aULL,
- 0x0c9d87e805b19cf0ULL, 0xcb588aac106afa27ULL,
- 0xea0c1d40c1e76089ULL, 0x2869354a1e816f1aULL,
- 0xff96d17307fbc490ULL, 0x9f0a9d602f1a5043ULL,
- 0x96373fc6e016a5f7ULL, 0x5292dab8b3a6e41cULL,
- 0x9b8ae0382c752413ULL, 0x4f15ec3b7364a8a5ULL,
- 0x3fb349555724f12bULL, 0xc7c50d4415db66d7ULL,
- 0x92b7429ee379d1a7ULL, 0xd37f99611a15dfdaULL,
- 0x231427c05e34a086ULL, 0xa439a96d7b51d538ULL,
- 0xb403401077f01865ULL, 0xdda2aea5901d7902ULL,
- 0x0a5d4a9c8967d288ULL, 0xc265280adf660f93ULL,
- 0x8bb0094520d4e94eULL, 0x2a29856691385532ULL,
- 0x42a833c5bf072941ULL, 0x73c64d54622b7eb2ULL,
- 0x07e095624504536cULL, 0x8a905153e906f45aULL,
- 0x6f6123c16b3b2f1fULL, 0xc6e55552dc097bc3ULL,
- 0x4468feb133d16739ULL, 0xe211e7f0c7398829ULL,
- 0xa2f96419f7879b40ULL, 0x19074bdbc3ad38e9ULL,
- 0xf4ebc3f9474e0b0cULL, 0x43886bd376d53455ULL,
- 0xd8028beb5aa01046ULL, 0x51f23282f5cdc320ULL,
- 0xe7b1c2be0d84e16dULL, 0x081dfab006dee8a0ULL,
- 0x3b33340d544b857bULL, 0x7f5bcabc679ae242ULL,
- 0x0edd37c48a08a6d8ULL, 0x81ed43d9a9b33bc6ULL,
- 0xb1a3655ebd4d7121ULL, 0x69a1eeb5e7ed6167ULL,
- 0xf6ab73d5c8f73124ULL, 0x1a67a3e185c61fd5ULL,
- 0x2dc91004d43c065eULL, 0x0240b02c8fb93a28ULL,
- 0x90f7f2b26cc0eb8fULL, 0x3cd3a16f114fd617ULL,
- 0xaae49ea9f15973e0ULL, 0x06c0cd748cd64e78ULL,
- 0xda423bc7d5192a6eULL, 0xc345701c16b41287ULL,
- 0x6d2193ede4821537ULL, 0xfcf639494190e3acULL,
- 0x7c3b228621f1c57eULL, 0xfb16ac2b0494b0c0ULL,
- 0xbf7e529a3745d7f9ULL, 0x6881b6a32e3f7c73ULL,
- 0xca78d2bad9b8e733ULL, 0xbbfe2fc2342aa3a9ULL,
- 0x0dbddffecc6381e4ULL, 0x70a6a56e2440598eULL,
- 0xe4d12a844befc651ULL, 0x8c509c2765d0ba22ULL,
- 0xee8c6018c28814d9ULL, 0x17da7c1f49a59e31ULL,
- 0x609c4c1328e194d3ULL, 0xb3e3d57232f44b09ULL,
- 0x91d7aaa4a512f69bULL, 0x0ffd6fd243dabbccULL,
- 0x50d26a943c1fde34ULL, 0x6be15e9968545b4fULL,
- 0x94778fea6faf9fdfULL, 0x2b09dd7058ea4826ULL,
- 0x677cd9716de5c7bfULL, 0x49d5214fffb2e6ddULL,
- 0x0360e83a466b273cULL, 0x1fc786af4f7b7691ULL,
- 0xa0b9d435783ea168ULL, 0xd49f0c035f118cb6ULL,
- 0x01205816c9d21d14ULL, 0xac2453dd7d8f3d98ULL,
- 0x545217cc3f70aa64ULL, 0x26b4028e9489c9c2ULL,
- 0xdec2469fd6765e3eULL, 0x04807d58036f7450ULL,
- 0xe5f17292823ddb45ULL, 0xf30b569b024a5860ULL,
- 0x62dcfc3fa758aefbULL, 0xe84cad6c4e5e5aa1ULL,
- 0xccb81fce556ea94bULL, 0x53b282ae7a74f908ULL,
- 0x1b47fbf74c1402c1ULL, 0x368eebf39828049fULL,
- 0x7afbeff2ad278b06ULL, 0xbe5e0a8cfe97caedULL,
- 0xcfd8f7f413058e77ULL, 0xf78b2bc301252c30ULL,
- 0x4d555c17fcdd928dULL, 0x5f2f05467fc565f8ULL,
- 0x24f4b2a21b30f3eaULL, 0x860dd6bbecb768aaULL,
- 0x4c750401350f8f99ULL, 0x0000000000000000ULL,
- 0xecccd0344d312ef1ULL, 0xb5231806be220571ULL,
- 0xc105c030990d28afULL, 0x653c695de25cfd97ULL,
- 0x159acc33c61ca419ULL, 0xb89ec7f872418495ULL,
- 0xa9847693b73254dcULL, 0x58cf90243ac13694ULL,
- 0x59efc832f3132b80ULL, 0x5c4fed7c39ae42c4ULL,
- 0x828dabe3efd81cfaULL, 0xd13f294d95ace5f2ULL,
- 0x7d1b7a90e823d86aULL, 0xb643f03cf849224dULL,
- 0x3df3f979d89dcb03ULL, 0x7426d836272f2ddeULL,
- 0xdfe21e891fa4432aULL, 0x3a136c1b9d99986fULL,
- 0xfa36f43dcd46add4ULL, 0xc025982650df35bbULL,
- 0x856d3e81aadc4f96ULL, 0xc4a5e57e53b041ebULL,
- 0x4708168b75ba4005ULL, 0xaf44bbe73be41aa4ULL,
- 0x971767d029c4b8e3ULL, 0xb9be9feebb939981ULL,
- 0x215497ecd18d9aaeULL, 0x316e7e91dd2c57f3ULL,
- 0xcef8afe2dad79363ULL, 0x3853dc371220a247ULL,
- 0x35ee03c9de4323a3ULL, 0xe6919aa8c456fc79ULL,
- 0xe05157dc4880b201ULL, 0x7bdbb7e464f59612ULL,
- 0x127a59518318f775ULL, 0x332ecebd52956ddbULL,
- 0x8f30741d23bb9d1eULL, 0xd922d3fd93720d52ULL,
- 0x7746300c61440ae2ULL, 0x25d4eab4d2e2eefeULL,
- 0x75068020eefd30caULL, 0x135a01474acaea61ULL,
- 0x304e268714fe4ae7ULL, 0xa519f17bb283c82cULL,
- 0xdc82f6b359cf6416ULL, 0x5baf781e7caa11a8ULL,
- 0xb2c38d64fb26561dULL, 0x34ce5bdf17913eb7ULL,
- 0x5d6fb56af07c5fd0ULL, 0x182713cd0a7f25fdULL,
- 0x9e2ac576e6c84d57ULL, 0x9aaab82ee5a73907ULL,
- 0xa3d93c0f3e558654ULL, 0x7e7b92aaae48ff56ULL,
- 0x872d8ead256575beULL, 0x41c8dbfff96c0e7dULL,
- 0x99ca5014a3cc1e3bULL, 0x40e883e930be1369ULL,
- 0x1ca76e95091051adULL, 0x4e35b42dbab6b5b1ULL,
- 0x05a0254ecabd6944ULL, 0xe1710fca8152af15ULL,
- 0xf22b0e8dcb984574ULL, 0xb763a82a319b3f59ULL,
- 0x63fca4296e8ab3efULL, 0x9d4a2d4ca0a36a6bULL,
- 0xe331bfe60eeb953dULL, 0xd5bf541596c391a2ULL,
- 0xf5cb9bef8e9c1618ULL, 0x46284e9dbc685d11ULL,
- 0x2074cffa185f87baULL, 0xbd3ee2b6b8fcedd1ULL,
- 0xae64e3f1f23607b0ULL, 0xfeb68965ce29d984ULL,
- 0x55724fdaf6a2b770ULL, 0x29496d5cd753720eULL,
- 0xa75941573d3af204ULL, 0x8e102c0bea69800aULL,
- 0x111ab16bc573d049ULL, 0xd7ffe439197aab8aULL,
- 0xefac380e0b5a09cdULL, 0x48f579593660fbc9ULL,
- 0x22347fd697e6bd92ULL, 0x61bc1405e13389c7ULL,
- 0x4ab5c975b9d9c1e1ULL, 0x80cd1bcf606126d2ULL,
- 0x7186fd78ed92449aULL, 0x93971a882aabccb3ULL,
- 0x88d0e17f66bfce72ULL, 0x27945a985d5bd4d6ULL},
+ { 0xd01f715b5c7ef8e6ULL, 0x16fa240980778325ULL, 0xa8a42e857ee049c8ULL,
+ 0x6ac1068fa186465bULL, 0x6e417bd7a2e9320bULL, 0x665c8167a437daabULL,
+ 0x7666681aa89617f6ULL, 0x4b959163700bdcf5ULL, 0xf14be6b78df36248ULL,
+ 0xc585bd689a625cffULL, 0x9557d7fca67d82cbULL, 0x89f0b969af6dd366ULL,
+ 0xb0833d48749f6c35ULL, 0xa1998c23b1ecbc7cULL, 0x8d70c431ac02a736ULL,
+ 0xd6dfbc2fd0a8b69eULL, 0x37aeb3e551fa198bULL, 0x0b7d128a40b5cf9cULL,
+ 0x5a8f2008b5780cbcULL, 0xedec882284e333e5ULL, 0xd25fc177d3c7c2ceULL,
+ 0x5e0f5d50b61778ecULL, 0x1d873683c0c24cb9ULL, 0xad040bcbb45d208cULL,
+ 0x2f89a0285b853c76ULL, 0x5732fff6791b8d58ULL, 0x3e9311439ef6ec3fULL,
+ 0xc9183a809fd3c00fULL, 0x83adf3f5260a01eeULL, 0xa6791941f4e8ef10ULL,
+ 0x103ae97d0ca1cd5dULL, 0x2ce948121dee1b4aULL, 0x39738421dbf2bf53ULL,
+ 0x093da2a6cf0cf5b4ULL, 0xcd9847d89cbcb45fULL, 0xf9561c078b2d8ae8ULL,
+ 0x9c6a755a6971777fULL, 0xbc1ebaa0712ef0c5ULL, 0x72e61542abf963a6ULL,
+ 0x78bb5fde229eb12eULL, 0x14ba94250fceb90dULL, 0x844d6697630e5282ULL,
+ 0x98ea08026a1e032fULL, 0xf06bbea144217f5cULL, 0xdb6263d11ccb377aULL,
+ 0x641c314b2b8ee083ULL, 0x320e96ab9b4770cfULL, 0x1ee7deb986a96b85ULL,
+ 0xe96cf57a878c47b5ULL, 0xfdd6615f8842feb8ULL, 0xc83862965601dd1bULL,
+ 0x2ea9f83e92572162ULL, 0xf876441142ff97fcULL, 0xeb2c455608357d9dULL,
+ 0x5612a7e0b0c9904cULL, 0x6c01cbfb2d500823ULL, 0x4548a6a7fa037a2dULL,
+ 0xabc4c6bf388b6ef4ULL, 0xbade77d4fdf8bebdULL, 0x799b07c8eb4cac3aULL,
+ 0x0c9d87e805b19cf0ULL, 0xcb588aac106afa27ULL, 0xea0c1d40c1e76089ULL,
+ 0x2869354a1e816f1aULL, 0xff96d17307fbc490ULL, 0x9f0a9d602f1a5043ULL,
+ 0x96373fc6e016a5f7ULL, 0x5292dab8b3a6e41cULL, 0x9b8ae0382c752413ULL,
+ 0x4f15ec3b7364a8a5ULL, 0x3fb349555724f12bULL, 0xc7c50d4415db66d7ULL,
+ 0x92b7429ee379d1a7ULL, 0xd37f99611a15dfdaULL, 0x231427c05e34a086ULL,
+ 0xa439a96d7b51d538ULL, 0xb403401077f01865ULL, 0xdda2aea5901d7902ULL,
+ 0x0a5d4a9c8967d288ULL, 0xc265280adf660f93ULL, 0x8bb0094520d4e94eULL,
+ 0x2a29856691385532ULL, 0x42a833c5bf072941ULL, 0x73c64d54622b7eb2ULL,
+ 0x07e095624504536cULL, 0x8a905153e906f45aULL, 0x6f6123c16b3b2f1fULL,
+ 0xc6e55552dc097bc3ULL, 0x4468feb133d16739ULL, 0xe211e7f0c7398829ULL,
+ 0xa2f96419f7879b40ULL, 0x19074bdbc3ad38e9ULL, 0xf4ebc3f9474e0b0cULL,
+ 0x43886bd376d53455ULL, 0xd8028beb5aa01046ULL, 0x51f23282f5cdc320ULL,
+ 0xe7b1c2be0d84e16dULL, 0x081dfab006dee8a0ULL, 0x3b33340d544b857bULL,
+ 0x7f5bcabc679ae242ULL, 0x0edd37c48a08a6d8ULL, 0x81ed43d9a9b33bc6ULL,
+ 0xb1a3655ebd4d7121ULL, 0x69a1eeb5e7ed6167ULL, 0xf6ab73d5c8f73124ULL,
+ 0x1a67a3e185c61fd5ULL, 0x2dc91004d43c065eULL, 0x0240b02c8fb93a28ULL,
+ 0x90f7f2b26cc0eb8fULL, 0x3cd3a16f114fd617ULL, 0xaae49ea9f15973e0ULL,
+ 0x06c0cd748cd64e78ULL, 0xda423bc7d5192a6eULL, 0xc345701c16b41287ULL,
+ 0x6d2193ede4821537ULL, 0xfcf639494190e3acULL, 0x7c3b228621f1c57eULL,
+ 0xfb16ac2b0494b0c0ULL, 0xbf7e529a3745d7f9ULL, 0x6881b6a32e3f7c73ULL,
+ 0xca78d2bad9b8e733ULL, 0xbbfe2fc2342aa3a9ULL, 0x0dbddffecc6381e4ULL,
+ 0x70a6a56e2440598eULL, 0xe4d12a844befc651ULL, 0x8c509c2765d0ba22ULL,
+ 0xee8c6018c28814d9ULL, 0x17da7c1f49a59e31ULL, 0x609c4c1328e194d3ULL,
+ 0xb3e3d57232f44b09ULL, 0x91d7aaa4a512f69bULL, 0x0ffd6fd243dabbccULL,
+ 0x50d26a943c1fde34ULL, 0x6be15e9968545b4fULL, 0x94778fea6faf9fdfULL,
+ 0x2b09dd7058ea4826ULL, 0x677cd9716de5c7bfULL, 0x49d5214fffb2e6ddULL,
+ 0x0360e83a466b273cULL, 0x1fc786af4f7b7691ULL, 0xa0b9d435783ea168ULL,
+ 0xd49f0c035f118cb6ULL, 0x01205816c9d21d14ULL, 0xac2453dd7d8f3d98ULL,
+ 0x545217cc3f70aa64ULL, 0x26b4028e9489c9c2ULL, 0xdec2469fd6765e3eULL,
+ 0x04807d58036f7450ULL, 0xe5f17292823ddb45ULL, 0xf30b569b024a5860ULL,
+ 0x62dcfc3fa758aefbULL, 0xe84cad6c4e5e5aa1ULL, 0xccb81fce556ea94bULL,
+ 0x53b282ae7a74f908ULL, 0x1b47fbf74c1402c1ULL, 0x368eebf39828049fULL,
+ 0x7afbeff2ad278b06ULL, 0xbe5e0a8cfe97caedULL, 0xcfd8f7f413058e77ULL,
+ 0xf78b2bc301252c30ULL, 0x4d555c17fcdd928dULL, 0x5f2f05467fc565f8ULL,
+ 0x24f4b2a21b30f3eaULL, 0x860dd6bbecb768aaULL, 0x4c750401350f8f99ULL,
+ 0x0000000000000000ULL, 0xecccd0344d312ef1ULL, 0xb5231806be220571ULL,
+ 0xc105c030990d28afULL, 0x653c695de25cfd97ULL, 0x159acc33c61ca419ULL,
+ 0xb89ec7f872418495ULL, 0xa9847693b73254dcULL, 0x58cf90243ac13694ULL,
+ 0x59efc832f3132b80ULL, 0x5c4fed7c39ae42c4ULL, 0x828dabe3efd81cfaULL,
+ 0xd13f294d95ace5f2ULL, 0x7d1b7a90e823d86aULL, 0xb643f03cf849224dULL,
+ 0x3df3f979d89dcb03ULL, 0x7426d836272f2ddeULL, 0xdfe21e891fa4432aULL,
+ 0x3a136c1b9d99986fULL, 0xfa36f43dcd46add4ULL, 0xc025982650df35bbULL,
+ 0x856d3e81aadc4f96ULL, 0xc4a5e57e53b041ebULL, 0x4708168b75ba4005ULL,
+ 0xaf44bbe73be41aa4ULL, 0x971767d029c4b8e3ULL, 0xb9be9feebb939981ULL,
+ 0x215497ecd18d9aaeULL, 0x316e7e91dd2c57f3ULL, 0xcef8afe2dad79363ULL,
+ 0x3853dc371220a247ULL, 0x35ee03c9de4323a3ULL, 0xe6919aa8c456fc79ULL,
+ 0xe05157dc4880b201ULL, 0x7bdbb7e464f59612ULL, 0x127a59518318f775ULL,
+ 0x332ecebd52956ddbULL, 0x8f30741d23bb9d1eULL, 0xd922d3fd93720d52ULL,
+ 0x7746300c61440ae2ULL, 0x25d4eab4d2e2eefeULL, 0x75068020eefd30caULL,
+ 0x135a01474acaea61ULL, 0x304e268714fe4ae7ULL, 0xa519f17bb283c82cULL,
+ 0xdc82f6b359cf6416ULL, 0x5baf781e7caa11a8ULL, 0xb2c38d64fb26561dULL,
+ 0x34ce5bdf17913eb7ULL, 0x5d6fb56af07c5fd0ULL, 0x182713cd0a7f25fdULL,
+ 0x9e2ac576e6c84d57ULL, 0x9aaab82ee5a73907ULL, 0xa3d93c0f3e558654ULL,
+ 0x7e7b92aaae48ff56ULL, 0x872d8ead256575beULL, 0x41c8dbfff96c0e7dULL,
+ 0x99ca5014a3cc1e3bULL, 0x40e883e930be1369ULL, 0x1ca76e95091051adULL,
+ 0x4e35b42dbab6b5b1ULL, 0x05a0254ecabd6944ULL, 0xe1710fca8152af15ULL,
+ 0xf22b0e8dcb984574ULL, 0xb763a82a319b3f59ULL, 0x63fca4296e8ab3efULL,
+ 0x9d4a2d4ca0a36a6bULL, 0xe331bfe60eeb953dULL, 0xd5bf541596c391a2ULL,
+ 0xf5cb9bef8e9c1618ULL, 0x46284e9dbc685d11ULL, 0x2074cffa185f87baULL,
+ 0xbd3ee2b6b8fcedd1ULL, 0xae64e3f1f23607b0ULL, 0xfeb68965ce29d984ULL,
+ 0x55724fdaf6a2b770ULL, 0x29496d5cd753720eULL, 0xa75941573d3af204ULL,
+ 0x8e102c0bea69800aULL, 0x111ab16bc573d049ULL, 0xd7ffe439197aab8aULL,
+ 0xefac380e0b5a09cdULL, 0x48f579593660fbc9ULL, 0x22347fd697e6bd92ULL,
+ 0x61bc1405e13389c7ULL, 0x4ab5c975b9d9c1e1ULL, 0x80cd1bcf606126d2ULL,
+ 0x7186fd78ed92449aULL, 0x93971a882aabccb3ULL, 0x88d0e17f66bfce72ULL,
+ 0x27945a985d5bd4d6ULL },
/* 1 */
- {0xde553f8c05a811c8ULL, 0x1906b59631b4f565ULL,
- 0x436e70d6b1964ff7ULL, 0x36d343cb8b1e9d85ULL,
- 0x843dfacc858aab5aULL, 0xfdfc95c299bfc7f9ULL,
- 0x0f634bdea1d51fa2ULL, 0x6d458b3b76efb3cdULL,
- 0x85c3f77cf8593f80ULL, 0x3c91315fbe737cb2ULL,
- 0x2148b03366ace398ULL, 0x18f8b8264c6761bfULL,
- 0xc830c1c495c9fb0fULL, 0x981a76102086a0aaULL,
- 0xaa16012142f35760ULL, 0x35cc54060c763cf6ULL,
- 0x42907d66cc45db2dULL, 0x8203d44b965af4bcULL,
- 0x3d6f3cefc3a0e868ULL, 0xbc73ff69d292bda7ULL,
- 0x8722ed0102e20a29ULL, 0x8f8185e8cd34deb7ULL,
- 0x9b0561dda7ee01d9ULL, 0x5335a0193227fad6ULL,
- 0xc9cecc74e81a6fd5ULL, 0x54f5832e5c2431eaULL,
- 0x99e47ba05d553470ULL, 0xf7bee756acd226ceULL,
- 0x384e05a5571816fdULL, 0xd1367452a47d0e6aULL,
- 0xf29fde1c386ad85bULL, 0x320c77316275f7caULL,
- 0xd0c879e2d9ae9ab0ULL, 0xdb7406c69110ef5dULL,
- 0x45505e51a2461011ULL, 0xfc029872e46c5323ULL,
- 0xfa3cb6f5f7bc0cc5ULL, 0x031f17cd8768a173ULL,
- 0xbd8df2d9af41297dULL, 0x9d3b4f5ab43e5e3fULL,
- 0x4071671b36feee84ULL, 0x716207e7d3e3b83dULL,
- 0x48d20ff2f9283a1aULL, 0x27769eb4757cbc7eULL,
- 0x5c56ebc793f2e574ULL, 0xa48b474f9ef5dc18ULL,
- 0x52cbada94ff46e0cULL, 0x60c7da982d8199c6ULL,
- 0x0e9d466edc068b78ULL, 0x4eec2175eaf865fcULL,
- 0x550b8e9e21f7a530ULL, 0x6b7ba5bc653fec2bULL,
- 0x5eb7f1ba6949d0ddULL, 0x57ea94e3db4c9099ULL,
- 0xf640eae6d101b214ULL, 0xdd4a284182c0b0bbULL,
- 0xff1d8fbf6304f250ULL, 0xb8accb933bf9d7e8ULL,
- 0xe8867c478eb68c4dULL, 0x3f8e2692391bddc1ULL,
- 0xcb2fd60912a15a7cULL, 0xaec935dbab983d2fULL,
- 0xf55ffd2b56691367ULL, 0x80e2ce366ce1c115ULL,
- 0x179bf3f8edb27e1dULL, 0x01fe0db07dd394daULL,
- 0xda8a0b76ecc37b87ULL, 0x44ae53e1df9584cbULL,
- 0xb310b4b77347a205ULL, 0xdfab323c787b8512ULL,
- 0x3b511268d070b78eULL, 0x65e6e3d2b9396753ULL,
- 0x6864b271e2574d58ULL, 0x259784c98fc789d7ULL,
- 0x02e11a7dfabb35a9ULL, 0x8841a6dfa337158bULL,
- 0x7ade78c39b5dcdd0ULL, 0xb7cf804d9a2cc84aULL,
- 0x20b6bd831b7f7742ULL, 0x75bd331d3a88d272ULL,
- 0x418f6aab4b2d7a5eULL, 0xd9951cbb6babdaf4ULL,
- 0xb6318dfde7ff5c90ULL, 0x1f389b112264aa83ULL,
- 0x492c024284fbaec0ULL, 0xe33a0363c608f9a0ULL,
- 0x2688930408af28a4ULL, 0xc7538a1a341ce4adULL,
- 0x5da8e677ee2171aeULL, 0x8c9e92254a5c7fc4ULL,
- 0x63d8cd55aae938b5ULL, 0x29ebd8daa97a3706ULL,
- 0x959827b37be88aa1ULL, 0x1484e4356adadf6eULL,
- 0xa7945082199d7d6bULL, 0xbf6ce8a455fa1cd4ULL,
- 0x9cc542eac9edcae5ULL, 0x79c16f0e1c356ca3ULL,
- 0x89bfab6fdee48151ULL, 0xd4174d1830c5f0ffULL,
- 0x9258048415eb419dULL, 0x6139d72850520d1cULL,
- 0x6a85a80c18ec78f1ULL, 0xcd11f88e0171059aULL,
- 0xcceff53e7ca29140ULL, 0xd229639f2315af19ULL,
- 0x90b91ef9ef507434ULL, 0x5977d28d074a1be1ULL,
- 0x311360fce51d56b9ULL, 0xc093a92d5a1f2f91ULL,
- 0x1a19a25bb6dc5416ULL, 0xeb996b8a09de2d3eULL,
- 0xfee3820f1ed7668aULL, 0xd7085ad5b7ad518cULL,
- 0x7fff41890fe53345ULL, 0xec5948bd67dde602ULL,
- 0x2fd5f65dbaaa68e0ULL, 0xa5754affe32648c2ULL,
- 0xf8ddac880d07396cULL, 0x6fa491468c548664ULL,
- 0x0c7c5c1326bdbed1ULL, 0x4a33158f03930fb3ULL,
- 0x699abfc19f84d982ULL, 0xe4fa2054a80b329cULL,
- 0x6707f9af438252faULL, 0x08a368e9cfd6d49eULL,
- 0x47b1442c58fd25b8ULL, 0xbbb3dc5ebc91769bULL,
- 0x1665fe489061eac7ULL, 0x33f27a811fa66310ULL,
- 0x93a609346838d547ULL, 0x30ed6d4c98cec263ULL,
- 0x1dd9816cd8df9f2aULL, 0x94662a03063b1e7bULL,
- 0x83fdd9fbeb896066ULL, 0x7b207573e68e590aULL,
- 0x5f49fc0a149a4407ULL, 0x343259b671a5a82cULL,
- 0xfbc2bb458a6f981fULL, 0xc272b350a0a41a38ULL,
- 0x3aaf1fd8ada32354ULL, 0x6cbb868b0b3c2717ULL,
- 0xa2b569c88d2583feULL, 0xf180c9d1bf027928ULL,
- 0xaf37386bd64ba9f5ULL, 0x12bacab2790a8088ULL,
- 0x4c0d3b0810435055ULL, 0xb2eeb9070e9436dfULL,
- 0xc5b29067cea7d104ULL, 0xdcb425f1ff132461ULL,
- 0x4f122cc5972bf126ULL, 0xac282fa651230886ULL,
- 0xe7e537992f6393efULL, 0xe61b3a2952b00735ULL,
- 0x709c0a57ae302ce7ULL, 0xe02514ae416058d3ULL,
- 0xc44c9dd7b37445deULL, 0x5a68c5408022ba92ULL,
- 0x1c278cdca50c0bf0ULL, 0x6e5a9cf6f18712beULL,
- 0x86dce0b17f319ef3ULL, 0x2d34ec2040115d49ULL,
- 0x4bcd183f7e409b69ULL, 0x2815d56ad4a9a3dcULL,
- 0x24698979f2141d0dULL, 0x0000000000000000ULL,
- 0x1ec696a15fb73e59ULL, 0xd86b110b16784e2eULL,
- 0x8e7f8858b0e74a6dULL, 0x063e2e8713d05fe6ULL,
- 0xe2c40ed3bbdb6d7aULL, 0xb1f1aeca89fc97acULL,
- 0xe1db191e3cb3cc09ULL, 0x6418ee62c4eaf389ULL,
- 0xc6ad87aa49cf7077ULL, 0xd6f65765ca7ec556ULL,
- 0x9afb6c6dda3d9503ULL, 0x7ce05644888d9236ULL,
- 0x8d609f95378feb1eULL, 0x23a9aa4e9c17d631ULL,
- 0x6226c0e5d73aac6fULL, 0x56149953a69f0443ULL,
- 0xeeb852c09d66d3abULL, 0x2b0ac2a753c102afULL,
- 0x07c023376e03cb3cULL, 0x2ccae1903dc2c993ULL,
- 0xd3d76e2f5ec63bc3ULL, 0x9e2458973356ff4cULL,
- 0xa66a5d32644ee9b1ULL, 0x0a427294356de137ULL,
- 0x783f62be61e6f879ULL, 0x1344c70204d91452ULL,
- 0x5b96c8f0fdf12e48ULL, 0xa90916ecc59bf613ULL,
- 0xbe92e5142829880eULL, 0x727d102a548b194eULL,
- 0x1be7afebcb0fc0ccULL, 0x3e702b2244c8491bULL,
- 0xd5e940a84d166425ULL, 0x66f9f41f3e51c620ULL,
- 0xabe80c913f20c3baULL, 0xf07ec461c2d1edf2ULL,
- 0xf361d3ac45b94c81ULL, 0x0521394a94b8fe95ULL,
- 0xadd622162cf09c5cULL, 0xe97871f7f3651897ULL,
- 0xf4a1f09b2bba87bdULL, 0x095d6559b2054044ULL,
- 0x0bbc7f2448be75edULL, 0x2af4cf172e129675ULL,
- 0x157ae98517094bb4ULL, 0x9fda55274e856b96ULL,
- 0x914713499283e0eeULL, 0xb952c623462a4332ULL,
- 0x74433ead475b46a8ULL, 0x8b5eb112245fb4f8ULL,
- 0xa34b6478f0f61724ULL, 0x11a5dd7ffe6221fbULL,
- 0xc16da49d27ccbb4bULL, 0x76a224d0bde07301ULL,
- 0x8aa0bca2598c2022ULL, 0x4df336b86d90c48fULL,
- 0xea67663a740db9e4ULL, 0xef465f70e0b54771ULL,
- 0x39b008152acb8227ULL, 0x7d1e5bf4f55e06ecULL,
- 0x105bd0cf83b1b521ULL, 0x775c2960c033e7dbULL,
- 0x7e014c397236a79fULL, 0x811cc386113255cfULL,
- 0xeda7450d1a0e72d8ULL, 0x5889df3d7a998f3bULL,
- 0x2e2bfbedc779fc3aULL, 0xce0eef438619a4e9ULL,
- 0x372d4e7bf6cd095fULL, 0x04df34fae96b6a4fULL,
- 0xf923a13870d4adb6ULL, 0xa1aa7e050a4d228dULL,
- 0xa8f71b5cb84862c9ULL, 0xb52e9a306097fde3ULL,
- 0x0d8251a35b6e2a0bULL, 0x2257a7fee1c442ebULL,
- 0x73831d9a29588d94ULL, 0x51d4ba64c89ccf7fULL,
- 0x502ab7d4b54f5ba5ULL, 0x97793dce8153bf08ULL,
- 0xe5042de4d5d8a646ULL, 0x9687307efc802bd2ULL,
- 0xa05473b5779eb657ULL, 0xb4d097801d446939ULL,
- 0xcff0e2f3fbca3033ULL, 0xc38cbee0dd778ee2ULL,
- 0x464f499c252eb162ULL, 0xcad1dbb96f72cea6ULL,
- 0xba4dd1eec142e241ULL, 0xb00fa37af42f0376ULL},
+ { 0xde553f8c05a811c8ULL, 0x1906b59631b4f565ULL, 0x436e70d6b1964ff7ULL,
+ 0x36d343cb8b1e9d85ULL, 0x843dfacc858aab5aULL, 0xfdfc95c299bfc7f9ULL,
+ 0x0f634bdea1d51fa2ULL, 0x6d458b3b76efb3cdULL, 0x85c3f77cf8593f80ULL,
+ 0x3c91315fbe737cb2ULL, 0x2148b03366ace398ULL, 0x18f8b8264c6761bfULL,
+ 0xc830c1c495c9fb0fULL, 0x981a76102086a0aaULL, 0xaa16012142f35760ULL,
+ 0x35cc54060c763cf6ULL, 0x42907d66cc45db2dULL, 0x8203d44b965af4bcULL,
+ 0x3d6f3cefc3a0e868ULL, 0xbc73ff69d292bda7ULL, 0x8722ed0102e20a29ULL,
+ 0x8f8185e8cd34deb7ULL, 0x9b0561dda7ee01d9ULL, 0x5335a0193227fad6ULL,
+ 0xc9cecc74e81a6fd5ULL, 0x54f5832e5c2431eaULL, 0x99e47ba05d553470ULL,
+ 0xf7bee756acd226ceULL, 0x384e05a5571816fdULL, 0xd1367452a47d0e6aULL,
+ 0xf29fde1c386ad85bULL, 0x320c77316275f7caULL, 0xd0c879e2d9ae9ab0ULL,
+ 0xdb7406c69110ef5dULL, 0x45505e51a2461011ULL, 0xfc029872e46c5323ULL,
+ 0xfa3cb6f5f7bc0cc5ULL, 0x031f17cd8768a173ULL, 0xbd8df2d9af41297dULL,
+ 0x9d3b4f5ab43e5e3fULL, 0x4071671b36feee84ULL, 0x716207e7d3e3b83dULL,
+ 0x48d20ff2f9283a1aULL, 0x27769eb4757cbc7eULL, 0x5c56ebc793f2e574ULL,
+ 0xa48b474f9ef5dc18ULL, 0x52cbada94ff46e0cULL, 0x60c7da982d8199c6ULL,
+ 0x0e9d466edc068b78ULL, 0x4eec2175eaf865fcULL, 0x550b8e9e21f7a530ULL,
+ 0x6b7ba5bc653fec2bULL, 0x5eb7f1ba6949d0ddULL, 0x57ea94e3db4c9099ULL,
+ 0xf640eae6d101b214ULL, 0xdd4a284182c0b0bbULL, 0xff1d8fbf6304f250ULL,
+ 0xb8accb933bf9d7e8ULL, 0xe8867c478eb68c4dULL, 0x3f8e2692391bddc1ULL,
+ 0xcb2fd60912a15a7cULL, 0xaec935dbab983d2fULL, 0xf55ffd2b56691367ULL,
+ 0x80e2ce366ce1c115ULL, 0x179bf3f8edb27e1dULL, 0x01fe0db07dd394daULL,
+ 0xda8a0b76ecc37b87ULL, 0x44ae53e1df9584cbULL, 0xb310b4b77347a205ULL,
+ 0xdfab323c787b8512ULL, 0x3b511268d070b78eULL, 0x65e6e3d2b9396753ULL,
+ 0x6864b271e2574d58ULL, 0x259784c98fc789d7ULL, 0x02e11a7dfabb35a9ULL,
+ 0x8841a6dfa337158bULL, 0x7ade78c39b5dcdd0ULL, 0xb7cf804d9a2cc84aULL,
+ 0x20b6bd831b7f7742ULL, 0x75bd331d3a88d272ULL, 0x418f6aab4b2d7a5eULL,
+ 0xd9951cbb6babdaf4ULL, 0xb6318dfde7ff5c90ULL, 0x1f389b112264aa83ULL,
+ 0x492c024284fbaec0ULL, 0xe33a0363c608f9a0ULL, 0x2688930408af28a4ULL,
+ 0xc7538a1a341ce4adULL, 0x5da8e677ee2171aeULL, 0x8c9e92254a5c7fc4ULL,
+ 0x63d8cd55aae938b5ULL, 0x29ebd8daa97a3706ULL, 0x959827b37be88aa1ULL,
+ 0x1484e4356adadf6eULL, 0xa7945082199d7d6bULL, 0xbf6ce8a455fa1cd4ULL,
+ 0x9cc542eac9edcae5ULL, 0x79c16f0e1c356ca3ULL, 0x89bfab6fdee48151ULL,
+ 0xd4174d1830c5f0ffULL, 0x9258048415eb419dULL, 0x6139d72850520d1cULL,
+ 0x6a85a80c18ec78f1ULL, 0xcd11f88e0171059aULL, 0xcceff53e7ca29140ULL,
+ 0xd229639f2315af19ULL, 0x90b91ef9ef507434ULL, 0x5977d28d074a1be1ULL,
+ 0x311360fce51d56b9ULL, 0xc093a92d5a1f2f91ULL, 0x1a19a25bb6dc5416ULL,
+ 0xeb996b8a09de2d3eULL, 0xfee3820f1ed7668aULL, 0xd7085ad5b7ad518cULL,
+ 0x7fff41890fe53345ULL, 0xec5948bd67dde602ULL, 0x2fd5f65dbaaa68e0ULL,
+ 0xa5754affe32648c2ULL, 0xf8ddac880d07396cULL, 0x6fa491468c548664ULL,
+ 0x0c7c5c1326bdbed1ULL, 0x4a33158f03930fb3ULL, 0x699abfc19f84d982ULL,
+ 0xe4fa2054a80b329cULL, 0x6707f9af438252faULL, 0x08a368e9cfd6d49eULL,
+ 0x47b1442c58fd25b8ULL, 0xbbb3dc5ebc91769bULL, 0x1665fe489061eac7ULL,
+ 0x33f27a811fa66310ULL, 0x93a609346838d547ULL, 0x30ed6d4c98cec263ULL,
+ 0x1dd9816cd8df9f2aULL, 0x94662a03063b1e7bULL, 0x83fdd9fbeb896066ULL,
+ 0x7b207573e68e590aULL, 0x5f49fc0a149a4407ULL, 0x343259b671a5a82cULL,
+ 0xfbc2bb458a6f981fULL, 0xc272b350a0a41a38ULL, 0x3aaf1fd8ada32354ULL,
+ 0x6cbb868b0b3c2717ULL, 0xa2b569c88d2583feULL, 0xf180c9d1bf027928ULL,
+ 0xaf37386bd64ba9f5ULL, 0x12bacab2790a8088ULL, 0x4c0d3b0810435055ULL,
+ 0xb2eeb9070e9436dfULL, 0xc5b29067cea7d104ULL, 0xdcb425f1ff132461ULL,
+ 0x4f122cc5972bf126ULL, 0xac282fa651230886ULL, 0xe7e537992f6393efULL,
+ 0xe61b3a2952b00735ULL, 0x709c0a57ae302ce7ULL, 0xe02514ae416058d3ULL,
+ 0xc44c9dd7b37445deULL, 0x5a68c5408022ba92ULL, 0x1c278cdca50c0bf0ULL,
+ 0x6e5a9cf6f18712beULL, 0x86dce0b17f319ef3ULL, 0x2d34ec2040115d49ULL,
+ 0x4bcd183f7e409b69ULL, 0x2815d56ad4a9a3dcULL, 0x24698979f2141d0dULL,
+ 0x0000000000000000ULL, 0x1ec696a15fb73e59ULL, 0xd86b110b16784e2eULL,
+ 0x8e7f8858b0e74a6dULL, 0x063e2e8713d05fe6ULL, 0xe2c40ed3bbdb6d7aULL,
+ 0xb1f1aeca89fc97acULL, 0xe1db191e3cb3cc09ULL, 0x6418ee62c4eaf389ULL,
+ 0xc6ad87aa49cf7077ULL, 0xd6f65765ca7ec556ULL, 0x9afb6c6dda3d9503ULL,
+ 0x7ce05644888d9236ULL, 0x8d609f95378feb1eULL, 0x23a9aa4e9c17d631ULL,
+ 0x6226c0e5d73aac6fULL, 0x56149953a69f0443ULL, 0xeeb852c09d66d3abULL,
+ 0x2b0ac2a753c102afULL, 0x07c023376e03cb3cULL, 0x2ccae1903dc2c993ULL,
+ 0xd3d76e2f5ec63bc3ULL, 0x9e2458973356ff4cULL, 0xa66a5d32644ee9b1ULL,
+ 0x0a427294356de137ULL, 0x783f62be61e6f879ULL, 0x1344c70204d91452ULL,
+ 0x5b96c8f0fdf12e48ULL, 0xa90916ecc59bf613ULL, 0xbe92e5142829880eULL,
+ 0x727d102a548b194eULL, 0x1be7afebcb0fc0ccULL, 0x3e702b2244c8491bULL,
+ 0xd5e940a84d166425ULL, 0x66f9f41f3e51c620ULL, 0xabe80c913f20c3baULL,
+ 0xf07ec461c2d1edf2ULL, 0xf361d3ac45b94c81ULL, 0x0521394a94b8fe95ULL,
+ 0xadd622162cf09c5cULL, 0xe97871f7f3651897ULL, 0xf4a1f09b2bba87bdULL,
+ 0x095d6559b2054044ULL, 0x0bbc7f2448be75edULL, 0x2af4cf172e129675ULL,
+ 0x157ae98517094bb4ULL, 0x9fda55274e856b96ULL, 0x914713499283e0eeULL,
+ 0xb952c623462a4332ULL, 0x74433ead475b46a8ULL, 0x8b5eb112245fb4f8ULL,
+ 0xa34b6478f0f61724ULL, 0x11a5dd7ffe6221fbULL, 0xc16da49d27ccbb4bULL,
+ 0x76a224d0bde07301ULL, 0x8aa0bca2598c2022ULL, 0x4df336b86d90c48fULL,
+ 0xea67663a740db9e4ULL, 0xef465f70e0b54771ULL, 0x39b008152acb8227ULL,
+ 0x7d1e5bf4f55e06ecULL, 0x105bd0cf83b1b521ULL, 0x775c2960c033e7dbULL,
+ 0x7e014c397236a79fULL, 0x811cc386113255cfULL, 0xeda7450d1a0e72d8ULL,
+ 0x5889df3d7a998f3bULL, 0x2e2bfbedc779fc3aULL, 0xce0eef438619a4e9ULL,
+ 0x372d4e7bf6cd095fULL, 0x04df34fae96b6a4fULL, 0xf923a13870d4adb6ULL,
+ 0xa1aa7e050a4d228dULL, 0xa8f71b5cb84862c9ULL, 0xb52e9a306097fde3ULL,
+ 0x0d8251a35b6e2a0bULL, 0x2257a7fee1c442ebULL, 0x73831d9a29588d94ULL,
+ 0x51d4ba64c89ccf7fULL, 0x502ab7d4b54f5ba5ULL, 0x97793dce8153bf08ULL,
+ 0xe5042de4d5d8a646ULL, 0x9687307efc802bd2ULL, 0xa05473b5779eb657ULL,
+ 0xb4d097801d446939ULL, 0xcff0e2f3fbca3033ULL, 0xc38cbee0dd778ee2ULL,
+ 0x464f499c252eb162ULL, 0xcad1dbb96f72cea6ULL, 0xba4dd1eec142e241ULL,
+ 0xb00fa37af42f0376ULL },
/* 2 */
- {0xcce4cd3aa968b245ULL, 0x089d5484e80b7fafULL,
- 0x638246c1b3548304ULL, 0xd2fe0ec8c2355492ULL,
- 0xa7fbdf7ff2374eeeULL, 0x4df1600c92337a16ULL,
- 0x84e503ea523b12fbULL, 0x0790bbfd53ab0c4aULL,
- 0x198a780f38f6ea9dULL, 0x2ab30c8f55ec48cbULL,
- 0xe0f7fed6b2c49db5ULL, 0xb6ecf3f422cadbdcULL,
- 0x409c9a541358df11ULL, 0xd3ce8a56dfde3fe3ULL,
- 0xc3e9224312c8c1a0ULL, 0x0d6dfa58816ba507ULL,
- 0xddf3e1b179952777ULL, 0x04c02a42748bb1d9ULL,
- 0x94c2abff9f2decb8ULL, 0x4f91752da8f8acf4ULL,
- 0x78682befb169bf7bULL, 0xe1c77a48af2ff6c4ULL,
- 0x0c5d7ec69c80ce76ULL, 0x4cc1e4928fd81167ULL,
- 0xfeed3d24d9997b62ULL, 0x518bb6dfc3a54a23ULL,
- 0x6dbf2d26151f9b90ULL, 0xb5bc624b05ea664fULL,
- 0xe86aaa525acfe21aULL, 0x4801ced0fb53a0beULL,
- 0xc91463e6c00868edULL, 0x1027a815cd16fe43ULL,
- 0xf67069a0319204cdULL, 0xb04ccc976c8abce7ULL,
- 0xc0b9b3fc35e87c33ULL, 0xf380c77c58f2de65ULL,
- 0x50bb3241de4e2152ULL, 0xdf93f490435ef195ULL,
- 0xf1e0d25d62390887ULL, 0xaf668bfb1a3c3141ULL,
- 0xbc11b251f00a7291ULL, 0x73a5eed47e427d47ULL,
- 0x25bee3f6ee4c3b2eULL, 0x43cc0beb34786282ULL,
- 0xc824e778dde3039cULL, 0xf97d86d98a327728ULL,
- 0xf2b043e24519b514ULL, 0xe297ebf7880f4b57ULL,
- 0x3a94a49a98fab688ULL, 0x868516cb68f0c419ULL,
- 0xeffa11af0964ee50ULL, 0xa4ab4ec0d517f37dULL,
- 0xa9c6b498547c567aULL, 0x8e18424f80fbbbb6ULL,
- 0x0bcdc53bcf2bc23cULL, 0x137739aaea3643d0ULL,
- 0x2c1333ec1bac2ff0ULL, 0x8d48d3f0a7db0625ULL,
- 0x1e1ac3f26b5de6d7ULL, 0xf520f81f16b2b95eULL,
- 0x9f0f6ec450062e84ULL, 0x0130849e1deb6b71ULL,
- 0xd45e31ab8c7533a9ULL, 0x652279a2fd14e43fULL,
- 0x3209f01e70f1c927ULL, 0xbe71a770cac1a473ULL,
- 0x0e3d6be7a64b1894ULL, 0x7ec8148cff29d840ULL,
- 0xcb7476c7fac3be0fULL, 0x72956a4a63a91636ULL,
- 0x37f95ec21991138fULL, 0x9e3fea5a4ded45f5ULL,
- 0x7b38ba50964902e8ULL, 0x222e580bbde73764ULL,
- 0x61e253e0899f55e6ULL, 0xfc8d2805e352ad80ULL,
- 0x35994be3235ac56dULL, 0x09add01af5e014deULL,
- 0x5e8659a6780539c6ULL, 0xb17c48097161d796ULL,
- 0x026015213acbd6e2ULL, 0xd1ae9f77e515e901ULL,
- 0xb7dc776a3f21b0adULL, 0xaba6a1b96eb78098ULL,
- 0x9bcf4486248d9f5dULL, 0x582666c536455efdULL,
- 0xfdbdac9bfeb9c6f1ULL, 0xc47999be4163cdeaULL,
- 0x765540081722a7efULL, 0x3e548ed8ec710751ULL,
- 0x3d041f67cb51bac2ULL, 0x7958af71ac82d40aULL,
- 0x36c9da5c047a78feULL, 0xed9a048e33af38b2ULL,
- 0x26ee7249c96c86bdULL, 0x900281bdeba65d61ULL,
- 0x11172c8bd0fd9532ULL, 0xea0abf73600434f8ULL,
- 0x42fc8f75299309f3ULL, 0x34a9cf7d3eb1ae1cULL,
- 0x2b838811480723baULL, 0x5ce64c8742ceef24ULL,
- 0x1adae9b01fd6570eULL, 0x3c349bf9d6bad1b3ULL,
- 0x82453c891c7b75c0ULL, 0x97923a40b80d512bULL,
- 0x4a61dbf1c198765cULL, 0xb48ce6d518010d3eULL,
- 0xcfb45c858e480fd6ULL, 0xd933cbf30d1e96aeULL,
- 0xd70ea014ab558e3aULL, 0xc189376228031742ULL,
- 0x9262949cd16d8b83ULL, 0xeb3a3bed7def5f89ULL,
- 0x49314a4ee6b8cbcfULL, 0xdcc3652f647e4c06ULL,
- 0xda635a4c2a3e2b3dULL, 0x470c21a940f3d35bULL,
- 0x315961a157d174b4ULL, 0x6672e81dda3459acULL,
- 0x5b76f77a1165e36eULL, 0x445cb01667d36ec8ULL,
- 0xc5491d205c88a69bULL, 0x456c34887a3805b9ULL,
- 0xffddb9bac4721013ULL, 0x99af51a71e4649bfULL,
- 0xa15be01cbc7729d5ULL, 0x52db2760e485f7b0ULL,
- 0x8c78576eba306d54ULL, 0xae560f6507d75a30ULL,
- 0x95f22f6182c687c9ULL, 0x71c5fbf54489aba5ULL,
- 0xca44f259e728d57eULL, 0x88b87d2ccebbdc8dULL,
- 0xbab18d32be4a15aaULL, 0x8be8ec93e99b611eULL,
- 0x17b713e89ebdf209ULL, 0xb31c5d284baa0174ULL,
- 0xeeca9531148f8521ULL, 0xb8d198138481c348ULL,
- 0x8988f9b2d350b7fcULL, 0xb9e11c8d996aa839ULL,
- 0x5a4673e40c8e881fULL, 0x1687977683569978ULL,
- 0xbf4123eed72acf02ULL, 0x4ea1f1b3b513c785ULL,
- 0xe767452be16f91ffULL, 0x7505d1b730021a7cULL,
- 0xa59bca5ec8fc980cULL, 0xad069eda20f7e7a3ULL,
- 0x38f4b1bba231606aULL, 0x60d2d77e94743e97ULL,
- 0x9affc0183966f42cULL, 0x248e6768f3a7505fULL,
- 0xcdd449a4b483d934ULL, 0x87b59255751baf68ULL,
- 0x1bea6d2e023d3c7fULL, 0x6b1f12455b5ffcabULL,
- 0x743555292de9710dULL, 0xd8034f6d10f5fddfULL,
- 0xc6198c9f7ba81b08ULL, 0xbb8109aca3a17edbULL,
- 0xfa2d1766ad12cabbULL, 0xc729080166437079ULL,
- 0x9c5fff7b77269317ULL, 0x0000000000000000ULL,
- 0x15d706c9a47624ebULL, 0x6fdf38072fd44d72ULL,
- 0x5fb6dd3865ee52b7ULL, 0xa33bf53d86bcff37ULL,
- 0xe657c1b5fc84fa8eULL, 0xaa962527735cebe9ULL,
- 0x39c43525bfda0b1bULL, 0x204e4d2a872ce186ULL,
- 0x7a083ece8ba26999ULL, 0x554b9c9db72efbfaULL,
- 0xb22cd9b656416a05ULL, 0x96a2bedea5e63a5aULL,
- 0x802529a826b0a322ULL, 0x8115ad363b5bc853ULL,
- 0x8375b81701901eb1ULL, 0x3069e53f4a3a1fc5ULL,
- 0xbd2136cfede119e0ULL, 0x18bafc91251d81ecULL,
- 0x1d4a524d4c7d5b44ULL, 0x05f0aedc6960daa8ULL,
- 0x29e39d3072ccf558ULL, 0x70f57f6b5962c0d4ULL,
- 0x989fd53903ad22ceULL, 0xf84d024797d91c59ULL,
- 0x547b1803aac5908bULL, 0xf0d056c37fd263f6ULL,
- 0xd56eb535919e58d8ULL, 0x1c7ad6d351963035ULL,
- 0x2e7326cd2167f912ULL, 0xac361a443d1c8cd2ULL,
- 0x697f076461942a49ULL, 0x4b515f6fdc731d2dULL,
- 0x8ad8680df4700a6fULL, 0x41ac1eca0eb3b460ULL,
- 0x7d988533d80965d3ULL, 0xa8f6300649973d0bULL,
- 0x7765c4960ac9cc9eULL, 0x7ca801adc5e20ea2ULL,
- 0xdea3700e5eb59ae4ULL, 0xa06b6482a19c42a4ULL,
- 0x6a2f96db46b497daULL, 0x27def6d7d487edccULL,
- 0x463ca5375d18b82aULL, 0xa6cb5be1efdc259fULL,
- 0x53eba3fef96e9cc1ULL, 0xce84d81b93a364a7ULL,
- 0xf4107c810b59d22fULL, 0x333974806d1aa256ULL,
- 0x0f0def79bba073e5ULL, 0x231edc95a00c5c15ULL,
- 0xe437d494c64f2c6cULL, 0x91320523f64d3610ULL,
- 0x67426c83c7df32ddULL, 0x6eefbc99323f2603ULL,
- 0x9d6f7be56acdf866ULL, 0x5916e25b2bae358cULL,
- 0x7ff89012e2c2b331ULL, 0x035091bf2720bd93ULL,
- 0x561b0d22900e4669ULL, 0x28d319ae6f279e29ULL,
- 0x2f43a2533c8c9263ULL, 0xd09e1be9f8fe8270ULL,
- 0xf740ed3e2c796fbcULL, 0xdb53ded237d5404cULL,
- 0x62b2c25faebfe875ULL, 0x0afd41a5d2c0a94dULL,
- 0x6412fd3ce0ff8f4eULL, 0xe3a76f6995e42026ULL,
- 0x6c8fa9b808f4f0e1ULL, 0xc2d9a6dd0f23aad1ULL,
- 0x8f28c6d19d10d0c7ULL, 0x85d587744fd0798aULL,
- 0xa20b71a39b579446ULL, 0x684f83fa7c7f4138ULL,
- 0xe507500adba4471dULL, 0x3f640a46f19a6c20ULL,
- 0x1247bd34f7dd28a1ULL, 0x2d23b77206474481ULL,
- 0x93521002cc86e0f2ULL, 0x572b89bc8de52d18ULL,
- 0xfb1d93f8b0f9a1caULL, 0xe95a2ecc4724896bULL,
- 0x3ba420048511ddf9ULL, 0xd63e248ab6bee54bULL,
- 0x5dd6c8195f258455ULL, 0x06a03f634e40673bULL,
- 0x1f2a476c76b68da6ULL, 0x217ec9b49ac78af7ULL,
- 0xecaa80102e4453c3ULL, 0x14e78257b99d4f9aULL},
+ { 0xcce4cd3aa968b245ULL, 0x089d5484e80b7fafULL, 0x638246c1b3548304ULL,
+ 0xd2fe0ec8c2355492ULL, 0xa7fbdf7ff2374eeeULL, 0x4df1600c92337a16ULL,
+ 0x84e503ea523b12fbULL, 0x0790bbfd53ab0c4aULL, 0x198a780f38f6ea9dULL,
+ 0x2ab30c8f55ec48cbULL, 0xe0f7fed6b2c49db5ULL, 0xb6ecf3f422cadbdcULL,
+ 0x409c9a541358df11ULL, 0xd3ce8a56dfde3fe3ULL, 0xc3e9224312c8c1a0ULL,
+ 0x0d6dfa58816ba507ULL, 0xddf3e1b179952777ULL, 0x04c02a42748bb1d9ULL,
+ 0x94c2abff9f2decb8ULL, 0x4f91752da8f8acf4ULL, 0x78682befb169bf7bULL,
+ 0xe1c77a48af2ff6c4ULL, 0x0c5d7ec69c80ce76ULL, 0x4cc1e4928fd81167ULL,
+ 0xfeed3d24d9997b62ULL, 0x518bb6dfc3a54a23ULL, 0x6dbf2d26151f9b90ULL,
+ 0xb5bc624b05ea664fULL, 0xe86aaa525acfe21aULL, 0x4801ced0fb53a0beULL,
+ 0xc91463e6c00868edULL, 0x1027a815cd16fe43ULL, 0xf67069a0319204cdULL,
+ 0xb04ccc976c8abce7ULL, 0xc0b9b3fc35e87c33ULL, 0xf380c77c58f2de65ULL,
+ 0x50bb3241de4e2152ULL, 0xdf93f490435ef195ULL, 0xf1e0d25d62390887ULL,
+ 0xaf668bfb1a3c3141ULL, 0xbc11b251f00a7291ULL, 0x73a5eed47e427d47ULL,
+ 0x25bee3f6ee4c3b2eULL, 0x43cc0beb34786282ULL, 0xc824e778dde3039cULL,
+ 0xf97d86d98a327728ULL, 0xf2b043e24519b514ULL, 0xe297ebf7880f4b57ULL,
+ 0x3a94a49a98fab688ULL, 0x868516cb68f0c419ULL, 0xeffa11af0964ee50ULL,
+ 0xa4ab4ec0d517f37dULL, 0xa9c6b498547c567aULL, 0x8e18424f80fbbbb6ULL,
+ 0x0bcdc53bcf2bc23cULL, 0x137739aaea3643d0ULL, 0x2c1333ec1bac2ff0ULL,
+ 0x8d48d3f0a7db0625ULL, 0x1e1ac3f26b5de6d7ULL, 0xf520f81f16b2b95eULL,
+ 0x9f0f6ec450062e84ULL, 0x0130849e1deb6b71ULL, 0xd45e31ab8c7533a9ULL,
+ 0x652279a2fd14e43fULL, 0x3209f01e70f1c927ULL, 0xbe71a770cac1a473ULL,
+ 0x0e3d6be7a64b1894ULL, 0x7ec8148cff29d840ULL, 0xcb7476c7fac3be0fULL,
+ 0x72956a4a63a91636ULL, 0x37f95ec21991138fULL, 0x9e3fea5a4ded45f5ULL,
+ 0x7b38ba50964902e8ULL, 0x222e580bbde73764ULL, 0x61e253e0899f55e6ULL,
+ 0xfc8d2805e352ad80ULL, 0x35994be3235ac56dULL, 0x09add01af5e014deULL,
+ 0x5e8659a6780539c6ULL, 0xb17c48097161d796ULL, 0x026015213acbd6e2ULL,
+ 0xd1ae9f77e515e901ULL, 0xb7dc776a3f21b0adULL, 0xaba6a1b96eb78098ULL,
+ 0x9bcf4486248d9f5dULL, 0x582666c536455efdULL, 0xfdbdac9bfeb9c6f1ULL,
+ 0xc47999be4163cdeaULL, 0x765540081722a7efULL, 0x3e548ed8ec710751ULL,
+ 0x3d041f67cb51bac2ULL, 0x7958af71ac82d40aULL, 0x36c9da5c047a78feULL,
+ 0xed9a048e33af38b2ULL, 0x26ee7249c96c86bdULL, 0x900281bdeba65d61ULL,
+ 0x11172c8bd0fd9532ULL, 0xea0abf73600434f8ULL, 0x42fc8f75299309f3ULL,
+ 0x34a9cf7d3eb1ae1cULL, 0x2b838811480723baULL, 0x5ce64c8742ceef24ULL,
+ 0x1adae9b01fd6570eULL, 0x3c349bf9d6bad1b3ULL, 0x82453c891c7b75c0ULL,
+ 0x97923a40b80d512bULL, 0x4a61dbf1c198765cULL, 0xb48ce6d518010d3eULL,
+ 0xcfb45c858e480fd6ULL, 0xd933cbf30d1e96aeULL, 0xd70ea014ab558e3aULL,
+ 0xc189376228031742ULL, 0x9262949cd16d8b83ULL, 0xeb3a3bed7def5f89ULL,
+ 0x49314a4ee6b8cbcfULL, 0xdcc3652f647e4c06ULL, 0xda635a4c2a3e2b3dULL,
+ 0x470c21a940f3d35bULL, 0x315961a157d174b4ULL, 0x6672e81dda3459acULL,
+ 0x5b76f77a1165e36eULL, 0x445cb01667d36ec8ULL, 0xc5491d205c88a69bULL,
+ 0x456c34887a3805b9ULL, 0xffddb9bac4721013ULL, 0x99af51a71e4649bfULL,
+ 0xa15be01cbc7729d5ULL, 0x52db2760e485f7b0ULL, 0x8c78576eba306d54ULL,
+ 0xae560f6507d75a30ULL, 0x95f22f6182c687c9ULL, 0x71c5fbf54489aba5ULL,
+ 0xca44f259e728d57eULL, 0x88b87d2ccebbdc8dULL, 0xbab18d32be4a15aaULL,
+ 0x8be8ec93e99b611eULL, 0x17b713e89ebdf209ULL, 0xb31c5d284baa0174ULL,
+ 0xeeca9531148f8521ULL, 0xb8d198138481c348ULL, 0x8988f9b2d350b7fcULL,
+ 0xb9e11c8d996aa839ULL, 0x5a4673e40c8e881fULL, 0x1687977683569978ULL,
+ 0xbf4123eed72acf02ULL, 0x4ea1f1b3b513c785ULL, 0xe767452be16f91ffULL,
+ 0x7505d1b730021a7cULL, 0xa59bca5ec8fc980cULL, 0xad069eda20f7e7a3ULL,
+ 0x38f4b1bba231606aULL, 0x60d2d77e94743e97ULL, 0x9affc0183966f42cULL,
+ 0x248e6768f3a7505fULL, 0xcdd449a4b483d934ULL, 0x87b59255751baf68ULL,
+ 0x1bea6d2e023d3c7fULL, 0x6b1f12455b5ffcabULL, 0x743555292de9710dULL,
+ 0xd8034f6d10f5fddfULL, 0xc6198c9f7ba81b08ULL, 0xbb8109aca3a17edbULL,
+ 0xfa2d1766ad12cabbULL, 0xc729080166437079ULL, 0x9c5fff7b77269317ULL,
+ 0x0000000000000000ULL, 0x15d706c9a47624ebULL, 0x6fdf38072fd44d72ULL,
+ 0x5fb6dd3865ee52b7ULL, 0xa33bf53d86bcff37ULL, 0xe657c1b5fc84fa8eULL,
+ 0xaa962527735cebe9ULL, 0x39c43525bfda0b1bULL, 0x204e4d2a872ce186ULL,
+ 0x7a083ece8ba26999ULL, 0x554b9c9db72efbfaULL, 0xb22cd9b656416a05ULL,
+ 0x96a2bedea5e63a5aULL, 0x802529a826b0a322ULL, 0x8115ad363b5bc853ULL,
+ 0x8375b81701901eb1ULL, 0x3069e53f4a3a1fc5ULL, 0xbd2136cfede119e0ULL,
+ 0x18bafc91251d81ecULL, 0x1d4a524d4c7d5b44ULL, 0x05f0aedc6960daa8ULL,
+ 0x29e39d3072ccf558ULL, 0x70f57f6b5962c0d4ULL, 0x989fd53903ad22ceULL,
+ 0xf84d024797d91c59ULL, 0x547b1803aac5908bULL, 0xf0d056c37fd263f6ULL,
+ 0xd56eb535919e58d8ULL, 0x1c7ad6d351963035ULL, 0x2e7326cd2167f912ULL,
+ 0xac361a443d1c8cd2ULL, 0x697f076461942a49ULL, 0x4b515f6fdc731d2dULL,
+ 0x8ad8680df4700a6fULL, 0x41ac1eca0eb3b460ULL, 0x7d988533d80965d3ULL,
+ 0xa8f6300649973d0bULL, 0x7765c4960ac9cc9eULL, 0x7ca801adc5e20ea2ULL,
+ 0xdea3700e5eb59ae4ULL, 0xa06b6482a19c42a4ULL, 0x6a2f96db46b497daULL,
+ 0x27def6d7d487edccULL, 0x463ca5375d18b82aULL, 0xa6cb5be1efdc259fULL,
+ 0x53eba3fef96e9cc1ULL, 0xce84d81b93a364a7ULL, 0xf4107c810b59d22fULL,
+ 0x333974806d1aa256ULL, 0x0f0def79bba073e5ULL, 0x231edc95a00c5c15ULL,
+ 0xe437d494c64f2c6cULL, 0x91320523f64d3610ULL, 0x67426c83c7df32ddULL,
+ 0x6eefbc99323f2603ULL, 0x9d6f7be56acdf866ULL, 0x5916e25b2bae358cULL,
+ 0x7ff89012e2c2b331ULL, 0x035091bf2720bd93ULL, 0x561b0d22900e4669ULL,
+ 0x28d319ae6f279e29ULL, 0x2f43a2533c8c9263ULL, 0xd09e1be9f8fe8270ULL,
+ 0xf740ed3e2c796fbcULL, 0xdb53ded237d5404cULL, 0x62b2c25faebfe875ULL,
+ 0x0afd41a5d2c0a94dULL, 0x6412fd3ce0ff8f4eULL, 0xe3a76f6995e42026ULL,
+ 0x6c8fa9b808f4f0e1ULL, 0xc2d9a6dd0f23aad1ULL, 0x8f28c6d19d10d0c7ULL,
+ 0x85d587744fd0798aULL, 0xa20b71a39b579446ULL, 0x684f83fa7c7f4138ULL,
+ 0xe507500adba4471dULL, 0x3f640a46f19a6c20ULL, 0x1247bd34f7dd28a1ULL,
+ 0x2d23b77206474481ULL, 0x93521002cc86e0f2ULL, 0x572b89bc8de52d18ULL,
+ 0xfb1d93f8b0f9a1caULL, 0xe95a2ecc4724896bULL, 0x3ba420048511ddf9ULL,
+ 0xd63e248ab6bee54bULL, 0x5dd6c8195f258455ULL, 0x06a03f634e40673bULL,
+ 0x1f2a476c76b68da6ULL, 0x217ec9b49ac78af7ULL, 0xecaa80102e4453c3ULL,
+ 0x14e78257b99d4f9aULL },
/* 3 */
- {0x20329b2cc87bba05ULL, 0x4f5eb6f86546a531ULL,
- 0xd4f44775f751b6b1ULL, 0x8266a47b850dfa8bULL,
- 0xbb986aa15a6ca985ULL, 0xc979eb08f9ae0f99ULL,
- 0x2da6f447a2375ea1ULL, 0x1e74275dcd7d8576ULL,
- 0xbc20180a800bc5f8ULL, 0xb4a2f701b2dc65beULL,
- 0xe726946f981b6d66ULL, 0x48e6c453bf21c94cULL,
- 0x42cad9930f0a4195ULL, 0xefa47b64aacccd20ULL,
- 0x71180a8960409a42ULL, 0x8bb3329bf6a44e0cULL,
- 0xd34c35de2d36daccULL, 0xa92f5b7cbc23dc96ULL,
- 0xb31a85aa68bb09c3ULL, 0x13e04836a73161d2ULL,
- 0xb24dfc4129c51d02ULL, 0x8ae44b70b7da5acdULL,
- 0xe671ed84d96579a7ULL, 0xa4bb3417d66f3832ULL,
- 0x4572ab38d56d2de8ULL, 0xb1b47761ea47215cULL,
- 0xe81c09cf70aba15dULL, 0xffbdb872ce7f90acULL,
- 0xa8782297fd5dc857ULL, 0x0d946f6b6a4ce4a4ULL,
- 0xe4df1f4f5b995138ULL, 0x9ebc71edca8c5762ULL,
- 0x0a2c1dc0b02b88d9ULL, 0x3b503c115d9d7b91ULL,
- 0xc64376a8111ec3a2ULL, 0xcec199a323c963e4ULL,
- 0xdc76a87ec58616f7ULL, 0x09d596e073a9b487ULL,
- 0x14583a9d7d560dafULL, 0xf4c6dc593f2a0cb4ULL,
- 0xdd21d19584f80236ULL, 0x4a4836983ddde1d3ULL,
- 0xe58866a41ae745f9ULL, 0xf591a5b27e541875ULL,
- 0x891dc05074586693ULL, 0x5b068c651810a89eULL,
- 0xa30346bc0c08544fULL, 0x3dbf3751c684032dULL,
- 0x2a1e86ec785032dcULL, 0xf73f5779fca830eaULL,
- 0xb60c05ca30204d21ULL, 0x0cc316802b32f065ULL,
- 0x8770241bdd96be69ULL, 0xb861e18199ee95dbULL,
- 0xf805cad91418fcd1ULL, 0x29e70dccbbd20e82ULL,
- 0xc7140f435060d763ULL, 0x0f3a9da0e8b0cc3bULL,
- 0xa2543f574d76408eULL, 0xbd7761e1c175d139ULL,
- 0x4b1f4f737ca3f512ULL, 0x6dc2df1f2fc137abULL,
- 0xf1d05c3967b14856ULL, 0xa742bf3715ed046cULL,
- 0x654030141d1697edULL, 0x07b872abda676c7dULL,
- 0x3ce84eba87fa17ecULL, 0xc1fb0403cb79afdfULL,
- 0x3e46bc7105063f73ULL, 0x278ae987121cd678ULL,
- 0xa1adb4778ef47cd0ULL, 0x26dd906c5362c2b9ULL,
- 0x05168060589b44e2ULL, 0xfbfc41f9d79ac08fULL,
- 0x0e6de44ba9ced8faULL, 0x9feb08068bf243a3ULL,
- 0x7b341749d06b129bULL, 0x229c69e74a87929aULL,
- 0xe09ee6c4427c011bULL, 0x5692e30e725c4c3aULL,
- 0xda99a33e5e9f6e4bULL, 0x353dd85af453a36bULL,
- 0x25241b4c90e0fee7ULL, 0x5de987258309d022ULL,
- 0xe230140fc0802984ULL, 0x93281e86a0c0b3c6ULL,
- 0xf229d719a4337408ULL, 0x6f6c2dd4ad3d1f34ULL,
- 0x8ea5b2fbae3f0aeeULL, 0x8331dd90c473ee4aULL,
- 0x346aa1b1b52db7aaULL, 0xdf8f235e06042aa9ULL,
- 0xcc6f6b68a1354b7bULL, 0x6c95a6f46ebf236aULL,
- 0x52d31a856bb91c19ULL, 0x1a35ded6d498d555ULL,
- 0xf37eaef2e54d60c9ULL, 0x72e181a9a3c2a61cULL,
- 0x98537aad51952fdeULL, 0x16f6c856ffaa2530ULL,
- 0xd960281e9d1d5215ULL, 0x3a0745fa1ce36f50ULL,
- 0x0b7b642bf1559c18ULL, 0x59a87eae9aec8001ULL,
- 0x5e100c05408bec7cULL, 0x0441f98b19e55023ULL,
- 0xd70dcc5534d38aefULL, 0x927f676de1bea707ULL,
- 0x9769e70db925e3e5ULL, 0x7a636ea29115065aULL,
- 0x468b201816ef11b6ULL, 0xab81a9b73edff409ULL,
- 0xc0ac7de88a07bb1eULL, 0x1f235eb68c0391b7ULL,
- 0x6056b074458dd30fULL, 0xbe8eeac102f7ed67ULL,
- 0xcd381283e04b5fbaULL, 0x5cbefecec277c4e3ULL,
- 0xd21b4c356c48ce0dULL, 0x1019c31664b35d8cULL,
- 0x247362a7d19eea26ULL, 0xebe582efb3299d03ULL,
- 0x02aef2cb82fc289fULL, 0x86275df09ce8aaa8ULL,
- 0x28b07427faac1a43ULL, 0x38a9b7319e1f47cfULL,
- 0xc82e92e3b8d01b58ULL, 0x06ef0b409b1978bcULL,
- 0x62f842bfc771fb90ULL, 0x9904034610eb3b1fULL,
- 0xded85ab5477a3e68ULL, 0x90d195a663428f98ULL,
- 0x5384636e2ac708d8ULL, 0xcbd719c37b522706ULL,
- 0xae9729d76644b0ebULL, 0x7c8c65e20a0c7ee6ULL,
- 0x80c856b007f1d214ULL, 0x8c0b40302cc32271ULL,
- 0xdbcedad51fe17a8aULL, 0x740e8ae938dbdea0ULL,
- 0xa615c6dc549310adULL, 0x19cc55f6171ae90bULL,
- 0x49b1bdb8fe5fdd8dULL, 0xed0a89af2830e5bfULL,
- 0x6a7aadb4f5a65bd6ULL, 0x7e22972988f05679ULL,
- 0xf952b3325566e810ULL, 0x39fecedadf61530eULL,
- 0x6101c99f04f3c7ceULL, 0x2e5f7f6761b562ffULL,
- 0xf08725d226cf5c97ULL, 0x63af3b54860fef51ULL,
- 0x8ff2cb10ef411e2fULL, 0x884ab9bb35267252ULL,
- 0x4df04433e7ba8daeULL, 0x9afd8866d3690741ULL,
- 0x66b9bb34de94abb3ULL, 0x9baaf18d92171380ULL,
- 0x543c11c5f0a064a5ULL, 0x17a1b1bdbed431f1ULL,
- 0xb5f58eeaf3a2717fULL, 0xc355f6c849858740ULL,
- 0xec5df044694ef17eULL, 0xd83751f5dc6346d4ULL,
- 0xfc4433520dfdacf2ULL, 0x0000000000000000ULL,
- 0x5a51f58e596ebc5fULL, 0x3285aaf12e34cf16ULL,
- 0x8d5c39db6dbd36b0ULL, 0x12b731dde64f7513ULL,
- 0x94906c2d7aa7dfbbULL, 0x302b583aacc8e789ULL,
- 0x9d45facd090e6b3cULL, 0x2165e2c78905aec4ULL,
- 0x68d45f7f775a7349ULL, 0x189b2c1d5664fdcaULL,
- 0xe1c99f2f030215daULL, 0x6983269436246788ULL,
- 0x8489af3b1e148237ULL, 0xe94b702431d5b59cULL,
- 0x33d2d31a6f4adbd7ULL, 0xbfd9932a4389f9a6ULL,
- 0xb0e30e8aab39359dULL, 0xd1e2c715afcaf253ULL,
- 0x150f43763c28196eULL, 0xc4ed846393e2eb3dULL,
- 0x03f98b20c3823c5eULL, 0xfd134ab94c83b833ULL,
- 0x556b682eb1de7064ULL, 0x36c4537a37d19f35ULL,
- 0x7559f30279a5ca61ULL, 0x799ae58252973a04ULL,
- 0x9c12832648707ffdULL, 0x78cd9c6913e92ec5ULL,
- 0x1d8dac7d0effb928ULL, 0x439da0784e745554ULL,
- 0x413352b3cc887dcbULL, 0xbacf134a1b12bd44ULL,
- 0x114ebafd25cd494dULL, 0x2f08068c20cb763eULL,
- 0x76a07822ba27f63fULL, 0xeab2fb04f25789c2ULL,
- 0xe3676de481fe3d45ULL, 0x1b62a73d95e6c194ULL,
- 0x641749ff5c68832cULL, 0xa5ec4dfc97112cf3ULL,
- 0xf6682e92bdd6242bULL, 0x3f11c59a44782bb2ULL,
- 0x317c21d1edb6f348ULL, 0xd65ab5be75ad9e2eULL,
- 0x6b2dd45fb4d84f17ULL, 0xfaab381296e4d44eULL,
- 0xd0b5befeeeb4e692ULL, 0x0882ef0b32d7a046ULL,
- 0x512a91a5a83b2047ULL, 0x963e9ee6f85bf724ULL,
- 0x4e09cf132438b1f0ULL, 0x77f701c9fb59e2feULL,
- 0x7ddb1c094b726a27ULL, 0x5f4775ee01f5f8bdULL,
- 0x9186ec4d223c9b59ULL, 0xfeeac1998f01846dULL,
- 0xac39db1ce4b89874ULL, 0xb75b7c21715e59e0ULL,
- 0xafc0503c273aa42aULL, 0x6e3b543fec430bf5ULL,
- 0x704f7362213e8e83ULL, 0x58ff0745db9294c0ULL,
- 0x67eec2df9feabf72ULL, 0xa0facd9ccf8a6811ULL,
- 0xb936986ad890811aULL, 0x95c715c63bd9cb7aULL,
- 0xca8060283a2c33c7ULL, 0x507de84ee9453486ULL,
- 0x85ded6d05f6a96f6ULL, 0x1cdad5964f81ade9ULL,
- 0xd5a33e9eb62fa270ULL, 0x40642b588df6690aULL,
- 0x7f75eec2c98e42b8ULL, 0x2cf18dace3494a60ULL,
- 0x23cb100c0bf9865bULL, 0xeef3028febb2d9e1ULL,
- 0x4425d2d394133929ULL, 0xaad6d05c7fa1e0c8ULL,
- 0xad6ea2f7a5c68cb5ULL, 0xc2028f2308fb9381ULL,
- 0x819f2f5b468fc6d5ULL, 0xc5bafd88d29cfffcULL,
- 0x47dc59f357910577ULL, 0x2b49ff07392e261dULL,
- 0x57c59ae5332258fbULL, 0x73b6f842e2bcb2ddULL,
- 0xcf96e04862b77725ULL, 0x4ca73dd8a6c4996fULL,
- 0x015779eb417e14c1ULL, 0x37932a9176af8bf4ULL},
+ { 0x20329b2cc87bba05ULL, 0x4f5eb6f86546a531ULL, 0xd4f44775f751b6b1ULL,
+ 0x8266a47b850dfa8bULL, 0xbb986aa15a6ca985ULL, 0xc979eb08f9ae0f99ULL,
+ 0x2da6f447a2375ea1ULL, 0x1e74275dcd7d8576ULL, 0xbc20180a800bc5f8ULL,
+ 0xb4a2f701b2dc65beULL, 0xe726946f981b6d66ULL, 0x48e6c453bf21c94cULL,
+ 0x42cad9930f0a4195ULL, 0xefa47b64aacccd20ULL, 0x71180a8960409a42ULL,
+ 0x8bb3329bf6a44e0cULL, 0xd34c35de2d36daccULL, 0xa92f5b7cbc23dc96ULL,
+ 0xb31a85aa68bb09c3ULL, 0x13e04836a73161d2ULL, 0xb24dfc4129c51d02ULL,
+ 0x8ae44b70b7da5acdULL, 0xe671ed84d96579a7ULL, 0xa4bb3417d66f3832ULL,
+ 0x4572ab38d56d2de8ULL, 0xb1b47761ea47215cULL, 0xe81c09cf70aba15dULL,
+ 0xffbdb872ce7f90acULL, 0xa8782297fd5dc857ULL, 0x0d946f6b6a4ce4a4ULL,
+ 0xe4df1f4f5b995138ULL, 0x9ebc71edca8c5762ULL, 0x0a2c1dc0b02b88d9ULL,
+ 0x3b503c115d9d7b91ULL, 0xc64376a8111ec3a2ULL, 0xcec199a323c963e4ULL,
+ 0xdc76a87ec58616f7ULL, 0x09d596e073a9b487ULL, 0x14583a9d7d560dafULL,
+ 0xf4c6dc593f2a0cb4ULL, 0xdd21d19584f80236ULL, 0x4a4836983ddde1d3ULL,
+ 0xe58866a41ae745f9ULL, 0xf591a5b27e541875ULL, 0x891dc05074586693ULL,
+ 0x5b068c651810a89eULL, 0xa30346bc0c08544fULL, 0x3dbf3751c684032dULL,
+ 0x2a1e86ec785032dcULL, 0xf73f5779fca830eaULL, 0xb60c05ca30204d21ULL,
+ 0x0cc316802b32f065ULL, 0x8770241bdd96be69ULL, 0xb861e18199ee95dbULL,
+ 0xf805cad91418fcd1ULL, 0x29e70dccbbd20e82ULL, 0xc7140f435060d763ULL,
+ 0x0f3a9da0e8b0cc3bULL, 0xa2543f574d76408eULL, 0xbd7761e1c175d139ULL,
+ 0x4b1f4f737ca3f512ULL, 0x6dc2df1f2fc137abULL, 0xf1d05c3967b14856ULL,
+ 0xa742bf3715ed046cULL, 0x654030141d1697edULL, 0x07b872abda676c7dULL,
+ 0x3ce84eba87fa17ecULL, 0xc1fb0403cb79afdfULL, 0x3e46bc7105063f73ULL,
+ 0x278ae987121cd678ULL, 0xa1adb4778ef47cd0ULL, 0x26dd906c5362c2b9ULL,
+ 0x05168060589b44e2ULL, 0xfbfc41f9d79ac08fULL, 0x0e6de44ba9ced8faULL,
+ 0x9feb08068bf243a3ULL, 0x7b341749d06b129bULL, 0x229c69e74a87929aULL,
+ 0xe09ee6c4427c011bULL, 0x5692e30e725c4c3aULL, 0xda99a33e5e9f6e4bULL,
+ 0x353dd85af453a36bULL, 0x25241b4c90e0fee7ULL, 0x5de987258309d022ULL,
+ 0xe230140fc0802984ULL, 0x93281e86a0c0b3c6ULL, 0xf229d719a4337408ULL,
+ 0x6f6c2dd4ad3d1f34ULL, 0x8ea5b2fbae3f0aeeULL, 0x8331dd90c473ee4aULL,
+ 0x346aa1b1b52db7aaULL, 0xdf8f235e06042aa9ULL, 0xcc6f6b68a1354b7bULL,
+ 0x6c95a6f46ebf236aULL, 0x52d31a856bb91c19ULL, 0x1a35ded6d498d555ULL,
+ 0xf37eaef2e54d60c9ULL, 0x72e181a9a3c2a61cULL, 0x98537aad51952fdeULL,
+ 0x16f6c856ffaa2530ULL, 0xd960281e9d1d5215ULL, 0x3a0745fa1ce36f50ULL,
+ 0x0b7b642bf1559c18ULL, 0x59a87eae9aec8001ULL, 0x5e100c05408bec7cULL,
+ 0x0441f98b19e55023ULL, 0xd70dcc5534d38aefULL, 0x927f676de1bea707ULL,
+ 0x9769e70db925e3e5ULL, 0x7a636ea29115065aULL, 0x468b201816ef11b6ULL,
+ 0xab81a9b73edff409ULL, 0xc0ac7de88a07bb1eULL, 0x1f235eb68c0391b7ULL,
+ 0x6056b074458dd30fULL, 0xbe8eeac102f7ed67ULL, 0xcd381283e04b5fbaULL,
+ 0x5cbefecec277c4e3ULL, 0xd21b4c356c48ce0dULL, 0x1019c31664b35d8cULL,
+ 0x247362a7d19eea26ULL, 0xebe582efb3299d03ULL, 0x02aef2cb82fc289fULL,
+ 0x86275df09ce8aaa8ULL, 0x28b07427faac1a43ULL, 0x38a9b7319e1f47cfULL,
+ 0xc82e92e3b8d01b58ULL, 0x06ef0b409b1978bcULL, 0x62f842bfc771fb90ULL,
+ 0x9904034610eb3b1fULL, 0xded85ab5477a3e68ULL, 0x90d195a663428f98ULL,
+ 0x5384636e2ac708d8ULL, 0xcbd719c37b522706ULL, 0xae9729d76644b0ebULL,
+ 0x7c8c65e20a0c7ee6ULL, 0x80c856b007f1d214ULL, 0x8c0b40302cc32271ULL,
+ 0xdbcedad51fe17a8aULL, 0x740e8ae938dbdea0ULL, 0xa615c6dc549310adULL,
+ 0x19cc55f6171ae90bULL, 0x49b1bdb8fe5fdd8dULL, 0xed0a89af2830e5bfULL,
+ 0x6a7aadb4f5a65bd6ULL, 0x7e22972988f05679ULL, 0xf952b3325566e810ULL,
+ 0x39fecedadf61530eULL, 0x6101c99f04f3c7ceULL, 0x2e5f7f6761b562ffULL,
+ 0xf08725d226cf5c97ULL, 0x63af3b54860fef51ULL, 0x8ff2cb10ef411e2fULL,
+ 0x884ab9bb35267252ULL, 0x4df04433e7ba8daeULL, 0x9afd8866d3690741ULL,
+ 0x66b9bb34de94abb3ULL, 0x9baaf18d92171380ULL, 0x543c11c5f0a064a5ULL,
+ 0x17a1b1bdbed431f1ULL, 0xb5f58eeaf3a2717fULL, 0xc355f6c849858740ULL,
+ 0xec5df044694ef17eULL, 0xd83751f5dc6346d4ULL, 0xfc4433520dfdacf2ULL,
+ 0x0000000000000000ULL, 0x5a51f58e596ebc5fULL, 0x3285aaf12e34cf16ULL,
+ 0x8d5c39db6dbd36b0ULL, 0x12b731dde64f7513ULL, 0x94906c2d7aa7dfbbULL,
+ 0x302b583aacc8e789ULL, 0x9d45facd090e6b3cULL, 0x2165e2c78905aec4ULL,
+ 0x68d45f7f775a7349ULL, 0x189b2c1d5664fdcaULL, 0xe1c99f2f030215daULL,
+ 0x6983269436246788ULL, 0x8489af3b1e148237ULL, 0xe94b702431d5b59cULL,
+ 0x33d2d31a6f4adbd7ULL, 0xbfd9932a4389f9a6ULL, 0xb0e30e8aab39359dULL,
+ 0xd1e2c715afcaf253ULL, 0x150f43763c28196eULL, 0xc4ed846393e2eb3dULL,
+ 0x03f98b20c3823c5eULL, 0xfd134ab94c83b833ULL, 0x556b682eb1de7064ULL,
+ 0x36c4537a37d19f35ULL, 0x7559f30279a5ca61ULL, 0x799ae58252973a04ULL,
+ 0x9c12832648707ffdULL, 0x78cd9c6913e92ec5ULL, 0x1d8dac7d0effb928ULL,
+ 0x439da0784e745554ULL, 0x413352b3cc887dcbULL, 0xbacf134a1b12bd44ULL,
+ 0x114ebafd25cd494dULL, 0x2f08068c20cb763eULL, 0x76a07822ba27f63fULL,
+ 0xeab2fb04f25789c2ULL, 0xe3676de481fe3d45ULL, 0x1b62a73d95e6c194ULL,
+ 0x641749ff5c68832cULL, 0xa5ec4dfc97112cf3ULL, 0xf6682e92bdd6242bULL,
+ 0x3f11c59a44782bb2ULL, 0x317c21d1edb6f348ULL, 0xd65ab5be75ad9e2eULL,
+ 0x6b2dd45fb4d84f17ULL, 0xfaab381296e4d44eULL, 0xd0b5befeeeb4e692ULL,
+ 0x0882ef0b32d7a046ULL, 0x512a91a5a83b2047ULL, 0x963e9ee6f85bf724ULL,
+ 0x4e09cf132438b1f0ULL, 0x77f701c9fb59e2feULL, 0x7ddb1c094b726a27ULL,
+ 0x5f4775ee01f5f8bdULL, 0x9186ec4d223c9b59ULL, 0xfeeac1998f01846dULL,
+ 0xac39db1ce4b89874ULL, 0xb75b7c21715e59e0ULL, 0xafc0503c273aa42aULL,
+ 0x6e3b543fec430bf5ULL, 0x704f7362213e8e83ULL, 0x58ff0745db9294c0ULL,
+ 0x67eec2df9feabf72ULL, 0xa0facd9ccf8a6811ULL, 0xb936986ad890811aULL,
+ 0x95c715c63bd9cb7aULL, 0xca8060283a2c33c7ULL, 0x507de84ee9453486ULL,
+ 0x85ded6d05f6a96f6ULL, 0x1cdad5964f81ade9ULL, 0xd5a33e9eb62fa270ULL,
+ 0x40642b588df6690aULL, 0x7f75eec2c98e42b8ULL, 0x2cf18dace3494a60ULL,
+ 0x23cb100c0bf9865bULL, 0xeef3028febb2d9e1ULL, 0x4425d2d394133929ULL,
+ 0xaad6d05c7fa1e0c8ULL, 0xad6ea2f7a5c68cb5ULL, 0xc2028f2308fb9381ULL,
+ 0x819f2f5b468fc6d5ULL, 0xc5bafd88d29cfffcULL, 0x47dc59f357910577ULL,
+ 0x2b49ff07392e261dULL, 0x57c59ae5332258fbULL, 0x73b6f842e2bcb2ddULL,
+ 0xcf96e04862b77725ULL, 0x4ca73dd8a6c4996fULL, 0x015779eb417e14c1ULL,
+ 0x37932a9176af8bf4ULL },
/* 4 */
- {0x190a2c9b249df23eULL, 0x2f62f8b62263e1e9ULL,
- 0x7a7f754740993655ULL, 0x330b7ba4d5564d9fULL,
- 0x4c17a16a46672582ULL, 0xb22f08eb7d05f5b8ULL,
- 0x535f47f40bc148ccULL, 0x3aec5d27d4883037ULL,
- 0x10ed0a1825438f96ULL, 0x516101f72c233d17ULL,
- 0x13cc6f949fd04eaeULL, 0x739853c441474bfdULL,
- 0x653793d90d3f5b1bULL, 0x5240647b96b0fc2fULL,
- 0x0c84890ad27623e0ULL, 0xd7189b32703aaea3ULL,
- 0x2685de3523bd9c41ULL, 0x99317c5b11bffefaULL,
- 0x0d9baa854f079703ULL, 0x70b93648fbd48ac5ULL,
- 0xa80441fce30bc6beULL, 0x7287704bdc36ff1eULL,
- 0xb65384ed33dc1f13ULL, 0xd36417343ee34408ULL,
- 0x39cd38ab6e1bf10fULL, 0x5ab861770a1f3564ULL,
- 0x0ebacf09f594563bULL, 0xd04572b884708530ULL,
- 0x3cae9722bdb3af47ULL, 0x4a556b6f2f5cbaf2ULL,
- 0xe1704f1f76c4bd74ULL, 0x5ec4ed7144c6dfcfULL,
- 0x16afc01d4c7810e6ULL, 0x283f113cd629ca7aULL,
- 0xaf59a8761741ed2dULL, 0xeed5a3991e215facULL,
- 0x3bf37ea849f984d4ULL, 0xe413e096a56ce33cULL,
- 0x2c439d3a98f020d1ULL, 0x637559dc6404c46bULL,
- 0x9e6c95d1e5f5d569ULL, 0x24bb9836045fe99aULL,
- 0x44efa466dac8ecc9ULL, 0xc6eab2a5c80895d6ULL,
- 0x803b50c035220cc4ULL, 0x0321658cba93c138ULL,
- 0x8f9ebc465dc7ee1cULL, 0xd15a5137190131d3ULL,
- 0x0fa5ec8668e5e2d8ULL, 0x91c979578d1037b1ULL,
- 0x0642ca05693b9f70ULL, 0xefca80168350eb4fULL,
- 0x38d21b24f36a45ecULL, 0xbeab81e1af73d658ULL,
- 0x8cbfd9cae7542f24ULL, 0xfd19cc0d81f11102ULL,
- 0x0ac6430fbb4dbc90ULL, 0x1d76a09d6a441895ULL,
- 0x2a01573ff1cbbfa1ULL, 0xb572e161894fde2bULL,
- 0x8124734fa853b827ULL, 0x614b1fdf43e6b1b0ULL,
- 0x68ac395c4238cc18ULL, 0x21d837bfd7f7b7d2ULL,
- 0x20c714304a860331ULL, 0x5cfaab726324aa14ULL,
- 0x74c5ba4eb50d606eULL, 0xf3a3030474654739ULL,
- 0x23e671bcf015c209ULL, 0x45f087e947b9582aULL,
- 0xd8bd77b418df4c7bULL, 0xe06f6c90ebb50997ULL,
- 0x0bd96080263c0873ULL, 0x7e03f9410e40dcfeULL,
- 0xb8e94be4c6484928ULL, 0xfb5b0608e8ca8e72ULL,
- 0x1a2b49179e0e3306ULL, 0x4e29e76961855059ULL,
- 0x4f36c4e6fcf4e4baULL, 0x49740ee395cf7bcaULL,
- 0xc2963ea386d17f7dULL, 0x90d65ad810618352ULL,
- 0x12d34c1b02a1fa4dULL, 0xfa44258775bb3a91ULL,
- 0x18150f14b9ec46ddULL, 0x1491861e6b9a653dULL,
- 0x9a1019d7ab2c3fc2ULL, 0x3668d42d06fe13d7ULL,
- 0xdcc1fbb25606a6d0ULL, 0x969490dd795a1c22ULL,
- 0x3549b1a1bc6dd2efULL, 0xc94f5e23a0ed770eULL,
- 0xb9f6686b5b39fdcbULL, 0xc4d4f4a6efeae00dULL,
- 0xe732851a1fff2204ULL, 0x94aad6de5eb869f9ULL,
- 0x3f8ff2ae07206e7fULL, 0xfe38a9813b62d03aULL,
- 0xa7a1ad7a8bee2466ULL, 0x7b6056c8dde882b6ULL,
- 0x302a1e286fc58ca7ULL, 0x8da0fa457a259bc7ULL,
- 0xb3302b64e074415bULL, 0x5402ae7eff8b635fULL,
- 0x08f8050c9cafc94bULL, 0xae468bf98a3059ceULL,
- 0x88c355cca98dc58fULL, 0xb10e6d67c7963480ULL,
- 0xbad70de7e1aa3cf3ULL, 0xbfb4a26e320262bbULL,
- 0xcb711820870f02d5ULL, 0xce12b7a954a75c9dULL,
- 0x563ce87dd8691684ULL, 0x9f73b65e7884618aULL,
- 0x2b1e74b06cba0b42ULL, 0x47cec1ea605b2df1ULL,
- 0x1c698312f735ac76ULL, 0x5fdbcefed9b76b2cULL,
- 0x831a354c8fb1cdfcULL, 0x820516c312c0791fULL,
- 0xb74ca762aeadabf0ULL, 0xfc06ef821c80a5e1ULL,
- 0x5723cbf24518a267ULL, 0x9d4df05d5f661451ULL,
- 0x588627742dfd40bfULL, 0xda8331b73f3d39a0ULL,
- 0x17b0e392d109a405ULL, 0xf965400bcf28fba9ULL,
- 0x7c3dbf4229a2a925ULL, 0x023e460327e275dbULL,
- 0x6cd0b55a0ce126b3ULL, 0xe62da695828e96e7ULL,
- 0x42ad6e63b3f373b9ULL, 0xe50cc319381d57dfULL,
- 0xc5cbd729729b54eeULL, 0x46d1e265fd2a9912ULL,
- 0x6428b056904eeff8ULL, 0x8be23040131e04b7ULL,
- 0x6709d5da2add2ec0ULL, 0x075de98af44a2b93ULL,
- 0x8447dcc67bfbe66fULL, 0x6616f655b7ac9a23ULL,
- 0xd607b8bded4b1a40ULL, 0x0563af89d3a85e48ULL,
- 0x3db1b4ad20c21ba4ULL, 0x11f22997b8323b75ULL,
- 0x292032b34b587e99ULL, 0x7f1cdace9331681dULL,
- 0x8e819fc9c0b65affULL, 0xa1e3677fe2d5bb16ULL,
- 0xcd33d225ee349da5ULL, 0xd9a2543b85aef898ULL,
- 0x795e10cbfa0af76dULL, 0x25a4bbb9992e5d79ULL,
- 0x78413344677b438eULL, 0xf0826688cef68601ULL,
- 0xd27b34bba392f0ebULL, 0x551d8df162fad7bcULL,
- 0x1e57c511d0d7d9adULL, 0xdeffbdb171e4d30bULL,
- 0xf4feea8e802f6caaULL, 0xa480c8f6317de55eULL,
- 0xa0fc44f07fa40ff5ULL, 0x95b5f551c3c9dd1aULL,
- 0x22f952336d6476eaULL, 0x0000000000000000ULL,
- 0xa6be8ef5169f9085ULL, 0xcc2cf1aa73452946ULL,
- 0x2e7ddb39bf12550aULL, 0xd526dd3157d8db78ULL,
- 0x486b2d6c08becf29ULL, 0x9b0f3a58365d8b21ULL,
- 0xac78cdfaadd22c15ULL, 0xbc95c7e28891a383ULL,
- 0x6a927f5f65dab9c3ULL, 0xc3891d2c1ba0cb9eULL,
- 0xeaa92f9f50f8b507ULL, 0xcf0d9426c9d6e87eULL,
- 0xca6e3baf1a7eb636ULL, 0xab25247059980786ULL,
- 0x69b31ad3df4978fbULL, 0xe2512a93cc577c4cULL,
- 0xff278a0ea61364d9ULL, 0x71a615c766a53e26ULL,
- 0x89dc764334fc716cULL, 0xf87a638452594f4aULL,
- 0xf2bc208be914f3daULL, 0x8766b94ac1682757ULL,
- 0xbbc82e687cdb8810ULL, 0x626a7a53f9757088ULL,
- 0xa2c202f358467a2eULL, 0x4d0882e5db169161ULL,
- 0x09e7268301de7da8ULL, 0xe897699c771ac0dcULL,
- 0xc8507dac3d9cc3edULL, 0xc0a878a0a1330aa6ULL,
- 0x978bb352e42ba8c1ULL, 0xe9884a13ea6b743fULL,
- 0x279afdbabecc28a2ULL, 0x047c8c064ed9eaabULL,
- 0x507e2278b15289f4ULL, 0x599904fbb08cf45cULL,
- 0xbd8ae46d15e01760ULL, 0x31353da7f2b43844ULL,
- 0x8558ff49e68a528cULL, 0x76fbfc4d92ef15b5ULL,
- 0x3456922e211c660cULL, 0x86799ac55c1993b4ULL,
- 0x3e90d1219a51da9cULL, 0x2d5cbeb505819432ULL,
- 0x982e5fd48cce4a19ULL, 0xdb9c1238a24c8d43ULL,
- 0xd439febecaa96f9bULL, 0x418c0bef0960b281ULL,
- 0x158ea591f6ebd1deULL, 0x1f48e69e4da66d4eULL,
- 0x8afd13cf8e6fb054ULL, 0xf5e1c9011d5ed849ULL,
- 0xe34e091c5126c8afULL, 0xad67ee7530a398f6ULL,
- 0x43b24dec2e82c75aULL, 0x75da99c1287cd48dULL,
- 0x92e81cdb3783f689ULL, 0xa3dd217cc537cecdULL,
- 0x60543c50de970553ULL, 0x93f73f54aaf2426aULL,
- 0xa91b62737e7a725dULL, 0xf19d4507538732e2ULL,
- 0x77e4dfc20f9ea156ULL, 0x7d229ccdb4d31dc6ULL,
- 0x1b346a98037f87e5ULL, 0xedf4c615a4b29e94ULL,
- 0x4093286094110662ULL, 0xb0114ee85ae78063ULL,
- 0x6ff1d0d6b672e78bULL, 0x6dcf96d591909250ULL,
- 0xdfe09e3eec9567e8ULL, 0x3214582b4827f97cULL,
- 0xb46dc2ee143e6ac8ULL, 0xf6c0ac8da7cd1971ULL,
- 0xebb60c10cd8901e4ULL, 0xf7df8f023abcad92ULL,
- 0x9c52d3d2c217a0b2ULL, 0x6b8d5cd0f8ab0d20ULL,
- 0x3777f7a29b8fa734ULL, 0x011f238f9d71b4e3ULL,
- 0xc1b75b2f3c42be45ULL, 0x5de588fdfe551ef7ULL,
- 0x6eeef3592b035368ULL, 0xaa3a07ffc4e9b365ULL,
- 0xecebe59a39c32a77ULL, 0x5ba742f8976e8187ULL,
- 0x4b4a48e0b22d0e11ULL, 0xddded83dcb771233ULL,
- 0xa59feb79ac0c51bdULL, 0xc7f5912a55792135ULL},
+ { 0x190a2c9b249df23eULL, 0x2f62f8b62263e1e9ULL, 0x7a7f754740993655ULL,
+ 0x330b7ba4d5564d9fULL, 0x4c17a16a46672582ULL, 0xb22f08eb7d05f5b8ULL,
+ 0x535f47f40bc148ccULL, 0x3aec5d27d4883037ULL, 0x10ed0a1825438f96ULL,
+ 0x516101f72c233d17ULL, 0x13cc6f949fd04eaeULL, 0x739853c441474bfdULL,
+ 0x653793d90d3f5b1bULL, 0x5240647b96b0fc2fULL, 0x0c84890ad27623e0ULL,
+ 0xd7189b32703aaea3ULL, 0x2685de3523bd9c41ULL, 0x99317c5b11bffefaULL,
+ 0x0d9baa854f079703ULL, 0x70b93648fbd48ac5ULL, 0xa80441fce30bc6beULL,
+ 0x7287704bdc36ff1eULL, 0xb65384ed33dc1f13ULL, 0xd36417343ee34408ULL,
+ 0x39cd38ab6e1bf10fULL, 0x5ab861770a1f3564ULL, 0x0ebacf09f594563bULL,
+ 0xd04572b884708530ULL, 0x3cae9722bdb3af47ULL, 0x4a556b6f2f5cbaf2ULL,
+ 0xe1704f1f76c4bd74ULL, 0x5ec4ed7144c6dfcfULL, 0x16afc01d4c7810e6ULL,
+ 0x283f113cd629ca7aULL, 0xaf59a8761741ed2dULL, 0xeed5a3991e215facULL,
+ 0x3bf37ea849f984d4ULL, 0xe413e096a56ce33cULL, 0x2c439d3a98f020d1ULL,
+ 0x637559dc6404c46bULL, 0x9e6c95d1e5f5d569ULL, 0x24bb9836045fe99aULL,
+ 0x44efa466dac8ecc9ULL, 0xc6eab2a5c80895d6ULL, 0x803b50c035220cc4ULL,
+ 0x0321658cba93c138ULL, 0x8f9ebc465dc7ee1cULL, 0xd15a5137190131d3ULL,
+ 0x0fa5ec8668e5e2d8ULL, 0x91c979578d1037b1ULL, 0x0642ca05693b9f70ULL,
+ 0xefca80168350eb4fULL, 0x38d21b24f36a45ecULL, 0xbeab81e1af73d658ULL,
+ 0x8cbfd9cae7542f24ULL, 0xfd19cc0d81f11102ULL, 0x0ac6430fbb4dbc90ULL,
+ 0x1d76a09d6a441895ULL, 0x2a01573ff1cbbfa1ULL, 0xb572e161894fde2bULL,
+ 0x8124734fa853b827ULL, 0x614b1fdf43e6b1b0ULL, 0x68ac395c4238cc18ULL,
+ 0x21d837bfd7f7b7d2ULL, 0x20c714304a860331ULL, 0x5cfaab726324aa14ULL,
+ 0x74c5ba4eb50d606eULL, 0xf3a3030474654739ULL, 0x23e671bcf015c209ULL,
+ 0x45f087e947b9582aULL, 0xd8bd77b418df4c7bULL, 0xe06f6c90ebb50997ULL,
+ 0x0bd96080263c0873ULL, 0x7e03f9410e40dcfeULL, 0xb8e94be4c6484928ULL,
+ 0xfb5b0608e8ca8e72ULL, 0x1a2b49179e0e3306ULL, 0x4e29e76961855059ULL,
+ 0x4f36c4e6fcf4e4baULL, 0x49740ee395cf7bcaULL, 0xc2963ea386d17f7dULL,
+ 0x90d65ad810618352ULL, 0x12d34c1b02a1fa4dULL, 0xfa44258775bb3a91ULL,
+ 0x18150f14b9ec46ddULL, 0x1491861e6b9a653dULL, 0x9a1019d7ab2c3fc2ULL,
+ 0x3668d42d06fe13d7ULL, 0xdcc1fbb25606a6d0ULL, 0x969490dd795a1c22ULL,
+ 0x3549b1a1bc6dd2efULL, 0xc94f5e23a0ed770eULL, 0xb9f6686b5b39fdcbULL,
+ 0xc4d4f4a6efeae00dULL, 0xe732851a1fff2204ULL, 0x94aad6de5eb869f9ULL,
+ 0x3f8ff2ae07206e7fULL, 0xfe38a9813b62d03aULL, 0xa7a1ad7a8bee2466ULL,
+ 0x7b6056c8dde882b6ULL, 0x302a1e286fc58ca7ULL, 0x8da0fa457a259bc7ULL,
+ 0xb3302b64e074415bULL, 0x5402ae7eff8b635fULL, 0x08f8050c9cafc94bULL,
+ 0xae468bf98a3059ceULL, 0x88c355cca98dc58fULL, 0xb10e6d67c7963480ULL,
+ 0xbad70de7e1aa3cf3ULL, 0xbfb4a26e320262bbULL, 0xcb711820870f02d5ULL,
+ 0xce12b7a954a75c9dULL, 0x563ce87dd8691684ULL, 0x9f73b65e7884618aULL,
+ 0x2b1e74b06cba0b42ULL, 0x47cec1ea605b2df1ULL, 0x1c698312f735ac76ULL,
+ 0x5fdbcefed9b76b2cULL, 0x831a354c8fb1cdfcULL, 0x820516c312c0791fULL,
+ 0xb74ca762aeadabf0ULL, 0xfc06ef821c80a5e1ULL, 0x5723cbf24518a267ULL,
+ 0x9d4df05d5f661451ULL, 0x588627742dfd40bfULL, 0xda8331b73f3d39a0ULL,
+ 0x17b0e392d109a405ULL, 0xf965400bcf28fba9ULL, 0x7c3dbf4229a2a925ULL,
+ 0x023e460327e275dbULL, 0x6cd0b55a0ce126b3ULL, 0xe62da695828e96e7ULL,
+ 0x42ad6e63b3f373b9ULL, 0xe50cc319381d57dfULL, 0xc5cbd729729b54eeULL,
+ 0x46d1e265fd2a9912ULL, 0x6428b056904eeff8ULL, 0x8be23040131e04b7ULL,
+ 0x6709d5da2add2ec0ULL, 0x075de98af44a2b93ULL, 0x8447dcc67bfbe66fULL,
+ 0x6616f655b7ac9a23ULL, 0xd607b8bded4b1a40ULL, 0x0563af89d3a85e48ULL,
+ 0x3db1b4ad20c21ba4ULL, 0x11f22997b8323b75ULL, 0x292032b34b587e99ULL,
+ 0x7f1cdace9331681dULL, 0x8e819fc9c0b65affULL, 0xa1e3677fe2d5bb16ULL,
+ 0xcd33d225ee349da5ULL, 0xd9a2543b85aef898ULL, 0x795e10cbfa0af76dULL,
+ 0x25a4bbb9992e5d79ULL, 0x78413344677b438eULL, 0xf0826688cef68601ULL,
+ 0xd27b34bba392f0ebULL, 0x551d8df162fad7bcULL, 0x1e57c511d0d7d9adULL,
+ 0xdeffbdb171e4d30bULL, 0xf4feea8e802f6caaULL, 0xa480c8f6317de55eULL,
+ 0xa0fc44f07fa40ff5ULL, 0x95b5f551c3c9dd1aULL, 0x22f952336d6476eaULL,
+ 0x0000000000000000ULL, 0xa6be8ef5169f9085ULL, 0xcc2cf1aa73452946ULL,
+ 0x2e7ddb39bf12550aULL, 0xd526dd3157d8db78ULL, 0x486b2d6c08becf29ULL,
+ 0x9b0f3a58365d8b21ULL, 0xac78cdfaadd22c15ULL, 0xbc95c7e28891a383ULL,
+ 0x6a927f5f65dab9c3ULL, 0xc3891d2c1ba0cb9eULL, 0xeaa92f9f50f8b507ULL,
+ 0xcf0d9426c9d6e87eULL, 0xca6e3baf1a7eb636ULL, 0xab25247059980786ULL,
+ 0x69b31ad3df4978fbULL, 0xe2512a93cc577c4cULL, 0xff278a0ea61364d9ULL,
+ 0x71a615c766a53e26ULL, 0x89dc764334fc716cULL, 0xf87a638452594f4aULL,
+ 0xf2bc208be914f3daULL, 0x8766b94ac1682757ULL, 0xbbc82e687cdb8810ULL,
+ 0x626a7a53f9757088ULL, 0xa2c202f358467a2eULL, 0x4d0882e5db169161ULL,
+ 0x09e7268301de7da8ULL, 0xe897699c771ac0dcULL, 0xc8507dac3d9cc3edULL,
+ 0xc0a878a0a1330aa6ULL, 0x978bb352e42ba8c1ULL, 0xe9884a13ea6b743fULL,
+ 0x279afdbabecc28a2ULL, 0x047c8c064ed9eaabULL, 0x507e2278b15289f4ULL,
+ 0x599904fbb08cf45cULL, 0xbd8ae46d15e01760ULL, 0x31353da7f2b43844ULL,
+ 0x8558ff49e68a528cULL, 0x76fbfc4d92ef15b5ULL, 0x3456922e211c660cULL,
+ 0x86799ac55c1993b4ULL, 0x3e90d1219a51da9cULL, 0x2d5cbeb505819432ULL,
+ 0x982e5fd48cce4a19ULL, 0xdb9c1238a24c8d43ULL, 0xd439febecaa96f9bULL,
+ 0x418c0bef0960b281ULL, 0x158ea591f6ebd1deULL, 0x1f48e69e4da66d4eULL,
+ 0x8afd13cf8e6fb054ULL, 0xf5e1c9011d5ed849ULL, 0xe34e091c5126c8afULL,
+ 0xad67ee7530a398f6ULL, 0x43b24dec2e82c75aULL, 0x75da99c1287cd48dULL,
+ 0x92e81cdb3783f689ULL, 0xa3dd217cc537cecdULL, 0x60543c50de970553ULL,
+ 0x93f73f54aaf2426aULL, 0xa91b62737e7a725dULL, 0xf19d4507538732e2ULL,
+ 0x77e4dfc20f9ea156ULL, 0x7d229ccdb4d31dc6ULL, 0x1b346a98037f87e5ULL,
+ 0xedf4c615a4b29e94ULL, 0x4093286094110662ULL, 0xb0114ee85ae78063ULL,
+ 0x6ff1d0d6b672e78bULL, 0x6dcf96d591909250ULL, 0xdfe09e3eec9567e8ULL,
+ 0x3214582b4827f97cULL, 0xb46dc2ee143e6ac8ULL, 0xf6c0ac8da7cd1971ULL,
+ 0xebb60c10cd8901e4ULL, 0xf7df8f023abcad92ULL, 0x9c52d3d2c217a0b2ULL,
+ 0x6b8d5cd0f8ab0d20ULL, 0x3777f7a29b8fa734ULL, 0x011f238f9d71b4e3ULL,
+ 0xc1b75b2f3c42be45ULL, 0x5de588fdfe551ef7ULL, 0x6eeef3592b035368ULL,
+ 0xaa3a07ffc4e9b365ULL, 0xecebe59a39c32a77ULL, 0x5ba742f8976e8187ULL,
+ 0x4b4a48e0b22d0e11ULL, 0xddded83dcb771233ULL, 0xa59feb79ac0c51bdULL,
+ 0xc7f5912a55792135ULL },
/* 5 */
- {0x6d6ae04668a9b08aULL, 0x3ab3f04b0be8c743ULL,
- 0xe51e166b54b3c908ULL, 0xbe90a9eb35c2f139ULL,
- 0xb2c7066637f2bec1ULL, 0xaa6945613392202cULL,
- 0x9a28c36f3b5201ebULL, 0xddce5a93ab536994ULL,
- 0x0e34133ef6382827ULL, 0x52a02ba1ec55048bULL,
- 0xa2f88f97c4b2a177ULL, 0x8640e513ca2251a5ULL,
- 0xcdf1d36258137622ULL, 0xfe6cb708dedf8ddbULL,
- 0x8a174a9ec8121e5dULL, 0x679896036b81560eULL,
- 0x59ed033395795feeULL, 0x1dd778ab8b74edafULL,
- 0xee533ef92d9f926dULL, 0x2a8c79baf8a8d8f5ULL,
- 0x6bcf398e69b119f6ULL, 0xe20491742fafdd95ULL,
- 0x276488e0809c2aecULL, 0xea955b82d88f5cceULL,
- 0x7102c63a99d9e0c4ULL, 0xf9763017a5c39946ULL,
- 0x429fa2501f151b3dULL, 0x4659c72bea05d59eULL,
- 0x984b7fdccf5a6634ULL, 0xf742232953fbb161ULL,
- 0x3041860e08c021c7ULL, 0x747bfd9616cd9386ULL,
- 0x4bb1367192312787ULL, 0x1b72a1638a6c44d3ULL,
- 0x4a0e68a6e8359a66ULL, 0x169a5039f258b6caULL,
- 0xb98a2ef44edee5a4ULL, 0xd9083fe85e43a737ULL,
- 0x967f6ce239624e13ULL, 0x8874f62d3c1a7982ULL,
- 0x3c1629830af06e3fULL, 0x9165ebfd427e5a8eULL,
- 0xb5dd81794ceeaa5cULL, 0x0de8f15a7834f219ULL,
- 0x70bd98ede3dd5d25ULL, 0xaccc9ca9328a8950ULL,
- 0x56664eda1945ca28ULL, 0x221db34c0f8859aeULL,
- 0x26dbd637fa98970dULL, 0x1acdffb4f068f932ULL,
- 0x4585254f64090fa0ULL, 0x72de245e17d53afaULL,
- 0x1546b25d7c546cf4ULL, 0x207e0ffffb803e71ULL,
- 0xfaaad2732bcf4378ULL, 0xb462dfae36ea17bdULL,
- 0xcf926fd1ac1b11fdULL, 0xe0672dc7dba7ba4aULL,
- 0xd3fa49ad5d6b41b3ULL, 0x8ba81449b216a3bcULL,
- 0x14f9ec8a0650d115ULL, 0x40fc1ee3eb1d7ce2ULL,
- 0x23a2ed9b758ce44fULL, 0x782c521b14fddc7eULL,
- 0x1c68267cf170504eULL, 0xbcf31558c1ca96e6ULL,
- 0xa781b43b4ba6d235ULL, 0xf6fd7dfe29ff0c80ULL,
- 0xb0a4bad5c3fad91eULL, 0xd199f51ea963266cULL,
- 0x414340349119c103ULL, 0x5405f269ed4dadf7ULL,
- 0xabd61bb649969dcdULL, 0x6813dbeae7bdc3c8ULL,
- 0x65fb2ab09f8931d1ULL, 0xf1e7fae152e3181dULL,
- 0xc1a67cef5a2339daULL, 0x7a4feea8e0f5bba1ULL,
- 0x1e0b9acf05783791ULL, 0x5b8ebf8061713831ULL,
- 0x80e53cdbcb3af8d9ULL, 0x7e898bd315e57502ULL,
- 0xc6bcfbf0213f2d47ULL, 0x95a38e86b76e942dULL,
- 0x092e94218d243cbaULL, 0x8339debf453622e7ULL,
- 0xb11be402b9fe64ffULL, 0x57d9100d634177c9ULL,
- 0xcc4e8db52217cbc3ULL, 0x3b0cae9c71ec7aa2ULL,
- 0xfb158ca451cbfe99ULL, 0x2b33276d82ac6514ULL,
- 0x01bf5ed77a04bde1ULL, 0xc5601994af33f779ULL,
- 0x75c4a3416cc92e67ULL, 0xf3844652a6eb7fc2ULL,
- 0x3487e375fdd0ef64ULL, 0x18ae430704609eedULL,
- 0x4d14efb993298efbULL, 0x815a620cb13e4538ULL,
- 0x125c354207487869ULL, 0x9eeea614ce42cf48ULL,
- 0xce2d3106d61fac1cULL, 0xbbe99247bad6827bULL,
- 0x071a871f7b1c149dULL, 0x2e4a1cc10db81656ULL,
- 0x77a71ff298c149b8ULL, 0x06a5d9c80118a97cULL,
- 0xad73c27e488e34b1ULL, 0x443a7b981e0db241ULL,
- 0xe3bbcfa355ab6074ULL, 0x0af276450328e684ULL,
- 0x73617a896dd1871bULL, 0x58525de4ef7de20fULL,
- 0xb7be3dcab8e6cd83ULL, 0x19111dd07e64230cULL,
- 0x842359a03e2a367aULL, 0x103f89f1f3401fb6ULL,
- 0xdc710444d157d475ULL, 0xb835702334da5845ULL,
- 0x4320fc876511a6dcULL, 0xd026abc9d3679b8dULL,
- 0x17250eee885c0b2bULL, 0x90dab52a387ae76fULL,
- 0x31fed8d972c49c26ULL, 0x89cba8fa461ec463ULL,
- 0x2ff5421677bcabb7ULL, 0x396f122f85e41d7dULL,
- 0xa09b332430bac6a8ULL, 0xc888e8ced7070560ULL,
- 0xaeaf201ac682ee8fULL, 0x1180d7268944a257ULL,
- 0xf058a43628e7a5fcULL, 0xbd4c4b8fbbce2b07ULL,
- 0xa1246df34abe7b49ULL, 0x7d5569b79be9af3cULL,
- 0xa9b5a705bd9efa12ULL, 0xdb6b835baa4bc0e8ULL,
- 0x05793bac8f147342ULL, 0x21c1512881848390ULL,
- 0xfdb0556c50d357e5ULL, 0x613d4fcb6a99ff72ULL,
- 0x03dce2648e0cda3eULL, 0xe949b9e6568386f0ULL,
- 0xfc0f0bbb2ad7ea04ULL, 0x6a70675913b5a417ULL,
- 0x7f36d5046fe1c8e3ULL, 0x0c57af8d02304ff8ULL,
- 0x32223abdfcc84618ULL, 0x0891caf6f720815bULL,
- 0xa63eeaec31a26fd4ULL, 0x2507345374944d33ULL,
- 0x49d28ac266394058ULL, 0xf5219f9aa7f3d6beULL,
- 0x2d96fea583b4cc68ULL, 0x5a31e1571b7585d0ULL,
- 0x8ed12fe53d02d0feULL, 0xdfade6205f5b0e4bULL,
- 0x4cabb16ee92d331aULL, 0x04c6657bf510cea3ULL,
- 0xd73c2cd6a87b8f10ULL, 0xe1d87310a1a307abULL,
- 0x6cd5be9112ad0d6bULL, 0x97c032354366f3f2ULL,
- 0xd4e0ceb22677552eULL, 0x0000000000000000ULL,
- 0x29509bde76a402cbULL, 0xc27a9e8bd42fe3e4ULL,
- 0x5ef7842cee654b73ULL, 0xaf107ecdbc86536eULL,
- 0x3fcacbe784fcb401ULL, 0xd55f90655c73e8cfULL,
- 0xe6c2f40fdabf1336ULL, 0xe8f6e7312c873b11ULL,
- 0xeb2a0555a28be12fULL, 0xe4a148bc2eb774e9ULL,
- 0x9b979db84156bc0aULL, 0x6eb60222e6a56ab4ULL,
- 0x87ffbbc4b026ec44ULL, 0xc703a5275b3b90a6ULL,
- 0x47e699fc9001687fULL, 0x9c8d1aa73a4aa897ULL,
- 0x7cea3760e1ed12ddULL, 0x4ec80ddd1d2554c5ULL,
- 0x13e36b957d4cc588ULL, 0x5d2b66486069914dULL,
- 0x92b90999cc7280b0ULL, 0x517cc9c56259deb5ULL,
- 0xc937b619ad03b881ULL, 0xec30824ad997f5b2ULL,
- 0xa45d565fc5aa080bULL, 0xd6837201d27f32f1ULL,
- 0x635ef3789e9198adULL, 0x531f75769651b96aULL,
- 0x4f77530a6721e924ULL, 0x486dd4151c3dfdb9ULL,
- 0x5f48dafb9461f692ULL, 0x375b011173dc355aULL,
- 0x3da9775470f4d3deULL, 0x8d0dcd81b30e0ac0ULL,
- 0x36e45fc609d888bbULL, 0x55baacbe97491016ULL,
- 0x8cb29356c90ab721ULL, 0x76184125e2c5f459ULL,
- 0x99f4210bb55edbd5ULL, 0x6f095cf59ca1d755ULL,
- 0x9f51f8c3b44672a9ULL, 0x3538bda287d45285ULL,
- 0x50c39712185d6354ULL, 0xf23b1885dcefc223ULL,
- 0x79930ccc6ef9619fULL, 0xed8fdc9da3934853ULL,
- 0xcb540aaa590bdf5eULL, 0x5c94389f1a6d2cacULL,
- 0xe77daad8a0bbaed7ULL, 0x28efc5090ca0bf2aULL,
- 0xbf2ff73c4fc64cd8ULL, 0xb37858b14df60320ULL,
- 0xf8c96ec0dfc724a7ULL, 0x828680683f329f06ULL,
- 0x941cd051cd6a29ccULL, 0xc3c5c05cae2b5e05ULL,
- 0xb601631dc2e27062ULL, 0xc01922382027843bULL,
- 0x24b86a840e90f0d2ULL, 0xd245177a276ffc52ULL,
- 0x0f8b4de98c3c95c6ULL, 0x3e759530fef809e0ULL,
- 0x0b4d2892792c5b65ULL, 0xc4df4743d5374a98ULL,
- 0xa5e20888bfaeb5eaULL, 0xba56cc90c0d23f9aULL,
- 0x38d04cf8ffe0a09cULL, 0x62e1adafe495254cULL,
- 0x0263bcb3f40867dfULL, 0xcaeb547d230f62bfULL,
- 0x6082111c109d4293ULL, 0xdad4dd8cd04f7d09ULL,
- 0xefec602e579b2f8cULL, 0x1fb4c4187f7c8a70ULL,
- 0xffd3e9dfa4db303aULL, 0x7bf0b07f9af10640ULL,
- 0xf49ec14dddf76b5fULL, 0x8f6e713247066d1fULL,
- 0x339d646a86ccfbf9ULL, 0x64447467e58d8c30ULL,
- 0x2c29a072f9b07189ULL, 0xd8b7613f24471ad6ULL,
- 0x6627c8d41185ebefULL, 0xa347d140beb61c96ULL,
- 0xde12b8f7255fb3aaULL, 0x9d324470404e1576ULL,
- 0x9306574eb6763d51ULL, 0xa80af9d2c79a47f3ULL,
- 0x859c0777442e8b9bULL, 0x69ac853d9db97e29ULL},
+ { 0x6d6ae04668a9b08aULL, 0x3ab3f04b0be8c743ULL, 0xe51e166b54b3c908ULL,
+ 0xbe90a9eb35c2f139ULL, 0xb2c7066637f2bec1ULL, 0xaa6945613392202cULL,
+ 0x9a28c36f3b5201ebULL, 0xddce5a93ab536994ULL, 0x0e34133ef6382827ULL,
+ 0x52a02ba1ec55048bULL, 0xa2f88f97c4b2a177ULL, 0x8640e513ca2251a5ULL,
+ 0xcdf1d36258137622ULL, 0xfe6cb708dedf8ddbULL, 0x8a174a9ec8121e5dULL,
+ 0x679896036b81560eULL, 0x59ed033395795feeULL, 0x1dd778ab8b74edafULL,
+ 0xee533ef92d9f926dULL, 0x2a8c79baf8a8d8f5ULL, 0x6bcf398e69b119f6ULL,
+ 0xe20491742fafdd95ULL, 0x276488e0809c2aecULL, 0xea955b82d88f5cceULL,
+ 0x7102c63a99d9e0c4ULL, 0xf9763017a5c39946ULL, 0x429fa2501f151b3dULL,
+ 0x4659c72bea05d59eULL, 0x984b7fdccf5a6634ULL, 0xf742232953fbb161ULL,
+ 0x3041860e08c021c7ULL, 0x747bfd9616cd9386ULL, 0x4bb1367192312787ULL,
+ 0x1b72a1638a6c44d3ULL, 0x4a0e68a6e8359a66ULL, 0x169a5039f258b6caULL,
+ 0xb98a2ef44edee5a4ULL, 0xd9083fe85e43a737ULL, 0x967f6ce239624e13ULL,
+ 0x8874f62d3c1a7982ULL, 0x3c1629830af06e3fULL, 0x9165ebfd427e5a8eULL,
+ 0xb5dd81794ceeaa5cULL, 0x0de8f15a7834f219ULL, 0x70bd98ede3dd5d25ULL,
+ 0xaccc9ca9328a8950ULL, 0x56664eda1945ca28ULL, 0x221db34c0f8859aeULL,
+ 0x26dbd637fa98970dULL, 0x1acdffb4f068f932ULL, 0x4585254f64090fa0ULL,
+ 0x72de245e17d53afaULL, 0x1546b25d7c546cf4ULL, 0x207e0ffffb803e71ULL,
+ 0xfaaad2732bcf4378ULL, 0xb462dfae36ea17bdULL, 0xcf926fd1ac1b11fdULL,
+ 0xe0672dc7dba7ba4aULL, 0xd3fa49ad5d6b41b3ULL, 0x8ba81449b216a3bcULL,
+ 0x14f9ec8a0650d115ULL, 0x40fc1ee3eb1d7ce2ULL, 0x23a2ed9b758ce44fULL,
+ 0x782c521b14fddc7eULL, 0x1c68267cf170504eULL, 0xbcf31558c1ca96e6ULL,
+ 0xa781b43b4ba6d235ULL, 0xf6fd7dfe29ff0c80ULL, 0xb0a4bad5c3fad91eULL,
+ 0xd199f51ea963266cULL, 0x414340349119c103ULL, 0x5405f269ed4dadf7ULL,
+ 0xabd61bb649969dcdULL, 0x6813dbeae7bdc3c8ULL, 0x65fb2ab09f8931d1ULL,
+ 0xf1e7fae152e3181dULL, 0xc1a67cef5a2339daULL, 0x7a4feea8e0f5bba1ULL,
+ 0x1e0b9acf05783791ULL, 0x5b8ebf8061713831ULL, 0x80e53cdbcb3af8d9ULL,
+ 0x7e898bd315e57502ULL, 0xc6bcfbf0213f2d47ULL, 0x95a38e86b76e942dULL,
+ 0x092e94218d243cbaULL, 0x8339debf453622e7ULL, 0xb11be402b9fe64ffULL,
+ 0x57d9100d634177c9ULL, 0xcc4e8db52217cbc3ULL, 0x3b0cae9c71ec7aa2ULL,
+ 0xfb158ca451cbfe99ULL, 0x2b33276d82ac6514ULL, 0x01bf5ed77a04bde1ULL,
+ 0xc5601994af33f779ULL, 0x75c4a3416cc92e67ULL, 0xf3844652a6eb7fc2ULL,
+ 0x3487e375fdd0ef64ULL, 0x18ae430704609eedULL, 0x4d14efb993298efbULL,
+ 0x815a620cb13e4538ULL, 0x125c354207487869ULL, 0x9eeea614ce42cf48ULL,
+ 0xce2d3106d61fac1cULL, 0xbbe99247bad6827bULL, 0x071a871f7b1c149dULL,
+ 0x2e4a1cc10db81656ULL, 0x77a71ff298c149b8ULL, 0x06a5d9c80118a97cULL,
+ 0xad73c27e488e34b1ULL, 0x443a7b981e0db241ULL, 0xe3bbcfa355ab6074ULL,
+ 0x0af276450328e684ULL, 0x73617a896dd1871bULL, 0x58525de4ef7de20fULL,
+ 0xb7be3dcab8e6cd83ULL, 0x19111dd07e64230cULL, 0x842359a03e2a367aULL,
+ 0x103f89f1f3401fb6ULL, 0xdc710444d157d475ULL, 0xb835702334da5845ULL,
+ 0x4320fc876511a6dcULL, 0xd026abc9d3679b8dULL, 0x17250eee885c0b2bULL,
+ 0x90dab52a387ae76fULL, 0x31fed8d972c49c26ULL, 0x89cba8fa461ec463ULL,
+ 0x2ff5421677bcabb7ULL, 0x396f122f85e41d7dULL, 0xa09b332430bac6a8ULL,
+ 0xc888e8ced7070560ULL, 0xaeaf201ac682ee8fULL, 0x1180d7268944a257ULL,
+ 0xf058a43628e7a5fcULL, 0xbd4c4b8fbbce2b07ULL, 0xa1246df34abe7b49ULL,
+ 0x7d5569b79be9af3cULL, 0xa9b5a705bd9efa12ULL, 0xdb6b835baa4bc0e8ULL,
+ 0x05793bac8f147342ULL, 0x21c1512881848390ULL, 0xfdb0556c50d357e5ULL,
+ 0x613d4fcb6a99ff72ULL, 0x03dce2648e0cda3eULL, 0xe949b9e6568386f0ULL,
+ 0xfc0f0bbb2ad7ea04ULL, 0x6a70675913b5a417ULL, 0x7f36d5046fe1c8e3ULL,
+ 0x0c57af8d02304ff8ULL, 0x32223abdfcc84618ULL, 0x0891caf6f720815bULL,
+ 0xa63eeaec31a26fd4ULL, 0x2507345374944d33ULL, 0x49d28ac266394058ULL,
+ 0xf5219f9aa7f3d6beULL, 0x2d96fea583b4cc68ULL, 0x5a31e1571b7585d0ULL,
+ 0x8ed12fe53d02d0feULL, 0xdfade6205f5b0e4bULL, 0x4cabb16ee92d331aULL,
+ 0x04c6657bf510cea3ULL, 0xd73c2cd6a87b8f10ULL, 0xe1d87310a1a307abULL,
+ 0x6cd5be9112ad0d6bULL, 0x97c032354366f3f2ULL, 0xd4e0ceb22677552eULL,
+ 0x0000000000000000ULL, 0x29509bde76a402cbULL, 0xc27a9e8bd42fe3e4ULL,
+ 0x5ef7842cee654b73ULL, 0xaf107ecdbc86536eULL, 0x3fcacbe784fcb401ULL,
+ 0xd55f90655c73e8cfULL, 0xe6c2f40fdabf1336ULL, 0xe8f6e7312c873b11ULL,
+ 0xeb2a0555a28be12fULL, 0xe4a148bc2eb774e9ULL, 0x9b979db84156bc0aULL,
+ 0x6eb60222e6a56ab4ULL, 0x87ffbbc4b026ec44ULL, 0xc703a5275b3b90a6ULL,
+ 0x47e699fc9001687fULL, 0x9c8d1aa73a4aa897ULL, 0x7cea3760e1ed12ddULL,
+ 0x4ec80ddd1d2554c5ULL, 0x13e36b957d4cc588ULL, 0x5d2b66486069914dULL,
+ 0x92b90999cc7280b0ULL, 0x517cc9c56259deb5ULL, 0xc937b619ad03b881ULL,
+ 0xec30824ad997f5b2ULL, 0xa45d565fc5aa080bULL, 0xd6837201d27f32f1ULL,
+ 0x635ef3789e9198adULL, 0x531f75769651b96aULL, 0x4f77530a6721e924ULL,
+ 0x486dd4151c3dfdb9ULL, 0x5f48dafb9461f692ULL, 0x375b011173dc355aULL,
+ 0x3da9775470f4d3deULL, 0x8d0dcd81b30e0ac0ULL, 0x36e45fc609d888bbULL,
+ 0x55baacbe97491016ULL, 0x8cb29356c90ab721ULL, 0x76184125e2c5f459ULL,
+ 0x99f4210bb55edbd5ULL, 0x6f095cf59ca1d755ULL, 0x9f51f8c3b44672a9ULL,
+ 0x3538bda287d45285ULL, 0x50c39712185d6354ULL, 0xf23b1885dcefc223ULL,
+ 0x79930ccc6ef9619fULL, 0xed8fdc9da3934853ULL, 0xcb540aaa590bdf5eULL,
+ 0x5c94389f1a6d2cacULL, 0xe77daad8a0bbaed7ULL, 0x28efc5090ca0bf2aULL,
+ 0xbf2ff73c4fc64cd8ULL, 0xb37858b14df60320ULL, 0xf8c96ec0dfc724a7ULL,
+ 0x828680683f329f06ULL, 0x941cd051cd6a29ccULL, 0xc3c5c05cae2b5e05ULL,
+ 0xb601631dc2e27062ULL, 0xc01922382027843bULL, 0x24b86a840e90f0d2ULL,
+ 0xd245177a276ffc52ULL, 0x0f8b4de98c3c95c6ULL, 0x3e759530fef809e0ULL,
+ 0x0b4d2892792c5b65ULL, 0xc4df4743d5374a98ULL, 0xa5e20888bfaeb5eaULL,
+ 0xba56cc90c0d23f9aULL, 0x38d04cf8ffe0a09cULL, 0x62e1adafe495254cULL,
+ 0x0263bcb3f40867dfULL, 0xcaeb547d230f62bfULL, 0x6082111c109d4293ULL,
+ 0xdad4dd8cd04f7d09ULL, 0xefec602e579b2f8cULL, 0x1fb4c4187f7c8a70ULL,
+ 0xffd3e9dfa4db303aULL, 0x7bf0b07f9af10640ULL, 0xf49ec14dddf76b5fULL,
+ 0x8f6e713247066d1fULL, 0x339d646a86ccfbf9ULL, 0x64447467e58d8c30ULL,
+ 0x2c29a072f9b07189ULL, 0xd8b7613f24471ad6ULL, 0x6627c8d41185ebefULL,
+ 0xa347d140beb61c96ULL, 0xde12b8f7255fb3aaULL, 0x9d324470404e1576ULL,
+ 0x9306574eb6763d51ULL, 0xa80af9d2c79a47f3ULL, 0x859c0777442e8b9bULL,
+ 0x69ac853d9db97e29ULL },
/* 6 */
- {0xc3407dfc2de6377eULL, 0x5b9e93eea4256f77ULL,
- 0xadb58fdd50c845e0ULL, 0x5219ff11a75bed86ULL,
- 0x356b61cfd90b1de9ULL, 0xfb8f406e25abe037ULL,
- 0x7a5a0231c0f60796ULL, 0x9d3cd216e1f5020bULL,
- 0x0c6550fb6b48d8f3ULL, 0xf57508c427ff1c62ULL,
- 0x4ad35ffa71cb407dULL, 0x6290a2da1666aa6dULL,
- 0xe284ec2349355f9fULL, 0xb3c307c53d7c84ecULL,
- 0x05e23c0468365a02ULL, 0x190bac4d6c9ebfa8ULL,
- 0x94bbbee9e28b80faULL, 0xa34fc777529cb9b5ULL,
- 0xcc7b39f095bcd978ULL, 0x2426addb0ce532e3ULL,
- 0x7e79329312ce4fc7ULL, 0xab09a72eebec2917ULL,
- 0xf8d15499f6b9d6c2ULL, 0x1a55b8babf8c895dULL,
- 0xdb8add17fb769a85ULL, 0xb57f2f368658e81bULL,
- 0x8acd36f18f3f41f6ULL, 0x5ce3b7bba50f11d3ULL,
- 0x114dcc14d5ee2f0aULL, 0xb91a7fcded1030e8ULL,
- 0x81d5425fe55de7a1ULL, 0xb6213bc1554adeeeULL,
- 0x80144ef95f53f5f2ULL, 0x1e7688186db4c10cULL,
- 0x3b912965db5fe1bcULL, 0xc281715a97e8252dULL,
- 0x54a5d7e21c7f8171ULL, 0x4b12535ccbc5522eULL,
- 0x1d289cefbea6f7f9ULL, 0x6ef5f2217d2e729eULL,
- 0xe6a7dc819b0d17ceULL, 0x1b94b41c05829b0eULL,
- 0x33d7493c622f711eULL, 0xdcf7f942fa5ce421ULL,
- 0x600fba8b7f7a8ecbULL, 0x46b60f011a83988eULL,
- 0x235b898e0dcf4c47ULL, 0x957ab24f588592a9ULL,
- 0x4354330572b5c28cULL, 0xa5f3ef84e9b8d542ULL,
- 0x8c711e02341b2d01ULL, 0x0b1874ae6a62a657ULL,
- 0x1213d8e306fc19ffULL, 0xfe6d7c6a4d9dba35ULL,
- 0x65ed868f174cd4c9ULL, 0x88522ea0e6236550ULL,
- 0x899322065c2d7703ULL, 0xc01e690bfef4018bULL,
- 0x915982ed8abddaf8ULL, 0xbe675b98ec3a4e4cULL,
- 0xa996bf7f82f00db1ULL, 0xe1daf8d49a27696aULL,
- 0x2effd5d3dc8986e7ULL, 0xd153a51f2b1a2e81ULL,
- 0x18caa0ebd690adfbULL, 0x390e3134b243c51aULL,
- 0x2778b92cdff70416ULL, 0x029f1851691c24a6ULL,
- 0x5e7cafeacc133575ULL, 0xfa4e4cc89fa5f264ULL,
- 0x5a5f9f481e2b7d24ULL, 0x484c47ab18d764dbULL,
- 0x400a27f2a1a7f479ULL, 0xaeeb9b2a83da7315ULL,
- 0x721c626879869734ULL, 0x042330a2d2384851ULL,
- 0x85f672fd3765aff0ULL, 0xba446b3a3e02061dULL,
- 0x73dd6ecec3888567ULL, 0xffac70ccf793a866ULL,
- 0xdfa9edb5294ed2d4ULL, 0x6c6aea7014325638ULL,
- 0x834a5a0e8c41c307ULL, 0xcdba35562fb2cb2bULL,
- 0x0ad97808d06cb404ULL, 0x0f3b440cb85aee06ULL,
- 0xe5f9c876481f213bULL, 0x98deee1289c35809ULL,
- 0x59018bbfcd394bd1ULL, 0xe01bf47220297b39ULL,
- 0xde68e1139340c087ULL, 0x9fa3ca4788e926adULL,
- 0xbb85679c840c144eULL, 0x53d8f3b71d55ffd5ULL,
- 0x0da45c5dd146caa0ULL, 0x6f34fe87c72060cdULL,
- 0x57fbc315cf6db784ULL, 0xcee421a1fca0fddeULL,
- 0x3d2d0196607b8d4bULL, 0x642c8a29ad42c69aULL,
- 0x14aff010bdd87508ULL, 0xac74837beac657b3ULL,
- 0x3216459ad821634dULL, 0x3fb219c70967a9edULL,
- 0x06bc28f3bb246cf7ULL, 0xf2082c9126d562c6ULL,
- 0x66b39278c45ee23cULL, 0xbd394f6f3f2878b9ULL,
- 0xfd33689d9e8f8cc0ULL, 0x37f4799eb017394fULL,
- 0x108cc0b26fe03d59ULL, 0xda4bd1b1417888d6ULL,
- 0xb09d1332ee6eb219ULL, 0x2f3ed975668794b4ULL,
- 0x58c0871977375982ULL, 0x7561463d78ace990ULL,
- 0x09876cff037e82f1ULL, 0x7fb83e35a8c05d94ULL,
- 0x26b9b58a65f91645ULL, 0xef20b07e9873953fULL,
- 0x3148516d0b3355b8ULL, 0x41cb2b541ba9e62aULL,
- 0x790416c613e43163ULL, 0xa011d380818e8f40ULL,
- 0x3a5025c36151f3efULL, 0xd57095bdf92266d0ULL,
- 0x498d4b0da2d97688ULL, 0x8b0c3a57353153a5ULL,
- 0x21c491df64d368e1ULL, 0x8f2f0af5e7091bf4ULL,
- 0x2da1c1240f9bb012ULL, 0xc43d59a92ccc49daULL,
- 0xbfa6573e56345c1fULL, 0x828b56a8364fd154ULL,
- 0x9a41f643e0df7cafULL, 0xbcf843c985266aeaULL,
- 0x2b1de9d7b4bfdce5ULL, 0x20059d79dedd7ab2ULL,
- 0x6dabe6d6ae3c446bULL, 0x45e81bf6c991ae7bULL,
- 0x6351ae7cac68b83eULL, 0xa432e32253b6c711ULL,
- 0xd092a9b991143cd2ULL, 0xcac711032e98b58fULL,
- 0xd8d4c9e02864ac70ULL, 0xc5fc550f96c25b89ULL,
- 0xd7ef8dec903e4276ULL, 0x67729ede7e50f06fULL,
- 0xeac28c7af045cf3dULL, 0xb15c1f945460a04aULL,
- 0x9cfddeb05bfb1058ULL, 0x93c69abce3a1fe5eULL,
- 0xeb0380dc4a4bdd6eULL, 0xd20db1e8f8081874ULL,
- 0x229a8528b7c15e14ULL, 0x44291750739fbc28ULL,
- 0xd3ccbd4e42060a27ULL, 0xf62b1c33f4ed2a97ULL,
- 0x86a8660ae4779905ULL, 0xd62e814a2a305025ULL,
- 0x477703a7a08d8addULL, 0x7b9b0e977af815c5ULL,
- 0x78c51a60a9ea2330ULL, 0xa6adfb733aaae3b7ULL,
- 0x97e5aa1e3199b60fULL, 0x0000000000000000ULL,
- 0xf4b404629df10e31ULL, 0x5564db44a6719322ULL,
- 0x9207961a59afec0dULL, 0x9624a6b88b97a45cULL,
- 0x363575380a192b1cULL, 0x2c60cd82b595a241ULL,
- 0x7d272664c1dc7932ULL, 0x7142769faa94a1c1ULL,
- 0xa1d0df263b809d13ULL, 0x1630e841d4c451aeULL,
- 0xc1df65ad44fa13d8ULL, 0x13d2d445bcf20bacULL,
- 0xd915c546926abe23ULL, 0x38cf3d92084dd749ULL,
- 0xe766d0272103059dULL, 0xc7634d5effde7f2fULL,
- 0x077d2455012a7ea4ULL, 0xedbfa82ff16fb199ULL,
- 0xaf2a978c39d46146ULL, 0x42953fa3c8bbd0dfULL,
- 0xcb061da59496a7dcULL, 0x25e7a17db6eb20b0ULL,
- 0x34aa6d6963050fbaULL, 0xa76cf7d580a4f1e4ULL,
- 0xf7ea10954ee338c4ULL, 0xfcf2643b24819e93ULL,
- 0xcf252d0746aeef8dULL, 0x4ef06f58a3f3082cULL,
- 0x563acfb37563a5d7ULL, 0x5086e740ce47c920ULL,
- 0x2982f186dda3f843ULL, 0x87696aac5e798b56ULL,
- 0x5d22bb1d1f010380ULL, 0x035e14f7d31236f5ULL,
- 0x3cec0d30da759f18ULL, 0xf3c920379cdb7095ULL,
- 0xb8db736b571e22bbULL, 0xdd36f5e44052f672ULL,
- 0xaac8ab8851e23b44ULL, 0xa857b3d938fe1fe2ULL,
- 0x17f1e4e76eca43fdULL, 0xec7ea4894b61a3caULL,
- 0x9e62c6e132e734feULL, 0xd4b1991b432c7483ULL,
- 0x6ad6c283af163acfULL, 0x1ce9904904a8e5aaULL,
- 0x5fbda34c761d2726ULL, 0xf910583f4cb7c491ULL,
- 0xc6a241f845d06d7cULL, 0x4f3163fe19fd1a7fULL,
- 0xe99c988d2357f9c8ULL, 0x8eee06535d0709a7ULL,
- 0x0efa48aa0254fc55ULL, 0xb4be23903c56fa48ULL,
- 0x763f52caabbedf65ULL, 0xeee1bcd8227d876cULL,
- 0xe345e085f33b4dccULL, 0x3e731561b369bbbeULL,
- 0x2843fd2067adea10ULL, 0x2adce5710eb1ceb6ULL,
- 0xb7e03767ef44ccbdULL, 0x8db012a48e153f52ULL,
- 0x61ceb62dc5749c98ULL, 0xe85d942b9959eb9bULL,
- 0x4c6f7709caef2c8aULL, 0x84377e5b8d6bbda3ULL,
- 0x30895dcbb13d47ebULL, 0x74a04a9bc2a2fbc3ULL,
- 0x6b17ce251518289cULL, 0xe438c4d0f2113368ULL,
- 0x1fb784bed7bad35fULL, 0x9b80fae55ad16efcULL,
- 0x77fe5e6c11b0cd36ULL, 0xc858095247849129ULL,
- 0x08466059b97090a2ULL, 0x01c10ca6ba0e1253ULL,
- 0x6988d6747c040c3aULL, 0x6849dad2c60a1e69ULL,
- 0x5147ebe67449db73ULL, 0xc99905f4fd8a837aULL,
- 0x991fe2b433cd4a5aULL, 0xf09734c04fc94660ULL,
- 0xa28ecbd1e892abe6ULL, 0xf1563866f5c75433ULL,
- 0x4dae7baf70e13ed9ULL, 0x7ce62ac27bd26b61ULL,
- 0x70837a39109ab392ULL, 0x90988e4b30b3c8abULL,
- 0xb2020b63877296bfULL, 0x156efcb607d6675bULL},
+ { 0xc3407dfc2de6377eULL, 0x5b9e93eea4256f77ULL, 0xadb58fdd50c845e0ULL,
+ 0x5219ff11a75bed86ULL, 0x356b61cfd90b1de9ULL, 0xfb8f406e25abe037ULL,
+ 0x7a5a0231c0f60796ULL, 0x9d3cd216e1f5020bULL, 0x0c6550fb6b48d8f3ULL,
+ 0xf57508c427ff1c62ULL, 0x4ad35ffa71cb407dULL, 0x6290a2da1666aa6dULL,
+ 0xe284ec2349355f9fULL, 0xb3c307c53d7c84ecULL, 0x05e23c0468365a02ULL,
+ 0x190bac4d6c9ebfa8ULL, 0x94bbbee9e28b80faULL, 0xa34fc777529cb9b5ULL,
+ 0xcc7b39f095bcd978ULL, 0x2426addb0ce532e3ULL, 0x7e79329312ce4fc7ULL,
+ 0xab09a72eebec2917ULL, 0xf8d15499f6b9d6c2ULL, 0x1a55b8babf8c895dULL,
+ 0xdb8add17fb769a85ULL, 0xb57f2f368658e81bULL, 0x8acd36f18f3f41f6ULL,
+ 0x5ce3b7bba50f11d3ULL, 0x114dcc14d5ee2f0aULL, 0xb91a7fcded1030e8ULL,
+ 0x81d5425fe55de7a1ULL, 0xb6213bc1554adeeeULL, 0x80144ef95f53f5f2ULL,
+ 0x1e7688186db4c10cULL, 0x3b912965db5fe1bcULL, 0xc281715a97e8252dULL,
+ 0x54a5d7e21c7f8171ULL, 0x4b12535ccbc5522eULL, 0x1d289cefbea6f7f9ULL,
+ 0x6ef5f2217d2e729eULL, 0xe6a7dc819b0d17ceULL, 0x1b94b41c05829b0eULL,
+ 0x33d7493c622f711eULL, 0xdcf7f942fa5ce421ULL, 0x600fba8b7f7a8ecbULL,
+ 0x46b60f011a83988eULL, 0x235b898e0dcf4c47ULL, 0x957ab24f588592a9ULL,
+ 0x4354330572b5c28cULL, 0xa5f3ef84e9b8d542ULL, 0x8c711e02341b2d01ULL,
+ 0x0b1874ae6a62a657ULL, 0x1213d8e306fc19ffULL, 0xfe6d7c6a4d9dba35ULL,
+ 0x65ed868f174cd4c9ULL, 0x88522ea0e6236550ULL, 0x899322065c2d7703ULL,
+ 0xc01e690bfef4018bULL, 0x915982ed8abddaf8ULL, 0xbe675b98ec3a4e4cULL,
+ 0xa996bf7f82f00db1ULL, 0xe1daf8d49a27696aULL, 0x2effd5d3dc8986e7ULL,
+ 0xd153a51f2b1a2e81ULL, 0x18caa0ebd690adfbULL, 0x390e3134b243c51aULL,
+ 0x2778b92cdff70416ULL, 0x029f1851691c24a6ULL, 0x5e7cafeacc133575ULL,
+ 0xfa4e4cc89fa5f264ULL, 0x5a5f9f481e2b7d24ULL, 0x484c47ab18d764dbULL,
+ 0x400a27f2a1a7f479ULL, 0xaeeb9b2a83da7315ULL, 0x721c626879869734ULL,
+ 0x042330a2d2384851ULL, 0x85f672fd3765aff0ULL, 0xba446b3a3e02061dULL,
+ 0x73dd6ecec3888567ULL, 0xffac70ccf793a866ULL, 0xdfa9edb5294ed2d4ULL,
+ 0x6c6aea7014325638ULL, 0x834a5a0e8c41c307ULL, 0xcdba35562fb2cb2bULL,
+ 0x0ad97808d06cb404ULL, 0x0f3b440cb85aee06ULL, 0xe5f9c876481f213bULL,
+ 0x98deee1289c35809ULL, 0x59018bbfcd394bd1ULL, 0xe01bf47220297b39ULL,
+ 0xde68e1139340c087ULL, 0x9fa3ca4788e926adULL, 0xbb85679c840c144eULL,
+ 0x53d8f3b71d55ffd5ULL, 0x0da45c5dd146caa0ULL, 0x6f34fe87c72060cdULL,
+ 0x57fbc315cf6db784ULL, 0xcee421a1fca0fddeULL, 0x3d2d0196607b8d4bULL,
+ 0x642c8a29ad42c69aULL, 0x14aff010bdd87508ULL, 0xac74837beac657b3ULL,
+ 0x3216459ad821634dULL, 0x3fb219c70967a9edULL, 0x06bc28f3bb246cf7ULL,
+ 0xf2082c9126d562c6ULL, 0x66b39278c45ee23cULL, 0xbd394f6f3f2878b9ULL,
+ 0xfd33689d9e8f8cc0ULL, 0x37f4799eb017394fULL, 0x108cc0b26fe03d59ULL,
+ 0xda4bd1b1417888d6ULL, 0xb09d1332ee6eb219ULL, 0x2f3ed975668794b4ULL,
+ 0x58c0871977375982ULL, 0x7561463d78ace990ULL, 0x09876cff037e82f1ULL,
+ 0x7fb83e35a8c05d94ULL, 0x26b9b58a65f91645ULL, 0xef20b07e9873953fULL,
+ 0x3148516d0b3355b8ULL, 0x41cb2b541ba9e62aULL, 0x790416c613e43163ULL,
+ 0xa011d380818e8f40ULL, 0x3a5025c36151f3efULL, 0xd57095bdf92266d0ULL,
+ 0x498d4b0da2d97688ULL, 0x8b0c3a57353153a5ULL, 0x21c491df64d368e1ULL,
+ 0x8f2f0af5e7091bf4ULL, 0x2da1c1240f9bb012ULL, 0xc43d59a92ccc49daULL,
+ 0xbfa6573e56345c1fULL, 0x828b56a8364fd154ULL, 0x9a41f643e0df7cafULL,
+ 0xbcf843c985266aeaULL, 0x2b1de9d7b4bfdce5ULL, 0x20059d79dedd7ab2ULL,
+ 0x6dabe6d6ae3c446bULL, 0x45e81bf6c991ae7bULL, 0x6351ae7cac68b83eULL,
+ 0xa432e32253b6c711ULL, 0xd092a9b991143cd2ULL, 0xcac711032e98b58fULL,
+ 0xd8d4c9e02864ac70ULL, 0xc5fc550f96c25b89ULL, 0xd7ef8dec903e4276ULL,
+ 0x67729ede7e50f06fULL, 0xeac28c7af045cf3dULL, 0xb15c1f945460a04aULL,
+ 0x9cfddeb05bfb1058ULL, 0x93c69abce3a1fe5eULL, 0xeb0380dc4a4bdd6eULL,
+ 0xd20db1e8f8081874ULL, 0x229a8528b7c15e14ULL, 0x44291750739fbc28ULL,
+ 0xd3ccbd4e42060a27ULL, 0xf62b1c33f4ed2a97ULL, 0x86a8660ae4779905ULL,
+ 0xd62e814a2a305025ULL, 0x477703a7a08d8addULL, 0x7b9b0e977af815c5ULL,
+ 0x78c51a60a9ea2330ULL, 0xa6adfb733aaae3b7ULL, 0x97e5aa1e3199b60fULL,
+ 0x0000000000000000ULL, 0xf4b404629df10e31ULL, 0x5564db44a6719322ULL,
+ 0x9207961a59afec0dULL, 0x9624a6b88b97a45cULL, 0x363575380a192b1cULL,
+ 0x2c60cd82b595a241ULL, 0x7d272664c1dc7932ULL, 0x7142769faa94a1c1ULL,
+ 0xa1d0df263b809d13ULL, 0x1630e841d4c451aeULL, 0xc1df65ad44fa13d8ULL,
+ 0x13d2d445bcf20bacULL, 0xd915c546926abe23ULL, 0x38cf3d92084dd749ULL,
+ 0xe766d0272103059dULL, 0xc7634d5effde7f2fULL, 0x077d2455012a7ea4ULL,
+ 0xedbfa82ff16fb199ULL, 0xaf2a978c39d46146ULL, 0x42953fa3c8bbd0dfULL,
+ 0xcb061da59496a7dcULL, 0x25e7a17db6eb20b0ULL, 0x34aa6d6963050fbaULL,
+ 0xa76cf7d580a4f1e4ULL, 0xf7ea10954ee338c4ULL, 0xfcf2643b24819e93ULL,
+ 0xcf252d0746aeef8dULL, 0x4ef06f58a3f3082cULL, 0x563acfb37563a5d7ULL,
+ 0x5086e740ce47c920ULL, 0x2982f186dda3f843ULL, 0x87696aac5e798b56ULL,
+ 0x5d22bb1d1f010380ULL, 0x035e14f7d31236f5ULL, 0x3cec0d30da759f18ULL,
+ 0xf3c920379cdb7095ULL, 0xb8db736b571e22bbULL, 0xdd36f5e44052f672ULL,
+ 0xaac8ab8851e23b44ULL, 0xa857b3d938fe1fe2ULL, 0x17f1e4e76eca43fdULL,
+ 0xec7ea4894b61a3caULL, 0x9e62c6e132e734feULL, 0xd4b1991b432c7483ULL,
+ 0x6ad6c283af163acfULL, 0x1ce9904904a8e5aaULL, 0x5fbda34c761d2726ULL,
+ 0xf910583f4cb7c491ULL, 0xc6a241f845d06d7cULL, 0x4f3163fe19fd1a7fULL,
+ 0xe99c988d2357f9c8ULL, 0x8eee06535d0709a7ULL, 0x0efa48aa0254fc55ULL,
+ 0xb4be23903c56fa48ULL, 0x763f52caabbedf65ULL, 0xeee1bcd8227d876cULL,
+ 0xe345e085f33b4dccULL, 0x3e731561b369bbbeULL, 0x2843fd2067adea10ULL,
+ 0x2adce5710eb1ceb6ULL, 0xb7e03767ef44ccbdULL, 0x8db012a48e153f52ULL,
+ 0x61ceb62dc5749c98ULL, 0xe85d942b9959eb9bULL, 0x4c6f7709caef2c8aULL,
+ 0x84377e5b8d6bbda3ULL, 0x30895dcbb13d47ebULL, 0x74a04a9bc2a2fbc3ULL,
+ 0x6b17ce251518289cULL, 0xe438c4d0f2113368ULL, 0x1fb784bed7bad35fULL,
+ 0x9b80fae55ad16efcULL, 0x77fe5e6c11b0cd36ULL, 0xc858095247849129ULL,
+ 0x08466059b97090a2ULL, 0x01c10ca6ba0e1253ULL, 0x6988d6747c040c3aULL,
+ 0x6849dad2c60a1e69ULL, 0x5147ebe67449db73ULL, 0xc99905f4fd8a837aULL,
+ 0x991fe2b433cd4a5aULL, 0xf09734c04fc94660ULL, 0xa28ecbd1e892abe6ULL,
+ 0xf1563866f5c75433ULL, 0x4dae7baf70e13ed9ULL, 0x7ce62ac27bd26b61ULL,
+ 0x70837a39109ab392ULL, 0x90988e4b30b3c8abULL, 0xb2020b63877296bfULL,
+ 0x156efcb607d6675bULL },
/* 7 */
- {0xe63f55ce97c331d0ULL, 0x25b506b0015bba16ULL,
- 0xc8706e29e6ad9ba8ULL, 0x5b43d3775d521f6aULL,
- 0x0bfa3d577035106eULL, 0xab95fc172afb0e66ULL,
- 0xf64b63979e7a3276ULL, 0xf58b4562649dad4bULL,
- 0x48f7c3dbae0c83f1ULL, 0xff31916642f5c8c5ULL,
- 0xcbb048dc1c4a0495ULL, 0x66b8f83cdf622989ULL,
- 0x35c130e908e2b9b0ULL, 0x7c761a61f0b34fa1ULL,
- 0x3601161cf205268dULL, 0x9e54ccfe2219b7d6ULL,
- 0x8b7d90a538940837ULL, 0x9cd403588ea35d0bULL,
- 0xbc3c6fea9ccc5b5aULL, 0xe5ff733b6d24aeedULL,
- 0xceed22de0f7eb8d2ULL, 0xec8581cab1ab545eULL,
- 0xb96105e88ff8e71dULL, 0x8ca03501871a5eadULL,
- 0x76ccce65d6db2a2fULL, 0x5883f582a7b58057ULL,
- 0x3f7be4ed2e8adc3eULL, 0x0fe7be06355cd9c9ULL,
- 0xee054e6c1d11be83ULL, 0x1074365909b903a6ULL,
- 0x5dde9f80b4813c10ULL, 0x4a770c7d02b6692cULL,
- 0x5379c8d5d7809039ULL, 0xb4067448161ed409ULL,
- 0x5f5e5026183bd6cdULL, 0xe898029bf4c29df9ULL,
- 0x7fb63c940a54d09cULL, 0xc5171f897f4ba8bcULL,
- 0xa6f28db7b31d3d72ULL, 0x2e4f3be7716eaa78ULL,
- 0x0d6771a099e63314ULL, 0x82076254e41bf284ULL,
- 0x2f0fd2b42733df98ULL, 0x5c9e76d3e2dc49f0ULL,
- 0x7aeb569619606cdbULL, 0x83478b07b2468764ULL,
- 0xcfadcb8d5923cd32ULL, 0x85dac7f05b95a41eULL,
- 0xb5469d1b4043a1e9ULL, 0xb821ecbbd9a592fdULL,
- 0x1b8e0b0e798c13c8ULL, 0x62a57b6d9a0be02eULL,
- 0xfcf1b793b81257f8ULL, 0x9d94ea0bd8fe28ebULL,
- 0x4cea408aeb654a56ULL, 0x23284a47e888996cULL,
- 0x2d8f1d128b893545ULL, 0xf4cbac3132c0d8abULL,
- 0xbd7c86b9ca912ebaULL, 0x3a268eef3dbe6079ULL,
- 0xf0d62f6077a9110cULL, 0x2735c916ade150cbULL,
- 0x89fd5f03942ee2eaULL, 0x1acee25d2fd16628ULL,
- 0x90f39bab41181bffULL, 0x430dfe8cde39939fULL,
- 0xf70b8ac4c8274796ULL, 0x1c53aeaac6024552ULL,
- 0x13b410acf35e9c9bULL, 0xa532ab4249faa24fULL,
- 0x2b1251e5625a163fULL, 0xd7e3e676da4841c7ULL,
- 0xa7b264e4e5404892ULL, 0xda8497d643ae72d3ULL,
- 0x861ae105a1723b23ULL, 0x38a6414991048aa4ULL,
- 0x6578dec92585b6b4ULL, 0x0280cfa6acbaeaddULL,
- 0x88bdb650c273970aULL, 0x9333bd5ebbff84c2ULL,
- 0x4e6a8f2c47dfa08bULL, 0x321c954db76cef2aULL,
- 0x418d312a72837942ULL, 0xb29b38bfffcdf773ULL,
- 0x6c022c38f90a4c07ULL, 0x5a033a240b0f6a8aULL,
- 0x1f93885f3ce5da6fULL, 0xc38a537e96988bc6ULL,
- 0x39e6a81ac759ff44ULL, 0x29929e43cee0fce2ULL,
- 0x40cdd87924de0ca2ULL, 0xe9d8ebc8a29fe819ULL,
- 0x0c2798f3cfbb46f4ULL, 0x55e484223e53b343ULL,
- 0x4650948ecd0d2fd8ULL, 0x20e86cb2126f0651ULL,
- 0x6d42c56baf5739e7ULL, 0xa06fc1405ace1e08ULL,
- 0x7babbfc54f3d193bULL, 0x424d17df8864e67fULL,
- 0xd8045870ef14980eULL, 0xc6d7397c85ac3781ULL,
- 0x21a885e1443273b1ULL, 0x67f8116f893f5c69ULL,
- 0x24f5efe35706cff6ULL, 0xd56329d076f2ab1aULL,
- 0x5e1eb9754e66a32dULL, 0x28d2771098bd8902ULL,
- 0x8f6013f47dfdc190ULL, 0x17a993fdb637553cULL,
- 0xe0a219397e1012aaULL, 0x786b9930b5da8606ULL,
- 0x6e82e39e55b0a6daULL, 0x875a0856f72f4ec3ULL,
- 0x3741ff4fa458536dULL, 0xac4859b3957558fcULL,
- 0x7ef6d5c75c09a57cULL, 0xc04a758b6c7f14fbULL,
- 0xf9acdd91ab26ebbfULL, 0x7391a467c5ef9668ULL,
- 0x335c7c1ee1319acaULL, 0xa91533b18641e4bbULL,
- 0xe4bf9a683b79db0dULL, 0x8e20faa72ba0b470ULL,
- 0x51f907737b3a7ae4ULL, 0x2268a314bed5ec8cULL,
- 0xd944b123b949edeeULL, 0x31dcb3b84d8b7017ULL,
- 0xd3fe65279f218860ULL, 0x097af2f1dc8ffab3ULL,
- 0x9b09a6fc312d0b91ULL, 0xcc6ded78a3c4520fULL,
- 0x3481d9ba5ebfcc50ULL, 0x4f2a667f1182d56bULL,
- 0xdfd9fdd4509ace94ULL, 0x26752045fbbc252bULL,
- 0xbffc491f662bc467ULL, 0xdd593272fc202449ULL,
- 0x3cbbc218d46d4303ULL, 0x91b372f817456e1fULL,
- 0x681faf69bc6385a0ULL, 0xb686bbeebaa43ed4ULL,
- 0x1469b5084cd0ca01ULL, 0x98c98009cbca94acULL,
- 0x6438379a73d8c354ULL, 0xc2caba2dc0c5fe26ULL,
- 0x3e3b0dbe78d7a9deULL, 0x50b9ee202d670f04ULL,
- 0x4590b27b37eab0e5ULL, 0x6025b4cb36b10af3ULL,
- 0xfb2c1237079c0162ULL, 0xa12f28130c936be8ULL,
- 0x4b37e52e54eb1cccULL, 0x083a1ba28ad28f53ULL,
- 0xc10a9cd83a22611bULL, 0x9f1425ad7444c236ULL,
- 0x069d4cf7e9d3237aULL, 0xedc56899e7f621beULL,
- 0x778c273680865fcfULL, 0x309c5aeb1bd605f7ULL,
- 0x8de0dc52d1472b4dULL, 0xf8ec34c2fd7b9e5fULL,
- 0xea18cd3d58787724ULL, 0xaad515447ca67b86ULL,
- 0x9989695a9d97e14cULL, 0x0000000000000000ULL,
- 0xf196c63321f464ecULL, 0x71116bc169557cb5ULL,
- 0xaf887f466f92c7c1ULL, 0x972e3e0ffe964d65ULL,
- 0x190ec4a8d536f915ULL, 0x95aef1a9522ca7b8ULL,
- 0xdc19db21aa7d51a9ULL, 0x94ee18fa0471d258ULL,
- 0x8087adf248a11859ULL, 0xc457f6da2916dd5cULL,
- 0xfa6cfb6451c17482ULL, 0xf256e0c6db13fbd1ULL,
- 0x6a9f60cf10d96f7dULL, 0x4daaa9d9bd383fb6ULL,
- 0x03c026f5fae79f3dULL, 0xde99148706c7bb74ULL,
- 0x2a52b8b6340763dfULL, 0x6fc20acd03edd33aULL,
- 0xd423c08320afdefaULL, 0xbbe1ca4e23420dc0ULL,
- 0x966ed75ca8cb3885ULL, 0xeb58246e0e2502c4ULL,
- 0x055d6a021334bc47ULL, 0xa47242111fa7d7afULL,
- 0xe3623fcc84f78d97ULL, 0x81c744a11efc6db9ULL,
- 0xaec8961539cfb221ULL, 0xf31609958d4e8e31ULL,
- 0x63e5923ecc5695ceULL, 0x47107ddd9b505a38ULL,
- 0xa3afe7b5a0298135ULL, 0x792b7063e387f3e6ULL,
- 0x0140e953565d75e0ULL, 0x12f4f9ffa503e97bULL,
- 0x750ce8902c3cb512ULL, 0xdbc47e8515f30733ULL,
- 0x1ed3610c6ab8af8fULL, 0x5239218681dde5d9ULL,
- 0xe222d69fd2aaf877ULL, 0xfe71783514a8bd25ULL,
- 0xcaf0a18f4a177175ULL, 0x61655d9860ec7f13ULL,
- 0xe77fbc9dc19e4430ULL, 0x2ccff441ddd440a5ULL,
- 0x16e97aaee06a20dcULL, 0xa855dae2d01c915bULL,
- 0x1d1347f9905f30b2ULL, 0xb7c652bdecf94b34ULL,
- 0xd03e43d265c6175dULL, 0xfdb15ec0ee4f2218ULL,
- 0x57644b8492e9599eULL, 0x07dda5a4bf8e569aULL,
- 0x54a46d71680ec6a3ULL, 0x5624a2d7c4b42c7eULL,
- 0xbebca04c3076b187ULL, 0x7d36f332a6ee3a41ULL,
- 0x3b6667bc6be31599ULL, 0x695f463aea3ef040ULL,
- 0xad08b0e0c3282d1cULL, 0xb15b1e4a052a684eULL,
- 0x44d05b2861b7c505ULL, 0x15295c5b1a8dbfe1ULL,
- 0x744c01c37a61c0f2ULL, 0x59c31cd1f1e8f5b7ULL,
- 0xef45a73f4b4ccb63ULL, 0x6bdf899c46841a9dULL,
- 0x3dfb2b4b823036e3ULL, 0xa2ef0ee6f674f4d5ULL,
- 0x184e2dfb836b8cf5ULL, 0x1134df0a5fe47646ULL,
- 0xbaa1231d751f7820ULL, 0xd17eaa81339b62bdULL,
- 0xb01bf71953771daeULL, 0x849a2ea30dc8d1feULL,
- 0x705182923f080955ULL, 0x0ea757556301ac29ULL,
- 0x041d83514569c9a7ULL, 0x0abad4042668658eULL,
- 0x49b72a88f851f611ULL, 0x8a3d79f66ec97dd7ULL,
- 0xcd2d042bf59927efULL, 0xc930877ab0f0ee48ULL,
- 0x9273540deda2f122ULL, 0xc797d02fd3f14261ULL,
- 0xe1e2f06a284d674aULL, 0xd2be8c74c97cfd80ULL,
- 0x9a494faf67707e71ULL, 0xb3dbd1eca9908293ULL,
- 0x72d14d3493b2e388ULL, 0xd6a30f258c153427ULL},
+ { 0xe63f55ce97c331d0ULL, 0x25b506b0015bba16ULL, 0xc8706e29e6ad9ba8ULL,
+ 0x5b43d3775d521f6aULL, 0x0bfa3d577035106eULL, 0xab95fc172afb0e66ULL,
+ 0xf64b63979e7a3276ULL, 0xf58b4562649dad4bULL, 0x48f7c3dbae0c83f1ULL,
+ 0xff31916642f5c8c5ULL, 0xcbb048dc1c4a0495ULL, 0x66b8f83cdf622989ULL,
+ 0x35c130e908e2b9b0ULL, 0x7c761a61f0b34fa1ULL, 0x3601161cf205268dULL,
+ 0x9e54ccfe2219b7d6ULL, 0x8b7d90a538940837ULL, 0x9cd403588ea35d0bULL,
+ 0xbc3c6fea9ccc5b5aULL, 0xe5ff733b6d24aeedULL, 0xceed22de0f7eb8d2ULL,
+ 0xec8581cab1ab545eULL, 0xb96105e88ff8e71dULL, 0x8ca03501871a5eadULL,
+ 0x76ccce65d6db2a2fULL, 0x5883f582a7b58057ULL, 0x3f7be4ed2e8adc3eULL,
+ 0x0fe7be06355cd9c9ULL, 0xee054e6c1d11be83ULL, 0x1074365909b903a6ULL,
+ 0x5dde9f80b4813c10ULL, 0x4a770c7d02b6692cULL, 0x5379c8d5d7809039ULL,
+ 0xb4067448161ed409ULL, 0x5f5e5026183bd6cdULL, 0xe898029bf4c29df9ULL,
+ 0x7fb63c940a54d09cULL, 0xc5171f897f4ba8bcULL, 0xa6f28db7b31d3d72ULL,
+ 0x2e4f3be7716eaa78ULL, 0x0d6771a099e63314ULL, 0x82076254e41bf284ULL,
+ 0x2f0fd2b42733df98ULL, 0x5c9e76d3e2dc49f0ULL, 0x7aeb569619606cdbULL,
+ 0x83478b07b2468764ULL, 0xcfadcb8d5923cd32ULL, 0x85dac7f05b95a41eULL,
+ 0xb5469d1b4043a1e9ULL, 0xb821ecbbd9a592fdULL, 0x1b8e0b0e798c13c8ULL,
+ 0x62a57b6d9a0be02eULL, 0xfcf1b793b81257f8ULL, 0x9d94ea0bd8fe28ebULL,
+ 0x4cea408aeb654a56ULL, 0x23284a47e888996cULL, 0x2d8f1d128b893545ULL,
+ 0xf4cbac3132c0d8abULL, 0xbd7c86b9ca912ebaULL, 0x3a268eef3dbe6079ULL,
+ 0xf0d62f6077a9110cULL, 0x2735c916ade150cbULL, 0x89fd5f03942ee2eaULL,
+ 0x1acee25d2fd16628ULL, 0x90f39bab41181bffULL, 0x430dfe8cde39939fULL,
+ 0xf70b8ac4c8274796ULL, 0x1c53aeaac6024552ULL, 0x13b410acf35e9c9bULL,
+ 0xa532ab4249faa24fULL, 0x2b1251e5625a163fULL, 0xd7e3e676da4841c7ULL,
+ 0xa7b264e4e5404892ULL, 0xda8497d643ae72d3ULL, 0x861ae105a1723b23ULL,
+ 0x38a6414991048aa4ULL, 0x6578dec92585b6b4ULL, 0x0280cfa6acbaeaddULL,
+ 0x88bdb650c273970aULL, 0x9333bd5ebbff84c2ULL, 0x4e6a8f2c47dfa08bULL,
+ 0x321c954db76cef2aULL, 0x418d312a72837942ULL, 0xb29b38bfffcdf773ULL,
+ 0x6c022c38f90a4c07ULL, 0x5a033a240b0f6a8aULL, 0x1f93885f3ce5da6fULL,
+ 0xc38a537e96988bc6ULL, 0x39e6a81ac759ff44ULL, 0x29929e43cee0fce2ULL,
+ 0x40cdd87924de0ca2ULL, 0xe9d8ebc8a29fe819ULL, 0x0c2798f3cfbb46f4ULL,
+ 0x55e484223e53b343ULL, 0x4650948ecd0d2fd8ULL, 0x20e86cb2126f0651ULL,
+ 0x6d42c56baf5739e7ULL, 0xa06fc1405ace1e08ULL, 0x7babbfc54f3d193bULL,
+ 0x424d17df8864e67fULL, 0xd8045870ef14980eULL, 0xc6d7397c85ac3781ULL,
+ 0x21a885e1443273b1ULL, 0x67f8116f893f5c69ULL, 0x24f5efe35706cff6ULL,
+ 0xd56329d076f2ab1aULL, 0x5e1eb9754e66a32dULL, 0x28d2771098bd8902ULL,
+ 0x8f6013f47dfdc190ULL, 0x17a993fdb637553cULL, 0xe0a219397e1012aaULL,
+ 0x786b9930b5da8606ULL, 0x6e82e39e55b0a6daULL, 0x875a0856f72f4ec3ULL,
+ 0x3741ff4fa458536dULL, 0xac4859b3957558fcULL, 0x7ef6d5c75c09a57cULL,
+ 0xc04a758b6c7f14fbULL, 0xf9acdd91ab26ebbfULL, 0x7391a467c5ef9668ULL,
+ 0x335c7c1ee1319acaULL, 0xa91533b18641e4bbULL, 0xe4bf9a683b79db0dULL,
+ 0x8e20faa72ba0b470ULL, 0x51f907737b3a7ae4ULL, 0x2268a314bed5ec8cULL,
+ 0xd944b123b949edeeULL, 0x31dcb3b84d8b7017ULL, 0xd3fe65279f218860ULL,
+ 0x097af2f1dc8ffab3ULL, 0x9b09a6fc312d0b91ULL, 0xcc6ded78a3c4520fULL,
+ 0x3481d9ba5ebfcc50ULL, 0x4f2a667f1182d56bULL, 0xdfd9fdd4509ace94ULL,
+ 0x26752045fbbc252bULL, 0xbffc491f662bc467ULL, 0xdd593272fc202449ULL,
+ 0x3cbbc218d46d4303ULL, 0x91b372f817456e1fULL, 0x681faf69bc6385a0ULL,
+ 0xb686bbeebaa43ed4ULL, 0x1469b5084cd0ca01ULL, 0x98c98009cbca94acULL,
+ 0x6438379a73d8c354ULL, 0xc2caba2dc0c5fe26ULL, 0x3e3b0dbe78d7a9deULL,
+ 0x50b9ee202d670f04ULL, 0x4590b27b37eab0e5ULL, 0x6025b4cb36b10af3ULL,
+ 0xfb2c1237079c0162ULL, 0xa12f28130c936be8ULL, 0x4b37e52e54eb1cccULL,
+ 0x083a1ba28ad28f53ULL, 0xc10a9cd83a22611bULL, 0x9f1425ad7444c236ULL,
+ 0x069d4cf7e9d3237aULL, 0xedc56899e7f621beULL, 0x778c273680865fcfULL,
+ 0x309c5aeb1bd605f7ULL, 0x8de0dc52d1472b4dULL, 0xf8ec34c2fd7b9e5fULL,
+ 0xea18cd3d58787724ULL, 0xaad515447ca67b86ULL, 0x9989695a9d97e14cULL,
+ 0x0000000000000000ULL, 0xf196c63321f464ecULL, 0x71116bc169557cb5ULL,
+ 0xaf887f466f92c7c1ULL, 0x972e3e0ffe964d65ULL, 0x190ec4a8d536f915ULL,
+ 0x95aef1a9522ca7b8ULL, 0xdc19db21aa7d51a9ULL, 0x94ee18fa0471d258ULL,
+ 0x8087adf248a11859ULL, 0xc457f6da2916dd5cULL, 0xfa6cfb6451c17482ULL,
+ 0xf256e0c6db13fbd1ULL, 0x6a9f60cf10d96f7dULL, 0x4daaa9d9bd383fb6ULL,
+ 0x03c026f5fae79f3dULL, 0xde99148706c7bb74ULL, 0x2a52b8b6340763dfULL,
+ 0x6fc20acd03edd33aULL, 0xd423c08320afdefaULL, 0xbbe1ca4e23420dc0ULL,
+ 0x966ed75ca8cb3885ULL, 0xeb58246e0e2502c4ULL, 0x055d6a021334bc47ULL,
+ 0xa47242111fa7d7afULL, 0xe3623fcc84f78d97ULL, 0x81c744a11efc6db9ULL,
+ 0xaec8961539cfb221ULL, 0xf31609958d4e8e31ULL, 0x63e5923ecc5695ceULL,
+ 0x47107ddd9b505a38ULL, 0xa3afe7b5a0298135ULL, 0x792b7063e387f3e6ULL,
+ 0x0140e953565d75e0ULL, 0x12f4f9ffa503e97bULL, 0x750ce8902c3cb512ULL,
+ 0xdbc47e8515f30733ULL, 0x1ed3610c6ab8af8fULL, 0x5239218681dde5d9ULL,
+ 0xe222d69fd2aaf877ULL, 0xfe71783514a8bd25ULL, 0xcaf0a18f4a177175ULL,
+ 0x61655d9860ec7f13ULL, 0xe77fbc9dc19e4430ULL, 0x2ccff441ddd440a5ULL,
+ 0x16e97aaee06a20dcULL, 0xa855dae2d01c915bULL, 0x1d1347f9905f30b2ULL,
+ 0xb7c652bdecf94b34ULL, 0xd03e43d265c6175dULL, 0xfdb15ec0ee4f2218ULL,
+ 0x57644b8492e9599eULL, 0x07dda5a4bf8e569aULL, 0x54a46d71680ec6a3ULL,
+ 0x5624a2d7c4b42c7eULL, 0xbebca04c3076b187ULL, 0x7d36f332a6ee3a41ULL,
+ 0x3b6667bc6be31599ULL, 0x695f463aea3ef040ULL, 0xad08b0e0c3282d1cULL,
+ 0xb15b1e4a052a684eULL, 0x44d05b2861b7c505ULL, 0x15295c5b1a8dbfe1ULL,
+ 0x744c01c37a61c0f2ULL, 0x59c31cd1f1e8f5b7ULL, 0xef45a73f4b4ccb63ULL,
+ 0x6bdf899c46841a9dULL, 0x3dfb2b4b823036e3ULL, 0xa2ef0ee6f674f4d5ULL,
+ 0x184e2dfb836b8cf5ULL, 0x1134df0a5fe47646ULL, 0xbaa1231d751f7820ULL,
+ 0xd17eaa81339b62bdULL, 0xb01bf71953771daeULL, 0x849a2ea30dc8d1feULL,
+ 0x705182923f080955ULL, 0x0ea757556301ac29ULL, 0x041d83514569c9a7ULL,
+ 0x0abad4042668658eULL, 0x49b72a88f851f611ULL, 0x8a3d79f66ec97dd7ULL,
+ 0xcd2d042bf59927efULL, 0xc930877ab0f0ee48ULL, 0x9273540deda2f122ULL,
+ 0xc797d02fd3f14261ULL, 0xe1e2f06a284d674aULL, 0xd2be8c74c97cfd80ULL,
+ 0x9a494faf67707e71ULL, 0xb3dbd1eca9908293ULL, 0x72d14d3493b2e388ULL,
+ 0xd6a30f258c153427ULL },
};
static const uint64_t C16[12][8] = {
- {0xdd806559f2a64507ULL, 0x05767436cc744d23ULL,
- 0xa2422a08a460d315ULL, 0x4b7ce09192676901ULL,
- 0x714eb88d7585c4fcULL, 0x2f6a76432e45d016ULL,
- 0xebcb2f81c0657c1fULL, 0xb1085bda1ecadae9ULL},
- {0xe679047021b19bb7ULL, 0x55dda21bd7cbcd56ULL,
- 0x5cb561c2db0aa7caULL, 0x9ab5176b12d69958ULL,
- 0x61d55e0f16b50131ULL, 0xf3feea720a232b98ULL,
- 0x4fe39d460f70b5d7ULL, 0x6fa3b58aa99d2f1aULL},
- {0x991e96f50aba0ab2ULL, 0xc2b6f443867adb31ULL,
- 0xc1c93a376062db09ULL, 0xd3e20fe490359eb1ULL,
- 0xf2ea7514b1297b7bULL, 0x06f15e5f529c1f8bULL,
- 0x0a39fc286a3d8435ULL, 0xf574dcac2bce2fc7ULL},
- {0x220cbebc84e3d12eULL, 0x3453eaa193e837f1ULL,
- 0xd8b71333935203beULL, 0xa9d72c82ed03d675ULL,
- 0x9d721cad685e353fULL, 0x488e857e335c3c7dULL,
- 0xf948e1a05d71e4ddULL, 0xef1fdfb3e81566d2ULL},
- {0x601758fd7c6cfe57ULL, 0x7a56a27ea9ea63f5ULL,
- 0xdfff00b723271a16ULL, 0xbfcd1747253af5a3ULL,
- 0x359e35d7800fffbdULL, 0x7f151c1f1686104aULL,
- 0x9a3f410c6ca92363ULL, 0x4bea6bacad474799ULL},
- {0xfa68407a46647d6eULL, 0xbf71c57236904f35ULL,
- 0x0af21f66c2bec6b6ULL, 0xcffaa6b71c9ab7b4ULL,
- 0x187f9ab49af08ec6ULL, 0x2d66c4f95142a46cULL,
- 0x6fa4c33b7a3039c0ULL, 0xae4faeae1d3ad3d9ULL},
- {0x8886564d3a14d493ULL, 0x3517454ca23c4af3ULL,
- 0x06476983284a0504ULL, 0x0992abc52d822c37ULL,
- 0xd3473e33197a93c9ULL, 0x399ec6c7e6bf87c9ULL,
- 0x51ac86febf240954ULL, 0xf4c70e16eeaac5ecULL},
- {0xa47f0dd4bf02e71eULL, 0x36acc2355951a8d9ULL,
- 0x69d18d2bd1a5c42fULL, 0xf4892bcb929b0690ULL,
- 0x89b4443b4ddbc49aULL, 0x4eb7f8719c36de1eULL,
- 0x03e7aa020c6e4141ULL, 0x9b1f5b424d93c9a7ULL},
- {0x7261445183235adbULL, 0x0e38dc92cb1f2a60ULL,
- 0x7b2b8a9aa6079c54ULL, 0x800a440bdbb2ceb1ULL,
- 0x3cd955b7e00d0984ULL, 0x3a7d3a1b25894224ULL,
- 0x944c9ad8ec165fdeULL, 0x378f5a541631229bULL},
- {0x74b4c7fb98459cedULL, 0x3698fad1153bb6c3ULL,
- 0x7a1e6c303b7652f4ULL, 0x9fe76702af69334bULL,
- 0x1fffe18a1b336103ULL, 0x8941e71cff8a78dbULL,
- 0x382ae548b2e4f3f3ULL, 0xabbedea680056f52ULL},
- {0x6bcaa4cd81f32d1bULL, 0xdea2594ac06fd85dULL,
- 0xefbacd1d7d476e98ULL, 0x8a1d71efea48b9caULL,
- 0x2001802114846679ULL, 0xd8fa6bbbebab0761ULL,
- 0x3002c6cd635afe94ULL, 0x7bcd9ed0efc889fbULL},
- {0x48bc924af11bd720ULL, 0xfaf417d5d9b21b99ULL,
- 0xe71da4aa88e12852ULL, 0x5d80ef9d1891cc86ULL,
- 0xf82012d430219f9bULL, 0xcda43c32bcdf1d77ULL,
- 0xd21380b00449b17aULL, 0x378ee767f11631baULL},
+ { 0xdd806559f2a64507ULL, 0x05767436cc744d23ULL, 0xa2422a08a460d315ULL,
+ 0x4b7ce09192676901ULL, 0x714eb88d7585c4fcULL, 0x2f6a76432e45d016ULL,
+ 0xebcb2f81c0657c1fULL, 0xb1085bda1ecadae9ULL },
+ { 0xe679047021b19bb7ULL, 0x55dda21bd7cbcd56ULL, 0x5cb561c2db0aa7caULL,
+ 0x9ab5176b12d69958ULL, 0x61d55e0f16b50131ULL, 0xf3feea720a232b98ULL,
+ 0x4fe39d460f70b5d7ULL, 0x6fa3b58aa99d2f1aULL },
+ { 0x991e96f50aba0ab2ULL, 0xc2b6f443867adb31ULL, 0xc1c93a376062db09ULL,
+ 0xd3e20fe490359eb1ULL, 0xf2ea7514b1297b7bULL, 0x06f15e5f529c1f8bULL,
+ 0x0a39fc286a3d8435ULL, 0xf574dcac2bce2fc7ULL },
+ { 0x220cbebc84e3d12eULL, 0x3453eaa193e837f1ULL, 0xd8b71333935203beULL,
+ 0xa9d72c82ed03d675ULL, 0x9d721cad685e353fULL, 0x488e857e335c3c7dULL,
+ 0xf948e1a05d71e4ddULL, 0xef1fdfb3e81566d2ULL },
+ { 0x601758fd7c6cfe57ULL, 0x7a56a27ea9ea63f5ULL, 0xdfff00b723271a16ULL,
+ 0xbfcd1747253af5a3ULL, 0x359e35d7800fffbdULL, 0x7f151c1f1686104aULL,
+ 0x9a3f410c6ca92363ULL, 0x4bea6bacad474799ULL },
+ { 0xfa68407a46647d6eULL, 0xbf71c57236904f35ULL, 0x0af21f66c2bec6b6ULL,
+ 0xcffaa6b71c9ab7b4ULL, 0x187f9ab49af08ec6ULL, 0x2d66c4f95142a46cULL,
+ 0x6fa4c33b7a3039c0ULL, 0xae4faeae1d3ad3d9ULL },
+ { 0x8886564d3a14d493ULL, 0x3517454ca23c4af3ULL, 0x06476983284a0504ULL,
+ 0x0992abc52d822c37ULL, 0xd3473e33197a93c9ULL, 0x399ec6c7e6bf87c9ULL,
+ 0x51ac86febf240954ULL, 0xf4c70e16eeaac5ecULL },
+ { 0xa47f0dd4bf02e71eULL, 0x36acc2355951a8d9ULL, 0x69d18d2bd1a5c42fULL,
+ 0xf4892bcb929b0690ULL, 0x89b4443b4ddbc49aULL, 0x4eb7f8719c36de1eULL,
+ 0x03e7aa020c6e4141ULL, 0x9b1f5b424d93c9a7ULL },
+ { 0x7261445183235adbULL, 0x0e38dc92cb1f2a60ULL, 0x7b2b8a9aa6079c54ULL,
+ 0x800a440bdbb2ceb1ULL, 0x3cd955b7e00d0984ULL, 0x3a7d3a1b25894224ULL,
+ 0x944c9ad8ec165fdeULL, 0x378f5a541631229bULL },
+ { 0x74b4c7fb98459cedULL, 0x3698fad1153bb6c3ULL, 0x7a1e6c303b7652f4ULL,
+ 0x9fe76702af69334bULL, 0x1fffe18a1b336103ULL, 0x8941e71cff8a78dbULL,
+ 0x382ae548b2e4f3f3ULL, 0xabbedea680056f52ULL },
+ { 0x6bcaa4cd81f32d1bULL, 0xdea2594ac06fd85dULL, 0xefbacd1d7d476e98ULL,
+ 0x8a1d71efea48b9caULL, 0x2001802114846679ULL, 0xd8fa6bbbebab0761ULL,
+ 0x3002c6cd635afe94ULL, 0x7bcd9ed0efc889fbULL },
+ { 0x48bc924af11bd720ULL, 0xfaf417d5d9b21b99ULL, 0xe71da4aa88e12852ULL,
+ 0x5d80ef9d1891cc86ULL, 0xf82012d430219f9bULL, 0xcda43c32bcdf1d77ULL,
+ 0xd21380b00449b17aULL, 0x378ee767f11631baULL },
};
-# define strido(out, temp, i) do { \
- uint64_t t; \
- t = streebog_table[0][(temp[0] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[1][(temp[1] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[2][(temp[2] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[3][(temp[3] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[4][(temp[4] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[5][(temp[5] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[6][(temp[6] >> (i * 8)) & 0xff]; \
- t ^= streebog_table[7][(temp[7] >> (i * 8)) & 0xff]; \
- out[i] = t; } while(0)
-
-static void LPSX(uint64_t * out, const uint64_t * a, const uint64_t * b)
+#define strido(out, temp, i) \
+ do { \
+ uint64_t t; \
+ t = streebog_table[0][(temp[0] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[1][(temp[1] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[2][(temp[2] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[3][(temp[3] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[4][(temp[4] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[5][(temp[5] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[6][(temp[6] >> (i * 8)) & 0xff]; \
+ t ^= streebog_table[7][(temp[7] >> (i * 8)) & 0xff]; \
+ out[i] = t; \
+ } while (0)
+
+static void LPSX(uint64_t *out, const uint64_t *a, const uint64_t *b)
{
uint64_t temp[8];
temp[0] = a[0] ^ b[0];
@@ -1167,7 +821,7 @@ static void LPSX(uint64_t * out, const uint64_t * a, const uint64_t * b)
strido(out, temp, 7);
}
-static inline void g(uint64_t * h, uint64_t * m, uint64_t * N)
+static inline void g(uint64_t *h, uint64_t *m, uint64_t *N)
{
uint64_t K[8];
uint64_t T[8];
@@ -1192,9 +846,8 @@ static inline void g(uint64_t * h, uint64_t * m, uint64_t * N)
h[7] ^= T[7] ^ K[7] ^ m[7];
}
-static void
-streebog512_compress(struct streebog512_ctx *ctx, const uint8_t * input,
- size_t count)
+static void streebog512_compress(struct streebog512_ctx *ctx,
+ const uint8_t *input, size_t count)
{
uint64_t M[8];
uint64_t l, cf;
@@ -1206,7 +859,7 @@ streebog512_compress(struct streebog512_ctx *ctx, const uint8_t * input,
g(ctx->state, M, ctx->count);
l = ctx->count[0];
ctx->count[0] += count;
- if (ctx->count[0] < l) { /* overflow */
+ if (ctx->count[0] < l) { /* overflow */
for (i = 1; i < 8; i++) {
ctx->count[i]++;
if (ctx->count[i] != 0)
@@ -1225,7 +878,7 @@ streebog512_compress(struct streebog512_ctx *ctx, const uint8_t * input,
static void streebog_final(struct streebog512_ctx *ctx)
{
- uint64_t Z[8] = { };
+ uint64_t Z[8] = {};
unsigned int i;
/* PAD. It does not count towards message length */
@@ -1240,7 +893,7 @@ static void streebog_final(struct streebog512_ctx *ctx)
g(ctx->state, ctx->sigma, Z);
}
-# define COMPRESS(ctx, data) (streebog512_compress((ctx), (data), 64 * 8))
+#define COMPRESS(ctx, data) (streebog512_compress((ctx), (data), 64 * 8))
void streebog512_init(struct streebog512_ctx *ctx)
{
@@ -1252,16 +905,14 @@ void streebog512_init(struct streebog512_ctx *ctx)
ctx->index = 0;
}
-void
-streebog512_update(struct streebog512_ctx *ctx,
- size_t length, const uint8_t * data)
+void streebog512_update(struct streebog512_ctx *ctx, size_t length,
+ const uint8_t *data)
{
MD_UPDATE(ctx, length, data, COMPRESS, (void)0);
}
-static void
-streebog512_write_digest(struct streebog512_ctx *ctx,
- size_t offset, size_t length, uint8_t * digest)
+static void streebog512_write_digest(struct streebog512_ctx *ctx, size_t offset,
+ size_t length, uint8_t *digest)
{
unsigned i;
unsigned words;
@@ -1288,8 +939,8 @@ streebog512_write_digest(struct streebog512_ctx *ctx,
}
}
-void
-streebog512_digest(struct streebog512_ctx *ctx, size_t length, uint8_t * digest)
+void streebog512_digest(struct streebog512_ctx *ctx, size_t length,
+ uint8_t *digest)
{
assert(length <= STREEBOG512_DIGEST_SIZE);
@@ -1307,8 +958,8 @@ void streebog256_init(struct streebog256_ctx *ctx)
ctx->index = 0;
}
-void
-streebog256_digest(struct streebog256_ctx *ctx, size_t length, uint8_t * digest)
+void streebog256_digest(struct streebog256_ctx *ctx, size_t length,
+ uint8_t *digest)
{
assert(length <= STREEBOG256_DIGEST_SIZE);
diff --git a/lib/nettle/gost/streebog.h b/lib/nettle/gost/streebog.h
index 046cb022e5..0949d0c7b7 100644
--- a/lib/nettle/gost/streebog.h
+++ b/lib/nettle/gost/streebog.h
@@ -32,72 +32,67 @@
*/
#ifndef GNUTLS_LIB_NETTLE_GOST_STREEBOG_H
-# define GNUTLS_LIB_NETTLE_GOST_STREEBOG_H
+#define GNUTLS_LIB_NETTLE_GOST_STREEBOG_H
-# include "config.h"
+#include "config.h"
-# include <nettle/nettle-types.h>
-# include <nettle/nettle-meta.h>
+#include <nettle/nettle-types.h>
+#include <nettle/nettle-meta.h>
-# ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
-# endif
+#endif
-# ifndef HAVE_NETTLE_STREEBOG512_UPDATE
+#ifndef HAVE_NETTLE_STREEBOG512_UPDATE
/* Name mangling */
-# define streebog256_init _gnutls_streebog256_init
-# define streebog256_digest _gnutls_streebog256_digest
-# define streebog512_init _gnutls_streebog512_init
-# define streebog512_update _gnutls_streebog512_update
-# define streebog512_digest _gnutls_streebog512_digest
+#define streebog256_init _gnutls_streebog256_init
+#define streebog256_digest _gnutls_streebog256_digest
+#define streebog512_init _gnutls_streebog512_init
+#define streebog512_update _gnutls_streebog512_update
+#define streebog512_digest _gnutls_streebog512_digest
/* STREEBOG512 */
-# define STREEBOG512_DIGEST_SIZE 64
-# define STREEBOG512_BLOCK_SIZE 64
+#define STREEBOG512_DIGEST_SIZE 64
+#define STREEBOG512_BLOCK_SIZE 64
/* Digest is kept internally as 8 64-bit words. */
-# define _STREEBOG512_DIGEST_LENGTH 8
+#define _STREEBOG512_DIGEST_LENGTH 8
- struct streebog512_ctx {
- uint64_t state[_STREEBOG512_DIGEST_LENGTH]; /* State variables */
- uint64_t count[_STREEBOG512_DIGEST_LENGTH];
- uint64_t sigma[_STREEBOG512_DIGEST_LENGTH];
- uint8_t block[STREEBOG512_BLOCK_SIZE]; /* STREEBOG512 data buffer */
- unsigned int index; /* index into buffer */
- };
+struct streebog512_ctx {
+ uint64_t state[_STREEBOG512_DIGEST_LENGTH]; /* State variables */
+ uint64_t count[_STREEBOG512_DIGEST_LENGTH];
+ uint64_t sigma[_STREEBOG512_DIGEST_LENGTH];
+ uint8_t block[STREEBOG512_BLOCK_SIZE]; /* STREEBOG512 data buffer */
+ unsigned int index; /* index into buffer */
+};
- void
- streebog512_init(struct streebog512_ctx *ctx);
+void streebog512_init(struct streebog512_ctx *ctx);
- void
- streebog512_update(struct streebog512_ctx *ctx,
- size_t length, const uint8_t * data);
+void streebog512_update(struct streebog512_ctx *ctx, size_t length,
+ const uint8_t *data);
- void
- streebog512_digest(struct streebog512_ctx *ctx,
- size_t length, uint8_t * digest);
+void streebog512_digest(struct streebog512_ctx *ctx, size_t length,
+ uint8_t *digest);
-# define STREEBOG256_DIGEST_SIZE 32
-# define STREEBOG256_BLOCK_SIZE STREEBOG512_BLOCK_SIZE
-# define streebog256_ctx streebog512_ctx
+#define STREEBOG256_DIGEST_SIZE 32
+#define STREEBOG256_BLOCK_SIZE STREEBOG512_BLOCK_SIZE
+#define streebog256_ctx streebog512_ctx
- void
- streebog256_init(struct streebog256_ctx *ctx);
+void streebog256_init(struct streebog256_ctx *ctx);
-# define streebog256_update _gnutls_streebog512_update
+#define streebog256_update _gnutls_streebog512_update
- void
- streebog256_digest(struct streebog256_ctx *ctx,
- size_t length, uint8_t * digest);
+void streebog256_digest(struct streebog256_ctx *ctx, size_t length,
+ uint8_t *digest);
-# define nettle_streebog256 _gnutls_streebog256
-# define nettle_streebog512 _gnutls_streebog512
- extern const struct nettle_hash _gnutls_streebog256;
- extern const struct nettle_hash _gnutls_streebog512;
-# endif
+#define nettle_streebog256 _gnutls_streebog256
+#define nettle_streebog512 _gnutls_streebog512
+extern const struct nettle_hash _gnutls_streebog256;
+extern const struct nettle_hash _gnutls_streebog512;
+#endif
-# ifdef __cplusplus
+#ifdef __cplusplus
}
-# endif
-#endif /* GNUTLS_LIB_NETTLE_GOST_STREEBOG_H */
+#endif
+#endif /* GNUTLS_LIB_NETTLE_GOST_STREEBOG_H */
diff --git a/lib/nettle/gost/write-le32.c b/lib/nettle/gost/write-le32.c
index 53af496564..74c542cb03 100644
--- a/lib/nettle/gost/write-le32.c
+++ b/lib/nettle/gost/write-le32.c
@@ -30,7 +30,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdlib.h>
@@ -39,7 +39,7 @@
#include <nettle/macros.h>
-void _nettle_write_le32(size_t length, uint8_t * dst, const uint32_t * src)
+void _nettle_write_le32(size_t length, uint8_t *dst, const uint32_t *src)
{
size_t i;
size_t words;
@@ -59,7 +59,6 @@ void _nettle_write_le32(size_t length, uint8_t * dst, const uint32_t * src)
do {
*dst++ = word & 0xff;
word >>= 8;
- }
- while (--leftover);
+ } while (--leftover);
}
}
diff --git a/lib/nettle/gost_keywrap.c b/lib/nettle/gost_keywrap.c
index 600e76b072..5b4875d6d3 100644
--- a/lib/nettle/gost_keywrap.c
+++ b/lib/nettle/gost_keywrap.c
@@ -21,8 +21,8 @@
#include "gnutls_int.h"
#include "gost/gost28147.h"
-static const struct gost28147_param
-*_gnutls_gost_get_param(gnutls_gost_paramset_t param)
+static const struct gost28147_param *
+_gnutls_gost_get_param(gnutls_gost_paramset_t param)
{
if (param == GNUTLS_GOST_PARAMSET_TC26_Z)
return &gost28147_param_TC26_Z;
@@ -41,10 +41,9 @@ static const struct gost28147_param
}
int _gnutls_gost_key_wrap(gnutls_gost_paramset_t gost_params,
- const gnutls_datum_t * kek,
- const gnutls_datum_t * ukm,
- const gnutls_datum_t * cek,
- gnutls_datum_t * enc, gnutls_datum_t * imit)
+ const gnutls_datum_t *kek, const gnutls_datum_t *ukm,
+ const gnutls_datum_t *cek, gnutls_datum_t *enc,
+ gnutls_datum_t *imit)
{
const struct gost28147_param *gp;
@@ -79,10 +78,10 @@ int _gnutls_gost_key_wrap(gnutls_gost_paramset_t gost_params,
}
int _gnutls_gost_key_unwrap(gnutls_gost_paramset_t gost_params,
- const gnutls_datum_t * kek,
- const gnutls_datum_t * ukm,
- const gnutls_datum_t * enc,
- const gnutls_datum_t * imit, gnutls_datum_t * cek)
+ const gnutls_datum_t *kek,
+ const gnutls_datum_t *ukm,
+ const gnutls_datum_t *enc,
+ const gnutls_datum_t *imit, gnutls_datum_t *cek)
{
const struct gost28147_param *gp;
int ret;
@@ -105,9 +104,9 @@ int _gnutls_gost_key_unwrap(gnutls_gost_paramset_t gost_params,
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
- ret = gost28147_key_unwrap_cryptopro(gp, kek->data,
- ukm->data, ukm->size,
- enc->data, imit->data, cek->data);
+ ret = gost28147_key_unwrap_cryptopro(gp, kek->data, ukm->data,
+ ukm->size, enc->data, imit->data,
+ cek->data);
if (ret == 0) {
gnutls_assert();
_gnutls_free_temp_key_datum(cek);
diff --git a/lib/nettle/init.c b/lib/nettle/init.c
index b85b1c1794..ae639aac97 100644
--- a/lib/nettle/init.c
+++ b/lib/nettle/init.c
@@ -25,7 +25,7 @@
#include "errors.h"
#include <num.h>
#include <mpi.h>
-#include <nettle/bignum.h> /* includes gmp.h */
+#include <nettle/bignum.h> /* includes gmp.h */
static void gnutls_free_zero(void *data, size_t size);
static void *gnutls_realloc_zero(void *data, size_t old_size, size_t new_size);
diff --git a/lib/nettle/int/block8.h b/lib/nettle/int/block8.h
index 381adf32b9..609a160ac7 100644
--- a/lib/nettle/int/block8.h
+++ b/lib/nettle/int/block8.h
@@ -30,11 +30,11 @@
*/
#ifndef GNUTLS_LIB_NETTLE_BLOCK8_H
-# define GNUTLS_LIB_NETTLE_BLOCK8_H
+#define GNUTLS_LIB_NETTLE_BLOCK8_H
-# include "config.h"
+#include "config.h"
-# ifndef HAVE_UNION_NETTLE_BLOCK8
+#ifndef HAVE_UNION_NETTLE_BLOCK8
/* An aligned 16-byte block. */
union gnutls_nettle_backport_nettle_block16 {
@@ -48,12 +48,12 @@ union gnutls_nettle_backport_nettle_block8 {
uint64_t u64;
};
-# undef nettle_block16
-# undef nettle_block8
+#undef nettle_block16
+#undef nettle_block8
-# define nettle_block16 gnutls_nettle_backport_nettle_block16
-# define nettle_block8 gnutls_nettle_backport_nettle_block8
+#define nettle_block16 gnutls_nettle_backport_nettle_block16
+#define nettle_block8 gnutls_nettle_backport_nettle_block8
-# endif
+#endif
-#endif /* GNUTLS_LIB_NETTLE_BLOCK8_H */
+#endif /* GNUTLS_LIB_NETTLE_BLOCK8_H */
diff --git a/lib/nettle/int/drbg-aes-self-test.c b/lib/nettle/int/drbg-aes-self-test.c
index d0842a2e3b..55941b1081 100644
--- a/lib/nettle/int/drbg-aes-self-test.c
+++ b/lib/nettle/int/drbg-aes-self-test.c
@@ -99,9 +99,8 @@ int drbg_aes_self_test(void)
priv.ctx = &test_ctx;
/* Test the error handling of drbg_aes_init */
- ret =
- drbg_aes_init(&test_ctx, DRBG_AES_SEED_SIZE, tv[0].entropy,
- DRBG_AES_SEED_SIZE * 2, (void *)tv);
+ ret = drbg_aes_init(&test_ctx, DRBG_AES_SEED_SIZE, tv[0].entropy,
+ DRBG_AES_SEED_SIZE * 2, (void *)tv);
if (ret != 0) {
gnutls_assert();
return 0;
@@ -115,9 +114,9 @@ int drbg_aes_self_test(void)
for (i = 0; i < sizeof(tv) / sizeof(tv[0]); i++) {
/* CAVP test step 1: initialization with perso string */
- ret = drbg_aes_init(&test_ctx,
- sizeof(tv[i].entropy), tv[i].entropy,
- sizeof(tv[i].pstring), tv[i].pstring);
+ ret = drbg_aes_init(&test_ctx, sizeof(tv[i].entropy),
+ tv[i].entropy, sizeof(tv[i].pstring),
+ tv[i].pstring);
if (ret == 0)
goto fail;
@@ -125,9 +124,9 @@ int drbg_aes_self_test(void)
goto fail;
/* CAVP test step 2: reseed with addtl information */
- ret = drbg_aes_reseed(&test_ctx,
- sizeof(tv[i].reseed), tv[i].reseed,
- sizeof(tv[i].addtl[0]), tv[i].addtl[0]);
+ ret = drbg_aes_reseed(&test_ctx, sizeof(tv[i].reseed),
+ tv[i].reseed, sizeof(tv[i].addtl[0]),
+ tv[i].addtl[0]);
if (ret == 0)
goto fail;
@@ -156,49 +155,46 @@ int drbg_aes_self_test(void)
}
test_ctx.reseed_counter = saved;
- ret =
- drbg_aes_random(&test_ctx, MAX_DRBG_AES_GENERATE_SIZE + 1,
- tmp);
+ ret = drbg_aes_random(&test_ctx, MAX_DRBG_AES_GENERATE_SIZE + 1,
+ tmp);
if (ret == 0) {
gnutls_assert();
goto fail;
}
/* test the low-level function */
- ret =
- drbg_aes_generate(&test_ctx, MAX_DRBG_AES_GENERATE_SIZE + 1,
- tmp, 0, NULL);
+ ret = drbg_aes_generate(&test_ctx,
+ MAX_DRBG_AES_GENERATE_SIZE + 1, tmp, 0,
+ NULL);
if (ret != 0) {
gnutls_assert();
goto fail;
}
/* Test of the reseed function for error handling */
- ret =
- drbg_aes_reseed(&test_ctx, DRBG_AES_SEED_SIZE * 2,
- (uint8_t *) tv, 0, NULL);
+ ret = drbg_aes_reseed(&test_ctx, DRBG_AES_SEED_SIZE * 2,
+ (uint8_t *)tv, 0, NULL);
if (ret != 0)
goto fail;
- ret =
- drbg_aes_reseed(&test_ctx, DRBG_AES_SEED_SIZE,
- tv[i].entropy, DRBG_AES_SEED_SIZE * 2,
- (uint8_t *) tv);
+ ret = drbg_aes_reseed(&test_ctx, DRBG_AES_SEED_SIZE,
+ tv[i].entropy, DRBG_AES_SEED_SIZE * 2,
+ (uint8_t *)tv);
if (ret != 0)
goto fail;
/* check whether reseed detection works */
if (i == 0) {
- ret =
- drbg_aes_reseed(&test_ctx, DRBG_AES_SEED_SIZE,
- tv[i].entropy, 0, NULL);
+ ret = drbg_aes_reseed(&test_ctx, DRBG_AES_SEED_SIZE,
+ tv[i].entropy, 0, NULL);
if (ret == 0)
goto fail;
saved = test_ctx.reseed_counter;
test_ctx.reseed_counter = DRBG_AES_RESEED_TIME - 4;
for (j = 0; j < 5; j++) {
- if (drbg_aes_random(&test_ctx, 1, result) == 0) {
+ if (drbg_aes_random(&test_ctx, 1, result) ==
+ 0) {
gnutls_assert();
goto fail;
}
@@ -218,12 +214,11 @@ int drbg_aes_self_test(void)
gnutls_assert();
goto fail;
}
-
}
gnutls_free(tmp);
return 1;
- fail:
+fail:
free(tmp);
return 0;
}
diff --git a/lib/nettle/int/drbg-aes.c b/lib/nettle/int/drbg-aes.c
index 587c5b03f7..4969d1d3bc 100644
--- a/lib/nettle/int/drbg-aes.c
+++ b/lib/nettle/int/drbg-aes.c
@@ -28,10 +28,9 @@
#include <fips.h>
#include <assert.h>
-int
-drbg_aes_init(struct drbg_aes_ctx *ctx,
- unsigned entropy_size, const uint8_t * entropy,
- unsigned pstring_size, const uint8_t * pstring)
+int drbg_aes_init(struct drbg_aes_ctx *ctx, unsigned entropy_size,
+ const uint8_t *entropy, unsigned pstring_size,
+ const uint8_t *pstring)
{
uint8_t tmp[AES256_KEY_SIZE];
@@ -41,14 +40,13 @@ drbg_aes_init(struct drbg_aes_ctx *ctx,
aes256_set_encrypt_key(&ctx->key, tmp);
- return drbg_aes_reseed(ctx, entropy_size, entropy,
- pstring_size, pstring);
+ return drbg_aes_reseed(ctx, entropy_size, entropy, pstring_size,
+ pstring);
}
/* Sets V and key based on pdata */
-static void
-drbg_aes_update(struct drbg_aes_ctx *ctx,
- const uint8_t pdata[DRBG_AES_SEED_SIZE])
+static void drbg_aes_update(struct drbg_aes_ctx *ctx,
+ const uint8_t pdata[DRBG_AES_SEED_SIZE])
{
unsigned len = 0;
uint8_t tmp[DRBG_AES_SEED_SIZE];
@@ -70,10 +68,9 @@ drbg_aes_update(struct drbg_aes_ctx *ctx,
ctx->seeded = 1;
}
-int
-drbg_aes_reseed(struct drbg_aes_ctx *ctx,
- unsigned entropy_size, const uint8_t * entropy,
- unsigned add_size, const uint8_t * add)
+int drbg_aes_reseed(struct drbg_aes_ctx *ctx, unsigned entropy_size,
+ const uint8_t *entropy, unsigned add_size,
+ const uint8_t *add)
{
uint8_t tmp[DRBG_AES_SEED_SIZE];
unsigned len = 0;
@@ -97,7 +94,7 @@ drbg_aes_reseed(struct drbg_aes_ctx *ctx,
return 1;
}
-int drbg_aes_random(struct drbg_aes_ctx *ctx, unsigned length, uint8_t * dst)
+int drbg_aes_random(struct drbg_aes_ctx *ctx, unsigned length, uint8_t *dst)
{
unsigned p_len;
int left = length;
@@ -118,8 +115,8 @@ int drbg_aes_random(struct drbg_aes_ctx *ctx, unsigned length, uint8_t * dst)
}
/* we don't use additional input */
-int drbg_aes_generate(struct drbg_aes_ctx *ctx, unsigned length, uint8_t * dst,
- unsigned add_size, const uint8_t * add)
+int drbg_aes_generate(struct drbg_aes_ctx *ctx, unsigned length, uint8_t *dst,
+ unsigned add_size, const uint8_t *add)
{
uint8_t tmp[AES_BLOCK_SIZE];
uint8_t seed[DRBG_AES_SEED_SIZE];
@@ -151,7 +148,7 @@ int drbg_aes_generate(struct drbg_aes_ctx *ctx, unsigned length, uint8_t * dst,
aes256_encrypt(&ctx->key, AES_BLOCK_SIZE, dst, ctx->v);
}
- if (left > 0) { /* partial fill */
+ if (left > 0) { /* partial fill */
INCREMENT(sizeof(ctx->v), ctx->v);
aes256_encrypt(&ctx->key, AES_BLOCK_SIZE, tmp, ctx->v);
memcpy(dst, tmp, left);
diff --git a/lib/nettle/int/drbg-aes.h b/lib/nettle/int/drbg-aes.h
index f147706523..845a89db6c 100644
--- a/lib/nettle/int/drbg-aes.h
+++ b/lib/nettle/int/drbg-aes.h
@@ -20,24 +20,23 @@
*/
#ifndef GNUTLS_LIB_NETTLE_INT_DRBG_AES_H
-# define GNUTLS_LIB_NETTLE_INT_DRBG_AES_H
+#define GNUTLS_LIB_NETTLE_INT_DRBG_AES_H
-# include <config.h>
-# include <nettle/aes.h>
+#include <config.h>
+#include <nettle/aes.h>
/* This is nettle's increment macro */
/* Requires that size > 0 */
-# define INCREMENT(size, ctr) \
- do { \
- unsigned increment_i = (size) - 1; \
- if (++(ctr)[increment_i] == 0) \
- while (increment_i > 0 \
- && ++(ctr)[--increment_i] == 0 ) \
- ; \
- } while (0)
-
-# define DRBG_AES_KEY_SIZE AES256_KEY_SIZE
-# define DRBG_AES_SEED_SIZE (AES_BLOCK_SIZE+DRBG_AES_KEY_SIZE)
+#define INCREMENT(size, ctr) \
+ do { \
+ unsigned increment_i = (size)-1; \
+ if (++(ctr)[increment_i] == 0) \
+ while (increment_i > 0 && ++(ctr)[--increment_i] == 0) \
+ ; \
+ } while (0)
+
+#define DRBG_AES_KEY_SIZE AES256_KEY_SIZE
+#define DRBG_AES_SEED_SIZE (AES_BLOCK_SIZE + DRBG_AES_KEY_SIZE)
/* This is the CTR-AES-256-based random-number generator from SP800-90A.
*/
@@ -52,33 +51,30 @@ struct drbg_aes_ctx {
};
/* max_number_of_bits_per_request */
-# define MAX_DRBG_AES_GENERATE_SIZE 65536 /* 2^19 */
+#define MAX_DRBG_AES_GENERATE_SIZE 65536 /* 2^19 */
/* This DRBG should be reseeded if reseed_counter exceeds
* that number. Otherwise drbg_aes_random() will fail.
*/
-# define DRBG_AES_RESEED_TIME 16777216
+#define DRBG_AES_RESEED_TIME 16777216
/* The entropy provided in these functions should be of
* size DRBG_AES_SEED_SIZE. Additional data and pers.
* string may be <= DRBG_AES_SEED_SIZE.
*/
-int
-drbg_aes_init(struct drbg_aes_ctx *ctx,
- unsigned entropy_size, const uint8_t * entropy,
- unsigned pstring_size, const uint8_t * pstring);
+int drbg_aes_init(struct drbg_aes_ctx *ctx, unsigned entropy_size,
+ const uint8_t *entropy, unsigned pstring_size,
+ const uint8_t *pstring);
-int
-drbg_aes_reseed(struct drbg_aes_ctx *ctx,
- unsigned entropy_size, const uint8_t * entropy,
- unsigned add_size, const uint8_t * add);
+int drbg_aes_reseed(struct drbg_aes_ctx *ctx, unsigned entropy_size,
+ const uint8_t *entropy, unsigned add_size,
+ const uint8_t *add);
/* our wrapper for the low-level drbg_aes_generate */
-int drbg_aes_random(struct drbg_aes_ctx *ctx, unsigned length, uint8_t * dst);
+int drbg_aes_random(struct drbg_aes_ctx *ctx, unsigned length, uint8_t *dst);
-int
-drbg_aes_generate(struct drbg_aes_ctx *ctx, unsigned length,
- uint8_t * dst, unsigned add_size, const uint8_t * add);
+int drbg_aes_generate(struct drbg_aes_ctx *ctx, unsigned length, uint8_t *dst,
+ unsigned add_size, const uint8_t *add);
/* For deinitialization use zeroize_key() on the context */
@@ -86,4 +82,4 @@ int drbg_aes_is_seeded(struct drbg_aes_ctx *ctx);
int drbg_aes_self_test(void);
-#endif /* GNUTLS_LIB_NETTLE_INT_DRBG_AES_H */
+#endif /* GNUTLS_LIB_NETTLE_INT_DRBG_AES_H */
diff --git a/lib/nettle/int/dsa-compute-k.c b/lib/nettle/int/dsa-compute-k.c
index 44d9f9acb1..8ff5739c2b 100644
--- a/lib/nettle/int/dsa-compute-k.c
+++ b/lib/nettle/int/dsa-compute-k.c
@@ -21,7 +21,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include "dsa-compute-k.h"
@@ -43,12 +43,9 @@
#define MAX_HASH_BITS (MAX_HASH_SIZE * 8)
#define MAX_HASH_LIMBS BITS_TO_LIMBS(MAX_HASH_BITS)
-int
-_gnutls_dsa_compute_k(mpz_t k,
- const mpz_t q,
- const mpz_t x,
- gnutls_mac_algorithm_t mac,
- const uint8_t * digest, size_t length)
+int _gnutls_dsa_compute_k(mpz_t k, const mpz_t q, const mpz_t x,
+ gnutls_mac_algorithm_t mac, const uint8_t *digest,
+ size_t length)
{
uint8_t V[MAX_HASH_SIZE];
uint8_t K[MAX_HASH_SIZE];
@@ -177,7 +174,8 @@ _gnutls_dsa_compute_k(mpz_t k,
if (tlen * 8 > q_bits)
mpn_rshift(h, h, qn, tlen * 8 - q_bits);
/* Check if k is in [1,q-1] */
- if (!mpn_zero_p(h, qn) && mpn_cmp(h, mpz_limbs_read(q), qn) < 0) {
+ if (!mpn_zero_p(h, qn) &&
+ mpn_cmp(h, mpz_limbs_read(q), qn) < 0) {
mpn_copyi(mpz_limbs_write(k, qn), h, qn);
mpz_limbs_finish(k, qn);
break;
@@ -199,7 +197,7 @@ _gnutls_dsa_compute_k(mpz_t k,
goto out;
}
- out:
+out:
zeroize_key(xp, sizeof(xp));
zeroize_key(tp, sizeof(tp));
diff --git a/lib/nettle/int/dsa-compute-k.h b/lib/nettle/int/dsa-compute-k.h
index 1e9ec824da..49d243acb4 100644
--- a/lib/nettle/int/dsa-compute-k.h
+++ b/lib/nettle/int/dsa-compute-k.h
@@ -21,16 +21,13 @@
*/
#ifndef GNUTLS_LIB_NETTLE_INT_DSA_COMPUTE_K_H
-# define GNUTLS_LIB_NETTLE_INT_DSA_COMPUTE_K_H
+#define GNUTLS_LIB_NETTLE_INT_DSA_COMPUTE_K_H
-# include <gnutls/gnutls.h>
-# include <nettle/bignum.h> /* includes gmp.h */
+#include <gnutls/gnutls.h>
+#include <nettle/bignum.h> /* includes gmp.h */
-int
-_gnutls_dsa_compute_k(mpz_t k,
- const mpz_t q,
- const mpz_t x,
- gnutls_mac_algorithm_t mac,
- const uint8_t * digest, size_t length);
+int _gnutls_dsa_compute_k(mpz_t k, const mpz_t q, const mpz_t x,
+ gnutls_mac_algorithm_t mac, const uint8_t *digest,
+ size_t length);
-#endif /* GNUTLS_LIB_NETTLE_INT_DSA_COMPUTE_K_H */
+#endif /* GNUTLS_LIB_NETTLE_INT_DSA_COMPUTE_K_H */
diff --git a/lib/nettle/int/dsa-fips.h b/lib/nettle/int/dsa-fips.h
index 1dd6e19a99..e27cd119f4 100644
--- a/lib/nettle/int/dsa-fips.h
+++ b/lib/nettle/int/dsa-fips.h
@@ -20,17 +20,17 @@
*/
#ifndef GNUTLS_LIB_NETTLE_INT_DSA_FIPS_H
-# define GNUTLS_LIB_NETTLE_INT_DSA_FIPS_H
+#define GNUTLS_LIB_NETTLE_INT_DSA_FIPS_H
-# include <nettle/bignum.h> /* includes gmp.h */
-# include <nettle/dsa.h>
-# include <nettle/sha2.h>
-# include <fips.h>
+#include <nettle/bignum.h> /* includes gmp.h */
+#include <nettle/dsa.h>
+#include <nettle/sha2.h>
+#include <fips.h>
-# define div_ceil(x,y) ((x+(y)-1)/(y))
+#define div_ceil(x, y) ((x + (y)-1) / (y))
struct dss_params_validation_seeds {
- unsigned seed_length; /* first seed */
+ unsigned seed_length; /* first seed */
uint8_t seed[MAX_PVP_SEED_SIZE + 1];
unsigned pseed_length;
@@ -41,76 +41,60 @@ struct dss_params_validation_seeds {
unsigned qgen_counter;
};
-int
-st_provable_prime(mpz_t p,
- unsigned *prime_seed_length, void *prime_seed,
- unsigned *prime_gen_counter,
- unsigned bits,
- unsigned seed_length, const void *seed,
- void *progress_ctx, nettle_progress_func * progress);
-
-int
-dsa_generate_dss_pqg(struct dsa_params *params,
- struct dss_params_validation_seeds *cert,
- unsigned index,
- void *random_ctx, nettle_random_func * random,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned p_bits /* = L */ , unsigned q_bits /* = N */ );
-
-int
-_dsa_generate_dss_pqg(struct dsa_params *params,
- struct dss_params_validation_seeds *cert,
- unsigned index,
- unsigned seed_size, void *seed,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned p_bits /* = L */ , unsigned q_bits /* = N */ );
-
-int
-dsa_generate_dss_keypair(struct dsa_params *params,
- mpz_t y,
- mpz_t x,
- void *random_ctx, nettle_random_func * random,
- void *progress_ctx, nettle_progress_func * progress);
-
-int
-dsa_validate_dss_pqg(struct dsa_params *pub,
- struct dss_params_validation_seeds *cert, unsigned index);
-
-int
-_dsa_validate_dss_pq(struct dsa_params *pub,
- struct dss_params_validation_seeds *cert);
-
-int
-_dsa_validate_dss_g(struct dsa_params *pub,
- unsigned domain_seed_size, const uint8_t * domain_seed,
- unsigned index);
+int st_provable_prime(mpz_t p, unsigned *prime_seed_length, void *prime_seed,
+ unsigned *prime_gen_counter, unsigned bits,
+ unsigned seed_length, const void *seed,
+ void *progress_ctx, nettle_progress_func *progress);
+
+int dsa_generate_dss_pqg(struct dsa_params *params,
+ struct dss_params_validation_seeds *cert,
+ unsigned index, void *random_ctx,
+ nettle_random_func *random, void *progress_ctx,
+ nettle_progress_func *progress,
+ unsigned p_bits /* = L */, unsigned q_bits /* = N */);
+
+int _dsa_generate_dss_pqg(struct dsa_params *params,
+ struct dss_params_validation_seeds *cert,
+ unsigned index, unsigned seed_size, void *seed,
+ void *progress_ctx, nettle_progress_func *progress,
+ unsigned p_bits /* = L */, unsigned q_bits /* = N */);
+
+int dsa_generate_dss_keypair(struct dsa_params *params, mpz_t y, mpz_t x,
+ void *random_ctx, nettle_random_func *random,
+ void *progress_ctx,
+ nettle_progress_func *progress);
+
+int dsa_validate_dss_pqg(struct dsa_params *pub,
+ struct dss_params_validation_seeds *cert,
+ unsigned index);
+
+int _dsa_validate_dss_pq(struct dsa_params *pub,
+ struct dss_params_validation_seeds *cert);
+
+int _dsa_validate_dss_g(struct dsa_params *pub, unsigned domain_seed_size,
+ const uint8_t *domain_seed, unsigned index);
unsigned _dsa_check_qp_sizes(unsigned q_bits, unsigned p_bits,
unsigned generate);
/* The following low-level functions can be used for DH key exchange as well
*/
-int
-_dsa_generate_dss_pq(struct dsa_params *pub,
- struct dss_params_validation_seeds *cert,
- unsigned seed_length, void *seed,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned p_bits, unsigned q_bits);
-
-int
-_dsa_generate_dss_g(struct dsa_params *pub,
- unsigned domain_seed_size, const uint8_t * domain_seed,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned index);
-
-void
-_dsa_generate_dss_xy(struct dsa_params *pub,
- mpz_t y,
- mpz_t x, void *random_ctx, nettle_random_func * random);
-
-# define DIGEST_SIZE SHA384_DIGEST_SIZE
-inline static void
-hash(uint8_t digest[DIGEST_SIZE], unsigned length, void *data)
+int _dsa_generate_dss_pq(struct dsa_params *pub,
+ struct dss_params_validation_seeds *cert,
+ unsigned seed_length, void *seed, void *progress_ctx,
+ nettle_progress_func *progress, unsigned p_bits,
+ unsigned q_bits);
+
+int _dsa_generate_dss_g(struct dsa_params *pub, unsigned domain_seed_size,
+ const uint8_t *domain_seed, void *progress_ctx,
+ nettle_progress_func *progress, unsigned index);
+
+void _dsa_generate_dss_xy(struct dsa_params *pub, mpz_t y, mpz_t x,
+ void *random_ctx, nettle_random_func *random);
+
+#define DIGEST_SIZE SHA384_DIGEST_SIZE
+inline static void hash(uint8_t digest[DIGEST_SIZE], unsigned length,
+ void *data)
{
struct sha384_ctx ctx;
@@ -123,4 +107,4 @@ hash(uint8_t digest[DIGEST_SIZE], unsigned length, void *data)
unsigned mpz_seed_sizeinbase_256_u(mpz_t s, unsigned nominal);
-#endif /* GNUTLS_LIB_NETTLE_INT_DSA_FIPS_H */
+#endif /* GNUTLS_LIB_NETTLE_INT_DSA_FIPS_H */
diff --git a/lib/nettle/int/dsa-keygen-fips186.c b/lib/nettle/int/dsa-keygen-fips186.c
index 29993962b2..fa0bebe3df 100644
--- a/lib/nettle/int/dsa-keygen-fips186.c
+++ b/lib/nettle/int/dsa-keygen-fips186.c
@@ -22,7 +22,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdlib.h>
@@ -61,12 +61,11 @@ unsigned _dsa_check_qp_sizes(unsigned q_bits, unsigned p_bits,
*
* The hash function used is SHA384.
*/
-int
-_dsa_generate_dss_pq(struct dsa_params *params,
- struct dss_params_validation_seeds *cert,
- unsigned seed_length, void *seed,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned p_bits /* = L */ , unsigned q_bits /* = N */ )
+int _dsa_generate_dss_pq(struct dsa_params *params,
+ struct dss_params_validation_seeds *cert,
+ unsigned seed_length, void *seed, void *progress_ctx,
+ nettle_progress_func *progress,
+ unsigned p_bits /* = L */, unsigned q_bits /* = N */)
{
mpz_t r, p0, t, z, s, tmp, dp0;
int ret;
@@ -80,9 +79,9 @@ _dsa_generate_dss_pq(struct dsa_params *params,
}
if (seed_length < q_bits / 8) {
- _gnutls_debug_log
- ("Seed length must be larger than %d bytes (it is %d)\n",
- q_bits / 8, seed_length);
+ _gnutls_debug_log(
+ "Seed length must be larger than %d bytes (it is %d)\n",
+ q_bits / 8, seed_length);
return 0;
}
@@ -106,11 +105,9 @@ _dsa_generate_dss_pq(struct dsa_params *params,
cert->qseed_length = sizeof(cert->qseed);
cert->pseed_length = sizeof(cert->pseed);
- ret = st_provable_prime(params->q,
- &cert->qseed_length, cert->qseed,
- &cert->qgen_counter,
- q_bits,
- seed_length, seed, progress_ctx, progress);
+ ret = st_provable_prime(params->q, &cert->qseed_length, cert->qseed,
+ &cert->qgen_counter, q_bits, seed_length, seed,
+ progress_ctx, progress);
if (ret == 0) {
goto fail;
}
@@ -118,12 +115,10 @@ _dsa_generate_dss_pq(struct dsa_params *params,
if (progress)
progress(progress_ctx, 'q');
- ret = st_provable_prime(p0,
- &cert->pseed_length, cert->pseed,
- &cert->pgen_counter,
- 1 + div_ceil(p_bits, 2),
- cert->qseed_length, cert->qseed,
- progress_ctx, progress);
+ ret = st_provable_prime(p0, &cert->pseed_length, cert->pseed,
+ &cert->pgen_counter, 1 + div_ceil(p_bits, 2),
+ cert->qseed_length, cert->qseed, progress_ctx,
+ progress);
if (ret == 0) {
goto fail;
}
@@ -162,12 +157,12 @@ _dsa_generate_dss_pq(struct dsa_params *params,
/* Generate candidate prime p in [2^(bits-1), 2^bits] */
/* t = u[x/2c0] */
- mpz_mul_2exp(dp0, p0, 1); /* dp0 = 2*p0 */
- mpz_mul(dp0, dp0, params->q); /* dp0 = 2*p0*q */
+ mpz_mul_2exp(dp0, p0, 1); /* dp0 = 2*p0 */
+ mpz_mul(dp0, dp0, params->q); /* dp0 = 2*p0*q */
mpz_cdiv_q(t, tmp, dp0);
- retry:
+retry:
/* c = 2p0*q*t + 1 */
mpz_mul(params->p, dp0, t);
mpz_add_ui(params->p, params->p, 1);
@@ -206,13 +201,14 @@ _dsa_generate_dss_pq(struct dsa_params *params,
nettle_mpz_get_str_256(cert->pseed_length, cert->pseed, s);
/* a = 2 + (a mod (p-3)) */
- mpz_sub_ui(tmp, params->p, 3); /* c is too large to worry about negatives */
+ mpz_sub_ui(tmp, params->p,
+ 3); /* c is too large to worry about negatives */
mpz_mod(r, r, tmp);
mpz_add_ui(r, r, 2);
/* z = a^(2tq) mod p */
- mpz_mul_2exp(tmp, t, 1); /* tmp = 2t */
- mpz_mul(tmp, tmp, params->q); /* tmp = 2tq */
+ mpz_mul_2exp(tmp, t, 1); /* tmp = 2t */
+ mpz_mul(tmp, tmp, params->q); /* tmp = 2tq */
mpz_powm(z, r, tmp, params->p);
mpz_sub_ui(tmp, z, 1);
@@ -234,17 +230,17 @@ _dsa_generate_dss_pq(struct dsa_params *params,
mpz_add_ui(t, t, 1);
goto retry;
- success:
+success:
if (progress)
progress(progress_ctx, 'p');
ret = 1;
goto finish;
- fail:
+fail:
ret = 0;
- finish:
+finish:
mpz_clear(dp0);
mpz_clear(p0);
mpz_clear(tmp);
@@ -256,11 +252,9 @@ _dsa_generate_dss_pq(struct dsa_params *params,
return ret;
}
-int
-_dsa_generate_dss_g(struct dsa_params *params,
- unsigned domain_seed_size, const uint8_t * domain_seed,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned index)
+int _dsa_generate_dss_g(struct dsa_params *params, unsigned domain_seed_size,
+ const uint8_t *domain_seed, void *progress_ctx,
+ nettle_progress_func *progress, unsigned index)
{
mpz_t e, w;
uint16_t count;
@@ -287,7 +281,7 @@ _dsa_generate_dss_g(struct dsa_params *params,
memcpy(dseed + pos, "\x67\x67\x65\x6e", 4);
pos += 4;
- *(dseed + pos) = (uint8_t) index;
+ *(dseed + pos) = (uint8_t)index;
pos += 1;
mpz_sub_ui(e, params->p, 1);
@@ -317,26 +311,23 @@ _dsa_generate_dss_g(struct dsa_params *params,
ret = 0;
goto finish;
- success:
+success:
if (progress)
progress(progress_ctx, 'g');
ret = 1;
- finish:
+finish:
free(dseed);
mpz_clear(e);
mpz_clear(w);
return ret;
-
}
/* Generates the public and private DSA (or DH) keys
*/
-void
-_dsa_generate_dss_xy(struct dsa_params *params,
- mpz_t y, mpz_t x,
- void *random_ctx, nettle_random_func * random)
+void _dsa_generate_dss_xy(struct dsa_params *params, mpz_t y, mpz_t x,
+ void *random_ctx, nettle_random_func *random)
{
mpz_t r;
@@ -365,13 +356,12 @@ _dsa_generate_dss_xy(struct dsa_params *params,
* q_bits: The requested size of q
*
*/
-int
-dsa_generate_dss_pqg(struct dsa_params *params,
- struct dss_params_validation_seeds *cert,
- unsigned index,
- void *random_ctx, nettle_random_func * random,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned p_bits /* = L */ , unsigned q_bits /* = N */ )
+int dsa_generate_dss_pqg(struct dsa_params *params,
+ struct dss_params_validation_seeds *cert,
+ unsigned index, void *random_ctx,
+ nettle_random_func *random, void *progress_ctx,
+ nettle_progress_func *progress,
+ unsigned p_bits /* = L */, unsigned q_bits /* = N */)
{
int ret;
uint8_t domain_seed[MAX_PVP_SEED_SIZE * 3];
@@ -394,28 +384,25 @@ dsa_generate_dss_pqg(struct dsa_params *params,
return 0;
domain_seed_size =
- cert->seed_length + cert->qseed_length + cert->pseed_length;
+ cert->seed_length + cert->qseed_length + cert->pseed_length;
memcpy(domain_seed, cert->seed, cert->seed_length);
memcpy(&domain_seed[cert->seed_length], cert->pseed,
cert->pseed_length);
memcpy(&domain_seed[cert->seed_length + cert->pseed_length],
cert->qseed, cert->qseed_length);
- ret =
- _dsa_generate_dss_g(params, domain_seed_size, domain_seed,
- progress_ctx, progress, index);
+ ret = _dsa_generate_dss_g(params, domain_seed_size, domain_seed,
+ progress_ctx, progress, index);
if (ret == 0)
return 0;
return 1;
}
-int
-_dsa_generate_dss_pqg(struct dsa_params *params,
- struct dss_params_validation_seeds *cert,
- unsigned index,
- unsigned seed_size, void *seed,
- void *progress_ctx, nettle_progress_func * progress,
- unsigned p_bits /* = L */ , unsigned q_bits /* = N */ )
+int _dsa_generate_dss_pqg(struct dsa_params *params,
+ struct dss_params_validation_seeds *cert,
+ unsigned index, unsigned seed_size, void *seed,
+ void *progress_ctx, nettle_progress_func *progress,
+ unsigned p_bits /* = L */, unsigned q_bits /* = N */)
{
int ret;
uint8_t domain_seed[MAX_PVP_SEED_SIZE * 3];
@@ -446,27 +433,23 @@ _dsa_generate_dss_pqg(struct dsa_params *params,
return 0;
domain_seed_size =
- cert->seed_length + cert->qseed_length + cert->pseed_length;
+ cert->seed_length + cert->qseed_length + cert->pseed_length;
memcpy(domain_seed, cert->seed, cert->seed_length);
memcpy(&domain_seed[cert->seed_length], cert->pseed,
cert->pseed_length);
memcpy(&domain_seed[cert->seed_length + cert->pseed_length],
cert->qseed, cert->qseed_length);
- ret =
- _dsa_generate_dss_g(params, domain_seed_size, domain_seed,
- progress_ctx, progress, index);
+ ret = _dsa_generate_dss_g(params, domain_seed_size, domain_seed,
+ progress_ctx, progress, index);
if (ret == 0)
return 0;
return 1;
}
-int
-dsa_generate_dss_keypair(struct dsa_params *params,
- mpz_t y,
- mpz_t x,
- void *random_ctx, nettle_random_func * random,
- void *progress_ctx, nettle_progress_func * progress)
+int dsa_generate_dss_keypair(struct dsa_params *params, mpz_t y, mpz_t x,
+ void *random_ctx, nettle_random_func *random,
+ void *progress_ctx, nettle_progress_func *progress)
{
_dsa_generate_dss_xy(params, y, x, random_ctx, random);
@@ -474,5 +457,4 @@ dsa_generate_dss_keypair(struct dsa_params *params,
progress(progress_ctx, '\n');
return 1;
-
}
diff --git a/lib/nettle/int/dsa-validate.c b/lib/nettle/int/dsa-validate.c
index 8443b6ad08..45b63380be 100644
--- a/lib/nettle/int/dsa-validate.c
+++ b/lib/nettle/int/dsa-validate.c
@@ -22,7 +22,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdlib.h>
@@ -44,9 +44,9 @@
* index: 1 for digital signatures (DSA), 2 for key establishment (DH)
*
*/
-int
-dsa_validate_dss_pqg(struct dsa_params *pub,
- struct dss_params_validation_seeds *cert, unsigned index)
+int dsa_validate_dss_pqg(struct dsa_params *pub,
+ struct dss_params_validation_seeds *cert,
+ unsigned index)
{
int ret;
uint8_t domain_seed[MAX_PVP_SEED_SIZE * 3];
@@ -57,7 +57,7 @@ dsa_validate_dss_pqg(struct dsa_params *pub,
return 0;
domain_seed_size =
- cert->seed_length + cert->qseed_length + cert->pseed_length;
+ cert->seed_length + cert->qseed_length + cert->pseed_length;
memcpy(domain_seed, cert->seed, cert->seed_length);
memcpy(&domain_seed[cert->seed_length], cert->pseed,
cert->pseed_length);
@@ -71,10 +71,8 @@ dsa_validate_dss_pqg(struct dsa_params *pub,
return 1;
}
-int
-_dsa_validate_dss_g(struct dsa_params *pub,
- unsigned domain_seed_size, const uint8_t * domain_seed,
- unsigned index)
+int _dsa_validate_dss_g(struct dsa_params *pub, unsigned domain_seed_size,
+ const uint8_t *domain_seed, unsigned index)
{
int ret;
unsigned p_bits, q_bits;
@@ -114,9 +112,8 @@ _dsa_validate_dss_g(struct dsa_params *pub,
}
/* repeat g generation */
- ret = _dsa_generate_dss_g(&pub2,
- domain_seed_size, domain_seed,
- NULL, NULL, index);
+ ret = _dsa_generate_dss_g(&pub2, domain_seed_size, domain_seed, NULL,
+ NULL, index);
if (ret == 0) {
goto fail;
}
@@ -129,19 +126,18 @@ _dsa_validate_dss_g(struct dsa_params *pub,
ret = 1;
goto finish;
- fail:
+fail:
ret = 0;
- finish:
+finish:
dsa_params_clear(&pub2);
mpz_clear(r);
return ret;
}
-int
-_dsa_validate_dss_pq(struct dsa_params *pub,
- struct dss_params_validation_seeds *cert)
+int _dsa_validate_dss_pq(struct dsa_params *pub,
+ struct dss_params_validation_seeds *cert)
{
int ret;
unsigned p_bits, q_bits;
@@ -203,17 +199,18 @@ _dsa_validate_dss_pq(struct dsa_params *pub,
goto fail;
}
- if ((cert->pseed_length > 0 && cert->pseed_length != cert2.pseed_length)
- || (cert->qseed_length > 0
- && cert->qseed_length != cert2.qseed_length)
- || (cert->pgen_counter > 0
- && cert->pgen_counter != cert2.pgen_counter)
- || (cert->qgen_counter > 0
- && cert->qgen_counter != cert2.qgen_counter)
- || (cert->qseed_length > 0
- && memcmp(cert->qseed, cert2.qseed, cert2.qseed_length) != 0)
- || (cert->pseed_length > 0
- && memcmp(cert->pseed, cert2.pseed, cert2.pseed_length) != 0)) {
+ if ((cert->pseed_length > 0 &&
+ cert->pseed_length != cert2.pseed_length) ||
+ (cert->qseed_length > 0 &&
+ cert->qseed_length != cert2.qseed_length) ||
+ (cert->pgen_counter > 0 &&
+ cert->pgen_counter != cert2.pgen_counter) ||
+ (cert->qgen_counter > 0 &&
+ cert->qgen_counter != cert2.qgen_counter) ||
+ (cert->qseed_length > 0 &&
+ memcmp(cert->qseed, cert2.qseed, cert2.qseed_length) != 0) ||
+ (cert->pseed_length > 0 &&
+ memcmp(cert->pseed, cert2.pseed, cert2.pseed_length) != 0)) {
goto fail;
}
@@ -232,10 +229,10 @@ _dsa_validate_dss_pq(struct dsa_params *pub,
ret = 1;
goto finish;
- fail:
+fail:
ret = 0;
- finish:
+finish:
dsa_params_clear(&pub2);
mpz_clear(r);
mpz_clear(s);
diff --git a/lib/nettle/int/ecdsa-compute-k.c b/lib/nettle/int/ecdsa-compute-k.c
index 9c1344e12a..3b7f886160 100644
--- a/lib/nettle/int/ecdsa-compute-k.c
+++ b/lib/nettle/int/ecdsa-compute-k.c
@@ -21,7 +21,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include "ecdsa-compute-k.h"
@@ -29,52 +29,54 @@
#include "dsa-compute-k.h"
#include "gnutls_int.h"
-static inline int
-_gnutls_ecc_curve_to_dsa_q(mpz_t * q, gnutls_ecc_curve_t curve)
+static inline int _gnutls_ecc_curve_to_dsa_q(mpz_t *q, gnutls_ecc_curve_t curve)
{
switch (curve) {
#ifdef ENABLE_NON_SUITEB_CURVES
case GNUTLS_ECC_CURVE_SECP192R1:
mpz_init_set_str(*q,
"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836"
- "146BC9B1B4D22831", 16);
+ "146BC9B1B4D22831",
+ 16);
return 0;
case GNUTLS_ECC_CURVE_SECP224R1:
mpz_init_set_str(*q,
"FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2"
- "E0B8F03E13DD29455C5C2A3D", 16);
+ "E0B8F03E13DD29455C5C2A3D",
+ 16);
return 0;
#endif
case GNUTLS_ECC_CURVE_SECP256R1:
mpz_init_set_str(*q,
"FFFFFFFF00000000FFFFFFFFFFFFFFFF"
- "BCE6FAADA7179E84F3B9CAC2FC632551", 16);
+ "BCE6FAADA7179E84F3B9CAC2FC632551",
+ 16);
return 0;
case GNUTLS_ECC_CURVE_SECP384R1:
mpz_init_set_str(*q,
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
"FFFFFFFFFFFFFFFFC7634D81F4372DDF"
- "581A0DB248B0A77AECEC196ACCC52973", 16);
+ "581A0DB248B0A77AECEC196ACCC52973",
+ 16);
return 0;
case GNUTLS_ECC_CURVE_SECP521R1:
mpz_init_set_str(*q,
"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
"FFA51868783BF2F966B7FCC0148F709A"
- "5D03BB5C9B8899C47AEBB6FB71E91386" "409", 16);
+ "5D03BB5C9B8899C47AEBB6FB71E91386"
+ "409",
+ 16);
return 0;
default:
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
}
}
-int
-_gnutls_ecdsa_compute_k(mpz_t k,
- gnutls_ecc_curve_t curve,
- const mpz_t x,
- gnutls_mac_algorithm_t mac,
- const uint8_t * digest, size_t length)
+int _gnutls_ecdsa_compute_k(mpz_t k, gnutls_ecc_curve_t curve, const mpz_t x,
+ gnutls_mac_algorithm_t mac, const uint8_t *digest,
+ size_t length)
{
mpz_t q;
int ret;
diff --git a/lib/nettle/int/ecdsa-compute-k.h b/lib/nettle/int/ecdsa-compute-k.h
index 0607e7c8eb..be8beddb5d 100644
--- a/lib/nettle/int/ecdsa-compute-k.h
+++ b/lib/nettle/int/ecdsa-compute-k.h
@@ -21,16 +21,13 @@
*/
#ifndef GNUTLS_LIB_NETTLE_INT_ECDSA_COMPUTE_K_H
-# define GNUTLS_LIB_NETTLE_INT_ECDSA_COMPUTE_K_H
+#define GNUTLS_LIB_NETTLE_INT_ECDSA_COMPUTE_K_H
-# include <gnutls/gnutls.h>
-# include <nettle/bignum.h> /* includes gmp.h */
+#include <gnutls/gnutls.h>
+#include <nettle/bignum.h> /* includes gmp.h */
-int
-_gnutls_ecdsa_compute_k(mpz_t k,
- gnutls_ecc_curve_t curve,
- const mpz_t x,
- gnutls_mac_algorithm_t mac,
- const uint8_t * digest, size_t length);
+int _gnutls_ecdsa_compute_k(mpz_t k, gnutls_ecc_curve_t curve, const mpz_t x,
+ gnutls_mac_algorithm_t mac, const uint8_t *digest,
+ size_t length);
-#endif /* GNUTLS_LIB_NETTLE_INT_ECDSA_COMPUTE_K_H */
+#endif /* GNUTLS_LIB_NETTLE_INT_ECDSA_COMPUTE_K_H */
diff --git a/lib/nettle/int/mpn-base256.c b/lib/nettle/int/mpn-base256.c
index 428cb1628a..3f224d5f8d 100644
--- a/lib/nettle/int/mpn-base256.c
+++ b/lib/nettle/int/mpn-base256.c
@@ -31,13 +31,12 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include "mpn-base256.h"
-void
-mpn_set_base256(mp_limb_t * rp, mp_size_t rn, const uint8_t * xp, size_t xn)
+void mpn_set_base256(mp_limb_t *rp, mp_size_t rn, const uint8_t *xp, size_t xn)
{
size_t xi;
mp_limb_t out;
@@ -61,8 +60,7 @@ mpn_set_base256(mp_limb_t * rp, mp_size_t rn, const uint8_t * xp, size_t xn)
}
}
-void
-mpn_get_base256(uint8_t * rp, size_t rn, const mp_limb_t * xp, mp_size_t xn)
+void mpn_get_base256(uint8_t *rp, size_t rn, const mp_limb_t *xp, mp_size_t xn)
{
unsigned bits;
mp_limb_t in;
diff --git a/lib/nettle/int/mpn-base256.h b/lib/nettle/int/mpn-base256.h
index 016b4ef1e3..afa1014c70 100644
--- a/lib/nettle/int/mpn-base256.h
+++ b/lib/nettle/int/mpn-base256.h
@@ -31,16 +31,14 @@
*/
#ifndef NETTLE_GMP_GLUE_H_INCLUDED
-# define NETTLE_GMP_GLUE_H_INCLUDED
+#define NETTLE_GMP_GLUE_H_INCLUDED
-# include <nettle/bignum.h>
+#include <nettle/bignum.h>
/* Like mpn_set_str, but always writes rn limbs. If input is larger,
higher bits are ignored. */
-void
-mpn_set_base256(mp_limb_t * rp, mp_size_t rn, const uint8_t * xp, size_t xn);
+void mpn_set_base256(mp_limb_t *rp, mp_size_t rn, const uint8_t *xp, size_t xn);
-void
-mpn_get_base256(uint8_t * rp, size_t rn, const mp_limb_t * xp, mp_size_t xn);
+void mpn_get_base256(uint8_t *rp, size_t rn, const mp_limb_t *xp, mp_size_t xn);
-#endif /* NETTLE_GMP_GLUE_H_INCLUDED */
+#endif /* NETTLE_GMP_GLUE_H_INCLUDED */
diff --git a/lib/nettle/int/provable-prime.c b/lib/nettle/int/provable-prime.c
index 00b278db72..d313b1a4cb 100644
--- a/lib/nettle/int/provable-prime.c
+++ b/lib/nettle/int/provable-prime.c
@@ -20,7 +20,7 @@
*/
#if HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <assert.h>
@@ -32,941 +32,661 @@
#include <nettle/macros.h>
static const uint16_t primes[] = {
- 3, 5, 7, 11, 13, 17, 19,
- 23, 29, 31, 37, 41, 43, 47,
- 53, 59, 61, 67, 71, 73, 79,
- 83, 89, 97, 101, 103, 107, 109,
- 113, 127, 131, 137, 139, 149, 151,
- 157, 163, 167, 173, 179, 181, 191,
- 193, 197, 199, 211, 223, 227, 229,
- 233, 239, 241, 251, 257, 263, 269,
- 271, 277, 281, 283, 293, 307, 311,
- 313, 317, 331, 337, 347, 349, 353,
- 359, 367, 373, 379, 383, 389, 397,
- 401, 409, 419, 421, 431, 433, 439,
- 443, 449, 457, 461, 463, 467, 479,
- 487, 491, 499, 503, 509, 521, 523,
- 541, 547, 557, 563, 569, 571, 577,
- 587, 593, 599, 601, 607, 613, 617,
- 619, 631, 641, 643, 647, 653, 659,
- 661, 673, 677, 683, 691, 701, 709,
- 719, 727, 733, 739, 743, 751, 757,
- 761, 769, 773, 787, 797, 809, 811,
- 821, 823, 827, 829, 839, 853, 857,
- 859, 863, 877, 881, 883, 887, 907,
- 911, 919, 929, 937, 941, 947, 953,
- 967, 971, 977, 983, 991, 997, 1009,
- 1013, 1019, 1021, 1031, 1033, 1039, 1049,
- 1051, 1061, 1063, 1069, 1087, 1091, 1093,
- 1097, 1103, 1109, 1117, 1123, 1129, 1151,
- 1153, 1163, 1171, 1181, 1187, 1193, 1201,
- 1213, 1217, 1223, 1229, 1231, 1237, 1249,
- 1259, 1277, 1279, 1283, 1289, 1291, 1297,
- 1301, 1303, 1307, 1319, 1321, 1327, 1361,
- 1367, 1373, 1381, 1399, 1409, 1423, 1427,
- 1429, 1433, 1439, 1447, 1451, 1453, 1459,
- 1471, 1481, 1483, 1487, 1489, 1493, 1499,
- 1511, 1523, 1531, 1543, 1549, 1553, 1559,
- 1567, 1571, 1579, 1583, 1597, 1601, 1607,
- 1609, 1613, 1619, 1621, 1627, 1637, 1657,
- 1663, 1667, 1669, 1693, 1697, 1699, 1709,
- 1721, 1723, 1733, 1741, 1747, 1753, 1759,
- 1777, 1783, 1787, 1789, 1801, 1811, 1823,
- 1831, 1847, 1861, 1867, 1871, 1873, 1877,
- 1879, 1889, 1901, 1907, 1913, 1931, 1933,
- 1949, 1951, 1973, 1979, 1987, 1993, 1997,
- 1999, 2003, 2011, 2017, 2027, 2029, 2039,
- 2053, 2063, 2069, 2081, 2083, 2087, 2089,
- 2099, 2111, 2113, 2129, 2131, 2137, 2141,
- 2143, 2153, 2161, 2179, 2203, 2207, 2213,
- 2221, 2237, 2239, 2243, 2251, 2267, 2269,
- 2273, 2281, 2287, 2293, 2297, 2309, 2311,
- 2333, 2339, 2341, 2347, 2351, 2357, 2371,
- 2377, 2381, 2383, 2389, 2393, 2399, 2411,
- 2417, 2423, 2437, 2441, 2447, 2459, 2467,
- 2473, 2477, 2503, 2521, 2531, 2539, 2543,
- 2549, 2551, 2557, 2579, 2591, 2593, 2609,
- 2617, 2621, 2633, 2647, 2657, 2659, 2663,
- 2671, 2677, 2683, 2687, 2689, 2693, 2699,
- 2707, 2711, 2713, 2719, 2729, 2731, 2741,
- 2749, 2753, 2767, 2777, 2789, 2791, 2797,
- 2801, 2803, 2819, 2833, 2837, 2843, 2851,
- 2857, 2861, 2879, 2887, 2897, 2903, 2909,
- 2917, 2927, 2939, 2953, 2957, 2963, 2969,
- 2971, 2999, 3001, 3011, 3019, 3023, 3037,
- 3041, 3049, 3061, 3067, 3079, 3083, 3089,
- 3109, 3119, 3121, 3137, 3163, 3167, 3169,
- 3181, 3187, 3191, 3203, 3209, 3217, 3221,
- 3229, 3251, 3253, 3257, 3259, 3271, 3299,
- 3301, 3307, 3313, 3319, 3323, 3329, 3331,
- 3343, 3347, 3359, 3361, 3371, 3373, 3389,
- 3391, 3407, 3413, 3433, 3449, 3457, 3461,
- 3463, 3467, 3469, 3491, 3499, 3511, 3517,
- 3527, 3529, 3533, 3539, 3541, 3547, 3557,
- 3559, 3571, 3581, 3583, 3593, 3607, 3613,
- 3617, 3623, 3631, 3637, 3643, 3659, 3671,
- 3673, 3677, 3691, 3697, 3701, 3709, 3719,
- 3727, 3733, 3739, 3761, 3767, 3769, 3779,
- 3793, 3797, 3803, 3821, 3823, 3833, 3847,
- 3851, 3853, 3863, 3877, 3881, 3889, 3907,
- 3911, 3917, 3919, 3923, 3929, 3931, 3943,
- 3947, 3967, 3989, 4001, 4003, 4007, 4013,
- 4019, 4021, 4027, 4049, 4051, 4057, 4073,
- 4079, 4091, 4093, 4099, 4111, 4127, 4129,
- 4133, 4139, 4153, 4157, 4159, 4177, 4201,
- 4211, 4217, 4219, 4229, 4231, 4241, 4243,
- 4253, 4259, 4261, 4271, 4273, 4283, 4289,
- 4297, 4327, 4337, 4339, 4349, 4357, 4363,
- 4373, 4391, 4397, 4409, 4421, 4423, 4441,
- 4447, 4451, 4457, 4463, 4481, 4483, 4493,
- 4507, 4513, 4517, 4519, 4523, 4547, 4549,
- 4561, 4567, 4583, 4591, 4597, 4603, 4621,
- 4637, 4639, 4643, 4649, 4651, 4657, 4663,
- 4673, 4679, 4691, 4703, 4721, 4723, 4729,
- 4733, 4751, 4759, 4783, 4787, 4789, 4793,
- 4799, 4801, 4813, 4817, 4831, 4861, 4871,
- 4877, 4889, 4903, 4909, 4919, 4931, 4933,
- 4937, 4943, 4951, 4957, 4967, 4969, 4973,
- 4987, 4993, 4999, 5003, 5009, 5011, 5021,
- 5023, 5039, 5051, 5059, 5077, 5081, 5087,
- 5099, 5101, 5107, 5113, 5119, 5147, 5153,
- 5167, 5171, 5179, 5189, 5197, 5209, 5227,
- 5231, 5233, 5237, 5261, 5273, 5279, 5281,
- 5297, 5303, 5309, 5323, 5333, 5347, 5351,
- 5381, 5387, 5393, 5399, 5407, 5413, 5417,
- 5419, 5431, 5437, 5441, 5443, 5449, 5471,
- 5477, 5479, 5483, 5501, 5503, 5507, 5519,
- 5521, 5527, 5531, 5557, 5563, 5569, 5573,
- 5581, 5591, 5623, 5639, 5641, 5647, 5651,
- 5653, 5657, 5659, 5669, 5683, 5689, 5693,
- 5701, 5711, 5717, 5737, 5741, 5743, 5749,
- 5779, 5783, 5791, 5801, 5807, 5813, 5821,
- 5827, 5839, 5843, 5849, 5851, 5857, 5861,
- 5867, 5869, 5879, 5881, 5897, 5903, 5923,
- 5927, 5939, 5953, 5981, 5987, 6007, 6011,
- 6029, 6037, 6043, 6047, 6053, 6067, 6073,
- 6079, 6089, 6091, 6101, 6113, 6121, 6131,
- 6133, 6143, 6151, 6163, 6173, 6197, 6199,
- 6203, 6211, 6217, 6221, 6229, 6247, 6257,
- 6263, 6269, 6271, 6277, 6287, 6299, 6301,
- 6311, 6317, 6323, 6329, 6337, 6343, 6353,
- 6359, 6361, 6367, 6373, 6379, 6389, 6397,
- 6421, 6427, 6449, 6451, 6469, 6473, 6481,
- 6491, 6521, 6529, 6547, 6551, 6553, 6563,
- 6569, 6571, 6577, 6581, 6599, 6607, 6619,
- 6637, 6653, 6659, 6661, 6673, 6679, 6689,
- 6691, 6701, 6703, 6709, 6719, 6733, 6737,
- 6761, 6763, 6779, 6781, 6791, 6793, 6803,
- 6823, 6827, 6829, 6833, 6841, 6857, 6863,
- 6869, 6871, 6883, 6899, 6907, 6911, 6917,
- 6947, 6949, 6959, 6961, 6967, 6971, 6977,
- 6983, 6991, 6997, 7001, 7013, 7019, 7027,
- 7039, 7043, 7057, 7069, 7079, 7103, 7109,
- 7121, 7127, 7129, 7151, 7159, 7177, 7187,
- 7193, 7207, 7211, 7213, 7219, 7229, 7237,
- 7243, 7247, 7253, 7283, 7297, 7307, 7309,
- 7321, 7331, 7333, 7349, 7351, 7369, 7393,
- 7411, 7417, 7433, 7451, 7457, 7459, 7477,
- 7481, 7487, 7489, 7499, 7507, 7517, 7523,
- 7529, 7537, 7541, 7547, 7549, 7559, 7561,
- 7573, 7577, 7583, 7589, 7591, 7603, 7607,
- 7621, 7639, 7643, 7649, 7669, 7673, 7681,
- 7687, 7691, 7699, 7703, 7717, 7723, 7727,
- 7741, 7753, 7757, 7759, 7789, 7793, 7817,
- 7823, 7829, 7841, 7853, 7867, 7873, 7877,
- 7879, 7883, 7901, 7907, 7919, 7927, 7933,
- 7937, 7949, 7951, 7963, 7993, 8009, 8011,
- 8017, 8039, 8053, 8059, 8069, 8081, 8087,
- 8089, 8093, 8101, 8111, 8117, 8123, 8147,
- 8161, 8167, 8171, 8179, 8191, 8209, 8219,
- 8221, 8231, 8233, 8237, 8243, 8263, 8269,
- 8273, 8287, 8291, 8293, 8297, 8311, 8317,
- 8329, 8353, 8363, 8369, 8377, 8387, 8389,
- 8419, 8423, 8429, 8431, 8443, 8447, 8461,
- 8467, 8501, 8513, 8521, 8527, 8537, 8539,
- 8543, 8563, 8573, 8581, 8597, 8599, 8609,
- 8623, 8627, 8629, 8641, 8647, 8663, 8669,
- 8677, 8681, 8689, 8693, 8699, 8707, 8713,
- 8719, 8731, 8737, 8741, 8747, 8753, 8761,
- 8779, 8783, 8803, 8807, 8819, 8821, 8831,
- 8837, 8839, 8849, 8861, 8863, 8867, 8887,
- 8893, 8923, 8929, 8933, 8941, 8951, 8963,
- 8969, 8971, 8999, 9001, 9007, 9011, 9013,
- 9029, 9041, 9043, 9049, 9059, 9067, 9091,
- 9103, 9109, 9127, 9133, 9137, 9151, 9157,
- 9161, 9173, 9181, 9187, 9199, 9203, 9209,
- 9221, 9227, 9239, 9241, 9257, 9277, 9281,
- 9283, 9293, 9311, 9319, 9323, 9337, 9341,
- 9343, 9349, 9371, 9377, 9391, 9397, 9403,
- 9413, 9419, 9421, 9431, 9433, 9437, 9439,
- 9461, 9463, 9467, 9473, 9479, 9491, 9497,
- 9511, 9521, 9533, 9539, 9547, 9551, 9587,
- 9601, 9613, 9619, 9623, 9629, 9631, 9643,
- 9649, 9661, 9677, 9679, 9689, 9697, 9719,
- 9721, 9733, 9739, 9743, 9749, 9767, 9769,
- 9781, 9787, 9791, 9803, 9811, 9817, 9829,
- 9833, 9839, 9851, 9857, 9859, 9871, 9883,
- 9887, 9901, 9907, 9923, 9929, 9931, 9941,
- 9949, 9967, 9973, 10007, 10009, 10037, 10039,
- 10061, 10067, 10069, 10079, 10091, 10093, 10099,
- 10103, 10111, 10133, 10139, 10141, 10151, 10159,
- 10163, 10169, 10177, 10181, 10193, 10211, 10223,
- 10243, 10247, 10253, 10259, 10267, 10271, 10273,
- 10289, 10301, 10303, 10313, 10321, 10331, 10333,
- 10337, 10343, 10357, 10369, 10391, 10399, 10427,
- 10429, 10433, 10453, 10457, 10459, 10463, 10477,
- 10487, 10499, 10501, 10513, 10529, 10531, 10559,
- 10567, 10589, 10597, 10601, 10607, 10613, 10627,
- 10631, 10639, 10651, 10657, 10663, 10667, 10687,
- 10691, 10709, 10711, 10723, 10729, 10733, 10739,
- 10753, 10771, 10781, 10789, 10799, 10831, 10837,
- 10847, 10853, 10859, 10861, 10867, 10883, 10889,
- 10891, 10903, 10909, 10937, 10939, 10949, 10957,
- 10973, 10979, 10987, 10993, 11003, 11027, 11047,
- 11057, 11059, 11069, 11071, 11083, 11087, 11093,
- 11113, 11117, 11119, 11131, 11149, 11159, 11161,
- 11171, 11173, 11177, 11197, 11213, 11239, 11243,
- 11251, 11257, 11261, 11273, 11279, 11287, 11299,
- 11311, 11317, 11321, 11329, 11351, 11353, 11369,
- 11383, 11393, 11399, 11411, 11423, 11437, 11443,
- 11447, 11467, 11471, 11483, 11489, 11491, 11497,
- 11503, 11519, 11527, 11549, 11551, 11579, 11587,
- 11593, 11597, 11617, 11621, 11633, 11657, 11677,
- 11681, 11689, 11699, 11701, 11717, 11719, 11731,
- 11743, 11777, 11779, 11783, 11789, 11801, 11807,
- 11813, 11821, 11827, 11831, 11833, 11839, 11863,
- 11867, 11887, 11897, 11903, 11909, 11923, 11927,
- 11933, 11939, 11941, 11953, 11959, 11969, 11971,
- 11981, 11987, 12007, 12011, 12037, 12041, 12043,
- 12049, 12071, 12073, 12097, 12101, 12107, 12109,
- 12113, 12119, 12143, 12149, 12157, 12161, 12163,
- 12197, 12203, 12211, 12227, 12239, 12241, 12251,
- 12253, 12263, 12269, 12277, 12281, 12289, 12301,
- 12323, 12329, 12343, 12347, 12373, 12377, 12379,
- 12391, 12401, 12409, 12413, 12421, 12433, 12437,
- 12451, 12457, 12473, 12479, 12487, 12491, 12497,
- 12503, 12511, 12517, 12527, 12539, 12541, 12547,
- 12553, 12569, 12577, 12583, 12589, 12601, 12611,
- 12613, 12619, 12637, 12641, 12647, 12653, 12659,
- 12671, 12689, 12697, 12703, 12713, 12721, 12739,
- 12743, 12757, 12763, 12781, 12791, 12799, 12809,
- 12821, 12823, 12829, 12841, 12853, 12889, 12893,
- 12899, 12907, 12911, 12917, 12919, 12923, 12941,
- 12953, 12959, 12967, 12973, 12979, 12983, 13001,
- 13003, 13007, 13009, 13033, 13037, 13043, 13049,
- 13063, 13093, 13099, 13103, 13109, 13121, 13127,
- 13147, 13151, 13159, 13163, 13171, 13177, 13183,
- 13187, 13217, 13219, 13229, 13241, 13249, 13259,
- 13267, 13291, 13297, 13309, 13313, 13327, 13331,
- 13337, 13339, 13367, 13381, 13397, 13399, 13411,
- 13417, 13421, 13441, 13451, 13457, 13463, 13469,
- 13477, 13487, 13499, 13513, 13523, 13537, 13553,
- 13567, 13577, 13591, 13597, 13613, 13619, 13627,
- 13633, 13649, 13669, 13679, 13681, 13687, 13691,
- 13693, 13697, 13709, 13711, 13721, 13723, 13729,
- 13751, 13757, 13759, 13763, 13781, 13789, 13799,
- 13807, 13829, 13831, 13841, 13859, 13873, 13877,
- 13879, 13883, 13901, 13903, 13907, 13913, 13921,
- 13931, 13933, 13963, 13967, 13997, 13999, 14009,
- 14011, 14029, 14033, 14051, 14057, 14071, 14081,
- 14083, 14087, 14107, 14143, 14149, 14153, 14159,
- 14173, 14177, 14197, 14207, 14221, 14243, 14249,
- 14251, 14281, 14293, 14303, 14321, 14323, 14327,
- 14341, 14347, 14369, 14387, 14389, 14401, 14407,
- 14411, 14419, 14423, 14431, 14437, 14447, 14449,
- 14461, 14479, 14489, 14503, 14519, 14533, 14537,
- 14543, 14549, 14551, 14557, 14561, 14563, 14591,
- 14593, 14621, 14627, 14629, 14633, 14639, 14653,
- 14657, 14669, 14683, 14699, 14713, 14717, 14723,
- 14731, 14737, 14741, 14747, 14753, 14759, 14767,
- 14771, 14779, 14783, 14797, 14813, 14821, 14827,
- 14831, 14843, 14851, 14867, 14869, 14879, 14887,
- 14891, 14897, 14923, 14929, 14939, 14947, 14951,
- 14957, 14969, 14983, 15013, 15017, 15031, 15053,
- 15061, 15073, 15077, 15083, 15091, 15101, 15107,
- 15121, 15131, 15137, 15139, 15149, 15161, 15173,
- 15187, 15193, 15199, 15217, 15227, 15233, 15241,
- 15259, 15263, 15269, 15271, 15277, 15287, 15289,
- 15299, 15307, 15313, 15319, 15329, 15331, 15349,
- 15359, 15361, 15373, 15377, 15383, 15391, 15401,
- 15413, 15427, 15439, 15443, 15451, 15461, 15467,
- 15473, 15493, 15497, 15511, 15527, 15541, 15551,
- 15559, 15569, 15581, 15583, 15601, 15607, 15619,
- 15629, 15641, 15643, 15647, 15649, 15661, 15667,
- 15671, 15679, 15683, 15727, 15731, 15733, 15737,
- 15739, 15749, 15761, 15767, 15773, 15787, 15791,
- 15797, 15803, 15809, 15817, 15823, 15859, 15877,
- 15881, 15887, 15889, 15901, 15907, 15913, 15919,
- 15923, 15937, 15959, 15971, 15973, 15991, 16001,
- 16007, 16033, 16057, 16061, 16063, 16067, 16069,
- 16073, 16087, 16091, 16097, 16103, 16111, 16127,
- 16139, 16141, 16183, 16187, 16189, 16193, 16217,
- 16223, 16229, 16231, 16249, 16253, 16267, 16273,
- 16301, 16319, 16333, 16339, 16349, 16361, 16363,
- 16369, 16381, 16411, 16417, 16421, 16427, 16433,
- 16447, 16451, 16453, 16477, 16481, 16487, 16493,
- 16519, 16529, 16547, 16553, 16561, 16567, 16573,
- 16603, 16607, 16619, 16631, 16633, 16649, 16651,
- 16657, 16661, 16673, 16691, 16693, 16699, 16703,
- 16729, 16741, 16747, 16759, 16763, 16787, 16811,
- 16823, 16829, 16831, 16843, 16871, 16879, 16883,
- 16889, 16901, 16903, 16921, 16927, 16931, 16937,
- 16943, 16963, 16979, 16981, 16987, 16993, 17011,
- 17021, 17027, 17029, 17033, 17041, 17047, 17053,
- 17077, 17093, 17099, 17107, 17117, 17123, 17137,
- 17159, 17167, 17183, 17189, 17191, 17203, 17207,
- 17209, 17231, 17239, 17257, 17291, 17293, 17299,
- 17317, 17321, 17327, 17333, 17341, 17351, 17359,
- 17377, 17383, 17387, 17389, 17393, 17401, 17417,
- 17419, 17431, 17443, 17449, 17467, 17471, 17477,
- 17483, 17489, 17491, 17497, 17509, 17519, 17539,
- 17551, 17569, 17573, 17579, 17581, 17597, 17599,
- 17609, 17623, 17627, 17657, 17659, 17669, 17681,
- 17683, 17707, 17713, 17729, 17737, 17747, 17749,
- 17761, 17783, 17789, 17791, 17807, 17827, 17837,
- 17839, 17851, 17863, 17881, 17891, 17903, 17909,
- 17911, 17921, 17923, 17929, 17939, 17957, 17959,
- 17971, 17977, 17981, 17987, 17989, 18013, 18041,
- 18043, 18047, 18049, 18059, 18061, 18077, 18089,
- 18097, 18119, 18121, 18127, 18131, 18133, 18143,
- 18149, 18169, 18181, 18191, 18199, 18211, 18217,
- 18223, 18229, 18233, 18251, 18253, 18257, 18269,
- 18287, 18289, 18301, 18307, 18311, 18313, 18329,
- 18341, 18353, 18367, 18371, 18379, 18397, 18401,
- 18413, 18427, 18433, 18439, 18443, 18451, 18457,
- 18461, 18481, 18493, 18503, 18517, 18521, 18523,
- 18539, 18541, 18553, 18583, 18587, 18593, 18617,
- 18637, 18661, 18671, 18679, 18691, 18701, 18713,
- 18719, 18731, 18743, 18749, 18757, 18773, 18787,
- 18793, 18797, 18803, 18839, 18859, 18869, 18899,
- 18911, 18913, 18917, 18919, 18947, 18959, 18973,
- 18979, 19001, 19009, 19013, 19031, 19037, 19051,
- 19069, 19073, 19079, 19081, 19087, 19121, 19139,
- 19141, 19157, 19163, 19181, 19183, 19207, 19211,
- 19213, 19219, 19231, 19237, 19249, 19259, 19267,
- 19273, 19289, 19301, 19309, 19319, 19333, 19373,
- 19379, 19381, 19387, 19391, 19403, 19417, 19421,
- 19423, 19427, 19429, 19433, 19441, 19447, 19457,
- 19463, 19469, 19471, 19477, 19483, 19489, 19501,
- 19507, 19531, 19541, 19543, 19553, 19559, 19571,
- 19577, 19583, 19597, 19603, 19609, 19661, 19681,
- 19687, 19697, 19699, 19709, 19717, 19727, 19739,
- 19751, 19753, 19759, 19763, 19777, 19793, 19801,
- 19813, 19819, 19841, 19843, 19853, 19861, 19867,
- 19889, 19891, 19913, 19919, 19927, 19937, 19949,
- 19961, 19963, 19973, 19979, 19991, 19993, 19997,
- 20011, 20021, 20023, 20029, 20047, 20051, 20063,
- 20071, 20089, 20101, 20107, 20113, 20117, 20123,
- 20129, 20143, 20147, 20149, 20161, 20173, 20177,
- 20183, 20201, 20219, 20231, 20233, 20249, 20261,
- 20269, 20287, 20297, 20323, 20327, 20333, 20341,
- 20347, 20353, 20357, 20359, 20369, 20389, 20393,
- 20399, 20407, 20411, 20431, 20441, 20443, 20477,
- 20479, 20483, 20507, 20509, 20521, 20533, 20543,
- 20549, 20551, 20563, 20593, 20599, 20611, 20627,
- 20639, 20641, 20663, 20681, 20693, 20707, 20717,
- 20719, 20731, 20743, 20747, 20749, 20753, 20759,
- 20771, 20773, 20789, 20807, 20809, 20849, 20857,
- 20873, 20879, 20887, 20897, 20899, 20903, 20921,
- 20929, 20939, 20947, 20959, 20963, 20981, 20983,
- 21001, 21011, 21013, 21017, 21019, 21023, 21031,
- 21059, 21061, 21067, 21089, 21101, 21107, 21121,
- 21139, 21143, 21149, 21157, 21163, 21169, 21179,
- 21187, 21191, 21193, 21211, 21221, 21227, 21247,
- 21269, 21277, 21283, 21313, 21317, 21319, 21323,
- 21341, 21347, 21377, 21379, 21383, 21391, 21397,
- 21401, 21407, 21419, 21433, 21467, 21481, 21487,
- 21491, 21493, 21499, 21503, 21517, 21521, 21523,
- 21529, 21557, 21559, 21563, 21569, 21577, 21587,
- 21589, 21599, 21601, 21611, 21613, 21617, 21647,
- 21649, 21661, 21673, 21683, 21701, 21713, 21727,
- 21737, 21739, 21751, 21757, 21767, 21773, 21787,
- 21799, 21803, 21817, 21821, 21839, 21841, 21851,
- 21859, 21863, 21871, 21881, 21893, 21911, 21929,
- 21937, 21943, 21961, 21977, 21991, 21997, 22003,
- 22013, 22027, 22031, 22037, 22039, 22051, 22063,
- 22067, 22073, 22079, 22091, 22093, 22109, 22111,
- 22123, 22129, 22133, 22147, 22153, 22157, 22159,
- 22171, 22189, 22193, 22229, 22247, 22259, 22271,
- 22273, 22277, 22279, 22283, 22291, 22303, 22307,
- 22343, 22349, 22367, 22369, 22381, 22391, 22397,
- 22409, 22433, 22441, 22447, 22453, 22469, 22481,
- 22483, 22501, 22511, 22531, 22541, 22543, 22549,
- 22567, 22571, 22573, 22613, 22619, 22621, 22637,
- 22639, 22643, 22651, 22669, 22679, 22691, 22697,
- 22699, 22709, 22717, 22721, 22727, 22739, 22741,
- 22751, 22769, 22777, 22783, 22787, 22807, 22811,
- 22817, 22853, 22859, 22861, 22871, 22877, 22901,
- 22907, 22921, 22937, 22943, 22961, 22963, 22973,
- 22993, 23003, 23011, 23017, 23021, 23027, 23029,
- 23039, 23041, 23053, 23057, 23059, 23063, 23071,
- 23081, 23087, 23099, 23117, 23131, 23143, 23159,
- 23167, 23173, 23189, 23197, 23201, 23203, 23209,
- 23227, 23251, 23269, 23279, 23291, 23293, 23297,
- 23311, 23321, 23327, 23333, 23339, 23357, 23369,
- 23371, 23399, 23417, 23431, 23447, 23459, 23473,
- 23497, 23509, 23531, 23537, 23539, 23549, 23557,
- 23561, 23563, 23567, 23581, 23593, 23599, 23603,
- 23609, 23623, 23627, 23629, 23633, 23663, 23669,
- 23671, 23677, 23687, 23689, 23719, 23741, 23743,
- 23747, 23753, 23761, 23767, 23773, 23789, 23801,
- 23813, 23819, 23827, 23831, 23833, 23857, 23869,
- 23873, 23879, 23887, 23893, 23899, 23909, 23911,
- 23917, 23929, 23957, 23971, 23977, 23981, 23993,
- 24001, 24007, 24019, 24023, 24029, 24043, 24049,
- 24061, 24071, 24077, 24083, 24091, 24097, 24103,
- 24107, 24109, 24113, 24121, 24133, 24137, 24151,
- 24169, 24179, 24181, 24197, 24203, 24223, 24229,
- 24239, 24247, 24251, 24281, 24317, 24329, 24337,
- 24359, 24371, 24373, 24379, 24391, 24407, 24413,
- 24419, 24421, 24439, 24443, 24469, 24473, 24481,
- 24499, 24509, 24517, 24527, 24533, 24547, 24551,
- 24571, 24593, 24611, 24623, 24631, 24659, 24671,
- 24677, 24683, 24691, 24697, 24709, 24733, 24749,
- 24763, 24767, 24781, 24793, 24799, 24809, 24821,
- 24841, 24847, 24851, 24859, 24877, 24889, 24907,
- 24917, 24919, 24923, 24943, 24953, 24967, 24971,
- 24977, 24979, 24989, 25013, 25031, 25033, 25037,
- 25057, 25073, 25087, 25097, 25111, 25117, 25121,
- 25127, 25147, 25153, 25163, 25169, 25171, 25183,
- 25189, 25219, 25229, 25237, 25243, 25247, 25253,
- 25261, 25301, 25303, 25307, 25309, 25321, 25339,
- 25343, 25349, 25357, 25367, 25373, 25391, 25409,
- 25411, 25423, 25439, 25447, 25453, 25457, 25463,
- 25469, 25471, 25523, 25537, 25541, 25561, 25577,
- 25579, 25583, 25589, 25601, 25603, 25609, 25621,
- 25633, 25639, 25643, 25657, 25667, 25673, 25679,
- 25693, 25703, 25717, 25733, 25741, 25747, 25759,
- 25763, 25771, 25793, 25799, 25801, 25819, 25841,
- 25847, 25849, 25867, 25873, 25889, 25903, 25913,
- 25919, 25931, 25933, 25939, 25943, 25951, 25969,
- 25981, 25997, 25999, 26003, 26017, 26021, 26029,
- 26041, 26053, 26083, 26099, 26107, 26111, 26113,
- 26119, 26141, 26153, 26161, 26171, 26177, 26183,
- 26189, 26203, 26209, 26227, 26237, 26249, 26251,
- 26261, 26263, 26267, 26293, 26297, 26309, 26317,
- 26321, 26339, 26347, 26357, 26371, 26387, 26393,
- 26399, 26407, 26417, 26423, 26431, 26437, 26449,
- 26459, 26479, 26489, 26497, 26501, 26513, 26539,
- 26557, 26561, 26573, 26591, 26597, 26627, 26633,
- 26641, 26647, 26669, 26681, 26683, 26687, 26693,
- 26699, 26701, 26711, 26713, 26717, 26723, 26729,
- 26731, 26737, 26759, 26777, 26783, 26801, 26813,
- 26821, 26833, 26839, 26849, 26861, 26863, 26879,
- 26881, 26891, 26893, 26903, 26921, 26927, 26947,
- 26951, 26953, 26959, 26981, 26987, 26993, 27011,
- 27017, 27031, 27043, 27059, 27061, 27067, 27073,
- 27077, 27091, 27103, 27107, 27109, 27127, 27143,
- 27179, 27191, 27197, 27211, 27239, 27241, 27253,
- 27259, 27271, 27277, 27281, 27283, 27299, 27329,
- 27337, 27361, 27367, 27397, 27407, 27409, 27427,
- 27431, 27437, 27449, 27457, 27479, 27481, 27487,
- 27509, 27527, 27529, 27539, 27541, 27551, 27581,
- 27583, 27611, 27617, 27631, 27647, 27653, 27673,
- 27689, 27691, 27697, 27701, 27733, 27737, 27739,
- 27743, 27749, 27751, 27763, 27767, 27773, 27779,
- 27791, 27793, 27799, 27803, 27809, 27817, 27823,
- 27827, 27847, 27851, 27883, 27893, 27901, 27917,
- 27919, 27941, 27943, 27947, 27953, 27961, 27967,
- 27983, 27997, 28001, 28019, 28027, 28031, 28051,
- 28057, 28069, 28081, 28087, 28097, 28099, 28109,
- 28111, 28123, 28151, 28163, 28181, 28183, 28201,
- 28211, 28219, 28229, 28277, 28279, 28283, 28289,
- 28297, 28307, 28309, 28319, 28349, 28351, 28387,
- 28393, 28403, 28409, 28411, 28429, 28433, 28439,
- 28447, 28463, 28477, 28493, 28499, 28513, 28517,
- 28537, 28541, 28547, 28549, 28559, 28571, 28573,
- 28579, 28591, 28597, 28603, 28607, 28619, 28621,
- 28627, 28631, 28643, 28649, 28657, 28661, 28663,
- 28669, 28687, 28697, 28703, 28711, 28723, 28729,
- 28751, 28753, 28759, 28771, 28789, 28793, 28807,
- 28813, 28817, 28837, 28843, 28859, 28867, 28871,
- 28879, 28901, 28909, 28921, 28927, 28933, 28949,
- 28961, 28979, 29009, 29017, 29021, 29023, 29027,
- 29033, 29059, 29063, 29077, 29101, 29123, 29129,
- 29131, 29137, 29147, 29153, 29167, 29173, 29179,
- 29191, 29201, 29207, 29209, 29221, 29231, 29243,
- 29251, 29269, 29287, 29297, 29303, 29311, 29327,
- 29333, 29339, 29347, 29363, 29383, 29387, 29389,
- 29399, 29401, 29411, 29423, 29429, 29437, 29443,
- 29453, 29473, 29483, 29501, 29527, 29531, 29537,
- 29567, 29569, 29573, 29581, 29587, 29599, 29611,
- 29629, 29633, 29641, 29663, 29669, 29671, 29683,
- 29717, 29723, 29741, 29753, 29759, 29761, 29789,
- 29803, 29819, 29833, 29837, 29851, 29863, 29867,
- 29873, 29879, 29881, 29917, 29921, 29927, 29947,
- 29959, 29983, 29989, 30011, 30013, 30029, 30047,
- 30059, 30071, 30089, 30091, 30097, 30103, 30109,
- 30113, 30119, 30133, 30137, 30139, 30161, 30169,
- 30181, 30187, 30197, 30203, 30211, 30223, 30241,
- 30253, 30259, 30269, 30271, 30293, 30307, 30313,
- 30319, 30323, 30341, 30347, 30367, 30389, 30391,
- 30403, 30427, 30431, 30449, 30467, 30469, 30491,
- 30493, 30497, 30509, 30517, 30529, 30539, 30553,
- 30557, 30559, 30577, 30593, 30631, 30637, 30643,
- 30649, 30661, 30671, 30677, 30689, 30697, 30703,
- 30707, 30713, 30727, 30757, 30763, 30773, 30781,
- 30803, 30809, 30817, 30829, 30839, 30841, 30851,
- 30853, 30859, 30869, 30871, 30881, 30893, 30911,
- 30931, 30937, 30941, 30949, 30971, 30977, 30983,
- 31013, 31019, 31033, 31039, 31051, 31063, 31069,
- 31079, 31081, 31091, 31121, 31123, 31139, 31147,
- 31151, 31153, 31159, 31177, 31181, 31183, 31189,
- 31193, 31219, 31223, 31231, 31237, 31247, 31249,
- 31253, 31259, 31267, 31271, 31277, 31307, 31319,
- 31321, 31327, 31333, 31337, 31357, 31379, 31387,
- 31391, 31393, 31397, 31469, 31477, 31481, 31489,
- 31511, 31513, 31517, 31531, 31541, 31543, 31547,
- 31567, 31573, 31583, 31601, 31607, 31627, 31643,
- 31649, 31657, 31663, 31667, 31687, 31699, 31721,
- 31723, 31727, 31729, 31741, 31751, 31769, 31771,
- 31793, 31799, 31817, 31847, 31849, 31859, 31873,
- 31883, 31891, 31907, 31957, 31963, 31973, 31981,
- 31991, 32003, 32009, 32027, 32029, 32051, 32057,
- 32059, 32063, 32069, 32077, 32083, 32089, 32099,
- 32117, 32119, 32141, 32143, 32159, 32173, 32183,
- 32189, 32191, 32203, 32213, 32233, 32237, 32251,
- 32257, 32261, 32297, 32299, 32303, 32309, 32321,
- 32323, 32327, 32341, 32353, 32359, 32363, 32369,
- 32371, 32377, 32381, 32401, 32411, 32413, 32423,
- 32429, 32441, 32443, 32467, 32479, 32491, 32497,
- 32503, 32507, 32531, 32533, 32537, 32561, 32563,
- 32569, 32573, 32579, 32587, 32603, 32609, 32611,
- 32621, 32633, 32647, 32653, 32687, 32693, 32707,
- 32713, 32717, 32719, 32749, 32771, 32779, 32783,
- 32789, 32797, 32801, 32803, 32831, 32833, 32839,
- 32843, 32869, 32887, 32909, 32911, 32917, 32933,
- 32939, 32941, 32957, 32969, 32971, 32983, 32987,
- 32993, 32999, 33013, 33023, 33029, 33037, 33049,
- 33053, 33071, 33073, 33083, 33091, 33107, 33113,
- 33119, 33149, 33151, 33161, 33179, 33181, 33191,
- 33199, 33203, 33211, 33223, 33247, 33287, 33289,
- 33301, 33311, 33317, 33329, 33331, 33343, 33347,
- 33349, 33353, 33359, 33377, 33391, 33403, 33409,
- 33413, 33427, 33457, 33461, 33469, 33479, 33487,
- 33493, 33503, 33521, 33529, 33533, 33547, 33563,
- 33569, 33577, 33581, 33587, 33589, 33599, 33601,
- 33613, 33617, 33619, 33623, 33629, 33637, 33641,
- 33647, 33679, 33703, 33713, 33721, 33739, 33749,
- 33751, 33757, 33767, 33769, 33773, 33791, 33797,
- 33809, 33811, 33827, 33829, 33851, 33857, 33863,
- 33871, 33889, 33893, 33911, 33923, 33931, 33937,
- 33941, 33961, 33967, 33997, 34019, 34031, 34033,
- 34039, 34057, 34061, 34123, 34127, 34129, 34141,
- 34147, 34157, 34159, 34171, 34183, 34211, 34213,
- 34217, 34231, 34253, 34259, 34261, 34267, 34273,
- 34283, 34297, 34301, 34303, 34313, 34319, 34327,
- 34337, 34351, 34361, 34367, 34369, 34381, 34403,
- 34421, 34429, 34439, 34457, 34469, 34471, 34483,
- 34487, 34499, 34501, 34511, 34513, 34519, 34537,
- 34543, 34549, 34583, 34589, 34591, 34603, 34607,
- 34613, 34631, 34649, 34651, 34667, 34673, 34679,
- 34687, 34693, 34703, 34721, 34729, 34739, 34747,
- 34757, 34759, 34763, 34781, 34807, 34819, 34841,
- 34843, 34847, 34849, 34871, 34877, 34883, 34897,
- 34913, 34919, 34939, 34949, 34961, 34963, 34981,
- 35023, 35027, 35051, 35053, 35059, 35069, 35081,
- 35083, 35089, 35099, 35107, 35111, 35117, 35129,
- 35141, 35149, 35153, 35159, 35171, 35201, 35221,
- 35227, 35251, 35257, 35267, 35279, 35281, 35291,
- 35311, 35317, 35323, 35327, 35339, 35353, 35363,
- 35381, 35393, 35401, 35407, 35419, 35423, 35437,
- 35447, 35449, 35461, 35491, 35507, 35509, 35521,
- 35527, 35531, 35533, 35537, 35543, 35569, 35573,
- 35591, 35593, 35597, 35603, 35617, 35671, 35677,
- 35729, 35731, 35747, 35753, 35759, 35771, 35797,
- 35801, 35803, 35809, 35831, 35837, 35839, 35851,
- 35863, 35869, 35879, 35897, 35899, 35911, 35923,
- 35933, 35951, 35963, 35969, 35977, 35983, 35993,
- 35999, 36007, 36011, 36013, 36017, 36037, 36061,
- 36067, 36073, 36083, 36097, 36107, 36109, 36131,
- 36137, 36151, 36161, 36187, 36191, 36209, 36217,
- 36229, 36241, 36251, 36263, 36269, 36277, 36293,
- 36299, 36307, 36313, 36319, 36341, 36343, 36353,
- 36373, 36383, 36389, 36433, 36451, 36457, 36467,
- 36469, 36473, 36479, 36493, 36497, 36523, 36527,
- 36529, 36541, 36551, 36559, 36563, 36571, 36583,
- 36587, 36599, 36607, 36629, 36637, 36643, 36653,
- 36671, 36677, 36683, 36691, 36697, 36709, 36713,
- 36721, 36739, 36749, 36761, 36767, 36779, 36781,
- 36787, 36791, 36793, 36809, 36821, 36833, 36847,
- 36857, 36871, 36877, 36887, 36899, 36901, 36913,
- 36919, 36923, 36929, 36931, 36943, 36947, 36973,
- 36979, 36997, 37003, 37013, 37019, 37021, 37039,
- 37049, 37057, 37061, 37087, 37097, 37117, 37123,
- 37139, 37159, 37171, 37181, 37189, 37199, 37201,
- 37217, 37223, 37243, 37253, 37273, 37277, 37307,
- 37309, 37313, 37321, 37337, 37339, 37357, 37361,
- 37363, 37369, 37379, 37397, 37409, 37423, 37441,
- 37447, 37463, 37483, 37489, 37493, 37501, 37507,
- 37511, 37517, 37529, 37537, 37547, 37549, 37561,
- 37567, 37571, 37573, 37579, 37589, 37591, 37607,
- 37619, 37633, 37643, 37649, 37657, 37663, 37691,
- 37693, 37699, 37717, 37747, 37781, 37783, 37799,
- 37811, 37813, 37831, 37847, 37853, 37861, 37871,
- 37879, 37889, 37897, 37907, 37951, 37957, 37963,
- 37967, 37987, 37991, 37993, 37997, 38011, 38039,
- 38047, 38053, 38069, 38083, 38113, 38119, 38149,
- 38153, 38167, 38177, 38183, 38189, 38197, 38201,
- 38219, 38231, 38237, 38239, 38261, 38273, 38281,
- 38287, 38299, 38303, 38317, 38321, 38327, 38329,
- 38333, 38351, 38371, 38377, 38393, 38431, 38447,
- 38449, 38453, 38459, 38461, 38501, 38543, 38557,
- 38561, 38567, 38569, 38593, 38603, 38609, 38611,
- 38629, 38639, 38651, 38653, 38669, 38671, 38677,
- 38693, 38699, 38707, 38711, 38713, 38723, 38729,
- 38737, 38747, 38749, 38767, 38783, 38791, 38803,
- 38821, 38833, 38839, 38851, 38861, 38867, 38873,
- 38891, 38903, 38917, 38921, 38923, 38933, 38953,
- 38959, 38971, 38977, 38993, 39019, 39023, 39041,
- 39043, 39047, 39079, 39089, 39097, 39103, 39107,
- 39113, 39119, 39133, 39139, 39157, 39161, 39163,
- 39181, 39191, 39199, 39209, 39217, 39227, 39229,
- 39233, 39239, 39241, 39251, 39293, 39301, 39313,
- 39317, 39323, 39341, 39343, 39359, 39367, 39371,
- 39373, 39383, 39397, 39409, 39419, 39439, 39443,
- 39451, 39461, 39499, 39503, 39509, 39511, 39521,
- 39541, 39551, 39563, 39569, 39581, 39607, 39619,
- 39623, 39631, 39659, 39667, 39671, 39679, 39703,
- 39709, 39719, 39727, 39733, 39749, 39761, 39769,
- 39779, 39791, 39799, 39821, 39827, 39829, 39839,
- 39841, 39847, 39857, 39863, 39869, 39877, 39883,
- 39887, 39901, 39929, 39937, 39953, 39971, 39979,
- 39983, 39989, 40009, 40013, 40031, 40037, 40039,
- 40063, 40087, 40093, 40099, 40111, 40123, 40127,
- 40129, 40151, 40153, 40163, 40169, 40177, 40189,
- 40193, 40213, 40231, 40237, 40241, 40253, 40277,
- 40283, 40289, 40343, 40351, 40357, 40361, 40387,
- 40423, 40427, 40429, 40433, 40459, 40471, 40483,
- 40487, 40493, 40499, 40507, 40519, 40529, 40531,
- 40543, 40559, 40577, 40583, 40591, 40597, 40609,
- 40627, 40637, 40639, 40693, 40697, 40699, 40709,
- 40739, 40751, 40759, 40763, 40771, 40787, 40801,
- 40813, 40819, 40823, 40829, 40841, 40847, 40849,
- 40853, 40867, 40879, 40883, 40897, 40903, 40927,
- 40933, 40939, 40949, 40961, 40973, 40993, 41011,
- 41017, 41023, 41039, 41047, 41051, 41057, 41077,
- 41081, 41113, 41117, 41131, 41141, 41143, 41149,
- 41161, 41177, 41179, 41183, 41189, 41201, 41203,
- 41213, 41221, 41227, 41231, 41233, 41243, 41257,
- 41263, 41269, 41281, 41299, 41333, 41341, 41351,
- 41357, 41381, 41387, 41389, 41399, 41411, 41413,
- 41443, 41453, 41467, 41479, 41491, 41507, 41513,
- 41519, 41521, 41539, 41543, 41549, 41579, 41593,
- 41597, 41603, 41609, 41611, 41617, 41621, 41627,
- 41641, 41647, 41651, 41659, 41669, 41681, 41687,
- 41719, 41729, 41737, 41759, 41761, 41771, 41777,
- 41801, 41809, 41813, 41843, 41849, 41851, 41863,
- 41879, 41887, 41893, 41897, 41903, 41911, 41927,
- 41941, 41947, 41953, 41957, 41959, 41969, 41981,
- 41983, 41999, 42013, 42017, 42019, 42023, 42043,
- 42061, 42071, 42073, 42083, 42089, 42101, 42131,
- 42139, 42157, 42169, 42179, 42181, 42187, 42193,
- 42197, 42209, 42221, 42223, 42227, 42239, 42257,
- 42281, 42283, 42293, 42299, 42307, 42323, 42331,
- 42337, 42349, 42359, 42373, 42379, 42391, 42397,
- 42403, 42407, 42409, 42433, 42437, 42443, 42451,
- 42457, 42461, 42463, 42467, 42473, 42487, 42491,
- 42499, 42509, 42533, 42557, 42569, 42571, 42577,
- 42589, 42611, 42641, 42643, 42649, 42667, 42677,
- 42683, 42689, 42697, 42701, 42703, 42709, 42719,
- 42727, 42737, 42743, 42751, 42767, 42773, 42787,
- 42793, 42797, 42821, 42829, 42839, 42841, 42853,
- 42859, 42863, 42899, 42901, 42923, 42929, 42937,
- 42943, 42953, 42961, 42967, 42979, 42989, 43003,
- 43013, 43019, 43037, 43049, 43051, 43063, 43067,
- 43093, 43103, 43117, 43133, 43151, 43159, 43177,
- 43189, 43201, 43207, 43223, 43237, 43261, 43271,
- 43283, 43291, 43313, 43319, 43321, 43331, 43391,
- 43397, 43399, 43403, 43411, 43427, 43441, 43451,
- 43457, 43481, 43487, 43499, 43517, 43541, 43543,
- 43573, 43577, 43579, 43591, 43597, 43607, 43609,
- 43613, 43627, 43633, 43649, 43651, 43661, 43669,
- 43691, 43711, 43717, 43721, 43753, 43759, 43777,
- 43781, 43783, 43787, 43789, 43793, 43801, 43853,
- 43867, 43889, 43891, 43913, 43933, 43943, 43951,
- 43961, 43963, 43969, 43973, 43987, 43991, 43997,
- 44017, 44021, 44027, 44029, 44041, 44053, 44059,
- 44071, 44087, 44089, 44101, 44111, 44119, 44123,
- 44129, 44131, 44159, 44171, 44179, 44189, 44201,
- 44203, 44207, 44221, 44249, 44257, 44263, 44267,
- 44269, 44273, 44279, 44281, 44293, 44351, 44357,
- 44371, 44381, 44383, 44389, 44417, 44449, 44453,
- 44483, 44491, 44497, 44501, 44507, 44519, 44531,
- 44533, 44537, 44543, 44549, 44563, 44579, 44587,
- 44617, 44621, 44623, 44633, 44641, 44647, 44651,
- 44657, 44683, 44687, 44699, 44701, 44711, 44729,
- 44741, 44753, 44771, 44773, 44777, 44789, 44797,
- 44809, 44819, 44839, 44843, 44851, 44867, 44879,
- 44887, 44893, 44909, 44917, 44927, 44939, 44953,
- 44959, 44963, 44971, 44983, 44987, 45007, 45013,
- 45053, 45061, 45077, 45083, 45119, 45121, 45127,
- 45131, 45137, 45139, 45161, 45179, 45181, 45191,
- 45197, 45233, 45247, 45259, 45263, 45281, 45289,
- 45293, 45307, 45317, 45319, 45329, 45337, 45341,
- 45343, 45361, 45377, 45389, 45403, 45413, 45427,
- 45433, 45439, 45481, 45491, 45497, 45503, 45523,
- 45533, 45541, 45553, 45557, 45569, 45587, 45589,
- 45599, 45613, 45631, 45641, 45659, 45667, 45673,
- 45677, 45691, 45697, 45707, 45737, 45751, 45757,
- 45763, 45767, 45779, 45817, 45821, 45823, 45827,
- 45833, 45841, 45853, 45863, 45869, 45887, 45893,
- 45943, 45949, 45953, 45959, 45971, 45979, 45989,
- 46021, 46027, 46049, 46051, 46061, 46073, 46091,
- 46093, 46099, 46103, 46133, 46141, 46147, 46153,
- 46171, 46181, 46183, 46187, 46199, 46219, 46229,
- 46237, 46261, 46271, 46273, 46279, 46301, 46307,
- 46309, 46327, 46337, 46349, 46351, 46381, 46399,
- 46411, 46439, 46441, 46447, 46451, 46457, 46471,
- 46477, 46489, 46499, 46507, 46511, 46523, 46549,
- 46559, 46567, 46573, 46589, 46591, 46601, 46619,
- 46633, 46639, 46643, 46649, 46663, 46679, 46681,
- 46687, 46691, 46703, 46723, 46727, 46747, 46751,
- 46757, 46769, 46771, 46807, 46811, 46817, 46819,
- 46829, 46831, 46853, 46861, 46867, 46877, 46889,
- 46901, 46919, 46933, 46957, 46993, 46997, 47017,
- 47041, 47051, 47057, 47059, 47087, 47093, 47111,
- 47119, 47123, 47129, 47137, 47143, 47147, 47149,
- 47161, 47189, 47207, 47221, 47237, 47251, 47269,
- 47279, 47287, 47293, 47297, 47303, 47309, 47317,
- 47339, 47351, 47353, 47363, 47381, 47387, 47389,
- 47407, 47417, 47419, 47431, 47441, 47459, 47491,
- 47497, 47501, 47507, 47513, 47521, 47527, 47533,
- 47543, 47563, 47569, 47581, 47591, 47599, 47609,
- 47623, 47629, 47639, 47653, 47657, 47659, 47681,
- 47699, 47701, 47711, 47713, 47717, 47737, 47741,
- 47743, 47777, 47779, 47791, 47797, 47807, 47809,
- 47819, 47837, 47843, 47857, 47869, 47881, 47903,
- 47911, 47917, 47933, 47939, 47947, 47951, 47963,
- 47969, 47977, 47981, 48017, 48023, 48029, 48049,
- 48073, 48079, 48091, 48109, 48119, 48121, 48131,
- 48157, 48163, 48179, 48187, 48193, 48197, 48221,
- 48239, 48247, 48259, 48271, 48281, 48299, 48311,
- 48313, 48337, 48341, 48353, 48371, 48383, 48397,
- 48407, 48409, 48413, 48437, 48449, 48463, 48473,
- 48479, 48481, 48487, 48491, 48497, 48523, 48527,
- 48533, 48539, 48541, 48563, 48571, 48589, 48593,
- 48611, 48619, 48623, 48647, 48649, 48661, 48673,
- 48677, 48679, 48731, 48733, 48751, 48757, 48761,
- 48767, 48779, 48781, 48787, 48799, 48809, 48817,
- 48821, 48823, 48847, 48857, 48859, 48869, 48871,
- 48883, 48889, 48907, 48947, 48953, 48973, 48989,
- 48991, 49003, 49009, 49019, 49031, 49033, 49037,
- 49043, 49057, 49069, 49081, 49103, 49109, 49117,
- 49121, 49123, 49139, 49157, 49169, 49171, 49177,
- 49193, 49199, 49201, 49207, 49211, 49223, 49253,
- 49261, 49277, 49279, 49297, 49307, 49331, 49333,
- 49339, 49363, 49367, 49369, 49391, 49393, 49409,
- 49411, 49417, 49429, 49433, 49451, 49459, 49463,
- 49477, 49481, 49499, 49523, 49529, 49531, 49537,
- 49547, 49549, 49559, 49597, 49603, 49613, 49627,
- 49633, 49639, 49663, 49667, 49669, 49681, 49697,
- 49711, 49727, 49739, 49741, 49747, 49757, 49783,
- 49787, 49789, 49801, 49807, 49811, 49823, 49831,
- 49843, 49853, 49871, 49877, 49891, 49919, 49921,
- 49927, 49937, 49939, 49943, 49957, 49991, 49993,
- 49999, 50021, 50023, 50033, 50047, 50051, 50053,
- 50069, 50077, 50087, 50093, 50101, 50111, 50119,
- 50123, 50129, 50131, 50147, 50153, 50159, 50177,
- 50207, 50221, 50227, 50231, 50261, 50263, 50273,
- 50287, 50291, 50311, 50321, 50329, 50333, 50341,
- 50359, 50363, 50377, 50383, 50387, 50411, 50417,
- 50423, 50441, 50459, 50461, 50497, 50503, 50513,
- 50527, 50539, 50543, 50549, 50551, 50581, 50587,
- 50591, 50593, 50599, 50627, 50647, 50651, 50671,
- 50683, 50707, 50723, 50741, 50753, 50767, 50773,
- 50777, 50789, 50821, 50833, 50839, 50849, 50857,
- 50867, 50873, 50891, 50893, 50909, 50923, 50929,
- 50951, 50957, 50969, 50971, 50989, 50993, 51001,
- 51031, 51043, 51047, 51059, 51061, 51071, 51109,
- 51131, 51133, 51137, 51151, 51157, 51169, 51193,
- 51197, 51199, 51203, 51217, 51229, 51239, 51241,
- 51257, 51263, 51283, 51287, 51307, 51329, 51341,
- 51343, 51347, 51349, 51361, 51383, 51407, 51413,
- 51419, 51421, 51427, 51431, 51437, 51439, 51449,
- 51461, 51473, 51479, 51481, 51487, 51503, 51511,
- 51517, 51521, 51539, 51551, 51563, 51577, 51581,
- 51593, 51599, 51607, 51613, 51631, 51637, 51647,
- 51659, 51673, 51679, 51683, 51691, 51713, 51719,
- 51721, 51749, 51767, 51769, 51787, 51797, 51803,
- 51817, 51827, 51829, 51839, 51853, 51859, 51869,
- 51871, 51893, 51899, 51907, 51913, 51929, 51941,
- 51949, 51971, 51973, 51977, 51991, 52009, 52021,
- 52027, 52051, 52057, 52067, 52069, 52081, 52103,
- 52121, 52127, 52147, 52153, 52163, 52177, 52181,
- 52183, 52189, 52201, 52223, 52237, 52249, 52253,
- 52259, 52267, 52289, 52291, 52301, 52313, 52321,
- 52361, 52363, 52369, 52379, 52387, 52391, 52433,
- 52453, 52457, 52489, 52501, 52511, 52517, 52529,
- 52541, 52543, 52553, 52561, 52567, 52571, 52579,
- 52583, 52609, 52627, 52631, 52639, 52667, 52673,
- 52691, 52697, 52709, 52711, 52721, 52727, 52733,
- 52747, 52757, 52769, 52783, 52807, 52813, 52817,
- 52837, 52859, 52861, 52879, 52883, 52889, 52901,
- 52903, 52919, 52937, 52951, 52957, 52963, 52967,
- 52973, 52981, 52999, 53003, 53017, 53047, 53051,
- 53069, 53077, 53087, 53089, 53093, 53101, 53113,
- 53117, 53129, 53147, 53149, 53161, 53171, 53173,
- 53189, 53197, 53201, 53231, 53233, 53239, 53267,
- 53269, 53279, 53281, 53299, 53309, 53323, 53327,
- 53353, 53359, 53377, 53381, 53401, 53407, 53411,
- 53419, 53437, 53441, 53453, 53479, 53503, 53507,
- 53527, 53549, 53551, 53569, 53591, 53593, 53597,
- 53609, 53611, 53617, 53623, 53629, 53633, 53639,
- 53653, 53657, 53681, 53693, 53699, 53717, 53719,
- 53731, 53759, 53773, 53777, 53783, 53791, 53813,
- 53819, 53831, 53849, 53857, 53861, 53881, 53887,
- 53891, 53897, 53899, 53917, 53923, 53927, 53939,
- 53951, 53959, 53987, 53993, 54001, 54011, 54013,
- 54037, 54049, 54059, 54083, 54091, 54101, 54121,
- 54133, 54139, 54151, 54163, 54167, 54181, 54193,
- 54217, 54251, 54269, 54277, 54287, 54293, 54311,
- 54319, 54323, 54331, 54347, 54361, 54367, 54371,
- 54377, 54401, 54403, 54409, 54413, 54419, 54421,
- 54437, 54443, 54449, 54469, 54493, 54497, 54499,
- 54503, 54517, 54521, 54539, 54541, 54547, 54559,
- 54563, 54577, 54581, 54583, 54601, 54617, 54623,
- 54629, 54631, 54647, 54667, 54673, 54679, 54709,
- 54713, 54721, 54727, 54751, 54767, 54773, 54779,
- 54787, 54799, 54829, 54833, 54851, 54869, 54877,
- 54881, 54907, 54917, 54919, 54941, 54949, 54959,
- 54973, 54979, 54983, 55001, 55009, 55021, 55049,
- 55051, 55057, 55061, 55073, 55079, 55103, 55109,
- 55117, 55127, 55147, 55163, 55171, 55201, 55207,
- 55213, 55217, 55219, 55229, 55243, 55249, 55259,
- 55291, 55313, 55331, 55333, 55337, 55339, 55343,
- 55351, 55373, 55381, 55399, 55411, 55439, 55441,
- 55457, 55469, 55487, 55501, 55511, 55529, 55541,
- 55547, 55579, 55589, 55603, 55609, 55619, 55621,
- 55631, 55633, 55639, 55661, 55663, 55667, 55673,
- 55681, 55691, 55697, 55711, 55717, 55721, 55733,
- 55763, 55787, 55793, 55799, 55807, 55813, 55817,
- 55819, 55823, 55829, 55837, 55843, 55849, 55871,
- 55889, 55897, 55901, 55903, 55921, 55927, 55931,
- 55933, 55949, 55967, 55987, 55997, 56003, 56009,
- 56039, 56041, 56053, 56081, 56087, 56093, 56099,
- 56101, 56113, 56123, 56131, 56149, 56167, 56171,
- 56179, 56197, 56207, 56209, 56237, 56239, 56249,
- 56263, 56267, 56269, 56299, 56311, 56333, 56359,
- 56369, 56377, 56383, 56393, 56401, 56417, 56431,
- 56437, 56443, 56453, 56467, 56473, 56477, 56479,
- 56489, 56501, 56503, 56509, 56519, 56527, 56531,
- 56533, 56543, 56569, 56591, 56597, 56599, 56611,
- 56629, 56633, 56659, 56663, 56671, 56681, 56687,
- 56701, 56711, 56713, 56731, 56737, 56747, 56767,
- 56773, 56779, 56783, 56807, 56809, 56813, 56821,
- 56827, 56843, 56857, 56873, 56891, 56893, 56897,
- 56909, 56911, 56921, 56923, 56929, 56941, 56951,
- 56957, 56963, 56983, 56989, 56993, 56999, 57037,
- 57041, 57047, 57059, 57073, 57077, 57089, 57097,
- 57107, 57119, 57131, 57139, 57143, 57149, 57163,
- 57173, 57179, 57191, 57193, 57203, 57221, 57223,
- 57241, 57251, 57259, 57269, 57271, 57283, 57287,
- 57301, 57329, 57331, 57347, 57349, 57367, 57373,
- 57383, 57389, 57397, 57413, 57427, 57457, 57467,
- 57487, 57493, 57503, 57527, 57529, 57557, 57559,
- 57571, 57587, 57593, 57601, 57637, 57641, 57649,
- 57653, 57667, 57679, 57689, 57697, 57709, 57713,
- 57719, 57727, 57731, 57737, 57751, 57773, 57781,
- 57787, 57791, 57793, 57803, 57809, 57829, 57839,
- 57847, 57853, 57859, 57881, 57899, 57901, 57917,
- 57923, 57943, 57947, 57973, 57977, 57991, 58013,
- 58027, 58031, 58043, 58049, 58057, 58061, 58067,
- 58073, 58099, 58109, 58111, 58129, 58147, 58151,
- 58153, 58169, 58171, 58189, 58193, 58199, 58207,
- 58211, 58217, 58229, 58231, 58237, 58243, 58271,
- 58309, 58313, 58321, 58337, 58363, 58367, 58369,
- 58379, 58391, 58393, 58403, 58411, 58417, 58427,
- 58439, 58441, 58451, 58453, 58477, 58481, 58511,
- 58537, 58543, 58549, 58567, 58573, 58579, 58601,
- 58603, 58613, 58631, 58657, 58661, 58679, 58687,
- 58693, 58699, 58711, 58727, 58733, 58741, 58757,
- 58763, 58771, 58787, 58789, 58831, 58889, 58897,
- 58901, 58907, 58909, 58913, 58921, 58937, 58943,
- 58963, 58967, 58979, 58991, 58997, 59009, 59011,
- 59021, 59023, 59029, 59051, 59053, 59063, 59069,
- 59077, 59083, 59093, 59107, 59113, 59119, 59123,
- 59141, 59149, 59159, 59167, 59183, 59197, 59207,
- 59209, 59219, 59221, 59233, 59239, 59243, 59263,
- 59273, 59281, 59333, 59341, 59351, 59357, 59359,
- 59369, 59377, 59387, 59393, 59399, 59407, 59417,
- 59419, 59441, 59443, 59447, 59453, 59467, 59471,
- 59473, 59497, 59509, 59513, 59539, 59557, 59561,
- 59567, 59581, 59611, 59617, 59621, 59627, 59629,
- 59651, 59659, 59663, 59669, 59671, 59693, 59699,
- 59707, 59723, 59729, 59743, 59747, 59753, 59771,
- 59779, 59791, 59797, 59809, 59833, 59863, 59879,
- 59887, 59921, 59929, 59951, 59957, 59971, 59981,
- 59999, 60013, 60017, 60029, 60037, 60041, 60077,
- 60083, 60089, 60091, 60101, 60103, 60107, 60127,
- 60133, 60139, 60149, 60161, 60167, 60169, 60209,
- 60217, 60223, 60251, 60257, 60259, 60271, 60289,
- 60293, 60317, 60331, 60337, 60343, 60353, 60373,
- 60383, 60397, 60413, 60427, 60443, 60449, 60457,
- 60493, 60497, 60509, 60521, 60527, 60539, 60589,
- 60601, 60607, 60611, 60617, 60623, 60631, 60637,
- 60647, 60649, 60659, 60661, 60679, 60689, 60703,
- 60719, 60727, 60733, 60737, 60757, 60761, 60763,
- 60773, 60779, 60793, 60811, 60821, 60859, 60869,
- 60887, 60889, 60899, 60901, 60913, 60917, 60919,
- 60923, 60937, 60943, 60953, 60961, 61001, 61007,
- 61027, 61031, 61043, 61051, 61057, 61091, 61099,
- 61121, 61129, 61141, 61151, 61153, 61169, 61211,
- 61223, 61231, 61253, 61261, 61283, 61291, 61297,
- 61331, 61333, 61339, 61343, 61357, 61363, 61379,
- 61381, 61403, 61409, 61417, 61441, 61463, 61469,
- 61471, 61483, 61487, 61493, 61507, 61511, 61519,
- 61543, 61547, 61553, 61559, 61561, 61583, 61603,
- 61609, 61613, 61627, 61631, 61637, 61643, 61651,
- 61657, 61667, 61673, 61681, 61687, 61703, 61717,
- 61723, 61729, 61751, 61757, 61781, 61813, 61819,
- 61837, 61843, 61861, 61871, 61879, 61909, 61927,
- 61933, 61949, 61961, 61967, 61979, 61981, 61987,
- 61991, 62003, 62011, 62017, 62039, 62047, 62053,
- 62057, 62071, 62081, 62099, 62119, 62129, 62131,
- 62137, 62141, 62143, 62171, 62189, 62191, 62201,
- 62207, 62213, 62219, 62233, 62273, 62297, 62299,
- 62303, 62311, 62323, 62327, 62347, 62351, 62383,
- 62401, 62417, 62423, 62459, 62467, 62473, 62477,
- 62483, 62497, 62501, 62507, 62533, 62539, 62549,
- 62563, 62581, 62591, 62597, 62603, 62617, 62627,
- 62633, 62639, 62653, 62659, 62683, 62687, 62701,
- 62723, 62731, 62743, 62753, 62761, 62773, 62791,
- 62801, 62819, 62827, 62851, 62861, 62869, 62873,
- 62897, 62903, 62921, 62927, 62929, 62939, 62969,
- 62971, 62981, 62983, 62987, 62989, 63029, 63031,
- 63059, 63067, 63073, 63079, 63097, 63103, 63113,
- 63127, 63131, 63149, 63179, 63197, 63199, 63211,
- 63241, 63247, 63277, 63281, 63299, 63311, 63313,
- 63317, 63331, 63337, 63347, 63353, 63361, 63367,
- 63377, 63389, 63391, 63397, 63409, 63419, 63421,
- 63439, 63443, 63463, 63467, 63473, 63487, 63493,
- 63499, 63521, 63527, 63533, 63541, 63559, 63577,
- 63587, 63589, 63599, 63601, 63607, 63611, 63617,
- 63629, 63647, 63649, 63659, 63667, 63671, 63689,
- 63691, 63697, 63703, 63709, 63719, 63727, 63737,
- 63743, 63761, 63773, 63781, 63793, 63799, 63803,
- 63809, 63823, 63839, 63841, 63853, 63857, 63863,
- 63901, 63907, 63913, 63929, 63949, 63977, 63997,
- 64007, 64013, 64019, 64033, 64037, 64063, 64067,
- 64081, 64091, 64109, 64123, 64151, 64153, 64157,
- 64171, 64187, 64189, 64217, 64223, 64231, 64237,
- 64271, 64279, 64283, 64301, 64303, 64319, 64327,
- 64333, 64373, 64381, 64399, 64403, 64433, 64439,
- 64451, 64453, 64483, 64489, 64499, 64513, 64553,
- 64567, 64577, 64579, 64591, 64601, 64609, 64613,
- 64621, 64627, 64633, 64661, 64663, 64667, 64679,
- 64693, 64709, 64717, 64747, 64763, 64781, 64783,
- 64793, 64811, 64817, 64849, 64853, 64871, 64877,
- 64879, 64891, 64901, 64919, 64921, 64927, 64937,
- 64951, 64969, 64997, 65003, 65011, 65027, 65029,
- 65033, 65053, 65063, 65071, 65089, 65099, 65101,
- 65111, 65119, 65123, 65129, 65141, 65147, 65167,
- 65171, 65173, 65179, 65183, 65203, 65213, 65239,
- 65257, 65267, 65269, 65287, 65293, 65309, 65323,
- 65327, 65353, 65357, 65371, 65381, 65393, 65407,
- 65413, 65419, 65423, 65437, 65447, 65449, 65479,
- 65497, 65519, 65521, 0
+ 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
+ 37, 41, 43, 47, 53, 59, 61, 67, 71, 73,
+ 79, 83, 89, 97, 101, 103, 107, 109, 113, 127,
+ 131, 137, 139, 149, 151, 157, 163, 167, 173, 179,
+ 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
+ 239, 241, 251, 257, 263, 269, 271, 277, 281, 283,
+ 293, 307, 311, 313, 317, 331, 337, 347, 349, 353,
+ 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
+ 421, 431, 433, 439, 443, 449, 457, 461, 463, 467,
+ 479, 487, 491, 499, 503, 509, 521, 523, 541, 547,
+ 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
+ 613, 617, 619, 631, 641, 643, 647, 653, 659, 661,
+ 673, 677, 683, 691, 701, 709, 719, 727, 733, 739,
+ 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
+ 821, 823, 827, 829, 839, 853, 857, 859, 863, 877,
+ 881, 883, 887, 907, 911, 919, 929, 937, 941, 947,
+ 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019,
+ 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087,
+ 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153,
+ 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229,
+ 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297,
+ 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381,
+ 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453,
+ 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523,
+ 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597,
+ 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663,
+ 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741,
+ 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823,
+ 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901,
+ 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993,
+ 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063,
+ 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131,
+ 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221,
+ 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293,
+ 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371,
+ 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437,
+ 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539,
+ 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621,
+ 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689,
+ 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749,
+ 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833,
+ 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909,
+ 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001,
+ 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083,
+ 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187,
+ 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259,
+ 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343,
+ 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433,
+ 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517,
+ 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581,
+ 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659,
+ 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733,
+ 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823,
+ 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911,
+ 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001,
+ 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073,
+ 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153,
+ 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241,
+ 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327,
+ 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421,
+ 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507,
+ 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591,
+ 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663,
+ 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759,
+ 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861,
+ 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943,
+ 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009,
+ 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099,
+ 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189,
+ 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281,
+ 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393,
+ 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449,
+ 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527,
+ 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641,
+ 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701,
+ 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801,
+ 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861,
+ 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953,
+ 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067,
+ 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143,
+ 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229,
+ 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311,
+ 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373,
+ 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481,
+ 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577,
+ 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679,
+ 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763,
+ 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841,
+ 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947,
+ 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001,
+ 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109,
+ 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211,
+ 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307,
+ 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417,
+ 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507,
+ 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573,
+ 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649,
+ 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727,
+ 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841,
+ 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927,
+ 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039,
+ 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117,
+ 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221,
+ 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293,
+ 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389,
+ 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513,
+ 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599,
+ 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681,
+ 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747,
+ 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837,
+ 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933,
+ 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013,
+ 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127,
+ 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203,
+ 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293,
+ 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391,
+ 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461,
+ 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539,
+ 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643,
+ 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739,
+ 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817,
+ 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901,
+ 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009,
+ 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103,
+ 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181,
+ 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273,
+ 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, 10357,
+ 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, 10463,
+ 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589,
+ 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, 10663,
+ 10667, 10687, 10691, 10709, 10711, 10723, 10729, 10733, 10739, 10753,
+ 10771, 10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859, 10861,
+ 10867, 10883, 10889, 10891, 10903, 10909, 10937, 10939, 10949, 10957,
+ 10973, 10979, 10987, 10993, 11003, 11027, 11047, 11057, 11059, 11069,
+ 11071, 11083, 11087, 11093, 11113, 11117, 11119, 11131, 11149, 11159,
+ 11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251, 11257,
+ 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321, 11329, 11351,
+ 11353, 11369, 11383, 11393, 11399, 11411, 11423, 11437, 11443, 11447,
+ 11467, 11471, 11483, 11489, 11491, 11497, 11503, 11519, 11527, 11549,
+ 11551, 11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657, 11677,
+ 11681, 11689, 11699, 11701, 11717, 11719, 11731, 11743, 11777, 11779,
+ 11783, 11789, 11801, 11807, 11813, 11821, 11827, 11831, 11833, 11839,
+ 11863, 11867, 11887, 11897, 11903, 11909, 11923, 11927, 11933, 11939,
+ 11941, 11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, 12037,
+ 12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109, 12113,
+ 12119, 12143, 12149, 12157, 12161, 12163, 12197, 12203, 12211, 12227,
+ 12239, 12241, 12251, 12253, 12263, 12269, 12277, 12281, 12289, 12301,
+ 12323, 12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401, 12409,
+ 12413, 12421, 12433, 12437, 12451, 12457, 12473, 12479, 12487, 12491,
+ 12497, 12503, 12511, 12517, 12527, 12539, 12541, 12547, 12553, 12569,
+ 12577, 12583, 12589, 12601, 12611, 12613, 12619, 12637, 12641, 12647,
+ 12653, 12659, 12671, 12689, 12697, 12703, 12713, 12721, 12739, 12743,
+ 12757, 12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, 12841,
+ 12853, 12889, 12893, 12899, 12907, 12911, 12917, 12919, 12923, 12941,
+ 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003, 13007, 13009,
+ 13033, 13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109, 13121,
+ 13127, 13147, 13151, 13159, 13163, 13171, 13177, 13183, 13187, 13217,
+ 13219, 13229, 13241, 13249, 13259, 13267, 13291, 13297, 13309, 13313,
+ 13327, 13331, 13337, 13339, 13367, 13381, 13397, 13399, 13411, 13417,
+ 13421, 13441, 13451, 13457, 13463, 13469, 13477, 13487, 13499, 13513,
+ 13523, 13537, 13553, 13567, 13577, 13591, 13597, 13613, 13619, 13627,
+ 13633, 13649, 13669, 13679, 13681, 13687, 13691, 13693, 13697, 13709,
+ 13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781, 13789,
+ 13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879, 13883,
+ 13901, 13903, 13907, 13913, 13921, 13931, 13933, 13963, 13967, 13997,
+ 13999, 14009, 14011, 14029, 14033, 14051, 14057, 14071, 14081, 14083,
+ 14087, 14107, 14143, 14149, 14153, 14159, 14173, 14177, 14197, 14207,
+ 14221, 14243, 14249, 14251, 14281, 14293, 14303, 14321, 14323, 14327,
+ 14341, 14347, 14369, 14387, 14389, 14401, 14407, 14411, 14419, 14423,
+ 14431, 14437, 14447, 14449, 14461, 14479, 14489, 14503, 14519, 14533,
+ 14537, 14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, 14621,
+ 14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699, 14713,
+ 14717, 14723, 14731, 14737, 14741, 14747, 14753, 14759, 14767, 14771,
+ 14779, 14783, 14797, 14813, 14821, 14827, 14831, 14843, 14851, 14867,
+ 14869, 14879, 14887, 14891, 14897, 14923, 14929, 14939, 14947, 14951,
+ 14957, 14969, 14983, 15013, 15017, 15031, 15053, 15061, 15073, 15077,
+ 15083, 15091, 15101, 15107, 15121, 15131, 15137, 15139, 15149, 15161,
+ 15173, 15187, 15193, 15199, 15217, 15227, 15233, 15241, 15259, 15263,
+ 15269, 15271, 15277, 15287, 15289, 15299, 15307, 15313, 15319, 15329,
+ 15331, 15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 15413,
+ 15427, 15439, 15443, 15451, 15461, 15467, 15473, 15493, 15497, 15511,
+ 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601, 15607, 15619,
+ 15629, 15641, 15643, 15647, 15649, 15661, 15667, 15671, 15679, 15683,
+ 15727, 15731, 15733, 15737, 15739, 15749, 15761, 15767, 15773, 15787,
+ 15791, 15797, 15803, 15809, 15817, 15823, 15859, 15877, 15881, 15887,
+ 15889, 15901, 15907, 15913, 15919, 15923, 15937, 15959, 15971, 15973,
+ 15991, 16001, 16007, 16033, 16057, 16061, 16063, 16067, 16069, 16073,
+ 16087, 16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183, 16187,
+ 16189, 16193, 16217, 16223, 16229, 16231, 16249, 16253, 16267, 16273,
+ 16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381, 16411,
+ 16417, 16421, 16427, 16433, 16447, 16451, 16453, 16477, 16481, 16487,
+ 16493, 16519, 16529, 16547, 16553, 16561, 16567, 16573, 16603, 16607,
+ 16619, 16631, 16633, 16649, 16651, 16657, 16661, 16673, 16691, 16693,
+ 16699, 16703, 16729, 16741, 16747, 16759, 16763, 16787, 16811, 16823,
+ 16829, 16831, 16843, 16871, 16879, 16883, 16889, 16901, 16903, 16921,
+ 16927, 16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993, 17011,
+ 17021, 17027, 17029, 17033, 17041, 17047, 17053, 17077, 17093, 17099,
+ 17107, 17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, 17203,
+ 17207, 17209, 17231, 17239, 17257, 17291, 17293, 17299, 17317, 17321,
+ 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387, 17389, 17393,
+ 17401, 17417, 17419, 17431, 17443, 17449, 17467, 17471, 17477, 17483,
+ 17489, 17491, 17497, 17509, 17519, 17539, 17551, 17569, 17573, 17579,
+ 17581, 17597, 17599, 17609, 17623, 17627, 17657, 17659, 17669, 17681,
+ 17683, 17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783, 17789,
+ 17791, 17807, 17827, 17837, 17839, 17851, 17863, 17881, 17891, 17903,
+ 17909, 17911, 17921, 17923, 17929, 17939, 17957, 17959, 17971, 17977,
+ 17981, 17987, 17989, 18013, 18041, 18043, 18047, 18049, 18059, 18061,
+ 18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143, 18149,
+ 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229, 18233, 18251,
+ 18253, 18257, 18269, 18287, 18289, 18301, 18307, 18311, 18313, 18329,
+ 18341, 18353, 18367, 18371, 18379, 18397, 18401, 18413, 18427, 18433,
+ 18439, 18443, 18451, 18457, 18461, 18481, 18493, 18503, 18517, 18521,
+ 18523, 18539, 18541, 18553, 18583, 18587, 18593, 18617, 18637, 18661,
+ 18671, 18679, 18691, 18701, 18713, 18719, 18731, 18743, 18749, 18757,
+ 18773, 18787, 18793, 18797, 18803, 18839, 18859, 18869, 18899, 18911,
+ 18913, 18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009, 19013,
+ 19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121, 19139,
+ 19141, 19157, 19163, 19181, 19183, 19207, 19211, 19213, 19219, 19231,
+ 19237, 19249, 19259, 19267, 19273, 19289, 19301, 19309, 19319, 19333,
+ 19373, 19379, 19381, 19387, 19391, 19403, 19417, 19421, 19423, 19427,
+ 19429, 19433, 19441, 19447, 19457, 19463, 19469, 19471, 19477, 19483,
+ 19489, 19501, 19507, 19531, 19541, 19543, 19553, 19559, 19571, 19577,
+ 19583, 19597, 19603, 19609, 19661, 19681, 19687, 19697, 19699, 19709,
+ 19717, 19727, 19739, 19751, 19753, 19759, 19763, 19777, 19793, 19801,
+ 19813, 19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, 19913,
+ 19919, 19927, 19937, 19949, 19961, 19963, 19973, 19979, 19991, 19993,
+ 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063, 20071, 20089,
+ 20101, 20107, 20113, 20117, 20123, 20129, 20143, 20147, 20149, 20161,
+ 20173, 20177, 20183, 20201, 20219, 20231, 20233, 20249, 20261, 20269,
+ 20287, 20297, 20323, 20327, 20333, 20341, 20347, 20353, 20357, 20359,
+ 20369, 20389, 20393, 20399, 20407, 20411, 20431, 20441, 20443, 20477,
+ 20479, 20483, 20507, 20509, 20521, 20533, 20543, 20549, 20551, 20563,
+ 20593, 20599, 20611, 20627, 20639, 20641, 20663, 20681, 20693, 20707,
+ 20717, 20719, 20731, 20743, 20747, 20749, 20753, 20759, 20771, 20773,
+ 20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897, 20899,
+ 20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981, 20983, 21001,
+ 21011, 21013, 21017, 21019, 21023, 21031, 21059, 21061, 21067, 21089,
+ 21101, 21107, 21121, 21139, 21143, 21149, 21157, 21163, 21169, 21179,
+ 21187, 21191, 21193, 21211, 21221, 21227, 21247, 21269, 21277, 21283,
+ 21313, 21317, 21319, 21323, 21341, 21347, 21377, 21379, 21383, 21391,
+ 21397, 21401, 21407, 21419, 21433, 21467, 21481, 21487, 21491, 21493,
+ 21499, 21503, 21517, 21521, 21523, 21529, 21557, 21559, 21563, 21569,
+ 21577, 21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, 21649,
+ 21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751, 21757,
+ 21767, 21773, 21787, 21799, 21803, 21817, 21821, 21839, 21841, 21851,
+ 21859, 21863, 21871, 21881, 21893, 21911, 21929, 21937, 21943, 21961,
+ 21977, 21991, 21997, 22003, 22013, 22027, 22031, 22037, 22039, 22051,
+ 22063, 22067, 22073, 22079, 22091, 22093, 22109, 22111, 22123, 22129,
+ 22133, 22147, 22153, 22157, 22159, 22171, 22189, 22193, 22229, 22247,
+ 22259, 22271, 22273, 22277, 22279, 22283, 22291, 22303, 22307, 22343,
+ 22349, 22367, 22369, 22381, 22391, 22397, 22409, 22433, 22441, 22447,
+ 22453, 22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, 22549,
+ 22567, 22571, 22573, 22613, 22619, 22621, 22637, 22639, 22643, 22651,
+ 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721, 22727, 22739,
+ 22741, 22751, 22769, 22777, 22783, 22787, 22807, 22811, 22817, 22853,
+ 22859, 22861, 22871, 22877, 22901, 22907, 22921, 22937, 22943, 22961,
+ 22963, 22973, 22993, 23003, 23011, 23017, 23021, 23027, 23029, 23039,
+ 23041, 23053, 23057, 23059, 23063, 23071, 23081, 23087, 23099, 23117,
+ 23131, 23143, 23159, 23167, 23173, 23189, 23197, 23201, 23203, 23209,
+ 23227, 23251, 23269, 23279, 23291, 23293, 23297, 23311, 23321, 23327,
+ 23333, 23339, 23357, 23369, 23371, 23399, 23417, 23431, 23447, 23459,
+ 23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561, 23563,
+ 23567, 23581, 23593, 23599, 23603, 23609, 23623, 23627, 23629, 23633,
+ 23663, 23669, 23671, 23677, 23687, 23689, 23719, 23741, 23743, 23747,
+ 23753, 23761, 23767, 23773, 23789, 23801, 23813, 23819, 23827, 23831,
+ 23833, 23857, 23869, 23873, 23879, 23887, 23893, 23899, 23909, 23911,
+ 23917, 23929, 23957, 23971, 23977, 23981, 23993, 24001, 24007, 24019,
+ 24023, 24029, 24043, 24049, 24061, 24071, 24077, 24083, 24091, 24097,
+ 24103, 24107, 24109, 24113, 24121, 24133, 24137, 24151, 24169, 24179,
+ 24181, 24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, 24317,
+ 24329, 24337, 24359, 24371, 24373, 24379, 24391, 24407, 24413, 24419,
+ 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509, 24517, 24527,
+ 24533, 24547, 24551, 24571, 24593, 24611, 24623, 24631, 24659, 24671,
+ 24677, 24683, 24691, 24697, 24709, 24733, 24749, 24763, 24767, 24781,
+ 24793, 24799, 24809, 24821, 24841, 24847, 24851, 24859, 24877, 24889,
+ 24907, 24917, 24919, 24923, 24943, 24953, 24967, 24971, 24977, 24979,
+ 24989, 25013, 25031, 25033, 25037, 25057, 25073, 25087, 25097, 25111,
+ 25117, 25121, 25127, 25147, 25153, 25163, 25169, 25171, 25183, 25189,
+ 25219, 25229, 25237, 25243, 25247, 25253, 25261, 25301, 25303, 25307,
+ 25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391, 25409,
+ 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469, 25471, 25523,
+ 25537, 25541, 25561, 25577, 25579, 25583, 25589, 25601, 25603, 25609,
+ 25621, 25633, 25639, 25643, 25657, 25667, 25673, 25679, 25693, 25703,
+ 25717, 25733, 25741, 25747, 25759, 25763, 25771, 25793, 25799, 25801,
+ 25819, 25841, 25847, 25849, 25867, 25873, 25889, 25903, 25913, 25919,
+ 25931, 25933, 25939, 25943, 25951, 25969, 25981, 25997, 25999, 26003,
+ 26017, 26021, 26029, 26041, 26053, 26083, 26099, 26107, 26111, 26113,
+ 26119, 26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203, 26209,
+ 26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297, 26309,
+ 26317, 26321, 26339, 26347, 26357, 26371, 26387, 26393, 26399, 26407,
+ 26417, 26423, 26431, 26437, 26449, 26459, 26479, 26489, 26497, 26501,
+ 26513, 26539, 26557, 26561, 26573, 26591, 26597, 26627, 26633, 26641,
+ 26647, 26669, 26681, 26683, 26687, 26693, 26699, 26701, 26711, 26713,
+ 26717, 26723, 26729, 26731, 26737, 26759, 26777, 26783, 26801, 26813,
+ 26821, 26833, 26839, 26849, 26861, 26863, 26879, 26881, 26891, 26893,
+ 26903, 26921, 26927, 26947, 26951, 26953, 26959, 26981, 26987, 26993,
+ 27011, 27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, 27091,
+ 27103, 27107, 27109, 27127, 27143, 27179, 27191, 27197, 27211, 27239,
+ 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299, 27329, 27337,
+ 27361, 27367, 27397, 27407, 27409, 27427, 27431, 27437, 27449, 27457,
+ 27479, 27481, 27487, 27509, 27527, 27529, 27539, 27541, 27551, 27581,
+ 27583, 27611, 27617, 27631, 27647, 27653, 27673, 27689, 27691, 27697,
+ 27701, 27733, 27737, 27739, 27743, 27749, 27751, 27763, 27767, 27773,
+ 27779, 27791, 27793, 27799, 27803, 27809, 27817, 27823, 27827, 27847,
+ 27851, 27883, 27893, 27901, 27917, 27919, 27941, 27943, 27947, 27953,
+ 27961, 27967, 27983, 27997, 28001, 28019, 28027, 28031, 28051, 28057,
+ 28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151, 28163,
+ 28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279, 28283, 28289,
+ 28297, 28307, 28309, 28319, 28349, 28351, 28387, 28393, 28403, 28409,
+ 28411, 28429, 28433, 28439, 28447, 28463, 28477, 28493, 28499, 28513,
+ 28517, 28537, 28541, 28547, 28549, 28559, 28571, 28573, 28579, 28591,
+ 28597, 28603, 28607, 28619, 28621, 28627, 28631, 28643, 28649, 28657,
+ 28661, 28663, 28669, 28687, 28697, 28703, 28711, 28723, 28729, 28751,
+ 28753, 28759, 28771, 28789, 28793, 28807, 28813, 28817, 28837, 28843,
+ 28859, 28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, 28949,
+ 28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059, 29063,
+ 29077, 29101, 29123, 29129, 29131, 29137, 29147, 29153, 29167, 29173,
+ 29179, 29191, 29201, 29207, 29209, 29221, 29231, 29243, 29251, 29269,
+ 29287, 29297, 29303, 29311, 29327, 29333, 29339, 29347, 29363, 29383,
+ 29387, 29389, 29399, 29401, 29411, 29423, 29429, 29437, 29443, 29453,
+ 29473, 29483, 29501, 29527, 29531, 29537, 29567, 29569, 29573, 29581,
+ 29587, 29599, 29611, 29629, 29633, 29641, 29663, 29669, 29671, 29683,
+ 29717, 29723, 29741, 29753, 29759, 29761, 29789, 29803, 29819, 29833,
+ 29837, 29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, 29927,
+ 29947, 29959, 29983, 29989, 30011, 30013, 30029, 30047, 30059, 30071,
+ 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133, 30137, 30139,
+ 30161, 30169, 30181, 30187, 30197, 30203, 30211, 30223, 30241, 30253,
+ 30259, 30269, 30271, 30293, 30307, 30313, 30319, 30323, 30341, 30347,
+ 30367, 30389, 30391, 30403, 30427, 30431, 30449, 30467, 30469, 30491,
+ 30493, 30497, 30509, 30517, 30529, 30539, 30553, 30557, 30559, 30577,
+ 30593, 30631, 30637, 30643, 30649, 30661, 30671, 30677, 30689, 30697,
+ 30703, 30707, 30713, 30727, 30757, 30763, 30773, 30781, 30803, 30809,
+ 30817, 30829, 30839, 30841, 30851, 30853, 30859, 30869, 30871, 30881,
+ 30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983, 31013,
+ 31019, 31033, 31039, 31051, 31063, 31069, 31079, 31081, 31091, 31121,
+ 31123, 31139, 31147, 31151, 31153, 31159, 31177, 31181, 31183, 31189,
+ 31193, 31219, 31223, 31231, 31237, 31247, 31249, 31253, 31259, 31267,
+ 31271, 31277, 31307, 31319, 31321, 31327, 31333, 31337, 31357, 31379,
+ 31387, 31391, 31393, 31397, 31469, 31477, 31481, 31489, 31511, 31513,
+ 31517, 31531, 31541, 31543, 31547, 31567, 31573, 31583, 31601, 31607,
+ 31627, 31643, 31649, 31657, 31663, 31667, 31687, 31699, 31721, 31723,
+ 31727, 31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, 31847,
+ 31849, 31859, 31873, 31883, 31891, 31907, 31957, 31963, 31973, 31981,
+ 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059, 32063, 32069,
+ 32077, 32083, 32089, 32099, 32117, 32119, 32141, 32143, 32159, 32173,
+ 32183, 32189, 32191, 32203, 32213, 32233, 32237, 32251, 32257, 32261,
+ 32297, 32299, 32303, 32309, 32321, 32323, 32327, 32341, 32353, 32359,
+ 32363, 32369, 32371, 32377, 32381, 32401, 32411, 32413, 32423, 32429,
+ 32441, 32443, 32467, 32479, 32491, 32497, 32503, 32507, 32531, 32533,
+ 32537, 32561, 32563, 32569, 32573, 32579, 32587, 32603, 32609, 32611,
+ 32621, 32633, 32647, 32653, 32687, 32693, 32707, 32713, 32717, 32719,
+ 32749, 32771, 32779, 32783, 32789, 32797, 32801, 32803, 32831, 32833,
+ 32839, 32843, 32869, 32887, 32909, 32911, 32917, 32933, 32939, 32941,
+ 32957, 32969, 32971, 32983, 32987, 32993, 32999, 33013, 33023, 33029,
+ 33037, 33049, 33053, 33071, 33073, 33083, 33091, 33107, 33113, 33119,
+ 33149, 33151, 33161, 33179, 33181, 33191, 33199, 33203, 33211, 33223,
+ 33247, 33287, 33289, 33301, 33311, 33317, 33329, 33331, 33343, 33347,
+ 33349, 33353, 33359, 33377, 33391, 33403, 33409, 33413, 33427, 33457,
+ 33461, 33469, 33479, 33487, 33493, 33503, 33521, 33529, 33533, 33547,
+ 33563, 33569, 33577, 33581, 33587, 33589, 33599, 33601, 33613, 33617,
+ 33619, 33623, 33629, 33637, 33641, 33647, 33679, 33703, 33713, 33721,
+ 33739, 33749, 33751, 33757, 33767, 33769, 33773, 33791, 33797, 33809,
+ 33811, 33827, 33829, 33851, 33857, 33863, 33871, 33889, 33893, 33911,
+ 33923, 33931, 33937, 33941, 33961, 33967, 33997, 34019, 34031, 34033,
+ 34039, 34057, 34061, 34123, 34127, 34129, 34141, 34147, 34157, 34159,
+ 34171, 34183, 34211, 34213, 34217, 34231, 34253, 34259, 34261, 34267,
+ 34273, 34283, 34297, 34301, 34303, 34313, 34319, 34327, 34337, 34351,
+ 34361, 34367, 34369, 34381, 34403, 34421, 34429, 34439, 34457, 34469,
+ 34471, 34483, 34487, 34499, 34501, 34511, 34513, 34519, 34537, 34543,
+ 34549, 34583, 34589, 34591, 34603, 34607, 34613, 34631, 34649, 34651,
+ 34667, 34673, 34679, 34687, 34693, 34703, 34721, 34729, 34739, 34747,
+ 34757, 34759, 34763, 34781, 34807, 34819, 34841, 34843, 34847, 34849,
+ 34871, 34877, 34883, 34897, 34913, 34919, 34939, 34949, 34961, 34963,
+ 34981, 35023, 35027, 35051, 35053, 35059, 35069, 35081, 35083, 35089,
+ 35099, 35107, 35111, 35117, 35129, 35141, 35149, 35153, 35159, 35171,
+ 35201, 35221, 35227, 35251, 35257, 35267, 35279, 35281, 35291, 35311,
+ 35317, 35323, 35327, 35339, 35353, 35363, 35381, 35393, 35401, 35407,
+ 35419, 35423, 35437, 35447, 35449, 35461, 35491, 35507, 35509, 35521,
+ 35527, 35531, 35533, 35537, 35543, 35569, 35573, 35591, 35593, 35597,
+ 35603, 35617, 35671, 35677, 35729, 35731, 35747, 35753, 35759, 35771,
+ 35797, 35801, 35803, 35809, 35831, 35837, 35839, 35851, 35863, 35869,
+ 35879, 35897, 35899, 35911, 35923, 35933, 35951, 35963, 35969, 35977,
+ 35983, 35993, 35999, 36007, 36011, 36013, 36017, 36037, 36061, 36067,
+ 36073, 36083, 36097, 36107, 36109, 36131, 36137, 36151, 36161, 36187,
+ 36191, 36209, 36217, 36229, 36241, 36251, 36263, 36269, 36277, 36293,
+ 36299, 36307, 36313, 36319, 36341, 36343, 36353, 36373, 36383, 36389,
+ 36433, 36451, 36457, 36467, 36469, 36473, 36479, 36493, 36497, 36523,
+ 36527, 36529, 36541, 36551, 36559, 36563, 36571, 36583, 36587, 36599,
+ 36607, 36629, 36637, 36643, 36653, 36671, 36677, 36683, 36691, 36697,
+ 36709, 36713, 36721, 36739, 36749, 36761, 36767, 36779, 36781, 36787,
+ 36791, 36793, 36809, 36821, 36833, 36847, 36857, 36871, 36877, 36887,
+ 36899, 36901, 36913, 36919, 36923, 36929, 36931, 36943, 36947, 36973,
+ 36979, 36997, 37003, 37013, 37019, 37021, 37039, 37049, 37057, 37061,
+ 37087, 37097, 37117, 37123, 37139, 37159, 37171, 37181, 37189, 37199,
+ 37201, 37217, 37223, 37243, 37253, 37273, 37277, 37307, 37309, 37313,
+ 37321, 37337, 37339, 37357, 37361, 37363, 37369, 37379, 37397, 37409,
+ 37423, 37441, 37447, 37463, 37483, 37489, 37493, 37501, 37507, 37511,
+ 37517, 37529, 37537, 37547, 37549, 37561, 37567, 37571, 37573, 37579,
+ 37589, 37591, 37607, 37619, 37633, 37643, 37649, 37657, 37663, 37691,
+ 37693, 37699, 37717, 37747, 37781, 37783, 37799, 37811, 37813, 37831,
+ 37847, 37853, 37861, 37871, 37879, 37889, 37897, 37907, 37951, 37957,
+ 37963, 37967, 37987, 37991, 37993, 37997, 38011, 38039, 38047, 38053,
+ 38069, 38083, 38113, 38119, 38149, 38153, 38167, 38177, 38183, 38189,
+ 38197, 38201, 38219, 38231, 38237, 38239, 38261, 38273, 38281, 38287,
+ 38299, 38303, 38317, 38321, 38327, 38329, 38333, 38351, 38371, 38377,
+ 38393, 38431, 38447, 38449, 38453, 38459, 38461, 38501, 38543, 38557,
+ 38561, 38567, 38569, 38593, 38603, 38609, 38611, 38629, 38639, 38651,
+ 38653, 38669, 38671, 38677, 38693, 38699, 38707, 38711, 38713, 38723,
+ 38729, 38737, 38747, 38749, 38767, 38783, 38791, 38803, 38821, 38833,
+ 38839, 38851, 38861, 38867, 38873, 38891, 38903, 38917, 38921, 38923,
+ 38933, 38953, 38959, 38971, 38977, 38993, 39019, 39023, 39041, 39043,
+ 39047, 39079, 39089, 39097, 39103, 39107, 39113, 39119, 39133, 39139,
+ 39157, 39161, 39163, 39181, 39191, 39199, 39209, 39217, 39227, 39229,
+ 39233, 39239, 39241, 39251, 39293, 39301, 39313, 39317, 39323, 39341,
+ 39343, 39359, 39367, 39371, 39373, 39383, 39397, 39409, 39419, 39439,
+ 39443, 39451, 39461, 39499, 39503, 39509, 39511, 39521, 39541, 39551,
+ 39563, 39569, 39581, 39607, 39619, 39623, 39631, 39659, 39667, 39671,
+ 39679, 39703, 39709, 39719, 39727, 39733, 39749, 39761, 39769, 39779,
+ 39791, 39799, 39821, 39827, 39829, 39839, 39841, 39847, 39857, 39863,
+ 39869, 39877, 39883, 39887, 39901, 39929, 39937, 39953, 39971, 39979,
+ 39983, 39989, 40009, 40013, 40031, 40037, 40039, 40063, 40087, 40093,
+ 40099, 40111, 40123, 40127, 40129, 40151, 40153, 40163, 40169, 40177,
+ 40189, 40193, 40213, 40231, 40237, 40241, 40253, 40277, 40283, 40289,
+ 40343, 40351, 40357, 40361, 40387, 40423, 40427, 40429, 40433, 40459,
+ 40471, 40483, 40487, 40493, 40499, 40507, 40519, 40529, 40531, 40543,
+ 40559, 40577, 40583, 40591, 40597, 40609, 40627, 40637, 40639, 40693,
+ 40697, 40699, 40709, 40739, 40751, 40759, 40763, 40771, 40787, 40801,
+ 40813, 40819, 40823, 40829, 40841, 40847, 40849, 40853, 40867, 40879,
+ 40883, 40897, 40903, 40927, 40933, 40939, 40949, 40961, 40973, 40993,
+ 41011, 41017, 41023, 41039, 41047, 41051, 41057, 41077, 41081, 41113,
+ 41117, 41131, 41141, 41143, 41149, 41161, 41177, 41179, 41183, 41189,
+ 41201, 41203, 41213, 41221, 41227, 41231, 41233, 41243, 41257, 41263,
+ 41269, 41281, 41299, 41333, 41341, 41351, 41357, 41381, 41387, 41389,
+ 41399, 41411, 41413, 41443, 41453, 41467, 41479, 41491, 41507, 41513,
+ 41519, 41521, 41539, 41543, 41549, 41579, 41593, 41597, 41603, 41609,
+ 41611, 41617, 41621, 41627, 41641, 41647, 41651, 41659, 41669, 41681,
+ 41687, 41719, 41729, 41737, 41759, 41761, 41771, 41777, 41801, 41809,
+ 41813, 41843, 41849, 41851, 41863, 41879, 41887, 41893, 41897, 41903,
+ 41911, 41927, 41941, 41947, 41953, 41957, 41959, 41969, 41981, 41983,
+ 41999, 42013, 42017, 42019, 42023, 42043, 42061, 42071, 42073, 42083,
+ 42089, 42101, 42131, 42139, 42157, 42169, 42179, 42181, 42187, 42193,
+ 42197, 42209, 42221, 42223, 42227, 42239, 42257, 42281, 42283, 42293,
+ 42299, 42307, 42323, 42331, 42337, 42349, 42359, 42373, 42379, 42391,
+ 42397, 42403, 42407, 42409, 42433, 42437, 42443, 42451, 42457, 42461,
+ 42463, 42467, 42473, 42487, 42491, 42499, 42509, 42533, 42557, 42569,
+ 42571, 42577, 42589, 42611, 42641, 42643, 42649, 42667, 42677, 42683,
+ 42689, 42697, 42701, 42703, 42709, 42719, 42727, 42737, 42743, 42751,
+ 42767, 42773, 42787, 42793, 42797, 42821, 42829, 42839, 42841, 42853,
+ 42859, 42863, 42899, 42901, 42923, 42929, 42937, 42943, 42953, 42961,
+ 42967, 42979, 42989, 43003, 43013, 43019, 43037, 43049, 43051, 43063,
+ 43067, 43093, 43103, 43117, 43133, 43151, 43159, 43177, 43189, 43201,
+ 43207, 43223, 43237, 43261, 43271, 43283, 43291, 43313, 43319, 43321,
+ 43331, 43391, 43397, 43399, 43403, 43411, 43427, 43441, 43451, 43457,
+ 43481, 43487, 43499, 43517, 43541, 43543, 43573, 43577, 43579, 43591,
+ 43597, 43607, 43609, 43613, 43627, 43633, 43649, 43651, 43661, 43669,
+ 43691, 43711, 43717, 43721, 43753, 43759, 43777, 43781, 43783, 43787,
+ 43789, 43793, 43801, 43853, 43867, 43889, 43891, 43913, 43933, 43943,
+ 43951, 43961, 43963, 43969, 43973, 43987, 43991, 43997, 44017, 44021,
+ 44027, 44029, 44041, 44053, 44059, 44071, 44087, 44089, 44101, 44111,
+ 44119, 44123, 44129, 44131, 44159, 44171, 44179, 44189, 44201, 44203,
+ 44207, 44221, 44249, 44257, 44263, 44267, 44269, 44273, 44279, 44281,
+ 44293, 44351, 44357, 44371, 44381, 44383, 44389, 44417, 44449, 44453,
+ 44483, 44491, 44497, 44501, 44507, 44519, 44531, 44533, 44537, 44543,
+ 44549, 44563, 44579, 44587, 44617, 44621, 44623, 44633, 44641, 44647,
+ 44651, 44657, 44683, 44687, 44699, 44701, 44711, 44729, 44741, 44753,
+ 44771, 44773, 44777, 44789, 44797, 44809, 44819, 44839, 44843, 44851,
+ 44867, 44879, 44887, 44893, 44909, 44917, 44927, 44939, 44953, 44959,
+ 44963, 44971, 44983, 44987, 45007, 45013, 45053, 45061, 45077, 45083,
+ 45119, 45121, 45127, 45131, 45137, 45139, 45161, 45179, 45181, 45191,
+ 45197, 45233, 45247, 45259, 45263, 45281, 45289, 45293, 45307, 45317,
+ 45319, 45329, 45337, 45341, 45343, 45361, 45377, 45389, 45403, 45413,
+ 45427, 45433, 45439, 45481, 45491, 45497, 45503, 45523, 45533, 45541,
+ 45553, 45557, 45569, 45587, 45589, 45599, 45613, 45631, 45641, 45659,
+ 45667, 45673, 45677, 45691, 45697, 45707, 45737, 45751, 45757, 45763,
+ 45767, 45779, 45817, 45821, 45823, 45827, 45833, 45841, 45853, 45863,
+ 45869, 45887, 45893, 45943, 45949, 45953, 45959, 45971, 45979, 45989,
+ 46021, 46027, 46049, 46051, 46061, 46073, 46091, 46093, 46099, 46103,
+ 46133, 46141, 46147, 46153, 46171, 46181, 46183, 46187, 46199, 46219,
+ 46229, 46237, 46261, 46271, 46273, 46279, 46301, 46307, 46309, 46327,
+ 46337, 46349, 46351, 46381, 46399, 46411, 46439, 46441, 46447, 46451,
+ 46457, 46471, 46477, 46489, 46499, 46507, 46511, 46523, 46549, 46559,
+ 46567, 46573, 46589, 46591, 46601, 46619, 46633, 46639, 46643, 46649,
+ 46663, 46679, 46681, 46687, 46691, 46703, 46723, 46727, 46747, 46751,
+ 46757, 46769, 46771, 46807, 46811, 46817, 46819, 46829, 46831, 46853,
+ 46861, 46867, 46877, 46889, 46901, 46919, 46933, 46957, 46993, 46997,
+ 47017, 47041, 47051, 47057, 47059, 47087, 47093, 47111, 47119, 47123,
+ 47129, 47137, 47143, 47147, 47149, 47161, 47189, 47207, 47221, 47237,
+ 47251, 47269, 47279, 47287, 47293, 47297, 47303, 47309, 47317, 47339,
+ 47351, 47353, 47363, 47381, 47387, 47389, 47407, 47417, 47419, 47431,
+ 47441, 47459, 47491, 47497, 47501, 47507, 47513, 47521, 47527, 47533,
+ 47543, 47563, 47569, 47581, 47591, 47599, 47609, 47623, 47629, 47639,
+ 47653, 47657, 47659, 47681, 47699, 47701, 47711, 47713, 47717, 47737,
+ 47741, 47743, 47777, 47779, 47791, 47797, 47807, 47809, 47819, 47837,
+ 47843, 47857, 47869, 47881, 47903, 47911, 47917, 47933, 47939, 47947,
+ 47951, 47963, 47969, 47977, 47981, 48017, 48023, 48029, 48049, 48073,
+ 48079, 48091, 48109, 48119, 48121, 48131, 48157, 48163, 48179, 48187,
+ 48193, 48197, 48221, 48239, 48247, 48259, 48271, 48281, 48299, 48311,
+ 48313, 48337, 48341, 48353, 48371, 48383, 48397, 48407, 48409, 48413,
+ 48437, 48449, 48463, 48473, 48479, 48481, 48487, 48491, 48497, 48523,
+ 48527, 48533, 48539, 48541, 48563, 48571, 48589, 48593, 48611, 48619,
+ 48623, 48647, 48649, 48661, 48673, 48677, 48679, 48731, 48733, 48751,
+ 48757, 48761, 48767, 48779, 48781, 48787, 48799, 48809, 48817, 48821,
+ 48823, 48847, 48857, 48859, 48869, 48871, 48883, 48889, 48907, 48947,
+ 48953, 48973, 48989, 48991, 49003, 49009, 49019, 49031, 49033, 49037,
+ 49043, 49057, 49069, 49081, 49103, 49109, 49117, 49121, 49123, 49139,
+ 49157, 49169, 49171, 49177, 49193, 49199, 49201, 49207, 49211, 49223,
+ 49253, 49261, 49277, 49279, 49297, 49307, 49331, 49333, 49339, 49363,
+ 49367, 49369, 49391, 49393, 49409, 49411, 49417, 49429, 49433, 49451,
+ 49459, 49463, 49477, 49481, 49499, 49523, 49529, 49531, 49537, 49547,
+ 49549, 49559, 49597, 49603, 49613, 49627, 49633, 49639, 49663, 49667,
+ 49669, 49681, 49697, 49711, 49727, 49739, 49741, 49747, 49757, 49783,
+ 49787, 49789, 49801, 49807, 49811, 49823, 49831, 49843, 49853, 49871,
+ 49877, 49891, 49919, 49921, 49927, 49937, 49939, 49943, 49957, 49991,
+ 49993, 49999, 50021, 50023, 50033, 50047, 50051, 50053, 50069, 50077,
+ 50087, 50093, 50101, 50111, 50119, 50123, 50129, 50131, 50147, 50153,
+ 50159, 50177, 50207, 50221, 50227, 50231, 50261, 50263, 50273, 50287,
+ 50291, 50311, 50321, 50329, 50333, 50341, 50359, 50363, 50377, 50383,
+ 50387, 50411, 50417, 50423, 50441, 50459, 50461, 50497, 50503, 50513,
+ 50527, 50539, 50543, 50549, 50551, 50581, 50587, 50591, 50593, 50599,
+ 50627, 50647, 50651, 50671, 50683, 50707, 50723, 50741, 50753, 50767,
+ 50773, 50777, 50789, 50821, 50833, 50839, 50849, 50857, 50867, 50873,
+ 50891, 50893, 50909, 50923, 50929, 50951, 50957, 50969, 50971, 50989,
+ 50993, 51001, 51031, 51043, 51047, 51059, 51061, 51071, 51109, 51131,
+ 51133, 51137, 51151, 51157, 51169, 51193, 51197, 51199, 51203, 51217,
+ 51229, 51239, 51241, 51257, 51263, 51283, 51287, 51307, 51329, 51341,
+ 51343, 51347, 51349, 51361, 51383, 51407, 51413, 51419, 51421, 51427,
+ 51431, 51437, 51439, 51449, 51461, 51473, 51479, 51481, 51487, 51503,
+ 51511, 51517, 51521, 51539, 51551, 51563, 51577, 51581, 51593, 51599,
+ 51607, 51613, 51631, 51637, 51647, 51659, 51673, 51679, 51683, 51691,
+ 51713, 51719, 51721, 51749, 51767, 51769, 51787, 51797, 51803, 51817,
+ 51827, 51829, 51839, 51853, 51859, 51869, 51871, 51893, 51899, 51907,
+ 51913, 51929, 51941, 51949, 51971, 51973, 51977, 51991, 52009, 52021,
+ 52027, 52051, 52057, 52067, 52069, 52081, 52103, 52121, 52127, 52147,
+ 52153, 52163, 52177, 52181, 52183, 52189, 52201, 52223, 52237, 52249,
+ 52253, 52259, 52267, 52289, 52291, 52301, 52313, 52321, 52361, 52363,
+ 52369, 52379, 52387, 52391, 52433, 52453, 52457, 52489, 52501, 52511,
+ 52517, 52529, 52541, 52543, 52553, 52561, 52567, 52571, 52579, 52583,
+ 52609, 52627, 52631, 52639, 52667, 52673, 52691, 52697, 52709, 52711,
+ 52721, 52727, 52733, 52747, 52757, 52769, 52783, 52807, 52813, 52817,
+ 52837, 52859, 52861, 52879, 52883, 52889, 52901, 52903, 52919, 52937,
+ 52951, 52957, 52963, 52967, 52973, 52981, 52999, 53003, 53017, 53047,
+ 53051, 53069, 53077, 53087, 53089, 53093, 53101, 53113, 53117, 53129,
+ 53147, 53149, 53161, 53171, 53173, 53189, 53197, 53201, 53231, 53233,
+ 53239, 53267, 53269, 53279, 53281, 53299, 53309, 53323, 53327, 53353,
+ 53359, 53377, 53381, 53401, 53407, 53411, 53419, 53437, 53441, 53453,
+ 53479, 53503, 53507, 53527, 53549, 53551, 53569, 53591, 53593, 53597,
+ 53609, 53611, 53617, 53623, 53629, 53633, 53639, 53653, 53657, 53681,
+ 53693, 53699, 53717, 53719, 53731, 53759, 53773, 53777, 53783, 53791,
+ 53813, 53819, 53831, 53849, 53857, 53861, 53881, 53887, 53891, 53897,
+ 53899, 53917, 53923, 53927, 53939, 53951, 53959, 53987, 53993, 54001,
+ 54011, 54013, 54037, 54049, 54059, 54083, 54091, 54101, 54121, 54133,
+ 54139, 54151, 54163, 54167, 54181, 54193, 54217, 54251, 54269, 54277,
+ 54287, 54293, 54311, 54319, 54323, 54331, 54347, 54361, 54367, 54371,
+ 54377, 54401, 54403, 54409, 54413, 54419, 54421, 54437, 54443, 54449,
+ 54469, 54493, 54497, 54499, 54503, 54517, 54521, 54539, 54541, 54547,
+ 54559, 54563, 54577, 54581, 54583, 54601, 54617, 54623, 54629, 54631,
+ 54647, 54667, 54673, 54679, 54709, 54713, 54721, 54727, 54751, 54767,
+ 54773, 54779, 54787, 54799, 54829, 54833, 54851, 54869, 54877, 54881,
+ 54907, 54917, 54919, 54941, 54949, 54959, 54973, 54979, 54983, 55001,
+ 55009, 55021, 55049, 55051, 55057, 55061, 55073, 55079, 55103, 55109,
+ 55117, 55127, 55147, 55163, 55171, 55201, 55207, 55213, 55217, 55219,
+ 55229, 55243, 55249, 55259, 55291, 55313, 55331, 55333, 55337, 55339,
+ 55343, 55351, 55373, 55381, 55399, 55411, 55439, 55441, 55457, 55469,
+ 55487, 55501, 55511, 55529, 55541, 55547, 55579, 55589, 55603, 55609,
+ 55619, 55621, 55631, 55633, 55639, 55661, 55663, 55667, 55673, 55681,
+ 55691, 55697, 55711, 55717, 55721, 55733, 55763, 55787, 55793, 55799,
+ 55807, 55813, 55817, 55819, 55823, 55829, 55837, 55843, 55849, 55871,
+ 55889, 55897, 55901, 55903, 55921, 55927, 55931, 55933, 55949, 55967,
+ 55987, 55997, 56003, 56009, 56039, 56041, 56053, 56081, 56087, 56093,
+ 56099, 56101, 56113, 56123, 56131, 56149, 56167, 56171, 56179, 56197,
+ 56207, 56209, 56237, 56239, 56249, 56263, 56267, 56269, 56299, 56311,
+ 56333, 56359, 56369, 56377, 56383, 56393, 56401, 56417, 56431, 56437,
+ 56443, 56453, 56467, 56473, 56477, 56479, 56489, 56501, 56503, 56509,
+ 56519, 56527, 56531, 56533, 56543, 56569, 56591, 56597, 56599, 56611,
+ 56629, 56633, 56659, 56663, 56671, 56681, 56687, 56701, 56711, 56713,
+ 56731, 56737, 56747, 56767, 56773, 56779, 56783, 56807, 56809, 56813,
+ 56821, 56827, 56843, 56857, 56873, 56891, 56893, 56897, 56909, 56911,
+ 56921, 56923, 56929, 56941, 56951, 56957, 56963, 56983, 56989, 56993,
+ 56999, 57037, 57041, 57047, 57059, 57073, 57077, 57089, 57097, 57107,
+ 57119, 57131, 57139, 57143, 57149, 57163, 57173, 57179, 57191, 57193,
+ 57203, 57221, 57223, 57241, 57251, 57259, 57269, 57271, 57283, 57287,
+ 57301, 57329, 57331, 57347, 57349, 57367, 57373, 57383, 57389, 57397,
+ 57413, 57427, 57457, 57467, 57487, 57493, 57503, 57527, 57529, 57557,
+ 57559, 57571, 57587, 57593, 57601, 57637, 57641, 57649, 57653, 57667,
+ 57679, 57689, 57697, 57709, 57713, 57719, 57727, 57731, 57737, 57751,
+ 57773, 57781, 57787, 57791, 57793, 57803, 57809, 57829, 57839, 57847,
+ 57853, 57859, 57881, 57899, 57901, 57917, 57923, 57943, 57947, 57973,
+ 57977, 57991, 58013, 58027, 58031, 58043, 58049, 58057, 58061, 58067,
+ 58073, 58099, 58109, 58111, 58129, 58147, 58151, 58153, 58169, 58171,
+ 58189, 58193, 58199, 58207, 58211, 58217, 58229, 58231, 58237, 58243,
+ 58271, 58309, 58313, 58321, 58337, 58363, 58367, 58369, 58379, 58391,
+ 58393, 58403, 58411, 58417, 58427, 58439, 58441, 58451, 58453, 58477,
+ 58481, 58511, 58537, 58543, 58549, 58567, 58573, 58579, 58601, 58603,
+ 58613, 58631, 58657, 58661, 58679, 58687, 58693, 58699, 58711, 58727,
+ 58733, 58741, 58757, 58763, 58771, 58787, 58789, 58831, 58889, 58897,
+ 58901, 58907, 58909, 58913, 58921, 58937, 58943, 58963, 58967, 58979,
+ 58991, 58997, 59009, 59011, 59021, 59023, 59029, 59051, 59053, 59063,
+ 59069, 59077, 59083, 59093, 59107, 59113, 59119, 59123, 59141, 59149,
+ 59159, 59167, 59183, 59197, 59207, 59209, 59219, 59221, 59233, 59239,
+ 59243, 59263, 59273, 59281, 59333, 59341, 59351, 59357, 59359, 59369,
+ 59377, 59387, 59393, 59399, 59407, 59417, 59419, 59441, 59443, 59447,
+ 59453, 59467, 59471, 59473, 59497, 59509, 59513, 59539, 59557, 59561,
+ 59567, 59581, 59611, 59617, 59621, 59627, 59629, 59651, 59659, 59663,
+ 59669, 59671, 59693, 59699, 59707, 59723, 59729, 59743, 59747, 59753,
+ 59771, 59779, 59791, 59797, 59809, 59833, 59863, 59879, 59887, 59921,
+ 59929, 59951, 59957, 59971, 59981, 59999, 60013, 60017, 60029, 60037,
+ 60041, 60077, 60083, 60089, 60091, 60101, 60103, 60107, 60127, 60133,
+ 60139, 60149, 60161, 60167, 60169, 60209, 60217, 60223, 60251, 60257,
+ 60259, 60271, 60289, 60293, 60317, 60331, 60337, 60343, 60353, 60373,
+ 60383, 60397, 60413, 60427, 60443, 60449, 60457, 60493, 60497, 60509,
+ 60521, 60527, 60539, 60589, 60601, 60607, 60611, 60617, 60623, 60631,
+ 60637, 60647, 60649, 60659, 60661, 60679, 60689, 60703, 60719, 60727,
+ 60733, 60737, 60757, 60761, 60763, 60773, 60779, 60793, 60811, 60821,
+ 60859, 60869, 60887, 60889, 60899, 60901, 60913, 60917, 60919, 60923,
+ 60937, 60943, 60953, 60961, 61001, 61007, 61027, 61031, 61043, 61051,
+ 61057, 61091, 61099, 61121, 61129, 61141, 61151, 61153, 61169, 61211,
+ 61223, 61231, 61253, 61261, 61283, 61291, 61297, 61331, 61333, 61339,
+ 61343, 61357, 61363, 61379, 61381, 61403, 61409, 61417, 61441, 61463,
+ 61469, 61471, 61483, 61487, 61493, 61507, 61511, 61519, 61543, 61547,
+ 61553, 61559, 61561, 61583, 61603, 61609, 61613, 61627, 61631, 61637,
+ 61643, 61651, 61657, 61667, 61673, 61681, 61687, 61703, 61717, 61723,
+ 61729, 61751, 61757, 61781, 61813, 61819, 61837, 61843, 61861, 61871,
+ 61879, 61909, 61927, 61933, 61949, 61961, 61967, 61979, 61981, 61987,
+ 61991, 62003, 62011, 62017, 62039, 62047, 62053, 62057, 62071, 62081,
+ 62099, 62119, 62129, 62131, 62137, 62141, 62143, 62171, 62189, 62191,
+ 62201, 62207, 62213, 62219, 62233, 62273, 62297, 62299, 62303, 62311,
+ 62323, 62327, 62347, 62351, 62383, 62401, 62417, 62423, 62459, 62467,
+ 62473, 62477, 62483, 62497, 62501, 62507, 62533, 62539, 62549, 62563,
+ 62581, 62591, 62597, 62603, 62617, 62627, 62633, 62639, 62653, 62659,
+ 62683, 62687, 62701, 62723, 62731, 62743, 62753, 62761, 62773, 62791,
+ 62801, 62819, 62827, 62851, 62861, 62869, 62873, 62897, 62903, 62921,
+ 62927, 62929, 62939, 62969, 62971, 62981, 62983, 62987, 62989, 63029,
+ 63031, 63059, 63067, 63073, 63079, 63097, 63103, 63113, 63127, 63131,
+ 63149, 63179, 63197, 63199, 63211, 63241, 63247, 63277, 63281, 63299,
+ 63311, 63313, 63317, 63331, 63337, 63347, 63353, 63361, 63367, 63377,
+ 63389, 63391, 63397, 63409, 63419, 63421, 63439, 63443, 63463, 63467,
+ 63473, 63487, 63493, 63499, 63521, 63527, 63533, 63541, 63559, 63577,
+ 63587, 63589, 63599, 63601, 63607, 63611, 63617, 63629, 63647, 63649,
+ 63659, 63667, 63671, 63689, 63691, 63697, 63703, 63709, 63719, 63727,
+ 63737, 63743, 63761, 63773, 63781, 63793, 63799, 63803, 63809, 63823,
+ 63839, 63841, 63853, 63857, 63863, 63901, 63907, 63913, 63929, 63949,
+ 63977, 63997, 64007, 64013, 64019, 64033, 64037, 64063, 64067, 64081,
+ 64091, 64109, 64123, 64151, 64153, 64157, 64171, 64187, 64189, 64217,
+ 64223, 64231, 64237, 64271, 64279, 64283, 64301, 64303, 64319, 64327,
+ 64333, 64373, 64381, 64399, 64403, 64433, 64439, 64451, 64453, 64483,
+ 64489, 64499, 64513, 64553, 64567, 64577, 64579, 64591, 64601, 64609,
+ 64613, 64621, 64627, 64633, 64661, 64663, 64667, 64679, 64693, 64709,
+ 64717, 64747, 64763, 64781, 64783, 64793, 64811, 64817, 64849, 64853,
+ 64871, 64877, 64879, 64891, 64901, 64919, 64921, 64927, 64937, 64951,
+ 64969, 64997, 65003, 65011, 65027, 65029, 65033, 65053, 65063, 65071,
+ 65089, 65099, 65101, 65111, 65119, 65123, 65129, 65141, 65147, 65167,
+ 65171, 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, 65269,
+ 65287, 65293, 65309, 65323, 65327, 65353, 65357, 65371, 65381, 65393,
+ 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, 65519,
+ 65521, 0
};
/* Tests if the (small) number provided is a prime.
@@ -1002,13 +722,12 @@ unsigned mpz_seed_sizeinbase_256_u(mpz_t s, unsigned nominal)
return ret;
}
-static int st_provable_prime_small(mpz_t p,
- unsigned *prime_seed_length,
+static int st_provable_prime_small(mpz_t p, unsigned *prime_seed_length,
void *prime_seed,
unsigned *prime_gen_counter, unsigned bits,
unsigned seed_length, const void *seed,
void *progress_ctx,
- nettle_progress_func * progress)
+ nettle_progress_func *progress)
{
unsigned gen_counter = 0;
unsigned tseed_length;
@@ -1027,7 +746,7 @@ static int st_provable_prime_small(mpz_t p,
* for the few (unlikely) cases where seed overflows. */
nettle_mpz_set_str_256_u(s, seed_length, seed);
- retry:
+retry:
tseed_length = mpz_seed_sizeinbase_256_u(s, seed_length);
if (tseed_length > sizeof(tseed)) {
goto fail;
@@ -1069,7 +788,7 @@ static int st_provable_prime_small(mpz_t p,
if (small_prime_check(c) == 0) {
/* not a prime */
if (gen_counter >= 4 * bits)
- goto fail; /* failed */
+ goto fail; /* failed */
if (progress)
progress(progress_ctx, 'x');
@@ -1095,7 +814,7 @@ static int st_provable_prime_small(mpz_t p,
mpz_clear(s);
return 1;
- fail:
+fail:
mpz_clear(s);
return 0;
}
@@ -1114,13 +833,10 @@ static int st_provable_prime_small(mpz_t p,
*
* Returns non zero on success.
*/
-int
-st_provable_prime(mpz_t p,
- unsigned *prime_seed_length, void *prime_seed,
- unsigned *prime_gen_counter,
- unsigned bits,
- unsigned seed_length, const void *seed,
- void *progress_ctx, nettle_progress_func * progress)
+int st_provable_prime(mpz_t p, unsigned *prime_seed_length, void *prime_seed,
+ unsigned *prime_gen_counter, unsigned bits,
+ unsigned seed_length, const void *seed,
+ void *progress_ctx, nettle_progress_func *progress)
{
unsigned gen_counter;
unsigned tseed_length;
@@ -1167,7 +883,7 @@ st_provable_prime(mpz_t p,
iterations = div_ceil(bits, DIGEST_SIZE * 8);
old_counter = gen_counter;
- mpz_set_ui(tmp, 0); /* x = 0 */
+ mpz_set_ui(tmp, 0); /* x = 0 */
if (iterations > 0) {
storage_length = iterations * DIGEST_SIZE;
@@ -1177,13 +893,12 @@ st_provable_prime(mpz_t p,
for (i = 0; i < iterations; i++) {
tseed_length =
- mpz_seed_sizeinbase_256_u(s, pseed_length);
+ mpz_seed_sizeinbase_256_u(s, pseed_length);
if (tseed_length > sizeof(tseed))
goto fail;
nettle_mpz_get_str_256(tseed_length, tseed, s);
- hash(&storage
- [(iterations - i - 1) * DIGEST_SIZE],
+ hash(&storage[(iterations - i - 1) * DIGEST_SIZE],
tseed_length, tseed);
mpz_add_ui(s, s, 1);
}
@@ -1193,30 +908,30 @@ st_provable_prime(mpz_t p,
/* tmp = 2^(bits-1) + (tmp mod 2^(bits-1)) */
mpz_set_ui(r, 1);
- mpz_mul_2exp(r, r, bits - 1); /* r = 2^(bits-1) */
+ mpz_mul_2exp(r, r, bits - 1); /* r = 2^(bits-1) */
mpz_fdiv_r_2exp(tmp, tmp, bits - 1);
- mpz_add(tmp, tmp, r); /* tmp = x */
+ mpz_add(tmp, tmp, r); /* tmp = x */
/* Generate candidate prime c in [2^(bits-1), 2^bits] */
/* t = u[x/2c0] */
- mpz_mul_2exp(dc0, c0, 1); /* dc0 = 2*c0 */
+ mpz_mul_2exp(dc0, c0, 1); /* dc0 = 2*c0 */
mpz_cdiv_q(t, tmp, dc0);
- retry:
+retry:
/* c = t*(2c0) + 1 */
mpz_mul(c, dc0, t);
mpz_add_ui(c, c, 1);
mpz_set_ui(r, 1);
- mpz_mul_2exp(r, r, bits); /* r = 2^(bits) */
+ mpz_mul_2exp(r, r, bits); /* r = 2^(bits) */
/* if 2tc0+1 > 2^bits */
if (mpz_cmp(c, r) > 0) {
/* t = 2^(bits-1)/2c0 */
- mpz_fdiv_q_2exp(r, r, 1); /* r = 2^(bits-1) */
+ mpz_fdiv_q_2exp(r, r, 1); /* r = 2^(bits-1) */
mpz_cdiv_q(t, r, dc0);
/* c = t* 2c0 + 1 */
@@ -1226,18 +941,17 @@ st_provable_prime(mpz_t p,
gen_counter++;
- mpz_set_ui(r, 0); /* a = 0 */
+ mpz_set_ui(r, 0); /* a = 0 */
if (iterations > 0) {
for (i = 0; i < iterations; i++) {
tseed_length =
- mpz_seed_sizeinbase_256_u(s, pseed_length);
+ mpz_seed_sizeinbase_256_u(s, pseed_length);
if (tseed_length > sizeof(tseed))
goto fail;
nettle_mpz_get_str_256(tseed_length, tseed, s);
- hash(&storage
- [(iterations - i - 1) * DIGEST_SIZE],
+ hash(&storage[(iterations - i - 1) * DIGEST_SIZE],
tseed_length, tseed);
mpz_add_ui(s, s, 1);
}
@@ -1247,12 +961,12 @@ st_provable_prime(mpz_t p,
}
/* a = 2 + (a mod (c-3)) */
- mpz_sub_ui(tmp, c, 3); /* c is too large to worry about negatives */
+ mpz_sub_ui(tmp, c, 3); /* c is too large to worry about negatives */
mpz_mod(r, r, tmp);
mpz_add_ui(r, r, 2);
/* z = a^(2t) mod c */
- mpz_mul_2exp(tmp, t, 1); /* tmp = 2t */
+ mpz_mul_2exp(tmp, t, 1); /* tmp = 2t */
mpz_powm(z, r, tmp, c);
mpz_sub_ui(tmp, z, 1);
@@ -1265,13 +979,13 @@ st_provable_prime(mpz_t p,
mpz_set(p, c);
if (prime_seed != NULL) {
- tseed_length =
- mpz_seed_sizeinbase_256_u(s, pseed_length);
+ tseed_length = mpz_seed_sizeinbase_256_u(
+ s, pseed_length);
if (*prime_seed_length < tseed_length)
goto fail;
- nettle_mpz_get_str_256(tseed_length,
- prime_seed, s);
+ nettle_mpz_get_str_256(tseed_length, prime_seed,
+ s);
*prime_seed_length = tseed_length;
}
@@ -1292,14 +1006,14 @@ st_provable_prime(mpz_t p,
mpz_add_ui(t, t, 1);
goto retry;
- success:
+success:
ret = 1;
goto finish;
- fail:
+fail:
ret = 0;
- finish:
+finish:
mpz_clear(c0);
mpz_clear(dc0);
mpz_clear(r);
diff --git a/lib/nettle/int/rsa-fips.h b/lib/nettle/int/rsa-fips.h
index e39656c352..2faebb739c 100644
--- a/lib/nettle/int/rsa-fips.h
+++ b/lib/nettle/int/rsa-fips.h
@@ -20,27 +20,25 @@
*/
#ifndef GNUTLS_LIB_NETTLE_INT_RSA_FIPS_H
-# define GNUTLS_LIB_NETTLE_INT_RSA_FIPS_H
+#define GNUTLS_LIB_NETTLE_INT_RSA_FIPS_H
-# include <nettle/rsa.h>
+#include <nettle/rsa.h>
-int
-_rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
- struct rsa_private_key *key,
- unsigned seed_length, uint8_t * seed,
- void *progress_ctx,
- nettle_progress_func * progress,
- /* Desired size of modulo, in bits */
- unsigned n_size);
+int _rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
+ struct rsa_private_key *key,
+ unsigned seed_length, uint8_t *seed,
+ void *progress_ctx,
+ nettle_progress_func *progress,
+ /* Desired size of modulo, in bits */
+ unsigned n_size);
-int
-rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
- struct rsa_private_key *key,
- void *random_ctx, nettle_random_func * random,
- void *progress_ctx,
- nettle_progress_func * progress,
- unsigned *rseed_size, void *rseed,
- /* Desired size of modulo, in bits */
- unsigned n_size);
+int rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
+ struct rsa_private_key *key,
+ void *random_ctx, nettle_random_func *random,
+ void *progress_ctx,
+ nettle_progress_func *progress,
+ unsigned *rseed_size, void *rseed,
+ /* Desired size of modulo, in bits */
+ unsigned n_size);
-#endif /* GNUTLS_LIB_NETTLE_INT_RSA_FIPS_H */
+#endif /* GNUTLS_LIB_NETTLE_INT_RSA_FIPS_H */
diff --git a/lib/nettle/int/rsa-keygen-fips186.c b/lib/nettle/int/rsa-keygen-fips186.c
index d392ca81e6..b8cf84a624 100644
--- a/lib/nettle/int/rsa-keygen-fips186.c
+++ b/lib/nettle/int/rsa-keygen-fips186.c
@@ -22,7 +22,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <assert.h>
@@ -36,12 +36,11 @@
#include <nettle/bignum.h>
-static int
-rsa_provable_prime(mpz_t p,
- unsigned *prime_seed_length, void *prime_seed,
- unsigned bits,
- unsigned seed_length, const void *seed,
- mpz_t e, void *progress_ctx, nettle_progress_func * progress)
+static int rsa_provable_prime(mpz_t p, unsigned *prime_seed_length,
+ void *prime_seed, unsigned bits,
+ unsigned seed_length, const void *seed, mpz_t e,
+ void *progress_ctx,
+ nettle_progress_func *progress)
{
mpz_t x, t, s, r1, r2, p0, sq;
int ret;
@@ -63,9 +62,9 @@ rsa_provable_prime(mpz_t p,
/* p1 = p2 = 1 */
- ret = st_provable_prime(p0, &pseed_length, pseed,
- NULL, 1 + div_ceil(bits, 2), seed_length,
- seed, progress_ctx, progress);
+ ret = st_provable_prime(p0, &pseed_length, pseed, NULL,
+ 1 + div_ceil(bits, 2), seed_length, seed,
+ progress_ctx, progress);
if (ret == 0) {
goto cleanup;
}
@@ -83,7 +82,7 @@ rsa_provable_prime(mpz_t p,
nettle_mpz_set_str_256_u(s, pseed_length, pseed);
for (i = 0; i < iterations; i++) {
tseed_length =
- mpz_seed_sizeinbase_256_u(s, pseed_length);
+ mpz_seed_sizeinbase_256_u(s, pseed_length);
if (tseed_length > sizeof(pseed))
goto fail;
nettle_mpz_get_str_256(tseed_length, pseed, s);
@@ -126,7 +125,7 @@ rsa_provable_prime(mpz_t p,
/* t = ((2 y p0 p1) + x) / (2 p0 p1 p2) */
mpz_cdiv_q(t, r1, r2);
- retry:
+retry:
/* p = t p2 - y = t - 1 */
mpz_sub_ui(p, t, 1);
@@ -167,17 +166,17 @@ rsa_provable_prime(mpz_t p,
mpz_gcd(r1, e, r2);
if (mpz_cmp_ui(r1, 1) == 0) {
- mpz_set_ui(x, 0); /* a = 0 */
+ mpz_set_ui(x, 0); /* a = 0 */
if (iterations > 0) {
for (i = 0; i < iterations; i++) {
- tseed_length =
- mpz_seed_sizeinbase_256_u(s, pseed_length);
+ tseed_length = mpz_seed_sizeinbase_256_u(
+ s, pseed_length);
if (tseed_length > sizeof(pseed))
goto fail;
nettle_mpz_get_str_256(tseed_length, pseed, s);
- hash(&storage
- [(iterations - i - 1) * DIGEST_SIZE],
+ hash(&storage[(iterations - i - 1) *
+ DIGEST_SIZE],
tseed_length, pseed);
mpz_add_ui(s, s, 1);
}
@@ -186,7 +185,8 @@ rsa_provable_prime(mpz_t p,
}
/* a = 2 + a mod p-3 */
- mpz_sub_ui(r1, p, 3); /* p is too large to worry about negatives */
+ mpz_sub_ui(r1, p,
+ 3); /* p is too large to worry about negatives */
mpz_mod(x, x, r1);
mpz_add_ui(x, x, 2);
@@ -208,8 +208,8 @@ rsa_provable_prime(mpz_t p,
if (mpz_cmp_ui(r1, 1) == 0) {
if (prime_seed_length != NULL) {
tseed_length =
- mpz_seed_sizeinbase_256_u(s,
- pseed_length);
+ mpz_seed_sizeinbase_256_u(
+ s, pseed_length);
if (tseed_length > sizeof(pseed))
goto fail;
@@ -218,7 +218,7 @@ rsa_provable_prime(mpz_t p,
if (*prime_seed_length < tseed_length) {
*prime_seed_length =
- tseed_length;
+ tseed_length;
goto fail;
}
*prime_seed_length = tseed_length;
@@ -239,9 +239,9 @@ rsa_provable_prime(mpz_t p,
mpz_add_ui(t, t, 1);
goto retry;
- fail:
+fail:
ret = 0;
- cleanup:
+cleanup:
free(storage);
mpz_clear(p0);
mpz_clear(sq);
@@ -260,24 +260,23 @@ rsa_provable_prime(mpz_t p,
static inline unsigned seed_length_for_modulus_size(unsigned modulus_size)
{
switch (modulus_size) {
- case 2048: /* SP 800-56B rev 2 Appendix D and FIPS 140-2 IG 7.5 */
+ case 2048: /* SP 800-56B rev 2 Appendix D and FIPS 140-2 IG 7.5 */
return 14 * 2;
- case 3072: /* SP 800-56B rev 2 Appendix D and FIPS 140-2 IG 7.5 */
+ case 3072: /* SP 800-56B rev 2 Appendix D and FIPS 140-2 IG 7.5 */
return 16 * 2;
- case 4096: /* SP 800-56B rev 2 Appendix D */
+ case 4096: /* SP 800-56B rev 2 Appendix D */
return 19 * 2;
- case 6144: /* SP 800-56B rev 2 Appendix D */
+ case 6144: /* SP 800-56B rev 2 Appendix D */
return 22 * 2;
- case 7680: /* FIPS 140-2 IG 7.5 */
+ case 7680: /* FIPS 140-2 IG 7.5 */
return 24 * 2;
- case 8192: /* SP 800-56B rev 2 Appendix D */
+ case 8192: /* SP 800-56B rev 2 Appendix D */
return 25 * 2;
- case 15360: /* FIPS 140-2 IG 7.5 */
+ case 15360: /* FIPS 140-2 IG 7.5 */
return 32 * 2;
default:
return 0;
}
-
}
/* This generates p,q params using the B.3.2.2 algorithm in FIPS 186-4.
@@ -285,14 +284,13 @@ static inline unsigned seed_length_for_modulus_size(unsigned modulus_size)
* The hash function used is SHA384.
* The exponent e used is the value in pub->e.
*/
-int
-_rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
- struct rsa_private_key *key,
- unsigned seed_length, uint8_t * seed,
- void *progress_ctx,
- nettle_progress_func * progress,
- /* Desired size of modulo, in bits */
- unsigned n_size)
+int _rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
+ struct rsa_private_key *key,
+ unsigned seed_length, uint8_t *seed,
+ void *progress_ctx,
+ nettle_progress_func *progress,
+ /* Desired size of modulo, in bits */
+ unsigned n_size)
{
mpz_t t, r, p1, q1, lcm;
int ret;
@@ -331,15 +329,15 @@ _rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
}
cert.pseed_length = sizeof(cert.pseed);
- ret = rsa_provable_prime(key->p, &cert.pseed_length, cert.pseed,
- l, seed_length,
- seed, pub->e, progress_ctx, progress);
+ ret = rsa_provable_prime(key->p, &cert.pseed_length, cert.pseed, l,
+ seed_length, seed, pub->e, progress_ctx,
+ progress);
if (ret == 0) {
goto cleanup;
}
mpz_set_ui(r, 1);
- mpz_mul_2exp(r, r, (l) - 100);
+ mpz_mul_2exp(r, r, (l)-100);
do {
cert.qseed_length = sizeof(cert.qseed);
@@ -406,7 +404,7 @@ _rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
}
ret = 1;
- cleanup:
+cleanup:
mpz_clear(p1);
mpz_clear(q1);
mpz_clear(lcm);
@@ -420,15 +418,14 @@ _rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
* The hash function used is SHA384.
* The exponent e used is the value in pub->e.
*/
-int
-rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
- struct rsa_private_key *key,
- void *random_ctx, nettle_random_func * random,
- void *progress_ctx,
- nettle_progress_func * progress,
- unsigned *rseed_size, void *rseed,
- /* Desired size of modulo, in bits */
- unsigned n_size)
+int rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,
+ struct rsa_private_key *key,
+ void *random_ctx, nettle_random_func *random,
+ void *progress_ctx,
+ nettle_progress_func *progress,
+ unsigned *rseed_size, void *rseed,
+ /* Desired size of modulo, in bits */
+ unsigned n_size)
{
uint8_t seed[128];
unsigned seed_length;
diff --git a/lib/nettle/int/rsa-pad.c b/lib/nettle/int/rsa-pad.c
index fda2e304ed..d8716d0cb9 100644
--- a/lib/nettle/int/rsa-pad.c
+++ b/lib/nettle/int/rsa-pad.c
@@ -21,7 +21,7 @@
*/
#if HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include "gnutls_int.h"
@@ -35,10 +35,8 @@
* use with TLS (such as TPM2); not recommended for general usage.
*/
-int
-_gnutls_rsa_pkcs1_sign_pad(size_t key_bits,
- const gnutls_datum_t * data,
- unsigned char *buffer, size_t buffer_size)
+int _gnutls_rsa_pkcs1_sign_pad(size_t key_bits, const gnutls_datum_t *data,
+ unsigned char *buffer, size_t buffer_size)
{
size_t key_size = (key_bits + 7) / 8;
size_t size;
@@ -58,16 +56,14 @@ _gnutls_rsa_pkcs1_sign_pad(size_t key_bits,
}
nettle_mpz_get_str_256(buffer_size, buffer, m);
- out:
+out:
mpz_clear(m);
return ret;
}
-int
-_gnutls_rsa_pss_sign_pad(gnutls_x509_spki_st * params,
- size_t key_bits,
- const gnutls_datum_t * data,
- unsigned char *buffer, size_t buffer_size)
+int _gnutls_rsa_pss_sign_pad(gnutls_x509_spki_st *params, size_t key_bits,
+ const gnutls_datum_t *data, unsigned char *buffer,
+ size_t buffer_size)
{
mpz_t m;
int ret = 0;
@@ -117,7 +113,7 @@ _gnutls_rsa_pss_sign_pad(gnutls_x509_spki_st * params,
}
nettle_mpz_get_str_256(buffer_size, buffer, m);
- out:
+out:
mpz_clear(m);
return ret;
}
diff --git a/lib/nettle/int/tls1-prf.c b/lib/nettle/int/tls1-prf.c
index 241d6505a5..bc021a1658 100644
--- a/lib/nettle/int/tls1-prf.c
+++ b/lib/nettle/int/tls1-prf.c
@@ -24,7 +24,7 @@
*/
#if HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls_int.h>
@@ -41,13 +41,10 @@
/* The RFC2246 P_hash() function. The mac_ctx is expected to
* be initialized and key set to be the secret key.
*/
-static void
-P_hash(void *mac_ctx,
- nettle_hash_update_func * update,
- nettle_hash_digest_func * digest,
- size_t digest_size,
- size_t seed_size, const uint8_t * seed,
- size_t label_size, const char *label, size_t dst_length, uint8_t * dst)
+static void P_hash(void *mac_ctx, nettle_hash_update_func *update,
+ nettle_hash_digest_func *digest, size_t digest_size,
+ size_t seed_size, const uint8_t *seed, size_t label_size,
+ const char *label, size_t dst_length, uint8_t *dst)
{
uint8_t Atmp[MAX_HASH_SIZE];
ssize_t left;
@@ -57,20 +54,22 @@ P_hash(void *mac_ctx,
left = dst_length;
while (left > 0) {
- if (started == 0) { /* A(0) */
- update(mac_ctx, label_size, (const uint8_t *)label); /* hash label */
+ if (started == 0) { /* A(0) */
+ update(mac_ctx, label_size,
+ (const uint8_t *)label); /* hash label */
update(mac_ctx, seed_size, seed);
started = 1;
} else {
update(mac_ctx, digest_size, Atmp);
}
- digest(mac_ctx, digest_size, Atmp); /* store A(i) */
+ digest(mac_ctx, digest_size, Atmp); /* store A(i) */
- update(mac_ctx, digest_size, Atmp); /* hash A(i) */
- update(mac_ctx, label_size, (const uint8_t *)label); /* hash label */
- update(mac_ctx, seed_size, seed); /* hash seed */
+ update(mac_ctx, digest_size, Atmp); /* hash A(i) */
+ update(mac_ctx, label_size,
+ (const uint8_t *)label); /* hash label */
+ update(mac_ctx, seed_size, seed); /* hash seed */
- if (left < (ssize_t) digest_size)
+ if (left < (ssize_t)digest_size)
digest_size = left;
digest(mac_ctx, digest_size, dst);
@@ -82,10 +81,9 @@ P_hash(void *mac_ctx,
return;
}
-int
-tls10_prf(size_t secret_size, const uint8_t * secret,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t length, uint8_t * dst)
+int tls10_prf(size_t secret_size, const uint8_t *secret, size_t label_size,
+ const char *label, size_t seed_size, const uint8_t *seed,
+ size_t length, uint8_t *dst)
{
int l_s;
const uint8_t *s1, *s2;
@@ -105,15 +103,14 @@ tls10_prf(size_t secret_size, const uint8_t * secret,
hmac_md5_set_key(&md5_ctx, l_s, s1);
- P_hash(&md5_ctx, (nettle_hash_update_func *) hmac_md5_update,
- (nettle_hash_digest_func *) hmac_md5_digest,
- MD5_DIGEST_SIZE, seed_size, seed, label_size, label, length, o1);
+ P_hash(&md5_ctx, (nettle_hash_update_func *)hmac_md5_update,
+ (nettle_hash_digest_func *)hmac_md5_digest, MD5_DIGEST_SIZE,
+ seed_size, seed, label_size, label, length, o1);
hmac_sha1_set_key(&sha1_ctx, l_s, s2);
- P_hash(&sha1_ctx, (nettle_hash_update_func *) hmac_sha1_update,
- (nettle_hash_digest_func *) hmac_sha1_digest,
- SHA1_DIGEST_SIZE,
+ P_hash(&sha1_ctx, (nettle_hash_update_func *)hmac_sha1_update,
+ (nettle_hash_digest_func *)hmac_sha1_digest, SHA1_DIGEST_SIZE,
seed_size, seed, label_size, label, length, dst);
memxor(dst, o1, length);
@@ -138,16 +135,13 @@ tls10_prf(size_t secret_size, const uint8_t * secret,
*
* Returns: zero on failure, non zero on success.
-*/
-int
-tls12_prf(void *mac_ctx,
- nettle_hash_update_func * update,
- nettle_hash_digest_func * digest,
- size_t digest_size,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t length, uint8_t * dst)
+int tls12_prf(void *mac_ctx, nettle_hash_update_func *update,
+ nettle_hash_digest_func *digest, size_t digest_size,
+ size_t label_size, const char *label, size_t seed_size,
+ const uint8_t *seed, size_t length, uint8_t *dst)
{
- P_hash(mac_ctx, update, digest, digest_size,
- seed_size, seed, label_size, label, length, dst);
+ P_hash(mac_ctx, update, digest, digest_size, seed_size, seed,
+ label_size, label, length, dst);
return 1;
}
diff --git a/lib/nettle/int/tls1-prf.h b/lib/nettle/int/tls1-prf.h
index 9b2586e0a3..d575495fc4 100644
--- a/lib/nettle/int/tls1-prf.h
+++ b/lib/nettle/int/tls1-prf.h
@@ -21,27 +21,23 @@
*/
#ifndef GNUTLS_LIB_NETTLE_INT_TLS1_PRF_H
-# define GNUTLS_LIB_NETTLE_INT_TLS1_PRF_H
+#define GNUTLS_LIB_NETTLE_INT_TLS1_PRF_H
-# include <nettle/nettle-meta.h>
+#include <nettle/nettle-meta.h>
-# define MAX_PRF_BYTES 200
+#define MAX_PRF_BYTES 200
/* Namespace mangling */
-# define tls10_prf nettle_tls10_prf
-# define tls12_prf nettle_tls12_prf
+#define tls10_prf nettle_tls10_prf
+#define tls12_prf nettle_tls12_prf
-int
-tls10_prf(size_t secret_size, const uint8_t * secret,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t length, uint8_t * dst);
+int tls10_prf(size_t secret_size, const uint8_t *secret, size_t label_size,
+ const char *label, size_t seed_size, const uint8_t *seed,
+ size_t length, uint8_t *dst);
-int
-tls12_prf(void *mac_ctx,
- nettle_hash_update_func * update,
- nettle_hash_digest_func * digest,
- size_t digest_size,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t length, uint8_t * dst);
+int tls12_prf(void *mac_ctx, nettle_hash_update_func *update,
+ nettle_hash_digest_func *digest, size_t digest_size,
+ size_t label_size, const char *label, size_t seed_size,
+ const uint8_t *seed, size_t length, uint8_t *dst);
-#endif /* GNUTLS_LIB_NETTLE_INT_TLS1_PRF_H */
+#endif /* GNUTLS_LIB_NETTLE_INT_TLS1_PRF_H */
diff --git a/lib/nettle/mac.c b/lib/nettle/mac.c
index 5435f2e31f..a9294df33f 100644
--- a/lib/nettle/mac.c
+++ b/lib/nettle/mac.c
@@ -36,11 +36,11 @@
#include <nettle/pbkdf2.h>
#include <nettle/cmac.h>
#if ENABLE_GOST
-# include "gost/hmac-gost.h"
-# ifndef HAVE_NETTLE_GOST28147_SET_KEY
-# include "gost/gost28147.h"
-# endif
-# include "gost/cmac.h"
+#include "gost/hmac-gost.h"
+#ifndef HAVE_NETTLE_GOST28147_SET_KEY
+#include "gost/gost28147.h"
+#endif
+#include "gost/cmac.h"
#endif
#include <nettle/gcm.h>
@@ -129,55 +129,55 @@ struct nettle_mac_ctx {
};
#if ENABLE_GOST
-static void
-_wrap_gost28147_imit_set_key_tc26z(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_gost28147_imit_set_key_tc26z(void *ctx, size_t len,
+ const uint8_t *key)
{
gost28147_imit_set_param(ctx, &gost28147_param_TC26_Z);
gost28147_imit_set_key(ctx, len, key);
}
-static void _wrap_cmac_magma_set_key(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_cmac_magma_set_key(void *ctx, size_t len, const uint8_t *key)
{
cmac_magma_set_key(ctx, key);
}
-static void
-_wrap_cmac_kuznyechik_set_key(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_cmac_kuznyechik_set_key(void *ctx, size_t len,
+ const uint8_t *key)
{
cmac_kuznyechik_set_key(ctx, key);
}
#endif
-static void _wrap_umac96_set_key(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_umac96_set_key(void *ctx, size_t len, const uint8_t *key)
{
if (unlikely(len != 16))
abort();
umac96_set_key(ctx, key);
}
-static void _wrap_umac128_set_key(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_umac128_set_key(void *ctx, size_t len, const uint8_t *key)
{
if (unlikely(len != 16))
abort();
umac128_set_key(ctx, key);
}
-static void _wrap_cmac128_set_key(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_cmac128_set_key(void *ctx, size_t len, const uint8_t *key)
{
if (unlikely(len != 16))
abort();
cmac_aes128_set_key(ctx, key);
}
-static void _wrap_cmac256_set_key(void *ctx, size_t len, const uint8_t * key)
+static void _wrap_cmac256_set_key(void *ctx, size_t len, const uint8_t *key)
{
if (unlikely(len != 32))
abort();
cmac_aes256_set_key(ctx, key);
}
-static void
-_wrap_gmac_aes128_set_key(void *_ctx, size_t len, const uint8_t * key)
+static void _wrap_gmac_aes128_set_key(void *_ctx, size_t len,
+ const uint8_t *key)
{
struct gmac_ctx *ctx = _ctx;
@@ -188,8 +188,8 @@ _wrap_gmac_aes128_set_key(void *_ctx, size_t len, const uint8_t * key)
ctx->pos = 0;
}
-static void
-_wrap_gmac_aes192_set_key(void *_ctx, size_t len, const uint8_t * key)
+static void _wrap_gmac_aes192_set_key(void *_ctx, size_t len,
+ const uint8_t *key)
{
struct gmac_ctx *ctx = _ctx;
@@ -200,8 +200,8 @@ _wrap_gmac_aes192_set_key(void *_ctx, size_t len, const uint8_t * key)
ctx->pos = 0;
}
-static void
-_wrap_gmac_aes256_set_key(void *_ctx, size_t len, const uint8_t * key)
+static void _wrap_gmac_aes256_set_key(void *_ctx, size_t len,
+ const uint8_t *key)
{
struct gmac_ctx *ctx = _ctx;
@@ -213,14 +213,14 @@ _wrap_gmac_aes256_set_key(void *_ctx, size_t len, const uint8_t * key)
}
static void _wrap_gmac_set_nonce(void *_ctx, size_t nonce_length,
- const uint8_t * nonce)
+ const uint8_t *nonce)
{
struct gmac_ctx *ctx = _ctx;
gcm_set_iv(&ctx->ctx, &ctx->key, nonce_length, nonce);
}
-static void _wrap_gmac_update(void *_ctx, size_t length, const uint8_t * data)
+static void _wrap_gmac_update(void *_ctx, size_t length, const uint8_t *data)
{
struct gmac_ctx *ctx = _ctx;
@@ -248,7 +248,7 @@ static void _wrap_gmac_update(void *_ctx, size_t length, const uint8_t * data)
ctx->pos = length;
}
-static void _wrap_gmac_digest(void *_ctx, size_t length, uint8_t * digest)
+static void _wrap_gmac_digest(void *_ctx, size_t length, uint8_t *digest)
{
struct gmac_ctx *ctx = _ctx;
@@ -268,117 +268,117 @@ static int _mac_ctx_init(gnutls_mac_algorithm_t algo,
ctx->set_nonce = NULL;
switch (algo) {
case GNUTLS_MAC_MD5:
- ctx->update = (update_func) hmac_md5_update;
- ctx->digest = (digest_func) hmac_md5_digest;
- ctx->set_key = (set_key_func) hmac_md5_set_key;
+ ctx->update = (update_func)hmac_md5_update;
+ ctx->digest = (digest_func)hmac_md5_digest;
+ ctx->set_key = (set_key_func)hmac_md5_set_key;
ctx->ctx_ptr = &ctx->ctx.md5;
ctx->length = MD5_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA1:
- ctx->update = (update_func) hmac_sha1_update;
- ctx->digest = (digest_func) hmac_sha1_digest;
- ctx->set_key = (set_key_func) hmac_sha1_set_key;
+ ctx->update = (update_func)hmac_sha1_update;
+ ctx->digest = (digest_func)hmac_sha1_digest;
+ ctx->set_key = (set_key_func)hmac_sha1_set_key;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA224:
- ctx->update = (update_func) hmac_sha224_update;
- ctx->digest = (digest_func) hmac_sha224_digest;
- ctx->set_key = (set_key_func) hmac_sha224_set_key;
+ ctx->update = (update_func)hmac_sha224_update;
+ ctx->digest = (digest_func)hmac_sha224_digest;
+ ctx->set_key = (set_key_func)hmac_sha224_set_key;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA256:
- ctx->update = (update_func) hmac_sha256_update;
- ctx->digest = (digest_func) hmac_sha256_digest;
- ctx->set_key = (set_key_func) hmac_sha256_set_key;
+ ctx->update = (update_func)hmac_sha256_update;
+ ctx->digest = (digest_func)hmac_sha256_digest;
+ ctx->set_key = (set_key_func)hmac_sha256_set_key;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA384:
- ctx->update = (update_func) hmac_sha384_update;
- ctx->digest = (digest_func) hmac_sha384_digest;
- ctx->set_key = (set_key_func) hmac_sha384_set_key;
+ ctx->update = (update_func)hmac_sha384_update;
+ ctx->digest = (digest_func)hmac_sha384_digest;
+ ctx->set_key = (set_key_func)hmac_sha384_set_key;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_MAC_SHA512:
- ctx->update = (update_func) hmac_sha512_update;
- ctx->digest = (digest_func) hmac_sha512_digest;
- ctx->set_key = (set_key_func) hmac_sha512_set_key;
+ ctx->update = (update_func)hmac_sha512_update;
+ ctx->digest = (digest_func)hmac_sha512_digest;
+ ctx->set_key = (set_key_func)hmac_sha512_set_key;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
#if ENABLE_GOST
case GNUTLS_MAC_GOSTR_94:
- ctx->update = (update_func) hmac_gosthash94cp_update;
- ctx->digest = (digest_func) hmac_gosthash94cp_digest;
- ctx->set_key = (set_key_func) hmac_gosthash94cp_set_key;
+ ctx->update = (update_func)hmac_gosthash94cp_update;
+ ctx->digest = (digest_func)hmac_gosthash94cp_digest;
+ ctx->set_key = (set_key_func)hmac_gosthash94cp_set_key;
ctx->ctx_ptr = &ctx->ctx.gosthash94cp;
ctx->length = GOSTHASH94CP_DIGEST_SIZE;
break;
case GNUTLS_MAC_STREEBOG_256:
- ctx->update = (update_func) hmac_streebog256_update;
- ctx->digest = (digest_func) hmac_streebog256_digest;
- ctx->set_key = (set_key_func) hmac_streebog256_set_key;
+ ctx->update = (update_func)hmac_streebog256_update;
+ ctx->digest = (digest_func)hmac_streebog256_digest;
+ ctx->set_key = (set_key_func)hmac_streebog256_set_key;
ctx->ctx_ptr = &ctx->ctx.streebog256;
ctx->length = STREEBOG256_DIGEST_SIZE;
break;
case GNUTLS_MAC_STREEBOG_512:
- ctx->update = (update_func) hmac_streebog512_update;
- ctx->digest = (digest_func) hmac_streebog512_digest;
- ctx->set_key = (set_key_func) hmac_streebog512_set_key;
+ ctx->update = (update_func)hmac_streebog512_update;
+ ctx->digest = (digest_func)hmac_streebog512_digest;
+ ctx->set_key = (set_key_func)hmac_streebog512_set_key;
ctx->ctx_ptr = &ctx->ctx.streebog512;
ctx->length = STREEBOG512_DIGEST_SIZE;
break;
case GNUTLS_MAC_GOST28147_TC26Z_IMIT:
- ctx->update = (update_func) gost28147_imit_update;
- ctx->digest = (digest_func) gost28147_imit_digest;
+ ctx->update = (update_func)gost28147_imit_update;
+ ctx->digest = (digest_func)gost28147_imit_digest;
ctx->set_key = _wrap_gost28147_imit_set_key_tc26z;
ctx->ctx_ptr = &ctx->ctx.gost28147_imit;
ctx->length = GOST28147_IMIT_DIGEST_SIZE;
break;
case GNUTLS_MAC_MAGMA_OMAC:
- ctx->update = (update_func) cmac_magma_update;
- ctx->digest = (digest_func) cmac_magma_digest;
+ ctx->update = (update_func)cmac_magma_update;
+ ctx->digest = (digest_func)cmac_magma_digest;
ctx->set_key = _wrap_cmac_magma_set_key;
ctx->ctx_ptr = &ctx->ctx.magma;
ctx->length = CMAC64_DIGEST_SIZE;
break;
case GNUTLS_MAC_KUZNYECHIK_OMAC:
- ctx->update = (update_func) cmac_kuznyechik_update;
- ctx->digest = (digest_func) cmac_kuznyechik_digest;
+ ctx->update = (update_func)cmac_kuznyechik_update;
+ ctx->digest = (digest_func)cmac_kuznyechik_digest;
ctx->set_key = _wrap_cmac_kuznyechik_set_key;
ctx->ctx_ptr = &ctx->ctx.kuznyechik;
ctx->length = CMAC128_DIGEST_SIZE;
break;
#endif
case GNUTLS_MAC_UMAC_96:
- ctx->update = (update_func) umac96_update;
- ctx->digest = (digest_func) umac96_digest;
+ ctx->update = (update_func)umac96_update;
+ ctx->digest = (digest_func)umac96_digest;
ctx->set_key = _wrap_umac96_set_key;
- ctx->set_nonce = (set_nonce_func) umac96_set_nonce;
+ ctx->set_nonce = (set_nonce_func)umac96_set_nonce;
ctx->ctx_ptr = &ctx->ctx.umac96;
ctx->length = 12;
break;
case GNUTLS_MAC_UMAC_128:
- ctx->update = (update_func) umac128_update;
- ctx->digest = (digest_func) umac128_digest;
+ ctx->update = (update_func)umac128_update;
+ ctx->digest = (digest_func)umac128_digest;
ctx->set_key = _wrap_umac128_set_key;
- ctx->set_nonce = (set_nonce_func) umac128_set_nonce;
+ ctx->set_nonce = (set_nonce_func)umac128_set_nonce;
ctx->ctx_ptr = &ctx->ctx.umac128;
ctx->length = 16;
break;
case GNUTLS_MAC_AES_CMAC_128:
- ctx->update = (update_func) cmac_aes128_update;
- ctx->digest = (digest_func) cmac_aes128_digest;
+ ctx->update = (update_func)cmac_aes128_update;
+ ctx->digest = (digest_func)cmac_aes128_digest;
ctx->set_key = _wrap_cmac128_set_key;
ctx->ctx_ptr = &ctx->ctx.cmac128;
ctx->length = CMAC128_DIGEST_SIZE;
break;
case GNUTLS_MAC_AES_CMAC_256:
- ctx->update = (update_func) cmac_aes256_update;
- ctx->digest = (digest_func) cmac_aes256_digest;
+ ctx->update = (update_func)cmac_aes256_update;
+ ctx->digest = (digest_func)cmac_aes256_digest;
ctx->set_key = _wrap_cmac256_set_key;
ctx->ctx_ptr = &ctx->ctx.cmac256;
ctx->length = CMAC128_DIGEST_SIZE;
@@ -390,7 +390,7 @@ static int _mac_ctx_init(gnutls_mac_algorithm_t algo,
ctx->digest = _wrap_gmac_digest;
ctx->ctx_ptr = &ctx->ctx.gmac;
ctx->length = GCM_DIGEST_SIZE;
- ctx->ctx.gmac.encrypt = (nettle_cipher_func *) aes128_encrypt;
+ ctx->ctx.gmac.encrypt = (nettle_cipher_func *)aes128_encrypt;
break;
case GNUTLS_MAC_AES_GMAC_192:
ctx->set_key = _wrap_gmac_aes192_set_key;
@@ -399,7 +399,7 @@ static int _mac_ctx_init(gnutls_mac_algorithm_t algo,
ctx->digest = _wrap_gmac_digest;
ctx->ctx_ptr = &ctx->ctx.gmac;
ctx->length = GCM_DIGEST_SIZE;
- ctx->ctx.gmac.encrypt = (nettle_cipher_func *) aes192_encrypt;
+ ctx->ctx.gmac.encrypt = (nettle_cipher_func *)aes192_encrypt;
break;
case GNUTLS_MAC_AES_GMAC_256:
ctx->set_key = _wrap_gmac_aes256_set_key;
@@ -408,7 +408,7 @@ static int _mac_ctx_init(gnutls_mac_algorithm_t algo,
ctx->digest = _wrap_gmac_digest;
ctx->ctx_ptr = &ctx->ctx.gmac;
ctx->length = GCM_DIGEST_SIZE;
- ctx->ctx.gmac.encrypt = (nettle_cipher_func *) aes256_encrypt;
+ ctx->ctx.gmac.encrypt = (nettle_cipher_func *)aes256_encrypt;
break;
default:
gnutls_assert();
@@ -418,11 +418,10 @@ static int _mac_ctx_init(gnutls_mac_algorithm_t algo,
return 0;
}
-static int wrap_nettle_mac_fast(gnutls_mac_algorithm_t algo,
- const void *nonce, size_t nonce_size,
- const void *key, size_t key_size,
- const void *text, size_t text_size,
- void *digest)
+static int wrap_nettle_mac_fast(gnutls_mac_algorithm_t algo, const void *nonce,
+ size_t nonce_size, const void *key,
+ size_t key_size, const void *text,
+ size_t text_size, void *digest)
{
struct nettle_mac_ctx ctx;
int ret;
@@ -504,14 +503,14 @@ static void *wrap_nettle_mac_copy(const void *_ctx)
{
const struct nettle_mac_ctx *ctx = _ctx;
struct nettle_mac_ctx *new_ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_calloc(1, sizeof(struct nettle_mac_ctx));
if (new_ctx == NULL)
return NULL;
memcpy(new_ctx, ctx, sizeof(*ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
@@ -524,8 +523,8 @@ static int wrap_nettle_mac_set_key(void *_ctx, const void *key, size_t keylen)
return 0;
}
-static int
-wrap_nettle_mac_set_nonce(void *_ctx, const void *nonce, size_t noncelen)
+static int wrap_nettle_mac_set_nonce(void *_ctx, const void *nonce,
+ size_t noncelen)
{
struct nettle_mac_ctx *ctx = _ctx;
@@ -549,8 +548,8 @@ static int wrap_nettle_mac_update(void *_ctx, const void *text, size_t textsize)
return GNUTLS_E_SUCCESS;
}
-static int
-wrap_nettle_mac_output(void *src_ctx, void *digest, size_t digestsize)
+static int wrap_nettle_mac_output(void *src_ctx, void *digest,
+ size_t digestsize)
{
struct nettle_mac_ctx *ctx;
ctx = src_ctx;
@@ -575,8 +574,8 @@ static void wrap_nettle_mac_deinit(void *hd)
/* Hash functions
*/
-static int
-wrap_nettle_hash_update(void *_ctx, const void *text, size_t textsize)
+static int wrap_nettle_hash_update(void *_ctx, const void *text,
+ size_t textsize)
{
struct nettle_hash_ctx *ctx = _ctx;
@@ -626,7 +625,7 @@ static int wrap_nettle_hash_exists(gnutls_digest_algorithm_t algo)
}
}
-static void _md5_sha1_update(void *_ctx, size_t len, const uint8_t * data)
+static void _md5_sha1_update(void *_ctx, size_t len, const uint8_t *data)
{
struct md5_sha1_ctx *ctx = _ctx;
@@ -634,7 +633,7 @@ static void _md5_sha1_update(void *_ctx, size_t len, const uint8_t * data)
sha1_update(&ctx->sha1, len, data);
}
-static void _md5_sha1_digest(void *_ctx, size_t len, uint8_t * digest)
+static void _md5_sha1_digest(void *_ctx, size_t len, uint8_t *digest)
{
struct md5_sha1_ctx *ctx = _ctx;
@@ -654,110 +653,110 @@ static int _ctx_init(gnutls_digest_algorithm_t algo,
switch (algo) {
case GNUTLS_DIG_MD5:
md5_init(&ctx->ctx.md5);
- ctx->update = (update_func) md5_update;
- ctx->digest = (digest_func) md5_digest;
+ ctx->update = (update_func)md5_update;
+ ctx->digest = (digest_func)md5_digest;
ctx->ctx_ptr = &ctx->ctx.md5;
ctx->length = MD5_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA1:
sha1_init(&ctx->ctx.sha1);
- ctx->update = (update_func) sha1_update;
- ctx->digest = (digest_func) sha1_digest;
+ ctx->update = (update_func)sha1_update;
+ ctx->digest = (digest_func)sha1_digest;
ctx->ctx_ptr = &ctx->ctx.sha1;
ctx->length = SHA1_DIGEST_SIZE;
break;
case GNUTLS_DIG_MD5_SHA1:
md5_init(&ctx->ctx.md5_sha1.md5);
sha1_init(&ctx->ctx.md5_sha1.sha1);
- ctx->update = (update_func) _md5_sha1_update;
- ctx->digest = (digest_func) _md5_sha1_digest;
+ ctx->update = (update_func)_md5_sha1_update;
+ ctx->digest = (digest_func)_md5_sha1_digest;
ctx->ctx_ptr = &ctx->ctx.md5_sha1;
ctx->length = MD5_DIGEST_SIZE + SHA1_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA224:
sha224_init(&ctx->ctx.sha224);
- ctx->update = (update_func) sha224_update;
- ctx->digest = (digest_func) sha224_digest;
+ ctx->update = (update_func)sha224_update;
+ ctx->digest = (digest_func)sha224_digest;
ctx->ctx_ptr = &ctx->ctx.sha224;
ctx->length = SHA224_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA256:
sha256_init(&ctx->ctx.sha256);
- ctx->update = (update_func) sha256_update;
- ctx->digest = (digest_func) sha256_digest;
+ ctx->update = (update_func)sha256_update;
+ ctx->digest = (digest_func)sha256_digest;
ctx->ctx_ptr = &ctx->ctx.sha256;
ctx->length = SHA256_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA384:
sha384_init(&ctx->ctx.sha384);
- ctx->update = (update_func) sha384_update;
- ctx->digest = (digest_func) sha384_digest;
+ ctx->update = (update_func)sha384_update;
+ ctx->digest = (digest_func)sha384_digest;
ctx->ctx_ptr = &ctx->ctx.sha384;
ctx->length = SHA384_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA512:
sha512_init(&ctx->ctx.sha512);
- ctx->update = (update_func) sha512_update;
- ctx->digest = (digest_func) sha512_digest;
+ ctx->update = (update_func)sha512_update;
+ ctx->digest = (digest_func)sha512_digest;
ctx->ctx_ptr = &ctx->ctx.sha512;
ctx->length = SHA512_DIGEST_SIZE;
break;
#ifdef NETTLE_SHA3_FIPS202
case GNUTLS_DIG_SHA3_224:
sha3_224_init(&ctx->ctx.sha3_224);
- ctx->update = (update_func) sha3_224_update;
- ctx->digest = (digest_func) sha3_224_digest;
+ ctx->update = (update_func)sha3_224_update;
+ ctx->digest = (digest_func)sha3_224_digest;
ctx->ctx_ptr = &ctx->ctx.sha3_224;
ctx->length = SHA3_224_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA3_256:
sha3_256_init(&ctx->ctx.sha3_256);
- ctx->update = (update_func) sha3_256_update;
- ctx->digest = (digest_func) sha3_256_digest;
+ ctx->update = (update_func)sha3_256_update;
+ ctx->digest = (digest_func)sha3_256_digest;
ctx->ctx_ptr = &ctx->ctx.sha3_256;
ctx->length = SHA3_256_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA3_384:
sha3_384_init(&ctx->ctx.sha3_384);
- ctx->update = (update_func) sha3_384_update;
- ctx->digest = (digest_func) sha3_384_digest;
+ ctx->update = (update_func)sha3_384_update;
+ ctx->digest = (digest_func)sha3_384_digest;
ctx->ctx_ptr = &ctx->ctx.sha3_384;
ctx->length = SHA3_384_DIGEST_SIZE;
break;
case GNUTLS_DIG_SHA3_512:
sha3_512_init(&ctx->ctx.sha3_512);
- ctx->update = (update_func) sha3_512_update;
- ctx->digest = (digest_func) sha3_512_digest;
+ ctx->update = (update_func)sha3_512_update;
+ ctx->digest = (digest_func)sha3_512_digest;
ctx->ctx_ptr = &ctx->ctx.sha3_512;
ctx->length = SHA3_512_DIGEST_SIZE;
break;
#endif
case GNUTLS_DIG_MD2:
md2_init(&ctx->ctx.md2);
- ctx->update = (update_func) md2_update;
- ctx->digest = (digest_func) md2_digest;
+ ctx->update = (update_func)md2_update;
+ ctx->digest = (digest_func)md2_digest;
ctx->ctx_ptr = &ctx->ctx.md2;
ctx->length = MD2_DIGEST_SIZE;
break;
#if ENABLE_GOST
case GNUTLS_DIG_GOSTR_94:
gosthash94cp_init(&ctx->ctx.gosthash94cp);
- ctx->update = (update_func) gosthash94cp_update;
- ctx->digest = (digest_func) gosthash94cp_digest;
+ ctx->update = (update_func)gosthash94cp_update;
+ ctx->digest = (digest_func)gosthash94cp_digest;
ctx->ctx_ptr = &ctx->ctx.gosthash94cp;
ctx->length = GOSTHASH94_DIGEST_SIZE;
break;
case GNUTLS_DIG_STREEBOG_256:
streebog256_init(&ctx->ctx.streebog256);
- ctx->update = (update_func) streebog256_update;
- ctx->digest = (digest_func) streebog256_digest;
+ ctx->update = (update_func)streebog256_update;
+ ctx->digest = (digest_func)streebog256_digest;
ctx->ctx_ptr = &ctx->ctx.streebog256;
ctx->length = STREEBOG256_DIGEST_SIZE;
break;
case GNUTLS_DIG_STREEBOG_512:
streebog512_init(&ctx->ctx.streebog512);
- ctx->update = (update_func) streebog512_update;
- ctx->digest = (digest_func) streebog512_digest;
+ ctx->update = (update_func)streebog512_update;
+ ctx->digest = (digest_func)streebog512_digest;
ctx->ctx_ptr = &ctx->ctx.streebog512;
ctx->length = STREEBOG512_DIGEST_SIZE;
break;
@@ -818,20 +817,20 @@ static void *wrap_nettle_hash_copy(const void *_ctx)
{
const struct nettle_hash_ctx *ctx = _ctx;
struct nettle_hash_ctx *new_ctx;
- ptrdiff_t off = (uint8_t *) ctx->ctx_ptr - (uint8_t *) (&ctx->ctx);
+ ptrdiff_t off = (uint8_t *)ctx->ctx_ptr - (uint8_t *)(&ctx->ctx);
new_ctx = gnutls_calloc(1, sizeof(struct nettle_hash_ctx));
if (new_ctx == NULL)
return NULL;
memcpy(new_ctx, ctx, sizeof(*ctx));
- new_ctx->ctx_ptr = (uint8_t *) & new_ctx->ctx + off;
+ new_ctx->ctx_ptr = (uint8_t *)&new_ctx->ctx + off;
return new_ctx;
}
-static int
-wrap_nettle_hash_output(void *src_ctx, void *digest, size_t digestsize)
+static int wrap_nettle_hash_output(void *src_ctx, void *digest,
+ size_t digestsize)
{
struct nettle_hash_ctx *ctx;
ctx = src_ctx;
@@ -848,10 +847,9 @@ wrap_nettle_hash_output(void *src_ctx, void *digest, size_t digestsize)
/* KDF functions based on MAC
*/
-static int
-wrap_nettle_hkdf_extract(gnutls_mac_algorithm_t mac,
- const void *key, size_t keysize,
- const void *salt, size_t saltsize, void *output)
+static int wrap_nettle_hkdf_extract(gnutls_mac_algorithm_t mac, const void *key,
+ size_t keysize, const void *salt,
+ size_t saltsize, void *output)
{
struct nettle_mac_ctx ctx;
int ret;
@@ -861,18 +859,16 @@ wrap_nettle_hkdf_extract(gnutls_mac_algorithm_t mac,
return gnutls_assert_val(ret);
ctx.set_key(&ctx, saltsize, salt);
- hkdf_extract(&ctx.ctx, ctx.update, ctx.digest, ctx.length,
- keysize, key, output);
+ hkdf_extract(&ctx.ctx, ctx.update, ctx.digest, ctx.length, keysize, key,
+ output);
zeroize_temp_key(&ctx, sizeof(ctx));
return 0;
}
-static int
-wrap_nettle_hkdf_expand(gnutls_mac_algorithm_t mac,
- const void *key, size_t keysize,
- const void *info, size_t infosize,
- void *output, size_t length)
+static int wrap_nettle_hkdf_expand(gnutls_mac_algorithm_t mac, const void *key,
+ size_t keysize, const void *info,
+ size_t infosize, void *output, size_t length)
{
struct nettle_mac_ctx ctx;
int ret;
@@ -887,18 +883,16 @@ wrap_nettle_hkdf_expand(gnutls_mac_algorithm_t mac,
}
ctx.set_key(&ctx, keysize, key);
- hkdf_expand(&ctx.ctx, ctx.update, ctx.digest, ctx.length,
- infosize, info, length, output);
+ hkdf_expand(&ctx.ctx, ctx.update, ctx.digest, ctx.length, infosize,
+ info, length, output);
zeroize_temp_key(&ctx, sizeof(ctx));
return 0;
}
-static int
-wrap_nettle_pbkdf2(gnutls_mac_algorithm_t mac,
- const void *key, size_t keysize,
- const void *salt, size_t saltsize,
- unsigned iter_count, void *output, size_t length)
+static int wrap_nettle_pbkdf2(gnutls_mac_algorithm_t mac, const void *key,
+ size_t keysize, const void *salt, size_t saltsize,
+ unsigned iter_count, void *output, size_t length)
{
struct nettle_mac_ctx ctx;
int ret;
@@ -908,8 +902,8 @@ wrap_nettle_pbkdf2(gnutls_mac_algorithm_t mac,
return gnutls_assert_val(ret);
ctx.set_key(&ctx, keysize, key);
- pbkdf2(&ctx.ctx, ctx.update, ctx.digest, ctx.length,
- iter_count, saltsize, salt, length, output);
+ pbkdf2(&ctx.ctx, ctx.update, ctx.digest, ctx.length, iter_count,
+ saltsize, salt, length, output);
zeroize_temp_key(&ctx, sizeof(ctx));
return 0;
diff --git a/lib/nettle/mpi.c b/lib/nettle/mpi.c
index 94e9f517ab..3e85543292 100644
--- a/lib/nettle/mpi.c
+++ b/lib/nettle/mpi.c
@@ -28,16 +28,15 @@
#include <algorithms.h>
#include <num.h>
#include <mpi.h>
-#include <nettle/bignum.h> /* includes gmp.h */
+#include <nettle/bignum.h> /* includes gmp.h */
#if ENABLE_GOST
-# include "gost/bignum-le.h"
+#include "gost/bignum-le.h"
#endif
#include <gnettle.h>
#include <random.h>
-static int
-wrap_nettle_mpi_print(const bigint_t a, void *buffer, size_t *nbytes,
- gnutls_bigint_format_t format)
+static int wrap_nettle_mpi_print(const bigint_t a, void *buffer, size_t *nbytes,
+ gnutls_bigint_format_t format)
{
unsigned int size;
mpz_t *p = (void *)a;
@@ -72,7 +71,7 @@ wrap_nettle_mpi_print(const bigint_t a, void *buffer, size_t *nbytes,
return 0;
}
-static int wrap_nettle_mpi_init(bigint_t * w)
+static int wrap_nettle_mpi_init(bigint_t *w)
{
bigint_t r;
@@ -88,7 +87,7 @@ static int wrap_nettle_mpi_init(bigint_t * w)
return 0;
}
-static int wrap_nettle_mpi_init_multi(bigint_t * w, ...)
+static int wrap_nettle_mpi_init_multi(bigint_t *w, ...)
{
va_list args;
bigint_t *next;
@@ -119,7 +118,7 @@ static int wrap_nettle_mpi_init_multi(bigint_t * w, ...)
va_end(args);
return 0;
- fail:
+fail:
mpz_clear(TOMPZ(*w));
gnutls_free(*w);
@@ -138,9 +137,8 @@ static int wrap_nettle_mpi_init_multi(bigint_t * w, ...)
return GNUTLS_E_MEMORY_ERROR;
}
-static int
-wrap_nettle_mpi_scan(bigint_t r, const void *buffer, size_t nbytes,
- gnutls_bigint_format_t format)
+static int wrap_nettle_mpi_scan(bigint_t r, const void *buffer, size_t nbytes,
+ gnutls_bigint_format_t format)
{
if (format == GNUTLS_MPI_FORMAT_USG) {
nettle_mpz_set_str_256_u(TOMPZ(r), nbytes, buffer);
@@ -156,7 +154,7 @@ wrap_nettle_mpi_scan(bigint_t r, const void *buffer, size_t nbytes,
}
return 0;
- fail:
+fail:
return GNUTLS_E_MPI_SCAN_FAILED;
}
@@ -229,18 +227,16 @@ static int wrap_nettle_mpi_modm(bigint_t r, const bigint_t a, const bigint_t b)
return 0;
}
-static int
-wrap_nettle_mpi_powm(bigint_t w, const bigint_t b, const bigint_t e,
- const bigint_t m)
+static int wrap_nettle_mpi_powm(bigint_t w, const bigint_t b, const bigint_t e,
+ const bigint_t m)
{
mpz_powm(TOMPZ(w), TOMPZ(b), TOMPZ(e), TOMPZ(m));
return 0;
}
-static int
-wrap_nettle_mpi_addm(bigint_t w, const bigint_t a, const bigint_t b,
- const bigint_t m)
+static int wrap_nettle_mpi_addm(bigint_t w, const bigint_t a, const bigint_t b,
+ const bigint_t m)
{
mpz_add(TOMPZ(w), TOMPZ(b), TOMPZ(a));
mpz_fdiv_r(TOMPZ(w), TOMPZ(w), TOMPZ(m));
@@ -248,9 +244,8 @@ wrap_nettle_mpi_addm(bigint_t w, const bigint_t a, const bigint_t b,
return 0;
}
-static int
-wrap_nettle_mpi_subm(bigint_t w, const bigint_t a, const bigint_t b,
- const bigint_t m)
+static int wrap_nettle_mpi_subm(bigint_t w, const bigint_t a, const bigint_t b,
+ const bigint_t m)
{
mpz_sub(TOMPZ(w), TOMPZ(a), TOMPZ(b));
mpz_fdiv_r(TOMPZ(w), TOMPZ(w), TOMPZ(m));
@@ -258,9 +253,8 @@ wrap_nettle_mpi_subm(bigint_t w, const bigint_t a, const bigint_t b,
return 0;
}
-static int
-wrap_nettle_mpi_mulm(bigint_t w, const bigint_t a, const bigint_t b,
- const bigint_t m)
+static int wrap_nettle_mpi_mulm(bigint_t w, const bigint_t a, const bigint_t b,
+ const bigint_t m)
{
mpz_mul(TOMPZ(w), TOMPZ(a), TOMPZ(b));
mpz_fdiv_r(TOMPZ(w), TOMPZ(w), TOMPZ(m));
@@ -327,7 +321,7 @@ static int wrap_nettle_prime_check(bigint_t pp)
return 0;
}
- return GNUTLS_E_INTERNAL_ERROR; /* ignored */
+ return GNUTLS_E_INTERNAL_ERROR; /* ignored */
}
int crypto_bigint_prio = INT_MAX;
diff --git a/lib/nettle/nettle-alloca.h b/lib/nettle/nettle-alloca.h
index a8750a8943..96cf026760 100644
--- a/lib/nettle/nettle-alloca.h
+++ b/lib/nettle/nettle-alloca.h
@@ -33,25 +33,28 @@
*/
#ifndef GNUTLS_LIB_NETTLE_GOST_NETTLE_INTERNAL_H
-# define GNUTLS_LIB_NETTLE_GOST_NETTLE_INTERNAL_H
+#define GNUTLS_LIB_NETTLE_GOST_NETTLE_INTERNAL_H
-# ifdef HAVE_CONFIG_H
-# include <config.h>
-# endif
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
/* Temporary allocation, for systems that don't support alloca. Note
* that the allocation requests should always be reasonably small, so
* that they can fit on the stack. For non-alloca systems, we use a
* fix maximum size, and abort if we ever need anything larger. */
-# if HAVE_ALLOCA
-# include <alloca.h>
-# define TMP_DECL(name, type, max) type *name
-# define TMP_ALLOC(name, size) (name = alloca(sizeof (*name) * (size)))
-# else /* !HAVE_ALLOCA */
-# define TMP_DECL(name, type, max) type name[max]
-# define TMP_ALLOC(name, size) \
- do { if ((size) > (sizeof(name) / sizeof(name[0]))) abort(); } while (0)
-# endif
-
-#endif /* GNUTLS_LIB_NETTLE_GOST_NETTLE_INTERNAL_H */
+#if HAVE_ALLOCA
+#include <alloca.h>
+#define TMP_DECL(name, type, max) type *name
+#define TMP_ALLOC(name, size) (name = alloca(sizeof(*name) * (size)))
+#else /* !HAVE_ALLOCA */
+#define TMP_DECL(name, type, max) type name[max]
+#define TMP_ALLOC(name, size) \
+ do { \
+ if ((size) > (sizeof(name) / sizeof(name[0]))) \
+ abort(); \
+ } while (0)
+#endif
+
+#endif /* GNUTLS_LIB_NETTLE_GOST_NETTLE_INTERNAL_H */
diff --git a/lib/nettle/pk.c b/lib/nettle/pk.c
index bd9c1b4c74..9cf63f7c12 100644
--- a/lib/nettle/pk.c
+++ b/lib/nettle/pk.c
@@ -52,15 +52,15 @@
#include <nettle/eddsa.h>
#include <nettle/version.h>
#if ENABLE_GOST
-# if NEED_INT_ECC
-# include "ecc/gostdsa.h"
-# include "ecc-gost-curve.h"
-# else
-# include <nettle/gostdsa.h>
-# define gost_point_mul_g ecc_point_mul_g
-# define gost_point_set ecc_point_set
-# endif
-# include "gost/gostdsa2.h"
+#if NEED_INT_ECC
+#include "ecc/gostdsa.h"
+#include "ecc-gost-curve.h"
+#else
+#include <nettle/gostdsa.h>
+#define gost_point_mul_g ecc_point_mul_g
+#define gost_point_set ecc_point_set
+#endif
+#include "gost/gostdsa2.h"
#endif
#include "int/ecdsa-compute-k.h"
#include "int/dsa-compute-k.h"
@@ -79,34 +79,34 @@ static inline const char *get_supported_nist_curve_modulus(int curve);
* is complete. If the macro is true, the operation is to be considered
* failed (meaning the random generation failed).
*/
-static void rnd_key_func(void *_ctx, size_t length, uint8_t * data)
+static void rnd_key_func(void *_ctx, size_t length, uint8_t *data)
{
if (gnutls_rnd(GNUTLS_RND_KEY, data, length) < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
}
}
-static void rnd_tmpkey_func(void *_ctx, size_t length, uint8_t * data)
+static void rnd_tmpkey_func(void *_ctx, size_t length, uint8_t *data)
{
if (gnutls_rnd(GNUTLS_RND_RANDOM, data, length) < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
}
}
-static void rnd_nonce_func(void *_ctx, size_t length, uint8_t * data)
+static void rnd_nonce_func(void *_ctx, size_t length, uint8_t *data)
{
if (gnutls_rnd(GNUTLS_RND_NONCE, data, length) < 0) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
}
}
-static void rnd_mpz_func(void *_ctx, size_t length, uint8_t * data)
+static void rnd_mpz_func(void *_ctx, size_t length, uint8_t *data)
{
mpz_t *k = _ctx;
nettle_mpz_get_str_256(length, data, *k);
}
-static void rnd_nonce_func_fallback(void *_ctx, size_t length, uint8_t * data)
+static void rnd_nonce_func_fallback(void *_ctx, size_t length, uint8_t *data)
{
if (unlikely(_gnutls_get_lib_state() != LIB_STATE_SELFTEST)) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
@@ -127,8 +127,8 @@ static void ecc_point_zclear(struct ecc_point *p)
ecc_point_clear(p);
}
-static void
-_dsa_params_get(const gnutls_pk_params_st * pk_params, struct dsa_params *pub)
+static void _dsa_params_get(const gnutls_pk_params_st *pk_params,
+ struct dsa_params *pub)
{
memcpy(pub->p, pk_params->params[DSA_P], SIZEOF_MPZT);
@@ -137,9 +137,8 @@ _dsa_params_get(const gnutls_pk_params_st * pk_params, struct dsa_params *pub)
memcpy(pub->g, pk_params->params[DSA_G], SIZEOF_MPZT);
}
-static void
-_rsa_params_to_privkey(const gnutls_pk_params_st * pk_params,
- struct rsa_private_key *priv)
+static void _rsa_params_to_privkey(const gnutls_pk_params_st *pk_params,
+ struct rsa_private_key *priv)
{
memcpy(priv->d, pk_params->params[RSA_PRIV], SIZEOF_MPZT);
memcpy(priv->p, pk_params->params[RSA_PRIME1], SIZEOF_MPZT);
@@ -149,14 +148,13 @@ _rsa_params_to_privkey(const gnutls_pk_params_st * pk_params,
memcpy(priv->b, pk_params->params[RSA_E2], SIZEOF_MPZT);
/* we do not rsa_private_key_prepare() because it involves a multiplication.
* we call it once when we import the parameters */
- priv->size =
- nettle_mpz_sizeinbase_256_u(TOMPZ(pk_params->params[RSA_MODULUS]));
+ priv->size = nettle_mpz_sizeinbase_256_u(
+ TOMPZ(pk_params->params[RSA_MODULUS]));
}
/* returns a negative value on invalid pubkey */
-static int
-_rsa_params_to_pubkey(const gnutls_pk_params_st * pk_params,
- struct rsa_public_key *pub)
+static int _rsa_params_to_pubkey(const gnutls_pk_params_st *pk_params,
+ struct rsa_public_key *pub)
{
memcpy(pub->n, pk_params->params[RSA_MODULUS], SIZEOF_MPZT);
memcpy(pub->e, pk_params->params[RSA_PUB], SIZEOF_MPZT);
@@ -166,9 +164,9 @@ _rsa_params_to_pubkey(const gnutls_pk_params_st * pk_params,
return 0;
}
-static int
-_ecc_params_to_privkey(const gnutls_pk_params_st * pk_params,
- struct ecc_scalar *priv, const struct ecc_curve *curve)
+static int _ecc_params_to_privkey(const gnutls_pk_params_st *pk_params,
+ struct ecc_scalar *priv,
+ const struct ecc_curve *curve)
{
ecc_scalar_init(priv, curve);
if (ecc_scalar_set(priv, pk_params->params[ECC_K]) == 0) {
@@ -179,13 +177,13 @@ _ecc_params_to_privkey(const gnutls_pk_params_st * pk_params,
return 0;
}
-static int
-_ecc_params_to_pubkey(const gnutls_pk_params_st * pk_params,
- struct ecc_point *pub, const struct ecc_curve *curve)
+static int _ecc_params_to_pubkey(const gnutls_pk_params_st *pk_params,
+ struct ecc_point *pub,
+ const struct ecc_curve *curve)
{
ecc_point_init(pub, curve);
- if (ecc_point_set
- (pub, pk_params->params[ECC_X], pk_params->params[ECC_Y]) == 0) {
+ if (ecc_point_set(pub, pk_params->params[ECC_X],
+ pk_params->params[ECC_Y]) == 0) {
ecc_point_clear(pub);
return gnutls_assert_val(GNUTLS_E_PK_INVALID_PUBKEY);
}
@@ -194,9 +192,9 @@ _ecc_params_to_pubkey(const gnutls_pk_params_st * pk_params,
}
#if ENABLE_GOST
-static int
-_gost_params_to_privkey(const gnutls_pk_params_st * pk_params,
- struct ecc_scalar *priv, const struct ecc_curve *curve)
+static int _gost_params_to_privkey(const gnutls_pk_params_st *pk_params,
+ struct ecc_scalar *priv,
+ const struct ecc_curve *curve)
{
ecc_scalar_init(priv, curve);
if (ecc_scalar_set(priv, pk_params->params[GOST_K]) == 0) {
@@ -207,13 +205,13 @@ _gost_params_to_privkey(const gnutls_pk_params_st * pk_params,
return 0;
}
-static int
-_gost_params_to_pubkey(const gnutls_pk_params_st * pk_params,
- struct ecc_point *pub, const struct ecc_curve *curve)
+static int _gost_params_to_pubkey(const gnutls_pk_params_st *pk_params,
+ struct ecc_point *pub,
+ const struct ecc_curve *curve)
{
ecc_point_init(pub, curve);
- if (gost_point_set
- (pub, pk_params->params[GOST_X], pk_params->params[GOST_Y]) == 0) {
+ if (gost_point_set(pub, pk_params->params[GOST_X],
+ pk_params->params[GOST_Y]) == 0) {
ecc_point_clear(pub);
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -222,9 +220,9 @@ _gost_params_to_pubkey(const gnutls_pk_params_st * pk_params,
}
#endif
-static int
-ecc_shared_secret(struct ecc_scalar *private_key,
- struct ecc_point *public_key, void *out, unsigned size)
+static int ecc_shared_secret(struct ecc_scalar *private_key,
+ struct ecc_point *public_key, void *out,
+ unsigned size)
{
struct ecc_point r;
mpz_t x, y;
@@ -248,7 +246,7 @@ ecc_shared_secret(struct ecc_scalar *private_key,
nettle_mpz_get_str_256(size, out, x);
- cleanup:
+cleanup:
mpz_clear(x);
mpz_clear(y);
ecc_point_clear(&r);
@@ -261,11 +259,10 @@ ecc_shared_secret(struct ecc_scalar *private_key,
* of p-1 used by the peer. It is still a conservative
* choice, but small than what we've been using before.
*/
-#define DH_EXPONENT_SIZE(p_size) (2*_gnutls_pk_bits_to_subgroup_bits(p_size))
+#define DH_EXPONENT_SIZE(p_size) (2 * _gnutls_pk_bits_to_subgroup_bits(p_size))
-static inline int
-edwards_curve_mul(gnutls_pk_algorithm_t algo,
- uint8_t * q, const uint8_t * n, const uint8_t * p)
+static inline int edwards_curve_mul(gnutls_pk_algorithm_t algo, uint8_t *q,
+ const uint8_t *n, const uint8_t *p)
{
switch (algo) {
case GNUTLS_PK_ECDH_X25519:
@@ -283,226 +280,215 @@ edwards_curve_mul(gnutls_pk_algorithm_t algo,
* it is given the peers Y and our x, and calculates Y^x
*/
static int _wrap_nettle_pk_derive(gnutls_pk_algorithm_t algo,
- gnutls_datum_t * out,
- const gnutls_pk_params_st * priv,
- const gnutls_pk_params_st * pub,
- const gnutls_datum_t * nonce,
+ gnutls_datum_t *out,
+ const gnutls_pk_params_st *priv,
+ const gnutls_pk_params_st *pub,
+ const gnutls_datum_t *nonce,
unsigned int flags)
{
int ret;
bool not_approved = false;
switch (algo) {
- case GNUTLS_PK_DH:{
- bigint_t f, x, q, prime;
- bigint_t k = NULL, primesub1 = NULL, r = NULL;
- unsigned int bits;
-
- if (nonce != NULL) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ case GNUTLS_PK_DH: {
+ bigint_t f, x, q, prime;
+ bigint_t k = NULL, primesub1 = NULL, r = NULL;
+ unsigned int bits;
- f = pub->params[DH_Y];
- x = priv->params[DH_X];
- q = priv->params[DH_Q];
- prime = priv->params[DH_P];
+ if (nonce != NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- ret = _gnutls_mpi_init_multi(&k, &primesub1, &r, NULL);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ f = pub->params[DH_Y];
+ x = priv->params[DH_X];
+ q = priv->params[DH_Q];
+ prime = priv->params[DH_P];
- ret = _gnutls_mpi_sub_ui(primesub1, prime, 1);
+ ret = _gnutls_mpi_init_multi(&k, &primesub1, &r, NULL);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
+
+ ret = _gnutls_mpi_sub_ui(primesub1, prime, 1);
+ if (ret < 0) {
+ gnutls_assert();
+ goto dh_cleanup;
+ }
+
+ /* check if f==0,1, or f >= p-1 */
+ if ((_gnutls_mpi_cmp_ui(f, 1) == 0) ||
+ (_gnutls_mpi_cmp_ui(f, 0) == 0) ||
+ (_gnutls_mpi_cmp(f, primesub1) >= 0)) {
+ gnutls_assert();
+ ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
+ goto dh_cleanup;
+ }
+
+ /* if we have Q check that y ^ q mod p == 1 */
+ if (q != NULL) {
+ ret = _gnutls_mpi_powm(r, f, q, prime);
if (ret < 0) {
gnutls_assert();
goto dh_cleanup;
}
-
- /* check if f==0,1, or f >= p-1 */
- if ((_gnutls_mpi_cmp_ui(f, 1) == 0)
- || (_gnutls_mpi_cmp_ui(f, 0) == 0)
- || (_gnutls_mpi_cmp(f, primesub1) >= 0)) {
+ ret = _gnutls_mpi_cmp_ui(r, 1);
+ if (ret != 0) {
gnutls_assert();
ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
goto dh_cleanup;
}
+ } else if ((flags & PK_DERIVE_TLS13) &&
+ _gnutls_fips_mode_enabled()) {
+ /* Mandatory in FIPS mode for TLS 1.3 */
+ ret = gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ goto dh_cleanup;
+ }
- /* if we have Q check that y ^ q mod p == 1 */
- if (q != NULL) {
- ret = _gnutls_mpi_powm(r, f, q, prime);
- if (ret < 0) {
- gnutls_assert();
- goto dh_cleanup;
- }
- ret = _gnutls_mpi_cmp_ui(r, 1);
- if (ret != 0) {
- gnutls_assert();
- ret =
- GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
- goto dh_cleanup;
- }
- } else if ((flags & PK_DERIVE_TLS13) &&
- _gnutls_fips_mode_enabled()) {
- /* Mandatory in FIPS mode for TLS 1.3 */
- ret =
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- goto dh_cleanup;
- }
-
- /* prevent denial of service */
- bits = _gnutls_mpi_get_nbits(prime);
- if (bits == 0 || bits > MAX_DH_BITS) {
- gnutls_assert();
- ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
- goto dh_cleanup;
- }
+ /* prevent denial of service */
+ bits = _gnutls_mpi_get_nbits(prime);
+ if (bits == 0 || bits > MAX_DH_BITS) {
+ gnutls_assert();
+ ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
+ goto dh_cleanup;
+ }
- if (bits < 2048) {
- not_approved = true;
- }
+ if (bits < 2048) {
+ not_approved = true;
+ }
- ret = _gnutls_mpi_powm(k, f, x, prime);
- if (ret < 0) {
- gnutls_assert();
- goto dh_cleanup;
- }
+ ret = _gnutls_mpi_powm(k, f, x, prime);
+ if (ret < 0) {
+ gnutls_assert();
+ goto dh_cleanup;
+ }
- /* check if k==0,1, or k = p-1 */
- if ((_gnutls_mpi_cmp_ui(k, 1) == 0)
- || (_gnutls_mpi_cmp_ui(k, 0) == 0)
- || (_gnutls_mpi_cmp(k, primesub1) == 0)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- goto dh_cleanup;
- }
+ /* check if k==0,1, or k = p-1 */
+ if ((_gnutls_mpi_cmp_ui(k, 1) == 0) ||
+ (_gnutls_mpi_cmp_ui(k, 0) == 0) ||
+ (_gnutls_mpi_cmp(k, primesub1) == 0)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ goto dh_cleanup;
+ }
- if (flags & PK_DERIVE_TLS13) {
- ret =
- _gnutls_mpi_dprint_size(k, out,
- (bits + 7) / 8);
- } else {
- ret = _gnutls_mpi_dprint(k, out);
- }
+ if (flags & PK_DERIVE_TLS13) {
+ ret = _gnutls_mpi_dprint_size(k, out, (bits + 7) / 8);
+ } else {
+ ret = _gnutls_mpi_dprint(k, out);
+ }
- if (ret < 0) {
- gnutls_assert();
- goto dh_cleanup;
- }
+ if (ret < 0) {
+ gnutls_assert();
+ goto dh_cleanup;
+ }
- ret = 0;
- dh_cleanup:
- _gnutls_mpi_release(&r);
- _gnutls_mpi_release(&primesub1);
- zrelease_temp_mpi_key(&k);
- if (ret < 0)
- goto cleanup;
+ ret = 0;
+ dh_cleanup:
+ _gnutls_mpi_release(&r);
+ _gnutls_mpi_release(&primesub1);
+ zrelease_temp_mpi_key(&k);
+ if (ret < 0)
+ goto cleanup;
- break;
- }
- case GNUTLS_PK_EC:
- {
- struct ecc_scalar ecc_priv;
- struct ecc_point ecc_pub;
- const struct ecc_curve *curve;
- struct ecc_scalar n;
- struct ecc_scalar m;
- struct ecc_point r;
- mpz_t x, y, xx, yy, nn, mm;
+ break;
+ }
+ case GNUTLS_PK_EC: {
+ struct ecc_scalar ecc_priv;
+ struct ecc_point ecc_pub;
+ const struct ecc_curve *curve;
+ struct ecc_scalar n;
+ struct ecc_scalar m;
+ struct ecc_point r;
+ mpz_t x, y, xx, yy, nn, mm;
- out->data = NULL;
+ out->data = NULL;
- if (nonce != NULL) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ if (nonce != NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- curve = get_supported_nist_curve(priv->curve);
- if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ curve = get_supported_nist_curve(priv->curve);
+ if (curve == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- /* P-192 is not supported in FIPS 140-3 */
- if (priv->curve == GNUTLS_ECC_CURVE_SECP192R1) {
- not_approved = true;
- }
+ /* P-192 is not supported in FIPS 140-3 */
+ if (priv->curve == GNUTLS_ECC_CURVE_SECP192R1) {
+ not_approved = true;
+ }
- mpz_init(x);
- mpz_init(y);
- mpz_init(xx);
- mpz_init(yy);
- mpz_init(nn);
- mpz_init(mm);
+ mpz_init(x);
+ mpz_init(y);
+ mpz_init(xx);
+ mpz_init(yy);
+ mpz_init(nn);
+ mpz_init(mm);
- ecc_scalar_init(&n, curve);
- ecc_scalar_init(&m, curve);
- ecc_point_init(&r, curve);
+ ecc_scalar_init(&n, curve);
+ ecc_scalar_init(&m, curve);
+ ecc_point_init(&r, curve);
- ret = _ecc_params_to_pubkey(pub, &ecc_pub, curve);
- if (ret < 0) {
- gnutls_assert();
- goto ecc_fail_cleanup;
- }
+ ret = _ecc_params_to_pubkey(pub, &ecc_pub, curve);
+ if (ret < 0) {
+ gnutls_assert();
+ goto ecc_fail_cleanup;
+ }
- ret = _ecc_params_to_privkey(priv, &ecc_priv, curve);
- if (ret < 0) {
- ecc_point_clear(&ecc_pub);
- gnutls_assert();
- goto ecc_fail_cleanup;
- }
+ ret = _ecc_params_to_privkey(priv, &ecc_priv, curve);
+ if (ret < 0) {
+ ecc_point_clear(&ecc_pub);
+ gnutls_assert();
+ goto ecc_fail_cleanup;
+ }
- out->size = gnutls_ecc_curve_get_size(priv->curve);
- /*ecc_size(curve)*sizeof(mp_limb_t); */
- out->data = gnutls_malloc(out->size);
- if (out->data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto ecc_cleanup;
- }
+ out->size = gnutls_ecc_curve_get_size(priv->curve);
+ /*ecc_size(curve)*sizeof(mp_limb_t); */
+ out->data = gnutls_malloc(out->size);
+ if (out->data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto ecc_cleanup;
+ }
- /* Perform ECC Full Public-Key Validation Routine
+ /* Perform ECC Full Public-Key Validation Routine
* according to SP800-56A (revision 3), 5.6.2.3.3.
*/
- /* Step 1: verify that Q is not an identity
+ /* Step 1: verify that Q is not an identity
* element (an infinity point). Note that this
* cannot happen in the nettle implementation,
* because it cannot represent an infinity point
* on curves. */
- ret = ecc_shared_secret(&ecc_priv, &ecc_pub, out->data,
- out->size);
- if (ret < 0) {
- gnutls_free(out->data);
- goto ecc_cleanup;
- }
+ ret = ecc_shared_secret(&ecc_priv, &ecc_pub, out->data,
+ out->size);
+ if (ret < 0) {
+ gnutls_free(out->data);
+ goto ecc_cleanup;
+ }
#ifdef ENABLE_FIPS140
- if (_gnutls_fips_mode_enabled()) {
- const char *order, *modulus;
+ if (_gnutls_fips_mode_enabled()) {
+ const char *order, *modulus;
- ecc_point_mul(&r, &ecc_priv, &ecc_pub);
- ecc_point_get(&r, x, y);
+ ecc_point_mul(&r, &ecc_priv, &ecc_pub);
+ ecc_point_get(&r, x, y);
- /* Step 2: verify that both coordinates of Q are
+ /* Step 2: verify that both coordinates of Q are
* in the range [0, p - 1].
*
* Step 3: verify that Q lie on the curve
*
* Both checks are performed in nettle. */
- if (!ecc_point_set(&r, x, y)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto ecc_cleanup;
- }
+ if (!ecc_point_set(&r, x, y)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_ILLEGAL_PARAMETER);
+ goto ecc_cleanup;
+ }
- /* Step 4: verify that n * Q, where n is the
+ /* Step 4: verify that n * Q, where n is the
* curve order, result in an identity element
*
* Since nettle internally cannot represent an
@@ -513,178 +499,164 @@ static int _wrap_nettle_pk_derive(gnutls_pk_algorithm_t algo,
*
* That effectively means: n * Q = -Q + Q = O
*/
- order =
- get_supported_nist_curve_order(priv->curve);
- if (unlikely(order == NULL)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- goto ecc_cleanup;
- }
+ order = get_supported_nist_curve_order(priv->curve);
+ if (unlikely(order == NULL)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
+ goto ecc_cleanup;
+ }
- ret = mpz_set_str(nn, order, 16);
- if (unlikely(ret < 0)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_MPI_SCAN_FAILED);
- goto ecc_cleanup;
- }
+ ret = mpz_set_str(nn, order, 16);
+ if (unlikely(ret < 0)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_MPI_SCAN_FAILED);
+ goto ecc_cleanup;
+ }
- modulus =
- get_supported_nist_curve_modulus
- (priv->curve);
- if (unlikely(modulus == NULL)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- goto ecc_cleanup;
- }
+ modulus = get_supported_nist_curve_modulus(priv->curve);
+ if (unlikely(modulus == NULL)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
+ goto ecc_cleanup;
+ }
- ret = mpz_set_str(mm, modulus, 16);
- if (unlikely(ret < 0)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_MPI_SCAN_FAILED);
- goto ecc_cleanup;
- }
+ ret = mpz_set_str(mm, modulus, 16);
+ if (unlikely(ret < 0)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_MPI_SCAN_FAILED);
+ goto ecc_cleanup;
+ }
- /* (n - 1) * Q = -Q */
- mpz_sub_ui(nn, nn, 1);
- ecc_scalar_set(&n, nn);
- ecc_point_mul(&r, &n, &r);
- ecc_point_get(&r, xx, yy);
- mpz_sub(mm, mm, y);
+ /* (n - 1) * Q = -Q */
+ mpz_sub_ui(nn, nn, 1);
+ ecc_scalar_set(&n, nn);
+ ecc_point_mul(&r, &n, &r);
+ ecc_point_get(&r, xx, yy);
+ mpz_sub(mm, mm, y);
- if (mpz_cmp(xx, x) != 0 || mpz_cmp(yy, mm) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto ecc_cleanup;
- }
- } else {
- not_approved = true;
+ if (mpz_cmp(xx, x) != 0 || mpz_cmp(yy, mm) != 0) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_ILLEGAL_PARAMETER);
+ goto ecc_cleanup;
}
+ } else {
+ not_approved = true;
+ }
#endif
- ecc_cleanup:
- ecc_point_clear(&ecc_pub);
- ecc_scalar_zclear(&ecc_priv);
- ecc_fail_cleanup:
- mpz_clear(x);
- mpz_clear(y);
- mpz_clear(xx);
- mpz_clear(yy);
- mpz_clear(nn);
- mpz_clear(mm);
- ecc_point_clear(&r);
- ecc_scalar_clear(&n);
- ecc_scalar_clear(&m);
- if (ret < 0)
- goto cleanup;
- break;
- }
+ ecc_cleanup:
+ ecc_point_clear(&ecc_pub);
+ ecc_scalar_zclear(&ecc_priv);
+ ecc_fail_cleanup:
+ mpz_clear(x);
+ mpz_clear(y);
+ mpz_clear(xx);
+ mpz_clear(yy);
+ mpz_clear(nn);
+ mpz_clear(mm);
+ ecc_point_clear(&r);
+ ecc_scalar_clear(&n);
+ ecc_scalar_clear(&m);
+ if (ret < 0)
+ goto cleanup;
+ break;
+ }
case GNUTLS_PK_ECDH_X25519:
- case GNUTLS_PK_ECDH_X448:
- {
- unsigned size = gnutls_ecc_curve_get_size(priv->curve);
+ case GNUTLS_PK_ECDH_X448: {
+ unsigned size = gnutls_ecc_curve_get_size(priv->curve);
- /* Edwards curves are not approved */
- not_approved = true;
+ /* Edwards curves are not approved */
+ not_approved = true;
- if (nonce != NULL) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ if (nonce != NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- /* The point is in pub, while the private part (scalar) in priv. */
+ /* The point is in pub, while the private part (scalar) in priv. */
- if (size == 0 || priv->raw_priv.size != size) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ if (size == 0 || priv->raw_priv.size != size) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- out->data = gnutls_malloc(size);
- if (out->data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ out->data = gnutls_malloc(size);
+ if (out->data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- out->size = size;
+ out->size = size;
- ret =
- edwards_curve_mul(algo, out->data,
- priv->raw_priv.data,
- pub->raw_pub.data);
- if (ret < 0)
- goto cleanup;
+ ret = edwards_curve_mul(algo, out->data, priv->raw_priv.data,
+ pub->raw_pub.data);
+ if (ret < 0)
+ goto cleanup;
- if (_gnutls_mem_is_zero(out->data, out->size)) {
- gnutls_free(out->data);
- gnutls_assert();
- ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
- goto cleanup;
- }
- break;
+ if (_gnutls_mem_is_zero(out->data, out->size)) {
+ gnutls_free(out->data);
+ gnutls_assert();
+ ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
+ goto cleanup;
}
+ break;
+ }
#if ENABLE_GOST
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
- case GNUTLS_PK_GOST_12_512:
- {
- struct ecc_scalar ecc_priv;
- struct ecc_point ecc_pub;
- const struct ecc_curve *curve;
+ case GNUTLS_PK_GOST_12_512: {
+ struct ecc_scalar ecc_priv;
+ struct ecc_point ecc_pub;
+ const struct ecc_curve *curve;
- /* GOST curves are not approved */
- not_approved = true;
+ /* GOST curves are not approved */
+ not_approved = true;
- out->data = NULL;
+ out->data = NULL;
- curve = get_supported_gost_curve(priv->curve);
- if (curve == NULL) {
- gnutls_assert();
- ret = GNUTLS_E_ECC_UNSUPPORTED_CURVE;
- goto cleanup;
- }
+ curve = get_supported_gost_curve(priv->curve);
+ if (curve == NULL) {
+ gnutls_assert();
+ ret = GNUTLS_E_ECC_UNSUPPORTED_CURVE;
+ goto cleanup;
+ }
- if (nonce == NULL) {
- gnutls_assert();
- ret = GNUTLS_E_INVALID_REQUEST;
- goto cleanup;
- }
+ if (nonce == NULL) {
+ gnutls_assert();
+ ret = GNUTLS_E_INVALID_REQUEST;
+ goto cleanup;
+ }
- ret = _gost_params_to_pubkey(pub, &ecc_pub, curve);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gost_params_to_pubkey(pub, &ecc_pub, curve);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- ret = _gost_params_to_privkey(priv, &ecc_priv, curve);
- if (ret < 0) {
- ecc_point_clear(&ecc_pub);
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gost_params_to_privkey(priv, &ecc_priv, curve);
+ if (ret < 0) {
+ ecc_point_clear(&ecc_pub);
+ gnutls_assert();
+ goto cleanup;
+ }
- out->size = 2 * gnutls_ecc_curve_get_size(priv->curve);
- out->data = gnutls_malloc(out->size);
- if (out->data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto gost_cleanup;
- }
+ out->size = 2 * gnutls_ecc_curve_get_size(priv->curve);
+ out->data = gnutls_malloc(out->size);
+ if (out->data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto gost_cleanup;
+ }
- gostdsa_vko(&ecc_priv, &ecc_pub,
- nonce->size, nonce->data, out->data);
+ gostdsa_vko(&ecc_priv, &ecc_pub, nonce->size, nonce->data,
+ out->data);
- gost_cleanup:
- ecc_point_clear(&ecc_pub);
- ecc_scalar_zclear(&ecc_priv);
- if (ret < 0)
- goto cleanup;
- break;
- }
+ gost_cleanup:
+ ecc_point_clear(&ecc_pub);
+ ecc_scalar_zclear(&ecc_priv);
+ if (ret < 0)
+ goto cleanup;
+ break;
+ }
#endif
default:
gnutls_assert();
@@ -694,7 +666,7 @@ static int _wrap_nettle_pk_derive(gnutls_pk_algorithm_t algo,
ret = 0;
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
@@ -706,11 +678,10 @@ static int _wrap_nettle_pk_derive(gnutls_pk_algorithm_t algo,
return ret;
}
-static int
-_wrap_nettle_pk_encrypt(gnutls_pk_algorithm_t algo,
- gnutls_datum_t * ciphertext,
- const gnutls_datum_t * plaintext,
- const gnutls_pk_params_st * pk_params)
+static int _wrap_nettle_pk_encrypt(gnutls_pk_algorithm_t algo,
+ gnutls_datum_t *ciphertext,
+ const gnutls_datum_t *plaintext,
+ const gnutls_pk_params_st *pk_params)
{
int ret;
mpz_t p;
@@ -720,39 +691,35 @@ _wrap_nettle_pk_encrypt(gnutls_pk_algorithm_t algo,
mpz_init(p);
switch (algo) {
- case GNUTLS_PK_RSA:
- {
- struct rsa_public_key pub;
- nettle_random_func *random_func;
+ case GNUTLS_PK_RSA: {
+ struct rsa_public_key pub;
+ nettle_random_func *random_func;
- ret = _rsa_params_to_pubkey(pk_params, &pub);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
-
- if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST)
- random_func = rnd_nonce_func_fallback;
- else
- random_func = rnd_nonce_func;
- ret =
- rsa_encrypt(&pub, NULL, random_func,
- plaintext->size, plaintext->data, p);
- if (ret == 0 || HAVE_LIB_ERROR()) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ENCRYPTION_FAILED);
- goto cleanup;
- }
+ ret = _rsa_params_to_pubkey(pk_params, &pub);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- ret = _gnutls_mpi_dprint_size(p, ciphertext, pub.size);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST)
+ random_func = rnd_nonce_func_fallback;
+ else
+ random_func = rnd_nonce_func;
+ ret = rsa_encrypt(&pub, NULL, random_func, plaintext->size,
+ plaintext->data, p);
+ if (ret == 0 || HAVE_LIB_ERROR()) {
+ ret = gnutls_assert_val(GNUTLS_E_ENCRYPTION_FAILED);
+ goto cleanup;
+ }
- break;
+ ret = _gnutls_mpi_dprint_size(p, ciphertext, pub.size);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
+
+ break;
+ }
default:
gnutls_assert();
ret = GNUTLS_E_INVALID_REQUEST;
@@ -761,7 +728,7 @@ _wrap_nettle_pk_encrypt(gnutls_pk_algorithm_t algo,
ret = 0;
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else {
@@ -774,11 +741,10 @@ _wrap_nettle_pk_encrypt(gnutls_pk_algorithm_t algo,
return ret;
}
-static int
-_wrap_nettle_pk_decrypt(gnutls_pk_algorithm_t algo,
- gnutls_datum_t * plaintext,
- const gnutls_datum_t * ciphertext,
- const gnutls_pk_params_st * pk_params)
+static int _wrap_nettle_pk_decrypt(gnutls_pk_algorithm_t algo,
+ gnutls_datum_t *plaintext,
+ const gnutls_datum_t *ciphertext,
+ const gnutls_pk_params_st *pk_params)
{
int ret;
@@ -788,61 +754,54 @@ _wrap_nettle_pk_decrypt(gnutls_pk_algorithm_t algo,
/* make a sexp from pkey */
switch (algo) {
- case GNUTLS_PK_RSA:
- {
- struct rsa_private_key priv;
- struct rsa_public_key pub;
- size_t length;
- bigint_t c;
- nettle_random_func *random_func;
-
- _rsa_params_to_privkey(pk_params, &priv);
- ret = _rsa_params_to_pubkey(pk_params, &pub);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ case GNUTLS_PK_RSA: {
+ struct rsa_private_key priv;
+ struct rsa_public_key pub;
+ size_t length;
+ bigint_t c;
+ nettle_random_func *random_func;
- if (ciphertext->size != pub.size) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
- goto cleanup;
- }
+ _rsa_params_to_privkey(pk_params, &priv);
+ ret = _rsa_params_to_pubkey(pk_params, &pub);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- if (_gnutls_mpi_init_scan_nz
- (&c, ciphertext->data, ciphertext->size) != 0) {
- ret =
- gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
- goto cleanup;
- }
+ if (ciphertext->size != pub.size) {
+ ret = gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
+ goto cleanup;
+ }
- length = pub.size;
- plaintext->data = gnutls_malloc(length);
- if (plaintext->data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ if (_gnutls_mpi_init_scan_nz(&c, ciphertext->data,
+ ciphertext->size) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
+ goto cleanup;
+ }
- if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST)
- random_func = rnd_nonce_func_fallback;
- else
- random_func = rnd_nonce_func;
- ret =
- rsa_decrypt_tr(&pub, &priv, NULL, random_func,
- &length, plaintext->data, TOMPZ(c));
- _gnutls_mpi_release(&c);
- plaintext->size = length;
-
- if (ret == 0 || HAVE_LIB_ERROR()) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
- goto cleanup;
- }
+ length = pub.size;
+ plaintext->data = gnutls_malloc(length);
+ if (plaintext->data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- break;
+ if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST)
+ random_func = rnd_nonce_func_fallback;
+ else
+ random_func = rnd_nonce_func;
+ ret = rsa_decrypt_tr(&pub, &priv, NULL, random_func, &length,
+ plaintext->data, TOMPZ(c));
+ _gnutls_mpi_release(&c);
+ plaintext->size = length;
+
+ if (ret == 0 || HAVE_LIB_ERROR()) {
+ ret = gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
+ goto cleanup;
}
+
+ break;
+ }
default:
gnutls_assert();
ret = GNUTLS_E_INTERNAL_ERROR;
@@ -851,7 +810,7 @@ _wrap_nettle_pk_decrypt(gnutls_pk_algorithm_t algo,
ret = 0;
- cleanup:
+cleanup:
if (ret < 0) {
gnutls_free(plaintext->data);
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
@@ -866,12 +825,11 @@ _wrap_nettle_pk_decrypt(gnutls_pk_algorithm_t algo,
/* Note: we do not allocate in this function to avoid asymettric
* unallocation (which creates a side channel) in case of failure
* */
-static int
-_wrap_nettle_pk_decrypt2(gnutls_pk_algorithm_t algo,
- const gnutls_datum_t * ciphertext,
- unsigned char *plaintext,
- size_t plaintext_size,
- const gnutls_pk_params_st * pk_params)
+static int _wrap_nettle_pk_decrypt2(gnutls_pk_algorithm_t algo,
+ const gnutls_datum_t *ciphertext,
+ unsigned char *plaintext,
+ size_t plaintext_size,
+ const gnutls_pk_params_st *pk_params)
{
struct rsa_private_key priv;
struct rsa_public_key pub;
@@ -899,8 +857,8 @@ _wrap_nettle_pk_decrypt2(gnutls_pk_algorithm_t algo,
goto fail;
}
- if (_gnutls_mpi_init_scan_nz(&c, ciphertext->data,
- ciphertext->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&c, ciphertext->data, ciphertext->size) !=
+ 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto fail;
}
@@ -909,8 +867,8 @@ _wrap_nettle_pk_decrypt2(gnutls_pk_algorithm_t algo,
random_func = rnd_nonce_func_fallback;
else
random_func = rnd_nonce_func;
- ret = rsa_sec_decrypt(&pub, &priv, NULL, random_func,
- plaintext_size, plaintext, TOMPZ(c));
+ ret = rsa_sec_decrypt(&pub, &priv, NULL, random_func, plaintext_size,
+ plaintext, TOMPZ(c));
/* The decrypt operation is infallible; treat the approved
* operation as complete at this point, regardless of any
@@ -932,27 +890,27 @@ _wrap_nettle_pk_decrypt2(gnutls_pk_algorithm_t algo,
/* then return GNUTLS_E_DECRYPTION_FAILED */
return (int)((is_err * UINT_MAX) & GNUTLS_E_DECRYPTION_FAILED);
- fail:
+fail:
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
return ret;
}
#define CHECK_INVALID_RSA_PSS_PARAMS(dig_size, salt_size, pub_size, err) \
- if (unlikely(dig_size + salt_size + 2 > pub_size)) \
- return gnutls_assert_val(err)
-
-static int
-_rsa_pss_sign_digest_tr(gnutls_digest_algorithm_t dig,
- const struct rsa_public_key *pub,
- const struct rsa_private_key *priv,
- void *rnd_ctx, nettle_random_func * rnd_func,
- size_t salt_size, const uint8_t * digest, mpz_t s)
+ if (unlikely(dig_size + salt_size + 2 > pub_size)) \
+ return gnutls_assert_val(err)
+
+static int _rsa_pss_sign_digest_tr(gnutls_digest_algorithm_t dig,
+ const struct rsa_public_key *pub,
+ const struct rsa_private_key *priv,
+ void *rnd_ctx, nettle_random_func *rnd_func,
+ size_t salt_size, const uint8_t *digest,
+ mpz_t s)
{
int (*sign_func)(const struct rsa_public_key *,
- const struct rsa_private_key *,
- void *, nettle_random_func *,
- size_t, const uint8_t *, const uint8_t *, mpz_t);
+ const struct rsa_private_key *, void *,
+ nettle_random_func *, size_t, const uint8_t *,
+ const uint8_t *, mpz_t);
uint8_t *salt = NULL;
size_t hash_size;
int ret;
@@ -991,15 +949,15 @@ _rsa_pss_sign_digest_tr(gnutls_digest_algorithm_t dig,
}
}
- ret = sign_func(pub, priv, rnd_ctx, rnd_func, salt_size, salt,
- digest, s);
+ ret = sign_func(pub, priv, rnd_ctx, rnd_func, salt_size, salt, digest,
+ s);
if (ret == 0) {
gnutls_assert();
ret = GNUTLS_E_PK_SIGN_FAILED;
} else
ret = 0;
- cleanup:
+cleanup:
gnutls_free(salt);
return ret;
}
@@ -1028,11 +986,9 @@ static inline gnutls_ecc_curve_t get_ecdh_curve(gnutls_pk_algorithm_t algo)
}
}
-static inline int
-eddsa_sign(gnutls_pk_algorithm_t algo,
- const uint8_t * pub,
- const uint8_t * priv,
- size_t length, const uint8_t * msg, uint8_t * signature)
+static inline int eddsa_sign(gnutls_pk_algorithm_t algo, const uint8_t *pub,
+ const uint8_t *priv, size_t length,
+ const uint8_t *msg, uint8_t *signature)
{
switch (algo) {
case GNUTLS_PK_EDDSA_ED25519:
@@ -1042,8 +998,8 @@ eddsa_sign(gnutls_pk_algorithm_t algo,
ed448_shake256_sign(pub, priv, length, msg, signature);
return 0;
default:
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
}
}
@@ -1055,12 +1011,11 @@ eddsa_sign(gnutls_pk_algorithm_t algo,
*
* in case of EC/DSA, signed data are encoded into r,s values
*/
-static int
-_wrap_nettle_pk_sign(gnutls_pk_algorithm_t algo,
- gnutls_datum_t * signature,
- const gnutls_datum_t * vdata,
- const gnutls_pk_params_st * pk_params,
- const gnutls_x509_spki_st * sign_params)
+static int _wrap_nettle_pk_sign(gnutls_pk_algorithm_t algo,
+ gnutls_datum_t *signature,
+ const gnutls_datum_t *vdata,
+ const gnutls_pk_params_st *pk_params,
+ const gnutls_x509_spki_st *sign_params)
{
int ret;
unsigned int hash_len;
@@ -1086,390 +1041,358 @@ _wrap_nettle_pk_sign(gnutls_pk_algorithm_t algo,
}
switch (algo) {
- case GNUTLS_PK_EDDSA_ED25519: /* we do EdDSA */
- case GNUTLS_PK_EDDSA_ED448:
- {
- const gnutls_ecc_curve_entry_st *e;
+ case GNUTLS_PK_EDDSA_ED25519: /* we do EdDSA */
+ case GNUTLS_PK_EDDSA_ED448: {
+ const gnutls_ecc_curve_entry_st *e;
- /* EdDSA is not approved yet */
- not_approved = true;
+ /* EdDSA is not approved yet */
+ not_approved = true;
- if (unlikely(get_eddsa_curve(algo) != pk_params->curve)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ if (unlikely(get_eddsa_curve(algo) != pk_params->curve)) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- e = _gnutls_ecc_curve_get_params(pk_params->curve);
- if (e == NULL) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ e = _gnutls_ecc_curve_get_params(pk_params->curve);
+ if (e == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- signature->data = gnutls_malloc(e->sig_size);
- if (signature->data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ signature->data = gnutls_malloc(e->sig_size);
+ if (signature->data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- signature->size = e->sig_size;
+ signature->size = e->sig_size;
- if (pk_params->raw_pub.size != e->size
- || pk_params->raw_priv.size != e->size) {
- ret =
- gnutls_assert_val(GNUTLS_E_PK_SIGN_FAILED);
- goto cleanup;
- }
+ if (pk_params->raw_pub.size != e->size ||
+ pk_params->raw_priv.size != e->size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIGN_FAILED);
+ goto cleanup;
+ }
- ret = eddsa_sign(algo,
- pk_params->raw_pub.data,
- pk_params->raw_priv.data,
- vdata->size, vdata->data,
- signature->data);
- if (ret < 0)
- goto cleanup;
+ ret = eddsa_sign(algo, pk_params->raw_pub.data,
+ pk_params->raw_priv.data, vdata->size,
+ vdata->data, signature->data);
+ if (ret < 0)
+ goto cleanup;
- break;
- }
+ break;
+ }
#if ENABLE_GOST
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
- case GNUTLS_PK_GOST_12_512:
- {
- struct ecc_scalar priv;
- struct dsa_signature sig;
- const struct ecc_curve *curve;
+ case GNUTLS_PK_GOST_12_512: {
+ struct ecc_scalar priv;
+ struct dsa_signature sig;
+ const struct ecc_curve *curve;
- /* GOSTDSA is not approved */
- not_approved = true;
+ /* GOSTDSA is not approved */
+ not_approved = true;
- curve = get_supported_gost_curve(pk_params->curve);
- if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ curve = get_supported_gost_curve(pk_params->curve);
+ if (curve == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- ret = _ecc_params_to_privkey(pk_params, &priv, curve);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _ecc_params_to_privkey(pk_params, &priv, curve);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- /* This call will return a valid MAC entry and
+ /* This call will return a valid MAC entry and
* getters will check that is not null anyway. */
- me = hash_to_entry(_gnutls_gost_digest
- (pk_params->algo));
- if (_gnutls_mac_get_algo_len(me) != vdata->size) {
- _gnutls_debug_log
- ("Security level of algorithm requires hash %s(%zd)\n",
- _gnutls_mac_get_name(me),
- _gnutls_mac_get_algo_len(me));
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ me = hash_to_entry(_gnutls_gost_digest(pk_params->algo));
+ if (_gnutls_mac_get_algo_len(me) != vdata->size) {
+ _gnutls_debug_log(
+ "Security level of algorithm requires hash %s(%zd)\n",
+ _gnutls_mac_get_name(me),
+ _gnutls_mac_get_algo_len(me));
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- dsa_signature_init(&sig);
+ dsa_signature_init(&sig);
- gostdsa_sign(&priv, NULL, rnd_tmpkey_func,
- vdata->size, vdata->data, &sig);
+ gostdsa_sign(&priv, NULL, rnd_tmpkey_func, vdata->size,
+ vdata->data, &sig);
- ret =
- _gnutls_encode_gost_rs(signature, &sig.r, &sig.s,
- (ecc_bit_size(curve) +
- 7) / 8);
+ ret = _gnutls_encode_gost_rs(signature, &sig.r, &sig.s,
+ (ecc_bit_size(curve) + 7) / 8);
- dsa_signature_clear(&sig);
- ecc_scalar_zclear(&priv);
+ dsa_signature_clear(&sig);
+ ecc_scalar_zclear(&priv);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
- break;
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
+ break;
+ }
#endif
- case GNUTLS_PK_ECDSA: /* we do ECDSA */
- {
- struct ecc_scalar priv;
- struct dsa_signature sig;
- int curve_id = pk_params->curve;
- const struct ecc_curve *curve;
- mpz_t k;
- void *random_ctx;
- nettle_random_func *random_func;
-
- curve = get_supported_nist_curve(curve_id);
- if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ case GNUTLS_PK_ECDSA: /* we do ECDSA */
+ {
+ struct ecc_scalar priv;
+ struct dsa_signature sig;
+ int curve_id = pk_params->curve;
+ const struct ecc_curve *curve;
+ mpz_t k;
+ void *random_ctx;
+ nettle_random_func *random_func;
- /* P-192 is not supported in FIPS 140-3 */
- if (curve_id == GNUTLS_ECC_CURVE_SECP192R1) {
- not_approved = true;
- }
+ curve = get_supported_nist_curve(curve_id);
+ if (curve == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- ret = _ecc_params_to_privkey(pk_params, &priv, curve);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ /* P-192 is not supported in FIPS 140-3 */
+ if (curve_id == GNUTLS_ECC_CURVE_SECP192R1) {
+ not_approved = true;
+ }
- dsa_signature_init(&sig);
+ ret = _ecc_params_to_privkey(pk_params, &priv, curve);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- me = _gnutls_dsa_q_to_hash(pk_params, &hash_len);
+ dsa_signature_init(&sig);
- if (hash_len > vdata->size) {
- gnutls_assert();
- _gnutls_debug_log
- ("Security level of algorithm requires hash %s(%d) or better\n",
- _gnutls_mac_get_name(me), hash_len);
- hash_len = vdata->size;
- }
+ me = _gnutls_dsa_q_to_hash(pk_params, &hash_len);
- /* Only SHA-2 is allowed in FIPS 140-3 */
- switch (DIG_TO_MAC(sign_params->dsa_dig)) {
- case GNUTLS_MAC_SHA256:
- case GNUTLS_MAC_SHA384:
- case GNUTLS_MAC_SHA512:
- case GNUTLS_MAC_SHA224:
- break;
- default:
- not_approved = true;
- }
+ if (hash_len > vdata->size) {
+ gnutls_assert();
+ _gnutls_debug_log(
+ "Security level of algorithm requires hash %s(%d) or better\n",
+ _gnutls_mac_get_name(me), hash_len);
+ hash_len = vdata->size;
+ }
- mpz_init(k);
- if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST ||
- (sign_params->flags & GNUTLS_PK_FLAG_REPRODUCIBLE))
- {
- ret =
- _gnutls_ecdsa_compute_k(k, curve_id,
- pk_params->params
- [ECC_K],
- DIG_TO_MAC
- (sign_params->dsa_dig),
- vdata->data,
- vdata->size);
- if (ret < 0)
- goto ecdsa_cleanup;
- random_ctx = &k;
- random_func = rnd_mpz_func;
- } else {
- random_ctx = NULL;
- random_func = rnd_nonce_func;
- }
- ecdsa_sign(&priv, random_ctx, random_func, hash_len,
- vdata->data, &sig);
+ /* Only SHA-2 is allowed in FIPS 140-3 */
+ switch (DIG_TO_MAC(sign_params->dsa_dig)) {
+ case GNUTLS_MAC_SHA256:
+ case GNUTLS_MAC_SHA384:
+ case GNUTLS_MAC_SHA512:
+ case GNUTLS_MAC_SHA224:
+ break;
+ default:
+ not_approved = true;
+ }
- /* prevent memory leaks */
- if (HAVE_LIB_ERROR()) {
- ret = GNUTLS_E_LIB_IN_ERROR_STATE;
+ mpz_init(k);
+ if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST ||
+ (sign_params->flags & GNUTLS_PK_FLAG_REPRODUCIBLE)) {
+ ret = _gnutls_ecdsa_compute_k(
+ k, curve_id, pk_params->params[ECC_K],
+ DIG_TO_MAC(sign_params->dsa_dig), vdata->data,
+ vdata->size);
+ if (ret < 0)
goto ecdsa_cleanup;
- }
+ random_ctx = &k;
+ random_func = rnd_mpz_func;
+ } else {
+ random_ctx = NULL;
+ random_func = rnd_nonce_func;
+ }
+ ecdsa_sign(&priv, random_ctx, random_func, hash_len,
+ vdata->data, &sig);
- ret = _gnutls_encode_ber_rs(signature, &sig.r, &sig.s);
+ /* prevent memory leaks */
+ if (HAVE_LIB_ERROR()) {
+ ret = GNUTLS_E_LIB_IN_ERROR_STATE;
+ goto ecdsa_cleanup;
+ }
- ecdsa_cleanup:
- dsa_signature_clear(&sig);
- ecc_scalar_zclear(&priv);
- mpz_clear(k);
+ ret = _gnutls_encode_ber_rs(signature, &sig.r, &sig.s);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
- break;
+ ecdsa_cleanup:
+ dsa_signature_clear(&sig);
+ ecc_scalar_zclear(&priv);
+ mpz_clear(k);
+
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
- case GNUTLS_PK_DSA:
- {
- struct dsa_params pub;
- bigint_t priv;
- struct dsa_signature sig;
- mpz_t k;
- void *random_ctx;
- nettle_random_func *random_func;
+ break;
+ }
+ case GNUTLS_PK_DSA: {
+ struct dsa_params pub;
+ bigint_t priv;
+ struct dsa_signature sig;
+ mpz_t k;
+ void *random_ctx;
+ nettle_random_func *random_func;
- /* DSA is currently being defined as sunset with the
+ /* DSA is currently being defined as sunset with the
* current draft of FIPS 186-5 */
- not_approved = true;
+ not_approved = true;
- memset(&priv, 0, sizeof(priv));
- memset(&pub, 0, sizeof(pub));
- _dsa_params_get(pk_params, &pub);
+ memset(&priv, 0, sizeof(priv));
+ memset(&pub, 0, sizeof(pub));
+ _dsa_params_get(pk_params, &pub);
- priv = pk_params->params[DSA_X];
+ priv = pk_params->params[DSA_X];
- dsa_signature_init(&sig);
+ dsa_signature_init(&sig);
- me = _gnutls_dsa_q_to_hash(pk_params, &hash_len);
+ me = _gnutls_dsa_q_to_hash(pk_params, &hash_len);
- if (hash_len > vdata->size) {
- gnutls_assert();
- _gnutls_debug_log
- ("Security level of algorithm requires hash %s(%d) or better (have: %d)\n",
- _gnutls_mac_get_name(me), hash_len,
- (int)vdata->size);
- hash_len = vdata->size;
- }
+ if (hash_len > vdata->size) {
+ gnutls_assert();
+ _gnutls_debug_log(
+ "Security level of algorithm requires hash %s(%d) or better (have: %d)\n",
+ _gnutls_mac_get_name(me), hash_len,
+ (int)vdata->size);
+ hash_len = vdata->size;
+ }
- mpz_init(k);
- if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST ||
- (sign_params->flags & GNUTLS_PK_FLAG_REPRODUCIBLE))
- {
- ret =
- _gnutls_dsa_compute_k(k, pub.q, TOMPZ(priv),
- DIG_TO_MAC
- (sign_params->dsa_dig),
- vdata->data,
- vdata->size);
- if (ret < 0)
- goto dsa_fail;
- /* cancel-out dsa_sign's addition of 1 to random data */
- mpz_sub_ui(k, k, 1);
- random_ctx = &k;
- random_func = rnd_mpz_func;
- } else {
- random_ctx = NULL;
- random_func = rnd_nonce_func;
- }
- ret =
- dsa_sign(&pub, TOMPZ(priv), random_ctx, random_func,
- hash_len, vdata->data, &sig);
- if (ret == 0 || HAVE_LIB_ERROR()) {
- gnutls_assert();
- ret = GNUTLS_E_PK_SIGN_FAILED;
+ mpz_init(k);
+ if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST ||
+ (sign_params->flags & GNUTLS_PK_FLAG_REPRODUCIBLE)) {
+ ret = _gnutls_dsa_compute_k(
+ k, pub.q, TOMPZ(priv),
+ DIG_TO_MAC(sign_params->dsa_dig), vdata->data,
+ vdata->size);
+ if (ret < 0)
goto dsa_fail;
- }
+ /* cancel-out dsa_sign's addition of 1 to random data */
+ mpz_sub_ui(k, k, 1);
+ random_ctx = &k;
+ random_func = rnd_mpz_func;
+ } else {
+ random_ctx = NULL;
+ random_func = rnd_nonce_func;
+ }
+ ret = dsa_sign(&pub, TOMPZ(priv), random_ctx, random_func,
+ hash_len, vdata->data, &sig);
+ if (ret == 0 || HAVE_LIB_ERROR()) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_SIGN_FAILED;
+ goto dsa_fail;
+ }
- ret = _gnutls_encode_ber_rs(signature, &sig.r, &sig.s);
+ ret = _gnutls_encode_ber_rs(signature, &sig.r, &sig.s);
- dsa_fail:
- dsa_signature_clear(&sig);
- mpz_clear(k);
+ dsa_fail:
+ dsa_signature_clear(&sig);
+ mpz_clear(k);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
- break;
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
- case GNUTLS_PK_RSA:
- {
- struct rsa_private_key priv;
- struct rsa_public_key pub;
- nettle_random_func *random_func;
- mpz_t s;
+ break;
+ }
+ case GNUTLS_PK_RSA: {
+ struct rsa_private_key priv;
+ struct rsa_public_key pub;
+ nettle_random_func *random_func;
+ mpz_t s;
- _rsa_params_to_privkey(pk_params, &priv);
+ _rsa_params_to_privkey(pk_params, &priv);
- ret = _rsa_params_to_pubkey(pk_params, &pub);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _rsa_params_to_pubkey(pk_params, &pub);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- /* RSA modulus size should be 2048-bit or larger in FIPS
+ /* RSA modulus size should be 2048-bit or larger in FIPS
* 140-3. In addition to this, only SHA-2 is allowed
* for SigGen; it is checked in pk_prepare_hash lib/pk.c
*/
- if (unlikely(mpz_sizeinbase(pub.n, 2) < 2048)) {
- not_approved = true;
- }
-
- mpz_init(s);
+ if (unlikely(mpz_sizeinbase(pub.n, 2) < 2048)) {
+ not_approved = true;
+ }
- if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST)
- random_func = rnd_nonce_func_fallback;
- else
- random_func = rnd_nonce_func;
- ret =
- rsa_pkcs1_sign_tr(&pub, &priv, NULL, random_func,
- vdata->size, vdata->data, s);
- if (ret == 0 || HAVE_LIB_ERROR()) {
- gnutls_assert();
- ret = GNUTLS_E_PK_SIGN_FAILED;
- goto rsa_fail;
- }
+ mpz_init(s);
- ret = _gnutls_mpi_dprint_size(s, signature, pub.size);
+ if (_gnutls_get_lib_state() == LIB_STATE_SELFTEST)
+ random_func = rnd_nonce_func_fallback;
+ else
+ random_func = rnd_nonce_func;
+ ret = rsa_pkcs1_sign_tr(&pub, &priv, NULL, random_func,
+ vdata->size, vdata->data, s);
+ if (ret == 0 || HAVE_LIB_ERROR()) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_SIGN_FAILED;
+ goto rsa_fail;
+ }
- rsa_fail:
- mpz_clear(s);
+ ret = _gnutls_mpi_dprint_size(s, signature, pub.size);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ rsa_fail:
+ mpz_clear(s);
- break;
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
- case GNUTLS_PK_RSA_PSS:
- {
- struct rsa_private_key priv;
- struct rsa_public_key pub;
- mpz_t s;
- _rsa_params_to_privkey(pk_params, &priv);
+ break;
+ }
+ case GNUTLS_PK_RSA_PSS: {
+ struct rsa_private_key priv;
+ struct rsa_public_key pub;
+ mpz_t s;
+
+ _rsa_params_to_privkey(pk_params, &priv);
- ret = _rsa_params_to_pubkey(pk_params, &pub);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _rsa_params_to_pubkey(pk_params, &pub);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- /* RSA modulus size should be 2048-bit or larger in FIPS
+ /* RSA modulus size should be 2048-bit or larger in FIPS
* 140-3. In addition to this, only SHA-2 is allowed
* for SigGen; however, Nettle only support SHA256,
* SHA384, and SHA512 for RSA-PSS (see
* _rsa_pss_sign_digest_tr in this file for details).
*/
- if (unlikely(mpz_sizeinbase(pub.n, 2) < 2048)) {
- not_approved = true;
- }
+ if (unlikely(mpz_sizeinbase(pub.n, 2) < 2048)) {
+ not_approved = true;
+ }
- mpz_init(s);
+ mpz_init(s);
- me = hash_to_entry(sign_params->rsa_pss_dig);
+ me = hash_to_entry(sign_params->rsa_pss_dig);
- /* According to FIPS 186-5 5.4, the salt length must be
+ /* According to FIPS 186-5 5.4, the salt length must be
* in the range between 0 and the hash length inclusive.
*/
- if (sign_params->salt_size >
- _gnutls_mac_get_algo_len(me)) {
- not_approved = true;
- }
-
- ret =
- _rsa_pss_sign_digest_tr(sign_params->rsa_pss_dig,
- &pub, &priv,
- NULL, rnd_nonce_func,
- sign_params->salt_size,
- vdata->data, s);
- if (ret < 0) {
- gnutls_assert();
- ret = GNUTLS_E_PK_SIGN_FAILED;
- goto rsa_pss_fail;
- }
+ if (sign_params->salt_size > _gnutls_mac_get_algo_len(me)) {
+ not_approved = true;
+ }
- ret = _gnutls_mpi_dprint_size(s, signature, pub.size);
+ ret = _rsa_pss_sign_digest_tr(sign_params->rsa_pss_dig, &pub,
+ &priv, NULL, rnd_nonce_func,
+ sign_params->salt_size,
+ vdata->data, s);
+ if (ret < 0) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_SIGN_FAILED;
+ goto rsa_pss_fail;
+ }
- rsa_pss_fail:
- mpz_clear(s);
+ ret = _gnutls_mpi_dprint_size(s, signature, pub.size);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ rsa_pss_fail:
+ mpz_clear(s);
- break;
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
+
+ break;
+ }
default:
gnutls_assert();
ret = GNUTLS_E_INTERNAL_ERROR;
@@ -1478,7 +1401,7 @@ _wrap_nettle_pk_sign(gnutls_pk_algorithm_t algo,
ret = 0;
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
@@ -1491,15 +1414,13 @@ _wrap_nettle_pk_sign(gnutls_pk_algorithm_t algo,
return ret;
}
-static int
-_rsa_pss_verify_digest(gnutls_digest_algorithm_t dig,
- const struct rsa_public_key *pub,
- size_t salt_size,
- const uint8_t * digest,
- size_t digest_size, const mpz_t s)
+static int _rsa_pss_verify_digest(gnutls_digest_algorithm_t dig,
+ const struct rsa_public_key *pub,
+ size_t salt_size, const uint8_t *digest,
+ size_t digest_size, const mpz_t s)
{
- int (*verify_func)(const struct rsa_public_key *,
- size_t, const uint8_t *, const mpz_t);
+ int (*verify_func)(const struct rsa_public_key *, size_t,
+ const uint8_t *, const mpz_t);
size_t hash_size;
switch (dig) {
@@ -1528,10 +1449,9 @@ _rsa_pss_verify_digest(gnutls_digest_algorithm_t dig,
return verify_func(pub, salt_size, digest, s);
}
-static inline int
-eddsa_verify(gnutls_pk_algorithm_t algo,
- const uint8_t * pub,
- size_t length, const uint8_t * msg, const uint8_t * signature)
+static inline int eddsa_verify(gnutls_pk_algorithm_t algo, const uint8_t *pub,
+ size_t length, const uint8_t *msg,
+ const uint8_t *signature)
{
int ret;
@@ -1547,17 +1467,16 @@ eddsa_verify(gnutls_pk_algorithm_t algo,
return gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
return 0;
default:
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
}
}
-static int
-_wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
- const gnutls_datum_t * vdata,
- const gnutls_datum_t * signature,
- const gnutls_pk_params_st * pk_params,
- const gnutls_x509_spki_st * sign_params)
+static int _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
+ const gnutls_datum_t *vdata,
+ const gnutls_datum_t *signature,
+ const gnutls_pk_params_st *pk_params,
+ const gnutls_x509_spki_st *sign_params)
{
int ret;
unsigned int hash_len;
@@ -1573,221 +1492,194 @@ _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
}
switch (algo) {
- case GNUTLS_PK_EDDSA_ED25519: /* we do EdDSA */
- case GNUTLS_PK_EDDSA_ED448:
- {
- const gnutls_ecc_curve_entry_st *e;
+ case GNUTLS_PK_EDDSA_ED25519: /* we do EdDSA */
+ case GNUTLS_PK_EDDSA_ED448: {
+ const gnutls_ecc_curve_entry_st *e;
- /* EdDSA is not approved yet */
- not_approved = true;
+ /* EdDSA is not approved yet */
+ not_approved = true;
- if (unlikely(get_eddsa_curve(algo) != pk_params->curve)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
-
- e = _gnutls_ecc_curve_get_params(pk_params->curve);
- if (e == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ if (unlikely(get_eddsa_curve(algo) != pk_params->curve)) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- if (signature->size != e->sig_size) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- goto cleanup;
- }
+ e = _gnutls_ecc_curve_get_params(pk_params->curve);
+ if (e == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- if (pk_params->raw_pub.size != e->size) {
- ret =
- gnutls_assert_val(GNUTLS_E_PK_SIGN_FAILED);
- goto cleanup;
- }
+ if (signature->size != e->sig_size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ goto cleanup;
+ }
- ret = eddsa_verify(algo,
- pk_params->raw_pub.data,
- vdata->size, vdata->data,
- signature->data);
- break;
+ if (pk_params->raw_pub.size != e->size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIGN_FAILED);
+ goto cleanup;
}
+
+ ret = eddsa_verify(algo, pk_params->raw_pub.data, vdata->size,
+ vdata->data, signature->data);
+ break;
+ }
#if ENABLE_GOST
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
- case GNUTLS_PK_GOST_12_512:
- {
- struct ecc_point pub;
- struct dsa_signature sig;
- const struct ecc_curve *curve;
- const mac_entry_st *me;
+ case GNUTLS_PK_GOST_12_512: {
+ struct ecc_point pub;
+ struct dsa_signature sig;
+ const struct ecc_curve *curve;
+ const mac_entry_st *me;
- /* GOSTDSA is not approved */
- not_approved = true;
+ /* GOSTDSA is not approved */
+ not_approved = true;
- curve = get_supported_gost_curve(pk_params->curve);
- if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ curve = get_supported_gost_curve(pk_params->curve);
+ if (curve == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- /* This call will return a valid MAC entry and
+ /* This call will return a valid MAC entry and
* getters will check that is not null anyway. */
- me = hash_to_entry(_gnutls_gost_digest
- (pk_params->algo));
- if (_gnutls_mac_get_algo_len(me) != vdata->size) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- goto cleanup;
- }
+ me = hash_to_entry(_gnutls_gost_digest(pk_params->algo));
+ if (_gnutls_mac_get_algo_len(me) != vdata->size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ goto cleanup;
+ }
- ret =
- _gnutls_decode_gost_rs(signature, &tmp[0], &tmp[1]);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gnutls_decode_gost_rs(signature, &tmp[0], &tmp[1]);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- ret = _gost_params_to_pubkey(pk_params, &pub, curve);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gost_params_to_pubkey(pk_params, &pub, curve);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- memcpy(sig.r, tmp[0], SIZEOF_MPZT);
- memcpy(sig.s, tmp[1], SIZEOF_MPZT);
+ memcpy(sig.r, tmp[0], SIZEOF_MPZT);
+ memcpy(sig.s, tmp[1], SIZEOF_MPZT);
- ret =
- gostdsa_verify(&pub, vdata->size, vdata->data,
- &sig);
- if (ret == 0) {
- gnutls_assert();
- ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
- } else
- ret = 0;
+ ret = gostdsa_verify(&pub, vdata->size, vdata->data, &sig);
+ if (ret == 0) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
+ } else
+ ret = 0;
- ecc_point_clear(&pub);
- break;
- }
+ ecc_point_clear(&pub);
+ break;
+ }
#endif
- case GNUTLS_PK_ECDSA: /* ECDSA */
- {
- struct ecc_point pub;
- struct dsa_signature sig;
- int curve_id = pk_params->curve;
- const struct ecc_curve *curve;
+ case GNUTLS_PK_ECDSA: /* ECDSA */
+ {
+ struct ecc_point pub;
+ struct dsa_signature sig;
+ int curve_id = pk_params->curve;
+ const struct ecc_curve *curve;
- curve = get_supported_nist_curve(curve_id);
- if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ curve = get_supported_nist_curve(curve_id);
+ if (curve == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- ret =
- _gnutls_decode_ber_rs(signature, &tmp[0], &tmp[1]);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gnutls_decode_ber_rs(signature, &tmp[0], &tmp[1]);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- ret = _ecc_params_to_pubkey(pk_params, &pub, curve);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _ecc_params_to_pubkey(pk_params, &pub, curve);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- memcpy(sig.r, tmp[0], SIZEOF_MPZT);
- memcpy(sig.s, tmp[1], SIZEOF_MPZT);
+ memcpy(sig.r, tmp[0], SIZEOF_MPZT);
+ memcpy(sig.s, tmp[1], SIZEOF_MPZT);
- (void)_gnutls_dsa_q_to_hash(pk_params, &hash_len);
+ (void)_gnutls_dsa_q_to_hash(pk_params, &hash_len);
- if (hash_len > vdata->size)
- hash_len = vdata->size;
+ if (hash_len > vdata->size)
+ hash_len = vdata->size;
- /* SHA-1 is allowed for SigVer in FIPS 140-3 in legacy
+ /* SHA-1 is allowed for SigVer in FIPS 140-3 in legacy
* mode */
- switch (DIG_TO_MAC(sign_params->dsa_dig)) {
- case GNUTLS_MAC_SHA1:
- case GNUTLS_MAC_SHA256:
- case GNUTLS_MAC_SHA384:
- case GNUTLS_MAC_SHA512:
- case GNUTLS_MAC_SHA224:
- break;
- default:
- not_approved = true;
- }
-
- ret = ecdsa_verify(&pub, hash_len, vdata->data, &sig);
- if (ret == 0) {
- gnutls_assert();
- ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
- } else
- ret = 0;
-
- ecc_point_clear(&pub);
+ switch (DIG_TO_MAC(sign_params->dsa_dig)) {
+ case GNUTLS_MAC_SHA1:
+ case GNUTLS_MAC_SHA256:
+ case GNUTLS_MAC_SHA384:
+ case GNUTLS_MAC_SHA512:
+ case GNUTLS_MAC_SHA224:
break;
+ default:
+ not_approved = true;
}
- case GNUTLS_PK_DSA:
- {
- struct dsa_params pub;
- struct dsa_signature sig;
- bigint_t y;
- /* DSA is currently being defined as sunset with the
+ ret = ecdsa_verify(&pub, hash_len, vdata->data, &sig);
+ if (ret == 0) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
+ } else
+ ret = 0;
+
+ ecc_point_clear(&pub);
+ break;
+ }
+ case GNUTLS_PK_DSA: {
+ struct dsa_params pub;
+ struct dsa_signature sig;
+ bigint_t y;
+
+ /* DSA is currently being defined as sunset with the
* current draft of FIPS 186-5 */
- not_approved = true;
+ not_approved = true;
- ret =
- _gnutls_decode_ber_rs(signature, &tmp[0], &tmp[1]);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
- memset(&pub, 0, sizeof(pub));
- _dsa_params_get(pk_params, &pub);
- y = pk_params->params[DSA_Y];
+ ret = _gnutls_decode_ber_rs(signature, &tmp[0], &tmp[1]);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
+ memset(&pub, 0, sizeof(pub));
+ _dsa_params_get(pk_params, &pub);
+ y = pk_params->params[DSA_Y];
- memcpy(sig.r, tmp[0], SIZEOF_MPZT);
- memcpy(sig.s, tmp[1], SIZEOF_MPZT);
+ memcpy(sig.r, tmp[0], SIZEOF_MPZT);
+ memcpy(sig.s, tmp[1], SIZEOF_MPZT);
- _gnutls_dsa_q_to_hash(pk_params, &hash_len);
+ _gnutls_dsa_q_to_hash(pk_params, &hash_len);
- if (hash_len > vdata->size)
- hash_len = vdata->size;
+ if (hash_len > vdata->size)
+ hash_len = vdata->size;
- ret =
- dsa_verify(&pub, TOMPZ(y), hash_len, vdata->data,
- &sig);
- if (ret == 0) {
- gnutls_assert();
- ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
- } else
- ret = 0;
+ ret = dsa_verify(&pub, TOMPZ(y), hash_len, vdata->data, &sig);
+ if (ret == 0) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
+ } else
+ ret = 0;
- break;
- }
- case GNUTLS_PK_RSA:
- {
- struct rsa_public_key pub;
- size_t bits;
+ break;
+ }
+ case GNUTLS_PK_RSA: {
+ struct rsa_public_key pub;
+ size_t bits;
- ret = _rsa_params_to_pubkey(pk_params, &pub);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _rsa_params_to_pubkey(pk_params, &pub);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- bits = mpz_sizeinbase(pub.n, 2);
+ bits = mpz_sizeinbase(pub.n, 2);
- /* In FIPS 140-3, RSA key size should be larger than
+ /* In FIPS 140-3, RSA key size should be larger than
* 2048-bit or one of the known lengths (1024, 1280,
* 1536, 1792; i.e., multiple of 256-bits).
*
@@ -1795,104 +1687,88 @@ _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
* for SigVer; it is checked in _pkcs1_rsa_verify_sig in
* lib/pubkey.c.
*/
- if (unlikely(bits < 2048 &&
- bits != 1024 && bits != 1280 &&
- bits != 1536 && bits != 1792)) {
- not_approved = true;
- }
+ if (unlikely(bits < 2048 && bits != 1024 && bits != 1280 &&
+ bits != 1536 && bits != 1792)) {
+ not_approved = true;
+ }
- if (signature->size != pub.size) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- goto cleanup;
- }
+ if (signature->size != pub.size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ goto cleanup;
+ }
- ret =
- _gnutls_mpi_init_scan_nz(&tmp[0], signature->data,
- signature->size);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gnutls_mpi_init_scan_nz(&tmp[0], signature->data,
+ signature->size);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- ret =
- rsa_pkcs1_verify(&pub, vdata->size,
- vdata->data, TOMPZ(tmp[0]));
- if (ret == 0)
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- else
- ret = 0;
+ ret = rsa_pkcs1_verify(&pub, vdata->size, vdata->data,
+ TOMPZ(tmp[0]));
+ if (ret == 0)
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ else
+ ret = 0;
- break;
+ break;
+ }
+ case GNUTLS_PK_RSA_PSS: {
+ struct rsa_public_key pub;
+
+ if ((sign_params->flags &
+ GNUTLS_PK_FLAG_RSA_PSS_FIXED_SALT_LENGTH) &&
+ sign_params->salt_size != vdata->size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ goto cleanup;
}
- case GNUTLS_PK_RSA_PSS:
- {
- struct rsa_public_key pub;
-
- if ((sign_params->flags &
- GNUTLS_PK_FLAG_RSA_PSS_FIXED_SALT_LENGTH) &&
- sign_params->salt_size != vdata->size) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- goto cleanup;
- }
- ret = _rsa_params_to_pubkey(pk_params, &pub);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _rsa_params_to_pubkey(pk_params, &pub);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- /* RSA modulus size should be 2048-bit or larger in FIPS
+ /* RSA modulus size should be 2048-bit or larger in FIPS
* 140-3. In addition to this, only SHA-1 and SHA-2 are
* allowed for SigVer, while Nettle only supports
* SHA256, SHA384, and SHA512 for RSA-PSS (see
* _rsa_pss_verify_digest in this file for the details).
*/
- if (unlikely(mpz_sizeinbase(pub.n, 2) < 2048)) {
- not_approved = true;
- }
+ if (unlikely(mpz_sizeinbase(pub.n, 2) < 2048)) {
+ not_approved = true;
+ }
- if (signature->size != pub.size) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- goto cleanup;
- }
+ if (signature->size != pub.size) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ goto cleanup;
+ }
- ret =
- _gnutls_mpi_init_scan_nz(&tmp[0], signature->data,
- signature->size);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gnutls_mpi_init_scan_nz(&tmp[0], signature->data,
+ signature->size);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- ret = _rsa_pss_verify_digest(sign_params->rsa_pss_dig,
- &pub,
- sign_params->salt_size,
- vdata->data, vdata->size,
- TOMPZ(tmp[0]));
- if (ret == 0)
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_SIG_VERIFY_FAILED);
- else
- ret = 0;
+ ret = _rsa_pss_verify_digest(sign_params->rsa_pss_dig, &pub,
+ sign_params->salt_size,
+ vdata->data, vdata->size,
+ TOMPZ(tmp[0]));
+ if (ret == 0)
+ ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
+ else
+ ret = 0;
- break;
- }
+ break;
+ }
default:
gnutls_assert();
ret = GNUTLS_E_INTERNAL_ERROR;
goto cleanup;
}
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
@@ -1934,23 +1810,23 @@ static inline const char *get_supported_nist_curve_order(int curve)
const char *order;
} orders[] = {
#ifdef ENABLE_NON_SUITEB_CURVES
- {GNUTLS_ECC_CURVE_SECP192R1,
- "ffffffffffffffffffffffff99def836" "146bc9b1b4d22831"},
- {GNUTLS_ECC_CURVE_SECP224R1,
- "ffffffffffffffffffffffffffff16a2" "e0b8f03e13dd29455c5c2a3d"},
+ { GNUTLS_ECC_CURVE_SECP192R1, "ffffffffffffffffffffffff99def836"
+ "146bc9b1b4d22831" },
+ { GNUTLS_ECC_CURVE_SECP224R1, "ffffffffffffffffffffffffffff16a2"
+ "e0b8f03e13dd29455c5c2a3d" },
#endif
- {GNUTLS_ECC_CURVE_SECP256R1,
- "ffffffff00000000ffffffffffffffff"
- "bce6faada7179e84f3b9cac2fc632551"},
- {GNUTLS_ECC_CURVE_SECP384R1,
- "ffffffffffffffffffffffffffffffff"
- "ffffffffffffffffc7634d81f4372ddf"
- "581a0db248b0a77aecec196accc52973"},
- {GNUTLS_ECC_CURVE_SECP521R1,
- "1fffffffffffffffffffffffffffffff"
- "ffffffffffffffffffffffffffffffff"
- "ffa51868783bf2f966b7fcc0148f709a"
- "5d03bb5c9b8899c47aebb6fb71e91386" "409"},
+ { GNUTLS_ECC_CURVE_SECP256R1,
+ "ffffffff00000000ffffffffffffffff"
+ "bce6faada7179e84f3b9cac2fc632551" },
+ { GNUTLS_ECC_CURVE_SECP384R1,
+ "ffffffffffffffffffffffffffffffff"
+ "ffffffffffffffffc7634d81f4372ddf"
+ "581a0db248b0a77aecec196accc52973" },
+ { GNUTLS_ECC_CURVE_SECP521R1, "1fffffffffffffffffffffffffffffff"
+ "ffffffffffffffffffffffffffffffff"
+ "ffa51868783bf2f966b7fcc0148f709a"
+ "5d03bb5c9b8899c47aebb6fb71e91386"
+ "409" },
};
size_t i;
@@ -1968,24 +1844,24 @@ static inline const char *get_supported_nist_curve_modulus(int curve)
const char *order;
} orders[] = {
#ifdef ENABLE_NON_SUITEB_CURVES
- {GNUTLS_ECC_CURVE_SECP192R1,
- "fffffffffffffffffffffffffffffffe" "ffffffffffffffff"},
- {GNUTLS_ECC_CURVE_SECP224R1,
- "ffffffffffffffffffffffffffffffff" "000000000000000000000001"},
+ { GNUTLS_ECC_CURVE_SECP192R1, "fffffffffffffffffffffffffffffffe"
+ "ffffffffffffffff" },
+ { GNUTLS_ECC_CURVE_SECP224R1, "ffffffffffffffffffffffffffffffff"
+ "000000000000000000000001" },
#endif
- {GNUTLS_ECC_CURVE_SECP256R1,
- "ffffffff000000010000000000000000"
- "00000000ffffffffffffffffffffffff"},
- {GNUTLS_ECC_CURVE_SECP384R1,
- "ffffffffffffffffffffffffffffffff"
- "fffffffffffffffffffffffffffffffe"
- "ffffffff0000000000000000ffffffff"},
- {GNUTLS_ECC_CURVE_SECP521R1,
- "1ff"
- "ffffffffffffffffffffffffffffffff"
- "ffffffffffffffffffffffffffffffff"
- "ffffffffffffffffffffffffffffffff"
- "ffffffffffffffffffffffffffffffff"},
+ { GNUTLS_ECC_CURVE_SECP256R1,
+ "ffffffff000000010000000000000000"
+ "00000000ffffffffffffffffffffffff" },
+ { GNUTLS_ECC_CURVE_SECP384R1,
+ "ffffffffffffffffffffffffffffffff"
+ "fffffffffffffffffffffffffffffffe"
+ "ffffffff0000000000000000ffffffff" },
+ { GNUTLS_ECC_CURVE_SECP521R1,
+ "1ff"
+ "ffffffffffffffffffffffffffffffff"
+ "ffffffffffffffffffffffffffffffff"
+ "ffffffffffffffffffffffffffffffff"
+ "ffffffffffffffffffffffffffffffff" },
};
size_t i;
@@ -2022,7 +1898,9 @@ static int _wrap_nettle_pk_curve_exists(gnutls_ecc_curve_t curve)
return 1;
default:
return ((get_supported_nist_curve(curve) != NULL ||
- get_supported_gost_curve(curve) != NULL) ? 1 : 0);
+ get_supported_gost_curve(curve) != NULL) ?
+ 1 :
+ 0);
}
}
@@ -2115,10 +1993,9 @@ static int _wrap_nettle_pk_sign_exists(gnutls_sign_algorithm_t sign)
* For RSA: nothing
* For ECDSA/EDDSA: nothing
*/
-static int
-wrap_nettle_pk_generate_params(gnutls_pk_algorithm_t algo,
- unsigned int level /*bits or curve */ ,
- gnutls_pk_params_st * params)
+static int wrap_nettle_pk_generate_params(gnutls_pk_algorithm_t algo,
+ unsigned int level /*bits or curve */,
+ gnutls_pk_params_st *params)
{
int ret;
unsigned int i, q_bits;
@@ -2129,122 +2006,109 @@ wrap_nettle_pk_generate_params(gnutls_pk_algorithm_t algo,
switch (algo) {
case GNUTLS_PK_DSA:
- case GNUTLS_PK_DH:
- {
- struct dsa_params pub;
- struct dss_params_validation_seeds cert;
- unsigned index;
-
- dsa_params_init(&pub);
+ case GNUTLS_PK_DH: {
+ struct dsa_params pub;
+ struct dss_params_validation_seeds cert;
+ unsigned index;
+
+ dsa_params_init(&pub);
+
+ if (GNUTLS_BITS_HAVE_SUBGROUP(level)) {
+ q_bits = GNUTLS_BITS_TO_SUBGROUP(level);
+ level = GNUTLS_BITS_TO_GROUP(level);
+ } else {
+ q_bits = _gnutls_pk_bits_to_subgroup_bits(level);
+ }
- if (GNUTLS_BITS_HAVE_SUBGROUP(level)) {
- q_bits = GNUTLS_BITS_TO_SUBGROUP(level);
- level = GNUTLS_BITS_TO_GROUP(level);
- } else {
- q_bits =
- _gnutls_pk_bits_to_subgroup_bits(level);
- }
+ if (q_bits == 0)
+ return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
- if (q_bits == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
-
- if (_gnutls_fips_mode_enabled() != 0
- || params->pkflags & GNUTLS_PK_FLAG_PROVABLE) {
- if (algo == GNUTLS_PK_DSA)
- index = 1;
- else
- index = 2;
-
- if (params->palgo != 0
- && params->palgo != GNUTLS_DIG_SHA384) {
- ret = GNUTLS_E_INVALID_REQUEST;
- goto dsa_fail;
- }
+ if (_gnutls_fips_mode_enabled() != 0 ||
+ params->pkflags & GNUTLS_PK_FLAG_PROVABLE) {
+ if (algo == GNUTLS_PK_DSA)
+ index = 1;
+ else
+ index = 2;
- params->palgo = GNUTLS_DIG_SHA384;
-
- if (params->seed_size) {
- ret =
- _dsa_generate_dss_pqg(&pub, &cert,
- index,
- params->seed_size,
- params->seed,
- NULL, NULL,
- level,
- q_bits);
- } else {
- ret =
- dsa_generate_dss_pqg(&pub, &cert,
- index, NULL,
- rnd_tmpkey_func,
- NULL, NULL,
- level, q_bits);
- }
- if (ret != 1 || HAVE_LIB_ERROR()) {
- gnutls_assert();
- ret = GNUTLS_E_PK_GENERATION_ERROR;
- goto dsa_fail;
- }
+ if (params->palgo != 0 &&
+ params->palgo != GNUTLS_DIG_SHA384) {
+ ret = GNUTLS_E_INVALID_REQUEST;
+ goto dsa_fail;
+ }
- if (cert.seed_length
- && cert.seed_length <
- sizeof(params->seed)) {
- params->seed_size = cert.seed_length;
- memcpy(params->seed, cert.seed,
- cert.seed_length);
- }
+ params->palgo = GNUTLS_DIG_SHA384;
- /* verify the generated parameters */
- ret = dsa_validate_dss_pqg(&pub, &cert, index);
- if (ret != 1) {
- gnutls_assert();
- ret = GNUTLS_E_PK_GENERATION_ERROR;
- goto dsa_fail;
- }
+ if (params->seed_size) {
+ ret = _dsa_generate_dss_pqg(&pub, &cert, index,
+ params->seed_size,
+ params->seed, NULL,
+ NULL, level,
+ q_bits);
} else {
- if (q_bits < 160)
- q_bits = 160;
-
- ret =
- dsa_generate_params(&pub, NULL,
- rnd_tmpkey_func, NULL,
- NULL, level, q_bits);
- if (ret != 1 || HAVE_LIB_ERROR()) {
- gnutls_assert();
- ret = GNUTLS_E_PK_GENERATION_ERROR;
- goto dsa_fail;
- }
+ ret = dsa_generate_dss_pqg(&pub, &cert, index,
+ NULL,
+ rnd_tmpkey_func,
+ NULL, NULL, level,
+ q_bits);
+ }
+ if (ret != 1 || HAVE_LIB_ERROR()) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_GENERATION_ERROR;
+ goto dsa_fail;
}
- params->params_nr = 0;
+ if (cert.seed_length &&
+ cert.seed_length < sizeof(params->seed)) {
+ params->seed_size = cert.seed_length;
+ memcpy(params->seed, cert.seed,
+ cert.seed_length);
+ }
- ret =
- _gnutls_mpi_init_multi(&params->params[DSA_P],
- &params->params[DSA_Q],
- &params->params[DSA_G],
- NULL);
- if (ret < 0) {
+ /* verify the generated parameters */
+ ret = dsa_validate_dss_pqg(&pub, &cert, index);
+ if (ret != 1) {
gnutls_assert();
+ ret = GNUTLS_E_PK_GENERATION_ERROR;
goto dsa_fail;
}
- params->params_nr = 3;
+ } else {
+ if (q_bits < 160)
+ q_bits = 160;
- mpz_set(TOMPZ(params->params[DSA_P]), pub.p);
- mpz_set(TOMPZ(params->params[DSA_Q]), pub.q);
- mpz_set(TOMPZ(params->params[DSA_G]), pub.g);
+ ret = dsa_generate_params(&pub, NULL, rnd_tmpkey_func,
+ NULL, NULL, level, q_bits);
+ if (ret != 1 || HAVE_LIB_ERROR()) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_GENERATION_ERROR;
+ goto dsa_fail;
+ }
+ }
- ret = 0;
+ params->params_nr = 0;
- dsa_fail:
- dsa_params_clear(&pub);
+ ret = _gnutls_mpi_init_multi(&params->params[DSA_P],
+ &params->params[DSA_Q],
+ &params->params[DSA_G], NULL);
+ if (ret < 0) {
+ gnutls_assert();
+ goto dsa_fail;
+ }
+ params->params_nr = 3;
- if (ret < 0)
- goto fail;
+ mpz_set(TOMPZ(params->params[DSA_P]), pub.p);
+ mpz_set(TOMPZ(params->params[DSA_Q]), pub.q);
+ mpz_set(TOMPZ(params->params[DSA_G]), pub.g);
- break;
- }
+ ret = 0;
+
+ dsa_fail:
+ dsa_params_clear(&pub);
+
+ if (ret < 0)
+ goto fail;
+
+ break;
+ }
case GNUTLS_PK_RSA_PSS:
case GNUTLS_PK_RSA:
case GNUTLS_PK_ECDSA:
@@ -2266,7 +2130,7 @@ wrap_nettle_pk_generate_params(gnutls_pk_algorithm_t algo,
FAIL_IF_LIB_ERROR;
return 0;
- fail:
+fail:
for (i = 0; i < params->params_nr; i++) {
_gnutls_mpi_release(&params->params[i]);
@@ -2279,26 +2143,23 @@ wrap_nettle_pk_generate_params(gnutls_pk_algorithm_t algo,
#ifdef ENABLE_FIPS140
int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
- gnutls_datum_t * priv_key,
- gnutls_datum_t * pub_key);
+ gnutls_datum_t *priv_key, gnutls_datum_t *pub_key);
int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * priv_key,
- const gnutls_datum_t * pub_key,
- const gnutls_datum_t * peer_key, gnutls_datum_t * Z);
+ const gnutls_datum_t *priv_key,
+ const gnutls_datum_t *pub_key,
+ const gnutls_datum_t *peer_key, gnutls_datum_t *Z);
-int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x, const gnutls_datum_t * y,
- const gnutls_datum_t * k,
- const gnutls_datum_t * peer_x,
- const gnutls_datum_t * peer_y, gnutls_datum_t * Z);
+int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t *x,
+ const gnutls_datum_t *y, const gnutls_datum_t *k,
+ const gnutls_datum_t *peer_x,
+ const gnutls_datum_t *peer_y, gnutls_datum_t *Z);
-int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve,
- gnutls_datum_t * x, gnutls_datum_t * y,
- gnutls_datum_t * k);
+int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k);
int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
- gnutls_datum_t * priv_key, gnutls_datum_t * pub_key)
+ gnutls_datum_t *priv_key, gnutls_datum_t *pub_key)
{
gnutls_pk_params_st params;
int ret;
@@ -2313,9 +2174,8 @@ int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
priv_key->data = NULL;
pub_key->data = NULL;
- ret =
- _gnutls_pk_generate_keys(GNUTLS_PK_DH, dh_params->q_bits, &params,
- 0);
+ ret = _gnutls_pk_generate_keys(GNUTLS_PK_DH, dh_params->q_bits, &params,
+ 0);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -2334,10 +2194,10 @@ int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
ret = 0;
goto cleanup;
- fail:
+fail:
gnutls_free(pub_key->data);
gnutls_free(priv_key->data);
- cleanup:
+cleanup:
gnutls_pk_params_clear(&params);
gnutls_pk_params_release(&params);
return ret;
@@ -2346,9 +2206,9 @@ int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
/* Note that the value of Z will have the leading bytes stripped if they are zero -
* which follows the TLS approach. */
int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * priv_key,
- const gnutls_datum_t * pub_key,
- const gnutls_datum_t * peer_key, gnutls_datum_t * Z)
+ const gnutls_datum_t *priv_key,
+ const gnutls_datum_t *pub_key,
+ const gnutls_datum_t *peer_key, gnutls_datum_t *Z)
{
gnutls_pk_params_st pub, priv;
int ret;
@@ -2361,8 +2221,8 @@ int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
priv.params_nr = 5;
priv.algo = GNUTLS_PK_DH;
- if (_gnutls_mpi_init_scan_nz
- (&pub.params[DH_Y], peer_key->data, peer_key->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&pub.params[DH_Y], peer_key->data,
+ peer_key->size) != 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
@@ -2372,8 +2232,8 @@ int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
if (dh_params->params[2])
priv.params[DH_Q] = _gnutls_mpi_copy(dh_params->params[2]);
- if (_gnutls_mpi_init_scan_nz
- (&priv.params[DH_X], priv_key->data, priv_key->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&priv.params[DH_X], priv_key->data,
+ priv_key->size) != 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
@@ -2387,7 +2247,7 @@ int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&pub);
gnutls_pk_params_release(&pub);
gnutls_pk_params_clear(&priv);
@@ -2395,9 +2255,8 @@ int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
return ret;
}
-int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve,
- gnutls_datum_t * x, gnutls_datum_t * y,
- gnutls_datum_t * k)
+int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k)
{
gnutls_pk_params_st params;
int ret;
@@ -2436,21 +2295,20 @@ int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve,
ret = 0;
goto cleanup;
- fail:
+fail:
gnutls_free(y->data);
gnutls_free(x->data);
gnutls_free(k->data);
- cleanup:
+cleanup:
gnutls_pk_params_clear(&params);
gnutls_pk_params_release(&params);
return ret;
}
-int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x, const gnutls_datum_t * y,
- const gnutls_datum_t * k,
- const gnutls_datum_t * peer_x,
- const gnutls_datum_t * peer_y, gnutls_datum_t * Z)
+int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t *x,
+ const gnutls_datum_t *y, const gnutls_datum_t *k,
+ const gnutls_datum_t *peer_x,
+ const gnutls_datum_t *peer_y, gnutls_datum_t *Z)
{
gnutls_pk_params_st pub, priv;
int ret;
@@ -2465,32 +2323,32 @@ int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
priv.algo = GNUTLS_PK_ECDSA;
priv.curve = curve;
- if (_gnutls_mpi_init_scan_nz
- (&pub.params[ECC_Y], peer_y->data, peer_y->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&pub.params[ECC_Y], peer_y->data,
+ peer_y->size) != 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
- if (_gnutls_mpi_init_scan_nz
- (&pub.params[ECC_X], peer_x->data, peer_x->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&pub.params[ECC_X], peer_x->data,
+ peer_x->size) != 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
- if (_gnutls_mpi_init_scan_nz
- (&priv.params[ECC_Y], y->data, y->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&priv.params[ECC_Y], y->data, y->size) !=
+ 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
- if (_gnutls_mpi_init_scan_nz
- (&priv.params[ECC_X], x->data, x->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&priv.params[ECC_X], x->data, x->size) !=
+ 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
- if (_gnutls_mpi_init_scan_nz
- (&priv.params[ECC_K], k->data, k->size) != 0) {
+ if (_gnutls_mpi_init_scan_nz(&priv.params[ECC_K], k->data, k->size) !=
+ 0) {
ret = gnutls_assert_val(GNUTLS_E_MPI_SCAN_FAILED);
goto cleanup;
}
@@ -2504,7 +2362,7 @@ int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&pub);
gnutls_pk_params_release(&pub);
gnutls_pk_params_clear(&priv);
@@ -2513,16 +2371,16 @@ int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
}
static int pct_test(gnutls_pk_algorithm_t algo,
- const gnutls_pk_params_st * params)
+ const gnutls_pk_params_st *params)
{
int ret;
gnutls_datum_t sig = { NULL, 0 };
const char const_data[20] = "onetwothreefourfive";
const char const_data_sha256[32] = "onetwothreefourfivesixseveneight";
const char const_data_sha384[48] =
- "onetwothreefourfivesixseveneightnineteneleventwe";
+ "onetwothreefourfivesixseveneightnineteneleventwe";
const char const_data_sha512[64] =
- "onetwothreefourfivesixseveneightnineteneleventwelvethirteenfourt";
+ "onetwothreefourfivesixseveneightnineteneleventwelvethirteenfourt";
gnutls_datum_t ddata, tmp = { NULL, 0 };
char *gen_data = NULL;
gnutls_x509_spki_st spki;
@@ -2592,8 +2450,7 @@ static int pct_test(gnutls_pk_algorithm_t algo,
if (ret < 0) {
ret = gnutls_assert_val(GNUTLS_E_PK_GENERATION_ERROR);
}
- if (ret == 0 &&
- ddata.size == sig.size &&
+ if (ret == 0 && ddata.size == sig.size &&
memcmp(ddata.data, sig.data, sig.size) == 0) {
ret = gnutls_assert_val(GNUTLS_E_PK_GENERATION_ERROR);
}
@@ -2620,7 +2477,7 @@ static int pct_test(gnutls_pk_algorithm_t algo,
sig.data = NULL;
FALLTHROUGH;
- case GNUTLS_PK_EC: /* we only do keys for ECDSA */
+ case GNUTLS_PK_EC: /* we only do keys for ECDSA */
case GNUTLS_PK_EDDSA_ED25519:
case GNUTLS_PK_EDDSA_ED448:
case GNUTLS_PK_DSA:
@@ -2641,11 +2498,10 @@ static int pct_test(gnutls_pk_algorithm_t algo,
goto cleanup;
}
break;
- case GNUTLS_PK_DH:
- {
- mpz_t y;
+ case GNUTLS_PK_DH: {
+ mpz_t y;
- /* Perform SP800 56A (rev 3) 5.6.2.1.4 Owner Assurance
+ /* Perform SP800 56A (rev 3) 5.6.2.1.4 Owner Assurance
* of Pair-wise Consistency check, even if we only
* support ephemeral DH, as it is required by FIPS
* 140-3 IG 10.3.A.
@@ -2655,22 +2511,18 @@ static int pct_test(gnutls_pk_algorithm_t algo,
* parameters associated with the key pair to compute
* g^x mod p. Compare the result to the public key, y.
*/
- mpz_init(y);
- mpz_powm(y,
- TOMPZ(params->params[DSA_G]),
- TOMPZ(params->params[DSA_X]),
- TOMPZ(params->params[DSA_P]));
- if (unlikely
- (mpz_cmp(y, TOMPZ(params->params[DSA_Y])) != 0)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PK_GENERATION_ERROR);
- mpz_clear(y);
- goto cleanup;
- }
+ mpz_init(y);
+ mpz_powm(y, TOMPZ(params->params[DSA_G]),
+ TOMPZ(params->params[DSA_X]),
+ TOMPZ(params->params[DSA_P]));
+ if (unlikely(mpz_cmp(y, TOMPZ(params->params[DSA_Y])) != 0)) {
+ ret = gnutls_assert_val(GNUTLS_E_PK_GENERATION_ERROR);
mpz_clear(y);
- break;
+ goto cleanup;
}
+ mpz_clear(y);
+ break;
+ }
case GNUTLS_PK_ECDH_X25519:
case GNUTLS_PK_ECDH_X448:
ret = 0;
@@ -2681,7 +2533,7 @@ static int pct_test(gnutls_pk_algorithm_t algo,
}
ret = 0;
- cleanup:
+cleanup:
if (ret == GNUTLS_E_PK_GENERATION_ERROR) {
_gnutls_switch_lib_state(LIB_STATE_ERROR);
}
@@ -2692,9 +2544,8 @@ static int pct_test(gnutls_pk_algorithm_t algo,
}
#endif
-static inline int
-eddsa_public_key(gnutls_pk_algorithm_t algo,
- uint8_t * pub, const uint8_t * priv)
+static inline int eddsa_public_key(gnutls_pk_algorithm_t algo, uint8_t *pub,
+ const uint8_t *priv)
{
switch (algo) {
case GNUTLS_PK_EDDSA_ED25519:
@@ -2704,13 +2555,13 @@ eddsa_public_key(gnutls_pk_algorithm_t algo,
ed448_shake256_public_key(pub, priv);
return 0;
default:
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
}
}
-static inline int
-edwards_curve_mul_g(gnutls_pk_algorithm_t algo, uint8_t * q, const uint8_t * n)
+static inline int edwards_curve_mul_g(gnutls_pk_algorithm_t algo, uint8_t *q,
+ const uint8_t *n)
{
switch (algo) {
case GNUTLS_PK_ECDH_X25519:
@@ -2724,7 +2575,7 @@ edwards_curve_mul_g(gnutls_pk_algorithm_t algo, uint8_t * q, const uint8_t * n)
}
}
-static inline int dh_find_q(const gnutls_pk_params_st * pk_params, mpz_t q)
+static inline int dh_find_q(const gnutls_pk_params_st *pk_params, mpz_t q)
{
gnutls_datum_t prime = { NULL, 0 };
gnutls_datum_t generator = { NULL, 0 };
@@ -2745,11 +2596,9 @@ static inline int dh_find_q(const gnutls_pk_params_st * pk_params, mpz_t q)
goto cleanup;
}
- if (!_gnutls_dh_prime_match_fips_approved(prime.data,
- prime.size,
- generator.data,
- generator.size,
- &data_q, &n_q)) {
+ if (!_gnutls_dh_prime_match_fips_approved(
+ prime.data, prime.size, generator.data, generator.size,
+ &data_q, &n_q)) {
ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
goto cleanup;
}
@@ -2762,7 +2611,7 @@ static inline int dh_find_q(const gnutls_pk_params_st * pk_params, mpz_t q)
mpz_set(q, TOMPZ(_q));
_gnutls_mpi_release(&_q);
- cleanup:
+cleanup:
gnutls_free(prime.data);
gnutls_free(generator.data);
@@ -2774,9 +2623,9 @@ static inline int dh_find_q(const gnutls_pk_params_st * pk_params, mpz_t q)
*/
static int
wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
- unsigned int level /*bits or curve */ ,
- gnutls_pk_params_st * params, unsigned ephemeral
- /*non-zero if they are ephemeral keys */ )
+ unsigned int level /*bits or curve */,
+ gnutls_pk_params_st *params, unsigned ephemeral
+ /*non-zero if they are ephemeral keys */)
{
int ret;
unsigned int i;
@@ -2812,8 +2661,8 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
not_approved = true;
if (params->params[DSA_Q] == NULL) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ ret = gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
goto cleanup;
}
@@ -2822,20 +2671,17 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
mpz_init(x);
mpz_init(y);
- ret =
- dsa_generate_dss_keypair(&pub, y, x,
- NULL, rnd_func,
- NULL, NULL);
+ ret = dsa_generate_dss_keypair(&pub, y, x, NULL,
+ rnd_func, NULL, NULL);
if (ret != 1 || HAVE_LIB_ERROR()) {
gnutls_assert();
ret = GNUTLS_E_PK_GENERATION_ERROR;
goto dsa_fail;
}
- ret =
- _gnutls_mpi_init_multi(&params->params[DSA_Y],
- &params->params[DSA_X],
- NULL);
+ ret = _gnutls_mpi_init_multi(&params->params[DSA_Y],
+ &params->params[DSA_X],
+ NULL);
if (ret < 0) {
gnutls_assert();
goto dsa_fail;
@@ -2845,7 +2691,7 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
mpz_set(TOMPZ(params->params[DSA_X]), x);
params->params_nr += 2;
- dsa_fail:
+ dsa_fail:
mpz_clear(x);
mpz_clear(y);
@@ -2856,297 +2702,273 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
}
#endif
FALLTHROUGH;
- case GNUTLS_PK_DH:
- {
- struct dsa_params pub;
- mpz_t r;
- mpz_t x, y;
- int max_tries;
- unsigned have_q = 0;
- mpz_t q;
- mpz_t primesub1;
- mpz_t ypowq;
-
- if (algo != params->algo) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ case GNUTLS_PK_DH: {
+ struct dsa_params pub;
+ mpz_t r;
+ mpz_t x, y;
+ int max_tries;
+ unsigned have_q = 0;
+ mpz_t q;
+ mpz_t primesub1;
+ mpz_t ypowq;
+
+ if (algo != params->algo) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- _dsa_params_get(params, &pub);
+ _dsa_params_get(params, &pub);
- if (params->params[DSA_Q] != NULL)
- have_q = 1;
+ if (params->params[DSA_Q] != NULL)
+ have_q = 1;
- /* This check is for the case !ENABLE_FIPS140 */
- if (algo == GNUTLS_PK_DSA && have_q == 0) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ /* This check is for the case !ENABLE_FIPS140 */
+ if (algo == GNUTLS_PK_DSA && have_q == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- mpz_init(r);
- mpz_init(x);
- mpz_init(y);
+ mpz_init(r);
+ mpz_init(x);
+ mpz_init(y);
+
+ mpz_init(q);
+ mpz_init(primesub1);
+ mpz_init(ypowq);
+
+ max_tries = 3;
+ do {
+ if (have_q) {
+ mpz_set(r, pub.q);
+ mpz_sub_ui(r, r, 2);
+ nettle_mpz_random(x, NULL, rnd_func, r);
+ mpz_add_ui(x, x, 1);
+ } else {
+ unsigned size = mpz_sizeinbase(pub.p, 2);
+ if (level == 0)
+ level = MIN(size,
+ DH_EXPONENT_SIZE(size));
+ nettle_mpz_random_size(x, NULL, rnd_func,
+ level);
- mpz_init(q);
- mpz_init(primesub1);
- mpz_init(ypowq);
-
- max_tries = 3;
- do {
- if (have_q) {
- mpz_set(r, pub.q);
- mpz_sub_ui(r, r, 2);
- nettle_mpz_random(x, NULL, rnd_func, r);
- mpz_add_ui(x, x, 1);
- } else {
- unsigned size =
- mpz_sizeinbase(pub.p, 2);
- if (level == 0)
- level =
- MIN(size,
- DH_EXPONENT_SIZE(size));
- nettle_mpz_random_size(x, NULL,
- rnd_func, level);
-
- if (level >= size)
- mpz_mod(x, x, pub.p);
- }
+ if (level >= size)
+ mpz_mod(x, x, pub.p);
+ }
- mpz_powm(y, pub.g, x, pub.p);
+ mpz_powm(y, pub.g, x, pub.p);
- max_tries--;
- if (max_tries <= 0) {
- gnutls_assert();
- ret = GNUTLS_E_RANDOM_FAILED;
- goto dh_fail;
- }
+ max_tries--;
+ if (max_tries <= 0) {
+ gnutls_assert();
+ ret = GNUTLS_E_RANDOM_FAILED;
+ goto dh_fail;
+ }
- if (HAVE_LIB_ERROR()) {
- gnutls_assert();
- ret = GNUTLS_E_LIB_IN_ERROR_STATE;
- goto dh_fail;
- }
+ if (HAVE_LIB_ERROR()) {
+ gnutls_assert();
+ ret = GNUTLS_E_LIB_IN_ERROR_STATE;
+ goto dh_fail;
+ }
- } while (mpz_cmp_ui(y, 1) == 0);
+ } while (mpz_cmp_ui(y, 1) == 0);
#ifdef ENABLE_FIPS140
- if (_gnutls_fips_mode_enabled()) {
- /* Perform FFC full public key validation checks
+ if (_gnutls_fips_mode_enabled()) {
+ /* Perform FFC full public key validation checks
* according to SP800-56A (revision 3), 5.6.2.3.1.
*/
- /* Step 1: 2 <= y <= p - 2 */
- mpz_sub_ui(primesub1, pub.p, 1);
+ /* Step 1: 2 <= y <= p - 2 */
+ mpz_sub_ui(primesub1, pub.p, 1);
- if (mpz_cmp_ui(y, 2) < 0
- || mpz_cmp(y, primesub1) >= 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_RANDOM_FAILED);
- goto dh_fail;
- }
-
- /* Step 2: 1 = y^q mod p */
- if (have_q)
- mpz_set(q, pub.q);
- else {
- ret = dh_find_q(params, q);
- if (ret < 0)
- goto dh_fail;
- }
+ if (mpz_cmp_ui(y, 2) < 0 ||
+ mpz_cmp(y, primesub1) >= 0) {
+ ret = gnutls_assert_val(GNUTLS_E_RANDOM_FAILED);
+ goto dh_fail;
+ }
- mpz_powm(ypowq, y, q, pub.p);
- if (mpz_cmp_ui(ypowq, 1) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_RANDOM_FAILED);
+ /* Step 2: 1 = y^q mod p */
+ if (have_q)
+ mpz_set(q, pub.q);
+ else {
+ ret = dh_find_q(params, q);
+ if (ret < 0)
goto dh_fail;
- }
}
-#endif
- ret =
- _gnutls_mpi_init_multi(&params->params[DSA_Y],
- &params->params[DSA_X],
- NULL);
- if (ret < 0) {
- gnutls_assert();
+ mpz_powm(ypowq, y, q, pub.p);
+ if (mpz_cmp_ui(ypowq, 1) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_RANDOM_FAILED);
goto dh_fail;
}
+ }
+#endif
- mpz_set(TOMPZ(params->params[DSA_Y]), y);
- mpz_set(TOMPZ(params->params[DSA_X]), x);
- params->params_nr += 2;
+ ret = _gnutls_mpi_init_multi(&params->params[DSA_Y],
+ &params->params[DSA_X], NULL);
+ if (ret < 0) {
+ gnutls_assert();
+ goto dh_fail;
+ }
- ret = 0;
+ mpz_set(TOMPZ(params->params[DSA_Y]), y);
+ mpz_set(TOMPZ(params->params[DSA_X]), x);
+ params->params_nr += 2;
- dh_fail:
- mpz_clear(r);
- mpz_clear(x);
- mpz_clear(y);
- mpz_clear(q);
- mpz_clear(primesub1);
- mpz_clear(ypowq);
+ ret = 0;
- if (ret < 0)
- goto cleanup;
+ dh_fail:
+ mpz_clear(r);
+ mpz_clear(x);
+ mpz_clear(y);
+ mpz_clear(q);
+ mpz_clear(primesub1);
+ mpz_clear(ypowq);
- break;
- }
+ if (ret < 0)
+ goto cleanup;
+
+ break;
+ }
case GNUTLS_PK_RSA_PSS:
- case GNUTLS_PK_RSA:
- {
- struct rsa_public_key pub;
- struct rsa_private_key priv;
+ case GNUTLS_PK_RSA: {
+ struct rsa_public_key pub;
+ struct rsa_private_key priv;
- rsa_public_key_init(&pub);
- rsa_private_key_init(&priv);
+ rsa_public_key_init(&pub);
+ rsa_private_key_init(&priv);
- mpz_set_ui(pub.e, 65537);
+ mpz_set_ui(pub.e, 65537);
- if ((params->pkflags & GNUTLS_PK_FLAG_PROVABLE)
- || _gnutls_fips_mode_enabled() != 0) {
- params->pkflags |= GNUTLS_PK_FLAG_PROVABLE;
- if (params->palgo != 0
- && params->palgo != GNUTLS_DIG_SHA384) {
- ret = GNUTLS_E_INVALID_REQUEST;
- goto rsa_fail;
- }
+ if ((params->pkflags & GNUTLS_PK_FLAG_PROVABLE) ||
+ _gnutls_fips_mode_enabled() != 0) {
+ params->pkflags |= GNUTLS_PK_FLAG_PROVABLE;
+ if (params->palgo != 0 &&
+ params->palgo != GNUTLS_DIG_SHA384) {
+ ret = GNUTLS_E_INVALID_REQUEST;
+ goto rsa_fail;
+ }
- params->palgo = GNUTLS_DIG_SHA384;
+ params->palgo = GNUTLS_DIG_SHA384;
- if (params->seed_size) {
- ret =
- _rsa_generate_fips186_4_keypair
- (&pub, &priv, params->seed_size,
- params->seed, NULL, NULL, level);
- } else {
- unsigned retries = 0;
- /* The provable RSA key generation process is deterministic
+ if (params->seed_size) {
+ ret = _rsa_generate_fips186_4_keypair(
+ &pub, &priv, params->seed_size,
+ params->seed, NULL, NULL, level);
+ } else {
+ unsigned retries = 0;
+ /* The provable RSA key generation process is deterministic
* but has an internal maximum iteration counter and when
* exceed will fail for certain random seeds. This is a very
* rare condition, but it nevertheless happens and even CI builds fail
* occasionally. When we generate the random seed internally, remediate
* by retrying a different seed on failure. */
- do {
- params->seed_size =
- sizeof(params->seed);
- ret =
- rsa_generate_fips186_4_keypair
- (&pub, &priv, NULL,
- rnd_func, NULL, NULL,
- &params->seed_size,
- params->seed, level);
- } while (ret != 1 && ++retries < 3);
- }
- } else {
- not_approved = true;
+ do {
+ params->seed_size =
+ sizeof(params->seed);
+ ret = rsa_generate_fips186_4_keypair(
+ &pub, &priv, NULL, rnd_func,
+ NULL, NULL, &params->seed_size,
+ params->seed, level);
+ } while (ret != 1 && ++retries < 3);
+ }
+ } else {
+ not_approved = true;
- ret =
- rsa_generate_keypair(&pub, &priv, NULL,
- rnd_func, NULL, NULL,
- level, 0);
- }
- if (ret != 1 || HAVE_LIB_ERROR()) {
+ ret = rsa_generate_keypair(&pub, &priv, NULL, rnd_func,
+ NULL, NULL, level, 0);
+ }
+ if (ret != 1 || HAVE_LIB_ERROR()) {
+ gnutls_assert();
+ ret = GNUTLS_E_PK_GENERATION_ERROR;
+ goto rsa_fail;
+ }
+
+ params->params_nr = 0;
+ for (i = 0; i < RSA_PRIVATE_PARAMS; i++) {
+ ret = _gnutls_mpi_init(&params->params[i]);
+ if (ret < 0) {
gnutls_assert();
- ret = GNUTLS_E_PK_GENERATION_ERROR;
goto rsa_fail;
}
+ params->params_nr++;
+ }
- params->params_nr = 0;
- for (i = 0; i < RSA_PRIVATE_PARAMS; i++) {
- ret = _gnutls_mpi_init(&params->params[i]);
- if (ret < 0) {
- gnutls_assert();
- goto rsa_fail;
- }
- params->params_nr++;
- }
-
- /* In FIPS 140-3, pub.n should be 2048-bit or larger; it
+ /* In FIPS 140-3, pub.n should be 2048-bit or larger; it
* is assured in rsa_generate_fips186_4_keypair in
* lib/nettle/int/rsa-keygen-fips186.c. */
- mpz_set(TOMPZ(params->params[RSA_MODULUS]), pub.n);
- mpz_set(TOMPZ(params->params[RSA_PUB]), pub.e);
- mpz_set(TOMPZ(params->params[RSA_PRIV]), priv.d);
- mpz_set(TOMPZ(params->params[RSA_PRIME1]), priv.p);
- mpz_set(TOMPZ(params->params[RSA_PRIME2]), priv.q);
- mpz_set(TOMPZ(params->params[RSA_COEF]), priv.c);
- mpz_set(TOMPZ(params->params[RSA_E1]), priv.a);
- mpz_set(TOMPZ(params->params[RSA_E2]), priv.b);
+ mpz_set(TOMPZ(params->params[RSA_MODULUS]), pub.n);
+ mpz_set(TOMPZ(params->params[RSA_PUB]), pub.e);
+ mpz_set(TOMPZ(params->params[RSA_PRIV]), priv.d);
+ mpz_set(TOMPZ(params->params[RSA_PRIME1]), priv.p);
+ mpz_set(TOMPZ(params->params[RSA_PRIME2]), priv.q);
+ mpz_set(TOMPZ(params->params[RSA_COEF]), priv.c);
+ mpz_set(TOMPZ(params->params[RSA_E1]), priv.a);
+ mpz_set(TOMPZ(params->params[RSA_E2]), priv.b);
- ret = 0;
+ ret = 0;
- rsa_fail:
- rsa_private_key_clear(&priv);
- rsa_public_key_clear(&pub);
+ rsa_fail:
+ rsa_private_key_clear(&priv);
+ rsa_public_key_clear(&pub);
- if (ret < 0)
- goto cleanup;
+ if (ret < 0)
+ goto cleanup;
- break;
- }
+ break;
+ }
case GNUTLS_PK_EDDSA_ED25519:
- case GNUTLS_PK_EDDSA_ED448:
- {
- unsigned size = gnutls_ecc_curve_get_size(level);
+ case GNUTLS_PK_EDDSA_ED448: {
+ unsigned size = gnutls_ecc_curve_get_size(level);
- /* EdDSA is not approved yet */
- not_approved = true;
+ /* EdDSA is not approved yet */
+ not_approved = true;
- if (params->pkflags & GNUTLS_PK_FLAG_PROVABLE) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ if (params->pkflags & GNUTLS_PK_FLAG_PROVABLE) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- if (unlikely(get_eddsa_curve(algo) != level)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- goto cleanup;
- }
+ if (unlikely(get_eddsa_curve(algo) != level)) {
+ ret = gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ goto cleanup;
+ }
- if (size == 0) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
+ if (size == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- params->curve = level;
+ params->curve = level;
- params->raw_priv.data = gnutls_malloc(size);
- if (params->raw_priv.data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ params->raw_priv.data = gnutls_malloc(size);
+ if (params->raw_priv.data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- params->raw_pub.data = gnutls_malloc(size);
- if (params->raw_pub.data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ params->raw_pub.data = gnutls_malloc(size);
+ if (params->raw_pub.data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- ret =
- gnutls_rnd(rnd_level, params->raw_priv.data, size);
- if (ret < 0) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
- params->raw_pub.size = size;
- params->raw_priv.size = size;
+ ret = gnutls_rnd(rnd_level, params->raw_priv.data, size);
+ if (ret < 0) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
+ params->raw_pub.size = size;
+ params->raw_priv.size = size;
- ret = eddsa_public_key(algo,
- params->raw_pub.data,
- params->raw_priv.data);
- if (ret < 0)
- goto cleanup;
+ ret = eddsa_public_key(algo, params->raw_pub.data,
+ params->raw_priv.data);
+ if (ret < 0)
+ goto cleanup;
- break;
- }
+ break;
+ }
case GNUTLS_PK_ECDSA:
if (params->pkflags & GNUTLS_PK_FLAG_PROVABLE)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -3162,9 +2984,8 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
curve = get_supported_nist_curve(level);
if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
goto cleanup;
}
@@ -3188,17 +3009,15 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
ecdsa_generate_keypair(&pub, &key, NULL, rnd_func);
if (HAVE_LIB_ERROR()) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_LIB_IN_ERROR_STATE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_LIB_IN_ERROR_STATE);
goto ecc_fail;
}
- ret =
- _gnutls_mpi_init_multi(&params->params[ECC_X],
- &params->params[ECC_Y],
- &params->params[ECC_K],
- NULL);
+ ret = _gnutls_mpi_init_multi(&params->params[ECC_X],
+ &params->params[ECC_Y],
+ &params->params[ECC_K],
+ NULL);
if (ret < 0) {
gnutls_assert();
goto ecc_fail;
@@ -3222,11 +3041,10 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
* cannot happen in the nettle implementation,
* because it cannot represent an infinity point
* on curves. */
- if (mpz_cmp_ui(x, 0) == 0
- && mpz_cmp_ui(y, 0) == 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ if (mpz_cmp_ui(x, 0) == 0 &&
+ mpz_cmp_ui(y, 0) == 0) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_ILLEGAL_PARAMETER);
goto ecc_fail;
}
@@ -3237,9 +3055,8 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
*
* Both checks are performed in nettle. */
if (!ecc_point_set(&r, x, y)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ ret = gnutls_assert_val(
+ GNUTLS_E_ILLEGAL_PARAMETER);
goto ecc_fail;
}
@@ -3256,34 +3073,30 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
*/
order = get_supported_nist_curve_order(level);
if (unlikely(order == NULL)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
+ ret = gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
goto ecc_fail;
}
ret = mpz_set_str(nn, order, 16);
if (unlikely(ret < 0)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_MPI_SCAN_FAILED);
+ ret = gnutls_assert_val(
+ GNUTLS_E_MPI_SCAN_FAILED);
goto ecc_fail;
}
modulus =
- get_supported_nist_curve_modulus(level);
+ get_supported_nist_curve_modulus(level);
if (unlikely(modulus == NULL)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
+ ret = gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
goto ecc_fail;
}
ret = mpz_set_str(mm, modulus, 16);
if (unlikely(ret < 0)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_MPI_SCAN_FAILED);
+ ret = gnutls_assert_val(
+ GNUTLS_E_MPI_SCAN_FAILED);
goto ecc_fail;
}
@@ -3294,10 +3107,10 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
ecc_point_get(&r, xx, yy);
mpz_sub(mm, mm, y);
- if (mpz_cmp(xx, x) != 0 || mpz_cmp(yy, mm) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ if (mpz_cmp(xx, x) != 0 ||
+ mpz_cmp(yy, mm) != 0) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_ILLEGAL_PARAMETER);
goto ecc_fail;
}
} else {
@@ -3312,7 +3125,7 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
ret = 0;
- ecc_fail:
+ ecc_fail:
mpz_clear(x);
mpz_clear(y);
mpz_clear(xx);
@@ -3348,16 +3161,15 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
curve = get_supported_gost_curve(level);
if (curve == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
goto cleanup;
}
me = hash_to_entry(_gnutls_gost_digest(algo));
if (!me || me->output_size * 8 != ecc_bit_size(curve)) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ ret = gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
goto cleanup;
}
@@ -3367,17 +3179,15 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
gostdsa_generate_keypair(&pub, &key, NULL,
rnd_key_func);
if (HAVE_LIB_ERROR()) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_LIB_IN_ERROR_STATE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_LIB_IN_ERROR_STATE);
goto ecc_fail;
}
- ret =
- _gnutls_mpi_init_multi(&params->params[GOST_X],
- &params->params[GOST_Y],
- &params->params[GOST_K],
- NULL);
+ ret = _gnutls_mpi_init_multi(&params->params[GOST_X],
+ &params->params[GOST_Y],
+ &params->params[GOST_K],
+ NULL);
if (ret < 0) {
gnutls_assert();
goto gost_fail;
@@ -3392,7 +3202,7 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
ret = 0;
- gost_fail:
+ gost_fail:
ecc_point_clear(&pub);
ecc_scalar_clear(&key);
@@ -3403,48 +3213,44 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
}
#endif
case GNUTLS_PK_ECDH_X25519:
- case GNUTLS_PK_ECDH_X448:
- {
- unsigned size = gnutls_ecc_curve_get_size(level);
+ case GNUTLS_PK_ECDH_X448: {
+ unsigned size = gnutls_ecc_curve_get_size(level);
- not_approved = true;
+ not_approved = true;
- if (size == 0) {
- ret =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- goto cleanup;
- }
-
- params->curve = level;
+ if (size == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ goto cleanup;
+ }
- params->raw_priv.data = gnutls_malloc(size);
- if (params->raw_priv.data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ params->curve = level;
- params->raw_pub.data = gnutls_malloc(size);
- if (params->raw_pub.data == NULL) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
+ params->raw_priv.data = gnutls_malloc(size);
+ if (params->raw_priv.data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- ret =
- gnutls_rnd(rnd_level, params->raw_priv.data, size);
- if (ret < 0) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto cleanup;
- }
- params->raw_pub.size = size;
- params->raw_priv.size = size;
+ params->raw_pub.data = gnutls_malloc(size);
+ if (params->raw_pub.data == NULL) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
+ }
- ret =
- edwards_curve_mul_g(algo, params->raw_pub.data,
- params->raw_priv.data);
- if (ret < 0)
- goto cleanup;
- break;
+ ret = gnutls_rnd(rnd_level, params->raw_priv.data, size);
+ if (ret < 0) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto cleanup;
}
+ params->raw_pub.size = size;
+ params->raw_priv.size = size;
+
+ ret = edwards_curve_mul_g(algo, params->raw_pub.data,
+ params->raw_priv.data);
+ if (ret < 0)
+ goto cleanup;
+ break;
+ }
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -3460,7 +3266,7 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
}
#endif
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
for (i = 0; i < params->params_nr; i++) {
@@ -3479,337 +3285,287 @@ wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,
return ret;
}
-static int
-wrap_nettle_pk_verify_priv_params(gnutls_pk_algorithm_t algo,
- const gnutls_pk_params_st * params)
+static int wrap_nettle_pk_verify_priv_params(gnutls_pk_algorithm_t algo,
+ const gnutls_pk_params_st *params)
{
int ret;
switch (algo) {
case GNUTLS_PK_RSA:
- case GNUTLS_PK_RSA_PSS:
- {
- bigint_t t1 = NULL, t2 = NULL;
-
- if (params->params_nr != RSA_PRIVATE_PARAMS)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
-
- ret = _gnutls_mpi_init_multi(&t1, &t2, NULL);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ case GNUTLS_PK_RSA_PSS: {
+ bigint_t t1 = NULL, t2 = NULL;
- _gnutls_mpi_mulm(t1, params->params[RSA_PRIME1],
- params->params[RSA_PRIME2],
- params->params[RSA_MODULUS]);
- if (_gnutls_mpi_cmp_ui(t1, 0) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto rsa_cleanup;
- }
+ if (params->params_nr != RSA_PRIVATE_PARAMS)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- mpz_invert(TOMPZ(t1),
- TOMPZ(params->params[RSA_PRIME2]),
- TOMPZ(params->params[RSA_PRIME1]));
- if (_gnutls_mpi_cmp(t1, params->params[RSA_COEF])
- != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto rsa_cleanup;
- }
+ ret = _gnutls_mpi_init_multi(&t1, &t2, NULL);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- /* [RSA_PRIME1] = d % p-1, [RSA_PRIME2] = d % q-1 */
- _gnutls_mpi_sub_ui(t1, params->params[RSA_PRIME1], 1);
- ret =
- _gnutls_mpi_modm(t2, params->params[RSA_PRIV], t1);
- if (ret < 0) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto rsa_cleanup;
- }
+ _gnutls_mpi_mulm(t1, params->params[RSA_PRIME1],
+ params->params[RSA_PRIME2],
+ params->params[RSA_MODULUS]);
+ if (_gnutls_mpi_cmp_ui(t1, 0) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto rsa_cleanup;
+ }
- if (_gnutls_mpi_cmp(params->params[RSA_E1], t2) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto rsa_cleanup;
- }
+ mpz_invert(TOMPZ(t1), TOMPZ(params->params[RSA_PRIME2]),
+ TOMPZ(params->params[RSA_PRIME1]));
+ if (_gnutls_mpi_cmp(t1, params->params[RSA_COEF]) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto rsa_cleanup;
+ }
- _gnutls_mpi_sub_ui(t1, params->params[RSA_PRIME2], 1);
+ /* [RSA_PRIME1] = d % p-1, [RSA_PRIME2] = d % q-1 */
+ _gnutls_mpi_sub_ui(t1, params->params[RSA_PRIME1], 1);
+ ret = _gnutls_mpi_modm(t2, params->params[RSA_PRIV], t1);
+ if (ret < 0) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto rsa_cleanup;
+ }
- ret =
- _gnutls_mpi_modm(t2, params->params[RSA_PRIV], t1);
- if (ret < 0) {
- ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- goto rsa_cleanup;
- }
+ if (_gnutls_mpi_cmp(params->params[RSA_E1], t2) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto rsa_cleanup;
+ }
- if (_gnutls_mpi_cmp(params->params[RSA_E2], t2) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto rsa_cleanup;
- }
+ _gnutls_mpi_sub_ui(t1, params->params[RSA_PRIME2], 1);
- ret = 0;
+ ret = _gnutls_mpi_modm(t2, params->params[RSA_PRIV], t1);
+ if (ret < 0) {
+ ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
+ goto rsa_cleanup;
+ }
- rsa_cleanup:
- zrelease_mpi_key(&t1);
- zrelease_mpi_key(&t2);
+ if (_gnutls_mpi_cmp(params->params[RSA_E2], t2) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto rsa_cleanup;
}
- break;
- case GNUTLS_PK_DSA:
- {
- bigint_t t1 = NULL;
+ ret = 0;
- if (params->params_nr != DSA_PRIVATE_PARAMS)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ rsa_cleanup:
+ zrelease_mpi_key(&t1);
+ zrelease_mpi_key(&t2);
+ }
- ret = _gnutls_mpi_init(&t1);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ break;
+ case GNUTLS_PK_DSA: {
+ bigint_t t1 = NULL;
- ret = _gnutls_mpi_powm(t1, params->params[DSA_G],
- params->params[DSA_X],
- params->params[DSA_P]);
- if (ret < 0) {
- gnutls_assert();
- goto dsa_cleanup;
- }
+ if (params->params_nr != DSA_PRIVATE_PARAMS)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if (_gnutls_mpi_cmp(t1, params->params[DSA_Y]) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto dsa_cleanup;
- }
+ ret = _gnutls_mpi_init(&t1);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ret = 0;
+ ret = _gnutls_mpi_powm(t1, params->params[DSA_G],
+ params->params[DSA_X],
+ params->params[DSA_P]);
+ if (ret < 0) {
+ gnutls_assert();
+ goto dsa_cleanup;
+ }
- dsa_cleanup:
- zrelease_mpi_key(&t1);
+ if (_gnutls_mpi_cmp(t1, params->params[DSA_Y]) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto dsa_cleanup;
}
- break;
- case GNUTLS_PK_ECDSA:
- {
- struct ecc_point r, pub;
- struct ecc_scalar priv;
- mpz_t x1, y1, x2, y2;
- const struct ecc_curve *curve;
+ ret = 0;
- if (params->params_nr != ECC_PRIVATE_PARAMS)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ dsa_cleanup:
+ zrelease_mpi_key(&t1);
+ }
- curve = get_supported_nist_curve(params->curve);
- if (curve == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ break;
+ case GNUTLS_PK_ECDSA: {
+ struct ecc_point r, pub;
+ struct ecc_scalar priv;
+ mpz_t x1, y1, x2, y2;
+ const struct ecc_curve *curve;
- ret = _ecc_params_to_pubkey(params, &pub, curve);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ if (params->params_nr != ECC_PRIVATE_PARAMS)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret = _ecc_params_to_privkey(params, &priv, curve);
- if (ret < 0) {
- ecc_point_clear(&pub);
- return gnutls_assert_val(ret);
- }
+ curve = get_supported_nist_curve(params->curve);
+ if (curve == NULL)
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- ecc_point_init(&r, curve);
- /* verify that x,y lie on the curve */
- ret =
- ecc_point_set(&r, TOMPZ(params->params[ECC_X]),
- TOMPZ(params->params[ECC_Y]));
- if (ret == 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto ecc_cleanup;
- }
- ecc_point_clear(&r);
+ ret = _ecc_params_to_pubkey(params, &pub, curve);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ecc_point_init(&r, curve);
- ecc_point_mul_g(&r, &priv);
-
- mpz_init(x1);
- mpz_init(y1);
- ecc_point_get(&r, x1, y1);
- ecc_point_zclear(&r);
-
- mpz_init(x2);
- mpz_init(y2);
- ecc_point_get(&pub, x2, y2);
-
- /* verify that k*(Gx,Gy)=(x,y) */
- if (mpz_cmp(x1, x2) != 0 || mpz_cmp(y1, y2) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto ecc_cleanup;
- }
+ ret = _ecc_params_to_privkey(params, &priv, curve);
+ if (ret < 0) {
+ ecc_point_clear(&pub);
+ return gnutls_assert_val(ret);
+ }
- ret = 0;
+ ecc_point_init(&r, curve);
+ /* verify that x,y lie on the curve */
+ ret = ecc_point_set(&r, TOMPZ(params->params[ECC_X]),
+ TOMPZ(params->params[ECC_Y]));
+ if (ret == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto ecc_cleanup;
+ }
+ ecc_point_clear(&r);
- ecc_cleanup:
- ecc_scalar_zclear(&priv);
- ecc_point_clear(&pub);
+ ecc_point_init(&r, curve);
+ ecc_point_mul_g(&r, &priv);
+
+ mpz_init(x1);
+ mpz_init(y1);
+ ecc_point_get(&r, x1, y1);
+ ecc_point_zclear(&r);
- mpz_clear(x1);
- mpz_clear(y1);
- mpz_clear(x2);
- mpz_clear(y2);
+ mpz_init(x2);
+ mpz_init(y2);
+ ecc_point_get(&pub, x2, y2);
+
+ /* verify that k*(Gx,Gy)=(x,y) */
+ if (mpz_cmp(x1, x2) != 0 || mpz_cmp(y1, y2) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto ecc_cleanup;
}
- break;
- case GNUTLS_PK_EDDSA_ED25519:
- case GNUTLS_PK_EDDSA_ED448:{
- gnutls_ecc_curve_t curve;
- const gnutls_ecc_curve_entry_st *e;
- uint8_t pub[57]; /* can accommodate both curves */
-
- curve = get_eddsa_curve(algo);
- e = _gnutls_ecc_curve_get_params(curve);
- if (e == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
-
- if (params->raw_pub.data == NULL) {
- return 0; /* nothing to verify */
- }
- if (params->raw_pub.size != e->size)
- return
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ ret = 0;
- ret =
- eddsa_public_key(algo, pub, params->raw_priv.data);
- if (ret < 0)
- return ret;
+ ecc_cleanup:
+ ecc_scalar_zclear(&priv);
+ ecc_point_clear(&pub);
- if (memcmp(params->raw_pub.data, pub, e->size) != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ mpz_clear(x1);
+ mpz_clear(y1);
+ mpz_clear(x2);
+ mpz_clear(y2);
+ } break;
+ case GNUTLS_PK_EDDSA_ED25519:
+ case GNUTLS_PK_EDDSA_ED448: {
+ gnutls_ecc_curve_t curve;
+ const gnutls_ecc_curve_entry_st *e;
+ uint8_t pub[57]; /* can accommodate both curves */
+
+ curve = get_eddsa_curve(algo);
+ e = _gnutls_ecc_curve_get_params(curve);
+ if (e == NULL)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret = 0;
- break;
+ if (params->raw_pub.data == NULL) {
+ return 0; /* nothing to verify */
}
- case GNUTLS_PK_ECDH_X25519:
- case GNUTLS_PK_ECDH_X448:{
- gnutls_ecc_curve_t curve;
- const gnutls_ecc_curve_entry_st *e;
- uint8_t pub[57]; /* can accommodate both curves */
-
- curve = get_ecdh_curve(algo);
- e = _gnutls_ecc_curve_get_params(curve);
- if (e == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
-
- if (params->raw_pub.data == NULL) {
- return 0; /* nothing to verify */
- }
- if (params->raw_pub.size != e->size)
- return
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ if (params->raw_pub.size != e->size)
+ return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
- ret =
- edwards_curve_mul_g(algo, pub,
- params->raw_priv.data);
- if (ret < 0)
- return ret;
+ ret = eddsa_public_key(algo, pub, params->raw_priv.data);
+ if (ret < 0)
+ return ret;
- if (memcmp(params->raw_pub.data, pub, e->size) != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
+ if (memcmp(params->raw_pub.data, pub, e->size) != 0)
+ return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
- ret = 0;
- break;
+ ret = 0;
+ break;
+ }
+ case GNUTLS_PK_ECDH_X25519:
+ case GNUTLS_PK_ECDH_X448: {
+ gnutls_ecc_curve_t curve;
+ const gnutls_ecc_curve_entry_st *e;
+ uint8_t pub[57]; /* can accommodate both curves */
+
+ curve = get_ecdh_curve(algo);
+ e = _gnutls_ecc_curve_get_params(curve);
+ if (e == NULL)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+
+ if (params->raw_pub.data == NULL) {
+ return 0; /* nothing to verify */
}
+
+ if (params->raw_pub.size != e->size)
+ return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+
+ ret = edwards_curve_mul_g(algo, pub, params->raw_priv.data);
+ if (ret < 0)
+ return ret;
+
+ if (memcmp(params->raw_pub.data, pub, e->size) != 0)
+ return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+
+ ret = 0;
+ break;
+ }
#if ENABLE_GOST
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
- case GNUTLS_PK_GOST_12_512:
- {
- struct ecc_point r, pub;
- struct ecc_scalar priv;
- mpz_t x1, y1, x2, y2;
- const struct ecc_curve *curve;
+ case GNUTLS_PK_GOST_12_512: {
+ struct ecc_point r, pub;
+ struct ecc_scalar priv;
+ mpz_t x1, y1, x2, y2;
+ const struct ecc_curve *curve;
- if (params->params_nr != GOST_PRIVATE_PARAMS)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ if (params->params_nr != GOST_PRIVATE_PARAMS)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- curve = get_supported_gost_curve(params->curve);
- if (curve == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ curve = get_supported_gost_curve(params->curve);
+ if (curve == NULL)
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- ret = _gost_params_to_pubkey(params, &pub, curve);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ ret = _gost_params_to_pubkey(params, &pub, curve);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ret = _gost_params_to_privkey(params, &priv, curve);
- if (ret < 0) {
- ecc_point_clear(&pub);
- return gnutls_assert_val(ret);
- }
+ ret = _gost_params_to_privkey(params, &priv, curve);
+ if (ret < 0) {
+ ecc_point_clear(&pub);
+ return gnutls_assert_val(ret);
+ }
- ecc_point_init(&r, curve);
- /* verify that x,y lie on the curve */
- ret =
- gost_point_set(&r, TOMPZ(params->params[GOST_X]),
- TOMPZ(params->params[GOST_Y]));
- if (ret == 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto gost_cleanup;
- }
- ecc_point_clear(&r);
+ ecc_point_init(&r, curve);
+ /* verify that x,y lie on the curve */
+ ret = gost_point_set(&r, TOMPZ(params->params[GOST_X]),
+ TOMPZ(params->params[GOST_Y]));
+ if (ret == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto gost_cleanup;
+ }
+ ecc_point_clear(&r);
- ecc_point_init(&r, curve);
- gost_point_mul_g(&r, &priv);
-
- mpz_init(x1);
- mpz_init(y1);
- ecc_point_get(&r, x1, y1);
- ecc_point_zclear(&r);
-
- mpz_init(x2);
- mpz_init(y2);
- ecc_point_get(&pub, x2, y2);
-
- /* verify that k*(Gx,Gy)=(x,y) */
- if (mpz_cmp(x1, x2) != 0 || mpz_cmp(y1, y2) != 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto gost_cleanup;
- }
+ ecc_point_init(&r, curve);
+ gost_point_mul_g(&r, &priv);
- ret = 0;
+ mpz_init(x1);
+ mpz_init(y1);
+ ecc_point_get(&r, x1, y1);
+ ecc_point_zclear(&r);
- gost_cleanup:
- ecc_scalar_zclear(&priv);
- ecc_point_clear(&pub);
+ mpz_init(x2);
+ mpz_init(y2);
+ ecc_point_get(&pub, x2, y2);
- mpz_clear(x1);
- mpz_clear(y1);
- mpz_clear(x2);
- mpz_clear(y2);
+ /* verify that k*(Gx,Gy)=(x,y) */
+ if (mpz_cmp(x1, x2) != 0 || mpz_cmp(y1, y2) != 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto gost_cleanup;
}
- break;
+
+ ret = 0;
+
+ gost_cleanup:
+ ecc_scalar_zclear(&priv);
+ ecc_point_clear(&pub);
+
+ mpz_clear(x1);
+ mpz_clear(y1);
+ mpz_clear(x2);
+ mpz_clear(y2);
+ } break;
#endif
default:
ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -3818,9 +3574,8 @@ wrap_nettle_pk_verify_priv_params(gnutls_pk_algorithm_t algo,
return ret;
}
-static int
-wrap_nettle_pk_verify_pub_params(gnutls_pk_algorithm_t algo,
- const gnutls_pk_params_st * params)
+static int wrap_nettle_pk_verify_pub_params(gnutls_pk_algorithm_t algo,
+ const gnutls_pk_params_st *params)
{
int ret;
@@ -3831,87 +3586,73 @@ wrap_nettle_pk_verify_pub_params(gnutls_pk_algorithm_t algo,
case GNUTLS_PK_EDDSA_ED25519:
case GNUTLS_PK_EDDSA_ED448:
return 0;
- case GNUTLS_PK_ECDSA:
- {
- /* just verify that x and y lie on the curve */
- struct ecc_point r, pub;
- const struct ecc_curve *curve;
+ case GNUTLS_PK_ECDSA: {
+ /* just verify that x and y lie on the curve */
+ struct ecc_point r, pub;
+ const struct ecc_curve *curve;
- if (params->params_nr != ECC_PUBLIC_PARAMS)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ if (params->params_nr != ECC_PUBLIC_PARAMS)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- curve = get_supported_nist_curve(params->curve);
- if (curve == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ curve = get_supported_nist_curve(params->curve);
+ if (curve == NULL)
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- ret = _ecc_params_to_pubkey(params, &pub, curve);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ ret = _ecc_params_to_pubkey(params, &pub, curve);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ecc_point_init(&r, curve);
- /* verify that x,y lie on the curve */
- ret =
- ecc_point_set(&r, TOMPZ(params->params[ECC_X]),
- TOMPZ(params->params[ECC_Y]));
- if (ret == 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto ecc_cleanup;
- }
- ecc_point_clear(&r);
+ ecc_point_init(&r, curve);
+ /* verify that x,y lie on the curve */
+ ret = ecc_point_set(&r, TOMPZ(params->params[ECC_X]),
+ TOMPZ(params->params[ECC_Y]));
+ if (ret == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto ecc_cleanup;
+ }
+ ecc_point_clear(&r);
- ret = 0;
+ ret = 0;
- ecc_cleanup:
- ecc_point_clear(&pub);
- }
- break;
+ ecc_cleanup:
+ ecc_point_clear(&pub);
+ } break;
#if ENABLE_GOST
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
- case GNUTLS_PK_GOST_12_512:
- {
- /* just verify that x and y lie on the curve */
- struct ecc_point r, pub;
- const struct ecc_curve *curve;
+ case GNUTLS_PK_GOST_12_512: {
+ /* just verify that x and y lie on the curve */
+ struct ecc_point r, pub;
+ const struct ecc_curve *curve;
- if (params->params_nr != GOST_PUBLIC_PARAMS)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ if (params->params_nr != GOST_PUBLIC_PARAMS)
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- curve = get_supported_gost_curve(params->curve);
- if (curve == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ curve = get_supported_gost_curve(params->curve);
+ if (curve == NULL)
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- ret = _gost_params_to_pubkey(params, &pub, curve);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ ret = _gost_params_to_pubkey(params, &pub, curve);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ecc_point_init(&r, curve);
- /* verify that x,y lie on the curve */
- ret =
- ecc_point_set(&r, TOMPZ(params->params[GOST_X]),
- TOMPZ(params->params[GOST_Y]));
- if (ret == 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_ILLEGAL_PARAMETER);
- goto gost_cleanup;
- }
- ecc_point_clear(&r);
+ ecc_point_init(&r, curve);
+ /* verify that x,y lie on the curve */
+ ret = ecc_point_set(&r, TOMPZ(params->params[GOST_X]),
+ TOMPZ(params->params[GOST_Y]));
+ if (ret == 0) {
+ ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
+ goto gost_cleanup;
+ }
+ ecc_point_clear(&r);
- ret = 0;
+ ret = 0;
- gost_cleanup:
- ecc_point_clear(&pub);
- }
- break;
+ gost_cleanup:
+ ecc_point_clear(&pub);
+ } break;
#endif
default:
ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -3920,7 +3661,7 @@ wrap_nettle_pk_verify_pub_params(gnutls_pk_algorithm_t algo,
return ret;
}
-static int calc_rsa_exp(gnutls_pk_params_st * params)
+static int calc_rsa_exp(gnutls_pk_params_st *params)
{
bigint_t tmp;
int ret;
@@ -3932,24 +3673,21 @@ static int calc_rsa_exp(gnutls_pk_params_st * params)
params->params[RSA_E1] = params->params[RSA_E2] = NULL;
- ret =
- _gnutls_mpi_init_multi(&tmp, &params->params[RSA_E1],
- &params->params[RSA_E2], NULL);
+ ret = _gnutls_mpi_init_multi(&tmp, &params->params[RSA_E1],
+ &params->params[RSA_E2], NULL);
if (ret < 0)
return gnutls_assert_val(ret);
/* [6] = d % p-1, [7] = d % q-1 */
_gnutls_mpi_sub_ui(tmp, params->params[RSA_PRIME1], 1);
- ret =
- _gnutls_mpi_modm(params->params[RSA_E1],
- params->params[RSA_PRIV] /*d */ , tmp);
+ ret = _gnutls_mpi_modm(params->params[RSA_E1],
+ params->params[RSA_PRIV] /*d */, tmp);
if (ret < 0)
goto fail;
_gnutls_mpi_sub_ui(tmp, params->params[RSA_PRIME2], 1);
- ret =
- _gnutls_mpi_modm(params->params[RSA_E2],
- params->params[RSA_PRIV] /*d */ , tmp);
+ ret = _gnutls_mpi_modm(params->params[RSA_E2],
+ params->params[RSA_PRIV] /*d */, tmp);
if (ret < 0)
goto fail;
@@ -3957,7 +3695,7 @@ static int calc_rsa_exp(gnutls_pk_params_st * params)
return 0;
- fail:
+fail:
zrelease_mpi_key(&tmp);
zrelease_mpi_key(&params->params[RSA_E1]);
zrelease_mpi_key(&params->params[RSA_E2]);
@@ -3965,16 +3703,15 @@ static int calc_rsa_exp(gnutls_pk_params_st * params)
return ret;
}
-static int calc_rsa_priv(gnutls_pk_params_st * params)
+static int calc_rsa_priv(gnutls_pk_params_st *params)
{
bigint_t lcm, p1, q1;
int ret;
params->params[RSA_PRIV] = NULL;
- ret =
- _gnutls_mpi_init_multi(&params->params[RSA_PRIV], &lcm, &p1, &q1,
- NULL);
+ ret = _gnutls_mpi_init_multi(&params->params[RSA_PRIV], &lcm, &p1, &q1,
+ NULL);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -3987,8 +3724,8 @@ static int calc_rsa_priv(gnutls_pk_params_st * params)
zrelease_mpi_key(&q1);
/* d = e^{-1} (mod lcm) */
- ret =
- mpz_invert(params->params[RSA_PRIV], params->params[RSA_PUB], lcm);
+ ret = mpz_invert(params->params[RSA_PRIV], params->params[RSA_PUB],
+ lcm);
zrelease_mpi_key(&lcm);
@@ -4000,7 +3737,7 @@ static int calc_rsa_priv(gnutls_pk_params_st * params)
return 0;
}
-static int calc_dsa_pub(gnutls_pk_params_st * params)
+static int calc_dsa_pub(gnutls_pk_params_st *params)
{
int ret;
@@ -4021,9 +3758,9 @@ static int calc_dsa_pub(gnutls_pk_params_st * params)
return 0;
}
-static int
-wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
- gnutls_direction_t direction, gnutls_pk_params_st * params)
+static int wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
+ gnutls_direction_t direction,
+ gnutls_pk_params_st *params)
{
int ret;
@@ -4083,22 +3820,21 @@ wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
} else if (algo == GNUTLS_PK_EDDSA_ED25519 ||
algo == GNUTLS_PK_EDDSA_ED448) {
if (unlikely(get_eddsa_curve(algo) != params->curve))
- return
- gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
if (params->raw_priv.data == NULL)
return gnutls_assert_val(GNUTLS_E_PK_INVALID_PRIVKEY);
if (params->raw_pub.data == NULL) {
params->raw_pub.data =
- gnutls_malloc(params->raw_priv.size);
+ gnutls_malloc(params->raw_priv.size);
}
if (params->raw_pub.data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret = eddsa_public_key(algo,
- params->raw_pub.data,
+ ret = eddsa_public_key(algo, params->raw_pub.data,
params->raw_priv.data);
if (ret < 0) {
gnutls_free(params->raw_pub.data);
@@ -4106,24 +3842,24 @@ wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
}
params->raw_pub.size = params->raw_priv.size;
- } else if (algo == GNUTLS_PK_ECDH_X25519 || algo == GNUTLS_PK_ECDH_X448) {
+ } else if (algo == GNUTLS_PK_ECDH_X25519 ||
+ algo == GNUTLS_PK_ECDH_X448) {
if (unlikely(get_ecdh_curve(algo) != params->curve))
- return
- gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
if (params->raw_priv.data == NULL)
return gnutls_assert_val(GNUTLS_E_PK_INVALID_PRIVKEY);
if (params->raw_pub.data == NULL) {
params->raw_pub.data =
- gnutls_malloc(params->raw_priv.size);
+ gnutls_malloc(params->raw_priv.size);
}
if (params->raw_pub.data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret = edwards_curve_mul_g(algo,
- params->raw_pub.data,
+ ret = edwards_curve_mul_g(algo, params->raw_pub.data,
params->raw_priv.data);
if (ret < 0) {
gnutls_free(params->raw_pub.data);
@@ -4136,16 +3872,13 @@ wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
return gnutls_assert_val(GNUTLS_E_PK_INVALID_PRIVKEY);
if (params->spki.rsa_pss_dig != 0) {
- unsigned pub_size =
- nettle_mpz_sizeinbase_256_u(TOMPZ
- (params->params
- [RSA_MODULUS]));
+ unsigned pub_size = nettle_mpz_sizeinbase_256_u(
+ TOMPZ(params->params[RSA_MODULUS]));
/* sanity check for private key */
- CHECK_INVALID_RSA_PSS_PARAMS(gnutls_hash_get_len
- (params->spki.rsa_pss_dig),
- params->spki.salt_size,
- pub_size,
- GNUTLS_E_PK_INVALID_PUBKEY_PARAMS);
+ CHECK_INVALID_RSA_PSS_PARAMS(
+ gnutls_hash_get_len(params->spki.rsa_pss_dig),
+ params->spki.salt_size, pub_size,
+ GNUTLS_E_PK_INVALID_PUBKEY_PARAMS);
}
} else if (algo == GNUTLS_PK_DSA) {
if (params->params[DSA_Y] == NULL) {
@@ -4156,8 +3889,7 @@ wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
}
}
#if ENABLE_GOST
- else if (algo == GNUTLS_PK_GOST_01 ||
- algo == GNUTLS_PK_GOST_12_256 ||
+ else if (algo == GNUTLS_PK_GOST_01 || algo == GNUTLS_PK_GOST_12_256 ||
algo == GNUTLS_PK_GOST_12_512) {
struct ecc_point r;
struct ecc_scalar priv;
@@ -4168,8 +3900,8 @@ wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
curve = get_supported_gost_curve(params->curve);
if (curve == NULL)
- return gnutls_assert_val
- (GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ return gnutls_assert_val(
+ GNUTLS_E_ECC_UNSUPPORTED_CURVE);
if (ecc_bit_size(curve) <
_gnutls_mpi_get_nbits(params->params[GOST_K]))
diff --git a/lib/nettle/prf.c b/lib/nettle/prf.c
index 02c5eae7a5..1d0a3ea797 100644
--- a/lib/nettle/prf.c
+++ b/lib/nettle/prf.c
@@ -24,7 +24,7 @@
#include "int/tls1-prf.h"
#include <nettle/hmac.h>
#if ENABLE_GOST
-# include "gost/hmac-gost.h"
+#include "gost/hmac-gost.h"
#endif
/*-
@@ -44,95 +44,83 @@
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
-*/
-int
-_gnutls_prf_raw(gnutls_mac_algorithm_t mac,
- size_t master_size, const void *master,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t outsize,
- char *out)
+int _gnutls_prf_raw(gnutls_mac_algorithm_t mac, size_t master_size,
+ const void *master, size_t label_size, const char *label,
+ size_t seed_size, const uint8_t *seed, size_t outsize,
+ char *out)
{
int ret;
switch (mac) {
case GNUTLS_MAC_MD5_SHA1:
- tls10_prf(master_size, (uint8_t *) master, label_size, label,
- seed_size, seed, outsize, (uint8_t *) out);
+ tls10_prf(master_size, (uint8_t *)master, label_size, label,
+ seed_size, seed, outsize, (uint8_t *)out);
return 0;
- case GNUTLS_MAC_SHA256:{
- struct hmac_sha256_ctx ctx;
- hmac_sha256_set_key(&ctx, master_size,
- (uint8_t *) master);
+ case GNUTLS_MAC_SHA256: {
+ struct hmac_sha256_ctx ctx;
+ hmac_sha256_set_key(&ctx, master_size, (uint8_t *)master);
- ret = tls12_prf(&ctx, (nettle_hash_update_func *)
- hmac_sha256_update,
- (nettle_hash_digest_func *)
- hmac_sha256_digest, SHA256_DIGEST_SIZE,
- label_size, label, seed_size,
- seed, outsize, (uint8_t *) out);
+ ret = tls12_prf(&ctx,
+ (nettle_hash_update_func *)hmac_sha256_update,
+ (nettle_hash_digest_func *)hmac_sha256_digest,
+ SHA256_DIGEST_SIZE, label_size, label,
+ seed_size, seed, outsize, (uint8_t *)out);
- if (unlikely(ret != 1))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- break;
- }
- case GNUTLS_MAC_SHA384:{
- struct hmac_sha384_ctx ctx;
- hmac_sha384_set_key(&ctx, master_size, master);
+ if (unlikely(ret != 1))
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ break;
+ }
+ case GNUTLS_MAC_SHA384: {
+ struct hmac_sha384_ctx ctx;
+ hmac_sha384_set_key(&ctx, master_size, master);
- ret = tls12_prf(&ctx, (nettle_hash_update_func *)
- hmac_sha384_update,
- (nettle_hash_digest_func *)
- hmac_sha384_digest, SHA384_DIGEST_SIZE,
- label_size, label, seed_size,
- seed, outsize, (uint8_t *) out);
+ ret = tls12_prf(&ctx,
+ (nettle_hash_update_func *)hmac_sha384_update,
+ (nettle_hash_digest_func *)hmac_sha384_digest,
+ SHA384_DIGEST_SIZE, label_size, label,
+ seed_size, seed, outsize, (uint8_t *)out);
- if (unlikely(ret != 1))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- break;
- }
+ if (unlikely(ret != 1))
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ break;
+ }
#if ENABLE_GOST
- case GNUTLS_MAC_STREEBOG_256:{
- struct hmac_streebog256_ctx ctx;
- hmac_streebog256_set_key(&ctx, master_size, master);
+ case GNUTLS_MAC_STREEBOG_256: {
+ struct hmac_streebog256_ctx ctx;
+ hmac_streebog256_set_key(&ctx, master_size, master);
- ret = tls12_prf(&ctx, (nettle_hash_update_func *)
- hmac_streebog256_update,
- (nettle_hash_digest_func *)
- hmac_streebog256_digest,
- STREEBOG256_DIGEST_SIZE, label_size,
- label, seed_size, seed, outsize,
- (uint8_t *) out);
+ ret = tls12_prf(
+ &ctx,
+ (nettle_hash_update_func *)hmac_streebog256_update,
+ (nettle_hash_digest_func *)hmac_streebog256_digest,
+ STREEBOG256_DIGEST_SIZE, label_size, label, seed_size,
+ seed, outsize, (uint8_t *)out);
- if (unlikely(ret != 1))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- break;
- }
- case GNUTLS_MAC_STREEBOG_512:{
- struct hmac_streebog512_ctx ctx;
- hmac_streebog512_set_key(&ctx, master_size, master);
+ if (unlikely(ret != 1))
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ break;
+ }
+ case GNUTLS_MAC_STREEBOG_512: {
+ struct hmac_streebog512_ctx ctx;
+ hmac_streebog512_set_key(&ctx, master_size, master);
- ret = tls12_prf(&ctx, (nettle_hash_update_func *)
- hmac_streebog512_update,
- (nettle_hash_digest_func *)
- hmac_streebog512_digest,
- STREEBOG512_DIGEST_SIZE, label_size,
- label, seed_size, seed, outsize,
- (uint8_t *) out);
+ ret = tls12_prf(
+ &ctx,
+ (nettle_hash_update_func *)hmac_streebog512_update,
+ (nettle_hash_digest_func *)hmac_streebog512_digest,
+ STREEBOG512_DIGEST_SIZE, label_size, label, seed_size,
+ seed, outsize, (uint8_t *)out);
- if (unlikely(ret != 1))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- break;
- }
+ if (unlikely(ret != 1))
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ break;
+ }
#endif
default:
gnutls_assert();
_gnutls_debug_log("unhandled PRF %s\n",
gnutls_mac_get_name(mac));
return GNUTLS_E_INVALID_REQUEST;
-
}
return 0;
diff --git a/lib/nettle/rnd-common.h b/lib/nettle/rnd-common.h
index 32c63700ae..e744e31945 100644
--- a/lib/nettle/rnd-common.h
+++ b/lib/nettle/rnd-common.h
@@ -22,17 +22,17 @@
*/
#ifndef GNUTLS_LIB_NETTLE_RND_COMMON_H
-# define GNUTLS_LIB_NETTLE_RND_COMMON_H
+#define GNUTLS_LIB_NETTLE_RND_COMMON_H
-# include "gnutls_int.h"
-# ifdef HAVE_GETPID
-# include <unistd.h> /* getpid */
-# endif
-# ifdef HAVE_GETRUSAGE
-# include <sys/resource.h>
-# endif
+#include "gnutls_int.h"
+#ifdef HAVE_GETPID
+#include <unistd.h> /* getpid */
+#endif
+#ifdef HAVE_GETRUSAGE
+#include <sys/resource.h>
+#endif
-# include <fips.h>
+#include <fips.h>
int _rnd_system_entropy_init(void);
void _rnd_system_entropy_deinit(void);
@@ -41,4 +41,4 @@ typedef int (*get_entropy_func)(void *rnd, size_t size);
extern get_entropy_func _rnd_get_system_entropy;
-#endif /* GNUTLS_LIB_NETTLE_RND_COMMON_H */
+#endif /* GNUTLS_LIB_NETTLE_RND_COMMON_H */
diff --git a/lib/nettle/rnd-fips.c b/lib/nettle/rnd-fips.c
index 591911e3b3..199de721be 100644
--- a/lib/nettle/rnd-fips.c
+++ b/lib/nettle/rnd-fips.c
@@ -48,7 +48,7 @@ struct fips_ctx {
static int _rngfips_ctx_reinit(struct fips_ctx *fctx);
static int _rngfips_ctx_init(struct fips_ctx *fctx);
static int drbg_reseed(struct fips_ctx *fctx, struct drbg_aes_ctx *ctx);
-static int get_entropy(struct fips_ctx *fctx, uint8_t * buffer, size_t length);
+static int get_entropy(struct fips_ctx *fctx, uint8_t *buffer, size_t length);
static int get_random(struct drbg_aes_ctx *ctx, struct fips_ctx *fctx,
void *buffer, size_t length)
@@ -81,7 +81,7 @@ static int get_random(struct drbg_aes_ctx *ctx, struct fips_ctx *fctx,
return 0;
}
-static int get_entropy(struct fips_ctx *fctx, uint8_t * buffer, size_t length)
+static int get_entropy(struct fips_ctx *fctx, uint8_t *buffer, size_t length)
{
int ret;
uint8_t block[ENTROPY_BLOCK_SIZE];
@@ -123,7 +123,7 @@ static int get_entropy(struct fips_ctx *fctx, uint8_t * buffer, size_t length)
}
#define PSTRING "gnutls-rng"
-#define PSTRING_SIZE (sizeof(PSTRING)-1)
+#define PSTRING_SIZE (sizeof(PSTRING) - 1)
static int drbg_init(struct fips_ctx *fctx, struct drbg_aes_ctx *ctx)
{
uint8_t buffer[DRBG_AES_SEED_SIZE];
@@ -135,8 +135,8 @@ static int drbg_init(struct fips_ctx *fctx, struct drbg_aes_ctx *ctx)
return gnutls_assert_val(ret);
}
- ret = drbg_aes_init(ctx, sizeof(buffer), buffer,
- PSTRING_SIZE, (void *)PSTRING);
+ ret = drbg_aes_init(ctx, sizeof(buffer), buffer, PSTRING_SIZE,
+ (void *)PSTRING);
zeroize_key(buffer, sizeof(buffer));
if (ret == 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
@@ -228,7 +228,7 @@ static int _rngfips_ctx_reinit(struct fips_ctx *fctx)
/* Initialize this random subsystem. */
static int _rngfips_init(void **_ctx)
{
-/* Basic initialization is required to
+ /* Basic initialization is required to
do a few checks on the implementation. */
struct fips_ctx *ctx;
int ret;
diff --git a/lib/nettle/rnd-fuzzer.c b/lib/nettle/rnd-fuzzer.c
index 687ab9faa5..99df435358 100644
--- a/lib/nettle/rnd-fuzzer.c
+++ b/lib/nettle/rnd-fuzzer.c
@@ -36,17 +36,17 @@
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
struct r48_rand_data {
- unsigned short int __x[3]; /* Current state. */
- unsigned short int __old_x[3]; /* Old state. */
- unsigned short int __c; /* Additive const. in congruential formula. */
- unsigned short int __init; /* Flag for initializing. */
- __extension__ unsigned long long int __a; /* Factor in congruential
+ unsigned short int __x[3]; /* Current state. */
+ unsigned short int __old_x[3]; /* Old state. */
+ unsigned short int __c; /* Additive const. in congruential formula. */
+ unsigned short int __init; /* Flag for initializing. */
+ __extension__ unsigned long long int __a; /* Factor in congruential
formula. */
};
-# ifdef __clang__
+#ifdef __clang__
__attribute__((no_sanitize("integer")))
-# endif
+#endif
static int
__r48_rand_iterate(unsigned short int xsubi[3], struct r48_rand_data *buffer)
{
@@ -64,7 +64,7 @@ __r48_rand_iterate(unsigned short int xsubi[3], struct r48_rand_data *buffer)
48 bits. Because we compute the modulus it does not care how
many bits really are computed. */
- X = (uint64_t) xsubi[2] << 32 | (uint32_t) xsubi[1] << 16 | xsubi[0];
+ X = (uint64_t)xsubi[2] << 32 | (uint32_t)xsubi[1] << 16 | xsubi[0];
result = X * buffer->__a + buffer->__c;
@@ -75,11 +75,11 @@ __r48_rand_iterate(unsigned short int xsubi[3], struct r48_rand_data *buffer)
return 0;
}
-# ifdef __clang__
+#ifdef __clang__
__attribute__((no_sanitize("integer")))
-# elif defined __GNUC__
+#elif defined __GNUC__
__attribute__((no_sanitize("shift-base")))
-# endif
+#endif
static int
r48_r(unsigned short int xsubi[3], struct r48_rand_data *buffer,
long int *result)
@@ -89,7 +89,7 @@ r48_r(unsigned short int xsubi[3], struct r48_rand_data *buffer,
return -1;
/* Store the result. */
- *result = (int32_t) ((xsubi[2] << 16) | xsubi[1]);
+ *result = (int32_t)((xsubi[2] << 16) | xsubi[1]);
return 0;
}
@@ -147,4 +147,4 @@ gnutls_crypto_rnd_st _gnutls_fuzz_rnd_ops = {
.self_test = NULL,
};
-#endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
+#endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
diff --git a/lib/nettle/rnd.c b/lib/nettle/rnd.c
index a7fe09db75..a24f8a9d6d 100644
--- a/lib/nettle/rnd.c
+++ b/lib/nettle/rnd.c
@@ -49,15 +49,20 @@
/* after this number of bytes PRNG will rekey using the system RNG */
static const unsigned prng_reseed_limits[] = {
- [GNUTLS_RND_NONCE] = 16 * 1024 * 1024, /* 16 MB - we re-seed using the GNUTLS_RND_RANDOM output */
- [GNUTLS_RND_RANDOM] = 2 * 1024 * 1024, /* 2MB - we re-seed by time as well */
- [GNUTLS_RND_KEY] = 2 * 1024 * 1024 /* same as GNUTLS_RND_RANDOM - but we re-key on every operation */
+ [GNUTLS_RND_NONCE] =
+ 16 * 1024 *
+ 1024, /* 16 MB - we re-seed using the GNUTLS_RND_RANDOM output */
+ [GNUTLS_RND_RANDOM] =
+ 2 * 1024 * 1024, /* 2MB - we re-seed by time as well */
+ [GNUTLS_RND_KEY] =
+ 2 * 1024 *
+ 1024 /* same as GNUTLS_RND_RANDOM - but we re-key on every operation */
};
static const time_t prng_reseed_time[] = {
- [GNUTLS_RND_NONCE] = 14400, /* 4 hours */
- [GNUTLS_RND_RANDOM] = 7200, /* 2 hours */
- [GNUTLS_RND_KEY] = 7200 /* same as RANDOM */
+ [GNUTLS_RND_NONCE] = 14400, /* 4 hours */
+ [GNUTLS_RND_RANDOM] = 7200, /* 2 hours */
+ [GNUTLS_RND_KEY] = 7200 /* same as RANDOM */
};
struct prng_ctx_st {
@@ -68,8 +73,8 @@ struct prng_ctx_st {
};
struct generators_ctx_st {
- struct prng_ctx_st nonce; /* GNUTLS_RND_NONCE */
- struct prng_ctx_st normal; /* GNUTLS_RND_RANDOM, GNUTLS_RND_KEY */
+ struct prng_ctx_st nonce; /* GNUTLS_RND_NONCE */
+ struct prng_ctx_st normal; /* GNUTLS_RND_RANDOM, GNUTLS_RND_KEY */
};
static void wrap_nettle_rnd_deinit(void *_ctx)
@@ -90,7 +95,7 @@ static int single_prng_init(struct prng_ctx_st *ctx,
{
uint8_t nonce[CHACHA_NONCE_SIZE];
- memset(nonce, 0, sizeof(nonce)); /* to prevent valgrind from whinning */
+ memset(nonce, 0, sizeof(nonce)); /* to prevent valgrind from whinning */
if (init == 0) {
/* use the previous key to generate IV as well */
@@ -100,7 +105,7 @@ static int single_prng_init(struct prng_ctx_st *ctx,
* from the old key */
chacha_crypt(&ctx->ctx, new_key_size, new_key, new_key);
} else {
- struct timespec now; /* current time */
+ struct timespec now; /* current time */
ctx->forkid = _gnutls_get_forkid();
@@ -145,9 +150,8 @@ static int wrap_nettle_rnd_init(void **_ctx)
}
/* initialize the random/key RNG */
- ret =
- single_prng_init(&ctx->normal, new_key + PRNG_KEY_SIZE,
- PRNG_KEY_SIZE, 1);
+ ret = single_prng_init(&ctx->normal, new_key + PRNG_KEY_SIZE,
+ PRNG_KEY_SIZE, 1);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -156,7 +160,7 @@ static int wrap_nettle_rnd_init(void **_ctx)
*_ctx = ctx;
return 0;
- fail:
+fail:
gnutls_free(ctx);
return ret;
}
@@ -198,11 +202,9 @@ static int wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
if (reseed != 0 || prng_ctx->counter > prng_reseed_limits[level]) {
if (level == GNUTLS_RND_NONCE) {
- ret =
- wrap_nettle_rnd(_ctx, GNUTLS_RND_RANDOM, new_key,
- sizeof(new_key));
+ ret = wrap_nettle_rnd(_ctx, GNUTLS_RND_RANDOM, new_key,
+ sizeof(new_key));
} else {
-
/* we also use the system entropy to reduce the impact
* of a temporal state compromise for these two levels. */
ret = _rnd_get_system_entropy(new_key, sizeof(new_key));
@@ -228,10 +230,9 @@ static int wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
chacha_crypt(&prng_ctx->ctx, datasize, data, data);
prng_ctx->counter += datasize;
- if (level == GNUTLS_RND_KEY) { /* prevent backtracking */
- ret =
- wrap_nettle_rnd(_ctx, GNUTLS_RND_RANDOM, new_key,
- sizeof(new_key));
+ if (level == GNUTLS_RND_KEY) { /* prevent backtracking */
+ ret = wrap_nettle_rnd(_ctx, GNUTLS_RND_RANDOM, new_key,
+ sizeof(new_key));
if (ret < 0) {
gnutls_assert();
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
@@ -249,7 +250,7 @@ static int wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
ret = 0;
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_NOT_APPROVED);
- cleanup:
+cleanup:
return ret;
}
diff --git a/lib/nettle/sysrng-bcrypt.c b/lib/nettle/sysrng-bcrypt.c
index 5547b7becf..cbdb566bb0 100644
--- a/lib/nettle/sysrng-bcrypt.c
+++ b/lib/nettle/sysrng-bcrypt.c
@@ -52,8 +52,7 @@ get_entropy_func _rnd_get_system_entropy = NULL;
static BCRYPT_ALG_HANDLE device_fd = 0;
-static
-int _rnd_get_system_entropy_win32(void *rnd, size_t size)
+static int _rnd_get_system_entropy_win32(void *rnd, size_t size)
{
NTSTATUS err = BCryptGenRandom(device_fd, rnd, size, 0);
if (!BCRYPT_SUCCESS(err)) {
@@ -66,8 +65,8 @@ int _rnd_get_system_entropy_win32(void *rnd, size_t size)
int _rnd_system_entropy_init(void)
{
- NTSTATUS err = BCryptOpenAlgorithmProvider
- (&device_fd, BCRYPT_RNG_ALGORITHM, NULL, 0);
+ NTSTATUS err = BCryptOpenAlgorithmProvider(
+ &device_fd, BCRYPT_RNG_ALGORITHM, NULL, 0);
if (!BCRYPT_SUCCESS(err)) {
_gnutls_debug_log("error in BCryptOpenAlgorithmProvider!\n");
return GNUTLS_E_RANDOM_DEVICE_ERROR;
diff --git a/lib/nettle/sysrng-getentropy.c b/lib/nettle/sysrng-getentropy.c
index 0f0f3e11f7..7934f9af4b 100644
--- a/lib/nettle/sysrng-getentropy.c
+++ b/lib/nettle/sysrng-getentropy.c
@@ -35,7 +35,7 @@
#include <sys/stat.h>
#include <unistd.h>
#ifdef __APPLE__
-# include <sys/random.h>
+#include <sys/random.h>
#endif
/* gnulib wants to claim strerror even if it cannot provide it. WTF */
@@ -57,8 +57,8 @@ static int _rnd_get_system_entropy_simple(void *_rnd, size_t size)
if (getentropy(_rnd, size) < 0) {
int e = errno;
gnutls_assert();
- _gnutls_debug_log
- ("Failed to use getentropy: %s\n", strerror(e));
+ _gnutls_debug_log("Failed to use getentropy: %s\n",
+ strerror(e));
return GNUTLS_E_RANDOM_DEVICE_ERROR;
}
return 0;
diff --git a/lib/nettle/sysrng-linux.c b/lib/nettle/sysrng-linux.c
index e24709affe..241dd0a26e 100644
--- a/lib/nettle/sysrng-linux.c
+++ b/lib/nettle/sysrng-linux.c
@@ -26,11 +26,11 @@
*/
#ifndef RND_NO_INCLUDES
-# include "gnutls_int.h"
-# include "errors.h"
-# include <num.h>
-# include <errno.h>
-# include <rnd-common.h>
+#include "gnutls_int.h"
+#include "errors.h"
+#include <num.h>
+#include <errno.h>
+#include <rnd-common.h>
#endif
#include <sys/types.h>
@@ -49,29 +49,30 @@
get_entropy_func _rnd_get_system_entropy = NULL;
#if defined(__linux__)
-# ifdef HAVE_GETRANDOM
-# include <sys/random.h>
-# else
-# include <sys/syscall.h>
-# undef getrandom
-# if defined(SYS_getrandom)
-# define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, (size_t)s, (unsigned int)flags)
-# else
+#ifdef HAVE_GETRANDOM
+#include <sys/random.h>
+#else
+#include <sys/syscall.h>
+#undef getrandom
+#if defined(SYS_getrandom)
+#define getrandom(dst, s, flags) \
+ syscall(SYS_getrandom, (void *)dst, (size_t)s, (unsigned int)flags)
+#else
static ssize_t _getrandom0(void *buf, size_t buflen, unsigned int flags)
{
errno = ENOSYS;
return -1;
}
-# define getrandom(dst,s,flags) _getrandom0(dst,s,flags)
-# endif
-# endif
+#define getrandom(dst, s, flags) _getrandom0(dst, s, flags)
+#endif
+#endif
static unsigned have_getrandom(void)
{
char c;
int ret;
- ret = getrandom(&c, 1, 1 /*GRND_NONBLOCK */ );
+ ret = getrandom(&c, 1, 1 /*GRND_NONBLOCK */);
if (ret == 1 || (ret == -1 && errno == EAGAIN))
return 1;
return 0;
@@ -113,8 +114,8 @@ static int _rnd_get_system_entropy_getrandom(void *_rnd, size_t size)
return 0;
}
-#else /* not linux */
-# define have_getrandom() 0
+#else /* not linux */
+#define have_getrandom() 0
#endif
static int _rnd_get_system_entropy_urandom(void *_rnd, size_t size)
@@ -138,12 +139,12 @@ static int _rnd_get_system_entropy_urandom(void *_rnd, size_t size)
if (res <= 0) {
int e = errno;
if (res < 0) {
- _gnutls_debug_log
- ("Failed to read /dev/urandom: %s\n",
- strerror(e));
+ _gnutls_debug_log(
+ "Failed to read /dev/urandom: %s\n",
+ strerror(e));
} else {
- _gnutls_debug_log
- ("Failed to read /dev/urandom: end of file\n");
+ _gnutls_debug_log(
+ "Failed to read /dev/urandom: end of file\n");
}
close(urandom_fd);
@@ -177,8 +178,8 @@ int _rnd_system_entropy_init(void)
/* Check that we can open it */
urandom_fd = open("/dev/urandom", O_RDONLY);
if (urandom_fd < 0) {
- _gnutls_debug_log
- ("Cannot open /dev/urandom during initialization!\n");
+ _gnutls_debug_log(
+ "Cannot open /dev/urandom during initialization!\n");
return gnutls_assert_val(GNUTLS_E_RANDOM_DEVICE_ERROR);
}
close(urandom_fd);
diff --git a/lib/nettle/sysrng-netbsd.c b/lib/nettle/sysrng-netbsd.c
index 15bce72438..1fa1e33b50 100644
--- a/lib/nettle/sysrng-netbsd.c
+++ b/lib/nettle/sysrng-netbsd.c
@@ -35,7 +35,7 @@
#include <sys/sysctl.h>
-#define ARRAY_SIZE(A) (sizeof(A)/sizeof((A)[0]))
+#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))
get_entropy_func _rnd_get_system_entropy = NULL;
@@ -55,7 +55,7 @@ static int _rnd_get_system_entropy_sysctl(void *_rnd, size_t size)
}
if (count != req) {
- return GNUTLS_E_RANDOM_DEVICE_ERROR; /* Can't happen. */
+ return GNUTLS_E_RANDOM_DEVICE_ERROR; /* Can't happen. */
}
p += count;
diff --git a/lib/nettle/sysrng-windows.c b/lib/nettle/sysrng-windows.c
index 9694dd6ed7..af11e437a1 100644
--- a/lib/nettle/sysrng-windows.c
+++ b/lib/nettle/sysrng-windows.c
@@ -52,10 +52,9 @@ get_entropy_func _rnd_get_system_entropy = NULL;
static HCRYPTPROV device_fd = 0;
-static
-int _rnd_get_system_entropy_win32(void *rnd, size_t size)
+static int _rnd_get_system_entropy_win32(void *rnd, size_t size)
{
- if (!CryptGenRandom(device_fd, (DWORD) size, rnd)) {
+ if (!CryptGenRandom(device_fd, (DWORD)size, rnd)) {
_gnutls_debug_log("Error in CryptGenRandom: %d\n",
(int)GetLastError());
return GNUTLS_E_RANDOM_DEVICE_ERROR;
@@ -66,9 +65,8 @@ int _rnd_get_system_entropy_win32(void *rnd, size_t size)
int _rnd_system_entropy_init(void)
{
- if (!CryptAcquireContext
- (&device_fd, NULL, NULL, PROV_RSA_FULL,
- CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) {
+ if (!CryptAcquireContext(&device_fd, NULL, NULL, PROV_RSA_FULL,
+ CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) {
_gnutls_debug_log("error in CryptAcquireContext!\n");
return GNUTLS_E_RANDOM_DEVICE_ERROR;
}
diff --git a/lib/num.h b/lib/num.h
index b74f5a4f60..26fd4d04c9 100644
--- a/lib/num.h
+++ b/lib/num.h
@@ -21,100 +21,98 @@
*/
#ifndef GNUTLS_LIB_NUM_H
-# define GNUTLS_LIB_NUM_H
+#define GNUTLS_LIB_NUM_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
-# include <minmax.h>
-# include <byteswap.h>
+#include <minmax.h>
+#include <byteswap.h>
/* data should be at least 3 bytes */
-inline static uint32_t _gnutls_read_uint24(const uint8_t * data)
+inline static uint32_t _gnutls_read_uint24(const uint8_t *data)
{
return (data[0] << 16) | (data[1] << 8) | (data[2]);
}
-inline static uint64_t _gnutls_read_uint64(const uint8_t * data)
+inline static uint64_t _gnutls_read_uint64(const uint8_t *data)
{
uint64_t res;
memcpy(&res, data, sizeof(uint64_t));
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
res = bswap_64(res);
-# endif
+#endif
return res;
}
-inline static void _gnutls_write_uint64(uint64_t num, uint8_t * data)
+inline static void _gnutls_write_uint64(uint64_t num, uint8_t *data)
{
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
num = bswap_64(num);
-# endif
+#endif
memcpy(data, &num, 8);
}
-inline static void _gnutls_write_uint24(uint32_t num, uint8_t * data)
+inline static void _gnutls_write_uint24(uint32_t num, uint8_t *data)
{
data[0] = num >> 16;
data[1] = num >> 8;
data[2] = num;
}
-inline static uint32_t _gnutls_read_uint32(const uint8_t * data)
+inline static uint32_t _gnutls_read_uint32(const uint8_t *data)
{
uint32_t res;
memcpy(&res, data, sizeof(uint32_t));
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
res = bswap_32(res);
-# endif
+#endif
return res;
}
-inline static void _gnutls_write_uint32(uint32_t num, uint8_t * data)
+inline static void _gnutls_write_uint32(uint32_t num, uint8_t *data)
{
-
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
num = bswap_32(num);
-# endif
+#endif
memcpy(data, &num, sizeof(uint32_t));
}
-inline static uint16_t _gnutls_read_uint16(const uint8_t * data)
+inline static uint16_t _gnutls_read_uint16(const uint8_t *data)
{
uint16_t res;
memcpy(&res, data, sizeof(uint16_t));
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
res = bswap_16(res);
-# endif
+#endif
return res;
}
-inline static void _gnutls_write_uint16(uint16_t num, uint8_t * data)
+inline static void _gnutls_write_uint16(uint16_t num, uint8_t *data)
{
-
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
num = bswap_16(num);
-# endif
+#endif
memcpy(data, &num, sizeof(uint16_t));
}
inline static uint32_t _gnutls_conv_uint32(uint32_t data)
{
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
return bswap_32(data);
-# else
+#else
return data;
-# endif
+#endif
}
inline static uint16_t _gnutls_conv_uint16(uint16_t data)
{
-# ifndef WORDS_BIGENDIAN
+#ifndef WORDS_BIGENDIAN
return bswap_16(data);
-# else
+#else
return data;
-# endif
+#endif
}
-#endif /* GNUTLS_LIB_NUM_H */
+#endif /* GNUTLS_LIB_NUM_H */
diff --git a/lib/ocsp-api.c b/lib/ocsp-api.c
index 59e8973f94..d8e04912ae 100644
--- a/lib/ocsp-api.c
+++ b/lib/ocsp-api.c
@@ -34,8 +34,8 @@
#ifdef ENABLE_OCSP
-# include <gnutls/ocsp.h>
-# include "x509/ocsp.h"
+#include <gnutls/ocsp.h>
+#include "x509/ocsp.h"
/**
* gnutls_ocsp_status_request_get:
@@ -52,9 +52,8 @@
*
* Since: 3.1.3
**/
-int
-gnutls_ocsp_status_request_get(gnutls_session_t session,
- gnutls_datum_t * response)
+int gnutls_ocsp_status_request_get(gnutls_session_t session,
+ gnutls_datum_t *response)
{
return gnutls_ocsp_status_request_get2(session, 0, response);
}
@@ -81,20 +80,19 @@ gnutls_ocsp_status_request_get(gnutls_session_t session,
*
* Since: 3.6.3
**/
-int
-gnutls_ocsp_status_request_get2(gnutls_session_t session,
- unsigned idx, gnutls_datum_t * response)
+int gnutls_ocsp_status_request_get2(gnutls_session_t session, unsigned idx,
+ gnutls_datum_t *response)
{
const version_entry_st *ver = get_version(session);
cert_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
- if (!ver->tls13_sem
- && session->security_parameters.entity == GNUTLS_SERVER)
+ if (!ver->tls13_sem &&
+ session->security_parameters.entity == GNUTLS_SERVER)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- if (info == NULL || info->raw_ocsp_list == NULL ||
- info->nocsp <= idx || info->raw_ocsp_list[idx].size == 0)
+ if (info == NULL || info->raw_ocsp_list == NULL || info->nocsp <= idx ||
+ info->raw_ocsp_list[idx].size == 0)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
response->data = info->raw_ocsp_list[idx].data;
@@ -129,11 +127,10 @@ gnutls_ocsp_status_request_get2(gnutls_session_t session,
*
* Since: 3.1.3
**/
-void
- gnutls_certificate_set_ocsp_status_request_function
- (gnutls_certificate_credentials_t sc,
- gnutls_status_request_ocsp_func ocsp_func, void *ptr) {
-
+void gnutls_certificate_set_ocsp_status_request_function(
+ gnutls_certificate_credentials_t sc,
+ gnutls_status_request_ocsp_func ocsp_func, void *ptr)
+{
sc->glob_ocsp_func = ocsp_func;
sc->glob_ocsp_func_ptr = ptr;
}
@@ -173,10 +170,10 @@ void
*
* Since: 3.5.5
**/
-int
- gnutls_certificate_set_ocsp_status_request_function2
- (gnutls_certificate_credentials_t sc, unsigned idx,
- gnutls_status_request_ocsp_func ocsp_func, void *ptr) {
+int gnutls_certificate_set_ocsp_status_request_function2(
+ gnutls_certificate_credentials_t sc, unsigned idx,
+ gnutls_status_request_ocsp_func ocsp_func, void *ptr)
+{
if (idx >= sc->ncerts)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -186,9 +183,8 @@ int
return 0;
}
-static
-unsigned resp_matches_pcert(gnutls_ocsp_resp_t resp,
- const gnutls_pcert_st * cert)
+static unsigned resp_matches_pcert(gnutls_ocsp_resp_t resp,
+ const gnutls_pcert_st *cert)
{
gnutls_x509_crt_t crt;
int ret;
@@ -211,7 +207,7 @@ unsigned resp_matches_pcert(gnutls_ocsp_resp_t resp,
else
retval = 0;
- cleanup:
+cleanup:
gnutls_x509_crt_deinit(crt);
return retval;
}
@@ -250,17 +246,14 @@ unsigned resp_matches_pcert(gnutls_ocsp_resp_t resp,
*
* Since: 3.1.3
**/
-int
-gnutls_certificate_set_ocsp_status_request_file(gnutls_certificate_credentials_t
- sc, const char *response_file,
- unsigned idx)
+int gnutls_certificate_set_ocsp_status_request_file(
+ gnutls_certificate_credentials_t sc, const char *response_file,
+ unsigned idx)
{
int ret;
- ret =
- gnutls_certificate_set_ocsp_status_request_file2(sc, response_file,
- idx,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_file2(
+ sc, response_file, idx, GNUTLS_X509_FMT_DER);
if (ret >= 0)
return 0;
else
@@ -268,14 +261,14 @@ gnutls_certificate_set_ocsp_status_request_file(gnutls_certificate_credentials_t
}
static int append_response(gnutls_certificate_credentials_t sc, unsigned idx,
- gnutls_ocsp_resp_t resp, const gnutls_datum_t * der)
+ gnutls_ocsp_resp_t resp, const gnutls_datum_t *der)
{
int ret;
unsigned i, found = 0;
unsigned try_already_set = 0;
time_t t;
- retry:
+retry:
/* iterate through all certificates in chain, and add the response
* to the certificate that it matches with.
@@ -283,8 +276,8 @@ static int append_response(gnutls_certificate_credentials_t sc, unsigned idx,
for (i = 0;
i < MIN(sc->certs[idx].cert_list_length, MAX_OCSP_RESPONSES);
i++) {
- if (!try_already_set
- && sc->certs[idx].ocsp_data[i].response.data)
+ if (!try_already_set &&
+ sc->certs[idx].ocsp_data[i].response.data)
continue;
if (!resp_matches_pcert(resp, &sc->certs[idx].cert_list[i]))
@@ -292,15 +285,15 @@ static int append_response(gnutls_certificate_credentials_t sc, unsigned idx,
t = _gnutls_ocsp_get_validity(resp);
/* if already invalid */
- if (t == (time_t) - 1) {
- _gnutls_debug_log
- ("the OCSP response associated with chain %d on pos %d, is invalid/expired\n",
- idx, i);
+ if (t == (time_t)-1) {
+ _gnutls_debug_log(
+ "the OCSP response associated with chain %d on pos %d, is invalid/expired\n",
+ idx, i);
return GNUTLS_E_EXPIRED;
- } else if (t == (time_t) - 2) {
- _gnutls_debug_log
- ("the OCSP response associated with chain %d on pos %d, is too old (ignoring)\n",
- idx, i);
+ } else if (t == (time_t)-2) {
+ _gnutls_debug_log(
+ "the OCSP response associated with chain %d on pos %d, is too old (ignoring)\n",
+ idx, i);
return 0;
}
@@ -309,9 +302,9 @@ static int append_response(gnutls_certificate_credentials_t sc, unsigned idx,
else
sc->certs[idx].ocsp_data[i].exptime = 0;
- _gnutls_debug_log
- ("associating OCSP response with chain %d on pos %d\n", idx,
- i);
+ _gnutls_debug_log(
+ "associating OCSP response with chain %d on pos %d\n",
+ idx, i);
gnutls_free(sc->certs[idx].ocsp_data[i].response.data);
@@ -375,9 +368,10 @@ static int append_response(gnutls_certificate_credentials_t sc, unsigned idx,
*
* Since: 3.1.3
**/
-int gnutls_certificate_set_ocsp_status_request_file2
- (gnutls_certificate_credentials_t sc, const char *response_file,
- unsigned idx, gnutls_x509_crt_fmt_t fmt) {
+int gnutls_certificate_set_ocsp_status_request_file2(
+ gnutls_certificate_credentials_t sc, const char *response_file,
+ unsigned idx, gnutls_x509_crt_fmt_t fmt)
+{
gnutls_datum_t raw = { NULL, 0 };
int ret;
@@ -388,14 +382,14 @@ int gnutls_certificate_set_ocsp_status_request_file2
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_FILE_ERROR);
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(sc, &raw, idx, fmt);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(sc, &raw, idx,
+ fmt);
gnutls_free(raw.data);
return ret;
}
-# define PEM_OCSP_RESPONSE "OCSP RESPONSE"
-# define FULL_PEM_OCSP_RESPONSE "-----BEGIN OCSP RESPONSE"
+#define PEM_OCSP_RESPONSE "OCSP RESPONSE"
+#define FULL_PEM_OCSP_RESPONSE "-----BEGIN OCSP RESPONSE"
/**
* gnutls_certificate_set_ocsp_status_request_mem:
@@ -430,12 +424,9 @@ int gnutls_certificate_set_ocsp_status_request_file2
*
* Since: 3.6.3
**/
-int
-gnutls_certificate_set_ocsp_status_request_mem(gnutls_certificate_credentials_t
- sc,
- const gnutls_datum_t * resp_data,
- unsigned idx,
- gnutls_x509_crt_fmt_t fmt)
+int gnutls_certificate_set_ocsp_status_request_mem(
+ gnutls_certificate_credentials_t sc, const gnutls_datum_t *resp_data,
+ unsigned idx, gnutls_x509_crt_fmt_t fmt)
{
gnutls_datum_t der = { NULL, 0 };
gnutls_ocsp_resp_t resp = NULL;
@@ -454,34 +445,28 @@ gnutls_certificate_set_ocsp_status_request_mem(gnutls_certificate_credentials_t
p.data = memmem(p.data, p.size, FULL_PEM_OCSP_RESPONSE,
sizeof(FULL_PEM_OCSP_RESPONSE) - 1);
if (p.data == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
p.size -= p.data - resp_data->data;
if (p.size <= 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
do {
- ret =
- gnutls_pem_base64_decode2(PEM_OCSP_RESPONSE, &p,
- &der);
+ ret = gnutls_pem_base64_decode2(PEM_OCSP_RESPONSE, &p,
+ &der);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(sc,
- &der,
- idx,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ sc, &der, idx, GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -504,12 +489,11 @@ gnutls_certificate_set_ocsp_status_request_mem(gnutls_certificate_credentials_t
} else {
/* DER: load a single response */
if (sc->flags & GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK) {
- ret =
- gnutls_ocsp_resp_import2(resp, resp_data,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_ocsp_resp_import2(resp, resp_data,
+ GNUTLS_X509_FMT_DER);
if (ret >= 0) {
sc->certs[idx].ocsp_data[0].exptime =
- _gnutls_ocsp_get_validity(resp);
+ _gnutls_ocsp_get_validity(resp);
if (sc->certs[idx].ocsp_data[0].exptime <= 0)
sc->certs[idx].ocsp_data[0].exptime = 0;
}
@@ -517,10 +501,9 @@ gnutls_certificate_set_ocsp_status_request_mem(gnutls_certificate_credentials_t
/* quick load of first response */
gnutls_free(sc->certs[idx].ocsp_data[0].response.data);
- ret =
- _gnutls_set_datum(&sc->certs[idx].
- ocsp_data[0].response,
- resp_data->data, resp_data->size);
+ ret = _gnutls_set_datum(
+ &sc->certs[idx].ocsp_data[0].response,
+ resp_data->data, resp_data->size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -530,9 +513,8 @@ gnutls_certificate_set_ocsp_status_request_mem(gnutls_certificate_credentials_t
goto cleanup;
}
- ret =
- gnutls_ocsp_resp_import2(resp, resp_data,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_ocsp_resp_import2(resp, resp_data,
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -546,7 +528,7 @@ gnutls_certificate_set_ocsp_status_request_mem(gnutls_certificate_credentials_t
ret = 1;
}
- cleanup:
+cleanup:
gnutls_free(der.data);
if (resp)
gnutls_ocsp_resp_deinit(resp);
@@ -585,14 +567,14 @@ gnutls_certificate_get_ocsp_expiration(gnutls_certificate_credentials_t sc,
unsigned j;
if (idx >= sc->ncerts)
- return (time_t) - 2;
+ return (time_t)-2;
if (oidx == -1) {
time_t min = 0;
- for (j = 0;
- j < MIN(sc->certs[idx].cert_list_length,
- MAX_OCSP_RESPONSES); j++) {
+ for (j = 0; j < MIN(sc->certs[idx].cert_list_length,
+ MAX_OCSP_RESPONSES);
+ j++) {
if (min <= 0)
min = sc->certs[idx].ocsp_data[j].exptime;
else if (sc->certs[idx].ocsp_data[j].exptime > 0 &&
@@ -602,12 +584,12 @@ gnutls_certificate_get_ocsp_expiration(gnutls_certificate_credentials_t sc,
return min;
}
- if (oidx >= MAX_OCSP_RESPONSES
- || (unsigned)oidx >= sc->certs[idx].cert_list_length)
- return (time_t) - 2;
+ if (oidx >= MAX_OCSP_RESPONSES ||
+ (unsigned)oidx >= sc->certs[idx].cert_list_length)
+ return (time_t)-2;
if (sc->certs[idx].ocsp_data[oidx].response.data == NULL)
- return (time_t) - 1;
+ return (time_t)-1;
return sc->certs[idx].ocsp_data[oidx].exptime;
}
@@ -640,9 +622,8 @@ gnutls_certificate_get_ocsp_expiration(gnutls_certificate_credentials_t sc,
*
* Since: 3.1.4
**/
-unsigned
-gnutls_ocsp_status_request_is_checked(gnutls_session_t session,
- unsigned int flags)
+unsigned gnutls_ocsp_status_request_is_checked(gnutls_session_t session,
+ unsigned int flags)
{
int ret;
gnutls_datum_t data;
diff --git a/lib/openpgp_compat.c b/lib/openpgp_compat.c
index 6371daba97..82e547ba55 100644
--- a/lib/openpgp_compat.c
+++ b/lib/openpgp_compat.c
@@ -28,7 +28,7 @@
#include <gnutls/openpgp.h>
#include <gnutls/abstract.h>
-int gnutls_openpgp_crt_init(gnutls_openpgp_crt_t * key)
+int gnutls_openpgp_crt_init(gnutls_openpgp_crt_t *key)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -39,7 +39,7 @@ void gnutls_openpgp_crt_deinit(gnutls_openpgp_crt_t key)
}
int gnutls_openpgp_crt_import(gnutls_openpgp_crt_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_openpgp_crt_fmt_t format)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
@@ -54,14 +54,14 @@ int gnutls_openpgp_crt_export(gnutls_openpgp_crt_t key,
int gnutls_openpgp_crt_export2(gnutls_openpgp_crt_t key,
gnutls_openpgp_crt_fmt_t format,
- gnutls_datum_t * out)
+ gnutls_datum_t *out)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_crt_print(gnutls_openpgp_crt_t cert,
- gnutls_certificate_print_formats_t
- format, gnutls_datum_t * out)
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -72,22 +72,21 @@ int gnutls_openpgp_crt_get_key_usage(gnutls_openpgp_crt_t key,
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_fingerprint(gnutls_openpgp_crt_t key,
- void *fpr, size_t *fprlen)
+int gnutls_openpgp_crt_get_fingerprint(gnutls_openpgp_crt_t key, void *fpr,
+ size_t *fprlen)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_subkey_fingerprint(gnutls_openpgp_crt_t
- key,
- unsigned int idx,
- void *fpr, size_t *fprlen)
+int gnutls_openpgp_crt_get_subkey_fingerprint(gnutls_openpgp_crt_t key,
+ unsigned int idx, void *fpr,
+ size_t *fprlen)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_name(gnutls_openpgp_crt_t key,
- int idx, char *buf, size_t *sizeof_buf)
+int gnutls_openpgp_crt_get_name(gnutls_openpgp_crt_t key, int idx, char *buf,
+ size_t *sizeof_buf)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -106,12 +105,12 @@ int gnutls_openpgp_crt_get_version(gnutls_openpgp_crt_t key)
time_t gnutls_openpgp_crt_get_creation_time(gnutls_openpgp_crt_t key)
{
- return (time_t) - 1;
+ return (time_t)-1;
}
time_t gnutls_openpgp_crt_get_expiration_time(gnutls_openpgp_crt_t key)
{
- return (time_t) - 1;
+ return (time_t)-1;
}
int gnutls_openpgp_crt_get_key_id(gnutls_openpgp_crt_t key,
@@ -132,9 +131,8 @@ int gnutls_openpgp_crt_check_hostname2(gnutls_openpgp_crt_t key,
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_openpgp_crt_check_email(gnutls_openpgp_crt_t key, const char *email,
- unsigned flags)
+int gnutls_openpgp_crt_check_email(gnutls_openpgp_crt_t key, const char *email,
+ unsigned flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -155,33 +153,32 @@ int gnutls_openpgp_crt_get_subkey_idx(gnutls_openpgp_crt_t key,
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_subkey_revoked_status
- (gnutls_openpgp_crt_t key, unsigned int idx) {
+int gnutls_openpgp_crt_get_subkey_revoked_status(gnutls_openpgp_crt_t key,
+ unsigned int idx)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
gnutls_pk_algorithm_t
-gnutls_openpgp_crt_get_subkey_pk_algorithm(gnutls_openpgp_crt_t
- key,
+gnutls_openpgp_crt_get_subkey_pk_algorithm(gnutls_openpgp_crt_t key,
unsigned int idx, unsigned int *bits)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-time_t
- gnutls_openpgp_crt_get_subkey_creation_time
- (gnutls_openpgp_crt_t key, unsigned int idx) {
- return (time_t) - 1;
+time_t gnutls_openpgp_crt_get_subkey_creation_time(gnutls_openpgp_crt_t key,
+ unsigned int idx)
+{
+ return (time_t)-1;
}
-time_t
- gnutls_openpgp_crt_get_subkey_expiration_time
- (gnutls_openpgp_crt_t key, unsigned int idx) {
- return (time_t) - 1;
+time_t gnutls_openpgp_crt_get_subkey_expiration_time(gnutls_openpgp_crt_t key,
+ unsigned int idx)
+{
+ return (time_t)-1;
}
-int gnutls_openpgp_crt_get_subkey_id(gnutls_openpgp_crt_t key,
- unsigned int idx,
+int gnutls_openpgp_crt_get_subkey_id(gnutls_openpgp_crt_t key, unsigned int idx,
gnutls_openpgp_keyid_t keyid)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
@@ -194,54 +191,49 @@ int gnutls_openpgp_crt_get_subkey_usage(gnutls_openpgp_crt_t key,
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_subkey_pk_dsa_raw(gnutls_openpgp_crt_t
- crt, unsigned int idx,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g,
- gnutls_datum_t * y)
+int gnutls_openpgp_crt_get_subkey_pk_dsa_raw(
+ gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g, gnutls_datum_t *y)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_subkey_pk_rsa_raw(gnutls_openpgp_crt_t
- crt, unsigned int idx,
- gnutls_datum_t * m,
- gnutls_datum_t * e)
+int gnutls_openpgp_crt_get_subkey_pk_rsa_raw(gnutls_openpgp_crt_t crt,
+ unsigned int idx,
+ gnutls_datum_t *m,
+ gnutls_datum_t *e)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_crt_get_pk_dsa_raw(gnutls_openpgp_crt_t crt,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y)
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_crt_get_pk_rsa_raw(gnutls_openpgp_crt_t crt,
- gnutls_datum_t * m, gnutls_datum_t * e)
+ gnutls_datum_t *m, gnutls_datum_t *e)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_get_preferred_key_id(gnutls_openpgp_crt_t
- key, gnutls_openpgp_keyid_t keyid)
+int gnutls_openpgp_crt_get_preferred_key_id(gnutls_openpgp_crt_t key,
+ gnutls_openpgp_keyid_t keyid)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_openpgp_crt_set_preferred_key_id(gnutls_openpgp_crt_t key,
- const gnutls_openpgp_keyid_t keyid)
+int gnutls_openpgp_crt_set_preferred_key_id(gnutls_openpgp_crt_t key,
+ const gnutls_openpgp_keyid_t keyid)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
/* privkey stuff.
*/
-int gnutls_openpgp_privkey_init(gnutls_openpgp_privkey_t * key)
+int gnutls_openpgp_privkey_init(gnutls_openpgp_privkey_t *key)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -252,8 +244,9 @@ void gnutls_openpgp_privkey_deinit(gnutls_openpgp_privkey_t key)
}
gnutls_pk_algorithm_t
- gnutls_openpgp_privkey_get_pk_algorithm
- (gnutls_openpgp_privkey_t key, unsigned int *bits) {
+gnutls_openpgp_privkey_get_pk_algorithm(gnutls_openpgp_privkey_t key,
+ unsigned int *bits)
+{
return GNUTLS_PK_UNKNOWN;
}
@@ -264,22 +257,23 @@ gnutls_openpgp_privkey_sec_param(gnutls_openpgp_privkey_t key)
}
int gnutls_openpgp_privkey_import(gnutls_openpgp_privkey_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_openpgp_crt_fmt_t format,
const char *password, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_get_fingerprint(gnutls_openpgp_privkey_t
- key, void *fpr, size_t *fprlen)
+int gnutls_openpgp_privkey_get_fingerprint(gnutls_openpgp_privkey_t key,
+ void *fpr, size_t *fprlen)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_get_subkey_fingerprint
- (gnutls_openpgp_privkey_t key, unsigned int idx, void *fpr,
- size_t *fprlen) {
+int gnutls_openpgp_privkey_get_subkey_fingerprint(gnutls_openpgp_privkey_t key,
+ unsigned int idx, void *fpr,
+ size_t *fprlen)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -294,15 +288,15 @@ int gnutls_openpgp_privkey_get_subkey_count(gnutls_openpgp_privkey_t key)
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_get_subkey_idx(gnutls_openpgp_privkey_t
- key,
+int gnutls_openpgp_privkey_get_subkey_idx(gnutls_openpgp_privkey_t key,
const gnutls_openpgp_keyid_t keyid)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_get_subkey_revoked_status
- (gnutls_openpgp_privkey_t key, unsigned int idx) {
+int gnutls_openpgp_privkey_get_subkey_revoked_status(
+ gnutls_openpgp_privkey_t key, unsigned int idx)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -311,70 +305,68 @@ int gnutls_openpgp_privkey_get_revoked_status(gnutls_openpgp_privkey_t key)
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-gnutls_pk_algorithm_t
- gnutls_openpgp_privkey_get_subkey_pk_algorithm
- (gnutls_openpgp_privkey_t key, unsigned int idx, unsigned int *bits) {
+gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm(
+ gnutls_openpgp_privkey_t key, unsigned int idx, unsigned int *bits)
+{
return GNUTLS_PK_UNKNOWN;
}
time_t
- gnutls_openpgp_privkey_get_subkey_expiration_time
- (gnutls_openpgp_privkey_t key, unsigned int idx) {
- return (time_t) - 1;
+gnutls_openpgp_privkey_get_subkey_expiration_time(gnutls_openpgp_privkey_t key,
+ unsigned int idx)
+{
+ return (time_t)-1;
}
-int gnutls_openpgp_privkey_get_subkey_id(gnutls_openpgp_privkey_t
- key, unsigned int idx,
+int gnutls_openpgp_privkey_get_subkey_id(gnutls_openpgp_privkey_t key,
+ unsigned int idx,
gnutls_openpgp_keyid_t keyid)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
time_t
- gnutls_openpgp_privkey_get_subkey_creation_time
- (gnutls_openpgp_privkey_t key, unsigned int idx) {
- return (time_t) - 1;
+gnutls_openpgp_privkey_get_subkey_creation_time(gnutls_openpgp_privkey_t key,
+ unsigned int idx)
+{
+ return (time_t)-1;
}
-int gnutls_openpgp_privkey_export_subkey_dsa_raw
- (gnutls_openpgp_privkey_t pkey, unsigned int idx,
- gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g,
- gnutls_datum_t * y, gnutls_datum_t * x) {
+int gnutls_openpgp_privkey_export_subkey_dsa_raw(
+ gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_export_subkey_rsa_raw
- (gnutls_openpgp_privkey_t pkey, unsigned int idx,
- gnutls_datum_t * m, gnutls_datum_t * e, gnutls_datum_t * d,
- gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * u) {
+int gnutls_openpgp_privkey_export_subkey_rsa_raw(
+ gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t *m,
+ gnutls_datum_t *e, gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_export_dsa_raw(gnutls_openpgp_privkey_t
- pkey, gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * g,
- gnutls_datum_t * y,
- gnutls_datum_t * x)
+int gnutls_openpgp_privkey_export_dsa_raw(gnutls_openpgp_privkey_t pkey,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_export_rsa_raw(gnutls_openpgp_privkey_t
- pkey, gnutls_datum_t * m,
- gnutls_datum_t * e,
- gnutls_datum_t * d,
- gnutls_datum_t * p,
- gnutls_datum_t * q,
- gnutls_datum_t * u)
+int gnutls_openpgp_privkey_export_rsa_raw(gnutls_openpgp_privkey_t pkey,
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t key,
gnutls_openpgp_crt_fmt_t format,
- const char *password,
- unsigned int flags,
+ const char *password, unsigned int flags,
void *output_data, size_t *output_data_size)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
@@ -382,25 +374,27 @@ int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t key,
int gnutls_openpgp_privkey_export2(gnutls_openpgp_privkey_t key,
gnutls_openpgp_crt_fmt_t format,
- const char *password,
- unsigned int flags, gnutls_datum_t * out)
+ const char *password, unsigned int flags,
+ gnutls_datum_t *out)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_set_preferred_key_id
- (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid) {
+int gnutls_openpgp_privkey_set_preferred_key_id(
+ gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_privkey_get_preferred_key_id
- (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid) {
+int gnutls_openpgp_privkey_get_preferred_key_id(gnutls_openpgp_privkey_t key,
+ gnutls_openpgp_keyid_t keyid)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_crt_get_auth_subkey(gnutls_openpgp_crt_t crt,
- gnutls_openpgp_keyid_t
- keyid, unsigned int flag)
+ gnutls_openpgp_keyid_t keyid,
+ unsigned int flag)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -408,7 +402,7 @@ int gnutls_openpgp_crt_get_auth_subkey(gnutls_openpgp_crt_t crt,
/* Keyring stuff.
*/
-int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring_t * keyring)
+int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring_t *keyring)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -419,38 +413,36 @@ void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring_t keyring)
}
int gnutls_openpgp_keyring_import(gnutls_openpgp_keyring_t keyring,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_openpgp_crt_fmt_t format)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_keyring_check_id(gnutls_openpgp_keyring_t ring,
- const gnutls_openpgp_keyid_t
- keyid, unsigned int flags)
+ const gnutls_openpgp_keyid_t keyid,
+ unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_crt_verify_ring(gnutls_openpgp_crt_t key,
- gnutls_openpgp_keyring_t
- keyring, unsigned int flags,
- unsigned int *verify
+ gnutls_openpgp_keyring_t keyring,
+ unsigned int flags, unsigned int *verify
/* the output of the verification */
- )
+)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_openpgp_crt_verify_self(gnutls_openpgp_crt_t key,
- unsigned int flags, unsigned int *verify)
+int gnutls_openpgp_crt_verify_self(gnutls_openpgp_crt_t key, unsigned int flags,
+ unsigned int *verify)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
int gnutls_openpgp_keyring_get_crt(gnutls_openpgp_keyring_t ring,
- unsigned int idx,
- gnutls_openpgp_crt_t * cert)
+ unsigned int idx, gnutls_openpgp_crt_t *cert)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -460,75 +452,76 @@ int gnutls_openpgp_keyring_get_crt_count(gnutls_openpgp_keyring_t ring)
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-void
-gnutls_openpgp_set_recv_key_function(gnutls_session_t session,
- gnutls_openpgp_recv_key_func func)
+void gnutls_openpgp_set_recv_key_function(gnutls_session_t session,
+ gnutls_openpgp_recv_key_func func)
{
return;
}
-int gnutls_certificate_set_openpgp_key
- (gnutls_certificate_credentials_t res,
- gnutls_openpgp_crt_t crt, gnutls_openpgp_privkey_t pkey) {
+int gnutls_certificate_set_openpgp_key(gnutls_certificate_credentials_t res,
+ gnutls_openpgp_crt_t crt,
+ gnutls_openpgp_privkey_t pkey)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_certificate_get_openpgp_key(gnutls_certificate_credentials_t res,
- unsigned index,
- gnutls_openpgp_privkey_t * key)
+int gnutls_certificate_get_openpgp_key(gnutls_certificate_credentials_t res,
+ unsigned index,
+ gnutls_openpgp_privkey_t *key)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_certificate_get_openpgp_crt(gnutls_certificate_credentials_t res,
- unsigned index,
- gnutls_openpgp_crt_t ** crt_list,
- unsigned *crt_list_size)
+int gnutls_certificate_get_openpgp_crt(gnutls_certificate_credentials_t res,
+ unsigned index,
+ gnutls_openpgp_crt_t **crt_list,
+ unsigned *crt_list_size)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
- gnutls_certificate_set_openpgp_key_file
- (gnutls_certificate_credentials_t res, const char *certfile,
- const char *keyfile, gnutls_openpgp_crt_fmt_t format) {
+int gnutls_certificate_set_openpgp_key_file(
+ gnutls_certificate_credentials_t res, const char *certfile,
+ const char *keyfile, gnutls_openpgp_crt_fmt_t format)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_certificate_set_openpgp_key_mem
- (gnutls_certificate_credentials_t res,
- const gnutls_datum_t * cert, const gnutls_datum_t * key,
- gnutls_openpgp_crt_fmt_t format) {
+int gnutls_certificate_set_openpgp_key_mem(gnutls_certificate_credentials_t res,
+ const gnutls_datum_t *cert,
+ const gnutls_datum_t *key,
+ gnutls_openpgp_crt_fmt_t format)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
- gnutls_certificate_set_openpgp_key_file2
- (gnutls_certificate_credentials_t res, const char *certfile,
- const char *keyfile, const char *subkey_id,
- gnutls_openpgp_crt_fmt_t format) {
+int gnutls_certificate_set_openpgp_key_file2(
+ gnutls_certificate_credentials_t res, const char *certfile,
+ const char *keyfile, const char *subkey_id,
+ gnutls_openpgp_crt_fmt_t format)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
- gnutls_certificate_set_openpgp_key_mem2
- (gnutls_certificate_credentials_t res,
- const gnutls_datum_t * cert, const gnutls_datum_t * key,
- const char *subkey_id, gnutls_openpgp_crt_fmt_t format) {
+int gnutls_certificate_set_openpgp_key_mem2(
+ gnutls_certificate_credentials_t res, const gnutls_datum_t *cert,
+ const gnutls_datum_t *key, const char *subkey_id,
+ gnutls_openpgp_crt_fmt_t format)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_certificate_set_openpgp_keyring_mem
- (gnutls_certificate_credentials_t c, const unsigned char *data,
- size_t dlen, gnutls_openpgp_crt_fmt_t format) {
+int gnutls_certificate_set_openpgp_keyring_mem(
+ gnutls_certificate_credentials_t c, const unsigned char *data,
+ size_t dlen, gnutls_openpgp_crt_fmt_t format)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_certificate_set_openpgp_keyring_file
- (gnutls_certificate_credentials_t c, const char *file,
- gnutls_openpgp_crt_fmt_t format) {
+int gnutls_certificate_set_openpgp_keyring_file(
+ gnutls_certificate_credentials_t c, const char *file,
+ gnutls_openpgp_crt_fmt_t format)
+{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -544,8 +537,8 @@ int gnutls_certificate_set_openpgp_keyring_file
*
* Since: 2.12.0
**/
-int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key,
- gnutls_openpgp_crt_t crt, unsigned int flags)
+int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key, gnutls_openpgp_crt_t crt,
+ unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -565,11 +558,10 @@ int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key,
* Since: 3.1.3
**/
int gnutls_pubkey_import_openpgp_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t
- format,
- const gnutls_openpgp_keyid_t
- keyid, unsigned int flags)
+ const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format,
+ const gnutls_openpgp_keyid_t keyid,
+ unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -589,11 +581,10 @@ int gnutls_pubkey_import_openpgp_raw(gnutls_pubkey_t pkey,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_get_openpgp_key_id(gnutls_pubkey_t key,
- unsigned int flags,
- unsigned char *output_data,
- size_t *output_data_size, unsigned int *subkey)
+int gnutls_pubkey_get_openpgp_key_id(gnutls_pubkey_t key, unsigned int flags,
+ unsigned char *output_data,
+ size_t *output_data_size,
+ unsigned int *subkey)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -629,7 +620,7 @@ int gnutls_privkey_import_openpgp(gnutls_privkey_t pkey,
* Since: 3.4.0
*/
int gnutls_privkey_export_openpgp(gnutls_privkey_t pkey,
- gnutls_openpgp_privkey_t * key)
+ gnutls_openpgp_privkey_t *key)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -649,11 +640,10 @@ int gnutls_privkey_export_openpgp(gnutls_privkey_t pkey,
* Since: 3.1.0
**/
int gnutls_privkey_import_openpgp_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * data,
- gnutls_openpgp_crt_fmt_t
- format,
- const gnutls_openpgp_keyid_t
- keyid, const char *password)
+ const gnutls_datum_t *data,
+ gnutls_openpgp_crt_fmt_t format,
+ const gnutls_openpgp_keyid_t keyid,
+ const char *password)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -672,10 +662,9 @@ int gnutls_privkey_import_openpgp_raw(gnutls_privkey_t pkey,
*
* Since: 3.0
**/
-int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st * pcert,
- const gnutls_datum_t * cert,
- gnutls_openpgp_crt_fmt_t
- format,
+int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st *pcert,
+ const gnutls_datum_t *cert,
+ gnutls_openpgp_crt_fmt_t format,
gnutls_openpgp_keyid_t keyid,
unsigned int flags)
{
@@ -694,7 +683,7 @@ int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st * pcert,
*
* Since: 3.0
**/
-int gnutls_pcert_import_openpgp(gnutls_pcert_st * pcert,
+int gnutls_pcert_import_openpgp(gnutls_pcert_st *pcert,
gnutls_openpgp_crt_t crt, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
@@ -711,8 +700,8 @@ int gnutls_pcert_import_openpgp(gnutls_pcert_st * pcert,
*
* Since: 3.4.0
*/
-int gnutls_pcert_export_openpgp(gnutls_pcert_st * pcert,
- gnutls_openpgp_crt_t * crt)
+int gnutls_pcert_export_openpgp(gnutls_pcert_st *pcert,
+ gnutls_openpgp_crt_t *crt)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -726,9 +715,8 @@ int gnutls_pcert_export_openpgp(gnutls_pcert_st * pcert,
*
* Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE.
*/
-void
-gnutls_openpgp_send_cert(gnutls_session_t session,
- gnutls_openpgp_crt_status_t status)
+void gnutls_openpgp_send_cert(gnutls_session_t session,
+ gnutls_openpgp_crt_status_t status)
{
return;
}
@@ -745,7 +733,7 @@ gnutls_openpgp_send_cert(gnutls_session_t session,
* Since: 3.1.3
**/
int gnutls_certificate_get_peers_subkey_id(gnutls_session_t session,
- gnutls_datum_t * id)
+ gnutls_datum_t *id)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -760,10 +748,9 @@ int gnutls_certificate_get_peers_subkey_id(gnutls_session_t session,
*
* Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE.
*/
-int
-gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t key,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature)
+int gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t key,
+ const gnutls_datum_t *hash,
+ gnutls_datum_t *signature)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
diff --git a/lib/pathbuf.c b/lib/pathbuf.c
index 88a39e284b..a016efc185 100644
--- a/lib/pathbuf.c
+++ b/lib/pathbuf.c
@@ -91,8 +91,8 @@ int _gnutls_pathbuf_init(struct gnutls_pathbuf_st *buffer, const char *base)
return 0;
}
-int
-_gnutls_pathbuf_append(struct gnutls_pathbuf_st *buffer, const char *component)
+int _gnutls_pathbuf_append(struct gnutls_pathbuf_st *buffer,
+ const char *component)
{
size_t len;
char *p;
diff --git a/lib/pathbuf.h b/lib/pathbuf.h
index b2e90c6136..394f1cd2d5 100644
--- a/lib/pathbuf.h
+++ b/lib/pathbuf.h
@@ -22,16 +22,16 @@
*/
#ifndef GNUTLS_LIB_PATHBUF_H
-# define GNUTLS_LIB_PATHBUF_H
+#define GNUTLS_LIB_PATHBUF_H
-# include "pathmax.h"
-# define GNUTLS_PATH_MAX PATH_MAX
+#include "pathmax.h"
+#define GNUTLS_PATH_MAX PATH_MAX
struct gnutls_pathbuf_st {
char base[GNUTLS_PATH_MAX + 1];
- char *ptr; /* API */
- size_t len; /* API: NOT including NUL */
- size_t cap; /* including NUL */
+ char *ptr; /* API */
+ size_t len; /* API: NOT including NUL */
+ size_t cap; /* including NUL */
};
/* Initialize BUFFER with the content BASE. */
@@ -47,4 +47,4 @@ int _gnutls_pathbuf_truncate(struct gnutls_pathbuf_st *buffer, size_t len);
/* Deinitialize BUFFER. */
void _gnutls_pathbuf_deinit(struct gnutls_pathbuf_st *buffer);
-#endif /* GNUTLS_LIB_PATHBUF_H */
+#endif /* GNUTLS_LIB_PATHBUF_H */
diff --git a/lib/pcert.c b/lib/pcert.c
index 84da6d2fd7..d50f664df6 100644
--- a/lib/pcert.c
+++ b/lib/pcert.c
@@ -44,8 +44,8 @@
*
* Since: 3.0
**/
-int gnutls_pcert_import_x509(gnutls_pcert_st * pcert,
- gnutls_x509_crt_t crt, unsigned int flags)
+int gnutls_pcert_import_x509(gnutls_pcert_st *pcert, gnutls_x509_crt_t crt,
+ unsigned int flags)
{
int ret;
@@ -76,7 +76,7 @@ int gnutls_pcert_import_x509(gnutls_pcert_st * pcert,
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&pcert->cert);
return ret;
@@ -104,8 +104,8 @@ int gnutls_pcert_import_x509(gnutls_pcert_st * pcert,
*
* Since: 3.4.0
**/
-int gnutls_pcert_import_x509_list(gnutls_pcert_st * pcert_list,
- gnutls_x509_crt_t * crt, unsigned *ncrt,
+int gnutls_pcert_import_x509_list(gnutls_pcert_st *pcert_list,
+ gnutls_x509_crt_t *crt, unsigned *ncrt,
unsigned int flags)
{
int ret;
@@ -142,12 +142,11 @@ int gnutls_pcert_import_x509_list(gnutls_pcert_st * pcert_list,
return 0;
- cleanup:
+cleanup:
for (i = 0; i < current; i++) {
gnutls_pcert_deinit(&pcert_list[i]);
}
return ret;
-
}
/**
@@ -172,12 +171,11 @@ int gnutls_pcert_import_x509_list(gnutls_pcert_st * pcert_list,
*
* Since: 3.0
**/
-int
-gnutls_pcert_list_import_x509_raw(gnutls_pcert_st * pcert_list,
- unsigned int *pcert_list_size,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format,
- unsigned int flags)
+int gnutls_pcert_list_import_x509_raw(gnutls_pcert_st *pcert_list,
+ unsigned int *pcert_list_size,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags)
{
int ret;
unsigned int i = 0, j;
@@ -189,9 +187,8 @@ gnutls_pcert_list_import_x509_raw(gnutls_pcert_st * pcert_list,
if (crt == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret =
- gnutls_x509_crt_list_import(crt, pcert_list_size, data, format,
- flags);
+ ret = gnutls_x509_crt_list_import(crt, pcert_list_size, data, format,
+ flags);
if (ret < 0) {
ret = gnutls_assert_val(ret);
goto cleanup_crt;
@@ -208,18 +205,17 @@ gnutls_pcert_list_import_x509_raw(gnutls_pcert_st * pcert_list,
ret = 0;
goto cleanup;
- cleanup_pcert:
+cleanup_pcert:
for (j = 0; j < i; j++)
gnutls_pcert_deinit(&pcert_list[j]);
- cleanup:
+cleanup:
for (i = 0; i < *pcert_list_size; i++)
gnutls_x509_crt_deinit(crt[i]);
- cleanup_crt:
+cleanup_crt:
gnutls_free(crt);
return ret;
-
}
/**
@@ -244,13 +240,10 @@ gnutls_pcert_list_import_x509_raw(gnutls_pcert_st * pcert_list,
*
* Since: 3.6.3
**/
-int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
- unsigned *pcert_list_size,
- const char *file,
- gnutls_x509_crt_fmt_t format,
- gnutls_pin_callback_t pin_fn,
- void *pin_fn_userdata,
- unsigned int flags)
+int gnutls_pcert_list_import_x509_file(
+ gnutls_pcert_st *pcert_list, unsigned *pcert_list_size,
+ const char *file, gnutls_x509_crt_fmt_t format,
+ gnutls_pin_callback_t pin_fn, void *pin_fn_userdata, unsigned int flags)
{
int ret, ret2;
unsigned i;
@@ -259,15 +252,12 @@ int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
gnutls_datum_t data = { NULL, 0 };
if (gnutls_url_is_supported(file) != 0) {
- ret =
- gnutls_x509_crt_list_import_url(&crts, &crts_size, file,
- pin_fn, pin_fn_userdata, 0);
+ ret = gnutls_x509_crt_list_import_url(
+ &crts, &crts_size, file, pin_fn, pin_fn_userdata, 0);
if (ret < 0) {
- ret2 =
- gnutls_x509_crt_list_import_url(&crts, &crts_size,
- file, pin_fn,
- pin_fn_userdata,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret2 = gnutls_x509_crt_list_import_url(
+ &crts, &crts_size, file, pin_fn,
+ pin_fn_userdata, GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret2 >= 0)
ret = ret2;
}
@@ -277,16 +267,14 @@ int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
goto cleanup;
}
- } else { /* file */
+ } else { /* file */
ret = gnutls_load_file(file, &data);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- format,
- flags |
- GNUTLS_X509_CRT_LIST_SORT);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &data, format,
+ flags | GNUTLS_X509_CRT_LIST_SORT);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -299,8 +287,8 @@ int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
goto cleanup;
}
- ret =
- gnutls_pcert_import_x509_list(pcert_list, crts, &crts_size, flags);
+ ret = gnutls_pcert_import_x509_list(pcert_list, crts, &crts_size,
+ flags);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -308,7 +296,7 @@ int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
*pcert_list_size = crts_size;
ret = 0;
- cleanup:
+cleanup:
for (i = 0; i < crts_size; i++)
gnutls_x509_crt_deinit(crts[i]);
gnutls_free(crts);
@@ -332,8 +320,8 @@ int gnutls_pcert_list_import_x509_file(gnutls_pcert_st * pcert_list,
*
* Since: 3.0
**/
-int gnutls_pcert_import_x509_raw(gnutls_pcert_st * pcert,
- const gnutls_datum_t * cert,
+int gnutls_pcert_import_x509_raw(gnutls_pcert_st *pcert,
+ const gnutls_datum_t *cert,
gnutls_x509_crt_fmt_t format,
unsigned int flags)
{
@@ -360,7 +348,7 @@ int gnutls_pcert_import_x509_raw(gnutls_pcert_st * pcert,
ret = 0;
- cleanup:
+cleanup:
gnutls_x509_crt_deinit(crt);
return ret;
@@ -383,8 +371,8 @@ int gnutls_pcert_import_x509_raw(gnutls_pcert_st * pcert,
*
* Since: 3.6.6
**/
-int gnutls_pcert_import_rawpk(gnutls_pcert_st * pcert,
- gnutls_pubkey_t pubkey, unsigned int flags)
+int gnutls_pcert_import_rawpk(gnutls_pcert_st *pcert, gnutls_pubkey_t pubkey,
+ unsigned int flags)
{
int ret;
@@ -435,8 +423,8 @@ int gnutls_pcert_import_rawpk(gnutls_pcert_st * pcert,
*
* Since: 3.6.6
**/
-int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st * pcert,
- const gnutls_datum_t * rawpubkey,
+int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st *pcert,
+ const gnutls_datum_t *rawpubkey,
gnutls_x509_crt_fmt_t format,
unsigned int key_usage, unsigned int flags)
{
@@ -467,9 +455,8 @@ int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st * pcert,
* convert if necessary.
*/
if (format == GNUTLS_X509_FMT_PEM) {
- ret = _gnutls_fbase64_decode(PEM_PK,
- rawpubkey->data, rawpubkey->size,
- &pcert->cert);
+ ret = _gnutls_fbase64_decode(PEM_PK, rawpubkey->data,
+ rawpubkey->size, &pcert->cert);
if (ret < 0) {
gnutls_pubkey_deinit(pcert->pubkey);
@@ -478,9 +465,8 @@ int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st * pcert,
}
} else {
// Directly copy the raw DER data to our pcert
- ret =
- _gnutls_set_datum(&pcert->cert, rawpubkey->data,
- rawpubkey->size);
+ ret = _gnutls_set_datum(&pcert->cert, rawpubkey->data,
+ rawpubkey->size);
if (ret < 0) {
gnutls_pubkey_deinit(pcert->pubkey);
@@ -509,7 +495,7 @@ int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st * pcert,
*
* Since: 3.4.0
*/
-int gnutls_pcert_export_x509(gnutls_pcert_st * pcert, gnutls_x509_crt_t * crt)
+int gnutls_pcert_export_x509(gnutls_pcert_st *pcert, gnutls_x509_crt_t *crt)
{
int ret;
@@ -541,7 +527,7 @@ int gnutls_pcert_export_x509(gnutls_pcert_st * pcert, gnutls_x509_crt_t * crt)
*
* Since: 3.0
**/
-void gnutls_pcert_deinit(gnutls_pcert_st * pcert)
+void gnutls_pcert_deinit(gnutls_pcert_st *pcert)
{
if (pcert->pubkey)
gnutls_pubkey_deinit(pcert->pubkey);
@@ -552,22 +538,19 @@ void gnutls_pcert_deinit(gnutls_pcert_st * pcert)
/* Converts the first certificate for the cert_auth_info structure
* to a pcert.
*/
-int
-_gnutls_get_auth_info_pcert(gnutls_pcert_st * pcert,
- gnutls_certificate_type_t type,
- cert_auth_info_t info)
+int _gnutls_get_auth_info_pcert(gnutls_pcert_st *pcert,
+ gnutls_certificate_type_t type,
+ cert_auth_info_t info)
{
switch (type) {
case GNUTLS_CRT_X509:
- return gnutls_pcert_import_x509_raw(pcert,
- &info->raw_certificate_list
- [0], GNUTLS_X509_FMT_DER,
- 0);
+ return gnutls_pcert_import_x509_raw(
+ pcert, &info->raw_certificate_list[0],
+ GNUTLS_X509_FMT_DER, 0);
case GNUTLS_CRT_RAWPK:
- return gnutls_pcert_import_rawpk_raw(pcert,
- &info->raw_certificate_list
- [0], GNUTLS_X509_FMT_DER,
- 0, 0);
+ return gnutls_pcert_import_rawpk_raw(
+ pcert, &info->raw_certificate_list[0],
+ GNUTLS_X509_FMT_DER, 0, 0);
default:
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
diff --git a/lib/pin.c b/lib/pin.c
index 427e8ac27d..728b546a47 100644
--- a/lib/pin.c
+++ b/lib/pin.c
@@ -63,21 +63,18 @@ gnutls_pin_callback_t gnutls_pkcs11_get_pin_function(void **userdata)
return NULL;
}
-int
-_gnutls_retrieve_pin(struct pin_info_st *pin_info, const char *url,
- const char *label, unsigned flags, char *pin,
- unsigned pin_size)
+int _gnutls_retrieve_pin(struct pin_info_st *pin_info, const char *url,
+ const char *label, unsigned flags, char *pin,
+ unsigned pin_size)
{
int ret;
if (pin_info && pin_info->cb)
- ret =
- pin_info->cb(pin_info->data, 0,
- (char *)url, label, flags, pin, pin_size);
+ ret = pin_info->cb(pin_info->data, 0, (char *)url, label, flags,
+ pin, pin_size);
else if (_gnutls_pin_func)
- ret =
- _gnutls_pin_func(_gnutls_pin_data, 0,
- (char *)url, label, flags, pin, pin_size);
+ ret = _gnutls_pin_func(_gnutls_pin_data, 0, (char *)url, label,
+ flags, pin, pin_size);
else
ret = gnutls_assert_val(GNUTLS_E_PKCS11_PIN_ERROR);
diff --git a/lib/pin.h b/lib/pin.h
index 81d05c969f..a625ef4ca7 100644
--- a/lib/pin.h
+++ b/lib/pin.h
@@ -1,12 +1,11 @@
#ifndef GNUTLS_LIB_PIN_H
-# define GNUTLS_LIB_PIN_H
+#define GNUTLS_LIB_PIN_H
extern gnutls_pin_callback_t _gnutls_pin_func;
extern void *_gnutls_pin_data;
-int
-_gnutls_retrieve_pin(struct pin_info_st *pin_info, const char *url,
- const char *label, unsigned pin_flags, char *pin,
- unsigned pin_size);
+int _gnutls_retrieve_pin(struct pin_info_st *pin_info, const char *url,
+ const char *label, unsigned pin_flags, char *pin,
+ unsigned pin_size);
-#endif /* GNUTLS_LIB_PIN_H */
+#endif /* GNUTLS_LIB_PIN_H */
diff --git a/lib/pk.c b/lib/pk.c
index 400d499892..c38c12985b 100644
--- a/lib/pk.c
+++ b/lib/pk.c
@@ -56,9 +56,8 @@
* Since: 3.6.0
*
**/
-int
-gnutls_encode_rs_value(gnutls_datum_t * sig_value,
- const gnutls_datum_t * r, const gnutls_datum_t * s)
+int gnutls_encode_rs_value(gnutls_datum_t *sig_value, const gnutls_datum_t *r,
+ const gnutls_datum_t *s)
{
return _gnutls_encode_ber_rs_raw(sig_value, r, s);
}
@@ -66,18 +65,16 @@ gnutls_encode_rs_value(gnutls_datum_t * sig_value,
/* same as gnutls_encode_rs_value(), but kept since it used
* to be exported for FIPS140 CAVS testing.
*/
-int
-_gnutls_encode_ber_rs_raw(gnutls_datum_t * sig_value,
- const gnutls_datum_t * r, const gnutls_datum_t * s)
+int _gnutls_encode_ber_rs_raw(gnutls_datum_t *sig_value,
+ const gnutls_datum_t *r, const gnutls_datum_t *s)
{
asn1_node sig;
int result, ret;
uint8_t *tmp = NULL;
- if ((result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.DSASignatureValue",
- &sig)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSASignatureValue", &sig)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -127,21 +124,20 @@ _gnutls_encode_ber_rs_raw(gnutls_datum_t * sig_value,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(tmp);
asn1_delete_structure(&sig);
return ret;
}
-int _gnutls_encode_ber_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s)
+int _gnutls_encode_ber_rs(gnutls_datum_t *sig_value, bigint_t r, bigint_t s)
{
asn1_node sig;
int result;
- if ((result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.DSASignatureValue",
- &sig)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSASignatureValue", &sig)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -171,17 +167,15 @@ int _gnutls_encode_ber_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s)
/* decodes the Dss-Sig-Value structure
*/
-int
-_gnutls_decode_ber_rs(const gnutls_datum_t * sig_value, bigint_t * r,
- bigint_t * s)
+int _gnutls_decode_ber_rs(const gnutls_datum_t *sig_value, bigint_t *r,
+ bigint_t *s)
{
asn1_node sig;
int result;
- if ((result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.DSASignatureValue",
- &sig)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSASignatureValue", &sig)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -189,7 +183,7 @@ _gnutls_decode_ber_rs(const gnutls_datum_t * sig_value, bigint_t * r,
/* rfc3279 doesn't specify whether Dss-Sig-Value is encoded
* as DER or BER. As such we do not restrict to the DER subset. */
result =
- asn1_der_decoding(&sig, sig_value->data, sig_value->size, NULL);
+ asn1_der_decoding(&sig, sig_value->data, sig_value->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&sig);
@@ -236,8 +230,8 @@ _gnutls_decode_ber_rs(const gnutls_datum_t * sig_value, bigint_t * r,
* Since: 3.6.0
*
**/
-int gnutls_decode_rs_value(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
- gnutls_datum_t * s)
+int gnutls_decode_rs_value(const gnutls_datum_t *sig_value, gnutls_datum_t *r,
+ gnutls_datum_t *s)
{
return _gnutls_decode_ber_rs_raw(sig_value, r, s);
}
@@ -245,17 +239,15 @@ int gnutls_decode_rs_value(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
/* same as gnutls_decode_rs_value(), but kept since it used
* to be exported for FIPS140 CAVS testing.
*/
-int
-_gnutls_decode_ber_rs_raw(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
- gnutls_datum_t * s)
+int _gnutls_decode_ber_rs_raw(const gnutls_datum_t *sig_value,
+ gnutls_datum_t *r, gnutls_datum_t *s)
{
asn1_node sig;
int result;
- if ((result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.DSASignatureValue",
- &sig)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSASignatureValue", &sig)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -263,7 +255,7 @@ _gnutls_decode_ber_rs_raw(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
/* rfc3279 doesn't specify whether Dss-Sig-Value is encoded
* as DER or BER. As such we do not restrict to the DER subset. */
result =
- asn1_der_decoding(&sig, sig_value->data, sig_value->size, NULL);
+ asn1_der_decoding(&sig, sig_value->data, sig_value->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&sig);
@@ -290,9 +282,8 @@ _gnutls_decode_ber_rs_raw(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
return 0;
}
-int
-_gnutls_encode_gost_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s,
- size_t intsize)
+int _gnutls_encode_gost_rs(gnutls_datum_t *sig_value, bigint_t r, bigint_t s,
+ size_t intsize)
{
uint8_t *data;
int result;
@@ -309,7 +300,8 @@ _gnutls_encode_gost_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s,
return result;
}
- if ((result = _gnutls_mpi_bprint_size(r, data + intsize, intsize)) < 0) {
+ if ((result = _gnutls_mpi_bprint_size(r, data + intsize, intsize)) <
+ 0) {
gnutls_assert();
gnutls_free(data);
return result;
@@ -321,9 +313,8 @@ _gnutls_encode_gost_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s,
return 0;
}
-int
-_gnutls_decode_gost_rs(const gnutls_datum_t * sig_value, bigint_t * r,
- bigint_t * s)
+int _gnutls_decode_gost_rs(const gnutls_datum_t *sig_value, bigint_t *r,
+ bigint_t *s)
{
int ret;
unsigned halfsize = sig_value->size >> 1;
@@ -362,9 +353,9 @@ _gnutls_decode_gost_rs(const gnutls_datum_t * sig_value, bigint_t * r,
*
* Since: 3.6.0
*/
-int gnutls_encode_gost_rs_value(gnutls_datum_t * sig_value,
- const gnutls_datum_t * r,
- const gnutls_datum_t * s)
+int gnutls_encode_gost_rs_value(gnutls_datum_t *sig_value,
+ const gnutls_datum_t *r,
+ const gnutls_datum_t *s)
{
uint8_t *data;
size_t intsize = r->size;
@@ -407,8 +398,8 @@ int gnutls_encode_gost_rs_value(gnutls_datum_t * sig_value,
*
* Since: 3.6.0
*/
-int gnutls_decode_gost_rs_value(const gnutls_datum_t * sig_value,
- gnutls_datum_t * r, gnutls_datum_t * s)
+int gnutls_decode_gost_rs_value(const gnutls_datum_t *sig_value,
+ gnutls_datum_t *r, gnutls_datum_t *s)
{
int ret;
unsigned halfsize = sig_value->size >> 1;
@@ -469,8 +460,8 @@ gnutls_gost_paramset_t _gnutls_gost_paramset_default(gnutls_pk_algorithm_t pk)
/* some generic pk functions */
-int _gnutls_pk_params_copy(gnutls_pk_params_st * dst,
- const gnutls_pk_params_st * src)
+int _gnutls_pk_params_copy(gnutls_pk_params_st *dst,
+ const gnutls_pk_params_st *src)
{
unsigned int i, j;
dst->params_nr = 0;
@@ -495,14 +486,14 @@ int _gnutls_pk_params_copy(gnutls_pk_params_st * dst,
dst->params_nr++;
}
- if (_gnutls_set_datum
- (&dst->raw_priv, src->raw_priv.data, src->raw_priv.size) < 0) {
+ if (_gnutls_set_datum(&dst->raw_priv, src->raw_priv.data,
+ src->raw_priv.size) < 0) {
gnutls_assert();
goto fail;
}
- if (_gnutls_set_datum
- (&dst->raw_pub, src->raw_pub.data, src->raw_pub.size) < 0) {
+ if (_gnutls_set_datum(&dst->raw_pub, src->raw_pub.data,
+ src->raw_pub.size) < 0) {
gnutls_assert();
goto fail;
}
@@ -517,18 +508,18 @@ int _gnutls_pk_params_copy(gnutls_pk_params_st * dst,
return 0;
- fail:
+fail:
for (j = 0; j < i; j++)
_gnutls_mpi_release(&dst->params[j]);
return GNUTLS_E_MEMORY_ERROR;
}
-void gnutls_pk_params_init(gnutls_pk_params_st * p)
+void gnutls_pk_params_init(gnutls_pk_params_st *p)
{
memset(p, 0, sizeof(gnutls_pk_params_st));
}
-void gnutls_pk_params_release(gnutls_pk_params_st * p)
+void gnutls_pk_params_release(gnutls_pk_params_st *p)
{
unsigned int i;
for (i = 0; i < p->params_nr; i++) {
@@ -540,7 +531,7 @@ void gnutls_pk_params_release(gnutls_pk_params_st * p)
p->params_nr = 0;
}
-void gnutls_pk_params_clear(gnutls_pk_params_st * p)
+void gnutls_pk_params_clear(gnutls_pk_params_st *p)
{
unsigned int i;
for (i = 0; i < p->params_nr; i++) {
@@ -555,9 +546,8 @@ void gnutls_pk_params_clear(gnutls_pk_params_st * p)
}
}
-int
-_gnutls_find_rsa_pss_salt_size(unsigned bits, const mac_entry_st * me,
- unsigned salt_size)
+int _gnutls_find_rsa_pss_salt_size(unsigned bits, const mac_entry_st *me,
+ unsigned salt_size)
{
unsigned digest_size;
int max_salt_size;
@@ -586,9 +576,8 @@ _gnutls_find_rsa_pss_salt_size(unsigned bits, const mac_entry_st * me,
/* Writes the digest information and the digest in a DER encoded
* structure. The digest info is allocated and stored into the info structure.
*/
-int
-encode_ber_digest_info(const mac_entry_st * e,
- const gnutls_datum_t * digest, gnutls_datum_t * output)
+int encode_ber_digest_info(const mac_entry_st *e, const gnutls_datum_t *digest,
+ gnutls_datum_t *output)
{
asn1_node dinfo = NULL;
int result;
@@ -612,8 +601,8 @@ encode_ber_digest_info(const mac_entry_st * e,
}
if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.DigestInfo",
- &dinfo)) != ASN1_SUCCESS) {
+ "GNUTLS.DigestInfo", &dinfo)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -691,10 +680,9 @@ encode_ber_digest_info(const mac_entry_st * e,
* Since: 3.5.0
*
**/
-int
-gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,
- const gnutls_datum_t * digest,
- gnutls_datum_t * output)
+int gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,
+ const gnutls_datum_t *digest,
+ gnutls_datum_t *output)
{
const mac_entry_st *e = hash_to_entry(hash);
if (unlikely(e == NULL))
@@ -719,10 +707,10 @@ gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,
* Since: 3.5.0
*
**/
-int
-gnutls_decode_ber_digest_info(const gnutls_datum_t * info,
- gnutls_digest_algorithm_t * hash,
- unsigned char *digest, unsigned int *digest_size)
+int gnutls_decode_ber_digest_info(const gnutls_datum_t *info,
+ gnutls_digest_algorithm_t *hash,
+ unsigned char *digest,
+ unsigned int *digest_size)
{
asn1_node dinfo = NULL;
int result;
@@ -730,8 +718,8 @@ gnutls_decode_ber_digest_info(const gnutls_datum_t * info,
int len;
if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.DigestInfo",
- &dinfo)) != ASN1_SUCCESS) {
+ "GNUTLS.DigestInfo", &dinfo)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -756,7 +744,6 @@ gnutls_decode_ber_digest_info(const gnutls_datum_t * info,
*hash = gnutls_oid_to_digest(str);
if (*hash == GNUTLS_DIG_UNKNOWN) {
-
_gnutls_debug_log("verify.c: HASH OID: %s\n", str);
gnutls_assert();
@@ -766,7 +753,7 @@ gnutls_decode_ber_digest_info(const gnutls_datum_t * info,
len = sizeof(str) - 1;
result =
- asn1_read_value(dinfo, "digestAlgorithm.parameters", str, &len);
+ asn1_read_value(dinfo, "digestAlgorithm.parameters", str, &len);
/* To avoid permitting garbage in the parameters field, either the
parameters field is not present, or it contains 0x05 0x00. */
if (!(result == ASN1_ELEMENT_NOT_FOUND ||
@@ -793,13 +780,12 @@ gnutls_decode_ber_digest_info(const gnutls_datum_t * info,
return 0;
}
-int
-_gnutls_params_get_rsa_raw(const gnutls_pk_params_st * params,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1,
- gnutls_datum_t * e2, unsigned int flags)
+int _gnutls_params_get_rsa_raw(const gnutls_pk_params_st *params,
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u,
+ gnutls_datum_t *e1, gnutls_datum_t *e2,
+ unsigned int flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_lz;
@@ -908,7 +894,7 @@ _gnutls_params_get_rsa_raw(const gnutls_pk_params_st * params,
return 0;
- error:
+error:
_gnutls_free_datum(m);
_gnutls_free_datum(d);
_gnutls_free_datum(e);
@@ -920,11 +906,10 @@ _gnutls_params_get_rsa_raw(const gnutls_pk_params_st * params,
return ret;
}
-int
-_gnutls_params_get_dsa_raw(const gnutls_pk_params_st * params,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x, unsigned int flags)
+int _gnutls_params_get_dsa_raw(const gnutls_pk_params_st *params,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x, unsigned int flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_lz;
@@ -1000,11 +985,10 @@ _gnutls_params_get_dsa_raw(const gnutls_pk_params_st * params,
return 0;
}
-int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st * params,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned int flags)
+int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st *params,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k,
+ unsigned int flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_lz;
@@ -1025,9 +1009,8 @@ int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st * params,
if (_curve_is_eddsa(e) || _curve_is_modern_ecdh(e)) {
if (x) {
- ret =
- _gnutls_set_datum(x, params->raw_pub.data,
- params->raw_pub.size);
+ ret = _gnutls_set_datum(x, params->raw_pub.data,
+ params->raw_pub.size);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -1039,9 +1022,8 @@ int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st * params,
}
if (k) {
- ret =
- _gnutls_set_datum(k, params->raw_priv.data,
- params->raw_priv.size);
+ ret = _gnutls_set_datum(k, params->raw_priv.data,
+ params->raw_priv.size);
if (ret < 0) {
_gnutls_free_datum(x);
return gnutls_assert_val(ret);
@@ -1085,16 +1067,14 @@ int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st * params,
}
return 0;
-
}
-int _gnutls_params_get_gost_raw(const gnutls_pk_params_st * params,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned int flags)
+int _gnutls_params_get_gost_raw(const gnutls_pk_params_st *params,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k, unsigned int flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_le;
@@ -1144,13 +1124,11 @@ int _gnutls_params_get_gost_raw(const gnutls_pk_params_st * params,
}
return 0;
-
}
-int
-pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st * hash,
- gnutls_pk_params_st * params,
- const gnutls_datum_t * data, gnutls_datum_t * digest)
+int pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st *hash,
+ gnutls_pk_params_st *params, const gnutls_datum_t *data,
+ gnutls_datum_t *digest)
{
int ret;
@@ -1161,9 +1139,8 @@ pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st * hash,
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- _gnutls_hash_fast((gnutls_digest_algorithm_t) hash->id, data->data,
- data->size, digest->data);
+ ret = _gnutls_hash_fast((gnutls_digest_algorithm_t)hash->id, data->data,
+ data->size, digest->data);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1171,7 +1148,7 @@ pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st * hash,
return 0;
- cleanup:
+cleanup:
gnutls_free(digest->data);
return ret;
}
@@ -1181,9 +1158,8 @@ pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st * hash,
* on the given digest. The given digest must be allocated
* and will be freed if replacement is required.
*/
-int
-pk_prepare_hash(gnutls_pk_algorithm_t pk,
- const mac_entry_st * hash, gnutls_datum_t * digest)
+int pk_prepare_hash(gnutls_pk_algorithm_t pk, const mac_entry_st *hash,
+ gnutls_datum_t *digest)
{
int ret;
gnutls_datum_t old_digest = { digest->data, digest->size };
@@ -1201,14 +1177,14 @@ pk_prepare_hash(gnutls_pk_algorithm_t pk,
case GNUTLS_MAC_SHA224:
break;
default:
- _gnutls_switch_fips_state
- (GNUTLS_FIPS140_OP_NOT_APPROVED);
+ _gnutls_switch_fips_state(
+ GNUTLS_FIPS140_OP_NOT_APPROVED);
}
/* Encode the digest as a DigestInfo
*/
- if ((ret =
- encode_ber_digest_info(hash, &old_digest, digest)) != 0) {
+ if ((ret = encode_ber_digest_info(hash, &old_digest, digest)) !=
+ 0) {
gnutls_assert();
return ret;
}
diff --git a/lib/pk.h b/lib/pk.h
index bc3a0950be..20fe314f94 100644
--- a/lib/pk.h
+++ b/lib/pk.h
@@ -21,109 +21,111 @@
*/
#ifndef GNUTLS_LIB_PK_H
-# define GNUTLS_LIB_PK_H
+#define GNUTLS_LIB_PK_H
extern int crypto_pk_prio;
extern gnutls_crypto_pk_st _gnutls_pk_ops;
-# define _gnutls_pk_encrypt( algo, ciphertext, plaintext, params) _gnutls_pk_ops.encrypt( algo, ciphertext, plaintext, params)
-# define _gnutls_pk_decrypt( algo, ciphertext, plaintext, params) _gnutls_pk_ops.decrypt( algo, ciphertext, plaintext, params)
-# define _gnutls_pk_decrypt2( algo, ciphertext, plaintext, size, params) _gnutls_pk_ops.decrypt2( algo, ciphertext, plaintext, size, params)
-# define _gnutls_pk_sign( algo, sig, data, params, sign_params) _gnutls_pk_ops.sign( algo, sig, data, params, sign_params)
-# define _gnutls_pk_verify( algo, data, sig, params, sign_params) _gnutls_pk_ops.verify( algo, data, sig, params, sign_params)
-# define _gnutls_pk_verify_priv_params( algo, params) _gnutls_pk_ops.verify_priv_params( algo, params)
-# define _gnutls_pk_verify_pub_params( algo, params) _gnutls_pk_ops.verify_pub_params( algo, params)
-# define _gnutls_pk_derive( algo, out, pub, priv) _gnutls_pk_ops.derive( algo, out, pub, priv, NULL, 0)
-# define _gnutls_pk_derive_nonce( algo, out, pub, priv, nonce) _gnutls_pk_ops.derive( algo, out, pub, priv, nonce, 0)
-# define _gnutls_pk_derive_tls13( algo, out, pub, priv) _gnutls_pk_ops.derive( algo, out, pub, priv, NULL, PK_DERIVE_TLS13)
-# define _gnutls_pk_generate_keys( algo, bits, params, temporal) _gnutls_pk_ops.generate_keys( algo, bits, params, temporal)
-# define _gnutls_pk_generate_params( algo, bits, priv) _gnutls_pk_ops.generate_params( algo, bits, priv)
-# define _gnutls_pk_hash_algorithm( pk, sig, params, hash) _gnutls_pk_ops.hash_algorithm(pk, sig, params, hash)
-# define _gnutls_pk_curve_exists( curve) _gnutls_pk_ops.curve_exists(curve)
-# define _gnutls_pk_exists(algo) _gnutls_pk_ops.pk_exists(algo)
-# define _gnutls_pk_sign_exists(algo) _gnutls_pk_ops.sign_exists(algo)
-
-inline static int
-_gnutls_pk_fixup(gnutls_pk_algorithm_t algo, gnutls_direction_t direction,
- gnutls_pk_params_st * params)
+#define _gnutls_pk_encrypt(algo, ciphertext, plaintext, params) \
+ _gnutls_pk_ops.encrypt(algo, ciphertext, plaintext, params)
+#define _gnutls_pk_decrypt(algo, ciphertext, plaintext, params) \
+ _gnutls_pk_ops.decrypt(algo, ciphertext, plaintext, params)
+#define _gnutls_pk_decrypt2(algo, ciphertext, plaintext, size, params) \
+ _gnutls_pk_ops.decrypt2(algo, ciphertext, plaintext, size, params)
+#define _gnutls_pk_sign(algo, sig, data, params, sign_params) \
+ _gnutls_pk_ops.sign(algo, sig, data, params, sign_params)
+#define _gnutls_pk_verify(algo, data, sig, params, sign_params) \
+ _gnutls_pk_ops.verify(algo, data, sig, params, sign_params)
+#define _gnutls_pk_verify_priv_params(algo, params) \
+ _gnutls_pk_ops.verify_priv_params(algo, params)
+#define _gnutls_pk_verify_pub_params(algo, params) \
+ _gnutls_pk_ops.verify_pub_params(algo, params)
+#define _gnutls_pk_derive(algo, out, pub, priv) \
+ _gnutls_pk_ops.derive(algo, out, pub, priv, NULL, 0)
+#define _gnutls_pk_derive_nonce(algo, out, pub, priv, nonce) \
+ _gnutls_pk_ops.derive(algo, out, pub, priv, nonce, 0)
+#define _gnutls_pk_derive_tls13(algo, out, pub, priv) \
+ _gnutls_pk_ops.derive(algo, out, pub, priv, NULL, PK_DERIVE_TLS13)
+#define _gnutls_pk_generate_keys(algo, bits, params, temporal) \
+ _gnutls_pk_ops.generate_keys(algo, bits, params, temporal)
+#define _gnutls_pk_generate_params(algo, bits, priv) \
+ _gnutls_pk_ops.generate_params(algo, bits, priv)
+#define _gnutls_pk_hash_algorithm(pk, sig, params, hash) \
+ _gnutls_pk_ops.hash_algorithm(pk, sig, params, hash)
+#define _gnutls_pk_curve_exists(curve) _gnutls_pk_ops.curve_exists(curve)
+#define _gnutls_pk_exists(algo) _gnutls_pk_ops.pk_exists(algo)
+#define _gnutls_pk_sign_exists(algo) _gnutls_pk_ops.sign_exists(algo)
+
+inline static int _gnutls_pk_fixup(gnutls_pk_algorithm_t algo,
+ gnutls_direction_t direction,
+ gnutls_pk_params_st *params)
{
if (_gnutls_pk_ops.pk_fixup_private_params)
- return _gnutls_pk_ops.pk_fixup_private_params(algo,
- direction,
+ return _gnutls_pk_ops.pk_fixup_private_params(algo, direction,
params);
return 0;
}
-int _gnutls_pk_params_copy(gnutls_pk_params_st * dst,
- const gnutls_pk_params_st * src);
+int _gnutls_pk_params_copy(gnutls_pk_params_st *dst,
+ const gnutls_pk_params_st *src);
/* The internal PK interface */
-int _gnutls_encode_ber_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s);
-int
-_gnutls_encode_ber_rs_raw(gnutls_datum_t * sig_value,
- const gnutls_datum_t * r, const gnutls_datum_t * s);
+int _gnutls_encode_ber_rs(gnutls_datum_t *sig_value, bigint_t r, bigint_t s);
+int _gnutls_encode_ber_rs_raw(gnutls_datum_t *sig_value,
+ const gnutls_datum_t *r, const gnutls_datum_t *s);
-int
-_gnutls_decode_ber_rs(const gnutls_datum_t * sig_value, bigint_t * r,
- bigint_t * s);
+int _gnutls_decode_ber_rs(const gnutls_datum_t *sig_value, bigint_t *r,
+ bigint_t *s);
-int
-_gnutls_decode_ber_rs_raw(const gnutls_datum_t * sig_value, gnutls_datum_t * r,
- gnutls_datum_t * s);
+int _gnutls_decode_ber_rs_raw(const gnutls_datum_t *sig_value,
+ gnutls_datum_t *r, gnutls_datum_t *s);
-int
-_gnutls_encode_gost_rs(gnutls_datum_t * sig_value, bigint_t r, bigint_t s,
- size_t intsize);
+int _gnutls_encode_gost_rs(gnutls_datum_t *sig_value, bigint_t r, bigint_t s,
+ size_t intsize);
-int
-_gnutls_decode_gost_rs(const gnutls_datum_t * sig_value, bigint_t * r,
- bigint_t * s);
+int _gnutls_decode_gost_rs(const gnutls_datum_t *sig_value, bigint_t *r,
+ bigint_t *s);
gnutls_digest_algorithm_t _gnutls_gost_digest(gnutls_pk_algorithm_t pk);
gnutls_pk_algorithm_t _gnutls_digest_gost(gnutls_digest_algorithm_t digest);
gnutls_gost_paramset_t _gnutls_gost_paramset_default(gnutls_pk_algorithm_t pk);
-int
-encode_ber_digest_info(const mac_entry_st * e,
- const gnutls_datum_t * digest, gnutls_datum_t * output);
-
-# define decode_ber_digest_info gnutls_decode_ber_digest_info
-
-int
-_gnutls_params_get_rsa_raw(const gnutls_pk_params_st * params,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1,
- gnutls_datum_t * e2, unsigned int flags);
-
-int
-_gnutls_params_get_dsa_raw(const gnutls_pk_params_st * params,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x, unsigned int flags);
-
-int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st * params,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned int flags);
-
-int _gnutls_params_get_gost_raw(const gnutls_pk_params_st * params,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned int flags);
-
-int pk_prepare_hash(gnutls_pk_algorithm_t pk, const mac_entry_st * hash,
- gnutls_datum_t * output);
-int pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st * hash,
- gnutls_pk_params_st * params, const gnutls_datum_t * data,
- gnutls_datum_t * digest);
-
-int _gnutls_find_rsa_pss_salt_size(unsigned bits, const mac_entry_st * me,
+int encode_ber_digest_info(const mac_entry_st *e, const gnutls_datum_t *digest,
+ gnutls_datum_t *output);
+
+#define decode_ber_digest_info gnutls_decode_ber_digest_info
+
+int _gnutls_params_get_rsa_raw(const gnutls_pk_params_st *params,
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u,
+ gnutls_datum_t *e1, gnutls_datum_t *e2,
+ unsigned int flags);
+
+int _gnutls_params_get_dsa_raw(const gnutls_pk_params_st *params,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x, unsigned int flags);
+
+int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st *params,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k,
+ unsigned int flags);
+
+int _gnutls_params_get_gost_raw(const gnutls_pk_params_st *params,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k, unsigned int flags);
+
+int pk_prepare_hash(gnutls_pk_algorithm_t pk, const mac_entry_st *hash,
+ gnutls_datum_t *output);
+int pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st *hash,
+ gnutls_pk_params_st *params, const gnutls_datum_t *data,
+ gnutls_datum_t *digest);
+
+int _gnutls_find_rsa_pss_salt_size(unsigned bits, const mac_entry_st *me,
unsigned salt_size);
-#endif /* GNUTLS_LIB_PK_H */
+#endif /* GNUTLS_LIB_PK_H */
diff --git a/lib/pkcs11.c b/lib/pkcs11.c
index 1db41ad9f6..96c4fe164f 100644
--- a/lib/pkcs11.c
+++ b/lib/pkcs11.c
@@ -47,11 +47,11 @@
#define MAX_SLOTS 48
#ifndef CKA_NSS_SERVER_DISTRUST_AFTER
-# define CKA_NSS_SERVER_DISTRUST_AFTER 0xce534373UL
+#define CKA_NSS_SERVER_DISTRUST_AFTER 0xce534373UL
#endif
#ifndef CKA_NSS_EMAIL_DISTRUST_AFTER
-# define CKA_NSS_EMAIL_DISTRUST_AFTER 0xce534374UL
+#define CKA_NSS_EMAIL_DISTRUST_AFTER 0xce534374UL
#endif
GNUTLS_STATIC_MUTEX(pkcs11_mutex);
@@ -60,21 +60,21 @@ struct gnutls_pkcs11_provider_st {
struct ck_function_list *module;
unsigned active;
unsigned custom_init;
- unsigned trusted; /* in the sense of p11-kit trusted:
+ unsigned trusted; /* in the sense of p11-kit trusted:
* it can be used for verification */
struct ck_info info;
};
struct find_flags_data_st {
struct p11_kit_uri *info;
- unsigned int slot_flags; /* Slot Information Flags */
- unsigned int token_flags; /* Token Information Flags */
+ unsigned int slot_flags; /* Slot Information Flags */
+ unsigned int token_flags; /* Token Information Flags */
unsigned int trusted;
};
struct find_single_obj_st {
gnutls_pkcs11_obj_t obj;
- bool overwrite_exts; /* only valid if looking for a certificate */
+ bool overwrite_exts; /* only valid if looking for a certificate */
};
struct find_obj_session_st {
@@ -90,13 +90,13 @@ struct find_multi_obj_st {
unsigned int current;
unsigned int flags;
struct p11_kit_uri *info;
- bool overwrite_exts; /* only valid if looking for a certificate */
+ bool overwrite_exts; /* only valid if looking for a certificate */
};
struct find_token_num {
struct p11_kit_uri *info;
- unsigned int seq; /* which one we are looking for */
- unsigned int current; /* which one are we now */
+ unsigned int seq; /* which one we are looking for */
+ unsigned int current; /* which one are we now */
};
struct find_token_modname {
@@ -125,7 +125,7 @@ struct find_cert_st {
unsigned need_import;
gnutls_pkcs11_obj_t obj;
- gnutls_x509_crt_t crt; /* used when compare flag is specified */
+ gnutls_x509_crt_t crt; /* used when compare flag is specified */
enum distrust_purpose distrust_purpose;
time_t distrust_after;
unsigned flags;
@@ -229,8 +229,8 @@ int pkcs11_rv_to_err(ck_rv_t rv)
}
}
-static int scan_slots(struct gnutls_pkcs11_provider_st *p,
- ck_slot_id_t * slots, unsigned long *nslots)
+static int scan_slots(struct gnutls_pkcs11_provider_st *p, ck_slot_id_t *slots,
+ unsigned long *nslots)
{
ck_rv_t rv;
@@ -242,9 +242,8 @@ static int scan_slots(struct gnutls_pkcs11_provider_st *p,
return 0;
}
-static int
-pkcs11_add_module(const char *name, struct ck_function_list *module,
- unsigned custom_init, const char *params)
+static int pkcs11_add_module(const char *name, struct ck_function_list *module,
+ unsigned custom_init, const char *params)
{
unsigned int i;
struct ck_info info;
@@ -336,8 +335,8 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,
case PROV_INIT_TRUSTED:
case PROV_INIT_MANUAL_TRUSTED:
if (providers_initialized < PROV_INIT_MANUAL_TRUSTED) {
- _gnutls_debug_log
- ("Initializing needed PKCS #11 modules\n");
+ _gnutls_debug_log(
+ "Initializing needed PKCS #11 modules\n");
ret = auto_load(1);
if (ret < 0) {
gnutls_assert();
@@ -345,7 +344,7 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,
if (providers_initialized == PROV_INIT_MANUAL)
providers_initialized =
- PROV_INIT_MANUAL_TRUSTED;
+ PROV_INIT_MANUAL_TRUSTED;
else
providers_initialized = PROV_INIT_TRUSTED;
@@ -355,8 +354,8 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,
case PROV_INIT_ALL:
if (providers_initialized == PROV_INIT_TRUSTED ||
providers_initialized == PROV_UNINITIALIZED) {
- _gnutls_debug_log
- ("Initializing all PKCS #11 modules\n");
+ _gnutls_debug_log(
+ "Initializing all PKCS #11 modules\n");
ret = gnutls_pkcs11_init(GNUTLS_PKCS11_FLAG_AUTO, NULL);
if (ret < 0) {
gnutls_assert();
@@ -370,7 +369,7 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,
ret = sret;
- cleanup:
+cleanup:
(void)gnutls_static_mutex_unlock(&pkcs11_mutex);
return ret;
@@ -449,10 +448,9 @@ int gnutls_pkcs11_add_provider(const char *name, const char *params)
return ret;
}
-static
-int add_obj_attrs(struct p11_kit_uri *info, struct ck_attribute a[4],
- unsigned *a_vals, ck_object_class_t * class,
- ck_certificate_type_t * type)
+static int add_obj_attrs(struct p11_kit_uri *info, struct ck_attribute a[4],
+ unsigned *a_vals, ck_object_class_t *class,
+ ck_certificate_type_t *type)
{
struct ck_attribute *attr;
@@ -489,7 +487,7 @@ int add_obj_attrs(struct p11_kit_uri *info, struct ck_attribute a[4],
(*a_vals)++;
}
- if (*type != (ck_certificate_type_t) - 1) {
+ if (*type != (ck_certificate_type_t)-1) {
a[(*a_vals)].type = CKA_CERTIFICATE_TYPE;
a[(*a_vals)].value = type;
a[(*a_vals)].value_len = sizeof *type;
@@ -515,10 +513,9 @@ int add_obj_attrs(struct p11_kit_uri *info, struct ck_attribute a[4],
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
- gnutls_pkcs11_obj_info_t itype,
- const void *data, size_t data_size, unsigned flags)
+int gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
+ gnutls_pkcs11_obj_info_t itype, const void *data,
+ size_t data_size, unsigned flags)
{
struct p11_kit_uri *info = obj->info;
struct pkcs11_session_info sinfo;
@@ -535,9 +532,9 @@ gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
PKCS11_CHECK_INIT;
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
if (ret < 0) {
gnutls_assert();
return ret;
@@ -568,9 +565,9 @@ gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
if (count > 1 || count == 0) {
gnutls_assert();
if (count > 1)
- _gnutls_debug_log
- ("p11: More than one objects match (%d)\n",
- (int)count);
+ _gnutls_debug_log(
+ "p11: More than one objects match (%d)\n",
+ (int)count);
ret = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
goto cleanup;
}
@@ -578,7 +575,7 @@ gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
switch (itype) {
case GNUTLS_PKCS11_OBJ_ID_HEX:
size = sizeof(tmp);
- ret = _gnutls_hex2bin(data, data_size, (uint8_t *) tmp, &size);
+ ret = _gnutls_hex2bin(data, data_size, (uint8_t *)tmp, &size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -624,7 +621,7 @@ gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
}
ret = 0;
- cleanup:
+cleanup:
pkcs11_close_session(&sinfo);
return ret;
}
@@ -653,19 +650,17 @@ gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_obj_get_info(gnutls_pkcs11_obj_t obj,
- gnutls_pkcs11_obj_info_t itype,
- void *output, size_t *output_size)
+int gnutls_pkcs11_obj_get_info(gnutls_pkcs11_obj_t obj,
+ gnutls_pkcs11_obj_info_t itype, void *output,
+ size_t *output_size)
{
return pkcs11_get_info(obj->info, itype, output, output_size);
}
-static int
-find_obj_session_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- void *input)
+static int find_obj_session_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info, void *input)
{
struct find_obj_session_st *find_data = input;
struct ck_attribute a[4];
@@ -677,7 +672,7 @@ find_obj_session_cb(struct ck_function_list *module,
ck_object_class_t class;
int found = 0, ret;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -703,7 +698,8 @@ find_obj_session_cb(struct ck_function_list *module,
}
if (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1, &count) ==
- CKR_OK && count == 1) {
+ CKR_OK &&
+ count == 1) {
find_data->ptr = sinfo->module;
find_data->pks = sinfo->pks;
find_data->slot_id = sinfo->sid;
@@ -722,7 +718,7 @@ find_obj_session_cb(struct ck_function_list *module,
ret = 0;
}
- cleanup:
+cleanup:
pkcs11_find_objects_final(sinfo);
return ret;
@@ -746,10 +742,9 @@ find_obj_session_cb(struct ck_function_list *module,
*
* Since: 3.6.3
**/
-int
-gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,
- void **session, void **ohandle,
- unsigned long *slot_id, unsigned int flags)
+int gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,
+ void **session, void **ohandle,
+ unsigned long *slot_id, unsigned int flags)
{
int ret;
struct find_obj_session_st find_data;
@@ -759,11 +754,9 @@ gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,
find_data.obj = obj;
- ret =
- _pkcs11_traverse_tokens(find_obj_session_cb, &find_data, obj->info,
- &obj->pin,
- SESSION_NO_CLOSE |
- pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(
+ find_obj_session_cb, &find_data, obj->info, &obj->pin,
+ SESSION_NO_CLOSE | pkcs11_obj_flags_to_int(flags));
if (ret < 0) {
gnutls_assert();
return ret;
@@ -781,10 +774,8 @@ gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,
return 0;
}
-int
-pkcs11_get_info(struct p11_kit_uri *info,
- gnutls_pkcs11_obj_info_t itype, void *output,
- size_t *output_size)
+int pkcs11_get_info(struct p11_kit_uri *info, gnutls_pkcs11_obj_info_t itype,
+ void *output, size_t *output_size)
{
struct ck_attribute *attr = NULL;
struct ck_version *version = NULL;
@@ -855,14 +846,13 @@ pkcs11_get_info(struct p11_kit_uri *info,
terminate = 1;
} else if (version != NULL) {
data = buf;
- length =
- snprintf(buf, sizeof(buf), "%d.%d",
- (int)version->major, (int)version->minor);
+ length = snprintf(buf, sizeof(buf), "%d.%d",
+ (int)version->major, (int)version->minor);
terminate = 1;
} else {
*output_size = 0;
if (output)
- ((uint8_t *) output)[0] = 0;
+ ((uint8_t *)output)[0] = 0;
return 0;
}
@@ -929,8 +919,8 @@ static void compat_load(const char *configfile)
ret = gnutls_pkcs11_add_provider(library, NULL);
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("Cannot load provider: %s\n", library);
+ _gnutls_debug_log("Cannot load provider: %s\n",
+ library);
continue;
}
}
@@ -946,14 +936,12 @@ static int auto_load(unsigned trusted)
int i, ret;
char *name;
- modules =
- p11_kit_modules_load_and_initialize(trusted ? P11_KIT_MODULE_TRUSTED
- : 0);
+ modules = p11_kit_modules_load_and_initialize(
+ trusted ? P11_KIT_MODULE_TRUSTED : 0);
if (modules == NULL) {
gnutls_assert();
- _gnutls_debug_log
- ("Cannot initialize registered modules: %s\n",
- p11_kit_message());
+ _gnutls_debug_log("Cannot initialize registered modules: %s\n",
+ p11_kit_message());
return GNUTLS_E_PKCS11_LOAD_ERROR;
}
@@ -964,8 +952,8 @@ static int auto_load(unsigned trusted)
ret = pkcs11_add_module(name, modules[i], 0, NULL);
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("Cannot load PKCS #11 module: %s\n", name);
+ _gnutls_debug_log("Cannot load PKCS #11 module: %s\n",
+ name);
}
free(name);
}
@@ -1044,16 +1032,16 @@ static int _gnutls_pkcs11_reinit(void)
for (i = 0; i < active_providers; i++) {
if (providers[i].module != NULL) {
rv = p11_kit_module_initialize(providers[i].module);
- if (rv == CKR_OK
- || rv == CKR_CRYPTOKI_ALREADY_INITIALIZED) {
+ if (rv == CKR_OK ||
+ rv == CKR_CRYPTOKI_ALREADY_INITIALIZED) {
providers[i].active = 1;
} else {
providers[i].active = 0;
- _gnutls_debug_log
- ("Cannot re-initialize registered module '%.*s': %s\n",
- (int)32,
- providers[i].info.library_description,
- p11_kit_strerror(rv));
+ _gnutls_debug_log(
+ "Cannot re-initialize registered module '%.*s': %s\n",
+ (int)32,
+ providers[i].info.library_description,
+ p11_kit_strerror(rv));
}
}
}
@@ -1113,7 +1101,6 @@ void gnutls_pkcs11_deinit(void)
for (i = 0; i < active_providers; i++) {
if (providers[i].active) {
-
if (!providers[i].custom_init)
p11_kit_module_finalize(providers[i].module);
else
@@ -1140,9 +1127,8 @@ void gnutls_pkcs11_deinit(void)
*
* Since: 2.12.0
**/
-void
-gnutls_pkcs11_set_token_function(gnutls_pkcs11_token_callback_t fn,
- void *userdata)
+void gnutls_pkcs11_set_token_function(gnutls_pkcs11_token_callback_t fn,
+ void *userdata)
{
_gnutls_token_func = fn;
_gnutls_token_data = userdata;
@@ -1172,8 +1158,8 @@ int pkcs11_url_to_info(const char *url, struct p11_kit_uri **info,
*info = NULL;
}
gnutls_assert();
- return ret == P11_KIT_URI_NO_MEMORY ?
- GNUTLS_E_MEMORY_ERROR : GNUTLS_E_PARSING_ERROR;
+ return ret == P11_KIT_URI_NO_MEMORY ? GNUTLS_E_MEMORY_ERROR :
+ GNUTLS_E_PARSING_ERROR;
}
/* check for incomplete/invalid URIs */
@@ -1200,9 +1186,8 @@ int pkcs11_url_to_info(const char *url, struct p11_kit_uri **info,
return 0;
}
-int
-pkcs11_info_to_url(struct p11_kit_uri *info,
- gnutls_pkcs11_url_type_t detailed, char **url)
+int pkcs11_info_to_url(struct p11_kit_uri *info,
+ gnutls_pkcs11_url_type_t detailed, char **url)
{
p11_kit_uri_type_t type = 0;
int ret;
@@ -1215,17 +1200,16 @@ pkcs11_info_to_url(struct p11_kit_uri *info,
type = P11_KIT_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE;
break;
case GNUTLS_PKCS11_URL_LIB_VERSION:
- type =
- P11_KIT_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE |
- P11_KIT_URI_FOR_MODULE_WITH_VERSION;
+ type = P11_KIT_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE |
+ P11_KIT_URI_FOR_MODULE_WITH_VERSION;
break;
}
ret = p11_kit_uri_format(info, type, url);
if (ret < 0) {
gnutls_assert();
- return ret == P11_KIT_URI_NO_MEMORY ?
- GNUTLS_E_MEMORY_ERROR : GNUTLS_E_INTERNAL_ERROR;
+ return ret == P11_KIT_URI_NO_MEMORY ? GNUTLS_E_MEMORY_ERROR :
+ GNUTLS_E_INTERNAL_ERROR;
}
return 0;
@@ -1242,7 +1226,7 @@ pkcs11_info_to_url(struct p11_kit_uri *info,
*
* Since: 2.12.0
**/
-int gnutls_pkcs11_obj_init(gnutls_pkcs11_obj_t * obj)
+int gnutls_pkcs11_obj_init(gnutls_pkcs11_obj_t *obj)
{
*obj = gnutls_calloc(1, sizeof(struct gnutls_pkcs11_obj_st));
if (*obj == NULL) {
@@ -1272,9 +1256,9 @@ int gnutls_pkcs11_obj_init(gnutls_pkcs11_obj_t * obj)
*
* Since: 3.1.0
**/
-void
-gnutls_pkcs11_obj_set_pin_function(gnutls_pkcs11_obj_t obj,
- gnutls_pin_callback_t fn, void *userdata)
+void gnutls_pkcs11_obj_set_pin_function(gnutls_pkcs11_obj_t obj,
+ gnutls_pin_callback_t fn,
+ void *userdata)
{
obj->pin.cb = fn;
obj->pin.data = userdata;
@@ -1318,9 +1302,8 @@ void gnutls_pkcs11_obj_deinit(gnutls_pkcs11_obj_t obj)
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_obj_export(gnutls_pkcs11_obj_t obj,
- void *output_data, size_t *output_data_size)
+int gnutls_pkcs11_obj_export(gnutls_pkcs11_obj_t obj, void *output_data,
+ size_t *output_data_size)
{
if (obj == NULL || obj->raw.data == NULL) {
gnutls_assert();
@@ -1354,7 +1337,7 @@ gnutls_pkcs11_obj_export(gnutls_pkcs11_obj_t obj,
*
* Since: 3.1.3
**/
-int gnutls_pkcs11_obj_export2(gnutls_pkcs11_obj_t obj, gnutls_datum_t * out)
+int gnutls_pkcs11_obj_export2(gnutls_pkcs11_obj_t obj, gnutls_datum_t *out)
{
return gnutls_pkcs11_obj_export3(obj, GNUTLS_X509_FMT_DER, out);
}
@@ -1376,9 +1359,8 @@ int gnutls_pkcs11_obj_export2(gnutls_pkcs11_obj_t obj, gnutls_datum_t * out)
*
* Since: 3.2.7
**/
-int
-gnutls_pkcs11_obj_export3(gnutls_pkcs11_obj_t obj,
- gnutls_x509_crt_fmt_t fmt, gnutls_datum_t * out)
+int gnutls_pkcs11_obj_export3(gnutls_pkcs11_obj_t obj,
+ gnutls_x509_crt_fmt_t fmt, gnutls_datum_t *out)
{
int ret;
@@ -1390,48 +1372,45 @@ gnutls_pkcs11_obj_export3(gnutls_pkcs11_obj_t obj,
switch (obj->type) {
case GNUTLS_PKCS11_OBJ_X509_CRT:
if (obj->raw.data == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
if (fmt == GNUTLS_X509_FMT_PEM) {
- return
- gnutls_pem_base64_encode2(PEM_X509_CERT2,
- &obj->raw, out);
+ return gnutls_pem_base64_encode2(PEM_X509_CERT2,
+ &obj->raw, out);
} else {
return _gnutls_set_datum(out, obj->raw.data,
obj->raw.size);
}
- case GNUTLS_PKCS11_OBJ_PUBKEY:{
- /* that approach allows to return a public key even if
+ case GNUTLS_PKCS11_OBJ_PUBKEY: {
+ /* that approach allows to return a public key even if
* CKA_VALUE is not set */
- gnutls_pubkey_t pubkey;
+ gnutls_pubkey_t pubkey;
- ret = gnutls_pubkey_init(&pubkey);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ ret = gnutls_pubkey_init(&pubkey);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ret = gnutls_pubkey_import_pkcs11(pubkey, obj, 0);
- if (ret < 0) {
- gnutls_assert();
- goto pcleanup;
- }
+ ret = gnutls_pubkey_import_pkcs11(pubkey, obj, 0);
+ if (ret < 0) {
+ gnutls_assert();
+ goto pcleanup;
+ }
- ret = gnutls_pubkey_export2(pubkey, fmt, out);
+ ret = gnutls_pubkey_export2(pubkey, fmt, out);
- pcleanup:
- gnutls_pubkey_deinit(pubkey);
- return ret;
- }
+ pcleanup:
+ gnutls_pubkey_deinit(pubkey);
+ return ret;
+ }
default:
if (obj->raw.data == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
if (fmt == GNUTLS_X509_FMT_PEM) {
- return gnutls_pem_base64_encode2("DATA",
- &obj->raw, out);
+ return gnutls_pem_base64_encode2("DATA", &obj->raw,
+ out);
} else {
return _gnutls_set_datum(out, obj->raw.data,
obj->raw.size);
@@ -1439,11 +1418,9 @@ gnutls_pkcs11_obj_export3(gnutls_pkcs11_obj_t obj,
}
}
-int
-pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t * slot,
- struct p11_kit_uri *info,
- struct ck_token_info *_tinfo,
- struct ck_slot_info *_slot_info, unsigned int *trusted)
+int pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t *slot,
+ struct p11_kit_uri *info, struct ck_token_info *_tinfo,
+ struct ck_slot_info *_slot_info, unsigned int *trusted)
{
unsigned int x, z;
int ret;
@@ -1469,8 +1446,8 @@ pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t * slot,
struct ck_token_info tinfo;
struct ck_slot_info sinfo;
- if (pkcs11_get_token_info
- (providers[x].module, slots[z], &tinfo) != CKR_OK) {
+ if (pkcs11_get_token_info(providers[x].module, slots[z],
+ &tinfo) != CKR_OK) {
continue;
}
@@ -1478,8 +1455,8 @@ pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t * slot,
continue;
}
- if (pkcs11_get_slot_info
- (providers[x].module, slots[z], &sinfo) != CKR_OK) {
+ if (pkcs11_get_slot_info(providers[x].module, slots[z],
+ &sinfo) != CKR_OK) {
continue;
}
@@ -1504,10 +1481,9 @@ pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t * slot,
return GNUTLS_E_PKCS11_REQUESTED_OBJECT_NOT_AVAILBLE;
}
-int
-pkcs11_open_session(struct pkcs11_session_info *sinfo,
- struct pin_info_st *pin_info,
- struct p11_kit_uri *info, unsigned int flags)
+int pkcs11_open_session(struct pkcs11_session_info *sinfo,
+ struct pin_info_st *pin_info, struct p11_kit_uri *info,
+ unsigned int flags)
{
ck_rv_t rv;
int ret;
@@ -1518,16 +1494,18 @@ pkcs11_open_session(struct pkcs11_session_info *sinfo,
memset(sinfo, 0, sizeof(*sinfo));
- ret = pkcs11_find_slot(&module, &slot, info, &tinfo,
- &sinfo->slot_info, &sinfo->trusted);
+ ret = pkcs11_find_slot(&module, &slot, info, &tinfo, &sinfo->slot_info,
+ &sinfo->trusted);
if (ret < 0) {
gnutls_assert();
return ret;
}
- rv = (module)->C_OpenSession(slot, ((flags & SESSION_WRITE)
- ? CKF_RW_SESSION : 0) |
- CKF_SERIAL_SESSION, NULL, NULL, &pks);
+ rv = (module)->C_OpenSession(slot,
+ ((flags & SESSION_WRITE) ? CKF_RW_SESSION :
+ 0) |
+ CKF_SERIAL_SESSION,
+ NULL, NULL, &pks);
if (rv != CKR_OK) {
gnutls_assert();
return pkcs11_rv_to_err(rv);
@@ -1550,10 +1528,9 @@ pkcs11_open_session(struct pkcs11_session_info *sinfo,
return 0;
}
-int
-_pkcs11_traverse_tokens(find_func_t find_func, void *input,
- struct p11_kit_uri *info,
- struct pin_info_st *pin_info, unsigned int flags)
+int _pkcs11_traverse_tokens(find_func_t find_func, void *input,
+ struct p11_kit_uri *info,
+ struct pin_info_st *pin_info, unsigned int flags)
{
ck_rv_t rv;
unsigned int found = 0, x, z;
@@ -1571,9 +1548,8 @@ _pkcs11_traverse_tokens(find_func_t find_func, void *input,
if (flags & SESSION_TRUSTED && providers[x].trusted == 0)
continue;
- if (info
- && !p11_kit_uri_match_module_info(info,
- &providers[x].info)) {
+ if (info &&
+ !p11_kit_uri_match_module_info(info, &providers[x].info)) {
continue;
}
@@ -1589,26 +1565,26 @@ _pkcs11_traverse_tokens(find_func_t find_func, void *input,
struct ck_token_info l_tinfo;
struct ck_slot_info l_sinfo;
- if (pkcs11_get_token_info(module, slots[z],
- &l_tinfo) != CKR_OK) {
+ if (pkcs11_get_token_info(module, slots[z], &l_tinfo) !=
+ CKR_OK) {
continue;
}
- if (info
- && !p11_kit_uri_match_token_info(info, &l_tinfo)) {
+ if (info &&
+ !p11_kit_uri_match_token_info(info, &l_tinfo)) {
continue;
}
- if (pkcs11_get_slot_info(module, slots[z],
- &l_sinfo) != CKR_OK) {
+ if (pkcs11_get_slot_info(module, slots[z], &l_sinfo) !=
+ CKR_OK) {
continue;
}
- rv = (module)->C_OpenSession(slots[z],
- ((flags & SESSION_WRITE) ?
- CKF_RW_SESSION : 0)
- | CKF_SERIAL_SESSION, NULL,
- NULL, &pks);
+ rv = (module)->C_OpenSession(
+ slots[z],
+ ((flags & SESSION_WRITE) ? CKF_RW_SESSION : 0) |
+ CKF_SERIAL_SESSION,
+ NULL, NULL, &pks);
if (rv != CKR_OK) {
continue;
}
@@ -1635,9 +1611,8 @@ _pkcs11_traverse_tokens(find_func_t find_func, void *input,
continue;
}
- ret =
- find_func(providers[x].module, &sinfo, &l_tinfo,
- &providers[x].info, input);
+ ret = find_func(providers[x].module, &sinfo, &l_tinfo,
+ &providers[x].info, input);
if (ret == 0) {
found = 1;
@@ -1649,20 +1624,18 @@ _pkcs11_traverse_tokens(find_func_t find_func, void *input,
}
}
- finish:
+finish:
/* final call */
if (found == 0) {
if (module) {
sinfo.module = module;
sinfo.pks = pks;
- ret =
- find_func(providers[x].module, &sinfo, NULL, NULL,
- input);
+ ret = find_func(providers[x].module, &sinfo, NULL, NULL,
+ input);
} else
- ret =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
} else {
ret = 0;
}
@@ -1719,12 +1692,12 @@ static gnutls_pkcs11_obj_type_t pkcs11_class_to_type(ck_object_class_t class)
/* imports an object from a token to a pkcs11_obj_t type.
*/
-static int
-pkcs11_obj_import(ck_object_class_t class, gnutls_pkcs11_obj_t obj,
- const gnutls_datum_t * data,
- const gnutls_datum_t * id,
- const gnutls_datum_t * label,
- struct ck_token_info *tinfo, struct ck_info *lib_info)
+static int pkcs11_obj_import(ck_object_class_t class, gnutls_pkcs11_obj_t obj,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *id,
+ const gnutls_datum_t *label,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info)
{
struct ck_attribute attr;
int ret;
@@ -1779,9 +1752,9 @@ pkcs11_obj_import(ck_object_class_t class, gnutls_pkcs11_obj_t obj,
return 0;
}
-int pkcs11_read_pubkey(struct ck_function_list *module,
- ck_session_handle_t pks, ck_object_handle_t ctx,
- ck_key_type_t key_type, gnutls_pkcs11_obj_t pobj)
+int pkcs11_read_pubkey(struct ck_function_list *module, ck_session_handle_t pks,
+ ck_object_handle_t ctx, ck_key_type_t key_type,
+ gnutls_pkcs11_obj_t pobj)
{
struct ck_attribute a[4];
uint8_t *tmp1;
@@ -1812,7 +1785,6 @@ int pkcs11_read_pubkey(struct ck_function_list *module,
if (pkcs11_get_attribute_value(module, pks, ctx, a, 2) ==
CKR_OK) {
-
pobj->pubkey[0].data = a[0].value;
pobj->pubkey[0].size = a[0].value_len;
@@ -1836,15 +1808,13 @@ int pkcs11_read_pubkey(struct ck_function_list *module,
if ((rv = pkcs11_get_attribute_value(module, pks, ctx, a, 2)) ==
CKR_OK) {
- ret =
- _gnutls_set_datum(&pobj->pubkey[0], a[0].value,
- a[0].value_len);
+ ret = _gnutls_set_datum(&pobj->pubkey[0], a[0].value,
+ a[0].value_len);
if (ret >= 0)
- ret =
- _gnutls_set_datum(&pobj->pubkey
- [1], a[1].value,
- a[1].value_len);
+ ret = _gnutls_set_datum(&pobj->pubkey[1],
+ a[1].value,
+ a[1].value_len);
if (ret < 0) {
gnutls_assert();
@@ -1894,7 +1864,6 @@ int pkcs11_read_pubkey(struct ck_function_list *module,
if ((rv = pkcs11_get_attribute_value(module, pks, ctx, a, 2)) ==
CKR_OK) {
-
pobj->pubkey[0].data = a[0].value;
pobj->pubkey[0].size = a[0].value_len;
@@ -1922,7 +1891,6 @@ int pkcs11_read_pubkey(struct ck_function_list *module,
if ((rv = pkcs11_get_attribute_value(module, pks, ctx, a, 2)) ==
CKR_OK) {
-
pobj->pubkey[0].data = a[0].value;
pobj->pubkey[0].size = a[0].value_len;
@@ -1940,16 +1908,16 @@ int pkcs11_read_pubkey(struct ck_function_list *module,
break;
#endif
default:
- _gnutls_debug_log
- ("requested reading public key of unsupported type %u\n",
- (unsigned)key_type);
+ _gnutls_debug_log(
+ "requested reading public key of unsupported type %u\n",
+ (unsigned)key_type);
ret = gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
goto cleanup;
}
return 0;
- cleanup:
+cleanup:
gnutls_free(tmp1);
gnutls_free(tmp2);
@@ -1958,12 +1926,9 @@ int pkcs11_read_pubkey(struct ck_function_list *module,
static int
pkcs11_obj_import_pubkey(struct ck_function_list *module,
- ck_session_handle_t pks,
- ck_object_handle_t ctx,
- gnutls_pkcs11_obj_t pobj,
- gnutls_datum_t * data,
- const gnutls_datum_t * id,
- const gnutls_datum_t * label,
+ ck_session_handle_t pks, ck_object_handle_t ctx,
+ gnutls_pkcs11_obj_t pobj, gnutls_datum_t *data,
+ const gnutls_datum_t *id, const gnutls_datum_t *label,
struct ck_token_info *tinfo, struct ck_info *lib_info)
{
struct ck_attribute a[4];
@@ -2001,8 +1966,9 @@ pkcs11_obj_import_pubkey(struct ck_function_list *module,
if (pkcs11_get_attribute_value(module, pks, ctx, a, 1) == CKR_OK) {
if (tval != 0) {
pobj->key_usage |= GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_CERT_SIGN | GNUTLS_KEY_CRL_SIGN
- | GNUTLS_KEY_NON_REPUDIATION;
+ GNUTLS_KEY_KEY_CERT_SIGN |
+ GNUTLS_KEY_CRL_SIGN |
+ GNUTLS_KEY_NON_REPUDIATION;
}
}
@@ -2013,8 +1979,9 @@ pkcs11_obj_import_pubkey(struct ck_function_list *module,
if (pkcs11_get_attribute_value(module, pks, ctx, a, 1) == CKR_OK) {
if (tval != 0) {
pobj->key_usage |= GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_CERT_SIGN | GNUTLS_KEY_CRL_SIGN
- | GNUTLS_KEY_NON_REPUDIATION;
+ GNUTLS_KEY_KEY_CERT_SIGN |
+ GNUTLS_KEY_CRL_SIGN |
+ GNUTLS_KEY_NON_REPUDIATION;
}
}
@@ -2038,16 +2005,16 @@ pkcs11_obj_import_pubkey(struct ck_function_list *module,
}
}
- ret = pkcs11_obj_import(CKO_PUBLIC_KEY, pobj, data, id, label,
- tinfo, lib_info);
+ ret = pkcs11_obj_import(CKO_PUBLIC_KEY, pobj, data, id, label, tinfo,
+ lib_info);
return ret;
}
-static int
-pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t class,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- gnutls_pkcs11_obj_t pobj)
+static int pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t class,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info,
+ gnutls_pkcs11_obj_t pobj)
{
ck_bool_t b;
int rv, ret;
@@ -2091,7 +2058,7 @@ pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t class,
if (rv == CKR_OK && b != 0)
pobj->flags |= GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED;
- if (sinfo->trusted) { /* only p11-kit "trusted" modules support this flag */
+ if (sinfo->trusted) { /* only p11-kit "trusted" modules support this flag */
a[0].type = CKA_X_DISTRUSTED;
a[0].value = &b;
a[0].value_len = sizeof(b);
@@ -2112,7 +2079,7 @@ pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t class,
pobj->flags |= GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE;
else
pobj->flags |=
- GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE;
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE;
}
a[0].type = CKA_EXTRACTABLE;
@@ -2177,26 +2144,20 @@ pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t class,
if (label.data == NULL && id.data == NULL)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- rv = pkcs11_get_attribute_avalue
- (sinfo->module, sinfo->pks, ctx, CKA_VALUE, &data);
+ rv = pkcs11_get_attribute_avalue(sinfo->module, sinfo->pks, ctx,
+ CKA_VALUE, &data);
if (rv != CKR_OK) {
gnutls_assert();
/* data will be null */
}
if (class == CKO_PUBLIC_KEY) {
- ret =
- pkcs11_obj_import_pubkey(sinfo->module,
- sinfo->pks,
- ctx,
- pobj,
- &data,
- &id, &label, tinfo, lib_info);
+ ret = pkcs11_obj_import_pubkey(sinfo->module, sinfo->pks, ctx,
+ pobj, &data, &id, &label, tinfo,
+ lib_info);
} else {
- ret =
- pkcs11_obj_import(class,
- pobj,
- &data, &id, &label, tinfo, lib_info);
+ ret = pkcs11_obj_import(class, pobj, &data, &id, &label, tinfo,
+ lib_info);
}
if (ret < 0) {
gnutls_assert();
@@ -2204,16 +2165,15 @@ pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t class,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(data.data);
return ret;
}
-static int
-find_single_obj_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- void *input)
+static int find_single_obj_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info, void *input)
{
struct find_single_obj_st *find_data = input;
struct ck_attribute a[4];
@@ -2225,15 +2185,15 @@ find_single_obj_cb(struct ck_function_list *module,
unsigned a_vals;
int found = 0, ret;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
/* do not bother reading the token if basic fields do not match
*/
- if (!p11_kit_uri_match_token_info(find_data->obj->info, tinfo)
- || !p11_kit_uri_match_module_info(find_data->obj->info, lib_info)) {
+ if (!p11_kit_uri_match_token_info(find_data->obj->info, tinfo) ||
+ !p11_kit_uri_match_module_info(find_data->obj->info, lib_info)) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -2251,10 +2211,10 @@ find_single_obj_cb(struct ck_function_list *module,
}
if (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1, &count) ==
- CKR_OK && count == 1) {
- ret =
- pkcs11_import_object(ctx, class, sinfo, tinfo, lib_info,
- find_data->obj);
+ CKR_OK &&
+ count == 1) {
+ ret = pkcs11_import_object(ctx, class, sinfo, tinfo, lib_info,
+ find_data->obj);
if (ret >= 0) {
found = 1;
}
@@ -2269,18 +2229,17 @@ find_single_obj_cb(struct ck_function_list *module,
ret = 0;
}
- cleanup:
+cleanup:
pkcs11_find_objects_final(sinfo);
- if (ret == 0 && find_data->overwrite_exts
- && find_data->obj->raw.size > 0 && ctx != CK_INVALID_HANDLE) {
+ if (ret == 0 && find_data->overwrite_exts &&
+ find_data->obj->raw.size > 0 && ctx != CK_INVALID_HANDLE) {
gnutls_datum_t spki;
rv = pkcs11_get_attribute_avalue(sinfo->module, sinfo->pks, ctx,
CKA_PUBLIC_KEY_INFO, &spki);
if (rv == CKR_OK) {
- ret =
- pkcs11_override_cert_exts(sinfo, &spki,
- &find_data->obj->raw);
+ ret = pkcs11_override_cert_exts(sinfo, &spki,
+ &find_data->obj->raw);
gnutls_free(spki.data);
if (ret < 0) {
gnutls_assert();
@@ -2300,9 +2259,8 @@ unsigned int pkcs11_obj_flags_to_int(unsigned int flags)
ret_flags |= SESSION_LOGIN | SESSION_FORCE_LOGIN;
if (flags & GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO)
- ret_flags |=
- SESSION_LOGIN | SESSION_SO | SESSION_FORCE_LOGIN |
- SESSION_WRITE;
+ ret_flags |= SESSION_LOGIN | SESSION_SO | SESSION_FORCE_LOGIN |
+ SESSION_WRITE;
if (flags & GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE)
ret_flags |= SESSION_TRUSTED;
@@ -2330,9 +2288,8 @@ unsigned int pkcs11_obj_flags_to_int(unsigned int flags)
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj, const char *url,
- unsigned int flags)
+int gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj, const char *url,
+ unsigned int flags)
{
int ret;
struct find_single_obj_st find_data;
@@ -2353,9 +2310,9 @@ gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj, const char *url,
find_data.overwrite_exts = 1;
}
- ret =
- _pkcs11_traverse_tokens(find_single_obj_cb, &find_data, obj->info,
- &obj->pin, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_single_obj_cb, &find_data, obj->info,
+ &obj->pin,
+ pkcs11_obj_flags_to_int(flags));
if (ret < 0) {
gnutls_assert();
return ret;
@@ -2364,48 +2321,46 @@ gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj, const char *url,
return 0;
}
-static int
-find_token_num_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- void *input)
+static int find_token_num_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info, void *input)
{
struct find_token_num *find_data = input;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
if (find_data->current == find_data->seq) {
- memcpy(p11_kit_uri_get_token_info(find_data->info),
- tinfo, sizeof(struct ck_token_info));
- memcpy(p11_kit_uri_get_module_info(find_data->info),
- lib_info, sizeof(struct ck_info));
+ memcpy(p11_kit_uri_get_token_info(find_data->info), tinfo,
+ sizeof(struct ck_token_info));
+ memcpy(p11_kit_uri_get_module_info(find_data->info), lib_info,
+ sizeof(struct ck_info));
return 0;
}
find_data->current++;
/* search the token for the id */
- return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; /* non zero is enough */
+ return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; /* non zero is enough */
}
-static int
-find_token_modname_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- void *input)
+static int find_token_modname_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info, void *input)
{
struct find_token_modname *find_data = input;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- if (!p11_kit_uri_match_token_info(find_data->info, tinfo)
- || !p11_kit_uri_match_module_info(find_data->info, lib_info)) {
+ if (!p11_kit_uri_match_token_info(find_data->info, tinfo) ||
+ !p11_kit_uri_match_module_info(find_data->info, lib_info)) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -2417,10 +2372,9 @@ find_token_modname_cb(struct ck_function_list *module,
}
/* Internal symbol used by tests */
-int
-_gnutls_pkcs11_token_get_url(unsigned int seq,
- gnutls_pkcs11_url_type_t detailed, char **url,
- unsigned flags);
+int _gnutls_pkcs11_token_get_url(unsigned int seq,
+ gnutls_pkcs11_url_type_t detailed, char **url,
+ unsigned flags);
/**
* _gnutls_pkcs11_token_get_url:
@@ -2437,10 +2391,9 @@ _gnutls_pkcs11_token_get_url(unsigned int seq,
* exceeds the available tokens, otherwise a negative error value.
*
**/
-int
-_gnutls_pkcs11_token_get_url(unsigned int seq,
- gnutls_pkcs11_url_type_t detailed, char **url,
- unsigned flags)
+int _gnutls_pkcs11_token_get_url(unsigned int seq,
+ gnutls_pkcs11_url_type_t detailed, char **url,
+ unsigned flags)
{
int ret;
struct find_token_num tn;
@@ -2486,9 +2439,8 @@ _gnutls_pkcs11_token_get_url(unsigned int seq,
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_token_get_url(unsigned int seq,
- gnutls_pkcs11_url_type_t detailed, char **url)
+int gnutls_pkcs11_token_get_url(unsigned int seq,
+ gnutls_pkcs11_url_type_t detailed, char **url)
{
return _gnutls_pkcs11_token_get_url(seq, detailed, url, 0);
}
@@ -2514,10 +2466,9 @@ gnutls_pkcs11_token_get_url(unsigned int seq,
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_token_get_info(const char *url,
- gnutls_pkcs11_token_info_t ttype,
- void *output, size_t *output_size)
+int gnutls_pkcs11_token_get_info(const char *url,
+ gnutls_pkcs11_token_info_t ttype, void *output,
+ size_t *output_size)
{
struct p11_kit_uri *info = NULL;
const uint8_t *str;
@@ -2550,30 +2501,29 @@ gnutls_pkcs11_token_get_info(const char *url,
str = p11_kit_uri_get_token_info(info)->model;
len = p11_kit_space_strlen(str, 16);
break;
- case GNUTLS_PKCS11_TOKEN_MODNAME:{
- struct find_token_modname tn;
+ case GNUTLS_PKCS11_TOKEN_MODNAME: {
+ struct find_token_modname tn;
- memset(&tn, 0, sizeof(tn));
- tn.info = info;
+ memset(&tn, 0, sizeof(tn));
+ tn.info = info;
- ret =
- _pkcs11_traverse_tokens(find_token_modname_cb, &tn,
- NULL, NULL, 0);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _pkcs11_traverse_tokens(find_token_modname_cb, &tn, NULL,
+ NULL, 0);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- temp_str = tn.modname;
- if (temp_str) {
- str = (uint8_t *) temp_str;
- len = strlen(temp_str);
- } else {
- gnutls_assert();
- len = 0;
- }
- break;
+ temp_str = tn.modname;
+ if (temp_str) {
+ str = (uint8_t *)temp_str;
+ len = strlen(temp_str);
+ } else {
+ gnutls_assert();
+ len = 0;
}
+ break;
+ }
default:
gnutls_assert();
ret = GNUTLS_E_INVALID_REQUEST;
@@ -2591,7 +2541,7 @@ gnutls_pkcs11_token_get_info(const char *url,
ret = GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- cleanup:
+cleanup:
free(temp_str);
p11_kit_uri_free(info);
return ret;
@@ -2613,9 +2563,8 @@ gnutls_pkcs11_token_get_info(const char *url,
*
* Since: 3.6.3
**/
-int
-gnutls_pkcs11_token_get_ptr(const char *url, void **ptr, unsigned long *slot_id,
- unsigned int flags)
+int gnutls_pkcs11_token_get_ptr(const char *url, void **ptr,
+ unsigned long *slot_id, unsigned int flags)
{
struct p11_kit_uri *info = NULL;
int ret;
@@ -2632,8 +2581,8 @@ gnutls_pkcs11_token_get_ptr(const char *url, void **ptr, unsigned long *slot_id,
memset(&tn, 0, sizeof(tn));
tn.info = info;
- ret =
- _pkcs11_traverse_tokens(find_token_modname_cb, &tn, NULL, NULL, 0);
+ ret = _pkcs11_traverse_tokens(find_token_modname_cb, &tn, NULL, NULL,
+ 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2646,7 +2595,7 @@ gnutls_pkcs11_token_get_ptr(const char *url, void **ptr, unsigned long *slot_id,
ret = 0;
- cleanup:
+cleanup:
free(tn.modname);
p11_kit_uri_free(info);
return ret;
@@ -2665,9 +2614,8 @@ gnutls_pkcs11_token_get_ptr(const char *url, void **ptr, unsigned long *slot_id,
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_obj_export_url(gnutls_pkcs11_obj_t obj,
- gnutls_pkcs11_url_type_t detailed, char **url)
+int gnutls_pkcs11_obj_export_url(gnutls_pkcs11_obj_t obj,
+ gnutls_pkcs11_url_type_t detailed, char **url)
{
int ret;
@@ -2696,18 +2644,18 @@ gnutls_pkcs11_obj_type_t gnutls_pkcs11_obj_get_type(gnutls_pkcs11_obj_t obj)
return obj->type;
}
-static int
-retrieve_pin_from_source(const char *pinfile,
- struct ck_token_info *token_info, int attempts,
- ck_user_type_t user_type, struct p11_kit_pin **pin)
+static int retrieve_pin_from_source(const char *pinfile,
+ struct ck_token_info *token_info,
+ int attempts, ck_user_type_t user_type,
+ struct p11_kit_pin **pin)
{
unsigned int flags = 0;
struct p11_kit_uri *token_uri;
struct p11_kit_pin *result;
char *label;
- label =
- p11_kit_space_strdup(token_info->label, sizeof(token_info->label));
+ label = p11_kit_space_strdup(token_info->label,
+ sizeof(token_info->label));
if (label == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -2754,11 +2702,10 @@ retrieve_pin_from_source(const char *pinfile,
return 0;
}
-static int
-retrieve_pin_from_callback(const struct pin_info_st *pin_info,
- struct ck_token_info *token_info,
- int attempts, ck_user_type_t user_type,
- struct p11_kit_pin **pin)
+static int retrieve_pin_from_callback(const struct pin_info_st *pin_info,
+ struct ck_token_info *token_info,
+ int attempts, ck_user_type_t user_type,
+ struct p11_kit_pin **pin)
{
char pin_value[GNUTLS_PKCS11_MAX_PIN_LEN];
unsigned int flags = 0;
@@ -2767,8 +2714,8 @@ retrieve_pin_from_callback(const struct pin_info_st *pin_info,
struct p11_kit_uri *token_uri;
int ret = 0;
- label =
- p11_kit_space_strdup(token_info->label, sizeof(token_info->label));
+ label = p11_kit_space_strdup(token_info->label,
+ sizeof(token_info->label));
if (label == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -2813,15 +2760,13 @@ retrieve_pin_from_callback(const struct pin_info_st *pin_info,
flags |= GNUTLS_PIN_WRONG;
if (pin_info && pin_info->cb)
- ret =
- pin_info->cb(pin_info->data, attempts,
- (char *)token_str, label, flags,
- pin_value, GNUTLS_PKCS11_MAX_PIN_LEN);
+ ret = pin_info->cb(pin_info->data, attempts, (char *)token_str,
+ label, flags, pin_value,
+ GNUTLS_PKCS11_MAX_PIN_LEN);
else if (_gnutls_pin_func)
- ret =
- _gnutls_pin_func(_gnutls_pin_data, attempts,
- (char *)token_str, label, flags,
- pin_value, GNUTLS_PKCS11_MAX_PIN_LEN);
+ ret = _gnutls_pin_func(_gnutls_pin_data, attempts,
+ (char *)token_str, label, flags,
+ pin_value, GNUTLS_PKCS11_MAX_PIN_LEN);
else
ret = gnutls_assert_val(GNUTLS_E_PKCS11_PIN_ERROR);
@@ -2839,10 +2784,9 @@ retrieve_pin_from_callback(const struct pin_info_st *pin_info,
return 0;
}
-int
-pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri *info,
- struct ck_token_info *token_info, int attempts,
- ck_user_type_t user_type, struct p11_kit_pin **pin)
+int pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri *info,
+ struct ck_token_info *token_info, int attempts,
+ ck_user_type_t user_type, struct p11_kit_pin **pin)
{
const char *pinfile;
int ret = GNUTLS_E_PKCS11_PIN_ERROR;
@@ -2853,8 +2797,8 @@ pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri *info,
pinfile = p11_kit_uri_get_pin_value(info);
if (pinfile != NULL) {
if (attempts > 0) {
- _gnutls_debug_log
- ("p11: refusing more than a single attempts with pin-value\n");
+ _gnutls_debug_log(
+ "p11: refusing more than a single attempts with pin-value\n");
return gnutls_assert_val(GNUTLS_E_PKCS11_PIN_ERROR);
}
@@ -2862,48 +2806,44 @@ pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri *info,
*pin = p11_kit_pin_new_for_string(pinfile);
if (*pin != NULL)
ret = 0;
- } else { /* try pin-source */
+ } else { /* try pin-source */
/* Check if a pinfile is specified, and use that if possible */
pinfile = p11_kit_uri_get_pin_source(info);
if (pinfile != NULL) {
if (attempts > 0) {
- _gnutls_debug_log
- ("p11: refusing more than a single attempts with pin-source\n");
- return
- gnutls_assert_val
- (GNUTLS_E_PKCS11_PIN_ERROR);
+ _gnutls_debug_log(
+ "p11: refusing more than a single attempts with pin-source\n");
+ return gnutls_assert_val(
+ GNUTLS_E_PKCS11_PIN_ERROR);
}
- _gnutls_debug_log
- ("p11: Using pin-source to retrieve PIN\n");
- ret =
- retrieve_pin_from_source(pinfile, token_info,
- attempts, user_type, pin);
+ _gnutls_debug_log(
+ "p11: Using pin-source to retrieve PIN\n");
+ ret = retrieve_pin_from_source(
+ pinfile, token_info, attempts, user_type, pin);
}
}
/* The global gnutls pin callback */
if (ret < 0)
- ret =
- retrieve_pin_from_callback(pin_info, token_info,
- attempts, user_type, pin);
+ ret = retrieve_pin_from_callback(pin_info, token_info, attempts,
+ user_type, pin);
/* Otherwise, PIN entry is necessary for login, so fail if there's
* no callback. */
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("p11: No suitable pin callback but login required.\n");
+ _gnutls_debug_log(
+ "p11: No suitable pin callback but login required.\n");
}
return ret;
}
-int
-pkcs11_login(struct pkcs11_session_info *sinfo,
- struct pin_info_st *pin_info,
- struct p11_kit_uri *info, unsigned flags)
+int pkcs11_login(struct pkcs11_session_info *sinfo,
+ struct pin_info_st *pin_info, struct p11_kit_uri *info,
+ unsigned flags)
{
struct ck_session_info session_info;
int attempt = 0, ret;
@@ -2953,24 +2893,25 @@ pkcs11_login(struct pkcs11_session_info *sinfo,
if (!(flags & SESSION_CONTEXT_SPECIFIC)) {
/* Check whether the session is already logged in, and if so, just skip */
- rv = (sinfo->module)->C_GetSessionInfo(sinfo->pks,
- &session_info);
+ rv = (sinfo->module)
+ ->C_GetSessionInfo(sinfo->pks,
+ &session_info);
if (rv == CKR_OK) {
if (flags & SESSION_SO) {
if (session_info.state ==
CKS_RW_SO_FUNCTIONS) {
ret = 0;
- _gnutls_debug_log
- ("p11: Already logged in as SO\n");
+ _gnutls_debug_log(
+ "p11: Already logged in as SO\n");
goto cleanup;
}
} else if (session_info.state ==
- CKS_RO_USER_FUNCTIONS
- || session_info.state ==
- CKS_RW_USER_FUNCTIONS) {
+ CKS_RO_USER_FUNCTIONS ||
+ session_info.state ==
+ CKS_RW_USER_FUNCTIONS) {
ret = 0;
- _gnutls_debug_log
- ("p11: Already logged in as user\n");
+ _gnutls_debug_log(
+ "p11: Already logged in as user\n");
goto cleanup;
}
}
@@ -2990,31 +2931,30 @@ pkcs11_login(struct pkcs11_session_info *sinfo,
}
}
- ret =
- pkcs11_retrieve_pin(pin_info, info, &tinfo, attempt++,
- user_type, &pin);
+ ret = pkcs11_retrieve_pin(pin_info, info, &tinfo, attempt++,
+ user_type, &pin);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- rv = (sinfo->module)->C_Login(sinfo->pks, user_type,
- (unsigned char *)
- p11_kit_pin_get_value(pin,
- NULL),
- p11_kit_pin_get_length(pin));
+ rv = (sinfo->module)
+ ->C_Login(sinfo->pks, user_type,
+ (unsigned char *)p11_kit_pin_get_value(
+ pin, NULL),
+ p11_kit_pin_get_length(pin));
p11_kit_pin_unref(pin);
- }
- while (rv == CKR_PIN_INCORRECT);
+ } while (rv == CKR_PIN_INCORRECT);
_gnutls_debug_log("p11: Login result = %s (%lu)\n",
(rv == 0) ? "ok" : p11_kit_strerror(rv), rv);
- ret = (rv == CKR_OK || rv ==
- CKR_USER_ALREADY_LOGGED_IN) ? 0 : pkcs11_rv_to_err(rv);
+ ret = (rv == CKR_OK || rv == CKR_USER_ALREADY_LOGGED_IN) ?
+ 0 :
+ pkcs11_rv_to_err(rv);
- cleanup:
+cleanup:
return ret;
}
@@ -3026,15 +2966,15 @@ int pkcs11_call_token_func(struct p11_kit_uri *info, const unsigned retry)
tinfo = p11_kit_uri_get_token_info(info);
label = p11_kit_space_strdup(tinfo->label, sizeof(tinfo->label));
- ret = (_gnutls_token_func) (_gnutls_token_data, label, retry);
+ ret = (_gnutls_token_func)(_gnutls_token_data, label, retry);
free(label);
return ret;
}
-static int
-find_privkeys(struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct find_pkey_list_st *list)
+static int find_privkeys(struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct find_pkey_list_st *list)
{
struct ck_attribute a[3];
ck_object_class_t class;
@@ -3059,9 +2999,9 @@ find_privkeys(struct pkcs11_session_info *sinfo,
}
list->key_ids_size = 0;
- while (pkcs11_find_objects
- (sinfo->module, sinfo->pks, &ctx, 1, &count) == CKR_OK
- && count == 1) {
+ while (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1,
+ &count) == CKR_OK &&
+ count == 1) {
list->key_ids_size++;
}
@@ -3091,22 +3031,20 @@ find_privkeys(struct pkcs11_session_info *sinfo,
}
current = 0;
- while (pkcs11_find_objects
- (sinfo->module, sinfo->pks, &ctx, 1, &count) == CKR_OK
- && count == 1 && current < list->key_ids_size) {
-
+ while (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1,
+ &count) == CKR_OK &&
+ count == 1 && current < list->key_ids_size) {
a[0].type = CKA_ID;
a[0].value = certid_tmp;
a[0].value_len = sizeof(certid_tmp);
_gnutls_buffer_init(&list->key_ids[current]);
- if (pkcs11_get_attribute_value
- (sinfo->module, sinfo->pks, ctx, a, 1) == CKR_OK) {
- ret =
- _gnutls_buffer_append_data(&list->key_ids[current],
- a[0].value,
- a[0].value_len);
+ if (pkcs11_get_attribute_value(sinfo->module, sinfo->pks, ctx,
+ a, 1) == CKR_OK) {
+ ret = _gnutls_buffer_append_data(
+ &list->key_ids[current], a[0].value,
+ a[0].value_len);
if (ret < 0)
return gnutls_assert_val(ret);
current++;
@@ -3122,19 +3060,18 @@ find_privkeys(struct pkcs11_session_info *sinfo,
/* Recover certificate list from tokens */
-#define OBJECTS_A_TIME 8*1024
+#define OBJECTS_A_TIME 8 * 1024
-static int
-find_multi_objs_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- void *input)
+static int find_multi_objs_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info, void *input)
{
struct find_multi_obj_st *find_data = input;
struct ck_attribute a[16];
struct ck_attribute *attr;
- ck_object_class_t class = (ck_object_class_t) - 1;
- ck_certificate_type_t type = (ck_certificate_type_t) - 1;
+ ck_object_class_t class = (ck_object_class_t)-1;
+ ck_certificate_type_t type = (ck_certificate_type_t)-1;
ck_bool_t trusted;
unsigned long category;
ck_rv_t rv;
@@ -3142,7 +3079,7 @@ find_multi_objs_cb(struct ck_function_list *module,
unsigned long count;
char certid_tmp[PKCS11_ID_SIZE];
int ret;
- struct find_pkey_list_st plist; /* private key holder */
+ struct find_pkey_list_st plist; /* private key holder */
unsigned int i, tot_values = 0, class_set = 0;
unsigned start_elem;
@@ -3178,7 +3115,7 @@ find_multi_objs_cb(struct ck_function_list *module,
attr = p11_kit_uri_get_attribute(find_data->info, CKA_CLASS);
if (attr) {
if (attr->value && attr->value_len == sizeof(ck_object_class_t))
- class = *((ck_object_class_t *) attr->value);
+ class = *((ck_object_class_t *)attr->value);
if (class == CKO_CERTIFICATE)
type = CKC_X_509;
}
@@ -3197,8 +3134,8 @@ find_multi_objs_cb(struct ck_function_list *module,
a[tot_values].value = &type;
a[tot_values].value_len = sizeof type;
tot_values++;
- _gnutls_assert_log
- ("p11 attrs: CKA_CLASS (CERT), CKA_CERTIFICATE_TYPE\n");
+ _gnutls_assert_log(
+ "p11 attrs: CKA_CLASS (CERT), CKA_CERTIFICATE_TYPE\n");
}
if (find_data->flags & GNUTLS_PKCS11_OBJ_FLAG_PUBKEY) {
@@ -3233,7 +3170,7 @@ find_multi_objs_cb(struct ck_function_list *module,
}
if (find_data->flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED) {
- if (!sinfo->trusted) { /* only p11-kit trust modules support this */
+ if (!sinfo->trusted) { /* only p11-kit trust modules support this */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -3255,7 +3192,7 @@ find_multi_objs_cb(struct ck_function_list *module,
_gnutls_assert_log("p11 attrs: CKA_CERTIFICATE_CATEGORY=CA\n");
}
- if (class_set == 0 && class != (ck_object_class_t) - 1) {
+ if (class_set == 0 && class != (ck_object_class_t)-1) {
a[tot_values].type = CKA_CLASS;
a[tot_values].value = &class;
a[tot_values].value_len = sizeof class;
@@ -3297,9 +3234,9 @@ find_multi_objs_cb(struct ck_function_list *module,
start_elem = find_data->current;
- while (pkcs11_find_objects
- (sinfo->module, sinfo->pks, ctx, OBJECTS_A_TIME,
- &count) == CKR_OK && count > 0) {
+ while (pkcs11_find_objects(sinfo->module, sinfo->pks, ctx,
+ OBJECTS_A_TIME, &count) == CKR_OK &&
+ count > 0) {
unsigned j;
gnutls_datum_t id;
@@ -3308,10 +3245,9 @@ find_multi_objs_cb(struct ck_function_list *module,
goto fail;
}
- find_data->p_list =
- _gnutls_reallocarray_fast(find_data->p_list,
- find_data->current + count,
- sizeof(find_data->p_list[0]));
+ find_data->p_list = _gnutls_reallocarray_fast(
+ find_data->p_list, find_data->current + count,
+ sizeof(find_data->p_list[0]));
if (find_data->p_list == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto fail;
@@ -3322,9 +3258,9 @@ find_multi_objs_cb(struct ck_function_list *module,
a[0].value = certid_tmp;
a[0].value_len = sizeof certid_tmp;
- if (pkcs11_get_attribute_value
- (sinfo->module, sinfo->pks, ctx[j], a,
- 1) == CKR_OK) {
+ if (pkcs11_get_attribute_value(sinfo->module,
+ sinfo->pks, ctx[j], a,
+ 1) == CKR_OK) {
id.data = a[0].value;
id.size = a[0].value_len;
} else {
@@ -3349,27 +3285,25 @@ find_multi_objs_cb(struct ck_function_list *module,
GNUTLS_PKCS11_OBJ_FLAG_WITH_PRIVKEY) {
for (i = 0; i < plist.key_ids_size; i++) {
if (plist.key_ids[i].length !=
- id.size
- || memcmp(plist.key_ids[i].data,
- id.data, id.size) != 0) {
+ id.size ||
+ memcmp(plist.key_ids[i].data,
+ id.data, id.size) != 0) {
/* not found */
continue;
}
}
}
- ret =
- gnutls_pkcs11_obj_init(&find_data->p_list
- [find_data->current]);
+ ret = gnutls_pkcs11_obj_init(
+ &find_data->p_list[find_data->current]);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- ret = pkcs11_import_object(ctx[j], class, sinfo,
- tinfo, lib_info,
- find_data->
- p_list[find_data->current]);
+ ret = pkcs11_import_object(
+ ctx[j], class, sinfo, tinfo, lib_info,
+ find_data->p_list[find_data->current]);
if (ret < 0) {
gnutls_assert();
/* skip the failed object */
@@ -3388,17 +3322,13 @@ find_multi_objs_cb(struct ck_function_list *module,
for (i = start_elem; i < find_data->current; i++) {
if (find_data->p_list[i]->raw.size > 0) {
gnutls_datum_t spki;
- rv = pkcs11_get_attribute_avalue(sinfo->module,
- sinfo->pks,
- ctx[i],
- CKA_PUBLIC_KEY_INFO,
- &spki);
+ rv = pkcs11_get_attribute_avalue(
+ sinfo->module, sinfo->pks, ctx[i],
+ CKA_PUBLIC_KEY_INFO, &spki);
if (rv == CKR_OK) {
- ret =
- pkcs11_override_cert_exts(sinfo,
- &spki,
- &find_data->p_list
- [i]->raw);
+ ret = pkcs11_override_cert_exts(
+ sinfo, &spki,
+ &find_data->p_list[i]->raw);
gnutls_free(spki.data);
if (ret < 0) {
gnutls_assert();
@@ -3410,9 +3340,9 @@ find_multi_objs_cb(struct ck_function_list *module,
}
gnutls_free(ctx);
- return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; /* continue until all tokens have been checked */
+ return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; /* continue until all tokens have been checked */
- fail:
+fail:
gnutls_free(ctx);
pkcs11_find_objects_final(sinfo);
if (plist.key_ids != NULL) {
@@ -3466,10 +3396,9 @@ find_multi_objs_cb(struct ck_function_list *module,
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t * p_list,
- unsigned int *n_list,
- const char *url, unsigned int flags)
+int gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t *p_list,
+ unsigned int *n_list, const char *url,
+ unsigned int flags)
{
gnutls_pkcs11_obj_t *list1 = NULL;
unsigned int n_list1, i;
@@ -3525,10 +3454,9 @@ gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t * p_list,
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t ** p_list,
- unsigned int *n_list,
- const char *url, unsigned int flags)
+int gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t **p_list,
+ unsigned int *n_list, const char *url,
+ unsigned int flags)
{
int ret;
struct find_multi_obj_st priv;
@@ -3554,9 +3482,8 @@ gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t ** p_list,
priv.overwrite_exts = 1;
}
- ret =
- _pkcs11_traverse_tokens(find_multi_objs_cb, &priv, priv.info,
- NULL, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_multi_objs_cb, &priv, priv.info,
+ NULL, pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(priv.info);
if (ret < 0) {
@@ -3588,9 +3515,8 @@ gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t ** p_list,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_crt_import_pkcs11(gnutls_x509_crt_t crt,
- gnutls_pkcs11_obj_t pkcs11_crt)
+int gnutls_x509_crt_import_pkcs11(gnutls_x509_crt_t crt,
+ gnutls_pkcs11_obj_t pkcs11_crt)
{
return gnutls_x509_crt_import(crt, &pkcs11_crt->raw,
GNUTLS_X509_FMT_DER);
@@ -3611,9 +3537,8 @@ gnutls_x509_crt_import_pkcs11(gnutls_x509_crt_t crt,
*
* Since: 2.12.0
-*/
-int
-_gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt,
- const char *url, unsigned int flags)
+int _gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt, const char *url,
+ unsigned int flags)
{
gnutls_pkcs11_obj_t pcrt;
int ret;
@@ -3628,10 +3553,8 @@ _gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt,
gnutls_pkcs11_obj_set_pin_function(pcrt, crt->pin.cb,
crt->pin.data);
- ret =
- gnutls_pkcs11_obj_import_url(pcrt, url,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_EXPECT_CERT);
+ ret = gnutls_pkcs11_obj_import_url(
+ pcrt, url, flags | GNUTLS_PKCS11_OBJ_FLAG_EXPECT_CERT);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -3644,7 +3567,7 @@ _gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pkcs11_obj_deinit(pcrt);
return ret;
@@ -3665,11 +3588,10 @@ _gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t * certs,
- unsigned int cert_max,
- gnutls_pkcs11_obj_t * const objs,
- unsigned int flags)
+int gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t *certs,
+ unsigned int cert_max,
+ gnutls_pkcs11_obj_t *const objs,
+ unsigned int flags)
{
unsigned int i, j;
int ret;
@@ -3690,7 +3612,7 @@ gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t * certs,
return 0;
- cleanup:
+cleanup:
for (j = 0; j < i; j++) {
gnutls_x509_crt_deinit(certs[j]);
}
@@ -3698,14 +3620,14 @@ gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t * certs,
return ret;
}
-static int
-find_flags_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo, struct ck_token_info *tinfo,
- struct ck_info *lib_info, void *input)
+static int find_flags_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo, struct ck_info *lib_info,
+ void *input)
{
struct find_flags_data_st *find_data = input;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -3756,9 +3678,8 @@ int gnutls_pkcs11_token_get_flags(const char *url, unsigned int *flags)
return ret;
}
- ret =
- _pkcs11_traverse_tokens(find_flags_cb, &find_data, find_data.info,
- NULL, 0);
+ ret = _pkcs11_traverse_tokens(find_flags_cb, &find_data, find_data.info,
+ NULL, 0);
p11_kit_uri_free(find_data.info);
if (ret < 0) {
@@ -3816,7 +3737,6 @@ int gnutls_pkcs11_token_get_flags(const char *url, unsigned int *flags)
*flags |= GNUTLS_PKCS11_TOKEN_TRUSTED;
return 0;
-
}
/**
@@ -3833,9 +3753,8 @@ int gnutls_pkcs11_token_get_flags(const char *url, unsigned int *flags)
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_token_get_mechanism(const char *url, unsigned int idx,
- unsigned long *mechanism)
+int gnutls_pkcs11_token_get_mechanism(const char *url, unsigned int idx,
+ unsigned long *mechanism)
{
int ret;
ck_rv_t rv;
@@ -3895,10 +3814,9 @@ gnutls_pkcs11_token_get_mechanism(const char *url, unsigned int idx,
*
* Since: 3.6.0
**/
-unsigned
-gnutls_pkcs11_token_check_mechanism(const char *url,
- unsigned long mechanism,
- void *ptr, unsigned psize, unsigned flags)
+unsigned gnutls_pkcs11_token_check_mechanism(const char *url,
+ unsigned long mechanism, void *ptr,
+ unsigned psize, unsigned flags)
{
int ret;
ck_rv_t rv;
@@ -3975,11 +3893,9 @@ const char *gnutls_pkcs11_type_get_name(gnutls_pkcs11_obj_type_t type)
}
}
-static
-int check_found_cert(struct find_cert_st *priv,
- ck_object_handle_t ctx,
- gnutls_datum_t * data,
- time_t now, ck_object_handle_t * cand_ctx)
+static int check_found_cert(struct find_cert_st *priv, ck_object_handle_t ctx,
+ gnutls_datum_t *data, time_t now,
+ ck_object_handle_t *cand_ctx)
{
gnutls_x509_crt_t tcrt = NULL;
unsigned has_ski;
@@ -4006,8 +3922,8 @@ int check_found_cert(struct find_cert_st *priv,
if (gnutls_x509_crt_equals(priv->crt, tcrt) == 0) {
/* doesn't match */
- _gnutls_debug_log
- ("check_found_cert: cert doesn't match the expected\n");
+ _gnutls_debug_log(
+ "check_found_cert: cert doesn't match the expected\n");
ret = -1;
goto cleanup;
}
@@ -4022,8 +3938,8 @@ int check_found_cert(struct find_cert_st *priv,
if (_gnutls_check_if_same_key(priv->crt, tcrt, 1) == 0) {
/* doesn't match */
- _gnutls_debug_log
- ("check_found_cert: cert key doesn't match the expected key\n");
+ _gnutls_debug_log(
+ "check_found_cert: cert key doesn't match the expected key\n");
ret = -1;
goto cleanup;
}
@@ -4033,8 +3949,8 @@ int check_found_cert(struct find_cert_st *priv,
!_gnutls_check_valid_key_id(&priv->key_id, tcrt, now, &has_ski)) {
gnutls_assert();
if (has_ski) {
- _gnutls_debug_log
- ("check_found_cert: cert has invalid key ID\n");
+ _gnutls_debug_log(
+ "check_found_cert: cert has invalid key ID\n");
ret = -1;
} else {
/* That's a possible match; there can be CA certificates without
@@ -4045,17 +3961,17 @@ int check_found_cert(struct find_cert_st *priv,
}
ret = 0;
- cleanup:
+cleanup:
if (tcrt != NULL)
gnutls_x509_crt_deinit(tcrt);
return ret;
}
static int get_data_and_attrs(struct pkcs11_session_info *sinfo,
- ck_object_handle_t object, gnutls_datum_t * data,
- char *label, size_t label_size,
- uint8_t * id, size_t id_size,
- gnutls_datum_t * o_label, gnutls_datum_t * o_id)
+ ck_object_handle_t object, gnutls_datum_t *data,
+ char *label, size_t label_size, uint8_t *id,
+ size_t id_size, gnutls_datum_t *o_label,
+ gnutls_datum_t *o_id)
{
ck_rv_t rv;
struct ck_attribute a[2];
@@ -4072,8 +3988,8 @@ static int get_data_and_attrs(struct pkcs11_session_info *sinfo,
a[1].value = id;
a[1].value_len = id_size;
- if (pkcs11_get_attribute_value
- (sinfo->module, sinfo->pks, object, a, 2) == CKR_OK) {
+ if (pkcs11_get_attribute_value(sinfo->module, sinfo->pks,
+ object, a, 2) == CKR_OK) {
o_label->data = a[0].value;
o_label->size = a[0].value_len;
o_id->data = a[1].value;
@@ -4082,8 +3998,8 @@ static int get_data_and_attrs(struct pkcs11_session_info *sinfo,
return 0;
} else {
_gnutls_free_datum(data);
- _gnutls_debug_log
- ("p11: Skipped cert, missing attrs.\n");
+ _gnutls_debug_log(
+ "p11: Skipped cert, missing attrs.\n");
}
}
@@ -4096,8 +4012,8 @@ static enum distrust_purpose distrust_purpose_from_oid(const char *oid)
const char *oid;
enum distrust_purpose purpose;
} map[] = {
- {GNUTLS_KP_TLS_WWW_SERVER, PKCS11_DISTRUST_AFTER_SERVER},
- {GNUTLS_KP_EMAIL_PROTECTION, PKCS11_DISTRUST_AFTER_EMAIL},
+ { GNUTLS_KP_TLS_WWW_SERVER, PKCS11_DISTRUST_AFTER_SERVER },
+ { GNUTLS_KP_EMAIL_PROTECTION, PKCS11_DISTRUST_AFTER_EMAIL },
};
size_t i;
@@ -4110,9 +4026,9 @@ static enum distrust_purpose distrust_purpose_from_oid(const char *oid)
return PKCS11_DISTRUST_AFTER_NONE;
}
-static time_t
-get_distrust_after(struct pkcs11_session_info *sinfo,
- ck_object_handle_t object, enum distrust_purpose purpose)
+static time_t get_distrust_after(struct pkcs11_session_info *sinfo,
+ ck_object_handle_t object,
+ enum distrust_purpose purpose)
{
/* the attribute is in a fixed format: utcTime with seconds */
char buf[14];
@@ -4127,7 +4043,7 @@ get_distrust_after(struct pkcs11_session_info *sinfo,
break;
default:
gnutls_assert();
- return (time_t) (-1);
+ return (time_t)(-1);
}
a[0].value = buf;
@@ -4135,20 +4051,21 @@ get_distrust_after(struct pkcs11_session_info *sinfo,
if (pkcs11_get_attribute_value(sinfo->module, sinfo->pks, object, a,
1) != CKR_OK) {
- return (time_t) (-1);
+ return (time_t)(-1);
}
buf[a[0].value_len] = '\0';
return _gnutls_utcTime2gtime(buf);
}
-static int
-find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info, void *input)
+static int find_cert_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo, struct ck_info *lib_info,
+ void *input)
{
struct ck_attribute a[10];
ck_object_class_t class = -1;
- ck_certificate_type_t type = (ck_certificate_type_t) - 1;
+ ck_certificate_type_t type = (ck_certificate_type_t)-1;
ck_rv_t rv;
ck_object_handle_t ctx, cand_ctx = CK_INVALID_HANDLE;
unsigned long count, a_vals;
@@ -4176,8 +4093,8 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
}
}
- if (priv->dn.size == 0 && priv->key_id.size == 0
- && priv->issuer_dn.size == 0 && priv->serial.size == 0)
+ if (priv->dn.size == 0 && priv->key_id.size == 0 &&
+ priv->issuer_dn.size == 0 && priv->serial.size == 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
/* Find objects with given class and type */
@@ -4189,7 +4106,6 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
now = gnutls_time(0);
for (i = 0; i < tries; i++) {
-
a_vals = 0;
class = CKO_CERTIFICATE;
a[a_vals].type = CKA_CLASS;
@@ -4205,10 +4121,9 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
}
if (priv->flags & GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED) {
- if (!sinfo->trusted) /* only p11-kit "trusted" modules support this flag */
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ if (!sinfo->trusted) /* only p11-kit "trusted" modules support this flag */
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
a[a_vals].type = CKA_X_DISTRUSTED;
a[a_vals].value = &trusted;
@@ -4265,27 +4180,25 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
goto cleanup;
}
- while (pkcs11_find_objects
- (sinfo->module, sinfo->pks, &ctx, 1,
- &count) == CKR_OK && count == 1) {
-
- if (priv->need_import == 0
- && !(priv->flags & GNUTLS_PKCS11_OBJ_FLAG_COMPARE)
- && !(priv->flags &
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY)) {
+ while (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1,
+ &count) == CKR_OK &&
+ count == 1) {
+ if (priv->need_import == 0 &&
+ !(priv->flags & GNUTLS_PKCS11_OBJ_FLAG_COMPARE) &&
+ !(priv->flags &
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY)) {
found = 1;
break;
}
- ret = get_data_and_attrs(sinfo, ctx, &data,
- label_tmp, sizeof(label_tmp),
- id_tmp, sizeof(id_tmp),
- &label, &id);
+ ret = get_data_and_attrs(sinfo, ctx, &data, label_tmp,
+ sizeof(label_tmp), id_tmp,
+ sizeof(id_tmp), &label, &id);
if (ret < 0)
continue;
- ret =
- check_found_cert(priv, ctx, &data, now, &cand_ctx);
+ ret = check_found_cert(priv, ctx, &data, now,
+ &cand_ctx);
if (ret < 0) {
_gnutls_free_datum(&data);
continue;
@@ -4300,8 +4213,8 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
* failing */
ret = get_data_and_attrs(sinfo, cand_ctx, &data,
label_tmp, sizeof(label_tmp),
- id_tmp, sizeof(id_tmp),
- &label, &id);
+ id_tmp, sizeof(id_tmp), &label,
+ &id);
if (ret >= 0)
found = 1;
@@ -4314,22 +4227,18 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
finalized = 1;
if (found != 0) {
- if (!
+ if (!(priv->flags &
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED) &&
(priv->flags &
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED)
-&& (priv->flags & GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT)
-&& data.size > 0) {
+ GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT) &&
+ data.size > 0) {
gnutls_datum_t spki;
- rv = pkcs11_get_attribute_avalue(sinfo->module,
- sinfo->pks,
- ctx,
- CKA_PUBLIC_KEY_INFO,
- &spki);
+ rv = pkcs11_get_attribute_avalue(
+ sinfo->module, sinfo->pks, ctx,
+ CKA_PUBLIC_KEY_INFO, &spki);
if (rv == CKR_OK) {
- ret =
- pkcs11_override_cert_exts(sinfo,
- &spki,
- &data);
+ ret = pkcs11_override_cert_exts(
+ sinfo, &spki, &data);
gnutls_free(spki.data);
if (ret < 0) {
gnutls_assert();
@@ -4339,20 +4248,18 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
}
if ((priv->flags &
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED)
- && priv->distrust_purpose !=
- PKCS11_DISTRUST_AFTER_NONE) {
- priv->distrust_after =
- get_distrust_after(sinfo, ctx,
- priv->distrust_purpose);
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED) &&
+ priv->distrust_purpose !=
+ PKCS11_DISTRUST_AFTER_NONE) {
+ priv->distrust_after = get_distrust_after(
+ sinfo, ctx, priv->distrust_purpose);
continue;
}
if (priv->need_import != 0) {
- ret =
- pkcs11_obj_import(class, priv->obj,
- &data, &id, &label,
- tinfo, lib_info);
+ ret = pkcs11_obj_import(class, priv->obj, &data,
+ &id, &label, tinfo,
+ lib_info);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -4369,7 +4276,7 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
ret = 0;
}
- cleanup:
+cleanup:
gnutls_free(data.data);
if (finalized == 0)
pkcs11_find_objects_final(sinfo);
@@ -4396,7 +4303,7 @@ find_cert_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
* Since: 3.2.7
**/
int gnutls_pkcs11_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
- gnutls_datum_t * issuer,
+ gnutls_datum_t *issuer,
gnutls_x509_crt_fmt_t fmt, unsigned int flags)
{
int ret;
@@ -4445,17 +4352,15 @@ int gnutls_pkcs11_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
priv.need_import = 1;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- &cert->pin, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, &cert->pin,
+ pkcs11_obj_flags_to_int(flags));
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
/* we have failed retrieving the right certificate; if there
* was a close match return that one. */
priv.flags |= GNUTLS_PKCS11_OBJ_FLAG_FIRST_CLOSE_MATCH;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- &cert->pin,
- pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
+ &cert->pin,
+ pkcs11_obj_flags_to_int(flags));
}
if (ret < 0) {
@@ -4471,7 +4376,7 @@ int gnutls_pkcs11_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
ret = 0;
- cleanup:
+cleanup:
if (priv.obj)
gnutls_pkcs11_obj_deinit(priv.obj);
if (info)
@@ -4502,8 +4407,8 @@ int gnutls_pkcs11_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
* Since: 3.4.0
**/
int gnutls_pkcs11_get_raw_issuer_by_dn(const char *url,
- const gnutls_datum_t * dn,
- gnutls_datum_t * issuer,
+ const gnutls_datum_t *dn,
+ gnutls_datum_t *issuer,
gnutls_x509_crt_fmt_t fmt,
unsigned int flags)
{
@@ -4540,9 +4445,8 @@ int gnutls_pkcs11_get_raw_issuer_by_dn(const char *url,
}
priv.need_import = 1;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- NULL, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, NULL,
+ pkcs11_obj_flags_to_int(flags));
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -4556,7 +4460,7 @@ int gnutls_pkcs11_get_raw_issuer_by_dn(const char *url,
ret = 0;
- cleanup:
+cleanup:
if (priv.obj)
gnutls_pkcs11_obj_deinit(priv.obj);
if (info)
@@ -4587,12 +4491,9 @@ int gnutls_pkcs11_get_raw_issuer_by_dn(const char *url,
*
* Since: 3.4.2
**/
-int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(const char *url,
- const gnutls_datum_t * dn,
- const gnutls_datum_t * spki,
- gnutls_datum_t * issuer,
- gnutls_x509_crt_fmt_t fmt,
- unsigned int flags)
+int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(
+ const char *url, const gnutls_datum_t *dn, const gnutls_datum_t *spki,
+ gnutls_datum_t *issuer, gnutls_x509_crt_fmt_t fmt, unsigned int flags)
{
int ret;
struct find_cert_st priv;
@@ -4632,9 +4533,8 @@ int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(const char *url,
}
priv.need_import = 1;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- NULL, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, NULL,
+ pkcs11_obj_flags_to_int(flags));
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -4648,7 +4548,7 @@ int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(const char *url,
ret = 0;
- cleanup:
+cleanup:
if (priv.obj)
gnutls_pkcs11_obj_deinit(priv.obj);
if (info)
@@ -4657,10 +4557,9 @@ int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(const char *url,
return ret;
}
-unsigned
-_gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
- unsigned int flags,
- gnutls_x509_crt_t * trusted_cert)
+unsigned _gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
+ unsigned int flags,
+ gnutls_x509_crt_t *trusted_cert)
{
int ret;
struct find_cert_st priv;
@@ -4713,19 +4612,18 @@ _gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
priv.issuer_dn.size = cert->raw_issuer_dn.size;
/* assume PKCS11_OBJ_FLAG_COMPARE everywhere but DISTRUST info */
- if (!(flags & GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED)
- && !(flags & GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY)) {
+ if (!(flags & GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED) &&
+ !(flags & GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY)) {
flags |= GNUTLS_PKCS11_OBJ_FLAG_COMPARE;
}
priv.flags = flags;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- NULL, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, NULL,
+ pkcs11_obj_flags_to_int(flags));
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- _gnutls_debug_log
- ("crt_is_known: did not find cert, using issuer DN + serial, using DN only\n");
+ _gnutls_debug_log(
+ "crt_is_known: did not find cert, using issuer DN + serial, using DN only\n");
/* attempt searching with the subject DN only */
gnutls_assert();
if (priv.obj)
@@ -4745,10 +4643,8 @@ _gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
priv.dn.data = cert->raw_dn.data;
priv.dn.size = cert->raw_dn.size;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- NULL,
- pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, NULL,
+ pkcs11_obj_flags_to_int(flags));
}
if (ret < 0) {
gnutls_assert();
@@ -4774,7 +4670,7 @@ _gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
}
ret = 1;
- cleanup:
+cleanup:
if (priv.obj)
gnutls_pkcs11_obj_deinit(priv.obj);
if (info)
@@ -4892,14 +4788,14 @@ char *gnutls_pkcs11_obj_flags_get_str(unsigned int flags)
}
return (char *)out.data;
- fail:
+fail:
return NULL;
-
}
-time_t
-_gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
- const char *purpose, unsigned int flags)
+time_t _gnutls_pkcs11_get_distrust_after(const char *url,
+ gnutls_x509_crt_t cert,
+ const char *purpose,
+ unsigned int flags)
{
int ret;
struct find_cert_st priv;
@@ -4910,7 +4806,7 @@ _gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
distrust_purpose = distrust_purpose_from_oid(purpose);
if (distrust_purpose == PKCS11_DISTRUST_AFTER_NONE) {
- return (time_t) (-1);
+ return (time_t)(-1);
}
PKCS11_CHECK_INIT_FLAGS_RET(flags, 0);
@@ -4924,7 +4820,7 @@ _gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
ret = pkcs11_url_to_info(url, &info, 0);
if (ret < 0) {
gnutls_assert();
- return (time_t) (-1);
+ return (time_t)(-1);
}
/* Attempt searching using the issuer DN + serial number */
@@ -4932,14 +4828,14 @@ _gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
ret = gnutls_x509_crt_get_serial(cert, serial, &serial_size);
if (ret < 0) {
gnutls_assert();
- ret = (time_t) (-1);
+ ret = (time_t)(-1);
goto cleanup;
}
ret = _gnutls_x509_ext_gen_number(serial, serial_size, &priv.serial);
if (ret < 0) {
gnutls_assert();
- ret = (time_t) (-1);
+ ret = (time_t)(-1);
goto cleanup;
}
@@ -4949,20 +4845,19 @@ _gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
priv.issuer_dn.size = cert->raw_issuer_dn.size;
/* assume PKCS11_OBJ_FLAG_COMPARE everywhere but DISTRUST info */
- if (!(flags & GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED)
- && !(flags & GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY)) {
+ if (!(flags & GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED) &&
+ !(flags & GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY)) {
flags |= GNUTLS_PKCS11_OBJ_FLAG_COMPARE;
}
priv.flags = flags;
priv.distrust_purpose = distrust_purpose;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- NULL, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, NULL,
+ pkcs11_obj_flags_to_int(flags));
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- _gnutls_debug_log
- ("get_distrust_after: did not find cert, using issuer DN + serial, using DN only\n");
+ _gnutls_debug_log(
+ "get_distrust_after: did not find cert, using issuer DN + serial, using DN only\n");
/* attempt searching with the subject DN only */
gnutls_assert();
if (priv.obj)
@@ -4975,22 +4870,20 @@ _gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
priv.dn.data = cert->raw_dn.data;
priv.dn.size = cert->raw_dn.size;
- ret =
- _pkcs11_traverse_tokens(find_cert_cb, &priv, info,
- NULL,
- pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_cert_cb, &priv, info, NULL,
+ pkcs11_obj_flags_to_int(flags));
}
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("get_distrust_after: did not find any cert\n");
- ret = (time_t) (-1);
+ _gnutls_debug_log(
+ "get_distrust_after: did not find any cert\n");
+ ret = (time_t)(-1);
goto cleanup;
}
ret = priv.distrust_after;
- cleanup:
+cleanup:
if (priv.obj)
gnutls_pkcs11_obj_deinit(priv.obj);
if (info)
diff --git a/lib/pkcs11_int.c b/lib/pkcs11_int.c
index 76136a5d42..dacabb02ae 100644
--- a/lib/pkcs11_int.c
+++ b/lib/pkcs11_int.c
@@ -36,47 +36,44 @@
#include <p11-kit/pkcs11.h>
#include <p11-kit/pin.h>
-ck_rv_t
-pkcs11_get_slot_list(struct ck_function_list *module,
- unsigned char token_present, ck_slot_id_t * slot_list,
- unsigned long *count)
+ck_rv_t pkcs11_get_slot_list(struct ck_function_list *module,
+ unsigned char token_present,
+ ck_slot_id_t *slot_list, unsigned long *count)
{
return (module)->C_GetSlotList(token_present, slot_list, count);
}
-ck_rv_t
-pkcs11_get_module_info(struct ck_function_list *module, struct ck_info *info)
+ck_rv_t pkcs11_get_module_info(struct ck_function_list *module,
+ struct ck_info *info)
{
return (module)->C_GetInfo(info);
}
-ck_rv_t
-pkcs11_get_slot_info(struct ck_function_list *module,
- ck_slot_id_t slot_id, struct ck_slot_info *info)
+ck_rv_t pkcs11_get_slot_info(struct ck_function_list *module,
+ ck_slot_id_t slot_id, struct ck_slot_info *info)
{
return (module)->C_GetSlotInfo(slot_id, info);
}
-ck_rv_t
-pkcs11_get_token_info(struct ck_function_list *module,
- ck_slot_id_t slot_id, struct ck_token_info *info)
+ck_rv_t pkcs11_get_token_info(struct ck_function_list *module,
+ ck_slot_id_t slot_id, struct ck_token_info *info)
{
return (module)->C_GetTokenInfo(slot_id, info);
}
-ck_rv_t
-pkcs11_find_objects_init(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_attribute *templ, unsigned long count)
+ck_rv_t pkcs11_find_objects_init(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_attribute *templ,
+ unsigned long count)
{
return (module)->C_FindObjectsInit(sess, templ, count);
}
-ck_rv_t
-pkcs11_find_objects(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t * objects,
- unsigned long max_object_count, unsigned long *object_count)
+ck_rv_t pkcs11_find_objects(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t *objects,
+ unsigned long max_object_count,
+ unsigned long *object_count)
{
return (module)->C_FindObjects(sess, objects, max_object_count,
object_count);
@@ -93,20 +90,20 @@ ck_rv_t pkcs11_close_session(struct pkcs11_session_info *sinfo)
return (sinfo->module)->C_CloseSession(sinfo->pks);
}
-ck_rv_t
-pkcs11_set_attribute_value(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t object,
- struct ck_attribute *templ, unsigned long count)
+ck_rv_t pkcs11_set_attribute_value(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object,
+ struct ck_attribute *templ,
+ unsigned long count)
{
return (module)->C_SetAttributeValue(sess, object, templ, count);
}
-ck_rv_t
-pkcs11_get_attribute_value(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t object,
- struct ck_attribute *templ, unsigned long count)
+ck_rv_t pkcs11_get_attribute_value(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object,
+ struct ck_attribute *templ,
+ unsigned long count)
{
return (module)->C_GetAttributeValue(sess, object, templ, count);
}
@@ -114,11 +111,11 @@ pkcs11_get_attribute_value(struct ck_function_list *module,
/* Returns only a single attribute value, but allocates its data
* Only the type needs to be set.
*/
-ck_rv_t
-pkcs11_get_attribute_avalue(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t object,
- ck_attribute_type_t type, gnutls_datum_t * res)
+ck_rv_t pkcs11_get_attribute_avalue(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object,
+ ck_attribute_type_t type,
+ gnutls_datum_t *res)
{
ck_rv_t rv;
struct ck_attribute templ;
@@ -157,133 +154,114 @@ pkcs11_get_attribute_avalue(struct ck_function_list *module,
return rv;
}
-ck_rv_t
-pkcs11_get_mechanism_list(struct ck_function_list *module,
- ck_slot_id_t slot_id,
- ck_mechanism_type_t * mechanism_list,
- unsigned long *count)
+ck_rv_t pkcs11_get_mechanism_list(struct ck_function_list *module,
+ ck_slot_id_t slot_id,
+ ck_mechanism_type_t *mechanism_list,
+ unsigned long *count)
{
return (module)->C_GetMechanismList(slot_id, mechanism_list, count);
}
-ck_rv_t
-pkcs11_get_mechanism_info(struct ck_function_list *module,
- ck_slot_id_t slot_id,
- ck_mechanism_type_t mechanism,
- struct ck_mechanism_info *ptr)
+ck_rv_t pkcs11_get_mechanism_info(struct ck_function_list *module,
+ ck_slot_id_t slot_id,
+ ck_mechanism_type_t mechanism,
+ struct ck_mechanism_info *ptr)
{
return (module)->C_GetMechanismInfo(slot_id, mechanism, ptr);
}
-ck_rv_t
-pkcs11_sign_init(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism, ck_object_handle_t key)
+ck_rv_t pkcs11_sign_init(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_mechanism *mechanism, ck_object_handle_t key)
{
return (module)->C_SignInit(sess, mechanism, key);
}
-ck_rv_t
-pkcs11_sign(struct ck_function_list *module,
- ck_session_handle_t sess,
- unsigned char *data,
- unsigned long data_len,
- unsigned char *signature, unsigned long *signature_len)
+ck_rv_t pkcs11_sign(struct ck_function_list *module, ck_session_handle_t sess,
+ unsigned char *data, unsigned long data_len,
+ unsigned char *signature, unsigned long *signature_len)
{
return (module)->C_Sign(sess, data, data_len, signature, signature_len);
}
-ck_rv_t
-pkcs11_generate_key(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism,
- struct ck_attribute *templ,
- unsigned long count, ck_object_handle_t * key)
+ck_rv_t pkcs11_generate_key(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_mechanism *mechanism,
+ struct ck_attribute *templ, unsigned long count,
+ ck_object_handle_t *key)
{
return (module)->C_GenerateKey(sess, mechanism, templ, count, key);
}
-ck_rv_t
-pkcs11_generate_key_pair(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism,
- struct ck_attribute *pub_templ,
- unsigned long pub_templ_count,
- struct ck_attribute *priv_templ,
- unsigned long priv_templ_count,
- ck_object_handle_t * pub_ctx,
- ck_object_handle_t * priv_ctx)
+ck_rv_t pkcs11_generate_key_pair(
+ struct ck_function_list *module, ck_session_handle_t sess,
+ struct ck_mechanism *mechanism, struct ck_attribute *pub_templ,
+ unsigned long pub_templ_count, struct ck_attribute *priv_templ,
+ unsigned long priv_templ_count, ck_object_handle_t *pub_ctx,
+ ck_object_handle_t *priv_ctx)
{
return (module)->C_GenerateKeyPair(sess, mechanism, pub_templ,
pub_templ_count, priv_templ,
priv_templ_count, pub_ctx, priv_ctx);
}
-ck_rv_t
-pkcs11_decrypt_init(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism, ck_object_handle_t key_ctx)
+ck_rv_t pkcs11_decrypt_init(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_mechanism *mechanism,
+ ck_object_handle_t key_ctx)
{
return (module)->C_DecryptInit(sess, mechanism, key_ctx);
}
-ck_rv_t
-pkcs11_decrypt(struct ck_function_list *module,
- ck_session_handle_t sess,
- unsigned char *encrypted_data,
- unsigned long encrypted_data_len,
- unsigned char *data, unsigned long *data_len)
+ck_rv_t pkcs11_decrypt(struct ck_function_list *module,
+ ck_session_handle_t sess, unsigned char *encrypted_data,
+ unsigned long encrypted_data_len, unsigned char *data,
+ unsigned long *data_len)
{
- return (module)->C_Decrypt(sess, encrypted_data,
- encrypted_data_len, data, data_len);
+ return (module)->C_Decrypt(sess, encrypted_data, encrypted_data_len,
+ data, data_len);
}
-ck_rv_t
-pkcs11_create_object(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_attribute *templ,
- unsigned long count, ck_object_handle_t * ctx)
+ck_rv_t pkcs11_create_object(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_attribute *templ, unsigned long count,
+ ck_object_handle_t *ctx)
{
return (module)->C_CreateObject(sess, templ, count, ctx);
}
-ck_rv_t
-pkcs11_destroy_object(struct ck_function_list *module,
- ck_session_handle_t sess, ck_object_handle_t ctx)
+ck_rv_t pkcs11_destroy_object(struct ck_function_list *module,
+ ck_session_handle_t sess, ck_object_handle_t ctx)
{
return (module)->C_DestroyObject(sess, ctx);
}
-ck_rv_t
-pkcs11_init_token(struct ck_function_list *module,
- ck_slot_id_t slot_id, unsigned char *pin,
- unsigned long pin_len, unsigned char *label)
+ck_rv_t pkcs11_init_token(struct ck_function_list *module, ck_slot_id_t slot_id,
+ unsigned char *pin, unsigned long pin_len,
+ unsigned char *label)
{
return (module)->C_InitToken(slot_id, pin, pin_len, label);
}
-ck_rv_t
-pkcs11_init_pin(struct ck_function_list *module,
- ck_session_handle_t sess,
- unsigned char *pin, unsigned long pin_len)
+ck_rv_t pkcs11_init_pin(struct ck_function_list *module,
+ ck_session_handle_t sess, unsigned char *pin,
+ unsigned long pin_len)
{
return (module)->C_InitPIN(sess, pin, pin_len);
}
-ck_rv_t
-pkcs11_set_pin(struct ck_function_list *module,
- ck_session_handle_t sess,
- const char *old_pin,
- unsigned long old_len,
- const char *new_pin, unsigned long new_len)
+ck_rv_t pkcs11_set_pin(struct ck_function_list *module,
+ ck_session_handle_t sess, const char *old_pin,
+ unsigned long old_len, const char *new_pin,
+ unsigned long new_len)
{
- return (module)->C_SetPIN(sess, (uint8_t *) old_pin, old_len,
- (uint8_t *) new_pin, new_len);
+ return (module)->C_SetPIN(sess, (uint8_t *)old_pin, old_len,
+ (uint8_t *)new_pin, new_len);
}
-ck_rv_t
-_gnutls_pkcs11_get_random(struct ck_function_list *module,
- ck_session_handle_t sess, void *data, size_t len)
+ck_rv_t _gnutls_pkcs11_get_random(struct ck_function_list *module,
+ ck_session_handle_t sess, void *data,
+ size_t len)
{
return (module)->C_GenerateRandom(sess, data, len);
}
diff --git a/lib/pkcs11_int.h b/lib/pkcs11_int.h
index 5a26a5f5ca..d29617ab11 100644
--- a/lib/pkcs11_int.h
+++ b/lib/pkcs11_int.h
@@ -19,26 +19,26 @@
*/
#ifndef GNUTLS_LIB_PKCS11_INT_H
-# define GNUTLS_LIB_PKCS11_INT_H
+#define GNUTLS_LIB_PKCS11_INT_H
-# ifdef ENABLE_PKCS11
+#ifdef ENABLE_PKCS11
-# define CRYPTOKI_GNU
-# include <p11-kit/pkcs11.h>
-# include <gnutls/pkcs11.h>
-# include <x509/x509_int.h>
+#define CRYPTOKI_GNU
+#include <p11-kit/pkcs11.h>
+#include <gnutls/pkcs11.h>
+#include <x509/x509_int.h>
/* Part of PKCS#11 3.0 interface, which was added in p11-kit 0.23.14 */
-# ifdef CKM_EDDSA
-# define HAVE_CKM_EDDSA
-# endif
+#ifdef CKM_EDDSA
+#define HAVE_CKM_EDDSA
+#endif
-# define PKCS11_ID_SIZE 128
-# define PKCS11_LABEL_SIZE 128
+#define PKCS11_ID_SIZE 128
+#define PKCS11_LABEL_SIZE 128
-# include <p11-kit/p11-kit.h>
-# include <p11-kit/pin.h>
-# include <p11-kit/uri.h>
+#include <p11-kit/p11-kit.h>
+#include <p11-kit/pin.h>
+#include <p11-kit/uri.h>
typedef unsigned char ck_bool_t;
struct pkcs11_session_info {
@@ -48,7 +48,7 @@ struct pkcs11_session_info {
ck_session_handle_t pks;
ck_slot_id_t sid;
unsigned int init;
- unsigned int trusted; /* whether module is marked as trusted */
+ unsigned int trusted; /* whether module is marked as trusted */
};
struct gnutls_pkcs11_obj_st {
@@ -70,7 +70,7 @@ struct gnutls_pkcs11_obj_st {
struct gnutls_pkcs11_privkey_st {
gnutls_pk_algorithm_t pk_algorithm;
- unsigned int rsa_pss_ok; /* if it is an RSA key, it can do RSA-PSS */
+ unsigned int rsa_pss_ok; /* if it is an RSA key, it can do RSA-PSS */
unsigned int bits;
unsigned int flags;
@@ -78,10 +78,10 @@ struct gnutls_pkcs11_privkey_st {
char *url;
struct pkcs11_session_info sinfo;
- ck_object_handle_t ref; /* the key in the session */
- unsigned reauth; /* whether we need to login on each operation */
+ ck_object_handle_t ref; /* the key in the session */
+ unsigned reauth; /* whether we need to login on each operation */
- void *mutex; /* lock for operations requiring co-ordination */
+ void *mutex; /* lock for operations requiring co-ordination */
struct pin_info_st pin;
};
@@ -105,33 +105,42 @@ typedef enum init_level_t {
int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,
pkcs11_reinit_function cb);
-# define FIX_KEY_USAGE(pk, usage) \
- if (usage == 0) { \
- if (pk == GNUTLS_PK_RSA) \
- usage = GNUTLS_KEY_DECIPHER_ONLY|GNUTLS_KEY_DIGITAL_SIGNATURE; \
- else \
+#define FIX_KEY_USAGE(pk, usage) \
+ if (usage == 0) { \
+ if (pk == GNUTLS_PK_RSA) \
+ usage = GNUTLS_KEY_DECIPHER_ONLY | \
+ GNUTLS_KEY_DIGITAL_SIGNATURE; \
+ else \
usage = GNUTLS_KEY_DIGITAL_SIGNATURE; \
}
-# define PKCS11_CHECK_INIT \
+#define PKCS11_CHECK_INIT \
ret = _gnutls_pkcs11_check_init(PROV_INIT_ALL, NULL, NULL); \
- if (ret < 0) \
- return gnutls_assert_val(ret)
+ if (ret < 0) \
+ return gnutls_assert_val(ret)
-# define PKCS11_CHECK_INIT_RET(x) \
+#define PKCS11_CHECK_INIT_RET(x) \
ret = _gnutls_pkcs11_check_init(PROV_INIT_ALL, NULL, NULL); \
- if (ret < 0) \
- return gnutls_assert_val(x)
-
-# define PKCS11_CHECK_INIT_FLAGS(f) \
- ret = _gnutls_pkcs11_check_init((f & GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE)?PROV_INIT_TRUSTED:PROV_INIT_ALL, NULL, NULL); \
- if (ret < 0) \
- return gnutls_assert_val(ret)
-
-# define PKCS11_CHECK_INIT_FLAGS_RET(f, x) \
- ret = _gnutls_pkcs11_check_init((f & GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE)?PROV_INIT_TRUSTED:PROV_INIT_ALL, NULL, NULL); \
- if (ret < 0) \
- return gnutls_assert_val(x)
+ if (ret < 0) \
+ return gnutls_assert_val(x)
+
+#define PKCS11_CHECK_INIT_FLAGS(f) \
+ ret = _gnutls_pkcs11_check_init( \
+ (f & GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE) ? \
+ PROV_INIT_TRUSTED : \
+ PROV_INIT_ALL, \
+ NULL, NULL); \
+ if (ret < 0) \
+ return gnutls_assert_val(ret)
+
+#define PKCS11_CHECK_INIT_FLAGS_RET(f, x) \
+ ret = _gnutls_pkcs11_check_init( \
+ (f & GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE) ? \
+ PROV_INIT_TRUSTED : \
+ PROV_INIT_ALL, \
+ NULL, NULL); \
+ if (ret < 0) \
+ return gnutls_assert_val(x)
/* thus function is called for every token in the traverse_tokens
* function. Once everything is traversed it is called with NULL tinfo.
@@ -139,29 +148,28 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,
*/
typedef int (*find_func_t)(struct ck_function_list *,
struct pkcs11_session_info *,
- struct ck_token_info * tinfo, struct ck_info *,
+ struct ck_token_info *tinfo, struct ck_info *,
void *input);
int pkcs11_rv_to_err(ck_rv_t rv);
int pkcs11_url_to_info(const char *url, struct p11_kit_uri **info,
unsigned flags);
-int pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t * slot,
+int pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t *slot,
struct p11_kit_uri *info, struct ck_token_info *_tinfo,
struct ck_slot_info *_slot_info, unsigned int *trusted);
-int pkcs11_read_pubkey(struct ck_function_list *module,
- ck_session_handle_t pks, ck_object_handle_t obj,
- ck_key_type_t key_type, gnutls_pkcs11_obj_t pobj);
+int pkcs11_read_pubkey(struct ck_function_list *module, ck_session_handle_t pks,
+ ck_object_handle_t obj, ck_key_type_t key_type,
+ gnutls_pkcs11_obj_t pobj);
int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
- gnutls_datum_t * spki, gnutls_datum_t * der);
+ gnutls_datum_t *spki, gnutls_datum_t *der);
-int pkcs11_get_info(struct p11_kit_uri *info,
- gnutls_pkcs11_obj_info_t itype, void *output,
- size_t *output_size);
+int pkcs11_get_info(struct p11_kit_uri *info, gnutls_pkcs11_obj_info_t itype,
+ void *output, size_t *output_size);
int pkcs11_login(struct pkcs11_session_info *sinfo,
- struct pin_info_st *pin_info,
- struct p11_kit_uri *info, unsigned flags);
+ struct pin_info_st *pin_info, struct p11_kit_uri *info,
+ unsigned flags);
int pkcs11_call_token_func(struct p11_kit_uri *info, const unsigned retry);
@@ -172,22 +180,23 @@ void pkcs11_rescan_slots(void);
int pkcs11_info_to_url(struct p11_kit_uri *info,
gnutls_pkcs11_url_type_t detailed, char **url);
-int
-_gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt,
- const char *url, unsigned int flags);
+int _gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt, const char *url,
+ unsigned int flags);
-# define SESSION_WRITE (1<<0)
-# define SESSION_LOGIN (1<<1)
-# define SESSION_SO (1<<2) /* security officer session */
-# define SESSION_TRUSTED (1<<3)/* session on a marked as trusted (p11-kit) module */
-# define SESSION_FORCE_LOGIN (1<<4) /* force login even when CFK_LOGIN_REQUIRED is not set */
-# define SESSION_CONTEXT_SPECIFIC (1<<5)
-# define SESSION_NO_CLOSE (1<<6)
- /* don't close session on success */
+#define SESSION_WRITE (1 << 0)
+#define SESSION_LOGIN (1 << 1)
+#define SESSION_SO (1 << 2) /* security officer session */
+#define SESSION_TRUSTED \
+ (1 << 3) /* session on a marked as trusted (p11-kit) module */
+#define SESSION_FORCE_LOGIN \
+ (1 << 4) /* force login even when CFK_LOGIN_REQUIRED is not set */
+#define SESSION_CONTEXT_SPECIFIC (1 << 5)
+#define SESSION_NO_CLOSE (1 << 6)
+/* don't close session on success */
int pkcs11_open_session(struct pkcs11_session_info *sinfo,
- struct pin_info_st *pin_info,
- struct p11_kit_uri *info, unsigned int flags);
+ struct pin_info_st *pin_info, struct p11_kit_uri *info,
+ unsigned int flags);
int _pkcs11_traverse_tokens(find_func_t find_func, void *input,
struct p11_kit_uri *info,
struct pin_info_st *pin_info, unsigned int flags);
@@ -196,10 +205,10 @@ ck_object_class_t pkcs11_strtype_to_class(const char *type);
/* Additional internal flags for gnutls_pkcs11_obj_flags */
/* @GNUTLS_PKCS11_OBJ_FLAG_EXPECT_CERT: When importing an object, provide a hint on the type, to allow incomplete URLs
* @GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PRIVKEY: Hint for private key */
-# define GNUTLS_PKCS11_OBJ_FLAG_FIRST_CLOSE_MATCH ((unsigned int)1<<28)
-# define GNUTLS_PKCS11_OBJ_FLAG_EXPECT_CERT (1<<29)
-# define GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PRIVKEY (1<<30)
-# define GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PUBKEY ((unsigned int)1<<31)
+#define GNUTLS_PKCS11_OBJ_FLAG_FIRST_CLOSE_MATCH ((unsigned int)1 << 28)
+#define GNUTLS_PKCS11_OBJ_FLAG_EXPECT_CERT (1 << 29)
+#define GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PRIVKEY (1 << 30)
+#define GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PUBKEY ((unsigned int)1 << 31)
int pkcs11_token_matches_info(struct p11_kit_uri *info,
struct ck_token_info *tinfo,
@@ -207,29 +216,25 @@ int pkcs11_token_matches_info(struct p11_kit_uri *info,
unsigned int pkcs11_obj_flags_to_int(unsigned int flags);
-int
-_gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature,
- gnutls_x509_spki_st * spki_params);
-
-int
-_gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- gnutls_datum_t * plaintext);
-
-int
-_gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- unsigned char *plaintext,
- size_t plaintext_size);
+int _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
+ const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *hash,
+ gnutls_datum_t *signature,
+ gnutls_x509_spki_st *spki_params);
+
+int _gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
+ unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext);
-int
-_pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t * pub,
- unsigned flags);
+int _gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
+ unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ unsigned char *plaintext,
+ size_t plaintext_size);
+
+int _pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey,
+ gnutls_pubkey_t *pub, unsigned flags);
static inline int pk_to_mech(gnutls_pk_algorithm_t pk)
{
@@ -241,10 +246,10 @@ static inline int pk_to_mech(gnutls_pk_algorithm_t pk)
return CKM_RSA_PKCS;
else if (pk == GNUTLS_PK_RSA_PSS)
return CKM_RSA_PKCS_PSS;
-# ifdef HAVE_CKM_EDDSA
+#ifdef HAVE_CKM_EDDSA
else if (pk == GNUTLS_PK_EDDSA_ED25519)
return CKM_EDDSA;
-# endif
+#endif
else
return -1;
}
@@ -257,10 +262,10 @@ static inline int pk_to_key_type(gnutls_pk_algorithm_t pk)
return CKK_ECDSA;
else if (pk == GNUTLS_PK_RSA_PSS || pk == GNUTLS_PK_RSA)
return CKK_RSA;
-# ifdef HAVE_CKM_EDDSA
+#ifdef HAVE_CKM_EDDSA
else if (pk == GNUTLS_PK_EDDSA_ED25519)
return CKK_EC_EDWARDS;
-# endif
+#endif
else
return -1;
}
@@ -273,15 +278,15 @@ static inline gnutls_pk_algorithm_t key_type_to_pk(ck_key_type_t m)
return GNUTLS_PK_DSA;
else if (m == CKK_ECDSA)
return GNUTLS_PK_EC;
-# ifdef HAVE_CKM_EDDSA
+#ifdef HAVE_CKM_EDDSA
else if (m == CKK_EC_EDWARDS)
return GNUTLS_PK_EDDSA_ED25519;
-# endif
+#endif
else
return GNUTLS_PK_UNKNOWN;
}
-static inline int pk_to_genmech(gnutls_pk_algorithm_t pk, ck_key_type_t * type)
+static inline int pk_to_genmech(gnutls_pk_algorithm_t pk, ck_key_type_t *type)
{
if (pk == GNUTLS_PK_DSA) {
*type = CKK_DSA;
@@ -292,157 +297,136 @@ static inline int pk_to_genmech(gnutls_pk_algorithm_t pk, ck_key_type_t * type)
} else if (pk == GNUTLS_PK_RSA_PSS || pk == GNUTLS_PK_RSA) {
*type = CKK_RSA;
return CKM_RSA_PKCS_KEY_PAIR_GEN;
-# ifdef HAVE_CKM_EDDSA
+#ifdef HAVE_CKM_EDDSA
} else if (pk == GNUTLS_PK_EDDSA_ED25519) {
*type = CKK_EC_EDWARDS;
return CKM_EDDSA;
-# endif
+#endif
} else {
*type = -1;
return -1;
}
}
-int
-pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri *info,
- struct ck_token_info *token_info, int attempts,
- ck_user_type_t user_type, struct p11_kit_pin **pin);
+int pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri *info,
+ struct ck_token_info *token_info, int attempts,
+ ck_user_type_t user_type, struct p11_kit_pin **pin);
ck_object_class_t pkcs11_type_to_class(gnutls_pkcs11_obj_type_t type);
-ck_rv_t
-pkcs11_generate_key(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism,
- struct ck_attribute *templ,
- unsigned long count, ck_object_handle_t * key);
+ck_rv_t pkcs11_generate_key(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_mechanism *mechanism,
+ struct ck_attribute *templ, unsigned long count,
+ ck_object_handle_t *key);
-ck_rv_t
-pkcs11_generate_key_pair(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism,
- struct ck_attribute *pub_templ,
- unsigned long pub_templ_count,
- struct ck_attribute *priv_templ,
- unsigned long priv_templ_count,
- ck_object_handle_t * pub, ck_object_handle_t * priv);
-
-ck_rv_t
-pkcs11_get_slot_list(struct ck_function_list *module,
- unsigned char token_present,
- ck_slot_id_t * slot_list, unsigned long *count);
-
-ck_rv_t
-pkcs11_get_module_info(struct ck_function_list *module, struct ck_info *info);
-
-ck_rv_t
-pkcs11_get_slot_info(struct ck_function_list *module,
- ck_slot_id_t slot_id, struct ck_slot_info *info);
-
-ck_rv_t
-pkcs11_get_token_info(struct ck_function_list *module,
- ck_slot_id_t slot_id, struct ck_token_info *info);
-
-ck_rv_t
-pkcs11_find_objects_init(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_attribute *templ, unsigned long count);
+ck_rv_t pkcs11_generate_key_pair(
+ struct ck_function_list *module, ck_session_handle_t sess,
+ struct ck_mechanism *mechanism, struct ck_attribute *pub_templ,
+ unsigned long pub_templ_count, struct ck_attribute *priv_templ,
+ unsigned long priv_templ_count, ck_object_handle_t *pub,
+ ck_object_handle_t *priv);
+
+ck_rv_t pkcs11_get_slot_list(struct ck_function_list *module,
+ unsigned char token_present,
+ ck_slot_id_t *slot_list, unsigned long *count);
+
+ck_rv_t pkcs11_get_module_info(struct ck_function_list *module,
+ struct ck_info *info);
+
+ck_rv_t pkcs11_get_slot_info(struct ck_function_list *module,
+ ck_slot_id_t slot_id, struct ck_slot_info *info);
+
+ck_rv_t pkcs11_get_token_info(struct ck_function_list *module,
+ ck_slot_id_t slot_id, struct ck_token_info *info);
-ck_rv_t
-pkcs11_find_objects(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t * objects,
- unsigned long max_object_count,
- unsigned long *object_count);
+ck_rv_t pkcs11_find_objects_init(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_attribute *templ,
+ unsigned long count);
+
+ck_rv_t pkcs11_find_objects(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t *objects,
+ unsigned long max_object_count,
+ unsigned long *object_count);
ck_rv_t pkcs11_find_objects_final(struct pkcs11_session_info *);
ck_rv_t pkcs11_close_session(struct pkcs11_session_info *);
-ck_rv_t
-pkcs11_set_attribute_value(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t object,
- struct ck_attribute *templ, unsigned long count);
+ck_rv_t pkcs11_set_attribute_value(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object,
+ struct ck_attribute *templ,
+ unsigned long count);
+
+ck_rv_t pkcs11_get_attribute_value(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object,
+ struct ck_attribute *templ,
+ unsigned long count);
+
+ck_rv_t pkcs11_get_attribute_avalue(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object,
+ ck_attribute_type_t type,
+ gnutls_datum_t *res);
+
+ck_rv_t pkcs11_get_mechanism_list(struct ck_function_list *module,
+ ck_slot_id_t slot_id,
+ ck_mechanism_type_t *mechanism_list,
+ unsigned long *count);
+
+ck_rv_t pkcs11_get_mechanism_info(struct ck_function_list *module,
+ ck_slot_id_t slot_id,
+ ck_mechanism_type_t mechanism,
+ struct ck_mechanism_info *ptr);
+
+ck_rv_t pkcs11_sign_init(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_mechanism *mechanism,
+ ck_object_handle_t key);
-ck_rv_t
-pkcs11_get_attribute_value(struct ck_function_list *module,
- ck_session_handle_t sess,
- ck_object_handle_t object,
- struct ck_attribute *templ, unsigned long count);
+ck_rv_t pkcs11_sign(struct ck_function_list *module, ck_session_handle_t sess,
+ unsigned char *data, unsigned long data_len,
+ unsigned char *signature, unsigned long *signature_len);
-ck_rv_t
-pkcs11_get_attribute_avalue(struct ck_function_list *module,
+ck_rv_t pkcs11_decrypt_init(struct ck_function_list *module,
ck_session_handle_t sess,
- ck_object_handle_t object,
- ck_attribute_type_t type, gnutls_datum_t * res);
-
-ck_rv_t
-pkcs11_get_mechanism_list(struct ck_function_list *module,
- ck_slot_id_t slot_id,
- ck_mechanism_type_t * mechanism_list,
- unsigned long *count);
-
-ck_rv_t
-pkcs11_get_mechanism_info(struct ck_function_list *module,
- ck_slot_id_t slot_id,
- ck_mechanism_type_t mechanism,
- struct ck_mechanism_info *ptr);
-
-ck_rv_t
-pkcs11_sign_init(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism, ck_object_handle_t key);
-
-ck_rv_t
-pkcs11_sign(struct ck_function_list *module,
- ck_session_handle_t sess,
- unsigned char *data,
- unsigned long data_len,
- unsigned char *signature, unsigned long *signature_len);
-
-ck_rv_t
-pkcs11_decrypt_init(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_mechanism *mechanism, ck_object_handle_t key);
-
-ck_rv_t
-pkcs11_decrypt(struct ck_function_list *module,
- ck_session_handle_t sess,
- unsigned char *encrypted_data,
- unsigned long encrypted_data_len,
- unsigned char *data, unsigned long *data_len);
-
-ck_rv_t
-pkcs11_create_object(struct ck_function_list *module,
- ck_session_handle_t sess,
- struct ck_attribute *templ,
- unsigned long count, ck_object_handle_t * object);
-
-ck_rv_t
-pkcs11_destroy_object(struct ck_function_list *module,
- ck_session_handle_t sess, ck_object_handle_t object);
-
-ck_rv_t
-pkcs11_init_token(struct ck_function_list *module,
- ck_slot_id_t slot_id, unsigned char *pin,
- unsigned long pin_len, unsigned char *label);
-
-ck_rv_t
-pkcs11_init_pin(struct ck_function_list *module,
- ck_session_handle_t sess,
- unsigned char *pin, unsigned long pin_len);
-
-ck_rv_t
-pkcs11_set_pin(struct ck_function_list *module,
- ck_session_handle_t sess,
- const char *old_pin,
- unsigned long old_len,
- const char *new_pin, unsigned long new_len);
-
-ck_rv_t
-_gnutls_pkcs11_get_random(struct ck_function_list *module,
- ck_session_handle_t sess, void *data, size_t len);
+ struct ck_mechanism *mechanism,
+ ck_object_handle_t key);
+
+ck_rv_t pkcs11_decrypt(struct ck_function_list *module,
+ ck_session_handle_t sess, unsigned char *encrypted_data,
+ unsigned long encrypted_data_len, unsigned char *data,
+ unsigned long *data_len);
+
+ck_rv_t pkcs11_create_object(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ struct ck_attribute *templ, unsigned long count,
+ ck_object_handle_t *object);
+
+ck_rv_t pkcs11_destroy_object(struct ck_function_list *module,
+ ck_session_handle_t sess,
+ ck_object_handle_t object);
+
+ck_rv_t pkcs11_init_token(struct ck_function_list *module, ck_slot_id_t slot_id,
+ unsigned char *pin, unsigned long pin_len,
+ unsigned char *label);
+
+ck_rv_t pkcs11_init_pin(struct ck_function_list *module,
+ ck_session_handle_t sess, unsigned char *pin,
+ unsigned long pin_len);
+
+ck_rv_t pkcs11_set_pin(struct ck_function_list *module,
+ ck_session_handle_t sess, const char *old_pin,
+ unsigned long old_len, const char *new_pin,
+ unsigned long new_len);
+
+ck_rv_t _gnutls_pkcs11_get_random(struct ck_function_list *module,
+ ck_session_handle_t sess, void *data,
+ size_t len);
const char *pkcs11_strerror(ck_rv_t rv);
@@ -455,15 +439,15 @@ inline static bool is_pkcs11_url_object(const char *url)
return 0;
}
-unsigned
-_gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
- unsigned int flags,
- gnutls_x509_crt_t * trusted_cert);
+unsigned _gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t cert,
+ unsigned int flags,
+ gnutls_x509_crt_t *trusted_cert);
-time_t
-_gnutls_pkcs11_get_distrust_after(const char *url, gnutls_x509_crt_t cert,
- const char *purpose, unsigned int flags);
+time_t _gnutls_pkcs11_get_distrust_after(const char *url,
+ gnutls_x509_crt_t cert,
+ const char *purpose,
+ unsigned int flags);
-# endif /* ENABLE_PKCS11 */
+#endif /* ENABLE_PKCS11 */
-#endif /* GNUTLS_LIB_PKCS11_INT_H */
+#endif /* GNUTLS_LIB_PKCS11_INT_H */
diff --git a/lib/pkcs11_privkey.c b/lib/pkcs11_privkey.c
index 330b6d3897..163ca1f8a6 100644
--- a/lib/pkcs11_privkey.c
+++ b/lib/pkcs11_privkey.c
@@ -35,28 +35,30 @@
/* In case of a fork, it will invalidate the open session
* in the privkey and start another */
-#define PKCS11_CHECK_INIT_PRIVKEY(k) \
- ret = _gnutls_pkcs11_check_init(PROV_INIT_ALL, k, reopen_privkey_session); \
- if (ret < 0) \
- return gnutls_assert_val(ret)
-
-#define FIND_OBJECT(key) \
- do { \
- int retries = 0; \
- int rret; \
- ret = find_object (&key->sinfo, &key->pin, &key->ref, key->uinfo, \
- SESSION_LOGIN); \
- if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { \
- if (_gnutls_token_func) \
- { \
- rret = pkcs11_call_token_func (key->uinfo, retries++); \
- if (rret == 0) continue; \
- } \
- return gnutls_assert_val(ret); \
- } else if (ret < 0) { \
- return gnutls_assert_val(ret); \
- } \
- break; \
+#define PKCS11_CHECK_INIT_PRIVKEY(k) \
+ ret = _gnutls_pkcs11_check_init(PROV_INIT_ALL, k, \
+ reopen_privkey_session); \
+ if (ret < 0) \
+ return gnutls_assert_val(ret)
+
+#define FIND_OBJECT(key) \
+ do { \
+ int retries = 0; \
+ int rret; \
+ ret = find_object(&key->sinfo, &key->pin, &key->ref, \
+ key->uinfo, SESSION_LOGIN); \
+ if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { \
+ if (_gnutls_token_func) { \
+ rret = pkcs11_call_token_func(key->uinfo, \
+ retries++); \
+ if (rret == 0) \
+ continue; \
+ } \
+ return gnutls_assert_val(ret); \
+ } else if (ret < 0) { \
+ return gnutls_assert_val(ret); \
+ } \
+ break; \
} while (1);
/**
@@ -74,7 +76,7 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_pkcs11_privkey_init(gnutls_pkcs11_privkey_t * key)
+int gnutls_pkcs11_privkey_init(gnutls_pkcs11_privkey_t *key)
{
int ret;
*key = NULL;
@@ -117,9 +119,8 @@ int gnutls_pkcs11_privkey_init(gnutls_pkcs11_privkey_t * key)
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_privkey_cpy(gnutls_pkcs11_privkey_t dst,
- gnutls_pkcs11_privkey_t src)
+int gnutls_pkcs11_privkey_cpy(gnutls_pkcs11_privkey_t dst,
+ gnutls_pkcs11_privkey_t src)
{
return gnutls_pkcs11_privkey_import_url(dst, src->url, src->flags);
}
@@ -151,9 +152,8 @@ void gnutls_pkcs11_privkey_deinit(gnutls_pkcs11_privkey_t key)
* Returns: a member of the #gnutls_pk_algorithm_t enumeration on
* success, or a negative error code on error.
**/
-int
-gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t key,
- unsigned int *bits)
+int gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t key,
+ unsigned int *bits)
{
if (bits)
*bits = key->bits;
@@ -174,19 +174,16 @@ gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t key,
*
* Returns: %GNUTLS_E_SUCCESS (0) on success or a negative error code on error.
**/
-int
-gnutls_pkcs11_privkey_get_info(gnutls_pkcs11_privkey_t pkey,
- gnutls_pkcs11_obj_info_t itype,
- void *output, size_t *output_size)
+int gnutls_pkcs11_privkey_get_info(gnutls_pkcs11_privkey_t pkey,
+ gnutls_pkcs11_obj_info_t itype, void *output,
+ size_t *output_size)
{
return pkcs11_get_info(pkey->uinfo, itype, output, output_size);
}
-static int
-find_object(struct pkcs11_session_info *sinfo,
- struct pin_info_st *pin_info,
- ck_object_handle_t * _ctx,
- struct p11_kit_uri *info, unsigned int flags)
+static int find_object(struct pkcs11_session_info *sinfo,
+ struct pin_info_st *pin_info, ck_object_handle_t *_ctx,
+ struct p11_kit_uri *info, unsigned int flags)
{
int ret;
ck_object_handle_t ctx;
@@ -211,8 +208,9 @@ find_object(struct pkcs11_session_info *sinfo,
goto fail;
}
- if (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1, &count)
- == CKR_OK && count == 1) {
+ if (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1, &count) ==
+ CKR_OK &&
+ count == 1) {
*_ctx = ctx;
pkcs11_find_objects_final(sinfo);
return 0;
@@ -220,7 +218,7 @@ find_object(struct pkcs11_session_info *sinfo,
ret = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
pkcs11_find_objects_final(sinfo);
- fail:
+fail:
pkcs11_close_session(sinfo);
return ret;
@@ -242,25 +240,25 @@ static int reopen_privkey_session(void *_privkey)
return 0;
}
-#define REPEAT_ON_INVALID_HANDLE(expr) \
- if ((expr) == CKR_SESSION_HANDLE_INVALID) { \
- ret = reopen_privkey_session(key); \
- if (ret < 0) \
+#define REPEAT_ON_INVALID_HANDLE(expr) \
+ if ((expr) == CKR_SESSION_HANDLE_INVALID) { \
+ ret = reopen_privkey_session(key); \
+ if (ret < 0) \
return gnutls_assert_val(ret); \
- expr; \
+ expr; \
}
struct hash_mappings_st {
gnutls_digest_algorithm_t id;
- unsigned long phash; /* pkcs11 hash ID */
+ unsigned long phash; /* pkcs11 hash ID */
unsigned long mgf_id;
};
#ifndef CKG_MGF1_SHA224
-# define CKG_MGF1_SHA224 0x00000005UL
-# define CKG_MGF1_SHA256 0x00000002UL
-# define CKG_MGF1_SHA384 0x00000003UL
-# define CKG_MGF1_SHA512 0x00000004UL
+#define CKG_MGF1_SHA224 0x00000005UL
+#define CKG_MGF1_SHA256 0x00000002UL
+#define CKG_MGF1_SHA384 0x00000003UL
+#define CKG_MGF1_SHA512 0x00000004UL
struct ck_rsa_pkcs_pss_params {
ck_mechanism_type_t hash_alg;
@@ -271,22 +269,22 @@ struct ck_rsa_pkcs_pss_params {
#endif
static const struct hash_mappings_st hash_mappings[] = {
- {.id = GNUTLS_DIG_SHA224,
- .phash = CKM_SHA224,
- .mgf_id = CKG_MGF1_SHA224},
- {.id = GNUTLS_DIG_SHA256,
- .phash = CKM_SHA256,
- .mgf_id = CKG_MGF1_SHA256},
- {.id = GNUTLS_DIG_SHA384,
- .phash = CKM_SHA384,
- .mgf_id = CKG_MGF1_SHA384},
- {.id = GNUTLS_DIG_SHA512,
- .phash = CKM_SHA512,
- .mgf_id = CKG_MGF1_SHA512}
+ { .id = GNUTLS_DIG_SHA224,
+ .phash = CKM_SHA224,
+ .mgf_id = CKG_MGF1_SHA224 },
+ { .id = GNUTLS_DIG_SHA256,
+ .phash = CKM_SHA256,
+ .mgf_id = CKG_MGF1_SHA256 },
+ { .id = GNUTLS_DIG_SHA384,
+ .phash = CKM_SHA384,
+ .mgf_id = CKG_MGF1_SHA384 },
+ { .id = GNUTLS_DIG_SHA512,
+ .phash = CKM_SHA512,
+ .mgf_id = CKG_MGF1_SHA512 }
};
-static const struct hash_mappings_st *hash_to_map(gnutls_digest_algorithm_t
- hash)
+static const struct hash_mappings_st *
+hash_to_map(gnutls_digest_algorithm_t hash)
{
unsigned i;
for (i = 0; i < sizeof(hash_mappings) / sizeof(hash_mappings[0]); i++) {
@@ -310,12 +308,11 @@ static const struct hash_mappings_st *hash_to_map(gnutls_digest_algorithm_t
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
-*/
-int
-_gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature,
- gnutls_x509_spki_st * spki_params)
+int _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
+ const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *hash,
+ gnutls_datum_t *signature,
+ gnutls_x509_spki_st *spki_params)
{
ck_rv_t rv;
int ret;
@@ -338,9 +335,8 @@ _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
return gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
if (unlikely(!key->rsa_pss_ok))
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
rsa_pss_params.hash_alg = map->phash;
rsa_pss_params.mgf = map->mgf_id;
@@ -366,9 +362,9 @@ _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
/* Initialize signing operation; using the private key discovered
* earlier. */
- REPEAT_ON_INVALID_HANDLE(rv =
- pkcs11_sign_init(sinfo->module, sinfo->pks,
- &mech, key->ref));
+ REPEAT_ON_INVALID_HANDLE(rv = pkcs11_sign_init(sinfo->module,
+ sinfo->pks, &mech,
+ key->ref));
if (rv != CKR_OK) {
_gnutls_debug_log("p11: %s\n", pkcs11_strerror(rv));
gnutls_assert();
@@ -376,17 +372,16 @@ _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
goto cleanup;
}
- retry_login:
+retry_login:
if (key->reauth || req_login) {
if (req_login)
login_flags = SESSION_FORCE_LOGIN | SESSION_LOGIN;
- ret =
- pkcs11_login(&key->sinfo, &key->pin,
- key->uinfo, login_flags);
+ ret = pkcs11_login(&key->sinfo, &key->pin, key->uinfo,
+ login_flags);
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("PKCS #11 login failed, trying operation anyway\n");
+ _gnutls_debug_log(
+ "PKCS #11 login failed, trying operation anyway\n");
/* let's try the operation anyway */
}
}
@@ -416,8 +411,8 @@ _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
goto cleanup;
}
- if (key->pk_algorithm == GNUTLS_PK_ECDSA
- || key->pk_algorithm == GNUTLS_PK_DSA) {
+ if (key->pk_algorithm == GNUTLS_PK_ECDSA ||
+ key->pk_algorithm == GNUTLS_PK_DSA) {
unsigned int hlen = siglen / 2;
gnutls_datum_t r, s;
@@ -447,7 +442,7 @@ _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,
ret = 0;
- cleanup:
+cleanup:
gnutls_mutex_unlock(&key->mutex);
if (sinfo != &key->sinfo)
pkcs11_close_session(sinfo);
@@ -477,17 +472,16 @@ unsigned gnutls_pkcs11_privkey_status(gnutls_pkcs11_privkey_t key)
PKCS11_CHECK_INIT_PRIVKEY(key);
- REPEAT_ON_INVALID_HANDLE(rv =
- (key->sinfo.module)->
- C_GetSessionInfo(key->sinfo.pks,
- &session_info));
+ REPEAT_ON_INVALID_HANDLE(
+ rv = (key->sinfo.module)
+ ->C_GetSessionInfo(key->sinfo.pks, &session_info));
if (rv != CKR_OK) {
ret = 0;
goto cleanup;
}
ret = 1;
- cleanup:
+cleanup:
return ret;
}
@@ -506,9 +500,8 @@ unsigned gnutls_pkcs11_privkey_status(gnutls_pkcs11_privkey_t key)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
- const char *url, unsigned int flags)
+int gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
+ const char *url, unsigned int flags)
{
int ret;
struct ck_attribute *attr;
@@ -533,9 +526,8 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
if (pkey->url == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret =
- pkcs11_url_to_info(pkey->url, &pkey->uinfo,
- flags | GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PRIVKEY);
+ ret = pkcs11_url_to_info(pkey->url, &pkey->uinfo,
+ flags | GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PRIVKEY);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -545,7 +537,7 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
attr = p11_kit_uri_get_attribute(pkey->uinfo, CKA_CLASS);
if (!attr || attr->value_len != sizeof(ck_object_class_t) ||
- *(ck_object_class_t *) attr->value != CKO_PRIVATE_KEY) {
+ *(ck_object_class_t *)attr->value != CKO_PRIVATE_KEY) {
gnutls_assert();
ret = GNUTLS_E_INVALID_REQUEST;
goto cleanup;
@@ -567,9 +559,8 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
a[0].type = CKA_KEY_TYPE;
a[0].value = &key_type;
a[0].value_len = sizeof(key_type);
- if (pkcs11_get_attribute_value
- (pkey->sinfo.module, pkey->sinfo.pks, pkey->ref, a, 1)
- == CKR_OK) {
+ if (pkcs11_get_attribute_value(pkey->sinfo.module, pkey->sinfo.pks,
+ pkey->ref, a, 1) == CKR_OK) {
pkey->pk_algorithm = key_type_to_pk(key_type);
}
@@ -579,7 +570,8 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
goto cleanup;
}
- if (pkey->pk_algorithm == GNUTLS_PK_RSA) { /* determine whether it can do rsa-pss */
+ if (pkey->pk_algorithm ==
+ GNUTLS_PK_RSA) { /* determine whether it can do rsa-pss */
tval = 0;
a[0].type = CKA_MODULUS;
a[0].value = NULL;
@@ -587,21 +579,20 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
a[1].type = CKA_SIGN;
a[1].value = &tval;
a[1].value_len = sizeof(tval);
- if (pkcs11_get_attribute_value
- (pkey->sinfo.module, pkey->sinfo.pks, pkey->ref, a, 2)
- == CKR_OK) {
+ if (pkcs11_get_attribute_value(pkey->sinfo.module,
+ pkey->sinfo.pks, pkey->ref, a,
+ 2) == CKR_OK) {
pkey->bits = a[0].value_len * 8;
}
- ret =
- gnutls_pkcs11_token_check_mechanism(url, CKM_RSA_PKCS_PSS,
- NULL, 0, 0);
+ ret = gnutls_pkcs11_token_check_mechanism(url, CKM_RSA_PKCS_PSS,
+ NULL, 0, 0);
if (ret != 0 && tval) {
pkey->rsa_pss_ok = 1;
} else {
- _gnutls_debug_log
- ("Detected incompatible with TLS1.3 RSA key! (%s)\n",
- url);
+ _gnutls_debug_log(
+ "Detected incompatible with TLS1.3 RSA key! (%s)\n",
+ url);
}
}
@@ -609,9 +600,8 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
a[0].value = &reauth;
a[0].value_len = sizeof(reauth);
- if (pkcs11_get_attribute_value
- (pkey->sinfo.module, pkey->sinfo.pks, pkey->ref, a, 1)
- == CKR_OK) {
+ if (pkcs11_get_attribute_value(pkey->sinfo.module, pkey->sinfo.pks,
+ pkey->ref, a, 1) == CKR_OK) {
pkey->reauth = reauth;
}
@@ -619,7 +609,7 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
return ret;
- cleanup:
+cleanup:
if (pkey->uinfo != NULL) {
p11_kit_uri_free(pkey->uinfo);
pkey->uinfo = NULL;
@@ -642,11 +632,10 @@ gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
-*/
-int
-_gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- gnutls_datum_t * plaintext)
+int _gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
+ unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext)
{
ck_rv_t rv;
int ret;
@@ -670,27 +659,25 @@ _gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
/* Initialize signing operation; using the private key discovered
* earlier. */
- REPEAT_ON_INVALID_HANDLE(rv =
- pkcs11_decrypt_init(key->sinfo.module,
- key->sinfo.pks, &mech,
- key->ref));
+ REPEAT_ON_INVALID_HANDLE(rv = pkcs11_decrypt_init(key->sinfo.module,
+ key->sinfo.pks, &mech,
+ key->ref));
if (rv != CKR_OK) {
gnutls_assert();
ret = pkcs11_rv_to_err(rv);
goto cleanup;
}
- retry_login:
+retry_login:
if (key->reauth || req_login) {
if (req_login)
login_flags = SESSION_FORCE_LOGIN | SESSION_LOGIN;
- ret =
- pkcs11_login(&key->sinfo, &key->pin,
- key->uinfo, login_flags);
+ ret = pkcs11_login(&key->sinfo, &key->pin, key->uinfo,
+ login_flags);
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("PKCS #11 login failed, trying operation anyway\n");
+ _gnutls_debug_log(
+ "PKCS #11 login failed, trying operation anyway\n");
/* let's try the operation anyway */
}
}
@@ -725,7 +712,7 @@ _gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
ret = 0;
- cleanup:
+cleanup:
gnutls_mutex_unlock(&key->mutex);
return ret;
}
@@ -750,12 +737,11 @@ _gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
-*/
-int
-_gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- unsigned char *plaintext,
- size_t plaintext_size)
+int _gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
+ unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ unsigned char *plaintext,
+ size_t plaintext_size)
{
ck_rv_t rv;
int ret;
@@ -788,37 +774,33 @@ _gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
/* Initialize signing operation; using the private key discovered
* earlier. */
- REPEAT_ON_INVALID_HANDLE(rv =
- pkcs11_decrypt_init(key->sinfo.module,
- key->sinfo.pks, &mech,
- key->ref)
- );
+ REPEAT_ON_INVALID_HANDLE(rv = pkcs11_decrypt_init(key->sinfo.module,
+ key->sinfo.pks, &mech,
+ key->ref));
if (rv != CKR_OK) {
gnutls_assert();
ret = pkcs11_rv_to_err(rv);
goto cleanup;
}
- retry_login:
+retry_login:
if (key->reauth || req_login) {
if (req_login)
login_flags = SESSION_FORCE_LOGIN | SESSION_LOGIN;
- ret =
- pkcs11_login(&key->sinfo, &key->pin,
- key->uinfo, login_flags);
+ ret = pkcs11_login(&key->sinfo, &key->pin, key->uinfo,
+ login_flags);
if (ret < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("PKCS #11 login failed, trying operation anyway\n");
+ _gnutls_debug_log(
+ "PKCS #11 login failed, trying operation anyway\n");
/* let's try the operation anyway */
}
}
ret = 0;
siglen = ciphertext->size;
- rv = pkcs11_decrypt(key->sinfo.module, key->sinfo.pks,
- ciphertext->data, ciphertext->size,
- buffer, &siglen);
+ rv = pkcs11_decrypt(key->sinfo.module, key->sinfo.pks, ciphertext->data,
+ ciphertext->size, buffer, &siglen);
if (unlikely(rv == CKR_USER_NOT_LOGGED_IN && req_login == 0)) {
req_login = 1;
goto retry_login;
@@ -835,13 +817,13 @@ _gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
/* conditionally copy buffer in a side-channel silent way */
/* on success mask is 0xFF, on failure it is 0 */
- mask = ((uint32_t) ret >> 31) - 1U;
+ mask = ((uint32_t)ret >> 31) - 1U;
for (size_t i = 0; i < plaintext_size; i++) {
value = (buffer[i] & mask) + (plaintext[i] & ~mask);
plaintext[i] = value;
}
- cleanup:
+cleanup:
gnutls_mutex_unlock(&key->mutex);
gnutls_free(buffer);
return ret;
@@ -858,9 +840,9 @@ _gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs11_privkey_export_url(gnutls_pkcs11_privkey_t key,
- gnutls_pkcs11_url_type_t detailed, char **url)
+int gnutls_pkcs11_privkey_export_url(gnutls_pkcs11_privkey_t key,
+ gnutls_pkcs11_url_type_t detailed,
+ char **url)
{
int ret;
@@ -934,7 +916,7 @@ gnutls_pkcs11_privkey_generate2(const char *url, gnutls_pk_algorithm_t pk,
}
#endif
-static const char def_rsa_pub_exp[3] = { 1, 0, 1 }; // 65537 = 0x10001
+static const char def_rsa_pub_exp[3] = { 1, 0, 1 }; // 65537 = 0x10001
struct dsa_params {
/* FIPS 186-3 maximal size for L and N length pair is (3072,256). */
@@ -943,11 +925,10 @@ struct dsa_params {
uint8_t generator[384];
};
-static int
-_dsa_params_generate(struct ck_function_list *module,
- ck_session_handle_t session, unsigned long bits,
- struct dsa_params *params, struct ck_attribute *a,
- int *a_val)
+static int _dsa_params_generate(struct ck_function_list *module,
+ ck_session_handle_t session, unsigned long bits,
+ struct dsa_params *params,
+ struct ck_attribute *a, int *a_val)
{
struct ck_mechanism mech = { CKM_DSA_PARAMETER_GEN };
struct ck_attribute attr = { CKA_PRIME_BITS, &bits, sizeof(bits) };
@@ -1019,13 +1000,12 @@ _dsa_params_generate(struct ck_function_list *module,
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
- unsigned int bits, const char *label,
- const gnutls_datum_t * cid,
- gnutls_x509_crt_fmt_t fmt,
- gnutls_datum_t * pubkey,
- unsigned int key_usage, unsigned int flags)
+int gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
+ unsigned int bits, const char *label,
+ const gnutls_datum_t *cid,
+ gnutls_x509_crt_fmt_t fmt,
+ gnutls_datum_t *pubkey,
+ unsigned int key_usage, unsigned int flags)
{
int ret;
const ck_bool_t tval = 1;
@@ -1056,9 +1036,9 @@ gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
return ret;
}
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(info);
if (ret < 0) {
@@ -1218,9 +1198,8 @@ gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
a[a_val].value_len = sizeof(tval);
a_val++;
- ret =
- _gnutls_x509_write_ecc_params(GNUTLS_ECC_CURVE_ED25519,
- &der);
+ ret = _gnutls_x509_write_ecc_params(GNUTLS_ECC_CURVE_ED25519,
+ &der);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1294,8 +1273,8 @@ gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
p_val++;
}
- rv = pkcs11_generate_key_pair(sinfo.module, sinfo.pks, &mech, a,
- a_val, p, p_val, &pub_ctx, &priv_ctx);
+ rv = pkcs11_generate_key_pair(sinfo.module, sinfo.pks, &mech, a, a_val,
+ p, p_val, &pub_ctx, &priv_ctx);
if (rv != CKR_OK) {
gnutls_assert();
_gnutls_debug_log("p11: %s\n", pkcs11_strerror(rv));
@@ -1305,7 +1284,6 @@ gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
/* extract the public key */
if (pubkey) {
-
ret = gnutls_pubkey_init(&pkey);
if (ret < 0) {
gnutls_assert();
@@ -1320,9 +1298,8 @@ gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
obj->pk_algorithm = pk;
obj->type = GNUTLS_PKCS11_OBJ_PUBKEY;
- ret =
- pkcs11_read_pubkey(sinfo.module, sinfo.pks, pub_ctx,
- key_type, obj);
+ ret = pkcs11_read_pubkey(sinfo.module, sinfo.pks, pub_ctx,
+ key_type, obj);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1341,7 +1318,7 @@ gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t pk,
}
}
- cleanup:
+cleanup:
if (obj != NULL)
gnutls_pkcs11_obj_deinit(obj);
if (pkey != NULL)
@@ -1385,14 +1362,13 @@ static int load_pubkey_obj(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t pub)
ret = gnutls_pubkey_import_x509(pub, crt, 0);
- cleanup:
+cleanup:
gnutls_x509_crt_deinit(crt);
return ret;
}
-int
-_pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t * pub,
- unsigned flags)
+int _pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey,
+ gnutls_pubkey_t *pub, unsigned flags)
{
gnutls_pubkey_t pubkey = NULL;
gnutls_pkcs11_obj_t obj = NULL;
@@ -1433,9 +1409,8 @@ _pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t * pub,
goto cleanup;
}
} else {
- ret =
- pkcs11_read_pubkey(pkey->sinfo.module, pkey->sinfo.pks,
- pkey->ref, key_type, obj);
+ ret = pkcs11_read_pubkey(pkey->sinfo.module, pkey->sinfo.pks,
+ pkey->ref, key_type, obj);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1453,7 +1428,7 @@ _pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t * pub,
pubkey = NULL;
ret = 0;
- cleanup:
+cleanup:
if (obj != NULL)
gnutls_pkcs11_obj_deinit(obj);
if (pubkey != NULL)
@@ -1479,10 +1454,10 @@ _pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t * pub,
*
* Since: 3.3.7
**/
-int
-gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,
- gnutls_x509_crt_fmt_t fmt,
- gnutls_datum_t * data, unsigned int flags)
+int gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,
+ gnutls_x509_crt_fmt_t fmt,
+ gnutls_datum_t *data,
+ unsigned int flags)
{
int ret;
gnutls_pubkey_t pubkey = NULL;
@@ -1499,7 +1474,7 @@ gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,
ret = 0;
- cleanup:
+cleanup:
if (pubkey != NULL)
gnutls_pubkey_deinit(pubkey);
@@ -1519,9 +1494,9 @@ gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,
* Since: 3.1.0
*
**/
-void
-gnutls_pkcs11_privkey_set_pin_function(gnutls_pkcs11_privkey_t key,
- gnutls_pin_callback_t fn, void *userdata)
+void gnutls_pkcs11_privkey_set_pin_function(gnutls_pkcs11_privkey_t key,
+ gnutls_pin_callback_t fn,
+ void *userdata)
{
key->pin.cb = fn;
key->pin.data = userdata;
diff --git a/lib/pkcs11_secret.c b/lib/pkcs11_secret.c
index 1b7521f39d..eb145adc44 100644
--- a/lib/pkcs11_secret.c
+++ b/lib/pkcs11_secret.c
@@ -43,11 +43,10 @@
*
* Since: 2.12.0
**/
-int
-gnutls_pkcs11_copy_secret_key(const char *token_url, gnutls_datum_t * key,
- const char *label,
- unsigned int key_usage, unsigned int flags
- /* GNUTLS_PKCS11_OBJ_FLAG_* */ )
+int gnutls_pkcs11_copy_secret_key(const char *token_url, gnutls_datum_t *key,
+ const char *label, unsigned int key_usage,
+ unsigned int flags
+ /* GNUTLS_PKCS11_OBJ_FLAG_* */)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -78,9 +77,9 @@ gnutls_pkcs11_copy_secret_key(const char *token_url, gnutls_datum_t * key,
return ret;
}
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(info);
if (ret < 0) {
@@ -141,9 +140,8 @@ gnutls_pkcs11_copy_secret_key(const char *token_url, gnutls_datum_t * key,
ret = 0;
- cleanup:
+cleanup:
pkcs11_close_session(&sinfo);
return ret;
-
}
diff --git a/lib/pkcs11_write.c b/lib/pkcs11_write.c
index 0ca2130af3..f37b2400ea 100644
--- a/lib/pkcs11_write.c
+++ b/lib/pkcs11_write.c
@@ -53,8 +53,8 @@ static void mark_flags(unsigned flags, struct ck_attribute *a, unsigned *a_val,
a[*a_val].value_len = sizeof(tval);
(*a_val)++;
} else {
- _gnutls_debug_log
- ("p11: ignoring the distrusted flag as it is not valid on non-p11-kit-trust modules\n");
+ _gnutls_debug_log(
+ "p11: ignoring the distrusted flag as it is not valid on non-p11-kit-trust modules\n");
}
}
@@ -101,10 +101,9 @@ static void mark_flags(unsigned flags, struct ck_attribute *a, unsigned *a_val,
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_copy_x509_crt2(const char *token_url,
- gnutls_x509_crt_t crt, const char *label,
- const gnutls_datum_t * cid, unsigned int flags)
+int gnutls_pkcs11_copy_x509_crt2(const char *token_url, gnutls_x509_crt_t crt,
+ const char *label, const gnutls_datum_t *cid,
+ unsigned int flags)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -129,9 +128,9 @@ gnutls_pkcs11_copy_x509_crt2(const char *token_url,
return ret;
}
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(info);
if (ret < 0) {
@@ -166,8 +165,8 @@ gnutls_pkcs11_copy_x509_crt2(const char *token_url,
a[1].type = CKA_ID;
if (cid == NULL || cid->size == 0) {
id_size = sizeof(id);
- ret =
- gnutls_x509_crt_get_subject_key_id(crt, id, &id_size, NULL);
+ ret = gnutls_x509_crt_get_subject_key_id(crt, id, &id_size,
+ NULL);
if (ret < 0) {
id_size = sizeof(id);
ret = gnutls_x509_crt_get_key_id(crt, 0, id, &id_size);
@@ -212,9 +211,8 @@ gnutls_pkcs11_copy_x509_crt2(const char *token_url,
serial_size = sizeof(serial);
if (gnutls_x509_crt_get_serial(crt, serial, &serial_size) >= 0) {
- ret =
- _gnutls_x509_ext_gen_number(serial, serial_size,
- &serial_der);
+ ret = _gnutls_x509_ext_gen_number(serial, serial_size,
+ &serial_der);
if (ret >= 0) {
a[a_val].type = CKA_SERIAL_NUMBER;
a[a_val].value = (void *)serial_der.data;
@@ -245,12 +243,11 @@ gnutls_pkcs11_copy_x509_crt2(const char *token_url,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(der);
gnutls_free(serial_der.data);
pkcs11_close_session(&sinfo);
return ret;
-
}
static void clean_pubkey(struct ck_attribute *a, unsigned a_val)
@@ -283,124 +280,116 @@ static int add_pubkey(gnutls_pubkey_t pubkey, struct ck_attribute *a,
switch (pk) {
case GNUTLS_PK_RSA_PSS:
- case GNUTLS_PK_RSA:{
- gnutls_datum_t m, e;
+ case GNUTLS_PK_RSA: {
+ gnutls_datum_t m, e;
- /* PKCS#11 defines integers as unsigned having most significant byte
+ /* PKCS#11 defines integers as unsigned having most significant byte
* first, e.g., 32768 = 0x80 0x00. This is interpreted literraly by
* some HSMs which do not accept an integer with a leading zero */
- ret =
- gnutls_pubkey_export_rsa_raw2(pubkey, &m, &e,
- GNUTLS_EXPORT_FLAG_NO_LZ);
- if (ret < 0) {
- gnutls_assert();
- return ret;
- }
+ ret = gnutls_pubkey_export_rsa_raw2(pubkey, &m, &e,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
+ if (ret < 0) {
+ gnutls_assert();
+ return ret;
+ }
- a[*a_val].type = CKA_MODULUS;
- a[*a_val].value = m.data;
- a[*a_val].value_len = m.size;
- (*a_val)++;
+ a[*a_val].type = CKA_MODULUS;
+ a[*a_val].value = m.data;
+ a[*a_val].value_len = m.size;
+ (*a_val)++;
- a[*a_val].type = CKA_PUBLIC_EXPONENT;
- a[*a_val].value = e.data;
- a[*a_val].value_len = e.size;
- (*a_val)++;
- break;
+ a[*a_val].type = CKA_PUBLIC_EXPONENT;
+ a[*a_val].value = e.data;
+ a[*a_val].value_len = e.size;
+ (*a_val)++;
+ break;
+ }
+ case GNUTLS_PK_DSA: {
+ gnutls_datum_t p, q, g, y;
+
+ ret = gnutls_pubkey_export_dsa_raw2(pubkey, &p, &q, &g, &y,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
+ if (ret < 0) {
+ gnutls_assert();
+ return ret;
}
- case GNUTLS_PK_DSA:{
- gnutls_datum_t p, q, g, y;
- ret =
- gnutls_pubkey_export_dsa_raw2(pubkey, &p, &q, &g,
- &y,
- GNUTLS_EXPORT_FLAG_NO_LZ);
- if (ret < 0) {
- gnutls_assert();
- return ret;
- }
+ a[*a_val].type = CKA_PRIME;
+ a[*a_val].value = p.data;
+ a[*a_val].value_len = p.size;
+ (*a_val)++;
- a[*a_val].type = CKA_PRIME;
- a[*a_val].value = p.data;
- a[*a_val].value_len = p.size;
- (*a_val)++;
+ a[*a_val].type = CKA_SUBPRIME;
+ a[*a_val].value = q.data;
+ a[*a_val].value_len = q.size;
+ (*a_val)++;
- a[*a_val].type = CKA_SUBPRIME;
- a[*a_val].value = q.data;
- a[*a_val].value_len = q.size;
- (*a_val)++;
+ a[*a_val].type = CKA_BASE;
+ a[*a_val].value = g.data;
+ a[*a_val].value_len = g.size;
+ (*a_val)++;
- a[*a_val].type = CKA_BASE;
- a[*a_val].value = g.data;
- a[*a_val].value_len = g.size;
- (*a_val)++;
+ a[*a_val].type = CKA_VALUE;
+ a[*a_val].value = y.data;
+ a[*a_val].value_len = y.size;
+ (*a_val)++;
+ break;
+ }
+ case GNUTLS_PK_EC: {
+ gnutls_datum_t params, point;
- a[*a_val].type = CKA_VALUE;
- a[*a_val].value = y.data;
- a[*a_val].value_len = y.size;
- (*a_val)++;
- break;
+ ret = gnutls_pubkey_export_ecc_x962(pubkey, &params, &point);
+ if (ret < 0) {
+ gnutls_assert();
+ return ret;
}
- case GNUTLS_PK_EC:{
- gnutls_datum_t params, point;
- ret =
- gnutls_pubkey_export_ecc_x962(pubkey, &params,
- &point);
- if (ret < 0) {
- gnutls_assert();
- return ret;
- }
+ a[*a_val].type = CKA_EC_PARAMS;
+ a[*a_val].value = params.data;
+ a[*a_val].value_len = params.size;
+ (*a_val)++;
- a[*a_val].type = CKA_EC_PARAMS;
- a[*a_val].value = params.data;
- a[*a_val].value_len = params.size;
- (*a_val)++;
+ a[*a_val].type = CKA_EC_POINT;
+ a[*a_val].value = point.data;
+ a[*a_val].value_len = point.size;
+ (*a_val)++;
+ break;
+ }
+ case GNUTLS_PK_EDDSA_ED25519: {
+ gnutls_datum_t params, ecpoint;
- a[*a_val].type = CKA_EC_POINT;
- a[*a_val].value = point.data;
- a[*a_val].value_len = point.size;
- (*a_val)++;
- break;
+ ret = _gnutls_x509_write_ecc_params(pubkey->params.curve,
+ &params);
+ if (ret < 0) {
+ gnutls_assert();
+ return ret;
}
- case GNUTLS_PK_EDDSA_ED25519:{
- gnutls_datum_t params, ecpoint;
-
- ret =
- _gnutls_x509_write_ecc_params(pubkey->params.curve,
- &params);
- if (ret < 0) {
- gnutls_assert();
- return ret;
- }
-
- a[*a_val].type = CKA_EC_PARAMS;
- a[*a_val].value = params.data;
- a[*a_val].value_len = params.size;
- (*a_val)++;
- ret =
- _gnutls_x509_encode_string(ASN1_ETYPE_OCTET_STRING,
- pubkey->params.
- raw_pub.data,
- pubkey->params.
- raw_pub.size, &ecpoint);
- if (ret < 0) {
- gnutls_assert();
- return ret;
- }
+ a[*a_val].type = CKA_EC_PARAMS;
+ a[*a_val].value = params.data;
+ a[*a_val].value_len = params.size;
+ (*a_val)++;
- a[*a_val].type = CKA_EC_POINT;
- a[*a_val].value = ecpoint.data;
- a[*a_val].value_len = ecpoint.size;
- (*a_val)++;
- break;
+ ret = _gnutls_x509_encode_string(ASN1_ETYPE_OCTET_STRING,
+ pubkey->params.raw_pub.data,
+ pubkey->params.raw_pub.size,
+ &ecpoint);
+ if (ret < 0) {
+ gnutls_assert();
+ return ret;
}
+ a[*a_val].type = CKA_EC_POINT;
+ a[*a_val].value = ecpoint.data;
+ a[*a_val].value_len = ecpoint.size;
+ (*a_val)++;
+ break;
+ }
+
default:
- _gnutls_debug_log
- ("requested writing public key of unsupported type %u\n",
- (unsigned)pk);
+ _gnutls_debug_log(
+ "requested writing public key of unsupported type %u\n",
+ (unsigned)pk);
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
}
@@ -426,11 +415,9 @@ static int add_pubkey(gnutls_pubkey_t pubkey, struct ck_attribute *a,
*
* Since: 3.4.6
**/
-int
-gnutls_pkcs11_copy_pubkey(const char *token_url,
- gnutls_pubkey_t pubkey, const char *label,
- const gnutls_datum_t * cid,
- unsigned int key_usage, unsigned int flags)
+int gnutls_pkcs11_copy_pubkey(const char *token_url, gnutls_pubkey_t pubkey,
+ const char *label, const gnutls_datum_t *cid,
+ unsigned int key_usage, unsigned int flags)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -453,9 +440,9 @@ gnutls_pkcs11_copy_pubkey(const char *token_url,
return ret;
}
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(info);
if (ret < 0) {
@@ -550,11 +537,10 @@ gnutls_pkcs11_copy_pubkey(const char *token_url,
ret = 0;
- cleanup:
+cleanup:
clean_pubkey(a, a_val);
pkcs11_close_session(&sinfo);
return ret;
-
}
/**
@@ -575,11 +561,10 @@ gnutls_pkcs11_copy_pubkey(const char *token_url,
*
* Since: 3.3.8
**/
-int
-gnutls_pkcs11_copy_attached_extension(const char *token_url,
- gnutls_x509_crt_t crt,
- gnutls_datum_t * data,
- const char *label, unsigned int flags)
+int gnutls_pkcs11_copy_attached_extension(const char *token_url,
+ gnutls_x509_crt_t crt,
+ gnutls_datum_t *data,
+ const char *label, unsigned int flags)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -599,9 +584,9 @@ gnutls_pkcs11_copy_attached_extension(const char *token_url,
return ret;
}
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(info);
if (ret < 0) {
@@ -649,11 +634,10 @@ gnutls_pkcs11_copy_attached_extension(const char *token_url,
ret = 0;
- cleanup:
+cleanup:
pkcs11_close_session(&sinfo);
gnutls_free(spki.data);
return ret;
-
}
/**
@@ -676,12 +660,11 @@ gnutls_pkcs11_copy_attached_extension(const char *token_url,
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
- gnutls_x509_privkey_t key,
- const char *label,
- const gnutls_datum_t * cid,
- unsigned int key_usage, unsigned int flags)
+int gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
+ gnutls_x509_privkey_t key,
+ const char *label,
+ const gnutls_datum_t *cid,
+ unsigned int key_usage, unsigned int flags)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -718,9 +701,9 @@ gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
return ret;
}
- ret =
- pkcs11_open_session(&sinfo, NULL, info,
- SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
+ ret = pkcs11_open_session(&sinfo, NULL, info,
+ SESSION_WRITE |
+ pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(info);
if (ret < 0) {
@@ -768,8 +751,8 @@ gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
if (pk == GNUTLS_PK_RSA) {
a[a_val].type = CKA_DECRYPT;
if ((key_usage &
- (GNUTLS_KEY_ENCIPHER_ONLY | GNUTLS_KEY_DECIPHER_ONLY))
- || (key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT)) {
+ (GNUTLS_KEY_ENCIPHER_ONLY | GNUTLS_KEY_DECIPHER_ONLY)) ||
+ (key_usage & GNUTLS_KEY_KEY_ENCIPHERMENT)) {
a[a_val].value = (void *)&tval;
a[a_val].value_len = sizeof(tval);
} else {
@@ -839,152 +822,140 @@ gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
switch (pk) {
case GNUTLS_PK_RSA:
- case GNUTLS_PK_RSA_PSS:
- {
-
- ret =
- _gnutls_params_get_rsa_raw(&key->params, &m, &e, &d,
- &p, &q, &u, &exp1, &exp2,
- GNUTLS_EXPORT_FLAG_NO_LZ);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ case GNUTLS_PK_RSA_PSS: {
+ ret = _gnutls_params_get_rsa_raw(&key->params, &m, &e, &d, &p,
+ &q, &u, &exp1, &exp2,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- type = CKK_RSA;
+ type = CKK_RSA;
- a[a_val].type = CKA_MODULUS;
- a[a_val].value = m.data;
- a[a_val].value_len = m.size;
- a_val++;
+ a[a_val].type = CKA_MODULUS;
+ a[a_val].value = m.data;
+ a[a_val].value_len = m.size;
+ a_val++;
- a[a_val].type = CKA_PUBLIC_EXPONENT;
- a[a_val].value = e.data;
- a[a_val].value_len = e.size;
- a_val++;
+ a[a_val].type = CKA_PUBLIC_EXPONENT;
+ a[a_val].value = e.data;
+ a[a_val].value_len = e.size;
+ a_val++;
- a[a_val].type = CKA_PRIVATE_EXPONENT;
- a[a_val].value = d.data;
- a[a_val].value_len = d.size;
- a_val++;
+ a[a_val].type = CKA_PRIVATE_EXPONENT;
+ a[a_val].value = d.data;
+ a[a_val].value_len = d.size;
+ a_val++;
- a[a_val].type = CKA_PRIME_1;
- a[a_val].value = p.data;
- a[a_val].value_len = p.size;
- a_val++;
+ a[a_val].type = CKA_PRIME_1;
+ a[a_val].value = p.data;
+ a[a_val].value_len = p.size;
+ a_val++;
- a[a_val].type = CKA_PRIME_2;
- a[a_val].value = q.data;
- a[a_val].value_len = q.size;
- a_val++;
+ a[a_val].type = CKA_PRIME_2;
+ a[a_val].value = q.data;
+ a[a_val].value_len = q.size;
+ a_val++;
- a[a_val].type = CKA_COEFFICIENT;
- a[a_val].value = u.data;
- a[a_val].value_len = u.size;
- a_val++;
+ a[a_val].type = CKA_COEFFICIENT;
+ a[a_val].value = u.data;
+ a[a_val].value_len = u.size;
+ a_val++;
- a[a_val].type = CKA_EXPONENT_1;
- a[a_val].value = exp1.data;
- a[a_val].value_len = exp1.size;
- a_val++;
+ a[a_val].type = CKA_EXPONENT_1;
+ a[a_val].value = exp1.data;
+ a[a_val].value_len = exp1.size;
+ a_val++;
- a[a_val].type = CKA_EXPONENT_2;
- a[a_val].value = exp2.data;
- a[a_val].value_len = exp2.size;
- a_val++;
+ a[a_val].type = CKA_EXPONENT_2;
+ a[a_val].value = exp2.data;
+ a[a_val].value_len = exp2.size;
+ a_val++;
- break;
+ break;
+ }
+ case GNUTLS_PK_DSA: {
+ ret = _gnutls_params_get_dsa_raw(&key->params, &p, &q, &g, &y,
+ &x, GNUTLS_EXPORT_FLAG_NO_LZ);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
- case GNUTLS_PK_DSA:
- {
- ret =
- _gnutls_params_get_dsa_raw(&key->params, &p, &q, &g,
- &y, &x,
- GNUTLS_EXPORT_FLAG_NO_LZ);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
- type = CKK_DSA;
+ type = CKK_DSA;
- a[a_val].type = CKA_PRIME;
- a[a_val].value = p.data;
- a[a_val].value_len = p.size;
- a_val++;
+ a[a_val].type = CKA_PRIME;
+ a[a_val].value = p.data;
+ a[a_val].value_len = p.size;
+ a_val++;
- a[a_val].type = CKA_SUBPRIME;
- a[a_val].value = q.data;
- a[a_val].value_len = q.size;
- a_val++;
+ a[a_val].type = CKA_SUBPRIME;
+ a[a_val].value = q.data;
+ a[a_val].value_len = q.size;
+ a_val++;
- a[a_val].type = CKA_BASE;
- a[a_val].value = g.data;
- a[a_val].value_len = g.size;
- a_val++;
+ a[a_val].type = CKA_BASE;
+ a[a_val].value = g.data;
+ a[a_val].value_len = g.size;
+ a_val++;
- a[a_val].type = CKA_VALUE;
- a[a_val].value = x.data;
- a[a_val].value_len = x.size;
- a_val++;
+ a[a_val].type = CKA_VALUE;
+ a[a_val].value = x.data;
+ a[a_val].value_len = x.size;
+ a_val++;
- break;
+ break;
+ }
+ case GNUTLS_PK_EC: {
+ ret = _gnutls_x509_write_ecc_params(key->params.curve, &p);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
}
- case GNUTLS_PK_EC:
- {
- ret =
- _gnutls_x509_write_ecc_params(key->params.curve,
- &p);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
- ret = _gnutls_mpi_dprint(key->params.params[ECC_K], &x);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ ret = _gnutls_mpi_dprint(key->params.params[ECC_K], &x);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- type = CKK_ECDSA;
+ type = CKK_ECDSA;
- a[a_val].type = CKA_EC_PARAMS;
- a[a_val].value = p.data;
- a[a_val].value_len = p.size;
- a_val++;
+ a[a_val].type = CKA_EC_PARAMS;
+ a[a_val].value = p.data;
+ a[a_val].value_len = p.size;
+ a_val++;
- a[a_val].type = CKA_VALUE;
- a[a_val].value = x.data;
- a[a_val].value_len = x.size;
- a_val++;
+ a[a_val].type = CKA_VALUE;
+ a[a_val].value = x.data;
+ a[a_val].value_len = x.size;
+ a_val++;
- break;
- }
+ break;
+ }
#ifdef HAVE_CKM_EDDSA
- case GNUTLS_PK_EDDSA_ED25519:
- {
- ret =
- _gnutls_x509_write_ecc_params(key->params.curve,
- &p);
- if (ret < 0) {
- gnutls_assert();
- goto cleanup;
- }
+ case GNUTLS_PK_EDDSA_ED25519: {
+ ret = _gnutls_x509_write_ecc_params(key->params.curve, &p);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
- type = CKK_EC_EDWARDS;
+ type = CKK_EC_EDWARDS;
- a[a_val].type = CKA_EC_PARAMS;
- a[a_val].value = p.data;
- a[a_val].value_len = p.size;
- a_val++;
+ a[a_val].type = CKA_EC_PARAMS;
+ a[a_val].value = p.data;
+ a[a_val].value_len = p.size;
+ a_val++;
- a[a_val].type = CKA_VALUE;
- a[a_val].value = key->params.raw_priv.data;
- a[a_val].value_len = key->params.raw_priv.size;
- a_val++;
+ a[a_val].type = CKA_VALUE;
+ a[a_val].value = key->params.raw_priv.data;
+ a[a_val].value_len = key->params.raw_priv.size;
+ a_val++;
- break;
- }
+ break;
+ }
#endif
default:
gnutls_assert();
@@ -1007,37 +978,34 @@ gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
ret = 0;
- cleanup:
+cleanup:
switch (pk) {
case GNUTLS_PK_RSA_PSS:
- case GNUTLS_PK_RSA:
- {
- gnutls_free(m.data);
- gnutls_free(e.data);
- gnutls_free(d.data);
- gnutls_free(p.data);
- gnutls_free(q.data);
- gnutls_free(u.data);
- gnutls_free(exp1.data);
- gnutls_free(exp2.data);
- break;
- }
- case GNUTLS_PK_DSA:
- {
- gnutls_free(p.data);
- gnutls_free(q.data);
- gnutls_free(g.data);
- gnutls_free(y.data);
- gnutls_free(x.data);
- break;
- }
+ case GNUTLS_PK_RSA: {
+ gnutls_free(m.data);
+ gnutls_free(e.data);
+ gnutls_free(d.data);
+ gnutls_free(p.data);
+ gnutls_free(q.data);
+ gnutls_free(u.data);
+ gnutls_free(exp1.data);
+ gnutls_free(exp2.data);
+ break;
+ }
+ case GNUTLS_PK_DSA: {
+ gnutls_free(p.data);
+ gnutls_free(q.data);
+ gnutls_free(g.data);
+ gnutls_free(y.data);
+ gnutls_free(x.data);
+ break;
+ }
case GNUTLS_PK_EC:
- case GNUTLS_PK_EDDSA_ED25519:
- {
- gnutls_free(p.data);
- gnutls_free(x.data);
- break;
- }
+ case GNUTLS_PK_EDDSA_ED25519: {
+ gnutls_free(p.data);
+ gnutls_free(x.data);
+ break;
+ }
default:
gnutls_assert();
ret = GNUTLS_E_INVALID_REQUEST;
@@ -1048,31 +1016,29 @@ gnutls_pkcs11_copy_x509_privkey2(const char *token_url,
pkcs11_close_session(&sinfo);
return ret;
-
}
struct delete_data_st {
struct p11_kit_uri *info;
- unsigned int deleted; /* how many */
+ unsigned int deleted; /* how many */
};
-static int
-delete_obj_url_cb(struct ck_function_list *module,
- struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info,
- void *input)
+static int delete_obj_url_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo,
+ struct ck_info *lib_info, void *input)
{
struct delete_data_st *find_data = input;
struct ck_attribute a[4];
struct ck_attribute *attr;
ck_object_class_t class;
- ck_certificate_type_t type = (ck_certificate_type_t) - 1;
+ ck_certificate_type_t type = (ck_certificate_type_t)-1;
ck_rv_t rv;
ck_object_handle_t ctx;
unsigned long count, a_vals;
int found = 0, ret;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -1086,13 +1052,13 @@ delete_obj_url_cb(struct ck_function_list *module,
}
/* Find objects with given class and type */
- class = CKO_CERTIFICATE; /* default */
+ class = CKO_CERTIFICATE; /* default */
a_vals = 0;
attr = p11_kit_uri_get_attribute(find_data->info, CKA_CLASS);
if (attr != NULL) {
if (attr->value && attr->value_len == sizeof(ck_object_class_t))
- class = *((ck_object_class_t *) attr->value);
+ class = *((ck_object_class_t *)attr->value);
if (class == CKO_CERTIFICATE)
type = CKC_X_509;
@@ -1108,7 +1074,7 @@ delete_obj_url_cb(struct ck_function_list *module,
a_vals++;
}
- if (type != (ck_certificate_type_t) - 1) {
+ if (type != (ck_certificate_type_t)-1) {
a[a_vals].type = CKA_CERTIFICATE_TYPE;
a[a_vals].value = &type;
a[a_vals].value_len = sizeof type;
@@ -1129,14 +1095,13 @@ delete_obj_url_cb(struct ck_function_list *module,
goto cleanup;
}
- while (pkcs11_find_objects
- (sinfo->module, sinfo->pks, &ctx, 1, &count) == CKR_OK
- && count == 1) {
+ while (pkcs11_find_objects(sinfo->module, sinfo->pks, &ctx, 1,
+ &count) == CKR_OK &&
+ count == 1) {
rv = pkcs11_destroy_object(sinfo->module, sinfo->pks, ctx);
if (rv != CKR_OK) {
- _gnutls_debug_log
- ("p11: Cannot destroy object: %s\n",
- pkcs11_strerror(rv));
+ _gnutls_debug_log("p11: Cannot destroy object: %s\n",
+ pkcs11_strerror(rv));
} else {
find_data->deleted++;
}
@@ -1151,7 +1116,7 @@ delete_obj_url_cb(struct ck_function_list *module,
ret = 0;
}
- cleanup:
+cleanup:
pkcs11_find_objects_final(sinfo);
return ret;
@@ -1185,11 +1150,9 @@ int gnutls_pkcs11_delete_url(const char *object_url, unsigned int flags)
return ret;
}
- ret =
- _pkcs11_traverse_tokens(delete_obj_url_cb, &find_data,
- find_data.info, NULL,
- SESSION_WRITE |
- pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(
+ delete_obj_url_cb, &find_data, find_data.info, NULL,
+ SESSION_WRITE | pkcs11_obj_flags_to_int(flags));
p11_kit_uri_free(find_data.info);
if (ret < 0) {
@@ -1198,7 +1161,6 @@ int gnutls_pkcs11_delete_url(const char *object_url, unsigned int flags)
}
return find_data.deleted;
-
}
/**
@@ -1214,9 +1176,8 @@ int gnutls_pkcs11_delete_url(const char *object_url, unsigned int flags)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs11_token_init(const char *token_url,
- const char *so_pin, const char *label)
+int gnutls_pkcs11_token_init(const char *token_url, const char *so_pin,
+ const char *label)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -1246,8 +1207,8 @@ gnutls_pkcs11_token_init(const char *token_url,
if (label != NULL)
memcpy(flabel, label, strlen(label));
- rv = pkcs11_init_token(module, slot, (uint8_t *) so_pin,
- strlen(so_pin), (uint8_t *) flabel);
+ rv = pkcs11_init_token(module, slot, (uint8_t *)so_pin, strlen(so_pin),
+ (uint8_t *)flabel);
if (rv != CKR_OK) {
gnutls_assert();
_gnutls_debug_log("p11: %s\n", pkcs11_strerror(rv));
@@ -1255,10 +1216,9 @@ gnutls_pkcs11_token_init(const char *token_url,
}
return 0;
-
}
-#define L(x) ((x==NULL)?0:strlen(x))
+#define L(x) ((x == NULL) ? 0 : strlen(x))
/**
* gnutls_pkcs11_token_set_pin:
@@ -1276,10 +1236,8 @@ gnutls_pkcs11_token_init(const char *token_url,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs11_token_set_pin(const char *token_url,
- const char *oldpin,
- const char *newpin, unsigned int flags)
+int gnutls_pkcs11_token_set_pin(const char *token_url, const char *oldpin,
+ const char *newpin, unsigned int flags)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -1311,8 +1269,8 @@ gnutls_pkcs11_token_set_pin(const char *token_url,
if (oldpin == NULL && !(flags & GNUTLS_PIN_SO)) {
/* This changes only the user PIN */
- rv = pkcs11_init_pin(sinfo.module, sinfo.pks,
- (uint8_t *) newpin, strlen(newpin));
+ rv = pkcs11_init_pin(sinfo.module, sinfo.pks, (uint8_t *)newpin,
+ strlen(newpin));
if (rv != CKR_OK) {
gnutls_assert();
_gnutls_debug_log("p11: %s\n", pkcs11_strerror(rv));
@@ -1327,30 +1285,28 @@ gnutls_pkcs11_token_set_pin(const char *token_url,
if (!(sinfo.tinfo.flags & CKF_PROTECTED_AUTHENTICATION_PATH)) {
if (newpin == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
if (oldpin == NULL) {
struct pin_info_st pin_info;
memset(&pin_info, 0, sizeof(pin_info));
- ret =
- pkcs11_retrieve_pin(&pin_info, info,
- &sinfo.tinfo, 0, CKU_SO,
- &pin);
+ ret = pkcs11_retrieve_pin(&pin_info, info,
+ &sinfo.tinfo, 0,
+ CKU_SO, &pin);
if (ret < 0) {
gnutls_assert();
goto finish;
}
- oldpin =
- (const char *)p11_kit_pin_get_value(pin,
- NULL);
+ oldpin = (const char *)p11_kit_pin_get_value(
+ pin, NULL);
oldpin_size = p11_kit_pin_get_length(pin);
}
}
- rv = pkcs11_set_pin(sinfo.module, sinfo.pks,
- oldpin, oldpin_size, newpin, L(newpin));
+ rv = pkcs11_set_pin(sinfo.module, sinfo.pks, oldpin,
+ oldpin_size, newpin, L(newpin));
if (rv != CKR_OK) {
gnutls_assert();
_gnutls_debug_log("p11: %s\n", pkcs11_strerror(rv));
@@ -1361,10 +1317,9 @@ gnutls_pkcs11_token_set_pin(const char *token_url,
ret = 0;
- finish:
+finish:
pkcs11_close_session(&sinfo);
return ret;
-
}
/**
@@ -1380,8 +1335,8 @@ gnutls_pkcs11_token_set_pin(const char *token_url,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs11_token_get_random(const char *token_url, void *rnddata, size_t len)
+int gnutls_pkcs11_token_get_random(const char *token_url, void *rnddata,
+ size_t len)
{
int ret;
struct p11_kit_uri *info = NULL;
@@ -1414,10 +1369,9 @@ gnutls_pkcs11_token_get_random(const char *token_url, void *rnddata, size_t len)
ret = 0;
- finish:
+finish:
pkcs11_close_session(&sinfo);
return ret;
-
}
#if 0
diff --git a/lib/pkcs11x.c b/lib/pkcs11x.c
index 01aac1ddd4..71c75cf74d 100644
--- a/lib/pkcs11x.c
+++ b/lib/pkcs11x.c
@@ -40,7 +40,7 @@ struct find_ext_data_st {
unsigned int exts_size;
};
-static int override_ext(gnutls_x509_crt_t crt, gnutls_datum_t * ext)
+static int override_ext(gnutls_x509_crt_t crt, gnutls_datum_t *ext)
{
gnutls_x509_ext_st parsed;
int ret;
@@ -50,16 +50,15 @@ static int override_ext(gnutls_x509_crt_t crt, gnutls_datum_t * ext)
return gnutls_assert_val(ret);
/* set the new extension */
- ret =
- _gnutls_x509_crt_set_extension(crt, parsed.oid, &parsed.data,
- parsed.critical);
+ ret = _gnutls_x509_crt_set_extension(crt, parsed.oid, &parsed.data,
+ parsed.critical);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
gnutls_x509_ext_deinit(&parsed);
return ret;
}
@@ -68,7 +67,7 @@ static int override_ext(gnutls_x509_crt_t crt, gnutls_datum_t * ext)
* That assumes that the certificate is not in the distrusted list.
*/
int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
- gnutls_datum_t * spki, gnutls_datum_t * der)
+ gnutls_datum_t *spki, gnutls_datum_t *der)
{
int ret;
gnutls_datum_t new_der = { NULL, 0 };
@@ -84,8 +83,8 @@ int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
ck_object_handle_t obj;
if (sinfo->trusted == 0) {
- _gnutls_debug_log
- ("p11: cannot override extensions on a non-p11-kit trust module\n");
+ _gnutls_debug_log(
+ "p11: cannot override extensions on a non-p11-kit trust module\n");
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -102,8 +101,8 @@ int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
rv = pkcs11_find_objects_init(sinfo->module, sinfo->pks, a, 2);
if (rv != CKR_OK) {
gnutls_assert();
- _gnutls_debug_log
- ("p11: FindObjectsInit failed for cert extensions.\n");
+ _gnutls_debug_log(
+ "p11: FindObjectsInit failed for cert extensions.\n");
ret = pkcs11_rv_to_err(rv);
goto cleanup;
}
@@ -131,15 +130,15 @@ int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
}
do {
-
b[0].type = CKA_VALUE;
b[0].value = ext_data;
b[0].value_len = ext_data_size;
- if (pkcs11_get_attribute_value
- (sinfo->module, sinfo->pks, obj, b, 1) == CKR_OK) {
- gnutls_datum_t data =
- { b[0].value, b[0].value_len };
+ if (pkcs11_get_attribute_value(sinfo->module,
+ sinfo->pks, obj, b,
+ 1) == CKR_OK) {
+ gnutls_datum_t data = { b[0].value,
+ b[0].value_len };
ret = override_ext(crt, &data);
if (ret < 0) {
@@ -147,13 +146,13 @@ int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
goto cleanup;
}
}
- } while (pkcs11_find_objects
- (sinfo->module, sinfo->pks, &obj, 1, &count) == CKR_OK
- && count == 1);
+ } while (pkcs11_find_objects(sinfo->module, sinfo->pks, &obj, 1,
+ &count) == CKR_OK &&
+ count == 1);
/* overwrite the old certificate with the new */
- ret =
- gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_DER, &new_der);
+ ret = gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_DER,
+ &new_der);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -165,19 +164,19 @@ int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,
}
ret = 0;
- cleanup:
+cleanup:
if (crt != NULL)
gnutls_x509_crt_deinit(crt);
if (finalize != 0)
pkcs11_find_objects_final(sinfo);
gnutls_free(ext_data);
return ret;
-
}
-static int
-find_ext_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
- struct ck_token_info *tinfo, struct ck_info *lib_info, void *input)
+static int find_ext_cb(struct ck_function_list *module,
+ struct pkcs11_session_info *sinfo,
+ struct ck_token_info *tinfo, struct ck_info *lib_info,
+ void *input)
{
struct find_ext_data_st *find_data = input;
struct ck_attribute a[4];
@@ -188,15 +187,15 @@ find_ext_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
int ret;
gnutls_datum_t ext;
- if (tinfo == NULL) { /* we don't support multiple calls */
+ if (tinfo == NULL) { /* we don't support multiple calls */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
/* do not bother reading the token if basic fields do not match
*/
- if (!p11_kit_uri_match_token_info(find_data->obj->info, tinfo)
- || !p11_kit_uri_match_module_info(find_data->obj->info, lib_info)) {
+ if (!p11_kit_uri_match_token_info(find_data->obj->info, tinfo) ||
+ !p11_kit_uri_match_module_info(find_data->obj->info, lib_info)) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -214,35 +213,35 @@ find_ext_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
rv = pkcs11_find_objects_init(sinfo->module, sinfo->pks, a, 2);
if (rv != CKR_OK) {
gnutls_assert();
- _gnutls_debug_log
- ("p11: FindObjectsInit failed for cert extensions.\n");
+ _gnutls_debug_log(
+ "p11: FindObjectsInit failed for cert extensions.\n");
return pkcs11_rv_to_err(rv);
}
- while (pkcs11_find_objects(sinfo->module, sinfo->pks, &obj, 1, &count)
- == CKR_OK && count == 1) {
+ while (pkcs11_find_objects(sinfo->module, sinfo->pks, &obj, 1,
+ &count) == CKR_OK &&
+ count == 1) {
rv = pkcs11_get_attribute_avalue(sinfo->module, sinfo->pks, obj,
CKA_VALUE, &ext);
if (rv == CKR_OK) {
-
- if (unlikely(INT_ADD_OVERFLOW(find_data->exts_size, 1))) {
+ if (unlikely(INT_ADD_OVERFLOW(find_data->exts_size,
+ 1))) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto cleanup;
}
- find_data->exts =
- _gnutls_reallocarray_fast(find_data->exts,
- find_data->exts_size + 1,
- sizeof(find_data->exts
- [0]));
+ find_data->exts = _gnutls_reallocarray_fast(
+ find_data->exts, find_data->exts_size + 1,
+ sizeof(find_data->exts[0]));
if (find_data->exts == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto cleanup;
}
- if (_gnutls_x509_decode_ext
- (&ext,
- &find_data->exts[find_data->exts_size]) == 0) {
+ if (_gnutls_x509_decode_ext(
+ &ext,
+ &find_data->exts[find_data->exts_size]) ==
+ 0) {
find_data->exts_size++;
}
gnutls_free(ext.data);
@@ -250,7 +249,7 @@ find_ext_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
}
ret = 0;
- cleanup:
+cleanup:
pkcs11_find_objects_final(sinfo);
return ret;
}
@@ -273,10 +272,9 @@ find_ext_cb(struct ck_function_list *module, struct pkcs11_session_info *sinfo,
*
* Since: 3.3.8
**/
-int
-gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
- gnutls_x509_ext_st ** exts, unsigned int *exts_size,
- unsigned int flags)
+int gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
+ gnutls_x509_ext_st **exts,
+ unsigned int *exts_size, unsigned int flags)
{
int ret;
gnutls_datum_t spki = { NULL, 0 };
@@ -288,8 +286,8 @@ gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
*exts_size = 0;
- if (obj->type != GNUTLS_PKCS11_OBJ_X509_CRT
- && obj->type != GNUTLS_PKCS11_OBJ_PUBKEY)
+ if (obj->type != GNUTLS_PKCS11_OBJ_X509_CRT &&
+ obj->type != GNUTLS_PKCS11_OBJ_PUBKEY)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
if (obj->type == GNUTLS_PKCS11_OBJ_PUBKEY) {
@@ -305,9 +303,9 @@ gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
find_data.spki.data = spki.data;
find_data.spki.size = spki.size;
find_data.obj = obj;
- ret =
- _pkcs11_traverse_tokens(find_ext_cb, &find_data, obj->info,
- &obj->pin, pkcs11_obj_flags_to_int(flags));
+ ret = _pkcs11_traverse_tokens(find_ext_cb, &find_data, obj->info,
+ &obj->pin,
+ pkcs11_obj_flags_to_int(flags));
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -317,7 +315,7 @@ gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,
*exts_size = find_data.exts_size;
ret = 0;
- cleanup:
+cleanup:
if (deinit_spki)
gnutls_free(spki.data);
return ret;
diff --git a/lib/pkcs11x.h b/lib/pkcs11x.h
index 30e3b2a0fd..6fb10cb4cf 100644
--- a/lib/pkcs11x.h
+++ b/lib/pkcs11x.h
@@ -19,8 +19,8 @@
*/
#ifndef GNUTLS_LIB_PKCS11X_H
-# define GNUTLS_LIB_PKCS11X_H
+#define GNUTLS_LIB_PKCS11X_H
-# include <p11-kit/pkcs11x.h>
+#include <p11-kit/pkcs11x.h>
-#endif /* GNUTLS_LIB_PKCS11X_H */
+#endif /* GNUTLS_LIB_PKCS11X_H */
diff --git a/lib/prf.c b/lib/prf.c
index 644dfaefb5..0c0dbf7715 100644
--- a/lib/prf.c
+++ b/lib/prf.c
@@ -67,11 +67,9 @@
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_prf_raw(gnutls_session_t session,
- size_t label_size,
- const char *label,
- size_t seed_size, const char *seed, size_t outsize, char *out)
+int gnutls_prf_raw(gnutls_session_t session, size_t label_size,
+ const char *label, size_t seed_size, const char *seed,
+ size_t outsize, char *out)
{
int ret;
const version_entry_st *vers = get_version(session);
@@ -85,18 +83,17 @@ gnutls_prf_raw(gnutls_session_t session,
ret = _gnutls_prf_raw(session->security_parameters.prf->id,
GNUTLS_MASTER_SIZE,
session->security_parameters.master_secret,
- label_size, label, seed_size, (uint8_t *) seed,
+ label_size, label, seed_size, (uint8_t *)seed,
outsize, out);
return ret;
}
-static int
-_tls13_derive_exporter(const mac_entry_st * prf,
- gnutls_session_t session,
- size_t label_size, const char *label,
- size_t context_size, const char *context,
- size_t outsize, char *out, bool early)
+static int _tls13_derive_exporter(const mac_entry_st *prf,
+ gnutls_session_t session, size_t label_size,
+ const char *label, size_t context_size,
+ const char *context, size_t outsize,
+ char *out, bool early)
{
uint8_t secret[MAX_HASH_SIZE];
uint8_t digest[MAX_HASH_SIZE];
@@ -108,14 +105,14 @@ _tls13_derive_exporter(const mac_entry_st * prf,
if (ret < 0)
return gnutls_assert_val(ret);
- ret = gnutls_hash_fast((gnutls_digest_algorithm_t) prf->id,
- context, context_size, digest);
+ ret = gnutls_hash_fast((gnutls_digest_algorithm_t)prf->id, context,
+ context_size, digest);
if (ret < 0)
return gnutls_assert_val(ret);
- return _tls13_expand_secret2(prf,
- EXPORTER_LABEL, sizeof(EXPORTER_LABEL) - 1,
- digest, digest_size, secret, outsize, out);
+ return _tls13_expand_secret2(prf, EXPORTER_LABEL,
+ sizeof(EXPORTER_LABEL) - 1, digest,
+ digest_size, secret, outsize, out);
}
/**
@@ -155,11 +152,9 @@ _tls13_derive_exporter(const mac_entry_st * prf,
*
* Since: 3.4.4
**/
-int
-gnutls_prf_rfc5705(gnutls_session_t session,
- size_t label_size, const char *label,
- size_t context_size, const char *context,
- size_t outsize, char *out)
+int gnutls_prf_rfc5705(gnutls_session_t session, size_t label_size,
+ const char *label, size_t context_size,
+ const char *context, size_t outsize, char *out)
{
const version_entry_st *vers = get_version(session);
int ret;
@@ -169,10 +164,9 @@ gnutls_prf_rfc5705(gnutls_session_t session,
if (vers && vers->tls13_sem) {
ret = _tls13_derive_exporter(session->security_parameters.prf,
- session,
- label_size, label,
- context_size, context,
- outsize, out, 0);
+ session, label_size, label,
+ context_size, context, outsize,
+ out, 0);
} else {
char *pctx = NULL;
@@ -193,8 +187,8 @@ gnutls_prf_rfc5705(gnutls_session_t session,
context_size += 2;
}
- ret = gnutls_prf(session, label_size, label, 0,
- context_size, pctx, outsize, out);
+ ret = gnutls_prf(session, label_size, label, 0, context_size,
+ pctx, outsize, out);
gnutls_free(pctx);
}
@@ -237,19 +231,17 @@ gnutls_prf_rfc5705(gnutls_session_t session,
*
* Since: 3.6.8
**/
-int
-gnutls_prf_early(gnutls_session_t session,
- size_t label_size, const char *label,
- size_t context_size, const char *context,
- size_t outsize, char *out)
+int gnutls_prf_early(gnutls_session_t session, size_t label_size,
+ const char *label, size_t context_size,
+ const char *context, size_t outsize, char *out)
{
if (session->internals.initial_negotiation_completed ||
session->key.binders[0].prf == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
return _tls13_derive_exporter(session->key.binders[0].prf, session,
- label_size, label,
- context_size, context, outsize, out, 1);
+ label_size, label, context_size, context,
+ outsize, out, 1);
}
/**
@@ -287,12 +279,9 @@ gnutls_prf_early(gnutls_session_t session,
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_prf(gnutls_session_t session,
- size_t label_size,
- const char *label,
- int server_random_first,
- size_t extra_size, const char *extra, size_t outsize, char *out)
+int gnutls_prf(gnutls_session_t session, size_t label_size, const char *label,
+ int server_random_first, size_t extra_size, const char *extra,
+ size_t outsize, char *out)
{
int ret;
uint8_t *seed;
@@ -317,23 +306,25 @@ gnutls_prf(gnutls_session_t session,
return GNUTLS_E_MEMORY_ERROR;
}
- memcpy(seed, server_random_first ?
- session->security_parameters.server_random :
- session->security_parameters.client_random, GNUTLS_RANDOM_SIZE);
+ memcpy(seed,
+ server_random_first ?
+ session->security_parameters.server_random :
+ session->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
memcpy(seed + GNUTLS_RANDOM_SIZE,
- server_random_first ? session->security_parameters.
- client_random : session->security_parameters.server_random,
+ server_random_first ?
+ session->security_parameters.client_random :
+ session->security_parameters.server_random,
GNUTLS_RANDOM_SIZE);
if (extra && extra_size) {
memcpy(seed + 2 * GNUTLS_RANDOM_SIZE, extra, extra_size);
}
- ret =
- _gnutls_prf_raw(session->security_parameters.prf->id,
- GNUTLS_MASTER_SIZE,
- session->security_parameters.master_secret,
- label_size, label, seedsize, seed, outsize, out);
+ ret = _gnutls_prf_raw(session->security_parameters.prf->id,
+ GNUTLS_MASTER_SIZE,
+ session->security_parameters.master_secret,
+ label_size, label, seedsize, seed, outsize, out);
gnutls_free(seed);
diff --git a/lib/priority.c b/lib/priority.c
index 0455b87ee8..f5ac656e57 100644
--- a/lib/priority.c
+++ b/lib/priority.c
@@ -45,11 +45,13 @@
#define MAX_ELEMENTS GNUTLS_MAX_ALGORITHM_NUM
-#define ENABLE_PROFILE(c, profile) do { \
- c->additional_verify_flags &= 0x00ffffff; \
- c->additional_verify_flags |= GNUTLS_PROFILE_TO_VFLAGS(profile); \
- c->level = _gnutls_profile_to_sec_level(profile); \
- } while(0)
+#define ENABLE_PROFILE(c, profile) \
+ do { \
+ c->additional_verify_flags &= 0x00ffffff; \
+ c->additional_verify_flags |= \
+ GNUTLS_PROFILE_TO_VFLAGS(profile); \
+ c->level = _gnutls_profile_to_sec_level(profile); \
+ } while (0)
/* This function is used by the test suite */
char *_gnutls_resolve_priorities(const char *priorities);
@@ -62,13 +64,13 @@ char *_gnutls_resolve_priorities(const char *priorities);
*/
const char *_gnutls_default_priority_string = DEFAULT_PRIORITY_STRING;
-static void prio_remove(priority_st * priority_list, unsigned int algo);
-static void prio_add(priority_st * priority_list, unsigned int algo);
+static void prio_remove(priority_st *priority_list, unsigned int algo);
+static void prio_add(priority_st *priority_list, unsigned int algo);
static void break_list(char *etag, char *broken_etag[MAX_ELEMENTS], int *size);
-typedef void (bulk_rmadd_func) (priority_st * priority_list, const int *);
+typedef void(bulk_rmadd_func)(priority_st *priority_list, const int *);
-inline static void _set_priority(priority_st * st, const int *list)
+inline static void _set_priority(priority_st *st, const int *list)
{
int num = 0, i;
@@ -85,7 +87,7 @@ inline static void _set_priority(priority_st * st, const int *list)
return;
}
-inline static void _add_priority(priority_st * st, const int *list)
+inline static void _add_priority(priority_st *st, const int *list)
{
int num, i, j, init;
@@ -111,12 +113,12 @@ inline static void _add_priority(priority_st * st, const int *list)
return;
}
-static void _clear_priorities(priority_st * st, const int *list)
+static void _clear_priorities(priority_st *st, const int *list)
{
memset(st, 0, sizeof(*st));
}
-static void _clear_given_priorities(priority_st * st, const int *list)
+static void _clear_given_priorities(priority_st *st, const int *list)
{
unsigned i;
@@ -126,22 +128,16 @@ static void _clear_given_priorities(priority_st * st, const int *list)
}
static const int _supported_groups_dh[] = {
- GNUTLS_GROUP_FFDHE2048,
- GNUTLS_GROUP_FFDHE3072,
- GNUTLS_GROUP_FFDHE4096,
- GNUTLS_GROUP_FFDHE6144,
- GNUTLS_GROUP_FFDHE8192,
- 0
+ GNUTLS_GROUP_FFDHE2048, GNUTLS_GROUP_FFDHE3072, GNUTLS_GROUP_FFDHE4096,
+ GNUTLS_GROUP_FFDHE6144, GNUTLS_GROUP_FFDHE8192, 0
};
-static const int _supported_groups_ecdh[] = {
- GNUTLS_GROUP_SECP256R1,
- GNUTLS_GROUP_SECP384R1,
- GNUTLS_GROUP_SECP521R1,
- GNUTLS_GROUP_X25519, /* RFC 8422 */
- GNUTLS_GROUP_X448, /* RFC 8422 */
- 0
-};
+static const int _supported_groups_ecdh[] = { GNUTLS_GROUP_SECP256R1,
+ GNUTLS_GROUP_SECP384R1,
+ GNUTLS_GROUP_SECP521R1,
+ GNUTLS_GROUP_X25519, /* RFC 8422 */
+ GNUTLS_GROUP_X448, /* RFC 8422 */
+ 0 };
static const int _supported_groups_gost[] = {
#ifdef ENABLE_GOST
@@ -157,126 +153,86 @@ static const int _supported_groups_gost[] = {
};
static const int _supported_groups_normal[] = {
- GNUTLS_GROUP_SECP256R1,
- GNUTLS_GROUP_SECP384R1,
- GNUTLS_GROUP_SECP521R1,
- GNUTLS_GROUP_X25519, /* RFC 8422 */
- GNUTLS_GROUP_X448, /* RFC 8422 */
+ GNUTLS_GROUP_SECP256R1, GNUTLS_GROUP_SECP384R1, GNUTLS_GROUP_SECP521R1,
+ GNUTLS_GROUP_X25519, /* RFC 8422 */
+ GNUTLS_GROUP_X448, /* RFC 8422 */
/* These should stay last as our default behavior
* is to send key shares for two top types (GNUTLS_KEY_SHARE_TOP2)
* and we wouldn't want to have these sent by all clients
* by default as they are quite expensive CPU-wise. */
- GNUTLS_GROUP_FFDHE2048,
- GNUTLS_GROUP_FFDHE3072,
- GNUTLS_GROUP_FFDHE4096,
- GNUTLS_GROUP_FFDHE6144,
- GNUTLS_GROUP_FFDHE8192,
- 0
+ GNUTLS_GROUP_FFDHE2048, GNUTLS_GROUP_FFDHE3072, GNUTLS_GROUP_FFDHE4096,
+ GNUTLS_GROUP_FFDHE6144, GNUTLS_GROUP_FFDHE8192, 0
};
static const int *supported_groups_normal = _supported_groups_normal;
static const int _supported_groups_secure128[] = {
- GNUTLS_GROUP_SECP256R1,
- GNUTLS_GROUP_SECP384R1,
- GNUTLS_GROUP_SECP521R1,
- GNUTLS_GROUP_X25519, /* RFC 8422 */
- GNUTLS_GROUP_X448, /* RFC 8422 */
- GNUTLS_GROUP_FFDHE2048,
- GNUTLS_GROUP_FFDHE3072,
- GNUTLS_GROUP_FFDHE4096,
- GNUTLS_GROUP_FFDHE6144,
- GNUTLS_GROUP_FFDHE8192,
- 0
+ GNUTLS_GROUP_SECP256R1, GNUTLS_GROUP_SECP384R1, GNUTLS_GROUP_SECP521R1,
+ GNUTLS_GROUP_X25519, /* RFC 8422 */
+ GNUTLS_GROUP_X448, /* RFC 8422 */
+ GNUTLS_GROUP_FFDHE2048, GNUTLS_GROUP_FFDHE3072, GNUTLS_GROUP_FFDHE4096,
+ GNUTLS_GROUP_FFDHE6144, GNUTLS_GROUP_FFDHE8192, 0
};
static const int *supported_groups_secure128 = _supported_groups_secure128;
-static const int _supported_groups_suiteb128[] = {
- GNUTLS_GROUP_SECP256R1,
- GNUTLS_GROUP_SECP384R1,
- 0
-};
+static const int _supported_groups_suiteb128[] = { GNUTLS_GROUP_SECP256R1,
+ GNUTLS_GROUP_SECP384R1, 0 };
static const int *supported_groups_suiteb128 = _supported_groups_suiteb128;
-static const int _supported_groups_suiteb192[] = {
- GNUTLS_GROUP_SECP384R1,
- 0
-};
+static const int _supported_groups_suiteb192[] = { GNUTLS_GROUP_SECP384R1, 0 };
static const int *supported_groups_suiteb192 = _supported_groups_suiteb192;
-static const int _supported_groups_secure192[] = {
- GNUTLS_GROUP_SECP384R1,
- GNUTLS_GROUP_SECP521R1,
- GNUTLS_GROUP_FFDHE8192,
- 0
-};
+static const int _supported_groups_secure192[] = { GNUTLS_GROUP_SECP384R1,
+ GNUTLS_GROUP_SECP521R1,
+ GNUTLS_GROUP_FFDHE8192, 0 };
static const int *supported_groups_secure192 = _supported_groups_secure192;
-static const int protocol_priority[] = {
- GNUTLS_TLS1_3,
- GNUTLS_TLS1_2,
- GNUTLS_TLS1_1,
- GNUTLS_TLS1_0,
- GNUTLS_DTLS1_2,
- GNUTLS_DTLS1_0,
- 0
-};
+static const int protocol_priority[] = { GNUTLS_TLS1_3,
+ GNUTLS_TLS1_2,
+ GNUTLS_TLS1_1,
+ GNUTLS_TLS1_0,
+ GNUTLS_DTLS1_2,
+ GNUTLS_DTLS1_0,
+ 0 };
/* contains all the supported TLS protocols, intended to be used for eliminating them
*/
-static const int stream_protocol_priority[] = {
- GNUTLS_TLS1_3,
- GNUTLS_TLS1_2,
- GNUTLS_TLS1_1,
- GNUTLS_TLS1_0,
- 0
-};
+static const int stream_protocol_priority[] = { GNUTLS_TLS1_3, GNUTLS_TLS1_2,
+ GNUTLS_TLS1_1, GNUTLS_TLS1_0,
+ 0 };
/* contains all the supported DTLS protocols, intended to be used for eliminating them
*/
-static const int dgram_protocol_priority[] = {
- GNUTLS_DTLS1_2,
- GNUTLS_DTLS1_0,
- GNUTLS_DTLS0_9,
- 0
-};
+static const int dgram_protocol_priority[] = { GNUTLS_DTLS1_2, GNUTLS_DTLS1_0,
+ GNUTLS_DTLS0_9, 0 };
-static const int dtls_protocol_priority[] = {
- GNUTLS_DTLS1_2,
- GNUTLS_DTLS1_0,
- 0
-};
+static const int dtls_protocol_priority[] = { GNUTLS_DTLS1_2, GNUTLS_DTLS1_0,
+ 0 };
-static const int _protocol_priority_suiteb[] = {
- GNUTLS_TLS1_2,
- 0
-};
+static const int _protocol_priority_suiteb[] = { GNUTLS_TLS1_2, 0 };
static const int *protocol_priority_suiteb = _protocol_priority_suiteb;
-static const int _kx_priority_performance[] = {
- GNUTLS_KX_RSA,
+static const int _kx_priority_performance[] = { GNUTLS_KX_RSA,
#ifdef ENABLE_ECDHE
- GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_KX_ECDHE_RSA,
+ GNUTLS_KX_ECDHE_ECDSA,
+ GNUTLS_KX_ECDHE_RSA,
#endif
#ifdef ENABLE_DHE
- GNUTLS_KX_DHE_RSA,
+ GNUTLS_KX_DHE_RSA,
#endif
- 0
-};
+ 0 };
static const int *kx_priority_performance = _kx_priority_performance;
static const int _kx_priority_pfs[] = {
#ifdef ENABLE_ECDHE
- GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_KX_ECDHE_RSA,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_KX_ECDHE_RSA,
#endif
#ifdef ENABLE_DHE
GNUTLS_KX_DHE_RSA,
@@ -286,23 +242,19 @@ static const int _kx_priority_pfs[] = {
static const int *kx_priority_pfs = _kx_priority_pfs;
-static const int _kx_priority_suiteb[] = {
- GNUTLS_KX_ECDHE_ECDSA,
- 0
-};
+static const int _kx_priority_suiteb[] = { GNUTLS_KX_ECDHE_ECDSA, 0 };
static const int *kx_priority_suiteb = _kx_priority_suiteb;
static const int _kx_priority_secure[] = {
- /* The ciphersuites that offer forward secrecy take
+/* The ciphersuites that offer forward secrecy take
* precedence
*/
#ifdef ENABLE_ECDHE
- GNUTLS_KX_ECDHE_ECDSA,
- GNUTLS_KX_ECDHE_RSA,
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_KX_ECDHE_RSA,
#endif
GNUTLS_KX_RSA,
- /* KX-RSA is now ahead of DHE-RSA and DHE-DSS due to the compatibility
+/* KX-RSA is now ahead of DHE-RSA and DHE-DSS due to the compatibility
* issues the DHE ciphersuites have. That is, one cannot enforce a specific
* security level without dropping the connection.
*/
@@ -326,25 +278,17 @@ static const int _kx_priority_gost[] = {
static const int *kx_priority_gost = _kx_priority_gost;
static const int _cipher_priority_performance_default[] = {
- GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_CHACHA20_POLY1305,
- GNUTLS_CIPHER_AES_128_CCM,
- GNUTLS_CIPHER_AES_256_CCM,
- GNUTLS_CIPHER_AES_128_CBC,
- GNUTLS_CIPHER_AES_256_CBC,
- 0
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_CIPHER_AES_256_GCM,
+ GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_CIPHER_AES_128_CCM,
+ GNUTLS_CIPHER_AES_256_CCM, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_CIPHER_AES_256_CBC, 0
};
static const int _cipher_priority_performance_no_aesni[] = {
- GNUTLS_CIPHER_CHACHA20_POLY1305,
- GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_AES_128_CCM,
- GNUTLS_CIPHER_AES_256_CCM,
- GNUTLS_CIPHER_AES_128_CBC,
- GNUTLS_CIPHER_AES_256_CBC,
- 0
+ GNUTLS_CIPHER_CHACHA20_POLY1305, GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_CIPHER_AES_128_CCM,
+ GNUTLS_CIPHER_AES_256_CCM, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_CIPHER_AES_256_CBC, 0
};
/* If GCM and AES acceleration is available then prefer
@@ -353,17 +297,14 @@ static const int _cipher_priority_performance_no_aesni[] = {
* proof).
*/
static const int _cipher_priority_normal_default[] = {
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_CHACHA20_POLY1305,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_CIPHER_CHACHA20_POLY1305,
GNUTLS_CIPHER_AES_256_CCM,
GNUTLS_CIPHER_AES_256_CBC,
- GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_CIPHER_AES_128_CCM,
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_CIPHER_AES_128_CCM,
- GNUTLS_CIPHER_AES_128_CBC,
- 0
+ GNUTLS_CIPHER_AES_128_CBC, 0
};
static const int cipher_priority_performance_fips[] = {
@@ -378,51 +319,37 @@ static const int cipher_priority_performance_fips[] = {
};
static const int cipher_priority_normal_fips[] = {
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_AES_256_CCM,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_CIPHER_AES_256_CCM,
GNUTLS_CIPHER_AES_256_CBC,
- GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_CIPHER_AES_128_CBC,
- GNUTLS_CIPHER_AES_128_CCM,
- 0
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_CIPHER_AES_128_CCM, 0
};
-static const int _cipher_priority_suiteb128[] = {
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_AES_128_GCM,
- 0
-};
+static const int _cipher_priority_suiteb128[] = { GNUTLS_CIPHER_AES_256_GCM,
+ GNUTLS_CIPHER_AES_128_GCM,
+ 0 };
static const int *cipher_priority_suiteb128 = _cipher_priority_suiteb128;
-static const int _cipher_priority_suiteb192[] = {
- GNUTLS_CIPHER_AES_256_GCM,
- 0
-};
+static const int _cipher_priority_suiteb192[] = { GNUTLS_CIPHER_AES_256_GCM,
+ 0 };
static const int *cipher_priority_suiteb192 = _cipher_priority_suiteb192;
static const int _cipher_priority_secure128[] = {
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_CHACHA20_POLY1305,
- GNUTLS_CIPHER_AES_256_CBC,
- GNUTLS_CIPHER_AES_256_CCM,
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_CIPHER_CHACHA20_POLY1305,
+ GNUTLS_CIPHER_AES_256_CBC, GNUTLS_CIPHER_AES_256_CCM,
- GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_CIPHER_AES_128_CBC,
- GNUTLS_CIPHER_AES_128_CCM,
- 0
+ GNUTLS_CIPHER_AES_128_GCM, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_CIPHER_AES_128_CCM, 0
};
static const int *cipher_priority_secure128 = _cipher_priority_secure128;
static const int _cipher_priority_secure192[] = {
- GNUTLS_CIPHER_AES_256_GCM,
- GNUTLS_CIPHER_CHACHA20_POLY1305,
- GNUTLS_CIPHER_AES_256_CBC,
- GNUTLS_CIPHER_AES_256_CCM,
- 0
+ GNUTLS_CIPHER_AES_256_GCM, GNUTLS_CIPHER_CHACHA20_POLY1305,
+ GNUTLS_CIPHER_AES_256_CBC, GNUTLS_CIPHER_AES_256_CCM, 0
};
static const int *cipher_priority_secure192 = _cipher_priority_secure192;
@@ -460,19 +387,14 @@ static const int _sign_priority_default[] = {
static const int *sign_priority_default = _sign_priority_default;
static const int _sign_priority_suiteb128[] = {
- GNUTLS_SIGN_ECDSA_SHA256,
- GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
- GNUTLS_SIGN_ECDSA_SHA384,
- GNUTLS_SIGN_ECDSA_SECP384R1_SHA384,
- 0
+ GNUTLS_SIGN_ECDSA_SHA256, GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
+ GNUTLS_SIGN_ECDSA_SHA384, GNUTLS_SIGN_ECDSA_SECP384R1_SHA384, 0
};
static const int *sign_priority_suiteb128 = _sign_priority_suiteb128;
static const int _sign_priority_suiteb192[] = {
- GNUTLS_SIGN_ECDSA_SHA384,
- GNUTLS_SIGN_ECDSA_SECP384R1_SHA384,
- 0
+ GNUTLS_SIGN_ECDSA_SHA384, GNUTLS_SIGN_ECDSA_SECP384R1_SHA384, 0
};
static const int *sign_priority_suiteb192 = _sign_priority_suiteb192;
@@ -525,28 +447,21 @@ static const int *sign_priority_secure192 = _sign_priority_secure192;
static const int _sign_priority_gost[] = {
#ifdef ENABLE_GOST
- GNUTLS_SIGN_GOST_256,
- GNUTLS_SIGN_GOST_512,
+ GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_GOST_512,
#endif
0
};
static const int *sign_priority_gost = _sign_priority_gost;
-static const int mac_priority_normal_default[] = {
- GNUTLS_MAC_SHA1,
- GNUTLS_MAC_AEAD,
- 0
-};
+static const int mac_priority_normal_default[] = { GNUTLS_MAC_SHA1,
+ GNUTLS_MAC_AEAD, 0 };
-static const int mac_priority_normal_fips[] = {
- GNUTLS_MAC_SHA1,
- GNUTLS_MAC_AEAD,
- 0
-};
+static const int mac_priority_normal_fips[] = { GNUTLS_MAC_SHA1,
+ GNUTLS_MAC_AEAD, 0 };
static const int *cipher_priority_performance =
- _cipher_priority_performance_default;
+ _cipher_priority_performance_default;
static const int *cipher_priority_normal = _cipher_priority_normal_default;
static const int *mac_priority_normal = mac_priority_normal_default;
@@ -582,46 +497,31 @@ void _gnutls_priority_update_non_aesni(void)
* prefer fast stream ciphers */
if (_gnutls_fips_mode_enabled() == 0) {
cipher_priority_performance =
- _cipher_priority_performance_no_aesni;
+ _cipher_priority_performance_no_aesni;
}
}
-static const int _mac_priority_suiteb[] = {
- GNUTLS_MAC_AEAD,
- 0
-};
+static const int _mac_priority_suiteb[] = { GNUTLS_MAC_AEAD, 0 };
static const int *mac_priority_suiteb = _mac_priority_suiteb;
-static const int _mac_priority_secure128[] = {
- GNUTLS_MAC_SHA1,
- GNUTLS_MAC_AEAD,
- 0
-};
+static const int _mac_priority_secure128[] = { GNUTLS_MAC_SHA1, GNUTLS_MAC_AEAD,
+ 0 };
static const int *mac_priority_secure128 = _mac_priority_secure128;
-static const int _mac_priority_secure192[] = {
- GNUTLS_MAC_AEAD,
- 0
-};
+static const int _mac_priority_secure192[] = { GNUTLS_MAC_AEAD, 0 };
static const int *mac_priority_secure192 = _mac_priority_secure192;
-static const int cert_type_priority_default[] = {
- GNUTLS_CRT_X509,
- 0
-};
+static const int cert_type_priority_default[] = { GNUTLS_CRT_X509, 0 };
-static const int cert_type_priority_all[] = {
- GNUTLS_CRT_X509,
- GNUTLS_CRT_RAWPK,
- 0
-};
+static const int cert_type_priority_all[] = { GNUTLS_CRT_X509, GNUTLS_CRT_RAWPK,
+ 0 };
-typedef void (rmadd_func) (priority_st * priority_list, unsigned int alg);
+typedef void(rmadd_func)(priority_st *priority_list, unsigned int alg);
-static void prio_remove(priority_st * priority_list, unsigned int algo)
+static void prio_remove(priority_st *priority_list, unsigned int algo)
{
unsigned int i;
@@ -632,10 +532,10 @@ static void prio_remove(priority_st * priority_list, unsigned int algo)
memmove(&priority_list->priorities[i],
&priority_list->priorities[i + 1],
(priority_list->num_priorities -
- i) *
- sizeof(priority_list->priorities[0]));
- priority_list->priorities[priority_list->
- num_priorities] = 0;
+ i) * sizeof(priority_list
+ ->priorities[0]));
+ priority_list
+ ->priorities[priority_list->num_priorities] = 0;
break;
}
}
@@ -643,16 +543,16 @@ static void prio_remove(priority_st * priority_list, unsigned int algo)
return;
}
-static void prio_add(priority_st * priority_list, unsigned int algo)
+static void prio_add(priority_st *priority_list, unsigned int algo)
{
unsigned int i, l = priority_list->num_priorities;
if (l >= MAX_ALGOS)
- return; /* can't add it anyway */
+ return; /* can't add it anyway */
for (i = 0; i < l; ++i) {
if (algo == priority_list->priorities[i])
- return; /* if it exists */
+ return; /* if it exists */
}
priority_list->priorities[l] = algo;
@@ -688,9 +588,8 @@ int gnutls_priority_set(gnutls_session_t session, gnutls_priority_t priority)
* negotiated version. */
if (!session->internals.handshake_in_progress &&
!session->internals.initial_negotiation_completed) {
- ret = _gnutls_set_current_version(session,
- priority->
- protocol.priorities[0]);
+ ret = _gnutls_set_current_version(
+ session, priority->protocol.priorities[0]);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -760,95 +659,99 @@ struct priority_groups_st {
};
static const struct priority_groups_st pgroups[] = {
- {.name = LEVEL_NORMAL,
- .cipher_list = &cipher_priority_normal,
- .mac_list = &mac_priority_normal,
- .kx_list = &kx_priority_secure,
- .sign_list = &sign_priority_default,
- .group_list = &supported_groups_normal,
- .profile = GNUTLS_PROFILE_LOW,
- .sec_param = GNUTLS_SEC_PARAM_WEAK},
- {.name = LEVEL_PFS,
- .cipher_list = &cipher_priority_normal,
- .mac_list = &mac_priority_secure128,
- .kx_list = &kx_priority_pfs,
- .sign_list = &sign_priority_default,
- .group_list = &supported_groups_normal,
- .profile = GNUTLS_PROFILE_LOW,
- .sec_param = GNUTLS_SEC_PARAM_WEAK,
- .no_tickets_tls12 = 1},
- {.name = LEVEL_SECURE128,
- .alias = "SECURE",
- .cipher_list = &cipher_priority_secure128,
- .mac_list = &mac_priority_secure128,
- .kx_list = &kx_priority_secure,
- .sign_list = &sign_priority_secure128,
- .group_list = &supported_groups_secure128,
- /* The profile should have been HIGH but if we don't allow
+ { .name = LEVEL_NORMAL,
+ .cipher_list = &cipher_priority_normal,
+ .mac_list = &mac_priority_normal,
+ .kx_list = &kx_priority_secure,
+ .sign_list = &sign_priority_default,
+ .group_list = &supported_groups_normal,
+ .profile = GNUTLS_PROFILE_LOW,
+ .sec_param = GNUTLS_SEC_PARAM_WEAK },
+ { .name = LEVEL_PFS,
+ .cipher_list = &cipher_priority_normal,
+ .mac_list = &mac_priority_secure128,
+ .kx_list = &kx_priority_pfs,
+ .sign_list = &sign_priority_default,
+ .group_list = &supported_groups_normal,
+ .profile = GNUTLS_PROFILE_LOW,
+ .sec_param = GNUTLS_SEC_PARAM_WEAK,
+ .no_tickets_tls12 = 1 },
+ { .name = LEVEL_SECURE128,
+ .alias = "SECURE",
+ .cipher_list = &cipher_priority_secure128,
+ .mac_list = &mac_priority_secure128,
+ .kx_list = &kx_priority_secure,
+ .sign_list = &sign_priority_secure128,
+ .group_list = &supported_groups_secure128,
+ /* The profile should have been HIGH but if we don't allow
* SHA-1 (80-bits) as signature algorithm we are not able
* to connect anywhere with this level */
- .profile = GNUTLS_PROFILE_LOW,
- .sec_param = GNUTLS_SEC_PARAM_LOW},
- {.name = LEVEL_SECURE192,
- .alias = LEVEL_SECURE256,
- .cipher_list = &cipher_priority_secure192,
- .mac_list = &mac_priority_secure192,
- .kx_list = &kx_priority_secure,
- .sign_list = &sign_priority_secure192,
- .group_list = &supported_groups_secure192,
- .profile = GNUTLS_PROFILE_HIGH,
- .sec_param = GNUTLS_SEC_PARAM_HIGH},
- {.name = LEVEL_SUITEB128,
- .proto_list = &protocol_priority_suiteb,
- .cipher_list = &cipher_priority_suiteb128,
- .mac_list = &mac_priority_suiteb,
- .kx_list = &kx_priority_suiteb,
- .sign_list = &sign_priority_suiteb128,
- .group_list = &supported_groups_suiteb128,
- .profile = GNUTLS_PROFILE_SUITEB128,
- .sec_param = GNUTLS_SEC_PARAM_HIGH},
- {.name = LEVEL_SUITEB192,
- .proto_list = &protocol_priority_suiteb,
- .cipher_list = &cipher_priority_suiteb192,
- .mac_list = &mac_priority_suiteb,
- .kx_list = &kx_priority_suiteb,
- .sign_list = &sign_priority_suiteb192,
- .group_list = &supported_groups_suiteb192,
- .profile = GNUTLS_PROFILE_SUITEB192,
- .sec_param = GNUTLS_SEC_PARAM_ULTRA},
- {.name = LEVEL_LEGACY,
- .cipher_list = &cipher_priority_normal,
- .mac_list = &mac_priority_normal,
- .kx_list = &kx_priority_secure,
- .sign_list = &sign_priority_default,
- .group_list = &supported_groups_normal,
- .sec_param = GNUTLS_SEC_PARAM_VERY_WEAK},
- {.name = LEVEL_PERFORMANCE,
- .cipher_list = &cipher_priority_performance,
- .mac_list = &mac_priority_normal,
- .kx_list = &kx_priority_performance,
- .sign_list = &sign_priority_default,
- .group_list = &supported_groups_normal,
- .profile = GNUTLS_PROFILE_LOW,
- .sec_param = GNUTLS_SEC_PARAM_WEAK},
+ .profile = GNUTLS_PROFILE_LOW,
+ .sec_param = GNUTLS_SEC_PARAM_LOW },
+ { .name = LEVEL_SECURE192,
+ .alias = LEVEL_SECURE256,
+ .cipher_list = &cipher_priority_secure192,
+ .mac_list = &mac_priority_secure192,
+ .kx_list = &kx_priority_secure,
+ .sign_list = &sign_priority_secure192,
+ .group_list = &supported_groups_secure192,
+ .profile = GNUTLS_PROFILE_HIGH,
+ .sec_param = GNUTLS_SEC_PARAM_HIGH },
+ { .name = LEVEL_SUITEB128,
+ .proto_list = &protocol_priority_suiteb,
+ .cipher_list = &cipher_priority_suiteb128,
+ .mac_list = &mac_priority_suiteb,
+ .kx_list = &kx_priority_suiteb,
+ .sign_list = &sign_priority_suiteb128,
+ .group_list = &supported_groups_suiteb128,
+ .profile = GNUTLS_PROFILE_SUITEB128,
+ .sec_param = GNUTLS_SEC_PARAM_HIGH },
+ { .name = LEVEL_SUITEB192,
+ .proto_list = &protocol_priority_suiteb,
+ .cipher_list = &cipher_priority_suiteb192,
+ .mac_list = &mac_priority_suiteb,
+ .kx_list = &kx_priority_suiteb,
+ .sign_list = &sign_priority_suiteb192,
+ .group_list = &supported_groups_suiteb192,
+ .profile = GNUTLS_PROFILE_SUITEB192,
+ .sec_param = GNUTLS_SEC_PARAM_ULTRA },
+ { .name = LEVEL_LEGACY,
+ .cipher_list = &cipher_priority_normal,
+ .mac_list = &mac_priority_normal,
+ .kx_list = &kx_priority_secure,
+ .sign_list = &sign_priority_default,
+ .group_list = &supported_groups_normal,
+ .sec_param = GNUTLS_SEC_PARAM_VERY_WEAK },
+ { .name = LEVEL_PERFORMANCE,
+ .cipher_list = &cipher_priority_performance,
+ .mac_list = &mac_priority_normal,
+ .kx_list = &kx_priority_performance,
+ .sign_list = &sign_priority_default,
+ .group_list = &supported_groups_normal,
+ .profile = GNUTLS_PROFILE_LOW,
+ .sec_param = GNUTLS_SEC_PARAM_WEAK },
{
- .name = NULL,
- }
+ .name = NULL,
+ }
};
-#define SET_PROFILE(to_set) \
- profile = GNUTLS_VFLAGS_TO_PROFILE(priority_cache->additional_verify_flags); \
- if (profile == 0 || profile > to_set) { \
- priority_cache->additional_verify_flags &= ~GNUTLS_VFLAGS_PROFILE_MASK; \
- priority_cache->additional_verify_flags |= GNUTLS_PROFILE_TO_VFLAGS(to_set); \
+#define SET_PROFILE(to_set) \
+ profile = GNUTLS_VFLAGS_TO_PROFILE( \
+ priority_cache->additional_verify_flags); \
+ if (profile == 0 || profile > to_set) { \
+ priority_cache->additional_verify_flags &= \
+ ~GNUTLS_VFLAGS_PROFILE_MASK; \
+ priority_cache->additional_verify_flags |= \
+ GNUTLS_PROFILE_TO_VFLAGS(to_set); \
}
-#define SET_LEVEL(to_set) \
- if (priority_cache->level == 0 || (unsigned)priority_cache->level > (unsigned)to_set) \
- priority_cache->level = to_set
+#define SET_LEVEL(to_set) \
+ if (priority_cache->level == 0 || \
+ (unsigned)priority_cache->level > (unsigned)to_set) \
+ priority_cache->level = to_set
-static
-int check_level(const char *level, gnutls_priority_t priority_cache, int add)
+static int check_level(const char *level, gnutls_priority_t priority_cache,
+ int add)
{
bulk_rmadd_func *func;
unsigned profile = 0;
@@ -866,8 +769,8 @@ int check_level(const char *level, gnutls_priority_t priority_cache, int add)
return 0;
if (c_strcasecmp(level, pgroups[i].name) == 0 ||
- (pgroups[i].alias != NULL
- && c_strcasecmp(level, pgroups[i].alias) == 0)) {
+ (pgroups[i].alias != NULL &&
+ c_strcasecmp(level, pgroups[i].alias) == 0)) {
if (pgroups[i].proto_list != NULL)
func(&priority_cache->protocol,
*pgroups[i].proto_list);
@@ -880,21 +783,21 @@ int check_level(const char *level, gnutls_priority_t priority_cache, int add)
*pgroups[i].group_list);
if (pgroups[i].profile != 0) {
- SET_PROFILE(pgroups[i].profile); /* set certificate level */
+ SET_PROFILE(
+ pgroups[i].profile); /* set certificate level */
}
- SET_LEVEL(pgroups[i].sec_param); /* set DH params level */
+ SET_LEVEL(
+ pgroups[i].sec_param); /* set DH params level */
priority_cache->no_tickets = pgroups[i].no_tickets;
priority_cache->no_tickets_tls12 =
- pgroups[i].no_tickets_tls12;
+ pgroups[i].no_tickets_tls12;
if (priority_cache->have_cbc == 0) {
for (j = 0; (*pgroups[i].cipher_list)[j] != 0;
j++) {
- centry =
- cipher_to_entry((*pgroups
- [i].cipher_list)
- [j]);
- if (centry != NULL
- && centry->type == CIPHER_BLOCK) {
+ centry = cipher_to_entry(
+ (*pgroups[i].cipher_list)[j]);
+ if (centry != NULL &&
+ centry->type == CIPHER_BLOCK) {
priority_cache->have_cbc = 1;
break;
}
@@ -1018,7 +921,6 @@ static void enable_profile_suiteb192(gnutls_priority_t c)
static void enable_safe_renegotiation(gnutls_priority_t c)
{
c->sr = SR_SAFE;
-
}
static void enable_unsafe_renegotiation(gnutls_priority_t c)
@@ -1257,8 +1159,8 @@ static inline int /* allowlisting-only */ _cfg_sigs_remark(struct cfg *cfg)
}
}
for (i = 0; cfg->sigs_for_cert[i] != 0; i++) {
- int ret = _gnutls_sign_set_secure(cfg->sigs_for_cert[i],
- _SECURE);
+ int ret =
+ _gnutls_sign_set_secure(cfg->sigs_for_cert[i], _SECURE);
if (unlikely(ret < 0)) {
return gnutls_assert_val(ret);
}
@@ -1281,8 +1183,8 @@ static inline int /* allowlisting-only */ _cfg_versions_remark(struct cfg *cfg)
}
/* global side-effect! modifies `supported` in `ecc_curves[]` */
-static inline int /* allowlisting-only */ _cfg_ecc_curves_remark(struct cfg
- *cfg)
+static inline int /* allowlisting-only */
+_cfg_ecc_curves_remark(struct cfg *cfg)
{
size_t i;
_gnutls_ecc_curve_mark_disabled_all();
@@ -1299,29 +1201,24 @@ static inline int /* allowlisting-only */ _cfg_ecc_curves_remark(struct cfg
* setting arrays of struct cfg: from other arrays
*/
-static inline int /* allowlisting-only */ cfg_hashes_set_array(struct cfg *cfg,
- gnutls_digest_algorithm_t
- * src,
- size_t len)
+static inline int /* allowlisting-only */
+cfg_hashes_set_array(struct cfg *cfg, gnutls_digest_algorithm_t *src,
+ size_t len)
{
if (unlikely(len >= MAX_ALGOS)) {
return gnutls_assert_val(GNUTLS_A_INTERNAL_ERROR);
}
if (len) {
- memcpy(cfg->hashes,
- src, sizeof(gnutls_digest_algorithm_t) * len);
+ memcpy(cfg->hashes, src,
+ sizeof(gnutls_digest_algorithm_t) * len);
}
cfg->hashes[len] = 0;
return _cfg_hashes_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_sigs_set_arrays(struct cfg *cfg,
- gnutls_sign_algorithm_t
- * src, size_t len,
- gnutls_sign_algorithm_t
- * src_for_cert,
- size_t
- len_for_cert)
+static inline int /* allowlisting-only */
+cfg_sigs_set_arrays(struct cfg *cfg, gnutls_sign_algorithm_t *src, size_t len,
+ gnutls_sign_algorithm_t *src_for_cert, size_t len_for_cert)
{
if (unlikely(len >= MAX_ALGOS)) {
return gnutls_assert_val(GNUTLS_A_INTERNAL_ERROR);
@@ -1341,11 +1238,8 @@ static inline int /* allowlisting-only */ cfg_sigs_set_arrays(struct cfg *cfg,
return _cfg_sigs_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_versions_set_array(struct cfg
- *cfg,
- gnutls_protocol_t
- * src,
- size_t len)
+static inline int /* allowlisting-only */
+cfg_versions_set_array(struct cfg *cfg, gnutls_protocol_t *src, size_t len)
{
if (unlikely(len >= MAX_ALGOS)) {
return gnutls_assert_val(GNUTLS_A_INTERNAL_ERROR);
@@ -1357,11 +1251,8 @@ static inline int /* allowlisting-only */ cfg_versions_set_array(struct cfg
return _cfg_versions_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_ecc_curves_set_array(struct cfg
- *cfg,
- gnutls_ecc_curve_t
- * src,
- size_t len)
+static inline int /* allowlisting-only */
+cfg_ecc_curves_set_array(struct cfg *cfg, gnutls_ecc_curve_t *src, size_t len)
{
if (unlikely(len >= MAX_ALGOS)) {
return gnutls_assert_val(GNUTLS_A_INTERNAL_ERROR);
@@ -1383,24 +1274,23 @@ static inline int /* allowlisting-only */ cfg_ecc_curves_set_array(struct cfg
* (hacky, every call is +4 lines, needs a portable static assert)
* 3. macro whole functions, not just this operation (harder to find/read)
*/
-#define APPEND_TO_NULL_TERMINATED_ARRAY(dst, element) \
- do { \
- size_t i; \
- for (i = 0; dst[i] != 0; i++) { \
- if (dst[i] == element) { \
- return 0; \
- } \
- } \
- if (unlikely(i >= MAX_ALGOS)) { \
+#define APPEND_TO_NULL_TERMINATED_ARRAY(dst, element) \
+ do { \
+ size_t i; \
+ for (i = 0; dst[i] != 0; i++) { \
+ if (dst[i] == element) { \
+ return 0; \
+ } \
+ } \
+ if (unlikely(i >= MAX_ALGOS)) { \
return gnutls_assert_val(GNUTLS_A_INTERNAL_ERROR); \
- } \
- dst[i] = element; \
- dst[i + 1] = 0; \
+ } \
+ dst[i] = element; \
+ dst[i + 1] = 0; \
} while (0)
-static inline int /* allowlisting-only */ cfg_hashes_add(struct cfg *cfg,
- gnutls_digest_algorithm_t
- dig)
+static inline int /* allowlisting-only */
+cfg_hashes_add(struct cfg *cfg, gnutls_digest_algorithm_t dig)
{
_gnutls_debug_log("cfg: enabling digest algorithm %s\n",
gnutls_digest_get_name(dig));
@@ -1408,31 +1298,30 @@ static inline int /* allowlisting-only */ cfg_hashes_add(struct cfg *cfg,
return _cfg_hashes_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_sigs_add(struct cfg *cfg,
- gnutls_sign_algorithm_t
- sig)
+static inline int /* allowlisting-only */
+cfg_sigs_add(struct cfg *cfg, gnutls_sign_algorithm_t sig)
{
_gnutls_debug_log("cfg: enabling signature algorithm "
"(for non-certificate usage) "
- "%s\n", gnutls_sign_get_name(sig));
+ "%s\n",
+ gnutls_sign_get_name(sig));
APPEND_TO_NULL_TERMINATED_ARRAY(cfg->sigs, sig);
return _cfg_sigs_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_sigs_for_cert_add(struct cfg *cfg,
- gnutls_sign_algorithm_t
- sig)
+static inline int /* allowlisting-only */
+cfg_sigs_for_cert_add(struct cfg *cfg, gnutls_sign_algorithm_t sig)
{
_gnutls_debug_log("cfg: enabling signature algorithm"
"(for certificate usage) "
- "%s\n", gnutls_sign_get_name(sig));
+ "%s\n",
+ gnutls_sign_get_name(sig));
APPEND_TO_NULL_TERMINATED_ARRAY(cfg->sigs_for_cert, sig);
return _cfg_sigs_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_versions_add(struct cfg *cfg,
- gnutls_protocol_t
- prot)
+static inline int /* allowlisting-only */
+cfg_versions_add(struct cfg *cfg, gnutls_protocol_t prot)
{
_gnutls_debug_log("cfg: enabling version %s\n",
gnutls_protocol_get_name(prot));
@@ -1440,9 +1329,8 @@ static inline int /* allowlisting-only */ cfg_versions_add(struct cfg *cfg,
return _cfg_versions_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_ecc_curves_add(struct cfg *cfg,
- gnutls_ecc_curve_t
- curve)
+static inline int /* allowlisting-only */
+cfg_ecc_curves_add(struct cfg *cfg, gnutls_ecc_curve_t curve)
{
_gnutls_debug_log("cfg: enabling curve %s\n",
gnutls_ecc_curve_get_name(curve));
@@ -1457,21 +1345,20 @@ static inline int /* allowlisting-only */ cfg_ecc_curves_add(struct cfg *cfg,
*/
/* polymorphic way to DRY this removal, see APPEND_TO_NULL_TERMINATED_ARRAY */
-#define REMOVE_FROM_NULL_TERMINATED_ARRAY(dst, element) \
- do { \
- size_t i, j; \
- for (i = 0; dst[i] != 0; i++) { \
- if (dst[i] == element) { \
+#define REMOVE_FROM_NULL_TERMINATED_ARRAY(dst, element) \
+ do { \
+ size_t i, j; \
+ for (i = 0; dst[i] != 0; i++) { \
+ if (dst[i] == element) { \
for (j = i; dst[j] != 0; j++) { \
- dst[j] = dst[j + 1]; \
- } \
- } \
- } \
+ dst[j] = dst[j + 1]; \
+ } \
+ } \
+ } \
} while (0)
-static inline int /* allowlisting-only */ cfg_hashes_remove(struct cfg *cfg,
- gnutls_digest_algorithm_t
- dig)
+static inline int /* allowlisting-only */
+cfg_hashes_remove(struct cfg *cfg, gnutls_digest_algorithm_t dig)
{
_gnutls_debug_log("cfg: disabling digest algorithm %s\n",
gnutls_digest_get_name(dig));
@@ -1479,32 +1366,30 @@ static inline int /* allowlisting-only */ cfg_hashes_remove(struct cfg *cfg,
return _cfg_hashes_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_sigs_remove(struct cfg *cfg,
- gnutls_sign_algorithm_t
- sig)
+static inline int /* allowlisting-only */
+cfg_sigs_remove(struct cfg *cfg, gnutls_sign_algorithm_t sig)
{
_gnutls_debug_log("cfg: disabling signature algorithm "
"(for non-certificate usage) "
- "%s\n", gnutls_sign_get_name(sig));
+ "%s\n",
+ gnutls_sign_get_name(sig));
REMOVE_FROM_NULL_TERMINATED_ARRAY(cfg->sigs, sig);
return _cfg_sigs_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_sigs_for_cert_remove(struct cfg
- *cfg,
- gnutls_sign_algorithm_t
- sig)
+static inline int /* allowlisting-only */
+cfg_sigs_for_cert_remove(struct cfg *cfg, gnutls_sign_algorithm_t sig)
{
_gnutls_debug_log("cfg: disabling signature algorithm"
"(for certificate usage) "
- "%s\n", gnutls_sign_get_name(sig));
+ "%s\n",
+ gnutls_sign_get_name(sig));
REMOVE_FROM_NULL_TERMINATED_ARRAY(cfg->sigs_for_cert, sig);
return _cfg_sigs_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_versions_remove(struct cfg *cfg,
- gnutls_protocol_t
- prot)
+static inline int /* allowlisting-only */
+cfg_versions_remove(struct cfg *cfg, gnutls_protocol_t prot)
{
_gnutls_debug_log("cfg: disabling version %s\n",
gnutls_protocol_get_name(prot));
@@ -1512,9 +1397,8 @@ static inline int /* allowlisting-only */ cfg_versions_remove(struct cfg *cfg,
return _cfg_versions_remark(cfg);
}
-static inline int /* allowlisting-only */ cfg_ecc_curves_remove(struct cfg *cfg,
- gnutls_ecc_curve_t
- curve)
+static inline int /* allowlisting-only */
+cfg_ecc_curves_remove(struct cfg *cfg, gnutls_ecc_curve_t curve)
{
_gnutls_debug_log("cfg: disabling curve %s\n",
gnutls_ecc_curve_get_name(curve));
@@ -1547,14 +1431,14 @@ static inline int cfg_apply(struct cfg *cfg, struct ini_ctx *ctx)
return gnutls_assert_val(ret);
}
/* also updates `supported` field of global `sup_versions[]` */
- ret = cfg_versions_set_array(cfg,
- ctx->versions, ctx->versions_size);
+ ret = cfg_versions_set_array(cfg, ctx->versions,
+ ctx->versions_size);
if (unlikely(ret < 0)) {
return gnutls_assert_val(ret);
}
/* also updates `supported` field of global `ecc_curves[]` */
- ret = cfg_ecc_curves_set_array(cfg,
- ctx->curves, ctx->curves_size);
+ ret = cfg_ecc_curves_set_array(cfg, ctx->curves,
+ ctx->curves_size);
if (unlikely(ret < 0)) {
return gnutls_assert_val(ret);
}
@@ -1576,9 +1460,8 @@ static inline int cfg_apply(struct cfg *cfg, struct ini_ctx *ctx)
}
}
for (i = 0; i < ctx->sigs_for_cert_size; i++) {
- ret =
- _gnutls_sign_mark_insecure(ctx->sigs_for_cert[i],
- _INSECURE_FOR_CERTS);
+ ret = _gnutls_sign_mark_insecure(ctx->sigs_for_cert[i],
+ _INSECURE_FOR_CERTS);
if (unlikely(ret < 0)) {
return ret;
}
@@ -1617,8 +1500,8 @@ static int global_ini_handler(void *ctx, const char *section, const char *name,
} else if (c_strcasecmp(p, "blocklist") == 0) {
cfg->allowlisting = false;
} else {
- _gnutls_debug_log
- ("cfg: unknown override mode %s\n", p);
+ _gnutls_debug_log(
+ "cfg: unknown override mode %s\n", p);
if (fail_on_invalid_config)
return 0;
}
@@ -1649,24 +1532,21 @@ static bool override_allowed(bool allowlisting, const char *name)
static const struct {
const char *allowlist_name;
const char *blocklist_name;
- } names[] = {
- {"secure-hash", "insecure-hash"},
- {"secure-sig", "insecure-sig"},
- {"secure-sig-for-cert", "insecure-sig-for-cert"},
- {"enabled-version", "disabled-version"},
- {"enabled-curve", "disabled-curve"},
- {"tls-enabled-cipher", "tls-disabled-cipher"},
- {"tls-enabled-group", "tls-disabled-group"},
- {"tls-enabled-kx", "tls-disabled-kx"},
- {"tls-enabled-mac", "tls-disabled-mac"}
- };
+ } names[] = { { "secure-hash", "insecure-hash" },
+ { "secure-sig", "insecure-sig" },
+ { "secure-sig-for-cert", "insecure-sig-for-cert" },
+ { "enabled-version", "disabled-version" },
+ { "enabled-curve", "disabled-curve" },
+ { "tls-enabled-cipher", "tls-disabled-cipher" },
+ { "tls-enabled-group", "tls-disabled-group" },
+ { "tls-enabled-kx", "tls-disabled-kx" },
+ { "tls-enabled-mac", "tls-disabled-mac" } };
size_t i;
for (i = 0; i < sizeof(names) / sizeof(names[0]); i++) {
- if (c_strcasecmp(name,
- allowlisting ?
- names[i].blocklist_name :
- names[i].allowlist_name) == 0)
+ if (c_strcasecmp(name, allowlisting ?
+ names[i].blocklist_name :
+ names[i].allowlist_name) == 0)
return false;
}
@@ -1690,19 +1570,19 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
* not use that value after we handle it. */
/* Parse sections */
- if (section == NULL || section[0] == 0
- || c_strcasecmp(section, CUSTOM_PRIORITY_SECTION) == 0) {
+ if (section == NULL || section[0] == 0 ||
+ c_strcasecmp(section, CUSTOM_PRIORITY_SECTION) == 0) {
_gnutls_debug_log("cfg: adding priority: %s -> %s\n", name,
value);
- ret =
- _name_val_array_append(&cfg->priority_strings, name, value);
+ ret = _name_val_array_append(&cfg->priority_strings, name,
+ value);
if (ret < 0)
return 0;
} else if (c_strcasecmp(section, OVERRIDES_SECTION) == 0) {
if (!override_allowed(cfg->allowlisting, name)) {
- _gnutls_debug_log
- ("cfg: %s is not allowed in this mode\n", name);
+ _gnutls_debug_log(
+ "cfg: %s is not allowed in this mode\n", name);
if (fail_on_invalid_config)
return 0;
} else if (c_strcasecmp(name, "default-priority-string") == 0) {
@@ -1711,18 +1591,19 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
cfg->default_priority_string = NULL;
}
p = clear_spaces(value, str);
- _gnutls_debug_log
- ("cfg: setting default-priority-string to %s\n", p);
+ _gnutls_debug_log(
+ "cfg: setting default-priority-string to %s\n",
+ p);
if (strlen(p) > 0) {
cfg->default_priority_string = gnutls_strdup(p);
if (!cfg->default_priority_string) {
- _gnutls_debug_log
- ("cfg: failed setting default-priority-string\n");
+ _gnutls_debug_log(
+ "cfg: failed setting default-priority-string\n");
return 0;
}
} else {
- _gnutls_debug_log
- ("cfg: empty default-priority-string, using default\n");
+ _gnutls_debug_log(
+ "cfg: empty default-priority-string, using default\n");
if (fail_on_invalid_config)
return 0;
}
@@ -1733,35 +1614,35 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p = clear_spaces(value, str);
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: marking hash %s as secure\n", p);
+ _gnutls_debug_log(
+ "cfg: marking hash %s as secure\n", p);
} else {
- _gnutls_debug_log
- ("cfg: marking hash %s as insecure\n", p);
+ _gnutls_debug_log(
+ "cfg: marking hash %s as insecure\n",
+ p);
}
dig = gnutls_digest_get_id(p);
if (dig == GNUTLS_DIG_UNKNOWN) {
- _gnutls_debug_log
- ("cfg: found unknown hash %s in %s\n", p,
- name);
+ _gnutls_debug_log(
+ "cfg: found unknown hash %s in %s\n", p,
+ name);
if (fail_on_invalid_config)
return 0;
goto exit;
}
- tmp = _gnutls_reallocarray(ctx->hashes,
- ctx->hashes_size + 1,
- sizeof
- (gnutls_digest_algorithm_t));
+ tmp = _gnutls_reallocarray(
+ ctx->hashes, ctx->hashes_size + 1,
+ sizeof(gnutls_digest_algorithm_t));
if (!tmp) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: failed marking hash %s as secure\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed marking hash %s as secure\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: failed marking hash %s as insecure\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed marking hash %s as insecure\n",
+ p);
}
if (fail_on_invalid_config)
return 0;
@@ -1778,37 +1659,36 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p = clear_spaces(value, str);
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: marking signature %s as secure\n",
- p);
+ _gnutls_debug_log(
+ "cfg: marking signature %s as secure\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: marking signature %s as insecure\n",
- p);
+ _gnutls_debug_log(
+ "cfg: marking signature %s as insecure\n",
+ p);
}
sig = gnutls_sign_get_id(p);
if (sig == GNUTLS_SIGN_UNKNOWN) {
- _gnutls_debug_log
- ("cfg: found unknown signature algorithm %s in %s\n",
- p, name);
+ _gnutls_debug_log(
+ "cfg: found unknown signature algorithm %s in %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
}
- tmp = _gnutls_reallocarray(ctx->sigs,
- ctx->sigs_size + 1,
- sizeof
- (gnutls_sign_algorithm_t));
+ tmp = _gnutls_reallocarray(
+ ctx->sigs, ctx->sigs_size + 1,
+ sizeof(gnutls_sign_algorithm_t));
if (!tmp) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: failed marking signature %s as secure\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed marking signature %s as secure\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: failed marking signature %s as insecure\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed marking signature %s as insecure\n",
+ p);
}
if (fail_on_invalid_config)
return 0;
@@ -1825,37 +1705,36 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p = clear_spaces(value, str);
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: marking signature %s as secure for certs\n",
- p);
+ _gnutls_debug_log(
+ "cfg: marking signature %s as secure for certs\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: marking signature %s as insecure for certs\n",
- p);
+ _gnutls_debug_log(
+ "cfg: marking signature %s as insecure for certs\n",
+ p);
}
sig = gnutls_sign_get_id(p);
if (sig == GNUTLS_SIGN_UNKNOWN) {
- _gnutls_debug_log
- ("cfg: found unknown signature algorithm %s in %s\n",
- p, name);
+ _gnutls_debug_log(
+ "cfg: found unknown signature algorithm %s in %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
}
- tmp = _gnutls_reallocarray(ctx->sigs_for_cert,
- ctx->sigs_for_cert_size + 1,
- sizeof
- (gnutls_sign_algorithm_t));
+ tmp = _gnutls_reallocarray(
+ ctx->sigs_for_cert, ctx->sigs_for_cert_size + 1,
+ sizeof(gnutls_sign_algorithm_t));
if (!tmp) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: failed marking signature %s as secure for certs\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed marking signature %s as secure for certs\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: failed marking signature %s as insecure for certs\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed marking signature %s as insecure for certs\n",
+ p);
}
if (fail_on_invalid_config)
return 0;
@@ -1881,9 +1760,9 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
prot = gnutls_protocol_get_id(p);
if (prot == GNUTLS_VERSION_UNKNOWN) {
- _gnutls_debug_log
- ("cfg: found unknown version %s in %s\n", p,
- name);
+ _gnutls_debug_log(
+ "cfg: found unknown version %s in %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -1893,13 +1772,13 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
sizeof(gnutls_protocol_t));
if (!tmp) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: failed enabling version %s\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed enabling version %s\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: failed disabling version %s\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed disabling version %s\n",
+ p);
}
if (fail_on_invalid_config)
return 0;
@@ -1925,9 +1804,9 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
curve = gnutls_ecc_curve_get_id(p);
if (curve == GNUTLS_ECC_CURVE_INVALID) {
- _gnutls_debug_log
- ("cfg: found unknown curve %s in %s\n", p,
- name);
+ _gnutls_debug_log(
+ "cfg: found unknown curve %s in %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -1937,13 +1816,13 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
sizeof(gnutls_ecc_curve_t));
if (!tmp) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: failed enabling curve %s\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed enabling curve %s\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: failed disabling curve %s\n",
- p);
+ _gnutls_debug_log(
+ "cfg: failed disabling curve %s\n",
+ p);
}
if (fail_on_invalid_config)
return 0;
@@ -1953,16 +1832,17 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
ctx->curves = tmp;
ctx->curves[ctx->curves_size] = curve;
ctx->curves_size++;
- } else if (c_strcasecmp(name, "min-verification-profile") == 0) {
+ } else if (c_strcasecmp(name, "min-verification-profile") ==
+ 0) {
gnutls_certificate_verification_profiles_t profile;
profile =
- gnutls_certificate_verification_profile_get_id
- (value);
+ gnutls_certificate_verification_profile_get_id(
+ value);
if (profile == GNUTLS_PROFILE_UNKNOWN) {
- _gnutls_debug_log
- ("cfg: found unknown profile %s in %s\n",
- value, name);
+ _gnutls_debug_log(
+ "cfg: found unknown profile %s in %s\n",
+ value, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -1976,18 +1856,19 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p = clear_spaces(value, str);
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: enabling cipher %s for TLS\n", p);
+ _gnutls_debug_log(
+ "cfg: enabling cipher %s for TLS\n", p);
} else {
- _gnutls_debug_log
- ("cfg: disabling cipher %s for TLS\n", p);
+ _gnutls_debug_log(
+ "cfg: disabling cipher %s for TLS\n",
+ p);
}
algo = gnutls_cipher_get_id(p);
if (algo == GNUTLS_CIPHER_UNKNOWN) {
- _gnutls_debug_log
- ("cfg: unknown algorithm %s listed at %s\n",
- p, name);
+ _gnutls_debug_log(
+ "cfg: unknown algorithm %s listed at %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -1999,13 +1880,13 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
if (i > MAX_ALGOS - 1) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: too many (%d) enabled ciphers from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) enabled ciphers from %s\n",
+ i, name);
} else {
- _gnutls_debug_log
- ("cfg: too many (%d) disabled ciphers from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) disabled ciphers from %s\n",
+ i, name);
}
if (fail_on_invalid_config)
return 0;
@@ -2021,18 +1902,18 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p = clear_spaces(value, str);
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: enabling MAC %s for TLS\n", p);
+ _gnutls_debug_log(
+ "cfg: enabling MAC %s for TLS\n", p);
} else {
- _gnutls_debug_log
- ("cfg: disabling MAC %s for TLS\n", p);
+ _gnutls_debug_log(
+ "cfg: disabling MAC %s for TLS\n", p);
}
algo = gnutls_mac_get_id(p);
if (algo == 0) {
- _gnutls_debug_log
- ("cfg: unknown algorithm %s listed at %s\n",
- p, name);
+ _gnutls_debug_log(
+ "cfg: unknown algorithm %s listed at %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -2044,13 +1925,13 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
if (i > MAX_ALGOS - 1) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: too many (%d) enabled MACs from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) enabled MACs from %s\n",
+ i, name);
} else {
- _gnutls_debug_log
- ("cfg: too many (%d) disabled MACs from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) disabled MACs from %s\n",
+ i, name);
}
if (fail_on_invalid_config)
return 0;
@@ -2068,18 +1949,18 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p += 6;
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: enabling group %s for TLS\n", p);
+ _gnutls_debug_log(
+ "cfg: enabling group %s for TLS\n", p);
} else {
- _gnutls_debug_log
- ("cfg: disabling group %s for TLS\n", p);
+ _gnutls_debug_log(
+ "cfg: disabling group %s for TLS\n", p);
}
algo = _gnutls_group_get_id(p);
if (algo == 0) {
- _gnutls_debug_log
- ("cfg: unknown group %s listed at %s\n", p,
- name);
+ _gnutls_debug_log(
+ "cfg: unknown group %s listed at %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -2091,13 +1972,13 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
if (i > MAX_ALGOS - 1) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: too many (%d) enabled groups from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) enabled groups from %s\n",
+ i, name);
} else {
- _gnutls_debug_log
- ("cfg: too many (%d) disabled groups from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) disabled groups from %s\n",
+ i, name);
}
if (fail_on_invalid_config)
return 0;
@@ -2112,20 +1993,20 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
p = clear_spaces(value, str);
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: enabling key exchange %s for TLS\n",
- p);
+ _gnutls_debug_log(
+ "cfg: enabling key exchange %s for TLS\n",
+ p);
} else {
- _gnutls_debug_log
- ("cfg: disabling key exchange %s for TLS\n",
- p);
+ _gnutls_debug_log(
+ "cfg: disabling key exchange %s for TLS\n",
+ p);
}
algo = gnutls_kx_get_id(p);
if (algo == 0) {
- _gnutls_debug_log
- ("cfg: unknown key exchange %s listed at %s\n",
- p, name);
+ _gnutls_debug_log(
+ "cfg: unknown key exchange %s listed at %s\n",
+ p, name);
if (fail_on_invalid_config)
return 0;
goto exit;
@@ -2137,13 +2018,13 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
if (i > MAX_ALGOS - 1) {
if (cfg->allowlisting) {
- _gnutls_debug_log
- ("cfg: too many (%d) enabled key exchanges from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) enabled key exchanges from %s\n",
+ i, name);
} else {
- _gnutls_debug_log
- ("cfg: too many (%d) disabled key exchanges from %s\n",
- i, name);
+ _gnutls_debug_log(
+ "cfg: too many (%d) disabled key exchanges from %s\n",
+ i, name);
}
if (fail_on_invalid_config)
return 0;
@@ -2162,12 +2043,12 @@ static int cfg_ini_handler(void *_ctx, const char *section, const char *name,
return 0;
}
- exit:
+exit:
return 1;
}
static int /* not locking system_wide_config */
-construct_system_wide_priority_string(gnutls_buffer_st * buf)
+construct_system_wide_priority_string(gnutls_buffer_st *buf)
{
int ret;
size_t i;
@@ -2187,9 +2068,8 @@ construct_system_wide_priority_string(gnutls_buffer_st * buf)
return ret;
}
- ret = _gnutls_buffer_append_str(buf,
- gnutls_kx_get_name
- (system_wide_config.kxs[i]));
+ ret = _gnutls_buffer_append_str(
+ buf, gnutls_kx_get_name(system_wide_config.kxs[i]));
if (ret < 0) {
_gnutls_buffer_clear(buf);
return ret;
@@ -2203,9 +2083,9 @@ construct_system_wide_priority_string(gnutls_buffer_st * buf)
return ret;
}
- ret = _gnutls_buffer_append_str(buf,
- gnutls_group_get_name
- (system_wide_config.groups[i]));
+ ret = _gnutls_buffer_append_str(
+ buf,
+ gnutls_group_get_name(system_wide_config.groups[i]));
if (ret < 0) {
_gnutls_buffer_clear(buf);
return ret;
@@ -2219,10 +2099,9 @@ construct_system_wide_priority_string(gnutls_buffer_st * buf)
return ret;
}
- ret = _gnutls_buffer_append_str(buf,
- gnutls_cipher_get_name
- (system_wide_config.ciphers
- [i]));
+ ret = _gnutls_buffer_append_str(
+ buf,
+ gnutls_cipher_get_name(system_wide_config.ciphers[i]));
if (ret < 0) {
_gnutls_buffer_clear(buf);
return ret;
@@ -2236,9 +2115,8 @@ construct_system_wide_priority_string(gnutls_buffer_st * buf)
return ret;
}
- ret = _gnutls_buffer_append_str(buf,
- gnutls_mac_get_name
- (system_wide_config.macs[i]));
+ ret = _gnutls_buffer_append_str(
+ buf, gnutls_mac_get_name(system_wide_config.macs[i]));
if (ret < 0) {
_gnutls_buffer_clear(buf);
return ret;
@@ -2252,9 +2130,8 @@ construct_system_wide_priority_string(gnutls_buffer_st * buf)
return ret;
}
- ret = _gnutls_buffer_append_str(buf,
- gnutls_sign_get_name
- (system_wide_config.sigs[i]));
+ ret = _gnutls_buffer_append_str(
+ buf, gnutls_sign_get_name(system_wide_config.sigs[i]));
if (ret < 0) {
_gnutls_buffer_clear(buf);
return ret;
@@ -2268,10 +2145,9 @@ construct_system_wide_priority_string(gnutls_buffer_st * buf)
return ret;
}
- ret = _gnutls_buffer_append_str(buf,
- gnutls_protocol_get_name
- (system_wide_config.versions
- [i]));
+ ret = _gnutls_buffer_append_str(
+ buf, gnutls_protocol_get_name(
+ system_wide_config.versions[i]));
if (ret < 0) {
_gnutls_buffer_clear(buf);
return ret;
@@ -2327,7 +2203,7 @@ static int _gnutls_update_system_priorities(bool defer_system_wide)
_gnutls_debug_log("cfg: system priority %s has not changed\n",
system_priority_file);
if (system_wide_config.priority_string) {
- goto out; /* nothing to do */
+ goto out; /* nothing to do */
}
}
@@ -2343,7 +2219,7 @@ static int _gnutls_update_system_priorities(bool defer_system_wide)
*/
if (system_priority_file_loaded) {
system_priority_file_loaded =
- (system_priority_last_mod == sb.st_mtime);
+ (system_priority_last_mod == sb.st_mtime);
}
if (!system_priority_file_loaded) {
@@ -2386,7 +2262,6 @@ static int _gnutls_update_system_priorities(bool defer_system_wide)
_gnutls_debug_log("cfg: loaded system config %s mtime %lld\n",
system_priority_file,
(unsigned long long)sb.st_mtime);
-
}
if (system_wide_config.allowlisting) {
@@ -2404,9 +2279,9 @@ static int _gnutls_update_system_priorities(bool defer_system_wide)
"system-wide priority string\n");
}
if (ret < 0) {
- _gnutls_debug_log
- ("cfg: unable to build priority string: %s\n",
- gnutls_strerror(ret));
+ _gnutls_debug_log(
+ "cfg: unable to build priority string: %s\n",
+ gnutls_strerror(ret));
if (fail_on_invalid_config)
exit(1);
goto out;
@@ -2416,7 +2291,7 @@ static int _gnutls_update_system_priorities(bool defer_system_wide)
system_priority_file_loaded = 1;
system_priority_last_mod = sb.st_mtime;
- out:
+out:
(void)gnutls_rwlock_unlock(&system_wide_config_rwlock);
if (err && fail_on_invalid_config) {
@@ -2439,7 +2314,7 @@ void _gnutls_prepare_to_load_system_priorities(void)
if (p != NULL && p[0] == '1' && p[1] == 0)
fail_on_invalid_config = 1;
- ret = _gnutls_update_system_priorities(true /* defer_system_wide */ );
+ ret = _gnutls_update_system_priorities(true /* defer_system_wide */);
if (ret < 0) {
_gnutls_debug_log("failed to update system priorities: %s\n",
gnutls_strerror(ret));
@@ -2469,7 +2344,7 @@ const char *gnutls_get_system_config_file(void)
return system_priority_file;
}
-#define S(str) ((str!=NULL)?str:"")
+#define S(str) ((str != NULL) ? str : "")
/* Returns the new priorities if a priority string prefixed
* with '@' is provided, or just a copy of the provided
@@ -2506,7 +2381,7 @@ char *_gnutls_resolve_priorities(const char *priorities)
/* Always try to refresh the cached data, to allow it to be
* updated without restarting all applications.
*/
- ret = _gnutls_update_system_priorities(false /* defer_system_wide */ );
+ ret = _gnutls_update_system_priorities(false /* defer_system_wide */);
if (ret < 0) {
_gnutls_debug_log("failed to update system priorities: %s\n",
gnutls_strerror(ret));
@@ -2535,9 +2410,9 @@ char *_gnutls_resolve_priorities(const char *priorities)
ret = gnutls_rwlock_rdlock(&system_wide_config_rwlock);
if (ret < 0) {
- _gnutls_debug_log
- ("cannot read system priority strings: %s\n",
- gnutls_strerror(ret));
+ _gnutls_debug_log(
+ "cannot read system priority strings: %s\n",
+ gnutls_strerror(ret));
break;
}
if (system_wide_config.allowlisting &&
@@ -2545,8 +2420,9 @@ char *_gnutls_resolve_priorities(const char *priorities)
strncmp(LEVEL_SYSTEM, ss, ss_len) == 0) {
p = system_wide_config.priority_string;
} else {
- p = _name_val_array_value
- (system_wide_config.priority_strings, ss, ss_len);
+ p = _name_val_array_value(
+ system_wide_config.priority_strings, ss,
+ ss_len);
}
_gnutls_debug_log("resolved '%.*s' to '%s', next '%.*s'\n",
@@ -2592,17 +2468,17 @@ static void add_ec(gnutls_priority_t priority_cache)
unsigned i;
for (i = 0; i < priority_cache->_supported_ecc.num_priorities; i++) {
- ge = _gnutls_id_to_group(priority_cache->
- _supported_ecc.priorities[i]);
- if (ge != NULL
- && priority_cache->groups.size <
- sizeof(priority_cache->groups.entry) /
- sizeof(priority_cache->groups.entry[0])) {
+ ge = _gnutls_id_to_group(
+ priority_cache->_supported_ecc.priorities[i]);
+ if (ge != NULL &&
+ priority_cache->groups.size <
+ sizeof(priority_cache->groups.entry) /
+ sizeof(priority_cache->groups.entry[0])) {
/* do not add groups which do not correspond to enabled ciphersuites */
if (!ge->curve)
continue;
- priority_cache->groups.entry[priority_cache->
- groups.size++] = ge;
+ priority_cache->groups
+ .entry[priority_cache->groups.size++] = ge;
}
}
}
@@ -2613,17 +2489,17 @@ static void add_dh(gnutls_priority_t priority_cache)
unsigned i;
for (i = 0; i < priority_cache->_supported_ecc.num_priorities; i++) {
- ge = _gnutls_id_to_group(priority_cache->
- _supported_ecc.priorities[i]);
- if (ge != NULL
- && priority_cache->groups.size <
- sizeof(priority_cache->groups.entry) /
- sizeof(priority_cache->groups.entry[0])) {
+ ge = _gnutls_id_to_group(
+ priority_cache->_supported_ecc.priorities[i]);
+ if (ge != NULL &&
+ priority_cache->groups.size <
+ sizeof(priority_cache->groups.entry) /
+ sizeof(priority_cache->groups.entry[0])) {
/* do not add groups which do not correspond to enabled ciphersuites */
if (!ge->prime)
continue;
- priority_cache->groups.entry[priority_cache->
- groups.size++] = ge;
+ priority_cache->groups
+ .entry[priority_cache->groups.size++] = ge;
priority_cache->groups.have_ffdhe = 1;
}
}
@@ -2677,7 +2553,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
if (priority_cache->_kx.priorities[i] !=
system_wide_config.kxs[z])
priority_cache->_kx.priorities[j++] =
- priority_cache->_kx.priorities[i];
+ priority_cache->_kx
+ .priorities[i];
}
priority_cache->_kx.num_priorities = j;
z++;
@@ -2689,13 +2566,13 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
for (i = j = 0;
i < priority_cache->_supported_ecc.num_priorities;
i++) {
- if (priority_cache->
- _supported_ecc.priorities[i] !=
+ if (priority_cache->_supported_ecc
+ .priorities[i] !=
system_wide_config.groups[z])
- priority_cache->
- _supported_ecc.priorities[j++] =
- priority_cache->
- _supported_ecc.priorities[i];
+ priority_cache->_supported_ecc
+ .priorities[j++] =
+ priority_cache->_supported_ecc
+ .priorities[i];
}
priority_cache->_supported_ecc.num_priorities = j;
z++;
@@ -2708,10 +2585,9 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
i < priority_cache->_cipher.num_priorities; i++) {
if (priority_cache->_cipher.priorities[i] !=
system_wide_config.ciphers[z])
- priority_cache->
- _cipher.priorities[j++] =
- priority_cache->
- _cipher.priorities[i];
+ priority_cache->_cipher.priorities[j++] =
+ priority_cache->_cipher
+ .priorities[i];
}
priority_cache->_cipher.num_priorities = j;
z++;
@@ -2725,7 +2601,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
if (priority_cache->_mac.priorities[i] !=
system_wide_config.macs[z])
priority_cache->_mac.priorities[j++] =
- priority_cache->_mac.priorities[i];
+ priority_cache->_mac
+ .priorities[i];
}
priority_cache->_mac.num_priorities = j;
z++;
@@ -2733,7 +2610,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
}
for (j = 0; j < priority_cache->_cipher.num_priorities; j++) {
- if (priority_cache->_cipher.priorities[j] == GNUTLS_CIPHER_NULL) {
+ if (priority_cache->_cipher.priorities[j] ==
+ GNUTLS_CIPHER_NULL) {
have_null = 1;
break;
}
@@ -2742,7 +2620,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
for (i = 0; i < priority_cache->_kx.num_priorities; i++) {
if (IS_SRP_KX(priority_cache->_kx.priorities[i])) {
have_srp = 1;
- } else if (_gnutls_kx_is_psk(priority_cache->_kx.priorities[i])) {
+ } else if (_gnutls_kx_is_psk(
+ priority_cache->_kx.priorities[i])) {
if (priority_cache->_kx.priorities[i] ==
GNUTLS_KX_RSA_PSK)
have_rsa_psk = 1;
@@ -2758,22 +2637,21 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
(system_wide_config.allowlisting &&
vers->supported_revertible))
priority_cache->protocol.priorities[j++] =
- priority_cache->protocol.priorities[i];
+ priority_cache->protocol.priorities[i];
}
priority_cache->protocol.num_priorities = j;
/* if we have NULL ciphersuites, SRP, or RSA-PSK enabled remove TLS1.3+
* protocol versions; they cannot be negotiated under TLS1.3. */
- if (have_null || have_srp || have_rsa_psk
- || priority_cache->no_extensions) {
+ if (have_null || have_srp || have_rsa_psk ||
+ priority_cache->no_extensions) {
for (i = j = 0; i < priority_cache->protocol.num_priorities;
i++) {
- vers =
- version_to_entry(priority_cache->
- protocol.priorities[i]);
+ vers = version_to_entry(
+ priority_cache->protocol.priorities[i]);
if (!vers || !vers->tls13_sem)
priority_cache->protocol.priorities[j++] =
- priority_cache->protocol.priorities[i];
+ priority_cache->protocol.priorities[i];
}
priority_cache->protocol.num_priorities = j;
}
@@ -2783,7 +2661,7 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
if (!vers)
continue;
- if (vers->transport == GNUTLS_STREAM) { /* TLS */
+ if (vers->transport == GNUTLS_STREAM) { /* TLS */
tls_sig_sem |= vers->tls_sig_sem;
if (vers->tls13_sem)
have_tls13 = 1;
@@ -2797,7 +2675,7 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
tlsmax = vers;
if (tlsmin == NULL || vers->age < tlsmin->age)
tlsmin = vers;
- } else { /* dtls */
+ } else { /* dtls */
tls_sig_sem |= vers->tls_sig_sem;
/* we need to introduce similar handling to above
@@ -2828,11 +2706,9 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
/* Add TLS 1.3 ciphersuites (no KX) */
for (j = 0; j < priority_cache->_cipher.num_priorities; j++) {
for (z = 0; z < priority_cache->_mac.num_priorities; z++) {
- ce = cipher_suite_get(0,
- priority_cache->
- _cipher.priorities[j],
- priority_cache->
- _mac.priorities[z]);
+ ce = cipher_suite_get(
+ 0, priority_cache->_cipher.priorities[j],
+ priority_cache->_mac.priorities[z]);
if (ce == NULL)
continue;
@@ -2843,8 +2719,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
continue;
if (priority_cache->cs.size < MAX_CIPHERSUITE_SIZE)
- priority_cache->cs.entry[priority_cache->
- cs.size++] = ce;
+ priority_cache->cs
+ .entry[priority_cache->cs.size++] = ce;
}
}
@@ -2852,12 +2728,10 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
for (j = 0; j < priority_cache->_cipher.num_priorities; j++) {
for (z = 0; z < priority_cache->_mac.num_priorities;
z++) {
- ce = cipher_suite_get(priority_cache->
- _kx.priorities[i],
- priority_cache->
- _cipher.priorities[j],
- priority_cache->
- _mac.priorities[z]);
+ ce = cipher_suite_get(
+ priority_cache->_kx.priorities[i],
+ priority_cache->_cipher.priorities[j],
+ priority_cache->_mac.priorities[z]);
if (ce == NULL)
continue;
@@ -2870,18 +2744,16 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
if (priority_cache->cs.size ==
MAX_CIPHERSUITE_SIZE)
continue;
- priority_cache->cs.entry[priority_cache->
- cs.size++] = ce;
- if (!have_ec
- && (_gnutls_kx_is_ecc(ce->kx_algorithm)
- ||
- _gnutls_kx_is_vko_gost
- (ce->kx_algorithm))) {
+ priority_cache->cs
+ .entry[priority_cache->cs.size++] = ce;
+ if (!have_ec &&
+ (_gnutls_kx_is_ecc(ce->kx_algorithm) ||
+ _gnutls_kx_is_vko_gost(ce->kx_algorithm))) {
have_ec = 1;
add_ec(priority_cache);
}
- if (!have_dh
- && _gnutls_kx_is_dhe(ce->kx_algorithm)) {
+ if (!have_dh &&
+ _gnutls_kx_is_dhe(ce->kx_algorithm)) {
have_dh = 1;
add_dh(priority_cache);
}
@@ -2894,8 +2766,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
for (i = 0; i < priority_cache->_supported_ecc.num_priorities;
i++) {
const gnutls_group_entry_st *ge;
- ge = _gnutls_id_to_group(priority_cache->
- _supported_ecc.priorities[i]);
+ ge = _gnutls_id_to_group(
+ priority_cache->_supported_ecc.priorities[i]);
if (ge) {
if (ge->curve && !have_ec) {
add_ec(priority_cache);
@@ -2909,36 +2781,36 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
break;
}
}
-
}
for (i = 0; i < priority_cache->_sign_algo.num_priorities; i++) {
- se = _gnutls_sign_to_entry(priority_cache->
- _sign_algo.priorities[i]);
- if (se != NULL
- && priority_cache->sigalg.size <
- sizeof(priority_cache->sigalg.entry) /
- sizeof(priority_cache->sigalg.entry[0])) {
+ se = _gnutls_sign_to_entry(
+ priority_cache->_sign_algo.priorities[i]);
+ if (se != NULL &&
+ priority_cache->sigalg.size <
+ sizeof(priority_cache->sigalg.entry) /
+ sizeof(priority_cache->sigalg.entry[0])) {
/* if the signature algorithm semantics is not
* compatible with the protocol's, or the algorithm is
* marked as insecure, then skip. */
if ((se->aid.tls_sem & tls_sig_sem) == 0 ||
- !_gnutls_sign_is_secure2(se,
- system_wide_config.allowlisting
- ?
- GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE
- : 0)) {
+ !_gnutls_sign_is_secure2(
+ se,
+ system_wide_config.allowlisting ?
+ GNUTLS_SIGN_FLAG_ALLOW_INSECURE_REVERTIBLE :
+ 0)) {
continue;
}
- priority_cache->sigalg.entry[priority_cache->
- sigalg.size++] = se;
+ priority_cache->sigalg
+ .entry[priority_cache->sigalg.size++] = se;
}
}
- _gnutls_debug_log
- ("added %d protocols, %d ciphersuites, %d sig algos and %d groups into priority list\n",
- priority_cache->protocol.num_priorities, priority_cache->cs.size,
- priority_cache->sigalg.size, priority_cache->groups.size);
+ _gnutls_debug_log(
+ "added %d protocols, %d ciphersuites, %d sig algos and %d groups into priority list\n",
+ priority_cache->protocol.num_priorities,
+ priority_cache->cs.size, priority_cache->sigalg.size,
+ priority_cache->groups.size);
if (priority_cache->sigalg.size == 0) {
/* no signature algorithms; eliminate TLS 1.2 or DTLS 1.2 and later */
@@ -2950,13 +2822,13 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
if (priority_cache->protocol.priorities[i] <
GNUTLS_TLS1_2) {
newp.priorities[newp.num_priorities++] =
- priority_cache->protocol.priorities[i];
+ priority_cache->protocol.priorities[i];
} else if (priority_cache->protocol.priorities[i] >=
- GNUTLS_DTLS_VERSION_MIN
- && priority_cache->protocol.priorities[i] <
- GNUTLS_DTLS1_2) {
+ GNUTLS_DTLS_VERSION_MIN &&
+ priority_cache->protocol.priorities[i] <
+ GNUTLS_DTLS1_2) {
newp.priorities[newp.num_priorities++] =
- priority_cache->protocol.priorities[i];
+ priority_cache->protocol.priorities[i];
}
}
memcpy(&priority_cache->protocol, &newp, sizeof(newp));
@@ -2967,9 +2839,9 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
goto out;
}
#ifndef ENABLE_SSL3
- else if (unlikely
- (priority_cache->protocol.num_priorities == 1
- && priority_cache->protocol.priorities[0] == GNUTLS_SSL3)) {
+ else if (unlikely(priority_cache->protocol.num_priorities == 1 &&
+ priority_cache->protocol.priorities[0] ==
+ GNUTLS_SSL3)) {
ret = gnutls_assert_val(GNUTLS_E_NO_PRIORITIES_WERE_SET);
goto out;
}
@@ -2984,20 +2856,17 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
* we require TLS1.2 to be enabled if TLS1.3 is asked for, and
* a pre-TLS1.2 protocol is there; that is because servers which
* do not support TLS1.3 will negotiate TLS1.2 if seen a TLS1.3 handshake */
- if (unlikely
- ((!have_psk && tlsmax && tlsmax->id >= GNUTLS_TLS1_3
- && priority_cache->groups.size == 0)) || (!have_tls12
- && have_pre_tls12
- && have_tls13)) {
+ if (unlikely((!have_psk && tlsmax && tlsmax->id >= GNUTLS_TLS1_3 &&
+ priority_cache->groups.size == 0)) ||
+ (!have_tls12 && have_pre_tls12 && have_tls13)) {
for (i = j = 0; i < priority_cache->protocol.num_priorities;
i++) {
- vers =
- version_to_entry(priority_cache->
- protocol.priorities[i]);
- if (!vers || vers->transport != GNUTLS_STREAM
- || !vers->tls13_sem)
+ vers = version_to_entry(
+ priority_cache->protocol.priorities[i]);
+ if (!vers || vers->transport != GNUTLS_STREAM ||
+ !vers->tls13_sem)
priority_cache->protocol.priorities[j++] =
- priority_cache->protocol.priorities[i];
+ priority_cache->protocol.priorities[i];
}
priority_cache->protocol.num_priorities = j;
}
@@ -3006,8 +2875,8 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
if (system_wide_config.verification_profile) {
gnutls_sec_param_t level = priority_cache->level;
gnutls_sec_param_t system_wide_level =
- _gnutls_profile_to_sec_level
- (system_wide_config.verification_profile);
+ _gnutls_profile_to_sec_level(
+ system_wide_config.verification_profile);
if (level < system_wide_level) {
ENABLE_PROFILE(priority_cache,
@@ -3015,7 +2884,7 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
}
}
- out:
+out:
(void)gnutls_rwlock_unlock(&system_wide_config_rwlock);
return ret;
}
@@ -3121,10 +2990,9 @@ static int set_ciphersuite_list(gnutls_priority_t priority_cache)
*
* Since: 3.6.3
**/
-int
-gnutls_priority_init2(gnutls_priority_t * priority_cache,
- const char *priorities, const char **err_pos,
- unsigned flags)
+int gnutls_priority_init2(gnutls_priority_t *priority_cache,
+ const char *priorities, const char **err_pos,
+ unsigned flags)
{
gnutls_buffer_st buf;
const char *ep;
@@ -3140,9 +3008,8 @@ gnutls_priority_init2(gnutls_priority_t * priority_cache,
_gnutls_buffer_init(&buf);
- ret =
- _gnutls_buffer_append_str(&buf,
- _gnutls_default_priority_string);
+ ret = _gnutls_buffer_append_str(
+ &buf, _gnutls_default_priority_string);
if (ret < 0) {
_gnutls_buffer_clear(&buf);
return gnutls_assert_val(ret);
@@ -3160,13 +3027,12 @@ gnutls_priority_init2(gnutls_priority_t * priority_cache,
return gnutls_assert_val(ret);
}
- ret =
- gnutls_priority_init(priority_cache, (const char *)buf.data,
- &ep);
+ ret = gnutls_priority_init(priority_cache,
+ (const char *)buf.data, &ep);
if (ret < 0 && ep != (const char *)buf.data && ep != NULL) {
ptrdiff_t diff = (ptrdiff_t)ep - (ptrdiff_t)buf.data;
unsigned hlen =
- strlen(_gnutls_default_priority_string) + 1;
+ strlen(_gnutls_default_priority_string) + 1;
if (err_pos && diff > hlen) {
*err_pos = priorities + diff - hlen;
@@ -3180,7 +3046,8 @@ gnutls_priority_init2(gnutls_priority_t * priority_cache,
}
}
-#define PRIO_MATCH(name) c_strncasecmp(&broken_list[i][1], name, sizeof(name) - 1)
+#define PRIO_MATCH(name) \
+ c_strncasecmp(&broken_list[i][1], name, sizeof(name) - 1)
/**
* gnutls_priority_init:
@@ -3202,9 +3069,8 @@ gnutls_priority_init2(gnutls_priority_t * priority_cache,
* Returns: On syntax error %GNUTLS_E_INVALID_REQUEST is returned,
* %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_priority_init(gnutls_priority_t * priority_cache,
- const char *priorities, const char **err_pos)
+int gnutls_priority_init(gnutls_priority_t *priority_cache,
+ const char *priorities, const char **err_pos)
{
char *broken_list[MAX_ELEMENTS];
int broken_list_size = 0, i = 0, j;
@@ -3280,13 +3146,13 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
}
for (; i < broken_list_size; i++) {
- if (check_level(broken_list[i], *priority_cache, ikeyword_set)
- != 0) {
+ if (check_level(broken_list[i], *priority_cache,
+ ikeyword_set) != 0) {
ikeyword_set = 1;
continue;
- } else if (broken_list[i][0] == '!'
- || broken_list[i][0] == '+'
- || broken_list[i][0] == '-') {
+ } else if (broken_list[i][0] == '!' ||
+ broken_list[i][0] == '+' ||
+ broken_list[i][0] == '-') {
if (broken_list[i][0] == '+') {
fn = prio_add;
bulk_fn = _add_priority;
@@ -3297,108 +3163,95 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
bulk_given_fn = _clear_given_priorities;
}
- if (broken_list[i][0] == '+'
- && check_level(&broken_list[i][1],
- *priority_cache, 1) != 0) {
+ if (broken_list[i][0] == '+' &&
+ check_level(&broken_list[i][1], *priority_cache,
+ 1) != 0) {
continue;
- } else if ((algo =
- gnutls_mac_get_id(&broken_list[i][1]))
- != GNUTLS_MAC_UNKNOWN) {
+ } else if ((algo = gnutls_mac_get_id(
+ &broken_list[i][1])) !=
+ GNUTLS_MAC_UNKNOWN) {
fn(&(*priority_cache)->_mac, algo);
- } else
- if ((centry =
- cipher_name_to_entry(&broken_list[i][1])) !=
- NULL) {
+ } else if ((centry = cipher_name_to_entry(
+ &broken_list[i][1])) != NULL) {
if (_gnutls_cipher_exists(centry->id)) {
fn(&(*priority_cache)->_cipher,
centry->id);
if (centry->type == CIPHER_BLOCK)
(*priority_cache)->have_cbc = 1;
}
- } else if ((algo =
- _gnutls_kx_get_id(&broken_list[i][1])) !=
+ } else if ((algo = _gnutls_kx_get_id(
+ &broken_list[i][1])) !=
GNUTLS_KX_UNKNOWN) {
if (algo != GNUTLS_KX_INVALID)
fn(&(*priority_cache)->_kx, algo);
} else if (PRIO_MATCH("VERS-") == 0) {
if (PRIO_MATCH("VERS-TLS-ALL") == 0) {
- bulk_given_fn(&
- (*priority_cache)->
- protocol,
- stream_protocol_priority);
+ bulk_given_fn(
+ &(*priority_cache)->protocol,
+ stream_protocol_priority);
} else if (PRIO_MATCH("VERS-DTLS-ALL") == 0) {
- bulk_given_fn(&
- (*priority_cache)->
- protocol,
- (bulk_given_fn ==
- _add_priority) ?
- dtls_protocol_priority :
- dgram_protocol_priority);
+ bulk_given_fn(
+ &(*priority_cache)->protocol,
+ (bulk_given_fn ==
+ _add_priority) ?
+ dtls_protocol_priority :
+ dgram_protocol_priority);
} else if (PRIO_MATCH("VERS-ALL") == 0) {
bulk_fn(&(*priority_cache)->protocol,
protocol_priority);
} else {
- if ((algo =
- gnutls_protocol_get_id
- (&broken_list[i][6])) !=
+ if ((algo = gnutls_protocol_get_id(
+ &broken_list[i][6])) !=
GNUTLS_VERSION_UNKNOWN) {
fn(&(*priority_cache)->protocol,
algo);
} else
goto error;
-
}
- } /* now check if the element is something like -ALGO */
+ } /* now check if the element is something like -ALGO */
else if (PRIO_MATCH("COMP-") == 0) {
/* ignore all compression methods */
continue;
- } /* now check if the element is something like -ALGO */
+ } /* now check if the element is something like -ALGO */
else if (PRIO_MATCH("CURVE-") == 0) {
if (PRIO_MATCH("CURVE-ALL") == 0) {
- bulk_fn(&
- (*priority_cache)->
- _supported_ecc,
+ bulk_fn(&(*priority_cache)
+ ->_supported_ecc,
supported_groups_normal);
} else {
- if ((algo =
- gnutls_ecc_curve_get_id
- (&broken_list[i][7])) !=
+ if ((algo = gnutls_ecc_curve_get_id(
+ &broken_list[i][7])) !=
GNUTLS_ECC_CURVE_INVALID)
- fn(&
- (*priority_cache)->
- _supported_ecc, algo);
+ fn(&(*priority_cache)
+ ->_supported_ecc,
+ algo);
else
goto error;
}
} else if (PRIO_MATCH("GROUP-") == 0) {
if (PRIO_MATCH("GROUP-ALL") == 0) {
- bulk_fn(&
- (*priority_cache)->
- _supported_ecc,
+ bulk_fn(&(*priority_cache)
+ ->_supported_ecc,
supported_groups_normal);
} else if (PRIO_MATCH("GROUP-DH-ALL") == 0) {
- bulk_given_fn(&
- (*priority_cache)->
- _supported_ecc,
+ bulk_given_fn(&(*priority_cache)
+ ->_supported_ecc,
_supported_groups_dh);
} else if (PRIO_MATCH("GROUP-EC-ALL") == 0) {
- bulk_given_fn(&
- (*priority_cache)->
- _supported_ecc,
+ bulk_given_fn(&(*priority_cache)
+ ->_supported_ecc,
_supported_groups_ecdh);
} else if (PRIO_MATCH("GROUP-GOST-ALL") == 0) {
- bulk_given_fn(&
- (*priority_cache)->
- _supported_ecc,
+ bulk_given_fn(&(*priority_cache)
+ ->_supported_ecc,
_supported_groups_gost);
} else {
- if ((algo =
- _gnutls_group_get_id
- (&broken_list[i][7])) !=
+ if ((algo = _gnutls_group_get_id(
+ &broken_list[i][7])) !=
GNUTLS_GROUP_INVALID)
- fn(&
- (*priority_cache)->
- _supported_ecc, algo);
+ fn(&(*priority_cache)
+ ->_supported_ecc,
+ algo);
else
goto error;
}
@@ -3406,27 +3259,24 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
// Certificate types
if (PRIO_MATCH("CTYPE-ALL") == 0) {
// Symmetric cert types, all types allowed
- bulk_fn(&
- (*priority_cache)->client_ctype,
+ bulk_fn(&(*priority_cache)->client_ctype,
cert_type_priority_all);
- bulk_fn(&
- (*priority_cache)->server_ctype,
+ bulk_fn(&(*priority_cache)->server_ctype,
cert_type_priority_all);
} else if (PRIO_MATCH("CTYPE-CLI-") == 0) {
// Client certificate types
if (PRIO_MATCH("CTYPE-CLI-ALL") == 0) {
// All client cert types allowed
- bulk_fn(&
- (*priority_cache)->client_ctype,
+ bulk_fn(&(*priority_cache)
+ ->client_ctype,
cert_type_priority_all);
- } else
- if ((algo =
- gnutls_certificate_type_get_id
- (&broken_list[i][11])) !=
- GNUTLS_CRT_UNKNOWN) {
+ } else if ((algo = gnutls_certificate_type_get_id(
+ &broken_list[i]
+ [11])) !=
+ GNUTLS_CRT_UNKNOWN) {
// Specific client cert type allowed
- fn(&
- (*priority_cache)->client_ctype,
+ fn(&(*priority_cache)
+ ->client_ctype,
algo);
} else
goto error;
@@ -3434,33 +3284,32 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
// Server certificate types
if (PRIO_MATCH("CTYPE-SRV-ALL") == 0) {
// All server cert types allowed
- bulk_fn(&
- (*priority_cache)->server_ctype,
+ bulk_fn(&(*priority_cache)
+ ->server_ctype,
cert_type_priority_all);
- } else
- if ((algo =
- gnutls_certificate_type_get_id
- (&broken_list[i][11])) !=
- GNUTLS_CRT_UNKNOWN) {
+ } else if ((algo = gnutls_certificate_type_get_id(
+ &broken_list[i]
+ [11])) !=
+ GNUTLS_CRT_UNKNOWN) {
// Specific server cert type allowed
- fn(&
- (*priority_cache)->server_ctype,
+ fn(&(*priority_cache)
+ ->server_ctype,
algo);
} else
goto error;
- } else { // Symmetric certificate type
- if ((algo =
- gnutls_certificate_type_get_id
- (&broken_list[i][7])) !=
+ } else { // Symmetric certificate type
+ if ((algo = gnutls_certificate_type_get_id(
+ &broken_list[i][7])) !=
GNUTLS_CRT_UNKNOWN) {
- fn(&
- (*priority_cache)->client_ctype,
+ fn(&(*priority_cache)
+ ->client_ctype,
algo);
- fn(&
- (*priority_cache)->server_ctype,
+ fn(&(*priority_cache)
+ ->server_ctype,
algo);
- } else if (PRIO_MATCH("CTYPE-OPENPGP")
- == 0) {
+ } else if (PRIO_MATCH(
+ "CTYPE-OPENPGP") ==
+ 0) {
/* legacy openpgp option - ignore */
continue;
} else
@@ -3474,13 +3323,12 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
bulk_fn(&(*priority_cache)->_sign_algo,
sign_priority_gost);
} else {
- if ((algo =
- gnutls_sign_get_id
- (&broken_list[i][6])) !=
+ if ((algo = gnutls_sign_get_id(
+ &broken_list[i][6])) !=
GNUTLS_SIGN_UNKNOWN)
- fn(&
- (*priority_cache)->
- _sign_algo, algo);
+ fn(&(*priority_cache)
+ ->_sign_algo,
+ algo);
else
goto error;
}
@@ -3509,9 +3357,9 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
kx_priority_gost);
}
} else if (PRIO_MATCH("GOST") == 0) {
- bulk_given_fn(&
- (*priority_cache)->_supported_ecc,
- _supported_groups_gost);
+ bulk_given_fn(
+ &(*priority_cache)->_supported_ecc,
+ _supported_groups_gost);
bulk_fn(&(*priority_cache)->_sign_algo,
sign_priority_gost);
bulk_fn(&(*priority_cache)->_mac,
@@ -3547,7 +3395,7 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
return 0;
- error:
+error:
if (err_pos != NULL && i < broken_list_size && resolved_match) {
*err_pos = priorities;
for (j = 0; j < i; j++) {
@@ -3556,7 +3404,7 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
}
ret = GNUTLS_E_INVALID_REQUEST;
- error_cleanup:
+error_cleanup:
gnutls_free(darg);
gnutls_priority_deinit(*priority_cache);
*priority_cache = NULL;
@@ -3609,9 +3457,8 @@ void gnutls_priority_deinit(gnutls_priority_t priority_cache)
* Returns: On syntax error %GNUTLS_E_INVALID_REQUEST is returned,
* %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int
-gnutls_priority_set_direct(gnutls_session_t session,
- const char *priorities, const char **err_pos)
+int gnutls_priority_set_direct(gnutls_session_t session, const char *priorities,
+ const char **err_pos)
{
gnutls_priority_t prio;
int ret;
@@ -3651,14 +3498,13 @@ static void break_list(char *list, char *broken_list[MAX_ELEMENTS], int *size)
p = strchr(p, ':');
if (p) {
*p = 0;
- p++; /* move to next entry and skip white
+ p++; /* move to next entry and skip white
* space.
*/
while (*p == ' ')
p++;
}
- }
- while (p != NULL && *size < MAX_ELEMENTS);
+ } while (p != NULL && *size < MAX_ELEMENTS);
}
/**
@@ -3723,9 +3569,8 @@ int gnutls_set_default_priority_append(gnutls_session_t session,
gnutls_priority_t prio;
int ret;
- ret =
- gnutls_priority_init2(&prio, add_prio, err_pos,
- GNUTLS_PRIORITY_INIT_DEF_APPEND);
+ ret = gnutls_priority_init2(&prio, add_prio, err_pos,
+ GNUTLS_PRIORITY_INIT_DEF_APPEND);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -3758,9 +3603,8 @@ int gnutls_set_default_priority_append(gnutls_session_t session,
*
* Since: 3.0
**/
-int
-gnutls_priority_ecc_curve_list(gnutls_priority_t pcache,
- const unsigned int **list)
+int gnutls_priority_ecc_curve_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
unsigned i;
@@ -3790,8 +3634,8 @@ gnutls_priority_ecc_curve_list(gnutls_priority_t pcache,
*
* Since: 3.6.0
**/
-int
-gnutls_priority_group_list(gnutls_priority_t pcache, const unsigned int **list)
+int gnutls_priority_group_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
if (pcache->_supported_ecc.num_priorities == 0)
return 0;
@@ -3831,8 +3675,8 @@ int gnutls_priority_kx_list(gnutls_priority_t pcache, const unsigned int **list)
* Returns: the number of items, or an error code.
* Since: 3.2.3
**/
-int
-gnutls_priority_cipher_list(gnutls_priority_t pcache, const unsigned int **list)
+int gnutls_priority_cipher_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
if (pcache->_cipher.num_priorities == 0)
return 0;
@@ -3852,8 +3696,8 @@ gnutls_priority_cipher_list(gnutls_priority_t pcache, const unsigned int **list)
* Returns: the number of items, or an error code.
* Since: 3.2.3
**/
-int
-gnutls_priority_mac_list(gnutls_priority_t pcache, const unsigned int **list)
+int gnutls_priority_mac_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
if (pcache->_mac.num_priorities == 0)
return 0;
@@ -3873,9 +3717,8 @@ gnutls_priority_mac_list(gnutls_priority_t pcache, const unsigned int **list)
* Returns: the number of methods, or an error code.
* Since: 3.0
**/
-int
-gnutls_priority_compression_list(gnutls_priority_t pcache,
- const unsigned int **list)
+int gnutls_priority_compression_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
static const unsigned int priority[1] = { GNUTLS_COMP_NULL };
@@ -3894,9 +3737,8 @@ gnutls_priority_compression_list(gnutls_priority_t pcache,
* Returns: the number of protocols, or an error code.
* Since: 3.0
**/
-int
-gnutls_priority_protocol_list(gnutls_priority_t pcache,
- const unsigned int **list)
+int gnutls_priority_protocol_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
if (pcache->protocol.num_priorities == 0)
return 0;
@@ -3916,8 +3758,8 @@ gnutls_priority_protocol_list(gnutls_priority_t pcache,
* Returns: the number of algorithms, or an error code.
* Since: 3.0
**/
-int
-gnutls_priority_sign_list(gnutls_priority_t pcache, const unsigned int **list)
+int gnutls_priority_sign_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
if (pcache->_sign_algo.num_priorities == 0)
return 0;
@@ -3943,13 +3785,12 @@ gnutls_priority_sign_list(gnutls_priority_t pcache, const unsigned int **list)
* Returns: the number of certificate types, or an error code.
* Since: 3.0
**/
-int
-gnutls_priority_certificate_type_list(gnutls_priority_t pcache,
- const unsigned int **list)
+int gnutls_priority_certificate_type_list(gnutls_priority_t pcache,
+ const unsigned int **list)
{
- gnutls_ctype_target_t target =
- pcache->server_precedence ? GNUTLS_CTYPE_SERVER :
- GNUTLS_CTYPE_CLIENT;
+ gnutls_ctype_target_t target = pcache->server_precedence ?
+ GNUTLS_CTYPE_SERVER :
+ GNUTLS_CTYPE_CLIENT;
return gnutls_priority_certificate_type_list2(pcache, list, target);
}
@@ -3968,10 +3809,9 @@ gnutls_priority_certificate_type_list(gnutls_priority_t pcache,
*
* Since: 3.6.4
**/
-int
-gnutls_priority_certificate_type_list2(gnutls_priority_t pcache,
- const unsigned int **list,
- gnutls_ctype_target_t target)
+int gnutls_priority_certificate_type_list2(gnutls_priority_t pcache,
+ const unsigned int **list,
+ gnutls_ctype_target_t target)
{
switch (target) {
case GNUTLS_CTYPE_CLIENT:
@@ -4040,7 +3880,7 @@ system_wide_config_is_malleable(void)
}
if (system_wide_config.priority_string) {
_gnutls_audit_log(NULL, "priority strings have already been "
- "initialized!\n");
+ "initialized!\n");
return false;
}
return true;
@@ -4173,9 +4013,8 @@ int gnutls_sign_set_secure(gnutls_sign_algorithm_t sign, unsigned int secure)
*
* Since: 3.7.3
*/
-int
-gnutls_sign_set_secure_for_certs(gnutls_sign_algorithm_t sign,
- unsigned int secure)
+int gnutls_sign_set_secure_for_certs(gnutls_sign_algorithm_t sign,
+ unsigned int secure)
{
#ifndef DISABLE_SYSTEM_CONFIG
int ret;
@@ -4231,9 +4070,9 @@ gnutls_sign_set_secure_for_certs(gnutls_sign_algorithm_t sign,
*
* Since: 3.7.3
*/
-int /* allowlisting-only */
- /* not thread-safe */ gnutls_protocol_set_enabled(gnutls_protocol_t version,
- unsigned int enabled)
+int /* allowlisting-only */
+/* not thread-safe */
+gnutls_protocol_set_enabled(gnutls_protocol_t version, unsigned int enabled)
{
#ifndef DISABLE_SYSTEM_CONFIG
int ret;
diff --git a/lib/privkey.c b/lib/privkey.c
index 7a5a38a58d..78774a1c17 100644
--- a/lib/privkey.c
+++ b/lib/privkey.c
@@ -39,12 +39,11 @@
#include "pkcs11_int.h"
#include <abstract_int.h>
-static int
-privkey_sign_prehashed(gnutls_privkey_t signer,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * hash_data,
- gnutls_datum_t * signature,
- gnutls_x509_spki_st * params);
+static int privkey_sign_prehashed(gnutls_privkey_t signer,
+ const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *signature,
+ gnutls_x509_spki_st *params);
/**
* gnutls_privkey_get_type:
@@ -80,7 +79,7 @@ gnutls_privkey_type_t gnutls_privkey_get_type(gnutls_privkey_t key)
* Since: 3.5.0
**/
int gnutls_privkey_get_seed(gnutls_privkey_t key,
- gnutls_digest_algorithm_t * digest, void *seed,
+ gnutls_digest_algorithm_t *digest, void *seed,
size_t *seed_size)
{
if (key->type != GNUTLS_PRIVKEY_X509)
@@ -151,12 +150,11 @@ int gnutls_privkey_get_pk_algorithm(gnutls_privkey_t key, unsigned int *bits)
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
-
}
-static int
-privkey_to_pubkey(gnutls_pk_algorithm_t pk,
- const gnutls_pk_params_st * priv, gnutls_pk_params_st * pub)
+static int privkey_to_pubkey(gnutls_pk_algorithm_t pk,
+ const gnutls_pk_params_st *priv,
+ gnutls_pk_params_st *pub)
{
int ret;
@@ -215,9 +213,8 @@ privkey_to_pubkey(gnutls_pk_algorithm_t pk,
case GNUTLS_PK_EDDSA_ED448:
case GNUTLS_PK_ECDH_X25519:
case GNUTLS_PK_ECDH_X448:
- ret =
- _gnutls_set_datum(&pub->raw_pub, priv->raw_pub.data,
- priv->raw_pub.size);
+ ret = _gnutls_set_datum(&pub->raw_pub, priv->raw_pub.data,
+ priv->raw_pub.size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -230,7 +227,8 @@ privkey_to_pubkey(gnutls_pk_algorithm_t pk,
pub->params_nr = GOST_PUBLIC_PARAMS;
- if (pub->params[GOST_X] == NULL || pub->params[GOST_Y] == NULL) {
+ if (pub->params[GOST_X] == NULL ||
+ pub->params[GOST_Y] == NULL) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
goto cleanup;
@@ -243,14 +241,14 @@ privkey_to_pubkey(gnutls_pk_algorithm_t pk,
}
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(pub);
return ret;
}
/* Returns the public key of the private key (if possible)
*/
-int _gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st * params)
+int _gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st *params)
{
int ret;
@@ -259,26 +257,23 @@ int _gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st * params)
ret = _gnutls_pk_params_copy(params, &key->key.x509->params);
break;
#ifdef ENABLE_PKCS11
- case GNUTLS_PRIVKEY_PKCS11:{
- gnutls_pubkey_t pubkey;
+ case GNUTLS_PRIVKEY_PKCS11: {
+ gnutls_pubkey_t pubkey;
- ret =
- _pkcs11_privkey_get_pubkey(key->key.pkcs11, &pubkey,
- 0);
- if (ret < 0)
- return gnutls_assert_val(ret);
+ ret = _pkcs11_privkey_get_pubkey(key->key.pkcs11, &pubkey, 0);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
- ret = _gnutls_pubkey_get_mpis(pubkey, params);
- gnutls_pubkey_deinit(pubkey);
+ ret = _gnutls_pubkey_get_mpis(pubkey, params);
+ gnutls_pubkey_deinit(pubkey);
- break;
- }
+ break;
+ }
#endif
default:
if (key->key.ext.pk_params_func) {
- ret = key->key.ext.pk_params_func(key,
- key->key.ext.userdata,
- params);
+ ret = key->key.ext.pk_params_func(
+ key, key->key.ext.userdata, params);
if (ret < 0)
return gnutls_assert_val(ret);
return ret;
@@ -290,9 +285,8 @@ int _gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st * params)
return ret;
}
-int
-_gnutls_privkey_get_public_mpis(gnutls_privkey_t key,
- gnutls_pk_params_st * params)
+int _gnutls_privkey_get_public_mpis(gnutls_privkey_t key,
+ gnutls_pk_params_st *params)
{
int ret;
gnutls_pk_params_st tmp1;
@@ -314,9 +308,8 @@ _gnutls_privkey_get_public_mpis(gnutls_privkey_t key,
}
/* This function retrieves default sign parameters from KEY. */
-int
-_gnutls_privkey_get_spki_params(gnutls_privkey_t key,
- gnutls_x509_spki_st * params)
+int _gnutls_privkey_get_spki_params(gnutls_privkey_t key,
+ gnutls_x509_spki_st *params)
{
switch (key->type) {
#ifdef ENABLE_PKCS11
@@ -345,11 +338,11 @@ _gnutls_privkey_get_spki_params(gnutls_privkey_t key,
* After calling this function the params structure will
* be initialized even if the original SubjectPublicKeyInfo was empty.
*/
-int
-_gnutls_privkey_update_spki_params(gnutls_privkey_t key,
- gnutls_pk_algorithm_t pk,
- gnutls_digest_algorithm_t dig,
- unsigned flags, gnutls_x509_spki_st * params)
+int _gnutls_privkey_update_spki_params(gnutls_privkey_t key,
+ gnutls_pk_algorithm_t pk,
+ gnutls_digest_algorithm_t dig,
+ unsigned flags,
+ gnutls_x509_spki_st *params)
{
unsigned salt_size = 0;
unsigned bits = 0;
@@ -379,11 +372,10 @@ _gnutls_privkey_update_spki_params(gnutls_privkey_t key,
if (params->pk == GNUTLS_PK_RSA)
salt_size = 0;
else if (params->pk == GNUTLS_PK_RSA_PSS) {
- if (params->rsa_pss_dig != GNUTLS_DIG_UNKNOWN
- && dig != params->rsa_pss_dig) {
- return
- gnutls_assert_val
- (GNUTLS_E_CONSTRAINT_ERROR);
+ if (params->rsa_pss_dig != GNUTLS_DIG_UNKNOWN &&
+ dig != params->rsa_pss_dig) {
+ return gnutls_assert_val(
+ GNUTLS_E_CONSTRAINT_ERROR);
}
salt_size = params->salt_size;
@@ -392,16 +384,14 @@ _gnutls_privkey_update_spki_params(gnutls_privkey_t key,
if (flags & GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE)
params->salt_size = 0;
else {
- ret =
- _gnutls_find_rsa_pss_salt_size(bits, me, salt_size);
+ ret = _gnutls_find_rsa_pss_salt_size(bits, me,
+ salt_size);
if (ret < 0)
return gnutls_assert_val(ret);
- if (flags &
- GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH
- && (size_t)ret != _gnutls_hash_get_algo_len(me)) {
- return
- gnutls_assert_val
- (GNUTLS_E_CONSTRAINT_ERROR);
+ if (flags & GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH &&
+ (size_t)ret != _gnutls_hash_get_algo_len(me)) {
+ return gnutls_assert_val(
+ GNUTLS_E_CONSTRAINT_ERROR);
}
params->salt_size = ret;
}
@@ -433,7 +423,7 @@ _gnutls_privkey_update_spki_params(gnutls_privkey_t key,
*
* Since: 2.12.0
**/
-int gnutls_privkey_init(gnutls_privkey_t * key)
+int gnutls_privkey_init(gnutls_privkey_t *key)
{
*key = NULL;
FAIL_IF_LIB_ERROR;
@@ -460,8 +450,8 @@ void gnutls_privkey_deinit(gnutls_privkey_t key)
if (key == NULL)
return;
- if (key->flags & GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE
- || key->flags & GNUTLS_PRIVKEY_IMPORT_COPY)
+ if (key->flags & GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE ||
+ key->flags & GNUTLS_PRIVKEY_IMPORT_COPY)
switch (key->type) {
#ifdef ENABLE_PKCS11
case GNUTLS_PRIVKEY_PKCS11:
@@ -523,9 +513,9 @@ static int check_if_clean(gnutls_privkey_t key)
*
* Since: 2.12.0
**/
-int
-gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,
- gnutls_pkcs11_privkey_t key, unsigned int flags)
+int gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,
+ gnutls_pkcs11_privkey_t key,
+ unsigned int flags)
{
int ret;
@@ -550,7 +540,7 @@ gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,
return 0;
}
-# if 0
+#if 0
/**
* gnutls_privkey_import_pkcs11_url:
* @key: A key of type #gnutls_pubkey_t
@@ -569,11 +559,10 @@ int gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char *url)
{
int x;
}
-# endif
+#endif
-static
-int _gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char *url,
- unsigned flags)
+static int _gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key,
+ const char *url, unsigned flags)
{
gnutls_pkcs11_privkey_t pkey;
int ret;
@@ -594,9 +583,8 @@ int _gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char *url,
goto cleanup;
}
- ret =
- gnutls_privkey_import_pkcs11(key, pkey,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_pkcs11(key, pkey,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -604,7 +592,7 @@ int _gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char *url,
return 0;
- cleanup:
+cleanup:
gnutls_pkcs11_privkey_deinit(pkey);
return ret;
@@ -625,9 +613,8 @@ int _gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char *url,
*
* Since: 3.4.0
*/
-int
-gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,
- gnutls_pkcs11_privkey_t * key)
+int gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,
+ gnutls_pkcs11_privkey_t *key)
{
int ret;
@@ -651,7 +638,7 @@ gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,
return 0;
}
-#endif /* ENABLE_PKCS11 */
+#endif /* ENABLE_PKCS11 */
/**
* gnutls_privkey_import_ext:
@@ -678,20 +665,19 @@ gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,
*
* Since: 3.0
**/
-int
-gnutls_privkey_import_ext(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t pk,
- void *userdata,
- gnutls_privkey_sign_func sign_func,
- gnutls_privkey_decrypt_func decrypt_func,
- unsigned int flags)
+int gnutls_privkey_import_ext(gnutls_privkey_t pkey, gnutls_pk_algorithm_t pk,
+ void *userdata,
+ gnutls_privkey_sign_func sign_func,
+ gnutls_privkey_decrypt_func decrypt_func,
+ unsigned int flags)
{
return gnutls_privkey_import_ext2(pkey, pk, userdata, sign_func,
decrypt_func, NULL, flags);
}
-#define PK_IS_OK_FOR_EXT2(pk) \
- ((pk == GNUTLS_PK_RSA) || (pk == GNUTLS_PK_ECDSA) || (pk == GNUTLS_PK_DSA))
+#define PK_IS_OK_FOR_EXT2(pk) \
+ ((pk == GNUTLS_PK_RSA) || (pk == GNUTLS_PK_ECDSA) || \
+ (pk == GNUTLS_PK_DSA))
/**
* gnutls_privkey_import_ext2:
@@ -720,14 +706,11 @@ gnutls_privkey_import_ext(gnutls_privkey_t pkey,
*
* Since: 3.1
**/
-int
-gnutls_privkey_import_ext2(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t pk,
- void *userdata,
- gnutls_privkey_sign_func sign_fn,
- gnutls_privkey_decrypt_func decrypt_fn,
- gnutls_privkey_deinit_func deinit_fn,
- unsigned int flags)
+int gnutls_privkey_import_ext2(gnutls_privkey_t pkey, gnutls_pk_algorithm_t pk,
+ void *userdata, gnutls_privkey_sign_func sign_fn,
+ gnutls_privkey_decrypt_func decrypt_fn,
+ gnutls_privkey_deinit_func deinit_fn,
+ unsigned int flags)
{
int ret;
@@ -787,13 +770,12 @@ gnutls_privkey_import_ext2(gnutls_privkey_t pkey,
*
* Since: 3.4.0
**/
-int
-gnutls_privkey_import_ext3(gnutls_privkey_t pkey,
- void *userdata,
- gnutls_privkey_sign_func sign_fn,
- gnutls_privkey_decrypt_func decrypt_fn,
- gnutls_privkey_deinit_func deinit_fn,
- gnutls_privkey_info_func info_fn, unsigned int flags)
+int gnutls_privkey_import_ext3(gnutls_privkey_t pkey, void *userdata,
+ gnutls_privkey_sign_func sign_fn,
+ gnutls_privkey_decrypt_func decrypt_fn,
+ gnutls_privkey_deinit_func deinit_fn,
+ gnutls_privkey_info_func info_fn,
+ unsigned int flags)
{
int ret;
@@ -817,9 +799,8 @@ gnutls_privkey_import_ext3(gnutls_privkey_t pkey,
pkey->type = GNUTLS_PRIVKEY_EXT;
pkey->flags = flags;
- pkey->pk_algorithm =
- pkey->key.ext.info_func(pkey, GNUTLS_PRIVKEY_INFO_PK_ALGO,
- pkey->key.ext.userdata);
+ pkey->pk_algorithm = pkey->key.ext.info_func(
+ pkey, GNUTLS_PRIVKEY_INFO_PK_ALGO, pkey->key.ext.userdata);
if (!PK_IS_OK_FOR_EXT2(pkey->pk_algorithm))
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -877,14 +858,13 @@ gnutls_privkey_import_ext3(gnutls_privkey_t pkey,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_import_ext4(gnutls_privkey_t pkey,
- void *userdata,
- gnutls_privkey_sign_data_func sign_data_fn,
- gnutls_privkey_sign_hash_func sign_hash_fn,
- gnutls_privkey_decrypt_func decrypt_fn,
- gnutls_privkey_deinit_func deinit_fn,
- gnutls_privkey_info_func info_fn, unsigned int flags)
+int gnutls_privkey_import_ext4(gnutls_privkey_t pkey, void *userdata,
+ gnutls_privkey_sign_data_func sign_data_fn,
+ gnutls_privkey_sign_hash_func sign_hash_fn,
+ gnutls_privkey_decrypt_func decrypt_fn,
+ gnutls_privkey_deinit_func deinit_fn,
+ gnutls_privkey_info_func info_fn,
+ unsigned int flags)
{
int ret;
@@ -909,13 +889,11 @@ gnutls_privkey_import_ext4(gnutls_privkey_t pkey,
pkey->type = GNUTLS_PRIVKEY_EXT;
pkey->flags = flags;
- pkey->pk_algorithm =
- pkey->key.ext.info_func(pkey, GNUTLS_PRIVKEY_INFO_PK_ALGO,
- pkey->key.ext.userdata);
+ pkey->pk_algorithm = pkey->key.ext.info_func(
+ pkey, GNUTLS_PRIVKEY_INFO_PK_ALGO, pkey->key.ext.userdata);
- ret =
- pkey->key.ext.info_func(pkey, GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS,
- pkey->key.ext.userdata);
+ ret = pkey->key.ext.info_func(pkey, GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS,
+ pkey->key.ext.userdata);
if (ret >= 0)
pkey->key.ext.bits = ret;
@@ -946,9 +924,8 @@ gnutls_privkey_import_ext4(gnutls_privkey_t pkey,
*
* Since: 2.12.0
**/
-int
-gnutls_privkey_import_x509(gnutls_privkey_t pkey,
- gnutls_x509_privkey_t key, unsigned int flags)
+int gnutls_privkey_import_x509(gnutls_privkey_t pkey, gnutls_x509_privkey_t key,
+ unsigned int flags)
{
int ret;
@@ -993,8 +970,8 @@ gnutls_privkey_import_x509(gnutls_privkey_t pkey,
*
* Since: 3.4.0
*/
-int
-gnutls_privkey_export_x509(gnutls_privkey_t pkey, gnutls_x509_privkey_t * key)
+int gnutls_privkey_export_x509(gnutls_privkey_t pkey,
+ gnutls_x509_privkey_t *key)
{
int ret;
@@ -1052,10 +1029,8 @@ gnutls_privkey_export_x509(gnutls_privkey_t pkey, gnutls_x509_privkey_t * key)
*
* Since: 3.3.0
**/
-int
-gnutls_privkey_generate(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags)
+int gnutls_privkey_generate(gnutls_privkey_t pkey, gnutls_pk_algorithm_t algo,
+ unsigned int bits, unsigned int flags)
{
return gnutls_privkey_generate2(pkey, algo, bits, flags, NULL, 0);
}
@@ -1100,11 +1075,10 @@ gnutls_privkey_generate(gnutls_privkey_t pkey,
*
* Since: 3.5.0
**/
-int
-gnutls_privkey_generate2(gnutls_privkey_t pkey,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags, const gnutls_keygen_data_st * data,
- unsigned data_size)
+int gnutls_privkey_generate2(gnutls_privkey_t pkey, gnutls_pk_algorithm_t algo,
+ unsigned int bits, unsigned int flags,
+ const gnutls_keygen_data_st *data,
+ unsigned data_size)
{
int ret;
@@ -1112,9 +1086,8 @@ gnutls_privkey_generate2(gnutls_privkey_t pkey,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_privkey_generate2(pkey->key.x509, algo, bits, flags,
- data, data_size);
+ ret = gnutls_x509_privkey_generate2(pkey->key.x509, algo, bits, flags,
+ data, data_size);
if (ret < 0) {
gnutls_x509_privkey_deinit(pkey->key.x509);
pkey->key.x509 = NULL;
@@ -1149,12 +1122,10 @@ gnutls_privkey_generate2(gnutls_privkey_t pkey,
*
* Since: 2.12.0
**/
-int
-gnutls_privkey_sign_data(gnutls_privkey_t signer,
- gnutls_digest_algorithm_t hash,
- unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature)
+int gnutls_privkey_sign_data(gnutls_privkey_t signer,
+ gnutls_digest_algorithm_t hash, unsigned int flags,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
int ret;
gnutls_x509_spki_st params;
@@ -1177,10 +1148,9 @@ gnutls_privkey_sign_data(gnutls_privkey_t signer,
FIX_SIGN_PARAMS(params, flags, hash);
- return privkey_sign_and_hash_data(signer,
- _gnutls_pk_to_sign_entry(params.pk,
- hash), data,
- signature, &params);
+ return privkey_sign_and_hash_data(
+ signer, _gnutls_pk_to_sign_entry(params.pk, hash), data,
+ signature, &params);
}
/**
@@ -1201,12 +1171,10 @@ gnutls_privkey_sign_data(gnutls_privkey_t signer,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_sign_data2(gnutls_privkey_t signer,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature)
+int gnutls_privkey_sign_data2(gnutls_privkey_t signer,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
int ret;
gnutls_x509_spki_st params;
@@ -1262,12 +1230,10 @@ gnutls_privkey_sign_data2(gnutls_privkey_t signer,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_sign_hash2(gnutls_privkey_t signer,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * hash_data,
- gnutls_datum_t * signature)
+int gnutls_privkey_sign_hash2(gnutls_privkey_t signer,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *signature)
{
int ret;
gnutls_x509_spki_st params;
@@ -1302,7 +1268,7 @@ gnutls_privkey_sign_hash2(gnutls_privkey_t signer,
ret = privkey_sign_prehashed(signer, se, hash_data, signature, &params);
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else {
@@ -1311,12 +1277,11 @@ gnutls_privkey_sign_hash2(gnutls_privkey_t signer,
return ret;
}
-int
-privkey_sign_and_hash_data(gnutls_privkey_t signer,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature,
- gnutls_x509_spki_st * params)
+int privkey_sign_and_hash_data(gnutls_privkey_t signer,
+ const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature,
+ gnutls_x509_spki_st *params)
{
int ret;
gnutls_datum_t digest;
@@ -1356,7 +1321,7 @@ privkey_sign_and_hash_data(gnutls_privkey_t signer,
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&digest);
return ret;
}
@@ -1389,12 +1354,11 @@ privkey_sign_and_hash_data(gnutls_privkey_t signer,
*
* Since: 2.12.0
**/
-int
-gnutls_privkey_sign_hash(gnutls_privkey_t signer,
- gnutls_digest_algorithm_t hash_algo,
- unsigned int flags,
- const gnutls_datum_t * hash_data,
- gnutls_datum_t * signature)
+int gnutls_privkey_sign_hash(gnutls_privkey_t signer,
+ gnutls_digest_algorithm_t hash_algo,
+ unsigned int flags,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *signature)
{
int ret;
gnutls_x509_spki_st params;
@@ -1416,13 +1380,13 @@ gnutls_privkey_sign_hash(gnutls_privkey_t signer,
/* legacy callers of this API could use a hash algorithm of 0 (unknown)
* to indicate raw hashing. As we now always want to know the signing
* algorithm involved, we try discovering the hash algorithm. */
- if (hash_algo == 0
- && (params.pk == GNUTLS_PK_DSA || params.pk == GNUTLS_PK_ECDSA)) {
+ if (hash_algo == 0 &&
+ (params.pk == GNUTLS_PK_DSA || params.pk == GNUTLS_PK_ECDSA)) {
hash_algo = _gnutls_hash_size_to_sha_hash(hash_data->size);
}
- if (params.pk == GNUTLS_PK_RSA
- && (flags & GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA)) {
+ if (params.pk == GNUTLS_PK_RSA &&
+ (flags & GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA)) {
/* the corresponding signature algorithm is SIGN_RSA_RAW,
* irrespective of hash algorithm. */
se = _gnutls_sign_to_entry(GNUTLS_SIGN_RSA_RAW);
@@ -1438,7 +1402,7 @@ gnutls_privkey_sign_hash(gnutls_privkey_t signer,
FIX_SIGN_PARAMS(params, flags, hash_algo);
ret = privkey_sign_prehashed(signer, se, hash_data, signature, &params);
- cleanup:
+cleanup:
if (ret < 0) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else {
@@ -1447,11 +1411,11 @@ gnutls_privkey_sign_hash(gnutls_privkey_t signer,
return ret;
}
-static int
-privkey_sign_prehashed(gnutls_privkey_t signer,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * hash_data,
- gnutls_datum_t * signature, gnutls_x509_spki_st * params)
+static int privkey_sign_prehashed(gnutls_privkey_t signer,
+ const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *signature,
+ gnutls_x509_spki_st *params)
{
int ret;
gnutls_datum_t digest;
@@ -1460,8 +1424,8 @@ privkey_sign_prehashed(gnutls_privkey_t signer,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
if (se->id == GNUTLS_SIGN_RSA_RAW) {
- return privkey_sign_raw_data(signer,
- se, hash_data, signature, params);
+ return privkey_sign_raw_data(signer, se, hash_data, signature,
+ params);
}
if (_gnutls_pk_is_not_prehashed(signer->pk_algorithm)) {
@@ -1490,7 +1454,7 @@ privkey_sign_prehashed(gnutls_privkey_t signer,
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&digest);
return ret;
}
@@ -1517,11 +1481,9 @@ privkey_sign_prehashed(gnutls_privkey_t signer,
*
* Since: 3.1.10
-*/
-int
-privkey_sign_raw_data(gnutls_privkey_t key,
- const gnutls_sign_entry_st * se,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature, gnutls_x509_spki_st * params)
+int privkey_sign_raw_data(gnutls_privkey_t key, const gnutls_sign_entry_st *se,
+ const gnutls_datum_t *data, gnutls_datum_t *signature,
+ gnutls_x509_spki_st *params)
{
if (unlikely(se == NULL))
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -1529,8 +1491,8 @@ privkey_sign_raw_data(gnutls_privkey_t key,
switch (key->type) {
#ifdef ENABLE_PKCS11
case GNUTLS_PRIVKEY_PKCS11:
- return _gnutls_pkcs11_privkey_sign(key->key.pkcs11, se,
- data, signature, params);
+ return _gnutls_pkcs11_privkey_sign(key->key.pkcs11, se, data,
+ signature, params);
#endif
case GNUTLS_PRIVKEY_X509:
return _gnutls_pk_sign(se->pk, signature, data,
@@ -1543,13 +1505,12 @@ privkey_sign_raw_data(gnutls_privkey_t key,
if (_gnutls_pk_is_not_prehashed(se->pk)) {
if (!key->key.ext.sign_data_func)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
- return key->key.ext.sign_data_func(key, se->id,
- key->key.
- ext.userdata, 0,
- data, signature);
+ return key->key.ext.sign_data_func(
+ key, se->id, key->key.ext.userdata, 0, data,
+ signature);
} else if (key->key.ext.sign_hash_func) {
if (se->pk == GNUTLS_PK_RSA) {
se = _gnutls_sign_to_entry(GNUTLS_SIGN_RSA_RAW);
@@ -1557,18 +1518,16 @@ privkey_sign_raw_data(gnutls_privkey_t key,
}
/* se may not be set here if we are doing legacy RSA */
- return key->key.ext.sign_hash_func(key, se->id,
- key->key.
- ext.userdata, 0,
- data, signature);
+ return key->key.ext.sign_hash_func(
+ key, se->id, key->key.ext.userdata, 0, data,
+ signature);
} else {
if (!PK_IS_OK_FOR_EXT2(se->pk))
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
- return key->key.ext.sign_func(key,
- key->key.ext.userdata,
- data, signature);
+ return key->key.ext.sign_func(
+ key, key->key.ext.userdata, data, signature);
}
default:
gnutls_assert();
@@ -1591,11 +1550,9 @@ privkey_sign_raw_data(gnutls_privkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_privkey_decrypt_data(gnutls_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- gnutls_datum_t * plaintext)
+int gnutls_privkey_decrypt_data(gnutls_privkey_t key, unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext)
{
switch (key->type) {
case GNUTLS_PRIVKEY_X509:
@@ -1603,17 +1560,14 @@ gnutls_privkey_decrypt_data(gnutls_privkey_t key,
ciphertext, &key->key.x509->params);
#ifdef ENABLE_PKCS11
case GNUTLS_PRIVKEY_PKCS11:
- return _gnutls_pkcs11_privkey_decrypt_data(key->key.pkcs11,
- flags,
- ciphertext,
- plaintext);
+ return _gnutls_pkcs11_privkey_decrypt_data(
+ key->key.pkcs11, flags, ciphertext, plaintext);
#endif
case GNUTLS_PRIVKEY_EXT:
if (key->key.ext.decrypt_func == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- return key->key.ext.decrypt_func(key,
- key->key.ext.userdata,
+ return key->key.ext.decrypt_func(key, key->key.ext.userdata,
ciphertext, plaintext);
default:
gnutls_assert();
@@ -1639,11 +1593,10 @@ gnutls_privkey_decrypt_data(gnutls_privkey_t key,
* Since: 3.6.5
**/
-int
-gnutls_privkey_decrypt_data2(gnutls_privkey_t key,
- unsigned int flags,
- const gnutls_datum_t * ciphertext,
- unsigned char *plaintext, size_t plaintext_size)
+int gnutls_privkey_decrypt_data2(gnutls_privkey_t key, unsigned int flags,
+ const gnutls_datum_t *ciphertext,
+ unsigned char *plaintext,
+ size_t plaintext_size)
{
/* Note: except for the backwards compatibility function, no
* conditional code should be called after the decryption
@@ -1656,8 +1609,7 @@ gnutls_privkey_decrypt_data2(gnutls_privkey_t key,
key->key.ext.decrypt_func != NULL) {
gnutls_datum_t plain;
int ret;
- ret = key->key.ext.decrypt_func(key,
- key->key.ext.userdata,
+ ret = key->key.ext.decrypt_func(key, key->key.ext.userdata,
ciphertext, &plain);
if (plain.size != plaintext_size) {
ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -1676,8 +1628,7 @@ gnutls_privkey_decrypt_data2(gnutls_privkey_t key,
#ifdef ENABLE_PKCS11
case GNUTLS_PRIVKEY_PKCS11:
return _gnutls_pkcs11_privkey_decrypt_data2(key->key.pkcs11,
- flags,
- ciphertext,
+ flags, ciphertext,
plaintext,
plaintext_size);
#endif
@@ -1685,8 +1636,7 @@ gnutls_privkey_decrypt_data2(gnutls_privkey_t key,
if (key->key.ext.decrypt_func2 == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- return key->key.ext.decrypt_func2(key,
- key->key.ext.userdata,
+ return key->key.ext.decrypt_func2(key, key->key.ext.userdata,
ciphertext, plaintext,
plaintext_size);
default:
@@ -1715,7 +1665,7 @@ gnutls_privkey_decrypt_data2(gnutls_privkey_t key,
* Since: 3.1.0
**/
int gnutls_privkey_import_x509_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
const char *password, unsigned int flags)
{
@@ -1748,9 +1698,8 @@ int gnutls_privkey_import_x509_raw(gnutls_privkey_t pkey,
goto cleanup;
}
- ret =
- gnutls_privkey_import_x509(pkey, xpriv,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_x509(pkey, xpriv,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1758,7 +1707,7 @@ int gnutls_privkey_import_x509_raw(gnutls_privkey_t pkey,
return 0;
- cleanup:
+cleanup:
gnutls_x509_privkey_deinit(xpriv);
return ret;
@@ -1779,21 +1728,18 @@ int gnutls_privkey_import_x509_raw(gnutls_privkey_t pkey,
*
* Since: 3.1.0
**/
-int
-gnutls_privkey_import_url(gnutls_privkey_t key, const char *url,
- unsigned int flags)
+int gnutls_privkey_import_url(gnutls_privkey_t key, const char *url,
+ unsigned int flags)
{
unsigned i;
int ret;
for (i = 0; i < _gnutls_custom_urls_size; i++) {
- if (strncmp
- (url, _gnutls_custom_urls[i].name,
- _gnutls_custom_urls[i].name_size) == 0) {
+ if (strncmp(url, _gnutls_custom_urls[i].name,
+ _gnutls_custom_urls[i].name_size) == 0) {
if (_gnutls_custom_urls[i].import_key) {
- ret =
- _gnutls_custom_urls[i].import_key(key, url,
- flags);
+ ret = _gnutls_custom_urls[i].import_key(
+ key, url, flags);
goto cleanup;
}
break;
@@ -1824,7 +1770,7 @@ gnutls_privkey_import_url(gnutls_privkey_t key, const char *url,
}
ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- cleanup:
+cleanup:
return ret;
}
@@ -1945,9 +1891,8 @@ int gnutls_privkey_verify_params(gnutls_privkey_t key)
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_get_spki(gnutls_privkey_t privkey, gnutls_x509_spki_t spki,
- unsigned int flags)
+int gnutls_privkey_get_spki(gnutls_privkey_t privkey, gnutls_x509_spki_t spki,
+ unsigned int flags)
{
gnutls_x509_spki_t p = &privkey->key.x509->params.spki;
@@ -1978,9 +1923,8 @@ gnutls_privkey_get_spki(gnutls_privkey_t privkey, gnutls_x509_spki_t spki,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_set_spki(gnutls_privkey_t privkey, const gnutls_x509_spki_t spki,
- unsigned int flags)
+int gnutls_privkey_set_spki(gnutls_privkey_t privkey,
+ const gnutls_x509_spki_t spki, unsigned int flags)
{
if (privkey == NULL || privkey->type != GNUTLS_PRIVKEY_X509) {
gnutls_assert();
@@ -2011,12 +1955,14 @@ unsigned _gnutls_privkey_compatible_with_sig(gnutls_privkey_t privkey,
* negotiating RSA-PSS sig.
*/
- if (se->pk != privkey->pk_algorithm) { /* if the PK algorithm of the signature differs to the one on the pubkey */
- if (!sign_supports_priv_pk_algorithm(se, privkey->pk_algorithm)) {
- _gnutls_handshake_log
- ("cannot use privkey of %s with %s\n",
- gnutls_pk_get_name(privkey->pk_algorithm),
- se->name);
+ if (se->pk !=
+ privkey->pk_algorithm) { /* if the PK algorithm of the signature differs to the one on the pubkey */
+ if (!sign_supports_priv_pk_algorithm(se,
+ privkey->pk_algorithm)) {
+ _gnutls_handshake_log(
+ "cannot use privkey of %s with %s\n",
+ gnutls_pk_get_name(privkey->pk_algorithm),
+ se->name);
return 0;
}
}
@@ -2025,21 +1971,18 @@ unsigned _gnutls_privkey_compatible_with_sig(gnutls_privkey_t privkey,
if (privkey->key.ext.info_func) {
int ret;
- ret = privkey->key.ext.info_func(privkey,
- GNUTLS_SIGN_ALGO_TO_FLAGS
- (sign) |
- GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO,
- privkey->key.
- ext.userdata);
+ ret = privkey->key.ext.info_func(
+ privkey,
+ GNUTLS_SIGN_ALGO_TO_FLAGS(sign) |
+ GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO,
+ privkey->key.ext.userdata);
if (ret != -1)
return ret;
/* use the old flag */
- ret =
- privkey->key.ext.info_func(privkey,
- GNUTLS_PRIVKEY_INFO_SIGN_ALGO,
- privkey->key.
- ext.userdata);
+ ret = privkey->key.ext.info_func(
+ privkey, GNUTLS_PRIVKEY_INFO_SIGN_ALGO,
+ privkey->key.ext.userdata);
if (ret == (int)sign)
return 1;
}
@@ -2050,8 +1993,8 @@ unsigned _gnutls_privkey_compatible_with_sig(gnutls_privkey_t privkey,
}
#ifdef ENABLE_PKCS11
else if (privkey->type == GNUTLS_PRIVKEY_PKCS11) {
- if (privkey->pk_algorithm == GNUTLS_PK_RSA
- && se->pk == GNUTLS_PK_RSA_PSS) {
+ if (privkey->pk_algorithm == GNUTLS_PK_RSA &&
+ se->pk == GNUTLS_PK_RSA_PSS) {
if (!privkey->key.pkcs11->rsa_pss_ok)
return 0;
}
diff --git a/lib/privkey_raw.c b/lib/privkey_raw.c
index 695dc2fcdd..e9ea8ad881 100644
--- a/lib/privkey_raw.c
+++ b/lib/privkey_raw.c
@@ -53,12 +53,11 @@
*
* Since: 3.3.0
**/
-int
-gnutls_privkey_export_rsa_raw(gnutls_privkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1, gnutls_datum_t * e2)
+int gnutls_privkey_export_rsa_raw(gnutls_privkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e, gnutls_datum_t *d,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u, gnutls_datum_t *e1,
+ gnutls_datum_t *e2)
{
return gnutls_privkey_export_rsa_raw2(key, m, e, d, p, q, u, e1, e2, 0);
}
@@ -84,13 +83,11 @@ gnutls_privkey_export_rsa_raw(gnutls_privkey_t key,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1,
- gnutls_datum_t * e2, unsigned int flags)
+int gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e, gnutls_datum_t *d,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u, gnutls_datum_t *e1,
+ gnutls_datum_t *e2, unsigned int flags)
{
gnutls_pk_params_st params;
int ret;
@@ -106,9 +103,8 @@ gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_params_get_rsa_raw(&params, m, e, d, p, q, u, e1, e2,
- flags);
+ ret = _gnutls_params_get_rsa_raw(&params, m, e, d, p, q, u, e1, e2,
+ flags);
gnutls_pk_params_release(&params);
@@ -132,11 +128,9 @@ gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key,
*
* Since: 3.3.0
**/
-int
-gnutls_privkey_export_dsa_raw(gnutls_privkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x)
+int gnutls_privkey_export_dsa_raw(gnutls_privkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y, gnutls_datum_t *x)
{
return gnutls_privkey_export_dsa_raw2(key, p, q, g, y, x, 0);
}
@@ -159,11 +153,10 @@ gnutls_privkey_export_dsa_raw(gnutls_privkey_t key,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_export_dsa_raw2(gnutls_privkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x, unsigned int flags)
+int gnutls_privkey_export_dsa_raw2(gnutls_privkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y, gnutls_datum_t *x,
+ unsigned int flags)
{
gnutls_pk_params_st params;
int ret;
@@ -205,11 +198,9 @@ gnutls_privkey_export_dsa_raw2(gnutls_privkey_t key,
*
* Since: 3.3.0
**/
-int
-gnutls_privkey_export_ecc_raw(gnutls_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * k)
+int gnutls_privkey_export_ecc_raw(gnutls_privkey_t key,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k)
{
return gnutls_privkey_export_ecc_raw2(key, curve, x, y, k, 0);
}
@@ -234,12 +225,10 @@ gnutls_privkey_export_ecc_raw(gnutls_privkey_t key,
*
* Since: 3.6.0
**/
-int
-gnutls_privkey_export_ecc_raw2(gnutls_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned int flags)
+int gnutls_privkey_export_ecc_raw2(gnutls_privkey_t key,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k,
+ unsigned int flags)
{
gnutls_pk_params_st params;
int ret;
@@ -284,14 +273,12 @@ gnutls_privkey_export_ecc_raw2(gnutls_privkey_t key,
*
* Since: 3.6.3
**/
-int
-gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x,
- gnutls_datum_t * y,
- gnutls_datum_t * k, unsigned int flags)
+int gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k, unsigned int flags)
{
gnutls_pk_params_st params;
int ret;
@@ -307,8 +294,8 @@ gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_params_get_gost_raw(&params, curve, digest, paramset,
- x, y, k, flags);
+ ret = _gnutls_params_get_gost_raw(&params, curve, digest, paramset, x,
+ y, k, flags);
gnutls_pk_params_release(&params);
@@ -334,16 +321,11 @@ gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_privkey_import_rsa_raw(gnutls_privkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e,
- const gnutls_datum_t * d,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * u,
- const gnutls_datum_t * e1,
- const gnutls_datum_t * e2)
+int gnutls_privkey_import_rsa_raw(
+ gnutls_privkey_t key, const gnutls_datum_t *m, const gnutls_datum_t *e,
+ const gnutls_datum_t *d, const gnutls_datum_t *p,
+ const gnutls_datum_t *q, const gnutls_datum_t *u,
+ const gnutls_datum_t *e1, const gnutls_datum_t *e2)
{
int ret;
gnutls_x509_privkey_t xkey;
@@ -352,16 +334,15 @@ gnutls_privkey_import_rsa_raw(gnutls_privkey_t key,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_privkey_import_rsa_raw2(xkey, m, e, d, p, q, u, e1, e1);
+ ret = gnutls_x509_privkey_import_rsa_raw2(xkey, m, e, d, p, q, u, e1,
+ e1);
if (ret < 0) {
gnutls_assert();
goto error;
}
- ret =
- gnutls_privkey_import_x509(key, xkey,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_x509(key, xkey,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -369,7 +350,7 @@ gnutls_privkey_import_rsa_raw(gnutls_privkey_t key,
return 0;
- error:
+error:
gnutls_x509_privkey_deinit(xkey);
return ret;
}
@@ -390,13 +371,11 @@ gnutls_privkey_import_rsa_raw(gnutls_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_privkey_import_dsa_raw(gnutls_privkey_t key,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * g,
- const gnutls_datum_t * y,
- const gnutls_datum_t * x)
+int gnutls_privkey_import_dsa_raw(gnutls_privkey_t key, const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *g,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *x)
{
int ret;
gnutls_x509_privkey_t xkey;
@@ -411,9 +390,8 @@ gnutls_privkey_import_dsa_raw(gnutls_privkey_t key,
goto error;
}
- ret =
- gnutls_privkey_import_x509(key, xkey,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_x509(key, xkey,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -421,7 +399,7 @@ gnutls_privkey_import_dsa_raw(gnutls_privkey_t key,
return 0;
- error:
+error:
gnutls_x509_privkey_deinit(xkey);
return ret;
}
@@ -446,12 +424,11 @@ gnutls_privkey_import_dsa_raw(gnutls_privkey_t key,
*
* Since: 3.0
**/
-int
-gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,
- gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k)
+int gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,
+ gnutls_ecc_curve_t curve,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k)
{
int ret;
gnutls_x509_privkey_t xkey;
@@ -466,9 +443,8 @@ gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,
goto error;
}
- ret =
- gnutls_privkey_import_x509(key, xkey,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_x509(key, xkey,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -476,7 +452,7 @@ gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,
return 0;
- error:
+error:
gnutls_x509_privkey_deinit(xkey);
return ret;
}
@@ -506,14 +482,13 @@ gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,
*
* Since: 3.6.3
**/
-int
-gnutls_privkey_import_gost_raw(gnutls_privkey_t key,
- gnutls_ecc_curve_t curve,
- gnutls_digest_algorithm_t digest,
- gnutls_gost_paramset_t paramset,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k)
+int gnutls_privkey_import_gost_raw(gnutls_privkey_t key,
+ gnutls_ecc_curve_t curve,
+ gnutls_digest_algorithm_t digest,
+ gnutls_gost_paramset_t paramset,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k)
{
int ret;
gnutls_x509_privkey_t xkey;
@@ -522,17 +497,15 @@ gnutls_privkey_import_gost_raw(gnutls_privkey_t key,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_privkey_import_gost_raw(xkey, curve, digest, paramset,
- x, y, k);
+ ret = gnutls_x509_privkey_import_gost_raw(xkey, curve, digest, paramset,
+ x, y, k);
if (ret < 0) {
gnutls_assert();
goto error;
}
- ret =
- gnutls_privkey_import_x509(key, xkey,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_x509(key, xkey,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -540,7 +513,7 @@ gnutls_privkey_import_gost_raw(gnutls_privkey_t key,
return 0;
- error:
+error:
gnutls_x509_privkey_deinit(xkey);
return ret;
}
diff --git a/lib/profiles.c b/lib/profiles.c
index 199020345b..459d7a662c 100644
--- a/lib/profiles.c
+++ b/lib/profiles.c
@@ -34,16 +34,16 @@ typedef struct {
} gnutls_profile_entry;
static const gnutls_profile_entry profiles[] = {
- {"Very weak", GNUTLS_PROFILE_VERY_WEAK, GNUTLS_SEC_PARAM_VERY_WEAK},
- {"Low", GNUTLS_PROFILE_LOW, GNUTLS_SEC_PARAM_LOW},
- {"Legacy", GNUTLS_PROFILE_LEGACY, GNUTLS_SEC_PARAM_LEGACY},
- {"Medium", GNUTLS_PROFILE_MEDIUM, GNUTLS_SEC_PARAM_MEDIUM},
- {"High", GNUTLS_PROFILE_HIGH, GNUTLS_SEC_PARAM_HIGH},
- {"Ultra", GNUTLS_PROFILE_ULTRA, GNUTLS_SEC_PARAM_ULTRA},
- {"Future", GNUTLS_PROFILE_FUTURE, GNUTLS_SEC_PARAM_FUTURE},
- {"SuiteB128", GNUTLS_PROFILE_SUITEB128, GNUTLS_SEC_PARAM_HIGH},
- {"SuiteB192", GNUTLS_PROFILE_SUITEB192, GNUTLS_SEC_PARAM_ULTRA},
- {NULL, 0, 0}
+ { "Very weak", GNUTLS_PROFILE_VERY_WEAK, GNUTLS_SEC_PARAM_VERY_WEAK },
+ { "Low", GNUTLS_PROFILE_LOW, GNUTLS_SEC_PARAM_LOW },
+ { "Legacy", GNUTLS_PROFILE_LEGACY, GNUTLS_SEC_PARAM_LEGACY },
+ { "Medium", GNUTLS_PROFILE_MEDIUM, GNUTLS_SEC_PARAM_MEDIUM },
+ { "High", GNUTLS_PROFILE_HIGH, GNUTLS_SEC_PARAM_HIGH },
+ { "Ultra", GNUTLS_PROFILE_ULTRA, GNUTLS_SEC_PARAM_ULTRA },
+ { "Future", GNUTLS_PROFILE_FUTURE, GNUTLS_SEC_PARAM_FUTURE },
+ { "SuiteB128", GNUTLS_PROFILE_SUITEB128, GNUTLS_SEC_PARAM_HIGH },
+ { "SuiteB192", GNUTLS_PROFILE_SUITEB192, GNUTLS_SEC_PARAM_ULTRA },
+ { NULL, 0, 0 }
};
gnutls_sec_param_t
@@ -93,9 +93,9 @@ gnutls_certificate_verification_profile_get_id(const char *name)
*
* Returns: a string that contains the name of the specified profile or %NULL.
**/
-const char
-*gnutls_certificate_verification_profile_get_name
- (gnutls_certificate_verification_profiles_t id) {
+const char *gnutls_certificate_verification_profile_get_name(
+ gnutls_certificate_verification_profiles_t id)
+{
const gnutls_profile_entry *p;
for (p = profiles; p->name != NULL; p++) {
diff --git a/lib/profiles.h b/lib/profiles.h
index b5c0ca6182..0a7920dc75 100644
--- a/lib/profiles.h
+++ b/lib/profiles.h
@@ -21,16 +21,15 @@
*/
#ifndef GNUTLS_LIB_PROFILES_H
-# define GNUTLS_LIB_PROFILES_H
+#define GNUTLS_LIB_PROFILES_H
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
-gnutls_sec_param_t
-_gnutls_profile_to_sec_level(gnutls_certificate_verification_profiles_t profile)
-__GNUTLS_PURE__;
+gnutls_sec_param_t _gnutls_profile_to_sec_level(
+ gnutls_certificate_verification_profiles_t profile) __GNUTLS_PURE__;
gnutls_certificate_verification_profiles_t
_gnutls_get_system_wide_verification_profile(void);
-#endif /* GNUTLS_LIB_PROFILES_H */
+#endif /* GNUTLS_LIB_PROFILES_H */
diff --git a/lib/psk.c b/lib/psk.c
index 2524a8ecb2..ac8c7751ce 100644
--- a/lib/psk.c
+++ b/lib/psk.c
@@ -30,12 +30,12 @@
#ifdef ENABLE_PSK
-# include <auth/psk_passwd.h>
-# include <num.h>
-# include <file.h>
-# include <datum.h>
-# include "debug.h"
-# include "dh.h"
+#include <auth/psk_passwd.h>
+#include <num.h>
+#include <file.h>
+#include <datum.h>
+#include "debug.h"
+#include "dh.h"
/**
* gnutls_psk_free_client_credentials:
@@ -59,7 +59,7 @@ void gnutls_psk_free_client_credentials(gnutls_psk_client_credentials_t sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t * sc)
+int gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t *sc)
{
*sc = gnutls_calloc(1, sizeof(psk_client_credentials_st));
@@ -89,11 +89,10 @@ int gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t * sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_psk_set_client_credentials(gnutls_psk_client_credentials_t res,
- const char *username,
- const gnutls_datum_t * key,
- gnutls_psk_key_flags flags)
+int gnutls_psk_set_client_credentials(gnutls_psk_client_credentials_t res,
+ const char *username,
+ const gnutls_datum_t *key,
+ gnutls_psk_key_flags flags)
{
gnutls_datum_t dat;
@@ -120,16 +119,15 @@ gnutls_psk_set_client_credentials(gnutls_psk_client_credentials_t res,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
*/
-int
-gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t res,
- const gnutls_datum_t * username,
- const gnutls_datum_t * key,
- gnutls_psk_key_flags flags)
+int gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t res,
+ const gnutls_datum_t *username,
+ const gnutls_datum_t *key,
+ gnutls_psk_key_flags flags)
{
int ret;
- if (username == NULL || username->data == NULL || key == NULL
- || key->data == NULL) {
+ if (username == NULL || username->data == NULL || key == NULL ||
+ key->data == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
@@ -144,7 +142,7 @@ gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t res,
ret = GNUTLS_E_MEMORY_ERROR;
goto error;
}
- } else { /* HEX key */
+ } else { /* HEX key */
size_t size;
size = res->key.size = key->size / 2;
res->key.data = gnutls_malloc(size);
@@ -157,7 +155,6 @@ gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t res,
ret = gnutls_hex_decode(key, (char *)res->key.data, &size);
res->key.size = (unsigned int)size;
if (ret < 0) {
-
gnutls_assert();
goto error;
}
@@ -171,7 +168,7 @@ gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t res,
return 0;
- error:
+error:
_gnutls_free_datum(&res->username);
_gnutls_free_datum(&res->key);
@@ -204,7 +201,7 @@ void gnutls_psk_free_server_credentials(gnutls_psk_server_credentials_t sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t * sc)
+int gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t *sc)
{
*sc = gnutls_calloc(1, sizeof(psk_server_cred_st));
@@ -233,11 +230,9 @@ int gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t * sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t
- res, const char *password_file)
+int gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t res,
+ const char *password_file)
{
-
if (password_file == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -273,9 +268,8 @@ gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t
*
* Since: 2.4.0
**/
-int
-gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t res,
- const char *hint)
+int gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t res,
+ const char *hint)
{
res->hint = gnutls_strdup(hint);
if (res->hint == NULL) {
@@ -287,11 +281,12 @@ gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t res,
}
static int call_server_callback_legacy(gnutls_session_t session,
- const gnutls_datum_t * username,
- gnutls_datum_t * key)
+ const gnutls_datum_t *username,
+ gnutls_datum_t *key)
{
- gnutls_psk_server_credentials_t cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ gnutls_psk_server_credentials_t cred =
+ (gnutls_psk_server_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (unlikely(cred == NULL))
return gnutls_assert_val(-1);
@@ -319,11 +314,9 @@ static int call_server_callback_legacy(gnutls_session_t session,
* callback function should return 0 on success, while -1 indicates
* an error.
**/
-void
-gnutls_psk_set_server_credentials_function(gnutls_psk_server_credentials_t
- cred,
- gnutls_psk_server_credentials_function
- * func)
+void gnutls_psk_set_server_credentials_function(
+ gnutls_psk_server_credentials_t cred,
+ gnutls_psk_server_credentials_function *func)
{
cred->pwd_callback_legacy = func;
cred->pwd_callback = call_server_callback_legacy;
@@ -352,24 +345,23 @@ gnutls_psk_set_server_credentials_function(gnutls_psk_server_credentials_t
* callback function should return 0 on success, while -1 indicates
* an error.
**/
-void
-gnutls_psk_set_server_credentials_function2(gnutls_psk_server_credentials_t
- cred,
- gnutls_psk_server_credentials_function2
- func)
+void gnutls_psk_set_server_credentials_function2(
+ gnutls_psk_server_credentials_t cred,
+ gnutls_psk_server_credentials_function2 func)
{
cred->pwd_callback = func;
cred->pwd_callback_legacy = NULL;
}
static int call_client_callback_legacy(gnutls_session_t session,
- gnutls_datum_t * username,
- gnutls_datum_t * key)
+ gnutls_datum_t *username,
+ gnutls_datum_t *key)
{
int ret;
char *user_p;
- gnutls_psk_client_credentials_t cred = (gnutls_psk_client_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
+ gnutls_psk_client_credentials_t cred =
+ (gnutls_psk_client_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_PSK);
if (unlikely(cred == NULL))
return gnutls_assert_val(-1);
@@ -378,10 +370,10 @@ static int call_client_callback_legacy(gnutls_session_t session,
if (ret)
goto end;
- username->data = (uint8_t *) user_p;
+ username->data = (uint8_t *)user_p;
username->size = strlen(user_p);
- end:
+end:
return ret;
}
@@ -406,11 +398,9 @@ static int call_client_callback_legacy(gnutls_session_t session,
* The callback function should return 0 on success.
* -1 indicates an error.
**/
-void
-gnutls_psk_set_client_credentials_function(gnutls_psk_client_credentials_t
- cred,
- gnutls_psk_client_credentials_function
- * func)
+void gnutls_psk_set_client_credentials_function(
+ gnutls_psk_client_credentials_t cred,
+ gnutls_psk_client_credentials_function *func)
{
cred->get_function = call_client_callback_legacy;
cred->get_function_legacy = func;
@@ -440,11 +430,9 @@ gnutls_psk_set_client_credentials_function(gnutls_psk_client_credentials_t
* The callback function should return 0 on success.
* -1 indicates an error.
**/
-void
-gnutls_psk_set_client_credentials_function2(gnutls_psk_client_credentials_t
- cred,
- gnutls_psk_client_credentials_function2
- * func)
+void gnutls_psk_set_client_credentials_function2(
+ gnutls_psk_client_credentials_t cred,
+ gnutls_psk_client_credentials_function2 *func)
{
cred->get_function = func;
cred->get_function_legacy = NULL;
@@ -499,7 +487,7 @@ const char *gnutls_psk_server_get_username(gnutls_session_t session)
* Returns: %GNUTLS_E_SUCCESS, or a negative value in case of an error.
**/
int gnutls_psk_server_get_username2(gnutls_session_t session,
- gnutls_datum_t * username)
+ gnutls_datum_t *username)
{
psk_auth_info_t info;
@@ -557,9 +545,8 @@ const char *gnutls_psk_client_get_hint(gnutls_session_t session)
* following RFC7919.
*
**/
-void
-gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t res,
- gnutls_dh_params_t dh_params)
+void gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t res,
+ gnutls_dh_params_t dh_params)
{
if (res->deinit_dh_params) {
res->deinit_dh_params = 0;
@@ -568,10 +555,8 @@ gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t res,
}
res->dh_params = dh_params;
- res->dh_sec_param =
- gnutls_pk_bits_to_sec_param(GNUTLS_PK_DH,
- _gnutls_mpi_get_nbits(dh_params->params
- [0]));
+ res->dh_sec_param = gnutls_pk_bits_to_sec_param(
+ GNUTLS_PK_DH, _gnutls_mpi_get_nbits(dh_params->params[0]));
}
/**
@@ -593,9 +578,8 @@ gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t res,
*
* Since: 3.5.6
**/
-int
-gnutls_psk_set_server_known_dh_params(gnutls_psk_server_credentials_t res,
- gnutls_sec_param_t sec_param)
+int gnutls_psk_set_server_known_dh_params(gnutls_psk_server_credentials_t res,
+ gnutls_sec_param_t sec_param)
{
res->dh_sec_param = sec_param;
@@ -616,9 +600,8 @@ gnutls_psk_set_server_known_dh_params(gnutls_psk_server_credentials_t res,
* following RFC7919.
*
**/
-void
-gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t res,
- gnutls_params_function * func)
+void gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t res,
+ gnutls_params_function *func)
{
res->params_func = func;
}
@@ -637,11 +620,10 @@ gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t res,
* following RFC7919.
*
**/
-void
-gnutls_psk_set_params_function(gnutls_psk_server_credentials_t res,
- gnutls_params_function * func)
+void gnutls_psk_set_params_function(gnutls_psk_server_credentials_t res,
+ gnutls_params_function *func)
{
res->params_func = func;
}
-#endif /* ENABLE_PSK */
+#endif /* ENABLE_PSK */
diff --git a/lib/pubkey.c b/lib/pubkey.c
index a396e56f26..a783371b16 100644
--- a/lib/pubkey.c
+++ b/lib/pubkey.c
@@ -38,19 +38,18 @@
#include "urls.h"
#include <ecc.h>
-static int
-pubkey_verify_hashed_data(const gnutls_sign_entry_st * se,
- const mac_entry_st * me,
- const gnutls_datum_t * hash,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params,
- gnutls_x509_spki_st * sign_params, unsigned flags);
-
-static
-int pubkey_supports_sig(gnutls_pubkey_t pubkey,
- const gnutls_sign_entry_st * se);
-
-unsigned pubkey_to_bits(const gnutls_pk_params_st * params)
+static int pubkey_verify_hashed_data(const gnutls_sign_entry_st *se,
+ const mac_entry_st *me,
+ const gnutls_datum_t *hash,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params,
+ unsigned flags);
+
+static int pubkey_supports_sig(gnutls_pubkey_t pubkey,
+ const gnutls_sign_entry_st *se);
+
+unsigned pubkey_to_bits(const gnutls_pk_params_st *params)
{
switch (params->algo) {
case GNUTLS_PK_RSA:
@@ -125,7 +124,7 @@ int gnutls_pubkey_get_key_usage(gnutls_pubkey_t key, unsigned int *usage)
*
* Since: 2.12.0
**/
-int gnutls_pubkey_init(gnutls_pubkey_t * key)
+int gnutls_pubkey_init(gnutls_pubkey_t *key)
{
*key = NULL;
FAIL_IF_LIB_ERROR;
@@ -169,9 +168,8 @@ void gnutls_pubkey_deinit(gnutls_pubkey_t key)
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_import_x509(gnutls_pubkey_t key, gnutls_x509_crt_t crt,
- unsigned int flags)
+int gnutls_pubkey_import_x509(gnutls_pubkey_t key, gnutls_x509_crt_t crt,
+ unsigned int flags)
{
int ret;
@@ -211,9 +209,8 @@ gnutls_pubkey_import_x509(gnutls_pubkey_t key, gnutls_x509_crt_t crt,
*
* Since: 3.1.5
**/
-int
-gnutls_pubkey_import_x509_crq(gnutls_pubkey_t key, gnutls_x509_crq_t crq,
- unsigned int flags)
+int gnutls_pubkey_import_x509_crq(gnutls_pubkey_t key, gnutls_x509_crq_t crq,
+ unsigned int flags)
{
int ret;
@@ -253,9 +250,8 @@ gnutls_pubkey_import_x509_crq(gnutls_pubkey_t key, gnutls_x509_crq_t crq,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_import_privkey(gnutls_pubkey_t key, gnutls_privkey_t pkey,
- unsigned int usage, unsigned int flags)
+int gnutls_pubkey_import_privkey(gnutls_pubkey_t key, gnutls_privkey_t pkey,
+ unsigned int usage, unsigned int flags)
{
gnutls_pk_params_release(&key->params);
gnutls_pk_params_init(&key->params);
@@ -284,10 +280,9 @@ gnutls_pubkey_import_privkey(gnutls_pubkey_t key, gnutls_privkey_t pkey,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,
- gnutls_digest_algorithm_t *
- hash, unsigned int *mand)
+int gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,
+ gnutls_digest_algorithm_t *hash,
+ unsigned int *mand)
{
int ret;
const mac_entry_st *me;
@@ -309,7 +304,7 @@ gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,
me = _gnutls_dsa_q_to_hash(&key->params, NULL);
if (hash)
- *hash = (gnutls_digest_algorithm_t) me->id;
+ *hash = (gnutls_digest_algorithm_t)me->id;
ret = 0;
break;
@@ -343,18 +338,16 @@ gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,
if (key->params.spki.rsa_pss_dig) {
*hash = key->params.spki.rsa_pss_dig;
} else {
- *hash =
- _gnutls_pk_bits_to_sha_hash(pubkey_to_bits
- (&key->params));
+ *hash = _gnutls_pk_bits_to_sha_hash(
+ pubkey_to_bits(&key->params));
}
}
ret = 0;
break;
case GNUTLS_PK_RSA:
if (hash)
- *hash =
- _gnutls_pk_bits_to_sha_hash(pubkey_to_bits
- (&key->params));
+ *hash = _gnutls_pk_bits_to_sha_hash(
+ pubkey_to_bits(&key->params));
ret = 0;
break;
@@ -371,8 +364,8 @@ gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,
/* The EC_PARAMS attribute can contain either printable string with curve name
* or OID defined in RFC 8410 */
static int
-gnutls_pubkey_parse_ecc_eddsa_params(const gnutls_datum_t * parameters,
- gnutls_ecc_curve_t * outcurve)
+gnutls_pubkey_parse_ecc_eddsa_params(const gnutls_datum_t *parameters,
+ gnutls_ecc_curve_t *outcurve)
{
gnutls_ecc_curve_t curve = GNUTLS_ECC_CURVE_INVALID;
asn1_node asn1 = NULL;
@@ -427,8 +420,8 @@ gnutls_pubkey_parse_ecc_eddsa_params(const gnutls_datum_t * parameters,
curve = gnutls_oid_to_ecc_curve(str);
if (curve != GNUTLS_ECC_CURVE_ED25519 &&
curve != GNUTLS_ECC_CURVE_ED448) {
- _gnutls_debug_log
- ("Curve %s is not supported for EdDSA\n", str);
+ _gnutls_debug_log(
+ "Curve %s is not supported for EdDSA\n", str);
gnutls_assert();
curve = GNUTLS_ECC_CURVE_INVALID;
ret = GNUTLS_E_ECC_UNSUPPORTED_CURVE;
@@ -467,16 +460,15 @@ gnutls_pubkey_parse_ecc_eddsa_params(const gnutls_datum_t * parameters,
break;
}
- cleanup:
+cleanup:
asn1_delete_structure(&asn1);
*outcurve = curve;
return ret;
}
-static int
-gnutls_pubkey_import_ecc_eddsa(gnutls_pubkey_t key,
- const gnutls_datum_t * parameters,
- const gnutls_datum_t * ecpoint)
+static int gnutls_pubkey_import_ecc_eddsa(gnutls_pubkey_t key,
+ const gnutls_datum_t *parameters,
+ const gnutls_datum_t *ecpoint)
{
int ret;
@@ -488,9 +480,8 @@ gnutls_pubkey_import_ecc_eddsa(gnutls_pubkey_t key,
return gnutls_assert_val(ret);
}
- ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
- ecpoint->data, ecpoint->size,
- &raw_point, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, ecpoint->data,
+ ecpoint->size, &raw_point, 0);
if (ret < 0) {
gnutls_assert();
gnutls_free(raw_point.data);
@@ -503,9 +494,8 @@ gnutls_pubkey_import_ecc_eddsa(gnutls_pubkey_t key,
}
/* Same as above, but for Edwards key agreement */
-static int
-gnutls_pubkey_parse_ecc_ecdh_params(const gnutls_datum_t * parameters,
- gnutls_ecc_curve_t * outcurve)
+static int gnutls_pubkey_parse_ecc_ecdh_params(const gnutls_datum_t *parameters,
+ gnutls_ecc_curve_t *outcurve)
{
gnutls_ecc_curve_t curve = GNUTLS_ECC_CURVE_INVALID;
asn1_node asn1 = NULL;
@@ -560,9 +550,9 @@ gnutls_pubkey_parse_ecc_ecdh_params(const gnutls_datum_t * parameters,
curve = gnutls_oid_to_ecc_curve(str);
if (curve != GNUTLS_ECC_CURVE_X25519 &&
curve != GNUTLS_ECC_CURVE_X448) {
- _gnutls_debug_log
- ("Curve %s is not supported for Edwards-based key agreement\n",
- str);
+ _gnutls_debug_log(
+ "Curve %s is not supported for Edwards-based key agreement\n",
+ str);
gnutls_assert();
curve = GNUTLS_ECC_CURVE_INVALID;
ret = GNUTLS_E_ECC_UNSUPPORTED_CURVE;
@@ -601,16 +591,15 @@ gnutls_pubkey_parse_ecc_ecdh_params(const gnutls_datum_t * parameters,
break;
}
- cleanup:
+cleanup:
asn1_delete_structure(&asn1);
*outcurve = curve;
return ret;
}
-static int
-gnutls_pubkey_import_ecc_ecdh(gnutls_pubkey_t key,
- const gnutls_datum_t * parameters,
- const gnutls_datum_t * ecpoint)
+static int gnutls_pubkey_import_ecc_ecdh(gnutls_pubkey_t key,
+ const gnutls_datum_t *parameters,
+ const gnutls_datum_t *ecpoint)
{
int ret;
@@ -622,9 +611,8 @@ gnutls_pubkey_import_ecc_ecdh(gnutls_pubkey_t key,
return gnutls_assert_val(ret);
}
- ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
- ecpoint->data, ecpoint->size,
- &raw_point, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, ecpoint->data,
+ ecpoint->size, &raw_point, 0);
if (ret < 0) {
gnutls_assert();
gnutls_free(raw_point.data);
@@ -650,15 +638,14 @@ gnutls_pubkey_import_ecc_ecdh(gnutls_pubkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key,
- gnutls_pkcs11_obj_t obj, unsigned int flags)
+int gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key, gnutls_pkcs11_obj_t obj,
+ unsigned int flags)
{
int ret, type;
type = gnutls_pkcs11_obj_get_type(obj);
- if (type != GNUTLS_PKCS11_OBJ_PUBKEY
- && type != GNUTLS_PKCS11_OBJ_X509_CRT) {
+ if (type != GNUTLS_PKCS11_OBJ_PUBKEY &&
+ type != GNUTLS_PKCS11_OBJ_X509_CRT) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
@@ -668,8 +655,7 @@ gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key,
ret = gnutls_x509_crt_init(&xcrt);
if (ret < 0) {
- gnutls_assert()
- return ret;
+ gnutls_assert() return ret;
}
ret = gnutls_x509_crt_import_pkcs11(xcrt, obj);
@@ -684,13 +670,13 @@ gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key,
goto cleanup_crt;
}
- ret =
- gnutls_x509_crt_get_key_usage(xcrt, &key->key_usage, NULL);
+ ret = gnutls_x509_crt_get_key_usage(xcrt, &key->key_usage,
+ NULL);
if (ret < 0)
key->key_usage = 0;
ret = 0;
- cleanup_crt:
+ cleanup_crt:
gnutls_x509_crt_deinit(xcrt);
return ret;
}
@@ -734,7 +720,7 @@ gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key,
return 0;
}
-#endif /* ENABLE_PKCS11 */
+#endif /* ENABLE_PKCS11 */
/**
* gnutls_pubkey_export:
@@ -760,10 +746,8 @@ gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_export(gnutls_pubkey_t key,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_pubkey_export(gnutls_pubkey_t key, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
int result;
asn1_node spk = NULL;
@@ -773,9 +757,9 @@ gnutls_pubkey_export(gnutls_pubkey_t key,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.SubjectPublicKeyInfo", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.SubjectPublicKeyInfo",
+ &spk)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -786,8 +770,7 @@ gnutls_pubkey_export(gnutls_pubkey_t key,
goto cleanup;
}
- result = _gnutls_x509_export_int_named(spk, "",
- format, PEM_PK,
+ result = _gnutls_x509_export_int_named(spk, "", format, PEM_PK,
output_data, output_data_size);
if (result < 0) {
gnutls_assert();
@@ -796,7 +779,7 @@ gnutls_pubkey_export(gnutls_pubkey_t key,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
@@ -822,9 +805,8 @@ gnutls_pubkey_export(gnutls_pubkey_t key,
*
* Since: 3.1.3
**/
-int
-gnutls_pubkey_export2(gnutls_pubkey_t key,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_pubkey_export2(gnutls_pubkey_t key, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
int result;
asn1_node spk = NULL;
@@ -834,9 +816,9 @@ gnutls_pubkey_export2(gnutls_pubkey_t key,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.SubjectPublicKeyInfo", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.SubjectPublicKeyInfo",
+ &spk)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -855,7 +837,7 @@ gnutls_pubkey_export2(gnutls_pubkey_t key,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
@@ -883,9 +865,9 @@ gnutls_pubkey_export2(gnutls_pubkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_get_key_id(gnutls_pubkey_t key, unsigned int flags,
- unsigned char *output_data, size_t *output_data_size)
+int gnutls_pubkey_get_key_id(gnutls_pubkey_t key, unsigned int flags,
+ unsigned char *output_data,
+ size_t *output_data_size)
{
int ret = 0;
@@ -894,9 +876,8 @@ gnutls_pubkey_get_key_id(gnutls_pubkey_t key, unsigned int flags,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _gnutls_get_key_id(&key->params,
- output_data, output_data_size, flags);
+ ret = _gnutls_get_key_id(&key->params, output_data, output_data_size,
+ flags);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -922,10 +903,8 @@ gnutls_pubkey_get_key_id(gnutls_pubkey_t key, unsigned int flags,
*
* Since: 3.6.0
**/
-int
-gnutls_pubkey_export_rsa_raw2(gnutls_pubkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- unsigned flags)
+int gnutls_pubkey_export_rsa_raw2(gnutls_pubkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e, unsigned flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_lz;
@@ -979,9 +958,8 @@ gnutls_pubkey_export_rsa_raw2(gnutls_pubkey_t key,
*
* Since: 3.3.0
**/
-int
-gnutls_pubkey_export_rsa_raw(gnutls_pubkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e)
+int gnutls_pubkey_export_rsa_raw(gnutls_pubkey_t key, gnutls_datum_t *m,
+ gnutls_datum_t *e)
{
return gnutls_pubkey_export_rsa_raw2(key, m, e, 0);
}
@@ -1004,10 +982,9 @@ gnutls_pubkey_export_rsa_raw(gnutls_pubkey_t key,
*
* Since: 3.3.0
**/
-int
-gnutls_pubkey_export_dsa_raw(gnutls_pubkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y)
+int gnutls_pubkey_export_dsa_raw(gnutls_pubkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y)
{
return gnutls_pubkey_export_dsa_raw2(key, p, q, g, y, 0);
}
@@ -1031,11 +1008,9 @@ gnutls_pubkey_export_dsa_raw(gnutls_pubkey_t key,
*
* Since: 3.6.0
**/
-int
-gnutls_pubkey_export_dsa_raw2(gnutls_pubkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- unsigned flags)
+int gnutls_pubkey_export_dsa_raw2(gnutls_pubkey_t key, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y, unsigned flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_lz;
@@ -1118,10 +1093,8 @@ gnutls_pubkey_export_dsa_raw2(gnutls_pubkey_t key,
*
* Since: 3.0
**/
-int
-gnutls_pubkey_export_ecc_raw(gnutls_pubkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x, gnutls_datum_t * y)
+int gnutls_pubkey_export_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t *curve,
+ gnutls_datum_t *x, gnutls_datum_t *y)
{
return gnutls_pubkey_export_ecc_raw2(key, curve, x, y, 0);
}
@@ -1147,11 +1120,9 @@ gnutls_pubkey_export_ecc_raw(gnutls_pubkey_t key,
*
* Since: 3.6.0
**/
-int
-gnutls_pubkey_export_ecc_raw2(gnutls_pubkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x, gnutls_datum_t * y,
- unsigned int flags)
+int gnutls_pubkey_export_ecc_raw2(gnutls_pubkey_t key,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, unsigned int flags)
{
int ret;
mpi_dprint_func dprint = _gnutls_mpi_dprint_lz;
@@ -1177,9 +1148,8 @@ gnutls_pubkey_export_ecc_raw2(gnutls_pubkey_t key,
key->params.algo == GNUTLS_PK_ECDH_X25519 ||
key->params.algo == GNUTLS_PK_ECDH_X448) {
if (x) {
- ret =
- _gnutls_set_datum(x, key->params.raw_pub.data,
- key->params.raw_pub.size);
+ ret = _gnutls_set_datum(x, key->params.raw_pub.data,
+ key->params.raw_pub.size);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -1229,8 +1199,8 @@ gnutls_pubkey_export_ecc_raw2(gnutls_pubkey_t key,
* Since: 3.3.0
**/
int gnutls_pubkey_export_ecc_x962(gnutls_pubkey_t key,
- gnutls_datum_t * parameters,
- gnutls_datum_t * ecpoint)
+ gnutls_datum_t *parameters,
+ gnutls_datum_t *ecpoint)
{
int ret;
gnutls_datum_t raw_point = { NULL, 0 };
@@ -1258,7 +1228,7 @@ int gnutls_pubkey_export_ecc_x962(gnutls_pubkey_t key,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(raw_point.data);
return ret;
}
@@ -1284,13 +1254,12 @@ int gnutls_pubkey_export_ecc_x962(gnutls_pubkey_t key,
*
* Since: 3.6.3
**/
-int
-gnutls_pubkey_export_gost_raw2(gnutls_pubkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x, gnutls_datum_t * y,
- unsigned int flags)
+int gnutls_pubkey_export_gost_raw2(gnutls_pubkey_t key,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ unsigned int flags)
{
int ret;
@@ -1356,9 +1325,8 @@ gnutls_pubkey_export_gost_raw2(gnutls_pubkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_import(gnutls_pubkey_t key,
- const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format)
+int gnutls_pubkey_import(gnutls_pubkey_t key, const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format)
{
int result = 0, need_free = 0;
gnutls_datum_t _data;
@@ -1376,9 +1344,8 @@ gnutls_pubkey_import(gnutls_pubkey_t key,
*/
if (format == GNUTLS_X509_FMT_PEM) {
/* Try the first header */
- result =
- _gnutls_fbase64_decode(PEM_PK, data->data,
- data->size, &_data);
+ result = _gnutls_fbase64_decode(PEM_PK, data->data, data->size,
+ &_data);
if (result < 0) {
gnutls_assert();
@@ -1388,9 +1355,9 @@ gnutls_pubkey_import(gnutls_pubkey_t key,
need_free = 1;
}
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.SubjectPublicKeyInfo", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.SubjectPublicKeyInfo",
+ &spk)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -1412,7 +1379,7 @@ gnutls_pubkey_import(gnutls_pubkey_t key,
key->bits = pubkey_to_bits(&key->params);
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
if (need_free)
@@ -1442,9 +1409,8 @@ int gnutls_x509_crt_set_pubkey(gnutls_x509_crt_t crt, gnutls_pubkey_t key)
return GNUTLS_E_INVALID_REQUEST;
}
- result = _gnutls_x509_encode_and_copy_PKI_params(crt->cert,
- "tbsCertificate.subjectPublicKeyInfo",
- &key->params);
+ result = _gnutls_x509_encode_and_copy_PKI_params(
+ crt->cert, "tbsCertificate.subjectPublicKeyInfo", &key->params);
if (result < 0) {
gnutls_assert();
@@ -1479,8 +1445,9 @@ int gnutls_x509_crq_set_pubkey(gnutls_x509_crq_t crq, gnutls_pubkey_t key)
return GNUTLS_E_INVALID_REQUEST;
}
- result = _gnutls_x509_encode_and_copy_PKI_params
- (crq->crq, "certificationRequestInfo.subjectPKInfo", &key->params);
+ result = _gnutls_x509_encode_and_copy_PKI_params(
+ crq->crq, "certificationRequestInfo.subjectPKInfo",
+ &key->params);
if (result < 0) {
gnutls_assert();
@@ -1516,7 +1483,7 @@ int gnutls_pubkey_set_key_usage(gnutls_pubkey_t key, unsigned int usage)
#ifdef ENABLE_PKCS11
-# if 0
+#if 0
/**
* gnutls_pubkey_import_pkcs11_url:
* @key: A key of type #gnutls_pubkey_t
@@ -1537,11 +1504,10 @@ gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key, const char *url,
{
int x;
}
-# endif
+#endif
-static int
-_gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key, const char *url,
- unsigned int flags)
+static int _gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key,
+ const char *url, unsigned int flags)
{
gnutls_pkcs11_obj_t pcrt;
int ret;
@@ -1556,10 +1522,8 @@ _gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key, const char *url,
gnutls_pkcs11_obj_set_pin_function(pcrt, key->pin.cb,
key->pin.data);
- ret =
- gnutls_pkcs11_obj_import_url(pcrt, url,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PUBKEY);
+ ret = gnutls_pkcs11_obj_import_url(
+ pcrt, url, flags | GNUTLS_PKCS11_OBJ_FLAG_EXPECT_PUBKEY);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1572,14 +1536,14 @@ _gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key, const char *url,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pkcs11_obj_deinit(pcrt);
return ret;
}
-#endif /* ENABLE_PKCS11 */
+#endif /* ENABLE_PKCS11 */
/**
* gnutls_pubkey_import_url:
@@ -1594,20 +1558,17 @@ _gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key, const char *url,
*
* Since: 3.1.0
**/
-int
-gnutls_pubkey_import_url(gnutls_pubkey_t key, const char *url,
- unsigned int flags)
+int gnutls_pubkey_import_url(gnutls_pubkey_t key, const char *url,
+ unsigned int flags)
{
unsigned i;
for (i = 0; i < _gnutls_custom_urls_size; i++) {
- if (strncmp
- (url, _gnutls_custom_urls[i].name,
- _gnutls_custom_urls[i].name_size) == 0) {
+ if (strncmp(url, _gnutls_custom_urls[i].name,
+ _gnutls_custom_urls[i].name_size) == 0) {
if (_gnutls_custom_urls[i].import_pubkey)
- return _gnutls_custom_urls[i].import_pubkey(key,
- url,
- flags);
+ return _gnutls_custom_urls[i].import_pubkey(
+ key, url, flags);
}
}
@@ -1642,9 +1603,8 @@ gnutls_pubkey_import_url(gnutls_pubkey_t key, const char *url,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key,
- const gnutls_datum_t * m, const gnutls_datum_t * e)
+int gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key, const gnutls_datum_t *m,
+ const gnutls_datum_t *e)
{
if (key == NULL) {
gnutls_assert();
@@ -1654,12 +1614,14 @@ gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key,
gnutls_pk_params_release(&key->params);
gnutls_pk_params_init(&key->params);
- if (_gnutls_mpi_init_scan_nz(&key->params.params[0], m->data, m->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[0], m->data,
+ m->size)) {
gnutls_assert();
return GNUTLS_E_MPI_SCAN_FAILED;
}
- if (_gnutls_mpi_init_scan_nz(&key->params.params[1], e->data, e->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[1], e->data,
+ e->size)) {
gnutls_assert();
_gnutls_mpi_release(&key->params.params[0]);
return GNUTLS_E_MPI_SCAN_FAILED;
@@ -1690,10 +1652,9 @@ gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key,
*
* Since: 3.0
**/
-int
-gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key,
- gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x, const gnutls_datum_t * y)
+int gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t curve,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y)
{
int ret;
@@ -1742,16 +1703,16 @@ gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key,
key->params.curve = curve;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[ECC_X], x->data, x->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[ECC_X], x->data,
+ x->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
}
key->params.params_nr++;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[ECC_Y], y->data, y->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[ECC_Y], y->data,
+ y->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1762,7 +1723,7 @@ gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key,
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(&key->params);
return ret;
}
@@ -1781,10 +1742,9 @@ gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key,
*
* Since: 3.0
**/
-int
-gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
- const gnutls_datum_t * parameters,
- const gnutls_datum_t * ecpoint)
+int gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
+ const gnutls_datum_t *parameters,
+ const gnutls_datum_t *ecpoint)
{
int ret;
gnutls_datum_t raw_point = { NULL, 0 };
@@ -1799,17 +1759,15 @@ gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
key->params.params_nr = 0;
- ret =
- _gnutls_x509_read_ecc_params(parameters->data,
- parameters->size, &key->params.curve);
+ ret = _gnutls_x509_read_ecc_params(parameters->data, parameters->size,
+ &key->params.curve);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
- ecpoint->data, ecpoint->size,
- &raw_point, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, ecpoint->data,
+ ecpoint->size, &raw_point, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1828,7 +1786,7 @@ gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
gnutls_free(raw_point.data);
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(&key->params);
gnutls_free(raw_point.data);
return ret;
@@ -1857,13 +1815,11 @@ gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,
*
* Since: 3.6.3
**/
-int
-gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key,
- gnutls_ecc_curve_t curve,
- gnutls_digest_algorithm_t digest,
- gnutls_gost_paramset_t paramset,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y)
+int gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t curve,
+ gnutls_digest_algorithm_t digest,
+ gnutls_gost_paramset_t paramset,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y)
{
int ret;
gnutls_pk_algorithm_t pk_algo;
@@ -1886,16 +1842,16 @@ gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key,
key->params.curve = curve;
key->params.gost_params = paramset;
- if (_gnutls_mpi_init_scan_le
- (&key->params.params[GOST_X], x->data, x->size)) {
+ if (_gnutls_mpi_init_scan_le(&key->params.params[GOST_X], x->data,
+ x->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
}
key->params.params_nr++;
- if (_gnutls_mpi_init_scan_le
- (&key->params.params[GOST_Y], y->data, y->size)) {
+ if (_gnutls_mpi_init_scan_le(&key->params.params[GOST_Y], y->data,
+ y->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1905,7 +1861,7 @@ gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key,
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(&key->params);
return ret;
}
@@ -1927,11 +1883,10 @@ gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_pubkey_import_dsa_raw(gnutls_pubkey_t key,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * g, const gnutls_datum_t * y)
+int gnutls_pubkey_import_dsa_raw(gnutls_pubkey_t key, const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *g,
+ const gnutls_datum_t *y)
{
size_t siz = 0;
@@ -1978,16 +1933,15 @@ gnutls_pubkey_import_dsa_raw(gnutls_pubkey_t key,
key->bits = pubkey_to_bits(&key->params);
return 0;
-
}
/* Updates the gnutls_x509_spki_st parameters based on the signature
* information, and reports any incompatibilities between the existing
* parameters (if any) with the signature algorithm */
-static
-int fixup_spki_params(const gnutls_pk_params_st * key_params,
- const gnutls_sign_entry_st * se, const mac_entry_st * me,
- gnutls_x509_spki_st * params)
+static int fixup_spki_params(const gnutls_pk_params_st *key_params,
+ const gnutls_sign_entry_st *se,
+ const mac_entry_st *me,
+ gnutls_x509_spki_st *params)
{
unsigned bits;
@@ -2008,8 +1962,8 @@ int fixup_spki_params(const gnutls_pk_params_st * key_params,
/* The requested sign algorithm is RSA-PSS, while the
* pubkey doesn't include parameter information. Fill
* it with the same way as gnutls_privkey_sign*. */
- if (key_params->algo == GNUTLS_PK_RSA
- || params->rsa_pss_dig == 0) {
+ if (key_params->algo == GNUTLS_PK_RSA ||
+ params->rsa_pss_dig == 0) {
bits = pubkey_to_bits(key_params);
params->rsa_pss_dig = se->hash;
ret = _gnutls_find_rsa_pss_salt_size(bits, me, 0);
@@ -2021,7 +1975,8 @@ int fixup_spki_params(const gnutls_pk_params_st * key_params,
if (params->rsa_pss_dig != se->hash)
return gnutls_assert_val(GNUTLS_E_CONSTRAINT_ERROR);
- } else if (params->pk == GNUTLS_PK_DSA || params->pk == GNUTLS_PK_ECDSA) {
+ } else if (params->pk == GNUTLS_PK_DSA ||
+ params->pk == GNUTLS_PK_ECDSA) {
params->dsa_dig = se->hash;
}
@@ -2046,12 +2001,10 @@ int fixup_spki_params(const gnutls_pk_params_st * key_params,
*
* Since: 3.0
**/
-int
-gnutls_pubkey_verify_data2(gnutls_pubkey_t pubkey,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature)
+int gnutls_pubkey_verify_data2(gnutls_pubkey_t pubkey,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature)
{
int ret;
const mac_entry_st *me;
@@ -2115,12 +2068,10 @@ gnutls_pubkey_verify_data2(gnutls_pubkey_t pubkey,
*
* Since: 3.0
**/
-int
-gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * hash,
- const gnutls_datum_t * signature)
+int gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,
+ gnutls_sign_algorithm_t algo, unsigned int flags,
+ const gnutls_datum_t *hash,
+ const gnutls_datum_t *signature)
{
const mac_entry_st *me;
gnutls_x509_spki_st params;
@@ -2140,9 +2091,8 @@ gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,
if (flags & GNUTLS_VERIFY_USE_TLS1_RSA) {
if (!GNUTLS_PK_IS_RSA(key->params.algo))
- return
- gnutls_assert_val
- (GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
+ return gnutls_assert_val(
+ GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
params.pk = GNUTLS_PK_RSA;
/* we do not check for insecure algorithms with this flag */
return _gnutls_pk_verify(params.pk, hash, signature,
@@ -2188,46 +2138,45 @@ gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,
*
* Since: 3.0
**/
-int
-gnutls_pubkey_encrypt_data(gnutls_pubkey_t key, unsigned int flags,
- const gnutls_datum_t * plaintext,
- gnutls_datum_t * ciphertext)
+int gnutls_pubkey_encrypt_data(gnutls_pubkey_t key, unsigned int flags,
+ const gnutls_datum_t *plaintext,
+ gnutls_datum_t *ciphertext)
{
if (key == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_pk_encrypt(key->params.algo, ciphertext,
- plaintext, &key->params);
+ return _gnutls_pk_encrypt(key->params.algo, ciphertext, plaintext,
+ &key->params);
}
-static
-int pubkey_supports_sig(gnutls_pubkey_t pubkey, const gnutls_sign_entry_st * se)
+static int pubkey_supports_sig(gnutls_pubkey_t pubkey,
+ const gnutls_sign_entry_st *se)
{
if (pubkey->params.algo == GNUTLS_PK_ECDSA && se->curve) {
gnutls_ecc_curve_t curve = pubkey->params.curve;
if (curve != se->curve) {
- _gnutls_handshake_log
- ("have key: ECDSA with %s/%d, with sign %s/%d\n",
- gnutls_ecc_curve_get_name(curve), (int)curve,
- se->name, se->id);
- return
- gnutls_assert_val
- (GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
+ _gnutls_handshake_log(
+ "have key: ECDSA with %s/%d, with sign %s/%d\n",
+ gnutls_ecc_curve_get_name(curve), (int)curve,
+ se->name, se->id);
+ return gnutls_assert_val(
+ GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
}
}
- if (se->pk != pubkey->params.algo) { /* if the PK algorithm of the signature differs to the one on the pubkey */
+ if (se->pk !=
+ pubkey->params
+ .algo) { /* if the PK algorithm of the signature differs to the one on the pubkey */
if (!sign_supports_priv_pk_algorithm(se, pubkey->params.algo)) {
- _gnutls_handshake_log
- ("have key: %s/%d, with sign %s/%d\n",
- gnutls_pk_get_name(pubkey->params.algo),
- pubkey->params.algo, se->name, se->id);
- return
- gnutls_assert_val
- (GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
+ _gnutls_handshake_log(
+ "have key: %s/%d, with sign %s/%d\n",
+ gnutls_pk_get_name(pubkey->params.algo),
+ pubkey->params.algo, se->name, se->id);
+ return gnutls_assert_val(
+ GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
}
}
@@ -2240,7 +2189,7 @@ int pubkey_supports_sig(gnutls_pubkey_t pubkey, const gnutls_sign_entry_st * se)
*/
int _gnutls_pubkey_compatible_with_sig(gnutls_session_t session,
gnutls_pubkey_t pubkey,
- const version_entry_st * ver,
+ const version_entry_st *ver,
gnutls_sign_algorithm_t sign)
{
unsigned int hash_size = 0;
@@ -2264,22 +2213,21 @@ int _gnutls_pubkey_compatible_with_sig(gnutls_session_t session,
/* DSA keys over 1024 bits cannot be used with TLS 1.x, x<2 */
if (!_gnutls_version_has_selectable_sighash(ver)) {
if (me->id != GNUTLS_MAC_SHA1)
- return
- gnutls_assert_val
- (GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL);
+ return gnutls_assert_val(
+ GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL);
} else if (se != NULL) {
me = hash_to_entry(se->hash);
sig_hash_size = _gnutls_hash_get_algo_len(me);
if (sig_hash_size < hash_size)
- _gnutls_audit_log(session,
- "The hash size used in signature (%u) is less than the expected (%u)\n",
- sig_hash_size, hash_size);
+ _gnutls_audit_log(
+ session,
+ "The hash size used in signature (%u) is less than the expected (%u)\n",
+ sig_hash_size, hash_size);
}
} else if (pubkey->params.algo == GNUTLS_PK_ECDSA) {
- if (_gnutls_version_has_selectable_sighash(ver)
- && se != NULL) {
+ if (_gnutls_version_has_selectable_sighash(ver) && se != NULL) {
_gnutls_dsa_q_to_hash(&pubkey->params, &hash_size);
me = hash_to_entry(se->hash);
@@ -2287,26 +2235,26 @@ int _gnutls_pubkey_compatible_with_sig(gnutls_session_t session,
sig_hash_size = _gnutls_hash_get_algo_len(me);
if (sig_hash_size < hash_size)
- _gnutls_audit_log(session,
- "The hash size used in signature (%u) is less than the expected (%u)\n",
- sig_hash_size, hash_size);
+ _gnutls_audit_log(
+ session,
+ "The hash size used in signature (%u) is less than the expected (%u)\n",
+ sig_hash_size, hash_size);
}
} else if (pubkey->params.algo == GNUTLS_PK_GOST_01 ||
pubkey->params.algo == GNUTLS_PK_GOST_12_256 ||
pubkey->params.algo == GNUTLS_PK_GOST_12_512) {
- if (_gnutls_version_has_selectable_sighash(ver)
- && se != NULL) {
+ if (_gnutls_version_has_selectable_sighash(ver) && se != NULL) {
if (_gnutls_gost_digest(pubkey->params.algo) !=
se->hash) {
- _gnutls_audit_log(session,
- "The hash algo used in signature (%u) is not expected (%u)\n",
- se->hash,
- _gnutls_gost_digest
- (pubkey->params.algo));
- return
- gnutls_assert_val
- (GNUTLS_E_CONSTRAINT_ERROR);
+ _gnutls_audit_log(
+ session,
+ "The hash algo used in signature (%u) is not expected (%u)\n",
+ se->hash,
+ _gnutls_gost_digest(
+ pubkey->params.algo));
+ return gnutls_assert_val(
+ GNUTLS_E_CONSTRAINT_ERROR);
}
}
@@ -2317,8 +2265,8 @@ int _gnutls_pubkey_compatible_with_sig(gnutls_session_t session,
/* RSA PSS public keys are restricted to a single digest, i.e., signature */
- if (pubkey->params.spki.rsa_pss_dig
- && pubkey->params.spki.rsa_pss_dig != se->hash) {
+ if (pubkey->params.spki.rsa_pss_dig &&
+ pubkey->params.spki.rsa_pss_dig != se->hash) {
return gnutls_assert_val(GNUTLS_E_CONSTRAINT_ERROR);
}
}
@@ -2328,7 +2276,7 @@ int _gnutls_pubkey_compatible_with_sig(gnutls_session_t session,
/* Returns the public key.
*/
-int _gnutls_pubkey_get_mpis(gnutls_pubkey_t key, gnutls_pk_params_st * params)
+int _gnutls_pubkey_get_mpis(gnutls_pubkey_t key, gnutls_pk_params_st *params)
{
return _gnutls_pk_params_copy(params, &key->params);
}
@@ -2338,14 +2286,13 @@ int _gnutls_pubkey_get_mpis(gnutls_pubkey_t key, gnutls_pk_params_st * params)
* params[0] is modulus
* params[1] is public key
*/
-static int
-_pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,
- const mac_entry_st * me,
- const gnutls_datum_t * text,
- const gnutls_datum_t * prehash,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params,
- gnutls_x509_spki_st * sign_params)
+static int _pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,
+ const mac_entry_st *me,
+ const gnutls_datum_t *text,
+ const gnutls_datum_t *prehash,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params)
{
int ret;
uint8_t md[MAX_HASH_SIZE], *cmp;
@@ -2367,7 +2314,7 @@ _pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,
return GNUTLS_E_INVALID_REQUEST;
}
- ret = _gnutls_hash_fast((gnutls_digest_algorithm_t) me->id,
+ ret = _gnutls_hash_fast((gnutls_digest_algorithm_t)me->id,
text->data, text->size, md);
if (ret < 0) {
gnutls_assert();
@@ -2391,8 +2338,8 @@ _pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,
case GNUTLS_MAC_SHA224:
break;
default:
- _gnutls_switch_fips_state
- (GNUTLS_FIPS140_OP_NOT_APPROVED);
+ _gnutls_switch_fips_state(
+ GNUTLS_FIPS140_OP_NOT_APPROVED);
}
/* decrypted is a BER encoded data of type DigestInfo
@@ -2413,13 +2360,12 @@ _pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,
/* Hashes input data and verifies a signature.
*/
-static int
-dsa_verify_hashed_data(gnutls_pk_algorithm_t pk,
- const mac_entry_st * algo,
- const gnutls_datum_t * hash,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params,
- gnutls_x509_spki_st * sign_params)
+static int dsa_verify_hashed_data(gnutls_pk_algorithm_t pk,
+ const mac_entry_st *algo,
+ const gnutls_datum_t *hash,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params)
{
gnutls_datum_t digest;
unsigned int hash_len;
@@ -2432,11 +2378,11 @@ dsa_verify_hashed_data(gnutls_pk_algorithm_t pk,
/* SHA1 or better allowed */
if (!hash->data || hash->size < hash_len) {
gnutls_assert();
- _gnutls_debug_log
- ("Hash size (%d) does not correspond to hash %s(%d) or better.\n",
- (int)hash->size, _gnutls_mac_get_name(algo), hash_len);
+ _gnutls_debug_log(
+ "Hash size (%d) does not correspond to hash %s(%d) or better.\n",
+ (int)hash->size, _gnutls_mac_get_name(algo), hash_len);
- if (hash->size != 20) /* SHA1 is allowed */
+ if (hash->size != 20) /* SHA1 is allowed */
return gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
}
@@ -2446,12 +2392,11 @@ dsa_verify_hashed_data(gnutls_pk_algorithm_t pk,
return _gnutls_pk_verify(pk, &digest, signature, params, sign_params);
}
-static int
-dsa_verify_data(gnutls_pk_algorithm_t pk,
- const mac_entry_st * algo,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params, gnutls_x509_spki_st * sign_params)
+static int dsa_verify_data(gnutls_pk_algorithm_t pk, const mac_entry_st *algo,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params)
{
int ret;
uint8_t _digest[MAX_HASH_SIZE];
@@ -2460,8 +2405,8 @@ dsa_verify_data(gnutls_pk_algorithm_t pk,
if (algo == NULL)
algo = _gnutls_dsa_q_to_hash(params, NULL);
- ret = _gnutls_hash_fast((gnutls_digest_algorithm_t) algo->id,
- data->data, data->size, _digest);
+ ret = _gnutls_hash_fast((gnutls_digest_algorithm_t)algo->id, data->data,
+ data->size, _digest);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2474,13 +2419,13 @@ dsa_verify_data(gnutls_pk_algorithm_t pk,
/* Verifies the signature data, and returns GNUTLS_E_PK_SIG_VERIFY_FAILED if
* not verified, or 1 otherwise.
*/
-static int
-pubkey_verify_hashed_data(const gnutls_sign_entry_st * se,
- const mac_entry_st * me,
- const gnutls_datum_t * hash,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params,
- gnutls_x509_spki_st * sign_params, unsigned flags)
+static int pubkey_verify_hashed_data(const gnutls_sign_entry_st *se,
+ const mac_entry_st *me,
+ const gnutls_datum_t *hash,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params,
+ unsigned flags)
{
int ret;
@@ -2495,9 +2440,8 @@ pubkey_verify_hashed_data(const gnutls_sign_entry_st * se,
case GNUTLS_PK_RSA:
case GNUTLS_PK_RSA_PSS:
- if (_pkcs1_rsa_verify_sig
- (se->pk, me, NULL, hash, signature, params,
- sign_params) != 0) {
+ if (_pkcs1_rsa_verify_sig(se->pk, me, NULL, hash, signature,
+ params, sign_params) != 0) {
gnutls_assert();
return GNUTLS_E_PK_SIG_VERIFY_FAILED;
}
@@ -2509,8 +2453,8 @@ pubkey_verify_hashed_data(const gnutls_sign_entry_st * se,
case GNUTLS_PK_GOST_12_256:
case GNUTLS_PK_GOST_12_512:
case GNUTLS_PK_DSA:
- if (dsa_verify_hashed_data
- (se->pk, me, hash, signature, params, sign_params) != 0) {
+ if (dsa_verify_hashed_data(se->pk, me, hash, signature, params,
+ sign_params) != 0) {
gnutls_assert();
return GNUTLS_E_PK_SIG_VERIFY_FAILED;
}
@@ -2519,11 +2463,10 @@ pubkey_verify_hashed_data(const gnutls_sign_entry_st * se,
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
-
}
- if (_gnutls_sign_is_secure2(se, 0) == 0
- && _gnutls_is_broken_sig_allowed(se, flags) == 0) {
+ if (_gnutls_sign_is_secure2(se, 0) == 0 &&
+ _gnutls_is_broken_sig_allowed(se, flags) == 0) {
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_SECURITY);
}
@@ -2533,13 +2476,11 @@ pubkey_verify_hashed_data(const gnutls_sign_entry_st * se,
/* Verifies the signature data, and returns GNUTLS_E_PK_SIG_VERIFY_FAILED if
* not verified, or 1 otherwise.
*/
-int
-pubkey_verify_data(const gnutls_sign_entry_st * se,
- const mac_entry_st * me,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
- gnutls_pk_params_st * params,
- gnutls_x509_spki_st * sign_params, unsigned flags)
+int pubkey_verify_data(const gnutls_sign_entry_st *se, const mac_entry_st *me,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
+ gnutls_pk_params_st *params,
+ gnutls_x509_spki_st *sign_params, unsigned flags)
{
int ret;
@@ -2553,9 +2494,8 @@ pubkey_verify_data(const gnutls_sign_entry_st * se,
switch (se->pk) {
case GNUTLS_PK_RSA:
case GNUTLS_PK_RSA_PSS:
- if (_pkcs1_rsa_verify_sig
- (se->pk, me, data, NULL, signature, params,
- sign_params) != 0) {
+ if (_pkcs1_rsa_verify_sig(se->pk, me, data, NULL, signature,
+ params, sign_params) != 0) {
gnutls_assert();
return GNUTLS_E_PK_SIG_VERIFY_FAILED;
}
@@ -2564,8 +2504,8 @@ pubkey_verify_data(const gnutls_sign_entry_st * se,
case GNUTLS_PK_EDDSA_ED25519:
case GNUTLS_PK_EDDSA_ED448:
- if (_gnutls_pk_verify
- (se->pk, data, signature, params, sign_params) != 0) {
+ if (_gnutls_pk_verify(se->pk, data, signature, params,
+ sign_params) != 0) {
gnutls_assert();
return GNUTLS_E_PK_SIG_VERIFY_FAILED;
}
@@ -2577,8 +2517,8 @@ pubkey_verify_data(const gnutls_sign_entry_st * se,
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
case GNUTLS_PK_GOST_12_512:
- if (dsa_verify_data
- (se->pk, me, data, signature, params, sign_params) != 0) {
+ if (dsa_verify_data(se->pk, me, data, signature, params,
+ sign_params) != 0) {
gnutls_assert();
return GNUTLS_E_PK_SIG_VERIFY_FAILED;
}
@@ -2587,19 +2527,18 @@ pubkey_verify_data(const gnutls_sign_entry_st * se,
default:
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
-
}
- if (_gnutls_sign_is_secure2(se, 0) == 0
- && _gnutls_is_broken_sig_allowed(se, flags) == 0) {
+ if (_gnutls_sign_is_secure2(se, 0) == 0 &&
+ _gnutls_is_broken_sig_allowed(se, flags) == 0) {
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_SECURITY);
}
return 1;
}
-const mac_entry_st *_gnutls_dsa_q_to_hash(const gnutls_pk_params_st *
- params, unsigned int *hash_len)
+const mac_entry_st *_gnutls_dsa_q_to_hash(const gnutls_pk_params_st *params,
+ unsigned int *hash_len)
{
int bits = 0;
int ret;
@@ -2677,7 +2616,7 @@ void gnutls_pubkey_set_pin_function(gnutls_pubkey_t key,
* Since: 3.1.3
**/
int gnutls_pubkey_import_x509_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
unsigned int flags)
{
@@ -2702,7 +2641,7 @@ int gnutls_pubkey_import_x509_raw(gnutls_pubkey_t pkey,
ret = 0;
- cleanup:
+cleanup:
gnutls_x509_crt_deinit(xpriv);
return ret;
@@ -2746,9 +2685,8 @@ int gnutls_pubkey_verify_params(gnutls_pubkey_t key)
*
* Since: 3.6.0
**/
-int
-gnutls_pubkey_get_spki(gnutls_pubkey_t pubkey, gnutls_x509_spki_t spki,
- unsigned int flags)
+int gnutls_pubkey_get_spki(gnutls_pubkey_t pubkey, gnutls_x509_spki_t spki,
+ unsigned int flags)
{
gnutls_x509_spki_t p = &pubkey->params.spki;
@@ -2779,9 +2717,8 @@ gnutls_pubkey_get_spki(gnutls_pubkey_t pubkey, gnutls_x509_spki_t spki,
*
* Since: 3.6.0
**/
-int
-gnutls_pubkey_set_spki(gnutls_pubkey_t pubkey, const gnutls_x509_spki_t spki,
- unsigned int flags)
+int gnutls_pubkey_set_spki(gnutls_pubkey_t pubkey,
+ const gnutls_x509_spki_t spki, unsigned int flags)
{
if (pubkey == NULL) {
gnutls_assert();
diff --git a/lib/random.c b/lib/random.c
index 9cd1ba4223..8038bda730 100644
--- a/lib/random.c
+++ b/lib/random.c
@@ -107,7 +107,7 @@ int _gnutls_rnd_preinit(void)
int ret;
#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
-# warning Insecure PRNG is enabled
+#warning Insecure PRNG is enabled
ret = gnutls_crypto_rnd_register(100, &_gnutls_fuzz_rnd_ops);
if (ret < 0)
return ret;
@@ -131,9 +131,8 @@ int _gnutls_rnd_preinit(void)
if (ret)
return gnutls_assert_val(GNUTLS_E_RANDOM_FAILED);
- list =
- gl_list_nx_create_empty(GL_LINKEDHASH_LIST, NULL, NULL, free_ctx,
- false);
+ list = gl_list_nx_create_empty(GL_LINKEDHASH_LIST, NULL, NULL, free_ctx,
+ false);
if (list == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
diff --git a/lib/random.h b/lib/random.h
index 7e63a3ab43..0d76738971 100644
--- a/lib/random.h
+++ b/lib/random.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_LIB_RANDOM_H
-# define GNUTLS_LIB_RANDOM_H
+#define GNUTLS_LIB_RANDOM_H
-# include <gnutls/crypto.h>
-# include <crypto-backend.h>
-# include "nettle/rnd-common.h"
+#include <gnutls/crypto.h>
+#include <crypto-backend.h>
+#include "nettle/rnd-common.h"
extern int crypto_rnd_prio;
extern gnutls_crypto_rnd_st _gnutls_rnd_ops;
@@ -33,4 +33,4 @@ extern gnutls_crypto_rnd_st _gnutls_rnd_ops;
void _gnutls_rnd_deinit(void);
int _gnutls_rnd_preinit(void);
-#endif /* GNUTLS_LIB_RANDOM_H */
+#endif /* GNUTLS_LIB_RANDOM_H */
diff --git a/lib/randomart.c b/lib/randomart.c
index d9efdaa997..a5ef2d4287 100644
--- a/lib/randomart.c
+++ b/lib/randomart.c
@@ -41,16 +41,15 @@
* an error code is returned.
*
**/
-int gnutls_random_art(gnutls_random_art_t type,
- const char *key_type, unsigned int key_size,
- void *fpr, size_t fpr_size, gnutls_datum_t * art)
+int gnutls_random_art(gnutls_random_art_t type, const char *key_type,
+ unsigned int key_size, void *fpr, size_t fpr_size,
+ gnutls_datum_t *art)
{
if (type != GNUTLS_RANDOM_ART_OPENSSH)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- art->data =
- (void *)_gnutls_key_fingerprint_randomart(fpr, fpr_size,
- key_type, key_size, NULL);
+ art->data = (void *)_gnutls_key_fingerprint_randomart(
+ fpr, fpr_size, key_type, key_size, NULL);
if (art->data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
diff --git a/lib/range.c b/lib/range.c
index 7f967758de..64a90db881 100644
--- a/lib/range.c
+++ b/lib/range.c
@@ -26,8 +26,8 @@
#include "constate.h"
#include "record.h"
-static void
-_gnutls_set_range(gnutls_range_st * dst, const size_t low, const size_t high)
+static void _gnutls_set_range(gnutls_range_st *dst, const size_t low,
+ const size_t high)
{
dst->low = low;
dst->high = high;
@@ -38,9 +38,8 @@ _gnutls_set_range(gnutls_range_st * dst, const size_t low, const size_t high)
* Returns how much LH pad we can put in this fragment, given we'll
* put at least data_length bytes of user data.
*/
-static ssize_t
-_gnutls_range_max_lh_pad(gnutls_session_t session, ssize_t data_length,
- ssize_t max_frag)
+static ssize_t _gnutls_range_max_lh_pad(gnutls_session_t session,
+ ssize_t data_length, ssize_t max_frag)
{
int ret;
ssize_t max_pad;
@@ -59,7 +58,8 @@ _gnutls_range_max_lh_pad(gnutls_session_t session, ssize_t data_length,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- if (!vers->tls13_sem && record_params->write.is_aead) /* not yet ready */
+ if (!vers->tls13_sem &&
+ record_params->write.is_aead) /* not yet ready */
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
if (vers->tls13_sem) {
@@ -80,9 +80,8 @@ _gnutls_range_max_lh_pad(gnutls_session_t session, ssize_t data_length,
return this_pad;
case CIPHER_BLOCK:
- overflow =
- (data_length + this_pad + tag_size +
- fixed_pad) % block_size;
+ overflow = (data_length + this_pad + tag_size + fixed_pad) %
+ block_size;
if (overflow > this_pad) {
return this_pad;
} else {
@@ -158,15 +157,13 @@ unsigned gnutls_record_can_use_length_hiding(gnutls_session_t session)
* Note that @orig is not changed, while the values of @next
* and @remainder are modified to store the resulting values.
*/
-int
-gnutls_range_split(gnutls_session_t session,
- const gnutls_range_st * orig,
- gnutls_range_st * next, gnutls_range_st * remainder)
+int gnutls_range_split(gnutls_session_t session, const gnutls_range_st *orig,
+ gnutls_range_st *next, gnutls_range_st *remainder)
{
int ret;
ssize_t max_frag;
- ssize_t orig_low = (ssize_t) orig->low;
- ssize_t orig_high = (ssize_t) orig->high;
+ ssize_t orig_low = (ssize_t)orig->low;
+ ssize_t orig_high = (ssize_t)orig->high;
record_parameters_st *record_params;
ret = _gnutls_epoch_get(session, EPOCH_WRITE_CURRENT, &record_params);
@@ -188,9 +185,8 @@ gnutls_range_split(gnutls_session_t session,
_gnutls_set_range(remainder, orig_low - max_frag,
orig_high - max_frag);
} else {
- ret =
- _gnutls_range_max_lh_pad(session, orig_low,
- max_frag);
+ ret = _gnutls_range_max_lh_pad(session, orig_low,
+ max_frag);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -205,9 +201,8 @@ gnutls_range_split(gnutls_session_t session,
}
}
-static size_t
-_gnutls_range_fragment(size_t data_size, gnutls_range_st cur,
- gnutls_range_st next)
+static size_t _gnutls_range_fragment(size_t data_size, gnutls_range_st cur,
+ gnutls_range_st next)
{
return MIN(cur.high, data_size - next.low);
}
@@ -233,9 +228,8 @@ _gnutls_range_fragment(size_t data_size, gnutls_range_st cur,
* Returns: The number of bytes sent (that is data_size in a successful invocation),
* or a negative error code.
**/
-ssize_t
-gnutls_record_send_range(gnutls_session_t session, const void *data,
- size_t data_size, const gnutls_range_st * range)
+ssize_t gnutls_record_send_range(gnutls_session_t session, const void *data,
+ size_t data_size, const gnutls_range_st *range)
{
size_t sent = 0;
size_t next_fragment_length;
@@ -243,8 +237,8 @@ gnutls_record_send_range(gnutls_session_t session, const void *data,
gnutls_range_st cur_range, next_range;
/* sanity check on range and data size */
- if (range->low > range->high ||
- data_size < range->low || data_size > range->high) {
+ if (range->low > range->high || data_size < range->low ||
+ data_size > range->high) {
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -254,50 +248,46 @@ gnutls_record_send_range(gnutls_session_t session, const void *data,
_gnutls_set_range(&cur_range, range->low, range->high);
- _gnutls_record_log
- ("RANGE: Preparing message with size %d, range (%d,%d)\n",
- (int)data_size, (int)range->low, (int)range->high);
+ _gnutls_record_log(
+ "RANGE: Preparing message with size %d, range (%d,%d)\n",
+ (int)data_size, (int)range->low, (int)range->high);
while (cur_range.high != 0) {
- ret =
- gnutls_range_split(session, &cur_range, &cur_range,
- &next_range);
+ ret = gnutls_range_split(session, &cur_range, &cur_range,
+ &next_range);
if (ret < 0) {
- return ret; /* already gnutls_assert_val'd */
+ return ret; /* already gnutls_assert_val'd */
}
- next_fragment_length =
- _gnutls_range_fragment(data_size, cur_range, next_range);
+ next_fragment_length = _gnutls_range_fragment(
+ data_size, cur_range, next_range);
- _gnutls_record_log
- ("RANGE: Next fragment size: %d (%d,%d); remaining range: (%d,%d)\n",
- (int)next_fragment_length, (int)cur_range.low,
- (int)cur_range.high, (int)next_range.low,
- (int)next_range.high);
+ _gnutls_record_log(
+ "RANGE: Next fragment size: %d (%d,%d); remaining range: (%d,%d)\n",
+ (int)next_fragment_length, (int)cur_range.low,
+ (int)cur_range.high, (int)next_range.low,
+ (int)next_range.high);
- ret =
- _gnutls_send_tlen_int(session, GNUTLS_APPLICATION_DATA,
- -1, EPOCH_WRITE_CURRENT,
- &(((char *)data)[sent]),
- next_fragment_length,
- cur_range.high -
- next_fragment_length, MBUFFER_FLUSH);
+ ret = _gnutls_send_tlen_int(
+ session, GNUTLS_APPLICATION_DATA, -1,
+ EPOCH_WRITE_CURRENT, &(((char *)data)[sent]),
+ next_fragment_length,
+ cur_range.high - next_fragment_length, MBUFFER_FLUSH);
while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED) {
- ret =
- _gnutls_send_tlen_int(session,
- GNUTLS_APPLICATION_DATA,
- -1, EPOCH_WRITE_CURRENT,
- NULL, 0, 0, MBUFFER_FLUSH);
+ ret = _gnutls_send_tlen_int(session,
+ GNUTLS_APPLICATION_DATA, -1,
+ EPOCH_WRITE_CURRENT, NULL,
+ 0, 0, MBUFFER_FLUSH);
}
if (ret < 0) {
return gnutls_assert_val(ret);
}
- if (ret != (ssize_t) next_fragment_length) {
- _gnutls_record_log
- ("RANGE: ERROR: ret = %d; next_fragment_length = %d\n",
- (int)ret, (int)next_fragment_length);
+ if (ret != (ssize_t)next_fragment_length) {
+ _gnutls_record_log(
+ "RANGE: ERROR: ret = %d; next_fragment_length = %d\n",
+ (int)ret, (int)next_fragment_length);
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
sent += next_fragment_length;
diff --git a/lib/record.c b/lib/record.c
index bcec9c0e28..344247a392 100644
--- a/lib/record.c
+++ b/lib/record.c
@@ -60,13 +60,13 @@
struct tls_record_st {
uint16_t header_size;
uint8_t version[2];
- uint64_t sequence; /* DTLS */
+ uint64_t sequence; /* DTLS */
uint16_t length;
- uint16_t packet_size; /* header_size + length */
+ uint16_t packet_size; /* header_size + length */
content_type_t type;
- uint16_t epoch; /* valid in DTLS only */
+ uint16_t epoch; /* valid in DTLS only */
#ifdef ENABLE_SSL2
- unsigned v2:1; /* whether an SSLv2 client hello */
+ unsigned v2 : 1; /* whether an SSLv2 client hello */
#endif
/* the data */
};
@@ -99,8 +99,8 @@ void gnutls_record_disable_padding(gnutls_session_t session)
* connection descriptor.
*
**/
-void
-gnutls_transport_set_ptr(gnutls_session_t session, gnutls_transport_ptr_t ptr)
+void gnutls_transport_set_ptr(gnutls_session_t session,
+ gnutls_transport_ptr_t ptr)
{
session->internals.transport_recv_ptr = ptr;
session->internals.transport_send_ptr = ptr;
@@ -117,10 +117,9 @@ gnutls_transport_set_ptr(gnutls_session_t session, gnutls_transport_ptr_t ptr)
* connection descriptor. With this function you can use two different
* pointers for receiving and sending.
**/
-void
-gnutls_transport_set_ptr2(gnutls_session_t session,
- gnutls_transport_ptr_t recv_ptr,
- gnutls_transport_ptr_t send_ptr)
+void gnutls_transport_set_ptr2(gnutls_session_t session,
+ gnutls_transport_ptr_t recv_ptr,
+ gnutls_transport_ptr_t send_ptr)
{
session->internals.transport_send_ptr = send_ptr;
session->internals.transport_recv_ptr = recv_ptr;
@@ -142,13 +141,13 @@ gnutls_transport_set_ptr2(gnutls_session_t session,
*
* Since: 3.1.9
**/
-void
-gnutls_transport_set_int2(gnutls_session_t session, int recv_fd, int send_fd)
+void gnutls_transport_set_int2(gnutls_session_t session, int recv_fd,
+ int send_fd)
{
session->internals.transport_send_ptr =
- (gnutls_transport_ptr_t) (long)send_fd;
+ (gnutls_transport_ptr_t)(long)send_fd;
session->internals.transport_recv_ptr =
- (gnutls_transport_ptr_t) (long)recv_fd;
+ (gnutls_transport_ptr_t)(long)recv_fd;
}
#if 0
@@ -202,12 +201,10 @@ gnutls_transport_ptr_t gnutls_transport_get_ptr(gnutls_session_t session)
* and PULL). These should have been set using
* gnutls_transport_set_ptr2().
**/
-void
-gnutls_transport_get_ptr2(gnutls_session_t session,
- gnutls_transport_ptr_t * recv_ptr,
- gnutls_transport_ptr_t * send_ptr)
+void gnutls_transport_get_ptr2(gnutls_session_t session,
+ gnutls_transport_ptr_t *recv_ptr,
+ gnutls_transport_ptr_t *send_ptr)
{
-
*recv_ptr = session->internals.transport_recv_ptr;
*send_ptr = session->internals.transport_send_ptr;
}
@@ -224,11 +221,9 @@ gnutls_transport_get_ptr2(gnutls_session_t session,
*
* Since: 3.1.9
**/
-void
-gnutls_transport_get_int2(gnutls_session_t session,
- int *recv_int, int *send_int)
+void gnutls_transport_get_int2(gnutls_session_t session, int *recv_int,
+ int *send_int)
{
-
*recv_int = (long)session->internals.transport_recv_ptr;
*send_int = (long)session->internals.transport_send_ptr;
}
@@ -310,21 +305,17 @@ int gnutls_bye(gnutls_session_t session, gnutls_close_request_t how)
if (how == GNUTLS_SHUT_RDWR) {
if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_SEND)) {
do {
- ret = _gnutls_ktls_recv_int(session,
- GNUTLS_ALERT,
- NULL, 0);
- }
- while (ret == GNUTLS_E_GOT_APPLICATION_DATA);
+ ret = _gnutls_ktls_recv_int(
+ session, GNUTLS_ALERT, NULL, 0);
+ } while (ret == GNUTLS_E_GOT_APPLICATION_DATA);
} else {
do {
- ret =
- _gnutls_recv_int(session,
- GNUTLS_ALERT, NULL,
- 0, NULL,
- session->internals.
- record_timeout_ms);
- }
- while (ret == GNUTLS_E_GOT_APPLICATION_DATA);
+ ret = _gnutls_recv_int(
+ session, GNUTLS_ALERT, NULL, 0,
+ NULL,
+ session->internals
+ .record_timeout_ms);
+ } while (ret == GNUTLS_E_GOT_APPLICATION_DATA);
}
if (ret >= 0)
@@ -367,9 +358,9 @@ inline static int session_is_valid(gnutls_session_t session)
/* Copies the record version into the headers. The
* version must have 2 bytes at least.
*/
-inline static int
-copy_record_version(gnutls_session_t session,
- gnutls_handshake_description_t htype, uint8_t version[2])
+inline static int copy_record_version(gnutls_session_t session,
+ gnutls_handshake_description_t htype,
+ uint8_t version[2])
{
const version_entry_st *lver;
@@ -378,7 +369,6 @@ copy_record_version(gnutls_session_t session,
htype != GNUTLS_HANDSHAKE_CLIENT_HELLO ||
(session->internals.hsk_flags & HSK_HRR_RECEIVED) ||
session->internals.default_record_version[0] == 0) {
-
if (unlikely(lver == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -399,7 +389,7 @@ copy_record_version(gnutls_session_t session,
/* Increments the sequence value
*/
-inline static int sequence_increment(gnutls_session_t session, uint64_t * value)
+inline static int sequence_increment(gnutls_session_t session, uint64_t *value)
{
uint64_t snmax = UINT64_C(0xffffffffffffffff);
@@ -445,11 +435,11 @@ inline static int sequence_increment(gnutls_session_t session, uint64_t * value)
* and only if the previous send was interrupted for some reason.
*
*/
-ssize_t
-_gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
- gnutls_handshake_description_t htype,
- unsigned int epoch_rel, const void *_data,
- size_t data_size, size_t min_pad, unsigned int mflags)
+ssize_t _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
+ gnutls_handshake_description_t htype,
+ unsigned int epoch_rel, const void *_data,
+ size_t data_size, size_t min_pad,
+ unsigned int mflags)
{
mbuffer_st *bufel;
ssize_t cipher_size;
@@ -483,9 +473,9 @@ _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
return GNUTLS_E_INVALID_REQUEST;
}
- if (type != GNUTLS_ALERT) /* alert messages are sent anyway */
- if (session_is_valid(session)
- || session->internals.may_not_write != 0) {
+ if (type != GNUTLS_ALERT) /* alert messages are sent anyway */
+ if (session_is_valid(session) ||
+ session->internals.may_not_write != 0) {
gnutls_assert();
return GNUTLS_E_INVALID_SESSION;
}
@@ -503,8 +493,8 @@ _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
/* Only encrypt if we don't have data to send
* from the previous run. - probably interrupted.
*/
- if (mflags != 0
- && session->internals.record_send_buffer.byte_length > 0) {
+ if (mflags != 0 &&
+ session->internals.record_send_buffer.byte_length > 0) {
ret = _gnutls_io_write_flush(session);
if (ret > 0)
cipher_size = ret;
@@ -519,17 +509,17 @@ _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
/* now proceed to packet encryption
*/
cipher_size = max_record_send_size(session) +
- MAX_RECORD_SEND_OVERHEAD(session);
+ MAX_RECORD_SEND_OVERHEAD(session);
- bufel = _mbuffer_alloc_align16(cipher_size + CIPHER_SLACK_SIZE,
- get_total_headers2(session,
- record_params));
+ bufel = _mbuffer_alloc_align16(
+ cipher_size + CIPHER_SLACK_SIZE,
+ get_total_headers2(session, record_params));
if (bufel == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
headers = _mbuffer_get_uhead_ptr(bufel);
- if (vers->tls13_sem
- && record_params->cipher->id != GNUTLS_CIPHER_NULL)
+ if (vers->tls13_sem &&
+ record_params->cipher->id != GNUTLS_CIPHER_NULL)
headers[0] = GNUTLS_APPLICATION_DATA;
else
headers[0] = type;
@@ -545,36 +535,34 @@ _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
_gnutls_write_uint64(record_state->sequence_number,
&headers[3]);
- _gnutls_record_log
- ("REC[%p]: Preparing Packet %s(%d) with length: %d and min pad: %d\n",
- session, _gnutls_packet2str(type), type,
- (int)data_size, (int)min_pad);
+ _gnutls_record_log(
+ "REC[%p]: Preparing Packet %s(%d) with length: %d and min pad: %d\n",
+ session, _gnutls_packet2str(type), type, (int)data_size,
+ (int)min_pad);
header_size = RECORD_HEADER_SIZE(session);
_mbuffer_set_udata_size(bufel, cipher_size);
_mbuffer_set_uhead_size(bufel, header_size);
- ret =
- _gnutls_encrypt(session,
- data, send_data_size, min_pad,
- bufel, type, record_params);
+ ret = _gnutls_encrypt(session, data, send_data_size, min_pad,
+ bufel, type, record_params);
if (ret <= 0) {
gnutls_assert();
if (ret == 0)
ret = GNUTLS_E_ENCRYPTION_FAILED;
gnutls_free(bufel);
- return ret; /* error */
+ return ret; /* error */
}
cipher_size = _mbuffer_get_udata_size(bufel);
retval = send_data_size;
session->internals.record_send_buffer_user_size =
- send_data_size;
+ send_data_size;
/* increase sequence number
*/
- if (sequence_increment
- (session, &record_state->sequence_number) != 0) {
+ if (sequence_increment(session,
+ &record_state->sequence_number) != 0) {
session_invalidate(session);
gnutls_free(bufel);
return gnutls_assert_val(GNUTLS_E_RECORD_LIMIT_REACHED);
@@ -600,30 +588,29 @@ _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
session->internals.record_send_buffer_user_size = 0;
- _gnutls_record_log
- ("REC[%p]: Sent Packet[%ld] %s(%d) in epoch %d and length: %d\n",
- session, (unsigned long)(record_state->sequence_number),
- _gnutls_packet2str(type), type, (int)record_params->epoch,
- (int)cipher_size);
-
- if (vers->tls13_sem
- && !(session->internals.flags & GNUTLS_NO_AUTO_REKEY)
- && !(record_params->cipher->flags & GNUTLS_CIPHER_FLAG_NO_REKEY)) {
- if (unlikely
- ((record_state->sequence_number & UINT64_C(0xffffff)) ==
- UINT64_C(0xfffffd))) {
+ _gnutls_record_log(
+ "REC[%p]: Sent Packet[%ld] %s(%d) in epoch %d and length: %d\n",
+ session, (unsigned long)(record_state->sequence_number),
+ _gnutls_packet2str(type), type, (int)record_params->epoch,
+ (int)cipher_size);
+
+ if (vers->tls13_sem &&
+ !(session->internals.flags & GNUTLS_NO_AUTO_REKEY) &&
+ !(record_params->cipher->flags & GNUTLS_CIPHER_FLAG_NO_REKEY)) {
+ if (unlikely((record_state->sequence_number &
+ UINT64_C(0xffffff)) == UINT64_C(0xfffffd))) {
/* After we have sent 2^24 messages, mark the session
* as needing a key update. */
session->internals.rsend_state =
- RECORD_SEND_KEY_UPDATE_1;
+ RECORD_SEND_KEY_UPDATE_1;
}
}
return retval;
}
-inline static int
-check_recv_type(gnutls_session_t session, content_type_t recv_type)
+inline static int check_recv_type(gnutls_session_t session,
+ content_type_t recv_type)
{
switch (recv_type) {
case GNUTLS_CHANGE_CIPHER_SPEC:
@@ -639,23 +626,20 @@ check_recv_type(gnutls_session_t session, content_type_t recv_type)
(unsigned int)recv_type);
return GNUTLS_E_UNEXPECTED_PACKET;
}
-
}
/* Checks if there are pending data in the record buffers. If there are
* then it copies the data.
*/
-static int
-get_data_from_buffers(gnutls_session_t session, content_type_t type,
- uint8_t * data, int data_size, void *seq)
+static int get_data_from_buffers(gnutls_session_t session, content_type_t type,
+ uint8_t *data, int data_size, void *seq)
{
- if ((type == GNUTLS_APPLICATION_DATA ||
- type == GNUTLS_HANDSHAKE || type == GNUTLS_CHANGE_CIPHER_SPEC)
- && _gnutls_record_buffer_get_size(session) > 0) {
+ if ((type == GNUTLS_APPLICATION_DATA || type == GNUTLS_HANDSHAKE ||
+ type == GNUTLS_CHANGE_CIPHER_SPEC) &&
+ _gnutls_record_buffer_get_size(session) > 0) {
int ret;
- ret =
- _gnutls_record_buffer_get(type, session, data,
- data_size, seq);
+ ret = _gnutls_record_buffer_get(type, session, data, data_size,
+ seq);
if (ret < 0) {
if (IS_DTLS(session)) {
if (ret == GNUTLS_E_UNEXPECTED_PACKET) {
@@ -674,9 +658,8 @@ get_data_from_buffers(gnutls_session_t session, content_type_t type,
/* Checks and retrieves any pending data in the application data record buffers.
*/
-static int
-get_packet_from_buffers(gnutls_session_t session, content_type_t type,
- gnutls_packet_t * packet)
+static int get_packet_from_buffers(gnutls_session_t session,
+ content_type_t type, gnutls_packet_t *packet)
{
if (_gnutls_record_buffer_get_size(session) > 0) {
int ret;
@@ -701,9 +684,9 @@ get_packet_from_buffers(gnutls_session_t session, content_type_t type,
/* Here we check if the advertized version is the one we
* negotiated in the handshake.
*/
-inline static int
-record_check_version(gnutls_session_t session,
- gnutls_handshake_description_t htype, uint8_t version[2])
+inline static int record_check_version(gnutls_session_t session,
+ gnutls_handshake_description_t htype,
+ uint8_t version[2])
{
const version_entry_st *vers = get_version(session);
int diff = 0;
@@ -723,9 +706,9 @@ record_check_version(gnutls_session_t session,
htype == GNUTLS_HANDSHAKE_SERVER_HELLO) {
if (version[0] != 3) {
gnutls_assert();
- _gnutls_record_log
- ("REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n",
- session, htype, version[0], version[1]);
+ _gnutls_record_log(
+ "REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n",
+ session, htype, version[0], version[1]);
return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
}
} else if (diff != 0) {
@@ -734,41 +717,41 @@ record_check_version(gnutls_session_t session,
* mac. I don't really think that this check serves any purpose.
*/
gnutls_assert();
- _gnutls_record_log
- ("REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n",
- session, htype, version[0], version[1]);
+ _gnutls_record_log(
+ "REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n",
+ session, htype, version[0], version[1]);
return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
}
- } else { /* DTLS */
+ } else { /* DTLS */
/* In DTLS the only information we have here is whether we
* expect a handshake message or not.
*/
- if (htype == (gnutls_handshake_description_t) - 1) {
+ if (htype == (gnutls_handshake_description_t)-1) {
if (diff) {
/* Reject record packets that have a different version than the
* one negotiated. Note that this version is not protected by any
* mac. I don't really think that this check serves any purpose.
*/
gnutls_assert();
- _gnutls_record_log
- ("REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n",
- session, htype, version[0], version[1]);
+ _gnutls_record_log(
+ "REC[%p]: INVALID VERSION PACKET: (%d) %d.%d\n",
+ session, htype, version[0], version[1]);
return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
}
} else if (vers->id > GNUTLS_DTLS1_0 && version[0] > 254) {
gnutls_assert();
- _gnutls_record_log
- ("REC[%p]: INVALID DTLS VERSION PACKET: (%d) %d.%d\n",
- session, htype, version[0], version[1]);
+ _gnutls_record_log(
+ "REC[%p]: INVALID DTLS VERSION PACKET: (%d) %d.%d\n",
+ session, htype, version[0], version[1]);
return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
} else if (vers->id == GNUTLS_DTLS0_9 && version[0] > 1) {
gnutls_assert();
- _gnutls_record_log
- ("REC[%p]: INVALID DTLS VERSION PACKET: (%d) %d.%d\n",
- session, htype, version[0], version[1]);
+ _gnutls_record_log(
+ "REC[%p]: INVALID DTLS VERSION PACKET: (%d) %d.%d\n",
+ session, htype, version[0], version[1]);
return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
}
}
@@ -776,8 +759,8 @@ record_check_version(gnutls_session_t session,
return 0;
}
-static int
-recv_hello_request(gnutls_session_t session, void *data, uint32_t data_size)
+static int recv_hello_request(gnutls_session_t session, void *data,
+ uint32_t data_size)
{
uint8_t type;
@@ -790,7 +773,7 @@ recv_hello_request(gnutls_session_t session, void *data, uint32_t data_size)
if (session->internals.handshake_in_progress)
return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
- type = ((uint8_t *) data)[0];
+ type = ((uint8_t *)data)[0];
if (type == GNUTLS_HANDSHAKE_HELLO_REQUEST) {
if (IS_DTLS(session))
session->internals.dtls.hsk_read_seq++;
@@ -811,20 +794,18 @@ recv_hello_request(gnutls_session_t session, void *data, uint32_t data_size)
* buffer. The bufel will be deinitialized after calling
* this function, even if it fails.
*/
-static int
-record_add_to_buffers(gnutls_session_t session,
- struct tls_record_st *recv, content_type_t type,
- gnutls_handshake_description_t htype,
- uint64_t seq, mbuffer_st * bufel)
+static int record_add_to_buffers(gnutls_session_t session,
+ struct tls_record_st *recv,
+ content_type_t type,
+ gnutls_handshake_description_t htype,
+ uint64_t seq, mbuffer_st *bufel)
{
-
int ret;
const version_entry_st *ver = get_version(session);
- if ((recv->type == type)
- && (type == GNUTLS_APPLICATION_DATA ||
- type == GNUTLS_CHANGE_CIPHER_SPEC ||
- type == GNUTLS_HANDSHAKE)) {
+ if ((recv->type == type) &&
+ (type == GNUTLS_APPLICATION_DATA ||
+ type == GNUTLS_CHANGE_CIPHER_SPEC || type == GNUTLS_HANDSHAKE)) {
if (bufel->msg.size == 0) {
if (type == GNUTLS_APPLICATION_DATA) {
/* this is needed to distinguish an empty
@@ -832,9 +813,8 @@ record_add_to_buffers(gnutls_session_t session,
ret = GNUTLS_E_AGAIN;
goto cleanup;
} else {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
}
@@ -844,7 +824,7 @@ record_add_to_buffers(gnutls_session_t session,
if (type == GNUTLS_APPLICATION_DATA &&
(session->internals.handshake_recv_buffer_size != 0 ||
session->internals.handshake_header_recv_buffer.length !=
- 0)) {
+ 0)) {
ret = gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
@@ -870,22 +850,21 @@ record_add_to_buffers(gnutls_session_t session,
switch (recv->type) {
case GNUTLS_ALERT:
if (bufel->msg.size < 2) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
- _gnutls_record_log
- ("REC[%p]: Alert[%d|%d] - %s - was received\n",
- session, bufel->msg.data[0],
- bufel->msg.data[1],
- gnutls_alert_get_name((int)bufel->msg.data[1]));
+ _gnutls_record_log(
+ "REC[%p]: Alert[%d|%d] - %s - was received\n",
+ session, bufel->msg.data[0], bufel->msg.data[1],
+ gnutls_alert_get_name((int)bufel->msg.data[1]));
- if (!session->internals.initial_negotiation_completed && session->internals.handshake_in_progress && STATE == STATE0) { /* handshake hasn't started */
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ if (!session->internals.initial_negotiation_completed &&
+ session->internals.handshake_in_progress &&
+ STATE == STATE0) { /* handshake hasn't started */
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
@@ -894,8 +873,8 @@ record_add_to_buffers(gnutls_session_t session,
/* if close notify is received and
* the alert is not fatal
*/
- if (bufel->msg.data[1] == GNUTLS_A_CLOSE_NOTIFY
- && bufel->msg.data[0] != GNUTLS_AL_FATAL) {
+ if (bufel->msg.data[1] == GNUTLS_A_CLOSE_NOTIFY &&
+ bufel->msg.data[0] != GNUTLS_AL_FATAL) {
/* If we have been expecting for an alert do
*/
session->internals.read_eof = 1;
@@ -907,13 +886,12 @@ record_add_to_buffers(gnutls_session_t session,
*/
gnutls_assert();
ret = GNUTLS_E_WARNING_ALERT_RECEIVED;
- if ((ver && ver->tls13_sem)
- || bufel->msg.data[0] == GNUTLS_AL_FATAL) {
+ if ((ver && ver->tls13_sem) ||
+ bufel->msg.data[0] == GNUTLS_AL_FATAL) {
session_unresumable(session);
session_invalidate(session);
- ret =
- gnutls_assert_val
- (GNUTLS_E_FATAL_ALERT_RECEIVED);
+ ret = gnutls_assert_val(
+ GNUTLS_E_FATAL_ALERT_RECEIVED);
}
goto cleanup;
}
@@ -921,9 +899,8 @@ record_add_to_buffers(gnutls_session_t session,
case GNUTLS_CHANGE_CIPHER_SPEC:
if (!(IS_DTLS(session))) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto cleanup;
}
@@ -932,9 +909,8 @@ record_add_to_buffers(gnutls_session_t session,
* includes a sequence number */
if (!(ver && ver->id == GNUTLS_DTLS0_9) &&
(bufel->msg.size != 1 || bufel->msg.data[0] != 1)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
@@ -952,44 +928,40 @@ record_add_to_buffers(gnutls_session_t session,
case GNUTLS_APPLICATION_DATA:
if (session->internals.initial_negotiation_completed ==
0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
/* In TLS1.3 post-handshake authentication allow application
* data error code. */
- if ((ver && ver->tls13_sem) && type == GNUTLS_HANDSHAKE
- && htype == GNUTLS_HANDSHAKE_CERTIFICATE_PKT
- && session->
- internals.initial_negotiation_completed) {
+ if ((ver && ver->tls13_sem) &&
+ type == GNUTLS_HANDSHAKE &&
+ htype == GNUTLS_HANDSHAKE_CERTIFICATE_PKT &&
+ session->internals.initial_negotiation_completed) {
_gnutls_record_buffer_put(session, recv->type,
seq, bufel);
- return
- gnutls_assert_val
- (GNUTLS_E_GOT_APPLICATION_DATA);
+ return gnutls_assert_val(
+ GNUTLS_E_GOT_APPLICATION_DATA);
}
/* The got_application data is only returned
* if expecting client hello (for rehandshake
* reasons). Otherwise it is an unexpected packet
*/
- if (type == GNUTLS_ALERT
- || ((htype == GNUTLS_HANDSHAKE_SERVER_HELLO ||
- htype == GNUTLS_HANDSHAKE_CLIENT_HELLO ||
- htype == GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST)
- && type == GNUTLS_HANDSHAKE)) {
+ if (type == GNUTLS_ALERT ||
+ ((htype == GNUTLS_HANDSHAKE_SERVER_HELLO ||
+ htype == GNUTLS_HANDSHAKE_CLIENT_HELLO ||
+ htype == GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST) &&
+ type == GNUTLS_HANDSHAKE)) {
/* even if data is unexpected put it into the buffer */
_gnutls_record_buffer_put(session, recv->type,
seq, bufel);
- return
- gnutls_assert_val
- (GNUTLS_E_GOT_APPLICATION_DATA);
+ return gnutls_assert_val(
+ GNUTLS_E_GOT_APPLICATION_DATA);
} else {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
@@ -1001,32 +973,30 @@ record_add_to_buffers(gnutls_session_t session,
*/
if (IS_DTLS(session)) {
if (type == GNUTLS_CHANGE_CIPHER_SPEC) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
goto unexpected_packet;
}
- if (_dtls_is_async(session)
- && _dtls_async_timer_active(session)) {
- if (session->security_parameters.
- entity == GNUTLS_SERVER
- && bufel->htype ==
- GNUTLS_HANDSHAKE_CLIENT_HELLO) {
+ if (_dtls_is_async(session) &&
+ _dtls_async_timer_active(session)) {
+ if (session->security_parameters.entity ==
+ GNUTLS_SERVER &&
+ bufel->htype ==
+ GNUTLS_HANDSHAKE_CLIENT_HELLO) {
/* client requested rehandshake. Delete the timer */
- _dtls_async_timer_delete
- (session);
+ _dtls_async_timer_delete(
+ session);
} else {
session->internals.recv_state =
- RECV_STATE_DTLS_RETRANSMIT;
+ RECV_STATE_DTLS_RETRANSMIT;
ret = _dtls_retransmit(session);
if (ret == 0) {
- session->internals.
- recv_state =
- RECV_STATE_0;
- ret =
- gnutls_assert_val
- (GNUTLS_E_AGAIN);
+ session->internals
+ .recv_state =
+ RECV_STATE_0;
+ ret = gnutls_assert_val(
+ GNUTLS_E_AGAIN);
goto unexpected_packet;
}
goto cleanup;
@@ -1051,12 +1021,11 @@ record_add_to_buffers(gnutls_session_t session,
* If we are a server, a client may initiate a renegotiation at any time.
*/
if (session->security_parameters.entity ==
- GNUTLS_SERVER
- && session->internals.handshake_in_progress == 0
- && bufel->htype == GNUTLS_HANDSHAKE_CLIENT_HELLO) {
+ GNUTLS_SERVER &&
+ session->internals.handshake_in_progress == 0 &&
+ bufel->htype == GNUTLS_HANDSHAKE_CLIENT_HELLO) {
gnutls_assert();
- _gnutls_record_buffer_put(session,
- recv->type,
+ _gnutls_record_buffer_put(session, recv->type,
seq, bufel);
return GNUTLS_E_REHANDSHAKE;
}
@@ -1068,18 +1037,16 @@ record_add_to_buffers(gnutls_session_t session,
/* So we accept it, if it is a Hello. If not, this will
* fail and trigger flight retransmissions after some time. */
- ret =
- recv_hello_request(session,
- bufel->msg.data,
- bufel->msg.size);
+ ret = recv_hello_request(session, bufel->msg.data,
+ bufel->msg.size);
goto unexpected_packet;
default:
- _gnutls_record_log
- ("REC[%p]: Received unexpected packet %d (%s) expecting %d (%s)\n",
- session, recv->type,
- _gnutls_packet2str(recv->type), type,
- _gnutls_packet2str(type));
+ _gnutls_record_log(
+ "REC[%p]: Received unexpected packet %d (%s) expecting %d (%s)\n",
+ session, recv->type,
+ _gnutls_packet2str(recv->type), type,
+ _gnutls_packet2str(type));
gnutls_assert();
ret = GNUTLS_E_UNEXPECTED_PACKET;
@@ -1089,50 +1056,47 @@ record_add_to_buffers(gnutls_session_t session,
return 0;
- unexpected_packet:
+unexpected_packet:
if (IS_DTLS(session) && ret != GNUTLS_E_REHANDSHAKE) {
_mbuffer_xfree(&bufel);
RETURN_DTLS_EAGAIN_OR_TIMEOUT(session, ret);
}
- cleanup:
+cleanup:
_mbuffer_xfree(&bufel);
return ret;
-
}
/* Checks the record headers and returns the length, version and
* content type.
*/
-static void
-record_read_headers(gnutls_session_t session,
- uint8_t headers[MAX_RECORD_HEADER_SIZE],
- content_type_t type,
- gnutls_handshake_description_t htype,
- struct tls_record_st *record)
+static void record_read_headers(gnutls_session_t session,
+ uint8_t headers[MAX_RECORD_HEADER_SIZE],
+ content_type_t type,
+ gnutls_handshake_description_t htype,
+ struct tls_record_st *record)
{
-
/* Read the first two bytes to determine if this is a
* version 2 message
*/
#ifdef ENABLE_SSL2
- if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO
- && type == GNUTLS_HANDSHAKE && headers[0] > 127
- && !(IS_DTLS(session))) {
-
+ if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO &&
+ type == GNUTLS_HANDSHAKE && headers[0] > 127 &&
+ !(IS_DTLS(session))) {
/* if msb set and expecting handshake message
* it should be SSL 2 hello
*/
- record->version[0] = 3; /* assume SSL 3.0 */
+ record->version[0] = 3; /* assume SSL 3.0 */
record->version[1] = 0;
record->length = (((headers[0] & 0x7f) << 8)) | headers[1];
/* SSL 2.0 headers */
record->header_size = record->packet_size = 2;
- record->type = GNUTLS_HANDSHAKE; /* we accept only v2 client hello
+ record->type =
+ GNUTLS_HANDSHAKE; /* we accept only v2 client hello
*/
/* in order to assist the handshake protocol.
@@ -1142,9 +1106,10 @@ record_read_headers(gnutls_session_t session,
record->epoch = 0;
memset(&record->sequence, 0, sizeof(record->sequence));
- _gnutls_record_log
- ("REC[%p]: SSL 2.0 %s packet received. Length: %d\n",
- session, _gnutls_packet2str(record->type), record->length);
+ _gnutls_record_log(
+ "REC[%p]: SSL 2.0 %s packet received. Length: %d\n",
+ session, _gnutls_packet2str(record->type),
+ record->length);
} else
#endif
@@ -1168,26 +1133,25 @@ record_read_headers(gnutls_session_t session,
record->epoch = session->security_parameters.epoch_read;
}
- _gnutls_record_log
- ("REC[%p]: SSL %d.%d %s packet received. Epoch %d, length: %d\n",
- session, (int)record->version[0],
- (int)record->version[1],
- _gnutls_packet2str(record->type), (int)record->epoch,
- record->length);
-
+ _gnutls_record_log(
+ "REC[%p]: SSL %d.%d %s packet received. Epoch %d, length: %d\n",
+ session, (int)record->version[0],
+ (int)record->version[1],
+ _gnutls_packet2str(record->type), (int)record->epoch,
+ record->length);
}
record->packet_size += record->length;
}
static int recv_headers(gnutls_session_t session,
- record_parameters_st * record_params,
+ record_parameters_st *record_params,
content_type_t type,
gnutls_handshake_description_t htype,
struct tls_record_st *record, unsigned int *ms)
{
int ret;
- gnutls_datum_t raw; /* raw headers */
+ gnutls_datum_t raw; /* raw headers */
/* Read the headers.
*/
record->header_size = record->packet_size = RECORD_HEADER_SIZE(session);
@@ -1220,11 +1184,11 @@ static int recv_headers(gnutls_session_t session,
/* Check if the DTLS epoch is valid */
if (IS_DTLS(session)) {
if (_gnutls_epoch_is_valid(session, record->epoch) == 0) {
- _gnutls_audit_log(session,
- "Discarded message[%lu] with invalid epoch %u.\n",
- (unsigned long)record->sequence,
- (unsigned int)(record->sequence >>
- 48));
+ _gnutls_audit_log(
+ session,
+ "Discarded message[%lu] with invalid epoch %u.\n",
+ (unsigned long)record->sequence,
+ (unsigned int)(record->sequence >> 48));
gnutls_assert();
/* doesn't matter, just a fatal error */
return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
@@ -1243,31 +1207,30 @@ static int recv_headers(gnutls_session_t session,
if ((ret = record_check_version(session, htype, record->version)) < 0)
return gnutls_assert_val(ret);
- if (record->length == 0
- || record->length > max_record_recv_size(session)) {
- _gnutls_audit_log(session,
- "Received packet with illegal length: %u (max: %u)\n",
- (unsigned int)record->length,
- (unsigned)max_record_recv_size(session));
+ if (record->length == 0 ||
+ record->length > max_record_recv_size(session)) {
+ _gnutls_audit_log(
+ session,
+ "Received packet with illegal length: %u (max: %u)\n",
+ (unsigned int)record->length,
+ (unsigned)max_record_recv_size(session));
if (record->length == 0) {
/* Empty, unencrypted records are always unexpected. */
if (record_params->cipher->id == GNUTLS_CIPHER_NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
return gnutls_assert_val(GNUTLS_E_DECRYPTION_FAILED);
}
return gnutls_assert_val(GNUTLS_E_RECORD_OVERFLOW);
}
- _gnutls_record_log
- ("REC[%p]: Expected Packet %s(%d)\n", session,
- _gnutls_packet2str(type), type);
- _gnutls_record_log
- ("REC[%p]: Received Packet %s(%d) with length: %d\n", session,
- _gnutls_packet2str(record->type), record->type, record->length);
+ _gnutls_record_log("REC[%p]: Expected Packet %s(%d)\n", session,
+ _gnutls_packet2str(type), type);
+ _gnutls_record_log("REC[%p]: Received Packet %s(%d) with length: %d\n",
+ session, _gnutls_packet2str(record->type),
+ record->type, record->length);
return 0;
}
@@ -1280,9 +1243,9 @@ static int recv_headers(gnutls_session_t session,
* If the htype is not -1 then handshake timeouts
* will be enforced.
*/
-ssize_t
-_gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
- gnutls_handshake_description_t htype, unsigned int ms)
+ssize_t _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
+ gnutls_handshake_description_t htype,
+ unsigned int ms)
{
uint64_t packet_sequence;
gnutls_datum_t ciphertext;
@@ -1295,7 +1258,7 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
struct tls_record_st record;
const version_entry_st *vers = get_version(session);
- begin:
+begin:
if (n_retries > DEFAULT_MAX_EMPTY_RECORDS) {
gnutls_assert();
@@ -1306,8 +1269,8 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
/* if we have already read an EOF
*/
return 0;
- } else if (session_is_valid(session) != 0
- || session->internals.may_not_read != 0)
+ } else if (session_is_valid(session) != 0 ||
+ session->internals.may_not_read != 0)
return gnutls_assert_val(GNUTLS_E_INVALID_SESSION);
/* get the record state parameters */
@@ -1322,10 +1285,9 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
record_state = &record_params->read;
/* receive headers */
- ret =
- recv_headers(session, record_params, type, htype, &record,
- (!(session->
- internals.flags & GNUTLS_NONBLOCK)) ? &ms : 0);
+ ret = recv_headers(
+ session, record_params, type, htype, &record,
+ (!(session->internals.flags & GNUTLS_NONBLOCK)) ? &ms : 0);
if (ret < 0) {
ret = gnutls_assert_val_fatal(ret);
goto recv_error;
@@ -1338,12 +1300,9 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
/* Read the packet data and insert it to record_recv_buffer.
*/
- ret =
- _gnutls_io_read_buffered(session, record.packet_size,
- record.type,
- (!(session->
- internals.flags & GNUTLS_NONBLOCK)) ?
- &ms : 0);
+ ret = _gnutls_io_read_buffered(
+ session, record.packet_size, record.type,
+ (!(session->internals.flags & GNUTLS_NONBLOCK)) ? &ms : 0);
if (ret != record.packet_size) {
gnutls_assert();
goto recv_error;
@@ -1358,14 +1317,14 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
if (ret < 0)
return gnutls_assert_val(ret);
- bufel =
- _mbuffer_head_get_first(&session->internals.record_recv_buffer,
- NULL);
+ bufel = _mbuffer_head_get_first(&session->internals.record_recv_buffer,
+ NULL);
if (bufel == NULL)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
/* ignore CCS if TLS 1.3 is negotiated */
- if (record.type == GNUTLS_CHANGE_CIPHER_SPEC && vers && vers->tls13_sem) {
+ if (record.type == GNUTLS_CHANGE_CIPHER_SPEC && vers &&
+ vers->tls13_sem) {
/* if the CCS has arrived after Finished, abort the
* connection */
if (!session->internals.handshake_in_progress) {
@@ -1374,9 +1333,8 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
_gnutls_read_log("discarding change cipher spec in TLS1.3\n");
/* we use the same mechanism to retry as when
* receiving multiple empty TLS packets */
- bufel =
- _mbuffer_head_pop_first(&session->internals.
- record_recv_buffer);
+ bufel = _mbuffer_head_pop_first(
+ &session->internals.record_recv_buffer);
_mbuffer_xfree(&bufel);
n_retries++;
goto begin;
@@ -1393,16 +1351,15 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
_mbuffer_set_udata_size(decrypted, ret);
ciphertext.data =
- (uint8_t *) _mbuffer_get_udata_ptr(bufel) + record.header_size;
+ (uint8_t *)_mbuffer_get_udata_ptr(bufel) + record.header_size;
ciphertext.size = record.length;
/* decrypt the data we got.
*/
t.data = _mbuffer_get_udata_ptr(decrypted);
t.size = _mbuffer_get_udata_size(decrypted);
- ret =
- _gnutls_decrypt(session, &ciphertext, &t,
- &record.type, record_params, packet_sequence);
+ ret = _gnutls_decrypt(session, &ciphertext, &t, &record.type,
+ record_params, packet_sequence);
if (ret >= 0)
_mbuffer_set_udata_size(decrypted, ret);
@@ -1416,43 +1373,45 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
/* early data must always be encrypted, treat it
* as decryption failure if otherwise */
record_params->cipher->id == GNUTLS_CIPHER_NULL) {
- _gnutls_record_log
- ("REC[%p]: failed to decrypt early data, in epoch %d\n",
- session, record_params->epoch);
+ _gnutls_record_log(
+ "REC[%p]: failed to decrypt early data, in epoch %d\n",
+ session, record_params->epoch);
ret = GNUTLS_E_DECRYPTION_FAILED;
goto sanity_check_error;
} else if (record.type == GNUTLS_APPLICATION_DATA) {
size_t decrypted_length =
- _mbuffer_get_udata_size(decrypted);
- _gnutls_record_log
- ("REC[%p]: decrypted early data with length: %d, in epoch %d\n",
- session,
- (int)decrypted_length,
- record_params->epoch);
+ _mbuffer_get_udata_size(decrypted);
+ _gnutls_record_log(
+ "REC[%p]: decrypted early data with length: %d, in epoch %d\n",
+ session, (int)decrypted_length,
+ record_params->epoch);
if (decrypted_length >
- session->
- security_parameters.max_early_data_size -
- session->internals.early_data_received) {
- _gnutls_record_log
- ("REC[%p]: max_early_data_size exceeded\n",
- session);
+ session->security_parameters
+ .max_early_data_size -
+ session->internals
+ .early_data_received) {
+ _gnutls_record_log(
+ "REC[%p]: max_early_data_size exceeded\n",
+ session);
ret = GNUTLS_E_UNEXPECTED_PACKET;
goto sanity_check_error;
}
- _mbuffer_enqueue(&session->
- internals.early_data_recv_buffer,
- decrypted);
+ _mbuffer_enqueue(
+ &session->internals
+ .early_data_recv_buffer,
+ decrypted);
session->internals.early_data_received +=
- decrypted_length;
+ decrypted_length;
/* Increase sequence number. We do both for TLS and DTLS, since in
* DTLS we also rely on that number (roughly) since it may get reported
* to application via gnutls_record_get_state().
*/
- if (sequence_increment
- (session,
- &record_state->sequence_number) != 0) {
+ if (sequence_increment(
+ session,
+ &record_state->sequence_number) !=
+ 0) {
session_invalidate(session);
gnutls_assert();
ret = GNUTLS_E_RECORD_LIMIT_REACHED;
@@ -1474,38 +1433,39 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
* as decryption failure if otherwise */
record_params->cipher->id == GNUTLS_CIPHER_NULL)) {
if (record.length >
- session->
- security_parameters.max_early_data_size -
- session->internals.early_data_received) {
- _gnutls_record_log
- ("REC[%p]: max_early_data_size exceeded\n",
- session);
+ session->security_parameters
+ .max_early_data_size -
+ session->internals
+ .early_data_received) {
+ _gnutls_record_log(
+ "REC[%p]: max_early_data_size exceeded\n",
+ session);
ret = GNUTLS_E_UNEXPECTED_PACKET;
goto sanity_check_error;
}
- _gnutls_record_log
- ("REC[%p]: Discarded early data[%lu] due to invalid decryption, length: %u\n",
- session, (unsigned long)packet_sequence,
- (unsigned int)
- record.length);
+ _gnutls_record_log(
+ "REC[%p]: Discarded early data[%lu] due to invalid decryption, length: %u\n",
+ session, (unsigned long)packet_sequence,
+ (unsigned int)record.length);
session->internals.early_data_received +=
- record.length;
+ record.length;
/* silently discard received data */
_mbuffer_xfree(&decrypted);
return gnutls_assert_val(GNUTLS_E_AGAIN);
} else {
session->internals.hsk_flags &=
- ~HSK_EARLY_DATA_IN_FLIGHT;
+ ~HSK_EARLY_DATA_IN_FLIGHT;
}
}
}
if (ret < 0) {
gnutls_assert();
- _gnutls_audit_log(session,
- "Discarded message[%lu] due to invalid decryption\n",
- (unsigned long)packet_sequence);
+ _gnutls_audit_log(
+ session,
+ "Discarded message[%lu] due to invalid decryption\n",
+ (unsigned long)packet_sequence);
goto sanity_check_error;
}
@@ -1513,41 +1473,37 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
/* check for duplicates. We check after the message
* is processed and authenticated to avoid someone
* messing with our windows. */
- if (likely
- (!(session->
- internals.flags & GNUTLS_NO_REPLAY_PROTECTION))) {
- ret =
- _dtls_record_check(record_params, packet_sequence);
+ if (likely(!(session->internals.flags &
+ GNUTLS_NO_REPLAY_PROTECTION))) {
+ ret = _dtls_record_check(record_params,
+ packet_sequence);
if (ret < 0) {
- _gnutls_record_log
- ("REC[%p]: Discarded duplicate message[%u.%lu]: %s\n",
- session,
- (unsigned int)(record.sequence >> 48),
- (unsigned long)(packet_sequence),
- _gnutls_packet2str(record.type));
+ _gnutls_record_log(
+ "REC[%p]: Discarded duplicate message[%u.%lu]: %s\n",
+ session,
+ (unsigned int)(record.sequence >> 48),
+ (unsigned long)(packet_sequence),
+ _gnutls_packet2str(record.type));
goto sanity_check_error;
}
}
- _gnutls_record_log
- ("REC[%p]: Decrypted Packet[%u.%lu] %s(%d) with length: %d\n",
- session,
- (unsigned int)(record.sequence >> 48),
- (unsigned long)packet_sequence,
- _gnutls_packet2str(record.type), record.type,
- (int)_mbuffer_get_udata_size(decrypted));
+ _gnutls_record_log(
+ "REC[%p]: Decrypted Packet[%u.%lu] %s(%d) with length: %d\n",
+ session, (unsigned int)(record.sequence >> 48),
+ (unsigned long)packet_sequence,
+ _gnutls_packet2str(record.type), record.type,
+ (int)_mbuffer_get_udata_size(decrypted));
/* store the last valid sequence number. We don't use that internally but
* callers of gnutls_record_get_state() could take advantage of it. */
record_state->sequence_number = record.sequence;
} else {
- _gnutls_record_log
- ("REC[%p]: Decrypted Packet[%lu] %s(%d) with length: %d\n",
- session,
- (unsigned long)packet_sequence,
- _gnutls_packet2str(record.type), record.type,
- (int)_mbuffer_get_udata_size(decrypted));
-
+ _gnutls_record_log(
+ "REC[%p]: Decrypted Packet[%lu] %s(%d) with length: %d\n",
+ session, (unsigned long)packet_sequence,
+ _gnutls_packet2str(record.type), record.type,
+ (int)_mbuffer_get_udata_size(decrypted));
}
/* Increase sequence number. We do both for TLS and DTLS, since in
@@ -1582,9 +1538,9 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
}
if (_mbuffer_get_udata_size(decrypted) > max_decrypted_size(session)) {
- _gnutls_audit_log
- (session, "Received packet with illegal length: %u\n",
- (unsigned int)ret);
+ _gnutls_audit_log(session,
+ "Received packet with illegal length: %u\n",
+ (unsigned int)ret);
ret = gnutls_assert_val(GNUTLS_E_RECORD_OVERFLOW);
goto sanity_check_error;
@@ -1600,9 +1556,8 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
decrypted->htype = p[0];
}
- ret =
- record_add_to_buffers(session, &record, type, htype,
- packet_sequence, decrypted);
+ ret = record_add_to_buffers(session, &record, type, htype,
+ packet_sequence, decrypted);
/* decrypted is now either deinitialized or buffered somewhere else */
@@ -1611,7 +1566,7 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
return ret;
- discard:
+discard:
session->internals.dtls.packets_dropped++;
/* discard the whole received fragment. */
@@ -1619,7 +1574,7 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
_mbuffer_xfree(&bufel);
return gnutls_assert_val(GNUTLS_E_AGAIN);
- sanity_check_error:
+sanity_check_error:
if (IS_DTLS(session)) {
session->internals.dtls.packets_dropped++;
ret = gnutls_assert_val(GNUTLS_E_AGAIN);
@@ -1629,16 +1584,16 @@ _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t type,
session_unresumable(session);
session_invalidate(session);
- cleanup:
+cleanup:
_mbuffer_xfree(&decrypted);
return ret;
- recv_error:
- if (ret < 0
- && (gnutls_error_is_fatal(ret) == 0 || ret == GNUTLS_E_TIMEDOUT))
+recv_error:
+ if (ret < 0 &&
+ (gnutls_error_is_fatal(ret) == 0 || ret == GNUTLS_E_TIMEDOUT))
return ret;
- if (type == GNUTLS_ALERT) { /* we were expecting close notify */
+ if (type == GNUTLS_ALERT) { /* we were expecting close notify */
session_invalidate(session);
gnutls_assert();
return 0;
@@ -1673,8 +1628,8 @@ static ssize_t check_session_status(gnutls_session_t session, unsigned ms)
/* if we have already read an EOF
*/
return 0;
- } else if (session_is_valid(session) != 0
- || session->internals.may_not_read != 0) {
+ } else if (session_is_valid(session) != 0 ||
+ session->internals.may_not_read != 0) {
gnutls_assert();
return GNUTLS_E_INVALID_SESSION;
}
@@ -1705,8 +1660,8 @@ static ssize_t check_session_status(gnutls_session_t session, unsigned ms)
return 1;
case RECV_STATE_ASYNC_HANDSHAKE:
- ret =
- _gnutls_recv_in_buffers(session, GNUTLS_HANDSHAKE, -1, ms);
+ ret = _gnutls_recv_in_buffers(session, GNUTLS_HANDSHAKE, -1,
+ ms);
if (ret < 0 && ret != GNUTLS_E_SESSION_EOF)
return gnutls_assert_val(ret);
@@ -1778,14 +1733,14 @@ static ssize_t check_session_status(gnutls_session_t session, unsigned ms)
* receive (if called by the user the Content is Userdata only)
* It is intended to receive data, under the current session.
*/
-ssize_t
-_gnutls_recv_int(gnutls_session_t session, content_type_t type,
- uint8_t * data, size_t data_size, void *seq, unsigned int ms)
+ssize_t _gnutls_recv_int(gnutls_session_t session, content_type_t type,
+ uint8_t *data, size_t data_size, void *seq,
+ unsigned int ms)
{
int ret;
- if ((type != GNUTLS_ALERT && type != GNUTLS_HEARTBEAT)
- && (data_size == 0 || data == NULL))
+ if ((type != GNUTLS_ALERT && type != GNUTLS_HEARTBEAT) &&
+ (data_size == 0 || data == NULL))
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
ret = check_session_status(session, ms);
@@ -1818,7 +1773,7 @@ _gnutls_recv_int(gnutls_session_t session, content_type_t type,
* Since: 3.3.5
**/
-void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t * data,
+void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t *data,
unsigned char *sequence)
{
if (unlikely(packet == NULL)) {
@@ -1897,16 +1852,16 @@ size_t gnutls_record_discard_queued(gnutls_session_t session)
*
* Since: 3.3.5
**/
-ssize_t
-gnutls_record_recv_packet(gnutls_session_t session, gnutls_packet_t * packet)
+ssize_t gnutls_record_recv_packet(gnutls_session_t session,
+ gnutls_packet_t *packet)
{
int ret;
if (packet == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- check_session_status(session, session->internals.record_timeout_ms);
+ ret = check_session_status(session,
+ session->internals.record_timeout_ms);
if (ret <= 0)
return ret;
@@ -1923,23 +1878,21 @@ gnutls_record_recv_packet(gnutls_session_t session, gnutls_packet_t * packet)
packet);
}
-static
-ssize_t append_data_to_corked(gnutls_session_t session, const void *data,
- size_t data_size)
+static ssize_t append_data_to_corked(gnutls_session_t session, const void *data,
+ size_t data_size)
{
int ret;
if (IS_DTLS(session)) {
if (data_size +
- session->internals.record_presend_buffer.length >
+ session->internals.record_presend_buffer.length >
gnutls_dtls_get_data_mtu(session)) {
return gnutls_assert_val(GNUTLS_E_LARGE_PACKET);
}
}
- ret =
- _gnutls_buffer_append_data(&session->internals.
- record_presend_buffer, data, data_size);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.record_presend_buffer, data, data_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1985,8 +1938,8 @@ ssize_t append_data_to_corked(gnutls_session_t session, const void *data,
* number of bytes this function can send in a single call depends
* on the negotiated maximum record size.
**/
-ssize_t
-gnutls_record_send(gnutls_session_t session, const void *data, size_t data_size)
+ssize_t gnutls_record_send(gnutls_session_t session, const void *data,
+ size_t data_size)
{
return gnutls_record_send2(session, data, data_size, 0, 0);
}
@@ -2015,9 +1968,8 @@ gnutls_record_send(gnutls_session_t session, const void *data, size_t data_size)
*
* Since: 3.6.3
**/
-ssize_t
-gnutls_record_send2(gnutls_session_t session, const void *data,
- size_t data_size, size_t pad, unsigned flags)
+ssize_t gnutls_record_send2(gnutls_session_t session, const void *data,
+ size_t data_size, size_t pad, unsigned flags)
{
const version_entry_st *vers = get_version(session);
size_t max_pad = 0;
@@ -2034,18 +1986,16 @@ gnutls_record_send2(gnutls_session_t session, const void *data,
if (!session->internals.initial_negotiation_completed &&
session->internals.recv_state != RECV_STATE_FALSE_START &&
session->internals.recv_state !=
- RECV_STATE_FALSE_START_HANDLING
- && session->internals.recv_state != RECV_STATE_EARLY_START
- && session->internals.recv_state !=
- RECV_STATE_EARLY_START_HANDLING
- && !(session->
- internals.hsk_flags & HSK_EARLY_DATA_IN_FLIGHT)) {
-
- gnutls_mutex_unlock(&session->
- internals.post_negotiation_lock);
- return
- gnutls_assert_val
- (GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE);
+ RECV_STATE_FALSE_START_HANDLING &&
+ session->internals.recv_state != RECV_STATE_EARLY_START &&
+ session->internals.recv_state !=
+ RECV_STATE_EARLY_START_HANDLING &&
+ !(session->internals.hsk_flags &
+ HSK_EARLY_DATA_IN_FLIGHT)) {
+ gnutls_mutex_unlock(
+ &session->internals.post_negotiation_lock);
+ return gnutls_assert_val(
+ GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE);
}
gnutls_mutex_unlock(&session->internals.post_negotiation_lock);
}
@@ -2054,9 +2004,8 @@ gnutls_record_send2(gnutls_session_t session, const void *data,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
if (vers->tls13_sem)
- max_pad =
- gnutls_record_get_max_size(session) -
- gnutls_record_overhead_size(session);
+ max_pad = gnutls_record_get_max_size(session) -
+ gnutls_record_overhead_size(session);
if (pad > max_pad)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -2076,13 +2025,12 @@ gnutls_record_send2(gnutls_session_t session, const void *data,
case RECORD_SEND_CORKED_TO_KU:
return append_data_to_corked(session, data, data_size);
case RECORD_SEND_KEY_UPDATE_1:
- _gnutls_buffer_reset(&session->
- internals.record_key_update_buffer);
+ _gnutls_buffer_reset(
+ &session->internals.record_key_update_buffer);
- ret =
- _gnutls_buffer_append_data(&session->
- internals.record_key_update_buffer,
- data, data_size);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.record_key_update_buffer, data,
+ data_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2097,24 +2045,22 @@ gnutls_record_send2(gnutls_session_t session, const void *data,
FALLTHROUGH;
case RECORD_SEND_KEY_UPDATE_3:
if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_SEND)) {
- return _gnutls_ktls_send(session,
- session->
- internals.record_key_update_buffer.
- data,
- session->
- internals.record_key_update_buffer.length);
+ return _gnutls_ktls_send(
+ session,
+ session->internals.record_key_update_buffer.data,
+ session->internals.record_key_update_buffer
+ .length);
} else {
- ret = _gnutls_send_int(session, GNUTLS_APPLICATION_DATA,
- -1, EPOCH_WRITE_CURRENT,
- session->
- internals.record_key_update_buffer.
- data,
- session->
- internals.record_key_update_buffer.
- length, MBUFFER_FLUSH);
+ ret = _gnutls_send_int(
+ session, GNUTLS_APPLICATION_DATA, -1,
+ EPOCH_WRITE_CURRENT,
+ session->internals.record_key_update_buffer.data,
+ session->internals.record_key_update_buffer
+ .length,
+ MBUFFER_FLUSH);
}
- _gnutls_buffer_clear(&session->
- internals.record_key_update_buffer);
+ _gnutls_buffer_clear(
+ &session->internals.record_key_update_buffer);
session->internals.rsend_state = RECORD_SEND_NORMAL;
if (ret < 0)
gnutls_assert();
@@ -2164,10 +2110,8 @@ ssize_t gnutls_record_send_early_data(gnutls_session_t session,
data_size) > session->security_parameters.max_early_data_size)
return gnutls_assert_val(GNUTLS_E_RECORD_LIMIT_REACHED);
- ret =
- _gnutls_buffer_append_data(&session->internals.
- early_data_presend_buffer, data,
- data_size);
+ ret = _gnutls_buffer_append_data(
+ &session->internals.early_data_presend_buffer, data, data_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2197,8 +2141,8 @@ ssize_t gnutls_record_send_early_data(gnutls_session_t session,
*
* Returns: The number of bytes sent, or a negative error code.
**/
-ssize_t gnutls_record_send_file(gnutls_session_t session, int fd,
- off_t * offset, size_t count)
+ssize_t gnutls_record_send_file(gnutls_session_t session, int fd, off_t *offset,
+ size_t count)
{
ssize_t ret;
size_t buf_len;
@@ -2212,7 +2156,7 @@ ssize_t gnutls_record_send_file(gnutls_session_t session, int fd,
if (offset != NULL) {
saved_offset = lseek(fd, 0, SEEK_CUR);
- if (saved_offset == (off_t) - 1) {
+ if (saved_offset == (off_t)-1) {
return GNUTLS_E_FILE_ERROR;
}
if (lseek(fd, *offset, SEEK_CUR) == -1) {
@@ -2256,7 +2200,7 @@ ssize_t gnutls_record_send_file(gnutls_session_t session, int fd,
ret = sent;
- end:
+end:
if (offset != NULL) {
if (likely(!INT_ADD_OVERFLOW(*offset, sent))) {
*offset += sent;
@@ -2293,9 +2237,8 @@ ssize_t gnutls_record_send_file(gnutls_session_t session, int fd,
*
* Since: 3.6.5
**/
-ssize_t
-gnutls_record_recv_early_data(gnutls_session_t session, void *data,
- size_t data_size)
+ssize_t gnutls_record_recv_early_data(gnutls_session_t session, void *data,
+ size_t data_size)
{
mbuffer_st *bufel;
gnutls_datum_t msg;
@@ -2304,9 +2247,8 @@ gnutls_record_recv_early_data(gnutls_session_t session, void *data,
if (session->security_parameters.entity != GNUTLS_SERVER)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- bufel =
- _mbuffer_head_get_first(&session->internals.early_data_recv_buffer,
- &msg);
+ bufel = _mbuffer_head_get_first(
+ &session->internals.early_data_recv_buffer, &msg);
if (bufel == NULL)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -2366,30 +2308,24 @@ int gnutls_record_uncork(gnutls_session_t session, unsigned int flags)
else if (orig_state == RECORD_SEND_CORKED_TO_KU)
session->internals.rsend_state = RECORD_SEND_KEY_UPDATE_1;
else
- return 0; /* nothing to be done */
+ return 0; /* nothing to be done */
while (session->internals.record_presend_buffer.length > 0) {
if (flags == GNUTLS_RECORD_WAIT) {
do {
- ret =
- gnutls_record_send(session,
- session->internals.
- record_presend_buffer.
- data,
- session->internals.
- record_presend_buffer.
- length);
- }
- while (ret < 0
- && (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED));
+ ret = gnutls_record_send(
+ session,
+ session->internals.record_presend_buffer
+ .data,
+ session->internals.record_presend_buffer
+ .length);
+ } while (ret < 0 && (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED));
} else {
- ret =
- gnutls_record_send(session,
- session->internals.
- record_presend_buffer.data,
- session->internals.
- record_presend_buffer.length);
+ ret = gnutls_record_send(
+ session,
+ session->internals.record_presend_buffer.data,
+ session->internals.record_presend_buffer.length);
}
if (ret < 0)
goto fail;
@@ -2401,7 +2337,7 @@ int gnutls_record_uncork(gnutls_session_t session, unsigned int flags)
return total;
- fail:
+fail:
session->internals.rsend_state = orig_state;
return ret;
}
@@ -2432,8 +2368,8 @@ int gnutls_record_uncork(gnutls_session_t session, unsigned int flags)
* connections). A negative error code is returned in case of an error.
* The number of bytes received might be less than the requested @data_size.
**/
-ssize_t
-gnutls_record_recv(gnutls_session_t session, void *data, size_t data_size)
+ssize_t gnutls_record_recv(gnutls_session_t session, void *data,
+ size_t data_size)
{
if (unlikely(!session->internals.initial_negotiation_completed)) {
/* this is to protect buggy applications from sending unencrypted
@@ -2441,16 +2377,15 @@ gnutls_record_recv(gnutls_session_t session, void *data, size_t data_size)
* state. */
if (session->internals.recv_state != RECV_STATE_FALSE_START &&
session->internals.recv_state != RECV_STATE_EARLY_START)
- return
- gnutls_assert_val
- (GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE);
}
if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_RECV)) {
return _gnutls_ktls_recv(session, data, data_size);
} else {
- return _gnutls_recv_int(session, GNUTLS_APPLICATION_DATA,
- data, data_size, NULL,
+ return _gnutls_recv_int(session, GNUTLS_APPLICATION_DATA, data,
+ data_size, NULL,
session->internals.record_timeout_ms);
}
}
@@ -2475,12 +2410,11 @@ gnutls_record_recv(gnutls_session_t session, void *data, size_t data_size)
*
* Since: 3.0
**/
-ssize_t
-gnutls_record_recv_seq(gnutls_session_t session, void *data,
- size_t data_size, unsigned char *seq)
+ssize_t gnutls_record_recv_seq(gnutls_session_t session, void *data,
+ size_t data_size, unsigned char *seq)
{
- return _gnutls_recv_int(session, GNUTLS_APPLICATION_DATA,
- data, data_size, seq,
+ return _gnutls_recv_int(session, GNUTLS_APPLICATION_DATA, data,
+ data_size, seq,
session->internals.record_timeout_ms);
}
@@ -2518,10 +2452,9 @@ void gnutls_record_set_timeout(gnutls_session_t session, unsigned int ms)
*
* Since: 3.7.0
*/
-int
-gnutls_handshake_write(gnutls_session_t session,
- gnutls_record_encryption_level_t level,
- const void *data, size_t data_size)
+int gnutls_handshake_write(gnutls_session_t session,
+ gnutls_record_encryption_level_t level,
+ const void *data, size_t data_size)
{
record_parameters_st *record_params;
record_state_st *record_state;
@@ -2542,8 +2475,8 @@ gnutls_handshake_write(gnutls_session_t session,
* in GNUTLS_KTLS_RECV mode in which case the outgoing messages
* are handled by GnuTLS.
*/
- if (!session->internals.h_read_func
- && !IS_KTLS_ENABLED(session, GNUTLS_KTLS_RECV))
+ if (!session->internals.h_read_func &&
+ !IS_KTLS_ENABLED(session, GNUTLS_KTLS_RECV))
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
if (session->internals.initial_negotiation_completed) {
diff --git a/lib/record.h b/lib/record.h
index 6b08ed4129..5bea343257 100644
--- a/lib/record.h
+++ b/lib/record.h
@@ -21,14 +21,13 @@
*/
#ifndef GNUTLS_LIB_RECORD_H
-# define GNUTLS_LIB_RECORD_H
+#define GNUTLS_LIB_RECORD_H
-# include <gnutls/gnutls.h>
-# include <buffers.h>
-# include <constate.h>
+#include <gnutls/gnutls.h>
+#include <buffers.h>
+#include <constate.h>
-ssize_t _gnutls_send_tlen_int(gnutls_session_t session,
- content_type_t type,
+ssize_t _gnutls_send_tlen_int(gnutls_session_t session, content_type_t type,
gnutls_handshake_description_t htype,
unsigned int epoch_rel, const void *data,
size_t sizeofdata, size_t min_pad,
@@ -36,26 +35,24 @@ ssize_t _gnutls_send_tlen_int(gnutls_session_t session,
inline static ssize_t
_gnutls_send_int(gnutls_session_t session, content_type_t type,
- gnutls_handshake_description_t htype,
- unsigned int epoch_rel, const void *_data,
- size_t data_size, unsigned int mflags)
+ gnutls_handshake_description_t htype, unsigned int epoch_rel,
+ const void *_data, size_t data_size, unsigned int mflags)
{
- return _gnutls_send_tlen_int(session, type, htype, epoch_rel,
- _data, data_size, 0, mflags);
+ return _gnutls_send_tlen_int(session, type, htype, epoch_rel, _data,
+ data_size, 0, mflags);
}
ssize_t _gnutls_recv_int(gnutls_session_t session, content_type_t type,
- uint8_t * data,
- size_t sizeofdata, void *seq, unsigned int ms);
+ uint8_t *data, size_t sizeofdata, void *seq,
+ unsigned int ms);
inline static unsigned max_record_recv_size(gnutls_session_t session)
{
unsigned size;
if (session->internals.max_recv_size == 0) {
- size =
- session->security_parameters.max_record_recv_size +
- RECORD_HEADER_SIZE(session);
+ size = session->security_parameters.max_record_recv_size +
+ RECORD_HEADER_SIZE(session);
if (session->internals.allow_large_records != 0)
size += EXTRA_COMP_SIZE;
} else {
@@ -79,8 +76,7 @@ inline static unsigned max_decrypted_size(gnutls_session_t session)
/* Returns the headers + any IV that the ciphersuite
* requires */
-inline static
-unsigned int get_total_headers(gnutls_session_t session)
+inline static unsigned int get_total_headers(gnutls_session_t session)
{
int ret;
record_parameters_st *params;
@@ -94,9 +90,8 @@ unsigned int get_total_headers(gnutls_session_t session)
return total + _gnutls_cipher_get_explicit_iv_size(params->cipher);
}
-inline static
-unsigned int get_total_headers2(gnutls_session_t session,
- record_parameters_st * params)
+inline static unsigned int get_total_headers2(gnutls_session_t session,
+ record_parameters_st *params)
{
unsigned total = RECORD_HEADER_SIZE(session);
@@ -108,4 +103,4 @@ inline static void session_invalidate(gnutls_session_t session)
session->internals.invalid_connection = 1;
}
-#endif /* GNUTLS_LIB_RECORD_H */
+#endif /* GNUTLS_LIB_RECORD_H */
diff --git a/lib/safe-memfuncs.c b/lib/safe-memfuncs.c
index 72e0436b9e..a3485da02c 100644
--- a/lib/safe-memfuncs.c
+++ b/lib/safe-memfuncs.c
@@ -74,7 +74,6 @@ int main(void)
gnutls_memset(x, 0, sizeof(x));
return 0;
-
}
#endif
diff --git a/lib/secrets.c b/lib/secrets.c
index 8eea85172e..6a0c8b7bc6 100644
--- a/lib/secrets.c
+++ b/lib/secrets.c
@@ -30,19 +30,19 @@
#include "secrets.h"
/* HKDF-Extract(0,0) or HKDF-Extract(0, PSK) */
-int _tls13_init_secret(gnutls_session_t session, const uint8_t * psk,
+int _tls13_init_secret(gnutls_session_t session, const uint8_t *psk,
size_t psk_size)
{
session->key.proto.tls13.temp_secret_size =
- session->security_parameters.prf->output_size;
+ session->security_parameters.prf->output_size;
- return _tls13_init_secret2(session->security_parameters.prf,
- psk, psk_size,
+ return _tls13_init_secret2(session->security_parameters.prf, psk,
+ psk_size,
session->key.proto.tls13.temp_secret);
}
-int _tls13_init_secret2(const mac_entry_st * prf,
- const uint8_t * psk, size_t psk_size, void *out)
+int _tls13_init_secret2(const mac_entry_st *prf, const uint8_t *psk,
+ size_t psk_size, void *out)
{
char buf[128];
@@ -56,14 +56,14 @@ int _tls13_init_secret2(const mac_entry_st * prf,
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
memset(buf, 0, psk_size);
- psk = (uint8_t *) buf;
+ psk = (uint8_t *)buf;
}
return gnutls_hmac_fast(prf->id, "", 0, psk, psk_size, out);
}
/* HKDF-Extract(Prev-Secret, key) */
-int _tls13_update_secret(gnutls_session_t session, const uint8_t * key,
+int _tls13_update_secret(gnutls_session_t session, const uint8_t *key,
size_t key_size)
{
gnutls_datum_t _key;
@@ -75,9 +75,8 @@ int _tls13_update_secret(gnutls_session_t session, const uint8_t * key,
salt.data = (void *)session->key.proto.tls13.temp_secret;
salt.size = session->key.proto.tls13.temp_secret_size;
- ret = _gnutls_hkdf_extract(session->security_parameters.prf->id,
- &_key, &salt,
- session->key.proto.tls13.temp_secret);
+ ret = _gnutls_hkdf_extract(session->security_parameters.prf->id, &_key,
+ &salt, session->key.proto.tls13.temp_secret);
if (ret < 0)
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
else
@@ -87,10 +86,10 @@ int _tls13_update_secret(gnutls_session_t session, const uint8_t * key,
}
/* Derive-Secret(Secret, Label, Messages) */
-int _tls13_derive_secret2(const mac_entry_st * prf,
- const char *label, unsigned label_size,
- const uint8_t * tbh, size_t tbh_size,
- const uint8_t secret[MAX_HASH_SIZE], void *out)
+int _tls13_derive_secret2(const mac_entry_st *prf, const char *label,
+ unsigned label_size, const uint8_t *tbh,
+ size_t tbh_size, const uint8_t secret[MAX_HASH_SIZE],
+ void *out)
{
uint8_t digest[MAX_HASH_SIZE];
int ret;
@@ -102,8 +101,8 @@ int _tls13_derive_secret2(const mac_entry_st * prf,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
digest_size = prf->output_size;
- ret = gnutls_hash_fast((gnutls_digest_algorithm_t) prf->id,
- tbh, tbh_size, digest);
+ ret = gnutls_hash_fast((gnutls_digest_algorithm_t)prf->id, tbh,
+ tbh_size, digest);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -112,10 +111,10 @@ int _tls13_derive_secret2(const mac_entry_st * prf,
}
/* Derive-Secret(Secret, Label, Messages) */
-int _tls13_derive_secret(gnutls_session_t session,
- const char *label, unsigned label_size,
- const uint8_t * tbh, size_t tbh_size,
- const uint8_t secret[MAX_HASH_SIZE], void *out)
+int _tls13_derive_secret(gnutls_session_t session, const char *label,
+ unsigned label_size, const uint8_t *tbh,
+ size_t tbh_size, const uint8_t secret[MAX_HASH_SIZE],
+ void *out)
{
if (unlikely(session->security_parameters.prf == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -125,10 +124,9 @@ int _tls13_derive_secret(gnutls_session_t session,
}
/* HKDF-Expand-Label(Secret, Label, HashValue, Length) */
-int _tls13_expand_secret2(const mac_entry_st * prf,
- const char *label, unsigned label_size,
- const uint8_t * msg, size_t msg_size,
- const uint8_t secret[MAX_HASH_SIZE],
+int _tls13_expand_secret2(const mac_entry_st *prf, const char *label,
+ unsigned label_size, const uint8_t *msg,
+ size_t msg_size, const uint8_t secret[MAX_HASH_SIZE],
unsigned out_size, void *out)
{
uint8_t tmp[256] = "tls13 ";
@@ -187,21 +185,20 @@ int _tls13_expand_secret2(const mac_entry_st * prf,
#endif
ret = 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&str);
return ret;
}
-int _tls13_expand_secret(gnutls_session_t session,
- const char *label, unsigned label_size,
- const uint8_t * msg, size_t msg_size,
- const uint8_t secret[MAX_HASH_SIZE],
+int _tls13_expand_secret(gnutls_session_t session, const char *label,
+ unsigned label_size, const uint8_t *msg,
+ size_t msg_size, const uint8_t secret[MAX_HASH_SIZE],
unsigned out_size, void *out)
{
if (unlikely(session->security_parameters.prf == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- return _tls13_expand_secret2(session->security_parameters.prf,
- label, label_size,
- msg, msg_size, secret, out_size, out);
+ return _tls13_expand_secret2(session->security_parameters.prf, label,
+ label_size, msg, msg_size, secret,
+ out_size, out);
}
diff --git a/lib/secrets.h b/lib/secrets.h
index bf47a2030c..17cb528f28 100644
--- a/lib/secrets.h
+++ b/lib/secrets.h
@@ -21,37 +21,34 @@
*/
#ifndef GNUTLS_LIB_SECRETS_H
-# define GNUTLS_LIB_SECRETS_H
+#define GNUTLS_LIB_SECRETS_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
-int _tls13_init_secret(gnutls_session_t session, const uint8_t * psk,
+int _tls13_init_secret(gnutls_session_t session, const uint8_t *psk,
size_t psk_size);
-int _tls13_update_secret(gnutls_session_t session, const uint8_t * key,
+int _tls13_update_secret(gnutls_session_t session, const uint8_t *key,
size_t key_size);
-int _tls13_init_secret2(const mac_entry_st * prf,
- const uint8_t * psk, size_t psk_size, void *out);
+int _tls13_init_secret2(const mac_entry_st *prf, const uint8_t *psk,
+ size_t psk_size, void *out);
-int _tls13_derive_secret(gnutls_session_t session,
- const char *label, unsigned label_size,
- const uint8_t * msg, size_t msg_size,
- const uint8_t secret[MAX_HASH_SIZE],
- void *out /* of enough length to hold PRF MAC */ );
-int _tls13_derive_secret2(const mac_entry_st * prf,
- const char *label, unsigned label_size,
- const uint8_t * tbh, size_t tbh_size,
- const uint8_t secret[MAX_HASH_SIZE], void *out);
+int _tls13_derive_secret(gnutls_session_t session, const char *label,
+ unsigned label_size, const uint8_t *msg,
+ size_t msg_size, const uint8_t secret[MAX_HASH_SIZE],
+ void *out /* of enough length to hold PRF MAC */);
+int _tls13_derive_secret2(const mac_entry_st *prf, const char *label,
+ unsigned label_size, const uint8_t *tbh,
+ size_t tbh_size, const uint8_t secret[MAX_HASH_SIZE],
+ void *out);
-int _tls13_expand_secret(gnutls_session_t session,
- const char *label, unsigned label_size,
- const uint8_t * msg, size_t msg_size,
- const uint8_t secret[MAX_HASH_SIZE],
+int _tls13_expand_secret(gnutls_session_t session, const char *label,
+ unsigned label_size, const uint8_t *msg,
+ size_t msg_size, const uint8_t secret[MAX_HASH_SIZE],
unsigned out_size, void *out);
-int _tls13_expand_secret2(const mac_entry_st * prf,
- const char *label, unsigned label_size,
- const uint8_t * msg, size_t msg_size,
- const uint8_t secret[MAX_HASH_SIZE],
+int _tls13_expand_secret2(const mac_entry_st *prf, const char *label,
+ unsigned label_size, const uint8_t *msg,
+ size_t msg_size, const uint8_t secret[MAX_HASH_SIZE],
unsigned out_size, void *out);
-#endif /* GNUTLS_LIB_SECRETS_H */
+#endif /* GNUTLS_LIB_SECRETS_H */
diff --git a/lib/session.c b/lib/session.c
index 6f4e98ed65..48e7aba84e 100644
--- a/lib/session.c
+++ b/lib/session.c
@@ -44,11 +44,9 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_session_get_data(gnutls_session_t session,
- void *session_data, size_t *session_data_size)
+int gnutls_session_get_data(gnutls_session_t session, void *session_data,
+ size_t *session_data_size)
{
-
gnutls_datum_t psession;
int ret;
@@ -70,7 +68,7 @@ gnutls_session_get_data(gnutls_session_t session,
ret = 0;
- error:
+error:
_gnutls_free_datum(&psession);
return ret;
}
@@ -118,7 +116,7 @@ gnutls_session_get_data(gnutls_session_t session,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t * data)
+int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t *data)
{
const version_entry_st *vers = get_version(session);
int ret;
@@ -127,8 +125,8 @@ int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t * data)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- if (vers->tls13_sem
- && !(session->internals.hsk_flags & HSK_TICKET_RECEIVED)) {
+ if (vers->tls13_sem &&
+ !(session->internals.hsk_flags & HSK_TICKET_RECEIVED)) {
unsigned ertt = session->internals.ertt;
/* use our estimation of round-trip + some time for the server to calculate
* the value(s). */
@@ -136,27 +134,24 @@ int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t * data)
/* we cannot use a read with timeout if the caller has not set
* a callback with gnutls_transport_set_pull_timeout_function() */
- if (NO_TIMEOUT_FUNC_SET(session)
- || (session->internals.flags & GNUTLS_NONBLOCK)) {
+ if (NO_TIMEOUT_FUNC_SET(session) ||
+ (session->internals.flags & GNUTLS_NONBLOCK)) {
if (!(session->internals.flags & GNUTLS_NONBLOCK))
- _gnutls_debug_log
- ("TLS1.3 works efficiently if a callback with gnutls_transport_set_pull_timeout_function() is set\n");
+ _gnutls_debug_log(
+ "TLS1.3 works efficiently if a callback with gnutls_transport_set_pull_timeout_function() is set\n");
} else {
/* wait for a message with timeout */
- ret =
- _gnutls_recv_in_buffers(session,
- GNUTLS_APPLICATION_DATA, -1,
- ertt);
- if (ret < 0 && (gnutls_error_is_fatal(ret)
- && ret != GNUTLS_E_TIMEDOUT)) {
+ ret = _gnutls_recv_in_buffers(
+ session, GNUTLS_APPLICATION_DATA, -1, ertt);
+ if (ret < 0 && (gnutls_error_is_fatal(ret) &&
+ ret != GNUTLS_E_TIMEDOUT)) {
return gnutls_assert_val(ret);
}
}
if (!(session->internals.hsk_flags & HSK_TICKET_RECEIVED)) {
- ret =
- _gnutls_set_datum(data, EMPTY_DATA,
- EMPTY_DATA_SIZE);
+ ret = _gnutls_set_datum(data, EMPTY_DATA,
+ EMPTY_DATA_SIZE);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -165,14 +160,11 @@ int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t * data)
} else if (!vers->tls13_sem) {
/* under TLS1.3 we want to pack the latest ticket, while that's
* not the case in TLS1.2 or earlier. */
- if (gnutls_session_is_resumed(session)
- && session->internals.resumption_data.data) {
- ret =
- _gnutls_set_datum(data,
- session->
- internals.resumption_data.data,
- session->
- internals.resumption_data.size);
+ if (gnutls_session_is_resumed(session) &&
+ session->internals.resumption_data.data) {
+ ret = _gnutls_set_datum(
+ data, session->internals.resumption_data.data,
+ session->internals.resumption_data.size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -219,9 +211,8 @@ int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t * data)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_session_get_id(gnutls_session_t session,
- void *session_id, size_t *session_id_size)
+int gnutls_session_get_id(gnutls_session_t session, void *session_id,
+ size_t *session_id_size)
{
size_t given_session_id_size = *session_id_size;
@@ -271,8 +262,7 @@ gnutls_session_get_id(gnutls_session_t session,
*
* Since: 3.1.4
**/
-int
-gnutls_session_get_id2(gnutls_session_t session, gnutls_datum_t * session_id)
+int gnutls_session_get_id2(gnutls_session_t session, gnutls_datum_t *session_id)
{
session_id->size = session->security_parameters.session_id_size;
session_id->data = session->security_parameters.session_id;
@@ -298,14 +288,13 @@ gnutls_session_get_id2(gnutls_session_t session, gnutls_datum_t * session_id)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_session_set_data(gnutls_session_t session,
- const void *session_data, size_t session_data_size)
+int gnutls_session_set_data(gnutls_session_t session, const void *session_data,
+ size_t session_data_size)
{
int ret;
gnutls_datum_t psession;
- psession.data = (uint8_t *) session_data;
+ psession.data = (uint8_t *)session_data;
psession.size = session_data_size;
if (session_data == NULL || session_data_size == 0) {
@@ -330,9 +319,8 @@ gnutls_session_set_data(gnutls_session_t session,
if (session->internals.resumption_data.data != NULL)
gnutls_free(session->internals.resumption_data.data);
- ret =
- _gnutls_set_datum(&session->internals.resumption_data, session_data,
- session_data_size);
+ ret = _gnutls_set_datum(&session->internals.resumption_data,
+ session_data, session_data_size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -414,7 +402,7 @@ char *gnutls_session_get_desc(gnutls_session_t session)
sign_algo = gnutls_sign_algorithm_get(session);
sign_str = gnutls_sign_get_name(sign_algo);
- if (kx == 0 && ver->tls13_sem) { /* TLS 1.3 */
+ if (kx == 0 && ver->tls13_sem) { /* TLS 1.3 */
if (session->internals.hsk_flags & HSK_PSK_SELECTED) {
if (group) {
if (group->pk == GNUTLS_PK_DH)
@@ -443,7 +431,8 @@ char *gnutls_session_get_desc(gnutls_session_t session)
}
if ((kx == GNUTLS_KX_ECDHE_ECDSA || kx == GNUTLS_KX_ECDHE_RSA ||
- kx == GNUTLS_KX_ECDHE_PSK) && group_name) {
+ kx == GNUTLS_KX_ECDHE_PSK) &&
+ group_name) {
if (sign_str)
snprintf(kx_name, sizeof(kx_name),
"(ECDHE-%s)-(%s)", group_name,
@@ -451,9 +440,10 @@ char *gnutls_session_get_desc(gnutls_session_t session)
else
snprintf(kx_name, sizeof(kx_name), "(ECDHE-%s)",
group_name);
- } else
- if ((kx == GNUTLS_KX_DHE_DSS || kx == GNUTLS_KX_DHE_RSA
- || kx == GNUTLS_KX_DHE_PSK) && group_name) {
+ } else if ((kx == GNUTLS_KX_DHE_DSS ||
+ kx == GNUTLS_KX_DHE_RSA ||
+ kx == GNUTLS_KX_DHE_PSK) &&
+ group_name) {
if (sign_str)
snprintf(kx_name, sizeof(kx_name),
"(DHE-%s)-(%s)", group_name, sign_str);
@@ -471,27 +461,27 @@ char *gnutls_session_get_desc(gnutls_session_t session)
if (are_alternative_cert_types_allowed(session)) {
// Get certificate types
ctype_client =
- get_certificate_type(session, GNUTLS_CTYPE_CLIENT);
+ get_certificate_type(session, GNUTLS_CTYPE_CLIENT);
ctype_server =
- get_certificate_type(session, GNUTLS_CTYPE_SERVER);
+ get_certificate_type(session, GNUTLS_CTYPE_SERVER);
if (ctype_client == ctype_server) {
// print proto version, client/server cert type
- snprintf(proto_name, sizeof(proto_name), "%s-%s",
- gnutls_protocol_get_name(get_num_version
- (session)),
- gnutls_certificate_type_get_name
- (ctype_client));
+ snprintf(
+ proto_name, sizeof(proto_name), "%s-%s",
+ gnutls_protocol_get_name(
+ get_num_version(session)),
+ gnutls_certificate_type_get_name(ctype_client));
} else {
// print proto version, client cert type, server cert type
- snprintf(proto_name, sizeof(proto_name), "%s-%s-%s",
- gnutls_protocol_get_name(get_num_version
- (session)),
- gnutls_certificate_type_get_name(ctype_client),
- gnutls_certificate_type_get_name
- (ctype_server));
+ snprintf(
+ proto_name, sizeof(proto_name), "%s-%s-%s",
+ gnutls_protocol_get_name(
+ get_num_version(session)),
+ gnutls_certificate_type_get_name(ctype_client),
+ gnutls_certificate_type_get_name(ctype_server));
}
- } else { // Assumed default certificate type (X.509)
+ } else { // Assumed default certificate type (X.509)
snprintf(proto_name, sizeof(proto_name), "%s",
gnutls_protocol_get_name(get_num_version(session)));
}
@@ -501,16 +491,11 @@ char *gnutls_session_get_desc(gnutls_session_t session)
return NULL;
mac_id = gnutls_mac_get(session);
- if (mac_id == GNUTLS_MAC_AEAD) { /* no need to print */
- snprintf(desc, DESC_SIZE,
- "(%s)-%s-(%s)",
- proto_name,
- kx_name,
+ if (mac_id == GNUTLS_MAC_AEAD) { /* no need to print */
+ snprintf(desc, DESC_SIZE, "(%s)-%s-(%s)", proto_name, kx_name,
gnutls_cipher_get_name(gnutls_cipher_get(session)));
} else {
- snprintf(desc, DESC_SIZE,
- "(%s)-%s-(%s)-(%s)",
- proto_name,
+ snprintf(desc, DESC_SIZE, "(%s)-%s-(%s)-(%s)", proto_name,
kx_name,
gnutls_cipher_get_name(gnutls_cipher_get(session)),
gnutls_mac_get_name(mac_id));
@@ -535,7 +520,7 @@ char *gnutls_session_get_desc(gnutls_session_t session)
*
* Since: 3.2.1
**/
-int gnutls_session_set_id(gnutls_session_t session, const gnutls_datum_t * sid)
+int gnutls_session_set_id(gnutls_session_t session, const gnutls_datum_t *sid)
{
if (session->security_parameters.entity == GNUTLS_SERVER ||
sid->size > GNUTLS_MAX_SESSION_ID_SIZE)
@@ -545,7 +530,7 @@ int gnutls_session_set_id(gnutls_session_t session, const gnutls_datum_t * sid)
sizeof(session->internals.resumed_security_parameters));
session->internals.resumed_security_parameters.session_id_size =
- sid->size;
+ sid->size;
memcpy(session->internals.resumed_security_parameters.session_id,
sid->data, sid->size);
diff --git a/lib/session_pack.c b/lib/session_pack.c
index 47ede0af4c..2844ed1dcc 100644
--- a/lib/session_pack.c
+++ b/lib/session_pack.c
@@ -27,10 +27,10 @@
#include "gnutls_int.h"
#ifdef ENABLE_SRP
-# include <auth/srp_kx.h>
+#include <auth/srp_kx.h>
#endif
#ifdef ENABLE_PSK
-# include <auth/psk.h>
+#include <auth/psk.h>
#endif
#include <auth/anon.h>
#include <auth/cert.h>
@@ -47,35 +47,35 @@
#include "tls13/session_ticket.h"
static int pack_certificate_auth_info(gnutls_session_t,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int unpack_certificate_auth_info(gnutls_session_t,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
#ifdef ENABLE_SRP
static int unpack_srp_auth_info(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int pack_srp_auth_info(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
#endif
static int unpack_psk_auth_info(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int pack_psk_auth_info(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int unpack_anon_auth_info(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int pack_anon_auth_info(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int unpack_security_parameters(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int pack_security_parameters(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int tls13_unpack_security_parameters(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
static int tls13_pack_security_parameters(gnutls_session_t session,
- gnutls_buffer_st * packed_session);
+ gnutls_buffer_st *packed_session);
/* Since auth_info structures contain malloced data, this function
* is required in order to pack these structures in a vector in
@@ -85,8 +85,8 @@ static int tls13_pack_security_parameters(gnutls_session_t session,
*
* The data will be in a platform independent format.
*/
-int
-_gnutls_session_pack(gnutls_session_t session, gnutls_datum_t * packed_session)
+int _gnutls_session_pack(gnutls_session_t session,
+ gnutls_datum_t *packed_session)
{
int ret;
gnutls_buffer_st sb;
@@ -144,7 +144,6 @@ _gnutls_session_pack(gnutls_session_t session, gnutls_datum_t * packed_session)
default:
ret = gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
goto fail;
-
}
/* Auth_info structures copied. Now copy security_parameters_st.
@@ -175,16 +174,15 @@ _gnutls_session_pack(gnutls_session_t session, gnutls_datum_t * packed_session)
return _gnutls_buffer_to_datum(&sb, packed_session, 0);
- fail:
+fail:
_gnutls_buffer_clear(&sb);
return ret;
}
/* Load session data from a buffer.
*/
-int
-_gnutls_session_unpack(gnutls_session_t session,
- const gnutls_datum_t * packed_session)
+int _gnutls_session_unpack(gnutls_session_t session,
+ const gnutls_datum_t *packed_session)
{
int ret;
gnutls_buffer_st sb;
@@ -199,9 +197,8 @@ _gnutls_session_unpack(gnutls_session_t session,
return GNUTLS_E_INTERNAL_ERROR;
}
- ret =
- _gnutls_buffer_append_data(&sb, packed_session->data,
- packed_session->size);
+ ret = _gnutls_buffer_append_data(&sb, packed_session->data,
+ packed_session->size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -217,9 +214,8 @@ _gnutls_session_unpack(gnutls_session_t session,
goto error;
}
- BUFFER_POP_NUM(&sb,
- session->internals.resumed_security_parameters.
- timestamp);
+ BUFFER_POP_NUM(
+ &sb, session->internals.resumed_security_parameters.timestamp);
BUFFER_POP_NUM(&sb, expire_time);
(void)expire_time;
BUFFER_POP(&sb, &id, 1);
@@ -263,7 +259,6 @@ _gnutls_session_unpack(gnutls_session_t session,
gnutls_assert();
ret = GNUTLS_E_INTERNAL_ERROR;
goto error;
-
}
/* Auth_info structures copied. Now copy security_parameters_st.
@@ -294,7 +289,7 @@ _gnutls_session_unpack(gnutls_session_t session,
ret = 0;
- error:
+error:
_gnutls_buffer_clear(&sb);
return ret;
@@ -319,8 +314,8 @@ _gnutls_session_unpack(gnutls_session_t session,
* If we didn't receive any NST then we cannot resume a TLS 1.3 session and hence
* its nonsense to store all that info.
*/
-static int
-tls13_pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
+static int tls13_pack_security_parameters(gnutls_session_t session,
+ gnutls_buffer_st *ps)
{
int ret = 0;
uint32_t length = 0;
@@ -337,18 +332,16 @@ tls13_pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
length += 4;
BUFFER_APPEND_PFX1(ps, ticket->nonce, ticket->nonce_size);
length += (1 + ticket->nonce_size);
- BUFFER_APPEND_PFX4(ps,
- ticket->ticket.data, ticket->ticket.size);
+ BUFFER_APPEND_PFX4(ps, ticket->ticket.data,
+ ticket->ticket.size);
length += (4 + ticket->ticket.size);
- BUFFER_APPEND_PFX1(ps,
- ticket->resumption_master_secret,
+ BUFFER_APPEND_PFX1(ps, ticket->resumption_master_secret,
ticket->prf->output_size);
length += (1 + ticket->prf->output_size);
BUFFER_APPEND_TS(ps, ticket->arrival_time);
length += 12;
- BUFFER_APPEND_NUM(ps,
- session->security_parameters.
- max_early_data_size);
+ BUFFER_APPEND_NUM(
+ ps, session->security_parameters.max_early_data_size);
length += 4;
/* Overwrite the length field */
@@ -358,9 +351,8 @@ tls13_pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
return ret;
}
-static int
-tls13_unpack_security_parameters(gnutls_session_t session,
- gnutls_buffer_st * ps)
+static int tls13_unpack_security_parameters(gnutls_session_t session,
+ gnutls_buffer_st *ps)
{
uint32_t ttl_len;
tls13_ticket_st *ticket = &session->internals.tls13_ticket;
@@ -385,30 +377,29 @@ tls13_unpack_security_parameters(gnutls_session_t session,
BUFFER_POP_DATUM(ps, &ticket->ticket);
ret = _gnutls_buffer_pop_datum_prefix8(ps, &t);
- if (ret < 0
- || t.size > sizeof(ticket->resumption_master_secret)) {
+ if (ret < 0 ||
+ t.size > sizeof(ticket->resumption_master_secret)) {
ret = GNUTLS_E_PARSING_ERROR;
gnutls_assert();
goto error;
}
memcpy(ticket->resumption_master_secret, t.data, t.size);
- if (unlikely
- (session->internals.resumed_security_parameters.prf == NULL
- || session->internals.resumed_security_parameters.
- prf->output_size != t.size))
+ if (unlikely(session->internals.resumed_security_parameters
+ .prf == NULL ||
+ session->internals.resumed_security_parameters.prf
+ ->output_size != t.size))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
ticket->prf =
- session->internals.resumed_security_parameters.prf;
+ session->internals.resumed_security_parameters.prf;
BUFFER_POP_TS(ps, ticket->arrival_time);
- BUFFER_POP_NUM(ps,
- session->security_parameters.
- max_early_data_size);
+ BUFFER_POP_NUM(
+ ps, session->security_parameters.max_early_data_size);
}
- error:
+error:
return ret;
}
@@ -434,13 +425,13 @@ tls13_unpack_security_parameters(gnutls_session_t session,
* x bytes the certificate
* and so on...
*/
-static int
-pack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int pack_certificate_auth_info(gnutls_session_t session,
+ gnutls_buffer_st *ps)
{
unsigned int i;
int cur_size, ret;
cert_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
int size_offset;
size_offset = ps->length;
@@ -448,7 +439,6 @@ pack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
cur_size = ps->length;
if (info) {
-
BUFFER_APPEND_NUM(ps, info->dh.secret_bits);
BUFFER_APPEND_PFX4(ps, info->dh.prime.data,
info->dh.prime.size);
@@ -468,8 +458,7 @@ pack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
BUFFER_APPEND_NUM(ps, info->nocsp);
for (i = 0; i < info->nocsp; i++) {
- BUFFER_APPEND_PFX4(ps,
- info->raw_ocsp_list[i].data,
+ BUFFER_APPEND_PFX4(ps, info->raw_ocsp_list[i].data,
info->raw_ocsp_list[i].size);
}
}
@@ -482,8 +471,8 @@ pack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
/* Upack certificate info.
*/
-static int
-unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int unpack_certificate_auth_info(gnutls_session_t session,
+ gnutls_buffer_st *ps)
{
int ret;
unsigned int i = 0, j = 0;
@@ -495,13 +484,12 @@ unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
BUFFER_POP_NUM(ps, pack_size);
if (pack_size == 0)
- return 0; /* nothing to be done */
+ return 0; /* nothing to be done */
/* client and server have the same auth_info here
*/
- ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
- sizeof(cert_auth_info_st), 1);
+ ret = _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
+ sizeof(cert_auth_info_st), 1);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -521,7 +509,7 @@ unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
if (info->ncerts > 0) {
info->raw_certificate_list =
- gnutls_calloc(info->ncerts, sizeof(gnutls_datum_t));
+ gnutls_calloc(info->ncerts, sizeof(gnutls_datum_t));
if (info->raw_certificate_list == NULL) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
@@ -539,7 +527,7 @@ unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
if (info->nocsp > 0) {
info->raw_ocsp_list =
- gnutls_calloc(info->nocsp, sizeof(gnutls_datum_t));
+ gnutls_calloc(info->nocsp, sizeof(gnutls_datum_t));
if (info->raw_ocsp_list == NULL) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
@@ -554,7 +542,7 @@ unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return 0;
- error:
+error:
if (info) {
_gnutls_free_datum(&info->dh.prime);
_gnutls_free_datum(&info->dh.generator);
@@ -571,7 +559,6 @@ unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
}
return ret;
-
}
#ifdef ENABLE_SRP
@@ -583,10 +570,10 @@ unpack_certificate_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
* 4 bytes the size of the SRP username (x)
* x bytes the SRP username
*/
-static int pack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int pack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
{
srp_server_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_SRP);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_SRP);
int len, ret;
int size_offset;
size_t cur_size;
@@ -595,7 +582,8 @@ static int pack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
if (info) {
if (info->username) {
username = info->username;
- len = strlen(info->username) + 1; /* include the terminating null */
+ len = strlen(info->username) +
+ 1; /* include the terminating null */
} else {
username = "\0";
len = 1;
@@ -615,7 +603,7 @@ static int pack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return 0;
}
-static int unpack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int unpack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
{
size_t username_size;
int ret;
@@ -646,7 +634,7 @@ static int unpack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
ret = 0;
- error:
+error:
return ret;
}
#endif
@@ -666,7 +654,7 @@ static int unpack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
* 4 bytes the size of the public key
* x bytes the public key
*/
-static int pack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int pack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
{
int cur_size, ret;
anon_auth_info_t info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
@@ -692,8 +680,7 @@ static int pack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return 0;
}
-static int
-unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
{
int ret;
size_t pack_size;
@@ -702,13 +689,12 @@ unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
BUFFER_POP_NUM(ps, pack_size);
if (pack_size == 0)
- return 0; /* nothing to be done */
+ return 0; /* nothing to be done */
/* client and server have the same auth_info here
*/
- ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
- sizeof(anon_auth_info_st), 1);
+ ret = _gnutls_auth_info_init(session, GNUTLS_CRD_ANON,
+ sizeof(anon_auth_info_st), 1);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -726,7 +712,7 @@ unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return 0;
- error:
+error:
if (info) {
_gnutls_free_datum(&info->dh.prime);
_gnutls_free_datum(&info->dh.generator);
@@ -735,7 +721,7 @@ unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return ret;
}
-#endif /* ANON */
+#endif /* ANON */
#ifdef ENABLE_PSK
/* Packs the PSK session authentication data.
@@ -755,7 +741,7 @@ unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
* 4 bytes the size of the public key
* x bytes the public key
*/
-static int pack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int pack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
{
psk_auth_info_t info;
int username_len;
@@ -768,7 +754,7 @@ static int pack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
username_len = info->username_len;
- hint_len = info->hint_len + 1; /* include the terminating null */
+ hint_len = info->hint_len + 1; /* include the terminating null */
size_offset = ps->length;
BUFFER_APPEND_NUM(ps, 0);
@@ -789,16 +775,15 @@ static int pack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
return 0;
}
-static int unpack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
+static int unpack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
{
size_t username_size, hint_size;
int ret;
psk_auth_info_t info;
unsigned pack_size;
- ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
- sizeof(psk_auth_info_st), 1);
+ ret = _gnutls_auth_info_init(session, GNUTLS_CRD_PSK,
+ sizeof(psk_auth_info_st), 1);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -844,7 +829,7 @@ static int unpack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
ret = 0;
- error:
+error:
_gnutls_free_datum(&info->dh.prime);
_gnutls_free_datum(&info->dh.generator);
_gnutls_free_datum(&info->dh.public_key);
@@ -855,16 +840,15 @@ static int unpack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st * ps)
/* Packs the security parameters.
*/
-static int
-pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
+static int pack_security_parameters(gnutls_session_t session,
+ gnutls_buffer_st *ps)
{
-
int ret;
int size_offset;
size_t cur_size;
- if (session->security_parameters.epoch_read
- != session->security_parameters.epoch_write &&
+ if (session->security_parameters.epoch_read !=
+ session->security_parameters.epoch_write &&
!(session->internals.hsk_flags & HSK_EARLY_START_USED)) {
gnutls_assert();
return GNUTLS_E_UNAVAILABLE_DURING_HANDSHAKE;
@@ -914,21 +898,19 @@ pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
/* reset max_record_recv_size if it was negotiated
* using the record_size_limit extension */
- if (session->
- internals.hsk_flags & HSK_RECORD_SIZE_LIMIT_NEGOTIATED) {
+ if (session->internals.hsk_flags &
+ HSK_RECORD_SIZE_LIMIT_NEGOTIATED) {
BUFFER_APPEND_NUM(ps,
- session->security_parameters.
- max_user_record_send_size);
+ session->security_parameters
+ .max_user_record_send_size);
BUFFER_APPEND_NUM(ps,
- session->security_parameters.
- max_user_record_recv_size);
+ session->security_parameters
+ .max_user_record_recv_size);
} else {
- BUFFER_APPEND_NUM(ps,
- session->security_parameters.
- max_record_recv_size);
- BUFFER_APPEND_NUM(ps,
- session->security_parameters.
- max_record_send_size);
+ BUFFER_APPEND_NUM(ps, session->security_parameters
+ .max_record_recv_size);
+ BUFFER_APPEND_NUM(ps, session->security_parameters
+ .max_record_send_size);
}
if (session->security_parameters.grp) {
@@ -938,15 +920,12 @@ pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
BUFFER_APPEND_NUM(ps, 0);
}
- BUFFER_APPEND_NUM(ps,
- session->
- security_parameters.server_sign_algo);
- BUFFER_APPEND_NUM(ps,
- session->
- security_parameters.client_sign_algo);
- BUFFER_APPEND_NUM(ps,
- session->
- security_parameters.ext_master_secret);
+ BUFFER_APPEND_NUM(
+ ps, session->security_parameters.server_sign_algo);
+ BUFFER_APPEND_NUM(
+ ps, session->security_parameters.client_sign_algo);
+ BUFFER_APPEND_NUM(
+ ps, session->security_parameters.ext_master_secret);
BUFFER_APPEND_NUM(ps, session->security_parameters.etm);
}
@@ -955,8 +934,8 @@ pack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
return 0;
}
-static int
-unpack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
+static int unpack_security_parameters(gnutls_session_t session,
+ gnutls_buffer_st *ps)
{
size_t pack_size;
int ret;
@@ -980,42 +959,40 @@ unpack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
BUFFER_POP_NUM(ps, version);
session->internals.resumed_security_parameters.prf =
- mac_to_entry(version);
+ mac_to_entry(version);
if (session->internals.resumed_security_parameters.prf == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- client_auth_type);
- BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- server_auth_type);
+ BUFFER_POP_NUM(ps, session->internals.resumed_security_parameters
+ .client_auth_type);
+ BUFFER_POP_NUM(ps, session->internals.resumed_security_parameters
+ .server_auth_type);
- BUFFER_POP(ps,
- &session->internals.resumed_security_parameters.
- session_id_size, 1);
+ BUFFER_POP(
+ ps,
+ &session->internals.resumed_security_parameters.session_id_size,
+ 1);
- BUFFER_POP(ps,
- session->internals.resumed_security_parameters.session_id,
- session->internals.resumed_security_parameters.
- session_id_size);
+ BUFFER_POP(
+ ps, session->internals.resumed_security_parameters.session_id,
+ session->internals.resumed_security_parameters.session_id_size);
BUFFER_POP_NUM(ps, version);
session->internals.resumed_security_parameters.pversion =
- version_to_entry(version);
+ version_to_entry(version);
if (session->internals.resumed_security_parameters.pversion == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- client_ctype);
- BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- server_ctype);
+ BUFFER_POP_NUM(
+ ps,
+ session->internals.resumed_security_parameters.client_ctype);
+ BUFFER_POP_NUM(
+ ps,
+ session->internals.resumed_security_parameters.server_ctype);
BUFFER_POP(ps, cs, 2);
session->internals.resumed_security_parameters.cs =
- ciphersuite_to_entry(cs);
+ ciphersuite_to_entry(cs);
if (session->internals.resumed_security_parameters.cs == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -1028,8 +1005,8 @@ unpack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
goto error;
}
if (t.size == GNUTLS_MASTER_SIZE)
- memcpy(session->internals.
- resumed_security_parameters.master_secret,
+ memcpy(session->internals.resumed_security_parameters
+ .master_secret,
t.data, t.size);
/* client random */
@@ -1040,8 +1017,8 @@ unpack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
goto error;
}
if (t.size == GNUTLS_RANDOM_SIZE)
- memcpy(session->internals.
- resumed_security_parameters.client_random,
+ memcpy(session->internals.resumed_security_parameters
+ .client_random,
t.data, t.size);
/* server random */
@@ -1052,46 +1029,45 @@ unpack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
goto error;
}
if (t.size == GNUTLS_RANDOM_SIZE)
- memcpy(session->internals.
- resumed_security_parameters.server_random,
+ memcpy(session->internals.resumed_security_parameters
+ .server_random,
t.data, t.size);
BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- max_record_send_size);
+ session->internals.resumed_security_parameters
+ .max_record_send_size);
BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- max_record_recv_size);
+ session->internals.resumed_security_parameters
+ .max_record_recv_size);
BUFFER_POP_NUM(ps, ret);
session->internals.resumed_security_parameters.grp =
- _gnutls_id_to_group(ret);
+ _gnutls_id_to_group(ret);
/* it can be null */
BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- server_sign_algo);
- BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- client_sign_algo);
+ session->internals.resumed_security_parameters
+ .server_sign_algo);
BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- ext_master_secret);
+ session->internals.resumed_security_parameters
+ .client_sign_algo);
BUFFER_POP_NUM(ps,
- session->internals.resumed_security_parameters.
- etm);
-
- if (session->internals.resumed_security_parameters.
- max_record_recv_size == 0
- || session->internals.resumed_security_parameters.
- max_record_send_size == 0) {
+ session->internals.resumed_security_parameters
+ .ext_master_secret);
+ BUFFER_POP_NUM(
+ ps, session->internals.resumed_security_parameters.etm);
+
+ if (session->internals.resumed_security_parameters
+ .max_record_recv_size == 0 ||
+ session->internals.resumed_security_parameters
+ .max_record_send_size == 0) {
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
}
ret = 0;
- error:
+error:
return ret;
}
@@ -1115,15 +1091,14 @@ unpack_security_parameters(gnutls_session_t session, gnutls_buffer_st * ps)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise
* an error code is returned.
**/
-int
-gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
- gnutls_protocol_t version,
- gnutls_kx_algorithm_t kx,
- gnutls_cipher_algorithm_t cipher,
- gnutls_mac_algorithm_t mac,
- gnutls_compression_method_t comp,
- const gnutls_datum_t * master,
- const gnutls_datum_t * session_id)
+int gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
+ gnutls_protocol_t version,
+ gnutls_kx_algorithm_t kx,
+ gnutls_cipher_algorithm_t cipher,
+ gnutls_mac_algorithm_t mac,
+ gnutls_compression_method_t comp,
+ const gnutls_datum_t *master,
+ const gnutls_datum_t *session_id)
{
int ret;
uint8_t cs[2];
@@ -1138,27 +1113,27 @@ gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
return gnutls_assert_val(ret);
session->internals.resumed_security_parameters.cs =
- ciphersuite_to_entry(cs);
+ ciphersuite_to_entry(cs);
if (session->internals.resumed_security_parameters.cs == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
session->internals.resumed_security_parameters.client_ctype =
- DEFAULT_CERT_TYPE;
+ DEFAULT_CERT_TYPE;
session->internals.resumed_security_parameters.server_ctype =
- DEFAULT_CERT_TYPE;
+ DEFAULT_CERT_TYPE;
session->internals.resumed_security_parameters.pversion =
- version_to_entry(version);
+ version_to_entry(version);
if (session->internals.resumed_security_parameters.pversion == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if (session->internals.resumed_security_parameters.
- pversion->selectable_prf)
- session->internals.resumed_security_parameters.prf =
- mac_to_entry(session->internals.
- resumed_security_parameters.cs->prf);
+ if (session->internals.resumed_security_parameters.pversion
+ ->selectable_prf)
+ session->internals.resumed_security_parameters
+ .prf = mac_to_entry(
+ session->internals.resumed_security_parameters.cs->prf);
else
session->internals.resumed_security_parameters.prf =
- mac_to_entry(GNUTLS_MAC_MD5_SHA1);
+ mac_to_entry(GNUTLS_MAC_MD5_SHA1);
if (session->internals.resumed_security_parameters.prf == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -1172,16 +1147,16 @@ gnutls_session_set_premaster(gnutls_session_t session, unsigned int entity,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
session->internals.resumed_security_parameters.session_id_size =
- session_id->size;
+ session_id->size;
memcpy(session->internals.resumed_security_parameters.session_id,
session_id->data, session_id->size);
session->internals.resumed_security_parameters.max_record_send_size =
- session->internals.resumed_security_parameters.
- max_record_recv_size = DEFAULT_MAX_RECORD_SIZE;
+ session->internals.resumed_security_parameters
+ .max_record_recv_size = DEFAULT_MAX_RECORD_SIZE;
session->internals.resumed_security_parameters.timestamp =
- gnutls_time(0);
+ gnutls_time(0);
session->internals.resumed_security_parameters.grp = 0;
diff --git a/lib/session_pack.h b/lib/session_pack.h
index 8a8de00688..0ad31ac509 100644
--- a/lib/session_pack.h
+++ b/lib/session_pack.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_LIB_SESSION_PACK_H
-# define GNUTLS_LIB_SESSION_PACK_H
+#define GNUTLS_LIB_SESSION_PACK_H
int _gnutls_session_pack(gnutls_session_t session,
- gnutls_datum_t * packed_session);
+ gnutls_datum_t *packed_session);
int _gnutls_session_unpack(gnutls_session_t session,
- const gnutls_datum_t * packed_session);
+ const gnutls_datum_t *packed_session);
-#endif /* GNUTLS_LIB_SESSION_PACK_H */
+#endif /* GNUTLS_LIB_SESSION_PACK_H */
diff --git a/lib/srp.c b/lib/srp.c
index ae2024cd06..7a33b459ae 100644
--- a/lib/srp.c
+++ b/lib/srp.c
@@ -28,23 +28,22 @@
#ifdef ENABLE_SRP
-# include "srp.h"
-# include <auth/srp_passwd.h>
-# include <mpi.h>
-# include <num.h>
-# include <file.h>
-# include <algorithms.h>
-# include <random.h>
+#include "srp.h"
+#include <auth/srp_passwd.h>
+#include <mpi.h>
+#include <num.h>
+#include <file.h>
+#include <algorithms.h>
+#include <random.h>
-# include "debug.h"
-# include "attribute.h"
+#include "debug.h"
+#include "attribute.h"
/* Here functions for SRP (like g^x mod n) are defined
*/
-static int
-_gnutls_srp_gx(uint8_t * text, size_t textsize, uint8_t ** result,
- bigint_t g, bigint_t prime)
+static int _gnutls_srp_gx(uint8_t *text, size_t textsize, uint8_t **result,
+ bigint_t g, bigint_t prime)
{
bigint_t x, e = NULL;
size_t result_size;
@@ -82,12 +81,11 @@ _gnutls_srp_gx(uint8_t * text, size_t textsize, uint8_t ** result,
ret = GNUTLS_E_MPI_PRINT_FAILED;
}
- cleanup:
+cleanup:
_gnutls_mpi_release(&e);
_gnutls_mpi_release(&x);
return ret;
-
}
/****************
@@ -95,8 +93,7 @@ _gnutls_srp_gx(uint8_t * text, size_t textsize, uint8_t ** result,
* where k == SHA1(N|g)
* Return: B and if ret_b is not NULL b.
*/
-bigint_t
-_gnutls_calc_srp_B(bigint_t * ret_b, bigint_t g, bigint_t n, bigint_t v)
+bigint_t _gnutls_calc_srp_B(bigint_t *ret_b, bigint_t g, bigint_t n, bigint_t v)
{
bigint_t tmpB = NULL, tmpV = NULL;
bigint_t b = NULL, B = NULL, k = NULL;
@@ -145,14 +142,13 @@ _gnutls_calc_srp_B(bigint_t * ret_b, bigint_t g, bigint_t n, bigint_t v)
return B;
- error:
+error:
_gnutls_mpi_release(&b);
_gnutls_mpi_release(&B);
_gnutls_mpi_release(&k);
_gnutls_mpi_release(&tmpB);
_gnutls_mpi_release(&tmpV);
return NULL;
-
}
/* This calculates the SHA1(A | B)
@@ -174,7 +170,7 @@ bigint_t _gnutls_calc_srp_u(bigint_t A, bigint_t B, bigint_t n)
if (a_size > n_size || b_size > n_size) {
gnutls_assert();
- return NULL; /* internal error */
+ return NULL; /* internal error */
}
holder_size = n_size + n_size;
@@ -195,7 +191,7 @@ bigint_t _gnutls_calc_srp_u(bigint_t A, bigint_t B, bigint_t n)
/* convert the bytes of hd to integer
*/
- hash_size = 20; /* SHA */
+ hash_size = 20; /* SHA */
ret = _gnutls_mpi_init_scan_nz(&res, hd, hash_size);
gnutls_free(holder);
@@ -210,8 +206,8 @@ bigint_t _gnutls_calc_srp_u(bigint_t A, bigint_t B, bigint_t n)
/* S = (A * v^u) ^ b % N
* this is our shared key (server premaster secret)
*/
-bigint_t
-_gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u, bigint_t v, bigint_t n)
+bigint_t _gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u, bigint_t v,
+ bigint_t n)
{
bigint_t tmp1 = NULL, tmp2 = NULL;
bigint_t S = NULL;
@@ -240,7 +236,7 @@ _gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u, bigint_t v, bigint_t n)
return S;
- error:
+error:
_gnutls_mpi_release(&S);
_gnutls_mpi_release(&tmp1);
_gnutls_mpi_release(&tmp2);
@@ -250,7 +246,7 @@ _gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u, bigint_t v, bigint_t n)
/* A = g^a % N
* returns A and a (which is random)
*/
-bigint_t _gnutls_calc_srp_A(bigint_t * a, bigint_t g, bigint_t n)
+bigint_t _gnutls_calc_srp_A(bigint_t *a, bigint_t g, bigint_t n)
{
bigint_t tmpa;
bigint_t A;
@@ -274,7 +270,7 @@ bigint_t _gnutls_calc_srp_A(bigint_t * a, bigint_t g, bigint_t n)
_gnutls_mpi_release(&tmpa);
return A;
- error:
+error:
_gnutls_mpi_release(&tmpa);
_gnutls_mpi_release(&A);
return NULL;
@@ -283,10 +279,9 @@ bigint_t _gnutls_calc_srp_A(bigint_t * a, bigint_t g, bigint_t n)
/* generate x = SHA(s | SHA(U | ":" | p))
* The output is exactly 20 bytes
*/
-static int
-_gnutls_calc_srp_sha(const char *username, const char *_password,
- uint8_t * salt, int salt_size, size_t *size,
- void *digest, unsigned allow_invalid_pass)
+static int _gnutls_calc_srp_sha(const char *username, const char *_password,
+ uint8_t *salt, int salt_size, size_t *size,
+ void *digest, unsigned allow_invalid_pass)
{
digest_hd_st td;
uint8_t res[MAX_HASH_SIZE];
@@ -297,9 +292,8 @@ _gnutls_calc_srp_sha(const char *username, const char *_password,
*size = 20;
- ret =
- _gnutls_utf8_password_normalize(_password, strlen(_password), &pout,
- allow_invalid_pass);
+ ret = _gnutls_utf8_password_normalize(_password, strlen(_password),
+ &pout, allow_invalid_pass);
if (ret < 0)
return gnutls_assert_val(ret);
password = (char *)pout.data;
@@ -322,31 +316,28 @@ _gnutls_calc_srp_sha(const char *username, const char *_password,
}
_gnutls_hash(&td, salt, salt_size);
- _gnutls_hash(&td, res, 20); /* 20 bytes is the output of sha1 */
+ _gnutls_hash(&td, res, 20); /* 20 bytes is the output of sha1 */
_gnutls_hash_deinit(&td, digest);
ret = 0;
- cleanup:
+cleanup:
gnutls_free(password);
return ret;
}
-int
-_gnutls_calc_srp_x(char *username, char *password, uint8_t * salt,
- size_t salt_size, size_t *size, void *digest)
+int _gnutls_calc_srp_x(char *username, char *password, uint8_t *salt,
+ size_t salt_size, size_t *size, void *digest)
{
-
- return _gnutls_calc_srp_sha(username, password, salt,
- salt_size, size, digest, 1);
+ return _gnutls_calc_srp_sha(username, password, salt, salt_size, size,
+ digest, 1);
}
/* S = (B - k*g^x) ^ (a + u * x) % N
* this is our shared key (client premaster secret)
*/
-bigint_t
-_gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x, bigint_t a,
- bigint_t u, bigint_t n)
+bigint_t _gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x, bigint_t a,
+ bigint_t u, bigint_t n)
{
bigint_t S = NULL, tmp1 = NULL, tmp2 = NULL;
bigint_t tmp4 = NULL, tmp3 = NULL, k = NULL;
@@ -362,13 +353,13 @@ _gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x, bigint_t a,
goto freeall;
}
- ret = _gnutls_mpi_powm(tmp1, g, x, n); /* g^x */
+ ret = _gnutls_mpi_powm(tmp1, g, x, n); /* g^x */
if (ret < 0) {
gnutls_assert();
goto freeall;
}
- ret = _gnutls_mpi_mulm(tmp3, tmp1, k, n); /* k*g^x mod n */
+ ret = _gnutls_mpi_mulm(tmp3, tmp1, k, n); /* k*g^x mod n */
if (ret < 0) {
gnutls_assert();
goto freeall;
@@ -406,7 +397,7 @@ _gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x, bigint_t a,
return S;
- freeall:
+freeall:
_gnutls_mpi_release(&k);
_gnutls_mpi_release(&tmp1);
_gnutls_mpi_release(&tmp2);
@@ -438,7 +429,7 @@ void gnutls_srp_free_client_credentials(gnutls_srp_client_credentials_t sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, or an
* error code.
**/
-int gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t * sc)
+int gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t *sc)
{
*sc = gnutls_calloc(1, sizeof(srp_client_credentials_st));
@@ -464,11 +455,10 @@ int gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t * sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, or an
* error code.
**/
-int
-gnutls_srp_set_client_credentials(gnutls_srp_client_credentials_t res,
- const char *username, const char *password)
+int gnutls_srp_set_client_credentials(gnutls_srp_client_credentials_t res,
+ const char *username,
+ const char *password)
{
-
if (username == NULL || password == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -505,13 +495,13 @@ void gnutls_srp_free_server_credentials(gnutls_srp_server_credentials_t sc)
* gnutls_srp_set_server_fake_salt_seed() is not called to set
* a seed.
*/
-# define DEFAULT_FAKE_SALT_SEED_SIZE 20
+#define DEFAULT_FAKE_SALT_SEED_SIZE 20
/* Size of the fake salts generated if
* gnutls_srp_set_server_fake_salt_seed() is not called to set
* another size.
*/
-# define DEFAULT_FAKE_SALT_SIZE 16
+#define DEFAULT_FAKE_SALT_SIZE 16
/**
* gnutls_srp_allocate_server_credentials:
@@ -522,7 +512,7 @@ void gnutls_srp_free_server_credentials(gnutls_srp_server_credentials_t sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, or an
* error code.
**/
-int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t * sc)
+int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t *sc)
{
int ret;
*sc = gnutls_calloc(1, sizeof(srp_server_cred_st));
@@ -542,7 +532,7 @@ int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t * sc)
(*sc)->fake_salt_length = DEFAULT_FAKE_SALT_SIZE;
return 0;
- cleanup:
+cleanup:
gnutls_free(*sc);
return ret;
}
@@ -561,12 +551,10 @@ int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t * sc)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, or an
* error code.
**/
-int
-gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t res,
- const char *password_file,
- const char *password_conf_file)
+int gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t res,
+ const char *password_file,
+ const char *password_conf_file)
{
-
if (password_file == NULL || password_conf_file == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -633,11 +621,9 @@ gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t res,
* The callback function should return 0 on success, while
* -1 indicates an error.
**/
-void
-gnutls_srp_set_server_credentials_function(gnutls_srp_server_credentials_t
- cred,
- gnutls_srp_server_credentials_function
- * func)
+void gnutls_srp_set_server_credentials_function(
+ gnutls_srp_server_credentials_t cred,
+ gnutls_srp_server_credentials_function *func)
{
cred->pwd_callback = func;
}
@@ -670,11 +656,9 @@ gnutls_srp_set_server_credentials_function(gnutls_srp_server_credentials_t
* The callback function should return 0 on success.
* -1 indicates an error.
**/
-void
-gnutls_srp_set_client_credentials_function(gnutls_srp_client_credentials_t
- cred,
- gnutls_srp_client_credentials_function
- * func)
+void gnutls_srp_set_client_credentials_function(
+ gnutls_srp_client_credentials_t cred,
+ gnutls_srp_client_credentials_function *func)
{
cred->get_function = func;
}
@@ -720,19 +704,18 @@ const char *gnutls_srp_server_get_username(gnutls_session_t session)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, or an
* error code.
**/
-int
-gnutls_srp_verifier(const char *username, const char *password,
- const gnutls_datum_t * salt,
- const gnutls_datum_t * generator,
- const gnutls_datum_t * prime, gnutls_datum_t * res)
+int gnutls_srp_verifier(const char *username, const char *password,
+ const gnutls_datum_t *salt,
+ const gnutls_datum_t *generator,
+ const gnutls_datum_t *prime, gnutls_datum_t *res)
{
bigint_t _n, _g;
int ret;
size_t digest_size = 20, size;
uint8_t digest[20];
- ret = _gnutls_calc_srp_sha(username, password, salt->data,
- salt->size, &digest_size, digest, 0);
+ ret = _gnutls_calc_srp_sha(username, password, salt->data, salt->size,
+ &digest_size, digest, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -818,10 +801,9 @@ void gnutls_srp_set_prime_bits(gnutls_session_t session, unsigned int bits)
*
* Since: 3.3.0
**/
-void
-gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t cred,
- const gnutls_datum_t * seed,
- unsigned int salt_length)
+void gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t cred,
+ const gnutls_datum_t *seed,
+ unsigned int salt_length)
{
unsigned seed_size = seed->size;
const unsigned char *seed_data = seed->data;
@@ -839,100 +821,86 @@ gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t cred,
const size_t mac_len = me->output_size;
cred->fake_salt_length =
- (salt_length < mac_len ? salt_length : mac_len);
+ (salt_length < mac_len ? salt_length : mac_len);
}
#else
-void gnutls_srp_free_client_credentials(gnutls_srp_client_credentials_t sc
- MAYBE_UNUSED)
+void gnutls_srp_free_client_credentials(
+ gnutls_srp_client_credentials_t sc MAYBE_UNUSED)
{
}
-int
-gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t *
- sc MAYBE_UNUSED)
+int gnutls_srp_allocate_client_credentials(
+ gnutls_srp_client_credentials_t *sc MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_srp_set_client_credentials(gnutls_srp_client_credentials_t res
- MAYBE_UNUSED,
- const char *username MAYBE_UNUSED,
- const char *password MAYBE_UNUSED)
+int gnutls_srp_set_client_credentials(
+ gnutls_srp_client_credentials_t res MAYBE_UNUSED,
+ const char *username MAYBE_UNUSED, const char *password MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-void
-gnutls_srp_free_server_credentials(gnutls_srp_server_credentials_t sc
- MAYBE_UNUSED)
+void gnutls_srp_free_server_credentials(
+ gnutls_srp_server_credentials_t sc MAYBE_UNUSED)
{
}
-int
-gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t *
- sc MAYBE_UNUSED)
+int gnutls_srp_allocate_server_credentials(
+ gnutls_srp_server_credentials_t *sc MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t res
- MAYBE_UNUSED,
- const char *password_file MAYBE_UNUSED,
- const char *password_conf_file
- MAYBE_UNUSED)
+int gnutls_srp_set_server_credentials_file(
+ gnutls_srp_server_credentials_t res MAYBE_UNUSED,
+ const char *password_file MAYBE_UNUSED,
+ const char *password_conf_file MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-void
-gnutls_srp_set_server_credentials_function(gnutls_srp_server_credentials_t cred
- MAYBE_UNUSED,
- gnutls_srp_server_credentials_function
- * func MAYBE_UNUSED)
+void gnutls_srp_set_server_credentials_function(
+ gnutls_srp_server_credentials_t cred MAYBE_UNUSED,
+ gnutls_srp_server_credentials_function *func MAYBE_UNUSED)
{
}
-void
-gnutls_srp_set_client_credentials_function(gnutls_srp_client_credentials_t cred
- MAYBE_UNUSED,
- gnutls_srp_client_credentials_function
- * func MAYBE_UNUSED)
+void gnutls_srp_set_client_credentials_function(
+ gnutls_srp_client_credentials_t cred MAYBE_UNUSED,
+ gnutls_srp_client_credentials_function *func MAYBE_UNUSED)
{
}
-const char *gnutls_srp_server_get_username(gnutls_session_t session
- MAYBE_UNUSED)
+const char *
+gnutls_srp_server_get_username(gnutls_session_t session MAYBE_UNUSED)
{
return NULL;
}
-int
-gnutls_srp_verifier(const char *username MAYBE_UNUSED,
- const char *password MAYBE_UNUSED,
- const gnutls_datum_t * salt MAYBE_UNUSED,
- const gnutls_datum_t * generator MAYBE_UNUSED,
- const gnutls_datum_t * prime MAYBE_UNUSED,
- gnutls_datum_t * res MAYBE_UNUSED)
+int gnutls_srp_verifier(const char *username MAYBE_UNUSED,
+ const char *password MAYBE_UNUSED,
+ const gnutls_datum_t *salt MAYBE_UNUSED,
+ const gnutls_datum_t *generator MAYBE_UNUSED,
+ const gnutls_datum_t *prime MAYBE_UNUSED,
+ gnutls_datum_t *res MAYBE_UNUSED)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-void
-gnutls_srp_set_prime_bits(gnutls_session_t session MAYBE_UNUSED,
- unsigned int bits MAYBE_UNUSED)
+void gnutls_srp_set_prime_bits(gnutls_session_t session MAYBE_UNUSED,
+ unsigned int bits MAYBE_UNUSED)
{
}
-void
-gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t cred
- MAYBE_UNUSED,
- const gnutls_datum_t * seed MAYBE_UNUSED,
- unsigned int salt_length MAYBE_UNUSED)
+void gnutls_srp_set_server_fake_salt_seed(
+ gnutls_srp_server_credentials_t cred MAYBE_UNUSED,
+ const gnutls_datum_t *seed MAYBE_UNUSED,
+ unsigned int salt_length MAYBE_UNUSED)
{
}
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_SRP */
diff --git a/lib/srp.h b/lib/srp.h
index 5a03e7bb0e..5a0a742c9d 100644
--- a/lib/srp.h
+++ b/lib/srp.h
@@ -21,27 +21,27 @@
*/
#ifndef GNUTLS_LIB_SRP_H
-# define GNUTLS_LIB_SRP_H
+#define GNUTLS_LIB_SRP_H
-# include <config.h>
+#include <config.h>
-# ifdef ENABLE_SRP
+#ifdef ENABLE_SRP
-bigint_t _gnutls_calc_srp_B(bigint_t * ret_b, bigint_t g, bigint_t n,
+bigint_t _gnutls_calc_srp_B(bigint_t *ret_b, bigint_t g, bigint_t n,
bigint_t v);
bigint_t _gnutls_calc_srp_u(bigint_t A, bigint_t B, bigint_t N);
-bigint_t _gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u,
- bigint_t v, bigint_t n);
-bigint_t _gnutls_calc_srp_A(bigint_t * a, bigint_t g, bigint_t n);
-bigint_t _gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x,
- bigint_t a, bigint_t u, bigint_t n);
-int _gnutls_calc_srp_x(char *username, char *password, uint8_t * salt,
+bigint_t _gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u, bigint_t v,
+ bigint_t n);
+bigint_t _gnutls_calc_srp_A(bigint_t *a, bigint_t g, bigint_t n);
+bigint_t _gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x, bigint_t a,
+ bigint_t u, bigint_t n);
+int _gnutls_calc_srp_x(char *username, char *password, uint8_t *salt,
size_t salt_size, size_t *size, void *digest);
-int _gnutls_srp_gn(uint8_t ** ret_g, uint8_t ** ret_n, int bits);
+int _gnutls_srp_gn(uint8_t **ret_g, uint8_t **ret_n, int bits);
/* g is defined to be 2 */
-# define SRP_MAX_HASH_SIZE 24
+#define SRP_MAX_HASH_SIZE 24
-# endif
+#endif
-#endif /* GNUTLS_LIB_SRP_H */
+#endif /* GNUTLS_LIB_SRP_H */
diff --git a/lib/sslv2_compat.c b/lib/sslv2_compat.c
index f80431e235..17a2d79e0a 100644
--- a/lib/sslv2_compat.c
+++ b/lib/sslv2_compat.c
@@ -42,17 +42,17 @@
#ifdef ENABLE_SSL2
/* This selects the best supported ciphersuite from the ones provided */
-static int
-_gnutls_handshake_select_v2_suite(gnutls_session_t session,
- uint8_t * data, unsigned int datalen)
+static int _gnutls_handshake_select_v2_suite(gnutls_session_t session,
+ uint8_t *data,
+ unsigned int datalen)
{
unsigned int i, j;
int ret;
uint8_t *_data;
int _datalen;
- _gnutls_handshake_log
- ("HSK[%p]: Parsing a version 2.0 client hello.\n", session);
+ _gnutls_handshake_log("HSK[%p]: Parsing a version 2.0 client hello.\n",
+ session);
if (datalen % 3 != 0) {
gnutls_assert();
@@ -78,15 +78,13 @@ _gnutls_handshake_select_v2_suite(gnutls_session_t session,
gnutls_free(_data);
return ret;
-
}
/* Read a v2 client hello. Some browsers still use that beast!
* However they set their version to 3.0 or 3.1.
*/
-int
-_gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
- unsigned int len)
+int _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t *data,
+ unsigned int len)
{
uint16_t session_id_len = 0;
int pos = 0;
@@ -100,9 +98,9 @@ _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
DECR_LEN(len, 2);
- _gnutls_handshake_log
- ("HSK[%p]: SSL 2.0 Hello: Client's version: %d.%d\n", session,
- data[pos], data[pos + 1]);
+ _gnutls_handshake_log(
+ "HSK[%p]: SSL 2.0 Hello: Client's version: %d.%d\n", session,
+ data[pos], data[pos + 1]);
major = data[pos];
minor = data[pos + 1];
@@ -162,9 +160,8 @@ _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
/* find an appropriate cipher suite */
DECR_LEN(len, sizeOfSuites);
- ret =
- _gnutls_handshake_select_v2_suite(session, &data[pos],
- sizeOfSuites);
+ ret = _gnutls_handshake_select_v2_suite(session, &data[pos],
+ sizeOfSuites);
pos += sizeOfSuites;
if (ret < 0) {
@@ -174,8 +171,9 @@ _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
/* check if the credentials (username, public key etc.) are ok
*/
- if (_gnutls_get_kx_cred
- (session, session->security_parameters.cs->kx_algorithm) == NULL) {
+ if (_gnutls_get_kx_cred(
+ session, session->security_parameters.cs->kx_algorithm) ==
+ NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
@@ -184,21 +182,19 @@ _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
* according to the KX algorithm. This is needed since all the
* handshake functions are read from there;
*/
- session->internals.auth_struct =
- _gnutls_kx_auth_struct(session->security_parameters.
- cs->kx_algorithm);
+ session->internals.auth_struct = _gnutls_kx_auth_struct(
+ session->security_parameters.cs->kx_algorithm);
if (session->internals.auth_struct == NULL) {
-
- _gnutls_handshake_log
- ("HSK[%p]: SSL 2.0 Hello: Cannot find the appropriate handler for the KX algorithm\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: SSL 2.0 Hello: Cannot find the appropriate handler for the KX algorithm\n",
+ session);
gnutls_assert();
return GNUTLS_E_INTERNAL_ERROR;
}
/* read random new values -skip session id for now */
- DECR_LEN(len, session_id_len); /* skip session id for now */
+ DECR_LEN(len, session_id_len); /* skip session id for now */
memcpy(session_id, &data[pos], session_id_len);
pos += session_id_len;
@@ -219,28 +215,26 @@ _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
/* RESUME SESSION */
DECR_LEN(len, session_id_len);
- ret =
- _gnutls_server_restore_session(session, session_id, session_id_len);
+ ret = _gnutls_server_restore_session(session, session_id,
+ session_id_len);
- if (ret == 0) { /* resumed! */
+ if (ret == 0) { /* resumed! */
/* get the new random values */
- memcpy(session->internals.resumed_security_parameters.
- server_random,
+ memcpy(session->internals.resumed_security_parameters
+ .server_random,
session->security_parameters.server_random,
GNUTLS_RANDOM_SIZE);
- memcpy(session->internals.resumed_security_parameters.
- client_random,
+ memcpy(session->internals.resumed_security_parameters
+ .client_random,
session->security_parameters.client_random,
GNUTLS_RANDOM_SIZE);
session->internals.resumed = true;
return 0;
} else {
- ret =
- _gnutls_generate_session_id(session->
- security_parameters.session_id,
- &session->
- security_parameters.session_id_size);
+ ret = _gnutls_generate_session_id(
+ session->security_parameters.session_id,
+ &session->security_parameters.session_id_size);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/sslv2_compat.h b/lib/sslv2_compat.h
index 15405febe4..f9821b4173 100644
--- a/lib/sslv2_compat.h
+++ b/lib/sslv2_compat.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_SSLV2_COMPAT_H
-# define GNUTLS_LIB_SSLV2_COMPAT_H
+#define GNUTLS_LIB_SSLV2_COMPAT_H
-int _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t * data,
+int _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t *data,
unsigned int datalen);
-#endif /* GNUTLS_LIB_SSLV2_COMPAT_H */
+#endif /* GNUTLS_LIB_SSLV2_COMPAT_H */
diff --git a/lib/state.c b/lib/state.c
index 5d732b0f17..bc6e6bf99b 100644
--- a/lib/state.c
+++ b/lib/state.c
@@ -62,9 +62,8 @@ unsigned _gnutls_disable_tls13 = 0;
/* These should really be static, but src/tests.c calls them. Make
them public functions? */
-void
-_gnutls_rsa_pms_set_version(gnutls_session_t session,
- unsigned char major, unsigned char minor);
+void _gnutls_rsa_pms_set_version(gnutls_session_t session, unsigned char major,
+ unsigned char minor);
/**
* gnutls_cipher_get:
@@ -106,12 +105,13 @@ gnutls_cipher_algorithm_t gnutls_early_cipher_get(gnutls_session_t session)
return gnutls_assert_val(GNUTLS_CIPHER_UNKNOWN);
}
- if (unlikely(session->internals.resumed_security_parameters.cs == NULL)) {
+ if (unlikely(session->internals.resumed_security_parameters.cs ==
+ NULL)) {
return gnutls_assert_val(GNUTLS_CIPHER_UNKNOWN);
}
- ce = cipher_to_entry(session->internals.resumed_security_parameters.
- cs->block_algorithm);
+ ce = cipher_to_entry(session->internals.resumed_security_parameters.cs
+ ->block_algorithm);
if (unlikely(ce == NULL)) {
return gnutls_assert_val(GNUTLS_CIPHER_UNKNOWN);
}
@@ -197,7 +197,7 @@ gnutls_kx_algorithm_t gnutls_kx_get(gnutls_session_t session)
if (session->security_parameters.cs == 0)
return 0;
- if (session->security_parameters.cs->kx_algorithm == 0) { /* TLS 1.3 */
+ if (session->security_parameters.cs->kx_algorithm == 0) { /* TLS 1.3 */
const version_entry_st *ver = get_version(session);
const gnutls_group_entry_st *group = get_group(session);
@@ -280,7 +280,7 @@ gnutls_digest_algorithm_t gnutls_prf_hash_get(const gnutls_session_t session)
if (session->security_parameters.prf->id >= GNUTLS_MAC_AEAD)
return gnutls_assert_val(GNUTLS_DIG_UNKNOWN);
- return (gnutls_digest_algorithm_t) session->security_parameters.prf->id;
+ return (gnutls_digest_algorithm_t)session->security_parameters.prf->id;
}
/**
@@ -302,19 +302,18 @@ gnutls_early_prf_hash_get(const gnutls_session_t session)
return gnutls_assert_val(GNUTLS_DIG_UNKNOWN);
}
- if (unlikely
- (session->internals.resumed_security_parameters.prf == NULL)) {
+ if (unlikely(session->internals.resumed_security_parameters.prf ==
+ NULL)) {
return gnutls_assert_val(GNUTLS_DIG_UNKNOWN);
}
- if (unlikely
- (session->internals.resumed_security_parameters.prf->id >=
- GNUTLS_MAC_AEAD)) {
+ if (unlikely(session->internals.resumed_security_parameters.prf->id >=
+ GNUTLS_MAC_AEAD)) {
return gnutls_assert_val(GNUTLS_DIG_UNKNOWN);
}
- return (gnutls_digest_algorithm_t) session->internals.
- resumed_security_parameters.prf->id;
+ return (gnutls_digest_algorithm_t)
+ session->internals.resumed_security_parameters.prf->id;
}
/**
@@ -365,8 +364,8 @@ static bool _gnutls_has_cert_credentials(gnutls_session_t session,
/* First, check for certificate credentials. If we have no certificate
* credentials set then we don't support certificates at all.
*/
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL)
return false;
@@ -389,7 +388,7 @@ static bool _gnutls_has_cert_credentials(gnutls_session_t session,
}
}
- return true; // OK
+ return true; // OK
}
/* Check if the given certificate type is supported.
@@ -397,11 +396,10 @@ static bool _gnutls_has_cert_credentials(gnutls_session_t session,
* and in some cases a matching certificate exists. A check for
* the latter can be toggled via the parameter @check_credentials.
*/
-bool
-_gnutls_session_is_cert_type_supported(gnutls_session_t session,
- gnutls_certificate_type_t cert_type,
- bool check_credentials,
- gnutls_ctype_target_t target)
+bool _gnutls_session_is_cert_type_supported(gnutls_session_t session,
+ gnutls_certificate_type_t cert_type,
+ bool check_credentials,
+ gnutls_ctype_target_t target)
{
unsigned i;
priority_st *ctype_priorities;
@@ -413,9 +411,8 @@ _gnutls_session_is_cert_type_supported(gnutls_session_t session,
// Perform a credentials check if requested
if (check_credentials) {
if (!_gnutls_has_cert_credentials(session, cert_type))
- return
- gnutls_assert_val
- (GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE);
}
/* So far so good. We have the required credentials (if needed).
@@ -426,19 +423,19 @@ _gnutls_session_is_cert_type_supported(gnutls_session_t session,
switch (target) {
case GNUTLS_CTYPE_CLIENT:
ctype_priorities =
- &(session->internals.priorities->client_ctype);
+ &(session->internals.priorities->client_ctype);
break;
case GNUTLS_CTYPE_SERVER:
ctype_priorities =
- &(session->internals.priorities->server_ctype);
+ &(session->internals.priorities->server_ctype);
break;
default:
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
// No explicit priorities set, and default ctype is asked
- if (ctype_priorities->num_priorities == 0
- && cert_type == DEFAULT_CERT_TYPE)
+ if (ctype_priorities->num_priorities == 0 &&
+ cert_type == DEFAULT_CERT_TYPE)
return 0;
/* Now lets find out whether our cert type is in our priority
@@ -570,7 +567,7 @@ void _gnutls_handshake_internal_state_clear(gnutls_session_t session)
*
* Returns: %GNUTLS_E_SUCCESS on success, or an error code.
**/
-int gnutls_init(gnutls_session_t * session, unsigned int flags)
+int gnutls_init(gnutls_session_t *session, unsigned int flags)
{
int ret;
@@ -591,16 +588,16 @@ int gnutls_init(gnutls_session_t * session, unsigned int flags)
ret = gnutls_mutex_init(&(*session)->internals.epoch_lock);
if (ret < 0) {
gnutls_assert();
- gnutls_mutex_deinit(&(*session)->
- internals.post_negotiation_lock);
+ gnutls_mutex_deinit(
+ &(*session)->internals.post_negotiation_lock);
gnutls_free(*session);
return ret;
}
ret = _gnutls_epoch_setup_next(*session, 1, NULL);
if (ret < 0) {
- gnutls_mutex_deinit(&(*session)->
- internals.post_negotiation_lock);
+ gnutls_mutex_deinit(
+ &(*session)->internals.post_negotiation_lock);
gnutls_mutex_deinit(&(*session)->internals.epoch_lock);
gnutls_free(*session);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -608,7 +605,7 @@ int gnutls_init(gnutls_session_t * session, unsigned int flags)
_gnutls_epoch_bump(*session);
(*session)->security_parameters.entity =
- (flags & GNUTLS_SERVER ? GNUTLS_SERVER : GNUTLS_CLIENT);
+ (flags & GNUTLS_SERVER ? GNUTLS_SERVER : GNUTLS_CLIENT);
/* the default certificate type for TLS */
(*session)->security_parameters.client_ctype = DEFAULT_CERT_TYPE;
@@ -642,28 +639,28 @@ int gnutls_init(gnutls_session_t * session, unsigned int flags)
/* set the socket pointers to -1;
*/
- (*session)->internals.transport_recv_ptr = (gnutls_transport_ptr_t) - 1;
- (*session)->internals.transport_send_ptr = (gnutls_transport_ptr_t) - 1;
+ (*session)->internals.transport_recv_ptr = (gnutls_transport_ptr_t)-1;
+ (*session)->internals.transport_send_ptr = (gnutls_transport_ptr_t)-1;
/* set the default maximum record size for TLS
*/
(*session)->security_parameters.max_record_recv_size =
- DEFAULT_MAX_RECORD_SIZE;
+ DEFAULT_MAX_RECORD_SIZE;
(*session)->security_parameters.max_record_send_size =
- DEFAULT_MAX_RECORD_SIZE;
+ DEFAULT_MAX_RECORD_SIZE;
(*session)->security_parameters.max_user_record_recv_size =
- DEFAULT_MAX_RECORD_SIZE;
+ DEFAULT_MAX_RECORD_SIZE;
(*session)->security_parameters.max_user_record_send_size =
- DEFAULT_MAX_RECORD_SIZE;
+ DEFAULT_MAX_RECORD_SIZE;
/* set the default early data size for TLS
*/
if ((*session)->security_parameters.entity == GNUTLS_SERVER) {
(*session)->security_parameters.max_early_data_size =
- DEFAULT_MAX_EARLY_DATA_SIZE;
+ DEFAULT_MAX_EARLY_DATA_SIZE;
} else {
(*session)->security_parameters.max_early_data_size =
- UINT32_MAX;
+ UINT32_MAX;
}
/* Everything else not initialized here is initialized as NULL
@@ -672,15 +669,15 @@ int gnutls_init(gnutls_session_t * session, unsigned int flags)
* runtime before being used. Mark such regions with a
* valgrind client request as undefined.
*/
- _gnutls_memory_mark_undefined((*session)->
- security_parameters.master_secret,
- GNUTLS_MASTER_SIZE);
- _gnutls_memory_mark_undefined((*session)->
- security_parameters.client_random,
- GNUTLS_RANDOM_SIZE);
- _gnutls_memory_mark_undefined((*session)->
- security_parameters.server_random,
- GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_undefined(
+ (*session)->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
+ _gnutls_memory_mark_undefined(
+ (*session)->security_parameters.client_random,
+ GNUTLS_RANDOM_SIZE);
+ _gnutls_memory_mark_undefined(
+ (*session)->security_parameters.server_random,
+ GNUTLS_RANDOM_SIZE);
_gnutls_memory_mark_undefined((*session)->key.session_ticket_key,
TICKET_MASTER_KEY_SIZE);
_gnutls_memory_mark_undefined((*session)->key.previous_ticket_key,
@@ -718,7 +715,8 @@ int gnutls_init(gnutls_session_t * session, unsigned int flags)
}
/* Enable useful extensions */
- if ((flags & GNUTLS_CLIENT) && !(flags & GNUTLS_NO_DEFAULT_EXTENSIONS)) {
+ if ((flags & GNUTLS_CLIENT) &&
+ !(flags & GNUTLS_NO_DEFAULT_EXTENSIONS)) {
#ifdef ENABLE_OCSP
if (!(flags & GNUTLS_NO_STATUS_REQUEST))
gnutls_ocsp_status_request_enable_client(*session, NULL,
@@ -841,42 +839,34 @@ int _gnutls_dh_set_peer_public(gnutls_session_t session, bigint_t public)
int ret;
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info;
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info;
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
- cert_auth_info_t info;
-
- info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
default:
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
@@ -896,42 +886,34 @@ int _gnutls_dh_set_peer_public(gnutls_session_t session, bigint_t public)
int _gnutls_dh_set_secret_bits(gnutls_session_t session, unsigned bits)
{
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info;
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- info->dh.secret_bits = bits;
- break;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info;
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- info->dh.secret_bits = bits;
- break;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
- cert_auth_info_t info;
-
- info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- info->dh.secret_bits = bits;
- break;
- default:
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (info == NULL)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- }
+ info->dh.secret_bits = bits;
+ break;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ info->dh.secret_bits = bits;
+ break;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ info->dh.secret_bits = bits;
+ break;
+ default:
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ }
}
return 0;
@@ -939,49 +921,41 @@ int _gnutls_dh_set_secret_bits(gnutls_session_t session, unsigned bits)
/* Sets the prime and the generator in the auth info structure.
*/
-int
-_gnutls_dh_save_group(gnutls_session_t session, bigint_t gen, bigint_t prime)
+int _gnutls_dh_save_group(gnutls_session_t session, bigint_t gen,
+ bigint_t prime)
{
dh_info_st *dh;
int ret;
switch (gnutls_auth_get_type(session)) {
- case GNUTLS_CRD_ANON:
- {
- anon_auth_info_t info;
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_PSK:
- {
- psk_auth_info_t info;
- info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
- case GNUTLS_CRD_CERTIFICATE:
- {
- cert_auth_info_t info;
-
- info =
- _gnutls_get_auth_info(session,
- GNUTLS_CRD_CERTIFICATE);
- if (info == NULL)
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
-
- dh = &info->dh;
- break;
- }
+ case GNUTLS_CRD_ANON: {
+ anon_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_ANON);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_PSK: {
+ psk_auth_info_t info;
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_PSK);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
+ case GNUTLS_CRD_CERTIFICATE: {
+ cert_auth_info_t info;
+
+ info = _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ if (info == NULL)
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+
+ dh = &info->dh;
+ break;
+ }
default:
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
}
@@ -1026,8 +1000,8 @@ _gnutls_dh_save_group(gnutls_session_t session, bigint_t gen, bigint_t prime)
* This function has no effect in clients, and in authentication
* methods other than certificate with X.509 certificates.
**/
-void
-gnutls_certificate_send_x509_rdn_sequence(gnutls_session_t session, int status)
+void gnutls_certificate_send_x509_rdn_sequence(gnutls_session_t session,
+ int status)
{
session->internals.ignore_rdn_sequence = status;
}
@@ -1042,9 +1016,9 @@ gnutls_certificate_send_x509_rdn_sequence(gnutls_session_t session, int status)
* record packet (client hello). This function is only useful to people
* that know TLS internals and want to debug other implementations.
-*/
-void
-_gnutls_record_set_default_version(gnutls_session_t session,
- unsigned char major, unsigned char minor)
+void _gnutls_record_set_default_version(gnutls_session_t session,
+ unsigned char major,
+ unsigned char minor)
{
session->internals.default_record_version[0] = major;
session->internals.default_record_version[1] = minor;
@@ -1060,9 +1034,8 @@ _gnutls_record_set_default_version(gnutls_session_t session,
* record packet (client hello). This function is only useful to people
* that know TLS internals and want to debug other implementations.
-*/
-void
-_gnutls_hello_set_default_version(gnutls_session_t session,
- unsigned char major, unsigned char minor)
+void _gnutls_hello_set_default_version(gnutls_session_t session,
+ unsigned char major, unsigned char minor)
{
session->internals.default_hello_version[0] = major;
session->internals.default_hello_version[1] = minor;
@@ -1083,8 +1056,8 @@ _gnutls_hello_set_default_version(gnutls_session_t session,
* Enabling the private ciphersuites when talking to other than
* gnutls servers and clients may cause interoperability problems.
**/
-void
-gnutls_handshake_set_private_extensions(gnutls_session_t session, int allow)
+void gnutls_handshake_set_private_extensions(gnutls_session_t session,
+ int allow)
{
/* we have no private extensions */
return;
@@ -1110,13 +1083,12 @@ int gnutls_session_is_resumed(gnutls_session_t session)
if (session->security_parameters.session_id_size > 0 &&
session->security_parameters.session_id_size ==
- session->internals.resumed_security_parameters.
- session_id_size
- && memcmp(session->security_parameters.session_id,
- session->internals.resumed_security_parameters.
- session_id,
- session->security_parameters.session_id_size) ==
- 0)
+ session->internals.resumed_security_parameters
+ .session_id_size &&
+ memcmp(session->security_parameters.session_id,
+ session->internals.resumed_security_parameters
+ .session_id,
+ session->security_parameters.session_id_size) == 0)
return 1;
} else {
if (session->internals.resumed)
@@ -1156,8 +1128,8 @@ int _gnutls_session_is_psk(gnutls_session_t session)
gnutls_kx_algorithm_t kx;
kx = session->security_parameters.cs->kx_algorithm;
- if (kx == GNUTLS_KX_PSK || kx == GNUTLS_KX_DHE_PSK
- || kx == GNUTLS_KX_RSA_PSK)
+ if (kx == GNUTLS_KX_PSK || kx == GNUTLS_KX_DHE_PSK ||
+ kx == GNUTLS_KX_RSA_PSK)
return 1;
return 0;
@@ -1235,8 +1207,9 @@ void gnutls_session_set_ptr(gnutls_session_t session, void *ptr)
*
* Since: 3.4.6
**/
-void gnutls_session_set_verify_function
- (gnutls_session_t session, gnutls_certificate_verify_function * func) {
+void gnutls_session_set_verify_function(
+ gnutls_session_t session, gnutls_certificate_verify_function *func)
+{
session->internals.verify_callback = func;
}
@@ -1274,9 +1247,8 @@ int gnutls_record_get_direction(gnutls_session_t session)
* RSA PMS secret. This is only useful to clients, which want to
* test server's capabilities.
-*/
-void
-_gnutls_rsa_pms_set_version(gnutls_session_t session,
- unsigned char major, unsigned char minor)
+void _gnutls_rsa_pms_set_version(gnutls_session_t session, unsigned char major,
+ unsigned char minor)
{
session->internals.rsa_pms_version[0] = major;
session->internals.rsa_pms_version[1] = minor;
@@ -1285,18 +1257,18 @@ _gnutls_rsa_pms_set_version(gnutls_session_t session,
void _gnutls_session_client_cert_type_set(gnutls_session_t session,
gnutls_certificate_type_t ct)
{
- _gnutls_handshake_log
- ("HSK[%p]: Selected client certificate type %s (%d)\n", session,
- gnutls_certificate_type_get_name(ct), ct);
+ _gnutls_handshake_log(
+ "HSK[%p]: Selected client certificate type %s (%d)\n", session,
+ gnutls_certificate_type_get_name(ct), ct);
session->security_parameters.client_ctype = ct;
}
void _gnutls_session_server_cert_type_set(gnutls_session_t session,
gnutls_certificate_type_t ct)
{
- _gnutls_handshake_log
- ("HSK[%p]: Selected server certificate type %s (%d)\n", session,
- gnutls_certificate_type_get_name(ct), ct);
+ _gnutls_handshake_log(
+ "HSK[%p]: Selected server certificate type %s (%d)\n", session,
+ gnutls_certificate_type_get_name(ct), ct);
session->security_parameters.server_ctype = ct;
}
@@ -1326,10 +1298,8 @@ void _gnutls_session_server_cert_type_set(gnutls_session_t session,
* doing. Before the handshake is finished there is no way to know if
* there is a man-in-the-middle attack being performed.
**/
-void
-gnutls_handshake_set_post_client_hello_function(gnutls_session_t session,
- gnutls_handshake_simple_hook_func
- func)
+void gnutls_handshake_set_post_client_hello_function(
+ gnutls_session_t session, gnutls_handshake_simple_hook_func func)
{
session->internals.user_hello_func = func;
}
@@ -1372,10 +1342,9 @@ void gnutls_session_enable_compatibility_mode(gnutls_session_t session)
*
* Since: 2.12.0
**/
-int
-gnutls_session_channel_binding(gnutls_session_t session,
- gnutls_channel_binding_t cbtype,
- gnutls_datum_t * cb)
+int gnutls_session_channel_binding(gnutls_session_t session,
+ gnutls_channel_binding_t cbtype,
+ gnutls_datum_t *cb)
{
if (!session->internals.initial_negotiation_completed)
return GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE;
@@ -1409,8 +1378,8 @@ gnutls_session_channel_binding(gnutls_session_t session,
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
if (session->security_parameters.entity == GNUTLS_CLIENT)
- ders =
- gnutls_certificate_get_peers(session, &num_certs);
+ ders = gnutls_certificate_get_peers(session,
+ &num_certs);
else
ders = gnutls_certificate_get_ours(session);
@@ -1496,10 +1465,10 @@ gnutls_session_channel_binding(gnutls_session_t session,
if (cb->data == NULL)
return GNUTLS_E_MEMORY_ERROR;
- return gnutls_prf_rfc5705(session,
- RFC5705_LABEL_LEN, RFC5705_LABEL_DATA,
- EXPORTER_CTX_LEN, EXPORTER_CTX_DATA,
- cb->size, (char *)cb->data);
+ return gnutls_prf_rfc5705(session, RFC5705_LABEL_LEN,
+ RFC5705_LABEL_DATA, EXPORTER_CTX_LEN,
+ EXPORTER_CTX_DATA, cb->size,
+ (char *)cb->data);
}
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
@@ -1577,20 +1546,19 @@ gnutls_protocol_t gnutls_protocol_get_version(gnutls_session_t session)
*
* Since: 3.0
**/
-void
-gnutls_session_get_random(gnutls_session_t session,
- gnutls_datum_t * client, gnutls_datum_t * server)
+void gnutls_session_get_random(gnutls_session_t session, gnutls_datum_t *client,
+ gnutls_datum_t *server)
{
if (client) {
client->data = session->security_parameters.client_random;
client->size =
- sizeof(session->security_parameters.client_random);
+ sizeof(session->security_parameters.client_random);
}
if (server) {
server->data = session->security_parameters.server_random;
server->size =
- sizeof(session->security_parameters.server_random);
+ sizeof(session->security_parameters.server_random);
}
}
@@ -1606,9 +1574,8 @@ gnutls_session_get_random(gnutls_session_t session,
*
* Since: 3.5.0
**/
-void
-gnutls_session_get_master_secret(gnutls_session_t session,
- gnutls_datum_t * secret)
+void gnutls_session_get_master_secret(gnutls_session_t session,
+ gnutls_datum_t *secret)
{
secret->data = session->security_parameters.master_secret;
secret->size = sizeof(session->security_parameters.master_secret);
@@ -1645,20 +1612,21 @@ unsigned int timespec_sub_ms(struct timespec *a, struct timespec *b)
*
* Since 3.1.9
**/
-int
-gnutls_handshake_set_random(gnutls_session_t session,
- const gnutls_datum_t * random)
+int gnutls_handshake_set_random(gnutls_session_t session,
+ const gnutls_datum_t *random)
{
if (random->size != GNUTLS_RANDOM_SIZE)
return GNUTLS_E_INVALID_REQUEST;
session->internals.sc_random_set = 1;
if (session->security_parameters.entity == GNUTLS_CLIENT)
- memcpy(session->internals.resumed_security_parameters.
- client_random, random->data, random->size);
+ memcpy(session->internals.resumed_security_parameters
+ .client_random,
+ random->data, random->size);
else
- memcpy(session->internals.resumed_security_parameters.
- server_random, random->data, random->size);
+ memcpy(session->internals.resumed_security_parameters
+ .server_random,
+ random->data, random->size);
return 0;
}
@@ -1688,10 +1656,9 @@ gnutls_handshake_set_random(gnutls_session_t session,
* doing. Before the handshake is finished there is no way to know if
* there is a man-in-the-middle attack being performed.
**/
-void
-gnutls_handshake_set_hook_function(gnutls_session_t session,
- unsigned int htype,
- int when, gnutls_handshake_hook_func func)
+void gnutls_handshake_set_hook_function(gnutls_session_t session,
+ unsigned int htype, int when,
+ gnutls_handshake_hook_func func)
{
session->internals.h_hook = func;
session->internals.h_type = htype;
@@ -1708,9 +1675,8 @@ gnutls_handshake_set_hook_function(gnutls_session_t session,
*
* Since: 3.7.0
*/
-void
-gnutls_handshake_set_read_function(gnutls_session_t session,
- gnutls_handshake_read_func func)
+void gnutls_handshake_set_read_function(gnutls_session_t session,
+ gnutls_handshake_read_func func)
{
session->internals.h_read_func = func;
}
@@ -1725,9 +1691,8 @@ gnutls_handshake_set_read_function(gnutls_session_t session,
*
* Since: 3.7.0
*/
-void
-gnutls_alert_set_read_function(gnutls_session_t session,
- gnutls_alert_read_func func)
+void gnutls_alert_set_read_function(gnutls_session_t session,
+ gnutls_alert_read_func func)
{
session->internals.alert_read_func = func;
}
@@ -1752,13 +1717,10 @@ gnutls_alert_set_read_function(gnutls_session_t session,
*
* Since 3.4.0
**/
-int
-gnutls_record_get_state(gnutls_session_t session,
- unsigned read,
- gnutls_datum_t * mac_key,
- gnutls_datum_t * IV,
- gnutls_datum_t * cipher_key,
- unsigned char seq_number[8])
+int gnutls_record_get_state(gnutls_session_t session, unsigned read,
+ gnutls_datum_t *mac_key, gnutls_datum_t *IV,
+ gnutls_datum_t *cipher_key,
+ unsigned char seq_number[8])
{
record_parameters_st *record_params;
record_state_st *record_state;
@@ -1816,9 +1778,8 @@ gnutls_record_get_state(gnutls_session_t session,
*
* Since 3.4.0
**/
-int
-gnutls_record_set_state(gnutls_session_t session,
- unsigned read, const unsigned char seq_number[8])
+int gnutls_record_set_state(gnutls_session_t session, unsigned read,
+ const unsigned char seq_number[8])
{
record_parameters_st *record_params;
record_state_st *record_state;
diff --git a/lib/state.h b/lib/state.h
index 15d5ad6384..dc086bcf0d 100644
--- a/lib/state.h
+++ b/lib/state.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_STATE_H
-# define GNUTLS_LIB_STATE_H
+#define GNUTLS_LIB_STATE_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
void _gnutls_session_client_cert_type_set(gnutls_session_t session,
gnutls_certificate_type_t);
@@ -37,17 +37,16 @@ inline static const gnutls_group_entry_st *get_group(gnutls_session_t session)
int _gnutls_session_is_ecc(gnutls_session_t session);
-inline static void
-_gnutls_session_group_set(gnutls_session_t session,
- const gnutls_group_entry_st * e)
+inline static void _gnutls_session_group_set(gnutls_session_t session,
+ const gnutls_group_entry_st *e)
{
- _gnutls_handshake_log("HSK[%p]: Selected group %s (%d)\n",
- session, e->name, e->id);
+ _gnutls_handshake_log("HSK[%p]: Selected group %s (%d)\n", session,
+ e->name, e->id);
session->security_parameters.grp = e;
}
-inline static
-void set_default_version(gnutls_session_t session, const version_entry_st * ver)
+inline static void set_default_version(gnutls_session_t session,
+ const version_entry_st *ver)
{
if (ver->tls13_sem) {
session->internals.default_record_version[0] = 3;
@@ -58,19 +57,20 @@ void set_default_version(gnutls_session_t session, const version_entry_st * ver)
}
}
-void
-_gnutls_record_set_default_version(gnutls_session_t session,
- unsigned char major, unsigned char minor);
+void _gnutls_record_set_default_version(gnutls_session_t session,
+ unsigned char major,
+ unsigned char minor);
-void
-_gnutls_hello_set_default_version(gnutls_session_t session,
- unsigned char major, unsigned char minor);
+void _gnutls_hello_set_default_version(gnutls_session_t session,
+ unsigned char major,
+ unsigned char minor);
-# include <auth.h>
+#include <auth.h>
-# define CHECK_AUTH_TYPE(auth, ret) if (gnutls_auth_get_type(session) != auth) { \
- gnutls_assert(); \
- return ret; \
+#define CHECK_AUTH_TYPE(auth, ret) \
+ if (gnutls_auth_get_type(session) != auth) { \
+ gnutls_assert(); \
+ return ret; \
}
bool _gnutls_session_is_cert_type_supported(gnutls_session_t session,
@@ -88,9 +88,8 @@ static inline int _gnutls_dh_get_min_prime_bits(gnutls_session_t session)
if (session->internals.dh_prime_bits != 0)
return session->internals.dh_prime_bits;
else
- return gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH,
- session->internals.
- priorities->level);
+ return gnutls_sec_param_to_pk_bits(
+ GNUTLS_PK_DH, session->internals.priorities->level);
}
void _gnutls_handshake_internal_state_clear(gnutls_session_t);
@@ -99,21 +98,19 @@ int _gnutls_session_is_psk(gnutls_session_t session);
void reset_binders(gnutls_session_t session);
-inline static int
-_gnutls_PRF(gnutls_session_t session,
- const uint8_t * secret, unsigned int secret_size,
- const char *label, int label_size, const uint8_t * seed,
- int seed_size, int total_bytes, void *ret)
+inline static int _gnutls_PRF(gnutls_session_t session, const uint8_t *secret,
+ unsigned int secret_size, const char *label,
+ int label_size, const uint8_t *seed,
+ int seed_size, int total_bytes, void *ret)
{
return _gnutls_prf_raw(session->security_parameters.prf->id,
- secret_size, secret,
- label_size, label,
+ secret_size, secret, label_size, label,
seed_size, seed, total_bytes, ret);
}
-# define DEFAULT_CERT_TYPE GNUTLS_CRT_X509
+#define DEFAULT_CERT_TYPE GNUTLS_CRT_X509
/* Keep backward compatibility */
-# define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
+#define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
-#endif /* GNUTLS_LIB_STATE_H */
+#endif /* GNUTLS_LIB_STATE_H */
diff --git a/lib/stek.c b/lib/stek.c
index cf8971491e..a50258d923 100644
--- a/lib/stek.c
+++ b/lib/stek.c
@@ -24,11 +24,10 @@
#define NAME_POS (0)
#define KEY_POS (TICKET_KEY_NAME_SIZE)
-#define MAC_SECRET_POS (TICKET_KEY_NAME_SIZE+TICKET_CIPHER_KEY_SIZE)
+#define MAC_SECRET_POS (TICKET_KEY_NAME_SIZE + TICKET_CIPHER_KEY_SIZE)
-static int totp_sha3(gnutls_session_t session,
- uint64_t t,
- const gnutls_datum_t * secret,
+static int totp_sha3(gnutls_session_t session, uint64_t t,
+ const gnutls_datum_t *secret,
uint8_t out[TICKET_MASTER_KEY_SIZE])
{
int retval;
@@ -40,7 +39,7 @@ static int totp_sha3(gnutls_session_t session,
*/
const gnutls_digest_algorithm_t algo = GNUTLS_DIG_SHA3_512;
#if TICKET_MASTER_KEY_SIZE != 64
-# error "TICKET_MASTER_KEY_SIZE must be 64 bytes"
+#error "TICKET_MASTER_KEY_SIZE must be 64 bytes"
#endif
if (unlikely(secret == NULL))
@@ -64,7 +63,7 @@ static uint64_t T(gnutls_session_t session, time_t t)
{
uint64_t numeral = t;
unsigned int x =
- session->internals.expire_time * STEK_ROTATION_PERIOD_PRODUCT;
+ session->internals.expire_time * STEK_ROTATION_PERIOD_PRODUCT;
if (numeral <= 0)
return 0;
@@ -78,7 +77,7 @@ static int64_t totp_next(gnutls_session_t session)
uint64_t result;
t = gnutls_time(NULL);
- if (unlikely(t == (time_t) - 1))
+ if (unlikely(t == (time_t)-1))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
result = T(session, t);
@@ -198,9 +197,9 @@ static int rotate_back_and_peek(gnutls_session_t session,
* before returning it to the caller.
*/
int _gnutls_get_session_ticket_encryption_key(gnutls_session_t session,
- gnutls_datum_t * key_name,
- gnutls_datum_t * mac_key,
- gnutls_datum_t * enc_key)
+ gnutls_datum_t *key_name,
+ gnutls_datum_t *mac_key,
+ gnutls_datum_t *enc_key)
{
int retval;
@@ -223,7 +222,7 @@ int _gnutls_get_session_ticket_encryption_key(gnutls_session_t session,
}
if (mac_key) {
mac_key->data =
- &session->key.session_ticket_key[MAC_SECRET_POS];
+ &session->key.session_ticket_key[MAC_SECRET_POS];
mac_key->size = TICKET_MAC_SECRET_SIZE;
}
if (enc_key) {
@@ -252,18 +251,16 @@ int _gnutls_get_session_ticket_encryption_key(gnutls_session_t session,
* %GNUTLS_E_REQUSTED_DATA_NOT_AVAILABLE if no key could be found for the supplied ticket.
*/
int _gnutls_get_session_ticket_decryption_key(gnutls_session_t session,
- const gnutls_datum_t *
- ticket_data,
- gnutls_datum_t * key_name,
- gnutls_datum_t * mac_key,
- gnutls_datum_t * enc_key)
+ const gnutls_datum_t *ticket_data,
+ gnutls_datum_t *key_name,
+ gnutls_datum_t *mac_key,
+ gnutls_datum_t *enc_key)
{
int retval;
uint8_t *key_data;
- if (unlikely
- (session == NULL || ticket_data == NULL
- || ticket_data->data == NULL))
+ if (unlikely(session == NULL || ticket_data == NULL ||
+ ticket_data->data == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
if (ticket_data->size < TICKET_KEY_NAME_SIZE)
@@ -293,9 +290,8 @@ int _gnutls_get_session_ticket_decryption_key(gnutls_session_t session,
*/
_gnutls_memory_mark_defined(session->key.previous_ticket_key,
TICKET_MASTER_KEY_SIZE);
- if ((retval =
- rotate_back_and_peek(session,
- session->key.previous_ticket_key)) < 0) {
+ if ((retval = rotate_back_and_peek(
+ session, session->key.previous_ticket_key)) < 0) {
_gnutls_memory_mark_undefined(session->key.previous_ticket_key,
TICKET_MASTER_KEY_SIZE);
return gnutls_assert_val(retval);
@@ -310,7 +306,7 @@ int _gnutls_get_session_ticket_decryption_key(gnutls_session_t session,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
- key_found:
+key_found:
if (key_name) {
key_name->data = &key_data[NAME_POS];
key_name->size = TICKET_KEY_NAME_SIZE;
@@ -340,7 +336,7 @@ int _gnutls_get_session_ticket_decryption_key(gnutls_session_t session,
* Returns: %GNUTLS_E_SUCCESS (0) on success, or %GNUTLS_E_INVALID_REQUEST on error.
*/
int _gnutls_initialize_session_ticket_key_rotation(gnutls_session_t session,
- const gnutls_datum_t * key)
+ const gnutls_datum_t *key)
{
if (unlikely(session == NULL || key == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -368,9 +364,8 @@ int _gnutls_initialize_session_ticket_key_rotation(gnutls_session_t session,
* step value that caused the key to rotate.
*
*/
-void _gnutls_set_session_ticket_key_rotation_callback(gnutls_session_t session,
- gnutls_stek_rotation_callback_t
- cb)
+void _gnutls_set_session_ticket_key_rotation_callback(
+ gnutls_session_t session, gnutls_stek_rotation_callback_t cb)
{
if (session)
session->key.totp.cb = cb;
diff --git a/lib/stek.h b/lib/stek.h
index ce06fad53e..fd5ecba2b0 100644
--- a/lib/stek.h
+++ b/lib/stek.h
@@ -21,26 +21,24 @@
*/
#ifndef GNUTLS_LIB_STEK_H
-# define GNUTLS_LIB_STEK_H
+#define GNUTLS_LIB_STEK_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
int _gnutls_get_session_ticket_encryption_key(gnutls_session_t session,
- gnutls_datum_t * key_name,
- gnutls_datum_t * mac_key,
- gnutls_datum_t * enc_key);
+ gnutls_datum_t *key_name,
+ gnutls_datum_t *mac_key,
+ gnutls_datum_t *enc_key);
int _gnutls_get_session_ticket_decryption_key(gnutls_session_t session,
- const gnutls_datum_t *
- ticket_data,
- gnutls_datum_t * key_name,
- gnutls_datum_t * mac_key,
- gnutls_datum_t * enc_key);
+ const gnutls_datum_t *ticket_data,
+ gnutls_datum_t *key_name,
+ gnutls_datum_t *mac_key,
+ gnutls_datum_t *enc_key);
-void _gnutls_set_session_ticket_key_rotation_callback(gnutls_session_t session,
- gnutls_stek_rotation_callback_t
- cb);
+void _gnutls_set_session_ticket_key_rotation_callback(
+ gnutls_session_t session, gnutls_stek_rotation_callback_t cb);
int _gnutls_initialize_session_ticket_key_rotation(gnutls_session_t session,
- const gnutls_datum_t * key);
+ const gnutls_datum_t *key);
-#endif /* GNUTLS_LIB_STEK_H */
+#endif /* GNUTLS_LIB_STEK_H */
diff --git a/lib/str-iconv.c b/lib/str-iconv.c
index 3a85aa3ece..72ffb30b23 100644
--- a/lib/str-iconv.c
+++ b/lib/str-iconv.c
@@ -34,7 +34,7 @@
#include <uninorm.h>
#include "num.h"
-static void change_u16_endianness(uint8_t * dst, const uint8_t * src,
+static void change_u16_endianness(uint8_t *dst, const uint8_t *src,
unsigned size, unsigned be)
{
unsigned convert = 0;
@@ -62,8 +62,8 @@ static void change_u16_endianness(uint8_t * dst, const uint8_t * src,
}
}
-int _gnutls_ucs2_to_utf8(const void *data, size_t size,
- gnutls_datum_t * output, unsigned be)
+int _gnutls_ucs2_to_utf8(const void *data, size_t size, gnutls_datum_t *output,
+ unsigned be)
{
int ret;
size_t dstlen;
@@ -71,8 +71,8 @@ int _gnutls_ucs2_to_utf8(const void *data, size_t size,
uint8_t *tmp_dst = NULL;
uint8_t *dst = NULL;
- if (size > 2 && ((uint8_t *) data)[size - 1] == 0
- && ((uint8_t *) data)[size - 2] == 0) {
+ if (size > 2 && ((uint8_t *)data)[size - 1] == 0 &&
+ ((uint8_t *)data)[size - 2] == 0) {
size -= 2;
}
@@ -87,7 +87,7 @@ int _gnutls_ucs2_to_utf8(const void *data, size_t size,
change_u16_endianness(src, data, size, be);
dstlen = 0;
- tmp_dst = u16_to_u8((uint16_t *) src, size / 2, NULL, &dstlen);
+ tmp_dst = u16_to_u8((uint16_t *)src, size / 2, NULL, &dstlen);
if (tmp_dst == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto fail;
@@ -109,18 +109,18 @@ int _gnutls_ucs2_to_utf8(const void *data, size_t size,
ret = 0;
goto cleanup;
- fail:
+fail:
gnutls_free(dst);
- cleanup:
+cleanup:
gnutls_free(src);
free(tmp_dst);
return ret;
}
-int _gnutls_utf8_to_ucs2(const void *data, size_t size,
- gnutls_datum_t * output, unsigned be)
+int _gnutls_utf8_to_ucs2(const void *data, size_t size, gnutls_datum_t *output,
+ unsigned be)
{
int ret;
size_t dstlen, nrm_size = 0, tmp_size = 0;
@@ -136,13 +136,13 @@ int _gnutls_utf8_to_ucs2(const void *data, size_t size,
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
nrm_dst =
- u16_normalize(UNINORM_NFC, tmp_dst, tmp_size, NULL, &nrm_size);
+ u16_normalize(UNINORM_NFC, tmp_dst, tmp_size, NULL, &nrm_size);
if (nrm_dst == NULL) {
ret = gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
goto fail;
}
- dstlen = nrm_size * 2; /* convert to bytes */
+ dstlen = nrm_size * 2; /* convert to bytes */
dst = gnutls_malloc(dstlen + 2);
if (dst == NULL) {
@@ -152,7 +152,7 @@ int _gnutls_utf8_to_ucs2(const void *data, size_t size,
}
/* convert to BE */
- change_u16_endianness(dst, (uint8_t *) tmp_dst, dstlen, be);
+ change_u16_endianness(dst, (uint8_t *)tmp_dst, dstlen, be);
dst[dstlen] = 0;
dst[dstlen + 1] = 0;
@@ -162,10 +162,10 @@ int _gnutls_utf8_to_ucs2(const void *data, size_t size,
ret = 0;
goto cleanup;
- fail:
+fail:
gnutls_free(dst);
- cleanup:
+cleanup:
free(tmp_dst);
free(nrm_dst);
diff --git a/lib/str-idna.c b/lib/str-idna.c
index 288b3adc64..4462f143c7 100644
--- a/lib/str-idna.c
+++ b/lib/str-idna.c
@@ -28,9 +28,9 @@
#ifdef HAVE_LIBIDN2
-# include <idn2.h>
+#include <idn2.h>
-# define ICAST char
+#define ICAST char
/**
* gnutls_idna_map:
@@ -56,7 +56,7 @@
*
* Since: 3.5.8
**/
-int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
+int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t *out,
unsigned flags)
{
char *idna = NULL;
@@ -80,7 +80,7 @@ int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
idn2_tflags |= IDN2_TRANSITIONAL | IDN2_USE_STD3_ASCII_RULES;
if (ilen == 0) {
- out->data = (uint8_t *) gnutls_strdup("");
+ out->data = (uint8_t *)gnutls_strdup("");
out->size = 0;
if (out->data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -97,18 +97,17 @@ int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
return ret;
}
- rc = idn2_to_ascii_8z((ICAST *) istr.data, (ICAST **) & idna,
- idn2_flags);
+ rc = idn2_to_ascii_8z((ICAST *)istr.data, (ICAST **)&idna, idn2_flags);
if (rc == IDN2_DISALLOWED && !(flags & GNUTLS_IDNA_FORCE_2008))
- rc = idn2_to_ascii_8z((ICAST *) istr.data, (ICAST **) & idna,
+ rc = idn2_to_ascii_8z((ICAST *)istr.data, (ICAST **)&idna,
idn2_tflags);
if (rc != IDN2_OK) {
gnutls_assert();
- idna = NULL; /* in case idn2_lookup_u8 modifies &idna */
- _gnutls_debug_log
- ("unable to convert name '%s' to IDNA format: %s\n",
- istr.data, idn2_strerror(rc));
+ idna = NULL; /* in case idn2_lookup_u8 modifies &idna */
+ _gnutls_debug_log(
+ "unable to convert name '%s' to IDNA format: %s\n",
+ istr.data, idn2_strerror(rc));
ret = GNUTLS_E_INVALID_UTF8_STRING;
goto fail;
}
@@ -122,7 +121,7 @@ int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
ret = 0;
}
- fail:
+fail:
idn2_free(idna);
gnutls_free(istr.data);
return ret;
@@ -148,14 +147,14 @@ int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
* Since: 3.5.8
**/
int gnutls_idna_reverse_map(const char *input, unsigned ilen,
- gnutls_datum_t * out, unsigned flags)
+ gnutls_datum_t *out, unsigned flags)
{
char *u8 = NULL;
int rc, ret;
gnutls_datum_t istr;
if (ilen == 0) {
- out->data = (uint8_t *) gnutls_strdup("");
+ out->data = (uint8_t *)gnutls_strdup("");
out->size = 0;
if (out->data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -172,9 +171,9 @@ int gnutls_idna_reverse_map(const char *input, unsigned ilen,
rc = idn2_to_unicode_8z8z((char *)istr.data, &u8, 0);
if (rc != IDN2_OK) {
gnutls_assert();
- _gnutls_debug_log
- ("unable to convert ACE name '%s' to UTF-8 format: %s\n",
- istr.data, idn2_strerror(rc));
+ _gnutls_debug_log(
+ "unable to convert ACE name '%s' to UTF-8 format: %s\n",
+ istr.data, idn2_strerror(rc));
ret = GNUTLS_E_INVALID_UTF8_STRING;
goto fail;
}
@@ -187,16 +186,16 @@ int gnutls_idna_reverse_map(const char *input, unsigned ilen,
u8 = NULL;
ret = 0;
}
- fail:
+fail:
idn2_free(u8);
gnutls_free(istr.data);
return ret;
}
-#else /* no HAVE_LIBIDN2 */
+#else /* no HAVE_LIBIDN2 */
-# undef gnutls_idna_map
-int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
+#undef gnutls_idna_map
+int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t *out,
unsigned flags)
{
if (!_gnutls_str_is_print(input, ilen)) {
@@ -207,14 +206,14 @@ int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t * out,
}
int gnutls_idna_reverse_map(const char *input, unsigned ilen,
- gnutls_datum_t * out, unsigned flags)
+ gnutls_datum_t *out, unsigned flags)
{
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
}
-#endif /* HAVE_LIBIDN2 */
+#endif /* HAVE_LIBIDN2 */
int _gnutls_idna_email_map(const char *input, unsigned ilen,
- gnutls_datum_t * output)
+ gnutls_datum_t *output)
{
const char *p = input;
@@ -255,7 +254,7 @@ int _gnutls_idna_email_map(const char *input, unsigned ilen,
}
int _gnutls_idna_email_reverse_map(const char *input, unsigned ilen,
- gnutls_datum_t * output)
+ gnutls_datum_t *output)
{
const char *p = input;
@@ -270,9 +269,8 @@ int _gnutls_idna_email_reverse_map(const char *input, unsigned ilen,
int ret;
gnutls_datum_t domain;
- ret =
- gnutls_idna_reverse_map(p + 1, ilen - name_part - 1,
- &domain, 0);
+ ret = gnutls_idna_reverse_map(p + 1, ilen - name_part - 1,
+ &domain, 0);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/str-unicode.c b/lib/str-unicode.c
index ad7c18a6d9..bb7d38a83f 100644
--- a/lib/str-unicode.c
+++ b/lib/str-unicode.c
@@ -67,22 +67,22 @@ inline static int is_allowed_exception(uint32_t ch)
case 0x3034:
case 0x3035:
case 0x303B:
- return 0; /* disallowed */
+ return 0; /* disallowed */
case 0xDF:
case 0x03C2:
case 0x06FD:
case 0x06FE:
case 0x0F0B:
case 0x3007:
- return 1; /* allowed */
+ return 1; /* allowed */
default:
- return -1; /* not exception */
+ return -1; /* not exception */
}
}
/* Checks whether the provided string is in the valid set of FreeFormClass (RFC7564
* as an RFC7613 requirement), and converts all spaces to the ASCII-space. */
-static int check_for_valid_freeformclass(uint32_t * ucs4, unsigned ucs4_size)
+static int check_for_valid_freeformclass(uint32_t *ucs4, unsigned ucs4_size)
{
unsigned i;
int rc;
@@ -93,29 +93,32 @@ static int check_for_valid_freeformclass(uint32_t * ucs4, unsigned ucs4_size)
unsigned is_invalid;
/* make the union of Valid categories, excluding any invalid (i.e., control) */
- cat = uc_general_category_or(UC_CATEGORY_Ll, UC_CATEGORY_Lu); /* LetterDigits */
+ cat = uc_general_category_or(UC_CATEGORY_Ll,
+ UC_CATEGORY_Lu); /* LetterDigits */
cat = uc_general_category_or(cat, UC_CATEGORY_Lo);
cat = uc_general_category_or(cat, UC_CATEGORY_Nd);
cat = uc_general_category_or(cat, UC_CATEGORY_Lm);
cat = uc_general_category_or(cat, UC_CATEGORY_Mn);
cat = uc_general_category_or(cat, UC_CATEGORY_Mc);
- cat = uc_general_category_or(cat, UC_CATEGORY_Lt); /* OtherLetterDigits */
+ cat = uc_general_category_or(cat,
+ UC_CATEGORY_Lt); /* OtherLetterDigits */
cat = uc_general_category_or(cat, UC_CATEGORY_Nl);
cat = uc_general_category_or(cat, UC_CATEGORY_No);
cat = uc_general_category_or(cat, UC_CATEGORY_Me);
- cat = uc_general_category_or(cat, UC_CATEGORY_Sm); /* Symbols */
+ cat = uc_general_category_or(cat, UC_CATEGORY_Sm); /* Symbols */
cat = uc_general_category_or(cat, UC_CATEGORY_Sc);
cat = uc_general_category_or(cat, UC_CATEGORY_So);
cat = uc_general_category_or(cat, UC_CATEGORY_Sk);
- cat = uc_general_category_or(cat, UC_CATEGORY_Pc); /* Punctuation */
+ cat = uc_general_category_or(cat, UC_CATEGORY_Pc); /* Punctuation */
cat = uc_general_category_or(cat, UC_CATEGORY_Pd);
cat = uc_general_category_or(cat, UC_CATEGORY_Ps);
cat = uc_general_category_or(cat, UC_CATEGORY_Pe);
cat = uc_general_category_or(cat, UC_CATEGORY_Pi);
cat = uc_general_category_or(cat, UC_CATEGORY_Pf);
cat = uc_general_category_or(cat, UC_CATEGORY_Po);
- cat = uc_general_category_or(cat, UC_CATEGORY_Zs); /* Spaces */
- cat = uc_general_category_and_not(cat, UC_CATEGORY_Cc); /* Not in Control */
+ cat = uc_general_category_or(cat, UC_CATEGORY_Zs); /* Spaces */
+ cat = uc_general_category_and_not(cat,
+ UC_CATEGORY_Cc); /* Not in Control */
/* check for being in the allowed sets in rfc7564#section-4.3 */
for (i = 0; i < ucs4_size; i++) {
@@ -143,29 +146,28 @@ static int check_for_valid_freeformclass(uint32_t * ucs4, unsigned ucs4_size)
if (rc == 0 || uc_is_property_join_control(ucs4[i]))
return gnutls_assert_val(GNUTLS_E_INVALID_UTF8_STRING);
- if (rc == 1) /* exceptionally allowed, continue */
+ if (rc == 1) /* exceptionally allowed, continue */
continue;
/* Replace all spaces; an RFC7613 requirement
*/
- if (uc_is_general_category(ucs4[i], UC_CATEGORY_Zs)) /* replace */
+ if (uc_is_general_category(ucs4[i],
+ UC_CATEGORY_Zs)) /* replace */
ucs4[i] = 0x20;
/* Valid */
- if ((ucs4[i] < 0x21 || ucs4[i] > 0x7E)
- && !uc_is_general_category(ucs4[i], cat))
+ if ((ucs4[i] < 0x21 || ucs4[i] > 0x7E) &&
+ !uc_is_general_category(ucs4[i], cat))
is_invalid = 1;
/* HasCompat */
if (is_invalid) {
tmp_size = sizeof(tmp) / sizeof(tmp[0]);
- nrm =
- u32_normalize(UNINORM_NFKC, &ucs4[i], 1, tmp,
- &tmp_size);
+ nrm = u32_normalize(UNINORM_NFKC, &ucs4[i], 1, tmp,
+ &tmp_size);
if (nrm == NULL || (tmp_size == 1 && nrm[0] == ucs4[i]))
- return
- gnutls_assert_val
- (GNUTLS_E_INVALID_UTF8_STRING);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_UTF8_STRING);
}
}
@@ -190,7 +192,7 @@ static int check_for_valid_freeformclass(uint32_t * ucs4, unsigned ucs4_size)
* Since: 3.5.7
**/
int gnutls_utf8_password_normalize(const unsigned char *password, unsigned plen,
- gnutls_datum_t * out, unsigned flags)
+ gnutls_datum_t *out, unsigned flags)
{
size_t ucs4_size = 0, nrm_size = 0;
size_t final_size = 0;
@@ -201,7 +203,7 @@ int gnutls_utf8_password_normalize(const unsigned char *password, unsigned plen,
int ret;
if (plen == 0) {
- out->data = (uint8_t *) gnutls_strdup("");
+ out->data = (uint8_t *)gnutls_strdup("");
out->size = 0;
if (out->data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -209,10 +211,10 @@ int gnutls_utf8_password_normalize(const unsigned char *password, unsigned plen,
}
/* check for invalid UTF-8 */
- if (u8_check((uint8_t *) password, plen) != NULL) {
+ if (u8_check((uint8_t *)password, plen) != NULL) {
gnutls_assert();
if (flags & GNUTLS_UTF8_IGNORE_ERRS) {
- raw_copy:
+ raw_copy:
out->data = gnutls_malloc(plen + 1);
if (out->data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -226,7 +228,7 @@ int gnutls_utf8_password_normalize(const unsigned char *password, unsigned plen,
}
/* convert to UTF-32 */
- ucs4 = u8_to_u32((uint8_t *) password, plen, NULL, &ucs4_size);
+ ucs4 = u8_to_u32((uint8_t *)password, plen, NULL, &ucs4_size);
if (ucs4 == NULL) {
gnutls_assert();
ret = GNUTLS_E_PARSING_ERROR;
@@ -282,7 +284,7 @@ int gnutls_utf8_password_normalize(const unsigned char *password, unsigned plen,
return 0;
- fail:
+fail:
gnutls_free(final);
free(ucs4);
free(nrm);
diff --git a/lib/str.c b/lib/str.c
index d7c4686703..5672ad1dfb 100644
--- a/lib/str.c
+++ b/lib/str.c
@@ -60,20 +60,20 @@ void _gnutls_str_cpy(char *dest, size_t dest_tot_size, const char *src)
strcpy(dest, src);
} else {
if (dest_tot_size > 0) {
- memcpy(dest, src, (dest_tot_size) - 1);
+ memcpy(dest, src, (dest_tot_size)-1);
dest[dest_tot_size - 1] = 0;
}
}
}
-void _gnutls_buffer_init(gnutls_buffer_st * str)
+void _gnutls_buffer_init(gnutls_buffer_st *str)
{
str->data = str->allocd = NULL;
str->max_length = 0;
str->length = 0;
}
-void _gnutls_buffer_clear(gnutls_buffer_st * str)
+void _gnutls_buffer_clear(gnutls_buffer_st *str)
{
if (str == NULL || str->allocd == NULL)
return;
@@ -98,9 +98,8 @@ void _gnutls_buffer_clear(gnutls_buffer_st * str)
*
* Since: 3.4.0
**/
-int
-gnutls_buffer_append_data(gnutls_buffer_t dest, const void *data,
- size_t data_size)
+int gnutls_buffer_append_data(gnutls_buffer_t dest, const void *data,
+ size_t data_size)
{
size_t const tot_len = data_size + dest->length;
int ret;
@@ -112,8 +111,8 @@ gnutls_buffer_append_data(gnutls_buffer_t dest, const void *data,
return 0;
if (unlikely(sizeof(size_t) == 4 &&
- INT_ADD_OVERFLOW(((ssize_t) MAX(data_size, MIN_CHUNK)),
- ((ssize_t) dest->length)))) {
+ INT_ADD_OVERFLOW(((ssize_t)MAX(data_size, MIN_CHUNK)),
+ ((ssize_t)dest->length)))) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
@@ -137,7 +136,7 @@ gnutls_buffer_append_data(gnutls_buffer_t dest, const void *data,
* with _gnutls_buffer_pop_datum(). This helps hit more
* issues when running under valgrind.
*/
-int _gnutls_buffer_resize(gnutls_buffer_st * dest, size_t new_size)
+int _gnutls_buffer_resize(gnutls_buffer_st *dest, size_t new_size)
{
size_t unused;
@@ -158,7 +157,7 @@ int _gnutls_buffer_resize(gnutls_buffer_st * dest, size_t new_size)
#else
-static void align_allocd_with_data(gnutls_buffer_st * dest)
+static void align_allocd_with_data(gnutls_buffer_st *dest)
{
assert(dest->allocd != NULL);
assert(dest->data != NULL);
@@ -167,7 +166,7 @@ static void align_allocd_with_data(gnutls_buffer_st * dest)
dest->data = dest->allocd;
}
-int _gnutls_buffer_resize(gnutls_buffer_st * dest, size_t new_size)
+int _gnutls_buffer_resize(gnutls_buffer_st *dest, size_t new_size)
{
if (unlikely(dest->data != NULL && dest->allocd == NULL))
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
@@ -181,9 +180,8 @@ int _gnutls_buffer_resize(gnutls_buffer_st * dest, size_t new_size)
return 0;
} else {
size_t unused = MEMSUB(dest->data, dest->allocd);
- size_t alloc_len =
- MAX(new_size, MIN_CHUNK) + MAX(dest->max_length,
- MIN_CHUNK);
+ size_t alloc_len = MAX(new_size, MIN_CHUNK) +
+ MAX(dest->max_length, MIN_CHUNK);
dest->allocd = gnutls_realloc_fast(dest->allocd, alloc_len);
if (dest->allocd == NULL) {
@@ -204,7 +202,7 @@ int _gnutls_buffer_resize(gnutls_buffer_st * dest, size_t new_size)
/* Appends the provided string. The null termination byte is appended
* but not included in length.
*/
-int _gnutls_buffer_append_str(gnutls_buffer_st * dest, const char *src)
+int _gnutls_buffer_append_str(gnutls_buffer_st *dest, const char *src)
{
int ret;
ret = _gnutls_buffer_append_data(dest, src, strlen(src) + 1);
@@ -218,9 +216,8 @@ int _gnutls_buffer_append_str(gnutls_buffer_st * dest, const char *src)
* The data will NOT be valid if buffer is released or
* data are appended in the buffer.
*/
-void
-_gnutls_buffer_pop_datum(gnutls_buffer_st * str, gnutls_datum_t * data,
- size_t req_size)
+void _gnutls_buffer_pop_datum(gnutls_buffer_st *str, gnutls_datum_t *data,
+ size_t req_size)
{
if (str->length == 0) {
data->data = NULL;
@@ -248,7 +245,7 @@ _gnutls_buffer_pop_datum(gnutls_buffer_st * str, gnutls_datum_t * data,
/* converts the buffer to a datum if possible. After this call
* (failed or not) the buffer should be considered deinitialized.
*/
-int _gnutls_buffer_to_datum(gnutls_buffer_st * str, gnutls_datum_t * data,
+int _gnutls_buffer_to_datum(gnutls_buffer_st *str, gnutls_datum_t *data,
unsigned is_str)
{
int ret;
@@ -289,7 +286,7 @@ int _gnutls_buffer_to_datum(gnutls_buffer_st * str, gnutls_datum_t * data,
}
return 0;
- fail:
+fail:
_gnutls_buffer_clear(str);
return ret;
}
@@ -297,7 +294,7 @@ int _gnutls_buffer_to_datum(gnutls_buffer_st * str, gnutls_datum_t * data,
/* returns data from a string in a constant buffer. Will
* fail with GNUTLS_E_PARSING_ERROR, if the string has not enough data.
*/
-int _gnutls_buffer_pop_data(gnutls_buffer_st * str, void *data, size_t req_size)
+int _gnutls_buffer_pop_data(gnutls_buffer_st *str, void *data, size_t req_size)
{
gnutls_datum_t tdata;
@@ -311,7 +308,7 @@ int _gnutls_buffer_pop_data(gnutls_buffer_st * str, void *data, size_t req_size)
return 0;
}
-int _gnutls_buffer_append_printf(gnutls_buffer_st * dest, const char *fmt, ...)
+int _gnutls_buffer_append_printf(gnutls_buffer_st *dest, const char *fmt, ...)
{
va_list args;
int len;
@@ -331,14 +328,14 @@ int _gnutls_buffer_append_printf(gnutls_buffer_st * dest, const char *fmt, ...)
return len;
}
-static int
-_gnutls_buffer_insert_data(gnutls_buffer_st * dest, int pos,
- const void *str, size_t str_size)
+static int _gnutls_buffer_insert_data(gnutls_buffer_st *dest, int pos,
+ const void *str, size_t str_size)
{
size_t orig_length = dest->length;
int ret;
- ret = _gnutls_buffer_resize(dest, dest->length + str_size); /* resize to make space */
+ ret = _gnutls_buffer_resize(
+ dest, dest->length + str_size); /* resize to make space */
if (ret < 0)
return ret;
@@ -353,8 +350,8 @@ _gnutls_buffer_insert_data(gnutls_buffer_st * dest, int pos,
return 0;
}
-static void
-_gnutls_buffer_delete_data(gnutls_buffer_st * dest, int pos, size_t str_size)
+static void _gnutls_buffer_delete_data(gnutls_buffer_st *dest, int pos,
+ size_t str_size)
{
memmove(&dest->data[pos], &dest->data[pos + str_size],
dest->length - pos - str_size);
@@ -364,9 +361,8 @@ _gnutls_buffer_delete_data(gnutls_buffer_st * dest, int pos, size_t str_size)
return;
}
-int
-_gnutls_buffer_append_escape(gnutls_buffer_st * dest, const void *data,
- size_t data_size, const char *invalid_chars)
+int _gnutls_buffer_append_escape(gnutls_buffer_st *dest, const void *data,
+ size_t data_size, const char *invalid_chars)
{
int rv = -1;
char t[5];
@@ -377,11 +373,9 @@ _gnutls_buffer_append_escape(gnutls_buffer_st * dest, const void *data,
return gnutls_assert_val(rv);
while (pos < dest->length) {
-
- if (dest->data[pos] == '\\'
- || strchr(invalid_chars, dest->data[pos])
- || !c_isgraph(dest->data[pos])) {
-
+ if (dest->data[pos] == '\\' ||
+ strchr(invalid_chars, dest->data[pos]) ||
+ !c_isgraph(dest->data[pos])) {
snprintf(t, sizeof(t), "%%%.2X",
(unsigned int)dest->data[pos]);
@@ -398,24 +392,24 @@ _gnutls_buffer_append_escape(gnutls_buffer_st * dest, const void *data,
rv = 0;
- cleanup:
+cleanup:
return rv;
}
-int _gnutls_buffer_unescape(gnutls_buffer_st * dest)
+int _gnutls_buffer_unescape(gnutls_buffer_st *dest)
{
int rv = -1;
unsigned int pos = 0;
while (pos < dest->length) {
if (dest->data[pos] == '%') {
- if (pos + 1 < dest->length
- && dest->data[pos + 1] == '%') {
+ if (pos + 1 < dest->length &&
+ dest->data[pos + 1] == '%') {
// %% -> %
_gnutls_buffer_delete_data(dest, pos, 1);
- } else if (pos + 2 < dest->length
- && c_isxdigit(dest->data[pos + 1])
- && c_isxdigit(dest->data[pos + 2])) {
+ } else if (pos + 2 < dest->length &&
+ c_isxdigit(dest->data[pos + 1]) &&
+ c_isxdigit(dest->data[pos + 2])) {
unsigned char x;
hex_decode((char *)dest->data + pos + 1, 2, &x,
@@ -438,8 +432,8 @@ int _gnutls_buffer_unescape(gnutls_buffer_st * dest)
* If the buffer does not have enough space to hold the string, a
* truncated hex string is returned (always null terminated).
*/
-char *_gnutls_bin2hex(const void *_old, size_t oldlen,
- char *buffer, size_t buffer_size, const char *separator)
+char *_gnutls_bin2hex(const void *_old, size_t oldlen, char *buffer,
+ size_t buffer_size, const char *separator)
{
unsigned int i, j;
const uint8_t *old = _old;
@@ -486,16 +480,14 @@ char *_gnutls_bin2hex(const void *_old, size_t oldlen,
*
* Since: 2.4.0
**/
-int
-gnutls_hex2bin(const char *hex_data,
- size_t hex_size, void *bin_data, size_t *bin_size)
+int gnutls_hex2bin(const char *hex_data, size_t hex_size, void *bin_data,
+ size_t *bin_size)
{
return _gnutls_hex2bin(hex_data, hex_size, (void *)bin_data, bin_size);
}
-int
-_gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t * bin_data,
- size_t *bin_size)
+int _gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t *bin_data,
+ size_t *bin_size)
{
unsigned int i, j;
uint8_t hex2_data[3];
@@ -504,7 +496,8 @@ _gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t * bin_data,
hex2_data[2] = 0;
for (i = j = 0; i < hex_size;) {
- if (!isxdigit(hex_data[i])) { /* skip non-hex such as the ':' in 00:FF */
+ if (!isxdigit(
+ hex_data[i])) { /* skip non-hex such as the ':' in 00:FF */
i++;
continue;
}
@@ -543,7 +536,7 @@ _gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t * bin_data,
*
* Returns: %GNUTLS_E_PARSING_ERROR on invalid hex data, or 0 on success.
**/
-int gnutls_hex_decode2(const gnutls_datum_t * hex_data, gnutls_datum_t * result)
+int gnutls_hex_decode2(const gnutls_datum_t *hex_data, gnutls_datum_t *result)
{
int ret;
int size = hex_data_size(hex_data->size);
@@ -555,8 +548,8 @@ int gnutls_hex_decode2(const gnutls_datum_t * hex_data, gnutls_datum_t * result)
}
result->size = size;
- ret = hex_decode((char *)hex_data->data, hex_data->size,
- result->data, result->size);
+ ret = hex_decode((char *)hex_data->data, hex_data->size, result->data,
+ result->size);
if (ret == 0) {
gnutls_assert();
gnutls_free(result->data);
@@ -581,9 +574,8 @@ int gnutls_hex_decode2(const gnutls_datum_t * hex_data, gnutls_datum_t * result)
* Returns: %GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not
* long enough, %GNUTLS_E_PARSING_ERROR on invalid hex data, or 0 on success.
**/
-int
-gnutls_hex_decode(const gnutls_datum_t * hex_data, void *result,
- size_t *result_size)
+int gnutls_hex_decode(const gnutls_datum_t *hex_data, void *result,
+ size_t *result_size)
{
int ret;
size_t size = hex_data_size(hex_data->size);
@@ -616,9 +608,8 @@ gnutls_hex_decode(const gnutls_datum_t * hex_data, void *result,
* Returns: %GNUTLS_E_SHORT_MEMORY_BUFFER if the buffer given is not
* long enough, or 0 on success.
**/
-int
-gnutls_hex_encode(const gnutls_datum_t * data, char *result,
- size_t *result_size)
+int gnutls_hex_encode(const gnutls_datum_t *data, char *result,
+ size_t *result_size)
{
int ret;
size_t size = hex_str_size(data->size);
@@ -650,7 +641,7 @@ gnutls_hex_encode(const gnutls_datum_t * data, char *result,
*
* Returns: %GNUTLS_E_SUCCESS on success, otherwise a negative error code.
**/
-int gnutls_hex_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
+int gnutls_hex_encode2(const gnutls_datum_t *data, gnutls_datum_t *result)
{
int ret;
int size = hex_str_size(data->size);
@@ -661,9 +652,8 @@ int gnutls_hex_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- hex_encode((char *)data->data, data->size, (char *)result->data,
- size);
+ ret = hex_encode((char *)data->data, data->size, (char *)result->data,
+ size);
if (ret == 0) {
gnutls_free(result->data);
return gnutls_assert_val(GNUTLS_E_PARSING_ERROR);
@@ -674,24 +664,22 @@ int gnutls_hex_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
return 0;
}
-static int
-hostname_compare_raw(const char *certname,
- size_t certnamesize, const char *hostname)
+static int hostname_compare_raw(const char *certname, size_t certnamesize,
+ const char *hostname)
{
- if (certnamesize == strlen(hostname)
- && memcmp(hostname, certname, certnamesize) == 0)
+ if (certnamesize == strlen(hostname) &&
+ memcmp(hostname, certname, certnamesize) == 0)
return 1;
return 0;
}
-static int
-hostname_compare_ascii(const char *certname,
- size_t certnamesize, const char *hostname)
+static int hostname_compare_ascii(const char *certname, size_t certnamesize,
+ const char *hostname)
{
- for (;
- *certname && *hostname
- && c_toupper(*certname) == c_toupper(*hostname);
- certname++, hostname++, certnamesize--) ;
+ for (; *certname && *hostname &&
+ c_toupper(*certname) == c_toupper(*hostname);
+ certname++, hostname++, certnamesize--)
+ ;
/* the strings are the same */
if (certnamesize == 0 && *hostname == '\0')
@@ -710,10 +698,8 @@ hostname_compare_ascii(const char *certname,
* component, and if the string is ascii only (partial advice from rfc6125)
*
*/
-int
-_gnutls_hostname_compare(const char *certname,
- size_t certnamesize, const char *hostname,
- unsigned vflags)
+int _gnutls_hostname_compare(const char *certname, size_t certnamesize,
+ const char *hostname, unsigned vflags)
{
char *p;
unsigned i;
@@ -724,8 +710,8 @@ _gnutls_hostname_compare(const char *certname,
hostname);
}
- if (*certname == '*'
- && !(vflags & GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS)) {
+ if (*certname == '*' &&
+ !(vflags & GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS)) {
/* a wildcard certificate */
/* ensure that we have at least two domain components after
@@ -739,8 +725,8 @@ _gnutls_hostname_compare(const char *certname,
certnamesize--;
while (1) {
- if (hostname_compare_ascii
- (certname, certnamesize, hostname))
+ if (hostname_compare_ascii(certname, certnamesize,
+ hostname))
return 1;
/* wildcards are only allowed to match a single domain
@@ -756,9 +742,8 @@ _gnutls_hostname_compare(const char *certname,
}
}
-int
-_gnutls_buffer_append_prefix(gnutls_buffer_st * buf, int pfx_size,
- size_t data_size)
+int _gnutls_buffer_append_prefix(gnutls_buffer_st *buf, int pfx_size,
+ size_t data_size)
{
uint8_t ss[4];
@@ -780,8 +765,7 @@ _gnutls_buffer_append_prefix(gnutls_buffer_st * buf, int pfx_size,
return _gnutls_buffer_append_data(buf, ss, pfx_size);
}
-int _gnutls_buffer_pop_prefix8(gnutls_buffer_st * buf, uint8_t * data,
- int check)
+int _gnutls_buffer_pop_prefix8(gnutls_buffer_st *buf, uint8_t *data, int check)
{
if (buf->length < 1) {
gnutls_assert();
@@ -801,9 +785,8 @@ int _gnutls_buffer_pop_prefix8(gnutls_buffer_st * buf, uint8_t * data,
return 0;
}
-int
-_gnutls_buffer_pop_prefix16(gnutls_buffer_st * buf, size_t *data_size,
- int check)
+int _gnutls_buffer_pop_prefix16(gnutls_buffer_st *buf, size_t *data_size,
+ int check)
{
size_t size;
@@ -826,9 +809,8 @@ _gnutls_buffer_pop_prefix16(gnutls_buffer_st * buf, size_t *data_size,
return 0;
}
-int
-_gnutls_buffer_pop_prefix24(gnutls_buffer_st * buf, size_t *data_size,
- int check)
+int _gnutls_buffer_pop_prefix24(gnutls_buffer_st *buf, size_t *data_size,
+ int check)
{
size_t size;
@@ -854,9 +836,8 @@ _gnutls_buffer_pop_prefix24(gnutls_buffer_st * buf, size_t *data_size,
/* Reads an uint32 number from the buffer. If check is non zero it will also check whether
* the number read, is less than the data in the buffer
*/
-int
-_gnutls_buffer_pop_prefix32(gnutls_buffer_st * buf, size_t *data_size,
- int check)
+int _gnutls_buffer_pop_prefix32(gnutls_buffer_st *buf, size_t *data_size,
+ int check)
{
size_t size;
@@ -879,8 +860,8 @@ _gnutls_buffer_pop_prefix32(gnutls_buffer_st * buf, size_t *data_size,
return 0;
}
-int
-_gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st * buf, gnutls_datum_t * data)
+int _gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st *buf,
+ gnutls_datum_t *data)
{
size_t size;
int ret;
@@ -906,8 +887,8 @@ _gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st * buf, gnutls_datum_t * data)
return 0;
}
-int
-_gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st * buf, gnutls_datum_t * data)
+int _gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st *buf,
+ gnutls_datum_t *data)
{
size_t size;
int ret;
@@ -933,8 +914,8 @@ _gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st * buf, gnutls_datum_t * data)
return 0;
}
-int
-_gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st * buf, gnutls_datum_t * data)
+int _gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st *buf,
+ gnutls_datum_t *data)
{
size_t size;
@@ -963,8 +944,8 @@ _gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st * buf, gnutls_datum_t * data)
return 0;
}
-int
-_gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st * buf, gnutls_datum_t * data)
+int _gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st *buf,
+ gnutls_datum_t *data)
{
size_t size;
@@ -993,10 +974,8 @@ _gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st * buf, gnutls_datum_t * data)
return 0;
}
-int
-_gnutls_buffer_append_data_prefix(gnutls_buffer_st * buf,
- int pfx_size, const void *data,
- size_t data_size)
+int _gnutls_buffer_append_data_prefix(gnutls_buffer_st *buf, int pfx_size,
+ const void *data, size_t data_size)
{
int ret;
@@ -1013,8 +992,8 @@ _gnutls_buffer_append_data_prefix(gnutls_buffer_st * buf,
return 0;
}
-int _gnutls_buffer_append_mpi(gnutls_buffer_st * buf, int pfx_size,
- bigint_t mpi, int lz)
+int _gnutls_buffer_append_mpi(gnutls_buffer_st *buf, int pfx_size, bigint_t mpi,
+ int lz)
{
gnutls_datum_t dd;
int ret;
@@ -1027,8 +1006,8 @@ int _gnutls_buffer_append_mpi(gnutls_buffer_st * buf, int pfx_size,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_buffer_append_data_prefix(buf, pfx_size, dd.data, dd.size);
+ ret = _gnutls_buffer_append_data_prefix(buf, pfx_size, dd.data,
+ dd.size);
_gnutls_free_datum(&dd);
@@ -1036,8 +1015,8 @@ int _gnutls_buffer_append_mpi(gnutls_buffer_st * buf, int pfx_size,
}
/* Appends an MPI of fixed-size in bytes left-padded with zeros if necessary */
-int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st * buf,
- bigint_t mpi, unsigned size)
+int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st *buf, bigint_t mpi,
+ unsigned size)
{
gnutls_datum_t dd;
unsigned pad, i;
@@ -1064,13 +1043,13 @@ int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st * buf,
/* append the rest */
ret = _gnutls_buffer_append_data(buf, dd.data, dd.size);
- cleanup:
+cleanup:
_gnutls_free_datum(&dd);
return ret;
}
-void
-_gnutls_buffer_hexprint(gnutls_buffer_st * str, const void *_data, size_t len)
+void _gnutls_buffer_hexprint(gnutls_buffer_st *str, const void *_data,
+ size_t len)
{
size_t j;
const unsigned char *data = _data;
@@ -1084,9 +1063,8 @@ _gnutls_buffer_hexprint(gnutls_buffer_st * str, const void *_data, size_t len)
}
}
-int
-_gnutls_buffer_base64print(gnutls_buffer_st * str,
- const void *_data, size_t len)
+int _gnutls_buffer_base64print(gnutls_buffer_st *str, const void *_data,
+ size_t len)
{
const unsigned char *data = _data;
unsigned b64len = BASE64_ENCODE_RAW_LENGTH(len);
@@ -1104,9 +1082,8 @@ _gnutls_buffer_base64print(gnutls_buffer_st * str,
return 0;
}
-void
-_gnutls_buffer_hexdump(gnutls_buffer_st * str, const void *_data,
- size_t len, const char *spc)
+void _gnutls_buffer_hexdump(gnutls_buffer_st *str, const void *_data,
+ size_t len, const char *spc)
{
size_t j;
const unsigned char *data = _data;
@@ -1123,22 +1100,22 @@ _gnutls_buffer_hexdump(gnutls_buffer_st * str, const void *_data,
_gnutls_buffer_append_printf(str, "%.2x",
(unsigned)data[j]);
else
- _gnutls_buffer_append_printf(str, "%.2x:",
- (unsigned)data[j]);
+ _gnutls_buffer_append_printf(
+ str, "%.2x:", (unsigned)data[j]);
}
if ((j % 16) != 0)
_gnutls_buffer_append_str(str, "\n");
}
-void
-_gnutls_buffer_asciiprint(gnutls_buffer_st * str, const char *data, size_t len)
+void _gnutls_buffer_asciiprint(gnutls_buffer_st *str, const char *data,
+ size_t len)
{
size_t j;
for (j = 0; j < len; j++)
if (c_isprint(data[j]))
- _gnutls_buffer_append_printf(str, "%c", (unsigned char)
- data[j]);
+ _gnutls_buffer_append_printf(str, "%c",
+ (unsigned char)data[j]);
else
_gnutls_buffer_append_printf(str, ".");
}
diff --git a/lib/str.h b/lib/str.h
index 13b7fa1b37..4c360ee483 100644
--- a/lib/str.h
+++ b/lib/str.h
@@ -22,36 +22,37 @@
*/
#ifndef GNUTLS_LIB_STR_H
-# define GNUTLS_LIB_STR_H
-
-# include <config.h>
-# include "gnutls_int.h"
-# include "errors.h"
-# include <datum.h>
-# include <c-ctype.h>
-# include "errors.h"
-
-# ifdef HAVE_DCGETTEXT
-# include "gettext.h"
-# define _(String) dgettext (PACKAGE, String)
-# define N_(String) gettext_noop (String)
-# else
-# define _(String) String
-# define N_(String) String
-# endif
-
-int gnutls_utf8_password_normalize(const uint8_t * password,
- unsigned password_len, gnutls_datum_t * out,
+#define GNUTLS_LIB_STR_H
+
+#include <config.h>
+#include "gnutls_int.h"
+#include "errors.h"
+#include <datum.h>
+#include <c-ctype.h>
+#include "errors.h"
+
+#ifdef HAVE_DCGETTEXT
+#include "gettext.h"
+#define _(String) dgettext(PACKAGE, String)
+#define N_(String) gettext_noop(String)
+#else
+#define _(String) String
+#define N_(String) String
+#endif
+
+int gnutls_utf8_password_normalize(const uint8_t *password,
+ unsigned password_len, gnutls_datum_t *out,
unsigned flags);
-# define _gnutls_utf8_password_normalize(p, plen, out, ignore_errs) \
- gnutls_utf8_password_normalize((unsigned char*)p, plen, out, \
- ignore_errs?(GNUTLS_UTF8_IGNORE_ERRS):0)
+#define _gnutls_utf8_password_normalize(p, plen, out, ignore_errs) \
+ gnutls_utf8_password_normalize( \
+ (unsigned char *)p, plen, out, \
+ ignore_errs ? (GNUTLS_UTF8_IGNORE_ERRS) : 0)
int _gnutls_idna_email_map(const char *input, unsigned ilen,
- gnutls_datum_t * output);
+ gnutls_datum_t *output);
int _gnutls_idna_email_reverse_map(const char *input, unsigned ilen,
- gnutls_datum_t * output);
+ gnutls_datum_t *output);
inline static unsigned _gnutls_str_is_print(const char *str, unsigned size)
{
@@ -77,10 +78,10 @@ void _gnutls_str_cpy(char *dest, size_t dest_tot_size, const char *src);
void _gnutls_str_cat(char *dest, size_t dest_tot_size, const char *src);
typedef struct gnutls_buffer_st {
- uint8_t *allocd; /* pointer to allocated data */
- uint8_t *data; /* API: pointer to data to copy from */
+ uint8_t *allocd; /* pointer to allocated data */
+ uint8_t *data; /* API: pointer to data to copy from */
size_t max_length;
- size_t length; /* API: current length */
+ size_t length; /* API: current length */
} gnutls_buffer_st;
/* Initialize a buffer */
@@ -90,7 +91,7 @@ void _gnutls_buffer_init(gnutls_buffer_st *);
void _gnutls_buffer_clear(gnutls_buffer_st *);
/* Set the buffer data to be of zero length */
-inline static void _gnutls_buffer_reset(gnutls_buffer_st * buf)
+inline static void _gnutls_buffer_reset(gnutls_buffer_st *buf)
{
buf->data = buf->allocd;
buf->length = 0;
@@ -100,55 +101,55 @@ int _gnutls_buffer_resize(gnutls_buffer_st *, size_t new_size);
int _gnutls_buffer_append_str(gnutls_buffer_st *, const char *str);
-# define _gnutls_buffer_append_data gnutls_buffer_append_data
+#define _gnutls_buffer_append_data gnutls_buffer_append_data
-# include <num.h>
+#include <num.h>
-int _gnutls_buffer_append_prefix(gnutls_buffer_st * buf, int pfx_size,
+int _gnutls_buffer_append_prefix(gnutls_buffer_st *buf, int pfx_size,
size_t data_size);
-int _gnutls_buffer_append_mpi(gnutls_buffer_st * buf, int pfx_size,
- bigint_t, int lz);
+int _gnutls_buffer_append_mpi(gnutls_buffer_st *buf, int pfx_size, bigint_t,
+ int lz);
-int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st * buf,
- bigint_t mpi, unsigned size);
+int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st *buf, bigint_t mpi,
+ unsigned size);
-int _gnutls_buffer_append_data_prefix(gnutls_buffer_st * buf, int pfx_size,
+int _gnutls_buffer_append_data_prefix(gnutls_buffer_st *buf, int pfx_size,
const void *data, size_t data_size);
int _gnutls_buffer_pop_data(gnutls_buffer_st *, void *, size_t size);
void _gnutls_buffer_pop_datum(gnutls_buffer_st *, gnutls_datum_t *,
size_t max_size);
/* 32-bit prefix */
-int _gnutls_buffer_pop_prefix32(gnutls_buffer_st * buf, size_t *data_size,
+int _gnutls_buffer_pop_prefix32(gnutls_buffer_st *buf, size_t *data_size,
int check);
-int _gnutls_buffer_pop_prefix24(gnutls_buffer_st * buf, size_t *data_size,
+int _gnutls_buffer_pop_prefix24(gnutls_buffer_st *buf, size_t *data_size,
int check);
-int _gnutls_buffer_pop_prefix16(gnutls_buffer_st * buf, size_t *data_size,
+int _gnutls_buffer_pop_prefix16(gnutls_buffer_st *buf, size_t *data_size,
int check);
int _gnutls_buffer_pop_prefix8(gnutls_buffer_st *, uint8_t *, int check);
/* 32-bit prefix */
-int _gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st * buf,
- gnutls_datum_t * data);
+int _gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st *buf,
+ gnutls_datum_t *data);
/* 24-bit prefix */
-int _gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st * buf,
- gnutls_datum_t * data);
+int _gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st *buf,
+ gnutls_datum_t *data);
/* 16-bit prefix */
-int _gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st * buf,
- gnutls_datum_t * data);
+int _gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st *buf,
+ gnutls_datum_t *data);
/* 8-bit prefix */
-int _gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st * buf,
- gnutls_datum_t * data);
+int _gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st *buf,
+ gnutls_datum_t *data);
-int _gnutls_buffer_to_datum(gnutls_buffer_st * str, gnutls_datum_t * data,
+int _gnutls_buffer_to_datum(gnutls_buffer_st *str, gnutls_datum_t *data,
unsigned is_str);
-inline static
-void _gnutls_ro_buffer_from_datum(gnutls_buffer_st * str, gnutls_datum_t * data)
+inline static void _gnutls_ro_buffer_from_datum(gnutls_buffer_st *str,
+ gnutls_datum_t *data)
{
_gnutls_buffer_init(str);
str->length = data->size;
@@ -156,170 +157,183 @@ void _gnutls_ro_buffer_from_datum(gnutls_buffer_st * str, gnutls_datum_t * data)
str->data = data->data;
}
-int
-_gnutls_buffer_append_escape(gnutls_buffer_st * dest, const void *data,
- size_t data_size, const char *invalid_chars);
-int _gnutls_buffer_unescape(gnutls_buffer_st * dest);
+int _gnutls_buffer_append_escape(gnutls_buffer_st *dest, const void *data,
+ size_t data_size, const char *invalid_chars);
+int _gnutls_buffer_unescape(gnutls_buffer_st *dest);
-# ifndef __attribute__
+#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-# endif
-
-int _gnutls_buffer_append_printf(gnutls_buffer_st * dest, const char *fmt, ...)
- __attribute__((format(printf, 2, 3)));
-
-void _gnutls_buffer_hexprint(gnutls_buffer_st * str,
- const void *data, size_t len);
-int _gnutls_buffer_base64print(gnutls_buffer_st * str,
- const void *data, size_t len);
-void _gnutls_buffer_hexdump(gnutls_buffer_st * str, const void *data,
- size_t len, const char *spc);
-void _gnutls_buffer_asciiprint(gnutls_buffer_st * str,
- const char *data, size_t len);
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
+#define __attribute__(Spec) /* empty */
+#endif
+#endif
+
+int _gnutls_buffer_append_printf(gnutls_buffer_st *dest, const char *fmt, ...)
+ __attribute__((format(printf, 2, 3)));
+
+void _gnutls_buffer_hexprint(gnutls_buffer_st *str, const void *data,
+ size_t len);
+int _gnutls_buffer_base64print(gnutls_buffer_st *str, const void *data,
+ size_t len);
+void _gnutls_buffer_hexdump(gnutls_buffer_st *str, const void *data, size_t len,
+ const char *spc);
+void _gnutls_buffer_asciiprint(gnutls_buffer_st *str, const char *data,
+ size_t len);
char *_gnutls_bin2hex(const void *old, size_t oldlen, char *buffer,
size_t buffer_size, const char *separator);
-int _gnutls_hex2bin(const char *hex_data, size_t hex_size,
- uint8_t * bin_data, size_t *bin_size);
+int _gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t *bin_data,
+ size_t *bin_size);
int _gnutls_hostname_compare(const char *certname, size_t certnamesize,
const char *hostname, unsigned vflags);
-# define MAX_CN 256
-# define MAX_DN 1024
+#define MAX_CN 256
+#define MAX_DN 1024
-# define BUFFER_APPEND(b, x, s) { \
- ret = _gnutls_buffer_append_data(b, x, s); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
+#define BUFFER_APPEND(b, x, s) \
+ { \
+ ret = _gnutls_buffer_append_data(b, x, s); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
/* append data prefixed with 4-bytes length field*/
-# define BUFFER_APPEND_PFX4(b, x, s) { \
- ret = _gnutls_buffer_append_data_prefix(b, 32, x, s); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
-
-# define BUFFER_APPEND_PFX3(b, x, s) { \
- ret = _gnutls_buffer_append_data_prefix(b, 24, x, s); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
-
-# define BUFFER_APPEND_PFX2(b, x, s) { \
- ret = _gnutls_buffer_append_data_prefix(b, 16, x, s); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
-
-# define BUFFER_APPEND_PFX1(b, x, s) { \
- ret = _gnutls_buffer_append_data_prefix(b, 8, x, s); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
-
-# define BUFFER_APPEND_NUM(b, s) { \
- ret = _gnutls_buffer_append_prefix(b, 32, s); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
-
-# define BUFFER_APPEND_TS(b, s) { \
- ret = _gnutls_buffer_append_prefix(b, 32, (uint64_t) s.tv_sec >> 32); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- ret = _gnutls_buffer_append_prefix(b, 32, s.tv_sec & 0xFFFFFFFF); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- ret = _gnutls_buffer_append_prefix(b, 32, s.tv_nsec); \
- if (ret < 0) { \
- gnutls_assert(); \
- return ret; \
- } \
- }
-
-# define BUFFER_POP(b, x, s) { \
- ret = _gnutls_buffer_pop_data(b, x, s); \
- if (ret < 0) { \
- ret = GNUTLS_E_PARSING_ERROR; \
- gnutls_assert(); \
- goto error; \
- } \
- }
-
-# define BUFFER_POP_DATUM(b, o) { \
- gnutls_datum_t d; \
- ret = _gnutls_buffer_pop_datum_prefix32(b, &d); \
- if (ret >= 0) \
- ret = _gnutls_set_datum (o, d.data, d.size); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto error; \
- } \
- }
-
-# define BUFFER_POP_NUM(b, o) { \
- size_t s; \
- ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto error; \
- } \
- o = s; \
- }
-
-# define BUFFER_POP_CAST_NUM(b, o) { \
- size_t s; \
- ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto error; \
- } \
- o = (void *) (intptr_t)(s); \
- }
-
-# define BUFFER_POP_TS(b, o) { \
- size_t s; \
- uint64_t v; \
- ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto error; \
- } \
- v = s; \
- ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto error; \
- } \
- v = (v << 32) | s; \
- ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
- if (ret < 0) { \
- gnutls_assert(); \
- goto error; \
- } \
- o.tv_sec = v; \
- o.tv_nsec = s; \
- }
-
-#endif /* GNUTLS_LIB_STR_H */
+#define BUFFER_APPEND_PFX4(b, x, s) \
+ { \
+ ret = _gnutls_buffer_append_data_prefix(b, 32, x, s); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
+
+#define BUFFER_APPEND_PFX3(b, x, s) \
+ { \
+ ret = _gnutls_buffer_append_data_prefix(b, 24, x, s); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
+
+#define BUFFER_APPEND_PFX2(b, x, s) \
+ { \
+ ret = _gnutls_buffer_append_data_prefix(b, 16, x, s); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
+
+#define BUFFER_APPEND_PFX1(b, x, s) \
+ { \
+ ret = _gnutls_buffer_append_data_prefix(b, 8, x, s); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
+
+#define BUFFER_APPEND_NUM(b, s) \
+ { \
+ ret = _gnutls_buffer_append_prefix(b, 32, s); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
+
+#define BUFFER_APPEND_TS(b, s) \
+ { \
+ ret = _gnutls_buffer_append_prefix(b, 32, \
+ (uint64_t)s.tv_sec >> 32); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ ret = _gnutls_buffer_append_prefix(b, 32, \
+ s.tv_sec & 0xFFFFFFFF); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ ret = _gnutls_buffer_append_prefix(b, 32, s.tv_nsec); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ return ret; \
+ } \
+ }
+
+#define BUFFER_POP(b, x, s) \
+ { \
+ ret = _gnutls_buffer_pop_data(b, x, s); \
+ if (ret < 0) { \
+ ret = GNUTLS_E_PARSING_ERROR; \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ }
+
+#define BUFFER_POP_DATUM(b, o) \
+ { \
+ gnutls_datum_t d; \
+ ret = _gnutls_buffer_pop_datum_prefix32(b, &d); \
+ if (ret >= 0) \
+ ret = _gnutls_set_datum(o, d.data, d.size); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ }
+
+#define BUFFER_POP_NUM(b, o) \
+ { \
+ size_t s; \
+ ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ o = s; \
+ }
+
+#define BUFFER_POP_CAST_NUM(b, o) \
+ { \
+ size_t s; \
+ ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ o = (void *)(intptr_t)(s); \
+ }
+
+#define BUFFER_POP_TS(b, o) \
+ { \
+ size_t s; \
+ uint64_t v; \
+ ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ v = s; \
+ ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ v = (v << 32) | s; \
+ ret = _gnutls_buffer_pop_prefix32(b, &s, 0); \
+ if (ret < 0) { \
+ gnutls_assert(); \
+ goto error; \
+ } \
+ o.tv_sec = v; \
+ o.tv_nsec = s; \
+ }
+
+#endif /* GNUTLS_LIB_STR_H */
diff --git a/lib/str_array.h b/lib/str_array.h
index c7ce732d1b..8188c8dd0c 100644
--- a/lib/str_array.h
+++ b/lib/str_array.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_STR_ARRAY_H
-# define GNUTLS_LIB_STR_ARRAY_H
+#define GNUTLS_LIB_STR_ARRAY_H
-# include "gnutls_int.h"
-# include "errors.h"
+#include "gnutls_int.h"
+#include "errors.h"
/* Functionality to allow an array of strings. Strings
* are allowed to be added to the list and matched against it.
@@ -36,12 +36,12 @@ typedef struct gnutls_str_array_st {
struct gnutls_str_array_st *next;
} *gnutls_str_array_t;
-inline static void _gnutls_str_array_init(gnutls_str_array_t * head)
+inline static void _gnutls_str_array_init(gnutls_str_array_t *head)
{
*head = NULL;
}
-inline static void _gnutls_str_array_clear(gnutls_str_array_t * head)
+inline static void _gnutls_str_array_clear(gnutls_str_array_t *head)
{
gnutls_str_array_t prev, array = *head;
@@ -76,13 +76,13 @@ inline static void append(gnutls_str_array_t array, const char *str, int len)
array->next = NULL;
}
-inline static int _gnutls_str_array_append(gnutls_str_array_t * head,
+inline static int _gnutls_str_array_append(gnutls_str_array_t *head,
const char *str, int len)
{
gnutls_str_array_t prev, array;
if (*head == NULL) {
- *head =
- gnutls_malloc(len + 1 + sizeof(struct gnutls_str_array_st));
+ *head = gnutls_malloc(len + 1 +
+ sizeof(struct gnutls_str_array_st));
if (*head == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -95,8 +95,8 @@ inline static int _gnutls_str_array_append(gnutls_str_array_t * head,
prev = array;
array = prev->next;
}
- prev->next =
- gnutls_malloc(len + 1 + sizeof(struct gnutls_str_array_st));
+ prev->next = gnutls_malloc(len + 1 +
+ sizeof(struct gnutls_str_array_st));
array = prev->next;
@@ -109,7 +109,7 @@ inline static int _gnutls_str_array_append(gnutls_str_array_t * head,
return 0;
}
-inline static int _gnutls_str_array_append_idna(gnutls_str_array_t * head,
+inline static int _gnutls_str_array_append_idna(gnutls_str_array_t *head,
const char *name, size_t size)
{
int ret;
@@ -118,8 +118,8 @@ inline static int _gnutls_str_array_append_idna(gnutls_str_array_t * head,
/* convert the provided hostname to ACE-Labels domain. */
ret = gnutls_idna_map(name, size, &ahost, 0);
if (ret < 0) {
- _gnutls_debug_log
- ("unable to convert hostname %s to IDNA format\n", name);
+ _gnutls_debug_log(
+ "unable to convert hostname %s to IDNA format\n", name);
/* insert the raw name */
return _gnutls_str_array_append(head, name, size);
}
@@ -130,4 +130,4 @@ inline static int _gnutls_str_array_append_idna(gnutls_str_array_t * head,
return ret;
}
-#endif /* GNUTLS_LIB_STR_ARRAY_H */
+#endif /* GNUTLS_LIB_STR_ARRAY_H */
diff --git a/lib/supplemental.c b/lib/supplemental.c
index 8573b267df..cf412c7f5e 100644
--- a/lib/supplemental.c
+++ b/lib/supplemental.c
@@ -70,8 +70,8 @@ static gnutls_supplemental_entry_st *suppfunc = NULL;
* Returns: a string that contains the name of the specified
* supplemental data format type, or %NULL for unknown types.
**/
-const char
-*gnutls_supplemental_get_name(gnutls_supplemental_data_format_type_t type)
+const char *
+gnutls_supplemental_get_name(gnutls_supplemental_data_format_type_t type)
{
size_t i;
@@ -116,8 +116,8 @@ get_supp_func_recv(gnutls_session_t session,
}
static int gen_supplemental(gnutls_session_t session,
- const gnutls_supplemental_entry_st * supp,
- gnutls_buffer_st * buf)
+ const gnutls_supplemental_entry_st *supp,
+ gnutls_buffer_st *buf)
{
int ret;
gnutls_supp_send_func supp_send = supp->supp_send_func;
@@ -140,8 +140,8 @@ static int gen_supplemental(gnutls_session_t session,
if (buf->length > sizepos + 4) {
buf->data[sizepos] = (supp->type >> 8) & 0xFF;
buf->data[sizepos + 1] = supp->type & 0xFF;
- buf->data[sizepos + 2] =
- ((buf->length - sizepos - 4) >> 8) & 0xFF;
+ buf->data[sizepos + 2] = ((buf->length - sizepos - 4) >> 8) &
+ 0xFF;
buf->data[sizepos + 3] = (buf->length - sizepos - 4) & 0xFF;
} else
buf->length -= 4;
@@ -149,7 +149,7 @@ static int gen_supplemental(gnutls_session_t session,
return 0;
}
-int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st * buf)
+int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st *buf)
{
size_t i;
int ret;
@@ -163,8 +163,8 @@ int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st * buf)
}
for (i = 0; i < session->internals.rsup_size; i++) {
- ret =
- gen_supplemental(session, &session->internals.rsup[i], buf);
+ ret = gen_supplemental(session, &session->internals.rsup[i],
+ buf);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -181,16 +181,14 @@ int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st * buf)
buf->data[init_pos + 1] = (i >> 8) & 0xFF;
buf->data[init_pos + 2] = i & 0xFF;
- _gnutls_debug_log
- ("EXT[%p]: Sending %d bytes of supplemental data\n", session,
- (int)buf->length);
+ _gnutls_debug_log("EXT[%p]: Sending %d bytes of supplemental data\n",
+ session, (int)buf->length);
return buf->length - init_pos;
}
-int
-_gnutls_parse_supplemental(gnutls_session_t session,
- const uint8_t * data, int datalen)
+int _gnutls_parse_supplemental(gnutls_session_t session, const uint8_t *data,
+ int datalen)
{
const uint8_t *p = data;
size_t dsize = datalen;
@@ -218,9 +216,9 @@ _gnutls_parse_supplemental(gnutls_session_t session,
supp_data_length = _gnutls_read_uint16(p);
p += 2;
- _gnutls_debug_log
- ("EXT[%p]: Got supplemental type=%02x length=%d\n",
- session, supp_data_type, supp_data_length);
+ _gnutls_debug_log(
+ "EXT[%p]: Got supplemental type=%02x length=%d\n",
+ session, supp_data_type, supp_data_length);
recv_func = get_supp_func_recv(session, supp_data_type);
if (recv_func) {
@@ -236,13 +234,12 @@ _gnutls_parse_supplemental(gnutls_session_t session,
DECR_LEN(dsize, supp_data_length);
p += supp_data_length;
- }
- while (dsize > 0);
+ } while (dsize > 0);
return 0;
}
-static int _gnutls_supplemental_register(gnutls_supplemental_entry_st * entry)
+static int _gnutls_supplemental_register(gnutls_supplemental_entry_st *entry)
{
gnutls_supplemental_entry_st *p;
unsigned i;
@@ -293,11 +290,10 @@ static int _gnutls_supplemental_register(gnutls_supplemental_entry_st * entry)
*
* Since: 3.4.0
**/
-int
-gnutls_supplemental_register(const char *name,
- gnutls_supplemental_data_format_type_t type,
- gnutls_supp_recv_func recv_func,
- gnutls_supp_send_func send_func)
+int gnutls_supplemental_register(const char *name,
+ gnutls_supplemental_data_format_type_t type,
+ gnutls_supp_recv_func recv_func,
+ gnutls_supp_send_func send_func)
{
gnutls_supplemental_entry_st tmp_entry;
int ret;
@@ -341,12 +337,11 @@ gnutls_supplemental_register(const char *name,
*
* Since: 3.5.5
**/
-int
-gnutls_session_supplemental_register(gnutls_session_t session, const char *name,
- gnutls_supplemental_data_format_type_t
- type, gnutls_supp_recv_func recv_func,
- gnutls_supp_send_func send_func,
- unsigned flags)
+int gnutls_session_supplemental_register(
+ gnutls_session_t session, const char *name,
+ gnutls_supplemental_data_format_type_t type,
+ gnutls_supp_recv_func recv_func, gnutls_supp_send_func send_func,
+ unsigned flags)
{
gnutls_supplemental_entry_st tmp_entry;
gnutls_supplemental_entry_st *p;
@@ -364,7 +359,7 @@ gnutls_session_supplemental_register(gnutls_session_t session, const char *name,
p = gnutls_realloc(session->internals.rsup,
sizeof(gnutls_supplemental_entry_st) *
- (session->internals.rsup_size + 1));
+ (session->internals.rsup_size + 1));
if (!p)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -390,12 +385,11 @@ gnutls_session_supplemental_register(gnutls_session_t session, const char *name,
*
* Since: 3.4.0
**/
-void
-gnutls_supplemental_recv(gnutls_session_t session,
- unsigned do_recv_supplemental)
+void gnutls_supplemental_recv(gnutls_session_t session,
+ unsigned do_recv_supplemental)
{
session->security_parameters.do_recv_supplemental =
- do_recv_supplemental;
+ do_recv_supplemental;
}
/**
@@ -408,10 +402,9 @@ gnutls_supplemental_recv(gnutls_session_t session,
*
* Since: 3.4.0
**/
-void
-gnutls_supplemental_send(gnutls_session_t session,
- unsigned do_send_supplemental)
+void gnutls_supplemental_send(gnutls_session_t session,
+ unsigned do_send_supplemental)
{
session->security_parameters.do_send_supplemental =
- do_send_supplemental;
+ do_send_supplemental;
}
diff --git a/lib/supplemental.h b/lib/supplemental.h
index 06b099192c..1962bd2bd8 100644
--- a/lib/supplemental.h
+++ b/lib/supplemental.h
@@ -21,14 +21,14 @@
*/
#ifndef GNUTLS_LIB_SUPPLEMENTAL_H
-# define GNUTLS_LIB_SUPPLEMENTAL_H
+#define GNUTLS_LIB_SUPPLEMENTAL_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
-int _gnutls_parse_supplemental(gnutls_session_t session,
- const uint8_t * data, int data_size);
-int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st * buf);
+int _gnutls_parse_supplemental(gnutls_session_t session, const uint8_t *data,
+ int data_size);
+int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st *buf);
void _gnutls_supplemental_deinit(void);
-#endif /* GNUTLS_LIB_SUPPLEMENTAL_H */
+#endif /* GNUTLS_LIB_SUPPLEMENTAL_H */
diff --git a/lib/system-keys.h b/lib/system-keys.h
index 7687816553..1f809542bc 100644
--- a/lib/system-keys.h
+++ b/lib/system-keys.h
@@ -19,13 +19,13 @@
*/
#ifndef GNUTLS_LIB_SYSTEM_KEYS_H
-# define GNUTLS_LIB_SYSTEM_KEYS_H
+#define GNUTLS_LIB_SYSTEM_KEYS_H
-# ifdef _WIN32
-# define _gnutls_system_url_is_supported(x) 1
-# else
-# define _gnutls_system_url_is_supported(x) 0
-# endif
+#ifdef _WIN32
+#define _gnutls_system_url_is_supported(x) 1
+#else
+#define _gnutls_system_url_is_supported(x) 0
+#endif
int _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const char *url);
@@ -34,4 +34,4 @@ int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const char *url);
void _gnutls_system_key_deinit(void);
int _gnutls_system_key_init(void);
-#endif /* GNUTLS_LIB_SYSTEM_KEYS_H */
+#endif /* GNUTLS_LIB_SYSTEM_KEYS_H */
diff --git a/lib/system.c b/lib/system.c
index a7b742d2eb..9d35db3154 100644
--- a/lib/system.c
+++ b/lib/system.c
@@ -33,12 +33,12 @@
#include <time.h>
#ifdef _WIN32
-# include <windows.h>
-# include <wincrypt.h>
-# if defined(NEED_CERT_ENUM_CRLS)
+#include <windows.h>
+#include <wincrypt.h>
+#if defined(NEED_CERT_ENUM_CRLS)
CertEnumCRLsInStoreFunc pCertEnumCRLsInStore;
static HMODULE Crypt32_dll;
-# endif
+#endif
#endif
/* System specific function wrappers for certificate stores.
@@ -75,9 +75,8 @@ int gnutls_system_global_init(void)
if (crypto == NULL)
return GNUTLS_E_CRYPTO_INIT_FAILED;
- pCertEnumCRLsInStore =
- (CertEnumCRLsInStoreFunc) GetProcAddress(crypto,
- "CertEnumCRLsInStore");
+ pCertEnumCRLsInStore = (CertEnumCRLsInStoreFunc)GetProcAddress(
+ crypto, "CertEnumCRLsInStore");
if (pCertEnumCRLsInStore == NULL) {
FreeLibrary(crypto);
return GNUTLS_E_CRYPTO_INIT_FAILED;
diff --git a/lib/system.h b/lib/system.h
index 329cf3a368..ba15987e02 100644
--- a/lib/system.h
+++ b/lib/system.h
@@ -22,52 +22,52 @@
*/
#ifndef GNUTLS_LIB_SYSTEM_H
-# define GNUTLS_LIB_SYSTEM_H
-
-# include "gnutls_int.h"
-# include <time.h>
-# include <sys/time.h>
-
-# ifdef _WIN32
-# if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) && __MINGW32_MAJOR_VERSION <= 3 && __MINGW32_MINOR_VERSION <= 20
-# define NEED_CERT_ENUM_CRLS
-typedef PCCRL_CONTEXT WINAPI(*CertEnumCRLsInStoreFunc) (HCERTSTORE
- hCertStore,
- PCCRL_CONTEXT
- pPrevCrlContext);
+#define GNUTLS_LIB_SYSTEM_H
+
+#include "gnutls_int.h"
+#include <time.h>
+#include <sys/time.h>
+
+#ifdef _WIN32
+#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) && \
+ __MINGW32_MAJOR_VERSION <= 3 && __MINGW32_MINOR_VERSION <= 20
+#define NEED_CERT_ENUM_CRLS
+typedef PCCRL_CONTEXT
+ WINAPI (*CertEnumCRLsInStoreFunc)(HCERTSTORE hCertStore,
+ PCCRL_CONTEXT pPrevCrlContext);
extern CertEnumCRLsInStoreFunc pCertEnumCRLsInStore;
-# else
-# define pCertEnumCRLsInStore CertEnumCRLsInStore
-# endif
-# include <windows.h> /* for Sleep */
-# else
-# include <sys/uio.h> /* for writev */
-# endif
+#else
+#define pCertEnumCRLsInStore CertEnumCRLsInStore
+#endif
+#include <windows.h> /* for Sleep */
+#else
+#include <sys/uio.h> /* for writev */
+#endif
-# include "pathbuf.h"
+#include "pathbuf.h"
int system_errno(gnutls_transport_ptr_t);
ssize_t system_write(gnutls_transport_ptr_t ptr, const void *data,
size_t data_size);
-# define HAVE_WRITEV
-ssize_t system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec,
+#define HAVE_WRITEV
+ssize_t system_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,
int iovec_cnt);
ssize_t system_writev_nosignal(gnutls_transport_ptr_t ptr,
- const giovec_t * iovec, int iovec_cnt);
-ssize_t system_writev_tfo(gnutls_session_t ptr, const giovec_t * iovec,
+ const giovec_t *iovec, int iovec_cnt);
+ssize_t system_writev_tfo(gnutls_session_t ptr, const giovec_t *iovec,
int iovec_cnt);
-ssize_t system_writev_nosignal_tfo(gnutls_session_t ptr, const giovec_t * iovec,
+ssize_t system_writev_nosignal_tfo(gnutls_session_t ptr, const giovec_t *iovec,
int iovec_cnt);
ssize_t system_read(gnutls_transport_ptr_t ptr, void *data, size_t data_size);
-# if defined(_WIN32)
-# define HAVE_WIN32_LOCKS
-# elif defined(HAVE_LIBPTHREAD) || defined(HAVE_PTHREAD_MUTEX_LOCK)
-# define HAVE_PTHREAD_LOCKS
-# else
-# define HAVE_NO_LOCKS
-# endif
+#if defined(_WIN32)
+#define HAVE_WIN32_LOCKS
+#elif defined(HAVE_LIBPTHREAD) || defined(HAVE_PTHREAD_MUTEX_LOCK)
+#define HAVE_PTHREAD_LOCKS
+#else
+#define HAVE_NO_LOCKS
+#endif
typedef void (*gnutls_gettime_func)(struct timespec *);
@@ -76,27 +76,27 @@ extern gnutls_gettime_func gnutls_gettime;
static inline void millisleep(unsigned int ms)
{
-# ifdef _WIN32
+#ifdef _WIN32
Sleep(ms);
-# else
+#else
struct timespec ts;
ts.tv_sec = 0;
ts.tv_nsec = ms * 1000 * 1000;
nanosleep(&ts, NULL);
-# endif
+#endif
}
int _gnutls_find_config_path(char *path, size_t max_size);
-int _gnutls_ucs2_to_utf8(const void *data, size_t size,
- gnutls_datum_t * output, unsigned bigendian);
-int _gnutls_utf8_to_ucs2(const void *data, size_t size,
- gnutls_datum_t * output, unsigned be);
+int _gnutls_ucs2_to_utf8(const void *data, size_t size, gnutls_datum_t *output,
+ unsigned bigendian);
+int _gnutls_utf8_to_ucs2(const void *data, size_t size, gnutls_datum_t *output,
+ unsigned be);
void _gnutls_global_set_gettime_function(gnutls_gettime_func gettime_func);
int gnutls_system_global_init(void);
void gnutls_system_global_deinit(void);
-#endif /* GNUTLS_LIB_SYSTEM_H */
+#endif /* GNUTLS_LIB_SYSTEM_H */
diff --git a/lib/system/certs.c b/lib/system/certs.c
index b7d9a0b312..4c649b2141 100644
--- a/lib/system/certs.c
+++ b/lib/system/certs.c
@@ -32,22 +32,22 @@
#include "system.h"
#ifdef _WIN32
-# include <windows.h>
-# include <wincrypt.h>
+#include <windows.h>
+#include <wincrypt.h>
-#else /* !_WIN32 */
+#else /* !_WIN32 */
-# include <poll.h>
+#include <poll.h>
-# if defined(HAVE_GETPWUID_R)
-# include <pwd.h>
-# endif
+#if defined(HAVE_GETPWUID_R)
+#include <pwd.h>
+#endif
#endif
#ifdef __APPLE__
-# include <CoreFoundation/CoreFoundation.h>
-# include <Security/Security.h>
-# include <Availability.h>
+#include <CoreFoundation/CoreFoundation.h>
+#include <Security/Security.h>
+#include <Availability.h>
#endif
/* System specific function wrappers for certificate stores.
@@ -103,59 +103,49 @@ int _gnutls_find_config_path(char *path, size_t max_size)
return 0;
}
-#if defined(DEFAULT_TRUST_STORE_FILE) || (defined(DEFAULT_TRUST_STORE_PKCS11) && defined(ENABLE_PKCS11))
-static
-int
-add_system_trust(gnutls_x509_trust_list_t list,
- unsigned int tl_flags, unsigned int tl_vflags)
+#if defined(DEFAULT_TRUST_STORE_FILE) || \
+ (defined(DEFAULT_TRUST_STORE_PKCS11) && defined(ENABLE_PKCS11))
+static int add_system_trust(gnutls_x509_trust_list_t list,
+ unsigned int tl_flags, unsigned int tl_vflags)
{
int ret, r = 0;
const char *crl_file =
-# ifdef DEFAULT_CRL_FILE
- DEFAULT_CRL_FILE;
-# else
- NULL;
-# endif
-
-# if defined(ENABLE_PKCS11) && defined(DEFAULT_TRUST_STORE_PKCS11)
- ret =
- gnutls_x509_trust_list_add_trust_file(list,
- DEFAULT_TRUST_STORE_PKCS11,
- crl_file,
- GNUTLS_X509_FMT_DER,
- tl_flags, tl_vflags);
+#ifdef DEFAULT_CRL_FILE
+ DEFAULT_CRL_FILE;
+#else
+ NULL;
+#endif
+
+#if defined(ENABLE_PKCS11) && defined(DEFAULT_TRUST_STORE_PKCS11)
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, DEFAULT_TRUST_STORE_PKCS11, crl_file, GNUTLS_X509_FMT_DER,
+ tl_flags, tl_vflags);
if (ret > 0)
r += ret;
-# endif
-
-# ifdef DEFAULT_TRUST_STORE_FILE
- ret =
- gnutls_x509_trust_list_add_trust_file(list,
- DEFAULT_TRUST_STORE_FILE,
- crl_file,
- GNUTLS_X509_FMT_PEM,
- tl_flags, tl_vflags);
+#endif
+
+#ifdef DEFAULT_TRUST_STORE_FILE
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, DEFAULT_TRUST_STORE_FILE, crl_file, GNUTLS_X509_FMT_PEM,
+ tl_flags, tl_vflags);
if (ret > 0)
r += ret;
-# endif
+#endif
-# ifdef DEFAULT_BLOCKLIST_FILE
- ret =
- gnutls_x509_trust_list_remove_trust_file(list,
- DEFAULT_BLOCKLIST_FILE,
- GNUTLS_X509_FMT_PEM);
+#ifdef DEFAULT_BLOCKLIST_FILE
+ ret = gnutls_x509_trust_list_remove_trust_file(
+ list, DEFAULT_BLOCKLIST_FILE, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
_gnutls_debug_log("Could not load blocklist file '%s'\n",
DEFAULT_BLOCKLIST_FILE);
}
-# endif
+#endif
return r;
}
#elif defined(_WIN32)
-static
-int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
- unsigned int tl_vflags)
+static int add_system_trust(gnutls_x509_trust_list_t list,
+ unsigned int tl_flags, unsigned int tl_vflags)
{
unsigned int i;
int r = 0;
@@ -167,15 +157,13 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
gnutls_datum_t data;
if (i == 0)
- store =
- CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
- CERT_SYSTEM_STORE_CURRENT_USER,
- L"ROOT");
+ store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
+ CERT_SYSTEM_STORE_CURRENT_USER,
+ L"ROOT");
else
- store =
- CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
- CERT_SYSTEM_STORE_CURRENT_USER,
- L"CA");
+ store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
+ CERT_SYSTEM_STORE_CURRENT_USER,
+ L"CA");
if (store == NULL)
return GNUTLS_E_FILE_ERROR;
@@ -187,10 +175,10 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
if (cert->dwCertEncodingType == X509_ASN_ENCODING) {
data.data = cert->pbCertEncoded;
data.size = cert->cbCertEncoded;
- if (gnutls_x509_trust_list_add_trust_mem
- (list, &data, NULL,
- GNUTLS_X509_FMT_DER, tl_flags,
- tl_vflags) > 0)
+ if (gnutls_x509_trust_list_add_trust_mem(
+ list, &data, NULL,
+ GNUTLS_X509_FMT_DER, tl_flags,
+ tl_vflags) > 0)
r++;
}
cert = CertEnumCertificatesInStore(store, cert);
@@ -200,40 +188,36 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
if (crl->dwCertEncodingType == X509_ASN_ENCODING) {
data.data = crl->pbCrlEncoded;
data.size = crl->cbCrlEncoded;
- gnutls_x509_trust_list_add_trust_mem(list,
- NULL,
- &data,
- GNUTLS_X509_FMT_DER,
- tl_flags,
- tl_vflags);
+ gnutls_x509_trust_list_add_trust_mem(
+ list, NULL, &data, GNUTLS_X509_FMT_DER,
+ tl_flags, tl_vflags);
}
crl = pCertEnumCRLsInStore(store, crl);
}
CertCloseStore(store, 0);
}
-# ifdef DEFAULT_BLOCKLIST_FILE
- ret =
- gnutls_x509_trust_list_remove_trust_file(list,
- DEFAULT_BLOCKLIST_FILE,
- GNUTLS_X509_FMT_PEM);
+#ifdef DEFAULT_BLOCKLIST_FILE
+ ret = gnutls_x509_trust_list_remove_trust_file(
+ list, DEFAULT_BLOCKLIST_FILE, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
_gnutls_debug_log("Could not load blocklist file '%s'\n",
DEFAULT_BLOCKLIST_FILE);
}
-# endif
+#endif
return r;
}
-#elif defined(ANDROID) || defined(__ANDROID__) || defined(DEFAULT_TRUST_STORE_DIR)
+#elif defined(ANDROID) || defined(__ANDROID__) || \
+ defined(DEFAULT_TRUST_STORE_DIR)
-# include <dirent.h>
-# include <unistd.h>
+#include <dirent.h>
+#include <unistd.h>
-# if defined(ANDROID) || defined(__ANDROID__)
-# define DEFAULT_TRUST_STORE_DIR "/system/etc/security/cacerts/"
+#if defined(ANDROID) || defined(__ANDROID__)
+#define DEFAULT_TRUST_STORE_DIR "/system/etc/security/cacerts/"
-# define DEFAULT_REVOCATION_DIR "/data/misc/keychain/cacerts-removed"
+#define DEFAULT_REVOCATION_DIR "/data/misc/keychain/cacerts-removed"
static int load_revoked_certs(gnutls_x509_trust_list_t list, unsigned type)
{
@@ -261,8 +245,8 @@ static int load_revoked_certs(gnutls_x509_trust_list_t list, unsigned type)
if (ret < 0) {
continue;
}
- ret = gnutls_x509_trust_list_remove_trust_file
- (list, pathbuf.ptr, type);
+ ret = gnutls_x509_trust_list_remove_trust_file(
+ list, pathbuf.ptr, type);
if (ret >= 0) {
r += ret;
}
@@ -274,42 +258,38 @@ static int load_revoked_certs(gnutls_x509_trust_list_t list, unsigned type)
return r;
}
-# endif
+#endif
/* This works on android 4.x
*/
-static
-int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
- unsigned int tl_vflags)
+static int add_system_trust(gnutls_x509_trust_list_t list,
+ unsigned int tl_flags, unsigned int tl_vflags)
{
int r = 0, ret;
- ret =
- gnutls_x509_trust_list_add_trust_dir(list, DEFAULT_TRUST_STORE_DIR,
- NULL, GNUTLS_X509_FMT_PEM,
- tl_flags, tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_dir(list,
+ DEFAULT_TRUST_STORE_DIR,
+ NULL, GNUTLS_X509_FMT_PEM,
+ tl_flags, tl_vflags);
if (ret >= 0)
r += ret;
-# if defined(ANDROID) || defined(__ANDROID__)
+#if defined(ANDROID) || defined(__ANDROID__)
ret = load_revoked_certs(list, GNUTLS_X509_FMT_DER);
if (ret >= 0)
r -= ret;
- ret =
- gnutls_x509_trust_list_add_trust_dir(list,
- "/data/misc/keychain/cacerts-added/",
- NULL, GNUTLS_X509_FMT_DER,
- tl_flags, tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_dir(
+ list, "/data/misc/keychain/cacerts-added/", NULL,
+ GNUTLS_X509_FMT_DER, tl_flags, tl_vflags);
if (ret >= 0)
r += ret;
-# endif
+#endif
return r;
}
#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
-static
-int osstatus_error(status)
+static int osstatus_error(status)
{
CFStringRef err_str = SecCopyErrorMessageString(status, NULL);
_gnutls_debug_log("Error loading system root certificates: %s\n",
@@ -319,20 +299,18 @@ int osstatus_error(status)
return GNUTLS_E_FILE_ERROR;
}
-static
-int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
- unsigned int tl_vflags)
+static int add_system_trust(gnutls_x509_trust_list_t list,
+ unsigned int tl_flags, unsigned int tl_vflags)
{
int r = 0;
SecTrustSettingsDomain domain[] = { kSecTrustSettingsDomainUser,
- kSecTrustSettingsDomainAdmin,
- kSecTrustSettingsDomainSystem
- };
+ kSecTrustSettingsDomainAdmin,
+ kSecTrustSettingsDomainSystem };
for (size_t d = 0; d < sizeof(domain) / sizeof(*domain); d++) {
CFArrayRef certs = NULL;
- OSStatus status = SecTrustSettingsCopyCertificates(domain[d],
- &certs);
+ OSStatus status =
+ SecTrustSettingsCopyCertificates(domain[d], &certs);
if (status == errSecNoTrustSettings)
continue;
if (status != errSecSuccess)
@@ -341,7 +319,7 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
int cert_count = CFArrayGetCount(certs);
for (int i = 0; i < cert_count; i++) {
SecCertificateRef cert =
- (void *)CFArrayGetValueAtIndex(certs, i);
+ (void *)CFArrayGetValueAtIndex(certs, i);
CFDataRef der;
status = SecItemExport(cert, kSecFormatX509Cert, 0,
NULL, &der);
@@ -351,35 +329,35 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
return osstatus_error(status);
}
- if (gnutls_x509_trust_list_add_trust_mem(list,
- &
- (gnutls_datum_t)
- {
- .data =
- (void *)
- CFDataGetBytePtr(der),.size = CFDataGetLength(der),}, NULL, GNUTLS_X509_FMT_DER, tl_flags, tl_vflags) > 0)
+ if (gnutls_x509_trust_list_add_trust_mem(
+ list,
+ &(gnutls_datum_t){
+ .data = (void *)CFDataGetBytePtr(
+ der),
+ .size = CFDataGetLength(der),
+ },
+ NULL, GNUTLS_X509_FMT_DER, tl_flags,
+ tl_vflags) > 0)
r++;
CFRelease(der);
}
CFRelease(certs);
}
-# ifdef DEFAULT_BLOCKLIST_FILE
- ret =
- gnutls_x509_trust_list_remove_trust_file(list,
- DEFAULT_BLOCKLIST_FILE,
- GNUTLS_X509_FMT_PEM);
+#ifdef DEFAULT_BLOCKLIST_FILE
+ ret = gnutls_x509_trust_list_remove_trust_file(
+ list, DEFAULT_BLOCKLIST_FILE, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
_gnutls_debug_log("Could not load blocklist file '%s'\n",
DEFAULT_BLOCKLIST_FILE);
}
-# endif
+#endif
return r;
}
#else
-# define add_system_trust(x,y,z) GNUTLS_E_UNIMPLEMENTED_FEATURE
+#define add_system_trust(x, y, z) GNUTLS_E_UNIMPLEMENTED_FEATURE
#endif
@@ -399,10 +377,9 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
*
* Since: 3.1
**/
-int
-gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
- unsigned int tl_flags,
- unsigned int tl_vflags)
+int gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
+ unsigned int tl_flags,
+ unsigned int tl_vflags)
{
return add_system_trust(list, tl_flags | GNUTLS_TL_NO_DUPLICATES,
tl_vflags);
diff --git a/lib/system/fastopen.c b/lib/system/fastopen.c
index e60abf4aa5..4369223144 100644
--- a/lib/system/fastopen.c
+++ b/lib/system/fastopen.c
@@ -26,23 +26,25 @@
#include "errors.h"
#include <sys/socket.h>
-#include <netinet/in.h> /* IPPROTO_TCP */
+#include <netinet/in.h> /* IPPROTO_TCP */
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
/* Get TCP_FASTOPEN */
#ifdef HAVE_NETINET_TCP_H
-# include <netinet/tcp.h>
+#include <netinet/tcp.h>
#endif
/* TCP Fast Open on OSX behaves differently from Linux, so define these helpers */
-#if defined __APPLE__ && defined __MACH__ && defined CONNECT_DATA_IDEMPOTENT && defined CONNECT_RESUME_ON_READ_WRITE
-# if defined __has_builtin && __has_builtin(__builtin_available)
-# define TCP_FASTOPEN_OSX
-# endif
+#if defined __APPLE__ && defined __MACH__ && \
+ defined CONNECT_DATA_IDEMPOTENT && \
+ defined CONNECT_RESUME_ON_READ_WRITE
+#if defined __has_builtin && __has_builtin(__builtin_available)
+#define TCP_FASTOPEN_OSX
+#endif
#elif defined TCP_FASTOPEN && defined MSG_FASTOPEN
-# define TCP_FASTOPEN_LINUX
+#define TCP_FASTOPEN_LINUX
#endif
/* Do not use the gnulib functions for sending and receiving data.
@@ -54,8 +56,8 @@
#undef connect
#ifdef _WIN32
-static ssize_t
-tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
+static ssize_t tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,
+ int iovec_cnt)
{
tfo_st *p = ptr;
int fd = p->fd;
@@ -80,9 +82,9 @@ tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
return system_writev(GNUTLS_INT_TO_POINTER(fd), iovec, iovec_cnt);
}
-#else /* sendmsg */
-static ssize_t
-tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
+#else /* sendmsg */
+static ssize_t tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,
+ int iovec_cnt)
{
tfo_st *p = ptr;
int fd = p->fd;
@@ -96,14 +98,14 @@ tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
if (likely(!p->connect_addrlen))
return sendmsg(fd, &hdr, p->flags);
-# if defined(TCP_FASTOPEN_LINUX)
+#if defined(TCP_FASTOPEN_LINUX)
if (!p->connect_only) {
int on = 1;
- if (setsockopt(fd, IPPROTO_TCP, TCP_FASTOPEN, &on, sizeof(on))
- == -1)
- _gnutls_debug_log
- ("Failed to set socket option FASTOPEN\n");
+ if (setsockopt(fd, IPPROTO_TCP, TCP_FASTOPEN, &on,
+ sizeof(on)) == -1)
+ _gnutls_debug_log(
+ "Failed to set socket option FASTOPEN\n");
hdr.msg_name = &p->connect_addr;
hdr.msg_namelen = p->connect_addrlen;
@@ -113,20 +115,19 @@ tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
if (ret < 0) {
if (errno == EINPROGRESS) {
gnutls_assert();
- errno = EAGAIN; // GnuTLS does not handle EINPROGRESS
+ errno = EAGAIN; // GnuTLS does not handle EINPROGRESS
} else if (errno == EOPNOTSUPP) {
// fallback from fastopen, e.g. when fastopen is disabled in system
- _gnutls_debug_log
- ("Fallback from TCP Fast Open... TFO is not enabled at system level\n");
+ _gnutls_debug_log(
+ "Fallback from TCP Fast Open... TFO is not enabled at system level\n");
p->connect_only = 1;
goto connect_only;
}
}
} else {
- connect_only:
- ret =
- connect(fd, (struct sockaddr *)&p->connect_addr,
- p->connect_addrlen);
+ connect_only:
+ ret = connect(fd, (struct sockaddr *)&p->connect_addr,
+ p->connect_addrlen);
if (errno == ENOTCONN || errno == EINPROGRESS) {
gnutls_assert();
errno = EAGAIN;
@@ -135,40 +136,37 @@ tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
if (ret == 0)
p->connect_only = 0;
}
-# elif defined(TCP_FASTOPEN_OSX)
+#elif defined(TCP_FASTOPEN_OSX)
{
- if (__builtin_available
- (macOS 10.11, iOS 9.0, tvOS 9.0, watchOS 2.0, *)) {
- sa_endpoints_t endpoints = {.sae_dstaddr =
- (struct sockaddr *)&p->
- connect_addr,.sae_dstaddrlen =
- p->connect_addrlen
+ if (__builtin_available(macOS 10.11, iOS 9.0, tvOS 9.0,
+ watchOS 2.0, *)) {
+ sa_endpoints_t endpoints = {
+ .sae_dstaddr =
+ (struct sockaddr *)&p->connect_addr,
+ .sae_dstaddrlen = p->connect_addrlen
};
- ret =
- connectx(fd, &endpoints, SAE_ASSOCID_ANY,
- CONNECT_RESUME_ON_READ_WRITE |
- CONNECT_DATA_IDEMPOTENT, NULL, 0, NULL,
- NULL);
+ ret = connectx(fd, &endpoints, SAE_ASSOCID_ANY,
+ CONNECT_RESUME_ON_READ_WRITE |
+ CONNECT_DATA_IDEMPOTENT,
+ NULL, 0, NULL, NULL);
} else {
- ret =
- connect(fd, (struct sockaddr *)&p->connect_addr,
- p->connect_addrlen);
+ ret = connect(fd, (struct sockaddr *)&p->connect_addr,
+ p->connect_addrlen);
}
if (errno == ENOTCONN || errno == EINPROGRESS) {
gnutls_assert();
errno = EAGAIN;
}
}
-# else
- ret =
- connect(fd, (struct sockaddr *)&p->connect_addr,
- p->connect_addrlen);
+#else
+ ret = connect(fd, (struct sockaddr *)&p->connect_addr,
+ p->connect_addrlen);
if (errno == ENOTCONN || errno == EINPROGRESS) {
gnutls_assert();
errno = EAGAIN;
}
-# endif
+#endif
if (ret == 0 || errno != EAGAIN) {
/* This has to be called just once, connect info not needed any more */
@@ -177,19 +175,18 @@ tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
return ret;
}
-#endif /* sendmsg */
+#endif /* sendmsg */
-static
-int tfo_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
+static int tfo_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
{
tfo_st *p = ptr;
- return gnutls_system_recv_timeout((gnutls_transport_ptr_t) (long)p->fd,
+ return gnutls_system_recv_timeout((gnutls_transport_ptr_t)(long)p->fd,
ms);
}
-static ssize_t
-tfo_read(gnutls_transport_ptr_t ptr, void *data, size_t data_size)
+static ssize_t tfo_read(gnutls_transport_ptr_t ptr, void *data,
+ size_t data_size)
{
tfo_st *p = ptr;
@@ -228,13 +225,13 @@ tfo_read(gnutls_transport_ptr_t ptr, void *data, size_t data_size)
*
* Since: 3.5.3
**/
-void
-gnutls_transport_set_fastopen(gnutls_session_t session,
- int fd, struct sockaddr *connect_addr,
- socklen_t connect_addrlen, unsigned int flags)
+void gnutls_transport_set_fastopen(gnutls_session_t session, int fd,
+ struct sockaddr *connect_addr,
+ socklen_t connect_addrlen,
+ unsigned int flags)
{
if (connect_addrlen >
- (socklen_t) sizeof(session->internals.tfo.connect_addr)) {
+ (socklen_t)sizeof(session->internals.tfo.connect_addr)) {
gnutls_assert();
return;
}
diff --git a/lib/system/keys-dummy.c b/lib/system/keys-dummy.c
index d2fb5910c4..750bee2b35 100644
--- a/lib/system/keys-dummy.c
+++ b/lib/system/keys-dummy.c
@@ -33,13 +33,10 @@ void gnutls_system_key_iter_deinit(gnutls_system_key_iter_t iter)
return;
}
-int
-gnutls_system_key_iter_get_info(gnutls_system_key_iter_t * iter,
- unsigned cert_type,
- char **cert_url,
- char **key_url,
- char **label,
- gnutls_datum_t * der, unsigned int flags)
+int gnutls_system_key_iter_get_info(gnutls_system_key_iter_t *iter,
+ unsigned cert_type, char **cert_url,
+ char **key_url, char **label,
+ gnutls_datum_t *der, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
diff --git a/lib/system/keys-win.c b/lib/system/keys-win.c
index 27152558ef..3811b81b3b 100644
--- a/lib/system/keys-win.c
+++ b/lib/system/keys-win.c
@@ -22,8 +22,8 @@
// Before including any Windows header we need to set _WIN32_WINNT to Vista
// (or higher) so that the NCRYPT stuff can be used.
#if _WIN32_WINNT < 0x600
-# undef _WIN32_WINNT
-# define _WIN32_WINNT 0x600
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x600
#endif
#include <config.h>
@@ -39,7 +39,7 @@
#include <urls.h>
#if !defined(_WIN32)
-# error should not be included
+#error should not be included
#endif
#include <wincrypt.h>
@@ -47,61 +47,60 @@
#include <winapifamily.h>
#ifdef __MINGW32__
-# include <_mingw.h>
-# ifdef __MINGW64_VERSION_MAJOR
+#include <_mingw.h>
+#ifdef __MINGW64_VERSION_MAJOR
/* MinGW64 */
-# include <ncrypt.h>
-# else
+#include <ncrypt.h>
+#else
/* mingw.org's MinGW */
-# include <security.h>
-# define BCRYPT_PAD_PKCS1 0x00000002
-# define BCRYPT_RSA_ALGORITHM L"RSA"
-# define BCRYPT_DSA_ALGORITHM L"DSA"
-# define BCRYPT_SHA1_ALGORITHM L"SHA1"
-# define BCRYPT_SHA256_ALGORITHM L"SHA256"
-# define BCRYPT_SHA384_ALGORITHM L"SHA384"
-# define BCRYPT_SHA512_ALGORITHM L"SHA512"
-# define BCRYPT_ECDSA_P256_ALGORITHM L"ECDSA_P256"
-# define BCRYPT_ECDSA_P384_ALGORITHM L"ECDSA_P384"
-# define BCRYPT_ECDSA_P521_ALGORITHM L"ECDSA_P521"
+#include <security.h>
+#define BCRYPT_PAD_PKCS1 0x00000002
+#define BCRYPT_RSA_ALGORITHM L"RSA"
+#define BCRYPT_DSA_ALGORITHM L"DSA"
+#define BCRYPT_SHA1_ALGORITHM L"SHA1"
+#define BCRYPT_SHA256_ALGORITHM L"SHA256"
+#define BCRYPT_SHA384_ALGORITHM L"SHA384"
+#define BCRYPT_SHA512_ALGORITHM L"SHA512"
+#define BCRYPT_ECDSA_P256_ALGORITHM L"ECDSA_P256"
+#define BCRYPT_ECDSA_P384_ALGORITHM L"ECDSA_P384"
+#define BCRYPT_ECDSA_P521_ALGORITHM L"ECDSA_P521"
typedef ULONG_PTR NCRYPT_HANDLE;
typedef ULONG_PTR NCRYPT_PROV_HANDLE;
typedef ULONG_PTR NCRYPT_KEY_HANDLE;
typedef struct _BCRYPT_PKCS1_PADDING_INFO {
LPCWSTR pszAlgId;
} BCRYPT_PKCS1_PADDING_INFO;
-# endif
-#else /* non-mingw */
-# include <ncrypt.h>
+#endif
+#else /* non-mingw */
+#include <ncrypt.h>
#endif
// MinGW headers may not have these defines
#ifndef NCRYPT_SHA1_ALGORITHM
-# define NCRYPT_SHA1_ALGORITHM BCRYPT_SHA1_ALGORITHM
+#define NCRYPT_SHA1_ALGORITHM BCRYPT_SHA1_ALGORITHM
#endif
#ifndef NCRYPT_SHA256_ALGORITHM
-# define NCRYPT_SHA256_ALGORITHM BCRYPT_SHA256_ALGORITHM
+#define NCRYPT_SHA256_ALGORITHM BCRYPT_SHA256_ALGORITHM
#endif
#ifndef NCRYPT_SHA384_ALGORITHM
-# define NCRYPT_SHA384_ALGORITHM BCRYPT_SHA384_ALGORITHM
+#define NCRYPT_SHA384_ALGORITHM BCRYPT_SHA384_ALGORITHM
#endif
#ifndef NCRYPT_SHA512_ALGORITHM
-# define NCRYPT_SHA512_ALGORITHM BCRYPT_SHA512_ALGORITHM
+#define NCRYPT_SHA512_ALGORITHM BCRYPT_SHA512_ALGORITHM
#endif
#ifndef NCRYPT_PAD_PKCS1_FLAG
-# define NCRYPT_PAD_PKCS1_FLAG 2
+#define NCRYPT_PAD_PKCS1_FLAG 2
#endif
#ifndef NCRYPT_ALGORITHM_PROPERTY
-# define NCRYPT_ALGORITHM_PROPERTY L"Algorithm Name"
+#define NCRYPT_ALGORITHM_PROPERTY L"Algorithm Name"
#endif
#ifndef CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID
-# define CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID 99
+#define CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID 99
#endif
#define MAX_WID_SIZE 48
-static
-void *memrev(unsigned char *pvData, DWORD cbData);
+static void *memrev(unsigned char *pvData, DWORD cbData);
struct system_key_iter_st {
HCERTSTORE store;
@@ -109,57 +108,42 @@ struct system_key_iter_st {
};
typedef struct priv_st {
- DWORD dwKeySpec; /* CAPI key */
- HCRYPTPROV hCryptProv; /* CAPI keystore */
- NCRYPT_KEY_HANDLE nc; /* CNG Keystore */
+ DWORD dwKeySpec; /* CAPI key */
+ HCRYPTPROV hCryptProv; /* CAPI keystore */
+ NCRYPT_KEY_HANDLE nc; /* CNG Keystore */
gnutls_pk_algorithm_t pk;
gnutls_sign_algorithm_t sign_algo;
} priv_st;
-typedef SECURITY_STATUS(WINAPI * NCryptDeleteKeyFunc) (NCRYPT_KEY_HANDLE hKey,
- DWORD dwFlags);
-
-typedef SECURITY_STATUS(WINAPI *
- NCryptOpenStorageProviderFunc) (NCRYPT_PROV_HANDLE *
- phProvider,
- LPCWSTR pszProviderName,
- DWORD dwFlags);
-
-typedef SECURITY_STATUS(WINAPI *
- NCryptOpenKeyFunc) (NCRYPT_PROV_HANDLE hProvider,
- NCRYPT_KEY_HANDLE * phKey,
- LPCWSTR pszKeyName,
- DWORD dwLegacyKeySpec,
- DWORD dwFlags);
-
-typedef SECURITY_STATUS(WINAPI * NCryptGetPropertyFunc) (NCRYPT_HANDLE hObject,
- LPCWSTR pszProperty,
- PBYTE pbOutput,
- DWORD cbOutput,
- DWORD * pcbResult,
- DWORD dwFlags);
-
-typedef SECURITY_STATUS(WINAPI * NCryptFreeObjectFunc) (NCRYPT_HANDLE hObject);
-
-typedef SECURITY_STATUS(WINAPI * NCryptDecryptFunc) (NCRYPT_KEY_HANDLE hKey,
- PBYTE pbInput,
- DWORD cbInput,
- VOID * pPaddingInfo,
- PBYTE pbOutput,
- DWORD cbOutput,
- DWORD * pcbResult,
+typedef SECURITY_STATUS(WINAPI *NCryptDeleteKeyFunc)(NCRYPT_KEY_HANDLE hKey,
DWORD dwFlags);
-typedef SECURITY_STATUS(WINAPI * NCryptSignHashFunc) (NCRYPT_KEY_HANDLE hKey,
- VOID * pPaddingInfo,
- PBYTE pbHashValue,
- DWORD cbHashValue,
- PBYTE pbSignature,
- DWORD cbSignature,
- DWORD * pcbResult,
- DWORD dwFlags);
+typedef SECURITY_STATUS(WINAPI *NCryptOpenStorageProviderFunc)(
+ NCRYPT_PROV_HANDLE *phProvider, LPCWSTR pszProviderName, DWORD dwFlags);
+
+typedef SECURITY_STATUS(WINAPI *NCryptOpenKeyFunc)(NCRYPT_PROV_HANDLE hProvider,
+ NCRYPT_KEY_HANDLE *phKey,
+ LPCWSTR pszKeyName,
+ DWORD dwLegacyKeySpec,
+ DWORD dwFlags);
+
+typedef SECURITY_STATUS(WINAPI *NCryptGetPropertyFunc)(
+ NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput,
+ DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
+
+typedef SECURITY_STATUS(WINAPI *NCryptFreeObjectFunc)(NCRYPT_HANDLE hObject);
+
+typedef SECURITY_STATUS(WINAPI *NCryptDecryptFunc)(
+ NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput,
+ VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult,
+ DWORD dwFlags);
+
+typedef SECURITY_STATUS(WINAPI *NCryptSignHashFunc)(
+ NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue,
+ DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature,
+ DWORD *pcbResult, DWORD dwFlags);
-static int StrCmpW(const WCHAR * str1, const WCHAR * str2)
+static int StrCmpW(const WCHAR *str1, const WCHAR *str2)
{
while (*str1 && (*str1 == *str2)) {
str1++;
@@ -177,23 +161,23 @@ static NCryptFreeObjectFunc pNCryptFreeObject;
static NCryptDecryptFunc pNCryptDecrypt;
static NCryptSignHashFunc pNCryptSignHash;
#else
-# define pNCryptDeleteKey NCryptDeleteKey
-# define pNCryptOpenStorageProvider NCryptOpenStorageProvider
-# define pNCryptOpenKey NCryptOpenKey
-# define pNCryptGetProperty NCryptGetProperty
-# define pNCryptFreeObject NCryptFreeObject
-# define pNCryptDecrypt NCryptDecrypt
-# define pNCryptSignHash NCryptSignHash
+#define pNCryptDeleteKey NCryptDeleteKey
+#define pNCryptOpenStorageProvider NCryptOpenStorageProvider
+#define pNCryptOpenKey NCryptOpenKey
+#define pNCryptGetProperty NCryptGetProperty
+#define pNCryptFreeObject NCryptFreeObject
+#define pNCryptDecrypt NCryptDecrypt
+#define pNCryptSignHash NCryptSignHash
#endif
static unsigned ncrypt_init = 0;
static HMODULE ncrypt_lib;
-#define WIN_URL SYSTEM_URL"win:"
+#define WIN_URL SYSTEM_URL "win:"
#define WIN_URL_SIZE 11
-static int
-get_id(const char *url, uint8_t * bin, size_t *bin_size, unsigned cert)
+static int get_id(const char *url, uint8_t *bin, size_t *bin_size,
+ unsigned cert)
{
int ret;
unsigned url_size = strlen(url);
@@ -201,12 +185,12 @@ get_id(const char *url, uint8_t * bin, size_t *bin_size, unsigned cert)
gnutls_datum_t tmp;
if (cert != 0) {
- if (url_size < sizeof(WIN_URL)
- || strncmp(url, WIN_URL, WIN_URL_SIZE) != 0)
+ if (url_size < sizeof(WIN_URL) ||
+ strncmp(url, WIN_URL, WIN_URL_SIZE) != 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
} else {
- if (url_size < sizeof(WIN_URL)
- || strncmp(url, WIN_URL, WIN_URL_SIZE) != 0)
+ if (url_size < sizeof(WIN_URL) ||
+ strncmp(url, WIN_URL, WIN_URL_SIZE) != 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -234,8 +218,7 @@ get_id(const char *url, uint8_t * bin, size_t *bin_size, unsigned cert)
}
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
-static
-void *memrev(unsigned char *pvData, DWORD cbData)
+static void *memrev(unsigned char *pvData, DWORD cbData)
{
char t;
DWORD i;
@@ -248,11 +231,10 @@ void *memrev(unsigned char *pvData, DWORD cbData)
return pvData;
}
-static
-int capi_sign(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * raw_data, gnutls_datum_t * signature)
+static int capi_sign(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *raw_data, gnutls_datum_t *signature)
{
- priv_st *priv = (priv_st *) userdata;
+ priv_st *priv = (priv_st *)userdata;
ALG_ID Algid;
HCRYPTHASH hHash = 0;
uint8_t digest[MAX_HASH_SIZE];
@@ -290,9 +272,8 @@ int capi_sign(gnutls_privkey_t key, void *userdata,
break;
default:
digest_size = sizeof(digest);
- ret =
- decode_ber_digest_info(raw_data, &algo, digest,
- &digest_size);
+ ret = decode_ber_digest_info(raw_data, &algo, digest,
+ &digest_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -300,11 +281,11 @@ int capi_sign(gnutls_privkey_t key, void *userdata,
case GNUTLS_DIG_SHA1:
Algid = CALG_SHA1;
break;
-# ifdef NCRYPT_SHA224_ALGORITHM
+#ifdef NCRYPT_SHA224_ALGORITHM
case GNUTLS_DIG_SHA224:
Algid = CALG_SHA_224;
break;
-# endif
+#endif
case GNUTLS_DIG_SHA256:
Algid = CALG_SHA_256;
break;
@@ -315,8 +296,8 @@ int capi_sign(gnutls_privkey_t key, void *userdata,
Algid = CALG_SHA_512;
break;
default:
- return
- gnutls_assert_val(GNUTLS_E_UNKNOWN_HASH_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNKNOWN_HASH_ALGORITHM);
}
}
@@ -336,9 +317,9 @@ int capi_sign(gnutls_privkey_t key, void *userdata,
goto fail;
}
- if (!CryptGetHashParam
- (hHash, HP_HASHSIZE, (BYTE *) & size1, &sizesize, 0)
- || digest_size != size1) {
+ if (!CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE *)&size1, &sizesize,
+ 0) ||
+ digest_size != size1) {
gnutls_assert();
_gnutls_debug_log("error in hash size: %d\n", (int)size1);
ret = GNUTLS_E_PK_SIGN_FAILED;
@@ -359,8 +340,8 @@ int capi_sign(gnutls_privkey_t key, void *userdata,
if (signature->data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- if (!CryptSignHash
- (hHash, priv->dwKeySpec, NULL, 0, signature->data, &ret_sig)) {
+ if (!CryptSignHash(hHash, priv->dwKeySpec, NULL, 0, signature->data,
+ &ret_sig)) {
gnutls_assert();
_gnutls_debug_log("error in signing: %d\n",
(int)GetLastError());
@@ -374,18 +355,18 @@ int capi_sign(gnutls_privkey_t key, void *userdata,
signature->size = ret_sig;
return 0;
- fail:
+fail:
if (hHash != 0)
CryptDestroyHash(hHash);
gnutls_free(signature->data);
return ret;
}
-static
-int capi_decrypt(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * ciphertext, gnutls_datum_t * plaintext)
+static int capi_decrypt(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext)
{
- priv_st *priv = (priv_st *) userdata;
+ priv_st *priv = (priv_st *)userdata;
DWORD size = 0;
int ret;
@@ -404,31 +385,29 @@ int capi_decrypt(gnutls_privkey_t key, void *userdata,
}
memcpy(plaintext->data, ciphertext->data, size);
- if (0 ==
- CryptDecrypt(priv->hCryptProv, 0, true, 0, plaintext->data,
- &size)) {
+ if (0 == CryptDecrypt(priv->hCryptProv, 0, true, 0, plaintext->data,
+ &size)) {
gnutls_assert();
ret = GNUTLS_E_PK_DECRYPTION_FAILED;
goto fail;
}
return 0;
- fail:
+fail:
gnutls_free(plaintext->data);
return ret;
}
-static
-void capi_deinit(gnutls_privkey_t key, void *userdata)
+static void capi_deinit(gnutls_privkey_t key, void *userdata)
{
- priv_st *priv = (priv_st *) userdata;
+ priv_st *priv = (priv_st *)userdata;
CryptReleaseContext(priv->hCryptProv, 0);
gnutls_free(priv);
}
static int capi_info(gnutls_privkey_t key, unsigned int flags, void *userdata)
{
- priv_st *priv = (priv_st *) userdata;
+ priv_st *priv = (priv_st *)userdata;
if (flags & GNUTLS_PRIVKEY_INFO_PK_ALGO)
return priv->pk;
@@ -437,18 +416,16 @@ static int capi_info(gnutls_privkey_t key, unsigned int flags, void *userdata)
return -1;
}
-static
-int privkey_import_capi(gnutls_privkey_t pkey, const char *url,
- priv_st * priv, CRYPT_KEY_PROV_INFO * kpi)
+static int privkey_import_capi(gnutls_privkey_t pkey, const char *url,
+ priv_st *priv, CRYPT_KEY_PROV_INFO *kpi)
{
HCRYPTPROV hCryptProv = 0;
int ret, enc_too = 0;
DWORD i, dwErrCode = 0;
- if (CryptAcquireContextW(&hCryptProv,
- kpi->pwszContainerName,
- kpi->pwszProvName,
- kpi->dwProvType, kpi->dwFlags)) {
+ if (CryptAcquireContextW(&hCryptProv, kpi->pwszContainerName,
+ kpi->pwszProvName, kpi->dwProvType,
+ kpi->dwFlags)) {
for (i = 0; i < kpi->cProvParam; i++)
if (!CryptSetProvParam(hCryptProv,
kpi->rgProvParam[i].dwParam,
@@ -462,20 +439,19 @@ int privkey_import_capi(gnutls_privkey_t pkey, const char *url,
}
if (ERROR_SUCCESS != dwErrCode) {
- _gnutls_debug_log
- ("error in getting cryptprov: %d from %s\n",
- (int)GetLastError(), url);
+ _gnutls_debug_log("error in getting cryptprov: %d from %s\n",
+ (int)GetLastError(), url);
ret = gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
{
BYTE buf[100 + sizeof(PROV_ENUMALGS_EX) * 2];
- PROV_ENUMALGS_EX *pAlgo = (PROV_ENUMALGS_EX *) buf;
+ PROV_ENUMALGS_EX *pAlgo = (PROV_ENUMALGS_EX *)buf;
DWORD len = sizeof(buf);
- if (CryptGetProvParam
- (hCryptProv, PP_ENUMALGS_EX, buf, &len, CRYPT_FIRST)) {
+ if (CryptGetProvParam(hCryptProv, PP_ENUMALGS_EX, buf, &len,
+ CRYPT_FIRST)) {
DWORD hash = 0;
do {
switch (pAlgo->aiAlgid) {
@@ -484,10 +460,9 @@ int privkey_import_capi(gnutls_privkey_t pkey, const char *url,
enc_too = 1;
break;
case CALG_DSS_SIGN:
- priv->pk =
- priv->pk ==
- GNUTLS_PK_RSA ?
- GNUTLS_PK_RSA : GNUTLS_PK_DSA;
+ priv->pk = priv->pk == GNUTLS_PK_RSA ?
+ GNUTLS_PK_RSA :
+ GNUTLS_PK_DSA;
break;
case CALG_SHA1:
hash = 1;
@@ -499,18 +474,16 @@ int privkey_import_capi(gnutls_privkey_t pkey, const char *url,
break;
}
- len = sizeof(buf); // reset the buffer size
- } while (CryptGetProvParam
- (hCryptProv, PP_ENUMALGS_EX, buf, &len,
- CRYPT_NEXT));
+ len = sizeof(buf); // reset the buffer size
+ } while (CryptGetProvParam(hCryptProv, PP_ENUMALGS_EX,
+ buf, &len, CRYPT_NEXT));
if (priv->pk == GNUTLS_PK_DSA)
priv->sign_algo = GNUTLS_SIGN_DSA_SHA1;
else
priv->sign_algo =
- (hash >
- 1) ? GNUTLS_SIGN_RSA_SHA256 :
- GNUTLS_SIGN_RSA_SHA1;
+ (hash > 1) ? GNUTLS_SIGN_RSA_SHA256 :
+ GNUTLS_SIGN_RSA_SHA1;
}
}
@@ -518,21 +491,19 @@ int privkey_import_capi(gnutls_privkey_t pkey, const char *url,
priv->dwKeySpec = kpi->dwKeySpec;
ret = gnutls_privkey_import_ext3(pkey, priv, capi_sign,
- (enc_too !=
- 0) ? capi_decrypt : NULL,
+ (enc_too != 0) ? capi_decrypt : NULL,
capi_deinit, capi_info, 0);
- cleanup:
+cleanup:
if (ret < 0) {
if (hCryptProv != 0)
CryptReleaseContext(hCryptProv, 0);
}
return ret;
}
-#endif /* WINAPI_PARTITION_DESKTOP */
+#endif /* WINAPI_PARTITION_DESKTOP */
-static
-int cng_sign(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * raw_data, gnutls_datum_t * signature)
+static int cng_sign(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *raw_data, gnutls_datum_t *signature)
{
priv_st *priv = userdata;
BCRYPT_PKCS1_PADDING_INFO _info;
@@ -550,17 +521,15 @@ int cng_sign(gnutls_privkey_t key, void *userdata,
signature->size = 0;
if (priv->pk == GNUTLS_PK_RSA) {
-
flags = BCRYPT_PAD_PKCS1;
info = &_info;
- if (raw_data->size == 36) { /* TLS 1.0 MD5+SHA1 */
+ if (raw_data->size == 36) { /* TLS 1.0 MD5+SHA1 */
_info.pszAlgId = NULL;
} else {
digest_size = sizeof(digest);
- ret =
- decode_ber_digest_info(raw_data, &algo, digest,
- &digest_size);
+ ret = decode_ber_digest_info(raw_data, &algo, digest,
+ &digest_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -583,17 +552,16 @@ int cng_sign(gnutls_privkey_t key, void *userdata,
_info.pszAlgId = NCRYPT_SHA512_ALGORITHM;
break;
default:
- return
- gnutls_assert_val
- (GNUTLS_E_UNKNOWN_HASH_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNKNOWN_HASH_ALGORITHM);
}
data.data = digest;
data.size = digest_size;
}
}
- r = pNCryptSignHash(priv->nc, info, data.data, data.size,
- NULL, 0, &ret_sig, flags);
+ r = pNCryptSignHash(priv->nc, info, data.data, data.size, NULL, 0,
+ &ret_sig, flags);
if (FAILED(r)) {
gnutls_assert();
_gnutls_debug_log("error in pre-signing: %d\n",
@@ -620,14 +588,14 @@ int cng_sign(gnutls_privkey_t key, void *userdata,
signature->size = ret_sig;
return 0;
- fail:
+fail:
gnutls_free(signature->data);
return ret;
}
-static
-int cng_decrypt(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * ciphertext, gnutls_datum_t * plaintext)
+static int cng_decrypt(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext)
{
priv_st *priv = userdata;
SECURITY_STATUS r;
@@ -641,8 +609,8 @@ int cng_decrypt(gnutls_privkey_t key, void *userdata,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- r = pNCryptDecrypt(priv->nc, ciphertext->data, ciphertext->size,
- NULL, NULL, 0, &ret_dec, NCRYPT_PAD_PKCS1_FLAG);
+ r = pNCryptDecrypt(priv->nc, ciphertext->data, ciphertext->size, NULL,
+ NULL, 0, &ret_dec, NCRYPT_PAD_PKCS1_FLAG);
if (FAILED(r)) {
gnutls_assert();
return GNUTLS_E_PK_DECRYPTION_FAILED;
@@ -655,9 +623,9 @@ int cng_decrypt(gnutls_privkey_t key, void *userdata,
return GNUTLS_E_MEMORY_ERROR;
}
- r = pNCryptDecrypt(priv->nc, ciphertext->data, ciphertext->size,
- NULL, plaintext->data, plaintext->size,
- &ret_dec, NCRYPT_PAD_PKCS1_FLAG);
+ r = pNCryptDecrypt(priv->nc, ciphertext->data, ciphertext->size, NULL,
+ plaintext->data, plaintext->size, &ret_dec,
+ NCRYPT_PAD_PKCS1_FLAG);
if (FAILED(r)) {
gnutls_assert();
ret = GNUTLS_E_PK_DECRYPTION_FAILED;
@@ -666,13 +634,12 @@ int cng_decrypt(gnutls_privkey_t key, void *userdata,
plaintext->size = ret_dec;
return 0;
- fail:
+fail:
gnutls_free(plaintext->data);
return ret;
}
-static
-void cng_deinit(gnutls_privkey_t key, void *userdata)
+static void cng_deinit(gnutls_privkey_t key, void *userdata)
{
priv_st *priv = userdata;
pNCryptFreeObject(priv->nc);
@@ -690,10 +657,9 @@ static int cng_info(gnutls_privkey_t key, unsigned int flags, void *userdata)
return -1;
}
-static
-int privkey_import_ncrypt(gnutls_privkey_t pkey, const char *url,
- priv_st * priv, CRYPT_KEY_PROV_INFO * kpi,
- NCRYPT_PROV_HANDLE * sctx)
+static int privkey_import_ncrypt(gnutls_privkey_t pkey, const char *url,
+ priv_st *priv, CRYPT_KEY_PROV_INFO *kpi,
+ NCRYPT_PROV_HANDLE *sctx)
{
SECURITY_STATUS r;
NCRYPT_KEY_HANDLE nc = 0;
@@ -707,9 +673,8 @@ int privkey_import_ncrypt(gnutls_privkey_t pkey, const char *url,
goto cleanup;
}
- r = pNCryptGetProperty(nc, NCRYPT_ALGORITHM_PROPERTY,
- (BYTE *) algo_str, sizeof(algo_str),
- &algo_str_size, 0);
+ r = pNCryptGetProperty(nc, NCRYPT_ALGORITHM_PROPERTY, (BYTE *)algo_str,
+ sizeof(algo_str), &algo_str_size, 0);
if (FAILED(r)) {
ret = gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
@@ -739,10 +704,9 @@ int privkey_import_ncrypt(gnutls_privkey_t pkey, const char *url,
priv->nc = nc;
ret = gnutls_privkey_import_ext3(pkey, priv, cng_sign,
- (enc_too !=
- 0) ? cng_decrypt : NULL,
+ (enc_too != 0) ? cng_decrypt : NULL,
cng_deinit, cng_info, 0);
- cleanup:
+cleanup:
if (ret < 0) {
if (nc != 0)
pNCryptFreeObject(nc);
@@ -766,9 +730,10 @@ int privkey_import_ncrypt(gnutls_privkey_t pkey, const char *url,
-*/
int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const char *url)
{
-#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && _WIN32_WINNT < 0x0A00 /*win10 */
+#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && \
+ _WIN32_WINNT < 0x0A00 /*win10 */
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
-#else /* WINAPI_PARTITION_DESKTOP || _WIN32_WINNT_WIN10 */
+#else /* WINAPI_PARTITION_DESKTOP || _WIN32_WINNT_WIN10 */
uint8_t id[MAX_WID_SIZE];
HCERTSTORE store = NULL;
size_t id_size;
@@ -799,26 +764,24 @@ int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const char *url)
blob.cbData = id_size;
blob.pbData = id;
- store =
- CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
- CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
+ store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
+ CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
if (store == NULL) {
gnutls_assert();
ret = GNUTLS_E_FILE_ERROR;
goto cleanup;
}
- cert = CertFindCertificateInStore(store,
- X509_ASN_ENCODING,
- 0,
- CERT_FIND_KEY_IDENTIFIER,
- &blob, NULL);
+ cert = CertFindCertificateInStore(store, X509_ASN_ENCODING, 0,
+ CERT_FIND_KEY_IDENTIFIER, &blob,
+ NULL);
if (cert == NULL) {
char buf[64];
_gnutls_debug_log("cannot find ID: %s from %s\n",
- _gnutls_bin2hex(id, id_size,
- buf, sizeof(buf), NULL), url);
+ _gnutls_bin2hex(id, id_size, buf, sizeof(buf),
+ NULL),
+ url);
ret = gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
@@ -850,7 +813,7 @@ int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const char *url)
}
r = pNCryptOpenStorageProvider(&sctx, kpi->pwszProvName, 0);
- if (!FAILED(r)) { /* if this works carry on with CNG */
+ if (!FAILED(r)) { /* if this works carry on with CNG */
ret = privkey_import_ncrypt(pkey, url, priv, kpi, &sctx);
if (ret < 0) {
@@ -858,24 +821,24 @@ int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const char *url)
goto cleanup;
}
} else {
-# if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/* CAPI is not supported in UWP */
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
-# else /* WINAPI_PARTITION_DESKTOP */
+#else /* WINAPI_PARTITION_DESKTOP */
/* this should be CAPI */
- _gnutls_debug_log
- ("error in opening CNG keystore: %x from %ls\n", (int)r,
- kpi->pwszProvName);
+ _gnutls_debug_log(
+ "error in opening CNG keystore: %x from %ls\n", (int)r,
+ kpi->pwszProvName);
ret = privkey_import_capi(pkey, url, priv, kpi);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
-# endif /* WINAPI_PARTITION_DESKTOP */
+#endif /* WINAPI_PARTITION_DESKTOP */
}
ret = 0;
- cleanup:
+cleanup:
if (ret < 0) {
gnutls_free(priv);
}
@@ -889,7 +852,7 @@ int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const char *url)
CertCloseStore(store, 0);
return ret;
-#endif /* WINAPI_PARTITION_DESKTOP || _WIN32_WINNT_WIN10 */
+#endif /* WINAPI_PARTITION_DESKTOP || _WIN32_WINNT_WIN10 */
}
int _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const char *url)
@@ -913,26 +876,24 @@ int _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const char *url)
blob.cbData = id_size;
blob.pbData = id;
- store =
- CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
- CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
+ store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
+ CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
if (store == NULL) {
gnutls_assert();
ret = GNUTLS_E_FILE_ERROR;
goto cleanup;
}
- cert = CertFindCertificateInStore(store,
- X509_ASN_ENCODING,
- 0,
- CERT_FIND_KEY_IDENTIFIER,
- &blob, NULL);
+ cert = CertFindCertificateInStore(store, X509_ASN_ENCODING, 0,
+ CERT_FIND_KEY_IDENTIFIER, &blob,
+ NULL);
if (cert == NULL) {
char buf[64];
_gnutls_debug_log("cannot find ID: %s from %s\n",
- _gnutls_bin2hex(id, id_size,
- buf, sizeof(buf), NULL), url);
+ _gnutls_bin2hex(id, id_size, buf, sizeof(buf),
+ NULL),
+ url);
ret = gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
@@ -947,7 +908,7 @@ int _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const char *url)
}
ret = 0;
- cleanup:
+cleanup:
if (cert != 0)
CertFreeCertificateContext(cert);
@@ -973,9 +934,8 @@ void gnutls_system_key_iter_deinit(gnutls_system_key_iter_t iter)
gnutls_free(iter);
}
-static
-int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
- char **label, gnutls_datum_t * der)
+static int get_win_urls(const CERT_CONTEXT *cert, char **cert_url,
+ char **key_url, char **label, gnutls_datum_t *der)
{
BOOL r;
int ret;
@@ -1013,9 +973,9 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
tl_size = sizeof(name);
r = CertGetCertificateContextProperty(cert, CERT_FRIENDLY_NAME_PROP_ID,
name, &tl_size);
- if (r != 0) { /* optional */
- ret =
- _gnutls_ucs2_to_utf8(name, tl_size, &tmp_label, bigendian);
+ if (r != 0) { /* optional */
+ ret = _gnutls_ucs2_to_utf8(name, tl_size, &tmp_label,
+ bigendian);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -1038,8 +998,8 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
goto fail;
}
- ret =
- _gnutls_buffer_append_printf(&str, WIN_URL "id=%s;type=cert", hex);
+ ret = _gnutls_buffer_append_printf(&str, WIN_URL "id=%s;type=cert",
+ hex);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -1052,9 +1012,8 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
goto fail;
}
- ret =
- _gnutls_buffer_append_escape(&str, tmp_label.data,
- tmp_label.size, " ");
+ ret = _gnutls_buffer_append_escape(&str, tmp_label.data,
+ tmp_label.size, " ");
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -1071,9 +1030,8 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
*cert_url = (char *)str.data;
_gnutls_buffer_init(&str);
- ret =
- _gnutls_buffer_append_printf(&str, WIN_URL "id=%s;type=privkey",
- hex);
+ ret = _gnutls_buffer_append_printf(&str, WIN_URL "id=%s;type=privkey",
+ hex);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -1086,9 +1044,8 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
goto fail;
}
- ret =
- _gnutls_buffer_append_escape(&str, tmp_label.data,
- tmp_label.size, " ");
+ ret = _gnutls_buffer_append_escape(&str, tmp_label.data,
+ tmp_label.size, " ");
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -1108,7 +1065,7 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
ret = 0;
goto cleanup;
- fail:
+fail:
if (der)
gnutls_free(der->data);
if (cert_url)
@@ -1117,7 +1074,7 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
gnutls_free(*key_url);
if (label)
gnutls_free(*label);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&str);
return ret;
}
@@ -1146,13 +1103,10 @@ int get_win_urls(const CERT_CONTEXT * cert, char **cert_url, char **key_url,
*
* Since: 3.4.0
**/
-int
-gnutls_system_key_iter_get_info(gnutls_system_key_iter_t * iter,
- unsigned cert_type,
- char **cert_url,
- char **key_url,
- char **label,
- gnutls_datum_t * der, unsigned int flags)
+int gnutls_system_key_iter_get_info(gnutls_system_key_iter_t *iter,
+ unsigned cert_type, char **cert_url,
+ char **key_url, char **label,
+ gnutls_datum_t *der, unsigned int flags)
{
if (ncrypt_init == 0)
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
@@ -1164,33 +1118,30 @@ gnutls_system_key_iter_get_info(gnutls_system_key_iter_t * iter,
if (*iter == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- (*iter)->store =
- CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
- CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
+ (*iter)->store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
+ CERT_SYSTEM_STORE_CURRENT_USER,
+ L"MY");
if ((*iter)->store == NULL) {
gnutls_free(*iter);
*iter = NULL;
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
}
(*iter)->cert =
- CertEnumCertificatesInStore((*iter)->store, NULL);
+ CertEnumCertificatesInStore((*iter)->store, NULL);
return get_win_urls((*iter)->cert, cert_url, key_url, label,
der);
} else {
if ((*iter)->cert == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- (*iter)->cert =
- CertEnumCertificatesInStore((*iter)->store, (*iter)->cert);
+ (*iter)->cert = CertEnumCertificatesInStore((*iter)->store,
+ (*iter)->cert);
return get_win_urls((*iter)->cert, cert_url, key_url, label,
der);
-
}
}
@@ -1239,23 +1190,20 @@ int gnutls_system_key_delete(const char *cert_url, const char *key_url)
blob.cbData = id_size;
blob.pbData = id;
- store =
- CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
- CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
+ store = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,
+ CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
if (store != NULL) {
do {
- cert = CertFindCertificateInStore(store,
- X509_ASN_ENCODING,
- 0,
- CERT_FIND_KEY_IDENTIFIER,
- &blob, cert);
+ cert = CertFindCertificateInStore(
+ store, X509_ASN_ENCODING, 0,
+ CERT_FIND_KEY_IDENTIFIER, &blob, cert);
if (cert && key_url) {
nc_size = sizeof(nc);
- r = CertGetCertificateContextProperty(cert,
- CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID,
- &nc,
- &nc_size);
+ r = CertGetCertificateContextProperty(
+ cert,
+ CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID,
+ &nc, &nc_size);
if (r != 0) {
pNCryptDeleteKey(nc, 0);
pNCryptFreeObject(nc);
@@ -1411,9 +1359,8 @@ int gnutls_system_key_add_x509(gnutls_x509_crt_t crt,
goto cleanup;
}
- ret =
- gnutls_hash_fast(GNUTLS_DIG_SHA1, data.data, data.size,
- sha);
+ ret = gnutls_hash_fast(GNUTLS_DIG_SHA1, data.data, data.size,
+ sha);
gnutls_free(data.data);
if (ret < 0) {
gnutls_assert();
@@ -1423,11 +1370,9 @@ int gnutls_system_key_add_x509(gnutls_x509_crt_t crt,
blob.cbData = sizeof(sha);
blob.pbData = sha;
- cert = CertFindCertificateInStore(store,
- X509_ASN_ENCODING,
- 0,
- CERT_FIND_SHA1_HASH,
- &blob, NULL);
+ cert = CertFindCertificateInStore(store, X509_ASN_ENCODING, 0,
+ CERT_FIND_SHA1_HASH, &blob,
+ NULL);
if (cert == NULL) {
gnutls_assert();
@@ -1444,7 +1389,7 @@ int gnutls_system_key_add_x509(gnutls_x509_crt_t crt,
ret = 0;
- cleanup:
+cleanup:
if (p12 != NULL)
gnutls_pkcs12_deinit(p12);
if (bag1 != NULL)
@@ -1467,53 +1412,51 @@ int _gnutls_system_key_init(void)
return gnutls_assert_val(GNUTLS_E_CRYPTO_INIT_FAILED);
}
- pNCryptDeleteKey =
- (NCryptDeleteKeyFunc) GetProcAddress(ncrypt_lib, "NCryptDeleteKey");
+ pNCryptDeleteKey = (NCryptDeleteKeyFunc)GetProcAddress(
+ ncrypt_lib, "NCryptDeleteKey");
if (pNCryptDeleteKey == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
}
pNCryptOpenStorageProvider =
- (NCryptOpenStorageProviderFunc) GetProcAddress(ncrypt_lib,
- "NCryptOpenStorageProvider");
+ (NCryptOpenStorageProviderFunc)GetProcAddress(
+ ncrypt_lib, "NCryptOpenStorageProvider");
if (pNCryptOpenStorageProvider == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
}
pNCryptOpenKey =
- (NCryptOpenKeyFunc) GetProcAddress(ncrypt_lib, "NCryptOpenKey");
+ (NCryptOpenKeyFunc)GetProcAddress(ncrypt_lib, "NCryptOpenKey");
if (pNCryptOpenKey == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
}
- pNCryptGetProperty =
- (NCryptGetPropertyFunc) GetProcAddress(ncrypt_lib,
- "NCryptGetProperty");
+ pNCryptGetProperty = (NCryptGetPropertyFunc)GetProcAddress(
+ ncrypt_lib, "NCryptGetProperty");
if (pNCryptGetProperty == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
}
- pNCryptFreeObject =
- (NCryptFreeObjectFunc) GetProcAddress(ncrypt_lib,
- "NCryptFreeObject");
+ pNCryptFreeObject = (NCryptFreeObjectFunc)GetProcAddress(
+ ncrypt_lib, "NCryptFreeObject");
if (pNCryptFreeObject == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
}
pNCryptDecrypt =
- (NCryptDecryptFunc) GetProcAddress(ncrypt_lib, "NCryptDecrypt");
+ (NCryptDecryptFunc)GetProcAddress(ncrypt_lib, "NCryptDecrypt");
if (pNCryptDecrypt == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
}
- pNCryptSignHash =
- (NCryptSignHashFunc) GetProcAddress(ncrypt_lib, "NCryptSignHash");
+ pNCryptSignHash = (NCryptSignHashFunc)GetProcAddress(ncrypt_lib,
+ "NCryptSignHash");
if (pNCryptSignHash == NULL) {
ret = GNUTLS_E_CRYPTO_INIT_FAILED;
goto fail;
@@ -1521,7 +1464,7 @@ int _gnutls_system_key_init(void)
ncrypt_init = 1;
return 0;
- fail:
+fail:
FreeLibrary(ncrypt_lib);
return ret;
#else
diff --git a/lib/system/ktls.c b/lib/system/ktls.c
index bb59fab7c0..060194bdf6 100644
--- a/lib/system/ktls.c
+++ b/lib/system/ktls.c
@@ -25,14 +25,14 @@
#ifdef ENABLE_KTLS
-# include <linux/tls.h>
-# include <record.h>
-# include <sys/socket.h>
-# include <netinet/tcp.h>
-# include <unistd.h>
-# include <errno.h>
-# include "ext/session_ticket.h"
-# include <sys/sendfile.h>
+#include <linux/tls.h>
+#include <record.h>
+#include <sys/socket.h>
+#include <netinet/tcp.h>
+#include <unistd.h>
+#include <errno.h>
+#include "ext/session_ticket.h"
+#include <sys/sendfile.h>
/**
* gnutls_transport_is_ktls_enabled:
@@ -67,18 +67,18 @@ void _gnutls_ktls_enable(gnutls_session_t session)
session->internals.ktls_enabled |= GNUTLS_KTLS_SEND;
}
} else {
- _gnutls_record_log
- ("Unable to set TCP_ULP for read socket: %d\n", errno);
+ _gnutls_record_log(
+ "Unable to set TCP_ULP for read socket: %d\n", errno);
}
if (sockin != sockout) {
- if (setsockopt(sockout, SOL_TCP, TCP_ULP, "tls", sizeof("tls"))
- == 0) {
+ if (setsockopt(sockout, SOL_TCP, TCP_ULP, "tls",
+ sizeof("tls")) == 0) {
session->internals.ktls_enabled |= GNUTLS_KTLS_SEND;
} else {
- _gnutls_record_log
- ("Unable to set TCP_ULP for write socket: %d\n",
- errno);
+ _gnutls_record_log(
+ "Unable to set TCP_ULP for write socket: %d\n",
+ errno);
}
}
}
@@ -117,203 +117,170 @@ int _gnutls_ktls_set_keys(gnutls_session_t session,
if (in & GNUTLS_KTLS_RECV) {
switch (cipher) {
- case GNUTLS_CIPHER_AES_128_GCM:
- {
- struct tls12_crypto_info_aes_gcm_128
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_AES_GCM_128;
- assert(cipher_key.size ==
- TLS_CIPHER_AES_GCM_128_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_AES_GCM_128_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_AES_GCM_128_SALT_SIZE
- +
+ case GNUTLS_CIPHER_AES_128_GCM: {
+ struct tls12_crypto_info_aes_gcm_128 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type = TLS_CIPHER_AES_GCM_128;
+ assert(cipher_key.size ==
+ TLS_CIPHER_AES_GCM_128_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_AES_GCM_128_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_AES_GCM_128_SALT_SIZE +
TLS_CIPHER_AES_GCM_128_IV_SIZE);
- memcpy(crypto_info.iv, iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_AES_GCM_128_SALT_SIZE,
- TLS_CIPHER_AES_GCM_128_IV_SIZE);
- }
+ TLS_CIPHER_AES_GCM_128_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_AES_GCM_128_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_AES_GCM_128_KEY_SIZE);
-
- if (setsockopt(sockin, SOL_TLS, TLS_RX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_RECV;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_AES_GCM_128_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_AES_GCM_128_KEY_SIZE);
+
+ if (setsockopt(sockin, SOL_TLS, TLS_RX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_RECV;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
- case GNUTLS_CIPHER_AES_256_GCM:
- {
- struct tls12_crypto_info_aes_gcm_256
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_AES_GCM_256;
- assert(cipher_key.size ==
- TLS_CIPHER_AES_GCM_256_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_AES_GCM_256_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_AES_GCM_256_SALT_SIZE
- +
+ } break;
+ case GNUTLS_CIPHER_AES_256_GCM: {
+ struct tls12_crypto_info_aes_gcm_256 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type = TLS_CIPHER_AES_GCM_256;
+ assert(cipher_key.size ==
+ TLS_CIPHER_AES_GCM_256_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_AES_GCM_256_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_AES_GCM_256_SALT_SIZE +
TLS_CIPHER_AES_GCM_256_IV_SIZE);
- memcpy(crypto_info.iv,
- iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_AES_GCM_256_SALT_SIZE,
- TLS_CIPHER_AES_GCM_256_IV_SIZE);
- }
+ TLS_CIPHER_AES_GCM_256_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_AES_GCM_256_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_AES_GCM_256_KEY_SIZE);
-
- if (setsockopt(sockin, SOL_TLS, TLS_RX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_RECV;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_AES_GCM_256_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_AES_GCM_256_KEY_SIZE);
+
+ if (setsockopt(sockin, SOL_TLS, TLS_RX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_RECV;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
- case GNUTLS_CIPHER_AES_128_CCM:
- {
- struct tls12_crypto_info_aes_ccm_128
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_AES_CCM_128;
- assert(cipher_key.size ==
- TLS_CIPHER_AES_CCM_128_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_AES_CCM_128_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_AES_CCM_128_SALT_SIZE
- +
+ } break;
+ case GNUTLS_CIPHER_AES_128_CCM: {
+ struct tls12_crypto_info_aes_ccm_128 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type = TLS_CIPHER_AES_CCM_128;
+ assert(cipher_key.size ==
+ TLS_CIPHER_AES_CCM_128_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_AES_CCM_128_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_AES_CCM_128_SALT_SIZE +
TLS_CIPHER_AES_CCM_128_IV_SIZE);
- memcpy(crypto_info.iv, iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_AES_CCM_128_SALT_SIZE,
- TLS_CIPHER_AES_CCM_128_IV_SIZE);
- }
+ TLS_CIPHER_AES_CCM_128_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_AES_CCM_128_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_AES_CCM_128_KEY_SIZE);
-
- if (setsockopt(sockin, SOL_TLS, TLS_RX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_RECV;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_AES_CCM_128_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_AES_CCM_128_KEY_SIZE);
+
+ if (setsockopt(sockin, SOL_TLS, TLS_RX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_RECV;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
- case GNUTLS_CIPHER_CHACHA20_POLY1305:
- {
- struct tls12_crypto_info_chacha20_poly1305
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_CHACHA20_POLY1305;
- assert(cipher_key.size ==
- TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE
- +
+ } break;
+ case GNUTLS_CIPHER_CHACHA20_POLY1305: {
+ struct tls12_crypto_info_chacha20_poly1305 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type =
+ TLS_CIPHER_CHACHA20_POLY1305;
+ assert(cipher_key.size ==
+ TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE +
TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
- memcpy(crypto_info.iv, iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE,
- TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
- }
+ TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
-
- if (setsockopt(sockin, SOL_TLS, TLS_RX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_RECV;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
+
+ if (setsockopt(sockin, SOL_TLS, TLS_RX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_RECV;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
+ } break;
default:
assert(0);
}
-
}
ret = gnutls_record_get_state(session, 0, &mac_key, &iv, &cipher_key,
@@ -324,210 +291,175 @@ int _gnutls_ktls_set_keys(gnutls_session_t session,
if (in & GNUTLS_KTLS_SEND) {
switch (cipher) {
- case GNUTLS_CIPHER_AES_128_GCM:
- {
- struct tls12_crypto_info_aes_gcm_128
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_AES_GCM_128;
-
- assert(cipher_key.size ==
- TLS_CIPHER_AES_GCM_128_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_AES_GCM_128_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_AES_GCM_128_SALT_SIZE
- +
+ case GNUTLS_CIPHER_AES_128_GCM: {
+ struct tls12_crypto_info_aes_gcm_128 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type = TLS_CIPHER_AES_GCM_128;
+
+ assert(cipher_key.size ==
+ TLS_CIPHER_AES_GCM_128_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_AES_GCM_128_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_AES_GCM_128_SALT_SIZE +
TLS_CIPHER_AES_GCM_128_IV_SIZE);
- memcpy(crypto_info.iv,
- iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_AES_GCM_128_SALT_SIZE,
- TLS_CIPHER_AES_GCM_128_IV_SIZE);
- }
+ TLS_CIPHER_AES_GCM_128_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_AES_GCM_128_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_AES_GCM_128_KEY_SIZE);
-
- if (setsockopt(sockout, SOL_TLS, TLS_TX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_SEND;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_AES_GCM_128_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_AES_GCM_128_KEY_SIZE);
+
+ if (setsockopt(sockout, SOL_TLS, TLS_TX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_SEND;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
- case GNUTLS_CIPHER_AES_256_GCM:
- {
- struct tls12_crypto_info_aes_gcm_256
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_AES_GCM_256;
- assert(cipher_key.size ==
- TLS_CIPHER_AES_GCM_256_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_AES_GCM_256_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_AES_GCM_256_SALT_SIZE
- +
+ } break;
+ case GNUTLS_CIPHER_AES_256_GCM: {
+ struct tls12_crypto_info_aes_gcm_256 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type = TLS_CIPHER_AES_GCM_256;
+ assert(cipher_key.size ==
+ TLS_CIPHER_AES_GCM_256_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_AES_GCM_256_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_AES_GCM_256_SALT_SIZE +
TLS_CIPHER_AES_GCM_256_IV_SIZE);
- memcpy(crypto_info.iv,
- iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_AES_GCM_256_SALT_SIZE,
- TLS_CIPHER_AES_GCM_256_IV_SIZE);
- }
+ TLS_CIPHER_AES_GCM_256_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_AES_GCM_256_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_AES_GCM_256_KEY_SIZE);
-
- if (setsockopt(sockout, SOL_TLS, TLS_TX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_SEND;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_AES_GCM_256_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_AES_GCM_256_KEY_SIZE);
+
+ if (setsockopt(sockout, SOL_TLS, TLS_TX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_SEND;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
- case GNUTLS_CIPHER_AES_128_CCM:
- {
- struct tls12_crypto_info_aes_ccm_128
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_AES_CCM_128;
- assert(cipher_key.size ==
- TLS_CIPHER_AES_CCM_128_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_AES_CCM_128_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_AES_CCM_128_SALT_SIZE
- +
+ } break;
+ case GNUTLS_CIPHER_AES_128_CCM: {
+ struct tls12_crypto_info_aes_ccm_128 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type = TLS_CIPHER_AES_CCM_128;
+ assert(cipher_key.size ==
+ TLS_CIPHER_AES_CCM_128_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_AES_CCM_128_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_AES_CCM_128_SALT_SIZE +
TLS_CIPHER_AES_CCM_128_IV_SIZE);
- memcpy(crypto_info.iv,
- iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_AES_CCM_128_SALT_SIZE,
- TLS_CIPHER_AES_CCM_128_IV_SIZE);
- }
+ TLS_CIPHER_AES_CCM_128_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_AES_CCM_128_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_AES_CCM_128_KEY_SIZE);
-
- if (setsockopt(sockout, SOL_TLS, TLS_TX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_SEND;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_AES_CCM_128_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_AES_CCM_128_KEY_SIZE);
+
+ if (setsockopt(sockout, SOL_TLS, TLS_TX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_SEND;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
- case GNUTLS_CIPHER_CHACHA20_POLY1305:
- {
- struct tls12_crypto_info_chacha20_poly1305
- crypto_info;
- memset(&crypto_info, 0, sizeof(crypto_info));
-
- crypto_info.info.cipher_type =
- TLS_CIPHER_CHACHA20_POLY1305;
- assert(cipher_key.size ==
- TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
-
- /* for TLS 1.2 IV is generated in kernel */
- if (version == GNUTLS_TLS1_2) {
- crypto_info.info.version =
- TLS_1_2_VERSION;
- memcpy(crypto_info.iv, seq_number,
- TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
- } else {
- crypto_info.info.version =
- TLS_1_3_VERSION;
- assert(iv.size ==
- TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE
- +
+ } break;
+ case GNUTLS_CIPHER_CHACHA20_POLY1305: {
+ struct tls12_crypto_info_chacha20_poly1305 crypto_info;
+ memset(&crypto_info, 0, sizeof(crypto_info));
+
+ crypto_info.info.cipher_type =
+ TLS_CIPHER_CHACHA20_POLY1305;
+ assert(cipher_key.size ==
+ TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
+
+ /* for TLS 1.2 IV is generated in kernel */
+ if (version == GNUTLS_TLS1_2) {
+ crypto_info.info.version = TLS_1_2_VERSION;
+ memcpy(crypto_info.iv, seq_number,
+ TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
+ } else {
+ crypto_info.info.version = TLS_1_3_VERSION;
+ assert(iv.size ==
+ TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE +
TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
- memcpy(crypto_info.iv,
- iv.data +
+ memcpy(crypto_info.iv,
+ iv.data +
TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE,
- TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
- }
+ TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE);
+ }
- memcpy(crypto_info.salt, iv.data,
- TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE);
- memcpy(crypto_info.rec_seq, seq_number,
- TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE);
- memcpy(crypto_info.key, cipher_key.data,
- TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
-
- if (setsockopt(sockout, SOL_TLS, TLS_TX,
- &crypto_info,
- sizeof(crypto_info))) {
- session->internals.ktls_enabled &=
- ~GNUTLS_KTLS_SEND;
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
- }
+ memcpy(crypto_info.salt, iv.data,
+ TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE);
+ memcpy(crypto_info.rec_seq, seq_number,
+ TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE);
+ memcpy(crypto_info.key, cipher_key.data,
+ TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE);
+
+ if (setsockopt(sockout, SOL_TLS, TLS_TX, &crypto_info,
+ sizeof(crypto_info))) {
+ session->internals.ktls_enabled &=
+ ~GNUTLS_KTLS_SEND;
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
- break;
+ } break;
default:
assert(0);
}
// set callback for sending handshake messages
- gnutls_handshake_set_read_function(session,
- _gnutls_ktls_send_handshake_msg);
+ gnutls_handshake_set_read_function(
+ session, _gnutls_ktls_send_handshake_msg);
// set callback for sending alert messages
gnutls_alert_set_read_function(session,
@@ -537,8 +469,8 @@ int _gnutls_ktls_set_keys(gnutls_session_t session,
return in;
}
-ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd,
- off_t * offset, size_t count)
+ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd, off_t *offset,
+ size_t count)
{
ssize_t ret;
int sockin, sockout;
@@ -578,7 +510,7 @@ int _gnutls_ktls_send_control_msg(gnutls_session_t session,
while (data_to_send > 0) {
char cmsg[CMSG_SPACE(sizeof(unsigned char))];
struct msghdr msg = { 0 };
- struct iovec msg_iov; /* Vector of data to send/receive into. */
+ struct iovec msg_iov; /* Vector of data to send/receive into. */
struct cmsghdr *hdr;
msg.msg_control = cmsg;
@@ -632,8 +564,8 @@ int _gnutls_ktls_send_handshake_msg(gnutls_session_t session,
gnutls_handshake_description_t htype,
const void *data, size_t data_size)
{
- return _gnutls_ktls_send_control_msg(session, GNUTLS_HANDSHAKE,
- data, data_size);
+ return _gnutls_ktls_send_control_msg(session, GNUTLS_HANDSHAKE, data,
+ data_size);
}
int _gnutls_ktls_send_alert_msg(gnutls_session_t session,
@@ -642,8 +574,8 @@ int _gnutls_ktls_send_alert_msg(gnutls_session_t session,
gnutls_alert_description_t alert_desc)
{
uint8_t data[2];
- data[0] = (uint8_t) alert_level;
- data[1] = (uint8_t) alert_desc;
+ data[0] = (uint8_t)alert_level;
+ data[1] = (uint8_t)alert_desc;
return _gnutls_ktls_send_control_msg(session, GNUTLS_ALERT, data, 2);
}
@@ -720,23 +652,23 @@ int _gnutls_ktls_recv_int(gnutls_session_t session, content_type_t type,
unsigned char record_type;
int ret;
- ret = _gnutls_ktls_recv_control_msg(session,
- &record_type, data, data_size);
+ ret = _gnutls_ktls_recv_control_msg(session, &record_type, data,
+ data_size);
if (ret > 0) {
switch (record_type) {
case GNUTLS_CHANGE_CIPHER_SPEC:
- return
- gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNIMPLEMENTED_FEATURE);
break;
case GNUTLS_ALERT:
session_invalidate(session);
ret = 0;
break;
case GNUTLS_HANDSHAKE:
- ret = gnutls_handshake_write(session,
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- data, ret);
+ ret = gnutls_handshake_write(
+ session, GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ data, ret);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -758,7 +690,7 @@ int _gnutls_ktls_recv_int(gnutls_session_t session, content_type_t type,
return ret;
}
-#else //ENABLE_KTLS
+#else //ENABLE_KTLS
gnutls_transport_ktls_enable_flags_t
gnutls_transport_is_ktls_enabled(gnutls_session_t session)
{
@@ -775,8 +707,8 @@ int _gnutls_ktls_set_keys(gnutls_session_t sessioni,
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
}
-ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd,
- off_t * offset, size_t count)
+ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd, off_t *offset,
+ size_t count)
{
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
}
@@ -803,4 +735,4 @@ int _gnutls_ktls_recv_int(gnutls_session_t session, content_type_t type,
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
}
-#endif //ENABLE_KTLS
+#endif //ENABLE_KTLS
diff --git a/lib/system/ktls.h b/lib/system/ktls.h
index 186612e326..65c5cf149e 100644
--- a/lib/system/ktls.h
+++ b/lib/system/ktls.h
@@ -1,15 +1,15 @@
#ifndef GNUTLS_LIB_ACCELERATED_KTLS_H
-# define GNUTLS_LIB_ACCELERATED_KTLS_H
+#define GNUTLS_LIB_ACCELERATED_KTLS_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
void _gnutls_ktls_enable(gnutls_session_t session);
int _gnutls_ktls_set_keys(gnutls_session_t session,
gnutls_transport_ktls_enable_flags_t in);
-ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd,
- off_t * offset, size_t count);
+ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd, off_t *offset,
+ size_t count);
int _gnutls_ktls_send_handshake_msg(gnutls_session_t session,
gnutls_record_encryption_level_t level,
@@ -24,7 +24,8 @@ int _gnutls_ktls_send_alert_msg(gnutls_session_t session,
int _gnutls_ktls_send_control_msg(gnutls_session_t session,
unsigned char record_type, const void *data,
size_t data_size);
-# define _gnutls_ktls_send(x, y, z) _gnutls_ktls_send_control_msg(x, GNUTLS_APPLICATION_DATA, y, z);
+#define _gnutls_ktls_send(x, y, z) \
+ _gnutls_ktls_send_control_msg(x, GNUTLS_APPLICATION_DATA, y, z);
int _gnutls_ktls_recv_control_msg(gnutls_session_t session,
unsigned char *record_type, void *data,
@@ -32,6 +33,7 @@ int _gnutls_ktls_recv_control_msg(gnutls_session_t session,
int _gnutls_ktls_recv_int(gnutls_session_t session, content_type_t type,
void *data, size_t data_size);
-# define _gnutls_ktls_recv(x, y, z) _gnutls_ktls_recv_int(x, GNUTLS_APPLICATION_DATA, y, z)
+#define _gnutls_ktls_recv(x, y, z) \
+ _gnutls_ktls_recv_int(x, GNUTLS_APPLICATION_DATA, y, z)
-#endif /* GNUTLS_LIB_ACCELERATED_KTLS_H */
+#endif /* GNUTLS_LIB_ACCELERATED_KTLS_H */
diff --git a/lib/system/sockets.c b/lib/system/sockets.c
index 6367114f30..f8eb62c2c6 100644
--- a/lib/system/sockets.c
+++ b/lib/system/sockets.c
@@ -32,9 +32,9 @@
#include <sys/types.h>
#ifdef _WIN32
-# include <windows.h>
-#else /* !_WIN32 */
-# include <poll.h>
+#include <windows.h>
+#else /* !_WIN32 */
+#include <poll.h>
#endif
/* System specific socket function wrappers.
@@ -44,9 +44,9 @@
/* Do not use the gnulib functions for sending and receiving data.
* Using them makes gnutls only working with gnulib applications.
*/
-# undef send
-# undef recv
-# undef select
+#undef send
+#undef recv
+#undef select
int system_errno(gnutls_transport_ptr p)
{
@@ -74,14 +74,14 @@ int system_errno(gnutls_transport_ptr p)
return ret;
}
-ssize_t
-system_write(gnutls_transport_ptr ptr, const void *data, size_t data_size)
+ssize_t system_write(gnutls_transport_ptr ptr, const void *data,
+ size_t data_size)
{
return send(GNUTLS_POINTER_TO_INT(ptr), data, data_size, 0);
}
-ssize_t
-system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
+ssize_t system_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,
+ int iovec_cnt)
{
WSABUF bufs[32];
DWORD bytes_sent;
@@ -91,28 +91,30 @@ system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
if ((size_t)iovec_cnt > sizeof(bufs) / sizeof(bufs[0]))
iovec_cnt = sizeof(bufs) / sizeof(bufs[0]);
- while (to_send_cnt < (DWORD) iovec_cnt && to_send_bytes < SSIZE_MAX) {
+ while (to_send_cnt < (DWORD)iovec_cnt && to_send_bytes < SSIZE_MAX) {
bufs[to_send_cnt].buf = iovec[to_send_cnt].iov_base;
if (to_send_bytes + iovec[to_send_cnt].iov_len > SSIZE_MAX) {
/* Return value limit: successful result value cannot
* exceed SSIZE_MAX */
size_t space_left = (size_t)SSIZE_MAX - to_send_bytes;
- bufs[to_send_cnt].len = (unsigned long)
- (space_left > ULONG_MAX ? ULONG_MAX : space_left);
+ bufs[to_send_cnt].len =
+ (unsigned long)(space_left > ULONG_MAX ?
+ ULONG_MAX :
+ space_left);
to_send_cnt++;
break;
}
-# ifdef _WIN64
+#ifdef _WIN64
if (iovec[to_send_cnt].iov_len > ULONG_MAX) {
/* WSASend() limitation */
bufs[to_send_cnt].len = ULONG_MAX;
to_send_cnt++;
break;
}
-# endif
+#endif
bufs[to_send_cnt].len =
- (unsigned long)iovec[to_send_cnt].iov_len;
+ (unsigned long)iovec[to_send_cnt].iov_len;
to_send_bytes += iovec[to_send_cnt].iov_len;
to_send_cnt++;
}
@@ -121,23 +123,22 @@ system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
0, NULL, NULL) != 0)
return -1;
- return (ssize_t) bytes_sent;
+ return (ssize_t)bytes_sent;
}
-#else /* POSIX */
+#else /* POSIX */
int system_errno(gnutls_transport_ptr_t ptr)
{
-# if defined(_AIX) || defined(AIX)
+#if defined(_AIX) || defined(AIX)
if (errno == 0)
errno = EAGAIN;
-# endif
+#endif
return errno;
}
-static ssize_t
-_system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec,
- int iovec_cnt, int flags)
+static ssize_t _system_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,
+ int iovec_cnt, int flags)
{
struct msghdr hdr;
@@ -148,18 +149,17 @@ _system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec,
return sendmsg(GNUTLS_POINTER_TO_INT(ptr), &hdr, flags);
}
-# ifdef MSG_NOSIGNAL
-ssize_t
-system_writev_nosignal(gnutls_transport_ptr_t ptr, const giovec_t * iovec,
- int iovec_cnt)
+#ifdef MSG_NOSIGNAL
+ssize_t system_writev_nosignal(gnutls_transport_ptr_t ptr,
+ const giovec_t *iovec, int iovec_cnt)
{
return _system_writev(ptr, iovec, iovec_cnt, MSG_NOSIGNAL);
}
-# endif
+#endif
-ssize_t
-system_writev(gnutls_transport_ptr_t ptr, const giovec_t * iovec, int iovec_cnt)
+ssize_t system_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,
+ int iovec_cnt)
{
return _system_writev(ptr, iovec, iovec_cnt, 0);
}
diff --git a/lib/system/threads.c b/lib/system/threads.c
index a98cd968c3..bca790a21f 100644
--- a/lib/system/threads.c
+++ b/lib/system/threads.c
@@ -57,7 +57,7 @@ static int gnutls_system_mutex_init(void **priv)
static int gnutls_system_mutex_deinit(void **priv)
{
- if (glthread_lock_destroy((gl_lock_t *) * priv)) {
+ if (glthread_lock_destroy((gl_lock_t *)*priv)) {
return gnutls_assert_val(GNUTLS_E_LOCKING_ERROR);
}
free(*priv);
@@ -66,7 +66,7 @@ static int gnutls_system_mutex_deinit(void **priv)
static int gnutls_system_mutex_lock(void **priv)
{
- if (glthread_lock_lock((gl_lock_t *) * priv)) {
+ if (glthread_lock_lock((gl_lock_t *)*priv)) {
return gnutls_assert_val(GNUTLS_E_LOCKING_ERROR);
}
return 0;
@@ -74,7 +74,7 @@ static int gnutls_system_mutex_lock(void **priv)
static int gnutls_system_mutex_unlock(void **priv)
{
- if (glthread_lock_unlock((gl_lock_t *) * priv)) {
+ if (glthread_lock_unlock((gl_lock_t *)*priv)) {
return gnutls_assert_val(GNUTLS_E_LOCKING_ERROR);
}
return 0;
diff --git a/lib/system_override.c b/lib/system_override.c
index 53173309df..326c6adbef 100644
--- a/lib/system_override.c
+++ b/lib/system_override.c
@@ -36,7 +36,7 @@
#include <errno.h>
#ifdef _WIN32
-# include <windows.h>
+#include <windows.h>
#endif
/**
@@ -78,9 +78,8 @@ void gnutls_transport_set_errno(gnutls_session_t session, int err)
* @gnutls_pull_func is of the form,
* ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t);
**/
-void
-gnutls_transport_set_pull_function(gnutls_session_t session,
- gnutls_pull_func pull_func)
+void gnutls_transport_set_pull_function(gnutls_session_t session,
+ gnutls_pull_func pull_func)
{
session->internals.pull_func = pull_func;
}
@@ -119,9 +118,8 @@ gnutls_transport_set_pull_function(gnutls_session_t session,
*
* Since: 3.0
**/
-void
-gnutls_transport_set_pull_timeout_function(gnutls_session_t session,
- gnutls_pull_timeout_func func)
+void gnutls_transport_set_pull_timeout_function(gnutls_session_t session,
+ gnutls_pull_timeout_func func)
{
session->internals.pull_timeout_func = func;
}
@@ -143,9 +141,8 @@ gnutls_transport_set_pull_timeout_function(gnutls_session_t session,
* ssize_t (*gnutls_push_func)(gnutls_transport_ptr_t, const void*, size_t);
*
**/
-void
-gnutls_transport_set_push_function(gnutls_session_t session,
- gnutls_push_func push_func)
+void gnutls_transport_set_push_function(gnutls_session_t session,
+ gnutls_push_func push_func)
{
session->internals.push_func = push_func;
session->internals.vec_push_func = NULL;
@@ -166,9 +163,8 @@ gnutls_transport_set_push_function(gnutls_session_t session,
*
* Since: 2.12.0
**/
-void
-gnutls_transport_set_vec_push_function(gnutls_session_t session,
- gnutls_vec_push_func vec_func)
+void gnutls_transport_set_vec_push_function(gnutls_session_t session,
+ gnutls_vec_push_func vec_func)
{
session->internals.push_func = NULL;
session->internals.vec_push_func = vec_func;
@@ -188,9 +184,8 @@ gnutls_transport_set_vec_push_function(gnutls_session_t session,
*
* Since: 2.12.0
**/
-void
-gnutls_transport_set_errno_function(gnutls_session_t session,
- gnutls_errno_func errno_func)
+void gnutls_transport_set_errno_function(gnutls_session_t session,
+ gnutls_errno_func errno_func)
{
session->internals.errno_func = errno_func;
}
diff --git a/lib/tls-sig.c b/lib/tls-sig.c
index 45869fd802..91361c281e 100644
--- a/lib/tls-sig.c
+++ b/lib/tls-sig.c
@@ -49,26 +49,28 @@ int _gnutls_check_key_usage_for_sig(gnutls_session_t session,
if (our_cert) {
lstr = "Local";
allow_key_usage_violation =
- session->internals.
- priorities->allow_server_key_usage_violation;
+ session->internals.priorities
+ ->allow_server_key_usage_violation;
} else {
lstr = "Peer's";
allow_key_usage_violation =
- session->internals.allow_key_usage_violation;
+ session->internals.allow_key_usage_violation;
}
if (key_usage != 0) {
if (!(key_usage & GNUTLS_KEY_DIGITAL_SIGNATURE)) {
gnutls_assert();
if (likely(allow_key_usage_violation == 0)) {
- _gnutls_audit_log(session,
- "%s certificate does not allow digital signatures. Key usage violation detected.\n",
- lstr);
+ _gnutls_audit_log(
+ session,
+ "%s certificate does not allow digital signatures. Key usage violation detected.\n",
+ lstr);
return GNUTLS_E_KEY_USAGE_VIOLATION;
} else {
- _gnutls_audit_log(session,
- "%s certificate does not allow digital signatures. Key usage violation detected (ignored).\n",
- lstr);
+ _gnutls_audit_log(
+ session,
+ "%s certificate does not allow digital signatures. Key usage violation detected (ignored).\n",
+ lstr);
}
}
}
@@ -78,23 +80,22 @@ int _gnutls_check_key_usage_for_sig(gnutls_session_t session,
/* Generates a signature of all the random data and the parameters.
* Used in *DHE_* ciphersuites for TLS 1.2.
*/
-static int
-_gnutls_handshake_sign_data12(gnutls_session_t session,
- gnutls_pcert_st * cert, gnutls_privkey_t pkey,
- gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_sign_data12(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey,
+ gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
gnutls_datum_t dconcat;
int ret;
- _gnutls_handshake_log
- ("HSK[%p]: signing TLS 1.2 handshake data: using %s\n", session,
- gnutls_sign_algorithm_get_name(sign_algo));
+ _gnutls_handshake_log(
+ "HSK[%p]: signing TLS 1.2 handshake data: using %s\n", session,
+ gnutls_sign_algorithm_get_name(sign_algo));
- if (unlikely
- (gnutls_sign_supports_pk_algorithm(sign_algo, pkey->pk_algorithm) ==
- 0))
+ if (unlikely(gnutls_sign_supports_pk_algorithm(
+ sign_algo, pkey->pk_algorithm) == 0))
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
dconcat.size = GNUTLS_RANDOM_SIZE * 2 + params->size;
@@ -109,23 +110,22 @@ _gnutls_handshake_sign_data12(gnutls_session_t session,
memcpy(dconcat.data + GNUTLS_RANDOM_SIZE * 2, params->data,
params->size);
- ret = gnutls_privkey_sign_data2(pkey, sign_algo,
- 0, &dconcat, signature);
+ ret = gnutls_privkey_sign_data2(pkey, sign_algo, 0, &dconcat,
+ signature);
if (ret < 0) {
gnutls_assert();
}
gnutls_free(dconcat.data);
return ret;
-
}
-static int
-_gnutls_handshake_sign_data10(gnutls_session_t session,
- gnutls_pcert_st * cert, gnutls_privkey_t pkey,
- gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_sign_data10(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey,
+ gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
gnutls_datum_t dconcat;
int ret;
@@ -142,17 +142,17 @@ _gnutls_handshake_sign_data10(gnutls_session_t session,
if (me == NULL)
return gnutls_assert_val(GNUTLS_E_UNKNOWN_HASH_ALGORITHM);
- if (unlikely
- (gnutls_sign_supports_pk_algorithm(sign_algo, pk_algo) == 0))
+ if (unlikely(gnutls_sign_supports_pk_algorithm(sign_algo, pk_algo) ==
+ 0))
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
pk_algo = gnutls_sign_get_pk_algorithm(sign_algo);
if (pk_algo == GNUTLS_PK_UNKNOWN)
return gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
- _gnutls_handshake_log
- ("HSK[%p]: signing handshake data: using %s\n", session,
- gnutls_sign_algorithm_get_name(sign_algo));
+ _gnutls_handshake_log("HSK[%p]: signing handshake data: using %s\n",
+ session,
+ gnutls_sign_algorithm_get_name(sign_algo));
ret = _gnutls_hash_init(&td_sha, me);
if (ret < 0) {
@@ -171,10 +171,9 @@ _gnutls_handshake_sign_data10(gnutls_session_t session,
dconcat.data = concat;
dconcat.size = _gnutls_hash_get_algo_len(me);
- ret =
- gnutls_privkey_sign_hash(pkey, MAC_TO_DIG(me->id),
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- &dconcat, signature);
+ ret = gnutls_privkey_sign_hash(pkey, MAC_TO_DIG(me->id),
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
+ &dconcat, signature);
if (ret < 0) {
gnutls_assert();
}
@@ -185,12 +184,10 @@ _gnutls_handshake_sign_data10(gnutls_session_t session,
/* Generates a signature of all the random data and the parameters.
* Used in DHE_* ciphersuites.
*/
-int
-_gnutls_handshake_sign_data(gnutls_session_t session,
- gnutls_pcert_st * cert, gnutls_privkey_t pkey,
- gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t * sign_algo)
+int _gnutls_handshake_sign_data(gnutls_session_t session, gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey, gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t *sign_algo)
{
const version_entry_st *ver = get_version(session);
unsigned key_usage = 0;
@@ -209,25 +206,22 @@ _gnutls_handshake_sign_data(gnutls_session_t session,
return gnutls_assert_val(ret);
if (_gnutls_version_has_selectable_sighash(ver))
- return _gnutls_handshake_sign_data12(session, cert, pkey,
- params, signature,
- *sign_algo);
+ return _gnutls_handshake_sign_data12(
+ session, cert, pkey, params, signature, *sign_algo);
else
- return _gnutls_handshake_sign_data10(session, cert, pkey,
- params, signature,
- *sign_algo);
+ return _gnutls_handshake_sign_data10(
+ session, cert, pkey, params, signature, *sign_algo);
}
/* Generates a signature of all the random data and the parameters.
* Used in DHE_* ciphersuites.
*/
-static int
-_gnutls_handshake_verify_data10(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- const gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_verify_data10(gnutls_session_t session,
+ unsigned verify_flags,
+ gnutls_pcert_st *cert,
+ const gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
gnutls_datum_t dconcat;
int ret;
@@ -269,43 +263,41 @@ _gnutls_handshake_verify_data10(gnutls_session_t session,
ret = gnutls_pubkey_verify_hash2(cert->pubkey, sign_algo,
GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 |
- verify_flags, &dconcat, signature);
+ verify_flags,
+ &dconcat, signature);
if (ret < 0)
return gnutls_assert_val(ret);
return ret;
}
-static int
-_gnutls_handshake_verify_data12(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- const gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_verify_data12(gnutls_session_t session,
+ unsigned verify_flags,
+ gnutls_pcert_st *cert,
+ const gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
gnutls_datum_t dconcat;
int ret;
const version_entry_st *ver = get_version(session);
const gnutls_sign_entry_st *se = _gnutls_sign_to_entry(sign_algo);
- _gnutls_handshake_log
- ("HSK[%p]: verify TLS 1.2 handshake data: using %s\n", session,
- se->name);
+ _gnutls_handshake_log(
+ "HSK[%p]: verify TLS 1.2 handshake data: using %s\n", session,
+ se->name);
- ret =
- _gnutls_pubkey_compatible_with_sig(session,
- cert->pubkey, ver, sign_algo);
+ ret = _gnutls_pubkey_compatible_with_sig(session, cert->pubkey, ver,
+ sign_algo);
if (ret < 0)
return gnutls_assert_val(ret);
- if (unlikely
- (sign_supports_cert_pk_algorithm(se, cert->pubkey->params.algo) ==
- 0)) {
- _gnutls_handshake_log
- ("HSK[%p]: certificate of %s cannot be combined with %s sig\n",
- session, gnutls_pk_get_name(cert->pubkey->params.algo),
- se->name);
+ if (unlikely(sign_supports_cert_pk_algorithm(
+ se, cert->pubkey->params.algo) == 0)) {
+ _gnutls_handshake_log(
+ "HSK[%p]: certificate of %s cannot be combined with %s sig\n",
+ session, gnutls_pk_get_name(cert->pubkey->params.algo),
+ se->name);
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
@@ -335,13 +327,11 @@ _gnutls_handshake_verify_data12(gnutls_session_t session,
return ret;
}
-int
-_gnutls_handshake_verify_data(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- const gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+int _gnutls_handshake_verify_data(gnutls_session_t session,
+ unsigned verify_flags, gnutls_pcert_st *cert,
+ const gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
unsigned key_usage;
int ret;
@@ -373,7 +363,7 @@ _gnutls_handshake_verify_data(gnutls_session_t session,
/* Client certificate verify calculations
*/
-static void _gnutls_reverse_datum(gnutls_datum_t * d)
+static void _gnutls_reverse_datum(gnutls_datum_t *d)
{
unsigned i;
@@ -384,8 +374,8 @@ static void _gnutls_reverse_datum(gnutls_datum_t * d)
}
}
-static int
-_gnutls_create_reverse(const gnutls_datum_t * src, gnutls_datum_t * dst)
+static int _gnutls_create_reverse(const gnutls_datum_t *src,
+ gnutls_datum_t *dst)
{
unsigned int i;
@@ -402,12 +392,9 @@ _gnutls_create_reverse(const gnutls_datum_t * src, gnutls_datum_t * dst)
/* this is _gnutls_handshake_verify_crt_vrfy for TLS 1.2
*/
-static int
-_gnutls_handshake_verify_crt_vrfy12(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_verify_crt_vrfy12(
+ gnutls_session_t session, unsigned verify_flags, gnutls_pcert_st *cert,
+ gnutls_datum_t *signature, gnutls_sign_algorithm_t sign_algo)
{
int ret;
gnutls_datum_t dconcat;
@@ -418,13 +405,12 @@ _gnutls_handshake_verify_crt_vrfy12(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- if (unlikely
- (sign_supports_cert_pk_algorithm(se, cert->pubkey->params.algo) ==
- 0)) {
- _gnutls_handshake_log
- ("HSK[%p]: certificate of %s cannot be combined with %s sig\n",
- session, gnutls_pk_get_name(cert->pubkey->params.algo),
- se->name);
+ if (unlikely(sign_supports_cert_pk_algorithm(
+ se, cert->pubkey->params.algo) == 0)) {
+ _gnutls_handshake_log(
+ "HSK[%p]: certificate of %s cannot be combined with %s sig\n",
+ session, gnutls_pk_get_name(cert->pubkey->params.algo),
+ se->name);
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
@@ -440,36 +426,33 @@ _gnutls_handshake_verify_crt_vrfy12(gnutls_session_t session,
/* Here we intentionally enable flag GNUTLS_VERIFY_ALLOW_BROKEN
* because we have checked whether the currently used signature
* algorithm is allowed in the session. */
- ret =
- gnutls_pubkey_verify_data2(cert->pubkey, sign_algo,
- verify_flags |
- GNUTLS_VERIFY_ALLOW_BROKEN, &dconcat,
- sig_rev.data ? &sig_rev : signature);
+ ret = gnutls_pubkey_verify_data2(
+ cert->pubkey, sign_algo,
+ verify_flags | GNUTLS_VERIFY_ALLOW_BROKEN, &dconcat,
+ sig_rev.data ? &sig_rev : signature);
_gnutls_free_datum(&sig_rev);
if (ret < 0)
gnutls_assert();
return ret;
-
}
/* Verifies a SSL 3.0 signature (like the one in the client certificate
* verify message).
*/
#ifdef ENABLE_SSL3
-static int
-_gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,
+ unsigned verify_flags,
+ gnutls_pcert_st *cert,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
int ret;
uint8_t concat[MAX_SIG_SIZE];
digest_hd_st td_sha;
gnutls_datum_t dconcat;
gnutls_pk_algorithm_t pk =
- gnutls_pubkey_get_pk_algorithm(cert->pubkey, NULL);
+ gnutls_pubkey_get_pk_algorithm(cert->pubkey, NULL);
ret = _gnutls_generate_master(session, 1);
if (ret < 0) {
@@ -490,10 +473,10 @@ _gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,
session->internals.handshake_hash_buffer.data,
session->internals.handshake_hash_buffer_prev_len);
- ret = _gnutls_mac_deinit_ssl3_handshake(&td_md5, concat,
- session->security_parameters.
- master_secret,
- GNUTLS_MASTER_SIZE);
+ ret = _gnutls_mac_deinit_ssl3_handshake(
+ &td_md5, concat,
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -507,16 +490,12 @@ _gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,
return GNUTLS_E_HASH_FAILED;
}
- _gnutls_hash(&td_sha,
- session->internals.handshake_hash_buffer.data,
+ _gnutls_hash(&td_sha, session->internals.handshake_hash_buffer.data,
session->internals.handshake_hash_buffer_prev_len);
- ret =
- _gnutls_mac_deinit_ssl3_handshake(&td_sha,
- dconcat.data + dconcat.size,
- session->security_parameters.
- master_secret,
- GNUTLS_MASTER_SIZE);
+ ret = _gnutls_mac_deinit_ssl3_handshake(
+ &td_sha, dconcat.data + dconcat.size,
+ session->security_parameters.master_secret, GNUTLS_MASTER_SIZE);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -525,7 +504,8 @@ _gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,
ret = gnutls_pubkey_verify_hash2(cert->pubkey, GNUTLS_SIGN_UNKNOWN,
GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 |
- verify_flags, &dconcat, signature);
+ verify_flags,
+ &dconcat, signature);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -533,12 +513,9 @@ _gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,
}
#endif
-static int
-_gnutls_handshake_verify_crt_vrfy10(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+static int _gnutls_handshake_verify_crt_vrfy10(
+ gnutls_session_t session, unsigned verify_flags, gnutls_pcert_st *cert,
+ gnutls_datum_t *signature, gnutls_sign_algorithm_t sign_algo)
{
int ret;
uint8_t concat[MAX_SIG_SIZE];
@@ -563,8 +540,7 @@ _gnutls_handshake_verify_crt_vrfy10(gnutls_session_t session,
return ret;
}
- _gnutls_hash(&td_sha,
- session->internals.handshake_hash_buffer.data,
+ _gnutls_hash(&td_sha, session->internals.handshake_hash_buffer.data,
session->internals.handshake_hash_buffer_prev_len);
_gnutls_hash_deinit(&td_sha, concat);
@@ -574,7 +550,8 @@ _gnutls_handshake_verify_crt_vrfy10(gnutls_session_t session,
ret = gnutls_pubkey_verify_hash2(cert->pubkey, sign_algo,
GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 |
- verify_flags, &dconcat, signature);
+ verify_flags,
+ &dconcat, signature);
if (ret < 0)
gnutls_assert();
@@ -584,12 +561,11 @@ _gnutls_handshake_verify_crt_vrfy10(gnutls_session_t session,
/* Verifies a TLS signature (like the one in the client certificate
* verify message).
*/
-int
-_gnutls_handshake_verify_crt_vrfy(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t sign_algo)
+int _gnutls_handshake_verify_crt_vrfy(gnutls_session_t session,
+ unsigned verify_flags,
+ gnutls_pcert_st *cert,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t sign_algo)
{
int ret;
const version_entry_st *ver = get_version(session);
@@ -606,8 +582,7 @@ _gnutls_handshake_verify_crt_vrfy(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- _gnutls_handshake_log("HSK[%p]: verify cert vrfy: using %s\n",
- session,
+ _gnutls_handshake_log("HSK[%p]: verify cert vrfy: using %s\n", session,
gnutls_sign_algorithm_get_name(sign_algo));
if (unlikely(ver == NULL))
@@ -617,42 +592,34 @@ _gnutls_handshake_verify_crt_vrfy(gnutls_session_t session,
/* TLS 1.2 */
if (_gnutls_version_has_selectable_sighash(ver))
- return _gnutls_handshake_verify_crt_vrfy12(session,
- verify_flags,
- cert,
- signature,
- sign_algo);
+ return _gnutls_handshake_verify_crt_vrfy12(
+ session, verify_flags, cert, signature, sign_algo);
#ifdef ENABLE_SSL3
if (ver->id == GNUTLS_SSL3)
- return _gnutls_handshake_verify_crt_vrfy3(session,
- verify_flags,
- cert,
- signature, sign_algo);
+ return _gnutls_handshake_verify_crt_vrfy3(
+ session, verify_flags, cert, signature, sign_algo);
#endif
/* TLS 1.0 and TLS 1.1 */
- return _gnutls_handshake_verify_crt_vrfy10(session,
- verify_flags,
- cert, signature, sign_algo);
+ return _gnutls_handshake_verify_crt_vrfy10(session, verify_flags, cert,
+ signature, sign_algo);
}
/* the same as _gnutls_handshake_sign_crt_vrfy except that it is made for TLS 1.2.
* Returns the used signature algorithm, or a negative error code.
*/
-static int
-_gnutls_handshake_sign_crt_vrfy12(gnutls_session_t session,
- gnutls_pcert_st * cert,
- gnutls_privkey_t pkey,
- gnutls_datum_t * signature)
+static int _gnutls_handshake_sign_crt_vrfy12(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey,
+ gnutls_datum_t *signature)
{
gnutls_datum_t dconcat;
gnutls_sign_algorithm_t sign_algo;
const gnutls_sign_entry_st *se;
int ret;
- sign_algo =
- _gnutls_session_get_sign_algo(session, cert, pkey, 1,
- GNUTLS_KX_UNKNOWN);
+ sign_algo = _gnutls_session_get_sign_algo(session, cert, pkey, 1,
+ GNUTLS_KX_UNKNOWN);
if (sign_algo == GNUTLS_SIGN_UNKNOWN) {
gnutls_assert();
return GNUTLS_E_UNWANTED_ALGORITHM;
@@ -664,9 +631,8 @@ _gnutls_handshake_sign_crt_vrfy12(gnutls_session_t session,
gnutls_sign_algorithm_set_client(session, sign_algo);
- if (unlikely
- (gnutls_sign_supports_pk_algorithm(sign_algo, pkey->pk_algorithm) ==
- 0))
+ if (unlikely(gnutls_sign_supports_pk_algorithm(
+ sign_algo, pkey->pk_algorithm) == 0))
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
_gnutls_debug_log("sign handshake cert vrfy: picked %s\n",
@@ -675,8 +641,8 @@ _gnutls_handshake_sign_crt_vrfy12(gnutls_session_t session,
dconcat.data = session->internals.handshake_hash_buffer.data;
dconcat.size = session->internals.handshake_hash_buffer.length;
- ret = gnutls_privkey_sign_data2(pkey, sign_algo,
- 0, &dconcat, signature);
+ ret = gnutls_privkey_sign_data2(pkey, sign_algo, 0, &dconcat,
+ signature);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -689,12 +655,11 @@ _gnutls_handshake_sign_crt_vrfy12(gnutls_session_t session,
}
#ifdef ENABLE_SSL3
-static int
-_gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,
- gnutls_pcert_st * cert,
- const version_entry_st * ver,
- gnutls_privkey_t pkey,
- gnutls_datum_t * signature)
+static int _gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ const version_entry_st *ver,
+ gnutls_privkey_t pkey,
+ gnutls_datum_t *signature)
{
gnutls_datum_t dconcat;
int ret;
@@ -703,9 +668,8 @@ _gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,
gnutls_pk_algorithm_t pk = gnutls_privkey_get_pk_algorithm(pkey, NULL);
/* ensure 1024 bit DSA keys are used */
- ret =
- _gnutls_pubkey_compatible_with_sig(session, cert->pubkey, ver,
- GNUTLS_SIGN_UNKNOWN);
+ ret = _gnutls_pubkey_compatible_with_sig(session, cert->pubkey, ver,
+ GNUTLS_SIGN_UNKNOWN);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -728,11 +692,10 @@ _gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,
session->internals.handshake_hash_buffer.data,
session->internals.handshake_hash_buffer.length);
- ret = _gnutls_mac_deinit_ssl3_handshake(&td_md5,
- dconcat.data,
- session->security_parameters.
- master_secret,
- GNUTLS_MASTER_SIZE);
+ ret = _gnutls_mac_deinit_ssl3_handshake(
+ &td_md5, dconcat.data,
+ session->security_parameters.master_secret,
+ GNUTLS_MASTER_SIZE);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -745,15 +708,11 @@ _gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,
return ret;
}
- _gnutls_hash(&td_sha,
- session->internals.handshake_hash_buffer.data,
+ _gnutls_hash(&td_sha, session->internals.handshake_hash_buffer.data,
session->internals.handshake_hash_buffer.length);
- ret =
- _gnutls_mac_deinit_ssl3_handshake(&td_sha,
- dconcat.data + dconcat.size,
- session->security_parameters.
- master_secret,
- GNUTLS_MASTER_SIZE);
+ ret = _gnutls_mac_deinit_ssl3_handshake(
+ &td_sha, dconcat.data + dconcat.size,
+ session->security_parameters.master_secret, GNUTLS_MASTER_SIZE);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -769,12 +728,11 @@ _gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,
}
#endif
-static int
-_gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,
- gnutls_pcert_st * cert,
- const version_entry_st * ver,
- gnutls_privkey_t pkey,
- gnutls_datum_t * signature)
+static int _gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ const version_entry_st *ver,
+ gnutls_privkey_t pkey,
+ gnutls_datum_t *signature)
{
gnutls_datum_t dconcat;
int ret;
@@ -784,9 +742,8 @@ _gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,
const mac_entry_st *me;
/* ensure 1024 bit DSA keys are used */
- ret =
- _gnutls_pubkey_compatible_with_sig(session, cert->pubkey, ver,
- GNUTLS_SIGN_UNKNOWN);
+ ret = _gnutls_pubkey_compatible_with_sig(session, cert->pubkey, ver,
+ GNUTLS_SIGN_UNKNOWN);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -801,8 +758,7 @@ _gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,
return ret;
}
- _gnutls_hash(&td_sha,
- session->internals.handshake_hash_buffer.data,
+ _gnutls_hash(&td_sha, session->internals.handshake_hash_buffer.data,
session->internals.handshake_hash_buffer.length);
_gnutls_hash_deinit(&td_sha, concat);
@@ -810,10 +766,9 @@ _gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,
dconcat.data = concat;
dconcat.size = _gnutls_hash_get_algo_len(me);
- ret =
- gnutls_privkey_sign_hash(pkey, MAC_TO_DIG(me->id),
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- &dconcat, signature);
+ ret = gnutls_privkey_sign_hash(pkey, MAC_TO_DIG(me->id),
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
+ &dconcat, signature);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -832,11 +787,10 @@ _gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,
*
* Returns the used signature algorithm, or a negative error code.
*/
-int
-_gnutls_handshake_sign_crt_vrfy(gnutls_session_t session,
- gnutls_pcert_st * cert,
- gnutls_privkey_t pkey,
- gnutls_datum_t * signature)
+int _gnutls_handshake_sign_crt_vrfy(gnutls_session_t session,
+ gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey,
+ gnutls_datum_t *signature)
{
int ret;
const version_entry_st *ver = get_version(session);
@@ -853,16 +807,16 @@ _gnutls_handshake_sign_crt_vrfy(gnutls_session_t session,
/* TLS 1.2 */
if (_gnutls_version_has_selectable_sighash(ver))
- return _gnutls_handshake_sign_crt_vrfy12(session, cert,
- pkey, signature);
+ return _gnutls_handshake_sign_crt_vrfy12(session, cert, pkey,
+ signature);
- /* TLS 1.1 or earlier */
+ /* TLS 1.1 or earlier */
#ifdef ENABLE_SSL3
if (ver->id == GNUTLS_SSL3)
return _gnutls_handshake_sign_crt_vrfy3(session, cert, ver,
pkey, signature);
#endif
- return _gnutls_handshake_sign_crt_vrfy10(session, cert, ver,
- pkey, signature);
+ return _gnutls_handshake_sign_crt_vrfy10(session, cert, ver, pkey,
+ signature);
}
diff --git a/lib/tls-sig.h b/lib/tls-sig.h
index a445088ddc..0b9ef41047 100644
--- a/lib/tls-sig.h
+++ b/lib/tls-sig.h
@@ -21,43 +21,40 @@
*/
#ifndef GNUTLS_LIB_TLS_SIG_H
-# define GNUTLS_LIB_TLS_SIG_H
+#define GNUTLS_LIB_TLS_SIG_H
-# include <gnutls/abstract.h>
+#include <gnutls/abstract.h>
/* While this is currently equal to the length of RSA/SHA512
* signature, it should also be sufficient for DSS signature and any
* other RSA signatures including one with the old MD5/SHA1-combined
* format.
*/
-# define MAX_SIG_SIZE (19 + MAX_HASH_SIZE)
+#define MAX_SIG_SIZE (19 + MAX_HASH_SIZE)
int _gnutls_check_key_usage_for_sig(gnutls_session_t session,
unsigned key_usage, unsigned our_cert);
int _gnutls_handshake_sign_crt_vrfy(gnutls_session_t session,
- gnutls_pcert_st * cert,
+ gnutls_pcert_st *cert,
gnutls_privkey_t pkey,
- gnutls_datum_t * signature);
+ gnutls_datum_t *signature);
-int _gnutls_handshake_sign_data(gnutls_session_t session,
- gnutls_pcert_st * cert,
- gnutls_privkey_t pkey,
- gnutls_datum_t * params,
- gnutls_datum_t * signature,
- gnutls_sign_algorithm_t * algo);
+int _gnutls_handshake_sign_data(gnutls_session_t session, gnutls_pcert_st *cert,
+ gnutls_privkey_t pkey, gnutls_datum_t *params,
+ gnutls_datum_t *signature,
+ gnutls_sign_algorithm_t *algo);
int _gnutls_handshake_verify_crt_vrfy(gnutls_session_t session,
unsigned verify_flags,
- gnutls_pcert_st * cert,
- gnutls_datum_t * signature,
+ gnutls_pcert_st *cert,
+ gnutls_datum_t *signature,
gnutls_sign_algorithm_t);
int _gnutls_handshake_verify_data(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- const gnutls_datum_t * params,
- gnutls_datum_t * signature,
+ unsigned verify_flags, gnutls_pcert_st *cert,
+ const gnutls_datum_t *params,
+ gnutls_datum_t *signature,
gnutls_sign_algorithm_t algo);
-#endif /* GNUTLS_LIB_TLS_SIG_H */
+#endif /* GNUTLS_LIB_TLS_SIG_H */
diff --git a/lib/tls13-sig.c b/lib/tls13-sig.c
index c80b69e48e..c5e64e8ec7 100644
--- a/lib/tls13-sig.c
+++ b/lib/tls13-sig.c
@@ -34,16 +34,15 @@
#define PREFIX_SIZE 64
#if PREFIX_SIZE < MAX_HASH_SIZE
/* we assume later that prefix is sufficient to store hash output */
-# error Need to modify code
+#error Need to modify code
#endif
-int
-_gnutls13_handshake_verify_data(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- const gnutls_datum_t * context,
- const gnutls_datum_t * signature,
- const gnutls_sign_entry_st * se)
+int _gnutls13_handshake_verify_data(gnutls_session_t session,
+ unsigned verify_flags,
+ gnutls_pcert_st *cert,
+ const gnutls_datum_t *context,
+ const gnutls_datum_t *signature,
+ const gnutls_sign_entry_st *se)
{
int ret;
const version_entry_st *ver = get_version(session);
@@ -52,23 +51,21 @@ _gnutls13_handshake_verify_data(gnutls_session_t session,
unsigned key_usage = 0;
gnutls_datum_t p;
- _gnutls_handshake_log
- ("HSK[%p]: verifying TLS 1.3 handshake data using %s\n", session,
- se->name);
+ _gnutls_handshake_log(
+ "HSK[%p]: verifying TLS 1.3 handshake data using %s\n", session,
+ se->name);
- ret =
- _gnutls_pubkey_compatible_with_sig(session,
- cert->pubkey, ver, se->id);
+ ret = _gnutls_pubkey_compatible_with_sig(session, cert->pubkey, ver,
+ se->id);
if (ret < 0)
return gnutls_assert_val(ret);
- if (unlikely
- (sign_supports_cert_pk_algorithm(se, cert->pubkey->params.algo) ==
- 0)) {
- _gnutls_handshake_log
- ("HSK[%p]: certificate of %s cannot be combined with %s sig\n",
- session, gnutls_pk_get_name(cert->pubkey->params.algo),
- se->name);
+ if (unlikely(sign_supports_cert_pk_algorithm(
+ se, cert->pubkey->params.algo) == 0)) {
+ _gnutls_handshake_log(
+ "HSK[%p]: certificate of %s cannot be combined with %s sig\n",
+ session, gnutls_pk_get_name(cert->pubkey->params.algo),
+ se->name);
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
@@ -76,7 +73,8 @@ _gnutls13_handshake_verify_data(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- if ((se->flags & GNUTLS_SIGN_FLAG_TLS13_OK) == 0) /* explicitly prohibited */
+ if ((se->flags & GNUTLS_SIGN_FLAG_TLS13_OK) ==
+ 0) /* explicitly prohibited */
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
gnutls_pubkey_get_key_usage(cert->pubkey, &key_usage);
@@ -106,20 +104,17 @@ _gnutls13_handshake_verify_data(gnutls_session_t session,
goto cleanup;
}
- ret = gnutls_hash_fast(MAC_TO_DIG(session->security_parameters.prf->id),
- session->internals.handshake_hash_buffer.data,
- session->
- internals.handshake_hash_buffer_prev_len,
- prefix);
+ ret = gnutls_hash_fast(
+ MAC_TO_DIG(session->security_parameters.prf->id),
+ session->internals.handshake_hash_buffer.data,
+ session->internals.handshake_hash_buffer_prev_len, prefix);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data(&buf, prefix,
- session->security_parameters.
- prf->output_size);
+ ret = _gnutls_buffer_append_data(
+ &buf, prefix, session->security_parameters.prf->output_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -137,36 +132,35 @@ _gnutls13_handshake_verify_data(gnutls_session_t session,
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
-int
-_gnutls13_handshake_sign_data(gnutls_session_t session,
- gnutls_pcert_st * cert, gnutls_privkey_t pkey,
- const gnutls_datum_t * context,
- gnutls_datum_t * signature,
- const gnutls_sign_entry_st * se)
+int _gnutls13_handshake_sign_data(gnutls_session_t session,
+ gnutls_pcert_st *cert, gnutls_privkey_t pkey,
+ const gnutls_datum_t *context,
+ gnutls_datum_t *signature,
+ const gnutls_sign_entry_st *se)
{
gnutls_datum_t p;
int ret;
gnutls_buffer_st buf;
uint8_t tmp[MAX_HASH_SIZE];
- if (unlikely
- (se == NULL || (se->flags & GNUTLS_SIGN_FLAG_TLS13_OK) == 0))
+ if (unlikely(se == NULL ||
+ (se->flags & GNUTLS_SIGN_FLAG_TLS13_OK) == 0))
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
- if (unlikely
- (sign_supports_priv_pk_algorithm(se, pkey->pk_algorithm) == 0))
+ if (unlikely(sign_supports_priv_pk_algorithm(se, pkey->pk_algorithm) ==
+ 0))
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
/* when we reach here we know we have a signing certificate */
- _gnutls_handshake_log
- ("HSK[%p]: signing TLS 1.3 handshake data: using %s and PRF: %s\n",
- session, se->name, session->security_parameters.prf->name);
+ _gnutls_handshake_log(
+ "HSK[%p]: signing TLS 1.3 handshake data: using %s and PRF: %s\n",
+ session, se->name, session->security_parameters.prf->name);
_gnutls_buffer_init(&buf);
@@ -200,10 +194,8 @@ _gnutls13_handshake_sign_data(gnutls_session_t session,
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data(&buf, tmp,
- session->security_parameters.
- prf->output_size);
+ ret = _gnutls_buffer_append_data(
+ &buf, tmp, session->security_parameters.prf->output_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -212,18 +204,17 @@ _gnutls13_handshake_sign_data(gnutls_session_t session,
p.data = buf.data;
p.size = buf.length;
- ret = gnutls_privkey_sign_data2(pkey, se->id,
- GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH,
- &p, signature);
+ ret = gnutls_privkey_sign_data2(
+ pkey, se->id, GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH, &p,
+ signature);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
-
}
diff --git a/lib/tls13-sig.h b/lib/tls13-sig.h
index c222403f60..aa680c729b 100644
--- a/lib/tls13-sig.h
+++ b/lib/tls13-sig.h
@@ -21,23 +21,21 @@
*/
#ifndef GNUTLS_LIB_TLS13_SIG_H
-# define GNUTLS_LIB_TLS13_SIG_H
+#define GNUTLS_LIB_TLS13_SIG_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
-int
-_gnutls13_handshake_verify_data(gnutls_session_t session,
- unsigned verify_flags,
- gnutls_pcert_st * cert,
- const gnutls_datum_t * context,
- const gnutls_datum_t * signature,
- const gnutls_sign_entry_st * se);
+int _gnutls13_handshake_verify_data(gnutls_session_t session,
+ unsigned verify_flags,
+ gnutls_pcert_st *cert,
+ const gnutls_datum_t *context,
+ const gnutls_datum_t *signature,
+ const gnutls_sign_entry_st *se);
-int
-_gnutls13_handshake_sign_data(gnutls_session_t session,
- gnutls_pcert_st * cert, gnutls_privkey_t pkey,
- const gnutls_datum_t * context,
- gnutls_datum_t * signature,
- const gnutls_sign_entry_st * se);
+int _gnutls13_handshake_sign_data(gnutls_session_t session,
+ gnutls_pcert_st *cert, gnutls_privkey_t pkey,
+ const gnutls_datum_t *context,
+ gnutls_datum_t *signature,
+ const gnutls_sign_entry_st *se);
-#endif /* GNUTLS_LIB_TLS13_SIG_H */
+#endif /* GNUTLS_LIB_TLS13_SIG_H */
diff --git a/lib/tls13/anti_replay.c b/lib/tls13/anti_replay.c
index 7b41c29241..2f041348eb 100644
--- a/lib/tls13/anti_replay.c
+++ b/lib/tls13/anti_replay.c
@@ -49,7 +49,7 @@ struct gnutls_anti_replay_st {
*
* Since: 3.6.5
**/
-int gnutls_anti_replay_init(gnutls_anti_replay_t * anti_replay)
+int gnutls_anti_replay_init(gnutls_anti_replay_t *anti_replay)
{
*anti_replay = gnutls_calloc(1, sizeof(struct gnutls_anti_replay_st));
if (!*anti_replay)
@@ -78,9 +78,8 @@ int gnutls_anti_replay_init(gnutls_anti_replay_t * anti_replay)
*
* Since: 3.6.5
*/
-void
-gnutls_anti_replay_set_window(gnutls_anti_replay_t anti_replay,
- unsigned int window)
+void gnutls_anti_replay_set_window(gnutls_anti_replay_t anti_replay,
+ unsigned int window)
{
anti_replay->window = window;
}
@@ -108,9 +107,8 @@ void gnutls_anti_replay_deinit(gnutls_anti_replay_t anti_replay)
*
* Since: 3.6.5
**/
-void
-gnutls_anti_replay_enable(gnutls_session_t session,
- gnutls_anti_replay_t anti_replay)
+void gnutls_anti_replay_enable(gnutls_session_t session,
+ gnutls_anti_replay_t anti_replay)
{
if (unlikely(session->security_parameters.entity != GNUTLS_SERVER)) {
gnutls_assert();
@@ -120,11 +118,10 @@ gnutls_anti_replay_enable(gnutls_session_t session,
session->internals.anti_replay = anti_replay;
}
-int
-_gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
- uint32_t client_ticket_age,
- struct timespec *ticket_creation_time,
- gnutls_datum_t * id)
+int _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
+ uint32_t client_ticket_age,
+ struct timespec *ticket_creation_time,
+ gnutls_datum_t *id)
{
struct timespec now;
time_t window;
@@ -132,7 +129,7 @@ _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
gnutls_datum_t key = { NULL, 0 };
gnutls_datum_t entry = { NULL, 0 };
unsigned char key_buffer[MAX_HASH_SIZE + 12];
- unsigned char entry_buffer[12]; /* magic + timestamp + expire_time */
+ unsigned char entry_buffer[12]; /* magic + timestamp + expire_time */
unsigned char *p;
int ret;
@@ -153,8 +150,8 @@ _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
*/
if (_gnutls_timespec_cmp(ticket_creation_time,
&anti_replay->start_time) < 0) {
- _gnutls_handshake_log
- ("anti_replay: ticket is created before recording has started\n");
+ _gnutls_handshake_log(
+ "anti_replay: ticket is created before recording has started\n");
return gnutls_assert_val(GNUTLS_E_EARLY_DATA_REJECTED);
}
@@ -169,9 +166,9 @@ _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
* data.
*/
if (server_ticket_age - client_ticket_age > anti_replay->window) {
- _gnutls_handshake_log
- ("anti_replay: server ticket age: %u, client ticket age: %u\n",
- server_ticket_age, client_ticket_age);
+ _gnutls_handshake_log(
+ "anti_replay: server ticket age: %u, client ticket age: %u\n",
+ server_ticket_age, client_ticket_age);
return gnutls_assert_val(GNUTLS_E_EARLY_DATA_REJECTED);
}
@@ -186,8 +183,7 @@ _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
* the key becomes 44+ octets.
*/
p = key_buffer;
- _gnutls_write_uint32((uint64_t) anti_replay->start_time.tv_sec >> 32,
- p);
+ _gnutls_write_uint32((uint64_t)anti_replay->start_time.tv_sec >> 32, p);
p += 4;
_gnutls_write_uint32(anti_replay->start_time.tv_sec & 0xFFFFFFFF, p);
p += 4;
@@ -214,11 +210,11 @@ _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,
entry.size = p - entry_buffer;
ret = anti_replay->db_add_func(anti_replay->db_ptr,
- (uint64_t) now.tv_sec +
- (uint64_t) window, &key, &entry);
+ (uint64_t)now.tv_sec + (uint64_t)window,
+ &key, &entry);
if (ret < 0) {
- _gnutls_handshake_log
- ("anti_replay: duplicate ClientHello found\n");
+ _gnutls_handshake_log(
+ "anti_replay: duplicate ClientHello found\n");
return gnutls_assert_val(GNUTLS_E_EARLY_DATA_REJECTED);
}
@@ -260,9 +256,8 @@ void gnutls_anti_replay_set_ptr(gnutls_anti_replay_t anti_replay, void *ptr)
*
* Since: 3.6.5
**/
-void
-gnutls_anti_replay_set_add_function(gnutls_anti_replay_t anti_replay,
- gnutls_db_add_func add_func)
+void gnutls_anti_replay_set_add_function(gnutls_anti_replay_t anti_replay,
+ gnutls_db_add_func add_func)
{
anti_replay->db_add_func = add_func;
}
diff --git a/lib/tls13/anti_replay.h b/lib/tls13/anti_replay.h
index e3ff48aa26..5ee91b08b0 100644
--- a/lib/tls13/anti_replay.h
+++ b/lib/tls13/anti_replay.h
@@ -21,11 +21,10 @@
*/
#ifndef GNUTLS_LIB_TLS13_ANTI_REPLAY_H
-# define GNUTLS_LIB_TLS13_ANTI_REPLAY_H
+#define GNUTLS_LIB_TLS13_ANTI_REPLAY_H
-int _gnutls_anti_replay_check(gnutls_anti_replay_t,
- uint32_t client_ticket_age,
+int _gnutls_anti_replay_check(gnutls_anti_replay_t, uint32_t client_ticket_age,
struct timespec *ticket_creation_time,
- gnutls_datum_t * id);
+ gnutls_datum_t *id);
-#endif /* GNUTLS_LIB_TLS13_ANTI_REPLAY_H */
+#endif /* GNUTLS_LIB_TLS13_ANTI_REPLAY_H */
diff --git a/lib/tls13/certificate.c b/lib/tls13/certificate.c
index e071a74aaa..d5fc847c51 100644
--- a/lib/tls13/certificate.c
+++ b/lib/tls13/certificate.c
@@ -31,14 +31,14 @@
#include "ext/compress_certificate.h"
#include "ext/status_request.h"
-static int parse_cert_extension(void *ctx, unsigned tls_id,
- const uint8_t * data, unsigned data_size);
-static int parse_cert_list(gnutls_session_t session, uint8_t * data,
+static int parse_cert_extension(void *ctx, unsigned tls_id, const uint8_t *data,
+ unsigned data_size);
+static int parse_cert_list(gnutls_session_t session, uint8_t *data,
size_t data_size);
-static int compress_certificate(gnutls_buffer_st * buf, unsigned cert_pos_mark,
+static int compress_certificate(gnutls_buffer_st *buf, unsigned cert_pos_mark,
gnutls_compression_method_t comp_method);
static int decompress_certificate(gnutls_session_t session,
- gnutls_buffer_st * buf);
+ gnutls_buffer_st *buf);
int _gnutls13_recv_certificate(gnutls_session_t session)
{
@@ -59,31 +59,27 @@ int _gnutls13_recv_certificate(gnutls_session_t session)
optional = 1;
}
- ret =
- _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_CERTIFICATE_PKT, 0,
- &buf);
+ ret = _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_CERTIFICATE_PKT,
+ 0, &buf);
if (ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) {
/* check if we received compressed certificate */
- err =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
- 0, &buf);
+ err = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT, 0,
+ &buf);
if (err >= 0) {
/* fail if we receive unsolicited compressed certificate */
- if (!
- (session->
- internals.hsk_flags & HSK_COMP_CRT_REQ_SENT))
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET);
+ if (!(session->internals.hsk_flags &
+ HSK_COMP_CRT_REQ_SENT))
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET);
decompress_cert = 1;
ret = err;
}
}
if (ret < 0) {
- if (ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET
- && session->internals.send_cert_req)
+ if (ret == GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET &&
+ session->internals.send_cert_req)
return gnutls_assert_val(GNUTLS_E_NO_CERTIFICATE_FOUND);
return gnutls_assert_val(ret);
@@ -117,10 +113,10 @@ int _gnutls13_recv_certificate(gnutls_session_t session)
}
if (context.size !=
- session->internals.post_handshake_cr_context.size
- || memcmp(context.data,
- session->internals.post_handshake_cr_context.data,
- context.size) != 0) {
+ session->internals.post_handshake_cr_context.size ||
+ memcmp(context.data,
+ session->internals.post_handshake_cr_context.data,
+ context.size) != 0) {
ret = GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER;
gnutls_assert();
goto cleanup;
@@ -157,7 +153,7 @@ int _gnutls13_recv_certificate(gnutls_session_t session)
session->internals.hsk_flags |= HSK_CRT_VRFY_EXPECTED;
ret = 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
@@ -170,8 +166,7 @@ struct ocsp_req_ctx_st {
gnutls_certificate_credentials_t cred;
};
-static
-int append_status_request(void *_ctx, gnutls_buffer_st * buf)
+static int append_status_request(void *_ctx, gnutls_buffer_st *buf)
{
struct ocsp_req_ctx_st *ctx = _ctx;
gnutls_session_t session = ctx->session;
@@ -184,41 +179,39 @@ int append_status_request(void *_ctx, gnutls_buffer_st * buf)
/* The global ocsp callback function can only be used to return
* a single certificate request */
- if (session->internals.selected_ocsp_length == 1
- && ctx->cert_index != 0)
+ if (session->internals.selected_ocsp_length == 1 &&
+ ctx->cert_index != 0)
return 0;
if (session->internals.selected_ocsp_length > 0) {
if (ctx->cert_index < session->internals.selected_ocsp_length) {
- if ((session->internals.
- selected_ocsp[ctx->cert_index].exptime != 0
- && gnutls_time(0) >=
- session->internals.selected_ocsp[ctx->
- cert_index].exptime)
- || session->internals.
- selected_ocsp[ctx->cert_index].response.data ==
- NULL) {
+ if ((session->internals.selected_ocsp[ctx->cert_index]
+ .exptime != 0 &&
+ gnutls_time(0) >=
+ session->internals
+ .selected_ocsp[ctx->cert_index]
+ .exptime) ||
+ session->internals.selected_ocsp[ctx->cert_index]
+ .response.data == NULL) {
return 0;
}
- resp.data =
- session->internals.selected_ocsp[ctx->
- cert_index].response.
- data;
- resp.size =
- session->internals.selected_ocsp[ctx->
- cert_index].response.
- size;
+ resp.data = session->internals
+ .selected_ocsp[ctx->cert_index]
+ .response.data;
+ resp.size = session->internals
+ .selected_ocsp[ctx->cert_index]
+ .response.size;
ret = 0;
} else {
return 0;
}
} else if (session->internals.selected_ocsp_func) {
if (ctx->cert_index == 0) {
- ret =
- session->internals.selected_ocsp_func(session,
- session->internals.selected_ocsp_func_ptr,
- &resp);
+ ret = session->internals.selected_ocsp_func(
+ session,
+ session->internals.selected_ocsp_func_ptr,
+ &resp);
free_resp = 1;
} else {
return 0;
@@ -245,7 +238,7 @@ int append_status_request(void *_ctx, gnutls_buffer_st * buf)
}
ret = 0;
- cleanup:
+cleanup:
if (free_resp)
gnutls_free(resp.data);
return ret;
@@ -268,8 +261,8 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
comp_method = gnutls_compress_certificate_get_selected_method(session);
compress_cert = comp_method != GNUTLS_COMP_UNKNOWN;
- h_type = compress_cert ? GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT
- : GNUTLS_HANDSHAKE_CERTIFICATE_PKT;
+ h_type = compress_cert ? GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT :
+ GNUTLS_HANDSHAKE_CERTIFICATE_PKT;
if (again == 0) {
if (!session->internals.initial_negotiation_completed &&
@@ -280,8 +273,8 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
session->internals.resumed)
return 0;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -305,9 +298,12 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
cert_pos_mark = buf.length;
if (session->security_parameters.entity == GNUTLS_CLIENT) {
- ret = _gnutls_buffer_append_data_prefix(&buf, 8,
- session->internals.post_handshake_cr_context.data,
- session->internals.post_handshake_cr_context.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 8,
+ session->internals.post_handshake_cr_context
+ .data,
+ session->internals.post_handshake_cr_context
+ .size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -330,11 +326,9 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
}
for (i = 0; i < (unsigned)apr_cert_list_length; i++) {
- ret = _gnutls_buffer_append_data_prefix(&buf, 24,
- apr_cert_list
- [i].cert.data,
- apr_cert_list
- [i].cert.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 24, apr_cert_list[i].cert.data,
+ apr_cert_list[i].cert.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -342,13 +336,12 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
#ifdef ENABLE_OCSP
if ((session->internals.selected_ocsp_length > 0 ||
session->internals.selected_ocsp_func) &&
- (((session->
- internals.hsk_flags & HSK_OCSP_REQUESTED)
- && IS_SERVER(session))
- ||
- ((session->
- internals.hsk_flags & HSK_CLIENT_OCSP_REQUESTED)
- && !IS_SERVER(session)))) {
+ (((session->internals.hsk_flags &
+ HSK_OCSP_REQUESTED) &&
+ IS_SERVER(session)) ||
+ ((session->internals.hsk_flags &
+ HSK_CLIENT_OCSP_REQUESTED) &&
+ !IS_SERVER(session)))) {
/* append status response if available */
ret = _gnutls_extv_append_init(&buf);
if (ret < 0) {
@@ -361,19 +354,16 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
ctx.cert_index = i;
ctx.session = session;
ctx.cred = cred;
- ret =
- _gnutls_extv_append(&buf,
- STATUS_REQUEST_TLS_ID,
- &ctx,
- append_status_request);
+ ret = _gnutls_extv_append(
+ &buf, STATUS_REQUEST_TLS_ID, &ctx,
+ append_status_request);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_extv_append_final(&buf,
- ext_pos_mark, 0);
+ ret = _gnutls_extv_append_final(
+ &buf, ext_pos_mark, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -393,9 +383,8 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
&buf.data[pos_mark]);
if (compress_cert) {
- ret =
- compress_certificate(&buf, cert_pos_mark,
- comp_method);
+ ret = compress_certificate(&buf, cert_pos_mark,
+ comp_method);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -407,7 +396,7 @@ int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
return _gnutls_send_handshake(session, bufel, h_type);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -419,7 +408,7 @@ typedef struct crt_cert_ctx_st {
} crt_cert_ctx_st;
static int parse_cert_extension(void *_ctx, unsigned tls_id,
- const uint8_t * data, unsigned data_size)
+ const uint8_t *data, unsigned data_size)
{
crt_cert_ctx_st *ctx = _ctx;
gnutls_session_t session = ctx->session;
@@ -427,8 +416,8 @@ static int parse_cert_extension(void *_ctx, unsigned tls_id,
if (tls_id == STATUS_REQUEST_TLS_ID) {
#ifdef ENABLE_OCSP
- if (!_gnutls_hello_ext_is_present
- (session, ext_mod_status_request.gid)) {
+ if (!_gnutls_hello_ext_is_present(session,
+ ext_mod_status_request.gid)) {
gnutls_assert();
goto unexpected;
}
@@ -436,9 +425,8 @@ static int parse_cert_extension(void *_ctx, unsigned tls_id,
_gnutls_handshake_log("Found OCSP response on cert %d\n",
ctx->idx);
- ret =
- _gnutls_parse_ocsp_response(session, data, data_size,
- ctx->ocsp);
+ ret = _gnutls_parse_ocsp_response(session, data, data_size,
+ ctx->ocsp);
if (ret < 0)
return gnutls_assert_val(ret);
#endif
@@ -448,14 +436,14 @@ static int parse_cert_extension(void *_ctx, unsigned tls_id,
return 0;
- unexpected:
+unexpected:
_gnutls_debug_log("received unexpected certificate extension (%d)\n",
(int)tls_id);
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
}
-static int
-parse_cert_list(gnutls_session_t session, uint8_t * data, size_t data_size)
+static int parse_cert_list(gnutls_session_t session, uint8_t *data,
+ size_t data_size)
{
int ret;
size_t len;
@@ -470,16 +458,15 @@ parse_cert_list(gnutls_session_t session, uint8_t * data, size_t data_size)
gnutls_datum_t *peer_ocsp = NULL;
unsigned nentries = 0;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
}
- if ((ret =
- _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
- sizeof(cert_auth_info_st), 1)) < 0) {
+ if ((ret = _gnutls_auth_info_init(session, GNUTLS_CRD_CERTIFICATE,
+ sizeof(cert_auth_info_st), 1)) < 0) {
gnutls_assert();
return ret;
}
@@ -509,9 +496,8 @@ parse_cert_list(gnutls_session_t session, uint8_t * data, size_t data_size)
DECR_LEN(data_size, 3);
len = _gnutls_read_uint24(p);
if (len == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+ return gnutls_assert_val(
+ GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
DECR_LEN(data_size, len);
p += len + 3;
@@ -579,8 +565,8 @@ parse_cert_list(gnutls_session_t session, uint8_t * data, size_t data_size)
ctx.ocsp = &peer_ocsp[j];
ctx.idx = j;
- ret =
- _gnutls_extv_parse(&ctx, parse_cert_extension, p, len + 2);
+ ret = _gnutls_extv_parse(&ctx, parse_cert_extension, p,
+ len + 2);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -609,7 +595,7 @@ parse_cert_list(gnutls_session_t session, uint8_t * data, size_t data_size)
return 0;
- cleanup:
+cleanup:
for (j = 0; j < npeer_certs; j++)
gnutls_free(peer_certs[j].data);
@@ -618,12 +604,10 @@ parse_cert_list(gnutls_session_t session, uint8_t * data, size_t data_size)
gnutls_free(peer_certs);
gnutls_free(peer_ocsp);
return ret;
-
}
-static int
-compress_certificate(gnutls_buffer_st * buf, unsigned cert_pos_mark,
- gnutls_compression_method_t comp_method)
+static int compress_certificate(gnutls_buffer_st *buf, unsigned cert_pos_mark,
+ gnutls_compression_method_t comp_method)
{
int ret, method_num;
size_t comp_bound;
@@ -642,9 +626,8 @@ compress_certificate(gnutls_buffer_st * buf, unsigned cert_pos_mark,
comp.data = gnutls_malloc(comp_bound);
if (comp.data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret =
- _gnutls_compress(comp_method, comp.data, comp_bound, plain.data,
- plain.size);
+ ret = _gnutls_compress(comp_method, comp.data, comp_bound, plain.data,
+ plain.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -668,13 +651,13 @@ compress_certificate(gnutls_buffer_st * buf, unsigned cert_pos_mark,
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_free(comp.data);
return ret;
}
-static int
-decompress_certificate(gnutls_session_t session, gnutls_buffer_st * buf)
+static int decompress_certificate(gnutls_session_t session,
+ gnutls_buffer_st *buf)
{
int ret;
size_t method_num, plain_exp_len;
@@ -686,8 +669,8 @@ decompress_certificate(gnutls_session_t session, gnutls_buffer_st * buf)
return gnutls_assert_val(ret);
comp_method = _gnutls_compress_certificate_num2method(method_num);
- if (!_gnutls_compress_certificate_is_method_enabled
- (session, comp_method))
+ if (!_gnutls_compress_certificate_is_method_enabled(session,
+ comp_method))
return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
ret = _gnutls_buffer_pop_prefix24(buf, &plain_exp_len, 0);
@@ -701,9 +684,8 @@ decompress_certificate(gnutls_session_t session, gnutls_buffer_st * buf)
plain.data = gnutls_malloc(plain_exp_len);
if (plain.data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- ret =
- _gnutls_decompress(comp_method, plain.data, plain_exp_len,
- comp.data, comp.size);
+ ret = _gnutls_decompress(comp_method, plain.data, plain_exp_len,
+ comp.data, comp.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -723,7 +705,7 @@ decompress_certificate(gnutls_session_t session, gnutls_buffer_st * buf)
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_free(plain.data);
return ret;
}
diff --git a/lib/tls13/certificate.h b/lib/tls13/certificate.h
index a0505d560b..6f46cc2dd6 100644
--- a/lib/tls13/certificate.h
+++ b/lib/tls13/certificate.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_TLS13_CERTIFICATE_H
-# define GNUTLS_LIB_TLS13_CERTIFICATE_H
+#define GNUTLS_LIB_TLS13_CERTIFICATE_H
int _gnutls13_recv_certificate(gnutls_session_t session);
int _gnutls13_send_certificate(gnutls_session_t session, unsigned again);
-#endif /* GNUTLS_LIB_TLS13_CERTIFICATE_H */
+#endif /* GNUTLS_LIB_TLS13_CERTIFICATE_H */
diff --git a/lib/tls13/certificate_request.c b/lib/tls13/certificate_request.c
index 1dd92628b5..8a8a1499af 100644
--- a/lib/tls13/certificate_request.c
+++ b/lib/tls13/certificate_request.c
@@ -42,13 +42,12 @@ typedef struct crt_req_ctx_st {
unsigned got_sig_algo;
gnutls_pk_algorithm_t pk_algos[MAX_ALGOS];
unsigned pk_algos_length;
- const uint8_t *rdn; /* pointer inside the message buffer */
+ const uint8_t *rdn; /* pointer inside the message buffer */
unsigned rdn_size;
} crt_req_ctx_st;
static unsigned is_algo_in_list(gnutls_pk_algorithm_t algo,
- gnutls_pk_algorithm_t * list,
- unsigned list_size)
+ gnutls_pk_algorithm_t *list, unsigned list_size)
{
unsigned j;
@@ -59,9 +58,8 @@ static unsigned is_algo_in_list(gnutls_pk_algorithm_t algo,
return 0;
}
-static
-int parse_cert_extension(void *_ctx, unsigned tls_id, const uint8_t * data,
- unsigned data_size)
+static int parse_cert_extension(void *_ctx, unsigned tls_id,
+ const uint8_t *data, unsigned data_size)
{
crt_req_ctx_st *ctx = _ctx;
gnutls_session_t session = ctx->session;
@@ -78,28 +76,25 @@ int parse_cert_extension(void *_ctx, unsigned tls_id, const uint8_t * data,
unsigned i;
if (ctx->got_sig_algo)
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION);
ctx->got_sig_algo = 1;
if (data_size < 2)
- return
- gnutls_assert_val
- (GNUTLS_E_TLS_PACKET_DECODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_TLS_PACKET_DECODING_ERROR);
v = _gnutls_read_uint16(data);
if (v != data_size - 2)
- return
- gnutls_assert_val
- (GNUTLS_E_TLS_PACKET_DECODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_TLS_PACKET_DECODING_ERROR);
data += 2;
data_size -= 2;
- ret =
- _gnutls_sign_algorithm_parse_data(session, data, data_size);
+ ret = _gnutls_sign_algorithm_parse_data(session, data,
+ data_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -117,8 +112,8 @@ int parse_cert_extension(void *_ctx, unsigned tls_id, const uint8_t * data,
sizeof(ctx->pk_algos) / sizeof(ctx->pk_algos[0]))
break;
- if (is_algo_in_list
- (se->pk, ctx->pk_algos, ctx->pk_algos_length))
+ if (is_algo_in_list(se->pk, ctx->pk_algos,
+ ctx->pk_algos_length))
continue;
ctx->pk_algos[ctx->pk_algos_length++] = se->pk;
@@ -126,31 +121,28 @@ int parse_cert_extension(void *_ctx, unsigned tls_id, const uint8_t * data,
#ifdef ENABLE_OCSP
} else if (tls_id == ext_mod_status_request.tls_id) {
if (data_size != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_TLS_PACKET_DECODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_TLS_PACKET_DECODING_ERROR);
/* we are now allowed to send OCSP staples */
session->internals.hsk_flags |= HSK_CLIENT_OCSP_REQUESTED;
#endif
} else if (tls_id == EXTID_CERTIFICATE_AUTHORITIES) {
if (data_size < 3) {
- return
- gnutls_assert_val
- (GNUTLS_E_TLS_PACKET_DECODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_TLS_PACKET_DECODING_ERROR);
}
v = _gnutls_read_uint16(data);
if (v != data_size - 2)
- return
- gnutls_assert_val
- (GNUTLS_E_TLS_PACKET_DECODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_TLS_PACKET_DECODING_ERROR);
ctx->rdn = data + 2;
ctx->rdn_size = v;
} else if (tls_id == ext_mod_compress_certificate.tls_id) {
- ret = _gnutls_compress_certificate_recv_params(session,
- data, data_size);
+ ret = _gnutls_compress_certificate_recv_params(session, data,
+ data_size);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -160,7 +152,7 @@ int parse_cert_extension(void *_ctx, unsigned tls_id, const uint8_t * data,
}
int _gnutls13_recv_certificate_request_int(gnutls_session_t session,
- gnutls_buffer_st * buf)
+ gnutls_buffer_st *buf)
{
int ret;
crt_req_ctx_st ctx;
@@ -178,9 +170,8 @@ int _gnutls13_recv_certificate_request_int(gnutls_session_t session,
if (!session->internals.initial_negotiation_completed) {
if (buf->data[0] != 0) {
/* The context field must be empty during handshake */
- return
- gnutls_assert_val
- (GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+ return gnutls_assert_val(
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
}
/* buf->length is positive */
@@ -194,10 +185,9 @@ int _gnutls13_recv_certificate_request_int(gnutls_session_t session,
return gnutls_assert_val(ret);
gnutls_free(session->internals.post_handshake_cr_context.data);
- ret =
- _gnutls_set_datum(&session->
- internals.post_handshake_cr_context,
- context.data, context.size);
+ ret = _gnutls_set_datum(
+ &session->internals.post_handshake_cr_context,
+ context.data, context.size);
if (ret < 0)
return gnutls_assert_val(ret);
}
@@ -205,9 +195,8 @@ int _gnutls13_recv_certificate_request_int(gnutls_session_t session,
memset(&ctx, 0, sizeof(ctx));
ctx.session = session;
- ret =
- _gnutls_extv_parse(&ctx, parse_cert_extension, buf->data,
- buf->length);
+ ret = _gnutls_extv_parse(&ctx, parse_cert_extension, buf->data,
+ buf->length);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -230,14 +219,13 @@ int _gnutls13_recv_certificate_request_int(gnutls_session_t session,
if (apr_cert_list_length > 0) {
gnutls_sign_algorithm_t algo;
- algo =
- _gnutls_session_get_sign_algo(session, &apr_cert_list[0],
- apr_pkey, 0,
- GNUTLS_KX_UNKNOWN);
+ algo = _gnutls_session_get_sign_algo(session, &apr_cert_list[0],
+ apr_pkey, 0,
+ GNUTLS_KX_UNKNOWN);
if (algo == GNUTLS_SIGN_UNKNOWN) {
- _gnutls_handshake_log
- ("HSK[%p]: rejecting client auth because of no suitable signature algorithm\n",
- session);
+ _gnutls_handshake_log(
+ "HSK[%p]: rejecting client auth because of no suitable signature algorithm\n",
+ session);
_gnutls_selected_certs_deinit(session);
return gnutls_assert_val(0);
}
@@ -260,10 +248,8 @@ int _gnutls13_recv_certificate_request(gnutls_session_t session)
if (unlikely(session->security_parameters.entity != GNUTLS_CLIENT))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST, 1,
- &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST, 1, &buf);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -279,8 +265,7 @@ int _gnutls13_recv_certificate_request(gnutls_session_t session)
return ret;
}
-static
-int write_certificate_authorities(void *ctx, gnutls_buffer_st * buf)
+static int write_certificate_authorities(void *ctx, gnutls_buffer_st *buf)
{
gnutls_session_t session = ctx;
gnutls_certificate_credentials_t cred;
@@ -288,8 +273,8 @@ int write_certificate_authorities(void *ctx, gnutls_buffer_st * buf)
if (session->internals.ignore_rdn_sequence != 0)
return 0;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
@@ -298,15 +283,12 @@ int write_certificate_authorities(void *ctx, gnutls_buffer_st * buf)
if (cred->tlist->x509_rdn_sequence.size == 0)
return 0;
- return
- _gnutls_buffer_append_data_prefix(buf, 16,
- cred->tlist->x509_rdn_sequence.
- data,
- cred->tlist->x509_rdn_sequence.
- size);
+ return _gnutls_buffer_append_data_prefix(
+ buf, 16, cred->tlist->x509_rdn_sequence.data,
+ cred->tlist->x509_rdn_sequence.size);
}
-static int append_empty_ext(void *ctx, gnutls_buffer_st * buf)
+static int append_empty_ext(void *ctx, gnutls_buffer_st *buf)
{
return GNUTLS_E_INT_RET_0;
}
@@ -329,38 +311,40 @@ int _gnutls13_send_certificate_request(gnutls_session_t session, unsigned again)
if (session->internals.send_cert_req == 0)
return 0;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (cred == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_INSUFFICIENT_CREDENTIALS);
+ return gnutls_assert_val(
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS);
ret = _gnutls_buffer_init_handshake_mbuffer(&buf);
if (ret < 0)
return gnutls_assert_val(ret);
- if (session->internals.initial_negotiation_completed) { /* reauth */
+ if (session->internals
+ .initial_negotiation_completed) { /* reauth */
ret = gnutls_rnd(GNUTLS_RND_NONCE, rnd, sizeof(rnd));
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- gnutls_free(session->
- internals.post_handshake_cr_context.data);
- ret =
- _gnutls_set_datum(&session->
- internals.post_handshake_cr_context,
- rnd, sizeof(rnd));
+ gnutls_free(session->internals.post_handshake_cr_context
+ .data);
+ ret = _gnutls_set_datum(
+ &session->internals.post_handshake_cr_context,
+ rnd, sizeof(rnd));
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret = _gnutls_buffer_append_data_prefix(&buf, 8,
- session->internals.post_handshake_cr_context.data,
- session->internals.post_handshake_cr_context.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 8,
+ session->internals.post_handshake_cr_context
+ .data,
+ session->internals.post_handshake_cr_context
+ .size);
} else {
ret = _gnutls_buffer_append_prefix(&buf, 8, 0);
}
@@ -377,26 +361,25 @@ int _gnutls13_send_certificate_request(gnutls_session_t session, unsigned again)
}
init_pos = ret;
- ret = _gnutls_extv_append(&buf, ext_mod_sig.tls_id, session,
- (extv_append_func)
- _gnutls_sign_algorithm_write_params);
+ ret = _gnutls_extv_append(
+ &buf, ext_mod_sig.tls_id, session,
+ (extv_append_func)_gnutls_sign_algorithm_write_params);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_extv_append(&buf, EXTID_CERTIFICATE_AUTHORITIES,
- session, write_certificate_authorities);
+ ret = _gnutls_extv_append(&buf, EXTID_CERTIFICATE_AUTHORITIES,
+ session,
+ write_certificate_authorities);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
#ifdef ENABLE_OCSP
/* We always advertise our support for OCSP stapling */
- ret =
- _gnutls_extv_append(&buf, ext_mod_status_request.tls_id,
- session, append_empty_ext);
+ ret = _gnutls_extv_append(&buf, ext_mod_status_request.tls_id,
+ session, append_empty_ext);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -404,11 +387,10 @@ int _gnutls13_send_certificate_request(gnutls_session_t session, unsigned again)
session->internals.hsk_flags |= HSK_CLIENT_OCSP_REQUESTED;
#endif
- ret =
- _gnutls_extv_append(&buf,
- ext_mod_compress_certificate.tls_id,
- session, (extv_append_func)
- _gnutls_compress_certificate_send_params);
+ ret = _gnutls_extv_append(
+ &buf, ext_mod_compress_certificate.tls_id, session,
+ (extv_append_func)
+ _gnutls_compress_certificate_send_params);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -428,8 +410,7 @@ int _gnutls13_send_certificate_request(gnutls_session_t session, unsigned again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
-
}
diff --git a/lib/tls13/certificate_request.h b/lib/tls13/certificate_request.h
index 3f0c9e29f0..226047d932 100644
--- a/lib/tls13/certificate_request.h
+++ b/lib/tls13/certificate_request.h
@@ -21,13 +21,13 @@
*/
#ifndef GNUTLS_LIB_TLS13_CERTIFICATE_REQUEST_H
-# define GNUTLS_LIB_TLS13_CERTIFICATE_REQUEST_H
+#define GNUTLS_LIB_TLS13_CERTIFICATE_REQUEST_H
int _gnutls13_recv_certificate_request(gnutls_session_t session);
int _gnutls13_recv_certificate_request_int(gnutls_session_t session,
- gnutls_buffer_st * buf);
+ gnutls_buffer_st *buf);
int _gnutls13_send_certificate_request(gnutls_session_t session,
unsigned again);
-#endif /* GNUTLS_LIB_TLS13_CERTIFICATE_REQUEST_H */
+#endif /* GNUTLS_LIB_TLS13_CERTIFICATE_REQUEST_H */
diff --git a/lib/tls13/certificate_verify.c b/lib/tls13/certificate_verify.c
index fdb9f6da0d..1cca457ec1 100644
--- a/lib/tls13/certificate_verify.c
+++ b/lib/tls13/certificate_verify.c
@@ -31,14 +31,10 @@
#include "tls13/certificate_verify.h"
#define SRV_CTX "TLS 1.3, server CertificateVerify"
-static const gnutls_datum_t srv_ctx = {
- (void *)SRV_CTX, sizeof(SRV_CTX) - 1
-};
+static const gnutls_datum_t srv_ctx = { (void *)SRV_CTX, sizeof(SRV_CTX) - 1 };
#define CLI_CTX "TLS 1.3, client CertificateVerify"
-static const gnutls_datum_t cli_ctx = {
- (void *)CLI_CTX, sizeof(CLI_CTX) - 1
-};
+static const gnutls_datum_t cli_ctx = { (void *)CLI_CTX, sizeof(CLI_CTX) - 1 };
int _gnutls13_recv_certificate_verify(gnutls_session_t session)
{
@@ -50,7 +46,7 @@ int _gnutls13_recv_certificate_verify(gnutls_session_t session)
unsigned vflags;
gnutls_pcert_st peer_cert;
cert_auth_info_t info =
- _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
+ _gnutls_get_auth_info(session, GNUTLS_CRD_CERTIFICATE);
bool server = 0;
gnutls_certificate_type_t cert_type;
@@ -64,16 +60,15 @@ int _gnutls13_recv_certificate_verify(gnutls_session_t session)
if (session->security_parameters.entity == GNUTLS_SERVER)
server = 1;
- cred = (gnutls_certificate_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_CERTIFICATE);
+ cred = (gnutls_certificate_credentials_t)_gnutls_get_cred(
+ session, GNUTLS_CRD_CERTIFICATE);
if (unlikely(cred == NULL))
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
if (unlikely(info == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- ret =
- _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY,
- 0, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY, 0, &buf);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -127,8 +122,8 @@ int _gnutls13_recv_certificate_verify(gnutls_session_t session)
goto cleanup;
}
- vflags =
- cred->verify_flags | session->internals.additional_verify_flags;
+ vflags = cred->verify_flags |
+ session->internals.additional_verify_flags;
ret = _gnutls13_handshake_verify_data(session, vflags, &peer_cert,
server ? (&cli_ctx) : (&srv_ctx),
@@ -145,7 +140,7 @@ int _gnutls13_recv_certificate_verify(gnutls_session_t session)
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pcert_deinit(&peer_cert);
_gnutls_buffer_clear(&buf);
return ret;
@@ -184,9 +179,8 @@ int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned again)
if (apr_cert_list_length == 0) {
if (server) {
- return
- gnutls_assert_val
- (GNUTLS_E_INSUFFICIENT_CREDENTIALS);
+ return gnutls_assert_val(
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS);
} else {
/* for client, this means either we
* didn't get a cert request or we are
@@ -197,15 +191,13 @@ int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned again)
}
if (server) {
- algo =
- _gnutls_session_get_sign_algo(session,
- &apr_cert_list[0],
- apr_pkey, 0,
- GNUTLS_KX_UNKNOWN);
+ algo = _gnutls_session_get_sign_algo(session,
+ &apr_cert_list[0],
+ apr_pkey, 0,
+ GNUTLS_KX_UNKNOWN);
if (algo == GNUTLS_SIGN_UNKNOWN)
- return
- gnutls_assert_val
- (GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
+ return gnutls_assert_val(
+ GNUTLS_E_INCOMPATIBLE_SIG_WITH_KEY);
gnutls_sign_algorithm_set_server(session, algo);
} else {
@@ -213,16 +205,15 @@ int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned again)
* determined from Certificate Request */
algo = gnutls_sign_algorithm_get_client(session);
if (unlikely(algo == GNUTLS_SIGN_UNKNOWN))
- return
- gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
se = _gnutls_sign_to_entry(algo);
- ret =
- _gnutls13_handshake_sign_data(session, &apr_cert_list[0],
- apr_pkey, server ? (&srv_ctx)
- : (&cli_ctx), &sig, se);
+ ret = _gnutls13_handshake_sign_data(
+ session, &apr_cert_list[0], apr_pkey,
+ server ? (&srv_ctx) : (&cli_ctx), &sig, se);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -238,9 +229,8 @@ int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned again)
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data_prefix(&buf, 16, sig.data,
- sig.size);
+ ret = _gnutls_buffer_append_data_prefix(&buf, 16, sig.data,
+ sig.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -254,7 +244,7 @@ int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY);
- cleanup:
+cleanup:
gnutls_free(sig.data);
_gnutls_buffer_clear(&buf);
return ret;
diff --git a/lib/tls13/certificate_verify.h b/lib/tls13/certificate_verify.h
index ece2df3f77..9d4ce3135f 100644
--- a/lib/tls13/certificate_verify.h
+++ b/lib/tls13/certificate_verify.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_TLS13_CERTIFICATE_VERIFY_H
-# define GNUTLS_LIB_TLS13_CERTIFICATE_VERIFY_H
+#define GNUTLS_LIB_TLS13_CERTIFICATE_VERIFY_H
int _gnutls13_recv_certificate_verify(gnutls_session_t session);
int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned again);
-#endif /* GNUTLS_LIB_TLS13_CERTIFICATE_VERIFY_H */
+#endif /* GNUTLS_LIB_TLS13_CERTIFICATE_VERIFY_H */
diff --git a/lib/tls13/early_data.c b/lib/tls13/early_data.c
index 5dc74c325e..4be998825c 100644
--- a/lib/tls13/early_data.c
+++ b/lib/tls13/early_data.c
@@ -33,12 +33,10 @@ int _gnutls13_send_early_data(gnutls_session_t session)
return 0;
while (session->internals.early_data_presend_buffer.length > 0) {
- ret =
- gnutls_record_send(session,
- session->internals.
- early_data_presend_buffer.data,
- session->internals.
- early_data_presend_buffer.length);
+ ret = gnutls_record_send(
+ session,
+ session->internals.early_data_presend_buffer.data,
+ session->internals.early_data_presend_buffer.length);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -85,10 +83,8 @@ int _gnutls13_recv_end_of_early_data(gnutls_session_t session)
return 0;
if (!(session->internals.flags & GNUTLS_NO_END_OF_EARLY_DATA)) {
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_END_OF_EARLY_DATA,
- 0, &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_END_OF_EARLY_DATA, 0, &buf);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -102,7 +98,7 @@ int _gnutls13_recv_end_of_early_data(gnutls_session_t session)
session->internals.hsk_flags &= ~HSK_EARLY_DATA_IN_FLIGHT;
ret = 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
diff --git a/lib/tls13/early_data.h b/lib/tls13/early_data.h
index 004365605f..6fef12c107 100644
--- a/lib/tls13/early_data.h
+++ b/lib/tls13/early_data.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_TLS13_EARLY_DATA_H
-# define GNUTLS_LIB_TLS13_EARLY_DATA_H
+#define GNUTLS_LIB_TLS13_EARLY_DATA_H
int _gnutls13_send_end_of_early_data(gnutls_session_t session, unsigned again);
int _gnutls13_recv_end_of_early_data(gnutls_session_t session);
int _gnutls13_send_early_data(gnutls_session_t session);
-#endif /* GNUTLS_LIB_TLS13_EARLY_DATA_H */
+#endif /* GNUTLS_LIB_TLS13_EARLY_DATA_H */
diff --git a/lib/tls13/encrypted_extensions.c b/lib/tls13/encrypted_extensions.c
index 9821913fad..651f789123 100644
--- a/lib/tls13/encrypted_extensions.c
+++ b/lib/tls13/encrypted_extensions.c
@@ -32,19 +32,16 @@ int _gnutls13_recv_encrypted_extensions(gnutls_session_t session)
int ret;
gnutls_buffer_st buf;
- ret =
- _gnutls_recv_handshake(session,
- GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS, 0,
- &buf);
+ ret = _gnutls_recv_handshake(
+ session, GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS, 0, &buf);
if (ret < 0)
return gnutls_assert_val(ret);
_gnutls_handshake_log("HSK[%p]: parsing encrypted extensions\n",
session);
- ret =
- _gnutls_parse_hello_extensions(session, GNUTLS_EXT_FLAG_EE,
- GNUTLS_EXT_ANY, buf.data,
- buf.length);
+ ret = _gnutls_parse_hello_extensions(session, GNUTLS_EXT_FLAG_EE,
+ GNUTLS_EXT_ANY, buf.data,
+ buf.length);
_gnutls_buffer_clear(&buf);
if (ret < 0)
@@ -65,10 +62,8 @@ int _gnutls13_send_encrypted_extensions(gnutls_session_t session,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_gen_hello_extensions(session, &buf,
- GNUTLS_EXT_FLAG_EE,
- GNUTLS_EXT_ANY);
+ ret = _gnutls_gen_hello_extensions(
+ session, &buf, GNUTLS_EXT_FLAG_EE, GNUTLS_EXT_ANY);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -80,7 +75,7 @@ int _gnutls13_send_encrypted_extensions(gnutls_session_t session,
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
diff --git a/lib/tls13/encrypted_extensions.h b/lib/tls13/encrypted_extensions.h
index 83b77672ca..8b0e6d5a88 100644
--- a/lib/tls13/encrypted_extensions.h
+++ b/lib/tls13/encrypted_extensions.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_TLS13_ENCRYPTED_EXTENSIONS_H
-# define GNUTLS_LIB_TLS13_ENCRYPTED_EXTENSIONS_H
+#define GNUTLS_LIB_TLS13_ENCRYPTED_EXTENSIONS_H
int _gnutls13_recv_encrypted_extensions(gnutls_session_t session);
int _gnutls13_send_encrypted_extensions(gnutls_session_t session,
unsigned again);
-#endif /* GNUTLS_LIB_TLS13_ENCRYPTED_EXTENSIONS_H */
+#endif /* GNUTLS_LIB_TLS13_ENCRYPTED_EXTENSIONS_H */
diff --git a/lib/tls13/finished.c b/lib/tls13/finished.c
index e447e9e50e..91e940702d 100644
--- a/lib/tls13/finished.c
+++ b/lib/tls13/finished.c
@@ -28,30 +28,26 @@
#include "mbuffers.h"
#include "secrets.h"
-int _gnutls13_compute_finished(const mac_entry_st * prf,
- const uint8_t * base_key,
- gnutls_buffer_st * handshake_hash_buffer,
+int _gnutls13_compute_finished(const mac_entry_st *prf, const uint8_t *base_key,
+ gnutls_buffer_st *handshake_hash_buffer,
void *out)
{
int ret;
uint8_t fkey[MAX_HASH_SIZE];
uint8_t ts_hash[MAX_HASH_SIZE];
- ret = _tls13_expand_secret2(prf,
- "finished", 8,
- NULL, 0, base_key, prf->output_size, fkey);
+ ret = _tls13_expand_secret2(prf, "finished", 8, NULL, 0, base_key,
+ prf->output_size, fkey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = gnutls_hash_fast(MAC_TO_DIG(prf->id),
- handshake_hash_buffer->data,
+ ret = gnutls_hash_fast(MAC_TO_DIG(prf->id), handshake_hash_buffer->data,
handshake_hash_buffer->length, ts_hash);
if (ret < 0)
return gnutls_assert_val(ret);
- ret = gnutls_hmac_fast(prf->id,
- fkey, prf->output_size,
- ts_hash, prf->output_size, out);
+ ret = gnutls_hmac_fast(prf->id, fkey, prf->output_size, ts_hash,
+ prf->output_size, out);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -83,18 +79,16 @@ int _gnutls13_recv_finished(gnutls_session_t session)
base_key = session->key.proto.tls13.ap_ckey;
}
- ret = _gnutls13_compute_finished(session->security_parameters.prf,
- base_key,
- &session->
- internals.handshake_hash_buffer,
- verifier);
+ ret = _gnutls13_compute_finished(
+ session->security_parameters.prf, base_key,
+ &session->internals.handshake_hash_buffer, verifier);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_FINISHED, 0, &buf);
+ ret = _gnutls_recv_handshake(session, GNUTLS_HANDSHAKE_FINISHED, 0,
+ &buf);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -106,7 +100,7 @@ int _gnutls13_recv_finished(gnutls_session_t session)
goto cleanup;
}
#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
-# warning This is unsafe for production builds
+#warning This is unsafe for production builds
#else
if (gnutls_memcmp(verifier, buf.data, buf.length) != 0) {
gnutls_assert();
@@ -116,7 +110,7 @@ int _gnutls13_recv_finished(gnutls_session_t session)
#endif
ret = 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
@@ -150,12 +144,9 @@ int _gnutls13_send_finished(gnutls_session_t session, unsigned again)
base_key = session->key.proto.tls13.ap_skey;
}
- ret =
- _gnutls13_compute_finished(session->security_parameters.prf,
- base_key,
- &session->
- internals.handshake_hash_buffer,
- verifier);
+ ret = _gnutls13_compute_finished(
+ session->security_parameters.prf, base_key,
+ &session->internals.handshake_hash_buffer, verifier);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -178,7 +169,7 @@ int _gnutls13_send_finished(gnutls_session_t session, unsigned again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_FINISHED);
- cleanup:
+cleanup:
_mbuffer_xfree(&bufel);
return ret;
}
diff --git a/lib/tls13/finished.h b/lib/tls13/finished.h
index 3628d163e2..94a015f6f3 100644
--- a/lib/tls13/finished.h
+++ b/lib/tls13/finished.h
@@ -21,13 +21,12 @@
*/
#ifndef GNUTLS_LIB_TLS13_FINISHED_H
-# define GNUTLS_LIB_TLS13_FINISHED_H
+#define GNUTLS_LIB_TLS13_FINISHED_H
-int _gnutls13_compute_finished(const mac_entry_st * prf,
- const uint8_t * base_key,
- gnutls_buffer_st * handshake_hash_buffer,
+int _gnutls13_compute_finished(const mac_entry_st *prf, const uint8_t *base_key,
+ gnutls_buffer_st *handshake_hash_buffer,
void *out);
int _gnutls13_recv_finished(gnutls_session_t session);
int _gnutls13_send_finished(gnutls_session_t session, unsigned again);
-#endif /* GNUTLS_LIB_TLS13_FINISHED_H */
+#endif /* GNUTLS_LIB_TLS13_FINISHED_H */
diff --git a/lib/tls13/hello_retry.c b/lib/tls13/hello_retry.c
index 00a0360aff..b4b91c84fa 100644
--- a/lib/tls13/hello_retry.c
+++ b/lib/tls13/hello_retry.c
@@ -39,8 +39,8 @@ int _gnutls13_send_hello_retry_request(gnutls_session_t session, unsigned again)
if (again == 0) {
ver = get_version(session);
- if (unlikely
- (ver == NULL || session->security_parameters.cs == NULL))
+ if (unlikely(ver == NULL ||
+ session->security_parameters.cs == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
ret = _gnutls_buffer_init_handshake_mbuffer(&buf);
@@ -51,26 +51,23 @@ int _gnutls13_send_hello_retry_request(gnutls_session_t session, unsigned again)
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_buffer_append_data(&buf,
- HRR_RANDOM,
+ ret = _gnutls_buffer_append_data(&buf, HRR_RANDOM,
GNUTLS_RANDOM_SIZE);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret = _gnutls_buffer_append_data_prefix(&buf, 8,
- session->security_parameters.session_id,
- session->security_parameters.session_id_size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 8, session->security_parameters.session_id,
+ session->security_parameters.session_id_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_data(&buf,
- session->security_parameters.
- cs->id, 2);
+ ret = _gnutls_buffer_append_data(
+ &buf, session->security_parameters.cs->id, 2);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -83,9 +80,8 @@ int _gnutls13_send_hello_retry_request(gnutls_session_t session, unsigned again)
goto cleanup;
}
- ret = _gnutls_gen_hello_extensions(session, &buf,
- GNUTLS_EXT_FLAG_HRR,
- GNUTLS_EXT_ANY);
+ ret = _gnutls_gen_hello_extensions(
+ session, &buf, GNUTLS_EXT_FLAG_HRR, GNUTLS_EXT_ANY);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -102,14 +98,13 @@ int _gnutls13_send_hello_retry_request(gnutls_session_t session, unsigned again)
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
-int
-_gnutls13_recv_hello_retry_request(gnutls_session_t session,
- gnutls_buffer_st * buf)
+int _gnutls13_recv_hello_retry_request(gnutls_session_t session,
+ gnutls_buffer_st *buf)
{
int ret;
uint8_t tmp[2];
@@ -182,18 +177,16 @@ _gnutls13_recv_hello_retry_request(gnutls_session_t session,
}
/* figure version first */
- ret =
- _gnutls_parse_hello_extensions(session, GNUTLS_EXT_FLAG_HRR,
- GNUTLS_EXT_VERSION_NEG,
- buf->data, buf->length);
+ ret = _gnutls_parse_hello_extensions(session, GNUTLS_EXT_FLAG_HRR,
+ GNUTLS_EXT_VERSION_NEG, buf->data,
+ buf->length);
if (ret < 0)
return gnutls_assert_val(ret);
/* parse the rest of extensions */
- ret =
- _gnutls_parse_hello_extensions(session, GNUTLS_EXT_FLAG_HRR,
- GNUTLS_EXT_ANY, buf->data,
- buf->length);
+ ret = _gnutls_parse_hello_extensions(session, GNUTLS_EXT_FLAG_HRR,
+ GNUTLS_EXT_ANY, buf->data,
+ buf->length);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/tls13/hello_retry.h b/lib/tls13/hello_retry.h
index 95f0400358..aec3fe5271 100644
--- a/lib/tls13/hello_retry.h
+++ b/lib/tls13/hello_retry.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_LIB_TLS13_HELLO_RETRY_H
-# define GNUTLS_LIB_TLS13_HELLO_RETRY_H
+#define GNUTLS_LIB_TLS13_HELLO_RETRY_H
int _gnutls13_send_hello_retry_request(gnutls_session_t session,
unsigned again);
-#endif /* GNUTLS_LIB_TLS13_HELLO_RETRY_H */
+#endif /* GNUTLS_LIB_TLS13_HELLO_RETRY_H */
diff --git a/lib/tls13/key_update.c b/lib/tls13/key_update.c
index 7a1641e880..41243651b5 100644
--- a/lib/tls13/key_update.c
+++ b/lib/tls13/key_update.c
@@ -44,8 +44,9 @@ static inline int set_ktls_keys(gnutls_session_t session,
session->internals.ktls_enabled = 0;
session->internals.invalid_connection = true;
session->internals.resumable = false;
- _gnutls_audit_log(session,
- "invalidating session: KTLS - couldn't update keys\n");
+ _gnutls_audit_log(
+ session,
+ "invalidating session: KTLS - couldn't update keys\n");
return GNUTLS_E_INTERNAL_ERROR;
}
return 0;
@@ -55,9 +56,9 @@ static int update_keys(gnutls_session_t session, hs_stage_t stage)
{
int ret;
- ret =
- _tls13_update_secret(session, session->key.proto.tls13.temp_secret,
- session->key.proto.tls13.temp_secret_size);
+ ret = _tls13_update_secret(session,
+ session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.temp_secret_size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -80,11 +81,11 @@ static int update_keys(gnutls_session_t session, hs_stage_t stage)
if (ret < 0)
return gnutls_assert_val(ret);
- if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_SEND)
- && stage == STAGE_UPD_OURS)
+ if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_SEND) &&
+ stage == STAGE_UPD_OURS)
ret = set_ktls_keys(session, GNUTLS_KTLS_SEND);
- else if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_RECV)
- && stage == STAGE_UPD_PEERS)
+ else if (IS_KTLS_ENABLED(session, GNUTLS_KTLS_RECV) &&
+ stage == STAGE_UPD_PEERS)
ret = set_ktls_keys(session, GNUTLS_KTLS_RECV);
}
if (ret < 0)
@@ -93,7 +94,7 @@ static int update_keys(gnutls_session_t session, hs_stage_t stage)
return 0;
}
-int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st * buf)
+int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st *buf)
{
int ret;
struct timespec now;
@@ -106,16 +107,16 @@ int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st * buf)
/* Roll over the counter if the time window has elapsed */
if (session->internals.key_update_count == 0 ||
timespec_sub_ms(&now, &session->internals.last_key_update) >
- KEY_UPDATES_WINDOW) {
+ KEY_UPDATES_WINDOW) {
session->internals.last_key_update = now;
session->internals.key_update_count = 0;
}
if (unlikely(++session->internals.key_update_count >
KEY_UPDATES_PER_WINDOW)) {
- _gnutls_debug_log
- ("reached maximum number of key updates per %d milliseconds (%d)\n",
- KEY_UPDATES_WINDOW, KEY_UPDATES_PER_WINDOW);
+ _gnutls_debug_log(
+ "reached maximum number of key updates per %d milliseconds (%d)\n",
+ KEY_UPDATES_WINDOW, KEY_UPDATES_PER_WINDOW);
return gnutls_assert_val(GNUTLS_E_TOO_MANY_HANDSHAKE_PACKETS);
}
@@ -150,10 +151,10 @@ int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st * buf)
*/
if (session->internals.rsend_state == RECORD_SEND_NORMAL)
session->internals.rsend_state =
- RECORD_SEND_KEY_UPDATE_1;
+ RECORD_SEND_KEY_UPDATE_1;
else if (session->internals.rsend_state == RECORD_SEND_CORKED)
session->internals.rsend_state =
- RECORD_SEND_CORKED_TO_KU;
+ RECORD_SEND_CORKED_TO_KU;
break;
default:
@@ -166,7 +167,7 @@ int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st * buf)
}
int _gnutls13_send_key_update(gnutls_session_t session, unsigned again,
- unsigned flags /* GNUTLS_KU_* */ )
+ unsigned flags /* GNUTLS_KU_* */)
{
int ret;
mbuffer_st *bufel = NULL;
@@ -195,13 +196,12 @@ int _gnutls13_send_key_update(gnutls_session_t session, unsigned again,
gnutls_assert();
goto cleanup;
}
-
}
return _gnutls_send_handshake(session, bufel,
GNUTLS_HANDSHAKE_KEY_UPDATE);
- cleanup:
+cleanup:
_mbuffer_xfree(&bufel);
return ret;
}
diff --git a/lib/tls13/key_update.h b/lib/tls13/key_update.h
index ad29c34b89..326af381bc 100644
--- a/lib/tls13/key_update.h
+++ b/lib/tls13/key_update.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_TLS13_KEY_UPDATE_H
-# define GNUTLS_LIB_TLS13_KEY_UPDATE_H
+#define GNUTLS_LIB_TLS13_KEY_UPDATE_H
-int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st * buf);
+int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st *buf);
int _gnutls13_send_key_update(gnutls_session_t session, unsigned again,
unsigned flags);
-#endif /* GNUTLS_LIB_TLS13_KEY_UPDATE_H */
+#endif /* GNUTLS_LIB_TLS13_KEY_UPDATE_H */
diff --git a/lib/tls13/post_handshake.c b/lib/tls13/post_handshake.c
index fa42b2c126..fa7768e6f8 100644
--- a/lib/tls13/post_handshake.c
+++ b/lib/tls13/post_handshake.c
@@ -52,14 +52,13 @@
#include "tls13/finished.h"
#undef AGAIN
-#define AGAIN(x) ((x)==(REAUTH_STATE))
+#define AGAIN(x) ((x) == (REAUTH_STATE))
/*
* _gnutls13_reauth_client
* This function performs the client side of the post-handshake authentication
*/
-static
-int _gnutls13_reauth_client(gnutls_session_t session)
+static int _gnutls13_reauth_client(gnutls_session_t session)
{
int ret = 0;
size_t tmp;
@@ -78,44 +77,35 @@ int _gnutls13_reauth_client(gnutls_session_t session)
/* restore handshake transcript */
_gnutls_buffer_reset(&session->internals.handshake_hash_buffer);
- ret =
- gnutls_buffer_append_data(&session->
- internals.handshake_hash_buffer,
- session->
- internals.post_handshake_hash_buffer.
- data,
- session->
- internals.post_handshake_hash_buffer.length);
+ ret = gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer,
+ session->internals.post_handshake_hash_buffer.data,
+ session->internals.post_handshake_hash_buffer.length);
if (ret < 0)
return gnutls_assert_val(ret);
/* append the previously received certificate request message, to the
* transcript. */
- ret =
- gnutls_buffer_append_data(&session->
- internals.handshake_hash_buffer,
- session->internals.
- reauth_buffer.data,
- session->internals.
- reauth_buffer.length);
+ ret = gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer,
+ session->internals.reauth_buffer.data,
+ session->internals.reauth_buffer.length);
if (ret < 0)
return gnutls_assert_val(ret);
session->internals.handshake_hash_buffer_prev_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
/* skip the reauth buffer handshake message headers */
- ret =
- _gnutls_buffer_pop_prefix32(&session->
- internals.reauth_buffer, &tmp,
- 0);
+ ret = _gnutls_buffer_pop_prefix32(
+ &session->internals.reauth_buffer, &tmp, 0);
if (ret < 0)
return gnutls_assert_val(ret);
FALLTHROUGH;
case REAUTH_STATE1:
- ret = _gnutls13_recv_certificate_request_int(session,
- &session->internals.reauth_buffer);
+ ret = _gnutls13_recv_certificate_request_int(
+ session, &session->internals.reauth_buffer);
REAUTH_STATE = REAUTH_STATE1;
IMED_RET("recv certificate request", ret, 0);
FALLTHROUGH;
@@ -125,9 +115,8 @@ int _gnutls13_reauth_client(gnutls_session_t session)
IMED_RET("send certificate", ret, 0);
FALLTHROUGH;
case REAUTH_STATE3:
- ret =
- _gnutls13_send_certificate_verify(session,
- AGAIN(REAUTH_STATE3));
+ ret = _gnutls13_send_certificate_verify(session,
+ AGAIN(REAUTH_STATE3));
REAUTH_STATE = REAUTH_STATE3;
IMED_RET("send certificate verify", ret, 0);
FALLTHROUGH;
@@ -151,8 +140,7 @@ int _gnutls13_reauth_client(gnutls_session_t session)
* _gnutls13_reauth_server
* This function does the server stuff of the post-handshake authentication.
*/
-static
-int _gnutls13_reauth_server(gnutls_session_t session)
+static int _gnutls13_reauth_server(gnutls_session_t session)
{
int ret = 0;
@@ -161,8 +149,8 @@ int _gnutls13_reauth_server(gnutls_session_t session)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
if (session->internals.send_cert_req == 0) {
- _gnutls_debug_log
- ("You need to call gnutls_certificate_server_set_request to enable post handshake auth\n");
+ _gnutls_debug_log(
+ "You need to call gnutls_certificate_server_set_request to enable post handshake auth\n");
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -170,25 +158,20 @@ int _gnutls13_reauth_server(gnutls_session_t session)
case REAUTH_STATE0:
/* restore handshake transcript */
_gnutls_buffer_reset(&session->internals.handshake_hash_buffer);
- ret =
- gnutls_buffer_append_data(&session->
- internals.handshake_hash_buffer,
- session->
- internals.post_handshake_hash_buffer.
- data,
- session->
- internals.post_handshake_hash_buffer.length);
+ ret = gnutls_buffer_append_data(
+ &session->internals.handshake_hash_buffer,
+ session->internals.post_handshake_hash_buffer.data,
+ session->internals.post_handshake_hash_buffer.length);
if (ret < 0)
return gnutls_assert_val(ret);
session->internals.handshake_hash_buffer_prev_len =
- session->internals.handshake_hash_buffer.length;
+ session->internals.handshake_hash_buffer.length;
FALLTHROUGH;
case REAUTH_STATE1:
- ret =
- _gnutls13_send_certificate_request(session,
- AGAIN(REAUTH_STATE1));
+ ret = _gnutls13_send_certificate_request(session,
+ AGAIN(REAUTH_STATE1));
REAUTH_STATE = REAUTH_STATE1;
IMED_RET("send certificate request", ret, 0);
FALLTHROUGH;
diff --git a/lib/tls13/psk_ext_parser.c b/lib/tls13/psk_ext_parser.c
index 68ac0ea50b..4f6682b905 100644
--- a/lib/tls13/psk_ext_parser.c
+++ b/lib/tls13/psk_ext_parser.c
@@ -27,7 +27,7 @@
/* Returns GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE when no identities
* are present, or 0, on success.
*/
-int _gnutls13_psk_ext_parser_init(psk_ext_parser_st * p,
+int _gnutls13_psk_ext_parser_init(psk_ext_parser_st *p,
const unsigned char *data, size_t len)
{
if (!p || !data || !len)
@@ -62,7 +62,7 @@ int _gnutls13_psk_ext_parser_init(psk_ext_parser_st * p,
* Returns GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE when no more identities
* are present, or 0, on success.
*/
-int _gnutls13_psk_ext_iter_next_identity(psk_ext_iter_st * iter,
+int _gnutls13_psk_ext_iter_next_identity(psk_ext_iter_st *iter,
struct psk_st *psk)
{
if (iter->identities_len == 0)
@@ -91,8 +91,8 @@ int _gnutls13_psk_ext_iter_next_identity(psk_ext_iter_st * iter,
* Returns GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE when no more identities
* are present, or 0, on success.
*/
-int _gnutls13_psk_ext_iter_next_binder(psk_ext_iter_st * iter,
- gnutls_datum_t * binder)
+int _gnutls13_psk_ext_iter_next_binder(psk_ext_iter_st *iter,
+ gnutls_datum_t *binder)
{
if (iter->binders_len == 0)
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -103,7 +103,7 @@ int _gnutls13_psk_ext_iter_next_binder(psk_ext_iter_st * iter,
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
iter->binders_data++;
- binder->data = (uint8_t *) iter->binders_data;
+ binder->data = (uint8_t *)iter->binders_data;
DECR_LEN(iter->binders_len, binder->size);
iter->binders_data += binder->size;
diff --git a/lib/tls13/psk_ext_parser.h b/lib/tls13/psk_ext_parser.h
index 65c617f43d..1a37757117 100644
--- a/lib/tls13/psk_ext_parser.h
+++ b/lib/tls13/psk_ext_parser.h
@@ -21,7 +21,7 @@
*/
#ifndef GNUTLS_LIB_TLS13_PSK_EXT_PARSER_H
-# define GNUTLS_LIB_TLS13_PSK_EXT_PARSER_H
+#define GNUTLS_LIB_TLS13_PSK_EXT_PARSER_H
struct psk_ext_parser_st {
const unsigned char *identities_data;
@@ -40,19 +40,18 @@ struct psk_st {
uint32_t ob_ticket_age;
};
-int _gnutls13_psk_ext_parser_init(psk_ext_parser_st * p,
+int _gnutls13_psk_ext_parser_init(psk_ext_parser_st *p,
const unsigned char *data, size_t len);
-inline static
-void _gnutls13_psk_ext_iter_init(psk_ext_iter_st * iter,
- const psk_ext_parser_st * p)
+inline static void _gnutls13_psk_ext_iter_init(psk_ext_iter_st *iter,
+ const psk_ext_parser_st *p)
{
memcpy(iter, p, sizeof(*p));
}
-int _gnutls13_psk_ext_iter_next_identity(psk_ext_iter_st * iter,
+int _gnutls13_psk_ext_iter_next_identity(psk_ext_iter_st *iter,
struct psk_st *psk);
-int _gnutls13_psk_ext_iter_next_binder(psk_ext_iter_st * iter,
- gnutls_datum_t * binder);
+int _gnutls13_psk_ext_iter_next_binder(psk_ext_iter_st *iter,
+ gnutls_datum_t *binder);
-#endif /* GNUTLS_LIB_TLS13_PSK_EXT_PARSER_H */
+#endif /* GNUTLS_LIB_TLS13_PSK_EXT_PARSER_H */
diff --git a/lib/tls13/session_ticket.c b/lib/tls13/session_ticket.c
index 546f90257a..b60822056f 100644
--- a/lib/tls13/session_ticket.c
+++ b/lib/tls13/session_ticket.c
@@ -33,9 +33,8 @@
#include "session_pack.h"
#include "db.h"
-static int
-pack_ticket(gnutls_session_t session, tls13_ticket_st * ticket,
- gnutls_datum_t * packed)
+static int pack_ticket(gnutls_session_t session, tls13_ticket_st *ticket,
+ gnutls_datum_t *packed)
{
uint8_t *p;
gnutls_datum_t state;
@@ -45,9 +44,8 @@ pack_ticket(gnutls_session_t session, tls13_ticket_st * ticket,
if (ret < 0)
return gnutls_assert_val(ret);
- packed->size = 2 + 4 + 4 +
- 1 + ticket->prf->output_size +
- 1 + ticket->nonce_size + 2 + state.size + 12;
+ packed->size = 2 + 4 + 4 + 1 + ticket->prf->output_size + 1 +
+ ticket->nonce_size + 2 + state.size + 12;
packed->data = gnutls_malloc(packed->size);
if (!packed->data) {
@@ -80,7 +78,7 @@ pack_ticket(gnutls_session_t session, tls13_ticket_st * ticket,
memcpy(p, state.data, state.size);
p += state.size;
- _gnutls_write_uint32((uint64_t) ticket->creation_time.tv_sec >> 32, p);
+ _gnutls_write_uint32((uint64_t)ticket->creation_time.tv_sec >> 32, p);
p += 4;
_gnutls_write_uint32(ticket->creation_time.tv_sec & 0xFFFFFFFF, p);
p += 4;
@@ -88,14 +86,13 @@ pack_ticket(gnutls_session_t session, tls13_ticket_st * ticket,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(state.data);
return ret;
}
-static int
-unpack_ticket(gnutls_session_t session, gnutls_datum_t * packed,
- tls13_ticket_st * data)
+static int unpack_ticket(gnutls_session_t session, gnutls_datum_t *packed,
+ tls13_ticket_st *data)
{
uint32_t age_add, lifetime;
struct timespec creation_time;
@@ -194,8 +191,8 @@ unpack_ticket(gnutls_session_t session, gnutls_datum_t * packed,
return 0;
}
-static int
-generate_session_ticket(gnutls_session_t session, tls13_ticket_st * ticket)
+static int generate_session_ticket(gnutls_session_t session,
+ tls13_ticket_st *ticket)
{
int ret;
gnutls_datum_t packed = { NULL, 0 };
@@ -206,14 +203,13 @@ generate_session_ticket(gnutls_session_t session, tls13_ticket_st * ticket)
if (session->internals.resumed) {
/* If we are resuming ensure that we don't extend the lifetime
* of the ticket past the original session expiration time */
- if (now.tv_sec >=
- session->security_parameters.timestamp +
- session->internals.expire_time)
- return GNUTLS_E_INT_RET_0; /* don't send ticket */
+ if (now.tv_sec >= session->security_parameters.timestamp +
+ session->internals.expire_time)
+ return GNUTLS_E_INT_RET_0; /* don't send ticket */
else
ticket->lifetime =
- session->security_parameters.timestamp +
- session->internals.expire_time - now.tv_sec;
+ session->security_parameters.timestamp +
+ session->internals.expire_time - now.tv_sec;
} else {
/* Set ticket lifetime to the default expiration time */
ticket->lifetime = session->internals.expire_time;
@@ -222,15 +218,14 @@ generate_session_ticket(gnutls_session_t session, tls13_ticket_st * ticket)
/* Generate a random 32-bit ticket nonce */
ticket->nonce_size = 4;
- if ((ret = gnutls_rnd(GNUTLS_RND_NONCE,
- ticket->nonce, ticket->nonce_size)) < 0)
+ if ((ret = gnutls_rnd(GNUTLS_RND_NONCE, ticket->nonce,
+ ticket->nonce_size)) < 0)
return gnutls_assert_val(ret);
- if ((ret =
- gnutls_rnd(GNUTLS_RND_NONCE, &ticket->age_add,
- sizeof(uint32_t))) < 0)
+ if ((ret = gnutls_rnd(GNUTLS_RND_NONCE, &ticket->age_add,
+ sizeof(uint32_t))) < 0)
return gnutls_assert_val(ret);
- /* This is merely to produce the same binder value on
+ /* This is merely to produce the same binder value on
* different endian architectures. */
#ifdef WORDS_BIGENDIAN
ticket->age_add = bswap_32(ticket->age_add);
@@ -260,7 +255,7 @@ generate_session_ticket(gnutls_session_t session, tls13_ticket_st * ticket)
return 0;
}
-static int append_nst_extension(void *ctx, gnutls_buffer_st * buf)
+static int append_nst_extension(void *ctx, gnutls_buffer_st *buf)
{
gnutls_session_t session = ctx;
int ret;
@@ -268,9 +263,8 @@ static int append_nst_extension(void *ctx, gnutls_buffer_st * buf)
if (!(session->internals.flags & GNUTLS_ENABLE_EARLY_DATA))
return 0;
- ret = _gnutls_buffer_append_prefix(buf, 32,
- session->security_parameters.
- max_early_data_size);
+ ret = _gnutls_buffer_append_prefix(
+ buf, 32, session->security_parameters.max_early_data_size);
if (ret < 0)
gnutls_assert();
@@ -321,39 +315,32 @@ int _gnutls13_send_session_ticket(gnutls_session_t session, unsigned nr,
goto cleanup;
}
- ret =
- _gnutls_buffer_append_prefix(&buf, 32,
- ticket.lifetime);
+ ret = _gnutls_buffer_append_prefix(&buf, 32,
+ ticket.lifetime);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_prefix(&buf, 32,
- ticket.age_add);
+ ret = _gnutls_buffer_append_prefix(&buf, 32,
+ ticket.age_add);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
/* append ticket_nonce */
- ret =
- _gnutls_buffer_append_data_prefix(&buf, 8,
- ticket.nonce,
- ticket.nonce_size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 8, ticket.nonce, ticket.nonce_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
/* append ticket */
- ret =
- _gnutls_buffer_append_data_prefix(&buf, 16,
- ticket.
- ticket.data,
- ticket.
- ticket.size);
+ ret = _gnutls_buffer_append_data_prefix(
+ &buf, 16, ticket.ticket.data,
+ ticket.ticket.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -369,10 +356,9 @@ int _gnutls13_send_session_ticket(gnutls_session_t session, unsigned nr,
}
init_pos = ret;
- ret =
- _gnutls_extv_append(&buf, ext_mod_early_data.tls_id,
- session, (extv_append_func)
- append_nst_extension);
+ ret = _gnutls_extv_append(
+ &buf, ext_mod_early_data.tls_id, session,
+ (extv_append_func)append_nst_extension);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -386,9 +372,9 @@ int _gnutls13_send_session_ticket(gnutls_session_t session, unsigned nr,
bufel = _gnutls_buffer_to_mbuffer(&buf);
- ret = _gnutls_send_handshake2(session, bufel,
- GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
- 1);
+ ret = _gnutls_send_handshake2(
+ session, bufel,
+ GNUTLS_HANDSHAKE_NEW_SESSION_TICKET, 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -402,7 +388,7 @@ int _gnutls13_send_session_ticket(gnutls_session_t session, unsigned nr,
return ret;
- cleanup:
+cleanup:
_gnutls_free_datum(&ticket.ticket);
_mbuffer_xfree(&bufel);
_gnutls_buffer_clear(&buf);
@@ -416,17 +402,16 @@ static int parse_nst_extension(void *ctx, unsigned tls_id,
gnutls_session_t session = ctx;
if (tls_id == ext_mod_early_data.tls_id) {
if (data_size < 4)
- return
- gnutls_assert_val
- (GNUTLS_E_TLS_PACKET_DECODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_TLS_PACKET_DECODING_ERROR);
session->security_parameters.max_early_data_size =
- _gnutls_read_uint32(data);
+ _gnutls_read_uint32(data);
}
return 0;
}
int _gnutls13_recv_session_ticket(gnutls_session_t session,
- gnutls_buffer_st * buf)
+ gnutls_buffer_st *buf)
{
int ret;
uint8_t value;
@@ -476,9 +461,8 @@ int _gnutls13_recv_session_ticket(gnutls_session_t session,
return gnutls_assert_val(ret);
/* Extensions */
- ret =
- _gnutls_extv_parse(session, parse_nst_extension, buf->data,
- buf->length);
+ ret = _gnutls_extv_parse(session, parse_nst_extension, buf->data,
+ buf->length);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -493,8 +477,8 @@ int _gnutls13_recv_session_ticket(gnutls_session_t session,
* and the KDF ID associated to it.
*/
int _gnutls13_unpack_session_ticket(gnutls_session_t session,
- gnutls_datum_t * data,
- tls13_ticket_st * ticket_data)
+ gnutls_datum_t *data,
+ tls13_ticket_st *ticket_data)
{
int ret;
gnutls_datum_t decrypted = { NULL, 0 };
diff --git a/lib/tls13/session_ticket.h b/lib/tls13/session_ticket.h
index e28d77d7e7..1b14518b4e 100644
--- a/lib/tls13/session_ticket.h
+++ b/lib/tls13/session_ticket.h
@@ -21,25 +21,24 @@
*/
#ifndef GNUTLS_LIB_TLS13_SESSION_TICKET_H
-# define GNUTLS_LIB_TLS13_SESSION_TICKET_H
+#define GNUTLS_LIB_TLS13_SESSION_TICKET_H
int _gnutls13_recv_session_ticket(gnutls_session_t session,
- gnutls_buffer_st * buf);
+ gnutls_buffer_st *buf);
int _gnutls13_send_session_ticket(gnutls_session_t session, unsigned nr,
unsigned again);
static inline bool _gnutls13_can_send_session_ticket(gnutls_session_t session)
{
return session->key.stek_initialized &&
- !(session->internals.flags & GNUTLS_NO_TICKETS);
+ !(session->internals.flags & GNUTLS_NO_TICKETS);
}
int _gnutls13_unpack_session_ticket(gnutls_session_t session,
- gnutls_datum_t * data,
- tls13_ticket_st * ticket_data);
+ gnutls_datum_t *data,
+ tls13_ticket_st *ticket_data);
-inline static
-void tls13_ticket_deinit(tls13_ticket_st * ticket)
+inline static void tls13_ticket_deinit(tls13_ticket_st *ticket)
{
zeroize_temp_key(&ticket->resumption_master_secret,
sizeof(ticket->resumption_master_secret));
@@ -48,4 +47,4 @@ void tls13_ticket_deinit(tls13_ticket_st * ticket)
memset(ticket, 0, sizeof(tls13_ticket_st));
}
-#endif /* GNUTLS_LIB_TLS13_SESSION_TICKET_H */
+#endif /* GNUTLS_LIB_TLS13_SESSION_TICKET_H */
diff --git a/lib/tpm.c b/lib/tpm.c
index 6b6c8d5a63..5b04c66d0a 100644
--- a/lib/tpm.c
+++ b/lib/tpm.c
@@ -36,66 +36,62 @@
#ifdef HAVE_TROUSERS
-# include "errors.h"
-# include <pkcs11_int.h>
-# include <x509/common.h>
-# include <x509_b64.h>
-# include <random.h>
-# include <pin.h>
-# include <c-ctype.h>
-
-# include <dlfcn.h>
-# include <trousers/tss.h>
-# include <trousers/trousers.h>
+#include "errors.h"
+#include <pkcs11_int.h>
+#include <x509/common.h>
+#include <x509_b64.h>
+#include <random.h>
+#include <pin.h>
+#include <c-ctype.h>
+
+#include <dlfcn.h>
+#include <trousers/tss.h>
+#include <trousers/trousers.h>
typedef char *(*Trspi_Error_Layer_func)(TSS_RESULT);
typedef char *(*Trspi_Error_String_func)(TSS_RESULT);
-typedef TSS_RESULT(*Trspi_Error_Code_func) (TSS_RESULT);
+typedef TSS_RESULT (*Trspi_Error_Code_func)(TSS_RESULT);
-typedef TSS_RESULT(*Tspi_Context_CloseObject_func) (TSS_HCONTEXT, TSS_HOBJECT);
-typedef TSS_RESULT(*Tspi_Context_Close_func) (TSS_HCONTEXT);
-typedef TSS_RESULT(*Tspi_Context_CreateObject_func) (TSS_HCONTEXT, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_Context_CloseObject_func)(TSS_HCONTEXT, TSS_HOBJECT);
+typedef TSS_RESULT (*Tspi_Context_Close_func)(TSS_HCONTEXT);
+typedef TSS_RESULT (*Tspi_Context_CreateObject_func)(TSS_HCONTEXT, TSS_FLAG,
TSS_FLAG, TSS_HOBJECT *);
-typedef TSS_RESULT(*Tspi_Context_FreeMemory_func) (TSS_HCONTEXT, BYTE *);
-typedef TSS_RESULT(*Tspi_Context_GetTpmObject_func) (TSS_HCONTEXT, TSS_HTPM *);
-typedef TSS_RESULT(*Tspi_Context_LoadKeyByUUID_func) (TSS_HCONTEXT, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_Context_FreeMemory_func)(TSS_HCONTEXT, BYTE *);
+typedef TSS_RESULT (*Tspi_Context_GetTpmObject_func)(TSS_HCONTEXT, TSS_HTPM *);
+typedef TSS_RESULT (*Tspi_Context_LoadKeyByUUID_func)(TSS_HCONTEXT, TSS_FLAG,
TSS_UUID, TSS_HKEY *);
-typedef TSS_RESULT(*Tspi_Context_RegisterKey_func) (TSS_HCONTEXT, TSS_HKEY,
+typedef TSS_RESULT (*Tspi_Context_RegisterKey_func)(TSS_HCONTEXT, TSS_HKEY,
TSS_FLAG, TSS_UUID,
TSS_FLAG, TSS_UUID);
-typedef TSS_RESULT(*Tspi_Context_UnregisterKey_func) (TSS_HCONTEXT, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_Context_UnregisterKey_func)(TSS_HCONTEXT, TSS_FLAG,
TSS_UUID, TSS_HKEY *);
-typedef TSS_RESULT(*Tspi_Key_CreateKey_func) (TSS_HKEY, TSS_HKEY, TSS_HPCRS);
-typedef TSS_RESULT(*Tspi_Hash_SetHashValue_func) (TSS_HHASH, UINT32, BYTE *);
-typedef TSS_RESULT(*Tspi_Hash_Sign_func) (TSS_HHASH, TSS_HKEY, UINT32 *,
+typedef TSS_RESULT (*Tspi_Key_CreateKey_func)(TSS_HKEY, TSS_HKEY, TSS_HPCRS);
+typedef TSS_RESULT (*Tspi_Hash_SetHashValue_func)(TSS_HHASH, UINT32, BYTE *);
+typedef TSS_RESULT (*Tspi_Hash_Sign_func)(TSS_HHASH, TSS_HKEY, UINT32 *,
BYTE **);
-typedef TSS_RESULT(*Tspi_Policy_SetSecret_func) (TSS_HPOLICY, TSS_FLAG, UINT32,
+typedef TSS_RESULT (*Tspi_Policy_SetSecret_func)(TSS_HPOLICY, TSS_FLAG, UINT32,
BYTE *);
-typedef TSS_RESULT(*Tspi_Context_Create_func) (TSS_HCONTEXT *);
-typedef TSS_RESULT(*Tspi_Context_Connect_func) (TSS_HCONTEXT, TSS_UNICODE *);
-typedef TSS_RESULT(*Tspi_GetPolicyObject_func) (TSS_HOBJECT, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_Context_Create_func)(TSS_HCONTEXT *);
+typedef TSS_RESULT (*Tspi_Context_Connect_func)(TSS_HCONTEXT, TSS_UNICODE *);
+typedef TSS_RESULT (*Tspi_GetPolicyObject_func)(TSS_HOBJECT, TSS_FLAG,
TSS_HPOLICY *);
-typedef TSS_RESULT(*Tspi_DecodeBER_TssBlob_func) (UINT32, BYTE *, UINT32 *,
+typedef TSS_RESULT (*Tspi_DecodeBER_TssBlob_func)(UINT32, BYTE *, UINT32 *,
UINT32 *, BYTE *);
-typedef TSS_RESULT(*Tspi_Context_LoadKeyByBlob_func) (TSS_HCONTEXT, TSS_HKEY,
+typedef TSS_RESULT (*Tspi_Context_LoadKeyByBlob_func)(TSS_HCONTEXT, TSS_HKEY,
UINT32, BYTE *,
TSS_HKEY *);
-typedef TSS_RESULT(*Tspi_Policy_AssignToObject_func) (TSS_HPOLICY, TSS_HOBJECT);
-typedef TSS_RESULT(*Tspi_GetAttribData_func) (TSS_HOBJECT, TSS_FLAG, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_Policy_AssignToObject_func)(TSS_HPOLICY, TSS_HOBJECT);
+typedef TSS_RESULT (*Tspi_GetAttribData_func)(TSS_HOBJECT, TSS_FLAG, TSS_FLAG,
UINT32 *, BYTE **);
-typedef TSS_RESULT(*Tspi_GetAttribUint32_func) (TSS_HOBJECT, TSS_FLAG, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_GetAttribUint32_func)(TSS_HOBJECT, TSS_FLAG, TSS_FLAG,
UINT32 *);
-typedef TSS_RESULT(*Tspi_TPM_StirRandom_func) (TSS_HTPM, UINT32, BYTE *);
-typedef TSS_RESULT(*Tspi_SetAttribUint32_func) (TSS_HOBJECT, TSS_FLAG, TSS_FLAG,
+typedef TSS_RESULT (*Tspi_TPM_StirRandom_func)(TSS_HTPM, UINT32, BYTE *);
+typedef TSS_RESULT (*Tspi_SetAttribUint32_func)(TSS_HOBJECT, TSS_FLAG, TSS_FLAG,
UINT32);
-typedef TSS_RESULT(*Tspi_EncodeDER_TssBlob_func) (UINT32, BYTE *, UINT32,
+typedef TSS_RESULT (*Tspi_EncodeDER_TssBlob_func)(UINT32, BYTE *, UINT32,
UINT32 *, BYTE *);
-typedef TSS_RESULT(*Tspi_Context_GetRegisteredKeysByUUID2_func) (TSS_HCONTEXT,
- TSS_FLAG,
- TSS_UUID *,
- UINT32 *,
- TSS_KM_KEYINFO2
- **);
+typedef TSS_RESULT (*Tspi_Context_GetRegisteredKeysByUUID2_func)(
+ TSS_HCONTEXT, TSS_FLAG, TSS_UUID *, UINT32 *, TSS_KM_KEYINFO2 **);
static Tspi_Context_CloseObject_func pTspi_Context_CloseObject;
static Tspi_Context_Close_func pTspi_Context_Close;
@@ -122,7 +118,7 @@ static Tspi_TPM_StirRandom_func pTspi_TPM_StirRandom;
static Tspi_SetAttribUint32_func pTspi_SetAttribUint32;
static Tspi_EncodeDER_TssBlob_func pTspi_EncodeDER_TssBlob;
static Tspi_Context_GetRegisteredKeysByUUID2_func
- pTspi_Context_GetRegisteredKeysByUUID2;
+ pTspi_Context_GetRegisteredKeysByUUID2;
static Trspi_Error_Layer_func pTrspi_Error_Layer;
static Trspi_Error_String_func pTrspi_Error_String;
@@ -130,12 +126,12 @@ static Trspi_Error_Code_func pTrspi_Error_Code;
static void *tpm_dl = NULL;
-# define _DLSYM(dl, sym) \
+#define _DLSYM(dl, sym) \
p##sym = dlsym(dl, #sym); \
- if (p##sym == NULL) { \
- dlclose(dl); \
- dl = NULL; \
- return -1; \
+ if (p##sym == NULL) { \
+ dlclose(dl); \
+ dl = NULL; \
+ return -1; \
}
static int check_init(void)
@@ -181,11 +177,13 @@ static int check_init(void)
return 0;
}
-# define CHECK_INIT \
- if (check_init() < 0) return gnutls_assert_val(GNUTLS_E_TPM_NO_LIB)
+#define CHECK_INIT \
+ if (check_init() < 0) \
+ return gnutls_assert_val(GNUTLS_E_TPM_NO_LIB)
-# define CHECK_INIT_VOID \
- if (check_init() < 0) return
+#define CHECK_INIT_VOID \
+ if (check_init() < 0) \
+ return
void _gnutls_tpm_global_deinit(void)
{
@@ -210,13 +208,11 @@ struct tpm_key_list_st {
};
static void tpm_close_session(struct tpm_ctx_st *s);
-static int import_tpm_key(gnutls_privkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- TSS_UUID * uuid,
- TSS_FLAG storage_type,
- const char *srk_password, const char *key_password);
-static int encode_tpmkey_url(char **url, const TSS_UUID * uuid,
+static int import_tpm_key(gnutls_privkey_t pkey, const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,
+ TSS_FLAG storage_type, const char *srk_password,
+ const char *key_password);
+static int encode_tpmkey_url(char **url, const TSS_UUID *uuid,
TSS_FLAG storage);
/* TPM URL format: (draft-mavrogiannopoulos-tpmuri-01)
@@ -229,8 +225,8 @@ static int encode_tpmkey_url(char **url, const TSS_UUID * uuid,
static int tss_err_pwd(TSS_RESULT err, int pwd_error)
{
- _gnutls_debug_log("TPM (%s) error: %s (%x)\n",
- pTrspi_Error_Layer(err), pTrspi_Error_String(err),
+ _gnutls_debug_log("TPM (%s) error: %s (%x)\n", pTrspi_Error_Layer(err),
+ pTrspi_Error_String(err),
(unsigned int)pTrspi_Error_Code(err));
switch (ERROR_LAYER(err)) {
@@ -261,8 +257,8 @@ static int tss_err_pwd(TSS_RESULT err, int pwd_error)
}
}
-# define tss_err(x) tss_err_pwd(x, GNUTLS_E_TPM_SRK_PASSWORD_ERROR)
-# define tss_err_key(x) tss_err_pwd(x, GNUTLS_E_TPM_KEY_PASSWORD_ERROR)
+#define tss_err(x) tss_err_pwd(x, GNUTLS_E_TPM_SRK_PASSWORD_ERROR)
+#define tss_err_key(x) tss_err_pwd(x, GNUTLS_E_TPM_KEY_PASSWORD_ERROR)
static void tpm_deinit_fn(gnutls_privkey_t key, void *_s)
{
@@ -275,9 +271,8 @@ static void tpm_deinit_fn(gnutls_privkey_t key, void *_s)
gnutls_free(s);
}
-static int
-tpm_sign_fn(gnutls_privkey_t key, void *_s,
- const gnutls_datum_t * data, gnutls_datum_t * sig)
+static int tpm_sign_fn(gnutls_privkey_t key, void *_s,
+ const gnutls_datum_t *data, gnutls_datum_t *sig)
{
struct tpm_ctx_st *s = _s;
TSS_HHASH hash;
@@ -286,10 +281,8 @@ tpm_sign_fn(gnutls_privkey_t key, void *_s,
_gnutls_debug_log("TPM sign function called for %u bytes.\n",
data->size);
- err =
- pTspi_Context_CreateObject(s->tpm_ctx,
- TSS_OBJECT_TYPE_HASH, TSS_HASH_OTHER,
- &hash);
+ err = pTspi_Context_CreateObject(s->tpm_ctx, TSS_OBJECT_TYPE_HASH,
+ TSS_HASH_OTHER, &hash);
if (err) {
gnutls_assert();
_gnutls_debug_log("Failed to create TPM hash object: %s\n",
@@ -299,9 +292,9 @@ tpm_sign_fn(gnutls_privkey_t key, void *_s,
err = pTspi_Hash_SetHashValue(hash, data->size, data->data);
if (err) {
gnutls_assert();
- _gnutls_debug_log
- ("Failed to set value in TPM hash object: %s\n",
- pTrspi_Error_String(err));
+ _gnutls_debug_log(
+ "Failed to set value in TPM hash object: %s\n",
+ pTrspi_Error_String(err));
pTspi_Context_CloseObject(s->tpm_ctx, hash);
return GNUTLS_E_PK_SIGN_FAILED;
}
@@ -309,9 +302,8 @@ tpm_sign_fn(gnutls_privkey_t key, void *_s,
pTspi_Context_CloseObject(s->tpm_ctx, hash);
if (err) {
if (s->tpm_key_policy || err != TPM_E_AUTHFAIL)
- _gnutls_debug_log
- ("TPM hash signature failed: %s\n",
- pTrspi_Error_String(err));
+ _gnutls_debug_log("TPM hash signature failed: %s\n",
+ pTrspi_Error_String(err));
if (err == TPM_E_AUTHFAIL)
return GNUTLS_E_TPM_KEY_PASSWORD_ERROR;
else
@@ -325,7 +317,7 @@ static const gnutls_datum_t nulldata = { (void *)nullpass, 20 };
const TSS_UUID srk_uuid = TSS_UUID_SRK;
-static int tpm_pin(struct pin_info_st *pin_info, const TSS_UUID * uuid,
+static int tpm_pin(struct pin_info_st *pin_info, const TSS_UUID *uuid,
TSS_FLAG storage, char *pin, unsigned int pin_size,
unsigned int attempts)
{
@@ -361,30 +353,28 @@ static int tpm_pin(struct pin_info_st *pin_info, const TSS_UUID * uuid,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(url);
return ret;
}
static TSS_RESULT myTspi_Policy_SetSecret(TSS_HPOLICY hPolicy,
UINT32 ulSecretLength,
- BYTE * rgbSecret)
+ BYTE *rgbSecret)
{
if (rgbSecret == NULL) {
/* Well known NULL key */
- return pTspi_Policy_SetSecret(hPolicy,
- TSS_SECRET_MODE_SHA1,
+ return pTspi_Policy_SetSecret(hPolicy, TSS_SECRET_MODE_SHA1,
sizeof(nullpass),
- (BYTE *) nullpass);
- } else { /* key is given */
+ (BYTE *)nullpass);
+ } else { /* key is given */
- return pTspi_Policy_SetSecret(hPolicy,
- TSS_SECRET_MODE_PLAIN,
+ return pTspi_Policy_SetSecret(hPolicy, TSS_SECRET_MODE_PLAIN,
ulSecretLength, rgbSecret);
}
}
-# define SAFE_LEN(x) (x==NULL?0:strlen(x))
+#define SAFE_LEN(x) (x == NULL ? 0 : strlen(x))
static int tpm_open_session(struct tpm_ctx_st *s, const char *_srk_password,
unsigned allow_invalid_pass)
@@ -400,10 +390,10 @@ static int tpm_open_session(struct tpm_ctx_st *s, const char *_srk_password,
if (_srk_password != NULL) {
gnutls_datum_t pout;
- ret =
- _gnutls_utf8_password_normalize(_srk_password,
- strlen(_srk_password),
- &pout, allow_invalid_pass);
+ ret = _gnutls_utf8_password_normalize(_srk_password,
+ strlen(_srk_password),
+ &pout,
+ allow_invalid_pass);
if (ret < 0) {
gnutls_assert();
goto out_tspi_ctx;
@@ -418,9 +408,8 @@ static int tpm_open_session(struct tpm_ctx_st *s, const char *_srk_password,
goto out_tspi_ctx;
}
- err =
- pTspi_Context_LoadKeyByUUID(s->tpm_ctx, TSS_PS_TYPE_SYSTEM,
- srk_uuid, &s->srk);
+ err = pTspi_Context_LoadKeyByUUID(s->tpm_ctx, TSS_PS_TYPE_SYSTEM,
+ srk_uuid, &s->srk);
if (err) {
gnutls_assert();
ret = tss_err(err);
@@ -434,8 +423,8 @@ static int tpm_open_session(struct tpm_ctx_st *s, const char *_srk_password,
goto out_srk;
}
- err = myTspi_Policy_SetSecret(s->srk_policy,
- SAFE_LEN(password), (BYTE *) password);
+ err = myTspi_Policy_SetSecret(s->srk_policy, SAFE_LEN(password),
+ (BYTE *)password);
if (err) {
gnutls_assert();
ret = tss_err(err);
@@ -445,18 +434,17 @@ static int tpm_open_session(struct tpm_ctx_st *s, const char *_srk_password,
return 0;
- out_srkpol:
+out_srkpol:
pTspi_Context_CloseObject(s->tpm_ctx, s->srk_policy);
s->srk_policy = 0;
- out_srk:
+out_srk:
pTspi_Context_CloseObject(s->tpm_ctx, s->srk);
s->srk = 0;
- out_tspi_ctx:
+out_tspi_ctx:
pTspi_Context_Close(s->tpm_ctx);
s->tpm_ctx = 0;
gnutls_free(password);
return ret;
-
}
static void tpm_close_session(struct tpm_ctx_st *s)
@@ -469,11 +457,10 @@ static void tpm_close_session(struct tpm_ctx_st *s)
s->tpm_ctx = 0;
}
-static int
-import_tpm_key_cb(gnutls_privkey_t pkey, const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format, TSS_UUID * uuid,
- TSS_FLAG storage, const char *srk_password,
- const char *key_password)
+static int import_tpm_key_cb(gnutls_privkey_t pkey, const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,
+ TSS_FLAG storage, const char *srk_password,
+ const char *key_password)
{
unsigned int attempts = 0;
char pin1[GNUTLS_PKCS11_MAX_PIN_LEN];
@@ -481,17 +468,15 @@ import_tpm_key_cb(gnutls_privkey_t pkey, const gnutls_datum_t * fdata,
int ret, ret2;
do {
- ret =
- import_tpm_key(pkey, fdata, format, uuid, storage,
- srk_password, key_password);
+ ret = import_tpm_key(pkey, fdata, format, uuid, storage,
+ srk_password, key_password);
if (attempts > 3)
break;
if (ret == GNUTLS_E_TPM_SRK_PASSWORD_ERROR) {
- ret2 =
- tpm_pin(&pkey->pin, &srk_uuid, storage, pin1,
- sizeof(pin1), attempts++);
+ ret2 = tpm_pin(&pkey->pin, &srk_uuid, storage, pin1,
+ sizeof(pin1), attempts++);
if (ret2 < 0) {
gnutls_assert();
return GNUTLS_E_TPM_SRK_PASSWORD_ERROR;
@@ -500,18 +485,16 @@ import_tpm_key_cb(gnutls_privkey_t pkey, const gnutls_datum_t * fdata,
}
if (ret == GNUTLS_E_TPM_KEY_PASSWORD_ERROR) {
- ret2 =
- tpm_pin(&pkey->pin, uuid, storage, pin2,
- sizeof(pin2), attempts++);
+ ret2 = tpm_pin(&pkey->pin, uuid, storage, pin2,
+ sizeof(pin2), attempts++);
if (ret2 < 0) {
gnutls_assert();
return GNUTLS_E_TPM_KEY_PASSWORD_ERROR;
}
key_password = pin2;
}
- }
- while (ret == GNUTLS_E_TPM_KEY_PASSWORD_ERROR
- || ret == GNUTLS_E_TPM_SRK_PASSWORD_ERROR);
+ } while (ret == GNUTLS_E_TPM_KEY_PASSWORD_ERROR ||
+ ret == GNUTLS_E_TPM_SRK_PASSWORD_ERROR);
if (ret < 0)
gnutls_assert();
@@ -519,8 +502,8 @@ import_tpm_key_cb(gnutls_privkey_t pkey, const gnutls_datum_t * fdata,
}
static int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format, TSS_HKEY * tpm_key)
+ const gnutls_datum_t *fdata, gnutls_tpmkey_fmt_t format,
+ TSS_HKEY *tpm_key)
{
int ret, err;
gnutls_datum_t asn1 = { NULL, 0 };
@@ -531,15 +514,13 @@ static int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,
ret = gnutls_pem_base64_decode2("TSS KEY BLOB", fdata, &asn1);
if (ret) {
gnutls_assert();
- _gnutls_debug_log
- ("Error decoding TSS key blob: %s\n",
- gnutls_strerror(ret));
+ _gnutls_debug_log("Error decoding TSS key blob: %s\n",
+ gnutls_strerror(ret));
return ret;
}
- ret =
- _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
- asn1.data, asn1.size, &td, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
+ asn1.data, asn1.size, &td, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -547,7 +528,7 @@ static int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,
gnutls_free(asn1.data);
asn1.data = td.data;
asn1.size = td.size;
- } else { /* DER */
+ } else { /* DER */
UINT32 tint2;
UINT32 type;
@@ -560,9 +541,8 @@ static int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,
}
tint2 = asn1.size;
- err =
- pTspi_DecodeBER_TssBlob(fdata->size, fdata->data, &type,
- &tint2, asn1.data);
+ err = pTspi_DecodeBER_TssBlob(fdata->size, fdata->data, &type,
+ &tint2, asn1.data);
if (err != 0) {
gnutls_assert();
ret = tss_err(err);
@@ -573,8 +553,8 @@ static int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,
}
/* ... we get it here instead. */
- err = pTspi_Context_LoadKeyByBlob(tpm_ctx, srk,
- asn1.size, asn1.data, tpm_key);
+ err = pTspi_Context_LoadKeyByBlob(tpm_ctx, srk, asn1.size, asn1.data,
+ tpm_key);
if (err != 0) {
gnutls_assert();
ret = tss_err(err);
@@ -583,19 +563,16 @@ static int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(asn1.data);
return ret;
}
-static int
-import_tpm_key(gnutls_privkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- TSS_UUID * uuid,
- TSS_FLAG storage,
- const char *srk_password, const char *_key_password)
+static int import_tpm_key(gnutls_privkey_t pkey, const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,
+ TSS_FLAG storage, const char *srk_password,
+ const char *_key_password)
{
int err, ret;
struct tpm_ctx_st *s;
@@ -611,10 +588,8 @@ import_tpm_key(gnutls_privkey_t pkey,
if (_key_password != NULL) {
gnutls_datum_t pout;
- ret =
- _gnutls_utf8_password_normalize(_key_password,
- strlen(_key_password),
- &pout, 1);
+ ret = _gnutls_utf8_password_normalize(
+ _key_password, strlen(_key_password), &pout, 1);
if (ret < 0) {
gnutls_assert();
goto out_ctx;
@@ -637,9 +612,8 @@ import_tpm_key(gnutls_privkey_t pkey,
goto out_session;
}
} else if (uuid) {
- err =
- pTspi_Context_LoadKeyByUUID(s->tpm_ctx, storage,
- *uuid, &s->tpm_key);
+ err = pTspi_Context_LoadKeyByUUID(s->tpm_ctx, storage, *uuid,
+ &s->tpm_key);
if (err) {
gnutls_assert();
@@ -696,17 +670,15 @@ import_tpm_key(gnutls_privkey_t pkey,
}
}
- ret =
- gnutls_privkey_import_ext2(pkey, GNUTLS_PK_RSA, s,
- tpm_sign_fn, NULL, tpm_deinit_fn, 0);
+ ret = gnutls_privkey_import_ext2(pkey, GNUTLS_PK_RSA, s, tpm_sign_fn,
+ NULL, tpm_deinit_fn, 0);
if (ret < 0) {
gnutls_assert();
goto out_session;
}
- ret =
- gnutls_privkey_sign_data(pkey, GNUTLS_DIG_SHA1, 0, &nulldata,
- &tmp_sig);
+ ret = gnutls_privkey_sign_data(pkey, GNUTLS_DIG_SHA1, 0, &nulldata,
+ &tmp_sig);
if (ret < 0) {
gnutls_assert();
goto out_session;
@@ -715,16 +687,16 @@ import_tpm_key(gnutls_privkey_t pkey,
gnutls_free(key_password);
return 0;
- out_key_policy:
+out_key_policy:
pTspi_Context_CloseObject(s->tpm_ctx, s->tpm_key_policy);
s->tpm_key_policy = 0;
- out_key:
+out_key:
pTspi_Context_CloseObject(s->tpm_ctx, s->tpm_key);
s->tpm_key = 0;
- out_session:
+out_session:
_gnutls_privkey_cleanup(pkey);
tpm_close_session(s);
- out_ctx:
+out_ctx:
gnutls_free(s);
gnutls_free(key_password);
return ret;
@@ -750,12 +722,11 @@ import_tpm_key(gnutls_privkey_t pkey,
* Since: 3.1.0
*
**/
-int
-gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- const char *srk_password,
- const char *key_password, unsigned int flags)
+int gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format,
+ const char *srk_password,
+ const char *key_password, unsigned int flags)
{
CHECK_INIT;
@@ -780,8 +751,8 @@ static void clear_tpmkey_url(struct tpmkey_url_st *s)
memset(s, 0, sizeof(*s));
}
-static int
-unescape_string(char *output, const char *input, size_t *size, char terminator)
+static int unescape_string(char *output, const char *input, size_t *size,
+ char terminator)
{
gnutls_buffer_st str;
int ret = 0;
@@ -826,9 +797,9 @@ unescape_string(char *output, const char *input, size_t *size, char terminator)
return ret;
}
-# define UUID_SIZE 16
+#define UUID_SIZE 16
-static int randomize_uuid(TSS_UUID * uuid)
+static int randomize_uuid(TSS_UUID *uuid)
{
uint8_t raw_uuid[16];
int ret;
@@ -853,8 +824,7 @@ static int randomize_uuid(TSS_UUID * uuid)
return 0;
}
-static int encode_tpmkey_url(char **url, const TSS_UUID * uuid,
- TSS_FLAG storage)
+static int encode_tpmkey_url(char **url, const TSS_UUID *uuid, TSS_FLAG storage)
{
uint8_t u1[UUID_SIZE];
gnutls_buffer_st buf;
@@ -876,35 +846,23 @@ static int encode_tpmkey_url(char **url, const TSS_UUID * uuid,
goto cleanup;
}
- ret =
- _gnutls_buffer_append_printf(&buf,
- "%.2x%.2x%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x",
- (unsigned int)u1[0],
- (unsigned int)u1[1],
- (unsigned int)u1[2],
- (unsigned int)u1[3],
- (unsigned int)u1[4],
- (unsigned int)u1[5],
- (unsigned int)u1[6],
- (unsigned int)u1[7],
- (unsigned int)u1[8],
- (unsigned int)u1[9],
- (unsigned int)u1[10],
- (unsigned int)u1[11],
- (unsigned int)u1[12],
- (unsigned int)u1[13],
- (unsigned int)u1[14],
- (unsigned int)u1[15]);
+ ret = _gnutls_buffer_append_printf(
+ &buf,
+ "%.2x%.2x%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x",
+ (unsigned int)u1[0], (unsigned int)u1[1], (unsigned int)u1[2],
+ (unsigned int)u1[3], (unsigned int)u1[4], (unsigned int)u1[5],
+ (unsigned int)u1[6], (unsigned int)u1[7], (unsigned int)u1[8],
+ (unsigned int)u1[9], (unsigned int)u1[10], (unsigned int)u1[11],
+ (unsigned int)u1[12], (unsigned int)u1[13],
+ (unsigned int)u1[14], (unsigned int)u1[15]);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_buffer_append_printf(&buf, ";storage=%s",
- (storage ==
- TSS_PS_TYPE_USER) ? "user" :
- "system");
+ ret = _gnutls_buffer_append_printf(
+ &buf, ";storage=%s",
+ (storage == TSS_PS_TYPE_USER) ? "user" : "system");
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -919,7 +877,7 @@ static int encode_tpmkey_url(char **url, const TSS_UUID * uuid,
*url = (char *)dret.data;
return 0;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -994,7 +952,7 @@ static int decode_tpmkey_url(const char *url, struct tpmkey_url_st *s)
return 0;
- cleanup:
+cleanup:
clear_tpmkey_url(s);
return ret;
}
@@ -1024,11 +982,9 @@ static int decode_tpmkey_url(const char *url, struct tpmkey_url_st *s)
* Since: 3.1.0
*
**/
-int
-gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey,
- const char *url,
- const char *srk_password,
- const char *key_password, unsigned int flags)
+int gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey, const char *url,
+ const char *srk_password,
+ const char *key_password, unsigned int flags)
{
struct tpmkey_url_st durl;
gnutls_datum_t fdata = { NULL, 0 };
@@ -1048,17 +1004,14 @@ gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey,
goto cleanup;
}
- ret =
- gnutls_privkey_import_tpm_raw(pkey, &fdata,
- GNUTLS_TPMKEY_FMT_CTK_PEM,
- srk_password,
- key_password, flags);
+ ret = gnutls_privkey_import_tpm_raw(pkey, &fdata,
+ GNUTLS_TPMKEY_FMT_CTK_PEM,
+ srk_password, key_password,
+ flags);
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR)
- ret =
- gnutls_privkey_import_tpm_raw(pkey, &fdata,
- GNUTLS_TPMKEY_FMT_RAW,
- srk_password,
- key_password, flags);
+ ret = gnutls_privkey_import_tpm_raw(
+ pkey, &fdata, GNUTLS_TPMKEY_FMT_RAW,
+ srk_password, key_password, flags);
if (ret < 0) {
gnutls_assert();
@@ -1066,15 +1019,13 @@ gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey,
}
} else if (durl.uuid_set) {
if (flags & GNUTLS_PRIVKEY_DISABLE_CALLBACKS)
- ret =
- import_tpm_key(pkey, NULL, 0, &durl.uuid,
- durl.storage, srk_password,
- key_password);
+ ret = import_tpm_key(pkey, NULL, 0, &durl.uuid,
+ durl.storage, srk_password,
+ key_password);
else
- ret =
- import_tpm_key_cb(pkey, NULL, 0, &durl.uuid,
- durl.storage, srk_password,
- key_password);
+ ret = import_tpm_key_cb(pkey, NULL, 0, &durl.uuid,
+ durl.storage, srk_password,
+ key_password);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1082,7 +1033,7 @@ gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(fdata.data);
clear_tpmkey_url(&durl);
return ret;
@@ -1102,8 +1053,8 @@ static int read_pubkey(gnutls_pubkey_t pub, TSS_HKEY key_ctx, size_t *psize)
/* read the public key */
tssret = pTspi_GetAttribData(key_ctx, TSS_TSPATTRIB_RSAKEY_INFO,
- TSS_TSPATTRIB_KEYINFO_RSA_MODULUS,
- &tint, (void *)&tdata);
+ TSS_TSPATTRIB_KEYINFO_RSA_MODULUS, &tint,
+ (void *)&tdata);
if (tssret != 0) {
gnutls_assert();
return tss_err(tssret);
@@ -1113,8 +1064,8 @@ static int read_pubkey(gnutls_pubkey_t pub, TSS_HKEY key_ctx, size_t *psize)
m.size = tint;
tssret = pTspi_GetAttribData(key_ctx, TSS_TSPATTRIB_RSAKEY_INFO,
- TSS_TSPATTRIB_KEYINFO_RSA_EXPONENT,
- &tint, (void *)&tdata);
+ TSS_TSPATTRIB_KEYINFO_RSA_EXPONENT, &tint,
+ (void *)&tdata);
if (tssret != 0) {
gnutls_assert();
pTspi_Context_FreeMemory(key_ctx, m.data);
@@ -1138,11 +1089,9 @@ static int read_pubkey(gnutls_pubkey_t pub, TSS_HKEY key_ctx, size_t *psize)
return 0;
}
-static int
-import_tpm_pubkey(gnutls_pubkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- TSS_UUID * uuid, TSS_FLAG storage, const char *srk_password)
+static int import_tpm_pubkey(gnutls_pubkey_t pkey, const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,
+ TSS_FLAG storage, const char *srk_password)
{
int err, ret;
struct tpm_ctx_st s;
@@ -1158,9 +1107,8 @@ import_tpm_pubkey(gnutls_pubkey_t pkey,
goto out_session;
}
} else if (uuid) {
- err =
- pTspi_Context_LoadKeyByUUID(s.tpm_ctx, storage,
- *uuid, &s.tpm_key);
+ err = pTspi_Context_LoadKeyByUUID(s.tpm_ctx, storage, *uuid,
+ &s.tpm_key);
if (err) {
gnutls_assert();
ret = tss_err(err);
@@ -1179,42 +1127,37 @@ import_tpm_pubkey(gnutls_pubkey_t pkey,
}
ret = 0;
- out_session:
+out_session:
tpm_close_session(&s);
return ret;
}
-static int
-import_tpm_pubkey_cb(gnutls_pubkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- TSS_UUID * uuid,
- TSS_FLAG storage, const char *srk_password)
+static int import_tpm_pubkey_cb(gnutls_pubkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,
+ TSS_FLAG storage, const char *srk_password)
{
unsigned int attempts = 0;
char pin1[GNUTLS_PKCS11_MAX_PIN_LEN];
int ret, sret;
do {
- ret =
- import_tpm_pubkey(pkey, fdata, format, uuid, storage,
- srk_password);
+ ret = import_tpm_pubkey(pkey, fdata, format, uuid, storage,
+ srk_password);
if (attempts > 3)
break;
if (ret == GNUTLS_E_TPM_SRK_PASSWORD_ERROR) {
- sret =
- tpm_pin(&pkey->pin, &srk_uuid, storage, pin1,
- sizeof(pin1), attempts++);
+ sret = tpm_pin(&pkey->pin, &srk_uuid, storage, pin1,
+ sizeof(pin1), attempts++);
if (sret < 0) {
gnutls_assert();
return GNUTLS_E_TPM_SRK_PASSWORD_ERROR;
}
srk_password = pin1;
}
- }
- while (ret == GNUTLS_E_TPM_SRK_PASSWORD_ERROR);
+ } while (ret == GNUTLS_E_TPM_SRK_PASSWORD_ERROR);
if (ret < 0)
gnutls_assert();
@@ -1240,11 +1183,10 @@ import_tpm_pubkey_cb(gnutls_pubkey_t pkey,
*
* Since: 3.1.0
**/
-int
-gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- const char *srk_password, unsigned int flags)
+int gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format,
+ const char *srk_password, unsigned int flags)
{
CHECK_INIT;
@@ -1278,10 +1220,8 @@ gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
* Since: 3.1.0
*
**/
-int
-gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey,
- const char *url,
- const char *srk_password, unsigned int flags)
+int gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey, const char *url,
+ const char *srk_password, unsigned int flags)
{
struct tpmkey_url_st durl;
gnutls_datum_t fdata = { NULL, 0 };
@@ -1294,35 +1234,30 @@ gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey,
return gnutls_assert_val(ret);
if (durl.filename) {
-
ret = gnutls_load_file(durl.filename, &fdata);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- gnutls_pubkey_import_tpm_raw(pkey, &fdata,
- GNUTLS_TPMKEY_FMT_CTK_PEM,
- srk_password, flags);
+ ret = gnutls_pubkey_import_tpm_raw(pkey, &fdata,
+ GNUTLS_TPMKEY_FMT_CTK_PEM,
+ srk_password, flags);
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR)
- ret =
- gnutls_pubkey_import_tpm_raw(pkey, &fdata,
- GNUTLS_TPMKEY_FMT_RAW,
- srk_password, flags);
+ ret = gnutls_pubkey_import_tpm_raw(
+ pkey, &fdata, GNUTLS_TPMKEY_FMT_RAW,
+ srk_password, flags);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
} else if (durl.uuid_set) {
if (flags & GNUTLS_PUBKEY_DISABLE_CALLBACKS)
- ret =
- import_tpm_pubkey(pkey, NULL, 0, &durl.uuid,
- durl.storage, srk_password);
+ ret = import_tpm_pubkey(pkey, NULL, 0, &durl.uuid,
+ durl.storage, srk_password);
else
- ret =
- import_tpm_pubkey_cb(pkey, NULL, 0, &durl.uuid,
- durl.storage, srk_password);
+ ret = import_tpm_pubkey_cb(pkey, NULL, 0, &durl.uuid,
+ durl.storage, srk_password);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1330,7 +1265,7 @@ gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(fdata.data);
clear_tpmkey_url(&durl);
return ret;
@@ -1370,14 +1305,13 @@ gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey,
*
* Since: 3.1.0
**/
-int
-gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
- const char *srk_password,
- const char *key_password,
- gnutls_tpmkey_fmt_t format,
- gnutls_x509_crt_fmt_t pub_format,
- gnutls_datum_t * privkey,
- gnutls_datum_t * pubkey, unsigned int flags)
+int gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
+ const char *srk_password,
+ const char *key_password,
+ gnutls_tpmkey_fmt_t format,
+ gnutls_x509_crt_fmt_t pub_format,
+ gnutls_datum_t *privkey, gnutls_datum_t *pubkey,
+ unsigned int flags)
{
TSS_FLAG tpm_flags = TSS_KEY_VOLATILE;
TSS_HKEY key_ctx;
@@ -1447,19 +1381,17 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
gnutls_assert();
}
- tssret =
- pTspi_Context_CreateObject(s.tpm_ctx, TSS_OBJECT_TYPE_RSAKEY,
- tpm_flags, &key_ctx);
+ tssret = pTspi_Context_CreateObject(s.tpm_ctx, TSS_OBJECT_TYPE_RSAKEY,
+ tpm_flags, &key_ctx);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
goto err_cc;
}
- tssret =
- pTspi_SetAttribUint32(key_ctx, TSS_TSPATTRIB_KEY_INFO,
- TSS_TSPATTRIB_KEYINFO_SIGSCHEME,
- TSS_SS_RSASSAPKCS1V15_DER);
+ tssret = pTspi_SetAttribUint32(key_ctx, TSS_TSPATTRIB_KEY_INFO,
+ TSS_TSPATTRIB_KEYINFO_SIGSCHEME,
+ TSS_SS_RSASSAPKCS1V15_DER);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
@@ -1471,27 +1403,23 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
gnutls_datum_t pout;
char *password = NULL;
- tssret =
- pTspi_GetPolicyObject(key_ctx, TSS_POLICY_USAGE,
- &key_policy);
+ tssret = pTspi_GetPolicyObject(key_ctx, TSS_POLICY_USAGE,
+ &key_policy);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
goto err_sa;
}
- ret =
- _gnutls_utf8_password_normalize(key_password,
- strlen(key_password), &pout,
- 0);
+ ret = _gnutls_utf8_password_normalize(
+ key_password, strlen(key_password), &pout, 0);
if (ret < 0) {
gnutls_assert();
goto err_sa;
}
password = (char *)pout.data;
- tssret = myTspi_Policy_SetSecret(key_policy,
- SAFE_LEN(password),
+ tssret = myTspi_Policy_SetSecret(key_policy, SAFE_LEN(password),
(void *)password);
gnutls_free(password);
if (tssret != 0) {
@@ -1517,19 +1445,18 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
goto err_sa;
}
- tssret =
- pTspi_Context_RegisterKey(s.tpm_ctx, key_ctx,
- storage_type, key_uuid,
- TSS_PS_TYPE_SYSTEM, srk_uuid);
+ tssret = pTspi_Context_RegisterKey(s.tpm_ctx, key_ctx,
+ storage_type, key_uuid,
+ TSS_PS_TYPE_SYSTEM,
+ srk_uuid);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
goto err_sa;
}
- ret =
- encode_tpmkey_url((char **)&privkey->data, &key_uuid,
- storage_type);
+ ret = encode_tpmkey_url((char **)&privkey->data, &key_uuid,
+ storage_type);
if (ret < 0) {
TSS_HKEY tkey;
@@ -1540,12 +1467,11 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
}
privkey->size = strlen((char *)privkey->data);
- } else { /* get the key as blob */
+ } else { /* get the key as blob */
- tssret =
- pTspi_GetAttribData(key_ctx, TSS_TSPATTRIB_KEY_BLOB,
- TSS_TSPATTRIB_KEYBLOB_BLOB, &tint,
- (void *)&tdata);
+ tssret = pTspi_GetAttribData(key_ctx, TSS_TSPATTRIB_KEY_BLOB,
+ TSS_TSPATTRIB_KEYBLOB_BLOB, &tint,
+ (void *)&tdata);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
@@ -1553,18 +1479,16 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
}
if (format == GNUTLS_TPMKEY_FMT_CTK_PEM) {
- ret =
- _gnutls_x509_encode_string
- (ASN1_ETYPE_OCTET_STRING, tdata, tint, &tmpkey);
+ ret = _gnutls_x509_encode_string(
+ ASN1_ETYPE_OCTET_STRING, tdata, tint, &tmpkey);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_fbase64_encode("TSS KEY BLOB",
- tmpkey.data,
- tmpkey.size, privkey);
+ ret = _gnutls_fbase64_encode("TSS KEY BLOB",
+ tmpkey.data, tmpkey.size,
+ privkey);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1572,7 +1496,7 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
} else {
UINT32 tint2;
- tmpkey.size = tint + 32; /* spec says no more than 20 */
+ tmpkey.size = tint + 32; /* spec says no more than 20 */
tmpkey.data = gnutls_malloc(tmpkey.size);
if (tmpkey.data == NULL) {
gnutls_assert();
@@ -1581,10 +1505,9 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
}
tint2 = tmpkey.size;
- tssret =
- pTspi_EncodeDER_TssBlob(tint, tdata,
- TSS_BLOB_TYPE_PRIVATEKEY,
- &tint2, tmpkey.data);
+ tssret = pTspi_EncodeDER_TssBlob(
+ tint, tdata, TSS_BLOB_TYPE_PRIVATEKEY, &tint2,
+ tmpkey.data);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
@@ -1623,8 +1546,8 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
goto pubkey_cleanup;
}
- ret =
- gnutls_pubkey_export(pub, pub_format, pubkey->data, &psize);
+ ret = gnutls_pubkey_export(pub, pub_format, pubkey->data,
+ &psize);
if (ret < 0) {
gnutls_assert();
goto pubkey_cleanup;
@@ -1637,15 +1560,15 @@ gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
ret = 0;
goto cleanup;
- pubkey_cleanup:
+pubkey_cleanup:
gnutls_pubkey_deinit(pub);
- privkey_cleanup:
+privkey_cleanup:
gnutls_free(privkey->data);
- cleanup:
+cleanup:
gnutls_free(tmpkey.data);
- err_sa:
+err_sa:
pTspi_Context_CloseObject(s.tpm_ctx, key_ctx);
- err_cc:
+err_cc:
tpm_close_session(&s);
return ret;
}
@@ -1684,9 +1607,8 @@ void gnutls_tpm_key_list_deinit(gnutls_tpm_key_list_t list)
*
* Since: 3.1.0
**/
-int
-gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned int idx,
- char **url, unsigned int flags)
+int gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned int idx,
+ char **url, unsigned int flags)
{
CHECK_INIT;
@@ -1709,7 +1631,7 @@ gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned int idx,
*
* Since: 3.1.0
**/
-int gnutls_tpm_get_registered(gnutls_tpm_key_list_t * list)
+int gnutls_tpm_get_registered(gnutls_tpm_key_list_t *list)
{
TSS_RESULT tssret;
int ret;
@@ -1734,11 +1656,10 @@ int gnutls_tpm_get_registered(gnutls_tpm_key_list_t * list)
goto cleanup;
}
- tssret =
- pTspi_Context_GetRegisteredKeysByUUID2((*list)->tpm_ctx,
- TSS_PS_TYPE_SYSTEM, NULL,
- &(*list)->size,
- &(*list)->ki);
+ tssret = pTspi_Context_GetRegisteredKeysByUUID2((*list)->tpm_ctx,
+ TSS_PS_TYPE_SYSTEM,
+ NULL, &(*list)->size,
+ &(*list)->ki);
if (tssret) {
gnutls_assert();
ret = tss_err(tssret);
@@ -1746,7 +1667,7 @@ int gnutls_tpm_get_registered(gnutls_tpm_key_list_t * list)
}
return 0;
- cleanup:
+cleanup:
gnutls_tpm_key_list_deinit(*list);
return ret;
@@ -1786,9 +1707,8 @@ int gnutls_tpm_privkey_delete(const char *url, const char *srk_password)
if (ret < 0)
return gnutls_assert_val(ret);
- tssret =
- pTspi_Context_UnregisterKey(s.tpm_ctx, durl.storage, durl.uuid,
- &tkey);
+ tssret = pTspi_Context_UnregisterKey(s.tpm_ctx, durl.storage, durl.uuid,
+ &tkey);
if (tssret != 0) {
gnutls_assert();
ret = tss_err(tssret);
@@ -1796,55 +1716,48 @@ int gnutls_tpm_privkey_delete(const char *url, const char *srk_password)
}
ret = 0;
- err_cc:
+err_cc:
tpm_close_session(&s);
return ret;
}
-#else /* HAVE_TROUSERS */
-int
-gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- const char *srk_password,
- const char *key_password, unsigned int flags)
+#else /* HAVE_TROUSERS */
+int gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format,
+ const char *srk_password,
+ const char *key_password, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey,
- const char *url,
- const char *srk_password,
- const char *key_password, unsigned int flags)
+int gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey, const char *url,
+ const char *srk_password,
+ const char *key_password, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
- const gnutls_datum_t * fdata,
- gnutls_tpmkey_fmt_t format,
- const char *srk_password, unsigned int flags)
+int gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,
+ const gnutls_datum_t *fdata,
+ gnutls_tpmkey_fmt_t format,
+ const char *srk_password, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey,
- const char *url,
- const char *srk_password, unsigned int flags)
+int gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey, const char *url,
+ const char *srk_password, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int
-gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
- const char *srk_password,
- const char *key_password,
- gnutls_tpmkey_fmt_t format,
- gnutls_x509_crt_fmt_t pub_format,
- gnutls_datum_t * privkey,
- gnutls_datum_t * pubkey, unsigned int flags)
+int gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned int bits,
+ const char *srk_password,
+ const char *key_password,
+ gnutls_tpmkey_fmt_t format,
+ gnutls_x509_crt_fmt_t pub_format,
+ gnutls_datum_t *privkey, gnutls_datum_t *pubkey,
+ unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -1854,14 +1767,13 @@ void gnutls_tpm_key_list_deinit(gnutls_tpm_key_list_t list)
return;
}
-int
-gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned int idx,
- char **url, unsigned int flags)
+int gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned int idx,
+ char **url, unsigned int flags)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-int gnutls_tpm_get_registered(gnutls_tpm_key_list_t * list)
+int gnutls_tpm_get_registered(gnutls_tpm_key_list_t *list)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
@@ -1870,4 +1782,4 @@ int gnutls_tpm_privkey_delete(const char *url, const char *srk_password)
{
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
}
-#endif /* HAVE_TROUSERS */
+#endif /* HAVE_TROUSERS */
diff --git a/lib/tpm2.c b/lib/tpm2.c
index c34333cd63..87cd2eaca1 100644
--- a/lib/tpm2.c
+++ b/lib/tpm2.c
@@ -66,9 +66,9 @@ static int rsa_key_info(gnutls_privkey_t key, unsigned int flags, void *_info)
return 1;
default:
- _gnutls_debug_log
- ("tpm2: unsupported RSA sign algo %s\n",
- gnutls_sign_get_name(algo));
+ _gnutls_debug_log(
+ "tpm2: unsupported RSA sign algo %s\n",
+ gnutls_sign_get_name(algo));
return 0;
}
}
@@ -97,13 +97,13 @@ static int ec_key_info(gnutls_privkey_t key, unsigned int flags, void *_info)
return 1;
case GNUTLS_SIGN_ECDSA_SECP256R1_SHA256:
- return tpm2_curve == 0x0003; /* TPM2_ECC_NIST_P256 */
+ return tpm2_curve == 0x0003; /* TPM2_ECC_NIST_P256 */
case GNUTLS_SIGN_ECDSA_SECP384R1_SHA384:
- return tpm2_curve == 0x0004; /* TPM2_ECC_NIST_P384 */
+ return tpm2_curve == 0x0004; /* TPM2_ECC_NIST_P384 */
case GNUTLS_SIGN_ECDSA_SECP521R1_SHA512:
- return tpm2_curve == 0x0005; /* TPM2_ECC_NIST_P521 */
+ return tpm2_curve == 0x0005; /* TPM2_ECC_NIST_P521 */
default:
_gnutls_debug_log("tpm2: unsupported EC sign algo %s\n",
@@ -119,7 +119,7 @@ static int ec_key_info(gnutls_privkey_t key, unsigned int flags, void *_info)
return -1;
}
-static int decode_data(asn1_node n, gnutls_datum_t * r)
+static int decode_data(asn1_node n, gnutls_datum_t *r)
{
asn1_data_node_st d;
int lenlen;
@@ -145,7 +145,7 @@ static int decode_data(asn1_node n, gnutls_datum_t * r)
return 0;
}
-int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t * fdata)
+int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t *fdata)
{
gnutls_datum_t asn1, pubdata, privdata;
asn1_node tpmkey = NULL;
@@ -206,7 +206,7 @@ int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t * fdata)
value_buflen = 5;
err = asn1_read_value(tpmkey, "parent", value_buf, &value_buflen);
if (err == ASN1_ELEMENT_NOT_FOUND) {
- parent = 0x40000001; /* RH_OWNER */
+ parent = 0x40000001; /* RH_OWNER */
} else if (err != ASN1_SUCCESS) {
_gnutls_debug_log("tpm2: failed to parse TPM2 key parent: %s\n",
asn1_strerror(err));
@@ -219,8 +219,8 @@ int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t * fdata)
if (value_buflen == 5) {
if (value_buf[0]) {
gnutls_assert();
- _gnutls_debug_log
- ("tpm2: failed to parse parent key\n");
+ _gnutls_debug_log(
+ "tpm2: failed to parse parent key\n");
ret = GNUTLS_E_TPM_ERROR;
goto out_tpmkey;
}
@@ -260,8 +260,8 @@ int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t * fdata)
/* Now we've extracted what we need from the ASN.1, invoke the
* actual TPM2 code (whichever implementation we end up with */
- ret = install_tpm2_key(info, pkey, parent, emptyauth,
- &privdata, &pubdata);
+ ret = install_tpm2_key(info, pkey, parent, emptyauth, &privdata,
+ &pubdata);
if (ret < 0) {
goto out_tpmkey;
}
@@ -287,12 +287,12 @@ int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t * fdata)
}
ret = 0;
- info = NULL; /* part of pkey now */
+ info = NULL; /* part of pkey now */
- out_tpmkey:
+out_tpmkey:
asn1_delete_structure(&tpmkey);
release_tpm2_ctx(info);
- out_asn1:
+out_asn1:
gnutls_free(asn1.data);
return ret;
}
diff --git a/lib/tpm2.h b/lib/tpm2.h
index 45105b86d0..d3eeede3b5 100644
--- a/lib/tpm2.h
+++ b/lib/tpm2.h
@@ -22,14 +22,14 @@
*/
#ifndef GNUTLS_LIB_TPM2_H
-# define GNUTLS_LIB_TPM2_H
+#define GNUTLS_LIB_TPM2_H
-# include "pin.h"
+#include "pin.h"
/* Functions used outside tpm2.c */
void _gnutls_tpm2_deinit(void);
-int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t * fdata);
+int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t *fdata);
/* Functions only used in tpm2.c */
@@ -43,22 +43,22 @@ void release_tpm2_ctx(struct tpm2_info_st *info);
int install_tpm2_key(struct tpm2_info_st *info, gnutls_privkey_t pkey,
unsigned int parent, bool emptyauth,
- gnutls_datum_t * privdata, gnutls_datum_t * pubdata);
+ gnutls_datum_t *privdata, gnutls_datum_t *pubdata);
void tpm2_deinit_fn(gnutls_privkey_t key, void *priv);
int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
void *_info, unsigned int flags,
- const gnutls_datum_t * data, gnutls_datum_t * sig);
+ const gnutls_datum_t *data, gnutls_datum_t *sig);
int tpm2_ec_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
void *_info, unsigned int flags,
- const gnutls_datum_t * data, gnutls_datum_t * sig);
+ const gnutls_datum_t *data, gnutls_datum_t *sig);
uint16_t tpm2_key_curve(struct tpm2_info_st *info);
int tpm2_rsa_key_bits(struct tpm2_info_st *info);
-int tpm2_convert_public(gnutls_privkey_t key,
- void *userdata, gnutls_pk_params_st * params);
+int tpm2_convert_public(gnutls_privkey_t key, void *userdata,
+ gnutls_pk_params_st *params);
-#endif /* GNUTLS_LIB_TPM2_H */
+#endif /* GNUTLS_LIB_TPM2_H */
diff --git a/lib/tpm2_esys.c b/lib/tpm2_esys.c
index 54d619e420..bfb5133bf6 100644
--- a/lib/tpm2_esys.c
+++ b/lib/tpm2_esys.c
@@ -87,191 +87,161 @@ static void *_gnutls_tss2_tctildr_dlhandle;
/* Does the __typeof__ keyword work? This could be done by
'configure', but for now it's easier to do it by hand. */
#undef HAVE___TYPEOF__
-#if (2 <= __GNUC__ \
- || (4 <= __clang_major__) \
- || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
- || (0x5110 <= __SUNPRO_C && !__STDC__))
-# define HAVE___TYPEOF__ 1
+#if (2 <= __GNUC__ || (4 <= __clang_major__) || \
+ (1210 <= __IBMC__ && defined __IBM__TYPEOF__) || \
+ (0x5110 <= __SUNPRO_C && !__STDC__))
+#define HAVE___TYPEOF__ 1
#else
-# define HAVE___TYPEOF__ 0
+#define HAVE___TYPEOF__ 0
#endif
#if HAVE___TYPEOF__
-static __typeof__(Esys_GetCapability) (*_gnutls_tss2_Esys_GetCapability);
-static __typeof__(Esys_Free) (*_gnutls_tss2_Esys_Free);
-static __typeof__(Esys_TR_SetAuth) (*_gnutls_tss2_Esys_TR_SetAuth);
-static __typeof__(Esys_CreatePrimary) (*_gnutls_tss2_Esys_CreatePrimary);
-static __typeof__(Esys_Initialize) (*_gnutls_tss2_Esys_Initialize);
-static __typeof__(Esys_Startup) (*_gnutls_tss2_Esys_Startup);
-static __typeof__(Esys_TR_FromTPMPublic) (*_gnutls_tss2_Esys_TR_FromTPMPublic);
-static __typeof__(Esys_ReadPublic) (*_gnutls_tss2_Esys_ReadPublic);
-static __typeof__(Esys_Load) (*_gnutls_tss2_Esys_Load);
-static __typeof__(Esys_FlushContext) (*_gnutls_tss2_Esys_FlushContext);
-static __typeof__(Esys_Finalize) (*_gnutls_tss2_Esys_Finalize);
-static __typeof__(Esys_RSA_Decrypt) (*_gnutls_tss2_Esys_RSA_Decrypt);
-static __typeof__(Esys_Sign) (*_gnutls_tss2_Esys_Sign);
-
-static __typeof__(Tss2_MU_TPM2B_PRIVATE_Unmarshal)
- (*_gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal);
-static __typeof__(Tss2_MU_TPM2B_PUBLIC_Unmarshal)
- (*_gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal);
-
-static __typeof__(Tss2_TctiLdr_Initialize)
- (*_gnutls_tss2_Tss2_TctiLdr_Initialize);
-static __typeof__(Tss2_TctiLdr_Finalize)
- (*_gnutls_tss2_Tss2_TctiLdr_Finalize);
+static __typeof__(Esys_GetCapability)(*_gnutls_tss2_Esys_GetCapability);
+static __typeof__(Esys_Free)(*_gnutls_tss2_Esys_Free);
+static __typeof__(Esys_TR_SetAuth)(*_gnutls_tss2_Esys_TR_SetAuth);
+static __typeof__(Esys_CreatePrimary)(*_gnutls_tss2_Esys_CreatePrimary);
+static __typeof__(Esys_Initialize)(*_gnutls_tss2_Esys_Initialize);
+static __typeof__(Esys_Startup)(*_gnutls_tss2_Esys_Startup);
+static __typeof__(Esys_TR_FromTPMPublic)(*_gnutls_tss2_Esys_TR_FromTPMPublic);
+static __typeof__(Esys_ReadPublic)(*_gnutls_tss2_Esys_ReadPublic);
+static __typeof__(Esys_Load)(*_gnutls_tss2_Esys_Load);
+static __typeof__(Esys_FlushContext)(*_gnutls_tss2_Esys_FlushContext);
+static __typeof__(Esys_Finalize)(*_gnutls_tss2_Esys_Finalize);
+static __typeof__(Esys_RSA_Decrypt)(*_gnutls_tss2_Esys_RSA_Decrypt);
+static __typeof__(Esys_Sign)(*_gnutls_tss2_Esys_Sign);
+
+static __typeof__(Tss2_MU_TPM2B_PRIVATE_Unmarshal)(
+ *_gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal);
+static __typeof__(Tss2_MU_TPM2B_PUBLIC_Unmarshal)(
+ *_gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal);
+
+static __typeof__(Tss2_TctiLdr_Initialize)(
+ *_gnutls_tss2_Tss2_TctiLdr_Initialize);
+static __typeof__(Tss2_TctiLdr_Finalize)(*_gnutls_tss2_Tss2_TctiLdr_Finalize);
#else
-static TSS2_RC
- (*_gnutls_tss2_Esys_GetCapability) (ESYS_CONTEXT * esysContext,
- ESYS_TR shandle1,
- ESYS_TR shandle2,
- ESYS_TR shandle3,
- TPM2_CAP capability,
- UINT32 property,
- UINT32 propertyCount,
- TPMI_YES_NO * moreData,
- TPMS_CAPABILITY_DATA ** capabilityData);
+static TSS2_RC (*_gnutls_tss2_Esys_GetCapability)(
+ ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2,
+ ESYS_TR shandle3, TPM2_CAP capability, UINT32 property,
+ UINT32 propertyCount, TPMI_YES_NO *moreData,
+ TPMS_CAPABILITY_DATA **capabilityData);
static void (*_gnutls_tss2_Esys_Free)(void *__ptr);
-static TSS2_RC(*_gnutls_tss2_Esys_TR_SetAuth) (ESYS_CONTEXT * esysContext,
+static TSS2_RC (*_gnutls_tss2_Esys_TR_SetAuth)(ESYS_CONTEXT *esysContext,
ESYS_TR handle,
TPM2B_AUTH const *authValue);
-static TSS2_RC
- (*_gnutls_tss2_Esys_CreatePrimary) (ESYS_CONTEXT * esysContext,
- ESYS_TR primaryHandle,
- ESYS_TR shandle1,
- ESYS_TR shandle2,
- ESYS_TR shandle3,
- const TPM2B_SENSITIVE_CREATE *
- inSensitive,
- const TPM2B_PUBLIC * inPublic,
- const TPM2B_DATA * outsideInfo,
- const TPML_PCR_SELECTION * creationPCR,
- ESYS_TR * objectHandle,
- TPM2B_PUBLIC ** outPublic,
- TPM2B_CREATION_DATA ** creationData,
- TPM2B_DIGEST ** creationHash,
- TPMT_TK_CREATION ** creationTicket);
-static TSS2_RC(*_gnutls_tss2_Esys_Initialize) (ESYS_CONTEXT ** esys_context,
- TSS2_TCTI_CONTEXT * tcti,
- TSS2_ABI_VERSION * abiVersion);
-static TSS2_RC(*_gnutls_tss2_Esys_Startup) (ESYS_CONTEXT * esysContext,
+static TSS2_RC (*_gnutls_tss2_Esys_CreatePrimary)(
+ ESYS_CONTEXT *esysContext, ESYS_TR primaryHandle, ESYS_TR shandle1,
+ ESYS_TR shandle2, ESYS_TR shandle3,
+ const TPM2B_SENSITIVE_CREATE *inSensitive, const TPM2B_PUBLIC *inPublic,
+ const TPM2B_DATA *outsideInfo, const TPML_PCR_SELECTION *creationPCR,
+ ESYS_TR *objectHandle, TPM2B_PUBLIC **outPublic,
+ TPM2B_CREATION_DATA **creationData, TPM2B_DIGEST **creationHash,
+ TPMT_TK_CREATION **creationTicket);
+static TSS2_RC (*_gnutls_tss2_Esys_Initialize)(ESYS_CONTEXT **esys_context,
+ TSS2_TCTI_CONTEXT *tcti,
+ TSS2_ABI_VERSION *abiVersion);
+static TSS2_RC (*_gnutls_tss2_Esys_Startup)(ESYS_CONTEXT *esysContext,
TPM2_SU startupType);
-static TSS2_RC(*_gnutls_tss2_Esys_TR_FromTPMPublic) (ESYS_CONTEXT * esysContext,
+static TSS2_RC (*_gnutls_tss2_Esys_TR_FromTPMPublic)(ESYS_CONTEXT *esysContext,
TPM2_HANDLE tpm_handle,
ESYS_TR optionalSession1,
ESYS_TR optionalSession2,
ESYS_TR optionalSession3,
- ESYS_TR * object);
-static TSS2_RC(*_gnutls_tss2_Esys_ReadPublic) (ESYS_CONTEXT * esysContext,
- ESYS_TR objectHandle,
- ESYS_TR shandle1,
- ESYS_TR shandle2,
- ESYS_TR shandle3,
- TPM2B_PUBLIC ** outPublic,
- TPM2B_NAME ** name,
- TPM2B_NAME ** qualifiedName);
-static TSS2_RC(*_gnutls_tss2_Esys_Load) (ESYS_CONTEXT * esysContext,
+ ESYS_TR *object);
+static TSS2_RC (*_gnutls_tss2_Esys_ReadPublic)(
+ ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR shandle1,
+ ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_PUBLIC **outPublic,
+ TPM2B_NAME **name, TPM2B_NAME **qualifiedName);
+static TSS2_RC (*_gnutls_tss2_Esys_Load)(ESYS_CONTEXT *esysContext,
ESYS_TR parentHandle, ESYS_TR shandle1,
ESYS_TR shandle2, ESYS_TR shandle3,
- const TPM2B_PRIVATE * inPrivate,
- const TPM2B_PUBLIC * inPublic,
- ESYS_TR * objectHandle);
-static TSS2_RC(*_gnutls_tss2_Esys_FlushContext) (ESYS_CONTEXT * esysContext,
+ const TPM2B_PRIVATE *inPrivate,
+ const TPM2B_PUBLIC *inPublic,
+ ESYS_TR *objectHandle);
+static TSS2_RC (*_gnutls_tss2_Esys_FlushContext)(ESYS_CONTEXT *esysContext,
ESYS_TR flushHandle);
-static void (*_gnutls_tss2_Esys_Finalize)(ESYS_CONTEXT ** context);
-static TSS2_RC
- (*_gnutls_tss2_Esys_RSA_Decrypt) (ESYS_CONTEXT * esysContext,
- ESYS_TR keyHandle,
- ESYS_TR shandle1,
- ESYS_TR shandle2,
- ESYS_TR shandle3,
- const TPM2B_PUBLIC_KEY_RSA * cipherText,
- const TPMT_RSA_DECRYPT * inScheme,
- const TPM2B_DATA * label,
- TPM2B_PUBLIC_KEY_RSA ** message);
-static TSS2_RC(*_gnutls_tss2_Esys_Sign) (ESYS_CONTEXT * esysContext,
- ESYS_TR keyHandle,
- ESYS_TR shandle1,
- ESYS_TR shandle2,
- ESYS_TR shandle3,
- const TPM2B_DIGEST * digest,
- const TPMT_SIG_SCHEME * inScheme,
- const TPMT_TK_HASHCHECK * validation,
- TPMT_SIGNATURE ** signature);
-
-static TSS2_RC
- (*_gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal) (uint8_t const buffer[],
- size_t buffer_size,
- size_t *offset,
- TPM2B_PRIVATE * dest);
-static TSS2_RC
- (*_gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal) (uint8_t const buffer[],
- size_t buffer_size,
- size_t *offset,
- TPM2B_PUBLIC * dest);
-
-static TSS2_RC
- (*_gnutls_tss2_Tss2_TctiLdr_Initialize) (const char *nameConf,
- TSS2_TCTI_CONTEXT ** context);
-static void (*_gnutls_tss2_Tss2_TctiLdr_Finalize)(TSS2_TCTI_CONTEXT ** context);
+static void (*_gnutls_tss2_Esys_Finalize)(ESYS_CONTEXT **context);
+static TSS2_RC (*_gnutls_tss2_Esys_RSA_Decrypt)(
+ ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1,
+ ESYS_TR shandle2, ESYS_TR shandle3,
+ const TPM2B_PUBLIC_KEY_RSA *cipherText,
+ const TPMT_RSA_DECRYPT *inScheme, const TPM2B_DATA *label,
+ TPM2B_PUBLIC_KEY_RSA **message);
+static TSS2_RC (*_gnutls_tss2_Esys_Sign)(ESYS_CONTEXT *esysContext,
+ ESYS_TR keyHandle, ESYS_TR shandle1,
+ ESYS_TR shandle2, ESYS_TR shandle3,
+ const TPM2B_DIGEST *digest,
+ const TPMT_SIG_SCHEME *inScheme,
+ const TPMT_TK_HASHCHECK *validation,
+ TPMT_SIGNATURE **signature);
+
+static TSS2_RC (*_gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal)(
+ uint8_t const buffer[], size_t buffer_size, size_t *offset,
+ TPM2B_PRIVATE *dest);
+static TSS2_RC (*_gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal)(
+ uint8_t const buffer[], size_t buffer_size, size_t *offset,
+ TPM2B_PUBLIC *dest);
+
+static TSS2_RC (*_gnutls_tss2_Tss2_TctiLdr_Initialize)(
+ const char *nameConf, TSS2_TCTI_CONTEXT **context);
+static void (*_gnutls_tss2_Tss2_TctiLdr_Finalize)(TSS2_TCTI_CONTEXT **context);
#endif
-#define DLSYM_TSS2(sys, sym) \
+#define DLSYM_TSS2(sys, sym) \
_gnutls_tss2_##sym = dlsym(_gnutls_tss2_##sys##_dlhandle, #sym); \
- if (!_gnutls_tss2_##sym) { \
- return -1; \
+ if (!_gnutls_tss2_##sym) { \
+ return -1; \
}
static int init_tss2_funcs(void)
{
if (!_gnutls_tss2_esys_dlhandle) {
_gnutls_tss2_esys_dlhandle =
- dlopen("libtss2-esys.so.0", RTLD_NOW | RTLD_GLOBAL);
+ dlopen("libtss2-esys.so.0", RTLD_NOW | RTLD_GLOBAL);
if (!_gnutls_tss2_esys_dlhandle) {
- _gnutls_debug_log
- ("tpm2: unable to dlopen libtss2-esys\n");
+ _gnutls_debug_log(
+ "tpm2: unable to dlopen libtss2-esys\n");
return -1;
}
}
DLSYM_TSS2(esys, Esys_GetCapability)
- DLSYM_TSS2(esys, Esys_Free)
- DLSYM_TSS2(esys, Esys_TR_SetAuth)
- DLSYM_TSS2(esys, Esys_CreatePrimary)
- DLSYM_TSS2(esys, Esys_Initialize)
- DLSYM_TSS2(esys, Esys_Startup)
- DLSYM_TSS2(esys, Esys_TR_FromTPMPublic)
- DLSYM_TSS2(esys, Esys_ReadPublic)
- DLSYM_TSS2(esys, Esys_Load)
- DLSYM_TSS2(esys, Esys_FlushContext)
- DLSYM_TSS2(esys, Esys_Finalize)
- DLSYM_TSS2(esys, Esys_RSA_Decrypt)
- DLSYM_TSS2(esys, Esys_Sign)
- if (!_gnutls_tss2_mu_dlhandle) {
+ DLSYM_TSS2(esys, Esys_Free)
+ DLSYM_TSS2(esys, Esys_TR_SetAuth)
+ DLSYM_TSS2(esys, Esys_CreatePrimary)
+ DLSYM_TSS2(esys, Esys_Initialize)
+ DLSYM_TSS2(esys, Esys_Startup)
+ DLSYM_TSS2(esys, Esys_TR_FromTPMPublic)
+ DLSYM_TSS2(esys, Esys_ReadPublic)
+ DLSYM_TSS2(esys, Esys_Load)
+ DLSYM_TSS2(esys, Esys_FlushContext)
+ DLSYM_TSS2(esys, Esys_Finalize)
+ DLSYM_TSS2(esys, Esys_RSA_Decrypt)
+ DLSYM_TSS2(esys, Esys_Sign)
+ if (!_gnutls_tss2_mu_dlhandle) {
_gnutls_tss2_mu_dlhandle =
- dlopen("libtss2-mu.so.0", RTLD_NOW | RTLD_GLOBAL);
+ dlopen("libtss2-mu.so.0", RTLD_NOW | RTLD_GLOBAL);
if (!_gnutls_tss2_mu_dlhandle) {
- _gnutls_debug_log
- ("tpm2: unable to dlopen libtss2-mu\n");
+ _gnutls_debug_log(
+ "tpm2: unable to dlopen libtss2-mu\n");
return -1;
}
}
DLSYM_TSS2(mu, Tss2_MU_TPM2B_PRIVATE_Unmarshal)
- DLSYM_TSS2(mu, Tss2_MU_TPM2B_PUBLIC_Unmarshal)
- if (!_gnutls_tss2_tctildr_dlhandle) {
+ DLSYM_TSS2(mu, Tss2_MU_TPM2B_PUBLIC_Unmarshal)
+ if (!_gnutls_tss2_tctildr_dlhandle) {
_gnutls_tss2_tctildr_dlhandle =
- dlopen("libtss2-tctildr.so.0", RTLD_NOW | RTLD_GLOBAL);
+ dlopen("libtss2-tctildr.so.0", RTLD_NOW | RTLD_GLOBAL);
if (!_gnutls_tss2_tctildr_dlhandle) {
- _gnutls_debug_log
- ("tpm2: unable to dlopen libtss2-tctildr\n");
+ _gnutls_debug_log(
+ "tpm2: unable to dlopen libtss2-tctildr\n");
return -1;
}
}
DLSYM_TSS2(tctildr, Tss2_TctiLdr_Initialize)
- DLSYM_TSS2(tctildr, Tss2_TctiLdr_Finalize)
- return 0;
+ DLSYM_TSS2(tctildr, Tss2_TctiLdr_Finalize)
+ return 0;
}
struct tpm2_info_st {
@@ -290,13 +260,10 @@ struct tpm2_info_st {
static TSS2_TCTI_CONTEXT *tcti_ctx;
#define PRIMARY_HASH_ALGORITHM TPM2_ALG_SHA256
-#define PRIMARY_OBJECT_ATTRIBUTES (TPMA_OBJECT_USERWITHAUTH | \
- TPMA_OBJECT_RESTRICTED | \
- TPMA_OBJECT_DECRYPT | \
- TPMA_OBJECT_NODA | \
- TPMA_OBJECT_FIXEDTPM | \
- TPMA_OBJECT_FIXEDPARENT | \
- TPMA_OBJECT_SENSITIVEDATAORIGIN)
+#define PRIMARY_OBJECT_ATTRIBUTES \
+ (TPMA_OBJECT_USERWITHAUTH | TPMA_OBJECT_RESTRICTED | \
+ TPMA_OBJECT_DECRYPT | TPMA_OBJECT_NODA | TPMA_OBJECT_FIXEDTPM | \
+ TPMA_OBJECT_FIXEDPARENT | TPMA_OBJECT_SENSITIVEDATAORIGIN)
static const TPM2B_PUBLIC primary_template_rsa = {
.publicArea = {
@@ -382,8 +349,8 @@ static const TPML_PCR_SELECTION all_creation_pcr = {
.count = 0,
};
-#define rc_is_key_auth_failed(rc) (((rc) & 0xff) == TPM2_RC_BAD_AUTH)
-#define rc_is_parent_auth_failed(rc) (((rc) & 0xff) == TPM2_RC_AUTH_FAIL)
+#define rc_is_key_auth_failed(rc) (((rc)&0xff) == TPM2_RC_BAD_AUTH)
+#define rc_is_parent_auth_failed(rc) (((rc)&0xff) == TPM2_RC_AUTH_FAIL)
struct tpm2_info_st *tpm2_info_init(struct pin_info_st *pin)
{
@@ -414,7 +381,7 @@ static int tpm2_pin(struct pin_info_st *pin_info, const char *url,
return ret;
}
-static void install_tpm_passphrase(TPM2B_DIGEST * auth, char *pass)
+static void install_tpm_passphrase(TPM2B_DIGEST *auth, char *pass)
{
if (strlen(pass) > sizeof(auth->buffer) - 1) {
_gnutls_debug_log("tpm2: password too long; truncating\n");
@@ -427,14 +394,13 @@ static void install_tpm_passphrase(TPM2B_DIGEST * auth, char *pass)
/* Figure out usable primary template according to the capabilities of
* the TPM chip; ECC is preferred over RSA for performance reasons.
*/
-static const TPM2B_PUBLIC *get_primary_template(ESYS_CONTEXT * ctx)
+static const TPM2B_PUBLIC *get_primary_template(ESYS_CONTEXT *ctx)
{
TPMS_CAPABILITY_DATA *capability_data;
UINT32 i;
TSS2_RC rc;
- rc = _gnutls_tss2_Esys_GetCapability(ctx,
- ESYS_TR_NONE, ESYS_TR_NONE,
+ rc = _gnutls_tss2_Esys_GetCapability(ctx, ESYS_TR_NONE, ESYS_TR_NONE,
ESYS_TR_NONE, TPM2_CAP_ALGS, 0,
TPM2_MAX_CAP_ALGS, NULL,
&capability_data);
@@ -499,8 +465,8 @@ static ESYS_TR tpm2_hierarchy_to_esys_handle(TPM2_RH hierarchy)
}
}
-static int init_tpm2_primary(struct tpm2_info_st *info,
- ESYS_CONTEXT * ctx, ESYS_TR * primary_handle)
+static int init_tpm2_primary(struct tpm2_info_st *info, ESYS_CONTEXT *ctx,
+ ESYS_TR *primary_handle)
{
TSS2_RC rc;
const char *hierarchy_name;
@@ -516,13 +482,13 @@ static int init_tpm2_primary(struct tpm2_info_st *info,
_gnutls_debug_log("tpm2: creating primary key under %s hierarchy\n",
hierarchy_name);
- reauth:
+reauth:
if (info->need_ownerauth) {
char pass[GNUTLS_PKCS11_MAX_PIN_LEN];
- if (tpm2_pin(info->pin_info, "tpm2:", hierarchy_name,
- pass, sizeof(pass))) {
- return
- gnutls_assert_val(GNUTLS_E_TPM_KEY_PASSWORD_ERROR);
+ if (tpm2_pin(info->pin_info, "tpm2:", hierarchy_name, pass,
+ sizeof(pass))) {
+ return gnutls_assert_val(
+ GNUTLS_E_TPM_KEY_PASSWORD_ERROR);
}
install_tpm_passphrase(&info->ownerauth, pass);
info->need_ownerauth = false;
@@ -536,16 +502,13 @@ static int init_tpm2_primary(struct tpm2_info_st *info,
if (!primary_template) {
return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
- rc = _gnutls_tss2_Esys_CreatePrimary(ctx, hierarchy,
- ESYS_TR_PASSWORD, ESYS_TR_NONE,
- ESYS_TR_NONE, &primary_sensitive,
- primary_template,
- &all_outside_info,
- &all_creation_pcr, primary_handle,
- NULL, NULL, NULL, NULL);
+ rc = _gnutls_tss2_Esys_CreatePrimary(
+ ctx, hierarchy, ESYS_TR_PASSWORD, ESYS_TR_NONE, ESYS_TR_NONE,
+ &primary_sensitive, primary_template, &all_outside_info,
+ &all_creation_pcr, primary_handle, NULL, NULL, NULL, NULL);
if (rc_is_key_auth_failed(rc)) {
- _gnutls_debug_log
- ("tpm2: Esys_CreatePrimary owner auth failed\n");
+ _gnutls_debug_log(
+ "tpm2: Esys_CreatePrimary owner auth failed\n");
info->need_ownerauth = true;
goto reauth;
} else if (rc) {
@@ -556,10 +519,12 @@ static int init_tpm2_primary(struct tpm2_info_st *info,
return 0;
}
-#define parent_is_generated(parent) ((parent) >> TPM2_HR_SHIFT == TPM2_HT_PERMANENT)
-#define parent_is_persistent(parent) ((parent) >> TPM2_HR_SHIFT == TPM2_HT_PERSISTENT)
+#define parent_is_generated(parent) \
+ ((parent) >> TPM2_HR_SHIFT == TPM2_HT_PERMANENT)
+#define parent_is_persistent(parent) \
+ ((parent) >> TPM2_HR_SHIFT == TPM2_HT_PERSISTENT)
-static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
+static int init_tpm2_key(ESYS_CONTEXT **ctx, ESYS_TR *key_handle,
struct tpm2_info_st *info)
{
ESYS_TR parent_handle = ESYS_TR_NONE;
@@ -578,8 +543,8 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
rc = _gnutls_tss2_Esys_Startup(*ctx, TPM2_SU_CLEAR);
if (rc == TPM2_RC_INITIALIZE) {
- _gnutls_debug_log
- ("tpm2: was already started up thus false positive failing in tpm2tss log\n");
+ _gnutls_debug_log(
+ "tpm2: was already started up thus false positive failing in tpm2tss log\n");
} else if (rc) {
gnutls_assert();
_gnutls_debug_log("tpm2: Esys_Startup failed: 0x%x\n", rc);
@@ -592,16 +557,14 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
goto error;
}
} else {
- rc = _gnutls_tss2_Esys_TR_FromTPMPublic(*ctx, info->parent,
- ESYS_TR_NONE,
- ESYS_TR_NONE,
- ESYS_TR_NONE,
- &parent_handle);
+ rc = _gnutls_tss2_Esys_TR_FromTPMPublic(
+ *ctx, info->parent, ESYS_TR_NONE, ESYS_TR_NONE,
+ ESYS_TR_NONE, &parent_handle);
if (rc) {
gnutls_assert();
- _gnutls_debug_log
- ("tpm2: Esys_TR_FromTPMPublic failed for parent 0x%x: 0x%x\n",
- info->parent, rc);
+ _gnutls_debug_log(
+ "tpm2: Esys_TR_FromTPMPublic failed for parent 0x%x: 0x%x\n",
+ info->parent, rc);
goto error;
}
/* If we don't already have a password (and haven't already authenticated
@@ -611,26 +574,22 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
if (!info->did_ownerauth && !info->ownerauth.size) {
TPM2B_PUBLIC *pub = NULL;
- rc = _gnutls_tss2_Esys_ReadPublic(*ctx, parent_handle,
- ESYS_TR_NONE,
- ESYS_TR_NONE,
- ESYS_TR_NONE,
- &pub, NULL, NULL);
- if (!rc &&
- !(pub->
- publicArea.objectAttributes & TPMA_OBJECT_NODA)) {
+ rc = _gnutls_tss2_Esys_ReadPublic(
+ *ctx, parent_handle, ESYS_TR_NONE, ESYS_TR_NONE,
+ ESYS_TR_NONE, &pub, NULL, NULL);
+ if (!rc && !(pub->publicArea.objectAttributes &
+ TPMA_OBJECT_NODA)) {
info->need_ownerauth = true;
}
_gnutls_tss2_Esys_Free(pub);
}
- reauth:
+ reauth:
if (info->need_ownerauth) {
char pass[GNUTLS_PKCS11_MAX_PIN_LEN];
- if (tpm2_pin(info->pin_info, "tpm2:", "parent",
- pass, sizeof(pass))) {
- return
- gnutls_assert_val
- (GNUTLS_E_TPM_KEY_PASSWORD_ERROR);
+ if (tpm2_pin(info->pin_info, "tpm2:", "parent", pass,
+ sizeof(pass))) {
+ return gnutls_assert_val(
+ GNUTLS_E_TPM_KEY_PASSWORD_ERROR);
}
install_tpm_passphrase(&info->ownerauth, pass);
info->need_ownerauth = false;
@@ -639,8 +598,8 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
&info->ownerauth);
if (rc) {
gnutls_assert();
- _gnutls_debug_log
- ("tpm2: Esys_TR_SetAuth failed: 0x%x\n", rc);
+ _gnutls_debug_log(
+ "tpm2: Esys_TR_SetAuth failed: 0x%x\n", rc);
goto error;
}
}
@@ -648,10 +607,9 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
_gnutls_debug_log("tpm2: loading TPM2 key blob, parent handle 0x%x\n",
parent_handle);
- rc = _gnutls_tss2_Esys_Load(*ctx, parent_handle,
- ESYS_TR_PASSWORD, ESYS_TR_NONE,
- ESYS_TR_NONE, &info->priv, &info->pub,
- key_handle);
+ rc = _gnutls_tss2_Esys_Load(*ctx, parent_handle, ESYS_TR_PASSWORD,
+ ESYS_TR_NONE, ESYS_TR_NONE, &info->priv,
+ &info->pub, key_handle);
if (rc_is_parent_auth_failed(rc)) {
gnutls_assert();
_gnutls_debug_log("tpm2: Esys_Load auth failed\n");
@@ -668,16 +626,17 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
if (parent_is_generated(info->parent)) {
rc = _gnutls_tss2_Esys_FlushContext(*ctx, parent_handle);
if (rc) {
- _gnutls_debug_log
- ("tpm2: Esys_FlushContext for generated primary failed: 0x%x\n",
- rc);
+ _gnutls_debug_log(
+ "tpm2: Esys_FlushContext for generated primary failed: 0x%x\n",
+ rc);
}
/* But it's non-fatal. */
}
return 0;
- error:
- if (parent_is_generated(info->parent) && parent_handle != ESYS_TR_NONE) {
+error:
+ if (parent_is_generated(info->parent) &&
+ parent_handle != ESYS_TR_NONE) {
_gnutls_tss2_Esys_FlushContext(*ctx, parent_handle);
}
if (*key_handle != ESYS_TR_NONE) {
@@ -689,17 +648,17 @@ static int init_tpm2_key(ESYS_CONTEXT ** ctx, ESYS_TR * key_handle,
return GNUTLS_E_TPM_ERROR;
}
-static int
-auth_tpm2_key(struct tpm2_info_st *info, ESYS_CONTEXT * ctx, ESYS_TR key_handle)
+static int auth_tpm2_key(struct tpm2_info_st *info, ESYS_CONTEXT *ctx,
+ ESYS_TR key_handle)
{
TSS2_RC rc;
if (info->need_userauth) {
char pass[GNUTLS_PKCS11_MAX_PIN_LEN];
- if (tpm2_pin(info->pin_info, "tpm2:", "key",
- pass, sizeof(pass))) {
- return
- gnutls_assert_val(GNUTLS_E_TPM_KEY_PASSWORD_ERROR);
+ if (tpm2_pin(info->pin_info, "tpm2:", "key", pass,
+ sizeof(pass))) {
+ return gnutls_assert_val(
+ GNUTLS_E_TPM_KEY_PASSWORD_ERROR);
}
install_tpm_passphrase(&info->userauth, pass);
@@ -716,14 +675,14 @@ auth_tpm2_key(struct tpm2_info_st *info, ESYS_CONTEXT * ctx, ESYS_TR key_handle)
int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
void *_info, unsigned int flags,
- const gnutls_datum_t * data, gnutls_datum_t * sig)
+ const gnutls_datum_t *data, gnutls_datum_t *sig)
{
struct tpm2_info_st *info = _info;
int ret;
ESYS_CONTEXT *ectx = NULL;
TPM2B_PUBLIC_KEY_RSA digest, *tsig = NULL;
- TPM2B_DATA label = {.size = 0 };
- TPMT_RSA_DECRYPT in_scheme = {.scheme = TPM2_ALG_NULL };
+ TPM2B_DATA label = { .size = 0 };
+ TPMT_RSA_DECRYPT in_scheme = { .scheme = TPM2_ALG_NULL };
ESYS_TR key_handle = ESYS_TR_NONE;
const gnutls_sign_entry_st *se;
gnutls_x509_spki_st params;
@@ -749,10 +708,8 @@ int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
}
flags |= GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS;
- ret = _gnutls_privkey_update_spki_params(key,
- key->pk_algorithm,
- se->hash, flags,
- &params);
+ ret = _gnutls_privkey_update_spki_params(
+ key, key->pk_algorithm, se->hash, flags, &params);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -761,16 +718,15 @@ int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
digest.size = info->pub.publicArea.unique.rsa.size;
ret = _gnutls_rsa_pss_sign_pad(&params, tpm2_rsa_key_bits(info),
- data,
- digest.buffer, digest.size);
+ data, digest.buffer,
+ digest.size);
if (ret < 0) {
return gnutls_assert_val(GNUTLS_E_PK_SIGN_FAILED);
}
break;
case GNUTLS_PK_RSA:
digest.size = info->pub.publicArea.unique.rsa.size;
- ret = _gnutls_rsa_pkcs1_sign_pad(tpm2_rsa_key_bits(info),
- data,
+ ret = _gnutls_rsa_pkcs1_sign_pad(tpm2_rsa_key_bits(info), data,
digest.buffer, digest.size);
if (ret < 0) {
return gnutls_assert_val(GNUTLS_E_PK_SIGN_FAILED);
@@ -785,17 +741,16 @@ int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
gnutls_assert();
goto out;
}
- reauth:
+reauth:
ret = auth_tpm2_key(info, ectx, key_handle);
if (ret < 0) {
gnutls_assert();
goto out;
}
- rc = _gnutls_tss2_Esys_RSA_Decrypt(ectx, key_handle,
- ESYS_TR_PASSWORD, ESYS_TR_NONE,
- ESYS_TR_NONE, &digest, &in_scheme,
- &label, &tsig);
+ rc = _gnutls_tss2_Esys_RSA_Decrypt(ectx, key_handle, ESYS_TR_PASSWORD,
+ ESYS_TR_NONE, ESYS_TR_NONE, &digest,
+ &in_scheme, &label, &tsig);
if (rc_is_key_auth_failed(rc)) {
gnutls_assert();
_gnutls_debug_log("tpm2: Esys_RSA_Decrypt auth failed\n");
@@ -804,13 +759,13 @@ int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
}
if (rc) {
gnutls_assert();
- _gnutls_debug_log
- ("tpm2: failed to generate RSA signature: 0x%x\n", rc);
+ _gnutls_debug_log(
+ "tpm2: failed to generate RSA signature: 0x%x\n", rc);
goto out;
}
ret = _gnutls_set_datum(sig, tsig->buffer, tsig->size);
- out:
+out:
_gnutls_tss2_Esys_Free(tsig);
if (key_handle != ESYS_TR_NONE) {
@@ -826,7 +781,7 @@ int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
int tpm2_ec_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
void *_info, unsigned int flags,
- const gnutls_datum_t * data, gnutls_datum_t * sig)
+ const gnutls_datum_t *data, gnutls_datum_t *sig)
{
struct tpm2_info_st *info = _info;
int ret;
@@ -835,11 +790,10 @@ int tpm2_ec_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
TPMT_SIGNATURE *tsig = NULL;
ESYS_TR key_handle = ESYS_TR_NONE;
TSS2_RC rc;
- TPMT_TK_HASHCHECK validation = {.tag = TPM2_ST_HASHCHECK,
- .hierarchy = TPM2_RH_NULL,
- .digest.size = 0
- };
- TPMT_SIG_SCHEME in_scheme = {.scheme = TPM2_ALG_ECDSA };
+ TPMT_TK_HASHCHECK validation = { .tag = TPM2_ST_HASHCHECK,
+ .hierarchy = TPM2_RH_NULL,
+ .digest.size = 0 };
+ TPMT_SIG_SCHEME in_scheme = { .scheme = TPM2_ALG_ECDSA };
gnutls_datum_t sig_r, sig_s;
_gnutls_debug_log("tpm2: EC sign function called for %d bytes\n",
@@ -875,25 +829,24 @@ int tpm2_ec_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
gnutls_assert();
goto out;
}
- reauth:
+reauth:
ret = auth_tpm2_key(info, ectx, key_handle);
if (ret < 0) {
gnutls_assert();
goto out;
}
- rc = _gnutls_tss2_Esys_Sign(ectx, key_handle,
- ESYS_TR_PASSWORD, ESYS_TR_NONE,
- ESYS_TR_NONE, &digest, &in_scheme,
- &validation, &tsig);
+ rc = _gnutls_tss2_Esys_Sign(ectx, key_handle, ESYS_TR_PASSWORD,
+ ESYS_TR_NONE, ESYS_TR_NONE, &digest,
+ &in_scheme, &validation, &tsig);
if (rc_is_key_auth_failed(rc)) {
_gnutls_debug_log("tpm2: Esys_Sign auth failed\n");
info->need_userauth = true;
goto reauth;
}
if (rc) {
- _gnutls_debug_log
- ("tpm2: failed to generate EC signature: 0x%x\n", rc);
+ _gnutls_debug_log(
+ "tpm2: failed to generate EC signature: 0x%x\n", rc);
goto out;
}
@@ -903,7 +856,7 @@ int tpm2_ec_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t algo,
sig_s.size = tsig->signature.ecdsa.signatureS.size;
ret = gnutls_encode_rs_value(sig, &sig_r, &sig_s);
- out:
+out:
_gnutls_tss2_Esys_Free(tsig);
if (key_handle != ESYS_TR_NONE) {
@@ -922,36 +875,32 @@ GNUTLS_ONCE(tpm2_esys_once);
static void tpm2_esys_once_init(void)
{
const char *tcti;
- const char *const tcti_vars[] = {
- "GNUTLS_TPM2_TCTI",
- "TPM2TOOLS_TCTI",
- "TCTI",
- "TEST_TCTI"
- };
+ const char *const tcti_vars[] = { "GNUTLS_TPM2_TCTI", "TPM2TOOLS_TCTI",
+ "TCTI", "TEST_TCTI" };
size_t i;
TSS2_RC rc;
if (init_tss2_funcs() < 0) {
- _gnutls_debug_log
- ("tpm2: unable to initialize TSS2 functions\n");
+ _gnutls_debug_log(
+ "tpm2: unable to initialize TSS2 functions\n");
return;
}
for (i = 0; i < sizeof(tcti_vars) / sizeof(tcti_vars[0]); i++) {
tcti = secure_getenv(tcti_vars[i]);
if (tcti && *tcti != '\0') {
- _gnutls_debug_log
- ("tpm2: TCTI configuration found in %s\n",
- tcti_vars[i]);
+ _gnutls_debug_log(
+ "tpm2: TCTI configuration found in %s\n",
+ tcti_vars[i]);
break;
}
}
if (tcti && *tcti != '\0') {
rc = _gnutls_tss2_Tss2_TctiLdr_Initialize(tcti, &tcti_ctx);
if (rc) {
- _gnutls_debug_log
- ("tpm2: TSS2_TctiLdr_Initialize failed: 0x%x\n",
- rc);
+ _gnutls_debug_log(
+ "tpm2: TSS2_TctiLdr_Initialize failed: 0x%x\n",
+ rc);
}
}
}
@@ -979,7 +928,7 @@ void tpm2_esys_deinit(void)
int install_tpm2_key(struct tpm2_info_st *info, gnutls_privkey_t pkey,
unsigned int parent, bool emptyauth,
- gnutls_datum_t * privdata, gnutls_datum_t * pubdata)
+ gnutls_datum_t *privdata, gnutls_datum_t *pubdata)
{
TSS2_RC rc;
@@ -989,9 +938,9 @@ int install_tpm2_key(struct tpm2_info_st *info, gnutls_privkey_t pkey,
return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
- if (!parent_is_persistent(parent) &&
- parent != TPM2_RH_OWNER && parent != TPM2_RH_NULL &&
- parent != TPM2_RH_ENDORSEMENT && parent != TPM2_RH_PLATFORM) {
+ if (!parent_is_persistent(parent) && parent != TPM2_RH_OWNER &&
+ parent != TPM2_RH_NULL && parent != TPM2_RH_ENDORSEMENT &&
+ parent != TPM2_RH_PLATFORM) {
_gnutls_debug_log("tpm2: Invalid TPM2 parent handle 0x%08x\n",
parent);
return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
@@ -999,21 +948,19 @@ int install_tpm2_key(struct tpm2_info_st *info, gnutls_privkey_t pkey,
info->parent = parent;
- rc = _gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal(privdata->data,
- privdata->size, NULL,
- &info->priv);
+ rc = _gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal(
+ privdata->data, privdata->size, NULL, &info->priv);
if (rc) {
- _gnutls_debug_log
- ("tpm2: failed to import private key data: 0x%x\n", rc);
+ _gnutls_debug_log(
+ "tpm2: failed to import private key data: 0x%x\n", rc);
return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
- rc = _gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal(pubdata->data,
- pubdata->size, NULL,
- &info->pub);
+ rc = _gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal(
+ pubdata->data, pubdata->size, NULL, &info->pub);
if (rc) {
- _gnutls_debug_log
- ("tpm2: failed to import public key data: 0x%x\n", rc);
+ _gnutls_debug_log(
+ "tpm2: failed to import public key data: 0x%x\n", rc);
return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
@@ -1075,8 +1022,8 @@ static gnutls_ecc_curve_t tpm2_curve_to_gnutls_curve(TPMI_ECC_CURVE curve)
}
}
-static int
-convert_public_rsa(struct tpm2_info_st *info, gnutls_pk_params_st * params)
+static int convert_public_rsa(struct tpm2_info_st *info,
+ gnutls_pk_params_st *params)
{
int ret;
UINT32 exponent;
@@ -1106,8 +1053,8 @@ convert_public_rsa(struct tpm2_info_st *info, gnutls_pk_params_st * params)
return 0;
}
-static int
-convert_public_ecc(struct tpm2_info_st *info, gnutls_pk_params_st * params)
+static int convert_public_ecc(struct tpm2_info_st *info,
+ gnutls_pk_params_st *params)
{
int ret;
@@ -1119,13 +1066,13 @@ convert_public_ecc(struct tpm2_info_st *info, gnutls_pk_params_st * params)
params->algo = GNUTLS_PK_ECDSA;
params->params_nr = 2;
- ret = _gnutls_mpi_init_scan_nz(&params->params[ECC_X],
- point->x.buffer, point->x.size);
+ ret = _gnutls_mpi_init_scan_nz(&params->params[ECC_X], point->x.buffer,
+ point->x.size);
if (ret < 0) {
return gnutls_assert_val(ret);
}
- ret = _gnutls_mpi_init_scan_nz(&params->params[ECC_Y],
- point->y.buffer, point->y.size);
+ ret = _gnutls_mpi_init_scan_nz(&params->params[ECC_Y], point->y.buffer,
+ point->y.size);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -1138,9 +1085,8 @@ convert_public_ecc(struct tpm2_info_st *info, gnutls_pk_params_st * params)
return 0;
}
-int
-tpm2_convert_public(gnutls_privkey_t key,
- void *_info, gnutls_pk_params_st * params)
+int tpm2_convert_public(gnutls_privkey_t key, void *_info,
+ gnutls_pk_params_st *params)
{
struct tpm2_info_st *info = _info;
diff --git a/lib/urls.c b/lib/urls.c
index 48060f355c..13c3dc2f3d 100644
--- a/lib/urls.c
+++ b/lib/urls.c
@@ -47,9 +47,8 @@ unsigned gnutls_url_is_supported(const char *url)
unsigned i;
for (i = 0; i < _gnutls_custom_urls_size; i++) {
- if (c_strncasecmp
- (url, _gnutls_custom_urls[i].name,
- _gnutls_custom_urls[i].name_size) == 0)
+ if (c_strncasecmp(url, _gnutls_custom_urls[i].name,
+ _gnutls_custom_urls[i].name_size) == 0)
return 1;
}
@@ -79,9 +78,9 @@ int _gnutls_url_is_known(const char *url)
return 1;
else {
for (i = 0; i < _gnutls_custom_urls_size; i++) {
- if (c_strncasecmp
- (url, _gnutls_custom_urls[i].name,
- _gnutls_custom_urls[i].name_size) == 0)
+ if (c_strncasecmp(url, _gnutls_custom_urls[i].name,
+ _gnutls_custom_urls[i].name_size) ==
+ 0)
return 1;
}
@@ -110,7 +109,7 @@ int _gnutls_url_is_known(const char *url)
*
* Since: 3.4.0
**/
-int gnutls_register_custom_url(const gnutls_custom_url_st * st)
+int gnutls_register_custom_url(const gnutls_custom_url_st *st)
{
unsigned i;
@@ -147,7 +146,7 @@ int gnutls_register_custom_url(const gnutls_custom_url_st * st)
* Since: 3.4.0
-*/
int _gnutls_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
- gnutls_datum_t * issuer, unsigned int flags)
+ gnutls_datum_t *issuer, unsigned int flags)
{
unsigned i;
@@ -158,14 +157,11 @@ int _gnutls_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
}
#endif
for (i = 0; i < _gnutls_custom_urls_size; i++) {
- if (c_strncasecmp
- (url, _gnutls_custom_urls[i].name,
- _gnutls_custom_urls[i].name_size) == 0) {
+ if (c_strncasecmp(url, _gnutls_custom_urls[i].name,
+ _gnutls_custom_urls[i].name_size) == 0) {
if (_gnutls_custom_urls[i].get_issuer) {
- return _gnutls_custom_urls[i].get_issuer(url,
- cert,
- issuer,
- flags);
+ return _gnutls_custom_urls[i].get_issuer(
+ url, cert, issuer, flags);
}
break;
}
diff --git a/lib/urls.h b/lib/urls.h
index 7965ef9006..7d7d4d61bf 100644
--- a/lib/urls.h
+++ b/lib/urls.h
@@ -19,17 +19,17 @@
*/
#ifndef GNUTLS_LIB_URLS_H
-# define GNUTLS_LIB_URLS_H
+#define GNUTLS_LIB_URLS_H
-# define PKCS11_URL "pkcs11:"
-# define SYSTEM_URL "system:"
-# define TPMKEY_URL "tpmkey:"
+#define PKCS11_URL "pkcs11:"
+#define SYSTEM_URL "system:"
+#define TPMKEY_URL "tpmkey:"
-# define PKCS11_URL_SIZE (sizeof(PKCS11_URL)-1)
-# define SYSTEM_URL_SIZE (sizeof(SYSTEM_URL)-1)
-# define TPMKEY_URL_SIZE (sizeof(TPMKEY_URL)-1)
+#define PKCS11_URL_SIZE (sizeof(PKCS11_URL) - 1)
+#define SYSTEM_URL_SIZE (sizeof(SYSTEM_URL) - 1)
+#define TPMKEY_URL_SIZE (sizeof(TPMKEY_URL) - 1)
-# include <gnutls/urls.h>
+#include <gnutls/urls.h>
extern gnutls_custom_url_st _gnutls_custom_urls[];
extern unsigned _gnutls_custom_urls_size;
@@ -37,6 +37,6 @@ extern unsigned _gnutls_custom_urls_size;
int _gnutls_url_is_known(const char *url);
int _gnutls_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,
- gnutls_datum_t * issuer, unsigned int flags);
+ gnutls_datum_t *issuer, unsigned int flags);
-#endif /* GNUTLS_LIB_URLS_H */
+#endif /* GNUTLS_LIB_URLS_H */
diff --git a/lib/verify-tofu.c b/lib/verify-tofu.c
index 6b4ccafab7..72dc3a277e 100644
--- a/lib/verify-tofu.c
+++ b/lib/verify-tofu.c
@@ -24,7 +24,7 @@
#include "errors.h"
#include <libtasn1.h>
#include <global.h>
-#include <num.h> /* MAX */
+#include <num.h> /* MAX */
#include <tls-sig.h>
#include "str.h"
#include <datum.h>
@@ -43,28 +43,22 @@ struct gnutls_tdb_int {
gnutls_tdb_verify_func verify;
};
-static int raw_pubkey_to_base64(const gnutls_datum_t * raw,
- gnutls_datum_t * b64);
+static int raw_pubkey_to_base64(const gnutls_datum_t *raw, gnutls_datum_t *b64);
static int verify_pubkey(const char *file, const char *host,
- const char *service, const gnutls_datum_t * skey);
-
-static
-int store_commitment(const char *db_name, const char *host,
- const char *service, time_t expiration,
- gnutls_digest_algorithm_t hash_algo,
- const gnutls_datum_t * hash);
-static
-int store_pubkey(const char *db_name, const char *host,
- const char *service, time_t expiration,
- const gnutls_datum_t * pubkey);
+ const char *service, const gnutls_datum_t *skey);
+
+static int store_commitment(const char *db_name, const char *host,
+ const char *service, time_t expiration,
+ gnutls_digest_algorithm_t hash_algo,
+ const gnutls_datum_t *hash);
+static int store_pubkey(const char *db_name, const char *host,
+ const char *service, time_t expiration,
+ const gnutls_datum_t *pubkey);
static int find_config_file(char *file, size_t max_size);
-struct gnutls_tdb_int default_tdb = {
- store_pubkey,
- store_commitment,
- verify_pubkey
-};
+struct gnutls_tdb_int default_tdb = { store_pubkey, store_commitment,
+ verify_pubkey };
/**
* gnutls_verify_stored_pubkey:
@@ -102,15 +96,14 @@ struct gnutls_tdb_int default_tdb = {
*
* Since: 3.0.13
**/
-int
-gnutls_verify_stored_pubkey(const char *db_name,
- gnutls_tdb_t tdb,
- const char *host,
- const char *service,
- gnutls_certificate_type_t cert_type,
- const gnutls_datum_t * cert, unsigned int flags)
+int gnutls_verify_stored_pubkey(const char *db_name, gnutls_tdb_t tdb,
+ const char *host, const char *service,
+ gnutls_certificate_type_t cert_type,
+ const gnutls_datum_t *cert, unsigned int flags)
{
- gnutls_datum_t pubkey = { NULL, 0 }; // Holds the pubkey in subjectPublicKeyInfo format (DER encoded)
+ gnutls_datum_t pubkey = {
+ NULL, 0
+ }; // Holds the pubkey in subjectPublicKeyInfo format (DER encoded)
int ret;
char local_file[MAX_FILENAME];
bool need_free;
@@ -160,10 +153,9 @@ gnutls_verify_stored_pubkey(const char *db_name,
return ret;
}
-static int parse_commitment_line(char *line,
- const char *host, size_t host_len,
+static int parse_commitment_line(char *line, const char *host, size_t host_len,
const char *service, size_t service_len,
- time_t now, const gnutls_datum_t * skey)
+ time_t now, const gnutls_datum_t *skey)
{
char *p, *kp;
char *savep = NULL;
@@ -195,7 +187,7 @@ static int parse_commitment_line(char *line,
if (p == NULL)
return gnutls_assert_val(GNUTLS_E_PARSING_ERROR);
- expiration = (time_t) atol(p);
+ expiration = (time_t)atol(p);
if (expiration > 0 && now > expiration)
return gnutls_assert_val(GNUTLS_E_EXPIRED);
@@ -218,16 +210,15 @@ static int parse_commitment_line(char *line,
*p = 0;
/* hash and hex encode */
- ret =
- _gnutls_hash_fast((gnutls_digest_algorithm_t) hash_algo->id,
- skey->data, skey->size, phash);
+ ret = _gnutls_hash_fast((gnutls_digest_algorithm_t)hash_algo->id,
+ skey->data, skey->size, phash);
if (ret < 0)
return gnutls_assert_val(ret);
phash_size = _gnutls_hash_get_algo_len(hash_algo);
- p = _gnutls_bin2hex(phash, phash_size, (void *)hphash,
- sizeof(hphash), NULL);
+ p = _gnutls_bin2hex(phash, phash_size, (void *)hphash, sizeof(hphash),
+ NULL);
if (p == NULL)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
@@ -242,12 +233,10 @@ static int parse_commitment_line(char *line,
return 0;
}
-static int parse_line(char *line,
- const char *host, size_t host_len,
- const char *service, size_t service_len,
- time_t now,
- const gnutls_datum_t * rawkey,
- const gnutls_datum_t * b64key)
+static int parse_line(char *line, const char *host, size_t host_len,
+ const char *service, size_t service_len, time_t now,
+ const gnutls_datum_t *rawkey,
+ const gnutls_datum_t *b64key)
{
char *p, *kp;
char *savep = NULL;
@@ -260,8 +249,8 @@ static int parse_line(char *line,
return gnutls_assert_val(GNUTLS_E_PARSING_ERROR);
if (strncmp(p, "c0", 2) == 0)
- return parse_commitment_line(p + 3, host, host_len,
- service, service_len, now, rawkey);
+ return parse_commitment_line(p + 3, host, host_len, service,
+ service_len, now, rawkey);
if (strncmp(p, "g0", 2) != 0)
return gnutls_assert_val(GNUTLS_E_PARSING_ERROR);
@@ -287,7 +276,7 @@ static int parse_line(char *line,
if (p == NULL)
return gnutls_assert_val(GNUTLS_E_PARSING_ERROR);
- expiration = (time_t) atol(p);
+ expiration = (time_t)atol(p);
if (expiration > 0 && now > expiration)
return gnutls_assert_val(GNUTLS_E_EXPIRED);
@@ -313,9 +302,8 @@ static int parse_line(char *line,
/* Returns the base64 key if found
*/
-static int verify_pubkey(const char *file,
- const char *host, const char *service,
- const gnutls_datum_t * pubkey)
+static int verify_pubkey(const char *file, const char *host,
+ const char *service, const gnutls_datum_t *pubkey)
{
FILE *fp;
char *line = NULL;
@@ -343,23 +331,21 @@ static int verify_pubkey(const char *file,
do {
l2 = getline(&line, &line_size, fp);
if (l2 > 0) {
- ret =
- parse_line(line, host, host_len, service,
- service_len, now, pubkey, &b64key);
- if (ret == 0) { /* found */
+ ret = parse_line(line, host, host_len, service,
+ service_len, now, pubkey, &b64key);
+ if (ret == 0) { /* found */
goto cleanup;
} else if (ret == GNUTLS_E_CERTIFICATE_KEY_MISMATCH)
mismatch = 1;
}
- }
- while (l2 >= 0);
+ } while (l2 >= 0);
if (mismatch)
ret = GNUTLS_E_CERTIFICATE_KEY_MISMATCH;
else
ret = GNUTLS_E_NO_CERTIFICATE_FOUND;
- cleanup:
+cleanup:
free(line);
if (fp != NULL)
fclose(fp);
@@ -368,8 +354,7 @@ static int verify_pubkey(const char *file,
return ret;
}
-static int raw_pubkey_to_base64(const gnutls_datum_t * raw,
- gnutls_datum_t * b64)
+static int raw_pubkey_to_base64(const gnutls_datum_t *raw, gnutls_datum_t *b64)
{
size_t size;
@@ -385,10 +370,9 @@ static int raw_pubkey_to_base64(const gnutls_datum_t * raw,
return 0;
}
-static
-int store_pubkey(const char *db_name, const char *host,
- const char *service, time_t expiration,
- const gnutls_datum_t * pubkey)
+static int store_pubkey(const char *db_name, const char *host,
+ const char *service, time_t expiration,
+ const gnutls_datum_t *pubkey)
{
FILE *fp = NULL;
gnutls_datum_t b64key = { NULL, 0 };
@@ -420,7 +404,7 @@ int store_pubkey(const char *db_name, const char *host,
ret = 0;
- cleanup:
+cleanup:
if (fp != NULL)
fclose(fp);
@@ -430,11 +414,10 @@ int store_pubkey(const char *db_name, const char *host,
return ret;
}
-static
-int store_commitment(const char *db_name, const char *host,
- const char *service, time_t expiration,
- gnutls_digest_algorithm_t hash_algo,
- const gnutls_datum_t * hash)
+static int store_commitment(const char *db_name, const char *host,
+ const char *service, time_t expiration,
+ gnutls_digest_algorithm_t hash_algo,
+ const gnutls_datum_t *hash)
{
FILE *fp;
char buffer[MAX_HASH_SIZE * 2 + 1];
@@ -450,8 +433,8 @@ int store_commitment(const char *db_name, const char *host,
fprintf(fp, "|c0|%s|%s|%lu|%u|%s\n", host, service,
(unsigned long)expiration, (unsigned)hash_algo,
- _gnutls_bin2hex(hash->data, hash->size, buffer,
- sizeof(buffer), NULL));
+ _gnutls_bin2hex(hash->data, hash->size, buffer, sizeof(buffer),
+ NULL));
fclose(fp);
@@ -491,16 +474,15 @@ int store_commitment(const char *db_name, const char *host,
*
* Since: 3.0.13
**/
-int
-gnutls_store_pubkey(const char *db_name,
- gnutls_tdb_t tdb,
- const char *host,
- const char *service,
- gnutls_certificate_type_t cert_type,
- const gnutls_datum_t * cert,
- time_t expiration, unsigned int flags)
+int gnutls_store_pubkey(const char *db_name, gnutls_tdb_t tdb, const char *host,
+ const char *service,
+ gnutls_certificate_type_t cert_type,
+ const gnutls_datum_t *cert, time_t expiration,
+ unsigned int flags)
{
- gnutls_datum_t pubkey = { NULL, 0 }; // Holds the pubkey in subjectPublicKeyInfo format (DER encoded)
+ gnutls_datum_t pubkey = {
+ NULL, 0
+ }; // Holds the pubkey in subjectPublicKeyInfo format (DER encoded)
int ret;
char local_file[MAX_FILENAME];
bool need_free;
@@ -586,14 +568,11 @@ gnutls_store_pubkey(const char *db_name,
*
* Since: 3.0
**/
-int
-gnutls_store_commitment(const char *db_name,
- gnutls_tdb_t tdb,
- const char *host,
- const char *service,
- gnutls_digest_algorithm_t hash_algo,
- const gnutls_datum_t * hash,
- time_t expiration, unsigned int flags)
+int gnutls_store_commitment(const char *db_name, gnutls_tdb_t tdb,
+ const char *host, const char *service,
+ gnutls_digest_algorithm_t hash_algo,
+ const gnutls_datum_t *hash, time_t expiration,
+ unsigned int flags)
{
int ret;
char local_file[MAX_FILENAME];
@@ -602,8 +581,8 @@ gnutls_store_commitment(const char *db_name,
if (me == NULL)
return gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
- if (!(flags & GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN)
- && _gnutls_digest_is_secure(me) == 0)
+ if (!(flags & GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN) &&
+ _gnutls_digest_is_secure(me) == 0)
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_SECURITY);
if (_gnutls_hash_get_algo_len(me) != hash->size)
@@ -629,7 +608,7 @@ gnutls_store_commitment(const char *db_name,
_gnutls_debug_log("Configuration file: %s\n", db_name);
ret = tdb->cstore(db_name, host, service, expiration,
- (gnutls_digest_algorithm_t) me->id, hash);
+ (gnutls_digest_algorithm_t)me->id, hash);
if (ret < 0) {
return gnutls_assert_val(GNUTLS_E_DB_ERROR);
}
@@ -665,7 +644,7 @@ static int find_config_file(char *file, size_t max_size)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_tdb_init(gnutls_tdb_t * tdb)
+int gnutls_tdb_init(gnutls_tdb_t *tdb)
{
*tdb = gnutls_calloc(1, sizeof(struct gnutls_tdb_int));
@@ -710,9 +689,8 @@ void gnutls_tdb_set_store_func(gnutls_tdb_t tdb, gnutls_tdb_store_func store)
* The @db_name should be used to pass any private data to this function.
*
**/
-void gnutls_tdb_set_store_commitment_func(gnutls_tdb_t tdb,
- gnutls_tdb_store_commitment_func
- cstore)
+void gnutls_tdb_set_store_commitment_func(
+ gnutls_tdb_t tdb, gnutls_tdb_store_commitment_func cstore)
{
tdb->cstore = cstore;
}
diff --git a/lib/vko.c b/lib/vko.c
index 4f91d77ad4..c01664724a 100644
--- a/lib/vko.c
+++ b/lib/vko.c
@@ -28,11 +28,10 @@
#include "pk.h"
#include "common.h"
-static int
-_gnutls_gost_vko_key(gnutls_pk_params_st * pub,
- gnutls_pk_params_st * priv,
- gnutls_datum_t * ukm,
- gnutls_digest_algorithm_t digalg, gnutls_datum_t * kek)
+static int _gnutls_gost_vko_key(gnutls_pk_params_st *pub,
+ gnutls_pk_params_st *priv, gnutls_datum_t *ukm,
+ gnutls_digest_algorithm_t digalg,
+ gnutls_datum_t *kek)
{
gnutls_datum_t tmp_vko_key;
int ret;
@@ -49,9 +48,8 @@ _gnutls_gost_vko_key(gnutls_pk_params_st * pub,
goto cleanup;
}
- ret =
- gnutls_hash_fast(digalg, tmp_vko_key.data, tmp_vko_key.size,
- kek->data);
+ ret = gnutls_hash_fast(digalg, tmp_vko_key.data, tmp_vko_key.size,
+ kek->data);
if (ret < 0) {
gnutls_assert();
_gnutls_free_datum(kek);
@@ -60,7 +58,7 @@ _gnutls_gost_vko_key(gnutls_pk_params_st * pub,
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_temp_key_datum(&tmp_vko_key);
return ret;
@@ -68,11 +66,10 @@ _gnutls_gost_vko_key(gnutls_pk_params_st * pub,
static const gnutls_datum_t zero_data = { NULL, 0 };
-int
-_gnutls_gost_keytrans_encrypt(gnutls_pk_params_st * pub,
- gnutls_pk_params_st * priv,
- gnutls_datum_t * cek,
- gnutls_datum_t * ukm, gnutls_datum_t * out)
+int _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st *pub,
+ gnutls_pk_params_st *priv,
+ gnutls_datum_t *cek, gnutls_datum_t *ukm,
+ gnutls_datum_t *out)
{
int ret;
gnutls_datum_t kek;
@@ -92,8 +89,8 @@ _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st * pub,
return ret;
}
- ret = _gnutls_gost_key_wrap(pub->gost_params, &kek, ukm, cek,
- &enc, &imit);
+ ret = _gnutls_gost_key_wrap(pub->gost_params, &kek, ukm, cek, &enc,
+ &imit);
_gnutls_free_key_datum(&kek);
if (ret < 0) {
gnutls_assert();
@@ -118,34 +115,31 @@ _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st * pub,
goto cleanup;
}
- ret = _gnutls_x509_encode_and_copy_PKI_params(kx,
- "transportParameters.ephemeralPublicKey",
- priv);
+ ret = _gnutls_x509_encode_and_copy_PKI_params(
+ kx, "transportParameters.ephemeralPublicKey", priv);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- if ((ret =
- asn1_write_value(kx, "transportParameters.encryptionParamSet",
- gnutls_gost_paramset_get_oid(pub->gost_params),
- 1)) != ASN1_SUCCESS) {
+ if ((ret = asn1_write_value(
+ kx, "transportParameters.encryptionParamSet",
+ gnutls_gost_paramset_get_oid(pub->gost_params), 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
}
- ret =
- _gnutls_x509_write_value(kx, "sessionEncryptedKey.encryptedKey",
- &enc);
+ ret = _gnutls_x509_write_value(kx, "sessionEncryptedKey.encryptedKey",
+ &enc);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_value(kx, "sessionEncryptedKey.maskKey",
- &zero_data);
+ ret = _gnutls_x509_write_value(kx, "sessionEncryptedKey.maskKey",
+ &zero_data);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -164,7 +158,7 @@ _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st * pub,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&kx);
_gnutls_free_datum(&enc);
_gnutls_free_datum(&imit);
@@ -172,10 +166,9 @@ _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st * pub,
return ret;
}
-int
-_gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
- gnutls_datum_t * cek,
- gnutls_datum_t * ukm, gnutls_datum_t * out)
+int _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st *priv,
+ gnutls_datum_t *cek, gnutls_datum_t *ukm,
+ gnutls_datum_t *out)
{
int ret;
asn1_node kx;
@@ -187,8 +180,8 @@ _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
gnutls_digest_algorithm_t digalg;
if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.GostR3410-KeyTransport",
- &kx)) != ASN1_SUCCESS) {
+ "GNUTLS.GostR3410-KeyTransport", &kx)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -204,25 +197,23 @@ _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
return ret;
}
- ret = _gnutls_get_asn_mpis(kx,
- "transportParameters.ephemeralPublicKey",
+ ret = _gnutls_get_asn_mpis(kx, "transportParameters.ephemeralPublicKey",
&pub);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- if (pub.algo != priv->algo ||
- pub.gost_params != priv->gost_params || pub.curve != priv->curve) {
+ if (pub.algo != priv->algo || pub.gost_params != priv->gost_params ||
+ pub.curve != priv->curve) {
gnutls_assert();
ret = GNUTLS_E_ILLEGAL_PARAMETER;
goto cleanup;
}
oid_size = sizeof(oid);
- ret =
- asn1_read_value(kx, "transportParameters.encryptionParamSet", oid,
- &oid_size);
+ ret = asn1_read_value(kx, "transportParameters.encryptionParamSet", oid,
+ &oid_size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -248,8 +239,8 @@ _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
* of any kind as all values are transmitted in cleartext. Returning
* that this point won't give any information to the attacker.
*/
- if (ukm2.size != ukm->size
- || memcmp(ukm2.data, ukm->data, ukm->size) != 0) {
+ if (ukm2.size != ukm->size ||
+ memcmp(ukm2.data, ukm->data, ukm->size) != 0) {
gnutls_assert();
_gnutls_free_datum(&ukm2);
ret = GNUTLS_E_DECRYPTION_FAILED;
@@ -282,8 +273,8 @@ _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
goto cleanup2;
}
- ret = _gnutls_gost_key_unwrap(pub.gost_params, &kek, ukm,
- &enc, &imit, out);
+ ret = _gnutls_gost_key_unwrap(pub.gost_params, &kek, ukm, &enc, &imit,
+ out);
_gnutls_free_key_datum(&kek);
if (ret < 0) {
@@ -293,10 +284,10 @@ _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
ret = 0;
- cleanup2:
+cleanup2:
_gnutls_free_datum(&imit);
_gnutls_free_datum(&enc);
- cleanup:
+cleanup:
gnutls_pk_params_release(&pub);
asn1_delete_structure(&kx);
diff --git a/lib/vko.h b/lib/vko.h
index c3681c79aa..4c85a2aed6 100644
--- a/lib/vko.h
+++ b/lib/vko.h
@@ -20,17 +20,15 @@
*/
#ifndef GNUTLS_LIB_VKO_H
-# define GNUTLS_LIB_VKO_H
+#define GNUTLS_LIB_VKO_H
-int
-_gnutls_gost_keytrans_encrypt(gnutls_pk_params_st * pub,
- gnutls_pk_params_st * priv,
- gnutls_datum_t * cek,
- gnutls_datum_t * ukm, gnutls_datum_t * out);
+int _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st *pub,
+ gnutls_pk_params_st *priv,
+ gnutls_datum_t *cek, gnutls_datum_t *ukm,
+ gnutls_datum_t *out);
-int
-_gnutls_gost_keytrans_decrypt(gnutls_pk_params_st * priv,
- gnutls_datum_t * cek,
- gnutls_datum_t * ukm, gnutls_datum_t * out);
+int _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st *priv,
+ gnutls_datum_t *cek, gnutls_datum_t *ukm,
+ gnutls_datum_t *out);
-#endif /* GNUTLS_LIB_VKO_H */
+#endif /* GNUTLS_LIB_VKO_H */
diff --git a/lib/x509.h b/lib/x509.h
index f70742e7c8..ed03fb9725 100644
--- a/lib/x509.h
+++ b/lib/x509.h
@@ -21,23 +21,23 @@
*/
#ifndef GNUTLS_LIB_X509_H
-# define GNUTLS_LIB_X509_H
+#define GNUTLS_LIB_X509_H
-# include <libtasn1.h>
+#include <libtasn1.h>
int _gnutls_x509_cert_verify_peers(gnutls_session_t session,
- gnutls_typed_vdata_st * data,
+ gnutls_typed_vdata_st *data,
unsigned int elements, unsigned int *status);
-# define PEM_CERT_SEP2 "-----BEGIN X509 CERTIFICATE"
-# define PEM_CERT_SEP "-----BEGIN CERTIFICATE"
-# define PEM_OCSP_RESPONSE "-----BEGIN OCSP RESPONSE"
-# define BARE_PEM_OCSP_RESPONSE "OCSP RESPONSE"
+#define PEM_CERT_SEP2 "-----BEGIN X509 CERTIFICATE"
+#define PEM_CERT_SEP "-----BEGIN CERTIFICATE"
+#define PEM_OCSP_RESPONSE "-----BEGIN OCSP RESPONSE"
+#define BARE_PEM_OCSP_RESPONSE "OCSP RESPONSE"
-# define PEM_CRL_SEP "-----BEGIN X509 CRL"
+#define PEM_CRL_SEP "-----BEGIN X509 CRL"
-int _gnutls_x509_raw_privkey_to_gkey(gnutls_privkey_t * privkey,
- const gnutls_datum_t * raw_key,
+int _gnutls_x509_raw_privkey_to_gkey(gnutls_privkey_t *privkey,
+ const gnutls_datum_t *raw_key,
gnutls_x509_crt_fmt_t type);
-#endif /* GNUTLS_LIB_X509_H */
+#endif /* GNUTLS_LIB_X509_H */
diff --git a/lib/x509/attributes.c b/lib/x509/attributes.c
index 5ca57a9b3e..37825eac2a 100644
--- a/lib/x509/attributes.c
+++ b/lib/x509/attributes.c
@@ -37,9 +37,8 @@
/* Overwrite the given attribute (using the index)
* index here starts from one.
*/
-static int
-overwrite_attribute(asn1_node asn, const char *root, unsigned indx,
- const gnutls_datum_t * ext_data)
+static int overwrite_attribute(asn1_node asn, const char *root, unsigned indx,
+ const gnutls_datum_t *ext_data)
{
char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE];
int result;
@@ -68,10 +67,9 @@ overwrite_attribute(asn1_node asn, const char *root, unsigned indx,
* "certificationRequestInfo.attributes"
*
*/
-int
-_x509_parse_attribute(asn1_node asn1_struct,
- const char *attr_name, const char *given_oid,
- unsigned indx, int raw, gnutls_datum_t * out)
+int _x509_parse_attribute(asn1_node asn1_struct, const char *attr_name,
+ const char *given_oid, unsigned indx, int raw,
+ gnutls_datum_t *out)
{
int k1, result;
char tmpbuffer1[MAX_NAME_SIZE];
@@ -83,7 +81,6 @@ _x509_parse_attribute(asn1_node asn1_struct,
k1 = 0;
do {
-
k1++;
/* create a string like "attribute.?1"
*/
@@ -125,7 +122,7 @@ _x509_parse_attribute(asn1_node asn1_struct,
goto cleanup;
}
- if (strcmp(oid, given_oid) == 0) { /* Found the OID */
+ if (strcmp(oid, given_oid) == 0) { /* Found the OID */
/* Read the Value
*/
@@ -133,9 +130,8 @@ _x509_parse_attribute(asn1_node asn1_struct,
"%s.values.?%u", tmpbuffer1, indx + 1);
len = sizeof(value) - 1;
- result =
- _gnutls_x509_read_value(asn1_struct,
- tmpbuffer3, &td);
+ result = _gnutls_x509_read_value(asn1_struct,
+ tmpbuffer3, &td);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -144,9 +140,8 @@ _x509_parse_attribute(asn1_node asn1_struct,
}
if (raw == 0) {
- result =
- _gnutls_x509_dn_to_string
- (oid, td.data, td.size, out);
+ result = _gnutls_x509_dn_to_string(
+ oid, td.data, td.size, out);
_gnutls_free_datum(&td);
@@ -155,7 +150,7 @@ _x509_parse_attribute(asn1_node asn1_struct,
goto cleanup;
}
return 0;
- } else { /* raw!=0 */
+ } else { /* raw!=0 */
out->data = td.data;
out->size = td.size;
@@ -163,14 +158,13 @@ _x509_parse_attribute(asn1_node asn1_struct,
}
}
- }
- while (1);
+ } while (1);
gnutls_assert();
result = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
- cleanup:
+cleanup:
return result;
}
@@ -179,9 +173,9 @@ _x509_parse_attribute(asn1_node asn1_struct,
*
* Critical will be either 0 or 1.
*/
-static int
-add_attribute(asn1_node asn, const char *root, const char *attribute_id,
- const gnutls_datum_t * ext_data)
+static int add_attribute(asn1_node asn, const char *root,
+ const char *attribute_id,
+ const gnutls_datum_t *ext_data)
{
int result;
char name[MAX_NAME_SIZE];
@@ -223,9 +217,8 @@ add_attribute(asn1_node asn, const char *root, const char *attribute_id,
return 0;
}
-int
-_x509_set_attribute(asn1_node asn, const char *root,
- const char *ext_id, const gnutls_datum_t * ext_data)
+int _x509_set_attribute(asn1_node asn, const char *root, const char *ext_id,
+ const gnutls_datum_t *ext_data)
{
int result;
int k, len;
@@ -251,7 +244,6 @@ _x509_set_attribute(asn1_node asn, const char *root,
}
do {
-
_gnutls_str_cpy(name2, sizeof(name2), name);
_gnutls_str_cat(name2, sizeof(name2), ".type");
@@ -275,10 +267,8 @@ _x509_set_attribute(asn1_node asn, const char *root,
ext_data);
}
- }
- while (0);
- }
- while (1);
+ } while (0);
+ } while (1);
if (result == ASN1_ELEMENT_NOT_FOUND) {
return add_attribute(asn, root, ext_id, ext_data);
diff --git a/lib/x509/attributes.h b/lib/x509/attributes.h
index ff2328ad46..6a1214ace2 100644
--- a/lib/x509/attributes.h
+++ b/lib/x509/attributes.h
@@ -21,15 +21,13 @@
*/
#ifndef GNUTLS_LIB_X509_ATTRIBUTES_H
-# define GNUTLS_LIB_X509_ATTRIBUTES_H
+#define GNUTLS_LIB_X509_ATTRIBUTES_H
-int
-_x509_parse_attribute(asn1_node asn1_struct,
- const char *attr_name, const char *given_oid,
- unsigned indx, int raw, gnutls_datum_t * out);
+int _x509_parse_attribute(asn1_node asn1_struct, const char *attr_name,
+ const char *given_oid, unsigned indx, int raw,
+ gnutls_datum_t *out);
-int
-_x509_set_attribute(asn1_node asn, const char *root,
- const char *ext_id, const gnutls_datum_t * ext_data);
+int _x509_set_attribute(asn1_node asn, const char *root, const char *ext_id,
+ const gnutls_datum_t *ext_data);
-#endif /* GNUTLS_LIB_X509_ATTRIBUTES_H */
+#endif /* GNUTLS_LIB_X509_ATTRIBUTES_H */
diff --git a/lib/x509/common.c b/lib/x509/common.c
index 2cc95c9b8b..748d0db4c5 100644
--- a/lib/x509/common.c
+++ b/lib/x509/common.c
@@ -35,12 +35,18 @@
#include "extras/hex.h"
#include <common.h>
-static int data2hex(const void *data, size_t data_size, gnutls_datum_t * out);
+static int data2hex(const void *data, size_t data_size, gnutls_datum_t *out);
-#define ENTRY(oid, ldap, asn, etype) {oid, sizeof(oid)-1, ldap, sizeof(ldap)-1, asn, etype}
+#define ENTRY(oid, ldap, asn, etype) \
+ { \
+ oid, sizeof(oid) - 1, ldap, sizeof(ldap) - 1, asn, etype \
+ }
/* when there is no name description */
-#define ENTRY_ND(oid, asn, etype) {oid, sizeof(oid)-1, NULL, 0, asn, etype}
+#define ENTRY_ND(oid, asn, etype) \
+ { \
+ oid, sizeof(oid) - 1, NULL, 0, asn, etype \
+ }
/* This list contains all the OIDs that may be
* contained in a rdnSequence and are printable.
@@ -90,8 +96,7 @@ static const struct oid_to_string _oid2str[] = {
ENTRY("0.9.2342.19200300.100.1.1", "UID", "PKIX1.DirectoryString",
ASN1_ETYPE_INVALID),
ENTRY("1.2.840.113556.1.4.656", "userPrincipalName",
- "PKIX1.DirectoryString",
- ASN1_ETYPE_INVALID),
+ "PKIX1.DirectoryString", ASN1_ETYPE_INVALID),
/* Extended validation
*/
@@ -102,8 +107,8 @@ static const struct oid_to_string _oid2str[] = {
"jurisdictionOfIncorporationStateOrProvinceName",
"PKIX1.DirectoryString", ASN1_ETYPE_INVALID),
ENTRY("1.3.6.1.4.1.311.60.2.1.3",
- "jurisdictionOfIncorporationCountryName",
- NULL, ASN1_ETYPE_PRINTABLE_STRING),
+ "jurisdictionOfIncorporationCountryName", NULL,
+ ASN1_ETYPE_PRINTABLE_STRING),
/* PKCS #9
*/
@@ -130,11 +135,11 @@ static const struct oid_to_string _oid2str[] = {
/* VAT identification number */
ENTRY("1.2.643.3.131.1.1", "INN", NULL, ASN1_ETYPE_NUMERIC_STRING),
- {NULL, 0, NULL, 0, NULL, 0}
+ { NULL, 0, NULL, 0, NULL, 0 }
};
-const struct oid_to_string *_gnutls_oid_get_entry(const struct oid_to_string
- *ots, const char *oid)
+const struct oid_to_string *
+_gnutls_oid_get_entry(const struct oid_to_string *ots, const char *oid)
{
unsigned int i = 0;
unsigned len = strlen(oid);
@@ -143,8 +148,7 @@ const struct oid_to_string *_gnutls_oid_get_entry(const struct oid_to_string
if (len == ots[i].oid_size && strcmp(ots[i].oid, oid) == 0)
return &ots[i];
i++;
- }
- while (ots[i].oid != NULL);
+ } while (ots[i].oid != NULL);
return NULL;
}
@@ -152,7 +156,7 @@ const struct oid_to_string *_gnutls_oid_get_entry(const struct oid_to_string
const char *_gnutls_oid_get_asn_desc(const char *oid)
{
const struct oid_to_string *entry =
- _gnutls_oid_get_entry(_oid2str, oid);
+ _gnutls_oid_get_entry(_oid2str, oid);
return entry ? entry->asn_desc : NULL;
}
@@ -166,15 +170,14 @@ const char *_gnutls_ldap_string_to_oid(const char *str, unsigned str_len)
(c_strncasecmp(_oid2str[i].name_desc, str, str_len) == 0))
return _oid2str[i].oid;
i++;
- }
- while (_oid2str[i].oid != NULL);
+ } while (_oid2str[i].oid != NULL);
return NULL;
}
/* Escapes a string following the rules from RFC4514.
*/
-static int str_escape(const gnutls_datum_t * str, gnutls_datum_t * escaped)
+static int str_escape(const gnutls_datum_t *str, gnutls_datum_t *escaped)
{
unsigned int j, i;
uint8_t *buffer = NULL;
@@ -195,10 +198,10 @@ static int str_escape(const gnutls_datum_t * str, gnutls_datum_t * escaped)
goto cleanup;
}
- if (str->data[i] == ',' || str->data[i] == '+'
- || str->data[i] == '"' || str->data[i] == '\\'
- || str->data[i] == '<' || str->data[i] == '>'
- || str->data[i] == ';' || str->data[i] == 0)
+ if (str->data[i] == ',' || str->data[i] == '+' ||
+ str->data[i] == '"' || str->data[i] == '\\' ||
+ str->data[i] == '<' || str->data[i] == '>' ||
+ str->data[i] == ';' || str->data[i] == 0)
buffer[j++] = '\\';
else if (i == 0 && str->data[i] == '#')
buffer[j++] = '\\';
@@ -216,7 +219,7 @@ static int str_escape(const gnutls_datum_t * str, gnutls_datum_t * escaped)
escaped->size = j;
return 0;
- cleanup:
+cleanup:
gnutls_free(buffer);
return ret;
}
@@ -257,7 +260,7 @@ int gnutls_x509_dn_oid_known(const char *oid)
const char *gnutls_x509_dn_oid_name(const char *oid, unsigned int flags)
{
const struct oid_to_string *entry =
- _gnutls_oid_get_entry(_oid2str, oid);
+ _gnutls_oid_get_entry(_oid2str, oid);
if (entry && entry->name_desc)
return entry->name_desc;
@@ -267,9 +270,8 @@ const char *gnutls_x509_dn_oid_name(const char *oid, unsigned int flags)
return NULL;
}
-static int
-make_printable_string(unsigned etype, const gnutls_datum_t * input,
- gnutls_datum_t * out)
+static int make_printable_string(unsigned etype, const gnutls_datum_t *input,
+ gnutls_datum_t *out)
{
int printable = 0;
int ret;
@@ -306,10 +308,11 @@ make_printable_string(unsigned etype, const gnutls_datum_t * input,
printable = 1;
}
- } else if (etype != ASN1_ETYPE_UNIVERSAL_STRING) /* supported but not printable */
+ } else if (etype !=
+ ASN1_ETYPE_UNIVERSAL_STRING) /* supported but not printable */
return GNUTLS_E_INVALID_REQUEST;
- if (printable == 0) { /* need to allocate out */
+ if (printable == 0) { /* need to allocate out */
ret = data2hex(input->data, input->size, out);
if (ret < 0) {
gnutls_assert();
@@ -320,9 +323,9 @@ make_printable_string(unsigned etype, const gnutls_datum_t * input,
return 0;
}
-static int
-decode_complex_string(const struct oid_to_string *oentry, void *value,
- int value_size, gnutls_datum_t * out)
+static int decode_complex_string(const struct oid_to_string *oentry,
+ void *value, int value_size,
+ gnutls_datum_t *out)
{
char str[MAX_STRING_LEN], tmpname[128];
int len = -1, result;
@@ -336,16 +339,14 @@ decode_complex_string(const struct oid_to_string *oentry, void *value,
return GNUTLS_E_INTERNAL_ERROR;
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(), oentry->asn_desc,
- &tmpasn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), oentry->asn_desc,
+ &tmpasn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- if ((result =
- _asn1_strict_der_decode(&tmpasn, value, value_size,
- asn1_err)) != ASN1_SUCCESS) {
+ if ((result = _asn1_strict_der_decode(&tmpasn, value, value_size,
+ asn1_err)) != ASN1_SUCCESS) {
gnutls_assert();
_gnutls_debug_log("_asn1_strict_der_decode: %s\n", asn1_err);
asn1_delete_structure(&tmpasn);
@@ -355,7 +356,8 @@ decode_complex_string(const struct oid_to_string *oentry, void *value,
/* Read the type of choice.
*/
len = sizeof(str) - 1;
- if ((result = asn1_read_value(tmpasn, "", str, &len)) != ASN1_SUCCESS) { /* CHOICE */
+ if ((result = asn1_read_value(tmpasn, "", str, &len)) !=
+ ASN1_SUCCESS) { /* CHOICE */
gnutls_assert();
asn1_delete_structure(&tmpasn);
return _gnutls_asn2err(result);
@@ -412,9 +414,8 @@ decode_complex_string(const struct oid_to_string *oentry, void *value,
* res may be null. This will just return the res_size, needed to
* hold the string.
*/
-int
-_gnutls_x509_dn_to_string(const char *oid, void *value,
- int value_size, gnutls_datum_t * str)
+int _gnutls_x509_dn_to_string(const char *oid, void *value, int value_size,
+ gnutls_datum_t *str)
{
const struct oid_to_string *oentry;
int ret;
@@ -426,8 +427,8 @@ _gnutls_x509_dn_to_string(const char *oid, void *value,
}
oentry = _gnutls_oid_get_entry(_oid2str, oid);
- if (oentry == NULL) { /* unknown OID -> hex */
- unknown_oid:
+ if (oentry == NULL) { /* unknown OID -> hex */
+ unknown_oid:
ret = data2hex(value, value_size, str);
if (ret < 0) {
gnutls_assert();
@@ -436,16 +437,15 @@ _gnutls_x509_dn_to_string(const char *oid, void *value,
return 0;
}
- if (oentry->asn_desc != NULL) { /* complex */
+ if (oentry->asn_desc != NULL) { /* complex */
ret = decode_complex_string(oentry, value, value_size, &tmp);
if (ret < 0) {
/* we failed decoding -> handle it as unknown OID */
goto unknown_oid;
}
} else {
- ret =
- _gnutls_x509_decode_string(oentry->etype, value,
- value_size, &tmp, 0);
+ ret = _gnutls_x509_decode_string(oentry->etype, value,
+ value_size, &tmp, 0);
if (ret < 0) {
/* we failed decoding -> handle it as unknown OID */
goto unknown_oid;
@@ -464,13 +464,13 @@ _gnutls_x509_dn_to_string(const char *oid, void *value,
/* Converts a data string to an LDAP rfc2253 hex string
* something like '#01020304'
*/
-static int data2hex(const void *data, size_t data_size, gnutls_datum_t * out)
+static int data2hex(const void *data, size_t data_size, gnutls_datum_t *out)
{
gnutls_datum_t tmp, td;
int ret;
size_t size;
- td.size = hex_str_size(data_size) + 1; /* +1 for '#' */
+ td.size = hex_str_size(data_size) + 1; /* +1 for '#' */
td.data = gnutls_malloc(td.size);
if (td.data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -479,7 +479,7 @@ static int data2hex(const void *data, size_t data_size, gnutls_datum_t * out)
tmp.size = data_size;
td.data[0] = '#';
- size = td.size - 1; /* don't include '#' */
+ size = td.size - 1; /* don't include '#' */
ret = gnutls_hex_encode(&tmp, (char *)&td.data[1], &size);
if (ret < 0) {
gnutls_assert();
@@ -487,7 +487,7 @@ static int data2hex(const void *data, size_t data_size, gnutls_datum_t * out)
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- td.size--; /* don't include null */
+ td.size--; /* don't include null */
out->data = td.data;
out->size = td.size;
@@ -512,25 +512,24 @@ gnutls_x509_subject_alt_name_t _gnutls_x509_san_find_type(char *str_type)
if (strcmp(str_type, "registeredID") == 0)
return GNUTLS_SAN_REGISTERED_ID;
- return (gnutls_x509_subject_alt_name_t) - 1;
+ return (gnutls_x509_subject_alt_name_t)-1;
}
/* A generic export function. Will export the given ASN.1 encoded data
* to PEM or DER raw data.
*/
-int
-_gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
- gnutls_x509_crt_fmt_t format,
- const char *pem_header,
- unsigned char *output_data,
- size_t *output_data_size)
+int _gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
+ gnutls_x509_crt_fmt_t format,
+ const char *pem_header,
+ unsigned char *output_data,
+ size_t *output_data_size)
{
int ret;
gnutls_datum_t out = { NULL, 0 };
size_t size;
- ret = _gnutls_x509_export_int_named2(asn1_data, name,
- format, pem_header, &out);
+ ret = _gnutls_x509_export_int_named2(asn1_data, name, format,
+ pem_header, &out);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -556,7 +555,7 @@ _gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(out.data);
return ret;
@@ -565,10 +564,9 @@ _gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
/* A generic export function. Will export the given ASN.1 encoded data
* to PEM or DER raw data.
*/
-int
-_gnutls_x509_export_int_named2(asn1_node asn1_data, const char *name,
- gnutls_x509_crt_fmt_t format,
- const char *pem_header, gnutls_datum_t * out)
+int _gnutls_x509_export_int_named2(asn1_node asn1_data, const char *name,
+ gnutls_x509_crt_fmt_t format,
+ const char *pem_header, gnutls_datum_t *out)
{
int ret;
@@ -576,15 +574,15 @@ _gnutls_x509_export_int_named2(asn1_node asn1_data, const char *name,
ret = _gnutls_x509_der_encode(asn1_data, name, out, 0);
if (ret < 0)
return gnutls_assert_val(ret);
- } else { /* PEM */
+ } else { /* PEM */
gnutls_datum_t tmp;
ret = _gnutls_x509_der_encode(asn1_data, name, &tmp, 0);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_fbase64_encode(pem_header, tmp.data, tmp.size, out);
+ ret = _gnutls_fbase64_encode(pem_header, tmp.data, tmp.size,
+ out);
_gnutls_free_datum(&tmp);
if (ret < 0)
@@ -598,10 +596,9 @@ _gnutls_x509_export_int_named2(asn1_node asn1_data, const char *name,
* The returned string is always null terminated (but null is not
* included in size).
*/
-int
-_gnutls_x509_decode_string(unsigned int etype,
- const uint8_t * der, size_t der_size,
- gnutls_datum_t * output, unsigned allow_ber)
+int _gnutls_x509_decode_string(unsigned int etype, const uint8_t *der,
+ size_t der_size, gnutls_datum_t *output,
+ unsigned allow_ber)
{
int ret;
uint8_t *str;
@@ -612,13 +609,11 @@ _gnutls_x509_decode_string(unsigned int etype,
output->size = 0;
if (allow_ber)
- ret =
- asn1_decode_simple_ber(etype, der, der_size, &str,
- &str_size, NULL);
+ ret = asn1_decode_simple_ber(etype, der, der_size, &str,
+ &str_size, NULL);
else
- ret =
- asn1_decode_simple_der(etype, der, der_size,
- (const uint8_t **)&str, &str_size);
+ ret = asn1_decode_simple_der(etype, der, der_size,
+ (const uint8_t **)&str, &str_size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -638,7 +633,7 @@ _gnutls_x509_decode_string(unsigned int etype,
free(str);
ret = make_printable_string(etype, &td, output);
- if (ret == GNUTLS_E_INVALID_REQUEST) { /* unsupported etype */
+ if (ret == GNUTLS_E_INVALID_REQUEST) { /* unsupported etype */
output->data = td.data;
output->size = td.size;
ret = 0;
@@ -655,9 +650,8 @@ _gnutls_x509_decode_string(unsigned int etype,
if (len != (size_t)output->size) {
_gnutls_free_datum(output);
- ret =
- gnutls_assert_val
- (GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING);
+ ret = gnutls_assert_val(
+ GNUTLS_E_ASN1_EMBEDDED_NULL_IN_STRING);
}
}
@@ -670,9 +664,8 @@ _gnutls_x509_decode_string(unsigned int etype,
* Note that this function always allocates one plus
* the required data size (and places a null byte).
*/
-static int
-x509_read_value(asn1_node c, const char *root,
- gnutls_datum_t * ret, unsigned allow_null)
+static int x509_read_value(asn1_node c, const char *root, gnutls_datum_t *ret,
+ unsigned allow_null)
{
int len = 0, result;
uint8_t *tmp = NULL;
@@ -682,8 +675,8 @@ x509_read_value(asn1_node c, const char *root,
if (result == 0 && allow_null == 0 && len == 0) {
/* don't allow null strings */
return gnutls_assert_val(GNUTLS_E_ASN1_DER_ERROR);
- } else if (result == 0 && allow_null == 0
- && etype == ASN1_ETYPE_OBJECT_ID && len == 1) {
+ } else if (result == 0 && allow_null == 0 &&
+ etype == ASN1_ETYPE_OBJECT_ID && len == 1) {
return gnutls_assert_val(GNUTLS_E_ASN1_DER_ERROR);
}
@@ -721,8 +714,8 @@ x509_read_value(asn1_node c, const char *root,
if (len > 0) {
ret->size = len - 1;
} else {
- result =
- gnutls_assert_val(GNUTLS_E_ASN1_DER_ERROR);
+ result = gnutls_assert_val(
+ GNUTLS_E_ASN1_DER_ERROR);
goto cleanup;
}
break;
@@ -739,19 +732,18 @@ x509_read_value(asn1_node c, const char *root,
return 0;
- cleanup:
+cleanup:
gnutls_free(tmp);
return result;
}
-int _gnutls_x509_read_value(asn1_node c, const char *root, gnutls_datum_t * ret)
+int _gnutls_x509_read_value(asn1_node c, const char *root, gnutls_datum_t *ret)
{
return x509_read_value(c, root, ret, 0);
}
-int
-_gnutls_x509_read_null_value(asn1_node c, const char *root,
- gnutls_datum_t * ret)
+int _gnutls_x509_read_null_value(asn1_node c, const char *root,
+ gnutls_datum_t *ret)
{
return x509_read_value(c, root, ret, 1);
}
@@ -762,10 +754,8 @@ _gnutls_x509_read_null_value(asn1_node c, const char *root,
* Note that this function always places a null character
* at the end of a readable string value (which is not accounted into size)
*/
-int
-_gnutls_x509_read_string(asn1_node c, const char *root,
- gnutls_datum_t * ret, unsigned int etype,
- unsigned int allow_ber)
+int _gnutls_x509_read_string(asn1_node c, const char *root, gnutls_datum_t *ret,
+ unsigned int etype, unsigned int allow_ber)
{
int len = 0, result;
size_t slen;
@@ -812,24 +802,23 @@ _gnutls_x509_read_string(asn1_node c, const char *root,
return 0;
- cleanup:
+cleanup:
gnutls_free(tmp);
return result;
}
/* The string type should be IA5String, UTF8String etc. Leave
* null for octet string */
-int _gnutls_x509_encode_string(unsigned int etype,
- const void *input_data, size_t input_size,
- gnutls_datum_t * output)
+int _gnutls_x509_encode_string(unsigned int etype, const void *input_data,
+ size_t input_size, gnutls_datum_t *output)
{
uint8_t tl[ASN1_MAX_TL_SIZE];
unsigned int tl_size;
int ret;
tl_size = sizeof(tl);
- ret =
- asn1_encode_simple_der(etype, input_data, input_size, tl, &tl_size);
+ ret = asn1_encode_simple_der(etype, input_data, input_size, tl,
+ &tl_size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -852,9 +841,8 @@ int _gnutls_x509_encode_string(unsigned int etype,
* the given datum. If str is non zero then the data are encoded as
* an OCTET STRING.
*/
-int
-_gnutls_x509_der_encode(asn1_node src, const char *src_name,
- gnutls_datum_t * res, int str)
+int _gnutls_x509_der_encode(asn1_node src, const char *src_name,
+ gnutls_datum_t *res, int str)
{
int size, result;
int asize;
@@ -873,7 +861,7 @@ _gnutls_x509_der_encode(asn1_node src, const char *src_name,
*/
if (str)
- size += 16; /* for later to include the octet tags */
+ size += 16; /* for later to include the octet tags */
asize = size;
data = gnutls_malloc((size_t)size);
@@ -890,9 +878,9 @@ _gnutls_x509_der_encode(asn1_node src, const char *src_name,
}
if (str) {
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-7-Data",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-Data", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -921,11 +909,10 @@ _gnutls_x509_der_encode(asn1_node src, const char *src_name,
res->size = (unsigned)size;
return 0;
- cleanup:
+cleanup:
gnutls_free(data);
asn1_delete_structure(&c2);
return result;
-
}
/* DER Encodes the src asn1_node and stores it to
@@ -933,9 +920,9 @@ _gnutls_x509_der_encode(asn1_node src, const char *src_name,
* as OCTET. If str is non null then the data are encoded as
* an OCTET STRING.
*/
-int
-_gnutls_x509_der_encode_and_copy(asn1_node src, const char *src_name,
- asn1_node dest, const char *dest_name, int str)
+int _gnutls_x509_der_encode_and_copy(asn1_node src, const char *src_name,
+ asn1_node dest, const char *dest_name,
+ int str)
{
int result;
gnutls_datum_t encoded = { NULL, 0 };
@@ -949,8 +936,8 @@ _gnutls_x509_der_encode_and_copy(asn1_node src, const char *src_name,
/* Write the data.
*/
- result =
- asn1_write_value(dest, dest_name, encoded.data, (int)encoded.size);
+ result = asn1_write_value(dest, dest_name, encoded.data,
+ (int)encoded.size);
_gnutls_free_datum(&encoded);
@@ -964,9 +951,8 @@ _gnutls_x509_der_encode_and_copy(asn1_node src, const char *src_name,
/* Writes the value of the datum in the given asn1_node.
*/
-int
-_gnutls_x509_write_value(asn1_node c, const char *root,
- const gnutls_datum_t * data)
+int _gnutls_x509_write_value(asn1_node c, const char *root,
+ const gnutls_datum_t *data)
{
int ret;
@@ -983,9 +969,8 @@ _gnutls_x509_write_value(asn1_node c, const char *root,
/* Writes the value of the datum in the given asn1_node as a string.
*/
-int
-_gnutls_x509_write_string(asn1_node c, const char *root,
- const gnutls_datum_t * data, unsigned int etype)
+int _gnutls_x509_write_string(asn1_node c, const char *root,
+ const gnutls_datum_t *data, unsigned int etype)
{
int ret;
gnutls_datum_t val = { NULL, 0 };
@@ -1005,31 +990,28 @@ _gnutls_x509_write_string(asn1_node c, const char *root,
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&val);
return ret;
}
-void
-_asnstr_append_name(char *name, size_t name_size, const char *part1,
- const char *part2)
+void _asnstr_append_name(char *name, size_t name_size, const char *part1,
+ const char *part2)
{
if (part1[0] != 0) {
_gnutls_str_cpy(name, name_size, part1);
_gnutls_str_cat(name, name_size, part2);
} else
_gnutls_str_cpy(name, name_size,
- part2 + 1 /* remove initial dot */ );
+ part2 + 1 /* remove initial dot */);
}
/* Encodes and copies the private key parameters into a
* subjectPublicKeyInfo structure.
*
*/
-int
-_gnutls_x509_encode_and_copy_PKI_params(asn1_node dst,
- const char *dst_name,
- const gnutls_pk_params_st * params)
+int _gnutls_x509_encode_and_copy_PKI_params(asn1_node dst, const char *dst_name,
+ const gnutls_pk_params_st *params)
{
const char *oid;
gnutls_datum_t der = { NULL, 0 };
@@ -1093,35 +1075,31 @@ _gnutls_x509_encode_and_copy_PKI_params(asn1_node dst,
/* Encodes and public key parameters into a
* subjectPublicKeyInfo structure and stores it in der.
*/
-int
-_gnutls_x509_encode_PKI_params(gnutls_datum_t * der,
- const gnutls_pk_params_st * params)
+int _gnutls_x509_encode_PKI_params(gnutls_datum_t *der,
+ const gnutls_pk_params_st *params)
{
int ret;
asn1_node tmp;
- ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Certificate", &tmp);
+ ret = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Certificate",
+ &tmp);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret = _gnutls_x509_encode_and_copy_PKI_params(tmp,
- "tbsCertificate.subjectPublicKeyInfo",
- params);
+ ret = _gnutls_x509_encode_and_copy_PKI_params(
+ tmp, "tbsCertificate.subjectPublicKeyInfo", params);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
}
- ret =
- _gnutls_x509_der_encode(tmp,
- "tbsCertificate.subjectPublicKeyInfo",
- der, 0);
+ ret = _gnutls_x509_der_encode(
+ tmp, "tbsCertificate.subjectPublicKeyInfo", der, 0);
- cleanup:
+cleanup:
asn1_delete_structure(&tmp);
return ret;
@@ -1130,9 +1108,8 @@ _gnutls_x509_encode_PKI_params(gnutls_datum_t * der,
/* Reads and returns the PK algorithm of the given certificate-like
* ASN.1 structure. src_name should be something like "tbsCertificate.subjectPublicKeyInfo".
*/
-int
-_gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,
- gnutls_ecc_curve_t * curve, unsigned int *bits)
+int _gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,
+ gnutls_ecc_curve_t *curve, unsigned int *bits)
{
int result;
int algo;
@@ -1153,8 +1130,8 @@ _gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,
algo = _gnutls_oid_to_pk_and_curve(oid, &lcurve);
if (algo == GNUTLS_PK_UNKNOWN) {
- _gnutls_debug_log
- ("%s: unknown public key algorithm: %s\n", __func__, oid);
+ _gnutls_debug_log("%s: unknown public key algorithm: %s\n",
+ __func__, oid);
}
if (curve)
@@ -1166,7 +1143,7 @@ _gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,
/* Now read the parameters' bits
*/
- if (lcurve != GNUTLS_ECC_CURVE_INVALID) { /* curve present */
+ if (lcurve != GNUTLS_ECC_CURVE_INVALID) { /* curve present */
bits[0] = gnutls_ecc_curve_get_size(lcurve) * 8;
} else {
gnutls_pk_params_st params;
@@ -1186,9 +1163,9 @@ _gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,
/* Reads the DER signed data from the certificate and allocates space and
* returns them into signed_data.
*/
-int
-_gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t * der,
- const char *src_name, gnutls_datum_t * signed_data)
+int _gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t *der,
+ const char *src_name,
+ gnutls_datum_t *signed_data)
{
int start, end, result;
@@ -1198,16 +1175,16 @@ _gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t * der,
/* Get the signed data
*/
- result = asn1_der_decoding_startEnd(src, der->data, der->size,
- src_name, &start, &end);
+ result = asn1_der_decoding_startEnd(src, der->data, der->size, src_name,
+ &start, &end);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
goto cleanup;
}
- result =
- _gnutls_set_datum(signed_data, &der->data[start], end - start + 1);
+ result = _gnutls_set_datum(signed_data, &der->data[start],
+ end - start + 1);
if (result < 0) {
gnutls_assert();
@@ -1216,7 +1193,7 @@ _gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t * der,
result = 0;
- cleanup:
+cleanup:
return result;
}
@@ -1271,8 +1248,8 @@ int _gnutls_x509_get_signature_algorithm(asn1_node src, const char *src_name)
_gnutls_free_datum(&der);
if (result == 0)
- result =
- gnutls_pk_to_sign(params.pk, params.rsa_pss_dig);
+ result = gnutls_pk_to_sign(params.pk,
+ params.rsa_pss_dig);
} else if (sa.data) {
result = gnutls_oid_to_sign((char *)sa.data);
} else {
@@ -1290,9 +1267,8 @@ int _gnutls_x509_get_signature_algorithm(asn1_node src, const char *src_name)
/* Reads the DER signature from the certificate and allocates space and
* returns them into signed_data.
*/
-int
-_gnutls_x509_get_signature(asn1_node src, const char *src_name,
- gnutls_datum_t * signature)
+int _gnutls_x509_get_signature(asn1_node src, const char *src_name,
+ gnutls_datum_t *signature)
{
int result, len;
int bits;
@@ -1342,7 +1318,7 @@ _gnutls_x509_get_signature(asn1_node src, const char *src_name,
return 0;
- cleanup:
+cleanup:
gnutls_free(signature->data);
return result;
}
@@ -1361,7 +1337,7 @@ static int is_printable(char p)
static int write_complex_string(asn1_node asn_struct, const char *where,
const struct oid_to_string *oentry,
- const uint8_t * data, size_t data_size)
+ const uint8_t *data, size_t data_size)
{
char tmp[128];
asn1_node c2;
@@ -1416,7 +1392,7 @@ static int write_complex_string(asn1_node asn_struct, const char *where,
result = 0;
- error:
+error:
asn1_delete_structure(&c2);
return result;
}
@@ -1425,12 +1401,11 @@ static int write_complex_string(asn1_node asn_struct, const char *where,
* 'multi' must be (0) if writing an AttributeTypeAndValue, and 1 if Attribute.
* In all cases only one value is written.
*/
-int
-_gnutls_x509_encode_and_write_attribute(const char *given_oid,
- asn1_node asn1_struct,
- const char *where,
- const void *_data,
- int data_size, int multi)
+int _gnutls_x509_encode_and_write_attribute(const char *given_oid,
+ asn1_node asn1_struct,
+ const char *where,
+ const void *_data, int data_size,
+ int multi)
{
const uint8_t *data = _data;
char tmp[128];
@@ -1450,8 +1425,9 @@ _gnutls_x509_encode_and_write_attribute(const char *given_oid,
_gnutls_str_cpy(tmp, sizeof(tmp), where);
_gnutls_str_cat(tmp, sizeof(tmp), ".value");
- if (multi != 0) { /* if not writing an AttributeTypeAndValue, but an Attribute */
- _gnutls_str_cat(tmp, sizeof(tmp), "s"); /* values */
+ if (multi !=
+ 0) { /* if not writing an AttributeTypeAndValue, but an Attribute */
+ _gnutls_str_cat(tmp, sizeof(tmp), "s"); /* values */
result = asn1_write_value(asn1_struct, tmp, "NEW", 1);
if (result != ASN1_SUCCESS) {
@@ -1463,21 +1439,19 @@ _gnutls_x509_encode_and_write_attribute(const char *given_oid,
_gnutls_str_cat(tmp, sizeof(tmp), ".?LAST");
}
- if (oentry->asn_desc != NULL) { /* write a complex string API */
- result =
- write_complex_string(asn1_struct, tmp, oentry, data,
- data_size);
+ if (oentry->asn_desc != NULL) { /* write a complex string API */
+ result = write_complex_string(asn1_struct, tmp, oentry, data,
+ data_size);
if (result < 0)
return gnutls_assert_val(result);
- } else { /* write a simple string */
+ } else { /* write a simple string */
gnutls_datum_t td;
td.data = (void *)data;
td.size = data_size;
- result =
- _gnutls_x509_write_string(asn1_struct, tmp, &td,
- oentry->etype);
+ result = _gnutls_x509_write_string(asn1_struct, tmp, &td,
+ oentry->etype);
if (result < 0) {
gnutls_assert();
goto error;
@@ -1498,7 +1472,7 @@ _gnutls_x509_encode_and_write_attribute(const char *given_oid,
result = 0;
- error:
+error:
return result;
}
@@ -1508,7 +1482,7 @@ _gnutls_x509_encode_and_write_attribute(const char *given_oid,
*
* The buffer will always be null terminated.
*/
-int _gnutls_strdatum_to_buf(gnutls_datum_t * d, void *buf, size_t *buf_size)
+int _gnutls_strdatum_to_buf(gnutls_datum_t *d, void *buf, size_t *buf_size)
{
int ret;
uint8_t *_buf = buf;
@@ -1524,21 +1498,19 @@ int _gnutls_strdatum_to_buf(gnutls_datum_t * d, void *buf, size_t *buf_size)
*buf_size = d->size;
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(d);
return ret;
}
-int
-_gnutls_x509_get_raw_field2(asn1_node c2, const gnutls_datum_t * raw,
- const char *whom, gnutls_datum_t * dn)
+int _gnutls_x509_get_raw_field2(asn1_node c2, const gnutls_datum_t *raw,
+ const char *whom, gnutls_datum_t *dn)
{
int result, len1;
int start1, end1;
- result =
- asn1_der_decoding_startEnd(c2, raw->data, raw->size,
- whom, &start1, &end1);
+ result = asn1_der_decoding_startEnd(c2, raw->data, raw->size, whom,
+ &start1, &end1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -1552,11 +1524,11 @@ _gnutls_x509_get_raw_field2(asn1_node c2, const gnutls_datum_t * raw,
dn->size = len1;
result = 0;
- cleanup:
+cleanup:
return result;
}
-int _gnutls_copy_string(const gnutls_datum_t * str, uint8_t * out,
+int _gnutls_copy_string(const gnutls_datum_t *str, uint8_t *out,
size_t *out_size)
{
unsigned size_to_check;
@@ -1580,8 +1552,7 @@ int _gnutls_copy_string(const gnutls_datum_t * str, uint8_t * out,
return 0;
}
-int _gnutls_copy_data(const gnutls_datum_t * str, uint8_t * out,
- size_t *out_size)
+int _gnutls_copy_data(const gnutls_datum_t *str, uint8_t *out, size_t *out_size)
{
if ((unsigned)str->size > *out_size) {
gnutls_assert();
@@ -1598,7 +1569,7 @@ int _gnutls_copy_data(const gnutls_datum_t * str, uint8_t * out,
}
/* Converts an X.509 certificate to subjectPublicKeyInfo */
-int x509_crt_to_raw_pubkey(gnutls_x509_crt_t crt, gnutls_datum_t * rpubkey)
+int x509_crt_to_raw_pubkey(gnutls_x509_crt_t crt, gnutls_datum_t *rpubkey)
{
gnutls_pubkey_t pubkey = NULL;
int ret;
@@ -1621,14 +1592,14 @@ int x509_crt_to_raw_pubkey(gnutls_x509_crt_t crt, gnutls_datum_t * rpubkey)
ret = 0;
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
/* Converts an X.509 certificate to subjectPublicKeyInfo */
-int _gnutls_x509_raw_crt_to_raw_pubkey(const gnutls_datum_t * cert,
- gnutls_datum_t * rpubkey)
+int _gnutls_x509_raw_crt_to_raw_pubkey(const gnutls_datum_t *cert,
+ gnutls_datum_t *rpubkey)
{
gnutls_x509_crt_t crt = NULL;
int ret;
@@ -1644,16 +1615,15 @@ int _gnutls_x509_raw_crt_to_raw_pubkey(const gnutls_datum_t * cert,
}
ret = x509_crt_to_raw_pubkey(crt, rpubkey);
- cleanup:
+cleanup:
gnutls_x509_crt_deinit(crt);
return ret;
}
-unsigned
-_gnutls_check_valid_key_id(const gnutls_datum_t * key_id,
- gnutls_x509_crt_t cert, time_t now,
- unsigned *has_ski)
+unsigned _gnutls_check_valid_key_id(const gnutls_datum_t *key_id,
+ gnutls_x509_crt_t cert, time_t now,
+ unsigned *has_ski)
{
uint8_t id[MAX_KEY_ID_SIZE];
size_t id_size;
@@ -1681,7 +1651,7 @@ _gnutls_check_valid_key_id(const gnutls_datum_t * key_id,
if (id_size == key_id->size && !memcmp(id, key_id->data, id_size))
result = 1;
- out:
+out:
return result;
}
@@ -1721,13 +1691,13 @@ _gnutls_check_valid_key_id(const gnutls_datum_t * key_id,
* It will return 3, meaning that the first segment contains [G, H, I]. At this
* point, sorting of @clist is complete.
*/
-unsigned int _gnutls_sort_clist(gnutls_x509_crt_t * clist,
+unsigned int _gnutls_sort_clist(gnutls_x509_crt_t *clist,
unsigned int clist_size)
{
int prev;
unsigned int i, j, k;
- int issuer[DEFAULT_MAX_VERIFY_DEPTH]; /* contain the index of the issuers */
- bool insorted[DEFAULT_MAX_VERIFY_DEPTH]; /* non zero if clist[i] used in sorted list */
+ int issuer[DEFAULT_MAX_VERIFY_DEPTH]; /* contain the index of the issuers */
+ bool insorted[DEFAULT_MAX_VERIFY_DEPTH]; /* non zero if clist[i] used in sorted list */
gnutls_x509_crt_t sorted[DEFAULT_MAX_VERIFY_DEPTH];
assert(clist_size <= DEFAULT_MAX_VERIFY_DEPTH);
@@ -1767,7 +1737,7 @@ unsigned int _gnutls_sort_clist(gnutls_x509_crt_t * clist,
prev = 0;
for (i = 1; i < clist_size; i++) {
prev = issuer[prev];
- if (prev < 0) { /* no issuer */
+ if (prev < 0) { /* no issuer */
break;
}
@@ -1791,7 +1761,7 @@ unsigned int _gnutls_sort_clist(gnutls_x509_crt_t * clist,
return i;
}
-int _gnutls_check_if_sorted(gnutls_x509_crt_t * crt, int nr)
+int _gnutls_check_if_sorted(gnutls_x509_crt_t *crt, int nr)
{
int i, ret;
@@ -1799,12 +1769,11 @@ int _gnutls_check_if_sorted(gnutls_x509_crt_t * crt, int nr)
if (nr > 1) {
for (i = 0; i < nr; i++) {
if (i > 0) {
- if (!_gnutls_x509_compare_raw_dn
- (&crt[i]->raw_dn,
- &crt[i - 1]->raw_issuer_dn)) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_CERTIFICATE_LIST_UNSORTED);
+ if (!_gnutls_x509_compare_raw_dn(
+ &crt[i]->raw_dn,
+ &crt[i - 1]->raw_issuer_dn)) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_CERTIFICATE_LIST_UNSORTED);
goto cleanup;
}
}
@@ -1812,7 +1781,7 @@ int _gnutls_check_if_sorted(gnutls_x509_crt_t * crt, int nr)
}
ret = 0;
- cleanup:
+cleanup:
return ret;
}
@@ -1912,7 +1881,7 @@ int _gnutls_x509_get_version(asn1_node root, const char *name)
result = asn1_read_value(root, name, version, &len);
if (result != ASN1_SUCCESS) {
if (result == ASN1_ELEMENT_NOT_FOUND)
- return 1; /* the DEFAULT version */
+ return 1; /* the DEFAULT version */
gnutls_assert();
return _gnutls_asn2err(result);
}
diff --git a/lib/x509/common.h b/lib/x509/common.h
index 51f8faab19..52d5d8f040 100644
--- a/lib/x509/common.h
+++ b/lib/x509/common.h
@@ -22,114 +22,114 @@
*/
#ifndef GNUTLS_LIB_X509_COMMON_H
-# define GNUTLS_LIB_X509_COMMON_H
+#define GNUTLS_LIB_X509_COMMON_H
-# include <algorithms.h>
-# include <abstract_int.h>
-# include <x509/x509_int.h>
-# include <fips.h>
+#include <algorithms.h>
+#include <abstract_int.h>
+#include <x509/x509_int.h>
+#include <fips.h>
-# define MAX_STRING_LEN 512
+#define MAX_STRING_LEN 512
-# if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
-# define MAX_ITER_COUNT 10*1024
-# else
+#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
+#define MAX_ITER_COUNT 10 * 1024
+#else
/* Set a maximum iteration count over which we refuse to
* decode a file. That is to prevent DoS. */
-# define MAX_ITER_COUNT (10*1024*1024)
-# endif
+#define MAX_ITER_COUNT (10 * 1024 * 1024)
+#endif
-# define GNUTLS_XML_SHOW_ALL 1
+#define GNUTLS_XML_SHOW_ALL 1
-# define PEM_CRL "X509 CRL"
-# define PEM_X509_CERT "X509 CERTIFICATE"
-# define PEM_X509_CERT2 "CERTIFICATE"
-# define PEM_PKCS7 "PKCS7"
-# define PEM_PKCS12 "PKCS12"
-# define PEM_PK "PUBLIC KEY"
+#define PEM_CRL "X509 CRL"
+#define PEM_X509_CERT "X509 CERTIFICATE"
+#define PEM_X509_CERT2 "CERTIFICATE"
+#define PEM_PKCS7 "PKCS7"
+#define PEM_PKCS12 "PKCS12"
+#define PEM_PK "PUBLIC KEY"
/* public key algorithm's OIDs
*/
-# define PK_PKIX1_RSA_OID "1.2.840.113549.1.1.1"
-# define PK_PKIX1_RSA_PSS_OID "1.2.840.113549.1.1.10"
-# define PK_X509_RSA_OID "2.5.8.1.1"
-# define PK_DSA_OID "1.2.840.10040.4.1"
-# define PK_GOST_R3410_94_OID "1.2.643.2.2.20"
-# define PK_GOST_R3410_2001_OID "1.2.643.2.2.19"
-# define PK_GOST_R3410_2012_256_OID "1.2.643.7.1.1.1.1"
-# define PK_GOST_R3410_2012_512_OID "1.2.643.7.1.1.1.2"
+#define PK_PKIX1_RSA_OID "1.2.840.113549.1.1.1"
+#define PK_PKIX1_RSA_PSS_OID "1.2.840.113549.1.1.10"
+#define PK_X509_RSA_OID "2.5.8.1.1"
+#define PK_DSA_OID "1.2.840.10040.4.1"
+#define PK_GOST_R3410_94_OID "1.2.643.2.2.20"
+#define PK_GOST_R3410_2001_OID "1.2.643.2.2.19"
+#define PK_GOST_R3410_2012_256_OID "1.2.643.7.1.1.1.1"
+#define PK_GOST_R3410_2012_512_OID "1.2.643.7.1.1.1.2"
/* signature OIDs
*/
-# define SIG_DSA_SHA1_OID "1.2.840.10040.4.3"
+#define SIG_DSA_SHA1_OID "1.2.840.10040.4.3"
/* those two from draft-ietf-pkix-sha2-dsa-ecdsa-06 */
-# define SIG_DSA_SHA224_OID "2.16.840.1.101.3.4.3.1"
-# define SIG_DSA_SHA256_OID "2.16.840.1.101.3.4.3.2"
-# define SIG_DSA_SHA384_OID "2.16.840.1.101.3.4.3.3"
-# define SIG_DSA_SHA512_OID "2.16.840.1.101.3.4.3.4"
-
-# define SIG_RSA_MD5_OID "1.2.840.113549.1.1.4"
-# define SIG_RSA_MD2_OID "1.2.840.113549.1.1.2"
-# define SIG_RSA_SHA1_OID "1.2.840.113549.1.1.5"
-# define SIG_RSA_SHA224_OID "1.2.840.113549.1.1.14"
-# define SIG_RSA_SHA256_OID "1.2.840.113549.1.1.11"
-# define SIG_RSA_SHA384_OID "1.2.840.113549.1.1.12"
-# define SIG_RSA_SHA512_OID "1.2.840.113549.1.1.13"
-# define SIG_RSA_RMD160_OID "1.3.36.3.3.1.2"
-# define SIG_GOST_R3410_94_OID "1.2.643.2.2.4"
-# define SIG_GOST_R3410_2001_OID "1.2.643.2.2.3"
-# define SIG_GOST_R3410_2012_256_OID "1.2.643.7.1.1.3.2"
-# define SIG_GOST_R3410_2012_512_OID "1.2.643.7.1.1.3.3"
-# define ISO_SIG_RSA_SHA1_OID "1.3.14.3.2.29"
-
-# define SIG_DSA_SHA3_224_OID "2.16.840.1.101.3.4.3.5"
-# define SIG_DSA_SHA3_256_OID "2.16.840.1.101.3.4.3.6"
-# define SIG_DSA_SHA3_384_OID "2.16.840.1.101.3.4.3.7"
-# define SIG_DSA_SHA3_512_OID "2.16.840.1.101.3.4.3.8"
-
-# define SIG_ECDSA_SHA3_224_OID "2.16.840.1.101.3.4.3.9"
-# define SIG_ECDSA_SHA3_256_OID "2.16.840.1.101.3.4.3.10"
-# define SIG_ECDSA_SHA3_384_OID "2.16.840.1.101.3.4.3.11"
-# define SIG_ECDSA_SHA3_512_OID "2.16.840.1.101.3.4.3.12"
-
-# define SIG_RSA_SHA3_224_OID "2.16.840.1.101.3.4.3.13"
-# define SIG_RSA_SHA3_256_OID "2.16.840.1.101.3.4.3.14"
-# define SIG_RSA_SHA3_384_OID "2.16.840.1.101.3.4.3.15"
-# define SIG_RSA_SHA3_512_OID "2.16.840.1.101.3.4.3.16"
-
-# define ECDH_X25519_OID "1.3.101.110"
-# define ECDH_X448_OID "1.3.101.111"
-
-# define SIG_EDDSA_SHA512_OID "1.3.101.112"
-# define SIG_ED448_OID "1.3.101.113"
-
-# define XMPP_OID "1.3.6.1.5.5.7.8.5"
-# define KRB5_PRINCIPAL_OID "1.3.6.1.5.2.2"
-# define MSUSER_PRINCIPAL_NAME_OID "1.3.6.1.4.1.311.20.2.3"
-# define PKIX1_RSA_PSS_MGF1_OID "1.2.840.113549.1.1.8"
-
-# define GOST28147_89_OID "1.2.643.2.2.21"
-# define GOST28147_89_TC26Z_OID "1.2.643.7.1.2.5.1.1"
-# define GOST28147_89_CPA_OID "1.2.643.2.2.31.1"
-# define GOST28147_89_CPB_OID "1.2.643.2.2.31.2"
-# define GOST28147_89_CPC_OID "1.2.643.2.2.31.3"
-# define GOST28147_89_CPD_OID "1.2.643.2.2.31.4"
-
-# define ASN1_NULL "\x05\x00"
-# define ASN1_NULL_SIZE 2
+#define SIG_DSA_SHA224_OID "2.16.840.1.101.3.4.3.1"
+#define SIG_DSA_SHA256_OID "2.16.840.1.101.3.4.3.2"
+#define SIG_DSA_SHA384_OID "2.16.840.1.101.3.4.3.3"
+#define SIG_DSA_SHA512_OID "2.16.840.1.101.3.4.3.4"
+
+#define SIG_RSA_MD5_OID "1.2.840.113549.1.1.4"
+#define SIG_RSA_MD2_OID "1.2.840.113549.1.1.2"
+#define SIG_RSA_SHA1_OID "1.2.840.113549.1.1.5"
+#define SIG_RSA_SHA224_OID "1.2.840.113549.1.1.14"
+#define SIG_RSA_SHA256_OID "1.2.840.113549.1.1.11"
+#define SIG_RSA_SHA384_OID "1.2.840.113549.1.1.12"
+#define SIG_RSA_SHA512_OID "1.2.840.113549.1.1.13"
+#define SIG_RSA_RMD160_OID "1.3.36.3.3.1.2"
+#define SIG_GOST_R3410_94_OID "1.2.643.2.2.4"
+#define SIG_GOST_R3410_2001_OID "1.2.643.2.2.3"
+#define SIG_GOST_R3410_2012_256_OID "1.2.643.7.1.1.3.2"
+#define SIG_GOST_R3410_2012_512_OID "1.2.643.7.1.1.3.3"
+#define ISO_SIG_RSA_SHA1_OID "1.3.14.3.2.29"
+
+#define SIG_DSA_SHA3_224_OID "2.16.840.1.101.3.4.3.5"
+#define SIG_DSA_SHA3_256_OID "2.16.840.1.101.3.4.3.6"
+#define SIG_DSA_SHA3_384_OID "2.16.840.1.101.3.4.3.7"
+#define SIG_DSA_SHA3_512_OID "2.16.840.1.101.3.4.3.8"
+
+#define SIG_ECDSA_SHA3_224_OID "2.16.840.1.101.3.4.3.9"
+#define SIG_ECDSA_SHA3_256_OID "2.16.840.1.101.3.4.3.10"
+#define SIG_ECDSA_SHA3_384_OID "2.16.840.1.101.3.4.3.11"
+#define SIG_ECDSA_SHA3_512_OID "2.16.840.1.101.3.4.3.12"
+
+#define SIG_RSA_SHA3_224_OID "2.16.840.1.101.3.4.3.13"
+#define SIG_RSA_SHA3_256_OID "2.16.840.1.101.3.4.3.14"
+#define SIG_RSA_SHA3_384_OID "2.16.840.1.101.3.4.3.15"
+#define SIG_RSA_SHA3_512_OID "2.16.840.1.101.3.4.3.16"
+
+#define ECDH_X25519_OID "1.3.101.110"
+#define ECDH_X448_OID "1.3.101.111"
+
+#define SIG_EDDSA_SHA512_OID "1.3.101.112"
+#define SIG_ED448_OID "1.3.101.113"
+
+#define XMPP_OID "1.3.6.1.5.5.7.8.5"
+#define KRB5_PRINCIPAL_OID "1.3.6.1.5.2.2"
+#define MSUSER_PRINCIPAL_NAME_OID "1.3.6.1.4.1.311.20.2.3"
+#define PKIX1_RSA_PSS_MGF1_OID "1.2.840.113549.1.1.8"
+
+#define GOST28147_89_OID "1.2.643.2.2.21"
+#define GOST28147_89_TC26Z_OID "1.2.643.7.1.2.5.1.1"
+#define GOST28147_89_CPA_OID "1.2.643.2.2.31.1"
+#define GOST28147_89_CPB_OID "1.2.643.2.2.31.2"
+#define GOST28147_89_CPC_OID "1.2.643.2.2.31.3"
+#define GOST28147_89_CPD_OID "1.2.643.2.2.31.4"
+
+#define ASN1_NULL "\x05\x00"
+#define ASN1_NULL_SIZE 2
struct oid_to_string {
const char *oid;
unsigned oid_size;
const char *name_desc;
unsigned name_desc_size;
- const char *asn_desc; /* description in the pkix file if complex type */
- unsigned int etype; /* the libtasn1 ASN1_ETYPE or INVALID
+ const char *asn_desc; /* description in the pkix file if complex type */
+ unsigned int etype; /* the libtasn1 ASN1_ETYPE or INVALID
* if cannot be simply parsed */
};
-const struct oid_to_string *_gnutls_oid_get_entry(const struct oid_to_string
- *ots, const char *oid);
+const struct oid_to_string *
+_gnutls_oid_get_entry(const struct oid_to_string *ots, const char *oid);
const char *_gnutls_oid_get_asn_desc(const char *oid);
@@ -137,16 +137,15 @@ int _gnutls_x509_set_time(asn1_node c2, const char *where, time_t tim,
int force_general);
int _gnutls_x509_set_raw_time(asn1_node c2, const char *where, time_t tim);
-int _gnutls_x509_decode_string(unsigned int etype,
- const uint8_t * der, size_t der_size,
- gnutls_datum_t * output, unsigned allow_ber);
+int _gnutls_x509_decode_string(unsigned int etype, const uint8_t *der,
+ size_t der_size, gnutls_datum_t *output,
+ unsigned allow_ber);
-int _gnutls_x509_encode_string(unsigned int etype,
- const void *input_data, size_t input_size,
- gnutls_datum_t * output);
+int _gnutls_x509_encode_string(unsigned int etype, const void *input_data,
+ size_t input_size, gnutls_datum_t *output);
-int _gnutls_x509_dn_to_string(const char *OID, void *value,
- int value_size, gnutls_datum_t * out);
+int _gnutls_x509_dn_to_string(const char *OID, void *value, int value_size,
+ gnutls_datum_t *out);
const char *_gnutls_ldap_string_to_oid(const char *str, unsigned str_len);
time_t _gnutls_x509_get_time(asn1_node c2, const char *when, int general);
@@ -157,10 +156,10 @@ int _gnutls_x509_der_encode_and_copy(asn1_node src, const char *src_name,
asn1_node dest, const char *dest_name,
int str);
int _gnutls_x509_der_encode(asn1_node src, const char *src_name,
- gnutls_datum_t * res, int str);
+ gnutls_datum_t *res, int str);
-# define _gnutls_x509_export_int(asn1, format, header, out, out_size) \
- _gnutls_x509_export_int_named(asn1, "", format, header, out, out_size)
+#define _gnutls_x509_export_int(asn1, format, header, out, out_size) \
+ _gnutls_x509_export_int_named(asn1, "", format, header, out, out_size)
int _gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
gnutls_x509_crt_fmt_t format,
@@ -168,89 +167,79 @@ int _gnutls_x509_export_int_named(asn1_node asn1_data, const char *name,
unsigned char *output_data,
size_t *output_data_size);
-# define _gnutls_x509_export_int2(asn1, format, header, out) \
- _gnutls_x509_export_int_named2(asn1, "", format, header, out)
+#define _gnutls_x509_export_int2(asn1, format, header, out) \
+ _gnutls_x509_export_int_named2(asn1, "", format, header, out)
int _gnutls_x509_export_int_named2(asn1_node asn1_data, const char *name,
gnutls_x509_crt_fmt_t format,
- const char *pem_header,
- gnutls_datum_t * out);
+ const char *pem_header, gnutls_datum_t *out);
-int _gnutls_x509_read_value(asn1_node c, const char *root,
- gnutls_datum_t * ret);
+int _gnutls_x509_read_value(asn1_node c, const char *root, gnutls_datum_t *ret);
int _gnutls_x509_read_null_value(asn1_node c, const char *root,
- gnutls_datum_t * ret);
-int _gnutls_x509_read_string(asn1_node c, const char *root,
- gnutls_datum_t * ret, unsigned int etype,
- unsigned allow_ber);
+ gnutls_datum_t *ret);
+int _gnutls_x509_read_string(asn1_node c, const char *root, gnutls_datum_t *ret,
+ unsigned int etype, unsigned allow_ber);
int _gnutls_x509_write_value(asn1_node c, const char *root,
- const gnutls_datum_t * data);
+ const gnutls_datum_t *data);
int _gnutls_x509_write_string(asn1_node c, const char *root,
- const gnutls_datum_t * data, unsigned int etype);
+ const gnutls_datum_t *data, unsigned int etype);
int _gnutls_x509_encode_and_write_attribute(const char *given_oid,
asn1_node asn1_struct,
- const char *where,
- const void *data,
+ const char *where, const void *data,
int sizeof_data, int multi);
int _gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,
const char *where, char *oid,
- int oid_size,
- gnutls_datum_t * value,
+ int oid_size, gnutls_datum_t *value,
int multi, int octet);
int _gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,
- gnutls_ecc_curve_t * curve,
+ gnutls_ecc_curve_t *curve,
unsigned int *bits);
int _gnutls_x509_get_signature_algorithm(asn1_node src, const char *src_name);
-int _gnutls_x509_encode_and_copy_PKI_params(asn1_node dst,
- const char *dst_name,
- const gnutls_pk_params_st * params);
-int _gnutls_x509_encode_PKI_params(gnutls_datum_t * der,
- const gnutls_pk_params_st * params);
-int _gnutls_asn1_copy_node(asn1_node * dst, const char *dst_name,
- asn1_node src, const char *src_name);
+int _gnutls_x509_encode_and_copy_PKI_params(asn1_node dst, const char *dst_name,
+ const gnutls_pk_params_st *params);
+int _gnutls_x509_encode_PKI_params(gnutls_datum_t *der,
+ const gnutls_pk_params_st *params);
+int _gnutls_asn1_copy_node(asn1_node *dst, const char *dst_name, asn1_node src,
+ const char *src_name);
-int _gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t * der,
+int _gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t *der,
const char *src_name,
- gnutls_datum_t * signed_data);
+ gnutls_datum_t *signed_data);
int _gnutls_x509_get_signature(asn1_node src, const char *src_name,
- gnutls_datum_t * signature);
+ gnutls_datum_t *signature);
int _gnutls_get_asn_mpis(asn1_node asn, const char *root,
- gnutls_pk_params_st * params);
+ gnutls_pk_params_st *params);
-int _gnutls_get_key_id(gnutls_pk_params_st *,
- unsigned char *output_data,
+int _gnutls_get_key_id(gnutls_pk_params_st *, unsigned char *output_data,
size_t *output_data_size, unsigned flags);
void _asnstr_append_name(char *name, size_t name_size, const char *part1,
const char *part2);
/* Given a @c2 which it returns an allocated DER encoding of @whom in @out */
-inline static int
-_gnutls_x509_get_raw_field(asn1_node c2, const char *whom, gnutls_datum_t * out)
+inline static int _gnutls_x509_get_raw_field(asn1_node c2, const char *whom,
+ gnutls_datum_t *out)
{
return _gnutls_x509_der_encode(c2, whom, out, 0);
}
-int
-_gnutls_x509_get_raw_field2(asn1_node c2, const gnutls_datum_t * raw,
- const char *whom, gnutls_datum_t * dn);
+int _gnutls_x509_get_raw_field2(asn1_node c2, const gnutls_datum_t *raw,
+ const char *whom, gnutls_datum_t *dn);
-unsigned
-_gnutls_check_if_same_key(gnutls_x509_crt_t cert1,
- gnutls_x509_crt_t cert2, unsigned is_ca);
+unsigned _gnutls_check_if_same_key(gnutls_x509_crt_t cert1,
+ gnutls_x509_crt_t cert2, unsigned is_ca);
-unsigned
-_gnutls_check_if_same_key2(gnutls_x509_crt_t cert1, gnutls_datum_t * cert2bin);
+unsigned _gnutls_check_if_same_key2(gnutls_x509_crt_t cert1,
+ gnutls_datum_t *cert2bin);
-unsigned
-_gnutls_check_valid_key_id(const gnutls_datum_t * key_id,
- gnutls_x509_crt_t cert, time_t now,
- unsigned *has_ski);
+unsigned _gnutls_check_valid_key_id(const gnutls_datum_t *key_id,
+ gnutls_x509_crt_t cert, time_t now,
+ unsigned *has_ski);
unsigned _gnutls_check_key_purpose(gnutls_x509_crt_t cert, const char *purpose,
unsigned no_any);
@@ -260,48 +249,47 @@ time_t _gnutls_utcTime2gtime(const char *ttime);
int _gnutls_get_extension(asn1_node asn, const char *root,
const char *extension_id, int indx,
- gnutls_datum_t * ret, unsigned int *_critical);
+ gnutls_datum_t *ret, unsigned int *_critical);
-int _gnutls_set_extension(asn1_node asn, const char *root,
- const char *ext_id,
- const gnutls_datum_t * ext_data,
+int _gnutls_set_extension(asn1_node asn, const char *root, const char *ext_id,
+ const gnutls_datum_t *ext_data,
unsigned int critical);
-int _gnutls_strdatum_to_buf(gnutls_datum_t * d, void *buf, size_t *sizeof_buf);
+int _gnutls_strdatum_to_buf(gnutls_datum_t *d, void *buf, size_t *sizeof_buf);
unsigned _gnutls_is_same_dn(gnutls_x509_crt_t cert1, gnutls_x509_crt_t cert2);
-int _gnutls_copy_string(const gnutls_datum_t * str, uint8_t * out,
+int _gnutls_copy_string(const gnutls_datum_t *str, uint8_t *out,
size_t *out_size);
-int _gnutls_copy_data(const gnutls_datum_t * str, uint8_t * out,
+int _gnutls_copy_data(const gnutls_datum_t *str, uint8_t *out,
size_t *out_size);
-int _gnutls_x509_decode_ext(const gnutls_datum_t * der,
- gnutls_x509_ext_st * out);
-int _gnutls_x509_raw_crt_to_raw_pubkey(const gnutls_datum_t * cert,
- gnutls_datum_t * rpubkey);
+int _gnutls_x509_decode_ext(const gnutls_datum_t *der, gnutls_x509_ext_st *out);
+int _gnutls_x509_raw_crt_to_raw_pubkey(const gnutls_datum_t *cert,
+ gnutls_datum_t *rpubkey);
int _gnutls_x509_get_version(asn1_node root, const char *name);
-int x509_crt_to_raw_pubkey(gnutls_x509_crt_t crt, gnutls_datum_t * rpubkey);
+int x509_crt_to_raw_pubkey(gnutls_x509_crt_t crt, gnutls_datum_t *rpubkey);
typedef void (*gnutls_cert_vfunc)(gnutls_x509_crt_t);
-unsigned int _gnutls_sort_clist(gnutls_x509_crt_t * clist,
+unsigned int _gnutls_sort_clist(gnutls_x509_crt_t *clist,
unsigned int clist_size);
-int _gnutls_check_if_sorted(gnutls_x509_crt_t * crt, int nr);
+int _gnutls_check_if_sorted(gnutls_x509_crt_t *crt, int nr);
-inline static int _asn1_strict_der_decode(asn1_node * element, const void *ider,
+inline static int _asn1_strict_der_decode(asn1_node *element, const void *ider,
int len, char *errorDescription)
{
-# if defined(STRICT_DER_TIME) || !defined(ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME)
-# define _ASN1_DER_FLAGS ASN1_DECODE_FLAG_STRICT_DER
-# else
-# define _ASN1_DER_FLAGS (ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME|ASN1_DECODE_FLAG_STRICT_DER)
-# endif
+#if defined(STRICT_DER_TIME) || !defined(ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME)
+#define _ASN1_DER_FLAGS ASN1_DECODE_FLAG_STRICT_DER
+#else
+#define _ASN1_DER_FLAGS \
+ (ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME | ASN1_DECODE_FLAG_STRICT_DER)
+#endif
return asn1_der_decoding2(element, ider, &len, _ASN1_DER_FLAGS,
errorDescription);
}
-#endif /* GNUTLS_LIB_X509_COMMON_H */
+#endif /* GNUTLS_LIB_X509_COMMON_H */
diff --git a/lib/x509/crl.c b/lib/x509/crl.c
index 42367dba9c..e7db906824 100644
--- a/lib/x509/crl.c
+++ b/lib/x509/crl.c
@@ -65,7 +65,7 @@ static int crl_reinit(gnutls_x509_crl_t crl)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_x509_crl_init(gnutls_x509_crl_t * crl)
+int gnutls_x509_crl_init(gnutls_x509_crl_t *crl)
{
*crl = NULL;
FAIL_IF_LIB_ERROR;
@@ -79,7 +79,7 @@ int gnutls_x509_crl_init(gnutls_x509_crl_t * crl)
gnutls_free(*crl);
return result;
}
- return 0; /* success */
+ return 0; /* success */
}
return GNUTLS_E_MEMORY_ERROR;
}
@@ -116,10 +116,8 @@ void gnutls_x509_crl_deinit(gnutls_x509_crl_t crl)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_import(gnutls_x509_crl_t crl,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format)
+int gnutls_x509_crl_import(gnutls_x509_crl_t crl, const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format)
{
int result = 0;
@@ -133,9 +131,8 @@ gnutls_x509_crl_import(gnutls_x509_crl_t crl,
/* If the CRL is in PEM format then decode it
*/
if (format == GNUTLS_X509_FMT_PEM) {
- result =
- _gnutls_fbase64_decode(PEM_CRL, data->data, data->size,
- &crl->der);
+ result = _gnutls_fbase64_decode(PEM_CRL, data->data, data->size,
+ &crl->der);
if (result < 0) {
gnutls_assert();
@@ -158,9 +155,8 @@ gnutls_x509_crl_import(gnutls_x509_crl_t crl,
}
crl->expanded = 1;
- result =
- _asn1_strict_der_decode(&crl->crl, crl->der.data, crl->der.size,
- NULL);
+ result = _asn1_strict_der_decode(&crl->crl, crl->der.data,
+ crl->der.size, NULL);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
@@ -177,7 +173,7 @@ gnutls_x509_crl_import(gnutls_x509_crl_t crl,
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&crl->der);
return result;
}
@@ -203,17 +199,15 @@ gnutls_x509_crl_import(gnutls_x509_crl_t crl,
* with the required size, and 0 on success.
*
**/
-int
-gnutls_x509_crl_get_issuer_dn(gnutls_x509_crl_t crl, char *buf,
- size_t *sizeof_buf)
+int gnutls_x509_crl_get_issuer_dn(gnutls_x509_crl_t crl, char *buf,
+ size_t *sizeof_buf)
{
if (crl == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_parse_dn(crl->crl,
- "tbsCertList.issuer.rdnSequence",
+ return _gnutls_x509_parse_dn(crl->crl, "tbsCertList.issuer.rdnSequence",
buf, sizeof_buf,
GNUTLS_X509_DN_FLAG_COMPAT);
}
@@ -244,11 +238,9 @@ gnutls_x509_crl_get_issuer_dn(gnutls_x509_crl_t crl, char *buf,
* not long enough, and in that case the sizeof_buf will be updated
* with the required size, and 0 on success.
**/
-int
-gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl,
- const char *oid, unsigned indx,
- unsigned int raw_flag, void *buf,
- size_t *sizeof_buf)
+int gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl, const char *oid,
+ unsigned indx, unsigned int raw_flag,
+ void *buf, size_t *sizeof_buf)
{
gnutls_datum_t td;
int ret;
@@ -259,8 +251,8 @@ gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl,
}
ret = _gnutls_x509_parse_dn_oid(crl->crl,
- "tbsCertList.issuer.rdnSequence",
- oid, indx, raw_flag, &td);
+ "tbsCertList.issuer.rdnSequence", oid,
+ indx, raw_flag, &td);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -283,9 +275,8 @@ gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl,
* not long enough, and in that case the sizeof_oid will be updated
* with the required size. On success 0 is returned.
**/
-int
-gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl,
- unsigned indx, void *oid, size_t *sizeof_oid)
+int gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl, unsigned indx, void *oid,
+ size_t *sizeof_oid)
{
if (crl == NULL) {
gnutls_assert();
@@ -293,8 +284,8 @@ gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl,
}
return _gnutls_x509_get_dn_oid(crl->crl,
- "tbsCertList.issuer.rdnSequence",
- indx, oid, sizeof_oid);
+ "tbsCertList.issuer.rdnSequence", indx,
+ oid, sizeof_oid);
}
/**
@@ -315,15 +306,14 @@ gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl,
*
* Since: 3.1.10
**/
-int gnutls_x509_crl_get_issuer_dn2(gnutls_x509_crl_t crl, gnutls_datum_t * dn)
+int gnutls_x509_crl_get_issuer_dn2(gnutls_x509_crl_t crl, gnutls_datum_t *dn)
{
if (crl == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn(crl->crl,
- "tbsCertList.issuer.rdnSequence",
+ return _gnutls_x509_get_dn(crl->crl, "tbsCertList.issuer.rdnSequence",
dn, GNUTLS_X509_DN_FLAG_COMPAT);
}
@@ -347,17 +337,16 @@ int gnutls_x509_crl_get_issuer_dn2(gnutls_x509_crl_t crl, gnutls_datum_t * dn)
*
* Since: 3.5.7
**/
-int
-gnutls_x509_crl_get_issuer_dn3(gnutls_x509_crl_t crl, gnutls_datum_t * dn,
- unsigned flags)
+int gnutls_x509_crl_get_issuer_dn3(gnutls_x509_crl_t crl, gnutls_datum_t *dn,
+ unsigned flags)
{
if (crl == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn(crl->crl,
- "tbsCertList.issuer.rdnSequence", dn, flags);
+ return _gnutls_x509_get_dn(crl->crl, "tbsCertList.issuer.rdnSequence",
+ dn, flags);
}
/**
@@ -375,8 +364,8 @@ gnutls_x509_crl_get_issuer_dn3(gnutls_x509_crl_t crl, gnutls_datum_t * dn,
**/
int gnutls_x509_crl_get_signature_algorithm(gnutls_x509_crl_t crl)
{
- return map_errs_to_zero(_gnutls_x509_get_signature_algorithm(crl->crl,
- "signatureAlgorithm"));
+ return map_errs_to_zero(_gnutls_x509_get_signature_algorithm(
+ crl->crl, "signatureAlgorithm"));
}
/**
@@ -402,9 +391,8 @@ int gnutls_x509_crl_get_signature_oid(gnutls_x509_crl_t crl, char *oid,
gnutls_datum_t out;
len = sizeof(str);
- result =
- asn1_read_value(crl->crl, "signatureAlgorithm.algorithm", str,
- &len);
+ result = asn1_read_value(crl->crl, "signatureAlgorithm.algorithm", str,
+ &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -433,9 +421,8 @@ int gnutls_x509_crl_get_signature_oid(gnutls_x509_crl_t crl, char *oid,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_get_signature(gnutls_x509_crl_t crl,
- char *sig, size_t *sizeof_sig)
+int gnutls_x509_crl_get_signature(gnutls_x509_crl_t crl, char *sig,
+ size_t *sizeof_sig)
{
int result;
unsigned int bits;
@@ -506,7 +493,7 @@ time_t gnutls_x509_crl_get_this_update(gnutls_x509_crl_t crl)
{
if (crl == NULL) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
return _gnutls_x509_get_time(crl->crl, "tbsCertList.thisUpdate", 0);
@@ -526,7 +513,7 @@ time_t gnutls_x509_crl_get_next_update(gnutls_x509_crl_t crl)
{
if (crl == NULL) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
return _gnutls_x509_get_time(crl->crl, "tbsCertList.nextUpdate", 0);
@@ -543,7 +530,6 @@ time_t gnutls_x509_crl_get_next_update(gnutls_x509_crl_t crl)
**/
int gnutls_x509_crl_get_crt_count(gnutls_x509_crl_t crl)
{
-
int count, result;
if (crl == NULL) {
@@ -551,13 +537,12 @@ int gnutls_x509_crl_get_crt_count(gnutls_x509_crl_t crl)
return GNUTLS_E_INVALID_REQUEST;
}
- result =
- asn1_number_of_elements(crl->crl,
- "tbsCertList.revokedCertificates", &count);
+ result = asn1_number_of_elements(
+ crl->crl, "tbsCertList.revokedCertificates", &count);
if (result != ASN1_SUCCESS) {
gnutls_assert();
- return 0; /* no certificates */
+ return 0; /* no certificates */
}
return count;
@@ -580,12 +565,10 @@ int gnutls_x509_crl_get_crt_count(gnutls_x509_crl_t crl)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_get_crt_serial(gnutls_x509_crl_t crl, unsigned indx,
- unsigned char *serial,
- size_t *serial_size, time_t * t)
+int gnutls_x509_crl_get_crt_serial(gnutls_x509_crl_t crl, unsigned indx,
+ unsigned char *serial, size_t *serial_size,
+ time_t *t)
{
-
int result, _serial_size;
char serial_name[MAX_NAME_SIZE];
char date_name[MAX_NAME_SIZE];
@@ -655,13 +638,11 @@ void gnutls_x509_crl_iter_deinit(gnutls_x509_crl_iter_t iter)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
- gnutls_x509_crl_iter_t * iter,
- unsigned char *serial,
- size_t *serial_size, time_t * t)
+int gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
+ gnutls_x509_crl_iter_t *iter,
+ unsigned char *serial, size_t *serial_size,
+ time_t *t)
{
-
int result, _serial_size;
char serial_name[MAX_NAME_SIZE];
char date_name[MAX_NAME_SIZE];
@@ -678,13 +659,12 @@ gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
}
if ((*iter)->rcache == NULL) {
- (*iter)->rcache =
- asn1_find_node(crl->crl,
- "tbsCertList.revokedCertificates.?1");
+ (*iter)->rcache = asn1_find_node(
+ crl->crl, "tbsCertList.revokedCertificates.?1");
(*iter)->rcache_idx = 1;
} else {
- snprintf(serial_name, sizeof(serial_name),
- "?%u", (*iter)->rcache_idx);
+ snprintf(serial_name, sizeof(serial_name), "?%u",
+ (*iter)->rcache_idx);
(*iter)->rcache = asn1_find_node((*iter)->rcache, serial_name);
}
if ((*iter)->rcache == NULL) {
@@ -693,13 +673,12 @@ gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
}
- snprintf(serial_name, sizeof(serial_name),
- "?%u.userCertificate", (*iter)->rcache_idx);
+ snprintf(serial_name, sizeof(serial_name), "?%u.userCertificate",
+ (*iter)->rcache_idx);
_serial_size = *serial_size;
- result =
- asn1_read_value((*iter)->rcache, serial_name, serial,
- &_serial_size);
+ result = asn1_read_value((*iter)->rcache, serial_name, serial,
+ &_serial_size);
*serial_size = _serial_size;
if (result != ASN1_SUCCESS) {
@@ -713,8 +692,8 @@ gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
}
if (t) {
- snprintf(date_name, sizeof(date_name),
- "?%u.revocationDate", (*iter)->rcache_idx);
+ snprintf(date_name, sizeof(date_name), "?%u.revocationDate",
+ (*iter)->rcache_idx);
*t = _gnutls_x509_get_time((*iter)->rcache, date_name, 0);
}
@@ -735,16 +714,14 @@ gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl, gnutls_datum_t * dn)
+int gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl, gnutls_datum_t *dn)
{
if (crl->raw_issuer_dn.size != 0) {
return _gnutls_set_datum(dn, crl->raw_issuer_dn.data,
crl->raw_issuer_dn.size);
} else {
- return _gnutls_x509_get_raw_field(crl->crl,
- "tbsCertList.issuer.rdnSequence",
- dn);
+ return _gnutls_x509_get_raw_field(
+ crl->crl, "tbsCertList.issuer.rdnSequence", dn);
}
}
@@ -767,18 +744,16 @@ gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl, gnutls_datum_t * dn)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_export(gnutls_x509_crl_t crl,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_x509_crl_export(gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
if (crl == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_export_int(crl->crl, format, PEM_CRL,
- output_data, output_data_size);
+ return _gnutls_x509_export_int(crl->crl, format, PEM_CRL, output_data,
+ output_data_size);
}
/**
@@ -799,9 +774,8 @@ gnutls_x509_crl_export(gnutls_x509_crl_t crl,
*
* Since 3.1.3
**/
-int
-gnutls_x509_crl_export2(gnutls_x509_crl_t crl,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_x509_crl_export2(gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
if (crl == NULL) {
gnutls_assert();
@@ -840,12 +814,10 @@ int _gnutls_x509_crl_cpy(gnutls_x509_crl_t dest, gnutls_x509_crl_t src)
}
return 0;
-
}
-static int
-_get_authority_key_id(gnutls_x509_crl_t cert, asn1_node * c2,
- unsigned int *critical)
+static int _get_authority_key_id(gnutls_x509_crl_t cert, asn1_node *c2,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t id;
@@ -857,9 +829,8 @@ _get_authority_key_id(gnutls_x509_crl_t cert, asn1_node * c2,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crl_get_extension(cert, "2.5.29.35", 0, &id,
- critical)) < 0) {
+ if ((ret = _gnutls_x509_crl_get_extension(cert, "2.5.29.35", 0, &id,
+ critical)) < 0) {
return gnutls_assert_val(ret);
}
@@ -868,8 +839,8 @@ _get_authority_key_id(gnutls_x509_crl_t cert, asn1_node * c2,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- ret = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.AuthorityKeyIdentifier", c2);
+ ret = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.AuthorityKeyIdentifier", c2);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
_gnutls_free_datum(&id);
@@ -911,15 +882,10 @@ _get_authority_key_id(gnutls_x509_crl_t cert, asn1_node * c2,
*
* Since: 3.0
**/
-int
-gnutls_x509_crl_get_authority_key_gn_serial(gnutls_x509_crl_t crl,
- unsigned int seq,
- void *alt,
- size_t *alt_size,
- unsigned int *alt_type,
- void *serial,
- size_t *serial_size,
- unsigned int *critical)
+int gnutls_x509_crl_get_authority_key_gn_serial(
+ gnutls_x509_crl_t crl, unsigned int seq, void *alt, size_t *alt_size,
+ unsigned int *alt_type, void *serial, size_t *serial_size,
+ unsigned int *critical)
{
int ret, result, len;
asn1_node c2;
@@ -928,9 +894,8 @@ gnutls_x509_crl_get_authority_key_gn_serial(gnutls_x509_crl_t crl,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_parse_general_name(c2, "authorityCertIssuer", seq, alt,
- alt_size, alt_type, 0);
+ ret = _gnutls_parse_general_name(c2, "authorityCertIssuer", seq, alt,
+ alt_size, alt_type, 0);
if (ret < 0) {
ret = gnutls_assert_val(ret);
goto fail;
@@ -938,9 +903,8 @@ gnutls_x509_crl_get_authority_key_gn_serial(gnutls_x509_crl_t crl,
if (serial) {
len = *serial_size;
- result =
- asn1_read_value(c2, "authorityCertSerialNumber",
- serial, &len);
+ result = asn1_read_value(c2, "authorityCertSerialNumber",
+ serial, &len);
*serial_size = len;
@@ -948,12 +912,11 @@ gnutls_x509_crl_get_authority_key_gn_serial(gnutls_x509_crl_t crl,
ret = _gnutls_asn2err(result);
goto fail;
}
-
}
ret = 0;
- fail:
+fail:
asn1_delete_structure(&c2);
return ret;
@@ -980,9 +943,9 @@ gnutls_x509_crl_get_authority_key_gn_serial(gnutls_x509_crl_t crl,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t crl, void *id,
- size_t *id_size, unsigned int *critical)
+int gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t crl, void *id,
+ size_t *id_size,
+ unsigned int *critical)
{
int result, len, ret;
asn1_node c2;
@@ -1024,9 +987,8 @@ gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t crl, void *id,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,
- size_t *ret_size, unsigned int *critical)
+int gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,
+ size_t *ret_size, unsigned int *critical)
{
int result;
gnutls_datum_t id;
@@ -1041,9 +1003,8 @@ gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,
else
*ret_size = 0;
- if ((result =
- _gnutls_x509_crl_get_extension(crl, "2.5.29.20", 0, &id,
- critical)) < 0) {
+ if ((result = _gnutls_x509_crl_get_extension(crl, "2.5.29.20", 0, &id,
+ critical)) < 0) {
return result;
}
@@ -1052,8 +1013,8 @@ gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- result =
- _gnutls_x509_ext_extract_number(ret, ret_size, id.data, id.size);
+ result = _gnutls_x509_ext_extract_number(ret, ret_size, id.data,
+ id.size);
_gnutls_free_datum(&id);
@@ -1083,9 +1044,8 @@ gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, unsigned indx,
- void *oid, size_t *sizeof_oid)
+int gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, unsigned indx,
+ void *oid, size_t *sizeof_oid)
{
int result;
@@ -1100,7 +1060,6 @@ gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, unsigned indx,
}
return 0;
-
}
/**
@@ -1128,10 +1087,9 @@ gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, unsigned indx,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
- void *oid, size_t *sizeof_oid,
- unsigned int *critical)
+int gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
+ void *oid, size_t *sizeof_oid,
+ unsigned int *critical)
{
int result;
char str_critical[10];
@@ -1143,8 +1101,8 @@ gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
return GNUTLS_E_INVALID_REQUEST;
}
- snprintf(name, sizeof(name),
- "tbsCertList.crlExtensions.?%u.extnID", indx + 1);
+ snprintf(name, sizeof(name), "tbsCertList.crlExtensions.?%u.extnID",
+ indx + 1);
len = *sizeof_oid;
result = asn1_read_value(crl->crl, name, oid, &len);
@@ -1157,8 +1115,8 @@ gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
return _gnutls_asn2err(result);
}
- snprintf(name, sizeof(name),
- "tbsCertList.crlExtensions.?%u.critical", indx + 1);
+ snprintf(name, sizeof(name), "tbsCertList.crlExtensions.?%u.critical",
+ indx + 1);
len = sizeof(str_critical);
result = asn1_read_value(crl->crl, name, str_critical, &len);
if (result != ASN1_SUCCESS) {
@@ -1174,7 +1132,6 @@ gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
}
return 0;
-
}
/**
@@ -1200,9 +1157,8 @@ gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned indx,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl, unsigned indx,
- void *data, size_t *sizeof_data)
+int gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl, unsigned indx,
+ void *data, size_t *sizeof_data)
{
int result, len;
char name[MAX_NAME_SIZE];
@@ -1212,8 +1168,8 @@ gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl, unsigned indx,
return GNUTLS_E_INVALID_REQUEST;
}
- snprintf(name, sizeof(name),
- "tbsCertList.crlExtensions.?%u.extnValue", indx + 1);
+ snprintf(name, sizeof(name), "tbsCertList.crlExtensions.?%u.extnValue",
+ indx + 1);
len = *sizeof_data;
result = asn1_read_value(crl->crl, name, data, &len);
@@ -1248,11 +1204,10 @@ gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl, unsigned indx,
*
* Since: 3.0
**/
-int
-gnutls_x509_crl_list_import2(gnutls_x509_crl_t ** crls,
- unsigned int *size,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format, unsigned int flags)
+int gnutls_x509_crl_list_import2(gnutls_x509_crl_t **crls, unsigned int *size,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags)
{
unsigned int init = 1024;
int ret;
@@ -1263,10 +1218,9 @@ gnutls_x509_crl_list_import2(gnutls_x509_crl_t ** crls,
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- gnutls_x509_crl_list_import(*crls, &init, data, format,
- flags |
- GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
+ ret = gnutls_x509_crl_list_import(
+ *crls, &init, data, format,
+ flags | GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
*crls = _gnutls_reallocarray_fast(*crls, init,
sizeof(gnutls_x509_crl_t));
@@ -1275,9 +1229,8 @@ gnutls_x509_crl_list_import2(gnutls_x509_crl_t ** crls,
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- gnutls_x509_crl_list_import(*crls, &init, data, format,
- flags);
+ ret = gnutls_x509_crl_list_import(*crls, &init, data, format,
+ flags);
}
if (ret < 0) {
@@ -1308,11 +1261,10 @@ gnutls_x509_crl_list_import2(gnutls_x509_crl_t ** crls,
*
* Since: 3.0
**/
-int
-gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
- unsigned int *crl_max,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format, unsigned int flags)
+int gnutls_x509_crl_list_import(gnutls_x509_crl_t *crls, unsigned int *crl_max,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags)
{
int size;
const char *ptr;
@@ -1326,7 +1278,7 @@ gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- count = 1; /* import only the first one */
+ count = 1; /* import only the first one */
ret = gnutls_x509_crl_init(&crls[0]);
if (ret < 0) {
@@ -1346,8 +1298,8 @@ gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
/* move to the certificate
*/
- ptr = memmem(data->data, data->size,
- PEM_CRL_SEP, sizeof(PEM_CRL_SEP) - 1);
+ ptr = memmem(data->data, data->size, PEM_CRL_SEP,
+ sizeof(PEM_CRL_SEP) - 1);
if (ptr == NULL) {
gnutls_assert();
return GNUTLS_E_BASE64_DECODING_ERROR;
@@ -1357,9 +1309,8 @@ gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
do {
if (count >= *crl_max) {
- if (!
- (flags &
- GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED)) {
+ if (!(flags &
+ GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED)) {
break;
} else if (nocopy == 0) {
for (j = 0; j < count; j++)
@@ -1377,9 +1328,8 @@ gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
tmp.data = (void *)ptr;
tmp.size = data->size - (ptr - (char *)data->data);
- ret =
- gnutls_x509_crl_import(crls[count], &tmp,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crl_import(crls[count], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
gnutls_assert();
count++;
@@ -1395,15 +1345,13 @@ gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
size = data->size - (ptr - (char *)data->data);
if (size > 0) {
- ptr =
- memmem(ptr, size, PEM_CRL_SEP,
- sizeof(PEM_CRL_SEP) - 1);
+ ptr = memmem(ptr, size, PEM_CRL_SEP,
+ sizeof(PEM_CRL_SEP) - 1);
} else
ptr = NULL;
count++;
- }
- while (ptr != NULL);
+ } while (ptr != NULL);
*crl_max = count;
@@ -1412,7 +1360,7 @@ gnutls_x509_crl_list_import(gnutls_x509_crl_t * crls,
else
return GNUTLS_E_SHORT_MEMORY_BUFFER;
- error:
+error:
for (j = 0; j < count; j++)
gnutls_x509_crl_deinit(crls[j]);
return ret;
diff --git a/lib/x509/crl_write.c b/lib/x509/crl_write.c
index 1f3989a205..3385e70d12 100644
--- a/lib/x509/crl_write.c
+++ b/lib/x509/crl_write.c
@@ -96,10 +96,9 @@ int gnutls_x509_crl_set_version(gnutls_x509_crl_t crl, unsigned int version)
* negative error value.
*
**/
-int
-gnutls_x509_crl_sign2(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
- gnutls_x509_privkey_t issuer_key,
- gnutls_digest_algorithm_t dig, unsigned int flags)
+int gnutls_x509_crl_sign2(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
+ gnutls_x509_privkey_t issuer_key,
+ gnutls_digest_algorithm_t dig, unsigned int flags)
{
int result;
gnutls_privkey_t privkey;
@@ -129,7 +128,7 @@ gnutls_x509_crl_sign2(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
result = 0;
- fail:
+fail:
gnutls_privkey_deinit(privkey);
return result;
@@ -149,9 +148,8 @@ gnutls_x509_crl_sign2(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
*/
-int
-gnutls_x509_crl_sign(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
- gnutls_x509_privkey_t issuer_key)
+int gnutls_x509_crl_sign(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer,
+ gnutls_x509_privkey_t issuer_key)
{
return gnutls_x509_crl_sign2(crl, issuer, issuer_key, 0, 0);
}
@@ -214,10 +212,8 @@ int gnutls_x509_crl_set_next_update(gnutls_x509_crl_t crl, time_t exp_time)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl,
- const void *serial, size_t serial_size,
- time_t revocation_time)
+int gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl, const void *serial,
+ size_t serial_size, time_t revocation_time)
{
int ret;
@@ -226,36 +222,35 @@ gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- asn1_write_value(crl->crl, "tbsCertList.revokedCertificates",
- "NEW", 1);
+ ret = asn1_write_value(crl->crl, "tbsCertList.revokedCertificates",
+ "NEW", 1);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret =
- asn1_write_value(crl->crl,
- "tbsCertList.revokedCertificates.?LAST.userCertificate",
- serial, serial_size);
+ ret = asn1_write_value(
+ crl->crl,
+ "tbsCertList.revokedCertificates.?LAST.userCertificate", serial,
+ serial_size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret =
- _gnutls_x509_set_time(crl->crl,
- "tbsCertList.revokedCertificates.?LAST.revocationDate",
- revocation_time, 0);
+ ret = _gnutls_x509_set_time(
+ crl->crl,
+ "tbsCertList.revokedCertificates.?LAST.revocationDate",
+ revocation_time, 0);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- asn1_write_value(crl->crl,
- "tbsCertList.revokedCertificates.?LAST.crlEntryExtensions",
- NULL, 0);
+ ret = asn1_write_value(
+ crl->crl,
+ "tbsCertList.revokedCertificates.?LAST.crlEntryExtensions",
+ NULL, 0);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
@@ -275,9 +270,8 @@ gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_set_crt(gnutls_x509_crl_t crl, gnutls_x509_crt_t crt,
- time_t revocation_time)
+int gnutls_x509_crl_set_crt(gnutls_x509_crl_t crl, gnutls_x509_crt_t crt,
+ time_t revocation_time)
{
int ret;
uint8_t serial[128];
@@ -295,9 +289,8 @@ gnutls_x509_crl_set_crt(gnutls_x509_crl_t crl, gnutls_x509_crt_t crt,
return ret;
}
- ret =
- gnutls_x509_crl_set_crt_serial(crl, serial, serial_size,
- revocation_time);
+ ret = gnutls_x509_crl_set_crt_serial(crl, serial, serial_size,
+ revocation_time);
if (ret < 0) {
gnutls_assert();
return _gnutls_asn2err(ret);
@@ -314,7 +307,7 @@ static void disable_optional_stuff(gnutls_x509_crl_t crl)
time_t t;
t = _gnutls_x509_get_time(crl->crl, "tbsCertList.nextUpdate", 0);
- if (t == (time_t) - 1) {
+ if (t == (time_t)-1) {
(void)asn1_write_value(crl->crl, "tbsCertList.nextUpdate", NULL,
0);
}
@@ -343,9 +336,8 @@ static void disable_optional_stuff(gnutls_x509_crl_t crl)
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl,
- const void *id, size_t id_size)
+int gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl, const void *id,
+ size_t id_size)
{
int result;
gnutls_datum_t old_id, der_data;
@@ -358,9 +350,8 @@ gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl,
/* Check if the extension already exists.
*/
- result =
- _gnutls_x509_crl_get_extension(crl, "2.5.29.35", 0, &old_id,
- &critical);
+ result = _gnutls_x509_crl_get_extension(crl, "2.5.29.35", 0, &old_id,
+ &critical);
if (result >= 0) {
_gnutls_free_datum(&old_id);
@@ -406,9 +397,8 @@ gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crl_set_number(gnutls_x509_crl_t crl,
- const void *nr, size_t nr_size)
+int gnutls_x509_crl_set_number(gnutls_x509_crl_t crl, const void *nr,
+ size_t nr_size)
{
int result;
gnutls_datum_t old_id, der_data;
@@ -421,9 +411,8 @@ gnutls_x509_crl_set_number(gnutls_x509_crl_t crl,
/* Check if the extension already exists.
*/
- result =
- _gnutls_x509_crl_get_extension(crl, "2.5.29.20", 0, &old_id,
- &critical);
+ result = _gnutls_x509_crl_get_extension(crl, "2.5.29.20", 0, &old_id,
+ &critical);
if (result >= 0) {
_gnutls_free_datum(&old_id);
@@ -480,11 +469,11 @@ gnutls_x509_crl_set_number(gnutls_x509_crl_t crl,
*
* Since 2.12.0
**/
-int
-gnutls_x509_crl_privkey_sign(gnutls_x509_crl_t crl,
- gnutls_x509_crt_t issuer,
- gnutls_privkey_t issuer_key,
- gnutls_digest_algorithm_t dig, unsigned int flags)
+int gnutls_x509_crl_privkey_sign(gnutls_x509_crl_t crl,
+ gnutls_x509_crt_t issuer,
+ gnutls_privkey_t issuer_key,
+ gnutls_digest_algorithm_t dig,
+ unsigned int flags)
{
int result;
@@ -494,9 +483,8 @@ gnutls_x509_crl_privkey_sign(gnutls_x509_crl_t crl,
}
if (dig == 0) {
- result =
- gnutls_x509_crt_get_preferred_hash_algorithm(issuer, &dig,
- NULL);
+ result = gnutls_x509_crt_get_preferred_hash_algorithm(
+ issuer, &dig, NULL);
if (result < 0)
return gnutls_assert_val(result);
}
@@ -505,8 +493,8 @@ gnutls_x509_crl_privkey_sign(gnutls_x509_crl_t crl,
*/
disable_optional_stuff(crl);
- result = _gnutls_x509_pkix_sign(crl->crl, "tbsCertList",
- dig, 0, issuer, issuer_key);
+ result = _gnutls_x509_pkix_sign(crl->crl, "tbsCertList", dig, 0, issuer,
+ issuer_key);
if (result < 0) {
gnutls_assert();
return result;
diff --git a/lib/x509/crq.c b/lib/x509/crq.c
index b43214af69..0c5585b979 100644
--- a/lib/x509/crq.c
+++ b/lib/x509/crq.c
@@ -50,7 +50,7 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_x509_crq_init(gnutls_x509_crq_t * crq)
+int gnutls_x509_crq_init(gnutls_x509_crq_t *crq)
{
int result;
@@ -110,10 +110,8 @@ void gnutls_x509_crq_deinit(gnutls_x509_crq_t crq)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_import(gnutls_x509_crq_t crq,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format)
+int gnutls_x509_crq_import(gnutls_x509_crq_t crq, const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format)
{
int result = 0, need_free = 0;
gnutls_datum_t _data;
@@ -130,14 +128,12 @@ gnutls_x509_crq_import(gnutls_x509_crq_t crq,
*/
if (format == GNUTLS_X509_FMT_PEM) {
/* Try the first header */
- result =
- _gnutls_fbase64_decode(PEM_CRQ, data->data, data->size,
- &_data);
+ result = _gnutls_fbase64_decode(PEM_CRQ, data->data, data->size,
+ &_data);
- if (result < 0) /* Go for the second header */
- result =
- _gnutls_fbase64_decode(PEM_CRQ2, data->data,
- data->size, &_data);
+ if (result < 0) /* Go for the second header */
+ result = _gnutls_fbase64_decode(PEM_CRQ2, data->data,
+ data->size, &_data);
if (result < 0) {
gnutls_assert();
@@ -147,8 +143,8 @@ gnutls_x509_crq_import(gnutls_x509_crq_t crq,
need_free = 1;
}
- result =
- _asn1_strict_der_decode(&crq->crq, _data.data, _data.size, NULL);
+ result = _asn1_strict_der_decode(&crq->crq, _data.data, _data.size,
+ NULL);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
@@ -157,7 +153,7 @@ gnutls_x509_crq_import(gnutls_x509_crq_t crq,
result = 0;
- cleanup:
+cleanup:
if (need_free)
_gnutls_free_datum(&_data);
return result;
@@ -181,8 +177,8 @@ gnutls_x509_crq_import(gnutls_x509_crq_t crq,
**/
int gnutls_x509_crq_get_signature_algorithm(gnutls_x509_crq_t crq)
{
- return map_errs_to_zero(_gnutls_x509_get_signature_algorithm(crq->crq,
- "signatureAlgorithm"));
+ return map_errs_to_zero(_gnutls_x509_get_signature_algorithm(
+ crq->crq, "signatureAlgorithm"));
}
/**
@@ -198,11 +194,10 @@ int gnutls_x509_crq_get_signature_algorithm(gnutls_x509_crq_t crq)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* if the extension is not present, otherwise a negative error value.
**/
-int
-gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t crq,
- time_t * activation,
- time_t * expiration,
- unsigned int *critical)
+int gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t crq,
+ time_t *activation,
+ time_t *expiration,
+ unsigned int *critical)
{
int result, ret;
asn1_node c2 = NULL;
@@ -214,13 +209,13 @@ gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- ret = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.16", 0,
- buf, &buf_size, critical);
+ ret = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.16", 0, buf,
+ &buf_size, critical);
if (ret < 0)
return gnutls_assert_val(ret);
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.PrivateKeyUsagePeriod", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.PrivateKeyUsagePeriod", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -242,7 +237,7 @@ gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t crq,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -274,9 +269,9 @@ int gnutls_x509_crq_get_dn(gnutls_x509_crq_t crq, char *buf, size_t *buf_size)
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_parse_dn(crq->crq,
- "certificationRequestInfo.subject.rdnSequence",
- buf, buf_size, GNUTLS_X509_DN_FLAG_COMPAT);
+ return _gnutls_x509_parse_dn(
+ crq->crq, "certificationRequestInfo.subject.rdnSequence", buf,
+ buf_size, GNUTLS_X509_DN_FLAG_COMPAT);
}
/**
@@ -297,16 +292,16 @@ int gnutls_x509_crq_get_dn(gnutls_x509_crq_t crq, char *buf, size_t *buf_size)
*
* Since: 3.1.10
**/
-int gnutls_x509_crq_get_dn2(gnutls_x509_crq_t crq, gnutls_datum_t * dn)
+int gnutls_x509_crq_get_dn2(gnutls_x509_crq_t crq, gnutls_datum_t *dn)
{
if (crq == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn(crq->crq,
- "certificationRequestInfo.subject.rdnSequence",
- dn, GNUTLS_X509_DN_FLAG_COMPAT);
+ return _gnutls_x509_get_dn(
+ crq->crq, "certificationRequestInfo.subject.rdnSequence", dn,
+ GNUTLS_X509_DN_FLAG_COMPAT);
}
/**
@@ -329,7 +324,7 @@ int gnutls_x509_crq_get_dn2(gnutls_x509_crq_t crq, gnutls_datum_t * dn)
*
* Since: 3.5.7
**/
-int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t * dn,
+int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t *dn,
unsigned flags)
{
if (crq == NULL) {
@@ -337,9 +332,9 @@ int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t * dn,
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn(crq->crq,
- "certificationRequestInfo.subject.rdnSequence",
- dn, flags);
+ return _gnutls_x509_get_dn(
+ crq->crq, "certificationRequestInfo.subject.rdnSequence", dn,
+ flags);
}
/**
@@ -367,10 +362,9 @@ int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t * dn,
* not long enough, and in that case the *@buf_size will be
* updated with the required size. On success 0 is returned.
**/
-int
-gnutls_x509_crq_get_dn_by_oid(gnutls_x509_crq_t crq, const char *oid,
- unsigned indx, unsigned int raw_flag,
- void *buf, size_t *buf_size)
+int gnutls_x509_crq_get_dn_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ unsigned indx, unsigned int raw_flag,
+ void *buf, size_t *buf_size)
{
gnutls_datum_t td;
int ret;
@@ -380,10 +374,9 @@ gnutls_x509_crq_get_dn_by_oid(gnutls_x509_crq_t crq, const char *oid,
return GNUTLS_E_INVALID_REQUEST;
}
- ret = _gnutls_x509_parse_dn_oid
- (crq->crq,
- "certificationRequestInfo.subject.rdnSequence",
- oid, indx, raw_flag, &td);
+ ret = _gnutls_x509_parse_dn_oid(
+ crq->crq, "certificationRequestInfo.subject.rdnSequence", oid,
+ indx, raw_flag, &td);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -404,18 +397,17 @@ gnutls_x509_crq_get_dn_by_oid(gnutls_x509_crq_t crq, const char *oid,
* not long enough, and in that case the *@sizeof_oid will be
* updated with the required size. On success 0 is returned.
**/
-int
-gnutls_x509_crq_get_dn_oid(gnutls_x509_crq_t crq,
- unsigned indx, void *oid, size_t *sizeof_oid)
+int gnutls_x509_crq_get_dn_oid(gnutls_x509_crq_t crq, unsigned indx, void *oid,
+ size_t *sizeof_oid)
{
if (crq == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn_oid(crq->crq,
- "certificationRequestInfo.subject.rdnSequence",
- indx, oid, sizeof_oid);
+ return _gnutls_x509_get_dn_oid(
+ crq->crq, "certificationRequestInfo.subject.rdnSequence", indx,
+ oid, sizeof_oid);
}
/**
@@ -431,9 +423,8 @@ gnutls_x509_crq_get_dn_oid(gnutls_x509_crq_t crq,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq,
- char *pass, size_t *pass_size)
+int gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq, char *pass,
+ size_t *pass_size)
{
gnutls_datum_t td;
int ret;
@@ -443,10 +434,9 @@ gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _x509_parse_attribute(crq->crq,
- "certificationRequestInfo.attributes",
- "1.2.840.113549.1.9.7", 0, 0, &td);
+ ret = _x509_parse_attribute(crq->crq,
+ "certificationRequestInfo.attributes",
+ "1.2.840.113549.1.9.7", 0, 0, &td);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -470,10 +460,8 @@ gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq,
- const char *oid, void *buf,
- size_t buf_size)
+int gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ void *buf, size_t buf_size)
{
gnutls_datum_t data;
@@ -485,9 +473,8 @@ gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- return _x509_set_attribute(crq->crq,
- "certificationRequestInfo.attributes", oid,
- &data);
+ return _x509_set_attribute(
+ crq->crq, "certificationRequestInfo.attributes", oid, &data);
}
/**
@@ -509,10 +496,9 @@ gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq,
- const char *oid, unsigned indx, void *buf,
- size_t *buf_size)
+int gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ unsigned indx, void *buf,
+ size_t *buf_size)
{
int ret;
gnutls_datum_t td;
@@ -522,10 +508,9 @@ gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _x509_parse_attribute(crq->crq,
- "certificationRequestInfo.attributes", oid,
- indx, 1, &td);
+ ret = _x509_parse_attribute(crq->crq,
+ "certificationRequestInfo.attributes", oid,
+ indx, 1, &td);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -553,18 +538,17 @@ gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_set_dn_by_oid(gnutls_x509_crq_t crq, const char *oid,
- unsigned int raw_flag, const void *data,
- unsigned int sizeof_data)
+int gnutls_x509_crq_set_dn_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ unsigned int raw_flag, const void *data,
+ unsigned int sizeof_data)
{
if (sizeof_data == 0 || data == NULL || crq == NULL) {
return GNUTLS_E_INVALID_REQUEST;
}
return _gnutls_x509_set_dn_oid(crq->crq,
- "certificationRequestInfo.subject",
- oid, raw_flag, data, sizeof_data);
+ "certificationRequestInfo.subject", oid,
+ raw_flag, data, sizeof_data);
}
/**
@@ -591,9 +575,8 @@ int gnutls_x509_crq_set_version(gnutls_x509_crq_t crq, unsigned int version)
if (null > 0)
null--;
- result =
- asn1_write_value(crq->crq, "certificationRequestInfo.version",
- &null, 1);
+ result = asn1_write_value(crq->crq, "certificationRequestInfo.version",
+ &null, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -623,12 +606,11 @@ int gnutls_x509_crq_get_version(gnutls_x509_crq_t crq)
}
len = sizeof(version);
- if ((result =
- asn1_read_value(crq->crq, "certificationRequestInfo.version",
- version, &len)) != ASN1_SUCCESS) {
-
+ if ((result = asn1_read_value(crq->crq,
+ "certificationRequestInfo.version",
+ version, &len)) != ASN1_SUCCESS) {
if (result == ASN1_ELEMENT_NOT_FOUND)
- return 1; /* the DEFAULT version */
+ return 1; /* the DEFAULT version */
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -656,8 +638,9 @@ int gnutls_x509_crq_set_key(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)
return GNUTLS_E_INVALID_REQUEST;
}
- result = _gnutls_x509_encode_and_copy_PKI_params
- (crq->crq, "certificationRequestInfo.subjectPKInfo", &key->params);
+ result = _gnutls_x509_encode_and_copy_PKI_params(
+ crq->crq, "certificationRequestInfo.subjectPKInfo",
+ &key->params);
if (result < 0) {
gnutls_assert();
@@ -682,9 +665,8 @@ int gnutls_x509_crq_set_key(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq,
- gnutls_datum_t * m, gnutls_datum_t * e)
+int gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq, gnutls_datum_t *m,
+ gnutls_datum_t *e)
{
int ret;
gnutls_pk_params_st params;
@@ -723,7 +705,7 @@ gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq,
ret = 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(&params);
return ret;
}
@@ -742,10 +724,9 @@ gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq,
*
* Since: 2.6.0
**/
-int
-gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e)
+int gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,
+ const gnutls_datum_t *m,
+ const gnutls_datum_t *e)
{
int result, ret;
size_t siz = 0;
@@ -777,8 +758,9 @@ gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,
temp_params.params_nr = RSA_PUBLIC_PARAMS;
temp_params.algo = GNUTLS_PK_RSA;
- result = _gnutls_x509_encode_and_copy_PKI_params
- (crq->crq, "certificationRequestInfo.subjectPKInfo", &temp_params);
+ result = _gnutls_x509_encode_and_copy_PKI_params(
+ crq->crq, "certificationRequestInfo.subjectPKInfo",
+ &temp_params);
if (result < 0) {
gnutls_assert();
@@ -788,7 +770,7 @@ gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,
ret = 0;
- error:
+error:
gnutls_pk_params_release(&temp_params);
return ret;
}
@@ -804,8 +786,8 @@ gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq, const char *pass)
+int gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq,
+ const char *pass)
{
int result;
char *password = NULL;
@@ -817,9 +799,8 @@ gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq, const char *pass)
/* Add the attribute.
*/
- result =
- asn1_write_value(crq->crq,
- "certificationRequestInfo.attributes", "NEW", 1);
+ result = asn1_write_value(
+ crq->crq, "certificationRequestInfo.attributes", "NEW", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -827,9 +808,8 @@ gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq, const char *pass)
if (pass) {
gnutls_datum_t out;
- result =
- _gnutls_utf8_password_normalize(pass, strlen(pass), &out,
- 0);
+ result = _gnutls_utf8_password_normalize(pass, strlen(pass),
+ &out, 0);
if (result < 0)
return gnutls_assert_val(result);
@@ -838,10 +818,10 @@ gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq, const char *pass)
assert(password != NULL);
- result = _gnutls_x509_encode_and_write_attribute
- ("1.2.840.113549.1.9.7", crq->crq,
- "certificationRequestInfo.attributes.?LAST", password,
- strlen(password), 1);
+ result = _gnutls_x509_encode_and_write_attribute(
+ "1.2.840.113549.1.9.7", crq->crq,
+ "certificationRequestInfo.attributes.?LAST", password,
+ strlen(password), 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -849,7 +829,7 @@ gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq, const char *pass)
result = 0;
- cleanup:
+cleanup:
gnutls_free(password);
return result;
}
@@ -882,9 +862,8 @@ gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq, const char *pass)
* gnutls_x509_crq_set_version()).
*
**/
-int
-gnutls_x509_crq_sign2(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key,
- gnutls_digest_algorithm_t dig, unsigned int flags)
+int gnutls_x509_crq_sign2(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key,
+ gnutls_digest_algorithm_t dig, unsigned int flags)
{
int result;
gnutls_privkey_t privkey;
@@ -914,7 +893,7 @@ gnutls_x509_crq_sign2(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key,
result = 0;
- fail:
+fail:
gnutls_privkey_deinit(privkey);
return result;
@@ -963,18 +942,16 @@ int gnutls_x509_crq_sign(gnutls_x509_crq_t crq, gnutls_x509_privkey_t key)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_export(gnutls_x509_crq_t crq,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_x509_crq_export(gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
if (crq == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_export_int(crq->crq, format, PEM_CRQ,
- output_data, output_data_size);
+ return _gnutls_x509_export_int(crq->crq, format, PEM_CRQ, output_data,
+ output_data_size);
}
/**
@@ -996,9 +973,8 @@ gnutls_x509_crq_export(gnutls_x509_crq_t crq,
*
* Since 3.1.3
**/
-int
-gnutls_x509_crq_export2(gnutls_x509_crq_t crq,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_x509_crq_export2(gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
if (crq == NULL) {
gnutls_assert();
@@ -1032,8 +1008,8 @@ int gnutls_x509_crq_get_pk_algorithm(gnutls_x509_crq_t crq, unsigned int *bits)
return GNUTLS_E_INVALID_REQUEST;
}
- result = _gnutls_x509_get_pk_algorithm
- (crq->crq, "certificationRequestInfo.subjectPKInfo", NULL, bits);
+ result = _gnutls_x509_get_pk_algorithm(
+ crq->crq, "certificationRequestInfo.subjectPKInfo", NULL, bits);
if (result < 0) {
gnutls_assert();
return result;
@@ -1053,9 +1029,8 @@ int gnutls_x509_crq_get_pk_algorithm(gnutls_x509_crq_t crq, unsigned int *bits)
*
* Returns: Zero on success, or a negative error code on error.
**/
-int
-gnutls_x509_crq_get_spki(gnutls_x509_crq_t crq,
- gnutls_x509_spki_t spki, unsigned int flags)
+int gnutls_x509_crq_get_spki(gnutls_x509_crq_t crq, gnutls_x509_spki_t spki,
+ unsigned int flags)
{
int result;
gnutls_x509_spki_st params;
@@ -1107,9 +1082,8 @@ int gnutls_x509_crq_get_signature_oid(gnutls_x509_crq_t crq, char *oid,
gnutls_datum_t out;
len = sizeof(str);
- result =
- asn1_read_value(crq->crq, "signatureAlgorithm.algorithm", str,
- &len);
+ result = asn1_read_value(crq->crq, "signatureAlgorithm.algorithm", str,
+ &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1150,10 +1124,10 @@ int gnutls_x509_crq_get_pk_oid(gnutls_x509_crq_t crq, char *oid,
gnutls_datum_t out;
len = sizeof(str);
- result =
- asn1_read_value(crq->crq,
- "certificationRequestInfo.subjectPKInfo.algorithm.algorithm",
- str, &len);
+ result = asn1_read_value(
+ crq->crq,
+ "certificationRequestInfo.subjectPKInfo.algorithm.algorithm",
+ str, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1195,9 +1169,8 @@ int gnutls_x509_crq_get_pk_oid(gnutls_x509_crq_t crq, char *oid,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq, unsigned indx,
- void *oid, size_t *sizeof_oid)
+int gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq, unsigned indx,
+ void *oid, size_t *sizeof_oid)
{
int result;
char name[MAX_NAME_SIZE];
@@ -1223,7 +1196,6 @@ gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq, unsigned indx,
}
return 0;
-
}
/**
@@ -1249,9 +1221,8 @@ gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq, unsigned indx,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t crq, unsigned indx,
- void *data, size_t *sizeof_data)
+int gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t crq, unsigned indx,
+ void *data, size_t *sizeof_data)
{
int result, len;
char name[MAX_NAME_SIZE];
@@ -1303,10 +1274,9 @@ gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t crq, unsigned indx,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
- void *oid, size_t *sizeof_oid,
- unsigned int *critical)
+int gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
+ void *oid, size_t *sizeof_oid,
+ unsigned int *critical)
{
int result;
char str_critical[10];
@@ -1322,10 +1292,8 @@ gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
}
/* read extensionRequest */
- result =
- gnutls_x509_crq_get_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- 0, NULL, &extensions_size);
+ result = gnutls_x509_crq_get_attribute_by_oid(
+ crq, "1.2.840.113549.1.9.14", 0, NULL, &extensions_size);
if (result == GNUTLS_E_SHORT_MEMORY_BUFFER) {
extensions = gnutls_malloc(extensions_size);
if (extensions == NULL) {
@@ -1333,19 +1301,17 @@ gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
return GNUTLS_E_MEMORY_ERROR;
}
- result = gnutls_x509_crq_get_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- 0,
- extensions,
- &extensions_size);
+ result = gnutls_x509_crq_get_attribute_by_oid(
+ crq, "1.2.840.113549.1.9.14", 0, extensions,
+ &extensions_size);
}
if (result < 0) {
gnutls_assert();
goto out;
}
- result =
- asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extensions", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extensions",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1353,7 +1319,7 @@ gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
}
result =
- _asn1_strict_der_decode(&c2, extensions, extensions_size, NULL);
+ _asn1_strict_der_decode(&c2, extensions, extensions_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&c2);
@@ -1399,7 +1365,7 @@ gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
result = 0;
- out:
+out:
gnutls_free(extensions);
return result;
}
@@ -1427,9 +1393,8 @@ gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned indx,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t crq, unsigned indx,
- void *data, size_t *sizeof_data)
+int gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t crq, unsigned indx,
+ void *data, size_t *sizeof_data)
{
int ret;
gnutls_datum_t raw;
@@ -1465,9 +1430,8 @@ gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t crq, unsigned indx,
*
* Since: 3.3.0
**/
-int
-gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
- unsigned indx, gnutls_datum_t * data)
+int gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq, unsigned indx,
+ gnutls_datum_t *data)
{
int ret, result;
char name[MAX_NAME_SIZE];
@@ -1481,10 +1445,8 @@ gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
}
/* read extensionRequest */
- ret =
- gnutls_x509_crq_get_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- 0, NULL, &extensions_size);
+ ret = gnutls_x509_crq_get_attribute_by_oid(crq, "1.2.840.113549.1.9.14",
+ 0, NULL, &extensions_size);
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER) {
gnutls_assert();
if (ret == 0)
@@ -1498,18 +1460,15 @@ gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- gnutls_x509_crq_get_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- 0, extensions,
- &extensions_size);
+ ret = gnutls_x509_crq_get_attribute_by_oid(
+ crq, "1.2.840.113549.1.9.14", 0, extensions, &extensions_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- result =
- asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extensions", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extensions",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -1517,7 +1476,7 @@ gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
}
result =
- _asn1_strict_der_decode(&c2, extensions, extensions_size, NULL);
+ _asn1_strict_der_decode(&c2, extensions, extensions_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -1536,7 +1495,7 @@ gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
gnutls_free(extensions);
return ret;
@@ -1563,9 +1522,9 @@ gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t crq,
- unsigned int *key_usage, unsigned int *critical)
+int gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t crq,
+ unsigned int *key_usage,
+ unsigned int *critical)
{
int result;
uint8_t buf[128];
@@ -1577,8 +1536,8 @@ gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.15", 0,
- buf, &buf_size, critical);
+ result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.15", 0, buf,
+ &buf_size, critical);
if (result < 0) {
gnutls_assert();
return result;
@@ -1617,10 +1576,9 @@ gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,
- unsigned int *critical,
- unsigned int *ca, int *pathlen)
+int gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,
+ unsigned int *critical,
+ unsigned int *ca, int *pathlen)
{
int result;
unsigned int tmp_ca;
@@ -1633,8 +1591,8 @@ gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.19", 0,
- buf, &buf_size, critical);
+ result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.19", 0, buf,
+ &buf_size, critical);
if (result < 0) {
gnutls_assert();
return result;
@@ -1643,7 +1601,7 @@ gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,
bd.data = buf;
bd.size = buf_size;
result =
- gnutls_x509_ext_import_basic_constraints(&bd, &tmp_ca, pathlen);
+ gnutls_x509_ext_import_basic_constraints(&bd, &tmp_ca, pathlen);
if (ca)
*ca = tmp_ca;
@@ -1655,11 +1613,10 @@ gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,
return tmp_ca;
}
-static int
-get_subject_alt_name(gnutls_x509_crq_t crq,
- unsigned int seq, void *ret,
- size_t *ret_size, unsigned int *ret_type,
- unsigned int *critical, int othername_oid)
+static int get_subject_alt_name(gnutls_x509_crq_t crq, unsigned int seq,
+ void *ret, size_t *ret_size,
+ unsigned int *ret_type, unsigned int *critical,
+ int othername_oid)
{
int result;
asn1_node c2 = NULL;
@@ -1679,9 +1636,8 @@ get_subject_alt_name(gnutls_x509_crq_t crq,
/* Extract extension.
*/
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.17", 0,
- NULL, &dns_size,
- critical);
+ result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.17", 0, NULL,
+ &dns_size, critical);
if (result < 0) {
gnutls_assert();
return result;
@@ -1694,17 +1650,16 @@ get_subject_alt_name(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.17", 0,
- dnsname.data,
- &dns_size, critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.17", 0, dnsname.data, &dns_size, critical);
if (result < 0) {
gnutls_assert();
gnutls_free(dnsname.data);
return result;
}
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.SubjectAltName", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.SubjectAltName",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(dnsname.data);
@@ -1759,15 +1714,14 @@ get_subject_alt_name(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_subject_alt_name(gnutls_x509_crq_t crq,
- unsigned int seq, void *ret,
- size_t *ret_size,
- unsigned int *ret_type,
- unsigned int *critical)
+int gnutls_x509_crq_get_subject_alt_name(gnutls_x509_crq_t crq,
+ unsigned int seq, void *ret,
+ size_t *ret_size,
+ unsigned int *ret_type,
+ unsigned int *critical)
{
- return get_subject_alt_name(crq, seq, ret, ret_size, ret_type,
- critical, 0);
+ return get_subject_alt_name(crq, seq, ret, ret_size, ret_type, critical,
+ 0);
}
/**
@@ -1798,10 +1752,9 @@ gnutls_x509_crq_get_subject_alt_name(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t crq,
- unsigned int seq,
- void *ret, size_t *ret_size)
+int gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t crq,
+ unsigned int seq, void *ret,
+ size_t *ret_size)
{
return get_subject_alt_name(crq, seq, ret, ret_size, NULL, NULL, 1);
}
@@ -1827,11 +1780,10 @@ gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq,
- const char *oid, unsigned indx,
- void *buf, size_t *buf_size,
- unsigned int *critical)
+int gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ unsigned indx, void *buf,
+ size_t *buf_size,
+ unsigned int *critical)
{
int result;
unsigned int i;
@@ -1840,28 +1792,23 @@ gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq,
for (i = 0;; i++) {
oid_size = sizeof(_oid);
- result =
- gnutls_x509_crq_get_extension_info(crq, i, _oid,
- &oid_size, critical);
+ result = gnutls_x509_crq_get_extension_info(
+ crq, i, _oid, &oid_size, critical);
if (result < 0) {
gnutls_assert();
return result;
}
- if (strcmp(oid, _oid) == 0) { /* found */
+ if (strcmp(oid, _oid) == 0) { /* found */
if (indx == 0)
- return
- gnutls_x509_crq_get_extension_data(crq,
- i,
- buf,
- buf_size);
+ return gnutls_x509_crq_get_extension_data(
+ crq, i, buf, buf_size);
else
indx--;
}
}
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
-
}
/**
@@ -1884,11 +1831,10 @@ gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq,
*
* Since: 3.3.8
**/
-int
-gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,
- const char *oid, unsigned indx,
- gnutls_datum_t * output,
- unsigned int *critical)
+int gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,
+ const char *oid, unsigned indx,
+ gnutls_datum_t *output,
+ unsigned int *critical)
{
int result;
unsigned int i;
@@ -1897,27 +1843,23 @@ gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,
for (i = 0;; i++) {
oid_size = sizeof(_oid);
- result =
- gnutls_x509_crq_get_extension_info(crq, i, _oid,
- &oid_size, critical);
+ result = gnutls_x509_crq_get_extension_info(
+ crq, i, _oid, &oid_size, critical);
if (result < 0) {
gnutls_assert();
return result;
}
- if (strcmp(oid, _oid) == 0) { /* found */
+ if (strcmp(oid, _oid) == 0) { /* found */
if (indx == 0)
- return
- gnutls_x509_crq_get_extension_data2(crq,
- i,
- output);
+ return gnutls_x509_crq_get_extension_data2(
+ crq, i, output);
else
indx--;
}
}
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
-
}
/**
@@ -1950,11 +1892,11 @@ gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
- gnutls_x509_subject_alt_name_t nt,
- const void *data,
- unsigned int data_size, unsigned int flags)
+int gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
+ gnutls_x509_subject_alt_name_t nt,
+ const void *data,
+ unsigned int data_size,
+ unsigned int flags)
{
int result = 0;
gnutls_datum_t der_data = { NULL, 0 };
@@ -1970,11 +1912,8 @@ gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
/* Check if the extension already exists.
*/
if (flags & GNUTLS_FSAN_APPEND) {
- result =
- gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.17",
- 0, NULL,
- &prev_data_size,
- &critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.17", 0, NULL, &prev_data_size, &critical);
prev_der_data.size = prev_data_size;
switch (result) {
@@ -1989,14 +1928,9 @@ gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- result =
- gnutls_x509_crq_get_extension_by_oid(crq,
- "2.5.29.17",
- 0,
- prev_der_data.
- data,
- &prev_data_size,
- &critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.17", 0, prev_der_data.data,
+ &prev_data_size, &critical);
if (result < 0) {
gnutls_assert();
gnutls_free(prev_der_data.data);
@@ -2012,18 +1946,16 @@ gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
/* generate the extension.
*/
- result =
- _gnutls_x509_ext_gen_subject_alt_name(nt, NULL, data, data_size,
- &prev_der_data, &der_data);
+ result = _gnutls_x509_ext_gen_subject_alt_name(
+ nt, NULL, data, data_size, &prev_der_data, &der_data);
gnutls_free(prev_der_data.data);
if (result < 0) {
gnutls_assert();
goto finish;
}
- result =
- _gnutls_x509_crq_set_extension(crq, "2.5.29.17", &der_data,
- critical);
+ result = _gnutls_x509_crq_set_extension(crq, "2.5.29.17", &der_data,
+ critical);
_gnutls_free_datum(&der_data);
@@ -2034,7 +1966,7 @@ gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
return 0;
- finish:
+finish:
return result;
}
@@ -2057,12 +1989,10 @@ gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,
*
* Since: 3.5.0
**/
-int
-gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
- const char *oid,
- const void *data,
- unsigned int data_size,
- unsigned int flags)
+int gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
+ const char *oid, const void *data,
+ unsigned int data_size,
+ unsigned int flags)
{
int result = 0;
gnutls_datum_t der_data = { NULL, 0 };
@@ -2079,11 +2009,8 @@ gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
/* Check if the extension already exists.
*/
if (flags & GNUTLS_FSAN_APPEND) {
- result =
- gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.17",
- 0, NULL,
- &prev_data_size,
- &critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.17", 0, NULL, &prev_data_size, &critical);
prev_der_data.size = prev_data_size;
switch (result) {
@@ -2098,14 +2025,9 @@ gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- result =
- gnutls_x509_crq_get_extension_by_oid(crq,
- "2.5.29.17",
- 0,
- prev_der_data.
- data,
- &prev_data_size,
- &critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.17", 0, prev_der_data.data,
+ &prev_data_size, &critical);
if (result < 0) {
gnutls_assert();
goto finish;
@@ -2118,9 +2040,8 @@ gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
}
}
- result =
- _gnutls_encode_othername_data(flags, data, data_size,
- &encoded_data);
+ result = _gnutls_encode_othername_data(flags, data, data_size,
+ &encoded_data);
if (result < 0) {
gnutls_assert();
goto finish;
@@ -2128,19 +2049,16 @@ gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
/* generate the extension.
*/
- result =
- _gnutls_x509_ext_gen_subject_alt_name(GNUTLS_SAN_OTHERNAME, oid,
- encoded_data.data,
- encoded_data.size,
- &prev_der_data, &der_data);
+ result = _gnutls_x509_ext_gen_subject_alt_name(
+ GNUTLS_SAN_OTHERNAME, oid, encoded_data.data, encoded_data.size,
+ &prev_der_data, &der_data);
if (result < 0) {
gnutls_assert();
goto finish;
}
- result =
- _gnutls_x509_crq_set_extension(crq, "2.5.29.17", &der_data,
- critical);
+ result = _gnutls_x509_crq_set_extension(crq, "2.5.29.17", &der_data,
+ critical);
if (result < 0) {
gnutls_assert();
@@ -2149,7 +2067,7 @@ gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
result = 0;
- finish:
+finish:
_gnutls_free_datum(&prev_der_data);
_gnutls_free_datum(&der_data);
_gnutls_free_datum(&encoded_data);
@@ -2171,9 +2089,9 @@ gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_set_basic_constraints(gnutls_x509_crq_t crq,
- unsigned int ca, int pathLenConstraint)
+int gnutls_x509_crq_set_basic_constraints(gnutls_x509_crq_t crq,
+ unsigned int ca,
+ int pathLenConstraint)
{
int result;
gnutls_datum_t der_data;
@@ -2185,9 +2103,8 @@ gnutls_x509_crq_set_basic_constraints(gnutls_x509_crq_t crq,
/* generate the extension.
*/
- result =
- gnutls_x509_ext_export_basic_constraints(ca, pathLenConstraint,
- &der_data);
+ result = gnutls_x509_ext_export_basic_constraints(ca, pathLenConstraint,
+ &der_data);
if (result < 0) {
gnutls_assert();
return result;
@@ -2266,10 +2183,9 @@ int gnutls_x509_crq_set_key_usage(gnutls_x509_crq_t crq, unsigned int usage)
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq,
- unsigned indx, void *oid,
- size_t *sizeof_oid, unsigned int *critical)
+int gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq, unsigned indx,
+ void *oid, size_t *sizeof_oid,
+ unsigned int *critical)
{
char tmpstr[MAX_NAME_SIZE];
int result, len;
@@ -2284,9 +2200,8 @@ gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq,
/* Extract extension.
*/
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.37", 0,
- NULL, &prev_size,
- critical);
+ result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.37", 0, NULL,
+ &prev_size, critical);
prev.size = prev_size;
if (result < 0) {
@@ -2300,17 +2215,16 @@ gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.37", 0,
- prev.data,
- &prev_size, critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.37", 0, prev.data, &prev_size, critical);
if (result < 0) {
gnutls_assert();
gnutls_free(prev.data);
return result;
}
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.ExtKeyUsageSyntax", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.ExtKeyUsageSyntax", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(prev.data);
@@ -2336,7 +2250,8 @@ gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq,
*sizeof_oid = len;
asn1_delete_structure(&c2);
- if (result == ASN1_VALUE_NOT_FOUND || result == ASN1_ELEMENT_NOT_FOUND) {
+ if (result == ASN1_VALUE_NOT_FOUND ||
+ result == ASN1_ELEMENT_NOT_FOUND) {
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -2366,9 +2281,8 @@ gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
- const void *oid, unsigned int critical)
+int gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq, const void *oid,
+ unsigned int critical)
{
int result;
gnutls_datum_t prev = { NULL, 0 }, der_data;
@@ -2377,9 +2291,8 @@ gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
/* Read existing extension, if there is one.
*/
- result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.37", 0,
- NULL, &prev_size,
- &critical);
+ result = gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.37", 0, NULL,
+ &prev_size, &critical);
prev.size = prev_size;
switch (result) {
@@ -2394,10 +2307,8 @@ gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- result =
- gnutls_x509_crq_get_extension_by_oid(crq, "2.5.29.37",
- 0, prev.data,
- &prev_size, &critical);
+ result = gnutls_x509_crq_get_extension_by_oid(
+ crq, "2.5.29.37", 0, prev.data, &prev_size, &critical);
if (result < 0) {
gnutls_assert();
gnutls_free(prev.data);
@@ -2421,8 +2332,8 @@ gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
if (prev.data) {
/* decode it.
*/
- result =
- _asn1_strict_der_decode(&c2, prev.data, prev.size, NULL);
+ result = _asn1_strict_der_decode(&c2, prev.data, prev.size,
+ NULL);
gnutls_free(prev.data);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -2459,8 +2370,8 @@ gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
return _gnutls_asn2err(result);
}
- result = _gnutls_x509_crq_set_extension(crq, "2.5.29.37",
- &der_data, critical);
+ result = _gnutls_x509_crq_set_extension(crq, "2.5.29.37", &der_data,
+ critical);
_gnutls_free_datum(&der_data);
if (result < 0) {
gnutls_assert();
@@ -2492,9 +2403,9 @@ gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq,
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_get_key_id(gnutls_x509_crq_t crq, unsigned int flags,
- unsigned char *output_data, size_t *output_data_size)
+int gnutls_x509_crq_get_key_id(gnutls_x509_crq_t crq, unsigned int flags,
+ unsigned char *output_data,
+ size_t *output_data_size)
{
int ret = 0;
gnutls_pk_params_st params;
@@ -2546,9 +2457,9 @@ gnutls_x509_crq_get_key_id(gnutls_x509_crq_t crq, unsigned int flags,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
- gnutls_digest_algorithm_t dig, unsigned int flags)
+int gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
+ gnutls_digest_algorithm_t dig,
+ unsigned int flags)
{
int result;
gnutls_datum_t signature;
@@ -2585,9 +2496,8 @@ gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
gnutls_pubkey_deinit(pubkey);
return gnutls_assert_val(ret);
}
- ret =
- gnutls_pubkey_get_preferred_hash_algorithm(pubkey, &dig,
- NULL);
+ ret = gnutls_pubkey_get_preferred_hash_algorithm(pubkey, &dig,
+ NULL);
gnutls_pubkey_deinit(pubkey);
if (ret < 0)
@@ -2609,8 +2519,8 @@ gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
/* Step 1. Self sign the request.
*/
- result =
- _gnutls_x509_get_tbs(crq->crq, "certificationRequestInfo", &tbs);
+ result = _gnutls_x509_get_tbs(crq->crq, "certificationRequestInfo",
+ &tbs);
if (result < 0) {
gnutls_assert();
@@ -2633,9 +2543,8 @@ gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
/* Step 2. write the signature (bits)
*/
- result =
- asn1_write_value(crq->crq, "signature", signature.data,
- signature.size * 8);
+ result = asn1_write_value(crq->crq, "signature", signature.data,
+ signature.size * 8);
_gnutls_free_datum(&signature);
@@ -2646,9 +2555,8 @@ gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t key,
/* Step 3. Write the signatureAlgorithm field.
*/
- result =
- _gnutls_x509_write_sign_params(crq->crq, "signatureAlgorithm",
- se, &params);
+ result = _gnutls_x509_write_sign_params(crq->crq, "signatureAlgorithm",
+ se, &params);
if (result < 0) {
gnutls_assert();
return result;
@@ -2681,17 +2589,15 @@ int gnutls_x509_crq_verify(gnutls_x509_crq_t crq, unsigned int flags)
gnutls_pk_params_init(&params);
- ret =
- _gnutls_x509_get_signed_data(crq->crq, NULL,
- "certificationRequestInfo", &data);
+ ret = _gnutls_x509_get_signed_data(crq->crq, NULL,
+ "certificationRequestInfo", &data);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_x509_get_signature_algorithm(crq->crq,
- "signatureAlgorithm");
+ ret = _gnutls_x509_get_signature_algorithm(crq->crq,
+ "signatureAlgorithm");
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2716,16 +2622,15 @@ int gnutls_x509_crq_verify(gnutls_x509_crq_t crq, unsigned int flags)
goto cleanup;
}
- ret = _gnutls_x509_read_sign_params(crq->crq,
- "signatureAlgorithm", &sign_params);
+ ret = _gnutls_x509_read_sign_params(crq->crq, "signatureAlgorithm",
+ &sign_params);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- pubkey_verify_data(se, hash_to_entry(se->hash), &data, &signature,
- &params, &sign_params, flags);
+ ret = pubkey_verify_data(se, hash_to_entry(se->hash), &data, &signature,
+ &params, &sign_params, flags);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2733,7 +2638,7 @@ int gnutls_x509_crq_verify(gnutls_x509_crq_t crq, unsigned int flags)
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&data);
_gnutls_free_datum(&signature);
gnutls_pk_params_release(&params);
@@ -2752,10 +2657,9 @@ int gnutls_x509_crq_verify(gnutls_x509_crq_t crq, unsigned int flags)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t crq,
- time_t activation,
- time_t expiration)
+int gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t crq,
+ time_t activation,
+ time_t expiration)
{
int result;
gnutls_datum_t der_data;
@@ -2766,9 +2670,8 @@ gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.PrivateKeyUsagePeriod", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.PrivateKeyUsagePeriod", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -2796,7 +2699,7 @@ gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t crq,
_gnutls_free_datum(&der_data);
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
@@ -2839,10 +2742,9 @@ int gnutls_x509_crq_get_tlsfeatures(gnutls_x509_crq_t crq,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- gnutls_x509_crq_get_extension_by_oid2(crq,
- GNUTLS_X509EXT_OID_TLSFEATURES,
- 0, &der, critical)) < 0) {
+ if ((ret = gnutls_x509_crq_get_extension_by_oid2(
+ crq, GNUTLS_X509EXT_OID_TLSFEATURES, 0, &der, critical)) <
+ 0) {
return ret;
}
@@ -2858,7 +2760,7 @@ int gnutls_x509_crq_get_tlsfeatures(gnutls_x509_crq_t crq,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(der.data);
return ret;
}
@@ -2895,9 +2797,8 @@ int gnutls_x509_crq_set_tlsfeatures(gnutls_x509_crq_t crq,
return ret;
}
- ret =
- _gnutls_x509_crq_set_extension(crq, GNUTLS_X509EXT_OID_TLSFEATURES,
- &der, 0);
+ ret = _gnutls_x509_crq_set_extension(
+ crq, GNUTLS_X509EXT_OID_TLSFEATURES, &der, 0);
_gnutls_free_datum(&der);
@@ -2923,10 +2824,9 @@ int gnutls_x509_crq_set_tlsfeatures(gnutls_x509_crq_t crq,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq,
- const char *oid, const void *buf,
- size_t sizeof_buf, unsigned int critical)
+int gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq, const char *oid,
+ const void *buf, size_t sizeof_buf,
+ unsigned int critical)
{
int result;
gnutls_datum_t der_data;
@@ -2946,7 +2846,6 @@ gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq,
}
return 0;
-
}
/**
@@ -2968,9 +2867,8 @@ gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq,
*
* Since: 3.6.0
**/
-int
-gnutls_x509_crq_set_spki(gnutls_x509_crq_t crq,
- const gnutls_x509_spki_t spki, unsigned int flags)
+int gnutls_x509_crq_set_spki(gnutls_x509_crq_t crq,
+ const gnutls_x509_spki_t spki, unsigned int flags)
{
int ret;
gnutls_pk_algorithm_t crq_pk;
@@ -3025,9 +2923,8 @@ gnutls_x509_crq_set_spki(gnutls_x509_crq_t crq,
/* If salt size is zero, find the optimal salt size. */
if (spki->salt_size == 0) {
- ret =
- _gnutls_find_rsa_pss_salt_size(bits, me,
- spki->salt_size);
+ ret = _gnutls_find_rsa_pss_salt_size(bits, me,
+ spki->salt_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -3056,14 +2953,15 @@ gnutls_x509_crq_set_spki(gnutls_x509_crq_t crq,
ret = _gnutls_x509_write_spki_params(crq->crq,
"certificationRequestInfo."
"subjectPKInfo."
- "algorithm", &tpki);
+ "algorithm",
+ &tpki);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(&params);
return ret;
}
diff --git a/lib/x509/dn.c b/lib/x509/dn.c
index c13ce113e8..bae7564ccc 100644
--- a/lib/x509/dn.c
+++ b/lib/x509/dn.c
@@ -34,7 +34,7 @@
*/
static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
- gnutls_buffer_st * str, int k1, unsigned last)
+ gnutls_buffer_st *str, int k1, unsigned last)
{
int k2, result, max_k2;
int len;
@@ -58,7 +58,8 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
len = sizeof(value) - 1;
result = asn1_read_value(asn1_struct, tmpbuffer1, value, &len);
- if (result != ASN1_VALUE_NOT_FOUND && result != ASN1_SUCCESS) { /* expected */
+ if (result != ASN1_VALUE_NOT_FOUND &&
+ result != ASN1_SUCCESS) { /* expected */
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -73,13 +74,13 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
goto cleanup;
}
- do { /* Move to the attribute type and values
+ do { /* Move to the attribute type and values
*/
k2++;
if (tmpbuffer1[0] != 0)
- snprintf(tmpbuffer2, sizeof(tmpbuffer2),
- "%s.?%d", tmpbuffer1, k2);
+ snprintf(tmpbuffer2, sizeof(tmpbuffer2), "%s.?%d",
+ tmpbuffer1, k2);
else
snprintf(tmpbuffer2, sizeof(tmpbuffer2), "?%d", k2);
@@ -91,7 +92,8 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
if (result == ASN1_ELEMENT_NOT_FOUND)
break;
- if (result != ASN1_VALUE_NOT_FOUND && result != ASN1_SUCCESS) { /* expected */
+ if (result != ASN1_VALUE_NOT_FOUND &&
+ result != ASN1_SUCCESS) { /* expected */
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -125,20 +127,22 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
gnutls_assert();
goto cleanup;
}
-#define STR_APPEND(y) if ((result=_gnutls_buffer_append_str( str, y)) < 0) { \
- gnutls_assert(); \
- goto cleanup; \
-}
-#define DATA_APPEND(x,y) if ((result=_gnutls_buffer_append_data( str, x,y)) < 0) { \
- gnutls_assert(); \
- goto cleanup; \
-}
+#define STR_APPEND(y) \
+ if ((result = _gnutls_buffer_append_str(str, y)) < 0) { \
+ gnutls_assert(); \
+ goto cleanup; \
+ }
+#define DATA_APPEND(x, y) \
+ if ((result = _gnutls_buffer_append_data(str, x, y)) < 0) { \
+ gnutls_assert(); \
+ goto cleanup; \
+ }
/* The encodings of adjoining RelativeDistinguishedNames are separated
* by a comma character (',' ASCII 44).
*/
- ldap_desc =
- gnutls_x509_dn_oid_name(oid, GNUTLS_X509_DN_OID_RETURN_OID);
+ ldap_desc = gnutls_x509_dn_oid_name(
+ oid, GNUTLS_X509_DN_OID_RETURN_OID);
STR_APPEND(ldap_desc);
STR_APPEND("=");
@@ -150,8 +154,8 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
* Explicitly reject DirectoryString in such case.
*/
const char *asn_desc = _gnutls_oid_get_asn_desc(oid);
- if (asn_desc && !strcmp(asn_desc, "PKIX1.DirectoryString")
- && tvd.data[1] == 0) {
+ if (asn_desc && !strcmp(asn_desc, "PKIX1.DirectoryString") &&
+ tvd.data[1] == 0) {
gnutls_assert();
result = GNUTLS_E_ASN1_VALUE_NOT_VALID;
_gnutls_debug_log("Empty DirectoryString\n");
@@ -159,15 +163,13 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
}
result =
- _gnutls_x509_dn_to_string(oid, tvd.data, tvd.size, &td);
+ _gnutls_x509_dn_to_string(oid, tvd.data, tvd.size, &td);
if (result < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("Cannot parse OID: '%s' with value '%s'\n",
- oid, _gnutls_bin2hex(tvd.data,
- tvd.size,
- tmpbuffer3,
- sizeof(tmpbuffer3), NULL));
+ _gnutls_debug_log(
+ "Cannot parse OID: '%s' with value '%s'\n", oid,
+ _gnutls_bin2hex(tvd.data, tvd.size, tmpbuffer3,
+ sizeof(tmpbuffer3), NULL));
goto cleanup;
}
@@ -184,21 +186,18 @@ static int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,
} else if (!last) {
STR_APPEND(",");
}
- }
- while (1);
+ } while (1);
result = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&td);
_gnutls_free_datum(&tvd);
return result;
}
-int
-_gnutls_x509_get_dn(asn1_node asn1_struct,
- const char *asn1_rdn_name, gnutls_datum_t * dn,
- unsigned flags)
+int _gnutls_x509_get_dn(asn1_node asn1_struct, const char *asn1_rdn_name,
+ gnutls_datum_t *dn, unsigned flags)
{
gnutls_buffer_st out_str;
int i, k1, result;
@@ -207,11 +206,10 @@ _gnutls_x509_get_dn(asn1_node asn1_struct,
result = asn1_number_of_elements(asn1_struct, asn1_rdn_name, &k1);
if (result != ASN1_SUCCESS) {
- if (result == ASN1_ELEMENT_NOT_FOUND
- || result == ASN1_VALUE_NOT_FOUND) {
- result =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ if (result == ASN1_ELEMENT_NOT_FOUND ||
+ result == ASN1_VALUE_NOT_FOUND) {
+ result = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
} else {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -227,10 +225,9 @@ _gnutls_x509_get_dn(asn1_node asn1_struct,
if (flags & GNUTLS_X509_DN_FLAG_COMPAT) {
for (i = 0; i < k1; i++) {
- result =
- append_elements(asn1_struct, asn1_rdn_name,
- &out_str, i + 1,
- (i == (k1 - 1)) ? 1 : 0);
+ result = append_elements(asn1_struct, asn1_rdn_name,
+ &out_str, i + 1,
+ (i == (k1 - 1)) ? 1 : 0);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -238,9 +235,8 @@ _gnutls_x509_get_dn(asn1_node asn1_struct,
}
} else {
while (k1 > 0) {
- result =
- append_elements(asn1_struct, asn1_rdn_name,
- &out_str, k1, k1 == 1 ? 1 : 0);
+ result = append_elements(asn1_struct, asn1_rdn_name,
+ &out_str, k1, k1 == 1 ? 1 : 0);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -251,10 +247,9 @@ _gnutls_x509_get_dn(asn1_node asn1_struct,
return _gnutls_buffer_to_datum(&out_str, dn, 1);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&out_str);
return result;
-
}
/* Parses an X509 DN in the asn1_struct, and puts the output into
@@ -263,10 +258,8 @@ _gnutls_x509_get_dn(asn1_node asn1_struct,
* asn1_rdn_name must be a string in the form "tbsCertificate.issuer.rdnSequence".
* That is to point in the rndSequence.
*/
-int
-_gnutls_x509_parse_dn(asn1_node asn1_struct,
- const char *asn1_rdn_name, char *buf,
- size_t *buf_size, unsigned flags)
+int _gnutls_x509_parse_dn(asn1_node asn1_struct, const char *asn1_rdn_name,
+ char *buf, size_t *buf_size, unsigned flags)
{
int ret;
gnutls_datum_t dn = { NULL, 0 };
@@ -302,7 +295,7 @@ _gnutls_x509_parse_dn(asn1_node asn1_struct,
*buf_size = dn.size + 1;
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&dn);
return ret;
}
@@ -319,11 +312,9 @@ _gnutls_x509_parse_dn(asn1_node asn1_struct,
* indx specifies which OID to return. Ie 0 means return the first specified
* OID found, 1 the second etc.
*/
-int
-_gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
- const char *asn1_rdn_name,
- const char *given_oid, int indx,
- unsigned int raw_flag, gnutls_datum_t * out)
+int _gnutls_x509_parse_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,
+ const char *given_oid, int indx,
+ unsigned int raw_flag, gnutls_datum_t *out)
{
int k2, k1, result;
char tmpbuffer1[MAX_NAME_SIZE];
@@ -337,7 +328,6 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
k1 = 0;
do {
-
k1++;
/* create a string like "tbsCertList.issuer.rdnSequence.?1"
*/
@@ -363,7 +353,7 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
k2 = 0;
- do { /* Move to the attribute type and values
+ do { /* Move to the attribute type and values
*/
k2++;
@@ -371,16 +361,15 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
snprintf(tmpbuffer2, sizeof(tmpbuffer2),
"%s.?%d", tmpbuffer1, k2);
else
- snprintf(tmpbuffer2, sizeof(tmpbuffer2),
- "?%d", k2);
+ snprintf(tmpbuffer2, sizeof(tmpbuffer2), "?%d",
+ k2);
/* Try to read the RelativeDistinguishedName attributes.
*/
len = sizeof(value) - 1;
- result =
- asn1_read_value(asn1_struct, tmpbuffer2, value,
- &len);
+ result = asn1_read_value(asn1_struct, tmpbuffer2, value,
+ &len);
if (result == ASN1_ELEMENT_NOT_FOUND) {
break;
@@ -399,8 +388,8 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
".type");
len = sizeof(oid) - 1;
- result =
- asn1_read_value(asn1_struct, tmpbuffer3, oid, &len);
+ result = asn1_read_value(asn1_struct, tmpbuffer3, oid,
+ &len);
if (result == ASN1_ELEMENT_NOT_FOUND)
break;
@@ -410,18 +399,18 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
goto cleanup;
}
- if (strcmp(oid, given_oid) == 0 && indx == i++) { /* Found the OID */
+ if (strcmp(oid, given_oid) == 0 &&
+ indx == i++) { /* Found the OID */
/* Read the Value
*/
- _gnutls_str_cpy(tmpbuffer3,
- sizeof(tmpbuffer3), tmpbuffer2);
- _gnutls_str_cat(tmpbuffer3,
- sizeof(tmpbuffer3), ".value");
-
- result =
- _gnutls_x509_read_value(asn1_struct,
- tmpbuffer3, &td);
+ _gnutls_str_cpy(tmpbuffer3, sizeof(tmpbuffer3),
+ tmpbuffer2);
+ _gnutls_str_cat(tmpbuffer3, sizeof(tmpbuffer3),
+ ".value");
+
+ result = _gnutls_x509_read_value(
+ asn1_struct, tmpbuffer3, &td);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -432,12 +421,9 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
out->size = td.size;
return 0;
- } else { /* parse data. raw_flag == 0 */
- result =
- _gnutls_x509_dn_to_string(oid,
- td.data,
- td.size,
- out);
+ } else { /* parse data. raw_flag == 0 */
+ result = _gnutls_x509_dn_to_string(
+ oid, td.data, td.size, out);
_gnutls_free_datum(&td);
if (result < 0) {
@@ -447,19 +433,17 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
return 0;
- } /* raw_flag == 0 */
+ } /* raw_flag == 0 */
}
- }
- while (1);
+ } while (1);
- }
- while (1);
+ } while (1);
gnutls_assert();
result = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
- cleanup:
+cleanup:
return result;
}
@@ -472,10 +456,8 @@ _gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
* indx specifies which OID to return. Ie 0 means return the first specified
* OID found, 1 the second etc.
*/
-int
-_gnutls_x509_get_dn_oid(asn1_node asn1_struct,
- const char *asn1_rdn_name,
- int indx, void *_oid, size_t *sizeof_oid)
+int _gnutls_x509_get_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,
+ int indx, void *_oid, size_t *sizeof_oid)
{
int k2, k1, result;
char tmpbuffer1[MAX_NAME_SIZE];
@@ -488,7 +470,6 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
k1 = 0;
do {
-
k1++;
/* create a string like "tbsCertList.issuer.rdnSequence.?1"
*/
@@ -514,7 +495,7 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
k2 = 0;
- do { /* Move to the attribute type and values
+ do { /* Move to the attribute type and values
*/
k2++;
@@ -522,16 +503,15 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
snprintf(tmpbuffer2, sizeof(tmpbuffer2),
"%s.?%d", tmpbuffer1, k2);
else
- snprintf(tmpbuffer2, sizeof(tmpbuffer2),
- "?%d", k2);
+ snprintf(tmpbuffer2, sizeof(tmpbuffer2), "?%d",
+ k2);
/* Try to read the RelativeDistinguishedName attributes.
*/
len = sizeof(value) - 1;
- result =
- asn1_read_value(asn1_struct, tmpbuffer2, value,
- &len);
+ result = asn1_read_value(asn1_struct, tmpbuffer2, value,
+ &len);
if (result == ASN1_ELEMENT_NOT_FOUND) {
break;
@@ -550,8 +530,8 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
".type");
len = sizeof(oid) - 1;
- result =
- asn1_read_value(asn1_struct, tmpbuffer3, oid, &len);
+ result = asn1_read_value(asn1_struct, tmpbuffer3, oid,
+ &len);
if (result == ASN1_ELEMENT_NOT_FOUND)
break;
@@ -561,7 +541,7 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
goto cleanup;
}
- if (indx == i++) { /* Found the OID */
+ if (indx == i++) { /* Found the OID */
len = strlen(oid) + 1;
@@ -576,17 +556,15 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
return 0;
}
- }
- while (1);
+ } while (1);
- }
- while (1);
+ } while (1);
gnutls_assert();
result = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
- cleanup:
+cleanup:
return result;
}
@@ -594,10 +572,10 @@ _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
* 'multi' must be (0) if writing an AttributeTypeAndValue, and 1 if Attribute.
* In all cases only one value is written.
*/
-static int
-_gnutls_x509_write_attribute(const char *given_oid,
- asn1_node asn1_struct, const char *where,
- const void *_data, int sizeof_data)
+static int _gnutls_x509_write_attribute(const char *given_oid,
+ asn1_node asn1_struct,
+ const char *where, const void *_data,
+ int sizeof_data)
{
char tmp[128];
int result;
@@ -636,12 +614,10 @@ _gnutls_x509_write_attribute(const char *given_oid,
*
* The output is allocated and stored in value.
*/
-int
-_gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,
- const char *where, char *oid,
- int oid_size,
- gnutls_datum_t * value, int multi,
- int octet_string)
+int _gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,
+ const char *where, char *oid,
+ int oid_size, gnutls_datum_t *value,
+ int multi, int octet_string)
{
char tmpbuffer[128];
int len, result;
@@ -667,12 +643,12 @@ _gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,
_gnutls_str_cat(tmpbuffer, sizeof(tmpbuffer), ".value");
if (multi)
- _gnutls_str_cat(tmpbuffer, sizeof(tmpbuffer), "s.?1"); /* .values.?1 */
+ _gnutls_str_cat(tmpbuffer, sizeof(tmpbuffer),
+ "s.?1"); /* .values.?1 */
if (octet_string)
- result =
- _gnutls_x509_read_string(asn1_struct, tmpbuffer, value,
- ASN1_ETYPE_OCTET_STRING, 0);
+ result = _gnutls_x509_read_string(asn1_struct, tmpbuffer, value,
+ ASN1_ETYPE_OCTET_STRING, 0);
else
result = _gnutls_x509_read_value(asn1_struct, tmpbuffer, value);
if (result < 0) {
@@ -681,7 +657,6 @@ _gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,
}
return 0;
-
}
/* Sets an X509 DN in the asn1_struct, and puts the given OID in the DN.
@@ -691,10 +666,9 @@ _gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,
* That is to point before the rndSequence.
*
*/
-int
-_gnutls_x509_set_dn_oid(asn1_node asn1_struct,
- const char *asn1_name, const char *given_oid,
- int raw_flag, const char *name, int sizeof_name)
+int _gnutls_x509_set_dn_oid(asn1_node asn1_struct, const char *asn1_name,
+ const char *given_oid, int raw_flag,
+ const char *name, int sizeof_name)
{
int result;
char tmp[MAX_NAME_SIZE], asn1_rdn_name[MAX_NAME_SIZE];
@@ -747,15 +721,11 @@ _gnutls_x509_set_dn_oid(asn1_node asn1_struct,
_gnutls_str_cat(tmp, sizeof(tmp), ".?LAST.?LAST");
if (!raw_flag) {
- result =
- _gnutls_x509_encode_and_write_attribute(given_oid,
- asn1_struct,
- tmp, name,
- sizeof_name, 0);
+ result = _gnutls_x509_encode_and_write_attribute(
+ given_oid, asn1_struct, tmp, name, sizeof_name, 0);
} else {
- result =
- _gnutls_x509_write_attribute(given_oid, asn1_struct,
- tmp, name, sizeof_name);
+ result = _gnutls_x509_write_attribute(given_oid, asn1_struct,
+ tmp, name, sizeof_name);
}
if (result < 0) {
@@ -784,7 +754,7 @@ _gnutls_x509_set_dn_oid(asn1_node asn1_struct,
* updated if the provided buffer is not long enough, otherwise a
* negative error value.
**/
-int gnutls_x509_rdn_get(const gnutls_datum_t * idn, char *buf, size_t *buf_size)
+int gnutls_x509_rdn_get(const gnutls_datum_t *idn, char *buf, size_t *buf_size)
{
int ret;
gnutls_datum_t out;
@@ -821,9 +791,8 @@ int gnutls_x509_rdn_get(const gnutls_datum_t * idn, char *buf, size_t *buf_size)
* updated if the provided buffer is not long enough, otherwise a
* negative error value.
**/
-int
-gnutls_x509_rdn_get2(const gnutls_datum_t * idn,
- gnutls_datum_t * str, unsigned flags)
+int gnutls_x509_rdn_get2(const gnutls_datum_t *idn, gnutls_datum_t *str,
+ unsigned flags)
{
int ret;
gnutls_x509_dn_t dn;
@@ -845,7 +814,7 @@ gnutls_x509_rdn_get2(const gnutls_datum_t * idn,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_x509_dn_deinit(dn);
return ret;
}
@@ -869,10 +838,9 @@ gnutls_x509_rdn_get2(const gnutls_datum_t * idn,
* updated if the provided buffer is not long enough, otherwise a
* negative error value.
**/
-int
-gnutls_x509_rdn_get_by_oid(const gnutls_datum_t * idn, const char *oid,
- unsigned indx, unsigned int raw_flag,
- void *buf, size_t *buf_size)
+int gnutls_x509_rdn_get_by_oid(const gnutls_datum_t *idn, const char *oid,
+ unsigned indx, unsigned int raw_flag, void *buf,
+ size_t *buf_size)
{
int result;
asn1_node dn = NULL;
@@ -882,9 +850,8 @@ gnutls_x509_rdn_get_by_oid(const gnutls_datum_t * idn, const char *oid,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Name", &dn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Name",
+ &dn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -897,9 +864,8 @@ gnutls_x509_rdn_get_by_oid(const gnutls_datum_t * idn, const char *oid,
return _gnutls_asn2err(result);
}
- result =
- _gnutls_x509_parse_dn_oid(dn, "rdnSequence", oid, indx,
- raw_flag, &td);
+ result = _gnutls_x509_parse_dn_oid(dn, "rdnSequence", oid, indx,
+ raw_flag, &td);
asn1_delete_structure(&dn);
if (result < 0)
@@ -925,9 +891,8 @@ gnutls_x509_rdn_get_by_oid(const gnutls_datum_t * idn, const char *oid,
*
* Since: 2.4.0
**/
-int
-gnutls_x509_rdn_get_oid(const gnutls_datum_t * idn,
- unsigned indx, void *buf, size_t *buf_size)
+int gnutls_x509_rdn_get_oid(const gnutls_datum_t *idn, unsigned indx, void *buf,
+ size_t *buf_size)
{
int result;
asn1_node dn = NULL;
@@ -936,9 +901,8 @@ gnutls_x509_rdn_get_oid(const gnutls_datum_t * idn,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Name", &dn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Name",
+ &dn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -952,7 +916,7 @@ gnutls_x509_rdn_get_oid(const gnutls_datum_t * idn,
}
result =
- _gnutls_x509_get_dn_oid(dn, "rdnSequence", indx, buf, buf_size);
+ _gnutls_x509_get_dn_oid(dn, "rdnSequence", indx, buf, buf_size);
asn1_delete_structure(&dn);
return result;
@@ -964,9 +928,8 @@ gnutls_x509_rdn_get_oid(const gnutls_datum_t * idn,
* Returns 1 if the DN's match and (0) if they don't match. Otherwise
* a negative error code is returned to indicate error.
*/
-int
-_gnutls_x509_compare_raw_dn(const gnutls_datum_t * dn1,
- const gnutls_datum_t * dn2)
+int _gnutls_x509_compare_raw_dn(const gnutls_datum_t *dn1,
+ const gnutls_datum_t *dn2)
{
int ret;
gnutls_datum_t str1, str2;
@@ -1013,9 +976,9 @@ _gnutls_x509_compare_raw_dn(const gnutls_datum_t * dn1,
goto cleanup;
}
- ret = 1; /* they match */
+ ret = 1; /* they match */
- cleanup:
+cleanup:
_gnutls_free_datum(&str1);
_gnutls_free_datum(&str2);
diff --git a/lib/x509/email-verify.c b/lib/x509/email-verify.c
index c9ece51dcb..2e5eaf85a2 100644
--- a/lib/x509/email-verify.c
+++ b/lib/x509/email-verify.c
@@ -37,9 +37,8 @@
*
* Returns: non-zero for a successful match, and zero on failure.
**/
-unsigned
-gnutls_x509_crt_check_email(gnutls_x509_crt_t cert,
- const char *email, unsigned int flags)
+unsigned gnutls_x509_crt_check_email(gnutls_x509_crt_t cert, const char *email,
+ unsigned int flags)
{
char rfc822name[MAX_CN];
size_t rfc822namesize;
@@ -72,34 +71,30 @@ gnutls_x509_crt_check_email(gnutls_x509_crt_t cert,
* against all those of type RFC822Name.
*/
for (i = 0; !(ret < 0); i++) {
-
rfc822namesize = sizeof(rfc822name);
- ret = gnutls_x509_crt_get_subject_alt_name(cert, i,
- rfc822name,
- &rfc822namesize,
- NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name(
+ cert, i, rfc822name, &rfc822namesize, NULL);
if (ret == GNUTLS_SAN_RFC822NAME) {
found_rfc822name = 1;
if (memchr(rfc822name, '\0', rfc822namesize)) {
- _gnutls_debug_log
- ("certificate has %s with embedded null in rfc822name\n",
- rfc822name);
+ _gnutls_debug_log(
+ "certificate has %s with embedded null in rfc822name\n",
+ rfc822name);
continue;
}
if (!_gnutls_str_is_print(rfc822name, rfc822namesize)) {
- _gnutls_debug_log
- ("invalid (non-ASCII) email in certificate %.*s\n",
- (int)rfc822namesize, rfc822name);
+ _gnutls_debug_log(
+ "invalid (non-ASCII) email in certificate %.*s\n",
+ (int)rfc822namesize, rfc822name);
continue;
}
- ret =
- _gnutls_hostname_compare(rfc822name, rfc822namesize,
- a_email,
- GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS);
+ ret = _gnutls_hostname_compare(
+ rfc822name, rfc822namesize, a_email,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS);
if (ret != 0) {
ret = 1;
goto cleanup;
@@ -114,43 +109,44 @@ gnutls_x509_crt_check_email(gnutls_x509_crt_t cert,
/* enforce the RFC6125 (§1.8) requirement that only
* a single CN must be present */
rfc822namesize = sizeof(rfc822name);
- ret = gnutls_x509_crt_get_dn_by_oid
- (cert, GNUTLS_OID_PKCS9_EMAIL, 1, 0, rfc822name,
- &rfc822namesize);
+ ret = gnutls_x509_crt_get_dn_by_oid(cert,
+ GNUTLS_OID_PKCS9_EMAIL, 1,
+ 0, rfc822name,
+ &rfc822namesize);
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
ret = 0;
goto cleanup;
}
rfc822namesize = sizeof(rfc822name);
- ret = gnutls_x509_crt_get_dn_by_oid
- (cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, rfc822name,
- &rfc822namesize);
+ ret = gnutls_x509_crt_get_dn_by_oid(cert,
+ GNUTLS_OID_PKCS9_EMAIL, 0,
+ 0, rfc822name,
+ &rfc822namesize);
if (ret < 0) {
ret = 0;
goto cleanup;
}
if (memchr(rfc822name, '\0', rfc822namesize)) {
- _gnutls_debug_log
- ("certificate has EMAIL %s with embedded null in name\n",
- rfc822name);
+ _gnutls_debug_log(
+ "certificate has EMAIL %s with embedded null in name\n",
+ rfc822name);
ret = 0;
goto cleanup;
}
if (!_gnutls_str_is_print(rfc822name, rfc822namesize)) {
- _gnutls_debug_log
- ("invalid (non-ASCII) email in certificate DN %.*s\n",
- (int)rfc822namesize, rfc822name);
+ _gnutls_debug_log(
+ "invalid (non-ASCII) email in certificate DN %.*s\n",
+ (int)rfc822namesize, rfc822name);
ret = 0;
goto cleanup;
}
- ret =
- _gnutls_hostname_compare(rfc822name, rfc822namesize,
- a_email,
- GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS);
+ ret = _gnutls_hostname_compare(
+ rfc822name, rfc822namesize, a_email,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS);
if (ret != 0) {
ret = 1;
goto cleanup;
@@ -160,7 +156,7 @@ gnutls_x509_crt_check_email(gnutls_x509_crt_t cert,
/* not found a matching name
*/
ret = 0;
- cleanup:
+cleanup:
if (a_email != email) {
gnutls_free(a_email);
}
diff --git a/lib/x509/extensions.c b/lib/x509/extensions.c
index 73133e9db4..24a4ef99c8 100644
--- a/lib/x509/extensions.c
+++ b/lib/x509/extensions.c
@@ -33,10 +33,9 @@
#include <x509_int.h>
#include <datum.h>
-int
-_gnutls_get_extension(asn1_node asn, const char *root,
- const char *extension_id, int indx,
- gnutls_datum_t * ret, unsigned int *_critical)
+int _gnutls_get_extension(asn1_node asn, const char *root,
+ const char *extension_id, int indx,
+ gnutls_datum_t *ret, unsigned int *_critical)
{
int k, result, len;
char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE];
@@ -70,7 +69,8 @@ _gnutls_get_extension(asn1_node asn, const char *root,
/* Handle Extension
*/
- if (strcmp(extnID, extension_id) == 0 && indx == indx_counter++) {
+ if (strcmp(extnID, extension_id) == 0 &&
+ indx == indx_counter++) {
/* extension was found
*/
@@ -81,7 +81,7 @@ _gnutls_get_extension(asn1_node asn, const char *root,
len = sizeof(str_critical);
result =
- asn1_read_value(asn, name2, str_critical, &len);
+ asn1_read_value(asn, name2, str_critical, &len);
if (result == ASN1_ELEMENT_NOT_FOUND) {
gnutls_assert();
@@ -115,8 +115,7 @@ _gnutls_get_extension(asn1_node asn, const char *root,
return 0;
}
- }
- while (1);
+ } while (1);
if (result == ASN1_ELEMENT_NOT_FOUND) {
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -126,9 +125,8 @@ _gnutls_get_extension(asn1_node asn, const char *root,
}
}
-static int
-get_indx_extension(asn1_node asn, const char *root,
- int indx, gnutls_datum_t * out)
+static int get_indx_extension(asn1_node asn, const char *root, int indx,
+ gnutls_datum_t *out)
{
char name[MAX_NAME_SIZE];
int ret;
@@ -145,10 +143,9 @@ get_indx_extension(asn1_node asn, const char *root,
return 0;
}
-int
-_gnutls_x509_crt_get_extension(gnutls_x509_crt_t cert,
- const char *extension_id, int indx,
- gnutls_datum_t * data, unsigned int *critical)
+int _gnutls_x509_crt_get_extension(gnutls_x509_crt_t cert,
+ const char *extension_id, int indx,
+ gnutls_datum_t *data, unsigned int *critical)
{
return _gnutls_get_extension(cert->cert, "tbsCertificate.extensions",
extension_id, indx, data, critical);
@@ -171,18 +168,16 @@ _gnutls_x509_crt_get_extension(gnutls_x509_crt_t cert,
* last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* will be returned.
**/
-int
-gnutls_x509_crt_get_extension_data2(gnutls_x509_crt_t cert,
- unsigned indx, gnutls_datum_t * data)
+int gnutls_x509_crt_get_extension_data2(gnutls_x509_crt_t cert, unsigned indx,
+ gnutls_datum_t *data)
{
- return get_indx_extension(cert->cert, "tbsCertificate.extensions",
- indx, data);
+ return get_indx_extension(cert->cert, "tbsCertificate.extensions", indx,
+ data);
}
-int
-_gnutls_x509_crl_get_extension(gnutls_x509_crl_t crl,
- const char *extension_id, int indx,
- gnutls_datum_t * data, unsigned int *critical)
+int _gnutls_x509_crl_get_extension(gnutls_x509_crl_t crl,
+ const char *extension_id, int indx,
+ gnutls_datum_t *data, unsigned int *critical)
{
return _gnutls_get_extension(crl->crl, "tbsCertList.crlExtensions",
extension_id, indx, data, critical);
@@ -205,12 +200,11 @@ _gnutls_x509_crl_get_extension(gnutls_x509_crl_t crl,
* last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* will be returned.
**/
-int
-gnutls_x509_crl_get_extension_data2(gnutls_x509_crl_t crl,
- unsigned indx, gnutls_datum_t * data)
+int gnutls_x509_crl_get_extension_data2(gnutls_x509_crl_t crl, unsigned indx,
+ gnutls_datum_t *data)
{
- return get_indx_extension(crl->crl, "tbsCertList.crlExtensions",
- indx, data);
+ return get_indx_extension(crl->crl, "tbsCertList.crlExtensions", indx,
+ data);
}
/* This function will attempt to return the requested extension OID found in
@@ -219,8 +213,8 @@ gnutls_x509_crl_get_extension_data2(gnutls_x509_crl_t crl,
* If you have passed the last extension, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will
* be returned.
*/
-static int get_extension_oid(asn1_node asn, const char *root,
- unsigned indx, void *oid, size_t *sizeof_oid)
+static int get_extension_oid(asn1_node asn, const char *root, unsigned indx,
+ void *oid, size_t *sizeof_oid)
{
int k, result, len;
char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE];
@@ -264,8 +258,7 @@ static int get_extension_oid(asn1_node asn, const char *root,
return 0;
}
- }
- while (1);
+ } while (1);
if (result == ASN1_ELEMENT_NOT_FOUND) {
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -281,20 +274,18 @@ static int get_extension_oid(asn1_node asn, const char *root,
* If you have passed the last extension, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will
* be returned.
*/
-int
-_gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert,
- int indx, void *oid, size_t *sizeof_oid)
+int _gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, int indx,
+ void *oid, size_t *sizeof_oid)
{
- return get_extension_oid(cert->cert, "tbsCertificate.extensions",
- indx, oid, sizeof_oid);
+ return get_extension_oid(cert->cert, "tbsCertificate.extensions", indx,
+ oid, sizeof_oid);
}
-int
-_gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl,
- int indx, void *oid, size_t *sizeof_oid)
+int _gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, int indx,
+ void *oid, size_t *sizeof_oid)
{
- return get_extension_oid(crl->crl, "tbsCertList.crlExtensions",
- indx, oid, sizeof_oid);
+ return get_extension_oid(crl->crl, "tbsCertList.crlExtensions", indx,
+ oid, sizeof_oid);
}
/* This function will attempt to set the requested extension in
@@ -302,9 +293,9 @@ _gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl,
*
* Critical will be either 0 or 1.
*/
-static int
-add_extension(asn1_node asn, const char *root, const char *extension_id,
- const gnutls_datum_t * ext_data, unsigned int critical)
+static int add_extension(asn1_node asn, const char *root,
+ const char *extension_id,
+ const gnutls_datum_t *ext_data, unsigned int critical)
{
int result;
const char *str;
@@ -364,9 +355,10 @@ add_extension(asn1_node asn, const char *root, const char *extension_id,
/* Overwrite the given extension (using the index)
* index here starts from one.
*/
-static int
-overwrite_extension(asn1_node asn, const char *root, unsigned int indx,
- const gnutls_datum_t * ext_data, unsigned int critical)
+static int overwrite_extension(asn1_node asn, const char *root,
+ unsigned int indx,
+ const gnutls_datum_t *ext_data,
+ unsigned int critical)
{
char name[MAX_NAME_SIZE], name2[MAX_NAME_SIZE];
const char *str;
@@ -403,10 +395,8 @@ overwrite_extension(asn1_node asn, const char *root, unsigned int indx,
return 0;
}
-int
-_gnutls_set_extension(asn1_node asn, const char *root,
- const char *ext_id,
- const gnutls_datum_t * ext_data, unsigned int critical)
+int _gnutls_set_extension(asn1_node asn, const char *root, const char *ext_id,
+ const gnutls_datum_t *ext_data, unsigned int critical)
{
int result = 0;
int k, len;
@@ -435,7 +425,6 @@ _gnutls_set_extension(asn1_node asn, const char *root,
}
do {
-
_gnutls_str_cpy(name2, sizeof(name2), name);
_gnutls_str_cat(name2, sizeof(name2), ".extnID");
@@ -459,10 +448,8 @@ _gnutls_set_extension(asn1_node asn, const char *root,
ext_data, critical);
}
- }
- while (0);
- }
- while (1);
+ } while (0);
+ } while (1);
if (result == ASN1_ELEMENT_NOT_FOUND) {
return add_extension(asn, root, ext_id, ext_data, critical);
@@ -479,11 +466,9 @@ _gnutls_set_extension(asn1_node asn, const char *root,
*
* Critical will be either 0 or 1.
*/
-int
-_gnutls_x509_crt_set_extension(gnutls_x509_crt_t cert,
- const char *ext_id,
- const gnutls_datum_t * ext_data,
- unsigned int critical)
+int _gnutls_x509_crt_set_extension(gnutls_x509_crt_t cert, const char *ext_id,
+ const gnutls_datum_t *ext_data,
+ unsigned int critical)
{
MODIFIED(cert);
cert->use_extensions = 1;
@@ -492,21 +477,17 @@ _gnutls_x509_crt_set_extension(gnutls_x509_crt_t cert,
ext_id, ext_data, critical);
}
-int
-_gnutls_x509_crl_set_extension(gnutls_x509_crl_t crl,
- const char *ext_id,
- const gnutls_datum_t * ext_data,
- unsigned int critical)
+int _gnutls_x509_crl_set_extension(gnutls_x509_crl_t crl, const char *ext_id,
+ const gnutls_datum_t *ext_data,
+ unsigned int critical)
{
return _gnutls_set_extension(crl->crl, "tbsCertList.crlExtensions",
ext_id, ext_data, critical);
}
-int
-_gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
- const char *ext_id,
- const gnutls_datum_t * ext_data,
- unsigned int critical)
+int _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq, const char *ext_id,
+ const gnutls_datum_t *ext_data,
+ unsigned int critical)
{
unsigned char *extensions = NULL;
size_t extensions_size = 0;
@@ -514,10 +495,8 @@ _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
asn1_node c2;
int result;
- result =
- gnutls_x509_crq_get_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- 0, NULL, &extensions_size);
+ result = gnutls_x509_crq_get_attribute_by_oid(
+ crq, "1.2.840.113549.1.9.14", 0, NULL, &extensions_size);
if (result == GNUTLS_E_SHORT_MEMORY_BUFFER) {
extensions = gnutls_malloc(extensions_size);
if (extensions == NULL) {
@@ -525,11 +504,9 @@ _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
return GNUTLS_E_MEMORY_ERROR;
}
- result = gnutls_x509_crq_get_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- 0,
- extensions,
- &extensions_size);
+ result = gnutls_x509_crq_get_attribute_by_oid(
+ crq, "1.2.840.113549.1.9.14", 0, extensions,
+ &extensions_size);
}
if (result < 0) {
if (result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
@@ -541,8 +518,8 @@ _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
}
}
- result =
- asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extensions", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extensions",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(extensions);
@@ -550,9 +527,8 @@ _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
}
if (extensions_size > 0) {
- result =
- _asn1_strict_der_decode(&c2, extensions, extensions_size,
- NULL);
+ result = _asn1_strict_der_decode(&c2, extensions,
+ extensions_size, NULL);
gnutls_free(extensions);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -577,10 +553,8 @@ _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
return result;
}
- result =
- gnutls_x509_crq_set_attribute_by_oid(crq,
- "1.2.840.113549.1.9.14",
- der.data, der.size);
+ result = gnutls_x509_crq_set_attribute_by_oid(
+ crq, "1.2.840.113549.1.9.14", der.data, der.size);
gnutls_free(der.data);
if (result < 0) {
gnutls_assert();
@@ -592,10 +566,8 @@ _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
/* extract an INTEGER from the DER encoded extension
*/
-int
-_gnutls_x509_ext_extract_number(uint8_t * number,
- size_t *_nr_size,
- uint8_t * extnValue, int extnValueLen)
+int _gnutls_x509_ext_extract_number(uint8_t *number, size_t *_nr_size,
+ uint8_t *extnValue, int extnValueLen)
{
asn1_node ext = NULL;
int result;
@@ -604,9 +576,9 @@ _gnutls_x509_ext_extract_number(uint8_t * number,
/* here it doesn't matter so much that we use CertificateSerialNumber. It is equal
* to using INTEGER.
*/
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.CertificateSerialNumber",
- &ext)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.CertificateSerialNumber",
+ &ext)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -635,16 +607,14 @@ _gnutls_x509_ext_extract_number(uint8_t * number,
/* generate an INTEGER in a DER encoded extension
*/
-int
-_gnutls_x509_ext_gen_number(const uint8_t * number, size_t nr_size,
- gnutls_datum_t * der_ext)
+int _gnutls_x509_ext_gen_number(const uint8_t *number, size_t nr_size,
+ gnutls_datum_t *der_ext)
{
asn1_node ext = NULL;
int result;
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.CertificateSerialNumber", &ext);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.CertificateSerialNumber", &ext);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -669,10 +639,9 @@ _gnutls_x509_ext_gen_number(const uint8_t * number, size_t nr_size,
return 0;
}
-int
-_gnutls_write_general_name(asn1_node ext, const char *ext_name,
- gnutls_x509_subject_alt_name_t type,
- const void *data, unsigned int data_size)
+int _gnutls_write_general_name(asn1_node ext, const char *ext_name,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data, unsigned int data_size)
{
const char *str;
int result;
@@ -724,10 +693,9 @@ _gnutls_write_general_name(asn1_node ext, const char *ext_name,
return 0;
}
-int
-_gnutls_write_new_general_name(asn1_node ext, const char *ext_name,
- gnutls_x509_subject_alt_name_t type,
- const void *data, unsigned int data_size)
+int _gnutls_write_new_general_name(asn1_node ext, const char *ext_name,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data, unsigned int data_size)
{
int result;
char name[128];
@@ -738,7 +706,7 @@ _gnutls_write_new_general_name(asn1_node ext, const char *ext_name,
return _gnutls_asn2err(result);
}
- if (ext_name[0] == 0) { /* no dot */
+ if (ext_name[0] == 0) { /* no dot */
_gnutls_str_cpy(name, sizeof(name), "?LAST");
} else {
_gnutls_str_cpy(name, sizeof(name), ext_name);
@@ -754,10 +722,9 @@ _gnutls_write_new_general_name(asn1_node ext, const char *ext_name,
return 0;
}
-int
-_gnutls_write_new_othername(asn1_node ext, const char *ext_name,
- const char *oid,
- const void *data, unsigned int data_size)
+int _gnutls_write_new_othername(asn1_node ext, const char *ext_name,
+ const char *oid, const void *data,
+ unsigned int data_size)
{
int result;
char name[128];
@@ -769,7 +736,7 @@ _gnutls_write_new_othername(asn1_node ext, const char *ext_name,
return _gnutls_asn2err(result);
}
- if (ext_name[0] == 0) { /* no dot */
+ if (ext_name[0] == 0) { /* no dot */
_gnutls_str_cpy(name, sizeof(name), "?LAST");
} else {
_gnutls_str_cpy(name, sizeof(name), ext_name);
@@ -806,14 +773,12 @@ _gnutls_write_new_othername(asn1_node ext, const char *ext_name,
/* Convert the given name to GeneralNames in a DER encoded extension.
* This is the same as subject alternative name.
*/
-int
-_gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t
- type,
- const char *othername_oid,
- const void *data,
- unsigned int data_size,
- const gnutls_datum_t * prev_der_ext,
- gnutls_datum_t * der_ext)
+int _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t type,
+ const char *othername_oid,
+ const void *data,
+ unsigned int data_size,
+ const gnutls_datum_t *prev_der_ext,
+ gnutls_datum_t *der_ext)
{
int ret;
gnutls_subject_alt_names_t sans = NULL;
@@ -827,10 +792,8 @@ _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t
if (prev_der_ext && prev_der_ext->data != NULL &&
prev_der_ext->size != 0) {
-
- ret =
- gnutls_x509_ext_import_subject_alt_names(prev_der_ext, sans,
- 0);
+ ret = gnutls_x509_ext_import_subject_alt_names(prev_der_ext,
+ sans, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -852,7 +815,7 @@ _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t
}
ret = 0;
- cleanup:
+cleanup:
if (sans != NULL)
gnutls_subject_alt_names_deinit(sans);
@@ -861,9 +824,8 @@ _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t
/* generate the AuthorityKeyID in a DER encoded extension
*/
-int
-_gnutls_x509_ext_gen_auth_key_id(const void *id, size_t id_size,
- gnutls_datum_t * der_ext)
+int _gnutls_x509_ext_gen_auth_key_id(const void *id, size_t id_size,
+ gnutls_datum_t *der_ext)
{
gnutls_x509_aki_t aki;
int ret;
@@ -889,7 +851,7 @@ _gnutls_x509_ext_gen_auth_key_id(const void *id, size_t id_size,
ret = 0;
- cleanup:
+cleanup:
gnutls_x509_aki_deinit(aki);
return ret;
}
diff --git a/lib/x509/hostname-verify.c b/lib/x509/hostname-verify.c
index fbe7f1a389..331161389f 100644
--- a/lib/x509/hostname-verify.c
+++ b/lib/x509/hostname-verify.c
@@ -43,8 +43,8 @@
*
* Returns: non-zero for a successful match, and zero on failure.
**/
-unsigned
-gnutls_x509_crt_check_hostname(gnutls_x509_crt_t cert, const char *hostname)
+unsigned gnutls_x509_crt_check_hostname(gnutls_x509_crt_t cert,
+ const char *hostname)
{
return gnutls_x509_crt_check_hostname2(cert, hostname, 0);
}
@@ -66,13 +66,12 @@ static int check_ip(gnutls_x509_crt_t cert, const void *ip, unsigned ip_size)
*/
for (i = 0; !(ret < 0); i++) {
temp_size = sizeof(temp);
- ret = gnutls_x509_crt_get_subject_alt_name(cert, i,
- temp,
+ ret = gnutls_x509_crt_get_subject_alt_name(cert, i, temp,
&temp_size, NULL);
if (ret == GNUTLS_SAN_IPADDRESS) {
- if (temp_size == ip_size
- && memcmp(temp, ip, ip_size) == 0)
+ if (temp_size == ip_size &&
+ memcmp(temp, ip, ip_size) == 0)
return 1;
} else if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
ret = 0;
@@ -97,10 +96,9 @@ static int check_ip(gnutls_x509_crt_t cert, const void *ip, unsigned ip_size)
*
* Returns: non-zero for a successful match, and zero on failure.
**/
-unsigned
-gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,
- const unsigned char *ip, unsigned int ip_size,
- unsigned int flags)
+unsigned gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,
+ const unsigned char *ip, unsigned int ip_size,
+ unsigned int flags)
{
return check_ip(cert, ip, ip_size);
}
@@ -110,7 +108,8 @@ gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,
* that we do not fallback to CN-ID if we encounter a supported name
* type.
*/
-#define IS_SAN_SUPPORTED(san) (san==GNUTLS_SAN_DNSNAME||san==GNUTLS_SAN_IPADDRESS)
+#define IS_SAN_SUPPORTED(san) \
+ (san == GNUTLS_SAN_DNSNAME || san == GNUTLS_SAN_IPADDRESS)
/**
* gnutls_x509_crt_check_hostname2:
@@ -146,9 +145,9 @@ gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,
*
* Since: 3.3.0
**/
-unsigned
-gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
- const char *hostname, unsigned int flags)
+unsigned gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
+ const char *hostname,
+ unsigned int flags)
{
char dnsname[MAX_CN];
size_t dnsnamesize;
@@ -163,9 +162,8 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
/* check whether @hostname is an ip address */
if (!(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES) &&
- ((p = strchr(hostname, ':')) != NULL
- || inet_pton(AF_INET, hostname, &ipv4) != 0)) {
-
+ ((p = strchr(hostname, ':')) != NULL ||
+ inet_pton(AF_INET, hostname, &ipv4) != 0)) {
if (p != NULL) {
struct in6_addr ipv6;
@@ -184,13 +182,13 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
return ret;
}
- hostname_fallback:
+hostname_fallback:
/* convert the provided hostname to ACE-Labels domain. */
ret = gnutls_idna_map(hostname, strlen(hostname), &out, 0);
if (ret < 0) {
- _gnutls_debug_log
- ("unable to convert hostname %s to IDNA format\n",
- hostname);
+ _gnutls_debug_log(
+ "unable to convert hostname %s to IDNA format\n",
+ hostname);
a_hostname = (char *)hostname;
} else {
a_hostname = (char *)out.data;
@@ -211,32 +209,29 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
* against all those of type dNSName.
*/
for (i = 0; !(ret < 0); i++) {
-
dnsnamesize = sizeof(dnsname);
- ret = gnutls_x509_crt_get_subject_alt_name(cert, i,
- dnsname,
+ ret = gnutls_x509_crt_get_subject_alt_name(cert, i, dnsname,
&dnsnamesize, NULL);
if (ret == GNUTLS_SAN_DNSNAME) {
found_dnsname = 1;
if (memchr(dnsname, '\0', dnsnamesize)) {
- _gnutls_debug_log
- ("certificate has %s with embedded null in name\n",
- dnsname);
+ _gnutls_debug_log(
+ "certificate has %s with embedded null in name\n",
+ dnsname);
continue;
}
if (!_gnutls_str_is_print(dnsname, dnsnamesize)) {
- _gnutls_debug_log
- ("invalid (non-ASCII) name in certificate %.*s\n",
- (int)dnsnamesize, dnsname);
+ _gnutls_debug_log(
+ "invalid (non-ASCII) name in certificate %.*s\n",
+ (int)dnsnamesize, dnsname);
continue;
}
- ret =
- _gnutls_hostname_compare(dnsname, dnsnamesize,
- a_hostname, flags);
+ ret = _gnutls_hostname_compare(dnsname, dnsnamesize,
+ a_hostname, flags);
if (ret != 0) {
ret = 1;
goto cleanup;
@@ -247,9 +242,8 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
}
}
- if (!have_other_addresses && !found_dnsname
- && _gnutls_check_key_purpose(cert, GNUTLS_KP_TLS_WWW_SERVER,
- 0) != 0) {
+ if (!have_other_addresses && !found_dnsname &&
+ _gnutls_check_key_purpose(cert, GNUTLS_KP_TLS_WWW_SERVER, 0) != 0) {
/* did not get the necessary extension, use CN instead, if the
* certificate would have been acceptable for a TLS WWW server purpose.
* That is because only for that purpose the CN is a valid field to
@@ -259,40 +253,41 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
/* enforce the RFC6125 (§1.8) requirement that only
* a single CN must be present */
dnsnamesize = sizeof(dnsname);
- ret = gnutls_x509_crt_get_dn_by_oid
- (cert, OID_X520_COMMON_NAME, 1, 0, dnsname, &dnsnamesize);
+ ret = gnutls_x509_crt_get_dn_by_oid(cert, OID_X520_COMMON_NAME,
+ 1, 0, dnsname,
+ &dnsnamesize);
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
ret = 0;
goto cleanup;
}
dnsnamesize = sizeof(dnsname);
- ret = gnutls_x509_crt_get_dn_by_oid
- (cert, OID_X520_COMMON_NAME, 0, 0, dnsname, &dnsnamesize);
+ ret = gnutls_x509_crt_get_dn_by_oid(cert, OID_X520_COMMON_NAME,
+ 0, 0, dnsname,
+ &dnsnamesize);
if (ret < 0) {
ret = 0;
goto cleanup;
}
if (memchr(dnsname, '\0', dnsnamesize)) {
- _gnutls_debug_log
- ("certificate has CN %s with embedded null in name\n",
- dnsname);
+ _gnutls_debug_log(
+ "certificate has CN %s with embedded null in name\n",
+ dnsname);
ret = 0;
goto cleanup;
}
if (!_gnutls_str_is_print(dnsname, dnsnamesize)) {
- _gnutls_debug_log
- ("invalid (non-ASCII) name in certificate CN %.*s\n",
- (int)dnsnamesize, dnsname);
+ _gnutls_debug_log(
+ "invalid (non-ASCII) name in certificate CN %.*s\n",
+ (int)dnsnamesize, dnsname);
ret = 0;
goto cleanup;
}
- ret =
- _gnutls_hostname_compare(dnsname, dnsnamesize, a_hostname,
- flags);
+ ret = _gnutls_hostname_compare(dnsname, dnsnamesize, a_hostname,
+ flags);
if (ret != 0) {
ret = 1;
goto cleanup;
@@ -302,7 +297,7 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
/* not found a matching name
*/
ret = 0;
- cleanup:
+cleanup:
if (a_hostname != hostname) {
gnutls_free(a_hostname);
}
diff --git a/lib/x509/ip-in-cidr.h b/lib/x509/ip-in-cidr.h
index 3a8c0bae8a..ea27603200 100644
--- a/lib/x509/ip-in-cidr.h
+++ b/lib/x509/ip-in-cidr.h
@@ -22,7 +22,7 @@
*/
#ifndef GNUTLS_LIB_X509_IP_IN_CIDR_H
-# define GNUTLS_LIB_X509_IP_IN_CIDR_H
+#define GNUTLS_LIB_X509_IP_IN_CIDR_H
/*-
* ip_in_cidr:
@@ -35,11 +35,10 @@
*
* Returns: 1 if @ip lies within @cidr, 0 otherwise
-*/
-static unsigned ip_in_cidr(const gnutls_datum_t * ip,
- const gnutls_datum_t * cidr)
+static unsigned ip_in_cidr(const gnutls_datum_t *ip, const gnutls_datum_t *cidr)
{
unsigned byte;
-# ifndef BUILD_IN_TESTS
+#ifndef BUILD_IN_TESTS
char str_ip[48];
char str_cidr[97];
@@ -50,14 +49,13 @@ static unsigned ip_in_cidr(const gnutls_datum_t * ip,
(int)sizeof(str_cidr),
_gnutls_cidr_to_string(cidr->data, cidr->size,
str_cidr, sizeof(str_cidr)));
-# endif
+#endif
for (byte = 0; byte < ip->size; byte++)
- if (((ip->data[byte] ^ cidr->data[byte]) & cidr->data[ip->size +
- byte]) !=
- 0)
+ if (((ip->data[byte] ^ cidr->data[byte]) &
+ cidr->data[ip->size + byte]) != 0)
return 0;
- return 1; /* match */
+ return 1; /* match */
}
-#endif /* GNUTLS_LIB_X509_IP_IN_CIDR_H */
+#endif /* GNUTLS_LIB_X509_IP_IN_CIDR_H */
diff --git a/lib/x509/ip.c b/lib/x509/ip.c
index 06d0fe90c1..536b75c101 100644
--- a/lib/x509/ip.c
+++ b/lib/x509/ip.c
@@ -97,7 +97,6 @@ int _gnutls_mask_to_prefix(const unsigned char *mask, unsigned mask_size)
const char *_gnutls_ip_to_string(const void *_ip, unsigned int ip_size,
char *out, unsigned int out_size)
{
-
if (ip_size != 4 && ip_size != 16) {
gnutls_assert();
return NULL;
@@ -223,7 +222,7 @@ int _gnutls_mask_ip(unsigned char *ip, const unsigned char *mask,
*
* Since: 3.5.4
*/
-int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t * cidr_rfc5280)
+int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t *cidr_rfc5280)
{
unsigned iplength, prefix;
int ret;
@@ -235,8 +234,8 @@ int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t * cidr_rfc5280)
if (p != NULL) {
prefix = strtol(p + 1, &p_end, 10);
if (prefix == 0 && p_end == p + 1) {
- _gnutls_debug_log
- ("Cannot parse prefix given in CIDR %s\n", cidr);
+ _gnutls_debug_log(
+ "Cannot parse prefix given in CIDR %s\n", cidr);
gnutls_assert();
return GNUTLS_E_MALFORMED_CIDR;
}
@@ -253,9 +252,9 @@ int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t * cidr_rfc5280)
return GNUTLS_E_MALFORMED_CIDR;
}
- if (strchr(cidr, ':') != 0) { /* IPv6 */
+ if (strchr(cidr, ':') != 0) { /* IPv6 */
iplength = 16;
- } else { /* IPv4 */
+ } else { /* IPv4 */
iplength = 4;
}
cidr_rfc5280->size = 2 * iplength;
@@ -273,9 +272,8 @@ int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t * cidr_rfc5280)
goto cleanup;
}
- ret =
- inet_pton(iplength == 4 ? AF_INET : AF_INET6, cidr_tmp,
- cidr_rfc5280->data);
+ ret = inet_pton(iplength == 4 ? AF_INET : AF_INET6, cidr_tmp,
+ cidr_rfc5280->data);
if (ret == 0) {
_gnutls_debug_log("Cannot parse IP from CIDR %s\n", cidr_tmp);
ret = gnutls_assert_val(GNUTLS_E_MALFORMED_CIDR);
@@ -288,7 +286,7 @@ int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t * cidr_rfc5280)
ret = GNUTLS_E_SUCCESS;
- cleanup:
+cleanup:
gnutls_free(cidr_tmp);
return ret;
}
diff --git a/lib/x509/ip.h b/lib/x509/ip.h
index 7bea20e4a3..63f3ad0182 100644
--- a/lib/x509/ip.h
+++ b/lib/x509/ip.h
@@ -22,7 +22,7 @@
*/
#ifndef GNUTLS_LIB_X509_IP_H
-# define GNUTLS_LIB_X509_IP_H
+#define GNUTLS_LIB_X509_IP_H
// for documentation, see the definition
int _gnutls_mask_to_prefix(const unsigned char *mask, unsigned mask_size);
@@ -39,4 +39,4 @@ const char *_gnutls_cidr_to_string(const void *_ip, unsigned int ip_size,
int _gnutls_mask_ip(unsigned char *ip, const unsigned char *mask,
unsigned ipsize);
-#endif /* GNUTLS_LIB_X509_IP_H */
+#endif /* GNUTLS_LIB_X509_IP_H */
diff --git a/lib/x509/key_decode.c b/lib/x509/key_decode.c
index add24b8bd9..38b3d61e0d 100644
--- a/lib/x509/key_decode.c
+++ b/lib/x509/key_decode.c
@@ -32,40 +32,38 @@
#include <num.h>
#include <ecc.h>
-static int _gnutls_x509_read_rsa_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
-static int _gnutls_x509_read_dsa_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
-static int _gnutls_x509_read_ecc_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
+static int _gnutls_x509_read_rsa_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
+static int _gnutls_x509_read_dsa_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
+static int _gnutls_x509_read_ecc_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
static int _gnutls_x509_read_eddsa_pubkey(gnutls_ecc_curve_t curve,
- uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
-static int _gnutls_x509_read_ecdh_pubkey(gnutls_ecc_curve_t curve,
- uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
-static int _gnutls_x509_read_gost_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
-
-static int
-_gnutls_x509_read_dsa_params(uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
+ uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
+static int _gnutls_x509_read_ecdh_pubkey(gnutls_ecc_curve_t curve, uint8_t *der,
+ int dersize,
+ gnutls_pk_params_st *params);
+static int _gnutls_x509_read_gost_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
+
+static int _gnutls_x509_read_dsa_params(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
/*
* some x509 certificate parsing functions that relate to MPI parameter
* extraction. This reads the BIT STRING subjectPublicKey.
* Returns 2 parameters (m,e). It does not set params_nr.
*/
-int
-_gnutls_x509_read_rsa_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+int _gnutls_x509_read_rsa_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params)
{
int result;
asn1_node spk = NULL;
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.RSAPublicKey", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.RSAPublicKey", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -84,8 +82,8 @@ _gnutls_x509_read_rsa_pubkey(uint8_t * der, int dersize,
return GNUTLS_E_ASN1_GENERIC_ERROR;
}
- if (_gnutls_x509_read_int(spk, "publicExponent",
- &params->params[1]) < 0) {
+ if (_gnutls_x509_read_int(spk, "publicExponent", &params->params[1]) <
+ 0) {
gnutls_assert();
_gnutls_mpi_release(&params->params[0]);
asn1_delete_structure(&spk);
@@ -95,7 +93,6 @@ _gnutls_x509_read_rsa_pubkey(uint8_t * der, int dersize,
asn1_delete_structure(&spk);
return 0;
-
}
/*
@@ -103,21 +100,18 @@ _gnutls_x509_read_rsa_pubkey(uint8_t * der, int dersize,
* extraction. This reads the BIT STRING subjectPublicKey.
* Returns 2 parameters (m,e). It does not set params_nr.
*/
-int
-_gnutls_x509_read_ecc_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+int _gnutls_x509_read_ecc_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params)
{
/* RFC5480 defines the public key to be an ECPoint (i.e. OCTET STRING),
* Then it says that the OCTET STRING _value_ is converted to BIT STRING.
* That means that the value we place there is the raw X9.62 one. */
- return _gnutls_ecc_ansi_x962_import(der, dersize,
- &params->params[ECC_X],
- &params->params[ECC_Y]);
+ return _gnutls_ecc_ansi_x962_import(
+ der, dersize, &params->params[ECC_X], &params->params[ECC_Y]);
}
-int _gnutls_x509_read_eddsa_pubkey(gnutls_ecc_curve_t curve,
- uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+int _gnutls_x509_read_eddsa_pubkey(gnutls_ecc_curve_t curve, uint8_t *der,
+ int dersize, gnutls_pk_params_st *params)
{
int size = gnutls_ecc_curve_get_size(curve);
if (dersize != size)
@@ -126,9 +120,8 @@ int _gnutls_x509_read_eddsa_pubkey(gnutls_ecc_curve_t curve,
return _gnutls_set_datum(&params->raw_pub, der, dersize);
}
-int _gnutls_x509_read_ecdh_pubkey(gnutls_ecc_curve_t curve,
- uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+int _gnutls_x509_read_ecdh_pubkey(gnutls_ecc_curve_t curve, uint8_t *der,
+ int dersize, gnutls_pk_params_st *params)
{
int size = gnutls_ecc_curve_get_size(curve);
if (dersize != size)
@@ -139,9 +132,8 @@ int _gnutls_x509_read_ecdh_pubkey(gnutls_ecc_curve_t curve,
/* Pubkey is a concatenation of X (in little endian) and Y (also LE)
* encoded into OCTET STRING. */
-static int
-_gnutls_x509_read_gost_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+static int _gnutls_x509_read_gost_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params)
{
int ret;
int len;
@@ -182,15 +174,14 @@ _gnutls_x509_read_gost_pubkey(uint8_t * der, int dersize,
* from the certificate (subjectPublicKey BIT STRING).
* params[0-2]. It does NOT set params_nr.
*/
-static int
-_gnutls_x509_read_dsa_params(uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+static int _gnutls_x509_read_dsa_params(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params)
{
int result;
asn1_node spk = NULL;
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.Dss-Parms", &spk)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Dss-Parms",
+ &spk)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -237,27 +228,25 @@ _gnutls_x509_read_dsa_params(uint8_t * der, int dersize,
asn1_delete_structure(&spk);
- params->params_nr = 3; /* public key is missing */
+ params->params_nr = 3; /* public key is missing */
params->algo = GNUTLS_PK_DSA;
return 0;
-
}
/* reads the curve from the certificate.
* params[0-4]. It does NOT set params_nr.
*/
-int
-_gnutls_x509_read_ecc_params(uint8_t * der, int dersize, unsigned int *curve)
+int _gnutls_x509_read_ecc_params(uint8_t *der, int dersize, unsigned int *curve)
{
int ret;
asn1_node spk = NULL;
char oid[MAX_OID_SIZE];
int oid_size;
- if ((ret = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.ECParameters",
- &spk)) != ASN1_SUCCESS) {
+ if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.ECParameters", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
@@ -289,19 +278,17 @@ _gnutls_x509_read_ecc_params(uint8_t * der, int dersize, unsigned int *curve)
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return ret;
-
}
/* Reads RSA-PSS parameters.
*/
-int
-_gnutls_x509_read_rsa_pss_params(uint8_t * der, int dersize,
- gnutls_x509_spki_st * params)
+int _gnutls_x509_read_rsa_pss_params(uint8_t *der, int dersize,
+ gnutls_x509_spki_st *params)
{
int result;
asn1_node spk = NULL;
@@ -312,9 +299,9 @@ _gnutls_x509_read_rsa_pss_params(uint8_t * der, int dersize,
unsigned int trailer;
gnutls_datum_t value = { NULL, 0 };
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.RSAPSSParameters", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.RSAPSSParameters", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -363,24 +350,23 @@ _gnutls_x509_read_rsa_pss_params(uint8_t * der, int dersize,
/* Check if maskGenAlgorithm.parameters does exist and
* is identical to hashAlgorithm */
- result =
- _gnutls_x509_read_value(spk, "maskGenAlgorithm.parameters",
- &value);
+ result = _gnutls_x509_read_value(
+ spk, "maskGenAlgorithm.parameters", &value);
if (result < 0) {
gnutls_assert();
goto cleanup;
}
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.AlgorithmIdentifier", &c2))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.AlgorithmIdentifier",
+ &c2)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- _asn1_strict_der_decode(&c2, value.data, value.size, NULL);
+ result = _asn1_strict_der_decode(&c2, value.data, value.size,
+ NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -439,7 +425,7 @@ _gnutls_x509_read_rsa_pss_params(uint8_t * der, int dersize,
}
result = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&value);
asn1_delete_structure(&c2);
asn1_delete_structure(&spk);
@@ -449,10 +435,9 @@ _gnutls_x509_read_rsa_pss_params(uint8_t * der, int dersize,
/* reads the curve from the certificate.
* It does NOT set params_nr.
*/
-int
-_gnutls_x509_read_gost_params(uint8_t * der, int dersize,
- gnutls_pk_params_st * params,
- gnutls_pk_algorithm_t algo)
+int _gnutls_x509_read_gost_params(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params,
+ gnutls_pk_algorithm_t algo)
{
int ret;
asn1_node spk = NULL;
@@ -463,8 +448,8 @@ _gnutls_x509_read_gost_params(uint8_t * der, int dersize,
if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
algo == GNUTLS_PK_GOST_01 ?
- "GNUTLS.GOSTParametersOld" :
- "GNUTLS.GOSTParameters",
+ "GNUTLS.GOSTParametersOld" :
+ "GNUTLS.GOSTParameters",
&spk)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
@@ -528,18 +513,17 @@ _gnutls_x509_read_gost_params(uint8_t * der, int dersize,
params->gost_params = param;
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return ret;
-
}
/* This function must be called after _gnutls_x509_read_params()
*/
-int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t algo, uint8_t * der,
- int dersize, gnutls_pk_params_st * params)
+int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t algo, uint8_t *der,
+ int dersize, gnutls_pk_params_st *params)
{
int ret;
@@ -553,7 +537,8 @@ int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t algo, uint8_t * der,
}
break;
case GNUTLS_PK_DSA:
- if (params->params_nr != 3) /* _gnutls_x509_read_pubkey_params must have been called */
+ if (params->params_nr !=
+ 3) /* _gnutls_x509_read_pubkey_params must have been called */
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
ret = _gnutls_x509_read_dsa_pubkey(der, dersize, params);
@@ -570,24 +555,20 @@ int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t algo, uint8_t * der,
}
break;
case GNUTLS_PK_EDDSA_ED25519:
- ret =
- _gnutls_x509_read_eddsa_pubkey(GNUTLS_ECC_CURVE_ED25519,
- der, dersize, params);
+ ret = _gnutls_x509_read_eddsa_pubkey(GNUTLS_ECC_CURVE_ED25519,
+ der, dersize, params);
break;
case GNUTLS_PK_EDDSA_ED448:
- ret =
- _gnutls_x509_read_eddsa_pubkey(GNUTLS_ECC_CURVE_ED448, der,
- dersize, params);
+ ret = _gnutls_x509_read_eddsa_pubkey(GNUTLS_ECC_CURVE_ED448,
+ der, dersize, params);
break;
case GNUTLS_PK_ECDH_X25519:
- ret =
- _gnutls_x509_read_ecdh_pubkey(GNUTLS_ECC_CURVE_X25519, der,
- dersize, params);
+ ret = _gnutls_x509_read_ecdh_pubkey(GNUTLS_ECC_CURVE_X25519,
+ der, dersize, params);
break;
case GNUTLS_PK_ECDH_X448:
- ret =
- _gnutls_x509_read_ecdh_pubkey(GNUTLS_ECC_CURVE_X448, der,
- dersize, params);
+ ret = _gnutls_x509_read_ecdh_pubkey(GNUTLS_ECC_CURVE_X448, der,
+ dersize, params);
break;
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
@@ -607,9 +588,8 @@ int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t algo, uint8_t * der,
/* This function must be called prior to _gnutls_x509_read_pubkey()
*/
-int _gnutls_x509_read_pubkey_params(gnutls_pk_algorithm_t algo,
- uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+int _gnutls_x509_read_pubkey_params(gnutls_pk_algorithm_t algo, uint8_t *der,
+ int dersize, gnutls_pk_params_st *params)
{
switch (algo) {
case GNUTLS_PK_RSA:
@@ -636,33 +616,31 @@ int _gnutls_x509_read_pubkey_params(gnutls_pk_algorithm_t algo,
/* This function must be called after _gnutls_x509_read_pubkey()
*/
-int _gnutls_x509_check_pubkey_params(gnutls_pk_params_st * params)
+int _gnutls_x509_check_pubkey_params(gnutls_pk_params_st *params)
{
switch (params->algo) {
- case GNUTLS_PK_RSA_PSS:{
- unsigned bits;
- const mac_entry_st *me;
- size_t hash_size;
-
- if (params->spki.pk == GNUTLS_PK_UNKNOWN) /* no params present */
- return 0;
-
- bits = pubkey_to_bits(params);
-
- me = hash_to_entry(params->spki.rsa_pss_dig);
- if (unlikely(me == NULL))
- return
- gnutls_assert_val
- (GNUTLS_E_PK_INVALID_PUBKEY_PARAMS);
-
- hash_size = _gnutls_hash_get_algo_len(me);
- if (hash_size + params->spki.salt_size + 2 >
- (bits + 7) / 8)
- return
- gnutls_assert_val
- (GNUTLS_E_PK_INVALID_PUBKEY_PARAMS);
+ case GNUTLS_PK_RSA_PSS: {
+ unsigned bits;
+ const mac_entry_st *me;
+ size_t hash_size;
+
+ if (params->spki.pk ==
+ GNUTLS_PK_UNKNOWN) /* no params present */
return 0;
- }
+
+ bits = pubkey_to_bits(params);
+
+ me = hash_to_entry(params->spki.rsa_pss_dig);
+ if (unlikely(me == NULL))
+ return gnutls_assert_val(
+ GNUTLS_E_PK_INVALID_PUBKEY_PARAMS);
+
+ hash_size = _gnutls_hash_get_algo_len(me);
+ if (hash_size + params->spki.salt_size + 2 > (bits + 7) / 8)
+ return gnutls_assert_val(
+ GNUTLS_E_PK_INVALID_PUBKEY_PARAMS);
+ return 0;
+ }
case GNUTLS_PK_RSA:
case GNUTLS_PK_DSA:
case GNUTLS_PK_ECDSA:
@@ -683,9 +661,8 @@ int _gnutls_x509_check_pubkey_params(gnutls_pk_params_st * params)
* from the certificate
* only sets params[3]
*/
-int
-_gnutls_x509_read_dsa_pubkey(uint8_t * der, int dersize,
- gnutls_pk_params_st * params)
+int _gnutls_x509_read_dsa_pubkey(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params)
{
return _gnutls_x509_read_der_int(der, dersize, &params->params[3]);
}
diff --git a/lib/x509/key_encode.c b/lib/x509/key_encode.c
index 4aa493b7cc..0d26d3ce36 100644
--- a/lib/x509/key_encode.c
+++ b/lib/x509/key_encode.c
@@ -33,16 +33,16 @@
#include <mpi.h>
#include <ecc.h>
-static int _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
-static int _gnutls_x509_write_dsa_params(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
-static int _gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
-static int _gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
-static int _gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
+static int _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
+static int _gnutls_x509_write_dsa_params(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
+static int _gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
+static int _gnutls_x509_write_gost_params(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
+static int _gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
/*
* some x509 certificate functions that relate to MPI parameter
@@ -51,9 +51,8 @@ static int _gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st * params,
*
* Allocates the space used to store the DER data.
*/
-static int
-_gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+static int _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
int result;
asn1_node spk = NULL;
@@ -67,9 +66,9 @@ _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st * params,
goto cleanup;
}
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.RSAPublicKey", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.RSAPublicKey", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -80,8 +79,8 @@ _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st * params,
goto cleanup;
}
- result =
- _gnutls_x509_write_int(spk, "publicExponent", params->params[1], 1);
+ result = _gnutls_x509_write_int(spk, "publicExponent",
+ params->params[1], 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -95,7 +94,7 @@ _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st * params,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
@@ -107,9 +106,8 @@ _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st * params,
*
* Allocates the space used to store the DER data.
*/
-int
-_gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+int _gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
int result;
@@ -119,7 +117,9 @@ _gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st * params,
if (params->params_nr < ECC_PUBLIC_PARAMS)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- result = _gnutls_ecc_ansi_x962_export(params->curve, params->params[ECC_X], params->params[ECC_Y], /*&out */
+ result = _gnutls_ecc_ansi_x962_export(params->curve,
+ params->params[ECC_X],
+ params->params[ECC_Y], /*&out */
der);
if (result < 0)
return gnutls_assert_val(result);
@@ -133,9 +133,8 @@ _gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st * params,
*
* Allocates the space used to store the data.
*/
-int
-_gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * raw)
+int _gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *raw)
{
int ret;
@@ -149,8 +148,8 @@ _gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st * params,
params->curve != GNUTLS_ECC_CURVE_ED448)
return gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- ret =
- _gnutls_set_datum(raw, params->raw_pub.data, params->raw_pub.size);
+ ret = _gnutls_set_datum(raw, params->raw_pub.data,
+ params->raw_pub.size);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -164,8 +163,8 @@ _gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st * params,
* Allocates the space used to store the data.
*/
static int
-_gnutls_x509_write_modern_ecdh_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * raw)
+_gnutls_x509_write_modern_ecdh_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *raw)
{
int ret;
@@ -179,17 +178,16 @@ _gnutls_x509_write_modern_ecdh_pubkey(const gnutls_pk_params_st * params,
params->curve != GNUTLS_ECC_CURVE_X448)
return gnutls_assert_val(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
- ret =
- _gnutls_set_datum(raw, params->raw_pub.data, params->raw_pub.size);
+ ret = _gnutls_set_datum(raw, params->raw_pub.data,
+ params->raw_pub.size);
if (ret < 0)
return gnutls_assert_val(ret);
return 0;
}
-int
-_gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+int _gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
bigint_t x, y;
int numlen;
@@ -254,14 +252,13 @@ _gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st * params,
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(der);
return ret;
}
-int
-_gnutls_x509_write_pubkey_params(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+int _gnutls_x509_write_pubkey_params(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
switch (params->algo) {
case GNUTLS_PK_DSA:
@@ -295,9 +292,8 @@ _gnutls_x509_write_pubkey_params(const gnutls_pk_params_st * params,
}
}
-int
-_gnutls_x509_write_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+int _gnutls_x509_write_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
switch (params->algo) {
case GNUTLS_PK_DSA:
@@ -328,9 +324,8 @@ _gnutls_x509_write_pubkey(const gnutls_pk_params_st * params,
*
* Allocates the space used to store the DER data.
*/
-static int
-_gnutls_x509_write_dsa_params(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+static int _gnutls_x509_write_dsa_params(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
int result;
asn1_node spk = NULL;
@@ -344,9 +339,9 @@ _gnutls_x509_write_dsa_params(const gnutls_pk_params_st * params,
goto cleanup;
}
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DSAParameters", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAParameters", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -377,7 +372,7 @@ _gnutls_x509_write_dsa_params(const gnutls_pk_params_st * params,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
}
@@ -388,9 +383,8 @@ _gnutls_x509_write_dsa_params(const gnutls_pk_params_st * params,
*
* Allocates the space used to store the DER data.
*/
-int
-_gnutls_x509_write_ecc_params(const gnutls_ecc_curve_t curve,
- gnutls_datum_t * der)
+int _gnutls_x509_write_ecc_params(const gnutls_ecc_curve_t curve,
+ gnutls_datum_t *der)
{
int result;
asn1_node spk = NULL;
@@ -403,22 +397,22 @@ _gnutls_x509_write_ecc_params(const gnutls_ecc_curve_t curve,
if (oid == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.ECParameters", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.ECParameters", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- if ((result =
- asn1_write_value(spk, "", "namedCurve", 1)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "", "namedCurve", 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result =
- asn1_write_value(spk, "namedCurve", oid, 1)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "namedCurve", oid, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -432,14 +426,13 @@ _gnutls_x509_write_ecc_params(const gnutls_ecc_curve_t curve,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
}
-int
-_gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st * params,
- gnutls_datum_t * der)
+int _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st *params,
+ gnutls_datum_t *der)
{
int result;
asn1_node spk = NULL;
@@ -458,9 +451,9 @@ _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st * params,
GNUTLS_SIGN_UNKNOWN)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.RSAPSSParameters", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.RSAPSSParameters", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -468,47 +461,45 @@ _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st * params,
oid = gnutls_digest_get_oid(params->rsa_pss_dig);
- if ((result = asn1_write_value(spk, "hashAlgorithm.algorithm", oid, 1))
- != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "hashAlgorithm.algorithm", oid,
+ 1)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result =
- asn1_write_value(spk, "hashAlgorithm.parameters", NULL, 0))
- != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "hashAlgorithm.parameters", NULL,
+ 0)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result =
- asn1_write_value(spk, "maskGenAlgorithm.algorithm",
- PKIX1_RSA_PSS_MGF1_OID, 1))
- != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "maskGenAlgorithm.algorithm",
+ PKIX1_RSA_PSS_MGF1_OID, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.AlgorithmIdentifier", &c2))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.AlgorithmIdentifier", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result = asn1_write_value(c2, "algorithm", oid, 1))
- != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(c2, "algorithm", oid, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result = asn1_write_value(c2, "parameters", NULL, 0))
- != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(c2, "parameters", NULL, 0)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -520,17 +511,15 @@ _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st * params,
goto cleanup;
}
- if ((result =
- asn1_write_value(spk, "maskGenAlgorithm.parameters",
- tmp.data, tmp.size))
- != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "maskGenAlgorithm.parameters",
+ tmp.data, tmp.size)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result = _gnutls_x509_write_uint32(spk, "saltLength",
- params->salt_size);
+ result =
+ _gnutls_x509_write_uint32(spk, "saltLength", params->salt_size);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -550,16 +539,15 @@ _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st * params,
result = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&tmp);
asn1_delete_structure(&c2);
asn1_delete_structure(&spk);
return result;
}
-static int
-_gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+static int _gnutls_x509_write_gost_params(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
int result;
asn1_node spk = NULL;
@@ -572,18 +560,17 @@ _gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
if (oid == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(),
- params->algo == GNUTLS_PK_GOST_01 ?
- "GNUTLS.GOSTParametersOld" : "GNUTLS.GOSTParameters", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ params->algo == GNUTLS_PK_GOST_01 ?
+ "GNUTLS.GOSTParametersOld" :
+ "GNUTLS.GOSTParameters",
+ &spk)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- if ((result =
- asn1_write_value(spk, "publicKeyParamSet", oid,
- 1)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "publicKeyParamSet", oid, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -608,9 +595,8 @@ _gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
else
oid = NULL;
- if ((result =
- asn1_write_value(spk, "digestParamSet", oid,
- oid ? 1 : 0)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "digestParamSet", oid,
+ oid ? 1 : 0)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -628,9 +614,8 @@ _gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
_gnutls_gost_paramset_default(params->algo))
oid = NULL;
- if ((result =
- asn1_write_value(spk, "encryptionParamSet", oid,
- oid ? 1 : 0)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(spk, "encryptionParamSet", oid,
+ oid ? 1 : 0)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -645,7 +630,7 @@ _gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
}
@@ -656,9 +641,8 @@ _gnutls_x509_write_gost_params(const gnutls_pk_params_st * params,
*
* Allocates the space used to store the DER data.
*/
-static int
-_gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der)
+static int _gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der)
{
int result;
asn1_node spk = NULL;
@@ -672,9 +656,9 @@ _gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st * params,
goto cleanup;
}
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DSAPublicKey", &spk))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAPublicKey", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -693,14 +677,14 @@ _gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st * params,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&spk);
return result;
}
/* Encodes the RSA parameters into an ASN.1 RSA private key structure.
*/
-static int _gnutls_asn1_encode_rsa(asn1_node * c2, gnutls_pk_params_st * params)
+static int _gnutls_asn1_encode_rsa(asn1_node *c2, gnutls_pk_params_st *params)
{
int result, ret;
uint8_t null = '\0';
@@ -731,9 +715,9 @@ static int _gnutls_asn1_encode_rsa(asn1_node * c2, gnutls_pk_params_st * params)
*c2 = NULL;
}
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.RSAPrivateKey", c2))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.RSAPrivateKey", c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
@@ -741,79 +725,71 @@ static int _gnutls_asn1_encode_rsa(asn1_node * c2, gnutls_pk_params_st * params)
/* Write PRIME
*/
- ret =
- _gnutls_x509_write_int(*c2, "modulus",
- params->params[RSA_MODULUS], 1);
+ ret = _gnutls_x509_write_int(*c2, "modulus",
+ params->params[RSA_MODULUS], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_int(*c2, "publicExponent",
- params->params[RSA_PUB], 1);
+ ret = _gnutls_x509_write_int(*c2, "publicExponent",
+ params->params[RSA_PUB], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_key_int(*c2, "privateExponent",
- params->params[RSA_PRIV], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "privateExponent",
+ params->params[RSA_PRIV], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_key_int(*c2, "prime1",
- params->params[RSA_PRIME1], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "prime1",
+ params->params[RSA_PRIME1], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_key_int(*c2, "prime2",
- params->params[RSA_PRIME2], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "prime2",
+ params->params[RSA_PRIME2], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_key_int(*c2, "coefficient",
- params->params[RSA_COEF], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "coefficient",
+ params->params[RSA_COEF], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_key_int(*c2, "exponent1",
- params->params[RSA_E1], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "exponent1",
+ params->params[RSA_E1], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_x509_write_key_int(*c2, "exponent2",
- params->params[RSA_E2], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "exponent2",
+ params->params[RSA_E2], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- if ((result = asn1_write_value(*c2, "otherPrimeInfos",
- NULL, 0)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(*c2, "otherPrimeInfos", NULL, 0)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- if ((result =
- asn1_write_value(*c2, "version", &null, 1)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(*c2, "version", &null, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
@@ -821,7 +797,7 @@ static int _gnutls_asn1_encode_rsa(asn1_node * c2, gnutls_pk_params_st * params)
ret = 0;
- cleanup:
+cleanup:
if (ret < 0)
asn1_delete_structure2(c2, ASN1_DELETE_FLAG_ZEROIZE);
@@ -832,7 +808,7 @@ static int _gnutls_asn1_encode_rsa(asn1_node * c2, gnutls_pk_params_st * params)
/* Encodes the ECC parameters into an ASN.1 ECPrivateKey structure.
*/
-static int _gnutls_asn1_encode_ecc(asn1_node * c2, gnutls_pk_params_st * params)
+static int _gnutls_asn1_encode_ecc(asn1_node *c2, gnutls_pk_params_st *params)
{
int ret;
uint8_t one = '\x01';
@@ -849,9 +825,9 @@ static int _gnutls_asn1_encode_ecc(asn1_node * c2, gnutls_pk_params_st * params)
*c2 = NULL;
}
- if ((ret = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.ECPrivateKey", c2))
- != ASN1_SUCCESS) {
+ if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.ECPrivateKey", c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -867,18 +843,16 @@ static int _gnutls_asn1_encode_ecc(asn1_node * c2, gnutls_pk_params_st * params)
curve_is_modern_ecdh(params->curve)) {
if (params->raw_pub.size == 0 || params->raw_priv.size == 0)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- asn1_write_value(*c2, "privateKey", params->raw_priv.data,
- params->raw_priv.size);
+ ret = asn1_write_value(*c2, "privateKey", params->raw_priv.data,
+ params->raw_priv.size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
}
- ret =
- asn1_write_value(*c2, "publicKey", params->raw_pub.data,
- params->raw_pub.size * 8);
+ ret = asn1_write_value(*c2, "publicKey", params->raw_pub.data,
+ params->raw_pub.size * 8);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -888,25 +862,22 @@ static int _gnutls_asn1_encode_ecc(asn1_node * c2, gnutls_pk_params_st * params)
if (params->params_nr != ECC_PRIVATE_PARAMS)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- _gnutls_ecc_ansi_x962_export(params->curve,
- params->params[ECC_X],
- params->params[ECC_Y],
- &pubkey);
+ ret = _gnutls_ecc_ansi_x962_export(params->curve,
+ params->params[ECC_X],
+ params->params[ECC_Y],
+ &pubkey);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_x509_write_key_int(*c2, "privateKey",
- params->params[ECC_K], 1);
+ ret = _gnutls_x509_write_key_int(*c2, "privateKey",
+ params->params[ECC_K], 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- if ((ret =
- asn1_write_value(*c2, "publicKey", pubkey.data,
- pubkey.size * 8)) != ASN1_SUCCESS) {
+ if ((ret = asn1_write_value(*c2, "publicKey", pubkey.data,
+ pubkey.size * 8)) != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -914,17 +885,15 @@ static int _gnutls_asn1_encode_ecc(asn1_node * c2, gnutls_pk_params_st * params)
}
/* write our choice */
- if ((ret =
- asn1_write_value(*c2, "parameters", "namedCurve",
- 1)) != ASN1_SUCCESS) {
+ if ((ret = asn1_write_value(*c2, "parameters", "namedCurve", 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
}
- if ((ret =
- asn1_write_value(*c2, "parameters.namedCurve", oid,
- 1)) != ASN1_SUCCESS) {
+ if ((ret = asn1_write_value(*c2, "parameters.namedCurve", oid, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -933,15 +902,14 @@ static int _gnutls_asn1_encode_ecc(asn1_node * c2, gnutls_pk_params_st * params)
_gnutls_free_datum(&pubkey);
return 0;
- cleanup:
+cleanup:
asn1_delete_structure2(c2, ASN1_DELETE_FLAG_ZEROIZE);
_gnutls_free_datum(&pubkey);
return ret;
}
-static int
-_gnutls_asn1_encode_gost(asn1_node * c2, gnutls_pk_params_st * params)
+static int _gnutls_asn1_encode_gost(asn1_node *c2, gnutls_pk_params_st *params)
{
int ret;
const char *oid;
@@ -957,9 +925,9 @@ _gnutls_asn1_encode_gost(asn1_node * c2, gnutls_pk_params_st * params)
*c2 = NULL;
}
- if ((ret = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.GOSTPrivateKey", c2))
- != ASN1_SUCCESS) {
+ if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.GOSTPrivateKey", c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -973,7 +941,7 @@ _gnutls_asn1_encode_gost(asn1_node * c2, gnutls_pk_params_st * params)
return 0;
- cleanup:
+cleanup:
asn1_delete_structure2(c2, ASN1_DELETE_FLAG_ZEROIZE);
return ret;
@@ -981,7 +949,7 @@ _gnutls_asn1_encode_gost(asn1_node * c2, gnutls_pk_params_st * params)
/* Encodes the DSA parameters into an ASN.1 DSAPrivateKey structure.
*/
-static int _gnutls_asn1_encode_dsa(asn1_node * c2, gnutls_pk_params_st * params)
+static int _gnutls_asn1_encode_dsa(asn1_node *c2, gnutls_pk_params_st *params)
{
int result, ret;
const uint8_t null = '\0';
@@ -992,9 +960,9 @@ static int _gnutls_asn1_encode_dsa(asn1_node * c2, gnutls_pk_params_st * params)
*c2 = NULL;
}
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DSAPrivateKey", c2))
- != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAPrivateKey", c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1031,8 +999,8 @@ static int _gnutls_asn1_encode_dsa(asn1_node * c2, gnutls_pk_params_st * params)
goto cleanup;
}
- if ((result =
- asn1_write_value(*c2, "version", &null, 1)) != ASN1_SUCCESS) {
+ if ((result = asn1_write_value(*c2, "version", &null, 1)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
@@ -1040,13 +1008,13 @@ static int _gnutls_asn1_encode_dsa(asn1_node * c2, gnutls_pk_params_st * params)
return 0;
- cleanup:
+cleanup:
asn1_delete_structure2(c2, ASN1_DELETE_FLAG_ZEROIZE);
return ret;
}
-int _gnutls_asn1_encode_privkey(asn1_node * c2, gnutls_pk_params_st * params)
+int _gnutls_asn1_encode_privkey(asn1_node *c2, gnutls_pk_params_st *params)
{
switch (params->algo) {
case GNUTLS_PK_RSA:
diff --git a/lib/x509/krb5.c b/lib/x509/krb5.c
index b26d07dfcb..bf287d1d72 100644
--- a/lib/x509/krb5.c
+++ b/lib/x509/krb5.c
@@ -43,7 +43,7 @@ typedef struct krb5_principal_data {
extern const asn1_static_node krb5_asn1_tab[];
-static void cleanup_principal(krb5_principal_data * princ)
+static void cleanup_principal(krb5_principal_data *princ)
{
unsigned i;
if (princ) {
@@ -91,9 +91,9 @@ static krb5_principal_data *name_to_principal(const char *_name)
p = strtok_r(name, "/", &sp);
while (p) {
if (pos == MAX_COMPONENTS) {
- _gnutls_debug_log
- ("%s: Cannot parse names with more than %d components\n",
- __func__, MAX_COMPONENTS);
+ _gnutls_debug_log(
+ "%s: Cannot parse names with more than %d components\n",
+ __func__, MAX_COMPONENTS);
goto fail;
}
@@ -109,13 +109,13 @@ static krb5_principal_data *name_to_principal(const char *_name)
p = strtok_r(NULL, "/", &sp);
}
- if ((princ->length == 2)
- && (strcmp(princ->data[0], "krbtgt") == 0)) {
- princ->type = 2; /* KRB_NT_SRV_INST */
+ if ((princ->length == 2) &&
+ (strcmp(princ->data[0], "krbtgt") == 0)) {
+ princ->type = 2; /* KRB_NT_SRV_INST */
} else {
- princ->type = 1; /* KRB_NT_PRINCIPAL */
+ princ->type = 1; /* KRB_NT_PRINCIPAL */
}
- } else { /* enterprise */
+ } else { /* enterprise */
princ->data[0] = gnutls_strdup(name);
if (princ->data[0] == NULL) {
gnutls_assert();
@@ -123,20 +123,20 @@ static krb5_principal_data *name_to_principal(const char *_name)
}
princ->length++;
- princ->type = 10; /* KRB_NT_ENTERPRISE */
+ princ->type = 10; /* KRB_NT_ENTERPRISE */
}
goto cleanup;
- fail:
+fail:
cleanup_principal(princ);
princ = NULL;
- cleanup:
+cleanup:
gnutls_free(name);
return princ;
}
-int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t * der)
+int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t *der)
{
int ret, result;
asn1_node c2 = NULL;
@@ -150,25 +150,24 @@ int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t * der)
goto cleanup;
}
- result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.KRB5PrincipalName", &c2);
+ result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.KRB5PrincipalName", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2, "realm", princ->realm, strlen(princ->realm));
+ result = asn1_write_value(c2, "realm", princ->realm,
+ strlen(princ->realm));
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2, "principalName.name-type", &princ->type, 1);
+ result = asn1_write_value(c2, "principalName.name-type", &princ->type,
+ 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -176,18 +175,17 @@ int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t * der)
}
for (i = 0; i < princ->length; i++) {
- result =
- asn1_write_value(c2, "principalName.name-string", "NEW", 1);
+ result = asn1_write_value(c2, "principalName.name-string",
+ "NEW", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2,
- "principalName.name-string.?LAST",
- princ->data[i], strlen(princ->data[i]));
+ result = asn1_write_value(c2, "principalName.name-string.?LAST",
+ princ->data[i],
+ strlen(princ->data[i]));
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -202,13 +200,13 @@ int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t * der)
}
ret = 0;
- cleanup:
+cleanup:
cleanup_principal(princ);
asn1_delete_structure(&c2);
return ret;
}
-static int principal_to_str(asn1_node c2, gnutls_buffer_st * str)
+static int principal_to_str(asn1_node c2, gnutls_buffer_st *str)
{
gnutls_datum_t realm = { NULL, 0 };
gnutls_datum_t component = { NULL, 0 };
@@ -225,15 +223,15 @@ static int principal_to_str(asn1_node c2, gnutls_buffer_st * str)
len = sizeof(name_type);
result =
- asn1_read_value(c2, "principalName.name-type", name_type, &len);
+ asn1_read_value(c2, "principalName.name-type", name_type, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- if (len != 1
- || (name_type[0] != 1 && name_type[0] != 2 && name_type[0] != 10)) {
+ if (len != 1 ||
+ (name_type[0] != 1 && name_type[0] != 2 && name_type[0] != 10)) {
ret = GNUTLS_E_INVALID_REQUEST;
goto cleanup;
}
@@ -242,8 +240,8 @@ static int principal_to_str(asn1_node c2, gnutls_buffer_st * str)
snprintf(val, sizeof(val), "principalName.name-string.?%u",
i + 1);
ret = _gnutls_x509_read_value(c2, val, &component);
- if (ret == GNUTLS_E_ASN1_VALUE_NOT_FOUND
- || ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
+ if (ret == GNUTLS_E_ASN1_VALUE_NOT_FOUND ||
+ ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
break;
if (ret < 0) {
gnutls_assert();
@@ -258,9 +256,8 @@ static int principal_to_str(asn1_node c2, gnutls_buffer_st * str)
}
}
- ret =
- _gnutls_buffer_append_data(str, component.data,
- component.size);
+ ret = _gnutls_buffer_append_data(str, component.data,
+ component.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -282,14 +279,14 @@ static int principal_to_str(asn1_node c2, gnutls_buffer_st * str)
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&component);
gnutls_free(realm.data);
return ret;
}
-int _gnutls_krb5_der_to_principal(const gnutls_datum_t * der,
- gnutls_datum_t * name)
+int _gnutls_krb5_der_to_principal(const gnutls_datum_t *der,
+ gnutls_datum_t *name)
{
int ret, result;
asn1_node c2 = NULL;
@@ -297,9 +294,8 @@ int _gnutls_krb5_der_to_principal(const gnutls_datum_t * der,
_gnutls_buffer_init(&str);
- result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.KRB5PrincipalName", &c2);
+ result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.KRB5PrincipalName", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -331,7 +327,7 @@ int _gnutls_krb5_der_to_principal(const gnutls_datum_t * der,
asn1_delete_structure(&c2);
return _gnutls_buffer_to_datum(&str, name, 1);
- cleanup:
+cleanup:
_gnutls_buffer_clear(&str);
asn1_delete_structure(&c2);
return ret;
diff --git a/lib/x509/krb5.h b/lib/x509/krb5.h
index da9f07b8c0..1267a414ce 100644
--- a/lib/x509/krb5.h
+++ b/lib/x509/krb5.h
@@ -21,10 +21,10 @@
*/
#ifndef GNUTLS_LIB_X509_KRB5_H
-# define GNUTLS_LIB_X509_KRB5_H
+#define GNUTLS_LIB_X509_KRB5_H
-int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t * der);
-int _gnutls_krb5_der_to_principal(const gnutls_datum_t * der,
- gnutls_datum_t * name);
+int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t *der);
+int _gnutls_krb5_der_to_principal(const gnutls_datum_t *der,
+ gnutls_datum_t *name);
-#endif /* GNUTLS_LIB_X509_KRB5_H */
+#endif /* GNUTLS_LIB_X509_KRB5_H */
diff --git a/lib/x509/mpi.c b/lib/x509/mpi.c
index c696d89936..f96624a15b 100644
--- a/lib/x509/mpi.c
+++ b/lib/x509/mpi.c
@@ -34,15 +34,15 @@
/* Reads an Integer from the DER encoded data
*/
-int _gnutls_x509_read_der_int(uint8_t * der, int dersize, bigint_t * out)
+int _gnutls_x509_read_der_int(uint8_t *der, int dersize, bigint_t *out)
{
int result;
asn1_node spk = NULL;
/* == INTEGER */
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DSAPublicKey",
- &spk)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAPublicKey", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -66,18 +66,17 @@ int _gnutls_x509_read_der_int(uint8_t * der, int dersize, bigint_t * out)
asn1_delete_structure(&spk);
return 0;
-
}
-int _gnutls_x509_read_der_uint(uint8_t * der, int dersize, unsigned int *out)
+int _gnutls_x509_read_der_uint(uint8_t *der, int dersize, unsigned int *out)
{
int result;
asn1_node spk = NULL;
/* == INTEGER */
- if ((result = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DSAPublicKey",
- &spk)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAPublicKey", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -101,14 +100,12 @@ int _gnutls_x509_read_der_uint(uint8_t * der, int dersize, unsigned int *out)
asn1_delete_structure(&spk);
return 0;
-
}
/* Extracts DSA and RSA parameters from a certificate.
*/
-int
-_gnutls_get_asn_mpis(asn1_node asn, const char *root,
- gnutls_pk_params_st * params)
+int _gnutls_get_asn_mpis(asn1_node asn, const char *root,
+ gnutls_pk_params_st *params)
{
int result;
char name[256];
@@ -133,15 +130,15 @@ _gnutls_get_asn_mpis(asn1_node asn, const char *root,
_asnstr_append_name(name, sizeof(name), root, ".algorithm.parameters");
if (pk_algorithm != GNUTLS_PK_RSA &&
- pk_algorithm != GNUTLS_PK_EDDSA_ED25519
- && pk_algorithm != GNUTLS_PK_ECDH_X25519
- && pk_algorithm != GNUTLS_PK_EDDSA_ED448
- && pk_algorithm != GNUTLS_PK_ECDH_X448) {
+ pk_algorithm != GNUTLS_PK_EDDSA_ED25519 &&
+ pk_algorithm != GNUTLS_PK_ECDH_X25519 &&
+ pk_algorithm != GNUTLS_PK_EDDSA_ED448 &&
+ pk_algorithm != GNUTLS_PK_ECDH_X448) {
/* RSA and EdDSA do not use parameters */
result = _gnutls_x509_read_value(asn, name, &tmp);
if (pk_algorithm == GNUTLS_PK_RSA_PSS &&
- (result == GNUTLS_E_ASN1_VALUE_NOT_FOUND
- || result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)) {
+ (result == GNUTLS_E_ASN1_VALUE_NOT_FOUND ||
+ result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)) {
goto skip_params;
}
if (result < 0) {
@@ -149,9 +146,8 @@ _gnutls_get_asn_mpis(asn1_node asn, const char *root,
goto error;
}
- result =
- _gnutls_x509_read_pubkey_params(pk_algorithm,
- tmp.data, tmp.size, params);
+ result = _gnutls_x509_read_pubkey_params(pk_algorithm, tmp.data,
+ tmp.size, params);
if (result < 0) {
gnutls_assert();
goto error;
@@ -160,7 +156,7 @@ _gnutls_get_asn_mpis(asn1_node asn, const char *root,
_gnutls_free_datum(&tmp);
}
- skip_params:
+skip_params:
/* Now read the public key */
_asnstr_append_name(name, sizeof(name), root, ".subjectPublicKey");
@@ -170,9 +166,8 @@ _gnutls_get_asn_mpis(asn1_node asn, const char *root,
goto error;
}
- if ((result =
- _gnutls_x509_read_pubkey(pk_algorithm, tmp.data, tmp.size,
- params)) < 0) {
+ if ((result = _gnutls_x509_read_pubkey(pk_algorithm, tmp.data, tmp.size,
+ params)) < 0) {
gnutls_assert();
goto error;
}
@@ -185,7 +180,7 @@ _gnutls_get_asn_mpis(asn1_node asn, const char *root,
result = 0;
- error:
+error:
if (result < 0)
gnutls_pk_params_release(params);
_gnutls_free_datum(&tmp);
@@ -194,35 +189,32 @@ _gnutls_get_asn_mpis(asn1_node asn, const char *root,
/* Extracts DSA and RSA parameters from a certificate.
*/
-int
-_gnutls_x509_crt_get_mpis(gnutls_x509_crt_t cert, gnutls_pk_params_st * params)
+int _gnutls_x509_crt_get_mpis(gnutls_x509_crt_t cert,
+ gnutls_pk_params_st *params)
{
/* Read the algorithm's OID
*/
- return _gnutls_get_asn_mpis(cert->cert,
- "tbsCertificate.subjectPublicKeyInfo",
- params);
+ return _gnutls_get_asn_mpis(
+ cert->cert, "tbsCertificate.subjectPublicKeyInfo", params);
}
/* Extracts DSA and RSA parameters from a certificate.
*/
-int
-_gnutls_x509_crq_get_mpis(gnutls_x509_crq_t cert, gnutls_pk_params_st * params)
+int _gnutls_x509_crq_get_mpis(gnutls_x509_crq_t cert,
+ gnutls_pk_params_st *params)
{
/* Read the algorithm's OID
*/
- return _gnutls_get_asn_mpis(cert->crq,
- "certificationRequestInfo.subjectPKInfo",
- params);
+ return _gnutls_get_asn_mpis(
+ cert->crq, "certificationRequestInfo.subjectPKInfo", params);
}
/*
* This function reads and decodes the parameters for DSS or RSA keys.
* This is the "signatureAlgorithm" fields.
*/
-int
-_gnutls_x509_read_pkalgo_params(asn1_node src, const char *src_name,
- gnutls_x509_spki_st * spki, unsigned is_sig)
+int _gnutls_x509_read_pkalgo_params(asn1_node src, const char *src_name,
+ gnutls_x509_spki_st *spki, unsigned is_sig)
{
int result;
char name[128];
@@ -276,7 +268,7 @@ _gnutls_x509_read_pkalgo_params(asn1_node src, const char *src_name,
}
static int write_oid_and_params(asn1_node dst, const char *dst_name,
- const char *oid, gnutls_x509_spki_st * params)
+ const char *oid, gnutls_x509_spki_st *params)
{
int result;
char name[128];
@@ -325,9 +317,8 @@ static int write_oid_and_params(asn1_node dst, const char *dst_name,
return 0;
}
-int
-_gnutls_x509_write_spki_params(asn1_node dst, const char *dst_name,
- gnutls_x509_spki_st * params)
+int _gnutls_x509_write_spki_params(asn1_node dst, const char *dst_name,
+ gnutls_x509_spki_st *params)
{
const char *oid;
@@ -340,19 +331,18 @@ _gnutls_x509_write_spki_params(asn1_node dst, const char *dst_name,
if (oid == NULL) {
gnutls_assert();
- _gnutls_debug_log
- ("Cannot find OID for public key algorithm %s\n",
- gnutls_pk_get_name(params->pk));
+ _gnutls_debug_log(
+ "Cannot find OID for public key algorithm %s\n",
+ gnutls_pk_get_name(params->pk));
return GNUTLS_E_INVALID_REQUEST;
}
return write_oid_and_params(dst, dst_name, oid, params);
}
-int
-_gnutls_x509_write_sign_params(asn1_node dst, const char *dst_name,
- const gnutls_sign_entry_st * se,
- gnutls_x509_spki_st * params)
+int _gnutls_x509_write_sign_params(asn1_node dst, const char *dst_name,
+ const gnutls_sign_entry_st *se,
+ gnutls_x509_spki_st *params)
{
const char *oid;
@@ -365,8 +355,8 @@ _gnutls_x509_write_sign_params(asn1_node dst, const char *dst_name,
if (oid == NULL) {
gnutls_assert();
- _gnutls_debug_log
- ("Cannot find OID for sign algorithm %s\n", se->name);
+ _gnutls_debug_log("Cannot find OID for sign algorithm %s\n",
+ se->name);
return GNUTLS_E_INVALID_REQUEST;
}
diff --git a/lib/x509/name_constraints.c b/lib/x509/name_constraints.c
index a7294afa6a..c37d907a95 100644
--- a/lib/x509/name_constraints.c
+++ b/lib/x509/name_constraints.c
@@ -39,10 +39,10 @@
#include "ip-in-cidr.h"
// for documentation see the implementation
-static int name_constraints_intersect_nodes(name_constraints_node_st * nc1,
- name_constraints_node_st * nc2,
- name_constraints_node_st **
- intersection);
+static int
+name_constraints_intersect_nodes(name_constraints_node_st *nc1,
+ name_constraints_node_st *nc2,
+ name_constraints_node_st **intersection);
/*-
* is_nc_empty:
@@ -94,7 +94,7 @@ static unsigned is_nc_empty(struct gnutls_name_constraints_st *nc,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error value.
-*/
static int validate_name_constraints_node(gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * name)
+ const gnutls_datum_t *name)
{
if (type != GNUTLS_SAN_DNSNAME && type != GNUTLS_SAN_RFC822NAME &&
type != GNUTLS_SAN_DN && type != GNUTLS_SAN_URI &&
@@ -116,7 +116,7 @@ static int validate_name_constraints_node(gnutls_x509_subject_alt_name_t type,
}
int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,
- name_constraints_node_st ** _nc)
+ name_constraints_node_st **_nc)
{
int ret;
char tmpstr[128];
@@ -134,8 +134,8 @@ int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,
for (indx = 1;; indx++) {
snprintf(tmpstr, sizeof(tmpstr), "%s.?%u.base", vstr, indx);
- ret =
- _gnutls_parse_general_name2(c2, tmpstr, -1, &tmp, &type, 0);
+ ret = _gnutls_parse_general_name2(c2, tmpstr, -1, &tmp, &type,
+ 0);
if (ret < 0) {
gnutls_assert();
@@ -145,18 +145,16 @@ int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,
if (type == GNUTLS_SAN_OTHERNAME) {
gnutls_datum_t oid = { NULL, 0 };
gnutls_datum_t parsed_othername = { NULL, 0 };
- ret =
- _gnutls_parse_general_name2(c2, tmpstr, -1, &oid,
- &type, 1);
+ ret = _gnutls_parse_general_name2(c2, tmpstr, -1, &oid,
+ &type, 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- gnutls_x509_othername_to_virtual((char *)oid.data,
- &tmp, &type,
- &parsed_othername);
+ ret = gnutls_x509_othername_to_virtual(
+ (char *)oid.data, &tmp, &type,
+ &parsed_othername);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -202,7 +200,7 @@ int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(tmp.data);
return ret;
}
@@ -213,7 +211,7 @@ int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,
*
* Deallocate a list of name constraints nodes starting at the given node.
-*/
-void _gnutls_name_constraints_node_free(name_constraints_node_st * node)
+void _gnutls_name_constraints_node_free(name_constraints_node_st *node)
{
name_constraints_node_st *next, *t;
@@ -238,12 +236,11 @@ void _gnutls_name_constraints_node_free(name_constraints_node_st * node)
*
* Returns: Pointer to newly allocated node or NULL in case of memory error.
-*/
-static name_constraints_node_st *name_constraints_node_new(unsigned type,
- unsigned char *data,
- unsigned int size)
+static name_constraints_node_st *
+name_constraints_node_new(unsigned type, unsigned char *data, unsigned int size)
{
name_constraints_node_st *tmp =
- gnutls_malloc(sizeof(struct name_constraints_node_st));
+ gnutls_malloc(sizeof(struct name_constraints_node_st));
if (tmp == NULL)
return NULL;
tmp->type = type;
@@ -251,7 +248,6 @@ static name_constraints_node_st *name_constraints_node_new(unsigned type,
tmp->name.size = size;
tmp->name.data = NULL;
if (tmp->name.size > 0) {
-
tmp->name.data = gnutls_malloc(tmp->name.size);
if (tmp->name.data == NULL) {
gnutls_free(tmp);
@@ -279,13 +275,13 @@ static name_constraints_node_st *name_constraints_node_new(unsigned type,
*
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error value.
-*/
-static
-int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
- name_constraints_node_st * _nc2,
- name_constraints_node_st ** _nc_excluded)
+static int
+_gnutls_name_constraints_intersect(name_constraints_node_st **_nc,
+ name_constraints_node_st *_nc2,
+ name_constraints_node_st **_nc_excluded)
{
- name_constraints_node_st *nc, *nc2, *t, *tmp, *dest = NULL, *prev =
- NULL;
+ name_constraints_node_st *nc, *nc2, *t, *tmp, *dest = NULL,
+ *prev = NULL;
int ret, type, used;
/* temporary array to see, if we need to add universal excluded constraints
@@ -310,9 +306,8 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
if (t->type == nc2->type) {
// check bounds (we will use 't->type' as index)
if (t->type > GNUTLS_SAN_MAX || t->type == 0)
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
// note the possibility of empty intersection for this type
// if we add something to the intersection in phase 2,
// we will reset this flag back to 0 then
@@ -321,11 +316,9 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
}
nc2 = nc2->next;
}
- if (nc2 == NULL ||
- (t->type != GNUTLS_SAN_DNSNAME &&
- t->type != GNUTLS_SAN_RFC822NAME &&
- t->type != GNUTLS_SAN_IPADDRESS)
- ) {
+ if (nc2 == NULL || (t->type != GNUTLS_SAN_DNSNAME &&
+ t->type != GNUTLS_SAN_RFC822NAME &&
+ t->type != GNUTLS_SAN_IPADDRESS)) {
/* move node from NC to DEST */
if (prev != NULL)
prev->next = next;
@@ -355,18 +348,18 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
return gnutls_assert_val(ret);
used = 1;
// if intersection is not empty
- if (tmp != NULL) { // intersection for this type is not empty
+ if (tmp !=
+ NULL) { // intersection for this type is not empty
// check bounds
- if (tmp->type > GNUTLS_SAN_MAX
- || tmp->type == 0) {
+ if (tmp->type > GNUTLS_SAN_MAX ||
+ tmp->type == 0) {
gnutls_free(tmp);
- return
- gnutls_assert_val
- (GNUTLS_E_INTERNAL_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_INTERNAL_ERROR);
}
// we will not add universal excluded constraint for this type
types_with_empty_intersection[tmp->type - 1] =
- 0;
+ 0;
// add intersection node to DEST
tmp->next = dest;
dest = tmp;
@@ -377,9 +370,8 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
// Beware: also copies nodes other than DNS, email, IP,
// since their counterpart may have been moved in phase 1.
if (!used) {
- tmp =
- name_constraints_node_new(nc2->type, nc2->name.data,
- nc2->name.size);
+ tmp = name_constraints_node_new(
+ nc2->type, nc2->name.data, nc2->name.size);
if (tmp == NULL) {
_gnutls_name_constraints_node_free(dest);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -402,15 +394,14 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
for (type = 1; type <= GNUTLS_SAN_MAX; type++) {
if (types_with_empty_intersection[type - 1] == 0)
continue;
- _gnutls_hard_log
- ("Adding universal excluded name constraint for type %d.\n",
- type);
+ _gnutls_hard_log(
+ "Adding universal excluded name constraint for type %d.\n",
+ type);
switch (type) {
case GNUTLS_SAN_IPADDRESS:
// add universal restricted range for IPv4
- tmp =
- name_constraints_node_new(GNUTLS_SAN_IPADDRESS,
- NULL, 8);
+ tmp = name_constraints_node_new(GNUTLS_SAN_IPADDRESS,
+ NULL, 8);
if (tmp == NULL) {
_gnutls_name_constraints_node_free(dest);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -418,9 +409,8 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
tmp->next = *_nc_excluded;
*_nc_excluded = tmp;
// add universal restricted range for IPv6
- tmp =
- name_constraints_node_new(GNUTLS_SAN_IPADDRESS,
- NULL, 32);
+ tmp = name_constraints_node_new(GNUTLS_SAN_IPADDRESS,
+ NULL, 32);
if (tmp == NULL) {
_gnutls_name_constraints_node_free(dest);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -438,15 +428,15 @@ int _gnutls_name_constraints_intersect(name_constraints_node_st ** _nc,
tmp->next = *_nc_excluded;
*_nc_excluded = tmp;
break;
- default: // do nothing, at least one node was already moved in phase 1
+ default: // do nothing, at least one node was already moved in phase 1
break;
}
}
return GNUTLS_E_SUCCESS;
}
-static int _gnutls_name_constraints_append(name_constraints_node_st ** _nc,
- name_constraints_node_st * _nc2)
+static int _gnutls_name_constraints_append(name_constraints_node_st **_nc,
+ name_constraints_node_st *_nc2)
{
name_constraints_node_st *nc, *nc2;
struct name_constraints_node_st *tmp;
@@ -458,9 +448,8 @@ static int _gnutls_name_constraints_append(name_constraints_node_st ** _nc,
while (nc2) {
nc = *_nc;
- tmp =
- name_constraints_node_new(nc2->type, nc2->name.data,
- nc2->name.size);
+ tmp = name_constraints_node_new(nc2->type, nc2->name.data,
+ nc2->name.size);
if (tmp == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -513,8 +502,8 @@ int gnutls_x509_crt_get_name_constraints(gnutls_x509_crt_t crt,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.30", 0, &der, critical);
+ ret = _gnutls_x509_crt_get_extension(crt, "2.5.29.30", 0, &der,
+ critical);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -529,11 +518,10 @@ int gnutls_x509_crt_get_name_constraints(gnutls_x509_crt_t crt,
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&der);
return ret;
-
}
/**
@@ -562,7 +550,7 @@ void gnutls_x509_name_constraints_deinit(gnutls_x509_name_constraints_t nc)
*
* Since: 3.3.0
**/
-int gnutls_x509_name_constraints_init(gnutls_x509_name_constraints_t * nc)
+int gnutls_x509_name_constraints_init(gnutls_x509_name_constraints_t *nc)
{
*nc = gnutls_calloc(1, sizeof(struct gnutls_name_constraints_st));
if (*nc == NULL) {
@@ -573,10 +561,9 @@ int gnutls_x509_name_constraints_init(gnutls_x509_name_constraints_t * nc)
return 0;
}
-static
-int name_constraints_add(gnutls_x509_name_constraints_t nc,
- gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * name, unsigned permitted)
+static int name_constraints_add(gnutls_x509_name_constraints_t nc,
+ gnutls_x509_subject_alt_name_t type,
+ const gnutls_datum_t *name, unsigned permitted)
{
struct name_constraints_node_st *tmp, *prev = NULL;
int ret;
@@ -633,9 +620,8 @@ int _gnutls_x509_name_constraints_merge(gnutls_x509_name_constraints_t nc,
{
int ret;
- ret =
- _gnutls_name_constraints_intersect(&nc->permitted,
- nc2->permitted, &nc->excluded);
+ ret = _gnutls_name_constraints_intersect(&nc->permitted, nc2->permitted,
+ &nc->excluded);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -666,11 +652,9 @@ int _gnutls_x509_name_constraints_merge(gnutls_x509_name_constraints_t nc,
*
* Since: 3.3.0
**/
-int gnutls_x509_name_constraints_add_permitted(gnutls_x509_name_constraints_t
- nc,
- gnutls_x509_subject_alt_name_t
- type,
- const gnutls_datum_t * name)
+int gnutls_x509_name_constraints_add_permitted(
+ gnutls_x509_name_constraints_t nc, gnutls_x509_subject_alt_name_t type,
+ const gnutls_datum_t *name)
{
return name_constraints_add(nc, type, name, 1);
}
@@ -692,9 +676,9 @@ int gnutls_x509_name_constraints_add_permitted(gnutls_x509_name_constraints_t
*
* Since: 3.3.0
**/
-int gnutls_x509_name_constraints_add_excluded(gnutls_x509_name_constraints_t nc,
- gnutls_x509_subject_alt_name_t
- type, const gnutls_datum_t * name)
+int gnutls_x509_name_constraints_add_excluded(
+ gnutls_x509_name_constraints_t nc, gnutls_x509_subject_alt_name_t type,
+ const gnutls_datum_t *name)
{
return name_constraints_add(nc, type, name, 0);
}
@@ -733,13 +717,13 @@ int gnutls_x509_crt_set_name_constraints(gnutls_x509_crt_t crt,
ret = 0;
crt->use_extensions = 1;
- cleanup:
+cleanup:
_gnutls_free_datum(&der);
return ret;
}
-static
-unsigned ends_with(const gnutls_datum_t * str, const gnutls_datum_t * suffix)
+static unsigned ends_with(const gnutls_datum_t *str,
+ const gnutls_datum_t *suffix)
{
unsigned char *tree;
unsigned int treelen;
@@ -756,57 +740,54 @@ unsigned ends_with(const gnutls_datum_t * str, const gnutls_datum_t * suffix)
if (memcmp(str->data + str->size - treelen, tree, treelen) == 0 &&
str->data[str->size - treelen - 1] == '.')
- return 1; /* match */
+ return 1; /* match */
return 0;
}
-static
-unsigned email_ends_with(const gnutls_datum_t * str,
- const gnutls_datum_t * suffix)
+static unsigned email_ends_with(const gnutls_datum_t *str,
+ const gnutls_datum_t *suffix)
{
if (suffix->size >= str->size)
return 0;
if (suffix->size > 1 && suffix->data[0] == '.') {
/* .domain.com */
- if (memcmp
- (str->data + str->size - suffix->size, suffix->data,
- suffix->size) == 0)
- return 1; /* match */
+ if (memcmp(str->data + str->size - suffix->size, suffix->data,
+ suffix->size) == 0)
+ return 1; /* match */
} else {
- if (memcmp
- (str->data + str->size - suffix->size, suffix->data,
- suffix->size) == 0
- && str->data[str->size - suffix->size - 1] == '@')
- return 1; /* match */
+ if (memcmp(str->data + str->size - suffix->size, suffix->data,
+ suffix->size) == 0 &&
+ str->data[str->size - suffix->size - 1] == '@')
+ return 1; /* match */
}
return 0;
}
-static unsigned dnsname_matches(const gnutls_datum_t * name,
- const gnutls_datum_t * suffix)
+static unsigned dnsname_matches(const gnutls_datum_t *name,
+ const gnutls_datum_t *suffix)
{
_gnutls_hard_log("matching %.*s with DNS constraint %.*s\n", name->size,
name->data, suffix->size, suffix->data);
- if (suffix->size == name->size
- && memcmp(suffix->data, name->data, suffix->size) == 0)
- return 1; /* match */
+ if (suffix->size == name->size &&
+ memcmp(suffix->data, name->data, suffix->size) == 0)
+ return 1; /* match */
return ends_with(name, suffix);
}
-static unsigned email_matches(const gnutls_datum_t * name,
- const gnutls_datum_t * suffix)
+static unsigned email_matches(const gnutls_datum_t *name,
+ const gnutls_datum_t *suffix)
{
_gnutls_hard_log("matching %.*s with e-mail constraint %.*s\n",
name->size, name->data, suffix->size, suffix->data);
- if (suffix->size == name->size
- && memcmp(suffix->data, name->data, suffix->size) == 0)
- return 1; /* match */
+ if (suffix->size == name->size &&
+ memcmp(suffix->data, name->data, suffix->size) == 0)
+ return 1; /* match */
return email_ends_with(name, suffix);
}
@@ -824,9 +805,9 @@ static unsigned email_matches(const gnutls_datum_t * name,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error value.
-*/
static int
-name_constraints_intersect_nodes(name_constraints_node_st * nc1,
- name_constraints_node_st * nc2,
- name_constraints_node_st ** _intersection)
+name_constraints_intersect_nodes(name_constraints_node_st *nc1,
+ name_constraints_node_st *nc2,
+ name_constraints_node_st **_intersection)
{
// presume empty intersection
name_constraints_node_st *intersection = NULL;
@@ -855,9 +836,12 @@ name_constraints_intersect_nodes(name_constraints_node_st * nc1,
return GNUTLS_E_SUCCESS;
iplength = nc1->name.size / 2;
for (byte = 0; byte < iplength; byte++) {
- if (((nc1->name.data[byte] ^ nc2->name.data[byte]) // XOR of addresses
- & nc1->name.data[byte + iplength] // AND mask from nc1
- & nc2->name.data[byte + iplength]) // AND mask from nc2
+ if (((nc1->name.data[byte] ^
+ nc2->name.data[byte]) // XOR of addresses
+ &
+ nc1->name.data[byte + iplength] // AND mask from nc1
+ &
+ nc2->name.data[byte + iplength]) // AND mask from nc2
!= 0) {
// CIDRS do not intersect
return GNUTLS_E_SUCCESS;
@@ -872,9 +856,8 @@ name_constraints_intersect_nodes(name_constraints_node_st * nc1,
// copy existing node if applicable
if (to_copy != NULL) {
- *_intersection =
- name_constraints_node_new(to_copy->type, to_copy->name.data,
- to_copy->name.size);
+ *_intersection = name_constraints_node_new(
+ to_copy->type, to_copy->name.data, to_copy->name.size);
if (*_intersection == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
intersection = *_intersection;
@@ -891,7 +874,7 @@ name_constraints_intersect_nodes(name_constraints_node_st * nc1,
// update intersection, if necessary (we already know one is subset of other)
for (byte = 0; byte < 2 * iplength; byte++) {
intersection->name.data[byte] |=
- nc1->name.data[byte];
+ nc1->name.data[byte];
}
}
}
@@ -902,9 +885,9 @@ name_constraints_intersect_nodes(name_constraints_node_st * nc1,
/*
* Returns: true if the certification is acceptable, and false otherwise.
*/
-static
-unsigned check_unsupported_constraint(gnutls_x509_name_constraints_t nc,
- gnutls_x509_subject_alt_name_t type)
+static unsigned
+check_unsupported_constraint(gnutls_x509_name_constraints_t nc,
+ gnutls_x509_subject_alt_name_t type)
{
unsigned i;
int ret;
@@ -916,9 +899,8 @@ unsigned check_unsupported_constraint(gnutls_x509_name_constraints_t nc,
*/
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
+ &rname);
if (ret >= 0) {
if (rtype != type)
continue;
@@ -931,9 +913,8 @@ unsigned check_unsupported_constraint(gnutls_x509_name_constraints_t nc,
return 1;
}
-static
-unsigned check_dns_constraints(gnutls_x509_name_constraints_t nc,
- const gnutls_datum_t * name)
+static unsigned check_dns_constraints(gnutls_x509_name_constraints_t nc,
+ const gnutls_datum_t *name)
{
unsigned i;
int ret;
@@ -944,9 +925,8 @@ unsigned check_dns_constraints(gnutls_x509_name_constraints_t nc,
/* check restrictions */
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
+ &rname);
if (ret >= 0) {
if (rtype != GNUTLS_SAN_DNSNAME)
continue;
@@ -957,16 +937,15 @@ unsigned check_dns_constraints(gnutls_x509_name_constraints_t nc,
return gnutls_assert_val(0);
if (dnsname_matches(name, &rname) != 0)
- return gnutls_assert_val(0); /* rejected */
+ return gnutls_assert_val(0); /* rejected */
}
} while (ret == 0);
/* check allowed */
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_permitted(
+ nc, i++, &rtype, &rname);
if (ret >= 0) {
if (rtype != GNUTLS_SAN_DNSNAME)
continue;
@@ -977,19 +956,19 @@ unsigned check_dns_constraints(gnutls_x509_name_constraints_t nc,
allowed_found = 1;
if (dnsname_matches(name, &rname) != 0)
- return 1; /* accepted */
+ return 1; /* accepted */
}
} while (ret == 0);
- if (allowed_found != 0) /* there are allowed directives but this host wasn't found */
+ if (allowed_found !=
+ 0) /* there are allowed directives but this host wasn't found */
return gnutls_assert_val(0);
return 1;
}
-static
-unsigned check_email_constraints(gnutls_x509_name_constraints_t nc,
- const gnutls_datum_t * name)
+static unsigned check_email_constraints(gnutls_x509_name_constraints_t nc,
+ const gnutls_datum_t *name)
{
unsigned i;
int ret;
@@ -1000,9 +979,8 @@ unsigned check_email_constraints(gnutls_x509_name_constraints_t nc,
/* check restrictions */
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
+ &rname);
if (ret >= 0) {
if (rtype != GNUTLS_SAN_RFC822NAME)
continue;
@@ -1013,16 +991,15 @@ unsigned check_email_constraints(gnutls_x509_name_constraints_t nc,
return gnutls_assert_val(0);
if (email_matches(name, &rname) != 0)
- return gnutls_assert_val(0); /* rejected */
+ return gnutls_assert_val(0); /* rejected */
}
} while (ret == 0);
/* check allowed */
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_permitted(
+ nc, i++, &rtype, &rname);
if (ret >= 0) {
if (rtype != GNUTLS_SAN_RFC822NAME)
continue;
@@ -1033,19 +1010,19 @@ unsigned check_email_constraints(gnutls_x509_name_constraints_t nc,
allowed_found = 1;
if (email_matches(name, &rname) != 0)
- return 1; /* accepted */
+ return 1; /* accepted */
}
} while (ret == 0);
- if (allowed_found != 0) /* there are allowed directives but this host wasn't found */
+ if (allowed_found !=
+ 0) /* there are allowed directives but this host wasn't found */
return gnutls_assert_val(0);
return 1;
}
-static
-unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,
- const gnutls_datum_t * name)
+static unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,
+ const gnutls_datum_t *name)
{
unsigned i;
int ret;
@@ -1056,9 +1033,8 @@ unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,
/* check restrictions */
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, i++, &rtype,
+ &rname);
if (ret >= 0) {
if (rtype != GNUTLS_SAN_IPADDRESS)
continue;
@@ -1068,16 +1044,15 @@ unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,
continue;
if (ip_in_cidr(name, &rname) != 0)
- return gnutls_assert_val(0); /* rejected */
+ return gnutls_assert_val(0); /* rejected */
}
} while (ret == 0);
/* check allowed */
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, i++, &rtype,
- &rname);
+ ret = gnutls_x509_name_constraints_get_permitted(
+ nc, i++, &rtype, &rname);
if (ret >= 0) {
if (rtype != GNUTLS_SAN_IPADDRESS)
continue;
@@ -1089,11 +1064,12 @@ unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,
allowed_found = 1;
if (ip_in_cidr(name, &rname) != 0)
- return 1; /* accepted */
+ return 1; /* accepted */
}
} while (ret == 0);
- if (allowed_found != 0) /* there are allowed directives but this host wasn't found */
+ if (allowed_found !=
+ 0) /* there are allowed directives but this host wasn't found */
return gnutls_assert_val(0);
return 1;
@@ -1116,7 +1092,7 @@ unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,
**/
unsigned gnutls_x509_name_constraints_check(gnutls_x509_name_constraints_t nc,
gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * name)
+ const gnutls_datum_t *name)
{
if (type == GNUTLS_SAN_DNSNAME)
return check_dns_constraints(nc, name);
@@ -1137,10 +1113,10 @@ unsigned gnutls_x509_name_constraints_check(gnutls_x509_name_constraints_t nc,
*
* Returns: true if the certification is acceptable, and false otherwise
*/
-static unsigned check_unsupported_constraint2(gnutls_x509_crt_t cert,
- gnutls_x509_name_constraints_t nc,
- gnutls_x509_subject_alt_name_t
- type)
+static unsigned
+check_unsupported_constraint2(gnutls_x509_crt_t cert,
+ gnutls_x509_name_constraints_t nc,
+ gnutls_x509_subject_alt_name_t type)
{
unsigned idx, found_one;
char name[MAX_CN];
@@ -1152,10 +1128,8 @@ static unsigned check_unsupported_constraint2(gnutls_x509_crt_t cert,
for (idx = 0;; idx++) {
name_size = sizeof(name);
- ret = gnutls_x509_crt_get_subject_alt_name2(cert,
- idx, name,
- &name_size,
- &san_type, NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name2(
+ cert, idx, name, &name_size, &san_type, NULL);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret < 0)
@@ -1192,10 +1166,10 @@ static unsigned check_unsupported_constraint2(gnutls_x509_crt_t cert,
*
* Since: 3.3.0
**/
-unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
- nc,
- gnutls_x509_subject_alt_name_t
- type, gnutls_x509_crt_t cert)
+unsigned
+gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t nc,
+ gnutls_x509_subject_alt_name_t type,
+ gnutls_x509_crt_t cert)
{
char name[MAX_CN];
size_t name_size;
@@ -1205,17 +1179,14 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
unsigned found_one;
if (is_nc_empty(nc, type) != 0)
- return 1; /* shortcut; no constraints to check */
+ return 1; /* shortcut; no constraints to check */
if (type == GNUTLS_SAN_RFC822NAME) {
found_one = 0;
for (idx = 0;; idx++) {
name_size = sizeof(name);
- ret = gnutls_x509_crt_get_subject_alt_name2(cert,
- idx, name,
- &name_size,
- &san_type,
- NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name2(
+ cert, idx, name, &name_size, &san_type, NULL);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret < 0)
@@ -1227,9 +1198,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 1;
n.data = (void *)name;
n.size = name_size;
- t = gnutls_x509_name_constraints_check(nc,
- GNUTLS_SAN_RFC822NAME,
- &n);
+ t = gnutls_x509_name_constraints_check(
+ nc, GNUTLS_SAN_RFC822NAME, &n);
if (t == 0)
return gnutls_assert_val(t);
}
@@ -1242,20 +1212,16 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
do {
/* ensure there is only a single EMAIL, similarly to CN handling (rfc6125) */
name_size = sizeof(name);
- ret =
- gnutls_x509_crt_get_dn_by_oid(cert,
- GNUTLS_OID_PKCS9_EMAIL,
- 1, 0, name,
- &name_size);
+ ret = gnutls_x509_crt_get_dn_by_oid(
+ cert, GNUTLS_OID_PKCS9_EMAIL, 1, 0, name,
+ &name_size);
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
return gnutls_assert_val(0);
name_size = sizeof(name);
- ret =
- gnutls_x509_crt_get_dn_by_oid(cert,
- GNUTLS_OID_PKCS9_EMAIL,
- 0, 0, name,
- &name_size);
+ ret = gnutls_x509_crt_get_dn_by_oid(
+ cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, name,
+ &name_size);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret < 0)
@@ -1264,9 +1230,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 1;
n.data = (void *)name;
n.size = name_size;
- t = gnutls_x509_name_constraints_check(nc,
- GNUTLS_SAN_RFC822NAME,
- &n);
+ t = gnutls_x509_name_constraints_check(
+ nc, GNUTLS_SAN_RFC822NAME, &n);
if (t == 0)
return gnutls_assert_val(t);
} while (0);
@@ -1284,11 +1249,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 0;
for (idx = 0;; idx++) {
name_size = sizeof(name);
- ret = gnutls_x509_crt_get_subject_alt_name2(cert,
- idx, name,
- &name_size,
- &san_type,
- NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name2(
+ cert, idx, name, &name_size, &san_type, NULL);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret < 0)
@@ -1300,9 +1262,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 1;
n.data = (void *)name;
n.size = name_size;
- t = gnutls_x509_name_constraints_check(nc,
- GNUTLS_SAN_DNSNAME,
- &n);
+ t = gnutls_x509_name_constraints_check(
+ nc, GNUTLS_SAN_DNSNAME, &n);
if (t == 0)
return gnutls_assert_val(t);
}
@@ -1315,26 +1276,22 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
/* verify the name constraints against the CN, if the certificate is
* not a CA. We do this check only on certificates marked as WWW server,
* because that's where the CN check is only performed. */
- if (_gnutls_check_key_purpose(cert, GNUTLS_KP_TLS_WWW_SERVER, 0)
- != 0)
+ if (_gnutls_check_key_purpose(cert, GNUTLS_KP_TLS_WWW_SERVER,
+ 0) != 0)
do {
/* ensure there is only a single CN, according to rfc6125 */
name_size = sizeof(name);
- ret =
- gnutls_x509_crt_get_dn_by_oid(cert,
- GNUTLS_OID_X520_COMMON_NAME,
- 1, 0, name,
- &name_size);
+ ret = gnutls_x509_crt_get_dn_by_oid(
+ cert, GNUTLS_OID_X520_COMMON_NAME, 1, 0,
+ name, &name_size);
if (ret !=
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
return gnutls_assert_val(0);
name_size = sizeof(name);
- ret =
- gnutls_x509_crt_get_dn_by_oid(cert,
- GNUTLS_OID_X520_COMMON_NAME,
- 0, 0, name,
- &name_size);
+ ret = gnutls_x509_crt_get_dn_by_oid(
+ cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0,
+ name, &name_size);
if (ret ==
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
@@ -1344,9 +1301,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 1;
n.data = (void *)name;
n.size = name_size;
- t = gnutls_x509_name_constraints_check(nc,
- GNUTLS_SAN_DNSNAME,
- &n);
+ t = gnutls_x509_name_constraints_check(
+ nc, GNUTLS_SAN_DNSNAME, &n);
if (t == 0)
return gnutls_assert_val(t);
} while (0);
@@ -1364,11 +1320,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 0;
for (idx = 0;; idx++) {
name_size = sizeof(name);
- ret = gnutls_x509_crt_get_subject_alt_name2(cert,
- idx, name,
- &name_size,
- &san_type,
- NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name2(
+ cert, idx, name, &name_size, &san_type, NULL);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret < 0)
@@ -1380,9 +1333,8 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
found_one = 1;
n.data = (void *)name;
n.size = name_size;
- t = gnutls_x509_name_constraints_check(nc,
- GNUTLS_SAN_IPADDRESS,
- &n);
+ t = gnutls_x509_name_constraints_check(
+ nc, GNUTLS_SAN_IPADDRESS, &n);
if (t == 0)
return gnutls_assert_val(t);
}
@@ -1422,18 +1374,17 @@ unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
*
* Since: 3.3.0
**/
-int gnutls_x509_name_constraints_get_permitted(gnutls_x509_name_constraints_t
- nc, unsigned idx, unsigned *type,
- gnutls_datum_t * name)
+int gnutls_x509_name_constraints_get_permitted(gnutls_x509_name_constraints_t nc,
+ unsigned idx, unsigned *type,
+ gnutls_datum_t *name)
{
unsigned int i;
struct name_constraints_node_st *tmp = nc->permitted;
for (i = 0; i < idx; i++) {
if (tmp == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
tmp = tmp->next;
}
@@ -1467,18 +1418,16 @@ int gnutls_x509_name_constraints_get_permitted(gnutls_x509_name_constraints_t
* Since: 3.3.0
**/
int gnutls_x509_name_constraints_get_excluded(gnutls_x509_name_constraints_t nc,
- unsigned idx,
- unsigned *type,
- gnutls_datum_t * name)
+ unsigned idx, unsigned *type,
+ gnutls_datum_t *name)
{
unsigned int i;
struct name_constraints_node_st *tmp = nc->excluded;
for (i = 0; i < idx; i++) {
if (tmp == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
tmp = tmp->next;
}
diff --git a/lib/x509/ocsp.c b/lib/x509/ocsp.c
index 954427bd97..dd8966a75f 100644
--- a/lib/x509/ocsp.c
+++ b/lib/x509/ocsp.c
@@ -64,7 +64,7 @@ typedef struct gnutls_ocsp_resp_int {
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_ocsp_req_init(gnutls_ocsp_req_t * req)
+int gnutls_ocsp_req_init(gnutls_ocsp_req_t *req)
{
gnutls_ocsp_req_t tmp = gnutls_calloc(1, sizeof(gnutls_ocsp_req_int));
int ret;
@@ -113,7 +113,7 @@ void gnutls_ocsp_req_deinit(gnutls_ocsp_req_t req)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_ocsp_resp_init(gnutls_ocsp_resp_t * resp)
+int gnutls_ocsp_resp_init(gnutls_ocsp_resp_t *resp)
{
gnutls_ocsp_resp_t tmp = gnutls_calloc(1, sizeof(gnutls_ocsp_resp_int));
int ret;
@@ -122,16 +122,16 @@ int gnutls_ocsp_resp_init(gnutls_ocsp_resp_t * resp)
if (!tmp)
return GNUTLS_E_MEMORY_ERROR;
- ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.OCSPResponse", &tmp->resp);
+ ret = asn1_create_element(_gnutls_get_pkix(), "PKIX1.OCSPResponse",
+ &tmp->resp);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(tmp);
return _gnutls_asn2err(ret);
}
- ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.BasicOCSPResponse", &tmp->basicresp);
+ ret = asn1_create_element(_gnutls_get_pkix(), "PKIX1.BasicOCSPResponse",
+ &tmp->basicresp);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&tmp->resp);
@@ -180,7 +180,7 @@ void gnutls_ocsp_resp_deinit(gnutls_ocsp_resp_t resp)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_ocsp_req_import(gnutls_ocsp_req_t req, const gnutls_datum_t * data)
+int gnutls_ocsp_req_import(gnutls_ocsp_req_t req, const gnutls_datum_t *data)
{
int ret = 0;
@@ -225,8 +225,7 @@ int gnutls_ocsp_req_import(gnutls_ocsp_req_t req, const gnutls_datum_t * data)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_import(gnutls_ocsp_resp_t resp, const gnutls_datum_t * data)
+int gnutls_ocsp_resp_import(gnutls_ocsp_resp_t resp, const gnutls_datum_t *data)
{
return gnutls_ocsp_resp_import2(resp, data, GNUTLS_X509_FMT_DER);
}
@@ -246,9 +245,9 @@ gnutls_ocsp_resp_import(gnutls_ocsp_resp_t resp, const gnutls_datum_t * data)
*
* Since: 3.6.3
**/
-int
-gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
- const gnutls_datum_t * data, gnutls_x509_crt_fmt_t fmt)
+int gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t fmt)
{
int ret = 0;
gnutls_datum_t der;
@@ -262,9 +261,8 @@ gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
der.size = data->size;
if (fmt == GNUTLS_X509_FMT_PEM) {
- ret =
- gnutls_pem_base64_decode2(BARE_PEM_OCSP_RESPONSE, data,
- &der);
+ ret = gnutls_pem_base64_decode2(BARE_PEM_OCSP_RESPONSE, data,
+ &der);
if (ret < 0) {
return gnutls_assert_val(ret);
}
@@ -311,32 +309,26 @@ gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
goto cleanup;
}
- ret =
- _gnutls_x509_read_value(resp->resp,
- "responseBytes.responseType",
- &resp->response_type_oid);
+ ret = _gnutls_x509_read_value(resp->resp, "responseBytes.responseType",
+ &resp->response_type_oid);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
#define OCSP_BASIC "1.3.6.1.5.5.7.48.1.1"
- if (resp->response_type_oid.size == sizeof(OCSP_BASIC) - 1
- && memcmp(resp->response_type_oid.data, OCSP_BASIC,
- resp->response_type_oid.size) == 0) {
-
- ret =
- _gnutls_x509_read_value(resp->resp,
- "responseBytes.response",
- &resp->der);
+ if (resp->response_type_oid.size == sizeof(OCSP_BASIC) - 1 &&
+ memcmp(resp->response_type_oid.data, OCSP_BASIC,
+ resp->response_type_oid.size) == 0) {
+ ret = _gnutls_x509_read_value(
+ resp->resp, "responseBytes.response", &resp->der);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _asn1_strict_der_decode(&resp->basicresp, resp->der.data,
- resp->der.size, NULL);
+ ret = _asn1_strict_der_decode(&resp->basicresp, resp->der.data,
+ resp->der.size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -348,7 +340,7 @@ gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
}
ret = GNUTLS_E_SUCCESS;
- cleanup:
+cleanup:
if (der.data != data->data)
gnutls_free(der.data);
return ret;
@@ -364,7 +356,7 @@ gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,
* Returns: In case of failure a negative error code will be
* returned, and 0 on success.
**/
-int gnutls_ocsp_req_export(gnutls_ocsp_req_const_t req, gnutls_datum_t * data)
+int gnutls_ocsp_req_export(gnutls_ocsp_req_const_t req, gnutls_datum_t *data)
{
int ret;
@@ -396,8 +388,7 @@ int gnutls_ocsp_req_export(gnutls_ocsp_req_const_t req, gnutls_datum_t * data)
* Returns: In case of failure a negative error code will be
* returned, and 0 on success.
**/
-int gnutls_ocsp_resp_export(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * data)
+int gnutls_ocsp_resp_export(gnutls_ocsp_resp_const_t resp, gnutls_datum_t *data)
{
return gnutls_ocsp_resp_export2(resp, data, GNUTLS_X509_FMT_DER);
}
@@ -416,7 +407,7 @@ int gnutls_ocsp_resp_export(gnutls_ocsp_resp_const_t resp,
* Since: 3.6.3
**/
int gnutls_ocsp_resp_export2(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * data, gnutls_x509_crt_fmt_t fmt)
+ gnutls_datum_t *data, gnutls_x509_crt_fmt_t fmt)
{
int ret;
gnutls_datum_t der;
@@ -492,13 +483,11 @@ int gnutls_ocsp_req_get_version(gnutls_ocsp_req_const_t req)
* CertID available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be
* returned.
**/
-int
-gnutls_ocsp_req_get_cert_id(gnutls_ocsp_req_const_t req,
- unsigned indx,
- gnutls_digest_algorithm_t * digest,
- gnutls_datum_t * issuer_name_hash,
- gnutls_datum_t * issuer_key_hash,
- gnutls_datum_t * serial_number)
+int gnutls_ocsp_req_get_cert_id(gnutls_ocsp_req_const_t req, unsigned indx,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_datum_t *issuer_name_hash,
+ gnutls_datum_t *issuer_key_hash,
+ gnutls_datum_t *serial_number)
{
gnutls_datum_t sa;
char name[MAX_NAME_SIZE];
@@ -598,18 +587,17 @@ gnutls_ocsp_req_get_cert_id(gnutls_ocsp_req_const_t req,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_req_add_cert_id(gnutls_ocsp_req_t req,
- gnutls_digest_algorithm_t digest,
- const gnutls_datum_t * issuer_name_hash,
- const gnutls_datum_t * issuer_key_hash,
- const gnutls_datum_t * serial_number)
+int gnutls_ocsp_req_add_cert_id(gnutls_ocsp_req_t req,
+ gnutls_digest_algorithm_t digest,
+ const gnutls_datum_t *issuer_name_hash,
+ const gnutls_datum_t *issuer_key_hash,
+ const gnutls_datum_t *serial_number)
{
int result;
const char *oid;
- if (req == NULL || issuer_name_hash == NULL
- || issuer_key_hash == NULL || serial_number == NULL) {
+ if (req == NULL || issuer_name_hash == NULL ||
+ issuer_key_hash == NULL || serial_number == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
@@ -626,55 +614,54 @@ gnutls_ocsp_req_add_cert_id(gnutls_ocsp_req_t req,
return _gnutls_asn2err(result);
}
- result = asn1_write_value
- (req->req,
- "tbsRequest.requestList.?LAST.reqCert.hashAlgorithm.algorithm",
- oid, 1);
+ result = asn1_write_value(
+ req->req,
+ "tbsRequest.requestList.?LAST.reqCert.hashAlgorithm.algorithm",
+ oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
/* XXX we don't support any algorithm with parameters */
- result = asn1_write_value
- (req->req,
- "tbsRequest.requestList.?LAST.reqCert.hashAlgorithm.parameters",
- ASN1_NULL, ASN1_NULL_SIZE);
+ result = asn1_write_value(
+ req->req,
+ "tbsRequest.requestList.?LAST.reqCert.hashAlgorithm.parameters",
+ ASN1_NULL, ASN1_NULL_SIZE);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result = asn1_write_value
- (req->req,
- "tbsRequest.requestList.?LAST.reqCert.issuerNameHash",
- issuer_name_hash->data, issuer_name_hash->size);
+ result = asn1_write_value(
+ req->req, "tbsRequest.requestList.?LAST.reqCert.issuerNameHash",
+ issuer_name_hash->data, issuer_name_hash->size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result = asn1_write_value
- (req->req,
- "tbsRequest.requestList.?LAST.reqCert.issuerKeyHash",
- issuer_key_hash->data, issuer_key_hash->size);
+ result = asn1_write_value(
+ req->req, "tbsRequest.requestList.?LAST.reqCert.issuerKeyHash",
+ issuer_key_hash->data, issuer_key_hash->size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result = asn1_write_value
- (req->req, "tbsRequest.requestList.?LAST.reqCert.serialNumber",
- serial_number->data, serial_number->size);
+ result = asn1_write_value(
+ req->req, "tbsRequest.requestList.?LAST.reqCert.serialNumber",
+ serial_number->data, serial_number->size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
/* XXX add separate function that can add extensions too */
- result = asn1_write_value
- (req->req,
- "tbsRequest.requestList.?LAST.singleRequestExtensions", NULL, 0);
+ result = asn1_write_value(
+ req->req,
+ "tbsRequest.requestList.?LAST.singleRequestExtensions", NULL,
+ 0);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -700,10 +687,9 @@ gnutls_ocsp_req_add_cert_id(gnutls_ocsp_req_t req,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
- gnutls_digest_algorithm_t digest,
- gnutls_x509_crt_t issuer, gnutls_x509_crt_t cert)
+int gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
+ gnutls_digest_algorithm_t digest,
+ gnutls_x509_crt_t issuer, gnutls_x509_crt_t cert)
{
int ret;
gnutls_datum_t sn, tmp, inh, ikh;
@@ -717,9 +703,8 @@ gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
return GNUTLS_E_INVALID_REQUEST;
}
- ret = _gnutls_x509_der_encode(cert->cert,
- "tbsCertificate.issuer.rdnSequence",
- &tmp, 0);
+ ret = _gnutls_x509_der_encode(
+ cert->cert, "tbsCertificate.issuer.rdnSequence", &tmp, 0);
if (ret != GNUTLS_E_SUCCESS) {
gnutls_assert();
return ret;
@@ -734,9 +719,9 @@ gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
inh.size = inhlen;
inh.data = inh_buf;
- ret = _gnutls_x509_read_value
- (issuer->cert,
- "tbsCertificate.subjectPublicKeyInfo.subjectPublicKey", &tmp);
+ ret = _gnutls_x509_read_value(
+ issuer->cert,
+ "tbsCertificate.subjectPublicKeyInfo.subjectPublicKey", &tmp);
if (ret != GNUTLS_E_SUCCESS) {
gnutls_assert();
return ret;
@@ -751,9 +736,8 @@ gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
ikh.size = ikhlen;
ikh.data = ikh_buf;
- ret =
- _gnutls_x509_read_value(cert->cert,
- "tbsCertificate.serialNumber", &sn);
+ ret = _gnutls_x509_read_value(cert->cert, "tbsCertificate.serialNumber",
+ &sn);
if (ret != GNUTLS_E_SUCCESS) {
gnutls_assert();
return ret;
@@ -794,11 +778,9 @@ gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,
* extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will
* be returned.
**/
-int
-gnutls_ocsp_req_get_extension(gnutls_ocsp_req_const_t req,
- unsigned indx,
- gnutls_datum_t * oid,
- unsigned int *critical, gnutls_datum_t * data)
+int gnutls_ocsp_req_get_extension(gnutls_ocsp_req_const_t req, unsigned indx,
+ gnutls_datum_t *oid, unsigned int *critical,
+ gnutls_datum_t *data)
{
int ret;
char str_critical[10];
@@ -868,11 +850,9 @@ gnutls_ocsp_req_get_extension(gnutls_ocsp_req_const_t req,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_req_set_extension(gnutls_ocsp_req_t req,
- const char *oid,
- unsigned int critical,
- const gnutls_datum_t * data)
+int gnutls_ocsp_req_set_extension(gnutls_ocsp_req_t req, const char *oid,
+ unsigned int critical,
+ const gnutls_datum_t *data)
{
if (req == NULL || oid == NULL || data == NULL) {
gnutls_assert();
@@ -897,9 +877,8 @@ gnutls_ocsp_req_set_extension(gnutls_ocsp_req_t req,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_req_get_nonce(gnutls_ocsp_req_const_t req,
- unsigned int *critical, gnutls_datum_t * nonce)
+int gnutls_ocsp_req_get_nonce(gnutls_ocsp_req_const_t req,
+ unsigned int *critical, gnutls_datum_t *nonce)
{
int ret;
gnutls_datum_t tmp;
@@ -916,9 +895,8 @@ gnutls_ocsp_req_get_nonce(gnutls_ocsp_req_const_t req,
return ret;
}
- ret =
- _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, tmp.data,
- (size_t)tmp.size, nonce, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, tmp.data,
+ (size_t)tmp.size, nonce, 0);
if (ret < 0) {
gnutls_assert();
gnutls_free(tmp.data);
@@ -943,9 +921,8 @@ gnutls_ocsp_req_get_nonce(gnutls_ocsp_req_const_t req,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_req_set_nonce(gnutls_ocsp_req_t req,
- unsigned int critical, const gnutls_datum_t * nonce)
+int gnutls_ocsp_req_set_nonce(gnutls_ocsp_req_t req, unsigned int critical,
+ const gnutls_datum_t *nonce)
{
int ret;
gnutls_datum_t dernonce;
@@ -1085,10 +1062,9 @@ int gnutls_ocsp_resp_get_status(gnutls_ocsp_resp_const_t resp)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_get_response(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * response_type_oid,
- gnutls_datum_t * response)
+int gnutls_ocsp_resp_get_response(gnutls_ocsp_resp_const_t resp,
+ gnutls_datum_t *response_type_oid,
+ gnutls_datum_t *response)
{
int ret;
@@ -1098,10 +1074,9 @@ gnutls_ocsp_resp_get_response(gnutls_ocsp_resp_const_t resp,
}
if (response_type_oid != NULL) {
- ret =
- _gnutls_x509_read_value(resp->resp,
- "responseBytes.responseType",
- response_type_oid);
+ ret = _gnutls_x509_read_value(resp->resp,
+ "responseBytes.responseType",
+ response_type_oid);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1109,9 +1084,8 @@ gnutls_ocsp_resp_get_response(gnutls_ocsp_resp_const_t resp,
}
if (response != NULL) {
- ret =
- _gnutls_x509_read_value(resp->resp,
- "responseBytes.response", response);
+ ret = _gnutls_x509_read_value(
+ resp->resp, "responseBytes.response", response);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1164,19 +1138,17 @@ int gnutls_ocsp_resp_get_version(gnutls_ocsp_resp_const_t resp)
* negative error code is returned. When no data exist it will
* return success and set @dn elements to zero.
**/
-int
-gnutls_ocsp_resp_get_responder(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * dn)
+int gnutls_ocsp_resp_get_responder(gnutls_ocsp_resp_const_t resp,
+ gnutls_datum_t *dn)
{
int ret;
- ret =
- gnutls_ocsp_resp_get_responder2(resp, dn,
- GNUTLS_X509_DN_FLAG_COMPAT);
+ ret = gnutls_ocsp_resp_get_responder2(resp, dn,
+ GNUTLS_X509_DN_FLAG_COMPAT);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
dn->data = NULL;
dn->size = 0;
- return 0; /* for backwards compatibility */
+ return 0; /* for backwards compatibility */
}
return ret;
@@ -1207,9 +1179,8 @@ gnutls_ocsp_resp_get_responder(gnutls_ocsp_resp_const_t resp,
* negative error code is returned. When no data exist it will return
* %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE.
**/
-int
-gnutls_ocsp_resp_get_responder2(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * dn, unsigned flags)
+int gnutls_ocsp_resp_get_responder2(gnutls_ocsp_resp_const_t resp,
+ gnutls_datum_t *dn, unsigned flags)
{
if (resp == NULL || dn == NULL) {
gnutls_assert();
@@ -1220,8 +1191,8 @@ gnutls_ocsp_resp_get_responder2(gnutls_ocsp_resp_const_t resp,
dn->size = 0;
return _gnutls_x509_get_dn(resp->basicresp,
- "tbsResponseData.responderID.byName",
- dn, flags);
+ "tbsResponseData.responderID.byName", dn,
+ flags);
}
/**
@@ -1240,9 +1211,8 @@ gnutls_ocsp_resp_get_responder2(gnutls_ocsp_resp_const_t resp,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t resp,
- unsigned type, gnutls_datum_t * raw)
+int gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t resp,
+ unsigned type, gnutls_datum_t *raw)
{
int ret;
@@ -1252,17 +1222,16 @@ gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t resp,
}
if (type == GNUTLS_OCSP_RESP_ID_KEY)
- ret =
- _gnutls_x509_read_value(resp->basicresp,
- "tbsResponseData.responderID.byKey",
- raw);
+ ret = _gnutls_x509_read_value(
+ resp->basicresp, "tbsResponseData.responderID.byKey",
+ raw);
else {
gnutls_datum_t tmp;
/* simply reading a CHOICE of CHOICE value doesn't work in libtasn1 */
- ret = _gnutls_x509_get_raw_field2(resp->basicresp, &resp->der,
- "tbsResponseData.responderID.byName",
- &tmp);
+ ret = _gnutls_x509_get_raw_field2(
+ resp->basicresp, &resp->der,
+ "tbsResponseData.responderID.byName", &tmp);
if (ret >= 0) {
int real;
/* skip the tag */
@@ -1295,11 +1264,11 @@ gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t resp,
}
}
- if (ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND
- || ret == GNUTLS_E_ASN1_VALUE_NOT_FOUND)
+ if (ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND ||
+ ret == GNUTLS_E_ASN1_VALUE_NOT_FOUND)
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
- fail:
+fail:
return ret;
}
@@ -1320,16 +1289,15 @@ time_t gnutls_ocsp_resp_get_produced(gnutls_ocsp_resp_const_t resp)
if (resp == NULL || resp->basicresp == NULL) {
gnutls_assert();
- return (time_t) (-1);
+ return (time_t)(-1);
}
len = sizeof(ttime) - 1;
- ret =
- asn1_read_value(resp->basicresp, "tbsResponseData.producedAt",
- ttime, &len);
+ ret = asn1_read_value(resp->basicresp, "tbsResponseData.producedAt",
+ ttime, &len);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
- return (time_t) (-1);
+ return (time_t)(-1);
}
c_time = _gnutls_x509_generalTime2gtime(ttime);
@@ -1351,15 +1319,12 @@ time_t gnutls_ocsp_resp_get_produced(gnutls_ocsp_resp_const_t resp)
*
* Since: 3.1.3
**/
-int
-gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp,
- unsigned int indx, gnutls_x509_crt_t crt)
+int gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp, unsigned int indx,
+ gnutls_x509_crt_t crt)
{
int ret;
gnutls_digest_algorithm_t digest;
- gnutls_datum_t rdn_hash = { NULL, 0 }, rserial = {
- NULL, 0
- };
+ gnutls_datum_t rdn_hash = { NULL, 0 }, rserial = { NULL, 0 };
gnutls_datum_t cserial = { NULL, 0 };
gnutls_datum_t dn = { NULL, 0 };
uint8_t cdn_hash[MAX_HASH_SIZE];
@@ -1368,10 +1333,9 @@ gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp,
if (resp == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- gnutls_ocsp_resp_get_single(resp, indx, &digest, &rdn_hash,
- NULL, &rserial, NULL, NULL, NULL,
- NULL, NULL);
+ ret = gnutls_ocsp_resp_get_single(resp, indx, &digest, &rdn_hash, NULL,
+ &rserial, NULL, NULL, NULL, NULL,
+ NULL);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1401,8 +1365,8 @@ gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp,
}
cserial.size = t;
- if (rserial.size != cserial.size
- || memcmp(cserial.data, rserial.data, rserial.size) != 0) {
+ if (rserial.size != cserial.size ||
+ memcmp(cserial.data, rserial.data, rserial.size) != 0) {
ret = GNUTLS_E_OCSP_RESPONSE_ERROR;
gnutls_assert();
goto cleanup;
@@ -1428,7 +1392,7 @@ gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(rdn_hash.data);
gnutls_free(rserial.data);
gnutls_free(cserial.data);
@@ -1464,18 +1428,14 @@ gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp,
* CertID available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be
* returned.
**/
-int
-gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
- unsigned indx,
- gnutls_digest_algorithm_t * digest,
- gnutls_datum_t * issuer_name_hash,
- gnutls_datum_t * issuer_key_hash,
- gnutls_datum_t * serial_number,
- unsigned int *cert_status,
- time_t * this_update,
- time_t * next_update,
- time_t * revocation_time,
- unsigned int *revocation_reason)
+int gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp, unsigned indx,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_datum_t *issuer_name_hash,
+ gnutls_datum_t *issuer_key_hash,
+ gnutls_datum_t *serial_number,
+ unsigned int *cert_status, time_t *this_update,
+ time_t *next_update, time_t *revocation_time,
+ unsigned int *revocation_reason)
{
char name[MAX_NAME_SIZE];
int ret, result;
@@ -1493,9 +1453,10 @@ gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
serial_number->data = NULL;
if (digest) {
- snprintf(name, sizeof(name),
- "tbsResponseData.responses.?%u.certID.hashAlgorithm.algorithm",
- indx + 1);
+ snprintf(
+ name, sizeof(name),
+ "tbsResponseData.responses.?%u.certID.hashAlgorithm.algorithm",
+ indx + 1);
len = sizeof(oidtmp);
result = asn1_read_value(resp->basicresp, name, oidtmp, &len);
if (result == ASN1_ELEMENT_NOT_FOUND) {
@@ -1600,7 +1561,7 @@ gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
result = asn1_read_value(resp->basicresp, name, ttime, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
- *next_update = (time_t) (-1);
+ *next_update = (time_t)(-1);
} else
*next_update = _gnutls_x509_generalTime2gtime(ttime);
}
@@ -1608,22 +1569,24 @@ gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
if (revocation_time) {
snprintf(name, sizeof(name),
"tbsResponseData.responses.?%u.certStatus."
- "revoked.revocationTime", indx + 1);
+ "revoked.revocationTime",
+ indx + 1);
len = sizeof(ttime) - 1;
result = asn1_read_value(resp->basicresp, name, ttime, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
- *revocation_time = (time_t) (-1);
+ *revocation_time = (time_t)(-1);
} else
*revocation_time =
- _gnutls_x509_generalTime2gtime(ttime);
+ _gnutls_x509_generalTime2gtime(ttime);
}
/* revocation_reason */
if (revocation_reason) {
snprintf(name, sizeof(name),
"tbsResponseData.responses.?%u.certStatus."
- "revoked.revocationReason", indx + 1);
+ "revoked.revocationReason",
+ indx + 1);
ret = _gnutls_x509_read_uint(resp->basicresp, name,
revocation_reason);
@@ -1632,7 +1595,7 @@ gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
}
return GNUTLS_E_SUCCESS;
- fail:
+fail:
if (issuer_name_hash)
gnutls_free(issuer_name_hash->data);
if (issuer_key_hash)
@@ -1667,11 +1630,9 @@ gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp,
* extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will
* be returned.
**/
-int
-gnutls_ocsp_resp_get_extension(gnutls_ocsp_resp_const_t resp,
- unsigned indx,
- gnutls_datum_t * oid,
- unsigned int *critical, gnutls_datum_t * data)
+int gnutls_ocsp_resp_get_extension(gnutls_ocsp_resp_const_t resp, unsigned indx,
+ gnutls_datum_t *oid, unsigned int *critical,
+ gnutls_datum_t *data)
{
int ret;
char str_critical[10];
@@ -1743,25 +1704,22 @@ gnutls_ocsp_resp_get_extension(gnutls_ocsp_resp_const_t resp,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error code is returned.
**/
-int
-gnutls_ocsp_resp_get_nonce(gnutls_ocsp_resp_const_t resp,
- unsigned int *critical, gnutls_datum_t * nonce)
+int gnutls_ocsp_resp_get_nonce(gnutls_ocsp_resp_const_t resp,
+ unsigned int *critical, gnutls_datum_t *nonce)
{
int ret;
gnutls_datum_t tmp;
- ret =
- _gnutls_get_extension(resp->basicresp,
- "tbsResponseData.responseExtensions",
- GNUTLS_OCSP_NONCE, 0, &tmp, critical);
+ ret = _gnutls_get_extension(resp->basicresp,
+ "tbsResponseData.responseExtensions",
+ GNUTLS_OCSP_NONCE, 0, &tmp, critical);
if (ret != GNUTLS_E_SUCCESS) {
gnutls_assert();
return ret;
}
- ret =
- _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, tmp.data,
- (size_t)tmp.size, nonce, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, tmp.data,
+ (size_t)tmp.size, nonce, 0);
if (ret < 0) {
gnutls_assert();
gnutls_free(tmp.data);
@@ -1813,9 +1771,8 @@ int gnutls_ocsp_resp_get_signature_algorithm(gnutls_ocsp_resp_const_t resp)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_get_signature(gnutls_ocsp_resp_const_t resp,
- gnutls_datum_t * sig)
+int gnutls_ocsp_resp_get_signature(gnutls_ocsp_resp_const_t resp,
+ gnutls_datum_t *sig)
{
int ret;
@@ -1855,9 +1812,8 @@ gnutls_ocsp_resp_get_signature(gnutls_ocsp_resp_const_t resp,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_get_certs(gnutls_ocsp_resp_const_t resp,
- gnutls_x509_crt_t ** certs, size_t *ncerts)
+int gnutls_ocsp_resp_get_certs(gnutls_ocsp_resp_const_t resp,
+ gnutls_x509_crt_t **certs, size_t *ncerts)
{
int ret;
size_t ctr = 0, i;
@@ -1933,7 +1889,7 @@ gnutls_ocsp_resp_get_certs(gnutls_ocsp_resp_const_t resp,
return GNUTLS_E_SUCCESS;
- error:
+error:
gnutls_free(c.data);
for (i = 0; i < ctr; i++)
gnutls_x509_crt_deinit(tmpcerts[i]);
@@ -1956,9 +1912,8 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
&riddn);
if (rc == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_assert();
- rc = gnutls_ocsp_resp_get_responder_raw_id(resp,
- GNUTLS_OCSP_RESP_ID_KEY,
- &keyid);
+ rc = gnutls_ocsp_resp_get_responder_raw_id(
+ resp, GNUTLS_OCSP_RESP_ID_KEY, &keyid);
}
if (rc != GNUTLS_E_SUCCESS) {
gnutls_assert();
@@ -1976,34 +1931,32 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
assert(certs[i] != NULL);
_gnutls_cert_log("checking whether signed against", certs[i]);
if (keyid.data != NULL) {
- uint8_t digest[64]; /* to support longer key IDs */
+ uint8_t digest[64]; /* to support longer key IDs */
gnutls_datum_t spki;
size_t digest_size = sizeof(digest);
int len;
- _gnutls_debug_log
- ("checking key ID against SPK identifier\n");
+ _gnutls_debug_log(
+ "checking key ID against SPK identifier\n");
/* check subject key identifier as well, some certificates
* match that, but not the hash */
- rc = gnutls_x509_crt_get_subject_key_id(certs[i],
- digest,
- &digest_size,
- NULL);
- if (rc >= 0 && digest_size == keyid.size
- && memcmp(keyid.data, digest, digest_size) == 0) {
+ rc = gnutls_x509_crt_get_subject_key_id(
+ certs[i], digest, &digest_size, NULL);
+ if (rc >= 0 && digest_size == keyid.size &&
+ memcmp(keyid.data, digest, digest_size) == 0) {
signercert = certs[i];
goto quit;
}
- _gnutls_debug_log
- ("checking key ID against SPKI hash\n");
+ _gnutls_debug_log(
+ "checking key ID against SPKI hash\n");
/* continue with checking the hash */
- rc = _gnutls_x509_get_raw_field2(certs[i]->cert,
- &certs[i]->der,
- "tbsCertificate.subjectPublicKeyInfo.subjectPublicKey",
- &spki);
+ rc = _gnutls_x509_get_raw_field2(
+ certs[i]->cert, &certs[i]->der,
+ "tbsCertificate.subjectPublicKeyInfo.subjectPublicKey",
+ &spki);
if (rc < 0 || spki.size < 6) {
gnutls_assert();
signercert = NULL;
@@ -2013,7 +1966,7 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
/* For some reason the protocol requires we skip the
* tag, length and number of unused bits.
*/
- if (spki.data[0] != 0x03) { /* bit string */
+ if (spki.data[0] != 0x03) { /* bit string */
gnutls_assert();
signercert = NULL;
continue;
@@ -2026,7 +1979,7 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
signercert = NULL;
continue;
}
- len += 1 + 1; /* skip unused bits as well */
+ len += 1 + 1; /* skip unused bits as well */
if (len >= (int)spki.size) {
gnutls_assert();
signercert = NULL;
@@ -2051,9 +2004,9 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
_gnutls_debug_log("checking issuer DN\n");
assert(riddn.data != NULL);
- if ((certs[i]->raw_dn.size == riddn.size)
- && memcmp(riddn.data, certs[i]->raw_dn.data,
- riddn.size) == 0) {
+ if ((certs[i]->raw_dn.size == riddn.size) &&
+ memcmp(riddn.data, certs[i]->raw_dn.data,
+ riddn.size) == 0) {
signercert = certs[i];
goto quit;
}
@@ -2064,7 +2017,7 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
gnutls_assert();
signercert = NULL;
- quit:
+quit:
gnutls_free(riddn.data);
gnutls_free(keyid.data);
for (i = 0; i < ncerts; i++)
@@ -2074,10 +2027,9 @@ static gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
return signercert;
}
-static int
-_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
- gnutls_x509_crt_t signercert,
- unsigned int *verify, unsigned int flags)
+static int _ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
+ gnutls_x509_crt_t signercert,
+ unsigned int *verify, unsigned int flags)
{
gnutls_datum_t sig = { NULL };
gnutls_datum_t data = { NULL };
@@ -2136,7 +2088,7 @@ _ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
rc = GNUTLS_E_SUCCESS;
- done:
+done:
gnutls_free(sig.data);
gnutls_pubkey_deinit(pubkey);
@@ -2167,9 +2119,8 @@ static int check_ocsp_purpose(gnutls_x509_crt_t signercert)
for (indx = 0;; indx++) {
oidsize = sizeof(oidtmp);
- rc = gnutls_x509_crt_get_key_purpose_oid(signercert, indx,
- oidtmp, &oidsize,
- NULL);
+ rc = gnutls_x509_crt_get_key_purpose_oid(
+ signercert, indx, oidtmp, &oidsize, NULL);
if (rc == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_assert();
@@ -2215,10 +2166,9 @@ static int check_ocsp_purpose(gnutls_x509_crt_t signercert)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
- gnutls_x509_crt_t issuer,
- unsigned int *verify, unsigned int flags)
+int gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
+ gnutls_x509_crt_t issuer,
+ unsigned int *verify, unsigned int flags)
{
gnutls_x509_crt_t signercert;
int rc;
@@ -2232,7 +2182,6 @@ gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
if (!signercert) {
signercert = issuer;
} else if (!gnutls_x509_crt_equals(signercert, issuer)) {
-
/* response contains a signer. Verify him */
unsigned int vtmp;
@@ -2263,7 +2212,7 @@ gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
rc = _ocsp_resp_verify_direct(resp, signercert, verify, flags);
- done:
+done:
if (signercert != issuer)
gnutls_x509_crt_deinit(signercert);
@@ -2300,10 +2249,9 @@ gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
- gnutls_x509_trust_list_t trustlist,
- unsigned int *verify, unsigned int flags)
+int gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
+ gnutls_x509_trust_list_t trustlist,
+ unsigned int *verify, unsigned int flags)
{
gnutls_x509_crt_t signercert = NULL;
int rc;
@@ -2321,9 +2269,8 @@ gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
if (!signercert) {
gnutls_datum_t dn;
- rc = gnutls_ocsp_resp_get_responder_raw_id(resp,
- GNUTLS_OCSP_RESP_ID_DN,
- &dn);
+ rc = gnutls_ocsp_resp_get_responder_raw_id(
+ resp, GNUTLS_OCSP_RESP_ID_DN, &dn);
if (rc < 0) {
gnutls_assert();
*verify = GNUTLS_OCSP_VERIFY_SIGNER_NOT_FOUND;
@@ -2357,11 +2304,9 @@ gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
gnutls_assert();
- rc = gnutls_x509_trust_list_verify_crt2(trustlist,
- &signercert, 1,
- &vdata, 1,
- flags, &vtmp,
- NULL);
+ rc = gnutls_x509_trust_list_verify_crt2(
+ trustlist, &signercert, 1, &vdata, 1, flags,
+ &vtmp, NULL);
if (rc != GNUTLS_E_SUCCESS) {
gnutls_assert();
goto done;
@@ -2378,7 +2323,7 @@ gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
if (rc < 0) {
gnutls_assert();
*verify =
- GNUTLS_OCSP_VERIFY_SIGNER_KEYUSAGE_ERROR;
+ GNUTLS_OCSP_VERIFY_SIGNER_KEYUSAGE_ERROR;
rc = GNUTLS_E_SUCCESS;
goto done;
}
@@ -2387,7 +2332,7 @@ gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
rc = _ocsp_resp_verify_direct(resp, signercert, verify, flags);
- done:
+done:
gnutls_x509_crt_deinit(signercert);
return rc;
@@ -2417,11 +2362,11 @@ gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,
*
* Since: 3.6.3
**/
-int
-gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
- unsigned int *size,
- const gnutls_datum_t * resp_data,
- gnutls_x509_crt_fmt_t format, unsigned int flags)
+int gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t **ocsps,
+ unsigned int *size,
+ const gnutls_datum_t *resp_data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags)
{
gnutls_ocsp_resp_t resp = NULL;
gnutls_ocsp_resp_t *new_ocsps;
@@ -2438,17 +2383,15 @@ gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
p.data = memmem(p.data, p.size, PEM_OCSP_RESPONSE,
sizeof(PEM_OCSP_RESPONSE) - 1);
if (p.data == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
p.size -= p.data - resp_data->data;
if (p.size <= 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
goto cleanup;
}
@@ -2459,9 +2402,8 @@ gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
goto fail;
}
- ret =
- gnutls_ocsp_resp_import2(resp, &p,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_ocsp_resp_import2(resp, &p,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -2472,10 +2414,8 @@ gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
goto fail;
}
- new_ocsps = _gnutls_reallocarray(*ocsps,
- *size + 1,
- sizeof
- (gnutls_ocsp_resp_t));
+ new_ocsps = _gnutls_reallocarray(
+ *ocsps, *size + 1, sizeof(gnutls_ocsp_resp_t));
if (new_ocsps == NULL) {
resp = NULL;
gnutls_assert();
@@ -2503,9 +2443,8 @@ gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
return gnutls_assert_val(ret);
}
- ret =
- gnutls_ocsp_resp_import2(resp, resp_data,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_ocsp_resp_import2(resp, resp_data,
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2526,13 +2465,13 @@ gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t ** ocsps,
ret = 0;
goto cleanup;
- fail:
+fail:
for (i = 0; i < *size; i++) {
gnutls_ocsp_resp_deinit((*ocsps)[i]);
}
gnutls_free(*ocsps);
- cleanup:
+cleanup:
if (resp)
gnutls_ocsp_resp_deinit(resp);
return ret;
@@ -2550,12 +2489,12 @@ time_t _gnutls_ocsp_get_validity(gnutls_ocsp_resp_const_t resp)
int ret;
ret = gnutls_ocsp_resp_get_single(resp, 0, NULL, NULL, NULL, NULL,
- &cert_status, &vtime, &ntime,
- &rtime, NULL);
+ &cert_status, &vtime, &ntime, &rtime,
+ NULL);
if (ret < 0) {
- _gnutls_debug_log
- ("There was an error parsing the OCSP response: %s\n",
- gnutls_strerror(ret));
+ _gnutls_debug_log(
+ "There was an error parsing the OCSP response: %s\n",
+ gnutls_strerror(ret));
return gnutls_assert_val(-1);
}
@@ -2605,39 +2544,37 @@ const char *_gnutls_ocsp_verify_status_to_str(gnutls_ocsp_verify_reason_t r,
_("The OCSP response is trusted. "));
if (r & GNUTLS_OCSP_VERIFY_SIGNER_NOT_FOUND)
- _gnutls_buffer_append_str(&str,
- _
- ("The OCSP response's signer could not be found. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The OCSP response's signer could not be found. "));
if (r & GNUTLS_OCSP_VERIFY_SIGNER_KEYUSAGE_ERROR)
- _gnutls_buffer_append_str(&str,
- _
- ("Error in the signer's key usageflags. "));
+ _gnutls_buffer_append_str(
+ &str, _("Error in the signer's key usageflags. "));
if (r & GNUTLS_OCSP_VERIFY_UNTRUSTED_SIGNER)
- _gnutls_buffer_append_str(&str,
- _
- ("The OCSP response's signer is not trusted. "));
+ _gnutls_buffer_append_str(
+ &str, _("The OCSP response's signer is not trusted. "));
if (r & GNUTLS_OCSP_VERIFY_INSECURE_ALGORITHM)
- _gnutls_buffer_append_str(&str,
- _
- ("The OCSP response depends on insecure algorithms. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The OCSP response depends on insecure algorithms. "));
if (r & GNUTLS_OCSP_VERIFY_SIGNATURE_FAILURE)
- _gnutls_buffer_append_str(&str,
- _
- ("The OCSP response's signature cannot be validated. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The OCSP response's signature cannot be validated. "));
if (r & GNUTLS_OCSP_VERIFY_CERT_NOT_ACTIVATED)
- _gnutls_buffer_append_str(&str,
- _
- ("The OCSP response's signer's certificate is not activated. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The OCSP response's signer's certificate is not activated. "));
if (r & GNUTLS_OCSP_VERIFY_CERT_EXPIRED)
- _gnutls_buffer_append_str(&str,
- _
- ("The OCSP response's signer's certificate is expired. "));
+ _gnutls_buffer_append_str(
+ &str,
+ _("The OCSP response's signer's certificate is expired. "));
ret = _gnutls_buffer_to_datum(&str, &buf, 1);
if (ret < 0)
diff --git a/lib/x509/ocsp.h b/lib/x509/ocsp.h
index 8607a01ed5..98127dcffd 100644
--- a/lib/x509/ocsp.h
+++ b/lib/x509/ocsp.h
@@ -21,18 +21,18 @@
*/
#ifndef GNUTLS_LIB_X509_OCSP_H
-# define GNUTLS_LIB_X509_OCSP_H
+#define GNUTLS_LIB_X509_OCSP_H
/* Online Certificate Status Protocol - RFC 2560
*/
-# include <gnutls/ocsp.h>
+#include <gnutls/ocsp.h>
/* fifteen days */
-# define MAX_OCSP_VALIDITY_SECS (15*60*60*24)
+#define MAX_OCSP_VALIDITY_SECS (15 * 60 * 60 * 24)
time_t _gnutls_ocsp_get_validity(gnutls_ocsp_resp_const_t resp);
-# define MAX_OCSP_MSG_SIZE 128
+#define MAX_OCSP_MSG_SIZE 128
const char *_gnutls_ocsp_verify_status_to_str(gnutls_ocsp_verify_reason_t r,
char out[MAX_OCSP_MSG_SIZE]);
-#endif /* GNUTLS_LIB_X509_OCSP_H */
+#endif /* GNUTLS_LIB_X509_OCSP_H */
diff --git a/lib/x509/ocsp_output.c b/lib/x509/ocsp_output.c
index cdab4e866b..5fbbf86df8 100644
--- a/lib/x509/ocsp_output.c
+++ b/lib/x509/ocsp_output.c
@@ -35,7 +35,7 @@
#define addf _gnutls_buffer_append_printf
#define adds _gnutls_buffer_append_str
-static void print_req(gnutls_buffer_st * str, gnutls_ocsp_req_const_t req)
+static void print_req(gnutls_buffer_st *str, gnutls_ocsp_req_const_t req)
{
int ret;
unsigned indx;
@@ -58,9 +58,8 @@ static void print_req(gnutls_buffer_st * str, gnutls_ocsp_req_const_t req)
gnutls_digest_algorithm_t digest;
gnutls_datum_t in, ik, sn;
- ret =
- gnutls_ocsp_req_get_cert_id(req, indx, &digest, &in,
- &ik, &sn);
+ ret = gnutls_ocsp_req_get_cert_id(req, indx, &digest, &in, &ik,
+ &sn);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
addf(str, "\t\tCertificate ID:\n");
@@ -96,9 +95,8 @@ static void print_req(gnutls_buffer_st * str, gnutls_ocsp_req_const_t req)
unsigned int critical;
gnutls_datum_t data;
- ret =
- gnutls_ocsp_req_get_extension(req, indx, &oid,
- &critical, &data);
+ ret = gnutls_ocsp_req_get_extension(req, indx, &oid, &critical,
+ &data);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret != GNUTLS_E_SUCCESS) {
@@ -127,8 +125,8 @@ static void print_req(gnutls_buffer_st * str, gnutls_ocsp_req_const_t req)
gnutls_free(nonce.data);
}
} else {
- addf(str, "\t\tUnknown extension %s (%s):\n",
- oid.data, critical ? "critical" : "not critical");
+ addf(str, "\t\tUnknown extension %s (%s):\n", oid.data,
+ critical ? "critical" : "not critical");
adds(str, _("\t\t\tASCII: "));
_gnutls_buffer_asciiprint(str, (char *)data.data,
@@ -165,9 +163,9 @@ static void print_req(gnutls_buffer_st * str, gnutls_ocsp_req_const_t req)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_req_print(gnutls_ocsp_req_const_t req,
- gnutls_ocsp_print_formats_t format, gnutls_datum_t * out)
+int gnutls_ocsp_req_print(gnutls_ocsp_req_const_t req,
+ gnutls_ocsp_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
int rc;
@@ -192,9 +190,8 @@ gnutls_ocsp_req_print(gnutls_ocsp_req_const_t req,
return GNUTLS_E_SUCCESS;
}
-static void
-print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
- gnutls_ocsp_print_formats_t format)
+static void print_resp(gnutls_buffer_st *str, gnutls_ocsp_resp_const_t resp,
+ gnutls_ocsp_print_formats_t format)
{
int ret;
unsigned indx;
@@ -250,13 +247,13 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
adds(str, "\tResponse Type: ");
#define OCSP_BASIC "1.3.6.1.5.5.7.48.1.1"
- if (oid.size == sizeof(OCSP_BASIC) - 1
- && memcmp(oid.data, OCSP_BASIC, oid.size) == 0) {
+ if (oid.size == sizeof(OCSP_BASIC) - 1 &&
+ memcmp(oid.data, OCSP_BASIC, oid.size) == 0) {
adds(str, "Basic OCSP Response\n");
gnutls_free(oid.data);
} else {
- addf(str, "Unknown response type (%.*s)\n",
- oid.size, oid.data);
+ addf(str, "Unknown response type (%.*s)\n", oid.size,
+ oid.data);
gnutls_free(oid.data);
return;
}
@@ -279,10 +276,8 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
ret = gnutls_ocsp_resp_get_responder2(resp, &dn, 0);
if (ret < 0) {
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- ret =
- gnutls_ocsp_resp_get_responder_raw_id(resp,
- GNUTLS_OCSP_RESP_ID_KEY,
- &dn);
+ ret = gnutls_ocsp_resp_get_responder_raw_id(
+ resp, GNUTLS_OCSP_RESP_ID_KEY, &dn);
if (ret >= 0) {
addf(str, _("\tResponder Key ID: "));
@@ -307,13 +302,12 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
struct tm t;
time_t tim = gnutls_ocsp_resp_get_produced(resp);
- if (tim == (time_t) - 1)
+ if (tim == (time_t)-1)
addf(str, "error: ocsp_resp_get_produced\n");
else if (gmtime_r(&tim, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)tim);
- else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y", &t)
- == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)tim);
else
@@ -330,12 +324,9 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
time_t revocation_time;
unsigned int revocation_reason;
- ret = gnutls_ocsp_resp_get_single(resp,
- indx,
- &digest, &in, &ik, &sn,
- &cert_status,
- &this_update,
- &next_update,
+ ret = gnutls_ocsp_resp_get_single(resp, indx, &digest, &in, &ik,
+ &sn, &cert_status,
+ &this_update, &next_update,
&revocation_time,
&revocation_reason);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
@@ -399,13 +390,13 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
size_t max = sizeof(s);
struct tm t;
- if (revocation_time == (time_t) - 1)
+ if (revocation_time == (time_t)-1)
addf(str, "error: revocation_time\n");
else if (gmtime_r(&revocation_time, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)revocation_time);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)revocation_time);
else
@@ -417,13 +408,13 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
size_t max = sizeof(s);
struct tm t;
- if (this_update == (time_t) - 1)
+ if (this_update == (time_t)-1)
addf(str, "error: this_update\n");
else if (gmtime_r(&this_update, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)this_update);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)this_update);
else
@@ -435,13 +426,13 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
size_t max = sizeof(s);
struct tm t;
- if (next_update != (time_t) - 1) {
+ if (next_update != (time_t)-1) {
if (gmtime_r(&next_update, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)next_update);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y",
- &t) == 0)
+ else if (strftime(s, max,
+ "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)next_update);
else
@@ -459,9 +450,8 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
unsigned int critical;
gnutls_datum_t data;
- ret =
- gnutls_ocsp_resp_get_extension(resp, indx, &oid,
- &critical, &data);
+ ret = gnutls_ocsp_resp_get_extension(resp, indx, &oid,
+ &critical, &data);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (ret != GNUTLS_E_SUCCESS) {
@@ -488,8 +478,8 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
gnutls_free(nonce.data);
}
} else {
- addf(str, "\t\tUnknown extension %s (%s):\n",
- oid.data, critical ? "critical" : "not critical");
+ addf(str, "\t\tUnknown extension %s (%s):\n", oid.data,
+ critical ? "critical" : "not critical");
adds(str, _("\t\t\tASCII: "));
_gnutls_buffer_asciiprint(str, (char *)data.data,
@@ -504,7 +494,6 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
gnutls_free(oid.data);
gnutls_free(data.data);
-
}
ret = gnutls_ocsp_resp_get_signature_algorithm(resp);
@@ -518,9 +507,8 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
addf(str, _("\tSignature Algorithm: %s\n"), name);
}
if (ret != GNUTLS_SIGN_UNKNOWN && gnutls_sign_is_secure(ret) == 0) {
- adds(str,
- _("warning: signed using a broken signature "
- "algorithm that can be forged.\n"));
+ adds(str, _("warning: signed using a broken signature "
+ "algorithm that can be forged.\n"));
}
if (format == GNUTLS_OCSP_PRINT_FULL) {
@@ -553,10 +541,8 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
for (i = 0; i < ncerts; i++) {
size_t s = 0;
- ret =
- gnutls_x509_crt_print(certs[i],
- GNUTLS_CRT_PRINT_FULL,
- &out);
+ ret = gnutls_x509_crt_print(
+ certs[i], GNUTLS_CRT_PRINT_FULL, &out);
if (ret < 0)
addf(str, "error: crt_print: %s\n",
gnutls_strerror(ret));
@@ -565,32 +551,28 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
gnutls_free(out.data);
}
- ret =
- gnutls_x509_crt_export(certs[i],
- GNUTLS_X509_FMT_PEM,
- NULL, &s);
+ ret = gnutls_x509_crt_export(
+ certs[i], GNUTLS_X509_FMT_PEM, NULL,
+ &s);
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
- addf(str,
- "error: crt_export: %s\n",
+ addf(str, "error: crt_export: %s\n",
gnutls_strerror(ret));
else {
out.data = gnutls_malloc(s);
if (out.data == NULL)
- addf(str,
- "error: malloc: %s\n",
- gnutls_strerror
- (GNUTLS_E_MEMORY_ERROR));
+ addf(str, "error: malloc: %s\n",
+ gnutls_strerror(
+ GNUTLS_E_MEMORY_ERROR));
else {
- ret =
- gnutls_x509_crt_export
- (certs[i],
- GNUTLS_X509_FMT_PEM,
- out.data, &s);
+ ret = gnutls_x509_crt_export(
+ certs[i],
+ GNUTLS_X509_FMT_PEM,
+ out.data, &s);
if (ret < 0)
addf(str,
"error: crt_export: %s\n",
- gnutls_strerror
- (ret));
+ gnutls_strerror(
+ ret));
else {
out.size = s;
addf(str, "%.*s",
@@ -625,9 +607,9 @@ print_resp(gnutls_buffer_st * str, gnutls_ocsp_resp_const_t resp,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_ocsp_resp_print(gnutls_ocsp_resp_const_t resp,
- gnutls_ocsp_print_formats_t format, gnutls_datum_t * out)
+int gnutls_ocsp_resp_print(gnutls_ocsp_resp_const_t resp,
+ gnutls_ocsp_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
int rc;
diff --git a/lib/x509/output.c b/lib/x509/output.c
index 182155fda6..a984652115 100644
--- a/lib/x509/output.c
+++ b/lib/x509/output.c
@@ -36,11 +36,11 @@
#define addf _gnutls_buffer_append_printf
#define adds _gnutls_buffer_append_str
-#define NON_NULL(x) (((x)!=NULL)?((char*)(x)):"")
-#define ERROR_STR (char*) "(error)"
+#define NON_NULL(x) (((x) != NULL) ? ((char *)(x)) : "")
+#define ERROR_STR (char *)"(error)"
-static void print_idn_name(gnutls_buffer_st * str, const char *prefix,
- const char *type, gnutls_datum_t * name)
+static void print_idn_name(gnutls_buffer_st *str, const char *prefix,
+ const char *type, gnutls_datum_t *name)
{
unsigned printable = 1;
unsigned is_printed = 0;
@@ -57,9 +57,8 @@ static void print_idn_name(gnutls_buffer_st * str, const char *prefix,
is_printed = 1;
} else if (name->data != NULL) {
if (strstr((char *)name->data, "xn--") != NULL) {
- ret =
- gnutls_idna_reverse_map((char *)name->data,
- name->size, &out, 0);
+ ret = gnutls_idna_reverse_map((char *)name->data,
+ name->size, &out, 0);
if (ret >= 0) {
addf(str, _("%s%s: %.*s (%s)\n"), prefix, type,
name->size, NON_NULL(name->data),
@@ -76,8 +75,8 @@ static void print_idn_name(gnutls_buffer_st * str, const char *prefix,
}
}
-static void print_idn_email(gnutls_buffer_st * str, const char *prefix,
- const char *type, gnutls_datum_t * name)
+static void print_idn_email(gnutls_buffer_st *str, const char *prefix,
+ const char *type, gnutls_datum_t *name)
{
unsigned printable = 1;
unsigned is_printed = 0;
@@ -94,9 +93,8 @@ static void print_idn_email(gnutls_buffer_st * str, const char *prefix,
is_printed = 1;
} else if (name->data != NULL) {
if (strstr((char *)name->data, "xn--") != NULL) {
- ret =
- _gnutls_idna_email_reverse_map((char *)name->data,
- name->size, &out);
+ ret = _gnutls_idna_email_reverse_map((char *)name->data,
+ name->size, &out);
if (ret >= 0) {
addf(str, _("%s%s: %.*s (%s)\n"), prefix, type,
name->size, NON_NULL(name->data),
@@ -113,23 +111,20 @@ static void print_idn_email(gnutls_buffer_st * str, const char *prefix,
}
}
-static void
-print_name(gnutls_buffer_st * str, const char *prefix, unsigned type,
- gnutls_datum_t * name, unsigned ip_is_cidr)
+static void print_name(gnutls_buffer_st *str, const char *prefix, unsigned type,
+ gnutls_datum_t *name, unsigned ip_is_cidr)
{
char *sname = (char *)name->data;
char str_ip[64];
const char *p;
- if ((type == GNUTLS_SAN_DNSNAME || type == GNUTLS_SAN_OTHERNAME_XMPP
- || type == GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL
- || type == GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL
- || type == GNUTLS_SAN_RFC822NAME
- || type == GNUTLS_SAN_URI) && sname != NULL
- && strlen(sname) != name->size) {
- adds(str,
- _("warning: SAN contains an embedded NUL, "
- "replacing with '!'\n"));
+ if ((type == GNUTLS_SAN_DNSNAME || type == GNUTLS_SAN_OTHERNAME_XMPP ||
+ type == GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL ||
+ type == GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL ||
+ type == GNUTLS_SAN_RFC822NAME || type == GNUTLS_SAN_URI) &&
+ sname != NULL && strlen(sname) != name->size) {
+ adds(str, _("warning: SAN contains an embedded NUL, "
+ "replacing with '!'\n"));
while (strlen(sname) < name->size)
name->data[strlen(sname)] = '!';
}
@@ -311,7 +306,7 @@ static char *crl_get_sign_name(gnutls_x509_crl_t crl, int *algo)
return gnutls_strdup(oid);
}
-static void print_proxy(gnutls_buffer_st * str, gnutls_datum_t * der)
+static void print_proxy(gnutls_buffer_st *str, gnutls_datum_t *der)
{
int pathlen;
char *policyLanguage;
@@ -346,8 +341,8 @@ static void print_proxy(gnutls_buffer_st * str, gnutls_datum_t * der)
gnutls_free(policyLanguage);
}
-static void print_nc(gnutls_buffer_st * str, const char *prefix,
- gnutls_datum_t * der)
+static void print_nc(gnutls_buffer_st *str, const char *prefix,
+ gnutls_datum_t *der)
{
gnutls_x509_name_constraints_t nc;
int ret;
@@ -367,9 +362,8 @@ static void print_nc(gnutls_buffer_st * str, const char *prefix,
snprintf(new_prefix, sizeof(new_prefix), "%s\t\t\t\t", prefix);
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, idx++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_permitted(nc, idx++,
+ &type, &name);
if (ret >= 0) {
if (idx == 1)
@@ -381,9 +375,8 @@ static void print_nc(gnutls_buffer_st * str, const char *prefix,
idx = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, idx++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, idx++,
+ &type, &name);
if (ret >= 0) {
if (idx == 1)
@@ -393,11 +386,11 @@ static void print_nc(gnutls_buffer_st * str, const char *prefix,
}
} while (ret == 0);
- cleanup:
+cleanup:
gnutls_x509_name_constraints_deinit(nc);
}
-static void print_aia(gnutls_buffer_st * str, const gnutls_datum_t * der)
+static void print_aia(gnutls_buffer_st *str, const gnutls_datum_t *der)
{
int err;
int seq;
@@ -439,11 +432,11 @@ static void print_aia(gnutls_buffer_st * str, const gnutls_datum_t * der)
print_name(str, "", san_type, &san, 0);
}
- cleanup:
+cleanup:
gnutls_x509_aia_deinit(aia);
}
-static void print_ski(gnutls_buffer_st * str, gnutls_datum_t * der)
+static void print_ski(gnutls_buffer_st *str, gnutls_datum_t *der)
{
gnutls_datum_t id = { NULL, 0 };
int err;
@@ -462,7 +455,7 @@ static void print_ski(gnutls_buffer_st * str, gnutls_datum_t * der)
gnutls_free(id.data);
}
-static void print_time(gnutls_buffer_st * str, time_t timestamp)
+static void print_time(gnutls_buffer_st *str, time_t timestamp)
{
char s[42];
size_t max = sizeof(s);
@@ -479,7 +472,7 @@ static void print_time(gnutls_buffer_st * str, time_t timestamp)
addf(str, "%s\n", s);
}
-static void print_scts(gnutls_buffer_st * str, const gnutls_datum_t * der,
+static void print_scts(gnutls_buffer_st *str, const gnutls_datum_t *der,
const char *prefix)
{
int retval;
@@ -518,9 +511,8 @@ static void print_scts(gnutls_buffer_st * str, const gnutls_datum_t * der,
continue;
}
- retval = gnutls_x509_ct_sct_get(scts, i,
- &timestamp,
- &logid, &sigalg, &sig);
+ retval = gnutls_x509_ct_sct_get(scts, i, &timestamp, &logid,
+ &sigalg, &sig);
if (retval < 0) {
addf(str, "error: could not get SCT info: %s\n",
gnutls_strerror(retval));
@@ -533,10 +525,11 @@ static void print_scts(gnutls_buffer_st * str, const gnutls_datum_t * der,
addf(str, "\n");
addf(str, _("%s\t\t\t\tTime: "), prefix);
print_time(str, timestamp);
- addf(str, _("%s\t\t\t\tExtensions: none\n"), /* there are no extensions defined for v1 */
+ addf(str,
+ _("%s\t\t\t\tExtensions: none\n"), /* there are no extensions defined for v1 */
prefix);
- addf(str, _("%s\t\t\t\tSignature algorithm: %s\n"),
- prefix, gnutls_sign_get_name(sigalg));
+ addf(str, _("%s\t\t\t\tSignature algorithm: %s\n"), prefix,
+ gnutls_sign_get_name(sigalg));
addf(str, _("%s\t\t\t\tSignature: "), prefix);
_gnutls_buffer_hexprint(str, sig.data, sig.size);
addf(str, "\n");
@@ -547,7 +540,7 @@ static void print_scts(gnutls_buffer_st * str, const gnutls_datum_t * der,
logid.data = NULL;
}
- cleanup:
+cleanup:
_gnutls_free_datum(&sig);
_gnutls_free_datum(&logid);
gnutls_x509_ext_ct_scts_deinit(scts);
@@ -561,16 +554,14 @@ typedef union {
gnutls_x509_crq_t crq;
} cert_type_t;
-static void print_aki_gn_serial(gnutls_buffer_st * str, gnutls_x509_aki_t aki)
+static void print_aki_gn_serial(gnutls_buffer_st *str, gnutls_x509_aki_t aki)
{
gnutls_datum_t san, other_oid, serial;
unsigned int alt_type;
int err;
- err =
- gnutls_x509_aki_get_cert_issuer(aki,
- 0, &alt_type, &san, &other_oid,
- &serial);
+ err = gnutls_x509_aki_get_cert_issuer(aki, 0, &alt_type, &san,
+ &other_oid, &serial);
if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
return;
} else if (err < 0) {
@@ -586,7 +577,7 @@ static void print_aki_gn_serial(gnutls_buffer_st * str, gnutls_x509_aki_t aki)
adds(str, "\n");
}
-static void print_aki(gnutls_buffer_st * str, gnutls_datum_t * der)
+static void print_aki(gnutls_buffer_st *str, gnutls_datum_t *der)
{
int err;
gnutls_x509_aki_t aki;
@@ -623,13 +614,12 @@ static void print_aki(gnutls_buffer_st * str, gnutls_datum_t * der)
_gnutls_buffer_hexprint(str, id.data, id.size);
adds(str, "\n");
- cleanup:
+cleanup:
gnutls_x509_aki_deinit(aki);
}
-static void
-print_key_usage2(gnutls_buffer_st * str, const char *prefix,
- unsigned int key_usage)
+static void print_key_usage2(gnutls_buffer_st *str, const char *prefix,
+ unsigned int key_usage)
{
if (key_usage & GNUTLS_KEY_DIGITAL_SIGNATURE)
addf(str, _("%sDigital signature.\n"), prefix);
@@ -651,9 +641,8 @@ print_key_usage2(gnutls_buffer_st * str, const char *prefix,
addf(str, _("%sKey decipher only.\n"), prefix);
}
-static void
-print_key_usage(gnutls_buffer_st * str, const char *prefix,
- gnutls_datum_t * der)
+static void print_key_usage(gnutls_buffer_st *str, const char *prefix,
+ gnutls_datum_t *der)
{
unsigned int key_usage;
int err;
@@ -667,9 +656,9 @@ print_key_usage(gnutls_buffer_st * str, const char *prefix,
print_key_usage2(str, prefix, key_usage);
}
-static void
-print_private_key_usage_period(gnutls_buffer_st * str, const char *prefix,
- gnutls_datum_t * der)
+static void print_private_key_usage_period(gnutls_buffer_st *str,
+ const char *prefix,
+ gnutls_datum_t *der)
{
time_t activation, expiration;
int err;
@@ -677,9 +666,8 @@ print_private_key_usage_period(gnutls_buffer_st * str, const char *prefix,
struct tm t;
size_t max;
- err =
- gnutls_x509_ext_import_private_key_usage_period(der, &activation,
- &expiration);
+ err = gnutls_x509_ext_import_private_key_usage_period(der, &activation,
+ &expiration);
if (err < 0) {
addf(str, "error: get_private_key_usage_period: %s\n",
gnutls_strerror(err));
@@ -701,10 +689,9 @@ print_private_key_usage_period(gnutls_buffer_st * str, const char *prefix,
addf(str, "error: strftime (%ld)\n", (unsigned long)expiration);
else
addf(str, _("\t\t\tNot After: %s\n"), s);
-
}
-static void print_crldist(gnutls_buffer_st * str, gnutls_datum_t * der)
+static void print_crldist(gnutls_buffer_st *str, gnutls_datum_t *der)
{
int err;
int indx;
@@ -727,9 +714,8 @@ static void print_crldist(gnutls_buffer_st * str, gnutls_datum_t * der)
}
for (indx = 0;; indx++) {
- err =
- gnutls_x509_crl_dist_points_get(dp, indx, &type, &dist,
- &flags);
+ err = gnutls_x509_crl_dist_points_get(dp, indx, &type, &dist,
+ &flags);
if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
goto cleanup;
else if (err < 0) {
@@ -740,13 +726,12 @@ static void print_crldist(gnutls_buffer_st * str, gnutls_datum_t * der)
print_name(str, "\t\t\t", type, &dist, 0);
}
- cleanup:
+cleanup:
gnutls_x509_crl_dist_points_deinit(dp);
}
-static void
-print_key_purpose(gnutls_buffer_st * str, const char *prefix,
- gnutls_datum_t * der)
+static void print_key_purpose(gnutls_buffer_st *str, const char *prefix,
+ gnutls_datum_t *der)
{
int indx;
gnutls_datum_t oid;
@@ -800,12 +785,12 @@ print_key_purpose(gnutls_buffer_st * str, const char *prefix,
else
addf(str, "%s\t\t\t%s\n", prefix, p);
}
- cleanup:
+cleanup:
gnutls_x509_key_purpose_deinit(purposes);
}
-static void
-print_basic(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
+static void print_basic(gnutls_buffer_st *str, const char *prefix,
+ gnutls_datum_t *der)
{
int pathlen;
unsigned ca;
@@ -826,12 +811,12 @@ print_basic(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
prefix);
if (pathlen >= 0)
- addf(str, _("%s\t\t\tPath Length Constraint: %d\n"),
- prefix, pathlen);
+ addf(str, _("%s\t\t\tPath Length Constraint: %d\n"), prefix,
+ pathlen);
}
-static void
-print_altname(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
+static void print_altname(gnutls_buffer_st *str, const char *prefix,
+ gnutls_datum_t *der)
{
unsigned int altname_idx;
gnutls_subject_alt_names_t names;
@@ -857,13 +842,12 @@ print_altname(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
}
for (altname_idx = 0;; altname_idx++) {
- err = gnutls_subject_alt_names_get(names, altname_idx,
- &type, &san, &othername);
+ err = gnutls_subject_alt_names_get(names, altname_idx, &type,
+ &san, &othername);
if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
else if (err < 0) {
- addf(str,
- "error: gnutls_subject_alt_names_get: %s\n",
+ addf(str, "error: gnutls_subject_alt_names_get: %s\n",
gnutls_strerror(err));
break;
}
@@ -872,10 +856,8 @@ print_altname(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
unsigned vtype;
gnutls_datum_t virt;
- err = gnutls_x509_othername_to_virtual((char *)
- othername.data,
- &san, &vtype,
- &virt);
+ err = gnutls_x509_othername_to_virtual(
+ (char *)othername.data, &san, &vtype, &virt);
if (err >= 0) {
snprintf(pfx, sizeof(pfx), "%s\t\t\t", prefix);
print_name(str, pfx, vtype, &virt, 0);
@@ -883,10 +865,8 @@ print_altname(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
continue;
}
- addf(str,
- _("%s\t\t\totherName OID: %.*s\n"),
- prefix, (int)othername.size,
- (char *)othername.data);
+ addf(str, _("%s\t\t\totherName OID: %.*s\n"), prefix,
+ (int)othername.size, (char *)othername.data);
addf(str, _("%s\t\t\totherName DER: "), prefix);
_gnutls_buffer_hexprint(str, san.data, san.size);
addf(str, _("\n%s\t\t\totherName ASCII: "), prefix);
@@ -894,18 +874,17 @@ print_altname(gnutls_buffer_st * str, const char *prefix, gnutls_datum_t * der)
san.size);
addf(str, "\n");
} else {
-
snprintf(pfx, sizeof(pfx), "%s\t\t\t", prefix);
print_name(str, pfx, type, &san, 0);
}
}
- cleanup:
+cleanup:
gnutls_subject_alt_names_deinit(names);
}
-static void
-guiddump(gnutls_buffer_st * str, const char *data, size_t len, const char *spc)
+static void guiddump(gnutls_buffer_st *str, const char *data, size_t len,
+ const char *spc)
{
size_t j;
@@ -932,18 +911,18 @@ guiddump(gnutls_buffer_st * str, const char *data, size_t len, const char *spc)
addf(str, "}\n");
}
-static void
-print_unique_ids(gnutls_buffer_st * str, const gnutls_x509_crt_t cert)
+static void print_unique_ids(gnutls_buffer_st *str,
+ const gnutls_x509_crt_t cert)
{
int result;
- char buf[256]; /* if its longer, we won't bother to print it */
+ char buf[256]; /* if its longer, we won't bother to print it */
size_t buf_size = 256;
result = gnutls_x509_crt_get_issuer_unique_id(cert, buf, &buf_size);
if (result >= 0) {
addf(str, ("\tIssuer Unique ID:\n"));
_gnutls_buffer_hexdump(str, buf, buf_size, "\t\t\t");
- if (buf_size == 16) { /* this could be a GUID */
+ if (buf_size == 16) { /* this could be a GUID */
guiddump(str, buf, buf_size, "\t\t\t");
}
}
@@ -953,14 +932,14 @@ print_unique_ids(gnutls_buffer_st * str, const gnutls_x509_crt_t cert)
if (result >= 0) {
addf(str, ("\tSubject Unique ID:\n"));
_gnutls_buffer_hexdump(str, buf, buf_size, "\t\t\t");
- if (buf_size == 16) { /* this could be a GUID */
+ if (buf_size == 16) { /* this could be a GUID */
guiddump(str, buf, buf_size, "\t\t\t");
}
}
}
-static void print_tlsfeatures(gnutls_buffer_st * str, const char *prefix,
- const gnutls_datum_t * der)
+static void print_tlsfeatures(gnutls_buffer_st *str, const char *prefix,
+ const gnutls_datum_t *der)
{
int err;
int seq;
@@ -995,19 +974,18 @@ static void print_tlsfeatures(gnutls_buffer_st * str, const char *prefix,
addf(str, "%s\t\t\t%s(%u)\n", prefix, name, feature);
}
- cleanup:
+cleanup:
gnutls_x509_tlsfeatures_deinit(features);
}
-static void print_subject_sign_tool(gnutls_buffer_st * str, const char *prefix,
- const gnutls_datum_t * der)
+static void print_subject_sign_tool(gnutls_buffer_st *str, const char *prefix,
+ const gnutls_datum_t *der)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
- ret =
- _gnutls_x509_decode_string(ASN1_ETYPE_UTF8_STRING, der->data,
- der->size, &tmp, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_UTF8_STRING, der->data,
+ der->size, &tmp, 0);
if (ret < 0) {
addf(str, _("%s\t\t\tASCII: "), prefix);
_gnutls_buffer_asciiprint(str, (char *)der->data, der->size);
@@ -1024,17 +1002,17 @@ static void print_subject_sign_tool(gnutls_buffer_st * str, const char *prefix,
_gnutls_free_datum(&tmp);
}
-static void print_issuer_sign_tool(gnutls_buffer_st * str, const char *prefix,
- const gnutls_datum_t * der)
+static void print_issuer_sign_tool(gnutls_buffer_st *str, const char *prefix,
+ const gnutls_datum_t *der)
{
int ret;
asn1_node tmpasn = NULL;
char asn1_err[ASN1_MAX_ERROR_DESCRIPTION_SIZE] = "";
gnutls_datum_t tmp;
- if (asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.IssuerSignTool",
- &tmpasn) != ASN1_SUCCESS) {
+ if (asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.IssuerSignTool",
+ &tmpasn) != ASN1_SUCCESS) {
gnutls_assert();
goto hexdump;
}
@@ -1086,7 +1064,7 @@ static void print_issuer_sign_tool(gnutls_buffer_st * str, const char *prefix,
return;
- hexdump:
+hexdump:
asn1_delete_structure(&tmpasn);
addf(str, _("%s\t\t\tASCII: "), prefix);
@@ -1098,7 +1076,10 @@ static void print_issuer_sign_tool(gnutls_buffer_st * str, const char *prefix,
adds(str, "\n");
}
-#define ENTRY(oid, name) {oid, sizeof(oid)-1, name, sizeof(name)-1, NULL, 0}
+#define ENTRY(oid, name) \
+ { \
+ oid, sizeof(oid) - 1, name, sizeof(name) - 1, NULL, 0 \
+ }
static const struct oid_to_string cp_oid2str[] = {
ENTRY("2.5.29.32.0", "anyPolicy"),
@@ -1116,7 +1097,7 @@ static const struct oid_to_string cp_oid2str[] = {
ENTRY("1.2.643.100.113.5", "Russian security class KB2"),
ENTRY("1.2.643.100.113.6", "Russian security class KA1"),
- {NULL, 0, NULL, 0},
+ { NULL, 0, NULL, 0 },
};
struct ext_indexes_st {
@@ -1132,9 +1113,9 @@ struct ext_indexes_st {
int tlsfeatures;
};
-static void print_extension(gnutls_buffer_st * str, const char *prefix,
+static void print_extension(gnutls_buffer_st *str, const char *prefix,
struct ext_indexes_st *idx, const char *oid,
- unsigned critical, gnutls_datum_t * der)
+ unsigned critical, gnutls_datum_t *der)
{
int err;
unsigned j;
@@ -1145,8 +1126,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
addf(str, "warning: more than one basic constraint\n");
}
- addf(str, _("%s\t\tBasic Constraints (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tBasic Constraints (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_basic(str, prefix, der);
idx->basic++;
@@ -1156,9 +1137,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
addf(str, "warning: more than one SKI extension\n");
}
- addf(str,
- _("%s\t\tSubject Key Identifier (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tSubject Key Identifier (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_ski(str, der);
@@ -1172,16 +1152,14 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
err = gnutls_x509_policies_init(&policies);
if (err < 0) {
- addf(str,
- "error: certificate policies: %s\n",
+ addf(str, "error: certificate policies: %s\n",
gnutls_strerror(err));
return;
}
err = gnutls_x509_ext_import_policies(der, policies, 0);
if (err < 0) {
- addf(str,
- "error: certificate policies import: %s\n",
+ addf(str, "error: certificate policies import: %s\n",
gnutls_strerror(err));
gnutls_x509_policies_deinit(policies);
return;
@@ -1193,18 +1171,16 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
break;
if (err < 0) {
- addf(str,
- "error: certificate policy: %s\n",
+ addf(str, "error: certificate policy: %s\n",
gnutls_strerror(err));
break;
}
if (x == 0)
- addf(str,
- "%s\t\tCertificate Policies (%s):\n",
+ addf(str, "%s\t\tCertificate Policies (%s):\n",
prefix,
critical ? _("critical") :
- _("not critical"));
+ _("not critical"));
entry = _gnutls_oid_get_entry(cp_oid2str, policy.oid);
if (entry != NULL && entry->name_desc != NULL)
@@ -1221,8 +1197,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
name = "Note";
else
name = "Unknown qualifier";
- addf(str, "%s\t\t\t\t%s: %s\n",
- prefix, name, policy.qualifier[j].data);
+ addf(str, "%s\t\t\t\t%s: %s\n", prefix, name,
+ policy.qualifier[j].data);
}
}
gnutls_x509_policies_deinit(policies);
@@ -1237,20 +1213,17 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
return;
}
- addf(str,
- "%s\t\tInhibit anyPolicy skip certs: %u (%s)\n",
+ addf(str, "%s\t\tInhibit anyPolicy skip certs: %u (%s)\n",
prefix, skipcerts,
critical ? _("critical") : _("not critical"));
} else if (strcmp(oid, "2.5.29.35") == 0) {
-
if (idx->aki) {
addf(str, "warning: more than one AKI extension\n");
}
- addf(str,
- _("%s\t\tAuthority Key Identifier (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tAuthority Key Identifier (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_aki(str, der);
@@ -1274,9 +1247,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
"warning: more than one private key usage period extension\n");
}
- addf(str,
- _("%s\t\tPrivate Key Usage Period (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tPrivate Key Usage Period (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_private_key_usage_period(str, prefix, der);
@@ -1297,9 +1269,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
addf(str, "warning: more than one SKI extension\n");
}
- addf(str,
- _("%s\t\tSubject Alternative Name (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tSubject Alternative Name (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_altname(str, prefix, der);
idx->san++;
} else if (strcmp(oid, "2.5.29.18") == 0) {
@@ -1308,9 +1279,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
"warning: more than one Issuer AltName extension\n");
}
- addf(str,
- _("%s\t\tIssuer Alternative Name (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tIssuer Alternative Name (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_altname(str, prefix, der);
@@ -1321,9 +1291,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
"warning: more than one CRL distribution point\n");
}
- addf(str,
- _("%s\t\tCRL Distribution points (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tCRL Distribution points (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_crldist(str, der);
idx->crldist++;
@@ -1332,23 +1301,22 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
addf(str, "warning: more than one proxy extension\n");
}
- addf(str,
- _
- ("%s\t\tProxy Certificate Information (%s):\n"),
+ addf(str, _("%s\t\tProxy Certificate Information (%s):\n"),
prefix, critical ? _("critical") : _("not critical"));
print_proxy(str, der);
idx->proxy++;
} else if (strcmp(oid, "1.3.6.1.5.5.7.1.1") == 0) {
- addf(str, _("%s\t\tAuthority Information "
- "Access (%s):\n"), prefix,
- critical ? _("critical") : _("not critical"));
+ addf(str,
+ _("%s\t\tAuthority Information "
+ "Access (%s):\n"),
+ prefix, critical ? _("critical") : _("not critical"));
print_aia(str, der);
} else if (strcmp(oid, GNUTLS_X509EXT_OID_CT_SCT_V1) == 0) {
- addf(str, _("%s\t\tCT Precertificate SCTs (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tCT Precertificate SCTs (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_scts(str, der, prefix);
} else if (strcmp(oid, "2.5.29.30") == 0) {
@@ -1368,32 +1336,31 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
"warning: more than one tlsfeatures extension\n");
}
- addf(str, _("%s\t\tTLS Features (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tTLS Features (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_tlsfeatures(str, prefix, der);
idx->tlsfeatures++;
} else if (strcmp(oid, "1.2.643.100.111") == 0) {
- addf(str, _("%s\t\tSubject Signing Tool(%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tSubject Signing Tool(%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_subject_sign_tool(str, prefix, der);
} else if (strcmp(oid, "1.2.643.100.112") == 0) {
- addf(str, _("%s\t\tIssuer Signing Tool(%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tIssuer Signing Tool(%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
print_issuer_sign_tool(str, prefix, der);
} else if (strcmp(oid, "2.5.4.3") == 0) {
int ret;
gnutls_datum_t tmp = { NULL, 0 };
- addf(str, _("%s\t\tCommon Name (%s):\n"),
- prefix, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tCommon Name (%s):\n"), prefix,
+ critical ? _("critical") : _("not critical"));
- ret =
- _gnutls_x509_decode_string(ASN1_ETYPE_PRINTABLE_STRING,
- der->data, der->size, &tmp, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_PRINTABLE_STRING,
+ der->data, der->size, &tmp, 0);
if (ret < 0) {
addf(str, "error: x509_decode_string: %s\n",
gnutls_strerror(ret));
@@ -1402,8 +1369,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
gnutls_free(tmp.data);
}
} else {
- addf(str, _("%s\t\tUnknown extension %s (%s):\n"),
- prefix, oid, critical ? _("critical") : _("not critical"));
+ addf(str, _("%s\t\tUnknown extension %s (%s):\n"), prefix, oid,
+ critical ? _("critical") : _("not critical"));
addf(str, _("%s\t\t\tASCII: "), prefix);
_gnutls_buffer_asciiprint(str, (char *)der->data, der->size);
@@ -1415,9 +1382,8 @@ static void print_extension(gnutls_buffer_st * str, const char *prefix,
}
}
-static void
-print_extensions(gnutls_buffer_st * str, const char *prefix, int type,
- cert_type_t cert)
+static void print_extensions(gnutls_buffer_st *str, const char *prefix,
+ int type, cert_type_t cert)
{
unsigned i;
int err;
@@ -1432,18 +1398,12 @@ print_extensions(gnutls_buffer_st * str, const char *prefix, int type,
unsigned int critical;
if (type == TYPE_CRT)
- err =
- gnutls_x509_crt_get_extension_info(cert.crt, i,
- oid,
- &sizeof_oid,
- &critical);
+ err = gnutls_x509_crt_get_extension_info(
+ cert.crt, i, oid, &sizeof_oid, &critical);
else if (type == TYPE_CRQ)
- err =
- gnutls_x509_crq_get_extension_info(cert.crq, i,
- oid,
- &sizeof_oid,
- &critical);
+ err = gnutls_x509_crq_get_extension_info(
+ cert.crq, i, oid, &sizeof_oid, &critical);
else {
gnutls_assert();
return;
@@ -1461,13 +1421,11 @@ print_extensions(gnutls_buffer_st * str, const char *prefix, int type,
addf(str, _("%s\tExtensions:\n"), prefix);
if (type == TYPE_CRT)
- err =
- gnutls_x509_crt_get_extension_data2(cert.crt, i,
- &der);
+ err = gnutls_x509_crt_get_extension_data2(cert.crt, i,
+ &der);
else
- err =
- gnutls_x509_crq_get_extension_data2(cert.crq, i,
- &der);
+ err = gnutls_x509_crq_get_extension_data2(cert.crq, i,
+ &der);
if (err < 0) {
der.data = NULL;
@@ -1479,7 +1437,7 @@ print_extensions(gnutls_buffer_st * str, const char *prefix, int type,
}
}
-static void reverse_datum(gnutls_datum_t * d)
+static void reverse_datum(gnutls_datum_t *d)
{
unsigned int i;
unsigned char c;
@@ -1491,10 +1449,9 @@ static void reverse_datum(gnutls_datum_t * d)
}
}
-static void
-print_pubkey(gnutls_buffer_st * str, const char *key_name,
- gnutls_pubkey_t pubkey, gnutls_x509_spki_st * spki,
- gnutls_certificate_print_formats_t format)
+static void print_pubkey(gnutls_buffer_st *str, const char *key_name,
+ gnutls_pubkey_t pubkey, gnutls_x509_spki_st *spki,
+ gnutls_certificate_print_formats_t format)
{
int err;
const char *name;
@@ -1517,8 +1474,8 @@ print_pubkey(gnutls_buffer_st * str, const char *key_name,
addf(str, _("\t%sPublic Key Algorithm: %s\n"), key_name, name);
addf(str, _("\tAlgorithm Security Level: %s (%d bits)\n"),
- gnutls_sec_param_get_name(gnutls_pk_bits_to_sec_param
- (err, bits)), bits);
+ gnutls_sec_param_get_name(gnutls_pk_bits_to_sec_param(err, bits)),
+ bits);
if (spki && pk == GNUTLS_PK_RSA_PSS && spki->pk == pk) {
addf(str, _("\t\tParameters:\n"));
@@ -1529,223 +1486,173 @@ print_pubkey(gnutls_buffer_st * str, const char *key_name,
switch (pk) {
case GNUTLS_PK_RSA:
- case GNUTLS_PK_RSA_PSS:
- {
- gnutls_datum_t m, e;
+ case GNUTLS_PK_RSA_PSS: {
+ gnutls_datum_t m, e;
- err = gnutls_pubkey_get_pk_rsa_raw(pubkey, &m, &e);
- if (err < 0)
- addf(str, "error: get_pk_rsa_raw: %s\n",
- gnutls_strerror(err));
- else {
- if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
- addf(str,
- _("\t\tModulus (bits %d): "),
- bits);
- _gnutls_buffer_hexprint(str,
- m.data, m.size);
- adds(str, "\n");
- addf(str,
- _("\t\tExponent (bits %d): "),
- e.size * 8);
- _gnutls_buffer_hexprint(str,
- e.data, e.size);
- adds(str, "\n");
- } else {
- addf(str,
- _("\t\tModulus (bits %d):\n"),
- bits);
- _gnutls_buffer_hexdump(str, m.data,
- m.size,
- "\t\t\t");
- addf(str,
- _
- ("\t\tExponent (bits %d):\n"),
- e.size * 8);
- _gnutls_buffer_hexdump(str, e.data,
- e.size,
- "\t\t\t");
- }
-
- gnutls_free(m.data);
- gnutls_free(e.data);
+ err = gnutls_pubkey_get_pk_rsa_raw(pubkey, &m, &e);
+ if (err < 0)
+ addf(str, "error: get_pk_rsa_raw: %s\n",
+ gnutls_strerror(err));
+ else {
+ if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
+ addf(str, _("\t\tModulus (bits %d): "), bits);
+ _gnutls_buffer_hexprint(str, m.data, m.size);
+ adds(str, "\n");
+ addf(str, _("\t\tExponent (bits %d): "),
+ e.size * 8);
+ _gnutls_buffer_hexprint(str, e.data, e.size);
+ adds(str, "\n");
+ } else {
+ addf(str, _("\t\tModulus (bits %d):\n"), bits);
+ _gnutls_buffer_hexdump(str, m.data, m.size,
+ "\t\t\t");
+ addf(str, _("\t\tExponent (bits %d):\n"),
+ e.size * 8);
+ _gnutls_buffer_hexdump(str, e.data, e.size,
+ "\t\t\t");
}
+ gnutls_free(m.data);
+ gnutls_free(e.data);
}
- break;
+
+ } break;
case GNUTLS_PK_EDDSA_ED25519:
case GNUTLS_PK_EDDSA_ED448:
case GNUTLS_PK_ECDH_X25519:
case GNUTLS_PK_ECDH_X448:
- case GNUTLS_PK_ECDSA:
- {
- gnutls_datum_t x, y;
- gnutls_ecc_curve_t curve;
+ case GNUTLS_PK_ECDSA: {
+ gnutls_datum_t x, y;
+ gnutls_ecc_curve_t curve;
- err =
- gnutls_pubkey_get_pk_ecc_raw(pubkey, &curve,
- &x, &y);
- if (err < 0) {
- addf(str, "error: get_pk_ecc_raw: %s\n",
- gnutls_strerror(err));
- } else {
- addf(str, _("\t\tCurve:\t%s\n"),
- gnutls_ecc_curve_get_name(curve));
- if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
- adds(str, _("\t\tX: "));
- _gnutls_buffer_hexprint(str,
- x.data, x.size);
+ err = gnutls_pubkey_get_pk_ecc_raw(pubkey, &curve, &x, &y);
+ if (err < 0) {
+ addf(str, "error: get_pk_ecc_raw: %s\n",
+ gnutls_strerror(err));
+ } else {
+ addf(str, _("\t\tCurve:\t%s\n"),
+ gnutls_ecc_curve_get_name(curve));
+ if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
+ adds(str, _("\t\tX: "));
+ _gnutls_buffer_hexprint(str, x.data, x.size);
+ adds(str, "\n");
+ if (y.size > 0) {
+ adds(str, _("\t\tY: "));
+ _gnutls_buffer_hexprint(str, y.data,
+ y.size);
adds(str, "\n");
- if (y.size > 0) {
- adds(str, _("\t\tY: "));
- _gnutls_buffer_hexprint(str,
- y.data,
- y.size);
- adds(str, "\n");
- }
- } else {
- adds(str, _("\t\tX:\n"));
- _gnutls_buffer_hexdump(str, x.data,
- x.size,
- "\t\t\t");
- if (y.size > 0) {
- adds(str, _("\t\tY:\n"));
- _gnutls_buffer_hexdump(str,
- y.data,
- y.size,
- "\t\t\t");
- }
}
-
- gnutls_free(x.data);
- gnutls_free(y.data);
-
- }
- }
- break;
- case GNUTLS_PK_DSA:
- {
- gnutls_datum_t p, q, g, y;
-
- err =
- gnutls_pubkey_get_pk_dsa_raw(pubkey, &p, &q,
- &g, &y);
- if (err < 0)
- addf(str, "error: get_pk_dsa_raw: %s\n",
- gnutls_strerror(err));
- else {
- if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
- addf(str,
- _
- ("\t\tPublic key (bits %d): "),
- bits);
- _gnutls_buffer_hexprint(str,
- y.data, y.size);
- adds(str, "\n");
- adds(str, _("\t\tP: "));
- _gnutls_buffer_hexprint(str,
- p.data, p.size);
- adds(str, "\n");
- adds(str, _("\t\tQ: "));
- _gnutls_buffer_hexprint(str,
- q.data, q.size);
- adds(str, "\n");
- adds(str, _("\t\tG: "));
- _gnutls_buffer_hexprint(str,
- g.data, g.size);
- adds(str, "\n");
- } else {
- addf(str,
- _
- ("\t\tPublic key (bits %d):\n"),
- bits);
- _gnutls_buffer_hexdump(str, y.data,
- y.size,
- "\t\t\t");
- adds(str, _("\t\tP:\n"));
- _gnutls_buffer_hexdump(str, p.data,
- p.size,
- "\t\t\t");
- adds(str, _("\t\tQ:\n"));
- _gnutls_buffer_hexdump(str, q.data,
- q.size,
- "\t\t\t");
- adds(str, _("\t\tG:\n"));
- _gnutls_buffer_hexdump(str, g.data,
- g.size,
- "\t\t\t");
+ } else {
+ adds(str, _("\t\tX:\n"));
+ _gnutls_buffer_hexdump(str, x.data, x.size,
+ "\t\t\t");
+ if (y.size > 0) {
+ adds(str, _("\t\tY:\n"));
+ _gnutls_buffer_hexdump(
+ str, y.data, y.size, "\t\t\t");
}
+ }
- gnutls_free(p.data);
- gnutls_free(q.data);
- gnutls_free(g.data);
- gnutls_free(y.data);
+ gnutls_free(x.data);
+ gnutls_free(y.data);
+ }
+ } break;
+ case GNUTLS_PK_DSA: {
+ gnutls_datum_t p, q, g, y;
+ err = gnutls_pubkey_get_pk_dsa_raw(pubkey, &p, &q, &g, &y);
+ if (err < 0)
+ addf(str, "error: get_pk_dsa_raw: %s\n",
+ gnutls_strerror(err));
+ else {
+ if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
+ addf(str, _("\t\tPublic key (bits %d): "),
+ bits);
+ _gnutls_buffer_hexprint(str, y.data, y.size);
+ adds(str, "\n");
+ adds(str, _("\t\tP: "));
+ _gnutls_buffer_hexprint(str, p.data, p.size);
+ adds(str, "\n");
+ adds(str, _("\t\tQ: "));
+ _gnutls_buffer_hexprint(str, q.data, q.size);
+ adds(str, "\n");
+ adds(str, _("\t\tG: "));
+ _gnutls_buffer_hexprint(str, g.data, g.size);
+ adds(str, "\n");
+ } else {
+ addf(str, _("\t\tPublic key (bits %d):\n"),
+ bits);
+ _gnutls_buffer_hexdump(str, y.data, y.size,
+ "\t\t\t");
+ adds(str, _("\t\tP:\n"));
+ _gnutls_buffer_hexdump(str, p.data, p.size,
+ "\t\t\t");
+ adds(str, _("\t\tQ:\n"));
+ _gnutls_buffer_hexdump(str, q.data, q.size,
+ "\t\t\t");
+ adds(str, _("\t\tG:\n"));
+ _gnutls_buffer_hexdump(str, g.data, g.size,
+ "\t\t\t");
}
+
+ gnutls_free(p.data);
+ gnutls_free(q.data);
+ gnutls_free(g.data);
+ gnutls_free(y.data);
}
- break;
+ } break;
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
- case GNUTLS_PK_GOST_12_512:
- {
- gnutls_datum_t x, y;
- gnutls_ecc_curve_t curve;
- gnutls_digest_algorithm_t digest;
- gnutls_gost_paramset_t param;
-
- err =
- gnutls_pubkey_export_gost_raw2(pubkey, &curve,
- &digest,
- &param, &x, &y, 0);
- if (err < 0)
- addf(str, "error: get_pk_gost_raw: %s\n",
- gnutls_strerror(err));
- else {
- addf(str, _("\t\tCurve:\t%s\n"),
- gnutls_ecc_curve_get_name(curve));
- addf(str, _("\t\tDigest:\t%s\n"),
- gnutls_digest_get_name(digest));
- addf(str, _("\t\tParamSet: %s\n"),
- gnutls_gost_paramset_get_name(param));
- reverse_datum(&x);
- reverse_datum(&y);
- if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
- adds(str, _("\t\tX: "));
- _gnutls_buffer_hexprint(str,
- x.data, x.size);
- adds(str, "\n");
- adds(str, _("\t\tY: "));
- _gnutls_buffer_hexprint(str,
- y.data, y.size);
- adds(str, "\n");
- } else {
- adds(str, _("\t\tX:\n"));
- _gnutls_buffer_hexdump(str, x.data,
- x.size,
- "\t\t\t");
- adds(str, _("\t\tY:\n"));
- _gnutls_buffer_hexdump(str, y.data,
- y.size,
- "\t\t\t");
- }
-
- gnutls_free(x.data);
- gnutls_free(y.data);
+ case GNUTLS_PK_GOST_12_512: {
+ gnutls_datum_t x, y;
+ gnutls_ecc_curve_t curve;
+ gnutls_digest_algorithm_t digest;
+ gnutls_gost_paramset_t param;
+ err = gnutls_pubkey_export_gost_raw2(pubkey, &curve, &digest,
+ &param, &x, &y, 0);
+ if (err < 0)
+ addf(str, "error: get_pk_gost_raw: %s\n",
+ gnutls_strerror(err));
+ else {
+ addf(str, _("\t\tCurve:\t%s\n"),
+ gnutls_ecc_curve_get_name(curve));
+ addf(str, _("\t\tDigest:\t%s\n"),
+ gnutls_digest_get_name(digest));
+ addf(str, _("\t\tParamSet: %s\n"),
+ gnutls_gost_paramset_get_name(param));
+ reverse_datum(&x);
+ reverse_datum(&y);
+ if (format == GNUTLS_CRT_PRINT_FULL_NUMBERS) {
+ adds(str, _("\t\tX: "));
+ _gnutls_buffer_hexprint(str, x.data, x.size);
+ adds(str, "\n");
+ adds(str, _("\t\tY: "));
+ _gnutls_buffer_hexprint(str, y.data, y.size);
+ adds(str, "\n");
+ } else {
+ adds(str, _("\t\tX:\n"));
+ _gnutls_buffer_hexdump(str, x.data, x.size,
+ "\t\t\t");
+ adds(str, _("\t\tY:\n"));
+ _gnutls_buffer_hexdump(str, y.data, y.size,
+ "\t\t\t");
}
+
+ gnutls_free(x.data);
+ gnutls_free(y.data);
}
- break;
+ } break;
default:
break;
}
}
-static int
-print_crt_sig_params(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
- gnutls_certificate_print_formats_t format)
+static int print_crt_sig_params(gnutls_buffer_st *str, gnutls_x509_crt_t crt,
+ gnutls_certificate_print_formats_t format)
{
int ret;
gnutls_pk_algorithm_t pk;
@@ -1755,9 +1662,8 @@ print_crt_sig_params(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
sign = gnutls_x509_crt_get_signature_algorithm(crt);
pk = gnutls_sign_get_pk_algorithm(sign);
if (pk == GNUTLS_PK_RSA_PSS) {
- ret = _gnutls_x509_read_sign_params(crt->cert,
- "signatureAlgorithm",
- &params);
+ ret = _gnutls_x509_read_sign_params(
+ crt->cert, "signatureAlgorithm", &params);
if (ret < 0) {
addf(str, "error: read_pss_params: %s\n",
gnutls_strerror(ret));
@@ -1768,7 +1674,7 @@ print_crt_sig_params(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
return 0;
}
-static void print_pk_name(gnutls_buffer_st * str, gnutls_x509_crt_t crt)
+static void print_pk_name(gnutls_buffer_st *str, gnutls_x509_crt_t crt)
{
const char *p;
char *name = get_pk_name(crt, NULL);
@@ -1781,9 +1687,8 @@ static void print_pk_name(gnutls_buffer_st * str, gnutls_x509_crt_t crt)
gnutls_free(name);
}
-static int
-print_crt_pubkey(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
- gnutls_certificate_print_formats_t format)
+static int print_crt_pubkey(gnutls_buffer_st *str, gnutls_x509_crt_t crt,
+ gnutls_certificate_print_formats_t format)
{
gnutls_pubkey_t pubkey = NULL;
gnutls_x509_spki_st params;
@@ -1800,7 +1705,7 @@ print_crt_pubkey(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
}
if (pk == GNUTLS_PK_UNKNOWN) {
- print_pk_name(str, crt); /* print basic info only */
+ print_pk_name(str, crt); /* print basic info only */
return 0;
}
@@ -1813,7 +1718,7 @@ print_crt_pubkey(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
if (ret != GNUTLS_E_UNIMPLEMENTED_FEATURE)
addf(str, "error importing public key: %s\n",
gnutls_strerror(ret));
- print_pk_name(str, crt); /* print basic info only */
+ print_pk_name(str, crt); /* print basic info only */
ret = 0;
goto cleanup;
}
@@ -1821,15 +1726,14 @@ print_crt_pubkey(gnutls_buffer_st * str, gnutls_x509_crt_t crt,
print_pubkey(str, _("Subject "), pubkey, &params, format);
ret = 0;
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
-static void
-print_cert(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
- gnutls_certificate_print_formats_t format)
+static void print_cert(gnutls_buffer_st *str, gnutls_x509_crt_t cert,
+ gnutls_certificate_print_formats_t format)
{
/* Version. */
{
@@ -1890,8 +1794,8 @@ print_cert(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
if (gmtime_r(&tim, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)tim);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)tim);
else
@@ -1909,8 +1813,8 @@ print_cert(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
if (gmtime_r(&tim, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)tim);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)tim);
else
@@ -1968,13 +1872,11 @@ print_cert(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
print_crt_sig_params(str, cert, format);
- if (err != GNUTLS_SIGN_UNKNOWN
- && gnutls_sign_is_secure2(err,
- GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS)
- == 0) {
- adds(str,
- _("warning: signed using a broken signature "
- "algorithm that can be forged.\n"));
+ if (err != GNUTLS_SIGN_UNKNOWN &&
+ gnutls_sign_is_secure2(
+ err, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0) {
+ adds(str, _("warning: signed using a broken signature "
+ "algorithm that can be forged.\n"));
}
err = gnutls_x509_crt_get_signature(cert, buffer, &size);
@@ -2006,7 +1908,7 @@ print_cert(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
}
}
-static void print_fingerprint(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
+static void print_fingerprint(gnutls_buffer_st *str, gnutls_x509_crt_t cert)
{
int err;
char buffer[MAX_HASH_SIZE];
@@ -2014,9 +1916,8 @@ static void print_fingerprint(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
adds(str, _("\tFingerprint:\n"));
- err =
- gnutls_x509_crt_get_fingerprint(cert, GNUTLS_DIG_SHA1, buffer,
- &size);
+ err = gnutls_x509_crt_get_fingerprint(cert, GNUTLS_DIG_SHA1, buffer,
+ &size);
if (err < 0) {
addf(str, "error: get_fingerprint: %s\n", gnutls_strerror(err));
return;
@@ -2027,9 +1928,8 @@ static void print_fingerprint(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
adds(str, "\n");
size = sizeof(buffer);
- err =
- gnutls_x509_crt_get_fingerprint(cert, GNUTLS_DIG_SHA256, buffer,
- &size);
+ err = gnutls_x509_crt_get_fingerprint(cert, GNUTLS_DIG_SHA256, buffer,
+ &size);
if (err < 0) {
addf(str, "error: get_fingerprint: %s\n", gnutls_strerror(err));
return;
@@ -2041,8 +1941,8 @@ static void print_fingerprint(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
typedef int get_id_func(void *obj, unsigned, unsigned char *, size_t *);
-static void print_obj_id(gnutls_buffer_st * str, const char *prefix, void *obj,
- get_id_func * get_id)
+static void print_obj_id(gnutls_buffer_st *str, const char *prefix, void *obj,
+ get_id_func *get_id)
{
unsigned char sha1_buffer[MAX_HASH_SIZE];
unsigned char sha2_buffer[MAX_HASH_SIZE];
@@ -2051,7 +1951,7 @@ static void print_obj_id(gnutls_buffer_st * str, const char *prefix, void *obj,
sha1_size = sizeof(sha1_buffer);
err = get_id(obj, GNUTLS_KEYID_USE_SHA1, sha1_buffer, &sha1_size);
- if (err == GNUTLS_E_UNIMPLEMENTED_FEATURE) /* unsupported algo */
+ if (err == GNUTLS_E_UNIMPLEMENTED_FEATURE) /* unsupported algo */
return;
if (err < 0) {
@@ -2062,7 +1962,7 @@ static void print_obj_id(gnutls_buffer_st * str, const char *prefix, void *obj,
sha2_size = sizeof(sha2_buffer);
err = get_id(obj, GNUTLS_KEYID_USE_SHA256, sha2_buffer, &sha2_size);
- if (err == GNUTLS_E_UNIMPLEMENTED_FEATURE) /* unsupported algo */
+ if (err == GNUTLS_E_UNIMPLEMENTED_FEATURE) /* unsupported algo */
return;
if (err < 0) {
@@ -2084,7 +1984,7 @@ static void print_obj_id(gnutls_buffer_st * str, const char *prefix, void *obj,
return;
}
-static void print_keyid(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
+static void print_keyid(gnutls_buffer_st *str, gnutls_x509_crt_t cert)
{
int err;
const char *name;
@@ -2097,7 +1997,7 @@ static void print_keyid(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
return;
print_obj_id(str, "\t", cert,
- (get_id_func *) gnutls_x509_crt_get_key_id);
+ (get_id_func *)gnutls_x509_crt_get_key_id);
if (IS_EC(err)) {
gnutls_ecc_curve_t curve;
@@ -2111,9 +2011,8 @@ static void print_keyid(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
} else if (IS_GOSTEC(err)) {
gnutls_ecc_curve_t curve;
- err =
- gnutls_x509_crt_get_pk_gost_raw(cert, &curve, NULL, NULL,
- NULL, NULL);
+ err = gnutls_x509_crt_get_pk_gost_raw(cert, &curve, NULL, NULL,
+ NULL, NULL);
if (err < 0)
return;
@@ -2127,16 +2026,14 @@ static void print_keyid(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
return;
sha1_size = sizeof(sha1_buffer);
- err =
- gnutls_x509_crt_get_key_id(cert, GNUTLS_KEYID_USE_SHA1, sha1_buffer,
- &sha1_size);
- if (err == GNUTLS_E_UNIMPLEMENTED_FEATURE) /* unsupported algo */
+ err = gnutls_x509_crt_get_key_id(cert, GNUTLS_KEYID_USE_SHA1,
+ sha1_buffer, &sha1_size);
+ if (err == GNUTLS_E_UNIMPLEMENTED_FEATURE) /* unsupported algo */
return;
}
-static void
-print_other(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
- gnutls_certificate_print_formats_t format)
+static void print_other(gnutls_buffer_st *str, gnutls_x509_crt_t cert,
+ gnutls_certificate_print_formats_t format)
{
if (format != GNUTLS_CRT_PRINT_UNSIGNED_FULL) {
print_fingerprint(str, cert);
@@ -2144,7 +2041,7 @@ print_other(gnutls_buffer_st * str, gnutls_x509_crt_t cert,
print_keyid(str, cert);
}
-static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
+static void print_oneline(gnutls_buffer_st *str, gnutls_x509_crt_t cert)
{
int err;
@@ -2215,10 +2112,9 @@ static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
else
p = name;
- if (err != GNUTLS_SIGN_UNKNOWN
- && gnutls_sign_is_secure2(err,
- GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS)
- == 0)
+ if (err != GNUTLS_SIGN_UNKNOWN &&
+ gnutls_sign_is_secure2(
+ err, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0)
addf(str, _("signed using %s (broken!), "), p);
else
addf(str, _("signed using %s, "), p);
@@ -2238,8 +2134,8 @@ static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
if (gmtime_r(&tim, &t) == NULL)
addf(str, "unknown activation (%ld), ",
(unsigned long)tim);
- else if (strftime
- (s, max, "%Y-%m-%d %H:%M:%S UTC", &t) == 0)
+ else if (strftime(s, max, "%Y-%m-%d %H:%M:%S UTC",
+ &t) == 0)
addf(str, "failed activation (%ld), ",
(unsigned long)tim);
else
@@ -2255,8 +2151,8 @@ static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
if (gmtime_r(&tim, &t) == NULL)
addf(str, "unknown expiry (%ld), ",
(unsigned long)tim);
- else if (strftime
- (s, max, "%Y-%m-%d %H:%M:%S UTC", &t) == 0)
+ else if (strftime(s, max, "%Y-%m-%d %H:%M:%S UTC",
+ &t) == 0)
addf(str, "failed expiry (%ld), ",
(unsigned long)tim);
else
@@ -2268,15 +2164,14 @@ static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
int pathlen;
char *policyLanguage;
- err = gnutls_x509_crt_get_proxy(cert, NULL,
- &pathlen, &policyLanguage,
- NULL, NULL);
+ err = gnutls_x509_crt_get_proxy(cert, NULL, &pathlen,
+ &policyLanguage, NULL, NULL);
if (err == 0) {
addf(str, "proxy certificate (policy=");
if (strcmp(policyLanguage, "1.3.6.1.5.5.7.21.1") == 0)
addf(str, "id-ppl-inheritALL");
- else if (strcmp
- (policyLanguage, "1.3.6.1.5.5.7.21.2") == 0)
+ else if (strcmp(policyLanguage, "1.3.6.1.5.5.7.21.2") ==
+ 0)
addf(str, "id-ppl-independent");
else
addf(str, "%s", policyLanguage);
@@ -2300,7 +2195,6 @@ static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
adds(str, "\"");
}
}
-
}
/**
@@ -2322,10 +2216,9 @@ static void print_oneline(gnutls_buffer_st * str, gnutls_x509_crt_t cert)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_print(gnutls_x509_crt_t cert,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+int gnutls_x509_crt_print(gnutls_x509_crt_t cert,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
int ret;
@@ -2351,9 +2244,8 @@ gnutls_x509_crt_print(gnutls_x509_crt_t cert,
} else {
_gnutls_buffer_init(&str);
- _gnutls_buffer_append_str(&str,
- _
- ("X.509 Certificate Information:\n"));
+ _gnutls_buffer_append_str(
+ &str, _("X.509 Certificate Information:\n"));
print_cert(&str, cert, format);
@@ -2365,8 +2257,8 @@ gnutls_x509_crt_print(gnutls_x509_crt_t cert,
}
}
-static void
-print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
+static void print_crl(gnutls_buffer_st *str, gnutls_x509_crl_t crl,
+ int notsigned)
{
/* Version. */
{
@@ -2410,8 +2302,8 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
if (gmtime_r(&tim, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)tim);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)tim);
else
@@ -2429,8 +2321,8 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
else if (gmtime_r(&tim, &t) == NULL)
addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)tim);
- else if (strftime
- (s, max, "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
+ else if (strftime(s, max, "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
addf(str, "error: strftime (%ld)\n",
(unsigned long)tim);
else
@@ -2450,15 +2342,12 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
size_t sizeof_oid = sizeof(oid);
unsigned int critical;
- err = gnutls_x509_crl_get_extension_info(crl, i,
- oid,
- &sizeof_oid,
- &critical);
+ err = gnutls_x509_crl_get_extension_info(
+ crl, i, oid, &sizeof_oid, &critical);
if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
if (err < 0) {
- addf(str,
- "error: get_extension_info: %s\n",
+ addf(str, "error: get_extension_info: %s\n",
gnutls_strerror(err));
break;
}
@@ -2475,18 +2364,15 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
"warning: more than one CRL number\n");
}
- err =
- gnutls_x509_crl_get_number(crl, nr,
- &nr_size,
- &critical);
+ err = gnutls_x509_crl_get_number(
+ crl, nr, &nr_size, &critical);
addf(str, _("\t\tCRL Number (%s): "),
critical ? _("critical") :
- _("not critical"));
+ _("not critical"));
if (err < 0)
- addf(str,
- "error: get_number: %s\n",
+ addf(str, "error: get_number: %s\n",
gnutls_strerror(err));
else {
_gnutls_buffer_hexprint(str, nr,
@@ -2504,14 +2390,12 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
}
addf(str,
- _
- ("\t\tAuthority Key Identifier (%s):\n"),
+ _("\t\tAuthority Key Identifier (%s):\n"),
critical ? _("critical") :
- _("not critical"));
+ _("not critical"));
- err =
- gnutls_x509_crl_get_extension_data2(crl, i,
- &der);
+ err = gnutls_x509_crl_get_extension_data2(
+ crl, i, &der);
if (err < 0) {
addf(str,
"error: get_extension_data2: %s\n",
@@ -2525,16 +2409,13 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
} else {
gnutls_datum_t der;
- addf(str,
- _("\t\tUnknown extension %s (%s):\n"),
+ addf(str, _("\t\tUnknown extension %s (%s):\n"),
oid,
critical ? _("critical") :
- _("not critical"));
+ _("not critical"));
- err =
- gnutls_x509_crl_get_extension_data2(crl,
- i,
- &der);
+ err = gnutls_x509_crl_get_extension_data2(
+ crl, i, &der);
if (err < 0) {
addf(str,
"error: get_extension_data2: %s\n",
@@ -2574,9 +2455,8 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
int err;
time_t tim;
- err =
- gnutls_x509_crl_iter_crt_serial(crl, &iter, serial,
- &serial_size, &tim);
+ err = gnutls_x509_crl_iter_crt_serial(
+ crl, &iter, serial, &serial_size, &tim);
if (err < 0) {
addf(str, "error: iter_crt_serial: %s\n",
gnutls_strerror(err));
@@ -2592,14 +2472,12 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
adds(str, "\n");
if (gmtime_r(&tim, &t) == NULL)
- addf(str,
- "error: gmtime_r (%ld)\n",
+ addf(str, "error: gmtime_r (%ld)\n",
(unsigned long)tim);
- else if (strftime
- (s, max,
- "%a %b %d %H:%M:%S UTC %Y", &t) == 0)
- addf(str,
- "error: strftime (%ld)\n",
+ else if (strftime(s, max,
+ "%a %b %d %H:%M:%S UTC %Y",
+ &t) == 0)
+ addf(str, "error: strftime (%ld)\n",
(unsigned long)tim);
else
addf(str, _("\t\tRevoked at: %s\n"), s);
@@ -2625,13 +2503,11 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
addf(str, _("\tSignature Algorithm: %s\n"), p);
gnutls_free(name);
- if (err != GNUTLS_SIGN_UNKNOWN
- && gnutls_sign_is_secure2(err,
- GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS)
- == 0) {
- adds(str,
- _("warning: signed using a broken signature "
- "algorithm that can be forged.\n"));
+ if (err != GNUTLS_SIGN_UNKNOWN &&
+ gnutls_sign_is_secure2(
+ err, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0) {
+ adds(str, _("warning: signed using a broken signature "
+ "algorithm that can be forged.\n"));
}
err = gnutls_x509_crl_get_signature(crl, buffer, &size);
@@ -2677,26 +2553,24 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_print(gnutls_x509_crl_t crl,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+int gnutls_x509_crl_print(gnutls_x509_crl_t crl,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
_gnutls_buffer_init(&str);
- _gnutls_buffer_append_str
- (&str, _("X.509 Certificate Revocation List Information:\n"));
+ _gnutls_buffer_append_str(
+ &str, _("X.509 Certificate Revocation List Information:\n"));
print_crl(&str, crl, format == GNUTLS_CRT_PRINT_UNSIGNED_FULL);
return _gnutls_buffer_to_datum(&str, out, 1);
}
-static int
-print_crq_sig_params(gnutls_buffer_st * str, gnutls_x509_crq_t crt,
- gnutls_certificate_print_formats_t format)
+static int print_crq_sig_params(gnutls_buffer_st *str, gnutls_x509_crq_t crt,
+ gnutls_certificate_print_formats_t format)
{
int ret;
gnutls_pk_algorithm_t pk;
@@ -2706,9 +2580,8 @@ print_crq_sig_params(gnutls_buffer_st * str, gnutls_x509_crq_t crt,
sign = gnutls_x509_crq_get_signature_algorithm(crt);
pk = gnutls_sign_get_pk_algorithm(sign);
if (pk == GNUTLS_PK_RSA_PSS) {
- ret = _gnutls_x509_read_sign_params(crt->crq,
- "signatureAlgorithm",
- &params);
+ ret = _gnutls_x509_read_sign_params(
+ crt->crq, "signatureAlgorithm", &params);
if (ret < 0) {
addf(str, "error: read_pss_params: %s\n",
gnutls_strerror(ret));
@@ -2719,9 +2592,8 @@ print_crq_sig_params(gnutls_buffer_st * str, gnutls_x509_crq_t crt,
return 0;
}
-static int
-print_crq_pubkey(gnutls_buffer_st * str, gnutls_x509_crq_t crq,
- gnutls_certificate_print_formats_t format)
+static int print_crq_pubkey(gnutls_buffer_st *str, gnutls_x509_crq_t crq,
+ gnutls_certificate_print_formats_t format)
{
gnutls_pubkey_t pubkey;
gnutls_x509_spki_st params;
@@ -2742,10 +2614,10 @@ print_crq_pubkey(gnutls_buffer_st * str, gnutls_x509_crq_t crq,
print_pubkey(str, _("Subject "), pubkey, &params, format);
ret = 0;
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
- if (ret < 0) { /* print only name */
+ if (ret < 0) { /* print only name */
const char *p;
char *name = crq_get_pk_name(crq);
if (name == NULL)
@@ -2761,9 +2633,8 @@ print_crq_pubkey(gnutls_buffer_st * str, gnutls_x509_crq_t crq,
return ret;
}
-static void
-print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
- gnutls_certificate_print_formats_t format)
+static void print_crq(gnutls_buffer_st *str, gnutls_x509_crq_t cert,
+ gnutls_certificate_print_formats_t format)
{
/* Version. */
{
@@ -2821,15 +2692,12 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
char oid[MAX_OID_SIZE] = "";
size_t sizeof_oid = sizeof(oid);
- err =
- gnutls_x509_crq_get_attribute_info(cert, i,
- oid,
- &sizeof_oid);
+ err = gnutls_x509_crq_get_attribute_info(cert, i, oid,
+ &sizeof_oid);
if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
if (err < 0) {
- addf(str,
- "error: get_extension_info: %s\n",
+ addf(str, "error: get_extension_info: %s\n",
gnutls_strerror(err));
break;
}
@@ -2858,11 +2726,10 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
"warning: more than one Challenge password attribute\n");
}
- err =
- gnutls_x509_crq_get_challenge_password
- (cert, NULL, &size);
- if (err < 0
- && err != GNUTLS_E_SHORT_MEMORY_BUFFER) {
+ err = gnutls_x509_crq_get_challenge_password(
+ cert, NULL, &size);
+ if (err < 0 &&
+ err != GNUTLS_E_SHORT_MEMORY_BUFFER) {
addf(str,
"error: get_challenge_password: %s\n",
gnutls_strerror(err));
@@ -2874,22 +2741,20 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
pass = gnutls_malloc(size);
if (!pass) {
addf(str, "error: malloc: %s\n",
- gnutls_strerror
- (GNUTLS_E_MEMORY_ERROR));
+ gnutls_strerror(
+ GNUTLS_E_MEMORY_ERROR));
continue;
}
- err =
- gnutls_x509_crq_get_challenge_password
- (cert, pass, &size);
+ err = gnutls_x509_crq_get_challenge_password(
+ cert, pass, &size);
if (err < 0)
addf(str,
"error: get_challenge_password: %s\n",
gnutls_strerror(err));
else
addf(str,
- _
- ("\t\tChallenge password: %s\n"),
+ _("\t\tChallenge password: %s\n"),
pass);
gnutls_free(pass);
@@ -2902,9 +2767,8 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
addf(str, _("\t\tUnknown attribute %s:\n"),
oid);
- err =
- gnutls_x509_crq_get_attribute_data
- (cert, i, NULL, &extlen);
+ err = gnutls_x509_crq_get_attribute_data(
+ cert, i, NULL, &extlen);
if (err < 0) {
addf(str,
"error: get_attribute_data: %s\n",
@@ -2915,14 +2779,13 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
buffer = gnutls_malloc(extlen);
if (!buffer) {
addf(str, "error: malloc: %s\n",
- gnutls_strerror
- (GNUTLS_E_MEMORY_ERROR));
+ gnutls_strerror(
+ GNUTLS_E_MEMORY_ERROR));
continue;
}
- err =
- gnutls_x509_crq_get_attribute_data
- (cert, i, buffer, &extlen);
+ err = gnutls_x509_crq_get_attribute_data(
+ cert, i, buffer, &extlen);
if (err < 0) {
gnutls_free(buffer);
addf(str,
@@ -2945,7 +2808,7 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert,
}
}
-static void print_crq_other(gnutls_buffer_st * str, gnutls_x509_crq_t crq)
+static void print_crq_other(gnutls_buffer_st *str, gnutls_x509_crq_t crq)
{
int ret;
@@ -2954,8 +2817,7 @@ static void print_crq_other(gnutls_buffer_st * str, gnutls_x509_crq_t crq)
if (ret < 0)
return;
- print_obj_id(str, "\t", crq,
- (get_id_func *) gnutls_x509_crq_get_key_id);
+ print_obj_id(str, "\t", crq, (get_id_func *)gnutls_x509_crq_get_key_id);
}
/**
@@ -2974,17 +2836,16 @@ static void print_crq_other(gnutls_buffer_st * str, gnutls_x509_crq_t crq)
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crq_print(gnutls_x509_crq_t crq,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+int gnutls_x509_crq_print(gnutls_x509_crq_t crq,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
_gnutls_buffer_init(&str);
- _gnutls_buffer_append_str
- (&str, _("PKCS #10 Certificate Request Information:\n"));
+ _gnutls_buffer_append_str(
+ &str, _("PKCS #10 Certificate Request Information:\n"));
print_crq(&str, crq, format);
@@ -2995,9 +2856,8 @@ gnutls_x509_crq_print(gnutls_x509_crq_t crq,
return _gnutls_buffer_to_datum(&str, out, 1);
}
-static void
-print_pubkey_other(gnutls_buffer_st * str, gnutls_pubkey_t pubkey,
- gnutls_certificate_print_formats_t format)
+static void print_pubkey_other(gnutls_buffer_st *str, gnutls_pubkey_t pubkey,
+ gnutls_certificate_print_formats_t format)
{
int ret;
unsigned int usage;
@@ -3019,7 +2879,7 @@ print_pubkey_other(gnutls_buffer_st * str, gnutls_pubkey_t pubkey,
if (ret < 0)
return;
- print_obj_id(str, "", pubkey, (get_id_func *) gnutls_pubkey_get_key_id);
+ print_obj_id(str, "", pubkey, (get_id_func *)gnutls_pubkey_get_key_id);
}
/**
@@ -3041,10 +2901,9 @@ print_pubkey_other(gnutls_buffer_st * str, gnutls_pubkey_t pubkey,
*
* Since: 3.1.5
**/
-int
-gnutls_pubkey_print(gnutls_pubkey_t pubkey,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+int gnutls_pubkey_print(gnutls_pubkey_t pubkey,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
@@ -3073,10 +2932,9 @@ gnutls_pubkey_print(gnutls_pubkey_t pubkey,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_ext_print(gnutls_x509_ext_st * exts, unsigned int exts_size,
- gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+int gnutls_x509_ext_print(gnutls_x509_ext_st *exts, unsigned int exts_size,
+ gnutls_certificate_print_formats_t format,
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
struct ext_indexes_st idx;
diff --git a/lib/x509/pkcs12.c b/lib/x509/pkcs12.c
index b84dff94c5..359025a1ab 100644
--- a/lib/x509/pkcs12.c
+++ b/lib/x509/pkcs12.c
@@ -42,9 +42,8 @@
/* Decodes the PKCS #12 auth_safe, and returns the allocated raw data,
* which holds them. Returns an asn1_node of authenticatedSafe.
*/
-static int
-_decode_pkcs12_auth_safe(asn1_node pkcs12, asn1_node * authen_safe,
- gnutls_datum_t * raw)
+static int _decode_pkcs12_auth_safe(asn1_node pkcs12, asn1_node *authen_safe,
+ gnutls_datum_t *raw)
{
char oid[MAX_OID_SIZE];
asn1_node c2 = NULL;
@@ -68,9 +67,9 @@ _decode_pkcs12_auth_safe(asn1_node pkcs12, asn1_node * authen_safe,
/* Step 1. Read the content data
*/
- result =
- _gnutls_x509_read_string(pkcs12, "authSafe.content",
- &auth_safe, ASN1_ETYPE_OCTET_STRING, 1);
+ result = _gnutls_x509_read_string(pkcs12, "authSafe.content",
+ &auth_safe, ASN1_ETYPE_OCTET_STRING,
+ 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -79,16 +78,16 @@ _decode_pkcs12_auth_safe(asn1_node pkcs12, asn1_node * authen_safe,
/* Step 2. Extract the authenticatedSafe.
*/
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-12-AuthenticatedSafe",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-12-AuthenticatedSafe",
+ &c2)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_der_decoding(&c2, auth_safe.data, auth_safe.size, error_str);
+ result = asn1_der_decoding(&c2, auth_safe.data, auth_safe.size,
+ error_str);
if (result != ASN1_SUCCESS) {
gnutls_assert();
_gnutls_debug_log("DER error: %s\n", error_str);
@@ -110,7 +109,7 @@ _decode_pkcs12_auth_safe(asn1_node pkcs12, asn1_node * authen_safe,
return 0;
- cleanup:
+cleanup:
if (c2)
asn1_delete_structure(&c2);
_gnutls_free_datum(&auth_safe);
@@ -124,8 +123,8 @@ static int pkcs12_reinit(gnutls_pkcs12_t pkcs12)
if (pkcs12->pkcs12)
asn1_delete_structure(&pkcs12->pkcs12);
- result = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-PFX", &pkcs12->pkcs12);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.pkcs-12-PFX",
+ &pkcs12->pkcs12);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -145,7 +144,7 @@ static int pkcs12_reinit(gnutls_pkcs12_t pkcs12)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_pkcs12_init(gnutls_pkcs12_t * pkcs12)
+int gnutls_pkcs12_init(gnutls_pkcs12_t *pkcs12)
{
*pkcs12 = gnutls_calloc(1, sizeof(gnutls_pkcs12_int));
@@ -156,7 +155,7 @@ int gnutls_pkcs12_init(gnutls_pkcs12_t * pkcs12)
gnutls_free(*pkcs12);
return result;
}
- return 0; /* success */
+ return 0; /* success */
}
return GNUTLS_E_MEMORY_ERROR;
}
@@ -193,10 +192,8 @@ void gnutls_pkcs12_deinit(gnutls_pkcs12_t pkcs12)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format, unsigned int flags)
+int gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12, const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format, unsigned int flags)
{
int result = 0, need_free = 0;
gnutls_datum_t _data;
@@ -213,9 +210,8 @@ gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12,
/* If the PKCS12 is in PEM format then decode it
*/
if (format == GNUTLS_X509_FMT_PEM) {
- result =
- _gnutls_fbase64_decode(PEM_PKCS12, data->data,
- data->size, &_data);
+ result = _gnutls_fbase64_decode(PEM_PKCS12, data->data,
+ data->size, &_data);
if (result < 0) {
gnutls_assert();
@@ -234,9 +230,8 @@ gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12,
}
pkcs12->expanded = 1;
- result =
- asn1_der_decoding(&pkcs12->pkcs12, _data.data, _data.size,
- error_str);
+ result = asn1_der_decoding(&pkcs12->pkcs12, _data.data, _data.size,
+ error_str);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
_gnutls_debug_log("DER error: %s\n", error_str);
@@ -249,7 +244,7 @@ gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12,
return 0;
- cleanup:
+cleanup:
if (need_free)
_gnutls_free_datum(&_data);
return result;
@@ -275,10 +270,8 @@ gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12,
* Returns: In case of failure a negative error code will be
* returned, and 0 on success.
**/
-int
-gnutls_pkcs12_export(gnutls_pkcs12_t pkcs12,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_pkcs12_export(gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
int ret;
@@ -320,9 +313,8 @@ gnutls_pkcs12_export(gnutls_pkcs12_t pkcs12,
*
* Since: 3.1.3
**/
-int
-gnutls_pkcs12_export2(gnutls_pkcs12_t pkcs12,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_pkcs12_export2(gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
int ret;
@@ -380,9 +372,8 @@ static const char *bag_to_oid(int bag)
/* Decodes the SafeContents, and puts the output in
* the given bag.
*/
-int
-_pkcs12_decode_safe_contents(const gnutls_datum_t * content,
- gnutls_pkcs12_bag_t bag)
+int _pkcs12_decode_safe_contents(const gnutls_datum_t *content,
+ gnutls_pkcs12_bag_t bag)
{
char oid[MAX_OID_SIZE], root[MAX_NAME_SIZE];
asn1_node c2 = NULL;
@@ -396,9 +387,9 @@ _pkcs12_decode_safe_contents(const gnutls_datum_t * content,
/* Step 1. Extract the SEQUENCE.
*/
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-12-SafeContents",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-12-SafeContents", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -423,7 +414,6 @@ _pkcs12_decode_safe_contents(const gnutls_datum_t * content,
bag->bag_elements = MIN(MAX_BAG_ELEMENTS, count);
for (i = 0; i < bag->bag_elements; i++) {
-
snprintf(root, sizeof(root), "?%u.bagId", i + 1);
len = sizeof(oid);
@@ -448,23 +438,22 @@ _pkcs12_decode_safe_contents(const gnutls_datum_t * content,
snprintf(root, sizeof(root), "?%u.bagValue", i + 1);
- result =
- _gnutls_x509_read_value(c2, root, &bag->element[i].data);
+ result = _gnutls_x509_read_value(c2, root,
+ &bag->element[i].data);
if (result < 0) {
gnutls_assert();
goto cleanup;
}
- if (bag_type == GNUTLS_BAG_CERTIFICATE
- || bag_type == GNUTLS_BAG_CRL
- || bag_type == GNUTLS_BAG_SECRET) {
+ if (bag_type == GNUTLS_BAG_CERTIFICATE ||
+ bag_type == GNUTLS_BAG_CRL ||
+ bag_type == GNUTLS_BAG_SECRET) {
gnutls_datum_t tmp = bag->element[i].data;
bag->element[i].data.data = NULL;
bag->element[i].data.size = 0;
- result =
- _pkcs12_decode_crt_bag(bag_type, &tmp,
- &bag->element[i].data);
+ result = _pkcs12_decode_crt_bag(bag_type, &tmp,
+ &bag->element[i].data);
_gnutls_free_datum(&tmp);
if (result < 0) {
gnutls_assert();
@@ -477,7 +466,8 @@ _pkcs12_decode_safe_contents(const gnutls_datum_t * content,
snprintf(root, sizeof(root), "?%u.bagAttributes", i + 1);
result = asn1_number_of_elements(c2, root, &attributes);
- if (result != ASN1_SUCCESS && result != ASN1_ELEMENT_NOT_FOUND) {
+ if (result != ASN1_SUCCESS &&
+ result != ASN1_ELEMENT_NOT_FOUND) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -488,87 +478,82 @@ _pkcs12_decode_safe_contents(const gnutls_datum_t * content,
if (result != ASN1_ELEMENT_NOT_FOUND)
for (j = 0; j < attributes; j++) {
-
snprintf(root, sizeof(root),
"?%u.bagAttributes.?%d", i + 1, j + 1);
- result =
- _gnutls_x509_decode_and_read_attribute
- (c2, root, oid, sizeof(oid), &attr_val,
- 1, 0);
+ result = _gnutls_x509_decode_and_read_attribute(
+ c2, root, oid, sizeof(oid), &attr_val,
+ 1, 0);
if (result < 0) {
gnutls_assert();
- continue; /* continue in case we find some known attributes */
+ continue; /* continue in case we find some known attributes */
}
if (strcmp(oid, KEY_ID_OID) == 0) {
- result =
- _gnutls_x509_decode_string
- (ASN1_ETYPE_OCTET_STRING,
- attr_val.data, attr_val.size,
- &t, 1);
+ result = _gnutls_x509_decode_string(
+ ASN1_ETYPE_OCTET_STRING,
+ attr_val.data, attr_val.size,
+ &t, 1);
_gnutls_free_datum(&attr_val);
if (result < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("Error decoding PKCS12 Bag Attribute OID '%s'\n",
- oid);
+ _gnutls_debug_log(
+ "Error decoding PKCS12 Bag Attribute OID '%s'\n",
+ oid);
continue;
}
- _gnutls_free_datum(&bag->element
- [i].local_key_id);
+ _gnutls_free_datum(
+ &bag->element[i].local_key_id);
bag->element[i].local_key_id.data =
- t.data;
+ t.data;
bag->element[i].local_key_id.size =
- t.size;
- } else if (strcmp(oid, FRIENDLY_NAME_OID) == 0
- && bag->element[i].friendly_name ==
- NULL) {
- result =
- _gnutls_x509_decode_string
- (ASN1_ETYPE_BMP_STRING,
- attr_val.data, attr_val.size, &t,
- 1);
+ t.size;
+ } else if (strcmp(oid, FRIENDLY_NAME_OID) ==
+ 0 &&
+ bag->element[i].friendly_name ==
+ NULL) {
+ result = _gnutls_x509_decode_string(
+ ASN1_ETYPE_BMP_STRING,
+ attr_val.data, attr_val.size,
+ &t, 1);
_gnutls_free_datum(&attr_val);
if (result < 0) {
gnutls_assert();
- _gnutls_debug_log
- ("Error decoding PKCS12 Bag Attribute OID '%s'\n",
- oid);
+ _gnutls_debug_log(
+ "Error decoding PKCS12 Bag Attribute OID '%s'\n",
+ oid);
continue;
}
- gnutls_free(bag->
- element[i].friendly_name);
+ gnutls_free(
+ bag->element[i].friendly_name);
bag->element[i].friendly_name =
- (char *)t.data;
+ (char *)t.data;
} else {
_gnutls_free_datum(&attr_val);
- _gnutls_debug_log
- ("Unknown PKCS12 Bag Attribute OID '%s'\n",
- oid);
+ _gnutls_debug_log(
+ "Unknown PKCS12 Bag Attribute OID '%s'\n",
+ oid);
}
}
bag->element[i].type = bag_type;
-
}
result = 0;
- cleanup:
+cleanup:
if (c2)
asn1_delete_structure(&c2);
return result;
-
}
-static int
-_parse_safe_contents(asn1_node sc, const char *sc_name, gnutls_pkcs12_bag_t bag)
+static int _parse_safe_contents(asn1_node sc, const char *sc_name,
+ gnutls_pkcs12_bag_t bag)
{
gnutls_datum_t content = { NULL, 0 };
int result;
@@ -576,9 +561,8 @@ _parse_safe_contents(asn1_node sc, const char *sc_name, gnutls_pkcs12_bag_t bag)
/* Step 1. Extract the content.
*/
- result =
- _gnutls_x509_read_string(sc, sc_name, &content,
- ASN1_ETYPE_OCTET_STRING, 1);
+ result = _gnutls_x509_read_string(sc, sc_name, &content,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -594,7 +578,7 @@ _parse_safe_contents(asn1_node sc, const char *sc_name, gnutls_pkcs12_bag_t bag)
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&content);
return result;
}
@@ -613,8 +597,8 @@ _parse_safe_contents(asn1_node sc, const char *sc_name, gnutls_pkcs12_bag_t bag)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs12_get_bag(gnutls_pkcs12_t pkcs12, int indx, gnutls_pkcs12_bag_t bag)
+int gnutls_pkcs12_get_bag(gnutls_pkcs12_t pkcs12, int indx,
+ gnutls_pkcs12_bag_t bag)
{
asn1_node c2 = NULL;
int result, len;
@@ -676,7 +660,7 @@ gnutls_pkcs12_get_bag(gnutls_pkcs12_t pkcs12, int indx, gnutls_pkcs12_bag_t bag)
result = 0;
- cleanup:
+cleanup:
if (c2)
asn1_delete_structure(&c2);
return result;
@@ -712,17 +696,16 @@ static int create_empty_pfx(asn1_node pkcs12)
* null one in that case.
*/
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-12-AuthenticatedSafe",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-12-AuthenticatedSafe",
+ &c2)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- _gnutls_x509_der_encode_and_copy(c2, "", pkcs12,
- "authSafe.content", 1);
+ result = _gnutls_x509_der_encode_and_copy(c2, "", pkcs12,
+ "authSafe.content", 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -731,10 +714,9 @@ static int create_empty_pfx(asn1_node pkcs12)
return 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
-
}
/**
@@ -763,8 +745,8 @@ int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
/* Step 1. Check if the pkcs12 structure is empty. In that
* case generate an empty PFX.
*/
- result =
- asn1_read_value(pkcs12->pkcs12, "authSafe.content", &null, &dum);
+ result = asn1_read_value(pkcs12->pkcs12, "authSafe.content", &null,
+ &dum);
if (result == ASN1_VALUE_NOT_FOUND) {
result = create_empty_pfx(pkcs12->pkcs12);
if (result < 0) {
@@ -801,8 +783,8 @@ int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
}
if (enc)
- result =
- asn1_write_value(c2, "?LAST.contentType", ENC_DATA_OID, 1);
+ result = asn1_write_value(c2, "?LAST.contentType", ENC_DATA_OID,
+ 1);
else
result = asn1_write_value(c2, "?LAST.contentType", DATA_OID, 1);
if (result != ASN1_SUCCESS) {
@@ -814,19 +796,17 @@ int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
if (enc) {
/* Encrypted packets are written directly.
*/
- result =
- asn1_write_value(c2, "?LAST.content",
- bag->element[0].data.data,
- bag->element[0].data.size);
+ result = asn1_write_value(c2, "?LAST.content",
+ bag->element[0].data.data,
+ bag->element[0].data.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
} else {
- result =
- _gnutls_x509_der_encode_and_copy(safe_cont, "", c2,
- "?LAST.content", 1);
+ result = _gnutls_x509_der_encode_and_copy(safe_cont, "", c2,
+ "?LAST.content", 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -838,9 +818,8 @@ int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
/* Step 5. Re-encode and copy the AuthenticatedSafe into the pkcs12
* structure.
*/
- result =
- _gnutls_x509_der_encode_and_copy(c2, "", pkcs12->pkcs12,
- "authSafe.content", 1);
+ result = _gnutls_x509_der_encode_and_copy(c2, "", pkcs12->pkcs12,
+ "authSafe.content", 1);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -850,7 +829,7 @@ int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
return 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
asn1_delete_structure(&safe_cont);
return result;
@@ -866,10 +845,9 @@ int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t bag)
*/
static int
_gnutls_pkcs12_gost_string_to_key(gnutls_mac_algorithm_t algo,
- const uint8_t * salt,
- unsigned int salt_size, unsigned int iter,
- const char *pass, unsigned int req_keylen,
- uint8_t * keybuf)
+ const uint8_t *salt, unsigned int salt_size,
+ unsigned int iter, const char *pass,
+ unsigned int req_keylen, uint8_t *keybuf)
{
uint8_t temp[96];
size_t temp_len = sizeof(temp);
@@ -938,9 +916,8 @@ int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,
/* Write the salt into the structure.
*/
- result =
- asn1_write_value(pkcs12->pkcs12, "macData.macSalt", salt,
- sizeof(salt));
+ result = asn1_write_value(pkcs12->pkcs12, "macData.macSalt", salt,
+ sizeof(salt));
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -951,9 +928,8 @@ int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,
*/
if (iter > 1) {
- result =
- _gnutls_x509_write_uint32(pkcs12->pkcs12,
- "macData.iterations", iter);
+ result = _gnutls_x509_write_uint32(pkcs12->pkcs12,
+ "macData.iterations", iter);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -967,16 +943,12 @@ int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,
me->id == GNUTLS_MAC_STREEBOG_256 ||
me->id == GNUTLS_MAC_STREEBOG_512) {
key_len = 32;
- result = _gnutls_pkcs12_gost_string_to_key(me->id,
- salt,
- sizeof(salt),
- iter,
- pass, key_len, key);
+ result = _gnutls_pkcs12_gost_string_to_key(
+ me->id, salt, sizeof(salt), iter, pass, key_len, key);
} else
#endif
- result = _gnutls_pkcs12_string_to_key(me, 3 /*MAC*/,
- salt, sizeof(salt),
- iter, pass,
+ result = _gnutls_pkcs12_string_to_key(me, 3 /*MAC*/, salt,
+ sizeof(salt), iter, pass,
mac_size, key);
if (result < 0) {
gnutls_assert();
@@ -1004,28 +976,26 @@ int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,
_gnutls_mac_deinit(&td1, mac_out);
- result =
- asn1_write_value(pkcs12->pkcs12, "macData.mac.digest", mac_out,
- mac_size);
+ result = asn1_write_value(pkcs12->pkcs12, "macData.mac.digest", mac_out,
+ mac_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(pkcs12->pkcs12,
- "macData.mac.digestAlgorithm.parameters", NULL, 0);
+ result = asn1_write_value(pkcs12->pkcs12,
+ "macData.mac.digestAlgorithm.parameters",
+ NULL, 0);
if (result != ASN1_SUCCESS && result != ASN1_ELEMENT_NOT_FOUND) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(pkcs12->pkcs12,
- "macData.mac.digestAlgorithm.algorithm",
- me->oid, 1);
+ result = asn1_write_value(pkcs12->pkcs12,
+ "macData.mac.digestAlgorithm.algorithm",
+ me->oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1036,7 +1006,7 @@ int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_NOT_APPROVED);
return 0;
- cleanup:
+cleanup:
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
_gnutls_free_datum(&tmp);
return result;
@@ -1075,9 +1045,7 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
unsigned int iter;
int len;
mac_hd_st td1;
- gnutls_datum_t tmp = { NULL, 0 }, salt = {
- NULL, 0
- };
+ gnutls_datum_t tmp = { NULL, 0 }, salt = { NULL, 0 };
uint8_t mac_output[MAX_HASH_SIZE];
uint8_t mac_output_orig[MAX_HASH_SIZE];
gnutls_mac_algorithm_t algo;
@@ -1094,16 +1062,16 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
/* read the iterations
*/
- result =
- _gnutls_x509_read_uint(pkcs12->pkcs12, "macData.iterations", &iter);
+ result = _gnutls_x509_read_uint(pkcs12->pkcs12, "macData.iterations",
+ &iter);
if (result < 0) {
- iter = 1; /* the default */
+ iter = 1; /* the default */
}
len = sizeof(oid);
- result =
- asn1_read_value(pkcs12->pkcs12,
- "macData.mac.digestAlgorithm.algorithm", oid, &len);
+ result = asn1_read_value(pkcs12->pkcs12,
+ "macData.mac.digestAlgorithm.algorithm", oid,
+ &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1111,7 +1079,7 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
algo = DIG_TO_MAC(gnutls_oid_to_digest(oid));
if (algo == GNUTLS_MAC_UNKNOWN) {
- unknown_mac:
+ unknown_mac:
gnutls_assert();
return GNUTLS_E_UNKNOWN_HASH_ALGORITHM;
}
@@ -1125,9 +1093,8 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
/* Read the salt from the structure.
*/
- result =
- _gnutls_x509_read_null_value(pkcs12->pkcs12, "macData.macSalt",
- &salt);
+ result = _gnutls_x509_read_null_value(pkcs12->pkcs12, "macData.macSalt",
+ &salt);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -1135,9 +1102,9 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
/* Generate the key.
*/
- result = _gnutls_pkcs12_string_to_key(entry, 3 /*MAC*/,
- salt.data, salt.size,
- iter, pass, key_len, key);
+ result = _gnutls_pkcs12_string_to_key(entry, 3 /*MAC*/, salt.data,
+ salt.size, iter, pass, key_len,
+ key);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -1153,7 +1120,7 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
#if ENABLE_GOST
/* GOST PKCS#12 files use either PKCS#12 scheme or proprietary
* HMAC-based scheme to generate MAC key. */
- pkcs12_try_gost:
+pkcs12_try_gost:
#endif
/* MAC the data
@@ -1169,9 +1136,8 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
_gnutls_mac_deinit(&td1, mac_output);
len = sizeof(mac_output_orig);
- result =
- asn1_read_value(pkcs12->pkcs12, "macData.mac.digest",
- mac_output_orig, &len);
+ result = asn1_read_value(pkcs12->pkcs12, "macData.mac.digest",
+ mac_output_orig, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1180,23 +1146,17 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
if ((unsigned)len != mac_len ||
memcmp(mac_output_orig, mac_output, len) != 0) {
-
#if ENABLE_GOST
/* It is possible that GOST files use proprietary
* key generation scheme */
- if (!gost_retry &&
- (algo == GNUTLS_MAC_GOSTR_94 ||
- algo == GNUTLS_MAC_STREEBOG_256 ||
- algo == GNUTLS_MAC_STREEBOG_512)) {
+ if (!gost_retry && (algo == GNUTLS_MAC_GOSTR_94 ||
+ algo == GNUTLS_MAC_STREEBOG_256 ||
+ algo == GNUTLS_MAC_STREEBOG_512)) {
gost_retry = 1;
key_len = 32;
- result = _gnutls_pkcs12_gost_string_to_key(algo,
- salt.data,
- salt.size,
- iter,
- pass,
- key_len,
- key);
+ result = _gnutls_pkcs12_gost_string_to_key(
+ algo, salt.data, salt.size, iter, pass, key_len,
+ key);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -1214,16 +1174,15 @@ int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
/* _gnutls_pkcs12_string_to_key is not a FIPS approved operation */
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_NOT_APPROVED);
result = 0;
- cleanup:
+cleanup:
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
_gnutls_free_datum(&tmp);
_gnutls_free_datum(&salt);
return result;
}
-static int
-write_attributes(gnutls_pkcs12_bag_t bag, int elem,
- asn1_node c2, const char *where)
+static int write_attributes(gnutls_pkcs12_bag_t bag, int elem, asn1_node c2,
+ const char *where)
{
int result;
char root[128];
@@ -1245,7 +1204,6 @@ write_attributes(gnutls_pkcs12_bag_t bag, int elem,
}
if (bag->element[elem].local_key_id.data != NULL) {
-
/* Add a new Attribute
*/
result = asn1_write_value(c2, where, "NEW", 1);
@@ -1257,15 +1215,10 @@ write_attributes(gnutls_pkcs12_bag_t bag, int elem,
_gnutls_str_cpy(root, sizeof(root), where);
_gnutls_str_cat(root, sizeof(root), ".?LAST");
- result =
- _gnutls_x509_encode_and_write_attribute(KEY_ID_OID, c2,
- root,
- bag->element
- [elem].
- local_key_id.data,
- bag->element[elem].
- local_key_id.size,
- 1);
+ result = _gnutls_x509_encode_and_write_attribute(
+ KEY_ID_OID, c2, root,
+ bag->element[elem].local_key_id.data,
+ bag->element[elem].local_key_id.size, 1);
if (result < 0) {
gnutls_assert();
return result;
@@ -1305,9 +1258,8 @@ write_attributes(gnutls_pkcs12_bag_t bag, int elem,
_gnutls_str_cpy(root, sizeof(root), where);
_gnutls_str_cat(root, sizeof(root), ".?LAST");
- result =
- _gnutls_x509_encode_and_write_attribute
- (FRIENDLY_NAME_OID, c2, root, name, size, 1);
+ result = _gnutls_x509_encode_and_write_attribute(
+ FRIENDLY_NAME_OID, c2, root, name, size, 1);
gnutls_free(name);
@@ -1323,9 +1275,8 @@ write_attributes(gnutls_pkcs12_bag_t bag, int elem,
/* Encodes the bag into a SafeContents structure, and puts the output in
* the given datum. Enc is set to non-zero if the data are encrypted;
*/
-int
-_pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node * contents,
- int *enc)
+int _pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node *contents,
+ int *enc)
{
asn1_node c2 = NULL;
int result;
@@ -1334,23 +1285,22 @@ _pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node * contents,
if (bag->element[0].type == GNUTLS_BAG_ENCRYPTED && enc) {
*enc = 1;
- return 0; /* ENCRYPTED BAG, do nothing. */
+ return 0; /* ENCRYPTED BAG, do nothing. */
} else if (enc)
*enc = 0;
/* Step 1. Create the SEQUENCE.
*/
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-12-SafeContents",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-12-SafeContents", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
for (i = 0; i < bag->bag_elements; i++) {
-
oid = bag_to_oid(bag->element[i].type);
if (oid == NULL) {
gnutls_assert();
@@ -1393,33 +1343,29 @@ _pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node * contents,
* a CrlBag.
*/
- result =
- _pkcs12_encode_crt_bag(bag->element[i].type,
- &bag->element[i].data, &tmp);
+ result = _pkcs12_encode_crt_bag(bag->element[i].type,
+ &bag->element[i].data,
+ &tmp);
if (result < 0) {
gnutls_assert();
goto cleanup;
}
- result =
- _gnutls_x509_write_value(c2, "?LAST.bagValue",
- &tmp);
+ result = _gnutls_x509_write_value(c2, "?LAST.bagValue",
+ &tmp);
_gnutls_free_datum(&tmp);
} else {
-
- result =
- _gnutls_x509_write_value(c2, "?LAST.bagValue",
- &bag->element[i].data);
+ result = _gnutls_x509_write_value(
+ c2, "?LAST.bagValue", &bag->element[i].data);
}
if (result < 0) {
gnutls_assert();
goto cleanup;
}
-
}
/* Encode the data and copy them into the datum
@@ -1428,19 +1374,18 @@ _pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node * contents,
return 0;
- cleanup:
+cleanup:
if (c2)
asn1_delete_structure(&c2);
return result;
-
}
/* Checks if the extra_certs contain certificates that may form a chain
* with the first certificate in chain (it is expected that chain_len==1)
* and appends those in the chain.
*/
-static int make_chain(gnutls_x509_crt_t ** chain, unsigned int *chain_len,
- gnutls_x509_crt_t ** extra_certs,
+static int make_chain(gnutls_x509_crt_t **chain, unsigned int *chain_len,
+ gnutls_x509_crt_t **extra_certs,
unsigned int *extra_certs_len, unsigned int flags)
{
unsigned int i;
@@ -1451,22 +1396,19 @@ static int make_chain(gnutls_x509_crt_t ** chain, unsigned int *chain_len,
i = 0;
while (i < *extra_certs_len) {
/* if it is an issuer but not a self-signed one */
- if (gnutls_x509_crt_check_issuer
- ((*chain)[*chain_len - 1], (*extra_certs)[i]) != 0) {
- if (!(flags & GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED)
- &&
- gnutls_x509_crt_check_issuer((*extra_certs)[i],
- (*extra_certs)[i])
- != 0)
+ if (gnutls_x509_crt_check_issuer((*chain)[*chain_len - 1],
+ (*extra_certs)[i]) != 0) {
+ if (!(flags & GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED) &&
+ gnutls_x509_crt_check_issuer(
+ (*extra_certs)[i], (*extra_certs)[i]) != 0)
goto skip;
if (unlikely(INT_ADD_OVERFLOW(*chain_len, 1))) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
- *chain = _gnutls_reallocarray_fast(*chain,
- ++(*chain_len),
- sizeof((*chain)[0]));
+ *chain = _gnutls_reallocarray_fast(
+ *chain, ++(*chain_len), sizeof((*chain)[0]));
if (*chain == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -1474,14 +1416,14 @@ static int make_chain(gnutls_x509_crt_t ** chain, unsigned int *chain_len,
(*chain)[*chain_len - 1] = (*extra_certs)[i];
(*extra_certs)[i] =
- (*extra_certs)[*extra_certs_len - 1];
+ (*extra_certs)[*extra_certs_len - 1];
(*extra_certs_len)--;
i = 0;
continue;
}
- skip:
+ skip:
i++;
}
return 0;
@@ -1536,15 +1478,13 @@ static int make_chain(gnutls_x509_crt_t ** chain, unsigned int *chain_len,
*
* Since: 3.1.0
**/
-int
-gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
- const char *password,
- gnutls_x509_privkey_t * key,
- gnutls_x509_crt_t ** chain,
- unsigned int *chain_len,
- gnutls_x509_crt_t ** extra_certs,
- unsigned int *extra_certs_len,
- gnutls_x509_crl_t * crl, unsigned int flags)
+int gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12, const char *password,
+ gnutls_x509_privkey_t *key,
+ gnutls_x509_crt_t **chain,
+ unsigned int *chain_len,
+ gnutls_x509_crt_t **extra_certs,
+ unsigned int *extra_certs_len,
+ gnutls_x509_crl_t *crl, unsigned int flags)
{
gnutls_pkcs12_bag_t bag = NULL;
gnutls_x509_crt_t *_extra_certs = NULL;
@@ -1568,7 +1508,6 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
/* find the first private key */
for (;;) {
-
ret = gnutls_pkcs12_bag_init(&bag);
if (ret < 0) {
bag = NULL;
@@ -1595,9 +1534,8 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
if (ret == GNUTLS_BAG_ENCRYPTED) {
if (password == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
+ ret = gnutls_assert_val(
+ GNUTLS_E_DECRYPTION_FAILED);
goto done;
}
@@ -1633,15 +1571,14 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
switch (type) {
case GNUTLS_BAG_PKCS8_ENCRYPTED_KEY:
if (password == NULL) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_DECRYPTION_FAILED);
+ ret = gnutls_assert_val(
+ GNUTLS_E_DECRYPTION_FAILED);
goto done;
}
FALLTHROUGH;
case GNUTLS_BAG_PKCS8_KEY:
- if (*key != NULL) { /* too simple to continue */
+ if (*key != NULL) { /* too simple to continue */
gnutls_assert();
break;
}
@@ -1652,28 +1589,26 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
goto done;
}
- ret = gnutls_x509_privkey_import_pkcs8
- (*key, &data, GNUTLS_X509_FMT_DER,
- password,
- type ==
- GNUTLS_BAG_PKCS8_KEY ?
- GNUTLS_PKCS_PLAIN : 0);
+ ret = gnutls_x509_privkey_import_pkcs8(
+ *key, &data, GNUTLS_X509_FMT_DER,
+ password,
+ type == GNUTLS_BAG_PKCS8_KEY ?
+ GNUTLS_PKCS_PLAIN :
+ 0);
if (ret < 0) {
gnutls_assert();
goto done;
}
key_id_size = sizeof(key_id);
- ret =
- gnutls_x509_privkey_get_key_id(*key, 0,
- key_id,
- &key_id_size);
+ ret = gnutls_x509_privkey_get_key_id(
+ *key, 0, key_id, &key_id_size);
if (ret < 0) {
gnutls_assert();
goto done;
}
- privkey_ok = 1; /* break */
+ privkey_ok = 1; /* break */
break;
default:
break;
@@ -1684,11 +1619,11 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
gnutls_pkcs12_bag_deinit(bag);
bag = NULL;
- if (privkey_ok != 0) /* private key was found */
+ if (privkey_ok != 0) /* private key was found */
break;
}
- if (privkey_ok == 0) { /* no private key */
+ if (privkey_ok == 0) { /* no private key */
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -1761,10 +1696,8 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
goto done;
}
- ret =
- gnutls_x509_crt_import(this_cert,
- &data,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(
+ this_cert, &data, GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
gnutls_x509_crt_deinit(this_cert);
@@ -1774,10 +1707,8 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
/* check if the key id match */
cert_id_size = sizeof(cert_id);
- ret =
- gnutls_x509_crt_get_key_id(this_cert,
- 0, cert_id,
- &cert_id_size);
+ ret = gnutls_x509_crt_get_key_id(
+ this_cert, 0, cert_id, &cert_id_size);
if (ret < 0) {
gnutls_assert();
gnutls_x509_crt_deinit(this_cert);
@@ -1785,47 +1716,43 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
goto done;
}
- if (memcmp(cert_id, key_id, cert_id_size) != 0) { /* they don't match - skip the certificate */
- if (unlikely
- (INT_ADD_OVERFLOW
- (_extra_certs_len, 1))) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_MEMORY_ERROR);
+ if (memcmp(cert_id, key_id, cert_id_size) !=
+ 0) { /* they don't match - skip the certificate */
+ if (unlikely(INT_ADD_OVERFLOW(
+ _extra_certs_len, 1))) {
+ ret = gnutls_assert_val(
+ GNUTLS_E_MEMORY_ERROR);
goto done;
}
- _extra_certs =
- _gnutls_reallocarray_fast
- (_extra_certs, ++_extra_certs_len,
- sizeof(_extra_certs[0]));
+ _extra_certs = _gnutls_reallocarray_fast(
+ _extra_certs,
+ ++_extra_certs_len,
+ sizeof(_extra_certs[0]));
if (!_extra_certs) {
gnutls_assert();
ret = GNUTLS_E_MEMORY_ERROR;
goto done;
}
- _extra_certs
- [_extra_certs_len - 1] = this_cert;
+ _extra_certs[_extra_certs_len - 1] =
+ this_cert;
this_cert = NULL;
} else {
if (chain && _chain_len == 0) {
- _chain =
- gnutls_malloc(sizeof
- (_chain
- [0]) *
- (++_chain_len));
+ _chain = gnutls_malloc(
+ sizeof(_chain[0]) *
+ (++_chain_len));
if (!_chain) {
gnutls_assert();
- ret =
- GNUTLS_E_MEMORY_ERROR;
+ ret = GNUTLS_E_MEMORY_ERROR;
goto done;
}
_chain[_chain_len - 1] =
- this_cert;
+ this_cert;
this_cert = NULL;
} else {
- gnutls_x509_crt_deinit
- (this_cert);
+ gnutls_x509_crt_deinit(
+ this_cert);
this_cert = NULL;
}
}
@@ -1843,9 +1770,8 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
goto done;
}
- ret =
- gnutls_x509_crl_import(*crl, &data,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crl_import(
+ *crl, &data, GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
gnutls_x509_crl_deinit(*crl);
@@ -1874,9 +1800,8 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
goto done;
}
- ret =
- make_chain(&_chain, &_chain_len, &_extra_certs,
- &_extra_certs_len, flags);
+ ret = make_chain(&_chain, &_chain_len, &_extra_certs,
+ &_extra_certs_len, flags);
if (ret < 0) {
gnutls_assert();
goto done;
@@ -1885,7 +1810,7 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
ret = 0;
- done:
+done:
if (bag)
gnutls_pkcs12_bag_deinit(bag);
@@ -1953,15 +1878,12 @@ gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12,
* %GNUTLS_E_UNKNOWN_HASH_ALGORITHM if the structure's MAC isn't supported, or
* another negative error code in case of a failure. Zero on success.
**/
-int
-gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,
- void *salt, unsigned int *salt_size,
- unsigned int *iter_count, char **oid)
+int gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,
+ void *salt, unsigned int *salt_size,
+ unsigned int *iter_count, char **oid)
{
int ret;
- gnutls_datum_t tmp = { NULL, 0 }, dsalt = {
- NULL, 0
- };
+ gnutls_datum_t tmp = { NULL, 0 }, dsalt = { NULL, 0 };
gnutls_mac_algorithm_t algo;
if (oid)
@@ -1972,10 +1894,8 @@ gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _gnutls_x509_read_value(pkcs12->pkcs12,
- "macData.mac.digestAlgorithm.algorithm",
- &tmp);
+ ret = _gnutls_x509_read_value(
+ pkcs12->pkcs12, "macData.mac.digestAlgorithm.algorithm", &tmp);
if (ret < 0) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
@@ -2000,20 +1920,18 @@ gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,
}
if (iter_count) {
- ret =
- _gnutls_x509_read_uint(pkcs12->pkcs12, "macData.iterations",
- iter_count);
+ ret = _gnutls_x509_read_uint(pkcs12->pkcs12,
+ "macData.iterations", iter_count);
if (ret < 0) {
- *iter_count = 1; /* the default */
+ *iter_count = 1; /* the default */
}
}
if (salt) {
/* Read the salt from the structure.
*/
- ret =
- _gnutls_x509_read_null_value(pkcs12->pkcs12,
- "macData.macSalt", &dsalt);
+ ret = _gnutls_x509_read_null_value(pkcs12->pkcs12,
+ "macData.macSalt", &dsalt);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2031,9 +1949,8 @@ gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&tmp);
_gnutls_free_datum(&dsalt);
return ret;
-
}
diff --git a/lib/x509/pkcs12_bag.c b/lib/x509/pkcs12_bag.c
index 012d92f8d4..06c38f2b74 100644
--- a/lib/x509/pkcs12_bag.c
+++ b/lib/x509/pkcs12_bag.c
@@ -44,12 +44,12 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_pkcs12_bag_init(gnutls_pkcs12_bag_t * bag)
+int gnutls_pkcs12_bag_init(gnutls_pkcs12_bag_t *bag)
{
*bag = gnutls_calloc(1, sizeof(gnutls_pkcs12_bag_int));
if (*bag) {
- return 0; /* success */
+ return 0; /* success */
}
return GNUTLS_E_MEMORY_ERROR;
}
@@ -64,7 +64,6 @@ static inline void _pkcs12_bag_free_data(gnutls_pkcs12_bag_t bag)
gnutls_free(bag->element[i].friendly_name);
bag->element[i].type = 0;
}
-
}
/**
@@ -136,9 +135,8 @@ int gnutls_pkcs12_bag_get_count(gnutls_pkcs12_bag_t bag)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs12_bag_get_data(gnutls_pkcs12_bag_t bag, unsigned indx,
- gnutls_datum_t * data)
+int gnutls_pkcs12_bag_get_data(gnutls_pkcs12_bag_t bag, unsigned indx,
+ gnutls_datum_t *data)
{
if (bag == NULL) {
gnutls_assert();
@@ -155,12 +153,11 @@ gnutls_pkcs12_bag_get_data(gnutls_pkcs12_bag_t bag, unsigned indx,
}
#define X509_CERT_OID "1.2.840.113549.1.9.22.1"
-#define X509_CRL_OID "1.2.840.113549.1.9.23.1"
+#define X509_CRL_OID "1.2.840.113549.1.9.23.1"
#define RANDOM_NONCE_OID "1.2.840.113549.1.9.25.3"
-int
-_pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
- const gnutls_datum_t * in, gnutls_datum_t * out)
+int _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
+ const gnutls_datum_t *in, gnutls_datum_t *out)
{
int ret;
asn1_node c2 = NULL;
@@ -168,8 +165,8 @@ _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
switch (type) {
case GNUTLS_BAG_CERTIFICATE:
if ((ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-CertBag",
- &c2)) != ASN1_SUCCESS) {
+ "PKIX1.pkcs-12-CertBag", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -182,9 +179,8 @@ _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
goto cleanup;
}
- ret =
- _gnutls_x509_read_string(c2, "certValue", out,
- ASN1_ETYPE_OCTET_STRING, 1);
+ ret = _gnutls_x509_read_string(c2, "certValue", out,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -193,8 +189,8 @@ _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
case GNUTLS_BAG_CRL:
if ((ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-CRLBag",
- &c2)) != ASN1_SUCCESS) {
+ "PKIX1.pkcs-12-CRLBag", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -207,9 +203,8 @@ _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
goto cleanup;
}
- ret =
- _gnutls_x509_read_string(c2, "crlValue", out,
- ASN1_ETYPE_OCTET_STRING, 1);
+ ret = _gnutls_x509_read_string(c2, "crlValue", out,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -232,9 +227,8 @@ _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
goto cleanup;
}
- ret =
- _gnutls_x509_read_string(c2, "secretValue", out,
- ASN1_ETYPE_OCTET_STRING, 1);
+ ret = _gnutls_x509_read_string(c2, "secretValue", out,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -251,15 +245,14 @@ _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
return 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
-int
-_pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
- const gnutls_datum_t * raw, gnutls_datum_t * out)
+int _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
+ const gnutls_datum_t *raw, gnutls_datum_t *out)
{
int ret;
asn1_node c2 = NULL;
@@ -267,8 +260,8 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
switch (type) {
case GNUTLS_BAG_CERTIFICATE:
if ((ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-CertBag",
- &c2)) != ASN1_SUCCESS) {
+ "PKIX1.pkcs-12-CertBag", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -281,9 +274,8 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
goto cleanup;
}
- ret =
- _gnutls_x509_write_string(c2, "certValue", raw,
- ASN1_ETYPE_OCTET_STRING);
+ ret = _gnutls_x509_write_string(c2, "certValue", raw,
+ ASN1_ETYPE_OCTET_STRING);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -292,8 +284,8 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
case GNUTLS_BAG_CRL:
if ((ret = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-CRLBag",
- &c2)) != ASN1_SUCCESS) {
+ "PKIX1.pkcs-12-CRLBag", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto cleanup;
@@ -306,9 +298,8 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
goto cleanup;
}
- ret =
- _gnutls_x509_write_string(c2, "crlValue", raw,
- ASN1_ETYPE_OCTET_STRING);
+ ret = _gnutls_x509_write_string(c2, "crlValue", raw,
+ ASN1_ETYPE_OCTET_STRING);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -331,9 +322,8 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
goto cleanup;
}
- ret =
- _gnutls_x509_write_string(c2, "secretValue", raw,
- ASN1_ETYPE_OCTET_STRING);
+ ret = _gnutls_x509_write_string(c2, "secretValue", raw,
+ ASN1_ETYPE_OCTET_STRING);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -357,7 +347,7 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
return 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -375,10 +365,9 @@ _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
* Returns: the index of the added bag on success, or a negative
* value on error.
**/
-int
-gnutls_pkcs12_bag_set_data(gnutls_pkcs12_bag_t bag,
- gnutls_pkcs12_bag_type_t type,
- const gnutls_datum_t * data)
+int gnutls_pkcs12_bag_set_data(gnutls_pkcs12_bag_t bag,
+ gnutls_pkcs12_bag_type_t type,
+ const gnutls_datum_t *data)
{
int ret;
if (bag == NULL) {
@@ -398,16 +387,15 @@ gnutls_pkcs12_bag_set_data(gnutls_pkcs12_bag_t bag,
*/
if (bag->element[0].type == GNUTLS_BAG_PKCS8_KEY ||
- bag->element[0].type == GNUTLS_BAG_PKCS8_ENCRYPTED_KEY
- || bag->element[0].type == GNUTLS_BAG_ENCRYPTED) {
+ bag->element[0].type == GNUTLS_BAG_PKCS8_ENCRYPTED_KEY ||
+ bag->element[0].type == GNUTLS_BAG_ENCRYPTED) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
}
- ret =
- _gnutls_set_datum(&bag->element[bag->bag_elements].data,
- data->data, data->size);
+ ret = _gnutls_set_datum(&bag->element[bag->bag_elements].data,
+ data->data, data->size);
if (ret < 0) {
gnutls_assert();
@@ -503,9 +491,8 @@ int gnutls_pkcs12_bag_set_crl(gnutls_pkcs12_bag_t bag, gnutls_x509_crl_t crl)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value. or a negative error code on error.
**/
-int
-gnutls_pkcs12_bag_set_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
- const gnutls_datum_t * id)
+int gnutls_pkcs12_bag_set_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
+ const gnutls_datum_t *id)
{
int ret;
@@ -519,8 +506,8 @@ gnutls_pkcs12_bag_set_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
return GNUTLS_E_INVALID_REQUEST;
}
- ret = _gnutls_set_datum(&bag->element[indx].local_key_id,
- id->data, id->size);
+ ret = _gnutls_set_datum(&bag->element[indx].local_key_id, id->data,
+ id->size);
if (ret < 0) {
gnutls_assert();
@@ -543,9 +530,8 @@ gnutls_pkcs12_bag_set_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value. or a negative error code on error.
**/
-int
-gnutls_pkcs12_bag_get_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
- gnutls_datum_t * id)
+int gnutls_pkcs12_bag_get_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
+ gnutls_datum_t *id)
{
if (bag == NULL) {
gnutls_assert();
@@ -576,9 +562,8 @@ gnutls_pkcs12_bag_get_key_id(gnutls_pkcs12_bag_t bag, unsigned indx,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value. or a negative error code on error.
**/
-int
-gnutls_pkcs12_bag_get_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
- char **name)
+int gnutls_pkcs12_bag_get_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
+ char **name)
{
if (bag == NULL) {
gnutls_assert();
@@ -609,9 +594,8 @@ gnutls_pkcs12_bag_get_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value. or a negative error code on error.
**/
-int
-gnutls_pkcs12_bag_set_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
- const char *name)
+int gnutls_pkcs12_bag_set_friendly_name(gnutls_pkcs12_bag_t bag, unsigned indx,
+ const char *name)
{
if (bag == NULL) {
gnutls_assert();
@@ -695,9 +679,8 @@ int gnutls_pkcs12_bag_decrypt(gnutls_pkcs12_bag_t bag, const char *pass)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_pkcs12_bag_encrypt(gnutls_pkcs12_bag_t bag, const char *pass,
- unsigned int flags)
+int gnutls_pkcs12_bag_encrypt(gnutls_pkcs12_bag_t bag, const char *pass,
+ unsigned int flags)
{
int ret;
asn1_node safe_cont = NULL;
@@ -787,11 +770,10 @@ gnutls_pkcs12_bag_encrypt(gnutls_pkcs12_bag_t bag, const char *pass,
* %GNUTLS_E_UNKNOWN_CIPHER_TYPE if the structure's encryption isn't supported, or
* another negative error code in case of a failure. Zero on success.
**/
-int
-gnutls_pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, unsigned int *schema,
- unsigned int *cipher, void *salt,
- unsigned int *salt_size, unsigned int *iter_count,
- char **oid)
+int gnutls_pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, unsigned int *schema,
+ unsigned int *cipher, void *salt,
+ unsigned int *salt_size,
+ unsigned int *iter_count, char **oid)
{
int ret;
struct pbkdf2_params kdf;
@@ -851,10 +833,9 @@ gnutls_pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, unsigned int *schema,
* Returns: the index of the added bag on success, or a negative
* value on failure.
**/
-int
-gnutls_pkcs12_bag_set_privkey(gnutls_pkcs12_bag_t bag,
- gnutls_x509_privkey_t privkey,
- const char *password, unsigned flags)
+int gnutls_pkcs12_bag_set_privkey(gnutls_pkcs12_bag_t bag,
+ gnutls_x509_privkey_t privkey,
+ const char *password, unsigned flags)
{
int ret;
gnutls_datum_t data = { NULL, 0 };
@@ -870,25 +851,22 @@ gnutls_pkcs12_bag_set_privkey(gnutls_pkcs12_bag_t bag,
return gnutls_assert_val(ret);
if (password == NULL) {
- ret =
- gnutls_pkcs12_bag_set_data(bag, GNUTLS_BAG_PKCS8_KEY,
- &data);
+ ret = gnutls_pkcs12_bag_set_data(bag, GNUTLS_BAG_PKCS8_KEY,
+ &data);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
} else {
- ret =
- gnutls_pkcs12_bag_set_data(bag,
- GNUTLS_BAG_PKCS8_ENCRYPTED_KEY,
- &data);
+ ret = gnutls_pkcs12_bag_set_data(
+ bag, GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, &data);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
}
- cleanup:
+cleanup:
_gnutls_free_datum(&data);
return ret;
diff --git a/lib/x509/pkcs12_encr.c b/lib/x509/pkcs12_encr.c
index 4c961b2919..817e8e557d 100644
--- a/lib/x509/pkcs12_encr.c
+++ b/lib/x509/pkcs12_encr.c
@@ -37,12 +37,10 @@
* Note that this function produces different key for the
* NULL password, and for the password with zero length.
*/
-int
-_gnutls_pkcs12_string_to_key(const mac_entry_st * me,
- unsigned int id, const uint8_t * salt,
- unsigned int salt_size, unsigned int iter,
- const char *pw, unsigned int req_keylen,
- uint8_t * keybuf)
+int _gnutls_pkcs12_string_to_key(const mac_entry_st *me, unsigned int id,
+ const uint8_t *salt, unsigned int salt_size,
+ unsigned int iter, const char *pw,
+ unsigned int req_keylen, uint8_t *keybuf)
{
int rc;
unsigned int i, j;
@@ -51,7 +49,7 @@ _gnutls_pkcs12_string_to_key(const mac_entry_st * me,
bigint_t v_mpi = NULL;
unsigned int pwlen;
uint8_t hash[MAX_HASH_SIZE], buf_b[MAX_V_SIZE],
- buf_i[MAX_PASS_LEN + MAX_V_SIZE], *p;
+ buf_i[MAX_PASS_LEN + MAX_V_SIZE], *p;
uint8_t d[MAX_V_SIZE];
size_t cur_keylen;
size_t n, m, plen, i_size;
@@ -84,7 +82,7 @@ _gnutls_pkcs12_string_to_key(const mac_entry_st * me,
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
memset(v_val, 0, sizeof(v_val));
- v_val[0] = 0x01; /* make it be 2^64 or 2^128 */
+ v_val[0] = 0x01; /* make it be 2^64 or 2^128 */
cur_keylen = 0;
@@ -161,8 +159,9 @@ _gnutls_pkcs12_string_to_key(const mac_entry_st * me,
_gnutls_hash(&md, buf_i, i_size);
_gnutls_hash_deinit(&md, hash);
for (i = 1; i < iter; i++) {
- rc = _gnutls_hash_fast((gnutls_digest_algorithm_t)
- me->id, hash, mac_len, hash);
+ rc = _gnutls_hash_fast(
+ (gnutls_digest_algorithm_t)me->id, hash,
+ mac_len, hash);
if (rc < 0) {
gnutls_assert();
goto cleanup;
@@ -171,7 +170,7 @@ _gnutls_pkcs12_string_to_key(const mac_entry_st * me,
for (i = 0; i < mac_len && cur_keylen < req_keylen; i++)
keybuf[cur_keylen++] = hash[i];
if (cur_keylen == req_keylen) {
- rc = 0; /* ready */
+ rc = 0; /* ready */
goto cleanup;
}
@@ -217,7 +216,7 @@ _gnutls_pkcs12_string_to_key(const mac_entry_st * me,
_gnutls_mpi_release(&num_ij);
}
}
- cleanup:
+cleanup:
_gnutls_mpi_release(&num_ij);
_gnutls_mpi_release(&num_b1);
_gnutls_mpi_release(&v_mpi);
diff --git a/lib/x509/pkcs7-attrs.c b/lib/x509/pkcs7-attrs.c
index 25f947276f..300a3fcce3 100644
--- a/lib/x509/pkcs7-attrs.c
+++ b/lib/x509/pkcs7-attrs.c
@@ -50,9 +50,8 @@
*
* Since: 3.4.2
**/
-int
-gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t * list, const char *oid,
- gnutls_datum_t * data, unsigned flags)
+int gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t *list, const char *oid,
+ gnutls_datum_t *data, unsigned flags)
{
int ret;
gnutls_pkcs7_attrs_st *r;
@@ -79,14 +78,13 @@ gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t * list, const char *oid,
*list = r;
return 0;
- fail:
+fail:
if (r) {
gnutls_free(r->data.data);
gnutls_free(r);
}
gnutls_pkcs7_attrs_deinit(*list);
return GNUTLS_E_MEMORY_ERROR;
-
}
/**
@@ -107,9 +105,8 @@ gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t * list, const char *oid,
*
* Since: 3.4.2
**/
-int
-gnutls_pkcs7_get_attr(gnutls_pkcs7_attrs_t list, unsigned idx, char **oid,
- gnutls_datum_t * data, unsigned flags)
+int gnutls_pkcs7_get_attr(gnutls_pkcs7_attrs_t list, unsigned idx, char **oid,
+ gnutls_datum_t *data, unsigned flags)
{
unsigned i;
gnutls_pkcs7_attrs_st *p = list;
diff --git a/lib/x509/pkcs7-crypt.c b/lib/x509/pkcs7-crypt.c
index 8cdfb85ac0..a8a55b1e19 100644
--- a/lib/x509/pkcs7-crypt.c
+++ b/lib/x509/pkcs7-crypt.c
@@ -53,180 +53,169 @@
#define PKCS12_PBE_RC2_40_SHA1_OID "1.2.840.113549.1.12.1.6"
static const struct pkcs_cipher_schema_st avail_pkcs_cipher_schemas[] = {
- {
- .schema = PBES1_DES_MD5,
- .name = "PBES1-DES-CBC-MD5",
- .flag = GNUTLS_PKCS_PBES1_DES_MD5,
- .cipher = GNUTLS_CIPHER_DES_CBC,
- .pbes2 = 0,
- .cipher_oid = PBES1_DES_MD5_OID,
- .write_oid = PBES1_DES_MD5_OID,
- .desc = NULL,
- .iv_name = NULL,
- .decrypt_only = 1},
- {
- .schema = PBES2_3DES,
- .name = "PBES2-3DES-CBC",
- .flag = GNUTLS_PKCS_PBES2_3DES,
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .pbes2 = 1,
- .cipher_oid = DES_EDE3_CBC_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.pkcs-5-des-EDE3-CBC-params",
- .iv_name = "",
- .decrypt_only = 0},
- {
- .schema = PBES2_DES,
- .name = "PBES2-DES-CBC",
- .flag = GNUTLS_PKCS_PBES2_DES,
- .cipher = GNUTLS_CIPHER_DES_CBC,
- .pbes2 = 1,
- .cipher_oid = DES_CBC_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.pkcs-5-des-CBC-params",
- .iv_name = "",
- .decrypt_only = 0},
- {
- .schema = PBES2_AES_128,
- .name = "PBES2-AES128-CBC",
- .flag = GNUTLS_PKCS_PBES2_AES_128,
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .pbes2 = 1,
- .cipher_oid = AES_128_CBC_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.pkcs-5-aes128-CBC-params",
- .iv_name = "",
- .decrypt_only = 0},
- {
- .schema = PBES2_AES_192,
- .name = "PBES2-AES192-CBC",
- .flag = GNUTLS_PKCS_PBES2_AES_192,
- .cipher = GNUTLS_CIPHER_AES_192_CBC,
- .pbes2 = 1,
- .cipher_oid = AES_192_CBC_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.pkcs-5-aes192-CBC-params",
- .iv_name = "",
- .decrypt_only = 0},
- {
- .schema = PBES2_AES_256,
- .name = "PBES2-AES256-CBC",
- .flag = GNUTLS_PKCS_PBES2_AES_256,
- .cipher = GNUTLS_CIPHER_AES_256_CBC,
- .pbes2 = 1,
- .cipher_oid = AES_256_CBC_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.pkcs-5-aes256-CBC-params",
- .iv_name = "",
- .decrypt_only = 0},
- {
- .schema = PBES2_GOST28147_89_TC26Z,
- .name = "PBES2-GOST28147-89-TC26Z",
- .flag = GNUTLS_PKCS_PBES2_GOST_TC26Z,
- .cipher = GNUTLS_CIPHER_GOST28147_TC26Z_CFB,
- .pbes2 = 1,
- .cipher_oid = GOST28147_89_TC26Z_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.Gost28147-89-Parameters",
- .iv_name = "iv",
- .decrypt_only = 0},
- {
- .schema = PBES2_GOST28147_89_CPA,
- .name = "PBES2-GOST28147-89-CPA",
- .flag = GNUTLS_PKCS_PBES2_GOST_CPA,
- .cipher = GNUTLS_CIPHER_GOST28147_CPA_CFB,
- .pbes2 = 1,
- .cipher_oid = GOST28147_89_CPA_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.Gost28147-89-Parameters",
- .iv_name = "iv",
- .decrypt_only = 0},
- {
- .schema = PBES2_GOST28147_89_CPB,
- .name = "PBES2-GOST28147-89-CPB",
- .flag = GNUTLS_PKCS_PBES2_GOST_CPB,
- .cipher = GNUTLS_CIPHER_GOST28147_CPB_CFB,
- .pbes2 = 1,
- .cipher_oid = GOST28147_89_CPB_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.Gost28147-89-Parameters",
- .iv_name = "iv",
- .decrypt_only = 0},
- {
- .schema = PBES2_GOST28147_89_CPC,
- .name = "PBES2-GOST28147-89-CPC",
- .flag = GNUTLS_PKCS_PBES2_GOST_CPC,
- .cipher = GNUTLS_CIPHER_GOST28147_CPC_CFB,
- .pbes2 = 1,
- .cipher_oid = GOST28147_89_CPC_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.Gost28147-89-Parameters",
- .iv_name = "iv",
- .decrypt_only = 0},
- {
- .schema = PBES2_GOST28147_89_CPD,
- .name = "PBES2-GOST28147-89-CPD",
- .flag = GNUTLS_PKCS_PBES2_GOST_CPD,
- .cipher = GNUTLS_CIPHER_GOST28147_CPD_CFB,
- .pbes2 = 1,
- .cipher_oid = GOST28147_89_CPD_OID,
- .write_oid = PBES2_OID,
- .desc = "PKIX1.Gost28147-89-Parameters",
- .iv_name = "iv",
- .decrypt_only = 0},
- {
- .schema = PKCS12_ARCFOUR_SHA1,
- .name = "PKCS12-ARCFOUR-SHA1",
- .flag = GNUTLS_PKCS_PKCS12_ARCFOUR,
- .cipher = GNUTLS_CIPHER_ARCFOUR,
- .pbes2 = 0,
- .cipher_oid = PKCS12_PBE_ARCFOUR_SHA1_OID,
- .write_oid = PKCS12_PBE_ARCFOUR_SHA1_OID,
- .desc = NULL,
- .iv_name = NULL,
- .decrypt_only = 0},
- {
- .schema = PKCS12_RC2_40_SHA1,
- .name = "PKCS12-RC2-40-SHA1",
- .flag = GNUTLS_PKCS_PKCS12_RC2_40,
- .cipher = GNUTLS_CIPHER_RC2_40_CBC,
- .pbes2 = 0,
- .cipher_oid = PKCS12_PBE_RC2_40_SHA1_OID,
- .write_oid = PKCS12_PBE_RC2_40_SHA1_OID,
- .desc = NULL,
- .iv_name = NULL,
- .decrypt_only = 0},
- {
- .schema = PKCS12_3DES_SHA1,
- .name = "PKCS12-3DES-SHA1",
- .flag = GNUTLS_PKCS_PKCS12_3DES,
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .pbes2 = 0,
- .cipher_oid = PKCS12_PBE_3DES_SHA1_OID,
- .write_oid = PKCS12_PBE_3DES_SHA1_OID,
- .desc = NULL,
- .iv_name = NULL,
- .decrypt_only = 0},
- {0, 0, 0, 0, 0}
+ { .schema = PBES1_DES_MD5,
+ .name = "PBES1-DES-CBC-MD5",
+ .flag = GNUTLS_PKCS_PBES1_DES_MD5,
+ .cipher = GNUTLS_CIPHER_DES_CBC,
+ .pbes2 = 0,
+ .cipher_oid = PBES1_DES_MD5_OID,
+ .write_oid = PBES1_DES_MD5_OID,
+ .desc = NULL,
+ .iv_name = NULL,
+ .decrypt_only = 1 },
+ { .schema = PBES2_3DES,
+ .name = "PBES2-3DES-CBC",
+ .flag = GNUTLS_PKCS_PBES2_3DES,
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .pbes2 = 1,
+ .cipher_oid = DES_EDE3_CBC_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.pkcs-5-des-EDE3-CBC-params",
+ .iv_name = "",
+ .decrypt_only = 0 },
+ { .schema = PBES2_DES,
+ .name = "PBES2-DES-CBC",
+ .flag = GNUTLS_PKCS_PBES2_DES,
+ .cipher = GNUTLS_CIPHER_DES_CBC,
+ .pbes2 = 1,
+ .cipher_oid = DES_CBC_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.pkcs-5-des-CBC-params",
+ .iv_name = "",
+ .decrypt_only = 0 },
+ { .schema = PBES2_AES_128,
+ .name = "PBES2-AES128-CBC",
+ .flag = GNUTLS_PKCS_PBES2_AES_128,
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .pbes2 = 1,
+ .cipher_oid = AES_128_CBC_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.pkcs-5-aes128-CBC-params",
+ .iv_name = "",
+ .decrypt_only = 0 },
+ { .schema = PBES2_AES_192,
+ .name = "PBES2-AES192-CBC",
+ .flag = GNUTLS_PKCS_PBES2_AES_192,
+ .cipher = GNUTLS_CIPHER_AES_192_CBC,
+ .pbes2 = 1,
+ .cipher_oid = AES_192_CBC_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.pkcs-5-aes192-CBC-params",
+ .iv_name = "",
+ .decrypt_only = 0 },
+ { .schema = PBES2_AES_256,
+ .name = "PBES2-AES256-CBC",
+ .flag = GNUTLS_PKCS_PBES2_AES_256,
+ .cipher = GNUTLS_CIPHER_AES_256_CBC,
+ .pbes2 = 1,
+ .cipher_oid = AES_256_CBC_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.pkcs-5-aes256-CBC-params",
+ .iv_name = "",
+ .decrypt_only = 0 },
+ { .schema = PBES2_GOST28147_89_TC26Z,
+ .name = "PBES2-GOST28147-89-TC26Z",
+ .flag = GNUTLS_PKCS_PBES2_GOST_TC26Z,
+ .cipher = GNUTLS_CIPHER_GOST28147_TC26Z_CFB,
+ .pbes2 = 1,
+ .cipher_oid = GOST28147_89_TC26Z_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.Gost28147-89-Parameters",
+ .iv_name = "iv",
+ .decrypt_only = 0 },
+ { .schema = PBES2_GOST28147_89_CPA,
+ .name = "PBES2-GOST28147-89-CPA",
+ .flag = GNUTLS_PKCS_PBES2_GOST_CPA,
+ .cipher = GNUTLS_CIPHER_GOST28147_CPA_CFB,
+ .pbes2 = 1,
+ .cipher_oid = GOST28147_89_CPA_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.Gost28147-89-Parameters",
+ .iv_name = "iv",
+ .decrypt_only = 0 },
+ { .schema = PBES2_GOST28147_89_CPB,
+ .name = "PBES2-GOST28147-89-CPB",
+ .flag = GNUTLS_PKCS_PBES2_GOST_CPB,
+ .cipher = GNUTLS_CIPHER_GOST28147_CPB_CFB,
+ .pbes2 = 1,
+ .cipher_oid = GOST28147_89_CPB_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.Gost28147-89-Parameters",
+ .iv_name = "iv",
+ .decrypt_only = 0 },
+ { .schema = PBES2_GOST28147_89_CPC,
+ .name = "PBES2-GOST28147-89-CPC",
+ .flag = GNUTLS_PKCS_PBES2_GOST_CPC,
+ .cipher = GNUTLS_CIPHER_GOST28147_CPC_CFB,
+ .pbes2 = 1,
+ .cipher_oid = GOST28147_89_CPC_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.Gost28147-89-Parameters",
+ .iv_name = "iv",
+ .decrypt_only = 0 },
+ { .schema = PBES2_GOST28147_89_CPD,
+ .name = "PBES2-GOST28147-89-CPD",
+ .flag = GNUTLS_PKCS_PBES2_GOST_CPD,
+ .cipher = GNUTLS_CIPHER_GOST28147_CPD_CFB,
+ .pbes2 = 1,
+ .cipher_oid = GOST28147_89_CPD_OID,
+ .write_oid = PBES2_OID,
+ .desc = "PKIX1.Gost28147-89-Parameters",
+ .iv_name = "iv",
+ .decrypt_only = 0 },
+ { .schema = PKCS12_ARCFOUR_SHA1,
+ .name = "PKCS12-ARCFOUR-SHA1",
+ .flag = GNUTLS_PKCS_PKCS12_ARCFOUR,
+ .cipher = GNUTLS_CIPHER_ARCFOUR,
+ .pbes2 = 0,
+ .cipher_oid = PKCS12_PBE_ARCFOUR_SHA1_OID,
+ .write_oid = PKCS12_PBE_ARCFOUR_SHA1_OID,
+ .desc = NULL,
+ .iv_name = NULL,
+ .decrypt_only = 0 },
+ { .schema = PKCS12_RC2_40_SHA1,
+ .name = "PKCS12-RC2-40-SHA1",
+ .flag = GNUTLS_PKCS_PKCS12_RC2_40,
+ .cipher = GNUTLS_CIPHER_RC2_40_CBC,
+ .pbes2 = 0,
+ .cipher_oid = PKCS12_PBE_RC2_40_SHA1_OID,
+ .write_oid = PKCS12_PBE_RC2_40_SHA1_OID,
+ .desc = NULL,
+ .iv_name = NULL,
+ .decrypt_only = 0 },
+ { .schema = PKCS12_3DES_SHA1,
+ .name = "PKCS12-3DES-SHA1",
+ .flag = GNUTLS_PKCS_PKCS12_3DES,
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .pbes2 = 0,
+ .cipher_oid = PKCS12_PBE_3DES_SHA1_OID,
+ .write_oid = PKCS12_PBE_3DES_SHA1_OID,
+ .desc = NULL,
+ .iv_name = NULL,
+ .decrypt_only = 0 },
+ { 0, 0, 0, 0, 0 }
};
-#define PBES2_SCHEMA_LOOP(b) { \
- const struct pkcs_cipher_schema_st * _p; \
- for (_p=avail_pkcs_cipher_schemas;_p->schema != 0;_p++) { b; } \
+#define PBES2_SCHEMA_LOOP(b) \
+ { \
+ const struct pkcs_cipher_schema_st *_p; \
+ for (_p = avail_pkcs_cipher_schemas; _p->schema != 0; _p++) { \
+ b; \
+ } \
}
#define PBES2_SCHEMA_FIND_FROM_FLAGS(fl, what) \
- PBES2_SCHEMA_LOOP( if (_p->flag == GNUTLS_PKCS_CIPHER_MASK(fl)) { what; } )
+ PBES2_SCHEMA_LOOP( \
+ if (_p->flag == GNUTLS_PKCS_CIPHER_MASK(fl)) { what; })
int _gnutls_pkcs_flags_to_schema(unsigned int flags)
{
- PBES2_SCHEMA_FIND_FROM_FLAGS(flags, return _p->schema;
- );
+ PBES2_SCHEMA_FIND_FROM_FLAGS(flags, return _p->schema;);
gnutls_assert();
- _gnutls_debug_log
- ("Selecting default encryption PBES2_AES_256 (flags: %u).\n",
- flags);
+ _gnutls_debug_log(
+ "Selecting default encryption PBES2_AES_256 (flags: %u).\n",
+ flags);
return PBES2_AES_256;
}
@@ -243,8 +232,7 @@ int _gnutls_pkcs_flags_to_schema(unsigned int flags)
*/
const char *gnutls_pkcs_schema_get_name(unsigned int schema)
{
- PBES2_SCHEMA_FIND_FROM_FLAGS(schema, return _p->name;
- );
+ PBES2_SCHEMA_FIND_FROM_FLAGS(schema, return _p->name;);
return NULL;
}
@@ -261,17 +249,15 @@ const char *gnutls_pkcs_schema_get_name(unsigned int schema)
*/
const char *gnutls_pkcs_schema_get_oid(unsigned int schema)
{
- PBES2_SCHEMA_FIND_FROM_FLAGS(schema, return _p->cipher_oid;
- );
+ PBES2_SCHEMA_FIND_FROM_FLAGS(schema, return _p->cipher_oid;);
return NULL;
}
-static const struct pkcs_cipher_schema_st *algo_to_pbes2_cipher_schema(unsigned
- cipher)
+static const struct pkcs_cipher_schema_st *
+algo_to_pbes2_cipher_schema(unsigned cipher)
{
- PBES2_SCHEMA_LOOP(if (_p->cipher == cipher && _p->pbes2 != 0) {
- return _p;}
- ) ;
+ PBES2_SCHEMA_LOOP(
+ if (_p->cipher == cipher && _p->pbes2 != 0) { return _p; });
gnutls_assert();
return NULL;
@@ -282,20 +268,21 @@ static const struct pkcs_cipher_schema_st *algo_to_pbes2_cipher_schema(unsigned
int _gnutls_check_pkcs_cipher_schema(const char *oid)
{
if (strcmp(oid, PBES2_OID) == 0)
- return PBES2_GENERIC; /* PBES2 ciphers are under an umbrella OID */
+ return PBES2_GENERIC; /* PBES2 ciphers are under an umbrella OID */
- PBES2_SCHEMA_LOOP(if (_p->pbes2 == 0 && strcmp(oid, _p->write_oid) == 0) {
- return _p->schema;}
- ) ;
- _gnutls_debug_log
- ("PKCS #12 encryption schema OID '%s' is unsupported.\n", oid);
+ PBES2_SCHEMA_LOOP(
+ if (_p->pbes2 == 0 && strcmp(oid, _p->write_oid) == 0) {
+ return _p->schema;
+ });
+ _gnutls_debug_log(
+ "PKCS #12 encryption schema OID '%s' is unsupported.\n", oid);
return GNUTLS_E_UNKNOWN_CIPHER_TYPE;
}
const struct pkcs_cipher_schema_st *_gnutls_pkcs_schema_get(schema_id schema)
{
- PBES2_SCHEMA_LOOP(if (schema == _p->schema) return _p;) ;
+ PBES2_SCHEMA_LOOP(if (schema == _p->schema) return _p;);
gnutls_assert();
return NULL;
@@ -303,15 +290,15 @@ const struct pkcs_cipher_schema_st *_gnutls_pkcs_schema_get(schema_id schema)
/* Converts an OID to a gnutls cipher type.
*/
-static int
-pbes2_cipher_oid_to_algo(const char *oid, gnutls_cipher_algorithm_t * algo)
+static int pbes2_cipher_oid_to_algo(const char *oid,
+ gnutls_cipher_algorithm_t *algo)
{
-
*algo = 0;
- PBES2_SCHEMA_LOOP(if
- (_p->pbes2 != 0 && strcmp(_p->cipher_oid, oid) == 0) {
- *algo = _p->cipher; return 0;}
- ) ;
+ PBES2_SCHEMA_LOOP(
+ if (_p->pbes2 != 0 && strcmp(_p->cipher_oid, oid) == 0) {
+ *algo = _p->cipher;
+ return 0;
+ });
_gnutls_debug_log("PKCS #8 encryption OID '%s' is unsupported.\n", oid);
return GNUTLS_E_UNKNOWN_CIPHER_TYPE;
@@ -320,9 +307,8 @@ pbes2_cipher_oid_to_algo(const char *oid, gnutls_cipher_algorithm_t * algo)
/* Decrypts a PKCS #7 encryptedData. The output is allocated
* and stored in dec.
*/
-int
-_gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
- const char *password, gnutls_datum_t * dec)
+int _gnutls_pkcs7_decrypt_data(const gnutls_datum_t *data, const char *password,
+ gnutls_datum_t *dec)
{
int result, len;
char enc_oid[MAX_OID_SIZE];
@@ -333,10 +319,9 @@ _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
struct pbe_enc_params enc_params;
schema_id schema;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-7-EncryptedData",
- &pkcs7_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-EncryptedData",
+ &pkcs7_asn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -352,10 +337,10 @@ _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
/* Check the encryption schema OID
*/
len = sizeof(enc_oid);
- result =
- asn1_read_value(pkcs7_asn,
- "encryptedContentInfo.contentEncryptionAlgorithm.algorithm",
- enc_oid, &len);
+ result = asn1_read_value(
+ pkcs7_asn,
+ "encryptedContentInfo.contentEncryptionAlgorithm.algorithm",
+ enc_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -370,10 +355,10 @@ _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
/* Get the DER encoding of the parameters.
*/
- result =
- asn1_der_decoding_startEnd(pkcs7_asn, data->data, data->size,
- "encryptedContentInfo.contentEncryptionAlgorithm.parameters",
- &params_start, &params_end);
+ result = asn1_der_decoding_startEnd(
+ pkcs7_asn, data->data, data->size,
+ "encryptedContentInfo.contentEncryptionAlgorithm.parameters",
+ &params_start, &params_end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -381,11 +366,10 @@ _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
}
params_len = params_end - params_start + 1;
- result =
- _gnutls_read_pkcs_schema_params(&schema, password,
- &data->data[params_start],
- params_len, &kdf_params,
- &enc_params);
+ result = _gnutls_read_pkcs_schema_params(&schema, password,
+ &data->data[params_start],
+ params_len, &kdf_params,
+ &enc_params);
if (result < 0) {
gnutls_assert();
goto error;
@@ -395,11 +379,9 @@ _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
* decrypt the EncryptedData.
*/
- result =
- _gnutls_pkcs_raw_decrypt_data(schema, pkcs7_asn,
- "encryptedContentInfo.encryptedContent",
- password, &kdf_params, &enc_params,
- &tmp);
+ result = _gnutls_pkcs_raw_decrypt_data(
+ schema, pkcs7_asn, "encryptedContentInfo.encryptedContent",
+ password, &kdf_params, &enc_params, &tmp);
if (result < 0) {
gnutls_assert();
goto error;
@@ -411,16 +393,15 @@ _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
return 0;
- error:
+error:
asn1_delete_structure(&pasn);
asn1_delete_structure2(&pkcs7_asn, ASN1_DELETE_FLAG_ZEROIZE);
return result;
}
-int
-_gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
- const struct pkcs_cipher_schema_st **p,
- struct pbkdf2_params *kdf_params, char **oid)
+int _gnutls_pkcs7_data_enc_info(const gnutls_datum_t *data,
+ const struct pkcs_cipher_schema_st **p,
+ struct pbkdf2_params *kdf_params, char **oid)
{
int result, len;
char enc_oid[MAX_OID_SIZE];
@@ -429,10 +410,9 @@ _gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
struct pbe_enc_params enc_params;
schema_id schema;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-7-EncryptedData",
- &pkcs7_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-EncryptedData",
+ &pkcs7_asn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -448,10 +428,10 @@ _gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
/* Check the encryption schema OID
*/
len = sizeof(enc_oid);
- result =
- asn1_read_value(pkcs7_asn,
- "encryptedContentInfo.contentEncryptionAlgorithm.algorithm",
- enc_oid, &len);
+ result = asn1_read_value(
+ pkcs7_asn,
+ "encryptedContentInfo.contentEncryptionAlgorithm.algorithm",
+ enc_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -470,10 +450,10 @@ _gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
/* Get the DER encoding of the parameters.
*/
- result =
- asn1_der_decoding_startEnd(pkcs7_asn, data->data, data->size,
- "encryptedContentInfo.contentEncryptionAlgorithm.parameters",
- &params_start, &params_end);
+ result = asn1_der_decoding_startEnd(
+ pkcs7_asn, data->data, data->size,
+ "encryptedContentInfo.contentEncryptionAlgorithm.parameters",
+ &params_start, &params_end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -481,11 +461,10 @@ _gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
}
params_len = params_end - params_start + 1;
- result =
- _gnutls_read_pkcs_schema_params(&schema, NULL,
- &data->data[params_start],
- params_len, kdf_params,
- &enc_params);
+ result = _gnutls_read_pkcs_schema_params(&schema, NULL,
+ &data->data[params_start],
+ params_len, kdf_params,
+ &enc_params);
if (result < 0) {
gnutls_assert();
goto error;
@@ -502,7 +481,7 @@ _gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
return 0;
- error:
+error:
asn1_delete_structure(&pasn);
asn1_delete_structure2(&pkcs7_asn, ASN1_DELETE_FLAG_ZEROIZE);
return result;
@@ -511,10 +490,8 @@ _gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
/* Encrypts to a PKCS #7 encryptedData. The output is allocated
* and stored in enc.
*/
-int
-_gnutls_pkcs7_encrypt_data(schema_id schema,
- const gnutls_datum_t * data,
- const char *password, gnutls_datum_t * enc)
+int _gnutls_pkcs7_encrypt_data(schema_id schema, const gnutls_datum_t *data,
+ const char *password, gnutls_datum_t *enc)
{
int result;
gnutls_datum_t key = { NULL, 0 };
@@ -529,19 +506,18 @@ _gnutls_pkcs7_encrypt_data(schema_id schema,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-7-EncryptedData",
- &pkcs7_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-EncryptedData",
+ &pkcs7_asn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
}
- result =
- asn1_write_value(pkcs7_asn,
- "encryptedContentInfo.contentEncryptionAlgorithm.algorithm",
- s->write_oid, 1);
+ result = asn1_write_value(
+ pkcs7_asn,
+ "encryptedContentInfo.contentEncryptionAlgorithm.algorithm",
+ s->write_oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -552,17 +528,17 @@ _gnutls_pkcs7_encrypt_data(schema_id schema,
/* Generate a symmetric key.
*/
- result =
- _gnutls_pkcs_generate_key(schema, password, &kdf_params,
- &enc_params, &key);
+ result = _gnutls_pkcs_generate_key(schema, password, &kdf_params,
+ &enc_params, &key);
if (result < 0) {
gnutls_assert();
goto error;
}
- result = _gnutls_pkcs_write_schema_params(schema, pkcs7_asn,
- "encryptedContentInfo.contentEncryptionAlgorithm.parameters",
- &kdf_params, &enc_params);
+ result = _gnutls_pkcs_write_schema_params(
+ schema, pkcs7_asn,
+ "encryptedContentInfo.contentEncryptionAlgorithm.parameters",
+ &kdf_params, &enc_params);
if (result < 0) {
gnutls_assert();
goto error;
@@ -579,10 +555,9 @@ _gnutls_pkcs7_encrypt_data(schema_id schema,
/* write the encrypted data.
*/
- result =
- asn1_write_value(pkcs7_asn,
- "encryptedContentInfo.encryptedContent",
- tmp.data, tmp.size);
+ result = asn1_write_value(pkcs7_asn,
+ "encryptedContentInfo.encryptedContent",
+ tmp.data, tmp.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -601,9 +576,8 @@ _gnutls_pkcs7_encrypt_data(schema_id schema,
goto error;
}
- result =
- asn1_write_value(pkcs7_asn, "encryptedContentInfo.contentType",
- DATA_OID, 1);
+ result = asn1_write_value(pkcs7_asn, "encryptedContentInfo.contentType",
+ DATA_OID, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -628,7 +602,7 @@ _gnutls_pkcs7_encrypt_data(schema_id schema,
goto error;
}
- error:
+error:
_gnutls_free_key_datum(&key);
_gnutls_free_datum(&tmp);
asn1_delete_structure2(&pkcs7_asn, ASN1_DELETE_FLAG_ZEROIZE);
@@ -637,9 +611,8 @@ _gnutls_pkcs7_encrypt_data(schema_id schema,
/* Reads the PBKDF2 parameters.
*/
-static int
-read_pbkdf2_params(asn1_node pasn,
- const gnutls_datum_t * der, struct pbkdf2_params *params)
+static int read_pbkdf2_params(asn1_node pasn, const gnutls_datum_t *der,
+ struct pbkdf2_params *params)
{
int params_start, params_end;
int params_len, len, result;
@@ -654,7 +627,7 @@ read_pbkdf2_params(asn1_node pasn,
*/
len = sizeof(oid);
result =
- asn1_read_value(pasn, "keyDerivationFunc.algorithm", oid, &len);
+ asn1_read_value(pasn, "keyDerivationFunc.algorithm", oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -663,15 +636,15 @@ read_pbkdf2_params(asn1_node pasn,
if (strcmp(oid, PBKDF2_OID) != 0) {
gnutls_assert();
- _gnutls_debug_log
- ("PKCS #8 key derivation OID '%s' is unsupported.\n", oid);
+ _gnutls_debug_log(
+ "PKCS #8 key derivation OID '%s' is unsupported.\n",
+ oid);
return _gnutls_asn2err(result);
}
- result =
- asn1_der_decoding_startEnd(pasn, der->data, der->size,
- "keyDerivationFunc.parameters",
- &params_start, &params_end);
+ result = asn1_der_decoding_startEnd(pasn, der->data, der->size,
+ "keyDerivationFunc.parameters",
+ &params_start, &params_end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -681,17 +654,15 @@ read_pbkdf2_params(asn1_node pasn,
/* Now check the key derivation and the encryption
* functions.
*/
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-5-PBKDF2-params",
- &pbkdf2_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-5-PBKDF2-params",
+ &pbkdf2_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result =
- _asn1_strict_der_decode(&pbkdf2_asn, &der->data[params_start],
- params_len, NULL);
+ result = _asn1_strict_der_decode(&pbkdf2_asn, &der->data[params_start],
+ params_len, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -700,9 +671,8 @@ read_pbkdf2_params(asn1_node pasn,
/* read the salt */
params->salt_size = sizeof(params->salt);
- result =
- asn1_read_value(pbkdf2_asn, "salt.specified", params->salt,
- &params->salt_size);
+ result = asn1_read_value(pbkdf2_asn, "salt.specified", params->salt,
+ &params->salt_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -717,9 +687,8 @@ read_pbkdf2_params(asn1_node pasn,
/* read the iteration count
*/
- result =
- _gnutls_x509_read_uint(pbkdf2_asn, "iterationCount",
- &params->iter_count);
+ result = _gnutls_x509_read_uint(pbkdf2_asn, "iterationCount",
+ &params->iter_count);
if (result < 0) {
gnutls_assert();
goto error;
@@ -734,8 +703,8 @@ read_pbkdf2_params(asn1_node pasn,
/* read the keylength, if it is set.
*/
- result =
- _gnutls_x509_read_uint(pbkdf2_asn, "keyLength", &params->key_size);
+ result = _gnutls_x509_read_uint(pbkdf2_asn, "keyLength",
+ &params->key_size);
if (result < 0) {
params->key_size = 0;
}
@@ -765,10 +734,9 @@ read_pbkdf2_params(asn1_node pasn,
result = 0;
- error:
+error:
asn1_delete_structure(&pbkdf2_asn);
return result;
-
}
/* Reads the PBE parameters from PKCS-12 schemas (*&#%*&#% RSA).
@@ -782,7 +750,7 @@ static int read_pkcs12_kdf_params(asn1_node pasn, struct pbkdf2_params *params)
/* read the salt */
params->salt_size = sizeof(params->salt);
result =
- asn1_read_value(pasn, "salt", params->salt, &params->salt_size);
+ asn1_read_value(pasn, "salt", params->salt, &params->salt_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -796,7 +764,7 @@ static int read_pkcs12_kdf_params(asn1_node pasn, struct pbkdf2_params *params)
/* read the iteration count
*/
result =
- _gnutls_x509_read_uint(pasn, "iterations", &params->iter_count);
+ _gnutls_x509_read_uint(pasn, "iterations", &params->iter_count);
if (result < 0)
return gnutls_assert_val(result);
@@ -812,16 +780,15 @@ static int read_pkcs12_kdf_params(asn1_node pasn, struct pbkdf2_params *params)
/* Writes the PBE parameters for PKCS-12 schemas.
*/
-static int
-write_pkcs12_kdf_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
+static int write_pkcs12_kdf_params(asn1_node pasn,
+ const struct pbkdf2_params *kdf_params)
{
int result;
/* write the salt
*/
- result =
- asn1_write_value(pasn, "salt",
- kdf_params->salt, kdf_params->salt_size);
+ result = asn1_write_value(pasn, "salt", kdf_params->salt,
+ kdf_params->salt_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -831,9 +798,8 @@ write_pkcs12_kdf_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
/* write the iteration count
*/
- result =
- _gnutls_x509_write_uint32(pasn, "iterations",
- kdf_params->iter_count);
+ result = _gnutls_x509_write_uint32(pasn, "iterations",
+ kdf_params->iter_count);
if (result < 0) {
gnutls_assert();
goto error;
@@ -842,21 +808,19 @@ write_pkcs12_kdf_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
return 0;
- error:
+error:
return result;
-
}
-static int
-read_pbes2_gost_oid(uint8_t * der, size_t len, char *oid, int oid_size)
+static int read_pbes2_gost_oid(uint8_t *der, size_t len, char *oid,
+ int oid_size)
{
int result;
asn1_node pbe_asn = NULL;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Gost28147-89-Parameters",
- &pbe_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.Gost28147-89-Parameters",
+ &pbe_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -877,14 +841,13 @@ read_pbes2_gost_oid(uint8_t * der, size_t len, char *oid, int oid_size)
result = 0;
- error:
+error:
asn1_delete_structure(&pbe_asn);
return result;
}
-static int
-read_pbes2_enc_params(asn1_node pasn,
- const gnutls_datum_t * der, struct pbe_enc_params *params)
+static int read_pbes2_enc_params(asn1_node pasn, const gnutls_datum_t *der,
+ struct pbe_enc_params *params)
{
int params_start, params_end;
int params_len, len, result;
@@ -896,19 +859,17 @@ read_pbes2_enc_params(asn1_node pasn,
/* Check the encryption algorithm
*/
len = sizeof(params->pbes2_oid);
- result =
- asn1_read_value(pasn, "encryptionScheme.algorithm",
- params->pbes2_oid, &len);
+ result = asn1_read_value(pasn, "encryptionScheme.algorithm",
+ params->pbes2_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
_gnutls_hard_log("encryptionScheme.algorithm: %s\n", params->pbes2_oid);
- result =
- asn1_der_decoding_startEnd(pasn, der->data, der->size,
- "encryptionScheme.parameters",
- &params_start, &params_end);
+ result = asn1_der_decoding_startEnd(pasn, der->data, der->size,
+ "encryptionScheme.parameters",
+ &params_start, &params_end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -927,9 +888,8 @@ read_pbes2_enc_params(asn1_node pasn,
}
}
- if ((result =
- pbes2_cipher_oid_to_algo(params->pbes2_oid,
- &params->cipher)) < 0) {
+ if ((result = pbes2_cipher_oid_to_algo(params->pbes2_oid,
+ &params->cipher)) < 0) {
gnutls_assert();
return result;
}
@@ -942,16 +902,14 @@ read_pbes2_enc_params(asn1_node pasn,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- p->desc, &pbe_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), p->desc,
+ &pbe_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result =
- _asn1_strict_der_decode(&pbe_asn, &der->data[params_start],
- params_len, NULL);
+ result = _asn1_strict_der_decode(&pbe_asn, &der->data[params_start],
+ params_len, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -960,8 +918,8 @@ read_pbes2_enc_params(asn1_node pasn,
/* read the IV */
params->iv_size = sizeof(params->iv);
- result = asn1_read_value(pbe_asn,
- p->iv_name, params->iv, &params->iv_size);
+ result = asn1_read_value(pbe_asn, p->iv_name, params->iv,
+ &params->iv_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -971,7 +929,7 @@ read_pbes2_enc_params(asn1_node pasn,
result = 0;
- error:
+error:
asn1_delete_structure(&pbe_asn);
return result;
}
@@ -980,11 +938,10 @@ read_pbes2_enc_params(asn1_node pasn,
* schema ID. Initially the schema ID should have PBES2_GENERIC, for
* PBES2 schemas, and will be updated by this function for details.
*/
-int
-_gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
- const uint8_t * data, int data_size,
- struct pbkdf2_params *kdf_params,
- struct pbe_enc_params *enc_params)
+int _gnutls_read_pkcs_schema_params(schema_id *schema, const char *password,
+ const uint8_t *data, int data_size,
+ struct pbkdf2_params *kdf_params,
+ struct pbe_enc_params *enc_params)
{
asn1_node pasn = NULL;
int result;
@@ -995,10 +952,9 @@ _gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
/* Now check the key derivation and the encryption
* functions.
*/
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-5-PBES2-params",
- &pasn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-5-PBES2-params",
+ &pasn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -1013,7 +969,7 @@ _gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
goto error;
}
- tmp.data = (uint8_t *) data;
+ tmp.data = (uint8_t *)data;
tmp.size = data_size;
result = read_pbkdf2_params(pasn, &tmp, kdf_params);
@@ -1042,7 +998,7 @@ _gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
} else if (*schema == PBES1_DES_MD5) {
return _gnutls_read_pbkdf1_params(data, data_size, kdf_params,
enc_params);
- } else { /* PKCS #12 schema */
+ } else { /* PKCS #12 schema */
memset(enc_params, 0, sizeof(*enc_params));
p = _gnutls_pkcs_schema_get(*schema);
@@ -1054,10 +1010,9 @@ _gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
enc_params->cipher = p->cipher;
enc_params->iv_size = gnutls_cipher_get_iv_size(p->cipher);
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-PbeParams",
- &pasn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-12-PbeParams",
+ &pasn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -1079,37 +1034,31 @@ _gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
}
if (enc_params->iv_size) {
- result =
- _gnutls_pkcs12_string_to_key(mac_to_entry
- (GNUTLS_MAC_SHA1),
- 2 /*IV*/,
- kdf_params->salt,
- kdf_params->salt_size,
- kdf_params->iter_count,
- password,
- enc_params->iv_size,
- enc_params->iv);
+ result = _gnutls_pkcs12_string_to_key(
+ mac_to_entry(GNUTLS_MAC_SHA1), 2 /*IV*/,
+ kdf_params->salt, kdf_params->salt_size,
+ kdf_params->iter_count, password,
+ enc_params->iv_size, enc_params->iv);
if (result < 0) {
gnutls_assert();
goto error;
}
-
}
asn1_delete_structure(&pasn);
return 0;
- } /* switch */
+ } /* switch */
- error:
+error:
asn1_delete_structure(&pasn);
return result;
}
-static int
-_gnutls_pbes2_string_to_key(unsigned int pass_len, const char *password,
- const struct pbkdf2_params *kdf_params,
- int key_size, uint8_t * key)
+static int _gnutls_pbes2_string_to_key(unsigned int pass_len,
+ const char *password,
+ const struct pbkdf2_params *kdf_params,
+ int key_size, uint8_t *key)
{
gnutls_datum_t _key;
gnutls_datum_t salt;
@@ -1123,12 +1072,11 @@ _gnutls_pbes2_string_to_key(unsigned int pass_len, const char *password,
kdf_params->iter_count, key, key_size);
}
-int
-_gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
- const char *root, const char *_password,
- const struct pbkdf2_params *kdf_params,
- const struct pbe_enc_params *enc_params,
- gnutls_datum_t * decrypted_data)
+int _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
+ const char *root, const char *_password,
+ const struct pbkdf2_params *kdf_params,
+ const struct pbe_enc_params *enc_params,
+ gnutls_datum_t *decrypted_data)
{
gnutls_datum_t enc = { NULL, 0 };
uint8_t *key = NULL;
@@ -1143,10 +1091,8 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
if (_password) {
gnutls_datum_t pout;
- ret =
- _gnutls_utf8_password_normalize(_password,
- strlen(_password), &pout,
- 1);
+ ret = _gnutls_utf8_password_normalize(
+ _password, strlen(_password), &pout, 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1166,9 +1112,8 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
if (schema == PBES1_DES_MD5) {
ret = _gnutls_decrypt_pbes1_des_md5_data(password, pass_len,
- kdf_params,
- enc_params, &enc,
- decrypted_data);
+ kdf_params, enc_params,
+ &enc, decrypted_data);
if (ret < 0)
goto error;
goto cleanup;
@@ -1189,21 +1134,18 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
/* generate the key
*/
p = _gnutls_pkcs_schema_get(schema);
- if (p != NULL && p->pbes2 != 0) { /* PBES2 */
+ if (p != NULL && p->pbes2 != 0) { /* PBES2 */
ret = _gnutls_pbes2_string_to_key(pass_len, password,
kdf_params, key_size, key);
if (ret < 0) {
gnutls_assert();
goto error;
}
- } else if (p != NULL) { /* PKCS 12 schema */
- ret =
- _gnutls_pkcs12_string_to_key(mac_to_entry(GNUTLS_MAC_SHA1),
- 1 /*KEY*/,
- kdf_params->salt,
- kdf_params->salt_size,
- kdf_params->iter_count,
- password, key_size, key);
+ } else if (p != NULL) { /* PKCS 12 schema */
+ ret = _gnutls_pkcs12_string_to_key(
+ mac_to_entry(GNUTLS_MAC_SHA1), 1 /*KEY*/,
+ kdf_params->salt, kdf_params->salt_size,
+ kdf_params->iter_count, password, key_size, key);
if (ret < 0) {
gnutls_assert();
@@ -1223,8 +1165,8 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
block_size = _gnutls_cipher_get_block_size(ce);
if (ce->type == CIPHER_BLOCK) {
- if (enc.size % block_size != 0
- || (unsigned)enc_params->iv_size != block_size) {
+ if (enc.size % block_size != 0 ||
+ (unsigned)enc_params->iv_size != block_size) {
gnutls_assert();
ret = GNUTLS_E_DECRYPTION_FAILED;
goto error;
@@ -1243,7 +1185,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
dkey.data = key;
dkey.size = key_size;
- d_iv.data = (uint8_t *) enc_params->iv;
+ d_iv.data = (uint8_t *)enc_params->iv;
d_iv.size = enc_params->iv_size;
ret = gnutls_cipher_init(&ch, ce->id, &dkey, &d_iv);
@@ -1266,7 +1208,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
decrypted_data->data = enc.data;
if (ce->type == CIPHER_BLOCK && block_size != 1) {
- unsigned pslen = (uint8_t) enc.data[enc.size - 1];
+ unsigned pslen = (uint8_t)enc.data[enc.size - 1];
unsigned i;
if (pslen > block_size || pslen >= enc.size || pslen == 0) {
@@ -1292,7 +1234,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
ret = 0;
- cleanup:
+cleanup:
if (password) {
zeroize_temp_key(password, pass_len);
gnutls_free(password);
@@ -1300,7 +1242,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
return ret;
- error:
+error:
if (password) {
zeroize_temp_key(password, pass_len);
gnutls_free(password);
@@ -1321,8 +1263,8 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
/* Writes the PBKDF2 parameters.
*/
-static int
-write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
+static int write_pbkdf2_params(asn1_node pasn,
+ const struct pbkdf2_params *kdf_params)
{
int result;
asn1_node pbkdf2_asn = NULL;
@@ -1331,9 +1273,8 @@ write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
/* Write the key derivation algorithm
*/
- result =
- asn1_write_value(pasn, "keyDerivationFunc.algorithm",
- PBKDF2_OID, 1);
+ result = asn1_write_value(pasn, "keyDerivationFunc.algorithm",
+ PBKDF2_OID, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1342,10 +1283,9 @@ write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
/* Now write the key derivation and the encryption
* functions.
*/
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-5-PBKDF2-params",
- &pbkdf2_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-5-PBKDF2-params",
+ &pbkdf2_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1359,9 +1299,8 @@ write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
/* write the salt
*/
- result =
- asn1_write_value(pbkdf2_asn, "salt.specified",
- kdf_params->salt, kdf_params->salt_size);
+ result = asn1_write_value(pbkdf2_asn, "salt.specified",
+ kdf_params->salt, kdf_params->salt_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1397,8 +1336,8 @@ write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
goto error;
}
- result = asn1_write_value(pbkdf2_asn, "prf.algorithm",
- me->mac_oid, strlen(me->mac_oid));
+ result = asn1_write_value(pbkdf2_asn, "prf.algorithm", me->mac_oid,
+ strlen(me->mac_oid));
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1415,10 +1354,8 @@ write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
/* now encode them an put the DER output
* in the keyDerivationFunc.parameters
*/
- result = _gnutls_x509_der_encode_and_copy(pbkdf2_asn, "",
- pasn,
- "keyDerivationFunc.parameters",
- 0);
+ result = _gnutls_x509_der_encode_and_copy(
+ pbkdf2_asn, "", pasn, "keyDerivationFunc.parameters", 0);
if (result < 0) {
gnutls_assert();
goto error;
@@ -1426,14 +1363,13 @@ write_pbkdf2_params(asn1_node pasn, const struct pbkdf2_params *kdf_params)
result = 0;
- error:
+error:
asn1_delete_structure(&pbkdf2_asn);
return result;
-
}
-static int
-write_pbes2_enc_params(asn1_node pasn, const struct pbe_enc_params *params)
+static int write_pbes2_enc_params(asn1_node pasn,
+ const struct pbe_enc_params *params)
{
int result;
asn1_node pbe_asn = NULL;
@@ -1450,9 +1386,8 @@ write_pbes2_enc_params(asn1_node pasn, const struct pbe_enc_params *params)
/* Now check the encryption parameters.
*/
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- p->desc, &pbe_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), p->desc,
+ &pbe_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1474,8 +1409,8 @@ write_pbes2_enc_params(asn1_node pasn, const struct pbe_enc_params *params)
cipher_oid = p->cipher_oid;
}
- result =
- asn1_write_value(pasn, "encryptionScheme.algorithm", cipher_oid, 1);
+ result = asn1_write_value(pasn, "encryptionScheme.algorithm",
+ cipher_oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
goto error;
@@ -1483,8 +1418,8 @@ write_pbes2_enc_params(asn1_node pasn, const struct pbe_enc_params *params)
_gnutls_hard_log("encryptionScheme.algorithm: %s\n", cipher_oid);
/* read the salt */
- result = asn1_write_value(pbe_asn, p->iv_name,
- params->iv, params->iv_size);
+ result = asn1_write_value(pbe_asn, p->iv_name, params->iv,
+ params->iv_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1495,10 +1430,8 @@ write_pbes2_enc_params(asn1_node pasn, const struct pbe_enc_params *params)
/* now encode them an put the DER output
* in the encryptionScheme.parameters
*/
- result = _gnutls_x509_der_encode_and_copy(pbe_asn, "",
- pasn,
- "encryptionScheme.parameters",
- 0);
+ result = _gnutls_x509_der_encode_and_copy(
+ pbe_asn, "", pasn, "encryptionScheme.parameters", 0);
if (result < 0) {
gnutls_assert();
goto error;
@@ -1506,20 +1439,17 @@ write_pbes2_enc_params(asn1_node pasn, const struct pbe_enc_params *params)
result = 0;
- error:
+error:
asn1_delete_structure(&pbe_asn);
return result;
-
}
/* Generates a key and also stores the key parameters.
*/
-int
-_gnutls_pkcs_generate_key(schema_id schema,
- const char *_password,
- struct pbkdf2_params *kdf_params,
- struct pbe_enc_params *enc_params,
- gnutls_datum_t * key)
+int _gnutls_pkcs_generate_key(schema_id schema, const char *_password,
+ struct pbkdf2_params *kdf_params,
+ struct pbe_enc_params *enc_params,
+ gnutls_datum_t *key)
{
unsigned char rnd[2];
unsigned int pass_len = 0;
@@ -1529,10 +1459,8 @@ _gnutls_pkcs_generate_key(schema_id schema,
if (_password) {
gnutls_datum_t pout;
- ret =
- _gnutls_utf8_password_normalize(_password,
- strlen(_password), &pout,
- 0);
+ ret = _gnutls_utf8_password_normalize(
+ _password, strlen(_password), &pout, 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -1551,10 +1479,10 @@ _gnutls_pkcs_generate_key(schema_id schema,
/* generate salt */
kdf_params->salt_size =
- MIN(sizeof(kdf_params->salt), (unsigned)(12 + (rnd[1] % 10)));
+ MIN(sizeof(kdf_params->salt), (unsigned)(12 + (rnd[1] % 10)));
p = _gnutls_pkcs_schema_get(schema);
- if (p != NULL && p->pbes2 != 0) { /* PBES2 */
+ if (p != NULL && p->pbes2 != 0) { /* PBES2 */
enc_params->cipher = p->cipher;
} else if (p != NULL) {
/* non PBES2 algorithms */
@@ -1575,7 +1503,7 @@ _gnutls_pkcs_generate_key(schema_id schema,
kdf_params->iter_count = PKCS12_ITER_COUNT;
key->size = kdf_params->key_size =
- gnutls_cipher_get_key_size(enc_params->cipher);
+ gnutls_cipher_get_key_size(enc_params->cipher);
enc_params->iv_size = gnutls_cipher_get_iv_size(enc_params->cipher);
key->data = gnutls_malloc(key->size);
@@ -1608,23 +1536,19 @@ _gnutls_pkcs_generate_key(schema_id schema,
}
if (enc_params->iv_size) {
- ret = gnutls_rnd(GNUTLS_RND_NONCE,
- enc_params->iv, enc_params->iv_size);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE, enc_params->iv,
+ enc_params->iv_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
}
- } else { /* PKCS 12 schema */
- ret =
- _gnutls_pkcs12_string_to_key(mac_to_entry(GNUTLS_MAC_SHA1),
- 1 /*KEY*/,
- kdf_params->salt,
- kdf_params->salt_size,
- kdf_params->iter_count,
- password,
- kdf_params->key_size,
- key->data);
+ } else { /* PKCS 12 schema */
+ ret = _gnutls_pkcs12_string_to_key(
+ mac_to_entry(GNUTLS_MAC_SHA1), 1 /*KEY*/,
+ kdf_params->salt, kdf_params->salt_size,
+ kdf_params->iter_count, password, kdf_params->key_size,
+ key->data);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1633,16 +1557,11 @@ _gnutls_pkcs_generate_key(schema_id schema,
/* Now generate the IV
*/
if (enc_params->iv_size) {
- ret =
- _gnutls_pkcs12_string_to_key(mac_to_entry
- (GNUTLS_MAC_SHA1),
- 2 /*IV*/,
- kdf_params->salt,
- kdf_params->salt_size,
- kdf_params->iter_count,
- password,
- enc_params->iv_size,
- enc_params->iv);
+ ret = _gnutls_pkcs12_string_to_key(
+ mac_to_entry(GNUTLS_MAC_SHA1), 2 /*IV*/,
+ kdf_params->salt, kdf_params->salt_size,
+ kdf_params->iter_count, password,
+ enc_params->iv_size, enc_params->iv);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1652,7 +1571,7 @@ _gnutls_pkcs_generate_key(schema_id schema,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(password);
return ret;
}
@@ -1660,11 +1579,10 @@ _gnutls_pkcs_generate_key(schema_id schema,
/* Encodes the parameters to be written in the encryptionAlgorithm.parameters
* part.
*/
-int
-_gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
- const char *where,
- const struct pbkdf2_params *kdf_params,
- const struct pbe_enc_params *enc_params)
+int _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
+ const char *where,
+ const struct pbkdf2_params *kdf_params,
+ const struct pbe_enc_params *enc_params)
{
int result;
asn1_node pasn = NULL;
@@ -1672,11 +1590,10 @@ _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
p = _gnutls_pkcs_schema_get(schema);
- if (p != NULL && p->pbes2 != 0) { /* PBES2 */
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-5-PBES2-params",
- &pasn)) != ASN1_SUCCESS) {
+ if (p != NULL && p->pbes2 != 0) { /* PBES2 */
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-5-PBES2-params",
+ &pasn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1693,8 +1610,8 @@ _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
goto error;
}
- result = _gnutls_x509_der_encode_and_copy(pasn, "",
- pkcs8_asn, where, 0);
+ result = _gnutls_x509_der_encode_and_copy(pasn, "", pkcs8_asn,
+ where, 0);
if (result < 0) {
gnutls_assert();
goto error;
@@ -1702,12 +1619,11 @@ _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
asn1_delete_structure(&pasn);
- } else if (p != NULL) { /* PKCS #12 */
+ } else if (p != NULL) { /* PKCS #12 */
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-12-PbeParams",
- &pasn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-12-PbeParams",
+ &pasn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -1719,8 +1635,8 @@ _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
goto error;
}
- result = _gnutls_x509_der_encode_and_copy(pasn, "",
- pkcs8_asn, where, 0);
+ result = _gnutls_x509_der_encode_and_copy(pasn, "", pkcs8_asn,
+ where, 0);
if (result < 0) {
gnutls_assert();
goto error;
@@ -1731,17 +1647,15 @@ _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
return 0;
- error:
+error:
asn1_delete_structure(&pasn);
return result;
-
}
-int
-_gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t * plain,
- const struct pbe_enc_params *enc_params,
- const gnutls_datum_t * key,
- gnutls_datum_t * encrypted)
+int _gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t *plain,
+ const struct pbe_enc_params *enc_params,
+ const gnutls_datum_t *key,
+ gnutls_datum_t *encrypted)
{
int result;
int data_size;
@@ -1754,7 +1668,7 @@ _gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t * plain,
ce = cipher_to_entry(enc_params->cipher);
pad_size = _gnutls_cipher_get_block_size(ce);
- if (pad_size == 1 || ce->type == CIPHER_STREAM) /* stream */
+ if (pad_size == 1 || ce->type == CIPHER_STREAM) /* stream */
pad_size = 0;
data = gnutls_malloc(plain->size + pad_size);
@@ -1775,7 +1689,7 @@ _gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t * plain,
data_size = plain->size + pad;
- d_iv.data = (uint8_t *) enc_params->iv;
+ d_iv.data = (uint8_t *)enc_params->iv;
d_iv.size = enc_params->iv_size;
result = gnutls_cipher_init(&ch, enc_params->cipher, key, &d_iv);
if (result < 0) {
@@ -1796,7 +1710,7 @@ _gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t * plain,
return 0;
- error:
+error:
gnutls_free(data);
if (ch) {
gnutls_cipher_deinit(ch);
diff --git a/lib/x509/pkcs7-output.c b/lib/x509/pkcs7-output.c
index b5f00db18a..210e7c84f4 100644
--- a/lib/x509/pkcs7-output.c
+++ b/lib/x509/pkcs7-output.c
@@ -32,8 +32,8 @@
#define addf _gnutls_buffer_append_printf
#define adds _gnutls_buffer_append_str
-static void print_dn(gnutls_buffer_st * str, const char *prefix,
- const gnutls_datum_t * raw)
+static void print_dn(gnutls_buffer_st *str, const char *prefix,
+ const gnutls_datum_t *raw)
{
gnutls_x509_dn_t dn = NULL;
gnutls_datum_t output = { NULL, 0 };
@@ -59,14 +59,21 @@ static void print_dn(gnutls_buffer_st * str, const char *prefix,
addf(str, "%s: %s\n", prefix, output.data);
- cleanup:
+cleanup:
gnutls_x509_dn_deinit(dn);
gnutls_free(output.data);
}
/* Do not encode ASN1 and type for now */
-#define ENTRY(oid, name, type) {oid, sizeof(oid)-1, name, sizeof(name)-1, NULL, type}
-#define ENTRY2(oid, name) {oid, sizeof(oid)-1, name, sizeof(name)-1, NULL, ASN1_ETYPE_INVALID}
+#define ENTRY(oid, name, type) \
+ { \
+ oid, sizeof(oid) - 1, name, sizeof(name) - 1, NULL, type \
+ }
+#define ENTRY2(oid, name) \
+ { \
+ oid, sizeof(oid) - 1, name, sizeof(name) - 1, NULL, \
+ ASN1_ETYPE_INVALID \
+ }
static const struct oid_to_string pkcs7_attrs[] = {
ENTRY("1.2.840.113549.1.9.3", "contentType", ASN1_ETYPE_OBJECT_ID),
@@ -86,11 +93,11 @@ static const struct oid_to_string pkcs7_attrs[] = {
ENTRY2("1.2.840.113549.1.9.16.2.19", "aa-ets-otherSigCert"),
ENTRY2("1.2.840.113549.1.9.16.2.47", "aa-signingCertificateV2"),
- {NULL, 0, NULL, 0, NULL, 0}
+ { NULL, 0, NULL, 0, NULL, 0 }
};
-static void print_raw(gnutls_buffer_st * str, const char *prefix,
- const gnutls_datum_t * raw)
+static void print_raw(gnutls_buffer_st *str, const char *prefix,
+ const gnutls_datum_t *raw)
{
gnutls_datum_t result;
int ret;
@@ -108,8 +115,8 @@ static void print_raw(gnutls_buffer_st * str, const char *prefix,
gnutls_free(result.data);
}
-static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info,
- gnutls_buffer_st * str,
+static void print_pkcs7_info(gnutls_pkcs7_signature_info_st *info,
+ gnutls_buffer_st *str,
gnutls_certificate_print_formats_t format)
{
unsigned i;
@@ -148,9 +155,8 @@ static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info,
if (format == GNUTLS_CRT_PRINT_FULL) {
if (info->signed_attrs) {
for (i = 0;; i++) {
- ret =
- gnutls_pkcs7_get_attr(info->signed_attrs, i,
- &oid, &data, 0);
+ ret = gnutls_pkcs7_get_attr(info->signed_attrs,
+ i, &oid, &data, 0);
if (ret < 0)
break;
if (i == 0)
@@ -158,18 +164,18 @@ static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info,
entry = _gnutls_oid_get_entry(pkcs7_attrs, oid);
snprintf(prefix, sizeof(prefix), "\t\t%s",
- (entry
- && entry->
- name_desc) ? entry->name_desc : oid);
+ (entry && entry->name_desc) ?
+ entry->name_desc :
+ oid);
print_raw(str, prefix, &data);
gnutls_free(data.data);
}
}
if (info->unsigned_attrs) {
for (i = 0;; i++) {
- ret =
- gnutls_pkcs7_get_attr(info->unsigned_attrs,
- i, &oid, &data, 0);
+ ret = gnutls_pkcs7_get_attr(
+ info->unsigned_attrs, i, &oid, &data,
+ 0);
if (ret < 0)
break;
if (i == 0)
@@ -177,9 +183,9 @@ static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info,
entry = _gnutls_oid_get_entry(pkcs7_attrs, oid);
snprintf(prefix, sizeof(prefix), "\t\t%s",
- (entry
- && entry->
- name_desc) ? entry->name_desc : oid);
+ (entry && entry->name_desc) ?
+ entry->name_desc :
+ oid);
print_raw(str, prefix, &data);
gnutls_free(data.data);
}
@@ -207,9 +213,9 @@ static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info,
*
* Since: 3.6.14
**/
-int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st * info,
+int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st *info,
gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+ gnutls_datum_t *out)
{
gnutls_buffer_st str;
@@ -238,7 +244,7 @@ int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st * info,
**/
int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
gnutls_certificate_print_formats_t format,
- gnutls_datum_t * out)
+ gnutls_datum_t *out)
{
int count, ret, i;
gnutls_pkcs7_signature_info_st info;
@@ -251,8 +257,8 @@ int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
* we don't print the eContent Type explicitly */
oid = gnutls_pkcs7_get_embedded_data_oid(pkcs7);
if (oid) {
- if (strcmp(oid, DATA_OID) != 0
- && strcmp(oid, DIGESTED_DATA_OID) != 0) {
+ if (strcmp(oid, DATA_OID) != 0 &&
+ strcmp(oid, DIGESTED_DATA_OID) != 0) {
addf(&str, "eContent Type: %s\n", oid);
}
}
@@ -278,8 +284,8 @@ int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
addf(&str, "Number of certificates: %u\n\n", count);
for (i = 0; i < count; i++) {
- ret =
- gnutls_pkcs7_get_crt_raw2(pkcs7, i, &data);
+ ret = gnutls_pkcs7_get_crt_raw2(pkcs7, i,
+ &data);
if (ret < 0) {
addf(&str,
"Error: cannot print certificate %d\n",
@@ -287,9 +293,8 @@ int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
continue;
}
- ret =
- gnutls_pem_base64_encode_alloc
- ("CERTIFICATE", &data, &b64);
+ ret = gnutls_pem_base64_encode_alloc(
+ "CERTIFICATE", &data, &b64);
if (ret < 0) {
gnutls_free(data.data);
continue;
@@ -307,8 +312,8 @@ int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
addf(&str, "Number of CRLs: %u\n\n", count);
for (i = 0; i < count; i++) {
- ret =
- gnutls_pkcs7_get_crl_raw2(pkcs7, i, &data);
+ ret = gnutls_pkcs7_get_crl_raw2(pkcs7, i,
+ &data);
if (ret < 0) {
addf(&str,
"Error: cannot print certificate %d\n",
@@ -316,9 +321,8 @@ int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
continue;
}
- ret =
- gnutls_pem_base64_encode_alloc("X509 CRL",
- &data, &b64);
+ ret = gnutls_pem_base64_encode_alloc(
+ "X509 CRL", &data, &b64);
if (ret < 0) {
gnutls_free(data.data);
continue;
diff --git a/lib/x509/pkcs7.c b/lib/x509/pkcs7.c
index c67bef6c32..8f0b9c3bd7 100644
--- a/lib/x509/pkcs7.c
+++ b/lib/x509/pkcs7.c
@@ -53,9 +53,8 @@ static int _decode_pkcs7_signed_data(gnutls_pkcs7_t pkcs7)
gnutls_datum_t tmp = { NULL, 0 };
len = MAX_OID_SIZE - 1;
- result =
- asn1_read_value(pkcs7->pkcs7, "contentType", pkcs7->encap_data_oid,
- &len);
+ result = asn1_read_value(pkcs7->pkcs7, "contentType",
+ pkcs7->encap_data_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -68,9 +67,9 @@ static int _decode_pkcs7_signed_data(gnutls_pkcs7_t pkcs7)
return GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE;
}
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-7-SignedData",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-SignedData", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -96,33 +95,30 @@ static int _decode_pkcs7_signed_data(gnutls_pkcs7_t pkcs7)
/* read the encapsulated content */
len = MAX_OID_SIZE - 1;
- result =
- asn1_read_value(c2, "encapContentInfo.eContentType",
- pkcs7->encap_data_oid, &len);
+ result = asn1_read_value(c2, "encapContentInfo.eContentType",
+ pkcs7->encap_data_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- if (strcmp(pkcs7->encap_data_oid, DATA_OID) != 0
- && strcmp(pkcs7->encap_data_oid, DIGESTED_DATA_OID) != 0) {
- _gnutls_debug_log
- ("Unknown PKCS#7 Encapsulated Content OID '%s'; treating as raw data\n",
- pkcs7->encap_data_oid);
-
+ if (strcmp(pkcs7->encap_data_oid, DATA_OID) != 0 &&
+ strcmp(pkcs7->encap_data_oid, DIGESTED_DATA_OID) != 0) {
+ _gnutls_debug_log(
+ "Unknown PKCS#7 Encapsulated Content OID '%s'; treating as raw data\n",
+ pkcs7->encap_data_oid);
}
/* Try reading as octet string according to rfc5652. If that fails, attempt
* a raw read according to rfc2315 */
- result =
- _gnutls_x509_read_string(c2, "encapContentInfo.eContent",
- &pkcs7->der_signed_data,
- ASN1_ETYPE_OCTET_STRING, 1);
+ result = _gnutls_x509_read_string(c2, "encapContentInfo.eContent",
+ &pkcs7->der_signed_data,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (result < 0) {
- result =
- _gnutls_x509_read_value(c2, "encapContentInfo.eContent",
- &pkcs7->der_signed_data);
+ result = _gnutls_x509_read_value(c2,
+ "encapContentInfo.eContent",
+ &pkcs7->der_signed_data);
if (result < 0) {
pkcs7->der_signed_data.data = NULL;
pkcs7->der_signed_data.size = 0;
@@ -132,21 +128,19 @@ static int _decode_pkcs7_signed_data(gnutls_pkcs7_t pkcs7)
unsigned long tag;
/* we skip the embedded element's tag and length - uncharted territorry - used by MICROSOFT_CERT_TRUST_LIST */
- result =
- asn1_get_tag_der(pkcs7->der_signed_data.data,
- pkcs7->der_signed_data.size, &cls,
- &tag_len, &tag);
+ result = asn1_get_tag_der(pkcs7->der_signed_data.data,
+ pkcs7->der_signed_data.size,
+ &cls, &tag_len, &tag);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_get_length_ber(pkcs7->der_signed_data.data +
- tag_len,
- pkcs7->der_signed_data.size -
- tag_len, &len_len);
+ result = asn1_get_length_ber(
+ pkcs7->der_signed_data.data + tag_len,
+ pkcs7->der_signed_data.size - tag_len,
+ &len_len);
if (result < 0) {
gnutls_assert();
result = GNUTLS_E_ASN1_DER_ERROR;
@@ -168,7 +162,7 @@ static int _decode_pkcs7_signed_data(gnutls_pkcs7_t pkcs7)
return 0;
- cleanup:
+cleanup:
gnutls_free(tmp.data);
if (c2)
asn1_delete_structure(&c2);
@@ -203,7 +197,7 @@ static int pkcs7_reinit(gnutls_pkcs7_t pkcs7)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_pkcs7_init(gnutls_pkcs7_t * pkcs7)
+int gnutls_pkcs7_init(gnutls_pkcs7_t *pkcs7)
{
*pkcs7 = gnutls_calloc(1, sizeof(gnutls_pkcs7_int));
@@ -214,7 +208,7 @@ int gnutls_pkcs7_init(gnutls_pkcs7_t * pkcs7)
gnutls_free(*pkcs7);
return result;
}
- return 0; /* success */
+ return 0; /* success */
}
return GNUTLS_E_MEMORY_ERROR;
}
@@ -258,9 +252,8 @@ void gnutls_pkcs7_deinit(gnutls_pkcs7_t pkcs7)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format)
+int gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format)
{
int result = 0, need_free = 0;
gnutls_datum_t _data;
@@ -274,9 +267,8 @@ gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * data,
/* If the PKCS7 is in PEM format then decode it
*/
if (format == GNUTLS_X509_FMT_PEM) {
- result =
- _gnutls_fbase64_decode(PEM_PKCS7, data->data,
- data->size, &_data);
+ result = _gnutls_fbase64_decode(PEM_PKCS7, data->data,
+ data->size, &_data);
if (result < 0) {
gnutls_assert();
@@ -312,7 +304,7 @@ gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * data,
result = 0;
- cleanup:
+cleanup:
if (need_free)
_gnutls_free_datum(&_data);
return result;
@@ -337,9 +329,8 @@ gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * data,
*
* Since: 3.4.2
**/
-int
-gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7,
- unsigned indx, gnutls_datum_t * cert)
+int gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7, unsigned indx,
+ gnutls_datum_t *cert)
{
int result, len;
char root2[MAX_NAME_SIZE];
@@ -379,9 +370,9 @@ gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7,
goto cleanup;
}
- result =
- asn1_der_decoding_startEnd(pkcs7->signed_data, tmp.data,
- tmp.size, root2, &start, &end);
+ result = asn1_der_decoding_startEnd(pkcs7->signed_data,
+ tmp.data, tmp.size, root2,
+ &start, &end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -396,7 +387,7 @@ gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7,
result = GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE;
}
- cleanup:
+cleanup:
_gnutls_free_datum(&tmp);
return result;
}
@@ -420,10 +411,8 @@ gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7,
* then @certificate_size is updated and
* %GNUTLS_E_SHORT_MEMORY_BUFFER is returned.
**/
-int
-gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7,
- unsigned indx, void *certificate,
- size_t *certificate_size)
+int gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7, unsigned indx,
+ void *certificate, size_t *certificate_size)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
@@ -442,7 +431,7 @@ gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7,
if (certificate)
memcpy(certificate, tmp.data, tmp.size);
- cleanup:
+cleanup:
_gnutls_free_datum(&tmp);
return ret;
}
@@ -466,11 +455,11 @@ int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t pkcs7)
/* Step 2. Count the CertificateSet */
- result =
- asn1_number_of_elements(pkcs7->signed_data, "certificates", &count);
+ result = asn1_number_of_elements(pkcs7->signed_data, "certificates",
+ &count);
if (result != ASN1_SUCCESS) {
gnutls_assert();
- return 0; /* no certificates */
+ return 0; /* no certificates */
}
return count;
@@ -485,7 +474,7 @@ int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t pkcs7)
*
* Since: 3.4.2
**/
-void gnutls_pkcs7_signature_info_deinit(gnutls_pkcs7_signature_info_st * info)
+void gnutls_pkcs7_signature_info_deinit(gnutls_pkcs7_signature_info_st *info)
{
gnutls_free(info->sig.data);
gnutls_free(info->issuer_dn.data);
@@ -527,7 +516,7 @@ static time_t parse_time(gnutls_pkcs7_t pkcs7, const char *root)
ret = _gnutls_x509_get_time(c2, "", 0);
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -551,8 +540,8 @@ int gnutls_pkcs7_get_signature_count(gnutls_pkcs7_t pkcs7)
if (pkcs7 == NULL)
return GNUTLS_E_INVALID_REQUEST;
- ret =
- asn1_number_of_elements(pkcs7->signed_data, "signerInfos", &count);
+ ret = asn1_number_of_elements(pkcs7->signed_data, "signerInfos",
+ &count);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return 0;
@@ -577,7 +566,7 @@ int gnutls_pkcs7_get_signature_count(gnutls_pkcs7_t pkcs7)
* Since: 3.4.2
**/
int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
- gnutls_pkcs7_signature_info_st * info)
+ gnutls_pkcs7_signature_info_st *info)
{
int ret, count, len;
char root[256];
@@ -593,8 +582,8 @@ int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
memset(info, 0, sizeof(*info));
info->signing_time = -1;
- ret =
- asn1_number_of_elements(pkcs7->signed_data, "signerInfos", &count);
+ ret = asn1_number_of_elements(pkcs7->signed_data, "signerInfos",
+ &count);
if (ret != ASN1_SUCCESS || idx + 1 > (unsigned)count) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -657,28 +646,26 @@ int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
"signerInfos.?%u.sid.issuerAndSerialNumber.issuer.rdnSequence",
idx + 1);
/* read the signature */
- ret =
- _gnutls_x509_get_raw_field(pkcs7->signed_data, root,
- &info->issuer_dn);
+ ret = _gnutls_x509_get_raw_field(pkcs7->signed_data, root,
+ &info->issuer_dn);
if (ret >= 0) {
- snprintf(root, sizeof(root),
- "signerInfos.?%u.sid.issuerAndSerialNumber.serialNumber",
- idx + 1);
+ snprintf(
+ root, sizeof(root),
+ "signerInfos.?%u.sid.issuerAndSerialNumber.serialNumber",
+ idx + 1);
/* read the signature */
- ret =
- _gnutls_x509_read_value(pkcs7->signed_data, root,
- &info->signer_serial);
+ ret = _gnutls_x509_read_value(pkcs7->signed_data, root,
+ &info->signer_serial);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- } else { /* keyid */
+ } else { /* keyid */
snprintf(root, sizeof(root),
"signerInfos.?%u.sid.subjectKeyIdentifier", idx + 1);
/* read the signature */
- ret =
- _gnutls_x509_read_value(pkcs7->signed_data, root,
- &info->issuer_keyid);
+ ret = _gnutls_x509_read_value(pkcs7->signed_data, root,
+ &info->issuer_keyid);
if (ret < 0) {
gnutls_assert();
}
@@ -748,8 +735,8 @@ int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
goto fail;
}
- ret =
- gnutls_pkcs7_add_attr(&info->unsigned_attrs, oid, &tmp, 0);
+ ret = gnutls_pkcs7_add_attr(&info->unsigned_attrs, oid, &tmp,
+ 0);
gnutls_free(tmp.data);
if (ret < 0) {
@@ -759,11 +746,11 @@ int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
}
return 0;
- fail:
+fail:
gnutls_free(tmp.data);
gnutls_pkcs7_signature_info_deinit(info);
return ret;
- unsupp_algo:
+unsupp_algo:
return GNUTLS_E_UNKNOWN_ALGORITHM;
}
@@ -771,7 +758,7 @@ int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned idx,
* and matches our calculated hash */
static int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,
gnutls_sign_algorithm_t algo,
- const gnutls_datum_t * data)
+ const gnutls_datum_t *data)
{
unsigned hash;
gnutls_datum_t tmp = { NULL, 0 };
@@ -808,10 +795,8 @@ static int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,
for (i = 0;; i++) {
snprintf(name, sizeof(name), "%s.signedAttrs.?%u", root, i + 1);
- ret = _gnutls_x509_decode_and_read_attribute(pkcs7->signed_data,
- name, oid,
- sizeof(oid), &tmp,
- 1, 0);
+ ret = _gnutls_x509_decode_and_read_attribute(
+ pkcs7->signed_data, name, oid, sizeof(oid), &tmp, 1, 0);
if (ret < 0) {
if (ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
break;
@@ -819,17 +804,16 @@ static int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,
}
if (strcmp(oid, ATTR_MESSAGE_DIGEST) == 0) {
- ret =
- _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
- tmp.data, tmp.size,
- &tmp2, 0);
+ ret = _gnutls_x509_decode_string(
+ ASN1_ETYPE_OCTET_STRING, tmp.data, tmp.size,
+ &tmp2, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- if (tmp2.size == hash_size
- && memcmp(hash_output, tmp2.data, tmp2.size) == 0) {
+ if (tmp2.size == hash_size &&
+ memcmp(hash_output, tmp2.data, tmp2.size) == 0) {
msg_digest_ok = 1;
} else {
gnutls_assert();
@@ -844,17 +828,16 @@ static int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,
num_cont_types++;
/* check if it matches */
- ret =
- _gnutls_x509_get_raw_field(pkcs7->signed_data,
- "encapContentInfo.eContentType",
- &tmp2);
+ ret = _gnutls_x509_get_raw_field(
+ pkcs7->signed_data,
+ "encapContentInfo.eContentType", &tmp2);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- if (tmp2.size != tmp.size
- || memcmp(tmp.data, tmp2.data, tmp2.size) != 0) {
+ if (tmp2.size != tmp.size ||
+ memcmp(tmp.data, tmp2.data, tmp2.size) != 0) {
gnutls_assert();
ret = GNUTLS_E_PARSING_ERROR;
goto cleanup;
@@ -870,7 +853,7 @@ static int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,
else
ret = gnutls_assert_val(GNUTLS_E_PK_SIG_VERIFY_FAILED);
- cleanup:
+cleanup:
gnutls_free(tmp.data);
gnutls_free(tmp2.data);
return ret;
@@ -880,9 +863,9 @@ static int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,
* decided that this should not be an easy task.
*/
static int figure_pkcs7_sigdata(gnutls_pkcs7_t pkcs7, const char *root,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_sign_algorithm_t algo,
- gnutls_datum_t * sigdata)
+ gnutls_datum_t *sigdata)
{
int ret;
char name[256];
@@ -933,9 +916,8 @@ static int figure_pkcs7_sigdata(gnutls_pkcs7_t pkcs7, const char *root,
*
* Since: 3.4.8
**/
-int
-gnutls_pkcs7_get_embedded_data(gnutls_pkcs7_t pkcs7, unsigned flags,
- gnutls_datum_t * data)
+int gnutls_pkcs7_get_embedded_data(gnutls_pkcs7_t pkcs7, unsigned flags,
+ gnutls_datum_t *data)
{
if (pkcs7 == NULL)
return GNUTLS_E_INVALID_REQUEST;
@@ -945,13 +927,11 @@ gnutls_pkcs7_get_embedded_data(gnutls_pkcs7_t pkcs7, unsigned flags,
if (flags & GNUTLS_PKCS7_EDATA_GET_RAW) {
if (pkcs7->signed_data == NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- return _gnutls_x509_read_value(pkcs7->signed_data,
- "encapContentInfo.eContent",
- data);
+ return _gnutls_x509_read_value(
+ pkcs7->signed_data, "encapContentInfo.eContent", data);
} else {
return _gnutls_set_datum(data, pkcs7->der_signed_data.data,
pkcs7->der_signed_data.size);
@@ -1007,10 +987,9 @@ const char *gnutls_pkcs7_get_embedded_data_oid(gnutls_pkcs7_t pkcs7)
*
* Since: 3.4.2
**/
-int gnutls_pkcs7_verify_direct(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_t signer,
- unsigned idx,
- const gnutls_datum_t * data, unsigned flags)
+int gnutls_pkcs7_verify_direct(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t signer,
+ unsigned idx, const gnutls_datum_t *data,
+ unsigned flags)
{
int count, ret;
gnutls_datum_t tmpdata = { NULL, 0 };
@@ -1023,8 +1002,8 @@ int gnutls_pkcs7_verify_direct(gnutls_pkcs7_t pkcs7,
if (pkcs7 == NULL)
return GNUTLS_E_INVALID_REQUEST;
- ret =
- asn1_number_of_elements(pkcs7->signed_data, "signerInfos", &count);
+ ret = asn1_number_of_elements(pkcs7->signed_data, "signerInfos",
+ &count);
if (ret != ASN1_SUCCESS || idx + 1 > (unsigned)count) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -1043,14 +1022,13 @@ int gnutls_pkcs7_verify_direct(gnutls_pkcs7_t pkcs7,
goto cleanup;
}
- ret =
- gnutls_x509_crt_verify_data2(signer, info.algo, flags, &sigdata,
- &info.sig);
+ ret = gnutls_x509_crt_verify_data2(signer, info.algo, flags, &sigdata,
+ &info.sig);
if (ret < 0) {
gnutls_assert();
}
- cleanup:
+cleanup:
gnutls_free(tmpdata.data);
gnutls_free(sigdata.data);
gnutls_pkcs7_signature_info_deinit(&info);
@@ -1101,17 +1079,15 @@ static gnutls_x509_crt_t find_verified_issuer_of(gnutls_pkcs7_t pkcs7,
goto skip;
}
- ret =
- gnutls_x509_crt_verify(cert, &issuer, 1,
- vflags |
- GNUTLS_VERIFY_DO_NOT_ALLOW_SAME,
- &vtmp);
- if (ret < 0 || vtmp != 0
- || (purpose != NULL
- && !_gnutls_check_key_purpose(issuer, purpose, 0))) {
- gnutls_assert(); /* maybe next one is trusted */
+ ret = gnutls_x509_crt_verify(
+ cert, &issuer, 1,
+ vflags | GNUTLS_VERIFY_DO_NOT_ALLOW_SAME, &vtmp);
+ if (ret < 0 || vtmp != 0 ||
+ (purpose != NULL &&
+ !_gnutls_check_key_purpose(issuer, purpose, 0))) {
+ gnutls_assert(); /* maybe next one is trusted */
_gnutls_cert_log("failed verification with", issuer);
- skip:
+ skip:
gnutls_x509_crt_deinit(issuer);
issuer = NULL;
gnutls_free(tmp.data);
@@ -1130,13 +1106,13 @@ static gnutls_x509_crt_t find_verified_issuer_of(gnutls_pkcs7_t pkcs7,
}
goto cleanup;
- fail:
+fail:
if (issuer) {
gnutls_x509_crt_deinit(issuer);
issuer = NULL;
}
- cleanup:
+cleanup:
gnutls_free(tmp.data);
return issuer;
@@ -1145,11 +1121,10 @@ static gnutls_x509_crt_t find_verified_issuer_of(gnutls_pkcs7_t pkcs7,
/* Finds a certificate that is issued by @issuer -if given-, and matches
* either the serial number or the key ID (both in @info) .
*/
-static gnutls_x509_crt_t find_child_of_with_serial(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_t issuer,
- const char *purpose,
- gnutls_pkcs7_signature_info_st
- * info)
+static gnutls_x509_crt_t
+find_child_of_with_serial(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t issuer,
+ const char *purpose,
+ gnutls_pkcs7_signature_info_st *info)
{
gnutls_x509_crt_t crt = NULL;
int ret, count;
@@ -1178,8 +1153,8 @@ static gnutls_x509_crt_t find_child_of_with_serial(gnutls_pkcs7_t pkcs7,
goto fail;
}
- ret =
- gnutls_x509_crt_import(crt, &tmpdata, GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(crt, &tmpdata,
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -1209,29 +1184,28 @@ static gnutls_x509_crt_t find_child_of_with_serial(gnutls_pkcs7_t pkcs7,
goto skip;
}
- if (tmp_size != info->signer_serial.size
- || memcmp(info->signer_serial.data, tmp,
- tmp_size) != 0) {
+ if (tmp_size != info->signer_serial.size ||
+ memcmp(info->signer_serial.data, tmp, tmp_size) !=
+ 0) {
_gnutls_cert_log("doesn't match serial", crt);
gnutls_assert();
goto skip;
}
} else if (info->issuer_keyid.size > 0) {
tmp_size = sizeof(tmp);
- ret =
- gnutls_x509_crt_get_subject_key_id(crt, tmp,
- &tmp_size, NULL);
+ ret = gnutls_x509_crt_get_subject_key_id(
+ crt, tmp, &tmp_size, NULL);
if (ret < 0) {
gnutls_assert();
goto skip;
}
- if (tmp_size != info->issuer_keyid.size
- || memcmp(info->issuer_keyid.data, tmp,
- tmp_size) != 0) {
+ if (tmp_size != info->issuer_keyid.size ||
+ memcmp(info->issuer_keyid.data, tmp, tmp_size) !=
+ 0) {
_gnutls_cert_log("doesn't match key ID", crt);
gnutls_assert();
- skip:
+ skip:
gnutls_x509_crt_deinit(crt);
crt = NULL;
gnutls_free(tmpdata.data);
@@ -1255,24 +1229,23 @@ static gnutls_x509_crt_t find_child_of_with_serial(gnutls_pkcs7_t pkcs7,
}
goto cleanup;
- fail:
+fail:
if (crt) {
gnutls_x509_crt_deinit(crt);
crt = NULL;
}
- cleanup:
+cleanup:
gnutls_free(tmpdata.data);
return crt;
}
-static
-gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
- gnutls_typed_vdata_st * vdata,
- unsigned vdata_size,
- unsigned vflags,
- gnutls_pkcs7_signature_info_st * info)
+static gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7,
+ gnutls_x509_trust_list_t tl,
+ gnutls_typed_vdata_st *vdata,
+ unsigned vdata_size, unsigned vflags,
+ gnutls_pkcs7_signature_info_st *info)
{
gnutls_x509_crt_t issuer = NULL;
gnutls_x509_crt_t signer = NULL;
@@ -1282,13 +1255,8 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
const char *purpose = NULL;
if (info->issuer_keyid.data) {
- ret =
- gnutls_x509_trust_list_get_issuer_by_subject_key_id(tl,
- NULL,
- &info->
- issuer_keyid,
- &signer,
- 0);
+ ret = gnutls_x509_trust_list_get_issuer_by_subject_key_id(
+ tl, NULL, &info->issuer_keyid, &signer, 0);
if (ret < 0) {
gnutls_assert();
signer = NULL;
@@ -1305,10 +1273,8 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
/* this will give us the issuer of the signer (wtf) */
if (info->issuer_dn.data && signer == NULL) {
- ret =
- gnutls_x509_trust_list_get_issuer_by_dn(tl,
- &info->issuer_dn,
- &issuer, 0);
+ ret = gnutls_x509_trust_list_get_issuer_by_dn(
+ tl, &info->issuer_dn, &issuer, 0);
if (ret < 0) {
gnutls_assert();
signer = NULL;
@@ -1317,9 +1283,8 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
if (issuer) {
/* try to find the actual signer in the list of
* certificates */
- signer =
- find_child_of_with_serial(pkcs7, issuer, purpose,
- info);
+ signer = find_child_of_with_serial(pkcs7, issuer,
+ purpose, info);
if (signer == NULL) {
gnutls_assert();
goto fail;
@@ -1341,10 +1306,8 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
/* if the signer cannot be verified from our trust list, make a chain of certificates
* starting from the identified signer, to a root we know. */
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &signer, 1, vdata,
- vdata_size, vflags,
- &vtmp, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ tl, &signer, 1, vdata, vdata_size, vflags, &vtmp, NULL);
if (ret < 0 || vtmp != 0) {
gnutls_x509_crt_t prev = NULL;
@@ -1356,13 +1319,12 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
}
prev = issuer;
- issuer =
- find_verified_issuer_of(pkcs7, issuer,
- purpose, vflags);
+ issuer = find_verified_issuer_of(
+ pkcs7, issuer, purpose, vflags);
- if (issuer != NULL
- && gnutls_x509_crt_check_issuer(issuer,
- issuer)) {
+ if (issuer != NULL &&
+ gnutls_x509_crt_check_issuer(issuer,
+ issuer)) {
if (prev && prev != signer)
gnutls_x509_crt_deinit(prev);
prev = issuer;
@@ -1370,38 +1332,33 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
}
} while (issuer != NULL);
- issuer = prev; /* the last we have seen */
+ issuer = prev; /* the last we have seen */
if (issuer == NULL) {
gnutls_assert();
goto fail;
}
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &issuer, 1,
- vdata,
- vdata_size,
- vflags, &vtmp,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ tl, &issuer, 1, vdata, vdata_size, vflags,
+ &vtmp, NULL);
if (ret < 0 || vtmp != 0) {
/* could not construct a valid chain */
- _gnutls_reason_log
- ("signer's chain failed trust list verification",
- vtmp);
+ _gnutls_reason_log(
+ "signer's chain failed trust list verification",
+ vtmp);
gnutls_assert();
goto fail;
}
}
} else {
/* verify that the signer we got is trusted */
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &signer, 1, vdata,
- vdata_size, vflags,
- &vtmp, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ tl, &signer, 1, vdata, vdata_size, vflags, &vtmp, NULL);
if (ret < 0 || vtmp != 0) {
/* could not construct a valid chain */
- _gnutls_reason_log
- ("signer failed trust list verification", vtmp);
+ _gnutls_reason_log(
+ "signer failed trust list verification", vtmp);
gnutls_assert();
goto fail;
}
@@ -1414,7 +1371,7 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
goto cleanup;
- fail:
+fail:
if (signer != NULL) {
if (issuer == signer)
issuer = NULL;
@@ -1422,7 +1379,7 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
signer = NULL;
}
- cleanup:
+cleanup:
if (issuer != NULL) {
gnutls_x509_crt_deinit(issuer);
issuer = NULL;
@@ -1454,12 +1411,10 @@ gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
*
* Since: 3.4.2
**/
-int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7,
- gnutls_x509_trust_list_t tl,
- gnutls_typed_vdata_st * vdata,
- unsigned int vdata_size,
- unsigned idx,
- const gnutls_datum_t * data, unsigned flags)
+int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t tl,
+ gnutls_typed_vdata_st *vdata, unsigned int vdata_size,
+ unsigned idx, const gnutls_datum_t *data,
+ unsigned flags)
{
int count, ret;
gnutls_datum_t tmpdata = { NULL, 0 };
@@ -1473,8 +1428,8 @@ int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7,
if (pkcs7 == NULL)
return GNUTLS_E_INVALID_REQUEST;
- ret =
- asn1_number_of_elements(pkcs7->signed_data, "signerInfos", &count);
+ ret = asn1_number_of_elements(pkcs7->signed_data, "signerInfos",
+ &count);
if (ret != ASN1_SUCCESS || idx + 1 > (unsigned)count) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
@@ -1496,10 +1451,9 @@ int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7,
signer = find_signer(pkcs7, tl, vdata, vdata_size, flags, &info);
if (signer) {
- ret =
- gnutls_x509_crt_verify_data3(signer, info.algo, vdata,
- vdata_size, &sigdata,
- &info.sig, flags);
+ ret = gnutls_x509_crt_verify_data3(signer, info.algo, vdata,
+ vdata_size, &sigdata,
+ &info.sig, flags);
if (ret < 0) {
_gnutls_cert_log("failed struct verification with",
signer);
@@ -1511,7 +1465,7 @@ int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7,
ret = GNUTLS_E_PK_SIG_VERIFY_FAILED;
}
- cleanup:
+cleanup:
gnutls_free(tmpdata.data);
gnutls_free(sigdata.data);
gnutls_pkcs7_signature_info_deinit(&info);
@@ -1530,8 +1484,8 @@ static void disable_opt_fields(gnutls_pkcs7_t pkcs7)
(void)asn1_write_value(pkcs7->signed_data, "crls", NULL, 0);
}
- result =
- asn1_number_of_elements(pkcs7->signed_data, "certificates", &count);
+ result = asn1_number_of_elements(pkcs7->signed_data, "certificates",
+ &count);
if (result != ASN1_SUCCESS || count == 0) {
(void)asn1_write_value(pkcs7->signed_data, "certificates", NULL,
0);
@@ -1549,19 +1503,16 @@ static int reencode(gnutls_pkcs7_t pkcs7)
/* Replace the old content with the new
*/
- result =
- _gnutls_x509_der_encode_and_copy(pkcs7->signed_data, "",
- pkcs7->pkcs7, "content",
- 0);
+ result = _gnutls_x509_der_encode_and_copy(
+ pkcs7->signed_data, "", pkcs7->pkcs7, "content", 0);
if (result < 0) {
return gnutls_assert_val(result);
}
/* Write the content type of the signed data
*/
- result =
- asn1_write_value(pkcs7->pkcs7, "contentType",
- SIGNED_DATA_OID, 1);
+ result = asn1_write_value(pkcs7->pkcs7, "contentType",
+ SIGNED_DATA_OID, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1590,10 +1541,8 @@ static int reencode(gnutls_pkcs7_t pkcs7)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
int ret;
if (pkcs7 == NULL)
@@ -1624,9 +1573,8 @@ gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7,
*
* Since: 3.1.3
**/
-int
-gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
int ret;
if (pkcs7 == NULL)
@@ -1641,15 +1589,15 @@ gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7,
/* Creates an empty signed data structure in the pkcs7
* structure and returns a handle to the signed data.
*/
-static int create_empty_signed_data(asn1_node pkcs7, asn1_node * sdata)
+static int create_empty_signed_data(asn1_node pkcs7, asn1_node *sdata)
{
int result;
*sdata = NULL;
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.pkcs-7-SignedData",
- sdata)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-SignedData", sdata)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
@@ -1668,9 +1616,8 @@ static int create_empty_signed_data(asn1_node pkcs7, asn1_node * sdata)
*/
/* id-data */
- result =
- asn1_write_value(*sdata, "encapContentInfo.eContentType",
- DIGESTED_DATA_OID, 1);
+ result = asn1_write_value(*sdata, "encapContentInfo.eContentType",
+ DIGESTED_DATA_OID, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1695,10 +1642,9 @@ static int create_empty_signed_data(asn1_node pkcs7, asn1_node * sdata)
return 0;
- cleanup:
+cleanup:
asn1_delete_structure(sdata);
return result;
-
}
/**
@@ -1712,7 +1658,7 @@ static int create_empty_signed_data(asn1_node pkcs7, asn1_node * sdata)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt)
+int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t *crt)
{
int result;
@@ -1726,8 +1672,8 @@ int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt)
/* The pkcs7 structure is new, so create the
* signedData.
*/
- result =
- create_empty_signed_data(pkcs7->pkcs7, &pkcs7->signed_data);
+ result = create_empty_signed_data(pkcs7->pkcs7,
+ &pkcs7->signed_data);
if (result < 0) {
gnutls_assert();
return result;
@@ -1744,19 +1690,17 @@ int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt)
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data, "certificates.?LAST",
- "certificate", 1);
+ result = asn1_write_value(pkcs7->signed_data, "certificates.?LAST",
+ "certificate", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data,
- "certificates.?LAST.certificate", crt->data,
- crt->size);
+ result = asn1_write_value(pkcs7->signed_data,
+ "certificates.?LAST.certificate", crt->data,
+ crt->size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1765,7 +1709,7 @@ int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crt)
result = 0;
- cleanup:
+cleanup:
return result;
}
@@ -1840,7 +1784,7 @@ int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t pkcs7, int indx)
return 0;
- cleanup:
+cleanup:
return result;
}
@@ -1861,9 +1805,8 @@ int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t pkcs7, int indx)
*
* Since: 3.4.2
**/
-int
-gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7,
- unsigned indx, gnutls_datum_t * crl)
+int gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7, unsigned indx,
+ gnutls_datum_t *crl)
{
int result;
char root2[MAX_NAME_SIZE];
@@ -1886,9 +1829,8 @@ gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7,
/* Get the raw CRL
*/
- result =
- asn1_der_decoding_startEnd(pkcs7->signed_data, tmp.data, tmp.size,
- root2, &start, &end);
+ result = asn1_der_decoding_startEnd(pkcs7->signed_data, tmp.data,
+ tmp.size, root2, &start, &end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -1900,7 +1842,7 @@ gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7,
result = _gnutls_set_datum(crl, &tmp.data[start], end);
- cleanup:
+cleanup:
_gnutls_free_datum(&tmp);
return result;
}
@@ -1920,9 +1862,8 @@ gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7,
* returned. After the last crl has been read
* %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.
**/
-int
-gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t pkcs7,
- unsigned indx, void *crl, size_t *crl_size)
+int gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t pkcs7, unsigned indx, void *crl,
+ size_t *crl_size)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
@@ -1943,7 +1884,7 @@ gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t pkcs7,
if (crl)
memcpy(crl, tmp.data, tmp.size);
- cleanup:
+cleanup:
_gnutls_free_datum(&tmp);
return ret;
}
@@ -1970,11 +1911,10 @@ int gnutls_pkcs7_get_crl_count(gnutls_pkcs7_t pkcs7)
result = asn1_number_of_elements(pkcs7->signed_data, "crls", &count);
if (result != ASN1_SUCCESS) {
gnutls_assert();
- return 0; /* no crls */
+ return 0; /* no crls */
}
return count;
-
}
/**
@@ -1987,7 +1927,7 @@ int gnutls_pkcs7_get_crl_count(gnutls_pkcs7_t pkcs7)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl)
+int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t *crl)
{
int result;
@@ -2001,8 +1941,8 @@ int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl)
/* The pkcs7 structure is new, so create the
* signedData.
*/
- result =
- create_empty_signed_data(pkcs7->pkcs7, &pkcs7->signed_data);
+ result = create_empty_signed_data(pkcs7->pkcs7,
+ &pkcs7->signed_data);
if (result < 0) {
gnutls_assert();
return result;
@@ -2019,9 +1959,8 @@ int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl)
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data, "crls.?LAST", crl->data,
- crl->size);
+ result = asn1_write_value(pkcs7->signed_data, "crls.?LAST", crl->data,
+ crl->size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2030,7 +1969,7 @@ int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t * crl)
result = 0;
- cleanup:
+cleanup:
return result;
}
@@ -2104,7 +2043,7 @@ int gnutls_pkcs7_delete_crl(gnutls_pkcs7_t pkcs7, int indx)
return 0;
- cleanup:
+cleanup:
return result;
}
@@ -2134,9 +2073,8 @@ static int write_signer_id(asn1_node c2, const char *root,
}
serial_size = sizeof(serial);
- result =
- gnutls_x509_crt_get_subject_key_id(signer, serial,
- &serial_size, NULL);
+ result = gnutls_x509_crt_get_subject_key_id(signer, serial,
+ &serial_size, NULL);
if (result < 0)
return gnutls_assert_val(result);
@@ -2148,8 +2086,8 @@ static int write_signer_id(asn1_node c2, const char *root,
}
} else {
serial_size = sizeof(serial);
- result =
- gnutls_x509_crt_get_serial(signer, serial, &serial_size);
+ result = gnutls_x509_crt_get_serial(signer, serial,
+ &serial_size);
if (result < 0)
return gnutls_assert_val(result);
@@ -2170,9 +2108,8 @@ static int write_signer_id(asn1_node c2, const char *root,
snprintf(name, sizeof(name),
"%s.sid.issuerAndSerialNumber.issuer", root);
- result =
- asn1_copy_node(c2, name, signer->cert,
- "tbsCertificate.issuer");
+ result = asn1_copy_node(c2, name, signer->cert,
+ "tbsCertificate.issuer");
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -2217,9 +2154,8 @@ static int add_attrs(asn1_node c2, const char *root, gnutls_pkcs7_attrs_t attrs,
snprintf(name, sizeof(name), "%s.?LAST.values.?1",
root);
- result =
- asn1_write_value(c2, name, p->data.data,
- p->data.size);
+ result = asn1_write_value(c2, name, p->data.data,
+ p->data.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -2233,8 +2169,7 @@ static int add_attrs(asn1_node c2, const char *root, gnutls_pkcs7_attrs_t attrs,
}
static int write_attributes(asn1_node c2, const char *root,
- const gnutls_datum_t * data,
- const mac_entry_st * me,
+ const gnutls_datum_t *data, const mac_entry_st *me,
gnutls_pkcs7_attrs_t other_attrs, unsigned flags)
{
char name[256];
@@ -2315,10 +2250,8 @@ static int write_attributes(asn1_node c2, const char *root,
return ret;
}
- ret =
- _gnutls_x509_get_raw_field(c2,
- "encapContentInfo.eContentType",
- &tmp);
+ ret = _gnutls_x509_get_raw_field(
+ c2, "encapContentInfo.eContentType", &tmp);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -2337,9 +2270,8 @@ static int write_attributes(asn1_node c2, const char *root,
/* If we add any attribute we should add them all */
/* Add hash */
digest_size = _gnutls_hash_get_algo_len(me);
- ret =
- gnutls_hash_fast(MAC_TO_DIG(me->id), data->data, data->size,
- digest);
+ ret = gnutls_hash_fast(MAC_TO_DIG(me->id), data->data,
+ data->size, digest);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -2353,10 +2285,8 @@ static int write_attributes(asn1_node c2, const char *root,
}
snprintf(name, sizeof(name), "%s.?LAST", root);
- ret =
- _gnutls_x509_encode_and_write_attribute(ATTR_MESSAGE_DIGEST,
- c2, name, digest,
- digest_size, 1);
+ ret = _gnutls_x509_encode_and_write_attribute(
+ ATTR_MESSAGE_DIGEST, c2, name, digest, digest_size, 1);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -2391,10 +2321,8 @@ static int write_attributes(asn1_node c2, const char *root,
*
* Since: 3.4.2
**/
-int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
- gnutls_x509_crt_t signer,
- gnutls_privkey_t signer_key,
- const gnutls_datum_t * data,
+int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t signer,
+ gnutls_privkey_t signer_key, const gnutls_datum_t *data,
gnutls_pkcs7_attrs_t signed_attrs,
gnutls_pkcs7_attrs_t unsigned_attrs,
gnutls_digest_algorithm_t dig, unsigned flags)
@@ -2411,10 +2339,9 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
return GNUTLS_E_INVALID_REQUEST;
if (pkcs7->signed_data == NULL) {
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-7-SignedData",
- &pkcs7->signed_data);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-7-SignedData",
+ &pkcs7->signed_data);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -2434,19 +2361,17 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data,
- "encapContentInfo.eContentType", DATA_OID, 0);
+ result = asn1_write_value(pkcs7->signed_data,
+ "encapContentInfo.eContentType", DATA_OID, 0);
if (result != ASN1_SUCCESS) {
ret = _gnutls_asn2err(result);
goto cleanup;
}
- if ((flags & GNUTLS_PKCS7_EMBED_DATA) && data->data) { /* embed data */
- ret =
- _gnutls_x509_write_string(pkcs7->signed_data,
- "encapContentInfo.eContent", data,
- ASN1_ETYPE_OCTET_STRING);
+ if ((flags & GNUTLS_PKCS7_EMBED_DATA) && data->data) { /* embed data */
+ ret = _gnutls_x509_write_string(pkcs7->signed_data,
+ "encapContentInfo.eContent",
+ data, ASN1_ETYPE_OCTET_STRING);
if (ret < 0) {
goto cleanup;
}
@@ -2461,18 +2386,17 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
}
/* append digest info algorithm */
- result =
- asn1_write_value(pkcs7->signed_data, "digestAlgorithms", "NEW", 1);
+ result = asn1_write_value(pkcs7->signed_data, "digestAlgorithms", "NEW",
+ 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data,
- "digestAlgorithms.?LAST.algorithm",
- _gnutls_x509_digest_to_oid(me), 1);
+ result = asn1_write_value(pkcs7->signed_data,
+ "digestAlgorithms.?LAST.algorithm",
+ _gnutls_x509_digest_to_oid(me), 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -2490,19 +2414,17 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data, "signerInfos.?LAST.version",
- &one, 1);
+ result = asn1_write_value(pkcs7->signed_data,
+ "signerInfos.?LAST.version", &one, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data,
- "signerInfos.?LAST.digestAlgorithm.algorithm",
- _gnutls_x509_digest_to_oid(me), 1);
+ result = asn1_write_value(pkcs7->signed_data,
+ "signerInfos.?LAST.digestAlgorithm.algorithm",
+ _gnutls_x509_digest_to_oid(me), 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -2513,26 +2435,23 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
"signerInfos.?LAST.digestAlgorithm.parameters",
NULL, 0);
- ret =
- write_signer_id(pkcs7->signed_data, "signerInfos.?LAST", signer,
- flags);
+ ret = write_signer_id(pkcs7->signed_data, "signerInfos.?LAST", signer,
+ flags);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- add_attrs(pkcs7->signed_data, "signerInfos.?LAST.unsignedAttrs",
- unsigned_attrs, 0);
+ ret = add_attrs(pkcs7->signed_data, "signerInfos.?LAST.unsignedAttrs",
+ unsigned_attrs, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- write_attributes(pkcs7->signed_data,
- "signerInfos.?LAST.signedAttrs", data, me,
- signed_attrs, flags);
+ ret = write_attributes(pkcs7->signed_data,
+ "signerInfos.?LAST.signedAttrs", data, me,
+ signed_attrs, flags);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2564,8 +2483,8 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
se = _gnutls_pk_to_sign_entry(params.pk, dig);
if (se == NULL) {
- ret =
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ ret = gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
goto cleanup;
}
@@ -2575,10 +2494,9 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
* because some implementations cannot cope with the "expected" signature values.
*/
params.legacy = 1;
- ret =
- _gnutls_x509_write_sign_params(pkcs7->signed_data,
- "signerInfos.?LAST.signatureAlgorithm",
- se, &params);
+ ret = _gnutls_x509_write_sign_params(
+ pkcs7->signed_data, "signerInfos.?LAST.signatureAlgorithm", se,
+ &params);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2587,9 +2505,8 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
sigalgo = se->id;
/* sign the data */
- ret =
- figure_pkcs7_sigdata(pkcs7, "signerInfos.?LAST", data, sigalgo,
- &sigdata);
+ ret = figure_pkcs7_sigdata(pkcs7, "signerInfos.?LAST", data, sigalgo,
+ &sigdata);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2597,16 +2514,16 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
FIX_SIGN_PARAMS(params, flags, dig);
- ret = privkey_sign_and_hash_data(signer_key, se,
- &sigdata, &signature, &params);
+ ret = privkey_sign_and_hash_data(signer_key, se, &sigdata, &signature,
+ &params);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- result =
- asn1_write_value(pkcs7->signed_data, "signerInfos.?LAST.signature",
- signature.data, signature.size);
+ result = asn1_write_value(pkcs7->signed_data,
+ "signerInfos.?LAST.signature", signature.data,
+ signature.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -2615,7 +2532,7 @@ int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(sigdata.data);
gnutls_free(signature.data);
return ret;
diff --git a/lib/x509/pkcs7_int.h b/lib/x509/pkcs7_int.h
index b691ae95a9..77427c1e07 100644
--- a/lib/x509/pkcs7_int.h
+++ b/lib/x509/pkcs7_int.h
@@ -22,21 +22,22 @@
*/
#ifndef GNUTLS_LIB_X509_PKCS7_INT_H
-# define GNUTLS_LIB_X509_PKCS7_INT_H
+#define GNUTLS_LIB_X509_PKCS7_INT_H
-# include <gnutls/x509.h>
+#include <gnutls/x509.h>
/* PKCS #7
*/
-# define DATA_OID "1.2.840.113549.1.7.1"
-# define ENC_DATA_OID "1.2.840.113549.1.7.6"
+#define DATA_OID "1.2.840.113549.1.7.1"
+#define ENC_DATA_OID "1.2.840.113549.1.7.6"
-# define SIGNED_DATA_OID "1.2.840.113549.1.7.2"
-# define DIGESTED_DATA_OID "1.2.840.113549.1.7.5"
+#define SIGNED_DATA_OID "1.2.840.113549.1.7.2"
+#define DIGESTED_DATA_OID "1.2.840.113549.1.7.5"
typedef enum schema_id {
- PBES2_GENERIC = 1, /* when the algorithm is unknown, temporal use when reading only */
- PBES2_DES, /* the stuff in PKCS #5 */
+ PBES2_GENERIC =
+ 1, /* when the algorithm is unknown, temporal use when reading only */
+ PBES2_DES, /* the stuff in PKCS #5 */
PBES2_3DES,
PBES2_AES_128,
PBES2_AES_192,
@@ -46,10 +47,10 @@ typedef enum schema_id {
PBES2_GOST28147_89_CPB,
PBES2_GOST28147_89_CPC,
PBES2_GOST28147_89_CPD,
- PKCS12_3DES_SHA1, /* the stuff in PKCS #12 */
+ PKCS12_3DES_SHA1, /* the stuff in PKCS #12 */
PKCS12_ARCFOUR_SHA1,
PKCS12_RC2_40_SHA1,
- PBES1_DES_MD5 /* openssl before 1.1.0 uses that by default */
+ PBES1_DES_MD5 /* openssl before 1.1.0 uses that by default */
} schema_id;
struct pkcs_cipher_schema_st {
@@ -71,66 +72,58 @@ struct pbe_enc_params {
gnutls_cipher_algorithm_t cipher;
uint8_t iv[MAX_CIPHER_BLOCK_SIZE];
int iv_size;
- char pbes2_oid[MAX_OID_SIZE]; /* when reading params, the OID is stored for info purposes */
+ char pbes2_oid
+ [MAX_OID_SIZE]; /* when reading params, the OID is stored for info purposes */
};
-int
-_gnutls_decrypt_pbes1_des_md5_data(const char *password,
- unsigned password_len,
- const struct pbkdf2_params *kdf_params,
- const struct pbe_enc_params *enc_params,
- const gnutls_datum_t * encrypted_data,
- gnutls_datum_t * decrypted_data);
+int _gnutls_decrypt_pbes1_des_md5_data(const char *password,
+ unsigned password_len,
+ const struct pbkdf2_params *kdf_params,
+ const struct pbe_enc_params *enc_params,
+ const gnutls_datum_t *encrypted_data,
+ gnutls_datum_t *decrypted_data);
int _gnutls_check_pkcs_cipher_schema(const char *oid);
-int
-_gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
- const char *root, const char *password,
- const struct pbkdf2_params *kdf_params,
- const struct pbe_enc_params *enc_params,
- gnutls_datum_t * decrypted_data);
+int _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
+ const char *root, const char *password,
+ const struct pbkdf2_params *kdf_params,
+ const struct pbe_enc_params *enc_params,
+ gnutls_datum_t *decrypted_data);
-int
-_gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t * plain,
- const struct pbe_enc_params *enc_params,
- const gnutls_datum_t * key,
- gnutls_datum_t * encrypted);
+int _gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t *plain,
+ const struct pbe_enc_params *enc_params,
+ const gnutls_datum_t *key,
+ gnutls_datum_t *encrypted);
-int _gnutls_pkcs7_decrypt_data(const gnutls_datum_t * data,
- const char *password, gnutls_datum_t * dec);
+int _gnutls_pkcs7_decrypt_data(const gnutls_datum_t *data, const char *password,
+ gnutls_datum_t *dec);
-int _gnutls_read_pbkdf1_params(const uint8_t * data, int data_size,
+int _gnutls_read_pbkdf1_params(const uint8_t *data, int data_size,
struct pbkdf2_params *kdf_params,
struct pbe_enc_params *enc_params);
-int
-_gnutls_read_pkcs_schema_params(schema_id * schema, const char *password,
- const uint8_t * data, int data_size,
- struct pbkdf2_params *kdf_params,
- struct pbe_enc_params *enc_params);
-
-int
-_gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
- const char *where,
- const struct pbkdf2_params *kdf_params,
- const struct pbe_enc_params *enc_params);
-
-int
-_gnutls_pkcs_generate_key(schema_id schema,
- const char *password,
- struct pbkdf2_params *kdf_params,
- struct pbe_enc_params *enc_params,
- gnutls_datum_t * key);
+int _gnutls_read_pkcs_schema_params(schema_id *schema, const char *password,
+ const uint8_t *data, int data_size,
+ struct pbkdf2_params *kdf_params,
+ struct pbe_enc_params *enc_params);
+
+int _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,
+ const char *where,
+ const struct pbkdf2_params *kdf_params,
+ const struct pbe_enc_params *enc_params);
+
+int _gnutls_pkcs_generate_key(schema_id schema, const char *password,
+ struct pbkdf2_params *kdf_params,
+ struct pbe_enc_params *enc_params,
+ gnutls_datum_t *key);
int _gnutls_pkcs_flags_to_schema(unsigned int flags);
-int _gnutls_pkcs7_encrypt_data(schema_id schema,
- const gnutls_datum_t * data,
- const char *password, gnutls_datum_t * enc);
+int _gnutls_pkcs7_encrypt_data(schema_id schema, const gnutls_datum_t *data,
+ const char *password, gnutls_datum_t *enc);
-int
-_gnutls_pkcs7_data_enc_info(const gnutls_datum_t * data,
- const struct pkcs_cipher_schema_st **p,
- struct pbkdf2_params *kdf_params, char **oid);
+int _gnutls_pkcs7_data_enc_info(const gnutls_datum_t *data,
+ const struct pkcs_cipher_schema_st **p,
+ struct pbkdf2_params *kdf_params, char **oid);
-#endif /* GNUTLS_LIB_X509_PKCS7_INT_H */
+#endif /* GNUTLS_LIB_X509_PKCS7_INT_H */
diff --git a/lib/x509/privkey.c b/lib/x509/privkey.c
index 19082b74db..aae1c3e062 100644
--- a/lib/x509/privkey.c
+++ b/lib/x509/privkey.c
@@ -45,7 +45,7 @@
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_x509_privkey_init(gnutls_x509_privkey_t * key)
+int gnutls_x509_privkey_init(gnutls_x509_privkey_t *key)
{
*key = NULL;
FAIL_IF_LIB_ERROR;
@@ -54,7 +54,7 @@ int gnutls_x509_privkey_init(gnutls_x509_privkey_t * key)
if (*key) {
(*key)->key = NULL;
- return 0; /* success */
+ return 0; /* success */
}
return GNUTLS_E_MEMORY_ERROR;
@@ -98,8 +98,8 @@ void gnutls_x509_privkey_deinit(gnutls_x509_privkey_t key)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_cpy(gnutls_x509_privkey_t dst, gnutls_x509_privkey_t src)
+int gnutls_x509_privkey_cpy(gnutls_x509_privkey_t dst,
+ gnutls_x509_privkey_t src)
{
int ret;
@@ -124,9 +124,8 @@ gnutls_x509_privkey_cpy(gnutls_x509_privkey_t dst, gnutls_x509_privkey_t src)
/* Converts an RSA PKCS#1 key to
* an internal structure (gnutls_private_key)
*/
-asn1_node
-_gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t * raw_key,
- gnutls_x509_privkey_t pkey)
+asn1_node _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t *raw_key,
+ gnutls_x509_privkey_t pkey)
{
int result;
asn1_node pkey_asn;
@@ -140,9 +139,8 @@ _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t * raw_key,
return NULL;
}
- result =
- _asn1_strict_der_decode(&pkey_asn, raw_key->data, raw_key->size,
- NULL);
+ result = _asn1_strict_der_decode(&pkey_asn, raw_key->data,
+ raw_key->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
goto error;
@@ -209,7 +207,7 @@ _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t * raw_key,
return pkey_asn;
- error:
+error:
asn1_delete_structure2(&pkey_asn, ASN1_DELETE_FLAG_ZEROIZE);
gnutls_pk_params_clear(&pkey->params);
gnutls_pk_params_release(&pkey->params);
@@ -219,11 +217,10 @@ _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t * raw_key,
/* Converts an ECC key to
* an internal structure (gnutls_private_key)
*/
-int
-_gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
- const gnutls_datum_t * raw_key,
- gnutls_x509_privkey_t pkey,
- gnutls_ecc_curve_t curve)
+int _gnutls_privkey_decode_ecc_key(asn1_node *pkey_asn,
+ const gnutls_datum_t *raw_key,
+ gnutls_x509_privkey_t pkey,
+ gnutls_ecc_curve_t curve)
{
int ret;
unsigned int version;
@@ -237,17 +234,15 @@ _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
gnutls_pk_params_init(&pkey->params);
- if ((ret =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.ECPrivateKey",
- pkey_asn)) != ASN1_SUCCESS) {
+ if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.ECPrivateKey", pkey_asn)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret =
- _asn1_strict_der_decode(pkey_asn, raw_key->data, raw_key->size,
- NULL);
+ ret = _asn1_strict_der_decode(pkey_asn, raw_key->data, raw_key->size,
+ NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -261,8 +256,9 @@ _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
}
if (version != 1) {
- _gnutls_debug_log
- ("ECC private key version %u is not supported\n", version);
+ _gnutls_debug_log(
+ "ECC private key version %u is not supported\n",
+ version);
gnutls_assert();
ret = GNUTLS_E_ECC_UNSUPPORTED_CURVE;
goto error;
@@ -271,9 +267,8 @@ _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
/* read the curve */
if (curve == GNUTLS_ECC_CURVE_INVALID) {
oid_size = sizeof(oid);
- ret =
- asn1_read_value(*pkey_asn, "parameters.namedCurve", oid,
- &oid_size);
+ ret = asn1_read_value(*pkey_asn, "parameters.namedCurve", oid,
+ &oid_size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -299,10 +294,9 @@ _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
goto error;
}
- ret =
- _gnutls_ecc_ansi_x962_import(out.data, out.size,
- &pkey->params.params[ECC_X],
- &pkey->params.params[ECC_Y]);
+ ret = _gnutls_ecc_ansi_x962_import(out.data, out.size,
+ &pkey->params.params[ECC_X],
+ &pkey->params.params[ECC_Y]);
_gnutls_free_datum(&out);
if (ret < 0) {
@@ -312,9 +306,8 @@ _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
pkey->params.params_nr += 2;
/* read the private key */
- ret =
- _gnutls_x509_read_key_int(*pkey_asn, "privateKey",
- &pkey->params.params[ECC_K]);
+ ret = _gnutls_x509_read_key_int(*pkey_asn, "privateKey",
+ &pkey->params.params[ECC_K]);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -324,16 +317,15 @@ _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn,
return 0;
- error:
+error:
asn1_delete_structure2(pkey_asn, ASN1_DELETE_FLAG_ZEROIZE);
gnutls_pk_params_clear(&pkey->params);
gnutls_pk_params_release(&pkey->params);
return ret;
-
}
-static asn1_node
-decode_dsa_key(const gnutls_datum_t * raw_key, gnutls_x509_privkey_t pkey)
+static asn1_node decode_dsa_key(const gnutls_datum_t *raw_key,
+ gnutls_x509_privkey_t pkey)
{
int result;
asn1_node dsa_asn;
@@ -350,9 +342,8 @@ decode_dsa_key(const gnutls_datum_t * raw_key, gnutls_x509_privkey_t pkey)
gnutls_pk_params_init(&pkey->params);
- result =
- _asn1_strict_der_decode(&dsa_asn, raw_key->data, raw_key->size,
- NULL);
+ result = _asn1_strict_der_decode(&dsa_asn, raw_key->data, raw_key->size,
+ NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
goto error;
@@ -407,12 +398,11 @@ decode_dsa_key(const gnutls_datum_t * raw_key, gnutls_x509_privkey_t pkey)
return dsa_asn;
- error:
+error:
asn1_delete_structure2(&dsa_asn, ASN1_DELETE_FLAG_ZEROIZE);
gnutls_pk_params_clear(&pkey->params);
gnutls_pk_params_release(&pkey->params);
return NULL;
-
}
#define PEM_KEY_DSA "DSA PRIVATE KEY"
@@ -439,10 +429,9 @@ decode_dsa_key(const gnutls_datum_t * raw_key, gnutls_x509_privkey_t pkey)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format)
+int gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format)
{
int result = 0, need_free = 0;
gnutls_datum_t _data;
@@ -464,16 +453,14 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
char *ptr;
uint8_t *begin_ptr;
- ptr =
- memmem(data->data, data->size, "PRIVATE KEY-----",
- sizeof("PRIVATE KEY-----") - 1);
+ ptr = memmem(data->data, data->size, "PRIVATE KEY-----",
+ sizeof("PRIVATE KEY-----") - 1);
result = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
if (ptr != NULL) {
- left =
- data->size - ((ptrdiff_t)ptr -
- (ptrdiff_t)data->data);
+ left = data->size -
+ ((ptrdiff_t)ptr - (ptrdiff_t)data->data);
if (data->size - left > MAX_PEM_HEADER_SIZE) {
ptr -= MAX_PEM_HEADER_SIZE;
@@ -483,62 +470,54 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
left = data->size;
}
- ptr =
- memmem(ptr, left, "-----BEGIN ",
- sizeof("-----BEGIN ") - 1);
+ ptr = memmem(ptr, left, "-----BEGIN ",
+ sizeof("-----BEGIN ") - 1);
if (ptr != NULL) {
- begin_ptr = (uint8_t *) ptr;
- left =
- data->size - ((ptrdiff_t)begin_ptr -
- (ptrdiff_t)data->data);
+ begin_ptr = (uint8_t *)ptr;
+ left = data->size - ((ptrdiff_t)begin_ptr -
+ (ptrdiff_t)data->data);
ptr += sizeof("-----BEGIN ") - 1;
- if (left > sizeof(PEM_KEY_RSA)
- && memcmp(ptr, PEM_KEY_RSA,
- sizeof(PEM_KEY_RSA) - 1) == 0) {
- result =
- _gnutls_fbase64_decode(PEM_KEY_RSA,
- begin_ptr,
- left,
- &_data);
+ if (left > sizeof(PEM_KEY_RSA) &&
+ memcmp(ptr, PEM_KEY_RSA,
+ sizeof(PEM_KEY_RSA) - 1) == 0) {
+ result = _gnutls_fbase64_decode(
+ PEM_KEY_RSA, begin_ptr, left,
+ &_data);
if (result >= 0)
key->params.algo =
- GNUTLS_PK_RSA;
- } else if (left > sizeof(PEM_KEY_ECC)
- && memcmp(ptr, PEM_KEY_ECC,
- sizeof(PEM_KEY_ECC) - 1) ==
- 0) {
- result =
- _gnutls_fbase64_decode(PEM_KEY_ECC,
- begin_ptr,
- left,
- &_data);
+ GNUTLS_PK_RSA;
+ } else if (left > sizeof(PEM_KEY_ECC) &&
+ memcmp(ptr, PEM_KEY_ECC,
+ sizeof(PEM_KEY_ECC) - 1) ==
+ 0) {
+ result = _gnutls_fbase64_decode(
+ PEM_KEY_ECC, begin_ptr, left,
+ &_data);
if (result >= 0)
key->params.algo = GNUTLS_PK_EC;
- } else if (left > sizeof(PEM_KEY_DSA)
- && memcmp(ptr, PEM_KEY_DSA,
- sizeof(PEM_KEY_DSA) - 1) ==
- 0) {
- result =
- _gnutls_fbase64_decode(PEM_KEY_DSA,
- begin_ptr,
- left,
- &_data);
+ } else if (left > sizeof(PEM_KEY_DSA) &&
+ memcmp(ptr, PEM_KEY_DSA,
+ sizeof(PEM_KEY_DSA) - 1) ==
+ 0) {
+ result = _gnutls_fbase64_decode(
+ PEM_KEY_DSA, begin_ptr, left,
+ &_data);
if (result >= 0)
key->params.algo =
- GNUTLS_PK_DSA;
+ GNUTLS_PK_DSA;
}
- if (key->params.algo == GNUTLS_PK_UNKNOWN
- && left >= sizeof(PEM_KEY_PKCS8)) {
- if (memcmp
- (ptr, PEM_KEY_PKCS8,
- sizeof(PEM_KEY_PKCS8) - 1) == 0) {
- result =
- _gnutls_fbase64_decode
- (PEM_KEY_PKCS8, begin_ptr,
- left, &_data);
+ if (key->params.algo == GNUTLS_PK_UNKNOWN &&
+ left >= sizeof(PEM_KEY_PKCS8)) {
+ if (memcmp(ptr, PEM_KEY_PKCS8,
+ sizeof(PEM_KEY_PKCS8) - 1) ==
+ 0) {
+ result = _gnutls_fbase64_decode(
+ PEM_KEY_PKCS8,
+ begin_ptr, left,
+ &_data);
if (result >= 0) {
/* signal for PKCS #8 keys */
key->params.algo = -1;
@@ -546,7 +525,6 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
}
}
}
-
}
if (result < 0) {
@@ -562,10 +540,9 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
}
key->expanded = 1;
- if (key->params.algo == (gnutls_pk_algorithm_t) - 1) {
- result =
- gnutls_x509_privkey_import_pkcs8(key, data, format,
- NULL, GNUTLS_PKCS_PLAIN);
+ if (key->params.algo == (gnutls_pk_algorithm_t)-1) {
+ result = gnutls_x509_privkey_import_pkcs8(
+ key, data, format, NULL, GNUTLS_PKCS_PLAIN);
if (result < 0) {
gnutls_assert();
key->key = NULL;
@@ -583,8 +560,8 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
if (key->key == NULL)
gnutls_assert();
} else if (key->params.algo == GNUTLS_PK_EC) {
- result =
- _gnutls_privkey_decode_ecc_key(&key->key, &_data, key, 0);
+ result = _gnutls_privkey_decode_ecc_key(&key->key, &_data, key,
+ 0);
if (result < 0) {
gnutls_assert();
key->key = NULL;
@@ -601,15 +578,13 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
key->key = decode_dsa_key(&_data, key);
if (key->key == NULL) {
key->params.algo = GNUTLS_PK_EC;
- result =
- _gnutls_privkey_decode_ecc_key(&key->key,
- &_data, key,
- 0);
+ result = _gnutls_privkey_decode_ecc_key(
+ &key->key, &_data, key, 0);
if (result < 0) {
result =
- gnutls_x509_privkey_import_pkcs8
- (key, data, format, NULL,
- GNUTLS_PKCS_PLAIN);
+ gnutls_x509_privkey_import_pkcs8(
+ key, data, format, NULL,
+ GNUTLS_PKCS_PLAIN);
if (result >= 0) {
/* there are keys (ed25519) which leave key->key NULL */
goto finish;
@@ -633,14 +608,14 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
goto cleanup;
}
- finish:
+finish:
result =
- _gnutls_pk_fixup(key->params.algo, GNUTLS_IMPORT, &key->params);
+ _gnutls_pk_fixup(key->params.algo, GNUTLS_IMPORT, &key->params);
if (result < 0) {
gnutls_assert();
}
- cleanup:
+cleanup:
if (need_free) {
zeroize_temp_key(_data.data, _data.size);
_gnutls_free_datum(&_data);
@@ -653,7 +628,7 @@ gnutls_x509_privkey_import(gnutls_x509_privkey_t key,
}
static int import_pkcs12_privkey(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
+ const gnutls_datum_t *data,
gnutls_x509_crt_fmt_t format,
const char *password, unsigned int flags)
{
@@ -671,9 +646,8 @@ static int import_pkcs12_privkey(gnutls_x509_privkey_t key,
goto fail;
}
- ret =
- gnutls_pkcs12_simple_parse(p12, password, &newkey, NULL, NULL,
- NULL, NULL, NULL, 0);
+ ret = gnutls_pkcs12_simple_parse(p12, password, &newkey, NULL, NULL,
+ NULL, NULL, NULL, 0);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -687,7 +661,7 @@ static int import_pkcs12_privkey(gnutls_x509_privkey_t key,
}
ret = 0;
- fail:
+fail:
gnutls_pkcs12_deinit(p12);
@@ -716,11 +690,10 @@ static int import_pkcs12_privkey(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format,
- const char *password, unsigned int flags)
+int gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ const char *password, unsigned int flags)
{
int ret = 0;
int saved_ret = GNUTLS_E_PARSING_ERROR;
@@ -731,14 +704,12 @@ gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
size_t left;
char *ptr;
- ptr =
- memmem(data->data, data->size, "PRIVATE KEY-----",
- sizeof("PRIVATE KEY-----") - 1);
+ ptr = memmem(data->data, data->size, "PRIVATE KEY-----",
+ sizeof("PRIVATE KEY-----") - 1);
if (ptr != NULL) {
- left =
- data->size - ((ptrdiff_t)ptr -
- (ptrdiff_t)data->data);
+ left = data->size -
+ ((ptrdiff_t)ptr - (ptrdiff_t)data->data);
if (data->size - left > 15) {
ptr -= 15;
@@ -748,32 +719,29 @@ gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
left = data->size;
}
- ptr =
- memmem(ptr, left, "-----BEGIN ",
- sizeof("-----BEGIN ") - 1);
+ ptr = memmem(ptr, left, "-----BEGIN ",
+ sizeof("-----BEGIN ") - 1);
if (ptr != NULL) {
ptr += sizeof("-----BEGIN ") - 1;
- left =
- data->size - ((ptrdiff_t)ptr -
- (ptrdiff_t)data->data);
+ left = data->size -
+ ((ptrdiff_t)ptr - (ptrdiff_t)data->data);
}
if (ptr != NULL && left > sizeof(PEM_KEY_RSA)) {
- if (memcmp
- (ptr, PEM_KEY_RSA,
- sizeof(PEM_KEY_RSA) - 1) == 0
- || memcmp(ptr, PEM_KEY_ECC,
- sizeof(PEM_KEY_ECC) - 1) == 0
- || memcmp(ptr, PEM_KEY_DSA,
- sizeof(PEM_KEY_DSA) - 1) == 0) {
+ if (memcmp(ptr, PEM_KEY_RSA,
+ sizeof(PEM_KEY_RSA) - 1) == 0 ||
+ memcmp(ptr, PEM_KEY_ECC,
+ sizeof(PEM_KEY_ECC) - 1) == 0 ||
+ memcmp(ptr, PEM_KEY_DSA,
+ sizeof(PEM_KEY_DSA) - 1) == 0) {
head_enc = 0;
}
}
}
}
- if (head_enc == 0
- || (password == NULL && !(flags & GNUTLS_PKCS_NULL_PASSWORD))) {
+ if (head_enc == 0 ||
+ (password == NULL && !(flags & GNUTLS_PKCS_NULL_PASSWORD))) {
ret = gnutls_x509_privkey_import(key, data, format);
if (ret >= 0)
return ret;
@@ -783,26 +751,22 @@ gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
/* fall through to PKCS #8 decoding */
}
- if ((password != NULL || (flags & GNUTLS_PKCS_NULL_PASSWORD))
- || ret < 0) {
-
- ret =
- gnutls_x509_privkey_import_pkcs8(key, data, format,
- password, flags);
+ if ((password != NULL || (flags & GNUTLS_PKCS_NULL_PASSWORD)) ||
+ ret < 0) {
+ ret = gnutls_x509_privkey_import_pkcs8(key, data, format,
+ password, flags);
- if (ret == GNUTLS_E_DECRYPTION_FAILED &&
- password == NULL && (!(flags & GNUTLS_PKCS_PLAIN))) {
+ if (ret == GNUTLS_E_DECRYPTION_FAILED && password == NULL &&
+ (!(flags & GNUTLS_PKCS_PLAIN))) {
/* use the callback if any */
- ret =
- _gnutls_retrieve_pin(&key->pin, "key:", "", 0, pin,
- sizeof(pin));
+ ret = _gnutls_retrieve_pin(&key->pin, "key:", "", 0,
+ pin, sizeof(pin));
if (ret == 0) {
password = pin;
}
- ret =
- gnutls_x509_privkey_import_pkcs8(key, data, format,
- password, flags);
+ ret = gnutls_x509_privkey_import_pkcs8(
+ key, data, format, password, flags);
}
if (saved_ret == GNUTLS_E_PARSING_ERROR)
@@ -811,34 +775,28 @@ gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
if (ret < 0) {
if (ret == GNUTLS_E_DECRYPTION_FAILED)
goto cleanup;
- ret =
- import_pkcs12_privkey(key, data, format,
- password, flags);
+ ret = import_pkcs12_privkey(key, data, format, password,
+ flags);
if (ret < 0 && format == GNUTLS_X509_FMT_PEM) {
if (ret == GNUTLS_E_DECRYPTION_FAILED)
goto cleanup;
- ret =
- gnutls_x509_privkey_import_openssl(key,
- data,
- password);
+ ret = gnutls_x509_privkey_import_openssl(
+ key, data, password);
- if (ret == GNUTLS_E_DECRYPTION_FAILED
- && password == NULL && (key->pin.cb
- ||
- _gnutls_pin_func)) {
+ if (ret == GNUTLS_E_DECRYPTION_FAILED &&
+ password == NULL &&
+ (key->pin.cb || _gnutls_pin_func)) {
/* use the callback if any */
memset(pin, 0,
GNUTLS_PKCS11_MAX_PIN_LEN);
- ret =
- _gnutls_retrieve_pin(&key->pin,
- "key:", "", 0,
- pin,
- sizeof(pin));
+ ret = _gnutls_retrieve_pin(&key->pin,
+ "key:", "",
+ 0, pin,
+ sizeof(pin));
if (ret == 0) {
- ret =
- gnutls_x509_privkey_import_openssl
- (key, data, pin);
+ ret = gnutls_x509_privkey_import_openssl(
+ key, data, pin);
}
}
@@ -855,7 +813,7 @@ gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
ret = 0;
- cleanup:
+cleanup:
if (ret == GNUTLS_E_PARSING_ERROR)
ret = saved_ret;
@@ -879,17 +837,16 @@ gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import_rsa_raw(gnutls_x509_privkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e,
- const gnutls_datum_t * d,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * u)
+int gnutls_x509_privkey_import_rsa_raw(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *m,
+ const gnutls_datum_t *e,
+ const gnutls_datum_t *d,
+ const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *u)
{
- return gnutls_x509_privkey_import_rsa_raw2(key, m, e, d, p, q, u,
- NULL, NULL);
+ return gnutls_x509_privkey_import_rsa_raw2(key, m, e, d, p, q, u, NULL,
+ NULL);
}
/**
@@ -911,16 +868,12 @@ gnutls_x509_privkey_import_rsa_raw(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
- const gnutls_datum_t * m,
- const gnutls_datum_t * e,
- const gnutls_datum_t * d,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * u,
- const gnutls_datum_t * e1,
- const gnutls_datum_t * e2)
+int gnutls_x509_privkey_import_rsa_raw2(
+ gnutls_x509_privkey_t key, const gnutls_datum_t *m,
+ const gnutls_datum_t *e, const gnutls_datum_t *d,
+ const gnutls_datum_t *p, const gnutls_datum_t *q,
+ const gnutls_datum_t *u, const gnutls_datum_t *e1,
+ const gnutls_datum_t *e2)
{
int ret;
size_t siz = 0;
@@ -933,8 +886,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
gnutls_pk_params_init(&key->params);
siz = m->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_MODULUS], m->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_MODULUS], m->data,
+ siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -942,8 +895,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
key->params.params_nr++;
siz = e->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_PUB], e->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_PUB], e->data,
+ siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -952,8 +905,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
if (d) {
siz = d->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_PRIV], d->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_PRIV],
+ d->data, siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -962,8 +915,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
}
siz = p->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_PRIME1], p->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_PRIME1], p->data,
+ siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -971,8 +924,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
key->params.params_nr++;
siz = q->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_PRIME2], q->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_PRIME2], q->data,
+ siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -981,8 +934,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
if (u) {
siz = u->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_COEF], u->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_COEF],
+ u->data, siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -992,8 +945,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
if (e1 && e2) {
siz = e1->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_E1], e1->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_E1],
+ e1->data, siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1001,8 +954,8 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
key->params.params_nr++;
siz = e2->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[RSA_E2], e2->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[RSA_E2],
+ e2->data, siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1029,11 +982,10 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&key->params);
gnutls_pk_params_release(&key->params);
return ret;
-
}
/**
@@ -1052,13 +1004,12 @@ gnutls_x509_privkey_import_rsa_raw2(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,
- const gnutls_datum_t * p,
- const gnutls_datum_t * q,
- const gnutls_datum_t * g,
- const gnutls_datum_t * y,
- const gnutls_datum_t * x)
+int gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *p,
+ const gnutls_datum_t *q,
+ const gnutls_datum_t *g,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *x)
{
int ret;
size_t siz = 0;
@@ -1093,8 +1044,8 @@ gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,
if (y) {
siz = y->size;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[3], y->data, siz)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[3], y->data,
+ siz)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1125,11 +1076,10 @@ gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&key->params);
gnutls_pk_params_release(&key->params);
return ret;
-
}
/**
@@ -1150,12 +1100,11 @@ gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,
*
* Since: 3.0
**/
-int
-gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
- gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k)
+int gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
+ gnutls_ecc_curve_t curve,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k)
{
int ret;
@@ -1194,8 +1143,8 @@ gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
goto cleanup;
}
- ret =
- _gnutls_set_datum(&key->params.raw_priv, k->data, k->size);
+ ret = _gnutls_set_datum(&key->params.raw_priv, k->data,
+ k->size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1204,24 +1153,24 @@ gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
return 0;
}
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[ECC_X], x->data, x->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[ECC_X], x->data,
+ x->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
}
key->params.params_nr++;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[ECC_Y], y->data, y->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[ECC_Y], y->data,
+ y->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
}
key->params.params_nr++;
- if (_gnutls_mpi_init_scan_nz
- (&key->params.params[ECC_K], k->data, k->size)) {
+ if (_gnutls_mpi_init_scan_nz(&key->params.params[ECC_K], k->data,
+ k->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1244,11 +1193,10 @@ gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&key->params);
gnutls_pk_params_release(&key->params);
return ret;
-
}
/**
@@ -1276,14 +1224,13 @@ gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,
*
* Since: 3.6.3
**/
-int
-gnutls_x509_privkey_import_gost_raw(gnutls_x509_privkey_t key,
- gnutls_ecc_curve_t curve,
- gnutls_digest_algorithm_t digest,
- gnutls_gost_paramset_t paramset,
- const gnutls_datum_t * x,
- const gnutls_datum_t * y,
- const gnutls_datum_t * k)
+int gnutls_x509_privkey_import_gost_raw(gnutls_x509_privkey_t key,
+ gnutls_ecc_curve_t curve,
+ gnutls_digest_algorithm_t digest,
+ gnutls_gost_paramset_t paramset,
+ const gnutls_datum_t *x,
+ const gnutls_datum_t *y,
+ const gnutls_datum_t *k)
{
int ret;
@@ -1300,24 +1247,24 @@ gnutls_x509_privkey_import_gost_raw(gnutls_x509_privkey_t key,
key->params.gost_params = paramset;
- if (_gnutls_mpi_init_scan_le
- (&key->params.params[GOST_X], x->data, x->size)) {
+ if (_gnutls_mpi_init_scan_le(&key->params.params[GOST_X], x->data,
+ x->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
}
key->params.params_nr++;
- if (_gnutls_mpi_init_scan_le
- (&key->params.params[GOST_Y], y->data, y->size)) {
+ if (_gnutls_mpi_init_scan_le(&key->params.params[GOST_Y], y->data,
+ y->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
}
key->params.params_nr++;
- if (_gnutls_mpi_init_scan_le
- (&key->params.params[GOST_K], k->data, k->size)) {
+ if (_gnutls_mpi_init_scan_le(&key->params.params[GOST_K], k->data,
+ k->size)) {
gnutls_assert();
ret = GNUTLS_E_MPI_SCAN_FAILED;
goto cleanup;
@@ -1332,11 +1279,10 @@ gnutls_x509_privkey_import_gost_raw(gnutls_x509_privkey_t key,
return 0;
- cleanup:
+cleanup:
gnutls_pk_params_clear(&key->params);
gnutls_pk_params_release(&key->params);
return ret;
-
}
/**
@@ -1370,9 +1316,8 @@ int gnutls_x509_privkey_get_pk_algorithm(gnutls_x509_privkey_t key)
* Returns: a member of the #gnutls_pk_algorithm_t enumeration on
* success, or a negative error code on error.
**/
-int
-gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t key,
- unsigned int *bits)
+int gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t key,
+ unsigned int *bits)
{
int ret;
@@ -1391,9 +1336,8 @@ gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t key,
return key->params.algo;
}
-void
-_gnutls_x509_privkey_get_spki_params(gnutls_x509_privkey_t key,
- gnutls_x509_spki_st * params)
+void _gnutls_x509_privkey_get_spki_params(gnutls_x509_privkey_t key,
+ gnutls_x509_spki_st *params)
{
memcpy(params, &key->params.spki, sizeof(gnutls_x509_spki_st));
}
@@ -1409,9 +1353,8 @@ _gnutls_x509_privkey_get_spki_params(gnutls_x509_privkey_t key,
*
* Returns: Zero on success, or a negative error code on error.
**/
-int
-gnutls_x509_privkey_get_spki(gnutls_x509_privkey_t key, gnutls_x509_spki_t spki,
- unsigned int flags)
+int gnutls_x509_privkey_get_spki(gnutls_x509_privkey_t key,
+ gnutls_x509_spki_t spki, unsigned int flags)
{
if (key == NULL) {
gnutls_assert();
@@ -1437,9 +1380,9 @@ gnutls_x509_privkey_get_spki(gnutls_x509_privkey_t key, gnutls_x509_spki_t spki,
*
* Returns: Zero on success, or a negative error code on error.
**/
-int
-gnutls_x509_privkey_set_spki(gnutls_x509_privkey_t key,
- const gnutls_x509_spki_t spki, unsigned int flags)
+int gnutls_x509_privkey_set_spki(gnutls_x509_privkey_t key,
+ const gnutls_x509_spki_t spki,
+ unsigned int flags)
{
gnutls_pk_params_st tparams;
int ret;
@@ -1498,10 +1441,9 @@ static const char *set_msg(gnutls_x509_privkey_t key)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_export(gnutls_x509_privkey_t key,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_x509_privkey_export(gnutls_x509_privkey_t key,
+ gnutls_x509_crt_fmt_t format, void *output_data,
+ size_t *output_data_size)
{
gnutls_datum_t out;
int ret;
@@ -1539,9 +1481,9 @@ gnutls_x509_privkey_export(gnutls_x509_privkey_t key,
*
* Since 3.1.3
**/
-int
-gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,
+ gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
const char *msg;
int ret;
@@ -1551,7 +1493,7 @@ gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,
return GNUTLS_E_INVALID_REQUEST;
}
- if (key->key == NULL) { /* can only export in PKCS#8 form */
+ if (key->key == NULL) { /* can only export in PKCS#8 form */
return gnutls_x509_privkey_export2_pkcs8(key, format, NULL, 0,
out);
}
@@ -1611,9 +1553,9 @@ gnutls_sec_param_t gnutls_x509_privkey_sec_param(gnutls_x509_privkey_t key)
* Since: 3.0
**/
int gnutls_x509_privkey_export_ecc_raw(gnutls_x509_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * k)
+ gnutls_ecc_curve_t *curve,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k)
{
if (key == NULL) {
gnutls_assert();
@@ -1646,11 +1588,11 @@ int gnutls_x509_privkey_export_ecc_raw(gnutls_x509_privkey_t key,
* Since: 3.6.3
**/
int gnutls_x509_privkey_export_gost_raw(gnutls_x509_privkey_t key,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * k)
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *k)
{
if (key == NULL) {
gnutls_assert();
@@ -1678,11 +1620,10 @@ int gnutls_x509_privkey_export_gost_raw(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_export_rsa_raw(gnutls_x509_privkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u)
+int gnutls_x509_privkey_export_rsa_raw(gnutls_x509_privkey_t key,
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u)
{
return _gnutls_params_get_rsa_raw(&key->params, m, e, d, p, q, u, NULL,
NULL, 0);
@@ -1709,12 +1650,11 @@ gnutls_x509_privkey_export_rsa_raw(gnutls_x509_privkey_t key,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_privkey_export_rsa_raw2(gnutls_x509_privkey_t key,
- gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * e1, gnutls_datum_t * e2)
+int gnutls_x509_privkey_export_rsa_raw2(gnutls_x509_privkey_t key,
+ gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *u,
+ gnutls_datum_t *e1, gnutls_datum_t *e2)
{
return _gnutls_params_get_rsa_raw(&key->params, m, e, d, p, q, u, e1,
e2, 0);
@@ -1736,11 +1676,10 @@ gnutls_x509_privkey_export_rsa_raw2(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_export_dsa_raw(gnutls_x509_privkey_t key,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y,
- gnutls_datum_t * x)
+int gnutls_x509_privkey_export_dsa_raw(gnutls_x509_privkey_t key,
+ gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *g, gnutls_datum_t *y,
+ gnutls_datum_t *x)
{
return _gnutls_params_get_dsa_raw(&key->params, p, q, g, y, x, 0);
}
@@ -1776,10 +1715,9 @@ gnutls_x509_privkey_export_dsa_raw(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags)
+int gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,
+ gnutls_pk_algorithm_t algo, unsigned int bits,
+ unsigned int flags)
{
return gnutls_x509_privkey_generate2(key, algo, bits, flags, NULL, 0);
}
@@ -1824,12 +1762,11 @@ gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
- gnutls_pk_algorithm_t algo, unsigned int bits,
- unsigned int flags,
- const gnutls_keygen_data_st * data,
- unsigned data_size)
+int gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
+ gnutls_pk_algorithm_t algo, unsigned int bits,
+ unsigned int flags,
+ const gnutls_keygen_data_st *data,
+ unsigned data_size)
{
int ret;
unsigned i;
@@ -1843,8 +1780,8 @@ gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
gnutls_pk_params_init(&key->params);
for (i = 0; i < data_size; i++) {
- if (data[i].type == GNUTLS_KEYGEN_SEED
- && data[i].size < sizeof(key->params.seed)) {
+ if (data[i].type == GNUTLS_KEYGEN_SEED &&
+ data[i].size < sizeof(key->params.seed)) {
key->params.seed_size = data[i].size;
memcpy(key->params.seed, data[i].data, data[i].size);
} else if (data[i].type == GNUTLS_KEYGEN_DIGEST) {
@@ -1861,8 +1798,8 @@ gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
bits = _gnutls_ecc_bits_to_curve(algo, bits);
if (gnutls_ecc_curve_get_pk(bits) != algo) {
- _gnutls_debug_log
- ("curve is incompatible with public key algorithm\n");
+ _gnutls_debug_log(
+ "curve is incompatible with public key algorithm\n");
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
}
@@ -1880,8 +1817,8 @@ gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
if ((algo == GNUTLS_PK_GOST_01 && size != 32) ||
(algo == GNUTLS_PK_GOST_12_256 && size != 32) ||
(algo == GNUTLS_PK_GOST_12_512 && size != 64)) {
- _gnutls_debug_log
- ("curve is incompatible with public key algorithm\n");
+ _gnutls_debug_log(
+ "curve is incompatible with public key algorithm\n");
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
@@ -1906,7 +1843,7 @@ gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
key->params.spki.pk = GNUTLS_PK_RSA_PSS;
key->params.spki.rsa_pss_dig =
- _gnutls_pk_bits_to_sha_hash(bits);
+ _gnutls_pk_bits_to_sha_hash(bits);
me = hash_to_entry(key->params.spki.rsa_pss_dig);
if (unlikely(me == NULL)) {
@@ -1952,7 +1889,7 @@ gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
return 0;
- cleanup:
+cleanup:
key->params.algo = GNUTLS_PK_UNKNOWN;
gnutls_pk_params_clear(&key->params);
gnutls_pk_params_release(&key->params);
@@ -1977,7 +1914,7 @@ gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,
* Since: 3.5.0
**/
int gnutls_x509_privkey_get_seed(gnutls_x509_privkey_t key,
- gnutls_digest_algorithm_t * digest, void *seed,
+ gnutls_digest_algorithm_t *digest, void *seed,
size_t *seed_size)
{
if (key->params.seed_size == 0)
@@ -2003,26 +1940,23 @@ int gnutls_x509_privkey_get_seed(gnutls_x509_privkey_t key,
return 0;
}
-static
-int cmp_rsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
+static int cmp_rsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
{
- gnutls_datum_t m1 = { NULL, 0 }, e1 = { NULL, 0 }, d1 =
- { NULL, 0 }, p1 = { NULL, 0 }, q1 = { NULL, 0 };
- gnutls_datum_t m2 = { NULL, 0 }, e2 = { NULL, 0 }, d2 =
- { NULL, 0 }, p2 = { NULL, 0 }, q2 = { NULL, 0 };
+ gnutls_datum_t m1 = { NULL, 0 }, e1 = { NULL, 0 }, d1 = { NULL, 0 },
+ p1 = { NULL, 0 }, q1 = { NULL, 0 };
+ gnutls_datum_t m2 = { NULL, 0 }, e2 = { NULL, 0 }, d2 = { NULL, 0 },
+ p2 = { NULL, 0 }, q2 = { NULL, 0 };
int ret;
- ret =
- gnutls_x509_privkey_export_rsa_raw(key1, &m1, &e1, &d1, &p1, &q1,
- NULL);
+ ret = gnutls_x509_privkey_export_rsa_raw(key1, &m1, &e1, &d1, &p1, &q1,
+ NULL);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- gnutls_x509_privkey_export_rsa_raw(key2, &m2, &e2, &d2, &p2, &q2,
- NULL);
+ ret = gnutls_x509_privkey_export_rsa_raw(key2, &m2, &e2, &d2, &p2, &q2,
+ NULL);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2059,7 +1993,7 @@ int cmp_rsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(m1.data);
gnutls_free(e1.data);
gnutls_free(d1.data);
@@ -2073,22 +2007,21 @@ int cmp_rsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
return ret;
}
-static
-int cmp_dsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
+static int cmp_dsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
{
gnutls_datum_t p1 = { NULL, 0 }, q1 = { NULL, 0 }, g1 = { NULL, 0 };
gnutls_datum_t p2 = { NULL, 0 }, q2 = { NULL, 0 }, g2 = { NULL, 0 };
int ret;
- ret =
- gnutls_x509_privkey_export_dsa_raw(key1, &p1, &q1, &g1, NULL, NULL);
+ ret = gnutls_x509_privkey_export_dsa_raw(key1, &p1, &q1, &g1, NULL,
+ NULL);
if (ret < 0) {
gnutls_assert();
return ret;
}
- ret =
- gnutls_x509_privkey_export_dsa_raw(key2, &p2, &q2, &g2, NULL, NULL);
+ ret = gnutls_x509_privkey_export_dsa_raw(key2, &p2, &q2, &g2, NULL,
+ NULL);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -2113,7 +2046,7 @@ int cmp_dsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(g1.data);
gnutls_free(p1.data);
gnutls_free(q1.data);
@@ -2153,8 +2086,8 @@ int gnutls_x509_privkey_verify_seed(gnutls_x509_privkey_t key,
return GNUTLS_E_INVALID_REQUEST;
}
- if (key->params.algo != GNUTLS_PK_RSA
- && key->params.algo != GNUTLS_PK_DSA)
+ if (key->params.algo != GNUTLS_PK_RSA &&
+ key->params.algo != GNUTLS_PK_DSA)
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
ret = gnutls_x509_privkey_get_pk_algorithm2(key, &bits);
@@ -2190,7 +2123,7 @@ int gnutls_x509_privkey_verify_seed(gnutls_x509_privkey_t key,
else
ret = cmp_dsa_key(key, okey);
- cleanup:
+cleanup:
gnutls_x509_privkey_deinit(okey);
return ret;
@@ -2238,11 +2171,10 @@ int gnutls_x509_privkey_verify_params(gnutls_x509_privkey_t key)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,
- unsigned int flags,
- unsigned char *output_data,
- size_t *output_data_size)
+int gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,
+ unsigned int flags,
+ unsigned char *output_data,
+ size_t *output_data_size)
{
int ret;
@@ -2251,9 +2183,8 @@ gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _gnutls_get_key_id(&key->params,
- output_data, output_data_size, flags);
+ ret = _gnutls_get_key_id(&key->params, output_data, output_data_size,
+ flags);
if (ret < 0) {
gnutls_assert();
}
@@ -2281,10 +2212,9 @@ gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,
*
* Deprecated in: 2.12.0
*/
-int
-gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,
- const gnutls_datum_t * hash,
- gnutls_datum_t * signature)
+int gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *hash,
+ gnutls_datum_t *signature)
{
int result;
@@ -2293,17 +2223,16 @@ gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,
return GNUTLS_E_INVALID_REQUEST;
}
- if (key->params.algo != GNUTLS_PK_RSA
- && key->params.algo != GNUTLS_PK_ECDSA
- && key->params.algo != GNUTLS_PK_DSA) {
+ if (key->params.algo != GNUTLS_PK_RSA &&
+ key->params.algo != GNUTLS_PK_ECDSA &&
+ key->params.algo != GNUTLS_PK_DSA) {
/* too primitive API - use only with legacy types */
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- result =
- _gnutls_pk_sign(key->params.algo, signature, hash,
- &key->params, &key->params.spki);
+ result = _gnutls_pk_sign(key->params.algo, signature, hash,
+ &key->params, &key->params.spki);
if (result < 0) {
gnutls_assert();
@@ -2338,12 +2267,11 @@ gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
*/
-int
-gnutls_x509_privkey_sign_data(gnutls_x509_privkey_t key,
- gnutls_digest_algorithm_t digest,
- unsigned int flags,
- const gnutls_datum_t * data,
- void *signature, size_t *signature_size)
+int gnutls_x509_privkey_sign_data(gnutls_x509_privkey_t key,
+ gnutls_digest_algorithm_t digest,
+ unsigned int flags,
+ const gnutls_datum_t *data, void *signature,
+ size_t *signature_size)
{
gnutls_privkey_t privkey;
gnutls_datum_t sig = { NULL, 0 };
@@ -2374,7 +2302,7 @@ gnutls_x509_privkey_sign_data(gnutls_x509_privkey_t key,
*signature_size = sig.size;
memcpy(signature, sig.data, sig.size);
- cleanup:
+cleanup:
_gnutls_free_datum(&sig);
gnutls_privkey_deinit(privkey);
return ret;
diff --git a/lib/x509/privkey_openssl.c b/lib/x509/privkey_openssl.c
index a9206e7d70..f7b33c825f 100644
--- a/lib/x509/privkey_openssl.c
+++ b/lib/x509/privkey_openssl.c
@@ -33,9 +33,8 @@
#include <num.h>
#include <random.h>
-static int
-openssl_hash_password(const char *_password, gnutls_datum_t * key,
- gnutls_datum_t * salt)
+static int openssl_hash_password(const char *_password, gnutls_datum_t *key,
+ gnutls_datum_t *salt)
{
unsigned char md5[16];
digest_hd_st hd;
@@ -45,10 +44,8 @@ openssl_hash_password(const char *_password, gnutls_datum_t * key,
if (_password != NULL) {
gnutls_datum_t pout;
- ret =
- _gnutls_utf8_password_normalize(_password,
- strlen(_password), &pout,
- 1);
+ ret = _gnutls_utf8_password_normalize(
+ _password, strlen(_password), &pout, 1);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -65,7 +62,7 @@ openssl_hash_password(const char *_password, gnutls_datum_t * key,
if (count) {
ret = _gnutls_hash(&hd, md5, sizeof(md5));
if (ret < 0) {
- hash_err:
+ hash_err:
_gnutls_hash_deinit(&hd, NULL);
gnutls_assert();
goto cleanup;
@@ -97,7 +94,7 @@ openssl_hash_password(const char *_password, gnutls_datum_t * key,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(password);
return ret;
}
@@ -108,14 +105,14 @@ struct pem_cipher {
};
static const struct pem_cipher pem_ciphers[] = {
- {"DES-CBC", GNUTLS_CIPHER_DES_CBC},
- {"DES-EDE3-CBC", GNUTLS_CIPHER_3DES_CBC},
- {"AES-128-CBC", GNUTLS_CIPHER_AES_128_CBC},
- {"AES-192-CBC", GNUTLS_CIPHER_AES_192_CBC},
- {"AES-256-CBC", GNUTLS_CIPHER_AES_256_CBC},
- {"CAMELLIA-128-CBC", GNUTLS_CIPHER_CAMELLIA_128_CBC},
- {"CAMELLIA-192-CBC", GNUTLS_CIPHER_CAMELLIA_192_CBC},
- {"CAMELLIA-256-CBC", GNUTLS_CIPHER_CAMELLIA_256_CBC},
+ { "DES-CBC", GNUTLS_CIPHER_DES_CBC },
+ { "DES-EDE3-CBC", GNUTLS_CIPHER_3DES_CBC },
+ { "AES-128-CBC", GNUTLS_CIPHER_AES_128_CBC },
+ { "AES-192-CBC", GNUTLS_CIPHER_AES_192_CBC },
+ { "AES-256-CBC", GNUTLS_CIPHER_AES_256_CBC },
+ { "CAMELLIA-128-CBC", GNUTLS_CIPHER_CAMELLIA_128_CBC },
+ { "CAMELLIA-192-CBC", GNUTLS_CIPHER_CAMELLIA_192_CBC },
+ { "CAMELLIA-256-CBC", GNUTLS_CIPHER_CAMELLIA_256_CBC },
};
/**
@@ -137,10 +134,9 @@ static const struct pem_cipher pem_ciphers[] = {
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
- const char *password)
+int gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *data,
+ const char *password)
{
gnutls_cipher_hd_t handle;
gnutls_cipher_algorithm_t cipher = GNUTLS_CIPHER_UNKNOWN;
@@ -172,7 +168,7 @@ gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
}
pem_header_size =
- data->size - (ptrdiff_t)(pem_header - pem_header_start) - 10;
+ data->size - (ptrdiff_t)(pem_header - pem_header_start) - 10;
pem_header += 10;
for (i = 0; i < sizeof(pem_ciphers) / sizeof(pem_ciphers[0]); i++) {
@@ -186,8 +182,8 @@ gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
}
if (cipher == GNUTLS_CIPHER_UNKNOWN) {
- _gnutls_debug_log
- ("Unsupported PEM encryption type: %.10s\n", pem_header);
+ _gnutls_debug_log("Unsupported PEM encryption type: %.10s\n",
+ pem_header);
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
@@ -221,9 +217,8 @@ gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
while (*pem_header == '\n' || *pem_header == '\r')
pem_header++;
- ret =
- _gnutls_base64_decode((const void *)pem_header,
- pem_header_size, &b64_data);
+ ret = _gnutls_base64_decode((const void *)pem_header, pem_header_size,
+ &b64_data);
if (ret < 0) {
gnutls_assert();
goto out_salt;
@@ -279,7 +274,7 @@ gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
if (key_data[0] == 0x30) {
gnutls_datum_t key_datum;
unsigned int blocksize =
- gnutls_cipher_get_block_size(cipher);
+ gnutls_cipher_get_block_size(cipher);
unsigned int keylen = key_data[1];
unsigned int ofs = 2;
@@ -301,8 +296,8 @@ gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
keylen += ofs;
/* If there appears to be more or less padding than required, fail */
- if (key_data_size - keylen > blocksize
- || key_data_size < keylen + 1) {
+ if (key_data_size - keylen > blocksize ||
+ key_data_size < keylen + 1) {
gnutls_assert();
goto fail;
}
@@ -319,24 +314,23 @@ gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,
key_datum.data = key_data;
key_datum.size = keylen;
- ret =
- gnutls_x509_privkey_import(key, &key_datum,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_privkey_import(key, &key_datum,
+ GNUTLS_X509_FMT_DER);
if (ret == 0)
goto out;
}
- fail:
+ fail:
ret = GNUTLS_E_DECRYPTION_FAILED;
goto out;
}
- out:
+out:
zeroize_key(key_data, key_data_size);
gnutls_free(key_data);
- out_enc_key:
+out_enc_key:
_gnutls_free_key_datum(&enc_key);
- out_b64:
+out_b64:
gnutls_free(b64_data.data);
- out_salt:
+out_salt:
gnutls_free(salt.data);
return ret;
}
diff --git a/lib/x509/privkey_pkcs8.c b/lib/x509/privkey_pkcs8.c
index 5ee1961c1e..91eb1f16c5 100644
--- a/lib/x509/privkey_pkcs8.c
+++ b/lib/x509/privkey_pkcs8.c
@@ -41,12 +41,11 @@
static int _decode_pkcs8_ecc_key(asn1_node pkcs8_asn,
gnutls_x509_privkey_t pkey);
-static
-int pkcs8_key_info(const gnutls_datum_t * raw_key,
- const struct pkcs_cipher_schema_st **p,
- struct pbkdf2_params *kdf_params, char **oid);
+static int pkcs8_key_info(const gnutls_datum_t *raw_key,
+ const struct pkcs_cipher_schema_st **p,
+ struct pbkdf2_params *kdf_params, char **oid);
-static int decode_private_key_info(const gnutls_datum_t * der,
+static int decode_private_key_info(const gnutls_datum_t *der,
gnutls_x509_privkey_t pkey);
#define PEM_PKCS8 "ENCRYPTED PRIVATE KEY"
@@ -59,8 +58,8 @@ static int decode_private_key_info(const gnutls_datum_t * der,
* For RSA it is a PKCS #1 DER private key and for DSA it is
* an ASN.1 INTEGER of the x value.
*/
-inline static int
-_encode_privkey(gnutls_x509_privkey_t pkey, gnutls_datum_t * raw)
+inline static int _encode_privkey(gnutls_x509_privkey_t pkey,
+ gnutls_datum_t *raw)
{
int ret;
asn1_node spk = NULL;
@@ -83,17 +82,16 @@ _encode_privkey(gnutls_x509_privkey_t pkey, gnutls_datum_t * raw)
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
case GNUTLS_PK_GOST_12_512:
- if ((ret = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.GOSTPrivateKey", &spk))
- != ASN1_SUCCESS) {
+ if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.GOSTPrivateKey",
+ &spk)) != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
goto error;
}
- ret =
- _gnutls_x509_write_key_int_le(spk, "",
- pkey->params.params[GOST_K]);
+ ret = _gnutls_x509_write_key_int_le(
+ spk, "", pkey->params.params[GOST_K]);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -111,9 +109,8 @@ _encode_privkey(gnutls_x509_privkey_t pkey, gnutls_datum_t * raw)
case GNUTLS_PK_RSA:
case GNUTLS_PK_RSA_PSS:
case GNUTLS_PK_ECDSA:
- ret =
- _gnutls_x509_export_int2(pkey->key, GNUTLS_X509_FMT_DER,
- "", raw);
+ ret = _gnutls_x509_export_int2(pkey->key, GNUTLS_X509_FMT_DER,
+ "", raw);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -122,15 +119,15 @@ _encode_privkey(gnutls_x509_privkey_t pkey, gnutls_datum_t * raw)
break;
case GNUTLS_PK_DSA:
/* DSAPublicKey == INTEGER */
- if ((ret = asn1_create_element
- (_gnutls_get_gnutls_asn(), "GNUTLS.DSAPublicKey", &spk))
- != ASN1_SUCCESS) {
+ if ((ret = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAPublicKey", &spk)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret =
- _gnutls_x509_write_int(spk, "", pkey->params.params[4], 1);
+ ret = _gnutls_x509_write_int(spk, "", pkey->params.params[4],
+ 1);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -151,11 +148,10 @@ _encode_privkey(gnutls_x509_privkey_t pkey, gnutls_datum_t * raw)
return 0;
- error:
+error:
asn1_delete_structure2(&spk, ASN1_DELETE_FLAG_ZEROIZE);
asn1_delete_structure(&spk);
return ret;
-
}
/*
@@ -163,9 +159,8 @@ _encode_privkey(gnutls_x509_privkey_t pkey, gnutls_datum_t * raw)
* info. The output will be allocated and stored into der. Also
* the asn1_node of private key info will be returned.
*/
-static int
-encode_to_private_key_info(gnutls_x509_privkey_t pkey,
- gnutls_datum_t * der, asn1_node * pkey_info)
+static int encode_to_private_key_info(gnutls_x509_privkey_t pkey,
+ gnutls_datum_t *der, asn1_node *pkey_info)
{
int result, len;
uint8_t null = 0;
@@ -185,10 +180,9 @@ encode_to_private_key_info(gnutls_x509_privkey_t pkey,
return result;
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-8-PrivateKeyInfo",
- pkey_info)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-8-PrivateKeyInfo",
+ pkey_info)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -206,18 +200,16 @@ encode_to_private_key_info(gnutls_x509_privkey_t pkey,
/* write the privateKeyAlgorithm
* fields. (OID+NULL data)
*/
- result =
- asn1_write_value(*pkey_info, "privateKeyAlgorithm.algorithm",
- oid, 1);
+ result = asn1_write_value(*pkey_info, "privateKeyAlgorithm.algorithm",
+ oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
}
- result =
- asn1_write_value(*pkey_info, "privateKeyAlgorithm.parameters",
- algo_params.data, algo_params.size);
+ result = asn1_write_value(*pkey_info, "privateKeyAlgorithm.parameters",
+ algo_params.data, algo_params.size);
_gnutls_free_key_datum(&algo_params);
if (result != ASN1_SUCCESS) {
@@ -234,9 +226,8 @@ encode_to_private_key_info(gnutls_x509_privkey_t pkey,
goto error;
}
- result =
- asn1_write_value(*pkey_info, "privateKey", algo_privkey.data,
- algo_privkey.size);
+ result = asn1_write_value(*pkey_info, "privateKey", algo_privkey.data,
+ algo_privkey.size);
_gnutls_free_key_datum(&algo_privkey);
if (result != ASN1_SUCCESS) {
@@ -245,8 +236,8 @@ encode_to_private_key_info(gnutls_x509_privkey_t pkey,
goto error;
}
- if ((pkey->params.pkflags & GNUTLS_PK_FLAG_PROVABLE)
- && pkey->params.seed_size > 0) {
+ if ((pkey->params.pkflags & GNUTLS_PK_FLAG_PROVABLE) &&
+ pkey->params.seed_size > 0) {
gnutls_datum_t seed_info;
/* rfc8479 attribute encoding */
@@ -256,9 +247,8 @@ encode_to_private_key_info(gnutls_x509_privkey_t pkey,
goto error;
}
- result =
- _x509_set_attribute(*pkey_info, "attributes",
- OID_ATTR_PROV_SEED, &seed_info);
+ result = _x509_set_attribute(*pkey_info, "attributes",
+ OID_ATTR_PROV_SEED, &seed_info);
gnutls_free(seed_info.data);
if (result < 0) {
gnutls_assert();
@@ -303,20 +293,18 @@ encode_to_private_key_info(gnutls_x509_privkey_t pkey,
return 0;
- error:
+error:
asn1_delete_structure2(pkey_info, ASN1_DELETE_FLAG_ZEROIZE);
_gnutls_free_datum(&algo_params);
_gnutls_free_key_datum(&algo_privkey);
return result;
-
}
/* Converts a PKCS #8 private key info to
* a PKCS #8 EncryptedPrivateKeyInfo.
*/
-static int
-encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
- const char *password, asn1_node * out)
+static int encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t *der_key,
+ const char *password, asn1_node *out)
{
int result;
gnutls_datum_t key = { NULL, 0 };
@@ -331,19 +319,17 @@ encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-8-EncryptedPrivateKeyInfo",
- &pkcs8_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(
+ _gnutls_get_pkix(), "PKIX1.pkcs-8-EncryptedPrivateKeyInfo",
+ &pkcs8_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
/* Write the encryption schema OID
*/
- result =
- asn1_write_value(pkcs8_asn, "encryptionAlgorithm.algorithm",
- s->write_oid, 1);
+ result = asn1_write_value(pkcs8_asn, "encryptionAlgorithm.algorithm",
+ s->write_oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -354,18 +340,16 @@ encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
/* Generate a symmetric key.
*/
- result =
- _gnutls_pkcs_generate_key(schema, password, &kdf_params,
- &enc_params, &key);
+ result = _gnutls_pkcs_generate_key(schema, password, &kdf_params,
+ &enc_params, &key);
if (result < 0) {
gnutls_assert();
goto error;
}
- result =
- _gnutls_pkcs_write_schema_params(schema, pkcs8_asn,
- "encryptionAlgorithm.parameters",
- &kdf_params, &enc_params);
+ result = _gnutls_pkcs_write_schema_params(
+ schema, pkcs8_asn, "encryptionAlgorithm.parameters",
+ &kdf_params, &enc_params);
if (result < 0) {
gnutls_assert();
goto error;
@@ -375,7 +359,7 @@ encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
* encrypt the Data.
*/
result =
- _gnutls_pkcs_raw_encrypt_data(der_key, &enc_params, &key, &tmp);
+ _gnutls_pkcs_raw_encrypt_data(der_key, &enc_params, &key, &tmp);
if (result < 0) {
gnutls_assert();
goto error;
@@ -383,8 +367,8 @@ encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
/* write the encrypted data.
*/
- result =
- asn1_write_value(pkcs8_asn, "encryptedData", tmp.data, tmp.size);
+ result = asn1_write_value(pkcs8_asn, "encryptedData", tmp.data,
+ tmp.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -398,7 +382,7 @@ encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
return 0;
- error:
+error:
_gnutls_free_key_datum(&key);
_gnutls_free_datum(&tmp);
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
@@ -434,12 +418,11 @@ encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t * der_key,
* Returns: In case of failure a negative error code will be
* returned, and 0 on success.
**/
-int
-gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,
- gnutls_x509_crt_fmt_t format,
- const char *password,
- unsigned int flags,
- void *output_data, size_t *output_data_size)
+int gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,
+ gnutls_x509_crt_fmt_t format,
+ const char *password, unsigned int flags,
+ void *output_data,
+ size_t *output_data_size)
{
asn1_node pkcs8_asn = NULL, pkey_info;
int ret;
@@ -462,18 +445,19 @@ gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,
schema = _gnutls_pkcs_flags_to_schema(flags);
- if (((flags & GNUTLS_PKCS_PLAIN) || password == NULL)
- && !(flags & GNUTLS_PKCS_NULL_PASSWORD)) {
+ if (((flags & GNUTLS_PKCS_PLAIN) || password == NULL) &&
+ !(flags & GNUTLS_PKCS_NULL_PASSWORD)) {
_gnutls_free_datum(&tmp);
- ret =
- _gnutls_x509_export_int(pkey_info, format,
- PEM_UNENCRYPTED_PKCS8,
- output_data, output_data_size);
+ ret = _gnutls_x509_export_int(pkey_info, format,
+ PEM_UNENCRYPTED_PKCS8,
+ output_data, output_data_size);
asn1_delete_structure2(&pkey_info, ASN1_DELETE_FLAG_ZEROIZE);
} else {
- asn1_delete_structure2(&pkey_info, ASN1_DELETE_FLAG_ZEROIZE); /* we don't need it */
+ asn1_delete_structure2(
+ &pkey_info,
+ ASN1_DELETE_FLAG_ZEROIZE); /* we don't need it */
ret = encode_to_pkcs8_key(schema, &tmp, password, &pkcs8_asn);
_gnutls_free_key_datum(&tmp);
@@ -483,9 +467,8 @@ gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,
return ret;
}
- ret =
- _gnutls_x509_export_int(pkcs8_asn, format, PEM_PKCS8,
- output_data, output_data_size);
+ ret = _gnutls_x509_export_int(pkcs8_asn, format, PEM_PKCS8,
+ output_data, output_data_size);
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
}
@@ -517,11 +500,10 @@ gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,
*
* Since: 3.4.0
**/
-int
-gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format,
- unsigned int *schema, unsigned int *cipher,
- void *salt, unsigned int *salt_size,
- unsigned int *iter_count, char **oid)
+int gnutls_pkcs8_info(const gnutls_datum_t *data, gnutls_x509_crt_fmt_t format,
+ unsigned int *schema, unsigned int *cipher, void *salt,
+ unsigned int *salt_size, unsigned int *iter_count,
+ char **oid)
{
int ret = 0, need_free = 0;
gnutls_datum_t _data;
@@ -541,15 +523,13 @@ gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format,
if (format == GNUTLS_X509_FMT_PEM) {
/* Try the first header
*/
- ret =
- _gnutls_fbase64_decode(PEM_UNENCRYPTED_PKCS8,
- data->data, data->size, &_data);
+ ret = _gnutls_fbase64_decode(PEM_UNENCRYPTED_PKCS8, data->data,
+ data->size, &_data);
- if (ret < 0) { /* Try the encrypted header
+ if (ret < 0) { /* Try the encrypted header
*/
- ret =
- _gnutls_fbase64_decode(PEM_PKCS8, data->data,
- data->size, &_data);
+ ret = _gnutls_fbase64_decode(PEM_PKCS8, data->data,
+ data->size, &_data);
if (ret < 0) {
gnutls_assert();
@@ -597,7 +577,7 @@ gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format,
return 0;
- cleanup:
+cleanup:
if (ret != GNUTLS_E_UNKNOWN_CIPHER_TYPE && oid) {
gnutls_free(*oid);
}
@@ -633,11 +613,10 @@ gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format,
*
* Since 3.1.3
**/
-int
-gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,
- gnutls_x509_crt_fmt_t format,
- const char *password,
- unsigned int flags, gnutls_datum_t * out)
+int gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,
+ gnutls_x509_crt_fmt_t format,
+ const char *password, unsigned int flags,
+ gnutls_datum_t *out)
{
asn1_node pkcs8_asn = NULL, pkey_info;
int ret;
@@ -660,17 +639,18 @@ gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,
schema = _gnutls_pkcs_flags_to_schema(flags);
- if (((flags & GNUTLS_PKCS_PLAIN) || password == NULL)
- && !(flags & GNUTLS_PKCS_NULL_PASSWORD)) {
+ if (((flags & GNUTLS_PKCS_PLAIN) || password == NULL) &&
+ !(flags & GNUTLS_PKCS_NULL_PASSWORD)) {
_gnutls_free_key_datum(&tmp);
- ret =
- _gnutls_x509_export_int2(pkey_info, format,
- PEM_UNENCRYPTED_PKCS8, out);
+ ret = _gnutls_x509_export_int2(pkey_info, format,
+ PEM_UNENCRYPTED_PKCS8, out);
asn1_delete_structure2(&pkey_info, ASN1_DELETE_FLAG_ZEROIZE);
} else {
- asn1_delete_structure2(&pkey_info, ASN1_DELETE_FLAG_ZEROIZE); /* we don't need it */
+ asn1_delete_structure2(
+ &pkey_info,
+ ASN1_DELETE_FLAG_ZEROIZE); /* we don't need it */
ret = encode_to_pkcs8_key(schema, &tmp, password, &pkcs8_asn);
_gnutls_free_key_datum(&tmp);
@@ -680,8 +660,8 @@ gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,
return ret;
}
- ret =
- _gnutls_x509_export_int2(pkcs8_asn, format, PEM_PKCS8, out);
+ ret = _gnutls_x509_export_int2(pkcs8_asn, format, PEM_PKCS8,
+ out);
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
}
@@ -689,28 +669,27 @@ gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,
return ret;
}
- /* We've gotten this far. In the real world it's almost certain
+/* We've gotten this far. In the real world it's almost certain
* that we're dealing with a good file, but wrong password.
* Sadly like 90% of random data is somehow valid DER for the
* a first small number of bytes, so no easy way to guarantee. */
-#define CHECK_ERR_FOR_ENCRYPTED(result) \
- if (result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND || \
- result == GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND || \
- result == GNUTLS_E_ASN1_DER_ERROR || \
- result == GNUTLS_E_ASN1_VALUE_NOT_FOUND || \
- result == GNUTLS_E_ASN1_GENERIC_ERROR || \
- result == GNUTLS_E_ASN1_VALUE_NOT_VALID || \
- result == GNUTLS_E_ASN1_TAG_ERROR || \
- result == GNUTLS_E_ASN1_TAG_IMPLICIT || \
- result == GNUTLS_E_ASN1_TYPE_ANY_ERROR || \
- result == GNUTLS_E_ASN1_SYNTAX_ERROR || \
- result == GNUTLS_E_ASN1_DER_OVERFLOW) { \
- result = GNUTLS_E_DECRYPTION_FAILED; \
- }
-
-static int pkcs8_key_decrypt(const gnutls_datum_t * raw_key,
- asn1_node pkcs8_asn, const char *password,
- gnutls_x509_privkey_t pkey)
+#define CHECK_ERR_FOR_ENCRYPTED(result) \
+ if (result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND || \
+ result == GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND || \
+ result == GNUTLS_E_ASN1_DER_ERROR || \
+ result == GNUTLS_E_ASN1_VALUE_NOT_FOUND || \
+ result == GNUTLS_E_ASN1_GENERIC_ERROR || \
+ result == GNUTLS_E_ASN1_VALUE_NOT_VALID || \
+ result == GNUTLS_E_ASN1_TAG_ERROR || \
+ result == GNUTLS_E_ASN1_TAG_IMPLICIT || \
+ result == GNUTLS_E_ASN1_TYPE_ANY_ERROR || \
+ result == GNUTLS_E_ASN1_SYNTAX_ERROR || \
+ result == GNUTLS_E_ASN1_DER_OVERFLOW) { \
+ result = GNUTLS_E_DECRYPTION_FAILED; \
+ }
+
+static int pkcs8_key_decrypt(const gnutls_datum_t *raw_key, asn1_node pkcs8_asn,
+ const char *password, gnutls_x509_privkey_t pkey)
{
int result, len;
char enc_oid[MAX_OID_SIZE];
@@ -723,9 +702,8 @@ static int pkcs8_key_decrypt(const gnutls_datum_t * raw_key,
/* Check the encryption schema OID
*/
len = sizeof(enc_oid);
- result =
- asn1_read_value(pkcs8_asn, "encryptionAlgorithm.algorithm",
- enc_oid, &len);
+ result = asn1_read_value(pkcs8_asn, "encryptionAlgorithm.algorithm",
+ enc_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
goto error;
@@ -740,11 +718,10 @@ static int pkcs8_key_decrypt(const gnutls_datum_t * raw_key,
/* Get the DER encoding of the parameters.
*/
- result =
- asn1_der_decoding_startEnd(pkcs8_asn, raw_key->data,
- raw_key->size,
- "encryptionAlgorithm.parameters",
- &params_start, &params_end);
+ result = asn1_der_decoding_startEnd(pkcs8_asn, raw_key->data,
+ raw_key->size,
+ "encryptionAlgorithm.parameters",
+ &params_start, &params_end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -752,11 +729,10 @@ static int pkcs8_key_decrypt(const gnutls_datum_t * raw_key,
}
params_len = params_end - params_start + 1;
- result =
- _gnutls_read_pkcs_schema_params(&schema, password,
- &raw_key->data[params_start],
- params_len, &kdf_params,
- &enc_params);
+ result = _gnutls_read_pkcs_schema_params(&schema, password,
+ &raw_key->data[params_start],
+ params_len, &kdf_params,
+ &enc_params);
if (result < 0) {
gnutls_assert();
@@ -766,10 +742,9 @@ static int pkcs8_key_decrypt(const gnutls_datum_t * raw_key,
/* Parameters have been decoded. Now
* decrypt the EncryptedData.
*/
- result =
- _gnutls_pkcs_raw_decrypt_data(schema, pkcs8_asn, "encryptedData",
- password, &kdf_params, &enc_params,
- &tmp);
+ result = _gnutls_pkcs_raw_decrypt_data(schema, pkcs8_asn,
+ "encryptedData", password,
+ &kdf_params, &enc_params, &tmp);
if (result < 0) {
gnutls_assert();
result = GNUTLS_E_DECRYPTION_FAILED;
@@ -787,25 +762,24 @@ static int pkcs8_key_decrypt(const gnutls_datum_t * raw_key,
return 0;
- error:
+error:
return result;
}
-static int check_for_decrypted(const gnutls_datum_t * der)
+static int check_for_decrypted(const gnutls_datum_t *der)
{
int result;
asn1_node pkcs8_asn = NULL;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-8-PrivateKeyInfo",
- &pkcs8_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-8-PrivateKeyInfo",
+ &pkcs8_asn)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
result =
- _asn1_strict_der_decode(&pkcs8_asn, der->data, der->size, NULL);
+ _asn1_strict_der_decode(&pkcs8_asn, der->data, der->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -813,16 +787,14 @@ static int check_for_decrypted(const gnutls_datum_t * der)
}
result = 0;
- error:
+error:
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
return result;
-
}
-static
-int pkcs8_key_info(const gnutls_datum_t * raw_key,
- const struct pkcs_cipher_schema_st **p,
- struct pbkdf2_params *kdf_params, char **oid)
+static int pkcs8_key_info(const gnutls_datum_t *raw_key,
+ const struct pkcs_cipher_schema_st **p,
+ struct pbkdf2_params *kdf_params, char **oid)
{
int result, len;
char enc_oid[MAX_OID_SIZE * 2];
@@ -837,18 +809,16 @@ int pkcs8_key_info(const gnutls_datum_t * raw_key,
if (result == 0)
return GNUTLS_E_INVALID_REQUEST;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-8-EncryptedPrivateKeyInfo",
- &pkcs8_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(
+ _gnutls_get_pkix(), "PKIX1.pkcs-8-EncryptedPrivateKeyInfo",
+ &pkcs8_asn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
}
- result =
- _asn1_strict_der_decode(&pkcs8_asn, raw_key->data, raw_key->size,
- NULL);
+ result = _asn1_strict_der_decode(&pkcs8_asn, raw_key->data,
+ raw_key->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -858,9 +828,8 @@ int pkcs8_key_info(const gnutls_datum_t * raw_key,
/* Check the encryption schema OID
*/
len = sizeof(enc_oid);
- result =
- asn1_read_value(pkcs8_asn, "encryptionAlgorithm.algorithm",
- enc_oid, &len);
+ result = asn1_read_value(pkcs8_asn, "encryptionAlgorithm.algorithm",
+ enc_oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
goto error;
@@ -879,11 +848,10 @@ int pkcs8_key_info(const gnutls_datum_t * raw_key,
/* Get the DER encoding of the parameters.
*/
- result =
- asn1_der_decoding_startEnd(pkcs8_asn, raw_key->data,
- raw_key->size,
- "encryptionAlgorithm.parameters",
- &params_start, &params_end);
+ result = asn1_der_decoding_startEnd(pkcs8_asn, raw_key->data,
+ raw_key->size,
+ "encryptionAlgorithm.parameters",
+ &params_start, &params_end);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -891,11 +859,10 @@ int pkcs8_key_info(const gnutls_datum_t * raw_key,
}
params_len = params_end - params_start + 1;
- result =
- _gnutls_read_pkcs_schema_params(&schema, NULL,
- &raw_key->data[params_start],
- params_len, kdf_params,
- &enc_params);
+ result = _gnutls_read_pkcs_schema_params(&schema, NULL,
+ &raw_key->data[params_start],
+ params_len, kdf_params,
+ &enc_params);
if (result < 0) {
gnutls_assert();
@@ -917,7 +884,7 @@ int pkcs8_key_info(const gnutls_datum_t * raw_key,
result = 0;
- error:
+error:
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
return result;
}
@@ -926,26 +893,22 @@ int pkcs8_key_info(const gnutls_datum_t * raw_key,
* an internal structure (gnutls_private_key)
* (normally a PKCS #1 encoded RSA key)
*/
-static int
-pkcs8_key_decode(const gnutls_datum_t * raw_key,
- const char *password, gnutls_x509_privkey_t pkey,
- unsigned int decrypt)
+static int pkcs8_key_decode(const gnutls_datum_t *raw_key, const char *password,
+ gnutls_x509_privkey_t pkey, unsigned int decrypt)
{
int result;
asn1_node pkcs8_asn = NULL;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-8-EncryptedPrivateKeyInfo",
- &pkcs8_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(
+ _gnutls_get_pkix(), "PKIX1.pkcs-8-EncryptedPrivateKeyInfo",
+ &pkcs8_asn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
}
- result =
- _asn1_strict_der_decode(&pkcs8_asn, raw_key->data, raw_key->size,
- NULL);
+ result = _asn1_strict_der_decode(&pkcs8_asn, raw_key->data,
+ raw_key->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -957,16 +920,15 @@ pkcs8_key_decode(const gnutls_datum_t * raw_key,
else
result = 0;
- error:
+error:
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
return result;
-
}
/* Decodes an RSA privateKey from a PKCS8 structure.
*/
-static int
-_decode_pkcs8_rsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
+static int _decode_pkcs8_rsa_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
@@ -988,14 +950,14 @@ _decode_pkcs8_rsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
ret = 0;
- error:
+error:
return ret;
}
/* Decodes an RSA-PSS privateKey from a PKCS8 structure.
*/
-static int
-_decode_pkcs8_rsa_pss_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
+static int _decode_pkcs8_rsa_pss_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
@@ -1006,8 +968,8 @@ _decode_pkcs8_rsa_pss_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
ret = _gnutls_x509_read_value(pkcs8_asn,
"privateKeyAlgorithm.parameters", &tmp);
if (ret < 0) {
- if (ret == GNUTLS_E_ASN1_VALUE_NOT_FOUND
- || ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
+ if (ret == GNUTLS_E_ASN1_VALUE_NOT_FOUND ||
+ ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
goto skip_params;
gnutls_assert();
@@ -1022,7 +984,7 @@ _decode_pkcs8_rsa_pss_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
goto error;
}
- skip_params:
+skip_params:
ret = _decode_pkcs8_rsa_key(pkcs8_asn, pkey);
if (ret < 0) {
gnutls_assert();
@@ -1034,14 +996,14 @@ _decode_pkcs8_rsa_pss_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
ret = 0;
- error:
+error:
return ret;
}
/* Decodes an ECC privateKey from a PKCS8 structure.
*/
-static int
-_decode_pkcs8_ecc_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
+static int _decode_pkcs8_ecc_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
@@ -1053,9 +1015,8 @@ _decode_pkcs8_ecc_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
* privateKeyAlgorithm.parameters instead of the ECPrivateKey.parameters.
*/
len = sizeof(oid);
- result =
- asn1_read_value(pkcs8_asn, "privateKeyAlgorithm.parameters",
- oid, &len);
+ result = asn1_read_value(pkcs8_asn, "privateKeyAlgorithm.parameters",
+ oid, &len);
if (result == ASN1_SUCCESS) {
ret = _gnutls_x509_read_ecc_params(oid, len, &curve);
if (ret < 0) {
@@ -1081,13 +1042,12 @@ _decode_pkcs8_ecc_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
ret = 0;
- error:
+error:
return ret;
}
-static int
-_decode_pkcs8_eddsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
- const char *oid)
+static int _decode_pkcs8_eddsa_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey, const char *oid)
{
int ret;
gnutls_datum_t tmp;
@@ -1104,9 +1064,8 @@ _decode_pkcs8_eddsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
ce = _gnutls_ecc_curve_get_params(curve);
if (_curve_is_eddsa(ce)) {
- ret =
- _gnutls_x509_read_string(pkcs8_asn, "privateKey", &tmp,
- ASN1_ETYPE_OCTET_STRING, 1);
+ ret = _gnutls_x509_read_string(pkcs8_asn, "privateKey", &tmp,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (ret < 0) {
gnutls_assert();
return gnutls_assert_val(ret);
@@ -1138,9 +1097,9 @@ _decode_pkcs8_eddsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
}
}
-static int
-_decode_pkcs8_modern_ecdh_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
- const char *oid)
+static int _decode_pkcs8_modern_ecdh_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey,
+ const char *oid)
{
int ret;
gnutls_datum_t tmp;
@@ -1157,9 +1116,8 @@ _decode_pkcs8_modern_ecdh_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
ce = _gnutls_ecc_curve_get_params(curve);
if (_curve_is_modern_ecdh(ce)) {
- ret =
- _gnutls_x509_read_string(pkcs8_asn, "privateKey", &tmp,
- ASN1_ETYPE_OCTET_STRING, 1);
+ ret = _gnutls_x509_read_string(pkcs8_asn, "privateKey", &tmp,
+ ASN1_ETYPE_OCTET_STRING, 1);
if (ret < 0) {
gnutls_assert();
return gnutls_assert_val(ret);
@@ -1194,9 +1152,8 @@ _decode_pkcs8_modern_ecdh_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
/* Converts a GOST key to
* an internal structure (gnutls_private_key)
*/
-static int
-_privkey_decode_gost_key(const gnutls_datum_t * raw_key,
- gnutls_x509_privkey_t pkey)
+static int _privkey_decode_gost_key(const gnutls_datum_t *raw_key,
+ gnutls_x509_privkey_t pkey)
{
int ret;
int ecc_size = gnutls_ecc_curve_get_size(pkey->params.curve);
@@ -1230,9 +1187,8 @@ _privkey_decode_gost_key(const gnutls_datum_t * raw_key,
goto error;
}
- ret = _asn1_strict_der_decode(&pkey_asn,
- raw_key->data, raw_key->size,
- NULL);
+ ret = _asn1_strict_der_decode(&pkey_asn, raw_key->data,
+ raw_key->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -1262,9 +1218,8 @@ _privkey_decode_gost_key(const gnutls_datum_t * raw_key,
goto error;
}
- ret = _asn1_strict_der_decode(&pkey_asn,
- raw_key->data, raw_key->size,
- NULL);
+ ret = _asn1_strict_der_decode(&pkey_asn, raw_key->data,
+ raw_key->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -1273,9 +1228,8 @@ _privkey_decode_gost_key(const gnutls_datum_t * raw_key,
goto error;
}
- ret = _gnutls_x509_read_key_int_le(pkey_asn, "",
- &pkey->
- params.params[GOST_K]);
+ ret = _gnutls_x509_read_key_int_le(
+ pkey_asn, "", &pkey->params.params[GOST_K]);
if (ret < 0) {
gnutls_assert();
asn1_delete_structure2(&pkey_asn,
@@ -1293,20 +1247,21 @@ _privkey_decode_gost_key(const gnutls_datum_t * raw_key,
return 0;
- error:
+error:
return ret;
-
}
/* Decodes a GOST privateKey from a PKCS8 structure.
*/
-static int
-_decode_pkcs8_gost_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
- gnutls_pk_algorithm_t algo)
+static int _decode_pkcs8_gost_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey,
+ gnutls_pk_algorithm_t algo)
{
int ret;
gnutls_datum_t tmp;
- unsigned char oid[3 * MAX_OID_SIZE]; /* GOST parameters can have 3 OIDs at most */
+ unsigned char
+ oid[3 *
+ MAX_OID_SIZE]; /* GOST parameters can have 3 OIDs at most */
int len, result;
gnutls_pk_params_init(&pkey->params);
@@ -1319,9 +1274,8 @@ _decode_pkcs8_gost_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
ret = GNUTLS_E_PARSING_ERROR;
goto error;
} else {
- ret =
- _gnutls_x509_read_gost_params(oid, len, &pkey->params,
- algo);
+ ret = _gnutls_x509_read_gost_params(oid, len, &pkey->params,
+ algo);
if (ret < 0) {
gnutls_assert();
goto error;
@@ -1364,7 +1318,7 @@ _decode_pkcs8_gost_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
return 0;
- error:
+error:
gnutls_pk_params_clear(&pkey->params);
gnutls_pk_params_release(&pkey->params);
@@ -1373,8 +1327,8 @@ _decode_pkcs8_gost_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey,
/* Decodes an DSA privateKey and params from a PKCS8 structure.
*/
-static int
-_decode_pkcs8_dsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
+static int _decode_pkcs8_dsa_key(asn1_node pkcs8_asn,
+ gnutls_x509_privkey_t pkey)
{
int ret;
gnutls_datum_t tmp = { NULL, 0 };
@@ -1387,9 +1341,8 @@ _decode_pkcs8_dsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
goto error;
}
- ret =
- _gnutls_x509_read_der_int(tmp.data, tmp.size,
- &pkey->params.params[4]);
+ ret = _gnutls_x509_read_der_int(tmp.data, tmp.size,
+ &pkey->params.params[4]);
_gnutls_free_key_datum(&tmp);
if (ret < 0) {
@@ -1397,17 +1350,15 @@ _decode_pkcs8_dsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
goto error;
}
- ret =
- _gnutls_x509_read_value(pkcs8_asn,
- "privateKeyAlgorithm.parameters", &tmp);
+ ret = _gnutls_x509_read_value(pkcs8_asn,
+ "privateKeyAlgorithm.parameters", &tmp);
if (ret < 0) {
gnutls_assert();
goto error;
}
- ret =
- _gnutls_x509_read_pubkey_params(GNUTLS_PK_DSA, tmp.data,
- tmp.size, &pkey->params);
+ ret = _gnutls_x509_read_pubkey_params(GNUTLS_PK_DSA, tmp.data, tmp.size,
+ &pkey->params);
_gnutls_free_datum(&tmp);
if (ret < 0) {
gnutls_assert();
@@ -1445,14 +1396,14 @@ _decode_pkcs8_dsa_key(asn1_node pkcs8_asn, gnutls_x509_privkey_t pkey)
return 0;
- error:
+error:
if (pkey->params.params_nr != DSA_PRIVATE_PARAMS)
_gnutls_mpi_release(&pkey->params.params[4]);
return ret;
}
-static int
-decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
+static int decode_private_key_info(const gnutls_datum_t *der,
+ gnutls_x509_privkey_t pkey)
{
int result, len;
char oid[MAX_OID_SIZE];
@@ -1460,17 +1411,16 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
gnutls_datum_t sder;
int ret;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-8-PrivateKeyInfo",
- &pkcs8_asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-8-PrivateKeyInfo",
+ &pkcs8_asn)) != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
}
result =
- _asn1_strict_der_decode(&pkcs8_asn, der->data, der->size, NULL);
+ _asn1_strict_der_decode(&pkcs8_asn, der->data, der->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1480,9 +1430,8 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
/* Check the private key algorithm OID
*/
len = sizeof(oid);
- result =
- asn1_read_value(pkcs8_asn, "privateKeyAlgorithm.algorithm",
- oid, &len);
+ result = asn1_read_value(pkcs8_asn, "privateKeyAlgorithm.algorithm",
+ oid, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1492,8 +1441,8 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
pkey->params.algo = gnutls_oid_to_pk(oid);
if (pkey->params.algo == GNUTLS_PK_UNKNOWN) {
gnutls_assert();
- _gnutls_debug_log
- ("PKCS #8 private key OID '%s' is unsupported.\n", oid);
+ _gnutls_debug_log(
+ "PKCS #8 private key OID '%s' is unsupported.\n", oid);
result = GNUTLS_E_UNKNOWN_PK_ALGORITHM;
goto error;
}
@@ -1525,8 +1474,8 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
case GNUTLS_PK_GOST_01:
case GNUTLS_PK_GOST_12_256:
case GNUTLS_PK_GOST_12_512:
- result = _decode_pkcs8_gost_key(pkcs8_asn,
- pkey, pkey->params.algo);
+ result = _decode_pkcs8_gost_key(pkcs8_asn, pkey,
+ pkey->params.algo);
break;
default:
result = gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
@@ -1539,10 +1488,9 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
}
/* check for provable parameters attribute */
- ret =
- _x509_parse_attribute(pkcs8_asn, "attributes", OID_ATTR_PROV_SEED,
- 0, 1, &sder);
- if (ret >= 0) { /* ignore it when not being present */
+ ret = _x509_parse_attribute(pkcs8_asn, "attributes", OID_ATTR_PROV_SEED,
+ 0, 1, &sder);
+ if (ret >= 0) { /* ignore it when not being present */
ret = _x509_decode_provable_seed(pkey, &sder);
gnutls_free(sder.data);
if (ret < 0) {
@@ -1552,10 +1500,9 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
result = 0;
- error:
+error:
asn1_delete_structure2(&pkcs8_asn, ASN1_DELETE_FLAG_ZEROIZE);
return result;
-
}
/**
@@ -1586,11 +1533,10 @@ decode_private_key_info(const gnutls_datum_t * der, gnutls_x509_privkey_t pkey)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format,
- const char *password, unsigned int flags)
+int gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ const char *password, unsigned int flags)
{
int result = 0, need_free = 0;
gnutls_datum_t _data;
@@ -1610,15 +1556,13 @@ gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
if (format == GNUTLS_X509_FMT_PEM) {
/* Try the first header
*/
- result =
- _gnutls_fbase64_decode(PEM_UNENCRYPTED_PKCS8,
- data->data, data->size, &_data);
+ result = _gnutls_fbase64_decode(PEM_UNENCRYPTED_PKCS8,
+ data->data, data->size, &_data);
- if (result < 0) { /* Try the encrypted header
+ if (result < 0) { /* Try the encrypted header
*/
- result =
- _gnutls_fbase64_decode(PEM_PKCS8, data->data,
- data->size, &_data);
+ result = _gnutls_fbase64_decode(PEM_PKCS8, data->data,
+ data->size, &_data);
if (result < 0) {
gnutls_assert();
@@ -1641,11 +1585,11 @@ gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
*/
if (flags & GNUTLS_PKCS_PLAIN) {
result = decode_private_key_info(&_data, key);
- if (result < 0) { /* check if it is encrypted */
+ if (result < 0) { /* check if it is encrypted */
if (pkcs8_key_decode(&_data, "", key, 0) == 0)
result = GNUTLS_E_DECRYPTION_FAILED;
}
- } else { /* encrypted. */
+ } else { /* encrypted. */
result = pkcs8_key_decode(&_data, password, key, 1);
}
@@ -1657,7 +1601,7 @@ gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
/* This part is necessary to get the public key on certain algorithms.
* In the import above we only get the private key. */
result =
- _gnutls_pk_fixup(key->params.algo, GNUTLS_IMPORT, &key->params);
+ _gnutls_pk_fixup(key->params.algo, GNUTLS_IMPORT, &key->params);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -1670,7 +1614,7 @@ gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,
*/
return 0;
- cleanup:
+cleanup:
asn1_delete_structure2(&key->key, ASN1_DELETE_FLAG_ZEROIZE);
key->params.algo = GNUTLS_PK_UNKNOWN;
if (need_free) {
diff --git a/lib/x509/privkey_pkcs8_pbes1.c b/lib/x509/privkey_pkcs8_pbes1.c
index c08df189aa..65cb77fd97 100644
--- a/lib/x509/privkey_pkcs8_pbes1.c
+++ b/lib/x509/privkey_pkcs8_pbes1.c
@@ -37,7 +37,7 @@
* We only support decryption for compatibility with other software.
*/
-int _gnutls_read_pbkdf1_params(const uint8_t * data, int data_size,
+int _gnutls_read_pbkdf1_params(const uint8_t *data, int data_size,
struct pbkdf2_params *kdf_params,
struct pbe_enc_params *enc_params)
{
@@ -48,10 +48,9 @@ int _gnutls_read_pbkdf1_params(const uint8_t * data, int data_size,
memset(kdf_params, 0, sizeof(*kdf_params));
memset(enc_params, 0, sizeof(*enc_params));
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.pkcs-5-PBE-params",
- &pasn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.pkcs-5-PBE-params", &pasn)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -65,16 +64,15 @@ int _gnutls_read_pbkdf1_params(const uint8_t * data, int data_size,
goto error;
}
- ret =
- _gnutls_x509_read_uint(pasn, "iterationCount",
- &kdf_params->iter_count);
+ ret = _gnutls_x509_read_uint(pasn, "iterationCount",
+ &kdf_params->iter_count);
if (ret < 0) {
gnutls_assert();
goto error;
}
- if (kdf_params->iter_count >= MAX_ITER_COUNT
- || kdf_params->iter_count == 0) {
+ if (kdf_params->iter_count >= MAX_ITER_COUNT ||
+ kdf_params->iter_count == 0) {
ret = gnutls_assert_val(GNUTLS_E_ILLEGAL_PARAMETER);
goto error;
}
@@ -96,15 +94,14 @@ int _gnutls_read_pbkdf1_params(const uint8_t * data, int data_size,
enc_params->cipher = GNUTLS_CIPHER_DES_CBC;
ret = 0;
- error:
+error:
asn1_delete_structure2(&pasn, ASN1_DELETE_FLAG_ZEROIZE);
return ret;
-
}
static void pbkdf1_md5(const char *password, unsigned password_len,
const uint8_t salt[8], unsigned iter_count,
- unsigned key_size, uint8_t * key)
+ unsigned key_size, uint8_t *key)
{
struct md5_ctx ctx;
uint8_t tmp[16];
@@ -116,7 +113,7 @@ static void pbkdf1_md5(const char *password, unsigned password_len,
for (i = 0; i < iter_count; i++) {
md5_init(&ctx);
if (i == 0) {
- md5_update(&ctx, password_len, (uint8_t *) password);
+ md5_update(&ctx, password_len, (uint8_t *)password);
md5_update(&ctx, 8, salt);
md5_digest(&ctx, 16, tmp);
} else {
@@ -129,13 +126,12 @@ static void pbkdf1_md5(const char *password, unsigned password_len,
return;
}
-int
-_gnutls_decrypt_pbes1_des_md5_data(const char *password,
- unsigned password_len,
- const struct pbkdf2_params *kdf_params,
- const struct pbe_enc_params *enc_params,
- const gnutls_datum_t * encrypted_data,
- gnutls_datum_t * decrypted_data)
+int _gnutls_decrypt_pbes1_des_md5_data(const char *password,
+ unsigned password_len,
+ const struct pbkdf2_params *kdf_params,
+ const struct pbe_enc_params *enc_params,
+ const gnutls_datum_t *encrypted_data,
+ gnutls_datum_t *decrypted_data)
{
int result;
gnutls_datum_t dkey, d_iv;
@@ -165,28 +161,27 @@ _gnutls_decrypt_pbes1_des_md5_data(const char *password,
}
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_NOT_APPROVED);
- result =
- gnutls_cipher_decrypt(ch, encrypted_data->data,
- encrypted_data->size);
+ result = gnutls_cipher_decrypt(ch, encrypted_data->data,
+ encrypted_data->size);
if (result < 0) {
gnutls_assert();
goto error;
}
if ((int)encrypted_data->size -
- encrypted_data->data[encrypted_data->size - 1] < 0) {
+ encrypted_data->data[encrypted_data->size - 1] <
+ 0) {
gnutls_assert();
result = GNUTLS_E_ILLEGAL_PARAMETER;
goto error;
}
decrypted_data->data = encrypted_data->data;
- decrypted_data->size =
- encrypted_data->size - encrypted_data->data[encrypted_data->size -
- 1];
+ decrypted_data->size = encrypted_data->size -
+ encrypted_data->data[encrypted_data->size - 1];
result = 0;
- error:
+error:
gnutls_cipher_deinit(ch);
return result;
diff --git a/lib/x509/prov-seed.c b/lib/x509/prov-seed.c
index 0e2543d87f..edbb8b4203 100644
--- a/lib/x509/prov-seed.c
+++ b/lib/x509/prov-seed.c
@@ -33,9 +33,8 @@
/* This function encodes a seed value and a hash algorithm OID to the format
* described in RFC8479. The output is the DER encoded form.
*/
-int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t * der)
+int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t *der)
{
-
asn1_node c2;
int ret, result;
const char *oid;
@@ -44,16 +43,15 @@ int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t * der)
if (oid == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- if ((result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.ProvableSeed", &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.ProvableSeed", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result =
- asn1_write_value(c2, "seed", pkey->params.seed,
- pkey->params.seed_size);
+ result = asn1_write_value(c2, "seed", pkey->params.seed,
+ pkey->params.seed_size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -75,7 +73,7 @@ int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t * der)
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure2(&c2, ASN1_DELETE_FLAG_ZEROIZE);
return ret;
}
@@ -84,18 +82,17 @@ int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t * der)
* RFC8479.
*/
int _x509_decode_provable_seed(gnutls_x509_privkey_t pkey,
- const gnutls_datum_t * der)
+ const gnutls_datum_t *der)
{
-
asn1_node c2;
int ret, result;
char oid[MAX_OID_SIZE];
int oid_size;
gnutls_datum_t seed = { NULL, 0 };
- if ((result =
- asn1_create_element(_gnutls_get_gnutls_asn(),
- "GNUTLS.ProvableSeed", &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.ProvableSeed", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -117,10 +114,10 @@ int _x509_decode_provable_seed(gnutls_x509_privkey_t pkey,
memcpy(pkey->params.seed, seed.data, seed.size);
pkey->params.seed_size = seed.size;
} else {
- ret = 0; /* ignore struct */
- _gnutls_debug_log
- ("%s: ignoring ProvableSeed due to very long params\n",
- __func__);
+ ret = 0; /* ignore struct */
+ _gnutls_debug_log(
+ "%s: ignoring ProvableSeed due to very long params\n",
+ __func__);
goto cleanup;
}
@@ -137,7 +134,7 @@ int _x509_decode_provable_seed(gnutls_x509_privkey_t pkey,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(seed.data);
asn1_delete_structure2(&c2, ASN1_DELETE_FLAG_ZEROIZE);
return ret;
diff --git a/lib/x509/prov-seed.h b/lib/x509/prov-seed.h
index a314a86e89..b34b302809 100644
--- a/lib/x509/prov-seed.h
+++ b/lib/x509/prov-seed.h
@@ -21,11 +21,10 @@
*/
#ifndef GNUTLS_LIB_X509_PROV_SEED_H
-# define GNUTLS_LIB_X509_PROV_SEED_H
+#define GNUTLS_LIB_X509_PROV_SEED_H
-int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey,
- gnutls_datum_t * der);
+int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t *der);
int _x509_decode_provable_seed(gnutls_x509_privkey_t pkey,
- const gnutls_datum_t * der);
+ const gnutls_datum_t *der);
-#endif /* GNUTLS_LIB_X509_PROV_SEED_H */
+#endif /* GNUTLS_LIB_X509_PROV_SEED_H */
diff --git a/lib/x509/sign.c b/lib/x509/sign.c
index 8cb99b9ec1..48992d4cfa 100644
--- a/lib/x509/sign.c
+++ b/lib/x509/sign.c
@@ -29,7 +29,7 @@
#include "errors.h"
#include <libtasn1.h>
#include <global.h>
-#include <num.h> /* MAX */
+#include <num.h> /* MAX */
#include <tls-sig.h>
#include <str.h>
#include <datum.h>
@@ -42,16 +42,15 @@
* the asn1_node given, and sign the DER data. Actually used to get the DER
* of the TBS and sign it on the fly.
*/
-int
-_gnutls_x509_get_tbs(asn1_node cert, const char *tbs_name, gnutls_datum_t * tbs)
+int _gnutls_x509_get_tbs(asn1_node cert, const char *tbs_name,
+ gnutls_datum_t *tbs)
{
return _gnutls_x509_der_encode(cert, tbs_name, tbs, 0);
}
-int
-_gnutls_x509_crt_get_spki_params(gnutls_x509_crt_t crt,
- const gnutls_x509_spki_st * key_params,
- gnutls_x509_spki_st * params)
+int _gnutls_x509_crt_get_spki_params(gnutls_x509_crt_t crt,
+ const gnutls_x509_spki_st *key_params,
+ gnutls_x509_spki_st *params)
{
int result;
gnutls_x509_spki_st crt_params;
@@ -73,8 +72,8 @@ _gnutls_x509_crt_get_spki_params(gnutls_x509_crt_t crt,
gnutls_assert();
return GNUTLS_E_CERTIFICATE_ERROR;
}
- } else if (key_params->pk != GNUTLS_PK_RSA
- && key_params->pk != GNUTLS_PK_UNKNOWN) {
+ } else if (key_params->pk != GNUTLS_PK_RSA &&
+ key_params->pk != GNUTLS_PK_UNKNOWN) {
gnutls_assert();
return GNUTLS_E_CERTIFICATE_ERROR;
}
@@ -98,11 +97,10 @@ _gnutls_x509_crt_get_spki_params(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
-*/
-int
-_gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
- gnutls_digest_algorithm_t dig,
- unsigned int flags,
- gnutls_x509_crt_t issuer, gnutls_privkey_t issuer_key)
+int _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
+ gnutls_digest_algorithm_t dig, unsigned int flags,
+ gnutls_x509_crt_t issuer,
+ gnutls_privkey_t issuer_key)
{
int result;
gnutls_datum_t signature;
@@ -140,8 +138,8 @@ _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
_gnutls_str_cpy(name, sizeof(name), src_name);
_gnutls_str_cat(name, sizeof(name), ".issuer");
- result =
- asn1_copy_node(src, name, issuer->cert, "tbsCertificate.subject");
+ result = asn1_copy_node(src, name, issuer->cert,
+ "tbsCertificate.subject");
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -154,8 +152,8 @@ _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
se = _gnutls_pk_to_sign_entry(params.pk, dig);
if (se == NULL)
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
_gnutls_debug_log("signing structure using %s\n", se->name);
@@ -177,12 +175,11 @@ _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
FIX_SIGN_PARAMS(params, flags, dig);
if (_gnutls_pk_is_not_prehashed(params.pk)) {
- result =
- privkey_sign_raw_data(issuer_key, se, &tbs, &signature,
- &params);
+ result = privkey_sign_raw_data(issuer_key, se, &tbs, &signature,
+ &params);
} else {
- result = privkey_sign_and_hash_data(issuer_key, se,
- &tbs, &signature, &params);
+ result = privkey_sign_and_hash_data(issuer_key, se, &tbs,
+ &signature, &params);
}
gnutls_free(tbs.data);
@@ -193,9 +190,8 @@ _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
/* write the signature (bits)
*/
- result =
- asn1_write_value(src, "signature", signature.data,
- signature.size * 8);
+ result = asn1_write_value(src, "signature", signature.data,
+ signature.size * 8);
_gnutls_free_datum(&signature);
@@ -208,8 +204,8 @@ _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
* the same.
*/
- result = _gnutls_x509_write_sign_params(src, "signatureAlgorithm",
- se, &params);
+ result = _gnutls_x509_write_sign_params(src, "signatureAlgorithm", se,
+ &params);
if (result < 0) {
gnutls_assert();
return result;
diff --git a/lib/x509/spki.c b/lib/x509/spki.c
index 885a5c8bc4..9e2a6e57c7 100644
--- a/lib/x509/spki.c
+++ b/lib/x509/spki.c
@@ -40,7 +40,7 @@
* Since: 3.6.0
*
**/
-int gnutls_x509_spki_init(gnutls_x509_spki_t * spki)
+int gnutls_x509_spki_init(gnutls_x509_spki_t *spki)
{
gnutls_x509_spki_t tmp;
@@ -54,7 +54,7 @@ int gnutls_x509_spki_init(gnutls_x509_spki_t * spki)
*spki = tmp;
- return 0; /* success */
+ return 0; /* success */
}
/**
@@ -83,10 +83,9 @@ void gnutls_x509_spki_deinit(gnutls_x509_spki_t spki)
* Since: 3.6.0
*
**/
-void
-gnutls_x509_spki_set_rsa_pss_params(gnutls_x509_spki_t spki,
- gnutls_digest_algorithm_t dig,
- unsigned int salt_size)
+void gnutls_x509_spki_set_rsa_pss_params(gnutls_x509_spki_t spki,
+ gnutls_digest_algorithm_t dig,
+ unsigned int salt_size)
{
spki->pk = GNUTLS_PK_RSA_PSS;
spki->rsa_pss_dig = dig;
@@ -108,10 +107,9 @@ gnutls_x509_spki_set_rsa_pss_params(gnutls_x509_spki_t spki,
* Since: 3.6.0
*
**/
-int
-gnutls_x509_spki_get_rsa_pss_params(gnutls_x509_spki_t spki,
- gnutls_digest_algorithm_t * dig,
- unsigned int *salt_size)
+int gnutls_x509_spki_get_rsa_pss_params(gnutls_x509_spki_t spki,
+ gnutls_digest_algorithm_t *dig,
+ unsigned int *salt_size)
{
if (spki->pk == 0)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
diff --git a/lib/x509/time.c b/lib/x509/time.c
index 3dc4eaa751..d9b420559f 100644
--- a/lib/x509/time.c
+++ b/lib/x509/time.c
@@ -46,7 +46,7 @@
*/
typedef struct fake_tm {
int tm_mon;
- int tm_year; /* FULL year - ie 1971 */
+ int tm_year; /* FULL year - ie 1971 */
int tm_mday;
int tm_hour;
int tm_min;
@@ -63,7 +63,7 @@ static const int MONTHDAYS[] = {
31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};
- /* Whether a given year is a leap year. */
+/* Whether a given year is a leap year. */
#define ISLEAP(year) \
(((year) % 4) == 0 && (((year) % 100) != 0 || ((year) % 400) == 0))
@@ -78,20 +78,20 @@ static time_t mktime_utc(const struct fake_tm *tm)
time_t result = 0;
int i;
-/* We do allow some ill-formed dates, but we don't do anything special
+ /* We do allow some ill-formed dates, but we don't do anything special
* with them and our callers really shouldn't pass them to us. Do
* explicitly disallow the ones that would cause invalid array accesses
* or other algorithm problems.
*/
if (tm->tm_mon < 0 || tm->tm_mon > 11 || tm->tm_year < 1970)
- return (time_t) - 1;
+ return (time_t)-1;
/* Check for "obvious" mistakes in dates */
- if (tm->tm_sec > 60 || tm->tm_min > 59 || tm->tm_mday > 31
- || tm->tm_mday < 1 || tm->tm_hour > 23)
- return (time_t) - 1;
+ if (tm->tm_sec > 60 || tm->tm_min > 59 || tm->tm_mday > 31 ||
+ tm->tm_mday < 1 || tm->tm_hour > 23)
+ return (time_t)-1;
-/* Convert to a time_t.
+ /* Convert to a time_t.
*/
for (i = 1970; i < tm->tm_year; i++)
result += 365 + ISLEAP(i);
@@ -116,7 +116,7 @@ static time_t time2gtime(const char *ttime, int year)
if (strlen(ttime) < 8) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
etime.tm_year = year;
@@ -125,34 +125,34 @@ static time_t time2gtime(const char *ttime, int year)
* time_t.
*/
if (sizeof(time_t) <= 4 && etime.tm_year >= 2038)
- return (time_t) 2145914603; /* 2037-12-31 23:23:23 */
+ return (time_t)2145914603; /* 2037-12-31 23:23:23 */
if (etime.tm_year < 1970)
- return (time_t) 0;
+ return (time_t)0;
xx[2] = 0;
-/* get the month
+ /* get the month
*/
- memcpy(xx, ttime, 2); /* month */
+ memcpy(xx, ttime, 2); /* month */
etime.tm_mon = atoi(xx) - 1;
ttime += 2;
-/* get the day
+ /* get the day
*/
- memcpy(xx, ttime, 2); /* day */
+ memcpy(xx, ttime, 2); /* day */
etime.tm_mday = atoi(xx);
ttime += 2;
-/* get the hour
+ /* get the hour
*/
- memcpy(xx, ttime, 2); /* hour */
+ memcpy(xx, ttime, 2); /* hour */
etime.tm_hour = atoi(xx);
ttime += 2;
-/* get the minutes
+ /* get the minutes
*/
- memcpy(xx, ttime, 2); /* minutes */
+ memcpy(xx, ttime, 2); /* minutes */
etime.tm_min = atoi(xx);
ttime += 2;
@@ -179,21 +179,21 @@ time_t _gnutls_utcTime2gtime(const char *ttime)
if (len < 10) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
#ifdef STRICT_DER_TIME
/* Make sure everything else is digits. */
for (i = 0; i < len - 1; i++) {
if (c_isdigit(ttime[i]))
continue;
- return gnutls_assert_val((time_t) - 1);
+ return gnutls_assert_val((time_t)-1);
}
#endif
xx[2] = 0;
-/* get the year
+ /* get the year
*/
- memcpy(xx, ttime, 2); /* year */
+ memcpy(xx, ttime, 2); /* year */
year = atoi(xx);
ttime += 2;
@@ -216,25 +216,25 @@ time_t _gnutls_x509_generalTime2gtime(const char *ttime)
if (strlen(ttime) < 12) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
if (strchr(ttime, 'Z') == 0) {
gnutls_assert();
/* required to be in GMT */
- return (time_t) - 1;
+ return (time_t)-1;
}
if (strchr(ttime, '.') != 0) {
gnutls_assert();
/* no fractional seconds allowed */
- return (time_t) - 1;
+ return (time_t)-1;
}
xx[4] = 0;
-/* get the year
+ /* get the year
*/
- memcpy(xx, ttime, 4); /* year */
+ memcpy(xx, ttime, 4); /* year */
year = atoi(xx);
ttime += 4;
@@ -244,18 +244,17 @@ time_t _gnutls_x509_generalTime2gtime(const char *ttime)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-y2k"
/* tag will contain ASN1_TAG_UTCTime or ASN1_TAG_GENERALIZEDTime */
-static int
-gtime_to_suitable_time(time_t gtime, char *str_time, size_t str_time_size,
- unsigned *tag)
+static int gtime_to_suitable_time(time_t gtime, char *str_time,
+ size_t str_time_size, unsigned *tag)
{
size_t ret;
struct tm _tm;
- if (gtime == (time_t) - 1
+ if (gtime == (time_t)-1
#if SIZEOF_LONG == 8
|| gtime >= 253402210800
#endif
- ) {
+ ) {
if (tag)
*tag = ASN1_TAG_GENERALIZEDTime;
snprintf(str_time, str_time_size, "99991231235959Z");
@@ -287,17 +286,17 @@ gtime_to_suitable_time(time_t gtime, char *str_time, size_t str_time_size,
#pragma GCC diagnostic pop
-static int
-gtime_to_generalTime(time_t gtime, char *str_time, size_t str_time_size)
+static int gtime_to_generalTime(time_t gtime, char *str_time,
+ size_t str_time_size)
{
size_t ret;
struct tm _tm;
- if (gtime == (time_t) - 1
+ if (gtime == (time_t)-1
#if SIZEOF_LONG == 8
|| gtime >= 253402210800
#endif
- ) {
+ ) {
snprintf(str_time, str_time_size, "99991231235959Z");
return 0;
}
@@ -324,14 +323,14 @@ time_t _gnutls_x509_get_time(asn1_node c2, const char *where, int force_general)
{
char ttime[MAX_TIME];
char name[128];
- time_t c_time = (time_t) - 1;
+ time_t c_time = (time_t)-1;
int len, result;
len = sizeof(ttime) - 1;
result = asn1_read_value(c2, where, ttime, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
- return (time_t) (-1);
+ return (time_t)(-1);
}
if (force_general != 0) {
@@ -351,7 +350,7 @@ time_t _gnutls_x509_get_time(asn1_node c2, const char *where, int force_general)
result = asn1_read_value(c2, name, ttime, &len);
if (result == ASN1_SUCCESS)
c_time = _gnutls_x509_generalTime2gtime(ttime);
- } else { /* UTCTIME */
+ } else { /* UTCTIME */
if (name[0] == 0)
_gnutls_str_cpy(name, sizeof(name), "utcTime");
else
@@ -367,7 +366,7 @@ time_t _gnutls_x509_get_time(asn1_node c2, const char *where, int force_general)
*/
if (result != ASN1_SUCCESS) {
gnutls_assert();
- return (time_t) (-1);
+ return (time_t)(-1);
}
}
@@ -377,9 +376,8 @@ time_t _gnutls_x509_get_time(asn1_node c2, const char *where, int force_general)
/* Sets the time in time_t in the asn1_node given. Where should
* be something like "tbsCertList.thisUpdate".
*/
-int
-_gnutls_x509_set_time(asn1_node c2, const char *where, time_t tim,
- int force_general)
+int _gnutls_x509_set_time(asn1_node c2, const char *where, time_t tim,
+ int force_general)
{
char str_time[MAX_TIME];
char name[128];
@@ -412,8 +410,8 @@ _gnutls_x509_set_time(asn1_node c2, const char *where, time_t tim,
}
_gnutls_str_cat(name, sizeof(name), ".utcTime");
} else {
- if ((result =
- asn1_write_value(c2, where, "generalTime", 1)) < 0) {
+ if ((result = asn1_write_value(c2, where, "generalTime", 1)) <
+ 0) {
gnutls_assert();
return _gnutls_asn2err(result);
}
diff --git a/lib/x509/tls_features.c b/lib/x509/tls_features.c
index c269fe3926..2a12438c40 100644
--- a/lib/x509/tls_features.c
+++ b/lib/x509/tls_features.c
@@ -45,7 +45,7 @@
*
* Since: 3.5.1
**/
-int gnutls_x509_tlsfeatures_init(gnutls_x509_tlsfeatures_t * f)
+int gnutls_x509_tlsfeatures_init(gnutls_x509_tlsfeatures_t *f)
{
*f = gnutls_calloc(1, sizeof(struct gnutls_x509_tlsfeatures_st));
if (*f == NULL)
@@ -134,9 +134,9 @@ int gnutls_x509_crt_get_tlsfeatures(gnutls_x509_crt_t crt,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crt_get_extension(crt, GNUTLS_X509EXT_OID_TLSFEATURES,
- 0, &der, critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(
+ crt, GNUTLS_X509EXT_OID_TLSFEATURES, 0, &der, critical)) <
+ 0) {
return ret;
}
@@ -152,7 +152,7 @@ int gnutls_x509_crt_get_tlsfeatures(gnutls_x509_crt_t crt,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(der.data);
return ret;
}
@@ -188,9 +188,8 @@ int gnutls_x509_crt_set_tlsfeatures(gnutls_x509_crt_t crt,
return ret;
}
- ret =
- _gnutls_x509_crt_set_extension(crt, GNUTLS_X509EXT_OID_TLSFEATURES,
- &der, 0);
+ ret = _gnutls_x509_crt_set_extension(
+ crt, GNUTLS_X509EXT_OID_TLSFEATURES, &der, 0);
_gnutls_free_datum(&der);
@@ -222,7 +221,7 @@ unsigned gnutls_x509_tlsfeatures_check_crt(gnutls_x509_tlsfeatures_t feat,
unsigned i, j, uret, found;
if (feat->size == 0)
- return 1; /* shortcut; no constraints to check */
+ return 1; /* shortcut; no constraints to check */
ret = gnutls_x509_tlsfeatures_init(&cfeat);
if (ret < 0)
@@ -237,9 +236,9 @@ unsigned gnutls_x509_tlsfeatures_check_crt(gnutls_x509_tlsfeatures_t feat,
/* if cert's features cannot be a superset */
if (feat->size > cfeat->size) {
- _gnutls_debug_log
- ("certificate has %u, while issuer has %u tlsfeatures\n",
- cfeat->size, feat->size);
+ _gnutls_debug_log(
+ "certificate has %u, while issuer has %u tlsfeatures\n",
+ cfeat->size, feat->size);
gnutls_assert();
uret = 0;
goto cleanup;
@@ -263,7 +262,7 @@ unsigned gnutls_x509_tlsfeatures_check_crt(gnutls_x509_tlsfeatures_t feat,
}
uret = 1;
- cleanup:
+cleanup:
gnutls_x509_tlsfeatures_deinit(cfeat);
return uret;
}
diff --git a/lib/x509/verify-high.c b/lib/x509/verify-high.c
index 7b8b270d69..7109bb0a8c 100644
--- a/lib/x509/verify-high.c
+++ b/lib/x509/verify-high.c
@@ -25,7 +25,7 @@
#include "errors.h"
#include <libtasn1.h>
#include <global.h>
-#include <num.h> /* MAX */
+#include <num.h> /* MAX */
#include <tls-sig.h>
#include <str.h>
#include <datum.h>
@@ -80,8 +80,8 @@ static bool cert_eq(const void *cert1, const void *cert2)
static size_t cert_hashcode(const void *cert)
{
const gnutls_x509_crt_t c = (const gnutls_x509_crt_t)cert;
- return hash_pjw_bare(c->raw_dn.data,
- c->raw_dn.size) % DEFAULT_MAX_VERIFY_DEPTH;
+ return hash_pjw_bare(c->raw_dn.data, c->raw_dn.size) %
+ DEFAULT_MAX_VERIFY_DEPTH;
}
/**
@@ -96,8 +96,8 @@ static size_t cert_hashcode(const void *cert)
*
* Since: 3.0.0
**/
-int
-gnutls_x509_trust_list_init(gnutls_x509_trust_list_t * list, unsigned int size)
+int gnutls_x509_trust_list_init(gnutls_x509_trust_list_t *list,
+ unsigned int size)
{
gnutls_x509_trust_list_t tmp;
@@ -122,7 +122,7 @@ gnutls_x509_trust_list_init(gnutls_x509_trust_list_t * list, unsigned int size)
*list = tmp;
- return 0; /* success */
+ return 0; /* success */
}
/**
@@ -137,8 +137,8 @@ gnutls_x509_trust_list_init(gnutls_x509_trust_list_t * list, unsigned int size)
*
* Since: 3.0.0
**/
-void
-gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list, unsigned int all)
+void gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list,
+ unsigned int all)
{
unsigned int i, j;
@@ -158,8 +158,8 @@ gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list, unsigned int all)
for (i = 0; i < list->size; i++) {
if (all) {
for (j = 0; j < list->node[i].trusted_ca_size; j++) {
- gnutls_x509_crt_deinit(list->node[i].
- trusted_cas[j]);
+ gnutls_x509_crt_deinit(
+ list->node[i].trusted_cas[j]);
}
}
gnutls_free(list->node[i].trusted_cas);
@@ -173,8 +173,8 @@ gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list, unsigned int all)
if (all) {
for (j = 0; j < list->node[i].named_cert_size; j++) {
- gnutls_x509_crt_deinit(list->node[i].named_certs
- [j].cert);
+ gnutls_x509_crt_deinit(
+ list->node[i].named_certs[j].cert);
}
}
gnutls_free(list->node[i].named_certs);
@@ -186,8 +186,8 @@ gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list, unsigned int all)
gnutls_free(list);
}
-static int
-add_new_ca_to_rdn_seq(gnutls_x509_trust_list_t list, gnutls_x509_crt_t ca)
+static int add_new_ca_to_rdn_seq(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t ca)
{
gnutls_datum_t tmp;
size_t newsize;
@@ -228,17 +228,16 @@ add_new_ca_to_rdn_seq(gnutls_x509_trust_list_t list, gnutls_x509_crt_t ca)
* deallocated on deinit. This is to handle get_issuer() with
* pkcs11 trust modules when the GNUTLS_TL_GET_COPY flag isn't
* given. It is not thread safe. */
-static int
-trust_list_add_compat(gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert)
+static int trust_list_add_compat(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t cert)
{
if (unlikely(INT_ADD_OVERFLOW(list->keep_certs_size, 1))) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
- list->keep_certs =
- _gnutls_reallocarray_fast(list->keep_certs,
- list->keep_certs_size + 1,
- sizeof(list->keep_certs[0]));
+ list->keep_certs = _gnutls_reallocarray_fast(
+ list->keep_certs, list->keep_certs_size + 1,
+ sizeof(list->keep_certs[0]));
if (list->keep_certs == NULL) {
gnutls_assert();
return GNUTLS_E_MEMORY_ERROR;
@@ -279,10 +278,9 @@ trust_list_add_compat(gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert)
*
* Since: 3.0.0
**/
-int
-gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
- const gnutls_x509_crt_t * clist,
- unsigned clist_size, unsigned int flags)
+int gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
+ const gnutls_x509_crt_t *clist,
+ unsigned clist_size, unsigned int flags)
{
unsigned i, j;
size_t hash;
@@ -291,27 +289,22 @@ gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
for (i = 0; i < clist_size; i++) {
exists = 0;
- hash =
- hash_pjw_bare(clist[i]->raw_dn.data, clist[i]->raw_dn.size);
+ hash = hash_pjw_bare(clist[i]->raw_dn.data,
+ clist[i]->raw_dn.size);
hash %= list->size;
/* avoid duplicates */
- if (flags & GNUTLS_TL_NO_DUPLICATES
- || flags & GNUTLS_TL_NO_DUPLICATE_KEY) {
+ if (flags & GNUTLS_TL_NO_DUPLICATES ||
+ flags & GNUTLS_TL_NO_DUPLICATE_KEY) {
for (j = 0; j < list->node[hash].trusted_ca_size; j++) {
if (flags & GNUTLS_TL_NO_DUPLICATES)
- ret =
- gnutls_x509_crt_equals(list->node
- [hash].trusted_cas
- [j],
- clist[i]);
+ ret = gnutls_x509_crt_equals(
+ list->node[hash].trusted_cas[j],
+ clist[i]);
else
- ret =
- _gnutls_check_if_same_key(list->node
- [hash].trusted_cas
- [j],
- clist[i],
- 1);
+ ret = _gnutls_check_if_same_key(
+ list->node[hash].trusted_cas[j],
+ clist[i], 1);
if (ret != 0) {
exists = 1;
break;
@@ -319,27 +312,23 @@ gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
}
if (exists != 0) {
- gnutls_x509_crt_deinit(list->
- node[hash].trusted_cas
- [j]);
+ gnutls_x509_crt_deinit(
+ list->node[hash].trusted_cas[j]);
list->node[hash].trusted_cas[j] = clist[i];
continue;
}
}
- if (unlikely
- (INT_ADD_OVERFLOW(list->node[hash].trusted_ca_size, 1))) {
+ if (unlikely(INT_ADD_OVERFLOW(list->node[hash].trusted_ca_size,
+ 1))) {
gnutls_assert();
return i;
}
- list->node[hash].trusted_cas =
- _gnutls_reallocarray_fast(list->node[hash].trusted_cas,
- list->node[hash].trusted_ca_size +
- 1,
- sizeof(list->
- node[hash].trusted_cas
- [0]));
+ list->node[hash].trusted_cas = _gnutls_reallocarray_fast(
+ list->node[hash].trusted_cas,
+ list->node[hash].trusted_ca_size + 1,
+ sizeof(list->node[hash].trusted_cas[0]));
if (list->node[hash].trusted_cas == NULL) {
gnutls_assert();
return i;
@@ -350,15 +339,16 @@ gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
gnutls_datum_t dn;
gnutls_assert();
if (gnutls_x509_crt_get_dn2(clist[i], &dn) >= 0) {
- _gnutls_audit_log(NULL,
- "There was a non-CA certificate in the trusted list: %s.\n",
- dn.data);
+ _gnutls_audit_log(
+ NULL,
+ "There was a non-CA certificate in the trusted list: %s.\n",
+ dn.data);
gnutls_free(dn.data);
}
}
list->node[hash].trusted_cas[list->node[hash].trusted_ca_size] =
- clist[i];
+ clist[i];
list->node[hash].trusted_ca_size++;
if (flags & GNUTLS_TL_USE_IN_TLS) {
@@ -373,8 +363,8 @@ gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,
return i;
}
-static int
-advance_iter(gnutls_x509_trust_list_t list, gnutls_x509_trust_list_iter_t iter)
+static int advance_iter(gnutls_x509_trust_list_t list,
+ gnutls_x509_trust_list_iter_t iter)
{
if (iter->node_index < list->size) {
++iter->ca_index;
@@ -382,7 +372,7 @@ advance_iter(gnutls_x509_trust_list_t list, gnutls_x509_trust_list_iter_t iter)
/* skip entries */
while (iter->node_index < list->size &&
iter->ca_index >=
- list->node[iter->node_index].trusted_ca_size) {
+ list->node[iter->node_index].trusted_ca_size) {
++iter->node_index;
iter->ca_index = 0;
}
@@ -394,18 +384,14 @@ advance_iter(gnutls_x509_trust_list_t list, gnutls_x509_trust_list_iter_t iter)
#ifdef ENABLE_PKCS11
if (list->pkcs11_token != NULL) {
if (iter->pkcs11_list == NULL) {
- int ret =
- gnutls_pkcs11_obj_list_import_url2
- (&iter->pkcs11_list,
- &iter->pkcs11_size,
- list->pkcs11_token,
- (GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE
- |
- GNUTLS_PKCS11_OBJ_FLAG_CRT
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_CA
- | GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED),
- 0);
+ int ret = gnutls_pkcs11_obj_list_import_url2(
+ &iter->pkcs11_list, &iter->pkcs11_size,
+ list->pkcs11_token,
+ (GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
+ GNUTLS_PKCS11_OBJ_FLAG_CRT |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_CA |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED),
+ 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -446,17 +432,16 @@ advance_iter(gnutls_x509_trust_list_t list, gnutls_x509_trust_list_iter_t iter)
*
* Since: 3.4.0
**/
-int
-gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,
- gnutls_x509_trust_list_iter_t * iter,
- gnutls_x509_crt_t * crt)
+int gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,
+ gnutls_x509_trust_list_iter_t *iter,
+ gnutls_x509_crt_t *crt)
{
int ret;
/* initialize iterator */
if (*iter == NULL) {
- *iter =
- gnutls_malloc(sizeof(struct gnutls_x509_trust_list_iter));
+ *iter = gnutls_malloc(
+ sizeof(struct gnutls_x509_trust_list_iter));
if (*iter == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -488,10 +473,9 @@ gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- _gnutls_x509_crt_cpy(*crt,
- list->node[(*iter)->
- node_index].trusted_cas[(*iter)->ca_index]);
+ ret = _gnutls_x509_crt_cpy(
+ *crt, list->node[(*iter)->node_index]
+ .trusted_cas[(*iter)->ca_index]);
if (ret < 0) {
gnutls_x509_crt_deinit(*crt);
return gnutls_assert_val(ret);
@@ -503,10 +487,8 @@ gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_crt_import_pkcs11(*crt,
- (*iter)->
- pkcs11_list[(*iter)->pkcs11_index]);
+ ret = gnutls_x509_crt_import_pkcs11(
+ *crt, (*iter)->pkcs11_list[(*iter)->pkcs11_index]);
if (ret < 0) {
gnutls_x509_crt_deinit(*crt);
return gnutls_assert_val(ret);
@@ -604,31 +586,30 @@ static gnutls_x509_crt_t crt_cpy(gnutls_x509_crt_t src)
*
* Since: 3.1.10
**/
-int
-gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t list,
- const gnutls_x509_crt_t * clist,
- unsigned clist_size)
+int gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t list,
+ const gnutls_x509_crt_t *clist,
+ unsigned clist_size)
{
int r = 0;
unsigned j, i;
size_t hash;
for (i = 0; i < clist_size; i++) {
- hash =
- hash_pjw_bare(clist[i]->raw_dn.data, clist[i]->raw_dn.size);
+ hash = hash_pjw_bare(clist[i]->raw_dn.data,
+ clist[i]->raw_dn.size);
hash %= list->size;
for (j = 0; j < list->node[hash].trusted_ca_size; j++) {
- if (gnutls_x509_crt_equals
- (clist[i], list->node[hash].trusted_cas[j]) != 0) {
-
- gnutls_x509_crt_deinit(list->node[hash].
- trusted_cas[j]);
+ if (gnutls_x509_crt_equals(
+ clist[i],
+ list->node[hash].trusted_cas[j]) != 0) {
+ gnutls_x509_crt_deinit(
+ list->node[hash].trusted_cas[j]);
list->node[hash].trusted_cas[j] =
- list->node[hash].trusted_cas[list->
- node[hash].
- trusted_ca_size
- - 1];
+ list->node[hash].trusted_cas
+ [list->node[hash]
+ .trusted_ca_size -
+ 1];
list->node[hash].trusted_ca_size--;
r++;
break;
@@ -643,10 +624,9 @@ gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t list,
* This will prevent a subordinate CA from being valid, and
* ensure that a server certificate will also get rejected.
*/
- list->distrusted =
- _gnutls_reallocarray_fast(list->distrusted,
- list->distrusted_size + 1,
- sizeof(list->distrusted[0]));
+ list->distrusted = _gnutls_reallocarray_fast(
+ list->distrusted, list->distrusted_size + 1,
+ sizeof(list->distrusted[0]));
if (list->distrusted == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -685,39 +665,40 @@ gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t list,
*
* Since: 3.0.0
**/
-int
-gnutls_x509_trust_list_add_named_crt(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t cert,
- const void *name, size_t name_size,
- unsigned int flags)
+int gnutls_x509_trust_list_add_named_crt(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t cert,
+ const void *name, size_t name_size,
+ unsigned int flags)
{
size_t hash;
if (name_size >= MAX_SERVER_NAME_SIZE)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- hash =
- hash_pjw_bare(cert->raw_issuer_dn.data, cert->raw_issuer_dn.size);
+ hash = hash_pjw_bare(cert->raw_issuer_dn.data,
+ cert->raw_issuer_dn.size);
hash %= list->size;
if (unlikely(INT_ADD_OVERFLOW(list->node[hash].named_cert_size, 1))) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
- list->node[hash].named_certs =
- _gnutls_reallocarray_fast(list->node[hash].named_certs,
- list->node[hash].named_cert_size + 1,
- sizeof(list->node[hash].named_certs[0]));
+ list->node[hash].named_certs = _gnutls_reallocarray_fast(
+ list->node[hash].named_certs,
+ list->node[hash].named_cert_size + 1,
+ sizeof(list->node[hash].named_certs[0]));
if (list->node[hash].named_certs == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
list->node[hash].named_certs[list->node[hash].named_cert_size].cert =
- cert;
- memcpy(list->node[hash].
- named_certs[list->node[hash].named_cert_size].name, name,
- name_size);
- list->node[hash].named_certs[list->node[hash].
- named_cert_size].name_size = name_size;
+ cert;
+ memcpy(list->node[hash]
+ .named_certs[list->node[hash].named_cert_size]
+ .name,
+ name, name_size);
+ list->node[hash]
+ .named_certs[list->node[hash].named_cert_size]
+ .name_size = name_size;
list->node[hash].named_cert_size++;
@@ -751,11 +732,10 @@ gnutls_x509_trust_list_add_named_crt(gnutls_x509_trust_list_t list,
*
* Since: 3.0
**/
-int
-gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
- const gnutls_x509_crl_t * crl_list,
- unsigned crl_size, unsigned int flags,
- unsigned int verification_flags)
+int gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
+ const gnutls_x509_crl_t *crl_list,
+ unsigned crl_size, unsigned int flags,
+ unsigned int verification_flags)
{
int ret;
unsigned x, i, j = 0;
@@ -770,28 +750,23 @@ gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
return 0;
for (i = 0; i < crl_size; i++) {
- hash =
- hash_pjw_bare(crl_list[i]->raw_issuer_dn.data,
- crl_list[i]->raw_issuer_dn.size);
+ hash = hash_pjw_bare(crl_list[i]->raw_issuer_dn.data,
+ crl_list[i]->raw_issuer_dn.size);
hash %= list->size;
if (flags & GNUTLS_TL_VERIFY_CRL) {
-
- ret =
- gnutls_x509_crl_verify(crl_list[i],
- list->node[hash].trusted_cas,
- list->node[hash].
- trusted_ca_size,
- verification_flags, &vret);
+ ret = gnutls_x509_crl_verify(
+ crl_list[i], list->node[hash].trusted_cas,
+ list->node[hash].trusted_ca_size,
+ verification_flags, &vret);
if (ret < 0 || vret != 0) {
- _gnutls_debug_log
- ("CRL verification failed, not adding it\n");
+ _gnutls_debug_log(
+ "CRL verification failed, not adding it\n");
if (flags & GNUTLS_TL_NO_DUPLICATES)
gnutls_x509_crl_deinit(crl_list[i]);
if (flags & GNUTLS_TL_FAIL_ON_INVALID_CRL)
- return
- gnutls_assert_val
- (GNUTLS_E_CRL_VERIFICATION_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_CRL_VERIFICATION_ERROR);
continue;
}
}
@@ -801,26 +776,29 @@ gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
if (flags & GNUTLS_TL_NO_DUPLICATES) {
for (x = 0; x < list->node[hash].crl_size; x++) {
if (crl_list[i]->raw_issuer_dn.size ==
- list->node[hash].crls[x]->raw_issuer_dn.size
- && memcmp(crl_list[i]->raw_issuer_dn.data,
- list->node[hash].
- crls[x]->raw_issuer_dn.data,
- crl_list[i]->
- raw_issuer_dn.size) == 0) {
- if (gnutls_x509_crl_get_this_update
- (crl_list[i]) >=
- gnutls_x509_crl_get_this_update
- (list->node[hash].crls[x])) {
-
- gnutls_x509_crl_deinit
- (list->node[hash].crls[x]);
+ list->node[hash]
+ .crls[x]
+ ->raw_issuer_dn.size &&
+ memcmp(crl_list[i]->raw_issuer_dn.data,
+ list->node[hash]
+ .crls[x]
+ ->raw_issuer_dn.data,
+ crl_list[i]->raw_issuer_dn.size) ==
+ 0) {
+ if (gnutls_x509_crl_get_this_update(
+ crl_list[i]) >=
+ gnutls_x509_crl_get_this_update(
+ list->node[hash].crls[x])) {
+ gnutls_x509_crl_deinit(
+ list->node[hash]
+ .crls[x]);
list->node[hash].crls[x] =
- crl_list[i];
+ crl_list[i];
goto next;
} else {
/* The new is older, discard it */
- gnutls_x509_crl_deinit(crl_list
- [i]);
+ gnutls_x509_crl_deinit(
+ crl_list[i]);
goto next;
}
}
@@ -844,13 +822,13 @@ gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
list->node[hash].crls[list->node[hash].crl_size] = crl_list[i];
list->node[hash].crl_size++;
- next:
+ next:
j++;
}
return j;
- error:
+error:
ret = i;
if (flags & GNUTLS_TL_NO_DUPLICATES)
while (i < crl_size)
@@ -864,7 +842,7 @@ gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,
* Returns the new size of the list or a negative number on error.
*/
static int shorten_clist(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t * certificate_list,
+ gnutls_x509_crt_t *certificate_list,
unsigned int clist_size)
{
unsigned int j, i;
@@ -880,9 +858,9 @@ static int shorten_clist(gnutls_x509_trust_list_t list,
* failures on some root self signed certificates that use the
* MD2 algorithm.
*/
- if (gnutls_x509_crt_check_issuer
- (certificate_list[clist_size - 1],
- certificate_list[clist_size - 1]) != 0) {
+ if (gnutls_x509_crt_check_issuer(
+ certificate_list[clist_size - 1],
+ certificate_list[clist_size - 1]) != 0) {
clist_size--;
}
}
@@ -893,15 +871,14 @@ static int shorten_clist(gnutls_x509_trust_list_t list,
* self-signed E but already removed above), and we trust B, remove
* B, C and D. */
for (i = 1; i < clist_size; i++) {
- hash =
- hash_pjw_bare(certificate_list[i]->raw_issuer_dn.data,
- certificate_list[i]->raw_issuer_dn.size);
+ hash = hash_pjw_bare(certificate_list[i]->raw_issuer_dn.data,
+ certificate_list[i]->raw_issuer_dn.size);
hash %= list->size;
for (j = 0; j < list->node[hash].trusted_ca_size; j++) {
- if (gnutls_x509_crt_equals
- (certificate_list[i],
- list->node[hash].trusted_cas[j]) != 0) {
+ if (gnutls_x509_crt_equals(
+ certificate_list[i],
+ list->node[hash].trusted_cas[j]) != 0) {
/* cut the list at the point of first the trusted certificate */
clist_size = i + 1;
break;
@@ -918,11 +895,10 @@ static int shorten_clist(gnutls_x509_trust_list_t list,
*
* Returns the new size of the list or a negative number on error.
*/
-static int
-retrieve_issuers(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t subject,
- gnutls_x509_crt_t * certificate_list,
- unsigned int clist_size_max)
+static int retrieve_issuers(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t subject,
+ gnutls_x509_crt_t *certificate_list,
+ unsigned int clist_size_max)
{
gnutls_x509_crt_t *issuers;
unsigned int issuers_size;
@@ -965,7 +941,7 @@ retrieve_issuers(gnutls_x509_trust_list_t list,
memcpy(certificate_list, issuers, ret * sizeof(gnutls_x509_crt_t));
- cleanup:
+cleanup:
for (i = ret; i < issuers_size; i++) {
gnutls_x509_crt_deinit(issuers[i]);
}
@@ -976,26 +952,23 @@ retrieve_issuers(gnutls_x509_trust_list_t list,
int _gnutls_trust_list_get_issuer(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t cert,
- gnutls_x509_crt_t * issuer,
- unsigned int flags)
+ gnutls_x509_crt_t *issuer, unsigned int flags)
{
int ret;
unsigned int i;
size_t hash;
- hash =
- hash_pjw_bare(cert->raw_issuer_dn.data, cert->raw_issuer_dn.size);
+ hash = hash_pjw_bare(cert->raw_issuer_dn.data,
+ cert->raw_issuer_dn.size);
hash %= list->size;
for (i = 0; i < list->node[hash].trusted_ca_size; i++) {
- ret =
- gnutls_x509_crt_check_issuer(cert,
- list->node[hash].
- trusted_cas[i]);
+ ret = gnutls_x509_crt_check_issuer(
+ cert, list->node[hash].trusted_cas[i]);
if (ret != 0) {
if (flags & GNUTLS_TL_GET_COPY) {
- *issuer =
- crt_cpy(list->node[hash].trusted_cas[i]);
+ *issuer = crt_cpy(
+ list->node[hash].trusted_cas[i]);
} else {
*issuer = list->node[hash].trusted_cas[i];
}
@@ -1006,11 +979,11 @@ int _gnutls_trust_list_get_issuer(gnutls_x509_trust_list_t list,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
-static
-int trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
- const gnutls_datum_t * dn,
- const gnutls_datum_t * spki,
- gnutls_x509_crt_t * issuer, unsigned int flags)
+static int trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
+ const gnutls_datum_t *dn,
+ const gnutls_datum_t *spki,
+ gnutls_x509_crt_t *issuer,
+ unsigned int flags)
{
int ret;
unsigned int i, j;
@@ -1023,28 +996,24 @@ int trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
hash %= list->size;
for (i = 0; i < list->node[hash].trusted_ca_size; i++) {
- ret =
- _gnutls_x509_compare_raw_dn(dn,
- &list->
- node[hash].trusted_cas
- [i]->raw_dn);
+ ret = _gnutls_x509_compare_raw_dn(
+ dn, &list->node[hash].trusted_cas[i]->raw_dn);
if (ret != 0) {
if (spki && spki->size > 0) {
tmp_size = sizeof(tmp);
- ret =
- gnutls_x509_crt_get_subject_key_id
- (list->node[hash].trusted_cas[i],
- tmp, &tmp_size, NULL);
+ ret = gnutls_x509_crt_get_subject_key_id(
+ list->node[hash].trusted_cas[i],
+ tmp, &tmp_size, NULL);
if (ret < 0)
continue;
- if (spki->size != tmp_size
- || memcmp(spki->data, tmp,
- spki->size) != 0)
+ if (spki->size != tmp_size ||
+ memcmp(spki->data, tmp,
+ spki->size) != 0)
continue;
}
- *issuer =
- crt_cpy(list->node[hash].trusted_cas[i]);
+ *issuer = crt_cpy(
+ list->node[hash].trusted_cas[i]);
return 0;
}
}
@@ -1054,15 +1023,14 @@ int trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
for (j = 0; j < list->node[i].trusted_ca_size; j++) {
tmp_size = sizeof(tmp);
- ret =
- gnutls_x509_crt_get_subject_key_id
- (list->node[i].trusted_cas[j], tmp,
- &tmp_size, NULL);
+ ret = gnutls_x509_crt_get_subject_key_id(
+ list->node[i].trusted_cas[j], tmp,
+ &tmp_size, NULL);
if (ret < 0)
continue;
- if (spki->size != tmp_size
- || memcmp(spki->data, tmp, spki->size) != 0)
+ if (spki->size != tmp_size ||
+ memcmp(spki->data, tmp, spki->size) != 0)
continue;
*issuer = crt_cpy(list->node[i].trusted_cas[j]);
@@ -1097,7 +1065,7 @@ int trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
**/
int gnutls_x509_trust_list_get_issuer(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t cert,
- gnutls_x509_crt_t * issuer,
+ gnutls_x509_crt_t *issuer,
unsigned int flags)
{
int ret;
@@ -1112,10 +1080,9 @@ int gnutls_x509_trust_list_get_issuer(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t crt;
gnutls_datum_t der = { NULL, 0 };
/* use the token for verification */
- ret =
- gnutls_pkcs11_get_raw_issuer(list->pkcs11_token, cert, &der,
- GNUTLS_X509_FMT_DER,
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
+ ret = gnutls_pkcs11_get_raw_issuer(
+ list->pkcs11_token, cert, &der, GNUTLS_X509_FMT_DER,
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1170,8 +1137,8 @@ int gnutls_x509_trust_list_get_issuer(gnutls_x509_trust_list_t list,
* Since: 3.4.0
**/
int gnutls_x509_trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
- const gnutls_datum_t * dn,
- gnutls_x509_crt_t * issuer,
+ const gnutls_datum_t *dn,
+ gnutls_x509_crt_t *issuer,
unsigned int flags)
{
int ret;
@@ -1186,11 +1153,9 @@ int gnutls_x509_trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t crt;
gnutls_datum_t der = { NULL, 0 };
/* use the token for verification */
- ret =
- gnutls_pkcs11_get_raw_issuer_by_dn(list->pkcs11_token, dn,
- &der,
- GNUTLS_X509_FMT_DER,
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
+ ret = gnutls_pkcs11_get_raw_issuer_by_dn(
+ list->pkcs11_token, dn, &der, GNUTLS_X509_FMT_DER,
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1232,15 +1197,10 @@ int gnutls_x509_trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,
*
* Since: 3.4.2
**/
-int gnutls_x509_trust_list_get_issuer_by_subject_key_id(gnutls_x509_trust_list_t
- list,
- const gnutls_datum_t *
- dn,
- const gnutls_datum_t *
- spki,
- gnutls_x509_crt_t *
- issuer,
- unsigned int flags)
+int gnutls_x509_trust_list_get_issuer_by_subject_key_id(
+ gnutls_x509_trust_list_t list, const gnutls_datum_t *dn,
+ const gnutls_datum_t *spki, gnutls_x509_crt_t *issuer,
+ unsigned int flags)
{
int ret;
@@ -1254,10 +1214,9 @@ int gnutls_x509_trust_list_get_issuer_by_subject_key_id(gnutls_x509_trust_list_t
gnutls_x509_crt_t crt;
gnutls_datum_t der = { NULL, 0 };
/* use the token for verification */
- ret =
- gnutls_pkcs11_get_raw_issuer_by_subject_key_id
- (list->pkcs11_token, dn, spki, &der, GNUTLS_X509_FMT_DER,
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
+ ret = gnutls_pkcs11_get_raw_issuer_by_subject_key_id(
+ list->pkcs11_token, dn, spki, &der, GNUTLS_X509_FMT_DER,
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1283,11 +1242,10 @@ int gnutls_x509_trust_list_get_issuer_by_subject_key_id(gnutls_x509_trust_list_t
return ret;
}
-static
-int check_if_in_blocklist(gnutls_x509_crt_t * cert_list,
- unsigned int cert_list_size,
- gnutls_x509_crt_t * blocklist,
- unsigned int blocklist_size)
+static int check_if_in_blocklist(gnutls_x509_crt_t *cert_list,
+ unsigned int cert_list_size,
+ gnutls_x509_crt_t *blocklist,
+ unsigned int blocklist_size)
{
unsigned i, j;
@@ -1296,8 +1254,8 @@ int check_if_in_blocklist(gnutls_x509_crt_t * cert_list,
for (i = 0; i < cert_list_size; i++) {
for (j = 0; j < blocklist_size; j++) {
- if (gnutls_x509_crt_equals(cert_list[i], blocklist[j])
- != 0) {
+ if (gnutls_x509_crt_equals(cert_list[i],
+ blocklist[j]) != 0) {
return 1;
}
}
@@ -1326,28 +1284,26 @@ int check_if_in_blocklist(gnutls_x509_crt_t * cert_list,
*
* Since: 3.0
**/
-int
-gnutls_x509_trust_list_verify_crt(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t * cert_list,
- unsigned int cert_list_size,
- unsigned int flags,
- unsigned int *voutput,
- gnutls_verify_output_function func)
+int gnutls_x509_trust_list_verify_crt(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t *cert_list,
+ unsigned int cert_list_size,
+ unsigned int flags, unsigned int *voutput,
+ gnutls_verify_output_function func)
{
- return gnutls_x509_trust_list_verify_crt2(list, cert_list,
- cert_list_size, NULL, 0,
- flags, voutput, func);
+ return gnutls_x509_trust_list_verify_crt2(
+ list, cert_list, cert_list_size, NULL, 0, flags, voutput, func);
}
-#define LAST_DN cert_list[cert_list_size-1]->raw_dn
-#define LAST_IDN cert_list[cert_list_size-1]->raw_issuer_dn
+#define LAST_DN cert_list[cert_list_size - 1]->raw_dn
+#define LAST_IDN cert_list[cert_list_size - 1]->raw_issuer_dn
/* This macro is introduced to detect a verification output which
* indicates an unknown signer, a signer which uses an insecure
* algorithm (e.g., sha1), a signer has expired, or something that
* indicates a superseded signer */
-#define SIGNER_OLD_OR_UNKNOWN(output) ((output & GNUTLS_CERT_SIGNER_NOT_FOUND) || \
- (output & GNUTLS_CERT_EXPIRED) || \
- (output & GNUTLS_CERT_INSECURE_ALGORITHM))
+#define SIGNER_OLD_OR_UNKNOWN(output) \
+ ((output & GNUTLS_CERT_SIGNER_NOT_FOUND) || \
+ (output & GNUTLS_CERT_EXPIRED) || \
+ (output & GNUTLS_CERT_INSECURE_ALGORITHM))
#define SIGNER_WAS_KNOWN(output) (!(output & GNUTLS_CERT_SIGNER_NOT_FOUND))
/**
@@ -1396,15 +1352,11 @@ gnutls_x509_trust_list_verify_crt(gnutls_x509_trust_list_t list,
*
* Since: 3.3.8
**/
-int
-gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t * cert_list,
- unsigned int cert_list_size,
- gnutls_typed_vdata_st * data,
- unsigned int elements,
- unsigned int flags,
- unsigned int *voutput,
- gnutls_verify_output_function func)
+int gnutls_x509_trust_list_verify_crt2(
+ gnutls_x509_trust_list_t list, gnutls_x509_crt_t *cert_list,
+ unsigned int cert_list_size, gnutls_typed_vdata_st *data,
+ unsigned int elements, unsigned int flags, unsigned int *voutput,
+ gnutls_verify_output_function func)
{
int ret = 0;
unsigned int i;
@@ -1430,8 +1382,8 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
}
if (have_set_name != 0)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
have_set_name = 1;
} else if (data[i].type == GNUTLS_DT_IP_ADDRESS) {
if (data[i].size > 0) {
@@ -1440,32 +1392,29 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
}
if (have_set_name != 0)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
have_set_name = 1;
} else if (data[i].type == GNUTLS_DT_RFC822NAME) {
email = (void *)data[i].data;
if (have_set_name != 0)
- return
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
have_set_name = 1;
} else if (data[i].type == GNUTLS_DT_KEY_PURPOSE_OID) {
purpose = (void *)data[i].data;
}
}
- if (hostname) { /* shortcut using the named certs - if any */
+ if (hostname) { /* shortcut using the named certs - if any */
unsigned vtmp = 0;
if (hostname_size == 0)
hostname_size = strlen(hostname);
- ret = gnutls_x509_trust_list_verify_named_crt(list,
- cert_list[0],
- hostname,
- hostname_size,
- flags, &vtmp,
- func);
+ ret = gnutls_x509_trust_list_verify_named_crt(
+ list, cert_list[0], hostname, hostname_size, flags,
+ &vtmp, func);
if (ret == 0 && vtmp == 0) {
*voutput = vtmp;
return 0;
@@ -1475,14 +1424,13 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
memcpy(sorted, cert_list, cert_list_size * sizeof(gnutls_x509_crt_t));
cert_list = sorted;
- records =
- gl_list_nx_create_empty(GL_LINKEDHASH_LIST, cert_eq, cert_hashcode,
- NULL, false);
+ records = gl_list_nx_create_empty(GL_LINKEDHASH_LIST, cert_eq,
+ cert_hashcode, NULL, false);
if (records == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
for (i = 0; i < cert_list_size &&
- cert_list_size <= DEFAULT_MAX_VERIFY_DEPTH;) {
+ cert_list_size <= DEFAULT_MAX_VERIFY_DEPTH;) {
unsigned int sorted_size = 1;
unsigned int j;
gnutls_x509_crt_t issuer;
@@ -1520,11 +1468,9 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
/* If the issuer of the certificate is known, no need
* for further processing. */
- if (gnutls_x509_trust_list_get_issuer(list,
- cert_list[i - 1],
- &issuer,
- GNUTLS_TL_GET_COPY) ==
- 0) {
+ if (gnutls_x509_trust_list_get_issuer(
+ list, cert_list[i - 1], &issuer,
+ GNUTLS_TL_GET_COPY) == 0) {
gnutls_x509_crt_deinit(issuer);
cert_list_size = i;
break;
@@ -1538,22 +1484,19 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
continue;
}
- ret = retrieve_issuers(list,
- cert_list[i - 1],
- &retrieved[retrieved_size],
- DEFAULT_MAX_VERIFY_DEPTH -
- MAX(retrieved_size, cert_list_size));
+ ret = retrieve_issuers(
+ list, cert_list[i - 1], &retrieved[retrieved_size],
+ DEFAULT_MAX_VERIFY_DEPTH -
+ MAX(retrieved_size, cert_list_size));
if (ret < 0) {
break;
} else if (ret > 0) {
assert((unsigned int)ret <=
DEFAULT_MAX_VERIFY_DEPTH - cert_list_size);
- memmove(&cert_list[i + ret],
- &cert_list[i],
+ memmove(&cert_list[i + ret], &cert_list[i],
(cert_list_size - i) *
- sizeof(gnutls_x509_crt_t));
- memcpy(&cert_list[i],
- &retrieved[retrieved_size],
+ sizeof(gnutls_x509_crt_t));
+ memcpy(&cert_list[i], &retrieved[retrieved_size],
ret * sizeof(gnutls_x509_crt_t));
retrieved_size += ret;
cert_list_size += ret;
@@ -1568,13 +1511,12 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
if (cert_list_size <= 0)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- hash =
- hash_pjw_bare(cert_list[cert_list_size - 1]->raw_issuer_dn.data,
- cert_list[cert_list_size - 1]->raw_issuer_dn.size);
+ hash = hash_pjw_bare(cert_list[cert_list_size - 1]->raw_issuer_dn.data,
+ cert_list[cert_list_size - 1]->raw_issuer_dn.size);
hash %= list->size;
- ret = check_if_in_blocklist(cert_list, cert_list_size,
- list->distrusted, list->distrusted_size);
+ ret = check_if_in_blocklist(cert_list, cert_list_size, list->distrusted,
+ list->distrusted_size);
if (ret != 0) {
*voutput = 0;
*voutput |= GNUTLS_CERT_REVOKED;
@@ -1583,33 +1525,30 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
goto cleanup;
}
- *voutput =
- _gnutls_verify_crt_status(list, cert_list, cert_list_size,
- list->node[hash].trusted_cas,
- list->node[hash].trusted_ca_size,
- flags, purpose, func);
+ *voutput = _gnutls_verify_crt_status(list, cert_list, cert_list_size,
+ list->node[hash].trusted_cas,
+ list->node[hash].trusted_ca_size,
+ flags, purpose, func);
saved_output = *voutput;
if (SIGNER_OLD_OR_UNKNOWN(*voutput) &&
(LAST_DN.size != LAST_IDN.size ||
memcmp(LAST_DN.data, LAST_IDN.data, LAST_IDN.size) != 0)) {
-
/* if we couldn't find the issuer, try to see if the last
* certificate is in the trusted list and try to verify against
* (if it is not self signed) */
- hash =
- hash_pjw_bare(cert_list[cert_list_size - 1]->raw_dn.data,
- cert_list[cert_list_size - 1]->raw_dn.size);
+ hash = hash_pjw_bare(
+ cert_list[cert_list_size - 1]->raw_dn.data,
+ cert_list[cert_list_size - 1]->raw_dn.size);
hash %= list->size;
- _gnutls_debug_log
- ("issuer in verification was not found or insecure; trying against trust list\n");
+ _gnutls_debug_log(
+ "issuer in verification was not found or insecure; trying against trust list\n");
- *voutput =
- _gnutls_verify_crt_status(list, cert_list, cert_list_size,
- list->node[hash].trusted_cas,
- list->node[hash].trusted_ca_size,
- flags, purpose, func);
+ *voutput = _gnutls_verify_crt_status(
+ list, cert_list, cert_list_size,
+ list->node[hash].trusted_cas,
+ list->node[hash].trusted_ca_size, flags, purpose, func);
if (*voutput != 0) {
if (SIGNER_WAS_KNOWN(saved_output))
*voutput = saved_output;
@@ -1623,10 +1562,9 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
if (SIGNER_OLD_OR_UNKNOWN(*voutput) && list->pkcs11_token) {
/* use the token for verification */
- *voutput =
- _gnutls_pkcs11_verify_crt_status(list, list->pkcs11_token,
- cert_list, cert_list_size,
- purpose, flags, func);
+ *voutput = _gnutls_pkcs11_verify_crt_status(
+ list, list->pkcs11_token, cert_list, cert_list_size,
+ purpose, flags, func);
if (*voutput != 0) {
if (SIGNER_WAS_KNOWN(saved_output))
*voutput = saved_output;
@@ -1640,30 +1578,28 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
ret = _gnutls_check_key_purpose(cert_list[0], purpose, 0);
if (ret != 1) {
gnutls_assert();
- *voutput |=
- GNUTLS_CERT_PURPOSE_MISMATCH | GNUTLS_CERT_INVALID;
+ *voutput |= GNUTLS_CERT_PURPOSE_MISMATCH |
+ GNUTLS_CERT_INVALID;
}
}
if (hostname) {
- ret =
- gnutls_x509_crt_check_hostname2(cert_list[0], hostname,
- flags);
+ ret = gnutls_x509_crt_check_hostname2(cert_list[0], hostname,
+ flags);
if (ret == 0) {
gnutls_assert();
- *voutput |=
- GNUTLS_CERT_UNEXPECTED_OWNER | GNUTLS_CERT_INVALID;
+ *voutput |= GNUTLS_CERT_UNEXPECTED_OWNER |
+ GNUTLS_CERT_INVALID;
}
}
if (ip.data) {
- ret =
- gnutls_x509_crt_check_ip(cert_list[0], ip.data, ip.size,
- flags);
+ ret = gnutls_x509_crt_check_ip(cert_list[0], ip.data, ip.size,
+ flags);
if (ret == 0) {
gnutls_assert();
- *voutput |=
- GNUTLS_CERT_UNEXPECTED_OWNER | GNUTLS_CERT_INVALID;
+ *voutput |= GNUTLS_CERT_UNEXPECTED_OWNER |
+ GNUTLS_CERT_INVALID;
}
}
@@ -1671,8 +1607,8 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
ret = gnutls_x509_crt_check_email(cert_list[0], email, 0);
if (ret == 0) {
gnutls_assert();
- *voutput |=
- GNUTLS_CERT_UNEXPECTED_OWNER | GNUTLS_CERT_INVALID;
+ *voutput |= GNUTLS_CERT_UNEXPECTED_OWNER |
+ GNUTLS_CERT_INVALID;
}
}
@@ -1686,12 +1622,11 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
/* Check revocation of individual certificates.
* start with the last one that we already have its hash
*/
- ret =
- _gnutls_x509_crt_check_revocation(cert_list
- [cert_list_size - 1],
- list->node[hash].crls,
- list->node[hash].crl_size, func);
- if (ret == 1) { /* revoked */
+ ret = _gnutls_x509_crt_check_revocation(cert_list[cert_list_size - 1],
+ list->node[hash].crls,
+ list->node[hash].crl_size,
+ func);
+ if (ret == 1) { /* revoked */
*voutput |= GNUTLS_CERT_REVOKED;
*voutput |= GNUTLS_CERT_INVALID;
ret = 0;
@@ -1699,18 +1634,16 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
}
for (i = 0; i < cert_list_size - 1; i++) {
- hash =
- hash_pjw_bare(cert_list[i]->raw_issuer_dn.data,
- cert_list[i]->raw_issuer_dn.size);
+ hash = hash_pjw_bare(cert_list[i]->raw_issuer_dn.data,
+ cert_list[i]->raw_issuer_dn.size);
hash %= list->size;
- ret = _gnutls_x509_crt_check_revocation(cert_list[i],
- list->node[hash].crls,
- list->node[hash].
- crl_size, func);
+ ret = _gnutls_x509_crt_check_revocation(
+ cert_list[i], list->node[hash].crls,
+ list->node[hash].crl_size, func);
if (ret < 0) {
gnutls_assert();
- } else if (ret == 1) { /* revoked */
+ } else if (ret == 1) { /* revoked */
*voutput |= GNUTLS_CERT_REVOKED;
*voutput |= GNUTLS_CERT_INVALID;
ret = 0;
@@ -1718,7 +1651,7 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
}
}
- cleanup:
+cleanup:
for (i = 0; i < retrieved_size; i++) {
gnutls_x509_crt_deinit(retrieved[i]);
}
@@ -1752,25 +1685,23 @@ gnutls_x509_trust_list_verify_crt2(gnutls_x509_trust_list_t list,
*
* Since: 3.0.0
**/
-int
-gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t list,
- gnutls_x509_crt_t cert,
- const void *name,
- size_t name_size,
- unsigned int flags,
- unsigned int *voutput,
- gnutls_verify_output_function func)
+int gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t cert,
+ const void *name, size_t name_size,
+ unsigned int flags,
+ unsigned int *voutput,
+ gnutls_verify_output_function func)
{
int ret;
unsigned int i;
size_t hash;
- hash =
- hash_pjw_bare(cert->raw_issuer_dn.data, cert->raw_issuer_dn.size);
+ hash = hash_pjw_bare(cert->raw_issuer_dn.data,
+ cert->raw_issuer_dn.size);
hash %= list->size;
- ret = check_if_in_blocklist(&cert, 1,
- list->distrusted, list->distrusted_size);
+ ret = check_if_in_blocklist(&cert, 1, list->distrusted,
+ list->distrusted_size);
if (ret != 0) {
*voutput = 0;
*voutput |= GNUTLS_CERT_REVOKED;
@@ -1781,11 +1712,13 @@ gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t list,
*voutput = GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND;
for (i = 0; i < list->node[hash].named_cert_size; i++) {
- if (gnutls_x509_crt_equals(cert, list->node[hash].named_certs[i].cert) != 0) { /* check if name matches */
+ if (gnutls_x509_crt_equals(
+ cert, list->node[hash].named_certs[i].cert) !=
+ 0) { /* check if name matches */
if (list->node[hash].named_certs[i].name_size ==
- name_size
- && memcmp(list->node[hash].named_certs[i].name,
- name, name_size) == 0) {
+ name_size &&
+ memcmp(list->node[hash].named_certs[i].name, name,
+ name_size) == 0) {
*voutput = 0;
break;
}
@@ -1798,11 +1731,9 @@ gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t list,
/* Check revocation of individual certificates.
* start with the last one that we already have its hash
*/
- ret = _gnutls_x509_crt_check_revocation(cert,
- list->node[hash].crls,
- list->node[hash].crl_size,
- func);
- if (ret == 1) { /* revoked */
+ ret = _gnutls_x509_crt_check_revocation(
+ cert, list->node[hash].crls, list->node[hash].crl_size, func);
+ if (ret == 1) { /* revoked */
*voutput |= GNUTLS_CERT_REVOKED;
*voutput |= GNUTLS_CERT_INVALID;
return 0;
@@ -1812,8 +1743,8 @@ gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t list,
}
/* return 1 if @cert is in @list, 0 if not */
-int
-_gnutls_trustlist_inlist(gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert)
+int _gnutls_trustlist_inlist(gnutls_x509_trust_list_t list,
+ gnutls_x509_crt_t cert)
{
int ret;
unsigned int i;
@@ -1823,9 +1754,8 @@ _gnutls_trustlist_inlist(gnutls_x509_trust_list_t list, gnutls_x509_crt_t cert)
hash %= list->size;
for (i = 0; i < list->node[hash].trusted_ca_size; i++) {
- ret =
- gnutls_x509_crt_equals(cert,
- list->node[hash].trusted_cas[i]);
+ ret = gnutls_x509_crt_equals(cert,
+ list->node[hash].trusted_cas[i]);
if (ret != 0)
return 1;
}
diff --git a/lib/x509/verify-high.h b/lib/x509/verify-high.h
index e2bec75261..6c5ed15729 100644
--- a/lib/x509/verify-high.h
+++ b/lib/x509/verify-high.h
@@ -21,7 +21,7 @@
*/
#ifndef GNUTLS_LIB_X509_VERIFY_HIGH_H
-# define GNUTLS_LIB_X509_VERIFY_HIGH_H
+#define GNUTLS_LIB_X509_VERIFY_HIGH_H
struct gnutls_x509_trust_list_st {
unsigned int size;
@@ -52,4 +52,4 @@ struct gnutls_x509_trust_list_st {
int _gnutls_trustlist_inlist(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t cert);
-#endif /* GNUTLS_LIB_X509_VERIFY_HIGH_H */
+#endif /* GNUTLS_LIB_X509_VERIFY_HIGH_H */
diff --git a/lib/x509/verify-high2.c b/lib/x509/verify-high2.c
index 7391fa273c..ada4860450 100644
--- a/lib/x509/verify-high2.c
+++ b/lib/x509/verify-high2.c
@@ -40,13 +40,13 @@
#include <dirent.h>
#if !defined(_DIRENT_HAVE_D_TYPE) && !defined(__native_client__)
-# ifdef DT_UNKNOWN
-# define _DIRENT_HAVE_D_TYPE
-# endif
+#ifdef DT_UNKNOWN
+#define _DIRENT_HAVE_D_TYPE
+#endif
#endif
#ifdef _WIN32
-# include <tchar.h>
+#include <tchar.h>
#endif
/* Convenience functions for verify-high functionality
@@ -71,13 +71,12 @@
*
* Since: 3.1
**/
-int
-gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t list,
- const gnutls_datum_t * cas,
- const gnutls_datum_t * crls,
- gnutls_x509_crt_fmt_t type,
- unsigned int tl_flags,
- unsigned int tl_vflags)
+int gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t list,
+ const gnutls_datum_t *cas,
+ const gnutls_datum_t *crls,
+ gnutls_x509_crt_fmt_t type,
+ unsigned int tl_flags,
+ unsigned int tl_vflags)
{
int ret;
gnutls_x509_crt_t *x509_ca_list = NULL;
@@ -89,17 +88,14 @@ gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t list,
* that unaccounted certificates/CRLs are deinitialized. */
if (cas != NULL && cas->data != NULL) {
- ret =
- gnutls_x509_crt_list_import2(&x509_ca_list, &x509_ncas,
- cas, type, 0);
+ ret = gnutls_x509_crt_list_import2(&x509_ca_list, &x509_ncas,
+ cas, type, 0);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_trust_list_add_cas(list, x509_ca_list,
- x509_ncas,
- tl_flags |
- GNUTLS_TL_NO_DUPLICATES);
+ ret = gnutls_x509_trust_list_add_cas(
+ list, x509_ca_list, x509_ncas,
+ tl_flags | GNUTLS_TL_NO_DUPLICATES);
gnutls_free(x509_ca_list);
if (ret < 0)
@@ -109,18 +105,14 @@ gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t list,
}
if (crls != NULL && crls->data != NULL) {
- ret =
- gnutls_x509_crl_list_import2(&x509_crl_list,
- &x509_ncrls, crls, type, 0);
+ ret = gnutls_x509_crl_list_import2(&x509_crl_list, &x509_ncrls,
+ crls, type, 0);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_trust_list_add_crls(list, x509_crl_list,
- x509_ncrls,
- tl_flags |
- GNUTLS_TL_NO_DUPLICATES,
- tl_vflags);
+ ret = gnutls_x509_trust_list_add_crls(
+ list, x509_crl_list, x509_ncrls,
+ tl_flags | GNUTLS_TL_NO_DUPLICATES, tl_vflags);
gnutls_free(x509_crl_list);
if (ret < 0)
@@ -147,10 +139,9 @@ gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t list,
*
* Since: 3.1.10
**/
-int
-gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t list,
- const gnutls_datum_t * cas,
- gnutls_x509_crt_fmt_t type)
+int gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t list,
+ const gnutls_datum_t *cas,
+ gnutls_x509_crt_fmt_t type)
{
int ret;
gnutls_x509_crt_t *x509_ca_list = NULL;
@@ -158,15 +149,13 @@ gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t list,
unsigned int r = 0, i;
if (cas != NULL && cas->data != NULL) {
- ret =
- gnutls_x509_crt_list_import2(&x509_ca_list, &x509_ncas,
- cas, type, 0);
+ ret = gnutls_x509_crt_list_import2(&x509_ca_list, &x509_ncas,
+ cas, type, 0);
if (ret < 0)
return gnutls_assert_val(ret);
- ret =
- gnutls_x509_trust_list_remove_cas(list, x509_ca_list,
- x509_ncas);
+ ret = gnutls_x509_trust_list_remove_cas(list, x509_ca_list,
+ x509_ncas);
for (i = 0; i < x509_ncas; i++)
gnutls_x509_crt_deinit(x509_ca_list[i]);
@@ -182,8 +171,7 @@ gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t list,
}
#ifdef ENABLE_PKCS11
-static
-int remove_pkcs11_url(gnutls_x509_trust_list_t list, const char *ca_file)
+static int remove_pkcs11_url(gnutls_x509_trust_list_t list, const char *ca_file)
{
if (strcmp(ca_file, list->pkcs11_token) == 0) {
gnutls_free(list->pkcs11_token);
@@ -195,9 +183,8 @@ int remove_pkcs11_url(gnutls_x509_trust_list_t list, const char *ca_file)
* CA certificates are imported directly, rather than using it as a
* trusted PKCS#11 token.
*/
-static
-int add_trust_list_pkcs11_object_url(gnutls_x509_trust_list_t list,
- const char *url, unsigned flags)
+static int add_trust_list_pkcs11_object_url(gnutls_x509_trust_list_t list,
+ const char *url, unsigned flags)
{
gnutls_x509_crt_t *xcrt_list = NULL;
gnutls_pkcs11_obj_t *pcrt_list = NULL;
@@ -207,12 +194,11 @@ int add_trust_list_pkcs11_object_url(gnutls_x509_trust_list_t list,
/* here we don't use the flag GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE,
* as we want to explicitly load from any module available in the system.
*/
- ret =
- gnutls_pkcs11_obj_list_import_url2(&pcrt_list, &pcrt_list_size,
- url,
- GNUTLS_PKCS11_OBJ_FLAG_CRT |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED,
- 0);
+ ret = gnutls_pkcs11_obj_list_import_url2(
+ &pcrt_list, &pcrt_list_size, url,
+ GNUTLS_PKCS11_OBJ_FLAG_CRT |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED,
+ 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -228,19 +214,17 @@ int add_trust_list_pkcs11_object_url(gnutls_x509_trust_list_t list,
goto cleanup;
}
- ret =
- gnutls_x509_crt_list_import_pkcs11(xcrt_list, pcrt_list_size,
- pcrt_list, 0);
+ ret = gnutls_x509_crt_list_import_pkcs11(xcrt_list, pcrt_list_size,
+ pcrt_list, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- gnutls_x509_trust_list_add_cas(list, xcrt_list, pcrt_list_size,
- flags);
+ ret = gnutls_x509_trust_list_add_cas(list, xcrt_list, pcrt_list_size,
+ flags);
- cleanup:
+cleanup:
for (i = 0; i < pcrt_list_size; i++)
gnutls_pkcs11_obj_deinit(pcrt_list[i]);
gnutls_free(pcrt_list);
@@ -249,20 +233,19 @@ int add_trust_list_pkcs11_object_url(gnutls_x509_trust_list_t list,
return ret;
}
-static
-int remove_pkcs11_object_url(gnutls_x509_trust_list_t list, const char *url)
+static int remove_pkcs11_object_url(gnutls_x509_trust_list_t list,
+ const char *url)
{
gnutls_x509_crt_t *xcrt_list = NULL;
gnutls_pkcs11_obj_t *pcrt_list = NULL;
unsigned int pcrt_list_size = 0, i;
int ret;
- ret =
- gnutls_pkcs11_obj_list_import_url2(&pcrt_list, &pcrt_list_size,
- url,
- GNUTLS_PKCS11_OBJ_FLAG_CRT |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED,
- 0);
+ ret = gnutls_pkcs11_obj_list_import_url2(
+ &pcrt_list, &pcrt_list_size, url,
+ GNUTLS_PKCS11_OBJ_FLAG_CRT |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED,
+ 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -278,18 +261,17 @@ int remove_pkcs11_object_url(gnutls_x509_trust_list_t list, const char *url)
goto cleanup;
}
- ret =
- gnutls_x509_crt_list_import_pkcs11(xcrt_list, pcrt_list_size,
- pcrt_list, 0);
+ ret = gnutls_x509_crt_list_import_pkcs11(xcrt_list, pcrt_list_size,
+ pcrt_list, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- gnutls_x509_trust_list_remove_cas(list, xcrt_list, pcrt_list_size);
+ ret = gnutls_x509_trust_list_remove_cas(list, xcrt_list,
+ pcrt_list_size);
- cleanup:
+cleanup:
for (i = 0; i < pcrt_list_size; i++) {
gnutls_pkcs11_obj_deinit(pcrt_list[i]);
if (xcrt_list)
@@ -322,13 +304,12 @@ int remove_pkcs11_object_url(gnutls_x509_trust_list_t list, const char *url)
*
* Since: 3.1
**/
-int
-gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t list,
- const char *ca_file,
- const char *crl_file,
- gnutls_x509_crt_fmt_t type,
- unsigned int tl_flags,
- unsigned int tl_vflags)
+int gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t list,
+ const char *ca_file,
+ const char *crl_file,
+ gnutls_x509_crt_fmt_t type,
+ unsigned int tl_flags,
+ unsigned int tl_vflags)
{
gnutls_datum_t cas = { NULL, 0 };
gnutls_datum_t crls = { NULL, 0 };
@@ -344,31 +325,24 @@ gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t list,
* otherwise import the individual certificates.
*/
if (is_pkcs11_url_object(ca_file) != 0) {
- return add_trust_list_pkcs11_object_url(list,
- ca_file,
- tl_flags);
- } else { /* trusted token */
+ return add_trust_list_pkcs11_object_url(
+ list, ca_file, tl_flags);
+ } else { /* trusted token */
if (list->pkcs11_token != NULL)
- return
- gnutls_assert_val
- (GNUTLS_E_INVALID_REQUEST);
+ return gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
list->pkcs11_token = gnutls_strdup(ca_file);
/* enumerate the certificates */
- ret =
- gnutls_pkcs11_obj_list_import_url(NULL,
- &pcrt_list_size,
- ca_file,
- (GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE
- |
- GNUTLS_PKCS11_OBJ_FLAG_CRT
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_CA
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED),
- 0);
- if (ret < 0
- && ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
+ ret = gnutls_pkcs11_obj_list_import_url(
+ NULL, &pcrt_list_size, ca_file,
+ (GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
+ GNUTLS_PKCS11_OBJ_FLAG_CRT |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_CA |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED),
+ 0);
+ if (ret < 0 &&
+ ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
return gnutls_assert_val(ret);
return pcrt_list_size;
@@ -394,20 +368,17 @@ gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t list,
crls.size = size;
}
- ret =
- gnutls_x509_trust_list_add_trust_mem(list, &cas, &crls, type,
- tl_flags, tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_mem(list, &cas, &crls, type,
+ tl_flags, tl_vflags);
free(crls.data);
free(cas.data);
return ret;
}
-static
-int load_dir_certs(const char *dirname,
- gnutls_x509_trust_list_t list,
- unsigned int tl_flags, unsigned int tl_vflags,
- unsigned type, unsigned crl)
+static int load_dir_certs(const char *dirname, gnutls_x509_trust_list_t list,
+ unsigned int tl_flags, unsigned int tl_vflags,
+ unsigned type, unsigned crl)
{
int ret;
int r = 0;
@@ -428,7 +399,7 @@ int load_dir_certs(const char *dirname,
base_len = pathbuf.len;
while ((d = readdir(dirp)) != NULL) {
-# ifdef _DIRENT_HAVE_D_TYPE
+#ifdef _DIRENT_HAVE_D_TYPE
switch (d->d_type) {
case DT_REG:
case DT_LNK:
@@ -437,19 +408,19 @@ int load_dir_certs(const char *dirname,
default:
continue;
}
-# endif
+#endif
ret = _gnutls_pathbuf_append(&pathbuf, d->d_name);
if (ret < 0) {
continue;
}
if (crl != 0) {
- ret = gnutls_x509_trust_list_add_trust_file
- (list, NULL, pathbuf.ptr, type, tl_flags,
- tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, NULL, pathbuf.ptr, type, tl_flags,
+ tl_vflags);
} else {
- ret = gnutls_x509_trust_list_add_trust_file
- (list, pathbuf.ptr, NULL, type, tl_flags,
- tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, pathbuf.ptr, NULL, type, tl_flags,
+ tl_vflags);
}
if (ret >= 0) {
r += ret;
@@ -459,25 +430,25 @@ int load_dir_certs(const char *dirname,
_gnutls_pathbuf_deinit(&pathbuf);
closedir(dirp);
}
-#else /* _WIN32 */
+#else /* _WIN32 */
_TDIR *dirp;
struct _tdirent *d;
gnutls_datum_t utf16 = { NULL, 0 };
-# undef UCS2_ENDIAN
-# ifdef WORDS_BIGENDIAN
-# define UCS2_ENDIAN 1
-# else
-# define UCS2_ENDIAN 0
-# endif
+#undef UCS2_ENDIAN
+#ifdef WORDS_BIGENDIAN
+#define UCS2_ENDIAN 1
+#else
+#define UCS2_ENDIAN 0
+#endif
- ret =
- _gnutls_utf8_to_ucs2(dirname, strlen(dirname), &utf16, UCS2_ENDIAN);
+ ret = _gnutls_utf8_to_ucs2(dirname, strlen(dirname), &utf16,
+ UCS2_ENDIAN);
if (ret < 0) {
return gnutls_assert_val(ret);
}
- dirp = _topendir((_TCHAR *) utf16.data);
+ dirp = _topendir((_TCHAR *)utf16.data);
gnutls_free(utf16.data);
if (dirp != NULL) {
size_t base_len;
@@ -490,7 +461,7 @@ int load_dir_certs(const char *dirname,
base_len = pathbuf.len;
while ((d = _treaddir(dirp)) != NULL) {
gnutls_datum_t utf8 = { NULL, 0 };
-# ifdef _DIRENT_HAVE_D_TYPE
+#ifdef _DIRENT_HAVE_D_TYPE
switch (d->d_type) {
case DT_REG:
case DT_LNK:
@@ -499,11 +470,10 @@ int load_dir_certs(const char *dirname,
default:
continue;
}
-# endif
- ret = _gnutls_ucs2_to_utf8(d->d_name,
- d->d_namlen *
- sizeof(d->d_name[0]), &utf8,
- UCS2_ENDIAN);
+#endif
+ ret = _gnutls_ucs2_to_utf8(
+ d->d_name, d->d_namlen * sizeof(d->d_name[0]),
+ &utf8, UCS2_ENDIAN);
if (ret < 0) {
continue;
}
@@ -514,13 +484,13 @@ int load_dir_certs(const char *dirname,
}
if (crl != 0) {
- ret = gnutls_x509_trust_list_add_trust_file
- (list, NULL, pathbuf.ptr, type, tl_flags,
- tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, NULL, pathbuf.ptr, type, tl_flags,
+ tl_vflags);
} else {
- ret = gnutls_x509_trust_list_add_trust_file
- (list, pathbuf.ptr, NULL, type, tl_flags,
- tl_vflags);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, pathbuf.ptr, NULL, type, tl_flags,
+ tl_vflags);
}
if (ret >= 0)
r += ret;
@@ -529,8 +499,8 @@ int load_dir_certs(const char *dirname,
_gnutls_pathbuf_deinit(&pathbuf);
_tclosedir(dirp);
}
-# undef UCS2_ENDIAN
-#endif /* _WIN32 */
+#undef UCS2_ENDIAN
+#endif /* _WIN32 */
return r;
}
@@ -551,13 +521,12 @@ int load_dir_certs(const char *dirname,
*
* Since: 3.3.6
**/
-int
-gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t list,
- const char *ca_dir,
- const char *crl_dir,
- gnutls_x509_crt_fmt_t type,
- unsigned int tl_flags,
- unsigned int tl_vflags)
+int gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t list,
+ const char *ca_dir,
+ const char *crl_dir,
+ gnutls_x509_crt_fmt_t type,
+ unsigned int tl_flags,
+ unsigned int tl_vflags)
{
int ret = 0;
@@ -597,10 +566,9 @@ gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t list,
*
* Since: 3.1.10
**/
-int
-gnutls_x509_trust_list_remove_trust_file(gnutls_x509_trust_list_t list,
- const char *ca_file,
- gnutls_x509_crt_fmt_t type)
+int gnutls_x509_trust_list_remove_trust_file(gnutls_x509_trust_list_t list,
+ const char *ca_file,
+ gnutls_x509_crt_fmt_t type)
{
gnutls_datum_t cas = { NULL, 0 };
size_t size;
@@ -610,7 +578,7 @@ gnutls_x509_trust_list_remove_trust_file(gnutls_x509_trust_list_t list,
if (c_strncasecmp(ca_file, PKCS11_URL, PKCS11_URL_SIZE) == 0) {
if (is_pkcs11_url_object(ca_file) != 0) {
return remove_pkcs11_object_url(list, ca_file);
- } else { /* token */
+ } else { /* token */
return remove_pkcs11_url(list, ca_file);
}
} else
diff --git a/lib/x509/verify.c b/lib/x509/verify.c
index 52ccedbe31..8f28ee9157 100644
--- a/lib/x509/verify.c
+++ b/lib/x509/verify.c
@@ -30,7 +30,7 @@
#include "errors.h"
#include <libtasn1.h>
#include <global.h>
-#include <num.h> /* MAX */
+#include <num.h> /* MAX */
#include <tls-sig.h>
#include <str.h>
#include <datum.h>
@@ -45,9 +45,8 @@
/* Checks if two certs have the same name and the same key. Return 1 on match.
* If @is_ca is zero then this function is identical to gnutls_x509_crt_equals()
*/
-unsigned
-_gnutls_check_if_same_key(gnutls_x509_crt_t cert1,
- gnutls_x509_crt_t cert2, unsigned is_ca)
+unsigned _gnutls_check_if_same_key(gnutls_x509_crt_t cert1,
+ gnutls_x509_crt_t cert2, unsigned is_ca)
{
int ret;
unsigned result;
@@ -59,12 +58,10 @@ _gnutls_check_if_same_key(gnutls_x509_crt_t cert1,
if (ret == 0)
return 0;
- if (cert1->raw_spki.size > 0
- && (cert1->raw_spki.size == cert2->raw_spki.size)
- &&
- (memcmp
- (cert1->raw_spki.data, cert2->raw_spki.data,
- cert1->raw_spki.size) == 0))
+ if (cert1->raw_spki.size > 0 &&
+ (cert1->raw_spki.size == cert2->raw_spki.size) &&
+ (memcmp(cert1->raw_spki.data, cert2->raw_spki.data,
+ cert1->raw_spki.size) == 0))
result = 1;
else
result = 0;
@@ -72,8 +69,8 @@ _gnutls_check_if_same_key(gnutls_x509_crt_t cert1,
return result;
}
-unsigned
-_gnutls_check_if_same_key2(gnutls_x509_crt_t cert1, gnutls_datum_t * cert2bin)
+unsigned _gnutls_check_if_same_key2(gnutls_x509_crt_t cert1,
+ gnutls_datum_t *cert2bin)
{
int ret;
gnutls_x509_crt_t cert2;
@@ -111,9 +108,8 @@ static unsigned check_for_unknown_exts(gnutls_x509_crt_t cert)
oid[0] = 0;
critical = 0;
- ret =
- gnutls_x509_crt_get_extension_info(cert, i, oid, &oid_size,
- &critical);
+ ret = gnutls_x509_crt_get_extension_info(cert, i, oid,
+ &oid_size, &critical);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
return 0;
} else if (ret < 0) {
@@ -128,8 +124,8 @@ static unsigned check_for_unknown_exts(gnutls_x509_crt_t cert)
if (is_ext_oid_supported(oid, oid_size) == NULL) {
gnutls_assert();
- _gnutls_debug_log
- ("Unsupported critical extension: %s\n", oid);
+ _gnutls_debug_log(
+ "Unsupported critical extension: %s\n", oid);
return 1;
}
}
@@ -144,9 +140,8 @@ static unsigned check_for_unknown_exts(gnutls_x509_crt_t cert)
* Returns true or false, if the issuer is a CA,
* or not.
*/
-static unsigned
-check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- unsigned int *max_path, unsigned int flags)
+static unsigned check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ unsigned int *max_path, unsigned int flags)
{
gnutls_datum_t cert_signed_data = { NULL, 0 };
gnutls_datum_t issuer_signed_data = { NULL, 0 };
@@ -161,33 +156,30 @@ check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
* certificates to be able to verify themselves.
*/
- ret =
- _gnutls_x509_get_signed_data(issuer->cert, &issuer->der,
- "tbsCertificate", &issuer_signed_data);
+ ret = _gnutls_x509_get_signed_data(issuer->cert, &issuer->der,
+ "tbsCertificate",
+ &issuer_signed_data);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- ret =
- _gnutls_x509_get_signed_data(cert->cert, &cert->der,
- "tbsCertificate", &cert_signed_data);
+ ret = _gnutls_x509_get_signed_data(cert->cert, &cert->der,
+ "tbsCertificate", &cert_signed_data);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- ret =
- _gnutls_x509_get_signature(issuer->cert, "signature",
- &issuer_signature);
+ ret = _gnutls_x509_get_signature(issuer->cert, "signature",
+ &issuer_signature);
if (ret < 0) {
gnutls_assert();
goto fail;
}
- ret =
- _gnutls_x509_get_signature(cert->cert, "signature",
- &cert_signature);
+ ret = _gnutls_x509_get_signature(cert->cert, "signature",
+ &cert_signature);
if (ret < 0) {
gnutls_assert();
goto fail;
@@ -198,23 +190,19 @@ check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
*/
if (!(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_SAME))
if (cert_signed_data.size == issuer_signed_data.size) {
- if ((memcmp
- (cert_signed_data.data,
- issuer_signed_data.data,
- cert_signed_data.size) == 0)
- && (cert_signature.size == issuer_signature.size)
- &&
- (memcmp
- (cert_signature.data, issuer_signature.data,
- cert_signature.size) == 0)) {
+ if ((memcmp(cert_signed_data.data,
+ issuer_signed_data.data,
+ cert_signed_data.size) == 0) &&
+ (cert_signature.size == issuer_signature.size) &&
+ (memcmp(cert_signature.data, issuer_signature.data,
+ cert_signature.size) == 0)) {
result = 1;
goto cleanup;
}
}
- ret =
- gnutls_x509_crt_get_basic_constraints(issuer, NULL, &ca_status,
- &pathlen);
+ ret = gnutls_x509_crt_get_basic_constraints(issuer, NULL, &ca_status,
+ &pathlen);
if (ret < 0) {
ca_status = 0;
pathlen = -1;
@@ -242,10 +230,10 @@ check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
gnutls_assert();
}
- fail:
+fail:
result = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&cert_signed_data);
_gnutls_free_datum(&issuer_signed_data);
_gnutls_free_datum(&cert_signature);
@@ -268,8 +256,8 @@ static unsigned is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
int ret;
unsigned result;
- if (_gnutls_x509_compare_raw_dn
- (&cert->raw_issuer_dn, &issuer->raw_dn) != 0)
+ if (_gnutls_x509_compare_raw_dn(&cert->raw_issuer_dn,
+ &issuer->raw_dn) != 0)
result = 1;
else
result = 0;
@@ -279,9 +267,8 @@ static unsigned is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
* of the issuer */
id1_size = sizeof(id1);
- ret =
- gnutls_x509_crt_get_authority_key_id(cert, id1,
- &id1_size, NULL);
+ ret = gnutls_x509_crt_get_authority_key_id(cert, id1, &id1_size,
+ NULL);
if (ret < 0) {
/* If there is no authority key identifier in the
* certificate, assume they match */
@@ -290,9 +277,8 @@ static unsigned is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
}
id2_size = sizeof(id2);
- ret =
- gnutls_x509_crt_get_subject_key_id(issuer, id2,
- &id2_size, NULL);
+ ret = gnutls_x509_crt_get_subject_key_id(issuer, id2, &id2_size,
+ NULL);
if (ret < 0) {
/* If there is no subject key identifier in the
* issuer certificate, assume they match */
@@ -307,7 +293,7 @@ static unsigned is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
result = 0;
}
- cleanup:
+cleanup:
return result;
}
@@ -316,8 +302,8 @@ static unsigned is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
*/
static unsigned is_crl_issuer(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer)
{
- if (_gnutls_x509_compare_raw_dn
- (&crl->raw_issuer_dn, &issuer->raw_dn) != 0)
+ if (_gnutls_x509_compare_raw_dn(&crl->raw_issuer_dn, &issuer->raw_dn) !=
+ 0)
return 1;
else
return 0;
@@ -339,8 +325,8 @@ unsigned _gnutls_is_same_dn(gnutls_x509_crt_t cert1, gnutls_x509_crt_t cert2)
* are present, returns one that is activated and not expired.
*/
static inline gnutls_x509_crt_t
-find_issuer(gnutls_x509_crt_t cert,
- const gnutls_x509_crt_t * trusted_cas, int tcas_size)
+find_issuer(gnutls_x509_crt_t cert, const gnutls_x509_crt_t *trusted_cas,
+ int tcas_size)
{
int i;
gnutls_x509_crt_t issuer = NULL;
@@ -354,12 +340,10 @@ find_issuer(gnutls_x509_crt_t cert,
} else {
time_t now = gnutls_time(0);
- if (now <
- gnutls_x509_crt_get_expiration_time
- (trusted_cas[i])
- && now >=
- gnutls_x509_crt_get_activation_time
- (trusted_cas[i])) {
+ if (now < gnutls_x509_crt_get_expiration_time(
+ trusted_cas[i]) &&
+ now >= gnutls_x509_crt_get_activation_time(
+ trusted_cas[i])) {
issuer = trusted_cas[i];
}
}
@@ -375,14 +359,14 @@ static unsigned int check_time_status(gnutls_x509_crt_t crt, time_t now)
time_t t;
t = gnutls_x509_crt_get_activation_time(crt);
- if (t == (time_t) - 1 || now < t) {
+ if (t == (time_t)-1 || now < t) {
status |= GNUTLS_CERT_NOT_ACTIVATED;
status |= GNUTLS_CERT_INVALID;
return status;
}
t = gnutls_x509_crt_get_expiration_time(crt);
- if (t == (time_t) - 1 || now > t) {
+ if (t == (time_t)-1 || now > t) {
status |= GNUTLS_CERT_EXPIRED;
status |= GNUTLS_CERT_INVALID;
return status;
@@ -391,7 +375,7 @@ static unsigned int check_time_status(gnutls_x509_crt_t crt, time_t now)
return 0;
}
-unsigned _gnutls_is_broken_sig_allowed(const gnutls_sign_entry_st * se,
+unsigned _gnutls_is_broken_sig_allowed(const gnutls_sign_entry_st *se,
unsigned int flags)
{
gnutls_digest_algorithm_t hash;
@@ -401,55 +385,68 @@ unsigned _gnutls_is_broken_sig_allowed(const gnutls_sign_entry_st * se,
return 1;
/* the first two are for backwards compatibility */
- if ((se->id == GNUTLS_SIGN_RSA_MD2)
- && (flags & GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2))
+ if ((se->id == GNUTLS_SIGN_RSA_MD2) &&
+ (flags & GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2))
return 1;
- if ((se->id == GNUTLS_SIGN_RSA_MD5)
- && (flags & GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5))
+ if ((se->id == GNUTLS_SIGN_RSA_MD5) &&
+ (flags & GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5))
return 1;
hash = se->hash;
- if (hash == GNUTLS_DIG_SHA1
- && (flags & GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1))
+ if (hash == GNUTLS_DIG_SHA1 &&
+ (flags & GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1))
return 1;
return 0;
}
-#define CASE_SEC_PARAM(profile, level) \
- case profile: \
- sym_bits = gnutls_sec_param_to_symmetric_bits(level); \
- se = _gnutls_sign_to_entry(sigalg); \
- if (unlikely(se == NULL)) { \
- _gnutls_cert_log("cert", crt); \
- _gnutls_debug_log(#level": certificate's signature algorithm is unknown\n"); \
- return gnutls_assert_val(0); \
- } \
- if (unlikely(se->hash == GNUTLS_DIG_UNKNOWN)) { \
- _gnutls_cert_log("cert", crt); \
- _gnutls_debug_log(#level": certificate's signature hash is unknown\n"); \
- return gnutls_assert_val(0); \
- } \
- if (!trusted && \
- _gnutls_sign_get_hash_strength(sigalg) < sym_bits) { \
- _gnutls_cert_log("cert", crt); \
- _gnutls_debug_log(#level": certificate's signature hash strength is unacceptable (is %u bits, needed %u)\n", _gnutls_sign_get_hash_strength(sigalg), sym_bits); \
- return gnutls_assert_val(0); \
- } \
- sp = gnutls_pk_bits_to_sec_param(pkalg, bits); \
- if (sp < level) { \
- _gnutls_cert_log("cert", crt); \
- _gnutls_debug_log(#level": certificate's security level is unacceptable\n"); \
- return gnutls_assert_val(0); \
- } \
- if (issuer) { \
- sp = gnutls_pk_bits_to_sec_param(issuer_pkalg, issuer_bits); \
- if (sp < level) { \
- _gnutls_cert_log("issuer", issuer); \
- _gnutls_debug_log(#level": certificate's issuer security level is unacceptable\n"); \
- return gnutls_assert_val(0); \
- } \
- } \
+#define CASE_SEC_PARAM(profile, level) \
+ case profile: \
+ sym_bits = gnutls_sec_param_to_symmetric_bits(level); \
+ se = _gnutls_sign_to_entry(sigalg); \
+ if (unlikely(se == NULL)) { \
+ _gnutls_cert_log("cert", crt); \
+ _gnutls_debug_log( \
+ #level \
+ ": certificate's signature algorithm is unknown\n"); \
+ return gnutls_assert_val(0); \
+ } \
+ if (unlikely(se->hash == GNUTLS_DIG_UNKNOWN)) { \
+ _gnutls_cert_log("cert", crt); \
+ _gnutls_debug_log( \
+ #level \
+ ": certificate's signature hash is unknown\n"); \
+ return gnutls_assert_val(0); \
+ } \
+ if (!trusted && \
+ _gnutls_sign_get_hash_strength(sigalg) < sym_bits) { \
+ _gnutls_cert_log("cert", crt); \
+ _gnutls_debug_log( \
+ #level \
+ ": certificate's signature hash strength is unacceptable (is %u bits, needed %u)\n", \
+ _gnutls_sign_get_hash_strength(sigalg), \
+ sym_bits); \
+ return gnutls_assert_val(0); \
+ } \
+ sp = gnutls_pk_bits_to_sec_param(pkalg, bits); \
+ if (sp < level) { \
+ _gnutls_cert_log("cert", crt); \
+ _gnutls_debug_log( \
+ #level \
+ ": certificate's security level is unacceptable\n"); \
+ return gnutls_assert_val(0); \
+ } \
+ if (issuer) { \
+ sp = gnutls_pk_bits_to_sec_param(issuer_pkalg, \
+ issuer_bits); \
+ if (sp < level) { \
+ _gnutls_cert_log("issuer", issuer); \
+ _gnutls_debug_log( \
+ #level \
+ ": certificate's issuer security level is unacceptable\n"); \
+ return gnutls_assert_val(0); \
+ } \
+ } \
break;
/* Checks whether the provided certificates are acceptable
@@ -469,7 +466,7 @@ static unsigned is_level_acceptable(gnutls_x509_crt_t crt,
bool trusted, unsigned flags)
{
gnutls_certificate_verification_profiles_t profile =
- GNUTLS_VFLAGS_TO_PROFILE(flags);
+ GNUTLS_VFLAGS_TO_PROFILE(flags);
int issuer_pkalg = 0, pkalg, ret;
unsigned bits = 0, issuer_bits = 0, sym_bits = 0;
gnutls_pk_params_st params;
@@ -496,7 +493,7 @@ static unsigned is_level_acceptable(gnutls_x509_crt_t crt,
if (issuer) {
issuer_pkalg =
- gnutls_x509_crt_get_pk_algorithm(issuer, &issuer_bits);
+ gnutls_x509_crt_get_pk_algorithm(issuer, &issuer_bits);
if (issuer_pkalg < 0)
return gnutls_assert_val(0);
}
@@ -511,108 +508,104 @@ static unsigned is_level_acceptable(gnutls_x509_crt_t crt,
CASE_SEC_PARAM(GNUTLS_PROFILE_ULTRA, GNUTLS_SEC_PARAM_ULTRA);
CASE_SEC_PARAM(GNUTLS_PROFILE_FUTURE, GNUTLS_SEC_PARAM_FUTURE);
case GNUTLS_PROFILE_SUITEB128:
- case GNUTLS_PROFILE_SUITEB192:{
- unsigned curve, issuer_curve;
+ case GNUTLS_PROFILE_SUITEB192: {
+ unsigned curve, issuer_curve;
- /* check suiteB params validity: rfc5759 */
+ /* check suiteB params validity: rfc5759 */
- if (gnutls_x509_crt_get_version(crt) != 3) {
- _gnutls_debug_log
- ("SUITEB: certificate uses an unacceptable version number\n");
- return gnutls_assert_val(0);
- }
+ if (gnutls_x509_crt_get_version(crt) != 3) {
+ _gnutls_debug_log(
+ "SUITEB: certificate uses an unacceptable version number\n");
+ return gnutls_assert_val(0);
+ }
- if (sigalg != GNUTLS_SIGN_ECDSA_SHA256
- && sigalg != GNUTLS_SIGN_ECDSA_SHA384) {
- _gnutls_debug_log
- ("SUITEB: certificate is not signed using ECDSA-SHA256 or ECDSA-SHA384\n");
- return gnutls_assert_val(0);
- }
+ if (sigalg != GNUTLS_SIGN_ECDSA_SHA256 &&
+ sigalg != GNUTLS_SIGN_ECDSA_SHA384) {
+ _gnutls_debug_log(
+ "SUITEB: certificate is not signed using ECDSA-SHA256 or ECDSA-SHA384\n");
+ return gnutls_assert_val(0);
+ }
- if (pkalg != GNUTLS_PK_EC) {
- _gnutls_debug_log
- ("SUITEB: certificate does not contain ECC parameters\n");
+ if (pkalg != GNUTLS_PK_EC) {
+ _gnutls_debug_log(
+ "SUITEB: certificate does not contain ECC parameters\n");
+ return gnutls_assert_val(0);
+ }
+
+ if (issuer_pkalg != GNUTLS_PK_EC) {
+ _gnutls_debug_log(
+ "SUITEB: certificate's issuer does not have ECC parameters\n");
+ return gnutls_assert_val(0);
+ }
+
+ ret = _gnutls_x509_crt_get_mpis(crt, &params);
+ if (ret < 0) {
+ _gnutls_debug_log(
+ "SUITEB: cannot read certificate params\n");
+ return gnutls_assert_val(0);
+ }
+
+ curve = params.curve;
+ gnutls_pk_params_release(&params);
+
+ if (curve != GNUTLS_ECC_CURVE_SECP256R1 &&
+ curve != GNUTLS_ECC_CURVE_SECP384R1) {
+ _gnutls_debug_log(
+ "SUITEB: certificate's ECC params do not contain SECP256R1 or SECP384R1\n");
+ return gnutls_assert_val(0);
+ }
+
+ if (profile == GNUTLS_PROFILE_SUITEB192) {
+ if (curve != GNUTLS_ECC_CURVE_SECP384R1) {
+ _gnutls_debug_log(
+ "SUITEB192: certificate does not use SECP384R1\n");
return gnutls_assert_val(0);
}
+ }
- if (issuer_pkalg != GNUTLS_PK_EC) {
- _gnutls_debug_log
- ("SUITEB: certificate's issuer does not have ECC parameters\n");
+ if (issuer != NULL) {
+ if (gnutls_x509_crt_get_version(issuer) != 3) {
+ _gnutls_debug_log(
+ "SUITEB: certificate's issuer uses an unacceptable version number\n");
return gnutls_assert_val(0);
}
- ret = _gnutls_x509_crt_get_mpis(crt, &params);
+ ret = _gnutls_x509_crt_get_mpis(issuer, &params);
if (ret < 0) {
- _gnutls_debug_log
- ("SUITEB: cannot read certificate params\n");
+ _gnutls_debug_log(
+ "SUITEB: cannot read certificate params\n");
return gnutls_assert_val(0);
}
- curve = params.curve;
+ issuer_curve = params.curve;
gnutls_pk_params_release(&params);
- if (curve != GNUTLS_ECC_CURVE_SECP256R1 &&
- curve != GNUTLS_ECC_CURVE_SECP384R1) {
- _gnutls_debug_log
- ("SUITEB: certificate's ECC params do not contain SECP256R1 or SECP384R1\n");
+ if (issuer_curve != GNUTLS_ECC_CURVE_SECP256R1 &&
+ issuer_curve != GNUTLS_ECC_CURVE_SECP384R1) {
+ _gnutls_debug_log(
+ "SUITEB: certificate's issuer ECC params do not contain SECP256R1 or SECP384R1\n");
return gnutls_assert_val(0);
}
- if (profile == GNUTLS_PROFILE_SUITEB192) {
- if (curve != GNUTLS_ECC_CURVE_SECP384R1) {
- _gnutls_debug_log
- ("SUITEB192: certificate does not use SECP384R1\n");
- return gnutls_assert_val(0);
- }
+ if (issuer_curve < curve) {
+ _gnutls_debug_log(
+ "SUITEB: certificate's issuer ECC params are weaker than the certificate's\n");
+ return gnutls_assert_val(0);
}
- if (issuer != NULL) {
- if (gnutls_x509_crt_get_version(issuer) != 3) {
- _gnutls_debug_log
- ("SUITEB: certificate's issuer uses an unacceptable version number\n");
- return gnutls_assert_val(0);
- }
-
- ret =
- _gnutls_x509_crt_get_mpis(issuer, &params);
- if (ret < 0) {
- _gnutls_debug_log
- ("SUITEB: cannot read certificate params\n");
- return gnutls_assert_val(0);
- }
-
- issuer_curve = params.curve;
- gnutls_pk_params_release(&params);
-
- if (issuer_curve != GNUTLS_ECC_CURVE_SECP256R1
- && issuer_curve !=
- GNUTLS_ECC_CURVE_SECP384R1) {
- _gnutls_debug_log
- ("SUITEB: certificate's issuer ECC params do not contain SECP256R1 or SECP384R1\n");
- return gnutls_assert_val(0);
- }
-
- if (issuer_curve < curve) {
- _gnutls_debug_log
- ("SUITEB: certificate's issuer ECC params are weaker than the certificate's\n");
- return gnutls_assert_val(0);
- }
-
- if (sigalg == GNUTLS_SIGN_ECDSA_SHA256 &&
- issuer_curve ==
- GNUTLS_ECC_CURVE_SECP384R1) {
- _gnutls_debug_log
- ("SUITEB: certificate is signed with ECDSA-SHA256 when using SECP384R1\n");
- return gnutls_assert_val(0);
- }
+ if (sigalg == GNUTLS_SIGN_ECDSA_SHA256 &&
+ issuer_curve == GNUTLS_ECC_CURVE_SECP384R1) {
+ _gnutls_debug_log(
+ "SUITEB: certificate is signed with ECDSA-SHA256 when using SECP384R1\n");
+ return gnutls_assert_val(0);
}
-
- break;
- case GNUTLS_PROFILE_UNKNOWN: /* already checked; avoid compiler warnings */
- _gnutls_debug_log
- ("An unknown profile (%d) was encountered\n",
- (int)profile);
}
+
+ break;
+ case GNUTLS_PROFILE_UNKNOWN: /* already checked; avoid compiler warnings */
+ _gnutls_debug_log("An unknown profile (%d) was encountered\n",
+ (int)profile);
+ }
}
return 1;
@@ -626,13 +619,16 @@ typedef struct verify_state_st {
gnutls_verify_output_function *func;
} verify_state_st;
-#define MARK_INVALID(x) { gnutls_assert(); \
- out |= (x|GNUTLS_CERT_INVALID); \
- result = 0; }
+#define MARK_INVALID(x) \
+ { \
+ gnutls_assert(); \
+ out |= (x | GNUTLS_CERT_INVALID); \
+ result = 0; \
+ }
static int _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
gnutls_x509_crt_t cert,
gnutls_x509_crt_t issuer, unsigned vflags);
@@ -650,10 +646,9 @@ static int _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
*/
static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
gnutls_x509_crt_t cert,
- const gnutls_x509_crt_t * trusted_cas,
- int tcas_size, unsigned int flags,
- unsigned int *output,
- verify_state_st * vparams, unsigned end_cert)
+ const gnutls_x509_crt_t *trusted_cas, int tcas_size,
+ unsigned int flags, unsigned int *output,
+ verify_state_st *vparams, unsigned end_cert)
{
gnutls_datum_t cert_signed_data = { NULL, 0 };
gnutls_datum_t cert_signature = { NULL, 0 };
@@ -677,25 +672,22 @@ static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
if (tcas_size >= 1)
issuer = find_issuer(cert, trusted_cas, tcas_size);
- ret =
- _gnutls_x509_get_signed_data(cert->cert, &cert->der,
- "tbsCertificate", &cert_signed_data);
+ ret = _gnutls_x509_get_signed_data(cert->cert, &cert->der,
+ "tbsCertificate", &cert_signed_data);
if (ret < 0) {
MARK_INVALID(0);
cert_signed_data.data = NULL;
}
- ret =
- _gnutls_x509_get_signature(cert->cert, "signature",
- &cert_signature);
+ ret = _gnutls_x509_get_signature(cert->cert, "signature",
+ &cert_signature);
if (ret < 0) {
MARK_INVALID(0);
cert_signature.data = NULL;
}
- ret =
- _gnutls_x509_get_signature_algorithm(cert->cert,
- "signatureAlgorithm");
+ ret = _gnutls_x509_get_signature_algorithm(cert->cert,
+ "signatureAlgorithm");
if (ret < 0) {
MARK_INVALID(0);
}
@@ -711,113 +703,107 @@ static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
} else {
if (vparams->nc != NULL) {
/* append the issuer's constraints */
- ret =
- gnutls_x509_crt_get_name_constraints(issuer,
- vparams->nc,
- GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND,
- NULL);
- if (ret < 0
- && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ ret = gnutls_x509_crt_get_name_constraints(
+ issuer, vparams->nc,
+ GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND, NULL);
+ if (ret < 0 &&
+ ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto nc_done;
}
/* only check name constraints in server certificates, not CAs */
if (end_cert != 0) {
- ret =
- gnutls_x509_name_constraints_check_crt
- (vparams->nc, GNUTLS_SAN_DNSNAME, cert);
+ ret = gnutls_x509_name_constraints_check_crt(
+ vparams->nc, GNUTLS_SAN_DNSNAME, cert);
if (ret == 0) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto nc_done;
}
- ret =
- gnutls_x509_name_constraints_check_crt
- (vparams->nc, GNUTLS_SAN_RFC822NAME, cert);
+ ret = gnutls_x509_name_constraints_check_crt(
+ vparams->nc, GNUTLS_SAN_RFC822NAME,
+ cert);
if (ret == 0) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto nc_done;
}
- ret =
- gnutls_x509_name_constraints_check_crt
- (vparams->nc, GNUTLS_SAN_DN, cert);
+ ret = gnutls_x509_name_constraints_check_crt(
+ vparams->nc, GNUTLS_SAN_DN, cert);
if (ret == 0) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto nc_done;
}
- ret =
- gnutls_x509_name_constraints_check_crt
- (vparams->nc, GNUTLS_SAN_URI, cert);
+ ret = gnutls_x509_name_constraints_check_crt(
+ vparams->nc, GNUTLS_SAN_URI, cert);
if (ret == 0) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto nc_done;
}
- ret =
- gnutls_x509_name_constraints_check_crt
- (vparams->nc, GNUTLS_SAN_IPADDRESS, cert);
+ ret = gnutls_x509_name_constraints_check_crt(
+ vparams->nc, GNUTLS_SAN_IPADDRESS,
+ cert);
if (ret == 0) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto nc_done;
}
}
}
- nc_done:
+ nc_done:
if (vparams->tls_feat != NULL) {
/* append the issuer's constraints */
- ret =
- gnutls_x509_crt_get_tlsfeatures(issuer,
- vparams->tls_feat,
- GNUTLS_EXT_FLAG_APPEND,
- NULL);
- if (ret < 0
- && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ ret = gnutls_x509_crt_get_tlsfeatures(
+ issuer, vparams->tls_feat,
+ GNUTLS_EXT_FLAG_APPEND, NULL);
+ if (ret < 0 &&
+ ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto feat_done;
}
- ret =
- gnutls_x509_tlsfeatures_check_crt(vparams->tls_feat,
- cert);
+ ret = gnutls_x509_tlsfeatures_check_crt(
+ vparams->tls_feat, cert);
if (ret == 0) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
goto feat_done;
}
}
- feat_done:
+ feat_done:
issuer_version = gnutls_x509_crt_get_version(issuer);
if (issuer_version < 0) {
MARK_INVALID(0);
} else if (!(flags & GNUTLS_VERIFY_DISABLE_CA_SIGN) &&
- ((flags & GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT)
- || issuer_version != 1)) {
- if (check_if_ca(cert, issuer, &vparams->max_path, flags)
- != 1) {
+ ((flags &
+ GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT) ||
+ issuer_version != 1)) {
+ if (check_if_ca(cert, issuer, &vparams->max_path,
+ flags) != 1) {
MARK_INVALID(GNUTLS_CERT_SIGNER_NOT_CA);
}
- ret =
- gnutls_x509_crt_get_key_usage(issuer, &usage, NULL);
+ ret = gnutls_x509_crt_get_key_usage(issuer, &usage,
+ NULL);
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
if (ret < 0) {
MARK_INVALID(0);
- } else if (!(usage & GNUTLS_KEY_KEY_CERT_SIGN)) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ } else if (!(usage &
+ GNUTLS_KEY_KEY_CERT_SIGN)) {
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
}
}
}
@@ -826,17 +812,16 @@ static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
MARK_INVALID(0);
} else if (cert_signed_data.data != NULL &&
cert_signature.data != NULL) {
- ret =
- _gnutls_x509_verify_data(sigalg,
- &cert_signed_data,
- &cert_signature,
- cert, issuer, flags);
+ ret = _gnutls_x509_verify_data(sigalg,
+ &cert_signed_data,
+ &cert_signature, cert,
+ issuer, flags);
if (ret == GNUTLS_E_PK_SIG_VERIFY_FAILED) {
MARK_INVALID(GNUTLS_CERT_SIGNATURE_FAILURE);
} else if (ret == GNUTLS_E_CONSTRAINT_ERROR) {
- MARK_INVALID
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MARK_INVALID(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
} else if (ret < 0) {
MARK_INVALID(0);
}
@@ -869,10 +854,10 @@ static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
* used are secure. If the certificate is self signed it doesn't
* really matter.
*/
- if (_gnutls_sign_is_secure2
- (se, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0
- && _gnutls_is_broken_sig_allowed(se, flags) == 0
- && is_issuer(cert, cert) == 0) {
+ if (_gnutls_sign_is_secure2(
+ se, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0 &&
+ _gnutls_is_broken_sig_allowed(se, flags) == 0 &&
+ is_issuer(cert, cert) == 0) {
MARK_INVALID(GNUTLS_CERT_INSECURE_ALGORITHM);
}
}
@@ -897,7 +882,7 @@ static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
}
}
- cleanup:
+cleanup:
if (output)
*output |= out;
@@ -928,15 +913,14 @@ static unsigned verify_crt(gnutls_x509_trust_list_t tlist,
* Returns: It will return true (1) if the given certificate is issued
* by the given issuer, and false (0) if not.
**/
-unsigned
-gnutls_x509_crt_check_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
+unsigned gnutls_x509_crt_check_issuer(gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t issuer)
{
return is_issuer(cert, issuer);
}
-static
-unsigned check_ca_sanity(const gnutls_x509_crt_t issuer,
- time_t now, unsigned int flags)
+static unsigned check_ca_sanity(const gnutls_x509_crt_t issuer, time_t now,
+ unsigned int flags)
{
unsigned int status = 0;
unsigned sigalg;
@@ -950,19 +934,18 @@ unsigned check_ca_sanity(const gnutls_x509_crt_t issuer,
status |= check_time_status(issuer, now);
}
- ret =
- _gnutls_x509_get_signature_algorithm(issuer->cert,
- "signatureAlgorithm");
+ ret = _gnutls_x509_get_signature_algorithm(issuer->cert,
+ "signatureAlgorithm");
sigalg = ret;
/* we explicitly allow CAs which we do not support their self-algorithms
* to pass. */
- if (ret >= 0 && !is_level_acceptable(issuer, NULL, sigalg, true, flags)) {
+ if (ret >= 0 &&
+ !is_level_acceptable(issuer, NULL, sigalg, true, flags)) {
status |= GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID;
}
return status;
-
}
/* Verify X.509 certificate chain.
@@ -972,15 +955,11 @@ unsigned check_ca_sanity(const gnutls_x509_crt_t issuer,
* This function verifies a X.509 certificate list. The certificate
* list should lead to a trusted certificate in order to be trusted.
*/
-unsigned int
-_gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
- const gnutls_x509_crt_t * certificate_list,
- int clist_size,
- const gnutls_x509_crt_t * trusted_cas,
- int tcas_size,
- unsigned int flags,
- const char *purpose,
- gnutls_verify_output_function func)
+unsigned int _gnutls_verify_crt_status(
+ gnutls_x509_trust_list_t tlist,
+ const gnutls_x509_crt_t *certificate_list, int clist_size,
+ const gnutls_x509_crt_t *trusted_cas, int tcas_size, unsigned int flags,
+ const char *purpose, gnutls_verify_output_function func)
{
int i = 0, ret;
unsigned int status = 0, output;
@@ -997,9 +976,9 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
* failures on some root self signed certificates that use the
* MD2 algorithm.
*/
- if (gnutls_x509_crt_check_issuer
- (certificate_list[clist_size - 1],
- certificate_list[clist_size - 1]) != 0) {
+ if (gnutls_x509_crt_check_issuer(
+ certificate_list[clist_size - 1],
+ certificate_list[clist_size - 1]) != 0) {
clist_size--;
}
}
@@ -1010,9 +989,9 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
* self-signed E but already removed above), and we trust B, remove
* B, C and D. */
if (!(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_SAME))
- i = 0; /* also replace the first one */
+ i = 0; /* also replace the first one */
else
- i = 1; /* do not replace the first one */
+ i = 1; /* do not replace the first one */
for (; i < clist_size; i++) {
int j;
@@ -1022,11 +1001,10 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
* sent by the client, but will have the same name and key. That is
* because it can happen that a CA certificate is upgraded from intermediate
* CA to self-signed CA at some point. */
- if (_gnutls_check_if_same_key
- (certificate_list[i], trusted_cas[j], i) != 0) {
-
- status |=
- check_ca_sanity(trusted_cas[j], now, flags);
+ if (_gnutls_check_if_same_key(certificate_list[i],
+ trusted_cas[j], i) != 0) {
+ status |= check_ca_sanity(trusted_cas[j], now,
+ flags);
if (func)
func(certificate_list[i],
@@ -1076,10 +1054,9 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
*/
output = 0;
- ret = verify_crt(tlist,
- certificate_list[clist_size - 1],
- trusted_cas, tcas_size, flags,
- &output, &vparams, clist_size == 1 ? 1 : 0);
+ ret = verify_crt(tlist, certificate_list[clist_size - 1], trusted_cas,
+ tcas_size, flags, &output, &vparams,
+ clist_size == 1 ? 1 : 0);
if (ret != 1) {
/* if the last certificate in the certificate
* list is invalid, then the certificate is not
@@ -1097,9 +1074,8 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
output = 0;
if (purpose != NULL) {
- ret =
- _gnutls_check_key_purpose(certificate_list[i],
- purpose, 1);
+ ret = _gnutls_check_key_purpose(certificate_list[i],
+ purpose, 1);
if (ret != 1) {
gnutls_assert();
status |= GNUTLS_CERT_INVALID;
@@ -1119,10 +1095,9 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
flags |= GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT;
}
- if (!verify_crt(tlist,
- certificate_list[i - 1],
- &certificate_list[i], 1,
- flags, &output, &vparams, i == 1 ? 1 : 0)) {
+ if (!verify_crt(tlist, certificate_list[i - 1],
+ &certificate_list[i], 1, flags, &output,
+ &vparams, i == 1 ? 1 : 0)) {
gnutls_assert();
status |= output;
status |= GNUTLS_CERT_INVALID;
@@ -1130,7 +1105,7 @@ _gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
}
}
- cleanup:
+cleanup:
gnutls_x509_name_constraints_deinit(vparams.nc);
gnutls_x509_tlsfeatures_deinit(vparams.tls_feat);
return status;
@@ -1157,9 +1132,8 @@ unsigned _gnutls_check_key_purpose(gnutls_x509_crt_t cert, const char *purpose,
* CA certs */
if (strcmp(purpose, GNUTLS_KP_TLS_WWW_SERVER) == 0) {
unsigned ca_status;
- ret =
- gnutls_x509_crt_get_basic_constraints(cert, NULL,
- &ca_status, NULL);
+ ret = gnutls_x509_crt_get_basic_constraints(cert, NULL,
+ &ca_status, NULL);
if (ret < 0)
ca_status = 0;
@@ -1169,9 +1143,8 @@ unsigned _gnutls_check_key_purpose(gnutls_x509_crt_t cert, const char *purpose,
for (i = 0;; i++) {
oid_size = sizeof(oid);
- ret =
- gnutls_x509_crt_get_key_purpose_oid(cert, i, oid, &oid_size,
- &critical);
+ ret = gnutls_x509_crt_get_key_purpose_oid(cert, i, oid,
+ &oid_size, &critical);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
if (i == 0) {
/* no key purpose in certificate, assume ANY */
@@ -1193,13 +1166,13 @@ unsigned _gnutls_check_key_purpose(gnutls_x509_crt_t cert, const char *purpose,
}
}
- if (strcmp(oid, purpose) == 0
- || (no_any == 0 && strcmp(oid, GNUTLS_KP_ANY) == 0)) {
+ if (strcmp(oid, purpose) == 0 ||
+ (no_any == 0 && strcmp(oid, GNUTLS_KP_ANY) == 0)) {
return 1;
}
- _gnutls_debug_log
- ("looking for key purpose '%s', but have '%s'\n", purpose,
- oid);
+ _gnutls_debug_log(
+ "looking for key purpose '%s', but have '%s'\n",
+ purpose, oid);
}
return 0;
}
@@ -1216,14 +1189,11 @@ unsigned _gnutls_check_key_purpose(gnutls_x509_crt_t cert, const char *purpose,
* This function verifies a X.509 certificate list. The certificate
* list should lead to a trusted certificate in order to be trusted.
*/
-unsigned int
-_gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
- const char *url,
- const gnutls_x509_crt_t * certificate_list,
- unsigned clist_size,
- const char *purpose,
- unsigned int flags,
- gnutls_verify_output_function func)
+unsigned int _gnutls_pkcs11_verify_crt_status(
+ gnutls_x509_trust_list_t tlist, const char *url,
+ const gnutls_x509_crt_t *certificate_list, unsigned clist_size,
+ const char *purpose, unsigned int flags,
+ gnutls_verify_output_function func)
{
int ret;
unsigned int status = 0, i;
@@ -1242,9 +1212,9 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
* failures on some root self signed certificates that use the
* MD2 algorithm.
*/
- if (gnutls_x509_crt_check_issuer
- (certificate_list[clist_size - 1],
- certificate_list[clist_size - 1]) != 0) {
+ if (gnutls_x509_crt_check_issuer(
+ certificate_list[clist_size - 1],
+ certificate_list[clist_size - 1]) != 0) {
clist_size--;
}
}
@@ -1255,33 +1225,32 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
* self-signed E but already removed above), and we trust B, remove
* B, C and D. */
if (!(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_SAME))
- i = 0; /* also replace the first one */
+ i = 0; /* also replace the first one */
else
- i = 1; /* do not replace the first one */
+ i = 1; /* do not replace the first one */
for (; i < clist_size; i++) {
unsigned vflags;
gnutls_x509_crt_t trusted_cert;
- if (i == 0) /* in the end certificate do full comparison */
+ if (i == 0) /* in the end certificate do full comparison */
vflags =
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED;
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED;
else
vflags =
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED;
-
- if (_gnutls_pkcs11_crt_is_known
- (url, certificate_list[i], vflags, &trusted_cert) != 0) {
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED;
+ if (_gnutls_pkcs11_crt_is_known(url, certificate_list[i],
+ vflags, &trusted_cert) != 0) {
status |= check_ca_sanity(trusted_cert, now, flags);
if (func)
- func(trusted_cert,
- certificate_list[i], NULL, status);
+ func(trusted_cert, certificate_list[i], NULL,
+ status);
gnutls_x509_crt_deinit(trusted_cert);
@@ -1303,11 +1272,11 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
/* check for blocklists */
for (i = 0; i < clist_size; i++) {
- if (gnutls_pkcs11_crt_is_known(url, certificate_list[i],
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE
- |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED)
- != 0) {
+ if (gnutls_pkcs11_crt_is_known(
+ url, certificate_list[i],
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED) !=
+ 0) {
status |= GNUTLS_CERT_INVALID;
status |= GNUTLS_CERT_REVOKED;
if (func)
@@ -1318,34 +1287,26 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
}
/* check against issuer */
- ret =
- gnutls_pkcs11_get_raw_issuer(url, certificate_list[clist_size - 1],
- &raw_issuer, GNUTLS_X509_FMT_DER,
- GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT
- |
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
+ ret = gnutls_pkcs11_get_raw_issuer(
+ url, certificate_list[clist_size - 1], &raw_issuer,
+ GNUTLS_X509_FMT_DER,
+ GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT |
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE);
if (ret < 0) {
gnutls_assert();
- if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- && clist_size > 2) {
-
+ if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE &&
+ clist_size > 2) {
/* check if the last certificate in the chain is present
* in our trusted list, and if yes, verify against it. */
- ret =
- gnutls_pkcs11_crt_is_known(url,
- certificate_list
- [clist_size - 1],
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED
- |
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE);
+ ret = gnutls_pkcs11_crt_is_known(
+ url, certificate_list[clist_size - 1],
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED |
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE);
if (ret != 0) {
- return _gnutls_verify_crt_status(tlist,
- certificate_list,
- clist_size,
- &certificate_list
- [clist_size -
- 1], 1, flags,
- purpose, func);
+ return _gnutls_verify_crt_status(
+ tlist, certificate_list, clist_size,
+ &certificate_list[clist_size - 1], 1,
+ flags, purpose, func);
}
}
@@ -1354,10 +1315,9 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
/* verify the certificate list against 0 trusted CAs in order
* to get, any additional flags from the certificate list (e.g.,
* insecure algorithms or expired */
- status |=
- _gnutls_verify_crt_status(tlist, certificate_list,
- clist_size, NULL, 0, flags,
- purpose, func);
+ status |= _gnutls_verify_crt_status(tlist, certificate_list,
+ clist_size, NULL, 0, flags,
+ purpose, func);
goto cleanup;
}
@@ -1380,16 +1340,13 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
/* check if the raw issuer is assigned with a time-based
* distrust and the certificate is issued after that period
*/
- distrust_after =
- _gnutls_pkcs11_get_distrust_after(url, issuer,
- purpose == NULL ?
- GNUTLS_KP_TLS_WWW_SERVER :
- purpose,
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
- if (distrust_after != (time_t) - 1
- && distrust_after <
- gnutls_x509_crt_get_activation_time(certificate_list
- [clist_size - 1])) {
+ distrust_after = _gnutls_pkcs11_get_distrust_after(
+ url, issuer,
+ purpose == NULL ? GNUTLS_KP_TLS_WWW_SERVER : purpose,
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ if (distrust_after != (time_t)-1 &&
+ distrust_after < gnutls_x509_crt_get_activation_time(
+ certificate_list[clist_size - 1])) {
gnutls_assert();
status |= GNUTLS_CERT_INVALID;
status |= GNUTLS_CERT_SIGNER_NOT_FOUND;
@@ -1399,24 +1356,22 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
/* check if the raw issuer is distrusted (it can happen if
* the issuer is both in the trusted list and the distrusted)
*/
- if (gnutls_pkcs11_crt_is_known(url, issuer,
- GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE
- |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED)
- != 0) {
+ if (gnutls_pkcs11_crt_is_known(
+ url, issuer,
+ GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED) != 0) {
status |= GNUTLS_CERT_INVALID;
- status |= GNUTLS_CERT_SIGNER_NOT_FOUND; /* if the signer is revoked - it is as if it doesn't exist */
+ status |=
+ GNUTLS_CERT_SIGNER_NOT_FOUND; /* if the signer is revoked - it is as if it doesn't exist */
goto cleanup;
}
/* security modules that provide trust, bundle all certificates (of all purposes)
* together. In software that doesn't specify any purpose assume the default to
* be www-server. */
- ret =
- _gnutls_check_key_purpose(issuer,
- purpose ==
- NULL ? GNUTLS_KP_TLS_WWW_SERVER : purpose,
- 0);
+ ret = _gnutls_check_key_purpose(
+ issuer, purpose == NULL ? GNUTLS_KP_TLS_WWW_SERVER : purpose,
+ 0);
if (ret != 1) {
gnutls_assert();
status |= GNUTLS_CERT_INVALID;
@@ -1427,7 +1382,7 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
status = _gnutls_verify_crt_status(tlist, certificate_list, clist_size,
&issuer, 1, flags, purpose, func);
- cleanup:
+cleanup:
gnutls_free(raw_issuer.data);
if (issuer != NULL)
gnutls_x509_crt_deinit(issuer);
@@ -1436,11 +1391,9 @@ _gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
}
#endif
-static int
-_gnutls_x509_validate_sign_params(gnutls_pk_algorithm_t pk_algorithm,
- asn1_node cert,
- const char *name,
- gnutls_x509_spki_st * sig_params)
+static int _gnutls_x509_validate_sign_params(gnutls_pk_algorithm_t pk_algorithm,
+ asn1_node cert, const char *name,
+ gnutls_x509_spki_st *sig_params)
{
/* The signature parameter validation is only needed for RSA-PSS */
if (pk_algorithm == GNUTLS_PK_RSA_PSS) {
@@ -1481,12 +1434,11 @@ _gnutls_x509_validate_sign_params(gnutls_pk_algorithm_t pk_algorithm,
* 'data' is the signed data
* 'signature' is the signature!
*/
-static int
-_gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
- gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer, unsigned vflags)
+static int _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
+ gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t issuer, unsigned vflags)
{
gnutls_pk_params_st params;
gnutls_pk_algorithm_t issuer_pk;
@@ -1506,20 +1458,18 @@ _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
se = _gnutls_sign_to_entry(sign);
if (se == NULL)
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
if (cert != NULL) {
- ret = _gnutls_x509_read_sign_params(cert->cert,
- "signatureAlgorithm",
- &sign_params);
+ ret = _gnutls_x509_read_sign_params(
+ cert->cert, "signatureAlgorithm", &sign_params);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret = _gnutls_x509_validate_sign_params(issuer_pk,
- issuer->cert,
+ ret = _gnutls_x509_validate_sign_params(issuer_pk, issuer->cert,
"tbsCertificate."
"subjectPublicKeyInfo."
"algorithm",
@@ -1536,14 +1486,13 @@ _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
sign_params.rsa_pss_dig = se->hash;
}
- ret =
- pubkey_verify_data(se, hash_to_entry(se->hash), data, signature,
- &params, &sign_params, vflags);
+ ret = pubkey_verify_data(se, hash_to_entry(se->hash), data, signature,
+ &params, &sign_params, vflags);
if (ret < 0) {
gnutls_assert();
}
- cleanup:
+cleanup:
/* release all allocated MPIs
*/
gnutls_pk_params_release(&params);
@@ -1578,14 +1527,13 @@ _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_list_verify(const gnutls_x509_crt_t * cert_list,
- unsigned cert_list_length,
- const gnutls_x509_crt_t * CA_list,
- unsigned CA_list_length,
- const gnutls_x509_crl_t * CRL_list,
- unsigned CRL_list_length, unsigned int flags,
- unsigned int *verify)
+int gnutls_x509_crt_list_verify(const gnutls_x509_crt_t *cert_list,
+ unsigned cert_list_length,
+ const gnutls_x509_crt_t *CA_list,
+ unsigned CA_list_length,
+ const gnutls_x509_crl_t *CRL_list,
+ unsigned CRL_list_length, unsigned int flags,
+ unsigned int *verify)
{
unsigned i;
int ret;
@@ -1599,16 +1547,15 @@ gnutls_x509_crt_list_verify(const gnutls_x509_crt_t * cert_list,
/* Verify certificate
*/
*verify = _gnutls_verify_crt_status(tlist, cert_list, cert_list_length,
- CA_list, CA_list_length,
- flags, NULL, NULL);
+ CA_list, CA_list_length, flags,
+ NULL, NULL);
/* Check for revoked certificates in the chain.
*/
for (i = 0; i < cert_list_length; i++) {
- ret = gnutls_x509_crt_check_revocation(cert_list[i],
- CRL_list,
+ ret = gnutls_x509_crt_check_revocation(cert_list[i], CRL_list,
CRL_list_length);
- if (ret == 1) { /* revoked */
+ if (ret == 1) { /* revoked */
*verify |= GNUTLS_CERT_REVOKED;
*verify |= GNUTLS_CERT_INVALID;
}
@@ -1636,11 +1583,10 @@ gnutls_x509_crt_list_verify(const gnutls_x509_crt_t * cert_list,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_verify(gnutls_x509_crt_t cert,
- const gnutls_x509_crt_t * CA_list,
- unsigned CA_list_length, unsigned int flags,
- unsigned int *verify)
+int gnutls_x509_crt_verify(gnutls_x509_crt_t cert,
+ const gnutls_x509_crt_t *CA_list,
+ unsigned CA_list_length, unsigned int flags,
+ unsigned int *verify)
{
gnutls_x509_trust_list_t tlist;
@@ -1648,9 +1594,8 @@ gnutls_x509_crt_verify(gnutls_x509_crt_t cert,
/* Verify certificate
*/
- *verify = _gnutls_verify_crt_status(tlist, &cert, 1,
- CA_list, CA_list_length,
- flags, NULL, NULL);
+ *verify = _gnutls_verify_crt_status(tlist, &cert, 1, CA_list,
+ CA_list_length, flags, NULL, NULL);
gnutls_x509_trust_list_deinit(tlist, 0);
return 0;
@@ -1667,15 +1612,15 @@ gnutls_x509_crt_verify(gnutls_x509_crt_t cert,
* Returns: true (1) if the given CRL was issued by the given issuer,
* and false (0) if not.
**/
-unsigned
-gnutls_x509_crl_check_issuer(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer)
+unsigned gnutls_x509_crl_check_issuer(gnutls_x509_crl_t crl,
+ gnutls_x509_crt_t issuer)
{
return is_crl_issuer(crl, issuer);
}
static inline gnutls_x509_crt_t
-find_crl_issuer(gnutls_x509_crl_t crl,
- const gnutls_x509_crt_t * trusted_cas, int tcas_size)
+find_crl_issuer(gnutls_x509_crl_t crl, const gnutls_x509_crt_t *trusted_cas,
+ int tcas_size)
{
int i;
@@ -1714,13 +1659,12 @@ find_crl_issuer(gnutls_x509_crl_t crl,
* Returns: On success, %GNUTLS_E_SUCCESS (0), otherwise a
* negative error value.
**/
-int
-gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
- const gnutls_x509_crt_t * trusted_cas,
- unsigned tcas_size, unsigned int flags,
- unsigned int *verify)
+int gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
+ const gnutls_x509_crt_t *trusted_cas,
+ unsigned tcas_size, unsigned int flags,
+ unsigned int *verify)
{
-/* CRL is ignored for now */
+ /* CRL is ignored for now */
gnutls_datum_t crl_signed_data = { NULL, 0 };
gnutls_datum_t crl_signature = { NULL, 0 };
gnutls_x509_crt_t issuer = NULL;
@@ -1735,9 +1679,8 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
if (tcas_size >= 1)
issuer = find_crl_issuer(crl, trusted_cas, tcas_size);
- result =
- _gnutls_x509_get_signed_data(crl->crl, &crl->der, "tbsCertList",
- &crl_signed_data);
+ result = _gnutls_x509_get_signed_data(crl->crl, &crl->der,
+ "tbsCertList", &crl_signed_data);
if (result < 0) {
gnutls_assert();
if (verify)
@@ -1745,8 +1688,8 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
goto cleanup;
}
- result =
- _gnutls_x509_get_signature(crl->crl, "signature", &crl_signature);
+ result = _gnutls_x509_get_signature(crl->crl, "signature",
+ &crl_signature);
if (result < 0) {
gnutls_assert();
if (verify)
@@ -1754,9 +1697,8 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
goto cleanup;
}
- sigalg =
- _gnutls_x509_get_signature_algorithm(crl->crl,
- "signatureAlgorithm");
+ sigalg = _gnutls_x509_get_signature_algorithm(crl->crl,
+ "signatureAlgorithm");
if (sigalg < 0) {
gnutls_assert();
if (verify)
@@ -1770,20 +1712,19 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
if (issuer == NULL) {
gnutls_assert();
if (verify)
- *verify |=
- GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_INVALID;
+ *verify |= GNUTLS_CERT_SIGNER_NOT_FOUND |
+ GNUTLS_CERT_INVALID;
} else {
if (!(flags & GNUTLS_VERIFY_DISABLE_CA_SIGN)) {
if (gnutls_x509_crt_get_ca_status(issuer, NULL) != 1) {
gnutls_assert();
if (verify)
- *verify |=
- GNUTLS_CERT_SIGNER_NOT_CA |
- GNUTLS_CERT_INVALID;
+ *verify |= GNUTLS_CERT_SIGNER_NOT_CA |
+ GNUTLS_CERT_INVALID;
}
- result =
- gnutls_x509_crt_get_key_usage(issuer, &usage, NULL);
+ result = gnutls_x509_crt_get_key_usage(issuer, &usage,
+ NULL);
if (result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
if (result < 0) {
gnutls_assert();
@@ -1793,16 +1734,15 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
gnutls_assert();
if (verify)
*verify |=
- GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE
- | GNUTLS_CERT_INVALID;
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE |
+ GNUTLS_CERT_INVALID;
}
}
}
- result =
- _gnutls_x509_verify_data(sigalg,
- &crl_signed_data, &crl_signature,
- NULL, issuer, flags);
+ result = _gnutls_x509_verify_data(sigalg, &crl_signed_data,
+ &crl_signature, NULL, issuer,
+ flags);
if (result == GNUTLS_E_PK_SIG_VERIFY_FAILED) {
gnutls_assert();
/* error. ignore it */
@@ -1812,7 +1752,7 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
} else if (result == GNUTLS_E_CONSTRAINT_ERROR) {
if (verify)
*verify |=
- GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE;
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE;
result = 0;
} else if (result < 0) {
gnutls_assert();
@@ -1820,7 +1760,7 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
*verify |= GNUTLS_CERT_INVALID;
goto cleanup;
} else {
- result = 0; /* everything ok */
+ result = 0; /* everything ok */
}
}
@@ -1844,7 +1784,7 @@ gnutls_x509_crl_verify(gnutls_x509_crl_t crl,
if (nextu != -1 && nextu < now && verify)
*verify |= GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED;
- cleanup:
+cleanup:
if (verify && *verify != 0)
*verify |= GNUTLS_CERT_INVALID;
diff --git a/lib/x509/virt-san.c b/lib/x509/virt-san.c
index 71275dbca6..92fcab2c87 100644
--- a/lib/x509/virt-san.c
+++ b/lib/x509/virt-san.c
@@ -30,29 +30,27 @@
#include "krb5.h"
#include "virt-san.h"
-static
-int san_othername_to_virtual(const char *oid, size_t size)
+static int san_othername_to_virtual(const char *oid, size_t size)
{
if (oid) {
- if ((unsigned)size == (sizeof(XMPP_OID) - 1)
- && memcmp(oid, XMPP_OID, sizeof(XMPP_OID) - 1) == 0)
+ if ((unsigned)size == (sizeof(XMPP_OID) - 1) &&
+ memcmp(oid, XMPP_OID, sizeof(XMPP_OID) - 1) == 0)
return GNUTLS_SAN_OTHERNAME_XMPP;
- else if ((unsigned)size == (sizeof(KRB5_PRINCIPAL_OID) - 1)
- && memcmp(oid, KRB5_PRINCIPAL_OID,
- sizeof(KRB5_PRINCIPAL_OID) - 1) == 0)
+ else if ((unsigned)size == (sizeof(KRB5_PRINCIPAL_OID) - 1) &&
+ memcmp(oid, KRB5_PRINCIPAL_OID,
+ sizeof(KRB5_PRINCIPAL_OID) - 1) == 0)
return GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL;
else if ((unsigned)size ==
- (sizeof(MSUSER_PRINCIPAL_NAME_OID) - 1)
- && memcmp(oid, MSUSER_PRINCIPAL_NAME_OID,
- sizeof(MSUSER_PRINCIPAL_NAME_OID) - 1) == 0)
+ (sizeof(MSUSER_PRINCIPAL_NAME_OID) - 1) &&
+ memcmp(oid, MSUSER_PRINCIPAL_NAME_OID,
+ sizeof(MSUSER_PRINCIPAL_NAME_OID) - 1) == 0)
return GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL;
}
return GNUTLS_SAN_OTHERNAME;
}
-static
-const char *virtual_to_othername_oid(unsigned type)
+static const char *virtual_to_othername_oid(unsigned type)
{
switch (type) {
case GNUTLS_SAN_OTHERNAME_XMPP:
@@ -67,7 +65,7 @@ const char *virtual_to_othername_oid(unsigned type)
}
int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned type,
- gnutls_datum_t * san,
+ gnutls_datum_t *san,
const char *othername_oid, unsigned raw)
{
gnutls_datum_t encoded = { NULL, 0 };
@@ -82,13 +80,13 @@ int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned type,
gnutls_free(san->data);
if (othername_oid) {
- name->othername_oid.data = (uint8_t *) othername_oid;
+ name->othername_oid.data = (uint8_t *)othername_oid;
name->othername_oid.size = strlen(othername_oid);
} else {
name->othername_oid.data = NULL;
name->othername_oid.size = 0;
}
- } else { /* virtual types */
+ } else { /* virtual types */
const char *oid = virtual_to_othername_oid(type);
if (oid == NULL)
@@ -97,9 +95,8 @@ int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned type,
switch (type) {
case GNUTLS_SAN_OTHERNAME_XMPP:
- ret =
- gnutls_idna_map((char *)san->data, san->size, &xmpp,
- 0);
+ ret = gnutls_idna_map((char *)san->data, san->size,
+ &xmpp, 0);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -119,9 +116,8 @@ int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned type,
break;
case GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL:
- ret =
- _gnutls_krb5_principal_to_der((char *)san->data,
- &name->san);
+ ret = _gnutls_krb5_principal_to_der((char *)san->data,
+ &name->san);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -155,9 +151,9 @@ int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned type,
* Since: 3.3.8
**/
int gnutls_x509_othername_to_virtual(const char *oid,
- const gnutls_datum_t * othername,
+ const gnutls_datum_t *othername,
unsigned int *virt_type,
- gnutls_datum_t * virt)
+ gnutls_datum_t *virt)
{
int ret;
unsigned type;
@@ -171,9 +167,9 @@ int gnutls_x509_othername_to_virtual(const char *oid,
switch (type) {
case GNUTLS_SAN_OTHERNAME_XMPP:
- ret = _gnutls_x509_decode_string
- (ASN1_ETYPE_UTF8_STRING, othername->data,
- othername->size, virt, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_UTF8_STRING,
+ othername->data,
+ othername->size, virt, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -187,9 +183,9 @@ int gnutls_x509_othername_to_virtual(const char *oid,
}
return 0;
case GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL:
- ret = _gnutls_x509_decode_string
- (ASN1_ETYPE_UTF8_STRING, othername->data,
- othername->size, virt, 0);
+ ret = _gnutls_x509_decode_string(ASN1_ETYPE_UTF8_STRING,
+ othername->data,
+ othername->size, virt, 0);
if (ret < 0) {
gnutls_assert();
return ret;
diff --git a/lib/x509/virt-san.h b/lib/x509/virt-san.h
index 040b491125..e4ef0317e2 100644
--- a/lib/x509/virt-san.h
+++ b/lib/x509/virt-san.h
@@ -20,12 +20,12 @@
*/
#ifndef GNUTLS_LIB_X509_VIRT_SAN_H
-# define GNUTLS_LIB_X509_VIRT_SAN_H
+#define GNUTLS_LIB_X509_VIRT_SAN_H
-# include "x509_ext_int.h"
+#include "x509_ext_int.h"
int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned type,
- gnutls_datum_t * san,
+ gnutls_datum_t *san,
const char *othername_oid, unsigned raw);
-#endif /* GNUTLS_LIB_X509_VIRT_SAN_H */
+#endif /* GNUTLS_LIB_X509_VIRT_SAN_H */
diff --git a/lib/x509/x509.c b/lib/x509/x509.c
index a2f84b1cb3..bfe50f7fbd 100644
--- a/lib/x509/x509.c
+++ b/lib/x509/x509.c
@@ -52,8 +52,8 @@ static int crt_reinit(gnutls_x509_crt_t crt)
asn1_delete_structure(&crt->cert);
- result = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Certificate", &crt->cert);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Certificate",
+ &crt->cert);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
@@ -106,13 +106,13 @@ unsigned gnutls_x509_crt_equals(gnutls_x509_crt_t cert1,
gnutls_datum_t tmp1, tmp2;
/* on uninitialized or modified certificates, we have to re-encode */
- ret =
- gnutls_x509_crt_export2(cert1, GNUTLS_X509_FMT_DER, &tmp1);
+ ret = gnutls_x509_crt_export2(cert1, GNUTLS_X509_FMT_DER,
+ &tmp1);
if (ret < 0)
return gnutls_assert_val(0);
- ret =
- gnutls_x509_crt_export2(cert2, GNUTLS_X509_FMT_DER, &tmp2);
+ ret = gnutls_x509_crt_export2(cert2, GNUTLS_X509_FMT_DER,
+ &tmp2);
if (ret < 0) {
gnutls_free(tmp1.data);
return gnutls_assert_val(0);
@@ -128,8 +128,8 @@ unsigned gnutls_x509_crt_equals(gnutls_x509_crt_t cert1,
gnutls_free(tmp2.data);
} else {
if ((cert1->der.size == cert2->der.size) &&
- (memcmp(cert1->der.data, cert2->der.data, cert1->der.size)
- == 0))
+ (memcmp(cert1->der.data, cert2->der.data,
+ cert1->der.size) == 0))
result = 1;
else
result = 0;
@@ -150,8 +150,8 @@ unsigned gnutls_x509_crt_equals(gnutls_x509_crt_t cert1,
*
* Since: 3.5.0
**/
-unsigned
-gnutls_x509_crt_equals2(gnutls_x509_crt_t cert1, const gnutls_datum_t * der)
+unsigned gnutls_x509_crt_equals2(gnutls_x509_crt_t cert1,
+ const gnutls_datum_t *der)
{
bool result;
@@ -163,8 +163,8 @@ gnutls_x509_crt_equals2(gnutls_x509_crt_t cert1, const gnutls_datum_t * der)
int ret;
/* on uninitialized or modified certificates, we have to re-encode */
- ret =
- gnutls_x509_crt_export2(cert1, GNUTLS_X509_FMT_DER, &tmp1);
+ ret = gnutls_x509_crt_export2(cert1, GNUTLS_X509_FMT_DER,
+ &tmp1);
if (ret < 0)
return gnutls_assert_val(0);
@@ -195,7 +195,7 @@ gnutls_x509_crt_equals2(gnutls_x509_crt_t cert1, const gnutls_datum_t * der)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int gnutls_x509_crt_init(gnutls_x509_crt_t * cert)
+int gnutls_x509_crt_init(gnutls_x509_crt_t *cert)
{
gnutls_x509_crt_t tmp;
int result;
@@ -208,8 +208,8 @@ int gnutls_x509_crt_init(gnutls_x509_crt_t * cert)
if (!tmp)
return GNUTLS_E_MEMORY_ERROR;
- result = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Certificate", &tmp->cert);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Certificate",
+ &tmp->cert);
if (result != ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(tmp);
@@ -238,7 +238,7 @@ int gnutls_x509_crt_init(gnutls_x509_crt_t * cert)
*cert = tmp;
- return 0; /* success */
+ return 0; /* success */
}
/*-
@@ -309,35 +309,32 @@ static int compare_sig_algorithm(gnutls_x509_crt_t cert)
unsigned empty1 = 0, empty2 = 0;
len1 = sizeof(oid1);
- result =
- asn1_read_value(cert->cert, "signatureAlgorithm.algorithm", oid1,
- &len1);
+ result = asn1_read_value(cert->cert, "signatureAlgorithm.algorithm",
+ oid1, &len1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
len2 = sizeof(oid2);
- result =
- asn1_read_value(cert->cert, "tbsCertificate.signature.algorithm",
- oid2, &len2);
+ result = asn1_read_value(
+ cert->cert, "tbsCertificate.signature.algorithm", oid2, &len2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
if (len1 != len2 || memcmp(oid1, oid2, len1) != 0) {
- _gnutls_debug_log
- ("signatureAlgorithm.algorithm differs from tbsCertificate.signature.algorithm: %s, %s\n",
- oid1, oid2);
+ _gnutls_debug_log(
+ "signatureAlgorithm.algorithm differs from tbsCertificate.signature.algorithm: %s, %s\n",
+ oid1, oid2);
gnutls_assert();
return GNUTLS_E_CERTIFICATE_ERROR;
}
/* compare the parameters */
- ret =
- _gnutls_x509_read_value(cert->cert, "signatureAlgorithm.parameters",
- &sp1);
+ ret = _gnutls_x509_read_value(cert->cert,
+ "signatureAlgorithm.parameters", &sp1);
if (ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
empty1 = 1;
} else if (ret < 0) {
@@ -345,10 +342,8 @@ static int compare_sig_algorithm(gnutls_x509_crt_t cert)
return ret;
}
- ret =
- _gnutls_x509_read_value(cert->cert,
- "tbsCertificate.signature.parameters",
- &sp2);
+ ret = _gnutls_x509_read_value(
+ cert->cert, "tbsCertificate.signature.parameters", &sp2);
if (ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
empty2 = 1;
} else if (ret < 0) {
@@ -367,8 +362,7 @@ static int compare_sig_algorithm(gnutls_x509_crt_t cert)
_gnutls_free_datum(&sp2);
}
- if (empty1 != empty2 ||
- sp1.size != sp2.size ||
+ if (empty1 != empty2 || sp1.size != sp2.size ||
(sp1.size > 0 && memcmp(sp1.data, sp2.data, sp1.size) != 0)) {
gnutls_assert();
ret = GNUTLS_E_CERTIFICATE_ERROR;
@@ -376,7 +370,7 @@ static int compare_sig_algorithm(gnutls_x509_crt_t cert)
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&sp1);
_gnutls_free_datum(&sp2);
return ret;
@@ -388,31 +382,29 @@ static int cache_alt_names(gnutls_x509_crt_t cert)
int ret;
/* pre-parse subject alt name */
- ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.17", 0, &tmpder, NULL);
+ ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.17", 0, &tmpder,
+ NULL);
if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_free(tmpder.data);
return gnutls_assert_val(ret);
}
if (ret >= 0) {
- ret =
- gnutls_x509_ext_import_subject_alt_names(&tmpder, cert->san,
- 0);
+ ret = gnutls_x509_ext_import_subject_alt_names(&tmpder,
+ cert->san, 0);
gnutls_free(tmpder.data);
if (ret < 0)
return gnutls_assert_val(ret);
}
- ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.18", 0, &tmpder, NULL);
+ ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.18", 0, &tmpder,
+ NULL);
if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
return gnutls_assert_val(ret);
if (ret >= 0) {
- ret =
- gnutls_x509_ext_import_subject_alt_names(&tmpder, cert->ian,
- 0);
+ ret = gnutls_x509_ext_import_subject_alt_names(&tmpder,
+ cert->ian, 0);
gnutls_free(tmpder.data);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -452,8 +444,8 @@ static bool has_valid_serial(gnutls_x509_crt_t cert)
}
if (serial_size > 20) {
- _gnutls_debug_log
- ("error: serial number value is longer than 20 octets\n");
+ _gnutls_debug_log(
+ "error: serial number value is longer than 20 octets\n");
return false;
}
@@ -479,7 +471,7 @@ static bool has_valid_serial(gnutls_x509_crt_t cert)
}
/* Check if extension can be successfully parsed */
-static bool is_valid_extension(const char *oid, gnutls_datum_t * der)
+static bool is_valid_extension(const char *oid, gnutls_datum_t *der)
{
int err = 0, i;
unsigned u;
@@ -509,9 +501,8 @@ static bool is_valid_extension(const char *oid, gnutls_datum_t * der)
} else if (!strcmp(oid, GNUTLS_X509EXT_OID_KEY_USAGE)) {
err = gnutls_x509_ext_import_key_usage(der, &u);
} else if (!strcmp(oid, GNUTLS_X509EXT_OID_PRIVATE_KEY_USAGE_PERIOD)) {
- err =
- gnutls_x509_ext_import_private_key_usage_period(der, &t1,
- &t2);
+ err = gnutls_x509_ext_import_private_key_usage_period(der, &t1,
+ &t2);
} else if (!strcmp(oid, GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE)) {
gnutls_x509_key_purposes_t purposes;
if (gnutls_x509_key_purpose_init(&purposes) < 0)
@@ -568,7 +559,7 @@ static bool is_valid_extension(const char *oid, gnutls_datum_t * der)
return err == 0;
}
-#endif /* STRICT_X509 */
+#endif /* STRICT_X509 */
int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
{
@@ -598,26 +589,23 @@ int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
if (version < 3) {
if (!cert->modified) {
- ret =
- _gnutls_x509_get_raw_field2(cert->cert, &cert->der,
- "tbsCertificate.extensions",
- &exts);
+ ret = _gnutls_x509_get_raw_field2(
+ cert->cert, &cert->der,
+ "tbsCertificate.extensions", &exts);
if (ret >= 0 && exts.size > 0) {
- _gnutls_debug_log
- ("error: extensions present in certificate with version %d\n",
- version);
- return
- gnutls_assert_val
- (GNUTLS_E_X509_CERTIFICATE_ERROR);
+ _gnutls_debug_log(
+ "error: extensions present in certificate with version %d\n",
+ version);
+ return gnutls_assert_val(
+ GNUTLS_E_X509_CERTIFICATE_ERROR);
}
} else {
if (cert->use_extensions) {
- _gnutls_debug_log
- ("error: extensions set in certificate with version %d\n",
- version);
- return
- gnutls_assert_val
- (GNUTLS_E_X509_CERTIFICATE_ERROR);
+ _gnutls_debug_log(
+ "error: extensions set in certificate with version %d\n",
+ version);
+ return gnutls_assert_val(
+ GNUTLS_E_X509_CERTIFICATE_ERROR);
}
}
} else {
@@ -627,18 +615,15 @@ int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
size_t oid_size;
char *o;
- htable =
- hash_initialize(16, NULL, hhasher, hcomparator,
- gnutls_free);
+ htable = hash_initialize(16, NULL, hhasher, hcomparator,
+ gnutls_free);
if (htable == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
for (i = 0;; i++) {
oid_size = sizeof(oid);
- ret =
- gnutls_x509_crt_get_extension_info(cert, i, oid,
- &oid_size,
- &critical);
+ ret = gnutls_x509_crt_get_extension_info(
+ cert, i, oid, &oid_size, &critical);
if (ret < 0) {
if (ret ==
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
@@ -660,28 +645,26 @@ int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
} else if (ret == 0) {
/* duplicate */
gnutls_free(o);
- _gnutls_debug_log
- ("error: duplicate extension (%s) detected\n",
- oid);
- ret =
- gnutls_assert_val
- (GNUTLS_E_X509_DUPLICATE_EXTENSION);
+ _gnutls_debug_log(
+ "error: duplicate extension (%s) detected\n",
+ oid);
+ ret = gnutls_assert_val(
+ GNUTLS_E_X509_DUPLICATE_EXTENSION);
goto cleanup;
}
#ifdef STRICT_X509
gnutls_datum_t der = { NULL, 0 };
- ret =
- gnutls_x509_crt_get_extension_data2(cert, i, &der);
+ ret = gnutls_x509_crt_get_extension_data2(cert, i,
+ &der);
if (ret < 0)
continue;
if (critical && !is_valid_extension(oid, &der)) {
_gnutls_free_datum(&der);
- _gnutls_debug_log
- ("error: could not parse extension (%s)\n");
- return
- gnutls_assert_val
- (GNUTLS_E_X509_CERTIFICATE_ERROR);
+ _gnutls_debug_log(
+ "error: could not parse extension (%s)\n");
+ return gnutls_assert_val(
+ GNUTLS_E_X509_CERTIFICATE_ERROR);
}
_gnutls_free_datum(&der);
#endif
@@ -698,22 +681,22 @@ int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
id_size = sizeof(id);
ret = gnutls_x509_crt_get_subject_unique_id(cert, id, &id_size);
if (ret >= 0 || ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
- _gnutls_debug_log
- ("error: subjectUniqueID present in certificate with version %d\n",
- version);
- ret =
- gnutls_assert_val(GNUTLS_E_X509_CERTIFICATE_ERROR);
+ _gnutls_debug_log(
+ "error: subjectUniqueID present in certificate with version %d\n",
+ version);
+ ret = gnutls_assert_val(
+ GNUTLS_E_X509_CERTIFICATE_ERROR);
goto cleanup;
}
id_size = sizeof(id);
ret = gnutls_x509_crt_get_issuer_unique_id(cert, id, &id_size);
if (ret >= 0 || ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
- _gnutls_debug_log
- ("error: subjectUniqueID present in certificate with version %d\n",
- version);
- ret =
- gnutls_assert_val(GNUTLS_E_X509_CERTIFICATE_ERROR);
+ _gnutls_debug_log(
+ "error: subjectUniqueID present in certificate with version %d\n",
+ version);
+ ret = gnutls_assert_val(
+ GNUTLS_E_X509_CERTIFICATE_ERROR);
goto cleanup;
}
}
@@ -727,15 +710,15 @@ int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
if (gnutls_x509_crt_get_expiration_time(cert) == -1 ||
gnutls_x509_crt_get_activation_time(cert) == -1) {
- _gnutls_debug_log
- ("error: invalid expiration or activation time in certificate\n");
+ _gnutls_debug_log(
+ "error: invalid expiration or activation time in certificate\n");
ret = gnutls_assert_val(GNUTLS_E_CERTIFICATE_TIME_ERROR);
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
if (htable)
hash_free(htable);
return ret;
@@ -757,10 +740,8 @@ int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_import(gnutls_x509_crt_t cert,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format)
+int gnutls_x509_crt_import(gnutls_x509_crt_t cert, const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format)
{
int result;
@@ -784,16 +765,14 @@ gnutls_x509_crt_import(gnutls_x509_crt_t cert,
*/
if (format == GNUTLS_X509_FMT_PEM) {
/* Try the first header */
- result =
- _gnutls_fbase64_decode(PEM_X509_CERT2, data->data,
- data->size, &cert->der);
+ result = _gnutls_fbase64_decode(PEM_X509_CERT2, data->data,
+ data->size, &cert->der);
if (result < 0) {
/* try for the second header */
- result =
- _gnutls_fbase64_decode(PEM_X509_CERT,
- data->data, data->size,
- &cert->der);
+ result = _gnutls_fbase64_decode(PEM_X509_CERT,
+ data->data, data->size,
+ &cert->der);
if (result < 0) {
gnutls_assert();
@@ -811,9 +790,8 @@ gnutls_x509_crt_import(gnutls_x509_crt_t cert,
cert->expanded = 1;
cert->modified = 0;
- result =
- _asn1_strict_der_decode(&cert->cert, cert->der.data, cert->der.size,
- NULL);
+ result = _asn1_strict_der_decode(&cert->cert, cert->der.data,
+ cert->der.size, NULL);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
@@ -827,25 +805,25 @@ gnutls_x509_crt_import(gnutls_x509_crt_t cert,
}
/* The following do not allocate but rather point to DER data */
- result = _gnutls_x509_get_raw_field2(cert->cert, &cert->der,
- "tbsCertificate.issuer.rdnSequence",
- &cert->raw_issuer_dn);
+ result = _gnutls_x509_get_raw_field2(
+ cert->cert, &cert->der, "tbsCertificate.issuer.rdnSequence",
+ &cert->raw_issuer_dn);
if (result < 0) {
gnutls_assert();
goto cleanup;
}
- result = _gnutls_x509_get_raw_field2(cert->cert, &cert->der,
- "tbsCertificate.subject.rdnSequence",
- &cert->raw_dn);
+ result = _gnutls_x509_get_raw_field2(
+ cert->cert, &cert->der, "tbsCertificate.subject.rdnSequence",
+ &cert->raw_dn);
if (result < 0) {
gnutls_assert();
goto cleanup;
}
- result = _gnutls_x509_get_raw_field2(cert->cert, &cert->der,
- "tbsCertificate.subjectPublicKeyInfo",
- &cert->raw_spki);
+ result = _gnutls_x509_get_raw_field2(
+ cert->cert, &cert->der, "tbsCertificate.subjectPublicKeyInfo",
+ &cert->raw_spki);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -869,7 +847,7 @@ gnutls_x509_crt_import(gnutls_x509_crt_t cert,
return 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&cert->der);
return result;
}
@@ -895,9 +873,8 @@ gnutls_x509_crt_import(gnutls_x509_crt_t cert,
* with the required size. %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE if
* the DN does not exist, or another error value on error. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert, char *buf,
- size_t *buf_size)
+int gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert, char *buf,
+ size_t *buf_size)
{
if (cert == NULL) {
gnutls_assert();
@@ -905,8 +882,8 @@ gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert, char *buf,
}
return _gnutls_x509_parse_dn(cert->cert,
- "tbsCertificate.issuer.rdnSequence",
- buf, buf_size, GNUTLS_X509_DN_FLAG_COMPAT);
+ "tbsCertificate.issuer.rdnSequence", buf,
+ buf_size, GNUTLS_X509_DN_FLAG_COMPAT);
}
/**
@@ -927,7 +904,7 @@ gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert, char *buf,
*
* Since: 3.1.10
**/
-int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
+int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t *dn)
{
if (cert == NULL) {
gnutls_assert();
@@ -935,8 +912,8 @@ int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
}
return _gnutls_x509_get_dn(cert->cert,
- "tbsCertificate.issuer.rdnSequence",
- dn, GNUTLS_X509_DN_FLAG_COMPAT);
+ "tbsCertificate.issuer.rdnSequence", dn,
+ GNUTLS_X509_DN_FLAG_COMPAT);
}
/**
@@ -959,18 +936,16 @@ int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
*
* Since: 3.5.7
**/
-int
-gnutls_x509_crt_get_issuer_dn3(gnutls_x509_crt_t cert, gnutls_datum_t * dn,
- unsigned flags)
+int gnutls_x509_crt_get_issuer_dn3(gnutls_x509_crt_t cert, gnutls_datum_t *dn,
+ unsigned flags)
{
if (cert == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn(cert->cert,
- "tbsCertificate.issuer.rdnSequence",
- dn, flags);
+ return _gnutls_x509_get_dn(
+ cert->cert, "tbsCertificate.issuer.rdnSequence", dn, flags);
}
/**
@@ -1002,11 +977,10 @@ gnutls_x509_crt_get_issuer_dn3(gnutls_x509_crt_t cert, gnutls_datum_t * dn,
* the required size. %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE if there
* are no data in the current index. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_issuer_dn_by_oid(gnutls_x509_crt_t cert,
- const char *oid, unsigned indx,
- unsigned int raw_flag, void *buf,
- size_t *buf_size)
+int gnutls_x509_crt_get_issuer_dn_by_oid(gnutls_x509_crt_t cert,
+ const char *oid, unsigned indx,
+ unsigned int raw_flag, void *buf,
+ size_t *buf_size)
{
gnutls_datum_t td;
int ret;
@@ -1044,9 +1018,8 @@ gnutls_x509_crt_get_issuer_dn_by_oid(gnutls_x509_crt_t cert,
* the required size. %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE if there
* are no data in the current index. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_issuer_dn_oid(gnutls_x509_crt_t cert,
- unsigned indx, void *oid, size_t *oid_size)
+int gnutls_x509_crt_get_issuer_dn_oid(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size)
{
if (cert == NULL) {
gnutls_assert();
@@ -1088,8 +1061,8 @@ int gnutls_x509_crt_get_dn(gnutls_x509_crt_t cert, char *buf, size_t *buf_size)
}
return _gnutls_x509_parse_dn(cert->cert,
- "tbsCertificate.subject.rdnSequence",
- buf, buf_size, GNUTLS_X509_DN_FLAG_COMPAT);
+ "tbsCertificate.subject.rdnSequence", buf,
+ buf_size, GNUTLS_X509_DN_FLAG_COMPAT);
}
/**
@@ -1110,7 +1083,7 @@ int gnutls_x509_crt_get_dn(gnutls_x509_crt_t cert, char *buf, size_t *buf_size)
*
* Since: 3.1.10
**/
-int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
+int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t *dn)
{
if (cert == NULL) {
gnutls_assert();
@@ -1118,8 +1091,8 @@ int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
}
return _gnutls_x509_get_dn(cert->cert,
- "tbsCertificate.subject.rdnSequence",
- dn, GNUTLS_X509_DN_FLAG_COMPAT);
+ "tbsCertificate.subject.rdnSequence", dn,
+ GNUTLS_X509_DN_FLAG_COMPAT);
}
/**
@@ -1142,7 +1115,7 @@ int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
*
* Since: 3.5.7
**/
-int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t * dn,
+int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t *dn,
unsigned flags)
{
if (cert == NULL) {
@@ -1150,9 +1123,8 @@ int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t * dn,
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_get_dn(cert->cert,
- "tbsCertificate.subject.rdnSequence",
- dn, flags);
+ return _gnutls_x509_get_dn(
+ cert->cert, "tbsCertificate.subject.rdnSequence", dn, flags);
}
/**
@@ -1184,10 +1156,9 @@ int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t * dn,
* the required size. %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE if there
* are no data in the current index. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_dn_by_oid(gnutls_x509_crt_t cert, const char *oid,
- unsigned indx, unsigned int raw_flag,
- void *buf, size_t *buf_size)
+int gnutls_x509_crt_get_dn_by_oid(gnutls_x509_crt_t cert, const char *oid,
+ unsigned indx, unsigned int raw_flag,
+ void *buf, size_t *buf_size)
{
gnutls_datum_t td;
int ret;
@@ -1225,9 +1196,8 @@ gnutls_x509_crt_get_dn_by_oid(gnutls_x509_crt_t cert, const char *oid,
* the required size. %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE if there
* are no data in the current index. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_dn_oid(gnutls_x509_crt_t cert,
- unsigned indx, void *oid, size_t *oid_size)
+int gnutls_x509_crt_get_dn_oid(gnutls_x509_crt_t cert, unsigned indx, void *oid,
+ size_t *oid_size)
{
if (cert == NULL) {
gnutls_assert();
@@ -1255,8 +1225,8 @@ gnutls_x509_crt_get_dn_oid(gnutls_x509_crt_t cert,
**/
int gnutls_x509_crt_get_signature_algorithm(gnutls_x509_crt_t cert)
{
- return map_errs_to_zero(_gnutls_x509_get_signature_algorithm(cert->cert,
- "signatureAlgorithm"));
+ return map_errs_to_zero(_gnutls_x509_get_signature_algorithm(
+ cert->cert, "signatureAlgorithm"));
}
/**
@@ -1282,9 +1252,8 @@ int gnutls_x509_crt_get_signature_oid(gnutls_x509_crt_t cert, char *oid,
gnutls_datum_t out;
len = sizeof(str);
- result =
- asn1_read_value(cert->cert, "signatureAlgorithm.algorithm", str,
- &len);
+ result = asn1_read_value(cert->cert, "signatureAlgorithm.algorithm",
+ str, &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1325,10 +1294,10 @@ int gnutls_x509_crt_get_pk_oid(gnutls_x509_crt_t cert, char *oid,
gnutls_datum_t out;
len = sizeof(str);
- result =
- asn1_read_value(cert->cert,
- "tbsCertificate.subjectPublicKeyInfo.algorithm.algorithm",
- str, &len);
+ result = asn1_read_value(
+ cert->cert,
+ "tbsCertificate.subjectPublicKeyInfo.algorithm.algorithm", str,
+ &len);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1357,9 +1326,8 @@ int gnutls_x509_crt_get_pk_oid(gnutls_x509_crt_t cert, char *oid,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_get_signature(gnutls_x509_crt_t cert,
- char *sig, size_t *sig_size)
+int gnutls_x509_crt_get_signature(gnutls_x509_crt_t cert, char *sig,
+ size_t *sig_size)
{
gnutls_datum_t dsig = { NULL, 0 };
int ret;
@@ -1371,14 +1339,14 @@ gnutls_x509_crt_get_signature(gnutls_x509_crt_t cert,
if (ret < 0)
return gnutls_assert_val(ret);
- ret = _gnutls_copy_data(&dsig, (uint8_t *) sig, sig_size);
+ ret = _gnutls_copy_data(&dsig, (uint8_t *)sig, sig_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(dsig.data);
return ret;
}
@@ -1414,7 +1382,7 @@ time_t gnutls_x509_crt_get_activation_time(gnutls_x509_crt_t cert)
{
if (cert == NULL) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
return _gnutls_x509_get_time(cert->cert,
@@ -1434,7 +1402,7 @@ time_t gnutls_x509_crt_get_expiration_time(gnutls_x509_crt_t cert)
{
if (cert == NULL) {
gnutls_assert();
- return (time_t) - 1;
+ return (time_t)-1;
}
return _gnutls_x509_get_time(cert->cert,
@@ -1455,11 +1423,10 @@ time_t gnutls_x509_crt_get_expiration_time(gnutls_x509_crt_t cert)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* if the extension is not present, otherwise a negative error value.
**/
-int
-gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t cert,
- time_t * activation,
- time_t * expiration,
- unsigned int *critical)
+int gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t cert,
+ time_t *activation,
+ time_t *expiration,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t der = { NULL, 0 };
@@ -1469,18 +1436,16 @@ gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.16", 0, &der,
- critical);
+ ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.16", 0, &der,
+ critical);
if (ret < 0)
return gnutls_assert_val(ret);
if (der.size == 0 || der.data == NULL)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- ret =
- gnutls_x509_ext_import_private_key_usage_period(&der, activation,
- expiration);
+ ret = gnutls_x509_ext_import_private_key_usage_period(&der, activation,
+ expiration);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1488,7 +1453,7 @@ gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t cert,
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&der);
return ret;
@@ -1508,9 +1473,8 @@ gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t cert,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert, void *result,
- size_t *result_size)
+int gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert, void *result,
+ size_t *result_size)
{
int ret, len;
@@ -1520,9 +1484,8 @@ gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert, void *result,
}
len = *result_size;
- ret =
- asn1_read_value(cert->cert, "tbsCertificate.serialNumber",
- result, &len);
+ ret = asn1_read_value(cert->cert, "tbsCertificate.serialNumber", result,
+ &len);
*result_size = len;
if (ret != ASN1_SUCCESS) {
@@ -1547,9 +1510,8 @@ gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert, void *result,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* if the extension is not present, otherwise a negative error value.
**/
-int
-gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert, void *ret,
- size_t *ret_size, unsigned int *critical)
+int gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert, void *ret,
+ size_t *ret_size, unsigned int *critical)
{
int result;
gnutls_datum_t id = { NULL, 0 };
@@ -1563,9 +1525,8 @@ gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert, void *ret,
if (ret == NULL)
*ret_size = 0;
- if ((result =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.14", 0, &der,
- critical)) < 0) {
+ if ((result = _gnutls_x509_crt_get_extension(cert, "2.5.29.14", 0, &der,
+ critical)) < 0) {
return result;
}
@@ -1583,7 +1544,7 @@ gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert, void *ret,
result = 0;
- cleanup:
+cleanup:
gnutls_free(der.data);
gnutls_free(id.data);
return result;
@@ -1623,14 +1584,10 @@ inline static int is_type_printable(int type)
*
* Since: 3.0
**/
-int
-gnutls_x509_crt_get_authority_key_gn_serial(gnutls_x509_crt_t cert,
- unsigned int seq, void *alt,
- size_t *alt_size,
- unsigned int *alt_type,
- void *serial,
- size_t *serial_size,
- unsigned int *critical)
+int gnutls_x509_crt_get_authority_key_gn_serial(
+ gnutls_x509_crt_t cert, unsigned int seq, void *alt, size_t *alt_size,
+ unsigned int *alt_type, void *serial, size_t *serial_size,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t der, san, iserial;
@@ -1642,9 +1599,8 @@ gnutls_x509_crt_get_authority_key_gn_serial(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.35", 0, &der,
- critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.35", 0, &der,
+ critical)) < 0) {
return gnutls_assert_val(ret);
}
@@ -1665,9 +1621,8 @@ gnutls_x509_crt_get_authority_key_gn_serial(gnutls_x509_crt_t cert,
goto cleanup;
}
- ret =
- gnutls_x509_aki_get_cert_issuer(aki, seq, &san_type, &san, NULL,
- &iserial);
+ ret = gnutls_x509_aki_get_cert_issuer(aki, seq, &san_type, &san, NULL,
+ &iserial);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1692,7 +1647,7 @@ gnutls_x509_crt_get_authority_key_gn_serial(gnutls_x509_crt_t cert,
}
ret = 0;
- cleanup:
+cleanup:
if (aki != NULL)
gnutls_x509_aki_deinit(aki);
gnutls_free(der.data);
@@ -1717,9 +1672,9 @@ gnutls_x509_crt_get_authority_key_gn_serial(gnutls_x509_crt_t cert,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* if the extension is not present, otherwise a negative error value.
**/
-int
-gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void *id,
- size_t *id_size, unsigned int *critical)
+int gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void *id,
+ size_t *id_size,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t der, l_id;
@@ -1730,9 +1685,8 @@ gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void *id,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.35", 0, &der,
- critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.35", 0, &der,
+ critical)) < 0) {
return gnutls_assert_val(ret);
}
@@ -1757,17 +1711,14 @@ gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void *id,
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_datum_t serial;
- ret =
- gnutls_x509_aki_get_cert_issuer(aki, 0, NULL, NULL, NULL,
- &serial);
+ ret = gnutls_x509_aki_get_cert_issuer(aki, 0, NULL, NULL, NULL,
+ &serial);
if (ret >= 0) {
- ret =
- gnutls_assert_val
- (GNUTLS_E_X509_UNSUPPORTED_EXTENSION);
+ ret = gnutls_assert_val(
+ GNUTLS_E_X509_UNSUPPORTED_EXTENSION);
} else {
- ret =
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ ret = gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
}
}
@@ -1783,7 +1734,7 @@ gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void *id,
}
ret = 0;
- cleanup:
+cleanup:
if (aki != NULL)
gnutls_x509_aki_deinit(aki);
gnutls_free(der.data);
@@ -1820,10 +1771,8 @@ int gnutls_x509_crt_get_pk_algorithm(gnutls_x509_crt_t cert, unsigned int *bits)
if (bits)
*bits = 0;
- result =
- _gnutls_x509_get_pk_algorithm(cert->cert,
- "tbsCertificate.subjectPublicKeyInfo",
- NULL, bits);
+ result = _gnutls_x509_get_pk_algorithm(
+ cert->cert, "tbsCertificate.subjectPublicKeyInfo", NULL, bits);
if (result < 0) {
gnutls_assert();
@@ -1844,9 +1793,8 @@ int gnutls_x509_crt_get_pk_algorithm(gnutls_x509_crt_t cert, unsigned int *bits)
*
* Since: 3.6.0
**/
-int
-gnutls_x509_crt_get_spki(gnutls_x509_crt_t cert, gnutls_x509_spki_t spki,
- unsigned int flags)
+int gnutls_x509_crt_get_spki(gnutls_x509_crt_t cert, gnutls_x509_spki_t spki,
+ unsigned int flags)
{
int result;
gnutls_x509_spki_st params;
@@ -1885,10 +1833,9 @@ gnutls_x509_crt_get_spki(gnutls_x509_crt_t cert, gnutls_x509_spki_t spki,
* @othername_oid: if the name is otherName return the OID
*
*/
-int
-_gnutls_parse_general_name2(asn1_node src, const char *src_name,
- int seq, gnutls_datum_t * dname,
- unsigned int *ret_type, int othername_oid)
+int _gnutls_parse_general_name2(asn1_node src, const char *src_name, int seq,
+ gnutls_datum_t *dname, unsigned int *ret_type,
+ int othername_oid)
{
int len, ret;
char nptr[MAX_NAME_SIZE];
@@ -1898,7 +1845,7 @@ _gnutls_parse_general_name2(asn1_node src, const char *src_name,
gnutls_x509_subject_alt_name_t type;
if (seq != -1) {
- seq++; /* 0->1, 1->2 etc */
+ seq++; /* 0->1, 1->2 etc */
if (src_name[0] != 0)
snprintf(nptr, sizeof(nptr), "%s.?%d", src_name, seq);
@@ -1910,7 +1857,8 @@ _gnutls_parse_general_name2(asn1_node src, const char *src_name,
len = sizeof(choice_type);
result = asn1_read_value(src, nptr, choice_type, &len);
- if (result == ASN1_VALUE_NOT_FOUND || result == ASN1_ELEMENT_NOT_FOUND) {
+ if (result == ASN1_VALUE_NOT_FOUND ||
+ result == ASN1_ELEMENT_NOT_FOUND) {
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
@@ -1920,7 +1868,7 @@ _gnutls_parse_general_name2(asn1_node src, const char *src_name,
}
type = _gnutls_x509_san_find_type(choice_type);
- if (type == (gnutls_x509_subject_alt_name_t) - 1) {
+ if (type == (gnutls_x509_subject_alt_name_t)-1) {
gnutls_assert();
return GNUTLS_E_X509_UNKNOWN_SAN;
}
@@ -1949,8 +1897,8 @@ _gnutls_parse_general_name2(asn1_node src, const char *src_name,
if (src_name[0] != 0 && seq != -1)
snprintf(nptr, sizeof(nptr),
- "%s.?%d.otherName.type-id",
- src_name, seq);
+ "%s.?%d.otherName.type-id", src_name,
+ seq);
else if (src_name[0] != 0)
snprintf(nptr, sizeof(nptr),
"%s.otherName.type-id", src_name);
@@ -2000,7 +1948,7 @@ _gnutls_parse_general_name2(asn1_node src, const char *src_name,
return type;
- cleanup:
+cleanup:
gnutls_free(tmp.data);
return ret;
}
@@ -2008,18 +1956,16 @@ _gnutls_parse_general_name2(asn1_node src, const char *src_name,
/* returns the type and the name on success.
* Type is also returned as a parameter in case of an error.
*/
-int
-_gnutls_parse_general_name(asn1_node src, const char *src_name,
- int seq, void *name, size_t *name_size,
- unsigned int *ret_type, int othername_oid)
+int _gnutls_parse_general_name(asn1_node src, const char *src_name, int seq,
+ void *name, size_t *name_size,
+ unsigned int *ret_type, int othername_oid)
{
int ret;
gnutls_datum_t res = { NULL, 0 };
unsigned type;
- ret =
- _gnutls_parse_general_name2(src, src_name, seq, &res, ret_type,
- othername_oid);
+ ret = _gnutls_parse_general_name2(src, src_name, seq, &res, ret_type,
+ othername_oid);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -2037,16 +1983,14 @@ _gnutls_parse_general_name(asn1_node src, const char *src_name,
}
ret = type;
- cleanup:
+cleanup:
gnutls_free(res.data);
return ret;
}
-static int
-get_alt_name(gnutls_subject_alt_names_t san,
- unsigned int seq, uint8_t * alt,
- size_t *alt_size, unsigned int *alt_type,
- unsigned int *critical, int othername_oid)
+static int get_alt_name(gnutls_subject_alt_names_t san, unsigned int seq,
+ uint8_t *alt, size_t *alt_size, unsigned int *alt_type,
+ unsigned int *critical, int othername_oid)
{
int ret;
gnutls_datum_t ooid = { NULL, 0 };
@@ -2070,9 +2014,8 @@ get_alt_name(gnutls_subject_alt_names_t san,
if (type == GNUTLS_SAN_OTHERNAME && ooid.data) {
unsigned vtype;
- ret =
- gnutls_x509_othername_to_virtual((char *)ooid.data, &oname,
- &vtype, &virt);
+ ret = gnutls_x509_othername_to_virtual((char *)ooid.data,
+ &oname, &vtype, &virt);
if (ret >= 0) {
type = vtype;
oname.data = virt.data;
@@ -2099,7 +2042,7 @@ get_alt_name(gnutls_subject_alt_names_t san,
}
ret = type;
- cleanup:
+cleanup:
gnutls_free(virt.data);
return ret;
@@ -2135,10 +2078,10 @@ get_alt_name(gnutls_subject_alt_names_t san,
* name with the specified sequence number then
* %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.
**/
-int
-gnutls_x509_crt_get_subject_alt_name(gnutls_x509_crt_t cert,
- unsigned int seq, void *san,
- size_t *san_size, unsigned int *critical)
+int gnutls_x509_crt_get_subject_alt_name(gnutls_x509_crt_t cert,
+ unsigned int seq, void *san,
+ size_t *san_size,
+ unsigned int *critical)
{
return get_alt_name(cert->san, seq, san, san_size, NULL, critical, 0);
}
@@ -2176,10 +2119,10 @@ gnutls_x509_crt_get_subject_alt_name(gnutls_x509_crt_t cert,
*
* Since: 2.10.0
**/
-int
-gnutls_x509_crt_get_issuer_alt_name(gnutls_x509_crt_t cert,
- unsigned int seq, void *ian,
- size_t *ian_size, unsigned int *critical)
+int gnutls_x509_crt_get_issuer_alt_name(gnutls_x509_crt_t cert,
+ unsigned int seq, void *ian,
+ size_t *ian_size,
+ unsigned int *critical)
{
return get_alt_name(cert->ian, seq, ian, ian_size, NULL, critical, 0);
}
@@ -2208,15 +2151,14 @@ gnutls_x509_crt_get_issuer_alt_name(gnutls_x509_crt_t cert,
* Alternative name with the specified sequence number then
* %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.
**/
-int
-gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t cert,
- unsigned int seq, void *san,
- size_t *san_size,
- unsigned int *san_type,
- unsigned int *critical)
+int gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t cert,
+ unsigned int seq, void *san,
+ size_t *san_size,
+ unsigned int *san_type,
+ unsigned int *critical)
{
- return get_alt_name(cert->san, seq, san, san_size,
- san_type, critical, 0);
+ return get_alt_name(cert->san, seq, san, san_size, san_type, critical,
+ 0);
}
/**
@@ -2246,15 +2188,14 @@ gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t cert,
* Since: 2.10.0
*
**/
-int
-gnutls_x509_crt_get_issuer_alt_name2(gnutls_x509_crt_t cert,
- unsigned int seq, void *ian,
- size_t *ian_size,
- unsigned int *ian_type,
- unsigned int *critical)
+int gnutls_x509_crt_get_issuer_alt_name2(gnutls_x509_crt_t cert,
+ unsigned int seq, void *ian,
+ size_t *ian_size,
+ unsigned int *ian_type,
+ unsigned int *critical)
{
- return get_alt_name(cert->ian, seq, ian, ian_size,
- ian_type, critical, 0);
+ return get_alt_name(cert->ian, seq, ian, ian_size, ian_type, critical,
+ 0);
}
/**
@@ -2287,10 +2228,9 @@ gnutls_x509_crt_get_issuer_alt_name2(gnutls_x509_crt_t cert,
* sequence number and with the otherName type then
* %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.
**/
-int
-gnutls_x509_crt_get_subject_alt_othername_oid(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *oid, size_t *oid_size)
+int gnutls_x509_crt_get_subject_alt_othername_oid(gnutls_x509_crt_t cert,
+ unsigned int seq, void *oid,
+ size_t *oid_size)
{
return get_alt_name(cert->san, seq, oid, oid_size, NULL, NULL, 1);
}
@@ -2327,10 +2267,9 @@ gnutls_x509_crt_get_subject_alt_othername_oid(gnutls_x509_crt_t cert,
*
* Since: 2.10.0
**/
-int
-gnutls_x509_crt_get_issuer_alt_othername_oid(gnutls_x509_crt_t cert,
- unsigned int seq,
- void *ret, size_t *ret_size)
+int gnutls_x509_crt_get_issuer_alt_othername_oid(gnutls_x509_crt_t cert,
+ unsigned int seq, void *ret,
+ size_t *ret_size)
{
return get_alt_name(cert->ian, seq, ret, ret_size, NULL, NULL, 1);
}
@@ -2355,10 +2294,9 @@ gnutls_x509_crt_get_issuer_alt_othername_oid(gnutls_x509_crt_t cert,
* certificate does not contain the basicConstraints extension
* GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.
**/
-int
-gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t cert,
- unsigned int *critical,
- unsigned int *ca, int *pathlen)
+int gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t cert,
+ unsigned int *critical,
+ unsigned int *ca, int *pathlen)
{
int result;
gnutls_datum_t basicConstraints;
@@ -2369,9 +2307,8 @@ gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.19", 0,
- &basicConstraints, critical)) < 0) {
+ if ((result = _gnutls_x509_crt_get_extension(
+ cert, "2.5.29.19", 0, &basicConstraints, critical)) < 0) {
return result;
}
@@ -2380,9 +2317,8 @@ gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t cert,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- result =
- gnutls_x509_ext_import_basic_constraints(&basicConstraints, &tmp_ca,
- pathlen);
+ result = gnutls_x509_ext_import_basic_constraints(&basicConstraints,
+ &tmp_ca, pathlen);
if (ca)
*ca = tmp_ca;
@@ -2415,8 +2351,8 @@ gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t cert,
* certificate does not contain the basicConstraints extension
* GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.
**/
-int
-gnutls_x509_crt_get_ca_status(gnutls_x509_crt_t cert, unsigned int *critical)
+int gnutls_x509_crt_get_ca_status(gnutls_x509_crt_t cert,
+ unsigned int *critical)
{
int pathlen;
unsigned int ca;
@@ -2443,9 +2379,9 @@ gnutls_x509_crt_get_ca_status(gnutls_x509_crt_t cert, unsigned int *critical)
* extension %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be
* returned.
**/
-int
-gnutls_x509_crt_get_key_usage(gnutls_x509_crt_t cert,
- unsigned int *key_usage, unsigned int *critical)
+int gnutls_x509_crt_get_key_usage(gnutls_x509_crt_t cert,
+ unsigned int *key_usage,
+ unsigned int *critical)
{
int result;
gnutls_datum_t keyUsage;
@@ -2455,9 +2391,8 @@ gnutls_x509_crt_get_key_usage(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.15", 0,
- &keyUsage, critical)) < 0) {
+ if ((result = _gnutls_x509_crt_get_extension(
+ cert, "2.5.29.15", 0, &keyUsage, critical)) < 0) {
return result;
}
@@ -2496,10 +2431,9 @@ gnutls_x509_crt_get_key_usage(gnutls_x509_crt_t cert,
*
* Since: 3.6.0
**/
-int
-gnutls_x509_crt_get_inhibit_anypolicy(gnutls_x509_crt_t cert,
- unsigned int *skipcerts,
- unsigned int *critical)
+int gnutls_x509_crt_get_inhibit_anypolicy(gnutls_x509_crt_t cert,
+ unsigned int *skipcerts,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t ext;
@@ -2509,9 +2443,8 @@ gnutls_x509_crt_get_inhibit_anypolicy(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.54", 0,
- &ext, critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.54", 0, &ext,
+ critical)) < 0) {
return ret;
}
@@ -2548,12 +2481,9 @@ gnutls_x509_crt_get_inhibit_anypolicy(gnutls_x509_crt_t cert,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert,
- unsigned int *critical,
- int *pathlen,
- char **policyLanguage,
- char **policy, size_t *sizeof_policy)
+int gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert, unsigned int *critical,
+ int *pathlen, char **policyLanguage,
+ char **policy, size_t *sizeof_policy)
{
int result;
gnutls_datum_t proxyCertInfo;
@@ -2563,9 +2493,9 @@ gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- _gnutls_x509_crt_get_extension(cert, "1.3.6.1.5.5.7.1.14", 0,
- &proxyCertInfo, critical)) < 0) {
+ if ((result = _gnutls_x509_crt_get_extension(cert, "1.3.6.1.5.5.7.1.14",
+ 0, &proxyCertInfo,
+ critical)) < 0) {
return result;
}
@@ -2574,9 +2504,8 @@ gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- result = gnutls_x509_ext_import_proxy(&proxyCertInfo, pathlen,
- policyLanguage,
- policy, sizeof_policy);
+ result = gnutls_x509_ext_import_proxy(
+ &proxyCertInfo, pathlen, policyLanguage, policy, sizeof_policy);
_gnutls_free_datum(&proxyCertInfo);
if (result < 0) {
gnutls_assert();
@@ -2622,10 +2551,9 @@ void gnutls_x509_policy_release(struct gnutls_x509_policy_st *policy)
*
* Since: 3.1.5
**/
-int
-gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,
- struct gnutls_x509_policy_st *policy,
- unsigned int *critical)
+int gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,
+ struct gnutls_x509_policy_st *policy,
+ unsigned int *critical)
{
gnutls_datum_t tmpd = { NULL, 0 };
int ret;
@@ -2642,9 +2570,8 @@ gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,
if (ret < 0)
return gnutls_assert_val(ret);
- if ((ret =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.32", 0, &tmpd,
- critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(crt, "2.5.29.32", 0, &tmpd,
+ critical)) < 0) {
goto cleanup;
}
@@ -2670,7 +2597,7 @@ gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,
ret = 0;
- cleanup:
+cleanup:
if (policies != NULL)
gnutls_x509_policies_deinit(policies);
_gnutls_free_datum(&tmpd);
@@ -2696,11 +2623,10 @@ gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,
* contain the specified extension
* GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.
**/
-int
-gnutls_x509_crt_get_extension_by_oid(gnutls_x509_crt_t cert,
- const char *oid, unsigned indx,
- void *buf, size_t *buf_size,
- unsigned int *critical)
+int gnutls_x509_crt_get_extension_by_oid(gnutls_x509_crt_t cert,
+ const char *oid, unsigned indx,
+ void *buf, size_t *buf_size,
+ unsigned int *critical)
{
int result;
gnutls_datum_t output;
@@ -2710,9 +2636,8 @@ gnutls_x509_crt_get_extension_by_oid(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((result =
- _gnutls_x509_crt_get_extension(cert, oid, indx, &output,
- critical)) < 0) {
+ if ((result = _gnutls_x509_crt_get_extension(cert, oid, indx, &output,
+ critical)) < 0) {
gnutls_assert();
return result;
}
@@ -2757,11 +2682,10 @@ gnutls_x509_crt_get_extension_by_oid(gnutls_x509_crt_t cert,
*
* Since: 3.3.8
**/
-int
-gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,
- const char *oid, unsigned indx,
- gnutls_datum_t * output,
- unsigned int *critical)
+int gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,
+ const char *oid, unsigned indx,
+ gnutls_datum_t *output,
+ unsigned int *critical)
{
int ret;
@@ -2770,9 +2694,8 @@ gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crt_get_extension(cert, oid, indx, output,
- critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(cert, oid, indx, output,
+ critical)) < 0) {
gnutls_assert();
return ret;
}
@@ -2803,9 +2726,8 @@ gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,
* last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* will be returned.
**/
-int
-gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, unsigned indx,
- void *oid, size_t *oid_size)
+int gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size)
{
int result;
@@ -2820,7 +2742,6 @@ gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, unsigned indx,
}
return 0;
-
}
/**
@@ -2848,10 +2769,9 @@ gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, unsigned indx,
* last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* will be returned.
**/
-int
-gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
- void *oid, size_t *oid_size,
- unsigned int *critical)
+int gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size,
+ unsigned int *critical)
{
int result;
char str_critical[10];
@@ -2863,8 +2783,8 @@ gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
return GNUTLS_E_INVALID_REQUEST;
}
- snprintf(name, sizeof(name),
- "tbsCertificate.extensions.?%u.extnID", indx + 1);
+ snprintf(name, sizeof(name), "tbsCertificate.extensions.?%u.extnID",
+ indx + 1);
len = *oid_size;
result = asn1_read_value(cert->cert, name, oid, &len);
@@ -2878,7 +2798,7 @@ gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
}
/* remove any trailing null */
- if (oid && len > 0 && ((uint8_t *) oid)[len - 1] == 0)
+ if (oid && len > 0 && ((uint8_t *)oid)[len - 1] == 0)
(*oid_size)--;
if (critical) {
@@ -2898,7 +2818,6 @@ gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
}
return 0;
-
}
/**
@@ -2922,9 +2841,8 @@ gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned indx,
* last extension available %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
* will be returned.
**/
-int
-gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert, unsigned indx,
- void *data, size_t *sizeof_data)
+int gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert, unsigned indx,
+ void *data, size_t *sizeof_data)
{
int result, len;
char name[MAX_NAME_SIZE];
@@ -2934,8 +2852,8 @@ gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert, unsigned indx,
return GNUTLS_E_INVALID_REQUEST;
}
- snprintf(name, sizeof(name),
- "tbsCertificate.extensions.?%u.extnValue", indx + 1);
+ snprintf(name, sizeof(name), "tbsCertificate.extensions.?%u.extnValue",
+ indx + 1);
len = *sizeof_data;
result = asn1_read_value(cert->cert, name, data, &len);
@@ -2968,16 +2886,15 @@ gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert, unsigned indx,
* negative error value.or a negative error code on error.
*
**/
-int
-gnutls_x509_crt_get_raw_issuer_dn(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
+int gnutls_x509_crt_get_raw_issuer_dn(gnutls_x509_crt_t cert,
+ gnutls_datum_t *dn)
{
if (cert->raw_issuer_dn.size > 0 && cert->modified == 0) {
return _gnutls_set_datum(dn, cert->raw_issuer_dn.data,
cert->raw_issuer_dn.size);
} else {
- return _gnutls_x509_get_raw_field(cert->cert,
- "tbsCertificate.issuer.rdnSequence",
- dn);
+ return _gnutls_x509_get_raw_field(
+ cert->cert, "tbsCertificate.issuer.rdnSequence", dn);
}
}
@@ -2993,21 +2910,19 @@ gnutls_x509_crt_get_raw_issuer_dn(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
* negative error value. or a negative error code on error.
*
**/
-int gnutls_x509_crt_get_raw_dn(gnutls_x509_crt_t cert, gnutls_datum_t * dn)
+int gnutls_x509_crt_get_raw_dn(gnutls_x509_crt_t cert, gnutls_datum_t *dn)
{
if (cert->raw_dn.size > 0 && cert->modified == 0) {
return _gnutls_set_datum(dn, cert->raw_dn.data,
cert->raw_dn.size);
} else {
- return _gnutls_x509_get_raw_field(cert->cert,
- "tbsCertificate.subject.rdnSequence",
- dn);
+ return _gnutls_x509_get_raw_field(
+ cert->cert, "tbsCertificate.subject.rdnSequence", dn);
}
}
-static int
-get_dn(gnutls_x509_crt_t cert, const char *whom, gnutls_x509_dn_t * dn,
- unsigned subject)
+static int get_dn(gnutls_x509_crt_t cert, const char *whom,
+ gnutls_x509_dn_t *dn, unsigned subject)
{
gnutls_x509_dn_st *store;
@@ -3039,7 +2954,7 @@ get_dn(gnutls_x509_crt_t cert, const char *whom, gnutls_x509_dn_t * dn,
*
* Returns: Returns 0 on success, or an error code.
**/
-int gnutls_x509_crt_get_subject(gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)
+int gnutls_x509_crt_get_subject(gnutls_x509_crt_t cert, gnutls_x509_dn_t *dn)
{
return get_dn(cert, "tbsCertificate.subject.rdnSequence", dn, 1);
}
@@ -3058,7 +2973,7 @@ int gnutls_x509_crt_get_subject(gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)
*
* Returns: Returns 0 on success, or an error code.
**/
-int gnutls_x509_crt_get_issuer(gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)
+int gnutls_x509_crt_get_issuer(gnutls_x509_crt_t cert, gnutls_x509_dn_t *dn)
{
return get_dn(cert, "tbsCertificate.issuer.rdnSequence", dn, 0);
}
@@ -3080,10 +2995,9 @@ int gnutls_x509_crt_get_issuer(gnutls_x509_crt_t cert, gnutls_x509_dn_t * dn)
* not long enough, and in that case the *buf_size will be updated
* with the required size. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_fingerprint(gnutls_x509_crt_t cert,
- gnutls_digest_algorithm_t algo,
- void *buf, size_t *buf_size)
+int gnutls_x509_crt_get_fingerprint(gnutls_x509_crt_t cert,
+ gnutls_digest_algorithm_t algo, void *buf,
+ size_t *buf_size)
{
uint8_t *cert_buf;
int cert_buf_size;
@@ -3108,7 +3022,7 @@ gnutls_x509_crt_get_fingerprint(gnutls_x509_crt_t cert,
}
result =
- asn1_der_coding(cert->cert, "", cert_buf, &cert_buf_size, NULL);
+ asn1_der_coding(cert->cert, "", cert_buf, &cert_buf_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -3145,10 +3059,8 @@ gnutls_x509_crt_get_fingerprint(gnutls_x509_crt_t cert,
* Returns: In case of failure a negative error code will be
* returned, and 0 on success.
**/
-int
-gnutls_x509_crt_export(gnutls_x509_crt_t cert,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_x509_crt_export(gnutls_x509_crt_t cert, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
gnutls_datum_t out;
int ret;
@@ -3158,20 +3070,18 @@ gnutls_x509_crt_export(gnutls_x509_crt_t cert,
return gnutls_assert_val(ret);
if (format == GNUTLS_X509_FMT_PEM)
- ret =
- _gnutls_copy_string(&out, (uint8_t *) output_data,
- output_data_size);
+ ret = _gnutls_copy_string(&out, (uint8_t *)output_data,
+ output_data_size);
else
- ret =
- _gnutls_copy_data(&out, (uint8_t *) output_data,
- output_data_size);
+ ret = _gnutls_copy_data(&out, (uint8_t *)output_data,
+ output_data_size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(out.data);
return ret;
}
@@ -3193,9 +3103,8 @@ gnutls_x509_crt_export(gnutls_x509_crt_t cert,
*
* Since: 3.1.3
**/
-int
-gnutls_x509_crt_export2(gnutls_x509_crt_t cert,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_x509_crt_export2(gnutls_x509_crt_t cert,
+ gnutls_x509_crt_fmt_t format, gnutls_datum_t *out)
{
if (cert == NULL) {
gnutls_assert();
@@ -3209,8 +3118,7 @@ gnutls_x509_crt_export2(gnutls_x509_crt_t cert,
else {
int ret = _gnutls_fbase64_encode(PEM_X509_CERT2,
cert->der.data,
- cert->der.size,
- out);
+ cert->der.size, out);
if (ret < 0)
return ret;
return 0;
@@ -3221,18 +3129,16 @@ gnutls_x509_crt_export2(gnutls_x509_crt_t cert,
out);
}
-int
-_gnutls_get_key_id(gnutls_pk_params_st * params,
- unsigned char *output_data, size_t *output_data_size,
- unsigned flags)
+int _gnutls_get_key_id(gnutls_pk_params_st *params, unsigned char *output_data,
+ size_t *output_data_size, unsigned flags)
{
int ret = 0;
gnutls_datum_t der = { NULL, 0 };
gnutls_digest_algorithm_t hash = GNUTLS_DIG_SHA1;
unsigned int digest_len;
- if ((flags & GNUTLS_KEYID_USE_SHA512)
- || (flags & GNUTLS_KEYID_USE_BEST_KNOWN))
+ if ((flags & GNUTLS_KEYID_USE_SHA512) ||
+ (flags & GNUTLS_KEYID_USE_BEST_KNOWN))
hash = GNUTLS_DIG_SHA512;
else if (flags & GNUTLS_KEYID_USE_SHA256)
hash = GNUTLS_DIG_SHA256;
@@ -3258,7 +3164,7 @@ _gnutls_get_key_id(gnutls_pk_params_st * params,
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&der);
return ret;
@@ -3284,9 +3190,9 @@ _gnutls_get_key_id(gnutls_pk_params_st * params,
* Returns: In case of failure a negative error code will be
* returned, and 0 on success.
**/
-int
-gnutls_x509_crt_get_key_id(gnutls_x509_crt_t crt, unsigned int flags,
- unsigned char *output_data, size_t *output_data_size)
+int gnutls_x509_crt_get_key_id(gnutls_x509_crt_t crt, unsigned int flags,
+ unsigned char *output_data,
+ size_t *output_data_size)
{
int ret = 0;
gnutls_pk_params_st params;
@@ -3312,8 +3218,8 @@ gnutls_x509_crt_get_key_id(gnutls_x509_crt_t crt, unsigned int flags,
static int crl_issuer_matches(gnutls_x509_crl_t crl, gnutls_x509_crt_t cert)
{
- if (_gnutls_x509_compare_raw_dn
- (&crl->raw_issuer_dn, &cert->raw_issuer_dn) != 0)
+ if (_gnutls_x509_compare_raw_dn(&crl->raw_issuer_dn,
+ &cert->raw_issuer_dn) != 0)
return 1;
else
return 0;
@@ -3322,11 +3228,10 @@ static int crl_issuer_matches(gnutls_x509_crl_t crl, gnutls_x509_crt_t cert)
/* This is exactly as gnutls_x509_crt_check_revocation() except that
* it calls func.
*/
-int
-_gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
- const gnutls_x509_crl_t * crl_list,
- int crl_list_length,
- gnutls_verify_output_function func)
+int _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
+ const gnutls_x509_crl_t *crl_list,
+ int crl_list_length,
+ gnutls_verify_output_function func)
{
uint8_t serial[128];
uint8_t cert_serial[128];
@@ -3339,7 +3244,7 @@ _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
return GNUTLS_E_INVALID_REQUEST;
}
- for (j = 0; j < crl_list_length; j++) { /* do for all the crls */
+ for (j = 0; j < crl_list_length; j++) { /* do for all the crls */
/* Step 1. check if issuer's DN match
*/
@@ -3355,9 +3260,8 @@ _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
/* Step 2. Read the certificate's serial number
*/
cert_serial_size = sizeof(cert_serial);
- ret =
- gnutls_x509_crt_get_serial(cert, cert_serial,
- &cert_serial_size);
+ ret = gnutls_x509_crt_get_serial(cert, cert_serial,
+ &cert_serial_size);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -3370,11 +3274,8 @@ _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
iter = NULL;
do {
serial_size = sizeof(serial);
- ret =
- gnutls_x509_crl_iter_crt_serial(crl_list[j],
- &iter,
- serial,
- &serial_size, NULL);
+ ret = gnutls_x509_crl_iter_crt_serial(
+ crl_list[j], &iter, serial, &serial_size, NULL);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
break;
} else if (ret < 0) {
@@ -3383,15 +3284,14 @@ _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
}
if (serial_size == cert_serial_size) {
- if (memcmp
- (serial, cert_serial, serial_size) == 0) {
+ if (memcmp(serial, cert_serial, serial_size) ==
+ 0) {
/* serials match */
if (func)
- func(cert, NULL,
- crl_list[j],
+ func(cert, NULL, crl_list[j],
GNUTLS_CERT_REVOKED |
- GNUTLS_CERT_INVALID);
- ret = 1; /* revoked! */
+ GNUTLS_CERT_INVALID);
+ ret = 1; /* revoked! */
goto fail;
}
}
@@ -3402,11 +3302,10 @@ _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
if (func)
func(cert, NULL, crl_list[j], 0);
-
}
- return 0; /* not revoked. */
+ return 0; /* not revoked. */
- fail:
+fail:
gnutls_x509_crl_iter_deinit(iter);
return ret;
}
@@ -3423,10 +3322,9 @@ _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
* Returns: 0 if the certificate is NOT revoked, and 1 if it is. A
* negative error code is returned on error.
**/
-int
-gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
- const gnutls_x509_crl_t * crl_list,
- unsigned crl_list_length)
+int gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
+ const gnutls_x509_crl_t *crl_list,
+ unsigned crl_list_length)
{
return _gnutls_x509_crt_check_revocation(cert, crl_list,
crl_list_length, NULL);
@@ -3446,13 +3344,11 @@ gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
*
* Since: 3.5.6
**/
-unsigned
-gnutls_x509_crt_check_key_purpose(gnutls_x509_crt_t cert,
- const char *purpose, unsigned flags)
+unsigned gnutls_x509_crt_check_key_purpose(gnutls_x509_crt_t cert,
+ const char *purpose, unsigned flags)
{
- return _gnutls_check_key_purpose(cert, purpose,
- (flags & GNUTLS_KP_FLAG_DISALLOW_ANY) ?
- 1 : 0);
+ return _gnutls_check_key_purpose(
+ cert, purpose, (flags & GNUTLS_KP_FLAG_DISALLOW_ANY) ? 1 : 0);
}
/**
@@ -3472,10 +3368,9 @@ gnutls_x509_crt_check_key_purpose(gnutls_x509_crt_t cert,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t crt,
- gnutls_digest_algorithm_t *
- hash, unsigned int *mand)
+int gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t crt,
+ gnutls_digest_algorithm_t *hash,
+ unsigned int *mand)
{
int ret;
gnutls_pubkey_t pubkey;
@@ -3501,7 +3396,7 @@ gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t crt,
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
@@ -3527,12 +3422,11 @@ gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t crt,
* sequence number then %GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is
* returned.
**/
-int
-gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
- unsigned int seq, void *san,
- size_t *san_size,
- unsigned int *reason_flags,
- unsigned int *critical)
+int gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
+ unsigned int seq, void *san,
+ size_t *san_size,
+ unsigned int *reason_flags,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t dist_points = { NULL, 0 };
@@ -3552,9 +3446,8 @@ gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
if (reason_flags)
*reason_flags = 0;
- ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.31", 0,
- &dist_points, critical);
+ ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.31", 0, &dist_points,
+ critical);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -3572,9 +3465,8 @@ gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
goto cleanup;
}
- ret =
- gnutls_x509_crl_dist_points_get(cdp, seq, &type, &t_san,
- reason_flags);
+ ret = gnutls_x509_crl_dist_points_get(cdp, seq, &type, &t_san,
+ reason_flags);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -3588,7 +3480,7 @@ gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
ret = type;
- cleanup:
+cleanup:
_gnutls_free_datum(&dist_points);
if (cdp != NULL)
gnutls_x509_crl_dist_points_deinit(cdp);
@@ -3617,10 +3509,9 @@ gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,
* not long enough, and in that case the *oid_size will be updated
* with the required size. On success 0 is returned.
**/
-int
-gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert,
- unsigned indx, void *oid, size_t *oid_size,
- unsigned int *critical)
+int gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert, unsigned indx,
+ void *oid, size_t *oid_size,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t ext;
@@ -3637,9 +3528,8 @@ gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert,
else
*oid_size = 0;
- if ((ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.37", 0, &ext,
- critical)) < 0) {
+ if ((ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.37", 0, &ext,
+ critical)) < 0) {
return ret;
}
@@ -3674,7 +3564,7 @@ gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(ext.data);
if (p != NULL)
gnutls_x509_key_purpose_deinit(p);
@@ -3693,9 +3583,8 @@ gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert,
*
* Returns: %GNUTLS_E_SUCCESS on success, otherwise a negative error code.
**/
-int
-gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt,
- gnutls_datum_t * m, gnutls_datum_t * e)
+int gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt, gnutls_datum_t *m,
+ gnutls_datum_t *e)
{
int ret;
gnutls_pubkey_t pubkey;
@@ -3721,7 +3610,7 @@ gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt,
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
@@ -3744,10 +3633,9 @@ gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt,
*
* Since: 3.4.1
**/
-int
-gnutls_x509_crt_get_pk_ecc_raw(gnutls_x509_crt_t crt,
- gnutls_ecc_curve_t * curve,
- gnutls_datum_t * x, gnutls_datum_t * y)
+int gnutls_x509_crt_get_pk_ecc_raw(gnutls_x509_crt_t crt,
+ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,
+ gnutls_datum_t *y)
{
int ret;
gnutls_pubkey_t pubkey;
@@ -3773,7 +3661,7 @@ gnutls_x509_crt_get_pk_ecc_raw(gnutls_x509_crt_t crt,
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
@@ -3795,12 +3683,11 @@ gnutls_x509_crt_get_pk_ecc_raw(gnutls_x509_crt_t crt,
*
* Since: 3.6.3
**/
-int
-gnutls_x509_crt_get_pk_gost_raw(gnutls_x509_crt_t crt,
- gnutls_ecc_curve_t * curve,
- gnutls_digest_algorithm_t * digest,
- gnutls_gost_paramset_t * paramset,
- gnutls_datum_t * x, gnutls_datum_t * y)
+int gnutls_x509_crt_get_pk_gost_raw(gnutls_x509_crt_t crt,
+ gnutls_ecc_curve_t *curve,
+ gnutls_digest_algorithm_t *digest,
+ gnutls_gost_paramset_t *paramset,
+ gnutls_datum_t *x, gnutls_datum_t *y)
{
int ret;
gnutls_pubkey_t pubkey;
@@ -3820,14 +3707,14 @@ gnutls_x509_crt_get_pk_gost_raw(gnutls_x509_crt_t crt,
goto cleanup;
}
- ret = gnutls_pubkey_export_gost_raw2(pubkey, curve, digest,
- paramset, x, y, 0);
+ ret = gnutls_pubkey_export_gost_raw2(pubkey, curve, digest, paramset, x,
+ y, 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
@@ -3846,10 +3733,9 @@ gnutls_x509_crt_get_pk_gost_raw(gnutls_x509_crt_t crt,
*
* Returns: %GNUTLS_E_SUCCESS on success, otherwise a negative error code.
**/
-int
-gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, gnutls_datum_t * y)
+int gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt, gnutls_datum_t *p,
+ gnutls_datum_t *q, gnutls_datum_t *g,
+ gnutls_datum_t *y)
{
int ret;
gnutls_pubkey_t pubkey;
@@ -3875,7 +3761,7 @@ gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt,
goto cleanup;
}
- cleanup:
+cleanup:
gnutls_pubkey_deinit(pubkey);
return ret;
}
@@ -3902,11 +3788,10 @@ gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt,
*
* Since: 3.0
**/
-int
-gnutls_x509_crt_list_import2(gnutls_x509_crt_t ** certs,
- unsigned int *size,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format, unsigned int flags)
+int gnutls_x509_crt_list_import2(gnutls_x509_crt_t **certs, unsigned int *size,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags)
{
unsigned int init = 1024;
int ret;
@@ -3917,10 +3802,9 @@ gnutls_x509_crt_list_import2(gnutls_x509_crt_t ** certs,
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- gnutls_x509_crt_list_import(*certs, &init, data, format,
- flags |
- GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
+ ret = gnutls_x509_crt_list_import(
+ *certs, &init, data, format,
+ flags | GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
*certs = _gnutls_reallocarray_fast(*certs, init,
sizeof(gnutls_x509_crt_t));
@@ -3929,9 +3813,8 @@ gnutls_x509_crt_list_import2(gnutls_x509_crt_t ** certs,
return GNUTLS_E_MEMORY_ERROR;
}
- ret =
- gnutls_x509_crt_list_import(*certs, &init, data,
- format, flags);
+ ret = gnutls_x509_crt_list_import(*certs, &init, data, format,
+ flags);
}
if (ret < 0) {
@@ -3966,11 +3849,11 @@ gnutls_x509_crt_list_import2(gnutls_x509_crt_t ** certs,
*
* Returns: the number of certificates read or a negative error value.
**/
-int
-gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
- unsigned int *cert_max,
- const gnutls_datum_t * data,
- gnutls_x509_crt_fmt_t format, unsigned int flags)
+int gnutls_x509_crt_list_import(gnutls_x509_crt_t *certs,
+ unsigned int *cert_max,
+ const gnutls_datum_t *data,
+ gnutls_x509_crt_fmt_t format,
+ unsigned int flags)
{
int size;
const char *ptr;
@@ -3984,7 +3867,7 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- count = 1; /* import only the first one */
+ count = 1; /* import only the first one */
ret = gnutls_x509_crt_init(&certs[0]);
if (ret < 0) {
@@ -4004,11 +3887,11 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
/* move to the certificate
*/
- ptr = memmem(data->data, data->size,
- PEM_CERT_SEP, sizeof(PEM_CERT_SEP) - 1);
+ ptr = memmem(data->data, data->size, PEM_CERT_SEP,
+ sizeof(PEM_CERT_SEP) - 1);
if (ptr == NULL)
- ptr = memmem(data->data, data->size,
- PEM_CERT_SEP2, sizeof(PEM_CERT_SEP2) - 1);
+ ptr = memmem(data->data, data->size, PEM_CERT_SEP2,
+ sizeof(PEM_CERT_SEP2) - 1);
if (ptr == NULL)
return gnutls_assert_val(GNUTLS_E_NO_CERTIFICATE_FOUND);
@@ -4017,9 +3900,8 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
do {
if (count >= *cert_max) {
- if (!
- (flags &
- GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED))
+ if (!(flags &
+ GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED))
break;
else
nocopy = 1;
@@ -4035,9 +3917,8 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
tmp.data = (void *)ptr;
tmp.size = data->size - (ptr - (char *)data->data);
- ret =
- gnutls_x509_crt_import(certs[count], &tmp,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[count], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
count++;
gnutls_assert();
@@ -4057,9 +3938,8 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
if (size > 0) {
char *ptr2;
- ptr2 =
- memmem(ptr, size, PEM_CERT_SEP,
- sizeof(PEM_CERT_SEP) - 1);
+ ptr2 = memmem(ptr, size, PEM_CERT_SEP,
+ sizeof(PEM_CERT_SEP) - 1);
if (ptr2 == NULL)
ptr2 = memmem(ptr, size, PEM_CERT_SEP2,
sizeof(PEM_CERT_SEP2) - 1);
@@ -4069,8 +3949,7 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
ptr = NULL;
count++;
- }
- while (ptr != NULL);
+ } while (ptr != NULL);
*cert_max = count;
@@ -4103,7 +3982,7 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
ret = GNUTLS_E_SHORT_MEMORY_BUFFER;
}
- error:
+error:
for (j = 0; j < count; j++)
gnutls_x509_crt_deinit(certs[j]);
return ret;
@@ -4130,20 +4009,18 @@ gnutls_x509_crt_list_import(gnutls_x509_crt_t * certs,
*
* Returns: %GNUTLS_E_SUCCESS on success, otherwise a negative error code.
**/
-int
-gnutls_x509_crt_get_subject_unique_id(gnutls_x509_crt_t crt, char *buf,
- size_t *buf_size)
+int gnutls_x509_crt_get_subject_unique_id(gnutls_x509_crt_t crt, char *buf,
+ size_t *buf_size)
{
int result;
gnutls_datum_t datum = { NULL, 0 };
- result =
- _gnutls_x509_read_value(crt->cert,
- "tbsCertificate.subjectUniqueID", &datum);
+ result = _gnutls_x509_read_value(
+ crt->cert, "tbsCertificate.subjectUniqueID", &datum);
if (result < 0)
return gnutls_assert_val(result);
- if (datum.size > *buf_size) { /* then we're not going to fit */
+ if (datum.size > *buf_size) { /* then we're not going to fit */
*buf_size = datum.size;
result = GNUTLS_E_SHORT_MEMORY_BUFFER;
} else {
@@ -4179,20 +4056,18 @@ gnutls_x509_crt_get_subject_unique_id(gnutls_x509_crt_t crt, char *buf,
*
* Since: 2.12.0
**/
-int
-gnutls_x509_crt_get_issuer_unique_id(gnutls_x509_crt_t crt, char *buf,
- size_t *buf_size)
+int gnutls_x509_crt_get_issuer_unique_id(gnutls_x509_crt_t crt, char *buf,
+ size_t *buf_size)
{
int result;
gnutls_datum_t datum = { NULL, 0 };
- result =
- _gnutls_x509_read_value(crt->cert,
- "tbsCertificate.issuerUniqueID", &datum);
+ result = _gnutls_x509_read_value(
+ crt->cert, "tbsCertificate.issuerUniqueID", &datum);
if (result < 0)
return gnutls_assert_val(result);
- if (datum.size > *buf_size) { /* then we're not going to fit */
+ if (datum.size > *buf_size) { /* then we're not going to fit */
*buf_size = datum.size;
result = GNUTLS_E_SHORT_MEMORY_BUFFER;
} else {
@@ -4205,9 +4080,8 @@ gnutls_x509_crt_get_issuer_unique_id(gnutls_x509_crt_t crt, char *buf,
return result;
}
-static int
-legacy_parse_aia(asn1_node src,
- unsigned int seq, int what, gnutls_datum_t * data)
+static int legacy_parse_aia(asn1_node src, unsigned int seq, int what,
+ gnutls_datum_t *data)
{
int len;
char nptr[MAX_NAME_SIZE];
@@ -4215,7 +4089,7 @@ legacy_parse_aia(asn1_node src,
gnutls_datum_t d;
const char *oid = NULL;
- seq++; /* 0->1, 1->2 etc */
+ seq++; /* 0->1, 1->2 etc */
switch (what) {
case GNUTLS_IA_ACCESSMETHOD_OID:
snprintf(nptr, sizeof(nptr), "?%u.accessMethod", seq);
@@ -4238,21 +4112,19 @@ legacy_parse_aia(asn1_node src,
len = sizeof(tmpoid);
result = asn1_read_value(src, nptr, tmpoid, &len);
- if (result == ASN1_VALUE_NOT_FOUND
- || result == ASN1_ELEMENT_NOT_FOUND)
- return
- gnutls_assert_val
- (GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ if (result == ASN1_VALUE_NOT_FOUND ||
+ result == ASN1_ELEMENT_NOT_FOUND)
+ return gnutls_assert_val(
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- if ((unsigned)len != strlen(oid) + 1
- || memcmp(tmpoid, oid, len) != 0)
- return
- gnutls_assert_val
- (GNUTLS_E_UNKNOWN_ALGORITHM);
+ if ((unsigned)len != strlen(oid) + 1 ||
+ memcmp(tmpoid, oid, len) != 0)
+ return gnutls_assert_val(
+ GNUTLS_E_UNKNOWN_ALGORITHM);
}
FALLTHROUGH;
@@ -4363,12 +4235,10 @@ legacy_parse_aia(asn1_node src,
*
* Since: 3.0
**/
-int
-gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t crt,
- unsigned int seq,
- int what,
- gnutls_datum_t * data,
- unsigned int *critical)
+int gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t crt,
+ unsigned int seq, int what,
+ gnutls_datum_t *data,
+ unsigned int *critical)
{
int ret;
gnutls_datum_t aia;
@@ -4379,9 +4249,8 @@ gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t crt,
return GNUTLS_E_INVALID_REQUEST;
}
- if ((ret =
- _gnutls_x509_crt_get_extension(crt, GNUTLS_OID_AIA, 0, &aia,
- critical)) < 0)
+ if ((ret = _gnutls_x509_crt_get_extension(crt, GNUTLS_OID_AIA, 0, &aia,
+ critical)) < 0)
return ret;
if (aia.size == 0 || aia.data == NULL) {
@@ -4461,21 +4330,18 @@ void gnutls_x509_crt_set_pin_function(gnutls_x509_crt_t crt,
*
* Since: 3.4.0
**/
-int
-gnutls_x509_crt_import_url(gnutls_x509_crt_t crt,
- const char *url, unsigned int flags)
+int gnutls_x509_crt_import_url(gnutls_x509_crt_t crt, const char *url,
+ unsigned int flags)
{
int ret;
unsigned i;
for (i = 0; i < _gnutls_custom_urls_size; i++) {
- if (strncmp
- (url, _gnutls_custom_urls[i].name,
- _gnutls_custom_urls[i].name_size) == 0) {
+ if (strncmp(url, _gnutls_custom_urls[i].name,
+ _gnutls_custom_urls[i].name_size) == 0) {
if (_gnutls_custom_urls[i].import_crt) {
- ret =
- _gnutls_custom_urls[i].import_crt(crt, url,
- flags);
+ ret = _gnutls_custom_urls[i].import_crt(
+ crt, url, flags);
goto cleanup;
}
break;
@@ -4492,7 +4358,7 @@ gnutls_x509_crt_import_url(gnutls_x509_crt_t crt,
ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
}
- cleanup:
+cleanup:
return ret;
}
@@ -4519,12 +4385,10 @@ gnutls_x509_crt_import_url(gnutls_x509_crt_t crt,
*
* Since: 3.6.3
**/
-int
-gnutls_x509_crt_list_import_url(gnutls_x509_crt_t ** certs,
- unsigned int *size,
- const char *url,
- gnutls_pin_callback_t pin_fn,
- void *pin_fn_userdata, unsigned int flags)
+int gnutls_x509_crt_list_import_url(gnutls_x509_crt_t **certs,
+ unsigned int *size, const char *url,
+ gnutls_pin_callback_t pin_fn,
+ void *pin_fn_userdata, unsigned int flags)
{
int ret;
unsigned i;
@@ -4549,10 +4413,9 @@ gnutls_x509_crt_list_import_url(gnutls_x509_crt_t ** certs,
}
for (i = 1; i < DEFAULT_MAX_VERIFY_DEPTH; i++) {
- ret =
- _gnutls_get_raw_issuer(url, crts[i - 1], &issuer,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY);
+ ret = _gnutls_get_raw_issuer(
+ url, crts[i - 1], &issuer,
+ flags | GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY);
if (ret < 0) {
issuer.data = NULL;
break;
@@ -4574,9 +4437,8 @@ gnutls_x509_crt_list_import_url(gnutls_x509_crt_t ** certs,
gnutls_x509_crt_set_pin_function(crts[i], pin_fn,
pin_fn_userdata);
- ret =
- gnutls_x509_crt_import(crts[i], &issuer,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(crts[i], &issuer,
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -4595,7 +4457,7 @@ gnutls_x509_crt_list_import_url(gnutls_x509_crt_t ** certs,
*size = total;
return 0;
- cleanup:
+cleanup:
gnutls_free(issuer.data);
for (i = 0; i < total; i++)
gnutls_x509_crt_deinit(crts[i]);
@@ -4620,14 +4482,13 @@ gnutls_x509_crt_list_import_url(gnutls_x509_crt_t ** certs,
*
* Since: 3.5.6
-*/
-int
-gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,
- gnutls_sign_algorithm_t algo,
- gnutls_typed_vdata_st * vdata,
- unsigned int vdata_size,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
- unsigned int flags)
+int gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,
+ gnutls_sign_algorithm_t algo,
+ gnutls_typed_vdata_st *vdata,
+ unsigned int vdata_size,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
+ unsigned int flags)
{
int ret;
gnutls_pubkey_t pubkey;
@@ -4660,30 +4521,26 @@ gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,
}
if (now < gnutls_x509_crt_get_activation_time(crt)) {
- return
- gnutls_assert_val
- (GNUTLS_E_NOT_YET_ACTIVATED);
+ return gnutls_assert_val(
+ GNUTLS_E_NOT_YET_ACTIVATED);
}
}
res = gnutls_x509_crt_get_key_usage(crt, &usage, NULL);
if (res >= 0) {
if (!(usage & GNUTLS_KEY_DIGITAL_SIGNATURE)) {
- return
- gnutls_assert_val
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ return gnutls_assert_val(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
}
}
for (i = 0; i < vdata_size; i++) {
if (vdata[i].type == GNUTLS_DT_KEY_PURPOSE_OID) {
- res = _gnutls_check_key_purpose(crt, (char *)
- vdata[i].data,
- 0);
+ res = _gnutls_check_key_purpose(
+ crt, (char *)vdata[i].data, 0);
if (res == 0)
- return
- gnutls_assert_val
- (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ return gnutls_assert_val(
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
break;
}
}
@@ -4712,15 +4569,13 @@ gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,
*
* Since: 3.4.0
**/
-int
-gnutls_x509_crt_verify_data2(gnutls_x509_crt_t crt,
- gnutls_sign_algorithm_t algo,
- unsigned int flags,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature)
+int gnutls_x509_crt_verify_data2(gnutls_x509_crt_t crt,
+ gnutls_sign_algorithm_t algo,
+ unsigned int flags, const gnutls_datum_t *data,
+ const gnutls_datum_t *signature)
{
- return gnutls_x509_crt_verify_data3(crt, algo, NULL, 0,
- data, signature, flags);
+ return gnutls_x509_crt_verify_data3(crt, algo, NULL, 0, data, signature,
+ flags);
}
/**
diff --git a/lib/x509/x509_dn.c b/lib/x509/x509_dn.c
index a20e21e54c..83399237d8 100644
--- a/lib/x509/x509_dn.c
+++ b/lib/x509/x509_dn.c
@@ -35,9 +35,8 @@
typedef int (*set_dn_func)(void *, const char *oid, unsigned int raw_flag,
const void *name, unsigned int name_size);
-static
-int dn_attr_crt_set(set_dn_func f, void *crt, const gnutls_datum_t * name,
- const gnutls_datum_t * val, unsigned is_raw)
+static int dn_attr_crt_set(set_dn_func f, void *crt, const gnutls_datum_t *name,
+ const gnutls_datum_t *val, unsigned is_raw)
{
char _oid[MAX_OID_SIZE];
gnutls_datum_t tmp;
@@ -62,8 +61,8 @@ int dn_attr_crt_set(set_dn_func f, void *crt, const gnutls_datum_t * name,
return gnutls_assert_val(GNUTLS_E_PARSING_ERROR);
}
} else {
- oid =
- _gnutls_ldap_string_to_oid((char *)name->data, name->size);
+ oid = _gnutls_ldap_string_to_oid((char *)name->data,
+ name->size);
}
if (oid == NULL) {
@@ -88,23 +87,22 @@ int dn_attr_crt_set(set_dn_func f, void *crt, const gnutls_datum_t * name,
/* unescape */
for (j = i = 0; i < tmp.size; i++) {
if (1 + j != val->size && val->data[j] == '\\') {
- if (val->data[j + 1] == ','
- || val->data[j + 1] == '#'
- || val->data[j + 1] == ' '
- || val->data[j + 1] == '+'
- || val->data[j + 1] == '"'
- || val->data[j + 1] == '<'
- || val->data[j + 1] == '>'
- || val->data[j + 1] == ';'
- || val->data[j + 1] == '\\'
- || val->data[j + 1] == '=') {
+ if (val->data[j + 1] == ',' ||
+ val->data[j + 1] == '#' ||
+ val->data[j + 1] == ' ' ||
+ val->data[j + 1] == '+' ||
+ val->data[j + 1] == '"' ||
+ val->data[j + 1] == '<' ||
+ val->data[j + 1] == '>' ||
+ val->data[j + 1] == ';' ||
+ val->data[j + 1] == '\\' ||
+ val->data[j + 1] == '=') {
tmp.data[i] = val->data[j + 1];
j += 2;
tmp.size--;
} else {
- ret =
- gnutls_assert_val
- (GNUTLS_E_PARSING_ERROR);
+ ret = gnutls_assert_val(
+ GNUTLS_E_PARSING_ERROR);
goto fail;
}
} else {
@@ -121,14 +119,13 @@ int dn_attr_crt_set(set_dn_func f, void *crt, const gnutls_datum_t * name,
}
ret = 0;
- fail:
+fail:
gnutls_free(tmp.data);
return ret;
}
-static int read_attr_and_val(const char **ptr,
- gnutls_datum_t * name, gnutls_datum_t * val,
- unsigned *is_raw)
+static int read_attr_and_val(const char **ptr, gnutls_datum_t *name,
+ gnutls_datum_t *val, unsigned *is_raw)
{
const unsigned char *p = (void *)*ptr;
@@ -162,8 +159,8 @@ static int read_attr_and_val(const char **ptr,
/* Read value */
val->data = (void *)p;
- while (*p != 0 && (*p != ',' || (*p == ',' && *(p - 1) == '\\'))
- && *p != '\n') {
+ while (*p != 0 && (*p != ',' || (*p == ',' && *(p - 1) == '\\')) &&
+ *p != '\n') {
p++;
}
val->size = p - (val->data);
@@ -198,8 +195,8 @@ typedef struct elem_list_st {
struct elem_list_st *next;
} elem_list_st;
-static int add_new_elem(elem_list_st ** head, const gnutls_datum_t * name,
- const gnutls_datum_t * val, const char *pos,
+static int add_new_elem(elem_list_st **head, const gnutls_datum_t *name,
+ const gnutls_datum_t *val, const char *pos,
unsigned is_raw)
{
elem_list_st *elem = gnutls_malloc(sizeof(*elem));
@@ -216,8 +213,8 @@ static int add_new_elem(elem_list_st ** head, const gnutls_datum_t * name,
return 0;
}
-static int
-crt_set_dn(set_dn_func f, void *crt, const char *dn, const char **err)
+static int crt_set_dn(set_dn_func f, void *crt, const char *dn,
+ const char **err)
{
const char *p = dn;
int ret;
@@ -266,9 +263,8 @@ crt_set_dn(set_dn_func f, void *crt, const char *dn, const char **err)
while (plist) {
if (err)
*err = plist->pos;
- ret =
- dn_attr_crt_set(f, crt, &plist->name, &plist->val,
- plist->is_raw);
+ ret = dn_attr_crt_set(f, crt, &plist->name, &plist->val,
+ plist->is_raw);
if (ret < 0)
goto fail;
@@ -276,7 +272,7 @@ crt_set_dn(set_dn_func f, void *crt, const char *dn, const char **err)
}
ret = 0;
- fail:
+fail:
plist = list;
while (plist) {
next = plist->next;
@@ -304,11 +300,11 @@ crt_set_dn(set_dn_func f, void *crt, const char *dn, const char **err)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_dn(gnutls_x509_crt_t crt, const char *dn, const char **err)
+int gnutls_x509_crt_set_dn(gnutls_x509_crt_t crt, const char *dn,
+ const char **err)
{
- return crt_set_dn((set_dn_func) gnutls_x509_crt_set_dn_by_oid, crt,
- dn, err);
+ return crt_set_dn((set_dn_func)gnutls_x509_crt_set_dn_by_oid, crt, dn,
+ err);
}
/**
@@ -324,12 +320,11 @@ gnutls_x509_crt_set_dn(gnutls_x509_crt_t crt, const char *dn, const char **err)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_issuer_dn(gnutls_x509_crt_t crt, const char *dn,
- const char **err)
+int gnutls_x509_crt_set_issuer_dn(gnutls_x509_crt_t crt, const char *dn,
+ const char **err)
{
- return crt_set_dn((set_dn_func)
- gnutls_x509_crt_set_issuer_dn_by_oid, crt, dn, err);
+ return crt_set_dn((set_dn_func)gnutls_x509_crt_set_issuer_dn_by_oid,
+ crt, dn, err);
}
/**
@@ -345,16 +340,16 @@ gnutls_x509_crt_set_issuer_dn(gnutls_x509_crt_t crt, const char *dn,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crq_set_dn(gnutls_x509_crq_t crq, const char *dn, const char **err)
+int gnutls_x509_crq_set_dn(gnutls_x509_crq_t crq, const char *dn,
+ const char **err)
{
- return crt_set_dn((set_dn_func) gnutls_x509_crq_set_dn_by_oid, crq,
- dn, err);
+ return crt_set_dn((set_dn_func)gnutls_x509_crq_set_dn_by_oid, crq, dn,
+ err);
}
-static
-int set_dn_by_oid(gnutls_x509_dn_t dn, const char *oid, unsigned int raw_flag,
- const void *name, unsigned name_size)
+static int set_dn_by_oid(gnutls_x509_dn_t dn, const char *oid,
+ unsigned int raw_flag, const void *name,
+ unsigned name_size)
{
return _gnutls_x509_set_dn_oid(dn->asn, "", oid, raw_flag, name,
name_size);
@@ -375,15 +370,15 @@ int set_dn_by_oid(gnutls_x509_dn_t dn, const char *oid, unsigned int raw_flag,
*
* Since: 3.5.3
**/
-int
-gnutls_x509_dn_set_str(gnutls_x509_dn_t dn, const char *str, const char **err)
+int gnutls_x509_dn_set_str(gnutls_x509_dn_t dn, const char *str,
+ const char **err)
{
if (dn == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return crt_set_dn((set_dn_func) set_dn_by_oid, dn, str, err);
+ return crt_set_dn((set_dn_func)set_dn_by_oid, dn, str, err);
}
/**
@@ -400,15 +395,14 @@ gnutls_x509_dn_set_str(gnutls_x509_dn_t dn, const char *str, const char **err)
*
* Since: 2.4.0
**/
-int gnutls_x509_dn_init(gnutls_x509_dn_t * dn)
+int gnutls_x509_dn_init(gnutls_x509_dn_t *dn)
{
int result;
*dn = gnutls_calloc(1, sizeof(gnutls_x509_dn_st));
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.Name", &(*dn)->asn)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.Name",
+ &(*dn)->asn)) != ASN1_SUCCESS) {
gnutls_assert();
gnutls_free(*dn);
return _gnutls_asn2err(result);
@@ -432,7 +426,7 @@ int gnutls_x509_dn_init(gnutls_x509_dn_t * dn)
*
* Since: 2.4.0
**/
-int gnutls_x509_dn_import(gnutls_x509_dn_t dn, const gnutls_datum_t * data)
+int gnutls_x509_dn_import(gnutls_x509_dn_t dn, const gnutls_datum_t *data)
{
int result;
char err[ASN1_MAX_ERROR_DESCRIPTION_SIZE];
@@ -486,19 +480,17 @@ void gnutls_x509_dn_deinit(gnutls_x509_dn_t dn)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_dn_export(gnutls_x509_dn_t dn,
- gnutls_x509_crt_fmt_t format, void *output_data,
- size_t *output_data_size)
+int gnutls_x509_dn_export(gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t format,
+ void *output_data, size_t *output_data_size)
{
if (dn == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_export_int_named(dn->asn, "rdnSequence",
- format, "NAME",
- output_data, output_data_size);
+ return _gnutls_x509_export_int_named(dn->asn, "rdnSequence", format,
+ "NAME", output_data,
+ output_data_size);
}
/**
@@ -519,17 +511,16 @@ gnutls_x509_dn_export(gnutls_x509_dn_t dn,
*
* Since: 3.1.3
**/
-int
-gnutls_x509_dn_export2(gnutls_x509_dn_t dn,
- gnutls_x509_crt_fmt_t format, gnutls_datum_t * out)
+int gnutls_x509_dn_export2(gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t format,
+ gnutls_datum_t *out)
{
if (dn == NULL) {
gnutls_assert();
return GNUTLS_E_INVALID_REQUEST;
}
- return _gnutls_x509_export_int_named2(dn->asn, "rdnSequence",
- format, "NAME", out);
+ return _gnutls_x509_export_int_named2(dn->asn, "rdnSequence", format,
+ "NAME", out);
}
/**
@@ -560,9 +551,8 @@ gnutls_x509_dn_export2(gnutls_x509_dn_t dn,
*
* Returns: Returns 0 on success, or an error code.
**/
-int
-gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn,
- int irdn, int iava, gnutls_x509_ava_st * ava)
+int gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn, int irdn, int iava,
+ gnutls_x509_ava_st *ava)
{
asn1_node rdn, elem;
asn1_data_node_st vnode;
@@ -573,7 +563,7 @@ gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn,
const unsigned char *ptr;
iava++;
- irdn++; /* 0->1, 1->2 etc */
+ irdn++; /* 0->1, 1->2 etc */
snprintf(rbuf, sizeof(rbuf), "rdnSequence.?%d.?%d", irdn, iava);
rdn = asn1_find_node(dn->asn, rbuf);
@@ -663,7 +653,7 @@ gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn,
*
* Since: 3.4.2
**/
-int gnutls_x509_dn_get_str(gnutls_x509_dn_t dn, gnutls_datum_t * str)
+int gnutls_x509_dn_get_str(gnutls_x509_dn_t dn, gnutls_datum_t *str)
{
if (dn == NULL) {
gnutls_assert();
@@ -694,9 +684,8 @@ int gnutls_x509_dn_get_str(gnutls_x509_dn_t dn, gnutls_datum_t * str)
*
* Since: 3.5.7
**/
-int
-gnutls_x509_dn_get_str2(gnutls_x509_dn_t dn, gnutls_datum_t * str,
- unsigned flags)
+int gnutls_x509_dn_get_str2(gnutls_x509_dn_t dn, gnutls_datum_t *str,
+ unsigned flags)
{
if (dn == NULL) {
gnutls_assert();
diff --git a/lib/x509/x509_ext.c b/lib/x509/x509_ext.c
index d369a47440..49314869cc 100644
--- a/lib/x509/x509_ext.c
+++ b/lib/x509/x509_ext.c
@@ -49,7 +49,7 @@ struct gnutls_subject_alt_names_st {
*
* Since: 3.3.0
**/
-int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t * sans)
+int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t *sans)
{
*sans = gnutls_calloc(1, sizeof(struct gnutls_subject_alt_names_st));
if (*sans == NULL) {
@@ -104,8 +104,8 @@ void gnutls_subject_alt_names_deinit(gnutls_subject_alt_names_t sans)
**/
int gnutls_subject_alt_names_get(gnutls_subject_alt_names_t sans,
unsigned int seq, unsigned int *san_type,
- gnutls_datum_t * san,
- gnutls_datum_t * othername_oid)
+ gnutls_datum_t *san,
+ gnutls_datum_t *othername_oid)
{
if (seq >= sans->size)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -117,8 +117,8 @@ int gnutls_subject_alt_names_get(gnutls_subject_alt_names_t sans,
if (san_type)
*san_type = sans->names[seq].type;
- if (othername_oid != NULL
- && sans->names[seq].type == GNUTLS_SAN_OTHERNAME) {
+ if (othername_oid != NULL &&
+ sans->names[seq].type == GNUTLS_SAN_OTHERNAME) {
othername_oid->data = sans->names[seq].othername_oid.data;
othername_oid->size = sans->names[seq].othername_oid.size;
}
@@ -129,12 +129,9 @@ int gnutls_subject_alt_names_get(gnutls_subject_alt_names_t sans,
/* This is the same as gnutls_subject_alt_names_set() but will not
* copy the strings. It expects all the provided input to be already
* allocated by gnutls. */
-static
-int subject_alt_names_set(struct name_st **names,
- unsigned int *size,
- unsigned int san_type,
- gnutls_datum_t * san, char *othername_oid,
- unsigned raw)
+static int subject_alt_names_set(struct name_st **names, unsigned int *size,
+ unsigned int san_type, gnutls_datum_t *san,
+ char *othername_oid, unsigned raw)
{
void *tmp;
int ret;
@@ -149,9 +146,8 @@ int subject_alt_names_set(struct name_st **names,
}
*names = tmp;
- ret =
- _gnutls_alt_name_assign_virt_type(&(*names)[*size], san_type, san,
- othername_oid, raw);
+ ret = _gnutls_alt_name_assign_virt_type(&(*names)[*size], san_type, san,
+ othername_oid, raw);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -178,7 +174,7 @@ int subject_alt_names_set(struct name_st **names,
**/
int gnutls_subject_alt_names_set(gnutls_subject_alt_names_t sans,
unsigned int san_type,
- const gnutls_datum_t * san,
+ const gnutls_datum_t *san,
const char *othername_oid)
{
int ret;
@@ -193,8 +189,8 @@ int gnutls_subject_alt_names_set(gnutls_subject_alt_names_t sans,
ooc = gnutls_strdup(othername_oid);
else
ooc = NULL;
- ret = subject_alt_names_set(&sans->names, &sans->size,
- san_type, &copy, ooc, 0);
+ ret = subject_alt_names_set(&sans->names, &sans->size, san_type, &copy,
+ ooc, 0);
if (ret < 0) {
gnutls_free(copy.data);
return gnutls_assert_val(ret);
@@ -220,7 +216,7 @@ int gnutls_subject_alt_names_set(gnutls_subject_alt_names_t sans,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t *ext,
gnutls_subject_alt_names_t sans,
unsigned int flags)
{
@@ -230,8 +226,8 @@ int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
gnutls_datum_t san, othername_oid;
unsigned type;
- result =
- asn1_create_element(_gnutls_get_pkix(), "PKIX1.GeneralNames", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.GeneralNames",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -254,10 +250,8 @@ int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
break;
if (type == GNUTLS_SAN_OTHERNAME) {
- ret =
- _gnutls_parse_general_name2(c2, "", i,
- &othername_oid,
- NULL, 1);
+ ret = _gnutls_parse_general_name2(
+ c2, "", i, &othername_oid, NULL, 1);
if (ret < 0)
break;
@@ -266,9 +260,9 @@ int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
break;
}
- ret = subject_alt_names_set(&sans->names, &sans->size,
- type, &san,
- (char *)othername_oid.data, 1);
+ ret = subject_alt_names_set(&sans->names, &sans->size, type,
+ &san, (char *)othername_oid.data,
+ 1);
if (ret < 0)
break;
}
@@ -282,7 +276,7 @@ int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -301,14 +295,14 @@ int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t * ext,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_subject_alt_names(gnutls_subject_alt_names_t sans,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
int result, ret;
unsigned i;
- result =
- asn1_create_element(_gnutls_get_pkix(), "PKIX1.GeneralNames", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.GeneralNames",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -316,22 +310,16 @@ int gnutls_x509_ext_export_subject_alt_names(gnutls_subject_alt_names_t sans,
for (i = 0; i < sans->size; i++) {
if (sans->names[i].type == GNUTLS_SAN_OTHERNAME) {
- ret =
- _gnutls_write_new_othername(c2, "",
- (char *)sans->
- names[i].othername_oid.
- data,
- sans->names[i].san.data,
- sans->names[i].
- san.size);
+ ret = _gnutls_write_new_othername(
+ c2, "",
+ (char *)sans->names[i].othername_oid.data,
+ sans->names[i].san.data,
+ sans->names[i].san.size);
} else {
- ret =
- _gnutls_write_new_general_name(c2, "",
- sans->names[i].type,
- sans->names[i].
- san.data,
- sans->names[i].
- san.size);
+ ret = _gnutls_write_new_general_name(
+ c2, "", sans->names[i].type,
+ sans->names[i].san.data,
+ sans->names[i].san.size);
}
if (ret < 0) {
@@ -348,7 +336,7 @@ int gnutls_x509_ext_export_subject_alt_names(gnutls_subject_alt_names_t sans,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -378,7 +366,7 @@ int gnutls_x509_ext_export_subject_alt_names(gnutls_subject_alt_names_t sans,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t *ext,
gnutls_x509_name_constraints_t nc,
unsigned int flags)
{
@@ -386,8 +374,8 @@ int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
asn1_node c2 = NULL;
gnutls_x509_name_constraints_t nc2 = NULL;
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.NameConstraints", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.NameConstraints", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -408,17 +396,15 @@ int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
goto cleanup;
}
- ret =
- _gnutls_extract_name_constraints(c2, "permittedSubtrees",
- &nc2->permitted);
+ ret = _gnutls_extract_name_constraints(c2, "permittedSubtrees",
+ &nc2->permitted);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_extract_name_constraints(c2, "excludedSubtrees",
- &nc2->excluded);
+ ret = _gnutls_extract_name_constraints(c2, "excludedSubtrees",
+ &nc2->excluded);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -433,17 +419,15 @@ int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
_gnutls_name_constraints_node_free(nc->permitted);
_gnutls_name_constraints_node_free(nc->excluded);
- ret =
- _gnutls_extract_name_constraints(c2, "permittedSubtrees",
- &nc->permitted);
+ ret = _gnutls_extract_name_constraints(c2, "permittedSubtrees",
+ &nc->permitted);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
- ret =
- _gnutls_extract_name_constraints(c2, "excludedSubtrees",
- &nc->excluded);
+ ret = _gnutls_extract_name_constraints(c2, "excludedSubtrees",
+ &nc->excluded);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -452,7 +436,7 @@ int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
if (nc2)
gnutls_x509_name_constraints_deinit(nc2);
@@ -474,7 +458,7 @@ int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t * ext,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
int ret, result;
uint8_t null = 0;
@@ -484,8 +468,8 @@ int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
if (nc->permitted == NULL && nc->excluded == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.NameConstraints", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.NameConstraints", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -496,40 +480,34 @@ int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
} else {
tmp = nc->permitted;
do {
- result =
- asn1_write_value(c2, "permittedSubtrees", "NEW", 1);
+ result = asn1_write_value(c2, "permittedSubtrees",
+ "NEW", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2,
- "permittedSubtrees.?LAST.maximum",
- NULL, 0);
+ result = asn1_write_value(
+ c2, "permittedSubtrees.?LAST.maximum", NULL, 0);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2,
- "permittedSubtrees.?LAST.minimum",
- &null, 1);
+ result = asn1_write_value(
+ c2, "permittedSubtrees.?LAST.minimum", &null,
+ 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- ret =
- _gnutls_write_general_name(c2,
- "permittedSubtrees.?LAST.base",
- tmp->type,
- tmp->name.data,
- tmp->name.size);
+ ret = _gnutls_write_general_name(
+ c2, "permittedSubtrees.?LAST.base", tmp->type,
+ tmp->name.data, tmp->name.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -543,47 +521,39 @@ int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
} else {
tmp = nc->excluded;
do {
- result =
- asn1_write_value(c2, "excludedSubtrees", "NEW", 1);
+ result = asn1_write_value(c2, "excludedSubtrees", "NEW",
+ 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2,
- "excludedSubtrees.?LAST.maximum",
- NULL, 0);
+ result = asn1_write_value(
+ c2, "excludedSubtrees.?LAST.maximum", NULL, 0);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- result =
- asn1_write_value(c2,
- "excludedSubtrees.?LAST.minimum",
- &null, 1);
+ result = asn1_write_value(
+ c2, "excludedSubtrees.?LAST.minimum", &null, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- ret =
- _gnutls_write_general_name(c2,
- "excludedSubtrees.?LAST.base",
- tmp->type,
- tmp->name.data,
- tmp->name.size);
+ ret = _gnutls_write_general_name(
+ c2, "excludedSubtrees.?LAST.base", tmp->type,
+ tmp->name.data, tmp->name.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
}
tmp = tmp->next;
} while (tmp != NULL);
-
}
ret = _gnutls_x509_der_encode(c2, "", ext, 0);
@@ -594,7 +564,7 @@ int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -613,8 +583,8 @@ int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t nc,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t * ext,
- gnutls_datum_t * id)
+int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t *ext,
+ gnutls_datum_t *id)
{
int result, ret;
asn1_node c2 = NULL;
@@ -624,8 +594,8 @@ int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t * ext,
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.SubjectKeyIdentifier", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.SubjectKeyIdentifier", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -645,11 +615,10 @@ int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t * ext,
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
-
}
/**
@@ -666,15 +635,14 @@ int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t * ext,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_export_subject_key_id(const gnutls_datum_t * id,
- gnutls_datum_t * ext)
+int gnutls_x509_ext_export_subject_key_id(const gnutls_datum_t *id,
+ gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
int ret, result;
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.SubjectKeyIdentifier", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.SubjectKeyIdentifier", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -694,7 +662,7 @@ int gnutls_x509_ext_export_subject_key_id(const gnutls_datum_t * id,
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -715,7 +683,7 @@ struct gnutls_x509_aki_st {
*
* Since: 3.3.0
**/
-int gnutls_x509_aki_init(gnutls_x509_aki_t * aki)
+int gnutls_x509_aki_init(gnutls_x509_aki_t *aki)
{
*aki = gnutls_calloc(1, sizeof(struct gnutls_x509_aki_st));
if (*aki == NULL)
@@ -753,7 +721,7 @@ void gnutls_x509_aki_deinit(gnutls_x509_aki_t aki)
*
* Since: 3.3.0
**/
-int gnutls_x509_aki_get_id(gnutls_x509_aki_t aki, gnutls_datum_t * id)
+int gnutls_x509_aki_get_id(gnutls_x509_aki_t aki, gnutls_datum_t *id)
{
if (aki->id.size == 0)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -774,7 +742,7 @@ int gnutls_x509_aki_get_id(gnutls_x509_aki_t aki, gnutls_datum_t * id)
*
* Since: 3.3.0
**/
-int gnutls_x509_aki_set_id(gnutls_x509_aki_t aki, const gnutls_datum_t * id)
+int gnutls_x509_aki_set_id(gnutls_x509_aki_t aki, const gnutls_datum_t *id)
{
return _gnutls_set_datum(&aki->id, id->data, id->size);
}
@@ -800,9 +768,9 @@ int gnutls_x509_aki_set_id(gnutls_x509_aki_t aki, const gnutls_datum_t * id)
**/
int gnutls_x509_aki_set_cert_issuer(gnutls_x509_aki_t aki,
unsigned int san_type,
- const gnutls_datum_t * san,
+ const gnutls_datum_t *san,
const char *othername_oid,
- const gnutls_datum_t * serial)
+ const gnutls_datum_t *serial)
{
int ret;
gnutls_datum_t t_san, t_othername_oid = { NULL, 0 };
@@ -818,7 +786,7 @@ int gnutls_x509_aki_set_cert_issuer(gnutls_x509_aki_t aki,
return gnutls_assert_val(ret);
if (othername_oid) {
- t_othername_oid.data = (uint8_t *) gnutls_strdup(othername_oid);
+ t_othername_oid.data = (uint8_t *)gnutls_strdup(othername_oid);
if (t_othername_oid.data == NULL) {
gnutls_free(t_san.data);
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -826,10 +794,9 @@ int gnutls_x509_aki_set_cert_issuer(gnutls_x509_aki_t aki,
t_othername_oid.size = strlen(othername_oid);
}
- ret =
- subject_alt_names_set(&aki->cert_issuer.names,
- &aki->cert_issuer.size, san_type, &t_san,
- (char *)t_othername_oid.data, 0);
+ ret = subject_alt_names_set(&aki->cert_issuer.names,
+ &aki->cert_issuer.size, san_type, &t_san,
+ (char *)t_othername_oid.data, 0);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -857,10 +824,9 @@ int gnutls_x509_aki_set_cert_issuer(gnutls_x509_aki_t aki,
* Since: 3.3.0
**/
int gnutls_x509_aki_get_cert_issuer(gnutls_x509_aki_t aki, unsigned int seq,
- unsigned int *san_type,
- gnutls_datum_t * san,
- gnutls_datum_t * othername_oid,
- gnutls_datum_t * serial)
+ unsigned int *san_type, gnutls_datum_t *san,
+ gnutls_datum_t *othername_oid,
+ gnutls_datum_t *serial)
{
if (seq >= aki->cert_issuer.size)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -876,19 +842,18 @@ int gnutls_x509_aki_get_cert_issuer(gnutls_x509_aki_t aki, unsigned int seq,
sizeof(gnutls_datum_t));
}
- if (othername_oid != NULL
- && aki->cert_issuer.names[seq].type == GNUTLS_SAN_OTHERNAME) {
+ if (othername_oid != NULL &&
+ aki->cert_issuer.names[seq].type == GNUTLS_SAN_OTHERNAME) {
othername_oid->data =
- aki->cert_issuer.names[seq].othername_oid.data;
+ aki->cert_issuer.names[seq].othername_oid.data;
othername_oid->size =
- aki->cert_issuer.names[seq].othername_oid.size;
+ aki->cert_issuer.names[seq].othername_oid.size;
}
if (san_type)
*san_type = aki->cert_issuer.names[seq].type;
return 0;
-
}
/**
@@ -905,7 +870,7 @@ int gnutls_x509_aki_get_cert_issuer(gnutls_x509_aki_t aki, unsigned int seq,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t *ext,
gnutls_x509_aki_t aki,
unsigned int flags)
{
@@ -915,8 +880,8 @@ int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
gnutls_datum_t san, othername_oid;
unsigned type;
- ret = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.AuthorityKeyIdentifier", &c2);
+ ret = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.AuthorityKeyIdentifier", &c2);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
@@ -941,19 +906,16 @@ int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
break;
if (type == GNUTLS_SAN_OTHERNAME) {
- ret =
- _gnutls_parse_general_name2(c2,
- "authorityCertIssuer",
- i,
- &othername_oid,
- NULL, 1);
+ ret = _gnutls_parse_general_name2(c2,
+ "authorityCertIssuer",
+ i, &othername_oid,
+ NULL, 1);
if (ret < 0)
break;
}
ret = subject_alt_names_set(&aki->cert_issuer.names,
- &aki->cert_issuer.size,
- type, &san,
+ &aki->cert_issuer.size, type, &san,
(char *)othername_oid.data, 1);
if (ret < 0)
break;
@@ -961,8 +923,8 @@ int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
assert(ret < 0);
aki->cert_issuer.size = i;
- if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- && ret != GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
+ if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE &&
+ ret != GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
gnutls_assert();
gnutls_free(san.data);
gnutls_free(othername_oid.data);
@@ -970,26 +932,25 @@ int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
}
/* Read the serial number */
- ret =
- _gnutls_x509_read_value(c2, "authorityCertSerialNumber",
- &aki->serial);
- if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- && ret != GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
+ ret = _gnutls_x509_read_value(c2, "authorityCertSerialNumber",
+ &aki->serial);
+ if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE &&
+ ret != GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
gnutls_assert();
goto cleanup;
}
/* Read the key identifier */
ret = _gnutls_x509_read_value(c2, "keyIdentifier", &aki->id);
- if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- && ret != GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
+ if (ret < 0 && ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE &&
+ ret != GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
gnutls_assert();
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -1010,24 +971,22 @@ int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t * ext,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t aki,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
unsigned i;
int result, ret;
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.AuthorityKeyIdentifier", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.AuthorityKeyIdentifier", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
if (aki->id.data != NULL) {
- result =
- asn1_write_value(c2, "keyIdentifier", aki->id.data,
- aki->id.size);
+ result = asn1_write_value(c2, "keyIdentifier", aki->id.data,
+ aki->id.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -1038,9 +997,8 @@ int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t aki,
}
if (aki->serial.data != NULL) {
- result =
- asn1_write_value(c2, "authorityCertSerialNumber",
- aki->serial.data, aki->serial.size);
+ result = asn1_write_value(c2, "authorityCertSerialNumber",
+ aki->serial.data, aki->serial.size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -1055,16 +1013,11 @@ int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t aki,
(void)asn1_write_value(c2, "authorityCertIssuer", NULL, 0);
} else {
for (i = 0; i < aki->cert_issuer.size; i++) {
- ret =
- _gnutls_write_new_general_name(c2,
- "authorityCertIssuer",
- aki->cert_issuer.
- names[i].type,
- aki->
- cert_issuer.names[i].
- san.data,
- aki->cert_issuer.
- names[i].san.size);
+ ret = _gnutls_write_new_general_name(
+ c2, "authorityCertIssuer",
+ aki->cert_issuer.names[i].type,
+ aki->cert_issuer.names[i].san.data,
+ aki->cert_issuer.names[i].san.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1079,10 +1032,9 @@ int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t aki,
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
-
}
/**
@@ -1105,7 +1057,7 @@ int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t aki,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_key_usage(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_key_usage(const gnutls_datum_t *ext,
unsigned int *key_usage)
{
asn1_node c2 = NULL;
@@ -1115,8 +1067,8 @@ int gnutls_x509_ext_import_key_usage(const gnutls_datum_t * ext,
str[0] = str[1] = 0;
*key_usage = 0;
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.KeyUsage", &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.KeyUsage",
+ &c2)) != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1145,7 +1097,7 @@ int gnutls_x509_ext_import_key_usage(const gnutls_datum_t * ext,
static int _last_key_usage_set_bit(int usage)
{
-/* the byte ordering is a bit strange here, see how GNUTLS_KEY_* is laid out, and how
+ /* the byte ordering is a bit strange here, see how GNUTLS_KEY_* is laid out, and how
* asn1_write_value() writes out BIT STRING objects.
*/
if (usage & GNUTLS_KEY_DECIPHER_ONLY)
@@ -1184,7 +1136,7 @@ static int _last_key_usage_set_bit(int usage)
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_export_key_usage(unsigned int usage, gnutls_datum_t * ext)
+int gnutls_x509_ext_export_key_usage(unsigned int usage, gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
int result;
@@ -1239,7 +1191,7 @@ int gnutls_x509_ext_export_key_usage(unsigned int usage, gnutls_datum_t * ext)
*
* Since: 3.6.0
**/
-int gnutls_x509_ext_import_inhibit_anypolicy(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_inhibit_anypolicy(const gnutls_datum_t *ext,
unsigned int *skipcerts)
{
int ret;
@@ -1267,14 +1219,13 @@ int gnutls_x509_ext_import_inhibit_anypolicy(const gnutls_datum_t * ext,
* Since: 3.6.0
**/
int gnutls_x509_ext_export_inhibit_anypolicy(unsigned int skipcerts,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
int result, ret;
- result =
- asn1_create_element(_gnutls_get_gnutls_asn(), "GNUTLS.DSAPublicKey",
- &c2);
+ result = asn1_create_element(_gnutls_get_gnutls_asn(),
+ "GNUTLS.DSAPublicKey", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1294,7 +1245,7 @@ int gnutls_x509_ext_export_inhibit_anypolicy(unsigned int skipcerts,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -1315,15 +1266,15 @@ int gnutls_x509_ext_export_inhibit_anypolicy(unsigned int skipcerts,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t * ext,
- time_t * activation,
- time_t * expiration)
+int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t *ext,
+ time_t *activation,
+ time_t *expiration)
{
int result, ret;
asn1_node c2 = NULL;
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.PrivateKeyUsagePeriod", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.PrivateKeyUsagePeriod", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
@@ -1345,7 +1296,7 @@ int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t * ext,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -1370,14 +1321,13 @@ int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t * ext,
**/
int gnutls_x509_ext_export_private_key_usage_period(time_t activation,
time_t expiration,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
int result;
asn1_node c2 = NULL;
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.PrivateKeyUsagePeriod", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.PrivateKeyUsagePeriod", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1401,11 +1351,10 @@ int gnutls_x509_ext_export_private_key_usage_period(time_t activation,
goto cleanup;
}
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
-
}
/**
@@ -1422,16 +1371,16 @@ int gnutls_x509_ext_export_private_key_usage_period(time_t activation,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t *ext,
unsigned int *ca, int *pathlen)
{
asn1_node c2 = NULL;
char str[128] = "";
int len, result;
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.BasicConstraints",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.BasicConstraints", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1445,8 +1394,7 @@ int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t * ext,
if (pathlen) {
result = _gnutls_x509_read_uint(c2, "pathLenConstraint",
- (unsigned int *)
- pathlen);
+ (unsigned int *)pathlen);
if (result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
*pathlen = -1;
else if (result != GNUTLS_E_SUCCESS) {
@@ -1466,11 +1414,10 @@ int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t * ext,
*ca = 0;
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
-
}
/**
@@ -1491,7 +1438,7 @@ int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t * ext,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int pathlen,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
const char *str;
@@ -1502,9 +1449,8 @@ int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int pathlen,
else
str = "TRUE";
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.BasicConstraints", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.BasicConstraints", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1523,8 +1469,8 @@ int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int pathlen,
if (result < 0)
result = _gnutls_asn2err(result);
} else
- result =
- _gnutls_x509_write_uint32(c2, "pathLenConstraint", pathlen);
+ result = _gnutls_x509_write_uint32(c2, "pathLenConstraint",
+ pathlen);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -1538,10 +1484,9 @@ int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int pathlen,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
-
}
/**
@@ -1563,7 +1508,7 @@ int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int pathlen,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_proxy(const gnutls_datum_t * ext, int *pathlen,
+int gnutls_x509_ext_import_proxy(const gnutls_datum_t *ext, int *pathlen,
char **policyLanguage, char **policy,
size_t *sizeof_policy)
{
@@ -1572,9 +1517,9 @@ int gnutls_x509_ext_import_proxy(const gnutls_datum_t * ext, int *pathlen,
gnutls_datum_t value1 = { NULL, 0 };
gnutls_datum_t value2 = { NULL, 0 };
- if ((result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.ProxyCertInfo",
- &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.ProxyCertInfo", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
@@ -1588,8 +1533,7 @@ int gnutls_x509_ext_import_proxy(const gnutls_datum_t * ext, int *pathlen,
if (pathlen) {
result = _gnutls_x509_read_uint(c2, "pCPathLenConstraint",
- (unsigned int *)
- pathlen);
+ (unsigned int *)pathlen);
if (result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND)
*pathlen = -1;
else if (result != GNUTLS_E_SUCCESS) {
@@ -1630,7 +1574,7 @@ int gnutls_x509_ext_import_proxy(const gnutls_datum_t * ext, int *pathlen,
}
result = 0;
- cleanup:
+cleanup:
gnutls_free(value1.data);
gnutls_free(value2.data);
asn1_delete_structure(&c2);
@@ -1658,13 +1602,13 @@ int gnutls_x509_ext_import_proxy(const gnutls_datum_t * ext, int *pathlen,
**/
int gnutls_x509_ext_export_proxy(int pathLenConstraint,
const char *policyLanguage, const char *policy,
- size_t sizeof_policy, gnutls_datum_t * ext)
+ size_t sizeof_policy, gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
int result;
- result = asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.ProxyCertInfo", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(), "PKIX1.ProxyCertInfo",
+ &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -1678,9 +1622,8 @@ int gnutls_x509_ext_export_proxy(int pathLenConstraint,
goto cleanup;
}
} else {
- result =
- _gnutls_x509_write_uint32(c2, "pCPathLenConstraint",
- pathLenConstraint);
+ result = _gnutls_x509_write_uint32(c2, "pCPathLenConstraint",
+ pathLenConstraint);
if (result < 0) {
gnutls_assert();
@@ -1696,8 +1639,8 @@ int gnutls_x509_ext_export_proxy(int pathLenConstraint,
goto cleanup;
}
- result = asn1_write_value(c2, "proxyPolicy.policy",
- policy, sizeof_policy);
+ result = asn1_write_value(c2, "proxyPolicy.policy", policy,
+ sizeof_policy);
if (result < 0) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -1711,14 +1654,13 @@ int gnutls_x509_ext_export_proxy(int pathLenConstraint,
}
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
-
}
static int decode_user_notice(const void *data, size_t size,
- gnutls_datum_t * txt)
+ gnutls_datum_t *txt)
{
asn1_node c2 = NULL;
int ret, len;
@@ -1748,10 +1690,10 @@ static int decode_user_notice(const void *data, size_t size,
goto cleanup;
}
- if (strcmp(choice_type, "utf8String") != 0
- && strcmp(choice_type, "ia5String") != 0
- && strcmp(choice_type, "bmpString") != 0
- && strcmp(choice_type, "visibleString") != 0) {
+ if (strcmp(choice_type, "utf8String") != 0 &&
+ strcmp(choice_type, "ia5String") != 0 &&
+ strcmp(choice_type, "bmpString") != 0 &&
+ strcmp(choice_type, "visibleString") != 0) {
gnutls_assert();
ret = GNUTLS_E_PARSING_ERROR;
goto cleanup;
@@ -1765,7 +1707,7 @@ static int decode_user_notice(const void *data, size_t size,
goto cleanup;
}
- if (strcmp(choice_type, "bmpString") == 0) { /* convert to UTF-8 */
+ if (strcmp(choice_type, "bmpString") == 0) { /* convert to UTF-8 */
ret = _gnutls_ucs2_to_utf8(td.data, td.size, &utd, 1);
_gnutls_free_datum(&td);
if (ret < 0) {
@@ -1784,10 +1726,9 @@ static int decode_user_notice(const void *data, size_t size,
txt->size = td.size;
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
-
}
struct gnutls_x509_policies_st {
@@ -1805,7 +1746,7 @@ struct gnutls_x509_policies_st {
*
* Since: 3.3.0
**/
-int gnutls_x509_policies_init(gnutls_x509_policies_t * policies)
+int gnutls_x509_policies_init(gnutls_x509_policies_t *policies)
{
*policies = gnutls_calloc(1, sizeof(struct gnutls_x509_policies_st));
if (*policies == NULL)
@@ -1849,8 +1790,7 @@ void gnutls_x509_policies_deinit(gnutls_x509_policies_t policies)
*
* Since: 3.3.0
**/
-int gnutls_x509_policies_get(gnutls_x509_policies_t policies,
- unsigned int seq,
+int gnutls_x509_policies_get(gnutls_x509_policies_t policies, unsigned int seq,
struct gnutls_x509_policy_st *policy)
{
if (seq >= policies->size)
@@ -1900,18 +1840,18 @@ int gnutls_x509_policies_set(gnutls_x509_policies_t policies,
for (i = 0; i < policy->qualifiers; i++) {
policies->policy[policies->size].qualifier[i].type =
- policy->qualifier[i].type;
+ policy->qualifier[i].type;
policies->policy[policies->size].qualifier[i].size =
- policy->qualifier[i].size;
+ policy->qualifier[i].size;
policies->policy[policies->size].qualifier[i].data =
- gnutls_malloc(policy->qualifier[i].size + 1);
+ gnutls_malloc(policy->qualifier[i].size + 1);
if (policies->policy[policies->size].qualifier[i].data == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
memcpy(policies->policy[policies->size].qualifier[i].data,
policy->qualifier[i].data, policy->qualifier[i].size);
- policies->policy[policies->size].qualifier[i].data[policy->
- qualifier[i].
- size] = 0;
+ policies->policy[policies->size]
+ .qualifier[i]
+ .data[policy->qualifier[i].size] = 0;
}
policies->policy[policies->size].qualifiers = policy->qualifiers;
@@ -1933,7 +1873,7 @@ int gnutls_x509_policies_set(gnutls_x509_policies_t policies,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_policies(const gnutls_datum_t *ext,
gnutls_x509_policies_t policies,
unsigned int flags)
{
@@ -1944,8 +1884,8 @@ int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
int ret, len;
unsigned i, j, current = 0;
- ret = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.certificatePolicies", &c2);
+ ret = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.certificatePolicies", &c2);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
@@ -1994,7 +1934,7 @@ int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
ret = asn1_read_value(c2, tmpstr, tmpoid, &len);
if (ret == ASN1_ELEMENT_NOT_FOUND)
- break; /* finished */
+ break; /* finished */
if (ret != ASN1_SUCCESS) {
gnutls_assert();
@@ -2007,21 +1947,20 @@ int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
"?%u.policyQualifiers.?%u.qualifier",
j + 1, i + 1);
- ret =
- _gnutls_x509_read_string(c2, tmpstr, &td,
- ASN1_ETYPE_IA5_STRING,
- 0);
+ ret = _gnutls_x509_read_string(
+ c2, tmpstr, &td, ASN1_ETYPE_IA5_STRING,
+ 0);
if (ret < 0) {
gnutls_assert();
goto full_cleanup;
}
policies->policy[j].qualifier[i].data =
- (void *)td.data;
+ (void *)td.data;
policies->policy[j].qualifier[i].size = td.size;
td.data = NULL;
policies->policy[j].qualifier[i].type =
- GNUTLS_X509_QUALIFIER_URI;
+ GNUTLS_X509_QUALIFIER_URI;
} else if (strcmp(tmpoid, "1.3.6.1.5.5.7.2.2") == 0) {
gnutls_datum_t txt = { NULL, 0 };
@@ -2035,8 +1974,8 @@ int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
goto full_cleanup;
}
- ret =
- decode_user_notice(td.data, td.size, &txt);
+ ret = decode_user_notice(td.data, td.size,
+ &txt);
gnutls_free(td.data);
if (ret < 0) {
@@ -2045,18 +1984,17 @@ int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
}
policies->policy[j].qualifier[i].data =
- (void *)txt.data;
+ (void *)txt.data;
policies->policy[j].qualifier[i].size =
- txt.size;
+ txt.size;
policies->policy[j].qualifier[i].type =
- GNUTLS_X509_QUALIFIER_NOTICE;
+ GNUTLS_X509_QUALIFIER_NOTICE;
} else
policies->policy[j].qualifier[i].type =
- GNUTLS_X509_QUALIFIER_UNKNOWN;
+ GNUTLS_X509_QUALIFIER_UNKNOWN;
policies->policy[j].qualifiers++;
}
-
}
policies->size = j;
@@ -2064,26 +2002,25 @@ int gnutls_x509_ext_import_policies(const gnutls_datum_t * ext,
ret = 0;
goto cleanup;
- full_cleanup:
+full_cleanup:
for (j = 0; j < current; j++)
gnutls_x509_policy_release(&policies->policy[j]);
- cleanup:
+cleanup:
_gnutls_free_datum(&tmpd);
asn1_delete_structure(&c2);
return ret;
-
}
-static int encode_user_notice(const gnutls_datum_t * txt,
- gnutls_datum_t * der_data)
+static int encode_user_notice(const gnutls_datum_t *txt,
+ gnutls_datum_t *der_data)
{
int result;
asn1_node c2 = NULL;
- if ((result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.UserNotice", &c2)) != ASN1_SUCCESS) {
+ if ((result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.UserNotice", &c2)) !=
+ ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto error;
@@ -2104,9 +2041,8 @@ static int encode_user_notice(const gnutls_datum_t * txt,
goto error;
}
- result =
- asn1_write_value(c2, "explicitText.utf8String", txt->data,
- txt->size);
+ result = asn1_write_value(c2, "explicitText.utf8String", txt->data,
+ txt->size);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2121,10 +2057,9 @@ static int encode_user_notice(const gnutls_datum_t * txt,
result = 0;
- error:
+error:
asn1_delete_structure(&c2);
return result;
-
}
/**
@@ -2142,7 +2077,7 @@ static int encode_user_notice(const gnutls_datum_t * txt,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
int result;
unsigned i, j;
@@ -2150,9 +2085,8 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
asn1_node c2 = NULL;
const char *oid;
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.certificatePolicies", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.certificatePolicies", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2170,9 +2104,8 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
/* 2. Add the OID.
*/
- result =
- asn1_write_value(c2, "?LAST.policyIdentifier",
- policies->policy[j].oid, 1);
+ result = asn1_write_value(c2, "?LAST.policyIdentifier",
+ policies->policy[j].oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2181,9 +2114,8 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
if (policies->policy[j].qualifiers == 0) {
/* remove the optional policyQualifiers if none are present. */
- result =
- asn1_write_value(c2, "?LAST.policyQualifiers", NULL,
- 0);
+ result = asn1_write_value(c2, "?LAST.policyQualifiers",
+ NULL, 0);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2191,12 +2123,11 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
}
}
- for (i = 0;
- i < MIN(policies->policy[j].qualifiers,
- GNUTLS_MAX_QUALIFIERS); i++) {
- result =
- asn1_write_value(c2, "?LAST.policyQualifiers",
- "NEW", 1);
+ for (i = 0; i < MIN(policies->policy[j].qualifiers,
+ GNUTLS_MAX_QUALIFIERS);
+ i++) {
+ result = asn1_write_value(c2, "?LAST.policyQualifiers",
+ "NEW", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2210,15 +2141,15 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
GNUTLS_X509_QUALIFIER_NOTICE)
oid = "1.3.6.1.5.5.7.2.2";
else {
- result =
- gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+ result = gnutls_assert_val(
+ GNUTLS_E_INVALID_REQUEST);
goto cleanup;
}
- result =
- asn1_write_value(c2,
- "?LAST.policyQualifiers.?LAST.policyQualifierId",
- oid, 1);
+ result = asn1_write_value(
+ c2,
+ "?LAST.policyQualifiers.?LAST.policyQualifierId",
+ oid, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2227,27 +2158,26 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
if (policies->policy[j].qualifier[i].type ==
GNUTLS_X509_QUALIFIER_URI) {
- tmpd.data =
- (void *)policies->policy[j].qualifier[i].
- data;
+ tmpd.data = (void *)policies->policy[j]
+ .qualifier[i]
+ .data;
tmpd.size =
- policies->policy[j].qualifier[i].size;
- result =
- _gnutls_x509_write_string(c2,
- "?LAST.policyQualifiers.?LAST.qualifier",
- &tmpd,
- ASN1_ETYPE_IA5_STRING);
+ policies->policy[j].qualifier[i].size;
+ result = _gnutls_x509_write_string(
+ c2,
+ "?LAST.policyQualifiers.?LAST.qualifier",
+ &tmpd, ASN1_ETYPE_IA5_STRING);
if (result < 0) {
gnutls_assert();
goto cleanup;
}
} else if (policies->policy[j].qualifier[i].type ==
GNUTLS_X509_QUALIFIER_NOTICE) {
- tmpd.data =
- (void *)policies->policy[j].qualifier[i].
- data;
+ tmpd.data = (void *)policies->policy[j]
+ .qualifier[i]
+ .data;
tmpd.size =
- policies->policy[j].qualifier[i].size;
+ policies->policy[j].qualifier[i].size;
if (tmpd.size > 200) {
gnutls_assert();
@@ -2261,10 +2191,10 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
goto cleanup;
}
- result =
- _gnutls_x509_write_value(c2,
- "?LAST.policyQualifiers.?LAST.qualifier",
- &der_data);
+ result = _gnutls_x509_write_value(
+ c2,
+ "?LAST.policyQualifiers.?LAST.qualifier",
+ &der_data);
_gnutls_free_datum(&der_data);
if (result < 0) {
gnutls_assert();
@@ -2280,7 +2210,7 @@ int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,
goto cleanup;
}
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
@@ -2307,7 +2237,7 @@ struct gnutls_x509_crl_dist_points_st {
*
* Since: 3.3.0
**/
-int gnutls_x509_crl_dist_points_init(gnutls_x509_crl_dist_points_t * cdp)
+int gnutls_x509_crl_dist_points_init(gnutls_x509_crl_dist_points_t *cdp)
{
*cdp = gnutls_calloc(1, sizeof(struct gnutls_x509_crl_dist_points_st));
if (*cdp == NULL)
@@ -2352,7 +2282,7 @@ void gnutls_x509_crl_dist_points_deinit(gnutls_x509_crl_dist_points_t cdp)
int gnutls_x509_crl_dist_points_get(gnutls_x509_crl_dist_points_t cdp,
unsigned int seq, unsigned int *type,
- gnutls_datum_t * san, unsigned int *reasons)
+ gnutls_datum_t *san, unsigned int *reasons)
{
if (seq >= cdp->size)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -2371,10 +2301,9 @@ int gnutls_x509_crl_dist_points_get(gnutls_x509_crl_dist_points_t cdp,
return 0;
}
-static
-int crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,
- gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * san, unsigned int reasons)
+static int crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,
+ gnutls_x509_subject_alt_name_t type,
+ const gnutls_datum_t *san, unsigned int reasons)
{
void *tmp;
@@ -2397,7 +2326,6 @@ int crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,
cdp->size++;
return 0;
-
}
/**
@@ -2416,7 +2344,7 @@ int crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,
**/
int gnutls_x509_crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,
gnutls_x509_subject_alt_name_t type,
- const gnutls_datum_t * san,
+ const gnutls_datum_t *san,
unsigned int reasons)
{
int ret;
@@ -2448,7 +2376,7 @@ int gnutls_x509_crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t *ext,
gnutls_x509_crl_dist_points_t cdp,
unsigned int flags)
{
@@ -2460,8 +2388,8 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
unsigned i, type, rflags, j;
gnutls_datum_t san = { NULL, 0 };
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.CRLDistributionPoints", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.CRLDistributionPoints", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -2494,24 +2422,23 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
break;
}
- if (result == ASN1_VALUE_NOT_FOUND
- || result == ASN1_ELEMENT_NOT_FOUND)
+ if (result == ASN1_VALUE_NOT_FOUND ||
+ result == ASN1_ELEMENT_NOT_FOUND)
rflags = 0;
else
rflags = reasons[0] | (reasons[1] << 8);
- snprintf(name, sizeof(name),
- "?%u.distributionPoint.fullName", (unsigned)i + 1);
+ snprintf(name, sizeof(name), "?%u.distributionPoint.fullName",
+ (unsigned)i + 1);
for (j = 0;; j++) {
san.data = NULL;
san.size = 0;
- ret =
- _gnutls_parse_general_name2(c2, name, j, &san,
- &type, 0);
- if (j > 0
- && ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ ret = _gnutls_parse_general_name2(c2, name, j, &san,
+ &type, 0);
+ if (j > 0 &&
+ ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
ret = 0;
break;
}
@@ -2521,7 +2448,7 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
ret = crl_dist_points_set(cdp, type, &san, rflags);
if (ret < 0)
break;
- san.data = NULL; /* it is now in cdp */
+ san.data = NULL; /* it is now in cdp */
}
i++;
@@ -2534,7 +2461,7 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
}
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -2554,16 +2481,15 @@ int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t * ext,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
asn1_node c2 = NULL;
int result;
uint8_t reasons[2];
unsigned i;
- result =
- asn1_create_element(_gnutls_get_pkix(),
- "PKIX1.CRLDistributionPoints", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.CRLDistributionPoints", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2571,9 +2497,8 @@ int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
}
for (i = 0; i < cdp->size; i++) {
-
- if (i == 0
- || cdp->points[i].reasons != cdp->points[i - 1].reasons) {
+ if (i == 0 ||
+ cdp->points[i].reasons != cdp->points[i - 1].reasons) {
result = asn1_write_value(c2, "", "NEW", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
@@ -2585,13 +2510,11 @@ int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
reasons[0] = cdp->points[i].reasons & 0xff;
reasons[1] = cdp->points[i].reasons >> 8;
- result =
- asn1_write_value(c2, "?LAST.reasons",
- reasons, 2);
+ result = asn1_write_value(c2, "?LAST.reasons",
+ reasons, 2);
} else {
- result =
- asn1_write_value(c2, "?LAST.reasons", NULL,
- 0);
+ result = asn1_write_value(c2, "?LAST.reasons",
+ NULL, 0);
}
if (result != ASN1_SUCCESS) {
@@ -2600,8 +2523,8 @@ int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
goto cleanup;
}
- result =
- asn1_write_value(c2, "?LAST.cRLIssuer", NULL, 0);
+ result = asn1_write_value(c2, "?LAST.cRLIssuer", NULL,
+ 0);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2609,9 +2532,8 @@ int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
}
/* When used as type CHOICE.
*/
- result =
- asn1_write_value(c2, "?LAST.distributionPoint",
- "fullName", 1);
+ result = asn1_write_value(c2, "?LAST.distributionPoint",
+ "fullName", 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
@@ -2619,12 +2541,10 @@ int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
}
}
- result =
- _gnutls_write_new_general_name(c2,
- "?LAST.distributionPoint.fullName",
- cdp->points[i].type,
- cdp->points[i].san.data,
- cdp->points[i].san.size);
+ result = _gnutls_write_new_general_name(
+ c2, "?LAST.distributionPoint.fullName",
+ cdp->points[i].type, cdp->points[i].san.data,
+ cdp->points[i].san.size);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -2639,11 +2559,10 @@ int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t cdp,
result = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return result;
-
}
struct gnutls_x509_aia_st {
@@ -2665,7 +2584,7 @@ struct gnutls_x509_aia_st {
*
* Since: 3.3.0
**/
-int gnutls_x509_aia_init(gnutls_x509_aia_t * aia)
+int gnutls_x509_aia_init(gnutls_x509_aia_t *aia)
{
*aia = gnutls_calloc(1, sizeof(struct gnutls_x509_aia_st));
if (*aia == NULL)
@@ -2716,8 +2635,8 @@ void gnutls_x509_aia_deinit(gnutls_x509_aia_t aia)
* Since: 3.3.0
**/
int gnutls_x509_aia_get(gnutls_x509_aia_t aia, unsigned int seq,
- gnutls_datum_t * oid,
- unsigned *san_type, gnutls_datum_t * san)
+ gnutls_datum_t *oid, unsigned *san_type,
+ gnutls_datum_t *san)
{
if (seq >= aia->size)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -2737,8 +2656,8 @@ int gnutls_x509_aia_get(gnutls_x509_aia_t aia, unsigned int seq,
return 0;
}
-int _gnutls_alt_name_process(gnutls_datum_t * out, unsigned type,
- const gnutls_datum_t * san, unsigned raw)
+int _gnutls_alt_name_process(gnutls_datum_t *out, unsigned type,
+ const gnutls_datum_t *san, unsigned raw)
{
int ret;
if (type == GNUTLS_SAN_DNSNAME && !raw) {
@@ -2754,8 +2673,8 @@ int _gnutls_alt_name_process(gnutls_datum_t * out, unsigned type,
} else if (type == GNUTLS_SAN_URI && !raw) {
if (!_gnutls_str_is_print((char *)san->data, san->size)) {
_gnutls_debug_log("non-ASCII URIs are not supported\n");
- return
- gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
+ return gnutls_assert_val(
+ GNUTLS_E_UNIMPLEMENTED_FEATURE);
} else {
ret = _gnutls_set_strdatum(out, san->data, san->size);
if (ret < 0)
@@ -2791,9 +2710,8 @@ int _gnutls_alt_name_process(gnutls_datum_t * out, unsigned type,
*
* Since: 3.3.0
**/
-int gnutls_x509_aia_set(gnutls_x509_aia_t aia,
- const char *oid,
- unsigned san_type, const gnutls_datum_t * san)
+int gnutls_x509_aia_set(gnutls_x509_aia_t aia, const char *oid,
+ unsigned san_type, const gnutls_datum_t *san)
{
int ret;
void *tmp;
@@ -2803,8 +2721,8 @@ int gnutls_x509_aia_set(gnutls_x509_aia_t aia,
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
- tmp =
- _gnutls_reallocarray(aia->aia, aia->size + 1, sizeof(aia->aia[0]));
+ tmp = _gnutls_reallocarray(aia->aia, aia->size + 1,
+ sizeof(aia->aia[0]));
if (tmp == NULL) {
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
}
@@ -2843,8 +2761,8 @@ static int parse_aia(asn1_node c2, gnutls_x509_aia_t aia)
len = sizeof(tmpoid);
result = asn1_read_value(c2, nptr, tmpoid, &len);
- if (result == ASN1_VALUE_NOT_FOUND
- || result == ASN1_ELEMENT_NOT_FOUND) {
+ if (result == ASN1_VALUE_NOT_FOUND ||
+ result == ASN1_ELEMENT_NOT_FOUND) {
ret = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
break;
}
@@ -2867,10 +2785,9 @@ static int parse_aia(asn1_node c2, gnutls_x509_aia_t aia)
snprintf(nptr, sizeof(nptr), "?%u.accessLocation", i);
- ret =
- _gnutls_parse_general_name2(c2, nptr, -1,
- &aia->aia[indx].san,
- &aia->aia[indx].san_type, 0);
+ ret = _gnutls_parse_general_name2(c2, nptr, -1,
+ &aia->aia[indx].san,
+ &aia->aia[indx].san_type, 0);
if (ret < 0)
break;
@@ -2909,8 +2826,8 @@ static int parse_aia(asn1_node c2, gnutls_x509_aia_t aia)
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_aia(const gnutls_datum_t * ext,
- gnutls_x509_aia_t aia, unsigned int flags)
+int gnutls_x509_ext_import_aia(const gnutls_datum_t *ext, gnutls_x509_aia_t aia,
+ unsigned int flags)
{
int ret;
asn1_node c2 = NULL;
@@ -2939,11 +2856,10 @@ int gnutls_x509_ext_import_aia(const gnutls_datum_t * ext,
gnutls_assert();
}
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
-
}
/**
@@ -2960,7 +2876,7 @@ int gnutls_x509_ext_import_aia(const gnutls_datum_t * ext,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t * ext)
+int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t *ext)
{
int ret, result;
asn1_node c2 = NULL;
@@ -2985,21 +2901,18 @@ int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t * ext)
/* 2. Add the OID.
*/
- result =
- asn1_write_value(c2, "?LAST.accessMethod",
- aia->aia[i].oid.data, 1);
+ result = asn1_write_value(c2, "?LAST.accessMethod",
+ aia->aia[i].oid.data, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto cleanup;
}
- ret =
- _gnutls_write_general_name(c2,
- "?LAST.accessLocation",
- aia->aia[i].san_type,
- aia->aia[i].san.data,
- aia->aia[i].san.size);
+ ret = _gnutls_write_general_name(c2, "?LAST.accessLocation",
+ aia->aia[i].san_type,
+ aia->aia[i].san.data,
+ aia->aia[i].san.size);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -3012,7 +2925,7 @@ int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t * ext)
goto cleanup;
}
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -3033,7 +2946,7 @@ struct gnutls_x509_key_purposes_st {
*
* Since: 3.3.0
**/
-int gnutls_x509_key_purpose_init(gnutls_x509_key_purposes_t * p)
+int gnutls_x509_key_purpose_init(gnutls_x509_key_purposes_t *p)
{
*p = gnutls_calloc(1, sizeof(struct gnutls_x509_key_purposes_st));
if (*p == NULL) {
@@ -3109,7 +3022,7 @@ int gnutls_x509_key_purpose_set(gnutls_x509_key_purposes_t p, const char *oid)
* Since: 3.3.0
**/
int gnutls_x509_key_purpose_get(gnutls_x509_key_purposes_t p, unsigned idx,
- gnutls_datum_t * oid)
+ gnutls_datum_t *oid)
{
if (idx >= p->size)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -3134,7 +3047,7 @@ int gnutls_x509_key_purpose_get(gnutls_x509_key_purposes_t p, unsigned idx,
*
* Since: 3.3.0
**/
-int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t *ext,
gnutls_x509_key_purposes_t p,
unsigned int flags)
{
@@ -3144,8 +3057,8 @@ int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t * ext,
gnutls_datum_t oid = { NULL, 0 };
unsigned i;
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.ExtKeyUsageSyntax", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.ExtKeyUsageSyntax", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -3186,12 +3099,11 @@ int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t * ext,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_free(oid.data);
asn1_delete_structure(&c2);
return ret;
-
}
/**
@@ -3208,14 +3120,14 @@ int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t * ext,
* Since: 3.3.0
**/
int gnutls_x509_ext_export_key_purposes(gnutls_x509_key_purposes_t p,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
int result, ret;
asn1_node c2 = NULL;
unsigned i;
- result = asn1_create_element
- (_gnutls_get_pkix(), "PKIX1.ExtKeyUsageSyntax", &c2);
+ result = asn1_create_element(_gnutls_get_pkix(),
+ "PKIX1.ExtKeyUsageSyntax", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -3251,7 +3163,7 @@ int gnutls_x509_ext_export_key_purposes(gnutls_x509_key_purposes_t p,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -3264,14 +3176,13 @@ int gnutls_x509_ext_export_key_purposes(gnutls_x509_key_purposes_t p,
*
* Since: 3.3.8
**/
-void gnutls_x509_ext_deinit(gnutls_x509_ext_st * ext)
+void gnutls_x509_ext_deinit(gnutls_x509_ext_st *ext)
{
gnutls_free(ext->oid);
gnutls_free(ext->data.data);
}
-int _gnutls_x509_decode_ext(const gnutls_datum_t * der,
- gnutls_x509_ext_st * out)
+int _gnutls_x509_decode_ext(const gnutls_datum_t *der, gnutls_x509_ext_st *out)
{
asn1_node c2 = NULL;
char str_critical[10];
@@ -3282,7 +3193,7 @@ int _gnutls_x509_decode_ext(const gnutls_datum_t * der,
/* decode der */
result =
- asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extension", &c2);
+ asn1_create_element(_gnutls_get_pkix(), "PKIX1.Extension", &c2);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -3317,8 +3228,8 @@ int _gnutls_x509_decode_ext(const gnutls_datum_t * der,
out->critical = 0;
ret = _gnutls_x509_read_value(c2, "extnValue", &out->data);
- if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- || ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
+ if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE ||
+ ret == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) {
out->data.data = NULL;
out->data.size = 0;
} else if (ret < 0) {
@@ -3334,12 +3245,11 @@ int _gnutls_x509_decode_ext(const gnutls_datum_t * der,
ret = 0;
goto cleanup;
- fail:
+fail:
memset(out, 0, sizeof(*out));
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
-
}
/* flags can be zero or GNUTLS_EXT_FLAG_APPEND
@@ -3361,8 +3271,8 @@ static int parse_tlsfeatures(asn1_node c2, gnutls_x509_tlsfeatures_t f,
result = _gnutls_x509_read_uint(c2, nptr, &feature);
- if (result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND
- || result == GNUTLS_E_ASN1_VALUE_NOT_FOUND) {
+ if (result == GNUTLS_E_ASN1_ELEMENT_NOT_FOUND ||
+ result == GNUTLS_E_ASN1_VALUE_NOT_FOUND) {
break;
} else if (result != GNUTLS_E_SUCCESS) {
gnutls_assert();
@@ -3417,7 +3327,7 @@ static int parse_tlsfeatures(asn1_node c2, gnutls_x509_tlsfeatures_t f,
*
* Since: 3.5.1
**/
-int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t * ext,
+int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t *ext,
gnutls_x509_tlsfeatures_t f,
unsigned int flags)
{
@@ -3447,7 +3357,7 @@ int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t * ext,
gnutls_assert();
}
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
@@ -3467,7 +3377,7 @@ int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t * ext,
* Since: 3.5.1
**/
int gnutls_x509_ext_export_tlsfeatures(gnutls_x509_tlsfeatures_t f,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
if (f == NULL) {
gnutls_assert();
@@ -3485,7 +3395,6 @@ int gnutls_x509_ext_export_tlsfeatures(gnutls_x509_tlsfeatures_t f,
}
for (i = 0; i < f->size; ++i) {
-
ret = asn1_write_value(c2, "", "NEW", 1);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
@@ -3508,7 +3417,7 @@ int gnutls_x509_ext_export_tlsfeatures(gnutls_x509_tlsfeatures_t f,
ret = 0;
- cleanup:
+cleanup:
asn1_delete_structure(&c2);
return ret;
}
@@ -3575,7 +3484,7 @@ static void _gnutls_free_scts(struct gnutls_x509_ct_scts_st *scts)
*
* Returns: %GNUTLS_E_SUCCESS (0) on success, otherwise a negative error value.
**/
-int gnutls_x509_ext_ct_scts_init(gnutls_x509_ct_scts_t * scts)
+int gnutls_x509_ext_ct_scts_init(gnutls_x509_ct_scts_t *scts)
{
*scts = gnutls_calloc(1, sizeof(struct gnutls_x509_ct_scts_st));
if (*scts == NULL)
@@ -3601,57 +3510,31 @@ struct sct_sign_algorithm_st {
};
static const struct sct_sign_algorithm_st algos[] = {
+ { .codepoint = { 0x01, 0x01 }, .sign_algo = GNUTLS_SIGN_RSA_MD5 },
+ { .codepoint = { 0x02, 0x01 }, .sign_algo = GNUTLS_SIGN_RSA_SHA1 },
+ { .codepoint = { 0x03, 0x01 }, .sign_algo = GNUTLS_SIGN_RSA_SHA224 },
+ { .codepoint = { 0x04, 0x01 }, .sign_algo = GNUTLS_SIGN_RSA_SHA256 },
+ { .codepoint = { 0x05, 0x01 }, .sign_algo = GNUTLS_SIGN_RSA_SHA384 },
{
- .codepoint = {0x01, 0x01},
- .sign_algo = GNUTLS_SIGN_RSA_MD5},
- {
- .codepoint = {0x02, 0x01},
- .sign_algo = GNUTLS_SIGN_RSA_SHA1},
- {
- .codepoint = {0x03, 0x01},
- .sign_algo = GNUTLS_SIGN_RSA_SHA224},
- {
- .codepoint = {0x04, 0x01},
- .sign_algo = GNUTLS_SIGN_RSA_SHA256},
- {
- .codepoint = {0x05, 0x01},
- .sign_algo = GNUTLS_SIGN_RSA_SHA384},
- {
- .codepoint = {0x06, 0x01},
- .sign_algo = GNUTLS_SIGN_RSA_SHA512,
- },
- {
- .codepoint = {0x02, 0x02},
- .sign_algo = GNUTLS_SIGN_DSA_SHA1},
- {
- .codepoint = {0x03, 0x02},
- .sign_algo = GNUTLS_SIGN_DSA_SHA224},
+ .codepoint = { 0x06, 0x01 },
+ .sign_algo = GNUTLS_SIGN_RSA_SHA512,
+ },
+ { .codepoint = { 0x02, 0x02 }, .sign_algo = GNUTLS_SIGN_DSA_SHA1 },
+ { .codepoint = { 0x03, 0x02 }, .sign_algo = GNUTLS_SIGN_DSA_SHA224 },
+ { .codepoint = { 0x04, 0x02 }, .sign_algo = GNUTLS_SIGN_DSA_SHA256 },
+ { .codepoint = { 0x05, 0x02 }, .sign_algo = GNUTLS_SIGN_DSA_SHA384 },
{
- .codepoint = {0x04, 0x02},
- .sign_algo = GNUTLS_SIGN_DSA_SHA256},
+ .codepoint = { 0x06, 0x02 },
+ .sign_algo = GNUTLS_SIGN_DSA_SHA512,
+ },
+ { .codepoint = { 0x02, 0x03 }, .sign_algo = GNUTLS_SIGN_ECDSA_SHA1 },
+ { .codepoint = { 0x03, 0x03 }, .sign_algo = GNUTLS_SIGN_ECDSA_SHA224 },
+ { .codepoint = { 0x04, 0x03 }, .sign_algo = GNUTLS_SIGN_ECDSA_SHA256 },
+ { .codepoint = { 0x05, 0x03 }, .sign_algo = GNUTLS_SIGN_ECDSA_SHA384 },
{
- .codepoint = {0x05, 0x02},
- .sign_algo = GNUTLS_SIGN_DSA_SHA384},
- {
- .codepoint = {0x06, 0x02},
- .sign_algo = GNUTLS_SIGN_DSA_SHA512,
- },
- {
- .codepoint = {0x02, 0x03},
- .sign_algo = GNUTLS_SIGN_ECDSA_SHA1},
- {
- .codepoint = {0x03, 0x03},
- .sign_algo = GNUTLS_SIGN_ECDSA_SHA224},
- {
- .codepoint = {0x04, 0x03},
- .sign_algo = GNUTLS_SIGN_ECDSA_SHA256},
- {
- .codepoint = {0x05, 0x03},
- .sign_algo = GNUTLS_SIGN_ECDSA_SHA384},
- {
- .codepoint = {0x06, 0x03},
- .sign_algo = GNUTLS_SIGN_ECDSA_SHA512,
- }
+ .codepoint = { 0x06, 0x03 },
+ .sign_algo = GNUTLS_SIGN_ECDSA_SHA512,
+ }
};
static gnutls_sign_algorithm_t get_sigalg(uint8_t hash_algo, uint8_t sig_algo)
@@ -3664,8 +3547,8 @@ static gnutls_sign_algorithm_t get_sigalg(uint8_t hash_algo, uint8_t sig_algo)
for (i = 0; i < num_algos; i++) {
algo = &algos[i];
- if (algo->codepoint[0] == hash_algo
- && algo->codepoint[1] == sig_algo)
+ if (algo->codepoint[0] == hash_algo &&
+ algo->codepoint[1] == sig_algo)
break;
}
@@ -3694,7 +3577,7 @@ static int write_sigalg(gnutls_sign_algorithm_t sigalg, uint8_t out[])
return 0;
}
-static int _gnutls_parse_ct_sct(uint8_t * ptr, uint16_t length,
+static int _gnutls_parse_ct_sct(uint8_t *ptr, uint16_t length,
struct ct_sct_st *sct)
{
uint16_t sig_length;
@@ -3718,7 +3601,7 @@ static int _gnutls_parse_ct_sct(uint8_t * ptr, uint16_t length,
/* Timestamp */
DECR_LENGTH_RET(length, sizeof(uint64_t),
GNUTLS_E_PREMATURE_TERMINATION);
- sct->timestamp = (uint64_t) _gnutls_read_uint64(ptr);
+ sct->timestamp = (uint64_t)_gnutls_read_uint64(ptr);
ptr += sizeof(uint64_t);
/*
@@ -3743,8 +3626,8 @@ static int _gnutls_parse_ct_sct(uint8_t * ptr, uint16_t length,
sct->sigalg = get_sigalg(hash_algo, sig_algo);
if (sct->sigalg == GNUTLS_SIGN_UNKNOWN)
- return
- gnutls_assert_val(GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
+ return gnutls_assert_val(
+ GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM);
/* Signature, length and content */
DECR_LENGTH_RET(length, sizeof(uint16_t),
@@ -3766,13 +3649,13 @@ static int _gnutls_parse_ct_sct(uint8_t * ptr, uint16_t length,
return 0;
}
-static int _gnutls_ct_sct_add(struct ct_sct_st *sct,
- struct ct_sct_st **scts, size_t *size)
+static int _gnutls_ct_sct_add(struct ct_sct_st *sct, struct ct_sct_st **scts,
+ size_t *size)
{
struct ct_sct_st *new_scts;
- new_scts =
- _gnutls_reallocarray(*scts, *size + 1, sizeof(struct ct_sct_st));
+ new_scts = _gnutls_reallocarray(*scts, *size + 1,
+ sizeof(struct ct_sct_st));
if (new_scts == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
@@ -3783,7 +3666,7 @@ static int _gnutls_ct_sct_add(struct ct_sct_st *sct,
return 0;
}
-static int _gnutls_export_ct_v1_sct(gnutls_buffer_st * buf,
+static int _gnutls_export_ct_v1_sct(gnutls_buffer_st *buf,
const struct ct_sct_st *sct)
{
int ret;
@@ -3798,27 +3681,23 @@ static int _gnutls_export_ct_v1_sct(gnutls_buffer_st * buf,
return gnutls_assert_val(ret);
/* Version */
- if ((ret = _gnutls_buffer_append_data(buf,
- &sct->version,
+ if ((ret = _gnutls_buffer_append_data(buf, &sct->version,
sizeof(uint8_t))) < 0)
return gnutls_assert_val(ret);
/* Log ID - has a fixed 32-byte size in version 1 */
- if ((ret = _gnutls_buffer_append_data(buf,
- sct->logid,
+ if ((ret = _gnutls_buffer_append_data(buf, sct->logid,
SCT_V1_LOGID_SIZE)) < 0)
return gnutls_assert_val(ret);
/* Timestamp */
_gnutls_write_uint64(sct->timestamp, tstamp_out);
- if ((ret = _gnutls_buffer_append_data(buf,
- tstamp_out,
+ if ((ret = _gnutls_buffer_append_data(buf, tstamp_out,
sizeof(tstamp_out))) < 0)
return gnutls_assert_val(ret);
/* Extensions */
- if ((ret = _gnutls_buffer_append_data(buf,
- extensions,
+ if ((ret = _gnutls_buffer_append_data(buf, extensions,
sizeof(extensions))) < 0)
return gnutls_assert_val(ret);
@@ -3830,9 +3709,8 @@ static int _gnutls_export_ct_v1_sct(gnutls_buffer_st * buf,
return gnutls_assert_val(ret);
/* Signature */
- if ((ret = _gnutls_buffer_append_data_prefix(buf, 16,
- sct->signature.data,
- sct->signature.size)) < 0)
+ if ((ret = _gnutls_buffer_append_data_prefix(
+ buf, 16, sct->signature.data, sct->signature.size)) < 0)
return gnutls_assert_val(ret);
/* Fill the length */
@@ -3857,7 +3735,7 @@ static int _gnutls_export_ct_v1_sct(gnutls_buffer_st * buf,
*
* Returns: %GNUTLS_E_SUCCESS (0) on success or a negative error value.
**/
-int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t * ext,
+int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t *ext,
gnutls_x509_ct_scts_t scts,
unsigned int flags)
{
@@ -3870,9 +3748,8 @@ int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t * ext,
if (flags != 0)
return gnutls_assert_val(GNUTLS_E_UNIMPLEMENTED_FEATURE);
- retval =
- _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING,
- ext->data, ext->size, &scts_content, 0);
+ retval = _gnutls_x509_decode_string(ASN1_ETYPE_OCTET_STRING, ext->data,
+ ext->size, &scts_content, 0);
if (retval < 0)
return gnutls_assert_val(retval);
@@ -3935,7 +3812,7 @@ int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t * ext,
* Returns: %GNUTLS_E_SUCCESS (0) on success or a negative error value.
**/
int gnutls_x509_ext_ct_export_scts(const gnutls_x509_ct_scts_t scts,
- gnutls_datum_t * ext)
+ gnutls_datum_t *ext)
{
int ret;
gnutls_buffer_st buf;
@@ -3947,7 +3824,8 @@ int gnutls_x509_ext_ct_export_scts(const gnutls_x509_ct_scts_t scts,
_gnutls_buffer_append_prefix(&buf, 16, 0);
for (size_t i = 0; i < scts->size; i++) {
- if ((ret = _gnutls_export_ct_v1_sct(&buf, &scts->scts[i])) < 0) {
+ if ((ret = _gnutls_export_ct_v1_sct(&buf, &scts->scts[i])) <
+ 0) {
gnutls_assert();
goto cleanup;
}
@@ -3957,8 +3835,8 @@ int gnutls_x509_ext_ct_export_scts(const gnutls_x509_ct_scts_t scts,
_gnutls_write_uint16(buf.length - 2, buf.data);
/* DER-encode the whole thing as an opaque OCTET STRING, as the spec mandates */
- ret = _gnutls_x509_encode_string(ASN1_ETYPE_OCTET_STRING,
- buf.data, buf.length, ext);
+ ret = _gnutls_x509_encode_string(ASN1_ETYPE_OCTET_STRING, buf.data,
+ buf.length, ext);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -3966,7 +3844,7 @@ int gnutls_x509_ext_ct_export_scts(const gnutls_x509_ct_scts_t scts,
ret = GNUTLS_E_SUCCESS;
- cleanup:
+cleanup:
_gnutls_buffer_clear(&buf);
return ret;
}
@@ -4027,10 +3905,9 @@ int gnutls_x509_ct_sct_get_version(gnutls_x509_ct_scts_t scts, unsigned idx,
* or a negative error value.
**/
int gnutls_x509_ct_sct_get(const gnutls_x509_ct_scts_t scts, unsigned idx,
- time_t * timestamp,
- gnutls_datum_t * logid,
- gnutls_sign_algorithm_t * sigalg,
- gnutls_datum_t * signature)
+ time_t *timestamp, gnutls_datum_t *logid,
+ gnutls_sign_algorithm_t *sigalg,
+ gnutls_datum_t *signature)
{
int retval = 0;
struct ct_sct_st *sct;
@@ -4043,16 +3920,15 @@ int gnutls_x509_ct_sct_get(const gnutls_x509_ct_scts_t scts, unsigned idx,
return GNUTLS_E_INVALID_REQUEST;
if (signature) {
- retval = _gnutls_set_datum(signature,
- sct->signature.data,
+ retval = _gnutls_set_datum(signature, sct->signature.data,
sct->signature.size);
if (retval < 0)
return retval;
}
if (logid) {
- retval = _gnutls_set_datum(logid,
- sct->logid, SCT_V1_LOGID_SIZE);
+ retval =
+ _gnutls_set_datum(logid, sct->logid, SCT_V1_LOGID_SIZE);
if (retval < 0) {
_gnutls_free_datum(signature);
return retval;
diff --git a/lib/x509/x509_ext_int.h b/lib/x509/x509_ext_int.h
index 23df542d7e..558d619565 100644
--- a/lib/x509/x509_ext_int.h
+++ b/lib/x509/x509_ext_int.h
@@ -20,16 +20,16 @@
*/
#ifndef GNUTLS_LIB_X509_X509_EXT_INT_H
-# define GNUTLS_LIB_X509_X509_EXT_INT_H
+#define GNUTLS_LIB_X509_X509_EXT_INT_H
-# include "gnutls_int.h"
+#include "gnutls_int.h"
struct name_st {
unsigned int type;
gnutls_datum_t san;
gnutls_datum_t othername_oid;
};
-int _gnutls_alt_name_process(gnutls_datum_t * out, unsigned type,
- const gnutls_datum_t * san, unsigned raw);
+int _gnutls_alt_name_process(gnutls_datum_t *out, unsigned type,
+ const gnutls_datum_t *san, unsigned raw);
-#endif /* GNUTLS_LIB_X509_X509_EXT_INT_H */
+#endif /* GNUTLS_LIB_X509_X509_EXT_INT_H */
diff --git a/lib/x509/x509_int.h b/lib/x509/x509_int.h
index cf2044d58d..204531f768 100644
--- a/lib/x509/x509_int.h
+++ b/lib/x509/x509_int.h
@@ -22,42 +22,42 @@
*/
#ifndef GNUTLS_LIB_X509_X509_INT_H
-# define GNUTLS_LIB_X509_X509_INT_H
-
-# include <gnutls/x509.h>
-# include <gnutls/x509-ext.h>
-# include <gnutls/abstract.h>
-
-# include <libtasn1.h>
-
-# define MAX_CRQ_EXTENSIONS_SIZE 8*1024
-# define MAX_OID_SIZE 128
-# define MAX_KEY_ID_SIZE 128
-# define MAX_SALT_SIZE 256
-# define MAX_NAME_SIZE (3*ASN1_MAX_NAME_SIZE)
-
-# define HASH_OID_SHA1 "1.3.14.3.2.26"
-# define HASH_OID_MD5 "1.2.840.113549.2.5"
-# define HASH_OID_MD2 "1.2.840.113549.2.2"
-# define HASH_OID_RMD160 "1.3.36.3.2.1"
-# define HASH_OID_SHA224 "2.16.840.1.101.3.4.2.4"
-# define HASH_OID_SHA256 "2.16.840.1.101.3.4.2.1"
-# define HASH_OID_SHA384 "2.16.840.1.101.3.4.2.2"
-# define HASH_OID_SHA512 "2.16.840.1.101.3.4.2.3"
-# define HASH_OID_SHA3_224 "2.16.840.1.101.3.4.2.7"
-# define HASH_OID_SHA3_256 "2.16.840.1.101.3.4.2.8"
-# define HASH_OID_SHA3_384 "2.16.840.1.101.3.4.2.9"
-# define HASH_OID_SHA3_512 "2.16.840.1.101.3.4.2.10"
-# define HASH_OID_SHAKE_128 "2.16.840.1.101.3.4.2.11"
-# define HASH_OID_SHAKE_256 "2.16.840.1.101.3.4.2.12"
-# define HASH_OID_GOST_R_3411_94 "1.2.643.2.2.9"
-# define HASH_OID_STREEBOG_256 "1.2.643.7.1.1.2.2"
-# define HASH_OID_STREEBOG_512 "1.2.643.7.1.1.2.3"
-
-# define HASH_OID_GOST_R_3411_94_CRYPTOPRO_PARAMS "1.2.643.2.2.30.1"
+#define GNUTLS_LIB_X509_X509_INT_H
+
+#include <gnutls/x509.h>
+#include <gnutls/x509-ext.h>
+#include <gnutls/abstract.h>
+
+#include <libtasn1.h>
+
+#define MAX_CRQ_EXTENSIONS_SIZE 8 * 1024
+#define MAX_OID_SIZE 128
+#define MAX_KEY_ID_SIZE 128
+#define MAX_SALT_SIZE 256
+#define MAX_NAME_SIZE (3 * ASN1_MAX_NAME_SIZE)
+
+#define HASH_OID_SHA1 "1.3.14.3.2.26"
+#define HASH_OID_MD5 "1.2.840.113549.2.5"
+#define HASH_OID_MD2 "1.2.840.113549.2.2"
+#define HASH_OID_RMD160 "1.3.36.3.2.1"
+#define HASH_OID_SHA224 "2.16.840.1.101.3.4.2.4"
+#define HASH_OID_SHA256 "2.16.840.1.101.3.4.2.1"
+#define HASH_OID_SHA384 "2.16.840.1.101.3.4.2.2"
+#define HASH_OID_SHA512 "2.16.840.1.101.3.4.2.3"
+#define HASH_OID_SHA3_224 "2.16.840.1.101.3.4.2.7"
+#define HASH_OID_SHA3_256 "2.16.840.1.101.3.4.2.8"
+#define HASH_OID_SHA3_384 "2.16.840.1.101.3.4.2.9"
+#define HASH_OID_SHA3_512 "2.16.840.1.101.3.4.2.10"
+#define HASH_OID_SHAKE_128 "2.16.840.1.101.3.4.2.11"
+#define HASH_OID_SHAKE_256 "2.16.840.1.101.3.4.2.12"
+#define HASH_OID_GOST_R_3411_94 "1.2.643.2.2.9"
+#define HASH_OID_STREEBOG_256 "1.2.643.7.1.1.2.2"
+#define HASH_OID_STREEBOG_512 "1.2.643.7.1.1.2.3"
+
+#define HASH_OID_GOST_R_3411_94_CRYPTOPRO_PARAMS "1.2.643.2.2.30.1"
/* from rfc8479 */
-# define OID_ATTR_PROV_SEED "1.3.6.1.4.1.2312.18.8.1"
+#define OID_ATTR_PROV_SEED "1.3.6.1.4.1.2312.18.8.1"
struct gnutls_x509_crl_iter {
/* This is used to optimize reads by gnutls_x509_crl_iter_crt_serial() */
@@ -85,8 +85,8 @@ typedef struct gnutls_x509_dn_st {
typedef struct gnutls_x509_crt_int {
asn1_node cert;
int use_extensions;
- unsigned expanded; /* a certificate has been expanded */
- unsigned modified; /* the cached values below may no longer be valid */
+ unsigned expanded; /* a certificate has been expanded */
+ unsigned modified; /* the cached values below may no longer be valid */
unsigned flags;
struct pin_info_st pin;
@@ -109,7 +109,7 @@ typedef struct gnutls_x509_crt_int {
gnutls_x509_dn_st idn;
} gnutls_x509_crt_int;
-# define MODIFIED(crt) crt->modified=1
+#define MODIFIED(crt) crt->modified = 1
typedef struct gnutls_x509_crq_int {
asn1_node crq;
@@ -154,272 +154,253 @@ typedef struct gnutls_x509_privkey_int {
int _gnutls_x509_crt_cpy(gnutls_x509_crt_t dest, gnutls_x509_crt_t src);
-int _gnutls_x509_compare_raw_dn(const gnutls_datum_t * dn1,
- const gnutls_datum_t * dn2);
+int _gnutls_x509_compare_raw_dn(const gnutls_datum_t *dn1,
+ const gnutls_datum_t *dn2);
int _gnutls_x509_crl_cpy(gnutls_x509_crl_t dest, gnutls_x509_crl_t src);
int _gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl,
- gnutls_datum_t * dn);
+ gnutls_datum_t *dn);
/* sign.c */
int _gnutls_x509_get_tbs(asn1_node cert, const char *tbs_name,
- gnutls_datum_t * tbs);
+ gnutls_datum_t *tbs);
int _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,
- gnutls_digest_algorithm_t,
- unsigned int flags,
+ gnutls_digest_algorithm_t, unsigned int flags,
gnutls_x509_crt_t issuer,
gnutls_privkey_t issuer_key);
int _gnutls_x509_crt_get_spki_params(gnutls_x509_crt_t issuer,
- const gnutls_x509_spki_st * key_params,
- gnutls_x509_spki_st * params);
+ const gnutls_x509_spki_st *key_params,
+ gnutls_x509_spki_st *params);
-# define map_errs_to_zero(x) ((x)<0?0:(x))
+#define map_errs_to_zero(x) ((x) < 0 ? 0 : (x))
/* dn.c */
-# define OID_X520_COUNTRY_NAME "2.5.4.6"
-# define OID_X520_ORGANIZATION_NAME "2.5.4.10"
-# define OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11"
-# define OID_X520_COMMON_NAME "2.5.4.3"
-# define OID_X520_LOCALITY_NAME "2.5.4.7"
-# define OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8"
-# define OID_LDAP_DC "0.9.2342.19200300.100.1.25"
-# define OID_LDAP_UID "0.9.2342.19200300.100.1.1"
-# define OID_PKCS9_EMAIL "1.2.840.113549.1.9.1"
-
-int _gnutls_x509_parse_dn(asn1_node asn1_struct,
- const char *asn1_rdn_name, char *buf,
- size_t *sizeof_buf, unsigned flags);
-
-int
-_gnutls_x509_get_dn(asn1_node asn1_struct,
- const char *asn1_rdn_name, gnutls_datum_t * dn,
- unsigned flags);
-
-int
-_gnutls_x509_parse_dn_oid(asn1_node asn1_struct,
- const char *asn1_rdn_name,
- const char *given_oid, int indx,
- unsigned int raw_flag, gnutls_datum_t * out);
-
-int _gnutls_x509_set_dn_oid(asn1_node asn1_struct,
- const char *asn1_rdn_name, const char *oid,
- int raw_flag, const char *name, int sizeof_name);
-
-int _gnutls_x509_get_dn_oid(asn1_node asn1_struct,
- const char *asn1_rdn_name,
+#define OID_X520_COUNTRY_NAME "2.5.4.6"
+#define OID_X520_ORGANIZATION_NAME "2.5.4.10"
+#define OID_X520_ORGANIZATIONAL_UNIT_NAME "2.5.4.11"
+#define OID_X520_COMMON_NAME "2.5.4.3"
+#define OID_X520_LOCALITY_NAME "2.5.4.7"
+#define OID_X520_STATE_OR_PROVINCE_NAME "2.5.4.8"
+#define OID_LDAP_DC "0.9.2342.19200300.100.1.25"
+#define OID_LDAP_UID "0.9.2342.19200300.100.1.1"
+#define OID_PKCS9_EMAIL "1.2.840.113549.1.9.1"
+
+int _gnutls_x509_parse_dn(asn1_node asn1_struct, const char *asn1_rdn_name,
+ char *buf, size_t *sizeof_buf, unsigned flags);
+
+int _gnutls_x509_get_dn(asn1_node asn1_struct, const char *asn1_rdn_name,
+ gnutls_datum_t *dn, unsigned flags);
+
+int _gnutls_x509_parse_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,
+ const char *given_oid, int indx,
+ unsigned int raw_flag, gnutls_datum_t *out);
+
+int _gnutls_x509_set_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,
+ const char *oid, int raw_flag, const char *name,
+ int sizeof_name);
+
+int _gnutls_x509_get_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,
int indx, void *_oid, size_t *sizeof_oid);
int _gnutls_encode_othername_data(unsigned flags, const void *data,
- unsigned data_size, gnutls_datum_t * output);
+ unsigned data_size, gnutls_datum_t *output);
-int _gnutls_parse_general_name(asn1_node src, const char *src_name,
- int seq, void *name, size_t *name_size,
+int _gnutls_parse_general_name(asn1_node src, const char *src_name, int seq,
+ void *name, size_t *name_size,
unsigned int *ret_type, int othername_oid);
-int
-_gnutls_parse_general_name2(asn1_node src, const char *src_name,
- int seq, gnutls_datum_t * dname,
- unsigned int *ret_type, int othername_oid);
+int _gnutls_parse_general_name2(asn1_node src, const char *src_name, int seq,
+ gnutls_datum_t *dname, unsigned int *ret_type,
+ int othername_oid);
-int
-_gnutls_write_new_general_name(asn1_node ext, const char *ext_name,
- gnutls_x509_subject_alt_name_t type,
- const void *data, unsigned int data_size);
+int _gnutls_write_new_general_name(asn1_node ext, const char *ext_name,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data, unsigned int data_size);
-int
-_gnutls_write_new_othername(asn1_node ext, const char *ext_name,
- const char *oid,
- const void *data, unsigned int data_size);
+int _gnutls_write_new_othername(asn1_node ext, const char *ext_name,
+ const char *oid, const void *data,
+ unsigned int data_size);
/* dsa.c */
/* verify.c */
int gnutls_x509_crt_is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer);
-int
-_gnutls_x509_verify_algorithm(gnutls_digest_algorithm_t * hash,
- const gnutls_datum_t * signature,
- gnutls_pk_algorithm_t pk,
- gnutls_pk_params_st * issuer_params);
+int _gnutls_x509_verify_algorithm(gnutls_digest_algorithm_t *hash,
+ const gnutls_datum_t *signature,
+ gnutls_pk_algorithm_t pk,
+ gnutls_pk_params_st *issuer_params);
/* privkey.h */
void _gnutls_x509_privkey_reinit(gnutls_x509_privkey_t key);
-asn1_node _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t *
- raw_key,
+asn1_node _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t *raw_key,
gnutls_x509_privkey_t pkey);
-int _gnutls_privkey_decode_ecc_key(asn1_node * pkey_asn, const gnutls_datum_t *
- raw_key,
+int _gnutls_privkey_decode_ecc_key(asn1_node *pkey_asn,
+ const gnutls_datum_t *raw_key,
gnutls_x509_privkey_t pkey,
gnutls_ecc_curve_t curve);
-int _gnutls_privkey_decode_eddsa_key(asn1_node * pkey_asn,
- const gnutls_datum_t * raw_key,
+int _gnutls_privkey_decode_eddsa_key(asn1_node *pkey_asn,
+ const gnutls_datum_t *raw_key,
gnutls_x509_privkey_t pkey,
gnutls_ecc_curve_t curve);
-int
-_gnutls_x509_read_ecc_params(uint8_t * der, int dersize, unsigned int *curve);
+int _gnutls_x509_read_ecc_params(uint8_t *der, int dersize,
+ unsigned int *curve);
-int
-_gnutls_x509_read_gost_params(uint8_t * der, int dersize,
- gnutls_pk_params_st * params,
- gnutls_pk_algorithm_t algo);
+int _gnutls_x509_read_gost_params(uint8_t *der, int dersize,
+ gnutls_pk_params_st *params,
+ gnutls_pk_algorithm_t algo);
-int _gnutls_asn1_encode_privkey(asn1_node * c2, gnutls_pk_params_st * params);
+int _gnutls_asn1_encode_privkey(asn1_node *c2, gnutls_pk_params_st *params);
void _gnutls_x509_privkey_get_spki_params(gnutls_x509_privkey_t key,
- gnutls_x509_spki_st * params);
+ gnutls_x509_spki_st *params);
-int _gnutls_x509_read_rsa_pss_params(uint8_t * der, int dersize,
- gnutls_x509_spki_st * params);
-int _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st * params,
- gnutls_datum_t * der);
+int _gnutls_x509_read_rsa_pss_params(uint8_t *der, int dersize,
+ gnutls_x509_spki_st *params);
+int _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st *params,
+ gnutls_datum_t *der);
/* extensions.c */
-int _gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl,
- int indx, void *oid, size_t *sizeof_oid);
+int _gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, int indx,
+ void *oid, size_t *sizeof_oid);
-int _gnutls_x509_crl_set_extension(gnutls_x509_crl_t crl,
- const char *ext_id,
- const gnutls_datum_t * ext_data,
+int _gnutls_x509_crl_set_extension(gnutls_x509_crl_t crl, const char *ext_id,
+ const gnutls_datum_t *ext_data,
unsigned int critical);
-int
-_gnutls_x509_crl_get_extension(gnutls_x509_crl_t crl,
- const char *extension_id, int indx,
- gnutls_datum_t * data, unsigned int *critical);
+int _gnutls_x509_crl_get_extension(gnutls_x509_crl_t crl,
+ const char *extension_id, int indx,
+ gnutls_datum_t *data,
+ unsigned int *critical);
-int
-_gnutls_x509_crt_get_extension(gnutls_x509_crt_t cert,
- const char *extension_id, int indx,
- gnutls_datum_t * data, unsigned int *critical);
+int _gnutls_x509_crt_get_extension(gnutls_x509_crt_t cert,
+ const char *extension_id, int indx,
+ gnutls_datum_t *data,
+ unsigned int *critical);
-int _gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert,
- int indx, void *ret, size_t *ret_size);
+int _gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, int indx,
+ void *ret, size_t *ret_size);
int _gnutls_x509_crt_set_extension(gnutls_x509_crt_t cert,
const char *extension_id,
- const gnutls_datum_t * ext_data,
+ const gnutls_datum_t *ext_data,
unsigned int critical);
-int
-_gnutls_x509_ext_extract_number(uint8_t * number,
- size_t *nr_size,
- uint8_t * extnValue, int extnValueLen);
-int
-_gnutls_x509_ext_gen_number(const uint8_t * number, size_t nr_size,
- gnutls_datum_t * der_ext);
-
-int
-_gnutls_write_general_name(asn1_node ext, const char *ext_name,
- gnutls_x509_subject_alt_name_t type,
- const void *data, unsigned int data_size);
-
-int _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t
- type,
+int _gnutls_x509_ext_extract_number(uint8_t *number, size_t *nr_size,
+ uint8_t *extnValue, int extnValueLen);
+int _gnutls_x509_ext_gen_number(const uint8_t *number, size_t nr_size,
+ gnutls_datum_t *der_ext);
+
+int _gnutls_write_general_name(asn1_node ext, const char *ext_name,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data, unsigned int data_size);
+
+int _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t type,
const char *othername_oid,
const void *data,
unsigned int data_size,
- const gnutls_datum_t * prev_der_ext,
- gnutls_datum_t * der_ext);
+ const gnutls_datum_t *prev_der_ext,
+ gnutls_datum_t *der_ext);
int _gnutls_x509_ext_gen_auth_key_id(const void *id, size_t id_size,
- gnutls_datum_t * der_data);
+ gnutls_datum_t *der_data);
/* mpi.c */
int _gnutls_x509_crq_get_mpis(gnutls_x509_crq_t cert, gnutls_pk_params_st *);
int _gnutls_x509_crt_get_mpis(gnutls_x509_crt_t cert,
- gnutls_pk_params_st * params);
+ gnutls_pk_params_st *params);
-int _gnutls_x509_read_pubkey_params(gnutls_pk_algorithm_t, uint8_t * der,
- int dersize, gnutls_pk_params_st * params);
-int _gnutls_x509_check_pubkey_params(gnutls_pk_params_st * params);
+int _gnutls_x509_read_pubkey_params(gnutls_pk_algorithm_t, uint8_t *der,
+ int dersize, gnutls_pk_params_st *params);
+int _gnutls_x509_check_pubkey_params(gnutls_pk_params_st *params);
-int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t, uint8_t * der,
- int dersize, gnutls_pk_params_st * params);
+int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t, uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
int _gnutls_x509_read_pubkey_signature_params(gnutls_pk_algorithm_t algo,
- uint8_t * der, int dersize,
- gnutls_pk_params_st * params);
+ uint8_t *der, int dersize,
+ gnutls_pk_params_st *params);
int _gnutls_x509_write_ecc_params(const gnutls_ecc_curve_t curve,
- gnutls_datum_t * der);
-int _gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
+ gnutls_datum_t *der);
+int _gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
-int _gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
+int _gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
-int
-_gnutls_x509_write_pubkey_params(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
-int _gnutls_x509_write_pubkey(const gnutls_pk_params_st * params,
- gnutls_datum_t * der);
+int _gnutls_x509_write_pubkey_params(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
+int _gnutls_x509_write_pubkey(const gnutls_pk_params_st *params,
+ gnutls_datum_t *der);
int _gnutls_x509_read_uint(asn1_node node, const char *value,
unsigned int *ret);
-int _gnutls_x509_read_der_int(uint8_t * der, int dersize, bigint_t * out);
-int _gnutls_x509_read_der_uint(uint8_t * der, int dersize, unsigned int *out);
+int _gnutls_x509_read_der_int(uint8_t *der, int dersize, bigint_t *out);
+int _gnutls_x509_read_der_uint(uint8_t *der, int dersize, unsigned int *out);
-int _gnutls_x509_read_int(asn1_node node, const char *value,
- bigint_t * ret_mpi);
+int _gnutls_x509_read_int(asn1_node node, const char *value, bigint_t *ret_mpi);
int _gnutls_x509_write_int(asn1_node node, const char *value, bigint_t mpi,
int lz);
int _gnutls_x509_write_uint32(asn1_node node, const char *value, uint32_t num);
int _gnutls_x509_read_key_int(asn1_node node, const char *value,
- bigint_t * ret_mpi);
+ bigint_t *ret_mpi);
int _gnutls_x509_write_key_int(asn1_node node, const char *value, bigint_t mpi,
int lz);
int _gnutls_x509_read_key_int_le(asn1_node node, const char *value,
- bigint_t * ret_mpi);
+ bigint_t *ret_mpi);
int _gnutls_x509_write_key_int_le(asn1_node node, const char *value,
bigint_t mpi);
int _gnutls_x509_read_pkalgo_params(asn1_node src, const char *src_name,
- gnutls_x509_spki_st * params,
+ gnutls_x509_spki_st *params,
unsigned is_sig);
int _gnutls_x509_write_sign_params(asn1_node dst, const char *dst_name,
- const gnutls_sign_entry_st * se,
- gnutls_x509_spki_st * params);
+ const gnutls_sign_entry_st *se,
+ gnutls_x509_spki_st *params);
-# define _gnutls_x509_read_sign_params(src,name,params) _gnutls_x509_read_pkalgo_params(src,name,params,1)
-# define _gnutls_x509_read_spki_params(src,name,params) _gnutls_x509_read_pkalgo_params(src,name,params,0)
+#define _gnutls_x509_read_sign_params(src, name, params) \
+ _gnutls_x509_read_pkalgo_params(src, name, params, 1)
+#define _gnutls_x509_read_spki_params(src, name, params) \
+ _gnutls_x509_read_pkalgo_params(src, name, params, 0)
int _gnutls_x509_write_spki_params(asn1_node dst, const char *dst_name,
- gnutls_x509_spki_st * params);
+ gnutls_x509_spki_st *params);
-inline static int
-_gnutls_x509_crt_read_spki_params(gnutls_x509_crt_t crt,
- gnutls_x509_spki_st * params)
+inline static int _gnutls_x509_crt_read_spki_params(gnutls_x509_crt_t crt,
+ gnutls_x509_spki_st *params)
{
return _gnutls_x509_read_spki_params(crt->cert,
"tbsCertificate."
"subjectPublicKeyInfo."
- "algorithm", params);
+ "algorithm",
+ params);
}
-inline static int
-_gnutls_x509_crq_read_spki_params(gnutls_x509_crq_t crt,
- gnutls_x509_spki_st * params)
+inline static int _gnutls_x509_crq_read_spki_params(gnutls_x509_crq_t crt,
+ gnutls_x509_spki_st *params)
{
return _gnutls_x509_read_spki_params(crt->crq,
"certificationRequestInfo."
"subjectPKInfo."
- "algorithm", params);
+ "algorithm",
+ params);
}
/* pkcs12.h */
-# include <gnutls/pkcs12.h>
+#include <gnutls/pkcs12.h>
typedef struct gnutls_pkcs12_int {
asn1_node pkcs12;
unsigned expanded;
} gnutls_pkcs12_int;
-# define MAX_BAG_ELEMENTS 32
+#define MAX_BAG_ELEMENTS 32
struct bag_element {
gnutls_datum_t data;
@@ -433,84 +414,71 @@ typedef struct gnutls_pkcs12_bag_int {
unsigned bag_elements;
} gnutls_pkcs12_bag_int;
-# define BAG_PKCS8_KEY "1.2.840.113549.1.12.10.1.1"
-# define BAG_PKCS8_ENCRYPTED_KEY "1.2.840.113549.1.12.10.1.2"
-# define BAG_CERTIFICATE "1.2.840.113549.1.12.10.1.3"
-# define BAG_CRL "1.2.840.113549.1.12.10.1.4"
-# define BAG_SECRET "1.2.840.113549.1.12.10.1.5"
+#define BAG_PKCS8_KEY "1.2.840.113549.1.12.10.1.1"
+#define BAG_PKCS8_ENCRYPTED_KEY "1.2.840.113549.1.12.10.1.2"
+#define BAG_CERTIFICATE "1.2.840.113549.1.12.10.1.3"
+#define BAG_CRL "1.2.840.113549.1.12.10.1.4"
+#define BAG_SECRET "1.2.840.113549.1.12.10.1.5"
/* Bag attributes
*/
-# define FRIENDLY_NAME_OID "1.2.840.113549.1.9.20"
-# define KEY_ID_OID "1.2.840.113549.1.9.21"
+#define FRIENDLY_NAME_OID "1.2.840.113549.1.9.20"
+#define KEY_ID_OID "1.2.840.113549.1.9.21"
-int
-_gnutls_pkcs12_string_to_key(const mac_entry_st * me,
- unsigned int id, const uint8_t * salt,
- unsigned int salt_size, unsigned int iter,
- const char *pw, unsigned int req_keylen,
- uint8_t * keybuf);
+int _gnutls_pkcs12_string_to_key(const mac_entry_st *me, unsigned int id,
+ const uint8_t *salt, unsigned int salt_size,
+ unsigned int iter, const char *pw,
+ unsigned int req_keylen, uint8_t *keybuf);
-int _pkcs12_decode_safe_contents(const gnutls_datum_t * content,
+int _pkcs12_decode_safe_contents(const gnutls_datum_t *content,
gnutls_pkcs12_bag_t bag);
-int
-_pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node * content,
- int *enc);
+int _pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node *content,
+ int *enc);
int _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,
- const gnutls_datum_t * in, gnutls_datum_t * out);
+ const gnutls_datum_t *in, gnutls_datum_t *out);
int _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,
- const gnutls_datum_t * raw, gnutls_datum_t * out);
+ const gnutls_datum_t *raw, gnutls_datum_t *out);
/* crq */
-int _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq,
- const char *ext_id,
- const gnutls_datum_t * ext_data,
+int _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq, const char *ext_id,
+ const gnutls_datum_t *ext_data,
unsigned int critical);
-int
-gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,
- gnutls_sign_algorithm_t algo,
- gnutls_typed_vdata_st * vdata,
- unsigned int vdata_size,
- const gnutls_datum_t * data,
- const gnutls_datum_t * signature,
- unsigned int flags);
+int gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,
+ gnutls_sign_algorithm_t algo,
+ gnutls_typed_vdata_st *vdata,
+ unsigned int vdata_size,
+ const gnutls_datum_t *data,
+ const gnutls_datum_t *signature,
+ unsigned int flags);
int _gnutls_trust_list_get_issuer(gnutls_x509_trust_list_t list,
gnutls_x509_crt_t cert,
- gnutls_x509_crt_t * issuer,
+ gnutls_x509_crt_t *issuer,
unsigned int flags);
-unsigned int
-_gnutls_verify_crt_status(gnutls_x509_trust_list_t tlist,
- const gnutls_x509_crt_t * certificate_list,
- int clist_size,
- const gnutls_x509_crt_t * trusted_cas,
- int tcas_size,
- unsigned int flags,
- const char *purpose,
- gnutls_verify_output_function func);
-
-# ifdef ENABLE_PKCS11
-unsigned int
-_gnutls_pkcs11_verify_crt_status(gnutls_x509_trust_list_t tlist,
- const char *url,
- const gnutls_x509_crt_t * certificate_list,
- unsigned clist_size,
- const char *purpose,
- unsigned int flags,
- gnutls_verify_output_function func);
-# endif
+unsigned int _gnutls_verify_crt_status(
+ gnutls_x509_trust_list_t tlist,
+ const gnutls_x509_crt_t *certificate_list, int clist_size,
+ const gnutls_x509_crt_t *trusted_cas, int tcas_size, unsigned int flags,
+ const char *purpose, gnutls_verify_output_function func);
+
+#ifdef ENABLE_PKCS11
+unsigned int _gnutls_pkcs11_verify_crt_status(
+ gnutls_x509_trust_list_t tlist, const char *url,
+ const gnutls_x509_crt_t *certificate_list, unsigned clist_size,
+ const char *purpose, unsigned int flags,
+ gnutls_verify_output_function func);
+#endif
int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert);
-int
-_gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
- const gnutls_x509_crl_t * crl_list,
- int crl_list_length,
- gnutls_verify_output_function func);
+int _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,
+ const gnutls_x509_crl_t *crl_list,
+ int crl_list_length,
+ gnutls_verify_output_function func);
typedef struct gnutls_name_constraints_st {
struct name_constraints_node_st *permitted;
@@ -524,8 +492,8 @@ typedef struct name_constraints_node_st {
} name_constraints_node_st;
int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,
- name_constraints_node_st ** _nc);
-void _gnutls_name_constraints_node_free(name_constraints_node_st * node);
+ name_constraints_node_st **_nc);
+void _gnutls_name_constraints_node_free(name_constraints_node_st *node);
int _gnutls_x509_name_constraints_merge(gnutls_x509_name_constraints_t nc,
gnutls_x509_name_constraints_t nc2);
@@ -537,7 +505,7 @@ struct gnutls_x509_tlsfeatures_st {
unsigned int size;
};
-unsigned _gnutls_is_broken_sig_allowed(const gnutls_sign_entry_st * se,
+unsigned _gnutls_is_broken_sig_allowed(const gnutls_sign_entry_st *se,
unsigned int flags);
-#endif /* GNUTLS_LIB_X509_X509_INT_H */
+#endif /* GNUTLS_LIB_X509_X509_INT_H */
diff --git a/lib/x509/x509_write.c b/lib/x509/x509_write.c
index 786b683016..76ebb9eed3 100644
--- a/lib/x509/x509_write.c
+++ b/lib/x509/x509_write.c
@@ -60,10 +60,9 @@ static void disable_optional_stuff(gnutls_x509_crt_t cert);
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
- unsigned int raw_flag, const void *name,
- unsigned int sizeof_name)
+int gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
+ unsigned int raw_flag, const void *name,
+ unsigned int sizeof_name)
{
if (sizeof_name == 0 || name == NULL || crt == NULL) {
return GNUTLS_E_INVALID_REQUEST;
@@ -71,8 +70,8 @@ gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
MODIFIED(crt);
- return _gnutls_x509_set_dn_oid(crt->cert, "tbsCertificate.subject",
- oid, raw_flag, name, sizeof_name);
+ return _gnutls_x509_set_dn_oid(crt->cert, "tbsCertificate.subject", oid,
+ raw_flag, name, sizeof_name);
}
/**
@@ -100,11 +99,10 @@ gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt,
- const char *oid,
- unsigned int raw_flag,
- const void *name, unsigned int sizeof_name)
+int gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt, const char *oid,
+ unsigned int raw_flag,
+ const void *name,
+ unsigned int sizeof_name)
{
if (sizeof_name == 0 || name == NULL || crt == NULL) {
return GNUTLS_E_INVALID_REQUEST;
@@ -112,8 +110,8 @@ gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt,
MODIFIED(crt);
- return _gnutls_x509_set_dn_oid(crt->cert, "tbsCertificate.issuer",
- oid, raw_flag, name, sizeof_name);
+ return _gnutls_x509_set_dn_oid(crt->cert, "tbsCertificate.issuer", oid,
+ raw_flag, name, sizeof_name);
}
/**
@@ -133,11 +131,9 @@ gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_proxy_dn(gnutls_x509_crt_t crt,
- gnutls_x509_crt_t eecrt,
- unsigned int raw_flag, const void *name,
- unsigned int sizeof_name)
+int gnutls_x509_crt_set_proxy_dn(gnutls_x509_crt_t crt, gnutls_x509_crt_t eecrt,
+ unsigned int raw_flag, const void *name,
+ unsigned int sizeof_name)
{
int result;
@@ -197,7 +193,7 @@ int gnutls_x509_crt_set_version(gnutls_x509_crt_t crt, unsigned int version)
null--;
result =
- asn1_write_value(crt->cert, "tbsCertificate.version", &null, 1);
+ asn1_write_value(crt->cert, "tbsCertificate.version", &null, 1);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -232,9 +228,8 @@ int gnutls_x509_crt_set_key(gnutls_x509_crt_t crt, gnutls_x509_privkey_t key)
MODIFIED(crt);
- result = _gnutls_x509_encode_and_copy_PKI_params(crt->cert,
- "tbsCertificate.subjectPublicKeyInfo",
- &key->params);
+ result = _gnutls_x509_encode_and_copy_PKI_params(
+ crt->cert, "tbsCertificate.subjectPublicKeyInfo", &key->params);
if (result < 0) {
gnutls_assert();
@@ -274,17 +269,16 @@ int gnutls_x509_crt_set_crq(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
if (result < 0)
return gnutls_assert_val(result);
- result = asn1_copy_node(crt->cert, "tbsCertificate.subject",
- crq->crq, "certificationRequestInfo.subject");
+ result = asn1_copy_node(crt->cert, "tbsCertificate.subject", crq->crq,
+ "certificationRequestInfo.subject");
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result =
- asn1_copy_node(crt->cert,
- "tbsCertificate.subjectPublicKeyInfo", crq->crq,
- "certificationRequestInfo.subjectPKInfo");
+ result = asn1_copy_node(crt->cert,
+ "tbsCertificate.subjectPublicKeyInfo", crq->crq,
+ "certificationRequestInfo.subjectPKInfo");
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
@@ -306,8 +300,8 @@ int gnutls_x509_crt_set_crq(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
*
* Since: 2.8.0
**/
-int
-gnutls_x509_crt_set_crq_extensions(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
+int gnutls_x509_crt_set_crq_extensions(gnutls_x509_crt_t crt,
+ gnutls_x509_crq_t crq)
{
return gnutls_x509_crt_set_crq_extension_by_oid(crt, crq, NULL, 0);
}
@@ -327,10 +321,9 @@ gnutls_x509_crt_set_crq_extensions(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
*
* Since: 3.5.1
**/
-int
-gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
- gnutls_x509_crq_t crq, const char *oid,
- unsigned flags)
+int gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
+ gnutls_x509_crq_t crq,
+ const char *oid, unsigned flags)
{
size_t i;
@@ -351,9 +344,8 @@ gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
gnutls_datum_t ext;
local_oid_size = sizeof(local_oid);
- result = gnutls_x509_crq_get_extension_info(crq, i, local_oid,
- &local_oid_size,
- &critical);
+ result = gnutls_x509_crq_get_extension_info(
+ crq, i, local_oid, &local_oid_size, &critical);
if (result < 0) {
if (result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
@@ -379,9 +371,8 @@ gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
return GNUTLS_E_MEMORY_ERROR;
}
- result =
- gnutls_x509_crq_get_extension_data(crq, i, extensions,
- &extensions_size);
+ result = gnutls_x509_crq_get_extension_data(crq, i, extensions,
+ &extensions_size);
if (result < 0) {
gnutls_assert();
gnutls_free(extensions);
@@ -391,9 +382,8 @@ gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
ext.data = extensions;
ext.size = extensions_size;
- result =
- _gnutls_x509_crt_set_extension(crt, local_oid, &ext,
- critical);
+ result = _gnutls_x509_crt_set_extension(crt, local_oid, &ext,
+ critical);
gnutls_free(extensions);
if (result < 0) {
gnutls_assert();
@@ -419,10 +409,9 @@ gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt,
- const char *oid, const void *buf,
- size_t sizeof_buf, unsigned int critical)
+int gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt, const char *oid,
+ const void *buf, size_t sizeof_buf,
+ unsigned int critical)
{
int result;
gnutls_datum_t der_data;
@@ -442,7 +431,6 @@ gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt,
}
return 0;
-
}
/**
@@ -458,9 +446,9 @@ gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_basic_constraints(gnutls_x509_crt_t crt,
- unsigned int ca, int pathLenConstraint)
+int gnutls_x509_crt_set_basic_constraints(gnutls_x509_crt_t crt,
+ unsigned int ca,
+ int pathLenConstraint)
{
int result;
gnutls_datum_t der_data;
@@ -472,9 +460,8 @@ gnutls_x509_crt_set_basic_constraints(gnutls_x509_crt_t crt,
/* generate the extension.
*/
- result =
- gnutls_x509_ext_export_basic_constraints(ca, pathLenConstraint,
- &der_data);
+ result = gnutls_x509_ext_export_basic_constraints(ca, pathLenConstraint,
+ &der_data);
if (result < 0) {
gnutls_assert();
return result;
@@ -559,9 +546,8 @@ int gnutls_x509_crt_set_key_usage(gnutls_x509_crt_t crt, unsigned int usage)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_inhibit_anypolicy(gnutls_x509_crt_t crt,
- unsigned int skipcerts)
+int gnutls_x509_crt_set_inhibit_anypolicy(gnutls_x509_crt_t crt,
+ unsigned int skipcerts)
{
int ret;
gnutls_datum_t der_data;
@@ -608,10 +594,9 @@ gnutls_x509_crt_set_inhibit_anypolicy(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_subject_alternative_name(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t
- type, const char *data_string)
+int gnutls_x509_crt_set_subject_alternative_name(
+ gnutls_x509_crt_t crt, gnutls_x509_subject_alt_name_t type,
+ const char *data_string)
{
if (crt == NULL) {
gnutls_assert();
@@ -625,9 +610,8 @@ gnutls_x509_crt_set_subject_alternative_name(gnutls_x509_crt_t crt,
return GNUTLS_E_INVALID_REQUEST;
}
- return gnutls_x509_crt_set_subject_alt_name(crt, type, data_string,
- strlen(data_string),
- GNUTLS_FSAN_SET);
+ return gnutls_x509_crt_set_subject_alt_name(
+ crt, type, data_string, strlen(data_string), GNUTLS_FSAN_SET);
}
/**
@@ -652,11 +636,11 @@ gnutls_x509_crt_set_subject_alternative_name(gnutls_x509_crt_t crt,
*
* Since: 2.6.0
**/
-int
-gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t type,
- const void *data,
- unsigned int data_size, unsigned int flags)
+int gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data,
+ unsigned int data_size,
+ unsigned int flags)
{
int result;
gnutls_datum_t der_data = { NULL, 0 };
@@ -672,11 +656,10 @@ gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
*/
if (flags & GNUTLS_FSAN_APPEND) {
- result =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.17", 0,
- &prev_der_data, &critical);
- if (result < 0
- && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ result = _gnutls_x509_crt_get_extension(
+ crt, "2.5.29.17", 0, &prev_der_data, &critical);
+ if (result < 0 &&
+ result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_assert();
return result;
}
@@ -684,18 +667,16 @@ gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
/* generate the extension.
*/
- result =
- _gnutls_x509_ext_gen_subject_alt_name(type, NULL, data, data_size,
- &prev_der_data, &der_data);
+ result = _gnutls_x509_ext_gen_subject_alt_name(
+ type, NULL, data, data_size, &prev_der_data, &der_data);
if (result < 0) {
gnutls_assert();
goto finish;
}
- result =
- _gnutls_x509_crt_set_extension(crt, "2.5.29.17", &der_data,
- critical);
+ result = _gnutls_x509_crt_set_extension(crt, "2.5.29.17", &der_data,
+ critical);
_gnutls_free_datum(&der_data);
@@ -706,7 +687,7 @@ gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
result = 0;
- finish:
+finish:
_gnutls_free_datum(&prev_der_data);
return result;
}
@@ -730,11 +711,11 @@ gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,
*
* Since: 3.3.0
**/
-int
-gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t type,
- const void *data,
- unsigned int data_size, unsigned int flags)
+int gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data,
+ unsigned int data_size,
+ unsigned int flags)
{
int result;
gnutls_datum_t der_data = { NULL, 0 };
@@ -750,11 +731,10 @@ gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,
*/
if (flags & GNUTLS_FSAN_APPEND) {
- result =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.18", 0,
- &prev_der_data, &critical);
- if (result < 0
- && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ result = _gnutls_x509_crt_get_extension(
+ crt, "2.5.29.18", 0, &prev_der_data, &critical);
+ if (result < 0 &&
+ result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_assert();
return result;
}
@@ -762,18 +742,16 @@ gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,
/* generate the extension.
*/
- result =
- _gnutls_x509_ext_gen_subject_alt_name(type, NULL, data, data_size,
- &prev_der_data, &der_data);
+ result = _gnutls_x509_ext_gen_subject_alt_name(
+ type, NULL, data, data_size, &prev_der_data, &der_data);
if (result < 0) {
gnutls_assert();
goto finish;
}
- result =
- _gnutls_x509_crt_set_extension(crt, "2.5.29.18", &der_data,
- critical);
+ result = _gnutls_x509_crt_set_extension(crt, "2.5.29.18", &der_data,
+ critical);
_gnutls_free_datum(&der_data);
@@ -784,21 +762,21 @@ gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,
result = 0;
- finish:
+finish:
_gnutls_free_datum(&prev_der_data);
return result;
}
int _gnutls_encode_othername_data(unsigned flags, const void *data,
- unsigned data_size, gnutls_datum_t * output)
+ unsigned data_size, gnutls_datum_t *output)
{
int ret;
if (flags & GNUTLS_FSAN_ENCODE_OCTET_STRING) {
- ret = _gnutls_x509_encode_string(ASN1_ETYPE_OCTET_STRING,
- data, data_size, output);
+ ret = _gnutls_x509_encode_string(ASN1_ETYPE_OCTET_STRING, data,
+ data_size, output);
} else if (flags & GNUTLS_FSAN_ENCODE_UTF8_STRING) {
- ret = _gnutls_x509_encode_string(ASN1_ETYPE_UTF8_STRING,
- data, data_size, output);
+ ret = _gnutls_x509_encode_string(ASN1_ETYPE_UTF8_STRING, data,
+ data_size, output);
} else {
ret = _gnutls_set_datum(output, data, data_size);
}
@@ -825,12 +803,10 @@ int _gnutls_encode_othername_data(unsigned flags, const void *data,
*
* Since: 3.5.0
**/
-int
-gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
- const char *oid,
- const void *data,
- unsigned int data_size,
- unsigned int flags)
+int gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
+ const char *oid, const void *data,
+ unsigned int data_size,
+ unsigned int flags)
{
int result;
gnutls_datum_t der_data = { NULL, 0 };
@@ -847,19 +823,17 @@ gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
*/
if (flags & GNUTLS_FSAN_APPEND) {
- result =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.17", 0,
- &prev_der_data, &critical);
- if (result < 0
- && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ result = _gnutls_x509_crt_get_extension(
+ crt, "2.5.29.17", 0, &prev_der_data, &critical);
+ if (result < 0 &&
+ result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_assert();
return result;
}
}
- result =
- _gnutls_encode_othername_data(flags, data, data_size,
- &encoded_data);
+ result = _gnutls_encode_othername_data(flags, data, data_size,
+ &encoded_data);
if (result < 0) {
gnutls_assert();
goto finish;
@@ -867,20 +841,17 @@ gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
/* generate the extension.
*/
- result =
- _gnutls_x509_ext_gen_subject_alt_name(GNUTLS_SAN_OTHERNAME, oid,
- encoded_data.data,
- encoded_data.size,
- &prev_der_data, &der_data);
+ result = _gnutls_x509_ext_gen_subject_alt_name(
+ GNUTLS_SAN_OTHERNAME, oid, encoded_data.data, encoded_data.size,
+ &prev_der_data, &der_data);
if (result < 0) {
gnutls_assert();
goto finish;
}
- result =
- _gnutls_x509_crt_set_extension(crt, "2.5.29.17", &der_data,
- critical);
+ result = _gnutls_x509_crt_set_extension(crt, "2.5.29.17", &der_data,
+ critical);
if (result < 0) {
gnutls_assert();
@@ -889,7 +860,7 @@ gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
result = 0;
- finish:
+finish:
_gnutls_free_datum(&der_data);
_gnutls_free_datum(&prev_der_data);
_gnutls_free_datum(&encoded_data);
@@ -916,12 +887,10 @@ gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,
*
* Since: 3.5.0
**/
-int
-gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
- const char *oid,
- const void *data,
- unsigned int data_size,
- unsigned int flags)
+int gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
+ const char *oid, const void *data,
+ unsigned int data_size,
+ unsigned int flags)
{
int result;
gnutls_datum_t der_data = { NULL, 0 };
@@ -938,19 +907,17 @@ gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
*/
if (flags & GNUTLS_FSAN_APPEND) {
- result =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.18", 0,
- &prev_der_data, &critical);
- if (result < 0
- && result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ result = _gnutls_x509_crt_get_extension(
+ crt, "2.5.29.18", 0, &prev_der_data, &critical);
+ if (result < 0 &&
+ result != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
gnutls_assert();
return result;
}
}
- result =
- _gnutls_encode_othername_data(flags, data, data_size,
- &encoded_data);
+ result = _gnutls_encode_othername_data(flags, data, data_size,
+ &encoded_data);
if (result < 0) {
gnutls_assert();
goto finish;
@@ -958,19 +925,16 @@ gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
/* generate the extension.
*/
- result =
- _gnutls_x509_ext_gen_subject_alt_name(GNUTLS_SAN_OTHERNAME, oid,
- encoded_data.data,
- encoded_data.size,
- &prev_der_data, &der_data);
+ result = _gnutls_x509_ext_gen_subject_alt_name(
+ GNUTLS_SAN_OTHERNAME, oid, encoded_data.data, encoded_data.size,
+ &prev_der_data, &der_data);
if (result < 0) {
gnutls_assert();
goto finish;
}
- result =
- _gnutls_x509_crt_set_extension(crt, "2.5.29.18", &der_data,
- critical);
+ result = _gnutls_x509_crt_set_extension(crt, "2.5.29.18", &der_data,
+ critical);
if (result < 0) {
gnutls_assert();
@@ -979,7 +943,7 @@ gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
result = 0;
- finish:
+finish:
_gnutls_free_datum(&der_data);
_gnutls_free_datum(&prev_der_data);
_gnutls_free_datum(&encoded_data);
@@ -1001,11 +965,9 @@ gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt,
- int pathLenConstraint,
- const char *policyLanguage,
- const char *policy, size_t sizeof_policy)
+int gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt, int pathLenConstraint,
+ const char *policyLanguage, const char *policy,
+ size_t sizeof_policy)
{
int result;
gnutls_datum_t der_data;
@@ -1017,8 +979,7 @@ gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt,
/* generate the extension.
*/
- result = gnutls_x509_ext_export_proxy(pathLenConstraint,
- policyLanguage,
+ result = gnutls_x509_ext_export_proxy(pathLenConstraint, policyLanguage,
policy, sizeof_policy, &der_data);
if (result < 0) {
gnutls_assert();
@@ -1049,10 +1010,9 @@ gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t crt,
- time_t activation,
- time_t expiration)
+int gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t crt,
+ time_t activation,
+ time_t expiration)
{
int result;
gnutls_datum_t der_data;
@@ -1062,9 +1022,8 @@ gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t crt,
return GNUTLS_E_INVALID_REQUEST;
}
- result = gnutls_x509_ext_export_private_key_usage_period(activation,
- expiration,
- &der_data);
+ result = gnutls_x509_ext_export_private_key_usage_period(
+ activation, expiration, &der_data);
if (result < 0) {
gnutls_assert();
goto cleanup;
@@ -1074,7 +1033,7 @@ gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t crt,
_gnutls_free_datum(&der_data);
- cleanup:
+cleanup:
return result;
}
@@ -1102,10 +1061,9 @@ gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_sign2(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
- gnutls_x509_privkey_t issuer_key,
- gnutls_digest_algorithm_t dig, unsigned int flags)
+int gnutls_x509_crt_sign2(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
+ gnutls_x509_privkey_t issuer_key,
+ gnutls_digest_algorithm_t dig, unsigned int flags)
{
int result;
gnutls_privkey_t privkey;
@@ -1137,7 +1095,7 @@ gnutls_x509_crt_sign2(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
result = 0;
- fail:
+fail:
gnutls_privkey_deinit(privkey);
return result;
@@ -1157,9 +1115,8 @@ gnutls_x509_crt_sign2(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_sign(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
- gnutls_x509_privkey_t issuer_key)
+int gnutls_x509_crt_sign(gnutls_x509_crt_t crt, gnutls_x509_crt_t issuer,
+ gnutls_x509_privkey_t issuer_key)
{
return gnutls_x509_crt_sign2(crt, issuer, issuer_key, 0, 0);
}
@@ -1184,9 +1141,8 @@ int gnutls_x509_crt_set_activation_time(gnutls_x509_crt_t cert, time_t act_time)
MODIFIED(cert);
- return _gnutls_x509_set_time(cert->cert,
- "tbsCertificate.validity.notBefore",
- act_time, 0);
+ return _gnutls_x509_set_time(
+ cert->cert, "tbsCertificate.validity.notBefore", act_time, 0);
}
/**
@@ -1210,9 +1166,8 @@ int gnutls_x509_crt_set_expiration_time(gnutls_x509_crt_t cert, time_t exp_time)
MODIFIED(cert);
- return _gnutls_x509_set_time(cert->cert,
- "tbsCertificate.validity.notAfter",
- exp_time, 0);
+ return _gnutls_x509_set_time(
+ cert->cert, "tbsCertificate.validity.notAfter", exp_time, 0);
}
/**
@@ -1235,9 +1190,8 @@ int gnutls_x509_crt_set_expiration_time(gnutls_x509_crt_t cert, time_t exp_time)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert, const void *serial,
- size_t serial_size)
+int gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert, const void *serial,
+ size_t serial_size)
{
int ret;
unsigned all_zero, i;
@@ -1264,16 +1218,14 @@ gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert, const void *serial,
MODIFIED(cert);
- ret =
- asn1_write_value(cert->cert, "tbsCertificate.serialNumber",
- serial, serial_size);
+ ret = asn1_write_value(cert->cert, "tbsCertificate.serialNumber",
+ serial, serial_size);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
return 0;
-
}
/**
@@ -1289,9 +1241,8 @@ gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert, const void *serial,
*
* Since: 3.4.7
**/
-int
-gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const void *id,
- size_t id_size)
+int gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const void *id,
+ size_t id_size)
{
int ret;
@@ -1302,9 +1253,8 @@ gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const void *id,
MODIFIED(cert);
- ret =
- asn1_write_value(cert->cert, "tbsCertificate.issuerUniqueID",
- id, id_size * 8);
+ ret = asn1_write_value(cert->cert, "tbsCertificate.issuerUniqueID", id,
+ id_size * 8);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
@@ -1326,9 +1276,8 @@ gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const void *id,
*
* Since: 3.4.7
**/
-int
-gnutls_x509_crt_set_subject_unique_id(gnutls_x509_crt_t cert, const void *id,
- size_t id_size)
+int gnutls_x509_crt_set_subject_unique_id(gnutls_x509_crt_t cert,
+ const void *id, size_t id_size)
{
int ret;
@@ -1339,9 +1288,8 @@ gnutls_x509_crt_set_subject_unique_id(gnutls_x509_crt_t cert, const void *id,
MODIFIED(cert);
- ret =
- asn1_write_value(cert->cert, "tbsCertificate.subjectUniqueID",
- id, id_size * 8);
+ ret = asn1_write_value(cert->cert, "tbsCertificate.subjectUniqueID", id,
+ id_size * 8);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
@@ -1362,27 +1310,25 @@ static void disable_optional_stuff(gnutls_x509_crt_t cert)
node = asn1_find_node(cert->cert, "tbsCertificate.issuerUniqueID");
if (node) {
- if (asn1_read_node_value(node, &n) == ASN1_SUCCESS
- && n.value_len != 0)
+ if (asn1_read_node_value(node, &n) == ASN1_SUCCESS &&
+ n.value_len != 0)
remove_issuer_unique_id = 0;
}
node = asn1_find_node(cert->cert, "tbsCertificate.subjectUniqueID");
if (node) {
- if (asn1_read_node_value(node, &n) == ASN1_SUCCESS
- && n.value_len != 0)
+ if (asn1_read_node_value(node, &n) == ASN1_SUCCESS &&
+ n.value_len != 0)
remove_subject_unique_id = 0;
}
if (remove_issuer_unique_id)
- (void)asn1_write_value(cert->cert,
- "tbsCertificate.issuerUniqueID", NULL,
- 0);
+ (void)asn1_write_value(
+ cert->cert, "tbsCertificate.issuerUniqueID", NULL, 0);
if (remove_subject_unique_id)
- (void)asn1_write_value(cert->cert,
- "tbsCertificate.subjectUniqueID", NULL,
- 0);
+ (void)asn1_write_value(
+ cert->cert, "tbsCertificate.subjectUniqueID", NULL, 0);
if (cert->use_extensions == 0) {
_gnutls_debug_log("Disabling X.509 extensions.\n");
@@ -1405,15 +1351,13 @@ static void disable_optional_stuff(gnutls_x509_crt_t cert)
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t type,
- const void *data_string,
- unsigned int reason_flags)
+int gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t crt,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data_string,
+ unsigned int reason_flags)
{
- return gnutls_x509_crt_set_crl_dist_points2(crt, type, data_string,
- strlen(data_string),
- reason_flags);
+ return gnutls_x509_crt_set_crl_dist_points2(
+ crt, type, data_string, strlen(data_string), reason_flags);
}
/**
@@ -1431,12 +1375,11 @@ gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t crt,
*
* Since: 2.6.0
**/
-int
-gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,
- gnutls_x509_subject_alt_name_t type,
- const void *data,
- unsigned int data_size,
- unsigned int reason_flags)
+int gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,
+ gnutls_x509_subject_alt_name_t type,
+ const void *data,
+ unsigned int data_size,
+ unsigned int reason_flags)
{
int ret;
gnutls_datum_t der_data = { NULL, 0 };
@@ -1456,9 +1399,8 @@ gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,
/* Check if the extension already exists.
*/
- ret =
- _gnutls_x509_crt_get_extension(crt, "2.5.29.31", 0, &old_der,
- &critical);
+ ret = _gnutls_x509_crt_get_extension(crt, "2.5.29.31", 0, &old_der,
+ &critical);
if (ret >= 0 && old_der.data != NULL) {
ret = gnutls_x509_ext_import_crl_dist_points(&old_der, cdp, 0);
@@ -1492,14 +1434,13 @@ gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&der_data);
_gnutls_free_datum(&old_der);
if (cdp != NULL)
gnutls_x509_crl_dist_points_deinit(cdp);
return ret;
-
}
/**
@@ -1514,9 +1455,8 @@ gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t dst,
- gnutls_x509_crt_t src)
+int gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t dst,
+ gnutls_x509_crt_t src)
{
int result;
gnutls_datum_t der_data;
@@ -1529,17 +1469,15 @@ gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t dst,
/* Check if the extension already exists.
*/
- result =
- _gnutls_x509_crt_get_extension(src, "2.5.29.31", 0, &der_data,
- &critical);
+ result = _gnutls_x509_crt_get_extension(src, "2.5.29.31", 0, &der_data,
+ &critical);
if (result < 0) {
gnutls_assert();
return result;
}
- result =
- _gnutls_x509_crt_set_extension(dst, "2.5.29.31", &der_data,
- critical);
+ result = _gnutls_x509_crt_set_extension(dst, "2.5.29.31", &der_data,
+ critical);
_gnutls_free_datum(&der_data);
if (result < 0) {
@@ -1562,9 +1500,8 @@ gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t dst,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert,
- const void *id, size_t id_size)
+int gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert, const void *id,
+ size_t id_size)
{
int result;
gnutls_datum_t old_id, der_data;
@@ -1578,9 +1515,8 @@ gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert,
/* Check if the extension already exists.
*/
- result =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.14", 0, &old_id,
- &critical);
+ result = _gnutls_x509_crt_get_extension(cert, "2.5.29.14", 0, &old_id,
+ &critical);
if (result >= 0)
_gnutls_free_datum(&old_id);
@@ -1601,7 +1537,7 @@ gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert,
}
result =
- _gnutls_x509_crt_set_extension(cert, "2.5.29.14", &der_data, 0);
+ _gnutls_x509_crt_set_extension(cert, "2.5.29.14", &der_data, 0);
_gnutls_free_datum(&der_data);
@@ -1625,9 +1561,8 @@ gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert,
- const void *id, size_t id_size)
+int gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert, const void *id,
+ size_t id_size)
{
int result;
gnutls_datum_t old_id, der_data;
@@ -1640,9 +1575,8 @@ gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert,
/* Check if the extension already exists.
*/
- result =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.35", 0, &old_id,
- &critical);
+ result = _gnutls_x509_crt_get_extension(cert, "2.5.29.35", 0, &old_id,
+ &critical);
if (result >= 0)
_gnutls_free_datum(&old_id);
@@ -1660,7 +1594,7 @@ gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert,
}
result =
- _gnutls_x509_crt_set_extension(cert, "2.5.29.35", &der_data, 0);
+ _gnutls_x509_crt_set_extension(cert, "2.5.29.35", &der_data, 0);
_gnutls_free_datum(&der_data);
@@ -1687,9 +1621,8 @@ gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned,
* otherwise a negative error code is returned.
**/
-int
-gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert,
- const void *oid, unsigned int critical)
+int gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert, const void *oid,
+ unsigned int critical)
{
int ret;
gnutls_datum_t old_id = { NULL, 0 };
@@ -1707,8 +1640,8 @@ gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert,
/* Check if the extension already exists.
*/
- ret =
- _gnutls_x509_crt_get_extension(cert, "2.5.29.37", 0, &old_id, NULL);
+ ret = _gnutls_x509_crt_get_extension(cert, "2.5.29.37", 0, &old_id,
+ NULL);
if (ret >= 0) {
ret = gnutls_x509_ext_import_key_purposes(&old_id, p, 0);
@@ -1737,14 +1670,13 @@ gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert,
}
ret = 0;
- cleanup:
+cleanup:
_gnutls_free_datum(&der);
_gnutls_free_datum(&old_id);
if (p != NULL)
gnutls_x509_key_purpose_deinit(p);
return ret;
-
}
/**
@@ -1771,11 +1703,11 @@ gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,
- gnutls_x509_crt_t issuer,
- gnutls_privkey_t issuer_key,
- gnutls_digest_algorithm_t dig, unsigned int flags)
+int gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,
+ gnutls_x509_crt_t issuer,
+ gnutls_privkey_t issuer_key,
+ gnutls_digest_algorithm_t dig,
+ unsigned int flags)
{
int result;
@@ -1785,9 +1717,8 @@ gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,
}
if (dig == 0) {
- result =
- gnutls_x509_crt_get_preferred_hash_algorithm(issuer, &dig,
- NULL);
+ result = gnutls_x509_crt_get_preferred_hash_algorithm(
+ issuer, &dig, NULL);
if (result < 0)
return gnutls_assert_val(result);
}
@@ -1804,8 +1735,8 @@ gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,
return result;
}
- result = _gnutls_x509_pkix_sign(crt->cert, "tbsCertificate",
- dig, flags, issuer, issuer_key);
+ result = _gnutls_x509_pkix_sign(crt->cert, "tbsCertificate", dig, flags,
+ issuer, issuer_key);
if (result < 0) {
gnutls_assert();
return result;
@@ -1835,9 +1766,8 @@ gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,
*
* Since: 3.0
**/
-int
-gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt,
- int what, gnutls_datum_t * data)
+int gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt, int what,
+ gnutls_datum_t *data)
{
int ret;
gnutls_datum_t der = { NULL, 0 };
@@ -1856,7 +1786,7 @@ gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt,
}
ret = _gnutls_x509_crt_get_extension(crt, GNUTLS_OID_AIA, 0, &der, &c);
- if (ret >= 0) { /* decode it */
+ if (ret >= 0) { /* decode it */
ret = gnutls_x509_ext_import_aia(&der, aia_ctx, 0);
if (ret < 0) {
gnutls_assert();
@@ -1888,7 +1818,7 @@ gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt,
goto cleanup;
}
- cleanup:
+cleanup:
if (aia_ctx != NULL)
gnutls_x509_aia_deinit(aia_ctx);
_gnutls_free_datum(&new_der);
@@ -1915,10 +1845,9 @@ gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt,
*
* Since: 3.1.5
**/
-int
-gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,
- const struct gnutls_x509_policy_st *policy,
- unsigned int critical)
+int gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,
+ const struct gnutls_x509_policy_st *policy,
+ unsigned int critical)
{
int ret;
gnutls_datum_t der_data = { NULL, 0 }, prev_der_data = { NULL, 0 };
@@ -1943,8 +1872,8 @@ gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,
}
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- ret = gnutls_x509_ext_import_policies(&prev_der_data,
- policies, 0);
+ ret = gnutls_x509_ext_import_policies(&prev_der_data, policies,
+ 0);
if (ret < 0) {
gnutls_assert();
goto cleanup;
@@ -1965,7 +1894,7 @@ gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,
ret = _gnutls_x509_crt_set_extension(crt, "2.5.29.32", &der_data, 0);
- cleanup:
+cleanup:
if (policies != NULL)
gnutls_x509_policies_deinit(policies);
_gnutls_free_datum(&prev_der_data);
@@ -1993,9 +1922,8 @@ gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,
*
* Since: 3.6.0
**/
-int
-gnutls_x509_crt_set_spki(gnutls_x509_crt_t crt,
- const gnutls_x509_spki_t spki, unsigned int flags)
+int gnutls_x509_crt_set_spki(gnutls_x509_crt_t crt,
+ const gnutls_x509_spki_t spki, unsigned int flags)
{
int ret;
gnutls_pk_algorithm_t crt_pk;
@@ -2089,7 +2017,7 @@ gnutls_x509_crt_set_spki(gnutls_x509_crt_t crt,
}
ret = 0;
- cleanup:
+cleanup:
gnutls_pk_params_release(&params);
return ret;
}
diff --git a/lib/x509_b64.c b/lib/x509_b64.c
index bda4707ca2..a1ca907bb9 100644
--- a/lib/x509_b64.c
+++ b/lib/x509_b64.c
@@ -30,22 +30,22 @@
#include <x509_b64.h>
#include <nettle/base64.h>
-#define INCR(what, size, max_len) \
- do { \
- what+=size; \
- if (what > max_len) { \
- gnutls_assert(); \
- gnutls_free( result->data); result->data = NULL; \
- return GNUTLS_E_INTERNAL_ERROR; \
- } \
- } while(0)
+#define INCR(what, size, max_len) \
+ do { \
+ what += size; \
+ if (what > max_len) { \
+ gnutls_assert(); \
+ gnutls_free(result->data); \
+ result->data = NULL; \
+ return GNUTLS_E_INTERNAL_ERROR; \
+ } \
+ } while (0)
/* encodes data and puts the result into result (locally allocated)
* The result_size (including the null terminator) is the return value.
*/
-int
-_gnutls_fbase64_encode(const char *msg, const uint8_t * data,
- size_t data_size, gnutls_datum_t * result)
+int _gnutls_fbase64_encode(const char *msg, const uint8_t *data,
+ size_t data_size, gnutls_datum_t *result)
{
int tmp;
unsigned int i;
@@ -100,8 +100,8 @@ _gnutls_fbase64_encode(const char *msg, const uint8_t * data,
size = BASE64_ENCODE_RAW_LENGTH(tmp);
if (sizeof(tmpres) < size)
- return
- gnutls_assert_val(GNUTLS_E_BASE64_ENCODING_ERROR);
+ return gnutls_assert_val(
+ GNUTLS_E_BASE64_ENCODING_ERROR);
base64_encode_raw((void *)tmpres, tmp, &data[i]);
@@ -145,9 +145,8 @@ _gnutls_fbase64_encode(const char *msg, const uint8_t * data,
* %GNUTLS_E_SHORT_MEMORY_BUFFER is returned if the buffer given is
* not long enough, or 0 on success.
**/
-int
-gnutls_pem_base64_encode(const char *msg, const gnutls_datum_t * data,
- char *result, size_t *result_size)
+int gnutls_pem_base64_encode(const char *msg, const gnutls_datum_t *data,
+ char *result, size_t *result_size)
{
gnutls_datum_t res;
int ret;
@@ -191,9 +190,8 @@ gnutls_pem_base64_encode(const char *msg, const gnutls_datum_t * data,
*
* Since: 3.4.0
**/
-int
-gnutls_pem_base64_encode2(const char *header,
- const gnutls_datum_t * data, gnutls_datum_t * result)
+int gnutls_pem_base64_encode2(const char *header, const gnutls_datum_t *data,
+ gnutls_datum_t *result)
{
int ret;
@@ -213,8 +211,8 @@ gnutls_pem_base64_encode2(const char *header,
* It will fail with GNUTLS_E_BASE64_DECODING_ERROR if the
* end-result is the empty string.
*/
-inline static int
-cpydata(const uint8_t * data, int data_size, gnutls_datum_t * result)
+inline static int cpydata(const uint8_t *data, int data_size,
+ gnutls_datum_t *result)
{
int i, j;
@@ -223,8 +221,8 @@ cpydata(const uint8_t * data, int data_size, gnutls_datum_t * result)
return GNUTLS_E_MEMORY_ERROR;
for (j = i = 0; i < data_size; i++) {
- if (data[i] == '\n' || data[i] == '\r' || data[i] == ' '
- || data[i] == '\t')
+ if (data[i] == '\n' || data[i] == '\r' || data[i] == ' ' ||
+ data[i] == '\t')
continue;
else if (data[i] == '-')
break;
@@ -249,9 +247,8 @@ cpydata(const uint8_t * data, int data_size, gnutls_datum_t * result)
*
* The result_size is the return value.
*/
-int
-_gnutls_base64_decode(const uint8_t * data, size_t data_size,
- gnutls_datum_t * result)
+int _gnutls_base64_decode(const uint8_t *data, size_t data_size,
+ gnutls_datum_t *result)
{
int ret;
size_t size;
@@ -286,8 +283,8 @@ _gnutls_base64_decode(const uint8_t * data, size_t data_size,
goto cleanup;
}
- ret = base64_decode_update(&ctx, &size, result->data,
- pdata.size, (void *)pdata.data);
+ ret = base64_decode_update(&ctx, &size, result->data, pdata.size,
+ (void *)pdata.data);
if (ret == 0 || size == 0) {
gnutls_assert();
ret = GNUTLS_E_BASE64_DECODING_ERROR;
@@ -305,10 +302,10 @@ _gnutls_base64_decode(const uint8_t * data, size_t data_size,
ret = size;
goto cleanup;
- fail:
+fail:
gnutls_free(result->data);
- cleanup:
+cleanup:
gnutls_free(pdata.data);
return ret;
}
@@ -320,9 +317,8 @@ _gnutls_base64_decode(const uint8_t * data, size_t data_size,
* or a negative error code.
*/
#define ENDSTR "-----"
-int
-_gnutls_fbase64_decode(const char *header, const uint8_t * data,
- size_t data_size, gnutls_datum_t * result)
+int _gnutls_fbase64_decode(const char *header, const uint8_t *data,
+ size_t data_size, gnutls_datum_t *result)
{
int ret;
static const char top[] = "-----BEGIN ";
@@ -403,17 +399,14 @@ _gnutls_fbase64_decode(const char *header, const uint8_t * data,
* %GNUTLS_E_SHORT_MEMORY_BUFFER is returned if the buffer given is
* not long enough, or 0 on success.
**/
-int
-gnutls_pem_base64_decode(const char *header,
- const gnutls_datum_t * b64_data,
- unsigned char *result, size_t *result_size)
+int gnutls_pem_base64_decode(const char *header, const gnutls_datum_t *b64_data,
+ unsigned char *result, size_t *result_size)
{
gnutls_datum_t res;
int ret;
- ret =
- _gnutls_fbase64_decode(header, b64_data->data, b64_data->size,
- &res);
+ ret = _gnutls_fbase64_decode(header, b64_data->data, b64_data->size,
+ &res);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -453,19 +446,17 @@ gnutls_pem_base64_decode(const char *header,
*
* Since: 3.4.0
**/
-int
-gnutls_pem_base64_decode2(const char *header,
- const gnutls_datum_t * b64_data,
- gnutls_datum_t * result)
+int gnutls_pem_base64_decode2(const char *header,
+ const gnutls_datum_t *b64_data,
+ gnutls_datum_t *result)
{
int ret;
if (result == NULL)
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
- ret =
- _gnutls_fbase64_decode(header, b64_data->data, b64_data->size,
- result);
+ ret = _gnutls_fbase64_decode(header, b64_data->data, b64_data->size,
+ result);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -487,8 +478,7 @@ gnutls_pem_base64_decode2(const char *header,
*
* Since: 3.6.0
**/
-int
-gnutls_base64_decode2(const gnutls_datum_t * base64, gnutls_datum_t * result)
+int gnutls_base64_decode2(const gnutls_datum_t *base64, gnutls_datum_t *result)
{
int ret;
@@ -516,7 +506,7 @@ gnutls_base64_decode2(const gnutls_datum_t * base64, gnutls_datum_t * result)
*
* Since: 3.6.0
**/
-int gnutls_base64_encode2(const gnutls_datum_t * data, gnutls_datum_t * result)
+int gnutls_base64_encode2(const gnutls_datum_t *data, gnutls_datum_t *result)
{
int ret;
diff --git a/lib/x509_b64.h b/lib/x509_b64.h
index bc4402dba7..aab8e37765 100644
--- a/lib/x509_b64.h
+++ b/lib/x509_b64.h
@@ -21,24 +21,25 @@
*/
#ifndef GNUTLS_LIB_X509_B64_H
-# define GNUTLS_LIB_X509_B64_H
+#define GNUTLS_LIB_X509_B64_H
-int _gnutls_fbase64_encode(const char *msg, const uint8_t * data,
- size_t data_size, gnutls_datum_t * result);
-int _gnutls_fbase64_decode(const char *header, const uint8_t * data,
- size_t data_size, gnutls_datum_t * result);
+int _gnutls_fbase64_encode(const char *msg, const uint8_t *data,
+ size_t data_size, gnutls_datum_t *result);
+int _gnutls_fbase64_decode(const char *header, const uint8_t *data,
+ size_t data_size, gnutls_datum_t *result);
-int
-_gnutls_base64_decode(const uint8_t * data, size_t data_size,
- gnutls_datum_t * result);
+int _gnutls_base64_decode(const uint8_t *data, size_t data_size,
+ gnutls_datum_t *result);
-# define B64SIZE( data_size) ((data_size%3==0)?((data_size*4)/3):(4+((data_size/3)*4)))
+#define B64SIZE(data_size) \
+ ((data_size % 3 == 0) ? ((data_size * 4) / 3) : \
+ (4 + ((data_size / 3) * 4)))
/* The size for B64 encoding + newlines plus header
*/
-# define B64FSIZE( hsize, dsize) \
+#define B64FSIZE(hsize, dsize) \
(B64SIZE(dsize) + (hsize) + /*newlines*/ \
- B64SIZE(dsize)/64 + (((B64SIZE(dsize) % 64) > 0) ? 1 : 0))
+ B64SIZE(dsize) / 64 + (((B64SIZE(dsize) % 64) > 0) ? 1 : 0))
-#endif /* GNUTLS_LIB_X509_B64_H */
+#endif /* GNUTLS_LIB_X509_B64_H */
diff --git a/libdane/dane-params.c b/libdane/dane-params.c
index 0a262bb3ff..d664abcc32 100644
--- a/libdane/dane-params.c
+++ b/libdane/dane-params.c
@@ -37,11 +37,10 @@ typedef struct cert_type_entry {
dane_cert_type_t type;
} cert_type_entry;
-static const cert_type_entry dane_cert_types[] = {
- {"X.509", DANE_CERT_X509},
- {"SubjectPublicKeyInfo", DANE_CERT_PK},
- {NULL, 0}
-};
+static const cert_type_entry dane_cert_types[] = { { "X.509", DANE_CERT_X509 },
+ { "SubjectPublicKeyInfo",
+ DANE_CERT_PK },
+ { NULL, 0 } };
typedef struct match_type_entry {
const char *name;
@@ -49,10 +48,10 @@ typedef struct match_type_entry {
} match_type_entry;
static const match_type_entry dane_match_types[] = {
- {"Exact match", DANE_MATCH_EXACT},
- {"SHA2-256 hash", DANE_MATCH_SHA2_256},
- {"SHA2-512 hash", DANE_MATCH_SHA2_512},
- {NULL, 0}
+ { "Exact match", DANE_MATCH_EXACT },
+ { "SHA2-256 hash", DANE_MATCH_SHA2_256 },
+ { "SHA2-512 hash", DANE_MATCH_SHA2_512 },
+ { NULL, 0 }
};
typedef struct cert_usage_entry {
@@ -61,11 +60,11 @@ typedef struct cert_usage_entry {
} cert_usage_entry;
static const cert_usage_entry dane_cert_usages[] = {
- {"CA", DANE_CERT_USAGE_CA},
- {"End-entity", DANE_CERT_USAGE_EE},
- {"Local CA", DANE_CERT_USAGE_LOCAL_CA},
- {"Local end-entity", DANE_CERT_USAGE_LOCAL_EE},
- {NULL, 0}
+ { "CA", DANE_CERT_USAGE_CA },
+ { "End-entity", DANE_CERT_USAGE_EE },
+ { "Local CA", DANE_CERT_USAGE_LOCAL_CA },
+ { "Local end-entity", DANE_CERT_USAGE_LOCAL_EE },
+ { NULL, 0 }
};
/**
@@ -132,5 +131,4 @@ const char *dane_cert_usage_name(dane_cert_usage_t usage)
}
return NULL;
-
}
diff --git a/libdane/dane.c b/libdane/dane.c
index e25d600fd7..dd0851fb16 100644
--- a/libdane/dane.c
+++ b/libdane/dane.c
@@ -42,16 +42,16 @@
#undef gnutls_assert_val
#ifdef DEBUG
-# define gnutls_assert() fprintf(stderr, "ASSERT: %s: %d\n", __FILE__, __LINE__);
-# define gnutls_assert_val(x) gnutls_assert_val_int(x, __FILE__, __LINE__)
+#define gnutls_assert() fprintf(stderr, "ASSERT: %s: %d\n", __FILE__, __LINE__);
+#define gnutls_assert_val(x) gnutls_assert_val_int(x, __FILE__, __LINE__)
static int gnutls_assert_val_int(int val, const char *file, int line)
{
fprintf(stderr, "ASSERT: %s: %d\n", file, line);
return val;
}
#else
-# define gnutls_assert()
-# define gnutls_assert_val(x) (x)
+#define gnutls_assert()
+#define gnutls_assert_val(x) (x)
#endif
struct dane_state_st {
@@ -112,10 +112,9 @@ unsigned int dane_query_entries(dane_query_t q)
* Returns: On success, %DANE_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-dane_query_data(dane_query_t q, unsigned int idx,
- unsigned int *usage, unsigned int *type,
- unsigned int *match, gnutls_datum_t * data)
+int dane_query_data(dane_query_t q, unsigned int idx, unsigned int *usage,
+ unsigned int *type, unsigned int *match,
+ gnutls_datum_t *data)
{
if (idx >= q->data_entries)
return gnutls_assert_val(DANE_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -157,10 +156,9 @@ dane_query_data(dane_query_t q, unsigned int idx,
* Returns: On success, %DANE_E_SUCCESS (0) is returned, otherwise a
* negative error value.
*/
-int
-dane_query_to_raw_tlsa(dane_query_t q, unsigned int *data_entries,
- char ***dane_data, int **dane_data_len, int *secure,
- int *bogus)
+int dane_query_to_raw_tlsa(dane_query_t q, unsigned int *data_entries,
+ char ***dane_data, int **dane_data_len, int *secure,
+ int *bogus)
{
size_t data_sz;
char *data_buf;
@@ -196,7 +194,7 @@ dane_query_to_raw_tlsa(dane_query_t q, unsigned int *data_entries,
data_buf += sizeof(**dane_data) * (q->data_entries + 1);
*dane_data_len =
- gnutls_calloc(q->data_entries + 1, sizeof(**dane_data_len));
+ gnutls_calloc(q->data_entries + 1, sizeof(**dane_data_len));
if (*dane_data_len == NULL) {
free(*dane_data);
*dane_data = NULL;
@@ -232,7 +230,7 @@ dane_query_to_raw_tlsa(dane_query_t q, unsigned int *data_entries,
* Returns: On success, %DANE_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int dane_state_init(dane_state_t * s, unsigned int flags)
+int dane_state_init(dane_state_t *s, unsigned int flags)
{
struct ub_ctx *ctx;
int ret;
@@ -265,7 +263,8 @@ int dane_state_init(dane_state_t * s, unsigned int flags)
/* read public keys for DNSSEC verification */
if (!(flags & DANE_F_IGNORE_DNSSEC)) {
- if (ub_ctx_add_ta_file(ctx, (char *)UNBOUND_ROOT_KEY_FILE) != 0) {
+ if (ub_ctx_add_ta_file(ctx, (char *)UNBOUND_ROOT_KEY_FILE) !=
+ 0) {
gnutls_assert();
ret = DANE_E_INITIALIZATION_ERROR;
goto cleanup;
@@ -276,7 +275,7 @@ int dane_state_init(dane_state_t * s, unsigned int flags)
(*s)->flags = flags;
return DANE_E_SUCCESS;
- cleanup:
+cleanup:
if (ctx)
ub_ctx_delete(ctx);
@@ -311,8 +310,8 @@ int dane_state_set_dlv_file(dane_state_t s, const char *file)
{
int ret;
- ret =
- ub_ctx_set_option(s->ctx, (char *)"dlv-anchor-file:", (void *)file);
+ ret = ub_ctx_set_option(s->ctx,
+ (char *)"dlv-anchor-file:", (void *)file);
if (ret != 0)
return gnutls_assert_val(DANE_E_FILE_ERROR);
@@ -353,9 +352,8 @@ void dane_query_deinit(dane_query_t q)
* Returns: On success, %DANE_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-dane_raw_tlsa(dane_state_t s, dane_query_t * r, char *const *dane_data,
- const int *dane_data_len, int secure, int bogus)
+int dane_raw_tlsa(dane_state_t s, dane_query_t *r, char *const *dane_data,
+ const int *dane_data_len, int secure, int bogus)
{
int ret = DANE_E_SUCCESS;
unsigned int i;
@@ -416,9 +414,8 @@ dane_raw_tlsa(dane_state_t s, dane_query_t * r, char *const *dane_data,
* Returns: On success, %DANE_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-dane_query_tlsa(dane_state_t s, dane_query_t * r, const char *host,
- const char *proto, unsigned int port)
+int dane_query_tlsa(dane_state_t s, dane_query_t *r, const char *host,
+ const char *proto, unsigned int port)
{
char ns[1024];
int ret;
@@ -432,15 +429,14 @@ dane_query_tlsa(dane_state_t s, dane_query_t * r, const char *host,
return gnutls_assert_val(DANE_E_RESOLVING_ERROR);
}
-/* show first result */
+ /* show first result */
if (!result->havedata) {
ub_resolve_free(result);
return gnutls_assert_val(DANE_E_NO_DANE_DATA);
}
- ret =
- dane_raw_tlsa(s, r, result->data, result->len, result->secure,
- result->bogus);
+ ret = dane_raw_tlsa(s, r, result->data, result->len, result->secure,
+ result->bogus);
if (*r == NULL) {
ub_resolve_free(result);
return ret;
@@ -449,9 +445,8 @@ dane_query_tlsa(dane_state_t s, dane_query_t * r, const char *host,
return ret;
}
-static unsigned int
-matches(const gnutls_datum_t * raw1, const gnutls_datum_t * raw2,
- dane_match_type_t match)
+static unsigned int matches(const gnutls_datum_t *raw1,
+ const gnutls_datum_t *raw2, dane_match_type_t match)
{
uint8_t digest[64];
int ret;
@@ -465,13 +460,11 @@ matches(const gnutls_datum_t * raw1, const gnutls_datum_t * raw2,
return 1;
} else if (match == DANE_MATCH_SHA2_256) {
-
if (raw2->size != 32)
return gnutls_assert_val(0);
- ret =
- gnutls_hash_fast(GNUTLS_DIG_SHA256, raw1->data,
- raw1->size, digest);
+ ret = gnutls_hash_fast(GNUTLS_DIG_SHA256, raw1->data,
+ raw1->size, digest);
if (ret < 0)
return gnutls_assert_val(0);
@@ -483,9 +476,8 @@ matches(const gnutls_datum_t * raw1, const gnutls_datum_t * raw2,
if (raw2->size != 64)
return gnutls_assert_val(0);
- ret =
- gnutls_hash_fast(GNUTLS_DIG_SHA512, raw1->data,
- raw1->size, digest);
+ ret = gnutls_hash_fast(GNUTLS_DIG_SHA512, raw1->data,
+ raw1->size, digest);
if (ret < 0)
return gnutls_assert_val(0);
@@ -498,7 +490,7 @@ matches(const gnutls_datum_t * raw1, const gnutls_datum_t * raw2,
return gnutls_assert_val(0);
}
-static int crt_to_pubkey(const gnutls_datum_t * raw_crt, gnutls_datum_t * out)
+static int crt_to_pubkey(const gnutls_datum_t *raw_crt, gnutls_datum_t *out)
{
gnutls_pubkey_t pub = NULL;
gnutls_x509_crt_t crt = NULL;
@@ -541,10 +533,10 @@ static int crt_to_pubkey(const gnutls_datum_t * raw_crt, gnutls_datum_t * out)
ret = 0;
goto clean_certs;
- cleanup:
+cleanup:
free(out->data);
out->data = NULL;
- clean_certs:
+clean_certs:
if (pub)
gnutls_pubkey_deinit(pub);
if (crt)
@@ -553,11 +545,10 @@ static int crt_to_pubkey(const gnutls_datum_t * raw_crt, gnutls_datum_t * out)
return ret;
}
-static int
-verify_ca(const gnutls_datum_t * raw_crt, unsigned raw_crt_size,
- gnutls_certificate_type_t crt_type,
- dane_cert_type_t ctype,
- dane_match_type_t match, gnutls_datum_t * data, unsigned int *verify)
+static int verify_ca(const gnutls_datum_t *raw_crt, unsigned raw_crt_size,
+ gnutls_certificate_type_t crt_type, dane_cert_type_t ctype,
+ dane_match_type_t match, gnutls_datum_t *data,
+ unsigned int *verify)
{
gnutls_datum_t pubkey = { NULL, 0 };
int ret, i;
@@ -565,7 +556,7 @@ verify_ca(const gnutls_datum_t * raw_crt, unsigned raw_crt_size,
gnutls_x509_crt_t crt = NULL, ca = NULL;
unsigned is_ok = 0;
- if (raw_crt_size < 2) /* we cannot verify the CA */
+ if (raw_crt_size < 2) /* we cannot verify the CA */
return gnutls_assert_val(DANE_E_UNKNOWN_DANE_DATA);
if (ctype == DANE_CERT_X509 && crt_type == GNUTLS_CRT_X509) {
@@ -630,9 +621,8 @@ verify_ca(const gnutls_datum_t * raw_crt, unsigned raw_crt_size,
goto cleanup;
}
- ret =
- gnutls_x509_crt_import(ca, &raw_crt[i],
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(ca, &raw_crt[i],
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
ret = gnutls_assert_val(DANE_E_CERT_ERROR);
goto cleanup;
@@ -661,7 +651,7 @@ verify_ca(const gnutls_datum_t * raw_crt, unsigned raw_crt_size,
}
ret = 0;
- cleanup:
+cleanup:
free(pubkey.data);
if (crt != NULL)
gnutls_x509_crt_deinit(crt);
@@ -670,23 +660,21 @@ verify_ca(const gnutls_datum_t * raw_crt, unsigned raw_crt_size,
return ret;
}
-static int
-verify_ee(const gnutls_datum_t * raw_crt,
- gnutls_certificate_type_t crt_type, dane_cert_type_t ctype,
- dane_match_type_t match, gnutls_datum_t * data, unsigned int *verify)
+static int verify_ee(const gnutls_datum_t *raw_crt,
+ gnutls_certificate_type_t crt_type, dane_cert_type_t ctype,
+ dane_match_type_t match, gnutls_datum_t *data,
+ unsigned int *verify)
{
gnutls_datum_t pubkey = { NULL, 0 };
int ret;
if (ctype == DANE_CERT_X509 && crt_type == GNUTLS_CRT_X509) {
-
if (!matches(raw_crt, data, match)) {
gnutls_assert();
*verify |= DANE_VERIFY_CERT_DIFFERS;
}
} else if (ctype == DANE_CERT_PK && crt_type == GNUTLS_CRT_X509) {
-
ret = crt_to_pubkey(raw_crt, &pubkey);
if (ret < 0) {
gnutls_assert();
@@ -703,26 +691,26 @@ verify_ee(const gnutls_datum_t * raw_crt,
}
ret = 0;
- cleanup:
+cleanup:
free(pubkey.data);
return ret;
}
#define CHECK_VRET(ret, checked, record_status, status) \
- if (ret == DANE_E_UNKNOWN_DANE_DATA) { \
- /* skip that entry */ \
- continue; \
- } else if (ret < 0) { \
- gnutls_assert(); \
- goto cleanup; \
- } \
- checked = 1; \
- if (record_status == 0) { \
- status = 0; \
- break; \
- } else { \
- status |= record_status; \
- }
+ if (ret == DANE_E_UNKNOWN_DANE_DATA) { \
+ /* skip that entry */ \
+ continue; \
+ } else if (ret < 0) { \
+ gnutls_assert(); \
+ goto cleanup; \
+ } \
+ checked = 1; \
+ if (record_status == 0) { \
+ status = 0; \
+ break; \
+ } else { \
+ status |= record_status; \
+ }
/**
* dane_verify_crt_raw:
@@ -748,13 +736,11 @@ verify_ee(const gnutls_datum_t * raw_crt,
* will be returned.
*
**/
-int
-dane_verify_crt_raw(dane_state_t s,
- const gnutls_datum_t * chain, unsigned chain_size,
- gnutls_certificate_type_t chain_type,
- dane_query_t r,
- unsigned int sflags, unsigned int vflags,
- unsigned int *verify)
+int dane_verify_crt_raw(dane_state_t s, const gnutls_datum_t *chain,
+ unsigned chain_size,
+ gnutls_certificate_type_t chain_type, dane_query_t r,
+ unsigned int sflags, unsigned int vflags,
+ unsigned int *verify)
{
int ret;
unsigned checked = 0;
@@ -781,24 +767,21 @@ dane_verify_crt_raw(dane_state_t s,
goto cleanup;
}
- if (!(vflags & DANE_VFLAG_ONLY_CHECK_EE_USAGE)
- && (usage == DANE_CERT_USAGE_LOCAL_CA
- || usage == DANE_CERT_USAGE_CA)) {
- ret =
- verify_ca(chain, chain_size, chain_type, type,
- match, &data, &record_verify);
+ if (!(vflags & DANE_VFLAG_ONLY_CHECK_EE_USAGE) &&
+ (usage == DANE_CERT_USAGE_LOCAL_CA ||
+ usage == DANE_CERT_USAGE_CA)) {
+ ret = verify_ca(chain, chain_size, chain_type, type,
+ match, &data, &record_verify);
CHECK_VRET(ret, checked, record_verify, *verify);
- } else if (!(vflags & DANE_VFLAG_ONLY_CHECK_CA_USAGE)
- && (usage == DANE_CERT_USAGE_LOCAL_EE
- || usage == DANE_CERT_USAGE_EE)) {
- ret =
- verify_ee(&chain[0], chain_type, type, match,
- &data, &record_verify);
+ } else if (!(vflags & DANE_VFLAG_ONLY_CHECK_CA_USAGE) &&
+ (usage == DANE_CERT_USAGE_LOCAL_EE ||
+ usage == DANE_CERT_USAGE_EE)) {
+ ret = verify_ee(&chain[0], chain_type, type, match,
+ &data, &record_verify);
CHECK_VRET(ret, checked, record_verify, *verify);
}
- }
- while (1);
+ } while (1);
if ((vflags & DANE_VFLAG_FAIL_IF_NOT_CHECKED) && checked == 0) {
ret = gnutls_assert_val(DANE_E_REQUESTED_DATA_NOT_AVAILABLE);
@@ -808,7 +791,7 @@ dane_verify_crt_raw(dane_state_t s,
ret = 0;
}
- cleanup:
+cleanup:
return ret;
}
@@ -849,12 +832,11 @@ dane_verify_crt_raw(dane_state_t s,
* will be returned.
*
**/
-int
-dane_verify_crt(dane_state_t s,
- const gnutls_datum_t * chain, unsigned chain_size,
- gnutls_certificate_type_t chain_type,
- const char *hostname, const char *proto, unsigned int port,
- unsigned int sflags, unsigned int vflags, unsigned int *verify)
+int dane_verify_crt(dane_state_t s, const gnutls_datum_t *chain,
+ unsigned chain_size, gnutls_certificate_type_t chain_type,
+ const char *hostname, const char *proto, unsigned int port,
+ unsigned int sflags, unsigned int vflags,
+ unsigned int *verify)
{
dane_state_t state = NULL;
dane_query_t r = NULL;
@@ -875,9 +857,9 @@ dane_verify_crt(dane_state_t s,
gnutls_assert();
goto cleanup;
}
- ret = dane_verify_crt_raw(state, chain, chain_size, chain_type,
- r, sflags, vflags, verify);
- cleanup:
+ ret = dane_verify_crt_raw(state, chain, chain_size, chain_type, r,
+ sflags, vflags, verify);
+cleanup:
if (state != s)
dane_state_deinit(state);
if (r != NULL)
@@ -911,12 +893,10 @@ dane_verify_crt(dane_state_t s,
* will be returned.
*
**/
-int
-dane_verify_session_crt(dane_state_t s,
- gnutls_session_t session,
- const char *hostname, const char *proto,
- unsigned int port, unsigned int sflags,
- unsigned int vflags, unsigned int *verify)
+int dane_verify_session_crt(dane_state_t s, gnutls_session_t session,
+ const char *hostname, const char *proto,
+ unsigned int port, unsigned int sflags,
+ unsigned int vflags, unsigned int *verify)
{
const gnutls_datum_t *cert_list;
unsigned int cert_list_size = 0;
@@ -939,9 +919,8 @@ dane_verify_session_crt(dane_state_t s,
goto failsafe;
}
- ret =
- gnutls_x509_crt_import(crt, &cert_list[cert_list_size - 1],
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(crt, &cert_list[cert_list_size - 1],
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
gnutls_x509_crt_deinit(crt);
@@ -957,9 +936,8 @@ dane_verify_session_crt(dane_state_t s,
}
/* chain does not finish in a self signed cert, try to obtain the issuer */
- ret =
- gnutls_credentials_get(session, GNUTLS_CRD_CERTIFICATE,
- (void **)&sc);
+ ret = gnutls_credentials_get(session, GNUTLS_CRD_CERTIFICATE,
+ (void **)&sc);
if (ret < 0) {
gnutls_assert();
gnutls_x509_crt_deinit(crt);
@@ -977,7 +955,7 @@ dane_verify_session_crt(dane_state_t s,
gnutls_datum_t *new_cert_list;
new_cert_list =
- gnutls_malloc((cert_list_size + 1) * sizeof(gnutls_datum_t));
+ gnutls_malloc((cert_list_size + 1) * sizeof(gnutls_datum_t));
if (new_cert_list == NULL) {
gnutls_assert();
gnutls_x509_crt_deinit(crt);
@@ -987,9 +965,8 @@ dane_verify_session_crt(dane_state_t s,
memcpy(new_cert_list, cert_list,
cert_list_size * sizeof(gnutls_datum_t));
- ret =
- gnutls_x509_crt_export2(ca, GNUTLS_X509_FMT_DER,
- &new_cert_list[cert_list_size]);
+ ret = gnutls_x509_crt_export2(ca, GNUTLS_X509_FMT_DER,
+ &new_cert_list[cert_list_size]);
if (ret < 0) {
gnutls_assert();
free(new_cert_list);
@@ -1006,9 +983,9 @@ dane_verify_session_crt(dane_state_t s,
free(new_cert_list);
return ret;
- failsafe:
- return dane_verify_crt(s, cert_list, cert_list_size, type,
- hostname, proto, port, sflags, vflags, verify);
+failsafe:
+ return dane_verify_crt(s, cert_list, cert_list_size, type, hostname,
+ proto, port, sflags, vflags, verify);
}
/**
@@ -1026,9 +1003,8 @@ dane_verify_session_crt(dane_state_t s,
* Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
* negative error value.
**/
-int
-dane_verification_status_print(unsigned int status,
- gnutls_datum_t * out, unsigned int flags)
+int dane_verification_status_print(unsigned int status, gnutls_datum_t *out,
+ unsigned int flags)
{
gnutls_buffer_st str;
@@ -1047,9 +1023,8 @@ dane_verification_status_print(unsigned int status,
_gnutls_buffer_append_str(&str, _("The certificate differs. "));
if (status & DANE_VERIFY_NO_DANE_INFO)
- _gnutls_buffer_append_str(&str,
- _
- ("There were no DANE information. "));
+ _gnutls_buffer_append_str(
+ &str, _("There were no DANE information. "));
return _gnutls_buffer_to_datum(&str, out, 1);
}
diff --git a/libdane/errors.c b/libdane/errors.c
index 35ae971723..cf2b405063 100644
--- a/libdane/errors.c
+++ b/libdane/errors.c
@@ -25,11 +25,13 @@
/* I18n of error codes. */
#include "gettext.h"
-#define _(String) dgettext (PACKAGE, String)
-#define N_(String) gettext_noop (String)
+#define _(String) dgettext(PACKAGE, String)
+#define N_(String) gettext_noop(String)
-#define ERROR_ENTRY(desc, name) \
- { desc, #name, name}
+#define ERROR_ENTRY(desc, name) \
+ { \
+ desc, #name, name \
+ }
struct error_entry {
const char *desc;
@@ -44,31 +46,24 @@ static const error_entry error_algorithms[] = {
DANE_E_INITIALIZATION_ERROR),
ERROR_ENTRY(N_("There was an error while resolving."),
DANE_E_RESOLVING_ERROR),
- ERROR_ENTRY(N_("No DANE data were found."),
- DANE_E_NO_DANE_DATA),
+ ERROR_ENTRY(N_("No DANE data were found."), DANE_E_NO_DANE_DATA),
ERROR_ENTRY(N_("Unknown DANE data were found."),
DANE_E_UNKNOWN_DANE_DATA),
- ERROR_ENTRY(N_("No DNSSEC signature was found."),
- DANE_E_NO_DNSSEC_SIG),
- ERROR_ENTRY(N_("Received corrupt data."),
- DANE_E_RECEIVED_CORRUPT_DATA),
+ ERROR_ENTRY(N_("No DNSSEC signature was found."), DANE_E_NO_DNSSEC_SIG),
+ ERROR_ENTRY(N_("Received corrupt data."), DANE_E_RECEIVED_CORRUPT_DATA),
ERROR_ENTRY(N_("The DNSSEC signature is invalid."),
DANE_E_INVALID_DNSSEC_SIG),
- ERROR_ENTRY(N_("There was a memory error."),
- DANE_E_MEMORY_ERROR),
+ ERROR_ENTRY(N_("There was a memory error."), DANE_E_MEMORY_ERROR),
ERROR_ENTRY(N_("The requested data are not available."),
DANE_E_REQUESTED_DATA_NOT_AVAILABLE),
- ERROR_ENTRY(N_("The request is invalid."),
- DANE_E_INVALID_REQUEST),
+ ERROR_ENTRY(N_("The request is invalid."), DANE_E_INVALID_REQUEST),
ERROR_ENTRY(N_("There was an error in the certificate."),
DANE_E_CERT_ERROR),
ERROR_ENTRY(N_("There was an error in the public key."),
DANE_E_PUBKEY_ERROR),
- ERROR_ENTRY(N_("No certificate was found."),
- DANE_E_NO_CERT),
- ERROR_ENTRY(N_("Error in file."),
- DANE_E_FILE_ERROR),
- {NULL, NULL, 0}
+ ERROR_ENTRY(N_("No certificate was found."), DANE_E_NO_CERT),
+ ERROR_ENTRY(N_("Error in file."), DANE_E_FILE_ERROR),
+ { NULL, NULL, 0 }
};
/**
diff --git a/libdane/includes/gnutls/dane.h b/libdane/includes/gnutls/dane.h
index f6ea07d2aa..64088e2b13 100644
--- a/libdane/includes/gnutls/dane.h
+++ b/libdane/includes/gnutls/dane.h
@@ -21,9 +21,9 @@
*/
#ifndef GNUTLS_DANE_H
-# define GNUTLS_DANE_H
+#define GNUTLS_DANE_H
-# include <gnutls/gnutls.h> /* for gnutls_datum_t */
+#include <gnutls/gnutls.h> /* for gnutls_datum_t */
/**
* dane_cert_usage_t:
@@ -104,21 +104,21 @@ typedef enum dane_state_flags_t {
DANE_F_IGNORE_DNSSEC = 4
} dane_state_flags_t;
-int dane_state_init(dane_state_t * s, unsigned int flags);
+int dane_state_init(dane_state_t *s, unsigned int flags);
int dane_state_set_dlv_file(dane_state_t s, const char *file);
void dane_state_deinit(dane_state_t s);
-int dane_raw_tlsa(dane_state_t s, dane_query_t * r, char *const *dane_data,
+int dane_raw_tlsa(dane_state_t s, dane_query_t *r, char *const *dane_data,
const int *dane_data_len, int secure, int bogus);
-int dane_query_tlsa(dane_state_t s, dane_query_t * r, const char *host,
+int dane_query_tlsa(dane_state_t s, dane_query_t *r, const char *host,
const char *proto, unsigned int port);
dane_query_status_t dane_query_status(dane_query_t q);
unsigned int dane_query_entries(dane_query_t q);
-int dane_query_data(dane_query_t q, unsigned int idx,
- unsigned int *usage, unsigned int *type,
- unsigned int *match, gnutls_datum_t * data);
+int dane_query_data(dane_query_t q, unsigned int idx, unsigned int *usage,
+ unsigned int *type, unsigned int *match,
+ gnutls_datum_t *data);
int dane_query_to_raw_tlsa(dane_query_t q, unsigned int *data_entries,
char ***dane_data, int **dane_data_len, int *secure,
int *bogus);
@@ -156,49 +156,45 @@ typedef enum dane_verify_status_t {
DANE_VERIFY_UNKNOWN_DANE_INFO = 1 << 2,
} dane_verify_status_t;
-# define DANE_VERIFY_CA_CONSTRAINS_VIOLATED DANE_VERIFY_CA_CONSTRAINTS_VIOLATED
-# define DANE_VERIFY_NO_DANE_INFO DANE_VERIFY_UNKNOWN_DANE_INFO
+#define DANE_VERIFY_CA_CONSTRAINS_VIOLATED DANE_VERIFY_CA_CONSTRAINTS_VIOLATED
+#define DANE_VERIFY_NO_DANE_INFO DANE_VERIFY_UNKNOWN_DANE_INFO
-int
-dane_verification_status_print(unsigned int status,
- gnutls_datum_t * out, unsigned int flags);
+int dane_verification_status_print(unsigned int status, gnutls_datum_t *out,
+ unsigned int flags);
-int dane_verify_crt_raw(dane_state_t s,
- const gnutls_datum_t * chain, unsigned chain_size,
- gnutls_certificate_type_t chain_type,
- dane_query_t r,
+int dane_verify_crt_raw(dane_state_t s, const gnutls_datum_t *chain,
+ unsigned chain_size,
+ gnutls_certificate_type_t chain_type, dane_query_t r,
unsigned int sflags, unsigned int vflags,
unsigned int *verify);
-int dane_verify_crt(dane_state_t s,
- const gnutls_datum_t * chain, unsigned chain_size,
- gnutls_certificate_type_t chain_type,
- const char *hostname, const char *proto,
- unsigned int port, unsigned int sflags,
- unsigned int vflags, unsigned int *verify);
+int dane_verify_crt(dane_state_t s, const gnutls_datum_t *chain,
+ unsigned chain_size, gnutls_certificate_type_t chain_type,
+ const char *hostname, const char *proto, unsigned int port,
+ unsigned int sflags, unsigned int vflags,
+ unsigned int *verify);
-int dane_verify_session_crt(dane_state_t s,
- gnutls_session_t session,
+int dane_verify_session_crt(dane_state_t s, gnutls_session_t session,
const char *hostname, const char *proto,
unsigned int port, unsigned int sflags,
unsigned int vflags, unsigned int *verify);
const char *dane_strerror(int error);
-# define DANE_E_SUCCESS 0
-# define DANE_E_INITIALIZATION_ERROR -1
-# define DANE_E_RESOLVING_ERROR -2
-# define DANE_E_NO_DANE_DATA -3
-# define DANE_E_RECEIVED_CORRUPT_DATA -4
-# define DANE_E_INVALID_DNSSEC_SIG -5
-# define DANE_E_NO_DNSSEC_SIG -6
-# define DANE_E_MEMORY_ERROR -7
-# define DANE_E_REQUESTED_DATA_NOT_AVAILABLE -8
-# define DANE_E_INVALID_REQUEST -9
-# define DANE_E_PUBKEY_ERROR -10
-# define DANE_E_NO_CERT -11
-# define DANE_E_FILE_ERROR -12
-# define DANE_E_CERT_ERROR -13
-# define DANE_E_UNKNOWN_DANE_DATA -14
-
-#endif /* GNUTLS_DANE_H */
+#define DANE_E_SUCCESS 0
+#define DANE_E_INITIALIZATION_ERROR -1
+#define DANE_E_RESOLVING_ERROR -2
+#define DANE_E_NO_DANE_DATA -3
+#define DANE_E_RECEIVED_CORRUPT_DATA -4
+#define DANE_E_INVALID_DNSSEC_SIG -5
+#define DANE_E_NO_DNSSEC_SIG -6
+#define DANE_E_MEMORY_ERROR -7
+#define DANE_E_REQUESTED_DATA_NOT_AVAILABLE -8
+#define DANE_E_INVALID_REQUEST -9
+#define DANE_E_PUBKEY_ERROR -10
+#define DANE_E_NO_CERT -11
+#define DANE_E_FILE_ERROR -12
+#define DANE_E_CERT_ERROR -13
+#define DANE_E_UNKNOWN_DANE_DATA -14
+
+#endif /* GNUTLS_DANE_H */
diff --git a/src/benchmark-cipher.c b/src/benchmark-cipher.c
index 31949e35f1..9cdfaddfbb 100644
--- a/src/benchmark-cipher.c
+++ b/src/benchmark-cipher.c
@@ -39,12 +39,25 @@ static void tls_log_func(int level, const char *str)
static unsigned page_size = 4096;
-#define ALLOC(x) {x=malloc(step+64);assert(x!=NULL);}
-#define ALLOCM(x, mem) {x=malloc(mem); assert(x!=NULL); assert(gnutls_rnd(GNUTLS_RND_NONCE, x, mem) >= 0);}
+#define ALLOC(x) \
+ { \
+ x = malloc(step + 64); \
+ assert(x != NULL); \
+ }
+#define ALLOCM(x, mem) \
+ { \
+ x = malloc(mem); \
+ assert(x != NULL); \
+ assert(gnutls_rnd(GNUTLS_RND_NONCE, x, mem) >= 0); \
+ }
#define FREE(x) free(x)
-#define INC(orig, x, s) x+=page_size; if ((x+step) >= (((unsigned char*)orig) + MAX_MEM)) { x = orig; }
+#define INC(orig, x, s) \
+ x += page_size; \
+ if ((x + step) >= (((unsigned char *)orig) + MAX_MEM)) { \
+ x = orig; \
+ }
-#define MAX_MEM 64*1024*1024
+#define MAX_MEM 64 * 1024 * 1024
static void cipher_mac_bench(int algo, int mac_algo, int size)
{
@@ -107,15 +120,14 @@ static void cipher_mac_bench(int algo, int mac_algo, int size)
gnutls_cipher_encrypt2(ctx, i, step, output, step + 64);
st.size += step;
INC(input, i, step);
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
gnutls_cipher_deinit(ctx);
gnutls_hmac_deinit(mac_ctx, NULL);
stop_benchmark(&st, NULL, 1);
- leave:
+leave:
FREE(input);
FREE(output);
free(_key);
@@ -156,7 +168,7 @@ static void cipher_bench(int algo, int size, int aead)
/* For AES-XTS, the block and tweak key must be different */
if (algo == GNUTLS_CIPHER_AES_128_XTS ||
algo == GNUTLS_CIPHER_AES_256_XTS) {
- memset((uint8_t *) _key + (keysize / 2), 0x0f, (keysize / 2));
+ memset((uint8_t *)_key + (keysize / 2), 0x0f, (keysize / 2));
}
_iv = malloc(ivsize);
@@ -187,8 +199,7 @@ static void cipher_bench(int algo, int size, int aead)
force_memcpy(output, i, step);
st.size += step;
INC(input, i, step);
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
} else if (aead != 0) {
unsigned tag_size = gnutls_cipher_get_tag_size(algo);
size_t out_size;
@@ -201,13 +212,13 @@ static void cipher_bench(int algo, int size, int aead)
do {
out_size = step + tag_size;
- assert(gnutls_aead_cipher_encrypt
- (actx, iv.data, iv.size, NULL, 0, tag_size, i,
- step, output, &out_size) >= 0);
+ assert(gnutls_aead_cipher_encrypt(
+ actx, iv.data, iv.size, NULL, 0,
+ tag_size, i, step, output,
+ &out_size) >= 0);
st.size += step;
INC(input, i, step);
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
gnutls_aead_cipher_deinit(actx);
} else {
@@ -221,8 +232,7 @@ static void cipher_bench(int algo, int size, int aead)
gnutls_cipher_encrypt2(ctx, i, step, output, step + 64);
st.size += step;
INC(input, i, step);
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
gnutls_cipher_deinit(ctx);
}
@@ -230,7 +240,7 @@ static void cipher_bench(int algo, int size, int aead)
FREE(input);
FREE(output);
- leave:
+leave:
free(_key);
free(_iv);
}
@@ -263,8 +273,7 @@ static void mac_bench(int algo, int size)
gnutls_hmac_fast(algo, _key, key_size, i, step, _key);
st.size += step;
INC(input, i, step);
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
stop_benchmark(&st, NULL, 1);
FREE(input);
diff --git a/src/benchmark-tls.c b/src/benchmark-tls.c
index d0e8c27dcb..5ae4d7dad7 100644
--- a/src/benchmark-tls.c
+++ b/src/benchmark-tls.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,10 +32,10 @@
#include <gnutls/crypto.h>
#include <math.h>
-#define fail(...) \
- { \
+#define fail(...) \
+ { \
fprintf(stderr, __VA_ARGS__); \
- exit(1); \
+ exit(1); \
}
#include "../tests/eagain-common.h"
@@ -43,223 +43,236 @@
const char *side = "";
-#define PRIO_DHE_RSA "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+DHE-RSA:+GROUP-FFDHE3072"
-#define PRIO_ECDH "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-SECP256R1"
-#define PRIO_ECDH_X25519 "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-X25519"
-#define PRIO_ECDHE_ECDSA "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-ECDSA:+CURVE-SECP256R1"
-#define PRIO_ECDH_X25519_ECDSA "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-ECDSA:+CURVE-X25519"
-#define PRIO_ECDH_X25519_EDDSA "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-EDDSA-ED25519:+COMP-NULL:+ECDHE-ECDSA:+CURVE-X25519"
-#define PRIO_RSA "NONE:+VERS-TLS1.2:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA"
-#define PRIO_ECDH_RSA_PSS "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-RSA-PSS-SHA256:+COMP-NULL:+ECDHE-RSA:+CURVE-SECP256R1"
-
-#define PRIO_AES_CBC_SHA1 "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA"
-#define PRIO_TLS12_AES_GCM "NONE:+VERS-TLS1.2:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA"
-#define PRIO_AES_GCM "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
-#define PRIO_TLS12_AES_CCM "NONE:+VERS-TLS1.2:+AES-128-CCM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA"
-#define PRIO_AES_CCM "NONE:+VERS-TLS1.3:+AES-128-CCM:+AEAD:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
-#define PRIO_TLS12_CHACHA_POLY1305 "NONE:+VERS-TLS1.2:+CHACHA20-POLY1305:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-ALL"
-#define PRIO_CHACHA_POLY1305 "NONE:+VERS-TLS1.3:+CHACHA20-POLY1305:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-ALL"
-#define PRIO_CAMELLIA_CBC_SHA1 "NONE:+VERS-TLS1.0:+CAMELLIA-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA"
-#define PRIO_GOST_CNT "NONE:+VERS-TLS1.2:+GOST28147-TC26Z-CNT:+GOST28147-TC26Z-IMIT:+SIGN-ALL:+SIGN-GOSTR341012-256:+COMP-NULL:+VKO-GOST-12:+GROUP-GOST-ALL"
+#define PRIO_DHE_RSA \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+DHE-RSA:+GROUP-FFDHE3072"
+#define PRIO_ECDH \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-SECP256R1"
+#define PRIO_ECDH_X25519 \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-X25519"
+#define PRIO_ECDHE_ECDSA \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-ECDSA:+CURVE-SECP256R1"
+#define PRIO_ECDH_X25519_ECDSA \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-ECDSA:+CURVE-X25519"
+#define PRIO_ECDH_X25519_EDDSA \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-EDDSA-ED25519:+COMP-NULL:+ECDHE-ECDSA:+CURVE-X25519"
+#define PRIO_RSA \
+ "NONE:+VERS-TLS1.2:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA"
+#define PRIO_ECDH_RSA_PSS \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-RSA-PSS-SHA256:+COMP-NULL:+ECDHE-RSA:+CURVE-SECP256R1"
+
+#define PRIO_AES_CBC_SHA1 \
+ "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA"
+#define PRIO_TLS12_AES_GCM \
+ "NONE:+VERS-TLS1.2:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA"
+#define PRIO_AES_GCM \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define PRIO_TLS12_AES_CCM \
+ "NONE:+VERS-TLS1.2:+AES-128-CCM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA"
+#define PRIO_AES_CCM \
+ "NONE:+VERS-TLS1.3:+AES-128-CCM:+AEAD:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define PRIO_TLS12_CHACHA_POLY1305 \
+ "NONE:+VERS-TLS1.2:+CHACHA20-POLY1305:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-ALL"
+#define PRIO_CHACHA_POLY1305 \
+ "NONE:+VERS-TLS1.3:+CHACHA20-POLY1305:+AEAD:+SIGN-ALL:+COMP-NULL:+ECDHE-RSA:+CURVE-ALL"
+#define PRIO_CAMELLIA_CBC_SHA1 \
+ "NONE:+VERS-TLS1.0:+CAMELLIA-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA"
+#define PRIO_GOST_CNT \
+ "NONE:+VERS-TLS1.2:+GOST28147-TC26Z-CNT:+GOST28147-TC26Z-IMIT:+SIGN-ALL:+SIGN-GOSTR341012-256:+COMP-NULL:+VKO-GOST-12:+GROUP-GOST-ALL"
static const int rsa_bits = 3072, ec_bits = 256;
static unsigned char server_rsa_pss_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIErTCCAuWgAwIBAgIIWTZrqjOeCfIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgB\n"
- "ZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASAwFzEVMBMGA1UE\n"
- "AxMMcnNhLXBzcyBjZXJ0MCAXDTE3MDYwNjA4NDUzMVoYDzk5OTkxMjMxMjM1OTU5\n"
- "WjAXMRUwEwYDVQQDEwxyc2EtcHNzIGNlcnQwggHSMD0GCSqGSIb3DQEBCjAwoA0w\n"
- "CwYJYIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIDAgEgA4IB\n"
- "jwAwggGKAoIBgQDswF+JIWGcyu+JfjTcM8UDRKaxOuLVY0SODV1uaXPB5ZW9nEX/\n"
- "FFYIG+ldSKCyz5JF5ThrdvwqO+GVByuvETJdM7N4i8fzGHU8WIsj/CABAV+SaDT/\n"
- "xb+h1ar9dIehKelBmXQADVFX+xvu9OM5Ft3P/wyO9gWWrR7e/MU/SVzWzMT69+5Y\n"
- "oE4QkrYYCuEBtlVHDo2mmNWGSQ5tUVIWARgXbqsmj4voWkutE/CiT0+g6GQilMAR\n"
- "kROElIhO5NH+u3/Lt2wRQO5tEP1JmSoqvrMOmF16txze8qMzvKg1Eafijv9DR4Nc\n"
- "Cc6s8+g+CZbyODSdAybiyKsC7JCIrQjsnAjgPKKBLuZ1NTmu5liuXO05XsdcBoKD\n"
- "bKNAQdJCz4uxfqTr4CGFgHQk48Nhmq01EGmpwAeA/BOCB5qsWzqURtMX8EVB1Zdo\n"
- "3LD5Vwz18mm+ZdeLPlYy3L/FBpVPDbYoZlFgINUNCQvGgvzqGJAQrKR4w8X/Y6HH\n"
- "9R8sv+U8kNtQI90CAwEAAaNrMGkwDAYDVR0TAQH/BAIwADAUBgNVHREEDTALggls\n"
- "b2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAweAADAd\n"
- "BgNVHQ4EFgQU1TmyUrkZZn4yMf4asV5OKq8bZ1gwPQYJKoZIhvcNAQEKMDCgDTAL\n"
- "BglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASADggGB\n"
- "AGxMPB+Z6pgmWNRw5NjIJgnvJfdMWmQib0II5kdU9I1UybrVRUGpI6tFjIB/pRWU\n"
- "SiD8wTZpxfTHkRHUn+Wyhh14XOg2Pdad5Ek2XU/QblL2k4kh1sHdOcCRFbDzP5k8\n"
- "LKIzFcndgnKTRun5368H+NLcXRx/KAi7s9zi4swp9dPxRvNvp8HjQyVhdFi5pK6n\n"
- "pN1Sw/QD22CE1fRVJ3OYxq4sqCEZANhRv6h/M3AcetGt4LR8ErwuzP1fdtuXeumw\n"
- "T0deQ2hhSYZmbkk/S+qHA8as6J224ry7Zr5bhB9hr52yum9yC9SjFy0XEV/895jJ\n"
- "0MDIM33DmPUdnn90Btt+Oq+bgZqTIolifSmcs0sPH10SuxDOnXwkbR44Wu9NbCzx\n"
- "h3VzhlxAdgcnOYSmJnXKWXog4N1BPFrB4rFqXWFF0Avqs4euK81W4IQ4Sk7fYT7C\n"
- "tyrDILPqBhN80Q9Me70y7KRsek6yFn4Jd0Lok6vetaeWtSW0929bhU49b1hkdSzt\n"
- "kw==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIErTCCAuWgAwIBAgIIWTZrqjOeCfIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgB\n"
+ "ZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASAwFzEVMBMGA1UE\n"
+ "AxMMcnNhLXBzcyBjZXJ0MCAXDTE3MDYwNjA4NDUzMVoYDzk5OTkxMjMxMjM1OTU5\n"
+ "WjAXMRUwEwYDVQQDEwxyc2EtcHNzIGNlcnQwggHSMD0GCSqGSIb3DQEBCjAwoA0w\n"
+ "CwYJYIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIDAgEgA4IB\n"
+ "jwAwggGKAoIBgQDswF+JIWGcyu+JfjTcM8UDRKaxOuLVY0SODV1uaXPB5ZW9nEX/\n"
+ "FFYIG+ldSKCyz5JF5ThrdvwqO+GVByuvETJdM7N4i8fzGHU8WIsj/CABAV+SaDT/\n"
+ "xb+h1ar9dIehKelBmXQADVFX+xvu9OM5Ft3P/wyO9gWWrR7e/MU/SVzWzMT69+5Y\n"
+ "oE4QkrYYCuEBtlVHDo2mmNWGSQ5tUVIWARgXbqsmj4voWkutE/CiT0+g6GQilMAR\n"
+ "kROElIhO5NH+u3/Lt2wRQO5tEP1JmSoqvrMOmF16txze8qMzvKg1Eafijv9DR4Nc\n"
+ "Cc6s8+g+CZbyODSdAybiyKsC7JCIrQjsnAjgPKKBLuZ1NTmu5liuXO05XsdcBoKD\n"
+ "bKNAQdJCz4uxfqTr4CGFgHQk48Nhmq01EGmpwAeA/BOCB5qsWzqURtMX8EVB1Zdo\n"
+ "3LD5Vwz18mm+ZdeLPlYy3L/FBpVPDbYoZlFgINUNCQvGgvzqGJAQrKR4w8X/Y6HH\n"
+ "9R8sv+U8kNtQI90CAwEAAaNrMGkwDAYDVR0TAQH/BAIwADAUBgNVHREEDTALggls\n"
+ "b2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAweAADAd\n"
+ "BgNVHQ4EFgQU1TmyUrkZZn4yMf4asV5OKq8bZ1gwPQYJKoZIhvcNAQEKMDCgDTAL\n"
+ "BglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASADggGB\n"
+ "AGxMPB+Z6pgmWNRw5NjIJgnvJfdMWmQib0II5kdU9I1UybrVRUGpI6tFjIB/pRWU\n"
+ "SiD8wTZpxfTHkRHUn+Wyhh14XOg2Pdad5Ek2XU/QblL2k4kh1sHdOcCRFbDzP5k8\n"
+ "LKIzFcndgnKTRun5368H+NLcXRx/KAi7s9zi4swp9dPxRvNvp8HjQyVhdFi5pK6n\n"
+ "pN1Sw/QD22CE1fRVJ3OYxq4sqCEZANhRv6h/M3AcetGt4LR8ErwuzP1fdtuXeumw\n"
+ "T0deQ2hhSYZmbkk/S+qHA8as6J224ry7Zr5bhB9hr52yum9yC9SjFy0XEV/895jJ\n"
+ "0MDIM33DmPUdnn90Btt+Oq+bgZqTIolifSmcs0sPH10SuxDOnXwkbR44Wu9NbCzx\n"
+ "h3VzhlxAdgcnOYSmJnXKWXog4N1BPFrB4rFqXWFF0Avqs4euK81W4IQ4Sk7fYT7C\n"
+ "tyrDILPqBhN80Q9Me70y7KRsek6yFn4Jd0Lok6vetaeWtSW0929bhU49b1hkdSzt\n"
+ "kw==\n"
+ "-----END CERTIFICATE-----\n";
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEOjCCAqKgAwIBAgIMU+I+KjQZpH+ZdjOlMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIhgPMjAxNDA4MDYxNDM5MzhaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGK\n"
- "AoIBgQDswF+JIWGcyu+JfjTcM8UDRKaxOuLVY0SODV1uaXPB5ZW9nEX/FFYIG+ld\n"
- "SKCyz5JF5ThrdvwqO+GVByuvETJdM7N4i8fzGHU8WIsj/CABAV+SaDT/xb+h1ar9\n"
- "dIehKelBmXQADVFX+xvu9OM5Ft3P/wyO9gWWrR7e/MU/SVzWzMT69+5YoE4QkrYY\n"
- "CuEBtlVHDo2mmNWGSQ5tUVIWARgXbqsmj4voWkutE/CiT0+g6GQilMARkROElIhO\n"
- "5NH+u3/Lt2wRQO5tEP1JmSoqvrMOmF16txze8qMzvKg1Eafijv9DR4NcCc6s8+g+\n"
- "CZbyODSdAybiyKsC7JCIrQjsnAjgPKKBLuZ1NTmu5liuXO05XsdcBoKDbKNAQdJC\n"
- "z4uxfqTr4CGFgHQk48Nhmq01EGmpwAeA/BOCB5qsWzqURtMX8EVB1Zdo3LD5Vwz1\n"
- "8mm+ZdeLPlYy3L/FBpVPDbYoZlFgINUNCQvGgvzqGJAQrKR4w8X/Y6HH9R8sv+U8\n"
- "kNtQI90CAwEAAaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2Fs\n"
- "aG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1Ud\n"
- "DgQWBBTVObJSuRlmfjIx/hqxXk4qrxtnWDAfBgNVHSMEGDAWgBQ5vvRl/1WhIqpf\n"
- "ZFiHs89kf3N3OTANBgkqhkiG9w0BAQsFAAOCAYEAC0KQNPASZ7adSMMM3qx0Ny8Z\n"
- "AkcVAtohkjlwCwhoutcavZVyTjdpGydte6nfyTWOjs6ATBV2GhpyH+nvRJaYQFAh\n"
- "7uksjJxptSlaQuJqUI12urzx6BX0kenwh7nNwnLOngSBRqYwQqQdbnZf0w1DAdac\n"
- "vSa/Y1PrDpcXyPHpk7pDrtI9Mj24rIbvjeWM1RfgkNQYLPkZBDQqKkc5UrCA5y3v\n"
- "3motWyTdfvVYL7KWcEmGeKsWaTDkahd8Xhx29WvE4P740AOvXm/nkrE+PkHODbXi\n"
- "iD0a4cO2FPjjVt5ji+iaJTaXBEd9GHklKE6ZTZhj5az9ygQj1m6HZ2i3shWtG2ks\n"
- "AjgnGzsA8Wm/5X6YyR8UND41rS/lAc9yx8Az9Hqzfg8aOyvixYVPNKoTEPAMmypA\n"
- "oQT6g4b989lZFcjrwnLCrwz83jPD683p5IenCnRI5yhuFoQauy2tgHIbC1FRgs0C\n"
- "dyiOeDh80u1fekMVjRztIAwavuwxI6XgRzPSHhWR\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEOjCCAqKgAwIBAgIMU+I+KjQZpH+ZdjOlMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIhgPMjAxNDA4MDYxNDM5MzhaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGK\n"
+ "AoIBgQDswF+JIWGcyu+JfjTcM8UDRKaxOuLVY0SODV1uaXPB5ZW9nEX/FFYIG+ld\n"
+ "SKCyz5JF5ThrdvwqO+GVByuvETJdM7N4i8fzGHU8WIsj/CABAV+SaDT/xb+h1ar9\n"
+ "dIehKelBmXQADVFX+xvu9OM5Ft3P/wyO9gWWrR7e/MU/SVzWzMT69+5YoE4QkrYY\n"
+ "CuEBtlVHDo2mmNWGSQ5tUVIWARgXbqsmj4voWkutE/CiT0+g6GQilMARkROElIhO\n"
+ "5NH+u3/Lt2wRQO5tEP1JmSoqvrMOmF16txze8qMzvKg1Eafijv9DR4NcCc6s8+g+\n"
+ "CZbyODSdAybiyKsC7JCIrQjsnAjgPKKBLuZ1NTmu5liuXO05XsdcBoKDbKNAQdJC\n"
+ "z4uxfqTr4CGFgHQk48Nhmq01EGmpwAeA/BOCB5qsWzqURtMX8EVB1Zdo3LD5Vwz1\n"
+ "8mm+ZdeLPlYy3L/FBpVPDbYoZlFgINUNCQvGgvzqGJAQrKR4w8X/Y6HH9R8sv+U8\n"
+ "kNtQI90CAwEAAaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2Fs\n"
+ "aG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1Ud\n"
+ "DgQWBBTVObJSuRlmfjIx/hqxXk4qrxtnWDAfBgNVHSMEGDAWgBQ5vvRl/1WhIqpf\n"
+ "ZFiHs89kf3N3OTANBgkqhkiG9w0BAQsFAAOCAYEAC0KQNPASZ7adSMMM3qx0Ny8Z\n"
+ "AkcVAtohkjlwCwhoutcavZVyTjdpGydte6nfyTWOjs6ATBV2GhpyH+nvRJaYQFAh\n"
+ "7uksjJxptSlaQuJqUI12urzx6BX0kenwh7nNwnLOngSBRqYwQqQdbnZf0w1DAdac\n"
+ "vSa/Y1PrDpcXyPHpk7pDrtI9Mj24rIbvjeWM1RfgkNQYLPkZBDQqKkc5UrCA5y3v\n"
+ "3motWyTdfvVYL7KWcEmGeKsWaTDkahd8Xhx29WvE4P740AOvXm/nkrE+PkHODbXi\n"
+ "iD0a4cO2FPjjVt5ji+iaJTaXBEd9GHklKE6ZTZhj5az9ygQj1m6HZ2i3shWtG2ks\n"
+ "AjgnGzsA8Wm/5X6YyR8UND41rS/lAc9yx8Az9Hqzfg8aOyvixYVPNKoTEPAMmypA\n"
+ "oQT6g4b989lZFcjrwnLCrwz83jPD683p5IenCnRI5yhuFoQauy2tgHIbC1FRgs0C\n"
+ "dyiOeDh80u1fekMVjRztIAwavuwxI6XgRzPSHhWR\n"
+ "-----END CERTIFICATE-----\n";
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG5gIBAAKCAYEA7MBfiSFhnMrviX403DPFA0SmsTri1WNEjg1dbmlzweWVvZxF\n"
- "/xRWCBvpXUigss+SReU4a3b8KjvhlQcrrxEyXTOzeIvH8xh1PFiLI/wgAQFfkmg0\n"
- "/8W/odWq/XSHoSnpQZl0AA1RV/sb7vTjORbdz/8MjvYFlq0e3vzFP0lc1szE+vfu\n"
- "WKBOEJK2GArhAbZVRw6NppjVhkkObVFSFgEYF26rJo+L6FpLrRPwok9PoOhkIpTA\n"
- "EZEThJSITuTR/rt/y7dsEUDubRD9SZkqKr6zDphdercc3vKjM7yoNRGn4o7/Q0eD\n"
- "XAnOrPPoPgmW8jg0nQMm4sirAuyQiK0I7JwI4DyigS7mdTU5ruZYrlztOV7HXAaC\n"
- "g2yjQEHSQs+LsX6k6+AhhYB0JOPDYZqtNRBpqcAHgPwTggearFs6lEbTF/BFQdWX\n"
- "aNyw+VcM9fJpvmXXiz5WMty/xQaVTw22KGZRYCDVDQkLxoL86hiQEKykeMPF/2Oh\n"
- "x/UfLL/lPJDbUCPdAgMBAAECggGBAOZzh0sjbDHENBBhAjFKTz6UJ7IigMR3oTao\n"
- "+cZM7XnS8cQkhtn5wJiaGrlLxejoNhjFO/sXUfQGX9nBphr+IUkp10vCvHn717pK\n"
- "8f2wILL51D7eIqDJq3RrWMroEFGnSz8okQqv6/s5GgKq6zcZ9AXP3TiXb+8wSvmB\n"
- "kLq+vZj0r9UfWyl3uSVWuduDU2xoQHAvUWDWKhpRqLJuUvnKTNoaRoz9c5FTu5AY\n"
- "9cX4b6lQLJCgvKkcz6PhNSGeiG5tsONi89sNuF3MYO+a4JBpD3l/lj1inHDEhlpd\n"
- "xHdbXNv4vw2rJECt5O8Ff3aT3g3voenP0xbfrQ5m6dIrEscU1KMkYIg+wCVV+oNj\n"
- "4OhmBvdN/mXKEFpxKNk6C78feA1+ZygNWeBhgY0hiA98oI77H9kN8iuKaOaxYbEG\n"
- "qCwHrPbL+fVcLKouN6i3E3kpDIp5HMx4bYWyzotXXrpAWj7D/5saBCdErH0ab4Sb\n"
- "2I3tZ49qDIfcKl0bdpTiidbGKasL/QKBwQD+Qlo4m2aZLYSfBxygqiLv42vpeZAB\n"
- "4//MeAFnxFcdF+JL6Lo3gfzP3bJ8EEq2b+psmk5yofiNDVaHTb4iOS3DX/JCmnmj\n"
- "+zAEfMCVLljYJlACVnyPb+8h+T0UEsQWMiFWZxsv+AbHs/cnpVtdnvO0Hg8VRrHu\n"
- "dpKOauuhPkpFxtbbkxJWIapvYr/jqD8m+fDSMWJuxMGKmgKiefy+pS2N7hrbNZF4\n"
- "OD/TdCim5qDVuSwj/g2Y7WOTf3UJ5Jo4CmMCgcEA7l9VnhEb3UrAHhGe7bAgZ4Wm\n"
- "1ncFVOWc9X/tju3QUpNEow6I0skav2i3A/ZA36Iy/w4Sf8RAQC+77NzBEIKyLjK1\n"
- "PfwXPoH2hrtD3WSQlAFG4u8DsRWt4GZY3OAzmqWenhQcUoJ1zgTyRwOFfX1R38NF\n"
- "8QeHck5KUUNoi56Vc7BCo/ypacz33RqzVEj6z5ScogTqC8nNn1a+/rfpTKzotJqc\n"
- "PJHMXTduAB6x4QHerpzGJQYucAJSD1VJbFwEWUy/AoHBAIvKb1AwIHiXThMhFdw/\n"
- "rnW1097JtyNS95CzahJjIIIeX4zcp4VdMmIWwcr0Kh+j6H9NV1QvOThT3P8G/0JR\n"
- "rZd9aPS1eaturzfIXxmmIbK1XcfrRRCXuiIzpiEjMCwD49BdX9U/yHqDt59Uiqcu\n"
- "fU7KOAC6nZk+F9W1c1dzp+I1MGwIsEwqtkoHQPkpx47mXEE0ZaoBA2fwxQIPj6ZB\n"
- "qooeHyXmjdRLGMxpUPByXHslE9+2DkPGQLkXmoGV7jRhgQKBwQDL+LnbgwpT5pXU\n"
- "ZQGYpABmdQAZPklKpxwTGr+dcTO0pR2zZUmBDOKdbS5F7p7+fd2jUFhWCglsoyvs\n"
- "d82goiVz0KI0AxWkwDLCgVWGCXqJmzocD6gaDNH3VbyubA7cQuIipFTD6ayCeMsU\n"
- "JxhAFE9N6NtdbzLghcukE8lOx4ldMDMl/Zq91M033pQbCEPOAn2xSgE3yxvvP5w5\n"
- "fAffO4n4mOAeGChGj5rJ8XoGbsIsqiwHHG36HJI5WqJ0XZy/CSMCgcEA4M05digH\n"
- "VZE5T/eKLFNEnUB1W9tWAzj+BAqmR1rlwQt5O3fC8F7XqkSowhcRTDHUdoOkdVz/\n"
- "jMgRqGs0O+cl8tLImD6d1mFR6Yxu0PHwXUwQVklW8txGGOKv0+2MFMlkFjuwCbNN\n"
- "XZ2rmZq/JywCJmVAH0wToXZyEqhilLZ9TLs6m2d2+2hlxJM6XmXjc7A/fC089bSX\n"
- "W+lG+lHYAA3tjkBWvb7YAPriahcFrRBvQb5zx4L4NXMHlXMUnA/KlMW2\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG5gIBAAKCAYEA7MBfiSFhnMrviX403DPFA0SmsTri1WNEjg1dbmlzweWVvZxF\n"
+ "/xRWCBvpXUigss+SReU4a3b8KjvhlQcrrxEyXTOzeIvH8xh1PFiLI/wgAQFfkmg0\n"
+ "/8W/odWq/XSHoSnpQZl0AA1RV/sb7vTjORbdz/8MjvYFlq0e3vzFP0lc1szE+vfu\n"
+ "WKBOEJK2GArhAbZVRw6NppjVhkkObVFSFgEYF26rJo+L6FpLrRPwok9PoOhkIpTA\n"
+ "EZEThJSITuTR/rt/y7dsEUDubRD9SZkqKr6zDphdercc3vKjM7yoNRGn4o7/Q0eD\n"
+ "XAnOrPPoPgmW8jg0nQMm4sirAuyQiK0I7JwI4DyigS7mdTU5ruZYrlztOV7HXAaC\n"
+ "g2yjQEHSQs+LsX6k6+AhhYB0JOPDYZqtNRBpqcAHgPwTggearFs6lEbTF/BFQdWX\n"
+ "aNyw+VcM9fJpvmXXiz5WMty/xQaVTw22KGZRYCDVDQkLxoL86hiQEKykeMPF/2Oh\n"
+ "x/UfLL/lPJDbUCPdAgMBAAECggGBAOZzh0sjbDHENBBhAjFKTz6UJ7IigMR3oTao\n"
+ "+cZM7XnS8cQkhtn5wJiaGrlLxejoNhjFO/sXUfQGX9nBphr+IUkp10vCvHn717pK\n"
+ "8f2wILL51D7eIqDJq3RrWMroEFGnSz8okQqv6/s5GgKq6zcZ9AXP3TiXb+8wSvmB\n"
+ "kLq+vZj0r9UfWyl3uSVWuduDU2xoQHAvUWDWKhpRqLJuUvnKTNoaRoz9c5FTu5AY\n"
+ "9cX4b6lQLJCgvKkcz6PhNSGeiG5tsONi89sNuF3MYO+a4JBpD3l/lj1inHDEhlpd\n"
+ "xHdbXNv4vw2rJECt5O8Ff3aT3g3voenP0xbfrQ5m6dIrEscU1KMkYIg+wCVV+oNj\n"
+ "4OhmBvdN/mXKEFpxKNk6C78feA1+ZygNWeBhgY0hiA98oI77H9kN8iuKaOaxYbEG\n"
+ "qCwHrPbL+fVcLKouN6i3E3kpDIp5HMx4bYWyzotXXrpAWj7D/5saBCdErH0ab4Sb\n"
+ "2I3tZ49qDIfcKl0bdpTiidbGKasL/QKBwQD+Qlo4m2aZLYSfBxygqiLv42vpeZAB\n"
+ "4//MeAFnxFcdF+JL6Lo3gfzP3bJ8EEq2b+psmk5yofiNDVaHTb4iOS3DX/JCmnmj\n"
+ "+zAEfMCVLljYJlACVnyPb+8h+T0UEsQWMiFWZxsv+AbHs/cnpVtdnvO0Hg8VRrHu\n"
+ "dpKOauuhPkpFxtbbkxJWIapvYr/jqD8m+fDSMWJuxMGKmgKiefy+pS2N7hrbNZF4\n"
+ "OD/TdCim5qDVuSwj/g2Y7WOTf3UJ5Jo4CmMCgcEA7l9VnhEb3UrAHhGe7bAgZ4Wm\n"
+ "1ncFVOWc9X/tju3QUpNEow6I0skav2i3A/ZA36Iy/w4Sf8RAQC+77NzBEIKyLjK1\n"
+ "PfwXPoH2hrtD3WSQlAFG4u8DsRWt4GZY3OAzmqWenhQcUoJ1zgTyRwOFfX1R38NF\n"
+ "8QeHck5KUUNoi56Vc7BCo/ypacz33RqzVEj6z5ScogTqC8nNn1a+/rfpTKzotJqc\n"
+ "PJHMXTduAB6x4QHerpzGJQYucAJSD1VJbFwEWUy/AoHBAIvKb1AwIHiXThMhFdw/\n"
+ "rnW1097JtyNS95CzahJjIIIeX4zcp4VdMmIWwcr0Kh+j6H9NV1QvOThT3P8G/0JR\n"
+ "rZd9aPS1eaturzfIXxmmIbK1XcfrRRCXuiIzpiEjMCwD49BdX9U/yHqDt59Uiqcu\n"
+ "fU7KOAC6nZk+F9W1c1dzp+I1MGwIsEwqtkoHQPkpx47mXEE0ZaoBA2fwxQIPj6ZB\n"
+ "qooeHyXmjdRLGMxpUPByXHslE9+2DkPGQLkXmoGV7jRhgQKBwQDL+LnbgwpT5pXU\n"
+ "ZQGYpABmdQAZPklKpxwTGr+dcTO0pR2zZUmBDOKdbS5F7p7+fd2jUFhWCglsoyvs\n"
+ "d82goiVz0KI0AxWkwDLCgVWGCXqJmzocD6gaDNH3VbyubA7cQuIipFTD6ayCeMsU\n"
+ "JxhAFE9N6NtdbzLghcukE8lOx4ldMDMl/Zq91M033pQbCEPOAn2xSgE3yxvvP5w5\n"
+ "fAffO4n4mOAeGChGj5rJ8XoGbsIsqiwHHG36HJI5WqJ0XZy/CSMCgcEA4M05digH\n"
+ "VZE5T/eKLFNEnUB1W9tWAzj+BAqmR1rlwQt5O3fC8F7XqkSowhcRTDHUdoOkdVz/\n"
+ "jMgRqGs0O+cl8tLImD6d1mFR6Yxu0PHwXUwQVklW8txGGOKv0+2MFMlkFjuwCbNN\n"
+ "XZ2rmZq/JywCJmVAH0wToXZyEqhilLZ9TLs6m2d2+2hlxJM6XmXjc7A/fC089bSX\n"
+ "W+lG+lHYAA3tjkBWvb7YAPriahcFrRBvQb5zx4L4NXMHlXMUnA/KlMW2\n"
+ "-----END RSA PRIVATE KEY-----\n";
static unsigned char server_ecc_key_pem[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHgCAQEEIQDrAKCAbdMKPngHu4zdSQ2Pghob8PhyrbUpWAR8V07E+qAKBggqhkjO\n"
- "PQMBB6FEA0IABDfo4YLPkO4pBpQamtObIV3J6l92vI+RkyNtaQ9gtSWDj20w/aBC\n"
- "WlbcTsRZ2itEpJ6GdLsGOW4RRfmiubzC9JU=\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHgCAQEEIQDrAKCAbdMKPngHu4zdSQ2Pghob8PhyrbUpWAR8V07E+qAKBggqhkjO\n"
+ "PQMBB6FEA0IABDfo4YLPkO4pBpQamtObIV3J6l92vI+RkyNtaQ9gtSWDj20w/aBC\n"
+ "WlbcTsRZ2itEpJ6GdLsGOW4RRfmiubzC9JU=\n"
+ "-----END EC PRIVATE KEY-----\n";
static unsigned char server_ecc_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIBrjCCAVSgAwIBAgIMU+I+axGZmBD/YL96MAoGCCqGSM49BAMCMA8xDTALBgNV\n"
- "BAMTBENBLTAwIhgPMjAxNDA4MDYxNDQwNDNaGA85OTk5MTIzMTIzNTk1OVowEzER\n"
- "MA8GA1UEAxMIc2VydmVyLTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ36OGC\n"
- "z5DuKQaUGprTmyFdyepfdryPkZMjbWkPYLUlg49tMP2gQlpW3E7EWdorRKSehnS7\n"
- "BjluEUX5orm8wvSVo4GNMIGKMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9j\n"
- "YWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMHgAAwHQYD\n"
- "VR0OBBYEFOuSntH2To0gJLH79Ow4wNpBuhmEMB8GA1UdIwQYMBaAFMZ1miRvZAYr\n"
- "nBEymOtPjbfTrnblMAoGCCqGSM49BAMCA0gAMEUCIQCMP3aBcCxSPbCUhihOsUmH\n"
- "G04AgT1PKw8z4LgZ4VGTVAIgYw3IFwS5sSYEAHRZAH8eaTXTz7XFmWmnkve9EBkN\n"
- "cBE=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIBrjCCAVSgAwIBAgIMU+I+axGZmBD/YL96MAoGCCqGSM49BAMCMA8xDTALBgNV\n"
+ "BAMTBENBLTAwIhgPMjAxNDA4MDYxNDQwNDNaGA85OTk5MTIzMTIzNTk1OVowEzER\n"
+ "MA8GA1UEAxMIc2VydmVyLTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ36OGC\n"
+ "z5DuKQaUGprTmyFdyepfdryPkZMjbWkPYLUlg49tMP2gQlpW3E7EWdorRKSehnS7\n"
+ "BjluEUX5orm8wvSVo4GNMIGKMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9j\n"
+ "YWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMHgAAwHQYD\n"
+ "VR0OBBYEFOuSntH2To0gJLH79Ow4wNpBuhmEMB8GA1UdIwQYMBaAFMZ1miRvZAYr\n"
+ "nBEymOtPjbfTrnblMAoGCCqGSM49BAMCA0gAMEUCIQCMP3aBcCxSPbCUhihOsUmH\n"
+ "G04AgT1PKw8z4LgZ4VGTVAIgYw3IFwS5sSYEAHRZAH8eaTXTz7XFmWmnkve9EBkN\n"
+ "cBE=\n"
+ "-----END CERTIFICATE-----\n";
static unsigned char server_ed25519_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MC4CAQAwBQYDK2VwBCIEIOXDJXOU6J6XdXx4WfcyPILPYJDH5bRfm9em+DYMkllw\n"
- "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MC4CAQAwBQYDK2VwBCIEIOXDJXOU6J6XdXx4WfcyPILPYJDH5bRfm9em+DYMkllw\n"
+ "-----END PRIVATE KEY-----\n";
static unsigned char server_ed25519_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIBwTCCAWagAwIBAgIIWTZasQWGNVEwCgYIKoZIzj0EAwIwfTELMAkGA1UEBhMC\n"
- "QkUxDzANBgNVBAoTBkdudVRMUzElMCMGA1UECxMcR251VExTIGNlcnRpZmljYXRl\n"
- "IGF1dGhvcml0eTEPMA0GA1UECBMGTGV1dmVuMSUwIwYDVQQDExxHbnVUTFMgY2Vy\n"
- "dGlmaWNhdGUgYXV0aG9yaXR5MCAXDTE3MDYwNjA3MzMwNVoYDzk5OTkxMjMxMjM1\n"
- "OTU5WjAZMRcwFQYDVQQDEw5FZDI1NTE5IHNpZ25lcjAqMAUGAytlcAMhAPMF++lz\n"
- "LIzfyCX0v0B7LIabZWZ/dePW9HexIbW3tYmHo2EwXzAMBgNVHRMBAf8EAjAAMA8G\n"
- "A1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFONSSnOdGLzpv3xNcci8ZiKKqzyqMB8G\n"
- "A1UdIwQYMBaAFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqGSM49BAMCA0kAMEYC\n"
- "IQDHGfSgM44DVZfrP5CF8LSNlFN55ti3Z69YJ0SK8Fy9eQIhAN2UKeX3l8A9Ckcm\n"
- "7barRoh+qx7ZVYpe+5w3JYuxy16w\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIBwTCCAWagAwIBAgIIWTZasQWGNVEwCgYIKoZIzj0EAwIwfTELMAkGA1UEBhMC\n"
+ "QkUxDzANBgNVBAoTBkdudVRMUzElMCMGA1UECxMcR251VExTIGNlcnRpZmljYXRl\n"
+ "IGF1dGhvcml0eTEPMA0GA1UECBMGTGV1dmVuMSUwIwYDVQQDExxHbnVUTFMgY2Vy\n"
+ "dGlmaWNhdGUgYXV0aG9yaXR5MCAXDTE3MDYwNjA3MzMwNVoYDzk5OTkxMjMxMjM1\n"
+ "OTU5WjAZMRcwFQYDVQQDEw5FZDI1NTE5IHNpZ25lcjAqMAUGAytlcAMhAPMF++lz\n"
+ "LIzfyCX0v0B7LIabZWZ/dePW9HexIbW3tYmHo2EwXzAMBgNVHRMBAf8EAjAAMA8G\n"
+ "A1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFONSSnOdGLzpv3xNcci8ZiKKqzyqMB8G\n"
+ "A1UdIwQYMBaAFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqGSM49BAMCA0kAMEYC\n"
+ "IQDHGfSgM44DVZfrP5CF8LSNlFN55ti3Z69YJ0SK8Fy9eQIhAN2UKeX3l8A9Ckcm\n"
+ "7barRoh+qx7ZVYpe+5w3JYuxy16w\n"
+ "-----END CERTIFICATE-----\n";
#ifdef ENABLE_GOST
static unsigned char server_gost12_256_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIEIgQg0+JttJEV\n"
- "Ud+XBzX9q13ByKK+j2b+mEmNIo1yB0wGleo=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIEIgQg0+JttJEV\n"
+ "Ud+XBzX9q13ByKK+j2b+mEmNIo1yB0wGleo=\n"
+ "-----END PRIVATE KEY-----\n";
static unsigned char server_gost12_256_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC8DCCAVigAwIBAgIIWcZKgxkCMvcwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xOTEwMDgxMDQ4MTZaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
- "A1UEAxMCR1IwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQECAgNDAARA\n"
- "J9sMEEx0JW9QsT5bDqyc0TNcjVg9ZSdp4GkMtShM+OOgyBGrWK3zLP5IzHYSXja8\n"
- "373QrJOUvdX7T7TUk5yU5aOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuC\n"
- "CWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AA\n"
- "MB0GA1UdDgQWBBQYSEtdwsYrtnOq6Ya3nt8DgFPCQjAfBgNVHSMEGDAWgBT5qIYZ\n"
- "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAR0xtx7MWEP1KyIzM\n"
- "4lXKdTyU4Nve5RcgqF82yR/0odqT5MPoaZDvLuRWEcQryztZD3kmRUmPmn1ujSfc\n"
- "BbPfRnSutDXcf6imq0/U1/TV/BF3vpS1plltzetvibf8MYetHVFQHUBJDZJHh9h7\n"
- "PGwA9SnmnGKFIxFdV6bVOLkPR54Gob9zN3E17KslL19lNtht1pxk9pshwTn35oRY\n"
- "uOdxof9F4XjpI/4WbC8kp15QeG8XyZd5JWSl+niNOqYK31+ilQdVBr4RiZSDIcAg\n"
- "twS5yV9Ap+R8rM8TLbeT2io4rhdUgmDllUf49zV3t6AbVvbsQfkqXmHXW8uW2WBu\n"
- "A8FiXEbIIOb+QIW0ZGwk3BVQ7wdiw1M5w6kYtz5kBtNPxBmc+eu1+e6EAfYbFNr3\n"
- "pkxtMk3veYWHb5s3dHZ4/t2Rn85hWqh03CWwCkKTN3qmEs4/XpybbXE/UE49e7u1\n"
- "FkpM1bT/0gUNsNt5h3pyUzQZdiB0XbdGGFta3tB3+inIO45h\n"
- "-----END CERTIFICATE-----\n";
-
-static const gnutls_datum_t server_gost12_256_key = { server_gost12_256_key_pem,
- sizeof(server_gost12_256_key_pem) - 1
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC8DCCAVigAwIBAgIIWcZKgxkCMvcwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xOTEwMDgxMDQ4MTZaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
+ "A1UEAxMCR1IwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQECAgNDAARA\n"
+ "J9sMEEx0JW9QsT5bDqyc0TNcjVg9ZSdp4GkMtShM+OOgyBGrWK3zLP5IzHYSXja8\n"
+ "373QrJOUvdX7T7TUk5yU5aOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuC\n"
+ "CWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AA\n"
+ "MB0GA1UdDgQWBBQYSEtdwsYrtnOq6Ya3nt8DgFPCQjAfBgNVHSMEGDAWgBT5qIYZ\n"
+ "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAR0xtx7MWEP1KyIzM\n"
+ "4lXKdTyU4Nve5RcgqF82yR/0odqT5MPoaZDvLuRWEcQryztZD3kmRUmPmn1ujSfc\n"
+ "BbPfRnSutDXcf6imq0/U1/TV/BF3vpS1plltzetvibf8MYetHVFQHUBJDZJHh9h7\n"
+ "PGwA9SnmnGKFIxFdV6bVOLkPR54Gob9zN3E17KslL19lNtht1pxk9pshwTn35oRY\n"
+ "uOdxof9F4XjpI/4WbC8kp15QeG8XyZd5JWSl+niNOqYK31+ilQdVBr4RiZSDIcAg\n"
+ "twS5yV9Ap+R8rM8TLbeT2io4rhdUgmDllUf49zV3t6AbVvbsQfkqXmHXW8uW2WBu\n"
+ "A8FiXEbIIOb+QIW0ZGwk3BVQ7wdiw1M5w6kYtz5kBtNPxBmc+eu1+e6EAfYbFNr3\n"
+ "pkxtMk3veYWHb5s3dHZ4/t2Rn85hWqh03CWwCkKTN3qmEs4/XpybbXE/UE49e7u1\n"
+ "FkpM1bT/0gUNsNt5h3pyUzQZdiB0XbdGGFta3tB3+inIO45h\n"
+ "-----END CERTIFICATE-----\n";
+
+static const gnutls_datum_t server_gost12_256_key = {
+ server_gost12_256_key_pem, sizeof(server_gost12_256_key_pem) - 1
};
-static const gnutls_datum_t server_gost12_256_cert =
- { server_gost12_256_cert_pem,
- sizeof(server_gost12_256_cert_pem) - 1
+static const gnutls_datum_t server_gost12_256_cert = {
+ server_gost12_256_cert_pem, sizeof(server_gost12_256_cert_pem) - 1
};
#endif
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
const gnutls_datum_t server_rsa_pss_cert = { server_rsa_pss_cert_pem,
- sizeof(server_rsa_pss_cert_pem)
-};
+ sizeof(server_rsa_pss_cert_pem) };
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
const gnutls_datum_t server_ecc_cert = { server_ecc_cert_pem,
- sizeof(server_ecc_cert_pem)
-};
+ sizeof(server_ecc_cert_pem) };
const gnutls_datum_t server_ecc_key = { server_ecc_key_pem,
- sizeof(server_ecc_key_pem)
-};
+ sizeof(server_ecc_key_pem) };
const gnutls_datum_t server_ed25519_cert = { server_ed25519_cert_pem,
- sizeof(server_ed25519_cert_pem)
-};
+ sizeof(server_ed25519_cert_pem) };
const gnutls_datum_t server_ed25519_key = { server_ed25519_key_pem,
- sizeof(server_ed25519_key_pem)
-};
+ sizeof(server_ed25519_key_pem) };
char buffer[64 * 1024];
@@ -314,7 +327,7 @@ static void test_ciphersuite(const char *cipher_prio, int size)
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, s_certcred);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
- gnutls_transport_set_ptr(server, (gnutls_transport_ptr_t) server);
+ gnutls_transport_set_ptr(server, (gnutls_transport_ptr_t)server);
reset_buffers();
/* Init client */
@@ -335,7 +348,7 @@ static void test_ciphersuite(const char *cipher_prio, int size)
gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, c_certcred);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
- gnutls_transport_set_ptr(client, (gnutls_transport_ptr_t) client);
+ gnutls_transport_set_ptr(client, (gnutls_transport_ptr_t)client);
HANDSHAKE(client, server);
@@ -355,8 +368,7 @@ static void test_ciphersuite(const char *cipher_prio, int size)
do {
do {
ret = gnutls_record_send(client, buffer, size);
- }
- while (ret == GNUTLS_E_AGAIN);
+ } while (ret == GNUTLS_E_AGAIN);
if (ret < 0) {
fprintf(stderr, "Failed sending to server\n");
@@ -365,8 +377,7 @@ static void test_ciphersuite(const char *cipher_prio, int size)
do {
ret = gnutls_record_recv_packet(server, &packet);
- }
- while (ret == GNUTLS_E_AGAIN);
+ } while (ret == GNUTLS_E_AGAIN);
if (ret < 0) {
fprintf(stderr, "Failed receiving from client: %s\n",
@@ -376,8 +387,7 @@ static void test_ciphersuite(const char *cipher_prio, int size)
st.size += size;
gnutls_packet_deinit(packet);
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
stop_benchmark(&st, NULL, 1);
@@ -393,8 +403,7 @@ static void test_ciphersuite(const char *cipher_prio, int size)
#endif
}
-static
-double calc_avg(uint64_t * diffs, unsigned int diffs_size)
+static double calc_avg(uint64_t *diffs, unsigned int diffs_size)
{
double avg = 0;
unsigned int i;
@@ -407,8 +416,7 @@ double calc_avg(uint64_t * diffs, unsigned int diffs_size)
return avg;
}
-static
-double calc_svar(uint64_t * diffs, unsigned int diffs_size, double avg)
+static double calc_svar(uint64_t *diffs, unsigned int diffs_size, double avg)
{
double sum = 0, d;
unsigned int i;
@@ -455,17 +463,15 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
ret = 0;
if (pk == GNUTLS_PK_RSA_PSS)
- ret =
- gnutls_certificate_set_x509_key_mem(s_certcred,
- &server_rsa_pss_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(s_certcred,
+ &server_rsa_pss_cert,
+ &server_key,
+ GNUTLS_X509_FMT_PEM);
else if (pk == GNUTLS_PK_RSA)
- ret =
- gnutls_certificate_set_x509_key_mem(s_certcred,
- &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(s_certcred,
+ &server_cert,
+ &server_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "Error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -474,24 +480,20 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
ret = 0;
if (pk == GNUTLS_PK_ECDSA)
- ret =
- gnutls_certificate_set_x509_key_mem(s_certcred,
- &server_ecc_cert,
- &server_ecc_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(s_certcred,
+ &server_ecc_cert,
+ &server_ecc_key,
+ GNUTLS_X509_FMT_PEM);
else if (pk == GNUTLS_PK_EDDSA_ED25519)
- ret =
- gnutls_certificate_set_x509_key_mem(s_certcred,
- &server_ed25519_cert,
- &server_ed25519_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(s_certcred,
+ &server_ed25519_cert,
+ &server_ed25519_key,
+ GNUTLS_X509_FMT_PEM);
#ifdef ENABLE_GOST
else if (pk == GNUTLS_PK_GOST_12_256)
- ret =
- gnutls_certificate_set_x509_key_mem(s_certcred,
- &server_gost12_256_cert,
- &server_gost12_256_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ s_certcred, &server_gost12_256_cert,
+ &server_gost12_256_key, GNUTLS_X509_FMT_PEM);
#endif
if (ret < 0) {
fprintf(stderr, "Error in %d: %s\n", __LINE__,
@@ -514,7 +516,6 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
}
do {
-
gnutls_init(&server, GNUTLS_SERVER);
ret = gnutls_priority_set(server, priority_cache);
if (ret < 0) {
@@ -530,7 +531,7 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server,
- (gnutls_transport_ptr_t) server);
+ (gnutls_transport_ptr_t)server);
reset_buffers();
gnutls_init(&client, GNUTLS_CLIENT);
@@ -550,7 +551,7 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client,
- (gnutls_transport_ptr_t) client);
+ (gnutls_transport_ptr_t)client);
gettime(&tr_start);
@@ -565,14 +566,13 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
gnutls_deinit(server);
total_diffs[total_diffs_size++] =
- timespec_sub_ns(&tr_stop, &tr_start);
+ timespec_sub_ns(&tr_stop, &tr_start);
if (total_diffs_size >
sizeof(total_diffs) / sizeof(total_diffs[0]))
abort();
st.size += 1;
- }
- while (benchmark_must_finish == 0);
+ } while (benchmark_must_finish == 0);
fprintf(stdout, "%s\n - ", suite);
gnutls_free(suite);
@@ -597,9 +597,8 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
svar = calc_svar(total_diffs, total_diffs_size, avg);
- printf
- (" - avg. handshake time: %.2f %s\n - standard deviation: %.2f %s\n\n",
- avg, scale, sqrt(svar), scale);
+ printf(" - avg. handshake time: %.2f %s\n - standard deviation: %.2f %s\n\n",
+ avg, scale, sqrt(svar), scale);
#ifdef ENABLE_ANON
gnutls_anon_free_client_credentials(c_anoncred);
@@ -617,9 +616,8 @@ void benchmark_tls(int debug_level, int ciphers)
if (ciphers != 0) {
size = 1400;
- printf
- ("Testing throughput in cipher/MAC combinations (payload: %d bytes)\n",
- size);
+ printf("Testing throughput in cipher/MAC combinations (payload: %d bytes)\n",
+ size);
test_ciphersuite(PRIO_TLS12_AES_GCM, size);
test_ciphersuite(PRIO_AES_GCM, size);
@@ -634,9 +632,8 @@ void benchmark_tls(int debug_level, int ciphers)
#endif
size = 16 * 1024;
- printf
- ("\nTesting throughput in cipher/MAC combinations (payload: %d bytes)\n",
- size);
+ printf("\nTesting throughput in cipher/MAC combinations (payload: %d bytes)\n",
+ size);
test_ciphersuite(PRIO_TLS12_AES_GCM, size);
test_ciphersuite(PRIO_AES_GCM, size);
test_ciphersuite(PRIO_TLS12_AES_CCM, size);
@@ -649,9 +646,8 @@ void benchmark_tls(int debug_level, int ciphers)
test_ciphersuite(PRIO_GOST_CNT, size);
#endif
} else {
- printf
- ("Testing key exchanges (RSA/DH bits: %d, EC bits: %d)\n\n",
- rsa_bits, ec_bits);
+ printf("Testing key exchanges (RSA/DH bits: %d, EC bits: %d)\n\n",
+ rsa_bits, ec_bits);
test_ciphersuite_kx(PRIO_DHE_RSA, GNUTLS_PK_RSA);
test_ciphersuite_kx(PRIO_ECDH_RSA_PSS, GNUTLS_PK_RSA_PSS);
test_ciphersuite_kx(PRIO_ECDH, GNUTLS_PK_RSA);
@@ -667,5 +663,4 @@ void benchmark_tls(int debug_level, int ciphers)
}
gnutls_global_deinit();
-
}
diff --git a/src/benchmark.c b/src/benchmark.c
index 45a6f77e57..bdff41ef9c 100644
--- a/src/benchmark.c
+++ b/src/benchmark.c
@@ -31,10 +31,10 @@
volatile int benchmark_must_finish = 0;
#if defined(_WIN32)
-# include <windows.h>
+#include <windows.h>
static DWORD WINAPI alarm_handler(LPVOID lpParameter)
{
- HANDLE wtimer = *((HANDLE *) lpParameter);
+ HANDLE wtimer = *((HANDLE *)lpParameter);
WaitForSingleObject(wtimer, INFINITE);
benchmark_must_finish = 1;
return 0;
@@ -46,9 +46,8 @@ static void alarm_handler(int signo)
}
#endif
-static void
-value2human(uint64_t bytes, double time, double *data, double *speed,
- char *metric)
+static void value2human(uint64_t bytes, double time, double *data,
+ double *speed, char *metric)
{
if (bytes > 1000 && bytes < 1000 * 1000) {
*data = ((double)bytes) / 1000;
@@ -90,21 +89,20 @@ void start_benchmark(struct benchmark_st *st)
exit(1);
}
st->wthread =
- CreateThread(NULL, 0, alarm_handler, &st->wtimer, 0, NULL);
+ CreateThread(NULL, 0, alarm_handler, &st->wtimer, 0, NULL);
if (st->wthread == NULL) {
fprintf(stderr, "error: CreateThread %u\n", GetLastError());
exit(1);
}
- st->alarm_timeout.QuadPart = (BSECS) * 10000000;
- if (SetWaitableTimer
- (st->wtimer, &st->alarm_timeout, 0, NULL, NULL, FALSE) == 0) {
+ st->alarm_timeout.QuadPart = (BSECS)*10000000;
+ if (SetWaitableTimer(st->wtimer, &st->alarm_timeout, 0, NULL, NULL,
+ FALSE) == 0) {
fprintf(stderr, "error: SetWaitableTimer %u\n", GetLastError());
exit(1);
}
#else
alarm(BSECS);
#endif
-
}
/* returns the elapsed time */
@@ -131,7 +129,7 @@ double stop_benchmark(struct benchmark_st *st, const char *metric, int quiet)
secs = lsecs;
secs /= 1000;
- if (metric == NULL) { /* assume bytes/sec */
+ if (metric == NULL) { /* assume bytes/sec */
value2human(st->size, secs, &ddata, &dspeed, imetric);
if (quiet == 0)
printf(" Processed %.2f %s in %.2f secs: ", ddata,
diff --git a/src/benchmark.h b/src/benchmark.h
index af9bc3a4c8..cb5ddaafcc 100644
--- a/src/benchmark.h
+++ b/src/benchmark.h
@@ -18,22 +18,22 @@
*/
#ifndef GNUTLS_SRC_BENCHMARK_H
-# define GNUTLS_SRC_BENCHMARK_H
+#define GNUTLS_SRC_BENCHMARK_H
-# include <sys/time.h>
-# include <time.h>
-# include <signal.h>
-# if defined(_WIN32)
-# include <windows.h>
-# endif
+#include <sys/time.h>
+#include <time.h>
+#include <signal.h>
+#if defined(_WIN32)
+#include <windows.h>
+#endif
/* for uint64_t */
-# include <stdint.h>
+#include <stdint.h>
-# if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID)
-# undef gettime
-# define gettime(x) clock_gettime(CLOCK_PROCESS_CPUTIME_ID, x)
-# else
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID)
+#undef gettime
+#define gettime(x) clock_gettime(CLOCK_PROCESS_CPUTIME_ID, x)
+#else
inline static void gettime(struct timespec *ts)
{
struct timeval tv;
@@ -41,7 +41,7 @@ inline static void gettime(struct timespec *ts)
ts->tv_sec = tv.tv_sec;
ts->tv_nsec = tv.tv_usec * 1000;
}
-# endif
+#endif
typedef void (*sighandler_t)(int);
@@ -52,11 +52,11 @@ struct benchmark_st {
struct timespec start;
uint64_t size;
sighandler_t old_handler;
-# if defined(_WIN32)
+#if defined(_WIN32)
HANDLE wtimer;
HANDLE wthread;
LARGE_INTEGER alarm_timeout;
-# endif
+#endif
};
extern volatile int benchmark_must_finish;
@@ -64,17 +64,17 @@ extern volatile int benchmark_must_finish;
void start_benchmark(struct benchmark_st *st);
double stop_benchmark(struct benchmark_st *st, const char *metric, int quiet);
-inline static unsigned int
-timespec_sub_ms(struct timespec *a, struct timespec *b)
+inline static unsigned int timespec_sub_ms(struct timespec *a,
+ struct timespec *b)
{
- return (a->tv_sec - b->tv_sec) * 1000 + (a->tv_nsec -
- b->tv_nsec) / (1000 * 1000);
+ return (a->tv_sec - b->tv_sec) * 1000 +
+ (a->tv_nsec - b->tv_nsec) / (1000 * 1000);
}
-inline static unsigned long
-timespec_sub_ns(struct timespec *a, struct timespec *b)
+inline static unsigned long timespec_sub_ns(struct timespec *a,
+ struct timespec *b)
{
return (a->tv_sec - b->tv_sec) * 1000000000 + (a->tv_nsec - b->tv_nsec);
}
-#endif /* GNUTLS_SRC_BENCHMARK_H */
+#endif /* GNUTLS_SRC_BENCHMARK_H */
diff --git a/src/certtool-cfg.c b/src/certtool-cfg.c
index 9a323c61e8..aa9ab6a1d0 100644
--- a/src/certtool-cfg.c
+++ b/src/certtool-cfg.c
@@ -43,9 +43,9 @@
#include <sys/types.h>
#if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
+#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
+#include <ws2tcpip.h>
#endif
/* From gnulib for inet_pton() */
@@ -65,17 +65,21 @@ extern int ask_pass;
#define MAX_ENTRIES 128
#define MAX_POLICIES 8
-#define CHECK_MALLOC(x) \
- if (x == NULL) { \
+#define CHECK_MALLOC(x) \
+ if (x == NULL) { \
fprintf(stderr, "memory error\n"); \
- exit(1); \
+ exit(1); \
}
-#define PRINT_TIME_T_ERROR \
+#define PRINT_TIME_T_ERROR \
if (sizeof(time_t) < 8) \
- fprintf(stderr, "This system expresses time with a 32-bit time_t; that prevents dates after 2038 to be expressed by GnuTLS.\n")
+ fprintf(stderr, \
+ "This system expresses time with a 32-bit time_t; that prevents dates after 2038 to be expressed by GnuTLS.\n")
-enum option_types { OPTION_NUMERIC, OPTION_STRING, OPTION_BOOLEAN,
+enum option_types {
+ OPTION_NUMERIC,
+ OPTION_STRING,
+ OPTION_BOOLEAN,
OPTION_MULTI_LINE
};
@@ -88,76 +92,77 @@ struct cfg_options {
};
static struct cfg_options available_options[] = {
- {.name = "unit",.type = OPTION_MULTI_LINE},
- {.name = "ou",.type = OPTION_MULTI_LINE},
- {.name = "organization",.type = OPTION_MULTI_LINE},
- {.name = "o",.type = OPTION_MULTI_LINE},
- {.name = "dc",.type = OPTION_MULTI_LINE},
- {.name = "dns_name",.type = OPTION_MULTI_LINE},
- {.name = "ip_address",.type = OPTION_MULTI_LINE},
- {.name = "email",.type = OPTION_MULTI_LINE},
- {.name = "krb5_principal",.type = OPTION_MULTI_LINE},
- {.name = "other_name",.type = OPTION_MULTI_LINE},
- {.name = "other_name_utf8",.type = OPTION_MULTI_LINE},
- {.name = "other_name_octet",.type = OPTION_MULTI_LINE},
- {.name = "xmpp_name",.type = OPTION_MULTI_LINE},
- {.name = "key_purpose_oid",.type = OPTION_MULTI_LINE},
- {.name = "nc_exclude_dns",.type = OPTION_MULTI_LINE},
- {.name = "nc_exclude_ip",.type = OPTION_MULTI_LINE},
- {.name = "nc_exclude_email",.type = OPTION_MULTI_LINE},
- {.name = "nc_permit_dns",.type = OPTION_MULTI_LINE},
- {.name = "nc_permit_ip",.type = OPTION_MULTI_LINE},
- {.name = "nc_permit_email",.type = OPTION_MULTI_LINE},
- {.name = "dn_oid",.type = OPTION_MULTI_LINE},
- {.name = "add_extension",.type = OPTION_MULTI_LINE},
- {.name = "add_critical_extension",.type = OPTION_MULTI_LINE},
- {.name = "crl_dist_points",.type = OPTION_MULTI_LINE},
- {.name = "uri",.type = OPTION_MULTI_LINE},
- {.name = "ocsp_uri",.type = OPTION_MULTI_LINE},
- {.name = "ca_issuers_uri",.type = OPTION_MULTI_LINE},
- {.name = "locality",.type = OPTION_STRING},
- {.name = "state",.type = OPTION_STRING},
- {.name = "dn",.type = OPTION_STRING},
- {.name = "cn",.type = OPTION_STRING},
- {.name = "uid",.type = OPTION_STRING},
- {.name = "subject_unique_id",.type = OPTION_STRING},
- {.name = "issuer_unique_id",.type = OPTION_STRING},
- {.name = "challenge_password",.type = OPTION_STRING},
- {.name = "password",.type = OPTION_STRING},
- {.name = "pkcs9_email",.type = OPTION_STRING},
- {.name = "country",.type = OPTION_STRING},
- {.name = "expiration_date",.type = OPTION_STRING},
- {.name = "activation_date",.type = OPTION_STRING},
- {.name = "crl_revocation_date",.type = OPTION_STRING},
- {.name = "crl_this_update_date",.type = OPTION_STRING},
- {.name = "crl_next_update_date",.type = OPTION_STRING},
- {.name = "policy*",.type = OPTION_MULTI_LINE}, /* not a multi-line but there are multi as it is a wildcard */
- {.name = "inhibit_anypolicy_skip_certs",.type = OPTION_NUMERIC},
- {.name = "pkcs12_key_name",.type = OPTION_STRING},
- {.name = "proxy_policy_language",.type = OPTION_STRING},
- {.name = "serial",.type = OPTION_STRING},
- {.name = "expiration_days",.type = OPTION_NUMERIC},
- {.name = "crl_next_update",.type = OPTION_NUMERIC},
- {.name = "crl_number",.type = OPTION_STRING},
- {.name = "path_len",.type = OPTION_NUMERIC},
- {.name = "ca",.type = OPTION_BOOLEAN},
- {.name = "honor_crq_extensions",.type = OPTION_BOOLEAN},
- {.name = "honor_crq_ext",.type = OPTION_MULTI_LINE},
- {.name = "tls_www_client",.type = OPTION_BOOLEAN},
- {.name = "tls_www_server",.type = OPTION_BOOLEAN},
- {.name = "signing_key",.type = OPTION_BOOLEAN},
- {.name = "encryption_key",.type = OPTION_BOOLEAN},
- {.name = "cert_signing_key",.type = OPTION_BOOLEAN},
- {.name = "crl_signing_key",.type = OPTION_BOOLEAN},
- {.name = "code_signing_key",.type = OPTION_BOOLEAN},
- {.name = "ocsp_signing_key",.type = OPTION_BOOLEAN},
- {.name = "time_stamping_key",.type = OPTION_BOOLEAN},
- {.name = "email_protection_key",.type = OPTION_BOOLEAN},
- {.name = "ipsec_ike_key",.type = OPTION_BOOLEAN},
- {.name = "key_agreement",.type = OPTION_BOOLEAN},
- {.name = "data_encipherment",.type = OPTION_BOOLEAN},
- {.name = "non_repudiation",.type = OPTION_BOOLEAN},
- {.name = "tls_feature",.type = OPTION_MULTI_LINE},
+ { .name = "unit", .type = OPTION_MULTI_LINE },
+ { .name = "ou", .type = OPTION_MULTI_LINE },
+ { .name = "organization", .type = OPTION_MULTI_LINE },
+ { .name = "o", .type = OPTION_MULTI_LINE },
+ { .name = "dc", .type = OPTION_MULTI_LINE },
+ { .name = "dns_name", .type = OPTION_MULTI_LINE },
+ { .name = "ip_address", .type = OPTION_MULTI_LINE },
+ { .name = "email", .type = OPTION_MULTI_LINE },
+ { .name = "krb5_principal", .type = OPTION_MULTI_LINE },
+ { .name = "other_name", .type = OPTION_MULTI_LINE },
+ { .name = "other_name_utf8", .type = OPTION_MULTI_LINE },
+ { .name = "other_name_octet", .type = OPTION_MULTI_LINE },
+ { .name = "xmpp_name", .type = OPTION_MULTI_LINE },
+ { .name = "key_purpose_oid", .type = OPTION_MULTI_LINE },
+ { .name = "nc_exclude_dns", .type = OPTION_MULTI_LINE },
+ { .name = "nc_exclude_ip", .type = OPTION_MULTI_LINE },
+ { .name = "nc_exclude_email", .type = OPTION_MULTI_LINE },
+ { .name = "nc_permit_dns", .type = OPTION_MULTI_LINE },
+ { .name = "nc_permit_ip", .type = OPTION_MULTI_LINE },
+ { .name = "nc_permit_email", .type = OPTION_MULTI_LINE },
+ { .name = "dn_oid", .type = OPTION_MULTI_LINE },
+ { .name = "add_extension", .type = OPTION_MULTI_LINE },
+ { .name = "add_critical_extension", .type = OPTION_MULTI_LINE },
+ { .name = "crl_dist_points", .type = OPTION_MULTI_LINE },
+ { .name = "uri", .type = OPTION_MULTI_LINE },
+ { .name = "ocsp_uri", .type = OPTION_MULTI_LINE },
+ { .name = "ca_issuers_uri", .type = OPTION_MULTI_LINE },
+ { .name = "locality", .type = OPTION_STRING },
+ { .name = "state", .type = OPTION_STRING },
+ { .name = "dn", .type = OPTION_STRING },
+ { .name = "cn", .type = OPTION_STRING },
+ { .name = "uid", .type = OPTION_STRING },
+ { .name = "subject_unique_id", .type = OPTION_STRING },
+ { .name = "issuer_unique_id", .type = OPTION_STRING },
+ { .name = "challenge_password", .type = OPTION_STRING },
+ { .name = "password", .type = OPTION_STRING },
+ { .name = "pkcs9_email", .type = OPTION_STRING },
+ { .name = "country", .type = OPTION_STRING },
+ { .name = "expiration_date", .type = OPTION_STRING },
+ { .name = "activation_date", .type = OPTION_STRING },
+ { .name = "crl_revocation_date", .type = OPTION_STRING },
+ { .name = "crl_this_update_date", .type = OPTION_STRING },
+ { .name = "crl_next_update_date", .type = OPTION_STRING },
+ { .name = "policy*",
+ .type = OPTION_MULTI_LINE }, /* not a multi-line but there are multi as it is a wildcard */
+ { .name = "inhibit_anypolicy_skip_certs", .type = OPTION_NUMERIC },
+ { .name = "pkcs12_key_name", .type = OPTION_STRING },
+ { .name = "proxy_policy_language", .type = OPTION_STRING },
+ { .name = "serial", .type = OPTION_STRING },
+ { .name = "expiration_days", .type = OPTION_NUMERIC },
+ { .name = "crl_next_update", .type = OPTION_NUMERIC },
+ { .name = "crl_number", .type = OPTION_STRING },
+ { .name = "path_len", .type = OPTION_NUMERIC },
+ { .name = "ca", .type = OPTION_BOOLEAN },
+ { .name = "honor_crq_extensions", .type = OPTION_BOOLEAN },
+ { .name = "honor_crq_ext", .type = OPTION_MULTI_LINE },
+ { .name = "tls_www_client", .type = OPTION_BOOLEAN },
+ { .name = "tls_www_server", .type = OPTION_BOOLEAN },
+ { .name = "signing_key", .type = OPTION_BOOLEAN },
+ { .name = "encryption_key", .type = OPTION_BOOLEAN },
+ { .name = "cert_signing_key", .type = OPTION_BOOLEAN },
+ { .name = "crl_signing_key", .type = OPTION_BOOLEAN },
+ { .name = "code_signing_key", .type = OPTION_BOOLEAN },
+ { .name = "ocsp_signing_key", .type = OPTION_BOOLEAN },
+ { .name = "time_stamping_key", .type = OPTION_BOOLEAN },
+ { .name = "email_protection_key", .type = OPTION_BOOLEAN },
+ { .name = "ipsec_ike_key", .type = OPTION_BOOLEAN },
+ { .name = "key_agreement", .type = OPTION_BOOLEAN },
+ { .name = "data_encipherment", .type = OPTION_BOOLEAN },
+ { .name = "non_repudiation", .type = OPTION_BOOLEAN },
+ { .name = "tls_feature", .type = OPTION_MULTI_LINE },
};
typedef struct _cfg_ctx {
@@ -208,7 +213,7 @@ typedef struct _cfg_ctx {
uint8_t *serial;
unsigned serial_size;
int expiration_days;
- int skip_certs; /* from inhibit anypolicy */
+ int skip_certs; /* from inhibit anypolicy */
int ca;
int path_len;
int tls_www_client;
@@ -246,101 +251,104 @@ void cfg_init(void)
cfg.skip_certs = -1;
}
-#define READ_MULTI_LINE(k_name, s_name) \
- val = cfg_next(pov, k_name); \
- if (val != NULL) \
- { \
- if (s_name == NULL) { \
- i = 0; \
- s_name = malloc(sizeof(char*)*MAX_ENTRIES); \
- CHECK_MALLOC(s_name); \
- do { \
- if (val && strcmp(val->name, k_name)!=0) \
- continue; \
- s_name[i] = strdup(val->value); \
- i++; \
- if (i>=MAX_ENTRIES) \
- break; \
- } while((val = cfg_next(val + 1, val->name)) != NULL); \
- s_name[i] = NULL; \
- } \
- }
-
-#define READ_MULTI_LINE_TOKENIZED(k_name, s_name) \
- val = cfg_next(pov, k_name); \
- if (val != NULL) \
- { \
- char *str; \
- char *p; \
- if (s_name == NULL) { \
- i = 0; \
- s_name = malloc(sizeof(char*)*MAX_ENTRIES); \
- CHECK_MALLOC(s_name); \
- do { \
- if (val && strcmp(val->name, k_name)!=0) \
- continue; \
- str = strdup(val->value); \
- CHECK_MALLOC(str); \
- if ((p=strchr(str, ' ')) == NULL && (p=strchr(str, '\t')) == NULL) { \
- fprintf(stderr, "Error parsing %s\n", k_name); \
- exit(1); \
- } \
- p[0] = 0; \
- p++; \
- s_name[i] = strdup(str); \
- while(*p==' ' || *p == '\t') p++; \
- if (p[0] == 0) { \
- fprintf(stderr, "Error (2) parsing %s\n", k_name); \
- exit(1); \
- } \
- s_name[i+1] = strdup(p); \
- i+=2; \
- free(str); \
- if (i>=MAX_ENTRIES) \
- break; \
- } while((val = cfg_next(val + 1, val->name)) != NULL); \
- s_name[i] = NULL; \
- } \
- }
+#define READ_MULTI_LINE(k_name, s_name) \
+ val = cfg_next(pov, k_name); \
+ if (val != NULL) { \
+ if (s_name == NULL) { \
+ i = 0; \
+ s_name = malloc(sizeof(char *) * MAX_ENTRIES); \
+ CHECK_MALLOC(s_name); \
+ do { \
+ if (val && strcmp(val->name, k_name) != 0) \
+ continue; \
+ s_name[i] = strdup(val->value); \
+ i++; \
+ if (i >= MAX_ENTRIES) \
+ break; \
+ } while ((val = cfg_next(val + 1, val->name)) != \
+ NULL); \
+ s_name[i] = NULL; \
+ } \
+ }
+
+#define READ_MULTI_LINE_TOKENIZED(k_name, s_name) \
+ val = cfg_next(pov, k_name); \
+ if (val != NULL) { \
+ char *str; \
+ char *p; \
+ if (s_name == NULL) { \
+ i = 0; \
+ s_name = malloc(sizeof(char *) * MAX_ENTRIES); \
+ CHECK_MALLOC(s_name); \
+ do { \
+ if (val && strcmp(val->name, k_name) != 0) \
+ continue; \
+ str = strdup(val->value); \
+ CHECK_MALLOC(str); \
+ if ((p = strchr(str, ' ')) == NULL && \
+ (p = strchr(str, '\t')) == NULL) { \
+ fprintf(stderr, "Error parsing %s\n", \
+ k_name); \
+ exit(1); \
+ } \
+ p[0] = 0; \
+ p++; \
+ s_name[i] = strdup(str); \
+ while (*p == ' ' || *p == '\t') \
+ p++; \
+ if (p[0] == 0) { \
+ fprintf(stderr, \
+ "Error (2) parsing %s\n", \
+ k_name); \
+ exit(1); \
+ } \
+ s_name[i + 1] = strdup(p); \
+ i += 2; \
+ free(str); \
+ if (i >= MAX_ENTRIES) \
+ break; \
+ } while ((val = cfg_next(val + 1, val->name)) != \
+ NULL); \
+ s_name[i] = NULL; \
+ } \
+ }
#define READ_BOOLEAN(name, s_name) \
- val = cfg_next(pov, name); \
- if (val != NULL) \
- { \
- s_name = 1; \
- }
+ val = cfg_next(pov, name); \
+ if (val != NULL) { \
+ s_name = 1; \
+ }
/* READ_NUMERIC only returns a long */
-#define READ_NUMERIC(name, s_name) \
- val = cfg_next(pov, name); \
- if (val != NULL) \
- { \
- s_name = strtol(val->value, NULL, 10); \
- }
-
-#define HEX_DECODE(hex, output, output_size) \
- { \
- gnutls_datum_t _input = {(void*)hex, strlen(hex)}; \
- gnutls_datum_t _output; \
- ret = gnutls_hex_decode2(&_input, &_output); \
- if (ret < 0) { \
+#define READ_NUMERIC(name, s_name) \
+ val = cfg_next(pov, name); \
+ if (val != NULL) { \
+ s_name = strtol(val->value, NULL, 10); \
+ }
+
+#define HEX_DECODE(hex, output, output_size) \
+ { \
+ gnutls_datum_t _input = { (void *)hex, strlen(hex) }; \
+ gnutls_datum_t _output; \
+ ret = gnutls_hex_decode2(&_input, &_output); \
+ if (ret < 0) { \
fprintf(stderr, "error in hex ID: %s\n", hex); \
- exit(1); \
- } \
- output = _output.data; \
- output_size = _output.size; \
+ exit(1); \
+ } \
+ output = _output.data; \
+ output_size = _output.size; \
}
-#define SERIAL_DECODE(input, output, output_size) \
- { \
- gnutls_datum_t _output; \
- ret = serial_decode(input, &_output); \
- if (ret < 0) { \
+#define SERIAL_DECODE(input, output, output_size) \
+ { \
+ gnutls_datum_t _output; \
+ ret = serial_decode(input, &_output); \
+ if (ret < 0) { \
fprintf(stderr, "error parsing number: %s\n", input); \
- exit(1); \
- } \
- output = _output.data; \
- output_size = _output.size; \
+ exit(1); \
+ } \
+ output = _output.data; \
+ output_size = _output.size; \
}
static int handle_option(cfg_option_t val)
@@ -353,9 +361,8 @@ static int handle_option(cfg_option_t val)
j++) {
len = strlen(available_options[j].name);
if (len > 2 && available_options[j].name[len - 1] == '*')
- cmp =
- strncasecmp(val->name, available_options[j].name,
- len - 1);
+ cmp = strncasecmp(val->name, available_options[j].name,
+ len - 1);
else
cmp = strcasecmp(val->name, available_options[j].name);
@@ -600,7 +607,7 @@ static int copystr_without_nl(char *out, size_t out_size, const char *in,
"Too long line to parse in interactive mode; please use templates.\n");
exit(1);
}
- memcpy(out, in, in_size + 1); /* copy terminating null */
+ memcpy(out, in, in_size + 1); /* copy terminating null */
strip_nl(out, in_size);
return 0;
}
@@ -719,7 +726,7 @@ int64_t read_int(const char *input_str)
return read_int_with_default(input_str, 0);
}
-int serial_decode(const char *input, gnutls_datum_t * output)
+int serial_decode(const char *input, gnutls_datum_t *output)
{
int i;
int64_t value;
@@ -751,7 +758,8 @@ int serial_decode(const char *input, gnutls_datum_t * output)
if (value <= 0 || value >= value_limit) {
fprintf(stderr,
"Integer out of range: `%s' (min: 1, max: %" PRId64
- ")\n", input, value_limit - 1);
+ ")\n",
+ input, value_limit - 1);
return GNUTLS_E_PARSING_ERROR;
}
@@ -804,7 +812,7 @@ int read_yesno(const char *input_str, int def)
{
char input[MAX_INPUT_SIZE];
- restart:
+restart:
fputs(input_str, stderr);
if (fgets(input, sizeof(input), stdin) == NULL)
return def;
@@ -849,8 +857,8 @@ const char *get_confirmed_pass(bool empty_ok)
copy = strdup(pass);
CHECK_MALLOC(copy);
pass = getpass("Confirm password: ");
- }
- while (strcmp(pass, copy) != 0 && !(empty_ok && *pass == '\0'));
+ } while (strcmp(pass, copy) != 0 &&
+ !(empty_ok && *pass == '\0'));
free(copy);
@@ -875,9 +883,8 @@ void get_crl_dist_point_set(gnutls_x509_crt_t crt)
return;
for (i = 0; cfg.crl_dist_points[i] != NULL; i++) {
- ret =
- gnutls_x509_crt_set_crl_dist_points
- (crt, GNUTLS_SAN_URI, cfg.crl_dist_points[i], 0);
+ ret = gnutls_x509_crt_set_crl_dist_points(
+ crt, GNUTLS_SAN_URI, cfg.crl_dist_points[i], 0);
if (ret < 0)
break;
}
@@ -887,23 +894,22 @@ void get_crl_dist_point_set(gnutls_x509_crt_t crt)
do {
if (counter == 0) {
- p = read_str
- ("Enter the URI of the CRL distribution point: ");
+ p = read_str(
+ "Enter the URI of the CRL distribution point: ");
} else {
- p = read_str
- ("Enter an additional URI of the CRL distribution point: ");
+ p = read_str(
+ "Enter an additional URI of the CRL distribution point: ");
}
if (!p)
return;
- ret = gnutls_x509_crt_set_crl_dist_points
- (crt, GNUTLS_SAN_URI, p, 0);
+ ret = gnutls_x509_crt_set_crl_dist_points(
+ crt, GNUTLS_SAN_URI, p, 0);
if (ret < 0)
break;
counter++;
- }
- while (p);
+ } while (p);
}
if (ret < 0) {
@@ -920,11 +926,9 @@ void get_country_crt_set(gnutls_x509_crt_t crt)
if (batch) {
if (!cfg.country)
return;
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_X520_COUNTRY_NAME,
- 0, cfg.country,
- strlen(cfg.country));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_X520_COUNTRY_NAME, 0, cfg.country,
+ strlen(cfg.country));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -933,7 +937,6 @@ void get_country_crt_set(gnutls_x509_crt_t crt)
read_crt_set(crt, "Country name (2 chars): ",
GNUTLS_OID_X520_COUNTRY_NAME);
}
-
}
void get_organization_crt_set(gnutls_x509_crt_t crt)
@@ -946,14 +949,10 @@ void get_organization_crt_set(gnutls_x509_crt_t crt)
return;
for (i = 0; cfg.organization[i] != NULL; i++) {
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_X520_ORGANIZATION_NAME,
- 0,
- cfg.organization[i],
- strlen
- (cfg.organization
- [i]));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_X520_ORGANIZATION_NAME, 0,
+ cfg.organization[i],
+ strlen(cfg.organization[i]));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n",
gnutls_strerror(ret));
@@ -964,7 +963,6 @@ void get_organization_crt_set(gnutls_x509_crt_t crt)
read_crt_set(crt, "Organization name: ",
GNUTLS_OID_X520_ORGANIZATION_NAME);
}
-
}
void get_unit_crt_set(gnutls_x509_crt_t crt)
@@ -977,11 +975,9 @@ void get_unit_crt_set(gnutls_x509_crt_t crt)
return;
for (i = 0; cfg.unit[i] != NULL; i++) {
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
- 0, cfg.unit[i],
- strlen(cfg.unit[i]));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
+ 0, cfg.unit[i], strlen(cfg.unit[i]));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n",
gnutls_strerror(ret));
@@ -992,7 +988,6 @@ void get_unit_crt_set(gnutls_x509_crt_t crt)
read_crt_set(crt, "Organizational unit name: ",
GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME);
}
-
}
void get_state_crt_set(gnutls_x509_crt_t crt)
@@ -1002,11 +997,9 @@ void get_state_crt_set(gnutls_x509_crt_t crt)
if (batch) {
if (!cfg.state)
return;
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME,
- 0, cfg.state,
- strlen(cfg.state));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0,
+ cfg.state, strlen(cfg.state));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -1015,7 +1008,6 @@ void get_state_crt_set(gnutls_x509_crt_t crt)
read_crt_set(crt, "State or province name: ",
GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME);
}
-
}
void get_locality_crt_set(gnutls_x509_crt_t crt)
@@ -1025,20 +1017,17 @@ void get_locality_crt_set(gnutls_x509_crt_t crt)
if (batch) {
if (!cfg.locality)
return;
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_X520_LOCALITY_NAME,
- 0, cfg.locality,
- strlen(cfg.locality));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_X520_LOCALITY_NAME, 0, cfg.locality,
+ strlen(cfg.locality));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
}
} else {
- read_crt_set(crt, "Locality name: ",
- GNUTLS_OID_X520_LOCALITY_NAME);
+ read_crt_set(crt,
+ "Locality name: ", GNUTLS_OID_X520_LOCALITY_NAME);
}
-
}
void get_cn_crt_set(gnutls_x509_crt_t crt)
@@ -1048,10 +1037,9 @@ void get_cn_crt_set(gnutls_x509_crt_t crt)
if (batch) {
if (!cfg.cn)
return;
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_X520_COMMON_NAME,
- 0, cfg.cn, strlen(cfg.cn));
+ ret = gnutls_x509_crt_set_dn_by_oid(crt,
+ GNUTLS_OID_X520_COMMON_NAME,
+ 0, cfg.cn, strlen(cfg.cn));
if (ret < 0) {
fprintf(stderr, "set_dn_by_oid: %s\n",
gnutls_strerror(ret));
@@ -1060,7 +1048,6 @@ void get_cn_crt_set(gnutls_x509_crt_t crt)
} else {
read_crt_set(crt, "Common name: ", GNUTLS_OID_X520_COMMON_NAME);
}
-
}
void get_dn_crt_set(gnutls_x509_crt_t crt)
@@ -1088,13 +1075,12 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
gnutls_datum_t name;
if (batch) {
- if (cfg.permitted_nc_dns == NULL
- && cfg.permitted_nc_email == NULL
- && cfg.excluded_nc_dns == NULL
- && cfg.excluded_nc_email == NULL
- && cfg.permitted_nc_ip == NULL
- && cfg.excluded_nc_ip == NULL)
- return; /* nothing to do */
+ if (cfg.permitted_nc_dns == NULL &&
+ cfg.permitted_nc_email == NULL &&
+ cfg.excluded_nc_dns == NULL &&
+ cfg.excluded_nc_email == NULL &&
+ cfg.permitted_nc_ip == NULL && cfg.excluded_nc_ip == NULL)
+ return; /* nothing to do */
ret = gnutls_x509_name_constraints_init(&nc);
if (ret < 0) {
@@ -1104,18 +1090,16 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
if (cfg.permitted_nc_ip) {
for (i = 0; cfg.permitted_nc_ip[i] != NULL; i++) {
- ret =
- gnutls_x509_cidr_to_rfc5280
- (cfg.permitted_nc_ip[i], &name);
+ ret = gnutls_x509_cidr_to_rfc5280(
+ cfg.permitted_nc_ip[i], &name);
if (ret < 0) {
fprintf(stderr,
"error parsing IP constraint: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_name_constraints_add_permitted
- (nc, GNUTLS_SAN_IPADDRESS, &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, &name);
if (ret < 0) {
fprintf(stderr,
"error adding constraint: %s\n",
@@ -1128,18 +1112,16 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
if (cfg.excluded_nc_ip) {
for (i = 0; cfg.excluded_nc_ip[i] != NULL; i++) {
- ret =
- gnutls_x509_cidr_to_rfc5280
- (cfg.excluded_nc_ip[i], &name);
+ ret = gnutls_x509_cidr_to_rfc5280(
+ cfg.excluded_nc_ip[i], &name);
if (ret < 0) {
fprintf(stderr,
"error parsing IP constraint: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_name_constraints_add_excluded
- (nc, GNUTLS_SAN_IPADDRESS, &name);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_IPADDRESS, &name);
if (ret < 0) {
fprintf(stderr,
"error adding constraint: %s\n",
@@ -1151,14 +1133,11 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
}
if (cfg.permitted_nc_dns) {
-
for (i = 0; cfg.permitted_nc_dns[i] != NULL; i++) {
-
name.data = (void *)cfg.permitted_nc_dns[i];
name.size = strlen((char *)name.data);
- ret =
- gnutls_x509_name_constraints_add_permitted
- (nc, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_DNSNAME, &name);
if (ret < 0) {
fprintf(stderr,
"error adding constraint: %s\n",
@@ -1172,9 +1151,8 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
for (i = 0; cfg.excluded_nc_dns[i] != NULL; i++) {
name.data = (void *)cfg.excluded_nc_dns[i];
name.size = strlen((char *)name.data);
- ret =
- gnutls_x509_name_constraints_add_excluded
- (nc, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_DNSNAME, &name);
if (ret < 0) {
fprintf(stderr,
"error adding constraint: %s\n",
@@ -1188,9 +1166,8 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
for (i = 0; cfg.permitted_nc_email[i] != NULL; i++) {
name.data = (void *)cfg.permitted_nc_email[i];
name.size = strlen((char *)name.data);
- ret =
- gnutls_x509_name_constraints_add_permitted
- (nc, GNUTLS_SAN_RFC822NAME, &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_RFC822NAME, &name);
if (ret < 0) {
fprintf(stderr,
"error adding constraint: %s\n",
@@ -1204,9 +1181,8 @@ void crt_constraints_set(gnutls_x509_crt_t crt)
for (i = 0; cfg.excluded_nc_email[i] != NULL; i++) {
name.data = (void *)cfg.excluded_nc_email[i];
name.size = strlen((char *)name.data);
- ret =
- gnutls_x509_name_constraints_add_excluded
- (nc, GNUTLS_SAN_RFC822NAME, &name);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_RFC822NAME, &name);
if (ret < 0) {
fprintf(stderr,
"error adding constraint: %s\n",
@@ -1232,15 +1208,14 @@ void crt_unique_ids_set(gnutls_x509_crt_t crt)
int ret;
if (batch) {
- if (cfg.subject_unique_id == NULL
- && cfg.issuer_unique_id == NULL)
- return; /* nothing to do */
+ if (cfg.subject_unique_id == NULL &&
+ cfg.issuer_unique_id == NULL)
+ return; /* nothing to do */
if (cfg.subject_unique_id) {
- ret =
- gnutls_x509_crt_set_subject_unique_id(crt,
- cfg.subject_unique_id,
- cfg.subject_unique_id_size);
+ ret = gnutls_x509_crt_set_subject_unique_id(
+ crt, cfg.subject_unique_id,
+ cfg.subject_unique_id_size);
if (ret < 0) {
fprintf(stderr,
"error setting subject unique ID: %s\n",
@@ -1250,10 +1225,9 @@ void crt_unique_ids_set(gnutls_x509_crt_t crt)
}
if (cfg.issuer_unique_id) {
- ret =
- gnutls_x509_crt_set_issuer_unique_id(crt,
- cfg.issuer_unique_id,
- cfg.issuer_unique_id_size);
+ ret = gnutls_x509_crt_set_issuer_unique_id(
+ crt, cfg.issuer_unique_id,
+ cfg.issuer_unique_id_size);
if (ret < 0) {
fprintf(stderr,
"error setting issuer unique ID: %s\n",
@@ -1271,9 +1245,8 @@ void get_uid_crt_set(gnutls_x509_crt_t crt)
if (batch) {
if (!cfg.uid)
return;
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_LDAP_UID,
- 0, cfg.uid, strlen(cfg.uid));
+ ret = gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_LDAP_UID, 0,
+ cfg.uid, strlen(cfg.uid));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -1281,7 +1254,6 @@ void get_uid_crt_set(gnutls_x509_crt_t crt)
} else {
read_crt_set(crt, "UID: ", GNUTLS_OID_LDAP_UID);
}
-
}
void get_oid_crt_set(gnutls_x509_crt_t crt)
@@ -1298,13 +1270,9 @@ void get_oid_crt_set(gnutls_x509_crt_t crt)
cfg.dn_oid[i]);
exit(1);
}
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- cfg.dn_oid[i], 0,
- cfg.dn_oid[i +
- 1],
- strlen(cfg.dn_oid[i +
- 1]));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, cfg.dn_oid[i], 0, cfg.dn_oid[i + 1],
+ strlen(cfg.dn_oid[i + 1]));
if (ret < 0) {
fprintf(stderr, "set_dn_oid: %s\n",
@@ -1315,7 +1283,7 @@ void get_oid_crt_set(gnutls_x509_crt_t crt)
}
}
-#define ACTION_NONE 0
+#define ACTION_NONE 0
#define ENCODE_OCTET_STRING 1
static unsigned char *decode_ext_string(char *str, unsigned int *ret_size)
{
@@ -1356,9 +1324,8 @@ static unsigned char *decode_ext_string(char *str, unsigned int *ret_size)
switch (action) {
case ENCODE_OCTET_STRING:
tag_len = sizeof(tag);
- res =
- asn1_encode_simple_der(ASN1_ETYPE_OCTET_STRING, raw,
- raw_size, tag, &tag_len);
+ res = asn1_encode_simple_der(ASN1_ETYPE_OCTET_STRING, raw,
+ raw_size, tag, &tag_len);
if (res != ASN1_SUCCESS) {
fprintf(stderr, "error in DER encoding: %s\n",
asn1_strerror(res));
@@ -1399,25 +1366,17 @@ void get_extensions_crt_set(int type, void *crt)
}
/* convert hex to bin */
- raw =
- decode_ext_string(cfg.extensions[i + 1], &raw_size);
+ raw = decode_ext_string(cfg.extensions[i + 1],
+ &raw_size);
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_extension_by_oid(crt,
- cfg.extensions
- [i],
- raw,
- raw_size,
- 0);
+ ret = gnutls_x509_crt_set_extension_by_oid(
+ crt, cfg.extensions[i], raw, raw_size,
+ 0);
else
- ret =
- gnutls_x509_crq_set_extension_by_oid(crt,
- cfg.extensions
- [i],
- raw,
- raw_size,
- 0);
+ ret = gnutls_x509_crq_set_extension_by_oid(
+ crt, cfg.extensions[i], raw, raw_size,
+ 0);
gnutls_free(raw);
if (ret < 0) {
@@ -1427,7 +1386,7 @@ void get_extensions_crt_set(int type, void *crt)
}
}
- check_critical:
+ check_critical:
if (!cfg.crit_extensions)
return;
for (i = 0; cfg.crit_extensions[i] != NULL; i += 2) {
@@ -1438,26 +1397,17 @@ void get_extensions_crt_set(int type, void *crt)
exit(1);
}
/* convert hex to bin */
- raw =
- decode_ext_string(cfg.crit_extensions[i + 1],
- &raw_size);
+ raw = decode_ext_string(cfg.crit_extensions[i + 1],
+ &raw_size);
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_extension_by_oid(crt,
- cfg.crit_extensions
- [i],
- raw,
- raw_size,
- 1);
+ ret = gnutls_x509_crt_set_extension_by_oid(
+ crt, cfg.crit_extensions[i], raw,
+ raw_size, 1);
else
- ret =
- gnutls_x509_crq_set_extension_by_oid(crt,
- cfg.crit_extensions
- [i],
- raw,
- raw_size,
- 1);
+ ret = gnutls_x509_crq_set_extension_by_oid(
+ crt, cfg.crit_extensions[i], raw,
+ raw_size, 1);
gnutls_free(raw);
@@ -1479,13 +1429,11 @@ void get_key_purpose_set(int type, void *crt)
return;
for (i = 0; cfg.key_purpose_oids[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_key_purpose_oid
- (crt, cfg.key_purpose_oids[i], 0);
+ ret = gnutls_x509_crt_set_key_purpose_oid(
+ crt, cfg.key_purpose_oids[i], 0);
else
- ret =
- gnutls_x509_crq_set_key_purpose_oid
- (crt, cfg.key_purpose_oids[i], 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crt, cfg.key_purpose_oids[i], 0);
if (ret < 0) {
fprintf(stderr,
@@ -1509,10 +1457,8 @@ void get_ocsp_issuer_set(gnutls_x509_crt_t crt)
for (i = 0; cfg.ocsp_uris[i] != NULL; i++) {
uri.data = (void *)cfg.ocsp_uris[i];
uri.size = strlen(cfg.ocsp_uris[i]);
- ret =
- gnutls_x509_crt_set_authority_info_access(crt,
- GNUTLS_IA_OCSP_URI,
- &uri);
+ ret = gnutls_x509_crt_set_authority_info_access(
+ crt, GNUTLS_IA_OCSP_URI, &uri);
if (ret < 0) {
fprintf(stderr, "set OCSP URI (%s): %s\n",
cfg.ocsp_uris[i], gnutls_strerror(ret));
@@ -1533,13 +1479,10 @@ void get_ca_issuers_set(gnutls_x509_crt_t crt)
for (i = 0; cfg.ca_issuers_uris[i] != NULL; i++) {
uri.data = (void *)cfg.ca_issuers_uris[i];
uri.size = strlen(cfg.ca_issuers_uris[i]);
- ret =
- gnutls_x509_crt_set_authority_info_access(crt,
- GNUTLS_IA_CAISSUERS_URI,
- &uri);
+ ret = gnutls_x509_crt_set_authority_info_access(
+ crt, GNUTLS_IA_CAISSUERS_URI, &uri);
if (ret < 0) {
- fprintf(stderr,
- "set CA ISSUERS URI (%s): %s\n",
+ fprintf(stderr, "set CA ISSUERS URI (%s): %s\n",
cfg.ca_issuers_uris[i],
gnutls_strerror(ret));
exit(1);
@@ -1555,11 +1498,9 @@ void get_pkcs9_email_crt_set(gnutls_x509_crt_t crt)
if (batch) {
if (!cfg.pkcs9_email)
return;
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_PKCS9_EMAIL,
- 0, cfg.pkcs9_email,
- strlen(cfg.pkcs9_email));
+ ret = gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_PKCS9_EMAIL,
+ 0, cfg.pkcs9_email,
+ strlen(cfg.pkcs9_email));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -1567,11 +1508,9 @@ void get_pkcs9_email_crt_set(gnutls_x509_crt_t crt)
} else {
read_crt_set(crt, "E-mail: ", GNUTLS_OID_PKCS9_EMAIL);
}
-
}
-static
-int default_crl_number(unsigned char *serial, size_t *size)
+static int default_crl_number(unsigned char *serial, size_t *size)
{
struct timespec ts;
time_t tv_sec_tmp;
@@ -1618,9 +1557,9 @@ int default_crl_number(unsigned char *serial, size_t *size)
* returns, either the buffer is not modified to use the default value
* or its contents are changed to reflect the user-entered value.
**/
-static
-void read_serial_value(unsigned char *serial, size_t *size, size_t max_size,
- const char *label, const char *rfc_section)
+static void read_serial_value(unsigned char *serial, size_t *size,
+ size_t max_size, const char *label,
+ const char *rfc_section)
{
static char input[MAX_INPUT_SIZE];
int ret;
@@ -1642,7 +1581,8 @@ void read_serial_value(unsigned char *serial, size_t *size, size_t max_size,
fprintf(stderr,
"Enter the %s in decimal (123) or hex (0xabcd)\n"
"(default is 0x%s)\n"
- "value: ", label, encoded_default.data);
+ "value: ",
+ label, encoded_default.data);
if (fgets(input, sizeof(input), stdin) == NULL)
break;
@@ -1658,12 +1598,13 @@ void read_serial_value(unsigned char *serial, size_t *size, size_t max_size,
continue;
}
- if ((decoded.size == SERIAL_MAX_BYTES && decoded.data[0] & 0x80)
- || decoded.size > SERIAL_MAX_BYTES) {
+ if ((decoded.size == SERIAL_MAX_BYTES &&
+ decoded.data[0] & 0x80) ||
+ decoded.size > SERIAL_MAX_BYTES) {
fprintf(stderr,
"%s would be encoded in more than 20 bytes,"
- "see RFC 5280, section %s\n", label,
- rfc_section);
+ "see RFC 5280, section %s\n",
+ label, rfc_section);
gnutls_free(decoded.data);
continue;
}
@@ -1684,11 +1625,10 @@ void read_serial_value(unsigned char *serial, size_t *size, size_t max_size,
gnutls_free(encoded_default.data);
}
-static
-void get_serial_value(unsigned char *serial, size_t *size,
- const unsigned char *config, size_t config_size,
- int (create_default) (unsigned char *, size_t *),
- const char *label, const char *rfc_section)
+static void get_serial_value(unsigned char *serial, size_t *size,
+ const unsigned char *config, size_t config_size,
+ int(create_default)(unsigned char *, size_t *),
+ const char *label, const char *rfc_section)
{
size_t max_size = *size;
int ret;
@@ -1713,17 +1653,17 @@ void get_serial_value(unsigned char *serial, size_t *size,
if (!batch)
read_serial_value(serial, size, max_size, label, rfc_section);
- if ((*size == SERIAL_MAX_BYTES && serial[0] & 0x80)
- || *size > SERIAL_MAX_BYTES) {
+ if ((*size == SERIAL_MAX_BYTES && serial[0] & 0x80) ||
+ *size > SERIAL_MAX_BYTES) {
fprintf(stderr,
"%s would be encoded in more than 20 bytes,"
- "see RFC 5280, section %s\n", label, rfc_section);
+ "see RFC 5280, section %s\n",
+ label, rfc_section);
exit(1);
}
}
-static
-int default_serial(unsigned char *serial, size_t *size)
+static int default_serial(unsigned char *serial, size_t *size)
{
int ret;
@@ -1750,8 +1690,7 @@ void get_serial(unsigned char *serial, size_t *size)
"4.1.2.2");
}
-static
-time_t get_date(const char *date)
+static time_t get_date(const char *date)
{
struct timespec r;
@@ -1766,7 +1705,6 @@ time_t get_date(const char *date)
time_t get_activation_date(void)
{
-
if (batch && cfg.activation_date != NULL) {
return get_date(cfg.activation_date);
}
@@ -1776,7 +1714,6 @@ time_t get_activation_date(void)
time_t get_crl_revocation_date(void)
{
-
if (batch && cfg.revocation_date != NULL) {
return get_date(cfg.revocation_date);
}
@@ -1786,7 +1723,6 @@ time_t get_crl_revocation_date(void)
time_t get_crl_this_update_date(void)
{
-
if (batch && cfg.this_update_date != NULL) {
return get_date(cfg.this_update_date);
}
@@ -1794,13 +1730,12 @@ time_t get_crl_this_update_date(void)
return time(NULL);
}
-static
-time_t days_to_secs(int days)
+static time_t days_to_secs(int days)
{
time_t secs = days;
time_t now = time(NULL);
- if (secs != (time_t) - 1) {
+ if (secs != (time_t)-1) {
if (INT_MULTIPLY_OVERFLOW(secs, 24 * 60 * 60)) {
goto overflow;
} else {
@@ -1808,7 +1743,7 @@ time_t days_to_secs(int days)
}
}
- if (secs != (time_t) - 1) {
+ if (secs != (time_t)-1) {
if (INT_ADD_OVERFLOW(secs, now)) {
goto overflow;
} else {
@@ -1817,14 +1752,13 @@ time_t days_to_secs(int days)
}
return secs;
- overflow:
+overflow:
PRINT_TIME_T_ERROR;
fprintf(stderr, "Overflow while parsing days\n");
exit(1);
}
-static
-time_t get_int_date(const char *txt_val, int int_val, const char *msg)
+static time_t get_int_date(const char *txt_val, int int_val, const char *msg)
{
if (batch) {
if (txt_val == NULL) {
@@ -1844,8 +1778,7 @@ time_t get_int_date(const char *txt_val, int int_val, const char *msg)
do {
days = read_int(msg);
- }
- while (days == 0);
+ } while (days == 0);
return days_to_secs(days);
}
}
@@ -1861,9 +1794,9 @@ int get_ca_status(void)
if (batch) {
return cfg.ca;
} else {
- return
- read_yesno
- ("Does the certificate belong to an authority? (y/N): ", 0);
+ return read_yesno(
+ "Does the certificate belong to an authority? (y/N): ",
+ 0);
}
}
@@ -1872,10 +1805,9 @@ int get_crq_extensions_status(void)
if (batch) {
return cfg.honor_crq_extensions;
} else {
- return
- read_yesno
- ("Do you want to honour all the extensions from the request? (y/N): ",
- 0);
+ return read_yesno(
+ "Do you want to honour all the extensions from the request? (y/N): ",
+ 0);
}
}
@@ -1890,9 +1822,9 @@ int get_path_len(void)
if (batch) {
return cfg.path_len;
} else {
- return read_int_with_default
- ("Path length constraint (decimal, %d for no constraint): ",
- -1);
+ return read_int_with_default(
+ "Path length constraint (decimal, %d for no constraint): ",
+ -1);
}
}
@@ -1907,8 +1839,7 @@ const char *get_pkcs12_key_name(void)
} else {
do {
name = read_str("Enter a name for the key: ");
- }
- while (name == NULL);
+ } while (name == NULL);
}
return name;
}
@@ -1918,9 +1849,8 @@ int get_tls_client_status(void)
if (batch) {
return cfg.tls_www_client;
} else {
- return
- read_yesno
- ("Is this a TLS web client certificate? (y/N): ", 0);
+ return read_yesno(
+ "Is this a TLS web client certificate? (y/N): ", 0);
}
}
@@ -1929,9 +1859,8 @@ int get_tls_server_status(void)
if (batch) {
return cfg.tls_www_server;
} else {
- return
- read_yesno
- ("Is this a TLS web server certificate? (y/N): ", 0);
+ return read_yesno(
+ "Is this a TLS web server certificate? (y/N): ", 0);
}
}
@@ -1943,7 +1872,7 @@ static int string_to_ip(unsigned char *ip, const char *str)
#if HAVE_IPV6
int len = strlen(str);
- if (strchr(str, ':') != NULL || len > 16) { /* IPv6 */
+ if (strchr(str, ':') != NULL || len > 16) { /* IPv6 */
ret = inet_pton(AF_INET6, str, ip);
if (ret <= 0) {
fprintf(stderr, "Error in IPv6 address %s\n", str);
@@ -1954,7 +1883,7 @@ static int string_to_ip(unsigned char *ip, const char *str)
return 16;
} else
#endif
- { /* IPv4 */
+ { /* IPv4 */
ret = inet_pton(AF_INET, str, ip);
if (ret <= 0) {
fprintf(stderr, "Error in IPv4 address %s\n", str);
@@ -1963,7 +1892,6 @@ static int string_to_ip(unsigned char *ip, const char *str)
return 4;
}
-
}
void get_ip_addr_set(int type, void *crt)
@@ -1979,22 +1907,19 @@ void get_ip_addr_set(int type, void *crt)
for (i = 0; cfg.ip_addr[i] != NULL; i++) {
len = string_to_ip(ip, cfg.ip_addr[i]);
if (len <= 0) {
- fprintf(stderr,
- "Error parsing address: %s\n",
+ fprintf(stderr, "Error parsing address: %s\n",
cfg.ip_addr[i]);
exit(1);
}
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_IPADDRESS, ip, len,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_IPADDRESS, ip, len,
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_IPADDRESS, ip, len,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_IPADDRESS, ip, len,
+ GNUTLS_FSAN_APPEND);
if (ret < 0)
break;
@@ -2002,8 +1927,8 @@ void get_ip_addr_set(int type, void *crt)
} else {
const char *p;
- p = read_str
- ("Enter the IP address of the subject of the certificate: ");
+ p = read_str(
+ "Enter the IP address of the subject of the certificate: ");
if (!p)
return;
@@ -2014,17 +1939,13 @@ void get_ip_addr_set(int type, void *crt)
}
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name(crt,
- GNUTLS_SAN_IPADDRESS,
- ip, len,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_IPADDRESS, ip, len,
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name(crt,
- GNUTLS_SAN_IPADDRESS,
- ip, len,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_IPADDRESS, ip, len,
+ GNUTLS_FSAN_APPEND);
}
if (ret < 0) {
@@ -2044,17 +1965,15 @@ void get_email_set(int type, void *crt)
for (i = 0; cfg.email[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_RFC822NAME,
- cfg.email[i], strlen(cfg.email[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_RFC822NAME,
+ cfg.email[i], strlen(cfg.email[i]),
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_RFC822NAME,
- cfg.email[i], strlen(cfg.email[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_RFC822NAME,
+ cfg.email[i], strlen(cfg.email[i]),
+ GNUTLS_FSAN_APPEND);
if (ret < 0)
break;
@@ -2062,25 +1981,19 @@ void get_email_set(int type, void *crt)
} else {
const char *p;
- p = read_str
- ("Enter the e-mail of the subject of the certificate: ");
+ p = read_str(
+ "Enter the e-mail of the subject of the certificate: ");
if (!p)
return;
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name(crt,
- GNUTLS_SAN_RFC822NAME,
- p,
- strlen(p),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_RFC822NAME, p, strlen(p),
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name(crt,
- GNUTLS_SAN_RFC822NAME,
- p,
- strlen(p),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_RFC822NAME, p, strlen(p),
+ GNUTLS_FSAN_APPEND);
}
if (ret < 0) {
@@ -2100,21 +2013,13 @@ void get_dc_set(int type, void *crt)
for (i = 0; cfg.dc[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_LDAP_DC,
- 0,
- cfg.dc[i],
- strlen
- (cfg.dc[i]));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_LDAP_DC, 0, cfg.dc[i],
+ strlen(cfg.dc[i]));
else
- ret =
- gnutls_x509_crq_set_dn_by_oid(crt,
- GNUTLS_OID_LDAP_DC,
- 0,
- cfg.dc[i],
- strlen
- (cfg.dc[i]));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crt, GNUTLS_OID_LDAP_DC, 0, cfg.dc[i],
+ strlen(cfg.dc[i]));
if (ret < 0)
break;
@@ -2125,32 +2030,27 @@ void get_dc_set(int type, void *crt)
do {
if (counter == 0) {
- p = read_str
- ("Enter the subject's domain component (DC): ");
+ p = read_str(
+ "Enter the subject's domain component (DC): ");
} else {
- p = read_str
- ("Enter an additional domain component (DC): ");
+ p = read_str(
+ "Enter an additional domain component (DC): ");
}
if (!p)
return;
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_dn_by_oid(crt,
- GNUTLS_OID_LDAP_DC,
- 0, p,
- strlen(p));
+ ret = gnutls_x509_crt_set_dn_by_oid(
+ crt, GNUTLS_OID_LDAP_DC, 0, p,
+ strlen(p));
else
- ret =
- gnutls_x509_crq_set_dn_by_oid(crt,
- GNUTLS_OID_LDAP_DC,
- 0, p,
- strlen(p));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crt, GNUTLS_OID_LDAP_DC, 0, p,
+ strlen(p));
counter++;
if (ret < 0)
break;
- }
- while (p != NULL);
+ } while (p != NULL);
}
if (ret < 0) {
@@ -2169,19 +2069,17 @@ void get_dns_name_set(int type, void *crt)
for (i = 0; cfg.dns_name[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_DNSNAME,
- cfg.dns_name[i],
- strlen(cfg.dns_name[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_DNSNAME,
+ cfg.dns_name[i],
+ strlen(cfg.dns_name[i]),
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_DNSNAME,
- cfg.dns_name[i],
- strlen(cfg.dns_name[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_DNSNAME,
+ cfg.dns_name[i],
+ strlen(cfg.dns_name[i]),
+ GNUTLS_FSAN_APPEND);
if (ret < 0)
break;
@@ -2192,23 +2090,23 @@ void get_dns_name_set(int type, void *crt)
do {
if (counter == 0) {
- p = read_str
- ("Enter a dnsName of the subject of the certificate: ");
+ p = read_str(
+ "Enter a dnsName of the subject of the certificate: ");
} else {
- p = read_str
- ("Enter an additional dnsName of the subject of the certificate: ");
+ p = read_str(
+ "Enter an additional dnsName of the subject of the certificate: ");
}
if (!p)
return;
if (type == TYPE_CRT)
- ret = gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_DNSNAME, p, strlen(p),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_DNSNAME, p, strlen(p),
+ GNUTLS_FSAN_APPEND);
else
- ret = gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_DNSNAME, p, strlen(p),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_DNSNAME, p, strlen(p),
+ GNUTLS_FSAN_APPEND);
counter++;
} while (p);
}
@@ -2230,19 +2128,17 @@ static int set_krb5_principal(int type, void *crt)
for (i = 0; cfg.krb5_principal[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL,
- cfg.krb5_principal[i],
- strlen(cfg.krb5_principal[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL,
+ cfg.krb5_principal[i],
+ strlen(cfg.krb5_principal[i]),
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL,
- cfg.krb5_principal[i],
- strlen(cfg.krb5_principal[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL,
+ cfg.krb5_principal[i],
+ strlen(cfg.krb5_principal[i]),
+ GNUTLS_FSAN_APPEND);
if (ret < 0)
break;
@@ -2285,15 +2181,13 @@ static int set_othername(int type, void *crt)
break;
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_othername
- (crt, oid,
- binname, binnamelen, GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_othername(
+ crt, oid, binname, binnamelen,
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_othername
- (crt, oid,
- binname, binnamelen, GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_othername(
+ crt, oid, binname, binnamelen,
+ GNUTLS_FSAN_APPEND);
free(binname);
binname = NULL;
@@ -2331,21 +2225,17 @@ static int set_othername_utf8(int type, void *crt)
}
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_othername
- (crt, oid,
- cfg.other_name_utf8[i + 1],
- strlen(cfg.other_name_utf8[i + 1]),
- GNUTLS_FSAN_APPEND |
- GNUTLS_FSAN_ENCODE_UTF8_STRING);
+ ret = gnutls_x509_crt_set_subject_alt_othername(
+ crt, oid, cfg.other_name_utf8[i + 1],
+ strlen(cfg.other_name_utf8[i + 1]),
+ GNUTLS_FSAN_APPEND |
+ GNUTLS_FSAN_ENCODE_UTF8_STRING);
else
- ret =
- gnutls_x509_crq_set_subject_alt_othername
- (crt, oid,
- cfg.other_name_utf8[i + 1],
- strlen(cfg.other_name_utf8[i + 1]),
- GNUTLS_FSAN_APPEND |
- GNUTLS_FSAN_ENCODE_UTF8_STRING);
+ ret = gnutls_x509_crq_set_subject_alt_othername(
+ crt, oid, cfg.other_name_utf8[i + 1],
+ strlen(cfg.other_name_utf8[i + 1]),
+ GNUTLS_FSAN_APPEND |
+ GNUTLS_FSAN_ENCODE_UTF8_STRING);
if (ret < 0)
break;
@@ -2381,21 +2271,17 @@ static int set_othername_octet(int type, void *crt)
}
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_othername
- (crt, oid,
- cfg.other_name_octet[i + 1],
- strlen(cfg.other_name_octet[i + 1]),
- GNUTLS_FSAN_APPEND |
- GNUTLS_FSAN_ENCODE_OCTET_STRING);
+ ret = gnutls_x509_crt_set_subject_alt_othername(
+ crt, oid, cfg.other_name_octet[i + 1],
+ strlen(cfg.other_name_octet[i + 1]),
+ GNUTLS_FSAN_APPEND |
+ GNUTLS_FSAN_ENCODE_OCTET_STRING);
else
- ret =
- gnutls_x509_crq_set_subject_alt_othername
- (crt, oid,
- cfg.other_name_octet[i + 1],
- strlen(cfg.other_name_octet[i + 1]),
- GNUTLS_FSAN_APPEND |
- GNUTLS_FSAN_ENCODE_OCTET_STRING);
+ ret = gnutls_x509_crq_set_subject_alt_othername(
+ crt, oid, cfg.other_name_octet[i + 1],
+ strlen(cfg.other_name_octet[i + 1]),
+ GNUTLS_FSAN_APPEND |
+ GNUTLS_FSAN_ENCODE_OCTET_STRING);
if (ret < 0)
break;
@@ -2421,17 +2307,17 @@ static int set_xmpp_name(int type, void *crt)
for (i = 0; cfg.xmpp_name[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_OTHERNAME_XMPP,
- cfg.xmpp_name[i], strlen(cfg.xmpp_name[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_OTHERNAME_XMPP,
+ cfg.xmpp_name[i],
+ strlen(cfg.xmpp_name[i]),
+ GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_OTHERNAME_XMPP,
- cfg.xmpp_name[i], strlen(cfg.xmpp_name[i]),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_OTHERNAME_XMPP,
+ cfg.xmpp_name[i],
+ strlen(cfg.xmpp_name[i]),
+ GNUTLS_FSAN_APPEND);
if (ret < 0)
break;
@@ -2463,9 +2349,8 @@ void get_policy_set(gnutls_x509_crt_t crt)
if (batch) {
if (cfg.skip_certs >= 0) {
- ret =
- gnutls_x509_crt_set_inhibit_anypolicy(crt,
- cfg.skip_certs);
+ ret = gnutls_x509_crt_set_inhibit_anypolicy(
+ crt, cfg.skip_certs);
if (ret < 0) {
fprintf(stderr,
"error setting inhibit anypolicy: %s\n",
@@ -2480,21 +2365,21 @@ void get_policy_set(gnutls_x509_crt_t crt)
if (cfg.policy_txt[i] != NULL) {
policy.qualifier[policy.qualifiers].type =
- GNUTLS_X509_QUALIFIER_NOTICE;
+ GNUTLS_X509_QUALIFIER_NOTICE;
policy.qualifier[policy.qualifiers].data =
- cfg.policy_txt[i];
+ cfg.policy_txt[i];
policy.qualifier[policy.qualifiers].size =
- strlen(cfg.policy_txt[i]);
+ strlen(cfg.policy_txt[i]);
policy.qualifiers++;
}
if (cfg.policy_url[i] != NULL) {
policy.qualifier[policy.qualifiers].type =
- GNUTLS_X509_QUALIFIER_URI;
+ GNUTLS_X509_QUALIFIER_URI;
policy.qualifier[policy.qualifiers].data =
- cfg.policy_url[i];
+ cfg.policy_url[i];
policy.qualifier[policy.qualifiers].size =
- strlen(cfg.policy_url[i]);
+ strlen(cfg.policy_url[i]);
policy.qualifiers++;
}
@@ -2520,15 +2405,13 @@ void get_uri_set(int type, void *crt)
for (i = 0; cfg.uri[i] != NULL; i++) {
if (type == TYPE_CRT)
- ret =
- gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_URI, cfg.uri[i],
- strlen(cfg.uri[i]), GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_URI, cfg.uri[i],
+ strlen(cfg.uri[i]), GNUTLS_FSAN_APPEND);
else
- ret =
- gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_URI, cfg.uri[i],
- strlen(cfg.uri[i]), GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_URI, cfg.uri[i],
+ strlen(cfg.uri[i]), GNUTLS_FSAN_APPEND);
if (ret < 0)
break;
@@ -2539,28 +2422,27 @@ void get_uri_set(int type, void *crt)
do {
if (counter == 0) {
- p = read_str
- ("Enter a URI of the subject of the certificate: ");
+ p = read_str(
+ "Enter a URI of the subject of the certificate: ");
} else {
- p = read_str
- ("Enter an additional URI of the subject of the certificate: ");
+ p = read_str(
+ "Enter an additional URI of the subject of the certificate: ");
}
if (!p)
return;
if (type == TYPE_CRT)
- ret = gnutls_x509_crt_set_subject_alt_name
- (crt, GNUTLS_SAN_URI, p, strlen(p),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_URI, p, strlen(p),
+ GNUTLS_FSAN_APPEND);
else
- ret = gnutls_x509_crq_set_subject_alt_name
- (crt, GNUTLS_SAN_URI, p, strlen(p),
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crt, GNUTLS_SAN_URI, p, strlen(p),
+ GNUTLS_FSAN_APPEND);
counter++;
if (ret < 0)
break;
- }
- while (p);
+ } while (p);
}
if (ret < 0) {
@@ -2578,11 +2460,9 @@ int get_sign_status(int server)
return cfg.signing_key;
} else {
if (server)
- msg =
- "Will the certificate be used for signing (DHE ciphersuites)? (Y/n): ";
+ msg = "Will the certificate be used for signing (DHE ciphersuites)? (Y/n): ";
else
- msg =
- "Will the certificate be used for signing (required for TLS)? (Y/n): ";
+ msg = "Will the certificate be used for signing (required for TLS)? (Y/n): ";
return read_yesno(msg, 1);
}
}
@@ -2595,11 +2475,9 @@ int get_encrypt_status(int server)
return cfg.encryption_key;
} else {
if (server)
- msg =
- "Will the certificate be used for encryption (RSA ciphersuites)? (Y/n): ";
+ msg = "Will the certificate be used for encryption (RSA ciphersuites)? (Y/n): ";
else
- msg =
- "Will the certificate be used for encryption (not required for TLS)? (Y/n): ";
+ msg = "Will the certificate be used for encryption (not required for TLS)? (Y/n): ";
return read_yesno(msg, 1);
}
}
@@ -2609,10 +2487,9 @@ int get_cert_sign_status(void)
if (batch) {
return cfg.cert_sign_key;
} else {
- return
- read_yesno
- ("Will the certificate be used to sign other certificates? (Y/n): ",
- 1);
+ return read_yesno(
+ "Will the certificate be used to sign other certificates? (Y/n): ",
+ 1);
}
}
@@ -2621,9 +2498,9 @@ int get_crl_sign_status(void)
if (batch) {
return cfg.crl_sign_key;
} else {
- return
- read_yesno
- ("Will the certificate be used to sign CRLs? (y/N): ", 0);
+ return read_yesno(
+ "Will the certificate be used to sign CRLs? (y/N): ",
+ 0);
}
}
@@ -2652,10 +2529,9 @@ int get_data_encipherment_status(void)
if (batch) {
return cfg.data_encipherment;
} else {
- return
- read_yesno
- ("Will the certificate be used for data encryption? (y/N): ",
- 0);
+ return read_yesno(
+ "Will the certificate be used for data encryption? (y/N): ",
+ 0);
}
}
@@ -2664,9 +2540,9 @@ int get_code_sign_status(void)
if (batch) {
return cfg.code_sign_key;
} else {
- return
- read_yesno
- ("Will the certificate be used to sign code? (y/N): ", 0);
+ return read_yesno(
+ "Will the certificate be used to sign code? (y/N): ",
+ 0);
}
}
@@ -2675,10 +2551,9 @@ int get_ocsp_sign_status(void)
if (batch) {
return cfg.ocsp_sign_key;
} else {
- return
- read_yesno
- ("Will the certificate be used to sign OCSP requests? (y/N): ",
- 0);
+ return read_yesno(
+ "Will the certificate be used to sign OCSP requests? (y/N): ",
+ 0);
}
}
@@ -2687,10 +2562,9 @@ int get_time_stamp_status(void)
if (batch) {
return cfg.time_stamping_key;
} else {
- return
- read_yesno
- ("Will the certificate be used for time stamping? (y/N): ",
- 0);
+ return read_yesno(
+ "Will the certificate be used for time stamping? (y/N): ",
+ 0);
}
}
@@ -2699,10 +2573,9 @@ int get_email_protection_status(void)
if (batch) {
return cfg.email_protection_key;
} else {
- return
- read_yesno
- ("Will the certificate be used for email protection? (y/N): ",
- 0);
+ return read_yesno(
+ "Will the certificate be used for email protection? (y/N): ",
+ 0);
}
}
@@ -2711,10 +2584,9 @@ int get_ipsec_ike_status(void)
if (batch) {
return cfg.ipsec_ike_key;
} else {
- return
- read_yesno
- ("Will the certificate be used for IPsec IKE operations? (y/N): ",
- 0);
+ return read_yesno(
+ "Will the certificate be used for IPsec IKE operations? (y/N): ",
+ 0);
}
}
@@ -2734,11 +2606,9 @@ const char *get_proxy_policy(char **policy, size_t *policylen)
ret = "1.3.6.1.5.5.7.21.1";
} else {
do {
- ret =
- read_str
- ("Enter the OID of the proxy policy language: ");
- }
- while (ret == NULL);
+ ret = read_str(
+ "Enter the OID of the proxy policy language: ");
+ } while (ret == NULL);
}
*policy = NULL;
@@ -2762,11 +2632,9 @@ void get_country_crq_set(gnutls_x509_crq_t crq)
if (batch) {
if (!cfg.country)
return;
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_COUNTRY_NAME,
- 0, cfg.country,
- strlen(cfg.country));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, GNUTLS_OID_X520_COUNTRY_NAME, 0, cfg.country,
+ strlen(cfg.country));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -2775,7 +2643,6 @@ void get_country_crq_set(gnutls_x509_crq_t crq)
read_crq_set(crq, "Country name (2 chars): ",
GNUTLS_OID_X520_COUNTRY_NAME);
}
-
}
void get_organization_crq_set(gnutls_x509_crq_t crq)
@@ -2788,14 +2655,10 @@ void get_organization_crq_set(gnutls_x509_crq_t crq)
return;
for (i = 0; cfg.organization[i] != NULL; i++) {
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_ORGANIZATION_NAME,
- 0,
- cfg.organization[i],
- strlen
- (cfg.organization
- [i]));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, GNUTLS_OID_X520_ORGANIZATION_NAME, 0,
+ cfg.organization[i],
+ strlen(cfg.organization[i]));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n",
gnutls_strerror(ret));
@@ -2806,7 +2669,6 @@ void get_organization_crq_set(gnutls_x509_crq_t crq)
read_crq_set(crq, "Organization name: ",
GNUTLS_OID_X520_ORGANIZATION_NAME);
}
-
}
void get_unit_crq_set(gnutls_x509_crq_t crq)
@@ -2819,11 +2681,9 @@ void get_unit_crq_set(gnutls_x509_crq_t crq)
return;
for (i = 0; cfg.unit[i] != NULL; i++) {
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
- 0, cfg.unit[i],
- strlen(cfg.unit[i]));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
+ 0, cfg.unit[i], strlen(cfg.unit[i]));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n",
gnutls_strerror(ret));
@@ -2834,7 +2694,6 @@ void get_unit_crq_set(gnutls_x509_crq_t crq)
read_crq_set(crq, "Organizational unit name: ",
GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME);
}
-
}
void get_state_crq_set(gnutls_x509_crq_t crq)
@@ -2844,11 +2703,9 @@ void get_state_crq_set(gnutls_x509_crq_t crq)
if (batch) {
if (!cfg.state)
return;
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME,
- 0, cfg.state,
- strlen(cfg.state));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0,
+ cfg.state, strlen(cfg.state));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -2857,7 +2714,6 @@ void get_state_crq_set(gnutls_x509_crq_t crq)
read_crq_set(crq, "State or province name: ",
GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME);
}
-
}
void get_locality_crq_set(gnutls_x509_crq_t crq)
@@ -2867,20 +2723,17 @@ void get_locality_crq_set(gnutls_x509_crq_t crq)
if (batch) {
if (!cfg.locality)
return;
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_LOCALITY_NAME,
- 0, cfg.locality,
- strlen(cfg.locality));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, GNUTLS_OID_X520_LOCALITY_NAME, 0, cfg.locality,
+ strlen(cfg.locality));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
}
} else {
- read_crq_set(crq, "Locality name: ",
- GNUTLS_OID_X520_LOCALITY_NAME);
+ read_crq_set(crq,
+ "Locality name: ", GNUTLS_OID_X520_LOCALITY_NAME);
}
-
}
void get_dn_crq_set(gnutls_x509_crq_t crq)
@@ -2907,10 +2760,9 @@ void get_cn_crq_set(gnutls_x509_crq_t crq)
if (batch) {
if (!cfg.cn)
return;
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_COMMON_NAME,
- 0, cfg.cn, strlen(cfg.cn));
+ ret = gnutls_x509_crq_set_dn_by_oid(crq,
+ GNUTLS_OID_X520_COMMON_NAME,
+ 0, cfg.cn, strlen(cfg.cn));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -2918,7 +2770,6 @@ void get_cn_crq_set(gnutls_x509_crq_t crq)
} else {
read_crq_set(crq, "Common name: ", GNUTLS_OID_X520_COMMON_NAME);
}
-
}
void get_uid_crq_set(gnutls_x509_crq_t crq)
@@ -2928,9 +2779,8 @@ void get_uid_crq_set(gnutls_x509_crq_t crq)
if (batch) {
if (!cfg.uid)
return;
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_LDAP_UID,
- 0, cfg.uid, strlen(cfg.uid));
+ ret = gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_LDAP_UID, 0,
+ cfg.uid, strlen(cfg.uid));
if (ret < 0) {
fprintf(stderr, "set_dn: %s\n", gnutls_strerror(ret));
exit(1);
@@ -2938,7 +2788,6 @@ void get_uid_crq_set(gnutls_x509_crq_t crq)
} else {
read_crq_set(crq, "UID: ", GNUTLS_OID_LDAP_UID);
}
-
}
void get_oid_crq_set(gnutls_x509_crq_t crq)
@@ -2955,13 +2804,9 @@ void get_oid_crq_set(gnutls_x509_crq_t crq)
cfg.dn_oid[i]);
exit(1);
}
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- cfg.dn_oid[i], 0,
- cfg.dn_oid[i +
- 1],
- strlen(cfg.dn_oid[i +
- 1]));
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, cfg.dn_oid[i], 0, cfg.dn_oid[i + 1],
+ strlen(cfg.dn_oid[i + 1]));
if (ret < 0) {
fprintf(stderr, "set_dn_oid: %s\n",
@@ -2970,7 +2815,6 @@ void get_oid_crq_set(gnutls_x509_crq_t crq)
}
}
}
-
}
void get_tlsfeatures_set(int type, void *crt)
@@ -3032,10 +2876,8 @@ void crq_extensions_set(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
return;
for (i = 0; cfg.exts_to_honor[i]; ++i) {
- ret =
- gnutls_x509_crt_set_crq_extension_by_oid(crt, crq,
- cfg.exts_to_honor
- [i], 0);
+ ret = gnutls_x509_crt_set_crq_extension_by_oid(
+ crt, crq, cfg.exts_to_honor[i], 0);
if (ret < 0) {
fprintf(stderr,
"setting extension failed: %s: %s\n",
diff --git a/src/certtool-cfg.h b/src/certtool-cfg.h
index 4886683e87..f28932754e 100644
--- a/src/certtool-cfg.h
+++ b/src/certtool-cfg.h
@@ -21,11 +21,11 @@
*/
#ifndef GNUTLS_SRC_CERTTOOL_CFG_H
-# define GNUTLS_SRC_CERTTOOL_CFG_H
+#define GNUTLS_SRC_CERTTOOL_CFG_H
-# include <stdbool.h>
-# include <stdint.h>
-# include <gnutls/x509.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <gnutls/x509.h>
void cfg_init(void);
int template_parse(const char *template);
@@ -35,7 +35,7 @@ void read_crt_set(gnutls_x509_crt_t crt, const char *input_str,
void read_crq_set(gnutls_x509_crq_t crq, const char *input_str,
const char *oid);
int64_t read_int(const char *input_str);
-int serial_decode(const char *input, gnutls_datum_t * output);
+int serial_decode(const char *input, gnutls_datum_t *output);
const char *read_str(const char *input_str);
int read_yesno(const char *input_str, int def);
@@ -107,4 +107,4 @@ const char *get_proxy_policy(char **policy, size_t *policylen);
void crq_extensions_set(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq);
-#endif /* GNUTLS_SRC_CERTTOOL_CFG_H */
+#endif /* GNUTLS_SRC_CERTTOOL_CFG_H */
diff --git a/src/certtool-common.c b/src/certtool-common.c
index 463b94477f..dda7efdc46 100644
--- a/src/certtool-common.c
+++ b/src/certtool-common.c
@@ -51,7 +51,7 @@
unsigned char *lbuffer = NULL;
unsigned long lbuffer_size = 0;
-static unsigned long file_size(FILE * fp)
+static unsigned long file_size(FILE *fp)
{
unsigned long size;
long cur = ftell(fp);
@@ -107,7 +107,7 @@ FILE *safe_open_rw(const char *file, int privkey_op)
return fh;
}
-gnutls_datum_t *load_secret_key(int mand, common_info_st * info)
+gnutls_datum_t *load_secret_key(int mand, common_info_st *info)
{
static char raw_key[64];
size_t raw_key_size = sizeof(raw_key);
@@ -141,7 +141,7 @@ gnutls_datum_t *load_secret_key(int mand, common_info_st * info)
return &key;
}
-const char *get_password(common_info_st * cinfo, unsigned int *flags,
+const char *get_password(common_info_st *cinfo, unsigned int *flags,
int confirm)
{
const char *p;
@@ -165,8 +165,7 @@ const char *get_password(common_info_st * cinfo, unsigned int *flags,
return p;
}
-static gnutls_privkey_t _load_privkey(gnutls_datum_t * dat,
- common_info_st * info)
+static gnutls_privkey_t _load_privkey(gnutls_datum_t *dat, common_info_st *info)
{
int ret;
gnutls_privkey_t key;
@@ -179,15 +178,12 @@ static gnutls_privkey_t _load_privkey(gnutls_datum_t * dat,
app_exit(1);
}
- ret =
- gnutls_privkey_import_x509_raw(key, dat, info->incert_format,
- NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, dat, info->incert_format,
+ NULL, 0);
if (ret == GNUTLS_E_DECRYPTION_FAILED) {
pass = get_password(info, &flags, 0);
- ret =
- gnutls_privkey_import_x509_raw(key, dat,
- info->incert_format,
- pass, flags);
+ ret = gnutls_privkey_import_x509_raw(
+ key, dat, info->incert_format, pass, flags);
}
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR) {
@@ -220,8 +216,8 @@ static gnutls_privkey_t _load_url_privkey(const char *url)
ret = gnutls_privkey_import_url(key, url, 0);
if (ret < 0) {
- fprintf(stderr, "error importing key at %s: %s\n",
- url, gnutls_strerror(ret));
+ fprintf(stderr, "error importing key at %s: %s\n", url,
+ gnutls_strerror(ret));
app_exit(1);
}
@@ -243,8 +239,8 @@ static gnutls_pubkey_t _load_url_pubkey(const char *url)
ret = gnutls_pubkey_import_url(pubkey, url, obj_flags);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s: %s\n", __func__,
- __LINE__, gnutls_strerror(ret), url);
+ fprintf(stderr, "Error in %s:%d: %s: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret), url);
app_exit(1);
}
@@ -254,7 +250,7 @@ static gnutls_pubkey_t _load_url_pubkey(const char *url)
/* Load the private key.
* @mand should be non zero if it is required to read a private key.
*/
-gnutls_privkey_t load_private_key(int mand, common_info_st * info)
+gnutls_privkey_t load_private_key(int mand, common_info_st *info)
{
gnutls_privkey_t key;
gnutls_datum_t dat;
@@ -290,7 +286,7 @@ gnutls_privkey_t load_private_key(int mand, common_info_st * info)
/* Load the private key.
* @mand should be non zero if it is required to read a private key.
*/
-gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st * info)
+gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st *info)
{
gnutls_x509_privkey_t key;
int ret;
@@ -324,20 +320,15 @@ gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st * info)
if (info->pkcs8) {
pass = get_password(info, &flags, 0);
- ret =
- gnutls_x509_privkey_import_pkcs8(key, &dat,
- info->incert_format,
- pass, flags);
+ ret = gnutls_x509_privkey_import_pkcs8(
+ key, &dat, info->incert_format, pass, flags);
} else {
- ret =
- gnutls_x509_privkey_import2(key, &dat,
- info->incert_format, NULL, 0);
+ ret = gnutls_x509_privkey_import2(key, &dat,
+ info->incert_format, NULL, 0);
if (ret == GNUTLS_E_DECRYPTION_FAILED) {
pass = get_password(info, &flags, 0);
- ret =
- gnutls_x509_privkey_import2(key, &dat,
- info->incert_format,
- pass, flags);
+ ret = gnutls_x509_privkey_import2(
+ key, &dat, info->incert_format, pass, flags);
}
}
@@ -363,7 +354,7 @@ gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st * info)
* If mand is non zero then a certificate is mandatory. Otherwise
* null will be returned if the certificate loading fails.
*/
-gnutls_x509_crt_t load_cert(int mand, common_info_st * info)
+gnutls_x509_crt_t load_cert(int mand, common_info_st *info)
{
gnutls_x509_crt_t *crt;
gnutls_x509_crt_t ret_crt;
@@ -384,7 +375,7 @@ gnutls_x509_crt_t load_cert(int mand, common_info_st * info)
/* Loads a certificate list
*/
gnutls_x509_crt_t *load_cert_list(int mand, size_t *crt_size,
- common_info_st * info)
+ common_info_st *info)
{
FILE *fp;
static gnutls_x509_crt_t *crt;
@@ -425,9 +416,8 @@ gnutls_x509_crt_t *load_cert_list(int mand, size_t *crt_size,
if (info->sort_chain)
flags |= GNUTLS_X509_CRT_LIST_SORT;
- ret =
- gnutls_x509_crt_list_import2(&crt, &crt_max, &dat,
- GNUTLS_X509_FMT_PEM, flags);
+ ret = gnutls_x509_crt_list_import2(&crt, &crt_max, &dat,
+ GNUTLS_X509_FMT_PEM, flags);
if (ret < 0) {
fprintf(stderr, "Error loading certificates: %s\n",
gnutls_strerror(ret));
@@ -445,7 +435,7 @@ gnutls_x509_crt_t *load_cert_list(int mand, size_t *crt_size,
/* Loads a CRL list
*/
gnutls_x509_crl_t *load_crl_list(int mand, size_t *crl_size,
- common_info_st * info)
+ common_info_st *info)
{
FILE *fp;
static gnutls_x509_crl_t *crl;
@@ -482,13 +472,11 @@ gnutls_x509_crl_t *load_crl_list(int mand, size_t *crl_size,
dat.data = (void *)lbuffer;
dat.size = size;
- ret =
- gnutls_x509_crl_list_import2(&crl, &crl_max, &dat,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crl_list_import2(&crl, &crl_max, &dat,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret == GNUTLS_E_BASE64_DECODING_ERROR) {
- ret =
- gnutls_x509_crl_list_import2(&crl, &crl_max, &dat,
- GNUTLS_X509_FMT_DER, 0);
+ ret = gnutls_x509_crl_list_import2(&crl, &crl_max, &dat,
+ GNUTLS_X509_FMT_DER, 0);
}
if (ret < 0) {
fprintf(stderr, "Error loading CRLs: %s\n",
@@ -506,7 +494,7 @@ gnutls_x509_crl_t *load_crl_list(int mand, size_t *crl_size,
/* Load the Certificate Request.
*/
-gnutls_x509_crq_t load_request(common_info_st * info)
+gnutls_x509_crq_t load_request(common_info_st *info)
{
gnutls_x509_crq_t crq;
int ret;
@@ -549,7 +537,7 @@ gnutls_x509_crq_t load_request(common_info_st * info)
/* Load the CA's private key.
*/
-gnutls_privkey_t load_ca_private_key(common_info_st * info)
+gnutls_privkey_t load_ca_private_key(common_info_st *info)
{
gnutls_privkey_t key;
gnutls_datum_t dat;
@@ -581,7 +569,7 @@ gnutls_privkey_t load_ca_private_key(common_info_st * info)
/* Loads the CA's certificate
*/
-gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st * info)
+gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st *info)
{
gnutls_x509_crt_t crt;
int ret;
@@ -638,7 +626,7 @@ gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st * info)
/* Load a public key.
* @mand should be non zero if it is required to read a public key.
*/
-gnutls_pubkey_t load_pubkey(int mand, common_info_st * info)
+gnutls_pubkey_t load_pubkey(int mand, common_info_st *info)
{
gnutls_pubkey_t key;
int ret;
@@ -673,9 +661,8 @@ gnutls_pubkey_t load_pubkey(int mand, common_info_st * info)
ret = gnutls_pubkey_import(key, &dat, info->incert_format);
if (ret == GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR) {
- ret =
- gnutls_pubkey_import_x509_raw(key, &dat,
- info->incert_format, 0);
+ ret = gnutls_pubkey_import_x509_raw(key, &dat,
+ info->incert_format, 0);
if (ret < 0) {
fprintf(stderr,
"import error: could not find a valid PEM header; "
@@ -683,8 +670,8 @@ gnutls_pubkey_t load_pubkey(int mand, common_info_st * info)
app_exit(1);
}
} else if (ret < 0) {
- fprintf(stderr, "importing public key: %s: %s\n",
- info->pubkey, gnutls_strerror(ret));
+ fprintf(stderr, "importing public key: %s: %s\n", info->pubkey,
+ gnutls_strerror(ret));
app_exit(1);
}
@@ -692,9 +679,8 @@ gnutls_pubkey_t load_pubkey(int mand, common_info_st * info)
return key;
}
-gnutls_pubkey_t load_public_key_or_import(int mand,
- gnutls_privkey_t privkey,
- common_info_st * info)
+gnutls_pubkey_t load_public_key_or_import(int mand, gnutls_privkey_t privkey,
+ common_info_st *info)
{
gnutls_pubkey_t pubkey;
int ret;
@@ -706,7 +692,8 @@ gnutls_pubkey_t load_public_key_or_import(int mand,
app_exit(1);
}
- if (!privkey || gnutls_pubkey_import_privkey(pubkey, privkey, 0, 0) < 0) { /* could not get (e.g. on PKCS #11) */
+ if (!privkey || gnutls_pubkey_import_privkey(pubkey, privkey, 0, 0) <
+ 0) { /* could not get (e.g. on PKCS #11) */
gnutls_pubkey_deinit(pubkey);
pubkey = load_pubkey(0, info);
if (pubkey == NULL && mand) {
@@ -729,17 +716,16 @@ static const char *bits_to_sp(gnutls_pk_algorithm_t pk, unsigned int bits)
return gnutls_sec_param_get_name(s);
}
-int
-get_bits(gnutls_pk_algorithm_t key_type, int info_bits,
- const char *info_sec_param, int warn)
+int get_bits(gnutls_pk_algorithm_t key_type, int info_bits,
+ const char *info_sec_param, int warn)
{
int bits;
if (info_bits != 0) {
static int warned = 0;
- if (warned == 0 && warn != 0
- && GNUTLS_BITS_ARE_CURVE(info_bits) == 0) {
+ if (warned == 0 && warn != 0 &&
+ GNUTLS_BITS_ARE_CURVE(info_bits) == 0) {
warned = 1;
fprintf(stderr,
"** Note: You may use '--sec-param %s' instead of '--bits %d'\n",
@@ -751,10 +737,8 @@ get_bits(gnutls_pk_algorithm_t key_type, int info_bits,
/* For ECDSA keys use 256 bits or better, as they are widely supported */
info_sec_param = "HIGH";
}
- bits =
- gnutls_sec_param_to_pk_bits(key_type,
- str_to_sec_param
- (info_sec_param));
+ bits = gnutls_sec_param_to_pk_bits(
+ key_type, str_to_sec_param(info_sec_param));
}
return bits;
@@ -766,8 +750,8 @@ gnutls_sec_param_t str_to_sec_param(const char *str)
return GNUTLS_SEC_PARAM_LOW;
} else if (strcasecmp(str, "legacy") == 0) {
return GNUTLS_SEC_PARAM_LEGACY;
- } else if (strcasecmp(str, "normal") == 0
- || strcasecmp(str, "medium") == 0) {
+ } else if (strcasecmp(str, "normal") == 0 ||
+ strcasecmp(str, "medium") == 0) {
return GNUTLS_SEC_PARAM_MEDIUM;
} else if (strcasecmp(str, "high") == 0) {
return GNUTLS_SEC_PARAM_HIGH;
@@ -779,11 +763,10 @@ gnutls_sec_param_t str_to_sec_param(const char *str)
fprintf(stderr, "Unknown security parameter string: %s\n", str);
app_exit(1);
}
-
}
#define SPACE "\t"
-static void print_hex_datum(FILE * outfile, gnutls_datum_t * dat, int cprint)
+static void print_hex_datum(FILE *outfile, gnutls_datum_t *dat, int cprint)
{
unsigned int j;
@@ -813,7 +796,7 @@ static void print_hex_datum(FILE * outfile, gnutls_datum_t * dat, int cprint)
fprintf(outfile, "\n\n");
}
-static void print_head(FILE * out, const char *txt, unsigned int size,
+static void print_head(FILE *out, const char *txt, unsigned int size,
int cprint)
{
unsigned i;
@@ -822,8 +805,9 @@ static void print_head(FILE * out, const char *txt, unsigned int size,
if (cprint != 0) {
if (size > 0)
- ret = asprintf(&ntxt, "const unsigned char %s[%u] =",
- txt, size);
+ ret = asprintf(&ntxt,
+ "const unsigned char %s[%u] =", txt,
+ size);
else
ret = asprintf(&ntxt, "const unsigned char %s[] =\n",
txt);
@@ -848,10 +832,9 @@ static void print_head(FILE * out, const char *txt, unsigned int size,
fprintf(out, "%s:", txt);
}
-void
-print_dsa_pkey(FILE * outfile, gnutls_datum_t * x, gnutls_datum_t * y,
- gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g,
- int cprint)
+void print_dsa_pkey(FILE *outfile, gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *p, gnutls_datum_t *q, gnutls_datum_t *g,
+ int cprint)
{
if (x) {
print_head(outfile, "private key", x->size, cprint);
@@ -893,10 +876,8 @@ gnutls_ecc_curve_t str_to_curve(const char *str)
app_exit(1);
}
-void
-print_ecc_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
- gnutls_datum_t * k, gnutls_datum_t * x, gnutls_datum_t * y,
- int cprint)
+void print_ecc_pkey(FILE *outfile, gnutls_ecc_curve_t curve, gnutls_datum_t *k,
+ gnutls_datum_t *x, gnutls_datum_t *y, int cprint)
{
if (cprint != 0)
fprintf(outfile, "/* curve: %s */\n",
@@ -921,7 +902,7 @@ print_ecc_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
}
}
-static void reverse_datum(gnutls_datum_t * d)
+static void reverse_datum(gnutls_datum_t *d)
{
unsigned int i;
unsigned char c;
@@ -933,11 +914,10 @@ static void reverse_datum(gnutls_datum_t * d)
}
}
-void
-print_gost_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
- gnutls_digest_algorithm_t digest,
- gnutls_gost_paramset_t paramset, gnutls_datum_t * k,
- gnutls_datum_t * x, gnutls_datum_t * y, int cprint)
+void print_gost_pkey(FILE *outfile, gnutls_ecc_curve_t curve,
+ gnutls_digest_algorithm_t digest,
+ gnutls_gost_paramset_t paramset, gnutls_datum_t *k,
+ gnutls_datum_t *x, gnutls_datum_t *y, int cprint)
{
if (cprint != 0)
fprintf(outfile, "/* curve: %s */\n",
@@ -973,11 +953,10 @@ print_gost_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
print_hex_datum(outfile, y, cprint);
}
-void
-print_rsa_pkey(FILE * outfile, gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * u, gnutls_datum_t * exp1,
- gnutls_datum_t * exp2, int cprint)
+void print_rsa_pkey(FILE *outfile, gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u, gnutls_datum_t *exp1,
+ gnutls_datum_t *exp2, int cprint)
{
print_head(outfile, "modulus", m->size, cprint);
print_hex_datum(outfile, m, cprint);
@@ -1001,8 +980,7 @@ print_rsa_pkey(FILE * outfile, gnutls_datum_t * m, gnutls_datum_t * e,
}
}
-void print_pubkey_info(gnutls_pubkey_t pubkey,
- FILE * outfile,
+void print_pubkey_info(gnutls_pubkey_t pubkey, FILE *outfile,
gnutls_certificate_print_formats_t format,
gnutls_x509_crt_fmt_t outcert_format,
unsigned int outtext)
@@ -1035,9 +1013,8 @@ void print_pubkey_info(gnutls_pubkey_t pubkey,
fwrite(lbuffer, 1, size, outfile);
}
-static void
-print_dh_info(FILE * outfile, gnutls_datum_t * p, gnutls_datum_t * g,
- unsigned int q_bits, int cprint)
+static void print_dh_info(FILE *outfile, gnutls_datum_t *p, gnutls_datum_t *g,
+ unsigned int q_bits, int cprint)
{
if (q_bits > 0) {
if (cprint != 0)
@@ -1055,12 +1032,10 @@ print_dh_info(FILE * outfile, gnutls_datum_t * p, gnutls_datum_t * g,
print_head(outfile, "prime", p->size, cprint);
print_hex_datum(outfile, p, cprint);
-
}
-static
-int import_dsa_dh(gnutls_dh_params_t dh_params, gnutls_datum_t * params,
- gnutls_x509_crt_fmt_t format)
+static int import_dsa_dh(gnutls_dh_params_t dh_params, gnutls_datum_t *params,
+ gnutls_x509_crt_fmt_t format)
{
gnutls_x509_privkey_t pkey;
int ret;
@@ -1080,7 +1055,7 @@ int import_dsa_dh(gnutls_dh_params_t dh_params, gnutls_datum_t * params,
return ret;
}
-void dh_info(FILE * infile, FILE * outfile, common_info_st * ci)
+void dh_info(FILE *infile, FILE *outfile, common_info_st *ci)
{
gnutls_datum_t params;
size_t size;
@@ -1104,9 +1079,8 @@ void dh_info(FILE * infile, FILE * outfile, common_info_st * ci)
app_exit(1);
}
- ret =
- gnutls_dh_params_import_pkcs3(dh_params, &params,
- ci->incert_format);
+ ret = gnutls_dh_params_import_pkcs3(dh_params, &params,
+ ci->incert_format);
if (ret < 0) {
/* Try DSA */
ret2 = import_dsa_dh(dh_params, &params, ci->incert_format);
@@ -1127,13 +1101,11 @@ void dh_info(FILE * infile, FILE * outfile, common_info_st * ci)
if (ci->outtext)
print_dh_info(outfile, &p, &g, q_bits, ci->cprint);
- if (!ci->cprint) { /* generate a PKCS#3 structure */
+ if (!ci->cprint) { /* generate a PKCS#3 structure */
size_t len = lbuffer_size;
- ret =
- gnutls_dh_params_export_pkcs3(dh_params,
- ci->outcert_format,
- lbuffer, &len);
+ ret = gnutls_dh_params_export_pkcs3(
+ dh_params, ci->outcert_format, lbuffer, &len);
if (ret == 0) {
if (ci->outcert_format == GNUTLS_X509_FMT_PEM) {
@@ -1187,7 +1159,7 @@ int cipher_to_flags(const char *cipher)
app_exit(1);
}
-static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
+static void privkey_info_int(FILE *outfile, common_info_st *cinfo,
gnutls_x509_privkey_t key)
{
int ret, key_type;
@@ -1225,8 +1197,8 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
goto spki_skip;
}
- ret =
- gnutls_x509_spki_get_rsa_pss_params(spki, &dig, &salt_size);
+ ret = gnutls_x509_spki_get_rsa_pss_params(spki, &dig,
+ &salt_size);
if (ret < 0) {
fprintf(stderr, "spki_get_rsa_pss_params: %s\n",
gnutls_strerror(ret));
@@ -1237,28 +1209,25 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
}
}
- spki_skip:
+spki_skip:
gnutls_x509_spki_deinit(spki);
fprintf(outfile, "\tKey Security Level: %s (%u bits)\n\n",
- gnutls_sec_param_get_name(gnutls_x509_privkey_sec_param
- (key)), bits);
+ gnutls_sec_param_get_name(gnutls_x509_privkey_sec_param(key)),
+ bits);
/* Print the raw public and private keys
*/
if (GNUTLS_PK_IS_RSA(key_type)) {
gnutls_datum_t m, e, d, p, q, u, exp1, exp2;
- ret =
- gnutls_x509_privkey_export_rsa_raw2(key, &m, &e, &d,
- &p, &q, &u, &exp1,
- &exp2);
+ ret = gnutls_x509_privkey_export_rsa_raw2(key, &m, &e, &d, &p,
+ &q, &u, &exp1, &exp2);
if (ret < 0)
- fprintf(stderr,
- "Error in key RSA data export: %s\n",
+ fprintf(stderr, "Error in key RSA data export: %s\n",
gnutls_strerror(ret));
else {
- print_rsa_pkey(outfile, &m, &e, &d, &p, &q, &u,
- &exp1, &exp2, cinfo->cprint);
+ print_rsa_pkey(outfile, &m, &e, &d, &p, &q, &u, &exp1,
+ &exp2, cinfo->cprint);
gnutls_free(m.data);
gnutls_free(e.data);
@@ -1272,11 +1241,10 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
} else if (key_type == GNUTLS_PK_DSA) {
gnutls_datum_t p, q, g, y, x;
- ret =
- gnutls_x509_privkey_export_dsa_raw(key, &p, &q, &g, &y, &x);
+ ret = gnutls_x509_privkey_export_dsa_raw(key, &p, &q, &g, &y,
+ &x);
if (ret < 0)
- fprintf(stderr,
- "Error in key DSA data export: %s\n",
+ fprintf(stderr, "Error in key DSA data export: %s\n",
gnutls_strerror(ret));
else {
print_dsa_pkey(outfile, &x, &y, &p, &q, &g,
@@ -1296,11 +1264,10 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
gnutls_datum_t y, x, k;
gnutls_ecc_curve_t curve;
- ret =
- gnutls_x509_privkey_export_ecc_raw(key, &curve, &x, &y, &k);
+ ret = gnutls_x509_privkey_export_ecc_raw(key, &curve, &x, &y,
+ &k);
if (ret < 0)
- fprintf(stderr,
- "Error in key ECC data export: %s\n",
+ fprintf(stderr, "Error in key ECC data export: %s\n",
gnutls_strerror(ret));
else {
print_ecc_pkey(outfile, curve, &k, &x, &y,
@@ -1318,17 +1285,14 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
gnutls_digest_algorithm_t digest;
gnutls_gost_paramset_t paramset;
- ret =
- gnutls_x509_privkey_export_gost_raw(key, &curve,
- &digest,
- &paramset, &x, &y, &k);
+ ret = gnutls_x509_privkey_export_gost_raw(
+ key, &curve, &digest, &paramset, &x, &y, &k);
if (ret < 0)
- fprintf(stderr,
- "Error in key GOST data export: %s\n",
+ fprintf(stderr, "Error in key GOST data export: %s\n",
gnutls_strerror(ret));
else {
- print_gost_pkey(outfile, curve, digest, paramset,
- &k, &x, &y, cinfo->cprint);
+ print_gost_pkey(outfile, curve, digest, paramset, &k,
+ &x, &y, cinfo->cprint);
gnutls_free(x.data);
gnutls_free(y.data);
@@ -1347,9 +1311,8 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
fprintf(outfile, "\n");
size = lbuffer_size;
- ret =
- gnutls_x509_privkey_get_key_id(key, GNUTLS_KEYID_USE_SHA256,
- lbuffer, &size);
+ ret = gnutls_x509_privkey_get_key_id(key, GNUTLS_KEYID_USE_SHA256,
+ lbuffer, &size);
if (ret < 0) {
fprintf(stderr, "Error in key id calculation: %s\n",
gnutls_strerror(ret));
@@ -1361,21 +1324,18 @@ static void privkey_info_int(FILE * outfile, common_info_st * cinfo,
raw_to_hex(lbuffer, size));
size = lbuffer_size;
- ret =
- gnutls_x509_privkey_get_key_id(key, GNUTLS_KEYID_USE_SHA1,
- lbuffer, &size);
+ ret = gnutls_x509_privkey_get_key_id(key, GNUTLS_KEYID_USE_SHA1,
+ lbuffer, &size);
if (ret >= 0) {
fprintf(outfile, "\tsha1:%s\n",
raw_to_hex(lbuffer, size));
}
}
fprintf(outfile, "\n");
-
}
-void
-print_private_key(FILE * outfile, common_info_st * cinfo,
- gnutls_x509_privkey_t key)
+void print_private_key(FILE *outfile, common_info_st *cinfo,
+ gnutls_x509_privkey_t key)
{
int ret;
size_t size;
@@ -1389,7 +1349,6 @@ print_private_key(FILE * outfile, common_info_st * cinfo,
gnutls_x509_privkey_get_pk_algorithm(key));
if (!cinfo->pkcs8) {
-
if (cinfo->outtext)
privkey_info_int(outfile, cinfo, key);
@@ -1412,10 +1371,10 @@ print_private_key(FILE * outfile, common_info_st * cinfo,
privkey_info_int(outfile, cinfo, key);
size = lbuffer_size;
- ret =
- gnutls_x509_privkey_export_pkcs8(key, cinfo->outcert_format,
- pass, flags, lbuffer,
- &size);
+ ret = gnutls_x509_privkey_export_pkcs8(key,
+ cinfo->outcert_format,
+ pass, flags, lbuffer,
+ &size);
if (ret < 0) {
fprintf(stderr, "privkey_export_pkcs8: %s\n",
gnutls_strerror(ret));
@@ -1428,7 +1387,7 @@ print_private_key(FILE * outfile, common_info_st * cinfo,
/* If how is zero then the included parameters are used.
*/
-int generate_prime(FILE * outfile, int how, common_info_st * info)
+int generate_prime(FILE *outfile, int how, common_info_st *info)
{
int ret;
gnutls_dh_params_t dh_params;
@@ -1453,8 +1412,7 @@ int generate_prime(FILE * outfile, int how, common_info_st * info)
ret = gnutls_x509_privkey_init(&pkey);
if (ret < 0) {
- fprintf(stderr,
- "Error initializing key: %s\n",
+ fprintf(stderr, "Error initializing key: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
@@ -1473,18 +1431,13 @@ int generate_prime(FILE * outfile, int how, common_info_st * info)
data.data = (void *)info->seed;
data.size = info->seed_size;
- ret =
- gnutls_x509_privkey_generate2(pkey,
- GNUTLS_PK_DSA,
- bits,
- GNUTLS_PRIVKEY_FLAG_PROVABLE,
- &data, 1);
+ ret = gnutls_x509_privkey_generate2(
+ pkey, GNUTLS_PK_DSA, bits,
+ GNUTLS_PRIVKEY_FLAG_PROVABLE, &data, 1);
} else {
- ret =
- gnutls_x509_privkey_generate(pkey,
- GNUTLS_PK_DSA,
- bits,
- GNUTLS_PRIVKEY_FLAG_PROVABLE);
+ ret = gnutls_x509_privkey_generate(
+ pkey, GNUTLS_PK_DSA, bits,
+ GNUTLS_PRIVKEY_FLAG_PROVABLE);
}
if (ret < 0) {
@@ -1591,13 +1544,11 @@ int generate_prime(FILE * outfile, int how, common_info_st * info)
if (info->outtext)
print_dh_info(outfile, &p, &g, q_bits, info->cprint);
- if (!info->cprint) { /* generate a PKCS#3 structure */
+ if (!info->cprint) { /* generate a PKCS#3 structure */
size_t len = lbuffer_size;
- ret =
- gnutls_dh_params_export_pkcs3(dh_params,
- info->outcert_format,
- lbuffer, &len);
+ ret = gnutls_dh_params_export_pkcs3(
+ dh_params, info->outcert_format, lbuffer, &len);
if (ret == 0) {
if (info->outcert_format == GNUTLS_X509_FMT_PEM)
@@ -1608,7 +1559,6 @@ int generate_prime(FILE * outfile, int how, common_info_st * info)
} else {
fprintf(stderr, "Error: %s\n", gnutls_strerror(ret));
}
-
}
if (how != 0) {
@@ -1621,7 +1571,7 @@ int generate_prime(FILE * outfile, int how, common_info_st * info)
return 0;
}
-void decode_seed(gnutls_datum_t * seed, const char *hex, unsigned hex_size)
+void decode_seed(gnutls_datum_t *seed, const char *hex, unsigned hex_size)
{
int ret;
size_t seed_size;
@@ -1652,8 +1602,8 @@ gnutls_pk_algorithm_t figure_key_type(const char *key_type)
return GNUTLS_PK_RSA;
else if (strcasecmp(key_type, "rsa-pss") == 0)
return GNUTLS_PK_RSA_PSS;
- else if (strcasecmp(key_type, "ed25519") == 0
- || strcasecmp(key_type, "eddsa") == 0)
+ else if (strcasecmp(key_type, "ed25519") == 0 ||
+ strcasecmp(key_type, "eddsa") == 0)
return GNUTLS_PK_EDDSA_ED25519;
else if (strcasecmp(key_type, "ed448") == 0)
return GNUTLS_PK_EDDSA_ED448;
@@ -1663,8 +1613,8 @@ gnutls_pk_algorithm_t figure_key_type(const char *key_type)
return GNUTLS_PK_ECDH_X448;
else if (strcasecmp(key_type, "dsa") == 0)
return GNUTLS_PK_DSA;
- else if (strcasecmp(key_type, "ecdsa") == 0
- || strcasecmp(key_type, "ecc") == 0)
+ else if (strcasecmp(key_type, "ecdsa") == 0 ||
+ strcasecmp(key_type, "ecc") == 0)
return GNUTLS_PK_ECDSA;
else if (strcasecmp(key_type, "gost01") == 0)
return GNUTLS_PK_GOST_01;
@@ -1709,7 +1659,7 @@ gnutls_digest_algorithm_t hash_to_id(const char *hash)
}
}
-void sign_params_to_flags(common_info_st * cinfo, const char *params)
+void sign_params_to_flags(common_info_st *cinfo, const char *params)
{
char *p, *sp;
diff --git a/src/certtool-common.h b/src/certtool-common.h
index 071ddd4fbe..5607f4c4d2 100644
--- a/src/certtool-common.h
+++ b/src/certtool-common.h
@@ -20,22 +20,22 @@
*/
#ifndef GNUTLS_SRC_CERTTOOL_COMMON_H
-# define GNUTLS_SRC_CERTTOOL_COMMON_H
+#define GNUTLS_SRC_CERTTOOL_COMMON_H
-# include <gnutls/x509.h>
-# include <stdio.h>
-# include <stdbool.h>
-# include "attribute.h"
+#include <gnutls/x509.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include "attribute.h"
-# define TYPE_CRT 1
-# define TYPE_CRQ 2
+#define TYPE_CRT 1
+#define TYPE_CRQ 2
-# define SERIAL_MAX_BYTES 20
+#define SERIAL_MAX_BYTES 20
void certtool_version(void);
-# include <gnutls/x509.h>
-# include <gnutls/abstract.h>
+#include <gnutls/x509.h>
+#include <gnutls/abstract.h>
typedef struct common_info {
const char *secret_key;
@@ -85,20 +85,20 @@ typedef struct common_info {
gnutls_sec_param_t verification_profile;
} common_info_st;
-static inline
- void switch_to_pkcs8_when_needed(common_info_st * cinfo,
- gnutls_x509_privkey_t key,
- unsigned key_type)
+static inline void switch_to_pkcs8_when_needed(common_info_st *cinfo,
+ gnutls_x509_privkey_t key,
+ unsigned key_type)
{
if (cinfo->pkcs8)
return;
- if (key_type == GNUTLS_PK_RSA_PSS || key_type == GNUTLS_PK_EDDSA_ED25519
- || key_type == GNUTLS_PK_EDDSA_ED448
- || key_type == GNUTLS_PK_ECDH_X25519
- || key_type == GNUTLS_PK_ECDH_X448 || key_type == GNUTLS_PK_GOST_01
- || key_type == GNUTLS_PK_GOST_12_256
- || key_type == GNUTLS_PK_GOST_12_512) {
+ if (key_type == GNUTLS_PK_RSA_PSS ||
+ key_type == GNUTLS_PK_EDDSA_ED25519 ||
+ key_type == GNUTLS_PK_EDDSA_ED448 ||
+ key_type == GNUTLS_PK_ECDH_X25519 ||
+ key_type == GNUTLS_PK_ECDH_X448 || key_type == GNUTLS_PK_GOST_01 ||
+ key_type == GNUTLS_PK_GOST_12_256 ||
+ key_type == GNUTLS_PK_GOST_12_512) {
if (cinfo->verbose)
fprintf(stderr,
"Assuming --pkcs8 is given; %s private keys can only be exported in PKCS#8 format\n",
@@ -123,30 +123,28 @@ static inline
const char *get_pass(void);
const char *get_confirmed_pass(bool empty_ok);
void app_exit(int val)
-# ifdef __GNUC__
- __attribute__((__noreturn__))
-# endif
- ;
+#ifdef __GNUC__
+ __attribute__((__noreturn__))
+#endif
+ ;
int cipher_to_flags(const char *cipher);
-void
-print_private_key(FILE * outfile, common_info_st * cinfo,
- gnutls_x509_privkey_t key);
+void print_private_key(FILE *outfile, common_info_st *cinfo,
+ gnutls_x509_privkey_t key);
gnutls_pubkey_t load_public_key_or_import(int mand, gnutls_privkey_t privkey,
- common_info_st * info);
-gnutls_privkey_t load_private_key(int mand, common_info_st * info);
-gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st * info);
+ common_info_st *info);
+gnutls_privkey_t load_private_key(int mand, common_info_st *info);
+gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st *info);
gnutls_x509_privkey_t *load_privkey_list(int mand, size_t *privkey_size,
- common_info_st * info);
-gnutls_x509_crq_t load_request(common_info_st * info);
-gnutls_privkey_t load_ca_private_key(common_info_st * info);
-gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st * info);
-gnutls_x509_crt_t load_cert(int mand, common_info_st * info);
-gnutls_datum_t *load_secret_key(int mand, common_info_st * info);
-gnutls_pubkey_t load_pubkey(int mand, common_info_st * info);
-gnutls_x509_crt_t *load_cert_list(int mand, size_t *size,
- common_info_st * info);
-gnutls_x509_crl_t *load_crl_list(int mand, size_t *size, common_info_st * info);
+ common_info_st *info);
+gnutls_x509_crq_t load_request(common_info_st *info);
+gnutls_privkey_t load_ca_private_key(common_info_st *info);
+gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st *info);
+gnutls_x509_crt_t load_cert(int mand, common_info_st *info);
+gnutls_datum_t *load_secret_key(int mand, common_info_st *info);
+gnutls_pubkey_t load_pubkey(int mand, common_info_st *info);
+gnutls_x509_crt_t *load_cert_list(int mand, size_t *size, common_info_st *info);
+gnutls_x509_crl_t *load_crl_list(int mand, size_t *size, common_info_st *info);
int get_bits(gnutls_pk_algorithm_t key_type, int info_bits,
const char *info_sec_param, int warn);
@@ -154,36 +152,33 @@ gnutls_sec_param_t str_to_sec_param(const char *str);
gnutls_ecc_curve_t str_to_curve(const char *str);
/* prime.c */
-int generate_prime(FILE * outfile, int how, common_info_st * info);
-void dh_info(FILE * infile, FILE * outfile, common_info_st * ci);
+int generate_prime(FILE *outfile, int how, common_info_st *info);
+void dh_info(FILE *infile, FILE *outfile, common_info_st *ci);
gnutls_x509_privkey_t *load_privkey_list(int mand, size_t *privkey_size,
- common_info_st * info);
+ common_info_st *info);
-void print_pubkey_info(gnutls_pubkey_t pubkey,
- FILE * outfile,
+void print_pubkey_info(gnutls_pubkey_t pubkey, FILE *outfile,
gnutls_certificate_print_formats_t format,
gnutls_x509_crt_fmt_t outcert_format,
unsigned int outtext);
-void print_ecc_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
- gnutls_datum_t * k, gnutls_datum_t * x,
- gnutls_datum_t * y, int cprint);
-void print_gost_pkey(FILE * outfile, gnutls_ecc_curve_t curve,
+void print_ecc_pkey(FILE *outfile, gnutls_ecc_curve_t curve, gnutls_datum_t *k,
+ gnutls_datum_t *x, gnutls_datum_t *y, int cprint);
+void print_gost_pkey(FILE *outfile, gnutls_ecc_curve_t curve,
gnutls_digest_algorithm_t digest,
- gnutls_gost_paramset_t paramset,
- gnutls_datum_t * k, gnutls_datum_t * x,
- gnutls_datum_t * y, int cprint);
-void print_rsa_pkey(FILE * outfile, gnutls_datum_t * m, gnutls_datum_t * e,
- gnutls_datum_t * d, gnutls_datum_t * p,
- gnutls_datum_t * q, gnutls_datum_t * u,
- gnutls_datum_t * exp1, gnutls_datum_t * exp2, int cprint);
-void print_dsa_pkey(FILE * outfile, gnutls_datum_t * x, gnutls_datum_t * y,
- gnutls_datum_t * p, gnutls_datum_t * q,
- gnutls_datum_t * g, int cprint);
+ gnutls_gost_paramset_t paramset, gnutls_datum_t *k,
+ gnutls_datum_t *x, gnutls_datum_t *y, int cprint);
+void print_rsa_pkey(FILE *outfile, gnutls_datum_t *m, gnutls_datum_t *e,
+ gnutls_datum_t *d, gnutls_datum_t *p, gnutls_datum_t *q,
+ gnutls_datum_t *u, gnutls_datum_t *exp1,
+ gnutls_datum_t *exp2, int cprint);
+void print_dsa_pkey(FILE *outfile, gnutls_datum_t *x, gnutls_datum_t *y,
+ gnutls_datum_t *p, gnutls_datum_t *q, gnutls_datum_t *g,
+ int cprint);
ATTRIBUTE_MALLOC FILE *safe_open_rw(const char *file, int privkey_op);
-const char *get_password(common_info_st * cinfo, unsigned int *flags,
+const char *get_password(common_info_st *cinfo, unsigned int *flags,
int confirm);
extern unsigned char *lbuffer;
@@ -191,14 +186,15 @@ extern unsigned long lbuffer_size;
void fix_lbuffer(unsigned long);
-void decode_seed(gnutls_datum_t * seed, const char *hex, unsigned hex_size);
+void decode_seed(gnutls_datum_t *seed, const char *hex, unsigned hex_size);
-# define GNUTLS_PK_IS_RSA(pk) ((pk) == GNUTLS_PK_RSA || (pk) == GNUTLS_PK_RSA_PSS)
+#define GNUTLS_PK_IS_RSA(pk) \
+ ((pk) == GNUTLS_PK_RSA || (pk) == GNUTLS_PK_RSA_PSS)
gnutls_pk_algorithm_t figure_key_type(const char *key_type);
gnutls_digest_algorithm_t hash_to_id(const char *hash);
-void sign_params_to_flags(common_info_st * cinfo, const char *params);
+void sign_params_to_flags(common_info_st *cinfo, const char *params);
-#endif /* GNUTLS_SRC_CERTTOOL_COMMON_H */
+#endif /* GNUTLS_SRC_CERTTOOL_COMMON_H */
diff --git a/src/certtool-extras.c b/src/certtool-extras.c
index 38317d5b4d..66ecee46f7 100644
--- a/src/certtool-extras.c
+++ b/src/certtool-extras.c
@@ -46,7 +46,7 @@
/* Loads a x509 private key list
*/
gnutls_x509_privkey_t *load_privkey_list(int mand, size_t *privkey_size,
- common_info_st * info)
+ common_info_st *info)
{
static gnutls_x509_privkey_t key[MAX_KEYS];
char *ptr;
@@ -87,15 +87,12 @@ gnutls_x509_privkey_t *load_privkey_list(int mand, size_t *privkey_size,
dat.data = (void *)ptr;
dat.size = ptr_size;
- ret =
- gnutls_x509_privkey_import2(key[i], &dat,
- info->incert_format, NULL, 0);
+ ret = gnutls_x509_privkey_import2(key[i], &dat,
+ info->incert_format, NULL, 0);
if (ret == GNUTLS_E_DECRYPTION_FAILED) {
pass = get_password(info, &flags, 0);
- ret =
- gnutls_x509_privkey_import2(key[i], &dat,
- info->incert_format,
- pass, flags);
+ ret = gnutls_x509_privkey_import2(
+ key[i], &dat, info->incert_format, pass, flags);
}
if (ret < 0 && *privkey_size > 0)
@@ -117,12 +114,11 @@ gnutls_x509_privkey_t *load_privkey_list(int mand, size_t *privkey_size,
ptr++;
ptr_size = file_data.size;
- ptr_size -=
- ((unsigned char *)ptr - (unsigned char *)file_data.data);
+ ptr_size -= ((unsigned char *)ptr -
+ (unsigned char *)file_data.data);
if (ptr_size < 0)
break;
-
}
gnutls_free(file_data.data);
diff --git a/src/certtool.c b/src/certtool.c
index b6cbcfb082..44ad3bb065 100644
--- a/src/certtool.c
+++ b/src/certtool.c
@@ -40,7 +40,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#ifndef _WIN32
-# include <signal.h>
+#include <signal.h>
#endif
#include <assert.h>
@@ -57,43 +57,43 @@
static FILE *stdlog = NULL;
-static void print_crl_info(gnutls_x509_crl_t crl, FILE * out,
- common_info_st * cinfo);
-void pkcs7_info(common_info_st * cinfo, unsigned display_data);
+static void print_crl_info(gnutls_x509_crl_t crl, FILE *out,
+ common_info_st *cinfo);
+void pkcs7_info(common_info_st *cinfo, unsigned display_data);
void pkcs7_sign(common_info_st *, unsigned embed);
void pkcs7_generate(common_info_st *);
void pkcs8_info(void);
-void pkcs8_info_int(gnutls_datum_t * data, unsigned format,
- unsigned ignore_err, FILE * out, const char *tab);
-void crq_info(common_info_st * cinfo);
+void pkcs8_info_int(gnutls_datum_t *data, unsigned format, unsigned ignore_err,
+ FILE *out, const char *tab);
+void crq_info(common_info_st *cinfo);
void smime_to_pkcs7(void);
void pkcs12_info(common_info_st *);
void generate_pkcs12(common_info_st *);
void generate_pkcs8(common_info_st *);
-static void verify_chain(common_info_st * cinfo);
-void verify_crl(common_info_st * cinfo);
-void verify_pkcs7(common_info_st * cinfo, const char *purpose,
+static void verify_chain(common_info_st *cinfo);
+void verify_crl(common_info_st *cinfo);
+void verify_pkcs7(common_info_st *cinfo, const char *purpose,
unsigned display_data);
void pubkey_info(gnutls_x509_crt_t crt, common_info_st *);
void certificate_info(int, common_info_st *);
-void crl_info(common_info_st * cinfo);
+void crl_info(common_info_st *cinfo);
void privkey_info(common_info_st *);
static void cmd_parser(int argc, char **argv);
void generate_self_signed(common_info_st *);
void generate_request(common_info_st *);
-static void print_certificate_info(gnutls_x509_crt_t crt, FILE * out,
+static void print_certificate_info(gnutls_x509_crt_t crt, FILE *out,
unsigned int all);
-static void verify_certificate(common_info_st * cinfo);
+static void verify_certificate(common_info_st *cinfo);
-static void privkey_to_rsa(common_info_st * cinfo);
+static void privkey_to_rsa(common_info_st *cinfo);
-static void pubkey_keyid(common_info_st * cinfo);
-static void certificate_fpr(common_info_st * cinfo);
+static void pubkey_keyid(common_info_st *cinfo);
+static void certificate_fpr(common_info_st *cinfo);
static gnutls_digest_algorithm_t get_dig(gnutls_x509_crt_t crt,
- common_info_st * cinfo);
+ common_info_st *cinfo);
FILE *outfile;
-static const char *outfile_name = NULL; /* to delete on exit */
+static const char *outfile_name = NULL; /* to delete on exit */
#define REQ_KEY_TYPE_DEFAULT GNUTLS_PK_RSA
@@ -133,22 +133,24 @@ int main(int argc, char **argv)
return 0;
}
-#define SET_SPKI_PARAMS(spki, cinfo) \
- do { \
- unsigned _salt_size; \
- if (!cinfo->hash) { \
- fprintf(stderr, "You must provide the hash algorithm and optionally the salt size for RSA-PSS\n"); \
- app_exit(1); \
- } \
- if (HAVE_OPT(SALT_SIZE)) { \
- _salt_size = OPT_VALUE_SALT_SIZE; \
- } else { \
- _salt_size = gnutls_hash_get_len(cinfo->hash); \
- } \
- gnutls_x509_spki_set_rsa_pss_params(spki, cinfo->hash, _salt_size); \
- } while(0)
-
-static gnutls_x509_privkey_t generate_private_key_int(common_info_st * cinfo)
+#define SET_SPKI_PARAMS(spki, cinfo) \
+ do { \
+ unsigned _salt_size; \
+ if (!cinfo->hash) { \
+ fprintf(stderr, \
+ "You must provide the hash algorithm and optionally the salt size for RSA-PSS\n"); \
+ app_exit(1); \
+ } \
+ if (HAVE_OPT(SALT_SIZE)) { \
+ _salt_size = OPT_VALUE_SALT_SIZE; \
+ } else { \
+ _salt_size = gnutls_hash_get_len(cinfo->hash); \
+ } \
+ gnutls_x509_spki_set_rsa_pss_params(spki, cinfo->hash, \
+ _salt_size); \
+ } while (0)
+
+static gnutls_x509_privkey_t generate_private_key_int(common_info_st *cinfo)
{
gnutls_x509_privkey_t key;
int ret, key_type, bits;
@@ -194,12 +196,12 @@ static gnutls_x509_privkey_t generate_private_key_int(common_info_st * cinfo)
fprintf(stderr,
"Note that ECDSA keys with size less than 256 are not widely supported.\n\n");
} else {
- fprintf(stdlog, "Generating a %d bit %s private key...\n",
- bits, gnutls_pk_algorithm_get_name(key_type));
+ fprintf(stdlog, "Generating a %d bit %s private key...\n", bits,
+ gnutls_pk_algorithm_get_name(key_type));
}
- if (provable
- && (!GNUTLS_PK_IS_RSA(key_type) && key_type != GNUTLS_PK_DSA)) {
+ if (provable &&
+ (!GNUTLS_PK_IS_RSA(key_type) && key_type != GNUTLS_PK_DSA)) {
fprintf(stderr,
"The --provable parameter can only be used with RSA and DSA keys.\n");
app_exit(1);
@@ -259,9 +261,8 @@ static gnutls_x509_privkey_t generate_private_key_int(common_info_st * cinfo)
flags |= GNUTLS_PRIVKEY_FLAG_PROVABLE;
}
- if (key_type == GNUTLS_PK_RSA_PSS
- && (cinfo->hash || HAVE_OPT(SALT_SIZE))) {
-
+ if (key_type == GNUTLS_PK_RSA_PSS &&
+ (cinfo->hash || HAVE_OPT(SALT_SIZE))) {
SET_SPKI_PARAMS(spki, cinfo);
kdata[kdata_size].type = GNUTLS_KEYGEN_SPKI;
@@ -272,9 +273,8 @@ static gnutls_x509_privkey_t generate_private_key_int(common_info_st * cinfo)
if (provable)
flags |= GNUTLS_PRIVKEY_FLAG_PROVABLE;
- ret =
- gnutls_x509_privkey_generate2(key, key_type, bits, flags, kdata,
- kdata_size);
+ ret = gnutls_x509_privkey_generate2(key, key_type, bits, flags, kdata,
+ kdata_size);
if (ret < 0) {
fprintf(stderr, "privkey_generate: %s\n", gnutls_strerror(ret));
app_exit(1);
@@ -292,7 +292,7 @@ static gnutls_x509_privkey_t generate_private_key_int(common_info_st * cinfo)
return key;
}
-static void generate_private_key(common_info_st * cinfo)
+static void generate_private_key(common_info_st *cinfo)
{
gnutls_x509_privkey_t key;
@@ -303,7 +303,7 @@ static void generate_private_key(common_info_st * cinfo)
gnutls_x509_privkey_deinit(key);
}
-static void verify_provable_privkey(common_info_st * cinfo)
+static void verify_provable_privkey(common_info_st *cinfo)
{
gnutls_privkey_t pkey;
int ret;
@@ -311,9 +311,8 @@ static void verify_provable_privkey(common_info_st * cinfo)
pkey = load_private_key(1, cinfo);
if (cinfo->seed_size > 0) {
- ret =
- gnutls_privkey_verify_seed(pkey, 0, cinfo->seed,
- cinfo->seed_size);
+ ret = gnutls_privkey_verify_seed(pkey, 0, cinfo->seed,
+ cinfo->seed_size);
} else {
ret = gnutls_privkey_verify_seed(pkey, 0, NULL, 0);
}
@@ -334,10 +333,9 @@ static void verify_provable_privkey(common_info_st * cinfo)
return;
}
-static gnutls_x509_crt_t
-generate_certificate(gnutls_privkey_t * ret_key,
- gnutls_x509_crt_t ca_crt, int proxy,
- common_info_st * cinfo)
+static gnutls_x509_crt_t generate_certificate(gnutls_privkey_t *ret_key,
+ gnutls_x509_crt_t ca_crt,
+ int proxy, common_info_st *cinfo)
{
gnutls_x509_crt_t crt;
gnutls_x509_spki_t spki;
@@ -350,7 +348,7 @@ generate_certificate(gnutls_privkey_t * ret_key,
time_t secs;
int vers;
unsigned int usage = 0, server, ask;
- gnutls_x509_crq_t crq; /* request */
+ gnutls_x509_crq_t crq; /* request */
unsigned pk;
char timebuf[SIMPLE_CTIME_BUF_SIZE];
@@ -363,7 +361,6 @@ generate_certificate(gnutls_privkey_t * ret_key,
crq = load_request(cinfo);
if (crq == NULL) {
-
key = load_private_key(0, cinfo);
pubkey = load_public_key_or_import(1, key, cinfo);
@@ -376,9 +373,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
/* set the DN.
*/
if (proxy) {
- result =
- gnutls_x509_crt_set_proxy_dn(crt, ca_crt, 0,
- NULL, 0);
+ result = gnutls_x509_crt_set_proxy_dn(crt, ca_crt, 0,
+ NULL, 0);
if (result < 0) {
fprintf(stderr, "set_proxy_dn: %s\n",
gnutls_strerror(result));
@@ -419,7 +415,6 @@ generate_certificate(gnutls_privkey_t * ret_key,
}
gnutls_pubkey_deinit(pubkey);
} else {
-
result = gnutls_x509_crt_set_crq(crt, crq);
if (result < 0) {
fprintf(stderr, "set_crq: %s\n",
@@ -464,10 +459,10 @@ generate_certificate(gnutls_privkey_t * ret_key,
ask = 0;
secs = get_expiration_date();
- if (ca_crt
- && (secs > gnutls_x509_crt_get_expiration_time(ca_crt))) {
+ if (ca_crt &&
+ (secs > gnutls_x509_crt_get_expiration_time(ca_crt))) {
time_t exp =
- gnutls_x509_crt_get_expiration_time(ca_crt);
+ gnutls_x509_crt_get_expiration_time(ca_crt);
fprintf(stderr, "\nExpiration time: %s\n",
simple_ctime(&secs, timebuf));
fprintf(stderr, "CA expiration time: %s\n",
@@ -476,8 +471,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
"Warning: The time set exceeds the CA's expiration time\n");
ask = 1;
}
- } while (batch == 0 && ask != 0
- && read_yesno("Is it ok to proceed? (y/N): ", 0) == 0);
+ } while (batch == 0 && ask != 0 &&
+ read_yesno("Is it ok to proceed? (y/N): ", 0) == 0);
result = gnutls_x509_crt_set_expiration_time(crt, secs);
if (result < 0) {
@@ -503,7 +498,6 @@ generate_certificate(gnutls_privkey_t * ret_key,
/* append additional extensions */
if (cinfo->v1_cert == 0) {
-
if (proxy) {
const char *policylanguage;
char *policy;
@@ -511,18 +505,15 @@ generate_certificate(gnutls_privkey_t * ret_key,
int proxypathlen = get_path_len();
if (!batch) {
- printf
- ("1.3.6.1.5.5.7.21.1 ::= id-ppl-inheritALL\n");
- printf
- ("1.3.6.1.5.5.7.21.2 ::= id-ppl-independent\n");
+ printf("1.3.6.1.5.5.7.21.1 ::= id-ppl-inheritALL\n");
+ printf("1.3.6.1.5.5.7.21.2 ::= id-ppl-independent\n");
}
policylanguage = get_proxy_policy(&policy, &policylen);
- result =
- gnutls_x509_crt_set_proxy(crt, proxypathlen,
- policylanguage,
- policy, policylen);
+ result = gnutls_x509_crt_set_proxy(crt, proxypathlen,
+ policylanguage,
+ policy, policylen);
if (result < 0) {
fprintf(stderr, "set_proxy: %s\n",
gnutls_strerror(result));
@@ -537,9 +528,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
else
path_len = -1;
- result =
- gnutls_x509_crt_set_basic_constraints(crt, ca_status,
- path_len);
+ result = gnutls_x509_crt_set_basic_constraints(crt, ca_status,
+ path_len);
if (result < 0) {
fprintf(stderr, "basic_constraints: %s\n",
gnutls_strerror(result));
@@ -548,9 +538,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
client = get_tls_client_status();
if (client != 0) {
- result = gnutls_x509_crt_set_key_purpose_oid(crt,
- GNUTLS_KP_TLS_WWW_CLIENT,
- 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_TLS_WWW_CLIENT, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -570,10 +559,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
get_policy_set(crt);
if (server != 0) {
- result =
- gnutls_x509_crt_set_key_purpose_oid(crt,
- GNUTLS_KP_TLS_WWW_SERVER,
- 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_TLS_WWW_SERVER, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -584,7 +571,9 @@ generate_certificate(gnutls_privkey_t * ret_key,
}
if (!ca_status || server) {
- if (pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_GOST_01 || pk == GNUTLS_PK_GOST_12_256 || pk == GNUTLS_PK_GOST_12_512) { /* DSA and ECDSA keys can only sign. */
+ if (pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_GOST_01 ||
+ pk == GNUTLS_PK_GOST_12_256 ||
+ pk == GNUTLS_PK_GOST_12_512) { /* DSA and ECDSA keys can only sign. */
result = get_sign_status(server);
if (result)
usage |= GNUTLS_KEY_DIGITAL_SIGNATURE;
@@ -601,9 +590,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
}
if (is_ike) {
- result =
- gnutls_x509_crt_set_key_purpose_oid
- (crt, GNUTLS_KP_IPSEC_IKE, 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_IPSEC_IKE, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -631,9 +619,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
result = get_ocsp_sign_status();
if (result) {
- result =
- gnutls_x509_crt_set_key_purpose_oid
- (crt, GNUTLS_KP_OCSP_SIGNING, 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_OCSP_SIGNING, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -643,9 +630,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
result = get_code_sign_status();
if (result) {
- result =
- gnutls_x509_crt_set_key_purpose_oid
- (crt, GNUTLS_KP_CODE_SIGNING, 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_CODE_SIGNING, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -655,9 +641,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
result = get_time_stamp_status();
if (result) {
- result =
- gnutls_x509_crt_set_key_purpose_oid
- (crt, GNUTLS_KP_TIME_STAMPING, 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_TIME_STAMPING, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -667,9 +652,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
result = get_email_protection_status();
if (result) {
- result =
- gnutls_x509_crt_set_key_purpose_oid
- (crt, GNUTLS_KP_EMAIL_PROTECTION, 0);
+ result = gnutls_x509_crt_set_key_purpose_oid(
+ crt, GNUTLS_KP_EMAIL_PROTECTION, 0);
if (result < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(result));
@@ -709,13 +693,11 @@ generate_certificate(gnutls_privkey_t * ret_key,
/* Subject Key ID.
*/
size = lbuffer_size;
- result =
- gnutls_x509_crt_get_key_id(crt, GNUTLS_KEYID_USE_SHA1,
- lbuffer, &size);
+ result = gnutls_x509_crt_get_key_id(crt, GNUTLS_KEYID_USE_SHA1,
+ lbuffer, &size);
if (result >= 0) {
- result =
- gnutls_x509_crt_set_subject_key_id(crt, lbuffer,
- size);
+ result = gnutls_x509_crt_set_subject_key_id(
+ crt, lbuffer, size);
if (result < 0) {
fprintf(stderr, "set_subject_key_id: %s\n",
gnutls_strerror(result));
@@ -727,14 +709,11 @@ generate_certificate(gnutls_privkey_t * ret_key,
*/
if (ca_crt != NULL) {
size = lbuffer_size;
- result =
- gnutls_x509_crt_get_subject_key_id(ca_crt,
- lbuffer,
- &size, NULL);
+ result = gnutls_x509_crt_get_subject_key_id(
+ ca_crt, lbuffer, &size, NULL);
if (result >= 0) {
- result =
- gnutls_x509_crt_set_authority_key_id
- (crt, lbuffer, size);
+ result = gnutls_x509_crt_set_authority_key_id(
+ crt, lbuffer, size);
if (result < 0) {
fprintf(stderr,
"error setting authority key id: %s\n",
@@ -758,8 +737,8 @@ generate_certificate(gnutls_privkey_t * ret_key,
app_exit(1);
}
- if ((HAVE_OPT(KEY_TYPE) || req_key_type != REQ_KEY_TYPE_DEFAULT)
- && req_key_type != pk) {
+ if ((HAVE_OPT(KEY_TYPE) || req_key_type != REQ_KEY_TYPE_DEFAULT) &&
+ req_key_type != pk) {
if (pk != GNUTLS_PK_RSA || req_key_type != GNUTLS_PK_RSA_PSS) {
fprintf(stderr,
"cannot set certificate type (%s) incompatible with the key (%s)\n",
@@ -822,11 +801,10 @@ generate_certificate(gnutls_privkey_t * ret_key,
*ret_key = key;
return crt;
-
}
-static gnutls_x509_crl_t
-generate_crl(gnutls_x509_crt_t ca_crt, common_info_st * cinfo)
+static gnutls_x509_crl_t generate_crl(gnutls_x509_crt_t ca_crt,
+ common_info_st *cinfo)
{
gnutls_x509_crl_t crl;
gnutls_x509_crt_t *crts;
@@ -897,15 +875,13 @@ generate_crl(gnutls_x509_crt_t ca_crt, common_info_st * cinfo)
result = gnutls_x509_crt_get_subject_key_id(ca_crt, lbuffer,
&size, NULL);
if (result >= 0) {
- result =
- gnutls_x509_crl_set_authority_key_id(crl,
- lbuffer, size);
+ result = gnutls_x509_crl_set_authority_key_id(
+ crl, lbuffer, size);
if (result < 0) {
fprintf(stderr, "set_authority_key_id: %s\n",
gnutls_strerror(result));
app_exit(1);
}
-
}
}
@@ -929,14 +905,14 @@ generate_crl(gnutls_x509_crt_t ca_crt, common_info_st * cinfo)
}
static gnutls_digest_algorithm_t get_dig_for_pub(gnutls_pubkey_t pubkey,
- common_info_st * cinfo)
+ common_info_st *cinfo)
{
gnutls_digest_algorithm_t dig;
int result;
unsigned int mand;
result =
- gnutls_pubkey_get_preferred_hash_algorithm(pubkey, &dig, &mand);
+ gnutls_pubkey_get_preferred_hash_algorithm(pubkey, &dig, &mand);
if (result < 0) {
{
fprintf(stderr,
@@ -954,7 +930,7 @@ static gnutls_digest_algorithm_t get_dig_for_pub(gnutls_pubkey_t pubkey,
}
static gnutls_digest_algorithm_t get_dig(gnutls_x509_crt_t crt,
- common_info_st * cinfo)
+ common_info_st *cinfo)
{
gnutls_digest_algorithm_t dig;
gnutls_pubkey_t pubkey;
@@ -982,7 +958,7 @@ static gnutls_digest_algorithm_t get_dig(gnutls_x509_crt_t crt,
return dig;
}
-void generate_self_signed(common_info_st * cinfo)
+void generate_self_signed(common_info_st *cinfo)
{
gnutls_x509_crt_t crt;
gnutls_datum_t out;
@@ -1004,9 +980,8 @@ void generate_self_signed(common_info_st * cinfo)
if (cinfo->rsa_pss_sign)
flags |= GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS;
- result =
- gnutls_x509_crt_privkey_sign(crt, crt, key, get_dig(crt, cinfo),
- flags);
+ result = gnutls_x509_crt_privkey_sign(crt, crt, key,
+ get_dig(crt, cinfo), flags);
if (result < 0) {
fprintf(stderr, "crt_sign: %s\n", gnutls_strerror(result));
app_exit(1);
@@ -1025,7 +1000,7 @@ void generate_self_signed(common_info_st * cinfo)
gnutls_privkey_deinit(key);
}
-static void generate_signed_certificate(common_info_st * cinfo)
+static void generate_signed_certificate(common_info_st *cinfo)
{
gnutls_x509_crt_t crt;
gnutls_privkey_t key;
@@ -1049,9 +1024,8 @@ static void generate_signed_certificate(common_info_st * cinfo)
if (cinfo->rsa_pss_sign)
flags |= GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS;
- result =
- gnutls_x509_crt_privkey_sign(crt, ca_crt, ca_key,
- get_dig(ca_crt, cinfo), flags);
+ result = gnutls_x509_crt_privkey_sign(crt, ca_crt, ca_key,
+ get_dig(ca_crt, cinfo), flags);
if (result < 0) {
fprintf(stderr, "crt_sign: %s\n", gnutls_strerror(result));
app_exit(1);
@@ -1072,7 +1046,7 @@ static void generate_signed_certificate(common_info_st * cinfo)
gnutls_privkey_deinit(ca_key);
}
-static void generate_proxy_certificate(common_info_st * cinfo)
+static void generate_proxy_certificate(common_info_st *cinfo)
{
gnutls_x509_crt_t crt, eecrt;
gnutls_privkey_t key, eekey;
@@ -1094,9 +1068,8 @@ static void generate_proxy_certificate(common_info_st * cinfo)
if (cinfo->rsa_pss_sign)
flags |= GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS;
- result =
- gnutls_x509_crt_privkey_sign(crt, eecrt, eekey,
- get_dig(eecrt, cinfo), flags);
+ result = gnutls_x509_crt_privkey_sign(crt, eecrt, eekey,
+ get_dig(eecrt, cinfo), flags);
if (result < 0) {
fprintf(stderr, "crt_sign: %s\n", gnutls_strerror(result));
app_exit(1);
@@ -1117,7 +1090,7 @@ static void generate_proxy_certificate(common_info_st * cinfo)
gnutls_privkey_deinit(eekey);
}
-static void generate_signed_crl(common_info_st * cinfo)
+static void generate_signed_crl(common_info_st *cinfo)
{
gnutls_x509_crl_t crl;
int result;
@@ -1131,9 +1104,8 @@ static void generate_signed_crl(common_info_st * cinfo)
crl = generate_crl(ca_crt, cinfo);
fprintf(stdlog, "\n");
- result =
- gnutls_x509_crl_privkey_sign(crl, ca_crt, ca_key,
- get_dig(ca_crt, cinfo), 0);
+ result = gnutls_x509_crl_privkey_sign(crl, ca_crt, ca_key,
+ get_dig(ca_crt, cinfo), 0);
if (result < 0) {
fprintf(stderr, "crl_privkey_sign: %s\n",
gnutls_strerror(result));
@@ -1147,7 +1119,7 @@ static void generate_signed_crl(common_info_st * cinfo)
gnutls_x509_crt_deinit(ca_crt);
}
-static void update_signed_certificate(common_info_st * cinfo)
+static void update_signed_certificate(common_info_st *cinfo)
{
gnutls_x509_crt_t crt;
int result;
@@ -1201,9 +1173,8 @@ static void update_signed_certificate(common_info_st * cinfo)
if (cinfo->rsa_pss_sign)
flags |= GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS;
- result =
- gnutls_x509_crt_privkey_sign(crt, ca_crt, ca_key,
- get_dig(ca_crt, cinfo), flags);
+ result = gnutls_x509_crt_privkey_sign(crt, ca_crt, ca_key,
+ get_dig(ca_crt, cinfo), flags);
if (result < 0) {
fprintf(stderr, "crt_sign: %s\n", gnutls_strerror(result));
app_exit(1);
@@ -1351,8 +1322,8 @@ static void cmd_parser(int argc, char **argv)
fprintf(stderr, "pkcs11_init: %s",
gnutls_strerror(ret));
else {
- ret =
- gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER), NULL);
+ ret = gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER),
+ NULL);
if (ret < 0) {
fprintf(stderr, "pkcs11_add_provider: %s",
gnutls_strerror(ret));
@@ -1399,8 +1370,8 @@ static void cmd_parser(int argc, char **argv)
cinfo.pkcs8 = HAVE_OPT(PKCS8);
cinfo.incert_format = incert_format;
cinfo.outcert_format = outcert_format;
- cinfo.outtext = ENABLED_OPT(TEXT)
- && outcert_format == GNUTLS_X509_FMT_PEM;
+ cinfo.outtext = ENABLED_OPT(TEXT) &&
+ outcert_format == GNUTLS_X509_FMT_PEM;
if (HAVE_OPT(LOAD_CERTIFICATE))
cinfo.cert = OPT_ARG(LOAD_CERTIFICATE);
@@ -1452,11 +1423,11 @@ static void cmd_parser(int argc, char **argv)
if (HAVE_OPT(VERIFY_PROFILE)) {
if (strcasecmp(OPT_ARG(VERIFY_PROFILE), "none") == 0) {
cinfo.verification_profile =
- (gnutls_sec_param_t) GNUTLS_PROFILE_UNKNOWN;
+ (gnutls_sec_param_t)GNUTLS_PROFILE_UNKNOWN;
} else {
cinfo.verification_profile = (gnutls_sec_param_t)
- gnutls_certificate_verification_profile_get_id
- (OPT_ARG(VERIFY_PROFILE));
+ gnutls_certificate_verification_profile_get_id(
+ OPT_ARG(VERIFY_PROFILE));
}
} else if (!HAVE_OPT(VERIFY_ALLOW_BROKEN)) {
if (HAVE_OPT(VERIFY_CHAIN) || HAVE_OPT(VERIFY)) {
@@ -1551,7 +1522,7 @@ static void cmd_parser(int argc, char **argv)
gnutls_global_deinit();
}
-void certificate_info(int pubkey, common_info_st * cinfo)
+void certificate_info(int pubkey, common_info_st *cinfo)
{
gnutls_x509_crt_t *crts = NULL;
size_t size;
@@ -1568,9 +1539,8 @@ void certificate_info(int pubkey, common_info_st * cinfo)
app_exit(1);
}
- ret =
- gnutls_x509_crt_list_import2(&crts, &crt_num, &pem, incert_format,
- 0);
+ ret = gnutls_x509_crt_list_import2(&crts, &crt_num, &pem, incert_format,
+ 0);
if (ret < 0) {
fprintf(stderr, "import error: %s\n", gnutls_strerror(ret));
app_exit(1);
@@ -1598,9 +1568,8 @@ void certificate_info(int pubkey, common_info_st * cinfo)
/* this deinitializes the certificate */
pubkey_info(crts[i], cinfo);
} else {
- ret =
- gnutls_x509_crt_export2(crts[i], outcert_format,
- &out);
+ ret = gnutls_x509_crt_export2(crts[i], outcert_format,
+ &out);
if (ret < 0) {
fprintf(stderr, "export error: %s\n",
gnutls_strerror(ret));
@@ -1612,13 +1581,12 @@ void certificate_info(int pubkey, common_info_st * cinfo)
gnutls_x509_crt_deinit(crts[i]);
}
-
}
gnutls_free(crts);
}
-static void
-print_certificate_info(gnutls_x509_crt_t crt, FILE * out, unsigned int all)
+static void print_certificate_info(gnutls_x509_crt_t crt, FILE *out,
+ unsigned int all)
{
gnutls_datum_t data;
int ret;
@@ -1626,24 +1594,22 @@ print_certificate_info(gnutls_x509_crt_t crt, FILE * out, unsigned int all)
if (all)
ret = gnutls_x509_crt_print(crt, full_format, &data);
else
- ret =
- gnutls_x509_crt_print(crt,
- GNUTLS_CRT_PRINT_UNSIGNED_FULL,
- &data);
+ ret = gnutls_x509_crt_print(crt, GNUTLS_CRT_PRINT_UNSIGNED_FULL,
+ &data);
if (ret == 0) {
fprintf(out, "%s\n", data.data);
gnutls_free(data.data);
}
- if (out == stderr && batch == 0) /* interactive */
- if (read_yesno("Is the above information ok? (y/N): ", 0)
- == 0) {
+ if (out == stderr && batch == 0) /* interactive */
+ if (read_yesno("Is the above information ok? (y/N): ", 0) ==
+ 0) {
app_exit(1);
}
}
-static void print_crl_info(gnutls_x509_crl_t crl, FILE * out,
- common_info_st * cinfo)
+static void print_crl_info(gnutls_x509_crl_t crl, FILE *out,
+ common_info_st *cinfo)
{
gnutls_datum_t data;
gnutls_datum_t cout;
@@ -1671,7 +1637,7 @@ static void print_crl_info(gnutls_x509_crl_t crl, FILE * out,
gnutls_free(cout.data);
}
-void crl_info(common_info_st * cinfo)
+void crl_info(common_info_st *cinfo)
{
gnutls_x509_crl_t crl;
int ret;
@@ -1705,8 +1671,8 @@ void crl_info(common_info_st * cinfo)
gnutls_x509_crl_deinit(crl);
}
-static void print_crq_info(gnutls_x509_crq_t crq, FILE * out,
- common_info_st * cinfo)
+static void print_crq_info(gnutls_x509_crq_t crq, FILE *out,
+ common_info_st *cinfo)
{
gnutls_datum_t data;
int ret;
@@ -1744,7 +1710,7 @@ static void print_crq_info(gnutls_x509_crq_t crq, FILE * out,
fwrite(lbuffer, 1, size, outfile);
}
-void crq_info(common_info_st * cinfo)
+void crq_info(common_info_st *cinfo)
{
gnutls_x509_crq_t crq;
int ret;
@@ -1778,7 +1744,7 @@ void crq_info(common_info_st * cinfo)
gnutls_x509_crq_deinit(crq);
}
-void privkey_info(common_info_st * cinfo)
+void privkey_info(common_info_st *cinfo)
{
gnutls_x509_privkey_t key;
size_t size;
@@ -1799,9 +1765,8 @@ void privkey_info(common_info_st * cinfo)
pem.data = lbuffer;
pem.size = size;
- ret =
- gnutls_x509_privkey_import2(key, &pem, incert_format, NULL,
- GNUTLS_PKCS_PLAIN);
+ ret = gnutls_x509_privkey_import2(key, &pem, incert_format, NULL,
+ GNUTLS_PKCS_PLAIN);
/* If we failed to import the certificate previously try PKCS #8 */
if (ret == GNUTLS_E_DECRYPTION_FAILED) {
@@ -1814,8 +1779,8 @@ void privkey_info(common_info_st * cinfo)
pass = get_password(cinfo, &flags, 0);
- ret = gnutls_x509_privkey_import2(key, &pem,
- incert_format, pass, flags);
+ ret = gnutls_x509_privkey_import2(key, &pem, incert_format,
+ pass, flags);
}
if (ret < 0) {
fprintf(stderr, "import error: %s\n", gnutls_strerror(ret));
@@ -1835,7 +1800,7 @@ void privkey_info(common_info_st * cinfo)
gnutls_x509_privkey_deinit(key);
}
-static void privkey_to_rsa(common_info_st * cinfo)
+static void privkey_to_rsa(common_info_st *cinfo)
{
gnutls_x509_privkey_t key;
size_t size;
@@ -1857,9 +1822,8 @@ static void privkey_to_rsa(common_info_st * cinfo)
pem.data = lbuffer;
pem.size = size;
- ret =
- gnutls_x509_privkey_import2(key, &pem, incert_format, NULL,
- GNUTLS_PKCS_PLAIN);
+ ret = gnutls_x509_privkey_import2(key, &pem, incert_format, NULL,
+ GNUTLS_PKCS_PLAIN);
/* If we failed to import the certificate previously try PKCS #8 */
if (ret == GNUTLS_E_DECRYPTION_FAILED) {
@@ -1872,8 +1836,8 @@ static void privkey_to_rsa(common_info_st * cinfo)
pass = get_password(cinfo, &flags, 0);
- ret = gnutls_x509_privkey_import2(key, &pem,
- incert_format, pass, flags);
+ ret = gnutls_x509_privkey_import2(key, &pem, incert_format,
+ pass, flags);
}
if (ret < 0) {
fprintf(stderr, "import error: %s\n", gnutls_strerror(ret));
@@ -1903,7 +1867,7 @@ static void privkey_to_rsa(common_info_st * cinfo)
/* Generate a PKCS #10 certificate request.
*/
-void generate_request(common_info_st * cinfo)
+void generate_request(common_info_st *cinfo)
{
gnutls_x509_crq_t crq;
gnutls_x509_privkey_t xkey;
@@ -1942,9 +1906,8 @@ void generate_request(common_info_st * cinfo)
print_private_key(outfile, cinfo, xkey);
- ret =
- gnutls_privkey_import_x509(pkey, xkey,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_x509(
+ pkey, xkey, GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
fprintf(stderr, "privkey_import_x509: %s\n",
gnutls_strerror(ret));
@@ -1995,17 +1958,15 @@ void generate_request(common_info_st * cinfo)
else
path_len = -1;
- ret =
- gnutls_x509_crq_set_basic_constraints(crq, ca_status,
- path_len);
+ ret = gnutls_x509_crq_set_basic_constraints(crq, ca_status,
+ path_len);
if (ret < 0) {
fprintf(stderr, "set_basic_constraints: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
- if (pk == GNUTLS_PK_RSA ||
- pk == GNUTLS_PK_GOST_01 ||
+ if (pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_GOST_01 ||
pk == GNUTLS_PK_GOST_12_256 ||
pk == GNUTLS_PK_GOST_12_512) {
ret = get_sign_status(1);
@@ -2019,7 +1980,7 @@ void generate_request(common_info_st * cinfo)
usage |= GNUTLS_KEY_KEY_ENCIPHERMENT;
else
usage |= GNUTLS_KEY_DIGITAL_SIGNATURE;
- } else { /* DSA and ECDSA are always signing */
+ } else { /* DSA and ECDSA are always signing */
if (get_encrypt_status(1))
fprintf(stderr,
"warning: this algorithm does not support encryption; disabling the encryption flag\n");
@@ -2029,8 +1990,8 @@ void generate_request(common_info_st * cinfo)
ret = get_code_sign_status();
if (ret) {
- ret = gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_CODE_SIGNING, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_CODE_SIGNING, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2040,8 +2001,8 @@ void generate_request(common_info_st * cinfo)
ret = get_time_stamp_status();
if (ret) {
- ret = gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_TIME_STAMPING, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_TIME_STAMPING, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2051,9 +2012,8 @@ void generate_request(common_info_st * cinfo)
ret = get_email_protection_status();
if (ret) {
- ret =
- gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_EMAIL_PROTECTION, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_EMAIL_PROTECTION, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2063,8 +2023,8 @@ void generate_request(common_info_st * cinfo)
ret = get_ipsec_ike_status();
if (ret) {
- ret = gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_IPSEC_IKE, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_IPSEC_IKE, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2074,8 +2034,8 @@ void generate_request(common_info_st * cinfo)
ret = get_ocsp_sign_status();
if (ret) {
- ret = gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_OCSP_SIGNING, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_OCSP_SIGNING, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2091,7 +2051,6 @@ void generate_request(common_info_st * cinfo)
ret = get_crl_sign_status();
if (ret)
usage |= GNUTLS_KEY_CRL_SIGN;
-
}
ret = gnutls_x509_crq_set_key_usage(crq, usage);
@@ -2103,8 +2062,8 @@ void generate_request(common_info_st * cinfo)
ret = get_tls_client_status();
if (ret != 0) {
- ret = gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_TLS_WWW_CLIENT, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_TLS_WWW_CLIENT, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2114,8 +2073,8 @@ void generate_request(common_info_st * cinfo)
ret = get_tls_server_status();
if (ret != 0) {
- ret = gnutls_x509_crq_set_key_purpose_oid
- (crq, GNUTLS_KP_TLS_WWW_SERVER, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(
+ crq, GNUTLS_KP_TLS_WWW_SERVER, 0);
if (ret < 0) {
fprintf(stderr, "key_kp: %s\n",
gnutls_strerror(ret));
@@ -2134,9 +2093,8 @@ void generate_request(common_info_st * cinfo)
app_exit(1);
}
- ret =
- gnutls_x509_crq_privkey_sign(crq, pkey,
- get_dig_for_pub(pubkey, cinfo), 0);
+ ret = gnutls_x509_crq_privkey_sign(crq, pkey,
+ get_dig_for_pub(pubkey, cinfo), 0);
if (ret < 0) {
fprintf(stderr, "sign: %s\n", gnutls_strerror(ret));
app_exit(1);
@@ -2147,10 +2105,9 @@ void generate_request(common_info_st * cinfo)
gnutls_x509_crq_deinit(crq);
gnutls_privkey_deinit(pkey);
gnutls_pubkey_deinit(pubkey);
-
}
-static void print_verification_res(FILE * outfile, unsigned int output);
+static void print_verification_res(FILE *outfile, unsigned int output);
static const char *get_signature_algo(gnutls_x509_crt_t crt)
{
@@ -2206,8 +2163,7 @@ static int detailed_verification(gnutls_x509_crt_t cert,
gnutls_free(issuer_name.data);
ret = gnutls_x509_crt_get_dn3(issuer, &issuer_name, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_get_issuer_dn: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_get_issuer_dn: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
@@ -2224,8 +2180,7 @@ static int detailed_verification(gnutls_x509_crt_t cert,
ret = gnutls_x509_crl_get_issuer_dn3(crl, &issuer_name, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crl_get_issuer_dn: %s\n",
+ fprintf(stderr, "gnutls_x509_crl_get_issuer_dn: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
@@ -2261,7 +2216,7 @@ static int detailed_verification(gnutls_x509_crt_t cert,
return 0;
}
-static void load_data(common_info_st * cinfo, gnutls_datum_t * data)
+static void load_data(common_info_st *cinfo, gnutls_datum_t *data)
{
FILE *fp;
size_t size;
@@ -2282,7 +2237,7 @@ static void load_data(common_info_st * cinfo, gnutls_datum_t * data)
fclose(fp);
}
-static gnutls_x509_trust_list_t load_tl(common_info_st * cinfo)
+static gnutls_x509_trust_list_t load_tl(common_info_st *cinfo)
{
gnutls_x509_trust_list_t list;
int ret;
@@ -2294,7 +2249,7 @@ static gnutls_x509_trust_list_t load_tl(common_info_st * cinfo)
app_exit(1);
}
- if (cinfo->ca == NULL) { /* system */
+ if (cinfo->ca == NULL) { /* system */
ret = gnutls_x509_trust_list_add_system_trust(list, 0, 0);
if (ret < 0) {
fprintf(stderr, "Error loading system trust: %s\n",
@@ -2304,19 +2259,13 @@ static gnutls_x509_trust_list_t load_tl(common_info_st * cinfo)
fprintf(stderr, "Loaded system trust (%d CAs available)\n",
ret);
} else if (cinfo->ca != NULL) {
- ret =
- gnutls_x509_trust_list_add_trust_file(list, cinfo->ca,
- cinfo->crl,
- cinfo->incert_format,
- 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ list, cinfo->ca, cinfo->crl, cinfo->incert_format, 0,
+ 0);
if (ret < 0) {
- int ret2 = gnutls_x509_trust_list_add_trust_file(list,
- cinfo->
- ca,
- cinfo->
- crl,
- GNUTLS_X509_FMT_PEM,
- 0, 0);
+ int ret2 = gnutls_x509_trust_list_add_trust_file(
+ list, cinfo->ca, cinfo->crl,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret2 >= 0)
ret = ret2;
}
@@ -2359,29 +2308,24 @@ static gnutls_x509_trust_list_t load_tl_from_cert_chain(const char *cert,
tmp.data = (void *)cert;
tmp.size = cert_size;
- ret =
- gnutls_x509_crt_list_import2(&x509_cert_list, &x509_ncerts, &tmp,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&x509_cert_list, &x509_ncerts, &tmp,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0 || x509_ncerts < 1) {
fprintf(stderr, "error parsing CRTs: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
- ret =
- gnutls_x509_crl_list_import2(&x509_crl_list,
- &x509_ncrls, &tmp,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crl_list_import2(&x509_crl_list, &x509_ncrls, &tmp,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
x509_crl_list = NULL;
x509_ncrls = 0;
}
/* add CAs */
- ret =
- gnutls_x509_trust_list_add_cas(list,
- &x509_cert_list[x509_ncerts - 1], 1,
- 0);
+ ret = gnutls_x509_trust_list_add_cas(
+ list, &x509_cert_list[x509_ncerts - 1], 1, 0);
if (ret < 0) {
fprintf(stderr, "gnutls_x509_trust_add_cas: %s\n",
gnutls_strerror(ret));
@@ -2390,9 +2334,8 @@ static gnutls_x509_trust_list_t load_tl_from_cert_chain(const char *cert,
/* add CRLs */
if (x509_ncrls > 0) {
- ret =
- gnutls_x509_trust_list_add_crls(list, x509_crl_list,
- x509_ncrls, 0, 0);
+ ret = gnutls_x509_trust_list_add_crls(list, x509_crl_list,
+ x509_ncrls, 0, 0);
if (ret < 0) {
fprintf(stderr, "gnutls_x509_trust_add_crls: %s\n",
gnutls_strerror(ret));
@@ -2416,9 +2359,11 @@ static gnutls_x509_trust_list_t load_tl_from_cert_chain(const char *cert,
*
* If @system is non-zero then the system's CA will be used.
*/
-static int _verify_x509_mem(const void *cert, int cert_size, common_info_st * cinfo, unsigned use_system_trust, /* if ca_file == NULL */
- const char *purpose,
- const char *hostname, const char *email)
+static int _verify_x509_mem(const void *cert, int cert_size,
+ common_info_st *cinfo,
+ unsigned use_system_trust, /* if ca_file == NULL */
+ const char *purpose, const char *hostname,
+ const char *email)
{
int ret;
unsigned i;
@@ -2445,10 +2390,8 @@ static int _verify_x509_mem(const void *cert, int cert_size, common_info_st * ci
tmp.data = (void *)cert;
tmp.size = cert_size;
- ret =
- gnutls_x509_crt_list_import2(&x509_cert_list,
- &x509_ncerts, &tmp,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&x509_cert_list, &x509_ncerts, &tmp,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0 || x509_ncerts < 1) {
fprintf(stderr, "error parsing CRTs: %s\n",
gnutls_strerror(ret));
@@ -2484,21 +2427,14 @@ static int _verify_x509_mem(const void *cert, int cert_size, common_info_st * ci
vdata_size++;
}
- ret =
- gnutls_x509_trust_list_verify_crt2(list, x509_cert_list,
- x509_ncerts,
- vdata,
- vdata_size,
- vflags,
- &output,
- detailed_verification);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ list, x509_cert_list, x509_ncerts, vdata, vdata_size,
+ vflags, &output, detailed_verification);
} else {
- ret =
- gnutls_x509_trust_list_verify_crt(list, x509_cert_list,
- x509_ncerts,
- vflags,
- &output,
- detailed_verification);
+ ret = gnutls_x509_trust_list_verify_crt(list, x509_cert_list,
+ x509_ncerts, vflags,
+ &output,
+ detailed_verification);
}
if (ret < 0) {
fprintf(stderr, "gnutls_x509_trusted_list_verify_crt: %s\n",
@@ -2523,7 +2459,7 @@ static int _verify_x509_mem(const void *cert, int cert_size, common_info_st * ci
return 0;
}
-static void print_verification_res(FILE * out, unsigned int output)
+static void print_verification_res(FILE *out, unsigned int output)
{
gnutls_datum_t pout;
int ret;
@@ -2534,10 +2470,8 @@ static void print_verification_res(FILE * out, unsigned int output)
fprintf(out, "Verified.");
}
- ret =
- gnutls_certificate_verification_status_print(output,
- GNUTLS_CRT_X509,
- &pout, 0);
+ ret = gnutls_certificate_verification_status_print(
+ output, GNUTLS_CRT_X509, &pout, 0);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
app_exit(EXIT_FAILURE);
@@ -2547,7 +2481,7 @@ static void print_verification_res(FILE * out, unsigned int output)
gnutls_free(pout.data);
}
-static void verify_chain(common_info_st * cinfo)
+static void verify_chain(common_info_st *cinfo)
{
char *buf;
size_t size;
@@ -2569,7 +2503,7 @@ static void verify_chain(common_info_st * cinfo)
free(buf);
}
-static void verify_certificate(common_info_st * cinfo)
+static void verify_certificate(common_info_st *cinfo)
{
char *cert;
char *cas = NULL;
@@ -2581,15 +2515,13 @@ static void verify_certificate(common_info_st * cinfo)
app_exit(1);
}
- _verify_x509_mem(cert, cert_size, cinfo, 1,
- OPT_ARG(VERIFY_PURPOSE),
+ _verify_x509_mem(cert, cert_size, cinfo, 1, OPT_ARG(VERIFY_PURPOSE),
OPT_ARG(VERIFY_HOSTNAME), OPT_ARG(VERIFY_EMAIL));
free(cert);
free(cas);
-
}
-void verify_crl(common_info_st * cinfo)
+void verify_crl(common_info_st *cinfo)
{
size_t size;
gnutls_datum_t dn;
@@ -2651,10 +2583,8 @@ void verify_crl(common_info_st * cinfo)
rc = 0;
}
- ret =
- gnutls_certificate_verification_status_print(output,
- GNUTLS_CRT_X509,
- &pout, 0);
+ ret = gnutls_certificate_verification_status_print(
+ output, GNUTLS_CRT_X509, &pout, 0);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
app_exit(EXIT_FAILURE);
@@ -2668,15 +2598,14 @@ void verify_crl(common_info_st * cinfo)
app_exit(rc);
}
-static void print_pkcs7_sig_info(gnutls_pkcs7_signature_info_st * info,
- common_info_st * cinfo)
+static void print_pkcs7_sig_info(gnutls_pkcs7_signature_info_st *info,
+ common_info_st *cinfo)
{
int ret;
gnutls_datum_t str;
- ret =
- gnutls_pkcs7_print_signature_info(info, GNUTLS_CRT_PRINT_COMPACT,
- &str);
+ ret = gnutls_pkcs7_print_signature_info(info, GNUTLS_CRT_PRINT_COMPACT,
+ &str);
if (ret < 0) {
fprintf(stderr, "printing error: %s\n", gnutls_strerror(ret));
app_exit(1);
@@ -2686,7 +2615,7 @@ static void print_pkcs7_sig_info(gnutls_pkcs7_signature_info_st * info,
gnutls_free(str.data);
}
-void verify_pkcs7(common_info_st * cinfo, const char *purpose,
+void verify_pkcs7(common_info_st *cinfo, const char *purpose,
unsigned display_data)
{
gnutls_pkcs7_t pkcs7;
@@ -2725,7 +2654,7 @@ void verify_pkcs7(common_info_st * cinfo, const char *purpose,
if (cinfo->cert != NULL) {
signer = load_cert(1, cinfo);
- } else { /* trust list */
+ } else { /* trust list */
tl = load_tl(cinfo);
if (tl == NULL) {
fprintf(stderr, "error loading trust list\n");
@@ -2751,16 +2680,15 @@ void verify_pkcs7(common_info_st * cinfo, const char *purpose,
if (!display_data) {
if (i == 0) {
fprintf(outfile, "eContent Type: %s\n",
- gnutls_pkcs7_get_embedded_data_oid
- (pkcs7));
+ gnutls_pkcs7_get_embedded_data_oid(
+ pkcs7));
fprintf(outfile, "Signers:\n");
}
print_pkcs7_sig_info(&info, cinfo);
} else if (i == 0) {
if (!detached.data) {
- ret =
- gnutls_pkcs7_get_embedded_data(pkcs7, 0,
- &tmp);
+ ret = gnutls_pkcs7_get_embedded_data(pkcs7, 0,
+ &tmp);
if (ret < 0) {
fprintf(stderr,
"error getting embedded data: %s\n",
@@ -2783,27 +2711,25 @@ void verify_pkcs7(common_info_st * cinfo, const char *purpose,
flags |= GNUTLS_VERIFY_ALLOW_BROKEN;
if (signer) {
- ret =
- gnutls_pkcs7_verify_direct(pkcs7, signer, i,
- detached.data !=
- NULL ? &detached : NULL,
- flags);
+ ret = gnutls_pkcs7_verify_direct(
+ pkcs7, signer, i,
+ detached.data != NULL ? &detached : NULL,
+ flags);
if (ret >= 0 && purpose) {
unsigned res =
- gnutls_x509_crt_check_key_purpose(signer,
- purpose,
- 0);
+ gnutls_x509_crt_check_key_purpose(
+ signer, purpose, 0);
if (res == 0)
ret = GNUTLS_E_CONSTRAINT_ERROR;
}
} else {
assert(tl != NULL);
- ret =
- gnutls_pkcs7_verify(pkcs7, tl, vdata, vdata_size, i,
- detached.data !=
- NULL ? &detached : NULL, flags);
+ ret = gnutls_pkcs7_verify(
+ pkcs7, tl, vdata, vdata_size, i,
+ detached.data != NULL ? &detached : NULL,
+ flags);
}
if (ret < 0) {
fprintf(stderr,
@@ -2825,7 +2751,7 @@ void verify_pkcs7(common_info_st * cinfo, const char *purpose,
app_exit(ecode);
}
-void pkcs7_sign(common_info_st * cinfo, unsigned embed)
+void pkcs7_sign(common_info_st *cinfo, unsigned embed)
{
gnutls_pkcs7_t pkcs7;
gnutls_privkey_t key;
@@ -2863,9 +2789,8 @@ void pkcs7_sign(common_info_st * cinfo, unsigned embed)
if (embed)
flags |= GNUTLS_PKCS7_EMBED_DATA;
- ret =
- gnutls_pkcs7_sign(pkcs7, *crts, key, &data, NULL, NULL,
- get_dig(*crts, cinfo), flags);
+ ret = gnutls_pkcs7_sign(pkcs7, *crts, key, &data, NULL, NULL,
+ get_dig(*crts, cinfo), flags);
if (ret < 0) {
fprintf(stderr, "Error signing: %s\n", gnutls_strerror(ret));
app_exit(1);
@@ -2898,7 +2823,7 @@ void pkcs7_sign(common_info_st * cinfo, unsigned embed)
app_exit(0);
}
-void pkcs7_generate(common_info_st * cinfo)
+void pkcs7_generate(common_info_st *cinfo)
{
gnutls_pkcs7_t pkcs7;
int ret;
@@ -2952,7 +2877,7 @@ void pkcs7_generate(common_info_st * cinfo)
app_exit(0);
}
-void generate_pkcs8(common_info_st * cinfo)
+void generate_pkcs8(common_info_st *cinfo)
{
gnutls_x509_privkey_t key;
int result;
@@ -2969,9 +2894,8 @@ void generate_pkcs8(common_info_st * cinfo)
flags |= cipher_to_flags(cinfo->pkcs_cipher);
size = lbuffer_size;
- result =
- gnutls_x509_privkey_export_pkcs8(key, outcert_format,
- password, flags, lbuffer, &size);
+ result = gnutls_x509_privkey_export_pkcs8(key, outcert_format, password,
+ flags, lbuffer, &size);
if (result < 0) {
fprintf(stderr, "key_export: %s\n", gnutls_strerror(result));
@@ -2979,13 +2903,12 @@ void generate_pkcs8(common_info_st * cinfo)
}
fwrite(lbuffer, 1, size, outfile);
-
}
#include <gnutls/pkcs12.h>
#include <unistd.h>
-void generate_pkcs12(common_info_st * cinfo)
+void generate_pkcs12(common_info_st *cinfo)
{
gnutls_pkcs12_t pkcs12;
gnutls_x509_crl_t *crls;
@@ -3020,7 +2943,7 @@ void generate_pkcs12(common_info_st * cinfo)
}
if (cinfo->hash != GNUTLS_DIG_UNKNOWN)
- mac = (gnutls_mac_algorithm_t) cinfo->hash;
+ mac = (gnutls_mac_algorithm_t)cinfo->hash;
else
mac = GNUTLS_MAC_SHA256;
@@ -3059,22 +2982,20 @@ void generate_pkcs12(common_info_st * cinfo)
indx = result;
- if (i == 0) { /* only the first certificate gets the friendly name */
- result =
- gnutls_pkcs12_bag_set_friendly_name(bag, indx,
- name);
+ if (i ==
+ 0) { /* only the first certificate gets the friendly name */
+ result = gnutls_pkcs12_bag_set_friendly_name(bag, indx,
+ name);
if (result < 0) {
- fprintf(stderr,
- "bag_set_friendly_name: %s\n",
+ fprintf(stderr, "bag_set_friendly_name: %s\n",
gnutls_strerror(result));
app_exit(1);
}
}
size = sizeof(_key_id);
- result =
- gnutls_x509_crt_get_key_id(crts[i], GNUTLS_KEYID_USE_SHA1,
- _key_id, &size);
+ result = gnutls_x509_crt_get_key_id(
+ crts[i], GNUTLS_KEYID_USE_SHA1, _key_id, &size);
if (result < 0) {
fprintf(stderr, "key_id[%d]: %s\n", i,
gnutls_strerror(result));
@@ -3189,11 +3110,10 @@ void generate_pkcs12(common_info_st * cinfo)
assert(keys != NULL && keys[i] != NULL);
size = lbuffer_size;
- result =
- gnutls_x509_privkey_export_pkcs8(keys[i],
- GNUTLS_X509_FMT_DER,
- pass, flags, lbuffer,
- &size);
+ result = gnutls_x509_privkey_export_pkcs8(keys[i],
+ GNUTLS_X509_FMT_DER,
+ pass, flags, lbuffer,
+ &size);
if (result < 0) {
fprintf(stderr, "key_export[%d]: %s\n", i,
gnutls_strerror(result));
@@ -3202,10 +3122,8 @@ void generate_pkcs12(common_info_st * cinfo)
data.data = lbuffer;
data.size = size;
- result =
- gnutls_pkcs12_bag_set_data(kbag,
- GNUTLS_BAG_PKCS8_ENCRYPTED_KEY,
- &data);
+ result = gnutls_pkcs12_bag_set_data(
+ kbag, GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, &data);
if (result < 0) {
fprintf(stderr, "bag_set_data: %s\n",
gnutls_strerror(result));
@@ -3222,10 +3140,8 @@ void generate_pkcs12(common_info_st * cinfo)
}
size = sizeof(_key_id);
- result =
- gnutls_x509_privkey_get_key_id(keys[i],
- GNUTLS_KEYID_USE_SHA1,
- _key_id, &size);
+ result = gnutls_x509_privkey_get_key_id(
+ keys[i], GNUTLS_KEYID_USE_SHA1, _key_id, &size);
if (result < 0) {
fprintf(stderr, "key_id[%d]: %s\n", i,
gnutls_strerror(result));
@@ -3334,8 +3250,8 @@ static void print_bag_data(gnutls_pkcs12_bag_t bag, int outtext)
"\t");
name = NULL;
- result =
- gnutls_pkcs12_bag_get_friendly_name(bag, i, (char **)&name);
+ result = gnutls_pkcs12_bag_get_friendly_name(bag, i,
+ (char **)&name);
if (result < 0) {
fprintf(stderr, "get_friendly_name: %s\n",
gnutls_strerror(result));
@@ -3378,8 +3294,8 @@ static void print_bag_data(gnutls_pkcs12_bag_t bag, int outtext)
}
if (str != NULL) {
- result =
- gnutls_pem_base64_encode_alloc(str, &cdata, &out);
+ result = gnutls_pem_base64_encode_alloc(str, &cdata,
+ &out);
if (result < 0) {
fprintf(stderr,
"Error in base64 encoding: %s\n",
@@ -3389,12 +3305,10 @@ static void print_bag_data(gnutls_pkcs12_bag_t bag, int outtext)
fprintf(outfile, "%s", out.data);
gnutls_free(out.data);
}
-
}
}
-static
-void pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, FILE * out)
+static void pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, FILE *out)
{
int ret;
unsigned schema;
@@ -3408,9 +3322,8 @@ void pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, FILE * out)
const char *str;
char *oid = NULL;
- ret = gnutls_pkcs12_bag_enc_info(bag,
- &schema, &cipher, salt, &salt_size,
- &iter_count, &oid);
+ ret = gnutls_pkcs12_bag_enc_info(bag, &schema, &cipher, salt,
+ &salt_size, &iter_count, &oid);
if (ret == GNUTLS_E_UNKNOWN_CIPHER_TYPE) {
fprintf(out, "\tSchema: unsupported (%s)\n", oid);
gnutls_free(oid);
@@ -3445,7 +3358,7 @@ void pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, FILE * out)
fprintf(out, "\tIteration count: %u\n", iter_count);
}
-void pkcs12_info(common_info_st * cinfo)
+void pkcs12_info(common_info_st *cinfo)
{
gnutls_pkcs12_t pkcs12;
gnutls_pkcs12_bag_t bag;
@@ -3484,9 +3397,8 @@ void pkcs12_info(common_info_st * cinfo)
}
salt_size = sizeof(salt);
- result =
- gnutls_pkcs12_mac_info(pkcs12, &mac_algo, salt, &salt_size,
- &mac_iter, &mac_oid);
+ result = gnutls_pkcs12_mac_info(pkcs12, &mac_algo, salt, &salt_size,
+ &mac_iter, &mac_oid);
if (result == GNUTLS_E_UNKNOWN_HASH_ALGORITHM && cinfo->outtext) {
fprintf(outfile, "MAC info:\n");
if (mac_oid != NULL)
@@ -3594,8 +3506,8 @@ void pkcs12_info(common_info_st * cinfo)
}
}
-void pkcs8_info_int(gnutls_datum_t * data, unsigned format,
- unsigned ignore_err, FILE * out, const char *tab)
+void pkcs8_info_int(gnutls_datum_t *data, unsigned format, unsigned ignore_err,
+ FILE *out, const char *tab)
{
int ret;
unsigned schema;
@@ -3609,9 +3521,8 @@ void pkcs8_info_int(gnutls_datum_t * data, unsigned format,
const char *str;
char *oid = NULL;
- ret = gnutls_pkcs8_info(data, format,
- &schema, &cipher, salt, &salt_size, &iter_count,
- &oid);
+ ret = gnutls_pkcs8_info(data, format, &schema, &cipher, salt,
+ &salt_size, &iter_count, &oid);
if (ret == GNUTLS_E_UNKNOWN_CIPHER_TYPE) {
fprintf(out, "PKCS #8 information:\n");
fprintf(out, "\tSchema: unsupported (%s)\n", oid);
@@ -3651,7 +3562,7 @@ void pkcs8_info_int(gnutls_datum_t * data, unsigned format,
fprintf(out, "%s\tSalt size: %u\n", tab, salt_size);
fprintf(out, "%s\tIteration count: %u\n\n", tab, iter_count);
- cleanup:
+cleanup:
gnutls_free(oid);
}
@@ -3672,7 +3583,7 @@ void pkcs8_info(void)
free(data.data);
}
-void pkcs7_info(common_info_st * cinfo, unsigned display_data)
+void pkcs7_info(common_info_st *cinfo, unsigned display_data)
{
gnutls_pkcs7_t pkcs7;
int ret;
@@ -3720,9 +3631,8 @@ void pkcs7_info(common_info_st * cinfo, unsigned display_data)
}
} else {
if (cinfo->outtext) {
- ret =
- gnutls_pkcs7_print(pkcs7, GNUTLS_CRT_PRINT_FULL,
- &str);
+ ret = gnutls_pkcs7_print(pkcs7, GNUTLS_CRT_PRINT_FULL,
+ &str);
if (ret < 0) {
fprintf(stderr, "printing error: %s\n",
gnutls_strerror(ret));
@@ -3734,8 +3644,8 @@ void pkcs7_info(common_info_st * cinfo, unsigned display_data)
}
size = lbuffer_size;
- ret =
- gnutls_pkcs7_export(pkcs7, outcert_format, lbuffer, &size);
+ ret = gnutls_pkcs7_export(pkcs7, outcert_format, lbuffer,
+ &size);
if (ret < 0) {
fprintf(stderr, "export error: %s\n",
gnutls_strerror(ret));
@@ -3762,8 +3672,7 @@ void smime_to_pkcs7(void)
"cannot find RFC 2822 header/body separator");
app_exit(1);
}
- }
- while (strcmp(lineptr, "\r\n") != 0 && strcmp(lineptr, "\n") != 0);
+ } while (strcmp(lineptr, "\r\n") != 0 && strcmp(lineptr, "\n") != 0);
/* skip newlines */
do {
@@ -3773,21 +3682,18 @@ void smime_to_pkcs7(void)
"message has RFC 2822 header but no body");
app_exit(1);
}
- }
- while (strcmp(lineptr, "\r\n") == 0 || strcmp(lineptr, "\n") == 0);
+ } while (strcmp(lineptr, "\r\n") == 0 || strcmp(lineptr, "\n") == 0);
fprintf(outfile, "%s", "-----BEGIN PKCS7-----\n");
do {
- while (len > 0
- && (lineptr[len - 1] == '\r'
- || lineptr[len - 1] == '\n'))
+ while (len > 0 &&
+ (lineptr[len - 1] == '\r' || lineptr[len - 1] == '\n'))
lineptr[--len] = '\0';
if (strcmp(lineptr, "") != 0)
fprintf(outfile, "%s\n", lineptr);
len = getline(&lineptr, &linesize, infile);
- }
- while (len != -1);
+ } while (len != -1);
fprintf(outfile, "%s", "-----END PKCS7-----\n");
@@ -3797,8 +3703,7 @@ void smime_to_pkcs7(void)
/* Tries to find a public key in the provided options or stdin
* When @crt is provided, it will be deinitialized.
*/
-static
-gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
+static gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st *cinfo)
{
gnutls_pubkey_t pubkey = NULL;
gnutls_privkey_t privkey = NULL;
@@ -3841,11 +3746,10 @@ gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
privkey = load_private_key(0, cinfo);
if (privkey != NULL) {
- ret =
- gnutls_pubkey_import_privkey(pubkey, privkey, 0, 0);
+ ret = gnutls_pubkey_import_privkey(pubkey, privkey, 0,
+ 0);
if (ret < 0) {
- fprintf(stderr,
- "pubkey_import_privkey: %s\n",
+ fprintf(stderr, "pubkey_import_privkey: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
@@ -3854,30 +3758,28 @@ gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
gnutls_pubkey_deinit(pubkey);
pubkey = load_pubkey(0, cinfo);
- if (pubkey == NULL) { /* load from stdin */
+ if (pubkey == NULL) { /* load from stdin */
pem.data = (void *)fread_file(infile, 0, &size);
pem.size = size;
if (!pem.data) {
fprintf(stderr, "%s",
infile ? "file" :
- "standard input");
+ "standard input");
app_exit(1);
}
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0) {
- fprintf(stderr,
- "pubkey_init: %s\n",
+ fprintf(stderr, "pubkey_init: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
- if (memmem
- (pem.data, pem.size, "BEGIN CERTIFICATE",
- 16) != 0
- || memmem(pem.data, pem.size, "BEGIN X509",
- 10) != 0) {
+ if (memmem(pem.data, pem.size,
+ "BEGIN CERTIFICATE", 16) != 0 ||
+ memmem(pem.data, pem.size, "BEGIN X509",
+ 10) != 0) {
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
fprintf(stderr,
@@ -3886,9 +3788,8 @@ gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
app_exit(1);
}
- ret =
- gnutls_x509_crt_import(crt, &pem,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(
+ crt, &pem, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr,
"crt_import: %s\n",
@@ -3896,9 +3797,8 @@ gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
app_exit(1);
}
- ret =
- gnutls_pubkey_import_x509(pubkey,
- crt, 0);
+ ret = gnutls_pubkey_import_x509(pubkey,
+ crt, 0);
if (ret < 0) {
fprintf(stderr,
"pubkey_import_x509: %s\n",
@@ -3907,9 +3807,8 @@ gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
}
gnutls_x509_crt_deinit(crt);
} else {
- ret =
- gnutls_pubkey_import(pubkey, &pem,
- incert_format);
+ ret = gnutls_pubkey_import(
+ pubkey, &pem, incert_format);
if (ret < 0) {
fprintf(stderr,
"pubkey_import: %s\n",
@@ -3919,14 +3818,13 @@ gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st * cinfo)
}
free(pem.data);
}
-
}
}
return pubkey;
}
-void pubkey_info(gnutls_x509_crt_t crt, common_info_st * cinfo)
+void pubkey_info(gnutls_x509_crt_t crt, common_info_st *cinfo)
{
gnutls_pubkey_t pubkey;
@@ -3941,8 +3839,7 @@ void pubkey_info(gnutls_x509_crt_t crt, common_info_st * cinfo)
gnutls_pubkey_deinit(pubkey);
}
-static
-void pubkey_keyid(common_info_st * cinfo)
+static void pubkey_keyid(common_info_st *cinfo)
{
gnutls_pubkey_t pubkey;
uint8_t fpr[MAX_HASH_SIZE];
@@ -3959,7 +3856,7 @@ void pubkey_keyid(common_info_st * cinfo)
}
if (cinfo->hash == GNUTLS_DIG_SHA1 || cinfo->hash == GNUTLS_DIG_UNKNOWN)
- flags = GNUTLS_KEYID_USE_SHA1; /* be backwards compatible */
+ flags = GNUTLS_KEYID_USE_SHA1; /* be backwards compatible */
else if (cinfo->hash == GNUTLS_DIG_SHA512)
flags = GNUTLS_KEYID_USE_SHA512;
else if (cinfo->hash == GNUTLS_DIG_SHA256)
@@ -3994,8 +3891,7 @@ void pubkey_keyid(common_info_st * cinfo)
return;
}
-static
-void certificate_fpr(common_info_st * cinfo)
+static void certificate_fpr(common_info_st *cinfo)
{
gnutls_x509_crt_t crt;
size_t size;
@@ -4019,10 +3915,9 @@ void certificate_fpr(common_info_st * cinfo)
}
crt_num = 1;
- ret =
- gnutls_x509_crt_list_import(&crt, &crt_num, &pem,
- incert_format,
- GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
+ ret = gnutls_x509_crt_list_import(
+ &crt, &crt_num, &pem, incert_format,
+ GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
fprintf(stderr, "too many certificates (%d).", crt_num);
} else if (ret >= 0 && crt_num == 0) {
diff --git a/src/cfg.c b/src/cfg.c
index 545e73f140..705f912555 100644
--- a/src/cfg.c
+++ b/src/cfg.c
@@ -296,7 +296,7 @@ static char *read_value(struct parser_st *parser)
}
if (c == '\n') {
- return strdup(""); /* empty value */
+ return strdup(""); /* empty value */
} else if (c == '"' || c == '\'') {
parser_ungetc(parser, c);
return read_quoted_value(parser);
@@ -323,7 +323,7 @@ static char *read_value(struct parser_st *parser)
}
}
- out:
+out:
/* NUL terminate */
buffer_append(&buffer, '\0');
return buffer.data;
@@ -413,7 +413,7 @@ cfg_option_t cfg_load(const char *filename)
take_option(&options, &null_option);
return options.data;
- error:
+error:
clear_options(&options);
fclose(parser.fp);
return NULL;
diff --git a/src/cfg.h b/src/cfg.h
index 6bfd70bdc7..b3d69591fc 100644
--- a/src/cfg.h
+++ b/src/cfg.h
@@ -19,7 +19,7 @@
*/
#ifndef CFG_H_
-# define CFG_H_ 1
+#define CFG_H_ 1
typedef struct cfg_option_st {
char *name;
@@ -30,4 +30,4 @@ cfg_option_t cfg_load(const char *filename);
void cfg_free(cfg_option_t options);
cfg_option_t cfg_next(const cfg_option_t options, const char *name);
-#endif /* CFG_H_ */
+#endif /* CFG_H_ */
diff --git a/src/cli-debug.c b/src/cli-debug.c
index 493556054e..96cc933067 100644
--- a/src/cli-debug.c
+++ b/src/cli-debug.c
@@ -28,9 +28,9 @@
#include <gnutls/gnutls.h>
#include <sys/time.h>
#if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
+#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
+#include <ws2tcpip.h>
#endif
#include <tests.h>
#include <common.h>
@@ -66,7 +66,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-typedef test_code_t(*TEST_FUNC) (gnutls_session_t);
+typedef test_code_t (*TEST_FUNC)(gnutls_session_t);
typedef struct {
const char *test_name;
@@ -79,155 +79,146 @@ typedef struct {
} TLS_TEST;
static const TLS_TEST tls_tests[] = {
- {"whether the server accepts default record size (512 bytes)",
- test_send_record, "yes", "no", "dunno"},
- {"whether %ALLOW_SMALL_RECORDS is required",
- test_send_record_with_allow_small_records, "yes", "no", "dunno"},
+ { "whether the server accepts default record size (512 bytes)",
+ test_send_record, "yes", "no", "dunno" },
+ { "whether %ALLOW_SMALL_RECORDS is required",
+ test_send_record_with_allow_small_records, "yes", "no", "dunno" },
#ifdef ENABLE_SSL3
- {"for SSL 3.0 (RFC6101) support", test_ssl3, "yes", "no", "dunno"},
+ { "for SSL 3.0 (RFC6101) support", test_ssl3, "yes", "no", "dunno" },
/* The following test will disable extensions if the server
* does support SSL 3.0, but only incompletely and without
* extensions. */
- {"for SSL 3.0 with extensions", test_ssl3_with_extensions, "yes", "no",
- "dunno"},
- {"for SSL 3.0 with cipher suites not in SSL 3.0 spec",
- test_ssl3_unknown_ciphersuites, "yes", "no", "dunno"},
+ { "for SSL 3.0 with extensions", test_ssl3_with_extensions, "yes", "no",
+ "dunno" },
+ { "for SSL 3.0 with cipher suites not in SSL 3.0 spec",
+ test_ssl3_unknown_ciphersuites, "yes", "no", "dunno" },
#endif
/* The following tests will disable TLS 1.x if the server is
* buggy */
- {"whether we need to disable TLS 1.2", test_tls_disable2, "no",
- "yes", "dunno"},
- {"whether we need to disable TLS 1.1", test_tls_disable1, "no",
- "yes", "dunno"},
- {"whether we need to disable TLS 1.0", test_tls_disable0, "no",
- "yes", "dunno"},
+ { "whether we need to disable TLS 1.2", test_tls_disable2, "no", "yes",
+ "dunno" },
+ { "whether we need to disable TLS 1.1", test_tls_disable1, "no", "yes",
+ "dunno" },
+ { "whether we need to disable TLS 1.0", test_tls_disable0, "no", "yes",
+ "dunno" },
/* The following test will disable extensions if the server
* is buggy */
- {"whether %NO_EXTENSIONS is required", test_no_extensions, "no", "yes",
- "dunno"},
- {"whether %COMPAT is required", test_record_padding, "no", "yes",
- "dunno"},
- {"for TLS 1.0 (RFC2246) support", test_tls1, "yes", "no", "dunno"},
- {"for TLS 1.0 (RFC2246) support with TLS 1.0 record version",
- test_tls1_nossl3, "yes", "no", "dunno"},
- {"for TLS 1.1 (RFC4346) support", test_tls1_1, "yes", "no", "dunno"},
- {"fallback from TLS 1.1 to", test_tls1_1_fallback, "TLS 1.0",
- "failed",
- "SSL 3.0"},
- {"for TLS 1.2 (RFC5246) support", test_tls1_2, "yes", "no", "dunno"},
- {"for TLS 1.3 (RFC8446) support", test_tls1_3, "yes", "no", "dunno"},
- {"for known TLS or SSL protocols support", test_known_protocols, "yes",
- "no", "dunno", 0, 1},
-
- {"TLS1.2 neg fallback from TLS 1.6 to", test_tls1_6_fallback, NULL,
- "failed (server requires fallback dance)", "dunno"},
- {"for inappropriate fallback (RFC7507) support", test_rfc7507, "yes",
- "no", "dunno"},
- {"for HTTPS server name", test_server, NULL, "failed", "not checked",
- 1},
- {"for certificate information", test_certificate, NULL, "", ""},
- {"for certificate chain order", test_chain_order, "sorted", "unsorted",
- "unknown"},
- {"for trusted CAs", test_server_cas, NULL, "", ""},
- {"for safe renegotiation (RFC5746) support", test_safe_renegotiation,
- "yes",
- "no", "dunno"},
- {"for Safe renegotiation support (SCSV)",
- test_safe_renegotiation_scsv,
- "yes", "no", "dunno"},
- {"for encrypt-then-MAC (RFC7366) support", test_etm, "yes", "no",
- "dunno"},
- {"for ext master secret (RFC7627) support", test_ext_master_secret,
- "yes", "no", "dunno"},
- {"for heartbeat (RFC6520) support", test_heartbeat_extension, "yes",
- "no", "dunno"},
- {"for version rollback bug in RSA PMS", test_rsa_pms, "no", "yes",
- "dunno"},
- {"for version rollback bug in Client Hello", test_version_rollback,
- "no", "yes", "dunno"},
- {"whether the server ignores the RSA PMS version",
- test_rsa_pms_version_check, "yes", "no", "dunno"},
- {"whether small records (512 bytes) are tolerated on handshake",
- test_small_records, "yes", "no", "dunno"},
- {"whether cipher suites not in SSL 3.0 spec are accepted",
- test_unknown_ciphersuites, "yes", "no", "dunno"},
- {"whether a bogus TLS record version in the client hello is accepted",
- test_version_oob, "yes", "no", "dunno"},
- {"whether the server understands TLS closure alerts", test_bye,
- "yes", "no", "partially"},
+ { "whether %NO_EXTENSIONS is required", test_no_extensions, "no", "yes",
+ "dunno" },
+ { "whether %COMPAT is required", test_record_padding, "no", "yes",
+ "dunno" },
+ { "for TLS 1.0 (RFC2246) support", test_tls1, "yes", "no", "dunno" },
+ { "for TLS 1.0 (RFC2246) support with TLS 1.0 record version",
+ test_tls1_nossl3, "yes", "no", "dunno" },
+ { "for TLS 1.1 (RFC4346) support", test_tls1_1, "yes", "no", "dunno" },
+ { "fallback from TLS 1.1 to", test_tls1_1_fallback, "TLS 1.0", "failed",
+ "SSL 3.0" },
+ { "for TLS 1.2 (RFC5246) support", test_tls1_2, "yes", "no", "dunno" },
+ { "for TLS 1.3 (RFC8446) support", test_tls1_3, "yes", "no", "dunno" },
+ { "for known TLS or SSL protocols support", test_known_protocols, "yes",
+ "no", "dunno", 0, 1 },
+
+ { "TLS1.2 neg fallback from TLS 1.6 to", test_tls1_6_fallback, NULL,
+ "failed (server requires fallback dance)", "dunno" },
+ { "for inappropriate fallback (RFC7507) support", test_rfc7507, "yes",
+ "no", "dunno" },
+ { "for HTTPS server name", test_server, NULL, "failed", "not checked",
+ 1 },
+ { "for certificate information", test_certificate, NULL, "", "" },
+ { "for certificate chain order", test_chain_order, "sorted", "unsorted",
+ "unknown" },
+ { "for trusted CAs", test_server_cas, NULL, "", "" },
+ { "for safe renegotiation (RFC5746) support", test_safe_renegotiation,
+ "yes", "no", "dunno" },
+ { "for Safe renegotiation support (SCSV)", test_safe_renegotiation_scsv,
+ "yes", "no", "dunno" },
+ { "for encrypt-then-MAC (RFC7366) support", test_etm, "yes", "no",
+ "dunno" },
+ { "for ext master secret (RFC7627) support", test_ext_master_secret,
+ "yes", "no", "dunno" },
+ { "for heartbeat (RFC6520) support", test_heartbeat_extension, "yes",
+ "no", "dunno" },
+ { "for version rollback bug in RSA PMS", test_rsa_pms, "no", "yes",
+ "dunno" },
+ { "for version rollback bug in Client Hello", test_version_rollback,
+ "no", "yes", "dunno" },
+ { "whether the server ignores the RSA PMS version",
+ test_rsa_pms_version_check, "yes", "no", "dunno" },
+ { "whether small records (512 bytes) are tolerated on handshake",
+ test_small_records, "yes", "no", "dunno" },
+ { "whether cipher suites not in SSL 3.0 spec are accepted",
+ test_unknown_ciphersuites, "yes", "no", "dunno" },
+ { "whether a bogus TLS record version in the client hello is accepted",
+ test_version_oob, "yes", "no", "dunno" },
+ { "whether the server understands TLS closure alerts", test_bye, "yes",
+ "no", "partially" },
/* the fact that is after the closure alert test does matter.
*/
- {"whether the server supports session resumption",
- test_session_resume2, "yes", "no", "dunno"},
+ { "whether the server supports session resumption",
+ test_session_resume2, "yes", "no", "dunno" },
#ifdef ENABLE_ANON
- {"for anonymous authentication support", test_anonymous, "yes",
- "no",
- "dunno"},
- {"anonymous Diffie-Hellman group info", test_dhe_group, NULL, "N/A",
- "N/A"},
+ { "for anonymous authentication support", test_anonymous, "yes", "no",
+ "dunno" },
+ { "anonymous Diffie-Hellman group info", test_dhe_group, NULL, "N/A",
+ "N/A" },
#endif
- {"for RSA key exchange support", test_rsa, "yes",
- "no",
- "dunno"},
- {"for ephemeral Diffie-Hellman support", test_dhe, "yes", "no",
- "dunno"},
- {"for RFC7919 Diffie-Hellman support", test_rfc7919, "yes", "no",
- "dunno"},
- {"ephemeral Diffie-Hellman group info", test_dhe_group, NULL, "N/A",
- "N/A"},
- {"for ephemeral EC Diffie-Hellman support", test_ecdhe, "yes",
- "no",
- "dunno"},
+ { "for RSA key exchange support", test_rsa, "yes", "no", "dunno" },
+ { "for ephemeral Diffie-Hellman support", test_dhe, "yes", "no",
+ "dunno" },
+ { "for RFC7919 Diffie-Hellman support", test_rfc7919, "yes", "no",
+ "dunno" },
+ { "ephemeral Diffie-Hellman group info", test_dhe_group, NULL, "N/A",
+ "N/A" },
+ { "for ephemeral EC Diffie-Hellman support", test_ecdhe, "yes", "no",
+ "dunno" },
#ifdef ENABLE_GOST
- {"for VKO GOST-2012 (draft-smyshlyaev-tls12-gost-suites) support",
- test_vko_gost_12, "yes", "no", "dunno"},
+ { "for VKO GOST-2012 (draft-smyshlyaev-tls12-gost-suites) support",
+ test_vko_gost_12, "yes", "no", "dunno" },
#endif
- {"for curve SECP256r1 (RFC4492)", test_ecdhe_secp256r1, "yes", "no",
- "dunno"},
- {"for curve SECP384r1 (RFC4492)", test_ecdhe_secp384r1, "yes", "no",
- "dunno"},
- {"for curve SECP521r1 (RFC4492)", test_ecdhe_secp521r1, "yes", "no",
- "dunno"},
- {"for curve X25519 (RFC8422)", test_ecdhe_x25519, "yes", "no", "dunno"},
- {"for AES-GCM cipher (RFC5288) support", test_aes_gcm, "yes", "no",
- "dunno"},
- {"for AES-CCM cipher (RFC6655) support", test_aes_ccm, "yes", "no",
- "dunno"},
- {"for AES-CCM-8 cipher (RFC6655) support", test_aes_ccm_8, "yes", "no",
- "dunno"},
- {"for AES-CBC cipher (RFC3268) support", test_aes, "yes", "no",
- "dunno"},
- {"for CAMELLIA-GCM cipher (RFC6367) support", test_camellia_gcm, "yes",
- "no",
- "dunno"},
- {"for CAMELLIA-CBC cipher (RFC5932) support", test_camellia_cbc, "yes",
- "no",
- "dunno"},
- {"for 3DES-CBC cipher (RFC2246) support", test_3des, "yes", "no",
- "dunno"},
- {"for ARCFOUR 128 cipher (RFC2246) support", test_arcfour, "yes", "no",
- "dunno"},
- {"for CHACHA20-POLY1305 cipher (RFC7905) support", test_chacha20, "yes",
- "no",
- "dunno"},
+ { "for curve SECP256r1 (RFC4492)", test_ecdhe_secp256r1, "yes", "no",
+ "dunno" },
+ { "for curve SECP384r1 (RFC4492)", test_ecdhe_secp384r1, "yes", "no",
+ "dunno" },
+ { "for curve SECP521r1 (RFC4492)", test_ecdhe_secp521r1, "yes", "no",
+ "dunno" },
+ { "for curve X25519 (RFC8422)", test_ecdhe_x25519, "yes", "no",
+ "dunno" },
+ { "for AES-GCM cipher (RFC5288) support", test_aes_gcm, "yes", "no",
+ "dunno" },
+ { "for AES-CCM cipher (RFC6655) support", test_aes_ccm, "yes", "no",
+ "dunno" },
+ { "for AES-CCM-8 cipher (RFC6655) support", test_aes_ccm_8, "yes", "no",
+ "dunno" },
+ { "for AES-CBC cipher (RFC3268) support", test_aes, "yes", "no",
+ "dunno" },
+ { "for CAMELLIA-GCM cipher (RFC6367) support", test_camellia_gcm, "yes",
+ "no", "dunno" },
+ { "for CAMELLIA-CBC cipher (RFC5932) support", test_camellia_cbc, "yes",
+ "no", "dunno" },
+ { "for 3DES-CBC cipher (RFC2246) support", test_3des, "yes", "no",
+ "dunno" },
+ { "for ARCFOUR 128 cipher (RFC2246) support", test_arcfour, "yes", "no",
+ "dunno" },
+ { "for CHACHA20-POLY1305 cipher (RFC7905) support", test_chacha20,
+ "yes", "no", "dunno" },
#ifdef ENABLE_GOST
- {"for GOST28147-CNT cipher (draft-smyshlyaev-tls12-gost-suites) support", test_gost_cnt, "yes", "no",
- "dunno"},
+ { "for GOST28147-CNT cipher (draft-smyshlyaev-tls12-gost-suites) support",
+ test_gost_cnt, "yes", "no", "dunno" },
#endif
- {"for MD5 MAC support", test_md5, "yes", "no", "dunno"},
- {"for SHA1 MAC support", test_sha, "yes", "no", "dunno"},
- {"for SHA256 MAC support", test_sha256, "yes", "no", "dunno"},
+ { "for MD5 MAC support", test_md5, "yes", "no", "dunno" },
+ { "for SHA1 MAC support", test_sha, "yes", "no", "dunno" },
+ { "for SHA256 MAC support", test_sha256, "yes", "no", "dunno" },
#ifdef ENABLE_GOST
- {"for GOST28147-IMIT MAC (draft-smyshlyaev-tls12-gost-suites) support",
- test_gost_imit, "yes", "no", "dunno"},
+ { "for GOST28147-IMIT MAC (draft-smyshlyaev-tls12-gost-suites) support",
+ test_gost_imit, "yes", "no", "dunno" },
#endif
- {"for max record size (RFC6066) support", test_max_record_size, "yes",
- "no", "dunno"},
+ { "for max record size (RFC6066) support", test_max_record_size, "yes",
+ "no", "dunno" },
#ifdef ENABLE_OCSP
- {"for OCSP status response (RFC6066) support", test_ocsp_status, "yes",
- "no", "dunno"},
+ { "for OCSP status response (RFC6066) support", test_ocsp_status, "yes",
+ "no", "dunno" },
#endif
- {NULL, NULL, NULL, NULL, NULL}
+ { NULL, NULL, NULL, NULL, NULL }
};
const char *ip;
@@ -239,15 +230,15 @@ gnutls_session_t init_tls_session(const char *host)
set_read_funcs(state);
if (host && is_ip(host) == 0)
- gnutls_server_name_set(state, GNUTLS_NAME_DNS,
- host, strlen(host));
+ gnutls_server_name_set(state, GNUTLS_NAME_DNS, host,
+ strlen(host));
return state;
}
-int do_handshake(socket_st * socket)
+int do_handshake(socket_st *socket)
{
- return 0; /* we do it locally */
+ return 0; /* we do it locally */
}
int main(int argc, char **argv)
@@ -279,7 +270,8 @@ int main(int argc, char **argv)
snprintf(portname, sizeof(portname), "%d", port);
/* X509 stuff */
- if (gnutls_certificate_allocate_credentials(&xcred) < 0) { /* space for 2 certificates */
+ if (gnutls_certificate_allocate_credentials(&xcred) <
+ 0) { /* space for 2 certificates */
fprintf(stderr, "memory error\n");
exit(1);
}
@@ -318,9 +310,8 @@ int main(int argc, char **argv)
printf("Checking %s:%s\n", hostname, portname);
for (i = 0; tls_tests[i].test_name != NULL; i++) {
-
- if (strcmp(app_proto, "https") != 0
- && tls_tests[i].https_only != 0) {
+ if (strcmp(app_proto, "https") != 0 &&
+ tls_tests[i].https_only != 0) {
continue;
}
@@ -348,7 +339,8 @@ int main(int argc, char **argv)
printf(" %s\n", tls_tests[i].fail_str);
else if (ret == TEST_UNSURE)
printf(" %s\n", tls_tests[i].unsure_str);
- else if ((ret == TEST_IGNORE || ret == TEST_IGNORE2) && verbose) {
+ else if ((ret == TEST_IGNORE || ret == TEST_IGNORE2) &&
+ verbose) {
printf(" skipped\n");
}
@@ -403,5 +395,4 @@ static void cmd_parser(int argc, char **argv)
if (HAVE_OPT(VERBOSE))
verbose++;
-
}
diff --git a/src/cli.c b/src/cli.c
index 08dddb08f2..2accea465b 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -29,9 +29,9 @@
#include <sys/time.h>
#include <sys/stat.h>
#if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
+#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
+#include <ws2tcpip.h>
#endif
#include <sys/select.h>
#include <unistd.h>
@@ -44,7 +44,7 @@
/* Get TCP_FASTOPEN */
#ifdef HAVE_NETINET_TCP_H
-# include <netinet/tcp.h>
+#include <netinet/tcp.h>
#endif
#include <gnutls/gnutls.h>
@@ -65,7 +65,7 @@
#include "inline_cmds.h"
#ifdef HAVE_DANE
-# include <gnutls/dane.h>
+#include <gnutls/dane.h>
#endif
#include <common.h>
@@ -76,14 +76,15 @@
#define MAX_BUF 4096
-#define HEADER_PATTERN "GET /%s HTTP/1.0\r\n" \
- "Host: %s\r\n" \
- "Accept: */*\r\n" \
- "Connection: close\r\n\r\n"
+#define HEADER_PATTERN \
+ "GET /%s HTTP/1.0\r\n" \
+ "Host: %s\r\n" \
+ "Accept: */*\r\n" \
+ "Connection: close\r\n\r\n"
/* global stuff here */
-int resume, starttls, insecure, ranges, rehandshake, udp, mtu,
- inline_commands, waitresumption;
+int resume, starttls, insecure, ranges, rehandshake, udp, mtu, inline_commands,
+ waitresumption;
unsigned int global_vflags = 0;
char *hostname = NULL;
char service[32] = "";
@@ -120,7 +121,7 @@ static gnutls_certificate_credentials_t xcred;
/* prototypes */
-static void check_server_cmd(socket_st * socket, int ret);
+static void check_server_cmd(socket_st *socket, int ret);
static void init_global_tls_stuff(void);
static int cert_verify_ocsp(gnutls_session_t session);
static const char *host_from_url(const char *url, unsigned int *port,
@@ -128,7 +129,7 @@ static const char *host_from_url(const char *url, unsigned int *port,
static size_t get_data(void *buf, size_t size, size_t nmemb, void *userp);
static int getissuer_callback(const gnutls_x509_trust_list_t tlist,
const gnutls_x509_crt_t cert,
- gnutls_x509_crt_t ** issuers,
+ gnutls_x509_crt_t **issuers,
unsigned int *issuers_size);
#define MAX_CRT 6
@@ -140,7 +141,7 @@ static gnutls_privkey_t rawpk_key = NULL;
/* Load a PKCS #8, PKCS #12 private key or PKCS #11 URL
*/
-static void load_priv_key(gnutls_privkey_t * privkey, const char *key_source)
+static void load_priv_key(gnutls_privkey_t *privkey, const char *key_source)
{
int ret;
gnutls_datum_t data = { NULL, 0 };
@@ -158,8 +159,7 @@ static void load_priv_key(gnutls_privkey_t * privkey, const char *key_source)
if (gnutls_url_is_supported(key_source) != 0) {
ret = gnutls_privkey_import_url(*privkey, key_source, 0);
if (ret < 0) {
- fprintf(stderr,
- "*** Error loading url: %s\n",
+ fprintf(stderr, "*** Error loading url: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -170,11 +170,10 @@ static void load_priv_key(gnutls_privkey_t * privkey, const char *key_source)
exit(1);
}
- ret = gnutls_privkey_import_x509_raw(*privkey, &data,
- x509ctype, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(*privkey, &data, x509ctype,
+ NULL, 0);
if (ret < 0) {
- fprintf(stderr,
- "*** Error importing key: %s\n",
+ fprintf(stderr, "*** Error importing key: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -205,15 +204,13 @@ static void load_x509_keys(void)
gnutls_x509_crt_set_pin_function(crt_list[0],
pin_callback, NULL);
- ret =
- gnutls_x509_crt_import_pkcs11_url(crt_list[0],
- x509_certfile, 0);
+ ret = gnutls_x509_crt_import_pkcs11_url(
+ crt_list[0], x509_certfile, 0);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
- ret =
- gnutls_x509_crt_import_pkcs11_url
- (crt_list[0], x509_certfile,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_x509_crt_import_pkcs11_url(
+ crt_list[0], x509_certfile,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fprintf(stderr,
@@ -222,7 +219,7 @@ static void load_x509_keys(void)
}
x509_crt_size = 1;
} else
-#endif /* ENABLE_PKCS11 */
+#endif /* ENABLE_PKCS11 */
{
ret = gnutls_load_file(x509_certfile, &data);
@@ -233,10 +230,9 @@ static void load_x509_keys(void)
}
crt_num = MAX_CRT;
- ret =
- gnutls_x509_crt_list_import(crt_list, &crt_num,
- &data, x509ctype,
- GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
+ ret = gnutls_x509_crt_list_import(
+ crt_list, &crt_num, &data, x509ctype,
+ GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED);
if (ret < 0) {
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
fprintf(stderr,
@@ -254,9 +250,8 @@ static void load_x509_keys(void)
}
for (i = 0; i < x509_crt_size; i++) {
- ret =
- gnutls_pcert_import_x509(&x509_crt[i],
- crt_list[i], 0);
+ ret = gnutls_pcert_import_x509(&x509_crt[i],
+ crt_list[i], 0);
if (ret < 0) {
fprintf(stderr,
"*** Error importing crt to pcert: %s\n",
@@ -270,8 +265,7 @@ static void load_x509_keys(void)
load_priv_key(&x509_key, x509_keyfile);
- log_msg(stdout,
- "Processed %d client X.509 certificates...\n",
+ log_msg(stdout, "Processed %d client X.509 certificates...\n",
x509_crt_size);
}
}
@@ -291,9 +285,8 @@ static void load_rawpk_keys(void)
exit(1);
}
- ret =
- gnutls_pcert_import_rawpk_raw(&rawpk, &data, x509ctype, 0,
- 0);
+ ret = gnutls_pcert_import_rawpk_raw(&rawpk, &data, x509ctype, 0,
+ 0);
if (ret < 0) {
fprintf(stderr,
"*** Error importing rawpk to pcert: %s\n",
@@ -306,8 +299,8 @@ static void load_rawpk_keys(void)
// Secondly, we load the private key corresponding to the raw pk
load_priv_key(&rawpk_key, rawpk_keyfile);
- log_msg(stdout,
- "Processed %d client raw public key pair...\n", 1);
+ log_msg(stdout, "Processed %d client raw public key pair...\n",
+ 1);
}
}
@@ -351,9 +344,8 @@ static void try_save_cert(gnutls_session_t session)
}
for (i = 0; i < cert_list_size; i++) {
- ret =
- gnutls_pem_base64_encode_alloc("CERTIFICATE", &cert_list[i],
- &t);
+ ret = gnutls_pem_base64_encode_alloc("CERTIFICATE",
+ &cert_list[i], &t);
if (ret < 0) {
fprintf(stderr, "error[%d]: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -424,8 +416,8 @@ static void try_save_ocsp_status(gnutls_session_t session)
}
gnutls_datum_t t;
- ret = gnutls_pem_base64_encode_alloc("OCSP RESPONSE",
- &oresp, &t);
+ ret = gnutls_pem_base64_encode_alloc("OCSP RESPONSE", &oresp,
+ &t);
if (ret < 0) {
fprintf(stderr,
"error allocating PEM OCSP response: %s\n",
@@ -479,7 +471,8 @@ static int cert_verify_callback(gnutls_session_t session)
}
#ifndef ENABLE_OCSP
- if (HAVE_OPT(SAVE_OCSP_MULTI) || HAVE_OPT(SAVE_OCSP) || HAVE_OPT(OCSP)) {
+ if (HAVE_OPT(SAVE_OCSP_MULTI) || HAVE_OPT(SAVE_OCSP) ||
+ HAVE_OPT(OCSP)) {
fprintf(stderr, "OCSP is not supported!\n");
}
#else
@@ -493,19 +486,19 @@ static int cert_verify_callback(gnutls_session_t session)
if (ca_verify) {
rc = cert_verify(session, host, GNUTLS_KP_TLS_WWW_SERVER);
if (rc == 0) {
- log_msg
- (stdout,
- "*** PKI verification of server certificate failed...\n");
+ log_msg(stdout,
+ "*** PKI verification of server certificate failed...\n");
if (!insecure && !ssh)
return -1;
}
#ifdef ENABLE_OCSP
- else if (ENABLED_OPT(OCSP) && gnutls_ocsp_status_request_is_checked(session, 0) == 0) { /* off-line verification succeeded. Try OCSP */
+ else if (ENABLED_OPT(OCSP) &&
+ gnutls_ocsp_status_request_is_checked(session, 0) ==
+ 0) { /* off-line verification succeeded. Try OCSP */
rc = cert_verify_ocsp(session);
if (rc == -1) {
- log_msg
- (stdout,
- "*** Verifying (with OCSP) server certificate chain failed...\n");
+ log_msg(stdout,
+ "*** Verifying (with OCSP) server certificate chain failed...\n");
if (!insecure && !ssh)
return -1;
} else if (rc == 0)
@@ -519,12 +512,13 @@ static int cert_verify_callback(gnutls_session_t session)
#endif
}
- if (dane) { /* try DANE auth */
+ if (dane) { /* try DANE auth */
#ifdef HAVE_DANE
int port;
unsigned vflags = 0;
- unsigned int sflags =
- ENABLED_OPT(LOCAL_DNS) ? 0 : DANE_F_IGNORE_LOCAL_RESOLVER;
+ unsigned int sflags = ENABLED_OPT(LOCAL_DNS) ?
+ 0 :
+ DANE_F_IGNORE_LOCAL_RESOLVER;
/* if we didn't verify the chain it only makes sense
* to check the end certificate using dane. */
@@ -533,11 +527,10 @@ static int cert_verify_callback(gnutls_session_t session)
port = service_to_port(service, udp ? "udp" : "tcp");
rc = dane_verify_session_crt(NULL, session, host,
- udp ? "udp" : "tcp", port,
- sflags, vflags, &status);
+ udp ? "udp" : "tcp", port, sflags,
+ vflags, &status);
if (rc < 0) {
- fprintf(stderr,
- "*** DANE verification error: %s\n",
+ fprintf(stderr, "*** DANE verification error: %s\n",
dane_strerror(rc));
if (!insecure && !ssh)
return -1;
@@ -564,7 +557,7 @@ static int cert_verify_callback(gnutls_session_t session)
#endif
}
- if (ssh) { /* try ssh auth */
+ if (ssh) { /* try ssh auth */
unsigned int list_size;
const gnutls_datum_t *cert;
@@ -576,8 +569,7 @@ static int cert_verify_callback(gnutls_session_t session)
txt_service = port_to_service(service, udp ? "udp" : "tcp");
- rc = gnutls_verify_stored_pubkey(NULL, NULL, host,
- txt_service,
+ rc = gnutls_verify_stored_pubkey(NULL, NULL, host, txt_service,
GNUTLS_CRT_X509, cert, 0);
if (rc == GNUTLS_E_NO_CERTIFICATE_FOUND) {
fprintf(stderr,
@@ -591,8 +583,8 @@ static int cert_verify_callback(gnutls_session_t session)
if (strictssh)
return -1;
- rc = read_yesno
- ("Are you sure you want to trust it? (y/N): ");
+ rc = read_yesno(
+ "Are you sure you want to trust it? (y/N): ");
if (rc == 0)
return -1;
} else if (rc == GNUTLS_E_CERTIFICATE_KEY_MISMATCH) {
@@ -609,24 +601,21 @@ static int cert_verify_callback(gnutls_session_t session)
if (strictssh)
return -1;
- rc = read_yesno
- ("Do you trust the received key? (y/N): ");
+ rc = read_yesno(
+ "Do you trust the received key? (y/N): ");
if (rc == 0)
return -1;
} else if (rc < 0) {
- fprintf(stderr,
- "gnutls_verify_stored_pubkey: %s\n",
+ fprintf(stderr, "gnutls_verify_stored_pubkey: %s\n",
gnutls_strerror(rc));
return -1;
}
if (rc != 0) {
- rc = gnutls_store_pubkey(NULL, NULL, host,
- txt_service,
+ rc = gnutls_store_pubkey(NULL, NULL, host, txt_service,
GNUTLS_CRT_X509, cert, 0, 0);
if (rc < 0)
- fprintf(stderr,
- "Could not store key: %s\n",
+ fprintf(stderr, "Could not store key: %s\n",
gnutls_strerror(rc));
}
}
@@ -638,12 +627,11 @@ static int cert_verify_callback(gnutls_session_t session)
* before a handshake.
*/
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
char issuer_dn[256];
int i, ret, cert_type;
@@ -655,16 +643,14 @@ cert_callback(gnutls_session_t session,
if (nreqs > 0)
log_msg(stdout, "- Server's trusted authorities:\n");
else
- log_msg
- (stdout,
- "- Server did not send us any trusted authorities names.\n");
+ log_msg(stdout,
+ "- Server did not send us any trusted authorities names.\n");
/* print the names (if any) */
for (i = 0; i < nreqs; i++) {
len = sizeof(issuer_dn);
- ret =
- gnutls_x509_rdn_get(&req_ca_rdn[i], issuer_dn,
- &len);
+ ret = gnutls_x509_rdn_get(&req_ca_rdn[i], issuer_dn,
+ &len);
if (ret >= 0) {
log_msg(stdout, " [%d]: ", i);
log_msg(stdout, "%s\n", issuer_dn);
@@ -687,9 +673,8 @@ cert_callback(gnutls_session_t session,
if (x509_key != NULL) {
*pkey = x509_key;
} else {
- log_msg
- (stdout,
- "- Could not find a suitable key to send to server\n");
+ log_msg(stdout,
+ "- Could not find a suitable key to send to server\n");
return -1;
}
@@ -699,9 +684,8 @@ cert_callback(gnutls_session_t session,
break;
case GNUTLS_CRT_RAWPK:
if (rawpk_key == NULL || rawpk.type != GNUTLS_CRT_RAWPK) {
- log_msg
- (stdout,
- "- Could not find a suitable key to send to server\n");
+ log_msg(stdout,
+ "- Could not find a suitable key to send to server\n");
return -1;
}
@@ -719,7 +703,6 @@ cert_callback(gnutls_session_t session,
log_msg(stdout, "- Successfully sent %u certificate(s) to server.\n",
*pcert_length);
return 0;
-
}
/* initializes a gnutls_session_t with some defaults.
@@ -767,8 +750,8 @@ gnutls_session_t init_tls_session(const char *host)
gnutls_server_name_set(session, GNUTLS_NAME_DNS,
sni_host, strlen(sni_host));
} else if (host != NULL && is_ip(host) == 0)
- gnutls_server_name_set(session, GNUTLS_NAME_DNS,
- host, strlen(host));
+ gnutls_server_name_set(session, GNUTLS_NAME_DNS, host,
+ strlen(host));
}
if (HAVE_OPT(DH_BITS)) {
@@ -840,10 +823,8 @@ gnutls_session_t init_tls_session(const char *host)
#ifdef ENABLE_DTLS_SRTP
if (HAVE_OPT(SRTP_PROFILES)) {
- ret =
- gnutls_srtp_set_profile_direct(session,
- OPT_ARG(SRTP_PROFILES),
- &err);
+ ret = gnutls_srtp_set_profile_direct(
+ session, OPT_ARG(SRTP_PROFILES), &err);
if (ret == GNUTLS_E_INVALID_REQUEST)
fprintf(stderr, "Syntax error at: %s\n", err);
else if (ret != 0)
@@ -865,7 +846,7 @@ static void cmd_parser(int argc, char **argv);
/* Returns zero if the error code was successfully handled.
*/
-static int handle_error(socket_st * hd, int err)
+static int handle_error(socket_st *hd, int err)
{
int alert, ret;
const char *err_type, *str;
@@ -886,8 +867,8 @@ static int handle_error(socket_st * hd, int err)
str = str_unknown;
fprintf(stderr, "*** %s error: %s\n", err_type, str);
- if (err == GNUTLS_E_WARNING_ALERT_RECEIVED
- || err == GNUTLS_E_FATAL_ALERT_RECEIVED) {
+ if (err == GNUTLS_E_WARNING_ALERT_RECEIVED ||
+ err == GNUTLS_E_FATAL_ALERT_RECEIVED) {
alert = gnutls_alert_get(hd->session);
str = gnutls_alert_get_name(alert);
if (str == NULL)
@@ -920,7 +901,7 @@ static void tls_log_func(int level, const char *str)
#define IN_TERM 3
/* returns IN_KEYBOARD for keyboard input and IN_NET for network input
*/
-static int check_net_or_keyboard_input(socket_st * hd, unsigned user_term)
+static int check_net_or_keyboard_input(socket_st *hd, unsigned user_term)
{
int maxfd;
fd_set rset;
@@ -959,9 +940,8 @@ static int check_net_or_keyboard_input(socket_st * hd, unsigned user_term)
#ifdef _WIN32
{
int state;
- state =
- WaitForSingleObject(GetStdHandle
- (STD_INPUT_HANDLE), 200);
+ state = WaitForSingleObject(
+ GetStdHandle(STD_INPUT_HANDLE), 200);
if (state == WAIT_OBJECT_0)
return IN_KEYBOARD;
@@ -972,13 +952,12 @@ static int check_net_or_keyboard_input(socket_st * hd, unsigned user_term)
#endif
if (err == 0 && user_term)
return IN_TERM;
- }
- while (err == 0);
+ } while (err == 0);
return IN_NONE;
}
-static int try_rehandshake(socket_st * hd)
+static int try_rehandshake(socket_st *hd)
{
int ret;
@@ -993,14 +972,13 @@ static int try_rehandshake(socket_st * hd)
}
}
-static int try_rekey(socket_st * hd, unsigned peer)
+static int try_rekey(socket_st *hd, unsigned peer)
{
int ret;
do {
- ret =
- gnutls_session_key_update(hd->session,
- peer ? GNUTLS_KU_PEER : 0);
+ ret = gnutls_session_key_update(hd->session,
+ peer ? GNUTLS_KU_PEER : 0);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -1013,7 +991,7 @@ static int try_rekey(socket_st * hd, unsigned peer)
}
}
-static int try_resume(socket_st * hd)
+static int try_resume(socket_st *hd)
{
int ret, socket_flags = SOCKET_FLAG_DONT_PRINT_ERRORS;
gnutls_datum_t rdata = { NULL, 0 };
@@ -1028,8 +1006,7 @@ static int try_resume(socket_st * hd)
}
if ((gnutls_protocol_get_version(hd->session) !=
- GNUTLS_TLS1_3)
- ||
+ GNUTLS_TLS1_3) ||
((gnutls_session_get_flags(hd->session) &
GNUTLS_SFLAGS_SESSION_TICKET))) {
break;
@@ -1047,9 +1024,8 @@ static int try_resume(socket_st * hd)
canonicalize_host(hostname, service, sizeof(service));
- log_msg
- (stdout,
- "\n\n- Connecting again- trying to resume previous session\n");
+ log_msg(stdout,
+ "\n\n- Connecting again- trying to resume previous session\n");
if (HAVE_OPT(STARTTLS_PROTO))
socket_flags |= SOCKET_FLAG_STARTTLS;
else if (fastopen)
@@ -1083,9 +1059,8 @@ static int try_resume(socket_st * hd)
return 0;
}
-static
-bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,
- inline_cmds_st * inline_cmds)
+static bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,
+ inline_cmds_st *inline_cmds)
{
ssize_t local_bytes, match_bytes, prev_bytes_copied, ii;
unsigned jj;
@@ -1098,12 +1073,14 @@ bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,
if (inline_cmds->bytes_copied) {
local_buffer_ptr =
- &inline_cmds->inline_cmd_buffer[inline_cmds->bytes_copied];
+ &inline_cmds
+ ->inline_cmd_buffer[inline_cmds->bytes_copied];
- local_bytes =
- ((inline_cmds->bytes_copied + bytes) <=
- MAX_INLINE_COMMAND_BYTES) ? (ssize_t) bytes
- : (MAX_INLINE_COMMAND_BYTES - inline_cmds->bytes_copied);
+ local_bytes = ((inline_cmds->bytes_copied + bytes) <=
+ MAX_INLINE_COMMAND_BYTES) ?
+ (ssize_t)bytes :
+ (MAX_INLINE_COMMAND_BYTES -
+ inline_cmds->bytes_copied);
memcpy(local_buffer_ptr, buffer, local_bytes);
prev_bytes_copied = inline_cmds->bytes_copied;
@@ -1122,23 +1099,22 @@ bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,
inline_cmds->current_ptr = local_buffer_ptr;
- if (local_buffer_ptr[0] == inline_commands_prefix[0]
- && inline_cmds->lf_found) {
+ if (local_buffer_ptr[0] == inline_commands_prefix[0] &&
+ inline_cmds->lf_found) {
for (jj = 0; jj < NUM_INLINE_COMMANDS; jj++) {
- if (inline_commands_prefix[0] != '^') { /* refer inline_cmds.h for usage of ^ */
+ if (inline_commands_prefix[0] !=
+ '^') { /* refer inline_cmds.h for usage of ^ */
strcpy(inline_command_string,
inline_commands_def[jj].string);
- inline_command_string[strlen
- (inline_commands_def
- [jj].string)] = '\0';
+ inline_command_string[strlen(
+ inline_commands_def[jj].string)] = '\0';
inline_command_string[0] =
- inline_commands_prefix[0];
+ inline_commands_prefix[0];
/* Inline commands are delimited by the inline_commands_prefix[0] (default is ^).
The inline_commands_def[].string includes a trailing LF */
- inline_command_string[strlen
- (inline_commands_def
- [jj].string) - 2] =
- inline_commands_prefix[0];
+ inline_command_string
+ [strlen(inline_commands_def[jj].string) -
+ 2] = inline_commands_prefix[0];
ptr = inline_command_string;
} else
ptr = inline_commands_def[jj].string;
@@ -1146,32 +1122,34 @@ bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,
l = strlen(ptr);
match_bytes = (local_bytes <= l) ? local_bytes : l;
if (strncmp(ptr, local_buffer_ptr, match_bytes) == 0) {
- if (match_bytes == (ssize_t) strlen(ptr)) {
+ if (match_bytes == (ssize_t)strlen(ptr)) {
inline_cmds->new_buffer_ptr =
- buffer + match_bytes -
- prev_bytes_copied;
+ buffer + match_bytes -
+ prev_bytes_copied;
inline_cmds->cmd_found =
- inline_commands_def[jj].command;
- inline_cmds->bytes_copied = 0; /* reset it */
+ inline_commands_def[jj].command;
+ inline_cmds->bytes_copied =
+ 0; /* reset it */
} else {
/* partial command */
memcpy(&inline_cmds->inline_cmd_buffer
- [inline_cmds->bytes_copied],
+ [inline_cmds
+ ->bytes_copied],
buffer, bytes);
inline_cmds->bytes_copied += bytes;
}
return true;
}
/* else - if not a match, do nothing here */
- } /* for */
+ } /* for */
}
for (ii = prev_bytes_copied; ii < local_bytes; ii++) {
- if (ii && local_buffer_ptr[ii] == inline_commands_prefix[0]
- && inline_cmds->lf_found) {
+ if (ii && local_buffer_ptr[ii] == inline_commands_prefix[0] &&
+ inline_cmds->lf_found) {
/* possible inline command. First, let's flush bytes up to ^ */
inline_cmds->new_buffer_ptr =
- buffer + ii - prev_bytes_copied;
+ buffer + ii - prev_bytes_copied;
inline_cmds->bytes_to_flush = ii;
inline_cmds->lf_found = true;
@@ -1182,14 +1160,13 @@ bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,
} else {
inline_cmds->lf_found = false;
}
- } /* for */
+ } /* for */
- inline_cmds->bytes_copied = 0; /* reset it */
- return false; /* not an inline command */
+ inline_cmds->bytes_copied = 0; /* reset it */
+ return false; /* not an inline command */
}
-static
-int run_inline_command(inline_cmds_st * cmd, socket_st * hd)
+static int run_inline_command(inline_cmds_st *cmd, socket_st *hd)
{
switch (cmd->cmd_found) {
case INLINE_COMMAND_RESUME:
@@ -1205,21 +1182,21 @@ int run_inline_command(inline_cmds_st * cmd, socket_st * hd)
}
}
-static
-int do_inline_command_processing(char *buffer_ptr, size_t curr_bytes,
- socket_st * hd, inline_cmds_st * inline_cmds)
+static int do_inline_command_processing(char *buffer_ptr, size_t curr_bytes,
+ socket_st *hd,
+ inline_cmds_st *inline_cmds)
{
int skip_bytes, bytes;
bool inline_cmd_start_found;
bytes = curr_bytes;
- continue_inline_processing:
+continue_inline_processing:
/* parse_for_inline_commands_in_buffer hunts for start of an inline command
* sequence. The function maintains state information in inline_cmds.
*/
- inline_cmd_start_found =
- parse_for_inline_commands_in_buffer(buffer_ptr, bytes, inline_cmds);
+ inline_cmd_start_found = parse_for_inline_commands_in_buffer(
+ buffer_ptr, bytes, inline_cmds);
if (!inline_cmd_start_found)
return bytes;
@@ -1373,8 +1350,8 @@ int main(int argc, char **argv)
}
socket_open2(&hd, hostname, service, OPT_ARG(STARTTLS_PROTO),
- socket_flags, CONNECT_MSG, NULL, NULL,
- server_fp, client_fp);
+ socket_flags, CONNECT_MSG, NULL, NULL, server_fp,
+ client_fp);
hd.verbose = verbose;
@@ -1420,7 +1397,7 @@ int main(int argc, char **argv)
memset(&inline_cmds, 0, sizeof(inline_cmds_st));
if (inline_commands) {
- inline_cmds.lf_found = true; /* initially, at start of line */
+ inline_cmds.lf_found = true; /* initially, at start of line */
}
for (;;) {
@@ -1445,9 +1422,9 @@ int main(int argc, char **argv)
memset(buffer, 0, MAX_BUF + 1);
ret = socket_recv(&hd, buffer, MAX_BUF);
- if (ret == 0
- || (ret == GNUTLS_E_PREMATURE_TERMINATION
- && user_term)) {
+ if (ret == 0 ||
+ (ret == GNUTLS_E_PREMATURE_TERMINATION &&
+ user_term)) {
log_msg(stdout,
"- Peer has closed the GnuTLS connection\n");
break;
@@ -1458,8 +1435,8 @@ int main(int argc, char **argv)
break;
} else if (ret > 0) {
if (verbose != 0)
- log_msg(stdout, "- Received[%d]: ",
- ret);
+ log_msg(stdout,
+ "- Received[%d]: ", ret);
for (ii = 0; ii < ret; ii++) {
fputc(buffer[ii], stdout);
}
@@ -1468,8 +1445,8 @@ int main(int argc, char **argv)
}
if (inp == IN_KEYBOARD && user_term == 0) {
- if ((bytes =
- read(fileno(stdin), buffer, MAX_BUF - 1)) <= 0) {
+ if ((bytes = read(fileno(stdin), buffer,
+ MAX_BUF - 1)) <= 0) {
if (hd.secure == 0) {
/* Warning! Do not touch this text string, it is
used by external programs to search for when
@@ -1486,11 +1463,11 @@ int main(int argc, char **argv)
}
} else {
do {
- ret =
- gnutls_bye(hd.session,
- GNUTLS_SHUT_WR);
- } while (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_AGAIN);
+ ret = gnutls_bye(
+ hd.session,
+ GNUTLS_SHUT_WR);
+ } while (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_AGAIN);
user_term = 1;
}
@@ -1509,16 +1486,16 @@ int main(int argc, char **argv)
keyboard_bytes = bytes;
keyboard_buffer_ptr = buffer;
- inline_command_processing:
+ inline_command_processing:
if (inline_commands) {
- keyboard_bytes =
- do_inline_command_processing
- (keyboard_buffer_ptr, keyboard_bytes,
- &hd, &inline_cmds);
+ keyboard_bytes = do_inline_command_processing(
+ keyboard_buffer_ptr, keyboard_bytes,
+ &hd, &inline_cmds);
if (keyboard_bytes == 0)
continue;
- else if (keyboard_bytes < 0) { /* error processing an inline command */
+ else if (keyboard_bytes <
+ 0) { /* error processing an inline command */
retval = 1;
break;
} else {
@@ -1526,24 +1503,21 @@ int main(int argc, char **argv)
* or may point to start or an offset into buffer.
*/
keyboard_buffer_ptr =
- inline_cmds.current_ptr;
+ inline_cmds.current_ptr;
}
}
- if (ranges
- && gnutls_record_can_use_length_hiding(hd.session))
- {
+ if (ranges &&
+ gnutls_record_can_use_length_hiding(hd.session)) {
gnutls_range_st range;
range.low = 0;
range.high = MAX_BUF;
- ret =
- socket_send_range(&hd,
- keyboard_buffer_ptr,
- keyboard_bytes, &range);
+ ret = socket_send_range(&hd,
+ keyboard_buffer_ptr,
+ keyboard_bytes, &range);
} else {
- ret =
- socket_send(&hd, keyboard_buffer_ptr,
- keyboard_bytes);
+ ret = socket_send(&hd, keyboard_buffer_ptr,
+ keyboard_bytes);
}
if (ret > 0) {
@@ -1556,15 +1530,15 @@ int main(int argc, char **argv)
if (inline_commands &&
inline_cmds.new_buffer_ptr < (buffer + bytes)) {
keyboard_buffer_ptr =
- inline_cmds.new_buffer_ptr;
+ inline_cmds.new_buffer_ptr;
keyboard_bytes =
- (buffer + bytes) - keyboard_buffer_ptr;
+ (buffer + bytes) - keyboard_buffer_ptr;
goto inline_command_processing;
}
}
}
- cleanup:
+cleanup:
socket_bye(&hd, 0);
if (logfile) {
fclose(logfile);
@@ -1591,8 +1565,7 @@ int main(int argc, char **argv)
return retval;
}
-static
-void print_priority_list(void)
+static void print_priority_list(void)
{
unsigned int idx;
const char *str;
@@ -1603,9 +1576,8 @@ void print_priority_list(void)
fputs("\t", stdout);
for (idx = 0;; idx++) {
- str =
- gnutls_priority_string_list(idx,
- GNUTLS_PRIORITY_LIST_INIT_KEYWORDS);
+ str = gnutls_priority_string_list(
+ idx, GNUTLS_PRIORITY_LIST_INIT_KEYWORDS);
if (str == NULL)
break;
lineb += log_msg(stdout, "%s ", str);
@@ -1619,9 +1591,8 @@ void print_priority_list(void)
lineb = 0;
fputs("\t", stdout);
for (idx = 0;; idx++) {
- str =
- gnutls_priority_string_list(idx,
- GNUTLS_PRIORITY_LIST_SPECIAL);
+ str = gnutls_priority_string_list(idx,
+ GNUTLS_PRIORITY_LIST_SPECIAL);
if (str == NULL)
break;
if (str[0] == 0)
@@ -1724,7 +1695,7 @@ static void cmd_parser(int argc, char **argv)
exit(1);
}
inline_commands_prefix =
- (char *)OPT_ARG(INLINE_COMMANDS_PREFIX);
+ (char *)OPT_ARG(INLINE_COMMANDS_PREFIX);
if (!isascii(inline_commands_prefix[0])) {
fprintf(stderr,
"inline-commands-prefix value is a single US-ASCII character (octets 0 - 127)\n");
@@ -1752,8 +1723,8 @@ static void cmd_parser(int argc, char **argv)
} else {
if (HAVE_OPT(STARTTLS_PROTO))
snprintf(service, sizeof(service), "%s",
- starttls_proto_to_service(OPT_ARG
- (STARTTLS_PROTO)));
+ starttls_proto_to_service(
+ OPT_ARG(STARTTLS_PROTO)));
else
strcpy(service, "443");
}
@@ -1818,7 +1789,7 @@ static void cmd_parser(int argc, char **argv)
}
}
-static void check_server_cmd(socket_st * socket, int ret)
+static void check_server_cmd(socket_st *socket, int ret)
{
if (socket->secure) {
if (ret == GNUTLS_E_REHANDSHAKE) {
@@ -1854,15 +1825,15 @@ static void check_server_cmd(socket_st * socket, int ret)
}
}
-int do_handshake(socket_st * socket)
+int do_handshake(socket_st *socket)
{
int ret;
if (fastopen && socket->connect_addrlen) {
- gnutls_transport_set_fastopen(socket->session, socket->fd,
- (struct sockaddr *)
- &socket->connect_addr,
- socket->connect_addrlen, 0);
+ gnutls_transport_set_fastopen(
+ socket->session, socket->fd,
+ (struct sockaddr *)&socket->connect_addr,
+ socket->connect_addrlen, 0);
socket->connect_addrlen = 0;
} else {
set_read_funcs(socket->session);
@@ -1876,8 +1847,7 @@ int do_handshake(socket_st * socket)
if (ret < 0) {
handle_error(socket, ret);
}
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == 0) {
/* print some information */
@@ -1887,7 +1857,8 @@ int do_handshake(socket_st * socket)
print_key_material(socket->session,
OPT_ARG(KEYMATEXPORT),
HAVE_OPT(KEYMATEXPORTSIZE) ?
- OPT_VALUE_KEYMATEXPORTSIZE : 20);
+ OPT_VALUE_KEYMATEXPORTSIZE :
+ 20);
socket->secure = 1;
} else {
gnutls_alert_send_appropriate(socket->session, ret);
@@ -1897,9 +1868,8 @@ int do_handshake(socket_st * socket)
}
#ifdef ENABLE_SRP
-static int
-srp_username_callback(gnutls_session_t session,
- char **username, char **password)
+static int srp_username_callback(gnutls_session_t session, char **username,
+ char **password)
{
if (srp_username == NULL || srp_passwd == NULL) {
return -1;
@@ -1912,8 +1882,8 @@ srp_username_callback(gnutls_session_t session,
}
#endif
-static int
-psk_callback(gnutls_session_t session, char **username, gnutls_datum_t * key)
+static int psk_callback(gnutls_session_t session, char **username,
+ gnutls_datum_t *key)
{
const char *hint = gnutls_psk_client_get_hint(session);
char *rawkey;
@@ -2009,8 +1979,8 @@ static void init_global_tls_stuff(void)
fprintf(stderr, "pkcs11_init: %s",
gnutls_strerror(ret));
else {
- ret =
- gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER), NULL);
+ ret = gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER),
+ NULL);
if (ret < 0) {
fprintf(stderr, "pkcs11_add_provider: %s",
gnutls_strerror(ret));
@@ -2037,17 +2007,13 @@ static void init_global_tls_stuff(void)
gnutls_certificate_set_trust_list(xcred, tlist, 0);
if (x509_cafile != NULL) {
- ret = gnutls_x509_trust_list_add_trust_file(tlist,
- x509_cafile,
- NULL,
- x509ctype,
- GNUTLS_TL_USE_IN_TLS,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_file(
+ tlist, x509_cafile, NULL, x509ctype,
+ GNUTLS_TL_USE_IN_TLS, 0);
} else {
if (insecure == 0) {
- ret = gnutls_x509_trust_list_add_system_trust(tlist,
- GNUTLS_TL_USE_IN_TLS,
- 0);
+ ret = gnutls_x509_trust_list_add_system_trust(
+ tlist, GNUTLS_TL_USE_IN_TLS, 0);
if (ret == GNUTLS_E_UNIMPLEMENTED_FEATURE) {
fprintf(stderr,
"Warning: this system doesn't support a default trust store\n");
@@ -2066,17 +2032,14 @@ static void init_global_tls_stuff(void)
}
if (ENABLED_OPT(CA_AUTO_RETRIEVE))
- gnutls_x509_trust_list_set_getissuer_function(tlist,
- getissuer_callback);
+ gnutls_x509_trust_list_set_getissuer_function(
+ tlist, getissuer_callback);
if (x509_crlfile != NULL) {
- ret =
- gnutls_certificate_set_x509_crl_file(xcred,
- x509_crlfile,
- x509ctype);
+ ret = gnutls_certificate_set_x509_crl_file(xcred, x509_crlfile,
+ x509ctype);
if (ret < 0) {
- fprintf(stderr,
- "Error setting the x509 CRL file: %s\n",
+ fprintf(stderr, "Error setting the x509 CRL file: %s\n",
gnutls_strerror(ret));
exit(1);
} else {
@@ -2094,8 +2057,8 @@ static void init_global_tls_stuff(void)
fprintf(stderr, "SRP authentication error\n");
}
- gnutls_srp_set_client_credentials_function(srp_cred,
- srp_username_callback);
+ gnutls_srp_set_client_credentials_function(
+ srp_cred, srp_username_callback);
}
#endif
@@ -2106,10 +2069,8 @@ static void init_global_tls_stuff(void)
}
if (psk_username && psk_key.data) {
- ret = gnutls_psk_set_client_credentials(psk_cred,
- psk_username,
- &psk_key,
- GNUTLS_PSK_KEY_HEX);
+ ret = gnutls_psk_set_client_credentials(
+ psk_cred, psk_username, &psk_key, GNUTLS_PSK_KEY_HEX);
if (ret < 0) {
fprintf(stderr,
"Error setting the PSK credentials: %s\n",
@@ -2126,7 +2087,6 @@ static void init_global_tls_stuff(void)
fprintf(stderr, "Anonymous authentication error\n");
}
#endif
-
}
/* OCSP check for the peer's certificate. Should be called
@@ -2167,9 +2127,8 @@ static int cert_verify_ocsp(gnutls_session_t session)
}
deinit_cert = 1;
- ret =
- gnutls_x509_crt_import(cert, &cert_list[it],
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(cert, &cert_list[it],
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
fprintf(stderr, "Decoding error: %s\n",
gnutls_strerror(ret));
@@ -2190,9 +2149,8 @@ static int cert_verify_ocsp(gnutls_session_t session)
goto cleanup;
}
deinit_issuer = 1;
- ret =
- gnutls_x509_crt_import(issuer, &cert_list[it + 1],
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(issuer, &cert_list[it + 1],
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
fprintf(stderr, "Decoding error: %s\n",
gnutls_strerror(ret));
@@ -2231,7 +2189,7 @@ static int cert_verify_ocsp(gnutls_session_t session)
}
}
- cleanup:
+cleanup:
if (deinit_issuer)
gnutls_x509_crt_deinit(issuer);
if (deinit_cert)
@@ -2292,10 +2250,10 @@ static size_t get_data(void *buf, size_t size, size_t nmemb, void *userp)
}
/* Returns 0 on ok, and -1 on error */
-static int
-getissuer_callback(const gnutls_x509_trust_list_t tlist,
- const gnutls_x509_crt_t cert,
- gnutls_x509_crt_t ** issuers, unsigned int *issuers_size)
+static int getissuer_callback(const gnutls_x509_trust_list_t tlist,
+ const gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t **issuers,
+ unsigned int *issuers_size)
{
gnutls_datum_t ud;
int ret;
@@ -2317,9 +2275,8 @@ getissuer_callback(const gnutls_x509_trust_list_t tlist,
i = 0;
do {
- ret = gnutls_x509_crt_get_authority_info_access(cert, i++,
- GNUTLS_IA_CAISSUERS_URI,
- &data, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ cert, i++, GNUTLS_IA_CAISSUERS_URI, &data, NULL);
} while (ret == GNUTLS_E_UNKNOWN_ALGORITHM);
if (ret < 0) {
@@ -2396,7 +2353,7 @@ getissuer_callback(const gnutls_x509_trust_list_t tlist,
ret = 0;
- cleanup:
+cleanup:
gnutls_free(data.data);
free(ud.data);
free(url);
diff --git a/src/common.c b/src/common.c
index fbe043bd79..6f8a2d7325 100644
--- a/src/common.c
+++ b/src/common.c
@@ -23,7 +23,7 @@
/* Work around problem reported in
<https://permalink.gmane.org/gmane.comp.lib.gnulib.bugs/15755>.*/
#if GETTIMEOFDAY_CLOBBERS_LOCALTIME
-# undef localtime
+#undef localtime
#endif
#include <getpass.h>
@@ -39,16 +39,16 @@
#include <unistd.h>
#ifndef _WIN32
-# include <signal.h>
+#include <signal.h>
#else
-# include <ws2tcpip.h>
+#include <ws2tcpip.h>
#endif
#ifdef ENABLE_PKCS11
-# include <gnutls/pkcs11.h>
+#include <gnutls/pkcs11.h>
#endif
-#define SU(x) (x!=NULL?x:"Unknown")
+#define SU(x) (x != NULL ? x : "Unknown")
const char str_unknown[] = "(unknown)";
@@ -114,9 +114,8 @@ const char *raw_to_base64(const unsigned char *raw, size_t raw_size)
return buf;
}
-static void
-print_x509_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
- int print_crt_status)
+static void print_x509_info(gnutls_session_t session, FILE *out, int flag,
+ int print_cert, int print_crt_status)
{
gnutls_x509_crt_t crt;
const gnutls_datum_t *cert_list;
@@ -143,9 +142,8 @@ print_x509_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
return;
}
- ret =
- gnutls_x509_crt_import(crt, &cert_list[j],
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_crt_import(crt, &cert_list[j],
+ GNUTLS_X509_FMT_DER);
if (ret < 0) {
fprintf(stderr, "Decoding error: %s\n",
gnutls_strerror(ret));
@@ -165,9 +163,8 @@ print_x509_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
if (print_cert) {
gnutls_datum_t pem;
- ret =
- gnutls_x509_crt_export2(crt,
- GNUTLS_X509_FMT_PEM, &pem);
+ ret = gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_PEM,
+ &pem);
if (ret < 0) {
fprintf(stderr, "Encoding error: %s\n",
gnutls_strerror(ret));
@@ -183,9 +180,8 @@ print_x509_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
}
}
-static void
-print_rawpk_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
- int print_crt_status)
+static void print_rawpk_info(gnutls_session_t session, FILE *out, int flag,
+ int print_cert, int print_crt_status)
{
gnutls_pcert_st pk_cert;
gnutls_pk_algorithm_t pk_algo;
@@ -203,9 +199,8 @@ print_rawpk_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
log_msg(out, "- Certificate type: Raw Public Key\n");
log_msg(out, "- Got %d Raw public-key(s).\n", cert_list_size);
- ret =
- gnutls_pcert_import_rawpk_raw(&pk_cert, cert_list,
- GNUTLS_X509_FMT_DER, 0, 0);
+ ret = gnutls_pcert_import_rawpk_raw(&pk_cert, cert_list,
+ GNUTLS_X509_FMT_DER, 0, 0);
if (ret < 0) {
fprintf(stderr, "Decoding error: %s\n", gnutls_strerror(ret));
return;
@@ -219,9 +214,8 @@ print_rawpk_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
if (print_cert) {
gnutls_datum_t pem;
- ret =
- gnutls_pubkey_export2(pk_cert.pubkey, GNUTLS_X509_FMT_PEM,
- &pem);
+ ret = gnutls_pubkey_export2(pk_cert.pubkey, GNUTLS_X509_FMT_PEM,
+ &pem);
if (ret < 0) {
fprintf(stderr, "Encoding error: %s\n",
gnutls_strerror(ret));
@@ -233,7 +227,7 @@ print_rawpk_info(gnutls_session_t session, FILE * out, int flag, int print_cert,
gnutls_free(pem.data);
}
- cleanup:
+cleanup:
gnutls_pcert_deinit(&pk_cert);
}
@@ -276,8 +270,8 @@ int cert_verify(gnutls_session_t session, const char *hostname,
}
type = gnutls_certificate_type_get(session);
- rc = gnutls_certificate_verification_status_print(status, type,
- &out, 0);
+ rc = gnutls_certificate_verification_status_print(status, type, &out,
+ 0);
if (rc < 0) {
log_msg(stdout,
"- Could not print verification flags (err: %s)\n",
@@ -299,8 +293,8 @@ int cert_verify(gnutls_session_t session, const char *hostname,
}
/* Parse input string and set certificate compression methods */
-int compress_cert_set_methods(gnutls_session_t session,
- const char **strings, size_t n_strings)
+int compress_cert_set_methods(gnutls_session_t session, const char **strings,
+ size_t n_strings)
{
int ret = 0;
gnutls_compression_method_t *methods;
@@ -330,9 +324,8 @@ int compress_cert_set_methods(gnutls_session_t session,
}
}
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- n_strings);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ n_strings);
if (ret < 0) {
fprintf(stderr,
"Could not set certificate compression methods: %s\n",
@@ -340,7 +333,7 @@ int compress_cert_set_methods(gnutls_session_t session,
goto cleanup;
}
- cleanup:
+cleanup:
free(methods);
#pragma GCC diagnostic pop
@@ -393,8 +386,7 @@ static void print_dh_info(gnutls_session_t session, const char *str, int print)
goto out;
}
- ret = gnutls_dh_params_export_pkcs3(dh_params,
- GNUTLS_X509_FMT_PEM,
+ ret = gnutls_dh_params_export_pkcs3(dh_params, GNUTLS_X509_FMT_PEM,
params_data, &params_data_size);
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER) {
fprintf(stderr, "gnutls_dh_params_export_pkcs3 %d\n", ret);
@@ -407,18 +399,17 @@ static void print_dh_info(gnutls_session_t session, const char *str, int print)
goto out;
}
- ret = gnutls_dh_params_export_pkcs3(dh_params,
- GNUTLS_X509_FMT_PEM,
+ ret = gnutls_dh_params_export_pkcs3(dh_params, GNUTLS_X509_FMT_PEM,
params_data, &params_data_size);
if (ret) {
fprintf(stderr, "gnutls_dh_params_export_pkcs3-2 %d\n", ret);
goto out;
}
- log_msg(stdout, " - PKCS#3 format:\n\n%.*s\n",
- (int)params_data_size, params_data);
+ log_msg(stdout, " - PKCS#3 format:\n\n%.*s\n", (int)params_data_size,
+ params_data);
- out:
+out:
gnutls_free(params_data);
gnutls_free(raw_prime.data);
gnutls_free(raw_gen.data);
@@ -442,7 +433,6 @@ static void print_ecdh_info(gnutls_session_t session, const char *str,
gnutls_ecc_curve_get_name(curve));
log_msg(stdout, " - Curve size: %d bits\n",
gnutls_ecc_curve_get_size(curve) * 8);
-
}
struct channel_binding_request {
@@ -453,9 +443,9 @@ struct channel_binding_request {
static void print_channel_bindings(gnutls_session_t session, int print)
{
static const struct channel_binding_request requests[] = {
- {GNUTLS_CB_TLS_UNIQUE, "tls-unique"},
- {GNUTLS_CB_TLS_SERVER_END_POINT, "tls-server-end-point"},
- {GNUTLS_CB_TLS_EXPORTER, "tls-exporter"}
+ { GNUTLS_CB_TLS_UNIQUE, "tls-unique" },
+ { GNUTLS_CB_TLS_SERVER_END_POINT, "tls-server-end-point" },
+ { GNUTLS_CB_TLS_EXPORTER, "tls-exporter" }
};
size_t i;
@@ -468,8 +458,8 @@ static void print_channel_bindings(gnutls_session_t session, int print)
gnutls_datum_t cb;
int rc;
- rc = gnutls_session_channel_binding(session,
- requests[i].type, &cb);
+ rc = gnutls_session_channel_binding(session, requests[i].type,
+ &cb);
if (rc == GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE) {
log_msg(stdout, " - '%s': not available\n",
requests[i].name);
@@ -562,22 +552,21 @@ int print_info(gnutls_session_t session, int verbose, int flags)
case GNUTLS_CRD_IA:
log_msg(stdout, "- TLS/IA authentication\n");
break;
- case GNUTLS_CRD_CERTIFICATE:
- {
- char dns[256];
- size_t dns_size = sizeof(dns);
- unsigned int type;
-
- /* This fails in client side */
- if (gnutls_server_name_get
- (session, dns, &dns_size, &type, 0) == 0) {
- log_msg(stdout, "- Given server name[%d]: %s\n",
- type, dns);
- }
+ case GNUTLS_CRD_CERTIFICATE: {
+ char dns[256];
+ size_t dns_size = sizeof(dns);
+ unsigned int type;
+
+ /* This fails in client side */
+ if (gnutls_server_name_get(session, dns, &dns_size, &type, 0) ==
+ 0) {
+ log_msg(stdout, "- Given server name[%d]: %s\n", type,
+ dns);
}
+ }
- if ((flags & P_WAIT_FOR_CERT)
- && gnutls_certificate_get_ours(session) == 0)
+ if ((flags & P_WAIT_FOR_CERT) &&
+ gnutls_certificate_get_ours(session) == 0)
log_msg(stdout, "- No certificate was sent to peer\n");
if (flags & P_PRINT_CERT)
@@ -586,8 +575,8 @@ int print_info(gnutls_session_t session, int verbose, int flags)
if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS)
print_dh_info(session, "Ephemeral ", verbose);
- else if (kx == GNUTLS_KX_ECDHE_RSA
- || kx == GNUTLS_KX_ECDHE_ECDSA)
+ else if (kx == GNUTLS_KX_ECDHE_RSA ||
+ kx == GNUTLS_KX_ECDHE_ECDSA)
print_ecdh_info(session, "Ephemeral ", verbose);
break;
default:
@@ -606,17 +595,15 @@ int print_info(gnutls_session_t session, int verbose, int flags)
}
if (gnutls_sign_algorithm_get(session) != GNUTLS_SIGN_UNKNOWN) {
- tmp =
- SU(gnutls_sign_get_name
- (gnutls_sign_algorithm_get(session)));
+ tmp = SU(gnutls_sign_get_name(
+ gnutls_sign_algorithm_get(session)));
log_msg(stdout, "- Server Signature: %s\n", tmp);
}
if (gnutls_sign_algorithm_get_client(session) !=
GNUTLS_SIGN_UNKNOWN) {
- tmp =
- SU(gnutls_sign_get_name
- (gnutls_sign_algorithm_get_client(session)));
+ tmp = SU(gnutls_sign_get_name(
+ gnutls_sign_algorithm_get_client(session)));
log_msg(stdout, "- Client Signature: %s\n", tmp);
}
@@ -635,12 +622,12 @@ int print_info(gnutls_session_t session, int verbose, int flags)
if (gnutls_session_etm_status(session) != 0)
log_msg(stdout, " EtM,");
#ifdef ENABLE_OCSP
- if (gnutls_ocsp_status_request_is_checked
- (session, GNUTLS_OCSP_SR_IS_AVAIL) != 0) {
+ if (gnutls_ocsp_status_request_is_checked(
+ session, GNUTLS_OCSP_SR_IS_AVAIL) != 0) {
log_msg(stdout, " OCSP status request%s,",
- gnutls_ocsp_status_request_is_checked(session,
- 0) !=
- 0 ? "" : "[ignored]");
+ gnutls_ocsp_status_request_is_checked(session, 0) != 0 ?
+ "" :
+ "[ignored]");
}
#endif
log_msg(stdout, "\n");
@@ -665,12 +652,13 @@ int print_info(gnutls_session_t session, int verbose, int flags)
if (ktls_flags != 0) {
log_msg(stdout, "- KTLS: %s\n",
(ktls_flags & GNUTLS_KTLS_DUPLEX) ==
- GNUTLS_KTLS_DUPLEX ? "send, recv" : (ktls_flags &
- GNUTLS_KTLS_SEND)
- ==
- GNUTLS_KTLS_SEND ? "send" : (ktls_flags &
- GNUTLS_KTLS_RECV) ==
- GNUTLS_KTLS_RECV ? "recv" : "unknown");
+ GNUTLS_KTLS_DUPLEX ?
+ "send, recv" :
+ (ktls_flags & GNUTLS_KTLS_SEND) == GNUTLS_KTLS_SEND ?
+ "send" :
+ (ktls_flags & GNUTLS_KTLS_RECV) == GNUTLS_KTLS_RECV ?
+ "recv" :
+ "unknown");
}
fflush(stdout);
@@ -683,7 +671,7 @@ void print_cert_info(gnutls_session_t session, int verbose, int print_cert)
print_cert_info2(session, verbose, stdout, print_cert);
}
-void print_cert_info2(gnutls_session_t session, int verbose, FILE * out,
+void print_cert_info2(gnutls_session_t session, int verbose, FILE *out,
int print_cert)
{
int flag, print_crt_status = 0;
@@ -741,17 +729,15 @@ void print_list(const char *priorities, int verbose)
}
for (i = 0;; i++) {
- ret =
- gnutls_priority_get_cipher_suite_index(pcache,
- i, &idx);
+ ret = gnutls_priority_get_cipher_suite_index(pcache, i,
+ &idx);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
if (ret == GNUTLS_E_UNKNOWN_CIPHER_SUITE)
continue;
- name =
- gnutls_cipher_suite_info(idx, id, NULL, NULL,
- NULL, &version);
+ name = gnutls_cipher_suite_info(idx, id, NULL, NULL,
+ NULL, &version);
if (name != NULL)
log_msg(stdout, "%-50s\t0x%02x, 0x%02x\t%s\n",
@@ -871,8 +857,8 @@ void print_list(const char *priorities, int verbose)
log_msg(stdout, "none\n");
for (i = 0; i < (unsigned)ret; i++) {
log_msg(stdout, "SIGN-%s",
- gnutls_sign_algorithm_get_name(list
- [i]));
+ gnutls_sign_algorithm_get_name(
+ list[i]));
if (i + 1 != (unsigned)ret)
log_msg(stdout, ", ");
else
@@ -885,25 +871,24 @@ void print_list(const char *priorities, int verbose)
}
log_msg(stdout, "Cipher suites:\n");
- for (i = 0; (name = gnutls_cipher_suite_info
- (i, id, &kx, &cipher, &mac, &version)); i++) {
- log_msg(stdout, "%-50s\t0x%02x, 0x%02x\t%s\n",
- name,
+ for (i = 0; (name = gnutls_cipher_suite_info(i, id, &kx, &cipher, &mac,
+ &version));
+ i++) {
+ log_msg(stdout, "%-50s\t0x%02x, 0x%02x\t%s\n", name,
(unsigned char)id[0], (unsigned char)id[1],
gnutls_protocol_get_name(version));
if (verbose)
- log_msg
- (stdout,
- "\tKey exchange: %s\n\tCipher: %s\n\tMAC: %s\n\n",
- gnutls_kx_get_name(kx),
- gnutls_cipher_get_name(cipher),
- gnutls_mac_get_name(mac));
+ log_msg(stdout,
+ "\tKey exchange: %s\n\tCipher: %s\n\tMAC: %s\n\n",
+ gnutls_kx_get_name(kx),
+ gnutls_cipher_get_name(cipher),
+ gnutls_mac_get_name(mac));
}
log_msg(stdout, "\n");
{
const gnutls_certificate_type_t *p =
- gnutls_certificate_type_list();
+ gnutls_certificate_type_list();
log_msg(stdout, "Certificate types: ");
for (; *p; p++) {
@@ -984,7 +969,7 @@ void print_list(const char *priorities, int verbose)
{
const gnutls_compression_method_t *p =
- gnutls_compression_list();
+ gnutls_compression_list();
log_msg(stdout, "Compression: ");
for (; *p; p++) {
@@ -1038,8 +1023,8 @@ void print_list(const char *priorities, int verbose)
}
}
-void
-print_key_material(gnutls_session_t session, const char *label, size_t size)
+void print_key_material(gnutls_session_t session, const char *label,
+ size_t size)
{
gnutls_datum_t bin = { NULL, 0 }, hex = { NULL, 0 };
int ret;
@@ -1053,8 +1038,8 @@ print_key_material(gnutls_session_t session, const char *label, size_t size)
bin.size = size;
- ret = gnutls_prf_rfc5705(session, strlen(label), label,
- 0, NULL, size, (char *)bin.data);
+ ret = gnutls_prf_rfc5705(session, strlen(label), label, 0, NULL, size,
+ (char *)bin.data);
if (ret < 0) {
fprintf(stderr, "Error in gnutls_prf_rfc5705: %s\n",
gnutls_strerror(ret));
@@ -1070,7 +1055,7 @@ print_key_material(gnutls_session_t session, const char *label, size_t size)
log_msg(stdout, "- Key material: %s\n", hex.data);
fflush(stdout);
- out:
+out:
gnutls_free(bin.data);
gnutls_free(hex.data);
}
@@ -1084,37 +1069,33 @@ int check_command(gnutls_session_t session, const char *str,
fprintf(stderr, "*** Processing %u bytes command: %s\n", (unsigned)len,
str);
if (len > 2 && str[0] == str[1] && str[0] == '*') {
- if (strncmp
- (str, "**REHANDSHAKE**",
- sizeof("**REHANDSHAKE**") - 1) == 0) {
+ if (strncmp(str, "**REHANDSHAKE**",
+ sizeof("**REHANDSHAKE**") - 1) == 0) {
fprintf(stderr, "*** Sending rehandshake request\n");
gnutls_rehandshake(session);
return 1;
- } else if (strncmp
- (str, "**REAUTH**", sizeof("**REAUTH**") - 1) == 0) {
+ } else if (strncmp(str, "**REAUTH**",
+ sizeof("**REAUTH**") - 1) == 0) {
/* in case we have a re-auth cmd prepare for it */
if (no_cli_cert)
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUIRE);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUIRE);
fprintf(stderr, "*** Sending re-auth request\n");
do {
ret = gnutls_reauth(session, 0);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fprintf(stderr, "reauth: %s\n",
gnutls_strerror(ret));
return ret;
}
return 1;
- } else
- if (strncmp
- (str, "**HEARTBEAT**",
- sizeof("**HEARTBEAT**") - 1) == 0) {
- ret =
- gnutls_heartbeat_ping(session, 300, 5,
- GNUTLS_HEARTBEAT_WAIT);
+ } else if (strncmp(str, "**HEARTBEAT**",
+ sizeof("**HEARTBEAT**") - 1) == 0) {
+ ret = gnutls_heartbeat_ping(session, 300, 5,
+ GNUTLS_HEARTBEAT_WAIT);
if (ret < 0) {
if (ret == GNUTLS_E_INVALID_REQUEST) {
fprintf(stderr,
@@ -1179,19 +1160,18 @@ void getenv_copy(char *str, size_t max_str_size, const char *envvar)
return;
}
-#define MIN(x,y) ((x)<(y))?(x):(y)
+#define MIN(x, y) ((x) < (y)) ? (x) : (y)
#define MAX_CACHE_TRIES 5
-int
-pin_callback(void *user, int attempt, const char *token_url,
- const char *token_label, unsigned int flags, char *pin,
- size_t pin_max)
+int pin_callback(void *user, int attempt, const char *token_url,
+ const char *token_label, unsigned int flags, char *pin,
+ size_t pin_max)
{
char password[MAX_PIN_LEN] = "";
common_info_st *info = user;
const char *desc;
int cache = MAX_CACHE_TRIES;
unsigned len;
-/* allow caching of PIN */
+ /* allow caching of PIN */
static char *cached_url = NULL;
static char cached_pin[MAX_PIN_LEN] = "";
const char *env;
@@ -1243,12 +1223,12 @@ pin_callback(void *user, int attempt, const char *token_url,
if (password[0] == 0) {
getenv_copy(password, sizeof(password), env);
- if (password[0] == 0) /* compatibility */
+ if (password[0] == 0) /* compatibility */
getenv_copy(password, sizeof(password), "GNUTLS_PIN");
}
- if (password[0] == 0 && info != NULL && info->password != NULL
- && info->ask_pass == 0) {
+ if (password[0] == 0 && info != NULL && info->password != NULL &&
+ info->ask_pass == 0) {
if (strlen(info->password) < sizeof(password)) {
strcpy(password, info->password);
} else {
@@ -1257,8 +1237,8 @@ pin_callback(void *user, int attempt, const char *token_url,
}
}
- if (password[0] == 0
- && (info == NULL || info->batch == 0 || info->ask_pass != 0)) {
+ if (password[0] == 0 &&
+ (info == NULL || info->batch == 0 || info->ask_pass != 0)) {
if (token_label && token_label[0] != 0) {
fprintf(stderr, "Token '%s' with URL '%s' ",
token_label, token_url);
@@ -1332,12 +1312,10 @@ static int token_callback(void *user, const char *label, const unsigned retry)
return 0;
}
-void pkcs11_common(common_info_st * c)
+void pkcs11_common(common_info_st *c)
{
-
gnutls_pkcs11_set_pin_function(pin_callback, c);
gnutls_pkcs11_set_token_function(token_callback, c);
-
}
#endif
@@ -1357,7 +1335,7 @@ void sockets_init(void)
#endif
}
-int log_msg(FILE * file, const char *message, ...)
+int log_msg(FILE *file, const char *message, ...)
{
va_list args;
int rv;
@@ -1371,7 +1349,7 @@ int log_msg(FILE * file, const char *message, ...)
return rv;
}
-void log_set(FILE * file)
+void log_set(FILE *file)
{
logfile = file;
}
@@ -1380,7 +1358,7 @@ void log_set(FILE * file)
#pragma GCC diagnostic ignored "-Wformat-y2k"
/* This is very similar to ctime() but it does not force a newline.
*/
-char *simple_ctime(const time_t * t, char out[SIMPLE_CTIME_BUF_SIZE])
+char *simple_ctime(const time_t *t, char out[SIMPLE_CTIME_BUF_SIZE])
{
struct tm tm;
@@ -1392,7 +1370,7 @@ char *simple_ctime(const time_t * t, char out[SIMPLE_CTIME_BUF_SIZE])
return out;
- error:
+error:
snprintf(out, SIMPLE_CTIME_BUF_SIZE, "[error]");
return out;
}
diff --git a/src/common.h b/src/common.h
index 6fac0044ec..ba25470af1 100644
--- a/src/common.h
+++ b/src/common.h
@@ -19,55 +19,55 @@
*/
#ifndef GNUTLS_SRC_COMMON_H
-# define GNUTLS_SRC_COMMON_H
-
-# define SERVER "127.0.0.1"
-
-# include <config.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/pkcs11.h>
-# include <certtool-common.h>
-# include <c-ctype.h>
-# include <string.h>
-# include <sys/socket.h>
-# include <netdb.h>
-# include <unistd.h>
-# ifndef _WIN32
-# include <netinet/in.h>
-# endif
-
-# include <signal.h>
-# ifdef _WIN32
-# include <io.h>
-# include <winbase.h>
-# include <sys/select.h>
-# include "socket.h"
-# undef OCSP_RESPONSE
-# endif
-
-# ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-# endif
+#define GNUTLS_SRC_COMMON_H
+
+#define SERVER "127.0.0.1"
+
+#include <config.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/pkcs11.h>
+#include <certtool-common.h>
+#include <c-ctype.h>
+#include <string.h>
+#include <sys/socket.h>
+#include <netdb.h>
+#include <unistd.h>
+#ifndef _WIN32
+#include <netinet/in.h>
+#endif
+
+#include <signal.h>
+#ifdef _WIN32
+#include <io.h>
+#include <winbase.h>
+#include <sys/select.h>
+#include "socket.h"
+#undef OCSP_RESPONSE
+#endif
+
+#ifndef __attribute__
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
+#define __attribute__(Spec) /* empty */
+#endif
+#endif
/* the number of elements in the priority structures.
*/
-# define PRI_MAX 16
+#define PRI_MAX 16
extern const char str_unknown[];
-# define P_PRINT_CERT 1
-# define P_WAIT_FOR_CERT (1<<1)
+#define P_PRINT_CERT 1
+#define P_WAIT_FOR_CERT (1 << 1)
int print_info(gnutls_session_t state, int verbose, int flags);
void print_cert_info(gnutls_session_t, int flag, int print_cert);
void print_key_material(gnutls_session_t, const char *label, size_t size);
-int log_msg(FILE * file, const char *message, ...)
- __attribute__((format(printf, 2, 3)));
-void log_set(FILE * file);
+int log_msg(FILE *file, const char *message, ...)
+ __attribute__((format(printf, 2, 3)));
+void log_set(FILE *file);
-void print_cert_info2(gnutls_session_t, int flag, FILE * fp, int print_cert);
+void print_cert_info2(gnutls_session_t, int flag, FILE *fp, int print_cert);
void print_list(const char *priorities, int verbose);
int cert_verify(gnutls_session_t session, const char *hostname,
@@ -82,16 +82,15 @@ const char *raw_to_base64(const unsigned char *raw, size_t raw_size);
int check_command(gnutls_session_t session, const char *str,
unsigned no_cli_cert);
-# define MAX_PIN_LEN GNUTLS_PKCS11_MAX_PIN_LEN
+#define MAX_PIN_LEN GNUTLS_PKCS11_MAX_PIN_LEN
void getenv_copy(char *str, size_t max_str_size, const char *envvar);
void getpass_copy(char *pass, size_t max_pass_size, const char *prompt);
-int
-pin_callback(void *user, int attempt, const char *token_url,
- const char *token_label, unsigned int flags, char *pin,
- size_t pin_max);
+int pin_callback(void *user, int attempt, const char *token_url,
+ const char *token_label, unsigned int flags, char *pin,
+ size_t pin_max);
-void pkcs11_common(common_info_st * c);
+void pkcs11_common(common_info_st *c);
inline static int is_ip(const char *hostname)
{
@@ -99,15 +98,15 @@ inline static int is_ip(const char *hostname)
if (strchr(hostname, ':') != 0)
return 1;
- else if (len > 2 && c_isdigit(hostname[0])
- && c_isdigit(hostname[len - 1]))
+ else if (len > 2 && c_isdigit(hostname[0]) &&
+ c_isdigit(hostname[len - 1]))
return 1;
return 0;
}
void sockets_init(void);
-# ifdef _WIN32
+#ifdef _WIN32
static int system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
{
fd_set rfds;
@@ -124,35 +123,34 @@ static int system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
return select(fd + 1, &rfds, NULL, NULL, &tv);
}
-static ssize_t
-system_write(gnutls_transport_ptr ptr, const void *data, size_t data_size)
+static ssize_t system_write(gnutls_transport_ptr ptr, const void *data,
+ size_t data_size)
{
socket_st *hd = ptr;
return send(hd->fd, data, data_size, 0);
}
-static ssize_t
-system_read(gnutls_transport_ptr_t ptr, void *data, size_t data_size)
+static ssize_t system_read(gnutls_transport_ptr_t ptr, void *data,
+ size_t data_size)
{
socket_st *hd = ptr;
return recv(hd->fd, data, data_size, 0);
}
-static
-void set_read_funcs(gnutls_session_t session)
+static void set_read_funcs(gnutls_session_t session)
{
gnutls_transport_set_push_function(session, system_write);
gnutls_transport_set_pull_function(session, system_read);
gnutls_transport_set_pull_timeout_function(session,
system_recv_timeout);
}
-# else
-# define set_read_funcs(x)
-# endif
+#else
+#define set_read_funcs(x)
+#endif
-# define SIMPLE_CTIME_BUF_SIZE 64
-char *simple_ctime(const time_t * t, char buf[SIMPLE_CTIME_BUF_SIZE]);
+#define SIMPLE_CTIME_BUF_SIZE 64
+char *simple_ctime(const time_t *t, char buf[SIMPLE_CTIME_BUF_SIZE]);
-#endif /* GNUTLS_SRC_COMMON_H */
+#endif /* GNUTLS_SRC_COMMON_H */
diff --git a/src/danetool.c b/src/danetool.c
index 43bce51b70..0850a5dc16 100644
--- a/src/danetool.c
+++ b/src/danetool.c
@@ -29,7 +29,7 @@
#include <gnutls/crypto.h>
#ifdef HAVE_DANE
-# include <gnutls/dane.h>
+#include <gnutls/dane.h>
#endif
#include <stdio.h>
@@ -56,12 +56,12 @@ static const char *obtain_cert(const char *hostname, const char *proto,
const char *service, const char *app_proto,
unsigned quiet);
static void cmd_parser(int argc, char **argv);
-static void dane_info(const char *host, const char *proto,
- const char *service, unsigned int ca,
- unsigned int domain, common_info_st * cinfo);
+static void dane_info(const char *host, const char *proto, const char *service,
+ unsigned int ca, unsigned int domain,
+ common_info_st *cinfo);
-static void dane_check(const char *host, const char *proto,
- const char *service, common_info_st * cinfo);
+static void dane_check(const char *host, const char *proto, const char *service,
+ common_info_st *cinfo);
FILE *outfile;
static const char *outfile_name = NULL;
@@ -173,16 +173,16 @@ static void cmd_parser(int argc, char **argv)
} else {
if (HAVE_OPT(STARTTLS_PROTO))
snprintf(service, sizeof(service), "%s",
- starttls_proto_to_service(OPT_ARG
- (STARTTLS_PROTO)));
+ starttls_proto_to_service(
+ OPT_ARG(STARTTLS_PROTO)));
}
if (HAVE_OPT(PROTO))
proto = OPT_ARG(PROTO);
if (HAVE_OPT(TLSA_RR))
- dane_info(OPT_ARG(HOST), proto, service,
- HAVE_OPT(CA), ENABLED_OPT(DOMAIN), &cinfo);
+ dane_info(OPT_ARG(HOST), proto, service, HAVE_OPT(CA),
+ ENABLED_OPT(DOMAIN), &cinfo);
else if (HAVE_OPT(CHECK))
dane_check(OPT_ARG(CHECK), proto, service, &cinfo);
else
@@ -197,8 +197,8 @@ static void cmd_parser(int argc, char **argv)
}
#define MAX_CLIST_SIZE 32
-static void dane_check(const char *host, const char *proto,
- const char *service, common_info_st * cinfo)
+static void dane_check(const char *host, const char *proto, const char *service,
+ common_info_st *cinfo)
{
#ifdef HAVE_DANE
dane_state_t s;
@@ -235,9 +235,8 @@ static void dane_check(const char *host, const char *proto,
if (HAVE_OPT(STARTTLS_PROTO))
app_proto = OPT_ARG(STARTTLS_PROTO);
- cinfo->cert =
- obtain_cert(host, proto, service, app_proto,
- HAVE_OPT(QUIET));
+ cinfo->cert = obtain_cert(host, proto, service, app_proto,
+ HAVE_OPT(QUIET));
del = 1;
}
@@ -314,14 +313,10 @@ static void dane_check(const char *host, const char *proto,
goto error;
}
- ret =
- gnutls_x509_crt_list_import2(&clist,
- &clist_size,
- &file,
- cinfo->incert_format, 0);
+ ret = gnutls_x509_crt_list_import2(&clist, &clist_size, &file,
+ cinfo->incert_format, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_list_import2: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
retcode = 1;
goto error;
@@ -329,11 +324,9 @@ static void dane_check(const char *host, const char *proto,
if (clist_size > 0) {
for (i = 0; i < MIN(MAX_CLIST_SIZE, clist_size); i++) {
- ret =
- gnutls_x509_crt_export2(clist
- [i],
- GNUTLS_X509_FMT_DER,
- &certs[i]);
+ ret = gnutls_x509_crt_export2(
+ clist[i], GNUTLS_X509_FMT_DER,
+ &certs[i]);
if (ret < 0) {
fprintf(stderr,
"gnutls_x509_crt_export2: %s\n",
@@ -367,8 +360,7 @@ static void dane_check(const char *host, const char *proto,
if (entries > 1 && !HAVE_OPT(QUIET))
fprintf(outfile, "\n==== Entry %d ====\n", i + 1);
- fprintf(outfile,
- "_%u._%s.%s. IN TLSA ( %.2x %.2x %.2x %s )\n",
+ fprintf(outfile, "_%u._%s.%s. IN TLSA ( %.2x %.2x %.2x %s )\n",
port, proto, host, usage, type, match, lbuffer);
if (!HAVE_OPT(QUIET)) {
@@ -397,13 +389,11 @@ static void dane_check(const char *host, const char *proto,
unsigned int status;
gnutls_datum_t out;
- ret =
- dane_verify_crt(s, certs, clist_size,
- GNUTLS_CRT_X509, host,
- proto, port, 0, vflags, &status);
+ ret = dane_verify_crt(s, certs, clist_size,
+ GNUTLS_CRT_X509, host, proto,
+ port, 0, vflags, &status);
if (ret < 0) {
- fprintf(stderr,
- "dane_verify_crt: %s\n",
+ fprintf(stderr, "dane_verify_crt: %s\n",
dane_strerror(ret));
retcode = 1;
goto error;
@@ -443,7 +433,7 @@ static void dane_check(const char *host, const char *proto,
dane_query_deinit(q);
dane_state_deinit(s);
- error:
+error:
if (del != 0 && cinfo->cert) {
(void)remove(cinfo->cert);
}
@@ -456,9 +446,9 @@ static void dane_check(const char *host, const char *proto,
#endif
}
-static void dane_info(const char *host, const char *proto,
- const char *service, unsigned int ca,
- unsigned int domain, common_info_st * cinfo)
+static void dane_info(const char *host, const char *proto, const char *service,
+ unsigned int ca, unsigned int domain,
+ common_info_st *cinfo)
{
gnutls_pubkey_t pubkey;
gnutls_x509_crt_t crt;
@@ -474,12 +464,11 @@ static void dane_info(const char *host, const char *proto,
crt = load_cert(0, cinfo);
if (crt != NULL && HAVE_OPT(X509)) {
- selector = 0; /* X.509 */
+ selector = 0; /* X.509 */
size = lbuffer_size;
- ret =
- gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_DER,
- lbuffer, &size);
+ ret = gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_DER, lbuffer,
+ &size);
if (ret < 0) {
fprintf(stderr, "export error: %s\n",
gnutls_strerror(ret));
@@ -487,7 +476,7 @@ static void dane_info(const char *host, const char *proto,
}
gnutls_x509_crt_deinit(crt);
- } else { /* use public key only */
+ } else { /* use public key only */
selector = 1;
@@ -499,7 +488,6 @@ static void dane_info(const char *host, const char *proto,
}
if (crt != NULL) {
-
ret = gnutls_pubkey_import_x509(pubkey, crt, 0);
if (ret < 0) {
fprintf(stderr, "pubkey_import_x509: %s\n",
@@ -508,10 +496,8 @@ static void dane_info(const char *host, const char *proto,
}
size = lbuffer_size;
- ret =
- gnutls_pubkey_export(pubkey,
- GNUTLS_X509_FMT_DER,
- lbuffer, &size);
+ ret = gnutls_pubkey_export(pubkey, GNUTLS_X509_FMT_DER,
+ lbuffer, &size);
if (ret < 0) {
fprintf(stderr, "pubkey_export: %s\n",
gnutls_strerror(ret));
@@ -523,10 +509,8 @@ static void dane_info(const char *host, const char *proto,
pubkey = load_pubkey(1, cinfo);
size = lbuffer_size;
- ret =
- gnutls_pubkey_export(pubkey,
- GNUTLS_X509_FMT_DER,
- lbuffer, &size);
+ ret = gnutls_pubkey_export(pubkey, GNUTLS_X509_FMT_DER,
+ lbuffer, &size);
if (ret < 0) {
fprintf(stderr, "export error: %s\n",
gnutls_strerror(ret));
@@ -537,8 +521,8 @@ static void dane_info(const char *host, const char *proto,
gnutls_pubkey_deinit(pubkey);
}
- if (default_dig != GNUTLS_DIG_SHA256
- && default_dig != GNUTLS_DIG_SHA512) {
+ if (default_dig != GNUTLS_DIG_SHA256 &&
+ default_dig != GNUTLS_DIG_SHA512) {
if (default_dig != GNUTLS_DIG_UNKNOWN)
fprintf(stderr,
"Unsupported digest. Assuming SHA256.\n");
@@ -579,9 +563,8 @@ static void dane_info(const char *host, const char *proto,
app_exit(1);
}
- fprintf(outfile, "_%u._%s.%s. IN TLSA ( %.2x %.2x %.2x %s )\n",
- port, proto, host, usage, selector, type, lbuffer);
-
+ fprintf(outfile, "_%u._%s.%s. IN TLSA ( %.2x %.2x %.2x %s )\n", port,
+ proto, host, usage, selector, type, lbuffer);
}
struct priv_st {
@@ -608,9 +591,8 @@ static int cert_callback(gnutls_session_t session)
priv = gnutls_session_get_ptr(session);
for (i = 0; i < cert_list_size; i++) {
- ret =
- gnutls_pem_base64_encode_alloc("CERTIFICATE", &cert_list[i],
- &t);
+ ret = gnutls_pem_base64_encode_alloc("CERTIFICATE",
+ &cert_list[i], &t);
if (ret < 0) {
fprintf(stderr, "error[%d]: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -638,8 +620,8 @@ gnutls_session_t init_tls_session(const char *hostname)
priv.found = 0;
priv.fd = file_fd;
- ret =
- gnutls_init(&session, (udp ? GNUTLS_DATAGRAM : 0) | GNUTLS_CLIENT);
+ ret = gnutls_init(&session,
+ (udp ? GNUTLS_DATAGRAM : 0) | GNUTLS_CLIENT);
if (ret < 0) {
fprintf(stderr, "error[%d]: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -663,14 +645,14 @@ gnutls_session_t init_tls_session(const char *hostname)
return session;
}
-int do_handshake(socket_st * socket)
+int do_handshake(socket_st *socket)
{
int ret;
do {
ret = gnutls_handshake(socket->session);
- } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_WARNING_ALERT_RECEIVED);
+ } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_WARNING_ALERT_RECEIVED);
/* we don't care on the result */
return 0;
diff --git a/src/inline_cmds.h b/src/inline_cmds.h
index 70d02d9499..f9c4e89f8d 100755..100644
--- a/src/inline_cmds.h
+++ b/src/inline_cmds.h
@@ -18,7 +18,7 @@
*/
#ifndef GNUTLS_SRC_INLINE_CMDS_H
-# define GNUTLS_SRC_INLINE_CMDS_H
+#define GNUTLS_SRC_INLINE_CMDS_H
/*
* The inline commands is a facility that can be used optionally
@@ -41,18 +41,19 @@
* For ex: if --inline-commands-prefix=@, the inline commands will be
* @resume@, @renegotiate@, etc...
*/
-typedef enum INLINE_COMMAND { INLINE_COMMAND_NONE,
+typedef enum INLINE_COMMAND {
+ INLINE_COMMAND_NONE,
INLINE_COMMAND_RESUME,
INLINE_COMMAND_RENEGOTIATE,
INLINE_COMMAND_REKEY_LOCAL,
INLINE_COMMAND_REKEY_BOTH
} inline_command_t;
-# define MAX_INLINE_COMMAND_BYTES 20
+#define MAX_INLINE_COMMAND_BYTES 20
typedef struct inline_cmds {
- char *current_ptr; /* points to the start of the current buffer being processed */
- char *new_buffer_ptr; /* points to start or offset within the caller's buffer,
+ char *current_ptr; /* points to the start of the current buffer being processed */
+ char *new_buffer_ptr; /* points to start or offset within the caller's buffer,
* and refers to bytes yet to be processed. */
inline_command_t cmd_found;
int lf_found;
@@ -68,12 +69,14 @@ struct inline_command_definitions {
/* All inline commands will contain a trailing LF */
struct inline_command_definitions inline_commands_def[] = {
- {INLINE_COMMAND_RESUME, "^resume^\n"},
- {INLINE_COMMAND_REKEY_LOCAL, "^rekey1^\n"},
- {INLINE_COMMAND_REKEY_BOTH, "^rekey^\n"},
- {INLINE_COMMAND_RENEGOTIATE, "^renegotiate^\n"},
+ { INLINE_COMMAND_RESUME, "^resume^\n" },
+ { INLINE_COMMAND_REKEY_LOCAL, "^rekey1^\n" },
+ { INLINE_COMMAND_REKEY_BOTH, "^rekey^\n" },
+ { INLINE_COMMAND_RENEGOTIATE, "^renegotiate^\n" },
};
-# define NUM_INLINE_COMMANDS ((unsigned)(sizeof(inline_commands_def)/sizeof(inline_commands_def[0])))
+#define NUM_INLINE_COMMANDS \
+ ((unsigned)(sizeof(inline_commands_def) / \
+ sizeof(inline_commands_def[0])))
-#endif /* GNUTLS_SRC_INLINE_CMDS_H */
+#endif /* GNUTLS_SRC_INLINE_CMDS_H */
diff --git a/src/ocsptool-common.c b/src/ocsptool-common.c
index 00ea8b6b53..17e10253d7 100644
--- a/src/ocsptool-common.c
+++ b/src/ocsptool-common.c
@@ -37,13 +37,14 @@
#include <ocsptool-common.h>
-#define MAX_BUF 4*1024
-#define HEADER_PATTERN "POST /%s HTTP/1.0\r\n" \
- "Host: %s\r\n" \
- "Accept: */*\r\n" \
- "Content-Type: application/ocsp-request\r\n" \
- "Content-Length: %u\r\n" \
- "Connection: close\r\n\r\n"
+#define MAX_BUF 4 * 1024
+#define HEADER_PATTERN \
+ "POST /%s HTTP/1.0\r\n" \
+ "Host: %s\r\n" \
+ "Accept: */*\r\n" \
+ "Content-Type: application/ocsp-request\r\n" \
+ "Content-Length: %u\r\n" \
+ "Connection: close\r\n\r\n"
static char buffer[MAX_BUF + 1];
/* returns the host part of a URL */
@@ -76,9 +77,8 @@ static const char *host_from_url(const char *url, unsigned int *port,
}
}
-void
-_generate_request(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- gnutls_datum_t * rdata, gnutls_datum_t * nonce)
+void _generate_request(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ gnutls_datum_t *rdata, gnutls_datum_t *nonce)
{
gnutls_ocsp_req_t req;
int ret;
@@ -133,9 +133,9 @@ static size_t get_data(void *buf, size_t size, size_t nmemb, void *userp)
}
/* Returns 0 on ok, and -1 on error */
-int send_ocsp_request(const char *server,
- gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- gnutls_datum_t * resp_data, gnutls_datum_t * nonce)
+int send_ocsp_request(const char *server, gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t issuer, gnutls_datum_t *resp_data,
+ gnutls_datum_t *nonce)
{
gnutls_datum_t ud;
int ret;
@@ -158,20 +158,16 @@ int send_ocsp_request(const char *server,
i = 0;
do {
- ret =
- gnutls_x509_crt_get_authority_info_access(cert, i++,
- GNUTLS_IA_OCSP_URI,
- &data,
- NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ cert, i++, GNUTLS_IA_OCSP_URI, &data, NULL);
} while (ret == GNUTLS_E_UNKNOWN_ALGORITHM);
if (ret < 0) {
i = 0;
do {
- ret =
- gnutls_x509_crt_get_authority_info_access
- (issuer, i++, GNUTLS_IA_OCSP_URI, &data,
- NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ issuer, i++, GNUTLS_IA_OCSP_URI, &data,
+ NULL);
} while (ret == GNUTLS_E_UNKNOWN_ALGORITHM);
}
@@ -249,7 +245,7 @@ int send_ocsp_request(const char *server,
ret = 0;
- cleanup:
+cleanup:
free(ud.data);
if (url != server)
free(url);
@@ -320,17 +316,16 @@ void print_ocsp_verify_res(unsigned int output)
}
/* three days */
-#define OCSP_VALIDITY_SECS (3*60*60*24)
+#define OCSP_VALIDITY_SECS (3 * 60 * 60 * 24)
/* Returns:
* 0: certificate is revoked
* 1: certificate is ok
* -1: dunno
*/
-int
-check_ocsp_response(gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer, gnutls_datum_t * data,
- gnutls_datum_t * nonce, int verbose)
+int check_ocsp_response(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ gnutls_datum_t *data, gnutls_datum_t *nonce,
+ int verbose)
{
gnutls_ocsp_resp_t resp;
int ret;
@@ -356,11 +351,9 @@ check_ocsp_response(gnutls_x509_crt_t cert,
ret = gnutls_ocsp_resp_check_crt(resp, 0, cert);
if (ret < 0) {
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- printf
- ("*** Got OCSP response with no data (ignoring)\n");
+ printf("*** Got OCSP response with no data (ignoring)\n");
} else {
- printf
- ("*** Got OCSP response on an unrelated certificate (ignoring)\n");
+ printf("*** Got OCSP response on an unrelated certificate (ignoring)\n");
}
ret = -1;
goto cleanup;
@@ -386,8 +379,8 @@ check_ocsp_response(gnutls_x509_crt_t cert,
}
ret = gnutls_ocsp_resp_get_single(resp, 0, NULL, NULL, NULL, NULL,
- &cert_status, &vtime, &ntime,
- &rtime, NULL);
+ &cert_status, &vtime, &ntime, &rtime,
+ NULL);
if (ret < 0) {
fprintf(stderr, "reading response: %s\n", gnutls_strerror(ret));
exit(1);
@@ -402,19 +395,17 @@ check_ocsp_response(gnutls_x509_crt_t cert,
if (ntime == -1) {
if (now - vtime > OCSP_VALIDITY_SECS) {
- printf
- ("*** The OCSP response is old (was issued at: %s) ignoring\n",
- simple_ctime(&vtime, timebuf1));
+ printf("*** The OCSP response is old (was issued at: %s) ignoring\n",
+ simple_ctime(&vtime, timebuf1));
ret = -1;
goto cleanup;
}
} else {
/* there is a newer OCSP answer, don't trust this one */
if (ntime < now) {
- printf
- ("*** The OCSP response was issued at: %s but there is a newer issue at %s\n",
- simple_ctime(&vtime, timebuf1),
- simple_ctime(&ntime, timebuf2));
+ printf("*** The OCSP response was issued at: %s but there is a newer issue at %s\n",
+ simple_ctime(&vtime, timebuf1),
+ simple_ctime(&ntime, timebuf2));
ret = -1;
goto cleanup;
}
@@ -437,8 +428,8 @@ check_ocsp_response(gnutls_x509_crt_t cert,
exit(1);
}
- if (rnonce.size != nonce->size
- || memcmp(nonce->data, rnonce.data, nonce->size) != 0) {
+ if (rnonce.size != nonce->size ||
+ memcmp(nonce->data, rnonce.data, nonce->size) != 0) {
fprintf(stderr,
"nonce in the response doesn't match\n");
exit(1);
@@ -447,11 +438,11 @@ check_ocsp_response(gnutls_x509_crt_t cert,
gnutls_free(rnonce.data);
}
- finish_ok:
+finish_ok:
printf("- OCSP server flags certificate not revoked as of %s\n",
simple_ctime(&vtime, timebuf1));
ret = 1;
- cleanup:
+cleanup:
gnutls_ocsp_resp_deinit(resp);
return ret;
diff --git a/src/ocsptool-common.h b/src/ocsptool-common.h
index 8110217408..9d87a53ed1 100644
--- a/src/ocsptool-common.h
+++ b/src/ocsptool-common.h
@@ -19,9 +19,9 @@
*/
#ifndef GNUTLS_SRC_OCSPTOOL_COMMON_H
-# define GNUTLS_SRC_OCSPTOOL_COMMON_H
+#define GNUTLS_SRC_OCSPTOOL_COMMON_H
-# include <gnutls/ocsp.h>
+#include <gnutls/ocsp.h>
enum {
ACTION_NONE,
@@ -32,16 +32,15 @@ enum {
};
extern void ocsptool_version(void);
-void
-_generate_request(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- gnutls_datum_t * rdata, gnutls_datum_t * nonce);
-int send_ocsp_request(const char *server,
- gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- gnutls_datum_t * resp_data, gnutls_datum_t * nonce);
+void _generate_request(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ gnutls_datum_t *rdata, gnutls_datum_t *nonce);
+int send_ocsp_request(const char *server, gnutls_x509_crt_t cert,
+ gnutls_x509_crt_t issuer, gnutls_datum_t *resp_data,
+ gnutls_datum_t *nonce);
void print_ocsp_verify_res(unsigned int output);
-int
-check_ocsp_response(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- gnutls_datum_t * data, gnutls_datum_t * nonce, int verbose);
+int check_ocsp_response(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ gnutls_datum_t *data, gnutls_datum_t *nonce,
+ int verbose);
-#endif /* GNUTLS_SRC_OCSPTOOL_COMMON_H */
+#endif /* GNUTLS_SRC_OCSPTOOL_COMMON_H */
diff --git a/src/ocsptool.c b/src/ocsptool.c
index 86df3331a7..7ce8a5391d 100644
--- a/src/ocsptool.c
+++ b/src/ocsptool.c
@@ -31,7 +31,7 @@
#include <gnutls/x509.h>
#include <gnutls/crypto.h>
-#include <unistd.h> /* getpass */
+#include <unistd.h> /* getpass */
/* Gnulib portability files. */
#include <read-file.h>
@@ -44,7 +44,7 @@
FILE *outfile;
static unsigned int incert_format, outcert_format;
-static const char *outfile_name = NULL; /* to delete on exit */
+static const char *outfile_name = NULL; /* to delete on exit */
FILE *infile;
static unsigned int encoding;
unsigned int verbose = 0;
@@ -79,7 +79,7 @@ gnutls_session_t init_tls_session(const char *host)
return NULL;
}
-int do_handshake(socket_st * socket)
+int do_handshake(socket_st *socket)
{
return -1;
}
@@ -98,8 +98,8 @@ static void request_info(void)
}
if (HAVE_OPT(LOAD_REQUEST))
- dat.data =
- (void *)read_file(OPT_ARG(LOAD_REQUEST), RF_BINARY, &size);
+ dat.data = (void *)read_file(OPT_ARG(LOAD_REQUEST), RF_BINARY,
+ &size);
else
dat.data = (void *)fread_file(infile, 0, &size);
if (dat.data == NULL) {
@@ -148,7 +148,7 @@ static void request_info(void)
gnutls_ocsp_req_deinit(req);
}
-static void _response_info(const gnutls_datum_t * data, unsigned force_print)
+static void _response_info(const gnutls_datum_t *data, unsigned force_print)
{
gnutls_ocsp_resp_t resp;
int ret;
@@ -178,12 +178,11 @@ static void _response_info(const gnutls_datum_t * data, unsigned force_print)
}
if (ENABLED_OPT(VERBOSE))
- ret =
- gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_FULL, &buf);
+ ret = gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_FULL,
+ &buf);
else
- ret =
- gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_COMPACT,
- &buf);
+ ret = gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_COMPACT,
+ &buf);
if (ret != 0) {
fprintf(stderr, "ocsp_resp_print: %s\n", gnutls_strerror(ret));
app_exit(1);
@@ -208,8 +207,8 @@ static void _response_info(const gnutls_datum_t * data, unsigned force_print)
}
if (force_print || !HAVE_OPT(OUTFILE)) {
- ret =
- gnutls_ocsp_resp_export2(resp, &rbuf, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_ocsp_resp_export2(resp, &rbuf,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "error exporting response: %s\n",
gnutls_strerror(ret));
@@ -231,8 +230,8 @@ static void response_info(void)
size_t size;
if (HAVE_OPT(LOAD_RESPONSE))
- dat.data =
- (void *)read_file(OPT_ARG(LOAD_RESPONSE), RF_BINARY, &size);
+ dat.data = (void *)read_file(OPT_ARG(LOAD_RESPONSE), RF_BINARY,
+ &size);
else
dat.data = (void *)fread_file(infile, 0, &size);
if (dat.data == NULL) {
@@ -246,7 +245,7 @@ static void response_info(void)
gnutls_free(dat.data);
}
-static void generate_request(gnutls_datum_t * nonce)
+static void generate_request(gnutls_datum_t *nonce)
{
gnutls_datum_t dat;
gnutls_x509_crt_t cert, issuer;
@@ -281,7 +280,7 @@ static void generate_request(gnutls_datum_t * nonce)
gnutls_free(dat.data);
}
-static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
+static int _verify_response(gnutls_datum_t *data, gnutls_datum_t *nonce,
gnutls_x509_crt_t signer, unsigned print_resp)
{
gnutls_ocsp_resp_t resp;
@@ -307,9 +306,8 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
}
if (print_resp) {
- ret =
- gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_COMPACT,
- &dat);
+ ret = gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_COMPACT,
+ &dat);
if (ret < 0) {
fprintf(stderr, "ocsp_resp_print: %s\n",
gnutls_strerror(ret));
@@ -330,8 +328,8 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
app_exit(1);
}
- if (rnonce.size != nonce->size
- || memcmp(nonce->data, rnonce.data, nonce->size) != 0) {
+ if (rnonce.size != nonce->size ||
+ memcmp(nonce->data, rnonce.data, nonce->size) != 0) {
fprintf(stderr,
"nonce in the response doesn't match\n");
app_exit(1);
@@ -341,8 +339,8 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
}
if (HAVE_OPT(LOAD_TRUST)) {
- dat.data =
- (void *)read_file(OPT_ARG(LOAD_TRUST), RF_BINARY, &size);
+ dat.data = (void *)read_file(OPT_ARG(LOAD_TRUST), RF_BINARY,
+ &size);
if (dat.data == NULL) {
fprintf(stderr, "error reading --load-trust: %s\n",
OPT_ARG(LOAD_TRUST));
@@ -357,9 +355,9 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
app_exit(1);
}
- ret =
- gnutls_x509_crt_list_import2(&x509_ca_list, &x509_ncas,
- &dat, GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&x509_ca_list, &x509_ncas,
+ &dat, GNUTLS_X509_FMT_PEM,
+ 0);
if (ret < 0 || x509_ncas < 1) {
fprintf(stderr, "error parsing CAs: %s\n",
gnutls_strerror(ret));
@@ -372,10 +370,9 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
for (i = 0; i < x509_ncas; i++) {
gnutls_datum_t out;
- ret =
- gnutls_x509_crt_print(x509_ca_list[i],
- GNUTLS_CRT_PRINT_ONELINE,
- &out);
+ ret = gnutls_x509_crt_print(
+ x509_ca_list[i],
+ GNUTLS_CRT_PRINT_ONELINE, &out);
if (ret < 0) {
fprintf(stderr,
"gnutls_x509_crt_print: %s\n",
@@ -389,9 +386,8 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
printf("\n");
}
- ret =
- gnutls_x509_trust_list_add_cas(list, x509_ca_list,
- x509_ncas, 0);
+ ret = gnutls_x509_trust_list_add_cas(list, x509_ca_list,
+ x509_ncas, 0);
if (ret < 0) {
fprintf(stderr, "gnutls_x509_trust_add_cas: %s\n",
gnutls_strerror(ret));
@@ -411,13 +407,10 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
if (HAVE_OPT(VERBOSE)) {
gnutls_datum_t out;
- ret =
- gnutls_x509_crt_print(signer,
- GNUTLS_CRT_PRINT_ONELINE,
- &out);
+ ret = gnutls_x509_crt_print(
+ signer, GNUTLS_CRT_PRINT_ONELINE, &out);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_print: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_print: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
@@ -427,12 +420,10 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
printf("\n");
}
- ret =
- gnutls_ocsp_resp_verify_direct(resp, signer, &verify,
- vflags);
+ ret = gnutls_ocsp_resp_verify_direct(resp, signer, &verify,
+ vflags);
if (ret < 0) {
- fprintf(stderr,
- "\nVerifying OCSP Response: %s\n",
+ fprintf(stderr, "\nVerifying OCSP Response: %s\n",
gnutls_strerror(ret));
app_exit(1);
}
@@ -452,8 +443,7 @@ static int _verify_response(gnutls_datum_t * data, gnutls_datum_t * nonce,
#define MAX_CHAIN_SIZE 8
-static
-unsigned load_chain(gnutls_x509_crt_t chain[MAX_CHAIN_SIZE])
+static unsigned load_chain(gnutls_x509_crt_t chain[MAX_CHAIN_SIZE])
{
if (HAVE_OPT(LOAD_CHAIN)) {
common_info_st info;
@@ -503,7 +493,7 @@ unsigned load_chain(gnutls_x509_crt_t chain[MAX_CHAIN_SIZE])
}
}
-static void verify_response(gnutls_datum_t * nonce)
+static void verify_response(gnutls_datum_t *nonce)
{
gnutls_datum_t dat;
size_t size;
@@ -514,8 +504,8 @@ static void verify_response(gnutls_datum_t * nonce)
unsigned chain_size = 0, i;
if (HAVE_OPT(LOAD_RESPONSE))
- dat.data =
- (void *)read_file(OPT_ARG(LOAD_RESPONSE), RF_BINARY, &size);
+ dat.data = (void *)read_file(OPT_ARG(LOAD_RESPONSE), RF_BINARY,
+ &size);
else
dat.data = (void *)fread_file(infile, 0, &size);
if (dat.data == NULL) {
@@ -590,9 +580,8 @@ static void ask_server(const char *url)
counter = chain_size;
while (counter > 1) {
if (ENABLED_OPT(NONCE)) {
- ret =
- gnutls_rnd(GNUTLS_RND_NONCE, nonce.data,
- nonce.size);
+ ret = gnutls_rnd(GNUTLS_RND_NONCE, nonce.data,
+ nonce.size);
if (ret < 0) {
fprintf(stderr, "gnutls_rnd: %s\n",
gnutls_strerror(ret));
@@ -603,9 +592,8 @@ static void ask_server(const char *url)
n = NULL;
}
- ret =
- send_ocsp_request(url, chain[idx], chain[idx + 1],
- &resp_data, n);
+ ret = send_ocsp_request(url, chain[idx], chain[idx + 1],
+ &resp_data, n);
if (ret < 0) {
fprintf(stderr, "Cannot send OCSP request\n");
app_exit(1);
diff --git a/src/p11tool.c b/src/p11tool.c
index d91926b79e..a88aab58a2 100644
--- a/src/p11tool.c
+++ b/src/p11tool.c
@@ -76,8 +76,7 @@ int main(int argc, char **argv)
return 0;
}
-static
-unsigned opt_to_flags(common_info_st * cinfo, unsigned *key_usage)
+static unsigned opt_to_flags(common_info_st *cinfo, unsigned *key_usage)
{
unsigned flags = 0;
@@ -89,7 +88,7 @@ unsigned opt_to_flags(common_info_st * cinfo, unsigned *key_usage)
} else {
flags |= GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE;
}
- } else { /* if not given mark as private the private objects, and public the public ones */
+ } else { /* if not given mark as private the private objects, and public the public ones */
if (cinfo->privkey)
flags |= GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE;
else if (cinfo->pubkey || cinfo->cert)
@@ -174,9 +173,8 @@ static void cmd_parser(int argc, char **argv)
fprintf(stderr, "pkcs11_init: %s\n",
gnutls_strerror(ret));
else {
- ret =
- gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER),
- params);
+ ret = gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER),
+ params);
if (ret < 0) {
fprintf(stderr, "pkcs11_add_provider: %s\n",
gnutls_strerror(ret));
@@ -292,35 +290,35 @@ static void cmd_parser(int argc, char **argv)
&cinfo);
} else if (HAVE_OPT(INFO)) {
pkcs11_type = PKCS11_TYPE_INFO;
- pkcs11_list(outfile, url, pkcs11_type,
- flags, detailed_url, &cinfo);
+ pkcs11_list(outfile, url, pkcs11_type, flags, detailed_url,
+ &cinfo);
} else if (HAVE_OPT(LIST_ALL)) {
pkcs11_type = PKCS11_TYPE_ALL;
- pkcs11_list(outfile, url, pkcs11_type,
- flags, detailed_url, &cinfo);
+ pkcs11_list(outfile, url, pkcs11_type, flags, detailed_url,
+ &cinfo);
} else if (HAVE_OPT(LIST_ALL_CERTS)) {
pkcs11_type = PKCS11_TYPE_CRT_ALL;
- pkcs11_list(outfile, url, pkcs11_type,
- flags, detailed_url, &cinfo);
+ pkcs11_list(outfile, url, pkcs11_type, flags, detailed_url,
+ &cinfo);
} else if (HAVE_OPT(LIST_CERTS)) {
pkcs11_type = PKCS11_TYPE_PK;
- pkcs11_list(outfile, url, pkcs11_type,
- flags, detailed_url, &cinfo);
+ pkcs11_list(outfile, url, pkcs11_type, flags, detailed_url,
+ &cinfo);
} else if (HAVE_OPT(LIST_ALL_PRIVKEYS)) {
pkcs11_type = PKCS11_TYPE_PRIVKEY;
- pkcs11_list(outfile, url, pkcs11_type,
- flags, detailed_url, &cinfo);
+ pkcs11_list(outfile, url, pkcs11_type, flags, detailed_url,
+ &cinfo);
} else if (HAVE_OPT(LIST_ALL_TRUSTED)) {
pkcs11_type = PKCS11_TYPE_TRUSTED;
- pkcs11_list(outfile, url, pkcs11_type,
- flags, detailed_url, &cinfo);
+ pkcs11_list(outfile, url, pkcs11_type, flags, detailed_url,
+ &cinfo);
} else if (HAVE_OPT(EXPORT)) {
pkcs11_export(outfile, url, flags, &cinfo);
} else if (HAVE_OPT(EXPORT_STAPLED)) {
- pkcs11_export(outfile, url,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT,
- &cinfo);
+ pkcs11_export(
+ outfile, url,
+ flags | GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT,
+ &cinfo);
} else if (HAVE_OPT(EXPORT_CHAIN)) {
pkcs11_export_chain(outfile, url, flags, &cinfo);
} else if (HAVE_OPT(WRITE)) {
@@ -340,23 +338,23 @@ static void cmd_parser(int argc, char **argv)
if (key_type == GNUTLS_PK_UNKNOWN)
app_exit(1);
pkcs11_generate(outfile, url, key_type,
- get_bits(key_type, bits, sec_param, 0),
- label, id, detailed_url, flags, &cinfo);
+ get_bits(key_type, bits, sec_param, 0), label,
+ id, detailed_url, flags, &cinfo);
} else if (HAVE_OPT(GENERATE_ECC)) {
key_type = GNUTLS_PK_EC;
pkcs11_generate(outfile, url, key_type,
- get_bits(key_type, bits, sec_param, 0),
- label, id, detailed_url, flags, &cinfo);
+ get_bits(key_type, bits, sec_param, 0), label,
+ id, detailed_url, flags, &cinfo);
} else if (HAVE_OPT(GENERATE_RSA)) {
key_type = GNUTLS_PK_RSA;
pkcs11_generate(outfile, url, key_type,
- get_bits(key_type, bits, sec_param, 0),
- label, id, detailed_url, flags, &cinfo);
+ get_bits(key_type, bits, sec_param, 0), label,
+ id, detailed_url, flags, &cinfo);
} else if (HAVE_OPT(GENERATE_DSA)) {
key_type = GNUTLS_PK_DSA;
pkcs11_generate(outfile, url, key_type,
- get_bits(key_type, bits, sec_param, 0),
- label, id, detailed_url, flags, &cinfo);
+ get_bits(key_type, bits, sec_param, 0), label,
+ id, detailed_url, flags, &cinfo);
} else if (HAVE_OPT(EXPORT_PUBKEY)) {
pkcs11_export_pubkey(outfile, url, detailed_url, flags, &cinfo);
} else if (HAVE_OPT(SET_ID)) {
diff --git a/src/p11tool.h b/src/p11tool.h
index 27f52fe7ea..1827e576cd 100644
--- a/src/p11tool.h
+++ b/src/p11tool.h
@@ -21,54 +21,51 @@
*/
#ifndef GNUTLS_SRC_P11TOOL_H
-# define GNUTLS_SRC_P11TOOL_H
+#define GNUTLS_SRC_P11TOOL_H
-# include "certtool-common.h"
+#include "certtool-common.h"
-void pkcs11_list(FILE * outfile, const char *url, int type,
- unsigned int flags, unsigned int detailed, common_info_st *);
-void pkcs11_mechanism_list(FILE * outfile, const char *url,
- unsigned int flags, common_info_st *);
-void pkcs11_get_random(FILE * outfile, const char *url,
- unsigned bytes, common_info_st *);
-void pkcs11_export(FILE * outfile, const char *pkcs11_url,
- unsigned int flags, common_info_st *);
-void
-pkcs11_export_chain(FILE * outfile, const char *url, unsigned int flags,
- common_info_st * info);
+void pkcs11_list(FILE *outfile, const char *url, int type, unsigned int flags,
+ unsigned int detailed, common_info_st *);
+void pkcs11_mechanism_list(FILE *outfile, const char *url, unsigned int flags,
+ common_info_st *);
+void pkcs11_get_random(FILE *outfile, const char *url, unsigned bytes,
+ common_info_st *);
+void pkcs11_export(FILE *outfile, const char *pkcs11_url, unsigned int flags,
+ common_info_st *);
+void pkcs11_export_chain(FILE *outfile, const char *url, unsigned int flags,
+ common_info_st *info);
-void pkcs11_token_list(FILE * outfile, unsigned int detailed,
- common_info_st *, unsigned brief);
-void pkcs11_test_sign(FILE * outfile, const char *pkcs11_url,
- unsigned int flags, common_info_st *);
-void pkcs11_write(FILE * outfile, const char *pkcs11_url,
- const char *label, const char *id,
- unsigned int flags, common_info_st *);
-void pkcs11_delete(FILE * outfile, const char *pkcs11_url,
- unsigned int flags, common_info_st *);
-void pkcs11_init(FILE * outfile, const char *pkcs11_url, const char *label,
+void pkcs11_token_list(FILE *outfile, unsigned int detailed, common_info_st *,
+ unsigned brief);
+void pkcs11_test_sign(FILE *outfile, const char *pkcs11_url, unsigned int flags,
+ common_info_st *);
+void pkcs11_write(FILE *outfile, const char *pkcs11_url, const char *label,
+ const char *id, unsigned int flags, common_info_st *);
+void pkcs11_delete(FILE *outfile, const char *pkcs11_url, unsigned int flags,
+ common_info_st *);
+void pkcs11_init(FILE *outfile, const char *pkcs11_url, const char *label,
common_info_st *);
-void pkcs11_set_token_pin(FILE * outfile, const char *pkcs11_url,
+void pkcs11_set_token_pin(FILE *outfile, const char *pkcs11_url,
common_info_st *, unsigned so);
-void pkcs11_generate(FILE * outfile, const char *url,
- gnutls_pk_algorithm_t type, unsigned int bits,
- const char *label, const char *id, int detailed,
- unsigned int flags, common_info_st * info);
-void pkcs11_export_pubkey(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info);
+void pkcs11_generate(FILE *outfile, const char *url, gnutls_pk_algorithm_t type,
+ unsigned int bits, const char *label, const char *id,
+ int detailed, unsigned int flags, common_info_st *info);
+void pkcs11_export_pubkey(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info);
-void pkcs11_set_id(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info, const char *id);
+void pkcs11_set_id(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info, const char *id);
-void pkcs11_set_label(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info,
+void pkcs11_set_label(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info,
const char *label);
-# define PKCS11_TYPE_CRT_ALL 1
-# define PKCS11_TYPE_TRUSTED 2
-# define PKCS11_TYPE_PK 3
-# define PKCS11_TYPE_ALL 4
-# define PKCS11_TYPE_PRIVKEY 5
-# define PKCS11_TYPE_INFO 6
+#define PKCS11_TYPE_CRT_ALL 1
+#define PKCS11_TYPE_TRUSTED 2
+#define PKCS11_TYPE_PK 3
+#define PKCS11_TYPE_ALL 4
+#define PKCS11_TYPE_PRIVKEY 5
+#define PKCS11_TYPE_INFO 6
-#endif /* GNUTLS_SRC_P11TOOL_H */
+#endif /* GNUTLS_SRC_P11TOOL_H */
diff --git a/src/pkcs11.c b/src/pkcs11.c
index 2016d56ec9..6b6ab8f08a 100644
--- a/src/pkcs11.c
+++ b/src/pkcs11.c
@@ -37,45 +37,49 @@
#include <p11-kit/pkcs11.h>
#ifdef _WIN32
-# define sleep(x) Sleep(x*1000)
+#define sleep(x) Sleep(x * 1000)
#endif
-static
-char *get_single_token_url(common_info_st * info);
+static char *get_single_token_url(common_info_st *info);
static char *_saved_url = NULL;
-#define FIX(url, out, det, info) \
- if (url == NULL) { \
- url = get_single_token_url(info); \
- if (url == NULL) { \
- fprintf(stderr, "warning: no token URL was provided for this operation; the available tokens are:\n\n"); \
- pkcs11_token_list(out, det, info, 1); \
- app_exit(1); \
- } \
- _saved_url = (void*)url; \
- }
-
-#define UNFIX gnutls_free(_saved_url);_saved_url = NULL
-
-#define KEEP_LOGIN_FLAGS(flags) (flags & (GNUTLS_PKCS11_OBJ_FLAG_LOGIN|GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO))
-
-#define CHECK_LOGIN_FLAG(url, flags) \
- if ((flags & KEEP_LOGIN_FLAGS(flags)) == 0) { \
- unsigned _tflags; \
- int _r = gnutls_pkcs11_token_get_flags(url, &_tflags); \
- if (_r >= 0 && (_tflags & GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED)) { \
- flags |= GNUTLS_PKCS11_OBJ_FLAG_LOGIN; \
- fprintf(stderr, \
- "note: assuming --login for this operation.\n"); \
- } else { \
- fprintf(stderr, \
+#define FIX(url, out, det, info) \
+ if (url == NULL) { \
+ url = get_single_token_url(info); \
+ if (url == NULL) { \
+ fprintf(stderr, \
+ "warning: no token URL was provided for this operation; the available tokens are:\n\n"); \
+ pkcs11_token_list(out, det, info, 1); \
+ app_exit(1); \
+ } \
+ _saved_url = (void *)url; \
+ }
+
+#define UNFIX \
+ gnutls_free(_saved_url); \
+ _saved_url = NULL
+
+#define KEEP_LOGIN_FLAGS(flags) \
+ (flags & \
+ (GNUTLS_PKCS11_OBJ_FLAG_LOGIN | GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO))
+
+#define CHECK_LOGIN_FLAG(url, flags) \
+ if ((flags & KEEP_LOGIN_FLAGS(flags)) == 0) { \
+ unsigned _tflags; \
+ int _r = gnutls_pkcs11_token_get_flags(url, &_tflags); \
+ if (_r >= 0 && \
+ (_tflags & GNUTLS_PKCS11_TOKEN_LOGIN_REQUIRED)) { \
+ flags |= GNUTLS_PKCS11_OBJ_FLAG_LOGIN; \
+ fprintf(stderr, \
+ "note: assuming --login for this operation.\n"); \
+ } else { \
+ fprintf(stderr, \
"warning: --login was not specified and it may be required for this operation.\n"); \
- } \
+ } \
}
-void
-pkcs11_delete(FILE * outfile, const char *url,
- unsigned int login_flags, common_info_st * info)
+void pkcs11_delete(FILE *outfile, const char *url, unsigned int login_flags,
+ common_info_st *info)
{
int ret;
unsigned int obj_flags = 0;
@@ -88,10 +92,9 @@ pkcs11_delete(FILE * outfile, const char *url,
if (info->batch == 0) {
pkcs11_list(outfile, url, PKCS11_TYPE_ALL, login_flags,
GNUTLS_PKCS11_URL_LIB, info);
- ret =
- read_yesno
- ("Are you sure you want to delete those objects? (y/N): ",
- 0);
+ ret = read_yesno(
+ "Are you sure you want to delete those objects? (y/N): ",
+ 0);
if (ret == 0) {
app_exit(1);
}
@@ -109,9 +112,9 @@ pkcs11_delete(FILE * outfile, const char *url,
return;
}
-static
-const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
- const char *objurl, unsigned flags, time_t * exp)
+static const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
+ const char *objurl, unsigned flags,
+ time_t *exp)
{
int ret;
gnutls_pubkey_t pubkey = NULL;
@@ -142,16 +145,13 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
p = gnutls_pk_get_name(pk);
if (p) {
- if ((pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA)
- && bits > 0) {
+ if ((pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA) &&
+ bits > 0) {
snprintf(str, sizeof(str), "%s-%d", p, bits);
p = str;
- } else if (pk == GNUTLS_PK_ECDSA
- && gnutls_x509_crt_get_pk_ecc_raw(crt,
- &curve,
- NULL,
- NULL) >=
- 0) {
+ } else if (pk == GNUTLS_PK_ECDSA &&
+ gnutls_x509_crt_get_pk_ecc_raw(
+ crt, &curve, NULL, NULL) >= 0) {
snprintf(str, sizeof(str), "%s-%s", p,
gnutls_ecc_curve_get_name(curve));
p = str;
@@ -178,14 +178,13 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
p = gnutls_pk_get_name(pk);
if (p) {
- if ((pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA)
- && bits > 0) {
+ if ((pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA) &&
+ bits > 0) {
snprintf(str, sizeof(str), "%s-%d", p, bits);
p = str;
- } else if (pk == GNUTLS_PK_ECDSA
- && gnutls_pubkey_export_ecc_raw(pubkey,
- &curve, NULL,
- NULL) >= 0) {
+ } else if (pk == GNUTLS_PK_ECDSA &&
+ gnutls_pubkey_export_ecc_raw(
+ pubkey, &curve, NULL, NULL) >= 0) {
snprintf(str, sizeof(str), "%s-%s", p,
gnutls_ecc_curve_get_name(curve));
p = str;
@@ -209,16 +208,14 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
p = gnutls_pk_get_name(pk);
if (p) {
- if ((pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA)
- && bits > 0) {
+ if ((pk == GNUTLS_PK_RSA || pk == GNUTLS_PK_DSA) &&
+ bits > 0) {
snprintf(str, sizeof(str), "%s-%d", p, bits);
p = str;
- } else if (pk == GNUTLS_PK_ECDSA
- && gnutls_privkey_export_ecc_raw(privkey,
- &curve,
- NULL, NULL,
- NULL) >=
- 0) {
+ } else if (pk == GNUTLS_PK_ECDSA &&
+ gnutls_privkey_export_ecc_raw(
+ privkey, &curve, NULL, NULL, NULL) >=
+ 0) {
snprintf(str, sizeof(str), "%s-%s", p,
gnutls_ecc_curve_get_name(curve));
p = str;
@@ -228,7 +225,7 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
gnutls_privkey_deinit(privkey);
return p;
default:
- fail:
+ fail:
if (crt)
gnutls_x509_crt_deinit(crt);
if (pubkey)
@@ -241,9 +238,8 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,
/* lists certificates from a token
*/
-void
-pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
- unsigned int detailed, common_info_st * info)
+void pkcs11_list(FILE *outfile, const char *url, int type, unsigned int flags,
+ unsigned int detailed, common_info_st *info)
{
gnutls_pkcs11_obj_t *crt_list;
unsigned int crt_list_size = 0, i, j;
@@ -277,15 +273,14 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
print_exts++;
} else if (type == PKCS11_TYPE_PRIVKEY) {
attrs = GNUTLS_PKCS11_OBJ_ATTR_PRIVKEY;
- } else { /* also PKCS11_TYPE_INFO */
+ } else { /* also PKCS11_TYPE_INFO */
attrs = GNUTLS_PKCS11_OBJ_ATTR_ALL;
}
/* give some initial value to avoid asking for the pkcs11 pin twice.
*/
- ret =
- gnutls_pkcs11_obj_list_import_url2(&crt_list, &crt_list_size,
- url, attrs, obj_flags);
+ ret = gnutls_pkcs11_obj_list_import_url2(&crt_list, &crt_list_size, url,
+ attrs, obj_flags);
if (ret < 0) {
fprintf(stderr, "Error in crt_list_import (1): %s\n",
gnutls_strerror(ret));
@@ -306,9 +301,8 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
char *objurl;
char timebuf[SIMPLE_CTIME_BUF_SIZE];
- ret =
- gnutls_pkcs11_obj_export_url(crt_list[i], detailed,
- &output);
+ ret = gnutls_pkcs11_obj_export_url(crt_list[i], detailed,
+ &output);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -326,8 +320,8 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
/* copy vendor query (e.g. pin-value) from the original URL */
vendor = strrchr(url, '?');
if (vendor) {
- objurl =
- gnutls_malloc(strlen(output) + strlen(vendor) + 1);
+ objurl = gnutls_malloc(strlen(output) + strlen(vendor) +
+ 1);
strcpy(objurl, output);
strcat(objurl, vendor);
} else {
@@ -359,10 +353,8 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
gnutls_free(objurl);
size = sizeof(buf);
- ret =
- gnutls_pkcs11_obj_get_info(crt_list[i],
- GNUTLS_PKCS11_OBJ_LABEL,
- buf, &size);
+ ret = gnutls_pkcs11_obj_get_info(
+ crt_list[i], GNUTLS_PKCS11_OBJ_LABEL, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -384,10 +376,8 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
}
size = sizeof(buf);
- ret =
- gnutls_pkcs11_obj_get_info(crt_list[i],
- GNUTLS_PKCS11_OBJ_ID_HEX,
- buf, &size);
+ ret = gnutls_pkcs11_obj_get_info(
+ crt_list[i], GNUTLS_PKCS11_OBJ_ID_HEX, buf, &size);
if (ret < 0) {
if (ret == GNUTLS_E_SHORT_MEMORY_BUFFER) {
fprintf(outfile, "\tID: (too long)\n");
@@ -402,19 +392,16 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
}
if (otype == GNUTLS_PKCS11_OBJ_X509_CRT && print_exts > 0) {
- ret =
- gnutls_pkcs11_obj_get_exts(crt_list[i], &exts,
- &exts_size, 0);
+ ret = gnutls_pkcs11_obj_get_exts(crt_list[i], &exts,
+ &exts_size, 0);
if (ret >= 0 && exts_size > 0) {
gnutls_datum_t txt;
if (print_exts > 1) {
fprintf(outfile,
"\tAttached extensions:\n");
- ret =
- gnutls_x509_ext_print(exts,
- exts_size, 0,
- &txt);
+ ret = gnutls_x509_ext_print(
+ exts, exts_size, 0, &txt);
if (ret >= 0) {
fprintf(outfile, "%s",
(char *)txt.data);
@@ -426,9 +413,9 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
for (j = 0; j < exts_size; j++) {
fprintf(outfile, "%s%s",
exts[j].oid,
- (j !=
- exts_size -
- 1) ? "," : " ");
+ (j != exts_size - 1) ?
+ "," :
+ " ");
}
}
for (j = 0; j < exts_size; j++) {
@@ -450,9 +437,8 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags,
#define TEST_DATA "Test data to sign"
-void
-pkcs11_test_sign(FILE * outfile, const char *url, unsigned int flags,
- common_info_st * info)
+void pkcs11_test_sign(FILE *outfile, const char *url, unsigned int flags,
+ common_info_st *info)
{
gnutls_privkey_t privkey;
gnutls_pubkey_t pubkey;
@@ -471,15 +457,15 @@ pkcs11_test_sign(FILE * outfile, const char *url, unsigned int flags,
ret = gnutls_privkey_init(&privkey);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
app_exit(1);
}
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
app_exit(1);
}
@@ -490,9 +476,8 @@ pkcs11_test_sign(FILE * outfile, const char *url, unsigned int flags,
app_exit(1);
}
- ret =
- gnutls_pubkey_import_privkey(pubkey, privkey,
- GNUTLS_KEY_DIGITAL_SIGNATURE, flags);
+ ret = gnutls_pubkey_import_privkey(pubkey, privkey,
+ GNUTLS_KEY_DIGITAL_SIGNATURE, flags);
if (ret < 0) {
fprintf(stderr, "Cannot import public key: %s\n",
gnutls_strerror(ret));
@@ -546,8 +531,8 @@ pkcs11_test_sign(FILE * outfile, const char *url, unsigned int flags,
gnutls_pubkey_deinit(pubkey);
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
app_exit(1);
}
@@ -577,9 +562,8 @@ pkcs11_test_sign(FILE * outfile, const char *url, unsigned int flags,
UNFIX;
}
-void
-pkcs11_export(FILE * outfile, const char *url, unsigned int flags,
- common_info_st * info)
+void pkcs11_export(FILE *outfile, const char *url, unsigned int flags,
+ common_info_st *info)
{
gnutls_pkcs11_obj_t obj;
gnutls_datum_t t;
@@ -606,8 +590,8 @@ pkcs11_export(FILE * outfile, const char *url, unsigned int flags,
ret = gnutls_pkcs11_obj_export3(obj, info->outcert_format, &t);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
app_exit(1);
}
@@ -623,9 +607,8 @@ pkcs11_export(FILE * outfile, const char *url, unsigned int flags,
return;
}
-void
-pkcs11_export_chain(FILE * outfile, const char *url, unsigned int flags,
- common_info_st * info)
+void pkcs11_export_chain(FILE *outfile, const char *url, unsigned int flags,
+ common_info_st *info)
{
gnutls_pkcs11_obj_t obj;
gnutls_x509_crt_t xcrt;
@@ -661,15 +644,15 @@ pkcs11_export_chain(FILE * outfile, const char *url, unsigned int flags,
ret = gnutls_x509_crt_import_pkcs11(xcrt, obj);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
app_exit(1);
}
ret = gnutls_pkcs11_obj_export3(obj, GNUTLS_X509_FMT_PEM, &t);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
app_exit(1);
}
fwrite(t.data, 1, t.size, outfile);
@@ -679,9 +662,8 @@ pkcs11_export_chain(FILE * outfile, const char *url, unsigned int flags,
gnutls_pkcs11_obj_deinit(obj);
do {
- ret =
- gnutls_pkcs11_get_raw_issuer(url, xcrt, &t,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pkcs11_get_raw_issuer(url, xcrt, &t,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
if (ret < 0) {
@@ -725,8 +707,7 @@ pkcs11_export_chain(FILE * outfile, const char *url, unsigned int flags,
/* If there is a single token only present, return its URL.
*/
-static
-char *get_single_token_url(common_info_st * info)
+static char *get_single_token_url(common_info_st *info)
{
int ret;
char *url = NULL, *t = NULL;
@@ -747,8 +728,7 @@ char *get_single_token_url(common_info_st * info)
return url;
}
-static
-void print_type(FILE * outfile, unsigned flags)
+static void print_type(FILE *outfile, unsigned flags)
{
unsigned print = 0;
@@ -858,9 +838,8 @@ void print_type(FILE * outfile, unsigned flags)
fputc('\n', outfile);
}
-void
-pkcs11_token_list(FILE * outfile, unsigned int detailed,
- common_info_st * info, unsigned brief)
+void pkcs11_token_list(FILE *outfile, unsigned int detailed,
+ common_info_st *info, unsigned brief)
{
int ret;
int i;
@@ -890,10 +869,8 @@ pkcs11_token_list(FILE * outfile, unsigned int detailed,
}
size = sizeof(buf);
- ret =
- gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_LABEL,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_LABEL, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -911,10 +888,8 @@ pkcs11_token_list(FILE * outfile, unsigned int detailed,
}
size = sizeof(buf);
- ret =
- gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_MANUFACTURER,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_MANUFACTURER, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -924,10 +899,8 @@ pkcs11_token_list(FILE * outfile, unsigned int detailed,
fprintf(outfile, "\tManufacturer: %s\n", buf);
size = sizeof(buf);
- ret =
- gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_MODEL,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_MODEL, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -937,10 +910,8 @@ pkcs11_token_list(FILE * outfile, unsigned int detailed,
fprintf(outfile, "\tModel: %s\n", buf);
size = sizeof(buf);
- ret =
- gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_SERIAL,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_SERIAL, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -950,24 +921,21 @@ pkcs11_token_list(FILE * outfile, unsigned int detailed,
fprintf(outfile, "\tSerial: %s\n", buf);
size = sizeof(buf);
- ret =
- gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_MODNAME,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_MODNAME, buf, &size);
if (ret >= 0) {
fprintf(outfile, "\tModule: %s\n", buf);
}
fprintf(outfile, "\n\n");
- cont:
+ cont:
gnutls_free(url);
-
}
return;
}
static void find_same_pubkey_with_id(const char *url, gnutls_x509_crt_t crt,
- gnutls_datum_t * cid, unsigned flags)
+ gnutls_datum_t *cid, unsigned flags)
{
gnutls_pkcs11_obj_t *obj_list;
unsigned int obj_list_size = 0, i;
@@ -1001,11 +969,9 @@ static void find_same_pubkey_with_id(const char *url, gnutls_x509_crt_t crt,
return;
}
- ret =
- gnutls_pkcs11_obj_list_import_url4(&obj_list, &obj_list_size,
- url,
- GNUTLS_PKCS11_OBJ_FLAG_PUBKEY |
- flags);
+ ret = gnutls_pkcs11_obj_list_import_url4(&obj_list, &obj_list_size, url,
+ GNUTLS_PKCS11_OBJ_FLAG_PUBKEY |
+ flags);
if (ret < 0) {
fprintf(stderr, "Error in obj_list_import (1): %s\n",
gnutls_strerror(ret));
@@ -1036,15 +1002,13 @@ static void find_same_pubkey_with_id(const char *url, gnutls_x509_crt_t crt,
goto cont;
}
- if (praw2.size == praw.size
- && memcmp(praw2.data, praw.data, praw.size) == 0) {
+ if (praw2.size == praw.size &&
+ memcmp(praw2.data, praw.data, praw.size) == 0) {
/* found - now extract the CKA_ID */
size = sizeof(buf);
- ret =
- gnutls_pkcs11_obj_get_info(obj_list[i],
- GNUTLS_PKCS11_OBJ_ID,
- buf, &size);
+ ret = gnutls_pkcs11_obj_get_info(
+ obj_list[i], GNUTLS_PKCS11_OBJ_ID, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n",
__func__, __LINE__,
@@ -1064,7 +1028,7 @@ static void find_same_pubkey_with_id(const char *url, gnutls_x509_crt_t crt,
return;
}
- cont:
+ cont:
gnutls_pkcs11_obj_deinit(obj_list[i]);
gnutls_free(purl);
}
@@ -1075,7 +1039,7 @@ static void find_same_pubkey_with_id(const char *url, gnutls_x509_crt_t crt,
}
static void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t crt,
- gnutls_datum_t * cid, unsigned flags)
+ gnutls_datum_t *cid, unsigned flags)
{
gnutls_pkcs11_obj_t *obj_list;
unsigned int obj_list_size = 0, i;
@@ -1110,11 +1074,9 @@ static void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t crt,
return;
}
- ret =
- gnutls_pkcs11_obj_list_import_url4(&obj_list, &obj_list_size,
- url,
- GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY |
- flags);
+ ret = gnutls_pkcs11_obj_list_import_url4(
+ &obj_list, &obj_list_size, url,
+ GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY | flags);
if (ret < 0) {
fprintf(stderr, "Error in obj_list_import (1): %s\n",
gnutls_strerror(ret));
@@ -1173,8 +1135,8 @@ static void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t crt,
goto cont;
}
- ret =
- gnutls_pubkey_export2(pubkey, GNUTLS_X509_FMT_DER, &praw2);
+ ret = gnutls_pubkey_export2(pubkey, GNUTLS_X509_FMT_DER,
+ &praw2);
if (ret < 0) {
fprintf(stderr,
"error: cannot export pubkey '%s': %s\n", purl,
@@ -1182,15 +1144,13 @@ static void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t crt,
goto cont;
}
- if (praw2.size == praw.size
- && memcmp(praw2.data, praw.data, praw.size) == 0) {
+ if (praw2.size == praw.size &&
+ memcmp(praw2.data, praw.data, praw.size) == 0) {
/* found - now extract the CKA_ID */
size = sizeof(buf);
- ret =
- gnutls_pkcs11_obj_get_info(obj_list[i],
- GNUTLS_PKCS11_OBJ_ID,
- buf, &size);
+ ret = gnutls_pkcs11_obj_get_info(
+ obj_list[i], GNUTLS_PKCS11_OBJ_ID, buf, &size);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n",
__func__, __LINE__,
@@ -1210,7 +1170,7 @@ static void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t crt,
return;
}
- cont:
+ cont:
if (privkey)
gnutls_privkey_deinit(privkey);
if (pubkey)
@@ -1223,9 +1183,8 @@ static void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t crt,
return;
}
-void
-pkcs11_write(FILE * outfile, const char *url, const char *label,
- const char *id, unsigned flags, common_info_st * info)
+void pkcs11_write(FILE *outfile, const char *url, const char *label,
+ const char *id, unsigned flags, common_info_st *info)
{
gnutls_x509_crt_t xcrt;
gnutls_x509_privkey_t xkey;
@@ -1243,9 +1202,8 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
CHECK_LOGIN_FLAG(url, flags);
if (label == NULL && info->batch == 0) {
- label =
- read_str
- ("warning: The object's label was not specified.\nLabel: ");
+ label = read_str(
+ "warning: The object's label was not specified.\nLabel: ");
}
if (id != NULL) {
@@ -1262,11 +1220,9 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
secret_key = load_secret_key(0, info);
if (secret_key != NULL) {
- ret =
- gnutls_pkcs11_copy_secret_key(url, secret_key, label,
- info->key_usage,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE);
+ ret = gnutls_pkcs11_copy_secret_key(
+ url, secret_key, label, info->key_usage,
+ flags | GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -1276,9 +1232,9 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
xcrt = load_cert(0, info);
if (xcrt != NULL) {
- if (cid.data == NULL
- && !(flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_CA)
- && !(flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED)) {
+ if (cid.data == NULL &&
+ !(flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_CA) &&
+ !(flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_DISTRUSTED)) {
gnutls_datum_t hex;
/* attempting to discover public keys matching this one,
* and if yes, re-use their ID. We don't do it for CAs (trusted/distrusted
@@ -1288,9 +1244,9 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
find_same_pubkey_with_id(url, xcrt, &cid, 0);
if (cid.data == NULL && KEEP_LOGIN_FLAGS(flags))
- find_same_pubkey_with_id(url, xcrt, &cid,
- KEEP_LOGIN_FLAGS
- (flags));
+ find_same_pubkey_with_id(
+ url, xcrt, &cid,
+ KEEP_LOGIN_FLAGS(flags));
if (cid.data) {
ret = gnutls_hex_encode2(&cid, &hex);
@@ -1305,10 +1261,10 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
hex.data);
gnutls_free(hex.data);
- } else { /* no luck, try to get a corresponding private key */
- find_same_privkey_with_id(url, xcrt, &cid,
- KEEP_LOGIN_FLAGS
- (flags));
+ } else { /* no luck, try to get a corresponding private key */
+ find_same_privkey_with_id(
+ url, xcrt, &cid,
+ KEEP_LOGIN_FLAGS(flags));
if (cid.data) {
ret = gnutls_hex_encode2(&cid, &hex);
if (ret < 0) {
@@ -1325,14 +1281,14 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
}
}
- ret =
- gnutls_pkcs11_copy_x509_crt2(url, xcrt, label, &cid, flags);
+ ret = gnutls_pkcs11_copy_x509_crt2(url, xcrt, label, &cid,
+ flags);
if (ret < 0) {
fprintf(stderr, "Error writing certificate: %s\n",
gnutls_strerror(ret));
- if (((flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_CA)
- || (flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED))
- && (flags & GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO) == 0)
+ if (((flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_CA) ||
+ (flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED)) &&
+ (flags & GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO) == 0)
fprintf(stderr,
"note: some tokens may require security officer login for this operation\n");
app_exit(1);
@@ -1344,13 +1300,9 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
xkey = load_x509_private_key(0, info);
if (xkey != NULL) {
- ret =
- gnutls_pkcs11_copy_x509_privkey2(url, xkey, label,
- &cid,
- key_usage |
- info->key_usage,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE);
+ ret = gnutls_pkcs11_copy_x509_privkey2(
+ url, xkey, label, &cid, key_usage | info->key_usage,
+ flags | GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -1361,9 +1313,8 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
xpubkey = load_pubkey(0, info);
if (xpubkey != NULL) {
- ret =
- gnutls_pkcs11_copy_pubkey(url, xpubkey, label,
- &cid, 0, flags);
+ ret = gnutls_pkcs11_copy_pubkey(url, xpubkey, label, &cid, 0,
+ flags);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__,
__LINE__, gnutls_strerror(ret));
@@ -1372,8 +1323,8 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
gnutls_pubkey_deinit(xpubkey);
}
- if (xkey == NULL && xcrt == NULL && secret_key == NULL
- && xpubkey == NULL) {
+ if (xkey == NULL && xcrt == NULL && secret_key == NULL &&
+ xpubkey == NULL) {
fprintf(stderr,
"You must use --load-privkey, --load-certificate, --load-pubkey or --secret-key to load the file to be copied\n");
app_exit(1);
@@ -1383,11 +1334,9 @@ pkcs11_write(FILE * outfile, const char *url, const char *label,
return;
}
-void
-pkcs11_generate(FILE * outfile, const char *url, gnutls_pk_algorithm_t pk,
- unsigned int bits,
- const char *label, const char *id, int detailed,
- unsigned int flags, common_info_st * info)
+void pkcs11_generate(FILE *outfile, const char *url, gnutls_pk_algorithm_t pk,
+ unsigned int bits, const char *label, const char *id,
+ int detailed, unsigned int flags, common_info_st *info)
{
int ret;
gnutls_datum_t pubkey;
@@ -1424,12 +1373,9 @@ pkcs11_generate(FILE * outfile, const char *url, gnutls_pk_algorithm_t pk,
fprintf(stderr, "Generating an %s key...\n", gnutls_pk_get_name(pk));
- ret =
- gnutls_pkcs11_privkey_generate3(url, pk, bits, label, &cid,
- GNUTLS_X509_FMT_PEM, &pubkey,
- info->key_usage,
- flags |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE);
+ ret = gnutls_pkcs11_privkey_generate3(
+ url, pk, bits, label, &cid, GNUTLS_X509_FMT_PEM, &pubkey,
+ info->key_usage, flags | GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
gnutls_strerror(ret));
@@ -1446,9 +1392,8 @@ pkcs11_generate(FILE * outfile, const char *url, gnutls_pk_algorithm_t pk,
return;
}
-void
-pkcs11_export_pubkey(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info)
+void pkcs11_export_pubkey(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info)
{
int ret;
gnutls_datum_t pubkey;
@@ -1480,10 +1425,8 @@ pkcs11_export_pubkey(FILE * outfile, const char *url, int detailed,
app_exit(1);
}
- ret =
- gnutls_pkcs11_privkey_export_pubkey(pkey,
- GNUTLS_X509_FMT_PEM, &pubkey,
- flags);
+ ret = gnutls_pkcs11_privkey_export_pubkey(pkey, GNUTLS_X509_FMT_PEM,
+ &pubkey, flags);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
gnutls_strerror(ret));
@@ -1498,9 +1441,8 @@ pkcs11_export_pubkey(FILE * outfile, const char *url, int detailed,
return;
}
-void
-pkcs11_init(FILE * outfile, const char *url, const char *label,
- common_info_st * info)
+void pkcs11_init(FILE *outfile, const char *url, const char *label,
+ common_info_st *info)
{
int ret;
char so_pin[MAX_PIN_LEN];
@@ -1547,9 +1489,8 @@ pkcs11_init(FILE * outfile, const char *url, const char *label,
return;
}
-void
-pkcs11_set_token_pin(FILE * outfile, const char *url, common_info_st * info,
- unsigned so)
+void pkcs11_set_token_pin(FILE *outfile, const char *url, common_info_st *info,
+ unsigned so)
{
int ret;
char newpin[MAX_PIN_LEN] = "";
@@ -1588,10 +1529,8 @@ pkcs11_set_token_pin(FILE * outfile, const char *url, common_info_st * info,
app_exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(url, NULL, newpin,
- (so !=
- 0) ? GNUTLS_PIN_SO : GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(
+ url, NULL, newpin, (so != 0) ? GNUTLS_PIN_SO : GNUTLS_PIN_USER);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
gnutls_strerror(ret));
@@ -1603,9 +1542,8 @@ pkcs11_set_token_pin(FILE * outfile, const char *url, common_info_st * info,
#include "mech-list.h"
-void
-pkcs11_mechanism_list(FILE * outfile, const char *url, unsigned int flags,
- common_info_st * info)
+void pkcs11_mechanism_list(FILE *outfile, const char *url, unsigned int flags,
+ common_info_st *info)
{
int ret;
int idx;
@@ -1630,8 +1568,9 @@ pkcs11_mechanism_list(FILE * outfile, const char *url, unsigned int flags,
fprintf(outfile, "[0x%.4lx] %s", mechanism, str);
- if (gnutls_pkcs11_token_check_mechanism
- (url, mechanism, &minfo, sizeof(minfo), 0) != 0) {
+ if (gnutls_pkcs11_token_check_mechanism(
+ url, mechanism, &minfo, sizeof(minfo), 0) !=
+ 0) {
if (minfo.ulMaxKeySize != 0)
fprintf(outfile,
" keysize range (%ld, %ld)",
@@ -1690,15 +1629,13 @@ pkcs11_mechanism_list(FILE * outfile, const char *url, unsigned int flags,
}
fprintf(outfile, "\n");
}
- }
- while (ret >= 0);
+ } while (ret >= 0);
return;
}
-void
-pkcs11_get_random(FILE * outfile, const char *url, unsigned bytes,
- common_info_st * info)
+void pkcs11_get_random(FILE *outfile, const char *url, unsigned bytes,
+ common_info_st *info)
{
int ret;
uint8_t *output;
@@ -1726,10 +1663,9 @@ pkcs11_get_random(FILE * outfile, const char *url, unsigned bytes,
return;
}
-static
-void pkcs11_set_val(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info,
- gnutls_pkcs11_obj_info_t val_type, const char *val)
+static void pkcs11_set_val(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info,
+ gnutls_pkcs11_obj_info_t val_type, const char *val)
{
int ret;
gnutls_pkcs11_obj_t obj;
@@ -1754,8 +1690,8 @@ void pkcs11_set_val(FILE * outfile, const char *url, int detailed,
app_exit(1);
}
- ret =
- gnutls_pkcs11_obj_set_info(obj, val_type, val, strlen(val), flags);
+ ret = gnutls_pkcs11_obj_set_info(obj, val_type, val, strlen(val),
+ flags);
if (ret < 0) {
fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
gnutls_strerror(ret));
@@ -1766,15 +1702,15 @@ void pkcs11_set_val(FILE * outfile, const char *url, int detailed,
return;
}
-void pkcs11_set_id(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info, const char *id)
+void pkcs11_set_id(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info, const char *id)
{
pkcs11_set_val(outfile, url, detailed, flags, info,
GNUTLS_PKCS11_OBJ_ID_HEX, id);
}
-void pkcs11_set_label(FILE * outfile, const char *url, int detailed,
- unsigned int flags, common_info_st * info,
+void pkcs11_set_label(FILE *outfile, const char *url, int detailed,
+ unsigned int flags, common_info_st *info,
const char *label)
{
pkcs11_set_val(outfile, url, detailed, flags, info,
diff --git a/src/psk.c b/src/psk.c
index dd96036869..48d274c00d 100644
--- a/src/psk.c
+++ b/src/psk.c
@@ -24,7 +24,7 @@
#ifndef ENABLE_PSK
-# include <stdio.h>
+#include <stdio.h>
int main(int argc, char **argv)
{
@@ -34,43 +34,42 @@ int main(int argc, char **argv)
#else
-# include <stdio.h>
-# include <string.h>
-# include <stdlib.h>
-# include <errno.h>
-# include <gnutls/gnutls.h>
-# include "psktool-options.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <gnutls/gnutls.h>
+#include "psktool-options.h"
-# include <gnutls/crypto.h> /* for random */
+#include <gnutls/crypto.h> /* for random */
-# include <stdbool.h>
-# include <sys/types.h>
-# include <sys/stat.h>
+#include <stdbool.h>
+#include <sys/types.h>
+#include <sys/stat.h>
-# ifndef _WIN32
-# include <pwd.h>
-# include <unistd.h>
-# else
-# include <windows.h>
-# endif
+#ifndef _WIN32
+#include <pwd.h>
+#include <unistd.h>
+#else
+#include <windows.h>
+#endif
/* Gnulib portability files. */
-# include <minmax.h>
-# include "close-stream.h"
-# include "getpass.h"
-# include "xsize.h"
+#include <minmax.h>
+#include "close-stream.h"
+#include "getpass.h"
+#include "xsize.h"
-static int write_key(const char *username,
- const unsigned char *key, size_t key_size,
- const char *passwd_file);
+static int write_key(const char *username, const unsigned char *key,
+ size_t key_size, const char *passwd_file);
-# define MAX_KEY_SIZE 512
+#define MAX_KEY_SIZE 512
int main(int argc, char **argv)
{
int ret;
-# ifndef _WIN32
+#ifndef _WIN32
struct passwd *pwd;
-# endif
+#endif
unsigned char key[MAX_KEY_SIZE];
size_t key_size;
const char *passwd, *username;
@@ -91,7 +90,7 @@ int main(int argc, char **argv)
passwd = OPT_ARG(PSKFILE);
if (!HAVE_OPT(USERNAME)) {
-# ifndef _WIN32
+#ifndef _WIN32
pwd = getpwuid(getuid());
if (pwd == NULL) {
@@ -100,10 +99,10 @@ int main(int argc, char **argv)
}
username = pwd->pw_name;
-# else
+#else
fprintf(stderr, "Please specify a user\n");
return -1;
-# endif
+#endif
} else
username = OPT_ARG(USERNAME);
@@ -158,8 +157,7 @@ static int filecopy(const char *src, const char *dst)
break;
fputs(line, fp);
- }
- while (1);
+ } while (1);
fclose(fp);
fclose(fp2);
@@ -167,9 +165,8 @@ static int filecopy(const char *src, const char *dst)
return 0;
}
-static int
-write_key(const char *username, const unsigned char *key, size_t key_size,
- const char *passwd_file)
+static int write_key(const char *username, const unsigned char *key,
+ size_t key_size, const char *passwd_file)
{
FILE *fp;
char line[5 * 1024];
@@ -288,10 +285,10 @@ write_key(const char *username, const unsigned char *key, size_t key_size,
fprintf(fp, "%s:%s\n", _username.data, _key.data);
}
- out:
+out:
if (close_stream(fp) == EOF) {
- fprintf(stderr, "Error writing %s: %s\n",
- passwd_file, strerror(errno));
+ fprintf(stderr, "Error writing %s: %s\n", passwd_file,
+ strerror(errno));
ret = -1;
}
@@ -304,4 +301,4 @@ write_key(const char *username, const unsigned char *key, size_t key_size,
return ret;
}
-#endif /* ENABLE_PSK */
+#endif /* ENABLE_PSK */
diff --git a/src/serv.c b/src/serv.c
index 5f59e36f57..cd6cf0a75c 100644
--- a/src/serv.c
+++ b/src/serv.c
@@ -111,16 +111,18 @@ static void tcp_server(const char *name, int port, int timeout);
#define GERR(ret) fprintf(stderr, "Error: %s\n", safe_strerror(ret))
-#define HTTP_END "</BODY></HTML>\n\n"
+#define HTTP_END "</BODY></HTML>\n\n"
-#define HTTP_UNIMPLEMENTED "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>501 Method Not Implemented</TITLE>\r\n</HEAD><BODY>\r\n<H1>Method Not Implemented</H1>\r\n<HR>\r\n</BODY></HTML>\r\n"
+#define HTTP_UNIMPLEMENTED \
+ "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<HTML><HEAD>\r\n<TITLE>501 Method Not Implemented</TITLE>\r\n</HEAD><BODY>\r\n<H1>Method Not Implemented</H1>\r\n<HR>\r\n</BODY></HTML>\r\n"
#define HTTP_OK "HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n"
-#define HTTP_BEGIN HTTP_OK \
- "\n" \
- "<HTML><BODY>\n" \
- "<CENTER><H1>This is <a href=\"https://www.gnu.org/software/gnutls\">" \
- "GnuTLS</a></H1></CENTER>\n\n"
+#define HTTP_BEGIN \
+ HTTP_OK \
+ "\n" \
+ "<HTML><BODY>\n" \
+ "<CENTER><H1>This is <a href=\"https://www.gnu.org/software/gnutls\">" \
+ "GnuTLS</a></H1></CENTER>\n\n"
/* These are global */
gnutls_srp_server_credentials_t srp_cred = NULL;
@@ -137,14 +139,14 @@ static void wrap_db_deinit(void);
static int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data);
static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key);
static int wrap_db_delete(void *dbf, gnutls_datum_t key);
-static int anti_replay_db_add(void *dbf, time_t exp, const gnutls_datum_t * key,
- const gnutls_datum_t * data);
+static int anti_replay_db_add(void *dbf, time_t exp, const gnutls_datum_t *key,
+ const gnutls_datum_t *data);
static void cmd_parser(int argc, char **argv);
-#define HTTP_STATE_REQUEST 1
-#define HTTP_STATE_RESPONSE 2
-#define HTTP_STATE_CLOSING 3
+#define HTTP_STATE_REQUEST 1
+#define HTTP_STATE_RESPONSE 2
+#define HTTP_STATE_CLOSING 3
typedef struct {
char *http_request;
@@ -172,7 +174,7 @@ static const char *safe_strerror(int value)
static void listener_free(const void *elt)
{
- listener_item *j = (listener_item *) elt;
+ listener_item *j = (listener_item *)elt;
free(j->http_request);
free(j->http_response);
@@ -207,9 +209,8 @@ static int generate_dh_primes(void)
* once a week or once a month. Depends on the
* security requirements.
*/
- printf
- ("Generating Diffie-Hellman parameters [%d]. Please wait...\n",
- prime_bits);
+ printf("Generating Diffie-Hellman parameters [%d]. Please wait...\n",
+ prime_bits);
fflush(stdout);
if (gnutls_dh_params_generate2(dh_params, prime_bits) < 0) {
@@ -247,9 +248,8 @@ static void read_dh_params(void)
params.data = (unsigned char *)tmpdata;
params.size = size;
- size =
- gnutls_dh_params_import_pkcs3(dh_params, &params,
- GNUTLS_X509_FMT_PEM);
+ size = gnutls_dh_params_import_pkcs3(dh_params, &params,
+ GNUTLS_X509_FMT_PEM);
if (size < 0) {
fprintf(stderr, "Error parsing dh params: %s\n",
@@ -259,14 +259,11 @@ static void read_dh_params(void)
printf("Read Diffie-Hellman parameters.\n");
fflush(stdout);
-
}
-static int
-get_params(gnutls_session_t session, gnutls_params_type_t type,
- gnutls_params_st * st)
+static int get_params(gnutls_session_t session, gnutls_params_type_t type,
+ gnutls_params_st *st)
{
-
if (type == GNUTLS_PARAMS_DH) {
if (dh_params == NULL)
return -1;
@@ -289,19 +286,18 @@ static int cert_verify_callback(gnutls_session_t session)
int ret;
if (gnutls_auth_get_type(session) == GNUTLS_CRD_CERTIFICATE) {
- if (!require_cert
- && gnutls_certificate_get_peers(session, &size) == NULL)
+ if (!require_cert &&
+ gnutls_certificate_get_peers(session, &size) == NULL)
return 0;
if (ENABLED_OPT(VERIFY_CLIENT_CERT)) {
if (cert_verify(session, NULL, NULL) == 0) {
do {
- ret =
- gnutls_alert_send(session,
- GNUTLS_AL_FATAL,
- GNUTLS_A_ACCESS_DENIED);
- } while (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_AGAIN);
+ ret = gnutls_alert_send(
+ session, GNUTLS_AL_FATAL,
+ GNUTLS_A_ACCESS_DENIED);
+ } while (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_AGAIN);
j->http_state = HTTP_STATE_CLOSING;
return -1;
@@ -339,7 +335,7 @@ static int post_client_hello(gnutls_session_t session)
goto end;
}
name = new_name;
- continue; /* retry call with same index */
+ continue; /* retry call with same index */
}
/* check if it is the last entry in list */
@@ -379,13 +375,12 @@ static int post_client_hello(gnutls_session_t session)
* need to send it ourselves
*/
do {
- ret = gnutls_alert_send(session,
- GNUTLS_AL_WARNING,
+ ret = gnutls_alert_send(session, GNUTLS_AL_WARNING,
GNUTLS_A_UNRECOGNIZED_NAME);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
/* continue handshake, fall through */
- end:
+end:
free(name);
return ret;
}
@@ -401,8 +396,8 @@ gnutls_session_t initialize_session(int dtls)
gnutls_datum_t alpn[MAX_ALPN_PROTOCOLS];
#endif
unsigned alpn_size;
- unsigned flags =
- GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH | GNUTLS_ENABLE_RAWPK;
+ unsigned flags = GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH |
+ GNUTLS_ENABLE_RAWPK;
if (dtls)
flags |= GNUTLS_DATAGRAM;
@@ -432,9 +427,8 @@ gnutls_session_t initialize_session(int dtls)
if (earlydata) {
gnutls_anti_replay_enable(session, anti_replay);
if (HAVE_OPT(MAXEARLYDATA)) {
- ret =
- gnutls_record_set_max_early_data_size(session,
- OPT_VALUE_MAXEARLYDATA);
+ ret = gnutls_record_set_max_early_data_size(
+ session, OPT_VALUE_MAXEARLYDATA);
if (ret < 0) {
fprintf(stderr,
"Could not set max early data size: %s\n",
@@ -445,8 +439,8 @@ gnutls_session_t initialize_session(int dtls)
}
if (sni_hostname != NULL)
- gnutls_handshake_set_post_client_hello_function(session,
- &post_client_hello);
+ gnutls_handshake_set_post_client_hello_function(
+ session, &post_client_hello);
if (priorities == NULL) {
ret = gnutls_set_default_priority(session);
@@ -475,10 +469,9 @@ gnutls_session_t initialize_session(int dtls)
alpn[i].size = strlen(alpn_protos[i]);
}
- ret =
- gnutls_alpn_set_protocols(session, alpn, alpn_size,
- HAVE_OPT(ALPN_FATAL) ?
- GNUTLS_ALPN_MANDATORY : 0);
+ ret = gnutls_alpn_set_protocols(
+ session, alpn, alpn_size,
+ HAVE_OPT(ALPN_FATAL) ? GNUTLS_ALPN_MANDATORY : 0);
if (ret < 0) {
fprintf(stderr, "Error setting ALPN protocols: %s\n",
gnutls_strerror(ret));
@@ -509,11 +502,11 @@ gnutls_session_t initialize_session(int dtls)
GNUTLS_CERT_IGNORE);
else {
if (require_cert)
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUIRE);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUIRE);
else
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUEST);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUEST);
}
/* use the record size limit extension */
@@ -541,10 +534,8 @@ gnutls_session_t initialize_session(int dtls)
#ifdef ENABLE_DTLS_SRTP
if (HAVE_OPT(SRTP_PROFILES)) {
- ret =
- gnutls_srtp_set_profile_direct(session,
- OPT_ARG(SRTP_PROFILES),
- &err);
+ ret = gnutls_srtp_set_profile_direct(
+ session, OPT_ARG(SRTP_PROFILES), &err);
if (ret == GNUTLS_E_INVALID_REQUEST)
fprintf(stderr, "Syntax error at: %s\n", err);
else if (ret != 0)
@@ -565,14 +556,14 @@ gnutls_session_t initialize_session(int dtls)
#include <gnutls/x509.h>
static const char DEFAULT_DATA[] =
- "This is the default message reported by the GnuTLS implementation. "
- "For more information please visit "
- "<a href=\"https://www.gnutls.org/\">https://www.gnutls.org/</a>.";
+ "This is the default message reported by the GnuTLS implementation. "
+ "For more information please visit "
+ "<a href=\"https://www.gnutls.org/\">https://www.gnutls.org/</a>.";
/* Creates html with the current session information.
*/
#define tmp_buffer &http_buffer[strlen(http_buffer)]
-#define tmp_buffer_size len-strlen(http_buffer)
+#define tmp_buffer_size len - strlen(http_buffer)
static char *peer_print_info(gnutls_session_t session, int *ret_length,
const char *header)
{
@@ -593,12 +584,11 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
strcpy(http_buffer, HTTP_BEGIN);
strcpy(&http_buffer[sizeof(HTTP_BEGIN) - 1], DEFAULT_DATA);
- strcpy(&http_buffer
- [sizeof(HTTP_BEGIN) + sizeof(DEFAULT_DATA) - 2],
+ strcpy(&http_buffer[sizeof(HTTP_BEGIN) + sizeof(DEFAULT_DATA) -
+ 2],
HTTP_END);
- *ret_length =
- sizeof(DEFAULT_DATA) + sizeof(HTTP_BEGIN) +
- sizeof(HTTP_END) - 3;
+ *ret_length = sizeof(DEFAULT_DATA) + sizeof(HTTP_BEGIN) +
+ sizeof(HTTP_END) - 3;
return http_buffer;
}
@@ -608,7 +598,7 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
unsigned int cert_list_size = 0;
cert_list =
- gnutls_certificate_get_peers(session, &cert_list_size);
+ gnutls_certificate_get_peers(session, &cert_list_size);
for (i = 0; i < cert_list_size; i++) {
gnutls_x509_crt_t cert = NULL;
@@ -616,11 +606,9 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
if (gnutls_x509_crt_init(&cert) == 0 &&
gnutls_x509_crt_import(cert, &cert_list[i],
- GNUTLS_X509_FMT_DER) ==
- 0
- && gnutls_x509_crt_print(cert,
- GNUTLS_CRT_PRINT_FULL,
- &info) == 0) {
+ GNUTLS_X509_FMT_DER) == 0 &&
+ gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_FULL,
+ &info) == 0) {
const char post[] = "</PRE><P><PRE>";
char *crtinfo_new;
size_t ncrtinfo_new;
@@ -666,9 +654,10 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
for (i = 0; i < sesid_size; i++)
snprintf(tmp_buffer, tmp_buffer_size, "%.2X", sesid[i]);
snprintf(tmp_buffer, tmp_buffer_size, "</i></p>\n");
- snprintf(tmp_buffer, tmp_buffer_size,
- "<h5>If your browser supports session resumption, then you should see the "
- "same session ID, when you press the <b>reload</b> button.</h5>\n");
+ snprintf(
+ tmp_buffer, tmp_buffer_size,
+ "<h5>If your browser supports session resumption, then you should see the "
+ "same session ID, when you press the <b>reload</b> button.</h5>\n");
/* Here unlike print_info() we use the kx algorithm to distinguish
* the functions to call.
@@ -678,12 +667,11 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
size_t dns_size = sizeof(dns);
unsigned int type;
- if (gnutls_server_name_get
- (session, dns, &dns_size, &type, 0) == 0) {
+ if (gnutls_server_name_get(session, dns, &dns_size, &type, 0) ==
+ 0) {
snprintf(tmp_buffer, tmp_buffer_size,
"\n<p>Server Name: %s</p>\n", dns);
}
-
}
kx_alg = gnutls_kx_get(session);
@@ -698,7 +686,8 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
#endif
#ifdef ENABLE_PSK
- if (kx_alg == GNUTLS_KX_PSK && gnutls_psk_server_get_username(session)) {
+ if (kx_alg == GNUTLS_KX_PSK &&
+ gnutls_psk_server_get_username(session)) {
snprintf(tmp_buffer, tmp_buffer_size,
"<p>Connected as user '%s'.</p>\n",
gnutls_psk_server_get_username(session));
@@ -711,9 +700,10 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
tmp = gnutls_protocol_get_name(version);
if (tmp == NULL)
tmp = str_unknown;
- snprintf(tmp_buffer, tmp_buffer_size,
- "<TABLE border=1><TR><TD>Protocol version:</TD><TD>%s</TD></TR>\n",
- tmp);
+ snprintf(
+ tmp_buffer, tmp_buffer_size,
+ "<TABLE border=1><TR><TD>Protocol version:</TD><TD>%s</TD></TR>\n",
+ tmp);
desc = gnutls_session_get_desc(session);
if (desc) {
@@ -723,13 +713,11 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
}
if (gnutls_auth_get_type(session) == GNUTLS_CRD_CERTIFICATE &&
- gnutls_certificate_type_get2(session,
- GNUTLS_CTYPE_CLIENT) !=
- GNUTLS_CRT_X509) {
- tmp =
- gnutls_certificate_type_get_name
- (gnutls_certificate_type_get2
- (session, GNUTLS_CTYPE_CLIENT));
+ gnutls_certificate_type_get2(session, GNUTLS_CTYPE_CLIENT) !=
+ GNUTLS_CRT_X509) {
+ tmp = gnutls_certificate_type_get_name(
+ gnutls_certificate_type_get2(session,
+ GNUTLS_CTYPE_CLIENT));
if (tmp == NULL)
tmp = str_unknown;
snprintf(tmp_buffer, tmp_buffer_size,
@@ -746,23 +734,25 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
#ifdef ENABLE_ANON
if (kx_alg == GNUTLS_KX_ANON_DH) {
- snprintf(tmp_buffer, tmp_buffer_size,
- "<p> Connect using anonymous DH (prime of %d bits)</p>\n",
- gnutls_dh_get_prime_bits(session));
+ snprintf(
+ tmp_buffer, tmp_buffer_size,
+ "<p> Connect using anonymous DH (prime of %d bits)</p>\n",
+ gnutls_dh_get_prime_bits(session));
}
#endif
#if defined(ENABLE_DHE) || defined(ENABLE_ANON)
- if (kx_alg == GNUTLS_KX_DHE_RSA || kx_alg == GNUTLS_KX_DHE_DSS) {
- snprintf(tmp_buffer, tmp_buffer_size,
- "Ephemeral DH using prime of <b>%d</b> bits.<br>\n",
- gnutls_dh_get_prime_bits(session));
+ if (kx_alg == GNUTLS_KX_DHE_RSA ||
+ kx_alg == GNUTLS_KX_DHE_DSS) {
+ snprintf(
+ tmp_buffer, tmp_buffer_size,
+ "Ephemeral DH using prime of <b>%d</b> bits.<br>\n",
+ gnutls_dh_get_prime_bits(session));
}
#endif
- tmp =
- gnutls_compression_get_name(gnutls_compression_get
- (session));
+ tmp = gnutls_compression_get_name(
+ gnutls_compression_get(session));
if (tmp == NULL)
tmp = str_unknown;
snprintf(tmp_buffer, tmp_buffer_size,
@@ -792,14 +782,14 @@ static char *peer_print_info(gnutls_session_t session, int *ret_length,
snprintf(tmp_buffer, tmp_buffer_size, "</TABLE></P>\n");
if (crtinfo) {
- snprintf(tmp_buffer, tmp_buffer_size,
- "<hr><PRE>%s\n</PRE>\n", crtinfo);
+ snprintf(tmp_buffer, tmp_buffer_size, "<hr><PRE>%s\n</PRE>\n",
+ crtinfo);
free(crtinfo);
}
snprintf(tmp_buffer, tmp_buffer_size,
- "<hr><P>Your HTTP header was:<PRE>%s</PRE></P>\n"
- HTTP_END, header);
+ "<hr><P>Your HTTP header was:<PRE>%s</PRE></P>\n" HTTP_END,
+ header);
*ret_length = strlen(http_buffer);
@@ -815,13 +805,14 @@ static char *peer_print_data(gnutls_session_t session, int *ret_length)
ret = gnutls_load_file(http_data_file, &data);
if (ret < 0) {
- ret = asprintf(&http_buffer,
- "HTTP/1.0 404 Not Found\r\n"
- "Content-type: text/html\r\n"
- "\r\n"
- "<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD>\n"
- "<BODY><H1>Couldn't read %s</H1></BODY></HTML>\n\n",
- http_data_file);
+ ret = asprintf(
+ &http_buffer,
+ "HTTP/1.0 404 Not Found\r\n"
+ "Content-type: text/html\r\n"
+ "\r\n"
+ "<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD>\n"
+ "<BODY><H1>Couldn't read %s</H1></BODY></HTML>\n\n",
+ http_data_file);
if (ret < 0)
return NULL;
@@ -832,7 +823,9 @@ static char *peer_print_data(gnutls_session_t session, int *ret_length)
ret = asprintf(&http_buffer,
"HTTP/1.0 200 OK\r\n"
"Content-Type: application/octet-stream\r\n"
- "Content-Length: %u\r\n" "\r\n", data.size);
+ "Content-Length: %u\r\n"
+ "\r\n",
+ data.size);
if (ret < 0)
return NULL;
len = ret;
@@ -843,8 +836,8 @@ static char *peer_print_data(gnutls_session_t session, int *ret_length)
return http_buffer;
}
-const char *human_addr(const struct sockaddr *sa, socklen_t salen,
- char *buf, size_t buflen)
+const char *human_addr(const struct sockaddr *sa, socklen_t salen, char *buf,
+ size_t buflen)
{
const char *save_buf = buf;
size_t l;
@@ -967,10 +960,9 @@ int listen_socket(const char *name, int listen_port, int socktype)
{
char topbuf[512];
- fprintf(stderr, "%s listening on %s...",
- name, human_addr(ptr->ai_addr,
- ptr->ai_addrlen, topbuf,
- sizeof(topbuf)));
+ fprintf(stderr, "%s listening on %s...", name,
+ human_addr(ptr->ai_addr, ptr->ai_addrlen,
+ topbuf, sizeof(topbuf)));
}
if ((news = socket(ptr->ai_family, ptr->ai_socktype,
@@ -978,7 +970,7 @@ int listen_socket(const char *name, int listen_port, int socktype)
perror("socket() failed");
continue;
}
- s = news; /* to not overwrite existing s from previous loops */
+ s = news; /* to not overwrite existing s from previous loops */
#if defined(HAVE_IPV6) && !defined(_WIN32)
if (ptr->ai_family == AF_INET6) {
yes = 1;
@@ -1049,7 +1041,8 @@ static void strip(char *data)
int len = strlen(data);
for (i = 0; i < len; i++) {
- if (data[i] == '\r' && data[i + 1] == '\n' && data[i + 2] == 0) {
+ if (data[i] == '\r' && data[i + 1] == '\n' &&
+ data[i + 2] == 0) {
data[i] = '\n';
data[i + 1] = 0;
break;
@@ -1057,9 +1050,8 @@ static void strip(char *data)
}
}
-static unsigned
-get_response(gnutls_session_t session, char *request,
- char **response, int *response_length)
+static unsigned get_response(gnutls_session_t session, char *request,
+ char **response, int *response_length)
{
char *p, *h;
@@ -1082,7 +1074,7 @@ get_response(gnutls_session_t session, char *request,
if (http != 0) {
if (http_data_file == NULL)
*response =
- peer_print_info(session, response_length, h);
+ peer_print_info(session, response_length, h);
else
*response = peer_print_data(session, response_length);
} else {
@@ -1110,17 +1102,17 @@ get_response(gnutls_session_t session, char *request,
} else {
*response = NULL;
do {
- ret =
- gnutls_alert_send_appropriate(session, ret);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_alert_send_appropriate(session,
+ ret);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
return 0;
}
}
return 1;
- unimplemented:
+unimplemented:
*response = strdup(HTTP_UNIMPLEMENTED);
if (*response == NULL)
return 0;
@@ -1149,13 +1141,12 @@ static void terminate(int sig)
static void check_alert(gnutls_session_t session, int ret)
{
- if (ret == GNUTLS_E_WARNING_ALERT_RECEIVED
- || ret == GNUTLS_E_FATAL_ALERT_RECEIVED) {
+ if (ret == GNUTLS_E_WARNING_ALERT_RECEIVED ||
+ ret == GNUTLS_E_FATAL_ALERT_RECEIVED) {
int last_alert = gnutls_alert_get(session);
if (last_alert == GNUTLS_A_NO_RENEGOTIATION &&
ret == GNUTLS_E_WARNING_ALERT_RECEIVED)
- printf
- ("* Received NO_RENEGOTIATION alert. Client does not support renegotiation.\n");
+ printf("* Received NO_RENEGOTIATION alert. Client does not support renegotiation.\n");
else
printf("* Received alert '%d': %s.\n", last_alert,
gnutls_alert_get_name(last_alert));
@@ -1186,13 +1177,13 @@ int main(int argc, char **argv)
signal(SIGHUP, SIG_IGN);
signal(SIGTERM, terminate);
if (signal(SIGINT, terminate) == SIG_IGN)
- signal(SIGINT, SIG_IGN); /* e.g. background process */
+ signal(SIGINT, SIG_IGN); /* e.g. background process */
#endif
sockets_init();
- listener_list = gl_list_create_empty(GL_LINKED_LIST,
- NULL, NULL, listener_free, true);
+ listener_list = gl_list_create_empty(GL_LINKED_LIST, NULL, NULL,
+ listener_free, true);
if (nodb == 0)
wrap_db_init();
@@ -1223,8 +1214,8 @@ int main(int argc, char **argv)
fprintf(stderr, "pkcs11_init: %s",
gnutls_strerror(ret));
else {
- ret =
- gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER), NULL);
+ ret = gnutls_pkcs11_add_provider(OPT_ARG(PROVIDER),
+ NULL);
if (ret < 0) {
fprintf(stderr, "pkcs11_add_provider: %s",
gnutls_strerror(ret));
@@ -1254,8 +1245,8 @@ int main(int argc, char **argv)
/* X509 credentials */
if (x509_cafile != NULL) {
- if ((ret = gnutls_certificate_set_x509_trust_file
- (cert_cred, x509_cafile, x509ctype)) < 0) {
+ if ((ret = gnutls_certificate_set_x509_trust_file(
+ cert_cred, x509_cafile, x509ctype)) < 0) {
fprintf(stderr, "Error reading '%s'\n", x509_cafile);
GERR(ret);
exit(1);
@@ -1264,8 +1255,8 @@ int main(int argc, char **argv)
}
}
if (x509_crlfile != NULL) {
- if ((ret = gnutls_certificate_set_x509_crl_file
- (cert_cred, x509_crlfile, x509ctype)) < 0) {
+ if ((ret = gnutls_certificate_set_x509_crl_file(
+ cert_cred, x509_crlfile, x509ctype)) < 0) {
fprintf(stderr, "Error reading '%s'\n", x509_crlfile);
GERR(ret);
exit(1);
@@ -1276,12 +1267,11 @@ int main(int argc, char **argv)
if (x509_certfile_size > 0 && x509_keyfile_size > 0) {
for (i = 0; i < x509_certfile_size; i++) {
- ret = gnutls_certificate_set_x509_key_file
- (cert_cred, x509_certfile[i], x509_keyfile[i],
- x509ctype);
+ ret = gnutls_certificate_set_x509_key_file(
+ cert_cred, x509_certfile[i], x509_keyfile[i],
+ x509ctype);
if (ret < 0) {
- fprintf(stderr,
- "Error reading '%s' or '%s'\n",
+ fprintf(stderr, "Error reading '%s' or '%s'\n",
x509_certfile[i], x509_keyfile[i]);
GERR(ret);
exit(1);
@@ -1293,14 +1283,9 @@ int main(int argc, char **argv)
/* Raw public-key credentials */
if (rawpk_file_size > 0 && rawpk_keyfile_size > 0) {
for (i = 0; i < rawpk_keyfile_size; i++) {
- ret =
- gnutls_certificate_set_rawpk_key_file(cert_cred,
- rawpk_file[i],
- rawpk_keyfile
- [i],
- x509ctype,
- NULL, 0, NULL,
- 0, 0, 0);
+ ret = gnutls_certificate_set_rawpk_key_file(
+ cert_cred, rawpk_file[i], rawpk_keyfile[i],
+ x509ctype, NULL, 0, NULL, 0, 0, 0);
if (ret < 0) {
fprintf(stderr, "Error reading '%s' or '%s'\n",
rawpk_file[i], rawpk_keyfile[i]);
@@ -1324,12 +1309,12 @@ int main(int argc, char **argv)
#else
/* OCSP status-request TLS extension */
if (HAVE_OPT(IGNORE_OCSP_RESPONSE_ERRORS))
- gnutls_certificate_set_flags(cert_cred,
- GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
+ gnutls_certificate_set_flags(
+ cert_cred, GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
for (i = 0; i < ocsp_responses_size; i++) {
- ret = gnutls_certificate_set_ocsp_status_request_file
- (cert_cred, ocsp_responses[i], 0);
+ ret = gnutls_certificate_set_ocsp_status_request_file(
+ cert_cred, ocsp_responses[i], 0);
if (ret < 0) {
fprintf(stderr,
"Cannot set OCSP status request file: %s: %s\n",
@@ -1341,9 +1326,8 @@ int main(int argc, char **argv)
if (use_static_dh_params) {
#if defined(ENABLE_DHE) || defined(ENABLE_ANON)
- ret =
- gnutls_certificate_set_known_dh_params(cert_cred,
- GNUTLS_SEC_PARAM_MEDIUM);
+ ret = gnutls_certificate_set_known_dh_params(
+ cert_cred, GNUTLS_SEC_PARAM_MEDIUM);
if (ret < 0) {
fprintf(stderr,
"Error while setting DH parameters: %s\n",
@@ -1365,11 +1349,8 @@ int main(int argc, char **argv)
if (srp_passwd != NULL) {
gnutls_srp_allocate_server_credentials(&srp_cred);
- if ((ret =
- gnutls_srp_set_server_credentials_file(srp_cred,
- srp_passwd,
- srp_passwd_conf))
- < 0) {
+ if ((ret = gnutls_srp_set_server_credentials_file(
+ srp_cred, srp_passwd, srp_passwd_conf)) < 0) {
/* only exit is this function is not disabled
*/
fprintf(stderr, "Error while setting SRP parameters\n");
@@ -1384,9 +1365,8 @@ int main(int argc, char **argv)
if (psk_passwd != NULL) {
gnutls_psk_allocate_server_credentials(&psk_cred);
- if ((ret =
- gnutls_psk_set_server_credentials_file(psk_cred,
- psk_passwd)) < 0) {
+ if ((ret = gnutls_psk_set_server_credentials_file(
+ psk_cred, psk_passwd)) < 0) {
/* only exit is this function is not disabled
*/
fprintf(stderr, "Error while setting PSK parameters\n");
@@ -1394,9 +1374,8 @@ int main(int argc, char **argv)
}
if (HAVE_OPT(PSKHINT)) {
- ret =
- gnutls_psk_set_server_credentials_hint
- (psk_cred, OPT_ARG(PSKHINT));
+ ret = gnutls_psk_set_server_credentials_hint(
+ psk_cred, OPT_ARG(PSKHINT));
if (ret) {
fprintf(stderr,
"Error setting PSK identity hint.\n");
@@ -1405,9 +1384,8 @@ int main(int argc, char **argv)
}
if (use_static_dh_params) {
- ret =
- gnutls_psk_set_server_known_dh_params(psk_cred,
- GNUTLS_SEC_PARAM_MEDIUM);
+ ret = gnutls_psk_set_server_known_dh_params(
+ psk_cred, GNUTLS_SEC_PARAM_MEDIUM);
if (ret < 0) {
fprintf(stderr,
"Error while setting DH parameters: %s\n",
@@ -1425,9 +1403,8 @@ int main(int argc, char **argv)
gnutls_anon_allocate_server_credentials(&dh_cred);
if (use_static_dh_params) {
- ret =
- gnutls_anon_set_server_known_dh_params(dh_cred,
- GNUTLS_SEC_PARAM_MEDIUM);
+ ret = gnutls_anon_set_server_known_dh_params(
+ dh_cred, GNUTLS_SEC_PARAM_MEDIUM);
if (ret < 0) {
fprintf(stderr,
"Error while setting DH parameters: %s\n",
@@ -1478,7 +1455,7 @@ int main(int argc, char **argv)
return 0;
}
-static void retry_handshake(listener_item * j)
+static void retry_handshake(listener_item *j)
{
int r, ret;
@@ -1496,8 +1473,8 @@ static void retry_handshake(listener_item * j)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
j->close_ok = 0;
} else if (r == 0) {
- if (gnutls_session_is_resumed(j->tls_session) != 0
- && verbose != 0)
+ if (gnutls_session_is_resumed(j->tls_session) != 0 &&
+ verbose != 0)
printf("*** This is a resumed session\n");
if (verbose != 0) {
@@ -1511,11 +1488,11 @@ static void retry_handshake(listener_item * j)
print_info(j->tls_session, verbose, verbose);
if (HAVE_OPT(KEYMATEXPORT))
- print_key_material(j->tls_session,
- OPT_ARG(KEYMATEXPORT),
- HAVE_OPT(KEYMATEXPORTSIZE) ?
- OPT_VALUE_KEYMATEXPORTSIZE :
- 20);
+ print_key_material(
+ j->tls_session, OPT_ARG(KEYMATEXPORT),
+ HAVE_OPT(KEYMATEXPORTSIZE) ?
+ OPT_VALUE_KEYMATEXPORTSIZE :
+ 20);
}
j->close_ok = 1;
@@ -1523,7 +1500,7 @@ static void retry_handshake(listener_item * j)
}
}
-static void try_rehandshake(listener_item * j)
+static void try_rehandshake(listener_item *j)
{
int r, ret;
fprintf(stderr, "*** Received hello message\n");
@@ -1563,9 +1540,8 @@ static void tcp_server(const char *name, int port, int timeout)
gl_list_iterator_t iter;
gl_list_node_t node;
const void *elt;
- gl_list_t accepted_list = gl_list_create_empty(GL_LINKED_LIST,
- NULL, NULL, NULL,
- true);
+ gl_list_t accepted_list = gl_list_create_empty(
+ GL_LINKED_LIST, NULL, NULL, NULL, true);
fd_set rd, wr;
time_t now = time(0);
#ifndef _WIN32
@@ -1576,15 +1552,15 @@ static void tcp_server(const char *name, int port, int timeout)
FD_ZERO(&wr);
n = 0;
-/* flag which connections we are reading or writing to within the fd sets */
+ /* flag which connections we are reading or writing to within the fd sets */
iter = gl_list_iterator(listener_list);
while (gl_list_iterator_next(&iter, &elt, &node)) {
- listener_item *j = (listener_item *) elt;
+ listener_item *j = (listener_item *)elt;
#ifndef _WIN32
val = fcntl(j->fd, F_GETFL, 0);
- if ((val == -1)
- || (fcntl(j->fd, F_SETFL, val | O_NONBLOCK) < 0)) {
+ if ((val == -1) ||
+ (fcntl(j->fd, F_SETFL, val | O_NONBLOCK) < 0)) {
perror("fcntl()");
exit(1);
}
@@ -1613,7 +1589,7 @@ static void tcp_server(const char *name, int port, int timeout)
}
gl_list_iterator_free(&iter);
-/* core operation */
+ /* core operation */
tv.tv_sec = 10;
tv.tv_usec = 0;
n = select(n + 1, &rd, &wr, NULL, &tv);
@@ -1624,17 +1600,19 @@ static void tcp_server(const char *name, int port, int timeout)
exit(1);
}
-/* read or write to each connection as indicated by select()'s return argument */
+ /* read or write to each connection as indicated by select()'s return argument */
iter = gl_list_iterator(listener_list);
while (gl_list_iterator_next(&iter, &elt, &node)) {
- listener_item *j = (listener_item *) elt;
+ listener_item *j = (listener_item *)elt;
/* a new connection has arrived */
if (FD_ISSET(j->fd, &rd) && j->listen_socket) {
calen = sizeof(client_address);
memset(&client_address, 0, calen);
- accept_fd = accept(j->fd, (struct sockaddr *)
- &client_address, &calen);
+ accept_fd = accept(
+ j->fd,
+ (struct sockaddr *)&client_address,
+ &calen);
if (accept_fd < 0) {
perror("accept()");
@@ -1655,32 +1633,30 @@ static void tcp_server(const char *name, int port, int timeout)
jj->tls_session = initialize_session(0);
gnutls_session_set_ptr(jj->tls_session,
jj);
- gnutls_transport_set_int
- (jj->tls_session, accept_fd);
+ gnutls_transport_set_int(
+ jj->tls_session, accept_fd);
set_read_funcs(jj->tls_session);
jj->handshake_ok = 0;
jj->close_ok = 0;
if (verbose != 0) {
- ctt =
- simple_ctime(&tt, timebuf);
+ ctt = simple_ctime(&tt,
+ timebuf);
ctt[strlen(ctt) - 1] = 0;
- printf
- ("\n* Accepted connection from %s on %s\n",
- human_addr((struct
- sockaddr *)
- &client_address,
- calen,
- topbuf,
- sizeof
- (topbuf)), ctt);
+ printf("\n* Accepted connection from %s on %s\n",
+ human_addr(
+ (struct sockaddr
+ *)&client_address,
+ calen, topbuf,
+ sizeof(topbuf)),
+ ctt);
}
}
}
if (FD_ISSET(j->fd, &rd) && !j->listen_socket) {
-/* read partial GET request */
+ /* read partial GET request */
char buf[16 * 1024];
int r;
@@ -1691,10 +1667,12 @@ static void tcp_server(const char *name, int port, int timeout)
if (j->handshake_ok == 1) {
int earlydata_read = 0;
if (earlydata && !j->earlydata_eof) {
- r = gnutls_record_recv_early_data(j->tls_session, buf, MIN(sizeof(buf), SMALL_READ_TEST));
+ r = gnutls_record_recv_early_data(
+ j->tls_session, buf,
+ MIN(sizeof(buf),
+ SMALL_READ_TEST));
if (r ==
- GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
- {
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
j->earlydata_eof = 1;
}
if (r == 0) {
@@ -1702,93 +1680,88 @@ static void tcp_server(const char *name, int port, int timeout)
}
}
if (!earlydata_read) {
- r = gnutls_record_recv
- (j->tls_session, buf,
- MIN(sizeof(buf),
- SMALL_READ_TEST));
+ r = gnutls_record_recv(
+ j->tls_session, buf,
+ MIN(sizeof(buf),
+ SMALL_READ_TEST));
}
- if (r == GNUTLS_E_INTERRUPTED
- || r == GNUTLS_E_AGAIN) {
+ if (r == GNUTLS_E_INTERRUPTED ||
+ r == GNUTLS_E_AGAIN) {
/* do nothing */
} else if (r <= 0) {
if (r ==
- GNUTLS_E_HEARTBEAT_PING_RECEIVED)
- {
- gnutls_heartbeat_pong
- (j->tls_session, 0);
+ GNUTLS_E_HEARTBEAT_PING_RECEIVED) {
+ gnutls_heartbeat_pong(
+ j->tls_session,
+ 0);
} else if (r ==
- GNUTLS_E_REHANDSHAKE)
- {
+ GNUTLS_E_REHANDSHAKE) {
try_rehandshake(j);
} else {
j->http_state =
- HTTP_STATE_CLOSING;
+ HTTP_STATE_CLOSING;
if (r < 0) {
int ret;
- check_alert
- (j->tls_session,
- r);
+ check_alert(
+ j->tls_session,
+ r);
fprintf(stderr,
"Error while receiving data\n");
do {
- ret =
- gnutls_alert_send_appropriate
- (j->tls_session,
- r);
- } while (ret ==
- GNUTLS_E_AGAIN
- || ret
- ==
- GNUTLS_E_INTERRUPTED);
+ ret = gnutls_alert_send_appropriate(
+ j->tls_session,
+ r);
+ } while (
+ ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
GERR(r);
j->close_ok = 0;
}
}
} else {
- ptr =
- realloc(j->http_request,
- j->request_length
- + r + 1);
+ ptr = realloc(
+ j->http_request,
+ j->request_length + r +
+ 1);
if (ptr != NULL) {
j->http_request = ptr;
- memcpy(j->http_request
- +
- j->
- request_length,
+ memcpy(j->http_request +
+ j->request_length,
buf, r);
j->request_length += r;
j->http_request
- [j->request_length]
- = '\0';
+ [j->request_length] =
+ '\0';
} else {
j->http_state =
- HTTP_STATE_CLOSING;
+ HTTP_STATE_CLOSING;
}
}
-/* check if we have a full HTTP header */
+ /* check if we have a full HTTP header */
j->http_response = NULL;
- if (j->http_state == HTTP_STATE_REQUEST
- && j->http_request != NULL) {
- if ((http == 0
- && strchr(j->http_request,
- '\n'))
- || strstr(j->http_request,
- "\r\n\r\n")
- || strstr(j->http_request,
- "\n\n")) {
- if (get_response
- (j->tls_session,
- j->http_request,
- &j->http_response,
- &j->
- response_length)) {
+ if (j->http_state ==
+ HTTP_STATE_REQUEST &&
+ j->http_request != NULL) {
+ if ((http == 0 &&
+ strchr(j->http_request,
+ '\n')) ||
+ strstr(j->http_request,
+ "\r\n\r\n") ||
+ strstr(j->http_request,
+ "\n\n")) {
+ if (get_response(
+ j->tls_session,
+ j->http_request,
+ &j->http_response,
+ &j->response_length)) {
j->http_state =
- HTTP_STATE_RESPONSE;
- j->response_written = 0;
+ HTTP_STATE_RESPONSE;
+ j->response_written =
+ 0;
} else {
j->http_state =
- HTTP_STATE_CLOSING;
+ HTTP_STATE_CLOSING;
}
}
}
@@ -1796,33 +1769,31 @@ static void tcp_server(const char *name, int port, int timeout)
}
if (FD_ISSET(j->fd, &wr)) {
-/* write partial response request */
+ /* write partial response request */
int r;
if (j->handshake_ok == 0) {
retry_handshake(j);
}
- if (j->handshake_ok == 1
- && j->http_response == NULL) {
+ if (j->handshake_ok == 1 &&
+ j->http_response == NULL) {
j->http_state = HTTP_STATE_CLOSING;
- } else if (j->handshake_ok == 1
- && j->http_response != NULL) {
- r = gnutls_record_send(j->tls_session,
- j->http_response
- +
- j->response_written,
- MIN
- (j->response_length
- -
- j->response_written,
- SMALL_READ_TEST));
- if (r == GNUTLS_E_INTERRUPTED
- || r == GNUTLS_E_AGAIN) {
+ } else if (j->handshake_ok == 1 &&
+ j->http_response != NULL) {
+ r = gnutls_record_send(
+ j->tls_session,
+ j->http_response +
+ j->response_written,
+ MIN(j->response_length -
+ j->response_written,
+ SMALL_READ_TEST));
+ if (r == GNUTLS_E_INTERRUPTED ||
+ r == GNUTLS_E_AGAIN) {
/* do nothing */
} else if (r <= 0) {
j->http_state =
- HTTP_STATE_CLOSING;
+ HTTP_STATE_CLOSING;
if (r < 0) {
fprintf(stderr,
"Error while sending data\n");
@@ -1831,23 +1802,24 @@ static void tcp_server(const char *name, int port, int timeout)
check_alert(j->tls_session, r);
} else {
j->response_written += r;
-/* check if we have written a complete response */
+ /* check if we have written a complete response */
if (j->response_written ==
j->response_length) {
if (http != 0)
j->http_state =
- HTTP_STATE_CLOSING;
+ HTTP_STATE_CLOSING;
else {
j->http_state =
- HTTP_STATE_REQUEST;
- free(j->
- http_response);
- j->http_response
- = NULL;
- j->response_length = 0;
- j->request_length = 0;
+ HTTP_STATE_REQUEST;
+ free(j->http_response);
+ j->http_response =
+ NULL;
+ j->response_length =
+ 0;
+ j->request_length =
+ 0;
j->http_request
- [0] = 0;
+ [0] = 0;
}
}
}
@@ -1861,7 +1833,7 @@ static void tcp_server(const char *name, int port, int timeout)
}
gl_list_iterator_free(&iter);
-/* loop through all connections, closing those that are in error */
+ /* loop through all connections, closing those that are in error */
iter = gl_list_iterator(listener_list);
while (gl_list_iterator_next(&iter, &elt, &node)) {
const listener_item *j = elt;
@@ -1905,7 +1877,6 @@ static void tcp_server(const char *name, int port, int timeout)
if (nodb == 0)
wrap_db_deinit();
gnutls_global_deinit();
-
}
static void cmd_parser(int argc, char **argv)
@@ -2016,13 +1987,12 @@ static void cmd_parser(int argc, char **argv)
if (HAVE_OPT(HTTPDATA))
http_data_file = OPT_ARG(HTTPDATA);
-
}
/* session resuming support */
#define SESSION_ID_SIZE 128
-#define SESSION_DATA_SIZE (16*1024)
+#define SESSION_DATA_SIZE (16 * 1024)
typedef struct {
unsigned char session_id[SESSION_ID_SIZE];
@@ -2065,10 +2035,8 @@ static int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
/* find empty or expired slot to store the new entry */
for (i = 0; i < cache_db_ptr; i++)
if (cache_db[i].session_id_size == 0 ||
- !(now <
- gnutls_db_check_entry_expire_time(&cache_db
- [i].
- session_data)))
+ !(now < gnutls_db_check_entry_expire_time(
+ &cache_db[i].session_data)))
break;
if (i == cache_db_ptr) {
@@ -2112,11 +2080,9 @@ static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
for (i = 0; i < cache_db_ptr; i++) {
if (key.size == cache_db[i].session_id_size &&
- memcmp(key.data, cache_db[i].session_id,
- key.size) == 0 &&
- now <
- gnutls_db_check_entry_expire_time(&cache_db
- [i].session_data)) {
+ memcmp(key.data, cache_db[i].session_id, key.size) == 0 &&
+ now < gnutls_db_check_entry_expire_time(
+ &cache_db[i].session_data)) {
res.size = cache_db[i].session_data.size;
res.data = malloc(res.size);
@@ -2139,7 +2105,6 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
for (i = 0; i < cache_db_ptr; i++) {
if (key.size == cache_db[i].session_id_size &&
memcmp(key.data, cache_db[i].session_id, key.size) == 0) {
-
cache_db[i].session_id_size = 0;
free(cache_db[i].session_data.data);
cache_db[i].session_data.data = NULL;
@@ -2152,20 +2117,17 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
return GNUTLS_E_DB_ERROR;
}
-static int
-anti_replay_db_add(void *dbf, time_t exp, const gnutls_datum_t * key,
- const gnutls_datum_t * data)
+static int anti_replay_db_add(void *dbf, time_t exp, const gnutls_datum_t *key,
+ const gnutls_datum_t *data)
{
time_t now = time(0);
int i;
for (i = 0; i < cache_db_ptr; i++) {
if (key->size == cache_db[i].session_id_size &&
- memcmp(key->data, cache_db[i].session_id,
- key->size) == 0 &&
- now <
- gnutls_db_check_entry_expire_time(&cache_db
- [i].session_data))
+ memcmp(key->data, cache_db[i].session_id, key->size) == 0 &&
+ now < gnutls_db_check_entry_expire_time(
+ &cache_db[i].session_data))
return GNUTLS_E_DB_ENTRY_EXISTS;
}
diff --git a/src/socket.c b/src/socket.c
index 953d63f767..fd8fc73f09 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -21,9 +21,9 @@
#include <config.h>
#if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
+#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
+#include <ws2tcpip.h>
#endif
#include <netdb.h>
#include <string.h>
@@ -40,8 +40,8 @@
#include "common.h"
#ifdef _WIN32
-# undef endservent
-# define endservent()
+#undef endservent
+#define endservent()
#endif
#define MAX_BUF 4096
@@ -49,33 +49,29 @@
/* Functions to manipulate sockets
*/
-ssize_t socket_recv(const socket_st * socket, void *buffer, int buffer_size)
+ssize_t socket_recv(const socket_st *socket, void *buffer, int buffer_size)
{
int ret;
if (socket->secure) {
do {
- ret =
- gnutls_record_recv(socket->session, buffer,
- buffer_size);
+ ret = gnutls_record_recv(socket->session, buffer,
+ buffer_size);
if (ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED)
gnutls_heartbeat_pong(socket->session, 0);
- }
- while (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
+ } while (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
} else
do {
ret = recv(socket->fd, buffer, buffer_size, 0);
- }
- while (ret == -1 && errno == EINTR);
+ } while (ret == -1 && errno == EINTR);
return ret;
}
-ssize_t
-socket_recv_timeout(const socket_st * socket, void *buffer, int buffer_size,
- unsigned ms)
+ssize_t socket_recv_timeout(const socket_st *socket, void *buffer,
+ int buffer_size, unsigned ms)
{
int ret;
@@ -89,48 +85,41 @@ socket_recv_timeout(const socket_st * socket, void *buffer, int buffer_size,
return ret;
}
-ssize_t
-socket_send(const socket_st * socket, const void *buffer, int buffer_size)
+ssize_t socket_send(const socket_st *socket, const void *buffer,
+ int buffer_size)
{
return socket_send_range(socket, buffer, buffer_size, NULL);
}
-ssize_t
-socket_send_range(const socket_st * socket, const void *buffer,
- int buffer_size, gnutls_range_st * range)
+ssize_t socket_send_range(const socket_st *socket, const void *buffer,
+ int buffer_size, gnutls_range_st *range)
{
int ret;
if (socket->secure)
do {
if (range == NULL)
- ret =
- gnutls_record_send(socket->session,
- buffer, buffer_size);
+ ret = gnutls_record_send(socket->session,
+ buffer, buffer_size);
else
- ret =
- gnutls_record_send_range(socket->session,
- buffer,
- buffer_size,
- range);
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_send_range(socket->session,
+ buffer,
+ buffer_size,
+ range);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
else
do {
ret = send(socket->fd, buffer, buffer_size, 0);
- }
- while (ret == -1 && errno == EINTR);
+ } while (ret == -1 && errno == EINTR);
if (ret > 0 && ret != buffer_size && socket->verbose)
- fprintf(stderr,
- "*** Only sent %d bytes instead of %d.\n", ret,
+ fprintf(stderr, "*** Only sent %d bytes instead of %d.\n", ret,
buffer_size);
return ret;
}
-static
-ssize_t send_line(socket_st * socket, const char *txt)
+static ssize_t send_line(socket_st *socket, const char *txt)
{
int len = strlen(txt);
int ret;
@@ -148,8 +137,8 @@ ssize_t send_line(socket_st * socket, const char *txt)
return ret;
}
-static
-ssize_t wait_for_text(socket_st * socket, const char *txt, unsigned txt_size)
+static ssize_t wait_for_text(socket_st *socket, const char *txt,
+ unsigned txt_size)
{
char buf[1024];
char *pbuf, *p;
@@ -202,7 +191,9 @@ ssize_t wait_for_text(socket_st * socket, const char *txt, unsigned txt_size)
p = memmem(buf, got, txt, txt_size);
if (p != NULL && p != buf) {
p--;
- if (*p == '\n' || *p == '\r' || (*txt == '<' && *p == '>')) // XMPP is not line oriented, uses XML format
+ if (*p == '\n' || *p == '\r' ||
+ (*txt == '<' &&
+ *p == '>')) // XMPP is not line oriented, uses XML format
break;
}
}
@@ -211,19 +202,19 @@ ssize_t wait_for_text(socket_st * socket, const char *txt, unsigned txt_size)
return got;
}
-static void socket_starttls(socket_st * socket)
+static void socket_starttls(socket_st *socket)
{
char buf[512];
if (socket->secure)
return;
- if (socket->app_proto == NULL
- || strcasecmp(socket->app_proto, "https") == 0)
+ if (socket->app_proto == NULL ||
+ strcasecmp(socket->app_proto, "https") == 0)
return;
- if (strcasecmp(socket->app_proto, "smtp") == 0
- || strcasecmp(socket->app_proto, "submission") == 0) {
+ if (strcasecmp(socket->app_proto, "smtp") == 0 ||
+ strcasecmp(socket->app_proto, "submission") == 0) {
if (socket->verbose)
log_msg(stdout, "Negotiating SMTP STARTTLS\n");
@@ -233,8 +224,8 @@ static void socket_starttls(socket_st * socket)
wait_for_text(socket, "250 ", 4);
send_line(socket, "STARTTLS\r\n");
wait_for_text(socket, "220 ", 4);
- } else if (strcasecmp(socket->app_proto, "imap") == 0
- || strcasecmp(socket->app_proto, "imap2") == 0) {
+ } else if (strcasecmp(socket->app_proto, "imap") == 0 ||
+ strcasecmp(socket->app_proto, "imap2") == 0) {
if (socket->verbose)
log_msg(stdout, "Negotiating IMAP STARTTLS\n");
@@ -246,22 +237,25 @@ static void socket_starttls(socket_st * socket)
if (socket->verbose)
log_msg(stdout, "Negotiating XMPP STARTTLS\n");
- snprintf(buf, sizeof(buf),
- "<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='%s' version='1.0'>\n",
- socket->hostname);
+ snprintf(
+ buf, sizeof(buf),
+ "<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='%s' version='1.0'>\n",
+ socket->hostname);
send_line(socket, buf);
wait_for_text(socket, "<?", 2);
- send_line(socket,
- "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>");
+ send_line(
+ socket,
+ "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>");
wait_for_text(socket, "<proceed", 8);
} else if (strcasecmp(socket->app_proto, "ldap") == 0) {
if (socket->verbose)
log_msg(stdout, "Negotiating LDAP STARTTLS\n");
-#define LDAP_STR "\x30\x1d\x02\x01\x01\x77\x18\x80\x16\x31\x2e\x33\x2e\x36\x2e\x31\x2e\x34\x2e\x31\x2e\x31\x34\x36\x36\x2e\x32\x30\x30\x33\x37"
+#define LDAP_STR \
+ "\x30\x1d\x02\x01\x01\x77\x18\x80\x16\x31\x2e\x33\x2e\x36\x2e\x31\x2e\x34\x2e\x31\x2e\x31\x34\x36\x36\x2e\x32\x30\x30\x33\x37"
send(socket->fd, LDAP_STR, sizeof(LDAP_STR) - 1, 0);
wait_for_text(socket, NULL, 0);
- } else if (strcasecmp(socket->app_proto, "ftp") == 0
- || strcasecmp(socket->app_proto, "ftps") == 0) {
+ } else if (strcasecmp(socket->app_proto, "ftp") == 0 ||
+ strcasecmp(socket->app_proto, "ftps") == 0) {
if (socket->verbose)
log_msg(stdout, "Negotiating FTP STARTTLS\n");
@@ -300,8 +294,8 @@ static void socket_starttls(socket_st * socket)
wait_for_text(socket, "OK ", 3);
send_line(socket, "STARTTLS\r\n");
wait_for_text(socket, "OK ", 3);
- } else if (strcasecmp(socket->app_proto, "postgres") == 0
- || strcasecmp(socket->app_proto, "postgresql") == 0) {
+ } else if (strcasecmp(socket->app_proto, "postgres") == 0 ||
+ strcasecmp(socket->app_proto, "postgresql") == 0) {
if (socket->verbose)
log_msg(stdout, "Negotiating PostgreSQL STARTTLS\n");
@@ -322,9 +316,9 @@ static void socket_starttls(socket_st * socket)
return;
}
-#define CANON_SERVICE(app_proto) \
+#define CANON_SERVICE(app_proto) \
if (strcasecmp(app_proto, "xmpp") == 0) \
- app_proto = "xmpp-server"; \
+ app_proto = "xmpp-server";
int starttls_proto_to_port(const char *app_proto)
{
@@ -357,17 +351,17 @@ const char *starttls_proto_to_service(const char *app_proto)
return "443";
}
-void socket_bye(socket_st * socket, unsigned polite)
+void socket_bye(socket_st *socket, unsigned polite)
{
int ret;
if (socket->secure && socket->session) {
if (polite) {
do
- ret =
- gnutls_bye(socket->session, GNUTLS_SHUT_WR);
- while (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_AGAIN);
+ ret = gnutls_bye(socket->session,
+ GNUTLS_SHUT_WR);
+ while (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_AGAIN);
if (socket->verbose && ret < 0)
fprintf(stderr, "*** gnutls_bye() error: %s\n",
gnutls_strerror(ret));
@@ -387,7 +381,7 @@ void socket_bye(socket_st * socket, unsigned polite)
free(socket->hostname);
free(socket->service);
- shutdown(socket->fd, SHUT_RDWR); /* no more receptions */
+ shutdown(socket->fd, SHUT_RDWR); /* no more receptions */
close(socket->fd);
gnutls_free(socket->rdata.data);
@@ -422,7 +416,7 @@ void canonicalize_host(char *hostname, char *service, unsigned service_size)
p = hostname + strlen(hostname);
if (p > hostname && p[-1] == '.')
- p[-1] = 0; // remove trailing dot on FQDN
+ p[-1] = 0; // remove trailing dot on FQDN
}
static ssize_t wrap_pull(gnutls_transport_ptr_t ptr, void *data, size_t len)
@@ -437,8 +431,8 @@ static ssize_t wrap_pull(gnutls_transport_ptr_t ptr, void *data, size_t len)
return r;
}
-static ssize_t
-wrap_push(gnutls_transport_ptr_t ptr, const void *data, size_t len)
+static ssize_t wrap_push(gnutls_transport_ptr_t ptr, const void *data,
+ size_t len)
{
socket_st *hd = ptr;
@@ -455,15 +449,14 @@ inline static int wrap_pull_timeout_func(gnutls_transport_ptr_t ptr,
{
socket_st *hd = ptr;
- return gnutls_system_recv_timeout((gnutls_transport_ptr_t) (long)hd->fd,
+ return gnutls_system_recv_timeout((gnutls_transport_ptr_t)(long)hd->fd,
ms);
}
-void
-socket_open2(socket_st * hd, const char *hostname, const char *service,
- const char *app_proto, int flags, const char *msg,
- gnutls_datum_t * rdata, gnutls_datum_t * edata,
- FILE * server_trace, FILE * client_trace)
+void socket_open2(socket_st *hd, const char *hostname, const char *service,
+ const char *app_proto, int flags, const char *msg,
+ gnutls_datum_t *rdata, gnutls_datum_t *edata,
+ FILE *server_trace, FILE *client_trace)
{
struct addrinfo hints, *res, *ptr;
int sd, err = 0;
@@ -507,8 +500,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
memset(&hints, 0, sizeof(hints));
hints.ai_socktype = udp ? SOCK_DGRAM : SOCK_STREAM;
if ((err = getaddrinfo(a_hostname, service, &hints, &res))) {
- fprintf(stderr, "Cannot resolve %s:%s: %s\n", hostname,
- service, gai_strerror(err));
+ fprintf(stderr, "Cannot resolve %s:%s: %s\n", hostname, service,
+ gai_strerror(err));
exit(1);
}
@@ -518,10 +511,9 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
if (sd == -1)
continue;
- if ((err =
- getnameinfo(ptr->ai_addr, ptr->ai_addrlen, buffer,
- MAX_BUF, portname, sizeof(portname),
- NI_NUMERICHOST | NI_NUMERICSERV)) != 0) {
+ if ((err = getnameinfo(ptr->ai_addr, ptr->ai_addrlen, buffer,
+ MAX_BUF, portname, sizeof(portname),
+ NI_NUMERICHOST | NI_NUMERICSERV)) != 0) {
fprintf(stderr, "getnameinfo(): %s\n",
gai_strerror(err));
close(sd);
@@ -542,9 +534,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
#endif
}
- if (fastopen && ptr->ai_socktype == SOCK_STREAM
- && (ptr->ai_family == AF_INET
- || ptr->ai_family == AF_INET6)) {
+ if (fastopen && ptr->ai_socktype == SOCK_STREAM &&
+ (ptr->ai_family == AF_INET || ptr->ai_family == AF_INET6)) {
memcpy(&hd->connect_addr, ptr->ai_addr,
ptr->ai_addrlen);
hd->connect_addrlen = ptr->ai_addrlen;
@@ -558,8 +549,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
log_msg(stdout, "%s '%s:%s'...\n", msg, buffer,
portname);
- if ((err =
- connect(sd, ptr->ai_addr, ptr->ai_addrlen)) < 0) {
+ if ((err = connect(sd, ptr->ai_addr, ptr->ai_addrlen)) <
+ 0) {
close(sd);
continue;
}
@@ -583,12 +574,9 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
if (hd->session) {
if (hd->edata.data) {
- ret =
- gnutls_record_send_early_data(hd->session,
- hd->
- edata.data,
- hd->
- edata.size);
+ ret = gnutls_record_send_early_data(
+ hd->session, hd->edata.data,
+ hd->edata.size);
if (ret < 0) {
fprintf(stderr,
"error sending early data\n");
@@ -609,8 +597,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
wrap_push);
gnutls_transport_set_pull_function(hd->session,
wrap_pull);
- gnutls_transport_set_pull_timeout_function
- (hd->session, wrap_pull_timeout_func);
+ gnutls_transport_set_pull_timeout_function(
+ hd->session, wrap_pull_timeout_func);
gnutls_transport_set_ptr(hd->session, hd);
} else {
#ifdef _WIN32
@@ -618,8 +606,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
wrap_push);
gnutls_transport_set_pull_function(hd->session,
wrap_pull);
- gnutls_transport_set_pull_timeout_function
- (hd->session, wrap_pull_timeout_func);
+ gnutls_transport_set_pull_timeout_function(
+ hd->session, wrap_pull_timeout_func);
gnutls_transport_set_ptr(hd->session, hd);
#else
gnutls_transport_set_int(hd->session, hd->fd);
@@ -627,10 +615,11 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
}
}
- if (!(flags & SOCKET_FLAG_RAW)
- && !(flags & SOCKET_FLAG_SKIP_INIT)) {
+ if (!(flags & SOCKET_FLAG_RAW) &&
+ !(flags & SOCKET_FLAG_SKIP_INIT)) {
err = do_handshake(hd);
- if (err == GNUTLS_E_PUSH_ERROR) { /* failed connecting */
+ if (err ==
+ GNUTLS_E_PUSH_ERROR) { /* failed connecting */
gnutls_deinit(hd->session);
hd->session = NULL;
close(sd);
@@ -650,8 +639,8 @@ socket_open2(socket_st * hd, const char *hostname, const char *service,
if (err != 0) {
int e = errno;
- fprintf(stderr, "Could not connect to %s:%s: %s\n",
- buffer, portname, strerror(e));
+ fprintf(stderr, "Could not connect to %s:%s: %s\n", buffer,
+ portname, strerror(e));
exit(1);
}
diff --git a/src/socket.h b/src/socket.h
index 89edf66e89..7b88c4847a 100644
--- a/src/socket.h
+++ b/src/socket.h
@@ -1,16 +1,16 @@
#ifndef GNUTLS_SRC_SOCKET_H
-# define GNUTLS_SRC_SOCKET_H
+#define GNUTLS_SRC_SOCKET_H
-# include <gnutls/gnutls.h>
-# include <gnutls/socket.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/socket.h>
-# define SOCKET_FLAG_UDP 1
-# define SOCKET_FLAG_FASTOPEN (1<<1)
-# define SOCKET_FLAG_STARTTLS (1<<2)
-# define SOCKET_FLAG_RAW (1<<3) /* unencrypted */
-# define SOCKET_FLAG_VERBOSE (1<<4)
-# define SOCKET_FLAG_SKIP_INIT (1<<5)
-# define SOCKET_FLAG_DONT_PRINT_ERRORS (1<<6)
+#define SOCKET_FLAG_UDP 1
+#define SOCKET_FLAG_FASTOPEN (1 << 1)
+#define SOCKET_FLAG_STARTTLS (1 << 2)
+#define SOCKET_FLAG_RAW (1 << 3) /* unencrypted */
+#define SOCKET_FLAG_VERBOSE (1 << 4)
+#define SOCKET_FLAG_SKIP_INIT (1 << 5)
+#define SOCKET_FLAG_DONT_PRINT_ERRORS (1 << 6)
typedef struct {
int fd;
@@ -39,28 +39,29 @@ typedef struct {
/* calling program must provide that */
extern gnutls_session_t init_tls_session(const char *host);
-int do_handshake(socket_st * socket);
+int do_handshake(socket_st *socket);
-ssize_t socket_recv(const socket_st * socket, void *buffer, int buffer_size);
-ssize_t socket_recv_timeout(const socket_st * socket, void *buffer,
+ssize_t socket_recv(const socket_st *socket, void *buffer, int buffer_size);
+ssize_t socket_recv_timeout(const socket_st *socket, void *buffer,
int buffer_size, unsigned ms);
-ssize_t socket_send(const socket_st * socket, const void *buffer,
+ssize_t socket_send(const socket_st *socket, const void *buffer,
int buffer_size);
-ssize_t socket_send_range(const socket_st * socket, const void *buffer,
- int buffer_size, gnutls_range_st * range);
-void
-socket_open2(socket_st * hd, const char *hostname, const char *service,
- const char *app_proto, int flags, const char *msg,
- gnutls_datum_t * rdata, gnutls_datum_t * edata,
- FILE * server_trace, FILE * client_trace);
+ssize_t socket_send_range(const socket_st *socket, const void *buffer,
+ int buffer_size, gnutls_range_st *range);
+void socket_open2(socket_st *hd, const char *hostname, const char *service,
+ const char *app_proto, int flags, const char *msg,
+ gnutls_datum_t *rdata, gnutls_datum_t *edata,
+ FILE *server_trace, FILE *client_trace);
-# define socket_open(hd, host, service, app_proto, flags, msg, rdata) \
- socket_open2(hd, host, service, app_proto, flags, msg, rdata, NULL, NULL, NULL)
+#define socket_open(hd, host, service, app_proto, flags, msg, rdata) \
+ socket_open2(hd, host, service, app_proto, flags, msg, rdata, NULL, \
+ NULL, NULL)
-# define socket_open3(hd, host, service, app_proto, flags, msg, rdata, edata) \
- socket_open2(hd, host, service, app_proto, flags, msg, rdata, edata, NULL, NULL)
+#define socket_open3(hd, host, service, app_proto, flags, msg, rdata, edata) \
+ socket_open2(hd, host, service, app_proto, flags, msg, rdata, edata, \
+ NULL, NULL)
-void socket_bye(socket_st * socket, unsigned polite);
+void socket_bye(socket_st *socket, unsigned polite);
int service_to_port(const char *service, const char *proto);
const char *port_to_service(const char *sport, const char *proto);
@@ -69,6 +70,6 @@ const char *starttls_proto_to_service(const char *app_proto);
void canonicalize_host(char *hostname, char *service, unsigned service_size);
-# define CONNECT_MSG "Connecting to"
+#define CONNECT_MSG "Connecting to"
-#endif /* GNUTLS_SRC_SOCKET_H */
+#endif /* GNUTLS_SRC_SOCKET_H */
diff --git a/src/srptool.c b/src/srptool.c
index 5688929ff2..5de0d6ed2d 100644
--- a/src/srptool.c
+++ b/src/srptool.c
@@ -24,16 +24,16 @@
#include <string.h>
#include <stdlib.h>
#include <gnutls/gnutls.h>
-#include <gnutls/crypto.h> /* for random */
+#include <gnutls/crypto.h> /* for random */
#include <sys/types.h>
#include <sys/stat.h>
#ifndef _WIN32
-# include <pwd.h>
-# include <unistd.h>
+#include <pwd.h>
+#include <unistd.h>
#else
-# include <windows.h>
+#include <windows.h>
#endif
/* Gnulib portability files. */
@@ -48,13 +48,12 @@
int crypt_int(const char *username, const char *passwd, int salt,
const char *tpasswd_conf, const char *tpasswd, int uindex);
-static int read_conf_values(gnutls_datum_t * g, gnutls_datum_t * n, char *str);
+static int read_conf_values(gnutls_datum_t *g, gnutls_datum_t *n, char *str);
static int _verify_passwd_int(const char *username, const char *passwd,
char *verifier, const char *salt,
- const gnutls_datum_t * g,
- const gnutls_datum_t * n);
+ const gnutls_datum_t *g, const gnutls_datum_t *n);
-static void print_num(const char *msg, const gnutls_datum_t * num)
+static void print_num(const char *msg, const gnutls_datum_t *num)
{
unsigned int i;
@@ -68,7 +67,6 @@ static void print_num(const char *msg, const gnutls_datum_t * num)
printf("%.2x", num->data[i]);
}
printf("\n\n");
-
}
static int generate_create_conf(const char *tpasswd_conf)
@@ -86,7 +84,6 @@ static int generate_create_conf(const char *tpasswd_conf)
}
for (index = 1; index <= 5; index++) {
-
if (index == 1) {
srp_idx = 2;
n = gnutls_srp_1536_group_prime;
@@ -135,13 +132,11 @@ static int generate_create_conf(const char *tpasswd_conf)
gnutls_free(str_g.data);
fwrite(line, 1, strlen(line), fp);
-
}
fclose(fp);
return 0;
-
}
/* The format of a tpasswd file is:
@@ -149,10 +144,9 @@ static int generate_create_conf(const char *tpasswd_conf)
*
* index is the index of the prime-generator pair in tpasswd.conf
*/
-static int
-_verify_passwd_int(const char *username, const char *passwd,
- char *verifier, const char *salt,
- const gnutls_datum_t * g, const gnutls_datum_t * n)
+static int _verify_passwd_int(const char *username, const char *passwd,
+ char *verifier, const char *salt,
+ const gnutls_datum_t *g, const gnutls_datum_t *n)
{
char _salt[1024];
gnutls_datum_t tmp, raw_salt, new_verifier;
@@ -182,8 +176,8 @@ _verify_passwd_int(const char *username, const char *passwd,
return -1;
}
- if (gnutls_srp_verifier
- (username, passwd, &raw_salt, g, n, &new_verifier) < 0) {
+ if (gnutls_srp_verifier(username, passwd, &raw_salt, g, n,
+ &new_verifier) < 0) {
fprintf(stderr, "Could not make the verifier\n");
return -1;
}
@@ -235,8 +229,7 @@ static int filecopy(const char *src, const char *dst)
break;
fputs(line, fp);
- }
- while (1);
+ } while (1);
fclose(fp);
fclose(fp2);
@@ -261,8 +254,8 @@ static int find_strchr(const char *username, const char *file)
while (fgets(line, sizeof(line), fp) != NULL) {
/* move to first ':' */
i = 0;
- while ((line[i] != ':') && (line[i] != '\0')
- && (i < sizeof(line))) {
+ while ((line[i] != ':') && (line[i] != '\0') &&
+ (i < sizeof(line))) {
i++;
}
if (strncmp(username, line, MAX(i, strlen(username))) == 0) {
@@ -281,9 +274,8 @@ static int find_strchr(const char *username, const char *file)
/* Parses the tpasswd files, in order to verify the given
* username/password pair.
*/
-static int
-verify_passwd(const char *conffile, const char *tpasswd,
- const char *username, const char *passwd)
+static int verify_passwd(const char *conffile, const char *tpasswd,
+ const char *username, const char *passwd)
{
FILE *fp;
char line[5 * 1024];
@@ -306,8 +298,7 @@ verify_passwd(const char *conffile, const char *tpasswd,
do {
p = fgets(line, sizeof(line) - 1, fp);
- }
- while (p != NULL && atoi(p) != iindex);
+ } while (p != NULL && atoi(p) != iindex);
fclose(fp);
@@ -333,8 +324,8 @@ verify_passwd(const char *conffile, const char *tpasswd,
* This is the actual verifier.
*/
i = 0;
- while ((line[i] != ':') && (line[i] != '\0')
- && (i < sizeof(line))) {
+ while ((line[i] != ':') && (line[i] != '\0') &&
+ (i < sizeof(line))) {
i++;
}
if (strncmp(username, line, MAX(i, strlen(username))) == 0) {
@@ -343,8 +334,7 @@ verify_passwd(const char *conffile, const char *tpasswd,
pos = strchr(line, ':');
fclose(fp);
if (pos == NULL) {
- fprintf(stderr,
- "Cannot parse conf file '%s'\n",
+ fprintf(stderr, "Cannot parse conf file '%s'\n",
conffile);
return -1;
}
@@ -354,8 +344,7 @@ verify_passwd(const char *conffile, const char *tpasswd,
/* Move to the salt */
pos = strchr(pos, ':');
if (pos == NULL) {
- fprintf(stderr,
- "Cannot parse conf file '%s'\n",
+ fprintf(stderr, "Cannot parse conf file '%s'\n",
conffile);
return -1;
}
@@ -363,14 +352,13 @@ verify_passwd(const char *conffile, const char *tpasswd,
salt_pos = pos;
return _verify_passwd_int(username, passwd,
- verifier_pos, salt_pos,
- &g, &n);
+ verifier_pos, salt_pos, &g,
+ &n);
}
}
fclose(fp);
return -1;
-
}
#define KPASSWD "/etc/tpasswd"
@@ -448,14 +436,12 @@ int main(int argc, char **argv)
return verify_passwd(fpasswd_conf, fpasswd, username, passwd);
}
- return crypt_int(username, passwd, salt_size,
- fpasswd_conf, fpasswd, OPT_VALUE_INDEX);
-
+ return crypt_int(username, passwd, salt_size, fpasswd_conf, fpasswd,
+ OPT_VALUE_INDEX);
}
-static char *_srp_crypt(const char *username, const char *passwd,
- int salt_size, const gnutls_datum_t * g,
- const gnutls_datum_t * n)
+static char *_srp_crypt(const char *username, const char *passwd, int salt_size,
+ const gnutls_datum_t *g, const gnutls_datum_t *n)
{
unsigned char salt[128];
static char result[1024];
@@ -475,8 +461,8 @@ static char *_srp_crypt(const char *username, const char *passwd,
dat_salt.data = salt;
dat_salt.size = salt_size;
- if (gnutls_srp_verifier
- (username, passwd, &dat_salt, g, n, &verifier) < 0) {
+ if (gnutls_srp_verifier(username, passwd, &dat_salt, g, n, &verifier) <
+ 0) {
fprintf(stderr, "Error getting verifier\n");
return NULL;
}
@@ -500,12 +486,10 @@ static char *_srp_crypt(const char *username, const char *passwd,
free(txt_verifier.data);
return result;
-
}
-int
-crypt_int(const char *username, const char *passwd, int salt_size,
- const char *tpasswd_conf, const char *tpasswd, int uindex)
+int crypt_int(const char *username, const char *passwd, int salt_size,
+ const char *tpasswd_conf, const char *tpasswd, int uindex)
{
FILE *fp;
char *cr;
@@ -521,10 +505,9 @@ crypt_int(const char *username, const char *passwd, int salt_size,
return -1;
}
- do { /* find the specified uindex in file */
+ do { /* find the specified uindex in file */
p = fgets(line, sizeof(line) - 1, fp);
- }
- while (p != NULL && atoi(p) != uindex);
+ } while (p != NULL && atoi(p) != uindex);
fclose(fp);
if (p == NULL) {
@@ -561,8 +544,8 @@ crypt_int(const char *username, const char *passwd, int salt_size,
}
if (filecopy(tpasswd, tmpname) != 0) {
- fprintf(stderr, "Cannot copy '%s' to '%s'\n",
- tpasswd, tmpname);
+ fprintf(stderr, "Cannot copy '%s' to '%s'\n", tpasswd,
+ tmpname);
return -1;
}
@@ -600,8 +583,7 @@ crypt_int(const char *username, const char *passwd, int salt_size,
} else {
fputs(line, fp);
}
- }
- while (1);
+ } while (1);
if (put == 0) {
fprintf(fp, "%s:%s:%u\n", username, cr, iindex);
@@ -611,7 +593,6 @@ crypt_int(const char *username, const char *passwd, int salt_size,
fclose(fp2);
(void)remove(tmpname);
-
}
return 0;
@@ -620,7 +601,7 @@ crypt_int(const char *username, const char *passwd, int salt_size,
/* this function parses tpasswd.conf file. Format is:
* int(index):base64(n):base64(g)
*/
-static int read_conf_values(gnutls_datum_t * g, gnutls_datum_t * n, char *str)
+static int read_conf_values(gnutls_datum_t *g, gnutls_datum_t *n, char *str)
{
char *p;
int len;
@@ -629,7 +610,7 @@ static int read_conf_values(gnutls_datum_t * g, gnutls_datum_t * n, char *str)
index = atoi(str);
- p = strrchr(str, ':'); /* we have g */
+ p = strrchr(str, ':'); /* we have g */
if (p == NULL) {
return -1;
}
@@ -652,7 +633,7 @@ static int read_conf_values(gnutls_datum_t * g, gnutls_datum_t * n, char *str)
}
/* now go for n - modulo */
- p = strrchr(str, ':'); /* we have n */
+ p = strrchr(str, ':'); /* we have n */
if (p == NULL) {
return -1;
}
diff --git a/src/systemkey.c b/src/systemkey.c
index 8489879a22..9d044292e6 100644
--- a/src/systemkey.c
+++ b/src/systemkey.c
@@ -47,8 +47,8 @@
#include "systemkey-tool-options.h"
static void cmd_parser(int argc, char **argv);
-static void systemkey_delete(const char *url, FILE * outfile);
-static void systemkey_list(FILE * outfile);
+static void systemkey_delete(const char *url, FILE *outfile);
+static void systemkey_list(FILE *outfile);
static gnutls_x509_crt_fmt_t outcert_format;
static gnutls_x509_crt_fmt_t outkey_format;
@@ -124,7 +124,7 @@ static void cmd_parser(int argc, char **argv)
gnutls_global_deinit();
}
-static void systemkey_delete(const char *url, FILE * out)
+static void systemkey_delete(const char *url, FILE *out)
{
int ret;
@@ -138,17 +138,16 @@ static void systemkey_delete(const char *url, FILE * out)
fprintf(out, "Key %s deleted\n", url);
}
-static void systemkey_list(FILE * out)
+static void systemkey_list(FILE *out)
{
int ret;
gnutls_system_key_iter_t iter = NULL;
char *cert_url, *key_url, *label;
do {
- ret =
- gnutls_system_key_iter_get_info(&iter, GNUTLS_CRT_X509,
- &cert_url, &key_url, &label,
- NULL, 0);
+ ret = gnutls_system_key_iter_get_info(&iter, GNUTLS_CRT_X509,
+ &cert_url, &key_url,
+ &label, NULL, 0);
if (ret >= 0) {
fprintf(out, "Label:\t%s\nCert:\t%s\nKey:\t%s\n\n",
label, cert_url, key_url);
diff --git a/src/tests.c b/src/tests.c
index 253ecc00ba..27e8d18238 100644
--- a/src/tests.c
+++ b/src/tests.c
@@ -23,10 +23,10 @@
#include <gnutls/x509.h>
#ifndef _WIN32
-# include <unistd.h>
-# include <signal.h>
+#include <unistd.h>
+#include <signal.h>
#else
-# include <errno.h>
+#include <errno.h>
#endif
#include <stdio.h>
@@ -70,8 +70,7 @@ static int test_do_handshake(gnutls_session_t session)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
handshake_output = ret;
@@ -79,8 +78,8 @@ static int test_do_handshake(gnutls_session_t session)
if (ret == GNUTLS_E_FATAL_ALERT_RECEIVED) {
alert = gnutls_alert_get(session);
printf("\n");
- printf("*** Received alert [%d]: %s\n",
- alert, gnutls_alert_get_name(alert));
+ printf("*** Received alert [%d]: %s\n", alert,
+ gnutls_alert_get_name(alert));
}
}
@@ -111,38 +110,42 @@ char protocol_all_str[] = "+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0";
char prio_str[768] = "";
#ifdef ENABLE_GOST
-# define GOST_CIPHERS ":+GOST28147-TC26Z-CNT"
-# define GOST_MACS ":+GOST28147-TC26Z-IMIT"
-# define GOST_KX ":+VKO-GOST-12"
-# define GOST_REST ":+SIGN-GOSTR341012-512:+SIGN-GOSTR341012-256:+SIGN-GOSTR341001:+GROUP-GOST-ALL"
+#define GOST_CIPHERS ":+GOST28147-TC26Z-CNT"
+#define GOST_MACS ":+GOST28147-TC26Z-IMIT"
+#define GOST_KX ":+VKO-GOST-12"
+#define GOST_REST \
+ ":+SIGN-GOSTR341012-512:+SIGN-GOSTR341012-256:+SIGN-GOSTR341001:+GROUP-GOST-ALL"
#else
-# define GOST_CIPHERS
-# define GOST_MACS
-# define GOST_KX
-# define GOST_REST
+#define GOST_CIPHERS
+#define GOST_MACS
+#define GOST_KX
+#define GOST_REST
#endif
#define ALL_CIPHERS "+CIPHER-ALL:+ARCFOUR-128:+3DES-CBC" GOST_CIPHERS
-#define BLOCK_CIPHERS "+3DES-CBC:+AES-128-CBC:+CAMELLIA-128-CBC:+AES-256-CBC:+CAMELLIA-256-CBC"
+#define BLOCK_CIPHERS \
+ "+3DES-CBC:+AES-128-CBC:+CAMELLIA-128-CBC:+AES-256-CBC:+CAMELLIA-256-CBC"
#define SSL3_CIPHERS "+ARCFOUR-128:+3DES-CBC"
#define ALL_COMP "+COMP-NULL"
#define ALL_MACS "+MAC-ALL:+MD5:+SHA1" GOST_MACS
#define SSL3_MACS "+MD5:+SHA1"
-#define ALL_KX "+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+ECDHE-RSA:+ECDHE-ECDSA:+ANON-ECDH" GOST_KX
+#define ALL_KX \
+ "+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+ECDHE-RSA:+ECDHE-ECDSA:+ANON-ECDH" GOST_KX
#define SSL3_KX "+RSA:+DHE-RSA:+DHE-DSS"
#define INIT_STR "NONE:"
char rest[384] = "%UNSAFE_RENEGOTIATION:+SIGN-ALL:+GROUP-ALL" GOST_REST;
-#define _gnutls_priority_set_direct(s, str) { \
- int _ret; \
- if ((_ret=__gnutls_priority_set_direct(s, str, __LINE__)) != TEST_SUCCEED) { \
- return _ret; \
- } \
+#define _gnutls_priority_set_direct(s, str) \
+ { \
+ int _ret; \
+ if ((_ret = __gnutls_priority_set_direct(s, str, __LINE__)) != \
+ TEST_SUCCEED) { \
+ return _ret; \
+ } \
}
-static inline int
-__gnutls_priority_set_direct(gnutls_session_t session, const char *str,
- int line)
+static inline int __gnutls_priority_set_direct(gnutls_session_t session,
+ const char *str, int line)
{
const char *err;
int ret = gnutls_priority_set_direct(session, str, &err);
@@ -169,9 +172,10 @@ test_code_t test_server(gnutls_session_t session)
buf[sizeof(buf) - 1] = 0;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":" ALL_KX ":" "%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX ":"
+ "%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -211,9 +215,10 @@ test_code_t test_dhe(gnutls_session_t session)
#ifdef ENABLE_DHE
int ret;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+DHE-RSA:+DHE-DSS:%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+DHE-RSA:+DHE-DSS:%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -232,17 +237,18 @@ test_code_t test_rfc7919(gnutls_session_t session)
#ifdef ENABLE_DHE
int ret;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+DHE-RSA:+DHE-DSS:+GROUP-ALL:%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+DHE-RSA:+DHE-DSS:+GROUP-ALL:%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
ret = test_do_handshake(session);
- if (ret != TEST_FAILED
- && (gnutls_session_get_flags(session) & GNUTLS_SFLAGS_RFC7919))
+ if (ret != TEST_FAILED &&
+ (gnutls_session_get_flags(session) & GNUTLS_SFLAGS_RFC7919))
return TEST_SUCCEED;
else
return TEST_FAILED;
@@ -257,10 +263,10 @@ test_code_t test_ecdhe(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+ECDHE-RSA:+ECDHE-ECDSA:+CURVE-ALL:%s", protocol_all_str,
- rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+ECDHE-RSA:+ECDHE-ECDSA:+CURVE-ALL:%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -281,9 +287,10 @@ test_code_t test_vko_gost_12(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+VKO-GOST-12:%s", protocol_all_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+VKO-GOST-12:%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -304,9 +311,9 @@ test_code_t test_rsa(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+RSA:%s", protocol_all_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":+RSA:%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -319,9 +326,8 @@ test_code_t test_rsa(gnutls_session_t session)
return ret;
}
-static
-test_code_t test_ecdhe_curve(gnutls_session_t session, const char *curve,
- unsigned id)
+static test_code_t test_ecdhe_curve(gnutls_session_t session, const char *curve,
+ unsigned id)
{
int ret;
@@ -330,10 +336,10 @@ test_code_t test_ecdhe_curve(gnutls_session_t session, const char *curve,
/* We always enable all the curves but set our selected as first. That is
* because list of curves may be also used by the server to select a cert. */
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+ECDHE-RSA:+ECDHE-ECDSA:%s:%s", protocol_all_str, curve,
- rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+ECDHE-RSA:+ECDHE-ECDSA:%s:%s",
+ protocol_all_str, curve, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -389,9 +395,10 @@ test_code_t test_rfc7507(gnutls_session_t session)
else
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":" ALL_KX ":%s", pstr, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ pstr, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -413,9 +420,10 @@ test_code_t test_safe_renegotiation(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":" ALL_KX ":%s:%%SAFE_RENEGOTIATION", rest, protocol_str);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s:%%SAFE_RENEGOTIATION",
+ rest, protocol_str);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -434,9 +442,10 @@ test_code_t test_ocsp_status(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":" ALL_KX ":%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_ocsp_status_request_enable_client(session, NULL, 0, NULL);
@@ -464,9 +473,9 @@ test_code_t test_ext_master_secret(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":%s:" ALL_KX, rest, protocol_str);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":%s:" ALL_KX,
+ rest, protocol_str);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -489,9 +498,10 @@ test_code_t test_etm(gnutls_session_t session)
if (tls_ext_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- "+AES-128-CBC:+AES-256-CBC:" ALL_COMP ":%s:" ALL_MACS
- ":%s:" ALL_KX, rest, protocol_str);
+ sprintf(prio_str,
+ INIT_STR "+AES-128-CBC:+AES-256-CBC:" ALL_COMP ":%s:" ALL_MACS
+ ":%s:" ALL_KX,
+ rest, protocol_str);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -514,9 +524,9 @@ test_code_t test_safe_renegotiation_scsv(gnutls_session_t session)
if (ssl3_ok == 0)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":+VERS-TLS1.0:"
- ALL_MACS ":" ALL_KX ":%%SAFE_RENEGOTIATION");
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":+VERS-TLS1.0:" ALL_MACS
+ ":" ALL_KX ":%%SAFE_RENEGOTIATION");
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -538,9 +548,10 @@ test_code_t test_dhe_group(gnutls_session_t session)
if (verbose == 0 || pubkey.data == NULL)
return TEST_IGNORE;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":+DHE-RSA:+DHE-DSS:%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+DHE-RSA:+DHE-DSS:%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -549,7 +560,6 @@ test_code_t test_dhe_group(gnutls_session_t session)
ret2 = gnutls_dh_get_group(session, &gen, &prime);
if (ret2 >= 0) {
-
fp = fopen("debug-dh.out", "w");
if (fp == NULL)
return TEST_FAILED;
@@ -577,9 +587,8 @@ test_code_t test_dhe_group(gnutls_session_t session)
if (pubkey2.data && pubkey2.size == pubkey.size &&
memcmp(pubkey.data, pubkey2.data, pubkey.size) == 0) {
- fprintf
- (fp,
- " (public key seems to be static among sessions)\n");
+ fprintf(fp,
+ " (public key seems to be static among sessions)\n");
}
{
@@ -600,10 +609,8 @@ test_code_t test_dhe_group(gnutls_session_t session)
return TEST_FAILED;
}
- ret2 =
- gnutls_dh_params_export2_pkcs3(dhp,
- GNUTLS_X509_FMT_PEM,
- &p3);
+ ret2 = gnutls_dh_params_export2_pkcs3(
+ dhp, GNUTLS_X509_FMT_PEM, &p3);
if (ret2 < 0) {
gnutls_dh_params_deinit(dhp);
fclose(fp);
@@ -623,9 +630,11 @@ test_code_t test_dhe_group(gnutls_session_t session)
test_code_t test_ssl3(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- SSL3_CIPHERS ":" ALL_COMP ":+VERS-SSL3.0:%%NO_EXTENSIONS:"
- SSL3_MACS ":" SSL3_KX ":%s", rest);
+ sprintf(prio_str,
+ INIT_STR SSL3_CIPHERS ":" ALL_COMP
+ ":+VERS-SSL3.0:%%NO_EXTENSIONS:" SSL3_MACS
+ ":" SSL3_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -640,9 +649,10 @@ test_code_t test_ssl3(gnutls_session_t session)
test_code_t test_ssl3_with_extensions(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- SSL3_CIPHERS ":" ALL_COMP ":+VERS-SSL3.0:"
- SSL3_MACS ":" SSL3_KX ":%s", rest);
+ sprintf(prio_str,
+ INIT_STR SSL3_CIPHERS ":" ALL_COMP ":+VERS-SSL3.0:" SSL3_MACS
+ ":" SSL3_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -665,9 +675,10 @@ test_code_t test_ssl3_with_extensions(gnutls_session_t session)
test_code_t test_ssl3_unknown_ciphersuites(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":+VERS-SSL3.0:"
- ALL_MACS ":" ALL_KX ":%s", rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":+VERS-SSL3.0:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -696,9 +707,10 @@ test_code_t test_bye(gnutls_session_t session)
signal(SIGALRM, got_alarm);
#endif
- sprintf(prio_str, INIT_STR
- ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
- ":" ALL_KX ":%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -723,8 +735,7 @@ test_code_t test_bye(gnutls_session_t session)
do {
ret = gnutls_record_recv(session, data, sizeof(data));
- }
- while (ret > 0);
+ } while (ret > 0);
#ifndef _WIN32
sigaction(SIGALRM, &old_sa, NULL);
@@ -746,9 +757,10 @@ test_code_t test_aes(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- "+AES-128-CBC:+AES-256-CBC:" ALL_COMP ":%s:" ALL_MACS
- ":" ALL_KX ":%s", protocol_str, rest);
+ sprintf(prio_str,
+ INIT_STR "+AES-128-CBC:+AES-256-CBC:" ALL_COMP ":%s:" ALL_MACS
+ ":" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -761,9 +773,10 @@ test_code_t test_aes_gcm(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- "+AES-128-GCM:+AES-256-GCM:" ALL_COMP
- ":%s:" ALL_MACS ":" ALL_KX ":%s", protocol_all_str, rest);
+ sprintf(prio_str,
+ INIT_STR "+AES-128-GCM:+AES-256-GCM:" ALL_COMP ":%s:" ALL_MACS
+ ":" ALL_KX ":%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -776,9 +789,10 @@ test_code_t test_aes_ccm(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- "+AES-128-CCM:+AES-256-CCM:" ALL_COMP
- ":%s:" ALL_MACS ":" ALL_KX ":%s", protocol_all_str, rest);
+ sprintf(prio_str,
+ INIT_STR "+AES-128-CCM:+AES-256-CCM:" ALL_COMP ":%s:" ALL_MACS
+ ":" ALL_KX ":%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -791,9 +805,10 @@ test_code_t test_aes_ccm_8(gnutls_session_t session)
{
int ret;
- sprintf(prio_str, INIT_STR
- "+AES-128-CCM-8:+AES-256-CCM-8:" ALL_COMP
- ":%s:" ALL_MACS ":" ALL_KX ":%s", protocol_all_str, rest);
+ sprintf(prio_str,
+ INIT_STR "+AES-128-CCM-8:+AES-256-CCM-8:" ALL_COMP
+ ":%s:" ALL_MACS ":" ALL_KX ":%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -811,7 +826,8 @@ test_code_t test_camellia_cbc(gnutls_session_t session)
sprintf(prio_str,
INIT_STR "+CAMELLIA-128-CBC:+CAMELLIA-256-CBC:" ALL_COMP
- ":%s:" ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ ":%s:" ALL_MACS ":" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -829,7 +845,8 @@ test_code_t test_camellia_gcm(gnutls_session_t session)
sprintf(prio_str,
INIT_STR "+CAMELLIA-128-GCM:+CAMELLIA-256-GCM:" ALL_COMP
- ":%s:" ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ ":%s:" ALL_MACS ":" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -843,8 +860,9 @@ test_code_t test_unknown_ciphersuites(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":%s:" ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -861,8 +879,8 @@ test_code_t test_md5(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":%s:+MD5:" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:+MD5:" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -876,8 +894,8 @@ test_code_t test_sha(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":%s:+SHA1:" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:+SHA1:" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -890,8 +908,8 @@ test_code_t test_sha256(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":%s:+SHA256:" ALL_KX ":%s", protocol_all_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:+SHA256:" ALL_KX ":%s",
+ protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -909,7 +927,7 @@ test_code_t test_gost_imit(gnutls_session_t session)
sprintf(prio_str,
INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":%s:+GOST28147-TC26Z-IMIT:" ALL_KX ":%s",
+ ":%s:+GOST28147-TC26Z-IMIT:" ALL_KX ":%s",
protocol_all_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -924,8 +942,8 @@ test_code_t test_3des(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR "+3DES-CBC:" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR "+3DES-CBC:" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -941,8 +959,9 @@ test_code_t test_arcfour(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR "+ARCFOUR-128:" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR "+ARCFOUR-128:" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -958,8 +977,9 @@ test_code_t test_chacha20(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR "+CHACHA20-POLY1305:" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR "+CHACHA20-POLY1305:" ALL_COMP ":%s:" ALL_MACS
+ ":" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -976,8 +996,9 @@ test_code_t test_gost_cnt(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR "+GOST28147-TC26Z-CNT:" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR "+GOST28147-TC26Z-CNT:" ALL_COMP ":%s:" ALL_MACS
+ ":" ALL_KX ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -991,9 +1012,10 @@ test_code_t test_tls1(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.0:%%SSL3_RECORD_VERSION:" ALL_MACS ":" ALL_KX
- ":%s", rest);
+ INIT_STR ALL_CIPHERS
+ ":" ALL_COMP ":+VERS-TLS1.0:%%SSL3_RECORD_VERSION:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1003,7 +1025,6 @@ test_code_t test_tls1(gnutls_session_t session)
tls1_ok = 1;
return ret;
-
}
test_code_t test_tls1_nossl3(gnutls_session_t session)
@@ -1014,9 +1035,10 @@ test_code_t test_tls1_nossl3(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.0:%%LATEST_RECORD_VERSION:" ALL_MACS ":" ALL_KX
- ":%s", rest);
+ INIT_STR ALL_CIPHERS
+ ":" ALL_COMP ":+VERS-TLS1.0:%%LATEST_RECORD_VERSION:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1028,7 +1050,6 @@ test_code_t test_tls1_nossl3(gnutls_session_t session)
}
return ret;
-
}
test_code_t test_record_padding(gnutls_session_t session)
@@ -1036,9 +1057,11 @@ test_code_t test_record_padding(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR BLOCK_CIPHERS ":" ALL_COMP
+ INIT_STR BLOCK_CIPHERS
+ ":" ALL_COMP
":+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:-VERS-SSL3.0:" ALL_MACS
- ":" ALL_KX ":%s", rest);
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1047,9 +1070,11 @@ test_code_t test_record_padding(gnutls_session_t session)
tls1_ok = 1;
} else {
sprintf(prio_str,
- INIT_STR BLOCK_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:-VERS-SSL3.0:"
- ALL_MACS ":" ALL_KX ":%%COMPAT:%s", rest);
+ INIT_STR BLOCK_CIPHERS
+ ":" ALL_COMP
+ ":+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:-VERS-SSL3.0:" ALL_MACS
+ ":" ALL_KX ":%%COMPAT:%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1058,7 +1083,7 @@ test_code_t test_record_padding(gnutls_session_t session)
tls1_ok = 1;
strcat(rest, ":%COMPAT");
} else
- ret = TEST_IGNORE2; /* neither succeeded */
+ ret = TEST_IGNORE2; /* neither succeeded */
}
return ret;
@@ -1075,8 +1100,9 @@ test_code_t test_no_extensions(gnutls_session_t session)
#endif
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
gnutls_record_set_max_size(session, 4096);
@@ -1086,9 +1112,11 @@ test_code_t test_no_extensions(gnutls_session_t session)
tls_ext_ok = 1;
} else {
sprintf(prio_str,
- INIT_STR BLOCK_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:-VERS-SSL3.0:"
- ALL_MACS ":" ALL_KX ":%%NO_EXTENSIONS:%s", rest);
+ INIT_STR BLOCK_CIPHERS
+ ":" ALL_COMP
+ ":+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:-VERS-SSL3.0:" ALL_MACS
+ ":" ALL_KX ":%%NO_EXTENSIONS:%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1097,7 +1125,7 @@ test_code_t test_no_extensions(gnutls_session_t session)
tls_ext_ok = 0;
strcat(rest, ":%NO_EXTENSIONS");
} else
- ret = TEST_IGNORE2; /* neither succeeded */
+ ret = TEST_IGNORE2; /* neither succeeded */
}
return ret;
@@ -1105,8 +1133,8 @@ test_code_t test_no_extensions(gnutls_session_t session)
test_code_t test_known_protocols(gnutls_session_t session)
{
- if (tls1_2_ok == 0 && tls1_1_ok == 0 && tls1_ok == 0 &&
- ssl3_ok == 0 && tls1_3_ok == 0)
+ if (tls1_2_ok == 0 && tls1_1_ok == 0 && tls1_ok == 0 && ssl3_ok == 0 &&
+ tls1_3_ok == 0)
return TEST_FAILED;
return TEST_SUCCEED;
@@ -1117,8 +1145,9 @@ test_code_t test_tls1_2(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.2:" ALL_MACS ":" ALL_KX ":%s", rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":+VERS-TLS1.2:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1128,7 +1157,6 @@ test_code_t test_tls1_2(gnutls_session_t session)
tls1_2_ok = 1;
return ret;
-
}
test_code_t test_tls1_3(gnutls_session_t session)
@@ -1136,8 +1164,9 @@ test_code_t test_tls1_3(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.3:" ALL_MACS ":" ALL_KX ":%s", rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":+VERS-TLS1.3:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1147,7 +1176,6 @@ test_code_t test_tls1_3(gnutls_session_t session)
tls1_3_ok = 1;
return ret;
-
}
test_code_t test_tls1_1(gnutls_session_t session)
@@ -1155,8 +1183,9 @@ test_code_t test_tls1_1(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.1:" ALL_MACS ":" ALL_KX ":%s", rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":+VERS-TLS1.1:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1166,7 +1195,6 @@ test_code_t test_tls1_1(gnutls_session_t session)
tls1_1_ok = 1;
return ret;
-
}
test_code_t test_tls1_1_fallback(gnutls_session_t session)
@@ -1176,9 +1204,10 @@ test_code_t test_tls1_1_fallback(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
- ":+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0:" ALL_MACS ":"
- ALL_KX ":%s", rest);
+ INIT_STR ALL_CIPHERS
+ ":" ALL_COMP ":+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0:" ALL_MACS
+ ":" ALL_KX ":%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1193,7 +1222,6 @@ test_code_t test_tls1_1_fallback(gnutls_session_t session)
return TEST_UNSURE;
return TEST_FAILED;
-
}
test_code_t test_tls1_6_fallback(gnutls_session_t session)
@@ -1203,9 +1231,11 @@ test_code_t test_tls1_6_fallback(gnutls_session_t session)
/* we remove RSA as there is a version check in the key exchange
* message we do not properly set in this test */
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP
+ INIT_STR ALL_CIPHERS
+ ":" ALL_COMP
":+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0:" ALL_MACS
- ":" ALL_KX ":-RSA:%s", rest);
+ ":" ALL_KX ":-RSA:%s",
+ rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1216,7 +1246,7 @@ test_code_t test_tls1_6_fallback(gnutls_session_t session)
return TEST_FAILED;
ext_text =
- gnutls_protocol_get_name(gnutls_protocol_get_version(session));
+ gnutls_protocol_get_name(gnutls_protocol_get_version(session));
return TEST_SUCCEED;
}
@@ -1230,8 +1260,9 @@ test_code_t test_tls_disable0(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1244,7 +1275,6 @@ test_code_t test_tls_disable0(gnutls_session_t session)
}
}
return ret;
-
}
test_code_t test_tls_disable1(gnutls_session_t session)
@@ -1255,8 +1285,9 @@ test_code_t test_tls_disable1(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1278,8 +1309,9 @@ test_code_t test_tls_disable2(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1303,8 +1335,8 @@ test_code_t test_rsa_pms(gnutls_session_t session)
* SSL 3.0 then the handshake will fail.
*/
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":+RSA:%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":+RSA:%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1325,8 +1357,9 @@ test_code_t test_max_record_size(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
gnutls_record_set_max_size(session, 512);
@@ -1348,8 +1381,9 @@ test_code_t test_heartbeat_extension(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
gnutls_record_set_max_size(session, 4096);
@@ -1357,8 +1391,8 @@ test_code_t test_heartbeat_extension(gnutls_session_t session)
gnutls_heartbeat_enable(session, GNUTLS_HB_PEER_ALLOWED_TO_SEND);
test_do_handshake(session);
- switch (gnutls_heartbeat_allowed
- (session, GNUTLS_HB_LOCAL_ALLOWED_TO_SEND)) {
+ switch (gnutls_heartbeat_allowed(session,
+ GNUTLS_HB_LOCAL_ALLOWED_TO_SEND)) {
case 0:
return TEST_FAILED;
default:
@@ -1371,8 +1405,9 @@ test_code_t test_small_records(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
gnutls_record_set_max_size(session, 512);
@@ -1395,8 +1430,9 @@ test_code_t test_version_rollback(gnutls_session_t session)
* connection will fail.
*/
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
_gnutls_record_set_default_version(session, 3, 0);
@@ -1422,8 +1458,9 @@ test_code_t test_version_oob(gnutls_session_t session)
* and we connect using a 5.5 record version.
*/
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
_gnutls_record_set_default_version(session, 5, 5);
@@ -1432,8 +1469,8 @@ test_code_t test_version_oob(gnutls_session_t session)
return ret;
}
-void _gnutls_rsa_pms_set_version(gnutls_session_t session,
- unsigned char major, unsigned char minor);
+void _gnutls_rsa_pms_set_version(gnutls_session_t session, unsigned char major,
+ unsigned char minor);
test_code_t test_rsa_pms_version_check(gnutls_session_t session)
{
@@ -1444,15 +1481,15 @@ test_code_t test_rsa_pms_version_check(gnutls_session_t session)
* A normal server would abort this handshake.
*/
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
- _gnutls_rsa_pms_set_version(session, 5, 5); /* use SSL 5.5 version */
+ _gnutls_rsa_pms_set_version(session, 5, 5); /* use SSL 5.5 version */
ret = test_do_handshake(session);
return ret;
-
}
#ifdef ENABLE_ANON
@@ -1461,8 +1498,8 @@ test_code_t test_anonymous(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":+ANON-DH:+ANON-ECDH:+CURVE-ALL:%s",
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS
+ ":+ANON-DH:+ANON-ECDH:+CURVE-ALL:%s",
protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anon_cred);
@@ -1486,8 +1523,9 @@ test_code_t test_session_resume2(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1531,8 +1569,9 @@ test_code_t test_certificate(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1564,8 +1603,9 @@ test_code_t test_chain_order(gnutls_session_t session)
char *p, *pos;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1592,9 +1632,8 @@ test_code_t test_chain_order(gnutls_session_t session)
for (i = 0; i < cert_list_size; i++) {
char *new_p;
t.data = NULL;
- ret =
- gnutls_pem_base64_encode_alloc("CERTIFICATE", &cert_list[i],
- &t);
+ ret = gnutls_pem_base64_encode_alloc("CERTIFICATE",
+ &cert_list[i], &t);
if (ret < 0) {
free(p);
return TEST_FAILED;
@@ -1622,10 +1661,9 @@ test_code_t test_chain_order(gnutls_session_t session)
t.data = (void *)p;
p_size = 0;
- ret =
- gnutls_x509_crt_list_import2(&certs, &p_size, &t,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &certs, &p_size, &t, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
return TEST_FAILED;
}
@@ -1641,11 +1679,10 @@ test_code_t test_chain_order(gnutls_session_t session)
/* A callback function to be used at the certificate selection time.
*/
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_retr2_st * st)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_retr2_st *st)
{
char issuer_dn[256];
int i, ret;
@@ -1665,9 +1702,8 @@ cert_callback(gnutls_session_t session,
if (nreqs > 0)
fprintf(fp, "- Server's trusted authorities:\n");
else
- fprintf
- (fp,
- "- Server did not send us any trusted authorities names.\n");
+ fprintf(fp,
+ "- Server did not send us any trusted authorities names.\n");
/* print the names (if any) */
for (i = 0; i < nreqs; i++) {
@@ -1681,7 +1717,6 @@ cert_callback(gnutls_session_t session,
fclose(fp);
return -1;
-
}
/* Prints the trusted server's CAs. This is only
@@ -1696,8 +1731,9 @@ test_code_t test_server_cas(gnutls_session_t session)
return TEST_IGNORE;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1743,8 +1779,9 @@ test_code_t test_send_record(gnutls_session_t session)
int ret;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%s", protocol_str, rest);
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%s",
+ protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
@@ -1763,8 +1800,8 @@ test_code_t test_send_record_with_allow_small_records(gnutls_session_t session)
return TEST_FAILED;
sprintf(prio_str,
- INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:"
- ALL_MACS ":" ALL_KX ":%%ALLOW_SMALL_RECORDS:%s",
+ INIT_STR ALL_CIPHERS ":" ALL_COMP ":%s:" ALL_MACS ":" ALL_KX
+ ":%%ALLOW_SMALL_RECORDS:%s",
protocol_str, rest);
_gnutls_priority_set_direct(session, prio_str);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
diff --git a/src/tests.h b/src/tests.h
index f5fd646311..8124ebdd5c 100644
--- a/src/tests.h
+++ b/src/tests.h
@@ -19,10 +19,14 @@
*/
#ifndef GNUTLS_SRC_TESTS_H
-# define GNUTLS_SRC_TESTS_H
+#define GNUTLS_SRC_TESTS_H
typedef enum {
- TEST_SUCCEED, TEST_FAILED, TEST_UNSURE, TEST_IGNORE /*keep socket */ , TEST_IGNORE2 /*destroy socket */
+ TEST_SUCCEED,
+ TEST_FAILED,
+ TEST_UNSURE,
+ TEST_IGNORE /*keep socket */,
+ TEST_IGNORE2 /*destroy socket */
} test_code_t;
test_code_t test_chain_order(gnutls_session_t session);
@@ -75,8 +79,8 @@ test_code_t test_rsa_pms_version_check(gnutls_session_t session);
test_code_t test_version_oob(gnutls_session_t session);
test_code_t test_send_record(gnutls_session_t session);
test_code_t test_send_record_with_allow_small_records(gnutls_session_t session);
-int _test_srp_username_callback(gnutls_session_t session,
- char **username, char **password);
+int _test_srp_username_callback(gnutls_session_t session, char **username,
+ char **password);
test_code_t test_rsa(gnutls_session_t session);
test_code_t test_ecdhe_x25519(gnutls_session_t session);
@@ -89,10 +93,10 @@ test_code_t test_aes_ccm(gnutls_session_t session);
test_code_t test_aes_ccm_8(gnutls_session_t session);
test_code_t test_sha256(gnutls_session_t session);
-# ifdef ENABLE_GOST
+#ifdef ENABLE_GOST
test_code_t test_vko_gost_12(gnutls_session_t session);
test_code_t test_gost_cnt(gnutls_session_t session);
test_code_t test_gost_imit(gnutls_session_t session);
-# endif
+#endif
-#endif /* GNUTLS_SRC_TESTS_H */
+#endif /* GNUTLS_SRC_TESTS_H */
diff --git a/src/tpmtool.c b/src/tpmtool.c
index 33c2e0cf1f..db8a201b3c 100644
--- a/src/tpmtool.c
+++ b/src/tpmtool.c
@@ -48,15 +48,15 @@
#include "common.h"
static void cmd_parser(int argc, char **argv);
-static void tpm_generate(FILE * outfile, unsigned int key_type,
+static void tpm_generate(FILE *outfile, unsigned int key_type,
unsigned int bits, unsigned int flags,
unsigned int srk_well_known);
-static void tpm_pubkey(const char *url, FILE * outfile,
+static void tpm_pubkey(const char *url, FILE *outfile,
unsigned int srk_well_known);
-static void tpm_delete(const char *url, FILE * outfile,
+static void tpm_delete(const char *url, FILE *outfile,
unsigned int srk_well_known);
-static void tpm_test_sign(const char *url, FILE * outfile);
-static void tpm_list(FILE * outfile);
+static void tpm_test_sign(const char *url, FILE *outfile);
+static void tpm_list(FILE *outfile);
static gnutls_x509_crt_fmt_t incert_format, outcert_format;
static gnutls_tpmkey_fmt_t inkey_format, outkey_format;
@@ -186,7 +186,7 @@ static void cmd_parser(int argc, char **argv)
#define TEST_DATA "Test data to sign"
-static void tpm_test_sign(const char *url, FILE * out)
+static void tpm_test_sign(const char *url, FILE *out)
{
gnutls_privkey_t privkey;
gnutls_pubkey_t pubkey;
@@ -201,15 +201,15 @@ static void tpm_test_sign(const char *url, FILE * out)
ret = gnutls_privkey_init(&privkey);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
exit(1);
}
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0) {
- fprintf(stderr, "Error in %s:%d: %s\n", __func__,
- __LINE__, gnutls_strerror(ret));
+ fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__,
+ gnutls_strerror(ret));
exit(1);
}
@@ -227,8 +227,8 @@ static void tpm_test_sign(const char *url, FILE * out)
exit(1);
}
- ret =
- gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0, &data, &sig);
+ ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0, &data,
+ &sig);
if (ret < 0) {
fprintf(stderr, "Cannot sign data: %s\n", gnutls_strerror(ret));
exit(1);
@@ -237,10 +237,8 @@ static void tpm_test_sign(const char *url, FILE * out)
pk = gnutls_pubkey_get_pk_algorithm(pubkey, NULL);
fprintf(stderr, "Verifying against private key parameters... ");
- ret =
- gnutls_pubkey_verify_data2(pubkey,
- gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA1),
- 0, &data, &sig);
+ ret = gnutls_pubkey_verify_data2(
+ pubkey, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA1), 0, &data, &sig);
if (ret < 0) {
fprintf(stderr, "Cannot verify signed data: %s\n",
gnutls_strerror(ret));
@@ -254,9 +252,8 @@ static void tpm_test_sign(const char *url, FILE * out)
gnutls_privkey_deinit(privkey);
}
-static void tpm_generate(FILE * out, unsigned int key_type,
- unsigned int bits, unsigned int flags,
- unsigned int srk_well_known)
+static void tpm_generate(FILE *out, unsigned int key_type, unsigned int bits,
+ unsigned int flags, unsigned int srk_well_known)
{
int ret;
char *srk_pass = NULL, *key_pass = NULL;
@@ -274,10 +271,9 @@ static void tpm_generate(FILE * out, unsigned int key_type,
key_pass = strdup(pass);
}
- ret =
- gnutls_tpm_privkey_generate(key_type, bits, srk_pass, key_pass,
- outkey_format, outcert_format,
- &privkey, &pubkey, flags);
+ ret = gnutls_tpm_privkey_generate(key_type, bits, srk_pass, key_pass,
+ outkey_format, outcert_format,
+ &privkey, &pubkey, flags);
free(key_pass);
free(srk_pass);
@@ -295,7 +291,7 @@ static void tpm_generate(FILE * out, unsigned int key_type,
gnutls_free(pubkey.data);
}
-static void tpm_delete(const char *url, FILE * out, unsigned int srk_well_known)
+static void tpm_delete(const char *url, FILE *out, unsigned int srk_well_known)
{
int ret;
char *srk_pass = NULL;
@@ -313,7 +309,7 @@ static void tpm_delete(const char *url, FILE * out, unsigned int srk_well_known)
fprintf(out, "Key %s deleted\n", url);
}
-static void tpm_list(FILE * out)
+static void tpm_list(FILE *out)
{
int ret;
gnutls_tpm_key_list_t list;
@@ -347,7 +343,7 @@ static void tpm_list(FILE * out)
fputs("\n", out);
}
-static void tpm_pubkey(const char *url, FILE * out, unsigned int srk_well_known)
+static void tpm_pubkey(const char *url, FILE *out, unsigned int srk_well_known)
{
int ret;
char *srk_pass = NULL;
diff --git a/src/udp-serv.c b/src/udp-serv.c
index 7ffbf8aad1..4777b05601 100644
--- a/src/udp-serv.c
+++ b/src/udp-serv.c
@@ -21,13 +21,13 @@
#include <stdio.h>
#if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
+#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
+#include <ws2tcpip.h>
#endif
#include <arpa/inet.h>
#ifndef _WIN32
-# include <netinet/in.h>
+#include <netinet/in.h>
#endif
#include <sys/select.h>
#include <stdlib.h>
@@ -52,7 +52,7 @@ static ssize_t push_func(gnutls_transport_ptr_t p, const void *data,
size_t size);
static ssize_t pull_func(gnutls_transport_ptr_t p, void *data, size_t size);
-#define MAX_BUFFER 255 /* Longest string to echo */
+#define MAX_BUFFER 255 /* Longest string to echo */
/* record layer indication for a handshake packet */
#define HANDSHAKE_CONTENT_TYPE 22
@@ -94,24 +94,20 @@ void udp_server(const char *name, int port, int mtu)
continue;
cli_addr_size = sizeof(cli_addr);
- ret =
- recvfrom(sock, buffer, sizeof(buffer) - 1, MSG_PEEK,
- (struct sockaddr *)&cli_addr, &cli_addr_size);
+ ret = recvfrom(sock, buffer, sizeof(buffer) - 1, MSG_PEEK,
+ (struct sockaddr *)&cli_addr, &cli_addr_size);
/* only accept a valid client hello */
if (ret > HANDSHAKE_TYPE_POS &&
buffer[RECORD_CONTENT_POS] == HANDSHAKE_CONTENT_TYPE &&
buffer[HANDSHAKE_TYPE_POS] ==
- GNUTLS_HANDSHAKE_CLIENT_HELLO) {
+ GNUTLS_HANDSHAKE_CLIENT_HELLO) {
if (!HAVE_OPT(NOCOOKIE)) {
memset(&prestate, 0, sizeof(prestate));
- ret =
- gnutls_dtls_cookie_verify(&cookie_key,
- &cli_addr,
- cli_addr_size,
- buffer, ret,
- &prestate);
- if (ret < 0) { /* cookie not valid */
+ ret = gnutls_dtls_cookie_verify(
+ &cookie_key, &cli_addr, cli_addr_size,
+ buffer, ret, &prestate);
+ if (ret < 0) { /* cookie not valid */
priv_data_st s;
memset(&s, 0, sizeof(s));
@@ -119,18 +115,16 @@ void udp_server(const char *name, int port, int mtu)
s.cli_addr = (void *)&cli_addr;
s.cli_addr_size = cli_addr_size;
- printf
- ("Sending hello verify request to %s\n",
- human_addr((struct sockaddr *)
- &cli_addr,
- cli_addr_size, buffer,
- sizeof(buffer) - 1));
- gnutls_dtls_cookie_send(&cookie_key,
- &cli_addr,
- cli_addr_size,
- &prestate,
- (gnutls_transport_ptr_t)
- & s, push_func);
+ printf("Sending hello verify request to %s\n",
+ human_addr((struct sockaddr
+ *)&cli_addr,
+ cli_addr_size, buffer,
+ sizeof(buffer) - 1));
+ gnutls_dtls_cookie_send(
+ &cookie_key, &cli_addr,
+ cli_addr_size, &prestate,
+ (gnutls_transport_ptr_t)&s,
+ push_func);
/* discard peeked data */
recvfrom(sock, buffer,
@@ -141,9 +135,9 @@ void udp_server(const char *name, int port, int mtu)
}
}
printf("Accepted connection from %s\n",
- human_addr((struct sockaddr *)
- &cli_addr, sizeof(cli_addr),
- buffer, sizeof(buffer) - 1));
+ human_addr((struct sockaddr *)&cli_addr,
+ sizeof(cli_addr), buffer,
+ sizeof(buffer) - 1));
} else
continue;
@@ -167,8 +161,7 @@ void udp_server(const char *name, int port, int mtu)
do {
ret = gnutls_handshake(session);
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fprintf(stderr, "Error in handshake(): %s\n",
@@ -179,24 +172,21 @@ void udp_server(const char *name, int port, int mtu)
for (;;) {
do {
- ret =
- gnutls_record_recv_seq(session, buffer,
- sizeof(buffer) - 1,
- sequence);
+ ret = gnutls_record_recv_seq(session, buffer,
+ sizeof(buffer) - 1,
+ sequence);
if (ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED)
gnutls_heartbeat_pong(session, 0);
- }
- while (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
+ } while (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
if (ret == GNUTLS_E_REHANDSHAKE) {
fprintf(stderr, "*** Received hello message\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret == GNUTLS_E_INTERRUPTED ||
- ret == GNUTLS_E_AGAIN);
+ } while (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_AGAIN);
if (ret == 0)
continue;
@@ -212,19 +202,17 @@ void udp_server(const char *name, int port, int mtu)
}
buffer[ret] = 0;
- printf
- ("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n",
- sequence[0], sequence[1], sequence[2],
- sequence[3], sequence[4], sequence[5],
- sequence[6], sequence[7], buffer);
-
- if (check_command(session, buffer, disable_client_cert)
- == 0) {
+ printf("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n",
+ sequence[0], sequence[1], sequence[2],
+ sequence[3], sequence[4], sequence[5],
+ sequence[6], sequence[7], buffer);
+
+ if (check_command(session, buffer,
+ disable_client_cert) == 0) {
/* reply back */
ret = gnutls_record_send(session, buffer, ret);
if (ret < 0) {
- fprintf(stderr,
- "Error in send(): %s\n",
+ fprintf(stderr, "Error in send(): %s\n",
gnutls_strerror(ret));
break;
}
@@ -261,12 +249,11 @@ static int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms)
* from
*/
cli_addr_size = sizeof(cli_addr);
- ret =
- recvfrom(priv->fd, &c, 1, MSG_PEEK,
- (struct sockaddr *)&cli_addr, &cli_addr_size);
+ ret = recvfrom(priv->fd, &c, 1, MSG_PEEK, (struct sockaddr *)&cli_addr,
+ &cli_addr_size);
if (ret > 0) {
- if (cli_addr_size == priv->cli_addr_size
- && memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
+ if (cli_addr_size == priv->cli_addr_size &&
+ memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
return 1;
}
@@ -291,21 +278,18 @@ static ssize_t pull_func(gnutls_transport_ptr_t p, void *data, size_t size)
int ret;
cli_addr_size = sizeof(cli_addr);
- ret =
- recvfrom(priv->fd, data, size, 0,
- (struct sockaddr *)&cli_addr, &cli_addr_size);
+ ret = recvfrom(priv->fd, data, size, 0, (struct sockaddr *)&cli_addr,
+ &cli_addr_size);
if (ret == -1)
return ret;
- if (cli_addr_size == priv->cli_addr_size
- && memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
+ if (cli_addr_size == priv->cli_addr_size &&
+ memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0)
return ret;
- printf("Denied connection from %s\n", human_addr((struct sockaddr *)
- &cli_addr,
- sizeof(cli_addr),
- buffer,
- sizeof(buffer)));
+ printf("Denied connection from %s\n",
+ human_addr((struct sockaddr *)&cli_addr, sizeof(cli_addr),
+ buffer, sizeof(buffer)));
gnutls_transport_set_errno(priv->session, EAGAIN);
return -1;
diff --git a/src/udp-serv.h b/src/udp-serv.h
index b32f9dd664..0b06e9740b 100644
--- a/src/udp-serv.h
+++ b/src/udp-serv.h
@@ -18,15 +18,15 @@
*/
#ifndef GNUTLS_SRC_UDP_SERV_H
-# define GNUTLS_SRC_UDP_SERV_H
+#define GNUTLS_SRC_UDP_SERV_H
-# include <gnutls/dtls.h>
+#include <gnutls/dtls.h>
void udp_server(const char *name, int port, int mtu);
gnutls_session_t initialize_session(int dtls);
-const char *human_addr(const struct sockaddr *sa, socklen_t salen,
- char *buf, size_t buflen);
+const char *human_addr(const struct sockaddr *sa, socklen_t salen, char *buf,
+ size_t buflen);
int wait_for_connection(void);
int listen_socket(const char *name, int listen_port, int socktype);
-#endif /* GNUTLS_SRC_UDP_SERV_H */
+#endif /* GNUTLS_SRC_UDP_SERV_H */
diff --git a/tests/aead-cipher-vec.c b/tests/aead-cipher-vec.c
index ff9085f2cd..6f13f39758 100644
--- a/tests/aead-cipher-vec.c
+++ b/tests/aead-cipher-vec.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/crypto.h>
@@ -83,18 +83,16 @@ static void start(const char *name, int algo)
fail("gnutls_cipher_init: %s\n", gnutls_strerror(ret));
for (i = 0; i < 2; i++) {
- ret = gnutls_aead_cipher_encryptv2(ch,
- iv.data, iv.size,
- auth_iov, 2,
- iov, i + 1, tag, &tag_size);
+ ret = gnutls_aead_cipher_encryptv2(ch, iv.data, iv.size,
+ auth_iov, 2, iov, i + 1, tag,
+ &tag_size);
if (ret < 0)
fail("could not encrypt data: %s\n",
gnutls_strerror(ret));
- ret = gnutls_aead_cipher_decryptv2(ch,
- iv.data, iv.size,
- auth_iov, 2,
- iov, i + 1, tag, tag_size);
+ ret = gnutls_aead_cipher_decryptv2(ch, iv.data, iv.size,
+ auth_iov, 2, iov, i + 1, tag,
+ tag_size);
if (ret < 0)
fail("could not decrypt data: %s\n",
gnutls_strerror(ret));
@@ -113,7 +111,7 @@ void doit(void)
ret = global_init();
if (ret < 0) {
- fail("Cannot initialize library\n"); /*errcode 1 */
+ fail("Cannot initialize library\n"); /*errcode 1 */
}
start("aes-128-gcm", GNUTLS_CIPHER_AES_128_GCM);
diff --git a/tests/alerts.c b/tests/alerts.c
index 53ed541e39..13c18ff5dd 100644
--- a/tests/alerts.c
+++ b/tests/alerts.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,19 +36,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include "cert-common.h"
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -105,8 +105,7 @@ static void client(int fd, const char *prio, int ign)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client (%s): Handshake has failed (%s)\n\n", prio,
@@ -119,20 +118,19 @@ static void client(int fd, const char *prio, int ign)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
- ret =
- gnutls_alert_send(session, GNUTLS_AL_WARNING,
- GNUTLS_A_USER_CANCELED);
+ ret = gnutls_alert_send(session, GNUTLS_AL_WARNING,
+ GNUTLS_A_USER_CANCELED);
if (ret < 0) {
fail("server: Error sending user cancelled alert: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_alert_send(session, GNUTLS_AL_FATAL, GNUTLS_A_DECRYPT_ERROR);
+ ret = gnutls_alert_send(session, GNUTLS_AL_FATAL,
+ GNUTLS_A_DECRYPT_ERROR);
if (ret < 0) {
fail("server: Error sending decrypt error alert: %s\n",
gnutls_strerror(ret));
@@ -197,8 +195,7 @@ static void server(int fd, const char *prio, int ign)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -211,13 +208,13 @@ static void server(int fd, const char *prio, int ign)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret > 0)
fail("error receiving alert: ret: %d\n", ret);
@@ -230,8 +227,8 @@ static void server(int fd, const char *prio, int ign)
do {
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret > 0)
fail("error receiving alert: ret: %d\n", ret);
@@ -282,7 +279,8 @@ static void start(const char *prio, int ign)
}
}
-# define AES_GCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -299,4 +297,4 @@ void doit(void)
start(AES_GCM, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/alpn-server-prec.c b/tests/alpn-server-prec.c
index b795e583a5..1069530308 100644
--- a/tests/alpn-server-prec.c
+++ b/tests/alpn-server-prec.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,18 +37,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -88,9 +88,10 @@ static void client(int fd, const char *protocol0, const char *protocol1,
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
if (protocol1) {
gnutls_datum_t t[3];
t[0].data = (void *)protocol0;
@@ -117,8 +118,7 @@ static void client(int fd, const char *protocol0, const char *protocol1,
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -131,8 +131,8 @@ static void client(int fd, const char *protocol0, const char *protocol1,
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_alpn_get_selected_protocol(session, &proto);
if (ret < 0) {
@@ -141,8 +141,8 @@ static void client(int fd, const char *protocol0, const char *protocol1,
}
if (debug) {
- fprintf(stderr, "selected protocol: %.*s\n",
- (int)proto.size, proto.data);
+ fprintf(stderr, "selected protocol: %.*s\n", (int)proto.size,
+ proto.data);
}
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -190,18 +190,18 @@ static void server(int fd, const char *protocol1, const char *protocol2,
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
t[0].data = (void *)protocol1;
t[0].size = strlen(protocol1);
t[1].data = (void *)protocol2;
t[1].size = strlen(protocol2);
- ret =
- gnutls_alpn_set_protocols(session, t, 2,
- GNUTLS_ALPN_SERVER_PRECEDENCE);
+ ret = gnutls_alpn_set_protocols(session, t, 2,
+ GNUTLS_ALPN_SERVER_PRECEDENCE);
if (ret < 0) {
gnutls_perror(ret);
exit(1);
@@ -213,8 +213,7 @@ static void server(int fd, const char *protocol1, const char *protocol2,
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -227,8 +226,8 @@ static void server(int fd, const char *protocol1, const char *protocol2,
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_alpn_get_selected_protocol(session, &selected);
if (ret < 0) {
@@ -240,9 +239,10 @@ static void server(int fd, const char *protocol1, const char *protocol2,
success("Protocol: %.*s\n", (int)selected.size, selected.data);
}
- if (selected.size != strlen(expected)
- || memcmp(selected.data, expected, selected.size) != 0) {
- fail("did not select the expected protocol (selected %.*s, expected %s)\n", selected.size, selected.data, expected);
+ if (selected.size != strlen(expected) ||
+ memcmp(selected.data, expected, selected.size) != 0) {
+ fail("did not select the expected protocol (selected %.*s, expected %s)\n",
+ selected.size, selected.data, expected);
exit(1);
}
@@ -311,4 +311,4 @@ void doit(void)
start("h2", "http/1.1", "http/1.1", "h3", "http/1.1");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/anonself.c b/tests/anonself.c
index f33f563ea2..5a6bdce7ed 100644
--- a/tests/anonself.c
+++ b/tests/anonself.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,26 +40,26 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-# define MSG "Hello TLS"
-# define MAX_BUF 1024
+#define MSG "Hello TLS"
+#define MAX_BUF 1024
static void client(int sd, const char *prio)
{
@@ -108,8 +108,8 @@ static void client(int sd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_record_send(session, MSG, sizeof(MSG) - 1);
if (ret != sizeof(MSG) - 1) {
@@ -128,7 +128,8 @@ static void client(int sd, const char *prio)
}
if (ret != sizeof(MSG) - 1 || memcmp(buffer, MSG, ret) != 0) {
- fail("client: received data of different size! (expected: %d, have: %d)\n", (int)strlen(MSG), ret);
+ fail("client: received data of different size! (expected: %d, have: %d)\n",
+ (int)strlen(MSG), ret);
goto end;
}
@@ -142,7 +143,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -153,7 +154,7 @@ static void client(int sd, const char *prio)
gnutls_global_deinit();
}
-# define DH_BITS 1024
+#define DH_BITS 1024
static void server(int sd, const char *prio)
{
@@ -206,8 +207,8 @@ static void server(int sd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (debug)
print_dh_params_info(session);
@@ -218,11 +219,11 @@ static void server(int sd, const char *prio)
if (ret == 0) {
gnutls_packet_deinit(packet);
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
gnutls_datum_t pdata;
@@ -251,8 +252,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *name, const char *prio)
+static void start(const char *name, const char *prio)
{
pid_t child;
int sockets[2], err;
@@ -300,4 +300,4 @@ void doit(void)
start("default anon-ecdh", "NORMAL:-KX-ALL:+ANON-ECDH");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/atfork.c b/tests/atfork.c
index 235a855bfd..654519dc7c 100644
--- a/tests/atfork.c
+++ b/tests/atfork.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -29,7 +29,7 @@
#include <unistd.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <sys/wait.h>
+#include <sys/wait.h>
#endif
#include <gnutls/gnutls.h>
@@ -42,12 +42,12 @@ void doit(void)
}
#else
-# include "../lib/atfork.h"
-# include "../lib/atfork.c"
+#include "../lib/atfork.h"
+#include "../lib/atfork.c"
/* utils.h must be loaded after gnutls_int.h, as it redefines some
* macros from gnulib */
-# include "utils.h"
+#include "utils.h"
void doit(void)
{
diff --git a/tests/auto-verify.c b/tests/auto-verify.c
index d2c614db5e..7d04259b78 100644
--- a/tests/auto-verify.c
+++ b/tests/auto-verify.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,138 +44,135 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuLSye8pe3yWKZ\n"
- "Yp7tLQ4ImwLqqh1aN7x9pc5spLDj6krVArzkyyYDcWvtQNDjErEfLUrZZrCc4aIl\n"
- "oU1Ghb92kI8ofZnHFbj3z5zdcWqiPppj5Y+hRdc4LszTWb+itrD9Ht/D67EK+m7W\n"
- "ev6xxUdyiBYUmb2O3CnPZpUVshMRtEe45EDGI5hUgL2n4Msj41htTq8hATYPXgoq\n"
- "gQUyXFpKAX5XDCyOG+FC6jmEys7UCRYv3SCl7TPWJ4cm+lHcFI2/OTOCBvMlKN2J\n"
- "mWCdfnudZldqthin+8fR9l4nbuutOfPNt1Dj9InDzWZ1W/o4LrjKa7fsvszj2Z5A\n"
- "Fn+xN/4zAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQUwRHwbXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQAD\n"
- "ggEBAEKr0b7WoJL+L8St/LEITU/i7FwFrCP6DkbaNo0kgzPmwnvNmw88MLI6UKwE\n"
- "JecnjFhurRBBZ4FA85ucNyizeBnuXqFcyJ20+XziaXGPKV/ugKyYv9KBoTYkQOCh\n"
- "nbOthmDqjvy2UYQj0BU2dOywkjUKWhYHEZLBpZYck0Orynxydwil5Ncsz4t3smJw\n"
- "ahzCW8SzBFTiO99qQBCH2RH1PbUYzfAnJxZS2VScpcqlu9pr+Qv7r8E3p9qHxnQM\n"
- "gO5laWO6lc13rNsbZRrtlCvacsiDSuDnS8EVXm0ih4fAntpRHacPbXZbOPQqJ/+1\n"
- "G7/qJ6cDC/9aW+fU80ogTkAoFg4=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca_cert = { ca_cert_pem,
- sizeof(ca_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuLSye8pe3yWKZ\n"
+ "Yp7tLQ4ImwLqqh1aN7x9pc5spLDj6krVArzkyyYDcWvtQNDjErEfLUrZZrCc4aIl\n"
+ "oU1Ghb92kI8ofZnHFbj3z5zdcWqiPppj5Y+hRdc4LszTWb+itrD9Ht/D67EK+m7W\n"
+ "ev6xxUdyiBYUmb2O3CnPZpUVshMRtEe45EDGI5hUgL2n4Msj41htTq8hATYPXgoq\n"
+ "gQUyXFpKAX5XDCyOG+FC6jmEys7UCRYv3SCl7TPWJ4cm+lHcFI2/OTOCBvMlKN2J\n"
+ "mWCdfnudZldqthin+8fR9l4nbuutOfPNt1Dj9InDzWZ1W/o4LrjKa7fsvszj2Z5A\n"
+ "Fn+xN/4zAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUwRHwbXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAEKr0b7WoJL+L8St/LEITU/i7FwFrCP6DkbaNo0kgzPmwnvNmw88MLI6UKwE\n"
+ "JecnjFhurRBBZ4FA85ucNyizeBnuXqFcyJ20+XziaXGPKV/ugKyYv9KBoTYkQOCh\n"
+ "nbOthmDqjvy2UYQj0BU2dOywkjUKWhYHEZLBpZYck0Orynxydwil5Ncsz4t3smJw\n"
+ "ahzCW8SzBFTiO99qQBCH2RH1PbUYzfAnJxZS2VScpcqlu9pr+Qv7r8E3p9qHxnQM\n"
+ "gO5laWO6lc13rNsbZRrtlCvacsiDSuDnS8EVXm0ih4fAntpRHacPbXZbOPQqJ/+1\n"
+ "G7/qJ6cDC/9aW+fU80ogTkAoFg4=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca_cert = { ca_cert_pem, sizeof(ca_cert_pem) };
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDOjCCAiKgAwIBAgIMU0T+mwoDu5uVLKeeMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDkwODAyMzVaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDXfvgsMWXHNf3iUaEoZSNztZZr6+UdBkoUhbdWJDR+GwR+GHfnYaYHsuqb\n"
- "bNEl/QFI+8Jeth0SmG7TNB+b/AlHFoBm8TwBt7H+Mn6AQIdo872Vs262UkHgbZN6\n"
- "dEQeRCgiXmlsOVe+MVpf79Xi32MYz1FZ/ueS6tr8sIDhECThIZkq2eulVjAV86N2\n"
- "zQ72Ml1k8rPw4SdK5OFhcXNdXr6CsAol8MmiORKDF0iAZxwtFVc00nBGqQC5rwrN\n"
- "3A8czH5TsvyvrcW0mwV2XOVvZM5kFM1T/X0jF6RQHiGGFBYK4s6JZxSSOhJMFYYh\n"
- "koPEKsuVZdmBJ2yTTdGumHZfG9LDAgMBAAGjgY0wgYowDAYDVR0TAQH/BAIwADAU\n"
- "BgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0P\n"
- "AQH/BAUDAwegADAdBgNVHQ4EFgQURXiN5VD5vgqAprhd/37ldGKv4/4wHwYDVR0j\n"
- "BBgwFoAU8MUzmkotjSmVa5r1ejMkMQ6BiZYwDQYJKoZIhvcNAQELBQADggEBABSU\n"
- "cmMX0nGeg43itPnLjSTIUuYEamRhfsFDwgRYQn5w+BcFG1p0scBRxLAShUEb9A2A\n"
- "oEJV4rQDpCn9bcMrMHhTCR5sOlLh/2o9BROjK0+DjQLDkooQK5xa+1GYEiy6QYCx\n"
- "QjdCCnMhHh24oP2/vUggRKhevvD2QQFKcCDT6n13RFYm+HX82gIh6SAtRs0oahY5\n"
- "k9CM9TYRPzXy+tQqhZisJzc8BLTW/XA97kAJW6+hUhPir7AYR6BKJhNeIxcN/yMy\n"
- "jsHzWDLezip/8q+kzw658V5e40hne7ZaJycGUaUdLVnJcpNtBgGE82TRS/XZSQKF\n"
- "fpy8FLGcJynqlIOzdKs=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZq3sA+mjFadII\n"
- "EMDHfj1fYh+UOUSa8c814E9NfCdYZ9Z11BmPpBeR5mXV12j1DKjkTlqTUL7s4lVR\n"
- "RKfyAdCpQIfeXHDeTYYUq2uBnbi5YMG5Y+WbCiYacgRU3IypYrSzaeh1mY7GiEFe\n"
- "U/NaImHLCf+TdAvTJ3Fo0QPe5QN2Lrv6l//cqOv7enZ91KRWxClDMM6EAr+C/7dk\n"
- "rOTXRrCuH/e/KVBXEJ/YeSYPmBIwolGktRrGdsVagdqYArr4dhJ7VThIVRUX1Ijl\n"
- "THCLstI/LuD8WkDccU3ZSdm47f2U43p/+rSO0MiNOXiaskeK56G/9DbJEeETUbzm\n"
- "/B2712MVAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU8MUzmkotjSmVa5r1ejMkMQ6BiZYwHwYDVR0jBBgwFoAUwRHw\n"
- "bXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQADggEBACKxBPj9u1t52uIF\n"
- "eQ2JPb8/u+MBttvSLo0qPKXwpc4q8hNclh66dpqGWiF0iSumsKyKU54r6CIF9Ikm\n"
- "t1V1GR9Ll4iTnz3NdIt1w3ns8rSlU5O/dgKysK/1C/5xJWEUYtEO5mnyi4Zaf8FB\n"
- "hKmQ1aWF5dTB81PVAQxyCiFEnH7YumK7pJeIpnCOPIqLZLUHfrTUeL8zONF4i5Sb\n"
- "7taZ8SQ6b7IaioU+NJ50uT2wy34lsyvCWf76Azezv9bggkdNDo/7ktMgsfRrSyM8\n"
- "+MVob5ePGTjKx5yMy/sy2vUkkefwW3RiEss/y2JRb8Hw7nDlA9ttilYKFwGFwRvw\n"
- "KRsXqo8=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDOjCCAiKgAwIBAgIMU0T+mwoDu5uVLKeeMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDkwODAyMzVaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDXfvgsMWXHNf3iUaEoZSNztZZr6+UdBkoUhbdWJDR+GwR+GHfnYaYHsuqb\n"
+ "bNEl/QFI+8Jeth0SmG7TNB+b/AlHFoBm8TwBt7H+Mn6AQIdo872Vs262UkHgbZN6\n"
+ "dEQeRCgiXmlsOVe+MVpf79Xi32MYz1FZ/ueS6tr8sIDhECThIZkq2eulVjAV86N2\n"
+ "zQ72Ml1k8rPw4SdK5OFhcXNdXr6CsAol8MmiORKDF0iAZxwtFVc00nBGqQC5rwrN\n"
+ "3A8czH5TsvyvrcW0mwV2XOVvZM5kFM1T/X0jF6RQHiGGFBYK4s6JZxSSOhJMFYYh\n"
+ "koPEKsuVZdmBJ2yTTdGumHZfG9LDAgMBAAGjgY0wgYowDAYDVR0TAQH/BAIwADAU\n"
+ "BgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0P\n"
+ "AQH/BAUDAwegADAdBgNVHQ4EFgQURXiN5VD5vgqAprhd/37ldGKv4/4wHwYDVR0j\n"
+ "BBgwFoAU8MUzmkotjSmVa5r1ejMkMQ6BiZYwDQYJKoZIhvcNAQELBQADggEBABSU\n"
+ "cmMX0nGeg43itPnLjSTIUuYEamRhfsFDwgRYQn5w+BcFG1p0scBRxLAShUEb9A2A\n"
+ "oEJV4rQDpCn9bcMrMHhTCR5sOlLh/2o9BROjK0+DjQLDkooQK5xa+1GYEiy6QYCx\n"
+ "QjdCCnMhHh24oP2/vUggRKhevvD2QQFKcCDT6n13RFYm+HX82gIh6SAtRs0oahY5\n"
+ "k9CM9TYRPzXy+tQqhZisJzc8BLTW/XA97kAJW6+hUhPir7AYR6BKJhNeIxcN/yMy\n"
+ "jsHzWDLezip/8q+kzw658V5e40hne7ZaJycGUaUdLVnJcpNtBgGE82TRS/XZSQKF\n"
+ "fpy8FLGcJynqlIOzdKs=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZq3sA+mjFadII\n"
+ "EMDHfj1fYh+UOUSa8c814E9NfCdYZ9Z11BmPpBeR5mXV12j1DKjkTlqTUL7s4lVR\n"
+ "RKfyAdCpQIfeXHDeTYYUq2uBnbi5YMG5Y+WbCiYacgRU3IypYrSzaeh1mY7GiEFe\n"
+ "U/NaImHLCf+TdAvTJ3Fo0QPe5QN2Lrv6l//cqOv7enZ91KRWxClDMM6EAr+C/7dk\n"
+ "rOTXRrCuH/e/KVBXEJ/YeSYPmBIwolGktRrGdsVagdqYArr4dhJ7VThIVRUX1Ijl\n"
+ "THCLstI/LuD8WkDccU3ZSdm47f2U43p/+rSO0MiNOXiaskeK56G/9DbJEeETUbzm\n"
+ "/B2712MVAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU8MUzmkotjSmVa5r1ejMkMQ6BiZYwHwYDVR0jBBgwFoAUwRHw\n"
+ "bXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQADggEBACKxBPj9u1t52uIF\n"
+ "eQ2JPb8/u+MBttvSLo0qPKXwpc4q8hNclh66dpqGWiF0iSumsKyKU54r6CIF9Ikm\n"
+ "t1V1GR9Ll4iTnz3NdIt1w3ns8rSlU5O/dgKysK/1C/5xJWEUYtEO5mnyi4Zaf8FB\n"
+ "hKmQ1aWF5dTB81PVAQxyCiFEnH7YumK7pJeIpnCOPIqLZLUHfrTUeL8zONF4i5Sb\n"
+ "7taZ8SQ6b7IaioU+NJ50uT2wy34lsyvCWf76Azezv9bggkdNDo/7ktMgsfRrSyM8\n"
+ "+MVob5ePGTjKx5yMy/sy2vUkkefwW3RiEss/y2JRb8Hw7nDlA9ttilYKFwGFwRvw\n"
+ "KRsXqo8=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpAIBAAKCAQEA1374LDFlxzX94lGhKGUjc7WWa+vlHQZKFIW3ViQ0fhsEfhh3\n"
- "52GmB7Lqm2zRJf0BSPvCXrYdEphu0zQfm/wJRxaAZvE8Abex/jJ+gECHaPO9lbNu\n"
- "tlJB4G2TenREHkQoIl5pbDlXvjFaX+/V4t9jGM9RWf7nkura/LCA4RAk4SGZKtnr\n"
- "pVYwFfOjds0O9jJdZPKz8OEnSuThYXFzXV6+grAKJfDJojkSgxdIgGccLRVXNNJw\n"
- "RqkAua8KzdwPHMx+U7L8r63FtJsFdlzlb2TOZBTNU/19IxekUB4hhhQWCuLOiWcU\n"
- "kjoSTBWGIZKDxCrLlWXZgSdsk03Rrph2XxvSwwIDAQABAoIBAB7trDS7ij4DM8MN\n"
- "sDGaAnKS91nZ63I0+uDjKCMG4znOKuDmJh9hVnD4bs+L2KC5JTwSVh09ygJnOlC5\n"
- "xGegzrwTMK6VpOUiNjujh6BkooqfoPAhZpxoReguEeKbWUN2yMPWBQ9xU3SKpMvs\n"
- "IiiDozdmWeiuuxHM/00REA49QO3Gnx2logeB+fcvXXD1UiZV3x0xxSApiJt1sr2r\n"
- "NmqSyGdNUgpmnTP8zbKnDaRe5Wj4tj1TCTLE/HZ0tzdRuwlkIqvcpGg1LMtKm5N8\n"
- "xIWjTGMFwGjG+OF8LGqHLH+28pI3iMB6QqO2YLwOp+WZKImKP3+Dp3s8lCw8t8cm\n"
- "q5/Qc9ECgYEA2xwxm+pFkrFmZNLCakP/6S5AZqpfSBRUlF/uX2pBKO7o6I6aOV9o\n"
- "zq2QWYIZfdyD+9MvAFUQ36sWfTVWpGA34WGtsGtcRRygKKTigpJHvBldaPxiuYuk\n"
- "xbS54nWUdix/JzyQAy22xJXlp4XJvtFJjHhA2td0XA7tfng9n8jmvEUCgYEA+8cA\n"
- "uFIQFbaZ2y6pnOvlVj8OH0f1hZa9M+3q01fWy1rnDAsLrIzJy8TZnBtpDwy9lAun\n"
- "Sa6wzu6qeHmF17xwk5U7BCyK2Qj/9KhRLg1mnDebQ/CiLSAaJVnrYFp9Du96fTkN\n"
- "ollvbFiGF92QwPTDf2f1gHZQEPwa+f/ox37ad2cCgYEAwMgXpfUD7cOEMeV2BQV7\n"
- "XnDBXRM97i9lE38sPmtAlYFPD36Yly4pCt+PCBH9181zmtf+nK47wG/Jw7RwXQQD\n"
- "ZpwItBZiArTi/Z/FY9jMoOU4WKznOBVzjjgq7ONDEo6n+Z/BnepUyraQb0q5bNi7\n"
- "e4o6ldHHoU/JCeNFZRbgXHkCgYA6vJU9at+XwS6phHxLQHkTIsivoYD0tlLTX4it\n"
- "30sby8wk8hq6GWomYHkHwxlCSo2bkRBozxkuXV1ll6wSxUJaG7FV6vJFaaUUtYOi\n"
- "w7uRbCOLuQKMlnWjCxQvOUz9g/7GYd39ZvHoi8pUnPrdGPzWpzEN1AwfukCs2/e5\n"
- "Oq3KtwKBgQCkHmDU8h0kOfN28f8ZiyjJemQMNoOGiJqnGexaKvsRd+bt4H+7DsWQ\n"
- "OnyKm/oR0wCCSmFM5aQc6GgzPD7orueKVYHChbY7HLTWKRHNs6Rlk+6hXJvOld0i\n"
- "Cl7KqL2x2ibGMtt4LtSntdzWqa87N7vCWMSTmvd8uLgflBs33xUIiQ==\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpAIBAAKCAQEA1374LDFlxzX94lGhKGUjc7WWa+vlHQZKFIW3ViQ0fhsEfhh3\n"
+ "52GmB7Lqm2zRJf0BSPvCXrYdEphu0zQfm/wJRxaAZvE8Abex/jJ+gECHaPO9lbNu\n"
+ "tlJB4G2TenREHkQoIl5pbDlXvjFaX+/V4t9jGM9RWf7nkura/LCA4RAk4SGZKtnr\n"
+ "pVYwFfOjds0O9jJdZPKz8OEnSuThYXFzXV6+grAKJfDJojkSgxdIgGccLRVXNNJw\n"
+ "RqkAua8KzdwPHMx+U7L8r63FtJsFdlzlb2TOZBTNU/19IxekUB4hhhQWCuLOiWcU\n"
+ "kjoSTBWGIZKDxCrLlWXZgSdsk03Rrph2XxvSwwIDAQABAoIBAB7trDS7ij4DM8MN\n"
+ "sDGaAnKS91nZ63I0+uDjKCMG4znOKuDmJh9hVnD4bs+L2KC5JTwSVh09ygJnOlC5\n"
+ "xGegzrwTMK6VpOUiNjujh6BkooqfoPAhZpxoReguEeKbWUN2yMPWBQ9xU3SKpMvs\n"
+ "IiiDozdmWeiuuxHM/00REA49QO3Gnx2logeB+fcvXXD1UiZV3x0xxSApiJt1sr2r\n"
+ "NmqSyGdNUgpmnTP8zbKnDaRe5Wj4tj1TCTLE/HZ0tzdRuwlkIqvcpGg1LMtKm5N8\n"
+ "xIWjTGMFwGjG+OF8LGqHLH+28pI3iMB6QqO2YLwOp+WZKImKP3+Dp3s8lCw8t8cm\n"
+ "q5/Qc9ECgYEA2xwxm+pFkrFmZNLCakP/6S5AZqpfSBRUlF/uX2pBKO7o6I6aOV9o\n"
+ "zq2QWYIZfdyD+9MvAFUQ36sWfTVWpGA34WGtsGtcRRygKKTigpJHvBldaPxiuYuk\n"
+ "xbS54nWUdix/JzyQAy22xJXlp4XJvtFJjHhA2td0XA7tfng9n8jmvEUCgYEA+8cA\n"
+ "uFIQFbaZ2y6pnOvlVj8OH0f1hZa9M+3q01fWy1rnDAsLrIzJy8TZnBtpDwy9lAun\n"
+ "Sa6wzu6qeHmF17xwk5U7BCyK2Qj/9KhRLg1mnDebQ/CiLSAaJVnrYFp9Du96fTkN\n"
+ "ollvbFiGF92QwPTDf2f1gHZQEPwa+f/ox37ad2cCgYEAwMgXpfUD7cOEMeV2BQV7\n"
+ "XnDBXRM97i9lE38sPmtAlYFPD36Yly4pCt+PCBH9181zmtf+nK47wG/Jw7RwXQQD\n"
+ "ZpwItBZiArTi/Z/FY9jMoOU4WKznOBVzjjgq7ONDEo6n+Z/BnepUyraQb0q5bNi7\n"
+ "e4o6ldHHoU/JCeNFZRbgXHkCgYA6vJU9at+XwS6phHxLQHkTIsivoYD0tlLTX4it\n"
+ "30sby8wk8hq6GWomYHkHwxlCSo2bkRBozxkuXV1ll6wSxUJaG7FV6vJFaaUUtYOi\n"
+ "w7uRbCOLuQKMlnWjCxQvOUz9g/7GYd39ZvHoi8pUnPrdGPzWpzEN1AwfukCs2/e5\n"
+ "Oq3KtwKBgQCkHmDU8h0kOfN28f8ZiyjJemQMNoOGiJqnGexaKvsRd+bt4H+7DsWQ\n"
+ "OnyKm/oR0wCCSmFM5aQc6GgzPD7orueKVYHChbY7HLTWKRHNs6Rlk+6hXJvOld0i\n"
+ "Cl7KqL2x2ibGMtt4LtSntdzWqa87N7vCWMSTmvd8uLgflBs33xUIiQ==\n"
+ "-----END RSA PRIVATE KEY-----\n";
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cli_cert = { cert_pem, sizeof(cert_pem) - 1 };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t cli_key = { key_pem, sizeof(key_pem) - 1 };
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void print_verification_res(unsigned int output)
{
@@ -188,10 +185,8 @@ static void print_verification_res(unsigned int output)
success("Verified.");
}
- ret =
- gnutls_certificate_verification_status_print(output,
- GNUTLS_CRT_X509,
- &pout, 0);
+ ret = gnutls_certificate_verification_status_print(
+ output, GNUTLS_CRT_X509, &pout, 0);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -218,8 +213,7 @@ static const char *get_signature_algo(gnutls_x509_crt_t crt)
return gnutls_sign_get_name(ret);
}
-static int cert_out_callback(gnutls_x509_crt_t cert,
- gnutls_x509_crt_t issuer,
+static int cert_out_callback(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
gnutls_x509_crl_t crl,
unsigned int verification_output)
{
@@ -257,8 +251,7 @@ static int cert_out_callback(gnutls_x509_crt_t cert,
gnutls_free(issuer_name.data);
ret = gnutls_x509_crt_get_dn3(issuer, &issuer_name, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_get_issuer_dn: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_get_issuer_dn: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -274,8 +267,7 @@ static int cert_out_callback(gnutls_x509_crt_t cert,
ret = gnutls_x509_crl_get_issuer_dn3(crl, &issuer_name, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crl_get_issuer_dn: %s\n",
+ fprintf(stderr, "gnutls_x509_crl_get_issuer_dn: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -295,8 +287,8 @@ static int cert_out_callback(gnutls_x509_crt_t cert,
exit(1);
}
}
- success("\tChecked against CRL[%s] of: %s\n",
- serial.data, issuer_name.data);
+ success("\tChecked against CRL[%s] of: %s\n", serial.data,
+ issuer_name.data);
}
success("\tOutput: ");
@@ -311,8 +303,7 @@ static int cert_out_callback(gnutls_x509_crt_t cert,
return 0;
}
-static
-void test_failure(const char *name, const char *prio)
+static void test_failure(const char *name, const char *prio)
{
int ret;
/* Server stuff. */
@@ -335,10 +326,9 @@ void test_failure(const char *name, const char *prio)
to_server_len = 0;
to_client_len = 0;
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &server_cert,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &server_cert, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -350,8 +340,8 @@ void test_failure(const char *name, const char *prio)
exit(1);
}
- ret =
- gnutls_x509_privkey_import(pkey, &server_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(pkey, &server_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -379,15 +369,13 @@ void test_failure(const char *name, const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret = gnutls_certificate_set_x509_key_mem(clientx509cred,
- &cli_cert, &cli_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key, GNUTLS_X509_FMT_PEM);
ret = gnutls_init(&client, GNUTLS_CLIENT);
if (ret < 0)
@@ -433,8 +421,7 @@ void test_failure(const char *name, const char *prio)
gnutls_certificate_free_credentials(clientx509cred);
}
-static
-void test_success1(const char *name, const char *prio)
+static void test_success1(const char *name, const char *prio)
{
int ret;
/* Server stuff. */
@@ -457,10 +444,9 @@ void test_success1(const char *name, const char *prio)
to_server_len = 0;
to_client_len = 0;
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &server_cert,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &server_cert, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -472,8 +458,8 @@ void test_success1(const char *name, const char *prio)
exit(1);
}
- ret =
- gnutls_x509_privkey_import(pkey, &server_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(pkey, &server_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -501,15 +487,13 @@ void test_success1(const char *name, const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret = gnutls_certificate_set_x509_key_mem(clientx509cred,
- &cli_cert, &cli_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key, GNUTLS_X509_FMT_PEM);
ret = gnutls_init(&client, GNUTLS_CLIENT);
if (ret < 0)
@@ -552,8 +536,7 @@ void test_success1(const char *name, const char *prio)
gnutls_certificate_free_credentials(clientx509cred);
}
-static
-void test_success2(const char *name, const char *prio)
+static void test_success2(const char *name, const char *prio)
{
int ret;
/* Server stuff. */
@@ -575,10 +558,9 @@ void test_success2(const char *name, const char *prio)
to_server_len = 0;
to_client_len = 0;
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &server_cert,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &server_cert, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -590,8 +572,8 @@ void test_success2(const char *name, const char *prio)
exit(1);
}
- ret =
- gnutls_x509_privkey_import(pkey, &server_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(pkey, &server_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -619,15 +601,13 @@ void test_success2(const char *name, const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret = gnutls_certificate_set_x509_key_mem(clientx509cred,
- &cli_cert, &cli_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key, GNUTLS_X509_FMT_PEM);
ret = gnutls_init(&client, GNUTLS_CLIENT);
if (ret < 0)
@@ -678,5 +658,4 @@ void doit(void)
test_success2("tls1.3", "NORMAL:-VERS-ALL:+VERS-TLS1.3");
gnutls_global_deinit();
-
}
diff --git a/tests/base64-raw.c b/tests/base64-raw.c
index ab525b81b1..75149f8ed0 100644
--- a/tests/base64-raw.c
+++ b/tests/base64-raw.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,7 +35,7 @@
/* This checks base64 raw encoding without PEM headers */
-static void encode(const char *test_name, const gnutls_datum_t * raw,
+static void encode(const char *test_name, const gnutls_datum_t *raw,
const char *expected)
{
int ret;
@@ -49,12 +49,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_pem_base64_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_pem_base64_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_pem_base64_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_pem_base64_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -68,12 +70,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_base64_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_base64_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_base64_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_base64_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -82,7 +86,7 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void encode_new(const char *test_name, const gnutls_datum_t * raw,
+static void encode_new(const char *test_name, const gnutls_datum_t *raw,
const char *expected)
{
int ret;
@@ -96,12 +100,14 @@ static void encode_new(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_base64_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_base64_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_base64_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_base64_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -115,12 +121,14 @@ static void encode_new(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_base64_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_base64_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_base64_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_base64_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -136,12 +144,14 @@ static void encode_new(const char *test_name, const gnutls_datum_t * raw,
}
if (raw->size != out.size) {
- fail("%s: gnutls_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -150,7 +160,7 @@ static void encode_new(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void decode_new(const char *test_name, const gnutls_datum_t * raw,
+static void decode_new(const char *test_name, const gnutls_datum_t *raw,
const char *hex, int res)
{
int ret;
@@ -160,7 +170,7 @@ static void decode_new(const char *test_name, const gnutls_datum_t * raw,
in.size = strlen(hex);
ret = gnutls_base64_decode2(&in, &out);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: gnutls_base64_decode2: %d/%s\n", test_name, ret,
gnutls_strerror(ret));
@@ -168,17 +178,20 @@ static void decode_new(const char *test_name, const gnutls_datum_t * raw,
}
if (res != 0) {
- fail("%s: gnutls_base64_decode2: expected failure, but succeeded!\n", test_name);
+ fail("%s: gnutls_base64_decode2: expected failure, but succeeded!\n",
+ test_name);
exit(1);
}
if (raw->size != out.size) {
- fail("%s: gnutls_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -194,20 +207,14 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "rnd1",
- .pem = "9ppGioRpeiiD2lLNYC85eA==",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16}
- },
- {
- .name = "rnd2",
- .pem = "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19}
- }
+ { .name = "rnd1",
+ .pem = "9ppGioRpeiiD2lLNYC85eA==",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 } },
+ { .name = "rnd2",
+ .pem = "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 } }
};
struct decode_tests_st {
@@ -218,51 +225,36 @@ struct decode_tests_st {
};
struct decode_tests_st decode_tests[] = {
- {
- .name = "empty",
- .pem = "",
- .raw = {(void *)"", 0},
- .res = 0},
- {
- .name = "dec-rnd1",
- .pem = "9ppGioRpeiiD2lLNYC85eA==",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16},
- .res = 0},
- {
- .name = "dec-rnd2",
- .pem = "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = 0},
- {
- .name = "dec-extra-chars",
- .pem = "\n\n LJ/7hUZ3TtPIz2dlc5+YvELe+Q== \n",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = 0},
- {
- .name = "dec-spaces",
- .pem = " ",
- .raw = {(void *)"", 0},
- .res = GNUTLS_E_BASE64_DECODING_ERROR},
- {
- .name = "dec-invalid-data",
- .pem = "XLJ/7hUZ3TtPIz2dlc5+YvELe+Q==",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_BASE64_DECODING_ERROR},
- {
- .name = "dec-invalid-suffix",
- .pem = "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==XXX",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_BASE64_DECODING_ERROR}
+ { .name = "empty", .pem = "", .raw = { (void *)"", 0 }, .res = 0 },
+ { .name = "dec-rnd1",
+ .pem = "9ppGioRpeiiD2lLNYC85eA==",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 },
+ .res = 0 },
+ { .name = "dec-rnd2",
+ .pem = "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = 0 },
+ { .name = "dec-extra-chars",
+ .pem = "\n\n LJ/7hUZ3TtPIz2dlc5+YvELe+Q== \n",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = 0 },
+ { .name = "dec-spaces",
+ .pem = " ",
+ .raw = { (void *)"", 0 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR },
+ { .name = "dec-invalid-data",
+ .pem = "XLJ/7hUZ3TtPIz2dlc5+YvELe+Q==",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR },
+ { .name = "dec-invalid-suffix",
+ .pem = "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==XXX",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR }
};
void doit(void)
diff --git a/tests/base64.c b/tests/base64.c
index 1d6ccbd732..9ff7cf24ab 100644
--- a/tests/base64.c
+++ b/tests/base64.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,7 +33,7 @@
#include "utils.h"
-static void encode(const char *test_name, const gnutls_datum_t * raw,
+static void encode(const char *test_name, const gnutls_datum_t *raw,
const char *expected)
{
int ret;
@@ -47,12 +47,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_pem_base64_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_pem_base64_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_pem_base64_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_pem_base64_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -68,12 +70,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (raw->size != out.size) {
- fail("%s: gnutls_pem_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_pem_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_pem_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_pem_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -82,7 +86,7 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void decode(const char *test_name, const gnutls_datum_t * raw,
+static void decode(const char *test_name, const gnutls_datum_t *raw,
const char *hex, unsigned hex_size, int res)
{
int ret;
@@ -96,7 +100,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
ret = gnutls_pem_base64_decode2(test_name, &in, &out);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: gnutls_pem_base64_decode2: %d/%s\n", test_name, ret,
gnutls_strerror(ret));
@@ -104,17 +108,20 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (res != 0) {
- fail("%s: gnutls_pem_base64_decode2: expected failure, but succeeded!\n", test_name);
+ fail("%s: gnutls_pem_base64_decode2: expected failure, but succeeded!\n",
+ test_name);
exit(1);
}
if (raw->size != out.size) {
- fail("%s: gnutls_pem_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_pem_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_pem_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_pem_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -125,7 +132,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
in.size = strlen(hex);
ret = gnutls_pem_base64_decode2(NULL, &in, &out);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: gnutls_pem_base64_decode2: %d/%s\n", test_name, ret,
gnutls_strerror(ret));
@@ -133,17 +140,20 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (res != 0) {
- fail("%s: gnutls_pem_base64_decode2: expected failure, but succeeded!\n", test_name);
+ fail("%s: gnutls_pem_base64_decode2: expected failure, but succeeded!\n",
+ test_name);
exit(1);
}
if (raw->size != out.size) {
- fail("%s: gnutls_pem_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_pem_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_pem_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_pem_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -159,22 +169,18 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "rnd1",
- .pem = "-----BEGIN rnd1-----\n"
- "9ppGioRpeiiD2lLNYC85eA==\n" "-----END rnd1-----\n",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16}
- },
- {
- .name = "rnd2",
- .pem = "-----BEGIN rnd2-----\n"
- "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n" "-----END rnd2-----\n",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19}
- }
+ { .name = "rnd1",
+ .pem = "-----BEGIN rnd1-----\n"
+ "9ppGioRpeiiD2lLNYC85eA==\n"
+ "-----END rnd1-----\n",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 } },
+ { .name = "rnd2",
+ .pem = "-----BEGIN rnd2-----\n"
+ "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n"
+ "-----END rnd2-----\n",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 } }
};
struct decode_tests_st {
@@ -186,60 +192,53 @@ struct decode_tests_st {
};
struct decode_tests_st decode_tests[] = {
- {
- .name = "dec-rnd1",
- .pem = "-----BEGIN dec-rnd1-----\n"
- "9ppGioRpeiiD2lLNYC85eA==\n" "-----END rnd1-----\n",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16},
- .res = 0},
- {
- .name = "dec-rnd2",
- .pem = "-----BEGIN dec-rnd2-----\n"
- "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n" "-----END rnd2-----\n",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = 0},
- {
- .name = "dec-extra-chars",
- .pem = "-----BEGIN dec-extra-chars----- \n\n"
- "\n\n LJ/7hUZ3TtPIz2dlc5+YvELe+Q== \n" " -----END rnd2----- \n ",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = 0},
- {
- .name = "dec-invalid-header",
- .pem = "-----BEGIN dec-xxx-----\n"
- "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n" "-----END rnd2-----\n",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR},
- {
- .name = "dec-invalid-data",
- .pem = "-----BEGIN dec-invalid-data-----\n"
- "XLJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n" "-----END rnd2-----\n",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_BASE64_DECODING_ERROR},
- {
- .name = "leak1",
- .pem = "-----BEGIN leak1-----E-\x00\x00-----END ",
- .pem_size = 34,
- .raw = {(void *)"", 0},
- .res = GNUTLS_E_BASE64_DECODING_ERROR},
- {
- .name = "dec-invalid-suffix",
- .pem = "-----BEGIN dec-invalid-suffix-----\n"
- "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==XXX\n" "-----END rnd2-----\n",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_BASE64_DECODING_ERROR}
+ { .name = "dec-rnd1",
+ .pem = "-----BEGIN dec-rnd1-----\n"
+ "9ppGioRpeiiD2lLNYC85eA==\n"
+ "-----END rnd1-----\n",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 },
+ .res = 0 },
+ { .name = "dec-rnd2",
+ .pem = "-----BEGIN dec-rnd2-----\n"
+ "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n"
+ "-----END rnd2-----\n",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = 0 },
+ { .name = "dec-extra-chars",
+ .pem = "-----BEGIN dec-extra-chars----- \n\n"
+ "\n\n LJ/7hUZ3TtPIz2dlc5+YvELe+Q== \n"
+ " -----END rnd2----- \n ",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = 0 },
+ { .name = "dec-invalid-header",
+ .pem = "-----BEGIN dec-xxx-----\n"
+ "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n"
+ "-----END rnd2-----\n",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR },
+ { .name = "dec-invalid-data",
+ .pem = "-----BEGIN dec-invalid-data-----\n"
+ "XLJ/7hUZ3TtPIz2dlc5+YvELe+Q==\n"
+ "-----END rnd2-----\n",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR },
+ { .name = "leak1",
+ .pem = "-----BEGIN leak1-----E-\x00\x00-----END ",
+ .pem_size = 34,
+ .raw = { (void *)"", 0 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR },
+ { .name = "dec-invalid-suffix",
+ .pem = "-----BEGIN dec-invalid-suffix-----\n"
+ "LJ/7hUZ3TtPIz2dlc5+YvELe+Q==XXX\n"
+ "-----END rnd2-----\n",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR }
};
void doit(void)
diff --git a/tests/buffer.c b/tests/buffer.c
index e41e65e037..59a6829c17 100644
--- a/tests/buffer.c
+++ b/tests/buffer.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,12 +34,30 @@ void doit(void)
const char *input;
const char *output;
} test_data[] = {
- {"%20%20", " ",},
- {"%20", " ",},
- {"%2z", "%2z",},
- {"%2", "%2",},
- {"%", "%",},
- {"", "",},
+ {
+ "%20%20",
+ " ",
+ },
+ {
+ "%20",
+ " ",
+ },
+ {
+ "%2z",
+ "%2z",
+ },
+ {
+ "%2",
+ "%2",
+ },
+ {
+ "%",
+ "%",
+ },
+ {
+ "",
+ "",
+ },
};
for (unsigned it = 0; it < countof(test_data); it++) {
@@ -49,9 +67,8 @@ void doit(void)
_gnutls_buffer_init(&str);
- ret =
- _gnutls_buffer_append_data(&str, t->input,
- strlen(t->input));
+ ret = _gnutls_buffer_append_data(&str, t->input,
+ strlen(t->input));
if (ret < 0)
fail("_gnutls_buffer_append_str: %s\n",
gnutls_strerror(ret));
diff --git a/tests/cert-common.h b/tests/cert-common.h
index 619216e433..33b3ee3b68 100644
--- a/tests/cert-common.h
+++ b/tests/cert-common.h
@@ -20,9 +20,9 @@
*/
#ifndef GNUTLS_TESTS_CERT_COMMON_H
-# define GNUTLS_TESTS_CERT_COMMON_H
+#define GNUTLS_TESTS_CERT_COMMON_H
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
/* This file contains a lot of common parameters used by legacy and new
* tests. The recommended to use for new tests are:
@@ -52,1217 +52,1226 @@
*/
static char ecc_key[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHgCAQEEIQD9KwCA8zZfETJl440wMztH9c74E+VMws/96AVqyslBsaAKBggqhkjO\n"
- "PQMBB6FEA0IABDwVbx1IPmRZEyxtBBo4DTBc5D9Vy9kXFUZycZLB+MYzPQQuyMEP\n"
- "wFAEe5/JSLVA+m+TgllhXnJXy4MGvcyClME=\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHgCAQEEIQD9KwCA8zZfETJl440wMztH9c74E+VMws/96AVqyslBsaAKBggqhkjO\n"
+ "PQMBB6FEA0IABDwVbx1IPmRZEyxtBBo4DTBc5D9Vy9kXFUZycZLB+MYzPQQuyMEP\n"
+ "wFAEe5/JSLVA+m+TgllhXnJXy4MGvcyClME=\n"
+ "-----END EC PRIVATE KEY-----\n";
static char ecc_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAoagAwIBAgIBBzAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\n"
- "A1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\n"
- "aXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\n"
- "ZSBhdXRob3JpdHkwIhgPMjAxMjA5MDEwOTIyMzZaGA8yMDE5MTAwNTA5MjIzNlow\n"
- "gbgxCzAJBgNVBAYTAkdSMRIwEAYDVQQKEwlLb2tvIGluYy4xFzAVBgNVBAsTDnNs\n"
- "ZWVwaW5nIGRlcHQuMQ8wDQYDVQQIEwZBdHRpa2kxFTATBgNVBAMTDENpbmR5IExh\n"
- "dXBlcjEXMBUGCgmSJomT8ixkAQETB2NsYXVwZXIxDDAKBgNVBAwTA0RyLjEPMA0G\n"
- "A1UEQRMGamFja2FsMRwwGgYJKoZIhvcNAQkBFg1ub25lQG5vbmUub3JnMFkwEwYH\n"
- "KoZIzj0CAQYIKoZIzj0DAQcDQgAEPBVvHUg+ZFkTLG0EGjgNMFzkP1XL2RcVRnJx\n"
- "ksH4xjM9BC7IwQ/AUAR7n8lItUD6b5OCWWFeclfLgwa9zIKUwaOBtjCBszAMBgNV\n"
- "HRMBAf8EAjAAMD0GA1UdEQQ2MDSCDHd3dy5ub25lLm9yZ4ITd3d3Lm1vcmV0aGFu\n"
- "b25lLm9yZ4IJbG9jYWxob3N0hwTAqAEBMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8G\n"
- "A1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFKz6R2fGG0F5Elf3rAXBUOKO0A5bMB8G\n"
- "A1UdIwQYMBaAFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqGSM49BAMCA0gAMEUC\n"
- "ICgq4CTInkRQ1DaFoI8wmu2KP8445NWRXKouag2WJSFzAiEAx4KxaoZJNVfBBSc4\n"
- "bA9XTz/2OnpgAZutUohNNb/tmRE=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ecc_cert =
- { (unsigned char *)ecc_cert, sizeof(ecc_cert) - 1 };
-
-const gnutls_datum_t server_ecc_key =
- { (unsigned char *)ecc_key, sizeof(ecc_key) - 1 };
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAoagAwIBAgIBBzAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\n"
+ "A1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\n"
+ "aXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\n"
+ "ZSBhdXRob3JpdHkwIhgPMjAxMjA5MDEwOTIyMzZaGA8yMDE5MTAwNTA5MjIzNlow\n"
+ "gbgxCzAJBgNVBAYTAkdSMRIwEAYDVQQKEwlLb2tvIGluYy4xFzAVBgNVBAsTDnNs\n"
+ "ZWVwaW5nIGRlcHQuMQ8wDQYDVQQIEwZBdHRpa2kxFTATBgNVBAMTDENpbmR5IExh\n"
+ "dXBlcjEXMBUGCgmSJomT8ixkAQETB2NsYXVwZXIxDDAKBgNVBAwTA0RyLjEPMA0G\n"
+ "A1UEQRMGamFja2FsMRwwGgYJKoZIhvcNAQkBFg1ub25lQG5vbmUub3JnMFkwEwYH\n"
+ "KoZIzj0CAQYIKoZIzj0DAQcDQgAEPBVvHUg+ZFkTLG0EGjgNMFzkP1XL2RcVRnJx\n"
+ "ksH4xjM9BC7IwQ/AUAR7n8lItUD6b5OCWWFeclfLgwa9zIKUwaOBtjCBszAMBgNV\n"
+ "HRMBAf8EAjAAMD0GA1UdEQQ2MDSCDHd3dy5ub25lLm9yZ4ITd3d3Lm1vcmV0aGFu\n"
+ "b25lLm9yZ4IJbG9jYWxob3N0hwTAqAEBMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8G\n"
+ "A1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFKz6R2fGG0F5Elf3rAXBUOKO0A5bMB8G\n"
+ "A1UdIwQYMBaAFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqGSM49BAMCA0gAMEUC\n"
+ "ICgq4CTInkRQ1DaFoI8wmu2KP8445NWRXKouag2WJSFzAiEAx4KxaoZJNVfBBSc4\n"
+ "bA9XTz/2OnpgAZutUohNNb/tmRE=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ecc_cert = { (unsigned char *)ecc_cert,
+ sizeof(ecc_cert) - 1 };
+
+const gnutls_datum_t server_ecc_key = { (unsigned char *)ecc_key,
+ sizeof(ecc_key) - 1 };
/* A cert-key pair */
static char pem1_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
static char pem1_key[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t cert_dat =
- { (unsigned char *)pem1_cert, sizeof(pem1_cert) - 1 };
-
-const gnutls_datum_t key_dat =
- { (unsigned char *)pem1_key, sizeof(pem1_key) - 1 };
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t cert_dat = { (unsigned char *)pem1_cert,
+ sizeof(pem1_cert) - 1 };
+
+const gnutls_datum_t key_dat = { (unsigned char *)pem1_key,
+ sizeof(pem1_key) - 1 };
/* A server cert/key pair with CA */
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIzCCAgugAwIBAgIMUz8PCR2sdRK56V6OMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDQxOTU5MDVaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDZ3dCzh9gOTOiOb2dtrPu91fYYgC/ey0ACYjQxaru7FZwnuXPhQK9KHsIV\n"
- "YRIyo49wjKZddkHet2sbpFAAeETZh8UUWLRb/mupyaSJMycaYCNjLZCUJTztvXxJ\n"
- "CCNfbtgvKC+Vu1mu94KBPatslgvnsamH7AiL5wmwRRqdH/Z93XaEvuRG6Zk0Sh9q\n"
- "ZMdCboGfjtmGEJ1V+z5CR+IyH4sckzd8WJW6wBSEwgliGaXnc75xKtFWBZV2njNr\n"
- "8V1TOYOdLEbiF4wduVExL5TKq2ywNkRpUfK2I1BcWS5D9Te/QT7aSdE08rL6ztmZ\n"
- "IhILSrMOfoLnJ4lzXspz3XLlEuhnAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJXR\n"
- "raRS5MVhEqaRE42A3S2BIj7UMB8GA1UdIwQYMBaAFP6S7AyMRO2RfkANgo8YsCl8\n"
- "JfJkMA0GCSqGSIb3DQEBCwUAA4IBAQCQ62+skMVZYrGbpab8RI9IG6xH8kEndvFj\n"
- "J7wBBZCOlcjOj+HQ7a2buF5zGKRwAOSznKcmvZ7l5DPdsd0t5/VT9LKSbQ6+CfGr\n"
- "Xs5qPaDJnRhZkOILCvXJ9qyO+79WNMsg9pWnxkTK7aWR5OYE+1Qw1jG681HMkWTm\n"
- "nt7et9bdiNNpvA+L55569XKbdtJLs3hn5gEQFgS7EaEj59aC4vzSTFcidowCoa43\n"
- "7JmfSfC9YaAIFH2vriyU0QNf2y7cG5Hpkge+U7uMzQrsT77Q3SDB9WkyPAFNSB4Q\n"
- "B/r+OtZXOnQhLlMV7h4XGlWruFEaOBVjFHSdMGUh+DtaLvd1bVXI\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvhyQfsUm3T0xK\n"
- "jiBXO3H6Y27b7lmCRYZQCmXCl2sUsGDL7V9biavTt3+sorWtH542/cTGDh5n8591\n"
- "7rVxAB/VASmN55O3fjZyFGrjusjhXBla0Yxe5rZ/7/Pjrq84T7gc/IXiX9Sums/c\n"
- "o9AeoykfhsjV2ubhh4h+8uPsHDTcAFTxq3mQaoldwnW2nmjDFzaKLtQdnyFf41o6\n"
- "nsJCK/J9PtpdCID5Zb+eQfu5Yhk1iUHe8a9TOstCHtgBq61YzufDHUQk3zsT+VZM\n"
- "20lDvSBnHdWLjxoea587JbkvtH8xRR8ThwABSb98qPnhJ8+A7mpO89QO1wxZM85A\n"
- "xEweQlMHAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU/pLsDIxE7ZF+QA2CjxiwKXwl8mQwHwYDVR0jBBgwFoAUGD0R\n"
- "Yr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQADggEBANEXLUV+Z1PGTn7M\n"
- "3rPT/m/EamcrZJ3vFWrnfN91ws5llyRUKNhx6222HECh3xRSxH9YJONsbv2zY6sd\n"
- "ztY7lvckL4xOgWAjoCVTx3hqbZjDxpLRsvraw1PlqBHlRQVWLKlEQ55+tId2zgMX\n"
- "Z+wxM7FlU/6yWVPODIxrqYQd2KqaEp4aLIklw6Hi4HD6DnQJikjsJ6Noe0qyX1Tx\n"
- "uZ8mgP/G47Fe2d2H29kJ1iJ6hp1XOqyWrVIh/jONcnTvWS8aMqS3MU0EJH2Pb1Qa\n"
- "KGIvbd/3H9LykFTP/b7Imdv2fZxXIK8jC+jbF1w6rdBCVNA0p30X/jonoC3vynEK\n"
- "5cK0cgs=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIzCCAgugAwIBAgIMUz8PCR2sdRK56V6OMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDQxOTU5MDVaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDZ3dCzh9gOTOiOb2dtrPu91fYYgC/ey0ACYjQxaru7FZwnuXPhQK9KHsIV\n"
+ "YRIyo49wjKZddkHet2sbpFAAeETZh8UUWLRb/mupyaSJMycaYCNjLZCUJTztvXxJ\n"
+ "CCNfbtgvKC+Vu1mu94KBPatslgvnsamH7AiL5wmwRRqdH/Z93XaEvuRG6Zk0Sh9q\n"
+ "ZMdCboGfjtmGEJ1V+z5CR+IyH4sckzd8WJW6wBSEwgliGaXnc75xKtFWBZV2njNr\n"
+ "8V1TOYOdLEbiF4wduVExL5TKq2ywNkRpUfK2I1BcWS5D9Te/QT7aSdE08rL6ztmZ\n"
+ "IhILSrMOfoLnJ4lzXspz3XLlEuhnAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJXR\n"
+ "raRS5MVhEqaRE42A3S2BIj7UMB8GA1UdIwQYMBaAFP6S7AyMRO2RfkANgo8YsCl8\n"
+ "JfJkMA0GCSqGSIb3DQEBCwUAA4IBAQCQ62+skMVZYrGbpab8RI9IG6xH8kEndvFj\n"
+ "J7wBBZCOlcjOj+HQ7a2buF5zGKRwAOSznKcmvZ7l5DPdsd0t5/VT9LKSbQ6+CfGr\n"
+ "Xs5qPaDJnRhZkOILCvXJ9qyO+79WNMsg9pWnxkTK7aWR5OYE+1Qw1jG681HMkWTm\n"
+ "nt7et9bdiNNpvA+L55569XKbdtJLs3hn5gEQFgS7EaEj59aC4vzSTFcidowCoa43\n"
+ "7JmfSfC9YaAIFH2vriyU0QNf2y7cG5Hpkge+U7uMzQrsT77Q3SDB9WkyPAFNSB4Q\n"
+ "B/r+OtZXOnQhLlMV7h4XGlWruFEaOBVjFHSdMGUh+DtaLvd1bVXI\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvhyQfsUm3T0xK\n"
+ "jiBXO3H6Y27b7lmCRYZQCmXCl2sUsGDL7V9biavTt3+sorWtH542/cTGDh5n8591\n"
+ "7rVxAB/VASmN55O3fjZyFGrjusjhXBla0Yxe5rZ/7/Pjrq84T7gc/IXiX9Sums/c\n"
+ "o9AeoykfhsjV2ubhh4h+8uPsHDTcAFTxq3mQaoldwnW2nmjDFzaKLtQdnyFf41o6\n"
+ "nsJCK/J9PtpdCID5Zb+eQfu5Yhk1iUHe8a9TOstCHtgBq61YzufDHUQk3zsT+VZM\n"
+ "20lDvSBnHdWLjxoea587JbkvtH8xRR8ThwABSb98qPnhJ8+A7mpO89QO1wxZM85A\n"
+ "xEweQlMHAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU/pLsDIxE7ZF+QA2CjxiwKXwl8mQwHwYDVR0jBBgwFoAUGD0R\n"
+ "Yr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQADggEBANEXLUV+Z1PGTn7M\n"
+ "3rPT/m/EamcrZJ3vFWrnfN91ws5llyRUKNhx6222HECh3xRSxH9YJONsbv2zY6sd\n"
+ "ztY7lvckL4xOgWAjoCVTx3hqbZjDxpLRsvraw1PlqBHlRQVWLKlEQ55+tId2zgMX\n"
+ "Z+wxM7FlU/6yWVPODIxrqYQd2KqaEp4aLIklw6Hi4HD6DnQJikjsJ6Noe0qyX1Tx\n"
+ "uZ8mgP/G47Fe2d2H29kJ1iJ6hp1XOqyWrVIh/jONcnTvWS8aMqS3MU0EJH2Pb1Qa\n"
+ "KGIvbd/3H9LykFTP/b7Imdv2fZxXIK8jC+jbF1w6rdBCVNA0p30X/jonoC3vynEK\n"
+ "5cK0cgs=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem) - 1
-};
+ sizeof(server_cert_pem) - 1 };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
- "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
- "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
- "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
- "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
- "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
- "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
- "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
- "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
- "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
- "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
- "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
- "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
- "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
- "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
- "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
- "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
- "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
- "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
- "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
- "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
- "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
- "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
- "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
- "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
+ "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
+ "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
+ "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
+ "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
+ "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
+ "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
+ "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
+ "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
+ "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
+ "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
+ "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
+ "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
+ "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
+ "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
+ "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
+ "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
+ "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
+ "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
+ "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
+ "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
+ "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
+ "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
+ "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
+ "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem) - 1
-};
+ sizeof(server_key_pem) - 1 };
static unsigned char ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD46JAPKrTsNTHl\n"
- "zD06eIYBF/8Z+TR0wukp9Cdh8Sw77dODLjy/QrVKiDgDZZdyUc8Agsdr86i95O0p\n"
- "w19Np3a0wja0VC9uwppZrpuHsrWukwxIBXoViyBc20Y6Ce8j0scCbR10SP565qXC\n"
- "i8vr86S4xmQMRZMtwohP/GWQzt45jqkHPYHjdKzwo2b2XI7joDq0dvbr3MSONkGs\n"
- "z7A/1Bl3iH5keDTWjqpJRWqXE79IhGOhELy+gG4VLJDGHWCr2mq24b9Kirp+TTxl\n"
- "lUwJRbchqUqerlFdt1NgDoGaJyd73Sh0qcZzmEiOI2hGvBtG86tdQ6veC9dl05et\n"
- "pM+6RMABAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQUGD0RYr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQAD\n"
- "ggEBALnHMubZ6WJ/XOFyDuo0imwg2onrPas3MuKT4+y0aHY943BgAOEc3jKitRjc\n"
- "qhb0IUD+NS7itRwNtCgI3v5Ym5nnQoVk+aOD/D724TjJ9XaPQJzOnuGaZX99VN2F\n"
- "sgwAtDXedlDQ+I6KLzLd6VW+UyWTG4qiRjOGDnG2kM1wAEOM27TzHV/YWleGjhtA\n"
- "bRHxkioOni5goNlTzazxF4v9VD2uinWrIFyZmF6vQuMm6rKFgq6higAU8uesFo7+\n"
- "3qpeRjNrPC4fNJUBvv+PC0WnP0PLnD/rY/ZcTYjLb/vJp1fiMJ5fU7jJklBhX2TE\n"
- "tstcP7FUV5HA/s9BxgAh0Z2wyyY=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca_cert = { ca_cert_pem,
- sizeof(ca_cert_pem) - 1
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD46JAPKrTsNTHl\n"
+ "zD06eIYBF/8Z+TR0wukp9Cdh8Sw77dODLjy/QrVKiDgDZZdyUc8Agsdr86i95O0p\n"
+ "w19Np3a0wja0VC9uwppZrpuHsrWukwxIBXoViyBc20Y6Ce8j0scCbR10SP565qXC\n"
+ "i8vr86S4xmQMRZMtwohP/GWQzt45jqkHPYHjdKzwo2b2XI7joDq0dvbr3MSONkGs\n"
+ "z7A/1Bl3iH5keDTWjqpJRWqXE79IhGOhELy+gG4VLJDGHWCr2mq24b9Kirp+TTxl\n"
+ "lUwJRbchqUqerlFdt1NgDoGaJyd73Sh0qcZzmEiOI2hGvBtG86tdQ6veC9dl05et\n"
+ "pM+6RMABAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUGD0RYr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBALnHMubZ6WJ/XOFyDuo0imwg2onrPas3MuKT4+y0aHY943BgAOEc3jKitRjc\n"
+ "qhb0IUD+NS7itRwNtCgI3v5Ym5nnQoVk+aOD/D724TjJ9XaPQJzOnuGaZX99VN2F\n"
+ "sgwAtDXedlDQ+I6KLzLd6VW+UyWTG4qiRjOGDnG2kM1wAEOM27TzHV/YWleGjhtA\n"
+ "bRHxkioOni5goNlTzazxF4v9VD2uinWrIFyZmF6vQuMm6rKFgq6higAU8uesFo7+\n"
+ "3qpeRjNrPC4fNJUBvv+PC0WnP0PLnD/rY/ZcTYjLb/vJp1fiMJ5fU7jJklBhX2TE\n"
+ "tstcP7FUV5HA/s9BxgAh0Z2wyyY=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca_cert = { ca_cert_pem, sizeof(ca_cert_pem) - 1 };
/* A server cert/key pair with CA */
static unsigned char server2_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEITCCAomgAwIBAgIMVmajOA3Gh2967f62MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIBcNMTUxMjA4MDkzMDMyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
- "ETAPBgNVBAMTCHNlcnZlci0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
- "AYEApk9rgAWlVEGy9t5Nn9RsvupM3JATJe2ONeGgMjAT++rgjsENwjqNNmEFLZjx\n"
- "8VfRjnHoVEIWvMJqeaAeBwP7GiKiDiLkHEK4ZwjJZ7aqy0KIRktDLWvJrZdoJryt\n"
- "yMikKVhPHQ9qwh6JRA3qx1FiEcW7ahU2U4/r/fydiUC0wec2UhBd4AJyXzYvFO7o\n"
- "SKPkQfzlGBNT55z/Wp9zfOO1w2x/++I+1AoKFFJ1dRI3hyrL/DfOUMoeVkJ6knyZ\n"
- "N3TQo+ZjbSkLZlpnAoxGSN8uNcX9q91AuM2zQOg1xPD0ZJvLP3j9BOtYQ7rvkX0U\n"
- "3efJXXO+Gq4oCKiPU4ZY6u43BquipzEaeZiSWPS6Xj2Ipn+KO0v77NBxhNP3lpfQ\n"
- "YDwZbw1AjnViE+WUS8r2DyM47daTGafqUCXM08kSTCrSWSte96P0jHFnyjtPGrwC\n"
- "0KQw1ug4nJxFi9FHZyU+IhczvFthocPuKOAq44//zsKKuPKsJIhA4QXfdVVvm4m+\n"
- "RoTZAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0\n"
- "MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFCWcdf+x5Ge4ec8WGfoWYcNlaEQF\n"
- "MB8GA1UdIwQYMBaAFEt2/L3oAu29JvNzjKv/Xavvp0ufMA0GCSqGSIb3DQEBCwUA\n"
- "A4IBgQC/vXr2ecuGhAHJaBxWqay3IxyBgoQUxOMkXcXLMILxXGtIKheVZOJnilvU\n"
- "K9/fBy7N3ygUemvblNBfDJG+fA5jTmUQC8UEgeStp0iena3iAJxsGikCIAJKGzBk\n"
- "LHiPls2z9uLQXO+ZRlK1E+XfB0/3Mu4dPAPM50TLL8jYLfYzZZchgfhCX51dmic/\n"
- "EW4LL+K6LzIHoLV32YEFL9ea4y46Ub0dAX+WEwZYKu5Fu/hk+n34lBYBW1uWzPhK\n"
- "JjXVbQQUE4nirzjWr6ch5rDXz1JhhNuuex29EqA3reWtQWnHySU43/uoFxN1jD0r\n"
- "bMjyE5li2WU796vKyB0hYBKcOauWJPDdrKFvVs45GH6r84hjAacMq4RKm4P9esuQ\n"
- "0GXVaUCLGHP1ss+glFB/k5DJO1nb6hZPOCKsdaO/VbXl5kmcxgvzAoedDTiUJiC5\n"
- "URF3vuETfLwew2gE38NrTEPT54S5rYLsp/F6+5nIIhqG0BtaOwIx1VbBlrMnbsx+\n"
- "pFLp6h0=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE1MTIwODA5MzAzMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0Q82wj5Dk/me634j\n"
- "DnFBbAJ5FGNNeXnBgprRo2tQv8oJYMN/osSVd/03XiWBQnXk7v2aSkfXMqgEAzfv\n"
- "0fzWZYyhKSwTvDG48LfnIuF7UrnvnC3xdAOjcQ+E3zUdYYonSn3gRBwIjOK4wFbG\n"
- "Q4oelFnPOjWGeasLh++yBNfCa506jgFd9Y1rU5o0r/EIYSQi2aj71E+x3EdkS0Tx\n"
- "iKpIGHseuP2ARmmZPLy4YglFBvPiDRi0jdgdWd6UbNk7XJ+xnKa9gVtk3TX7vy5E\n"
- "7R1686F66bIe9T1N2Wyf3huJkgwUB2UPpG9rNiOvRLGFxkONeATwiJyzJG9DmtGw\n"
- "GbKsyMDU9Rq9Z694tBCnlWlPrQKsZEsnivPIn/2VaANArT1QtsS+EdaXzuIWmIM0\n"
- "cdQXf1U1VhzACFpHnFZ6XsOe40qwzj+6RQprHcWnIGP992qiQ6zPF8QPkycTrbhi\n"
- "TG7hX59sTTBJva5DNjZnx4H/hOiQub04CMD501JiLQ1ALXGfAgMBAAGjWDBWMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcGADAdBgNVHQ4EFgQUS3b8vegC7b0m83OMq/9dq++nS58wDQYJKoZIhvcNAQEL\n"
- "BQADggGBALJv0DUD3Ujb0a9zcgKQIjljFMoA0v5A6+ZoLeHmRTU5udNV9G2AsdSx\n"
- "PEH/D7v/GyoR0jApgA0TiAqRuvlc3NsdHBx9tFvgrAFyC7bbJRrf9lP9QlTqkmb7\n"
- "a85OYmdiDhtQSyKdtSZpAfP7jVGJqQz5UWbV3CjYfubU+HLIZXEb6m8YCKBFb7l9\n"
- "GNrcKK+gFyrQr6KmojzMkJd5PxVBUsYleaf/0QxC7nRbTH/qomJvooI2nLBLA7U3\n"
- "VGLL3Og6rpjIWu2dwkvepcnesdrnPq4hJQ+uSfDkthP/qCs/3Nj9bvL73DIAYUc2\n"
- "6FUmOK40BRhBhcAIYj+9JDtHncykj0RBjH6eq+goDTSd4gTXmfbzb8p1jjLal8xZ\n"
- "PcNzShMpUqkmWe3Otzd98zkOzqiHeO03tBgfA5u+4gInSdQp5eUpE3Uivp9IcNaC\n"
- "TMSfIA6roY+p7j1ISlmzXUZuEz9dkJumV0TMmOv6nd+ZufwaDOIuDPad5bG2JFji\n"
- "KvV1dLfOfg==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEITCCAomgAwIBAgIMVmajOA3Gh2967f62MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIBcNMTUxMjA4MDkzMDMyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
+ "ETAPBgNVBAMTCHNlcnZlci0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
+ "AYEApk9rgAWlVEGy9t5Nn9RsvupM3JATJe2ONeGgMjAT++rgjsENwjqNNmEFLZjx\n"
+ "8VfRjnHoVEIWvMJqeaAeBwP7GiKiDiLkHEK4ZwjJZ7aqy0KIRktDLWvJrZdoJryt\n"
+ "yMikKVhPHQ9qwh6JRA3qx1FiEcW7ahU2U4/r/fydiUC0wec2UhBd4AJyXzYvFO7o\n"
+ "SKPkQfzlGBNT55z/Wp9zfOO1w2x/++I+1AoKFFJ1dRI3hyrL/DfOUMoeVkJ6knyZ\n"
+ "N3TQo+ZjbSkLZlpnAoxGSN8uNcX9q91AuM2zQOg1xPD0ZJvLP3j9BOtYQ7rvkX0U\n"
+ "3efJXXO+Gq4oCKiPU4ZY6u43BquipzEaeZiSWPS6Xj2Ipn+KO0v77NBxhNP3lpfQ\n"
+ "YDwZbw1AjnViE+WUS8r2DyM47daTGafqUCXM08kSTCrSWSte96P0jHFnyjtPGrwC\n"
+ "0KQw1ug4nJxFi9FHZyU+IhczvFthocPuKOAq44//zsKKuPKsJIhA4QXfdVVvm4m+\n"
+ "RoTZAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0\n"
+ "MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFCWcdf+x5Ge4ec8WGfoWYcNlaEQF\n"
+ "MB8GA1UdIwQYMBaAFEt2/L3oAu29JvNzjKv/Xavvp0ufMA0GCSqGSIb3DQEBCwUA\n"
+ "A4IBgQC/vXr2ecuGhAHJaBxWqay3IxyBgoQUxOMkXcXLMILxXGtIKheVZOJnilvU\n"
+ "K9/fBy7N3ygUemvblNBfDJG+fA5jTmUQC8UEgeStp0iena3iAJxsGikCIAJKGzBk\n"
+ "LHiPls2z9uLQXO+ZRlK1E+XfB0/3Mu4dPAPM50TLL8jYLfYzZZchgfhCX51dmic/\n"
+ "EW4LL+K6LzIHoLV32YEFL9ea4y46Ub0dAX+WEwZYKu5Fu/hk+n34lBYBW1uWzPhK\n"
+ "JjXVbQQUE4nirzjWr6ch5rDXz1JhhNuuex29EqA3reWtQWnHySU43/uoFxN1jD0r\n"
+ "bMjyE5li2WU796vKyB0hYBKcOauWJPDdrKFvVs45GH6r84hjAacMq4RKm4P9esuQ\n"
+ "0GXVaUCLGHP1ss+glFB/k5DJO1nb6hZPOCKsdaO/VbXl5kmcxgvzAoedDTiUJiC5\n"
+ "URF3vuETfLwew2gE38NrTEPT54S5rYLsp/F6+5nIIhqG0BtaOwIx1VbBlrMnbsx+\n"
+ "pFLp6h0=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE1MTIwODA5MzAzMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0Q82wj5Dk/me634j\n"
+ "DnFBbAJ5FGNNeXnBgprRo2tQv8oJYMN/osSVd/03XiWBQnXk7v2aSkfXMqgEAzfv\n"
+ "0fzWZYyhKSwTvDG48LfnIuF7UrnvnC3xdAOjcQ+E3zUdYYonSn3gRBwIjOK4wFbG\n"
+ "Q4oelFnPOjWGeasLh++yBNfCa506jgFd9Y1rU5o0r/EIYSQi2aj71E+x3EdkS0Tx\n"
+ "iKpIGHseuP2ARmmZPLy4YglFBvPiDRi0jdgdWd6UbNk7XJ+xnKa9gVtk3TX7vy5E\n"
+ "7R1686F66bIe9T1N2Wyf3huJkgwUB2UPpG9rNiOvRLGFxkONeATwiJyzJG9DmtGw\n"
+ "GbKsyMDU9Rq9Z694tBCnlWlPrQKsZEsnivPIn/2VaANArT1QtsS+EdaXzuIWmIM0\n"
+ "cdQXf1U1VhzACFpHnFZ6XsOe40qwzj+6RQprHcWnIGP992qiQ6zPF8QPkycTrbhi\n"
+ "TG7hX59sTTBJva5DNjZnx4H/hOiQub04CMD501JiLQ1ALXGfAgMBAAGjWDBWMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcGADAdBgNVHQ4EFgQUS3b8vegC7b0m83OMq/9dq++nS58wDQYJKoZIhvcNAQEL\n"
+ "BQADggGBALJv0DUD3Ujb0a9zcgKQIjljFMoA0v5A6+ZoLeHmRTU5udNV9G2AsdSx\n"
+ "PEH/D7v/GyoR0jApgA0TiAqRuvlc3NsdHBx9tFvgrAFyC7bbJRrf9lP9QlTqkmb7\n"
+ "a85OYmdiDhtQSyKdtSZpAfP7jVGJqQz5UWbV3CjYfubU+HLIZXEb6m8YCKBFb7l9\n"
+ "GNrcKK+gFyrQr6KmojzMkJd5PxVBUsYleaf/0QxC7nRbTH/qomJvooI2nLBLA7U3\n"
+ "VGLL3Og6rpjIWu2dwkvepcnesdrnPq4hJQ+uSfDkthP/qCs/3Nj9bvL73DIAYUc2\n"
+ "6FUmOK40BRhBhcAIYj+9JDtHncykj0RBjH6eq+goDTSd4gTXmfbzb8p1jjLal8xZ\n"
+ "PcNzShMpUqkmWe3Otzd98zkOzqiHeO03tBgfA5u+4gInSdQp5eUpE3Uivp9IcNaC\n"
+ "TMSfIA6roY+p7j1ISlmzXUZuEz9dkJumV0TMmOv6nd+ZufwaDOIuDPad5bG2JFji\n"
+ "KvV1dLfOfg==\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t server2_cert = { server2_cert_pem,
- sizeof(server2_cert_pem) - 1
-};
+ sizeof(server2_cert_pem) - 1 };
static unsigned char server2_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG4wIBAAKCAYEApk9rgAWlVEGy9t5Nn9RsvupM3JATJe2ONeGgMjAT++rgjsEN\n"
- "wjqNNmEFLZjx8VfRjnHoVEIWvMJqeaAeBwP7GiKiDiLkHEK4ZwjJZ7aqy0KIRktD\n"
- "LWvJrZdoJrytyMikKVhPHQ9qwh6JRA3qx1FiEcW7ahU2U4/r/fydiUC0wec2UhBd\n"
- "4AJyXzYvFO7oSKPkQfzlGBNT55z/Wp9zfOO1w2x/++I+1AoKFFJ1dRI3hyrL/DfO\n"
- "UMoeVkJ6knyZN3TQo+ZjbSkLZlpnAoxGSN8uNcX9q91AuM2zQOg1xPD0ZJvLP3j9\n"
- "BOtYQ7rvkX0U3efJXXO+Gq4oCKiPU4ZY6u43BquipzEaeZiSWPS6Xj2Ipn+KO0v7\n"
- "7NBxhNP3lpfQYDwZbw1AjnViE+WUS8r2DyM47daTGafqUCXM08kSTCrSWSte96P0\n"
- "jHFnyjtPGrwC0KQw1ug4nJxFi9FHZyU+IhczvFthocPuKOAq44//zsKKuPKsJIhA\n"
- "4QXfdVVvm4m+RoTZAgMBAAECggGAS5YpC6SFQcgiaKUcrpnDWvnuOQiaS1Cuo7qK\n"
- "LoU/b+2OZhNEB5TI/YAW9GRhAgmhypXmu/TVlLDf56toOlQK2hQHh1lAR7/jQ6Dw\n"
- "uNyCv6LbgOdP/uLQZL89rO1wJqNaSRhDzLdnFBcA2BdjL3fDlMRDq7E8Ybo1zdf0\n"
- "WZ85CC/ntmCN6fPyu2dK+r6if/FNGtiv3sNaDRiDzlJOEOMFh25WtMpdN83gSuA3\n"
- "ViATcLF4yIcsk/do1leckdtjX5sNRIl6b53V0LoXd62BOs9KmrvpZt4MOx8XjPnw\n"
- "8P+gvqTA6U7zYGPdIbE6Ri+YJ/NKCND2U02XPdHF2N1TSDafZ7McjHZf53Dr+U2M\n"
- "nqLz6wY3SzLR9Puhn9FJHgyBcEaobEDFqWJC3cqNxn1u90bk9XxRflAO99vKb341\n"
- "qZXpN+/s9t0z6uL5G6q6s8ta9W0WKuiYelZam91+c6j8BXh1nntfFo7H6UvI8gSl\n"
- "axaTwxD3+tEgmpNj9f5+tP75rE1JAoHBAN1vJvnTISX7UEQfgytOszdl90viaSj4\n"
- "3gqD0M80OVaYk9ocffIIL/Dv66Wi5Ur9LgEOAfOlA/T67sCKEJ3D227czT0kj17f\n"
- "GCWLLlJgNeJ/zbs4eB11ysKPFgW92/NABtyOJBaRHlf2GuGwRGv64kBBdcteg5zQ\n"
- "ylNGpgjgf8SGtwIhoOScE9cdpdLO0AeRU/s/bQEnEpAlF08GjuCPjdHPuTVn9/EW\n"
- "zlc73WoKUyT6wJsvXMDoiiqDhFvT/C4kvwKBwQDARW4v2SAvxHPPARBCHxre90FL\n"
- "B+V+B3MUCP/pySkmVvdmUzm4ftPpIJ5E16ONzH3LYUpSoOIcBgR0ouWawjp3azyf\n"
- "U+1k8NT1VCWl745uCMIKT7x3sTqFznkp8UAsE7x2mvD+yze35qSIjaSwDP0IXYQT\n"
- "OmsVoY0WkP1OyyqiUObzced/9rWl5ysFa7R9MyXPNS98dViBYx0ORnadBjh7KuuZ\n"
- "f9lW2aemW1MGMh2+3dokjpQGo958N9QDaafNRGcCgcAYXvxuMJOMZ52M8d7w7EeD\n"
- "SGCwZGnojYN6qslXlMrewgo7zjj6Y3ZLUUyhPU15NGZUzWLfmwDVfKy8WjW792t2\n"
- "Ryz7lsOE0I8Kyse9X0Nu+1v8SBnIPEelpDPrS9siaaCXs7k7Fpu9WKPaxRiyvbkb\n"
- "E1lQmcVog/5QrgzmGzdUvPL1dBgOMTNp0KSIkCSLQK56j5+Cqfc8ECkBlJozEvmr\n"
- "5u3ed+PtD/KD3V3gJuTBxCtgqRTPUoiqZzExHiK6PWcCgcEAguWBy29tWzfKg+48\n"
- "bFeSyqLYP8WDdpaJwOUTnMzHiAOC8JXOYQ1vJXKAbWvFPD8wkOqOV8yRwvRRyjow\n"
- "SHjcpvpJzkqr/qF6yf5clyiM9dpeh/ia3X250uirUmOdBaT2FGUNltkw+LE76H9N\n"
- "1FEzXqOTzCdkSdivHeLdoOvt/Y1IfgpYyaRjLCxB/LHDsczFe9jAmGGnPIcGe/Z6\n"
- "wBJBF5Ezzk/c3iTV3wqjbj9mQs/0uBidLBwZ1sWHQD+I7tUXAoHAHXjrwCI5AJTS\n"
- "OyK0/85F5x5cbbeWZvU9bgni6IN51j9r12J13qt1bBQE+jQkOKRkvyRtEeQW3Zod\n"
- "+zcBcCqU9HSQa7BH7beT6ChEz+lx/OZ+b34MOxwE6BJdQCu1048fD9/xHq8xoQQf\n"
- "E+1aSEFaNRfxIOdqNUvyKy+WgWKoMDU96Uw6LU4z9lzOLwKb4LTZhE+qp2lMJ2Ws\n"
- "9lH//6DGC2Z42m0Do2uqdxjBclumwqvzdozgsAwKSNkDUMAqPKI5\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG4wIBAAKCAYEApk9rgAWlVEGy9t5Nn9RsvupM3JATJe2ONeGgMjAT++rgjsEN\n"
+ "wjqNNmEFLZjx8VfRjnHoVEIWvMJqeaAeBwP7GiKiDiLkHEK4ZwjJZ7aqy0KIRktD\n"
+ "LWvJrZdoJrytyMikKVhPHQ9qwh6JRA3qx1FiEcW7ahU2U4/r/fydiUC0wec2UhBd\n"
+ "4AJyXzYvFO7oSKPkQfzlGBNT55z/Wp9zfOO1w2x/++I+1AoKFFJ1dRI3hyrL/DfO\n"
+ "UMoeVkJ6knyZN3TQo+ZjbSkLZlpnAoxGSN8uNcX9q91AuM2zQOg1xPD0ZJvLP3j9\n"
+ "BOtYQ7rvkX0U3efJXXO+Gq4oCKiPU4ZY6u43BquipzEaeZiSWPS6Xj2Ipn+KO0v7\n"
+ "7NBxhNP3lpfQYDwZbw1AjnViE+WUS8r2DyM47daTGafqUCXM08kSTCrSWSte96P0\n"
+ "jHFnyjtPGrwC0KQw1ug4nJxFi9FHZyU+IhczvFthocPuKOAq44//zsKKuPKsJIhA\n"
+ "4QXfdVVvm4m+RoTZAgMBAAECggGAS5YpC6SFQcgiaKUcrpnDWvnuOQiaS1Cuo7qK\n"
+ "LoU/b+2OZhNEB5TI/YAW9GRhAgmhypXmu/TVlLDf56toOlQK2hQHh1lAR7/jQ6Dw\n"
+ "uNyCv6LbgOdP/uLQZL89rO1wJqNaSRhDzLdnFBcA2BdjL3fDlMRDq7E8Ybo1zdf0\n"
+ "WZ85CC/ntmCN6fPyu2dK+r6if/FNGtiv3sNaDRiDzlJOEOMFh25WtMpdN83gSuA3\n"
+ "ViATcLF4yIcsk/do1leckdtjX5sNRIl6b53V0LoXd62BOs9KmrvpZt4MOx8XjPnw\n"
+ "8P+gvqTA6U7zYGPdIbE6Ri+YJ/NKCND2U02XPdHF2N1TSDafZ7McjHZf53Dr+U2M\n"
+ "nqLz6wY3SzLR9Puhn9FJHgyBcEaobEDFqWJC3cqNxn1u90bk9XxRflAO99vKb341\n"
+ "qZXpN+/s9t0z6uL5G6q6s8ta9W0WKuiYelZam91+c6j8BXh1nntfFo7H6UvI8gSl\n"
+ "axaTwxD3+tEgmpNj9f5+tP75rE1JAoHBAN1vJvnTISX7UEQfgytOszdl90viaSj4\n"
+ "3gqD0M80OVaYk9ocffIIL/Dv66Wi5Ur9LgEOAfOlA/T67sCKEJ3D227czT0kj17f\n"
+ "GCWLLlJgNeJ/zbs4eB11ysKPFgW92/NABtyOJBaRHlf2GuGwRGv64kBBdcteg5zQ\n"
+ "ylNGpgjgf8SGtwIhoOScE9cdpdLO0AeRU/s/bQEnEpAlF08GjuCPjdHPuTVn9/EW\n"
+ "zlc73WoKUyT6wJsvXMDoiiqDhFvT/C4kvwKBwQDARW4v2SAvxHPPARBCHxre90FL\n"
+ "B+V+B3MUCP/pySkmVvdmUzm4ftPpIJ5E16ONzH3LYUpSoOIcBgR0ouWawjp3azyf\n"
+ "U+1k8NT1VCWl745uCMIKT7x3sTqFznkp8UAsE7x2mvD+yze35qSIjaSwDP0IXYQT\n"
+ "OmsVoY0WkP1OyyqiUObzced/9rWl5ysFa7R9MyXPNS98dViBYx0ORnadBjh7KuuZ\n"
+ "f9lW2aemW1MGMh2+3dokjpQGo958N9QDaafNRGcCgcAYXvxuMJOMZ52M8d7w7EeD\n"
+ "SGCwZGnojYN6qslXlMrewgo7zjj6Y3ZLUUyhPU15NGZUzWLfmwDVfKy8WjW792t2\n"
+ "Ryz7lsOE0I8Kyse9X0Nu+1v8SBnIPEelpDPrS9siaaCXs7k7Fpu9WKPaxRiyvbkb\n"
+ "E1lQmcVog/5QrgzmGzdUvPL1dBgOMTNp0KSIkCSLQK56j5+Cqfc8ECkBlJozEvmr\n"
+ "5u3ed+PtD/KD3V3gJuTBxCtgqRTPUoiqZzExHiK6PWcCgcEAguWBy29tWzfKg+48\n"
+ "bFeSyqLYP8WDdpaJwOUTnMzHiAOC8JXOYQ1vJXKAbWvFPD8wkOqOV8yRwvRRyjow\n"
+ "SHjcpvpJzkqr/qF6yf5clyiM9dpeh/ia3X250uirUmOdBaT2FGUNltkw+LE76H9N\n"
+ "1FEzXqOTzCdkSdivHeLdoOvt/Y1IfgpYyaRjLCxB/LHDsczFe9jAmGGnPIcGe/Z6\n"
+ "wBJBF5Ezzk/c3iTV3wqjbj9mQs/0uBidLBwZ1sWHQD+I7tUXAoHAHXjrwCI5AJTS\n"
+ "OyK0/85F5x5cbbeWZvU9bgni6IN51j9r12J13qt1bBQE+jQkOKRkvyRtEeQW3Zod\n"
+ "+zcBcCqU9HSQa7BH7beT6ChEz+lx/OZ+b34MOxwE6BJdQCu1048fD9/xHq8xoQQf\n"
+ "E+1aSEFaNRfxIOdqNUvyKy+WgWKoMDU96Uw6LU4z9lzOLwKb4LTZhE+qp2lMJ2Ws\n"
+ "9lH//6DGC2Z42m0Do2uqdxjBclumwqvzdozgsAwKSNkDUMAqPKI5\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t server2_key = { server2_key_pem,
- sizeof(server2_key_pem) - 1
-};
+ sizeof(server2_key_pem) - 1 };
static unsigned char ca2_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE1MTIwODA5MzAzMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0Q82wj5Dk/me634j\n"
- "DnFBbAJ5FGNNeXnBgprRo2tQv8oJYMN/osSVd/03XiWBQnXk7v2aSkfXMqgEAzfv\n"
- "0fzWZYyhKSwTvDG48LfnIuF7UrnvnC3xdAOjcQ+E3zUdYYonSn3gRBwIjOK4wFbG\n"
- "Q4oelFnPOjWGeasLh++yBNfCa506jgFd9Y1rU5o0r/EIYSQi2aj71E+x3EdkS0Tx\n"
- "iKpIGHseuP2ARmmZPLy4YglFBvPiDRi0jdgdWd6UbNk7XJ+xnKa9gVtk3TX7vy5E\n"
- "7R1686F66bIe9T1N2Wyf3huJkgwUB2UPpG9rNiOvRLGFxkONeATwiJyzJG9DmtGw\n"
- "GbKsyMDU9Rq9Z694tBCnlWlPrQKsZEsnivPIn/2VaANArT1QtsS+EdaXzuIWmIM0\n"
- "cdQXf1U1VhzACFpHnFZ6XsOe40qwzj+6RQprHcWnIGP992qiQ6zPF8QPkycTrbhi\n"
- "TG7hX59sTTBJva5DNjZnx4H/hOiQub04CMD501JiLQ1ALXGfAgMBAAGjWDBWMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcGADAdBgNVHQ4EFgQUS3b8vegC7b0m83OMq/9dq++nS58wDQYJKoZIhvcNAQEL\n"
- "BQADggGBALJv0DUD3Ujb0a9zcgKQIjljFMoA0v5A6+ZoLeHmRTU5udNV9G2AsdSx\n"
- "PEH/D7v/GyoR0jApgA0TiAqRuvlc3NsdHBx9tFvgrAFyC7bbJRrf9lP9QlTqkmb7\n"
- "a85OYmdiDhtQSyKdtSZpAfP7jVGJqQz5UWbV3CjYfubU+HLIZXEb6m8YCKBFb7l9\n"
- "GNrcKK+gFyrQr6KmojzMkJd5PxVBUsYleaf/0QxC7nRbTH/qomJvooI2nLBLA7U3\n"
- "VGLL3Og6rpjIWu2dwkvepcnesdrnPq4hJQ+uSfDkthP/qCs/3Nj9bvL73DIAYUc2\n"
- "6FUmOK40BRhBhcAIYj+9JDtHncykj0RBjH6eq+goDTSd4gTXmfbzb8p1jjLal8xZ\n"
- "PcNzShMpUqkmWe3Otzd98zkOzqiHeO03tBgfA5u+4gInSdQp5eUpE3Uivp9IcNaC\n"
- "TMSfIA6roY+p7j1ISlmzXUZuEz9dkJumV0TMmOv6nd+ZufwaDOIuDPad5bG2JFji\n"
- "KvV1dLfOfg==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca2_cert = { ca2_cert_pem,
- sizeof(ca2_cert_pem) - 1
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE1MTIwODA5MzAzMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0Q82wj5Dk/me634j\n"
+ "DnFBbAJ5FGNNeXnBgprRo2tQv8oJYMN/osSVd/03XiWBQnXk7v2aSkfXMqgEAzfv\n"
+ "0fzWZYyhKSwTvDG48LfnIuF7UrnvnC3xdAOjcQ+E3zUdYYonSn3gRBwIjOK4wFbG\n"
+ "Q4oelFnPOjWGeasLh++yBNfCa506jgFd9Y1rU5o0r/EIYSQi2aj71E+x3EdkS0Tx\n"
+ "iKpIGHseuP2ARmmZPLy4YglFBvPiDRi0jdgdWd6UbNk7XJ+xnKa9gVtk3TX7vy5E\n"
+ "7R1686F66bIe9T1N2Wyf3huJkgwUB2UPpG9rNiOvRLGFxkONeATwiJyzJG9DmtGw\n"
+ "GbKsyMDU9Rq9Z694tBCnlWlPrQKsZEsnivPIn/2VaANArT1QtsS+EdaXzuIWmIM0\n"
+ "cdQXf1U1VhzACFpHnFZ6XsOe40qwzj+6RQprHcWnIGP992qiQ6zPF8QPkycTrbhi\n"
+ "TG7hX59sTTBJva5DNjZnx4H/hOiQub04CMD501JiLQ1ALXGfAgMBAAGjWDBWMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcGADAdBgNVHQ4EFgQUS3b8vegC7b0m83OMq/9dq++nS58wDQYJKoZIhvcNAQEL\n"
+ "BQADggGBALJv0DUD3Ujb0a9zcgKQIjljFMoA0v5A6+ZoLeHmRTU5udNV9G2AsdSx\n"
+ "PEH/D7v/GyoR0jApgA0TiAqRuvlc3NsdHBx9tFvgrAFyC7bbJRrf9lP9QlTqkmb7\n"
+ "a85OYmdiDhtQSyKdtSZpAfP7jVGJqQz5UWbV3CjYfubU+HLIZXEb6m8YCKBFb7l9\n"
+ "GNrcKK+gFyrQr6KmojzMkJd5PxVBUsYleaf/0QxC7nRbTH/qomJvooI2nLBLA7U3\n"
+ "VGLL3Og6rpjIWu2dwkvepcnesdrnPq4hJQ+uSfDkthP/qCs/3Nj9bvL73DIAYUc2\n"
+ "6FUmOK40BRhBhcAIYj+9JDtHncykj0RBjH6eq+goDTSd4gTXmfbzb8p1jjLal8xZ\n"
+ "PcNzShMpUqkmWe3Otzd98zkOzqiHeO03tBgfA5u+4gInSdQp5eUpE3Uivp9IcNaC\n"
+ "TMSfIA6roY+p7j1ISlmzXUZuEz9dkJumV0TMmOv6nd+ZufwaDOIuDPad5bG2JFji\n"
+ "KvV1dLfOfg==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca2_cert = { ca2_cert_pem, sizeof(ca2_cert_pem) - 1 };
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cli_cert = { cert_pem, sizeof(cert_pem) - 1 };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t cli_key = { key_pem, sizeof(key_pem) - 1 };
static char dsa_key_pem[] =
- "-----BEGIN DSA PRIVATE KEY-----\n"
- "MIIBugIBAAKBgQC5hPVagb4aDcWKc48Mmy+btg5Lw3Qaf2StnfMoxaBHvJtXVvGX\n"
- "1X43A+nyTPTji38wo10vu6GiN8LqNY8fsV+mol8B8SM2K+RPLy3dndU6pjmvelF8\n"
- "0iWOl3TPHsV7S3ZDgQcfBhS4blgS4ZDiN2/SG+xoxVji5jDgal4sY3jsBwIVAJ9W\n"
- "jEhkL/6NqnptltsEXRbvCKVxAoGAYgZ+5Fx2CLdGGl3Xl9QqIfsfMcnS9Po52CfR\n"
- "m/wnXacKpxr8U8EvQ8I3yIV/PUyrXYEy+x1eHlQRFiDGgFrZjJtD8N1roPTD8oqc\n"
- "OdIcew/v+iiTj9KhIuvc4IqLrSgOz+8Jhek2vYt6UNV79yUNbGARxO9wkM/WG+u7\n"
- "jsY+OpcCgYAPiodX8tHC3KzfS4sPi7op9+ED5FX6spgH1v0SsYC89bq0UNR/oA5D\n"
- "55/JeBFf5eQMLGtqpDXcvVTlYDaaMdGKWW5rHLq9LrrrfIfv2sjdoeukg+aLrfr6\n"
- "jlvXN8gyPpbCPvRD2n2RAg+3vPjvj/dBAF6W3w8IltzqsukGgq/SLwIUS5/r/2ya\n"
- "AoNBXjeBjgCGMei2m8E=\n" "-----END DSA PRIVATE KEY-----\n";
+ "-----BEGIN DSA PRIVATE KEY-----\n"
+ "MIIBugIBAAKBgQC5hPVagb4aDcWKc48Mmy+btg5Lw3Qaf2StnfMoxaBHvJtXVvGX\n"
+ "1X43A+nyTPTji38wo10vu6GiN8LqNY8fsV+mol8B8SM2K+RPLy3dndU6pjmvelF8\n"
+ "0iWOl3TPHsV7S3ZDgQcfBhS4blgS4ZDiN2/SG+xoxVji5jDgal4sY3jsBwIVAJ9W\n"
+ "jEhkL/6NqnptltsEXRbvCKVxAoGAYgZ+5Fx2CLdGGl3Xl9QqIfsfMcnS9Po52CfR\n"
+ "m/wnXacKpxr8U8EvQ8I3yIV/PUyrXYEy+x1eHlQRFiDGgFrZjJtD8N1roPTD8oqc\n"
+ "OdIcew/v+iiTj9KhIuvc4IqLrSgOz+8Jhek2vYt6UNV79yUNbGARxO9wkM/WG+u7\n"
+ "jsY+OpcCgYAPiodX8tHC3KzfS4sPi7op9+ED5FX6spgH1v0SsYC89bq0UNR/oA5D\n"
+ "55/JeBFf5eQMLGtqpDXcvVTlYDaaMdGKWW5rHLq9LrrrfIfv2sjdoeukg+aLrfr6\n"
+ "jlvXN8gyPpbCPvRD2n2RAg+3vPjvj/dBAF6W3w8IltzqsukGgq/SLwIUS5/r/2ya\n"
+ "AoNBXjeBjgCGMei2m8E=\n"
+ "-----END DSA PRIVATE KEY-----\n";
const gnutls_datum_t dsa_key = { (unsigned char *)dsa_key_pem,
- sizeof(dsa_key_pem) - 1
-};
+ sizeof(dsa_key_pem) - 1 };
static char ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIID+jCCAmKgAwIBAgIIVzGgXgSsTYwwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNjA1MTAwODQ4MzBaGA85OTk5MTIzMTIzNTk1OVowDzENMAsG\n"
- "A1UEAxMEQ0EtMzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALbdxniG\n"
- "+2wP/ONeZfvR7AJakVo5deFKIHVTiiBWwhg+HSjd4nfDa+vyTt/wIdldP1PriD1R\n"
- "igc8z68+RxPpGfAc197pKlKpO08I0L1RDKnjBWr4fGdCzE6uZ/ZsKVifoIZpdC8M\n"
- "2IYpAIMajEtnH53XZ1hTEviXTsneuiCTtap73OeSkL71SrIMkgBmAX17gfX3SxFj\n"
- "QUzOs6QMMOa3+8GW7RI+E/SyS1QkOO860dj9XYgOnTL20ibGcWF2XmTiQASI+KmH\n"
- "vYJCNJF/8pvmyJRyBHGZO830aBY0+DcS2bLKcyMiWfOJw7WnpaO7zSEC5WFgo4jd\n"
- "qroUBQdjQNCSSdrt1yYrAl1Sj2PMxYFX4H545Pr2sMpwC9AnPk9+uucT1Inj9615\n"
- "qbuXgFwhkgpK5pnPjzKaHp7ESlJj4/dIPTmhlt5BV+CLh7tSLzVLrddGU+os8Jin\n"
- "T42radJ5V51Hn0C1CHIaFAuBCd5XRHXtrKb7WcnwCOxlcvux9h5/847F4wIDAQAB\n"
- "o1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMJMA8GA1Ud\n"
- "DwEB/wQFAwMHBgAwHQYDVR0OBBYEFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBgQBhBi8dXQMtXH2oqcuHuEj9JkxraAsaJvc1WAoxbiqVcJKc\n"
- "VSC0gvoCY3q+NQvuePzw5dzd5JBfkoIsP5U6ATWAUPPqCP+/jRnFqDQlH626mhDG\n"
- "VS8W7Ee8z1KWqnKWGv5nkrZ6r3y9bVaNUmY7rytzuct1bI9YkX1kM66vgnU2xeMI\n"
- "jDe36/wTtBRVFPSPpE3KL9hxCg3KgPSeSmmIhmQxJ1M6xe00314/GX3lTDt55UdM\n"
- "gmldl2LHV+0i1NPCgnuOEFVOiz2nHAnw2LNmvHEDDpPauz2Meeh9aaDeefIh2u/w\n"
- "g39WRPhU1mYvmxvYZqA/jwSctiEhuKEBBZSOHxeTjplH1THlIziVnYyVW4sPMiGU\n"
- "ajXhTi47H219hx87+bldruOtirbDIslL9RGWqWAkMeGP+hUl1R2zvDukaqIKqIN8\n"
- "1/A/EeMoI6/IHb1BpgY2rGs/I/QTb3VTKqQUYv09Hi+itPCdKqamSm8dZMKKaPA0\n"
- "fD9yskUMFPBhfj8BvXg=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID+jCCAmKgAwIBAgIIVzGgXgSsTYwwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNjA1MTAwODQ4MzBaGA85OTk5MTIzMTIzNTk1OVowDzENMAsG\n"
+ "A1UEAxMEQ0EtMzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALbdxniG\n"
+ "+2wP/ONeZfvR7AJakVo5deFKIHVTiiBWwhg+HSjd4nfDa+vyTt/wIdldP1PriD1R\n"
+ "igc8z68+RxPpGfAc197pKlKpO08I0L1RDKnjBWr4fGdCzE6uZ/ZsKVifoIZpdC8M\n"
+ "2IYpAIMajEtnH53XZ1hTEviXTsneuiCTtap73OeSkL71SrIMkgBmAX17gfX3SxFj\n"
+ "QUzOs6QMMOa3+8GW7RI+E/SyS1QkOO860dj9XYgOnTL20ibGcWF2XmTiQASI+KmH\n"
+ "vYJCNJF/8pvmyJRyBHGZO830aBY0+DcS2bLKcyMiWfOJw7WnpaO7zSEC5WFgo4jd\n"
+ "qroUBQdjQNCSSdrt1yYrAl1Sj2PMxYFX4H545Pr2sMpwC9AnPk9+uucT1Inj9615\n"
+ "qbuXgFwhkgpK5pnPjzKaHp7ESlJj4/dIPTmhlt5BV+CLh7tSLzVLrddGU+os8Jin\n"
+ "T42radJ5V51Hn0C1CHIaFAuBCd5XRHXtrKb7WcnwCOxlcvux9h5/847F4wIDAQAB\n"
+ "o1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMJMA8GA1Ud\n"
+ "DwEB/wQFAwMHBgAwHQYDVR0OBBYEFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBgQBhBi8dXQMtXH2oqcuHuEj9JkxraAsaJvc1WAoxbiqVcJKc\n"
+ "VSC0gvoCY3q+NQvuePzw5dzd5JBfkoIsP5U6ATWAUPPqCP+/jRnFqDQlH626mhDG\n"
+ "VS8W7Ee8z1KWqnKWGv5nkrZ6r3y9bVaNUmY7rytzuct1bI9YkX1kM66vgnU2xeMI\n"
+ "jDe36/wTtBRVFPSPpE3KL9hxCg3KgPSeSmmIhmQxJ1M6xe00314/GX3lTDt55UdM\n"
+ "gmldl2LHV+0i1NPCgnuOEFVOiz2nHAnw2LNmvHEDDpPauz2Meeh9aaDeefIh2u/w\n"
+ "g39WRPhU1mYvmxvYZqA/jwSctiEhuKEBBZSOHxeTjplH1THlIziVnYyVW4sPMiGU\n"
+ "ajXhTi47H219hx87+bldruOtirbDIslL9RGWqWAkMeGP+hUl1R2zvDukaqIKqIN8\n"
+ "1/A/EeMoI6/IHb1BpgY2rGs/I/QTb3VTKqQUYv09Hi+itPCdKqamSm8dZMKKaPA0\n"
+ "fD9yskUMFPBhfj8BvXg=\n"
+ "-----END CERTIFICATE-----\n";
static char ca3_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG4gIBAAKCAYEAtt3GeIb7bA/8415l+9HsAlqRWjl14UogdVOKIFbCGD4dKN3i\n"
- "d8Nr6/JO3/Ah2V0/U+uIPVGKBzzPrz5HE+kZ8BzX3ukqUqk7TwjQvVEMqeMFavh8\n"
- "Z0LMTq5n9mwpWJ+ghml0LwzYhikAgxqMS2cfnddnWFMS+JdOyd66IJO1qnvc55KQ\n"
- "vvVKsgySAGYBfXuB9fdLEWNBTM6zpAww5rf7wZbtEj4T9LJLVCQ47zrR2P1diA6d\n"
- "MvbSJsZxYXZeZOJABIj4qYe9gkI0kX/ym+bIlHIEcZk7zfRoFjT4NxLZsspzIyJZ\n"
- "84nDtaelo7vNIQLlYWCjiN2quhQFB2NA0JJJ2u3XJisCXVKPY8zFgVfgfnjk+vaw\n"
- "ynAL0Cc+T3665xPUieP3rXmpu5eAXCGSCkrmmc+PMpoensRKUmPj90g9OaGW3kFX\n"
- "4IuHu1IvNUut10ZT6izwmKdPjatp0nlXnUefQLUIchoUC4EJ3ldEde2spvtZyfAI\n"
- "7GVy+7H2Hn/zjsXjAgMBAAECggGASjfywKJQUwieJA4BKFaICmCF0++0V07Fo7jX\n"
- "O87akgpLvXVo4CDRoX7D4oHMyzLcbAwRTInWkp9sz3xgTsVyAJFEUDWkNs52wtoa\n"
- "FmxZzm3UmhjmLObgkyKYEVzO3yhSd5s/S4VUMAdeLNfOjx/4phBx4lg9P+XxVV9v\n"
- "fZ9VwS7qdpZ25voZafBOJZlBC5PgKFtI/XKiYzEVmgRUqJ+Nr4G5EIlfghYHGsxk\n"
- "yzu9Ret3VaxQwwmIO7KY++yV3S4yC4H2A8kmInp+95IeNXND2GEgZJyp0z/7bkd0\n"
- "lOtSbYZKEaMZob2IM9gcbAHvG+Oq1349zNtC5d8KyjYcJ4W2BkeHrNiSWHiHq5zA\n"
- "dMbvgWs2ydjmpU5DacsP974lDsrt5TO+Cn16ETxDIqklkOqkLInuVmgssjWMbG0F\n"
- "qxjM6XgnO6xUizxDJywzWg05J5CCGWydbj/m6Cfns0+jokuCTSuqcAsKBhe6YD4o\n"
- "KOdws1egC7Bh+JqCTU1FtazU+THJAoHBAMz+FZrYOJVIhBOHQdttCPtYL3kglPwx\n"
- "Tvtryvct7ui76LFCtwsDclQl5wcCl89NQF+9hVpW5t3kSHuM05mFHxvFlx2fTw01\n"
- "6z4aXiLiccuc4QZQuTnfSW9OeX285So5rRbEHc8A9Pfa3Mi1OHYCt3jD92r6JGfD\n"
- "NQd06vJRgUjjLSBtWvY4usamNWY/lOCJPjSJG8x3TqRyS4e0KtD1rHgJ8I9L2+a1\n"
- "MT6E8qy8lf1+5H4hnHfYjSi9/URuYtoVNQKBwQDkXkNaJi30D/6abhdcqm9/Vitr\n"
- "bzmhkxDOTTmkaZ/9YH8lfhcbANFuIYvBb+1DSOGtXWy02pidxc3DC1QbxHpjjmd4\n"
- "fCe4TCVffMuLZDE+SofbltyQ84mVhEJS3iH0QB5ESS0M+MNn9v92Ah98UK58wWFS\n"
- "UUmBvEqVWGDlBoSiyQ0H+B2uWI1h24F7WQYGZppdFCs8YE6ZS0pmEklQ4DrnGd/J\n"
- "urXANEa6XE+BG9KF8x0sAM0YH1gHfLmyZrJXybcCgcB2v0kspcxBTfyUg2m2/naR\n"
- "gwgdFq63WKj0JAEzJryavR+Sb58xFhIIhNxLx0jBoXKFA3hYWLbsGu2SBIYfDGp0\n"
- "4AUl978HXBClrQiTFLHuzTXdPq3NxHb5r2/ZUq89wqNt6LWL0HYXjgUPj0rhsbku\n"
- "j/anVbf5E6+IXkYrkONfoZnmivKCZ2Jq6KVOUc6gM2CBdltQGlzIDh2Kwud6nJYI\n"
- "A1oC6GK+Rn/8Q2+AeM46RmN+XWISWrOKwmQQXBGPW3ECgcB3pk/Bjtlq02qBPQcu\n"
- "fPnYDKzJKEhYuHYIsPtvggvaNFHJsgunEUGpYxgXLG5yX2Amdhl7lEB8AWQyOeBC\n"
- "gCnjuXvK67nf3L2EDx2SFdebHG+cBKnhpEfEt7wMMOg3UdTJ0FEzR68R7J6iFLCs\n"
- "cJVLNgKon4BU4fNt1hVGSaj6pT4Xm87pRuokiF6J4vW+Ksnb1LJmessTlBgR7KjP\n"
- "H/yckrjmt9V8M6ePAsiBC7O8jMkPAghzCBEWMyoUJ6xvRHcCgcAWZFAbb0kCiebN\n"
- "twTeVJ53V3hdFpanX1bDCOD+B7QFGqkNpEiF4WqHioSrXVhL9yLROLFUo43eqH4u\n"
- "3m1cny0hwWDrkDbuMIMrjHtQRYsDX/0XbwPFr1jxNHggzC6uZXeSKih7xoVFFL/e\n"
- "AbsLJbTvoXgn6abfY5JlN45G+P9L23j3/B5PYQUTLllXQxgFGIpnWL0RFCHQuNX6\n"
- "xkwfZG91IiOdKlKEddraZb3OppP1j7HsiyaYmwIMtsPc9wa2EsU=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG4gIBAAKCAYEAtt3GeIb7bA/8415l+9HsAlqRWjl14UogdVOKIFbCGD4dKN3i\n"
+ "d8Nr6/JO3/Ah2V0/U+uIPVGKBzzPrz5HE+kZ8BzX3ukqUqk7TwjQvVEMqeMFavh8\n"
+ "Z0LMTq5n9mwpWJ+ghml0LwzYhikAgxqMS2cfnddnWFMS+JdOyd66IJO1qnvc55KQ\n"
+ "vvVKsgySAGYBfXuB9fdLEWNBTM6zpAww5rf7wZbtEj4T9LJLVCQ47zrR2P1diA6d\n"
+ "MvbSJsZxYXZeZOJABIj4qYe9gkI0kX/ym+bIlHIEcZk7zfRoFjT4NxLZsspzIyJZ\n"
+ "84nDtaelo7vNIQLlYWCjiN2quhQFB2NA0JJJ2u3XJisCXVKPY8zFgVfgfnjk+vaw\n"
+ "ynAL0Cc+T3665xPUieP3rXmpu5eAXCGSCkrmmc+PMpoensRKUmPj90g9OaGW3kFX\n"
+ "4IuHu1IvNUut10ZT6izwmKdPjatp0nlXnUefQLUIchoUC4EJ3ldEde2spvtZyfAI\n"
+ "7GVy+7H2Hn/zjsXjAgMBAAECggGASjfywKJQUwieJA4BKFaICmCF0++0V07Fo7jX\n"
+ "O87akgpLvXVo4CDRoX7D4oHMyzLcbAwRTInWkp9sz3xgTsVyAJFEUDWkNs52wtoa\n"
+ "FmxZzm3UmhjmLObgkyKYEVzO3yhSd5s/S4VUMAdeLNfOjx/4phBx4lg9P+XxVV9v\n"
+ "fZ9VwS7qdpZ25voZafBOJZlBC5PgKFtI/XKiYzEVmgRUqJ+Nr4G5EIlfghYHGsxk\n"
+ "yzu9Ret3VaxQwwmIO7KY++yV3S4yC4H2A8kmInp+95IeNXND2GEgZJyp0z/7bkd0\n"
+ "lOtSbYZKEaMZob2IM9gcbAHvG+Oq1349zNtC5d8KyjYcJ4W2BkeHrNiSWHiHq5zA\n"
+ "dMbvgWs2ydjmpU5DacsP974lDsrt5TO+Cn16ETxDIqklkOqkLInuVmgssjWMbG0F\n"
+ "qxjM6XgnO6xUizxDJywzWg05J5CCGWydbj/m6Cfns0+jokuCTSuqcAsKBhe6YD4o\n"
+ "KOdws1egC7Bh+JqCTU1FtazU+THJAoHBAMz+FZrYOJVIhBOHQdttCPtYL3kglPwx\n"
+ "Tvtryvct7ui76LFCtwsDclQl5wcCl89NQF+9hVpW5t3kSHuM05mFHxvFlx2fTw01\n"
+ "6z4aXiLiccuc4QZQuTnfSW9OeX285So5rRbEHc8A9Pfa3Mi1OHYCt3jD92r6JGfD\n"
+ "NQd06vJRgUjjLSBtWvY4usamNWY/lOCJPjSJG8x3TqRyS4e0KtD1rHgJ8I9L2+a1\n"
+ "MT6E8qy8lf1+5H4hnHfYjSi9/URuYtoVNQKBwQDkXkNaJi30D/6abhdcqm9/Vitr\n"
+ "bzmhkxDOTTmkaZ/9YH8lfhcbANFuIYvBb+1DSOGtXWy02pidxc3DC1QbxHpjjmd4\n"
+ "fCe4TCVffMuLZDE+SofbltyQ84mVhEJS3iH0QB5ESS0M+MNn9v92Ah98UK58wWFS\n"
+ "UUmBvEqVWGDlBoSiyQ0H+B2uWI1h24F7WQYGZppdFCs8YE6ZS0pmEklQ4DrnGd/J\n"
+ "urXANEa6XE+BG9KF8x0sAM0YH1gHfLmyZrJXybcCgcB2v0kspcxBTfyUg2m2/naR\n"
+ "gwgdFq63WKj0JAEzJryavR+Sb58xFhIIhNxLx0jBoXKFA3hYWLbsGu2SBIYfDGp0\n"
+ "4AUl978HXBClrQiTFLHuzTXdPq3NxHb5r2/ZUq89wqNt6LWL0HYXjgUPj0rhsbku\n"
+ "j/anVbf5E6+IXkYrkONfoZnmivKCZ2Jq6KVOUc6gM2CBdltQGlzIDh2Kwud6nJYI\n"
+ "A1oC6GK+Rn/8Q2+AeM46RmN+XWISWrOKwmQQXBGPW3ECgcB3pk/Bjtlq02qBPQcu\n"
+ "fPnYDKzJKEhYuHYIsPtvggvaNFHJsgunEUGpYxgXLG5yX2Amdhl7lEB8AWQyOeBC\n"
+ "gCnjuXvK67nf3L2EDx2SFdebHG+cBKnhpEfEt7wMMOg3UdTJ0FEzR68R7J6iFLCs\n"
+ "cJVLNgKon4BU4fNt1hVGSaj6pT4Xm87pRuokiF6J4vW+Ksnb1LJmessTlBgR7KjP\n"
+ "H/yckrjmt9V8M6ePAsiBC7O8jMkPAghzCBEWMyoUJ6xvRHcCgcAWZFAbb0kCiebN\n"
+ "twTeVJ53V3hdFpanX1bDCOD+B7QFGqkNpEiF4WqHioSrXVhL9yLROLFUo43eqH4u\n"
+ "3m1cny0hwWDrkDbuMIMrjHtQRYsDX/0XbwPFr1jxNHggzC6uZXeSKih7xoVFFL/e\n"
+ "AbsLJbTvoXgn6abfY5JlN45G+P9L23j3/B5PYQUTLllXQxgFGIpnWL0RFCHQuNX6\n"
+ "xkwfZG91IiOdKlKEddraZb3OppP1j7HsiyaYmwIMtsPc9wa2EsU=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t ca3_key = { (unsigned char *)ca3_key_pem,
- sizeof(ca3_key_pem) - 1
-};
+ sizeof(ca3_key_pem) - 1 };
const gnutls_datum_t ca3_cert = { (unsigned char *)ca3_cert_pem,
- sizeof(ca3_cert_pem) - 1
-};
+ sizeof(ca3_cert_pem) - 1 };
static char subca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
- "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
- "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
- "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
- "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
- "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
- "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
- "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
- "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
- "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
- "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
- "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
- "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
- "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
- "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
- "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
- "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
- "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
- "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
- "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
- "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
+ "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
+ "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
+ "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
+ "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
+ "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
+ "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
+ "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
+ "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
+ "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
+ "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
+ "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
+ "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
+ "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
+ "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
+ "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
+ "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
+ "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
+ "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
+ "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
+ "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END CERTIFICATE-----\n";
static char subca3_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG5AIBAAKCAYEAoDnDV80rTp0RaItOWjES3jAeOV+GtrK0gbpd1C8Q0hoyD9BB\n"
- "Jf/19li4qKXv8TS/GzwkaSNbElV5fB29XCt6ljRms1Zgu8VtOzcS9uiPOnt/wVUZ\n"
- "6vIqFbbz0MBKb7iPBfe8dby/5/nH3HZDe+zUnK+QvYxzFYqEbwvqis/W1AceQ0sk\n"
- "leuj0efsBrCQ75H7Jo1ToKok5UlkEuRt5zDKtEYsbHOXT+VsoJG3YffuOVArTm3J\n"
- "xwASaz/hrS4htADlMeqD8z7XmS9d3q1l4O82LrE2q4/a03HbIEfyJtZiM5g9ouxo\n"
- "SaOBo9EpN0avdycngPgMuVD5qnJvnal9NG+PTE07+BrTud5C0Egl2BSfeo3DIlzM\n"
- "wRSQ9UTrHZOFlHnf7STB337bQ8/Y91nLl/TNp8009sZWrqJI2xAIUQ0cOX8QhWYe\n"
- "025mh+L8rAzvVGV1RF0iyqJ0Ni5srKOPLPxt9FZpUo7T7SakbL/6D6Qjv3NA+ga5\n"
- "B1eeQePMX5siBY4BAgMBAAECggGAW56MIBHW+L4B7VjzNcmn81tqfP4txxzK8P+D\n"
- "lchQAwQtqjM4faUunW5AMVepq7Cwsr8iRuiLtCEiNaG/3QuTrn5KV7RF3jlXa6vj\n"
- "cUKsXBGwjPm/t0RAYmhaZPz/04CicBQoNN74kYqYCW2qyxsyvGH8DxdX23J4phMX\n"
- "S8brHhTv7iTyx7OV2nqW0YB3cDZ2eaYIsu9355Ce49qxKakR0CHsVxuF447aHbsV\n"
- "NLUUCLvZ95/56IwW/DLsNh4R8Z8siEDde8imHyJOVihqrxvoQ7pL0+qB8amsMEVd\n"
- "YcUr0ln56Ob5MuO5vD5lAASbOgGUcI/3OWsd2KzquNxKzZaZu+nC1Yh150E1jDEi\n"
- "dZIgTtAr39sCx2EwovYwOWrVz66afzN05/0QxuXaoR5IuqbAt7mmaC5wSUGfuAyA\n"
- "oy94+JEAb6bb1RPdzcLE5AC6n1zdcOwtuHAajFIppR3He4n4cODaPyqf8pqoCE7s\n"
- "fqCa43LLUbPNIEh+E0jFy2lBlqRNAoHBAMY4REQIAUP9PEVtGKi+fvqlBjEn2hzx\n"
- "7GuVscvro2U4xk7ZwM1ZffDM9Skuf10+QK15fT4sC4WknJ5MNDY6lkkuPAAaE+Wh\n"
- "O6w9Dkz264n2xiGCOEignsAbTkOOZCiWVh9xq4N3o6C9uWUWPOW5bnBx9BzMRi59\n"
- "SK5qLTOlJur8fczV/1/sFTUEwBiahERUFqGlOD3t4/z5YuWdFjoXhOh3s60hro8C\n"
- "57E4mDuk5sgIh2/i0L9Aob1fnN/Hkl89hwKBwQDO7kNJcRgzbtnK4bX3QWiZVI42\n"
- "91YfWtHGqJuqymi8a/4oNBzlBqJECtd0fYcCudadXGtjmf68/BbfwZjZzPOVrnpM\n"
- "3XvMgvJgwuppW+Uovvk7eStUGqz1YzEZQZlVSc6p3sB0Lv9EGU5hCejnJmzF36s2\n"
- "+KWuzyjkBg4o7fqYAeE2y4tZzGOwRjlOLJQQKQANTv24fOHXCaWBwrkgPloFqkrx\n"
- "QPe6Dm7iWdi4xGB3zFZxSZbr0rZ1SmSTn3kbejcCgcEAvoTwYG9NQBsTpitA61gF\n"
- "1kVtWSvTwcRpl9KOzNCVAUJ7oOg9H2Ln4N4uucFeW7HtGo/N6EcPYAmjG6dk+8Z+\n"
- "EqKkuvhVrX22TEt3BlTCeZ2+PBDcpjnzu/PC2r3u2O/+oURxNPB2TpZsrpOcPrVn\n"
- "SB7PIirZPe/fPv0Aq0YOzQeYppv9VCYnEAmb1UoW3VHxWrbiAuw3GTxeaRH+fiGC\n"
- "9qmvAjaAgCarqTQbZiCOTS+dddYNC/ZEPy+6KYC52F7bAoHBAJLp5EnDCpyRif0Z\n"
- "jLhz7tBVkPaDWdi/AQqa8JIsTHnh7jsa7JzJvfCzBc7FxFHyIOXuFKxNS+deztqj\n"
- "t2KCuTm++0ORR/Cl03FRUV3mCWeJVqeb2mBG5B8AAn7c7QD5esltxZN3PnJZySTq\n"
- "BTn/NOCzcPqBRBg9KdniVrFGbFD5nKzrjA8AJpKi+NKAocprYYcRWt9dgnXKeoAL\n"
- "AKZcvkshYT2xk2+8CYuYoF5lxdun7oNV7NmW60WQwKFyamhQtwKBwE6OM6v8BOL2\n"
- "8SkAd0qj0UFMyzJCOhlW5cypdcvvEpiR4H/8m2c8U4iemful3YJ/Hc+KH165KeQM\n"
- "3ZBX1w2rwei6cQNtIptMYFBapUzE1Wd0Uyh8OjpHnCYvv/53cZYNSrVtqCD5GE87\n"
- "c/snzezAEzWGNm5wl0X+Y3g/mZaYX2rXUgr/dxVGhNHzOodEMz3Sk/Z8ER5n8m5N\n"
- "CLo/c/+F0N4e0F7P+haq+Ccj6MNM99HnuJALc1Ke9971YxrNfniGvA==\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG5AIBAAKCAYEAoDnDV80rTp0RaItOWjES3jAeOV+GtrK0gbpd1C8Q0hoyD9BB\n"
+ "Jf/19li4qKXv8TS/GzwkaSNbElV5fB29XCt6ljRms1Zgu8VtOzcS9uiPOnt/wVUZ\n"
+ "6vIqFbbz0MBKb7iPBfe8dby/5/nH3HZDe+zUnK+QvYxzFYqEbwvqis/W1AceQ0sk\n"
+ "leuj0efsBrCQ75H7Jo1ToKok5UlkEuRt5zDKtEYsbHOXT+VsoJG3YffuOVArTm3J\n"
+ "xwASaz/hrS4htADlMeqD8z7XmS9d3q1l4O82LrE2q4/a03HbIEfyJtZiM5g9ouxo\n"
+ "SaOBo9EpN0avdycngPgMuVD5qnJvnal9NG+PTE07+BrTud5C0Egl2BSfeo3DIlzM\n"
+ "wRSQ9UTrHZOFlHnf7STB337bQ8/Y91nLl/TNp8009sZWrqJI2xAIUQ0cOX8QhWYe\n"
+ "025mh+L8rAzvVGV1RF0iyqJ0Ni5srKOPLPxt9FZpUo7T7SakbL/6D6Qjv3NA+ga5\n"
+ "B1eeQePMX5siBY4BAgMBAAECggGAW56MIBHW+L4B7VjzNcmn81tqfP4txxzK8P+D\n"
+ "lchQAwQtqjM4faUunW5AMVepq7Cwsr8iRuiLtCEiNaG/3QuTrn5KV7RF3jlXa6vj\n"
+ "cUKsXBGwjPm/t0RAYmhaZPz/04CicBQoNN74kYqYCW2qyxsyvGH8DxdX23J4phMX\n"
+ "S8brHhTv7iTyx7OV2nqW0YB3cDZ2eaYIsu9355Ce49qxKakR0CHsVxuF447aHbsV\n"
+ "NLUUCLvZ95/56IwW/DLsNh4R8Z8siEDde8imHyJOVihqrxvoQ7pL0+qB8amsMEVd\n"
+ "YcUr0ln56Ob5MuO5vD5lAASbOgGUcI/3OWsd2KzquNxKzZaZu+nC1Yh150E1jDEi\n"
+ "dZIgTtAr39sCx2EwovYwOWrVz66afzN05/0QxuXaoR5IuqbAt7mmaC5wSUGfuAyA\n"
+ "oy94+JEAb6bb1RPdzcLE5AC6n1zdcOwtuHAajFIppR3He4n4cODaPyqf8pqoCE7s\n"
+ "fqCa43LLUbPNIEh+E0jFy2lBlqRNAoHBAMY4REQIAUP9PEVtGKi+fvqlBjEn2hzx\n"
+ "7GuVscvro2U4xk7ZwM1ZffDM9Skuf10+QK15fT4sC4WknJ5MNDY6lkkuPAAaE+Wh\n"
+ "O6w9Dkz264n2xiGCOEignsAbTkOOZCiWVh9xq4N3o6C9uWUWPOW5bnBx9BzMRi59\n"
+ "SK5qLTOlJur8fczV/1/sFTUEwBiahERUFqGlOD3t4/z5YuWdFjoXhOh3s60hro8C\n"
+ "57E4mDuk5sgIh2/i0L9Aob1fnN/Hkl89hwKBwQDO7kNJcRgzbtnK4bX3QWiZVI42\n"
+ "91YfWtHGqJuqymi8a/4oNBzlBqJECtd0fYcCudadXGtjmf68/BbfwZjZzPOVrnpM\n"
+ "3XvMgvJgwuppW+Uovvk7eStUGqz1YzEZQZlVSc6p3sB0Lv9EGU5hCejnJmzF36s2\n"
+ "+KWuzyjkBg4o7fqYAeE2y4tZzGOwRjlOLJQQKQANTv24fOHXCaWBwrkgPloFqkrx\n"
+ "QPe6Dm7iWdi4xGB3zFZxSZbr0rZ1SmSTn3kbejcCgcEAvoTwYG9NQBsTpitA61gF\n"
+ "1kVtWSvTwcRpl9KOzNCVAUJ7oOg9H2Ln4N4uucFeW7HtGo/N6EcPYAmjG6dk+8Z+\n"
+ "EqKkuvhVrX22TEt3BlTCeZ2+PBDcpjnzu/PC2r3u2O/+oURxNPB2TpZsrpOcPrVn\n"
+ "SB7PIirZPe/fPv0Aq0YOzQeYppv9VCYnEAmb1UoW3VHxWrbiAuw3GTxeaRH+fiGC\n"
+ "9qmvAjaAgCarqTQbZiCOTS+dddYNC/ZEPy+6KYC52F7bAoHBAJLp5EnDCpyRif0Z\n"
+ "jLhz7tBVkPaDWdi/AQqa8JIsTHnh7jsa7JzJvfCzBc7FxFHyIOXuFKxNS+deztqj\n"
+ "t2KCuTm++0ORR/Cl03FRUV3mCWeJVqeb2mBG5B8AAn7c7QD5esltxZN3PnJZySTq\n"
+ "BTn/NOCzcPqBRBg9KdniVrFGbFD5nKzrjA8AJpKi+NKAocprYYcRWt9dgnXKeoAL\n"
+ "AKZcvkshYT2xk2+8CYuYoF5lxdun7oNV7NmW60WQwKFyamhQtwKBwE6OM6v8BOL2\n"
+ "8SkAd0qj0UFMyzJCOhlW5cypdcvvEpiR4H/8m2c8U4iemful3YJ/Hc+KH165KeQM\n"
+ "3ZBX1w2rwei6cQNtIptMYFBapUzE1Wd0Uyh8OjpHnCYvv/53cZYNSrVtqCD5GE87\n"
+ "c/snzezAEzWGNm5wl0X+Y3g/mZaYX2rXUgr/dxVGhNHzOodEMz3Sk/Z8ER5n8m5N\n"
+ "CLo/c/+F0N4e0F7P+haq+Ccj6MNM99HnuJALc1Ke9971YxrNfniGvA==\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t subca3_key = { (unsigned char *)subca3_key_pem,
- sizeof(subca3_key_pem) - 1
-};
+ sizeof(subca3_key_pem) - 1 };
const gnutls_datum_t subca3_cert = { (unsigned char *)subca3_cert_pem,
- sizeof(subca3_cert_pem) - 1
-};
+ sizeof(subca3_cert_pem) - 1 };
static char cli_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIERjCCAq6gAwIBAgIMV6MdMjZaLvmhsFpSMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
- "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1NjM5WhgPOTk5OTEyMzEyMzU5NTla\n"
- "MBYxFDASBgNVBAMTC1Rlc3QgY2xpZW50MIIBojANBgkqhkiG9w0BAQEFAAOCAY8A\n"
- "MIIBigKCAYEA4QAezvLHuNtTlTQSn1vNaYBrZ5+CzS8/tB2L5G+wWy3Yqqqh1kB+\n"
- "gcWN9Ftqv21B1WgRWtjrn4rTJgxl+ogLiLgLIZ6iG/Ye1POFKxxVYYxPXI7spAYa\n"
- "CW6/+QjS/18M6NCAHsvhJEMkOY6clIqEqCpLTyaWzJULBBwtpA84pkcLTiNpmfIJ\n"
- "Wos9OsYH0hSK2xE/5qu+DkkaKrfS2Cyp61wdhURrX1fdlkBUBt9XH8S5A2bWuQEY\n"
- "82GgXxl8HpehkB2RLgpkZQzxopzhoqG2P8IZFQmtOySzRPWtdpy0RJbvmLfZqaEw\n"
- "sq3g1jZFXhqUjc5y3vbHta2Xg5/zx0X/FB69j2KZsgUmklYVFG9te7UtSVDgz3U6\n"
- "9ed16AULxNqAF2LGhuIEI5+4PikXb+QxaOx/hw1BtEqMzLMbNphILSPBRI+NpTZ2\n"
- "PCSedGsQzxsgns/iaLB7q1AIrKLUQlVpy+JNfauYqzvlMNXwMaoNQZDf9oOoFkdT\n"
- "P5P8t/gGk2rlAgMBAAGjgZUwgZIwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggr\n"
- "BgEFBQcDAjAcBgNVHREEFTATgRFoZWxsb0BleGFtcGxlLm9yZzAPBgNVHQ8BAf8E\n"
- "BQMDB4AAMB0GA1UdDgQWBBRdXorh31ji3Vx07Tm7u9jZMbKBajAfBgNVHSMEGDAW\n"
- "gBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEAPjXZC89d\n"
- "2lkc33p5qBTneqXAAZeseBZlSF9Rd798NofXTw0oi235UWCdmPOS4l0z8PBh0ICA\n"
- "MY7iUrv5MJeEcvGOq1NFZObsEP+gcpDi3s1otSif9n3ZSR9gDqG1kAlvwOxDW1As\n"
- "KuGgwE2vRZN3T20USkcSXvtJ3QD+tIroD9z/Auh2H6LsqOMwSwBo9Alzj7DWLk8G\n"
- "mdpQtQU+l/+3pa5MY4MBQM3T3PpK4TdjMVKzKc8lMUeFH/VJSbyQ2kgL7OqavMsH\n"
- "jGrm0JCWi2M188EobKVqt2nhQQA7SIogYe4cqx8Q2/7v6RDXZ11QifFKupQ2vXLb\n"
- "DZxa4j7YQz4F2m7+PbYbSAs1y4/oiJ32O3BjQC7Oa3OaGFpkipUtrozaa1TM4tab\n"
- "kZSyKmSvKG2RxDphl71OZ28tgWjjzJbyG3dbnI3HF1L7YVwHUGFUPhUGuiS7H/b4\n"
- "6Zd8Y0P6Cxn/4rUEZZPDpCVt92cjQsWXL45JXpmqwDlaRdSXXoIB2l2D\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIERjCCAq6gAwIBAgIMV6MdMjZaLvmhsFpSMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
+ "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1NjM5WhgPOTk5OTEyMzEyMzU5NTla\n"
+ "MBYxFDASBgNVBAMTC1Rlc3QgY2xpZW50MIIBojANBgkqhkiG9w0BAQEFAAOCAY8A\n"
+ "MIIBigKCAYEA4QAezvLHuNtTlTQSn1vNaYBrZ5+CzS8/tB2L5G+wWy3Yqqqh1kB+\n"
+ "gcWN9Ftqv21B1WgRWtjrn4rTJgxl+ogLiLgLIZ6iG/Ye1POFKxxVYYxPXI7spAYa\n"
+ "CW6/+QjS/18M6NCAHsvhJEMkOY6clIqEqCpLTyaWzJULBBwtpA84pkcLTiNpmfIJ\n"
+ "Wos9OsYH0hSK2xE/5qu+DkkaKrfS2Cyp61wdhURrX1fdlkBUBt9XH8S5A2bWuQEY\n"
+ "82GgXxl8HpehkB2RLgpkZQzxopzhoqG2P8IZFQmtOySzRPWtdpy0RJbvmLfZqaEw\n"
+ "sq3g1jZFXhqUjc5y3vbHta2Xg5/zx0X/FB69j2KZsgUmklYVFG9te7UtSVDgz3U6\n"
+ "9ed16AULxNqAF2LGhuIEI5+4PikXb+QxaOx/hw1BtEqMzLMbNphILSPBRI+NpTZ2\n"
+ "PCSedGsQzxsgns/iaLB7q1AIrKLUQlVpy+JNfauYqzvlMNXwMaoNQZDf9oOoFkdT\n"
+ "P5P8t/gGk2rlAgMBAAGjgZUwgZIwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggr\n"
+ "BgEFBQcDAjAcBgNVHREEFTATgRFoZWxsb0BleGFtcGxlLm9yZzAPBgNVHQ8BAf8E\n"
+ "BQMDB4AAMB0GA1UdDgQWBBRdXorh31ji3Vx07Tm7u9jZMbKBajAfBgNVHSMEGDAW\n"
+ "gBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEAPjXZC89d\n"
+ "2lkc33p5qBTneqXAAZeseBZlSF9Rd798NofXTw0oi235UWCdmPOS4l0z8PBh0ICA\n"
+ "MY7iUrv5MJeEcvGOq1NFZObsEP+gcpDi3s1otSif9n3ZSR9gDqG1kAlvwOxDW1As\n"
+ "KuGgwE2vRZN3T20USkcSXvtJ3QD+tIroD9z/Auh2H6LsqOMwSwBo9Alzj7DWLk8G\n"
+ "mdpQtQU+l/+3pa5MY4MBQM3T3PpK4TdjMVKzKc8lMUeFH/VJSbyQ2kgL7OqavMsH\n"
+ "jGrm0JCWi2M188EobKVqt2nhQQA7SIogYe4cqx8Q2/7v6RDXZ11QifFKupQ2vXLb\n"
+ "DZxa4j7YQz4F2m7+PbYbSAs1y4/oiJ32O3BjQC7Oa3OaGFpkipUtrozaa1TM4tab\n"
+ "kZSyKmSvKG2RxDphl71OZ28tgWjjzJbyG3dbnI3HF1L7YVwHUGFUPhUGuiS7H/b4\n"
+ "6Zd8Y0P6Cxn/4rUEZZPDpCVt92cjQsWXL45JXpmqwDlaRdSXXoIB2l2D\n"
+ "-----END CERTIFICATE-----\n";
static char cli_ca3_cert_chain_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIERjCCAq6gAwIBAgIMV6MdMjZaLvmhsFpSMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
- "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1NjM5WhgPOTk5OTEyMzEyMzU5NTla\n"
- "MBYxFDASBgNVBAMTC1Rlc3QgY2xpZW50MIIBojANBgkqhkiG9w0BAQEFAAOCAY8A\n"
- "MIIBigKCAYEA4QAezvLHuNtTlTQSn1vNaYBrZ5+CzS8/tB2L5G+wWy3Yqqqh1kB+\n"
- "gcWN9Ftqv21B1WgRWtjrn4rTJgxl+ogLiLgLIZ6iG/Ye1POFKxxVYYxPXI7spAYa\n"
- "CW6/+QjS/18M6NCAHsvhJEMkOY6clIqEqCpLTyaWzJULBBwtpA84pkcLTiNpmfIJ\n"
- "Wos9OsYH0hSK2xE/5qu+DkkaKrfS2Cyp61wdhURrX1fdlkBUBt9XH8S5A2bWuQEY\n"
- "82GgXxl8HpehkB2RLgpkZQzxopzhoqG2P8IZFQmtOySzRPWtdpy0RJbvmLfZqaEw\n"
- "sq3g1jZFXhqUjc5y3vbHta2Xg5/zx0X/FB69j2KZsgUmklYVFG9te7UtSVDgz3U6\n"
- "9ed16AULxNqAF2LGhuIEI5+4PikXb+QxaOx/hw1BtEqMzLMbNphILSPBRI+NpTZ2\n"
- "PCSedGsQzxsgns/iaLB7q1AIrKLUQlVpy+JNfauYqzvlMNXwMaoNQZDf9oOoFkdT\n"
- "P5P8t/gGk2rlAgMBAAGjgZUwgZIwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggr\n"
- "BgEFBQcDAjAcBgNVHREEFTATgRFoZWxsb0BleGFtcGxlLm9yZzAPBgNVHQ8BAf8E\n"
- "BQMDB4AAMB0GA1UdDgQWBBRdXorh31ji3Vx07Tm7u9jZMbKBajAfBgNVHSMEGDAW\n"
- "gBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEAPjXZC89d\n"
- "2lkc33p5qBTneqXAAZeseBZlSF9Rd798NofXTw0oi235UWCdmPOS4l0z8PBh0ICA\n"
- "MY7iUrv5MJeEcvGOq1NFZObsEP+gcpDi3s1otSif9n3ZSR9gDqG1kAlvwOxDW1As\n"
- "KuGgwE2vRZN3T20USkcSXvtJ3QD+tIroD9z/Auh2H6LsqOMwSwBo9Alzj7DWLk8G\n"
- "mdpQtQU+l/+3pa5MY4MBQM3T3PpK4TdjMVKzKc8lMUeFH/VJSbyQ2kgL7OqavMsH\n"
- "jGrm0JCWi2M188EobKVqt2nhQQA7SIogYe4cqx8Q2/7v6RDXZ11QifFKupQ2vXLb\n"
- "DZxa4j7YQz4F2m7+PbYbSAs1y4/oiJ32O3BjQC7Oa3OaGFpkipUtrozaa1TM4tab\n"
- "kZSyKmSvKG2RxDphl71OZ28tgWjjzJbyG3dbnI3HF1L7YVwHUGFUPhUGuiS7H/b4\n"
- "6Zd8Y0P6Cxn/4rUEZZPDpCVt92cjQsWXL45JXpmqwDlaRdSXXoIB2l2D\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
- "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
- "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
- "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
- "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
- "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
- "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
- "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
- "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
- "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
- "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
- "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
- "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
- "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
- "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
- "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
- "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
- "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
- "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
- "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
- "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIERjCCAq6gAwIBAgIMV6MdMjZaLvmhsFpSMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
+ "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1NjM5WhgPOTk5OTEyMzEyMzU5NTla\n"
+ "MBYxFDASBgNVBAMTC1Rlc3QgY2xpZW50MIIBojANBgkqhkiG9w0BAQEFAAOCAY8A\n"
+ "MIIBigKCAYEA4QAezvLHuNtTlTQSn1vNaYBrZ5+CzS8/tB2L5G+wWy3Yqqqh1kB+\n"
+ "gcWN9Ftqv21B1WgRWtjrn4rTJgxl+ogLiLgLIZ6iG/Ye1POFKxxVYYxPXI7spAYa\n"
+ "CW6/+QjS/18M6NCAHsvhJEMkOY6clIqEqCpLTyaWzJULBBwtpA84pkcLTiNpmfIJ\n"
+ "Wos9OsYH0hSK2xE/5qu+DkkaKrfS2Cyp61wdhURrX1fdlkBUBt9XH8S5A2bWuQEY\n"
+ "82GgXxl8HpehkB2RLgpkZQzxopzhoqG2P8IZFQmtOySzRPWtdpy0RJbvmLfZqaEw\n"
+ "sq3g1jZFXhqUjc5y3vbHta2Xg5/zx0X/FB69j2KZsgUmklYVFG9te7UtSVDgz3U6\n"
+ "9ed16AULxNqAF2LGhuIEI5+4PikXb+QxaOx/hw1BtEqMzLMbNphILSPBRI+NpTZ2\n"
+ "PCSedGsQzxsgns/iaLB7q1AIrKLUQlVpy+JNfauYqzvlMNXwMaoNQZDf9oOoFkdT\n"
+ "P5P8t/gGk2rlAgMBAAGjgZUwgZIwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggr\n"
+ "BgEFBQcDAjAcBgNVHREEFTATgRFoZWxsb0BleGFtcGxlLm9yZzAPBgNVHQ8BAf8E\n"
+ "BQMDB4AAMB0GA1UdDgQWBBRdXorh31ji3Vx07Tm7u9jZMbKBajAfBgNVHSMEGDAW\n"
+ "gBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEAPjXZC89d\n"
+ "2lkc33p5qBTneqXAAZeseBZlSF9Rd798NofXTw0oi235UWCdmPOS4l0z8PBh0ICA\n"
+ "MY7iUrv5MJeEcvGOq1NFZObsEP+gcpDi3s1otSif9n3ZSR9gDqG1kAlvwOxDW1As\n"
+ "KuGgwE2vRZN3T20USkcSXvtJ3QD+tIroD9z/Auh2H6LsqOMwSwBo9Alzj7DWLk8G\n"
+ "mdpQtQU+l/+3pa5MY4MBQM3T3PpK4TdjMVKzKc8lMUeFH/VJSbyQ2kgL7OqavMsH\n"
+ "jGrm0JCWi2M188EobKVqt2nhQQA7SIogYe4cqx8Q2/7v6RDXZ11QifFKupQ2vXLb\n"
+ "DZxa4j7YQz4F2m7+PbYbSAs1y4/oiJ32O3BjQC7Oa3OaGFpkipUtrozaa1TM4tab\n"
+ "kZSyKmSvKG2RxDphl71OZ28tgWjjzJbyG3dbnI3HF1L7YVwHUGFUPhUGuiS7H/b4\n"
+ "6Zd8Y0P6Cxn/4rUEZZPDpCVt92cjQsWXL45JXpmqwDlaRdSXXoIB2l2D\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
+ "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
+ "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
+ "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
+ "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
+ "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
+ "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
+ "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
+ "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
+ "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
+ "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
+ "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
+ "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
+ "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
+ "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
+ "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
+ "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
+ "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
+ "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
+ "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
+ "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END CERTIFICATE-----\n";
static char cli_ca3_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG5QIBAAKCAYEA4QAezvLHuNtTlTQSn1vNaYBrZ5+CzS8/tB2L5G+wWy3Yqqqh\n"
- "1kB+gcWN9Ftqv21B1WgRWtjrn4rTJgxl+ogLiLgLIZ6iG/Ye1POFKxxVYYxPXI7s\n"
- "pAYaCW6/+QjS/18M6NCAHsvhJEMkOY6clIqEqCpLTyaWzJULBBwtpA84pkcLTiNp\n"
- "mfIJWos9OsYH0hSK2xE/5qu+DkkaKrfS2Cyp61wdhURrX1fdlkBUBt9XH8S5A2bW\n"
- "uQEY82GgXxl8HpehkB2RLgpkZQzxopzhoqG2P8IZFQmtOySzRPWtdpy0RJbvmLfZ\n"
- "qaEwsq3g1jZFXhqUjc5y3vbHta2Xg5/zx0X/FB69j2KZsgUmklYVFG9te7UtSVDg\n"
- "z3U69ed16AULxNqAF2LGhuIEI5+4PikXb+QxaOx/hw1BtEqMzLMbNphILSPBRI+N\n"
- "pTZ2PCSedGsQzxsgns/iaLB7q1AIrKLUQlVpy+JNfauYqzvlMNXwMaoNQZDf9oOo\n"
- "FkdTP5P8t/gGk2rlAgMBAAECggGBALedC4dC5O3cPodiKVhW6HiSThQQPgQH7Oql\n"
- "ugW/h6HA9jHAcbWQiCyK9V9WQvTYyoLHHHKQ1ygpeEpyj741y4PU/XCALja3UU3j\n"
- "NOeLhbnHcPRNxpvMRu8vrAYkx1uTS8uqawO2yZJ4IFXAJdOqfrtlWHPNP/7QGl9O\n"
- "R4i8yzQWgglQKNtyg2OagWs3NCaikPZZS1aJDN5Hlc0KmkvDlx702zpoLV9vKut0\n"
- "r520ITtRpNI72Dq9xIjJQMCa4Yltnuj1OmeJ2C5tTDL8gF/UwsALy01JOaZ9ekCD\n"
- "bx/q4DBHXo5OOL4aKCVum8FOFrcaHALeWD1F19VVMuQMjLTAApv2eDL6NMORkrpK\n"
- "bEEPfC4mjAtGOzwCkXe+53gXrKxMl+87IPC/FV/YuQRzWGZBCj052ELWqPbzJ9E7\n"
- "QybGnSOw8Unoauz76aF0IMiiMu0u7pSp0LVQ+9SVYHhyTdYJfJPburssA3X4UuOX\n"
- "KNI7gdOkb0yE883jcGQT+B2fdfrygQKBwQDkajgK6lsTChMeriPy++2MPpto64zW\n"
- "2CNMPya5IC23ZFyRXs8UuMbGNTtXd9TXfISXYuGexbPCMXXLA272Bum/wkbf0NBu\n"
- "DUVDYr0D4mIrjNb6NdTtFwHHfWCvQlhuVdS3kL9rSDoGO3mgedRpRpVR4Py+1emi\n"
- "mMYGHN+UMwPzXmlhmvmONr6ObWebH14DdKyohkBuHVO/2HkET69F0zDOhbM+Wd8V\n"
- "hK4PYo2MYV/n4CIf/UbBHjVXx4+EDWGhrNECgcEA/CxWuwr5+RjFGz66o+VM1nt7\n"
- "LZgf1oDZKNlf+x6SlGYYCrk1t6yAtc3VbdkGSPsBHBR0WcpU8sMPMNhn5lU/pMp/\n"
- "ntBx3LphNWJh3FH4jRkJvhQEZZI/TBIbnxp3C5xOCQr1njMk07vpse4xVhYgNcZf\n"
- "9e8V6Ola/1xq+WYjWXVJXBj2cHoF8YZNlPAB38E9gFyU0dUQDjtF4Hfz2EvLniJu\n"
- "p92nsT/jsxvEtUAoGAkNBhzXqhRcTAxuzbHbeNHVAoHBAITqKmJvrT+PBUE9JD4o\n"
- "yzpo1BZhuzrp2uBrfyUKzI+DHzqYaPgt7b05DKcBXCFom99b8t5pPQkrrtfLz63q\n"
- "p+qmKofjAuaHYl6r/kFcYrPk6NQArz6nvKlRFAnoGX1bBMUsvba3+MvXoBb5zdjU\n"
- "8d8LhQengqTTMags9Q1QAmSD896QR9exk4FduIRT5GkuY6pNNQDen/VrCkCv/dYr\n"
- "5qLGul71/RKQepkJSEUABMbxbeofgCSwZ2oE/kZhYwapgQKBwQD2TySj65PAYBZe\n"
- "h0XsQlNsCA6HuVgXv6DdSn16niEUPChtiPxUHHVXnuZCNkHyVOF/mOcQsRWKTUZw\n"
- "MmBB1bCleHlxGS6uJ4o9h4wIlDRPNU6Tz59/ynpzBhjerg3rVE/Qe1jvngrxmVEp\n"
- "T3v3FwN9IvemE1J2PkB4vr9qPP54KZxvDZ7gu/9EKydqO4fJE0nMMCHYVuEo1XJq\n"
- "Tx/pfBc1rXIiGtnpwnrY/l2DoFfJKkYDW3a3lM2WJmqwFXJGr8UCgcArtSJU3ewE\n"
- "62J00pX8HJWvOVPrjKfgJvqUmpjLT4/AXNzEEFqij/L98DZU/b1GKGgdSFt3oIii\n"
- "8Poeaas8GvtlyRZXONXC1TNzC+dzheF3MQ2euvAwulimvcp/rT1/Dw6ID2PWpthE\n"
- "VBpijtoHZ3F2dCYHbYLVlrXC7G4IQ31XUZOujH5xOcZQob815J2+mFsdg/9UBm7c\n"
- "uiyti3689G0RW9DM/F+NeJkoEo0D15JweVkSfDcsVTdvNsbeA1Pzzds=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG5QIBAAKCAYEA4QAezvLHuNtTlTQSn1vNaYBrZ5+CzS8/tB2L5G+wWy3Yqqqh\n"
+ "1kB+gcWN9Ftqv21B1WgRWtjrn4rTJgxl+ogLiLgLIZ6iG/Ye1POFKxxVYYxPXI7s\n"
+ "pAYaCW6/+QjS/18M6NCAHsvhJEMkOY6clIqEqCpLTyaWzJULBBwtpA84pkcLTiNp\n"
+ "mfIJWos9OsYH0hSK2xE/5qu+DkkaKrfS2Cyp61wdhURrX1fdlkBUBt9XH8S5A2bW\n"
+ "uQEY82GgXxl8HpehkB2RLgpkZQzxopzhoqG2P8IZFQmtOySzRPWtdpy0RJbvmLfZ\n"
+ "qaEwsq3g1jZFXhqUjc5y3vbHta2Xg5/zx0X/FB69j2KZsgUmklYVFG9te7UtSVDg\n"
+ "z3U69ed16AULxNqAF2LGhuIEI5+4PikXb+QxaOx/hw1BtEqMzLMbNphILSPBRI+N\n"
+ "pTZ2PCSedGsQzxsgns/iaLB7q1AIrKLUQlVpy+JNfauYqzvlMNXwMaoNQZDf9oOo\n"
+ "FkdTP5P8t/gGk2rlAgMBAAECggGBALedC4dC5O3cPodiKVhW6HiSThQQPgQH7Oql\n"
+ "ugW/h6HA9jHAcbWQiCyK9V9WQvTYyoLHHHKQ1ygpeEpyj741y4PU/XCALja3UU3j\n"
+ "NOeLhbnHcPRNxpvMRu8vrAYkx1uTS8uqawO2yZJ4IFXAJdOqfrtlWHPNP/7QGl9O\n"
+ "R4i8yzQWgglQKNtyg2OagWs3NCaikPZZS1aJDN5Hlc0KmkvDlx702zpoLV9vKut0\n"
+ "r520ITtRpNI72Dq9xIjJQMCa4Yltnuj1OmeJ2C5tTDL8gF/UwsALy01JOaZ9ekCD\n"
+ "bx/q4DBHXo5OOL4aKCVum8FOFrcaHALeWD1F19VVMuQMjLTAApv2eDL6NMORkrpK\n"
+ "bEEPfC4mjAtGOzwCkXe+53gXrKxMl+87IPC/FV/YuQRzWGZBCj052ELWqPbzJ9E7\n"
+ "QybGnSOw8Unoauz76aF0IMiiMu0u7pSp0LVQ+9SVYHhyTdYJfJPburssA3X4UuOX\n"
+ "KNI7gdOkb0yE883jcGQT+B2fdfrygQKBwQDkajgK6lsTChMeriPy++2MPpto64zW\n"
+ "2CNMPya5IC23ZFyRXs8UuMbGNTtXd9TXfISXYuGexbPCMXXLA272Bum/wkbf0NBu\n"
+ "DUVDYr0D4mIrjNb6NdTtFwHHfWCvQlhuVdS3kL9rSDoGO3mgedRpRpVR4Py+1emi\n"
+ "mMYGHN+UMwPzXmlhmvmONr6ObWebH14DdKyohkBuHVO/2HkET69F0zDOhbM+Wd8V\n"
+ "hK4PYo2MYV/n4CIf/UbBHjVXx4+EDWGhrNECgcEA/CxWuwr5+RjFGz66o+VM1nt7\n"
+ "LZgf1oDZKNlf+x6SlGYYCrk1t6yAtc3VbdkGSPsBHBR0WcpU8sMPMNhn5lU/pMp/\n"
+ "ntBx3LphNWJh3FH4jRkJvhQEZZI/TBIbnxp3C5xOCQr1njMk07vpse4xVhYgNcZf\n"
+ "9e8V6Ola/1xq+WYjWXVJXBj2cHoF8YZNlPAB38E9gFyU0dUQDjtF4Hfz2EvLniJu\n"
+ "p92nsT/jsxvEtUAoGAkNBhzXqhRcTAxuzbHbeNHVAoHBAITqKmJvrT+PBUE9JD4o\n"
+ "yzpo1BZhuzrp2uBrfyUKzI+DHzqYaPgt7b05DKcBXCFom99b8t5pPQkrrtfLz63q\n"
+ "p+qmKofjAuaHYl6r/kFcYrPk6NQArz6nvKlRFAnoGX1bBMUsvba3+MvXoBb5zdjU\n"
+ "8d8LhQengqTTMags9Q1QAmSD896QR9exk4FduIRT5GkuY6pNNQDen/VrCkCv/dYr\n"
+ "5qLGul71/RKQepkJSEUABMbxbeofgCSwZ2oE/kZhYwapgQKBwQD2TySj65PAYBZe\n"
+ "h0XsQlNsCA6HuVgXv6DdSn16niEUPChtiPxUHHVXnuZCNkHyVOF/mOcQsRWKTUZw\n"
+ "MmBB1bCleHlxGS6uJ4o9h4wIlDRPNU6Tz59/ynpzBhjerg3rVE/Qe1jvngrxmVEp\n"
+ "T3v3FwN9IvemE1J2PkB4vr9qPP54KZxvDZ7gu/9EKydqO4fJE0nMMCHYVuEo1XJq\n"
+ "Tx/pfBc1rXIiGtnpwnrY/l2DoFfJKkYDW3a3lM2WJmqwFXJGr8UCgcArtSJU3ewE\n"
+ "62J00pX8HJWvOVPrjKfgJvqUmpjLT4/AXNzEEFqij/L98DZU/b1GKGgdSFt3oIii\n"
+ "8Poeaas8GvtlyRZXONXC1TNzC+dzheF3MQ2euvAwulimvcp/rT1/Dw6ID2PWpthE\n"
+ "VBpijtoHZ3F2dCYHbYLVlrXC7G4IQ31XUZOujH5xOcZQob815J2+mFsdg/9UBm7c\n"
+ "uiyti3689G0RW9DM/F+NeJkoEo0D15JweVkSfDcsVTdvNsbeA1Pzzds=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t cli_ca3_key = { (unsigned char *)cli_ca3_key_pem,
- sizeof(cli_ca3_key_pem) - 1
-};
+ sizeof(cli_ca3_key_pem) - 1 };
const gnutls_datum_t cli_ca3_cert = { (unsigned char *)cli_ca3_cert_pem,
- sizeof(cli_ca3_cert_pem) - 1
-};
+ sizeof(cli_ca3_cert_pem) - 1 };
-const gnutls_datum_t cli_ca3_cert_chain =
- { (unsigned char *)cli_ca3_cert_chain_pem,
+const gnutls_datum_t cli_ca3_cert_chain = {
+ (unsigned char *)cli_ca3_cert_chain_pem,
sizeof(cli_ca3_cert_chain_pem) - 1
};
static char clidsa_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEMzCCApugAwIBAgIIV+OL0jeIUYkwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNjA5MjIwNzQ0MjBaGA85OTk5MTIzMTIzNTk1OVowFTETMBEG\n"
- "A1UEAxMKRFNBIGNsaWVudDCCAbcwggErBgcqhkjOOAQBMIIBHgKBgQD6BQw6J3GB\n"
- "Lv8xjTjq6flgCLUYf9wNQO1osjl8F3mP3P0ggZd101pwDG34Kdffby+PTB5rpe8Z\n"
- "SUx83ozzCiCcxf+kM4B0B0JP7mlqLrdTyPbWTap8sCMtabKnuR7UWdhsB8WU2Ct9\n"
- "/IcCEG2dYcmzzWXE6/Pdo45iCd7lv+fl/wIVAM8gQzNh7394wHpNStxbGq9Xe+7z\n"
- "AoGAJuUzfmL64dwFgQDmow8BjA5jI4mPiXc9+HDlUG0xXT65tUqHyg5fTSVm8p+q\n"
- "WaklZeWTvuDc7KYofGZolG3LxhBKvIXHiUrD5hJ/cE/qcx89oczD7mChHG8k4a+Y\n"
- "sr9/gXMFp8/TUsiTXrPLvEedBiAL9isDGC+ibRswfFYqGKYDgYUAAoGBAOFzLEe4\n"
- "9nHYysKSgx6o7LadjsWAcLLHvI4EcmRZf7cHW/S/FCHgpnMn7GvnD4xiaysDFA8A\n"
- "XEh9QJutRiLcpp14bVkPd0E+1z3v3LDhwVaJ1DofWEMnAsGoRVkAuEBkND6aNoKI\n"
- "AuUMvFlnpU8SD5SZrUQkP22jyMj+mxsJntK9o3YwdDAMBgNVHRMBAf8EAjAAMBMG\n"
- "A1UdJQQMMAoGCCsGAQUFBwMCMA8GA1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFCnQ\n"
- "ScP7Ao3G+SjKY0a5DEmNF5X+MB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
- "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQArAfKJgKd6Sz7BW0m46T4DxXWsrlYVc76M\n"
- "metxnSBDZdWzRbP6dGXGkKH1J2Oftv3kVrRL8amDz7DLRE6pBAUDx+5Es/dheTNA\n"
- "juIVZuKzSYoRPtuiO1gHvRPvyV/2HUpnLl+w2qW/Df4ZWlHz6ujuYFzhdWueon+t\n"
- "7/JtabcuBxK6gFyNs+A0fHjszpWtZxUXuik1t4y9IcEV6Ig+vWk+GNwVAs5lQenv\n"
- "7IhIg1EWxBNiRF3yKINAiyFkM4FcFEPqlbijX9xDorCK2Xn4HLIN2oUQJFYDqVOV\n"
- "KGg0rMmeJ8rRZI0ELK89SdPyALe4HQzKnQtzxy45oq+Vv7A8B0lorTMPIq3WKxo4\n"
- "mXJdEF2aYxeUsMYBDZOOslBc8UMaUAF8ncrk6eNqJoDZCxElfgDXx4CfM8Lh0V2c\n"
- "MDBXeiNUf1HWcCkvnMPGLXZXez/5abnhNIFqDsmRxuhUqlTbarq3CxjAWMjQRb9c\n"
- "SWUGHPlOkmEGRv5JB6djjpRFRwtHLNc=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEMzCCApugAwIBAgIIV+OL0jeIUYkwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNjA5MjIwNzQ0MjBaGA85OTk5MTIzMTIzNTk1OVowFTETMBEG\n"
+ "A1UEAxMKRFNBIGNsaWVudDCCAbcwggErBgcqhkjOOAQBMIIBHgKBgQD6BQw6J3GB\n"
+ "Lv8xjTjq6flgCLUYf9wNQO1osjl8F3mP3P0ggZd101pwDG34Kdffby+PTB5rpe8Z\n"
+ "SUx83ozzCiCcxf+kM4B0B0JP7mlqLrdTyPbWTap8sCMtabKnuR7UWdhsB8WU2Ct9\n"
+ "/IcCEG2dYcmzzWXE6/Pdo45iCd7lv+fl/wIVAM8gQzNh7394wHpNStxbGq9Xe+7z\n"
+ "AoGAJuUzfmL64dwFgQDmow8BjA5jI4mPiXc9+HDlUG0xXT65tUqHyg5fTSVm8p+q\n"
+ "WaklZeWTvuDc7KYofGZolG3LxhBKvIXHiUrD5hJ/cE/qcx89oczD7mChHG8k4a+Y\n"
+ "sr9/gXMFp8/TUsiTXrPLvEedBiAL9isDGC+ibRswfFYqGKYDgYUAAoGBAOFzLEe4\n"
+ "9nHYysKSgx6o7LadjsWAcLLHvI4EcmRZf7cHW/S/FCHgpnMn7GvnD4xiaysDFA8A\n"
+ "XEh9QJutRiLcpp14bVkPd0E+1z3v3LDhwVaJ1DofWEMnAsGoRVkAuEBkND6aNoKI\n"
+ "AuUMvFlnpU8SD5SZrUQkP22jyMj+mxsJntK9o3YwdDAMBgNVHRMBAf8EAjAAMBMG\n"
+ "A1UdJQQMMAoGCCsGAQUFBwMCMA8GA1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFCnQ\n"
+ "ScP7Ao3G+SjKY0a5DEmNF5X+MB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
+ "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQArAfKJgKd6Sz7BW0m46T4DxXWsrlYVc76M\n"
+ "metxnSBDZdWzRbP6dGXGkKH1J2Oftv3kVrRL8amDz7DLRE6pBAUDx+5Es/dheTNA\n"
+ "juIVZuKzSYoRPtuiO1gHvRPvyV/2HUpnLl+w2qW/Df4ZWlHz6ujuYFzhdWueon+t\n"
+ "7/JtabcuBxK6gFyNs+A0fHjszpWtZxUXuik1t4y9IcEV6Ig+vWk+GNwVAs5lQenv\n"
+ "7IhIg1EWxBNiRF3yKINAiyFkM4FcFEPqlbijX9xDorCK2Xn4HLIN2oUQJFYDqVOV\n"
+ "KGg0rMmeJ8rRZI0ELK89SdPyALe4HQzKnQtzxy45oq+Vv7A8B0lorTMPIq3WKxo4\n"
+ "mXJdEF2aYxeUsMYBDZOOslBc8UMaUAF8ncrk6eNqJoDZCxElfgDXx4CfM8Lh0V2c\n"
+ "MDBXeiNUf1HWcCkvnMPGLXZXez/5abnhNIFqDsmRxuhUqlTbarq3CxjAWMjQRb9c\n"
+ "SWUGHPlOkmEGRv5JB6djjpRFRwtHLNc=\n"
+ "-----END CERTIFICATE-----\n";
static char clidsa_ca3_key_pem[] =
- "-----BEGIN DSA PRIVATE KEY-----\n"
- "MIIBuwIBAAKBgQD6BQw6J3GBLv8xjTjq6flgCLUYf9wNQO1osjl8F3mP3P0ggZd1\n"
- "01pwDG34Kdffby+PTB5rpe8ZSUx83ozzCiCcxf+kM4B0B0JP7mlqLrdTyPbWTap8\n"
- "sCMtabKnuR7UWdhsB8WU2Ct9/IcCEG2dYcmzzWXE6/Pdo45iCd7lv+fl/wIVAM8g\n"
- "QzNh7394wHpNStxbGq9Xe+7zAoGAJuUzfmL64dwFgQDmow8BjA5jI4mPiXc9+HDl\n"
- "UG0xXT65tUqHyg5fTSVm8p+qWaklZeWTvuDc7KYofGZolG3LxhBKvIXHiUrD5hJ/\n"
- "cE/qcx89oczD7mChHG8k4a+Ysr9/gXMFp8/TUsiTXrPLvEedBiAL9isDGC+ibRsw\n"
- "fFYqGKYCgYEA4XMsR7j2cdjKwpKDHqjstp2OxYBwsse8jgRyZFl/twdb9L8UIeCm\n"
- "cyfsa+cPjGJrKwMUDwBcSH1Am61GItymnXhtWQ93QT7XPe/csOHBVonUOh9YQycC\n"
- "wahFWQC4QGQ0Ppo2gogC5Qy8WWelTxIPlJmtRCQ/baPIyP6bGwme0r0CFDUW6VNf\n"
- "FgAdB5hhtag7oTw45a72\n" "-----END DSA PRIVATE KEY-----\n";
+ "-----BEGIN DSA PRIVATE KEY-----\n"
+ "MIIBuwIBAAKBgQD6BQw6J3GBLv8xjTjq6flgCLUYf9wNQO1osjl8F3mP3P0ggZd1\n"
+ "01pwDG34Kdffby+PTB5rpe8ZSUx83ozzCiCcxf+kM4B0B0JP7mlqLrdTyPbWTap8\n"
+ "sCMtabKnuR7UWdhsB8WU2Ct9/IcCEG2dYcmzzWXE6/Pdo45iCd7lv+fl/wIVAM8g\n"
+ "QzNh7394wHpNStxbGq9Xe+7zAoGAJuUzfmL64dwFgQDmow8BjA5jI4mPiXc9+HDl\n"
+ "UG0xXT65tUqHyg5fTSVm8p+qWaklZeWTvuDc7KYofGZolG3LxhBKvIXHiUrD5hJ/\n"
+ "cE/qcx89oczD7mChHG8k4a+Ysr9/gXMFp8/TUsiTXrPLvEedBiAL9isDGC+ibRsw\n"
+ "fFYqGKYCgYEA4XMsR7j2cdjKwpKDHqjstp2OxYBwsse8jgRyZFl/twdb9L8UIeCm\n"
+ "cyfsa+cPjGJrKwMUDwBcSH1Am61GItymnXhtWQ93QT7XPe/csOHBVonUOh9YQycC\n"
+ "wahFWQC4QGQ0Ppo2gogC5Qy8WWelTxIPlJmtRCQ/baPIyP6bGwme0r0CFDUW6VNf\n"
+ "FgAdB5hhtag7oTw45a72\n"
+ "-----END DSA PRIVATE KEY-----\n";
const gnutls_datum_t clidsa_ca3_key = { (unsigned char *)clidsa_ca3_key_pem,
- sizeof(clidsa_ca3_key_pem) - 1
-};
+ sizeof(clidsa_ca3_key_pem) - 1 };
const gnutls_datum_t clidsa_ca3_cert = { (unsigned char *)clidsa_ca3_cert_pem,
- sizeof(clidsa_ca3_cert_pem) - 1
-};
+ sizeof(clidsa_ca3_cert_pem) - 1 };
static char cligost01_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4zCCAUugAwIBAgIIWcZXXAz6FbgwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNzA5MjMxMjQ1MTdaGA85OTk5MTIzMTIzNTk1OVowGzEZMBcG\n"
- "A1UEAxMQR09TVC0yMDAxIGNsaWVudDBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcq\n"
- "hQMCAh4BA0MABEBuvOEDe9xPJY9jsnFckLyQ6B5XeDi4Wo2E4c05im/3iI+rlWGI\n"
- "rTc6hMmWca0BVDL0lObZ0ZHb4Vhy0XREgvtro3YwdDAMBgNVHRMBAf8EAjAAMBMG\n"
- "A1UdJQQMMAoGCCsGAQUFBwMCMA8GA1UdDwEB/wQFAwMHsAAwHQYDVR0OBBYEFCck\n"
- "yCTDt+A6zS8SnMRrgbyjeQmoMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
- "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQACkq/DQhHMEZPL0NwPFpnf2+RDviEuRE+C\n"
- "xaOMTbHgxIUSy6xQAaHXK5hNr9xk87OFPPXmNKPl1nVBXrDF0aj+YUVBT2QeJIpA\n"
- "APfyjnPtdZpRl3MXrJbQ/VBCdShvmKhspiOkGO6K8ETDeqE57qtPsUaGApfNK7oL\n"
- "WgevmnkaQqNTVJglOoB5o5IDNv0JuFEkKSEvCgS25OV+gl0rRHmWDaIdQtDJLQjV\n"
- "24b99/woYj0Ql8WfvMUUUYqTX03zmV56k5DgoNusTxKG+r71WQwbeb3XiVjof6I7\n"
- "ll3ANTdyf/KrysLx/tk1pNgfangArpAZzbCRejTQVYdVfCf3KDdwXvKlTHy9Jv+p\n"
- "ZUSf7kMnBqcUHpbceiyHFCXNAKIdrMDkTJAeee7ktpeYMfdO9oBki+6a8RJjNHIr\n"
- "wHe0DcExV7UsokG6jMl8kH7gb7EW0UphL3ncWyY8C4jbtf/q1kci6SZDcapXBpGp\n"
- "adJdx9bycdOUm1cGiboUMMPiCA5bO+Q=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4zCCAUugAwIBAgIIWcZXXAz6FbgwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNzA5MjMxMjQ1MTdaGA85OTk5MTIzMTIzNTk1OVowGzEZMBcG\n"
+ "A1UEAxMQR09TVC0yMDAxIGNsaWVudDBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcq\n"
+ "hQMCAh4BA0MABEBuvOEDe9xPJY9jsnFckLyQ6B5XeDi4Wo2E4c05im/3iI+rlWGI\n"
+ "rTc6hMmWca0BVDL0lObZ0ZHb4Vhy0XREgvtro3YwdDAMBgNVHRMBAf8EAjAAMBMG\n"
+ "A1UdJQQMMAoGCCsGAQUFBwMCMA8GA1UdDwEB/wQFAwMHsAAwHQYDVR0OBBYEFCck\n"
+ "yCTDt+A6zS8SnMRrgbyjeQmoMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
+ "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQACkq/DQhHMEZPL0NwPFpnf2+RDviEuRE+C\n"
+ "xaOMTbHgxIUSy6xQAaHXK5hNr9xk87OFPPXmNKPl1nVBXrDF0aj+YUVBT2QeJIpA\n"
+ "APfyjnPtdZpRl3MXrJbQ/VBCdShvmKhspiOkGO6K8ETDeqE57qtPsUaGApfNK7oL\n"
+ "WgevmnkaQqNTVJglOoB5o5IDNv0JuFEkKSEvCgS25OV+gl0rRHmWDaIdQtDJLQjV\n"
+ "24b99/woYj0Ql8WfvMUUUYqTX03zmV56k5DgoNusTxKG+r71WQwbeb3XiVjof6I7\n"
+ "ll3ANTdyf/KrysLx/tk1pNgfangArpAZzbCRejTQVYdVfCf3KDdwXvKlTHy9Jv+p\n"
+ "ZUSf7kMnBqcUHpbceiyHFCXNAKIdrMDkTJAeee7ktpeYMfdO9oBki+6a8RJjNHIr\n"
+ "wHe0DcExV7UsokG6jMl8kH7gb7EW0UphL3ncWyY8C4jbtf/q1kci6SZDcapXBpGp\n"
+ "adJdx9bycdOUm1cGiboUMMPiCA5bO+Q=\n"
+ "-----END CERTIFICATE-----\n";
static char cligost01_ca3_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEUCAQAwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEIgQgVPdBJeLrp/Zh\n"
- "2tiV6qz9N6HraKTFTKz4alNuGhK2iLM=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEUCAQAwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEIgQgVPdBJeLrp/Zh\n"
+ "2tiV6qz9N6HraKTFTKz4alNuGhK2iLM=\n"
+ "-----END PRIVATE KEY-----\n";
-const gnutls_datum_t cligost01_ca3_key =
- { (unsigned char *)cligost01_ca3_key_pem,
+const gnutls_datum_t cligost01_ca3_key = {
+ (unsigned char *)cligost01_ca3_key_pem,
sizeof(cligost01_ca3_key_pem) - 1
};
-const gnutls_datum_t cligost01_ca3_cert =
- { (unsigned char *)cligost01_ca3_cert_pem,
+const gnutls_datum_t cligost01_ca3_cert = {
+ (unsigned char *)cligost01_ca3_cert_pem,
sizeof(cligost01_ca3_cert_pem) - 1
};
static char cligost12_256_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC6jCCAVKgAwIBAgIIWcalgS6c0DMwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNzA5MjMxODE4NDJaGA85OTk5MTIzMTIzNTk1OVowHzEdMBsG\n"
- "A1UEAxMUR09TVCAyMDEyLzI1NiBjbGllbnQwZjAfBggqhQMHAQEBATATBgcqhQMC\n"
- "AiQABggqhQMHAQECAgNDAARArjme5Fb62BC4uPT8vQVim3xTjYY/RVvvUtAfYluY\n"
- "o+8Zjz8A8VTFejK0Zok5f1dssbzrrHtRODJZsCuAjypIXqN2MHQwDAYDVR0TAQH/\n"
- "BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAjAPBgNVHQ8BAf8EBQMDB7AAMB0GA1Ud\n"
- "DgQWBBTzHDVZRnSgaq4M3B7NdLResyKgajAfBgNVHSMEGDAWgBT5qIYZY7akFBNg\n"
- "dg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAtAGi0lQdBC9Mp/TdqYFuMIDr\n"
- "o/xGbie6Eq33BiqXo6B5DOiPZcE1Mi+y4htefvrEBkN4OLy4PbUHlfEC/ATs3X9S\n"
- "cUHucm6gkyzUxTLPYPfTmXD24MRFDAJQKMvX8Pklbi7HyFZVYIQaJfEohaQZmuYR\n"
- "S7Z03MW0Cbz6j7LGQl1Pyix78BLKeyLyAzQz63+hCuO46xp7TaGDKGI79Dd6Od0p\n"
- "oY/B/MxfuP3RXhHrpjgp+Ev08dYoCH3Snps+TYWSyhkN0VhGRJgE5Tnhdly8XMW3\n"
- "WKZqGYmWG+rBtiTgA6FZrw0qYwAsmN3yCo5pE+Ukd0Q5L0tugc0a9HK53AftG/zV\n"
- "qf0DI+E4dEnUkVhdEQbW+rujGpAR0sgjgar5Zvwuu92BaV+AFucj7hVP1fqDySmp\n"
- "E52EzrFcnCYrZb19aDJKgWevG5Vh6OEcu8Vx/zVFOoTx9ZCXniVLm7PaXyKXdhLv\n"
- "Vhg3mi7koFAPGlTiKldJ/LKKPW0yti3I8L/p2F5+\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC6jCCAVKgAwIBAgIIWcalgS6c0DMwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNzA5MjMxODE4NDJaGA85OTk5MTIzMTIzNTk1OVowHzEdMBsG\n"
+ "A1UEAxMUR09TVCAyMDEyLzI1NiBjbGllbnQwZjAfBggqhQMHAQEBATATBgcqhQMC\n"
+ "AiQABggqhQMHAQECAgNDAARArjme5Fb62BC4uPT8vQVim3xTjYY/RVvvUtAfYluY\n"
+ "o+8Zjz8A8VTFejK0Zok5f1dssbzrrHtRODJZsCuAjypIXqN2MHQwDAYDVR0TAQH/\n"
+ "BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAjAPBgNVHQ8BAf8EBQMDB7AAMB0GA1Ud\n"
+ "DgQWBBTzHDVZRnSgaq4M3B7NdLResyKgajAfBgNVHSMEGDAWgBT5qIYZY7akFBNg\n"
+ "dg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAtAGi0lQdBC9Mp/TdqYFuMIDr\n"
+ "o/xGbie6Eq33BiqXo6B5DOiPZcE1Mi+y4htefvrEBkN4OLy4PbUHlfEC/ATs3X9S\n"
+ "cUHucm6gkyzUxTLPYPfTmXD24MRFDAJQKMvX8Pklbi7HyFZVYIQaJfEohaQZmuYR\n"
+ "S7Z03MW0Cbz6j7LGQl1Pyix78BLKeyLyAzQz63+hCuO46xp7TaGDKGI79Dd6Od0p\n"
+ "oY/B/MxfuP3RXhHrpjgp+Ev08dYoCH3Snps+TYWSyhkN0VhGRJgE5Tnhdly8XMW3\n"
+ "WKZqGYmWG+rBtiTgA6FZrw0qYwAsmN3yCo5pE+Ukd0Q5L0tugc0a9HK53AftG/zV\n"
+ "qf0DI+E4dEnUkVhdEQbW+rujGpAR0sgjgar5Zvwuu92BaV+AFucj7hVP1fqDySmp\n"
+ "E52EzrFcnCYrZb19aDJKgWevG5Vh6OEcu8Vx/zVFOoTx9ZCXniVLm7PaXyKXdhLv\n"
+ "Vhg3mi7koFAPGlTiKldJ/LKKPW0yti3I8L/p2F5+\n"
+ "-----END CERTIFICATE-----\n";
static char cligost12_256_ca3_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIEIgQgnA1XIfe2\n"
- "V3D0UVFQTRCHolA9v+r5cDt2tlr1gTZbDC8=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIEIgQgnA1XIfe2\n"
+ "V3D0UVFQTRCHolA9v+r5cDt2tlr1gTZbDC8=\n"
+ "-----END PRIVATE KEY-----\n";
-const gnutls_datum_t cligost12_256_ca3_key =
- { (unsigned char *)cligost12_256_ca3_key_pem,
+const gnutls_datum_t cligost12_256_ca3_key = {
+ (unsigned char *)cligost12_256_ca3_key_pem,
sizeof(cligost12_256_ca3_key_pem) - 1
};
-const gnutls_datum_t cligost12_256_ca3_cert =
- { (unsigned char *)cligost12_256_ca3_cert_pem,
+const gnutls_datum_t cligost12_256_ca3_cert = {
+ (unsigned char *)cligost12_256_ca3_cert_pem,
sizeof(cligost12_256_ca3_cert_pem) - 1
};
static char cligost12_512_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDLzCCAZegAwIBAgIIWcalYA16syEwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNzA5MjMxODE4MDhaGA85OTk5MTIzMTIzNTk1OVowHzEdMBsG\n"
- "A1UEAxMUR09TVCAyMDEyLzUxMiBjbGllbnQwgaowIQYIKoUDBwEBAQIwFQYJKoUD\n"
- "BwECAQIBBggqhQMHAQECAwOBhAAEgYCyAdmv9viBTnemLvULAZ9RyaEf37ZAydKj\n"
- "E3qLbZ5tTxgLAYhIIGApVPVb5SZxge3u2qY/ekkHjz9Asn5cPQ69wCvce87+2u1f\n"
- "XcATUzYvR3UIL25C5BbNjDjGnufhjYAwT6uZ5xQ7j8/Wfr0MZU04O2CSUquKqfrB\n"
- "DA81M2HvUqN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAjAP\n"
- "BgNVHQ8BAf8EBQMDB7AAMB0GA1UdDgQWBBRYXgWHcQazcPFyxKrgRdfd2IPBozAf\n"
- "BgNVHSMEGDAWgBT5qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOC\n"
- "AYEAUOpvomUtaFQm5O8bEQk/d3ghZLzwfMKRngSq0XbXDi8t+TV+kFvkzJ/hrAOP\n"
- "/HPCQdnEvdV2HyZzDb9b8cVegRHPPooKSV8+HCTNVXNKZPRSlE42S5kFIAnAxbs5\n"
- "vzGfipp6jQe9dqlCYseikxnE31o3AX7QAlNBaXELu0JnEY5BoJeKoja8XS40b1k9\n"
- "kKRwAGkdh1OcAy6pW8AH4m61RMDWFzmPGgcb0JiDNp+9HQDSkG904niU8AlvmoQD\n"
- "Q2AVd9mam4NIjmA0hkVuSh+7Tn2XnoGoGxN/+u72qaSUA6ybkbtkIKpMeJ8vciI1\n"
- "6GRhBYpI0OuRiAIbDA9WhfCCKwj9ZaIsSSHC7qADRz3bR/89Et1mM40v5jbYNDkV\n"
- "1cvlca3+pK3DxNP7y/q3QoUz8++z9VXzsdVHc4wNUyg4E8mjMcdLlRsZbST0WjX+\n"
- "IhxAkfOexMu3nJ3EVbjgvox6eIxjiTWr2DP6x666UztrnFSBhhypwKHb8jW7PYJ2\n"
- "lWlI\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDLzCCAZegAwIBAgIIWcalYA16syEwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNzA5MjMxODE4MDhaGA85OTk5MTIzMTIzNTk1OVowHzEdMBsG\n"
+ "A1UEAxMUR09TVCAyMDEyLzUxMiBjbGllbnQwgaowIQYIKoUDBwEBAQIwFQYJKoUD\n"
+ "BwECAQIBBggqhQMHAQECAwOBhAAEgYCyAdmv9viBTnemLvULAZ9RyaEf37ZAydKj\n"
+ "E3qLbZ5tTxgLAYhIIGApVPVb5SZxge3u2qY/ekkHjz9Asn5cPQ69wCvce87+2u1f\n"
+ "XcATUzYvR3UIL25C5BbNjDjGnufhjYAwT6uZ5xQ7j8/Wfr0MZU04O2CSUquKqfrB\n"
+ "DA81M2HvUqN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAjAP\n"
+ "BgNVHQ8BAf8EBQMDB7AAMB0GA1UdDgQWBBRYXgWHcQazcPFyxKrgRdfd2IPBozAf\n"
+ "BgNVHSMEGDAWgBT5qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOC\n"
+ "AYEAUOpvomUtaFQm5O8bEQk/d3ghZLzwfMKRngSq0XbXDi8t+TV+kFvkzJ/hrAOP\n"
+ "/HPCQdnEvdV2HyZzDb9b8cVegRHPPooKSV8+HCTNVXNKZPRSlE42S5kFIAnAxbs5\n"
+ "vzGfipp6jQe9dqlCYseikxnE31o3AX7QAlNBaXELu0JnEY5BoJeKoja8XS40b1k9\n"
+ "kKRwAGkdh1OcAy6pW8AH4m61RMDWFzmPGgcb0JiDNp+9HQDSkG904niU8AlvmoQD\n"
+ "Q2AVd9mam4NIjmA0hkVuSh+7Tn2XnoGoGxN/+u72qaSUA6ybkbtkIKpMeJ8vciI1\n"
+ "6GRhBYpI0OuRiAIbDA9WhfCCKwj9ZaIsSSHC7qADRz3bR/89Et1mM40v5jbYNDkV\n"
+ "1cvlca3+pK3DxNP7y/q3QoUz8++z9VXzsdVHc4wNUyg4E8mjMcdLlRsZbST0WjX+\n"
+ "IhxAkfOexMu3nJ3EVbjgvox6eIxjiTWr2DP6x666UztrnFSBhhypwKHb8jW7PYJ2\n"
+ "lWlI\n"
+ "-----END CERTIFICATE-----\n";
static char cligost12_512_ca3_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MGoCAQAwIQYIKoUDBwEBAQIwFQYJKoUDBwECAQIBBggqhQMHAQECAwRCBEA9uga7\n"
- "LIPp1heDZYj5EozNtbrmsKYMXrFasBIVAFFVQVFd6/+YjttV6Vmx16OFWrM+/ydX\n"
- "rB0aUqYPU8w5DUyk\n" "-----END PRIVATE KEY-----\n";
-
-const gnutls_datum_t cligost12_512_ca3_key =
- { (unsigned char *)cligost12_512_ca3_key_pem,
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MGoCAQAwIQYIKoUDBwEBAQIwFQYJKoUDBwECAQIBBggqhQMHAQECAwRCBEA9uga7\n"
+ "LIPp1heDZYj5EozNtbrmsKYMXrFasBIVAFFVQVFd6/+YjttV6Vmx16OFWrM+/ydX\n"
+ "rB0aUqYPU8w5DUyk\n"
+ "-----END PRIVATE KEY-----\n";
+
+const gnutls_datum_t cligost12_512_ca3_key = {
+ (unsigned char *)cligost12_512_ca3_key_pem,
sizeof(cligost12_512_ca3_key_pem) - 1
};
-const gnutls_datum_t cligost12_512_ca3_cert =
- { (unsigned char *)cligost12_512_ca3_cert_pem,
+const gnutls_datum_t cligost12_512_ca3_cert = {
+ (unsigned char *)cligost12_512_ca3_cert_pem,
sizeof(cligost12_512_ca3_cert_pem) - 1
};
static char server_ca3_ecc_key_pem[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHgCAQEEIQDn1XFX7QxTKXl2ekfSrEARsq+06ySEeeOB+N0igwcNLqAKBggqhkjO\n"
- "PQMBB6FEA0IABG1J5VZy+PMTNJSuog4R3KmhbmIejOZZgPNtxkJcIubJIIO68kkd\n"
- "GK04pl/ReivZAwibv+85lpT4sm/9RBVhLZM=\n" "-----END EC PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_ca3_ecc_key =
- { (unsigned char *)server_ca3_ecc_key_pem,
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHgCAQEEIQDn1XFX7QxTKXl2ekfSrEARsq+06ySEeeOB+N0igwcNLqAKBggqhkjO\n"
+ "PQMBB6FEA0IABG1J5VZy+PMTNJSuog4R3KmhbmIejOZZgPNtxkJcIubJIIO68kkd\n"
+ "GK04pl/ReivZAwibv+85lpT4sm/9RBVhLZM=\n"
+ "-----END EC PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_ca3_ecc_key = {
+ (unsigned char *)server_ca3_ecc_key_pem,
sizeof(server_ca3_ecc_key_pem) - 1
};
static char server_ca3_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG5AIBAAKCAYEA2T14maos98C7s/geGZybgqYSxF+5NeTXKWpi9/vXmuIF8n3h\n"
- "Uh20mooT2rgVHAzFWy/8H5IcWIiUQl+8KhyJCSuBJ+WhM0gw2uqSPwiOZUm4l3TQ\n"
- "xmxS4eW/Brr4X88svJQ4xTTct2m5H1Nu9LZ8xWOZpGMGII7jf0YD6odG/DHE/sVH\n"
- "jfceD7kl15jAta97+8uCbjMRPGcxg4VtmkCuSLOkGL9FhC0uYVbwfBnT+V0MEycO\n"
- "Bx+Yv2BEu0xDVdkQcs0WPIRUPUmyuWBxxqLM1SSJSLsZub/DdiINXFure7dx57mW\n"
- "w2EQwhETIhIoAc/LxGWchbDC4OWeyYjSkhv3/hEfQswyVx4MQXLVfRBHNipkU9T/\n"
- "SXiP8WVDpfZSpY3PrfJtFJtwLMeXblpuLXGZuxXnJ2iYk1w/7RBuuKkylrQ7qCO/\n"
- "l/TIx3uZb39oCCU9wqCltuEZ+jtX3PaAgp1QItFehSzOF2hudF/TQuuukVRBZF4o\n"
- "fExwNYAvZvTSTKw9AgMBAAECggGAel8TMVRYMlOCKJWqtvit7QGJ7s6RMRewUCca\n"
- "iuB1ikyp1vgr1argEnGXT4yEb6GOBpjYKByRFRoSkfUFtJ8QXncAMS48CPwwcRDT\n"
- "wugZ9lp5ve9Sr4NTiOZ3Hd5yjN3SMIQ6GnR1pGfMnSXNidHGJRa+9IfHas2yvv38\n"
- "tL7xMJ0EgBM3BHRgnbDI7VKhs3afm63+0f64RdNHY/PkUpD+2/s9g6czDIq65qAn\n"
- "pXCTJJPSenN0hnS5AYzECtGh2JkFjXpF5B7/2pvZjqsy8eyjZURoQFLA5wWhLVr5\n"
- "AQDJzeK//D6OMAd6kuLKezQxVIN0F0eC6XKEhEvq96xegQk3aMXk2jCHz6IYV6pm\n"
- "zdnfIvP5fIP1HsL8JPiCQqBp7/MoSKlz/DCHH/6iQgQkIhxw/nYJd1+kjhHpm969\n"
- "fw6WzzCA7om0CbKhuHjRnnwk1OylqKhTrgfO1mcaEoH90NIszE3j5pwqiPMdv+J0\n"
- "k25pjaMDgeOd3bO8SW/oWQEH5LbBAoHBAP7QAaYg4Fsm0zr1Jvup6MsJdsI+2aTh\n"
- "4E+hrx/MKsd78mQpRNXvEVIeopp214rzqW/dv/4vMBoV9tRCuw5cJCZCHaeGZ4JF\n"
- "pU/+nBliukanL3XMN5Fp74vVthuQp69u3fa6YHHvL2L6EahSrHrbSE4+C5VYOV+Z\n"
- "nfKDHD9Vo1zH8Fjxl7JJWI/LgSXCChm6Y9Vq7LviL7hZc4BdCbGJfAfv56oGHavE\n"
- "zxU639fBbdhavNl6b9i7AeTD4Ad1KbsFrQKBwQDaQKP0eegbnHfHOdE+mb2aMtVN\n"
- "f3BI25VsBoNWD2A0VEFMQClUPMH17OyS2YidYeVbcneef3VlgrIJZvlRsr76LHxP\n"
- "vVtEug6ZgX5WS/DiJiZWESVJrGZ+gaeUIONGFObGO+Evvoe5bqSwm2Bu05HONb56\n"
- "Q5qx7gfo+kfxHm2vjOOKpc/ceEz2QeJ3rOGoetocmaObHcgFOFO0UC2oyAJ3MAtY\n"
- "8SkyiUJ/jDdCZbkVegT9kGe9OLKMpenG058uctECgcEAozqgM8mPrxR576SnakN3\n"
- "isjvOJOGXGcNiDVst5PUO6Gcrqj5HYpdsBtL0mMaxDo+ahjFKpET4UH8shBlP1er\n"
- "GI717CDfIcZ3lXzmhiSGa0gh0PYXCqGwAAXQ+Gt735fHvIu7yICN/Htw4EDFmJXs\n"
- "BaMdTHgNmL4RPg7bA39afM7fmjp5EI6HmuWkP4nDaqPJ3Cb4q4rDQvaaVLpEwWPu\n"
- "/i6iWno8e5JBjbn/NnkEYroNi8sw5sc0+VS4qE5XgySpAoHBAMB9bF0tu4nGqVl7\n"
- "49FrdO7v0HLGZ/jKOfIJmIIpk3bzrJecqxbRc1v79vbZhwUPl2LdBSU0Uw0RhQaH\n"
- "3HKyzH8HByio4DswQbofnJZt6ej7LqqP+qwMsmT24x7hFrHzs0m4/DXIvBnOvM/K\n"
- "afW1AY62leVthJ1TS4SuYQ8HAERpZTIeZcKUE4TJvPxB7NBUcdPxqXsgfA4mjKSm\n"
- "Zm7K4GnQZOGv6N7aclzeBMq5vtBzSr18RBJ+U/N6TUH/2Q/1UQKBwEPgS+LJCJAs\n"
- "qaeBPTgiuzv2a6umQpezxjCispnU5e0sOFHV/f5NVuEZDrdH7WDHAX8nAU8TdDZM\n"
- "/fqM4oOZJOY9yVsyXK9dN7YcG6lxlNbC8S4FatDorDr3DxmbeYqEMUfOR+H4VvgR\n"
- "OHw+G5gmNHBAh30wDR+bxepSNBAexjo18zbMgNJsdyjU8s562Q7/ejcTgqZYt4nZ\n"
- "r6wql68K+fJ1W38b+ENQ46bZZMvAh8z4MZyzBvS8M/grD0WBBwrWLA==\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG5AIBAAKCAYEA2T14maos98C7s/geGZybgqYSxF+5NeTXKWpi9/vXmuIF8n3h\n"
+ "Uh20mooT2rgVHAzFWy/8H5IcWIiUQl+8KhyJCSuBJ+WhM0gw2uqSPwiOZUm4l3TQ\n"
+ "xmxS4eW/Brr4X88svJQ4xTTct2m5H1Nu9LZ8xWOZpGMGII7jf0YD6odG/DHE/sVH\n"
+ "jfceD7kl15jAta97+8uCbjMRPGcxg4VtmkCuSLOkGL9FhC0uYVbwfBnT+V0MEycO\n"
+ "Bx+Yv2BEu0xDVdkQcs0WPIRUPUmyuWBxxqLM1SSJSLsZub/DdiINXFure7dx57mW\n"
+ "w2EQwhETIhIoAc/LxGWchbDC4OWeyYjSkhv3/hEfQswyVx4MQXLVfRBHNipkU9T/\n"
+ "SXiP8WVDpfZSpY3PrfJtFJtwLMeXblpuLXGZuxXnJ2iYk1w/7RBuuKkylrQ7qCO/\n"
+ "l/TIx3uZb39oCCU9wqCltuEZ+jtX3PaAgp1QItFehSzOF2hudF/TQuuukVRBZF4o\n"
+ "fExwNYAvZvTSTKw9AgMBAAECggGAel8TMVRYMlOCKJWqtvit7QGJ7s6RMRewUCca\n"
+ "iuB1ikyp1vgr1argEnGXT4yEb6GOBpjYKByRFRoSkfUFtJ8QXncAMS48CPwwcRDT\n"
+ "wugZ9lp5ve9Sr4NTiOZ3Hd5yjN3SMIQ6GnR1pGfMnSXNidHGJRa+9IfHas2yvv38\n"
+ "tL7xMJ0EgBM3BHRgnbDI7VKhs3afm63+0f64RdNHY/PkUpD+2/s9g6czDIq65qAn\n"
+ "pXCTJJPSenN0hnS5AYzECtGh2JkFjXpF5B7/2pvZjqsy8eyjZURoQFLA5wWhLVr5\n"
+ "AQDJzeK//D6OMAd6kuLKezQxVIN0F0eC6XKEhEvq96xegQk3aMXk2jCHz6IYV6pm\n"
+ "zdnfIvP5fIP1HsL8JPiCQqBp7/MoSKlz/DCHH/6iQgQkIhxw/nYJd1+kjhHpm969\n"
+ "fw6WzzCA7om0CbKhuHjRnnwk1OylqKhTrgfO1mcaEoH90NIszE3j5pwqiPMdv+J0\n"
+ "k25pjaMDgeOd3bO8SW/oWQEH5LbBAoHBAP7QAaYg4Fsm0zr1Jvup6MsJdsI+2aTh\n"
+ "4E+hrx/MKsd78mQpRNXvEVIeopp214rzqW/dv/4vMBoV9tRCuw5cJCZCHaeGZ4JF\n"
+ "pU/+nBliukanL3XMN5Fp74vVthuQp69u3fa6YHHvL2L6EahSrHrbSE4+C5VYOV+Z\n"
+ "nfKDHD9Vo1zH8Fjxl7JJWI/LgSXCChm6Y9Vq7LviL7hZc4BdCbGJfAfv56oGHavE\n"
+ "zxU639fBbdhavNl6b9i7AeTD4Ad1KbsFrQKBwQDaQKP0eegbnHfHOdE+mb2aMtVN\n"
+ "f3BI25VsBoNWD2A0VEFMQClUPMH17OyS2YidYeVbcneef3VlgrIJZvlRsr76LHxP\n"
+ "vVtEug6ZgX5WS/DiJiZWESVJrGZ+gaeUIONGFObGO+Evvoe5bqSwm2Bu05HONb56\n"
+ "Q5qx7gfo+kfxHm2vjOOKpc/ceEz2QeJ3rOGoetocmaObHcgFOFO0UC2oyAJ3MAtY\n"
+ "8SkyiUJ/jDdCZbkVegT9kGe9OLKMpenG058uctECgcEAozqgM8mPrxR576SnakN3\n"
+ "isjvOJOGXGcNiDVst5PUO6Gcrqj5HYpdsBtL0mMaxDo+ahjFKpET4UH8shBlP1er\n"
+ "GI717CDfIcZ3lXzmhiSGa0gh0PYXCqGwAAXQ+Gt735fHvIu7yICN/Htw4EDFmJXs\n"
+ "BaMdTHgNmL4RPg7bA39afM7fmjp5EI6HmuWkP4nDaqPJ3Cb4q4rDQvaaVLpEwWPu\n"
+ "/i6iWno8e5JBjbn/NnkEYroNi8sw5sc0+VS4qE5XgySpAoHBAMB9bF0tu4nGqVl7\n"
+ "49FrdO7v0HLGZ/jKOfIJmIIpk3bzrJecqxbRc1v79vbZhwUPl2LdBSU0Uw0RhQaH\n"
+ "3HKyzH8HByio4DswQbofnJZt6ej7LqqP+qwMsmT24x7hFrHzs0m4/DXIvBnOvM/K\n"
+ "afW1AY62leVthJ1TS4SuYQ8HAERpZTIeZcKUE4TJvPxB7NBUcdPxqXsgfA4mjKSm\n"
+ "Zm7K4GnQZOGv6N7aclzeBMq5vtBzSr18RBJ+U/N6TUH/2Q/1UQKBwEPgS+LJCJAs\n"
+ "qaeBPTgiuzv2a6umQpezxjCispnU5e0sOFHV/f5NVuEZDrdH7WDHAX8nAU8TdDZM\n"
+ "/fqM4oOZJOY9yVsyXK9dN7YcG6lxlNbC8S4FatDorDr3DxmbeYqEMUfOR+H4VvgR\n"
+ "OHw+G5gmNHBAh30wDR+bxepSNBAexjo18zbMgNJsdyjU8s562Q7/ejcTgqZYt4nZ\n"
+ "r6wql68K+fJ1W38b+ENQ46bZZMvAh8z4MZyzBvS8M/grD0WBBwrWLA==\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t server_ca3_key = { (unsigned char *)server_ca3_key_pem,
- sizeof(server_ca3_key_pem) - 1
-};
+ sizeof(server_ca3_key_pem) - 1 };
static char server_ca3_rsa_pss_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEowIBAAKCAQEAvxOfMAZbqIuVqkPt5s5fyNeuYD09r80oDEN54MS7/tMy+2yk\n"
- "rwsX3a1zGLqn47Q59E0QAlheFP5ZXcQgFXVdQwWCn00YtYyGn5uGrzT80PlIAnaG\n"
- "yVpjLGci7mU13IpHlLKqQbBaCdiDU1qV/fyy03t0KVdlyzTi3RJoKDU3XTG/eJmy\n"
- "bPHuBGzBjtXn4IJkbbe9FL090YJbgu0EqgcVhaon9JOs5cVNGsHZ4zdRo1d9/5zK\n"
- "tqaAVCPYECL/OYwTBS0O8kTrkoHwXo08bR0sUhb7enfI827mOOiIyokkzUu1YVyP\n"
- "6GMnggmoUa8LaSeO3bsWU9rx1ngWBUQ5hBG5JQIDAQABAoIBAAkoYpfFpjz0u66W\n"
- "ZN+MApE4rRXVuZAkcAfub/fy1ePHsYjVUytEh9dLCdokkAlcyO5JhzvlilTNP/E7\n"
- "hiIhJuAgcns6EbYZzxX1OUZKbteBKw9bKOibmWc2Zjkwxp0UT4vz6C8PybDxHJIx\n"
- "JEExDE0QfKfClZFgroLT8AQFUOr5cy8dY2edh17+rMMeBvJ5Yit3L6hlHjO+5eJA\n"
- "E0WzxPrZWIFfAJl484HbZL/kBT8UXqYDTR7MB+qOq8mdKQSLcHwyjvItgvgklEPu\n"
- "0Rl626K+R6841FmrXjUEBVtfkS8Osw/+CJDYw6YZwB7W8oLRRhcB7PjMWU5RHAIW\n"
- "nZKFWn0CgYEA0qsP7FUemy7kG7cA8qMErt7oWV/DYIMpKaCJC+17vk37OmJbUpbo\n"
- "UkfEIY9iT8hcPjP1jAnQf2d0A37zn9B7DTYPhbjbRtNrOSkdrE/u5FeWd4tr9uc7\n"
- "JdYhRc6dkPKbVbFFyo7bdHwU0ZLtfhJYKpTYJ3oNvjsiLqBjIHaj2v8CgYEA6DFV\n"
- "FKlQL9OnzTnQtu5oDvqHFiaHD1wdPTN9MeNWEFdcf/kd3eVvcRmpenGZaud7jn72\n"
- "nhtXXyzc9GlVoKL6R+/1GVexwu477dr2Ci5MwPYGtyh2tJWjgHTad0bT0Jq4Bneu\n"
- "ZuXZ0EszfxTmHkUkPlzvUrbPjoJxgb57P0Qfn9sCgYEAnYrTg5c8Jizw5VD74nfK\n"
- "nsOP2pZk054CgGDPXB4i9fP3Nngrdx3navDEWZySlrttUA8nR6xnQX+qIJslsZQF\n"
- "EaImBYhyYwrkGoEG8b9tFVHy8j9PY/sUHn19sGiNKMJlK7ZATPR8ZSYNo5RPCoLJ\n"
- "cD6TTyJVeLdcHqZOuw4+Bx0CgYAvP5qokauXj+JdiJ5IG0thgOlsQHrLTVtF0Oxw\n"
- "8mnY+W4BPJgvRzjeMvKhz+wALQqffIaCtd2ZqG9t7OFXxtJXQSUG+ylZGVFonV3j\n"
- "xHgp6+aB7uH47VpQEXdDPk5r7I/2APSkS7F/CU55Va9eCYPOjOrGUhz6SuD+HdzG\n"
- "iv5EcQKBgDyt221UUieb1sWhCHaKaQ3z8/aJlzs+ge6kSLqoVjcfr5uOKM1O5O72\n"
- "bfy00r7B8ky77qXNTtzv2xt9Km/hRptqnCHsgly5OXW8pMcFnf7Kdh3Q+c5UzVlc\n"
- "ODwZlaKK2fjp9xr2dNpYjRqyEb1gkC9FJMaxab9OAf+AoQifxncv\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_ca3_rsa_pss_key =
- { (unsigned char *)server_ca3_rsa_pss_key_pem,
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEowIBAAKCAQEAvxOfMAZbqIuVqkPt5s5fyNeuYD09r80oDEN54MS7/tMy+2yk\n"
+ "rwsX3a1zGLqn47Q59E0QAlheFP5ZXcQgFXVdQwWCn00YtYyGn5uGrzT80PlIAnaG\n"
+ "yVpjLGci7mU13IpHlLKqQbBaCdiDU1qV/fyy03t0KVdlyzTi3RJoKDU3XTG/eJmy\n"
+ "bPHuBGzBjtXn4IJkbbe9FL090YJbgu0EqgcVhaon9JOs5cVNGsHZ4zdRo1d9/5zK\n"
+ "tqaAVCPYECL/OYwTBS0O8kTrkoHwXo08bR0sUhb7enfI827mOOiIyokkzUu1YVyP\n"
+ "6GMnggmoUa8LaSeO3bsWU9rx1ngWBUQ5hBG5JQIDAQABAoIBAAkoYpfFpjz0u66W\n"
+ "ZN+MApE4rRXVuZAkcAfub/fy1ePHsYjVUytEh9dLCdokkAlcyO5JhzvlilTNP/E7\n"
+ "hiIhJuAgcns6EbYZzxX1OUZKbteBKw9bKOibmWc2Zjkwxp0UT4vz6C8PybDxHJIx\n"
+ "JEExDE0QfKfClZFgroLT8AQFUOr5cy8dY2edh17+rMMeBvJ5Yit3L6hlHjO+5eJA\n"
+ "E0WzxPrZWIFfAJl484HbZL/kBT8UXqYDTR7MB+qOq8mdKQSLcHwyjvItgvgklEPu\n"
+ "0Rl626K+R6841FmrXjUEBVtfkS8Osw/+CJDYw6YZwB7W8oLRRhcB7PjMWU5RHAIW\n"
+ "nZKFWn0CgYEA0qsP7FUemy7kG7cA8qMErt7oWV/DYIMpKaCJC+17vk37OmJbUpbo\n"
+ "UkfEIY9iT8hcPjP1jAnQf2d0A37zn9B7DTYPhbjbRtNrOSkdrE/u5FeWd4tr9uc7\n"
+ "JdYhRc6dkPKbVbFFyo7bdHwU0ZLtfhJYKpTYJ3oNvjsiLqBjIHaj2v8CgYEA6DFV\n"
+ "FKlQL9OnzTnQtu5oDvqHFiaHD1wdPTN9MeNWEFdcf/kd3eVvcRmpenGZaud7jn72\n"
+ "nhtXXyzc9GlVoKL6R+/1GVexwu477dr2Ci5MwPYGtyh2tJWjgHTad0bT0Jq4Bneu\n"
+ "ZuXZ0EszfxTmHkUkPlzvUrbPjoJxgb57P0Qfn9sCgYEAnYrTg5c8Jizw5VD74nfK\n"
+ "nsOP2pZk054CgGDPXB4i9fP3Nngrdx3navDEWZySlrttUA8nR6xnQX+qIJslsZQF\n"
+ "EaImBYhyYwrkGoEG8b9tFVHy8j9PY/sUHn19sGiNKMJlK7ZATPR8ZSYNo5RPCoLJ\n"
+ "cD6TTyJVeLdcHqZOuw4+Bx0CgYAvP5qokauXj+JdiJ5IG0thgOlsQHrLTVtF0Oxw\n"
+ "8mnY+W4BPJgvRzjeMvKhz+wALQqffIaCtd2ZqG9t7OFXxtJXQSUG+ylZGVFonV3j\n"
+ "xHgp6+aB7uH47VpQEXdDPk5r7I/2APSkS7F/CU55Va9eCYPOjOrGUhz6SuD+HdzG\n"
+ "iv5EcQKBgDyt221UUieb1sWhCHaKaQ3z8/aJlzs+ge6kSLqoVjcfr5uOKM1O5O72\n"
+ "bfy00r7B8ky77qXNTtzv2xt9Km/hRptqnCHsgly5OXW8pMcFnf7Kdh3Q+c5UzVlc\n"
+ "ODwZlaKK2fjp9xr2dNpYjRqyEb1gkC9FJMaxab9OAf+AoQifxncv\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_ca3_rsa_pss_key = {
+ (unsigned char *)server_ca3_rsa_pss_key_pem,
sizeof(server_ca3_rsa_pss_key_pem) - 1
};
static char server_ca3_rsa_pss_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEAjCCAjqgAwIBAgIMWSa+iBMb7BVvI0GIMD0GCSqGSIb3DQEBCjAwoA0wCwYJ\n"
- "YIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIDAgEgMA8xDTAL\n"
- "BgNVBAMTBENBLTMwHhcNMTkwNDE1MDkyMjIwWhcNNDkxMjMxMDkyMjIwWjANMQsw\n"
- "CQYDVQQGEwJHUjCCAVIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAY\n"
- "BgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASADggEPADCCAQoCggEBAL8TnzAG\n"
- "W6iLlapD7ebOX8jXrmA9Pa/NKAxDeeDEu/7TMvtspK8LF92tcxi6p+O0OfRNEAJY\n"
- "XhT+WV3EIBV1XUMFgp9NGLWMhp+bhq80/ND5SAJ2hslaYyxnIu5lNdyKR5SyqkGw\n"
- "WgnYg1Nalf38stN7dClXZcs04t0SaCg1N10xv3iZsmzx7gRswY7V5+CCZG23vRS9\n"
- "PdGCW4LtBKoHFYWqJ/STrOXFTRrB2eM3UaNXff+cyramgFQj2BAi/zmMEwUtDvJE\n"
- "65KB8F6NPG0dLFIW+3p3yPNu5jjoiMqJJM1LtWFcj+hjJ4IJqFGvC2knjt27FlPa\n"
- "8dZ4FgVEOYQRuSUCAwEAAaNQME4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUjFqe\n"
- "vO9heHT9V24WV1ovs7pvUvMwHwYDVR0jBBgwFoAU+aiGGWO2pBQTYHYPAZo1Nu/x\n"
- "tK8wPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgw\n"
- "CwYJYIZIAWUDBAIBogMCASADggGBAAgVZdGqSwhaa8c/KuqsnELoK5QlzdSUNZ0O\n"
- "J31nVQyOmIJtqR14nMndU0y1iowAoj0osZFYjxjN6e2AqUF7R22uhtxmG6rr0YEi\n"
- "XS+rNpbs7+gY/3hK30vo376QL85+U4v4HuTCd+yX8bY9VPqwZBMYO5rcDyXG82xC\n"
- "ZKXT/Tr7XD80iMFjyR2cvRAjoZQeXbWzNE4AEm0jNz2F5Qnl6uSgtpDkHYKgr9xq\n"
- "yUhm/WNKG86pzBxfcFju4prqBLiwUZh068b6znBAS0wMflrF/lznu01QqDhK6mz3\n"
- "cSn5LlzoKjuouAWdZRieqokr1mNiWggmX5n2qKM9FJtDQctsvntCf/freAfy+Xmu\n"
- "Tm055R9UzX76mL89eXY92U++HR8Y5IO5lqY1f13rzWK5rJB9qjz/Mamj9xR6Egoa\n"
- "hh1ysRItcTCFJI5xKb/i3hHv94U12EH1IfFHofptr1pyCtAeOhJytWPndCiB2m1q\n"
- "M2k3tl6cHvlUz7DpgnxNniuQ/dQ4MA==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_rsa_pss_cert =
- { (unsigned char *)server_ca3_rsa_pss_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEAjCCAjqgAwIBAgIMWSa+iBMb7BVvI0GIMD0GCSqGSIb3DQEBCjAwoA0wCwYJ\n"
+ "YIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIDAgEgMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwHhcNMTkwNDE1MDkyMjIwWhcNNDkxMjMxMDkyMjIwWjANMQsw\n"
+ "CQYDVQQGEwJHUjCCAVIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAY\n"
+ "BgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASADggEPADCCAQoCggEBAL8TnzAG\n"
+ "W6iLlapD7ebOX8jXrmA9Pa/NKAxDeeDEu/7TMvtspK8LF92tcxi6p+O0OfRNEAJY\n"
+ "XhT+WV3EIBV1XUMFgp9NGLWMhp+bhq80/ND5SAJ2hslaYyxnIu5lNdyKR5SyqkGw\n"
+ "WgnYg1Nalf38stN7dClXZcs04t0SaCg1N10xv3iZsmzx7gRswY7V5+CCZG23vRS9\n"
+ "PdGCW4LtBKoHFYWqJ/STrOXFTRrB2eM3UaNXff+cyramgFQj2BAi/zmMEwUtDvJE\n"
+ "65KB8F6NPG0dLFIW+3p3yPNu5jjoiMqJJM1LtWFcj+hjJ4IJqFGvC2knjt27FlPa\n"
+ "8dZ4FgVEOYQRuSUCAwEAAaNQME4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUjFqe\n"
+ "vO9heHT9V24WV1ovs7pvUvMwHwYDVR0jBBgwFoAU+aiGGWO2pBQTYHYPAZo1Nu/x\n"
+ "tK8wPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgw\n"
+ "CwYJYIZIAWUDBAIBogMCASADggGBAAgVZdGqSwhaa8c/KuqsnELoK5QlzdSUNZ0O\n"
+ "J31nVQyOmIJtqR14nMndU0y1iowAoj0osZFYjxjN6e2AqUF7R22uhtxmG6rr0YEi\n"
+ "XS+rNpbs7+gY/3hK30vo376QL85+U4v4HuTCd+yX8bY9VPqwZBMYO5rcDyXG82xC\n"
+ "ZKXT/Tr7XD80iMFjyR2cvRAjoZQeXbWzNE4AEm0jNz2F5Qnl6uSgtpDkHYKgr9xq\n"
+ "yUhm/WNKG86pzBxfcFju4prqBLiwUZh068b6znBAS0wMflrF/lznu01QqDhK6mz3\n"
+ "cSn5LlzoKjuouAWdZRieqokr1mNiWggmX5n2qKM9FJtDQctsvntCf/freAfy+Xmu\n"
+ "Tm055R9UzX76mL89eXY92U++HR8Y5IO5lqY1f13rzWK5rJB9qjz/Mamj9xR6Egoa\n"
+ "hh1ysRItcTCFJI5xKb/i3hHv94U12EH1IfFHofptr1pyCtAeOhJytWPndCiB2m1q\n"
+ "M2k3tl6cHvlUz7DpgnxNniuQ/dQ4MA==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_rsa_pss_cert = {
+ (unsigned char *)server_ca3_rsa_pss_cert_pem,
sizeof(server_ca3_rsa_pss_cert_pem) - 1
};
static char server_ca3_rsa_pss2_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MIIE7AIBADA9BgkqhkiG9w0BAQowMKANMAsGCWCGSAFlAwQCAaEaMBgGCSqGSIb3\n"
- "DQEBCDALBglghkgBZQMEAgGiAwIBIASCBKYwggSiAgEAAoIBAQCte+3f4Sgy89/R\n"
- "LNfx/NazlTgHxL6IXJuL44tutdhxA91vCJt0+ZSShWibsuyF+H09it3G0+3LvE2W\n"
- "vkU58ha7ljvCWckPf2+YpsFynNQc0Lw6BThRMQdJpJvI54OdxfhoPjhDnTui/EEj\n"
- "/n9MbLo5rAX5ZDIpWa3Vgpl37Q8czjFINCgQ/f8qsD4WabBSbuSnrYDvuASGez4O\n"
- "YDAFvM51+4U4GxN7ZKbrDTQcAySU0Fjy+I5eW/BIXd9TeHb6XYJudMQY7rozTijm\n"
- "6qbZieahke+FUCgm8BnRXghfcVSswUZEJQkCvF+SdUl3iAYlY/UBzVFsGDSFbID2\n"
- "XRtEvrnvAgMBAAECggEATj8COCL+lZSnU1oNgAiQ8eiQn/heE3TpdzvHLMT5/WdH\n"
- "3YedTjIvj7J6TxdxVK+SFUrn4oC91VF2EVJ6OLt3A16sT2ldpQ7OT6SOxdn0VZbT\n"
- "/rtR/lTFu7JxzTiWhXfAJYxCpkRpnIZ3/vsPgXHcwJxVCXnmof3fyNghzhRu54de\n"
- "V5GUwJ6TT3MMYLYKf5ii8Yt9WqeekQF7Hy/kIwz+4CbgR3fDdRXFnRwdNmA4RG3w\n"
- "TbwvqR9ApyAictYz4HpZWgYL+cXsH6Fm+/ChZiV9/zvdVVOo+dOAcxx2cWahm/NL\n"
- "tksGD7hI5kqD9moi2wiAsGHPa+/rkLxIBm0xvF1veQKBgQDVFKujtQyfzJw5DUPL\n"
- "kTCLp+370ZBTK01daKZrpfgw6QrylYljcIq8n1izauElYm5cZ9krMGzvL5ceg49p\n"
- "obl1tdCOQJQACrJmLZSuvVfw8TSwHPyOGtRWxhF4miX+ym3yMFqRyN2nXx1iAo5I\n"
- "Cz+aGmTfT1zSZkLnfQSjYWZFgwKBgQDQbX2wPavLI+1yWARStqrwVWO1mU0Nixbo\n"
- "jHrRlzrKYqtV+0ea6550LtDG5A/zf9MP6439NNHPqs4rnY910odd+xmLdQj2gocB\n"
- "IS4nPBE4o1k3L9m+bSw9nyDdJWRkASq4uem6QvyVsQpWUoxzmg5/fwRUlOU8X3pP\n"
- "ZLSSpz06JQKBgF4b6AbAwtedFe54tlWlRWyY+Zn7n6Or/1pfCwmGXwyzEJu9gdWC\n"
- "cjQGqLVtYg0R4S48y4SwuZwWR8c5UdDUlcWwTHFXgkZWcx5/ySg4BiwrTBrwYncc\n"
- "0GWWy0aZxmg23cJWqtmyfnsani6YdGDLXwbf22dpdNSUR75X0AGc1f+jAoGADha4\n"
- "nkcs66hcDpSghi7O0zwSZ14bdUTnoYSNcMl2MeQFjORVbMVsipH3jtovsdf8HmFf\n"
- "0bPWUuFK2mvmHKLEf7fPfDvHBVLBaXQiuIg46ckw6KgVYefjS68L+6bhaFkj2CTJ\n"
- "BcwtYrj65+bgk5fgTwH4+vatoC0cCW3XPuqLGvkCgYAj2NGQAEQ4HkmF55otDocZ\n"
- "SkAJFfibyrkKEK+PsQ7dRR/HEc93hvkI0PHpsLx8A3FZ370FAPtiKmnmfabHxEsK\n"
- "TWA2DTacq//MzXQrjsx0CpvGId1dOyVZIrwIFM17KmW5HHE37fY4PFZTZVXHAKf6\n"
- "nQyUF7m3FUJjavm46KJIhw==\n" "-----END PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_ca3_rsa_pss2_key =
- { (unsigned char *)server_ca3_rsa_pss2_key_pem,
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MIIE7AIBADA9BgkqhkiG9w0BAQowMKANMAsGCWCGSAFlAwQCAaEaMBgGCSqGSIb3\n"
+ "DQEBCDALBglghkgBZQMEAgGiAwIBIASCBKYwggSiAgEAAoIBAQCte+3f4Sgy89/R\n"
+ "LNfx/NazlTgHxL6IXJuL44tutdhxA91vCJt0+ZSShWibsuyF+H09it3G0+3LvE2W\n"
+ "vkU58ha7ljvCWckPf2+YpsFynNQc0Lw6BThRMQdJpJvI54OdxfhoPjhDnTui/EEj\n"
+ "/n9MbLo5rAX5ZDIpWa3Vgpl37Q8czjFINCgQ/f8qsD4WabBSbuSnrYDvuASGez4O\n"
+ "YDAFvM51+4U4GxN7ZKbrDTQcAySU0Fjy+I5eW/BIXd9TeHb6XYJudMQY7rozTijm\n"
+ "6qbZieahke+FUCgm8BnRXghfcVSswUZEJQkCvF+SdUl3iAYlY/UBzVFsGDSFbID2\n"
+ "XRtEvrnvAgMBAAECggEATj8COCL+lZSnU1oNgAiQ8eiQn/heE3TpdzvHLMT5/WdH\n"
+ "3YedTjIvj7J6TxdxVK+SFUrn4oC91VF2EVJ6OLt3A16sT2ldpQ7OT6SOxdn0VZbT\n"
+ "/rtR/lTFu7JxzTiWhXfAJYxCpkRpnIZ3/vsPgXHcwJxVCXnmof3fyNghzhRu54de\n"
+ "V5GUwJ6TT3MMYLYKf5ii8Yt9WqeekQF7Hy/kIwz+4CbgR3fDdRXFnRwdNmA4RG3w\n"
+ "TbwvqR9ApyAictYz4HpZWgYL+cXsH6Fm+/ChZiV9/zvdVVOo+dOAcxx2cWahm/NL\n"
+ "tksGD7hI5kqD9moi2wiAsGHPa+/rkLxIBm0xvF1veQKBgQDVFKujtQyfzJw5DUPL\n"
+ "kTCLp+370ZBTK01daKZrpfgw6QrylYljcIq8n1izauElYm5cZ9krMGzvL5ceg49p\n"
+ "obl1tdCOQJQACrJmLZSuvVfw8TSwHPyOGtRWxhF4miX+ym3yMFqRyN2nXx1iAo5I\n"
+ "Cz+aGmTfT1zSZkLnfQSjYWZFgwKBgQDQbX2wPavLI+1yWARStqrwVWO1mU0Nixbo\n"
+ "jHrRlzrKYqtV+0ea6550LtDG5A/zf9MP6439NNHPqs4rnY910odd+xmLdQj2gocB\n"
+ "IS4nPBE4o1k3L9m+bSw9nyDdJWRkASq4uem6QvyVsQpWUoxzmg5/fwRUlOU8X3pP\n"
+ "ZLSSpz06JQKBgF4b6AbAwtedFe54tlWlRWyY+Zn7n6Or/1pfCwmGXwyzEJu9gdWC\n"
+ "cjQGqLVtYg0R4S48y4SwuZwWR8c5UdDUlcWwTHFXgkZWcx5/ySg4BiwrTBrwYncc\n"
+ "0GWWy0aZxmg23cJWqtmyfnsani6YdGDLXwbf22dpdNSUR75X0AGc1f+jAoGADha4\n"
+ "nkcs66hcDpSghi7O0zwSZ14bdUTnoYSNcMl2MeQFjORVbMVsipH3jtovsdf8HmFf\n"
+ "0bPWUuFK2mvmHKLEf7fPfDvHBVLBaXQiuIg46ckw6KgVYefjS68L+6bhaFkj2CTJ\n"
+ "BcwtYrj65+bgk5fgTwH4+vatoC0cCW3XPuqLGvkCgYAj2NGQAEQ4HkmF55otDocZ\n"
+ "SkAJFfibyrkKEK+PsQ7dRR/HEc93hvkI0PHpsLx8A3FZ370FAPtiKmnmfabHxEsK\n"
+ "TWA2DTacq//MzXQrjsx0CpvGId1dOyVZIrwIFM17KmW5HHE37fY4PFZTZVXHAKf6\n"
+ "nQyUF7m3FUJjavm46KJIhw==\n"
+ "-----END PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_ca3_rsa_pss2_key = {
+ (unsigned char *)server_ca3_rsa_pss2_key_pem,
sizeof(server_ca3_rsa_pss2_key_pem) - 1
};
static char server_ca3_rsa_pss2_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIID0TCCAjmgAwIBAgIIWXYEJjkAauMwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNzA3MjQxNDI4NTVaGA85OTk5MTIzMTIzNTk1OVowADCCAVIw\n"
- "PQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJ\n"
- "YIZIAWUDBAIBogMCASADggEPADCCAQoCggEBAK177d/hKDLz39Es1/H81rOVOAfE\n"
- "vohcm4vji2612HED3W8Im3T5lJKFaJuy7IX4fT2K3cbT7cu8TZa+RTnyFruWO8JZ\n"
- "yQ9/b5imwXKc1BzQvDoFOFExB0mkm8jng53F+Gg+OEOdO6L8QSP+f0xsujmsBflk\n"
- "MilZrdWCmXftDxzOMUg0KBD9/yqwPhZpsFJu5KetgO+4BIZ7Pg5gMAW8znX7hTgb\n"
- "E3tkpusNNBwDJJTQWPL4jl5b8Ehd31N4dvpdgm50xBjuujNOKObqptmJ5qGR74VQ\n"
- "KCbwGdFeCF9xVKzBRkQlCQK8X5J1SXeIBiVj9QHNUWwYNIVsgPZdG0S+ue8CAwEA\n"
- "AaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNV\n"
- "HSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQWBBQCiLaK\n"
- "LrqB0vaCnoNP1V8QVLlA8jAfBgNVHSMEGDAWgBT5qIYZY7akFBNgdg8BmjU27/G0\n"
- "rzANBgkqhkiG9w0BAQsFAAOCAYEANgnTu4nYiv1nH6Iqpnn48CNrGK25ax6FuPvc\n"
- "HxOyFFa9jomP8KjyNv3EsmmoBcQBkbRdAX8sFdtbyjILqRLoRMFO7D60BmCitGYH\n"
- "MDjEIkG9QjcCo03YIT93SORwnt1qrWh6paOH7Nme+CsgRyXN7iNNur2LgGSilQ7P\n"
- "Rs/vr0DdxmlUxUQHDa5GRIvU3FFs4NLC/9sQd3+JGqzDbY7UqLnP5fzn6/PSMKIw\n"
- "Gc4IzbJrqjFsyfjQkblM2eBwmkUD3SnTFWqYwUsohGlSxBwKSIyVzlyuoD1FXop7\n"
- "lgG8/a1D/ZFa34q8tj24Wnd9zdr/Jrv2g51OSf0VIbQdP92l2kDouobPS/7DTgPI\n"
- "D7h52NLVm8cbV1RqxbeS3spZ2OAQn8tLiTwz+abNdsikFjMvfXq61iIv3QASUyUB\n"
- "VydSB7stwAUd6wys2H7crmeiMMtgxSjZJtB4GDUCb24a+/a4IgpqxFzGDLE9Ur69\n"
- "D8aQbKGJzzih56a2wwc0ZqA0ilGm\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_rsa_pss2_cert =
- { (unsigned char *)server_ca3_rsa_pss2_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID0TCCAjmgAwIBAgIIWXYEJjkAauMwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNzA3MjQxNDI4NTVaGA85OTk5MTIzMTIzNTk1OVowADCCAVIw\n"
+ "PQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJ\n"
+ "YIZIAWUDBAIBogMCASADggEPADCCAQoCggEBAK177d/hKDLz39Es1/H81rOVOAfE\n"
+ "vohcm4vji2612HED3W8Im3T5lJKFaJuy7IX4fT2K3cbT7cu8TZa+RTnyFruWO8JZ\n"
+ "yQ9/b5imwXKc1BzQvDoFOFExB0mkm8jng53F+Gg+OEOdO6L8QSP+f0xsujmsBflk\n"
+ "MilZrdWCmXftDxzOMUg0KBD9/yqwPhZpsFJu5KetgO+4BIZ7Pg5gMAW8znX7hTgb\n"
+ "E3tkpusNNBwDJJTQWPL4jl5b8Ehd31N4dvpdgm50xBjuujNOKObqptmJ5qGR74VQ\n"
+ "KCbwGdFeCF9xVKzBRkQlCQK8X5J1SXeIBiVj9QHNUWwYNIVsgPZdG0S+ue8CAwEA\n"
+ "AaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNV\n"
+ "HSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQWBBQCiLaK\n"
+ "LrqB0vaCnoNP1V8QVLlA8jAfBgNVHSMEGDAWgBT5qIYZY7akFBNgdg8BmjU27/G0\n"
+ "rzANBgkqhkiG9w0BAQsFAAOCAYEANgnTu4nYiv1nH6Iqpnn48CNrGK25ax6FuPvc\n"
+ "HxOyFFa9jomP8KjyNv3EsmmoBcQBkbRdAX8sFdtbyjILqRLoRMFO7D60BmCitGYH\n"
+ "MDjEIkG9QjcCo03YIT93SORwnt1qrWh6paOH7Nme+CsgRyXN7iNNur2LgGSilQ7P\n"
+ "Rs/vr0DdxmlUxUQHDa5GRIvU3FFs4NLC/9sQd3+JGqzDbY7UqLnP5fzn6/PSMKIw\n"
+ "Gc4IzbJrqjFsyfjQkblM2eBwmkUD3SnTFWqYwUsohGlSxBwKSIyVzlyuoD1FXop7\n"
+ "lgG8/a1D/ZFa34q8tj24Wnd9zdr/Jrv2g51OSf0VIbQdP92l2kDouobPS/7DTgPI\n"
+ "D7h52NLVm8cbV1RqxbeS3spZ2OAQn8tLiTwz+abNdsikFjMvfXq61iIv3QASUyUB\n"
+ "VydSB7stwAUd6wys2H7crmeiMMtgxSjZJtB4GDUCb24a+/a4IgpqxFzGDLE9Ur69\n"
+ "D8aQbKGJzzih56a2wwc0ZqA0ilGm\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_rsa_pss2_cert = {
+ (unsigned char *)server_ca3_rsa_pss2_cert_pem,
sizeof(server_ca3_rsa_pss2_cert_pem) - 1
};
static char cli_ca3_rsa_pss_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEAjCCAjqgAwIBAgIMWSa+VhOfC8uEpb/cMD0GCSqGSIb3DQEBCjAwoA0wCwYJ\n"
- "YIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIDAgEgMA8xDTAL\n"
- "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
- "CQYDVQQGEwJHUjCCAVIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAY\n"
- "BgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASADggEPADCCAQoCggEBAL8TnzAG\n"
- "W6iLlapD7ebOX8jXrmA9Pa/NKAxDeeDEu/7TMvtspK8LF92tcxi6p+O0OfRNEAJY\n"
- "XhT+WV3EIBV1XUMFgp9NGLWMhp+bhq80/ND5SAJ2hslaYyxnIu5lNdyKR5SyqkGw\n"
- "WgnYg1Nalf38stN7dClXZcs04t0SaCg1N10xv3iZsmzx7gRswY7V5+CCZG23vRS9\n"
- "PdGCW4LtBKoHFYWqJ/STrOXFTRrB2eM3UaNXff+cyramgFQj2BAi/zmMEwUtDvJE\n"
- "65KB8F6NPG0dLFIW+3p3yPNu5jjoiMqJJM1LtWFcj+hjJ4IJqFGvC2knjt27FlPa\n"
- "8dZ4FgVEOYQRuSUCAwEAAaNQME4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUjFqe\n"
- "vO9heHT9V24WV1ovs7pvUvMwHwYDVR0jBBgwFoAU+aiGGWO2pBQTYHYPAZo1Nu/x\n"
- "tK8wPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgw\n"
- "CwYJYIZIAWUDBAIBogMCASADggGBAI435L6mZnGnCtQdtUBGgypMP2g5VuSBu2lP\n"
- "5msLYuK2vPZTCtCLAg2JSsQhVaDDK+V7wtyXIgnEtQWrDE3RQBmWtCWpVrrP7kh3\n"
- "ZN751l6+z1UTEg8sVQ7MODbEZCB9+2XXAb50Oh4cO65IfUI5Sqnn2+k3ZPLp280s\n"
- "KdlaA4ZzmQSZcgEDWtoch8QiO+HvlXGqjejQUFh1ObBJXpXX5Q7NP5K7ChI82LPJ\n"
- "T+rdqTopIgM3nAg9Je7gqsHiPdEdpArKwQq9wMxTmtQECK6KInueaDXuoDs5xg6k\n"
- "XYQ1fiS0SI/pJ9xn0SCc6BNmkbfTpmKVwF9MWIyGyzWBhkSSWxsKbh5OuUCWJsyG\n"
- "eLOrPK9fVKv/YQCfDHC3F1WI6xtHg7CCD7vvyJv5bFH8LN8YGoZNt1ZfU1lNw7rP\n"
- "sRecz45/okiAbk9/SgnpzHInNBBzYu2Ym+yGVO/tIeErPXrnkM7uF9Di/K1n2+zF\n"
- "vXOeamGsi2jyiC5LbreWecbMnzi3vQ==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t cli_ca3_rsa_pss_cert =
- { (unsigned char *)cli_ca3_rsa_pss_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEAjCCAjqgAwIBAgIMWSa+VhOfC8uEpb/cMD0GCSqGSIb3DQEBCjAwoA0wCwYJ\n"
+ "YIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIDAgEgMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
+ "CQYDVQQGEwJHUjCCAVIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAY\n"
+ "BgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMCASADggEPADCCAQoCggEBAL8TnzAG\n"
+ "W6iLlapD7ebOX8jXrmA9Pa/NKAxDeeDEu/7TMvtspK8LF92tcxi6p+O0OfRNEAJY\n"
+ "XhT+WV3EIBV1XUMFgp9NGLWMhp+bhq80/ND5SAJ2hslaYyxnIu5lNdyKR5SyqkGw\n"
+ "WgnYg1Nalf38stN7dClXZcs04t0SaCg1N10xv3iZsmzx7gRswY7V5+CCZG23vRS9\n"
+ "PdGCW4LtBKoHFYWqJ/STrOXFTRrB2eM3UaNXff+cyramgFQj2BAi/zmMEwUtDvJE\n"
+ "65KB8F6NPG0dLFIW+3p3yPNu5jjoiMqJJM1LtWFcj+hjJ4IJqFGvC2knjt27FlPa\n"
+ "8dZ4FgVEOYQRuSUCAwEAAaNQME4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUjFqe\n"
+ "vO9heHT9V24WV1ovs7pvUvMwHwYDVR0jBBgwFoAU+aiGGWO2pBQTYHYPAZo1Nu/x\n"
+ "tK8wPQYJKoZIhvcNAQEKMDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgw\n"
+ "CwYJYIZIAWUDBAIBogMCASADggGBAI435L6mZnGnCtQdtUBGgypMP2g5VuSBu2lP\n"
+ "5msLYuK2vPZTCtCLAg2JSsQhVaDDK+V7wtyXIgnEtQWrDE3RQBmWtCWpVrrP7kh3\n"
+ "ZN751l6+z1UTEg8sVQ7MODbEZCB9+2XXAb50Oh4cO65IfUI5Sqnn2+k3ZPLp280s\n"
+ "KdlaA4ZzmQSZcgEDWtoch8QiO+HvlXGqjejQUFh1ObBJXpXX5Q7NP5K7ChI82LPJ\n"
+ "T+rdqTopIgM3nAg9Je7gqsHiPdEdpArKwQq9wMxTmtQECK6KInueaDXuoDs5xg6k\n"
+ "XYQ1fiS0SI/pJ9xn0SCc6BNmkbfTpmKVwF9MWIyGyzWBhkSSWxsKbh5OuUCWJsyG\n"
+ "eLOrPK9fVKv/YQCfDHC3F1WI6xtHg7CCD7vvyJv5bFH8LN8YGoZNt1ZfU1lNw7rP\n"
+ "sRecz45/okiAbk9/SgnpzHInNBBzYu2Ym+yGVO/tIeErPXrnkM7uF9Di/K1n2+zF\n"
+ "vXOeamGsi2jyiC5LbreWecbMnzi3vQ==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t cli_ca3_rsa_pss_cert = {
+ (unsigned char *)cli_ca3_rsa_pss_cert_pem,
sizeof(cli_ca3_rsa_pss_cert_pem) - 1
};
-# define cli_ca3_rsa_pss_key server_ca3_rsa_pss_key
+#define cli_ca3_rsa_pss_key server_ca3_rsa_pss_key
/* server EdDSA key */
static char server_ca3_eddsa_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MC4CAQAwBQYDK2VwBCIEIBypI9w1qP3WLaiYuWB7zhA99GTG5UsKZVZqPHNlUaIv\n"
- "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MC4CAQAwBQYDK2VwBCIEIBypI9w1qP3WLaiYuWB7zhA99GTG5UsKZVZqPHNlUaIv\n"
+ "-----END PRIVATE KEY-----\n";
-const gnutls_datum_t server_ca3_eddsa_key =
- { (unsigned char *)server_ca3_eddsa_key_pem,
+const gnutls_datum_t server_ca3_eddsa_key = {
+ (unsigned char *)server_ca3_eddsa_key_pem,
sizeof(server_ca3_eddsa_key_pem) - 1
};
static char server_ca3_eddsa_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIBEzCBxqADAgECAgxZLBvYDjrxFhfqLoIwBQYDK2VwMA0xCzAJBgNVBAYTAkdS\n"
- "MB4XDTA0MDIyOTE1MjE0MloXDTI0MDIyOTE1MjE0MVowDTELMAkGA1UEBhMCR1Iw\n"
- "KjAFBgMrZXADIQCrr5izw0GNQSIhwYanuHD7RG7HfiCHe9kipF3SlwnVSKNAMD4w\n"
- "DAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQWBBSJg0wiKtJf\n"
- "jqv1BmHV8w0JD5X2BjAFBgMrZXADQQB94NbYtwGCvyI6EvBZk5xgOyWNdKVy9peh\n"
- "KKn/PNiAq4fPNEupyzC3AzE1xLzKLRArAFFDDUjPCwy3OR4js3MF\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_eddsa_cert =
- { (unsigned char *)server_ca3_eddsa_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIBEzCBxqADAgECAgxZLBvYDjrxFhfqLoIwBQYDK2VwMA0xCzAJBgNVBAYTAkdS\n"
+ "MB4XDTA0MDIyOTE1MjE0MloXDTI0MDIyOTE1MjE0MVowDTELMAkGA1UEBhMCR1Iw\n"
+ "KjAFBgMrZXADIQCrr5izw0GNQSIhwYanuHD7RG7HfiCHe9kipF3SlwnVSKNAMD4w\n"
+ "DAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQWBBSJg0wiKtJf\n"
+ "jqv1BmHV8w0JD5X2BjAFBgMrZXADQQB94NbYtwGCvyI6EvBZk5xgOyWNdKVy9peh\n"
+ "KKn/PNiAq4fPNEupyzC3AzE1xLzKLRArAFFDDUjPCwy3OR4js3MF\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_eddsa_cert = {
+ (unsigned char *)server_ca3_eddsa_cert_pem,
sizeof(server_ca3_eddsa_cert_pem) - 1
};
static char server_ca3_gost01_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEUCAQAwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEIgQgR1lBLIr4WBpn\n"
- "4MOCH8oxGWb52EPNL3gjNJiQuBQuf6U=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEUCAQAwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEIgQgR1lBLIr4WBpn\n"
+ "4MOCH8oxGWb52EPNL3gjNJiQuBQuf6U=\n"
+ "-----END PRIVATE KEY-----\n";
-const gnutls_datum_t server_ca3_gost01_key =
- { (unsigned char *)server_ca3_gost01_key_pem,
+const gnutls_datum_t server_ca3_gost01_key = {
+ (unsigned char *)server_ca3_gost01_key_pem,
sizeof(server_ca3_gost01_key_pem) - 1
};
static char server_ca3_gost01_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC7TCCAVWgAwIBAgIIWcZJ7xuHksUwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xOTEwMDgxMDQ2NDBaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
- "A1UEAxMCR1IwYzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQNDAARA0Lvp\n"
- "9MaoYDxzkURVz71Q3Sw9Wrwa2F483xDd0mOID8CK7JY8C8gz/1dfZniUObT1JMa6\n"
- "hkGsQyFvPLD6Vr1bN6OBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxv\n"
- "Y2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AAMB0G\n"
- "A1UdDgQWBBSGUfwGWchcx3r3TNANllOEOFkTWDAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
- "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEACdzEVIyFvPlx2J7Ab4Hq\n"
- "Oz0IGk2QaZ4cJkWZxjrPc7u6XCeBah8TEtF12LJ6vXBS+Cf9IF50YIMK/8GjJjs1\n"
- "Allwdx79RuWFS2TdnsAjsAWwyKBQITkmv/kXULtExC9ospdGVIeYbdcmufgk023Q\n"
- "PJh5LAMXHZ1lrsI1DgBhihgZx86wTAGd8yRC+dratvSbawC0sFan8X1n9R/Fxkzt\n"
- "YuLEulh7FZpTWPYu30fyUrpEZVCWPlCzCrSijhCVBhAnT4eEGd7qmU0Oj+khHFNn\n"
- "iVJ40/3JG21Yln2t/8uY1YIM2+ISTk4n2gkmXHrRAfNi3bXupdQQyAqRRT7b/Y/y\n"
- "jhYzWekGLAvz0qrS78Ls8Kp7TfhIVEcWz9pfo77SmURxT6SDTiet7W5VD+VaS+hW\n"
- "jl4L+IGxCsBIY5mWlT8KYTNHG34ln+5W+TfZMGARZFf4ZfQi2lgs3p0oqn6f9c+w\n"
- "AdMyo73YqtbmVT2eGB05ezMeRl2Anjfwvj9JinhHMC04\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_gost01_cert =
- { (unsigned char *)server_ca3_gost01_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC7TCCAVWgAwIBAgIIWcZJ7xuHksUwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xOTEwMDgxMDQ2NDBaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
+ "A1UEAxMCR1IwYzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQNDAARA0Lvp\n"
+ "9MaoYDxzkURVz71Q3Sw9Wrwa2F483xDd0mOID8CK7JY8C8gz/1dfZniUObT1JMa6\n"
+ "hkGsQyFvPLD6Vr1bN6OBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxv\n"
+ "Y2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AAMB0G\n"
+ "A1UdDgQWBBSGUfwGWchcx3r3TNANllOEOFkTWDAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
+ "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEACdzEVIyFvPlx2J7Ab4Hq\n"
+ "Oz0IGk2QaZ4cJkWZxjrPc7u6XCeBah8TEtF12LJ6vXBS+Cf9IF50YIMK/8GjJjs1\n"
+ "Allwdx79RuWFS2TdnsAjsAWwyKBQITkmv/kXULtExC9ospdGVIeYbdcmufgk023Q\n"
+ "PJh5LAMXHZ1lrsI1DgBhihgZx86wTAGd8yRC+dratvSbawC0sFan8X1n9R/Fxkzt\n"
+ "YuLEulh7FZpTWPYu30fyUrpEZVCWPlCzCrSijhCVBhAnT4eEGd7qmU0Oj+khHFNn\n"
+ "iVJ40/3JG21Yln2t/8uY1YIM2+ISTk4n2gkmXHrRAfNi3bXupdQQyAqRRT7b/Y/y\n"
+ "jhYzWekGLAvz0qrS78Ls8Kp7TfhIVEcWz9pfo77SmURxT6SDTiet7W5VD+VaS+hW\n"
+ "jl4L+IGxCsBIY5mWlT8KYTNHG34ln+5W+TfZMGARZFf4ZfQi2lgs3p0oqn6f9c+w\n"
+ "AdMyo73YqtbmVT2eGB05ezMeRl2Anjfwvj9JinhHMC04\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_gost01_cert = {
+ (unsigned char *)server_ca3_gost01_cert_pem,
sizeof(server_ca3_gost01_cert_pem) - 1
};
static char server_ca3_gost12_256_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIEIgQg0+JttJEV\n"
- "Ud+XBzX9q13ByKK+j2b+mEmNIo1yB0wGleo=\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MEgCAQAwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIEIgQg0+JttJEV\n"
+ "Ud+XBzX9q13ByKK+j2b+mEmNIo1yB0wGleo=\n"
+ "-----END PRIVATE KEY-----\n";
-const gnutls_datum_t server_ca3_gost12_256_key =
- { (unsigned char *)server_ca3_gost12_256_key_pem,
+const gnutls_datum_t server_ca3_gost12_256_key = {
+ (unsigned char *)server_ca3_gost12_256_key_pem,
sizeof(server_ca3_gost12_256_key_pem) - 1
};
static char server_ca3_gost12_256_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC8DCCAVigAwIBAgIIWcZKgxkCMvcwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xOTEwMDgxMDQ4MTZaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
- "A1UEAxMCR1IwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQECAgNDAARA\n"
- "J9sMEEx0JW9QsT5bDqyc0TNcjVg9ZSdp4GkMtShM+OOgyBGrWK3zLP5IzHYSXja8\n"
- "373QrJOUvdX7T7TUk5yU5aOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuC\n"
- "CWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AA\n"
- "MB0GA1UdDgQWBBQYSEtdwsYrtnOq6Ya3nt8DgFPCQjAfBgNVHSMEGDAWgBT5qIYZ\n"
- "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAR0xtx7MWEP1KyIzM\n"
- "4lXKdTyU4Nve5RcgqF82yR/0odqT5MPoaZDvLuRWEcQryztZD3kmRUmPmn1ujSfc\n"
- "BbPfRnSutDXcf6imq0/U1/TV/BF3vpS1plltzetvibf8MYetHVFQHUBJDZJHh9h7\n"
- "PGwA9SnmnGKFIxFdV6bVOLkPR54Gob9zN3E17KslL19lNtht1pxk9pshwTn35oRY\n"
- "uOdxof9F4XjpI/4WbC8kp15QeG8XyZd5JWSl+niNOqYK31+ilQdVBr4RiZSDIcAg\n"
- "twS5yV9Ap+R8rM8TLbeT2io4rhdUgmDllUf49zV3t6AbVvbsQfkqXmHXW8uW2WBu\n"
- "A8FiXEbIIOb+QIW0ZGwk3BVQ7wdiw1M5w6kYtz5kBtNPxBmc+eu1+e6EAfYbFNr3\n"
- "pkxtMk3veYWHb5s3dHZ4/t2Rn85hWqh03CWwCkKTN3qmEs4/XpybbXE/UE49e7u1\n"
- "FkpM1bT/0gUNsNt5h3pyUzQZdiB0XbdGGFta3tB3+inIO45h\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_gost12_256_cert =
- { (unsigned char *)server_ca3_gost12_256_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC8DCCAVigAwIBAgIIWcZKgxkCMvcwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xOTEwMDgxMDQ4MTZaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
+ "A1UEAxMCR1IwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQECAgNDAARA\n"
+ "J9sMEEx0JW9QsT5bDqyc0TNcjVg9ZSdp4GkMtShM+OOgyBGrWK3zLP5IzHYSXja8\n"
+ "373QrJOUvdX7T7TUk5yU5aOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuC\n"
+ "CWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB4AA\n"
+ "MB0GA1UdDgQWBBQYSEtdwsYrtnOq6Ya3nt8DgFPCQjAfBgNVHSMEGDAWgBT5qIYZ\n"
+ "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAR0xtx7MWEP1KyIzM\n"
+ "4lXKdTyU4Nve5RcgqF82yR/0odqT5MPoaZDvLuRWEcQryztZD3kmRUmPmn1ujSfc\n"
+ "BbPfRnSutDXcf6imq0/U1/TV/BF3vpS1plltzetvibf8MYetHVFQHUBJDZJHh9h7\n"
+ "PGwA9SnmnGKFIxFdV6bVOLkPR54Gob9zN3E17KslL19lNtht1pxk9pshwTn35oRY\n"
+ "uOdxof9F4XjpI/4WbC8kp15QeG8XyZd5JWSl+niNOqYK31+ilQdVBr4RiZSDIcAg\n"
+ "twS5yV9Ap+R8rM8TLbeT2io4rhdUgmDllUf49zV3t6AbVvbsQfkqXmHXW8uW2WBu\n"
+ "A8FiXEbIIOb+QIW0ZGwk3BVQ7wdiw1M5w6kYtz5kBtNPxBmc+eu1+e6EAfYbFNr3\n"
+ "pkxtMk3veYWHb5s3dHZ4/t2Rn85hWqh03CWwCkKTN3qmEs4/XpybbXE/UE49e7u1\n"
+ "FkpM1bT/0gUNsNt5h3pyUzQZdiB0XbdGGFta3tB3+inIO45h\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_gost12_256_cert = {
+ (unsigned char *)server_ca3_gost12_256_cert_pem,
sizeof(server_ca3_gost12_256_cert_pem) - 1
};
static char server_ca3_gost12_512_key_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MGACAQAwFwYIKoUDBwEBAQIwCwYJKoUDBwECAQIBBEIEQJLtsCFM/m6blvHOJoqS\n"
- "FvrFIjlYFAJKVqIc8FoxuCaAmIXxG5sXuTRgx5+m3T6wDca9UYAqMvsIsEREObti\n"
- "+W8=\n" "-----END PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_ca3_gost12_512_key =
- { (unsigned char *)server_ca3_gost12_512_key_pem,
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MGACAQAwFwYIKoUDBwEBAQIwCwYJKoUDBwECAQIBBEIEQJLtsCFM/m6blvHOJoqS\n"
+ "FvrFIjlYFAJKVqIc8FoxuCaAmIXxG5sXuTRgx5+m3T6wDca9UYAqMvsIsEREObti\n"
+ "+W8=\n"
+ "-----END PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_ca3_gost12_512_key = {
+ (unsigned char *)server_ca3_gost12_512_key_pem,
sizeof(server_ca3_gost12_512_key_pem) - 1
};
static char server_ca3_gost12_512_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDKzCCAZOgAwIBAgIIWcZKvSvigz0wDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xOTEwMDgxMTAwNDRaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
- "A1UEAxMCR1IwgaAwFwYIKoUDBwEBAQIwCwYJKoUDBwECAQIBA4GEAASBgDIyIpfh\n"
- "R0umZWQl6GEhjjhjZ6cWlYJ41JHo6hx8cLxHopOjSrHEQRxabnfI07e9IjlK0MZu\n"
- "oS8ngfbyAEI0LycgiOgDTriO8l10NEM/Yr1l+A5qHsZ9Oh46ijUlPTT6WEZzK/yU\n"
- "RQmjg0TQFQUPQrwSfkW8lJzbINwaHCWWqSdxo4GNMIGKMAwGA1UdEwEB/wQCMAAw\n"
- "FAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1Ud\n"
- "DwEB/wQFAwMHgAAwHQYDVR0OBBYEFF7gSAq4EPp6G8FYvT+ECRRVrGTcMB8GA1Ud\n"
- "IwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQAO\n"
- "kFNTy9UqIkG5tDiW+O8QuV8A+Xvw2CLiIqDvkLhR1FQnXYs5OFquNBLyA2NSR5bk\n"
- "OO+68sXj6iB9tGJWhHXo6efwsxR4maxHv7R8Gp6fFysEGtVV1MG+vpNOjoQNreVh\n"
- "41D9/FU7eVqe6oSw5DtuUQvwrk3jooT4b9dpk2g1ihY33BrpA+vg9XnvN3+7dDNd\n"
- "0xfRXKR9aGhWZsschps9xJqfzx63CZrH14+jHKxYPupSL7d/Akm3MDOf9XLa+vnY\n"
- "WG6lHpkvGl0b8A6yxHHqDCctnE+aJGK6lMyZ1cd8GiStgcihussKGKvKsKygAM4J\n"
- "zPxBQtTv11qjuyMksq5Gw6ctq/GO/M7eUoi/xf/O9+QOwDO/urocBJYY0BmsQWlR\n"
- "VFjuOouE2GN7UPo6VyMiXpe75Wi9CNX/szNF+HnS4hCJGV5kz4ULaJnFxPE/oQwa\n"
- "nlFDKO1feGQG0gOyf2jMzY1OD35SYss4Falc18iB3YQKigGkyqb+VeGyE8kq1UY=\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_gost12_512_cert =
- { (unsigned char *)server_ca3_gost12_512_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDKzCCAZOgAwIBAgIIWcZKvSvigz0wDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xOTEwMDgxMTAwNDRaGA85OTk5MTIzMTIzNTk1OVowDTELMAkG\n"
+ "A1UEAxMCR1IwgaAwFwYIKoUDBwEBAQIwCwYJKoUDBwECAQIBA4GEAASBgDIyIpfh\n"
+ "R0umZWQl6GEhjjhjZ6cWlYJ41JHo6hx8cLxHopOjSrHEQRxabnfI07e9IjlK0MZu\n"
+ "oS8ngfbyAEI0LycgiOgDTriO8l10NEM/Yr1l+A5qHsZ9Oh46ijUlPTT6WEZzK/yU\n"
+ "RQmjg0TQFQUPQrwSfkW8lJzbINwaHCWWqSdxo4GNMIGKMAwGA1UdEwEB/wQCMAAw\n"
+ "FAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1Ud\n"
+ "DwEB/wQFAwMHgAAwHQYDVR0OBBYEFF7gSAq4EPp6G8FYvT+ECRRVrGTcMB8GA1Ud\n"
+ "IwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQAO\n"
+ "kFNTy9UqIkG5tDiW+O8QuV8A+Xvw2CLiIqDvkLhR1FQnXYs5OFquNBLyA2NSR5bk\n"
+ "OO+68sXj6iB9tGJWhHXo6efwsxR4maxHv7R8Gp6fFysEGtVV1MG+vpNOjoQNreVh\n"
+ "41D9/FU7eVqe6oSw5DtuUQvwrk3jooT4b9dpk2g1ihY33BrpA+vg9XnvN3+7dDNd\n"
+ "0xfRXKR9aGhWZsschps9xJqfzx63CZrH14+jHKxYPupSL7d/Akm3MDOf9XLa+vnY\n"
+ "WG6lHpkvGl0b8A6yxHHqDCctnE+aJGK6lMyZ1cd8GiStgcihussKGKvKsKygAM4J\n"
+ "zPxBQtTv11qjuyMksq5Gw6ctq/GO/M7eUoi/xf/O9+QOwDO/urocBJYY0BmsQWlR\n"
+ "VFjuOouE2GN7UPo6VyMiXpe75Wi9CNX/szNF+HnS4hCJGV5kz4ULaJnFxPE/oQwa\n"
+ "nlFDKO1feGQG0gOyf2jMzY1OD35SYss4Falc18iB3YQKigGkyqb+VeGyE8kq1UY=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_gost12_512_cert = {
+ (unsigned char *)server_ca3_gost12_512_cert_pem,
sizeof(server_ca3_gost12_512_cert_pem) - 1
};
/* shares server_ca3 key */
static char server_localhost6_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIENzCCAp+gAwIBAgIMV6MdMjdkWPp7Um/XMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
- "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTU1WhgPOTk5OTEyMzEyMzU5NTla\n"
- "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
- "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
- "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
- "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
- "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
- "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
- "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
- "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
- "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBnDCBmTAM\n"
- "BgNVHRMBAf8EAjAAMCMGA1UdEQQcMBqCCmxvY2FsaG9zdDaCDHd3dy5ub25lLm9y\n"
- "ZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQW\n"
- "BBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP\n"
- "6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEALXeJO70urguPXDXTPPfqOVZb9NOh\n"
- "+1rHRtt1LIr6WxGMLDIuUwwjhExSR/XDnhzgy1G6Zxodsm1FV5aEmDhU9cz0MpkF\n"
- "G1ndhGK+Y3Qey9L/8x7yuHoqLfcqiqe5Kxpq9zVfy87M1JC8FuFpRXgnXkbjnPRm\n"
- "rDA7d0KtJfU93mmoI1yPDqYcJK6I62waIfRn5AcgGiMr8tT5oreIXPhjxiU15Say\n"
- "ETqT0nSx3kB1VTm0K4mByIueGclnb5epUQ/suq9S++QW7Z9DD/8bfehXZaB1lb7r\n"
- "jTMFQAzmrR7x53ZwKWry5iu6MXxFnWKTpBdGcgztbj34NM4VLqrdC15c0lj+OJ/3\n"
- "0sbJ1YU3XCh6GZ96t3RPevSvimxMZfVquoBrr7/79PKxOnBY+amJYILqjzqvqIvr\n"
- "LoPj0OuKmN7XiWINFAgz5/oj8Bq/4vu8Bsu4fwbgMeHt5Z0eIo8XtqblxnCASFDZ\n"
- "yrRp0uKt24DKjSiJWnoqc+VjuvFECgGUzdts\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIENzCCAp+gAwIBAgIMV6MdMjdkWPp7Um/XMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
+ "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTU1WhgPOTk5OTEyMzEyMzU5NTla\n"
+ "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
+ "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
+ "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
+ "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
+ "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
+ "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
+ "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
+ "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
+ "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBnDCBmTAM\n"
+ "BgNVHRMBAf8EAjAAMCMGA1UdEQQcMBqCCmxvY2FsaG9zdDaCDHd3dy5ub25lLm9y\n"
+ "ZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQW\n"
+ "BBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP\n"
+ "6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEALXeJO70urguPXDXTPPfqOVZb9NOh\n"
+ "+1rHRtt1LIr6WxGMLDIuUwwjhExSR/XDnhzgy1G6Zxodsm1FV5aEmDhU9cz0MpkF\n"
+ "G1ndhGK+Y3Qey9L/8x7yuHoqLfcqiqe5Kxpq9zVfy87M1JC8FuFpRXgnXkbjnPRm\n"
+ "rDA7d0KtJfU93mmoI1yPDqYcJK6I62waIfRn5AcgGiMr8tT5oreIXPhjxiU15Say\n"
+ "ETqT0nSx3kB1VTm0K4mByIueGclnb5epUQ/suq9S++QW7Z9DD/8bfehXZaB1lb7r\n"
+ "jTMFQAzmrR7x53ZwKWry5iu6MXxFnWKTpBdGcgztbj34NM4VLqrdC15c0lj+OJ/3\n"
+ "0sbJ1YU3XCh6GZ96t3RPevSvimxMZfVquoBrr7/79PKxOnBY+amJYILqjzqvqIvr\n"
+ "LoPj0OuKmN7XiWINFAgz5/oj8Bq/4vu8Bsu4fwbgMeHt5Z0eIo8XtqblxnCASFDZ\n"
+ "yrRp0uKt24DKjSiJWnoqc+VjuvFECgGUzdts\n"
+ "-----END CERTIFICATE-----\n";
static char server_localhost6_ca3_cert_chain_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIENzCCAp+gAwIBAgIMV6MdMjdkWPp7Um/XMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
- "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTU1WhgPOTk5OTEyMzEyMzU5NTla\n"
- "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
- "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
- "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
- "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
- "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
- "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
- "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
- "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
- "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBnDCBmTAM\n"
- "BgNVHRMBAf8EAjAAMCMGA1UdEQQcMBqCCmxvY2FsaG9zdDaCDHd3dy5ub25lLm9y\n"
- "ZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQW\n"
- "BBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP\n"
- "6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEALXeJO70urguPXDXTPPfqOVZb9NOh\n"
- "+1rHRtt1LIr6WxGMLDIuUwwjhExSR/XDnhzgy1G6Zxodsm1FV5aEmDhU9cz0MpkF\n"
- "G1ndhGK+Y3Qey9L/8x7yuHoqLfcqiqe5Kxpq9zVfy87M1JC8FuFpRXgnXkbjnPRm\n"
- "rDA7d0KtJfU93mmoI1yPDqYcJK6I62waIfRn5AcgGiMr8tT5oreIXPhjxiU15Say\n"
- "ETqT0nSx3kB1VTm0K4mByIueGclnb5epUQ/suq9S++QW7Z9DD/8bfehXZaB1lb7r\n"
- "jTMFQAzmrR7x53ZwKWry5iu6MXxFnWKTpBdGcgztbj34NM4VLqrdC15c0lj+OJ/3\n"
- "0sbJ1YU3XCh6GZ96t3RPevSvimxMZfVquoBrr7/79PKxOnBY+amJYILqjzqvqIvr\n"
- "LoPj0OuKmN7XiWINFAgz5/oj8Bq/4vu8Bsu4fwbgMeHt5Z0eIo8XtqblxnCASFDZ\n"
- "yrRp0uKt24DKjSiJWnoqc+VjuvFECgGUzdts\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
- "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
- "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
- "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
- "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
- "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
- "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
- "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
- "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
- "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
- "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
- "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
- "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
- "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
- "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
- "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
- "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
- "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
- "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
- "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
- "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_localhost6_cert =
- { (unsigned char *)server_localhost6_ca3_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIENzCCAp+gAwIBAgIMV6MdMjdkWPp7Um/XMA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
+ "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTU1WhgPOTk5OTEyMzEyMzU5NTla\n"
+ "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
+ "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
+ "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
+ "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
+ "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
+ "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
+ "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
+ "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
+ "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBnDCBmTAM\n"
+ "BgNVHRMBAf8EAjAAMCMGA1UdEQQcMBqCCmxvY2FsaG9zdDaCDHd3dy5ub25lLm9y\n"
+ "ZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQW\n"
+ "BBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP\n"
+ "6SWklOG3oTANBgkqhkiG9w0BAQsFAAOCAYEALXeJO70urguPXDXTPPfqOVZb9NOh\n"
+ "+1rHRtt1LIr6WxGMLDIuUwwjhExSR/XDnhzgy1G6Zxodsm1FV5aEmDhU9cz0MpkF\n"
+ "G1ndhGK+Y3Qey9L/8x7yuHoqLfcqiqe5Kxpq9zVfy87M1JC8FuFpRXgnXkbjnPRm\n"
+ "rDA7d0KtJfU93mmoI1yPDqYcJK6I62waIfRn5AcgGiMr8tT5oreIXPhjxiU15Say\n"
+ "ETqT0nSx3kB1VTm0K4mByIueGclnb5epUQ/suq9S++QW7Z9DD/8bfehXZaB1lb7r\n"
+ "jTMFQAzmrR7x53ZwKWry5iu6MXxFnWKTpBdGcgztbj34NM4VLqrdC15c0lj+OJ/3\n"
+ "0sbJ1YU3XCh6GZ96t3RPevSvimxMZfVquoBrr7/79PKxOnBY+amJYILqjzqvqIvr\n"
+ "LoPj0OuKmN7XiWINFAgz5/oj8Bq/4vu8Bsu4fwbgMeHt5Z0eIo8XtqblxnCASFDZ\n"
+ "yrRp0uKt24DKjSiJWnoqc+VjuvFECgGUzdts\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
+ "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
+ "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
+ "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
+ "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
+ "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
+ "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
+ "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
+ "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
+ "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
+ "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
+ "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
+ "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
+ "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
+ "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
+ "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
+ "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
+ "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
+ "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
+ "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
+ "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_localhost6_cert = {
+ (unsigned char *)server_localhost6_ca3_cert_pem,
sizeof(server_localhost6_ca3_cert_pem) - 1
};
@@ -1273,82 +1282,83 @@ const gnutls_datum_t server_ca3_localhost6_cert_chain = {
/* shares server_ca3 key */
static char server_ipaddr_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEAzCCAmugAwIBAgIMWNI1ISkCpEsFglgfMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
- "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
- "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
- "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
- "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
- "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
- "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
- "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
- "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
- "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
- "o2EwXzAMBgNVHRMBAf8EAjAAMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYEFDOd\n"
- "4SfTi9X86wX8tceBaU9eO9nWMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
- "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQCNwaCnuNcrSpKjNI99kwuS2/LRnt40yN0B\n"
- "LvN4wnkfEh02LXg2ylXCYZZw59m3w7Cefr1BGLXJjbJTNHASjSOvmurJVEX5sqdX\n"
- "zGQs9HzysDvTVHQh1VUWXyj612DUWZoAYYaUg+CiAZLA/ShT+zN/OC8kWa1RXZPt\n"
- "BfTM7REBxAOxUEDuL1aa/KkFqXgy3cr795TWqdt0lZ/dk7kHxqZKR7nJ2TcOmYK9\n"
- "UdJWnmebDgjlRvXS4CgG8JNzyJtukogSjmp7qsxX9QZ1umUw3Lf7StSdXZT1oIDI\n"
- "evLJCTohtE3/ocRlHfQ9l+B8V+8z7YE+0liFwjwUyrYVUpJ2YuPmHHfauTI2JyVX\n"
- "Kk9dJopvnkhA6rIvNjkd3N3iWE3ftSkk/PV9Iu7PQ2jtR8JXkPMJfgq0owbxhn5N\n"
- "oqQW/zQU7pq4Y9+rvH2qPFSxHGmecBhxetXoAPT66hHJCUTAspF/5DgT6TVMu+Gs\n"
- "hiRt+POJ1lVlGUHsF9Z7IE/d+NCESwU=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEAzCCAmugAwIBAgIMWNI1ISkCpEsFglgfMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
+ "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
+ "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
+ "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
+ "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
+ "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
+ "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
+ "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
+ "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
+ "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
+ "o2EwXzAMBgNVHRMBAf8EAjAAMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYEFDOd\n"
+ "4SfTi9X86wX8tceBaU9eO9nWMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
+ "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQCNwaCnuNcrSpKjNI99kwuS2/LRnt40yN0B\n"
+ "LvN4wnkfEh02LXg2ylXCYZZw59m3w7Cefr1BGLXJjbJTNHASjSOvmurJVEX5sqdX\n"
+ "zGQs9HzysDvTVHQh1VUWXyj612DUWZoAYYaUg+CiAZLA/ShT+zN/OC8kWa1RXZPt\n"
+ "BfTM7REBxAOxUEDuL1aa/KkFqXgy3cr795TWqdt0lZ/dk7kHxqZKR7nJ2TcOmYK9\n"
+ "UdJWnmebDgjlRvXS4CgG8JNzyJtukogSjmp7qsxX9QZ1umUw3Lf7StSdXZT1oIDI\n"
+ "evLJCTohtE3/ocRlHfQ9l+B8V+8z7YE+0liFwjwUyrYVUpJ2YuPmHHfauTI2JyVX\n"
+ "Kk9dJopvnkhA6rIvNjkd3N3iWE3ftSkk/PV9Iu7PQ2jtR8JXkPMJfgq0owbxhn5N\n"
+ "oqQW/zQU7pq4Y9+rvH2qPFSxHGmecBhxetXoAPT66hHJCUTAspF/5DgT6TVMu+Gs\n"
+ "hiRt+POJ1lVlGUHsF9Z7IE/d+NCESwU=\n"
+ "-----END CERTIFICATE-----\n";
static char server_ipaddr_ca3_cert_chain_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEAzCCAmugAwIBAgIMWNI1ISkCpEsFglgfMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
- "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
- "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
- "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
- "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
- "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
- "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
- "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
- "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
- "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
- "o2EwXzAMBgNVHRMBAf8EAjAAMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYEFDOd\n"
- "4SfTi9X86wX8tceBaU9eO9nWMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
- "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQCNwaCnuNcrSpKjNI99kwuS2/LRnt40yN0B\n"
- "LvN4wnkfEh02LXg2ylXCYZZw59m3w7Cefr1BGLXJjbJTNHASjSOvmurJVEX5sqdX\n"
- "zGQs9HzysDvTVHQh1VUWXyj612DUWZoAYYaUg+CiAZLA/ShT+zN/OC8kWa1RXZPt\n"
- "BfTM7REBxAOxUEDuL1aa/KkFqXgy3cr795TWqdt0lZ/dk7kHxqZKR7nJ2TcOmYK9\n"
- "UdJWnmebDgjlRvXS4CgG8JNzyJtukogSjmp7qsxX9QZ1umUw3Lf7StSdXZT1oIDI\n"
- "evLJCTohtE3/ocRlHfQ9l+B8V+8z7YE+0liFwjwUyrYVUpJ2YuPmHHfauTI2JyVX\n"
- "Kk9dJopvnkhA6rIvNjkd3N3iWE3ftSkk/PV9Iu7PQ2jtR8JXkPMJfgq0owbxhn5N\n"
- "oqQW/zQU7pq4Y9+rvH2qPFSxHGmecBhxetXoAPT66hHJCUTAspF/5DgT6TVMu+Gs\n"
- "hiRt+POJ1lVlGUHsF9Z7IE/d+NCESwU=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
- "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
- "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
- "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
- "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
- "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
- "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
- "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
- "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
- "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
- "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
- "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
- "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
- "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
- "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
- "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
- "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
- "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
- "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
- "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
- "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_ipaddr_cert =
- { (unsigned char *)server_ipaddr_ca3_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEAzCCAmugAwIBAgIMWNI1ISkCpEsFglgfMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
+ "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
+ "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
+ "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
+ "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
+ "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
+ "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
+ "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
+ "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
+ "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
+ "o2EwXzAMBgNVHRMBAf8EAjAAMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYEFDOd\n"
+ "4SfTi9X86wX8tceBaU9eO9nWMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
+ "8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQCNwaCnuNcrSpKjNI99kwuS2/LRnt40yN0B\n"
+ "LvN4wnkfEh02LXg2ylXCYZZw59m3w7Cefr1BGLXJjbJTNHASjSOvmurJVEX5sqdX\n"
+ "zGQs9HzysDvTVHQh1VUWXyj612DUWZoAYYaUg+CiAZLA/ShT+zN/OC8kWa1RXZPt\n"
+ "BfTM7REBxAOxUEDuL1aa/KkFqXgy3cr795TWqdt0lZ/dk7kHxqZKR7nJ2TcOmYK9\n"
+ "UdJWnmebDgjlRvXS4CgG8JNzyJtukogSjmp7qsxX9QZ1umUw3Lf7StSdXZT1oIDI\n"
+ "evLJCTohtE3/ocRlHfQ9l+B8V+8z7YE+0liFwjwUyrYVUpJ2YuPmHHfauTI2JyVX\n"
+ "Kk9dJopvnkhA6rIvNjkd3N3iWE3ftSkk/PV9Iu7PQ2jtR8JXkPMJfgq0owbxhn5N\n"
+ "oqQW/zQU7pq4Y9+rvH2qPFSxHGmecBhxetXoAPT66hHJCUTAspF/5DgT6TVMu+Gs\n"
+ "hiRt+POJ1lVlGUHsF9Z7IE/d+NCESwU=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
+ "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
+ "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
+ "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
+ "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
+ "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
+ "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
+ "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
+ "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
+ "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
+ "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
+ "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
+ "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
+ "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
+ "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
+ "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
+ "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
+ "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
+ "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
+ "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
+ "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_ipaddr_cert = {
+ (unsigned char *)server_ipaddr_ca3_cert_pem,
sizeof(server_ipaddr_ca3_cert_pem) - 1
};
@@ -1359,274 +1369,278 @@ const gnutls_datum_t server_ca3_ipaddr_cert_chain = {
/* shares server_ca3 key - uses IDNA2003 encoding */
static char server_localhost_utf8_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIESDCCArCgAwIBAgIMWElUMBlK8XImg3gXMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
- "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
- "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
- "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
- "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
- "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
- "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
- "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
- "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
- "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
- "o4GlMIGiMAwGA1UdEwEB/wQCMAAwUgYDVR0RBEswSYITd3d3LnhuLS1reGF3aGt1\n"
- "LmNvbYIieG4tLWZpcXUxYXowM2MxOHQueG4tLW14YWgxYW1vLmNvbYIObG9jYWxo\n"
- "b3N0LXV0ZjgwHQYDVR0OBBYEFDOd4SfTi9X86wX8tceBaU9eO9nWMB8GA1UdIwQY\n"
- "MBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQBHHhTy\n"
- "X3AjFcrDa27yN5lnfZfrJ1QGdjoxbcGlWuwI5+EsRInxZSvXQVyh+P9YTphdqAMj\n"
- "YsGCrzqD6+2SkBhrd7/KbmGZF3zFpqe9IcqS2m2u3Z0q4oNjhai86PIRlTSl+Dm/\n"
- "V0T98Fsx/Ec/T509E+HCSYhZgX1A1wCw0jrPJ4UcT9S0jwmP3q8KIXrVAC88tmX3\n"
- "eeVOoVI+lccju++fDaSQJFtZ8PVo8Yd8XDb/xu9ijRQNVom+1x70YvRo6jaSsX4k\n"
- "Y5gM1w3xTObKvo0YI/ot29DE0gE5xPYuiJOzooTNMBSklsB4sXS3Ehwpp+zuUAHQ\n"
- "h9I3os365QeRyB1IaWbO/7WK/zKPFbc3cyQLg8iGGeecH26CJ7vRlxDkvNvhscuh\n"
- "6Z3YK5DJdisRx5W3fW+JapAjsTXpYd/Aj4xMFoNXqvU3WaejB1TfQqxgBHw9Tapy\n"
- "PexWtASNmu1xcO13LdgN4Oa1OL4P4U9TQVwoCpkjlDSVNLqBC0N5kPmGkOY=\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_localhost_utf8_cert =
- { (unsigned char *)server_localhost_utf8_ca3_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIESDCCArCgAwIBAgIMWElUMBlK8XImg3gXMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
+ "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
+ "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
+ "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
+ "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
+ "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
+ "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
+ "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
+ "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
+ "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
+ "o4GlMIGiMAwGA1UdEwEB/wQCMAAwUgYDVR0RBEswSYITd3d3LnhuLS1reGF3aGt1\n"
+ "LmNvbYIieG4tLWZpcXUxYXowM2MxOHQueG4tLW14YWgxYW1vLmNvbYIObG9jYWxo\n"
+ "b3N0LXV0ZjgwHQYDVR0OBBYEFDOd4SfTi9X86wX8tceBaU9eO9nWMB8GA1UdIwQY\n"
+ "MBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQBHHhTy\n"
+ "X3AjFcrDa27yN5lnfZfrJ1QGdjoxbcGlWuwI5+EsRInxZSvXQVyh+P9YTphdqAMj\n"
+ "YsGCrzqD6+2SkBhrd7/KbmGZF3zFpqe9IcqS2m2u3Z0q4oNjhai86PIRlTSl+Dm/\n"
+ "V0T98Fsx/Ec/T509E+HCSYhZgX1A1wCw0jrPJ4UcT9S0jwmP3q8KIXrVAC88tmX3\n"
+ "eeVOoVI+lccju++fDaSQJFtZ8PVo8Yd8XDb/xu9ijRQNVom+1x70YvRo6jaSsX4k\n"
+ "Y5gM1w3xTObKvo0YI/ot29DE0gE5xPYuiJOzooTNMBSklsB4sXS3Ehwpp+zuUAHQ\n"
+ "h9I3os365QeRyB1IaWbO/7WK/zKPFbc3cyQLg8iGGeecH26CJ7vRlxDkvNvhscuh\n"
+ "6Z3YK5DJdisRx5W3fW+JapAjsTXpYd/Aj4xMFoNXqvU3WaejB1TfQqxgBHw9Tapy\n"
+ "PexWtASNmu1xcO13LdgN4Oa1OL4P4U9TQVwoCpkjlDSVNLqBC0N5kPmGkOY=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_localhost_utf8_cert = {
+ (unsigned char *)server_localhost_utf8_ca3_cert_pem,
sizeof(server_localhost_utf8_ca3_cert_pem) - 1
};
/* shared the server_ca3 key, uses raw UTF8 on DnsName */
static char server_localhost_inv_utf8_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEQDCCAqigAwIBAgIMV9ZyrTt30lJ2pYe6MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
- "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
- "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
- "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
- "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
- "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
- "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
- "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
- "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
- "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
- "o4GdMIGaMAwGA1UdEwEB/wQCMAAwSgYDVR0RBEMwQYISd3d3Ls69zq/Ous6/z4Iu\n"
- "Y29tghvnroDkvZPkuK3mlocuzrXOvs+Ez4HOsS5jb22CDmxvY2FsaG9zdC11dGY4\n"
- "MB0GA1UdDgQWBBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBT5qIYZ\n"
- "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAkUgmFO2bdws049Nz\n"
- "w55UaF7XxG8ER7kKzLCWgw8tuYjcIDKQ+/gD0hUuKBxCbuISdT32gfZTf+ZNKtEg\n"
- "7f9Lhr935ZoDCvyYnal1ploqAOu0ZDEXz+cU+OzreJ58J95LYX2we1lPqCYz0qo0\n"
- "6FeWrP6H6+azis2ee5XN+b20l/nRl3bNGZDnkl6+b3wPR6rIFaILcEZDl15SMgiW\n"
- "PlzJ0s97szWAO2ywLvNPdB66ugOvJY34ivTQOkCDi9css5faN1LcwmqDAeAq4DZt\n"
- "mZ8/504D1AUD9szneb2UgD9ZnPr4r45+qzE3lCtvmFGEddJ3c9zQVjnqEKljgG6S\n"
- "FdlAVVfxbwoAc24kN6UUEpLiabFoL071pZt1WoHOFA68yBxnC6CO/3vfVSF9Ftg3\n"
- "oUPldkvMs8+33YhojDKYXP5USoES2OPdofmq8LnTZj7c6ex+SvlRdOgHg4pd9lX2\n"
- "Efwe6rFJaNbKv9C9tWpPIPHRk/YkUIe29VUQR2m7UUpToBca\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_localhost_inv_utf8_cert =
- { (unsigned char *)server_localhost_inv_utf8_ca3_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEQDCCAqigAwIBAgIMV9ZyrTt30lJ2pYe6MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwHhcNMDQwMjI5MTUyMTQyWhcNMjQwMjI5MTUyMTQxWjANMQsw\n"
+ "CQYDVQQGEwJHUjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmq\n"
+ "LPfAu7P4Hhmcm4KmEsRfuTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+S\n"
+ "HFiIlEJfvCociQkrgSfloTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU0\n"
+ "3LdpuR9TbvS2fMVjmaRjBiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4z\n"
+ "ETxnMYOFbZpArkizpBi/RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyE\n"
+ "VD1JsrlgccaizNUkiUi7Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWw\n"
+ "wuDlnsmI0pIb9/4RH0LMMlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSb\n"
+ "cCzHl25abi1xmbsV5ydomJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbh\n"
+ "Gfo7V9z2gIKdUCLRXoUszhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQAB\n"
+ "o4GdMIGaMAwGA1UdEwEB/wQCMAAwSgYDVR0RBEMwQYISd3d3Ls69zq/Ous6/z4Iu\n"
+ "Y29tghvnroDkvZPkuK3mlocuzrXOvs+Ez4HOsS5jb22CDmxvY2FsaG9zdC11dGY4\n"
+ "MB0GA1UdDgQWBBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBT5qIYZ\n"
+ "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAkUgmFO2bdws049Nz\n"
+ "w55UaF7XxG8ER7kKzLCWgw8tuYjcIDKQ+/gD0hUuKBxCbuISdT32gfZTf+ZNKtEg\n"
+ "7f9Lhr935ZoDCvyYnal1ploqAOu0ZDEXz+cU+OzreJ58J95LYX2we1lPqCYz0qo0\n"
+ "6FeWrP6H6+azis2ee5XN+b20l/nRl3bNGZDnkl6+b3wPR6rIFaILcEZDl15SMgiW\n"
+ "PlzJ0s97szWAO2ywLvNPdB66ugOvJY34ivTQOkCDi9css5faN1LcwmqDAeAq4DZt\n"
+ "mZ8/504D1AUD9szneb2UgD9ZnPr4r45+qzE3lCtvmFGEddJ3c9zQVjnqEKljgG6S\n"
+ "FdlAVVfxbwoAc24kN6UUEpLiabFoL071pZt1WoHOFA68yBxnC6CO/3vfVSF9Ftg3\n"
+ "oUPldkvMs8+33YhojDKYXP5USoES2OPdofmq8LnTZj7c6ex+SvlRdOgHg4pd9lX2\n"
+ "Efwe6rFJaNbKv9C9tWpPIPHRk/YkUIe29VUQR2m7UUpToBca\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_localhost_inv_utf8_cert = {
+ (unsigned char *)server_localhost_inv_utf8_ca3_cert_pem,
sizeof(server_localhost_inv_utf8_ca3_cert_pem) - 1
};
/* server_ca3_ecc_key */
static char server_localhost_ca3_ecc_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC8zCCAVugAwIBAgIIV+OO5zqFDkowDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNjA5MjIwNzU3MjhaGA85OTk5MTIzMTIzNTk1OVowHTEbMBkG\n"
- "A1UEAxMSc2VydmVyIGNlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD\n"
- "QgAEbUnlVnL48xM0lK6iDhHcqaFuYh6M5lmA823GQlwi5skgg7rySR0YrTimX9F6\n"
- "K9kDCJu/7zmWlPiyb/1EFWEtk6OBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQN\n"
- "MAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMD\n"
- "B4AAMB0GA1UdDgQWBBTaH7JGYwVXx31AqONpQsb3l20EqDAfBgNVHSMEGDAWgBT5\n"
- "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEATWsYCToPsxxU\n"
- "f1zJv3+FKcIGI+8U7akTlnJEk3l9/Gkmkp0tsudtpZb+//rXIem9XVMKDYBEzRxQ\n"
- "du3YleqR0Yj13S7piDHPl52PHJGvSHtLg4ooU74ZQcPFxoRxxNahYPb2Mhn0XqKh\n"
- "Yc7JHkW53UVusanRmBCQIxI6tVuDO3rB/tQM4ygD9wDeT16xnDhfwemKaskHKM44\n"
- "SMJJ9pY2zK1MvX5AZePTikMQqvc3aVfoE8Lv+4SGE/GyzvzaDOSzlwzNM6KBxerw\n"
- "1qwnVO/lphUG09X4oXXtOqlAHaIfUmRMqgMPZEtWMszIQo9XimPfoLW3xKVqDWjN\n"
- "EhHRLE0CCA/ip3lQ1bUt5EXhC1efPiOdEEYS5mHW7WAMAVi5aS1TzNLoJ4nahBwu\n"
- "EeGtmSH4rDZlHTNsiXwvxV3XqWc39TqlgY+NGToyU1tA4+tVtalJ08Q37sFxSUvJ\n"
- "Li9LPzU70EyX6WF+9FM45E4/Gt9Oh8btrYyjbyH/K2VI8qPRz5cW\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_localhost_ecc_cert =
- { (unsigned char *)server_localhost_ca3_ecc_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC8zCCAVugAwIBAgIIV+OO5zqFDkowDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNjA5MjIwNzU3MjhaGA85OTk5MTIzMTIzNTk1OVowHTEbMBkG\n"
+ "A1UEAxMSc2VydmVyIGNlcnRpZmljYXRlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD\n"
+ "QgAEbUnlVnL48xM0lK6iDhHcqaFuYh6M5lmA823GQlwi5skgg7rySR0YrTimX9F6\n"
+ "K9kDCJu/7zmWlPiyb/1EFWEtk6OBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQN\n"
+ "MAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMD\n"
+ "B4AAMB0GA1UdDgQWBBTaH7JGYwVXx31AqONpQsb3l20EqDAfBgNVHSMEGDAWgBT5\n"
+ "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEATWsYCToPsxxU\n"
+ "f1zJv3+FKcIGI+8U7akTlnJEk3l9/Gkmkp0tsudtpZb+//rXIem9XVMKDYBEzRxQ\n"
+ "du3YleqR0Yj13S7piDHPl52PHJGvSHtLg4ooU74ZQcPFxoRxxNahYPb2Mhn0XqKh\n"
+ "Yc7JHkW53UVusanRmBCQIxI6tVuDO3rB/tQM4ygD9wDeT16xnDhfwemKaskHKM44\n"
+ "SMJJ9pY2zK1MvX5AZePTikMQqvc3aVfoE8Lv+4SGE/GyzvzaDOSzlwzNM6KBxerw\n"
+ "1qwnVO/lphUG09X4oXXtOqlAHaIfUmRMqgMPZEtWMszIQo9XimPfoLW3xKVqDWjN\n"
+ "EhHRLE0CCA/ip3lQ1bUt5EXhC1efPiOdEEYS5mHW7WAMAVi5aS1TzNLoJ4nahBwu\n"
+ "EeGtmSH4rDZlHTNsiXwvxV3XqWc39TqlgY+NGToyU1tA4+tVtalJ08Q37sFxSUvJ\n"
+ "Li9LPzU70EyX6WF+9FM45E4/Gt9Oh8btrYyjbyH/K2VI8qPRz5cW\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_localhost_ecc_cert = {
+ (unsigned char *)server_localhost_ca3_ecc_cert_pem,
sizeof(server_localhost_ca3_ecc_cert_pem) - 1
};
/* shares server_ca3 key */
static char server_localhost_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEKDCCApCgAwIBAgIMV6MdMjbIDKHKsL32MA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
- "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTE4WhgPOTk5OTEyMzEyMzU5NTla\n"
- "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
- "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
- "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
- "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
- "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
- "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
- "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
- "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
- "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBjTCBijAM\n"
- "BgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggr\n"
- "BgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQzneEn04vV/OsF/LXH\n"
- "gWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG\n"
- "9w0BAQsFAAOCAYEASbEdRkK44GUb0Y+80JdYGFV1YuHUAq4QYSwCdrT0hwJrFYI2\n"
- "s8+9/ncyzeyY00ryg6tPlKyE5B7ss29l8zcj0WJYsUk5kjV6uCWuo9/rqqPHK6Lc\n"
- "Qx1cONR4Vt+gD5TX0nRNuKaHVbBJARZ3YOl2F3nApcR/8boq+WNKGhGkzFMaKV+i\n"
- "IDpB0ziBUcb+q257lQGKrBuXl5nCd+PZswB//pZCsIkTF5jFdjeXvOvGDjYAr8rG\n"
- "KpoMTskNcBqgi59sJc8djWMbNt+15qH4mSvTUW1caukeJAr4mwHfrSK5k9ezSSp1\n"
- "EpbQ2Rp3xpbCgklhtsKHSJZ43sghZvCOxk8G3bRZ1/lW6sXvIPmLkvoeetTLvqYq\n"
- "t/+gfv4NJuyZhzuJHbxrxBJ3C9QjqTbpiUumeRQHXLa+vZJUKX7ak1KVubKiOC+x\n"
- "wyfgmq6quk5jPgOgMJWLwpA2Rm30wqX4OehXov3stSXFb+qASNOHlEtQdgKzIEX/\n"
- "6TXY44pCGHMFO6Kr\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEKDCCApCgAwIBAgIMV6MdMjbIDKHKsL32MA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
+ "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTE4WhgPOTk5OTEyMzEyMzU5NTla\n"
+ "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
+ "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
+ "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
+ "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
+ "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
+ "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
+ "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
+ "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
+ "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBjTCBijAM\n"
+ "BgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggr\n"
+ "BgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQzneEn04vV/OsF/LXH\n"
+ "gWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG\n"
+ "9w0BAQsFAAOCAYEASbEdRkK44GUb0Y+80JdYGFV1YuHUAq4QYSwCdrT0hwJrFYI2\n"
+ "s8+9/ncyzeyY00ryg6tPlKyE5B7ss29l8zcj0WJYsUk5kjV6uCWuo9/rqqPHK6Lc\n"
+ "Qx1cONR4Vt+gD5TX0nRNuKaHVbBJARZ3YOl2F3nApcR/8boq+WNKGhGkzFMaKV+i\n"
+ "IDpB0ziBUcb+q257lQGKrBuXl5nCd+PZswB//pZCsIkTF5jFdjeXvOvGDjYAr8rG\n"
+ "KpoMTskNcBqgi59sJc8djWMbNt+15qH4mSvTUW1caukeJAr4mwHfrSK5k9ezSSp1\n"
+ "EpbQ2Rp3xpbCgklhtsKHSJZ43sghZvCOxk8G3bRZ1/lW6sXvIPmLkvoeetTLvqYq\n"
+ "t/+gfv4NJuyZhzuJHbxrxBJ3C9QjqTbpiUumeRQHXLa+vZJUKX7ak1KVubKiOC+x\n"
+ "wyfgmq6quk5jPgOgMJWLwpA2Rm30wqX4OehXov3stSXFb+qASNOHlEtQdgKzIEX/\n"
+ "6TXY44pCGHMFO6Kr\n"
+ "-----END CERTIFICATE-----\n";
/* shares server_ca3 key with tlsfeature=5 */
static char server_ca3_tlsfeat_cert_pem[] =
- "-----BEGIN CERTIFICATE-----"
- "MIIEOjCCAqKgAwIBAgIUYBRfAcvgBUU4jCb8W89sQcPLqswwDQYJKoZIhvcNAQEL"
- "BQAwDzENMAsGA1UEAxMEQ0EtMzAgFw0xOTA2MDcyMTA4NDFaGA85OTk5MTIzMTIz"
- "NTk1OVowIjEgMB4GA1UEAxMXR251VExTIHRlc3QgY2VydGlmaWNhdGUwggGiMA0G"
- "CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4ZnJuCphLEX7k1"
- "5NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wqHIkJK4En5aEz"
- "SDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270tnzFY5mkYwYg"
- "juN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2aQK5Is6QYv0WE"
- "LS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHGoszVJIlIuxm5"
- "v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKSG/f+ER9CzDJX"
- "HgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4tcZm7FecnaJiT"
- "XD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCCnVAi0V6FLM4X"
- "aG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaN5MHcwEQYIKwYBBQUHARgE"
- "BTADAgEFMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MB0GA1Ud"
- "DgQWBBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBT5qIYZY7akFBNg"
- "dg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEASMVR+C1x3pBRSRaaIYbFTC0X"
- "VXc66iQWDfpTSokLIEN/UVZzLsQw5p1PntPqnRRudDnXS77rNQSZcc4NTFYrzSqW"
- "WwdhIXtl3igLg5HMxU80dsr3LfGkzJ1iDS1RR0EGSvFjOE9ZUK0IBdsUvINqpj+l"
- "6qxL36yfxamuELIxvgmecIMvLzbe7tUjRXneNvLGsLAJcq5QQmNMCWiyywtHbFa0"
- "zbpxKMJmHMk0SbgZHUuFaASlAqVez19rJdzqQcJiw/YrMbbj/b2me1duLQ64dqGL"
- "5gKTyDMhk5td53R5uPnr7F6+1u8zRzqA6mBvTfEk4wJ6YmvqdBfC47xT+Ksba6dX"
- "Ugz+So2iu0rQxaLEBTZJ/gTXJEUafxUN4wF1ZOnUyltoqLJymhQoceoSwjYobOal"
- "FUZEJgFNA7j8tR7J3MtFUaJqFosuPtxhF8/CCPukKV7bRokqh7zK+F21iaQOYvJn"
- "AfuOg2g0ZMurGyS/yg8mVsGjh4bho9zPOlhPtFNM" "-----END CERTIFICATE-----";
+ "-----BEGIN CERTIFICATE-----"
+ "MIIEOjCCAqKgAwIBAgIUYBRfAcvgBUU4jCb8W89sQcPLqswwDQYJKoZIhvcNAQEL"
+ "BQAwDzENMAsGA1UEAxMEQ0EtMzAgFw0xOTA2MDcyMTA4NDFaGA85OTk5MTIzMTIz"
+ "NTk1OVowIjEgMB4GA1UEAxMXR251VExTIHRlc3QgY2VydGlmaWNhdGUwggGiMA0G"
+ "CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4ZnJuCphLEX7k1"
+ "5NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wqHIkJK4En5aEz"
+ "SDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270tnzFY5mkYwYg"
+ "juN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2aQK5Is6QYv0WE"
+ "LS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHGoszVJIlIuxm5"
+ "v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKSG/f+ER9CzDJX"
+ "HgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4tcZm7FecnaJiT"
+ "XD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCCnVAi0V6FLM4X"
+ "aG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaN5MHcwEQYIKwYBBQUHARgE"
+ "BTADAgEFMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MB0GA1Ud"
+ "DgQWBBQzneEn04vV/OsF/LXHgWlPXjvZ1jAfBgNVHSMEGDAWgBT5qIYZY7akFBNg"
+ "dg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEASMVR+C1x3pBRSRaaIYbFTC0X"
+ "VXc66iQWDfpTSokLIEN/UVZzLsQw5p1PntPqnRRudDnXS77rNQSZcc4NTFYrzSqW"
+ "WwdhIXtl3igLg5HMxU80dsr3LfGkzJ1iDS1RR0EGSvFjOE9ZUK0IBdsUvINqpj+l"
+ "6qxL36yfxamuELIxvgmecIMvLzbe7tUjRXneNvLGsLAJcq5QQmNMCWiyywtHbFa0"
+ "zbpxKMJmHMk0SbgZHUuFaASlAqVez19rJdzqQcJiw/YrMbbj/b2me1duLQ64dqGL"
+ "5gKTyDMhk5td53R5uPnr7F6+1u8zRzqA6mBvTfEk4wJ6YmvqdBfC47xT+Ksba6dX"
+ "Ugz+So2iu0rQxaLEBTZJ/gTXJEUafxUN4wF1ZOnUyltoqLJymhQoceoSwjYobOal"
+ "FUZEJgFNA7j8tR7J3MtFUaJqFosuPtxhF8/CCPukKV7bRokqh7zK+F21iaQOYvJn"
+ "AfuOg2g0ZMurGyS/yg8mVsGjh4bho9zPOlhPtFNM"
+ "-----END CERTIFICATE-----";
/* Marked as decrypt-only */
static char server_localhost_ca3_rsa_decrypt_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEITCCAomgAwIBAgIIWU+IEie6JrYwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNzA2MjUwOTUzMjNaGA85OTk5MTIzMTIzNTk1OVowADCCAaIw\n"
- "DQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmqLPfAu7P4Hhmcm4KmEsRf\n"
- "uTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+SHFiIlEJfvCociQkrgSfl\n"
- "oTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU03LdpuR9TbvS2fMVjmaRj\n"
- "BiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4zETxnMYOFbZpArkizpBi/\n"
- "RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyEVD1JsrlgccaizNUkiUi7\n"
- "Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWwwuDlnsmI0pIb9/4RH0LM\n"
- "MlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSbcCzHl25abi1xmbsV5ydo\n"
- "mJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbhGfo7V9z2gIKdUCLRXoUs\n"
- "zhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQABo4GNMIGKMAwGA1UdEwEB\n"
- "/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMB\n"
- "MA8GA1UdDwEB/wQFAwMHIAAwHQYDVR0OBBYEFDOd4SfTi9X86wX8tceBaU9eO9nW\n"
- "MB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUA\n"
- "A4IBgQAaq4+vai/FwYQ2fAjOsHsVV0nR5Zq55tT8Fexrj2/e9gr+bMV4HVxETByy\n"
- "fLtMHGYv+8BENDaI2EOHTyKp5O2DNbITJSN7/ZIO4Rsk+N5m2FyF7DV/sAoxhN7R\n"
- "mDy/jDtZyeIqKLptOQZbkRv3lf+vtJL3eakpgh5T/j14kT0QjLyJEZB1D9jurUsV\n"
- "+fxYxQUpv4YInDeEk5aKfvZNdkEpbv56GYNc15mNiKryXoszdm+TKmHSVFH9wUj3\n"
- "KAXBsQdMmZbd0ZFAEi7QV42Pr2x9+PrSE26bE6K31r02/RcxFQdL9E/3O+85S8eN\n"
- "yOZoC/PIrm0mKIPn2NBGSKtCG8V1sTHHJyCwqQERp3pkaB7A9biCKExQN1d3Gsbe\n"
- "C0R9bYimdbkYM6o7qi7OiLRKpYFgdVYaYEG3DRBpB3R3+EAKk91809tc9ow5xzkx\n"
- "lWryqIzutm6rcClAnqeBIZEZIIvqZH8RcPBQEUajNCWRpBsbwF1xdWvIhP2R3y69\n"
- "5dOfcuY=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEITCCAomgAwIBAgIIWU+IEie6JrYwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNzA2MjUwOTUzMjNaGA85OTk5MTIzMTIzNTk1OVowADCCAaIw\n"
+ "DQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmqLPfAu7P4Hhmcm4KmEsRf\n"
+ "uTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+SHFiIlEJfvCociQkrgSfl\n"
+ "oTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU03LdpuR9TbvS2fMVjmaRj\n"
+ "BiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4zETxnMYOFbZpArkizpBi/\n"
+ "RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyEVD1JsrlgccaizNUkiUi7\n"
+ "Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWwwuDlnsmI0pIb9/4RH0LM\n"
+ "MlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSbcCzHl25abi1xmbsV5ydo\n"
+ "mJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbhGfo7V9z2gIKdUCLRXoUs\n"
+ "zhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQABo4GNMIGKMAwGA1UdEwEB\n"
+ "/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMB\n"
+ "MA8GA1UdDwEB/wQFAwMHIAAwHQYDVR0OBBYEFDOd4SfTi9X86wX8tceBaU9eO9nW\n"
+ "MB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUA\n"
+ "A4IBgQAaq4+vai/FwYQ2fAjOsHsVV0nR5Zq55tT8Fexrj2/e9gr+bMV4HVxETByy\n"
+ "fLtMHGYv+8BENDaI2EOHTyKp5O2DNbITJSN7/ZIO4Rsk+N5m2FyF7DV/sAoxhN7R\n"
+ "mDy/jDtZyeIqKLptOQZbkRv3lf+vtJL3eakpgh5T/j14kT0QjLyJEZB1D9jurUsV\n"
+ "+fxYxQUpv4YInDeEk5aKfvZNdkEpbv56GYNc15mNiKryXoszdm+TKmHSVFH9wUj3\n"
+ "KAXBsQdMmZbd0ZFAEi7QV42Pr2x9+PrSE26bE6K31r02/RcxFQdL9E/3O+85S8eN\n"
+ "yOZoC/PIrm0mKIPn2NBGSKtCG8V1sTHHJyCwqQERp3pkaB7A9biCKExQN1d3Gsbe\n"
+ "C0R9bYimdbkYM6o7qi7OiLRKpYFgdVYaYEG3DRBpB3R3+EAKk91809tc9ow5xzkx\n"
+ "lWryqIzutm6rcClAnqeBIZEZIIvqZH8RcPBQEUajNCWRpBsbwF1xdWvIhP2R3y69\n"
+ "5dOfcuY=\n"
+ "-----END CERTIFICATE-----\n";
/* Marked as sign-only */
static char server_localhost_ca3_rsa_sign_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEITCCAomgAwIBAgIIWU+LoyEYfBYwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNzA2MjUxMDA4MzZaGA85OTk5MTIzMTIzNTk1OVowADCCAaIw\n"
- "DQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmqLPfAu7P4Hhmcm4KmEsRf\n"
- "uTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+SHFiIlEJfvCociQkrgSfl\n"
- "oTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU03LdpuR9TbvS2fMVjmaRj\n"
- "BiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4zETxnMYOFbZpArkizpBi/\n"
- "RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyEVD1JsrlgccaizNUkiUi7\n"
- "Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWwwuDlnsmI0pIb9/4RH0LM\n"
- "MlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSbcCzHl25abi1xmbsV5ydo\n"
- "mJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbhGfo7V9z2gIKdUCLRXoUs\n"
- "zhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQABo4GNMIGKMAwGA1UdEwEB\n"
- "/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMB\n"
- "MA8GA1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFDOd4SfTi9X86wX8tceBaU9eO9nW\n"
- "MB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUA\n"
- "A4IBgQC1cJd/z1CQSyDfUd2uuNDTvA3WXWxNhqHMLitT1GJS6nUez+wCaWT9UfVy\n"
- "+56z/eMaVasZPQ8dOKYdPRuzL2l65DKUUaKFOyD+NGvOS08qKY+oVGN1Qbmaxbvt\n"
- "6rvzpW9UHn75zLDOUOMrGDkW5L36mMP8I0Y5AcNBrO5yFBvH8MAHr3zO2VvTSt6T\n"
- "ZHFrDlV/nL5E+swzrmF6MZXO1mupk/gtelYfRtigwSr51RY+Me3uaGNEQe30JLu6\n"
- "0gp6/otBns9qJjSgX9qWIj9iTHq4A2CiHZkb4j3+/TNNGB8dkBV+EvV8I4Bqdk33\n"
- "mz4hSjJBLqg2NYZ4TaztWFsgTvGOYncLGl5e4dIqB94ICEFIrWN32JzS61Mu5xlt\n"
- "qBh/JOUSdMe6csZrDIw//UhUgLj7KdFO5FhSW3DXEl9PZGWVR+LJ+T3HjomHf+Bb\n"
- "ATbBQk+9MkHTiDWxD4FbmPuSC/h4Vh+G1VkyrlClTLW6K/+0DmE2LPJvRV5udpux\n"
- "Ar7fYYU=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEITCCAomgAwIBAgIIWU+LoyEYfBYwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNzA2MjUxMDA4MzZaGA85OTk5MTIzMTIzNTk1OVowADCCAaIw\n"
+ "DQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANk9eJmqLPfAu7P4Hhmcm4KmEsRf\n"
+ "uTXk1ylqYvf715riBfJ94VIdtJqKE9q4FRwMxVsv/B+SHFiIlEJfvCociQkrgSfl\n"
+ "oTNIMNrqkj8IjmVJuJd00MZsUuHlvwa6+F/PLLyUOMU03LdpuR9TbvS2fMVjmaRj\n"
+ "BiCO439GA+qHRvwxxP7FR433Hg+5JdeYwLWve/vLgm4zETxnMYOFbZpArkizpBi/\n"
+ "RYQtLmFW8HwZ0/ldDBMnDgcfmL9gRLtMQ1XZEHLNFjyEVD1JsrlgccaizNUkiUi7\n"
+ "Gbm/w3YiDVxbq3u3cee5lsNhEMIREyISKAHPy8RlnIWwwuDlnsmI0pIb9/4RH0LM\n"
+ "MlceDEFy1X0QRzYqZFPU/0l4j/FlQ6X2UqWNz63ybRSbcCzHl25abi1xmbsV5ydo\n"
+ "mJNcP+0QbripMpa0O6gjv5f0yMd7mW9/aAglPcKgpbbhGfo7V9z2gIKdUCLRXoUs\n"
+ "zhdobnRf00LrrpFUQWReKHxMcDWAL2b00kysPQIDAQABo4GNMIGKMAwGA1UdEwEB\n"
+ "/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MBMGA1UdJQQMMAoGCCsGAQUFBwMB\n"
+ "MA8GA1UdDwEB/wQFAwMHgAAwHQYDVR0OBBYEFDOd4SfTi9X86wX8tceBaU9eO9nW\n"
+ "MB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUA\n"
+ "A4IBgQC1cJd/z1CQSyDfUd2uuNDTvA3WXWxNhqHMLitT1GJS6nUez+wCaWT9UfVy\n"
+ "+56z/eMaVasZPQ8dOKYdPRuzL2l65DKUUaKFOyD+NGvOS08qKY+oVGN1Qbmaxbvt\n"
+ "6rvzpW9UHn75zLDOUOMrGDkW5L36mMP8I0Y5AcNBrO5yFBvH8MAHr3zO2VvTSt6T\n"
+ "ZHFrDlV/nL5E+swzrmF6MZXO1mupk/gtelYfRtigwSr51RY+Me3uaGNEQe30JLu6\n"
+ "0gp6/otBns9qJjSgX9qWIj9iTHq4A2CiHZkb4j3+/TNNGB8dkBV+EvV8I4Bqdk33\n"
+ "mz4hSjJBLqg2NYZ4TaztWFsgTvGOYncLGl5e4dIqB94ICEFIrWN32JzS61Mu5xlt\n"
+ "qBh/JOUSdMe6csZrDIw//UhUgLj7KdFO5FhSW3DXEl9PZGWVR+LJ+T3HjomHf+Bb\n"
+ "ATbBQk+9MkHTiDWxD4FbmPuSC/h4Vh+G1VkyrlClTLW6K/+0DmE2LPJvRV5udpux\n"
+ "Ar7fYYU=\n"
+ "-----END CERTIFICATE-----\n";
static char server_localhost_ca3_cert_chain_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEKDCCApCgAwIBAgIMV6MdMjbIDKHKsL32MA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
- "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTE4WhgPOTk5OTEyMzEyMzU5NTla\n"
- "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
- "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
- "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
- "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
- "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
- "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
- "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
- "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
- "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBjTCBijAM\n"
- "BgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggr\n"
- "BgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQzneEn04vV/OsF/LXH\n"
- "gWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG\n"
- "9w0BAQsFAAOCAYEASbEdRkK44GUb0Y+80JdYGFV1YuHUAq4QYSwCdrT0hwJrFYI2\n"
- "s8+9/ncyzeyY00ryg6tPlKyE5B7ss29l8zcj0WJYsUk5kjV6uCWuo9/rqqPHK6Lc\n"
- "Qx1cONR4Vt+gD5TX0nRNuKaHVbBJARZ3YOl2F3nApcR/8boq+WNKGhGkzFMaKV+i\n"
- "IDpB0ziBUcb+q257lQGKrBuXl5nCd+PZswB//pZCsIkTF5jFdjeXvOvGDjYAr8rG\n"
- "KpoMTskNcBqgi59sJc8djWMbNt+15qH4mSvTUW1caukeJAr4mwHfrSK5k9ezSSp1\n"
- "EpbQ2Rp3xpbCgklhtsKHSJZ43sghZvCOxk8G3bRZ1/lW6sXvIPmLkvoeetTLvqYq\n"
- "t/+gfv4NJuyZhzuJHbxrxBJ3C9QjqTbpiUumeRQHXLa+vZJUKX7ak1KVubKiOC+x\n"
- "wyfgmq6quk5jPgOgMJWLwpA2Rm30wqX4OehXov3stSXFb+qASNOHlEtQdgKzIEX/\n"
- "6TXY44pCGHMFO6Kr\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
- "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
- "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
- "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
- "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
- "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
- "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
- "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
- "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
- "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
- "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
- "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
- "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
- "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
- "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
- "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
- "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
- "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
- "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
- "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
- "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END CERTIFICATE-----\n";
-
-# define server_ca3_cert server_ca3_localhost_cert
-# define server_ca3_cert_chain server_ca3_localhost_cert_chain
-const gnutls_datum_t server_ca3_localhost_cert =
- { (unsigned char *)server_localhost_ca3_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEKDCCApCgAwIBAgIMV6MdMjbIDKHKsL32MA0GCSqGSIb3DQEBCwUAMBIxEDAO\n"
+ "BgNVBAMTB3N1YkNBLTMwIBcNMTYwNTEwMDg1MTE4WhgPOTk5OTEyMzEyMzU5NTla\n"
+ "MAAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZPXiZqiz3wLuz+B4Z\n"
+ "nJuCphLEX7k15NcpamL3+9ea4gXyfeFSHbSaihPauBUcDMVbL/wfkhxYiJRCX7wq\n"
+ "HIkJK4En5aEzSDDa6pI/CI5lSbiXdNDGbFLh5b8Guvhfzyy8lDjFNNy3abkfU270\n"
+ "tnzFY5mkYwYgjuN/RgPqh0b8McT+xUeN9x4PuSXXmMC1r3v7y4JuMxE8ZzGDhW2a\n"
+ "QK5Is6QYv0WELS5hVvB8GdP5XQwTJw4HH5i/YES7TENV2RByzRY8hFQ9SbK5YHHG\n"
+ "oszVJIlIuxm5v8N2Ig1cW6t7t3HnuZbDYRDCERMiEigBz8vEZZyFsMLg5Z7JiNKS\n"
+ "G/f+ER9CzDJXHgxBctV9EEc2KmRT1P9JeI/xZUOl9lKljc+t8m0Um3Asx5duWm4t\n"
+ "cZm7FecnaJiTXD/tEG64qTKWtDuoI7+X9MjHe5lvf2gIJT3CoKW24Rn6O1fc9oCC\n"
+ "nVAi0V6FLM4XaG50X9NC666RVEFkXih8THA1gC9m9NJMrD0CAwEAAaOBjTCBijAM\n"
+ "BgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggr\n"
+ "BgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQzneEn04vV/OsF/LXH\n"
+ "gWlPXjvZ1jAfBgNVHSMEGDAWgBQtMwQbJ3+UBHzH4zVP6SWklOG3oTANBgkqhkiG\n"
+ "9w0BAQsFAAOCAYEASbEdRkK44GUb0Y+80JdYGFV1YuHUAq4QYSwCdrT0hwJrFYI2\n"
+ "s8+9/ncyzeyY00ryg6tPlKyE5B7ss29l8zcj0WJYsUk5kjV6uCWuo9/rqqPHK6Lc\n"
+ "Qx1cONR4Vt+gD5TX0nRNuKaHVbBJARZ3YOl2F3nApcR/8boq+WNKGhGkzFMaKV+i\n"
+ "IDpB0ziBUcb+q257lQGKrBuXl5nCd+PZswB//pZCsIkTF5jFdjeXvOvGDjYAr8rG\n"
+ "KpoMTskNcBqgi59sJc8djWMbNt+15qH4mSvTUW1caukeJAr4mwHfrSK5k9ezSSp1\n"
+ "EpbQ2Rp3xpbCgklhtsKHSJZ43sghZvCOxk8G3bRZ1/lW6sXvIPmLkvoeetTLvqYq\n"
+ "t/+gfv4NJuyZhzuJHbxrxBJ3C9QjqTbpiUumeRQHXLa+vZJUKX7ak1KVubKiOC+x\n"
+ "wyfgmq6quk5jPgOgMJWLwpA2Rm30wqX4OehXov3stSXFb+qASNOHlEtQdgKzIEX/\n"
+ "6TXY44pCGHMFO6Kr\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5NTlaMBIx\n"
+ "EDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB\n"
+ "gQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2WLiope/x\n"
+ "NL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioVtvPQwEpv\n"
+ "uI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR5+wGsJDv\n"
+ "kfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJrP+GtLiG0\n"
+ "AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj0Sk3Rq93\n"
+ "JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1ROsdk4WU\n"
+ "ed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH4vysDO9U\n"
+ "ZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B48xfmyIF\n"
+ "jgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\n"
+ "A1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5qIYZY7ak\n"
+ "FBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58oDRy5a0o\n"
+ "PvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68kogjKs31\n"
+ "QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmTsQOdv/bz\n"
+ "R+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT45SGw7c7F\n"
+ "cumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2gaygWNiD\n"
+ "+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiujgUV0TZH\n"
+ "EyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c4FdrCByV\n"
+ "haeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1Y1MQ72Sn\n"
+ "frzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END CERTIFICATE-----\n";
+
+#define server_ca3_cert server_ca3_localhost_cert
+#define server_ca3_cert_chain server_ca3_localhost_cert_chain
+const gnutls_datum_t server_ca3_localhost_cert = {
+ (unsigned char *)server_localhost_ca3_cert_pem,
sizeof(server_localhost_ca3_cert_pem) - 1
};
-const gnutls_datum_t server_ca3_localhost_rsa_decrypt_cert =
- { (unsigned char *)server_localhost_ca3_rsa_decrypt_cert_pem,
+const gnutls_datum_t server_ca3_localhost_rsa_decrypt_cert = {
+ (unsigned char *)server_localhost_ca3_rsa_decrypt_cert_pem,
sizeof(server_localhost_ca3_rsa_decrypt_cert_pem) - 1
};
-const gnutls_datum_t server_ca3_localhost_rsa_sign_cert =
- { (unsigned char *)server_localhost_ca3_rsa_sign_cert_pem,
+const gnutls_datum_t server_ca3_localhost_rsa_sign_cert = {
+ (unsigned char *)server_localhost_ca3_rsa_sign_cert_pem,
sizeof(server_localhost_ca3_rsa_sign_cert_pem) - 1
};
-const gnutls_datum_t server_ca3_tlsfeat_cert =
- { (unsigned char *)server_ca3_tlsfeat_cert_pem,
+const gnutls_datum_t server_ca3_tlsfeat_cert = {
+ (unsigned char *)server_ca3_tlsfeat_cert_pem,
sizeof(server_ca3_tlsfeat_cert_pem) - 1
};
@@ -1637,192 +1651,193 @@ const gnutls_datum_t server_ca3_localhost_cert_chain = {
/* shares server_ca3 key */
static char server_localhost_insecure_ca3_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDFzCCAX+gAwIBAgIIV90eOyTzpOcwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNjA5MTcxMDQzMDhaGA85OTk5MTIzMTIzNTk1OVowHjEcMBoG\n"
- "A1UEAxMTSW5zZWN1cmUgKDc2OCBiaXRzKTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgC\n"
- "YQCuxKP0RG8KHAp7HnqaFpcWnPVl72vmkLvBgC0h3gnVUO3a41//kkLOG0HGUOi6\n"
- "77cLNOzRRll9NPi1RwMNTKayA0cv+pJBsoNq/byOeWKJkKOgwTZD6Vi6X3MDtj7e\n"
- "3SECAwEAAaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9z\n"
- "dDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQW\n"
- "BBS4eSAgXUnLYP8HfA9SmoXjOAYLoDAfBgNVHSMEGDAWgBT5qIYZY7akFBNgdg8B\n"
- "mjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAFa7J4+vJ7V+4y+CaaATD/WATc9ZV\n"
- "ZUITpI6irjWneRPz0u0/3BLprKoCbO0m5QjoBaji1wUbVWpJir+N7QS577ufjwh0\n"
- "ViGFn1b3eU0wGPgz8n0B0vo6NifaQl1Df5PBN3Mfa+r0aUK3QYxnlHsXxanYaKzj\n"
- "9lpXUq57fpJJFSFASSzGSwkg8xiwlFBre/9jJ8sf1Blhu8M50NkOCdRdwpg/rbMI\n"
- "Oukh0pvJQYQfQsgxc/hySWfEtN0TThXLRFMRRcFFeRHK2LXyAo/sNzWJMIou7hBQ\n"
- "p1LNlCoUc3TGRKMQToEi+GIgjJx17zADze+1hHHE3aEEVGU9n3Gkj+hxy46LN5ke\n"
- "hDox4AzBf4+KaA/vdHGRvZjzhajaMdL6w8FJgmUc26L+kH/rsTuev+PrvqXuuy1W\n"
- "c2QqW3gu7oUy+g99TQFeXgyJHqv/cu/M0vhUV9wwHQJdj1bFCEaFW40MmQArXz5D\n"
- "F92lL9akoGYmyehqQHeRQsrVRKcCOiv8lgVF\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_ca3_localhost_insecure_cert =
- { (unsigned char *)server_localhost_insecure_ca3_cert_pem,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFzCCAX+gAwIBAgIIV90eOyTzpOcwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNjA5MTcxMDQzMDhaGA85OTk5MTIzMTIzNTk1OVowHjEcMBoG\n"
+ "A1UEAxMTSW5zZWN1cmUgKDc2OCBiaXRzKTB8MA0GCSqGSIb3DQEBAQUAA2sAMGgC\n"
+ "YQCuxKP0RG8KHAp7HnqaFpcWnPVl72vmkLvBgC0h3gnVUO3a41//kkLOG0HGUOi6\n"
+ "77cLNOzRRll9NPi1RwMNTKayA0cv+pJBsoNq/byOeWKJkKOgwTZD6Vi6X3MDtj7e\n"
+ "3SECAwEAAaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9z\n"
+ "dDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQW\n"
+ "BBS4eSAgXUnLYP8HfA9SmoXjOAYLoDAfBgNVHSMEGDAWgBT5qIYZY7akFBNgdg8B\n"
+ "mjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAFa7J4+vJ7V+4y+CaaATD/WATc9ZV\n"
+ "ZUITpI6irjWneRPz0u0/3BLprKoCbO0m5QjoBaji1wUbVWpJir+N7QS577ufjwh0\n"
+ "ViGFn1b3eU0wGPgz8n0B0vo6NifaQl1Df5PBN3Mfa+r0aUK3QYxnlHsXxanYaKzj\n"
+ "9lpXUq57fpJJFSFASSzGSwkg8xiwlFBre/9jJ8sf1Blhu8M50NkOCdRdwpg/rbMI\n"
+ "Oukh0pvJQYQfQsgxc/hySWfEtN0TThXLRFMRRcFFeRHK2LXyAo/sNzWJMIou7hBQ\n"
+ "p1LNlCoUc3TGRKMQToEi+GIgjJx17zADze+1hHHE3aEEVGU9n3Gkj+hxy46LN5ke\n"
+ "hDox4AzBf4+KaA/vdHGRvZjzhajaMdL6w8FJgmUc26L+kH/rsTuev+PrvqXuuy1W\n"
+ "c2QqW3gu7oUy+g99TQFeXgyJHqv/cu/M0vhUV9wwHQJdj1bFCEaFW40MmQArXz5D\n"
+ "F92lL9akoGYmyehqQHeRQsrVRKcCOiv8lgVF\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_ca3_localhost_insecure_cert = {
+ (unsigned char *)server_localhost_insecure_ca3_cert_pem,
sizeof(server_localhost_insecure_ca3_cert_pem) - 1
};
static char server_ca3_localhost_insecure_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIBywIBAAJhAK7Eo/REbwocCnseepoWlxac9WXva+aQu8GALSHeCdVQ7drjX/+S\n"
- "Qs4bQcZQ6Lrvtws07NFGWX00+LVHAw1MprIDRy/6kkGyg2r9vI55YomQo6DBNkPp\n"
- "WLpfcwO2Pt7dIQIDAQABAmBd9Md0Dcpoc/TKhfNBnb1yYcWoHJQ0q0DVYXRiDb3Z\n"
- "mZ2WHMFCY75YkdzFoj/MKAyrl+n6SJy5V2gwqEEW84pHH2AaAseWsF16rSRz958b\n"
- "7seVpNi304tOk4PS7B6+RAUCMQDXiT23wggUir6uVrx0UfHJUcsRltK0qco6Q7o3\n"
- "b+uwrIAbaNNg+aAqAXXU5XWdBpcCMQDPlBKn42C/XkAZ11zflbzjrq22ie0gaLKZ\n"
- "j92rCaU0/qX4VR8KK6J9PL6ZLoTWqQcCMQCzazhoLmoBh5nBkMxh3BD08FSluLJ/\n"
- "19NS+ywZl95P/NjLeFB1qnbsYLjQ1443f9MCMDE/w3FbzC97MCAxbZKKl0c5wXNG\n"
- "pCEFViKC9KfI4Q6CwGP75iJmmeW2zM3RMKkxbwIxAIAViD0cQjNL9keUVjtN68pK\n"
- "dD2lxHfq5Q1QxCSjl8EnBnjnbFJN9WmK9ztkK00Avg==\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_ca3_localhost_insecure_key =
- { (unsigned char *)server_ca3_localhost_insecure_key_pem,
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIBywIBAAJhAK7Eo/REbwocCnseepoWlxac9WXva+aQu8GALSHeCdVQ7drjX/+S\n"
+ "Qs4bQcZQ6Lrvtws07NFGWX00+LVHAw1MprIDRy/6kkGyg2r9vI55YomQo6DBNkPp\n"
+ "WLpfcwO2Pt7dIQIDAQABAmBd9Md0Dcpoc/TKhfNBnb1yYcWoHJQ0q0DVYXRiDb3Z\n"
+ "mZ2WHMFCY75YkdzFoj/MKAyrl+n6SJy5V2gwqEEW84pHH2AaAseWsF16rSRz958b\n"
+ "7seVpNi304tOk4PS7B6+RAUCMQDXiT23wggUir6uVrx0UfHJUcsRltK0qco6Q7o3\n"
+ "b+uwrIAbaNNg+aAqAXXU5XWdBpcCMQDPlBKn42C/XkAZ11zflbzjrq22ie0gaLKZ\n"
+ "j92rCaU0/qX4VR8KK6J9PL6ZLoTWqQcCMQCzazhoLmoBh5nBkMxh3BD08FSluLJ/\n"
+ "19NS+ywZl95P/NjLeFB1qnbsYLjQ1443f9MCMDE/w3FbzC97MCAxbZKKl0c5wXNG\n"
+ "pCEFViKC9KfI4Q6CwGP75iJmmeW2zM3RMKkxbwIxAIAViD0cQjNL9keUVjtN68pK\n"
+ "dD2lxHfq5Q1QxCSjl8EnBnjnbFJN9WmK9ztkK00Avg==\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_ca3_localhost_insecure_key = {
+ (unsigned char *)server_ca3_localhost_insecure_key_pem,
sizeof(server_ca3_localhost_insecure_key_pem) - 1
};
static char unknown_ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIID4DCCAkigAwIBAgIIVyG62RARjncwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\n"
- "AxMKVW5rbm93biBDQTAgFw0xNjA0MjgwNzI1MTNaGA85OTk5MTIzMTIzNTk1OVow\n"
- "FTETMBEGA1UEAxMKVW5rbm93biBDQTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCC\n"
- "AYoCggGBALbdxniG+2wP/ONeZfvR7AJakVo5deFKIHVTiiBWwhg+HSjd4nfDa+vy\n"
- "Tt/wIdldP1PriD1Rigc8z68+RxPpGfAc197pKlKpO08I0L1RDKnjBWr4fGdCzE6u\n"
- "Z/ZsKVifoIZpdC8M2IYpAIMajEtnH53XZ1hTEviXTsneuiCTtap73OeSkL71SrIM\n"
- "kgBmAX17gfX3SxFjQUzOs6QMMOa3+8GW7RI+E/SyS1QkOO860dj9XYgOnTL20ibG\n"
- "cWF2XmTiQASI+KmHvYJCNJF/8pvmyJRyBHGZO830aBY0+DcS2bLKcyMiWfOJw7Wn\n"
- "paO7zSEC5WFgo4jdqroUBQdjQNCSSdrt1yYrAl1Sj2PMxYFX4H545Pr2sMpwC9An\n"
- "Pk9+uucT1Inj9615qbuXgFwhkgpK5pnPjzKaHp7ESlJj4/dIPTmhlt5BV+CLh7tS\n"
- "LzVLrddGU+os8JinT42radJ5V51Hn0C1CHIaFAuBCd5XRHXtrKb7WcnwCOxlcvux\n"
- "9h5/847F4wIDAQABozIwMDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBT5qIYZ\n"
- "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAsCXvBLMc1YvZGBbM\n"
- "w2YalL7Gyw7t5TIbOhpIhsoWNrE8JNvwfU+xA0/hxA/UkbwwJOjntXFZ9eRIrjHU\n"
- "ULhqDZ1fAd7QnUQWuQjImU8XxnPjwgLG/tau9N3jdzJZy482vpytX94KdIQ+hPtC\n"
- "xA3fikG5F4cJCfu2RfaTskqikTO5XPzPdSNJiPk01jjh9ICc7cvS9smGxfTuZZOb\n"
- "+T1N8SV8uYkvPsiQ4uvO+ksxEdZ/z1jCjLyhnLXPgKdrjIgOb5wPxZUgwrg1n5fM\n"
- "Un72D43cnv5ykB2O9lXvPOLXlBz07ZwaiRsXDhh1/kmubOLERaw88bVUydYhE7SU\n"
- "eI34cw1eTtlKgFD+r+pPwRAzAkO/aCXVY6CsSLL4GyeXXvpxgngBiT8ArnntLHWd\n"
- "U1rpodAAdMBHDZf7Q8CXawI0EAIq0HpHCj3x2brKSf8eFMtl9FuaJ3KvM3ioXKYc\n"
- "nva6xGbu1R8UP4+fXCOFdiVixHEQR5k+mqd65vGGxovALAfY\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID4DCCAkigAwIBAgIIVyG62RARjncwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE\n"
+ "AxMKVW5rbm93biBDQTAgFw0xNjA0MjgwNzI1MTNaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "FTETMBEGA1UEAxMKVW5rbm93biBDQTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCC\n"
+ "AYoCggGBALbdxniG+2wP/ONeZfvR7AJakVo5deFKIHVTiiBWwhg+HSjd4nfDa+vy\n"
+ "Tt/wIdldP1PriD1Rigc8z68+RxPpGfAc197pKlKpO08I0L1RDKnjBWr4fGdCzE6u\n"
+ "Z/ZsKVifoIZpdC8M2IYpAIMajEtnH53XZ1hTEviXTsneuiCTtap73OeSkL71SrIM\n"
+ "kgBmAX17gfX3SxFjQUzOs6QMMOa3+8GW7RI+E/SyS1QkOO860dj9XYgOnTL20ibG\n"
+ "cWF2XmTiQASI+KmHvYJCNJF/8pvmyJRyBHGZO830aBY0+DcS2bLKcyMiWfOJw7Wn\n"
+ "paO7zSEC5WFgo4jdqroUBQdjQNCSSdrt1yYrAl1Sj2PMxYFX4H545Pr2sMpwC9An\n"
+ "Pk9+uucT1Inj9615qbuXgFwhkgpK5pnPjzKaHp7ESlJj4/dIPTmhlt5BV+CLh7tS\n"
+ "LzVLrddGU+os8JinT42radJ5V51Hn0C1CHIaFAuBCd5XRHXtrKb7WcnwCOxlcvux\n"
+ "9h5/847F4wIDAQABozIwMDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBT5qIYZ\n"
+ "Y7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAsCXvBLMc1YvZGBbM\n"
+ "w2YalL7Gyw7t5TIbOhpIhsoWNrE8JNvwfU+xA0/hxA/UkbwwJOjntXFZ9eRIrjHU\n"
+ "ULhqDZ1fAd7QnUQWuQjImU8XxnPjwgLG/tau9N3jdzJZy482vpytX94KdIQ+hPtC\n"
+ "xA3fikG5F4cJCfu2RfaTskqikTO5XPzPdSNJiPk01jjh9ICc7cvS9smGxfTuZZOb\n"
+ "+T1N8SV8uYkvPsiQ4uvO+ksxEdZ/z1jCjLyhnLXPgKdrjIgOb5wPxZUgwrg1n5fM\n"
+ "Un72D43cnv5ykB2O9lXvPOLXlBz07ZwaiRsXDhh1/kmubOLERaw88bVUydYhE7SU\n"
+ "eI34cw1eTtlKgFD+r+pPwRAzAkO/aCXVY6CsSLL4GyeXXvpxgngBiT8ArnntLHWd\n"
+ "U1rpodAAdMBHDZf7Q8CXawI0EAIq0HpHCj3x2brKSf8eFMtl9FuaJ3KvM3ioXKYc\n"
+ "nva6xGbu1R8UP4+fXCOFdiVixHEQR5k+mqd65vGGxovALAfY\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t unknown_ca_cert = { (unsigned char *)unknown_ca_cert_pem,
- sizeof(unknown_ca_cert_pem) - 1
-};
+ sizeof(unknown_ca_cert_pem) - 1 };
static const char server_ca3_pkcs12_pem[] =
- "-----BEGIN PKCS12-----\n"
- "MIIRSgIBAzCCERAGCSqGSIb3DQEHAaCCEQEEghD9MIIQ+TCCCT8GCSqGSIb3DQEH\n"
- "BqCCCTAwggksAgEAMIIJJQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQI0Bv/\n"
- "MLNNeX0CAggAgIII+PugAg+ZArNedgnhMh2kM1tVj1os+8i0BPh9kQMT4h7qes6e\n"
- "Z6c+W4xCnL89p7Bz35riiK2KlJ6YzcTYXzONnmVR8gIEHsvYWwRSB++IE/jx9pCq\n"
- "TxN5GIH1tt467EKdc+Y+f4WBXmtk5hF4gTmHG2t3o4HoniNXzcRd+ZSsFj4HGE/c\n"
- "iXQY8lXN2PD1/XJsuwpYssKhJ+gI9iLREoyFdd+vG6KhzDvdgdvjWBQY/X5Q5pgF\n"
- "kepe9jjokbLqLj+S8eHBQ8KF9B2FKB+RTyYep9zqn5qbN7TOt3+yMH+u+/Jj/GzH\n"
- "ZjJNpee45G9CtPgjVS1t2fKjz9SaaKfOjHsH9WD5Sci9aqLRqFs84FlilRl6PyiG\n"
- "5g89MiXL5Iu6WFoTM41eIezcyQf0ndakj2clVEfX2pX+e1bXWFzvnc5a933N2loK\n"
- "OqJElti6h+T30M2CKEUX6FT5ihaowo5DwCXU3jTFcPMY0htvc4QuZQjBfyb/hGqf\n"
- "UqjLGh+VZCmNPSmSkoqZScl8N2Db/DPvIu+cga2jSkFtvMEZVd9O5lN53drU8ONE\n"
- "GMgdmJO43j/cnlICy+XpUyPrv055TXUo1gouyg5T1G/imtt0L265VTCxIqRVEsjR\n"
- "EQdacLCOPvMohukJAbUTADh/vd3vf/qMINse/y/fPMoLpmtmmZsnZnr1zmIcIXLg\n"
- "fLLBVhOz3Vl9RRl1qGbZQBleUUVAabYXbsK1UQHpZ7h2dSWF6ibm13DWRGkJRAVl\n"
- "R1dvpwAzR1bhb7rOgTMhmxqADCWh8lcqFt/4ReZofdHmWoxZEopW4m3CghZQM+Ee\n"
- "Kz4dYtLGk7W1rg8jnycAtxDwVGh9jMVsvCGypxkgEx+aQ7R+y9t0nu7l61GEnZBt\n"
- "uP2EVrChWdFVyH9+YnRRCNaX7lbDtCdOnIrgGeEtNYwzbxUq/kSzllljrkYWQItK\n"
- "W+vvMf9NVjTxyJr4kIXenm9ojPO3i485RWECIupdasel2YnPZYjcAKJc4p6nFGVB\n"
- "YDs/U32f1BVEXp7pPZOuuzU+ocTswSluwQ0NskuYnDT9w8+LauaqpILRQpCtIIZC\n"
- "TEqa7aS7S+f85Jeyt3yGsTNwUuQJZaG5D3Eh7iOB+rJaq3wEwoPlVLURVd8f6Z4H\n"
- "t1i0fM2iQA9+FXVkj2B5zr19no0Q8hr/Bb20u9YTT48CfXA7I2IwXSprb8kql0M8\n"
- "JmBv6FIDWzXLbGyRR39fX9kKlYMy0eq0ZxXKLLKEnZ1GUwtIeHTYKXG7ezliNaUl\n"
- "7UEp3V+bYOddL6uRafEsemdskHtl10RIi3Q3ZX2OksPueMQ5YSOVh4CSPpHsHYGA\n"
- "9KWt/PSja+zRGHsGEPX1jic2vHUTxOxI2sOZssnYCYWj/4MDk0xs7M0zdSXEEl5L\n"
- "97i5Qx+zv5MPM3yLexG+FllSD6nbPswzG8rHelfRSaK/+AHd0gigrUHqGFOp8B/P\n"
- "ml8obqs/LroKVzA109u3LfFlm+JFYeJgqsuoSuLYmJwFe6LNFkmhgGPwhyntqKEx\n"
- "zSxgZl91XrgYYuJwn7+CgQx6Dkv7I+SCfJGLBNeAp0Rr+hpYqk0OU9yHBrTLe8T+\n"
- "AQhHs4/ScZzRXu5F3dbjZ0PFwOYLo4t/NwUqkL8rCDtn45c1z5oyWhwk7nZMDCT3\n"
- "gIpVLf5XDD9f6eXV216oNIL1vxOw0B5GXXsT1KIKTCbBrNl920+GBu3xB44AN7Ik\n"
- "A+FhVKT1ZiaoEUKkUIy6I410GprvqDjRGp+Qs2Xitfk/E/3aoZ97cDBLEQOnF/lZ\n"
- "mqsczn9XnI+Jp+E8rhTxOMACR2Oa3XuL0+um7Qk+rkS2jcmJy9WniedO2E1EUHoj\n"
- "FRwWNjTQQR04Spv3qAc6IP1i8otUzKFkSx6SxH0a5zcm0ERNa6ZyU/jYvRrIGgZC\n"
- "kUxtTZbNNIggP3xqU+meRdRUeiOpqL8W3WCJ2FcjpR1FhXZ1sU1/u8pAgMMOhTBZ\n"
- "ICHmSjOGZ24kGgWNcLxYQG+qtIH7r6ihd9x/dv0s/Q9DAISv6G8z2YXcBb5EMZW4\n"
- "/59z0XL8HFx0/esjB9mHUD/4/Kzp169sJQOvDdmijNaZcDanUa8niBhruuS2KnUB\n"
- "iW2SrV6DBx32bjVIPbDJoDmcQWRDsuwpMqRAVtAWrmY5JeNp3zgII0Nr4rUAojWE\n"
- "x937fOdIMJu8K1Nst+78DVA4h6jdnUHv5bvOcsVKejjRvSot5vQ/XQPppHlQ73v6\n"
- "+Jro0bstYkMpfsbBXHt8tsB6nmZ9i5bv2x7P1nISKgMA4NzzdHFSpwFCmxrBaJen\n"
- "XmkoTdQId1O6YlYHJS7fMntNbi60E01bReAVjtY5Q77kqVab/LQI6yJHz01/1KjH\n"
- "2MiLixUV6a58FhKOI8Ea/yWSJti549Dqs+AMnwUu56GGT7lBLdT3x4r+SwThUWN2\n"
- "aCQoy6rJ5wrsa2OGoO6I5CWHzIov1zlP+oWdKueuGRGTwJdnWm9ZQxTbDJ3QHeBn\n"
- "OQXcWNcnQm2lcNfm297EGsClrrKTqmHBR8awpnnMdqzp0+vKiTzrfzGMVWQKoMM/\n"
- "74bzAts3+a+sBa5Y34YY+VLPqpXcVR9gY5+xxgYTzI7Ppggn5pNI+lng8B0hjFUU\n"
- "o2GNw8uKDVbjWf+ewULWKcCgAaBXXCAOo291TrURABmyR6XnybZwsg9a4yh/kcyk\n"
- "aXYLsrmEhfW17ChcGE5LLMzHEeSCUgy+z3yiiP6tD0g/6RFt9Nt57bVndJFqMVcS\n"
- "78VdEtQEI11Ty2oeN/+e8XhkZeicvgqgdrDb5jmfGN/F1la0FBnXnJG1fG8qnMMv\n"
- "C8V/eRxYanKWr/UwpsC6r/pn+1iTOO3hByg9rWgGSALbgnUFvIfQiSccVoD/lkbh\n"
- "TZlsuxhdKXnimi22RO50+0L99TnECu0psQXBDvCzzHSwi3MjPcvrQSPb/ZPSPqd2\n"
- "ock7nRDXFn+E04XAOFEuF1Bb5SfEbWHLx0d7uCSieAF9YMBZWvETTOOnDgH3Pe93\n"
- "+46a0tp4IdWrZEdUcU+/UpwuKyMGCCAfwKMFCA6i/In/cJAcrpRQJGWVsBERMaVQ\n"
- "6Ke/ZwIwggeyBgkqhkiG9w0BBwGgggejBIIHnzCCB5swggeXBgsqhkiG9w0BDAoB\n"
- "AqCCBy4wggcqMBwGCiqGSIb3DQEMAQMwDgQIT0kvLiNCahwCAggABIIHCM453Rnc\n"
- "ggHPk7un7VHebwwtckSBn7qntGhILQfJ+0xoPHPMHMUoDQ7DRbkcyuqtP0+VoZKa\n"
- "yLb2WDpyir/f8cyhZdDSnlb/WK16UaBguYmw8ppN09Lsok9KKNJxdWaHz65kABAh\n"
- "pHAX6BpdVFv8dOiWuE/+v0TGsaPpvRvwAy1qNNlErcIgGFs2GCgdVadblKw0lR3p\n"
- "t/6lhTRF4xqaPtUx4am2cQlmJyUCxy/XSetSFYaKIUdP5pEbesmYs5SuosCwokkB\n"
- "q3fzstm94dIzjoPz/XJp2Ek5lpmoHUO0SOGfSDdmMuCPoICQN+xcR0oD6Kso5MrS\n"
- "PepHrrG6KqX9fIR2Y2stEJsuaRYA/1h5CEnHnOWEbr2DBbuXB3HY6a5CrwV3xSCK\n"
- "Ek0LcWe6c/+ceBcpIUjte8oaM6jPO0WeknNtDQLz+YNnvIqiT/3u3P8pA6DomJrw\n"
- "0NoTm/SNMaKPz5IIBBNIzjMXWopgJ9+/bktwbENA/lO5gQvxLGRuaAZpvQpEbmhB\n"
- "9W5ofFelsN/BF0zminlL8w8rFc8AKMKEBg85z/EqDkl02cUQa5XDKe3i0Td04xeZ\n"
- "KOzsVqBm42rvCh2OgbNcbXBPqUTklRRKzzCgL/Ej645oTkzRfZxUmLaly5bkjyDm\n"
- "vXdLdp2doVQlXboCZDK5hmxkirviYPsrjNzAPd5Uz+4rVB5qrxYTsY+0Rtdpb+J0\n"
- "RqM2XFqJnA8ElIljsx7wugEEXt1wwey1JhS/+qybnDCP4f6OCaM5t8TTql2o6Eoh\n"
- "DntWfAiq8A8mP43HP3FrGyI/3cpgOEF67Q/nLJFnaf6vwfm15xdq20iOIDZtoGJ7\n"
- "VahRpOXNed2Xnv/HFwfPvGZM3lInEOEkC6vKWWDoOrE6kAu739X9lm+lLR0l1ihE\n"
- "X8gtilgYU5xzM0ZmRjepLn19jdb18nGEUg2pMNkhEakiDyxLmYBBU43IDRzdYgTe\n"
- "GJzakTDw/gNO6buVy+emr+IIW0f8hRSbXFHuw5/lpLZoXNCXuHRyEcGa4RhubrVe\n"
- "ycuauZYFSp0JhJe+0OtKkBUHSTkoj1aaOByylq8b38ovbFTZ/JiCsYGsmwOfDiSu\n"
- "21Fe1mv8+GtFf+t+H+IQBDv2/SHHWwVExW8hwYwXXZ8wodfpLrF7FWQvEa62/DvN\n"
- "nQ4sy+z3IJtoPoGBfKMgLSJaNyuavRpbhy1fYuhUwhnbrH1M3YVgi+CnW8lIn44e\n"
- "KoSPf11qTlgXBNVezXPYh6cw0FOObkiiuqSL7/ax34Lbz8vWs1yDs6ni9M7l8VUa\n"
- "j0MhBEQDTinzz2L7U/uRGkcHYVNsCAIOaStbKxNx2bnEmFL2TShs6eH1kPAyDJ9N\n"
- "SFuqmrboF92KNM1wKjIcthbJxPVJVlI1M0B8HVuU00QTIaJyJoQZuNQ6lyzTudwS\n"
- "5F69zmQCaRIN2b04m/237Z4/SXuUwFDdDojoFxJ6m1yA86uUigyOzKGavtZz4tgw\n"
- "BTCYcxaoCB2ebqNl3L4oE+gaAweAjtivNbAJswCkQF+LPEbAt8m2BZDo1bI4wAg+\n"
- "Mjzs83PkzE3bn6q6Rk8HslnOCS55M6gTPu2zvz/FSaLY29X/5D7QtKJPAw30xUA1\n"
- "Wjm3K0tkY/wqWntmJW9zVAaLzvW4iA61D9EuRoY/NChyF6HsLL8BjUEktNBItQ/h\n"
- "2kUQnrJeoaaW4nIZz/apiryaFekWWpjudO8zxhxHquK8KpwdXK4c6LCMycTio42J\n"
- "rw0/Tbe4noTfxPTJoaG9CaJXTq0rIMWxQprUONdjVih3cADI9V6/aO7/fSU+awFG\n"
- "0inoNW6HmAT9ztYsUgRJ+JfiZCc7+h8WY/rrDb15Jj0Jjl4pe2B3S57c5zJ7TgHd\n"
- "Zm8ED5uagqAcUIsBIlkNABAuia78tLewFFfCV5mYQUp3fHT6MU9EmPFI3YOuwvhk\n"
- "NhscLr0qGIdxK9fS190Al3W5VZiCZ3g6bTwRLkjVChNC6e8u2gxGy6Rx0uxW3c73\n"
- "/Spk4oYJ4PAT8GAgO4DJyRg52dFMBSBz4ZLAVR1eVVvPRbV7CSSaGLBLvAp/GFbz\n"
- "pZ7sfEeGuiSb0GzcdU7anf+xvmSK/rxHfQPjqZ5EcGG3xhONG/SYwUlrp4GlP6Qs\n"
- "ZlRSxsfy9YdIzmf3JhDvVtqK5Uj/wGXlX29NDh+X7mhvCOxCPM19AynXtGWgGFkb\n"
- "zd8oaGXbIt/FldsQidEx9UINjtmozl/pB03lFL8wbEF/wBuLx+E1Ite2NCspOJTk\n"
- "unw8CZJdUXmdVGo23iOrAziQFrlyPKawoX5iOYot47PQ6vcKiV2fnE5XHUqU2l6K\n"
- "DHZbSGfz8vjC9LsAJzhhyZvjxi0LIDwxyt+RqV24cxcz7Qecu4DEy0E/xmYIkdyZ\n"
- "SW97f3kIsAgQlku1LesNIk4dyzFWMCMGCSqGSIb3DQEJFTEWBBT9j7rrTvF9BQIR\n"
- "akEUSP09N/PaYzAvBgkqhkiG9w0BCRQxIh4gAHMAZQByAHYAZQByAC0AbABvAGMA\n"
- "YQBsAGgAbwBzAHQwMTAhMAkGBSsOAwIaBQAEFNeGPUIUl4cjhFet09N6VSCxmfSY\n"
- "BAjXfJCHoHZI2QICCAA=\n" "-----END PKCS12-----\n";
-
-const gnutls_datum_t server_ca3_pkcs12 =
- { (unsigned char *)server_ca3_pkcs12_pem,
+ "-----BEGIN PKCS12-----\n"
+ "MIIRSgIBAzCCERAGCSqGSIb3DQEHAaCCEQEEghD9MIIQ+TCCCT8GCSqGSIb3DQEH\n"
+ "BqCCCTAwggksAgEAMIIJJQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQI0Bv/\n"
+ "MLNNeX0CAggAgIII+PugAg+ZArNedgnhMh2kM1tVj1os+8i0BPh9kQMT4h7qes6e\n"
+ "Z6c+W4xCnL89p7Bz35riiK2KlJ6YzcTYXzONnmVR8gIEHsvYWwRSB++IE/jx9pCq\n"
+ "TxN5GIH1tt467EKdc+Y+f4WBXmtk5hF4gTmHG2t3o4HoniNXzcRd+ZSsFj4HGE/c\n"
+ "iXQY8lXN2PD1/XJsuwpYssKhJ+gI9iLREoyFdd+vG6KhzDvdgdvjWBQY/X5Q5pgF\n"
+ "kepe9jjokbLqLj+S8eHBQ8KF9B2FKB+RTyYep9zqn5qbN7TOt3+yMH+u+/Jj/GzH\n"
+ "ZjJNpee45G9CtPgjVS1t2fKjz9SaaKfOjHsH9WD5Sci9aqLRqFs84FlilRl6PyiG\n"
+ "5g89MiXL5Iu6WFoTM41eIezcyQf0ndakj2clVEfX2pX+e1bXWFzvnc5a933N2loK\n"
+ "OqJElti6h+T30M2CKEUX6FT5ihaowo5DwCXU3jTFcPMY0htvc4QuZQjBfyb/hGqf\n"
+ "UqjLGh+VZCmNPSmSkoqZScl8N2Db/DPvIu+cga2jSkFtvMEZVd9O5lN53drU8ONE\n"
+ "GMgdmJO43j/cnlICy+XpUyPrv055TXUo1gouyg5T1G/imtt0L265VTCxIqRVEsjR\n"
+ "EQdacLCOPvMohukJAbUTADh/vd3vf/qMINse/y/fPMoLpmtmmZsnZnr1zmIcIXLg\n"
+ "fLLBVhOz3Vl9RRl1qGbZQBleUUVAabYXbsK1UQHpZ7h2dSWF6ibm13DWRGkJRAVl\n"
+ "R1dvpwAzR1bhb7rOgTMhmxqADCWh8lcqFt/4ReZofdHmWoxZEopW4m3CghZQM+Ee\n"
+ "Kz4dYtLGk7W1rg8jnycAtxDwVGh9jMVsvCGypxkgEx+aQ7R+y9t0nu7l61GEnZBt\n"
+ "uP2EVrChWdFVyH9+YnRRCNaX7lbDtCdOnIrgGeEtNYwzbxUq/kSzllljrkYWQItK\n"
+ "W+vvMf9NVjTxyJr4kIXenm9ojPO3i485RWECIupdasel2YnPZYjcAKJc4p6nFGVB\n"
+ "YDs/U32f1BVEXp7pPZOuuzU+ocTswSluwQ0NskuYnDT9w8+LauaqpILRQpCtIIZC\n"
+ "TEqa7aS7S+f85Jeyt3yGsTNwUuQJZaG5D3Eh7iOB+rJaq3wEwoPlVLURVd8f6Z4H\n"
+ "t1i0fM2iQA9+FXVkj2B5zr19no0Q8hr/Bb20u9YTT48CfXA7I2IwXSprb8kql0M8\n"
+ "JmBv6FIDWzXLbGyRR39fX9kKlYMy0eq0ZxXKLLKEnZ1GUwtIeHTYKXG7ezliNaUl\n"
+ "7UEp3V+bYOddL6uRafEsemdskHtl10RIi3Q3ZX2OksPueMQ5YSOVh4CSPpHsHYGA\n"
+ "9KWt/PSja+zRGHsGEPX1jic2vHUTxOxI2sOZssnYCYWj/4MDk0xs7M0zdSXEEl5L\n"
+ "97i5Qx+zv5MPM3yLexG+FllSD6nbPswzG8rHelfRSaK/+AHd0gigrUHqGFOp8B/P\n"
+ "ml8obqs/LroKVzA109u3LfFlm+JFYeJgqsuoSuLYmJwFe6LNFkmhgGPwhyntqKEx\n"
+ "zSxgZl91XrgYYuJwn7+CgQx6Dkv7I+SCfJGLBNeAp0Rr+hpYqk0OU9yHBrTLe8T+\n"
+ "AQhHs4/ScZzRXu5F3dbjZ0PFwOYLo4t/NwUqkL8rCDtn45c1z5oyWhwk7nZMDCT3\n"
+ "gIpVLf5XDD9f6eXV216oNIL1vxOw0B5GXXsT1KIKTCbBrNl920+GBu3xB44AN7Ik\n"
+ "A+FhVKT1ZiaoEUKkUIy6I410GprvqDjRGp+Qs2Xitfk/E/3aoZ97cDBLEQOnF/lZ\n"
+ "mqsczn9XnI+Jp+E8rhTxOMACR2Oa3XuL0+um7Qk+rkS2jcmJy9WniedO2E1EUHoj\n"
+ "FRwWNjTQQR04Spv3qAc6IP1i8otUzKFkSx6SxH0a5zcm0ERNa6ZyU/jYvRrIGgZC\n"
+ "kUxtTZbNNIggP3xqU+meRdRUeiOpqL8W3WCJ2FcjpR1FhXZ1sU1/u8pAgMMOhTBZ\n"
+ "ICHmSjOGZ24kGgWNcLxYQG+qtIH7r6ihd9x/dv0s/Q9DAISv6G8z2YXcBb5EMZW4\n"
+ "/59z0XL8HFx0/esjB9mHUD/4/Kzp169sJQOvDdmijNaZcDanUa8niBhruuS2KnUB\n"
+ "iW2SrV6DBx32bjVIPbDJoDmcQWRDsuwpMqRAVtAWrmY5JeNp3zgII0Nr4rUAojWE\n"
+ "x937fOdIMJu8K1Nst+78DVA4h6jdnUHv5bvOcsVKejjRvSot5vQ/XQPppHlQ73v6\n"
+ "+Jro0bstYkMpfsbBXHt8tsB6nmZ9i5bv2x7P1nISKgMA4NzzdHFSpwFCmxrBaJen\n"
+ "XmkoTdQId1O6YlYHJS7fMntNbi60E01bReAVjtY5Q77kqVab/LQI6yJHz01/1KjH\n"
+ "2MiLixUV6a58FhKOI8Ea/yWSJti549Dqs+AMnwUu56GGT7lBLdT3x4r+SwThUWN2\n"
+ "aCQoy6rJ5wrsa2OGoO6I5CWHzIov1zlP+oWdKueuGRGTwJdnWm9ZQxTbDJ3QHeBn\n"
+ "OQXcWNcnQm2lcNfm297EGsClrrKTqmHBR8awpnnMdqzp0+vKiTzrfzGMVWQKoMM/\n"
+ "74bzAts3+a+sBa5Y34YY+VLPqpXcVR9gY5+xxgYTzI7Ppggn5pNI+lng8B0hjFUU\n"
+ "o2GNw8uKDVbjWf+ewULWKcCgAaBXXCAOo291TrURABmyR6XnybZwsg9a4yh/kcyk\n"
+ "aXYLsrmEhfW17ChcGE5LLMzHEeSCUgy+z3yiiP6tD0g/6RFt9Nt57bVndJFqMVcS\n"
+ "78VdEtQEI11Ty2oeN/+e8XhkZeicvgqgdrDb5jmfGN/F1la0FBnXnJG1fG8qnMMv\n"
+ "C8V/eRxYanKWr/UwpsC6r/pn+1iTOO3hByg9rWgGSALbgnUFvIfQiSccVoD/lkbh\n"
+ "TZlsuxhdKXnimi22RO50+0L99TnECu0psQXBDvCzzHSwi3MjPcvrQSPb/ZPSPqd2\n"
+ "ock7nRDXFn+E04XAOFEuF1Bb5SfEbWHLx0d7uCSieAF9YMBZWvETTOOnDgH3Pe93\n"
+ "+46a0tp4IdWrZEdUcU+/UpwuKyMGCCAfwKMFCA6i/In/cJAcrpRQJGWVsBERMaVQ\n"
+ "6Ke/ZwIwggeyBgkqhkiG9w0BBwGgggejBIIHnzCCB5swggeXBgsqhkiG9w0BDAoB\n"
+ "AqCCBy4wggcqMBwGCiqGSIb3DQEMAQMwDgQIT0kvLiNCahwCAggABIIHCM453Rnc\n"
+ "ggHPk7un7VHebwwtckSBn7qntGhILQfJ+0xoPHPMHMUoDQ7DRbkcyuqtP0+VoZKa\n"
+ "yLb2WDpyir/f8cyhZdDSnlb/WK16UaBguYmw8ppN09Lsok9KKNJxdWaHz65kABAh\n"
+ "pHAX6BpdVFv8dOiWuE/+v0TGsaPpvRvwAy1qNNlErcIgGFs2GCgdVadblKw0lR3p\n"
+ "t/6lhTRF4xqaPtUx4am2cQlmJyUCxy/XSetSFYaKIUdP5pEbesmYs5SuosCwokkB\n"
+ "q3fzstm94dIzjoPz/XJp2Ek5lpmoHUO0SOGfSDdmMuCPoICQN+xcR0oD6Kso5MrS\n"
+ "PepHrrG6KqX9fIR2Y2stEJsuaRYA/1h5CEnHnOWEbr2DBbuXB3HY6a5CrwV3xSCK\n"
+ "Ek0LcWe6c/+ceBcpIUjte8oaM6jPO0WeknNtDQLz+YNnvIqiT/3u3P8pA6DomJrw\n"
+ "0NoTm/SNMaKPz5IIBBNIzjMXWopgJ9+/bktwbENA/lO5gQvxLGRuaAZpvQpEbmhB\n"
+ "9W5ofFelsN/BF0zminlL8w8rFc8AKMKEBg85z/EqDkl02cUQa5XDKe3i0Td04xeZ\n"
+ "KOzsVqBm42rvCh2OgbNcbXBPqUTklRRKzzCgL/Ej645oTkzRfZxUmLaly5bkjyDm\n"
+ "vXdLdp2doVQlXboCZDK5hmxkirviYPsrjNzAPd5Uz+4rVB5qrxYTsY+0Rtdpb+J0\n"
+ "RqM2XFqJnA8ElIljsx7wugEEXt1wwey1JhS/+qybnDCP4f6OCaM5t8TTql2o6Eoh\n"
+ "DntWfAiq8A8mP43HP3FrGyI/3cpgOEF67Q/nLJFnaf6vwfm15xdq20iOIDZtoGJ7\n"
+ "VahRpOXNed2Xnv/HFwfPvGZM3lInEOEkC6vKWWDoOrE6kAu739X9lm+lLR0l1ihE\n"
+ "X8gtilgYU5xzM0ZmRjepLn19jdb18nGEUg2pMNkhEakiDyxLmYBBU43IDRzdYgTe\n"
+ "GJzakTDw/gNO6buVy+emr+IIW0f8hRSbXFHuw5/lpLZoXNCXuHRyEcGa4RhubrVe\n"
+ "ycuauZYFSp0JhJe+0OtKkBUHSTkoj1aaOByylq8b38ovbFTZ/JiCsYGsmwOfDiSu\n"
+ "21Fe1mv8+GtFf+t+H+IQBDv2/SHHWwVExW8hwYwXXZ8wodfpLrF7FWQvEa62/DvN\n"
+ "nQ4sy+z3IJtoPoGBfKMgLSJaNyuavRpbhy1fYuhUwhnbrH1M3YVgi+CnW8lIn44e\n"
+ "KoSPf11qTlgXBNVezXPYh6cw0FOObkiiuqSL7/ax34Lbz8vWs1yDs6ni9M7l8VUa\n"
+ "j0MhBEQDTinzz2L7U/uRGkcHYVNsCAIOaStbKxNx2bnEmFL2TShs6eH1kPAyDJ9N\n"
+ "SFuqmrboF92KNM1wKjIcthbJxPVJVlI1M0B8HVuU00QTIaJyJoQZuNQ6lyzTudwS\n"
+ "5F69zmQCaRIN2b04m/237Z4/SXuUwFDdDojoFxJ6m1yA86uUigyOzKGavtZz4tgw\n"
+ "BTCYcxaoCB2ebqNl3L4oE+gaAweAjtivNbAJswCkQF+LPEbAt8m2BZDo1bI4wAg+\n"
+ "Mjzs83PkzE3bn6q6Rk8HslnOCS55M6gTPu2zvz/FSaLY29X/5D7QtKJPAw30xUA1\n"
+ "Wjm3K0tkY/wqWntmJW9zVAaLzvW4iA61D9EuRoY/NChyF6HsLL8BjUEktNBItQ/h\n"
+ "2kUQnrJeoaaW4nIZz/apiryaFekWWpjudO8zxhxHquK8KpwdXK4c6LCMycTio42J\n"
+ "rw0/Tbe4noTfxPTJoaG9CaJXTq0rIMWxQprUONdjVih3cADI9V6/aO7/fSU+awFG\n"
+ "0inoNW6HmAT9ztYsUgRJ+JfiZCc7+h8WY/rrDb15Jj0Jjl4pe2B3S57c5zJ7TgHd\n"
+ "Zm8ED5uagqAcUIsBIlkNABAuia78tLewFFfCV5mYQUp3fHT6MU9EmPFI3YOuwvhk\n"
+ "NhscLr0qGIdxK9fS190Al3W5VZiCZ3g6bTwRLkjVChNC6e8u2gxGy6Rx0uxW3c73\n"
+ "/Spk4oYJ4PAT8GAgO4DJyRg52dFMBSBz4ZLAVR1eVVvPRbV7CSSaGLBLvAp/GFbz\n"
+ "pZ7sfEeGuiSb0GzcdU7anf+xvmSK/rxHfQPjqZ5EcGG3xhONG/SYwUlrp4GlP6Qs\n"
+ "ZlRSxsfy9YdIzmf3JhDvVtqK5Uj/wGXlX29NDh+X7mhvCOxCPM19AynXtGWgGFkb\n"
+ "zd8oaGXbIt/FldsQidEx9UINjtmozl/pB03lFL8wbEF/wBuLx+E1Ite2NCspOJTk\n"
+ "unw8CZJdUXmdVGo23iOrAziQFrlyPKawoX5iOYot47PQ6vcKiV2fnE5XHUqU2l6K\n"
+ "DHZbSGfz8vjC9LsAJzhhyZvjxi0LIDwxyt+RqV24cxcz7Qecu4DEy0E/xmYIkdyZ\n"
+ "SW97f3kIsAgQlku1LesNIk4dyzFWMCMGCSqGSIb3DQEJFTEWBBT9j7rrTvF9BQIR\n"
+ "akEUSP09N/PaYzAvBgkqhkiG9w0BCRQxIh4gAHMAZQByAHYAZQByAC0AbABvAGMA\n"
+ "YQBsAGgAbwBzAHQwMTAhMAkGBSsOAwIaBQAEFNeGPUIUl4cjhFet09N6VSCxmfSY\n"
+ "BAjXfJCHoHZI2QICCAA=\n"
+ "-----END PKCS12-----\n";
+
+const gnutls_datum_t server_ca3_pkcs12 = {
+ (unsigned char *)server_ca3_pkcs12_pem,
sizeof(server_ca3_pkcs12_pem) - 1
};
/* Raw public-key key material for testing */
static char rawpk_public_key_pem1[] =
- "-----BEGIN PUBLIC KEY-----\n"
- "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyAeBq7Ti7oVExeVT1PqH\n"
- "GBXzC+johdeVnZgZRLhDTIaIGODV5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarN\n"
- "H/+AcfV6ZJQSG4SSmhoIGzfdcdjuBmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim\n"
- "/LVL/M/1Rd6Urskv/5jXGG4FVUNfhXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdo\n"
- "h5oBuxdooaH9/kwphqJAp03LwtaSStX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8s\n"
- "ryHXkC8nsdA+h+IRd8bPa/KuWQNfjxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2Nh\n"
- "N4V0/7fwFLbZtfUBg4pqUl2ktkdwsNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X\n"
- "1qCVmfHzBZCM5OhxoeoauE+xu+5nvYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mE\n"
- "VKn9vsQeaVvw9D6PgNQM99HkbGhRMGPOzcHjS/ZeLd1zAgMBAAE=\n"
- "-----END PUBLIC KEY-----";
+ "-----BEGIN PUBLIC KEY-----\n"
+ "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyAeBq7Ti7oVExeVT1PqH\n"
+ "GBXzC+johdeVnZgZRLhDTIaIGODV5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarN\n"
+ "H/+AcfV6ZJQSG4SSmhoIGzfdcdjuBmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim\n"
+ "/LVL/M/1Rd6Urskv/5jXGG4FVUNfhXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdo\n"
+ "h5oBuxdooaH9/kwphqJAp03LwtaSStX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8s\n"
+ "ryHXkC8nsdA+h+IRd8bPa/KuWQNfjxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2Nh\n"
+ "N4V0/7fwFLbZtfUBg4pqUl2ktkdwsNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X\n"
+ "1qCVmfHzBZCM5OhxoeoauE+xu+5nvYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mE\n"
+ "VKn9vsQeaVvw9D6PgNQM99HkbGhRMGPOzcHjS/ZeLd1zAgMBAAE=\n"
+ "-----END PUBLIC KEY-----";
const gnutls_datum_t rawpk_public_key1 = {
(unsigned char *)rawpk_public_key_pem1,
@@ -1830,45 +1845,45 @@ const gnutls_datum_t rawpk_public_key1 = {
};
static char rawpk_private_key_pem1[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG4wIBAAKCAYEAyAeBq7Ti7oVExeVT1PqHGBXzC+johdeVnZgZRLhDTIaIGODV\n"
- "5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarNH/+AcfV6ZJQSG4SSmhoIGzfdcdju\n"
- "BmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim/LVL/M/1Rd6Urskv/5jXGG4FVUNf\n"
- "hXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdoh5oBuxdooaH9/kwphqJAp03LwtaS\n"
- "StX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8sryHXkC8nsdA+h+IRd8bPa/KuWQNf\n"
- "jxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2NhN4V0/7fwFLbZtfUBg4pqUl2ktkdw\n"
- "sNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X1qCVmfHzBZCM5OhxoeoauE+xu+5n\n"
- "vYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mEVKn9vsQeaVvw9D6PgNQM99HkbGhR\n"
- "MGPOzcHjS/ZeLd1zAgMBAAECggGBALHiAw3Yscqd11gJpbCMDqF7u4VG3alQ26un\n"
- "PClhl++w380H/Q62TriK1LKKpHgj8834NpXUsXg2d4jTTDcmCn6/L9GoFOzmxOeV\n"
- "0O2b4sOZvaNl397qrwLxDAPhec7z9yL4B4tcBqmJ3b3+izX6cS3gaC/uG9fDpgN9\n"
- "xOKPYBFInhOB86twAz9cc9eXysto0nJvlODDBj/xwUjvso9qydl1Or7PhWvf7Ek+\n"
- "H9ur5MUjqOWe/b/xaSWsfTrJzF/ovbRnGbXLIpozIx609TZS4wYSqU5FUjkL0zTB\n"
- "bTdb3jgFm/5SHnnThD67zbZavCxiN9wiTs3zeGlxYf8hMeaTkOYiAOR4/1bOTe2J\n"
- "ttRA1EcY+i6H0+JOtLkqwj5ka0m3lrH2KD3E/mHs1yfERQx7VVjw9IpeAKmi5lzQ\n"
- "v1lhIXiv75Mb0NMsCknGYPLHCyOY5aA2dhR8Wnr67gOYu3ssexLzMKczk5OTzl5c\n"
- "PRHJRXDpJqgOYWujF99uCYhnxonO4QKBwQDUQB0s4shWTyOylq7j4rCSbHf2zHDf\n"
- "HBYC75wyjQECNQXNk6hp5jJz2BC0XvnO7PYSRXaVauMc/S3V7V7GMsry3uugfwLy\n"
- "XNnyRVY4voe5SNt/WAArybNsPNPEIPzgkZmeWvcpoY8ESufPfVW54BvGHt3YjPjI\n"
- "gYmFUkpPRUWXfji91NpTlIrsP6jtBTYXGV4kVm+TawP06a6FdCjJQaI7Nm2dwUiX\n"
- "Cmf4oFSo8mGxi0wimX+BiLJep2bYnUF2gqMCgcEA8UKESDX3jBpyz59vpSjmfpw1\n"
- "AnlEfR6s83W92m0HfEYLulfxq9xA2zaQjy4GbaKVRfLrO2Pj3bZWs89RGXTQVGgq\n"
- "ztCLIRsL+M1SQ883e8yx4jwFaqIM+pPpvAjOOOTdpgY33h7w20tgrbzVKeOl1ghC\n"
- "IZ+K8C/tIGZXI5/TYppl7csIOoYRtzuRpyDE0tmwy658RfyxzEtfLxJoaLiFXOE0\n"
- "zFFrEvT/jto4jN+cwsdnHhxrY9+bVNUNyb9ZH7bxAoHARvcIyjEo+nKLZPKsltT8\n"
- "ZHiPw5ynQHGLin/CocQzSiGgRxPPg1jMFZ9wNl5q95ySyZkgBOUv+klMQfKTdYEW\n"
- "Cg4uigLtYUtaM36rTV2m03RgrzslE37k1pOf2juNUShdTGztpqW1w6Gnz+AAAZ3E\n"
- "q4E2e2jm5WMqL8FLxyVKF1TEc/Pu63MG3+aI/HZ5l0+MAmpD8+4b7I8VItmrqV6g\n"
- "d1vDWrN9KcL48E/q/nHL6CjC0+6uiwjBWpRt9o7djFoxAoHAJzK/e1wJVGIXtVQa\n"
- "N6Nlj7yhgD1ju1B4mTXQGuUMCkz3KtePFHU8tGExK5I2ySlZR3wobAXWx/cQLzbH\n"
- "3nL0RkKGcgPAFyjl0Q7LBulsAllHrZJC7whVQ4E0wLBNkUDeIlNwUE6Go5qjopbD\n"
- "q4KpNxUwaXYahNvEkzcNgWQ+XA7p8LDELX4K8tJi39ybHgbwiqdW2ags2xyD4ooD\n"
- "HMCeKnEMuwWfd/0GaJdcCMdsGNl9D49eg2OZQTc8fkLwoA6BAoHATQdk3VZwGGn/\n"
- "93p9vu189alkshTmir+SOo/ufH5U+j7t8cPeT7psuYAPZWS+Z6KEzvHxj54pAvcp\n"
- "mlAngD3+AfHDn/VAtYv5HVcpZ+K2K0X4v8N5HGIubgaebs2oVNz+RAWnd8K2drDG\n"
- "NcJV3C+zLziTCwvpGCIy3T/lHjKe+YczjGfhg2e6PgfwhTqPAjuhUZ8wScYo7l7V\n"
- "zAhlSL0665IXJ32zX+3LyQFDbkB6pbKy5TU+rX3DmDyj3MSbc3kR\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG4wIBAAKCAYEAyAeBq7Ti7oVExeVT1PqHGBXzC+johdeVnZgZRLhDTIaIGODV\n"
+ "5F5JhE4NNb1O/DYLlAy5IIO8tfAE2KIxlarNH/+AcfV6ZJQSG4SSmhoIGzfdcdju\n"
+ "BmFfdfhO+z/cgqiewh53/fFCQlaJweHhpmim/LVL/M/1Rd6Urskv/5jXGG4FVUNf\n"
+ "hXKQag0uzWsqcztCPX7Lrqr2BSOmkA1nWzdoh5oBuxdooaH9/kwphqJAp03LwtaS\n"
+ "StX/yz6Mh+ZqEbBuM4mWw/xKzbEbs7zA+d8sryHXkC8nsdA+h+IRd8bPa/KuWQNf\n"
+ "jxXKNPzgmsZddHmHtYtWvAcoIMvtyO23Y2NhN4V0/7fwFLbZtfUBg4pqUl2ktkdw\n"
+ "sNguTT1qzJCsYhsHXaqqvHy+5HR2D0w07y2X1qCVmfHzBZCM5OhxoeoauE+xu+5n\n"
+ "vYrgsgPE0y5Nty0y2MrApg3digaiKUXrI+mEVKn9vsQeaVvw9D6PgNQM99HkbGhR\n"
+ "MGPOzcHjS/ZeLd1zAgMBAAECggGBALHiAw3Yscqd11gJpbCMDqF7u4VG3alQ26un\n"
+ "PClhl++w380H/Q62TriK1LKKpHgj8834NpXUsXg2d4jTTDcmCn6/L9GoFOzmxOeV\n"
+ "0O2b4sOZvaNl397qrwLxDAPhec7z9yL4B4tcBqmJ3b3+izX6cS3gaC/uG9fDpgN9\n"
+ "xOKPYBFInhOB86twAz9cc9eXysto0nJvlODDBj/xwUjvso9qydl1Or7PhWvf7Ek+\n"
+ "H9ur5MUjqOWe/b/xaSWsfTrJzF/ovbRnGbXLIpozIx609TZS4wYSqU5FUjkL0zTB\n"
+ "bTdb3jgFm/5SHnnThD67zbZavCxiN9wiTs3zeGlxYf8hMeaTkOYiAOR4/1bOTe2J\n"
+ "ttRA1EcY+i6H0+JOtLkqwj5ka0m3lrH2KD3E/mHs1yfERQx7VVjw9IpeAKmi5lzQ\n"
+ "v1lhIXiv75Mb0NMsCknGYPLHCyOY5aA2dhR8Wnr67gOYu3ssexLzMKczk5OTzl5c\n"
+ "PRHJRXDpJqgOYWujF99uCYhnxonO4QKBwQDUQB0s4shWTyOylq7j4rCSbHf2zHDf\n"
+ "HBYC75wyjQECNQXNk6hp5jJz2BC0XvnO7PYSRXaVauMc/S3V7V7GMsry3uugfwLy\n"
+ "XNnyRVY4voe5SNt/WAArybNsPNPEIPzgkZmeWvcpoY8ESufPfVW54BvGHt3YjPjI\n"
+ "gYmFUkpPRUWXfji91NpTlIrsP6jtBTYXGV4kVm+TawP06a6FdCjJQaI7Nm2dwUiX\n"
+ "Cmf4oFSo8mGxi0wimX+BiLJep2bYnUF2gqMCgcEA8UKESDX3jBpyz59vpSjmfpw1\n"
+ "AnlEfR6s83W92m0HfEYLulfxq9xA2zaQjy4GbaKVRfLrO2Pj3bZWs89RGXTQVGgq\n"
+ "ztCLIRsL+M1SQ883e8yx4jwFaqIM+pPpvAjOOOTdpgY33h7w20tgrbzVKeOl1ghC\n"
+ "IZ+K8C/tIGZXI5/TYppl7csIOoYRtzuRpyDE0tmwy658RfyxzEtfLxJoaLiFXOE0\n"
+ "zFFrEvT/jto4jN+cwsdnHhxrY9+bVNUNyb9ZH7bxAoHARvcIyjEo+nKLZPKsltT8\n"
+ "ZHiPw5ynQHGLin/CocQzSiGgRxPPg1jMFZ9wNl5q95ySyZkgBOUv+klMQfKTdYEW\n"
+ "Cg4uigLtYUtaM36rTV2m03RgrzslE37k1pOf2juNUShdTGztpqW1w6Gnz+AAAZ3E\n"
+ "q4E2e2jm5WMqL8FLxyVKF1TEc/Pu63MG3+aI/HZ5l0+MAmpD8+4b7I8VItmrqV6g\n"
+ "d1vDWrN9KcL48E/q/nHL6CjC0+6uiwjBWpRt9o7djFoxAoHAJzK/e1wJVGIXtVQa\n"
+ "N6Nlj7yhgD1ju1B4mTXQGuUMCkz3KtePFHU8tGExK5I2ySlZR3wobAXWx/cQLzbH\n"
+ "3nL0RkKGcgPAFyjl0Q7LBulsAllHrZJC7whVQ4E0wLBNkUDeIlNwUE6Go5qjopbD\n"
+ "q4KpNxUwaXYahNvEkzcNgWQ+XA7p8LDELX4K8tJi39ybHgbwiqdW2ags2xyD4ooD\n"
+ "HMCeKnEMuwWfd/0GaJdcCMdsGNl9D49eg2OZQTc8fkLwoA6BAoHATQdk3VZwGGn/\n"
+ "93p9vu189alkshTmir+SOo/ufH5U+j7t8cPeT7psuYAPZWS+Z6KEzvHxj54pAvcp\n"
+ "mlAngD3+AfHDn/VAtYv5HVcpZ+K2K0X4v8N5HGIubgaebs2oVNz+RAWnd8K2drDG\n"
+ "NcJV3C+zLziTCwvpGCIy3T/lHjKe+YczjGfhg2e6PgfwhTqPAjuhUZ8wScYo7l7V\n"
+ "zAhlSL0665IXJ32zX+3LyQFDbkB6pbKy5TU+rX3DmDyj3MSbc3kR\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t rawpk_private_key1 = {
(unsigned char *)rawpk_private_key_pem1,
@@ -1876,17 +1891,17 @@ const gnutls_datum_t rawpk_private_key1 = {
};
const char rawpk_public_key_pem2[] =
- "-----BEGIN PUBLIC KEY-----\n"
- "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0tQAiQ13zWGZMV9YxFo2\n"
- "H15yERrkr8KD7z6QheVeatc2+5X0m5/+/o95nmnt6Mlwa27U78QwkHBccOaNkSi7\n"
- "HGMopaxatEsF/S30MDmhqOi9R2VtMwDaa2zWH/s2wPHn8efn2/zG0jeXCzNsXFs4\n"
- "zNApaZmTJCHaDRUE12adwP5i6GvUb978f27Cm0gnkSWBH9OdVnMunQkm/L16NI3E\n"
- "lvcDEEJbqhX2eswHenbhw//LiR1EKRtHEjWywAq5AeHeYNH+2zjff59SGD6Bn+W2\n"
- "vPKBhSWCyFDPGRfcYeCX2LFM7+Xx0j+GLzBnkjBhEgdsdLJ7Bt8aDToUJScLxeeP\n"
- "oOmL9e0bec20debwF0G/7QMlwRgDjV3sd3u+5RxRCeOh8Xqfbs/tij7tnU93orhc\n"
- "MzGjcn5XZ6WicyimuTruNznhKhNp6vmizCpwQAroimaZGV7F/8nvHInTZfpNH/+b\n"
- "++gYbddkH+MouxOXcAEUku6vN0JzDgA4qj4Tw7dffXSDAgMBAAE=\n"
- "-----END PUBLIC KEY-----\n";
+ "-----BEGIN PUBLIC KEY-----\n"
+ "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0tQAiQ13zWGZMV9YxFo2\n"
+ "H15yERrkr8KD7z6QheVeatc2+5X0m5/+/o95nmnt6Mlwa27U78QwkHBccOaNkSi7\n"
+ "HGMopaxatEsF/S30MDmhqOi9R2VtMwDaa2zWH/s2wPHn8efn2/zG0jeXCzNsXFs4\n"
+ "zNApaZmTJCHaDRUE12adwP5i6GvUb978f27Cm0gnkSWBH9OdVnMunQkm/L16NI3E\n"
+ "lvcDEEJbqhX2eswHenbhw//LiR1EKRtHEjWywAq5AeHeYNH+2zjff59SGD6Bn+W2\n"
+ "vPKBhSWCyFDPGRfcYeCX2LFM7+Xx0j+GLzBnkjBhEgdsdLJ7Bt8aDToUJScLxeeP\n"
+ "oOmL9e0bec20debwF0G/7QMlwRgDjV3sd3u+5RxRCeOh8Xqfbs/tij7tnU93orhc\n"
+ "MzGjcn5XZ6WicyimuTruNznhKhNp6vmizCpwQAroimaZGV7F/8nvHInTZfpNH/+b\n"
+ "++gYbddkH+MouxOXcAEUku6vN0JzDgA4qj4Tw7dffXSDAgMBAAE=\n"
+ "-----END PUBLIC KEY-----\n";
const gnutls_datum_t rawpk_public_key2 = {
(unsigned char *)rawpk_public_key_pem2,
@@ -1894,49 +1909,49 @@ const gnutls_datum_t rawpk_public_key2 = {
};
const char rawpk_private_key_pem2[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIG4wIBAAKCAYEA0tQAiQ13zWGZMV9YxFo2H15yERrkr8KD7z6QheVeatc2+5X0\n"
- "m5/+/o95nmnt6Mlwa27U78QwkHBccOaNkSi7HGMopaxatEsF/S30MDmhqOi9R2Vt\n"
- "MwDaa2zWH/s2wPHn8efn2/zG0jeXCzNsXFs4zNApaZmTJCHaDRUE12adwP5i6GvU\n"
- "b978f27Cm0gnkSWBH9OdVnMunQkm/L16NI3ElvcDEEJbqhX2eswHenbhw//LiR1E\n"
- "KRtHEjWywAq5AeHeYNH+2zjff59SGD6Bn+W2vPKBhSWCyFDPGRfcYeCX2LFM7+Xx\n"
- "0j+GLzBnkjBhEgdsdLJ7Bt8aDToUJScLxeePoOmL9e0bec20debwF0G/7QMlwRgD\n"
- "jV3sd3u+5RxRCeOh8Xqfbs/tij7tnU93orhcMzGjcn5XZ6WicyimuTruNznhKhNp\n"
- "6vmizCpwQAroimaZGV7F/8nvHInTZfpNH/+b++gYbddkH+MouxOXcAEUku6vN0Jz\n"
- "DgA4qj4Tw7dffXSDAgMBAAECggGAVD3oFNtv0n48I1FQ++x8Ed7AP3t6g4x7AX8D\n"
- "aq0zJAfo7XCG9CRjVL5pv1XefZT4OcVoioHfUefD2E0XpjgbRAWPOVv8Rmxv8TGK\n"
- "kDaHFSIid8PcdXPS0vgDO3Y686/1mWCr8eg4XclerlgW5XSB5r0KvyphdB+erHmI\n"
- "nLVhNbuwM+TaVvVH+Xd9hWS4grP0u43oIaIWryL4FCd2DEfVlOkQrU+GpxjtizW5\n"
- "i0KzhYjRgHFUSgSfSnRwf3IJaOoiIpOma2p7R4dVoQkVGS6bStqPcqSUGVxH2CLu\n"
- "TC7B0xZZs2xq6pLVWYXh/J79Ziw76+7qeMwFatzsUPtB6smQvR7016BThY6Cj+ui\n"
- "KgTCZGpbb30MCn9/px8P2jXagA9fnPzf31WkdbsnjrYPNe6kkP5snJtz6k3cYex2\n"
- "P8WulCS23qjCdVoUcoSDzPiaFtnPR/HcZDpTYuxKuUMoQrqsmRHeF/QRvbXkKFQC\n"
- "Kudpfna5CAIT5IaIWwXQp0NfpnNBAoHBAPcnqz2uZaVZO7LiZEMc3cDfiPTp2vhf\n"
- "VRYNyvTZIYgAox8k49waEQq6MyD5N2oWyRjWsQ0ta/BqJgMLoG42oyDntp/HGhZC\n"
- "SxLQEu4ursFsCE32I4nyt7DD5erzX+H6folRq2BelL6ISwdr1g1wJZ3cCrwGbG/P\n"
- "7MUYtSo026K9iXCqv9t7Q3TYe7yECVrxqbOu++C2df8IodehUm5wQZTsysBDfCHZ\n"
- "PT9m4Qfaryq/u4N5w8nCt/Ep3JkjqyJL4wKBwQDaX4WbwL6ipyt6k4NZ6dEe0aLT\n"
- "yKowO0rAWckr6WbA6kFBV2JWPswdV7gCqSOaae+UVc6cpw07jc39vsFNFGDL6OfC\n"
- "HvmjQ2HQ/Mf4RjNTSt1rYpiB7DTqtLCys454OHFxo0UinXUc20+timroLEJbZJ23\n"
- "upgAvico9zgCyjiwHoEVCpwZerLcLJk44mSGANiBLMo6YfyWj+PfLOeXu5rs4vhC\n"
- "K0JBPdIzXHKwv996qFpy8xBatfO/+CH2NR/D1uECgcB8mATdbWNUfa14umQs6Qpp\n"
- "Rsb2IEYA2547Jezgje03cIrLEn/D32gj7kYEI15qHt51pRVQPUuiwQA0nNHdfbGy\n"
- "ztzjoy1ldzn9W+OPKv1yCJIPKzwzOKadd8QaM2Jsuyi69O7eABAgFPkt3pDj6Vst\n"
- "P1Yx/1L+8uS7X39ErazjV4VHxOw/Kt6Qsul92VoV/Km+KUJUv+awEJv15h92CSUm\n"
- "fFChp+OV9LvJkIV0vit783gGCYZH2d98tcu9b5vACF0CgcAZM0rM5ZpaVOZcl+dh\n"
- "me0LHHAo9pBFTqJavkHL8nxsKNxs+POdNlQB0tymWfSE3lLKkHhudYy+Yafy72+J\n"
- "QJ/HCFKugTqXz6/bGUDOcvN7WjlhKhilbafRqhZ2GOiJESJuVcQlsXwRX3G7eizK\n"
- "LElgGKVmzX67HzaPsK/jCokuMeb9kaLgAdvgMrlf6ihlmnVhutR/lk065tIKMDlt\n"
- "tjWzvqGdqTZVJxg52yJVKV9V3VXKzCgH/9VoQu9QZWMMC6ECgcEAu2lYMEfbrTYS\n"
- "u2ukovL69EnxUfQ76f8/cs3gVsOWRxPN6MFe8pR7lC03orHckGdwVF0uUSbek4F7\n"
- "vmZxewPQvVWntGfyL3uhln+xyJbfd/a4YThTDzXIy++jdrKGCVPc9Z+XPWJyc5qM\n"
- "fA7FxB9uBfVyHKa3LIsuvyFtSKF38pEVMrL4kTnB++Eg536AOZbYB351dMi0qXzN\n"
- "Ljyi36ud0J5l00OZAanLPw7dklZOTYNguCDRhi6k7qpayV7ywLSB\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIG4wIBAAKCAYEA0tQAiQ13zWGZMV9YxFo2H15yERrkr8KD7z6QheVeatc2+5X0\n"
+ "m5/+/o95nmnt6Mlwa27U78QwkHBccOaNkSi7HGMopaxatEsF/S30MDmhqOi9R2Vt\n"
+ "MwDaa2zWH/s2wPHn8efn2/zG0jeXCzNsXFs4zNApaZmTJCHaDRUE12adwP5i6GvU\n"
+ "b978f27Cm0gnkSWBH9OdVnMunQkm/L16NI3ElvcDEEJbqhX2eswHenbhw//LiR1E\n"
+ "KRtHEjWywAq5AeHeYNH+2zjff59SGD6Bn+W2vPKBhSWCyFDPGRfcYeCX2LFM7+Xx\n"
+ "0j+GLzBnkjBhEgdsdLJ7Bt8aDToUJScLxeePoOmL9e0bec20debwF0G/7QMlwRgD\n"
+ "jV3sd3u+5RxRCeOh8Xqfbs/tij7tnU93orhcMzGjcn5XZ6WicyimuTruNznhKhNp\n"
+ "6vmizCpwQAroimaZGV7F/8nvHInTZfpNH/+b++gYbddkH+MouxOXcAEUku6vN0Jz\n"
+ "DgA4qj4Tw7dffXSDAgMBAAECggGAVD3oFNtv0n48I1FQ++x8Ed7AP3t6g4x7AX8D\n"
+ "aq0zJAfo7XCG9CRjVL5pv1XefZT4OcVoioHfUefD2E0XpjgbRAWPOVv8Rmxv8TGK\n"
+ "kDaHFSIid8PcdXPS0vgDO3Y686/1mWCr8eg4XclerlgW5XSB5r0KvyphdB+erHmI\n"
+ "nLVhNbuwM+TaVvVH+Xd9hWS4grP0u43oIaIWryL4FCd2DEfVlOkQrU+GpxjtizW5\n"
+ "i0KzhYjRgHFUSgSfSnRwf3IJaOoiIpOma2p7R4dVoQkVGS6bStqPcqSUGVxH2CLu\n"
+ "TC7B0xZZs2xq6pLVWYXh/J79Ziw76+7qeMwFatzsUPtB6smQvR7016BThY6Cj+ui\n"
+ "KgTCZGpbb30MCn9/px8P2jXagA9fnPzf31WkdbsnjrYPNe6kkP5snJtz6k3cYex2\n"
+ "P8WulCS23qjCdVoUcoSDzPiaFtnPR/HcZDpTYuxKuUMoQrqsmRHeF/QRvbXkKFQC\n"
+ "Kudpfna5CAIT5IaIWwXQp0NfpnNBAoHBAPcnqz2uZaVZO7LiZEMc3cDfiPTp2vhf\n"
+ "VRYNyvTZIYgAox8k49waEQq6MyD5N2oWyRjWsQ0ta/BqJgMLoG42oyDntp/HGhZC\n"
+ "SxLQEu4ursFsCE32I4nyt7DD5erzX+H6folRq2BelL6ISwdr1g1wJZ3cCrwGbG/P\n"
+ "7MUYtSo026K9iXCqv9t7Q3TYe7yECVrxqbOu++C2df8IodehUm5wQZTsysBDfCHZ\n"
+ "PT9m4Qfaryq/u4N5w8nCt/Ep3JkjqyJL4wKBwQDaX4WbwL6ipyt6k4NZ6dEe0aLT\n"
+ "yKowO0rAWckr6WbA6kFBV2JWPswdV7gCqSOaae+UVc6cpw07jc39vsFNFGDL6OfC\n"
+ "HvmjQ2HQ/Mf4RjNTSt1rYpiB7DTqtLCys454OHFxo0UinXUc20+timroLEJbZJ23\n"
+ "upgAvico9zgCyjiwHoEVCpwZerLcLJk44mSGANiBLMo6YfyWj+PfLOeXu5rs4vhC\n"
+ "K0JBPdIzXHKwv996qFpy8xBatfO/+CH2NR/D1uECgcB8mATdbWNUfa14umQs6Qpp\n"
+ "Rsb2IEYA2547Jezgje03cIrLEn/D32gj7kYEI15qHt51pRVQPUuiwQA0nNHdfbGy\n"
+ "ztzjoy1ldzn9W+OPKv1yCJIPKzwzOKadd8QaM2Jsuyi69O7eABAgFPkt3pDj6Vst\n"
+ "P1Yx/1L+8uS7X39ErazjV4VHxOw/Kt6Qsul92VoV/Km+KUJUv+awEJv15h92CSUm\n"
+ "fFChp+OV9LvJkIV0vit783gGCYZH2d98tcu9b5vACF0CgcAZM0rM5ZpaVOZcl+dh\n"
+ "me0LHHAo9pBFTqJavkHL8nxsKNxs+POdNlQB0tymWfSE3lLKkHhudYy+Yafy72+J\n"
+ "QJ/HCFKugTqXz6/bGUDOcvN7WjlhKhilbafRqhZ2GOiJESJuVcQlsXwRX3G7eizK\n"
+ "LElgGKVmzX67HzaPsK/jCokuMeb9kaLgAdvgMrlf6ihlmnVhutR/lk065tIKMDlt\n"
+ "tjWzvqGdqTZVJxg52yJVKV9V3VXKzCgH/9VoQu9QZWMMC6ECgcEAu2lYMEfbrTYS\n"
+ "u2ukovL69EnxUfQ76f8/cs3gVsOWRxPN6MFe8pR7lC03orHckGdwVF0uUSbek4F7\n"
+ "vmZxewPQvVWntGfyL3uhln+xyJbfd/a4YThTDzXIy++jdrKGCVPc9Z+XPWJyc5qM\n"
+ "fA7FxB9uBfVyHKa3LIsuvyFtSKF38pEVMrL4kTnB++Eg536AOZbYB351dMi0qXzN\n"
+ "Ljyi36ud0J5l00OZAanLPw7dklZOTYNguCDRhi6k7qpayV7ywLSB\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t rawpk_private_key2 = {
(unsigned char *)rawpk_private_key_pem2,
sizeof(rawpk_private_key_pem2) - 1
};
-#endif /* GNUTLS_TESTS_CERT_COMMON_H */
+#endif /* GNUTLS_TESTS_CERT_COMMON_H */
diff --git a/tests/cert-repro-20170915.h b/tests/cert-repro-20170915.h
index 66d7f87fd9..77a94f084e 100644
--- a/tests/cert-repro-20170915.h
+++ b/tests/cert-repro-20170915.h
@@ -1,384 +1,387 @@
#ifndef GNUTLS_TESTS_CERT_REPRO_20170915_H
-# define GNUTLS_TESTS_CERT_REPRO_20170915_H
+#define GNUTLS_TESTS_CERT_REPRO_20170915_H
static char client_cert_repro_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIILITCCBiegAwIBAgIJAMHDrh3rcjmCMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\n"
- "BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\n"
- "aWRnaXRzIFB0eSBMdGQwHhcNMTcwOTEzMDkzOTE1WhcNMTcwOTE0MDkzOTE1WjBF\n"
- "MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\n"
- "ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIFBDANBgkqhkiG9w0BAQEFAAOCBPEAMIIE\n"
- "7AKCBOMAxa5Is252x+Q0JMEZoU2DTZVqTPQMFfkv9bLjFCrbtUQCjEB187oPh9HE\n"
- "vEqkuC5hVl2H+kPa7u2sYrthPNCdMXd/kVAmSE9iS7sKuV8Z9UERHerP0tp06948\n"
- "WpsuDe4iUsKzDLkQwT3x3pnzj0f7WjQkLBx7nr533JEoKpU0Kq6Zh5UHSapJdZ8j\n"
- "0y6sAZ9QDYIHvBkXM+L6gsZUOV7dqE5+71e+o+upUZoRkpwowckIjvttCKmoaUSf\n"
- "swBm8p9c/8Gwaw+TW90/NiAgjllcu+ON0cFEG/OecmtnfYpIzF14M8eW2QjOA7K5\n"
- "1PP2EIYM6sJzZ6EUnCUkLHg8tVyluGNIU+0/pcCK3PK0APahKCLQy0KINcYS8omP\n"
- "HUgiXWZLns2WrvJinkhcDqDhIDd5F3cGLdzaps5NKmgRNpZJFGC4qAOj0MFqkU+3\n"
- "Lyq81fEKcmrhsATjVptvNDp3/gFiJqNry0YCmS3QnbokugCKPeWcJZyXf9QzVlC/\n"
- "NGZGQXN0ncMUkCDEbQcsbYz079Tu4h+/PMFrIoFTqc4DnwbTNOpgnlMHdOZIhwl5\n"
- "2lSRjnp/VjyJePpj3Z17eVboVZPs2qcukdCtjUPBZ8+ycIVeDf8aHtu69duS0nCI\n"
- "D3zXb7vOtdqcQ4tHY/SmNEVK2wAXZh0e2TUM2PT3OpCce/TBf+u2Rh9t9btv75XI\n"
- "8QbY68SlZUTnFZELsE7IPDgdwIERXiIOMfmTL6XNBAkmWEsVQBfHiP55d5B4b/3p\n"
- "niQ3RhBr0X8pYh8m0HAZyFGKIU/8egHPEH6EVFQlbzmG/ubNb8JGNwfiATjbr6BW\n"
- "L/aF/4lxqL1/gOQ9dtZvK4tys5dIXcSN//CRE/rhUCCl+kg7DuXd9h/xg1QcnnkI\n"
- "GymUb67lNFXZx/all9H08ApB9ldufcwaFvWhc37sGWTnaLpEnxNNqlPAr9G9BHZA\n"
- "tUezrGSx7+YRJKH61xevuomTeMX+T1HlO/YSKoX2R3Qk9ClWQzrT73cCYhEai5bD\n"
- "FO9MX00hRUfXBKl2u8GEzMzwN/1oSWuXMYQbW5NP+UAchBi82ihR2zg2S+Wzl4NC\n"
- "Wr7vjwNXaj0e1UKwCxk2ypGx7dX/URe9skttZgr9va8NrW6aNokiTgG6BKq4sfjv\n"
- "bqZ3+uAiPg6QnnjLEGizfVGno4+ufky3y5yc3MIgLvrxo8IhHp7iXqf5ebPBdyYo\n"
- "BuAhERp7CDBcIDoOFW2xyljwTwpadMCmC2rmJmuwNvxKT1r9EZ/jiqwiVw8zuhYc\n"
- "P0LTM5B+OlDrOFVBW9zRF4lSKX30/cR7XaPlGS6WbYTsuuJeUnWsS42jrQiOQH88\n"
- "x4zrLcqwkchLl5SBw6ywS0RAszBI8OkHzFmbBIr6Q0vgmfy+ugd6ssv5Ec8Imfg1\n"
- "UQdBWclzgWppb8JFBTjY8keqt9bgVfZfV+cOjuMTqOdHP/eu4n2h/6fECwd4sk12\n"
- "fyesKgVbtMkMXOkTUCeGIstsrvRX7BAupRISXbl+gAK/Ew0kB4YioXI51FNVO7eI\n"
- "kEkZIdWLfr9J2iSxiOuOlghYc4v+CJOFW6/DIBhK96Ih0ygteztuJ4D+GBXXx7h4\n"
- "mHygdAk6zPQtZ+nbz9qPOl0rS3F6XOmR7GgcXX6Zxfpj4Afd/7XFR3IntqlHbqNv\n"
- "SkkZcIpiiwkCAwEAAaNQME4wHQYDVR0OBBYEFPfXnI4wJZG2AzoMj5AbZHoiTHp9\n"
- "MB8GA1UdIwQYMBaAFPfXnI4wJZG2AzoMj5AbZHoiTHp9MAwGA1UdEwQFMAMBAf8w\n"
- "DQYJKoZIhvcNAQELBQADggTjACd/BFFw29X5lkQA+o+NqQlkoKhFMjReZgkt9ou8\n"
- "zSEhAbbrVMdljUjRAbs0FevIV23MJRv4st//JWl/H/OcUHYfHwTkYD0SZNJ2BDvM\n"
- "9K4ItGvwBlYilPxcwQmFCErjJuI164bXDHWEcc69XXK9cfKhV4g8JxEQptE5mHPi\n"
- "RcFCvN+Z2h80+c+M6xUGHRUIUHLdih9pOimhwT8msKcLBT3IcFcaBj8KO2Lr6aLK\n"
- "/rADUMObkfBF1rMMOUo07GX/bJjt7V4Jj7v7G9OhIh+//a9LVE8sYWzoqAf/hBDE\n"
- "vrX/5JRToUIQl6bxaVyDnCGdrUh9qfiRC3sNVKnWksGdPked2V2hUonr2UZZy4E4\n"
- "feDcICkeZ9cUvIBmi+oPfWJnQ7Hb3HBToZG4lvsO1EIRJDNv3vXz9HcRFNNkvLE4\n"
- "Xidvs/v1e2nTemGFzDyV1hUIevXza4eydgFDrjhWdHFj6HMNaJ0WXINBQ4Vl9AW0\n"
- "X3BuPZC9TbLQlUKfJz9GdRjuj9eQtA0pEeToB6ySYePeyQmqTEdO9ufYoa1L0Sdt\n"
- "ueOGqQW9BD55sb2lbh53TsyHPgklYKYJ/fJd6Df1ox4DIeFZ/sCTp7GMtgPizcA0\n"
- "OYOtamtFL3upLQsr8hu1NWmdX3/qXYUycpt0W0g4F3bKILk6O4gqNYA7AOEWPY7B\n"
- "hRD84fU3jHjDfAc2TbL/Zc/54F33SM/NA1WmkYKThlTRy2VQ7yhZKkiluapQ94BL\n"
- "umMfyRPSUSNnWJzPLKoZ7701pR2Pc0AWY15zcCuUsNtB1vAnmAeOggBvzwc4xshc\n"
- "g1E/VSYXID0Fmn0IF4ZLJdOK8pA9ae5dGj2kmk8Spw/wSSHe+dGDL708L2/q19Za\n"
- "rtDOAXLTzjUB/tinQuEk27LhrVKV7TY5mS/HR22glH8PVIZ2X86+9Ad/d2CqWJSV\n"
- "ukuuXfzsUuO2ElDz74dH9U7jOYsulo0/0OKR9pjVmmDtAji+Hc1TlSjEOKyuCfqI\n"
- "7A+3SorkrEFqWxmOb9Kv2Z+hE/+RF80k3CvNfD8taxIkGUyj8dSlytMitnzS/PA4\n"
- "6EwE2Vxsm39CvcWgqSTAaYzC5pLZy3W5ATna0gU6em8bMpliNo4HrIKB6c27/ScY\n"
- "OTYc0DK/cpREOFxz3C20agiRVCn7Vt+vdnBqh4yj/l5hhrlZXrn0iDyr67g5E8iL\n"
- "enXeGhuOzIJw70OfB/WdVXkmopgBm9J0yVgL7UR8uN0Y5SQCy/4L26YOdxk/fmbE\n"
- "bGfsS2AvFZZ4dP0hYmHQO2F0UfQ1iYe9R/cF6TqhtRLuVAXz9wbwNf+pCjJuhg91\n"
- "WY9Lpo5onkoUal4e325xAASnsWAMoFnpS+D/VOPmOuWmnjAj8001ueXFCPKb8VK0\n"
- "G1dxTZrZs0KPi4xrLSF/5L6n5H7VM6yRnX1BUun96lBzV45P3rAhCy+7r6IHMAqJ\n"
- "VuM0+G/s9ZHRnmm3RwM4ufRGF+uSVzcBaVB0iPTXKWPDizBTgowa2CqVGmFalEIm\n"
- "XPWqyhXwgctDCre4P0QYKSqoSaZ0aQaoPGZ10K3m12Pq69gmi6aRKhse7MkfQtho\n"
- "+3Gix3f5m0hgDjp/v3UApfP+bAObOODGG+MhJJOBJlmZE/B1jwyJpV/YjHi2VRsm\n"
- "GkcJOt7A+6vGf1zPNNoB+/fAd6B+\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIILITCCBiegAwIBAgIJAMHDrh3rcjmCMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\n"
+ "BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\n"
+ "aWRnaXRzIFB0eSBMdGQwHhcNMTcwOTEzMDkzOTE1WhcNMTcwOTE0MDkzOTE1WjBF\n"
+ "MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\n"
+ "ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIFBDANBgkqhkiG9w0BAQEFAAOCBPEAMIIE\n"
+ "7AKCBOMAxa5Is252x+Q0JMEZoU2DTZVqTPQMFfkv9bLjFCrbtUQCjEB187oPh9HE\n"
+ "vEqkuC5hVl2H+kPa7u2sYrthPNCdMXd/kVAmSE9iS7sKuV8Z9UERHerP0tp06948\n"
+ "WpsuDe4iUsKzDLkQwT3x3pnzj0f7WjQkLBx7nr533JEoKpU0Kq6Zh5UHSapJdZ8j\n"
+ "0y6sAZ9QDYIHvBkXM+L6gsZUOV7dqE5+71e+o+upUZoRkpwowckIjvttCKmoaUSf\n"
+ "swBm8p9c/8Gwaw+TW90/NiAgjllcu+ON0cFEG/OecmtnfYpIzF14M8eW2QjOA7K5\n"
+ "1PP2EIYM6sJzZ6EUnCUkLHg8tVyluGNIU+0/pcCK3PK0APahKCLQy0KINcYS8omP\n"
+ "HUgiXWZLns2WrvJinkhcDqDhIDd5F3cGLdzaps5NKmgRNpZJFGC4qAOj0MFqkU+3\n"
+ "Lyq81fEKcmrhsATjVptvNDp3/gFiJqNry0YCmS3QnbokugCKPeWcJZyXf9QzVlC/\n"
+ "NGZGQXN0ncMUkCDEbQcsbYz079Tu4h+/PMFrIoFTqc4DnwbTNOpgnlMHdOZIhwl5\n"
+ "2lSRjnp/VjyJePpj3Z17eVboVZPs2qcukdCtjUPBZ8+ycIVeDf8aHtu69duS0nCI\n"
+ "D3zXb7vOtdqcQ4tHY/SmNEVK2wAXZh0e2TUM2PT3OpCce/TBf+u2Rh9t9btv75XI\n"
+ "8QbY68SlZUTnFZELsE7IPDgdwIERXiIOMfmTL6XNBAkmWEsVQBfHiP55d5B4b/3p\n"
+ "niQ3RhBr0X8pYh8m0HAZyFGKIU/8egHPEH6EVFQlbzmG/ubNb8JGNwfiATjbr6BW\n"
+ "L/aF/4lxqL1/gOQ9dtZvK4tys5dIXcSN//CRE/rhUCCl+kg7DuXd9h/xg1QcnnkI\n"
+ "GymUb67lNFXZx/all9H08ApB9ldufcwaFvWhc37sGWTnaLpEnxNNqlPAr9G9BHZA\n"
+ "tUezrGSx7+YRJKH61xevuomTeMX+T1HlO/YSKoX2R3Qk9ClWQzrT73cCYhEai5bD\n"
+ "FO9MX00hRUfXBKl2u8GEzMzwN/1oSWuXMYQbW5NP+UAchBi82ihR2zg2S+Wzl4NC\n"
+ "Wr7vjwNXaj0e1UKwCxk2ypGx7dX/URe9skttZgr9va8NrW6aNokiTgG6BKq4sfjv\n"
+ "bqZ3+uAiPg6QnnjLEGizfVGno4+ufky3y5yc3MIgLvrxo8IhHp7iXqf5ebPBdyYo\n"
+ "BuAhERp7CDBcIDoOFW2xyljwTwpadMCmC2rmJmuwNvxKT1r9EZ/jiqwiVw8zuhYc\n"
+ "P0LTM5B+OlDrOFVBW9zRF4lSKX30/cR7XaPlGS6WbYTsuuJeUnWsS42jrQiOQH88\n"
+ "x4zrLcqwkchLl5SBw6ywS0RAszBI8OkHzFmbBIr6Q0vgmfy+ugd6ssv5Ec8Imfg1\n"
+ "UQdBWclzgWppb8JFBTjY8keqt9bgVfZfV+cOjuMTqOdHP/eu4n2h/6fECwd4sk12\n"
+ "fyesKgVbtMkMXOkTUCeGIstsrvRX7BAupRISXbl+gAK/Ew0kB4YioXI51FNVO7eI\n"
+ "kEkZIdWLfr9J2iSxiOuOlghYc4v+CJOFW6/DIBhK96Ih0ygteztuJ4D+GBXXx7h4\n"
+ "mHygdAk6zPQtZ+nbz9qPOl0rS3F6XOmR7GgcXX6Zxfpj4Afd/7XFR3IntqlHbqNv\n"
+ "SkkZcIpiiwkCAwEAAaNQME4wHQYDVR0OBBYEFPfXnI4wJZG2AzoMj5AbZHoiTHp9\n"
+ "MB8GA1UdIwQYMBaAFPfXnI4wJZG2AzoMj5AbZHoiTHp9MAwGA1UdEwQFMAMBAf8w\n"
+ "DQYJKoZIhvcNAQELBQADggTjACd/BFFw29X5lkQA+o+NqQlkoKhFMjReZgkt9ou8\n"
+ "zSEhAbbrVMdljUjRAbs0FevIV23MJRv4st//JWl/H/OcUHYfHwTkYD0SZNJ2BDvM\n"
+ "9K4ItGvwBlYilPxcwQmFCErjJuI164bXDHWEcc69XXK9cfKhV4g8JxEQptE5mHPi\n"
+ "RcFCvN+Z2h80+c+M6xUGHRUIUHLdih9pOimhwT8msKcLBT3IcFcaBj8KO2Lr6aLK\n"
+ "/rADUMObkfBF1rMMOUo07GX/bJjt7V4Jj7v7G9OhIh+//a9LVE8sYWzoqAf/hBDE\n"
+ "vrX/5JRToUIQl6bxaVyDnCGdrUh9qfiRC3sNVKnWksGdPked2V2hUonr2UZZy4E4\n"
+ "feDcICkeZ9cUvIBmi+oPfWJnQ7Hb3HBToZG4lvsO1EIRJDNv3vXz9HcRFNNkvLE4\n"
+ "Xidvs/v1e2nTemGFzDyV1hUIevXza4eydgFDrjhWdHFj6HMNaJ0WXINBQ4Vl9AW0\n"
+ "X3BuPZC9TbLQlUKfJz9GdRjuj9eQtA0pEeToB6ySYePeyQmqTEdO9ufYoa1L0Sdt\n"
+ "ueOGqQW9BD55sb2lbh53TsyHPgklYKYJ/fJd6Df1ox4DIeFZ/sCTp7GMtgPizcA0\n"
+ "OYOtamtFL3upLQsr8hu1NWmdX3/qXYUycpt0W0g4F3bKILk6O4gqNYA7AOEWPY7B\n"
+ "hRD84fU3jHjDfAc2TbL/Zc/54F33SM/NA1WmkYKThlTRy2VQ7yhZKkiluapQ94BL\n"
+ "umMfyRPSUSNnWJzPLKoZ7701pR2Pc0AWY15zcCuUsNtB1vAnmAeOggBvzwc4xshc\n"
+ "g1E/VSYXID0Fmn0IF4ZLJdOK8pA9ae5dGj2kmk8Spw/wSSHe+dGDL708L2/q19Za\n"
+ "rtDOAXLTzjUB/tinQuEk27LhrVKV7TY5mS/HR22glH8PVIZ2X86+9Ad/d2CqWJSV\n"
+ "ukuuXfzsUuO2ElDz74dH9U7jOYsulo0/0OKR9pjVmmDtAji+Hc1TlSjEOKyuCfqI\n"
+ "7A+3SorkrEFqWxmOb9Kv2Z+hE/+RF80k3CvNfD8taxIkGUyj8dSlytMitnzS/PA4\n"
+ "6EwE2Vxsm39CvcWgqSTAaYzC5pLZy3W5ATna0gU6em8bMpliNo4HrIKB6c27/ScY\n"
+ "OTYc0DK/cpREOFxz3C20agiRVCn7Vt+vdnBqh4yj/l5hhrlZXrn0iDyr67g5E8iL\n"
+ "enXeGhuOzIJw70OfB/WdVXkmopgBm9J0yVgL7UR8uN0Y5SQCy/4L26YOdxk/fmbE\n"
+ "bGfsS2AvFZZ4dP0hYmHQO2F0UfQ1iYe9R/cF6TqhtRLuVAXz9wbwNf+pCjJuhg91\n"
+ "WY9Lpo5onkoUal4e325xAASnsWAMoFnpS+D/VOPmOuWmnjAj8001ueXFCPKb8VK0\n"
+ "G1dxTZrZs0KPi4xrLSF/5L6n5H7VM6yRnX1BUun96lBzV45P3rAhCy+7r6IHMAqJ\n"
+ "VuM0+G/s9ZHRnmm3RwM4ufRGF+uSVzcBaVB0iPTXKWPDizBTgowa2CqVGmFalEIm\n"
+ "XPWqyhXwgctDCre4P0QYKSqoSaZ0aQaoPGZ10K3m12Pq69gmi6aRKhse7MkfQtho\n"
+ "+3Gix3f5m0hgDjp/v3UApfP+bAObOODGG+MhJJOBJlmZE/B1jwyJpV/YjHi2VRsm\n"
+ "GkcJOt7A+6vGf1zPNNoB+/fAd6B+\n"
+ "-----END CERTIFICATE-----\n";
static char client_key_repro_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MIIWOwIBADANBgkqhkiG9w0BAQEFAASCFiUwghYhAgEAAoIE4wDFrkizbnbH5DQk\n"
- "wRmhTYNNlWpM9AwV+S/1suMUKtu1RAKMQHXzug+H0cS8SqS4LmFWXYf6Q9ru7axi\n"
- "u2E80J0xd3+RUCZIT2JLuwq5Xxn1QREd6s/S2nTr3jxamy4N7iJSwrMMuRDBPfHe\n"
- "mfOPR/taNCQsHHuevnfckSgqlTQqrpmHlQdJqkl1nyPTLqwBn1ANgge8GRcz4vqC\n"
- "xlQ5Xt2oTn7vV76j66lRmhGSnCjByQiO+20IqahpRJ+zAGbyn1z/wbBrD5Nb3T82\n"
- "ICCOWVy7443RwUQb855ya2d9ikjMXXgzx5bZCM4DsrnU8/YQhgzqwnNnoRScJSQs\n"
- "eDy1XKW4Y0hT7T+lwIrc8rQA9qEoItDLQog1xhLyiY8dSCJdZkuezZau8mKeSFwO\n"
- "oOEgN3kXdwYt3Nqmzk0qaBE2lkkUYLioA6PQwWqRT7cvKrzV8QpyauGwBONWm280\n"
- "Onf+AWImo2vLRgKZLdCduiS6AIo95ZwlnJd/1DNWUL80ZkZBc3SdwxSQIMRtByxt\n"
- "jPTv1O7iH788wWsigVOpzgOfBtM06mCeUwd05kiHCXnaVJGOen9WPIl4+mPdnXt5\n"
- "VuhVk+zapy6R0K2NQ8Fnz7JwhV4N/xoe27r125LScIgPfNdvu8612pxDi0dj9KY0\n"
- "RUrbABdmHR7ZNQzY9Pc6kJx79MF/67ZGH231u2/vlcjxBtjrxKVlROcVkQuwTsg8\n"
- "OB3AgRFeIg4x+ZMvpc0ECSZYSxVAF8eI/nl3kHhv/emeJDdGEGvRfyliHybQcBnI\n"
- "UYohT/x6Ac8QfoRUVCVvOYb+5s1vwkY3B+IBONuvoFYv9oX/iXGovX+A5D121m8r\n"
- "i3Kzl0hdxI3/8JET+uFQIKX6SDsO5d32H/GDVByeeQgbKZRvruU0VdnH9qWX0fTw\n"
- "CkH2V259zBoW9aFzfuwZZOdoukSfE02qU8Cv0b0EdkC1R7OsZLHv5hEkofrXF6+6\n"
- "iZN4xf5PUeU79hIqhfZHdCT0KVZDOtPvdwJiERqLlsMU70xfTSFFR9cEqXa7wYTM\n"
- "zPA3/WhJa5cxhBtbk0/5QByEGLzaKFHbODZL5bOXg0Javu+PA1dqPR7VQrALGTbK\n"
- "kbHt1f9RF72yS21mCv29rw2tbpo2iSJOAboEqrix+O9upnf64CI+DpCeeMsQaLN9\n"
- "Uaejj65+TLfLnJzcwiAu+vGjwiEenuJep/l5s8F3JigG4CERGnsIMFwgOg4VbbHK\n"
- "WPBPClp0wKYLauYma7A2/EpPWv0Rn+OKrCJXDzO6Fhw/QtMzkH46UOs4VUFb3NEX\n"
- "iVIpffT9xHtdo+UZLpZthOy64l5SdaxLjaOtCI5AfzzHjOstyrCRyEuXlIHDrLBL\n"
- "RECzMEjw6QfMWZsEivpDS+CZ/L66B3qyy/kRzwiZ+DVRB0FZyXOBamlvwkUFONjy\n"
- "R6q31uBV9l9X5w6O4xOo50c/967ifaH/p8QLB3iyTXZ/J6wqBVu0yQxc6RNQJ4Yi\n"
- "y2yu9FfsEC6lEhJduX6AAr8TDSQHhiKhcjnUU1U7t4iQSRkh1Yt+v0naJLGI646W\n"
- "CFhzi/4Ik4Vbr8MgGEr3oiHTKC17O24ngP4YFdfHuHiYfKB0CTrM9C1n6dvP2o86\n"
- "XStLcXpc6ZHsaBxdfpnF+mPgB93/tcVHcie2qUduo29KSRlwimKLCQIDAQABAoIE\n"
- "4itvYAoM+4xwWAS7aSZIIdGqQvElroIlfqQ96idEQ4JQrz6h60jiWQc+0DuPKyJN\n"
- "DpYrdvVGc5SMJJSNF5CFRgTYfO8w7Th2OOLq9jBE9S8uXNR2A7QQzCAHdLtz3Wqy\n"
- "KFiG71CcWVIcikifCyUwa8omKsyGdaMrtqqAOpMgtZWrR5DC7hcBk6KElRqR5rl0\n"
- "h+Jv78MkwDRmayTQ7zCr54hTtxBf90ONRGbps3LDXTE3Ouov1IVSwe5fZbevHu+w\n"
- "lH6d0GW1xmso8fqylHSyre2a0k6EaLK7lNUPRG4RNG2zG/ZEpKCLjrjBTJO+BxMa\n"
- "YTwz/aeHfT/R6WDcCnrPIJqjNgE64AFLjTd/HI4Zos9u1vHSbJtkKkWgdBG7B9H9\n"
- "6B+8jJ9kIscknxWXw9+QUMsXHAR3wpNkQRBQTXfxDZ2souZH5na4CPJk0ZtLiLJ5\n"
- "hBIf6fcDG/CrtoODVVo6c5aJ0eWYPHnr1yrQ+8Di3X08NlMNVTyBI8aTd2/MCSPY\n"
- "eocvlhUVHhPWv6xSjH8mClclIp/239N1Fyz4V1NZ7I5z8UbYd4r4DnedXWjbrB/i\n"
- "SphoNMygN9E6CSdgMSyclC53DYR8laW0fYqR2GNg6omow9SD81CSLnCOyVad17h1\n"
- "S7YpkqxErisIVnylvQzhuEJ3o4+WWHxTVv9HRxr1bI7u+93sify0cqPyBXTwTDmB\n"
- "u9XEjgHvHOJgbR7ONbtWoLpOQVA5xl1x0NpSKFq+JK0wjGdNguMCm3QAFpTo4DxE\n"
- "32voxO8KaTzjZMbfI7quGIu2WgkFw43D73XA7iiUDg/AYC03TjF2jM7KLCXdxROg\n"
- "35gRFl1AFRfTV39VwxN/pMGNx5mVgxsQDtwPmrbv+rMlTOgn9gBAXw+9P5ClV6bl\n"
- "I6BdmNVx2RLf1EnTBYeq8FqEcSX+AkG5+TdP5Oaq/pNdP5s0UzoxI2NyzqZF24kH\n"
- "F8ixnTQma8Q0s6TapR0OqLaNCj4EN/jnb4FbKS8h9oGmJTUy6J8lxraChQkUhA5t\n"
- "yBOM++NmiaUJQc88uZMAI7+6kBDEUPjZlhJTO3iaWJVZm7i0IErySHQ+Jj12sPuo\n"
- "nFtSh3GTjWDGZANufiTy0KJDopTYZp3m+iv3/5KhkbLT/gdM+SoP4mGRVC7ZYbqd\n"
- "ibszOv0lbN6zLcQjd7MEMMk4U5N3hDzo+Jfg8zbC/Q3A0GhgDDVhmywL7uyMCj+D\n"
- "+JW0T+bqsxbCUHJARSgZMR1tE61GJWJ8M8Nj+7WLeYAnzo8PrrDS1rHTsav6YBUh\n"
- "3sjg12UG5nAhMUC+jiL75OOTpzqkzSvcB7nGhLo+0DERtkKuNeUOnfKnEA4W/p5b\n"
- "QtEdTlTPMPiaFWLaQ6iw5i+rMJgNJp5oUxe5NILf4aMI3OgjX3yZwqo/vo66EqZG\n"
- "9qo6isHr4fj8jy9De5XnECeJyEQMl6Yv4KjuX8t2aGJnAWEUMCEtVJw3Zi+0O7wE\n"
- "OPoRBp8noSfPsNNww1nsK85IoaYdcS0fmisom36TOo3pKTZc6ZcpQ4sPUrMJ9aW1\n"
- "/UC7lptQcTKgH4FORICXNV/xojIPCFQD3GTZofCFlvebGanv7pzgGp1N6fzuO2eI\n"
- "b5bjvy4BNRiV106ltidEZXG2+o6zVNsdNI5zvNNDceFx8mf7EJaVaWOrpp9LEFLS\n"
- "ESUBAoICcgDrL2cZ1Om4iMgIAS00cYO9nchWx5s/MdDF7vZgBACjNmEBZoqMpNZb\n"
- "NYjbGcIfj1WnWrp7jMoyyWbqoAaQAMyUWTvnD4ftsOAASVbWUpv1FdiqTRlBZVva\n"
- "Gqy8rSyZa2H8Pq97mWA9w1zlZOrJMtybpk28iyjRy5TZSV58OM5qO6KlhCy+HHlP\n"
- "UCOQZ+AFLOB1BPI4D64uKp9kzadN1g4EQMvF8WnAupU0k20h8CDIUdctxnny62X0\n"
- "J5aPhsq04ci1TU+n6WAM/yStTcUAd+JZua4kXymlpDr2zSsqtgz0Axcbe0FVYJG3\n"
- "uvDco/fgyAEa9M4gQt3oatQ0LeqqzLM1761JbnGQikExQM8KoCrfGQ6MUzYyL7KU\n"
- "VXzuXNvvZHyT5NzKrxaGTcDlY0vvqrxei17kSjfBdss7eH+Tqytzg4SyQab0NvnN\n"
- "W5+Rw0opol4El+LRFARERXp+HerFaU3Er8pZqlpnDA/XSlEy5jXJcwCMWABTuuvw\n"
- "5nuTw9l1SEpnYm7x/x+P73gCUdOMeGX06w7k2Y3JnUvifJUrh9axMjCIXAMLJM7a\n"
- "1EF7reOoJtVN/7slxh1eTAx3xFAZ+iDte5yEqNK375SlVWMm2BnbvG3H50fCx9Lz\n"
- "KZ8cOKYKNZ5Q7iImNQ06jjoQzHAI4oJdvjutvm0TZSjDFUBHgcFTgVdZZIXweJSi\n"
- "63QRDQdjyoaB3jowDRwP/AWI2o2QzapmG8zEB7gDafbam5IROf0gcj+/rUo9Dlor\n"
- "QMI07d0qpHhL+VAcn3b8MI69rv4moB8Kf9RqdRyVJ3hua7pQ24B72KjC93noUrW0\n"
- "lILbi65C4AufAoICcgDXLSTE9lkyrSr1Lamb3ag0SWbernBtkkTJPktloD6drQg7\n"
- "lsXAFaV62SazBmg2ZtayB9D9HUU276F0sWQbxBD9hO/WGnVOMT7rgu5WMuUKid+H\n"
- "oWj5oT+KMPccoPjrsBZHlXvpgtb8M5dp+l1HyRR1YN4J6y6oEhRDoWAApDgA1B29\n"
- "nuICrMlMFE0TkNFz7YsiMMkDYAVGbjjPhCJu4eD698Ktopl1BUAKJwfI+6mxDDSu\n"
- "+F6z2/0alJYo5Qb6+YsUSOpjCyRwQbahO/3drb4Gv1B5DmiHDhSZ5UwzUQbHdBAE\n"
- "9PeColcWJtW5msRuxwZkbE4QGuWzQyBGgmy8bF0hpcaE0nbn0RQEqHHngcrTuu1l\n"
- "zte9k8z6BLwYnVFcJyfTjGWqEr0Z5M8gpVNY0OHxuqHTpXMwFigzwEqH5+EHtGGZ\n"
- "NN/daeUTyJgU+OFnEtoHfDCRoGrNbW2LgifJeOxvGvczVcF111jfuSehoVvJG1kl\n"
- "1iQXwj22HHaDvJFQRDgEMRXnz98UikQwLolfSJF4qKENPdhWq3jmVCjdFLPuvxq4\n"
- "q0fGLa19XWPfLZ/Fw0Oyy54Fq8Lm67EkeLouAB3RbSg9fwBNJw0p5XTiHykR5pBa\n"
- "b7mkch/+GPrhuA/tsO1U1bFn1ykGswSTiUzdtBbYRXuczX6SoIuJgCqwI2RIZ9cS\n"
- "k4bwnAHEcLHlZ2pzaGNRfEjKUnNgXsUo6txi57UXwaugvQ8eQiDQgYXKlj6jNden\n"
- "2RwXhBHPFF+FRh0PGcGKOpqjptb3r/EUl2C7RDsXLClhJUpDDWb/0nnn175ODSeM\n"
- "DKcHf6d+CBh28n1mumhXAoICcTAiOoKx7cfDztS8kOjr1p+nPEpufdqYMndgKfKK\n"
- "vyqoRYBI4VBZqDlwonrdMbrN1iTzT7lbnkJ4r+STLeSpFTXDcZwftJ00FxRX7jrd\n"
- "G2g0uWxZbTLSMNNZpELVWoxnyt0aY0XzpRve8RNN7TOSgk4k4kIVZRxTAzrZZkoc\n"
- "QjrBy87+Vz3ti/Jsn2q9p77HaYTppz1MEEUImijCYlxu092Q+WOgvhkg1sq05aAN\n"
- "ilgVT+nhdjH+dZZbx9fGKZSNpUtd8FCYVf0y9um1Qf2Pi7b7ZqWxCFALZbn/Ubdj\n"
- "HRGP1FnehweXRRuKWiN+N4w8wuUmd01pAgvAWX/4ac/dJ0yBqkCeJwYDFcaj0fwF\n"
- "veB9O1oC6dOpqW3sdS4/uQ+szEZkj7+3x+9i2HjaMr9xfS4Ibjpg6jphOsUIK2wo\n"
- "mzMAFtd40lenLMcX2ne1tWcCASYFg/lwlFL4uVI4g0U2ASGhLNPfJrNyZ4eTgTze\n"
- "muGI9PLETATW+9UJBv++FLKJQhkYr0Y+BdKqmzA2WQql1ZAjz5+M2xUJaW+IOet3\n"
- "2LvZXs95rXHJbcChsmlCtJZEpGFbVo0rl/UlsWONvSsj4ztXkjggaUgV86FG8Y0Q\n"
- "q3IqhXllX22BAi6cNSFMgscSJD3CDyEsuHFkjIPFo6Rd33qaJZKwp5hRmt8aaVZ5\n"
- "Ov0BOsRj63nE4/7YG6Alv35wA8lulxAgjr7CwMs6l8CsJxTQ2b7BKashM9GYB3QZ\n"
- "HzJVz7BGIiyO1GuHzHeSuzIwCSLbesbw6CRDN+OgfgmfudqnQO0s3NW2B1LqH27P\n"
- "DePK+vc0OTIQQ3oa7xFJ7DdprVcCggJyAM8itfKk8tjFukSq4Esa5YDv6AcVBUV1\n"
- "OKJBRXNe/ufqWbKDQXnXXKUVxRsxX8B+3s4imBwQwUBRDau32Baid3iVMAt7DNFo\n"
- "tpkgQS7Zb4LlljiKOPOVNgVhfYAhtX2s1MW0MMRpH2tIfsmWKZWhDACybww9SXyh\n"
- "asBv6Gq1qvOhPb/74rWQf3atVEUxc2+VjAotzFNja7CRCj85g6wZ5Omy98UOcYsk\n"
- "srETQXtIR+IXTd/hV8jsTIn531MepcmTzz6HspoFb95gY95yUb/EMNlt8ZmXNShN\n"
- "dadwBBqiNVRrdcBP0LQAcrTwTW2OfunkzVJ+r+bw/Y3DYJ5/jw0Tg9OQMbpKoAwo\n"
- "SIzzWjLxzr5jg4QtyaDFVtyXEjrftiJvzvbmgDdoMoFqsblLbSBidB6u+nkzG99+\n"
- "dNTcluKdZRJ1oj5Jl/ccqViSEVSfANyoWRo7gsWtFyMJ5BoYARUBQxjxbGYOd11p\n"
- "IDS9mFkPa7v8h6TUr4nvglh8rdnC/F+4S/Q9DElK4gRz1ZBMPBFtWhw8uEx27HsC\n"
- "NjADdBLeixeY/7AlscIk1o2ICUweL1/AyLqlKEltPwHsgWoKja8ajZm86q/IQhID\n"
- "NbjPGeVS+cYxnWRxiNO0yPdiNKB0/2BgoRa5Xz4G8YdxbUZZNZV2d0daG9SmPOIJ\n"
- "ikmjB3TnnPHWhENtoMieZVUk5xteoirWokUezzN0i3yJvmHVNLJBOyLTXNQvKw6F\n"
- "ufD9vj12xHV4r1D0vwYkLMCbbBhvlimjMZxPLe27/dQRmpGn54Zd+EQmTu8lZoeF\n"
- "r1E03AVCuf+IyjkXNPMS/7ljManPZMgvSaECggJxdDsg+VIkO4id44ATLjZ006oB\n"
- "C2S+xktCmj1/GUXLwn4XkaWJU6C10rADD139hGyoBdWFZeHq2MCNJ2agKYqrPa6O\n"
- "qt+GkIDbbQ1AtUqW4xEL3koMhe7g4CpqI0n07orAoqQQGvmrTqhNCOz3ftMQKtkM\n"
- "qoiLwbdEU0X0s41vkCDxF52448ZMYQ5327kAa5mMG1lYrS7kQ9tLJ45z7RSw7Pan\n"
- "tTi18cLE42kOe/wdaK/nakjNoIUcJC8VqYJ75IOnkxmMrP7wWpigHojLjjG2rCiU\n"
- "qYwS+E5f+3WhESvu72DXjCClI/QQ5iQ9+BDtXzfzxVxpNicaAZtAVns/JPMzkVEH\n"
- "A4efNXo8CwOMCyqhnKxKuprPAekDwjYyr6fI2iqcfb0TpnuAp9fOkjgkVZIuLAs7\n"
- "gsyms9eniaFCGNLAwTkfEjxBVGP/5kSaka9w0Vj6g+mfeqEw2frD1LfEU5l2/F0t\n"
- "iFYmtmgxpAnlWOF+Y6dlKqFwZbFiqzSZNMwzn29Lhx7hONJqzMzGhjk7heYwB7A8\n"
- "8bloepcbvWcZJ/2dhmfsgk8CXVW22C0jB/nU2NpAcTki3TVAZ40cbt1fTdgS4tRJ\n"
- "zR9OgLsjfuTo0LbEPbPDldytP1Xcdw+0hdxdYUv+G2UsdNKAcx+c+9VisogwQ5Ms\n"
- "dUuE9B5EJO5cd8hz2w6SJ7Fe0uQHnXM0I+EtycCLcTjyO/ZMkQMZh7Yj37oOB+tJ\n"
- "D2uAHdq0IHmBrEQWHOBuhwNNLtu90yfzT8hIPPmoY7ho+qIu+QhD65FLVIu1bU+3\n"
- "nfEvcF4wdqMneAh+KlLyZbGSZdhZpD1YjP8cNvcO6w==\n"
- "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MIIWOwIBADANBgkqhkiG9w0BAQEFAASCFiUwghYhAgEAAoIE4wDFrkizbnbH5DQk\n"
+ "wRmhTYNNlWpM9AwV+S/1suMUKtu1RAKMQHXzug+H0cS8SqS4LmFWXYf6Q9ru7axi\n"
+ "u2E80J0xd3+RUCZIT2JLuwq5Xxn1QREd6s/S2nTr3jxamy4N7iJSwrMMuRDBPfHe\n"
+ "mfOPR/taNCQsHHuevnfckSgqlTQqrpmHlQdJqkl1nyPTLqwBn1ANgge8GRcz4vqC\n"
+ "xlQ5Xt2oTn7vV76j66lRmhGSnCjByQiO+20IqahpRJ+zAGbyn1z/wbBrD5Nb3T82\n"
+ "ICCOWVy7443RwUQb855ya2d9ikjMXXgzx5bZCM4DsrnU8/YQhgzqwnNnoRScJSQs\n"
+ "eDy1XKW4Y0hT7T+lwIrc8rQA9qEoItDLQog1xhLyiY8dSCJdZkuezZau8mKeSFwO\n"
+ "oOEgN3kXdwYt3Nqmzk0qaBE2lkkUYLioA6PQwWqRT7cvKrzV8QpyauGwBONWm280\n"
+ "Onf+AWImo2vLRgKZLdCduiS6AIo95ZwlnJd/1DNWUL80ZkZBc3SdwxSQIMRtByxt\n"
+ "jPTv1O7iH788wWsigVOpzgOfBtM06mCeUwd05kiHCXnaVJGOen9WPIl4+mPdnXt5\n"
+ "VuhVk+zapy6R0K2NQ8Fnz7JwhV4N/xoe27r125LScIgPfNdvu8612pxDi0dj9KY0\n"
+ "RUrbABdmHR7ZNQzY9Pc6kJx79MF/67ZGH231u2/vlcjxBtjrxKVlROcVkQuwTsg8\n"
+ "OB3AgRFeIg4x+ZMvpc0ECSZYSxVAF8eI/nl3kHhv/emeJDdGEGvRfyliHybQcBnI\n"
+ "UYohT/x6Ac8QfoRUVCVvOYb+5s1vwkY3B+IBONuvoFYv9oX/iXGovX+A5D121m8r\n"
+ "i3Kzl0hdxI3/8JET+uFQIKX6SDsO5d32H/GDVByeeQgbKZRvruU0VdnH9qWX0fTw\n"
+ "CkH2V259zBoW9aFzfuwZZOdoukSfE02qU8Cv0b0EdkC1R7OsZLHv5hEkofrXF6+6\n"
+ "iZN4xf5PUeU79hIqhfZHdCT0KVZDOtPvdwJiERqLlsMU70xfTSFFR9cEqXa7wYTM\n"
+ "zPA3/WhJa5cxhBtbk0/5QByEGLzaKFHbODZL5bOXg0Javu+PA1dqPR7VQrALGTbK\n"
+ "kbHt1f9RF72yS21mCv29rw2tbpo2iSJOAboEqrix+O9upnf64CI+DpCeeMsQaLN9\n"
+ "Uaejj65+TLfLnJzcwiAu+vGjwiEenuJep/l5s8F3JigG4CERGnsIMFwgOg4VbbHK\n"
+ "WPBPClp0wKYLauYma7A2/EpPWv0Rn+OKrCJXDzO6Fhw/QtMzkH46UOs4VUFb3NEX\n"
+ "iVIpffT9xHtdo+UZLpZthOy64l5SdaxLjaOtCI5AfzzHjOstyrCRyEuXlIHDrLBL\n"
+ "RECzMEjw6QfMWZsEivpDS+CZ/L66B3qyy/kRzwiZ+DVRB0FZyXOBamlvwkUFONjy\n"
+ "R6q31uBV9l9X5w6O4xOo50c/967ifaH/p8QLB3iyTXZ/J6wqBVu0yQxc6RNQJ4Yi\n"
+ "y2yu9FfsEC6lEhJduX6AAr8TDSQHhiKhcjnUU1U7t4iQSRkh1Yt+v0naJLGI646W\n"
+ "CFhzi/4Ik4Vbr8MgGEr3oiHTKC17O24ngP4YFdfHuHiYfKB0CTrM9C1n6dvP2o86\n"
+ "XStLcXpc6ZHsaBxdfpnF+mPgB93/tcVHcie2qUduo29KSRlwimKLCQIDAQABAoIE\n"
+ "4itvYAoM+4xwWAS7aSZIIdGqQvElroIlfqQ96idEQ4JQrz6h60jiWQc+0DuPKyJN\n"
+ "DpYrdvVGc5SMJJSNF5CFRgTYfO8w7Th2OOLq9jBE9S8uXNR2A7QQzCAHdLtz3Wqy\n"
+ "KFiG71CcWVIcikifCyUwa8omKsyGdaMrtqqAOpMgtZWrR5DC7hcBk6KElRqR5rl0\n"
+ "h+Jv78MkwDRmayTQ7zCr54hTtxBf90ONRGbps3LDXTE3Ouov1IVSwe5fZbevHu+w\n"
+ "lH6d0GW1xmso8fqylHSyre2a0k6EaLK7lNUPRG4RNG2zG/ZEpKCLjrjBTJO+BxMa\n"
+ "YTwz/aeHfT/R6WDcCnrPIJqjNgE64AFLjTd/HI4Zos9u1vHSbJtkKkWgdBG7B9H9\n"
+ "6B+8jJ9kIscknxWXw9+QUMsXHAR3wpNkQRBQTXfxDZ2souZH5na4CPJk0ZtLiLJ5\n"
+ "hBIf6fcDG/CrtoODVVo6c5aJ0eWYPHnr1yrQ+8Di3X08NlMNVTyBI8aTd2/MCSPY\n"
+ "eocvlhUVHhPWv6xSjH8mClclIp/239N1Fyz4V1NZ7I5z8UbYd4r4DnedXWjbrB/i\n"
+ "SphoNMygN9E6CSdgMSyclC53DYR8laW0fYqR2GNg6omow9SD81CSLnCOyVad17h1\n"
+ "S7YpkqxErisIVnylvQzhuEJ3o4+WWHxTVv9HRxr1bI7u+93sify0cqPyBXTwTDmB\n"
+ "u9XEjgHvHOJgbR7ONbtWoLpOQVA5xl1x0NpSKFq+JK0wjGdNguMCm3QAFpTo4DxE\n"
+ "32voxO8KaTzjZMbfI7quGIu2WgkFw43D73XA7iiUDg/AYC03TjF2jM7KLCXdxROg\n"
+ "35gRFl1AFRfTV39VwxN/pMGNx5mVgxsQDtwPmrbv+rMlTOgn9gBAXw+9P5ClV6bl\n"
+ "I6BdmNVx2RLf1EnTBYeq8FqEcSX+AkG5+TdP5Oaq/pNdP5s0UzoxI2NyzqZF24kH\n"
+ "F8ixnTQma8Q0s6TapR0OqLaNCj4EN/jnb4FbKS8h9oGmJTUy6J8lxraChQkUhA5t\n"
+ "yBOM++NmiaUJQc88uZMAI7+6kBDEUPjZlhJTO3iaWJVZm7i0IErySHQ+Jj12sPuo\n"
+ "nFtSh3GTjWDGZANufiTy0KJDopTYZp3m+iv3/5KhkbLT/gdM+SoP4mGRVC7ZYbqd\n"
+ "ibszOv0lbN6zLcQjd7MEMMk4U5N3hDzo+Jfg8zbC/Q3A0GhgDDVhmywL7uyMCj+D\n"
+ "+JW0T+bqsxbCUHJARSgZMR1tE61GJWJ8M8Nj+7WLeYAnzo8PrrDS1rHTsav6YBUh\n"
+ "3sjg12UG5nAhMUC+jiL75OOTpzqkzSvcB7nGhLo+0DERtkKuNeUOnfKnEA4W/p5b\n"
+ "QtEdTlTPMPiaFWLaQ6iw5i+rMJgNJp5oUxe5NILf4aMI3OgjX3yZwqo/vo66EqZG\n"
+ "9qo6isHr4fj8jy9De5XnECeJyEQMl6Yv4KjuX8t2aGJnAWEUMCEtVJw3Zi+0O7wE\n"
+ "OPoRBp8noSfPsNNww1nsK85IoaYdcS0fmisom36TOo3pKTZc6ZcpQ4sPUrMJ9aW1\n"
+ "/UC7lptQcTKgH4FORICXNV/xojIPCFQD3GTZofCFlvebGanv7pzgGp1N6fzuO2eI\n"
+ "b5bjvy4BNRiV106ltidEZXG2+o6zVNsdNI5zvNNDceFx8mf7EJaVaWOrpp9LEFLS\n"
+ "ESUBAoICcgDrL2cZ1Om4iMgIAS00cYO9nchWx5s/MdDF7vZgBACjNmEBZoqMpNZb\n"
+ "NYjbGcIfj1WnWrp7jMoyyWbqoAaQAMyUWTvnD4ftsOAASVbWUpv1FdiqTRlBZVva\n"
+ "Gqy8rSyZa2H8Pq97mWA9w1zlZOrJMtybpk28iyjRy5TZSV58OM5qO6KlhCy+HHlP\n"
+ "UCOQZ+AFLOB1BPI4D64uKp9kzadN1g4EQMvF8WnAupU0k20h8CDIUdctxnny62X0\n"
+ "J5aPhsq04ci1TU+n6WAM/yStTcUAd+JZua4kXymlpDr2zSsqtgz0Axcbe0FVYJG3\n"
+ "uvDco/fgyAEa9M4gQt3oatQ0LeqqzLM1761JbnGQikExQM8KoCrfGQ6MUzYyL7KU\n"
+ "VXzuXNvvZHyT5NzKrxaGTcDlY0vvqrxei17kSjfBdss7eH+Tqytzg4SyQab0NvnN\n"
+ "W5+Rw0opol4El+LRFARERXp+HerFaU3Er8pZqlpnDA/XSlEy5jXJcwCMWABTuuvw\n"
+ "5nuTw9l1SEpnYm7x/x+P73gCUdOMeGX06w7k2Y3JnUvifJUrh9axMjCIXAMLJM7a\n"
+ "1EF7reOoJtVN/7slxh1eTAx3xFAZ+iDte5yEqNK375SlVWMm2BnbvG3H50fCx9Lz\n"
+ "KZ8cOKYKNZ5Q7iImNQ06jjoQzHAI4oJdvjutvm0TZSjDFUBHgcFTgVdZZIXweJSi\n"
+ "63QRDQdjyoaB3jowDRwP/AWI2o2QzapmG8zEB7gDafbam5IROf0gcj+/rUo9Dlor\n"
+ "QMI07d0qpHhL+VAcn3b8MI69rv4moB8Kf9RqdRyVJ3hua7pQ24B72KjC93noUrW0\n"
+ "lILbi65C4AufAoICcgDXLSTE9lkyrSr1Lamb3ag0SWbernBtkkTJPktloD6drQg7\n"
+ "lsXAFaV62SazBmg2ZtayB9D9HUU276F0sWQbxBD9hO/WGnVOMT7rgu5WMuUKid+H\n"
+ "oWj5oT+KMPccoPjrsBZHlXvpgtb8M5dp+l1HyRR1YN4J6y6oEhRDoWAApDgA1B29\n"
+ "nuICrMlMFE0TkNFz7YsiMMkDYAVGbjjPhCJu4eD698Ktopl1BUAKJwfI+6mxDDSu\n"
+ "+F6z2/0alJYo5Qb6+YsUSOpjCyRwQbahO/3drb4Gv1B5DmiHDhSZ5UwzUQbHdBAE\n"
+ "9PeColcWJtW5msRuxwZkbE4QGuWzQyBGgmy8bF0hpcaE0nbn0RQEqHHngcrTuu1l\n"
+ "zte9k8z6BLwYnVFcJyfTjGWqEr0Z5M8gpVNY0OHxuqHTpXMwFigzwEqH5+EHtGGZ\n"
+ "NN/daeUTyJgU+OFnEtoHfDCRoGrNbW2LgifJeOxvGvczVcF111jfuSehoVvJG1kl\n"
+ "1iQXwj22HHaDvJFQRDgEMRXnz98UikQwLolfSJF4qKENPdhWq3jmVCjdFLPuvxq4\n"
+ "q0fGLa19XWPfLZ/Fw0Oyy54Fq8Lm67EkeLouAB3RbSg9fwBNJw0p5XTiHykR5pBa\n"
+ "b7mkch/+GPrhuA/tsO1U1bFn1ykGswSTiUzdtBbYRXuczX6SoIuJgCqwI2RIZ9cS\n"
+ "k4bwnAHEcLHlZ2pzaGNRfEjKUnNgXsUo6txi57UXwaugvQ8eQiDQgYXKlj6jNden\n"
+ "2RwXhBHPFF+FRh0PGcGKOpqjptb3r/EUl2C7RDsXLClhJUpDDWb/0nnn175ODSeM\n"
+ "DKcHf6d+CBh28n1mumhXAoICcTAiOoKx7cfDztS8kOjr1p+nPEpufdqYMndgKfKK\n"
+ "vyqoRYBI4VBZqDlwonrdMbrN1iTzT7lbnkJ4r+STLeSpFTXDcZwftJ00FxRX7jrd\n"
+ "G2g0uWxZbTLSMNNZpELVWoxnyt0aY0XzpRve8RNN7TOSgk4k4kIVZRxTAzrZZkoc\n"
+ "QjrBy87+Vz3ti/Jsn2q9p77HaYTppz1MEEUImijCYlxu092Q+WOgvhkg1sq05aAN\n"
+ "ilgVT+nhdjH+dZZbx9fGKZSNpUtd8FCYVf0y9um1Qf2Pi7b7ZqWxCFALZbn/Ubdj\n"
+ "HRGP1FnehweXRRuKWiN+N4w8wuUmd01pAgvAWX/4ac/dJ0yBqkCeJwYDFcaj0fwF\n"
+ "veB9O1oC6dOpqW3sdS4/uQ+szEZkj7+3x+9i2HjaMr9xfS4Ibjpg6jphOsUIK2wo\n"
+ "mzMAFtd40lenLMcX2ne1tWcCASYFg/lwlFL4uVI4g0U2ASGhLNPfJrNyZ4eTgTze\n"
+ "muGI9PLETATW+9UJBv++FLKJQhkYr0Y+BdKqmzA2WQql1ZAjz5+M2xUJaW+IOet3\n"
+ "2LvZXs95rXHJbcChsmlCtJZEpGFbVo0rl/UlsWONvSsj4ztXkjggaUgV86FG8Y0Q\n"
+ "q3IqhXllX22BAi6cNSFMgscSJD3CDyEsuHFkjIPFo6Rd33qaJZKwp5hRmt8aaVZ5\n"
+ "Ov0BOsRj63nE4/7YG6Alv35wA8lulxAgjr7CwMs6l8CsJxTQ2b7BKashM9GYB3QZ\n"
+ "HzJVz7BGIiyO1GuHzHeSuzIwCSLbesbw6CRDN+OgfgmfudqnQO0s3NW2B1LqH27P\n"
+ "DePK+vc0OTIQQ3oa7xFJ7DdprVcCggJyAM8itfKk8tjFukSq4Esa5YDv6AcVBUV1\n"
+ "OKJBRXNe/ufqWbKDQXnXXKUVxRsxX8B+3s4imBwQwUBRDau32Baid3iVMAt7DNFo\n"
+ "tpkgQS7Zb4LlljiKOPOVNgVhfYAhtX2s1MW0MMRpH2tIfsmWKZWhDACybww9SXyh\n"
+ "asBv6Gq1qvOhPb/74rWQf3atVEUxc2+VjAotzFNja7CRCj85g6wZ5Omy98UOcYsk\n"
+ "srETQXtIR+IXTd/hV8jsTIn531MepcmTzz6HspoFb95gY95yUb/EMNlt8ZmXNShN\n"
+ "dadwBBqiNVRrdcBP0LQAcrTwTW2OfunkzVJ+r+bw/Y3DYJ5/jw0Tg9OQMbpKoAwo\n"
+ "SIzzWjLxzr5jg4QtyaDFVtyXEjrftiJvzvbmgDdoMoFqsblLbSBidB6u+nkzG99+\n"
+ "dNTcluKdZRJ1oj5Jl/ccqViSEVSfANyoWRo7gsWtFyMJ5BoYARUBQxjxbGYOd11p\n"
+ "IDS9mFkPa7v8h6TUr4nvglh8rdnC/F+4S/Q9DElK4gRz1ZBMPBFtWhw8uEx27HsC\n"
+ "NjADdBLeixeY/7AlscIk1o2ICUweL1/AyLqlKEltPwHsgWoKja8ajZm86q/IQhID\n"
+ "NbjPGeVS+cYxnWRxiNO0yPdiNKB0/2BgoRa5Xz4G8YdxbUZZNZV2d0daG9SmPOIJ\n"
+ "ikmjB3TnnPHWhENtoMieZVUk5xteoirWokUezzN0i3yJvmHVNLJBOyLTXNQvKw6F\n"
+ "ufD9vj12xHV4r1D0vwYkLMCbbBhvlimjMZxPLe27/dQRmpGn54Zd+EQmTu8lZoeF\n"
+ "r1E03AVCuf+IyjkXNPMS/7ljManPZMgvSaECggJxdDsg+VIkO4id44ATLjZ006oB\n"
+ "C2S+xktCmj1/GUXLwn4XkaWJU6C10rADD139hGyoBdWFZeHq2MCNJ2agKYqrPa6O\n"
+ "qt+GkIDbbQ1AtUqW4xEL3koMhe7g4CpqI0n07orAoqQQGvmrTqhNCOz3ftMQKtkM\n"
+ "qoiLwbdEU0X0s41vkCDxF52448ZMYQ5327kAa5mMG1lYrS7kQ9tLJ45z7RSw7Pan\n"
+ "tTi18cLE42kOe/wdaK/nakjNoIUcJC8VqYJ75IOnkxmMrP7wWpigHojLjjG2rCiU\n"
+ "qYwS+E5f+3WhESvu72DXjCClI/QQ5iQ9+BDtXzfzxVxpNicaAZtAVns/JPMzkVEH\n"
+ "A4efNXo8CwOMCyqhnKxKuprPAekDwjYyr6fI2iqcfb0TpnuAp9fOkjgkVZIuLAs7\n"
+ "gsyms9eniaFCGNLAwTkfEjxBVGP/5kSaka9w0Vj6g+mfeqEw2frD1LfEU5l2/F0t\n"
+ "iFYmtmgxpAnlWOF+Y6dlKqFwZbFiqzSZNMwzn29Lhx7hONJqzMzGhjk7heYwB7A8\n"
+ "8bloepcbvWcZJ/2dhmfsgk8CXVW22C0jB/nU2NpAcTki3TVAZ40cbt1fTdgS4tRJ\n"
+ "zR9OgLsjfuTo0LbEPbPDldytP1Xcdw+0hdxdYUv+G2UsdNKAcx+c+9VisogwQ5Ms\n"
+ "dUuE9B5EJO5cd8hz2w6SJ7Fe0uQHnXM0I+EtycCLcTjyO/ZMkQMZh7Yj37oOB+tJ\n"
+ "D2uAHdq0IHmBrEQWHOBuhwNNLtu90yfzT8hIPPmoY7ho+qIu+QhD65FLVIu1bU+3\n"
+ "nfEvcF4wdqMneAh+KlLyZbGSZdhZpD1YjP8cNvcO6w==\n"
+ "-----END PRIVATE KEY-----\n";
static char server_key_repro_pem[] =
- "-----BEGIN PRIVATE KEY-----\n"
- "MIIWMgIBADANBgkqhkiG9w0BAQEFAASCFhwwghYYAgEAAoIE4QDlLopBshMEROYt\n"
- "nS3ZM02uRH0dFMreyhCNuoX5EPOsZRgTbGXM3myDqCWuIiFRf10OoSH8yzaT4nYS\n"
- "tvz91Do3JM/qHsNXyQP5Ql4NQkfp9sl8gutog1Y3svWM6fpl/mZTPTLAJcW+HPi3\n"
- "5GStCgnlXi6U8JLk4mmjuIt0m/O95x0EZ0qmC8Rn7Ijk8VHH24fMX3cWu+LSTQzr\n"
- "WAGoBZWcl54EBm03GiUf92MW5CP3JpoTq/cwJ65b103GGC5CEhlFWaKTKQJ8EScu\n"
- "ood3AUy7JvN13KIk+lw9cJ7Htw7GPe8ixzrsNaBIyJIiAFkS8iWYjfUGJkifM5XH\n"
- "enMAx5UG6hdHWvbkrLL50Dpy46sPJvzNfMiY9ukVOaEMVSlXwHkuwMU/ZxyJL6w/\n"
- "r3xS+xHdWQhDBgLFH4zIfUn36eEtDkGQ79B/wvx64M27mm+VLFWaS96lwfpmkmdV\n"
- "940V0oTRVMYqIYfAfFX6Sr+U6GYF7Y6Te0vMLNQjHweCR33+1iUO4U21QYNA6ea8\n"
- "Fs7wu60J9i+61gYJo+TN3hQPgBS+6R8ZIN7DNA6LRVB0dQtLIYhS7tPXm3sdOfP2\n"
- "L72KftzmLYeYm9tDSx8BV9EN6wY3GfP8YJ7RQAwSWowEQLfleMUbI/ZAeIsJAqvo\n"
- "dTQtUTDmzXWkk132HDe7bit+IIYSoUl70fOr4sJaF+cjPdWM6WjDUp7uSy//P3ZZ\n"
- "gfhI14TWXIEh/0eNvHP5toWctRKXb0D79D5A4fNz79h802fxWDfUg4Ol+qoL8Ms6\n"
- "NI3s1LTDDqJITwMQLFFuuUGvUD0x9WP0XHl7m2YcdQg1U1JP7vmMXsoa/zVcgovw\n"
- "IFhiA69Umlu8BipEn9xeQjYdyBMBMRMasUjXgQt9OoLv43UqLVzjd1AtRURYZREO\n"
- "T86gYU53SHHPvOyTA2U4ZyON0WVzPRLpHrg+9YhaL9bzXgcqtK13Zdj56B3jHgnz\n"
- "ge3MmjYvJntGtCGl2D310FaG7GWg775Evh2I4np5nXsA9dnSqySFzAP3rJ/L5pUi\n"
- "bQ+QDuYnNwATvRu57Gx3kgmMrMvKooudcpYlrekJUzjS6PfmsHPCYx97rqmeCvGZ\n"
- "m8O4PmxC0NDr1MnTuBGjX1IOTuICrzHfoDPa07hxhOwQ35wa1a+aXgQGP3bqTISq\n"
- "t9VV6/DWZ1NNsujAbbd+2oSYYhE9e4QZCCnpWQw1cmnwyVhvAVsTzkfDxwDDYBNj\n"
- "+L/uG8BaoCuAtA1exDCXiLBwuS9fkwuO26NJoCx/hVih6sIqe7YS2qcubJiByMeU\n"
- "YqPO/N7MrJK/psm7WG9Jby62xEYulfU28dYOFdjtFLaUY472Mo6Rxth6R9H/95tc\n"
- "DX7ndmPMtYkBUJ91QyGwXLj/QozlH7woVzm7kdZmO5sCu4aezXylPnK7cTVwzTsk\n"
- "3moucKsMshh9Sd+baxyVFrXlvntOGkrU0FdHh2aF47eCb5+agu3Aw6PHK+v9XsUR\n"
- "FEw6xqqIp9aJsY6VkjM4zcglrrDJbAbujozRAZp7D5XPtSDfBAG7bdeZOCA4DZUE\n"
- "QxY2HRJw6OeKLOclaEeCxW1LKBWW/oYbyo/0tK9ND+mk/WUOKXeBA47F+OGZLP2S\n"
- "JzMWxJLuvL1XbMzHk/nrtN+mzgg1zbLdwuX9XUGcXQCDL2w3SCECAwEAAQKCBOAZ\n"
- "dUIGajGSl9S53GvrZLeMVC9Ru62NcgTEuaOIN0naLKCwB6qHR23mchc9cK0i0HMV\n"
- "3PBZlHlLlCxph8oyqBCPb5do+mHYrouydJzd/C7g3nkjS6e6xFwfc9GzBYq7KbdU\n"
- "J8grcAa3R6CZTNWiIytWP1ANW2v14PC7LxTOr0Q0JCglBRRVvZjjsnLCe8wJ12kO\n"
- "Wsxvyg84LTbyLaSBdZ1Y976l09Dt/gmBs4leUZltKuySoteikcXcjd4l0ynQTRJh\n"
- "kcNtdXDBN2aS15sUrSBI6drBjPC2CtmUOZ5psPwDKX4W7uqssohLjXwuKru6Twu+\n"
- "FobRWA9ZH/HTZta/j2wOiJJtar1iSYzYEzlq6b9mv331lZby5vqdUPmC1TLyfH75\n"
- "opBGqr2Qv6ryqBu3XAxv+iPgzhogq5CH9OLylxhcWOkPoJQYnSBOxgoUfONIPtSD\n"
- "f0oMP7ABFOJFumoBspDub+xTYcYiq60hUIxXjjlHD0x3NYsF8zTdceTzo91rIX6c\n"
- "WIq5R728yD7JRf9W3oIqSR6kMoIZMAuKktDHqAKl8l9x+yTDqlSzQ8/cH+RRRDhQ\n"
- "fhcqLCtQ488l2cfESrNfHk+htC53GzEmhQrD8QePt2JS9qittd+hak2Da20CIJhE\n"
- "m4oPP1Sye4l9GQfiwNId0VTwIy6c2CWYvHQ4XoSGLURsbLYUsevE9kLGt2exb3wj\n"
- "tlnRPqjmQbZz2uwpq0cmSMBPdnwMUpLPemb9MWAPUlx1oHwJ2Q+iIVJ7C0DQnmwV\n"
- "P0aweVfKW8U3gf8B/97UjBuazKwab9Hb6thRESi7E/c2fc9A29JL9vQieE78ch8w\n"
- "mEIp8SaT/l09gq6mTSUhYl6k5Z1iNHtrqgRr9uyfB5+fm4P3Hc5GzwCC38sU7rL3\n"
- "zO6Dk5z+3VD2T9L+X9vZ6Z9mjvzKylQpZta8d5EAWkUiPaVY8xYcbtNKRahK5zFB\n"
- "wgzTya1uFi9C0TBG07OONuT15bagbqjqsrZ6daLxqtiX6CUtNEAp8UWLlR3jW2/r\n"
- "p1iE3AeW61MfKCmvsl+J9vZ8Vy+iisFaUVJWfhGFpH5WCO4idQiXZyjfsTAQhPV3\n"
- "yBB65LVsXCZWXOiiwmmH3GIvY7fvVTQbM8Rz6FlLr8y8VPACsLJE2OnfRlwZvKaC\n"
- "+Iwl1fKq+W457VdtkVMOzwAjWbcUpwuOzoUnuRoWj7hH+CuNwSeWAYWfPB+obhBN\n"
- "g01jfzY/GKBoYmu5+5nudwhbKTzt1zJ7aBoq0iJ0yWD12DtQImWiWU7ax2wf9pfe\n"
- "lIUL/aUJ2TxZbEYTOl+xeogQkikuSBlNYtM1coOjsXSRCjULW2f9GAl+VT/BA5ld\n"
- "SwvRAgBYoC+X3r4IfBha5nrZStllAwMjgtM8VW2ZgMe7he7csY0WbeNNyH856Pe2\n"
- "2lT49CjudbBytuPbRJXnuiiCVJnB3Qc8ntTthPIFHVLZRrNex6SGG22ANC27jKz7\n"
- "s4Y+JJiAjZMfe2+Nvne3Vd9febCokhzH1HNHOjCx4U4sv2rmmCwGpw1NwRxX7hau\n"
- "4cKPXkhH4iCurpG3ZbooN3DRRfNRdXT/G9Klt2HlI8kvdD2PCNtAGOQOHmHzZdKL\n"
- "V/HvPkqTCdi+OuSPS9YHeHFZZUpqUZ+7eiyjQ86KzgmNi/TQWR/6IEIYe+k4QMEC\n"
- "ggJxAPL6qmGPkdU4spW/FM4NmFG+ApqfisFH1hU/BzGqnL6p7DdfqzcgydyyVC/3\n"
- "/j1QsV/2mh81a/Kho1AawHghjxz2k8ekARGic62tAf7pqoZFYtdGXa9hhned+9Ic\n"
- "3esSItAUKlhX+XlQ6mZ7XUEbt4+6AhkZtiBgIHAUpoa90M0ru/zUoudUKatTfcAa\n"
- "x9C6Uc6kBSIx7L4anGanDHuyivf3tl23UiRH06PHvb/XFCifAb9uXjfZ4+FiZdvR\n"
- "7SM5EROtqJSXaMu3E/ZbK3qZSA4MK53Wr7lfKsyfvoDSxbauUPkUr8qsdIoLmIn4\n"
- "gSjlFoH7ZFZVGgTB3ZW3DdOEm+7hGVwIHRR+KyM/oQevDspHeQbxWA2gx6MUavPG\n"
- "KQVe8dAUVvhP0jktgwCfN/A6S/1yTXYxkmDmjlHUbchyD4hv+/3Z/+5ChAtCjVX2\n"
- "+ybqRFAkJbqGeHUonWK1w+qzordT/9i/4Qg46qjVZvfvsEyyABMCptFaV4sPMJbY\n"
- "CUFpCLEsQ5eHa+GgTp9V0rXoITsemJjXTAUxnEUjZ6MqfQkFs/CsLAoOaD5YjGdQ\n"
- "HmyUEw2sRn4q+iFUlB3rq7BBqVyUrPzI9FajWlKL/Tr472a35uTKEd7Rvm/unY9Y\n"
- "P5HM5o9v2hY3jF2qgK6/ksYkrdEVL95BRIXbJ8bk44bwja4eEfAESI7Rpc31bXd+\n"
- "iNKnmMaB2A9iyzhZgZd5cTIpLM7rUwO7+IH8sd4gIKHVYUpy/KHJQ9wPy6pwc69R\n"
- "MJ6HljhaRtaethkwr4Ehon3fvuQcll0rXfhbh9kN+UfE+77psBPyrLtNTTke6Ucc\n"
- "4UkXGwKCAnEA8XaYDScKT2ngP/BPE9Pt/YiDoqhfGPCVMKC3/tiErdeoCk/NW6wF\n"
- "00PYmaZVADXZ++kjwFfXv2w52k+8E1TEorUgap2VpAMFGmAasLkey/AuOSHK2zzU\n"
- "5BWF2gwu2vDiHDs59brcH2fxGRtF/rHkZIq+fs9uHlIXARq7Wlcuu6ZkFT+qRGOl\n"
- "091rFAhPmYZekBQoCjUOqPtxVPoGvdpp8SDjwet8KUBPgY0WEyZ0jGwMl25pCmlL\n"
- "DGFXgbUm1dtTCxFyTC7fcp+6GmrT5FwhCBygY7pT8oAqV1C/uyvAcfFkIZAlRZQ+\n"
- "FTeK8Kug2XBO1ycD5LrNZEWv91bQsMt1iF3A5PFSMwjcC+s07ZiAfhx0A3HX1sWV\n"
- "VvhP+0NdY4aI7YQbUO4eSGiYOr2JPlOIQ9ObApOjQKysTuWTkwcUWCCbsMDk5CrR\n"
- "XBrN91X/BJkLvcax0lPNpAko+avEVwxd/MsEKg8Tcc/rZajzVxqYei+fiCB7j2ye\n"
- "V1SfpdFbScSoKreEtUEx+3BUVLAmmCmEtsO/d3b7G8yXwakLn05J2Vhw/3yNUdm7\n"
- "hOYXMuqrEL2TO8oFTUUKRNRml0m4ymfKrdy1VLgx7wVUNNM/RAZEGFtb1B6VHF3E\n"
- "3AHqR22H/aepgBQkN5s+P0eMgVOiEI2KTDGkOye0UgI/+7ZtfjLjGqvqX2X9J6Kk\n"
- "QqfNl0jOTmKl0/3zrvAR1AOrTv6EvDxsLOfh3Nlr2I/t0RCzkeb5ECSiHmK9EjrA\n"
- "b9cED3fgil2XiY7uyRW+3TpX6PJWSYxOlIaF/6YCy/vj09nQhLdnGQzuIEQLQHJn\n"
- "nS+YVXYR0SVzAoICcHnxma8K+dqz8NS8qHldU1O6892cMmwcXHIfRsIDaVU7PITx\n"
- "66DoQMcVbLECWkN1iv+paOI+0mVb//WE55Gi7gtQKQyp36t1B29jg7vmk6F9k0SN\n"
- "WRla7bx8ulRSDoIagQRDCpl51YewN2OliEDT40Uryj/EqqYG+GCnzIeVHgTKbTdP\n"
- "lE5a6+rDJTpTdnLn/4Sgxr7JpZInEtVmAxrVmW8nkAvqpDv3HF13MmDkVYapfpwP\n"
- "jROks/x6gLpY2hWyX0KsBg5FCuAqisc6LFEEOqhqLT2y8FAtVfKKPXaz0WyEgbjw\n"
- "S+WAtaBOf4jHAjN+/dPQUiQN49f9X/LygurkA8pYiHyqycVuKMIw/eU4U0jro+77\n"
- "EwEL7wWGisK7cfzzEJMokhlfHhd6IuQeBFn5OAgD5KJr8JXXQBgLb+mIbQlBgot9\n"
- "bDeshE6OYRaCtLtsGUrLSXAaarwJ3SscJC5XZ1NwwdeLPSn+Pq7rIxlN3wIu12Cz\n"
- "FPu+xm7Q+cbKt6JvT2Bz4Zxb56W96ZeH4A9RZ9Qe3+DdNJbqtg3w3eOCwGvVw+AG\n"
- "2LdXUbPwhs6W5B4EFqfnDR3m/c/afdeiXnFAEvqW11aqmA4fP4ZsIXQGWUgJBcVP\n"
- "MLbONzA/5i150bWfyxqzvRUnXbfoiVqqZMQyxlVHt9VoljZDrevhFdu0QLbg+oml\n"
- "7LBYwUjjYsP06kAmwsLliYT3RRyLt0FJPqk5Bvb2HZyjKu453x6mqxntWD2gBfBA\n"
- "bWE1QDbS5wxWx/rX+2lezWyLDMMJrxs0wTNBJrGfM0uhJzEs5rnljHUbhGjlKWxp\n"
- "f40lF5uSSutYsCwZfwKCAnAiRppo64zMHxRlHyCqiN/0qGc/NLVjHeufnoDf3S5g\n"
- "WweQhyl4hN/C0JOzo+fXAs3xs3OOvylyE9PWiJEDEXpkOl/iooH2aTNVPiUrxut3\n"
- "OZ3mIETigC0cP23juO0ByUXfigy9NAxBLQkNblCuSeRI3WUTLTDNfwui7X+A4HVS\n"
- "z9jPJ11tHdQRUhH8Iv3hpjBQNXxFjqiJFkBNNry0QIffYbLS+TGDzYw7sKJcj43l\n"
- "zQSwjky83Jt5o2u/js53dw2/uXdHFzRC2ieZzmZLuUQ7GY0u+ukluEnKYT0GPbyw\n"
- "r/ptxT91NAjoDB1d8o7/rrCSXAhydI3pWPcUni87mXYSqHRUS2lGs1BBJN87hvVe\n"
- "cX2Ka6Oe6ic71D3ORg7ArP1M8f7KqzKDRs2tMPCFd2gVcLlFUV3QNXK0NGSRb2TU\n"
- "6bQQECGtveJAN9Ha9UshBPSkuMrPN3Quf9pgLqDNVoUU+GCb883nzwL0SFpal/zj\n"
- "A1WbBjlj76A+d1W+PQy/WPoiLjDZZerJbXWbG/IukV40b28Db1FP7efw5qUutPdI\n"
- "sgRAUBbjcovq3pqWcLddxftbdl7wTAecI6Z4fU+M89TSf00CPK9h5ZjBcuc9KcKK\n"
- "zpUndDvobese6+qsvwCZ4i3ub22AsznP08E/LncH8H+cN0O/3e/74DPi8E90pZaV\n"
- "V6gKaLjZ4n18tMM7YWtftyMhB6CKyatONEMiEIEZE16rtTLbncVwVWYF0mAbKvVZ\n"
- "9ElLFOsP5mUgux3pcDPgkE6NiUueIccZMkn+WEAlapRRAxOMaa1l9Viu3vF5lWs+\n"
- "JBa9X8tVF6hbqMDwCLWYwb8CggJxAMwL6SAeYP9kjq7tkk+TmZVTHDlV4Yw9kWAY\n"
- "a9etQ4vJibIkyzrfJXIVmsY+df7m3uaNWnmNe3VuZxLv04sPyL8OMu+PIUct3174\n"
- "sNYN5AjmjmuBLvs1vBF8VvQ8+TsH5HjzXYcSQM3OJ1G/GPjsptqHj/w3kLmHsQgW\n"
- "Fps5OXWgjQEsVnrRL/Z5D6s4z8OPMRN3KAqb1k4Cp5m32f9bzBIHEPdHc1JLFx0X\n"
- "4xFQ4m1Dfbab8/VGnm9mS67zDtJWjxUSeTlR84hONXqzPke5h/W4QGrUgHutm0zb\n"
- "ch/CufhsxF6RjiK7EuKqZWZDDj0uxqOlI6X/Exf53KZRLwJlmhdaED5LP8BA2IHt\n"
- "nRL7F0uGfaLMP5CCDyN36GjmrlCEilwQQSpJF6QnYEEkLaxjksqTzQ54ZtboLf7O\n"
- "HY0iYN1fmuWpf41ljljHe5H58vKDr/oQkANfz6I2lBCdmz7GkmBPmed8XHJSWqs8\n"
- "41tyHXPBAQj+1MQtsW0xjl2ajoF7mwrRVHQL0xLVQcwmXqNQyMJ905WRMBhLShRR\n"
- "hXipo7nDHDE8jiRyTZGNIg12D6tDLD5tmPXK5Hmzn4pLPWcN6Q9UvWn0PWql31sx\n"
- "3dNqZ6PlYyh0b92+pymfDF3TBvZI2PeOICQsiFnqwhMyrV0Ojwt/QxIFudJJf2u4\n"
- "7EA14n87SVjMhF1l6BoP4wdqt21uU0UhpyFACCoH2arFFulGJjC2/d5drNq7hSef\n"
- "LNMz9MPPkamMWQ6i7vlTlUjAOtIfukre/fG4qyVclTaAiKx6EXt98DSBjPLoMJO7\n"
- "3sczn4+LAjtXDT3RX0aUWr+JQABd+g==\n" "-----END PRIVATE KEY-----\n";
+ "-----BEGIN PRIVATE KEY-----\n"
+ "MIIWMgIBADANBgkqhkiG9w0BAQEFAASCFhwwghYYAgEAAoIE4QDlLopBshMEROYt\n"
+ "nS3ZM02uRH0dFMreyhCNuoX5EPOsZRgTbGXM3myDqCWuIiFRf10OoSH8yzaT4nYS\n"
+ "tvz91Do3JM/qHsNXyQP5Ql4NQkfp9sl8gutog1Y3svWM6fpl/mZTPTLAJcW+HPi3\n"
+ "5GStCgnlXi6U8JLk4mmjuIt0m/O95x0EZ0qmC8Rn7Ijk8VHH24fMX3cWu+LSTQzr\n"
+ "WAGoBZWcl54EBm03GiUf92MW5CP3JpoTq/cwJ65b103GGC5CEhlFWaKTKQJ8EScu\n"
+ "ood3AUy7JvN13KIk+lw9cJ7Htw7GPe8ixzrsNaBIyJIiAFkS8iWYjfUGJkifM5XH\n"
+ "enMAx5UG6hdHWvbkrLL50Dpy46sPJvzNfMiY9ukVOaEMVSlXwHkuwMU/ZxyJL6w/\n"
+ "r3xS+xHdWQhDBgLFH4zIfUn36eEtDkGQ79B/wvx64M27mm+VLFWaS96lwfpmkmdV\n"
+ "940V0oTRVMYqIYfAfFX6Sr+U6GYF7Y6Te0vMLNQjHweCR33+1iUO4U21QYNA6ea8\n"
+ "Fs7wu60J9i+61gYJo+TN3hQPgBS+6R8ZIN7DNA6LRVB0dQtLIYhS7tPXm3sdOfP2\n"
+ "L72KftzmLYeYm9tDSx8BV9EN6wY3GfP8YJ7RQAwSWowEQLfleMUbI/ZAeIsJAqvo\n"
+ "dTQtUTDmzXWkk132HDe7bit+IIYSoUl70fOr4sJaF+cjPdWM6WjDUp7uSy//P3ZZ\n"
+ "gfhI14TWXIEh/0eNvHP5toWctRKXb0D79D5A4fNz79h802fxWDfUg4Ol+qoL8Ms6\n"
+ "NI3s1LTDDqJITwMQLFFuuUGvUD0x9WP0XHl7m2YcdQg1U1JP7vmMXsoa/zVcgovw\n"
+ "IFhiA69Umlu8BipEn9xeQjYdyBMBMRMasUjXgQt9OoLv43UqLVzjd1AtRURYZREO\n"
+ "T86gYU53SHHPvOyTA2U4ZyON0WVzPRLpHrg+9YhaL9bzXgcqtK13Zdj56B3jHgnz\n"
+ "ge3MmjYvJntGtCGl2D310FaG7GWg775Evh2I4np5nXsA9dnSqySFzAP3rJ/L5pUi\n"
+ "bQ+QDuYnNwATvRu57Gx3kgmMrMvKooudcpYlrekJUzjS6PfmsHPCYx97rqmeCvGZ\n"
+ "m8O4PmxC0NDr1MnTuBGjX1IOTuICrzHfoDPa07hxhOwQ35wa1a+aXgQGP3bqTISq\n"
+ "t9VV6/DWZ1NNsujAbbd+2oSYYhE9e4QZCCnpWQw1cmnwyVhvAVsTzkfDxwDDYBNj\n"
+ "+L/uG8BaoCuAtA1exDCXiLBwuS9fkwuO26NJoCx/hVih6sIqe7YS2qcubJiByMeU\n"
+ "YqPO/N7MrJK/psm7WG9Jby62xEYulfU28dYOFdjtFLaUY472Mo6Rxth6R9H/95tc\n"
+ "DX7ndmPMtYkBUJ91QyGwXLj/QozlH7woVzm7kdZmO5sCu4aezXylPnK7cTVwzTsk\n"
+ "3moucKsMshh9Sd+baxyVFrXlvntOGkrU0FdHh2aF47eCb5+agu3Aw6PHK+v9XsUR\n"
+ "FEw6xqqIp9aJsY6VkjM4zcglrrDJbAbujozRAZp7D5XPtSDfBAG7bdeZOCA4DZUE\n"
+ "QxY2HRJw6OeKLOclaEeCxW1LKBWW/oYbyo/0tK9ND+mk/WUOKXeBA47F+OGZLP2S\n"
+ "JzMWxJLuvL1XbMzHk/nrtN+mzgg1zbLdwuX9XUGcXQCDL2w3SCECAwEAAQKCBOAZ\n"
+ "dUIGajGSl9S53GvrZLeMVC9Ru62NcgTEuaOIN0naLKCwB6qHR23mchc9cK0i0HMV\n"
+ "3PBZlHlLlCxph8oyqBCPb5do+mHYrouydJzd/C7g3nkjS6e6xFwfc9GzBYq7KbdU\n"
+ "J8grcAa3R6CZTNWiIytWP1ANW2v14PC7LxTOr0Q0JCglBRRVvZjjsnLCe8wJ12kO\n"
+ "Wsxvyg84LTbyLaSBdZ1Y976l09Dt/gmBs4leUZltKuySoteikcXcjd4l0ynQTRJh\n"
+ "kcNtdXDBN2aS15sUrSBI6drBjPC2CtmUOZ5psPwDKX4W7uqssohLjXwuKru6Twu+\n"
+ "FobRWA9ZH/HTZta/j2wOiJJtar1iSYzYEzlq6b9mv331lZby5vqdUPmC1TLyfH75\n"
+ "opBGqr2Qv6ryqBu3XAxv+iPgzhogq5CH9OLylxhcWOkPoJQYnSBOxgoUfONIPtSD\n"
+ "f0oMP7ABFOJFumoBspDub+xTYcYiq60hUIxXjjlHD0x3NYsF8zTdceTzo91rIX6c\n"
+ "WIq5R728yD7JRf9W3oIqSR6kMoIZMAuKktDHqAKl8l9x+yTDqlSzQ8/cH+RRRDhQ\n"
+ "fhcqLCtQ488l2cfESrNfHk+htC53GzEmhQrD8QePt2JS9qittd+hak2Da20CIJhE\n"
+ "m4oPP1Sye4l9GQfiwNId0VTwIy6c2CWYvHQ4XoSGLURsbLYUsevE9kLGt2exb3wj\n"
+ "tlnRPqjmQbZz2uwpq0cmSMBPdnwMUpLPemb9MWAPUlx1oHwJ2Q+iIVJ7C0DQnmwV\n"
+ "P0aweVfKW8U3gf8B/97UjBuazKwab9Hb6thRESi7E/c2fc9A29JL9vQieE78ch8w\n"
+ "mEIp8SaT/l09gq6mTSUhYl6k5Z1iNHtrqgRr9uyfB5+fm4P3Hc5GzwCC38sU7rL3\n"
+ "zO6Dk5z+3VD2T9L+X9vZ6Z9mjvzKylQpZta8d5EAWkUiPaVY8xYcbtNKRahK5zFB\n"
+ "wgzTya1uFi9C0TBG07OONuT15bagbqjqsrZ6daLxqtiX6CUtNEAp8UWLlR3jW2/r\n"
+ "p1iE3AeW61MfKCmvsl+J9vZ8Vy+iisFaUVJWfhGFpH5WCO4idQiXZyjfsTAQhPV3\n"
+ "yBB65LVsXCZWXOiiwmmH3GIvY7fvVTQbM8Rz6FlLr8y8VPACsLJE2OnfRlwZvKaC\n"
+ "+Iwl1fKq+W457VdtkVMOzwAjWbcUpwuOzoUnuRoWj7hH+CuNwSeWAYWfPB+obhBN\n"
+ "g01jfzY/GKBoYmu5+5nudwhbKTzt1zJ7aBoq0iJ0yWD12DtQImWiWU7ax2wf9pfe\n"
+ "lIUL/aUJ2TxZbEYTOl+xeogQkikuSBlNYtM1coOjsXSRCjULW2f9GAl+VT/BA5ld\n"
+ "SwvRAgBYoC+X3r4IfBha5nrZStllAwMjgtM8VW2ZgMe7he7csY0WbeNNyH856Pe2\n"
+ "2lT49CjudbBytuPbRJXnuiiCVJnB3Qc8ntTthPIFHVLZRrNex6SGG22ANC27jKz7\n"
+ "s4Y+JJiAjZMfe2+Nvne3Vd9febCokhzH1HNHOjCx4U4sv2rmmCwGpw1NwRxX7hau\n"
+ "4cKPXkhH4iCurpG3ZbooN3DRRfNRdXT/G9Klt2HlI8kvdD2PCNtAGOQOHmHzZdKL\n"
+ "V/HvPkqTCdi+OuSPS9YHeHFZZUpqUZ+7eiyjQ86KzgmNi/TQWR/6IEIYe+k4QMEC\n"
+ "ggJxAPL6qmGPkdU4spW/FM4NmFG+ApqfisFH1hU/BzGqnL6p7DdfqzcgydyyVC/3\n"
+ "/j1QsV/2mh81a/Kho1AawHghjxz2k8ekARGic62tAf7pqoZFYtdGXa9hhned+9Ic\n"
+ "3esSItAUKlhX+XlQ6mZ7XUEbt4+6AhkZtiBgIHAUpoa90M0ru/zUoudUKatTfcAa\n"
+ "x9C6Uc6kBSIx7L4anGanDHuyivf3tl23UiRH06PHvb/XFCifAb9uXjfZ4+FiZdvR\n"
+ "7SM5EROtqJSXaMu3E/ZbK3qZSA4MK53Wr7lfKsyfvoDSxbauUPkUr8qsdIoLmIn4\n"
+ "gSjlFoH7ZFZVGgTB3ZW3DdOEm+7hGVwIHRR+KyM/oQevDspHeQbxWA2gx6MUavPG\n"
+ "KQVe8dAUVvhP0jktgwCfN/A6S/1yTXYxkmDmjlHUbchyD4hv+/3Z/+5ChAtCjVX2\n"
+ "+ybqRFAkJbqGeHUonWK1w+qzordT/9i/4Qg46qjVZvfvsEyyABMCptFaV4sPMJbY\n"
+ "CUFpCLEsQ5eHa+GgTp9V0rXoITsemJjXTAUxnEUjZ6MqfQkFs/CsLAoOaD5YjGdQ\n"
+ "HmyUEw2sRn4q+iFUlB3rq7BBqVyUrPzI9FajWlKL/Tr472a35uTKEd7Rvm/unY9Y\n"
+ "P5HM5o9v2hY3jF2qgK6/ksYkrdEVL95BRIXbJ8bk44bwja4eEfAESI7Rpc31bXd+\n"
+ "iNKnmMaB2A9iyzhZgZd5cTIpLM7rUwO7+IH8sd4gIKHVYUpy/KHJQ9wPy6pwc69R\n"
+ "MJ6HljhaRtaethkwr4Ehon3fvuQcll0rXfhbh9kN+UfE+77psBPyrLtNTTke6Ucc\n"
+ "4UkXGwKCAnEA8XaYDScKT2ngP/BPE9Pt/YiDoqhfGPCVMKC3/tiErdeoCk/NW6wF\n"
+ "00PYmaZVADXZ++kjwFfXv2w52k+8E1TEorUgap2VpAMFGmAasLkey/AuOSHK2zzU\n"
+ "5BWF2gwu2vDiHDs59brcH2fxGRtF/rHkZIq+fs9uHlIXARq7Wlcuu6ZkFT+qRGOl\n"
+ "091rFAhPmYZekBQoCjUOqPtxVPoGvdpp8SDjwet8KUBPgY0WEyZ0jGwMl25pCmlL\n"
+ "DGFXgbUm1dtTCxFyTC7fcp+6GmrT5FwhCBygY7pT8oAqV1C/uyvAcfFkIZAlRZQ+\n"
+ "FTeK8Kug2XBO1ycD5LrNZEWv91bQsMt1iF3A5PFSMwjcC+s07ZiAfhx0A3HX1sWV\n"
+ "VvhP+0NdY4aI7YQbUO4eSGiYOr2JPlOIQ9ObApOjQKysTuWTkwcUWCCbsMDk5CrR\n"
+ "XBrN91X/BJkLvcax0lPNpAko+avEVwxd/MsEKg8Tcc/rZajzVxqYei+fiCB7j2ye\n"
+ "V1SfpdFbScSoKreEtUEx+3BUVLAmmCmEtsO/d3b7G8yXwakLn05J2Vhw/3yNUdm7\n"
+ "hOYXMuqrEL2TO8oFTUUKRNRml0m4ymfKrdy1VLgx7wVUNNM/RAZEGFtb1B6VHF3E\n"
+ "3AHqR22H/aepgBQkN5s+P0eMgVOiEI2KTDGkOye0UgI/+7ZtfjLjGqvqX2X9J6Kk\n"
+ "QqfNl0jOTmKl0/3zrvAR1AOrTv6EvDxsLOfh3Nlr2I/t0RCzkeb5ECSiHmK9EjrA\n"
+ "b9cED3fgil2XiY7uyRW+3TpX6PJWSYxOlIaF/6YCy/vj09nQhLdnGQzuIEQLQHJn\n"
+ "nS+YVXYR0SVzAoICcHnxma8K+dqz8NS8qHldU1O6892cMmwcXHIfRsIDaVU7PITx\n"
+ "66DoQMcVbLECWkN1iv+paOI+0mVb//WE55Gi7gtQKQyp36t1B29jg7vmk6F9k0SN\n"
+ "WRla7bx8ulRSDoIagQRDCpl51YewN2OliEDT40Uryj/EqqYG+GCnzIeVHgTKbTdP\n"
+ "lE5a6+rDJTpTdnLn/4Sgxr7JpZInEtVmAxrVmW8nkAvqpDv3HF13MmDkVYapfpwP\n"
+ "jROks/x6gLpY2hWyX0KsBg5FCuAqisc6LFEEOqhqLT2y8FAtVfKKPXaz0WyEgbjw\n"
+ "S+WAtaBOf4jHAjN+/dPQUiQN49f9X/LygurkA8pYiHyqycVuKMIw/eU4U0jro+77\n"
+ "EwEL7wWGisK7cfzzEJMokhlfHhd6IuQeBFn5OAgD5KJr8JXXQBgLb+mIbQlBgot9\n"
+ "bDeshE6OYRaCtLtsGUrLSXAaarwJ3SscJC5XZ1NwwdeLPSn+Pq7rIxlN3wIu12Cz\n"
+ "FPu+xm7Q+cbKt6JvT2Bz4Zxb56W96ZeH4A9RZ9Qe3+DdNJbqtg3w3eOCwGvVw+AG\n"
+ "2LdXUbPwhs6W5B4EFqfnDR3m/c/afdeiXnFAEvqW11aqmA4fP4ZsIXQGWUgJBcVP\n"
+ "MLbONzA/5i150bWfyxqzvRUnXbfoiVqqZMQyxlVHt9VoljZDrevhFdu0QLbg+oml\n"
+ "7LBYwUjjYsP06kAmwsLliYT3RRyLt0FJPqk5Bvb2HZyjKu453x6mqxntWD2gBfBA\n"
+ "bWE1QDbS5wxWx/rX+2lezWyLDMMJrxs0wTNBJrGfM0uhJzEs5rnljHUbhGjlKWxp\n"
+ "f40lF5uSSutYsCwZfwKCAnAiRppo64zMHxRlHyCqiN/0qGc/NLVjHeufnoDf3S5g\n"
+ "WweQhyl4hN/C0JOzo+fXAs3xs3OOvylyE9PWiJEDEXpkOl/iooH2aTNVPiUrxut3\n"
+ "OZ3mIETigC0cP23juO0ByUXfigy9NAxBLQkNblCuSeRI3WUTLTDNfwui7X+A4HVS\n"
+ "z9jPJ11tHdQRUhH8Iv3hpjBQNXxFjqiJFkBNNry0QIffYbLS+TGDzYw7sKJcj43l\n"
+ "zQSwjky83Jt5o2u/js53dw2/uXdHFzRC2ieZzmZLuUQ7GY0u+ukluEnKYT0GPbyw\n"
+ "r/ptxT91NAjoDB1d8o7/rrCSXAhydI3pWPcUni87mXYSqHRUS2lGs1BBJN87hvVe\n"
+ "cX2Ka6Oe6ic71D3ORg7ArP1M8f7KqzKDRs2tMPCFd2gVcLlFUV3QNXK0NGSRb2TU\n"
+ "6bQQECGtveJAN9Ha9UshBPSkuMrPN3Quf9pgLqDNVoUU+GCb883nzwL0SFpal/zj\n"
+ "A1WbBjlj76A+d1W+PQy/WPoiLjDZZerJbXWbG/IukV40b28Db1FP7efw5qUutPdI\n"
+ "sgRAUBbjcovq3pqWcLddxftbdl7wTAecI6Z4fU+M89TSf00CPK9h5ZjBcuc9KcKK\n"
+ "zpUndDvobese6+qsvwCZ4i3ub22AsznP08E/LncH8H+cN0O/3e/74DPi8E90pZaV\n"
+ "V6gKaLjZ4n18tMM7YWtftyMhB6CKyatONEMiEIEZE16rtTLbncVwVWYF0mAbKvVZ\n"
+ "9ElLFOsP5mUgux3pcDPgkE6NiUueIccZMkn+WEAlapRRAxOMaa1l9Viu3vF5lWs+\n"
+ "JBa9X8tVF6hbqMDwCLWYwb8CggJxAMwL6SAeYP9kjq7tkk+TmZVTHDlV4Yw9kWAY\n"
+ "a9etQ4vJibIkyzrfJXIVmsY+df7m3uaNWnmNe3VuZxLv04sPyL8OMu+PIUct3174\n"
+ "sNYN5AjmjmuBLvs1vBF8VvQ8+TsH5HjzXYcSQM3OJ1G/GPjsptqHj/w3kLmHsQgW\n"
+ "Fps5OXWgjQEsVnrRL/Z5D6s4z8OPMRN3KAqb1k4Cp5m32f9bzBIHEPdHc1JLFx0X\n"
+ "4xFQ4m1Dfbab8/VGnm9mS67zDtJWjxUSeTlR84hONXqzPke5h/W4QGrUgHutm0zb\n"
+ "ch/CufhsxF6RjiK7EuKqZWZDDj0uxqOlI6X/Exf53KZRLwJlmhdaED5LP8BA2IHt\n"
+ "nRL7F0uGfaLMP5CCDyN36GjmrlCEilwQQSpJF6QnYEEkLaxjksqTzQ54ZtboLf7O\n"
+ "HY0iYN1fmuWpf41ljljHe5H58vKDr/oQkANfz6I2lBCdmz7GkmBPmed8XHJSWqs8\n"
+ "41tyHXPBAQj+1MQtsW0xjl2ajoF7mwrRVHQL0xLVQcwmXqNQyMJ905WRMBhLShRR\n"
+ "hXipo7nDHDE8jiRyTZGNIg12D6tDLD5tmPXK5Hmzn4pLPWcN6Q9UvWn0PWql31sx\n"
+ "3dNqZ6PlYyh0b92+pymfDF3TBvZI2PeOICQsiFnqwhMyrV0Ojwt/QxIFudJJf2u4\n"
+ "7EA14n87SVjMhF1l6BoP4wdqt21uU0UhpyFACCoH2arFFulGJjC2/d5drNq7hSef\n"
+ "LNMz9MPPkamMWQ6i7vlTlUjAOtIfukre/fG4qyVclTaAiKx6EXt98DSBjPLoMJO7\n"
+ "3sczn4+LAjtXDT3RX0aUWr+JQABd+g==\n"
+ "-----END PRIVATE KEY-----\n";
static char server_cert_repro_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIILHTCCBiWgAwIBAgIJAKyNy9vjy7TCMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\n"
- "BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\n"
- "aWRnaXRzIFB0eSBMdGQwHhcNMTcwOTEzMTAzNzU0WhcNMTcwOTE0MTAzNzU0WjBF\n"
- "MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\n"
- "ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIFAjANBgkqhkiG9w0BAQEFAAOCBO8AMIIE\n"
- "6gKCBOEA5S6KQbITBETmLZ0t2TNNrkR9HRTK3soQjbqF+RDzrGUYE2xlzN5sg6gl\n"
- "riIhUX9dDqEh/Ms2k+J2Erb8/dQ6NyTP6h7DV8kD+UJeDUJH6fbJfILraINWN7L1\n"
- "jOn6Zf5mUz0ywCXFvhz4t+RkrQoJ5V4ulPCS5OJpo7iLdJvzvecdBGdKpgvEZ+yI\n"
- "5PFRx9uHzF93Frvi0k0M61gBqAWVnJeeBAZtNxolH/djFuQj9yaaE6v3MCeuW9dN\n"
- "xhguQhIZRVmikykCfBEnLqKHdwFMuybzddyiJPpcPXCex7cOxj3vIsc67DWgSMiS\n"
- "IgBZEvIlmI31BiZInzOVx3pzAMeVBuoXR1r25Kyy+dA6cuOrDyb8zXzImPbpFTmh\n"
- "DFUpV8B5LsDFP2cciS+sP698UvsR3VkIQwYCxR+MyH1J9+nhLQ5BkO/Qf8L8euDN\n"
- "u5pvlSxVmkvepcH6ZpJnVfeNFdKE0VTGKiGHwHxV+kq/lOhmBe2Ok3tLzCzUIx8H\n"
- "gkd9/tYlDuFNtUGDQOnmvBbO8LutCfYvutYGCaPkzd4UD4AUvukfGSDewzQOi0VQ\n"
- "dHULSyGIUu7T15t7HTnz9i+9in7c5i2HmJvbQ0sfAVfRDesGNxnz/GCe0UAMElqM\n"
- "BEC35XjFGyP2QHiLCQKr6HU0LVEw5s11pJNd9hw3u24rfiCGEqFJe9Hzq+LCWhfn\n"
- "Iz3VjOlow1Ke7ksv/z92WYH4SNeE1lyBIf9Hjbxz+baFnLUSl29A+/Q+QOHzc+/Y\n"
- "fNNn8Vg31IODpfqqC/DLOjSN7NS0ww6iSE8DECxRbrlBr1A9MfVj9Fx5e5tmHHUI\n"
- "NVNST+75jF7KGv81XIKL8CBYYgOvVJpbvAYqRJ/cXkI2HcgTATETGrFI14ELfTqC\n"
- "7+N1Ki1c43dQLUVEWGURDk/OoGFOd0hxz7zskwNlOGcjjdFlcz0S6R64PvWIWi/W\n"
- "814HKrStd2XY+egd4x4J84HtzJo2LyZ7RrQhpdg99dBWhuxloO++RL4diOJ6eZ17\n"
- "APXZ0qskhcwD96yfy+aVIm0PkA7mJzcAE70buexsd5IJjKzLyqKLnXKWJa3pCVM4\n"
- "0uj35rBzwmMfe66pngrxmZvDuD5sQtDQ69TJ07gRo19SDk7iAq8x36Az2tO4cYTs\n"
- "EN+cGtWvml4EBj926kyEqrfVVevw1mdTTbLowG23ftqEmGIRPXuEGQgp6VkMNXJp\n"
- "8MlYbwFbE85Hw8cAw2ATY/i/7hvAWqArgLQNXsQwl4iwcLkvX5MLjtujSaAsf4VY\n"
- "oerCKnu2EtqnLmyYgcjHlGKjzvzezKySv6bJu1hvSW8utsRGLpX1NvHWDhXY7RS2\n"
- "lGOO9jKOkcbYekfR//ebXA1+53ZjzLWJAVCfdUMhsFy4/0KM5R+8KFc5u5HWZjub\n"
- "AruGns18pT5yu3E1cM07JN5qLnCrDLIYfUnfm2sclRa15b57ThpK1NBXR4dmheO3\n"
- "gm+fmoLtwMOjxyvr/V7FERRMOsaqiKfWibGOlZIzOM3IJa6wyWwG7o6M0QGaew+V\n"
- "z7Ug3wQBu23XmTggOA2VBEMWNh0ScOjniiznJWhHgsVtSygVlv6GG8qP9LSvTQ/p\n"
- "pP1lDil3gQOOxfjhmSz9kiczFsSS7ry9V2zMx5P567Tfps4INc2y3cLl/V1BnF0A\n"
- "gy9sN0ghAgMBAAGjUDBOMB0GA1UdDgQWBBT27j2hLGIaF0HRrGTPPxyYPcZiVDAf\n"
- "BgNVHSMEGDAWgBT27j2hLGIaF0HRrGTPPxyYPcZiVDAMBgNVHRMEBTADAQH/MA0G\n"
- "CSqGSIb3DQEBCwUAA4IE4QABjOzAO+aLbSvGPc5J0dFJV2upqv/lIQuwYkYwiDYn\n"
- "jYiKvdldmx9DA4e6l+yE/7yAphz1qviySPzIDl3zsBxoTlUd1ghsm4R7euC827e8\n"
- "MsJDMK8CfsXepqcvca2nrNpakDZ+z+e/y+UoAFiDMZhLX8N0a1+5+cQrONMMqEWa\n"
- "GRV+SlH2dJHfi1aG981Br5pfoJmQbWRjj8sLM1e2EIe3NovcVDnS//7T3PcDINRM\n"
- "M341onBL93/yv/iBevekTkx3FnjLF7qJRRqKX5bc0+H5Fe0sV7ObIEAAFyrRMp/l\n"
- "A3AYCZ5vu9ueWdmmyuBZTro6eWyQN4G1WkYVYQMpa8JwOrclpSaa/d5f16u4wRLe\n"
- "JguamO/qMbxpaVJPSXXiX+dwyaVow6l7s9O1+jrYDVhJACVP0OIfLtPeBZlbo4T9\n"
- "B2XeFbgOZXT9gfz/vsq+pH9rBKrtvXzYAWEThlqjh1qNKfmG3bYwSJhsL5NnVOae\n"
- "xZ8VveeDV05VfIQX3NpqK9gxoVMlbMX+zEdRpBak8d4P+wKMrLm2Vg+1MtfMsDes\n"
- "bi0i2oHH2ESvY7elv1YTgORXjz6HmzA3L7oaISNgIoxbzVVu1hhBTD4MZXaFHGbW\n"
- "E9IpEhHPNK6UHetbxJwN2X2lONEOwoDDzXerrmIjn6yHJetLOBTb0IAdaOvzEmyP\n"
- "k4lhXJ9uOd0hdSqAIgKiFrrYNnXvYGMwItQPyI0KXN2e4B/kgZX9L/4SQwIpJuHy\n"
- "Voit0WZVCAhIxA4SkYi7X/5qW2t/Kg4kfUxWO6itq8QChikSatkyLVtv9SOksQnm\n"
- "2+alnBWhEziN7T4teM1qvj+Deiv3EYPaLBw68jJgKJ55lTt8vbHDWw07WUX7xP6C\n"
- "BVKPh8fDH/j95Uyfsv5WxKBfjUFYD/c2R33AClST9iWCmZn2LJm66rzOx/dZ19eH\n"
- "BJHeooCCzmk9BMrSLqcuzBaUsKjiKrlYeHa+klqgYhhDQxdxJ1GRUZbEywVc1+FL\n"
- "fnDK2edISlUDZ2FsOK+X+bf4g5UhQzhnJZwTZhH3m35tM7AvX3ZpRmSoApbAEbqM\n"
- "ndj3v4z7l/VYve/waZjVwLL+lzKTgOKh91RxzJcs34j/pvi9Srf7nif6O9Kf+F7z\n"
- "bKKdN4RAypUxv9v0EjSolQ0lpUNQBJNJeepgqLzVNdDaEOAP0g/5LsFscpfawo80\n"
- "KRCIJH1+C0OqZpHcu9w99l0/NsVOb50+IUhe1gA+wZDC8puODmacWNCctXG9cojZ\n"
- "lcagSLUvh1jt/t6fsl2ObyL64+1RPrvi1A11mtqbUxS4iTa6l45yth+IjbpexVwh\n"
- "YJUKTfBnWzS1RNBPJwsn6wRuvIWZT/VdQ5q/lTCWvovKPKg/gnwrlqqErVXgdgyG\n"
- "YGdChbh3R4jYgHlUASa/xo5Nes+X2DRy+2OzaHrDKdo2pxwqMtzQjogPVTBOG0r1\n"
- "iCNaCF9hLjJakrxsaoLBlb90bJ1ZrlYtqNXwKZphbLvgVELsPCghrwhbV9wdP6Le\n"
- "zMnPLeicTSDPiq2nkDUWlbDd5oOhrTORf8gWRuPJVJ+noEkAkQEZkGHRnt3ouio6\n"
- "P0BTNfA6e2quOiZ+8YSvWwOlwO2I0z8vy1IPQYIApX3S0UCPSep33u3KdL28O68z\n"
- "pNVz4Hd2IpWckRR5ahdK00I=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIILHTCCBiWgAwIBAgIJAKyNy9vjy7TCMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\n"
+ "BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX\n"
+ "aWRnaXRzIFB0eSBMdGQwHhcNMTcwOTEzMTAzNzU0WhcNMTcwOTE0MTAzNzU0WjBF\n"
+ "MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50\n"
+ "ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIFAjANBgkqhkiG9w0BAQEFAAOCBO8AMIIE\n"
+ "6gKCBOEA5S6KQbITBETmLZ0t2TNNrkR9HRTK3soQjbqF+RDzrGUYE2xlzN5sg6gl\n"
+ "riIhUX9dDqEh/Ms2k+J2Erb8/dQ6NyTP6h7DV8kD+UJeDUJH6fbJfILraINWN7L1\n"
+ "jOn6Zf5mUz0ywCXFvhz4t+RkrQoJ5V4ulPCS5OJpo7iLdJvzvecdBGdKpgvEZ+yI\n"
+ "5PFRx9uHzF93Frvi0k0M61gBqAWVnJeeBAZtNxolH/djFuQj9yaaE6v3MCeuW9dN\n"
+ "xhguQhIZRVmikykCfBEnLqKHdwFMuybzddyiJPpcPXCex7cOxj3vIsc67DWgSMiS\n"
+ "IgBZEvIlmI31BiZInzOVx3pzAMeVBuoXR1r25Kyy+dA6cuOrDyb8zXzImPbpFTmh\n"
+ "DFUpV8B5LsDFP2cciS+sP698UvsR3VkIQwYCxR+MyH1J9+nhLQ5BkO/Qf8L8euDN\n"
+ "u5pvlSxVmkvepcH6ZpJnVfeNFdKE0VTGKiGHwHxV+kq/lOhmBe2Ok3tLzCzUIx8H\n"
+ "gkd9/tYlDuFNtUGDQOnmvBbO8LutCfYvutYGCaPkzd4UD4AUvukfGSDewzQOi0VQ\n"
+ "dHULSyGIUu7T15t7HTnz9i+9in7c5i2HmJvbQ0sfAVfRDesGNxnz/GCe0UAMElqM\n"
+ "BEC35XjFGyP2QHiLCQKr6HU0LVEw5s11pJNd9hw3u24rfiCGEqFJe9Hzq+LCWhfn\n"
+ "Iz3VjOlow1Ke7ksv/z92WYH4SNeE1lyBIf9Hjbxz+baFnLUSl29A+/Q+QOHzc+/Y\n"
+ "fNNn8Vg31IODpfqqC/DLOjSN7NS0ww6iSE8DECxRbrlBr1A9MfVj9Fx5e5tmHHUI\n"
+ "NVNST+75jF7KGv81XIKL8CBYYgOvVJpbvAYqRJ/cXkI2HcgTATETGrFI14ELfTqC\n"
+ "7+N1Ki1c43dQLUVEWGURDk/OoGFOd0hxz7zskwNlOGcjjdFlcz0S6R64PvWIWi/W\n"
+ "814HKrStd2XY+egd4x4J84HtzJo2LyZ7RrQhpdg99dBWhuxloO++RL4diOJ6eZ17\n"
+ "APXZ0qskhcwD96yfy+aVIm0PkA7mJzcAE70buexsd5IJjKzLyqKLnXKWJa3pCVM4\n"
+ "0uj35rBzwmMfe66pngrxmZvDuD5sQtDQ69TJ07gRo19SDk7iAq8x36Az2tO4cYTs\n"
+ "EN+cGtWvml4EBj926kyEqrfVVevw1mdTTbLowG23ftqEmGIRPXuEGQgp6VkMNXJp\n"
+ "8MlYbwFbE85Hw8cAw2ATY/i/7hvAWqArgLQNXsQwl4iwcLkvX5MLjtujSaAsf4VY\n"
+ "oerCKnu2EtqnLmyYgcjHlGKjzvzezKySv6bJu1hvSW8utsRGLpX1NvHWDhXY7RS2\n"
+ "lGOO9jKOkcbYekfR//ebXA1+53ZjzLWJAVCfdUMhsFy4/0KM5R+8KFc5u5HWZjub\n"
+ "AruGns18pT5yu3E1cM07JN5qLnCrDLIYfUnfm2sclRa15b57ThpK1NBXR4dmheO3\n"
+ "gm+fmoLtwMOjxyvr/V7FERRMOsaqiKfWibGOlZIzOM3IJa6wyWwG7o6M0QGaew+V\n"
+ "z7Ug3wQBu23XmTggOA2VBEMWNh0ScOjniiznJWhHgsVtSygVlv6GG8qP9LSvTQ/p\n"
+ "pP1lDil3gQOOxfjhmSz9kiczFsSS7ry9V2zMx5P567Tfps4INc2y3cLl/V1BnF0A\n"
+ "gy9sN0ghAgMBAAGjUDBOMB0GA1UdDgQWBBT27j2hLGIaF0HRrGTPPxyYPcZiVDAf\n"
+ "BgNVHSMEGDAWgBT27j2hLGIaF0HRrGTPPxyYPcZiVDAMBgNVHRMEBTADAQH/MA0G\n"
+ "CSqGSIb3DQEBCwUAA4IE4QABjOzAO+aLbSvGPc5J0dFJV2upqv/lIQuwYkYwiDYn\n"
+ "jYiKvdldmx9DA4e6l+yE/7yAphz1qviySPzIDl3zsBxoTlUd1ghsm4R7euC827e8\n"
+ "MsJDMK8CfsXepqcvca2nrNpakDZ+z+e/y+UoAFiDMZhLX8N0a1+5+cQrONMMqEWa\n"
+ "GRV+SlH2dJHfi1aG981Br5pfoJmQbWRjj8sLM1e2EIe3NovcVDnS//7T3PcDINRM\n"
+ "M341onBL93/yv/iBevekTkx3FnjLF7qJRRqKX5bc0+H5Fe0sV7ObIEAAFyrRMp/l\n"
+ "A3AYCZ5vu9ueWdmmyuBZTro6eWyQN4G1WkYVYQMpa8JwOrclpSaa/d5f16u4wRLe\n"
+ "JguamO/qMbxpaVJPSXXiX+dwyaVow6l7s9O1+jrYDVhJACVP0OIfLtPeBZlbo4T9\n"
+ "B2XeFbgOZXT9gfz/vsq+pH9rBKrtvXzYAWEThlqjh1qNKfmG3bYwSJhsL5NnVOae\n"
+ "xZ8VveeDV05VfIQX3NpqK9gxoVMlbMX+zEdRpBak8d4P+wKMrLm2Vg+1MtfMsDes\n"
+ "bi0i2oHH2ESvY7elv1YTgORXjz6HmzA3L7oaISNgIoxbzVVu1hhBTD4MZXaFHGbW\n"
+ "E9IpEhHPNK6UHetbxJwN2X2lONEOwoDDzXerrmIjn6yHJetLOBTb0IAdaOvzEmyP\n"
+ "k4lhXJ9uOd0hdSqAIgKiFrrYNnXvYGMwItQPyI0KXN2e4B/kgZX9L/4SQwIpJuHy\n"
+ "Voit0WZVCAhIxA4SkYi7X/5qW2t/Kg4kfUxWO6itq8QChikSatkyLVtv9SOksQnm\n"
+ "2+alnBWhEziN7T4teM1qvj+Deiv3EYPaLBw68jJgKJ55lTt8vbHDWw07WUX7xP6C\n"
+ "BVKPh8fDH/j95Uyfsv5WxKBfjUFYD/c2R33AClST9iWCmZn2LJm66rzOx/dZ19eH\n"
+ "BJHeooCCzmk9BMrSLqcuzBaUsKjiKrlYeHa+klqgYhhDQxdxJ1GRUZbEywVc1+FL\n"
+ "fnDK2edISlUDZ2FsOK+X+bf4g5UhQzhnJZwTZhH3m35tM7AvX3ZpRmSoApbAEbqM\n"
+ "ndj3v4z7l/VYve/waZjVwLL+lzKTgOKh91RxzJcs34j/pvi9Srf7nif6O9Kf+F7z\n"
+ "bKKdN4RAypUxv9v0EjSolQ0lpUNQBJNJeepgqLzVNdDaEOAP0g/5LsFscpfawo80\n"
+ "KRCIJH1+C0OqZpHcu9w99l0/NsVOb50+IUhe1gA+wZDC8puODmacWNCctXG9cojZ\n"
+ "lcagSLUvh1jt/t6fsl2ObyL64+1RPrvi1A11mtqbUxS4iTa6l45yth+IjbpexVwh\n"
+ "YJUKTfBnWzS1RNBPJwsn6wRuvIWZT/VdQ5q/lTCWvovKPKg/gnwrlqqErVXgdgyG\n"
+ "YGdChbh3R4jYgHlUASa/xo5Nes+X2DRy+2OzaHrDKdo2pxwqMtzQjogPVTBOG0r1\n"
+ "iCNaCF9hLjJakrxsaoLBlb90bJ1ZrlYtqNXwKZphbLvgVELsPCghrwhbV9wdP6Le\n"
+ "zMnPLeicTSDPiq2nkDUWlbDd5oOhrTORf8gWRuPJVJ+noEkAkQEZkGHRnt3ouio6\n"
+ "P0BTNfA6e2quOiZ+8YSvWwOlwO2I0z8vy1IPQYIApX3S0UCPSep33u3KdL28O68z\n"
+ "pNVz4Hd2IpWckRR5ahdK00I=\n"
+ "-----END CERTIFICATE-----\n";
-static gnutls_datum_t server_repro_key =
- { (void *)server_key_repro_pem, sizeof(server_key_repro_pem) - 1 };
-static gnutls_datum_t server_repro_cert =
- { (void *)server_cert_repro_pem, sizeof(server_cert_repro_pem) - 1 };
-static gnutls_datum_t client_repro_key =
- { (void *)client_key_repro_pem, sizeof(client_key_repro_pem) - 1 };
-static gnutls_datum_t client_repro_cert =
- { (void *)client_cert_repro_pem, sizeof(client_cert_repro_pem) - 1 };
+static gnutls_datum_t server_repro_key = { (void *)server_key_repro_pem,
+ sizeof(server_key_repro_pem) - 1 };
+static gnutls_datum_t server_repro_cert = { (void *)server_cert_repro_pem,
+ sizeof(server_cert_repro_pem) - 1 };
+static gnutls_datum_t client_repro_key = { (void *)client_key_repro_pem,
+ sizeof(client_key_repro_pem) - 1 };
+static gnutls_datum_t client_repro_cert = { (void *)client_cert_repro_pem,
+ sizeof(client_cert_repro_pem) - 1 };
-#endif /* GNUTLS_TESTS_CERT_REPRO_20170915_H */
+#endif /* GNUTLS_TESTS_CERT_REPRO_20170915_H */
diff --git a/tests/cert-status.c b/tests/cert-status.c
index 20cb767297..e3f3f837b4 100644
--- a/tests/cert-status.c
+++ b/tests/cert-status.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
-# include <signal.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
+#include <signal.h>
+
+#include "utils.h"
+#include "cert-common.h"
/* This program tests whether the GNUTLS_CERT_* flags
* work as expected.
@@ -56,7 +56,7 @@ int main(void)
static void server_log_func(int level, const char *str)
{
-// fprintf (stderr, "server|<%d>| %s", level, str);
+ // fprintf (stderr, "server|<%d>| %s", level, str);
}
static void client_log_func(int level, const char *str)
@@ -64,7 +64,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -98,8 +98,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
if (debug) {
@@ -114,8 +113,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
@@ -158,14 +157,12 @@ static void server(int fd, const char *prio, unsigned status, int expected)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == expected) {
if (debug)
- success
- ("server: Handshake finished as expected (%d)\n",
- ret);
+ success("server: Handshake finished as expected (%d)\n",
+ ret);
goto finish;
} else {
fail("expected %d, handshake returned %d\n", expected, ret);
@@ -176,9 +173,9 @@ static void server(int fd, const char *prio, unsigned status, int expected)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
- finish:
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
+finish:
close(fd);
gnutls_deinit(session);
@@ -257,4 +254,4 @@ void doit(void)
start("NORMAL", GNUTLS_CERT_REQUIRE, GNUTLS_E_CERTIFICATE_REQUIRED);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/cert.c b/tests/cert.c
index 199d87d907..0586a954ea 100644
--- a/tests/cert.c
+++ b/tests/cert.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls/gnutls.h>
@@ -39,7 +39,7 @@
#define CERT_DIR "certs-interesting"
-static int getnextcert(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
+static int getnextcert(DIR **dirp, gnutls_datum_t *der, int *exp_ret)
{
struct dirent *d;
char path[256];
@@ -66,7 +66,7 @@ static int getnextcert(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
#ifdef _DIRENT_HAVE_D_TYPE
&& d->d_type == DT_REG
#endif
- ) {
+ ) {
if (strstr(d->d_name, ".der") == 0)
continue;
if (strstr(d->d_name, ".err") != 0)
@@ -84,7 +84,7 @@ static int getnextcert(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
d->d_name);
success("Loading errfile %s\n", path);
ret = gnutls_load_file(path, &local);
- if (ret < 0) { /* not found assume success */
+ if (ret < 0) { /* not found assume success */
*exp_ret = 0;
} else {
*exp_ret = atoi((char *)local.data);
@@ -97,7 +97,7 @@ static int getnextcert(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
} while (d != NULL);
closedir(*dirp);
- return -1; /* finished */
+ return -1; /* finished */
}
void doit(void)
@@ -127,9 +127,8 @@ void doit(void)
if (ret == 0) {
/* attempt to fully decode */
gnutls_datum_t out;
- ret =
- gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_FULL,
- &out);
+ ret = gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_FULL,
+ &out);
if (ret < 0) {
fail("print: %s\n", gnutls_strerror(ret));
}
diff --git a/tests/cert_verify_inv_utf8.c b/tests/cert_verify_inv_utf8.c
index 497a4096bf..adcaacd45f 100644
--- a/tests/cert_verify_inv_utf8.c
+++ b/tests/cert_verify_inv_utf8.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -54,7 +54,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1473674242;
if (t)
@@ -88,24 +88,22 @@ static void auto_parse(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
pcert_list_size = sizeof(pcert_list) / sizeof(pcert_list[0]);
- ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &server_ca3_localhost_cert_chain,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_list_import_x509_raw(
+ pcert_list, &pcert_list_size, &server_ca3_localhost_cert_chain,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_pcert_list_import_x509_raw: %s\n",
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
@@ -122,23 +120,22 @@ static void auto_parse(void)
assert(gnutls_privkey_init(&second_key) >= 0);
pcert_list_size = 2;
- ret = gnutls_pcert_list_import_x509_raw(second_pcert, &pcert_list_size,
- &server_ca3_localhost_inv_utf8_cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_list_import_x509_raw(
+ second_pcert, &pcert_list_size,
+ &server_ca3_localhost_inv_utf8_cert, GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_pcert_list_import_x509_raw: %s\n",
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(second_key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(second_key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
- ret = gnutls_certificate_set_key(x509_cred, NULL, 0, second_pcert,
- 1, second_key);
+ ret = gnutls_certificate_set_key(x509_cred, NULL, 0, second_pcert, 1,
+ second_key);
if (ret < 0) {
fail("error in gnutls_certificate_set_key: %s\n",
gnutls_strerror(ret));
diff --git a/tests/certificate_set_x509_crl.c b/tests/certificate_set_x509_crl.c
index 89c72acf67..cbceb0b9d0 100644
--- a/tests/certificate_set_x509_crl.c
+++ b/tests/certificate_set_x509_crl.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,18 +32,19 @@
#include <gnutls/x509.h>
static char g_crl[] =
- "-----BEGIN X509 CRL-----\n"
- "MIIB9DCCAV8CAQEwCwYJKoZIhvcNAQEFMIIBCDEXMBUGA1UEChMOVmVyaVNpZ24s\n"
- "IEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsT\n"
- "PXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9SUEEgSW5jb3JwLiBieSBSZWYu\n"
- "LExJQUIuTFREKGMpOTgxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDEm\n"
- "MCQGA1UECxMdRGlnaXRhbCBJRCBDbGFzcyAxIC0gTmV0c2NhcGUxGDAWBgNVBAMU\n"
- "D1NpbW9uIEpvc2Vmc3NvbjEiMCAGCSqGSIb3DQEJARYTc2ltb25Aam9zZWZzc29u\n"
- "Lm9yZxcNMDYxMjI3MDgwMjM0WhcNMDcwMjA3MDgwMjM1WjAjMCECEC4QNwPfRoWd\n"
- "elUNpllhhTgXDTA2MTIyNzA4MDIzNFowCwYJKoZIhvcNAQEFA4GBAD0zX+J2hkcc\n"
- "Nbrq1Dn5IKL8nXLgPGcHv1I/le1MNo9t1ohGQxB5HnFUkRPAY82fR6Epor4aHgVy\n"
- "b+5y+neKN9Kn2mPF4iiun+a4o26CjJ0pArojCL1p8T0yyi9Xxvyc/ezaZ98HiIyP\n"
- "c3DGMNR+oUmSjKZ0jIhAYmeLxaPHfQwR\n" "-----END X509 CRL-----\n";
+ "-----BEGIN X509 CRL-----\n"
+ "MIIB9DCCAV8CAQEwCwYJKoZIhvcNAQEFMIIBCDEXMBUGA1UEChMOVmVyaVNpZ24s\n"
+ "IEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsT\n"
+ "PXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9SUEEgSW5jb3JwLiBieSBSZWYu\n"
+ "LExJQUIuTFREKGMpOTgxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDEm\n"
+ "MCQGA1UECxMdRGlnaXRhbCBJRCBDbGFzcyAxIC0gTmV0c2NhcGUxGDAWBgNVBAMU\n"
+ "D1NpbW9uIEpvc2Vmc3NvbjEiMCAGCSqGSIb3DQEJARYTc2ltb25Aam9zZWZzc29u\n"
+ "Lm9yZxcNMDYxMjI3MDgwMjM0WhcNMDcwMjA3MDgwMjM1WjAjMCECEC4QNwPfRoWd\n"
+ "elUNpllhhTgXDTA2MTIyNzA4MDIzNFowCwYJKoZIhvcNAQEFA4GBAD0zX+J2hkcc\n"
+ "Nbrq1Dn5IKL8nXLgPGcHv1I/le1MNo9t1ohGQxB5HnFUkRPAY82fR6Epor4aHgVy\n"
+ "b+5y+neKN9Kn2mPF4iiun+a4o26CjJ0pArojCL1p8T0yyi9Xxvyc/ezaZ98HiIyP\n"
+ "c3DGMNR+oUmSjKZ0jIhAYmeLxaPHfQwR\n"
+ "-----END X509 CRL-----\n";
/* Test regression of bug reported by Max Kellermann <max@duempel.org>
in Message-ID: <20061211075202.GA1517@roonstrasse.net> to the
@@ -53,7 +54,7 @@ int main(void)
{
int rc;
gnutls_certificate_credentials_t crt;
- gnutls_datum_t crldatum = { (uint8_t *) g_crl, strlen(g_crl) };
+ gnutls_datum_t crldatum = { (uint8_t *)g_crl, strlen(g_crl) };
gnutls_x509_crl_t crl;
rc = global_init();
@@ -64,9 +65,8 @@ int main(void)
rc = gnutls_certificate_allocate_credentials(&crt);
if (rc) {
- printf
- ("gnutls_certificate_allocate_credentials rc %d: %s\n",
- rc, gnutls_strerror(rc));
+ printf("gnutls_certificate_allocate_credentials rc %d: %s\n",
+ rc, gnutls_strerror(rc));
return 1;
}
@@ -93,8 +93,8 @@ int main(void)
rc = gnutls_certificate_set_x509_crl(crt, &crl, 1);
if (rc < 0) {
- printf("gnutls_certificate_set_x509_crl rc %d: %s\n",
- rc, gnutls_strerror(rc));
+ printf("gnutls_certificate_set_x509_crl rc %d: %s\n", rc,
+ gnutls_strerror(rc));
return 1;
}
diff --git a/tests/certuniqueid.c b/tests/certuniqueid.c
index 5351ab677e..c78e6b57f0 100644
--- a/tests/certuniqueid.c
+++ b/tests/certuniqueid.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include "gnutls/gnutls.h"
@@ -34,150 +34,83 @@ void doit(void)
int ret;
unsigned char der[] = {
0x30, 0x82, 0x03, 0x00, 0x30, 0x82, 0x01, 0xec, 0xa0, 0x03,
- 0x02, 0x01,
- 0x02, 0x02, 0x10, 0xbd,
- 0x76, 0xdf, 0x42, 0x47, 0x0a, 0x00, 0x8d, 0x47, 0x3e, 0x74,
- 0x3f, 0xa1,
- 0xdc, 0x8b, 0xbd, 0x30,
- 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d, 0x05, 0x00,
- 0x30, 0x2d,
- 0x31, 0x2b, 0x30, 0x29,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x77, 0x00, 0x32,
- 0x00, 0x6b,
- 0x00, 0x38, 0x00, 0x72,
- 0x00, 0x32, 0x00, 0x2e, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x74,
- 0x00, 0x77,
- 0x00, 0x73, 0x00, 0x2e,
+ 0x02, 0x01, 0x02, 0x02, 0x10, 0xbd, 0x76, 0xdf, 0x42, 0x47,
+ 0x0a, 0x00, 0x8d, 0x47, 0x3e, 0x74, 0x3f, 0xa1, 0xdc, 0x8b,
+ 0xbd, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d,
+ 0x05, 0x00, 0x30, 0x2d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03,
+ 0x55, 0x04, 0x03, 0x13, 0x22, 0x77, 0x00, 0x32, 0x00, 0x6b,
+ 0x00, 0x38, 0x00, 0x72, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x6d,
+ 0x00, 0x61, 0x00, 0x74, 0x00, 0x77, 0x00, 0x73, 0x00, 0x2e,
0x00, 0x6e, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x00, 0x30,
- 0x1e, 0x17,
- 0x0d, 0x31, 0x30, 0x30,
- 0x34, 0x32, 0x38, 0x31, 0x31, 0x34, 0x31, 0x35, 0x34, 0x5a,
- 0x17, 0x0d,
- 0x31, 0x31, 0x30, 0x34,
- 0x32, 0x38, 0x31, 0x31, 0x34, 0x31, 0x35, 0x34, 0x5a, 0x30,
- 0x2d, 0x31,
- 0x2b, 0x30, 0x29, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x77, 0x00, 0x32, 0x00,
- 0x6b, 0x00,
- 0x38, 0x00, 0x72, 0x00,
- 0x32, 0x00, 0x2e, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x74, 0x00,
- 0x77, 0x00,
- 0x73, 0x00, 0x2e, 0x00,
+ 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x34, 0x32, 0x38, 0x31,
+ 0x31, 0x34, 0x31, 0x35, 0x34, 0x5a, 0x17, 0x0d, 0x31, 0x31,
+ 0x30, 0x34, 0x32, 0x38, 0x31, 0x31, 0x34, 0x31, 0x35, 0x34,
+ 0x5a, 0x30, 0x2d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x22, 0x77, 0x00, 0x32, 0x00, 0x6b, 0x00,
+ 0x38, 0x00, 0x72, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x6d, 0x00,
+ 0x61, 0x00, 0x74, 0x00, 0x77, 0x00, 0x73, 0x00, 0x2e, 0x00,
0x6e, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x00, 0x30, 0x82,
- 0x01, 0x22,
- 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
- 0x00, 0x03,
- 0x82, 0x01, 0x0f, 0x00,
- 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xaa,
- 0xd7, 0x32,
- 0x26, 0xd7, 0xfc, 0x69,
- 0x57, 0x4a, 0x55, 0x08, 0x2b, 0x97, 0xc1, 0x5b, 0x90, 0xfd,
- 0xe8, 0xf5,
- 0xf7, 0x9e, 0x7d, 0x34,
- 0xce, 0xe9, 0xbb, 0x38, 0xa0, 0x9f, 0xec, 0x84, 0x86, 0x3e,
- 0x47, 0x2e,
- 0x71, 0xd7, 0xc3, 0xbf,
+ 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
+ 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01,
+ 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+ 0x00, 0xaa, 0xd7, 0x32, 0x26, 0xd7, 0xfc, 0x69, 0x57, 0x4a,
+ 0x55, 0x08, 0x2b, 0x97, 0xc1, 0x5b, 0x90, 0xfd, 0xe8, 0xf5,
+ 0xf7, 0x9e, 0x7d, 0x34, 0xce, 0xe9, 0xbb, 0x38, 0xa0, 0x9f,
+ 0xec, 0x84, 0x86, 0x3e, 0x47, 0x2e, 0x71, 0xd7, 0xc3, 0xbf,
0x89, 0xf3, 0x80, 0xb5, 0x77, 0x80, 0xd3, 0xb0, 0x56, 0x6b,
- 0x9c, 0xf4,
- 0xd3, 0x42, 0x2b, 0x26,
- 0x01, 0x5c, 0x42, 0xef, 0xf6, 0x51, 0x5a, 0xaa, 0x55, 0x6b,
- 0x30, 0xd3,
- 0x2c, 0xdc, 0xde, 0x36,
- 0x4d, 0xdd, 0xf3, 0x5f, 0x59, 0xba, 0x57, 0xd8, 0x39, 0x0f,
- 0x5b, 0xd3,
- 0xe1, 0x34, 0x39, 0x22,
- 0xaa, 0x71, 0x10, 0x59, 0x7a, 0xec, 0x9f, 0x1a, 0xf5, 0xa9,
- 0x40, 0xd6,
- 0x7b, 0x32, 0x5f, 0x19,
- 0x85, 0xc0, 0xfd, 0xa6, 0x6c, 0x32, 0x58, 0xdc, 0x7c, 0x07,
- 0x42, 0x36,
- 0xd0, 0x57, 0x78, 0x63,
+ 0x9c, 0xf4, 0xd3, 0x42, 0x2b, 0x26, 0x01, 0x5c, 0x42, 0xef,
+ 0xf6, 0x51, 0x5a, 0xaa, 0x55, 0x6b, 0x30, 0xd3, 0x2c, 0xdc,
+ 0xde, 0x36, 0x4d, 0xdd, 0xf3, 0x5f, 0x59, 0xba, 0x57, 0xd8,
+ 0x39, 0x0f, 0x5b, 0xd3, 0xe1, 0x34, 0x39, 0x22, 0xaa, 0x71,
+ 0x10, 0x59, 0x7a, 0xec, 0x9f, 0x1a, 0xf5, 0xa9, 0x40, 0xd6,
+ 0x7b, 0x32, 0x5f, 0x19, 0x85, 0xc0, 0xfd, 0xa6, 0x6c, 0x32,
+ 0x58, 0xdc, 0x7c, 0x07, 0x42, 0x36, 0xd0, 0x57, 0x78, 0x63,
0x60, 0x92, 0x1d, 0x1f, 0x9d, 0xbd, 0xcc, 0xd7, 0xe3, 0x1a,
- 0x57, 0xdb,
- 0x70, 0x80, 0x89, 0x36,
- 0x39, 0x01, 0x71, 0x5a, 0x2a, 0x05, 0x25, 0x13, 0x80, 0xf8,
- 0x49, 0x48,
- 0x5f, 0x06, 0xd0, 0xcb,
- 0x2c, 0x58, 0x9a, 0xe7, 0x8b, 0x6d, 0x17, 0x2c, 0xb2, 0x97,
- 0x2c, 0x15,
- 0xc9, 0x73, 0x6d, 0x8f,
- 0x4f, 0xf3, 0xf1, 0xb9, 0x70, 0x3f, 0xcb, 0x5f, 0x80, 0x85,
- 0x8b, 0xdf,
- 0xd2, 0x05, 0x95, 0x1c,
- 0xe4, 0x37, 0xee, 0xd2, 0x62, 0x49, 0x08, 0xdf, 0xf6, 0x02,
- 0xec, 0xe6,
- 0x9a, 0x37, 0xfc, 0x21,
+ 0x57, 0xdb, 0x70, 0x80, 0x89, 0x36, 0x39, 0x01, 0x71, 0x5a,
+ 0x2a, 0x05, 0x25, 0x13, 0x80, 0xf8, 0x49, 0x48, 0x5f, 0x06,
+ 0xd0, 0xcb, 0x2c, 0x58, 0x9a, 0xe7, 0x8b, 0x6d, 0x17, 0x2c,
+ 0xb2, 0x97, 0x2c, 0x15, 0xc9, 0x73, 0x6d, 0x8f, 0x4f, 0xf3,
+ 0xf1, 0xb9, 0x70, 0x3f, 0xcb, 0x5f, 0x80, 0x85, 0x8b, 0xdf,
+ 0xd2, 0x05, 0x95, 0x1c, 0xe4, 0x37, 0xee, 0xd2, 0x62, 0x49,
+ 0x08, 0xdf, 0xf6, 0x02, 0xec, 0xe6, 0x9a, 0x37, 0xfc, 0x21,
0x7a, 0x98, 0x12, 0x1d, 0x79, 0xbf, 0xc7, 0x0f, 0x0a, 0x20,
- 0xf8, 0xef,
- 0xa5, 0xc6, 0x0e, 0x94,
- 0x5e, 0x17, 0x94, 0x12, 0x42, 0xfe, 0xd7, 0x22, 0xbd, 0x31,
- 0x27, 0xc7,
- 0xdb, 0x4a, 0x4e, 0x95,
- 0xe2, 0xc1, 0xdd, 0xe8, 0x0f, 0x7d, 0x1d, 0xe4, 0xfd, 0xb1,
- 0x27, 0x7b,
- 0xc1, 0x71, 0xfe, 0x27,
- 0x47, 0x89, 0xf4, 0xfc, 0x84, 0xa5, 0x57, 0x5d, 0x21, 0x02,
- 0x03, 0x01,
- 0x00, 0x01, 0x81, 0x11,
- 0x00, 0xbd, 0x8b, 0xdc, 0xa1, 0x3f, 0x74, 0x3e, 0x47, 0x8d,
- 0x00, 0x0a,
- 0x47, 0x42, 0xdf, 0x76,
+ 0xf8, 0xef, 0xa5, 0xc6, 0x0e, 0x94, 0x5e, 0x17, 0x94, 0x12,
+ 0x42, 0xfe, 0xd7, 0x22, 0xbd, 0x31, 0x27, 0xc7, 0xdb, 0x4a,
+ 0x4e, 0x95, 0xe2, 0xc1, 0xdd, 0xe8, 0x0f, 0x7d, 0x1d, 0xe4,
+ 0xfd, 0xb1, 0x27, 0x7b, 0xc1, 0x71, 0xfe, 0x27, 0x47, 0x89,
+ 0xf4, 0xfc, 0x84, 0xa5, 0x57, 0x5d, 0x21, 0x02, 0x03, 0x01,
+ 0x00, 0x01, 0x81, 0x11, 0x00, 0xbd, 0x8b, 0xdc, 0xa1, 0x3f,
+ 0x74, 0x3e, 0x47, 0x8d, 0x00, 0x0a, 0x47, 0x42, 0xdf, 0x76,
0xbd, 0x82, 0x11, 0x00, 0xbd, 0x8b, 0xdc, 0xa1, 0x3f, 0x74,
- 0x3e, 0x47,
- 0x8d, 0x00, 0x0a, 0x47,
- 0x42, 0xdf, 0x76, 0xbd, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
- 0x03, 0x02,
- 0x1d, 0x05, 0x00, 0x03,
- 0x82, 0x01, 0x01, 0x00, 0xa7, 0xb0, 0x66, 0x75, 0x14, 0x7e,
- 0x7d, 0xb5,
- 0x31, 0xec, 0xb2, 0xeb,
- 0x90, 0x80, 0x95, 0x25, 0x59, 0x0f, 0xe4, 0x15, 0x86, 0x2d,
- 0x9d, 0xd7,
- 0x35, 0xe9, 0x22, 0x74,
- 0xe7, 0x85, 0x36, 0x19, 0x4f, 0x27, 0x5c, 0x17, 0x63, 0x7b,
- 0x2a, 0xfe,
- 0x59, 0xe9, 0x76, 0x77,
+ 0x3e, 0x47, 0x8d, 0x00, 0x0a, 0x47, 0x42, 0xdf, 0x76, 0xbd,
+ 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d, 0x05,
+ 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa7, 0xb0, 0x66, 0x75,
+ 0x14, 0x7e, 0x7d, 0xb5, 0x31, 0xec, 0xb2, 0xeb, 0x90, 0x80,
+ 0x95, 0x25, 0x59, 0x0f, 0xe4, 0x15, 0x86, 0x2d, 0x9d, 0xd7,
+ 0x35, 0xe9, 0x22, 0x74, 0xe7, 0x85, 0x36, 0x19, 0x4f, 0x27,
+ 0x5c, 0x17, 0x63, 0x7b, 0x2a, 0xfe, 0x59, 0xe9, 0x76, 0x77,
0xd0, 0xc9, 0x40, 0x78, 0x7c, 0x31, 0x62, 0x1e, 0x87, 0x1b,
- 0xc1, 0x19,
- 0xef, 0x6f, 0x15, 0xe6,
- 0xce, 0x74, 0x84, 0x6d, 0xd6, 0x3b, 0x57, 0xd9, 0xa9, 0x13,
- 0xf6, 0x7d,
- 0x84, 0xe7, 0x8f, 0xc6,
- 0x01, 0x5f, 0xcf, 0xc4, 0x95, 0xc9, 0xde, 0x97, 0x17, 0x43,
- 0x12, 0x70,
- 0x27, 0xf9, 0xc4, 0xd7,
- 0xe1, 0x05, 0xbb, 0x63, 0x87, 0x5f, 0xdc, 0x20, 0xbd, 0xd1,
- 0xde, 0xd6,
- 0x2d, 0x9f, 0x3f, 0x5d,
- 0x0a, 0x27, 0x40, 0x11, 0x5f, 0x5d, 0x54, 0xa7, 0x28, 0xf9,
- 0x03, 0x2e,
- 0x84, 0x8d, 0x48, 0x60,
+ 0xc1, 0x19, 0xef, 0x6f, 0x15, 0xe6, 0xce, 0x74, 0x84, 0x6d,
+ 0xd6, 0x3b, 0x57, 0xd9, 0xa9, 0x13, 0xf6, 0x7d, 0x84, 0xe7,
+ 0x8f, 0xc6, 0x01, 0x5f, 0xcf, 0xc4, 0x95, 0xc9, 0xde, 0x97,
+ 0x17, 0x43, 0x12, 0x70, 0x27, 0xf9, 0xc4, 0xd7, 0xe1, 0x05,
+ 0xbb, 0x63, 0x87, 0x5f, 0xdc, 0x20, 0xbd, 0xd1, 0xde, 0xd6,
+ 0x2d, 0x9f, 0x3f, 0x5d, 0x0a, 0x27, 0x40, 0x11, 0x5f, 0x5d,
+ 0x54, 0xa7, 0x28, 0xf9, 0x03, 0x2e, 0x84, 0x8d, 0x48, 0x60,
0xa1, 0x71, 0xa3, 0x46, 0x69, 0xdb, 0x88, 0x7b, 0xc1, 0xb6,
- 0x08, 0x2d,
- 0xdf, 0x25, 0x9d, 0x32,
- 0x76, 0x49, 0x0b, 0xba, 0xab, 0xdd, 0xc3, 0x00, 0x76, 0x8a,
- 0x94, 0xd2,
- 0x25, 0x43, 0xf0, 0xa9,
- 0x98, 0x65, 0x94, 0xc7, 0xdd, 0x7c, 0xd4, 0xe2, 0xe8, 0x33,
- 0xe2, 0x9a,
- 0xe9, 0x75, 0xf0, 0x0f,
- 0x61, 0x86, 0xee, 0x0e, 0xf7, 0x39, 0x6b, 0x30, 0x63, 0xe5,
- 0x46, 0xd4,
- 0x1c, 0x83, 0xa1, 0x28,
- 0x79, 0x76, 0x81, 0x48, 0x38, 0x72, 0xbc, 0x3f, 0x25, 0x53,
- 0x31, 0xaa,
- 0x02, 0xd1, 0x9b, 0x03,
+ 0x08, 0x2d, 0xdf, 0x25, 0x9d, 0x32, 0x76, 0x49, 0x0b, 0xba,
+ 0xab, 0xdd, 0xc3, 0x00, 0x76, 0x8a, 0x94, 0xd2, 0x25, 0x43,
+ 0xf0, 0xa9, 0x98, 0x65, 0x94, 0xc7, 0xdd, 0x7c, 0xd4, 0xe2,
+ 0xe8, 0x33, 0xe2, 0x9a, 0xe9, 0x75, 0xf0, 0x0f, 0x61, 0x86,
+ 0xee, 0x0e, 0xf7, 0x39, 0x6b, 0x30, 0x63, 0xe5, 0x46, 0xd4,
+ 0x1c, 0x83, 0xa1, 0x28, 0x79, 0x76, 0x81, 0x48, 0x38, 0x72,
+ 0xbc, 0x3f, 0x25, 0x53, 0x31, 0xaa, 0x02, 0xd1, 0x9b, 0x03,
0xa2, 0x5c, 0x94, 0x21, 0xb3, 0x8e, 0xdf, 0x2a, 0xa5, 0x4c,
- 0x65, 0xa2,
- 0xf9, 0xac, 0x38, 0x7a,
- 0xf9, 0x45, 0xb3, 0xd5, 0xda, 0xe5, 0xb9, 0x56, 0x9e, 0x47,
- 0xd5, 0x06,
- 0xe6, 0xca, 0xd7, 0x6e,
- 0x06, 0xdb, 0x6e, 0xa7, 0x7b, 0x4b, 0x13, 0x40, 0x3c, 0x12,
- 0x76, 0x99,
- 0x65, 0xb4, 0x54, 0xa1,
- 0xd8, 0x21, 0x5c, 0x27
+ 0x65, 0xa2, 0xf9, 0xac, 0x38, 0x7a, 0xf9, 0x45, 0xb3, 0xd5,
+ 0xda, 0xe5, 0xb9, 0x56, 0x9e, 0x47, 0xd5, 0x06, 0xe6, 0xca,
+ 0xd7, 0x6e, 0x06, 0xdb, 0x6e, 0xa7, 0x7b, 0x4b, 0x13, 0x40,
+ 0x3c, 0x12, 0x76, 0x99, 0x65, 0xb4, 0x54, 0xa1, 0xd8, 0x21,
+ 0x5c, 0x27
};
gnutls_datum_t derCert = { der, sizeof(der) };
@@ -185,11 +118,9 @@ void doit(void)
gnutls_x509_crt_t cert;
int result;
- unsigned char expectedId[] =
- { 0xbd, 0x8b, 0xdc, 0xa1, 0x3f, 0x74, 0x3e, 0x47, 0x8d, 0x00,
- 0x0a, 0x47,
- 0x42, 0xdf, 0x76, 0xbd
- };
+ unsigned char expectedId[] = { 0xbd, 0x8b, 0xdc, 0xa1, 0x3f, 0x74,
+ 0x3e, 0x47, 0x8d, 0x00, 0x0a, 0x47,
+ 0x42, 0xdf, 0x76, 0xbd };
char buf[17];
size_t buf_size;
diff --git a/tests/chainverify-unsorted.c b/tests/chainverify-unsorted.c
index 52291393d8..3b2c5b83c3 100644
--- a/tests/chainverify-unsorted.c
+++ b/tests/chainverify-unsorted.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,546 +44,554 @@ static void tls_log_func(int level, const char *str)
}
const char ca_str[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t ca = { (void *)ca_str, sizeof(ca_str) };
/* Chain1 is sorted */
static const char chain1[] = {
/* chain[0] */
"-----BEGIN CERTIFICATE-----\n"
- "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
- "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
- "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
- "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
- "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
- "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
- "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
- "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
- "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
- "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
- "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
- "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
- "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
- "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
- "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
- "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
- "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
- "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
- "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
- "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
- "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
- "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
- "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
- "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
- "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
- "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
- "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
- "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
- "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
- "nKMfhbyFQYPQ6J9g\n" "-----END CERTIFICATE-----\n"
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
- "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
- "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
- "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
- "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
- "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
- "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
- "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
- "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
- "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
- "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
- "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
- "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
- "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
- "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
- "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
- "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
- "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
- "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
- "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
- "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
- "Gh/aWKfkT8Fhrryi/ks=\n" "-----END CERTIFICATE-----\n"
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
- "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
- "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
- "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
- "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
- "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
- "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
- "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
- "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
- "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
- "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
- "-----END CERTIFICATE-----\n"
- /* chain[3] (CA) */
+ "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
+ "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
+ "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
+ "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
+ "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
+ "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
+ "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
+ "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
+ "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
+ "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
+ "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
+ "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
+ "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
+ "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
+ "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
+ "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
+ "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
+ "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
+ "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
+ "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
+ "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
+ "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
+ "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
+ "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
+ "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
+ "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
+ "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
+ "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
+ "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
+ "nKMfhbyFQYPQ6J9g\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
+ "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
+ "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
+ "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
+ "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
+ "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
+ "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
+ "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
+ "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
+ "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
+ "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
+ "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
+ "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
+ "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
+ "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
+ "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
+ "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
+ "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
+ "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
+ "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
+ "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
+ "Gh/aWKfkT8Fhrryi/ks=\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
+ "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
+ "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
+ "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
+ "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
+ "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
+ "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
+ "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
+ "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
+ "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
+ "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[3] (CA) */
"-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n"
};
/* Chain2 is unsorted - reverse order */
static const char chain2[] = {
/* chain[0] */
"-----BEGIN CERTIFICATE-----\n"
- "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
- "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
- "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
- "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
- "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
- "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
- "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
- "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
- "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
- "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
- "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
- "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
- "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
- "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
- "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
- "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
- "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
- "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
- "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
- "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
- "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
- "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
- "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
- "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
- "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
- "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
- "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
- "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
- "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
- "nKMfhbyFQYPQ6J9g\n" "-----END CERTIFICATE-----\n"
- /* chain[3] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n"
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
- "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
- "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
- "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
- "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
- "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
- "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
- "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
- "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
- "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
- "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
- "-----END CERTIFICATE-----\n"
- /* chain[1] */
+ "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
+ "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
+ "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
+ "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
+ "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
+ "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
+ "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
+ "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
+ "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
+ "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
+ "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
+ "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
+ "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
+ "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
+ "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
+ "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
+ "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
+ "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
+ "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
+ "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
+ "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
+ "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
+ "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
+ "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
+ "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
+ "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
+ "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
+ "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
+ "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
+ "nKMfhbyFQYPQ6J9g\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[3] (CA) */
"-----BEGIN CERTIFICATE-----\n"
- "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
- "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
- "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
- "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
- "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
- "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
- "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
- "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
- "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
- "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
- "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
- "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
- "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
- "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
- "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
- "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
- "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
- "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
- "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
- "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
- "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
- "Gh/aWKfkT8Fhrryi/ks=\n" "-----END CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
+ "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
+ "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
+ "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
+ "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
+ "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
+ "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
+ "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
+ "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
+ "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
+ "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
+ "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
+ "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
+ "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
+ "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
+ "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
+ "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
+ "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
+ "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
+ "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
+ "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
+ "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
+ "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
+ "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
+ "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
+ "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
+ "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
+ "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
+ "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
+ "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
+ "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
+ "Gh/aWKfkT8Fhrryi/ks=\n"
+ "-----END CERTIFICATE-----\n"
};
/* Chain3 is unsorted - random order */
static const char chain3[] = {
/* chain[0] */
"-----BEGIN CERTIFICATE-----\n"
- "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
- "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
- "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
- "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
- "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
- "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
- "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
- "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
- "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
- "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
- "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
- "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
- "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
- "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
- "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
- "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
- "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
- "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
- "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
- "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
- "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
- "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
- "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
- "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
- "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
- "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
- "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
- "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
- "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
- "nKMfhbyFQYPQ6J9g\n" "-----END CERTIFICATE-----\n"
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
- "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
- "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
- "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
- "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
- "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
- "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
- "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
- "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
- "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
- "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
- "-----END CERTIFICATE-----\n"
- /* chain[3] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n"
- /* chain[1] */
+ "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
+ "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
+ "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
+ "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
+ "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
+ "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
+ "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
+ "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
+ "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
+ "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
+ "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
+ "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
+ "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
+ "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
+ "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
+ "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
+ "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
+ "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
+ "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
+ "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
+ "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
+ "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
+ "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
+ "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
+ "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
+ "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
+ "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
+ "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
+ "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
+ "nKMfhbyFQYPQ6J9g\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
+ "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
+ "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
+ "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
+ "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
+ "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
+ "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
+ "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
+ "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
+ "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
+ "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[3] (CA) */
"-----BEGIN CERTIFICATE-----\n"
- "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
- "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
- "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
- "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
- "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
- "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
- "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
- "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
- "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
- "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
- "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
- "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
- "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
- "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
- "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
- "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
- "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
- "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
- "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
- "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
- "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
- "Gh/aWKfkT8Fhrryi/ks=\n" "-----END CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
+ "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
+ "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
+ "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
+ "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
+ "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
+ "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
+ "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
+ "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
+ "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
+ "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
+ "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
+ "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
+ "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
+ "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
+ "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
+ "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
+ "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
+ "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
+ "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
+ "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
+ "Gh/aWKfkT8Fhrryi/ks=\n"
+ "-----END CERTIFICATE-----\n"
};
/* Chain4 is unsorted - random order and includes random certs */
static const char chain4[] = {
/* chain[0] */
"-----BEGIN CERTIFICATE-----\n"
- "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
- "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
- "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
- "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
- "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
- "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
- "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
- "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
- "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
- "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
- "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
- "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
- "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
- "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
- "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
- "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
- "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
- "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
- "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
- "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
- "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
- "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
- "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
- "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
- "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
- "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
- "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
- "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
- "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
- "nKMfhbyFQYPQ6J9g\n" "-----END CERTIFICATE-----\n"
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
- "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
- "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
- "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
- "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
- "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
- "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
- "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
- "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
- "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
- "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEczCCA9ygAwIBAgIQeODCPg2RbK2r7/1KoWjWZzANBgkqhkiG9w0BAQUFADCB\n"
- "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
- "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
- "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
- "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
- "ODA2MTAwMDAwMDBaFw0wOTA3MzAyMzU5NTlaMIG2MQswCQYDVQQGEwJERTEPMA0G\n"
- "A1UECBMGSGVzc2VuMRowGAYDVQQHFBFGcmFua2Z1cnQgYW0gTWFpbjEsMCoGA1UE\n"
- "ChQjU3Bhcmthc3NlbiBJbmZvcm1hdGlrIEdtYkggJiBDby4gS0cxKTAnBgNVBAsU\n"
- "IFRlcm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tMSEwHwYDVQQDFBhoYmNp\n"
- "LXBpbnRhbi1ycC5zLWhiY2kuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
- "AK1CdQ9lqmChZWaRAInimuK7I36VImTuAVU0N6BIS4a2BbblkiekbVf15GVHGb6e\n"
- "QV06ANN6Nd8XIdfoxi3LoAs8sa+Ku7eoEsRFi/XIU96GgtFlxf3EsVA9RbGdtfer\n"
- "9iJGIBae2mJTlk+5LVg2EQr50PJlBuTgiYFc41xs9O2RAgMBAAGjggF6MIIBdjAJ\n"
- "BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8v\n"
- "Y3JsLnZlcmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBE\n"
- "BgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
- "d3d3LnZlcmlzaWduLmNvbS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEF\n"
- "BQcDAQYIKwYBBQUHAwIwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRw\n"
- "Oi8vb2NzcC52ZXJpc2lnbi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJ\n"
- "aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYk\n"
- "aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEB\n"
- "BQUAA4GBAJ03R0YAjYzlWm54gMSn6MqJi0mHdLCO2lk3CARwjbg7TEYAZvDsKqTd\n"
- "cRuhNk079BqrQ3QapffeN55SAVrc3mzHO54Nla4n5y6x3XIQXVvRjbJGwmWXsdvr\n"
- "W899F/pBEN30Tgdbmn7JR/iZlGhIJpY9Us1i7rwQhKYir9ZQBdj3\n"
- "-----END CERTIFICATE-----\n"
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
- "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
- "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
- "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
- "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
- "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
- "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
- "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
- "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
- "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
- "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
- "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
- "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
- "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
- "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
- "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
- "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
- "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
- "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
- "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
- "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
- "Gh/aWKfkT8Fhrryi/ks=\n" "-----END CERTIFICATE-----\n"
- /* chain[3] (CA) */
+ "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
+ "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
+ "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
+ "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
+ "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
+ "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
+ "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
+ "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
+ "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
+ "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
+ "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
+ "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
+ "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
+ "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
+ "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
+ "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
+ "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
+ "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
+ "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
+ "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
+ "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
+ "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
+ "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
+ "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
+ "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
+ "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
+ "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
+ "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
+ "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
+ "nKMfhbyFQYPQ6J9g\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
+ "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
+ "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
+ "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
+ "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
+ "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
+ "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
+ "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
+ "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
+ "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
+ "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEczCCA9ygAwIBAgIQeODCPg2RbK2r7/1KoWjWZzANBgkqhkiG9w0BAQUFADCB\n"
+ "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
+ "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
+ "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
+ "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
+ "ODA2MTAwMDAwMDBaFw0wOTA3MzAyMzU5NTlaMIG2MQswCQYDVQQGEwJERTEPMA0G\n"
+ "A1UECBMGSGVzc2VuMRowGAYDVQQHFBFGcmFua2Z1cnQgYW0gTWFpbjEsMCoGA1UE\n"
+ "ChQjU3Bhcmthc3NlbiBJbmZvcm1hdGlrIEdtYkggJiBDby4gS0cxKTAnBgNVBAsU\n"
+ "IFRlcm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tMSEwHwYDVQQDFBhoYmNp\n"
+ "LXBpbnRhbi1ycC5zLWhiY2kuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
+ "AK1CdQ9lqmChZWaRAInimuK7I36VImTuAVU0N6BIS4a2BbblkiekbVf15GVHGb6e\n"
+ "QV06ANN6Nd8XIdfoxi3LoAs8sa+Ku7eoEsRFi/XIU96GgtFlxf3EsVA9RbGdtfer\n"
+ "9iJGIBae2mJTlk+5LVg2EQr50PJlBuTgiYFc41xs9O2RAgMBAAGjggF6MIIBdjAJ\n"
+ "BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8v\n"
+ "Y3JsLnZlcmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBE\n"
+ "BgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
+ "d3d3LnZlcmlzaWduLmNvbS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEF\n"
+ "BQcDAQYIKwYBBQUHAwIwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRw\n"
+ "Oi8vb2NzcC52ZXJpc2lnbi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJ\n"
+ "aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYk\n"
+ "aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEB\n"
+ "BQUAA4GBAJ03R0YAjYzlWm54gMSn6MqJi0mHdLCO2lk3CARwjbg7TEYAZvDsKqTd\n"
+ "cRuhNk079BqrQ3QapffeN55SAVrc3mzHO54Nla4n5y6x3XIQXVvRjbJGwmWXsdvr\n"
+ "W899F/pBEN30Tgdbmn7JR/iZlGhIJpY9Us1i7rwQhKYir9ZQBdj3\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[1] */
"-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
- "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
- "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
- "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
- "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
- "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
- "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
- "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
- "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
- "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
- "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
- "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
- "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
- "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
- "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
- "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
- "-----END CERTIFICATE-----\n"
+ "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
+ "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
+ "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
+ "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
+ "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
+ "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
+ "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
+ "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
+ "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
+ "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
+ "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
+ "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
+ "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
+ "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
+ "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
+ "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
+ "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
+ "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
+ "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
+ "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
+ "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
+ "Gh/aWKfkT8Fhrryi/ks=\n"
+ "-----END CERTIFICATE-----\n"
+ /* chain[3] (CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
+ "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
+ "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
+ "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
+ "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
+ "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
+ "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
+ "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
+ "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
+ "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
+ "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
+ "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
+ "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
+ "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
+ "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
+ "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
+ "-----END CERTIFICATE-----\n"
};
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -600,8 +608,8 @@ void doit(void)
gnutls_x509_crt_t *crts;
unsigned int crts_size, i;
gnutls_x509_trust_list_t tl;
- unsigned int status, flags =
- GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN | GNUTLS_VERIFY_ALLOW_BROKEN;
+ unsigned int status, flags = GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN |
+ GNUTLS_VERIFY_ALLOW_BROKEN;
unsigned int not_flags = GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN;
/* this must be called once in the program
@@ -616,9 +624,8 @@ void doit(void)
/* test for gnutls_certificate_get_issuer() */
gnutls_x509_trust_list_init(&tl, 0);
- ret =
- gnutls_x509_trust_list_add_trust_mem(tl, &ca, NULL,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(tl, &ca, NULL,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 0) {
fail("gnutls_x509_trust_list_add_trust_mem\n");
exit(1);
@@ -627,18 +634,16 @@ void doit(void)
/* Chain 1 */
data.data = (void *)chain1;
data.size = sizeof(chain1);
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
+ &status, NULL);
if (ret < 0 || status != 0) {
fail("gnutls_x509_trust_list_verify_crt - 1\n");
exit(1);
@@ -654,27 +659,25 @@ void doit(void)
/* verify whether the GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED flag is
* considered by gnutls_x509_crt_list_import2() */
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &data, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret != GNUTLS_E_CERTIFICATE_LIST_UNSORTED) {
- fail("gnutls_x509_crt_list_import2 with flag GNUTLS_E_CERTIFICATE_LIST_UNSORTED on unsorted chain didn't fail: %s\n", gnutls_strerror(ret));
+ fail("gnutls_x509_crt_list_import2 with flag GNUTLS_E_CERTIFICATE_LIST_UNSORTED on unsorted chain didn't fail: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
+ &status, NULL);
if (ret < 0 || status != 0) {
fail("gnutls_x509_trust_list_verify_crt - 2\n");
exit(1);
@@ -687,18 +690,16 @@ void doit(void)
/* Chain 3 */
data.data = (void *)chain3;
data.size = sizeof(chain3);
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
+ &status, NULL);
if (ret < 0 || status != 0) {
fail("gnutls_x509_trust_list_verify_crt - 3\n");
exit(1);
@@ -711,18 +712,16 @@ void doit(void)
/* Chain 4 */
data.data = (void *)chain4;
data.size = sizeof(chain4);
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, flags,
+ &status, NULL);
if (ret < 0 || status != 0) {
fail("gnutls_x509_trust_list_verify_crt - 4\n");
exit(1);
@@ -735,18 +734,16 @@ void doit(void)
/* Check if an unsorted list would fail if the unsorted flag is not given */
data.data = (void *)chain2;
data.size = sizeof(chain2);
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crts, &crts_size, &data,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt(tl, crts, crts_size,
- not_flags, &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, crts, crts_size, not_flags,
+ &status, NULL);
if (ret < 0 || status == 0) {
fail("gnutls_x509_trust_list_verify_crt - 5\n");
exit(1);
diff --git a/tests/chainverify.c b/tests/chainverify.c
index 9460724fd1..9b19fe67ac 100644
--- a/tests/chainverify.c
+++ b/tests/chainverify.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,7 +40,7 @@ static time_t then = DEFAULT_THEN;
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
if (t)
*t = then;
@@ -85,7 +85,6 @@ void doit(void)
gnutls_global_set_log_level(4711);
for (i = 0; chains[i].chain; i++) {
-
printf("[%d]: Chain '%s'...\n", (int)i, chains[i].name);
if (chains[i].notfips && gnutls_fips140_mode_enabled()) {
@@ -109,9 +108,8 @@ void doit(void)
tmp.data = (unsigned char *)chains[i].chain[j];
tmp.size = strlen(chains[i].chain[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
@@ -167,11 +165,9 @@ void doit(void)
then = DEFAULT_THEN;
if (chains[i].purpose == NULL) {
- ret = gnutls_x509_crt_list_verify(certs, j,
- &ca, 1, NULL, 0,
- chains
- [i].verify_flags,
- &verify_status);
+ ret = gnutls_x509_crt_list_verify(
+ certs, j, &ca, 1, NULL, 0,
+ chains[i].verify_flags, &verify_status);
if (ret < 0) {
fprintf(stderr,
"gnutls_x509_crt_list_verify[%d,%d]: %s\n",
@@ -181,12 +177,16 @@ void doit(void)
if (verify_status != chains[i].expected_verify_result) {
gnutls_datum_t out1, out2;
- gnutls_certificate_verification_status_print
- (verify_status, GNUTLS_CRT_X509, &out1, 0);
- gnutls_certificate_verification_status_print
- (chains[i].expected_verify_result,
- GNUTLS_CRT_X509, &out2, 0);
- fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n", chains[i].name, verify_status, out1.data, chains[i].expected_verify_result, out2.data);
+ gnutls_certificate_verification_status_print(
+ verify_status, GNUTLS_CRT_X509, &out1,
+ 0);
+ gnutls_certificate_verification_status_print(
+ chains[i].expected_verify_result,
+ GNUTLS_CRT_X509, &out2, 0);
+ fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n",
+ chains[i].name, verify_status, out1.data,
+ chains[i].expected_verify_result,
+ out2.data);
gnutls_free(out1.data);
gnutls_free(out2.data);
@@ -203,7 +203,6 @@ void doit(void)
exit(1);
} else if (debug)
printf("done\n");
-
}
gnutls_x509_trust_list_init(&tl, 0);
@@ -219,20 +218,13 @@ void doit(void)
vdata[0].type = GNUTLS_DT_KEY_PURPOSE_OID;
vdata[0].data = (void *)chains[i].purpose;
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, certs, j,
- vdata, 1,
- chains
- [i].verify_flags,
- &verify_status1,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ tl, certs, j, vdata, 1, chains[i].verify_flags,
+ &verify_status1, NULL);
} else {
- ret =
- gnutls_x509_trust_list_verify_crt(tl, certs, j,
- chains
- [i].verify_flags,
- &verify_status1,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt(
+ tl, certs, j, chains[i].verify_flags,
+ &verify_status1, NULL);
}
if (ret < 0) {
fprintf(stderr,
@@ -244,23 +236,32 @@ void doit(void)
if (chains[i].purpose == NULL) {
if (verify_status != verify_status1) {
gnutls_datum_t out1, out2;
- gnutls_certificate_verification_status_print
- (verify_status, GNUTLS_CRT_X509, &out1, 0);
- gnutls_certificate_verification_status_print
- (verify_status1, GNUTLS_CRT_X509, &out2, 0);
- fail("chain[%s]:\nverify_status: %d: %s\ntrust list vstatus: %d: %s\n", chains[i].name, verify_status, out1.data, verify_status1, out2.data);
+ gnutls_certificate_verification_status_print(
+ verify_status, GNUTLS_CRT_X509, &out1,
+ 0);
+ gnutls_certificate_verification_status_print(
+ verify_status1, GNUTLS_CRT_X509, &out2,
+ 0);
+ fail("chain[%s]:\nverify_status: %d: %s\ntrust list vstatus: %d: %s\n",
+ chains[i].name, verify_status, out1.data,
+ verify_status1, out2.data);
gnutls_free(out1.data);
gnutls_free(out2.data);
}
} else {
- if (verify_status1 != chains[i].expected_verify_result) {
+ if (verify_status1 !=
+ chains[i].expected_verify_result) {
gnutls_datum_t out1, out2;
- gnutls_certificate_verification_status_print
- (verify_status1, GNUTLS_CRT_X509, &out1, 0);
- gnutls_certificate_verification_status_print
- (chains[i].expected_verify_result,
- GNUTLS_CRT_X509, &out2, 0);
- fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n", chains[i].name, verify_status1, out1.data, chains[i].expected_verify_result, out2.data);
+ gnutls_certificate_verification_status_print(
+ verify_status1, GNUTLS_CRT_X509, &out1,
+ 0);
+ gnutls_certificate_verification_status_print(
+ chains[i].expected_verify_result,
+ GNUTLS_CRT_X509, &out2, 0);
+ fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n",
+ chains[i].name, verify_status1, out1.data,
+ chains[i].expected_verify_result,
+ out2.data);
gnutls_free(out1.data);
gnutls_free(out2.data);
}
diff --git a/tests/cipher-alignment.c b/tests/cipher-alignment.c
index 65fa6e0fa7..2ed64baad4 100644
--- a/tests/cipher-alignment.c
+++ b/tests/cipher-alignment.c
@@ -24,7 +24,7 @@
/* Tests whether memory input to ciphers are properly aligned */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,24 +40,24 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <nettle/aes.h>
-# include <nettle/cbc.h>
-# include <nettle/gcm.h>
-# include <assert.h>
-
-# include "utils.h"
-
-# include "ex-session-info.c"
-# include "ex-x509-info.c"
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <nettle/aes.h>
+#include <nettle/cbc.h>
+#include <nettle/gcm.h>
+#include <assert.h>
+
+#include "utils.h"
+
+#include "ex-session-info.c"
+#include "ex-x509-info.c"
static pid_t child;
@@ -67,56 +67,58 @@ static void tls_log_func(int level, const char *str)
str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static unsigned char ca_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
- "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\n"
- "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\n"
- "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\n"
- "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\n"
- "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\n"
- "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
- "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
- "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
- "PfqUpIhz5Bbm7J4=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
+ "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\n"
+ "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\n"
+ "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\n"
+ "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\n"
+ "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\n"
+ "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
+ "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
+ "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
+ "PfqUpIhz5Bbm7J4=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t ca = { ca_pem, sizeof(ca_pem) };
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t key = { key_pem, sizeof(key_pem) };
struct myaes_ctx {
@@ -127,15 +129,11 @@ struct myaes_ctx {
static unsigned aes_init = 0;
-extern int
-_gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,
- int priority,
- gnutls_cipher_init_func init,
- gnutls_cipher_setkey_func setkey,
- gnutls_cipher_setiv_func setiv,
- gnutls_cipher_encrypt_func encrypt,
- gnutls_cipher_decrypt_func decrypt,
- gnutls_cipher_deinit_func deinit);
+extern int _gnutls_crypto_register_cipher(
+ gnutls_cipher_algorithm_t algorithm, int priority,
+ gnutls_cipher_init_func init, gnutls_cipher_setkey_func setkey,
+ gnutls_cipher_setiv_func setiv, gnutls_cipher_encrypt_func encrypt,
+ gnutls_cipher_decrypt_func decrypt, gnutls_cipher_deinit_func deinit);
static int myaes_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc)
{
@@ -175,32 +173,30 @@ static int myaes_setiv(void *_ctx, const void *iv, size_t iv_size)
return 0;
}
-static int
-myaes_encrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int myaes_encrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct myaes_ctx *ctx = _ctx;
-# if 0 /* this is under the control of the caller */
+#if 0 /* this is under the control of the caller */
if (((unsigned long)src) % 16 != 0) {
fail("encrypt: source is not 16-byte aligned: %lu\n",
((unsigned long)src) % 16);
}
-# endif
+#endif
if (((unsigned long)dst) % 16 != 0) {
fail("encrypt: dest is not 16-byte aligned: %lu\n",
((unsigned long)dst) % 16);
}
- cbc_encrypt(&ctx->aes, (nettle_cipher_func *) aes128_encrypt, 16,
+ cbc_encrypt(&ctx->aes, (nettle_cipher_func *)aes128_encrypt, 16,
ctx->iv, src_size, dst, src);
return 0;
}
-static int
-myaes_decrypt(void *_ctx, const void *src, size_t src_size,
- void *dst, size_t dst_size)
+static int myaes_decrypt(void *_ctx, const void *src, size_t src_size,
+ void *dst, size_t dst_size)
{
struct myaes_ctx *ctx = _ctx;
@@ -209,14 +205,14 @@ myaes_decrypt(void *_ctx, const void *src, size_t src_size,
((unsigned long)src) % 16);
}
-# if 0 /* this is under the control of the caller */
+#if 0 /* this is under the control of the caller */
if (((unsigned long)dst) % 16 != 0) {
fail("decrypt: dest is not 16-byte aligned: %lu\n",
((unsigned long)dst) % 16);
}
-# endif
+#endif
- cbc_decrypt(&ctx->aes, (nettle_cipher_func *) aes128_decrypt, 16,
+ cbc_decrypt(&ctx->aes, (nettle_cipher_func *)aes128_decrypt, 16,
ctx->iv, src_size, dst, src);
return 0;
@@ -272,8 +268,8 @@ static void client(int sd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
if (debug)
@@ -301,8 +297,7 @@ static void client(int sd, const char *prio)
ret = gnutls_handshake(session);
if (ret == 0) {
if (debug)
- success
- ("client: handshake complete, reading again.\n");
+ success("client: handshake complete, reading again.\n");
ret = gnutls_record_recv(session, buffer, MAX_BUF);
} else {
fail("client: handshake failed.\n");
@@ -328,7 +323,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -340,50 +335,47 @@ static void client(int sd, const char *prio)
/* This is a sample TLS 1.0 echo server, using X.509 authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
/* These are global */
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void server(int sd, const char *prio)
{
@@ -429,8 +421,8 @@ static void server(int sd, const char *prio)
if (debug) {
success("server: Handshake was completed\n");
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
}
/* see the Getting peer's information example */
@@ -443,11 +435,11 @@ static void server(int sd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -468,8 +460,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int sockets[2];
int err;
@@ -509,10 +500,8 @@ void doit(void)
global_init();
ret = _gnutls_crypto_register_cipher(GNUTLS_CIPHER_AES_128_CBC, 1,
- myaes_init,
- myaes_setkey,
- myaes_setiv,
- myaes_encrypt,
+ myaes_init, myaes_setkey,
+ myaes_setiv, myaes_encrypt,
myaes_decrypt, myaes_deinit);
if (ret < 0) {
fail("%d: cannot register cipher\n", __LINE__);
@@ -526,4 +515,4 @@ void doit(void)
gnutls_global_deinit();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/cipher-neg-common.c b/tests/cipher-neg-common.c
index 3f7dc2a3f7..cad360274d 100644
--- a/tests/cipher-neg-common.c
+++ b/tests/cipher-neg-common.c
@@ -30,7 +30,7 @@ typedef struct test_case_st {
unsigned not_on_fips;
} test_case_st;
-static void try(test_case_st * test)
+static void try(test_case_st *test)
{
int sret, cret;
gnutls_certificate_credentials_t s_cert_cred;
@@ -54,15 +54,15 @@ static void try(test_case_st * test)
gnutls_certificate_set_known_dh_params(s_cert_cred,
GNUTLS_SEC_PARAM_MEDIUM);
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_rsa_decrypt_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_rsa_sign_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_ecc_cert,
- &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_rsa_decrypt_cert,
+ &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_rsa_sign_cert,
+ &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_ecc_cert,
+ &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, c_cert_cred);
@@ -86,20 +86,26 @@ static void try(test_case_st * test)
char *desc2 = gnutls_session_get_desc(client);
if (strcmp(desc1, desc2) != 0)
- fail("server and client session description don't match (%s, %s)\n", desc1, desc2);
+ fail("server and client session description don't match (%s, %s)\n",
+ desc1, desc2);
if (strcmp(desc1, test->desc) != 0)
- fail("session and expected session description don't match (%s, %s)\n", desc1, test->desc);
+ fail("session and expected session description don't match (%s, %s)\n",
+ desc1, test->desc);
gnutls_free(desc1);
gnutls_free(desc2);
}
if (sret != cret) {
- fail("%s: client negotiated different cipher than server (%s, %s)!\n", test->name, gnutls_cipher_get_name(cret), gnutls_cipher_get_name(sret));
+ fail("%s: client negotiated different cipher than server (%s, %s)!\n",
+ test->name, gnutls_cipher_get_name(cret),
+ gnutls_cipher_get_name(sret));
}
if (cret != test->cipher) {
- fail("%s: negotiated cipher differs with the expected (%s, %s)!\n", test->name, gnutls_cipher_get_name(cret), gnutls_cipher_get_name(test->cipher));
+ fail("%s: negotiated cipher differs with the expected (%s, %s)!\n",
+ test->name, gnutls_cipher_get_name(cret),
+ gnutls_cipher_get_name(test->cipher));
}
if (test->group) {
@@ -107,11 +113,15 @@ static void try(test_case_st * test)
cret = gnutls_group_get(server);
if (sret != cret) {
- fail("%s: client negotiated different group than server (%s, %s)!\n", test->name, gnutls_group_get_name(cret), gnutls_group_get_name(sret));
+ fail("%s: client negotiated different group than server (%s, %s)!\n",
+ test->name, gnutls_group_get_name(cret),
+ gnutls_group_get_name(sret));
}
if (cret != test->group) {
- fail("%s: negotiated group differs with the expected (%s, %s)!\n", test->name, gnutls_group_get_name(cret), gnutls_group_get_name(test->group));
+ fail("%s: negotiated group differs with the expected (%s, %s)!\n",
+ test->name, gnutls_group_get_name(cret),
+ gnutls_group_get_name(test->group));
}
}
diff --git a/tests/cipher-padding.c b/tests/cipher-padding.c
index d629a595f9..7572269fca 100644
--- a/tests/cipher-padding.c
+++ b/tests/cipher-padding.c
@@ -35,8 +35,8 @@ static void tls_log_func(int level, const char *str)
#define CLAMP(x, b) (((x) + (b)) / (b)) * (b)
-static void
-start(gnutls_cipher_algorithm_t algo, size_t plaintext_size, unsigned int flags)
+static void start(gnutls_cipher_algorithm_t algo, size_t plaintext_size,
+ unsigned int flags)
{
int ret;
gnutls_cipher_hd_t ch;
@@ -48,8 +48,8 @@ start(gnutls_cipher_algorithm_t algo, size_t plaintext_size, unsigned int flags)
size_t size;
gnutls_datum_t key, iv;
- success("%s %zu %u\n",
- gnutls_cipher_get_name(algo), plaintext_size, flags);
+ success("%s %zu %u\n", gnutls_cipher_get_name(algo), plaintext_size,
+ flags);
block_size = gnutls_cipher_get_block_size(algo);
@@ -72,18 +72,16 @@ start(gnutls_cipher_algorithm_t algo, size_t plaintext_size, unsigned int flags)
/* Check overflow if PKCS#7 is requested */
if (flags & GNUTLS_CIPHER_PADDING_PKCS7) {
- ret = gnutls_cipher_encrypt3(ch,
- plaintext, SIZE_MAX,
- NULL, &size, flags);
+ ret = gnutls_cipher_encrypt3(ch, plaintext, SIZE_MAX, NULL,
+ &size, flags);
if (ret != GNUTLS_E_INVALID_REQUEST) {
fail("gnutls_cipher_encrypt3 succeeded\n");
}
}
/* Get the ciphertext size */
- ret = gnutls_cipher_encrypt3(ch,
- plaintext, plaintext_size,
- NULL, &size, flags);
+ ret = gnutls_cipher_encrypt3(ch, plaintext, plaintext_size, NULL, &size,
+ flags);
if (ret < 0) {
fail("gnutls_cipher_encrypt3 failed\n");
}
@@ -93,35 +91,33 @@ start(gnutls_cipher_algorithm_t algo, size_t plaintext_size, unsigned int flags)
fail("no padding appended\n");
}
if (size != CLAMP(plaintext_size, block_size)) {
- fail("size does not match: %zu (expected %zu)\n",
- size, CLAMP(plaintext_size, block_size));
+ fail("size does not match: %zu (expected %zu)\n", size,
+ CLAMP(plaintext_size, block_size));
}
} else {
if (size != plaintext_size) {
- fail("size does not match: %zu (expected %zu)\n",
- size, plaintext_size);
+ fail("size does not match: %zu (expected %zu)\n", size,
+ plaintext_size);
}
}
/* Encrypt with padding */
- ret = gnutls_cipher_encrypt3(ch,
- plaintext, plaintext_size,
- ciphertext, &size, flags);
+ ret = gnutls_cipher_encrypt3(ch, plaintext, plaintext_size, ciphertext,
+ &size, flags);
if (ret < 0) {
fail("gnutls_cipher_encrypt3 failed\n");
}
/* Decrypt with padding */
- ret = gnutls_cipher_decrypt3(ch,
- ciphertext, size,
- ciphertext, &size, flags);
+ ret = gnutls_cipher_decrypt3(ch, ciphertext, size, ciphertext, &size,
+ flags);
if (ret < 0) {
fail("gnutls_cipher_encrypt3 failed\n");
}
if (size != plaintext_size) {
- fail("size does not match: %zu (expected %zu)\n",
- size, plaintext_size);
+ fail("size does not match: %zu (expected %zu)\n", size,
+ plaintext_size);
}
if (memcmp(ciphertext, plaintext, size) != 0) {
diff --git a/tests/ciphersuite-name.c b/tests/ciphersuite-name.c
index 9331c34905..8d194190b4 100644
--- a/tests/ciphersuite-name.c
+++ b/tests/ciphersuite-name.c
@@ -37,8 +37,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static void
-start(const char *test_name, const char *prio, const char *expected_name)
+static void start(const char *test_name, const char *prio,
+ const char *expected_name)
{
int sret, cret;
gnutls_certificate_credentials_t scred, ccred;
@@ -54,8 +54,7 @@ start(const char *test_name, const char *prio, const char *expected_name)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_cert,
+ assert(gnutls_certificate_set_x509_key_mem(scred, &server_cert,
&server_key,
GNUTLS_X509_FMT_PEM) >= 0);
@@ -69,8 +68,8 @@ start(const char *test_name, const char *prio, const char *expected_name)
/* Init client */
gnutls_certificate_allocate_credentials(&ccred);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
@@ -86,12 +85,14 @@ start(const char *test_name, const char *prio, const char *expected_name)
name = gnutls_ciphersuite_get(server);
if (!name || strcmp(name, expected_name) != 0) {
- fail("server: gnutls_ciphersuite_get returned %s while %s is expected\n", name, expected_name);
+ fail("server: gnutls_ciphersuite_get returned %s while %s is expected\n",
+ name, expected_name);
}
name = gnutls_ciphersuite_get(client);
if (!name || strcmp(name, expected_name) != 0) {
- fail("client: gnutls_ciphersuite_get returned %s while %s is expected\n", name, expected_name);
+ fail("client: gnutls_ciphersuite_get returned %s while %s is expected\n",
+ name, expected_name);
}
gnutls_bye(client, GNUTLS_SHUT_WR);
diff --git a/tests/client-fastopen.c b/tests/client-fastopen.c
index bf3b854a00..17eced7eca 100644
--- a/tests/client-fastopen.c
+++ b/tests/client-fastopen.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,21 +39,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <gnutls/socket.h>
-# include <errno.h>
-# include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <gnutls/socket.h>
+#include <errno.h>
+#include <assert.h>
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -67,7 +67,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, struct sockaddr *connect_addr,
socklen_t connect_addrlen, const char *prio)
@@ -103,8 +103,7 @@ static void client(int fd, struct sockaddr *connect_addr,
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -116,8 +115,8 @@ static void client(int fd, struct sockaddr *connect_addr,
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -138,7 +137,7 @@ static void client(int fd, struct sockaddr *connect_addr,
gnutls_strerror(ret));
}
- end:
+end:
close(fd);
@@ -177,9 +176,8 @@ static void server(int fd, const char *prio)
gnutls_certificate_allocate_credentials(&xcred);
- ret = gnutls_certificate_set_x509_key_mem(xcred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ xcred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -197,8 +195,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -211,8 +208,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -252,8 +249,7 @@ static void ch_handler(int sig)
return;
}
-static
-void run(const char *name, const char *prio)
+static void run(const char *name, const char *prio)
{
int ret;
struct sockaddr_in saddr;
@@ -322,4 +318,4 @@ void doit(void)
run("tls1.3", "NORMAL:-VERS-ALL:+VERS-TLS1.3");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/client-secrets.h b/tests/client-secrets.h
index f53660e6b2..76fefbe783 100644
--- a/tests/client-secrets.h
+++ b/tests/client-secrets.h
@@ -22,312 +22,312 @@
*/
#ifndef GNUTLS_TESTS_CLIENT_SECRETS_H
-# define GNUTLS_TESTS_CLIENT_SECRETS_H
+#define GNUTLS_TESTS_CLIENT_SECRETS_H
static const struct secret client_normal_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ },
};
static const struct secret client_normal_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- NULL,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
- (const uint8_t *)
- "\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
+ (const uint8_t
+ *)"\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
+ },
};
static const struct secret client_normal_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- NULL,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
- (const uint8_t *)
- "\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
+ (const uint8_t
+ *)"\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
+ },
};
static const struct secret client_small_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ },
};
static const struct secret client_small_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- NULL,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
- (const uint8_t *)
- "\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
+ (const uint8_t
+ *)"\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
+ },
};
static const struct secret client_small_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- NULL,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
- (const uint8_t *)
- "\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
+ (const uint8_t
+ *)"\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
+ },
};
static const struct secret client_empty_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ },
};
static const struct secret client_empty_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
- (const uint8_t *)
- "\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
- (const uint8_t *)
- "\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
+ (const uint8_t
+ *)"\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
+ (const uint8_t
+ *)"\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
+ },
};
static const struct secret client_empty_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
- (const uint8_t *)
- "\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
- (const uint8_t *)
- "\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
+ (const uint8_t
+ *)"\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
+ (const uint8_t
+ *)"\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
+ },
};
static const struct secret client_explicit_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ },
};
static const struct secret client_explicit_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- NULL,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
- (const uint8_t *)
- "\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
+ (const uint8_t
+ *)"\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
+ },
};
static const struct secret client_explicit_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- NULL,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
- (const uint8_t *)
- "\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
+ (const uint8_t
+ *)"\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
+ },
};
-#endif /* GNUTLS_TESTS_CLIENT_SECRETS_H */
+#endif /* GNUTLS_TESTS_CLIENT_SECRETS_H */
diff --git a/tests/client-sign-md5-rep.c b/tests/client-sign-md5-rep.c
index 08866c838c..3a0c6b4694 100644
--- a/tests/client-sign-md5-rep.c
+++ b/tests/client-sign-md5-rep.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,19 +40,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <limits.h>
-# include <poll.h>
-# include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <limits.h>
+#include <poll.h>
+#include <errno.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
pid_t child;
@@ -61,625 +61,458 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s |<%d>| %s", "client", level, str);
}
-static unsigned char tls1_hello[] = { /* server hello etc. */
- 0x16, 0x03, 0x03, 0x00, 0x39, 0x02, 0x00, 0x00, 0x35, 0x03, 0x03, 0x95,
- 0x66, 0x0A, 0x55, 0xBC,
- 0x04, 0x84, 0xBD, 0x7E, 0xA6, 0xCE, 0x2B, 0x1C, 0x7B, 0x72, 0x28, 0x0D,
- 0x8E, 0x2C, 0x34, 0xC8,
- 0xFF, 0x73, 0xBA, 0x6C, 0x9F, 0x20, 0xB9, 0x18, 0xCD, 0x22, 0xCB, 0x00,
- 0x00, 0x9E, 0x00, 0x00,
- 0x0D, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x01, 0x00, 0x00, 0x23,
- 0x00, 0x00, 0x16, 0x03,
- 0x03, 0x10, 0xE3, 0x0B, 0x00, 0x10, 0xDF, 0x00, 0x10, 0xDC, 0x00, 0x05,
- 0x4F, 0x30, 0x82, 0x05,
- 0x4B, 0x30, 0x82, 0x04, 0x33, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10,
- 0x4C, 0x8E, 0x18, 0x71,
- 0x4B, 0x34, 0xE7, 0x5E, 0x8D, 0xAE, 0xFB, 0xE8, 0xF6, 0x4C, 0x3A, 0x82,
- 0x30, 0x0D, 0x06, 0x09,
- 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30,
- 0x81, 0x90, 0x31, 0x0B,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31,
- 0x1B, 0x30, 0x19, 0x06,
- 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x72, 0x20, 0x4D, 0x61,
- 0x6E, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E,
- 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A,
- 0x30, 0x18, 0x06, 0x03,
- 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20,
- 0x43, 0x41, 0x20, 0x4C,
- 0x69, 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03,
- 0x55, 0x04, 0x03, 0x13,
- 0x2D, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x52, 0x53, 0x41, 0x20,
- 0x44, 0x6F, 0x6D, 0x61,
- 0x69, 0x6E, 0x20, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F,
- 0x6E, 0x20, 0x53, 0x65,
- 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20,
- 0x43, 0x41, 0x30, 0x1E,
- 0x17, 0x0D, 0x31, 0x36, 0x30, 0x37, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x5A, 0x17,
- 0x0D, 0x31, 0x37, 0x30, 0x39, 0x30, 0x35, 0x32, 0x33, 0x35, 0x39, 0x35,
- 0x39, 0x5A, 0x30, 0x59,
- 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x18, 0x44,
- 0x6F, 0x6D, 0x61, 0x69,
- 0x6E, 0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x20, 0x56, 0x61,
- 0x6C, 0x69, 0x64, 0x61,
- 0x74, 0x65, 0x64, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0B,
- 0x13, 0x14, 0x50, 0x6F,
- 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x53, 0x53, 0x4C, 0x20, 0x57, 0x69,
- 0x6C, 0x64, 0x63, 0x61,
- 0x72, 0x64, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C,
- 0x0C, 0x2A, 0x2E, 0x62,
- 0x61, 0x64, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x82, 0x01,
- 0x22, 0x30, 0x0D, 0x06,
- 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00,
- 0x03, 0x82, 0x01, 0x0F,
- 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC2, 0x04,
- 0xEC, 0xF8, 0x8C, 0xEE,
- 0x04, 0xC2, 0xB3, 0xD8, 0x50, 0xD5, 0x70, 0x58, 0xCC, 0x93, 0x18, 0xEB,
- 0x5C, 0xA8, 0x68, 0x49,
- 0xB0, 0x22, 0xB5, 0xF9, 0x95, 0x9E, 0xB1, 0x2B, 0x2C, 0x76, 0x3E, 0x6C,
- 0xC0, 0x4B, 0x60, 0x4C,
- 0x4C, 0xEA, 0xB2, 0xB4, 0xC0, 0x0F, 0x80, 0xB6, 0xB0, 0xF9, 0x72, 0xC9,
- 0x86, 0x02, 0xF9, 0x5C,
- 0x41, 0x5D, 0x13, 0x2B, 0x7F, 0x71, 0xC4, 0x4B, 0xBC, 0xE9, 0x94, 0x2E,
- 0x50, 0x37, 0xA6, 0x67,
- 0x1C, 0x61, 0x8C, 0xF6, 0x41, 0x42, 0xC5, 0x46, 0xD3, 0x16, 0x87, 0x27,
- 0x9F, 0x74, 0xEB, 0x0A,
- 0x9D, 0x11, 0x52, 0x26, 0x21, 0x73, 0x6C, 0x84, 0x4C, 0x79, 0x55, 0xE4,
- 0xD1, 0x6B, 0xE8, 0x06,
- 0x3D, 0x48, 0x15, 0x52, 0xAD, 0xB3, 0x28, 0xDB, 0xAA, 0xFF, 0x6E, 0xFF,
- 0x60, 0x95, 0x4A, 0x77,
- 0x6B, 0x39, 0xF1, 0x24, 0xD1, 0x31, 0xB6, 0xDD, 0x4D, 0xC0, 0xC4, 0xFC,
- 0x53, 0xB9, 0x6D, 0x42,
- 0xAD, 0xB5, 0x7C, 0xFE, 0xAE, 0xF5, 0x15, 0xD2, 0x33, 0x48, 0xE7, 0x22,
- 0x71, 0xC7, 0xC2, 0x14,
- 0x7A, 0x6C, 0x28, 0xEA, 0x37, 0x4A, 0xDF, 0xEA, 0x6C, 0xB5, 0x72, 0xB4,
- 0x7E, 0x5A, 0xA2, 0x16,
- 0xDC, 0x69, 0xB1, 0x57, 0x44, 0xDB, 0x0A, 0x12, 0xAB, 0xDE, 0xC3, 0x0F,
- 0x47, 0x74, 0x5C, 0x41,
- 0x22, 0xE1, 0x9A, 0xF9, 0x1B, 0x93, 0xE6, 0xAD, 0x22, 0x06, 0x29, 0x2E,
- 0xB1, 0xBA, 0x49, 0x1C,
- 0x0C, 0x27, 0x9E, 0xA3, 0xFB, 0x8B, 0xF7, 0x40, 0x72, 0x00, 0xAC, 0x92,
- 0x08, 0xD9, 0x8C, 0x57,
- 0x84, 0x53, 0x81, 0x05, 0xCB, 0xE6, 0xFE, 0x6B, 0x54, 0x98, 0x40, 0x27,
- 0x85, 0xC7, 0x10, 0xBB,
- 0x73, 0x70, 0xEF, 0x69, 0x18, 0x41, 0x07, 0x45, 0x55, 0x7C, 0xF9, 0x64,
- 0x3F, 0x3D, 0x2C, 0xC3,
- 0xA9, 0x7C, 0xEB, 0x93, 0x1A, 0x4C, 0x86, 0xD1, 0xCA, 0x85, 0x02, 0x03,
- 0x01, 0x00, 0x01, 0xA3,
- 0x82, 0x01, 0xD5, 0x30, 0x82, 0x01, 0xD1, 0x30, 0x1F, 0x06, 0x03, 0x55,
- 0x1D, 0x23, 0x04, 0x18,
- 0x30, 0x16, 0x80, 0x14, 0x90, 0xAF, 0x6A, 0x3A, 0x94, 0x5A, 0x0B, 0xD8,
- 0x90, 0xEA, 0x12, 0x56,
- 0x73, 0xDF, 0x43, 0xB4, 0x3A, 0x28, 0xDA, 0xE7, 0x30, 0x1D, 0x06, 0x03,
- 0x55, 0x1D, 0x0E, 0x04,
- 0x16, 0x04, 0x14, 0x9D, 0xEE, 0xC1, 0x7B, 0x81, 0x0B, 0x3A, 0x47, 0x69,
- 0x71, 0x18, 0x7D, 0x11,
- 0x37, 0x93, 0xBC, 0xA5, 0x1B, 0x3F, 0xFB, 0x30, 0x0E, 0x06, 0x03, 0x55,
- 0x1D, 0x0F, 0x01, 0x01,
- 0xFF, 0x04, 0x04, 0x03, 0x02, 0x05, 0xA0, 0x30, 0x0C, 0x06, 0x03, 0x55,
- 0x1D, 0x13, 0x01, 0x01,
- 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x25,
- 0x04, 0x16, 0x30, 0x14,
- 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08,
- 0x2B, 0x06, 0x01, 0x05,
- 0x05, 0x07, 0x03, 0x02, 0x30, 0x4F, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04,
- 0x48, 0x30, 0x46, 0x30,
- 0x3A, 0x06, 0x0B, 0x2B, 0x06, 0x01, 0x04, 0x01, 0xB2, 0x31, 0x01, 0x02,
- 0x02, 0x07, 0x30, 0x2B,
- 0x30, 0x29, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01,
- 0x16, 0x1D, 0x68, 0x74,
- 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65,
- 0x2E, 0x63, 0x6F, 0x6D,
- 0x6F, 0x64, 0x6F, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x50, 0x53, 0x30,
- 0x08, 0x06, 0x06, 0x67,
- 0x81, 0x0C, 0x01, 0x02, 0x01, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1D, 0x1F,
- 0x04, 0x4D, 0x30, 0x4B,
- 0x30, 0x49, 0xA0, 0x47, 0xA0, 0x45, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70,
- 0x3A, 0x2F, 0x2F, 0x63,
- 0x72, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F, 0x63, 0x61, 0x2E,
- 0x63, 0x6F, 0x6D, 0x2F,
- 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x52, 0x53, 0x41, 0x44, 0x6F, 0x6D,
- 0x61, 0x69, 0x6E, 0x56,
- 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x53, 0x65, 0x63,
- 0x75, 0x72, 0x65, 0x53,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30,
- 0x81, 0x85, 0x06, 0x08,
- 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x79, 0x30, 0x77,
- 0x30, 0x4F, 0x06, 0x08,
- 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x43, 0x68, 0x74,
- 0x74, 0x70, 0x3A, 0x2F,
- 0x2F, 0x63, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F, 0x63,
- 0x61, 0x2E, 0x63, 0x6F,
- 0x6D, 0x2F, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x52, 0x53, 0x41, 0x44,
- 0x6F, 0x6D, 0x61, 0x69,
- 0x6E, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x53,
- 0x65, 0x63, 0x75, 0x72,
- 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x41, 0x2E, 0x63, 0x72,
- 0x74, 0x30, 0x24, 0x06,
- 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68,
- 0x74, 0x74, 0x70, 0x3A,
- 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64,
- 0x6F, 0x63, 0x61, 0x2E,
- 0x63, 0x6F, 0x6D, 0x30, 0x23, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x1C,
- 0x30, 0x1A, 0x82, 0x0C,
- 0x2A, 0x2E, 0x62, 0x61, 0x64, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D,
- 0x82, 0x0A, 0x62, 0x61,
- 0x64, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09,
- 0x2A, 0x86, 0x48, 0x86,
- 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
- 0x75, 0x48, 0x83, 0x88,
- 0x9C, 0x55, 0x24, 0x37, 0x30, 0x07, 0xEB, 0x26, 0x68, 0xC8, 0x79, 0x1C,
- 0x5C, 0xAE, 0x9A, 0x02,
- 0x9A, 0xB5, 0x52, 0x75, 0x44, 0xAC, 0xA9, 0xED, 0x59, 0x65, 0xD0, 0xC6,
- 0x47, 0x26, 0x04, 0x8D,
- 0x57, 0x89, 0x16, 0x2E, 0x71, 0x18, 0x48, 0x98, 0x68, 0x1C, 0xF6, 0x31,
- 0xF5, 0x26, 0x4B, 0xE8,
- 0x81, 0x44, 0xB1, 0xFF, 0x5C, 0x65, 0x3D, 0x78, 0x54, 0x94, 0xC3, 0x86,
- 0x9D, 0x48, 0x96, 0xE8,
- 0x32, 0xAF, 0xE1, 0x8F, 0x94, 0x47, 0xBE, 0x37, 0x8C, 0xC3, 0xED, 0x4D,
- 0x97, 0xBB, 0xC6, 0x2A,
- 0x37, 0x72, 0x01, 0x3A, 0x8F, 0x82, 0xA4, 0x34, 0x44, 0xC4, 0xC4, 0xF8,
- 0x50, 0x24, 0x48, 0x9E,
- 0x19, 0xF0, 0xEC, 0xE1, 0xC6, 0x13, 0x44, 0x26, 0xB6, 0x65, 0xE1, 0x62,
- 0x49, 0x87, 0xA4, 0xF4,
- 0xD8, 0xC4, 0x39, 0x3C, 0x7D, 0x42, 0xC8, 0xA4, 0x2A, 0x54, 0x05, 0xA0,
- 0xDC, 0x0A, 0xF8, 0x2B,
- 0x22, 0x94, 0x93, 0x78, 0x4E, 0x6A, 0x36, 0x1B, 0xD2, 0xE7, 0xE9, 0xAE,
- 0x84, 0xED, 0x13, 0x1D,
- 0xA1, 0xF7, 0xA2, 0x83, 0x81, 0x03, 0x4C, 0x9E, 0x21, 0xFB, 0xBF, 0xA8,
- 0x30, 0xFE, 0xEB, 0x00,
- 0x68, 0xB1, 0x7F, 0xBA, 0x5D, 0xE2, 0x5D, 0xFF, 0x41, 0x1F, 0xD6, 0xF5,
- 0xA6, 0x5C, 0x8A, 0xEF,
- 0x81, 0x80, 0xC8, 0xF1, 0x52, 0x00, 0x17, 0x9D, 0xD1, 0x96, 0x1A, 0x7D,
- 0x5E, 0xD2, 0x83, 0xB3,
- 0x82, 0xC2, 0x3D, 0x46, 0x83, 0xA5, 0x1E, 0xB4, 0x36, 0x35, 0x38, 0xC4,
- 0x7A, 0x2E, 0xDF, 0x0B,
- 0xA1, 0x98, 0x63, 0x58, 0x0B, 0x1E, 0xD0, 0x6D, 0x83, 0x1F, 0xF1, 0x72,
- 0x4D, 0x09, 0xAC, 0x96,
- 0x1A, 0x0B, 0xE5, 0xF6, 0x34, 0x4C, 0xAB, 0xBC, 0xBC, 0x99, 0x5B, 0x82,
- 0x59, 0xE6, 0x6C, 0xD3,
- 0xDB, 0x98, 0xE0, 0xCE, 0x95, 0x3B, 0xCF, 0x4E, 0x17, 0xC3, 0xEE, 0x3A,
- 0x00, 0x06, 0x0C, 0x30,
- 0x82, 0x06, 0x08, 0x30, 0x82, 0x03, 0xF0, 0xA0, 0x03, 0x02, 0x01, 0x02,
- 0x02, 0x10, 0x2B, 0x2E,
- 0x6E, 0xEA, 0xD9, 0x75, 0x36, 0x6C, 0x14, 0x8A, 0x6E, 0xDB, 0xA3, 0x7C,
- 0x8C, 0x07, 0x30, 0x0D,
- 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C, 0x05,
- 0x00, 0x30, 0x81, 0x85,
- 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x1B, 0x30,
- 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x72, 0x20,
- 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10,
- 0x30, 0x0E, 0x06, 0x03,
- 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64,
- 0x31, 0x1A, 0x30, 0x18,
- 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44,
- 0x4F, 0x20, 0x43, 0x41,
- 0x20, 0x4C, 0x69, 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x2B, 0x30, 0x29,
- 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x13, 0x22, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x52, 0x53,
- 0x41, 0x20, 0x43, 0x65,
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20,
- 0x41, 0x75, 0x74, 0x68,
- 0x6F, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x34, 0x30,
- 0x32, 0x31, 0x32, 0x30,
- 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x32, 0x39, 0x30, 0x32,
- 0x31, 0x31, 0x32, 0x33,
- 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x81, 0x90, 0x31, 0x0B, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04,
- 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30, 0x19, 0x06, 0x03, 0x55,
- 0x04, 0x08, 0x13, 0x12,
- 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63,
- 0x68, 0x65, 0x73, 0x74,
- 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13,
- 0x07, 0x53, 0x61, 0x6C,
- 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04,
- 0x0A, 0x13, 0x11, 0x43,
- 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C, 0x69, 0x6D,
- 0x69, 0x74, 0x65, 0x64,
- 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2D, 0x43,
- 0x4F, 0x4D, 0x4F, 0x44,
- 0x4F, 0x20, 0x52, 0x53, 0x41, 0x20, 0x44, 0x6F, 0x6D, 0x61, 0x69, 0x6E,
- 0x20, 0x56, 0x61, 0x6C,
- 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x53, 0x65, 0x63, 0x75,
- 0x72, 0x65, 0x20, 0x53,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22,
- 0x30, 0x0D, 0x06, 0x09,
- 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
- 0x82, 0x01, 0x0F, 0x00,
- 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0x8E, 0xC2, 0x02,
- 0x19, 0xE1, 0xA0, 0x59,
- 0xA4, 0xEB, 0x38, 0x35, 0x8D, 0x2C, 0xFD, 0x01, 0xD0, 0xD3, 0x49, 0xC0,
- 0x64, 0xC7, 0x0B, 0x62,
- 0x05, 0x45, 0x16, 0x3A, 0xA8, 0xA0, 0xC0, 0x0C, 0x02, 0x7F, 0x1D, 0xCC,
- 0xDB, 0xC4, 0xA1, 0x6D,
- 0x77, 0x03, 0xA3, 0x0F, 0x86, 0xF9, 0xE3, 0x06, 0x9C, 0x3E, 0x0B, 0x81,
- 0x8A, 0x9B, 0x49, 0x1B,
- 0xAD, 0x03, 0xBE, 0xFA, 0x4B, 0xDB, 0x8C, 0x20, 0xED, 0xD5, 0xCE, 0x5E,
- 0x65, 0x8E, 0x3E, 0x0D,
- 0xAF, 0x4C, 0xC2, 0xB0, 0xB7, 0x45, 0x5E, 0x52, 0x2F, 0x34, 0xDE, 0x48,
- 0x24, 0x64, 0xB4, 0x41,
- 0xAE, 0x00, 0x97, 0xF7, 0xBE, 0x67, 0xDE, 0x9E, 0xD0, 0x7A, 0xA7, 0x53,
- 0x80, 0x3B, 0x7C, 0xAD,
- 0xF5, 0x96, 0x55, 0x6F, 0x97, 0x47, 0x0A, 0x7C, 0x85, 0x8B, 0x22, 0x97,
- 0x8D, 0xB3, 0x84, 0xE0,
- 0x96, 0x57, 0xD0, 0x70, 0x18, 0x60, 0x96, 0x8F, 0xEE, 0x2D, 0x07, 0x93,
- 0x9D, 0xA1, 0xBA, 0xCA,
- 0xD1, 0xCD, 0x7B, 0xE9, 0xC4, 0x2A, 0x9A, 0x28, 0x21, 0x91, 0x4D, 0x6F,
- 0x92, 0x4F, 0x25, 0xA5,
- 0xF2, 0x7A, 0x35, 0xDD, 0x26, 0xDC, 0x46, 0xA5, 0xD0, 0xAC, 0x59, 0x35,
- 0x8C, 0xFF, 0x4E, 0x91,
- 0x43, 0x50, 0x3F, 0x59, 0x93, 0x1E, 0x6C, 0x51, 0x21, 0xEE, 0x58, 0x14,
- 0xAB, 0xFE, 0x75, 0x50,
- 0x78, 0x3E, 0x4C, 0xB0, 0x1C, 0x86, 0x13, 0xFA, 0x6B, 0x98, 0xBC, 0xE0,
- 0x3B, 0x94, 0x1E, 0x85,
- 0x52, 0xDC, 0x03, 0x93, 0x24, 0x18, 0x6E, 0xCB, 0x27, 0x51, 0x45, 0xE6,
- 0x70, 0xDE, 0x25, 0x43,
- 0xA4, 0x0D, 0xE1, 0x4A, 0xA5, 0xED, 0xB6, 0x7E, 0xC8, 0xCD, 0x6D, 0xEE,
- 0x2E, 0x1D, 0x27, 0x73,
- 0x5D, 0xDC, 0x45, 0x30, 0x80, 0xAA, 0xE3, 0xB2, 0x41, 0x0B, 0xAF, 0xBD,
- 0x44, 0x87, 0xDA, 0xB9,
- 0xE5, 0x1B, 0x9D, 0x7F, 0xAE, 0xE5, 0x85, 0x82, 0xA5, 0x02, 0x03, 0x01,
- 0x00, 0x01, 0xA3, 0x82,
- 0x01, 0x65, 0x30, 0x82, 0x01, 0x61, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D,
- 0x23, 0x04, 0x18, 0x30,
- 0x16, 0x80, 0x14, 0xBB, 0xAF, 0x7E, 0x02, 0x3D, 0xFA, 0xA6, 0xF1, 0x3C,
- 0x84, 0x8E, 0xAD, 0xEE,
- 0x38, 0x98, 0xEC, 0xD9, 0x32, 0x32, 0xD4, 0x30, 0x1D, 0x06, 0x03, 0x55,
- 0x1D, 0x0E, 0x04, 0x16,
- 0x04, 0x14, 0x90, 0xAF, 0x6A, 0x3A, 0x94, 0x5A, 0x0B, 0xD8, 0x90, 0xEA,
- 0x12, 0x56, 0x73, 0xDF,
- 0x43, 0xB4, 0x3A, 0x28, 0xDA, 0xE7, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D,
- 0x0F, 0x01, 0x01, 0xFF,
- 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D,
- 0x13, 0x01, 0x01, 0xFF,
- 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xFF, 0x02, 0x01, 0x00, 0x30, 0x1D,
- 0x06, 0x03, 0x55, 0x1D,
- 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05,
- 0x07, 0x03, 0x01, 0x06,
- 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, 0x1B, 0x06,
- 0x03, 0x55, 0x1D, 0x20,
- 0x04, 0x14, 0x30, 0x12, 0x30, 0x06, 0x06, 0x04, 0x55, 0x1D, 0x20, 0x00,
- 0x30, 0x08, 0x06, 0x06,
- 0x67, 0x81, 0x0C, 0x01, 0x02, 0x01, 0x30, 0x4C, 0x06, 0x03, 0x55, 0x1D,
- 0x1F, 0x04, 0x45, 0x30,
- 0x43, 0x30, 0x41, 0xA0, 0x3F, 0xA0, 0x3D, 0x86, 0x3B, 0x68, 0x74, 0x74,
- 0x70, 0x3A, 0x2F, 0x2F,
- 0x63, 0x72, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F, 0x63, 0x61,
- 0x2E, 0x63, 0x6F, 0x6D,
- 0x2F, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x52, 0x53, 0x41, 0x43, 0x65,
- 0x72, 0x74, 0x69, 0x66,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x75, 0x74, 0x68, 0x6F,
- 0x72, 0x69, 0x74, 0x79,
- 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x71, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05,
- 0x05, 0x07, 0x01, 0x01,
- 0x04, 0x65, 0x30, 0x63, 0x30, 0x3B, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05,
- 0x05, 0x07, 0x30, 0x02,
- 0x86, 0x2F, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x74,
- 0x2E, 0x63, 0x6F, 0x6D,
- 0x6F, 0x64, 0x6F, 0x63, 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x4F,
- 0x4D, 0x4F, 0x44, 0x4F,
- 0x52, 0x53, 0x41, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43,
- 0x41, 0x2E, 0x63, 0x72,
- 0x74, 0x30, 0x24, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x86, 0x18, 0x68,
- 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x63,
- 0x6F, 0x6D, 0x6F, 0x64,
- 0x6F, 0x63, 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A,
- 0x86, 0x48, 0x86, 0xF7,
- 0x0D, 0x01, 0x01, 0x0C, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x4E,
- 0x2B, 0x76, 0x4F, 0x92,
- 0x1C, 0x62, 0x36, 0x89, 0xBA, 0x77, 0xC1, 0x27, 0x05, 0xF4, 0x1C, 0xD6,
- 0x44, 0x9D, 0xA9, 0x9A,
- 0x3E, 0xAA, 0xD5, 0x66, 0x66, 0x01, 0x3E, 0xEA, 0x49, 0xE6, 0xA2, 0x35,
- 0xBC, 0xFA, 0xF6, 0xDD,
- 0x95, 0x8E, 0x99, 0x35, 0x98, 0x0E, 0x36, 0x18, 0x75, 0xB1, 0xDD, 0xDD,
- 0x50, 0x72, 0x7C, 0xAE,
- 0xDC, 0x77, 0x88, 0xCE, 0x0F, 0xF7, 0x90, 0x20, 0xCA, 0xA3, 0x67, 0x2E,
- 0x1F, 0x56, 0x7F, 0x7B,
- 0xE1, 0x44, 0xEA, 0x42, 0x95, 0xC4, 0x5D, 0x0D, 0x01, 0x50, 0x46, 0x15,
- 0xF2, 0x81, 0x89, 0x59,
- 0x6C, 0x8A, 0xDD, 0x8C, 0xF1, 0x12, 0xA1, 0x8D, 0x3A, 0x42, 0x8A, 0x98,
- 0xF8, 0x4B, 0x34, 0x7B,
- 0x27, 0x3B, 0x08, 0xB4, 0x6F, 0x24, 0x3B, 0x72, 0x9D, 0x63, 0x74, 0x58,
- 0x3C, 0x1A, 0x6C, 0x3F,
- 0x4F, 0xC7, 0x11, 0x9A, 0xC8, 0xA8, 0xF5, 0xB5, 0x37, 0xEF, 0x10, 0x45,
- 0xC6, 0x6C, 0xD9, 0xE0,
- 0x5E, 0x95, 0x26, 0xB3, 0xEB, 0xAD, 0xA3, 0xB9, 0xEE, 0x7F, 0x0C, 0x9A,
- 0x66, 0x35, 0x73, 0x32,
- 0x60, 0x4E, 0xE5, 0xDD, 0x8A, 0x61, 0x2C, 0x6E, 0x52, 0x11, 0x77, 0x68,
- 0x96, 0xD3, 0x18, 0x75,
- 0x51, 0x15, 0x00, 0x1B, 0x74, 0x88, 0xDD, 0xE1, 0xC7, 0x38, 0x04, 0x43,
- 0x28, 0xE9, 0x16, 0xFD,
- 0xD9, 0x05, 0xD4, 0x5D, 0x47, 0x27, 0x60, 0xD6, 0xFB, 0x38, 0x3B, 0x6C,
- 0x72, 0xA2, 0x94, 0xF8,
- 0x42, 0x1A, 0xDF, 0xED, 0x6F, 0x06, 0x8C, 0x45, 0xC2, 0x06, 0x00, 0xAA,
- 0xE4, 0xE8, 0xDC, 0xD9,
- 0xB5, 0xE1, 0x73, 0x78, 0xEC, 0xF6, 0x23, 0xDC, 0xD1, 0xDD, 0x6C, 0x8E,
- 0x1A, 0x8F, 0xA5, 0xEA,
- 0x54, 0x7C, 0x96, 0xB7, 0xC3, 0xFE, 0x55, 0x8E, 0x8D, 0x49, 0x5E, 0xFC,
- 0x64, 0xBB, 0xCF, 0x3E,
- 0xBD, 0x96, 0xEB, 0x69, 0xCD, 0xBF, 0xE0, 0x48, 0xF1, 0x62, 0x82, 0x10,
- 0xE5, 0x0C, 0x46, 0x57,
- 0xF2, 0x33, 0xDA, 0xD0, 0xC8, 0x63, 0xED, 0xC6, 0x1F, 0x94, 0x05, 0x96,
- 0x4A, 0x1A, 0x91, 0xD1,
- 0xF7, 0xEB, 0xCF, 0x8F, 0x52, 0xAE, 0x0D, 0x08, 0xD9, 0x3E, 0xA8, 0xA0,
- 0x51, 0xE9, 0xC1, 0x87,
- 0x74, 0xD5, 0xC9, 0xF7, 0x74, 0xAB, 0x2E, 0x53, 0xFB, 0xBB, 0x7A, 0xFB,
- 0x97, 0xE2, 0xF8, 0x1F,
- 0x26, 0x8F, 0xB3, 0xD2, 0xA0, 0xE0, 0x37, 0x5B, 0x28, 0x3B, 0x31, 0xE5,
- 0x0E, 0x57, 0x2D, 0x5A,
- 0xB8, 0xAD, 0x79, 0xAC, 0x5E, 0x20, 0x66, 0x1A, 0xA5, 0xB9, 0xA6, 0xB5,
- 0x39, 0xC1, 0xF5, 0x98,
- 0x43, 0xFF, 0xEE, 0xF9, 0xA7, 0xA7, 0xFD, 0xEE, 0xCA, 0x24, 0x3D, 0x80,
- 0x16, 0xC4, 0x17, 0x8F,
- 0x8A, 0xC1, 0x60, 0xA1, 0x0C, 0xAE, 0x5B, 0x43, 0x47, 0x91, 0x4B, 0xD5,
- 0x9A, 0x17, 0x5F, 0xF9,
- 0xD4, 0x87, 0xC1, 0xC2, 0x8C, 0xB7, 0xE7, 0xE2, 0x0F, 0x30, 0x19, 0x37,
- 0x86, 0xAC, 0xE0, 0xDC,
- 0x42, 0x03, 0xE6, 0x94, 0xA8, 0x9D, 0xAE, 0xFD, 0x0F, 0x24, 0x51, 0x94,
- 0xCE, 0x92, 0x08, 0xD1,
- 0xFC, 0x50, 0xF0, 0x03, 0x40, 0x7B, 0x88, 0x59, 0xED, 0x0E, 0xDD, 0xAC,
- 0xD2, 0x77, 0x82, 0x34,
- 0xDC, 0x06, 0x95, 0x02, 0xD8, 0x90, 0xF9, 0x2D, 0xEA, 0x37, 0xD5, 0x1A,
- 0x60, 0xD0, 0x67, 0x20,
- 0xD7, 0xD8, 0x42, 0x0B, 0x45, 0xAF, 0x82, 0x68, 0xDE, 0xDD, 0x66, 0x24,
- 0x37, 0x90, 0x29, 0x94,
- 0x19, 0x46, 0x19, 0x25, 0xB8, 0x80, 0xD7, 0xCB, 0xD4, 0x86, 0x28, 0x6A,
- 0x44, 0x70, 0x26, 0x23,
- 0x62, 0xA9, 0x9F, 0x86, 0x6F, 0xBF, 0xBA, 0x90, 0x70, 0xD2, 0x56, 0x77,
- 0x85, 0x78, 0xEF, 0xEA,
- 0x25, 0xA9, 0x17, 0xCE, 0x50, 0x72, 0x8C, 0x00, 0x3A, 0xAA, 0xE3, 0xDB,
- 0x63, 0x34, 0x9F, 0xF8,
- 0x06, 0x71, 0x01, 0xE2, 0x82, 0x20, 0xD4, 0xFE, 0x6F, 0xBD, 0xB1, 0x00,
- 0x05, 0x78, 0x30, 0x82,
- 0x05, 0x74, 0x30, 0x82, 0x04, 0x5C, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02,
- 0x10, 0x27, 0x66, 0xEE,
- 0x56, 0xEB, 0x49, 0xF3, 0x8E, 0xAB, 0xD7, 0x70, 0xA2, 0xFC, 0x84, 0xDE,
- 0x22, 0x30, 0x0D, 0x06,
- 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C, 0x05, 0x00,
- 0x30, 0x6F, 0x31, 0x0B,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x53, 0x45, 0x31,
- 0x14, 0x30, 0x12, 0x06,
- 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0B, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x20, 0x41,
- 0x42, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x1D,
- 0x41, 0x64, 0x64, 0x54,
- 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6E, 0x61,
- 0x6C, 0x20, 0x54, 0x54,
- 0x50, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x22, 0x30,
- 0x20, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x19, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74,
- 0x20, 0x45, 0x78, 0x74,
- 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x20, 0x43, 0x41, 0x20, 0x52, 0x6F, 0x6F,
- 0x74, 0x30, 0x1E, 0x17,
- 0x0D, 0x30, 0x30, 0x30, 0x35, 0x33, 0x30, 0x31, 0x30, 0x34, 0x38, 0x33,
- 0x38, 0x5A, 0x17, 0x0D,
- 0x32, 0x30, 0x30, 0x35, 0x33, 0x30, 0x31, 0x30, 0x34, 0x38, 0x33, 0x38,
- 0x5A, 0x30, 0x81, 0x85,
- 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x1B, 0x30,
- 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x72, 0x20,
- 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10,
- 0x30, 0x0E, 0x06, 0x03,
- 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64,
- 0x31, 0x1A, 0x30, 0x18,
- 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44,
- 0x4F, 0x20, 0x43, 0x41,
- 0x20, 0x4C, 0x69, 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x2B, 0x30, 0x29,
- 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x13, 0x22, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x52, 0x53,
- 0x41, 0x20, 0x43, 0x65,
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20,
- 0x41, 0x75, 0x74, 0x68,
- 0x6F, 0x72, 0x69, 0x74, 0x79, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0D, 0x06,
- 0x09, 0x2A, 0x86, 0x48,
- 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0F,
- 0x00, 0x30, 0x82, 0x02,
- 0x0A, 0x02, 0x82, 0x02, 0x01, 0x00, 0x91, 0xE8, 0x54, 0x92, 0xD2, 0x0A,
- 0x56, 0xB1, 0xAC, 0x0D,
- 0x24, 0xDD, 0xC5, 0xCF, 0x44, 0x67, 0x74, 0x99, 0x2B, 0x37, 0xA3, 0x7D,
- 0x23, 0x70, 0x00, 0x71,
- 0xBC, 0x53, 0xDF, 0xC4, 0xFA, 0x2A, 0x12, 0x8F, 0x4B, 0x7F, 0x10, 0x56,
- 0xBD, 0x9F, 0x70, 0x72,
- 0xB7, 0x61, 0x7F, 0xC9, 0x4B, 0x0F, 0x17, 0xA7, 0x3D, 0xE3, 0xB0, 0x04,
- 0x61, 0xEE, 0xFF, 0x11,
- 0x97, 0xC7, 0xF4, 0x86, 0x3E, 0x0A, 0xFA, 0x3E, 0x5C, 0xF9, 0x93, 0xE6,
- 0x34, 0x7A, 0xD9, 0x14,
- 0x6B, 0xE7, 0x9C, 0xB3, 0x85, 0xA0, 0x82, 0x7A, 0x76, 0xAF, 0x71, 0x90,
- 0xD7, 0xEC, 0xFD, 0x0D,
- 0xFA, 0x9C, 0x6C, 0xFA, 0xDF, 0xB0, 0x82, 0xF4, 0x14, 0x7E, 0xF9, 0xBE,
- 0xC4, 0xA6, 0x2F, 0x4F,
- 0x7F, 0x99, 0x7F, 0xB5, 0xFC, 0x67, 0x43, 0x72, 0xBD, 0x0C, 0x00, 0xD6,
- 0x89, 0xEB, 0x6B, 0x2C,
- 0xD3, 0xED, 0x8F, 0x98, 0x1C, 0x14, 0xAB, 0x7E, 0xE5, 0xE3, 0x6E, 0xFC,
- 0xD8, 0xA8, 0xE4, 0x92,
- 0x24, 0xDA, 0x43, 0x6B, 0x62, 0xB8, 0x55, 0xFD, 0xEA, 0xC1, 0xBC, 0x6C,
- 0xB6, 0x8B, 0xF3, 0x0E,
- 0x8D, 0x9A, 0xE4, 0x9B, 0x6C, 0x69, 0x99, 0xF8, 0x78, 0x48, 0x30, 0x45,
- 0xD5, 0xAD, 0xE1, 0x0D,
- 0x3C, 0x45, 0x60, 0xFC, 0x32, 0x96, 0x51, 0x27, 0xBC, 0x67, 0xC3, 0xCA,
- 0x2E, 0xB6, 0x6B, 0xEA,
- 0x46, 0xC7, 0xC7, 0x20, 0xA0, 0xB1, 0x1F, 0x65, 0xDE, 0x48, 0x08, 0xBA,
- 0xA4, 0x4E, 0xA9, 0xF2,
- 0x83, 0x46, 0x37, 0x84, 0xEB, 0xE8, 0xCC, 0x81, 0x48, 0x43, 0x67, 0x4E,
- 0x72, 0x2A, 0x9B, 0x5C,
- 0xBD, 0x4C, 0x1B, 0x28, 0x8A, 0x5C, 0x22, 0x7B, 0xB4, 0xAB, 0x98, 0xD9,
- 0xEE, 0xE0, 0x51, 0x83,
- 0xC3, 0x09, 0x46, 0x4E, 0x6D, 0x3E, 0x99, 0xFA, 0x95, 0x17, 0xDA, 0x7C,
- 0x33, 0x57, 0x41, 0x3C,
- 0x8D, 0x51, 0xED, 0x0B, 0xB6, 0x5C, 0xAF, 0x2C, 0x63, 0x1A, 0xDF, 0x57,
- 0xC8, 0x3F, 0xBC, 0xE9,
- 0x5D, 0xC4, 0x9B, 0xAF, 0x45, 0x99, 0xE2, 0xA3, 0x5A, 0x24, 0xB4, 0xBA,
- 0xA9, 0x56, 0x3D, 0xCF,
- 0x6F, 0xAA, 0xFF, 0x49, 0x58, 0xBE, 0xF0, 0xA8, 0xFF, 0xF4, 0xB8, 0xAD,
- 0xE9, 0x37, 0xFB, 0xBA,
- 0xB8, 0xF4, 0x0B, 0x3A, 0xF9, 0xE8, 0x43, 0x42, 0x1E, 0x89, 0xD8, 0x84,
- 0xCB, 0x13, 0xF1, 0xD9,
- 0xBB, 0xE1, 0x89, 0x60, 0xB8, 0x8C, 0x28, 0x56, 0xAC, 0x14, 0x1D, 0x9C,
- 0x0A, 0xE7, 0x71, 0xEB,
- 0xCF, 0x0E, 0xDD, 0x3D, 0xA9, 0x96, 0xA1, 0x48, 0xBD, 0x3C, 0xF7, 0xAF,
- 0xB5, 0x0D, 0x22, 0x4C,
- 0xC0, 0x11, 0x81, 0xEC, 0x56, 0x3B, 0xF6, 0xD3, 0xA2, 0xE2, 0x5B, 0xB7,
- 0xB2, 0x04, 0x22, 0x52,
- 0x95, 0x80, 0x93, 0x69, 0xE8, 0x8E, 0x4C, 0x65, 0xF1, 0x91, 0x03, 0x2D,
- 0x70, 0x74, 0x02, 0xEA,
- 0x8B, 0x67, 0x15, 0x29, 0x69, 0x52, 0x02, 0xBB, 0xD7, 0xDF, 0x50, 0x6A,
- 0x55, 0x46, 0xBF, 0xA0,
- 0xA3, 0x28, 0x61, 0x7F, 0x70, 0xD0, 0xC3, 0xA2, 0xAA, 0x2C, 0x21, 0xAA,
- 0x47, 0xCE, 0x28, 0x9C,
- 0x06, 0x45, 0x76, 0xBF, 0x82, 0x18, 0x27, 0xB4, 0xD5, 0xAE, 0xB4, 0xCB,
- 0x50, 0xE6, 0x6B, 0xF4,
- 0x4C, 0x86, 0x71, 0x30, 0xE9, 0xA6, 0xDF, 0x16, 0x86, 0xE0, 0xD8, 0xFF,
- 0x40, 0xDD, 0xFB, 0xD0,
- 0x42, 0x88, 0x7F, 0xA3, 0x33, 0x3A, 0x2E, 0x5C, 0x1E, 0x41, 0x11, 0x81,
- 0x63, 0xCE, 0x18, 0x71,
- 0x6B, 0x2B, 0xEC, 0xA6, 0x8A, 0xB7, 0x31, 0x5C, 0x3A, 0x6A, 0x47, 0xE0,
- 0xC3, 0x79, 0x59, 0xD6,
- 0x20, 0x1A, 0xAF, 0xF2, 0x6A, 0x98, 0xAA, 0x72, 0xBC, 0x57, 0x4A, 0xD2,
- 0x4B, 0x9D, 0xBB, 0x10,
- 0xFC, 0xB0, 0x4C, 0x41, 0xE5, 0xED, 0x1D, 0x3D, 0x5E, 0x28, 0x9D, 0x9C,
- 0xCC, 0xBF, 0xB3, 0x51,
- 0xDA, 0xA7, 0x47, 0xE5, 0x84, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3,
- 0x81, 0xF4, 0x30, 0x81,
- 0xF1, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16,
- 0x80, 0x14, 0xAD, 0xBD,
- 0x98, 0x7A, 0x34, 0xB4, 0x26, 0xF7, 0xFA, 0xC4, 0x26, 0x54, 0xEF, 0x03,
- 0xBD, 0xE0, 0x24, 0xCB,
- 0x54, 0x1A, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04,
- 0x14, 0xBB, 0xAF, 0x7E,
- 0x02, 0x3D, 0xFA, 0xA6, 0xF1, 0x3C, 0x84, 0x8E, 0xAD, 0xEE, 0x38, 0x98,
- 0xEC, 0xD9, 0x32, 0x32,
- 0xD4, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04,
- 0x04, 0x03, 0x02, 0x01,
- 0x86, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04,
- 0x05, 0x30, 0x03, 0x01,
- 0x01, 0xFF, 0x30, 0x11, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x0A, 0x30,
- 0x08, 0x30, 0x06, 0x06,
- 0x04, 0x55, 0x1D, 0x20, 0x00, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1D, 0x1F,
- 0x04, 0x3D, 0x30, 0x3B,
- 0x30, 0x39, 0xA0, 0x37, 0xA0, 0x35, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70,
- 0x3A, 0x2F, 0x2F, 0x63,
- 0x72, 0x6C, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74,
- 0x2E, 0x63, 0x6F, 0x6D,
- 0x2F, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x45, 0x78, 0x74,
- 0x65, 0x72, 0x6E, 0x61,
- 0x6C, 0x43, 0x41, 0x52, 0x6F, 0x6F, 0x74, 0x2E, 0x63, 0x72, 0x6C, 0x30,
- 0x35, 0x06, 0x08, 0x2B,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x29, 0x30, 0x27, 0x30,
- 0x25, 0x06, 0x08, 0x2B,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 0x74, 0x74,
- 0x70, 0x3A, 0x2F, 0x2F,
- 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75,
- 0x73, 0x74, 0x2E, 0x63,
- 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D,
- 0x01, 0x01, 0x0C, 0x05,
- 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x64, 0xBF, 0x83, 0xF1, 0x5F, 0x9A,
- 0x85, 0xD0, 0xCD, 0xB8,
- 0xA1, 0x29, 0x57, 0x0D, 0xE8, 0x5A, 0xF7, 0xD1, 0xE9, 0x3E, 0xF2, 0x76,
- 0x04, 0x6E, 0xF1, 0x52,
- 0x70, 0xBB, 0x1E, 0x3C, 0xFF, 0x4D, 0x0D, 0x74, 0x6A, 0xCC, 0x81, 0x82,
- 0x25, 0xD3, 0xC3, 0xA0,
- 0x2A, 0x5D, 0x4C, 0xF5, 0xBA, 0x8B, 0xA1, 0x6D, 0xC4, 0x54, 0x09, 0x75,
- 0xC7, 0xE3, 0x27, 0x0E,
- 0x5D, 0x84, 0x79, 0x37, 0x40, 0x13, 0x77, 0xF5, 0xB4, 0xAC, 0x1C, 0xD0,
- 0x3B, 0xAB, 0x17, 0x12,
- 0xD6, 0xEF, 0x34, 0x18, 0x7E, 0x2B, 0xE9, 0x79, 0xD3, 0xAB, 0x57, 0x45,
- 0x0C, 0xAF, 0x28, 0xFA,
- 0xD0, 0xDB, 0xE5, 0x50, 0x95, 0x88, 0xBB, 0xDF, 0x85, 0x57, 0x69, 0x7D,
- 0x92, 0xD8, 0x52, 0xCA,
- 0x73, 0x81, 0xBF, 0x1C, 0xF3, 0xE6, 0xB8, 0x6E, 0x66, 0x11, 0x05, 0xB3,
- 0x1E, 0x94, 0x2D, 0x7F,
- 0x91, 0x95, 0x92, 0x59, 0xF1, 0x4C, 0xCE, 0xA3, 0x91, 0x71, 0x4C, 0x7C,
- 0x47, 0x0C, 0x3B, 0x0B,
- 0x19, 0xF6, 0xA1, 0xB1, 0x6C, 0x86, 0x3E, 0x5C, 0xAA, 0xC4, 0x2E, 0x82,
- 0xCB, 0xF9, 0x07, 0x96,
- 0xBA, 0x48, 0x4D, 0x90, 0xF2, 0x94, 0xC8, 0xA9, 0x73, 0xA2, 0xEB, 0x06,
- 0x7B, 0x23, 0x9D, 0xDE,
- 0xA2, 0xF3, 0x4D, 0x55, 0x9F, 0x7A, 0x61, 0x45, 0x98, 0x18, 0x68, 0xC7,
- 0x5E, 0x40, 0x6B, 0x23,
- 0xF5, 0x79, 0x7A, 0xEF, 0x8C, 0xB5, 0x6B, 0x8B, 0xB7, 0x6F, 0x46, 0xF4,
- 0x7B, 0xF1, 0x3D, 0x4B,
- 0x04, 0xD8, 0x93, 0x80, 0x59, 0x5A, 0xE0, 0x41, 0x24, 0x1D, 0xB2, 0x8F,
- 0x15, 0x60, 0x58, 0x47,
- 0xDB, 0xEF, 0x6E, 0x46, 0xFD, 0x15, 0xF5, 0xD9, 0x5F, 0x9A, 0xB3, 0xDB,
- 0xD8, 0xB8, 0xE4, 0x40,
- 0xB3, 0xCD, 0x97, 0x39, 0xAE, 0x85, 0xBB, 0x1D, 0x8E, 0xBC, 0xDC, 0x87,
- 0x9B, 0xD1, 0xA6, 0xEF,
- 0xF1, 0x3B, 0x6F, 0x10, 0x38, 0x6F, 0x16, 0x03, 0x03, 0x02, 0x0F, 0x0C,
- 0x00, 0x02, 0x0B, 0x00,
- 0x80, 0xBB, 0xBC, 0x2D, 0xCA, 0xD8, 0x46, 0x74, 0x90, 0x7C, 0x43, 0xFC,
- 0xF5, 0x80, 0xE9, 0xCF,
- 0xDB, 0xD9, 0x58, 0xA3, 0xF5, 0x68, 0xB4, 0x2D, 0x4B, 0x08, 0xEE, 0xD4,
- 0xEB, 0x0F, 0xB3, 0x50,
- 0x4C, 0x6C, 0x03, 0x02, 0x76, 0xE7, 0x10, 0x80, 0x0C, 0x5C, 0xCB, 0xBA,
- 0xA8, 0x92, 0x26, 0x14,
- 0xC5, 0xBE, 0xEC, 0xA5, 0x65, 0xA5, 0xFD, 0xF1, 0xD2, 0x87, 0xA2, 0xBC,
- 0x04, 0x9B, 0xE6, 0x77,
- 0x80, 0x60, 0xE9, 0x1A, 0x92, 0xA7, 0x57, 0xE3, 0x04, 0x8F, 0x68, 0xB0,
- 0x76, 0xF7, 0xD3, 0x6C,
- 0xC8, 0xF2, 0x9B, 0xA5, 0xDF, 0x81, 0xDC, 0x2C, 0xA7, 0x25, 0xEC, 0xE6,
- 0x62, 0x70, 0xCC, 0x9A,
- 0x50, 0x35, 0xD8, 0xCE, 0xCE, 0xEF, 0x9E, 0xA0, 0x27, 0x4A, 0x63, 0xAB,
- 0x1E, 0x58, 0xFA, 0xFD,
- 0x49, 0x88, 0xD0, 0xF6, 0x5D, 0x14, 0x67, 0x57, 0xDA, 0x07, 0x1D, 0xF0,
- 0x45, 0xCF, 0xE1, 0x6B,
- 0x9B, 0x00, 0x01, 0x02, 0x00, 0x80, 0x55, 0xFB, 0xB6, 0x92, 0x5A, 0x0C,
- 0x93, 0x56, 0xE8, 0x1C,
- 0xCD, 0x23, 0xFC, 0xB9, 0xBE, 0x98, 0x2D, 0x01, 0x4F, 0x35, 0xCE, 0x37,
- 0xD0, 0xF8, 0xA0, 0x0C,
- 0x42, 0x3B, 0x27, 0x25, 0x10, 0x04, 0x46, 0x02, 0x19, 0x1F, 0xDC, 0xDA,
- 0x08, 0x33, 0x42, 0x63,
- 0x5F, 0x3C, 0x82, 0x1F, 0xFA, 0x46, 0x9E, 0x34, 0xCB, 0x30, 0xED, 0x55,
- 0x11, 0xD7, 0x00, 0x0C,
- 0x76, 0x0A, 0x48, 0x0C, 0x1D, 0x7A, 0x13, 0x3D, 0xC6, 0x41, 0xD5, 0x7B,
- 0xD5, 0x2A, 0xE0, 0xA3,
- 0xB5, 0xAB, 0x0E, 0xBC, 0xD3, 0x17, 0x14, 0xFD, 0x21, 0x8C, 0x78, 0xB1,
- 0x4D, 0xF2, 0x5A, 0x44,
- 0x89, 0x4E, 0x82, 0x3D, 0x8B, 0xAC, 0x5D, 0x49, 0xB2, 0x19, 0x21, 0x67,
- 0xCA, 0x70, 0xC7, 0x8D,
- 0x35, 0x89, 0xD1, 0x9D, 0x34, 0xD4, 0x7A, 0xAF, 0x1D, 0x9D, 0x86, 0x0F,
- 0xEF, 0x5A, 0x4F, 0x9E,
- 0xDA, 0xF5, 0x02, 0x7E, 0x22, 0x67, 0x01, 0x01, 0x01, 0x00, 0x7B, 0x59,
- 0x4A, 0x29, 0xF9, 0x9F,
- 0x53, 0x41, 0x8B, 0xE6, 0x79, 0xE9, 0xF5, 0x73, 0x7C, 0xC8, 0xE9, 0x40,
- 0x1F, 0x39, 0x08, 0x06,
- 0x84, 0x3D, 0x80, 0x6B, 0xF0, 0x0C, 0x54, 0xC2, 0x18, 0xD6, 0xAD, 0x53,
- 0xFD, 0x7C, 0xB3, 0x8B,
- 0xCE, 0x70, 0x4F, 0xCF, 0xFC, 0xEF, 0xC8, 0x2D, 0xE4, 0xD0, 0xC2, 0x7B,
- 0x80, 0x57, 0xA2, 0x5F,
- 0x7F, 0x36, 0xB0, 0xBC, 0x16, 0xB7, 0xC1, 0xC2, 0x12, 0x96, 0x94, 0x88,
- 0x9D, 0x68, 0xD3, 0xDF,
- 0xB1, 0x3C, 0xA0, 0x93, 0x3A, 0x4D, 0x90, 0x66, 0x3F, 0xB0, 0x89, 0xE7,
- 0x21, 0x58, 0xF0, 0x39,
- 0x8B, 0x83, 0x32, 0x93, 0xCB, 0xA9, 0x57, 0x2B, 0x0A, 0x02, 0x5E, 0xF9,
- 0xE6, 0x10, 0x9A, 0x7F,
- 0x2A, 0x23, 0x3D, 0x5C, 0x3F, 0x38, 0x3A, 0x40, 0x0C, 0x1B, 0x7C, 0x0D,
- 0x5D, 0x7C, 0xF1, 0xB2,
- 0x88, 0x71, 0xA2, 0x57, 0x02, 0x94, 0x12, 0x45, 0x60, 0xEC, 0xC2, 0xB2,
- 0xCB, 0x31, 0xF2, 0xF8,
- 0x1B, 0xDD, 0xEA, 0xF6, 0x40, 0xF6, 0x07, 0xEA, 0xC2, 0x71, 0xA6, 0x07,
- 0xC8, 0x45, 0xE4, 0xE2,
- 0x1D, 0x49, 0x53, 0x40, 0x5B, 0x57, 0x68, 0xA4, 0x81, 0x1C, 0xCB, 0x33,
- 0x95, 0x12, 0x0F, 0x4D,
- 0xAD, 0x9B, 0x70, 0x53, 0xDC, 0x8B, 0xE6, 0x24, 0x0D, 0x39, 0x83, 0x0E,
- 0x17, 0xFB, 0x13, 0xF2,
- 0x45, 0x2C, 0x52, 0x44, 0xA3, 0x22, 0x0D, 0x32, 0xDD, 0x21, 0x05, 0x2B,
- 0xA1, 0xAC, 0xC4, 0x84,
- 0xD7, 0x18, 0x2F, 0xA2, 0xB4, 0xF5, 0x4E, 0xED, 0x72, 0x56, 0xB7, 0x87,
- 0x81, 0xF8, 0x51, 0x30,
- 0x01, 0xBE, 0x17, 0x31, 0xEE, 0x21, 0xBA, 0x16, 0xAF, 0xEB, 0x0A, 0x54,
- 0x69, 0x84, 0xB3, 0xDC,
- 0xCA, 0x04, 0xBB, 0x49, 0x84, 0x4C, 0x0F, 0xCE, 0x20, 0xE2, 0x71, 0xF3,
- 0x43, 0x26, 0x1D, 0xA4,
- 0xAF, 0xAE, 0x3F, 0x9E, 0xA3, 0x44, 0xDC, 0xAE, 0xB7, 0x5B, 0x16, 0x03,
- 0x03, 0x00, 0x04, 0x0E,
- 0x00, 0x00, 0x00
-};
+static unsigned char tls1_hello
+ [] = { /* server hello etc. */
+ 0x16, 0x03, 0x03, 0x00, 0x39, 0x02, 0x00, 0x00, 0x35, 0x03, 0x03,
+ 0x95, 0x66, 0x0A, 0x55, 0xBC, 0x04, 0x84, 0xBD, 0x7E, 0xA6, 0xCE,
+ 0x2B, 0x1C, 0x7B, 0x72, 0x28, 0x0D, 0x8E, 0x2C, 0x34, 0xC8, 0xFF,
+ 0x73, 0xBA, 0x6C, 0x9F, 0x20, 0xB9, 0x18, 0xCD, 0x22, 0xCB, 0x00,
+ 0x00, 0x9E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01,
+ 0x00, 0x01, 0x00, 0x00, 0x23, 0x00, 0x00, 0x16, 0x03, 0x03, 0x10,
+ 0xE3, 0x0B, 0x00, 0x10, 0xDF, 0x00, 0x10, 0xDC, 0x00, 0x05, 0x4F,
+ 0x30, 0x82, 0x05, 0x4B, 0x30, 0x82, 0x04, 0x33, 0xA0, 0x03, 0x02,
+ 0x01, 0x02, 0x02, 0x10, 0x4C, 0x8E, 0x18, 0x71, 0x4B, 0x34, 0xE7,
+ 0x5E, 0x8D, 0xAE, 0xFB, 0xE8, 0xF6, 0x4C, 0x3A, 0x82, 0x30, 0x0D,
+ 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B,
+ 0x05, 0x00, 0x30, 0x81, 0x90, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,
+ 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30, 0x19,
+ 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73,
+ 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04,
+ 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31,
+ 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43,
+ 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C, 0x69,
+ 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03,
+ 0x55, 0x04, 0x03, 0x13, 0x2D, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F,
+ 0x20, 0x52, 0x53, 0x41, 0x20, 0x44, 0x6F, 0x6D, 0x61, 0x69, 0x6E,
+ 0x20, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F, 0x6E,
+ 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x1E, 0x17, 0x0D, 0x31,
+ 0x36, 0x30, 0x37, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
+ 0x5A, 0x17, 0x0D, 0x31, 0x37, 0x30, 0x39, 0x30, 0x35, 0x32, 0x33,
+ 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x59, 0x31, 0x21, 0x30, 0x1F,
+ 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x18, 0x44, 0x6F, 0x6D, 0x61,
+ 0x69, 0x6E, 0x20, 0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x20,
+ 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x31, 0x1D,
+ 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x14, 0x50, 0x6F,
+ 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x53, 0x53, 0x4C, 0x20, 0x57,
+ 0x69, 0x6C, 0x64, 0x63, 0x61, 0x72, 0x64, 0x31, 0x15, 0x30, 0x13,
+ 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x0C, 0x2A, 0x2E, 0x62, 0x61,
+ 0x64, 0x73, 0x73, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x82, 0x01,
+ 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D,
+ 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30,
+ 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC2, 0x04, 0xEC,
+ 0xF8, 0x8C, 0xEE, 0x04, 0xC2, 0xB3, 0xD8, 0x50, 0xD5, 0x70, 0x58,
+ 0xCC, 0x93, 0x18, 0xEB, 0x5C, 0xA8, 0x68, 0x49, 0xB0, 0x22, 0xB5,
+ 0xF9, 0x95, 0x9E, 0xB1, 0x2B, 0x2C, 0x76, 0x3E, 0x6C, 0xC0, 0x4B,
+ 0x60, 0x4C, 0x4C, 0xEA, 0xB2, 0xB4, 0xC0, 0x0F, 0x80, 0xB6, 0xB0,
+ 0xF9, 0x72, 0xC9, 0x86, 0x02, 0xF9, 0x5C, 0x41, 0x5D, 0x13, 0x2B,
+ 0x7F, 0x71, 0xC4, 0x4B, 0xBC, 0xE9, 0x94, 0x2E, 0x50, 0x37, 0xA6,
+ 0x67, 0x1C, 0x61, 0x8C, 0xF6, 0x41, 0x42, 0xC5, 0x46, 0xD3, 0x16,
+ 0x87, 0x27, 0x9F, 0x74, 0xEB, 0x0A, 0x9D, 0x11, 0x52, 0x26, 0x21,
+ 0x73, 0x6C, 0x84, 0x4C, 0x79, 0x55, 0xE4, 0xD1, 0x6B, 0xE8, 0x06,
+ 0x3D, 0x48, 0x15, 0x52, 0xAD, 0xB3, 0x28, 0xDB, 0xAA, 0xFF, 0x6E,
+ 0xFF, 0x60, 0x95, 0x4A, 0x77, 0x6B, 0x39, 0xF1, 0x24, 0xD1, 0x31,
+ 0xB6, 0xDD, 0x4D, 0xC0, 0xC4, 0xFC, 0x53, 0xB9, 0x6D, 0x42, 0xAD,
+ 0xB5, 0x7C, 0xFE, 0xAE, 0xF5, 0x15, 0xD2, 0x33, 0x48, 0xE7, 0x22,
+ 0x71, 0xC7, 0xC2, 0x14, 0x7A, 0x6C, 0x28, 0xEA, 0x37, 0x4A, 0xDF,
+ 0xEA, 0x6C, 0xB5, 0x72, 0xB4, 0x7E, 0x5A, 0xA2, 0x16, 0xDC, 0x69,
+ 0xB1, 0x57, 0x44, 0xDB, 0x0A, 0x12, 0xAB, 0xDE, 0xC3, 0x0F, 0x47,
+ 0x74, 0x5C, 0x41, 0x22, 0xE1, 0x9A, 0xF9, 0x1B, 0x93, 0xE6, 0xAD,
+ 0x22, 0x06, 0x29, 0x2E, 0xB1, 0xBA, 0x49, 0x1C, 0x0C, 0x27, 0x9E,
+ 0xA3, 0xFB, 0x8B, 0xF7, 0x40, 0x72, 0x00, 0xAC, 0x92, 0x08, 0xD9,
+ 0x8C, 0x57, 0x84, 0x53, 0x81, 0x05, 0xCB, 0xE6, 0xFE, 0x6B, 0x54,
+ 0x98, 0x40, 0x27, 0x85, 0xC7, 0x10, 0xBB, 0x73, 0x70, 0xEF, 0x69,
+ 0x18, 0x41, 0x07, 0x45, 0x55, 0x7C, 0xF9, 0x64, 0x3F, 0x3D, 0x2C,
+ 0xC3, 0xA9, 0x7C, 0xEB, 0x93, 0x1A, 0x4C, 0x86, 0xD1, 0xCA, 0x85,
+ 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01, 0xD5, 0x30, 0x82,
+ 0x01, 0xD1, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18,
+ 0x30, 0x16, 0x80, 0x14, 0x90, 0xAF, 0x6A, 0x3A, 0x94, 0x5A, 0x0B,
+ 0xD8, 0x90, 0xEA, 0x12, 0x56, 0x73, 0xDF, 0x43, 0xB4, 0x3A, 0x28,
+ 0xDA, 0xE7, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16,
+ 0x04, 0x14, 0x9D, 0xEE, 0xC1, 0x7B, 0x81, 0x0B, 0x3A, 0x47, 0x69,
+ 0x71, 0x18, 0x7D, 0x11, 0x37, 0x93, 0xBC, 0xA5, 0x1B, 0x3F, 0xFB,
+ 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04,
+ 0x04, 0x03, 0x02, 0x05, 0xA0, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D,
+ 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1D, 0x06,
+ 0x03, 0x55, 0x1D, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2B,
+ 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2B, 0x06,
+ 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, 0x4F, 0x06, 0x03, 0x55,
+ 0x1D, 0x20, 0x04, 0x48, 0x30, 0x46, 0x30, 0x3A, 0x06, 0x0B, 0x2B,
+ 0x06, 0x01, 0x04, 0x01, 0xB2, 0x31, 0x01, 0x02, 0x02, 0x07, 0x30,
+ 0x2B, 0x30, 0x29, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07,
+ 0x02, 0x01, 0x16, 0x1D, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F,
+ 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x2E, 0x63, 0x6F, 0x6D,
+ 0x6F, 0x64, 0x6F, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x50, 0x53,
+ 0x30, 0x08, 0x06, 0x06, 0x67, 0x81, 0x0C, 0x01, 0x02, 0x01, 0x30,
+ 0x54, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x4D, 0x30, 0x4B, 0x30,
+ 0x49, 0xA0, 0x47, 0xA0, 0x45, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70,
+ 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x6F,
+ 0x64, 0x6F, 0x63, 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x4F,
+ 0x4D, 0x4F, 0x44, 0x4F, 0x52, 0x53, 0x41, 0x44, 0x6F, 0x6D, 0x61,
+ 0x69, 0x6E, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F,
+ 0x6E, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x81, 0x85,
+ 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04,
+ 0x79, 0x30, 0x77, 0x30, 0x4F, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05,
+ 0x05, 0x07, 0x30, 0x02, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70, 0x3A,
+ 0x2F, 0x2F, 0x63, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64,
+ 0x6F, 0x63, 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x4F, 0x4D,
+ 0x4F, 0x44, 0x4F, 0x52, 0x53, 0x41, 0x44, 0x6F, 0x6D, 0x61, 0x69,
+ 0x6E, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F, 0x6E,
+ 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x24, 0x06, 0x08,
+ 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68,
+ 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E,
+ 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F, 0x63, 0x61, 0x2E, 0x63, 0x6F,
+ 0x6D, 0x30, 0x23, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x1C, 0x30,
+ 0x1A, 0x82, 0x0C, 0x2A, 0x2E, 0x62, 0x61, 0x64, 0x73, 0x73, 0x6C,
+ 0x2E, 0x63, 0x6F, 0x6D, 0x82, 0x0A, 0x62, 0x61, 0x64, 0x73, 0x73,
+ 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
+ 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82,
+ 0x01, 0x01, 0x00, 0x75, 0x48, 0x83, 0x88, 0x9C, 0x55, 0x24, 0x37,
+ 0x30, 0x07, 0xEB, 0x26, 0x68, 0xC8, 0x79, 0x1C, 0x5C, 0xAE, 0x9A,
+ 0x02, 0x9A, 0xB5, 0x52, 0x75, 0x44, 0xAC, 0xA9, 0xED, 0x59, 0x65,
+ 0xD0, 0xC6, 0x47, 0x26, 0x04, 0x8D, 0x57, 0x89, 0x16, 0x2E, 0x71,
+ 0x18, 0x48, 0x98, 0x68, 0x1C, 0xF6, 0x31, 0xF5, 0x26, 0x4B, 0xE8,
+ 0x81, 0x44, 0xB1, 0xFF, 0x5C, 0x65, 0x3D, 0x78, 0x54, 0x94, 0xC3,
+ 0x86, 0x9D, 0x48, 0x96, 0xE8, 0x32, 0xAF, 0xE1, 0x8F, 0x94, 0x47,
+ 0xBE, 0x37, 0x8C, 0xC3, 0xED, 0x4D, 0x97, 0xBB, 0xC6, 0x2A, 0x37,
+ 0x72, 0x01, 0x3A, 0x8F, 0x82, 0xA4, 0x34, 0x44, 0xC4, 0xC4, 0xF8,
+ 0x50, 0x24, 0x48, 0x9E, 0x19, 0xF0, 0xEC, 0xE1, 0xC6, 0x13, 0x44,
+ 0x26, 0xB6, 0x65, 0xE1, 0x62, 0x49, 0x87, 0xA4, 0xF4, 0xD8, 0xC4,
+ 0x39, 0x3C, 0x7D, 0x42, 0xC8, 0xA4, 0x2A, 0x54, 0x05, 0xA0, 0xDC,
+ 0x0A, 0xF8, 0x2B, 0x22, 0x94, 0x93, 0x78, 0x4E, 0x6A, 0x36, 0x1B,
+ 0xD2, 0xE7, 0xE9, 0xAE, 0x84, 0xED, 0x13, 0x1D, 0xA1, 0xF7, 0xA2,
+ 0x83, 0x81, 0x03, 0x4C, 0x9E, 0x21, 0xFB, 0xBF, 0xA8, 0x30, 0xFE,
+ 0xEB, 0x00, 0x68, 0xB1, 0x7F, 0xBA, 0x5D, 0xE2, 0x5D, 0xFF, 0x41,
+ 0x1F, 0xD6, 0xF5, 0xA6, 0x5C, 0x8A, 0xEF, 0x81, 0x80, 0xC8, 0xF1,
+ 0x52, 0x00, 0x17, 0x9D, 0xD1, 0x96, 0x1A, 0x7D, 0x5E, 0xD2, 0x83,
+ 0xB3, 0x82, 0xC2, 0x3D, 0x46, 0x83, 0xA5, 0x1E, 0xB4, 0x36, 0x35,
+ 0x38, 0xC4, 0x7A, 0x2E, 0xDF, 0x0B, 0xA1, 0x98, 0x63, 0x58, 0x0B,
+ 0x1E, 0xD0, 0x6D, 0x83, 0x1F, 0xF1, 0x72, 0x4D, 0x09, 0xAC, 0x96,
+ 0x1A, 0x0B, 0xE5, 0xF6, 0x34, 0x4C, 0xAB, 0xBC, 0xBC, 0x99, 0x5B,
+ 0x82, 0x59, 0xE6, 0x6C, 0xD3, 0xDB, 0x98, 0xE0, 0xCE, 0x95, 0x3B,
+ 0xCF, 0x4E, 0x17, 0xC3, 0xEE, 0x3A, 0x00, 0x06, 0x0C, 0x30, 0x82,
+ 0x06, 0x08, 0x30, 0x82, 0x03, 0xF0, 0xA0, 0x03, 0x02, 0x01, 0x02,
+ 0x02, 0x10, 0x2B, 0x2E, 0x6E, 0xEA, 0xD9, 0x75, 0x36, 0x6C, 0x14,
+ 0x8A, 0x6E, 0xDB, 0xA3, 0x7C, 0x8C, 0x07, 0x30, 0x0D, 0x06, 0x09,
+ 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C, 0x05, 0x00,
+ 0x30, 0x81, 0x85, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
+ 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30, 0x19, 0x06, 0x03,
+ 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65,
+ 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13,
+ 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A, 0x30,
+ 0x18, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D,
+ 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C, 0x69, 0x6D, 0x69,
+ 0x74, 0x65, 0x64, 0x31, 0x2B, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04,
+ 0x03, 0x13, 0x22, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x52,
+ 0x53, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F,
+ 0x72, 0x69, 0x74, 0x79, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x34, 0x30,
+ 0x32, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17,
+ 0x0D, 0x32, 0x39, 0x30, 0x32, 0x31, 0x31, 0x32, 0x33, 0x35, 0x39,
+ 0x35, 0x39, 0x5A, 0x30, 0x81, 0x90, 0x31, 0x0B, 0x30, 0x09, 0x06,
+ 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30,
+ 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65,
+ 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
+ 0x04, 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64,
+ 0x31, 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11,
+ 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C,
+ 0x69, 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x36, 0x30, 0x34, 0x06,
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x2D, 0x43, 0x4F, 0x4D, 0x4F, 0x44,
+ 0x4F, 0x20, 0x52, 0x53, 0x41, 0x20, 0x44, 0x6F, 0x6D, 0x61, 0x69,
+ 0x6E, 0x20, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6F,
+ 0x6E, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22,
+ 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01,
+ 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82,
+ 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0x8E, 0xC2, 0x02, 0x19,
+ 0xE1, 0xA0, 0x59, 0xA4, 0xEB, 0x38, 0x35, 0x8D, 0x2C, 0xFD, 0x01,
+ 0xD0, 0xD3, 0x49, 0xC0, 0x64, 0xC7, 0x0B, 0x62, 0x05, 0x45, 0x16,
+ 0x3A, 0xA8, 0xA0, 0xC0, 0x0C, 0x02, 0x7F, 0x1D, 0xCC, 0xDB, 0xC4,
+ 0xA1, 0x6D, 0x77, 0x03, 0xA3, 0x0F, 0x86, 0xF9, 0xE3, 0x06, 0x9C,
+ 0x3E, 0x0B, 0x81, 0x8A, 0x9B, 0x49, 0x1B, 0xAD, 0x03, 0xBE, 0xFA,
+ 0x4B, 0xDB, 0x8C, 0x20, 0xED, 0xD5, 0xCE, 0x5E, 0x65, 0x8E, 0x3E,
+ 0x0D, 0xAF, 0x4C, 0xC2, 0xB0, 0xB7, 0x45, 0x5E, 0x52, 0x2F, 0x34,
+ 0xDE, 0x48, 0x24, 0x64, 0xB4, 0x41, 0xAE, 0x00, 0x97, 0xF7, 0xBE,
+ 0x67, 0xDE, 0x9E, 0xD0, 0x7A, 0xA7, 0x53, 0x80, 0x3B, 0x7C, 0xAD,
+ 0xF5, 0x96, 0x55, 0x6F, 0x97, 0x47, 0x0A, 0x7C, 0x85, 0x8B, 0x22,
+ 0x97, 0x8D, 0xB3, 0x84, 0xE0, 0x96, 0x57, 0xD0, 0x70, 0x18, 0x60,
+ 0x96, 0x8F, 0xEE, 0x2D, 0x07, 0x93, 0x9D, 0xA1, 0xBA, 0xCA, 0xD1,
+ 0xCD, 0x7B, 0xE9, 0xC4, 0x2A, 0x9A, 0x28, 0x21, 0x91, 0x4D, 0x6F,
+ 0x92, 0x4F, 0x25, 0xA5, 0xF2, 0x7A, 0x35, 0xDD, 0x26, 0xDC, 0x46,
+ 0xA5, 0xD0, 0xAC, 0x59, 0x35, 0x8C, 0xFF, 0x4E, 0x91, 0x43, 0x50,
+ 0x3F, 0x59, 0x93, 0x1E, 0x6C, 0x51, 0x21, 0xEE, 0x58, 0x14, 0xAB,
+ 0xFE, 0x75, 0x50, 0x78, 0x3E, 0x4C, 0xB0, 0x1C, 0x86, 0x13, 0xFA,
+ 0x6B, 0x98, 0xBC, 0xE0, 0x3B, 0x94, 0x1E, 0x85, 0x52, 0xDC, 0x03,
+ 0x93, 0x24, 0x18, 0x6E, 0xCB, 0x27, 0x51, 0x45, 0xE6, 0x70, 0xDE,
+ 0x25, 0x43, 0xA4, 0x0D, 0xE1, 0x4A, 0xA5, 0xED, 0xB6, 0x7E, 0xC8,
+ 0xCD, 0x6D, 0xEE, 0x2E, 0x1D, 0x27, 0x73, 0x5D, 0xDC, 0x45, 0x30,
+ 0x80, 0xAA, 0xE3, 0xB2, 0x41, 0x0B, 0xAF, 0xBD, 0x44, 0x87, 0xDA,
+ 0xB9, 0xE5, 0x1B, 0x9D, 0x7F, 0xAE, 0xE5, 0x85, 0x82, 0xA5, 0x02,
+ 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01, 0x65, 0x30, 0x82, 0x01,
+ 0x61, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30,
+ 0x16, 0x80, 0x14, 0xBB, 0xAF, 0x7E, 0x02, 0x3D, 0xFA, 0xA6, 0xF1,
+ 0x3C, 0x84, 0x8E, 0xAD, 0xEE, 0x38, 0x98, 0xEC, 0xD9, 0x32, 0x32,
+ 0xD4, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04,
+ 0x14, 0x90, 0xAF, 0x6A, 0x3A, 0x94, 0x5A, 0x0B, 0xD8, 0x90, 0xEA,
+ 0x12, 0x56, 0x73, 0xDF, 0x43, 0xB4, 0x3A, 0x28, 0xDA, 0xE7, 0x30,
+ 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04,
+ 0x03, 0x02, 0x01, 0x86, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1D, 0x13,
+ 0x01, 0x01, 0xFF, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xFF, 0x02,
+ 0x01, 0x00, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x16,
+ 0x30, 0x14, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03,
+ 0x01, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02,
+ 0x30, 0x1B, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x14, 0x30, 0x12,
+ 0x30, 0x06, 0x06, 0x04, 0x55, 0x1D, 0x20, 0x00, 0x30, 0x08, 0x06,
+ 0x06, 0x67, 0x81, 0x0C, 0x01, 0x02, 0x01, 0x30, 0x4C, 0x06, 0x03,
+ 0x55, 0x1D, 0x1F, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0xA0, 0x3F,
+ 0xA0, 0x3D, 0x86, 0x3B, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F,
+ 0x63, 0x72, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F, 0x63,
+ 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x4F, 0x4D, 0x4F, 0x44,
+ 0x4F, 0x52, 0x53, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x75, 0x74, 0x68, 0x6F,
+ 0x72, 0x69, 0x74, 0x79, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x71, 0x06,
+ 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x65,
+ 0x30, 0x63, 0x30, 0x3B, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05,
+ 0x07, 0x30, 0x02, 0x86, 0x2F, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F,
+ 0x2F, 0x63, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F,
+ 0x63, 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x43, 0x4F, 0x4D, 0x4F,
+ 0x44, 0x4F, 0x52, 0x53, 0x41, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75,
+ 0x73, 0x74, 0x43, 0x41, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x24, 0x06,
+ 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18,
+ 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70,
+ 0x2E, 0x63, 0x6F, 0x6D, 0x6F, 0x64, 0x6F, 0x63, 0x61, 0x2E, 0x63,
+ 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7,
+ 0x0D, 0x01, 0x01, 0x0C, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+ 0x4E, 0x2B, 0x76, 0x4F, 0x92, 0x1C, 0x62, 0x36, 0x89, 0xBA, 0x77,
+ 0xC1, 0x27, 0x05, 0xF4, 0x1C, 0xD6, 0x44, 0x9D, 0xA9, 0x9A, 0x3E,
+ 0xAA, 0xD5, 0x66, 0x66, 0x01, 0x3E, 0xEA, 0x49, 0xE6, 0xA2, 0x35,
+ 0xBC, 0xFA, 0xF6, 0xDD, 0x95, 0x8E, 0x99, 0x35, 0x98, 0x0E, 0x36,
+ 0x18, 0x75, 0xB1, 0xDD, 0xDD, 0x50, 0x72, 0x7C, 0xAE, 0xDC, 0x77,
+ 0x88, 0xCE, 0x0F, 0xF7, 0x90, 0x20, 0xCA, 0xA3, 0x67, 0x2E, 0x1F,
+ 0x56, 0x7F, 0x7B, 0xE1, 0x44, 0xEA, 0x42, 0x95, 0xC4, 0x5D, 0x0D,
+ 0x01, 0x50, 0x46, 0x15, 0xF2, 0x81, 0x89, 0x59, 0x6C, 0x8A, 0xDD,
+ 0x8C, 0xF1, 0x12, 0xA1, 0x8D, 0x3A, 0x42, 0x8A, 0x98, 0xF8, 0x4B,
+ 0x34, 0x7B, 0x27, 0x3B, 0x08, 0xB4, 0x6F, 0x24, 0x3B, 0x72, 0x9D,
+ 0x63, 0x74, 0x58, 0x3C, 0x1A, 0x6C, 0x3F, 0x4F, 0xC7, 0x11, 0x9A,
+ 0xC8, 0xA8, 0xF5, 0xB5, 0x37, 0xEF, 0x10, 0x45, 0xC6, 0x6C, 0xD9,
+ 0xE0, 0x5E, 0x95, 0x26, 0xB3, 0xEB, 0xAD, 0xA3, 0xB9, 0xEE, 0x7F,
+ 0x0C, 0x9A, 0x66, 0x35, 0x73, 0x32, 0x60, 0x4E, 0xE5, 0xDD, 0x8A,
+ 0x61, 0x2C, 0x6E, 0x52, 0x11, 0x77, 0x68, 0x96, 0xD3, 0x18, 0x75,
+ 0x51, 0x15, 0x00, 0x1B, 0x74, 0x88, 0xDD, 0xE1, 0xC7, 0x38, 0x04,
+ 0x43, 0x28, 0xE9, 0x16, 0xFD, 0xD9, 0x05, 0xD4, 0x5D, 0x47, 0x27,
+ 0x60, 0xD6, 0xFB, 0x38, 0x3B, 0x6C, 0x72, 0xA2, 0x94, 0xF8, 0x42,
+ 0x1A, 0xDF, 0xED, 0x6F, 0x06, 0x8C, 0x45, 0xC2, 0x06, 0x00, 0xAA,
+ 0xE4, 0xE8, 0xDC, 0xD9, 0xB5, 0xE1, 0x73, 0x78, 0xEC, 0xF6, 0x23,
+ 0xDC, 0xD1, 0xDD, 0x6C, 0x8E, 0x1A, 0x8F, 0xA5, 0xEA, 0x54, 0x7C,
+ 0x96, 0xB7, 0xC3, 0xFE, 0x55, 0x8E, 0x8D, 0x49, 0x5E, 0xFC, 0x64,
+ 0xBB, 0xCF, 0x3E, 0xBD, 0x96, 0xEB, 0x69, 0xCD, 0xBF, 0xE0, 0x48,
+ 0xF1, 0x62, 0x82, 0x10, 0xE5, 0x0C, 0x46, 0x57, 0xF2, 0x33, 0xDA,
+ 0xD0, 0xC8, 0x63, 0xED, 0xC6, 0x1F, 0x94, 0x05, 0x96, 0x4A, 0x1A,
+ 0x91, 0xD1, 0xF7, 0xEB, 0xCF, 0x8F, 0x52, 0xAE, 0x0D, 0x08, 0xD9,
+ 0x3E, 0xA8, 0xA0, 0x51, 0xE9, 0xC1, 0x87, 0x74, 0xD5, 0xC9, 0xF7,
+ 0x74, 0xAB, 0x2E, 0x53, 0xFB, 0xBB, 0x7A, 0xFB, 0x97, 0xE2, 0xF8,
+ 0x1F, 0x26, 0x8F, 0xB3, 0xD2, 0xA0, 0xE0, 0x37, 0x5B, 0x28, 0x3B,
+ 0x31, 0xE5, 0x0E, 0x57, 0x2D, 0x5A, 0xB8, 0xAD, 0x79, 0xAC, 0x5E,
+ 0x20, 0x66, 0x1A, 0xA5, 0xB9, 0xA6, 0xB5, 0x39, 0xC1, 0xF5, 0x98,
+ 0x43, 0xFF, 0xEE, 0xF9, 0xA7, 0xA7, 0xFD, 0xEE, 0xCA, 0x24, 0x3D,
+ 0x80, 0x16, 0xC4, 0x17, 0x8F, 0x8A, 0xC1, 0x60, 0xA1, 0x0C, 0xAE,
+ 0x5B, 0x43, 0x47, 0x91, 0x4B, 0xD5, 0x9A, 0x17, 0x5F, 0xF9, 0xD4,
+ 0x87, 0xC1, 0xC2, 0x8C, 0xB7, 0xE7, 0xE2, 0x0F, 0x30, 0x19, 0x37,
+ 0x86, 0xAC, 0xE0, 0xDC, 0x42, 0x03, 0xE6, 0x94, 0xA8, 0x9D, 0xAE,
+ 0xFD, 0x0F, 0x24, 0x51, 0x94, 0xCE, 0x92, 0x08, 0xD1, 0xFC, 0x50,
+ 0xF0, 0x03, 0x40, 0x7B, 0x88, 0x59, 0xED, 0x0E, 0xDD, 0xAC, 0xD2,
+ 0x77, 0x82, 0x34, 0xDC, 0x06, 0x95, 0x02, 0xD8, 0x90, 0xF9, 0x2D,
+ 0xEA, 0x37, 0xD5, 0x1A, 0x60, 0xD0, 0x67, 0x20, 0xD7, 0xD8, 0x42,
+ 0x0B, 0x45, 0xAF, 0x82, 0x68, 0xDE, 0xDD, 0x66, 0x24, 0x37, 0x90,
+ 0x29, 0x94, 0x19, 0x46, 0x19, 0x25, 0xB8, 0x80, 0xD7, 0xCB, 0xD4,
+ 0x86, 0x28, 0x6A, 0x44, 0x70, 0x26, 0x23, 0x62, 0xA9, 0x9F, 0x86,
+ 0x6F, 0xBF, 0xBA, 0x90, 0x70, 0xD2, 0x56, 0x77, 0x85, 0x78, 0xEF,
+ 0xEA, 0x25, 0xA9, 0x17, 0xCE, 0x50, 0x72, 0x8C, 0x00, 0x3A, 0xAA,
+ 0xE3, 0xDB, 0x63, 0x34, 0x9F, 0xF8, 0x06, 0x71, 0x01, 0xE2, 0x82,
+ 0x20, 0xD4, 0xFE, 0x6F, 0xBD, 0xB1, 0x00, 0x05, 0x78, 0x30, 0x82,
+ 0x05, 0x74, 0x30, 0x82, 0x04, 0x5C, 0xA0, 0x03, 0x02, 0x01, 0x02,
+ 0x02, 0x10, 0x27, 0x66, 0xEE, 0x56, 0xEB, 0x49, 0xF3, 0x8E, 0xAB,
+ 0xD7, 0x70, 0xA2, 0xFC, 0x84, 0xDE, 0x22, 0x30, 0x0D, 0x06, 0x09,
+ 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C, 0x05, 0x00,
+ 0x30, 0x6F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
+ 0x13, 0x02, 0x53, 0x45, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55,
+ 0x04, 0x0A, 0x13, 0x0B, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73,
+ 0x74, 0x20, 0x41, 0x42, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55,
+ 0x04, 0x0B, 0x13, 0x1D, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73,
+ 0x74, 0x20, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x20,
+ 0x54, 0x54, 0x50, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B,
+ 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19,
+ 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, 0x78,
+ 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x20, 0x43, 0x41, 0x20, 0x52,
+ 0x6F, 0x6F, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x30, 0x30, 0x30, 0x35,
+ 0x33, 0x30, 0x31, 0x30, 0x34, 0x38, 0x33, 0x38, 0x5A, 0x17, 0x0D,
+ 0x32, 0x30, 0x30, 0x35, 0x33, 0x30, 0x31, 0x30, 0x34, 0x38, 0x33,
+ 0x38, 0x5A, 0x30, 0x81, 0x85, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,
+ 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30, 0x19,
+ 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73,
+ 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04,
+ 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31,
+ 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43,
+ 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C, 0x69,
+ 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x2B, 0x30, 0x29, 0x06, 0x03,
+ 0x55, 0x04, 0x03, 0x13, 0x22, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F,
+ 0x20, 0x52, 0x53, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74,
+ 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x30, 0x82, 0x02, 0x22, 0x30,
+ 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01,
+ 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0F, 0x00, 0x30, 0x82, 0x02,
+ 0x0A, 0x02, 0x82, 0x02, 0x01, 0x00, 0x91, 0xE8, 0x54, 0x92, 0xD2,
+ 0x0A, 0x56, 0xB1, 0xAC, 0x0D, 0x24, 0xDD, 0xC5, 0xCF, 0x44, 0x67,
+ 0x74, 0x99, 0x2B, 0x37, 0xA3, 0x7D, 0x23, 0x70, 0x00, 0x71, 0xBC,
+ 0x53, 0xDF, 0xC4, 0xFA, 0x2A, 0x12, 0x8F, 0x4B, 0x7F, 0x10, 0x56,
+ 0xBD, 0x9F, 0x70, 0x72, 0xB7, 0x61, 0x7F, 0xC9, 0x4B, 0x0F, 0x17,
+ 0xA7, 0x3D, 0xE3, 0xB0, 0x04, 0x61, 0xEE, 0xFF, 0x11, 0x97, 0xC7,
+ 0xF4, 0x86, 0x3E, 0x0A, 0xFA, 0x3E, 0x5C, 0xF9, 0x93, 0xE6, 0x34,
+ 0x7A, 0xD9, 0x14, 0x6B, 0xE7, 0x9C, 0xB3, 0x85, 0xA0, 0x82, 0x7A,
+ 0x76, 0xAF, 0x71, 0x90, 0xD7, 0xEC, 0xFD, 0x0D, 0xFA, 0x9C, 0x6C,
+ 0xFA, 0xDF, 0xB0, 0x82, 0xF4, 0x14, 0x7E, 0xF9, 0xBE, 0xC4, 0xA6,
+ 0x2F, 0x4F, 0x7F, 0x99, 0x7F, 0xB5, 0xFC, 0x67, 0x43, 0x72, 0xBD,
+ 0x0C, 0x00, 0xD6, 0x89, 0xEB, 0x6B, 0x2C, 0xD3, 0xED, 0x8F, 0x98,
+ 0x1C, 0x14, 0xAB, 0x7E, 0xE5, 0xE3, 0x6E, 0xFC, 0xD8, 0xA8, 0xE4,
+ 0x92, 0x24, 0xDA, 0x43, 0x6B, 0x62, 0xB8, 0x55, 0xFD, 0xEA, 0xC1,
+ 0xBC, 0x6C, 0xB6, 0x8B, 0xF3, 0x0E, 0x8D, 0x9A, 0xE4, 0x9B, 0x6C,
+ 0x69, 0x99, 0xF8, 0x78, 0x48, 0x30, 0x45, 0xD5, 0xAD, 0xE1, 0x0D,
+ 0x3C, 0x45, 0x60, 0xFC, 0x32, 0x96, 0x51, 0x27, 0xBC, 0x67, 0xC3,
+ 0xCA, 0x2E, 0xB6, 0x6B, 0xEA, 0x46, 0xC7, 0xC7, 0x20, 0xA0, 0xB1,
+ 0x1F, 0x65, 0xDE, 0x48, 0x08, 0xBA, 0xA4, 0x4E, 0xA9, 0xF2, 0x83,
+ 0x46, 0x37, 0x84, 0xEB, 0xE8, 0xCC, 0x81, 0x48, 0x43, 0x67, 0x4E,
+ 0x72, 0x2A, 0x9B, 0x5C, 0xBD, 0x4C, 0x1B, 0x28, 0x8A, 0x5C, 0x22,
+ 0x7B, 0xB4, 0xAB, 0x98, 0xD9, 0xEE, 0xE0, 0x51, 0x83, 0xC3, 0x09,
+ 0x46, 0x4E, 0x6D, 0x3E, 0x99, 0xFA, 0x95, 0x17, 0xDA, 0x7C, 0x33,
+ 0x57, 0x41, 0x3C, 0x8D, 0x51, 0xED, 0x0B, 0xB6, 0x5C, 0xAF, 0x2C,
+ 0x63, 0x1A, 0xDF, 0x57, 0xC8, 0x3F, 0xBC, 0xE9, 0x5D, 0xC4, 0x9B,
+ 0xAF, 0x45, 0x99, 0xE2, 0xA3, 0x5A, 0x24, 0xB4, 0xBA, 0xA9, 0x56,
+ 0x3D, 0xCF, 0x6F, 0xAA, 0xFF, 0x49, 0x58, 0xBE, 0xF0, 0xA8, 0xFF,
+ 0xF4, 0xB8, 0xAD, 0xE9, 0x37, 0xFB, 0xBA, 0xB8, 0xF4, 0x0B, 0x3A,
+ 0xF9, 0xE8, 0x43, 0x42, 0x1E, 0x89, 0xD8, 0x84, 0xCB, 0x13, 0xF1,
+ 0xD9, 0xBB, 0xE1, 0x89, 0x60, 0xB8, 0x8C, 0x28, 0x56, 0xAC, 0x14,
+ 0x1D, 0x9C, 0x0A, 0xE7, 0x71, 0xEB, 0xCF, 0x0E, 0xDD, 0x3D, 0xA9,
+ 0x96, 0xA1, 0x48, 0xBD, 0x3C, 0xF7, 0xAF, 0xB5, 0x0D, 0x22, 0x4C,
+ 0xC0, 0x11, 0x81, 0xEC, 0x56, 0x3B, 0xF6, 0xD3, 0xA2, 0xE2, 0x5B,
+ 0xB7, 0xB2, 0x04, 0x22, 0x52, 0x95, 0x80, 0x93, 0x69, 0xE8, 0x8E,
+ 0x4C, 0x65, 0xF1, 0x91, 0x03, 0x2D, 0x70, 0x74, 0x02, 0xEA, 0x8B,
+ 0x67, 0x15, 0x29, 0x69, 0x52, 0x02, 0xBB, 0xD7, 0xDF, 0x50, 0x6A,
+ 0x55, 0x46, 0xBF, 0xA0, 0xA3, 0x28, 0x61, 0x7F, 0x70, 0xD0, 0xC3,
+ 0xA2, 0xAA, 0x2C, 0x21, 0xAA, 0x47, 0xCE, 0x28, 0x9C, 0x06, 0x45,
+ 0x76, 0xBF, 0x82, 0x18, 0x27, 0xB4, 0xD5, 0xAE, 0xB4, 0xCB, 0x50,
+ 0xE6, 0x6B, 0xF4, 0x4C, 0x86, 0x71, 0x30, 0xE9, 0xA6, 0xDF, 0x16,
+ 0x86, 0xE0, 0xD8, 0xFF, 0x40, 0xDD, 0xFB, 0xD0, 0x42, 0x88, 0x7F,
+ 0xA3, 0x33, 0x3A, 0x2E, 0x5C, 0x1E, 0x41, 0x11, 0x81, 0x63, 0xCE,
+ 0x18, 0x71, 0x6B, 0x2B, 0xEC, 0xA6, 0x8A, 0xB7, 0x31, 0x5C, 0x3A,
+ 0x6A, 0x47, 0xE0, 0xC3, 0x79, 0x59, 0xD6, 0x20, 0x1A, 0xAF, 0xF2,
+ 0x6A, 0x98, 0xAA, 0x72, 0xBC, 0x57, 0x4A, 0xD2, 0x4B, 0x9D, 0xBB,
+ 0x10, 0xFC, 0xB0, 0x4C, 0x41, 0xE5, 0xED, 0x1D, 0x3D, 0x5E, 0x28,
+ 0x9D, 0x9C, 0xCC, 0xBF, 0xB3, 0x51, 0xDA, 0xA7, 0x47, 0xE5, 0x84,
+ 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x81, 0xF4, 0x30, 0x81,
+ 0xF1, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30,
+ 0x16, 0x80, 0x14, 0xAD, 0xBD, 0x98, 0x7A, 0x34, 0xB4, 0x26, 0xF7,
+ 0xFA, 0xC4, 0x26, 0x54, 0xEF, 0x03, 0xBD, 0xE0, 0x24, 0xCB, 0x54,
+ 0x1A, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04,
+ 0x14, 0xBB, 0xAF, 0x7E, 0x02, 0x3D, 0xFA, 0xA6, 0xF1, 0x3C, 0x84,
+ 0x8E, 0xAD, 0xEE, 0x38, 0x98, 0xEC, 0xD9, 0x32, 0x32, 0xD4, 0x30,
+ 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04,
+ 0x03, 0x02, 0x01, 0x86, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13,
+ 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30,
+ 0x11, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x0A, 0x30, 0x08, 0x30,
+ 0x06, 0x06, 0x04, 0x55, 0x1D, 0x20, 0x00, 0x30, 0x44, 0x06, 0x03,
+ 0x55, 0x1D, 0x1F, 0x04, 0x3D, 0x30, 0x3B, 0x30, 0x39, 0xA0, 0x37,
+ 0xA0, 0x35, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F,
+ 0x63, 0x72, 0x6C, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75,
+ 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x41, 0x64, 0x64, 0x54,
+ 0x72, 0x75, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6E, 0x61,
+ 0x6C, 0x43, 0x41, 0x52, 0x6F, 0x6F, 0x74, 0x2E, 0x63, 0x72, 0x6C,
+ 0x30, 0x35, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01,
+ 0x01, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0x06, 0x08, 0x2B, 0x06,
+ 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 0x74, 0x74,
+ 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x75, 0x73,
+ 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D,
+ 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01,
+ 0x01, 0x0C, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x64, 0xBF,
+ 0x83, 0xF1, 0x5F, 0x9A, 0x85, 0xD0, 0xCD, 0xB8, 0xA1, 0x29, 0x57,
+ 0x0D, 0xE8, 0x5A, 0xF7, 0xD1, 0xE9, 0x3E, 0xF2, 0x76, 0x04, 0x6E,
+ 0xF1, 0x52, 0x70, 0xBB, 0x1E, 0x3C, 0xFF, 0x4D, 0x0D, 0x74, 0x6A,
+ 0xCC, 0x81, 0x82, 0x25, 0xD3, 0xC3, 0xA0, 0x2A, 0x5D, 0x4C, 0xF5,
+ 0xBA, 0x8B, 0xA1, 0x6D, 0xC4, 0x54, 0x09, 0x75, 0xC7, 0xE3, 0x27,
+ 0x0E, 0x5D, 0x84, 0x79, 0x37, 0x40, 0x13, 0x77, 0xF5, 0xB4, 0xAC,
+ 0x1C, 0xD0, 0x3B, 0xAB, 0x17, 0x12, 0xD6, 0xEF, 0x34, 0x18, 0x7E,
+ 0x2B, 0xE9, 0x79, 0xD3, 0xAB, 0x57, 0x45, 0x0C, 0xAF, 0x28, 0xFA,
+ 0xD0, 0xDB, 0xE5, 0x50, 0x95, 0x88, 0xBB, 0xDF, 0x85, 0x57, 0x69,
+ 0x7D, 0x92, 0xD8, 0x52, 0xCA, 0x73, 0x81, 0xBF, 0x1C, 0xF3, 0xE6,
+ 0xB8, 0x6E, 0x66, 0x11, 0x05, 0xB3, 0x1E, 0x94, 0x2D, 0x7F, 0x91,
+ 0x95, 0x92, 0x59, 0xF1, 0x4C, 0xCE, 0xA3, 0x91, 0x71, 0x4C, 0x7C,
+ 0x47, 0x0C, 0x3B, 0x0B, 0x19, 0xF6, 0xA1, 0xB1, 0x6C, 0x86, 0x3E,
+ 0x5C, 0xAA, 0xC4, 0x2E, 0x82, 0xCB, 0xF9, 0x07, 0x96, 0xBA, 0x48,
+ 0x4D, 0x90, 0xF2, 0x94, 0xC8, 0xA9, 0x73, 0xA2, 0xEB, 0x06, 0x7B,
+ 0x23, 0x9D, 0xDE, 0xA2, 0xF3, 0x4D, 0x55, 0x9F, 0x7A, 0x61, 0x45,
+ 0x98, 0x18, 0x68, 0xC7, 0x5E, 0x40, 0x6B, 0x23, 0xF5, 0x79, 0x7A,
+ 0xEF, 0x8C, 0xB5, 0x6B, 0x8B, 0xB7, 0x6F, 0x46, 0xF4, 0x7B, 0xF1,
+ 0x3D, 0x4B, 0x04, 0xD8, 0x93, 0x80, 0x59, 0x5A, 0xE0, 0x41, 0x24,
+ 0x1D, 0xB2, 0x8F, 0x15, 0x60, 0x58, 0x47, 0xDB, 0xEF, 0x6E, 0x46,
+ 0xFD, 0x15, 0xF5, 0xD9, 0x5F, 0x9A, 0xB3, 0xDB, 0xD8, 0xB8, 0xE4,
+ 0x40, 0xB3, 0xCD, 0x97, 0x39, 0xAE, 0x85, 0xBB, 0x1D, 0x8E, 0xBC,
+ 0xDC, 0x87, 0x9B, 0xD1, 0xA6, 0xEF, 0xF1, 0x3B, 0x6F, 0x10, 0x38,
+ 0x6F, 0x16, 0x03, 0x03, 0x02, 0x0F, 0x0C, 0x00, 0x02, 0x0B, 0x00,
+ 0x80, 0xBB, 0xBC, 0x2D, 0xCA, 0xD8, 0x46, 0x74, 0x90, 0x7C, 0x43,
+ 0xFC, 0xF5, 0x80, 0xE9, 0xCF, 0xDB, 0xD9, 0x58, 0xA3, 0xF5, 0x68,
+ 0xB4, 0x2D, 0x4B, 0x08, 0xEE, 0xD4, 0xEB, 0x0F, 0xB3, 0x50, 0x4C,
+ 0x6C, 0x03, 0x02, 0x76, 0xE7, 0x10, 0x80, 0x0C, 0x5C, 0xCB, 0xBA,
+ 0xA8, 0x92, 0x26, 0x14, 0xC5, 0xBE, 0xEC, 0xA5, 0x65, 0xA5, 0xFD,
+ 0xF1, 0xD2, 0x87, 0xA2, 0xBC, 0x04, 0x9B, 0xE6, 0x77, 0x80, 0x60,
+ 0xE9, 0x1A, 0x92, 0xA7, 0x57, 0xE3, 0x04, 0x8F, 0x68, 0xB0, 0x76,
+ 0xF7, 0xD3, 0x6C, 0xC8, 0xF2, 0x9B, 0xA5, 0xDF, 0x81, 0xDC, 0x2C,
+ 0xA7, 0x25, 0xEC, 0xE6, 0x62, 0x70, 0xCC, 0x9A, 0x50, 0x35, 0xD8,
+ 0xCE, 0xCE, 0xEF, 0x9E, 0xA0, 0x27, 0x4A, 0x63, 0xAB, 0x1E, 0x58,
+ 0xFA, 0xFD, 0x49, 0x88, 0xD0, 0xF6, 0x5D, 0x14, 0x67, 0x57, 0xDA,
+ 0x07, 0x1D, 0xF0, 0x45, 0xCF, 0xE1, 0x6B, 0x9B, 0x00, 0x01, 0x02,
+ 0x00, 0x80, 0x55, 0xFB, 0xB6, 0x92, 0x5A, 0x0C, 0x93, 0x56, 0xE8,
+ 0x1C, 0xCD, 0x23, 0xFC, 0xB9, 0xBE, 0x98, 0x2D, 0x01, 0x4F, 0x35,
+ 0xCE, 0x37, 0xD0, 0xF8, 0xA0, 0x0C, 0x42, 0x3B, 0x27, 0x25, 0x10,
+ 0x04, 0x46, 0x02, 0x19, 0x1F, 0xDC, 0xDA, 0x08, 0x33, 0x42, 0x63,
+ 0x5F, 0x3C, 0x82, 0x1F, 0xFA, 0x46, 0x9E, 0x34, 0xCB, 0x30, 0xED,
+ 0x55, 0x11, 0xD7, 0x00, 0x0C, 0x76, 0x0A, 0x48, 0x0C, 0x1D, 0x7A,
+ 0x13, 0x3D, 0xC6, 0x41, 0xD5, 0x7B, 0xD5, 0x2A, 0xE0, 0xA3, 0xB5,
+ 0xAB, 0x0E, 0xBC, 0xD3, 0x17, 0x14, 0xFD, 0x21, 0x8C, 0x78, 0xB1,
+ 0x4D, 0xF2, 0x5A, 0x44, 0x89, 0x4E, 0x82, 0x3D, 0x8B, 0xAC, 0x5D,
+ 0x49, 0xB2, 0x19, 0x21, 0x67, 0xCA, 0x70, 0xC7, 0x8D, 0x35, 0x89,
+ 0xD1, 0x9D, 0x34, 0xD4, 0x7A, 0xAF, 0x1D, 0x9D, 0x86, 0x0F, 0xEF,
+ 0x5A, 0x4F, 0x9E, 0xDA, 0xF5, 0x02, 0x7E, 0x22, 0x67, 0x01, 0x01,
+ 0x01, 0x00, 0x7B, 0x59, 0x4A, 0x29, 0xF9, 0x9F, 0x53, 0x41, 0x8B,
+ 0xE6, 0x79, 0xE9, 0xF5, 0x73, 0x7C, 0xC8, 0xE9, 0x40, 0x1F, 0x39,
+ 0x08, 0x06, 0x84, 0x3D, 0x80, 0x6B, 0xF0, 0x0C, 0x54, 0xC2, 0x18,
+ 0xD6, 0xAD, 0x53, 0xFD, 0x7C, 0xB3, 0x8B, 0xCE, 0x70, 0x4F, 0xCF,
+ 0xFC, 0xEF, 0xC8, 0x2D, 0xE4, 0xD0, 0xC2, 0x7B, 0x80, 0x57, 0xA2,
+ 0x5F, 0x7F, 0x36, 0xB0, 0xBC, 0x16, 0xB7, 0xC1, 0xC2, 0x12, 0x96,
+ 0x94, 0x88, 0x9D, 0x68, 0xD3, 0xDF, 0xB1, 0x3C, 0xA0, 0x93, 0x3A,
+ 0x4D, 0x90, 0x66, 0x3F, 0xB0, 0x89, 0xE7, 0x21, 0x58, 0xF0, 0x39,
+ 0x8B, 0x83, 0x32, 0x93, 0xCB, 0xA9, 0x57, 0x2B, 0x0A, 0x02, 0x5E,
+ 0xF9, 0xE6, 0x10, 0x9A, 0x7F, 0x2A, 0x23, 0x3D, 0x5C, 0x3F, 0x38,
+ 0x3A, 0x40, 0x0C, 0x1B, 0x7C, 0x0D, 0x5D, 0x7C, 0xF1, 0xB2, 0x88,
+ 0x71, 0xA2, 0x57, 0x02, 0x94, 0x12, 0x45, 0x60, 0xEC, 0xC2, 0xB2,
+ 0xCB, 0x31, 0xF2, 0xF8, 0x1B, 0xDD, 0xEA, 0xF6, 0x40, 0xF6, 0x07,
+ 0xEA, 0xC2, 0x71, 0xA6, 0x07, 0xC8, 0x45, 0xE4, 0xE2, 0x1D, 0x49,
+ 0x53, 0x40, 0x5B, 0x57, 0x68, 0xA4, 0x81, 0x1C, 0xCB, 0x33, 0x95,
+ 0x12, 0x0F, 0x4D, 0xAD, 0x9B, 0x70, 0x53, 0xDC, 0x8B, 0xE6, 0x24,
+ 0x0D, 0x39, 0x83, 0x0E, 0x17, 0xFB, 0x13, 0xF2, 0x45, 0x2C, 0x52,
+ 0x44, 0xA3, 0x22, 0x0D, 0x32, 0xDD, 0x21, 0x05, 0x2B, 0xA1, 0xAC,
+ 0xC4, 0x84, 0xD7, 0x18, 0x2F, 0xA2, 0xB4, 0xF5, 0x4E, 0xED, 0x72,
+ 0x56, 0xB7, 0x87, 0x81, 0xF8, 0x51, 0x30, 0x01, 0xBE, 0x17, 0x31,
+ 0xEE, 0x21, 0xBA, 0x16, 0xAF, 0xEB, 0x0A, 0x54, 0x69, 0x84, 0xB3,
+ 0xDC, 0xCA, 0x04, 0xBB, 0x49, 0x84, 0x4C, 0x0F, 0xCE, 0x20, 0xE2,
+ 0x71, 0xF3, 0x43, 0x26, 0x1D, 0xA4, 0xAF, 0xAE, 0x3F, 0x9E, 0xA3,
+ 0x44, 0xDC, 0xAE, 0xB7, 0x5B, 0x16, 0x03, 0x03, 0x00, 0x04, 0x0E,
+ 0x00, 0x00, 0x00
+ };
static void server(int sd)
{
@@ -748,9 +581,10 @@ static void client(int sd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+AES-128-GCM",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+AES-128-GCM",
+ NULL);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_server_name_set(session, GNUTLS_NAME_DNS, "localhost",
strlen("localhost"));
@@ -820,4 +654,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/client_dsa_key.c b/tests/client_dsa_key.c
index f5e346ee42..95ea654dbb 100644
--- a/tests/client_dsa_key.c
+++ b/tests/client_dsa_key.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,10 +28,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -67,9 +67,8 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&cli_cred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(cli_cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(cli_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
@@ -88,26 +87,23 @@ void doit(void)
gnutls_certificate_set_verify_flags(serv_cred,
GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1);
- ret =
- gnutls_certificate_set_x509_trust_mem(serv_cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(serv_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_key_mem(serv_cred,
- &server_ca3_localhost_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serv_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
}
- test_cli_serv_cert(serv_cred, cli_cred,
- "NORMAL:+DHE-DSS:+SIGN-DSA-SHA1",
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:-DHE-DSS:+SIGN-DSA-SHA1",
- "localhost");
+ test_cli_serv_cert(
+ serv_cred, cli_cred, "NORMAL:+DHE-DSS:+SIGN-DSA-SHA1",
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:-DHE-DSS:+SIGN-DSA-SHA1",
+ "localhost");
gnutls_certificate_free_credentials(serv_cred);
gnutls_certificate_free_credentials(cli_cred);
diff --git a/tests/cmocka-common.h b/tests/cmocka-common.h
index 8db0e43841..d89c54d0d0 100644
--- a/tests/cmocka-common.h
+++ b/tests/cmocka-common.h
@@ -1,13 +1,13 @@
#ifndef GNUTLS_TESTS_CMOCKA_COMMON_H
-# define GNUTLS_TESTS_CMOCKA_COMMON_H
+#define GNUTLS_TESTS_CMOCKA_COMMON_H
-# include <stdarg.h>
-# include <stddef.h>
-# include <setjmp.h>
-# include <cmocka.h>
-# include <errno.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#include <errno.h>
-# define USE_CMOCKA
-# include "eagain-common.h"
+#define USE_CMOCKA
+#include "eagain-common.h"
-#endif /* GNUTLS_TESTS_CMOCKA_COMMON_H */
+#endif /* GNUTLS_TESTS_CMOCKA_COMMON_H */
diff --git a/tests/common-cert-key-exchange.c b/tests/common-cert-key-exchange.c
index 243cb12bfd..b0a30941a3 100644
--- a/tests/common-cert-key-exchange.c
+++ b/tests/common-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -50,10 +50,10 @@ static void tls_log_func(int level, const char *str)
void try_with_key_fail(const char *name, const char *client_prio,
int server_err, int client_err,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key)
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key)
{
int ret;
/* Server stuff. */
@@ -75,16 +75,15 @@ void try_with_key_fail(const char *name, const char *client_prio,
/* Init server */
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- ret = gnutls_certificate_set_x509_key_mem(serverx509cred,
- serv_cert, serv_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, serv_cert, serv_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("Could not set key/cert: %s\n", gnutls_strerror(ret));
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
if (server_priority)
- assert(gnutls_priority_set_direct(server, server_priority, NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(server, server_priority,
+ NULL) >= 0);
else
assert(gnutls_priority_set_direct(server, client_prio, NULL) >=
0);
@@ -102,9 +101,8 @@ void try_with_key_fail(const char *name, const char *client_prio,
exit(1);
if (cli_cert) {
- gnutls_certificate_set_x509_key_mem(clientx509cred,
- cli_cert, cli_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(
+ clientx509cred, cli_cert, cli_key, GNUTLS_X509_FMT_PEM);
gnutls_certificate_server_set_request(server,
GNUTLS_CERT_REQUIRE);
}
@@ -141,11 +139,10 @@ void try_with_key_fail(const char *name, const char *client_prio,
void try_with_rawpk_key_fail(const char *name, const char *client_prio,
int server_err, int client_err,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- unsigned server_ku,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key, unsigned client_ku)
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key, unsigned server_ku,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key, unsigned client_ku)
{
int ret;
/* Server stuff. */
@@ -167,8 +164,8 @@ void try_with_rawpk_key_fail(const char *name, const char *client_prio,
/* Init server */
gnutls_certificate_allocate_credentials(&server_cred);
- ret = gnutls_certificate_set_rawpk_key_mem(server_cred,
- serv_cert, serv_key,
+ ret = gnutls_certificate_set_rawpk_key_mem(server_cred, serv_cert,
+ serv_key,
GNUTLS_X509_FMT_PEM, NULL,
server_ku, NULL, 0, 0);
if (ret < 0)
@@ -176,8 +173,8 @@ void try_with_rawpk_key_fail(const char *name, const char *client_prio,
assert(gnutls_init(&server, GNUTLS_SERVER | GNUTLS_ENABLE_RAWPK) >= 0);
if (server_priority)
- assert(gnutls_priority_set_direct(server, server_priority, NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(server, server_priority,
+ NULL) >= 0);
else
assert(gnutls_priority_set_direct(server, client_prio, NULL) >=
0);
@@ -194,11 +191,9 @@ void try_with_rawpk_key_fail(const char *name, const char *client_prio,
exit(1);
if (cli_cert) {
- ret = gnutls_certificate_set_rawpk_key_mem(client_cred,
- cli_cert, cli_key,
- GNUTLS_X509_FMT_PEM,
- NULL, client_ku,
- NULL, 0, 0);
+ ret = gnutls_certificate_set_rawpk_key_mem(
+ client_cred, cli_cert, cli_key, GNUTLS_X509_FMT_PEM,
+ NULL, client_ku, NULL, 0, 0);
if (ret < 0)
fail("Could not set key/cert: %s\n",
gnutls_strerror(ret));
@@ -240,10 +235,10 @@ void try_with_key_ks(const char *name, const char *client_prio,
gnutls_kx_algorithm_t client_kx,
gnutls_sign_algorithm_t server_sign_algo,
gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * client_cert,
- const gnutls_datum_t * client_key, unsigned cert_flags,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *client_cert,
+ const gnutls_datum_t *client_key, unsigned cert_flags,
unsigned exp_group, gnutls_certificate_type_t server_ctype,
gnutls_certificate_type_t client_ctype)
{
@@ -276,9 +271,8 @@ void try_with_key_ks(const char *name, const char *client_prio,
// Set server crt creds based on ctype
switch (server_ctype) {
case GNUTLS_CRT_X509:
- ret = gnutls_certificate_set_x509_key_mem(server_cred,
- serv_cert, serv_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ server_cred, serv_cert, serv_key, GNUTLS_X509_FMT_PEM);
break;
case GNUTLS_CRT_RAWPK:
ret = gnutls_certificate_set_rawpk_key_mem(server_cred,
@@ -306,12 +300,13 @@ void try_with_key_ks(const char *name, const char *client_prio,
0);
if (server_priority)
- assert(gnutls_priority_set_direct(server, server_priority, NULL)
- >= 0);
- else
- assert(gnutls_priority_set_direct(server,
- "NORMAL:+VERS-SSL3.0:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519:+CTYPE-ALL",
+ assert(gnutls_priority_set_direct(server, server_priority,
NULL) >= 0);
+ else
+ assert(gnutls_priority_set_direct(
+ server,
+ "NORMAL:+VERS-SSL3.0:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519:+CTYPE-ALL",
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -325,18 +320,14 @@ void try_with_key_ks(const char *name, const char *client_prio,
// Set client crt creds based on ctype
switch (client_ctype) {
case GNUTLS_CRT_X509:
- gnutls_certificate_set_x509_key_mem(client_cred,
- client_cert,
- client_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(
+ client_cred, client_cert, client_key,
+ GNUTLS_X509_FMT_PEM);
break;
case GNUTLS_CRT_RAWPK:
- gnutls_certificate_set_rawpk_key_mem(client_cred,
- client_cert,
- client_key,
- GNUTLS_X509_FMT_PEM,
- NULL, 0, NULL, 0,
- 0);
+ gnutls_certificate_set_rawpk_key_mem(
+ client_cred, client_cert, client_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0, NULL, 0, 0);
break;
default:
fail("Illegal client certificate type given\n");
@@ -362,8 +353,8 @@ void try_with_key_ks(const char *name, const char *client_prio,
assert(gnutls_anon_allocate_client_credentials(&c_anoncred) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred) >=
0);
- ret =
- gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, client_cred);
+ ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
+ client_cred);
if (ret < 0)
exit(1);
@@ -381,7 +372,9 @@ void try_with_key_ks(const char *name, const char *client_prio,
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != client_kx) {
- fail("%s: got unexpected key exchange algorithm: %s (expected %s)\n", name, gnutls_kx_get_name(gnutls_kx_get(client)), gnutls_kx_get_name(client_kx));
+ fail("%s: got unexpected key exchange algorithm: %s (expected %s)\n",
+ name, gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(client_kx));
exit(1);
}
@@ -390,25 +383,29 @@ void try_with_key_ks(const char *name, const char *client_prio,
if (version >= GNUTLS_TLS1_2) {
ret = gnutls_sign_algorithm_get(server);
if (ret != (int)server_sign_algo) {
- fail("%s: got unexpected server signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(server);
if (ret != (int)client_sign_algo) {
- fail("%s: got unexpected client signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get(client);
if (ret != (int)server_sign_algo) {
- fail("%s: cl: got unexpected server signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: cl: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(client);
if (ret != (int)client_sign_algo) {
- fail("%s: cl: got unexpected client signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: cl: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
}
@@ -461,10 +458,10 @@ void dtls_try_with_key_mtu(const char *name, const char *client_prio,
gnutls_kx_algorithm_t client_kx,
gnutls_sign_algorithm_t server_sign_algo,
gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * client_cert,
- const gnutls_datum_t * client_key,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *client_cert,
+ const gnutls_datum_t *client_key,
unsigned cert_flags, unsigned smtu)
{
int ret;
@@ -492,9 +489,8 @@ void dtls_try_with_key_mtu(const char *name, const char *client_prio,
gnutls_anon_allocate_server_credentials(&s_anoncred);
gnutls_certificate_allocate_credentials(&serverx509cred);
- ret = gnutls_certificate_set_x509_key_mem(serverx509cred,
- serv_cert, serv_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, serv_cert, serv_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("Could not set key/cert: %s\n", gnutls_strerror(ret));
}
@@ -504,17 +500,17 @@ void dtls_try_with_key_mtu(const char *name, const char *client_prio,
gnutls_certificate_set_dh_params(serverx509cred, dh_params);
gnutls_anon_set_server_dh_params(s_anoncred, dh_params);
- assert(gnutls_init
- (&server,
- GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK) >= 0);
- assert(gnutls_credentials_set
- (server, GNUTLS_CRD_CERTIFICATE, serverx509cred) >= 0);
+ assert(gnutls_init(&server, GNUTLS_SERVER | GNUTLS_DATAGRAM |
+ GNUTLS_NONBLOCK) >= 0);
+ assert(gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
+ serverx509cred) >= 0);
assert(gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anoncred) >=
0);
- assert(gnutls_priority_set_direct(server,
- "NORMAL:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server,
+ "NORMAL:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519",
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_pull_timeout_function(server,
@@ -552,18 +548,16 @@ void dtls_try_with_key_mtu(const char *name, const char *client_prio,
exit(1);
#endif
- ret =
- gnutls_init(&client,
- GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
+ ret = gnutls_init(&client,
+ GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
if (ret < 0)
exit(1);
assert(gnutls_anon_allocate_client_credentials(&c_anoncred) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred) >=
0);
- ret =
- gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
- clientx509cred);
+ ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
+ clientx509cred);
if (ret < 0)
exit(1);
@@ -584,7 +578,9 @@ void dtls_try_with_key_mtu(const char *name, const char *client_prio,
HANDSHAKE_DTLS(client, server);
if (gnutls_kx_get(client) != client_kx) {
- fail("%s: got unexpected key exchange algorithm: %s (expected %s)\n", name, gnutls_kx_get_name(gnutls_kx_get(client)), gnutls_kx_get_name(client_kx));
+ fail("%s: got unexpected key exchange algorithm: %s (expected %s)\n",
+ name, gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(client_kx));
exit(1);
}
@@ -593,25 +589,29 @@ void dtls_try_with_key_mtu(const char *name, const char *client_prio,
if (version >= GNUTLS_DTLS1_2) {
ret = gnutls_sign_algorithm_get(server);
if (ret != (int)server_sign_algo) {
- fail("%s: got unexpected server signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(server);
if (ret != (int)client_sign_algo) {
- fail("%s: got unexpected client signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get(client);
if (ret != (int)server_sign_algo) {
- fail("%s: cl: got unexpected server signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: cl: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(client);
if (ret != (int)client_sign_algo) {
- fail("%s: cl: got unexpected client signature algorithm: %d/%s\n", name, ret, gnutls_sign_get_name(ret));
+ fail("%s: cl: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
}
diff --git a/tests/common-cert-key-exchange.h b/tests/common-cert-key-exchange.h
index 819ce39d38..18508e3965 100644
--- a/tests/common-cert-key-exchange.h
+++ b/tests/common-cert-key-exchange.h
@@ -20,70 +20,81 @@
*/
#ifndef GNUTLS_TESTS_COMMON_CERT_KEY_EXCHANGE_H
-# define GNUTLS_TESTS_COMMON_CERT_KEY_EXCHANGE_H
+#define GNUTLS_TESTS_COMMON_CERT_KEY_EXCHANGE_H
-# ifdef HAVE_CONFIG_H
-# include <config.h>
-# endif
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
-# include <gnutls/gnutls.h>
+#include <gnutls/gnutls.h>
-# define USE_CERT 1
-# define ASK_CERT 2
+#define USE_CERT 1
+#define ASK_CERT 2
extern const char *server_priority;
-# define try_x509(name, client_prio, client_kx, server_sign_algo, client_sign_algo) \
- try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, \
- &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL, 0, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN)
-
-# define try_rawpk(name, client_prio, client_kx, server_sign_algo, client_sign_algo) \
- try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, \
- &rawpk_public_key1, &rawpk_private_key1, NULL, NULL, 0, GNUTLS_CRT_RAWPK, GNUTLS_CRT_UNKNOWN)
-
-# define try_x509_ks(name, client_prio, client_kx, group) \
- try_with_key_ks(name, client_prio, client_kx, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, GNUTLS_SIGN_UNKNOWN, \
- &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL, 0, group, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN)
-
-# define try_x509_cli(name, client_prio, client_kx, server_sign_algo, client_sign_algo, client_cert) \
- try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, \
- &server_ca3_localhost_cert, &server_ca3_key, &cli_ca3_cert, &cli_ca3_key, client_cert, GNUTLS_CRT_X509, GNUTLS_CRT_X509)
-
-# define try_rawpk_cli(name, client_prio, client_kx, server_sign_algo, client_sign_algo, client_cert) \
- try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, \
- &rawpk_public_key1, &rawpk_private_key1, &rawpk_public_key2, &rawpk_private_key2, client_cert, GNUTLS_CRT_RAWPK, GNUTLS_CRT_RAWPK)
+#define try_x509(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo) \
+ try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, &server_ca3_localhost_cert, \
+ &server_ca3_key, NULL, NULL, 0, GNUTLS_CRT_X509, \
+ GNUTLS_CRT_UNKNOWN)
+
+#define try_rawpk(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo) \
+ try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, &rawpk_public_key1, \
+ &rawpk_private_key1, NULL, NULL, 0, GNUTLS_CRT_RAWPK, \
+ GNUTLS_CRT_UNKNOWN)
+
+#define try_x509_ks(name, client_prio, client_kx, group) \
+ try_with_key_ks(name, client_prio, client_kx, \
+ GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, GNUTLS_SIGN_UNKNOWN, \
+ &server_ca3_localhost_cert, &server_ca3_key, NULL, \
+ NULL, 0, group, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN)
+
+#define try_x509_cli(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, client_cert) \
+ try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, &server_ca3_localhost_cert, \
+ &server_ca3_key, &cli_ca3_cert, &cli_ca3_key, \
+ client_cert, GNUTLS_CRT_X509, GNUTLS_CRT_X509)
+
+#define try_rawpk_cli(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, client_cert) \
+ try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, &rawpk_public_key1, \
+ &rawpk_private_key1, &rawpk_public_key2, \
+ &rawpk_private_key2, client_cert, GNUTLS_CRT_RAWPK, \
+ GNUTLS_CRT_RAWPK)
void try_with_rawpk_key_fail(const char *name, const char *client_prio,
int server_err, int client_err,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- unsigned server_ku,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key,
- unsigned client_ku);
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key, unsigned server_ku,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key, unsigned client_ku);
void try_with_key_ks(const char *name, const char *client_prio,
gnutls_kx_algorithm_t client_kx,
gnutls_sign_algorithm_t server_sign_algo,
gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key, unsigned client_cert,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key, unsigned client_cert,
unsigned exp_group, gnutls_certificate_type_t server_ctype,
gnutls_certificate_type_t client_ctype);
-inline static
-void try_with_key(const char *name, const char *client_prio,
- gnutls_kx_algorithm_t client_kx,
- gnutls_sign_algorithm_t server_sign_algo,
- gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key, unsigned client_cert,
- gnutls_certificate_type_t server_ctype,
- gnutls_certificate_type_t client_ctype)
+inline static void
+try_with_key(const char *name, const char *client_prio,
+ gnutls_kx_algorithm_t client_kx,
+ gnutls_sign_algorithm_t server_sign_algo,
+ gnutls_sign_algorithm_t client_sign_algo,
+ const gnutls_datum_t *serv_cert, const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert, const gnutls_datum_t *cli_key,
+ unsigned client_cert, gnutls_certificate_type_t server_ctype,
+ gnutls_certificate_type_t client_ctype)
{
return try_with_key_ks(name, client_prio, client_kx, server_sign_algo,
client_sign_algo, serv_cert, serv_key, cli_cert,
@@ -93,30 +104,39 @@ void try_with_key(const char *name, const char *client_prio,
void try_with_key_fail(const char *name, const char *client_prio,
int server_err, int client_err,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key);
-
-# define dtls_try(name, client_prio, client_kx, server_sign_algo, client_sign_algo) \
- dtls_try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, \
- &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL, 0)
-
-# define dtls_try_cli(name, client_prio, client_kx, server_sign_algo, client_sign_algo, client_cert) \
- dtls_try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, \
- &server_ca3_localhost_cert, &server_ca3_key, &cli_ca3_cert, &cli_ca3_key, client_cert)
-
-# define dtls_try_with_key(name, client_prio, client_kx, server_sign_algo, client_sign_algo, serv_cert, serv_key, cli_cert, cli_key, client_cert) \
- dtls_try_with_key_mtu(name, client_prio, client_kx, server_sign_algo, client_sign_algo, serv_cert, serv_key, cli_cert, cli_key, client_cert, 0)
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key);
+
+#define dtls_try(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo) \
+ dtls_try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, &server_ca3_localhost_cert, \
+ &server_ca3_key, NULL, NULL, 0)
+
+#define dtls_try_cli(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, client_cert) \
+ dtls_try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, &server_ca3_localhost_cert, \
+ &server_ca3_key, &cli_ca3_cert, &cli_ca3_key, \
+ client_cert)
+
+#define dtls_try_with_key(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, serv_cert, serv_key, cli_cert, \
+ cli_key, client_cert) \
+ dtls_try_with_key_mtu(name, client_prio, client_kx, server_sign_algo, \
+ client_sign_algo, serv_cert, serv_key, cli_cert, \
+ cli_key, client_cert, 0)
void dtls_try_with_key_mtu(const char *name, const char *client_prio,
gnutls_kx_algorithm_t client_kx,
gnutls_sign_algorithm_t server_sign_algo,
gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key, unsigned client_cert,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key, unsigned client_cert,
unsigned mtu);
-#endif /* GNUTLS_TESTS_COMMON_CERT_KEY_EXCHANGE_H */
+#endif /* GNUTLS_TESTS_COMMON_CERT_KEY_EXCHANGE_H */
diff --git a/tests/common-key-tests.h b/tests/common-key-tests.h
index 6da9ea66bd..b36177bce5 100644
--- a/tests/common-key-tests.h
+++ b/tests/common-key-tests.h
@@ -20,11 +20,11 @@
*/
#ifndef GNUTLS_TESTS_COMMON_KEY_TESTS_H
-# define GNUTLS_TESTS_COMMON_KEY_TESTS_H
+#define GNUTLS_TESTS_COMMON_KEY_TESTS_H
-# include "cert-common.h"
+#include "cert-common.h"
-# include <gnutls/abstract.h>
+#include <gnutls/abstract.h>
struct _key_tests_st {
const char *name;
@@ -37,60 +37,54 @@ struct _key_tests_st {
unsigned sign_flags;
};
-static const
-struct _key_tests_st common_key_tests[] = {
- {
- .name = "rsa key",
- .cert = {(void *)cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem) - 1},
- .key = {(void *)cli_ca3_key_pem, sizeof(cli_ca3_key_pem) - 1},
- .pk = GNUTLS_PK_RSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_RSA_SHA256},
- {
- .name = "dsa key",
- .key = {(void *)clidsa_ca3_key_pem, sizeof(clidsa_ca3_key_pem) - 1},
- .cert = {(void *)clidsa_ca3_cert_pem, sizeof(clidsa_ca3_cert_pem) - 1},
- .pk = GNUTLS_PK_DSA,
- .digest = GNUTLS_DIG_SHA1,
- .sigalgo = GNUTLS_SIGN_DSA_SHA1},
- {
- .name = "ecdsa key",
- .key =
- {(void *)server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem) - 1},
- .cert = {(void *)server_localhost_ca3_ecc_cert_pem,
- sizeof(server_localhost_ca3_ecc_cert_pem) - 1},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA256},
- {
- .name = "ecdsa key",
- .key =
- {(void *)server_ca3_ecc_key_pem, sizeof(server_ca3_ecc_key_pem) - 1},
- .cert = {(void *)server_localhost_ca3_ecc_cert_pem,
- sizeof(server_localhost_ca3_ecc_cert_pem) - 1},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256},
- {
- .name = "rsa pss key",
- .key = {(void *)server_ca3_rsa_pss_key_pem,
- sizeof(server_ca3_rsa_pss_key_pem) - 1},
- .cert = {(void *)server_ca3_rsa_pss_cert_pem,
- sizeof(server_ca3_rsa_pss_cert_pem) - 1},
- .pk = GNUTLS_PK_RSA_PSS,
- .digest = GNUTLS_DIG_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
- .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256},
- {
- .name = "eddsa key",
- .key = {(void *)server_ca3_eddsa_key_pem,
- sizeof(server_ca3_eddsa_key_pem) - 1},
- .cert = {(void *)server_ca3_eddsa_cert_pem,
- sizeof(server_ca3_eddsa_cert_pem) - 1},
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .digest = GNUTLS_DIG_SHA512,
- .sigalgo = GNUTLS_SIGN_EDDSA_ED25519,
- .data_only = 1}
+static const struct _key_tests_st common_key_tests[] = {
+ { .name = "rsa key",
+ .cert = { (void *)cli_ca3_cert_pem, sizeof(cli_ca3_cert_pem) - 1 },
+ .key = { (void *)cli_ca3_key_pem, sizeof(cli_ca3_key_pem) - 1 },
+ .pk = GNUTLS_PK_RSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_RSA_SHA256 },
+ { .name = "dsa key",
+ .key = { (void *)clidsa_ca3_key_pem, sizeof(clidsa_ca3_key_pem) - 1 },
+ .cert = { (void *)clidsa_ca3_cert_pem,
+ sizeof(clidsa_ca3_cert_pem) - 1 },
+ .pk = GNUTLS_PK_DSA,
+ .digest = GNUTLS_DIG_SHA1,
+ .sigalgo = GNUTLS_SIGN_DSA_SHA1 },
+ { .name = "ecdsa key",
+ .key = { (void *)server_ca3_ecc_key_pem,
+ sizeof(server_ca3_ecc_key_pem) - 1 },
+ .cert = { (void *)server_localhost_ca3_ecc_cert_pem,
+ sizeof(server_localhost_ca3_ecc_cert_pem) - 1 },
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SHA256 },
+ { .name = "ecdsa key",
+ .key = { (void *)server_ca3_ecc_key_pem,
+ sizeof(server_ca3_ecc_key_pem) - 1 },
+ .cert = { (void *)server_localhost_ca3_ecc_cert_pem,
+ sizeof(server_localhost_ca3_ecc_cert_pem) - 1 },
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256 },
+ { .name = "rsa pss key",
+ .key = { (void *)server_ca3_rsa_pss_key_pem,
+ sizeof(server_ca3_rsa_pss_key_pem) - 1 },
+ .cert = { (void *)server_ca3_rsa_pss_cert_pem,
+ sizeof(server_ca3_rsa_pss_cert_pem) - 1 },
+ .pk = GNUTLS_PK_RSA_PSS,
+ .digest = GNUTLS_DIG_SHA256,
+ .sign_flags = GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS,
+ .sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256 },
+ { .name = "eddsa key",
+ .key = { (void *)server_ca3_eddsa_key_pem,
+ sizeof(server_ca3_eddsa_key_pem) - 1 },
+ .cert = { (void *)server_ca3_eddsa_cert_pem,
+ sizeof(server_ca3_eddsa_cert_pem) - 1 },
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .digest = GNUTLS_DIG_SHA512,
+ .sigalgo = GNUTLS_SIGN_EDDSA_ED25519,
+ .data_only = 1 }
};
-#endif /* GNUTLS_TESTS_COMMON_KEY_TESTS_H */
+#endif /* GNUTLS_TESTS_COMMON_KEY_TESTS_H */
diff --git a/tests/conv-utf8.c b/tests/conv-utf8.c
index bee84fea89..9edae83b16 100644
--- a/tests/conv-utf8.c
+++ b/tests/conv-utf8.c
@@ -33,11 +33,11 @@
#include <cmocka.h>
-int _gnutls_utf8_to_ucs2(const void *data, size_t size,
- gnutls_datum_t * output, unsigned be);
+int _gnutls_utf8_to_ucs2(const void *data, size_t size, gnutls_datum_t *output,
+ unsigned be);
-int _gnutls_ucs2_to_utf8(const void *data, size_t size,
- gnutls_datum_t * output, unsigned be);
+int _gnutls_ucs2_to_utf8(const void *data, size_t size, gnutls_datum_t *output,
+ unsigned be);
#define DEBUG
@@ -52,65 +52,75 @@ static void PRINT(const char *str, unsigned char *val, unsigned int size)
printf("\n");
}
#else
-# define PRINT(x, y, x)
+#define PRINT(x, y, x)
#endif
-#define UTF8_MATCH(fname, utf8, utf16) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t out; \
- int ret = _gnutls_utf8_to_ucs2(utf8, strlen(utf8), &out, 1); \
- assert_int_equal(ret, 0); \
- if (out.size != sizeof(utf16)-1 || memcmp(utf16, out.data, out.size) != 0) { PRINT("got: ", out.data, out.size); \
- PRINT("expected: ", (unsigned char*)utf16, sizeof(utf16)-1); } \
- assert_int_equal(out.size, sizeof(utf16)-1); \
- assert_memory_equal(utf16, out.data, out.size); \
- gnutls_free(out.data); \
-}
+#define UTF8_MATCH(fname, utf8, utf16) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t out; \
+ int ret = _gnutls_utf8_to_ucs2(utf8, strlen(utf8), &out, 1); \
+ assert_int_equal(ret, 0); \
+ if (out.size != sizeof(utf16) - 1 || \
+ memcmp(utf16, out.data, out.size) != 0) { \
+ PRINT("got: ", out.data, out.size); \
+ PRINT("expected: ", (unsigned char *)utf16, \
+ sizeof(utf16) - 1); \
+ } \
+ assert_int_equal(out.size, sizeof(utf16) - 1); \
+ assert_memory_equal(utf16, out.data, out.size); \
+ gnutls_free(out.data); \
+ }
-#define UTF16_MATCH(fname, utf8, utf16) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t out; \
- int ret = _gnutls_ucs2_to_utf8(utf16, sizeof(utf16)-1, &out, 1); \
- assert_int_equal(ret, 0); \
- if (out.size != strlen(utf8) || memcmp(utf8, out.data, out.size) != 0) { PRINT("got: ", out.data, out.size); \
- PRINT("expected: ", (unsigned char*)utf8, strlen(utf8)); } \
- assert_int_equal(out.size, strlen(utf8)); \
- assert_memory_equal(utf8, out.data, out.size); \
- gnutls_free(out.data); \
-}
+#define UTF16_MATCH(fname, utf8, utf16) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t out; \
+ int ret = _gnutls_ucs2_to_utf8(utf16, sizeof(utf16) - 1, &out, \
+ 1); \
+ assert_int_equal(ret, 0); \
+ if (out.size != strlen(utf8) || \
+ memcmp(utf8, out.data, out.size) != 0) { \
+ PRINT("got: ", out.data, out.size); \
+ PRINT("expected: ", (unsigned char *)utf8, \
+ strlen(utf8)); \
+ } \
+ assert_int_equal(out.size, strlen(utf8)); \
+ assert_memory_equal(utf8, out.data, out.size); \
+ gnutls_free(out.data); \
+ }
-#define UTF8_FAIL(fname, utf8, utf8_size) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t out; \
- int ret = _gnutls_utf8_to_ucs2(utf8, utf8_size, &out, 1); \
- assert_int_not_equal(ret, 0); \
-}
+#define UTF8_FAIL(fname, utf8, utf8_size) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t out; \
+ int ret = _gnutls_utf8_to_ucs2(utf8, utf8_size, &out, 1); \
+ assert_int_not_equal(ret, 0); \
+ }
-#define UTF16_FAIL(fname, utf16, utf16_size) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t out; \
- int ret = _gnutls_ucs2_to_utf8(utf16, utf16_size, &out, 1); \
- assert_int_not_equal(ret, 0); \
-}
+#define UTF16_FAIL(fname, utf16, utf16_size) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t out; \
+ int ret = _gnutls_ucs2_to_utf8(utf16, utf16_size, &out, 1); \
+ assert_int_not_equal(ret, 0); \
+ }
UTF8_MATCH(check_utf8_ok1, "abcd", "\x00\x61\x00\x62\x00\x63\x00\x64");
UTF8_MATCH(check_utf8_ok2, "ユーザー別サイト",
"\x30\xE6\x30\xFC\x30\xB6\x30\xFC\x52\x25\x30\xB5\x30\xA4\x30\xC8");
UTF8_MATCH(check_utf8_ok3, "简体中文", "\x7B\x80\x4F\x53\x4E\x2D\x65\x87");
-UTF8_MATCH(check_utf8_ok4, "Σὲ γνωρίζω ἀπὸ",
- "\x03\xA3\x1F\x72\x00\x20\x03\xB3\x03\xBD\x03\xC9\x03\xC1\x03\xAF\x03\xB6\x03\xC9\x00\x20\x1F\x00\x03\xC0\x1F\x78");
+UTF8_MATCH(
+ check_utf8_ok4, "Σὲ γνωρίζω ἀπὸ",
+ "\x03\xA3\x1F\x72\x00\x20\x03\xB3\x03\xBD\x03\xC9\x03\xC1\x03\xAF\x03\xB6\x03\xC9\x00\x20\x1F\x00\x03\xC0\x1F\x78");
UTF16_MATCH(check_utf16_ok1, "abcd", "\x00\x61\x00\x62\x00\x63\x00\x64");
UTF16_MATCH(check_utf16_ok2, "ユーザー別サイト",
"\x30\xE6\x30\xFC\x30\xB6\x30\xFC\x52\x25\x30\xB5\x30\xA4\x30\xC8");
-UTF16_MATCH(check_utf16_ok3, "简体中文",
- "\x7B\x80\x4F\x53\x4E\x2D\x65\x87");
-UTF16_MATCH(check_utf16_ok4, "Σὲ γνωρίζω ἀπὸ",
- "\x03\xA3\x1F\x72\x00\x20\x03\xB3\x03\xBD\x03\xC9\x03\xC1\x03\xAF\x03\xB6\x03\xC9\x00\x20\x1F\x00\x03\xC0\x1F\x78");
+UTF16_MATCH(check_utf16_ok3, "简体中文", "\x7B\x80\x4F\x53\x4E\x2D\x65\x87");
+UTF16_MATCH(
+ check_utf16_ok4, "Σὲ γνωρίζω ἀπὸ",
+ "\x03\xA3\x1F\x72\x00\x20\x03\xB3\x03\xBD\x03\xC9\x03\xC1\x03\xAF\x03\xB6\x03\xC9\x00\x20\x1F\x00\x03\xC0\x1F\x78");
UTF8_FAIL(check_utf8_fail1, "\xfe\xff\xaa\x80\xff", 5);
UTF8_FAIL(check_utf8_fail2, "\x64\x00\x62\xf3\x64\x65", 6);
@@ -118,18 +128,16 @@ UTF16_FAIL(check_utf16_fail1, "\xd8\x00\xdb\xff\x00\x63\x00\x04", 8);
int main(void)
{
- const struct CMUnitTest tests[] = {
- cmocka_unit_test(check_utf8_fail1),
- cmocka_unit_test(check_utf8_fail2),
- cmocka_unit_test(check_utf16_fail1),
- cmocka_unit_test(check_utf8_ok1),
- cmocka_unit_test(check_utf8_ok2),
- cmocka_unit_test(check_utf8_ok3),
- cmocka_unit_test(check_utf8_ok4),
- cmocka_unit_test(check_utf16_ok1),
- cmocka_unit_test(check_utf16_ok2),
- cmocka_unit_test(check_utf16_ok3),
- cmocka_unit_test(check_utf16_ok4)
- };
+ const struct CMUnitTest tests[] = { cmocka_unit_test(check_utf8_fail1),
+ cmocka_unit_test(check_utf8_fail2),
+ cmocka_unit_test(check_utf16_fail1),
+ cmocka_unit_test(check_utf8_ok1),
+ cmocka_unit_test(check_utf8_ok2),
+ cmocka_unit_test(check_utf8_ok3),
+ cmocka_unit_test(check_utf8_ok4),
+ cmocka_unit_test(check_utf16_ok1),
+ cmocka_unit_test(check_utf16_ok2),
+ cmocka_unit_test(check_utf16_ok3),
+ cmocka_unit_test(check_utf16_ok4) };
return cmocka_run_group_tests(tests, NULL, NULL);
}
diff --git a/tests/crl-basic.c b/tests/crl-basic.c
index 1369dbebdb..3002411d83 100644
--- a/tests/crl-basic.c
+++ b/tests/crl-basic.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,51 +33,54 @@
#include "utils.h"
static const char simple1[] =
-/* CRL */
- "-----BEGIN X509 CRL-----\n"
- "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
- "MDkxMzA5MDUyM1oYDzIwMTUwOTEzMDkwNTIzWjAAoDowODAfBgNVHSMEGDAWgBTx\n"
- "Fcb1FYLbhH9yuqg4wlVJUZnYKTAVBgNVHRQEDgIMVBQI0zeJoFHkLaWNMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBAQB6SGYePy1MBmtELyWdnlJHlQ4bBgb4vjuLDSfH0X6b4dAS\n"
- "MEZws8iA5SaJFIioIP41s3lfQ1Am7GjSoNccHdrLmEcUSTQLwLYaDL8SgxekP5Au\n"
- "w8HTu1cz/mnjBBDURq1RvyGNFm6MXf1Rg/bHSea/EpDkn8KY152BT1/46iQ+Uho6\n"
- "hz6UUWsTB4Lj25X8F2hlKwQcb3E63Or2XEPBw4rhaCDFAtSZeBaGUUSJ8CLUKXZf\n"
- "5b45MjiZ/osgd81tfn3wdQVjDnaQwNtjeRbK+qU0Z4pIKBvHzRS/fZKwTnrK1DLI\n"
- "yY/nqBJT/+Q5zdUx5FXp0bwyZuarJ1GHqcES3Rz1\n" "-----END X509 CRL-----\n";
+ /* CRL */
+ "-----BEGIN X509 CRL-----\n"
+ "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
+ "MDkxMzA5MDUyM1oYDzIwMTUwOTEzMDkwNTIzWjAAoDowODAfBgNVHSMEGDAWgBTx\n"
+ "Fcb1FYLbhH9yuqg4wlVJUZnYKTAVBgNVHRQEDgIMVBQI0zeJoFHkLaWNMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBAQB6SGYePy1MBmtELyWdnlJHlQ4bBgb4vjuLDSfH0X6b4dAS\n"
+ "MEZws8iA5SaJFIioIP41s3lfQ1Am7GjSoNccHdrLmEcUSTQLwLYaDL8SgxekP5Au\n"
+ "w8HTu1cz/mnjBBDURq1RvyGNFm6MXf1Rg/bHSea/EpDkn8KY152BT1/46iQ+Uho6\n"
+ "hz6UUWsTB4Lj25X8F2hlKwQcb3E63Or2XEPBw4rhaCDFAtSZeBaGUUSJ8CLUKXZf\n"
+ "5b45MjiZ/osgd81tfn3wdQVjDnaQwNtjeRbK+qU0Z4pIKBvHzRS/fZKwTnrK1DLI\n"
+ "yY/nqBJT/+Q5zdUx5FXp0bwyZuarJ1GHqcES3Rz1\n"
+ "-----END X509 CRL-----\n";
static const char simple1_constraints[] =
-/* CRL */
- "-----BEGIN X509 CRL-----\n"
- "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
- "MDkxMzA4NTkxNloYDzIwMTUwOTEzMDg1OTE2WjAAoDowODAfBgNVHSMEGDAWgBTn\n"
- "sISO6h9leKTKtOh/HG0jV03AMzAVBgNVHRQEDgIMVBQHZC2mj6EAgMPSMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBAQBHUgtxpOn8EHwlajVYoOh6DFCwIoxBIeUA4518W1cHoV7J\n"
- "KMif6lmJRodrcbienDX781QcOaQcNnuu/oBEcoBdbZa0VICzXekIteSwEgGsbRve\n"
- "QQFPnZn83I4btse1ly5fdxMsliSM+qRwIyNR18VHXZz9GWYrr4tYWnI2b9XrDnaC\n"
- "1b3Ywt7I9pNi0/O0C0rE/37/VvPx6HghnC+un7LtT0Y0n+FQP7dhlMvzHaR8wVxs\n"
- "WAzaNvSiJ1rVPzL21iCmQJsRQeDTSJBlzm0lWiU8Nys3ugM2KlERezfp8DkFGA3y\n"
- "9Yzpq6gAi39ZK+LjopgGDkrQjxzBIaoe2bcDqB7X\n" "-----END X509 CRL-----\n";
+ /* CRL */
+ "-----BEGIN X509 CRL-----\n"
+ "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
+ "MDkxMzA4NTkxNloYDzIwMTUwOTEzMDg1OTE2WjAAoDowODAfBgNVHSMEGDAWgBTn\n"
+ "sISO6h9leKTKtOh/HG0jV03AMzAVBgNVHRQEDgIMVBQHZC2mj6EAgMPSMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBAQBHUgtxpOn8EHwlajVYoOh6DFCwIoxBIeUA4518W1cHoV7J\n"
+ "KMif6lmJRodrcbienDX781QcOaQcNnuu/oBEcoBdbZa0VICzXekIteSwEgGsbRve\n"
+ "QQFPnZn83I4btse1ly5fdxMsliSM+qRwIyNR18VHXZz9GWYrr4tYWnI2b9XrDnaC\n"
+ "1b3Ywt7I9pNi0/O0C0rE/37/VvPx6HghnC+un7LtT0Y0n+FQP7dhlMvzHaR8wVxs\n"
+ "WAzaNvSiJ1rVPzL21iCmQJsRQeDTSJBlzm0lWiU8Nys3ugM2KlERezfp8DkFGA3y\n"
+ "9Yzpq6gAi39ZK+LjopgGDkrQjxzBIaoe2bcDqB7X\n"
+ "-----END X509 CRL-----\n";
static const char crl_dsa[] =
- "-----BEGIN X509 CRL-----\n"
- "MIGmMGUwCwYHKoZIzjgEAwUAMDgxCzAJBgNVBAYTAnVzMQwwCgYDVQQKEwNzdW4x\n"
- "DDAKBgNVBAsTA2plczENMAsGA1UEAxMEZ3JlZxcNMDUwNTE3MTk1OTQwWhcNMDYw\n"
- "NTE3MTk1OTQwWjALBgcqhkjOOAQDBQADMAAwLQIUBBFLGYjUCVrRTGf3GTR6SGs/\n"
- "accCFQCUhnSmr+CXCWKq8DtydVwH9FLsRA==\n" "-----END X509 CRL-----\n";
+ "-----BEGIN X509 CRL-----\n"
+ "MIGmMGUwCwYHKoZIzjgEAwUAMDgxCzAJBgNVBAYTAnVzMQwwCgYDVQQKEwNzdW4x\n"
+ "DDAKBgNVBAsTA2plczENMAsGA1UEAxMEZ3JlZxcNMDUwNTE3MTk1OTQwWhcNMDYw\n"
+ "NTE3MTk1OTQwWjALBgcqhkjOOAQDBQADMAAwLQIUBBFLGYjUCVrRTGf3GTR6SGs/\n"
+ "accCFQCUhnSmr+CXCWKq8DtydVwH9FLsRA==\n"
+ "-----END X509 CRL-----\n";
static const char crl_rsa_sha1[] =
- "-----BEGIN X509 CRL-----\n"
- "MIIB2zCBxAIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJOTjExMC8GA1UE\n"
- "CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDElMCMG\n"
- "A1UEAwwcTm90aGVybiBOb3doZXJlIFRydXN0IEFuY2hvchcNMTAwNTI3MjEzNzEx\n"
- "WhcNMTAwNjI2MjEzNzExWjAZMBcCBguYlPl8ahcNMTAwNTI3MjEzNzExWqAOMAww\n"
- "CgYDVR0UBAMCAQEwDQYJKoZIhvcNAQEFBQADggEBAFuPZJ/cNNCeAzkSxVvPPPRX\n"
- "Wsv9T6Dt61C5Fmq9eSNN2kRf7/dq5A5nqTIlHbXXiLdj3UqNhUHXe2oA1UpbdHz9\n"
- "0JlfwWm1Y/gMr1fh1n0oFebEtCuOgDRpd07Uiz8AqOUBykDNDUlMvVwR9raHL8hj\n"
- "NRwzugsfIxl0CvLLqrBpUWMxW3qemk4cWW39yrDdZgKo6eOZAOR3FQYlLIrw6Jcr\n"
- "Kmm0PjdcJIfRgJvNysgyx1dIIKe7QXvFTR/QzdHWIWTkiYIW7wUKSzSICvDCr094\n"
- "eo3nr3n9BtOqT61Z1m6FGCP6Mm0wFl6xLTCNd6ygfFo7pcAdWlUsdBgKzics0Kc=\n"
- "-----END X509 CRL-----\n";
+ "-----BEGIN X509 CRL-----\n"
+ "MIIB2zCBxAIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJOTjExMC8GA1UE\n"
+ "CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDElMCMG\n"
+ "A1UEAwwcTm90aGVybiBOb3doZXJlIFRydXN0IEFuY2hvchcNMTAwNTI3MjEzNzEx\n"
+ "WhcNMTAwNjI2MjEzNzExWjAZMBcCBguYlPl8ahcNMTAwNTI3MjEzNzExWqAOMAww\n"
+ "CgYDVR0UBAMCAQEwDQYJKoZIhvcNAQEFBQADggEBAFuPZJ/cNNCeAzkSxVvPPPRX\n"
+ "Wsv9T6Dt61C5Fmq9eSNN2kRf7/dq5A5nqTIlHbXXiLdj3UqNhUHXe2oA1UpbdHz9\n"
+ "0JlfwWm1Y/gMr1fh1n0oFebEtCuOgDRpd07Uiz8AqOUBykDNDUlMvVwR9raHL8hj\n"
+ "NRwzugsfIxl0CvLLqrBpUWMxW3qemk4cWW39yrDdZgKo6eOZAOR3FQYlLIrw6Jcr\n"
+ "Kmm0PjdcJIfRgJvNysgyx1dIIKe7QXvFTR/QzdHWIWTkiYIW7wUKSzSICvDCr094\n"
+ "eo3nr3n9BtOqT61Z1m6FGCP6Mm0wFl6xLTCNd6ygfFo7pcAdWlUsdBgKzics0Kc=\n"
+ "-----END X509 CRL-----\n";
static struct {
const char *name;
@@ -91,40 +94,38 @@ static struct {
time_t crt_revoke_time;
size_t crt_serial_size;
const char *crt_serial;
-} crl_list[] = {
- {.name = "crl-sha256-1",
- .crl = simple1,
- .sign_algo = GNUTLS_SIGN_RSA_SHA256,
- .sign_oid = "1.2.840.113549.1.1.11",
- .crt_count = 0,
- .this_update = 1410599123,
- .next_update = 1442135123},
- {.name = "crl-sha256-2",
- .crl = simple1_constraints,
- .sign_algo = GNUTLS_SIGN_RSA_SHA256,
- .sign_oid = "1.2.840.113549.1.1.11",
- .crt_count = 0,
- .this_update = 1410598756,
- .next_update = 1442134756},
- {.name = "crl-dsa",
- .crl = crl_dsa,
- .sign_algo = GNUTLS_SIGN_DSA_SHA1,
- .sign_oid = "1.2.840.10040.4.3",
- .crt_count = 0,
- .this_update = 1116359980,
- .next_update = 1147895980},
- {.name = "crl-rsa-sha1",
- .crl = crl_rsa_sha1,
- .sign_algo = GNUTLS_SIGN_RSA_SHA1,
- .sign_oid = "1.2.840.113549.1.1.5",
- .crt_count = 1,
- .this_update = 1274996231,
- .next_update = 1277588231,
- .crt_revoke_time = 1274996231,
- .crt_serial = "\x0b\x98\x94\xf9\x7c\x6a",
- .crt_serial_size = 6},
- {NULL, NULL, 0, 0}
-};
+} crl_list[] = { { .name = "crl-sha256-1",
+ .crl = simple1,
+ .sign_algo = GNUTLS_SIGN_RSA_SHA256,
+ .sign_oid = "1.2.840.113549.1.1.11",
+ .crt_count = 0,
+ .this_update = 1410599123,
+ .next_update = 1442135123 },
+ { .name = "crl-sha256-2",
+ .crl = simple1_constraints,
+ .sign_algo = GNUTLS_SIGN_RSA_SHA256,
+ .sign_oid = "1.2.840.113549.1.1.11",
+ .crt_count = 0,
+ .this_update = 1410598756,
+ .next_update = 1442134756 },
+ { .name = "crl-dsa",
+ .crl = crl_dsa,
+ .sign_algo = GNUTLS_SIGN_DSA_SHA1,
+ .sign_oid = "1.2.840.10040.4.3",
+ .crt_count = 0,
+ .this_update = 1116359980,
+ .next_update = 1147895980 },
+ { .name = "crl-rsa-sha1",
+ .crl = crl_rsa_sha1,
+ .sign_algo = GNUTLS_SIGN_RSA_SHA1,
+ .sign_oid = "1.2.840.113549.1.1.5",
+ .crt_count = 1,
+ .this_update = 1274996231,
+ .next_update = 1277588231,
+ .crt_revoke_time = 1274996231,
+ .crt_serial = "\x0b\x98\x94\xf9\x7c\x6a",
+ .crt_serial_size = 6 },
+ { NULL, NULL, 0, 0 } };
static void tls_log_func(int level, const char *str)
{
@@ -152,7 +153,6 @@ void doit(void)
gnutls_global_set_log_level(4711);
for (i = 0; crl_list[i].name; i++) {
-
if (debug)
printf("Chain '%s' (%d)...\n", crl_list[i].name,
(int)i);
@@ -162,8 +162,7 @@ void doit(void)
ret = gnutls_x509_crl_init(&crl);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crl_init[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crl_init[%d]: %s\n",
(int)i, gnutls_strerror(ret));
exit(1);
}
@@ -175,8 +174,7 @@ void doit(void)
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crl_import[%s]: %s\n",
+ fprintf(stderr, "gnutls_x509_crl_import[%s]: %s\n",
crl_list[i].name, gnutls_strerror(ret));
exit(1);
}
@@ -188,19 +186,22 @@ void doit(void)
ret = gnutls_x509_crl_get_signature_algorithm(crl);
if (ret != (int)crl_list[i].sign_algo) {
- fail("%s: error extracting signature algorithm: %d/%s\n", crl_list[i].name, ret, gnutls_strerror(ret));
+ fail("%s: error extracting signature algorithm: %d/%s\n",
+ crl_list[i].name, ret, gnutls_strerror(ret));
exit(1);
}
oid_size = sizeof(oid);
ret = gnutls_x509_crl_get_signature_oid(crl, oid, &oid_size);
if (ret < 0) {
- fail("%s: error extracting signature algorithm OID: %s\n", crl_list[i].name, gnutls_strerror(ret));
+ fail("%s: error extracting signature algorithm OID: %s\n",
+ crl_list[i].name, gnutls_strerror(ret));
exit(1);
}
if (strcmp(oid, crl_list[i].sign_oid) != 0) {
- fail("%s: error on the extracted signature algorithm: %s\n", crl_list[i].name, oid);
+ fail("%s: error on the extracted signature algorithm: %s\n",
+ crl_list[i].name, oid);
exit(1);
}
@@ -216,20 +217,20 @@ void doit(void)
size_t ssize = sizeof(serial);
time_t t = 0;
- ret =
- gnutls_x509_crl_get_crt_serial(crl, 0, serial,
- &ssize, &t);
+ ret = gnutls_x509_crl_get_crt_serial(crl, 0, serial,
+ &ssize, &t);
if (ret < 0) {
fail("%s: error on the extracted serial: %d\n",
crl_list[i].name, ret);
}
if (t != crl_list[i].crt_revoke_time)
- fail("%s: error on the extracted revocation time: %u\n", crl_list[i].name, (unsigned)t);
+ fail("%s: error on the extracted revocation time: %u\n",
+ crl_list[i].name, (unsigned)t);
- if (ssize != crl_list[i].crt_serial_size
- || memcmp(serial, crl_list[i].crt_serial,
- ssize) != 0) {
+ if (ssize != crl_list[i].crt_serial_size ||
+ memcmp(serial, crl_list[i].crt_serial, ssize) !=
+ 0) {
for (i = 0; i < ssize; i++)
fprintf(stderr, "%.2x",
(unsigned)serial[i]);
diff --git a/tests/crl_apis.c b/tests/crl_apis.c
index 2189dddfb2..c8d1a18f86 100644
--- a/tests/crl_apis.c
+++ b/tests/crl_apis.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -36,7 +36,7 @@
static time_t then = 1207000800;
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
if (t)
*t = then;
@@ -45,43 +45,44 @@ static time_t mytime(time_t * t)
}
static unsigned char saved_crl_pem[] =
- "-----BEGIN X509 CRL-----\n"
- "MIICXzCByAIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0zFw0wODAz\n"
- "MzEyMjAwMDBaFw0wODAzMzEyMjAyMDBaMFQwFAIDAQIDFw0wODAzMzEyMjAwMDBa\n"
- "MB0CDFejHTI2Wi75obBaUhcNMDgwMzMxMjIwMDAwWjAdAgxXox0yNbNP0Ln15zwX\n"
- "DTA4MDMzMTIyMDAwMFqgLzAtMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
- "8bSvMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBgQAFpyifa5AJclRpJfjh\n"
- "QOcSoiCJz5QsrGaK5I/UYHcY958hhFjnE2c9g3wYEEt13M2gkgOTXapImPbLXHv+\n"
- "cHWGoTqX6+crs7xcC6mFc6JfY7q9O2eP1x386dzCxhsXMti5ml0iOeBpNrMO46Pr\n"
- "PuvNaY7OE1UgN0Ha3YjmhP8HtWJSQCMmqIo6vP1/HBSzaXP/cjS7f0WBZemj0eE7\n"
- "wwA1GUoUx9wHipvNkCSKy/eQz4fpOJExrvHeb1/N3po9hfZaZJAqR+rsC0j9J+wd\n"
- "ZGAdVFKCJUZs0IgsWQqagg0tXGJ8ejdt4yE8zvhhcpf4pcGoYUqtoUPT+Fjnsw7C\n"
- "P1GCVZQ2ciGxixljTJFdifhqPshgC1Ytd75MkDYH2RRir/JwypQK9CcqIAOjBzTl\n"
- "uk4SkKL2xAIduw6Dz5kAC7G2EM94uODoI/RO5b6eN6Kb/592JrKAfB96jh2wwqW+\n"
- "swaA4JPFqNQaiMWW1IXM3VJwXBt8DRSRo46JV5OktvvFRwI=\n"
- "-----END X509 CRL-----\n";
+ "-----BEGIN X509 CRL-----\n"
+ "MIICXzCByAIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0zFw0wODAz\n"
+ "MzEyMjAwMDBaFw0wODAzMzEyMjAyMDBaMFQwFAIDAQIDFw0wODAzMzEyMjAwMDBa\n"
+ "MB0CDFejHTI2Wi75obBaUhcNMDgwMzMxMjIwMDAwWjAdAgxXox0yNbNP0Ln15zwX\n"
+ "DTA4MDMzMTIyMDAwMFqgLzAtMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv\n"
+ "8bSvMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBgQAFpyifa5AJclRpJfjh\n"
+ "QOcSoiCJz5QsrGaK5I/UYHcY958hhFjnE2c9g3wYEEt13M2gkgOTXapImPbLXHv+\n"
+ "cHWGoTqX6+crs7xcC6mFc6JfY7q9O2eP1x386dzCxhsXMti5ml0iOeBpNrMO46Pr\n"
+ "PuvNaY7OE1UgN0Ha3YjmhP8HtWJSQCMmqIo6vP1/HBSzaXP/cjS7f0WBZemj0eE7\n"
+ "wwA1GUoUx9wHipvNkCSKy/eQz4fpOJExrvHeb1/N3po9hfZaZJAqR+rsC0j9J+wd\n"
+ "ZGAdVFKCJUZs0IgsWQqagg0tXGJ8ejdt4yE8zvhhcpf4pcGoYUqtoUPT+Fjnsw7C\n"
+ "P1GCVZQ2ciGxixljTJFdifhqPshgC1Ytd75MkDYH2RRir/JwypQK9CcqIAOjBzTl\n"
+ "uk4SkKL2xAIduw6Dz5kAC7G2EM94uODoI/RO5b6eN6Kb/592JrKAfB96jh2wwqW+\n"
+ "swaA4JPFqNQaiMWW1IXM3VJwXBt8DRSRo46JV5OktvvFRwI=\n"
+ "-----END X509 CRL-----\n";
static unsigned char saved_min_crl_pem[] =
- "-----BEGIN X509 CRL-----\n"
- "MIICUDCBuQIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0zFw0wODAz\n"
- "MzEyMjAwMTBaMFQwFAIDAQIDFw0wODAzMzEyMjAwMTBaMB0CDFejHTI2Wi75obBa\n"
- "UhcNMDgwMzMxMjIwMDEwWjAdAgxXox0yNbNP0Ln15zwXDTA4MDMzMTIyMDAxMFqg\n"
- "LzAtMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMAoGA1UdFAQDAgEB\n"
- "MA0GCSqGSIb3DQEBCwUAA4IBgQB/Y7MxKf7HpYBoi7N5lNCe7nSd0epQiNPOford\n"
- "hGb1ZirZk9m67zg146Cwc0W4ipPzW/OjwgUoVQTm21I7oZj/GPItAABlILd6eRQe\n"
- "jYJap0fxiXV7aMRfu2o3qCRGAITQf306H5zJmpdeNxbxzlr3t6IAHBDbLI1WYXiC\n"
- "pTHo3wlpwFJEPw5NQ0j6rCAzSH81FHTrEiIOar17uRqeMjbGN6Eo4zjezEx2+ewg\n"
- "unsdzx4OWx3KgzsQnyV9EoU6l9jREe519mICx7La6DZkhO4dSPJv6R5jEFitWDNB\n"
- "lxZMA5ePrYXuE/3b+Li89R53O+xZxShLQYwBRSHDue44xUv6hh6YNIKDgt4ycIs8\n"
- "9JAWsOYJDYUEbAUo+S4sWCU6LzloEvmg7EdJtvJWsScUKK4qbwkDfkBTKjbeBdFj\n"
- "w6naZIjzbjMPEe8/T+hmu/txFj3fGj/GzOM1GaJNZ4vMWA4Y6LhB+H1Zf3xK+hV0\n"
- "sc0eYw7RpIzEyc9PPz/uM+XabsI=\n" "-----END X509 CRL-----\n";
+ "-----BEGIN X509 CRL-----\n"
+ "MIICUDCBuQIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0zFw0wODAz\n"
+ "MzEyMjAwMTBaMFQwFAIDAQIDFw0wODAzMzEyMjAwMTBaMB0CDFejHTI2Wi75obBa\n"
+ "UhcNMDgwMzMxMjIwMDEwWjAdAgxXox0yNbNP0Ln15zwXDTA4MDMzMTIyMDAxMFqg\n"
+ "LzAtMB8GA1UdIwQYMBaAFPmohhljtqQUE2B2DwGaNTbv8bSvMAoGA1UdFAQDAgEB\n"
+ "MA0GCSqGSIb3DQEBCwUAA4IBgQB/Y7MxKf7HpYBoi7N5lNCe7nSd0epQiNPOford\n"
+ "hGb1ZirZk9m67zg146Cwc0W4ipPzW/OjwgUoVQTm21I7oZj/GPItAABlILd6eRQe\n"
+ "jYJap0fxiXV7aMRfu2o3qCRGAITQf306H5zJmpdeNxbxzlr3t6IAHBDbLI1WYXiC\n"
+ "pTHo3wlpwFJEPw5NQ0j6rCAzSH81FHTrEiIOar17uRqeMjbGN6Eo4zjezEx2+ewg\n"
+ "unsdzx4OWx3KgzsQnyV9EoU6l9jREe519mICx7La6DZkhO4dSPJv6R5jEFitWDNB\n"
+ "lxZMA5ePrYXuE/3b+Li89R53O+xZxShLQYwBRSHDue44xUv6hh6YNIKDgt4ycIs8\n"
+ "9JAWsOYJDYUEbAUo+S4sWCU6LzloEvmg7EdJtvJWsScUKK4qbwkDfkBTKjbeBdFj\n"
+ "w6naZIjzbjMPEe8/T+hmu/txFj3fGj/GzOM1GaJNZ4vMWA4Y6LhB+H1Zf3xK+hV0\n"
+ "sc0eYw7RpIzEyc9PPz/uM+XabsI=\n"
+ "-----END X509 CRL-----\n";
const gnutls_datum_t saved_crl = { saved_crl_pem, sizeof(saved_crl_pem) - 1 };
-const gnutls_datum_t saved_min_crl =
- { saved_min_crl_pem, sizeof(saved_min_crl_pem) - 1 };
+const gnutls_datum_t saved_min_crl = { saved_min_crl_pem,
+ sizeof(saved_min_crl_pem) - 1 };
-static void append_crt(gnutls_x509_crl_t crl, const gnutls_datum_t * pem)
+static void append_crt(gnutls_x509_crl_t crl, const gnutls_datum_t *pem)
{
gnutls_x509_crt_t crt;
int ret;
@@ -95,7 +96,7 @@ static void append_crt(gnutls_x509_crl_t crl, const gnutls_datum_t * pem)
gnutls_x509_crt_deinit(crt);
}
-static void append_aki(gnutls_x509_crl_t crl, const gnutls_datum_t * pem)
+static void append_aki(gnutls_x509_crl_t crl, const gnutls_datum_t *pem)
{
gnutls_x509_crt_t crt;
int ret;
@@ -140,8 +141,8 @@ static void verify_crl(gnutls_x509_crl_t _crl, gnutls_x509_crt_t crt)
gnutls_x509_crl_deinit(crl);
}
-static void sign_crl(gnutls_x509_crl_t crl, const gnutls_datum_t * cert,
- const gnutls_datum_t * key)
+static void sign_crl(gnutls_x509_crl_t crl, const gnutls_datum_t *cert,
+ const gnutls_datum_t *key)
{
gnutls_x509_crt_t crt;
gnutls_x509_privkey_t pkey;
@@ -201,8 +202,8 @@ static gnutls_x509_crl_t generate_crl(unsigned skip_optional)
ret = gnutls_x509_crl_set_number(crl, "\x01", 1);
if (ret != 0)
- fail("gnutls_x509_crl_set_number %d: %s\n",
- ret, gnutls_strerror(ret));
+ fail("gnutls_x509_crl_set_number %d: %s\n", ret,
+ gnutls_strerror(ret));
sign_crl(crl, &ca3_cert, &ca3_key);
@@ -210,7 +211,7 @@ static gnutls_x509_crl_t generate_crl(unsigned skip_optional)
}
static void verify_issuer(gnutls_x509_crl_t crl,
- const gnutls_datum_t * issuer_cert)
+ const gnutls_datum_t *issuer_cert)
{
#define DN_MAX_LEN (1024)
gnutls_x509_crt_t crt;
@@ -226,32 +227,33 @@ static void verify_issuer(gnutls_x509_crl_t crl,
char *crl_issuer = gnutls_calloc(DN_MAX_LEN, sizeof(char));
assert(crl_issuer != NULL);
size_t crl_issuer_size = DN_MAX_LEN;
- assert(gnutls_x509_crl_get_issuer_dn(crl, crl_issuer, &crl_issuer_size)
- == GNUTLS_E_SUCCESS);
- assert(crl_issuer_size == issuer_size
- && memcmp(crl_issuer, issuer, issuer_size) == 0);
+ assert(gnutls_x509_crl_get_issuer_dn(
+ crl, crl_issuer, &crl_issuer_size) == GNUTLS_E_SUCCESS);
+ assert(crl_issuer_size == issuer_size &&
+ memcmp(crl_issuer, issuer, issuer_size) == 0);
gnutls_datum_t dn;
dn.data = NULL;
dn.size = 0;
assert(gnutls_x509_crl_get_issuer_dn2(crl, &dn) == GNUTLS_E_SUCCESS);
- assert(dn.size == issuer_size
- && memcmp(dn.data, issuer, issuer_size) == 0);
+ assert(dn.size == issuer_size &&
+ memcmp(dn.data, issuer, issuer_size) == 0);
gnutls_free(dn.data);
dn.data = NULL;
dn.size = 0;
assert(gnutls_x509_crl_get_issuer_dn3(crl, &dn, 0) == GNUTLS_E_SUCCESS);
- assert(dn.size == issuer_size
- && memcmp(dn.data, issuer, issuer_size) == 0);
+ assert(dn.size == issuer_size &&
+ memcmp(dn.data, issuer, issuer_size) == 0);
gnutls_free(dn.data);
dn.data = NULL;
dn.size = 0;
- assert(gnutls_x509_crl_get_issuer_dn3
- (crl, &dn, GNUTLS_X509_DN_FLAG_COMPAT) == GNUTLS_E_SUCCESS);
- assert(dn.size == issuer_size
- && memcmp(dn.data, issuer, issuer_size) == 0);
+ assert(gnutls_x509_crl_get_issuer_dn3(crl, &dn,
+ GNUTLS_X509_DN_FLAG_COMPAT) ==
+ GNUTLS_E_SUCCESS);
+ assert(dn.size == issuer_size &&
+ memcmp(dn.data, issuer, issuer_size) == 0);
gnutls_free(dn.data);
dn.data = NULL;
dn.size = 0;
@@ -262,7 +264,7 @@ static void verify_issuer(gnutls_x509_crl_t crl,
}
static void get_dn_by_oid(gnutls_x509_crl_t crl,
- const gnutls_datum_t * issuer_cert)
+ const gnutls_datum_t *issuer_cert)
{
gnutls_x509_crt_t crt;
assert(gnutls_x509_crt_init(&crt) >= 0);
@@ -279,8 +281,8 @@ static void get_dn_by_oid(gnutls_x509_crl_t crl,
gnutls_x509_crl_get_issuer_dn_by_oid(crl, "2.5.4.3", 0, 0, crl_buf,
&crl_buf_size);
- assert(crt_buf_size == crl_buf_size
- && memcmp(crt_buf, crl_buf, crl_buf_size) == 0);
+ assert(crt_buf_size == crl_buf_size &&
+ memcmp(crt_buf, crl_buf, crl_buf_size) == 0);
gnutls_free(crt_buf);
gnutls_free(crl_buf);
@@ -294,8 +296,8 @@ static void import_der_crl_list(gnutls_x509_crl_t crl)
gnutls_x509_crl_t crl_list;
unsigned int crl_list_max = 1;
- assert(gnutls_x509_crl_list_import
- (&crl_list, &crl_list_max, &out, GNUTLS_X509_FMT_DER, 0) > 0);
+ assert(gnutls_x509_crl_list_import(&crl_list, &crl_list_max, &out,
+ GNUTLS_X509_FMT_DER, 0) > 0);
gnutls_free(out.data);
gnutls_x509_crl_deinit(crl_list);
@@ -341,5 +343,4 @@ void doit(void)
gnutls_free(out.data);
gnutls_x509_crl_deinit(crl);
-
}
diff --git a/tests/crlverify.c b/tests/crlverify.c
index 3583236cf6..01ad7be372 100644
--- a/tests/crlverify.c
+++ b/tests/crlverify.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,137 +33,140 @@
#include "utils.h"
static const char *simple1[] = {
-/* CRL */
+ /* CRL */
"-----BEGIN X509 CRL-----\n"
- "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
- "MDkxMzA5MDUyM1oYDzIwMTUwOTEzMDkwNTIzWjAAoDowODAfBgNVHSMEGDAWgBTx\n"
- "Fcb1FYLbhH9yuqg4wlVJUZnYKTAVBgNVHRQEDgIMVBQI0zeJoFHkLaWNMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBAQB6SGYePy1MBmtELyWdnlJHlQ4bBgb4vjuLDSfH0X6b4dAS\n"
- "MEZws8iA5SaJFIioIP41s3lfQ1Am7GjSoNccHdrLmEcUSTQLwLYaDL8SgxekP5Au\n"
- "w8HTu1cz/mnjBBDURq1RvyGNFm6MXf1Rg/bHSea/EpDkn8KY152BT1/46iQ+Uho6\n"
- "hz6UUWsTB4Lj25X8F2hlKwQcb3E63Or2XEPBw4rhaCDFAtSZeBaGUUSJ8CLUKXZf\n"
- "5b45MjiZ/osgd81tfn3wdQVjDnaQwNtjeRbK+qU0Z4pIKBvHzRS/fZKwTnrK1DLI\n"
- "yY/nqBJT/+Q5zdUx5FXp0bwyZuarJ1GHqcES3Rz1\n"
- "-----END X509 CRL-----\n",
-/* CA - cert_signing_key only */
+ "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
+ "MDkxMzA5MDUyM1oYDzIwMTUwOTEzMDkwNTIzWjAAoDowODAfBgNVHSMEGDAWgBTx\n"
+ "Fcb1FYLbhH9yuqg4wlVJUZnYKTAVBgNVHRQEDgIMVBQI0zeJoFHkLaWNMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBAQB6SGYePy1MBmtELyWdnlJHlQ4bBgb4vjuLDSfH0X6b4dAS\n"
+ "MEZws8iA5SaJFIioIP41s3lfQ1Am7GjSoNccHdrLmEcUSTQLwLYaDL8SgxekP5Au\n"
+ "w8HTu1cz/mnjBBDURq1RvyGNFm6MXf1Rg/bHSea/EpDkn8KY152BT1/46iQ+Uho6\n"
+ "hz6UUWsTB4Lj25X8F2hlKwQcb3E63Or2XEPBw4rhaCDFAtSZeBaGUUSJ8CLUKXZf\n"
+ "5b45MjiZ/osgd81tfn3wdQVjDnaQwNtjeRbK+qU0Z4pIKBvHzRS/fZKwTnrK1DLI\n"
+ "yY/nqBJT/+Q5zdUx5FXp0bwyZuarJ1GHqcES3Rz1\n"
+ "-----END X509 CRL-----\n",
+ /* CA - cert_signing_key only */
"-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTEzMDkwNTIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCybbzvQTOmfwlA\n"
- "+q8F/4ms42nhl5lo1lK6JCvE7jZdhqZNXE8e1eNACrU6rCxRQynDhOyAOCLQAAul\n"
- "ivNMCW+SFN0IkSYXSRM8aWIDOZT8FyWB3yJSyvi3+SMgm7OYHFW8htH8qaIv0xJf\n"
- "1h/ADBE62j9uaQIg7qSn6pVHMDHaITAbPg3y6II1iP3W28Vj/rtvK9yoZu4AThSD\n"
- "Vdjl8WT4b4VOBbmioSNCDjx2C73+HLM2eUsdumCVcjWD9gkvCKkqTbOVplGRvCzO\n"
- "sKNVGJamH9eGOjF2Az9XuYR+m7jWdIyTitLtbliyFiWwFguQ7BAPVnUS3TSKoLKL\n"
- "X9WRGDIVAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcG\n"
- "ADAdBgNVHQ4EFgQU8RXG9RWC24R/crqoOMJVSVGZ2CkwDQYJKoZIhvcNAQELBQAD\n"
- "ggEBAASDvSD6Gt9E/IANgJ2lq7cvqKHhK/S0crpBHmzouLU1YANAbva8vZ2iVsgP\n"
- "ojj5+QKosXgZM67g1u4Vr/Kt7APwYDVV9NlfE7BLSaksaQbh6J464rJ8pXONW6xP\n"
- "z6tl/Pm1RqXuxzgnUv700OFuxBnnbglz9aQk5eS7kag8bfUx8MfN5gbW34nB79fn\n"
- "5943Z8DmcDfUQZRY66v4S/NAYs7s96ABMB18u9Ct6KqGP/LKfDt2bgeTE/1b68T+\n"
- "xmYF8N+JsJ3qP4lqBHgHLUL945nEoG8yDPIiZw3pmw1SyS0ktoVASynAh3W5j//r\n"
- "d9Uk2Ojqo2tp/lJ0LCuQ3nWeM2Y=\n" "-----END CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTEzMDkwNTIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCybbzvQTOmfwlA\n"
+ "+q8F/4ms42nhl5lo1lK6JCvE7jZdhqZNXE8e1eNACrU6rCxRQynDhOyAOCLQAAul\n"
+ "ivNMCW+SFN0IkSYXSRM8aWIDOZT8FyWB3yJSyvi3+SMgm7OYHFW8htH8qaIv0xJf\n"
+ "1h/ADBE62j9uaQIg7qSn6pVHMDHaITAbPg3y6II1iP3W28Vj/rtvK9yoZu4AThSD\n"
+ "Vdjl8WT4b4VOBbmioSNCDjx2C73+HLM2eUsdumCVcjWD9gkvCKkqTbOVplGRvCzO\n"
+ "sKNVGJamH9eGOjF2Az9XuYR+m7jWdIyTitLtbliyFiWwFguQ7BAPVnUS3TSKoLKL\n"
+ "X9WRGDIVAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcG\n"
+ "ADAdBgNVHQ4EFgQU8RXG9RWC24R/crqoOMJVSVGZ2CkwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAASDvSD6Gt9E/IANgJ2lq7cvqKHhK/S0crpBHmzouLU1YANAbva8vZ2iVsgP\n"
+ "ojj5+QKosXgZM67g1u4Vr/Kt7APwYDVV9NlfE7BLSaksaQbh6J464rJ8pXONW6xP\n"
+ "z6tl/Pm1RqXuxzgnUv700OFuxBnnbglz9aQk5eS7kag8bfUx8MfN5gbW34nB79fn\n"
+ "5943Z8DmcDfUQZRY66v4S/NAYs7s96ABMB18u9Ct6KqGP/LKfDt2bgeTE/1b68T+\n"
+ "xmYF8N+JsJ3qP4lqBHgHLUL945nEoG8yDPIiZw3pmw1SyS0ktoVASynAh3W5j//r\n"
+ "d9Uk2Ojqo2tp/lJ0LCuQ3nWeM2Y=\n"
+ "-----END CERTIFICATE-----\n"
};
static const char *simple1_broken[] = {
-/* CRL with some bits flipped */
+ /* CRL with some bits flipped */
"-----BEGIN X509 CRL-----\n"
- "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
- "MDkxMzA5MDUyM1oYDzIwMTUwOTEzMDkwNTIzWjAAoDowODAfBgNVHSMEGDAWgBTx\n"
- "Fcb1FYLbhH9yuqg4wlVJUZnYKTAVBgNVHRQEDgIMVBQI0zeJoFHkLaWNMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBAQB6SGYePy1MBmtELyWdnlJHlQ4bBgb4vjuLDSfH0X6b4dAS\n"
- "MEZws8iA5SaJFIioIP41s3lfQ1Am7GjSoNccHdrLmEcUSTQLwLYaDL8SgxekP5Au\n"
- "w8HTu1cz/mnjBBDURq1RvyGNFm6MXf1Rg/bHSea/EpDkn8KY152BT1/46iQ+Uho6\n"
- "hz6UUWsTB4Lj25X8F3hlKwQcb3E63Or2XEPBw4rhaCDFAtSZeBaGUUSJ8CLUKXZf\n"
- "5b45MjiZ/osgd81tfn3wdQVjDnaQwNtjeRbK+qU0Z4pIKBvHzRS/fZKwTnrK1DLI\n"
- "yY/nqBJT/+Q5zdUx5FXp0bwyZuarJ1GHqcES3Rz1\n"
- "-----END X509 CRL-----\n",
-/* CA - cert_signing_key only */
+ "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
+ "MDkxMzA5MDUyM1oYDzIwMTUwOTEzMDkwNTIzWjAAoDowODAfBgNVHSMEGDAWgBTx\n"
+ "Fcb1FYLbhH9yuqg4wlVJUZnYKTAVBgNVHRQEDgIMVBQI0zeJoFHkLaWNMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBAQB6SGYePy1MBmtELyWdnlJHlQ4bBgb4vjuLDSfH0X6b4dAS\n"
+ "MEZws8iA5SaJFIioIP41s3lfQ1Am7GjSoNccHdrLmEcUSTQLwLYaDL8SgxekP5Au\n"
+ "w8HTu1cz/mnjBBDURq1RvyGNFm6MXf1Rg/bHSea/EpDkn8KY152BT1/46iQ+Uho6\n"
+ "hz6UUWsTB4Lj25X8F3hlKwQcb3E63Or2XEPBw4rhaCDFAtSZeBaGUUSJ8CLUKXZf\n"
+ "5b45MjiZ/osgd81tfn3wdQVjDnaQwNtjeRbK+qU0Z4pIKBvHzRS/fZKwTnrK1DLI\n"
+ "yY/nqBJT/+Q5zdUx5FXp0bwyZuarJ1GHqcES3Rz1\n"
+ "-----END X509 CRL-----\n",
+ /* CA - cert_signing_key only */
"-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTEzMDkwNTIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCybbzvQTOmfwlA\n"
- "+q8F/4ms42nhl5lo1lK6JCvE7jZdhqZNXE8e1eNACrU6rCxRQynDhOyAOCLQAAul\n"
- "ivNMCW+SFN0IkSYXSRM8aWIDOZT8FyWB3yJSyvi3+SMgm7OYHFW8htH8qaIv0xJf\n"
- "1h/ADBE62j9uaQIg7qSn6pVHMDHaITAbPg3y6II1iP3W28Vj/rtvK9yoZu4AThSD\n"
- "Vdjl8WT4b4VOBbmioSNCDjx2C73+HLM2eUsdumCVcjWD9gkvCKkqTbOVplGRvCzO\n"
- "sKNVGJamH9eGOjF2Az9XuYR+m7jWdIyTitLtbliyFiWwFguQ7BAPVnUS3TSKoLKL\n"
- "X9WRGDIVAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcG\n"
- "ADAdBgNVHQ4EFgQU8RXG9RWC24R/crqoOMJVSVGZ2CkwDQYJKoZIhvcNAQELBQAD\n"
- "ggEBAASDvSD6Gt9E/IANgJ2lq7cvqKHhK/S0crpBHmzouLU1YANAbva8vZ2iVsgP\n"
- "ojj5+QKosXgZM67g1u4Vr/Kt7APwYDVV9NlfE7BLSaksaQbh6J464rJ8pXONW6xP\n"
- "z6tl/Pm1RqXuxzgnUv700OFuxBnnbglz9aQk5eS7kag8bfUx8MfN5gbW34nB79fn\n"
- "5943Z8DmcDfUQZRY66v4S/NAYs7s96ABMB18u9Ct6KqGP/LKfDt2bgeTE/1b68T+\n"
- "xmYF8N+JsJ3qP4lqBHgHLUL945nEoG8yDPIiZw3pmw1SyS0ktoVASynAh3W5j//r\n"
- "d9Uk2Ojqo2tp/lJ0LCuQ3nWeM2Y=\n" "-----END CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTEzMDkwNTIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCybbzvQTOmfwlA\n"
+ "+q8F/4ms42nhl5lo1lK6JCvE7jZdhqZNXE8e1eNACrU6rCxRQynDhOyAOCLQAAul\n"
+ "ivNMCW+SFN0IkSYXSRM8aWIDOZT8FyWB3yJSyvi3+SMgm7OYHFW8htH8qaIv0xJf\n"
+ "1h/ADBE62j9uaQIg7qSn6pVHMDHaITAbPg3y6II1iP3W28Vj/rtvK9yoZu4AThSD\n"
+ "Vdjl8WT4b4VOBbmioSNCDjx2C73+HLM2eUsdumCVcjWD9gkvCKkqTbOVplGRvCzO\n"
+ "sKNVGJamH9eGOjF2Az9XuYR+m7jWdIyTitLtbliyFiWwFguQ7BAPVnUS3TSKoLKL\n"
+ "X9WRGDIVAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcG\n"
+ "ADAdBgNVHQ4EFgQU8RXG9RWC24R/crqoOMJVSVGZ2CkwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAASDvSD6Gt9E/IANgJ2lq7cvqKHhK/S0crpBHmzouLU1YANAbva8vZ2iVsgP\n"
+ "ojj5+QKosXgZM67g1u4Vr/Kt7APwYDVV9NlfE7BLSaksaQbh6J464rJ8pXONW6xP\n"
+ "z6tl/Pm1RqXuxzgnUv700OFuxBnnbglz9aQk5eS7kag8bfUx8MfN5gbW34nB79fn\n"
+ "5943Z8DmcDfUQZRY66v4S/NAYs7s96ABMB18u9Ct6KqGP/LKfDt2bgeTE/1b68T+\n"
+ "xmYF8N+JsJ3qP4lqBHgHLUL945nEoG8yDPIiZw3pmw1SyS0ktoVASynAh3W5j//r\n"
+ "d9Uk2Ojqo2tp/lJ0LCuQ3nWeM2Y=\n"
+ "-----END CERTIFICATE-----\n"
};
static const char *simple1_constraints[] = {
-/* CRL */
+ /* CRL */
"-----BEGIN X509 CRL-----\n"
- "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
- "MDkxMzA4NTkxNloYDzIwMTUwOTEzMDg1OTE2WjAAoDowODAfBgNVHSMEGDAWgBTn\n"
- "sISO6h9leKTKtOh/HG0jV03AMzAVBgNVHRQEDgIMVBQHZC2mj6EAgMPSMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBAQBHUgtxpOn8EHwlajVYoOh6DFCwIoxBIeUA4518W1cHoV7J\n"
- "KMif6lmJRodrcbienDX781QcOaQcNnuu/oBEcoBdbZa0VICzXekIteSwEgGsbRve\n"
- "QQFPnZn83I4btse1ly5fdxMsliSM+qRwIyNR18VHXZz9GWYrr4tYWnI2b9XrDnaC\n"
- "1b3Ywt7I9pNi0/O0C0rE/37/VvPx6HghnC+un7LtT0Y0n+FQP7dhlMvzHaR8wVxs\n"
- "WAzaNvSiJ1rVPzL21iCmQJsRQeDTSJBlzm0lWiU8Nys3ugM2KlERezfp8DkFGA3y\n"
- "9Yzpq6gAi39ZK+LjopgGDkrQjxzBIaoe2bcDqB7X\n"
- "-----END X509 CRL-----\n",
-/* CA - cert_signing_key only */
+ "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
+ "MDkxMzA4NTkxNloYDzIwMTUwOTEzMDg1OTE2WjAAoDowODAfBgNVHSMEGDAWgBTn\n"
+ "sISO6h9leKTKtOh/HG0jV03AMzAVBgNVHRQEDgIMVBQHZC2mj6EAgMPSMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBAQBHUgtxpOn8EHwlajVYoOh6DFCwIoxBIeUA4518W1cHoV7J\n"
+ "KMif6lmJRodrcbienDX781QcOaQcNnuu/oBEcoBdbZa0VICzXekIteSwEgGsbRve\n"
+ "QQFPnZn83I4btse1ly5fdxMsliSM+qRwIyNR18VHXZz9GWYrr4tYWnI2b9XrDnaC\n"
+ "1b3Ywt7I9pNi0/O0C0rE/37/VvPx6HghnC+un7LtT0Y0n+FQP7dhlMvzHaR8wVxs\n"
+ "WAzaNvSiJ1rVPzL21iCmQJsRQeDTSJBlzm0lWiU8Nys3ugM2KlERezfp8DkFGA3y\n"
+ "9Yzpq6gAi39ZK+LjopgGDkrQjxzBIaoe2bcDqB7X\n"
+ "-----END X509 CRL-----\n",
+ /* CA - cert_signing_key only */
"-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTEzMDg1OTE2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7AVMcGmvenCAt\n"
- "14Yi2zi6In2vjNakbzDfUa5xaG8oD73h4P8zP2TQqDmUBAAi5EdXoF5/crpgnGY3\n"
- "oyUEFYnT7GTI/FO+RxZz9jCLvY3hpeuJcofsFny8n0ARL9WiFKuAEvrZkg+6V3Fh\n"
- "TC9bCOFsGVTaLiUoi/nkD9IUgCkybFTqZM+8tLT4/gCMFNs9e0ANa5F+wtvS0bjy\n"
- "LLozq6+XpzEXlL3UNKJq9cf02zHjb9ftlMDykRRkGPzppBSfOCJAMOX/BBNpWznJ\n"
- "I1bg0m/6X3+SDO3j0PKLVc7BWWTnXXHb4rznwcRZm8zJiKKFE0GDOijzpT6Dl/gX\n"
- "JI0lroeJAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU57CEjuofZXikyrTofxxtI1dNwDMwDQYJKoZIhvcNAQELBQAD\n"
- "ggEBALPFKXFauyO0R7Y+zhpiqYe1ms4qU9aprr/x4GMG4ByZ0i0FK8Kh+L5BsNQA\n"
- "FsEMeEEmKTHKzkMHfvTJ6y/K6P9rTVY7W2MqlX8IXM02L3fg0zn7Xd9CtCG1nnzh\n"
- "fQMf/K/9Xqiotjlrgo8noEZksGPIvDPXXY98dd0clGnBvw2HwiG4h+csr4i9y7CH\n"
- "tpnTRJnfzdqDYIh8vnM0tIJbXbe5DBLHnmnx15FQB1apFNa87gdBHAnkHCXrV1vC\n"
- "oZXEeUL/zW2ax+ALOglM82dwex2qV9jgcsWfq1Y2JBlVT1QPpbAooCnjvBhmPCjX\n"
- "qYkVfApeRr4QAwwkLnyfSKNLHco=\n" "-----END CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTEzMDg1OTE2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7AVMcGmvenCAt\n"
+ "14Yi2zi6In2vjNakbzDfUa5xaG8oD73h4P8zP2TQqDmUBAAi5EdXoF5/crpgnGY3\n"
+ "oyUEFYnT7GTI/FO+RxZz9jCLvY3hpeuJcofsFny8n0ARL9WiFKuAEvrZkg+6V3Fh\n"
+ "TC9bCOFsGVTaLiUoi/nkD9IUgCkybFTqZM+8tLT4/gCMFNs9e0ANa5F+wtvS0bjy\n"
+ "LLozq6+XpzEXlL3UNKJq9cf02zHjb9ftlMDykRRkGPzppBSfOCJAMOX/BBNpWznJ\n"
+ "I1bg0m/6X3+SDO3j0PKLVc7BWWTnXXHb4rznwcRZm8zJiKKFE0GDOijzpT6Dl/gX\n"
+ "JI0lroeJAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU57CEjuofZXikyrTofxxtI1dNwDMwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBALPFKXFauyO0R7Y+zhpiqYe1ms4qU9aprr/x4GMG4ByZ0i0FK8Kh+L5BsNQA\n"
+ "FsEMeEEmKTHKzkMHfvTJ6y/K6P9rTVY7W2MqlX8IXM02L3fg0zn7Xd9CtCG1nnzh\n"
+ "fQMf/K/9Xqiotjlrgo8noEZksGPIvDPXXY98dd0clGnBvw2HwiG4h+csr4i9y7CH\n"
+ "tpnTRJnfzdqDYIh8vnM0tIJbXbe5DBLHnmnx15FQB1apFNa87gdBHAnkHCXrV1vC\n"
+ "oZXEeUL/zW2ax+ALOglM82dwex2qV9jgcsWfq1Y2JBlVT1QPpbAooCnjvBhmPCjX\n"
+ "qYkVfApeRr4QAwwkLnyfSKNLHco=\n"
+ "-----END CERTIFICATE-----\n"
};
static const char *simple1_fail[] = {
-/* CRL */
+ /* CRL */
"-----BEGIN X509 CRL-----\n"
- "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
- "MDkxMzA4NTkxNloYDzIwMTUwOTEzMDg1OTE2WjAAoDowODAfBgNVHSMEGDAWgBTn\n"
- "sISO6h9leKTKtOh/HG0jV03AMzAVBgNVHRQEDgIMVBQHZC2mj6EAgMPSMA0GCSqG\n"
- "SIb3DQEBCwUAA4IBAQBHUgtxpOn8EHwlajVYoOh6DFCwIoxBIeUA4518W1cHoV7J\n"
- "KMif6lmJRodrcbienDX781QcOaQcNnuu/oBEcoBdbZa0VICzXekIteSwEgGsbRve\n"
- "QQFPnZn83I4btse1ly5fdxMsliSM+qRwIyNR18VHXZz9GWYrr4tYWnI2b9XrDnaC\n"
- "1b3Ywt7I9pNi0/O0C0rE/37/VvPx6HghnC+un7LtT0Y0n+FQP7dhlMvzHaR8wVxs\n"
- "WAzaNvSiJ1rVPzL21iCmQJsRQeDTSJBlzm0lWiU8Nys3ugM2KlERezfp8DkFGA3y\n"
- "9Yzpq6gAi39ZK+LjopgGDkrQjxzBIaoe2bcDqB7X\n"
- "-----END X509 CRL-----\n",
-/* CA (unrelated to CRL) */
+ "MIIBmjCBgwIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0wGA8yMDE0\n"
+ "MDkxMzA4NTkxNloYDzIwMTUwOTEzMDg1OTE2WjAAoDowODAfBgNVHSMEGDAWgBTn\n"
+ "sISO6h9leKTKtOh/HG0jV03AMzAVBgNVHRQEDgIMVBQHZC2mj6EAgMPSMA0GCSqG\n"
+ "SIb3DQEBCwUAA4IBAQBHUgtxpOn8EHwlajVYoOh6DFCwIoxBIeUA4518W1cHoV7J\n"
+ "KMif6lmJRodrcbienDX781QcOaQcNnuu/oBEcoBdbZa0VICzXekIteSwEgGsbRve\n"
+ "QQFPnZn83I4btse1ly5fdxMsliSM+qRwIyNR18VHXZz9GWYrr4tYWnI2b9XrDnaC\n"
+ "1b3Ywt7I9pNi0/O0C0rE/37/VvPx6HghnC+un7LtT0Y0n+FQP7dhlMvzHaR8wVxs\n"
+ "WAzaNvSiJ1rVPzL21iCmQJsRQeDTSJBlzm0lWiU8Nys3ugM2KlERezfp8DkFGA3y\n"
+ "9Yzpq6gAi39ZK+LjopgGDkrQjxzBIaoe2bcDqB7X\n"
+ "-----END X509 CRL-----\n",
+ /* CA (unrelated to CRL) */
"-----BEGIN CERTIFICATE-----\n"
- "MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwODI2MTEwODUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+iPUnEs+qmj2U\n"
- "Rz8plNAE/CpeUxUfNNVonluu4DzulsxAJMN78g+Oqx+ggdkECZxHLISkzErMgiuv\n"
- "bG+nr9yxjyHH2YoOAgzgknar5JkOBkKp1bIvyA950ZSygMFEHX1qoaM+F/1/DKjG\n"
- "NmMCNUpR0c4m+K22s72LnrpMLMmCZU0fnqngb1+F+iZE6emhcX5Z5D0QTJTAeiYK\n"
- "ArnO0rpVEvU0o3nwe3dDrT0YyoCYrzCsCOKUa2wFtkOzLZKJbMBRMflL+fBmtj/Q\n"
- "7xUe7ox62ZEqSD7W+Po48/mIuSOhx7u+yToBZ60wKGz9OkQ/JwykkK5ZgI+nPWGT\n"
- "1au1K4V7AgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8wEgYDVR0eAQH/BAgwBqEE\n"
- "MAKCADAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBSgAJcc9Q5KDpAhkrMORPJS\n"
- "boq3vzAfBgNVHSMEGDAWgBQ/lKQpHoyEFz7J+Wn6eT5qxgYQpjANBgkqhkiG9w0B\n"
- "AQsFAAOCAQEAoMeZ0cnHes8bWRHLvrGc6wpwVnxYx2CBF9Xd3k4YMNunwBF9oM+T\n"
- "ZYSMo4k7C1XZ154avBIyiCne3eU7/oHG1nkqY9ndN5LMyL8KFOniETBY3BdKtlGA\n"
- "N+pDiQsrWG6mtqQ+kHFJICnGEDDByGB2eH+oAS+8gNtSfamLuTWYMI6ANjA9OWan\n"
- "rkIA7ta97UiH2flvKRctqvZ0n6Vp3n3aUc53FkAbTnxOCBNCBx/veCgD/r74WbcY\n"
- "jiwh2RE//3D3Oo7zhUlwQEWQSa/7poG5e6bl7oj4JYjpwSmESCYokT83Iqeb9lwO\n"
- "D+dr9zs1tCudW9xz3sUg6IBXhZ4UvegTNg==\n"
- "-----END CERTIFICATE-----\n"
+ "MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTEwODUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+iPUnEs+qmj2U\n"
+ "Rz8plNAE/CpeUxUfNNVonluu4DzulsxAJMN78g+Oqx+ggdkECZxHLISkzErMgiuv\n"
+ "bG+nr9yxjyHH2YoOAgzgknar5JkOBkKp1bIvyA950ZSygMFEHX1qoaM+F/1/DKjG\n"
+ "NmMCNUpR0c4m+K22s72LnrpMLMmCZU0fnqngb1+F+iZE6emhcX5Z5D0QTJTAeiYK\n"
+ "ArnO0rpVEvU0o3nwe3dDrT0YyoCYrzCsCOKUa2wFtkOzLZKJbMBRMflL+fBmtj/Q\n"
+ "7xUe7ox62ZEqSD7W+Po48/mIuSOhx7u+yToBZ60wKGz9OkQ/JwykkK5ZgI+nPWGT\n"
+ "1au1K4V7AgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8wEgYDVR0eAQH/BAgwBqEE\n"
+ "MAKCADAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBSgAJcc9Q5KDpAhkrMORPJS\n"
+ "boq3vzAfBgNVHSMEGDAWgBQ/lKQpHoyEFz7J+Wn6eT5qxgYQpjANBgkqhkiG9w0B\n"
+ "AQsFAAOCAQEAoMeZ0cnHes8bWRHLvrGc6wpwVnxYx2CBF9Xd3k4YMNunwBF9oM+T\n"
+ "ZYSMo4k7C1XZ154avBIyiCne3eU7/oHG1nkqY9ndN5LMyL8KFOniETBY3BdKtlGA\n"
+ "N+pDiQsrWG6mtqQ+kHFJICnGEDDByGB2eH+oAS+8gNtSfamLuTWYMI6ANjA9OWan\n"
+ "rkIA7ta97UiH2flvKRctqvZ0n6Vp3n3aUc53FkAbTnxOCBNCBx/veCgD/r74WbcY\n"
+ "jiwh2RE//3D3Oo7zhUlwQEWQSa/7poG5e6bl7oj4JYjpwSmESCYokT83Iqeb9lwO\n"
+ "D+dr9zs1tCudW9xz3sUg6IBXhZ4UvegTNg==\n"
+ "-----END CERTIFICATE-----\n"
};
static struct {
@@ -172,23 +175,22 @@ static struct {
const char **ca;
unsigned int verify_flags;
unsigned int expected_verify_result;
-} crl_list[] = {
- {"simple-success", &simple1[0], &simple1[1],
- 0, 0},
- {"simple-constraints", &simple1_constraints[0], &simple1_constraints[1],
- 0, GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE | GNUTLS_CERT_INVALID},
- {"simple-broken", &simple1_broken[0], &simple1_broken[1],
- 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNATURE_FAILURE},
- {"simple-fail", &simple1_fail[0], &simple1_fail[1],
- 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {NULL, NULL, NULL, 0, 0}
-};
+} crl_list[] = { { "simple-success", &simple1[0], &simple1[1], 0, 0 },
+ { "simple-constraints", &simple1_constraints[0],
+ &simple1_constraints[1], 0,
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE |
+ GNUTLS_CERT_INVALID },
+ { "simple-broken", &simple1_broken[0], &simple1_broken[1], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNATURE_FAILURE },
+ { "simple-fail", &simple1_fail[0], &simple1_fail[1], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { NULL, NULL, NULL, 0, 0 } };
/* GnuTLS internally calls time() to find out the current time when
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1410599367;
@@ -233,7 +235,6 @@ void doit(void)
gnutls_global_set_log_level(4711);
for (i = 0; crl_list[i].name; i++) {
-
if (debug)
printf("Chain '%s' (%d)...\n", crl_list[i].name,
(int)i);
@@ -243,8 +244,7 @@ void doit(void)
ret = gnutls_x509_crl_init(&crl);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crl_init[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crl_init[%d]: %s\n",
(int)i, gnutls_strerror(ret));
exit(1);
}
@@ -256,8 +256,7 @@ void doit(void)
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crl_import[%s]: %s\n",
+ fprintf(stderr, "gnutls_x509_crl_import[%s]: %s\n",
crl_list[i].name, gnutls_strerror(ret));
exit(1);
}
@@ -298,27 +297,24 @@ void doit(void)
if (debug)
printf("\tVerifying...");
- ret =
- gnutls_x509_crl_verify(crl, &ca, 1,
- crl_list[i].verify_flags,
- &verify_status);
+ ret = gnutls_x509_crl_verify(
+ crl, &ca, 1, crl_list[i].verify_flags, &verify_status);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_list_verify[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_list_verify[%d]: %s\n",
(int)i, gnutls_strerror(ret));
exit(1);
}
if (verify_status != crl_list[i].expected_verify_result) {
gnutls_datum_t out1, out2;
- gnutls_certificate_verification_status_print
- (verify_status, GNUTLS_CRT_X509, &out1, 0);
- gnutls_certificate_verification_status_print(crl_list
- [i].
- expected_verify_result,
- GNUTLS_CRT_X509,
- &out2, 0);
- fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n", crl_list[i].name, verify_status, out1.data, crl_list[i].expected_verify_result, out2.data);
+ gnutls_certificate_verification_status_print(
+ verify_status, GNUTLS_CRT_X509, &out1, 0);
+ gnutls_certificate_verification_status_print(
+ crl_list[i].expected_verify_result,
+ GNUTLS_CRT_X509, &out2, 0);
+ fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n",
+ crl_list[i].name, verify_status, out1.data,
+ crl_list[i].expected_verify_result, out2.data);
gnutls_free(out1.data);
gnutls_free(out2.data);
@@ -336,10 +332,9 @@ void doit(void)
}
/* make sure that the two functions don't diverge */
- ret =
- gnutls_x509_trust_list_add_crls(tl, &crl, 1,
- GNUTLS_TL_VERIFY_CRL,
- crl_list[i].verify_flags);
+ ret = gnutls_x509_trust_list_add_crls(tl, &crl, 1,
+ GNUTLS_TL_VERIFY_CRL,
+ crl_list[i].verify_flags);
if (crl_list[i].expected_verify_result == 0 && ret < 0) {
fprintf(stderr,
"gnutls_x509_trust_list_add_crls[%d]: %s\n",
diff --git a/tests/crq-basic.c b/tests/crq-basic.c
index ff8c3ef49b..c939e67f1b 100644
--- a/tests/crq-basic.c
+++ b/tests/crq-basic.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,40 +33,42 @@
#include "utils.h"
static const char csr1[] =
- "-----BEGIN CERTIFICATE REQUEST-----\n"
- "MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB\n"
- "cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxJTAjBgNVBAMMHE5vdGhlcm4g\n"
- "Tm93aGVyZSBUcnVzdCBBbmNob3IwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDBqQrvdgZ9/ng68Q5AbcJbro+Nf/DViZ5CKvAXlNkuZ8ctARyVo7GmhtQS\n"
- "PEc6cOZ7HxEG03Ou38okGQPkYgrrZ9Tc750t4IJ3/iowWvtX5bhPNlJML1etEmqU\n"
- "PuRIp62lwDrQTgCZiI+9SnC+O1tr/15vKW0Mp1VK4kPnSQ+ZVFlogTTYqfvIDRRa\n"
- "QMtwHvU7wEI5BvljrdkpFFOvQhAdGJW2FYrYQdg3MQqXWhsQkKwd/25xM2t+iBgg\n"
- "7b41/+dpSAXAeC4ERvTCjU1wbkL6k+vOEjvR9c4/KVyMvVmD5KHBPI4+OFXzmRiw\n"
- "3/Z0yY4o9DgNRSDW28BzouaMbpifAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA\n"
- "eFMy55kFke/e9mrGloRUh1o8dxmzSiVwVCw5DTZQzTFNAMSOZXIId8k2IeHSUd84\n"
- "ZyJ1UNyJn2EFcwgaYaMtvZ8xMWR2W0C7lBvOOcjvWmiGze9F2Z5XMQzL8cjkK4jW\n"
- "RKIq9b0W6TC8lLO5F2eJpW6BoTQ8cBCDiVIDlCm7xZxPRjHowuyM0Tpewq2PltC1\n"
- "p8DbQipZWl5LPaHBSZSmIuUgOBU9porH/Vn0oWXxYfts59103VJY5YKkdz0PiqqA\n"
- "5kWYCMFDZyL+nZ2aIol4r8nXkN9MuPOU12aHqPGcDlaGS2i5zfm2Ywsg110k+NCk\n"
- "AmqhjnrQjvJhif3rGO4+qw==\n" "-----END CERTIFICATE REQUEST-----\n";
+ "-----BEGIN CERTIFICATE REQUEST-----\n"
+ "MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB\n"
+ "cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxJTAjBgNVBAMMHE5vdGhlcm4g\n"
+ "Tm93aGVyZSBUcnVzdCBBbmNob3IwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDBqQrvdgZ9/ng68Q5AbcJbro+Nf/DViZ5CKvAXlNkuZ8ctARyVo7GmhtQS\n"
+ "PEc6cOZ7HxEG03Ou38okGQPkYgrrZ9Tc750t4IJ3/iowWvtX5bhPNlJML1etEmqU\n"
+ "PuRIp62lwDrQTgCZiI+9SnC+O1tr/15vKW0Mp1VK4kPnSQ+ZVFlogTTYqfvIDRRa\n"
+ "QMtwHvU7wEI5BvljrdkpFFOvQhAdGJW2FYrYQdg3MQqXWhsQkKwd/25xM2t+iBgg\n"
+ "7b41/+dpSAXAeC4ERvTCjU1wbkL6k+vOEjvR9c4/KVyMvVmD5KHBPI4+OFXzmRiw\n"
+ "3/Z0yY4o9DgNRSDW28BzouaMbpifAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA\n"
+ "eFMy55kFke/e9mrGloRUh1o8dxmzSiVwVCw5DTZQzTFNAMSOZXIId8k2IeHSUd84\n"
+ "ZyJ1UNyJn2EFcwgaYaMtvZ8xMWR2W0C7lBvOOcjvWmiGze9F2Z5XMQzL8cjkK4jW\n"
+ "RKIq9b0W6TC8lLO5F2eJpW6BoTQ8cBCDiVIDlCm7xZxPRjHowuyM0Tpewq2PltC1\n"
+ "p8DbQipZWl5LPaHBSZSmIuUgOBU9porH/Vn0oWXxYfts59103VJY5YKkdz0PiqqA\n"
+ "5kWYCMFDZyL+nZ2aIol4r8nXkN9MuPOU12aHqPGcDlaGS2i5zfm2Ywsg110k+NCk\n"
+ "AmqhjnrQjvJhif3rGO4+qw==\n"
+ "-----END CERTIFICATE REQUEST-----\n";
static const char csr2[] =
- "-----BEGIN NEW CERTIFICATE REQUEST-----\n"
- "MIICrjCCAZYCAQAwJDEiMCAGA1UEAxMZZGhjcC0yLTEyNy5icnEucmVkaGF0LmNv\n"
- "bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANiEAXIHON8p4YpVRH+X\n"
- "OM546stpyzL5xKdxbRUlfK0pWoqm3iqenRUf43eb9W8RDTx6UhuY21RFETzlYT4r\n"
- "+yVXOlvm8K5FLepNcjbqDJb9hngFm2q8u+OM3GKBiyeH43lUMC6/YksqPeEzsmKD\n"
- "UlD7rkm9CK8GRyXEsCruFaQ0VA8XB6XK9Av/jfOrGT/gTdmNGKu/fZmoJsjBJh+g\n"
- "Yobsi60YyWeuXw2s5zVga73cK1v0JG2ltjZy0M7qSO+CCJa24huO8uvJ4GPOfi/Q\n"
- "MPZbsHaZAqrHLQQMfxXJ73gXq7FLIMnCcstWfiagE5QlFZUGj9AnicgiCpMTZMIq\n"
- "miECAwEAAaBFMBMGCSqGSIb3DQEJBzEGEwQxMjM0MC4GCSqGSIb3DQEJDjEhMB8w\n"
- "DAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB6AAMA0GCSqGSIb3DQEBCwUAA4IB\n"
- "AQAqYOqsS3xnfEzLIis3krcjzHGykXxfvnyREDijBIqyXF10lSrmb2byvoIfOuoc\n"
- "pSmdT8MaIUTmKnZI4+htEPYcsAMwF2cXL1D2kvJhE0EKHbmv1E0QbJWmbnVz99bs\n"
- "GIcFN1die0SYHLgf64bOxKOyq5V8hAaE/lS2yLT7Tf/6+nweYOuE9ONH7KD7zpQo\n"
- "LyhsjhH0px75Ftej+yQWEElfokZrNu7iHuwcue3efySlMfpT9G/p4MhQQjFQySkK\n"
- "ev17H0d3KBdtcqWjxaS3jDAzmuz6SZwdUxSDkWuqchyAozeBpI+SbIPOgfKHsYc+\n"
- "yRKga0201rRJi4NKvt8iqj5r\n" "-----END NEW CERTIFICATE REQUEST-----\n";
+ "-----BEGIN NEW CERTIFICATE REQUEST-----\n"
+ "MIICrjCCAZYCAQAwJDEiMCAGA1UEAxMZZGhjcC0yLTEyNy5icnEucmVkaGF0LmNv\n"
+ "bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANiEAXIHON8p4YpVRH+X\n"
+ "OM546stpyzL5xKdxbRUlfK0pWoqm3iqenRUf43eb9W8RDTx6UhuY21RFETzlYT4r\n"
+ "+yVXOlvm8K5FLepNcjbqDJb9hngFm2q8u+OM3GKBiyeH43lUMC6/YksqPeEzsmKD\n"
+ "UlD7rkm9CK8GRyXEsCruFaQ0VA8XB6XK9Av/jfOrGT/gTdmNGKu/fZmoJsjBJh+g\n"
+ "Yobsi60YyWeuXw2s5zVga73cK1v0JG2ltjZy0M7qSO+CCJa24huO8uvJ4GPOfi/Q\n"
+ "MPZbsHaZAqrHLQQMfxXJ73gXq7FLIMnCcstWfiagE5QlFZUGj9AnicgiCpMTZMIq\n"
+ "miECAwEAAaBFMBMGCSqGSIb3DQEJBzEGEwQxMjM0MC4GCSqGSIb3DQEJDjEhMB8w\n"
+ "DAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB6AAMA0GCSqGSIb3DQEBCwUAA4IB\n"
+ "AQAqYOqsS3xnfEzLIis3krcjzHGykXxfvnyREDijBIqyXF10lSrmb2byvoIfOuoc\n"
+ "pSmdT8MaIUTmKnZI4+htEPYcsAMwF2cXL1D2kvJhE0EKHbmv1E0QbJWmbnVz99bs\n"
+ "GIcFN1die0SYHLgf64bOxKOyq5V8hAaE/lS2yLT7Tf/6+nweYOuE9ONH7KD7zpQo\n"
+ "LyhsjhH0px75Ftej+yQWEElfokZrNu7iHuwcue3efySlMfpT9G/p4MhQQjFQySkK\n"
+ "ev17H0d3KBdtcqWjxaS3jDAzmuz6SZwdUxSDkWuqchyAozeBpI+SbIPOgfKHsYc+\n"
+ "yRKga0201rRJi4NKvt8iqj5r\n"
+ "-----END NEW CERTIFICATE REQUEST-----\n";
static struct {
const char *name;
@@ -76,25 +78,25 @@ static struct {
const char *sign_oid;
unsigned pk_algo;
const char *pk_oid;
-} crq_list[] = {
- {.name = "crl-1",
- .crq = csr1,
- .sign_algo = GNUTLS_SIGN_RSA_SHA256,
- .sign_oid = "1.2.840.113549.1.1.11",
- .pk_algo = GNUTLS_PK_RSA,
- .pk_oid = "1.2.840.113549.1.1.1",
- .version = 1,
- },
- {.name = "crl-2",
- .crq = csr2,
- .sign_algo = GNUTLS_SIGN_RSA_SHA256,
- .sign_oid = "1.2.840.113549.1.1.11",
- .pk_algo = GNUTLS_PK_RSA,
- .pk_oid = "1.2.840.113549.1.1.1",
- .version = 1,
- },
- {NULL, NULL, 0, 0}
-};
+} crq_list[] = { {
+ .name = "crl-1",
+ .crq = csr1,
+ .sign_algo = GNUTLS_SIGN_RSA_SHA256,
+ .sign_oid = "1.2.840.113549.1.1.11",
+ .pk_algo = GNUTLS_PK_RSA,
+ .pk_oid = "1.2.840.113549.1.1.1",
+ .version = 1,
+ },
+ {
+ .name = "crl-2",
+ .crq = csr2,
+ .sign_algo = GNUTLS_SIGN_RSA_SHA256,
+ .sign_oid = "1.2.840.113549.1.1.11",
+ .pk_algo = GNUTLS_PK_RSA,
+ .pk_oid = "1.2.840.113549.1.1.1",
+ .version = 1,
+ },
+ { NULL, NULL, 0, 0 } };
static void tls_log_func(int level, const char *str)
{
@@ -122,7 +124,6 @@ void doit(void)
gnutls_global_set_log_level(4711);
for (i = 0; crq_list[i].name; i++) {
-
if (debug)
printf("Chain '%s' (%d)...\n", crq_list[i].name,
(int)i);
@@ -132,8 +133,7 @@ void doit(void)
ret = gnutls_x509_crq_init(&crq);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crq_init[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crq_init[%d]: %s\n",
(int)i, gnutls_strerror(ret));
exit(1);
}
@@ -145,8 +145,7 @@ void doit(void)
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crq_import[%s]: %s\n",
+ fprintf(stderr, "gnutls_x509_crq_import[%s]: %s\n",
crq_list[i].name, gnutls_strerror(ret));
exit(1);
}
@@ -158,19 +157,22 @@ void doit(void)
ret = gnutls_x509_crq_get_signature_algorithm(crq);
if (ret != (int)crq_list[i].sign_algo) {
- fail("%s: error extracting signature algorithm: %d/%s\n", crq_list[i].name, ret, gnutls_strerror(ret));
+ fail("%s: error extracting signature algorithm: %d/%s\n",
+ crq_list[i].name, ret, gnutls_strerror(ret));
exit(1);
}
oid_size = sizeof(oid);
ret = gnutls_x509_crq_get_signature_oid(crq, oid, &oid_size);
if (ret < 0) {
- fail("%s: error extracting signature algorithm OID: %s\n", crq_list[i].name, gnutls_strerror(ret));
+ fail("%s: error extracting signature algorithm OID: %s\n",
+ crq_list[i].name, gnutls_strerror(ret));
exit(1);
}
if (strcmp(oid, crq_list[i].sign_oid) != 0) {
- fail("%s: error on the extracted signature algorithm: %s\n", crq_list[i].name, oid);
+ fail("%s: error on the extracted signature algorithm: %s\n",
+ crq_list[i].name, oid);
exit(1);
}
diff --git a/tests/crq_apis.c b/tests/crq_apis.c
index f41eacd8c4..ce91ac12d0 100644
--- a/tests/crq_apis.c
+++ b/tests/crq_apis.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -38,42 +38,43 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char saved_crq_pem[] =
- "-----BEGIN NEW CERTIFICATE REQUEST-----\n"
- "MIICSDCCAbECAQAwKzEOMAwGA1UEAxMFbmlrb3MxGTAXBgNVBAoTEG5vbmUgdG8s\n"
- "IG1lbnRpb24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtmQ/Xyxde2jMzF\n"
- "3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeLZIkiW8DdU3w77XwEu4C5\n"
- "KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKNzj2AC41179gAgY8oBAOg\n"
- "Io1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGggdwwEgYJKoZIhvcNAQkHMQUTA2Zv\n"
- "bzCBxQYJKoZIhvcNAQkOMYG3MIG0MA8GA1UdEwEB/wQFMAMCAQAwDQYDVR0PAQH/\n"
- "BAMDAQAwIwYDVR0RBBwwGoIDYXBhggNmb2+CDnhuLS1reGF3aGsuY29tMB0GA1Ud\n"
- "JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjALBgQqAwQFBAPK/v8wFAYILQOCiPS5\n"
- "FwUBAf8EBcr+//r+MCsGA1UdEAQkMCKADzIwMTkwNzA5MDQyODI2WoEPMjAxOTA3\n"
- "MDkwNzE1MDZaMA0GCSqGSIb3DQEBCwUAA4GBAD5WboLhAYvbStlK1UwvB4b2vmJP\n"
- "mfl7S/VmaeBFX8w0lpZTCTCRuB0WJek6YPfXyRsUUJsjWElZeEE0N8V+eQ3oz4um\n"
- "N2QCk4Zrc5FRyCkKUe+qaqQhB1ho01ZQDMgkj2B10tubhdrKf17QCzgKEp+5VR46\n"
- "Bme4HDJqbHlH+O0y\n" "-----END NEW CERTIFICATE REQUEST-----\n";
+ "-----BEGIN NEW CERTIFICATE REQUEST-----\n"
+ "MIICSDCCAbECAQAwKzEOMAwGA1UEAxMFbmlrb3MxGTAXBgNVBAoTEG5vbmUgdG8s\n"
+ "IG1lbnRpb24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtmQ/Xyxde2jMzF\n"
+ "3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeLZIkiW8DdU3w77XwEu4C5\n"
+ "KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKNzj2AC41179gAgY8oBAOg\n"
+ "Io1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGggdwwEgYJKoZIhvcNAQkHMQUTA2Zv\n"
+ "bzCBxQYJKoZIhvcNAQkOMYG3MIG0MA8GA1UdEwEB/wQFMAMCAQAwDQYDVR0PAQH/\n"
+ "BAMDAQAwIwYDVR0RBBwwGoIDYXBhggNmb2+CDnhuLS1reGF3aGsuY29tMB0GA1Ud\n"
+ "JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjALBgQqAwQFBAPK/v8wFAYILQOCiPS5\n"
+ "FwUBAf8EBcr+//r+MCsGA1UdEAQkMCKADzIwMTkwNzA5MDQyODI2WoEPMjAxOTA3\n"
+ "MDkwNzE1MDZaMA0GCSqGSIb3DQEBCwUAA4GBAD5WboLhAYvbStlK1UwvB4b2vmJP\n"
+ "mfl7S/VmaeBFX8w0lpZTCTCRuB0WJek6YPfXyRsUUJsjWElZeEE0N8V+eQ3oz4um\n"
+ "N2QCk4Zrc5FRyCkKUe+qaqQhB1ho01ZQDMgkj2B10tubhdrKf17QCzgKEp+5VR46\n"
+ "Bme4HDJqbHlH+O0y\n"
+ "-----END NEW CERTIFICATE REQUEST-----\n";
const gnutls_datum_t saved_crq = { saved_crq_pem, sizeof(saved_crq_pem) - 1 };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t key = { key_pem, sizeof(key_pem) - 1 };
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -137,9 +138,8 @@ static gnutls_x509_crq_t generate_crq(void)
fail("%d: gnutls_x509_crq_get_challenge_password %d: %s\n",
__LINE__, ret, gnutls_strerror(ret));
- ret =
- gnutls_x509_crq_set_dn(crq, "o = none to\\, mention,cn = nikos",
- &err);
+ ret = gnutls_x509_crq_set_dn(crq, "o = none to\\, mention,cn = nikos",
+ &err);
if (ret < 0) {
fail("gnutls_x509_crq_set_dn: %s, %s\n", gnutls_strerror(ret),
err);
@@ -152,7 +152,8 @@ static gnutls_x509_crq_t generate_crq(void)
s = 0;
ret = gnutls_x509_crq_get_challenge_password(crq, NULL, &s);
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER || s != 4)
- fail("%d: gnutls_x509_crq_get_challenge_password %d: %s (passlen: %d)\n", __LINE__, ret, gnutls_strerror(ret), (int)s);
+ fail("%d: gnutls_x509_crq_get_challenge_password %d: %s (passlen: %d)\n",
+ __LINE__, ret, gnutls_strerror(ret), (int)s);
s = 10;
ret = gnutls_x509_crq_get_challenge_password(crq, smallbuf, &s);
@@ -170,15 +171,13 @@ static gnutls_x509_crq_t generate_crq(void)
if (ret != 0)
fail("gnutls_x509_crq_get_extension_data\n");
- ret = gnutls_x509_crq_set_subject_alt_name(crq, GNUTLS_SAN_DNSNAME,
- "foo", 3,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crq, GNUTLS_SAN_DNSNAME, "foo", 3, GNUTLS_FSAN_APPEND);
if (ret != 0)
fail("gnutls_x509_crq_set_subject_alt_name\n");
- ret = gnutls_x509_crq_set_subject_alt_name(crq, GNUTLS_SAN_DNSNAME,
- "bar", 3,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crq, GNUTLS_SAN_DNSNAME, "bar", 3, GNUTLS_FSAN_APPEND);
if (ret != 0)
fail("gnutls_x509_crq_set_subject_alt_name\n");
@@ -187,9 +186,8 @@ static gnutls_x509_crq_t generate_crq(void)
if (ret != 0)
fail("gnutls_x509_crq_set_subject_alt_name\n");
- ret = gnutls_x509_crq_set_subject_alt_name(crq, GNUTLS_SAN_DNSNAME,
- "foo", 3,
- GNUTLS_FSAN_APPEND);
+ ret = gnutls_x509_crq_set_subject_alt_name(
+ crq, GNUTLS_SAN_DNSNAME, "foo", 3, GNUTLS_FSAN_APPEND);
if (ret != 0)
fail("gnutls_x509_crq_set_subject_alt_name\n");
@@ -213,9 +211,8 @@ static gnutls_x509_crq_t generate_crq(void)
fail("gnutls_x509_crq_get_key_purpose_oid %d\n", ret);
s = 0;
- ret =
- gnutls_x509_crq_set_key_purpose_oid(crq,
- GNUTLS_KP_TLS_WWW_SERVER, 0);
+ ret = gnutls_x509_crq_set_key_purpose_oid(crq, GNUTLS_KP_TLS_WWW_SERVER,
+ 0);
if (ret != 0)
fail("gnutls_x509_crq_set_key_purpose_oid %d\n", ret);
@@ -225,9 +222,8 @@ static gnutls_x509_crq_t generate_crq(void)
fail("gnutls_x509_crq_get_key_purpose_oid %d\n", ret);
s = 0;
- ret =
- gnutls_x509_crq_set_key_purpose_oid(crq,
- GNUTLS_KP_TLS_WWW_CLIENT, 1);
+ ret = gnutls_x509_crq_set_key_purpose_oid(crq, GNUTLS_KP_TLS_WWW_CLIENT,
+ 1);
if (ret != 0)
fail("gnutls_x509_crq_set_key_purpose_oid2 %d\n", ret);
@@ -236,16 +232,14 @@ static gnutls_x509_crq_t generate_crq(void)
#define EXT_DATA1 "\xCA\xFE\xFF"
#define EXT_DATA2 "\xCA\xFE\xFF\xFA\xFE"
/* test writing arbitrary extensions */
- ret =
- gnutls_x509_crq_set_extension_by_oid(crq, EXT_ID1, EXT_DATA1,
- sizeof(EXT_DATA1) - 1, 0);
+ ret = gnutls_x509_crq_set_extension_by_oid(crq, EXT_ID1, EXT_DATA1,
+ sizeof(EXT_DATA1) - 1, 0);
if (ret != 0)
fail("gnutls_x509_crq_set_extension_by_oid %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_x509_crq_set_extension_by_oid(crq, EXT_ID2, EXT_DATA2,
- sizeof(EXT_DATA2) - 1, 1);
+ ret = gnutls_x509_crq_set_extension_by_oid(crq, EXT_ID2, EXT_DATA2,
+ sizeof(EXT_DATA2) - 1, 1);
if (ret != 0)
fail("gnutls_x509_crq_set_extension_by_oid %s\n",
gnutls_strerror(ret));
@@ -269,14 +263,14 @@ static gnutls_x509_crq_t generate_crq(void)
/* test reading the arb. extensions */
crit = -1;
- ret =
- gnutls_x509_crq_get_extension_by_oid2(crq, EXT_ID1, 0, &out, &crit);
+ ret = gnutls_x509_crq_get_extension_by_oid2(crq, EXT_ID1, 0, &out,
+ &crit);
if (ret < 0)
fail("gnutls_x509_crq_get_extension_by_oid2: %s\n",
gnutls_strerror(ret));
- if (out.size != sizeof(EXT_DATA1) - 1
- || memcmp(out.data, EXT_DATA1, out.size) != 0) {
+ if (out.size != sizeof(EXT_DATA1) - 1 ||
+ memcmp(out.data, EXT_DATA1, out.size) != 0) {
fail("ext1 doesn't match\n");
}
if (crit != 0) {
@@ -285,14 +279,14 @@ static gnutls_x509_crq_t generate_crq(void)
gnutls_free(out.data);
crit = -1;
- ret =
- gnutls_x509_crq_get_extension_by_oid2(crq, EXT_ID2, 0, &out, &crit);
+ ret = gnutls_x509_crq_get_extension_by_oid2(crq, EXT_ID2, 0, &out,
+ &crit);
if (ret < 0)
fail("gnutls_x509_crq_get_extension_by_oid2: %s\n",
gnutls_strerror(ret));
- if (out.size != sizeof(EXT_DATA2) - 1
- || memcmp(out.data, EXT_DATA2, out.size) != 0) {
+ if (out.size != sizeof(EXT_DATA2) - 1 ||
+ memcmp(out.data, EXT_DATA2, out.size) != 0) {
fail("ext2 doesn't match\n");
}
if (crit != 1) {
@@ -344,8 +338,8 @@ static void test_crq(gnutls_x509_crq_t crq)
assert(pathlen == 0);
s = sizeof(buf);
- ret =
- gnutls_x509_crq_get_subject_alt_name(crq, 0, buf, &s, &type, &crit);
+ ret = gnutls_x509_crq_get_subject_alt_name(crq, 0, buf, &s, &type,
+ &crit);
assert(ret >= 0);
assert(s == 3);
assert(memcmp(buf, "apa", s) == 0);
@@ -353,16 +347,16 @@ static void test_crq(gnutls_x509_crq_t crq)
assert(crit == 0);
s = sizeof(buf);
- ret =
- gnutls_x509_crq_get_subject_alt_name(crq, 1, buf, &s, &type, &crit);
+ ret = gnutls_x509_crq_get_subject_alt_name(crq, 1, buf, &s, &type,
+ &crit);
assert(ret >= 0);
assert(s == 3);
assert(memcmp(buf, "foo", s) == 0);
assert(type == GNUTLS_SAN_DNSNAME);
assert(crit == 0);
- ret =
- gnutls_x509_crq_get_private_key_usage_period(crq, &t1, &t2, &crit);
+ ret = gnutls_x509_crq_get_private_key_usage_period(crq, &t1, &t2,
+ &crit);
if (ret < 0)
fail("gnutls_x509_crq_get_private_key_usage_period: %s\n",
gnutls_strerror(ret));
@@ -408,9 +402,8 @@ static void run_set_extensions(gnutls_x509_crq_t crq)
if (ret != 0)
fail("gnutls_x509_crt_set_crq: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_x509_crt_set_issuer_dn(crt, "o = big\\, and one, cn = my CA",
- &err);
+ ret = gnutls_x509_crt_set_issuer_dn(
+ crt, "o = big\\, and one, cn = my CA", &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_issuer_dn: %s, %s\n",
gnutls_strerror(ret), err);
@@ -488,9 +481,8 @@ static void run_set_extension_by_oid(gnutls_x509_crq_t crq)
if (ret != 0)
fail("gnutls_x509_crt_set_crq: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_x509_crt_set_issuer_dn(crt, "o = big\\, and one,cn = my CA",
- &err);
+ ret = gnutls_x509_crt_set_issuer_dn(
+ crt, "o = big\\, and one,cn = my CA", &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_issuer_dn: %s, %s\n",
gnutls_strerror(ret), err);
@@ -500,10 +492,8 @@ static void run_set_extension_by_oid(gnutls_x509_crq_t crq)
if (ret != 0)
fail("gnutls_x509_crt_set_version\n");
- ret =
- gnutls_x509_crt_set_crq_extension_by_oid(crt, crq,
- GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE,
- 0);
+ ret = gnutls_x509_crt_set_crq_extension_by_oid(
+ crt, crq, GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE, 0);
if (ret != 0)
fail("gnutls_x509_crt_set_crq_extension_by_oid\n");
@@ -521,22 +511,21 @@ static void run_set_extension_by_oid(gnutls_x509_crq_t crq)
for (i = 0;; i++) {
oid_size = sizeof(oid);
- ret =
- gnutls_x509_crq_get_extension_info(crq, i, oid, &oid_size,
- NULL);
+ ret = gnutls_x509_crq_get_extension_info(crq, i, oid, &oid_size,
+ NULL);
if (ret < 0)
fail("loop: ext not found: %s\n", gnutls_strerror(ret));
if (strcmp(oid, GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE) == 0) {
- ret =
- gnutls_x509_crq_get_extension_data2(crq, 3, &out2);
+ ret = gnutls_x509_crq_get_extension_data2(crq, 3,
+ &out2);
if (ret != 0)
fail("gnutls_x509_crt_get_extension_data2\n");
break;
}
-
}
- if (out.size != out2.size || memcmp(out.data, out2.data, out.size) != 0) {
+ if (out.size != out2.size ||
+ memcmp(out.data, out2.data, out.size) != 0) {
fail("memcmp %d, %d\n", out.size, out2.size);
}
diff --git a/tests/crq_key_id.c b/tests/crq_key_id.c
index 5c1bed5084..9c7aad3c7d 100644
--- a/tests/crq_key_id.c
+++ b/tests/crq_key_id.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -61,7 +61,8 @@ void doit(void)
if (debug)
gnutls_global_set_log_level(4711);
- for (algorithm = GNUTLS_PK_RSA; algorithm <= GNUTLS_PK_DSA; algorithm++) {
+ for (algorithm = GNUTLS_PK_RSA; algorithm <= GNUTLS_PK_DSA;
+ algorithm++) {
ret = gnutls_x509_crq_init(&crq);
if (ret < 0)
fail("gnutls_x509_crq_init: %d: %s\n", ret,
@@ -82,8 +83,8 @@ void doit(void)
ret = gnutls_x509_privkey_generate(pkey, algorithm, 2048, 0);
if (ret < 0) {
fail("gnutls_x509_privkey_generate (%s): %d: %s\n",
- gnutls_pk_algorithm_get_name(algorithm),
- ret, gnutls_strerror(ret));
+ gnutls_pk_algorithm_get_name(algorithm), ret,
+ gnutls_strerror(ret));
} else if (debug) {
success("Key[%s] generation ok: %d\n",
gnutls_pk_algorithm_get_name(algorithm), ret);
@@ -93,15 +94,16 @@ void doit(void)
ret = gnutls_x509_privkey_get_key_id(pkey, 0, pkey_key_id,
&pkey_key_id_len);
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER) {
- fail("gnutls_x509_privkey_get_key_id incorrectly returns %d: %s\n", ret, gnutls_strerror(ret));
+ fail("gnutls_x509_privkey_get_key_id incorrectly returns %d: %s\n",
+ ret, gnutls_strerror(ret));
}
pkey_key_id = malloc(sizeof(unsigned char) * pkey_key_id_len);
- ret =
- gnutls_x509_privkey_get_key_id(pkey, 0, pkey_key_id,
- &pkey_key_id_len);
+ ret = gnutls_x509_privkey_get_key_id(pkey, 0, pkey_key_id,
+ &pkey_key_id_len);
if (ret != GNUTLS_E_SUCCESS) {
- fail("gnutls_x509_privkey_get_key_id incorrectly returns %d: %s\n", ret, gnutls_strerror(ret));
+ fail("gnutls_x509_privkey_get_key_id incorrectly returns %d: %s\n",
+ ret, gnutls_strerror(ret));
}
ret = gnutls_x509_crq_set_version(crq, 1);
@@ -116,10 +118,8 @@ void doit(void)
gnutls_strerror(ret));
}
- ret =
- gnutls_x509_crq_set_dn_by_oid(crq,
- GNUTLS_OID_X520_COMMON_NAME,
- 0, "CN-Test", 7);
+ ret = gnutls_x509_crq_set_dn_by_oid(
+ crq, GNUTLS_OID_X520_COMMON_NAME, 0, "CN-Test", 7);
if (ret < 0) {
fail("gnutls_x509_crq_set_dn_by_oid: %d: %s\n", ret,
gnutls_strerror(ret));
@@ -131,9 +131,8 @@ void doit(void)
gnutls_strerror(ret));
}
- ret =
- gnutls_x509_crq_privkey_sign(crq, abs_pkey,
- GNUTLS_DIG_SHA256, 0);
+ ret = gnutls_x509_crq_privkey_sign(crq, abs_pkey,
+ GNUTLS_DIG_SHA256, 0);
if (ret < 0) {
fail("gnutls_x509_crq_sign: %d: %s\n", ret,
gnutls_strerror(ret));
@@ -146,19 +145,19 @@ void doit(void)
}
crq_key_id_len = 0;
- ret =
- gnutls_x509_crq_get_key_id(crq, 0, crq_key_id,
- &crq_key_id_len);
+ ret = gnutls_x509_crq_get_key_id(crq, 0, crq_key_id,
+ &crq_key_id_len);
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER) {
- fail("gnutls_x509_crq_get_key_id incorrectly returns %d: %s\n", ret, gnutls_strerror(ret));
+ fail("gnutls_x509_crq_get_key_id incorrectly returns %d: %s\n",
+ ret, gnutls_strerror(ret));
}
crq_key_id = malloc(sizeof(unsigned char) * crq_key_id_len);
- ret =
- gnutls_x509_crq_get_key_id(crq, 0, crq_key_id,
- &crq_key_id_len);
+ ret = gnutls_x509_crq_get_key_id(crq, 0, crq_key_id,
+ &crq_key_id_len);
if (ret != GNUTLS_E_SUCCESS) {
- fail("gnutls_x509_crq_get_key_id incorrectly returns %d: %s\n", ret, gnutls_strerror(ret));
+ fail("gnutls_x509_crq_get_key_id incorrectly returns %d: %s\n",
+ ret, gnutls_strerror(ret));
}
if (crq_key_id_len == pkey_key_id_len) {
diff --git a/tests/crt_apis.c b/tests/crt_apis.c
index b985214e15..dab14704e8 100644
--- a/tests/crt_apis.c
+++ b/tests/crt_apis.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -37,20 +37,21 @@
#include "cert-common.h"
static unsigned char saved_crt_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICWTCCAcKgAwIBAgIDChEAMA0GCSqGSIb3DQEBCwUAMCsxDjAMBgNVBAMTBW5p\n"
- "a29zMRkwFwYDVQQKExBub25lIHRvLCBtZW50aW9uMCAXDTA4MDMzMTIyMDAwMFoY\n"
- "Dzk5OTkxMjMxMjM1OTU5WjArMQ4wDAYDVQQDEwVuaWtvczEZMBcGA1UEChMQbm9u\n"
- "ZSB0bywgbWVudGlvbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu2ZD9fLF\n"
- "17aMzMXf9Yg7sclLag6hrSBQQAiAoU9co9D4bM/mPPfsBHYTF4tkiSJbwN1TfDvt\n"
- "fAS7gLkovo6bxo6gpRLL9Vceoue7tzNJn+O7Sq5qTWj/yRHiMo3OPYALjXXv2ACB\n"
- "jygEA6AijWEEB/q2N30hB0nSCWFpmJCjWKkCAwEAAYEFAAABAgOCBQAEAwIBo3sw\n"
- "eTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BgNVHREEMDAuiAQqAwQF\n"
- "ghF4bi0tbXhhYTRhczZkLmNvbYETdGVzdEB4bi0ta3hhd2hrLm9yZzAgBgNVHSUB\n"
- "Af8EFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADgYEAXE4Y\n"
- "kO1M8RrC5qT7rs9zYoMVELPtirENuuGW8d4RFppvMDg8kpqWOo0ASkAa1ZeYSukE\n"
- "m5KCEEyQ1UT00Vbr0Addn17y52RKMUzFhMmmu706MAvyutk51GmRgLusdbuEjgkn\n"
- "jv3WmT8StaS7bFMw99hWCKDBPV9EE9M7zRHP0Js=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICWTCCAcKgAwIBAgIDChEAMA0GCSqGSIb3DQEBCwUAMCsxDjAMBgNVBAMTBW5p\n"
+ "a29zMRkwFwYDVQQKExBub25lIHRvLCBtZW50aW9uMCAXDTA4MDMzMTIyMDAwMFoY\n"
+ "Dzk5OTkxMjMxMjM1OTU5WjArMQ4wDAYDVQQDEwVuaWtvczEZMBcGA1UEChMQbm9u\n"
+ "ZSB0bywgbWVudGlvbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu2ZD9fLF\n"
+ "17aMzMXf9Yg7sclLag6hrSBQQAiAoU9co9D4bM/mPPfsBHYTF4tkiSJbwN1TfDvt\n"
+ "fAS7gLkovo6bxo6gpRLL9Vceoue7tzNJn+O7Sq5qTWj/yRHiMo3OPYALjXXv2ACB\n"
+ "jygEA6AijWEEB/q2N30hB0nSCWFpmJCjWKkCAwEAAYEFAAABAgOCBQAEAwIBo3sw\n"
+ "eTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BgNVHREEMDAuiAQqAwQF\n"
+ "ghF4bi0tbXhhYTRhczZkLmNvbYETdGVzdEB4bi0ta3hhd2hrLm9yZzAgBgNVHSUB\n"
+ "Af8EFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADgYEAXE4Y\n"
+ "kO1M8RrC5qT7rs9zYoMVELPtirENuuGW8d4RFppvMDg8kpqWOo0ASkAa1ZeYSukE\n"
+ "m5KCEEyQ1UT00Vbr0Addn17y52RKMUzFhMmmu706MAvyutk51GmRgLusdbuEjgkn\n"
+ "jv3WmT8StaS7bFMw99hWCKDBPV9EE9M7zRHP0Js=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t saved_crt = { saved_crt_pem, sizeof(saved_crt_pem) - 1 };
@@ -59,7 +60,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -101,8 +102,8 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt2, &server_ecc_cert, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt2, &server_ecc_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret != 0)
fail("gnutls_x509_crt_import\n");
@@ -145,9 +146,8 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_set_key_usage %d\n", ret);
- ret =
- gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
- &err);
+ ret = gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
+ &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_dn: %s, %s\n", gnutls_strerror(ret),
err);
@@ -166,8 +166,7 @@ void doit(void)
ret = gnutls_x509_crt_set_subject_alt_name(crt, GNUTLS_SAN_RFC822NAME,
"ινβάλιντ@bar.org",
- strlen
- ("ινβάλιντ@bar.org"),
+ strlen("ινβάλιντ@bar.org"),
1);
if (ret != GNUTLS_E_INVALID_UTF8_EMAIL)
fail("gnutls_x509_crt_set_subject_alt_name\n");
@@ -177,9 +176,10 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
- ret = gnutls_x509_crt_set_subject_alt_name(crt, GNUTLS_SAN_IPADDRESS,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01",
- 16, 1);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_IPADDRESS,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01",
+ 16, 1);
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
@@ -188,16 +188,15 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
- ret =
- gnutls_x509_crt_set_subject_alt_name(crt, GNUTLS_SAN_REGISTERED_ID,
- REGISTERED_OID,
- strlen(REGISTERED_OID), 0);
+ ret = gnutls_x509_crt_set_subject_alt_name(crt,
+ GNUTLS_SAN_REGISTERED_ID,
+ REGISTERED_OID,
+ strlen(REGISTERED_OID), 0);
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
- ret = gnutls_x509_crt_set_subject_alt_name(crt, GNUTLS_SAN_DNSNAME,
- "απαλό.com",
- strlen("απαλό.com"), 1);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_DNSNAME, "απαλό.com", strlen("απαλό.com"), 1);
#if defined(HAVE_LIBIDN2) || defined(HAVE_LIBIDN)
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name: %s\n",
@@ -205,8 +204,7 @@ void doit(void)
ret = gnutls_x509_crt_set_subject_alt_name(crt, GNUTLS_SAN_RFC822NAME,
"test@νίκο.org",
- strlen("test@νίκο.org"),
- 1);
+ strlen("test@νίκο.org"), 1);
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
#else
@@ -221,9 +219,8 @@ void doit(void)
fail("gnutls_x509_crt_get_key_purpose_oid %d\n", ret);
s = 0;
- ret =
- gnutls_x509_crt_set_key_purpose_oid(crt,
- GNUTLS_KP_TLS_WWW_SERVER, 0);
+ ret = gnutls_x509_crt_set_key_purpose_oid(crt, GNUTLS_KP_TLS_WWW_SERVER,
+ 0);
if (ret != 0)
fail("gnutls_x509_crt_set_key_purpose_oid %d\n", ret);
@@ -233,33 +230,28 @@ void doit(void)
fail("gnutls_x509_crt_get_key_purpose_oid %d\n", ret);
s = 0;
- ret =
- gnutls_x509_crt_set_key_purpose_oid(crt,
- GNUTLS_KP_TLS_WWW_CLIENT, 1);
+ ret = gnutls_x509_crt_set_key_purpose_oid(crt, GNUTLS_KP_TLS_WWW_CLIENT,
+ 1);
if (ret != 0)
fail("gnutls_x509_crt_set_key_purpose_oid2 %d\n", ret);
/* in the end this will be ignored as the issuer will be set
* by gnutls_x509_crt_sign2() */
- ret =
- gnutls_x509_crt_set_issuer_dn(crt, "cn = my CA, o = big\\, and one",
- &err);
+ ret = gnutls_x509_crt_set_issuer_dn(
+ crt, "cn = my CA, o = big\\, and one", &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_issuer_dn: %s, %s\n",
gnutls_strerror(ret), err);
}
#define ISSUER_UNIQUE_ID "\x00\x01\x02\x03"
#define SUBJECT_UNIQUE_ID "\x04\x03\x02\x01"
- ret =
- gnutls_x509_crt_set_issuer_unique_id(crt, ISSUER_UNIQUE_ID,
- sizeof(ISSUER_UNIQUE_ID) - 1);
+ ret = gnutls_x509_crt_set_issuer_unique_id(
+ crt, ISSUER_UNIQUE_ID, sizeof(ISSUER_UNIQUE_ID) - 1);
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_x509_crt_set_subject_unique_id(crt, SUBJECT_UNIQUE_ID,
- sizeof(SUBJECT_UNIQUE_ID) -
- 1);
+ ret = gnutls_x509_crt_set_subject_unique_id(
+ crt, SUBJECT_UNIQUE_ID, sizeof(SUBJECT_UNIQUE_ID) - 1);
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
@@ -373,16 +365,16 @@ void doit(void)
/* check whether the PEM output matches gnutls_x509_crt_export2 */
s = sizeof(large_buf);
- assert(gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, large_buf, &s)
- == 0);
+ assert(gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, large_buf,
+ &s) == 0);
assert(s == out.size);
assert(memcmp(large_buf, out.data, out.size) == 0);
gnutls_free(out.data);
/* check whether the der out length differs */
s = sizeof(large_buf);
- assert(gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_DER, large_buf, &s)
- == 0);
+ assert(gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_DER, large_buf,
+ &s) == 0);
assert(gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_DER, &out) >= 0);
assert(s == out.size);
@@ -401,9 +393,8 @@ void doit(void)
i = 0;
do {
s = sizeof(buf);
- ret =
- gnutls_x509_crt_get_subject_alt_name2(crt2, i++, buf, &s,
- &san_type, NULL);
+ ret = gnutls_x509_crt_get_subject_alt_name2(crt2, i++, buf, &s,
+ &san_type, NULL);
if (ret < 0)
fail("gnutls_x509_crt_get_subject_alt_name2: %s\n",
gnutls_strerror(ret));
diff --git a/tests/crt_inv_write.c b/tests/crt_inv_write.c
index 4d7f6247ea..0db9c87dcb 100644
--- a/tests/crt_inv_write.c
+++ b/tests/crt_inv_write.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -41,7 +41,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -102,18 +102,19 @@ static void do_crt_with_exts(unsigned version)
if (ret != 0)
fail("gnutls_x509_crt_set_key\n");
- ret = gnutls_x509_crt_set_basic_constraints(crt, 0, -1); /* invalid for V1 */
+ ret = gnutls_x509_crt_set_basic_constraints(crt, 0,
+ -1); /* invalid for V1 */
if (ret < 0) {
fail("error\n");
}
- ret = gnutls_x509_crt_set_key_usage(crt, GNUTLS_KEY_DIGITAL_SIGNATURE); /* inv for V1 */
+ ret = gnutls_x509_crt_set_key_usage(
+ crt, GNUTLS_KEY_DIGITAL_SIGNATURE); /* inv for V1 */
if (ret != 0)
fail("gnutls_x509_crt_set_key_usage %d\n", ret);
- ret =
- gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
- &err);
+ ret = gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
+ &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_dn: %s, %s\n", gnutls_strerror(ret),
err);
@@ -122,8 +123,8 @@ static void do_crt_with_exts(unsigned version)
ret = gnutls_x509_crt_sign2(crt, crt, pkey, GNUTLS_DIG_SHA256, 0);
if (ret != GNUTLS_E_X509_CERTIFICATE_ERROR) {
gnutls_datum_t out;
- assert(gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_PEM, &out)
- >= 0);
+ assert(gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_PEM,
+ &out) >= 0);
printf("%s\n\n", out.data);
fail("gnutls_x509_crt_sign2: %s\n", gnutls_strerror(ret));
@@ -191,9 +192,8 @@ static void do_v1_invalid_crt(void)
fail("error\n");
}
- ret =
- gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
- &err);
+ ret = gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
+ &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_dn: %s, %s\n", gnutls_strerror(ret),
err);
@@ -202,8 +202,8 @@ static void do_v1_invalid_crt(void)
ret = gnutls_x509_crt_sign2(crt, crt, pkey, GNUTLS_DIG_SHA256, 0);
if (ret != GNUTLS_E_X509_CERTIFICATE_ERROR) {
gnutls_datum_t out;
- assert(gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_PEM, &out)
- >= 0);
+ assert(gnutls_x509_crt_export2(crt, GNUTLS_X509_FMT_PEM,
+ &out) >= 0);
printf("%s\n\n", out.data);
fail("gnutls_x509_crt_sign2: %s\n", gnutls_strerror(ret));
diff --git a/tests/crt_type-neg-common.c b/tests/crt_type-neg-common.c
index 8e6a5dc78e..5f3637e695 100644
--- a/tests/crt_type-neg-common.c
+++ b/tests/crt_type-neg-common.c
@@ -24,9 +24,9 @@
#include <stdbool.h>
// Credential type flags
-#define CRED_EMPTY 1<<0
-#define CRED_X509 1<<1
-#define CRED_RAWPK 1<<2
+#define CRED_EMPTY 1 << 0
+#define CRED_X509 1 << 1
+#define CRED_RAWPK 1 << 2
// Test case definition
typedef struct test_case_st {
@@ -44,15 +44,19 @@ typedef struct test_case_st {
bool request_cli_crt;
bool cli_srv_may_diverge;
// only needed when may_diverge is true
- gnutls_certificate_type_t expected_cli_cli_ctype; // negotiated cli ctype on the client
- gnutls_certificate_type_t expected_srv_cli_ctype; // negotiated cli ctype on the server
- gnutls_certificate_type_t expected_cli_srv_ctype; // negotiated srv ctype on the client
- gnutls_certificate_type_t expected_srv_srv_ctype; // negotiated srv ctype on the server
+ gnutls_certificate_type_t
+ expected_cli_cli_ctype; // negotiated cli ctype on the client
+ gnutls_certificate_type_t
+ expected_srv_cli_ctype; // negotiated cli ctype on the server
+ gnutls_certificate_type_t
+ expected_cli_srv_ctype; // negotiated srv ctype on the client
+ gnutls_certificate_type_t
+ expected_srv_srv_ctype; // negotiated srv ctype on the server
} test_case_st;
-static void try(test_case_st * test)
+static void try(test_case_st *test)
{
- int sret, cret; // Needed for HANDSHAKE macro
+ int sret, cret; // Needed for HANDSHAKE macro
/* To hold negotiated certificate types */
gnutls_certificate_type_t srv_srv_ctype, srv_cli_ctype;
gnutls_certificate_type_t cli_srv_ctype, cli_cli_ctype;
@@ -71,15 +75,15 @@ static void try(test_case_st * test)
// Init client/server
if (test->init_flags_cli) {
- assert(gnutls_init
- (&client, GNUTLS_CLIENT | test->init_flags_cli) >= 0);
+ assert(gnutls_init(&client,
+ GNUTLS_CLIENT | test->init_flags_cli) >= 0);
} else {
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
}
if (test->init_flags_srv) {
- assert(gnutls_init
- (&server, GNUTLS_SERVER | test->init_flags_srv) >= 0);
+ assert(gnutls_init(&server,
+ GNUTLS_SERVER | test->init_flags_srv) >= 0);
} else {
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
}
@@ -92,16 +96,16 @@ static void try(test_case_st * test)
} else {
// Test for using X509 cli credentials
if (test->set_cli_creds & CRED_X509) {
- assert(gnutls_certificate_set_x509_key_mem
- (client_creds, &cli_ca3_cert, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ client_creds, &cli_ca3_cert,
+ &cli_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
}
// Test for using RawPubKey cli credentials
if (test->set_cli_creds & CRED_RAWPK) {
- assert(gnutls_certificate_set_rawpk_key_mem
- (client_creds, &rawpk_public_key1,
- &rawpk_private_key1, GNUTLS_X509_FMT_PEM, NULL,
- 0, NULL, 0, 0) >= 0);
+ assert(gnutls_certificate_set_rawpk_key_mem(
+ client_creds, &rawpk_public_key1,
+ &rawpk_private_key1, GNUTLS_X509_FMT_PEM,
+ NULL, 0, NULL, 0, 0) >= 0);
}
// -- Add extra ctype creds here in the future --
@@ -117,26 +121,30 @@ static void try(test_case_st * test)
} else {
// Test for using X509 srv credentials
if (test->set_srv_creds & CRED_X509) {
- assert(gnutls_certificate_set_x509_key_mem
- (server_creds,
- &server_ca3_localhost_rsa_decrypt_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (server_creds, &server_ca3_localhost_ecc_cert,
- &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (server_creds,
- &server_ca3_localhost_rsa_sign_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
- gnutls_certificate_set_known_dh_params(server_creds,
- GNUTLS_SEC_PARAM_MEDIUM);
+ assert(gnutls_certificate_set_x509_key_mem(
+ server_creds,
+ &server_ca3_localhost_rsa_decrypt_cert,
+ &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ server_creds,
+ &server_ca3_localhost_ecc_cert,
+ &server_ca3_ecc_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ server_creds,
+ &server_ca3_localhost_rsa_sign_cert,
+ &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ gnutls_certificate_set_known_dh_params(
+ server_creds, GNUTLS_SEC_PARAM_MEDIUM);
}
// Test for using RawPubKey srv credentials
if (test->set_srv_creds & CRED_RAWPK) {
- assert(gnutls_certificate_set_rawpk_key_mem
- (server_creds, &rawpk_public_key2,
- &rawpk_private_key2, GNUTLS_X509_FMT_PEM, NULL,
- 0, NULL, 0, 0) >= 0);
+ assert(gnutls_certificate_set_rawpk_key_mem(
+ server_creds, &rawpk_public_key2,
+ &rawpk_private_key2, GNUTLS_X509_FMT_PEM,
+ NULL, 0, NULL, 0, 0) >= 0);
}
// -- Add extra ctype creds here in the future --
@@ -173,65 +181,105 @@ static void try(test_case_st * test)
HANDSHAKE(client, server);
/* Get the negotiated certificate types */
- srv_srv_ctype =
- gnutls_certificate_type_get2(server, GNUTLS_CTYPE_SERVER);
- srv_cli_ctype =
- gnutls_certificate_type_get2(server, GNUTLS_CTYPE_CLIENT);
- cli_srv_ctype =
- gnutls_certificate_type_get2(client, GNUTLS_CTYPE_SERVER);
- cli_cli_ctype =
- gnutls_certificate_type_get2(client, GNUTLS_CTYPE_CLIENT);
+ srv_srv_ctype = gnutls_certificate_type_get2(
+ server, GNUTLS_CTYPE_SERVER);
+ srv_cli_ctype = gnutls_certificate_type_get2(
+ server, GNUTLS_CTYPE_CLIENT);
+ cli_srv_ctype = gnutls_certificate_type_get2(
+ client, GNUTLS_CTYPE_SERVER);
+ cli_cli_ctype = gnutls_certificate_type_get2(
+ client, GNUTLS_CTYPE_CLIENT);
// For debugging
if (debug) {
success("Srv srv ctype: %s\n",
- gnutls_certificate_type_get_name
- (srv_srv_ctype));
+ gnutls_certificate_type_get_name(
+ srv_srv_ctype));
success("Srv cli ctype: %s\n",
- gnutls_certificate_type_get_name
- (srv_cli_ctype));
+ gnutls_certificate_type_get_name(
+ srv_cli_ctype));
success("Cli srv ctype: %s\n",
- gnutls_certificate_type_get_name
- (cli_srv_ctype));
+ gnutls_certificate_type_get_name(
+ cli_srv_ctype));
success("Cli srv ctype: %s\n",
- gnutls_certificate_type_get_name
- (cli_cli_ctype));
+ gnutls_certificate_type_get_name(
+ cli_cli_ctype));
}
/* Check whether the negotiated certificate types match the expected results */
if (test->cli_srv_may_diverge) {
// Matching expected client ctype at client
if (cli_cli_ctype != test->expected_cli_cli_ctype) {
- fail("%s: negotiated client ctype at client diffs the expected (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(cli_cli_ctype), gnutls_certificate_type_get_name(test->expected_cli_cli_ctype));
+ fail("%s: negotiated client ctype at client diffs the expected (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ cli_cli_ctype),
+ gnutls_certificate_type_get_name(
+ test->expected_cli_cli_ctype));
}
// Matching expected server ctype at client
if (cli_srv_ctype != test->expected_cli_srv_ctype) {
- fail("%s: negotiated server ctype at client diffs the expected (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(cli_srv_ctype), gnutls_certificate_type_get_name(test->expected_cli_srv_ctype));
+ fail("%s: negotiated server ctype at client diffs the expected (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ cli_srv_ctype),
+ gnutls_certificate_type_get_name(
+ test->expected_cli_srv_ctype));
}
// Matching expected client ctype at server
if (srv_cli_ctype != test->expected_srv_cli_ctype) {
- fail("%s: negotiated client ctype at server diffs the expected (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(srv_cli_ctype), gnutls_certificate_type_get_name(test->expected_srv_cli_ctype));
+ fail("%s: negotiated client ctype at server diffs the expected (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ srv_cli_ctype),
+ gnutls_certificate_type_get_name(
+ test->expected_srv_cli_ctype));
}
// Matching expected server ctype at server
if (srv_srv_ctype != test->expected_srv_srv_ctype) {
- fail("%s: negotiated client ctype at client diffs the expected (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(srv_srv_ctype), gnutls_certificate_type_get_name(test->expected_srv_srv_ctype));
+ fail("%s: negotiated client ctype at client diffs the expected (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ srv_srv_ctype),
+ gnutls_certificate_type_get_name(
+ test->expected_srv_srv_ctype));
}
} else {
// Matching server ctype
if (srv_srv_ctype != cli_srv_ctype) {
- fail("%s: client negotiated different server ctype than server (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(cli_srv_ctype), gnutls_certificate_type_get_name(srv_srv_ctype));
+ fail("%s: client negotiated different server ctype than server (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ cli_srv_ctype),
+ gnutls_certificate_type_get_name(
+ srv_srv_ctype));
}
// Matching client ctype
if (srv_cli_ctype != cli_cli_ctype) {
- fail("%s: client negotiated different client ctype than server (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(cli_cli_ctype), gnutls_certificate_type_get_name(srv_cli_ctype));
+ fail("%s: client negotiated different client ctype than server (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ cli_cli_ctype),
+ gnutls_certificate_type_get_name(
+ srv_cli_ctype));
}
// Matching expected server ctype
if (srv_srv_ctype != test->expected_srv_ctype) {
- fail("%s: negotiated server ctype diffs the expected (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(srv_srv_ctype), gnutls_certificate_type_get_name(test->expected_srv_ctype));
+ fail("%s: negotiated server ctype diffs the expected (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ srv_srv_ctype),
+ gnutls_certificate_type_get_name(
+ test->expected_srv_ctype));
}
// Matching expected client ctype
if (srv_cli_ctype != test->expected_cli_ctype) {
- fail("%s: negotiated client ctype diffs the expected (%s, %s)!\n", test->name, gnutls_certificate_type_get_name(srv_cli_ctype), gnutls_certificate_type_get_name(test->expected_cli_ctype));
+ fail("%s: negotiated client ctype diffs the expected (%s, %s)!\n",
+ test->name,
+ gnutls_certificate_type_get_name(
+ srv_cli_ctype),
+ gnutls_certificate_type_get_name(
+ test->expected_cli_ctype));
}
/* Check whether the API functions return the correct cert types for OURS and PEERS */
@@ -239,11 +287,11 @@ static void try(test_case_st * test)
gnutls_certificate_type_get2(server,
GNUTLS_CTYPE_OURS));
assert(srv_srv_ctype ==
- gnutls_certificate_type_get2(client,
- GNUTLS_CTYPE_PEERS));
+ gnutls_certificate_type_get2(
+ client, GNUTLS_CTYPE_PEERS));
assert(cli_cli_ctype ==
- gnutls_certificate_type_get2(server,
- GNUTLS_CTYPE_PEERS));
+ gnutls_certificate_type_get2(
+ server, GNUTLS_CTYPE_PEERS));
assert(cli_cli_ctype ==
gnutls_certificate_type_get2(client,
GNUTLS_CTYPE_OURS));
diff --git a/tests/custom-urls-override.c b/tests/custom-urls-override.c
index aa3de7bdad..e089446cdd 100644
--- a/tests/custom-urls-override.c
+++ b/tests/custom-urls-override.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,21 +35,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/abstract.h>
-# include <gnutls/urls.h>
-# include <signal.h>
-# include <assert.h>
-# include "cert-common.h"
-
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/abstract.h>
+#include <gnutls/urls.h>
+#include <signal.h>
+#include <assert.h>
+#include "cert-common.h"
+
+#include "utils.h"
static void terminate(void);
static unsigned url_used = 0;
@@ -99,8 +99,8 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -110,8 +110,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -124,8 +123,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -158,10 +157,8 @@ static void server(int fd)
*/
gnutls_certificate_allocate_credentials(&x509_cred);
- ret =
- gnutls_certificate_set_x509_key_file(x509_cred, "system:cert",
- "system:key",
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_file(
+ x509_cred, "system:cert", "system:key", GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("server: gnutls_certificate_set_x509_key_file (%s)\n\n",
gnutls_strerror(ret));
@@ -173,8 +170,8 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -182,8 +179,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -196,8 +192,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (url_used != 2) {
fail("The callbacks were not used\n");
@@ -219,12 +215,10 @@ static void server(int fd)
success("server: finished\n");
}
-const gnutls_custom_url_st custom_url_st = {
- .name = "system:",
- .name_size = sizeof("system:") - 1,
- .import_key = url_import_key,
- .import_crt = url_import_crt
-};
+const gnutls_custom_url_st custom_url_st = { .name = "system:",
+ .name_size = sizeof("system:") - 1,
+ .import_key = url_import_key,
+ .import_crt = url_import_crt };
static void start(void)
{
@@ -285,4 +279,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/custom-urls.c b/tests/custom-urls.c
index 168ab030d1..045f585d3a 100644
--- a/tests/custom-urls.c
+++ b/tests/custom-urls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,21 +35,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/abstract.h>
-# include <gnutls/urls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/abstract.h>
+#include <gnutls/urls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -96,8 +96,8 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -107,8 +107,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -121,8 +120,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -154,19 +153,16 @@ static void server(int fd)
/* this must be called once in the program
*/
gnutls_certificate_allocate_credentials(&x509_cred);
- ret =
- gnutls_certificate_set_x509_key_file(x509_cred, "nomyurl:cert",
- "nomyurl:key",
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_file(
+ x509_cred, "nomyurl:cert", "nomyurl:key", GNUTLS_X509_FMT_PEM);
if (ret != GNUTLS_E_FILE_ERROR) {
- fail("server: gnutls_certificate_set_x509_key_file unexpected error (%s)\n\n", gnutls_strerror(ret));
+ fail("server: gnutls_certificate_set_x509_key_file unexpected error (%s)\n\n",
+ gnutls_strerror(ret));
terminate();
}
- ret =
- gnutls_certificate_set_x509_key_file(x509_cred, "myurl:cert",
- "myurl:key",
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_file(
+ x509_cred, "myurl:cert", "myurl:key", GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("server: gnutls_certificate_set_x509_key_file (%s)\n\n",
gnutls_strerror(ret));
@@ -178,8 +174,8 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -187,8 +183,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -201,8 +196,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
@@ -219,12 +214,10 @@ static void server(int fd)
success("server: finished\n");
}
-const gnutls_custom_url_st custom_url_st = {
- .name = "myurl:",
- .name_size = sizeof("myurl:") - 1,
- .import_key = url_import_key,
- .import_crt = url_import_crt
-};
+const gnutls_custom_url_st custom_url_st = { .name = "myurl:",
+ .name_size = sizeof("myurl:") - 1,
+ .import_key = url_import_key,
+ .import_crt = url_import_crt };
static void start(void)
{
@@ -285,4 +278,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/cve-2008-4989.c b/tests/cve-2008-4989.c
index d204a0cf27..43a94e296e 100644
--- a/tests/cve-2008-4989.c
+++ b/tests/cve-2008-4989.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,111 +37,112 @@
static const char *pem_certs[] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIB6zCCAVQCCQCgwnB/k0WZrDANBgkqhkiG9w0BAQUFADA9MQswCQYDVQQGEwJE\n"
- "RTEXMBUGA1UEChMOR05VIFRMUyBBdHRhY2sxFTATBgNVBAMTDGludGVybWVkaWF0\n"
- "ZTAeFw0wODExMDMxMjA1MDRaFw0wODEyMDMxMjA1MDRaMDcxCzAJBgNVBAYTAkRF\n"
- "MRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazEPMA0GA1UEAxMGc2VydmVyMIGfMA0G\n"
- "CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKdL9g5ErMLOLRCjiomZlNLhy0moWGaKIW\n"
- "aX6vyUIfh8d6FcArHoKoqhmX7ckvod50sOYPojQesDpl7gVaQNA6Ntr1VCcuNPef\n"
- "UKWtEwL0Qu9JbPnUoIYd7mAaqVQgFp6W6yzV/dp63LH4XSdzBMhpZ/EU6vZoE8Sv\n"
- "VLdqj5r6jwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAH4QRR7sZEbjW00tXYk/3O/Z\n"
- "96AxJNg0F78W5B68gaJrLJ7DTE2RTglscuEq1+2Jyb4AIziwXpYqxgwcP91QpH97\n"
- "XfwdXIcyjYvVLHiKmkQj2zJTY7MeyiEQQ2it8VstZG2fYmi2EiMZIEnyJ2JJ7bA7\n"
- "bF7pG7Cg3oEHUM0H5KUU\n" "-----END CERTIFICATE-----\n",
+ "MIIB6zCCAVQCCQCgwnB/k0WZrDANBgkqhkiG9w0BAQUFADA9MQswCQYDVQQGEwJE\n"
+ "RTEXMBUGA1UEChMOR05VIFRMUyBBdHRhY2sxFTATBgNVBAMTDGludGVybWVkaWF0\n"
+ "ZTAeFw0wODExMDMxMjA1MDRaFw0wODEyMDMxMjA1MDRaMDcxCzAJBgNVBAYTAkRF\n"
+ "MRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazEPMA0GA1UEAxMGc2VydmVyMIGfMA0G\n"
+ "CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKdL9g5ErMLOLRCjiomZlNLhy0moWGaKIW\n"
+ "aX6vyUIfh8d6FcArHoKoqhmX7ckvod50sOYPojQesDpl7gVaQNA6Ntr1VCcuNPef\n"
+ "UKWtEwL0Qu9JbPnUoIYd7mAaqVQgFp6W6yzV/dp63LH4XSdzBMhpZ/EU6vZoE8Sv\n"
+ "VLdqj5r6jwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAH4QRR7sZEbjW00tXYk/3O/Z\n"
+ "96AxJNg0F78W5B68gaJrLJ7DTE2RTglscuEq1+2Jyb4AIziwXpYqxgwcP91QpH97\n"
+ "XfwdXIcyjYvVLHiKmkQj2zJTY7MeyiEQQ2it8VstZG2fYmi2EiMZIEnyJ2JJ7bA7\n"
+ "bF7pG7Cg3oEHUM0H5KUU\n"
+ "-----END CERTIFICATE-----\n",
"-----BEGIN CERTIFICATE-----\n"
- "MIICADCCAWmgAwIBAgIJAIZ4nkHQAqTFMA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV\n"
- "BAYTAkRFMRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazENMAsGA1UEAxMEcm9vdDAe\n"
- "Fw0wODExMDMxMjA0NDVaFw0wODEyMDMxMjA0NDVaMD0xCzAJBgNVBAYTAkRFMRcw\n"
- "FQYDVQQKEw5HTlUgVExTIEF0dGFjazEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMIGf\n"
- "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvBpW8sAhIuUmNvcBE6wv/q7MtM1Z9\n"
- "2I1SDL8eJ8I2nPg6BlCX+OIqNruynj8J7uPEQ04ZLwLxNXoyZa8057YFyrKLOvoj\n"
- "5IfBtidsLWYv6PO3qqHJXVvwGdS7PKMuUlsjucCRyXVgQ07ODF7piqoVFi9KD99w\n"
- "AU5+9plGrZNP/wIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\n"
- "A4GBAGPg+M+8MsB6zHN2o+jAtyqovrTTwmzVWEgfEH/aHC9+imGZRQ5lFNc2vdny\n"
- "AgaJ9/izO5S6Ibb5zUowN2WhoUJOVipuQa2m9AviOgheoU7tmANC9ylm/pRkKy/0\n"
- "n5UVzlKxDhRp/xBb7MWOw3KEQjiAf2Z3wCLcCPUqcJUdJC4v\n"
- "-----END CERTIFICATE-----\n",
+ "MIICADCCAWmgAwIBAgIJAIZ4nkHQAqTFMA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV\n"
+ "BAYTAkRFMRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazENMAsGA1UEAxMEcm9vdDAe\n"
+ "Fw0wODExMDMxMjA0NDVaFw0wODEyMDMxMjA0NDVaMD0xCzAJBgNVBAYTAkRFMRcw\n"
+ "FQYDVQQKEw5HTlUgVExTIEF0dGFjazEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMIGf\n"
+ "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvBpW8sAhIuUmNvcBE6wv/q7MtM1Z9\n"
+ "2I1SDL8eJ8I2nPg6BlCX+OIqNruynj8J7uPEQ04ZLwLxNXoyZa8057YFyrKLOvoj\n"
+ "5IfBtidsLWYv6PO3qqHJXVvwGdS7PKMuUlsjucCRyXVgQ07ODF7piqoVFi9KD99w\n"
+ "AU5+9plGrZNP/wIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\n"
+ "A4GBAGPg+M+8MsB6zHN2o+jAtyqovrTTwmzVWEgfEH/aHC9+imGZRQ5lFNc2vdny\n"
+ "AgaJ9/izO5S6Ibb5zUowN2WhoUJOVipuQa2m9AviOgheoU7tmANC9ylm/pRkKy/0\n"
+ "n5UVzlKxDhRp/xBb7MWOw3KEQjiAf2Z3wCLcCPUqcJUdJC4v\n"
+ "-----END CERTIFICATE-----\n",
"-----BEGIN CERTIFICATE-----\n"
- "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
- "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
- "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
- "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
- "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
- "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
- "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
- "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
- "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
- "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
- "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
- "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
- "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
- "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
- "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
- "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
- "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
- "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
- "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
- "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
- "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
- "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
- "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
- "-----END CERTIFICATE-----\n"
+ "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
+ "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
+ "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
+ "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
+ "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
+ "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
+ "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
+ "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
+ "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
+ "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
+ "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
+ "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
+ "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
+ "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
+ "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
+ "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
+ "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
+ "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
+ "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
+ "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
+ "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
+ "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
+ "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
+ "-----END CERTIFICATE-----\n"
};
static const char *pem_ca = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
- "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
- "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
- "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
- "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
- "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
- "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
- "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
- "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
- "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
- "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
- "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
- "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
- "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
- "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
- "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
- "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
- "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
- "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
- "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
- "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
- "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
- "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
- "-----END CERTIFICATE-----\n"
+ "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
+ "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
+ "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
+ "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
+ "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
+ "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
+ "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
+ "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
+ "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
+ "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
+ "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
+ "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
+ "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
+ "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
+ "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
+ "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
+ "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
+ "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
+ "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
+ "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
+ "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
+ "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
+ "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
+ "-----END CERTIFICATE-----\n"
};
-#define CHAIN_LENGTH (sizeof (pem_certs) / sizeof (pem_certs[0]))
+#define CHAIN_LENGTH (sizeof(pem_certs) / sizeof(pem_certs[0]))
static const char *pem_self_cert = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIDgjCCAmygAwIBAgIBADALBgkqhkiG9w0BAQUwSzELMAkGA1UEBhMCQlIxFDAS\n"
- "BgNVBAoTC01pbmFzIExpdnJlMSYwJAYDVQQDEx1UaGFkZXUgTGltYSBkZSBTb3V6\n"
- "YSBDYXNjYXJkbzAeFw0wODA1MzAxOTUzNDNaFw0wODExMjYxOTUzNDNaMEsxCzAJ\n"
- "BgNVBAYTAkJSMRQwEgYDVQQKEwtNaW5hcyBMaXZyZTEmMCQGA1UEAxMdVGhhZGV1\n"
- "IExpbWEgZGUgU291emEgQ2FzY2FyZG8wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIB\n"
- "CQKCAQC4D934O6wrXJbMyu1w8gu6nN0aNUDGqrX9UgaB/4xVuYhPlhjH0z9Dqic9\n"
- "0pEZmyNCjQmzDSg/hnlY3fBG0i9Iel2oYn1UB4SdcJ2qGkLS87y2ZbMTS1oyMR7/\n"
- "y9l3WGEWqwgjIvOjGstcZo0rCIF8Qr21QGX22KWg2HXlMaZyA9bGtJ+L+x6f2hoo\n"
- "yIPCA30VMvIgHjOSPQJF3iJFE4Uxq1PQ65W91NyI6/bRKFOmFdCUJW8tqqvntYP8\n"
- "hEE08wGlKimFNv7CqZuRI8QuOnhZ7pBXkyvQpW8yHrORlOHxSjkNQKjddt92TCJb\n"
- "1q6eKv2CtCuDLgCuIy0Onr4U9n+hAgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8w\n"
- "HgYDVR0RBBcwFYITbWFpbC5taW5hc2xpdnJlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
- "BQcDATAPBgNVHQ8BAf8EBQMDB6QAMB0GA1UdDgQWBBQ/5v42y0jBHUKEfqpPmr5a\n"
- "WsjCGjALBgkqhkiG9w0BAQUDggEBAC/WfO2yK3vM9bG0qFEj8sd0cWiapMhf5PtH\n"
- "jigcPb/OKqSFQVXpAdNiUclPRP79Ih3CuWiXfZ/CW0+k2Z8tyy6AnEQItWvoVh/b\n"
- "8lS7Ph/f9JUYHp2DtgsQWcNQbrUZOPFBu8J4MD6cDWG5Uxwl3YASg30ZdmMDNT8B\n"
- "HshYz0HUOAhYwVSI3J/f7LFhD5OpjSroHgE7wA9UJrerAp9f7e3e9D7kNQ8DlvLP\n"
- "kz6Jh+5M/xD3JO1yl+evaCp3LA+z4M2xiNvtzkAEgj3t6RaJ81Sh5XGiooDYZ14R\n"
- "DgEBYLTUfBYBPzoaahPEdG/f0kUjUBJ34fkBUSjJKURPTHJfDfA=\n"
- "-----END CERTIFICATE-----\n"
+ "MIIDgjCCAmygAwIBAgIBADALBgkqhkiG9w0BAQUwSzELMAkGA1UEBhMCQlIxFDAS\n"
+ "BgNVBAoTC01pbmFzIExpdnJlMSYwJAYDVQQDEx1UaGFkZXUgTGltYSBkZSBTb3V6\n"
+ "YSBDYXNjYXJkbzAeFw0wODA1MzAxOTUzNDNaFw0wODExMjYxOTUzNDNaMEsxCzAJ\n"
+ "BgNVBAYTAkJSMRQwEgYDVQQKEwtNaW5hcyBMaXZyZTEmMCQGA1UEAxMdVGhhZGV1\n"
+ "IExpbWEgZGUgU291emEgQ2FzY2FyZG8wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIB\n"
+ "CQKCAQC4D934O6wrXJbMyu1w8gu6nN0aNUDGqrX9UgaB/4xVuYhPlhjH0z9Dqic9\n"
+ "0pEZmyNCjQmzDSg/hnlY3fBG0i9Iel2oYn1UB4SdcJ2qGkLS87y2ZbMTS1oyMR7/\n"
+ "y9l3WGEWqwgjIvOjGstcZo0rCIF8Qr21QGX22KWg2HXlMaZyA9bGtJ+L+x6f2hoo\n"
+ "yIPCA30VMvIgHjOSPQJF3iJFE4Uxq1PQ65W91NyI6/bRKFOmFdCUJW8tqqvntYP8\n"
+ "hEE08wGlKimFNv7CqZuRI8QuOnhZ7pBXkyvQpW8yHrORlOHxSjkNQKjddt92TCJb\n"
+ "1q6eKv2CtCuDLgCuIy0Onr4U9n+hAgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8w\n"
+ "HgYDVR0RBBcwFYITbWFpbC5taW5hc2xpdnJlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
+ "BQcDATAPBgNVHQ8BAf8EBQMDB6QAMB0GA1UdDgQWBBQ/5v42y0jBHUKEfqpPmr5a\n"
+ "WsjCGjALBgkqhkiG9w0BAQUDggEBAC/WfO2yK3vM9bG0qFEj8sd0cWiapMhf5PtH\n"
+ "jigcPb/OKqSFQVXpAdNiUclPRP79Ih3CuWiXfZ/CW0+k2Z8tyy6AnEQItWvoVh/b\n"
+ "8lS7Ph/f9JUYHp2DtgsQWcNQbrUZOPFBu8J4MD6cDWG5Uxwl3YASg30ZdmMDNT8B\n"
+ "HshYz0HUOAhYwVSI3J/f7LFhD5OpjSroHgE7wA9UJrerAp9f7e3e9D7kNQ8DlvLP\n"
+ "kz6Jh+5M/xD3JO1yl+evaCp3LA+z4M2xiNvtzkAEgj3t6RaJ81Sh5XGiooDYZ14R\n"
+ "DgEBYLTUfBYBPzoaahPEdG/f0kUjUBJ34fkBUSjJKURPTHJfDfA=\n"
+ "-----END CERTIFICATE-----\n"
};
int main(int argc, char *argv[])
@@ -163,16 +164,16 @@ int main(int argc, char *argv[])
for (i = 0; i < CHAIN_LENGTH; i++) {
ret = gnutls_x509_crt_init(&certs[i]);
if (ret < 0) {
- fprintf(stderr, "gnutls_x509_crt_init[%d]: %s",
- (int)i, gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init[%d]: %s", (int)i,
+ gnutls_strerror(ret));
exit(1);
}
tmp.data = (unsigned char *)pem_certs[i];
tmp.size = strlen(pem_certs[i]);
- ret =
- gnutls_x509_crt_import(certs[i], &tmp, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[i], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "gnutls_x509_crt_import[%d]: %s",
(int)i, gnutls_strerror(ret));
@@ -197,15 +198,13 @@ int main(int argc, char *argv[])
exit(1);
}
- ret = gnutls_x509_crt_list_verify(certs, CHAIN_LENGTH,
- &ca, 1,
- NULL, 0,
+ ret = gnutls_x509_crt_list_verify(certs, CHAIN_LENGTH, &ca, 1, NULL, 0,
GNUTLS_VERIFY_DISABLE_TIME_CHECKS |
- GNUTLS_VERIFY_ALLOW_BROKEN,
+ GNUTLS_VERIFY_ALLOW_BROKEN,
&verify_status);
if (ret < 0) {
- fprintf(stderr, "gnutls_x509_crt_list_verify[%d]: %s",
- (int)i, gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_list_verify[%d]: %s", (int)i,
+ gnutls_strerror(ret));
exit(1);
}
@@ -238,14 +237,12 @@ int main(int argc, char *argv[])
gnutls_strerror(ret));
exit(1);
}
- ret = gnutls_x509_crt_list_verify(&self_cert, 1,
- &self_cert, 1,
- NULL, 0,
+ ret = gnutls_x509_crt_list_verify(&self_cert, 1, &self_cert, 1, NULL, 0,
GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
&verify_status);
if (ret < 0) {
- fprintf(stderr, "gnutls_x509_crt_list_verify[%d]: %s",
- (int)i, gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_list_verify[%d]: %s", (int)i,
+ gnutls_strerror(ret));
exit(1);
}
diff --git a/tests/cve-2009-1415.c b/tests/cve-2009-1415.c
index 8827bd2d7d..50e76691bb 100644
--- a/tests/cve-2009-1415.c
+++ b/tests/cve-2009-1415.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/*
@@ -49,30 +49,29 @@
#include <gnutls/abstract.h>
static char dsa_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDbzCCAtqgAwIBAgIERiYdRTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTQxWhcNMDgwNDE3MTMyOTQxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCCAbQwggEpBgcqhkjOOAQBMIIBHAKBgLmE9VqBvhoNxYpzjwybL5u2DkvD\n"
- "dBp/ZK2d8yjFoEe8m1dW8ZfVfjcD6fJM9OOLfzCjXS+7oaI3wuo1jx+xX6aiXwHx\n"
- "IzYr5E8vLd2d1TqmOa96UXzSJY6XdM8exXtLdkOBBx8GFLhuWBLhkOI3b9Ib7GjF\n"
- "WOLmMOBqXixjeOwHAhSfVoxIZC/+jap6bZbbBF0W7wilcQKBgGIGfuRcdgi3Rhpd\n"
- "15fUKiH7HzHJ0vT6Odgn0Zv8J12nCqca/FPBL0PCN8iFfz1Mq12BMvsdXh5UERYg\n"
- "xoBa2YybQ/Dda6D0w/KKnDnSHHsP7/ook4/SoSLr3OCKi60oDs/vCYXpNr2LelDV\n"
- "e/clDWxgEcTvcJDP1hvru47GPjqXA4GEAAKBgA+Kh1fy0cLcrN9Liw+Luin34QPk\n"
- "VfqymAfW/RKxgLz1urRQ1H+gDkPnn8l4EV/l5Awsa2qkNdy9VOVgNpox0YpZbmsc\n"
- "ur0uuut8h+/ayN2h66SD5out+vqOW9c3yDI+lsI+9EPafZECD7e8+O+P90EAXpbf\n"
- "DwiW3Oqy6QaCr9Ivo4GTMIGQMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdGVz\n"
- "dC5nbnV0bHMub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
- "gAAwHQYDVR0OBBYEFL/su87Y6HtwVuzz0SuS1tSZClvzMB8GA1UdIwQYMBaAFOk8\n"
- "HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQBCsrnfD1xzh8/Eih1f\n"
- "x+M0lPoX1Re5L2ElHI6DJpHYOBPwf9glwxnet2+avzgUQDUFwUSxOhodpyeaACXD\n"
- "o0gGVpcH8sOBTQ+aTdM37hGkPxoXjtIkR/LgG5nP2H2JRd5TkW8l13JdM4MJFB4W\n"
- "QcDzQ8REwidsfh9uKAluk1c/KQ==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t dsa_cert_dat = {
- (void *)dsa_cert, sizeof(dsa_cert)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDbzCCAtqgAwIBAgIERiYdRTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTQxWhcNMDgwNDE3MTMyOTQxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCCAbQwggEpBgcqhkjOOAQBMIIBHAKBgLmE9VqBvhoNxYpzjwybL5u2DkvD\n"
+ "dBp/ZK2d8yjFoEe8m1dW8ZfVfjcD6fJM9OOLfzCjXS+7oaI3wuo1jx+xX6aiXwHx\n"
+ "IzYr5E8vLd2d1TqmOa96UXzSJY6XdM8exXtLdkOBBx8GFLhuWBLhkOI3b9Ib7GjF\n"
+ "WOLmMOBqXixjeOwHAhSfVoxIZC/+jap6bZbbBF0W7wilcQKBgGIGfuRcdgi3Rhpd\n"
+ "15fUKiH7HzHJ0vT6Odgn0Zv8J12nCqca/FPBL0PCN8iFfz1Mq12BMvsdXh5UERYg\n"
+ "xoBa2YybQ/Dda6D0w/KKnDnSHHsP7/ook4/SoSLr3OCKi60oDs/vCYXpNr2LelDV\n"
+ "e/clDWxgEcTvcJDP1hvru47GPjqXA4GEAAKBgA+Kh1fy0cLcrN9Liw+Luin34QPk\n"
+ "VfqymAfW/RKxgLz1urRQ1H+gDkPnn8l4EV/l5Awsa2qkNdy9VOVgNpox0YpZbmsc\n"
+ "ur0uuut8h+/ayN2h66SD5out+vqOW9c3yDI+lsI+9EPafZECD7e8+O+P90EAXpbf\n"
+ "DwiW3Oqy6QaCr9Ivo4GTMIGQMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdGVz\n"
+ "dC5nbnV0bHMub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
+ "gAAwHQYDVR0OBBYEFL/su87Y6HtwVuzz0SuS1tSZClvzMB8GA1UdIwQYMBaAFOk8\n"
+ "HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQBCsrnfD1xzh8/Eih1f\n"
+ "x+M0lPoX1Re5L2ElHI6DJpHYOBPwf9glwxnet2+avzgUQDUFwUSxOhodpyeaACXD\n"
+ "o0gGVpcH8sOBTQ+aTdM37hGkPxoXjtIkR/LgG5nP2H2JRd5TkW8l13JdM4MJFB4W\n"
+ "QcDzQ8REwidsfh9uKAluk1c/KQ==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t dsa_cert_dat = { (void *)dsa_cert, sizeof(dsa_cert) };
int main(void)
{
@@ -100,9 +99,8 @@ int main(void)
if (ret < 0)
return 1;
- ret =
- gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_DSA_SHA1, 0, &data,
- &sig);
+ ret = gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_DSA_SHA1, 0, &data,
+ &sig);
if (ret < 0 && ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
return 1;
diff --git a/tests/cve-2009-1416.c b/tests/cve-2009-1416.c
index a06f56bb34..ba74857b73 100644
--- a/tests/cve-2009-1416.c
+++ b/tests/cve-2009-1416.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/*
diff --git a/tests/dane-strcodes.c b/tests/dane-strcodes.c
index 4ea3182777..4bf7e96af4 100644
--- a/tests/dane-strcodes.c
+++ b/tests/dane-strcodes.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -35,8 +35,7 @@
* non null value.
*/
-static
-void _check_unique_non_null(int line, int i, const char *val)
+static void _check_unique_non_null(int line, int i, const char *val)
{
static char previous_val[128];
diff --git a/tests/dane.c b/tests/dane.c
index 258163f0e7..37b792145a 100644
--- a/tests/dane.c
+++ b/tests/dane.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -43,435 +43,412 @@ struct data_entry_st {
int bogus;
const char *cert;
const char *ca;
- unsigned expected_status; /* if cert is non-null */
- int expected_verify_ret; /* if cert is non-null */
+ unsigned expected_status; /* if cert is non-null */
+ int expected_verify_ret; /* if cert is non-null */
};
const struct data_entry_st data_entries[] = {
- {
- .name = "Entry parsing",
- .queries = {
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- (char *)
- "\x03\x00\x01\x03\x32\xaa\x2d\x58\xb3\xe0\x54\x4b\x65\x65\x64\x38\x93\x70\x68\xba\x44\xce\x2f\x14\x46\x9c\x4f\x50\xc9\xcc\x69\x33\xc8\x08\xd3",
- (char *)
- "\x03\x01\x01\x46\x25\x73\x19\x5c\x86\xe8\x61\xab\xab\x8e\xcc\xfb\xc7\xf0\x48\x69\x58\xef\xdf\xf9\x44\x9a\xc1\x07\x29\xb3\xa0\xf9\x06\xf3\x88",
- NULL},
- .q_size = {35, 35, 35, 0},
- .expected_ret = 0,
- .no_queries = 3,
- .secure = 1,
- .bogus = 0},
- { /* as the previous but with first byte invalid */
- .name = "Cert verification (single entry)",
- .queries = {
- (char *)
- "\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x48\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
- NULL},
- .q_size = {35, 35, 35, 0},
- .expected_ret = 0,
- .no_queries = 1,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = 0,
- .expected_status = 0,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
- "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
- "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
- "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
- "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
- "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
- "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
- "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
- "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
- "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
- "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
- "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
- "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
- "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
- "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
- "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
- "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
- "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
- "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
- "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
- "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
- "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
- "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
- "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
- "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
- "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
- "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
- "-----END CERTIFICATE-----\n"},
- {
- .name = "Cert verification (multi entries)",
- .queries = {
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- (char *)
- "\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x48\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
- (char *)
- "\x03\x00\x01\x03\x32\xaa\x2d\x58\xb3\xe0\x54\x4b\x65\x65\x64\x38\x93\x70\x68\xba\x44\xce\x2f\x14\x46\x9c\x4f\x50\xc9\xcc\x69\x33\xc8\x08\xd3",
- NULL},
- .q_size = {35, 35, 35, 0},
- .expected_ret = 0,
- .no_queries = 3,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = 0,
- .expected_status = 0,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
- "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
- "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
- "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
- "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
- "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
- "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
- "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
- "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
- "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
- "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
- "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
- "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
- "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
- "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
- "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
- "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
- "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
- "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
- "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
- "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
- "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
- "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
- "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
- "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
- "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
- "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
- "-----END CERTIFICATE-----\n"},
- {
- .name = "Cert verification (invalid hash)",
- .queries = {
- (char *)
- "\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x49\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
- NULL},
- .q_size = {35, 0},
- .expected_ret = 0,
- .no_queries = 1,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = 0,
- .expected_status = DANE_VERIFY_CERT_DIFFERS,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
- "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
- "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
- "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
- "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
- "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
- "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
- "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
- "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
- "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
- "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
- "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
- "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
- "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
- "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
- "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
- "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
- "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
- "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
- "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
- "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
- "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
- "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
- "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
- "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
- "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
- "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
- "-----END CERTIFICATE-----\n"},
- {
- .name = "Cert verification (bogus data)",
- .queries = {
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- NULL},
- .q_size = {35, 0},
- .expected_ret = 0,
- .no_queries = 1,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = DANE_E_REQUESTED_DATA_NOT_AVAILABLE,
- .expected_status = -1,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
- "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
- "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
- "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
- "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
- "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
- "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
- "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
- "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
- "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
- "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
- "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
- "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
- "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
- "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
- "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
- "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
- "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
- "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
- "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
- "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
- "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
- "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
- "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
- "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
- "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
- "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
- "-----END CERTIFICATE-----\n"},
- {
- .name = "CA verification (valid)",
- .queries = {
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- NULL},
- .q_size = {35, 0},
- .expected_ret = 0,
- .no_queries = 1,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = 0,
- .expected_status = 0,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIGXjCCBUagAwIBAgIQBNO3A71kyzonos0JsLRHrjANBgkqhkiG9w0BAQsFADBw\n"
- "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
- "d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\n"
- "dXJhbmNlIFNlcnZlciBDQTAeFw0xNDA0MjIwMDAwMDBaFw0xNzA0MjYxMjAwMDBa\n"
- "MG0xCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UE\n"
- "BxMHUmFsZWlnaDEVMBMGA1UEChMMUmVkIEhhdCBJbmMuMRwwGgYDVQQDDBMqLmZl\n"
- "ZG9yYXByb2plY3Qub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n"
- "vpd22JvToGSgnx2CBtfdoqvraQWNpQ1aXd/PSM0PVIqEjutrKJF7Xhr7DgHRLOhy\n"
- "ko1CzfSp5n6nB7raqDq2kddWgqL3tuyb+lSwdQRGuJZsWW3CCwzR3VNRQUnPldpd\n"
- "vqHVSkjHkIZYVcZ2FnMYWEa43ESnmgiQGBg4G+T7/9Pv+10SQ+fOE175GWZKHkJm\n"
- "vJZAjIO2uxvJ/rCq3YQI6hdAsclIiSZ4X8UXWt0IMjp/RdCCnv+SS4XCirZ/IDqM\n"
- "H+WdMllD0/cbgIOr4SXEuUPEJcI5NziuILe05RefFeZXoC6dxNWr8BvAjxxrZtpS\n"
- "/7OMwE+WYkVIH8fkgCTVfsa2ZOvMM5CWzxqWKhbFsbw6EGSVIIUtI3C28i3rjLjr\n"
- "XZ/94k3pf3i/u6DzUmlWm8psn6XZXru0+FKPTrmeDluyuxJsgzudk8mF8Cjw/Oc0\n"
- "IHVg6Qw/Dm/OM9cAVqmb6ld3GF+QlkzTwurEGKeGj8s8Td0WoPOf6apB/PIaDIu1\n"
- "rJphTVyGNqfKqMFFOwqH/M9CVtaEfwYqT9aB8OSE8MtFe3L1WypEq4tK8VUtoi98\n"
- "0S9mz4fxathakM+js1eyup/uz0W4cKIFbONLgod0g1arMmSB1Ox7GD6qaUC6zKr8\n"
- "hWcKMROSg8VFYMhqwGR2k64knXDsVH1mAOgRbJabr3ECAwEAAaOCAfUwggHxMB8G\n"
- "A1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBRaTFeTslW8\n"
- "sjOiEWQkQoHtHefJIjAxBgNVHREEKjAoghMqLmZlZG9yYXByb2plY3Qub3JnghFm\n"
- "ZWRvcmFwcm9qZWN0Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\n"
- "BQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRp\n"
- "Z2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9j\n"
- "cmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwQgYDVR0gBDsw\n"
- "OTA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNl\n"
- "cnQuY29tL0NQUzCBgwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8v\n"
- "b2NzcC5kaWdpY2VydC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9jYWNlcnRzLmRp\n"
- "Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJIaWdoQXNzdXJhbmNlU2VydmVyQ0EuY3J0\n"
- "MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADSBIYR5GwUfYTHlXeej\n"
- "tgOMbGIiBD1YPBNlP7vLiGc9+Z4rUxWy/TkL7WUFJf1L88ph1CUQ8TbRjLz2RqL8\n"
- "snkFWjMsH9ddnwTO4zkCtTjC9fu+broPkmvzmHq2hlXuiDz9G7XvjtbtPujrrKOz\n"
- "o1pPAEl5c4B0ANaYL0OMUDhvskJguVMC5S/ZNuvNg6k3jkKZWGZPfcxgcZoPvBM8\n"
- "oIjImGyUMpy7bqRPp4K2xoN530GjoXg8OWIvyAwA06ENLZrU1fcSJsvH2gZVzk8s\n"
- "EvqFNFnOJN3aQ21imUjAesJ9dXSeCpscDDHqwzmRPuj2/QgtpMCmSZf34mdEzDIJ\n"
- "hrA=\n" "-----END CERTIFICATE-----\n",
- .ca = "-----BEGIN CERTIFICATE-----\n"
- "MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\n"
- "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
- "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\n"
- "ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\n"
- "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\n"
- "LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\n"
- "YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n"
- "4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\n"
- "Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\n"
- "itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n"
- "4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\n"
- "sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\n"
- "bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\n"
- "MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
- "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\n"
- "dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\n"
- "L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\n"
- "BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\n"
- "UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\n"
- "aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\n"
- "aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\n"
- "E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n"
- "/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\n"
- "xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n"
- "0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\n"
- "cPUeybQ=\n" "-----END CERTIFICATE-----\n"},
- {
- .name = "CA verification (invalid)",
- .queries = {
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x92\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- NULL},
- .q_size = {35, 0},
- .expected_ret = 0,
- .no_queries = 1,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = 0,
- .expected_status = DANE_VERIFY_CA_CONSTRAINTS_VIOLATED,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIGXjCCBUagAwIBAgIQBNO3A71kyzonos0JsLRHrjANBgkqhkiG9w0BAQsFADBw\n"
- "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
- "d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\n"
- "dXJhbmNlIFNlcnZlciBDQTAeFw0xNDA0MjIwMDAwMDBaFw0xNzA0MjYxMjAwMDBa\n"
- "MG0xCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UE\n"
- "BxMHUmFsZWlnaDEVMBMGA1UEChMMUmVkIEhhdCBJbmMuMRwwGgYDVQQDDBMqLmZl\n"
- "ZG9yYXByb2plY3Qub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n"
- "vpd22JvToGSgnx2CBtfdoqvraQWNpQ1aXd/PSM0PVIqEjutrKJF7Xhr7DgHRLOhy\n"
- "ko1CzfSp5n6nB7raqDq2kddWgqL3tuyb+lSwdQRGuJZsWW3CCwzR3VNRQUnPldpd\n"
- "vqHVSkjHkIZYVcZ2FnMYWEa43ESnmgiQGBg4G+T7/9Pv+10SQ+fOE175GWZKHkJm\n"
- "vJZAjIO2uxvJ/rCq3YQI6hdAsclIiSZ4X8UXWt0IMjp/RdCCnv+SS4XCirZ/IDqM\n"
- "H+WdMllD0/cbgIOr4SXEuUPEJcI5NziuILe05RefFeZXoC6dxNWr8BvAjxxrZtpS\n"
- "/7OMwE+WYkVIH8fkgCTVfsa2ZOvMM5CWzxqWKhbFsbw6EGSVIIUtI3C28i3rjLjr\n"
- "XZ/94k3pf3i/u6DzUmlWm8psn6XZXru0+FKPTrmeDluyuxJsgzudk8mF8Cjw/Oc0\n"
- "IHVg6Qw/Dm/OM9cAVqmb6ld3GF+QlkzTwurEGKeGj8s8Td0WoPOf6apB/PIaDIu1\n"
- "rJphTVyGNqfKqMFFOwqH/M9CVtaEfwYqT9aB8OSE8MtFe3L1WypEq4tK8VUtoi98\n"
- "0S9mz4fxathakM+js1eyup/uz0W4cKIFbONLgod0g1arMmSB1Ox7GD6qaUC6zKr8\n"
- "hWcKMROSg8VFYMhqwGR2k64knXDsVH1mAOgRbJabr3ECAwEAAaOCAfUwggHxMB8G\n"
- "A1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBRaTFeTslW8\n"
- "sjOiEWQkQoHtHefJIjAxBgNVHREEKjAoghMqLmZlZG9yYXByb2plY3Qub3JnghFm\n"
- "ZWRvcmFwcm9qZWN0Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\n"
- "BQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRp\n"
- "Z2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9j\n"
- "cmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwQgYDVR0gBDsw\n"
- "OTA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNl\n"
- "cnQuY29tL0NQUzCBgwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8v\n"
- "b2NzcC5kaWdpY2VydC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9jYWNlcnRzLmRp\n"
- "Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJIaWdoQXNzdXJhbmNlU2VydmVyQ0EuY3J0\n"
- "MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADSBIYR5GwUfYTHlXeej\n"
- "tgOMbGIiBD1YPBNlP7vLiGc9+Z4rUxWy/TkL7WUFJf1L88ph1CUQ8TbRjLz2RqL8\n"
- "snkFWjMsH9ddnwTO4zkCtTjC9fu+broPkmvzmHq2hlXuiDz9G7XvjtbtPujrrKOz\n"
- "o1pPAEl5c4B0ANaYL0OMUDhvskJguVMC5S/ZNuvNg6k3jkKZWGZPfcxgcZoPvBM8\n"
- "oIjImGyUMpy7bqRPp4K2xoN530GjoXg8OWIvyAwA06ENLZrU1fcSJsvH2gZVzk8s\n"
- "EvqFNFnOJN3aQ21imUjAesJ9dXSeCpscDDHqwzmRPuj2/QgtpMCmSZf34mdEzDIJ\n"
- "hrA=\n" "-----END CERTIFICATE-----\n",
- .ca = "-----BEGIN CERTIFICATE-----\n"
- "MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\n"
- "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
- "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\n"
- "ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\n"
- "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\n"
- "LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\n"
- "YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n"
- "4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\n"
- "Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\n"
- "itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n"
- "4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\n"
- "sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\n"
- "bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\n"
- "MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
- "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\n"
- "dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\n"
- "L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\n"
- "BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\n"
- "UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\n"
- "aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\n"
- "aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\n"
- "E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n"
- "/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\n"
- "xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n"
- "0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\n"
- "cPUeybQ=\n" "-----END CERTIFICATE-----\n"},
- { /* as the previous but with first byte invalid */
- .name = "CA verification (multiple entries)",
- .queries = {
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- (char *)
- "\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x48\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
- (char *)
- "\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
- (char *)
- "\x03\x00\x01\x03\x32\xaa\x2d\x58\xb3\xe0\x54\x4b\x65\x65\x64\x38\x93\x70\x68\xba\x44\xce\x2f\x14\x46\x9c\x4f\x50\xc9\xcc\x69\x33\xc8\x08\xd3",
- NULL},
- .q_size = {35, 35, 35, 35, 0},
- .expected_ret = 0,
- .no_queries = 4,
- .secure = 1,
- .bogus = 0,
- .expected_verify_ret = 0,
- .expected_status = 0,
- .cert = "-----BEGIN CERTIFICATE-----\n"
- "MIIGXjCCBUagAwIBAgIQBNO3A71kyzonos0JsLRHrjANBgkqhkiG9w0BAQsFADBw\n"
- "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
- "d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\n"
- "dXJhbmNlIFNlcnZlciBDQTAeFw0xNDA0MjIwMDAwMDBaFw0xNzA0MjYxMjAwMDBa\n"
- "MG0xCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UE\n"
- "BxMHUmFsZWlnaDEVMBMGA1UEChMMUmVkIEhhdCBJbmMuMRwwGgYDVQQDDBMqLmZl\n"
- "ZG9yYXByb2plY3Qub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n"
- "vpd22JvToGSgnx2CBtfdoqvraQWNpQ1aXd/PSM0PVIqEjutrKJF7Xhr7DgHRLOhy\n"
- "ko1CzfSp5n6nB7raqDq2kddWgqL3tuyb+lSwdQRGuJZsWW3CCwzR3VNRQUnPldpd\n"
- "vqHVSkjHkIZYVcZ2FnMYWEa43ESnmgiQGBg4G+T7/9Pv+10SQ+fOE175GWZKHkJm\n"
- "vJZAjIO2uxvJ/rCq3YQI6hdAsclIiSZ4X8UXWt0IMjp/RdCCnv+SS4XCirZ/IDqM\n"
- "H+WdMllD0/cbgIOr4SXEuUPEJcI5NziuILe05RefFeZXoC6dxNWr8BvAjxxrZtpS\n"
- "/7OMwE+WYkVIH8fkgCTVfsa2ZOvMM5CWzxqWKhbFsbw6EGSVIIUtI3C28i3rjLjr\n"
- "XZ/94k3pf3i/u6DzUmlWm8psn6XZXru0+FKPTrmeDluyuxJsgzudk8mF8Cjw/Oc0\n"
- "IHVg6Qw/Dm/OM9cAVqmb6ld3GF+QlkzTwurEGKeGj8s8Td0WoPOf6apB/PIaDIu1\n"
- "rJphTVyGNqfKqMFFOwqH/M9CVtaEfwYqT9aB8OSE8MtFe3L1WypEq4tK8VUtoi98\n"
- "0S9mz4fxathakM+js1eyup/uz0W4cKIFbONLgod0g1arMmSB1Ox7GD6qaUC6zKr8\n"
- "hWcKMROSg8VFYMhqwGR2k64knXDsVH1mAOgRbJabr3ECAwEAAaOCAfUwggHxMB8G\n"
- "A1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBRaTFeTslW8\n"
- "sjOiEWQkQoHtHefJIjAxBgNVHREEKjAoghMqLmZlZG9yYXByb2plY3Qub3JnghFm\n"
- "ZWRvcmFwcm9qZWN0Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\n"
- "BQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRp\n"
- "Z2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9j\n"
- "cmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwQgYDVR0gBDsw\n"
- "OTA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNl\n"
- "cnQuY29tL0NQUzCBgwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8v\n"
- "b2NzcC5kaWdpY2VydC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9jYWNlcnRzLmRp\n"
- "Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJIaWdoQXNzdXJhbmNlU2VydmVyQ0EuY3J0\n"
- "MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADSBIYR5GwUfYTHlXeej\n"
- "tgOMbGIiBD1YPBNlP7vLiGc9+Z4rUxWy/TkL7WUFJf1L88ph1CUQ8TbRjLz2RqL8\n"
- "snkFWjMsH9ddnwTO4zkCtTjC9fu+broPkmvzmHq2hlXuiDz9G7XvjtbtPujrrKOz\n"
- "o1pPAEl5c4B0ANaYL0OMUDhvskJguVMC5S/ZNuvNg6k3jkKZWGZPfcxgcZoPvBM8\n"
- "oIjImGyUMpy7bqRPp4K2xoN530GjoXg8OWIvyAwA06ENLZrU1fcSJsvH2gZVzk8s\n"
- "EvqFNFnOJN3aQ21imUjAesJ9dXSeCpscDDHqwzmRPuj2/QgtpMCmSZf34mdEzDIJ\n"
- "hrA=\n" "-----END CERTIFICATE-----\n",
- .ca = "-----BEGIN CERTIFICATE-----\n"
- "MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\n"
- "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
- "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\n"
- "ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\n"
- "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\n"
- "LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\n"
- "YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n"
- "4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\n"
- "Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\n"
- "itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n"
- "4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\n"
- "sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\n"
- "bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\n"
- "MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
- "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\n"
- "dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\n"
- "L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\n"
- "BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\n"
- "UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\n"
- "aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\n"
- "aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\n"
- "E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n"
- "/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\n"
- "xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n"
- "0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\n"
- "cPUeybQ=\n" "-----END CERTIFICATE-----\n"}
+ { .name = "Entry parsing",
+ .queries = { (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ (char *)"\x03\x00\x01\x03\x32\xaa\x2d\x58\xb3\xe0\x54\x4b\x65\x65\x64\x38\x93\x70\x68\xba\x44\xce\x2f\x14\x46\x9c\x4f\x50\xc9\xcc\x69\x33\xc8\x08\xd3",
+ (char *)"\x03\x01\x01\x46\x25\x73\x19\x5c\x86\xe8\x61\xab\xab\x8e\xcc\xfb\xc7\xf0\x48\x69\x58\xef\xdf\xf9\x44\x9a\xc1\x07\x29\xb3\xa0\xf9\x06\xf3\x88",
+ NULL },
+ .q_size = { 35, 35, 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 3,
+ .secure = 1,
+ .bogus = 0 },
+ { /* as the previous but with first byte invalid */
+ .name = "Cert verification (single entry)",
+ .queries = { (char *)"\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x48\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
+ NULL },
+ .q_size = { 35, 35, 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 1,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = 0,
+ .expected_status = 0,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
+ "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
+ "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
+ "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
+ "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
+ "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
+ "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
+ "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
+ "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
+ "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
+ "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
+ "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
+ "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
+ "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
+ "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
+ "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
+ "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
+ "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
+ "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
+ "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
+ "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
+ "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
+ "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
+ "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
+ "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
+ "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
+ "-----END CERTIFICATE-----\n" },
+ { .name = "Cert verification (multi entries)",
+ .queries = { (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ (char *)"\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x48\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
+ (char *)"\x03\x00\x01\x03\x32\xaa\x2d\x58\xb3\xe0\x54\x4b\x65\x65\x64\x38\x93\x70\x68\xba\x44\xce\x2f\x14\x46\x9c\x4f\x50\xc9\xcc\x69\x33\xc8\x08\xd3",
+ NULL },
+ .q_size = { 35, 35, 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 3,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = 0,
+ .expected_status = 0,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
+ "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
+ "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
+ "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
+ "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
+ "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
+ "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
+ "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
+ "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
+ "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
+ "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
+ "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
+ "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
+ "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
+ "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
+ "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
+ "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
+ "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
+ "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
+ "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
+ "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
+ "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
+ "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
+ "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
+ "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
+ "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
+ "-----END CERTIFICATE-----\n" },
+ { .name = "Cert verification (invalid hash)",
+ .queries = { (char *)"\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x49\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
+ NULL },
+ .q_size = { 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 1,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = 0,
+ .expected_status = DANE_VERIFY_CERT_DIFFERS,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
+ "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
+ "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
+ "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
+ "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
+ "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
+ "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
+ "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
+ "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
+ "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
+ "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
+ "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
+ "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
+ "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
+ "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
+ "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
+ "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
+ "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
+ "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
+ "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
+ "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
+ "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
+ "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
+ "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
+ "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
+ "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
+ "-----END CERTIFICATE-----\n" },
+ { .name = "Cert verification (bogus data)",
+ .queries = { (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ NULL },
+ .q_size = { 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 1,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = DANE_E_REQUESTED_DATA_NOT_AVAILABLE,
+ .expected_status = -1,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIE+DCCA+CgAwIBAgISESHVV5p9ybDcuT+A7ITU5IQYMA0GCSqGSIb3DQEBCwUA\n"
+ "MGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYD\n"
+ "VQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g\n"
+ "RzIwHhcNMTUxMDIxMDkxOTAwWhcNMTYxMjE4MTY1NDU2WjA8MSEwHwYDVQQLExhE\n"
+ "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFzAVBgNVBAMMDioubmxuZXRsYWJzLm5s\n"
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzHpmwd7SC6vLKde0IcYD\n"
+ "rrVcSSZFNrmP6Wtw5rR7KTBGfj70lCzo1Tu4KzOeFL23cB/Y8kWPojw73eYM+lnr\n"
+ "woZmdG28q+nYeZYRNjFpeLmwK87bpWxw760FrdQSdPrgM9uZS02AWD8PWIWZQ+0X\n"
+ "5XbkgSSjgSRAeT6Ki+8r9TcA+rgUv208kHVgFrBqeNQ//oRojN/7tBbbXrVTy37W\n"
+ "yWLCijExfBzQSsamZqskwhmzYyCJOXCqHUGh/Nyt9WvcX4YE7ogba33M7EQX2C37\n"
+ "ZH+XcmHGdhhLahuMoAm39mchN8TwY7R6DtmvM/WhDdc4dkEWjvrUnGYQhajsKVIZ\n"
+ "oQIDAQABo4IBzjCCAcowDgYDVR0PAQH/BAQDAgWgMEkGA1UdIARCMEAwPgYGZ4EM\n"
+ "AQIBMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl\n"
+ "cG9zaXRvcnkvMCcGA1UdEQQgMB6CDioubmxuZXRsYWJzLm5sggxubG5ldGxhYnMu\n"
+ "bmwwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYD\n"
+ "VR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc2Rv\n"
+ "bWFpbnZhbHNoYTJnMi5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMEcGCCsGAQUFBzAC\n"
+ "hjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc2RvbWFpbnZh\n"
+ "bHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDovL29jc3AyLmdsb2JhbHNp\n"
+ "Z24uY29tL2dzZG9tYWludmFsc2hhMmcyMB0GA1UdDgQWBBR8k4wtqr2L7in153sI\n"
+ "aE9Eo+ZB5zAfBgNVHSMEGDAWgBTqTnzUgC3lFYGGJoyCbcCYpM+XDzANBgkqhkiG\n"
+ "9w0BAQsFAAOCAQEAHgjG+iHJ8INGp/J0VskjmMItSdcTJhsQbAf1Pz1eu87cXhFa\n"
+ "Vro1xRN9KcsKhnd6TbflDpZkM0g9kX1nGZUWLxMmDbx6N/Y+0X9XHBkgTcVgo1gn\n"
+ "DkzBfMq/Qmy6Szl+RqNinvM2VjkjreWP2AFmIvbZxjMQDAtSs+5l1Qd+xR3Qxrim\n"
+ "5XFIaS7lR8ediLKO0trf7TcbXYZ72u3pxVxm7y2Vzi4mC+lcEcc6409b1yeSRbx/\n"
+ "9N6pYa8Uk3ZaeR6hZHx/g448vVwAqmKrsyJZOayDwHxrFeFWPfJSrFlT8kLmkr5A\n"
+ "VKOWjR5fslCGWqONiFHhyujZocIw03v5+kD9lw==\n"
+ "-----END CERTIFICATE-----\n" },
+ { .name = "CA verification (valid)",
+ .queries = { (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ NULL },
+ .q_size = { 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 1,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = 0,
+ .expected_status = 0,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIGXjCCBUagAwIBAgIQBNO3A71kyzonos0JsLRHrjANBgkqhkiG9w0BAQsFADBw\n"
+ "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
+ "d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\n"
+ "dXJhbmNlIFNlcnZlciBDQTAeFw0xNDA0MjIwMDAwMDBaFw0xNzA0MjYxMjAwMDBa\n"
+ "MG0xCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UE\n"
+ "BxMHUmFsZWlnaDEVMBMGA1UEChMMUmVkIEhhdCBJbmMuMRwwGgYDVQQDDBMqLmZl\n"
+ "ZG9yYXByb2plY3Qub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n"
+ "vpd22JvToGSgnx2CBtfdoqvraQWNpQ1aXd/PSM0PVIqEjutrKJF7Xhr7DgHRLOhy\n"
+ "ko1CzfSp5n6nB7raqDq2kddWgqL3tuyb+lSwdQRGuJZsWW3CCwzR3VNRQUnPldpd\n"
+ "vqHVSkjHkIZYVcZ2FnMYWEa43ESnmgiQGBg4G+T7/9Pv+10SQ+fOE175GWZKHkJm\n"
+ "vJZAjIO2uxvJ/rCq3YQI6hdAsclIiSZ4X8UXWt0IMjp/RdCCnv+SS4XCirZ/IDqM\n"
+ "H+WdMllD0/cbgIOr4SXEuUPEJcI5NziuILe05RefFeZXoC6dxNWr8BvAjxxrZtpS\n"
+ "/7OMwE+WYkVIH8fkgCTVfsa2ZOvMM5CWzxqWKhbFsbw6EGSVIIUtI3C28i3rjLjr\n"
+ "XZ/94k3pf3i/u6DzUmlWm8psn6XZXru0+FKPTrmeDluyuxJsgzudk8mF8Cjw/Oc0\n"
+ "IHVg6Qw/Dm/OM9cAVqmb6ld3GF+QlkzTwurEGKeGj8s8Td0WoPOf6apB/PIaDIu1\n"
+ "rJphTVyGNqfKqMFFOwqH/M9CVtaEfwYqT9aB8OSE8MtFe3L1WypEq4tK8VUtoi98\n"
+ "0S9mz4fxathakM+js1eyup/uz0W4cKIFbONLgod0g1arMmSB1Ox7GD6qaUC6zKr8\n"
+ "hWcKMROSg8VFYMhqwGR2k64knXDsVH1mAOgRbJabr3ECAwEAAaOCAfUwggHxMB8G\n"
+ "A1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBRaTFeTslW8\n"
+ "sjOiEWQkQoHtHefJIjAxBgNVHREEKjAoghMqLmZlZG9yYXByb2plY3Qub3JnghFm\n"
+ "ZWRvcmFwcm9qZWN0Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\n"
+ "BQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRp\n"
+ "Z2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9j\n"
+ "cmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwQgYDVR0gBDsw\n"
+ "OTA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNl\n"
+ "cnQuY29tL0NQUzCBgwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8v\n"
+ "b2NzcC5kaWdpY2VydC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9jYWNlcnRzLmRp\n"
+ "Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJIaWdoQXNzdXJhbmNlU2VydmVyQ0EuY3J0\n"
+ "MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADSBIYR5GwUfYTHlXeej\n"
+ "tgOMbGIiBD1YPBNlP7vLiGc9+Z4rUxWy/TkL7WUFJf1L88ph1CUQ8TbRjLz2RqL8\n"
+ "snkFWjMsH9ddnwTO4zkCtTjC9fu+broPkmvzmHq2hlXuiDz9G7XvjtbtPujrrKOz\n"
+ "o1pPAEl5c4B0ANaYL0OMUDhvskJguVMC5S/ZNuvNg6k3jkKZWGZPfcxgcZoPvBM8\n"
+ "oIjImGyUMpy7bqRPp4K2xoN530GjoXg8OWIvyAwA06ENLZrU1fcSJsvH2gZVzk8s\n"
+ "EvqFNFnOJN3aQ21imUjAesJ9dXSeCpscDDHqwzmRPuj2/QgtpMCmSZf34mdEzDIJ\n"
+ "hrA=\n"
+ "-----END CERTIFICATE-----\n",
+ .ca = "-----BEGIN CERTIFICATE-----\n"
+ "MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\n"
+ "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
+ "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\n"
+ "ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\n"
+ "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\n"
+ "LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\n"
+ "YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n"
+ "4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\n"
+ "Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\n"
+ "itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n"
+ "4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\n"
+ "sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\n"
+ "bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\n"
+ "MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
+ "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\n"
+ "dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\n"
+ "L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\n"
+ "BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\n"
+ "UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\n"
+ "aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\n"
+ "aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\n"
+ "E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n"
+ "/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\n"
+ "xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n"
+ "0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\n"
+ "cPUeybQ=\n"
+ "-----END CERTIFICATE-----\n" },
+ { .name = "CA verification (invalid)",
+ .queries = { (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x92\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ NULL },
+ .q_size = { 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 1,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = 0,
+ .expected_status = DANE_VERIFY_CA_CONSTRAINTS_VIOLATED,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIGXjCCBUagAwIBAgIQBNO3A71kyzonos0JsLRHrjANBgkqhkiG9w0BAQsFADBw\n"
+ "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
+ "d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\n"
+ "dXJhbmNlIFNlcnZlciBDQTAeFw0xNDA0MjIwMDAwMDBaFw0xNzA0MjYxMjAwMDBa\n"
+ "MG0xCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UE\n"
+ "BxMHUmFsZWlnaDEVMBMGA1UEChMMUmVkIEhhdCBJbmMuMRwwGgYDVQQDDBMqLmZl\n"
+ "ZG9yYXByb2plY3Qub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n"
+ "vpd22JvToGSgnx2CBtfdoqvraQWNpQ1aXd/PSM0PVIqEjutrKJF7Xhr7DgHRLOhy\n"
+ "ko1CzfSp5n6nB7raqDq2kddWgqL3tuyb+lSwdQRGuJZsWW3CCwzR3VNRQUnPldpd\n"
+ "vqHVSkjHkIZYVcZ2FnMYWEa43ESnmgiQGBg4G+T7/9Pv+10SQ+fOE175GWZKHkJm\n"
+ "vJZAjIO2uxvJ/rCq3YQI6hdAsclIiSZ4X8UXWt0IMjp/RdCCnv+SS4XCirZ/IDqM\n"
+ "H+WdMllD0/cbgIOr4SXEuUPEJcI5NziuILe05RefFeZXoC6dxNWr8BvAjxxrZtpS\n"
+ "/7OMwE+WYkVIH8fkgCTVfsa2ZOvMM5CWzxqWKhbFsbw6EGSVIIUtI3C28i3rjLjr\n"
+ "XZ/94k3pf3i/u6DzUmlWm8psn6XZXru0+FKPTrmeDluyuxJsgzudk8mF8Cjw/Oc0\n"
+ "IHVg6Qw/Dm/OM9cAVqmb6ld3GF+QlkzTwurEGKeGj8s8Td0WoPOf6apB/PIaDIu1\n"
+ "rJphTVyGNqfKqMFFOwqH/M9CVtaEfwYqT9aB8OSE8MtFe3L1WypEq4tK8VUtoi98\n"
+ "0S9mz4fxathakM+js1eyup/uz0W4cKIFbONLgod0g1arMmSB1Ox7GD6qaUC6zKr8\n"
+ "hWcKMROSg8VFYMhqwGR2k64knXDsVH1mAOgRbJabr3ECAwEAAaOCAfUwggHxMB8G\n"
+ "A1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBRaTFeTslW8\n"
+ "sjOiEWQkQoHtHefJIjAxBgNVHREEKjAoghMqLmZlZG9yYXByb2plY3Qub3JnghFm\n"
+ "ZWRvcmFwcm9qZWN0Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\n"
+ "BQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRp\n"
+ "Z2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9j\n"
+ "cmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwQgYDVR0gBDsw\n"
+ "OTA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNl\n"
+ "cnQuY29tL0NQUzCBgwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8v\n"
+ "b2NzcC5kaWdpY2VydC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9jYWNlcnRzLmRp\n"
+ "Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJIaWdoQXNzdXJhbmNlU2VydmVyQ0EuY3J0\n"
+ "MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADSBIYR5GwUfYTHlXeej\n"
+ "tgOMbGIiBD1YPBNlP7vLiGc9+Z4rUxWy/TkL7WUFJf1L88ph1CUQ8TbRjLz2RqL8\n"
+ "snkFWjMsH9ddnwTO4zkCtTjC9fu+broPkmvzmHq2hlXuiDz9G7XvjtbtPujrrKOz\n"
+ "o1pPAEl5c4B0ANaYL0OMUDhvskJguVMC5S/ZNuvNg6k3jkKZWGZPfcxgcZoPvBM8\n"
+ "oIjImGyUMpy7bqRPp4K2xoN530GjoXg8OWIvyAwA06ENLZrU1fcSJsvH2gZVzk8s\n"
+ "EvqFNFnOJN3aQ21imUjAesJ9dXSeCpscDDHqwzmRPuj2/QgtpMCmSZf34mdEzDIJ\n"
+ "hrA=\n"
+ "-----END CERTIFICATE-----\n",
+ .ca = "-----BEGIN CERTIFICATE-----\n"
+ "MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\n"
+ "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
+ "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\n"
+ "ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\n"
+ "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\n"
+ "LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\n"
+ "YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n"
+ "4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\n"
+ "Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\n"
+ "itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n"
+ "4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\n"
+ "sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\n"
+ "bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\n"
+ "MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
+ "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\n"
+ "dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\n"
+ "L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\n"
+ "BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\n"
+ "UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\n"
+ "aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\n"
+ "aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\n"
+ "E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n"
+ "/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\n"
+ "xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n"
+ "0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\n"
+ "cPUeybQ=\n"
+ "-----END CERTIFICATE-----\n" },
+ { /* as the previous but with first byte invalid */
+ .name = "CA verification (multiple entries)",
+ .queries = { (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ (char *)"\x03\x01\x01\x54\x4f\x28\x4d\x66\xaf\x2d\xe0\x8c\x17\xe7\x48\x6a\xed\xfa\x2e\x00\xaa\x1a\xc6\xbb\xf3\xaf\x5c\xa6\x2b\x55\xab\x7a\xc2\x69\xbe",
+ (char *)"\x00\x00\x01\x19\x40\x0b\xe5\xb7\xa3\x1f\xb7\x33\x91\x77\x00\x78\x9d\x2f\x0a\x24\x71\xc0\xc9\xd5\x06\xc0\xe5\x04\xc0\x6c\x16\xd7\xcb\x17\xc0",
+ (char *)"\x03\x00\x01\x03\x32\xaa\x2d\x58\xb3\xe0\x54\x4b\x65\x65\x64\x38\x93\x70\x68\xba\x44\xce\x2f\x14\x46\x9c\x4f\x50\xc9\xcc\x69\x33\xc8\x08\xd3",
+ NULL },
+ .q_size = { 35, 35, 35, 35, 0 },
+ .expected_ret = 0,
+ .no_queries = 4,
+ .secure = 1,
+ .bogus = 0,
+ .expected_verify_ret = 0,
+ .expected_status = 0,
+ .cert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIGXjCCBUagAwIBAgIQBNO3A71kyzonos0JsLRHrjANBgkqhkiG9w0BAQsFADBw\n"
+ "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
+ "d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\n"
+ "dXJhbmNlIFNlcnZlciBDQTAeFw0xNDA0MjIwMDAwMDBaFw0xNzA0MjYxMjAwMDBa\n"
+ "MG0xCzAJBgNVBAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UE\n"
+ "BxMHUmFsZWlnaDEVMBMGA1UEChMMUmVkIEhhdCBJbmMuMRwwGgYDVQQDDBMqLmZl\n"
+ "ZG9yYXByb2plY3Qub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA\n"
+ "vpd22JvToGSgnx2CBtfdoqvraQWNpQ1aXd/PSM0PVIqEjutrKJF7Xhr7DgHRLOhy\n"
+ "ko1CzfSp5n6nB7raqDq2kddWgqL3tuyb+lSwdQRGuJZsWW3CCwzR3VNRQUnPldpd\n"
+ "vqHVSkjHkIZYVcZ2FnMYWEa43ESnmgiQGBg4G+T7/9Pv+10SQ+fOE175GWZKHkJm\n"
+ "vJZAjIO2uxvJ/rCq3YQI6hdAsclIiSZ4X8UXWt0IMjp/RdCCnv+SS4XCirZ/IDqM\n"
+ "H+WdMllD0/cbgIOr4SXEuUPEJcI5NziuILe05RefFeZXoC6dxNWr8BvAjxxrZtpS\n"
+ "/7OMwE+WYkVIH8fkgCTVfsa2ZOvMM5CWzxqWKhbFsbw6EGSVIIUtI3C28i3rjLjr\n"
+ "XZ/94k3pf3i/u6DzUmlWm8psn6XZXru0+FKPTrmeDluyuxJsgzudk8mF8Cjw/Oc0\n"
+ "IHVg6Qw/Dm/OM9cAVqmb6ld3GF+QlkzTwurEGKeGj8s8Td0WoPOf6apB/PIaDIu1\n"
+ "rJphTVyGNqfKqMFFOwqH/M9CVtaEfwYqT9aB8OSE8MtFe3L1WypEq4tK8VUtoi98\n"
+ "0S9mz4fxathakM+js1eyup/uz0W4cKIFbONLgod0g1arMmSB1Ox7GD6qaUC6zKr8\n"
+ "hWcKMROSg8VFYMhqwGR2k64knXDsVH1mAOgRbJabr3ECAwEAAaOCAfUwggHxMB8G\n"
+ "A1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1UdDgQWBBRaTFeTslW8\n"
+ "sjOiEWQkQoHtHefJIjAxBgNVHREEKjAoghMqLmZlZG9yYXByb2plY3Qub3JnghFm\n"
+ "ZWRvcmFwcm9qZWN0Lm9yZzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB\n"
+ "BQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRp\n"
+ "Z2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwNKAyoDCGLmh0dHA6Ly9j\n"
+ "cmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMi5jcmwwQgYDVR0gBDsw\n"
+ "OTA3BglghkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNl\n"
+ "cnQuY29tL0NQUzCBgwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8v\n"
+ "b2NzcC5kaWdpY2VydC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9jYWNlcnRzLmRp\n"
+ "Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJIaWdoQXNzdXJhbmNlU2VydmVyQ0EuY3J0\n"
+ "MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBADSBIYR5GwUfYTHlXeej\n"
+ "tgOMbGIiBD1YPBNlP7vLiGc9+Z4rUxWy/TkL7WUFJf1L88ph1CUQ8TbRjLz2RqL8\n"
+ "snkFWjMsH9ddnwTO4zkCtTjC9fu+broPkmvzmHq2hlXuiDz9G7XvjtbtPujrrKOz\n"
+ "o1pPAEl5c4B0ANaYL0OMUDhvskJguVMC5S/ZNuvNg6k3jkKZWGZPfcxgcZoPvBM8\n"
+ "oIjImGyUMpy7bqRPp4K2xoN530GjoXg8OWIvyAwA06ENLZrU1fcSJsvH2gZVzk8s\n"
+ "EvqFNFnOJN3aQ21imUjAesJ9dXSeCpscDDHqwzmRPuj2/QgtpMCmSZf34mdEzDIJ\n"
+ "hrA=\n"
+ "-----END CERTIFICATE-----\n",
+ .ca = "-----BEGIN CERTIFICATE-----\n"
+ "MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\n"
+ "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n"
+ "d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\n"
+ "ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\n"
+ "MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\n"
+ "LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\n"
+ "YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n"
+ "4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\n"
+ "Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\n"
+ "itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n"
+ "4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\n"
+ "sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\n"
+ "bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\n"
+ "MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
+ "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\n"
+ "dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\n"
+ "L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\n"
+ "BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\n"
+ "UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\n"
+ "aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\n"
+ "aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\n"
+ "E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n"
+ "/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\n"
+ "xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n"
+ "0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\n"
+ "cPUeybQ=\n"
+ "-----END CERTIFICATE-----\n" }
};
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -481,7 +458,7 @@ static time_t mytime(time_t * t)
return then;
}
-static void crt_to_der(gnutls_datum_t * chain, const char *pem, unsigned size)
+static void crt_to_der(gnutls_datum_t *chain, const char *pem, unsigned size)
{
int ret;
gnutls_x509_crt_t crt;
@@ -527,19 +504,17 @@ static void dane_raw_check(void)
success("running test[%d]: %s\n", j,
data_entries[j].name);
- ret =
- dane_raw_tlsa(s, &r, data_entries[j].queries,
- data_entries[j].q_size,
- data_entries[j].secure,
- data_entries[j].bogus);
+ ret = dane_raw_tlsa(s, &r, data_entries[j].queries,
+ data_entries[j].q_size,
+ data_entries[j].secure,
+ data_entries[j].bogus);
if (ret != data_entries[j].expected_ret) {
fail("test[%d]: %d: %s\n", j, __LINE__,
dane_strerror(ret));
}
- ret =
- dane_query_to_raw_tlsa(r, &entries, &r_data, &r_data_len,
- &secure, &bogus);
+ ret = dane_query_to_raw_tlsa(r, &entries, &r_data, &r_data_len,
+ &secure, &bogus);
if (ret < 0) {
fail("test[%d]: %d: %s\n", j, __LINE__,
dane_strerror(ret));
@@ -559,14 +534,13 @@ static void dane_raw_check(void)
fail("test[%d]: %d: %s\n", j, __LINE__,
dane_strerror(ret));
- if (memcmp
- (r_data[i], data_entries[j].queries[i],
- r_data_len[i]) != 0)
+ if (memcmp(r_data[i], data_entries[j].queries[i],
+ r_data_len[i]) != 0)
fail("test[%d]: %d: %s\n", j, __LINE__,
dane_strerror(ret));
}
- if (data_entries[j].cert) { /* verify cert */
+ if (data_entries[j].cert) { /* verify cert */
gnutls_datum_t chain[2];
unsigned status = 0;
unsigned chain_size = 1;
@@ -580,18 +554,19 @@ static void dane_raw_check(void)
chain_size++;
}
- ret =
- dane_verify_crt_raw(NULL, chain, chain_size,
- GNUTLS_CRT_X509, r, 0, 0,
- &status);
+ ret = dane_verify_crt_raw(NULL, chain, chain_size,
+ GNUTLS_CRT_X509, r, 0, 0,
+ &status);
if (ret != data_entries[j].expected_verify_ret)
fail("test[%d]: %d: %s\n", j, __LINE__,
dane_strerror(ret));
- if (ret >= 0
- && status != data_entries[j].expected_status) {
- fail("tests[%d]: expected verif. status %x, got %x\n", j, data_entries[j].expected_status, status);
+ if (ret >= 0 &&
+ status != data_entries[j].expected_status) {
+ fail("tests[%d]: expected verif. status %x, got %x\n",
+ j, data_entries[j].expected_status,
+ status);
}
free(chain[0].data);
if (chain_size == 2)
diff --git a/tests/datefudge-check.c b/tests/datefudge-check.c
index 366b8b0625..c78a504264 100644
--- a/tests/datefudge-check.c
+++ b/tests/datefudge-check.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
diff --git a/tests/dh-compute.c b/tests/dh-compute.c
index 9fbd3bbb7d..84629879fd 100644
--- a/tests/dh-compute.c
+++ b/tests/dh-compute.c
@@ -22,7 +22,7 @@
/* This program tests functionality of DH exchanges */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/gnutls.h>
@@ -33,16 +33,15 @@
#ifdef ENABLE_FIPS140
int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
- gnutls_datum_t * priv_key,
- gnutls_datum_t * pub_key);
+ gnutls_datum_t *priv_key, gnutls_datum_t *pub_key);
int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,
- const gnutls_datum_t * priv_key,
- const gnutls_datum_t * pub_key,
- const gnutls_datum_t * peer_key, gnutls_datum_t * Z);
+ const gnutls_datum_t *priv_key,
+ const gnutls_datum_t *pub_key,
+ const gnutls_datum_t *peer_key, gnutls_datum_t *Z);
-static void params(gnutls_dh_params_t * dh_params, const gnutls_datum_t * p,
- const gnutls_datum_t * q, const gnutls_datum_t * g)
+static void params(gnutls_dh_params_t *dh_params, const gnutls_datum_t *p,
+ const gnutls_datum_t *q, const gnutls_datum_t *g)
{
int ret;
@@ -55,8 +54,8 @@ static void params(gnutls_dh_params_t * dh_params, const gnutls_datum_t * p,
fail("error\n");
}
-static void genkey(const gnutls_dh_params_t dh_params,
- gnutls_datum_t * priv_key, gnutls_datum_t * pub_key)
+static void genkey(const gnutls_dh_params_t dh_params, gnutls_datum_t *priv_key,
+ gnutls_datum_t *pub_key)
{
int ret;
@@ -66,17 +65,17 @@ static void genkey(const gnutls_dh_params_t dh_params,
}
static void compute_key(const char *name, const gnutls_dh_params_t dh_params,
- const gnutls_datum_t * priv_key,
- const gnutls_datum_t * pub_key,
- const gnutls_datum_t * peer_key, int expect_error,
- gnutls_datum_t * result, bool expect_success)
+ const gnutls_datum_t *priv_key,
+ const gnutls_datum_t *pub_key,
+ const gnutls_datum_t *peer_key, int expect_error,
+ gnutls_datum_t *result, bool expect_success)
{
gnutls_datum_t Z = { 0 };
bool success;
int ret;
- ret = _gnutls_dh_compute_key(dh_params, priv_key, pub_key,
- peer_key, &Z);
+ ret = _gnutls_dh_compute_key(dh_params, priv_key, pub_key, peer_key,
+ &Z);
if (expect_error != ret)
fail("%s: error %d (expected %d)\n", name, ret, expect_error);
@@ -104,57 +103,57 @@ void doit(void)
{
struct dh_test_data test_data[] = {
{
- "[y == 0]",
- gnutls_ffdhe_2048_group_prime,
- gnutls_ffdhe_2048_group_q,
- gnutls_ffdhe_2048_group_generator,
- {(void *)"\x00", 1},
- GNUTLS_E_MPI_SCAN_FAILED,
- GNUTLS_FIPS140_OP_APPROVED,
- /* does not reach _wrap_nettle_pk_derive */
- GNUTLS_FIPS140_OP_INITIAL,
- },
+ "[y == 0]",
+ gnutls_ffdhe_2048_group_prime,
+ gnutls_ffdhe_2048_group_q,
+ gnutls_ffdhe_2048_group_generator,
+ { (void *)"\x00", 1 },
+ GNUTLS_E_MPI_SCAN_FAILED,
+ GNUTLS_FIPS140_OP_APPROVED,
+ /* does not reach _wrap_nettle_pk_derive */
+ GNUTLS_FIPS140_OP_INITIAL,
+ },
{
- "[y < 2]",
- gnutls_ffdhe_2048_group_prime,
- gnutls_ffdhe_2048_group_q,
- gnutls_ffdhe_2048_group_generator,
- {(void *)"\x01", 1},
- GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER,
- GNUTLS_FIPS140_OP_APPROVED,
- GNUTLS_FIPS140_OP_ERROR,
- },
+ "[y < 2]",
+ gnutls_ffdhe_2048_group_prime,
+ gnutls_ffdhe_2048_group_q,
+ gnutls_ffdhe_2048_group_generator,
+ { (void *)"\x01", 1 },
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER,
+ GNUTLS_FIPS140_OP_APPROVED,
+ GNUTLS_FIPS140_OP_ERROR,
+ },
{
- "[y > p - 2]",
- gnutls_ffdhe_2048_group_prime,
- gnutls_ffdhe_2048_group_q,
- gnutls_ffdhe_2048_group_generator,
- gnutls_ffdhe_2048_group_prime,
- GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER,
- GNUTLS_FIPS140_OP_APPROVED,
- GNUTLS_FIPS140_OP_ERROR,
- },
+ "[y > p - 2]",
+ gnutls_ffdhe_2048_group_prime,
+ gnutls_ffdhe_2048_group_q,
+ gnutls_ffdhe_2048_group_generator,
+ gnutls_ffdhe_2048_group_prime,
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER,
+ GNUTLS_FIPS140_OP_APPROVED,
+ GNUTLS_FIPS140_OP_ERROR,
+ },
{
- "[y ^ q mod p == 1]",
- gnutls_ffdhe_2048_group_prime,
- gnutls_ffdhe_2048_group_q,
- gnutls_ffdhe_2048_group_generator,
- gnutls_ffdhe_2048_group_q,
- GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER,
- GNUTLS_FIPS140_OP_APPROVED,
- GNUTLS_FIPS140_OP_ERROR,
- },
+ "[y ^ q mod p == 1]",
+ gnutls_ffdhe_2048_group_prime,
+ gnutls_ffdhe_2048_group_q,
+ gnutls_ffdhe_2048_group_generator,
+ gnutls_ffdhe_2048_group_q,
+ GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER,
+ GNUTLS_FIPS140_OP_APPROVED,
+ GNUTLS_FIPS140_OP_ERROR,
+ },
{
- "Legal Input",
- gnutls_ffdhe_2048_group_prime,
- gnutls_ffdhe_2048_group_q,
- gnutls_ffdhe_2048_group_generator,
- {(void *)"\x02", 1},
- 0,
- GNUTLS_FIPS140_OP_APPROVED,
- GNUTLS_FIPS140_OP_APPROVED,
- },
- {NULL}
+ "Legal Input",
+ gnutls_ffdhe_2048_group_prime,
+ gnutls_ffdhe_2048_group_q,
+ gnutls_ffdhe_2048_group_generator,
+ { (void *)"\x02", 1 },
+ 0,
+ GNUTLS_FIPS140_OP_APPROVED,
+ GNUTLS_FIPS140_OP_APPROVED,
+ },
+ { NULL }
};
for (int i = 0; test_data[i].name != NULL; i++) {
@@ -184,9 +183,9 @@ void doit(void)
success("%s compute_key\n", test_data[i].name);
fips_push_context(fips_context);
- compute_key(test_data[i].name, dh_params, &priv_key,
- &pub_key, &test_data[i].peer_key,
- test_data[i].expected_error, NULL, 0);
+ compute_key(test_data[i].name, dh_params, &priv_key, &pub_key,
+ &test_data[i].peer_key, test_data[i].expected_error,
+ NULL, 0);
fips_pop_context(fips_context,
test_data[i].fips_state_compute_key);
diff --git a/tests/dh-params.c b/tests/dh-params.c
index 54bce137c7..e17cdd7c53 100644
--- a/tests/dh-params.c
+++ b/tests/dh-params.c
@@ -22,7 +22,7 @@
/* This program tests functionality in gnutls_dh_params structure */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/gnutls.h>
@@ -34,7 +34,7 @@
#include "cert-common.h"
#include "utils.h"
-static int compare(gnutls_datum_t * d1, gnutls_datum_t * d2)
+static int compare(gnutls_datum_t *d1, gnutls_datum_t *d2)
{
gnutls_datum_t t1, t2;
t1.data = d1->data;
@@ -73,8 +73,8 @@ void doit(void)
assert(gnutls_dh_params_init(&tmp_params) >= 0);
assert(gnutls_x509_privkey_init(&privkey) >= 0);
- ret =
- gnutls_x509_privkey_import(privkey, &dsa_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(privkey, &dsa_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("error in %s: %d\n", __FILE__, __LINE__);
@@ -89,9 +89,8 @@ void doit(void)
if (ret < 0)
fail("error in %s: %d\n", __FILE__, __LINE__);
- ret =
- gnutls_x509_privkey_export_dsa_raw(privkey, &p2, &q, &g2, NULL,
- NULL);
+ ret = gnutls_x509_privkey_export_dsa_raw(privkey, &p2, &q, &g2, NULL,
+ NULL);
if (ret < 0)
fail("error in %s: %d\n", __FILE__, __LINE__);
diff --git a/tests/dhepskself.c b/tests/dhepskself.c
index a7caa38381..a983156287 100644
--- a/tests/dhepskself.c
+++ b/tests/dhepskself.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,22 +39,22 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
/* A very basic TLS client, with PSK authentication.
*/
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void tls_log_func(int level, const char *str)
{
@@ -84,9 +84,8 @@ static void client(int sd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+DHE-PSK",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:+DHE-PSK", NULL);
/* put the anonymous credentials to the current session
*/
@@ -130,7 +129,7 @@ static void client(int sd)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -144,7 +143,7 @@ static void client(int sd)
/* This is a sample TLS 1.0 echo server, for PSK authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
/* These are global */
gnutls_psk_server_credentials_t server_pskcred;
@@ -158,9 +157,8 @@ static gnutls_session_t initialize_tls_session(void)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+DHE-PSK",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:+DHE-PSK", NULL);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_credentials_set(session, GNUTLS_CRD_PSK, server_pskcred);
@@ -183,8 +181,8 @@ static int generate_dh_params(void)
GNUTLS_X509_FMT_PEM);
}
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk callback to get %s's password\n", username);
@@ -244,11 +242,11 @@ static void server(int sd)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -306,4 +304,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dhex509self.c b/tests/dhex509self.c
index 548a97ba11..edfdf3bdc8 100644
--- a/tests/dhex509self.c
+++ b/tests/dhex509self.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,19 +40,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
-# include "ex-session-info.c"
-# include "ex-x509-info.c"
+#include "ex-session-info.c"
+#include "ex-x509-info.c"
pid_t child;
@@ -65,8 +65,8 @@ static void tls_log_func(int level, const char *str)
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd)
{
@@ -96,9 +96,9 @@ static void client(int sd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
+ NULL);
/* put the x509 credentials to the current session
*/
@@ -120,8 +120,8 @@ static void client(int sd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
if (debug)
@@ -129,9 +129,8 @@ static void client(int sd)
print_dh_params_info(session);
- ret =
- gnutls_credentials_get(session, GNUTLS_CRD_CERTIFICATE,
- (void **)&tst_cred);
+ ret = gnutls_credentials_get(session, GNUTLS_CRD_CERTIFICATE,
+ (void **)&tst_cred);
if (ret < 0) {
fail("client: gnutls_credentials_get failed: %s\n",
gnutls_strerror(ret));
@@ -162,8 +161,7 @@ static void client(int sd)
ret = gnutls_handshake(session);
if (ret == 0) {
if (debug)
- success
- ("client: handshake complete, reading again.\n");
+ success("client: handshake complete, reading again.\n");
ret = gnutls_record_recv(session, buffer, MAX_BUF);
} else {
fail("client: handshake failed.\n");
@@ -189,7 +187,7 @@ static void client(int sd)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -203,8 +201,8 @@ static void client(int sd)
/* This is a sample TLS 1.0 echo server, using X.509 authentication.
*/
-# define MAX_BUF 1024
-# define DH_BITS 1024
+#define MAX_BUF 1024
+#define DH_BITS 1024
/* These are global */
gnutls_certificate_credentials_t x509_cred;
@@ -218,9 +216,9 @@ static gnutls_session_t initialize_tls_session(void)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
+ NULL);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -292,8 +290,8 @@ static void server(int sd)
if (debug) {
success("server: Handshake was completed\n");
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
}
/* see the Getting peer's information example */
@@ -308,19 +306,18 @@ static void server(int sd)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUEST);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUEST);
if (debug)
- success
- ("server: got data, forcing rehandshake.\n");
+ success("server: got data, forcing rehandshake.\n");
ret = gnutls_rehandshake(session);
if (ret < 0) {
@@ -394,4 +391,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dn.c b/tests/dn.c
index 2719942a53..1dd145d204 100644
--- a/tests/dn.c
+++ b/tests/dn.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -29,34 +29,35 @@
#include "utils.h"
static char pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE8jCCAtqgAwIBAgIDAkQVMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv\n"
- "b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ\n"
- "Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y\n"
- "dEBjYWNlcnQub3JnMB4XDTA2MDUxNTE1MjEzMVoXDTA3MDUxNTE1MjEzMVowPjEY\n"
- "MBYGA1UEAxMPQ0FjZXJ0IFdvVCBVc2VyMSIwIAYJKoZIhvcNAQkBFhNzaW1vbkBq\n"
- "b3NlZnNzb24ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuddO\n"
- "vxr7gfof8Ejtk/EOC16m0UdymQhwQwfPM5wWKJCJK9l5GoXSHe+s/+6HPLhXo2do\n"
- "byUS6X3w7ODO6MGnlWALJUapUa2LinofYwYWFVlOlwyuN2lW+xQgeQjn24R8Glzl\n"
- "KQ2f5C9JOE3RSGnHr7VH/6JJy+rPovh+gqKHjt9UH6Su1LFEQGUg+x+CVPAluYty\n"
- "ECfHdAad2Gcbgn3vkMyKEF6VAKR/G9uDb7bBVuA73UWkUtDi3dekM882UqH5HQRj\n"
- "mGYoGJk49PQ52jGftXNIDyHDOYWXTl9W64dHKRGaW0LOrkLrodjMPdudTvSsoWzK\n"
- "DpMMdHLsFx2/+MAsPwIDAQABo4G9MIG6MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4\n"
- "QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFk\n"
- "IG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMDIGCCsGAQUFBwEBBCYwJDAi\n"
- "BggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAeBgNVHREEFzAVgRNz\n"
- "aW1vbkBqb3NlZnNzb24ub3JnMA0GCSqGSIb3DQEBBQUAA4ICAQCXhyNfM8ozU2Jw\n"
- "H+XEDgrt3lUgnUbXQC+AGXdj4ZIJXQfHOCCQxZOO6Oe9V0rxldO3M5tQi92yRjci\n"
- "aa892MCVPxTkJLR0h4Kx4JfeTtSvl+9nWPSRrZbPTdWZ3ecnCyrfLfEas6pZp1ur\n"
- "lJkaEksAg5dGNrvJGPqBbF6A44b1wlBTCHEBZy2n/7Qml7Nhydymq2nFhDtlQJ6X\n"
- "w+6juM85vaEII6kuNatk2OcMJG9R0JxbC0e+PPI1jk7wuAz4WIMyj+ZudGNOTWKN\n"
- "3ohK9v0/EE1/S+KMy3T7fzMkbKkwAQZzQNoDf8bSzvDwtZsoudA4Kcloz8a/iKEH\n"
- "C9nKYBU8sFBd1cYV7ocFhN2awvuVnBlfsEN4eO5TRA50hmLxwt5D8Vs2v55n1kl6\n"
- "7PBo6H2ZMfbQcws731k4RpOqQcU+2yl/wBlDChOOO95mbJ31tqMh27yIjIemgD6Z\n"
- "jxL92AgHPzSFy/nyqmZ1ADcnB5fC5WsEYyr9tPM1gpjJEsi95YIBrO7Uyt4tj5U3\n"
- "dYDvbU+Mg1r0gJi61wciuyAllwKfu9aqkCjJKQGHrTimWzRa6RPygaojWIEmap89\n"
- "bHarWgDg9CKVP1DggVkcD838s//kE1Vl2DReyfAtEQ1agSXLFncgxL+yOi1o3lcq\n"
- "+dmDgpDn168TY1Iug80uVKg7AfkLrA==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE8jCCAtqgAwIBAgIDAkQVMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv\n"
+ "b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ\n"
+ "Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y\n"
+ "dEBjYWNlcnQub3JnMB4XDTA2MDUxNTE1MjEzMVoXDTA3MDUxNTE1MjEzMVowPjEY\n"
+ "MBYGA1UEAxMPQ0FjZXJ0IFdvVCBVc2VyMSIwIAYJKoZIhvcNAQkBFhNzaW1vbkBq\n"
+ "b3NlZnNzb24ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuddO\n"
+ "vxr7gfof8Ejtk/EOC16m0UdymQhwQwfPM5wWKJCJK9l5GoXSHe+s/+6HPLhXo2do\n"
+ "byUS6X3w7ODO6MGnlWALJUapUa2LinofYwYWFVlOlwyuN2lW+xQgeQjn24R8Glzl\n"
+ "KQ2f5C9JOE3RSGnHr7VH/6JJy+rPovh+gqKHjt9UH6Su1LFEQGUg+x+CVPAluYty\n"
+ "ECfHdAad2Gcbgn3vkMyKEF6VAKR/G9uDb7bBVuA73UWkUtDi3dekM882UqH5HQRj\n"
+ "mGYoGJk49PQ52jGftXNIDyHDOYWXTl9W64dHKRGaW0LOrkLrodjMPdudTvSsoWzK\n"
+ "DpMMdHLsFx2/+MAsPwIDAQABo4G9MIG6MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4\n"
+ "QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFk\n"
+ "IG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMDIGCCsGAQUFBwEBBCYwJDAi\n"
+ "BggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAeBgNVHREEFzAVgRNz\n"
+ "aW1vbkBqb3NlZnNzb24ub3JnMA0GCSqGSIb3DQEBBQUAA4ICAQCXhyNfM8ozU2Jw\n"
+ "H+XEDgrt3lUgnUbXQC+AGXdj4ZIJXQfHOCCQxZOO6Oe9V0rxldO3M5tQi92yRjci\n"
+ "aa892MCVPxTkJLR0h4Kx4JfeTtSvl+9nWPSRrZbPTdWZ3ecnCyrfLfEas6pZp1ur\n"
+ "lJkaEksAg5dGNrvJGPqBbF6A44b1wlBTCHEBZy2n/7Qml7Nhydymq2nFhDtlQJ6X\n"
+ "w+6juM85vaEII6kuNatk2OcMJG9R0JxbC0e+PPI1jk7wuAz4WIMyj+ZudGNOTWKN\n"
+ "3ohK9v0/EE1/S+KMy3T7fzMkbKkwAQZzQNoDf8bSzvDwtZsoudA4Kcloz8a/iKEH\n"
+ "C9nKYBU8sFBd1cYV7ocFhN2awvuVnBlfsEN4eO5TRA50hmLxwt5D8Vs2v55n1kl6\n"
+ "7PBo6H2ZMfbQcws731k4RpOqQcU+2yl/wBlDChOOO95mbJ31tqMh27yIjIemgD6Z\n"
+ "jxL92AgHPzSFy/nyqmZ1ADcnB5fC5WsEYyr9tPM1gpjJEsi95YIBrO7Uyt4tj5U3\n"
+ "dYDvbU+Mg1r0gJi61wciuyAllwKfu9aqkCjJKQGHrTimWzRa6RPygaojWIEmap89\n"
+ "bHarWgDg9CKVP1DggVkcD838s//kE1Vl2DReyfAtEQ1agSXLFncgxL+yOi1o3lcq\n"
+ "+dmDgpDn168TY1Iug80uVKg7AfkLrA==\n"
+ "-----END CERTIFICATE-----\n";
static void print_dn(gnutls_x509_dn_t dn)
{
@@ -76,10 +77,9 @@ static void print_dn(gnutls_x509_dn_t dn)
if (ret < 0)
fail("get_rdn_ava %d\n", ret);
if (debug)
- printf
- ("dn[%d][%d] OID=%.*s\n\tDATA=%.*s\n",
- i, j, ava.oid.size, ava.oid.data,
- ava.value.size, ava.value.data);
+ printf("dn[%d][%d] OID=%.*s\n\tDATA=%.*s\n", i,
+ j, ava.oid.size, ava.oid.data,
+ ava.value.size, ava.value.data);
}
}
@@ -121,10 +121,11 @@ void doit(void)
if (ret < 0)
fail("gnutls_x509_dn_get_str %d\n", ret);
- if (strdn.size != 44
- || strcmp((char *)strdn.data,
- "CN=CAcert WoT User,EMAIL=simon@josefsson.org") != 0) {
- fail("gnutls_x509_dn_get_str string comparison failed: '%s'/%d\n", strdn.data, strdn.size);
+ if (strdn.size != 44 ||
+ strcmp((char *)strdn.data,
+ "CN=CAcert WoT User,EMAIL=simon@josefsson.org") != 0) {
+ fail("gnutls_x509_dn_get_str string comparison failed: '%s'/%d\n",
+ strdn.data, strdn.size);
}
gnutls_free(strdn.data);
@@ -132,10 +133,11 @@ void doit(void)
ret = gnutls_x509_dn_get_str2(xdn, &strdn, 0);
if (ret < 0)
fail("gnutls_x509_dn_get_str2 %d\n", ret);
- if (strdn.size != 44
- || strcmp((char *)strdn.data,
- "EMAIL=simon@josefsson.org,CN=CAcert WoT User") != 0) {
- fail("gnutls_x509_dn_get_str2 string comparison failed: '%s'/%d\n", strdn.data, strdn.size);
+ if (strdn.size != 44 ||
+ strcmp((char *)strdn.data,
+ "EMAIL=simon@josefsson.org,CN=CAcert WoT User") != 0) {
+ fail("gnutls_x509_dn_get_str2 string comparison failed: '%s'/%d\n",
+ strdn.data, strdn.size);
}
gnutls_free(strdn.data);
@@ -143,10 +145,11 @@ void doit(void)
ret = gnutls_x509_dn_get_str2(xdn, &strdn, GNUTLS_X509_DN_FLAG_COMPAT);
if (ret < 0)
fail("gnutls_x509_dn_get_str2 %d\n", ret);
- if (strdn.size != 44
- || strcmp((char *)strdn.data,
- "CN=CAcert WoT User,EMAIL=simon@josefsson.org") != 0) {
- fail("gnutls_x509_dn_get_str2 string comparison failed: '%s'/%d\n", strdn.data, strdn.size);
+ if (strdn.size != 44 ||
+ strcmp((char *)strdn.data,
+ "CN=CAcert WoT User,EMAIL=simon@josefsson.org") != 0) {
+ fail("gnutls_x509_dn_get_str2 string comparison failed: '%s'/%d\n",
+ strdn.data, strdn.size);
}
gnutls_free(strdn.data);
diff --git a/tests/dn2.c b/tests/dn2.c
index 31915d5f1c..d236ece9e6 100644
--- a/tests/dn2.c
+++ b/tests/dn2.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -29,41 +29,42 @@
#include "utils.h"
static char pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFpzCCBI+gAwIBAgIQSOyh48ZYvgTFR8HspnpkMzANBgkqhkiG9w0BAQUFADCB\n"
- "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
- "HhcNMDgxMTEzMDAwMDAwWhcNMDkxMTEzMjM1OTU5WjCB6zETMBEGCysGAQQBgjc8\n"
- "AgEDEwJERTEZMBcGCysGAQQBgjc8AgEBFAhNdWVuY2hlbjEbMBkGA1UEDxMSVjEu\n"
- "MCwgQ2xhdXNlIDUuKGIpMRMwEQYDVQQFEwpIUkIgMTQ0MjYxMQswCQYDVQQGEwJE\n"
- "RTEOMAwGA1UEERQFODA4MDcxEDAOBgNVBAgTB0JhdmFyaWExETAPBgNVBAcUCE11\n"
- "ZW5jaGVuMR0wGwYDVQQJFBRGcmFua2Z1cnRlciBSaW5nIDEyOTERMA8GA1UEChQI\n"
- "R01YIEdtYkgxEzARBgNVBAMUCnd3dy5nbXguZGUwgZ8wDQYJKoZIhvcNAQEBBQAD\n"
- "gY0AMIGJAoGBAN/ZbLu17YtZo2OGnOfQDwhQlCvks2c+5nJDXjnCHI/ykSGlPH4G\n"
- "5qc7/TScNV1/g0bUTRCA11+aVkvf6haRZfgwbxpY1iySNv8eOlm52QAfh3diJQ9N\n"
- "5LxQblLHMRxXSFCJThl4BYAt70YdNMT9mVD21xx6ae+m3xEuco31aV7ZAgMBAAGj\n"
- "ggH0MIIB8DAJBgNVHRMEAjAAMB0GA1UdDgQWBBTW4UAZN3wEg5TRWaoM1angbgOX\n"
- "tjALBgNVHQ8EBAMCBaAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAqMCgGCCsG\n"
- "AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMD4GA1UdHwQ3MDUw\n"
- "M6AxoC+GLWh0dHA6Ly9FVkludGwtY3JsLnZlcmlzaWduLmNvbS9FVkludGwyMDA2\n"
- "LmNybDAoBgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATAf\n"
- "BgNVHSMEGDAWgBROQ8gddu83U3pP8lhvlPM44tW93zB2BggrBgEFBQcBAQRqMGgw\n"
- "KwYIKwYBBQUHMAGGH2h0dHA6Ly9FVkludGwtb2NzcC52ZXJpc2lnbi5jb20wOQYI\n"
- "KwYBBQUHMAKGLWh0dHA6Ly9FVkludGwtYWlhLnZlcmlzaWduLmNvbS9FVkludGwy\n"
- "MDA2LmNlcjBuBggrBgEFBQcBDARiMGChXqBcMFowWDBWFglpbWFnZS9naWYwITAf\n"
- "MAcGBSsOAwIaBBRLa7kolgYMu9BSOJsprEsHiyEFGDAmFiRodHRwOi8vbG9nby52\n"
- "ZXJpc2lnbi5jb20vdnNsb2dvMS5naWYwDQYJKoZIhvcNAQEFBQADggEBAKpNJQYO\n"
- "JTp34I24kvRF01WpOWOmfBx4K1gqruda/7U0UZqgTgBJVvwraKf6WeTZpHRqDCTw\n"
- "iwySv7jil+gLMT0qIZxL1pII90z71tz08h8xYi1MOLeciG87O9C5pteL/iEtiMxB\n"
- "96B6WWBo9mzgwSM1d8LDhrarZ7uQhm+kBAMyEXhmDnCPWhvExvxJzjEmOlxjThyP\n"
- "2yvIgfLyDfplRe+jUbsY7YNe08eEyoLRq1jwPuRWTaEx2gA7C6pq45747/HkJrtF\n"
- "ya3ULM/AJv6Nj6pobxzQ5rEkUGEwKavu7GMjLrSMnHrbVCiQrn1v6c7B9nSPA31L\n"
- "/do1TDFI0vSl5+M=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFpzCCBI+gAwIBAgIQSOyh48ZYvgTFR8HspnpkMzANBgkqhkiG9w0BAQUFADCB\n"
+ "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
+ "HhcNMDgxMTEzMDAwMDAwWhcNMDkxMTEzMjM1OTU5WjCB6zETMBEGCysGAQQBgjc8\n"
+ "AgEDEwJERTEZMBcGCysGAQQBgjc8AgEBFAhNdWVuY2hlbjEbMBkGA1UEDxMSVjEu\n"
+ "MCwgQ2xhdXNlIDUuKGIpMRMwEQYDVQQFEwpIUkIgMTQ0MjYxMQswCQYDVQQGEwJE\n"
+ "RTEOMAwGA1UEERQFODA4MDcxEDAOBgNVBAgTB0JhdmFyaWExETAPBgNVBAcUCE11\n"
+ "ZW5jaGVuMR0wGwYDVQQJFBRGcmFua2Z1cnRlciBSaW5nIDEyOTERMA8GA1UEChQI\n"
+ "R01YIEdtYkgxEzARBgNVBAMUCnd3dy5nbXguZGUwgZ8wDQYJKoZIhvcNAQEBBQAD\n"
+ "gY0AMIGJAoGBAN/ZbLu17YtZo2OGnOfQDwhQlCvks2c+5nJDXjnCHI/ykSGlPH4G\n"
+ "5qc7/TScNV1/g0bUTRCA11+aVkvf6haRZfgwbxpY1iySNv8eOlm52QAfh3diJQ9N\n"
+ "5LxQblLHMRxXSFCJThl4BYAt70YdNMT9mVD21xx6ae+m3xEuco31aV7ZAgMBAAGj\n"
+ "ggH0MIIB8DAJBgNVHRMEAjAAMB0GA1UdDgQWBBTW4UAZN3wEg5TRWaoM1angbgOX\n"
+ "tjALBgNVHQ8EBAMCBaAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAqMCgGCCsG\n"
+ "AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMD4GA1UdHwQ3MDUw\n"
+ "M6AxoC+GLWh0dHA6Ly9FVkludGwtY3JsLnZlcmlzaWduLmNvbS9FVkludGwyMDA2\n"
+ "LmNybDAoBgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATAf\n"
+ "BgNVHSMEGDAWgBROQ8gddu83U3pP8lhvlPM44tW93zB2BggrBgEFBQcBAQRqMGgw\n"
+ "KwYIKwYBBQUHMAGGH2h0dHA6Ly9FVkludGwtb2NzcC52ZXJpc2lnbi5jb20wOQYI\n"
+ "KwYBBQUHMAKGLWh0dHA6Ly9FVkludGwtYWlhLnZlcmlzaWduLmNvbS9FVkludGwy\n"
+ "MDA2LmNlcjBuBggrBgEFBQcBDARiMGChXqBcMFowWDBWFglpbWFnZS9naWYwITAf\n"
+ "MAcGBSsOAwIaBBRLa7kolgYMu9BSOJsprEsHiyEFGDAmFiRodHRwOi8vbG9nby52\n"
+ "ZXJpc2lnbi5jb20vdnNsb2dvMS5naWYwDQYJKoZIhvcNAQEFBQADggEBAKpNJQYO\n"
+ "JTp34I24kvRF01WpOWOmfBx4K1gqruda/7U0UZqgTgBJVvwraKf6WeTZpHRqDCTw\n"
+ "iwySv7jil+gLMT0qIZxL1pII90z71tz08h8xYi1MOLeciG87O9C5pteL/iEtiMxB\n"
+ "96B6WWBo9mzgwSM1d8LDhrarZ7uQhm+kBAMyEXhmDnCPWhvExvxJzjEmOlxjThyP\n"
+ "2yvIgfLyDfplRe+jUbsY7YNe08eEyoLRq1jwPuRWTaEx2gA7C6pq45747/HkJrtF\n"
+ "ya3ULM/AJv6Nj6pobxzQ5rEkUGEwKavu7GMjLrSMnHrbVCiQrn1v6c7B9nSPA31L\n"
+ "/do1TDFI0vSl5+M=\n"
+ "-----END CERTIFICATE-----\n";
static const char *info =
- "subject `CN=www.gmx.de,O=GMX GmbH,street=Frankfurter Ring 129,L=Muenchen,ST=Bavaria,postalCode=80807,C=DE,serialNumber=HRB 144261,businessCategory=V1.0\\, Clause 5.(b),jurisdictionOfIncorporationLocalityName=Muenchen,jurisdictionOfIncorporationCountryName=DE', issuer `CN=VeriSign Class 3 Extended Validation SSL SGC CA,OU=Terms of use at https://www.verisign.com/rpa (c)06,OU=VeriSign Trust Network,O=VeriSign\\, Inc.,C=US', serial 0x48eca1e3c658be04c547c1eca67a6433, RSA key 1024 bits, signed using RSA-SHA1 (broken!), activated `2008-11-13 00:00:00 UTC', expires `2009-11-13 23:59:59 UTC', pin-sha256=\"sVjloAiiqTbOeTkJWYtVweNaVPijLP/X95L96gJOSvk=\"";
+ "subject `CN=www.gmx.de,O=GMX GmbH,street=Frankfurter Ring 129,L=Muenchen,ST=Bavaria,postalCode=80807,C=DE,serialNumber=HRB 144261,businessCategory=V1.0\\, Clause 5.(b),jurisdictionOfIncorporationLocalityName=Muenchen,jurisdictionOfIncorporationCountryName=DE', issuer `CN=VeriSign Class 3 Extended Validation SSL SGC CA,OU=Terms of use at https://www.verisign.com/rpa (c)06,OU=VeriSign Trust Network,O=VeriSign\\, Inc.,C=US', serial 0x48eca1e3c658be04c547c1eca67a6433, RSA key 1024 bits, signed using RSA-SHA1 (broken!), activated `2008-11-13 00:00:00 UTC', expires `2009-11-13 23:59:59 UTC', pin-sha256=\"sVjloAiiqTbOeTkJWYtVweNaVPijLP/X95L96gJOSvk=\"";
void doit(void)
{
@@ -90,7 +91,8 @@ void doit(void)
/* When allowing SHA1, the output is different: no broken! string */
#ifndef ALLOW_SHA1
- if (out.size != strlen(info) || strcasecmp((char *)out.data, info) != 0) {
+ if (out.size != strlen(info) ||
+ strcasecmp((char *)out.data, info) != 0) {
fprintf(stderr,
"comparison fail (%d/%d)\nexpected: %s\n\n got: %.*s\n\n",
out.size, (int)strlen(info), info, out.size, out.data);
diff --git a/tests/dss-sig-val.c b/tests/dss-sig-val.c
index b6f58bc53b..2397bf26ca 100644
--- a/tests/dss-sig-val.c
+++ b/tests/dss-sig-val.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,8 +33,8 @@
#include "utils.h"
-static void encode(const char *test_name, const gnutls_datum_t * sig,
- const gnutls_datum_t * r, const gnutls_datum_t * s)
+static void encode(const char *test_name, const gnutls_datum_t *sig,
+ const gnutls_datum_t *r, const gnutls_datum_t *s)
{
int ret;
gnutls_datum_t tmp_r, tmp_s, tmp_sig;
@@ -46,13 +46,15 @@ static void encode(const char *test_name, const gnutls_datum_t * sig,
exit(1);
}
- if (tmp_r.size != r->size || memcmp(r->data, tmp_r.data, r->size) != 0) {
+ if (tmp_r.size != r->size ||
+ memcmp(r->data, tmp_r.data, r->size) != 0) {
fail("%s: gnutls_decode_rs_value: r doesn't match\n",
test_name);
exit(1);
}
- if (tmp_s.size != s->size || memcmp(s->data, tmp_s.data, s->size) != 0) {
+ if (tmp_s.size != s->size ||
+ memcmp(s->data, tmp_s.data, s->size) != 0) {
fail("%s: gnutls_decode_rs_value: s doesn't match\n",
test_name);
exit(1);
@@ -69,8 +71,8 @@ static void encode(const char *test_name, const gnutls_datum_t * sig,
exit(1);
}
- if (tmp_sig.size != sig->size
- || memcmp(sig->data, tmp_sig.data, sig->size) != 0) {
+ if (tmp_sig.size != sig->size ||
+ memcmp(sig->data, tmp_sig.data, sig->size) != 0) {
fail("%s: gnutls_encode_rs_value: sig doesn't match\n",
test_name);
exit(1);
@@ -89,117 +91,102 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "test1",
- .sig = {(unsigned char *)
- "\x30\x46\x02\x21\x00\xe8\xa4\x26\x96\x2c\x32\xc6\x92\x55\x71\x31\xd7\x10\x35\x92\x60\x85\x34\xf0\x65\x03\x08\x2e\x38\x2b\xc8\x28\x67\xde\x10\x7c\xf5\x02\x21\x00\xc9\x8e\x56\x4f\xb1\x62\xe1\x74\xbe\x8c\x9d\xff\x04\x88\x75\x76\x63\x91\x8a\xd6\x9d\x41\x76\xef\xe2\xb5\x8e\xbb\xa8\x88\xba\x9f",
- 72},
- .r = {(unsigned char *)
- "\x00\xe8\xa4\x26\x96\x2c\x32\xc6\x92\x55\x71\x31\xd7\x10\x35\x92\x60\x85\x34\xf0\x65\x03\x08\x2e\x38\x2b\xc8\x28\x67\xde\x10\x7c\xf5",
- 33},
- .s = {(unsigned char *)
- "\x00\xc9\x8e\x56\x4f\xb1\x62\xe1\x74\xbe\x8c\x9d\xff\x04\x88\x75\x76\x63\x91\x8a\xd6\x9d\x41\x76\xef\xe2\xb5\x8e\xbb\xa8\x88\xba\x9f",
- 33}
- },
- {
- .name = "test2",
- .sig = {(unsigned char *)
- "\x30\x44\x02\x20\x07\xd2\x7f\xd0\xef\x77\xa8\x29\x31\x9b\x46\x01\xb3\xaf\x66\xac\x33\x48\x15\x94\xb8\x80\xa1\x97\x71\x8f\x4a\x32\x43\x12\xec\x1f\x02\x20\x37\x06\x13\xbe\x4c\x6d\xdd\xcd\xa1\x4c\x88\xc5\x66\x85\x81\xf5\x50\x41\xb1\x4a\xee\x29\xce\x73\x2c\x09\xff\xba\xe3\x5e\x8a\x12",
- 70},
- .r = {(unsigned char *)
- "\x07\xd2\x7f\xd0\xef\x77\xa8\x29\x31\x9b\x46\x01\xb3\xaf\x66\xac\x33\x48\x15\x94\xb8\x80\xa1\x97\x71\x8f\x4a\x32\x43\x12\xec\x1f",
- 32},
- .s = {(unsigned char *)
- "\x37\x06\x13\xbe\x4c\x6d\xdd\xcd\xa1\x4c\x88\xc5\x66\x85\x81\xf5\x50\x41\xb1\x4a\xee\x29\xce\x73\x2c\x09\xff\xba\xe3\x5e\x8a\x12",
- 32}
- },
- {
- .name = "test3",
- .sig = {(unsigned char *)
- "\x30\x44\x02\x20\x57\x53\x71\xfd\x9c\xb5\x96\xc2\xc5\xc7\x59\xce\x2f\xc2\xbe\x8f\xdc\x22\xf9\xab\x38\xdc\x57\x81\xfb\x34\x78\x12\xae\x88\x9a\x50\x02\x20\x60\x6b\xd4\x5b\xd6\x32\x05\xae\x1f\xe6\x08\xf4\x73\x0f\x42\xbc\x32\x55\x1f\x8d\xea\x81\xec\x2b\x4a\x0b\x8c\x0f\xb1\xbe\x5f\x9b",
- 70},
- .r = {(unsigned char *)
- "\x57\x53\x71\xfd\x9c\xb5\x96\xc2\xc5\xc7\x59\xce\x2f\xc2\xbe\x8f\xdc\x22\xf9\xab\x38\xdc\x57\x81\xfb\x34\x78\x12\xae\x88\x9a\x50",
- 32},
- .s = {(unsigned char *)
- "\x60\x6b\xd4\x5b\xd6\x32\x05\xae\x1f\xe6\x08\xf4\x73\x0f\x42\xbc\x32\x55\x1f\x8d\xea\x81\xec\x2b\x4a\x0b\x8c\x0f\xb1\xbe\x5f\x9b",
- 32}
-
- },
- {
- .name = "test4",
- .sig = {(unsigned char *)
- "\x30\x46\x02\x21\x00\xe7\xdd\x79\x58\x96\xf6\x12\x05\xc1\x7a\x44\xd6\xdf\xde\x83\xe9\xb6\x30\xa7\xff\x02\x85\x97\x34\x5a\xcd\x2f\xae\xbd\xc6\x5d\xde\x02\x21\x00\xb5\x64\xbc\x53\x97\xc5\x64\x6f\x6b\x81\xe7\x4d\xad\x36\x29\x50\xd1\x62\x91\x65\x51\xf0\xc4\xa5\x28\x80\x20\x51\x9b\xce\xcc\xc8",
- 72},
- .r = {(unsigned char *)
- "\x00\xe7\xdd\x79\x58\x96\xf6\x12\x05\xc1\x7a\x44\xd6\xdf\xde\x83\xe9\xb6\x30\xa7\xff\x02\x85\x97\x34\x5a\xcd\x2f\xae\xbd\xc6\x5d\xde",
- 33},
- .s = {(unsigned char *)
- "\x00\xb5\x64\xbc\x53\x97\xc5\x64\x6f\x6b\x81\xe7\x4d\xad\x36\x29\x50\xd1\x62\x91\x65\x51\xf0\xc4\xa5\x28\x80\x20\x51\x9b\xce\xcc\xc8",
- 33}
- },
- {
- .name = "test5",
- .sig = {(unsigned char *)
- "\x30\x45\x02\x20\x54\xce\x1b\x8d\x63\x5d\xa4\xdb\x26\x58\x1c\x8f\xf0\xb0\x6d\xf3\x2f\x6a\xdb\x83\xcf\x7e\xe7\xda\x98\x52\xa6\x5f\x1f\xc9\x50\x73\x02\x21\x00\xfa\xb9\x6a\x18\xd4\xc6\x45\x3c\xf2\xbf\xc2\x3d\x15\x0d\xc6\xd4\x0c\x78\x52\x12\xec\xb5\x3c\xf5\xe0\x8a\xbf\x6c\x11\xd3\xfd\x4f",
- 71},
- .r = {(unsigned char *)
- "\x54\xce\x1b\x8d\x63\x5d\xa4\xdb\x26\x58\x1c\x8f\xf0\xb0\x6d\xf3\x2f\x6a\xdb\x83\xcf\x7e\xe7\xda\x98\x52\xa6\x5f\x1f\xc9\x50\x73",
- 32},
- .s = {(unsigned char *)
- "\x00\xfa\xb9\x6a\x18\xd4\xc6\x45\x3c\xf2\xbf\xc2\x3d\x15\x0d\xc6\xd4\x0c\x78\x52\x12\xec\xb5\x3c\xf5\xe0\x8a\xbf\x6c\x11\xd3\xfd\x4f",
- 33}
- },
- {
- .name = "test6",
- .sig = {(unsigned char *)
- "\x30\x45\x02\x20\x3b\x77\x03\xcf\x8f\xe7\x92\xf1\x6a\x68\x3b\xcd\xb7\x21\x5b\x80\xcd\x00\x75\x65\x38\x31\x8c\xc2\x9b\x92\x6a\x1a\x02\x4b\xd8\x73\x02\x21\x00\xd9\x88\x28\x68\xae\x31\x5d\x95\xa4\x8b\x5e\x3a\x95\x24\x7b\x0d\x07\xaa\xc4\xe0\xeb\xb1\xf1\x89\xc0\xab\x4d\x88\x15\x84\x5f\x01",
- 71},
- .r = {(unsigned char *)
- "\x3b\x77\x03\xcf\x8f\xe7\x92\xf1\x6a\x68\x3b\xcd\xb7\x21\x5b\x80\xcd\x00\x75\x65\x38\x31\x8c\xc2\x9b\x92\x6a\x1a\x02\x4b\xd8\x73",
- 32},
- .s = {(unsigned char *)
- "\x00\xd9\x88\x28\x68\xae\x31\x5d\x95\xa4\x8b\x5e\x3a\x95\x24\x7b\x0d\x07\xaa\xc4\xe0\xeb\xb1\xf1\x89\xc0\xab\x4d\x88\x15\x84\x5f\x01",
- 33}
- },
- {
- .name = "test7",
- .sig = {(unsigned char *)
- "\x30\x45\x02\x20\x22\xa1\xbf\x7d\xcd\x7b\x5e\xab\xa0\x08\x20\xe5\xcc\x22\x34\x61\xf1\x1f\xd0\x3a\x32\xc3\x61\x19\xcf\xe4\xeb\xff\x66\xe6\x51\xa1\x02\x21\x00\x9d\x62\xcb\x04\x3e\xb6\x1f\xc1\x2e\x52\xd4\x73\x7f\xbd\xa5\x9c\x29\x49\x75\x6d\x08\xf9\xcb\x74\xd7\x41\xdc\xcb\x66\x4d\x9a\x77",
- 71},
- .r = {(unsigned char *)
- "\x22\xa1\xbf\x7d\xcd\x7b\x5e\xab\xa0\x08\x20\xe5\xcc\x22\x34\x61\xf1\x1f\xd0\x3a\x32\xc3\x61\x19\xcf\xe4\xeb\xff\x66\xe6\x51\xa1",
- 32},
- .s = {(unsigned char *)
- "\x00\x9d\x62\xcb\x04\x3e\xb6\x1f\xc1\x2e\x52\xd4\x73\x7f\xbd\xa5\x9c\x29\x49\x75\x6d\x08\xf9\xcb\x74\xd7\x41\xdc\xcb\x66\x4d\x9a\x77",
- 33}
- },
- {
- .name = "test8",
- .sig = {(unsigned char *)
- "\x30\x44\x02\x20\x41\xc9\x32\x16\x2e\x6f\x0c\x1f\x0f\x81\xc0\x0f\x01\x50\x31\x75\x10\x55\x25\x45\x2a\x75\xb1\xdf\x91\x8e\xdf\x24\x30\xf2\xa8\x5f\x02\x20\x07\x80\xa7\x9b\xb8\x1c\x4f\x6e\xc4\x97\x5c\xb7\x9e\x61\x2a\xf0\xfc\x16\xdd\xe7\xa3\xcc\x15\x99\x68\x08\x8e\x85\x60\x9d\x34\xf8",
- 70},
- .r = {(unsigned char *)
- "\x41\xc9\x32\x16\x2e\x6f\x0c\x1f\x0f\x81\xc0\x0f\x01\x50\x31\x75\x10\x55\x25\x45\x2a\x75\xb1\xdf\x91\x8e\xdf\x24\x30\xf2\xa8\x5f",
- 32},
- .s = {(unsigned char *)
- "\x07\x80\xa7\x9b\xb8\x1c\x4f\x6e\xc4\x97\x5c\xb7\x9e\x61\x2a\xf0\xfc\x16\xdd\xe7\xa3\xcc\x15\x99\x68\x08\x8e\x85\x60\x9d\x34\xf8",
- 32}
-
- },
- {
- .name = "test9",
- .sig = {(unsigned char *)
- "\x30\x46\x02\x21\x00\xbe\xa1\x01\x12\x64\x1d\x66\x5a\x68\x4a\xa0\xd5\x7e\x3e\x0c\x83\x51\xaa\x21\x9a\x0f\x7b\x38\xf0\xc0\x8b\xc5\xba\xfe\x25\x83\x51\x02\x21\x00\xfb\xea\x25\x74\x78\xd3\xaa\x91\x7b\xc8\x49\x26\x22\x26\xc7\x72\x6b\x25\xfd\x05\xac\x71\x5d\xeb\x1d\xc5\xaa\x4e\xc9\x6e\x34\xb5",
- 72},
- .r = {(unsigned char *)
- "\x00\xbe\xa1\x01\x12\x64\x1d\x66\x5a\x68\x4a\xa0\xd5\x7e\x3e\x0c\x83\x51\xaa\x21\x9a\x0f\x7b\x38\xf0\xc0\x8b\xc5\xba\xfe\x25\x83\x51",
- 33},
- .s = {(unsigned char *)
- "\x00\xfb\xea\x25\x74\x78\xd3\xaa\x91\x7b\xc8\x49\x26\x22\x26\xc7\x72\x6b\x25\xfd\x05\xac\x71\x5d\xeb\x1d\xc5\xaa\x4e\xc9\x6e\x34\xb5",
- 33}
-
- }
+ { .name = "test1",
+ .sig = { (unsigned char
+ *)"\x30\x46\x02\x21\x00\xe8\xa4\x26\x96\x2c\x32\xc6\x92\x55\x71\x31\xd7\x10\x35\x92\x60\x85\x34\xf0\x65\x03\x08\x2e\x38\x2b\xc8\x28\x67\xde\x10\x7c\xf5\x02\x21\x00\xc9\x8e\x56\x4f\xb1\x62\xe1\x74\xbe\x8c\x9d\xff\x04\x88\x75\x76\x63\x91\x8a\xd6\x9d\x41\x76\xef\xe2\xb5\x8e\xbb\xa8\x88\xba\x9f",
+ 72 },
+ .r = { (unsigned char
+ *)"\x00\xe8\xa4\x26\x96\x2c\x32\xc6\x92\x55\x71\x31\xd7\x10\x35\x92\x60\x85\x34\xf0\x65\x03\x08\x2e\x38\x2b\xc8\x28\x67\xde\x10\x7c\xf5",
+ 33 },
+ .s = { (unsigned char
+ *)"\x00\xc9\x8e\x56\x4f\xb1\x62\xe1\x74\xbe\x8c\x9d\xff\x04\x88\x75\x76\x63\x91\x8a\xd6\x9d\x41\x76\xef\xe2\xb5\x8e\xbb\xa8\x88\xba\x9f",
+ 33 } },
+ { .name = "test2",
+ .sig = { (unsigned char
+ *)"\x30\x44\x02\x20\x07\xd2\x7f\xd0\xef\x77\xa8\x29\x31\x9b\x46\x01\xb3\xaf\x66\xac\x33\x48\x15\x94\xb8\x80\xa1\x97\x71\x8f\x4a\x32\x43\x12\xec\x1f\x02\x20\x37\x06\x13\xbe\x4c\x6d\xdd\xcd\xa1\x4c\x88\xc5\x66\x85\x81\xf5\x50\x41\xb1\x4a\xee\x29\xce\x73\x2c\x09\xff\xba\xe3\x5e\x8a\x12",
+ 70 },
+ .r = { (unsigned char
+ *)"\x07\xd2\x7f\xd0\xef\x77\xa8\x29\x31\x9b\x46\x01\xb3\xaf\x66\xac\x33\x48\x15\x94\xb8\x80\xa1\x97\x71\x8f\x4a\x32\x43\x12\xec\x1f",
+ 32 },
+ .s = { (unsigned char
+ *)"\x37\x06\x13\xbe\x4c\x6d\xdd\xcd\xa1\x4c\x88\xc5\x66\x85\x81\xf5\x50\x41\xb1\x4a\xee\x29\xce\x73\x2c\x09\xff\xba\xe3\x5e\x8a\x12",
+ 32 } },
+ { .name = "test3",
+ .sig = { (unsigned char
+ *)"\x30\x44\x02\x20\x57\x53\x71\xfd\x9c\xb5\x96\xc2\xc5\xc7\x59\xce\x2f\xc2\xbe\x8f\xdc\x22\xf9\xab\x38\xdc\x57\x81\xfb\x34\x78\x12\xae\x88\x9a\x50\x02\x20\x60\x6b\xd4\x5b\xd6\x32\x05\xae\x1f\xe6\x08\xf4\x73\x0f\x42\xbc\x32\x55\x1f\x8d\xea\x81\xec\x2b\x4a\x0b\x8c\x0f\xb1\xbe\x5f\x9b",
+ 70 },
+ .r = { (unsigned char
+ *)"\x57\x53\x71\xfd\x9c\xb5\x96\xc2\xc5\xc7\x59\xce\x2f\xc2\xbe\x8f\xdc\x22\xf9\xab\x38\xdc\x57\x81\xfb\x34\x78\x12\xae\x88\x9a\x50",
+ 32 },
+ .s = { (unsigned char
+ *)"\x60\x6b\xd4\x5b\xd6\x32\x05\xae\x1f\xe6\x08\xf4\x73\x0f\x42\xbc\x32\x55\x1f\x8d\xea\x81\xec\x2b\x4a\x0b\x8c\x0f\xb1\xbe\x5f\x9b",
+ 32 }
+
+ },
+ { .name = "test4",
+ .sig = { (unsigned char
+ *)"\x30\x46\x02\x21\x00\xe7\xdd\x79\x58\x96\xf6\x12\x05\xc1\x7a\x44\xd6\xdf\xde\x83\xe9\xb6\x30\xa7\xff\x02\x85\x97\x34\x5a\xcd\x2f\xae\xbd\xc6\x5d\xde\x02\x21\x00\xb5\x64\xbc\x53\x97\xc5\x64\x6f\x6b\x81\xe7\x4d\xad\x36\x29\x50\xd1\x62\x91\x65\x51\xf0\xc4\xa5\x28\x80\x20\x51\x9b\xce\xcc\xc8",
+ 72 },
+ .r = { (unsigned char
+ *)"\x00\xe7\xdd\x79\x58\x96\xf6\x12\x05\xc1\x7a\x44\xd6\xdf\xde\x83\xe9\xb6\x30\xa7\xff\x02\x85\x97\x34\x5a\xcd\x2f\xae\xbd\xc6\x5d\xde",
+ 33 },
+ .s = { (unsigned char
+ *)"\x00\xb5\x64\xbc\x53\x97\xc5\x64\x6f\x6b\x81\xe7\x4d\xad\x36\x29\x50\xd1\x62\x91\x65\x51\xf0\xc4\xa5\x28\x80\x20\x51\x9b\xce\xcc\xc8",
+ 33 } },
+ { .name = "test5",
+ .sig = { (unsigned char
+ *)"\x30\x45\x02\x20\x54\xce\x1b\x8d\x63\x5d\xa4\xdb\x26\x58\x1c\x8f\xf0\xb0\x6d\xf3\x2f\x6a\xdb\x83\xcf\x7e\xe7\xda\x98\x52\xa6\x5f\x1f\xc9\x50\x73\x02\x21\x00\xfa\xb9\x6a\x18\xd4\xc6\x45\x3c\xf2\xbf\xc2\x3d\x15\x0d\xc6\xd4\x0c\x78\x52\x12\xec\xb5\x3c\xf5\xe0\x8a\xbf\x6c\x11\xd3\xfd\x4f",
+ 71 },
+ .r = { (unsigned char
+ *)"\x54\xce\x1b\x8d\x63\x5d\xa4\xdb\x26\x58\x1c\x8f\xf0\xb0\x6d\xf3\x2f\x6a\xdb\x83\xcf\x7e\xe7\xda\x98\x52\xa6\x5f\x1f\xc9\x50\x73",
+ 32 },
+ .s = { (unsigned char
+ *)"\x00\xfa\xb9\x6a\x18\xd4\xc6\x45\x3c\xf2\xbf\xc2\x3d\x15\x0d\xc6\xd4\x0c\x78\x52\x12\xec\xb5\x3c\xf5\xe0\x8a\xbf\x6c\x11\xd3\xfd\x4f",
+ 33 } },
+ { .name = "test6",
+ .sig = { (unsigned char
+ *)"\x30\x45\x02\x20\x3b\x77\x03\xcf\x8f\xe7\x92\xf1\x6a\x68\x3b\xcd\xb7\x21\x5b\x80\xcd\x00\x75\x65\x38\x31\x8c\xc2\x9b\x92\x6a\x1a\x02\x4b\xd8\x73\x02\x21\x00\xd9\x88\x28\x68\xae\x31\x5d\x95\xa4\x8b\x5e\x3a\x95\x24\x7b\x0d\x07\xaa\xc4\xe0\xeb\xb1\xf1\x89\xc0\xab\x4d\x88\x15\x84\x5f\x01",
+ 71 },
+ .r = { (unsigned char
+ *)"\x3b\x77\x03\xcf\x8f\xe7\x92\xf1\x6a\x68\x3b\xcd\xb7\x21\x5b\x80\xcd\x00\x75\x65\x38\x31\x8c\xc2\x9b\x92\x6a\x1a\x02\x4b\xd8\x73",
+ 32 },
+ .s = { (unsigned char
+ *)"\x00\xd9\x88\x28\x68\xae\x31\x5d\x95\xa4\x8b\x5e\x3a\x95\x24\x7b\x0d\x07\xaa\xc4\xe0\xeb\xb1\xf1\x89\xc0\xab\x4d\x88\x15\x84\x5f\x01",
+ 33 } },
+ { .name = "test7",
+ .sig = { (unsigned char
+ *)"\x30\x45\x02\x20\x22\xa1\xbf\x7d\xcd\x7b\x5e\xab\xa0\x08\x20\xe5\xcc\x22\x34\x61\xf1\x1f\xd0\x3a\x32\xc3\x61\x19\xcf\xe4\xeb\xff\x66\xe6\x51\xa1\x02\x21\x00\x9d\x62\xcb\x04\x3e\xb6\x1f\xc1\x2e\x52\xd4\x73\x7f\xbd\xa5\x9c\x29\x49\x75\x6d\x08\xf9\xcb\x74\xd7\x41\xdc\xcb\x66\x4d\x9a\x77",
+ 71 },
+ .r = { (unsigned char
+ *)"\x22\xa1\xbf\x7d\xcd\x7b\x5e\xab\xa0\x08\x20\xe5\xcc\x22\x34\x61\xf1\x1f\xd0\x3a\x32\xc3\x61\x19\xcf\xe4\xeb\xff\x66\xe6\x51\xa1",
+ 32 },
+ .s = { (unsigned char
+ *)"\x00\x9d\x62\xcb\x04\x3e\xb6\x1f\xc1\x2e\x52\xd4\x73\x7f\xbd\xa5\x9c\x29\x49\x75\x6d\x08\xf9\xcb\x74\xd7\x41\xdc\xcb\x66\x4d\x9a\x77",
+ 33 } },
+ { .name = "test8",
+ .sig = { (unsigned char
+ *)"\x30\x44\x02\x20\x41\xc9\x32\x16\x2e\x6f\x0c\x1f\x0f\x81\xc0\x0f\x01\x50\x31\x75\x10\x55\x25\x45\x2a\x75\xb1\xdf\x91\x8e\xdf\x24\x30\xf2\xa8\x5f\x02\x20\x07\x80\xa7\x9b\xb8\x1c\x4f\x6e\xc4\x97\x5c\xb7\x9e\x61\x2a\xf0\xfc\x16\xdd\xe7\xa3\xcc\x15\x99\x68\x08\x8e\x85\x60\x9d\x34\xf8",
+ 70 },
+ .r = { (unsigned char
+ *)"\x41\xc9\x32\x16\x2e\x6f\x0c\x1f\x0f\x81\xc0\x0f\x01\x50\x31\x75\x10\x55\x25\x45\x2a\x75\xb1\xdf\x91\x8e\xdf\x24\x30\xf2\xa8\x5f",
+ 32 },
+ .s = { (unsigned char
+ *)"\x07\x80\xa7\x9b\xb8\x1c\x4f\x6e\xc4\x97\x5c\xb7\x9e\x61\x2a\xf0\xfc\x16\xdd\xe7\xa3\xcc\x15\x99\x68\x08\x8e\x85\x60\x9d\x34\xf8",
+ 32 }
+
+ },
+ { .name = "test9",
+ .sig = { (unsigned char
+ *)"\x30\x46\x02\x21\x00\xbe\xa1\x01\x12\x64\x1d\x66\x5a\x68\x4a\xa0\xd5\x7e\x3e\x0c\x83\x51\xaa\x21\x9a\x0f\x7b\x38\xf0\xc0\x8b\xc5\xba\xfe\x25\x83\x51\x02\x21\x00\xfb\xea\x25\x74\x78\xd3\xaa\x91\x7b\xc8\x49\x26\x22\x26\xc7\x72\x6b\x25\xfd\x05\xac\x71\x5d\xeb\x1d\xc5\xaa\x4e\xc9\x6e\x34\xb5",
+ 72 },
+ .r = { (unsigned char
+ *)"\x00\xbe\xa1\x01\x12\x64\x1d\x66\x5a\x68\x4a\xa0\xd5\x7e\x3e\x0c\x83\x51\xaa\x21\x9a\x0f\x7b\x38\xf0\xc0\x8b\xc5\xba\xfe\x25\x83\x51",
+ 33 },
+ .s = { (unsigned char
+ *)"\x00\xfb\xea\x25\x74\x78\xd3\xaa\x91\x7b\xc8\x49\x26\x22\x26\xc7\x72\x6b\x25\xfd\x05\xac\x71\x5d\xeb\x1d\xc5\xaa\x4e\xc9\x6e\x34\xb5",
+ 33 }
+
+ }
};
void doit(void)
diff --git a/tests/dtls-client-with-seccomp.c b/tests/dtls-client-with-seccomp.c
index b738b0c554..3816ec0631 100644
--- a/tests/dtls-client-with-seccomp.c
+++ b/tests/dtls-client-with-seccomp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -62,7 +62,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -111,8 +111,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -125,8 +124,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -147,7 +146,7 @@ static void client(int fd, const char *prio)
gnutls_strerror(ret));
}
- end:
+end:
close(fd);
@@ -188,9 +187,8 @@ static void server(int fd, const char *prio)
gnutls_certificate_allocate_credentials(&xcred);
- ret = gnutls_certificate_set_x509_key_mem(xcred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ xcred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -210,8 +208,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -224,8 +221,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -260,8 +257,7 @@ static void server(int fd, const char *prio)
success("server: finished\n");
}
-static
-void run(const char *name, const char *prio)
+static void run(const char *name, const char *prio)
{
int fd[2];
int ret;
@@ -302,4 +298,4 @@ void doit(void)
{
run("dtls1.2", "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-DTLS1.2");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-etm.c b/tests/dtls-etm.c
index 86e613ff3b..53d70a6c5c 100644
--- a/tests/dtls-etm.c
+++ b/tests/dtls-etm.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
static void terminate(void);
@@ -68,7 +68,7 @@ static void client_log_func(int level, const char *str)
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio, unsigned etm)
{
@@ -107,8 +107,7 @@ static void client(int fd, const char *prio, unsigned etm)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -121,8 +120,8 @@ static void client(int fd, const char *prio, unsigned etm)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (etm != 0 && gnutls_session_etm_status(session) == 0) {
fail("client: EtM was not negotiated with %s!\n", prio);
@@ -132,13 +131,12 @@ static void client(int fd, const char *prio, unsigned etm)
exit(1);
}
- if (etm != 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
+ if (etm != 0 &&
+ ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
fail("client: EtM was not negotiated with %s!\n", prio);
exit(1);
- } else if (etm == 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM)
- != 0)) {
+ } else if (etm == 0 && ((gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_ETM) != 0)) {
fail("client: EtM was negotiated with %s!\n", prio);
exit(1);
}
@@ -162,7 +160,7 @@ static void client(int fd, const char *prio, unsigned etm)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -240,13 +238,12 @@ static void server(int fd, const char *prio, unsigned etm)
exit(1);
}
- if (etm != 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
+ if (etm != 0 &&
+ ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
fail("server: EtM was not negotiated with %s!\n", prio);
exit(1);
- } else if (etm == 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM)
- != 0)) {
+ } else if (etm == 0 && ((gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_ETM) != 0)) {
fail("server: EtM was negotiated with %s!\n", prio);
exit(1);
}
@@ -256,13 +253,13 @@ static void server(int fd, const char *prio, unsigned etm)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -271,8 +268,7 @@ static void server(int fd, const char *prio, unsigned etm)
terminate();
}
to_send++;
- }
- while (to_send < 64);
+ } while (to_send < 64);
to_send = -1;
/* do not wait for the peer to close the connection.
@@ -321,9 +317,12 @@ static void start(const char *prio, unsigned etm)
}
}
-# define AES_CBC "NONE:+VERS-DTLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC \
+ "NONE:+VERS-DTLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -342,4 +341,4 @@ void doit(void)
start(AES_GCM, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-handshake-versions.c b/tests/dtls-handshake-versions.c
index a447e9e76e..63f1ea67ec 100644
--- a/tests/dtls-handshake-versions.c
+++ b/tests/dtls-handshake-versions.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -66,9 +66,8 @@ static void try(unsigned char major, unsigned char minor, int ret1, int ret2)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -86,15 +85,13 @@ static void try(unsigned char major, unsigned char minor, int ret1, int ret2)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_init(&client,
- GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
+ ret = gnutls_init(&client,
+ GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
if (ret < 0)
exit(1);
diff --git a/tests/dtls-max-record.c b/tests/dtls-max-record.c
index d37f226b8f..fd845f48f0 100644
--- a/tests/dtls-max-record.c
+++ b/tests/dtls-max-record.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,7 +32,9 @@
#include <assert.h>
#include "utils.h"
-#define SERVER_PUSH_ADD if (len > 512 + 5+8+32) fail("max record set to 512, len: %d\n", (int)len);
+#define SERVER_PUSH_ADD \
+ if (len > 512 + 5 + 8 + 32) \
+ fail("max record set to 512, len: %d\n", (int)len);
#include "eagain-common.h"
#include "cert-common.h"
@@ -47,8 +49,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-void run(const char *prio)
+static void run(const char *prio)
{
global_init();
@@ -70,9 +71,8 @@ void run(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -90,15 +90,13 @@ void run(const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_init(&client,
- GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
+ ret = gnutls_init(&client,
+ GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
if (ret < 0)
exit(1);
diff --git a/tests/dtls-pthread.c b/tests/dtls-pthread.c
index 2fa486b0e7..2f7c7ec2e1 100644
--- a/tests/dtls-pthread.c
+++ b/tests/dtls-pthread.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,11 +33,11 @@
#include <signal.h>
#include <unistd.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <pthread.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <pthread.h>
#endif
#include <assert.h>
#include "utils.h"
@@ -67,10 +67,10 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MSG "hello1111"
-# define MSG2 "xxxxxxxxxxxx"
+#define MSG "hello1111"
+#define MSG2 "xxxxxxxxxxxx"
-# define NO_MSGS 128
+#define NO_MSGS 128
static void *recv_thread(void *arg)
{
@@ -81,8 +81,8 @@ static void *recv_thread(void *arg)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
for (i = 0; i < NO_MSGS; i++) {
/* the peer should reflect our messages */
@@ -91,9 +91,10 @@ static void *recv_thread(void *arg)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0)
fail("client: recv failed: %s\n", gnutls_strerror(ret));
- if (ret != sizeof(MSG) - 1
- || memcmp(buf, MSG, sizeof(MSG) - 1) != 0) {
- fail("client: recv failed; not the expected values (got: %d, exp: %d)\n", ret, (int)sizeof(MSG) - 1);
+ if (ret != sizeof(MSG) - 1 ||
+ memcmp(buf, MSG, sizeof(MSG) - 1) != 0) {
+ fail("client: recv failed; not the expected values (got: %d, exp: %d)\n",
+ ret, (int)sizeof(MSG) - 1);
}
if (debug)
@@ -107,7 +108,8 @@ static void *recv_thread(void *arg)
if (ret < 0)
fail("client: recv2 failed: %s\n", gnutls_strerror(ret));
- if (ret != sizeof(MSG2) - 1 || memcmp(buf, MSG2, sizeof(MSG2) - 1) != 0) {
+ if (ret != sizeof(MSG2) - 1 ||
+ memcmp(buf, MSG2, sizeof(MSG2) - 1) != 0) {
fail("client: recv2 failed; not the expected values\n");
}
@@ -119,8 +121,7 @@ static void *recv_thread(void *arg)
pthread_exit(0);
}
-static
-void do_thread_stuff(gnutls_session_t session)
+static void do_thread_stuff(gnutls_session_t session)
{
int ret;
unsigned i;
@@ -226,15 +227,14 @@ static void client(int fd, const char *prio, unsigned do_thread,
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
- assert(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred) >= 0);
+ assert(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred) >= 0);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -265,13 +265,13 @@ static void server(int fd, const char *prio, unsigned do_thread)
global_init();
-# if 0
+#if 0
if (debug) {
side = "server";
gnutls_global_set_log_function(tls_log_func);
gnutls_global_set_log_level(4711);
}
-# endif
+#endif
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
assert(gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
@@ -303,8 +303,8 @@ static void server(int fd, const char *prio, unsigned do_thread)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (do_thread)
do_thread_stuff(session);
@@ -322,9 +322,8 @@ static void server(int fd, const char *prio, unsigned do_thread)
success("server: finished\n");
}
-static
-void run(const char *str, const char *prio, unsigned do_thread,
- unsigned false_start)
+static void run(const char *str, const char *prio, unsigned do_thread,
+ unsigned false_start)
{
int fd[2];
int ret;
@@ -372,4 +371,4 @@ void doit(void)
run("dtls1.2 false start, threaded server",
"NORMAL:-VERS-ALL:+VERS-DTLS1.2", 1, 1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-rehandshake-anon.c b/tests/dtls-rehandshake-anon.c
index 3a8c60ed59..822bdf88fb 100644
--- a/tests/dtls-rehandshake-anon.c
+++ b/tests/dtls-rehandshake-anon.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,17 +35,17 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -65,8 +65,8 @@ static void client_log_func(int level, const char *str)
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -99,9 +99,10 @@ static void client(int fd, int server_init)
gnutls_dtls_set_mtu(session, 1500);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -114,8 +115,7 @@ static void client(int fd, int server_init)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -128,8 +128,8 @@ static void client(int fd, int server_init)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (!server_init) {
sec_sleep(60);
@@ -137,8 +137,7 @@ static void client(int fd, int server_init)
success("Initiating client rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("2nd client gnutls_handshake: %s\n",
@@ -158,12 +157,10 @@ static void client(int fd, int server_init)
} else if (ret < 0) {
if (server_init && ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to server request\n");
+ success("Initiating rehandshake due to server request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
}
if (ret != 0) {
@@ -177,7 +174,7 @@ static void client(int fd, int server_init)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -223,9 +220,10 @@ static void server(int fd, int server_init)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -234,8 +232,7 @@ static void server(int fd, int server_init)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -248,8 +245,8 @@ static void server(int fd, int server_init)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -267,8 +264,7 @@ static void server(int fd, int server_init)
success("server: Initiating rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: 2nd gnutls_handshake: %s\n",
@@ -286,34 +282,31 @@ static void server(int fd, int server_init)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
if (!server_init && ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to client request\n");
+ success("Initiating rehandshake due to client request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 &&
+ gnutls_error_is_fatal(ret) == 0);
if (ret == 0)
break;
}
- fail("server: Received corrupted data(%s). Closing...\n", gnutls_strerror(ret));
+ fail("server: Received corrupted data(%s). Closing...\n",
+ gnutls_strerror(ret));
terminate();
} else if (ret > 0) {
/* echo data back to the client
*/
do {
- ret =
- gnutls_record_send(session, buffer,
- strlen(buffer));
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_send(session, buffer,
+ strlen(buffer));
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
}
}
@@ -370,4 +363,4 @@ void doit(void)
start(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-rehandshake-cert-2.c b/tests/dtls-rehandshake-cert-2.c
index 2f39ae672f..9bc6226107 100644
--- a/tests/dtls-rehandshake-cert-2.c
+++ b/tests/dtls-rehandshake-cert-2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -69,8 +69,8 @@ static void client_log_func(int level, const char *str)
* certificates.
*/
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -115,8 +115,7 @@ static void client(int fd, int server_init, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -129,8 +128,8 @@ static void client(int fd, int server_init, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* update priorities to allow cert auth */
snprintf(buffer, sizeof(buffer), "%s:+ECDHE-RSA", prio);
@@ -142,8 +141,7 @@ static void client(int fd, int server_init, const char *prio)
success("Initiating client rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("2nd client gnutls_handshake: %s\n",
@@ -163,12 +161,10 @@ static void client(int fd, int server_init, const char *prio)
} else if (ret < 0) {
if (server_init && ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to server request\n");
+ success("Initiating rehandshake due to server request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
}
if (ret != 0) {
@@ -182,7 +178,7 @@ static void client(int fd, int server_init, const char *prio)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -224,8 +220,8 @@ static void server(int fd, int server_init, const char *prio)
assert(gnutls_anon_allocate_server_credentials(&anoncred) >= 0);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM);
@@ -245,8 +241,7 @@ static void server(int fd, int server_init, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -259,8 +254,8 @@ static void server(int fd, int server_init, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (gnutls_kx_get(session) != GNUTLS_KX_ANON_ECDH) {
fail("did not negotiate an anonymous ciphersuite on initial auth\n");
@@ -282,8 +277,7 @@ static void server(int fd, int server_init, const char *prio)
success("server: Initiating rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: 2nd gnutls_handshake: %s\n",
@@ -301,34 +295,31 @@ static void server(int fd, int server_init, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
if (!server_init && ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to client request\n");
+ success("Initiating rehandshake due to client request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 &&
+ gnutls_error_is_fatal(ret) == 0);
if (ret == 0)
break;
}
- fail("server: Received corrupted data(%s). Closing...\n", gnutls_strerror(ret));
+ fail("server: Received corrupted data(%s). Closing...\n",
+ gnutls_strerror(ret));
terminate();
} else if (ret > 0) {
/* echo data back to the client
*/
do {
- ret =
- gnutls_record_send(session, buffer,
- strlen(buffer));
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_send(session, buffer,
+ strlen(buffer));
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
}
}
@@ -392,4 +383,4 @@ void doit(void)
"NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-rehandshake-cert-3.c b/tests/dtls-rehandshake-cert-3.c
index b5f3a73ba4..3581d39566 100644
--- a/tests/dtls-rehandshake-cert-3.c
+++ b/tests/dtls-rehandshake-cert-3.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,23 +36,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
-# define MTU 1500
-# define MAX_BUF 4096
-# define MSG "Hello TLS"
+#define MTU 1500
+#define MAX_BUF 4096
+#define MSG "Hello TLS"
static int server_fd = -1;
static char pkt_buf[MAX_BUF];
@@ -139,8 +139,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -153,8 +152,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* update priorities to allow cert auth */
snprintf(buffer, sizeof(buffer), "%s:+ECDHE-RSA", prio);
@@ -171,12 +170,10 @@ static void client(int fd, const char *prio)
} else if (ret < 0) {
if (ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to server request\n");
+ success("Initiating rehandshake due to server request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
}
if (ret != 0) {
@@ -190,7 +187,7 @@ static void client(int fd, const char *prio)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -232,8 +229,8 @@ static void server(int fd, const char *prio)
assert(gnutls_anon_allocate_server_credentials(&anoncred) >= 0);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM);
@@ -253,8 +250,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -267,8 +263,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (gnutls_kx_get(session) != GNUTLS_KX_ANON_ECDH) {
fail("did not negotiate an anonymous ciphersuite on initial auth\n");
@@ -289,8 +285,7 @@ static void server(int fd, const char *prio)
success("server: Initiating rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: 2nd gnutls_handshake: %s\n",
@@ -307,21 +302,20 @@ static void server(int fd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%s). Closing...\n", gnutls_strerror(ret));
+ fail("server: Received corrupted data(%s). Closing...\n",
+ gnutls_strerror(ret));
terminate();
} else if (ret > 0) {
/* echo data back to the client
*/
do {
- ret =
- gnutls_record_send(session, buffer,
- strlen(buffer));
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_send(session, buffer,
+ strlen(buffer));
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
}
}
@@ -380,8 +374,7 @@ static void start(const char *prio)
void doit(void)
{
- start
- ("NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL");
+ start("NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-rehandshake-cert.c b/tests/dtls-rehandshake-cert.c
index cc29950a6c..f8f1083aea 100644
--- a/tests/dtls-rehandshake-cert.c
+++ b/tests/dtls-rehandshake-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -68,8 +68,8 @@ static void client_log_func(int level, const char *str)
* certificates.
*/
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -112,8 +112,7 @@ static void client(int fd, int server_init, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -126,8 +125,8 @@ static void client(int fd, int server_init, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (!server_init) {
sec_sleep(60);
@@ -135,8 +134,7 @@ static void client(int fd, int server_init, const char *prio)
success("Initiating client rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("2nd client gnutls_handshake: %s\n",
@@ -156,12 +154,10 @@ static void client(int fd, int server_init, const char *prio)
} else if (ret < 0) {
if (server_init && ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to server request\n");
+ success("Initiating rehandshake due to server request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
}
if (ret != 0) {
@@ -175,7 +171,7 @@ static void client(int fd, int server_init, const char *prio)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -214,8 +210,8 @@ static void server(int fd, int server_init, const char *prio)
}
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM);
@@ -234,8 +230,7 @@ static void server(int fd, int server_init, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -248,8 +243,8 @@ static void server(int fd, int server_init, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -267,8 +262,7 @@ static void server(int fd, int server_init, const char *prio)
success("server: Initiating rehandshake\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: 2nd gnutls_handshake: %s\n",
@@ -286,34 +280,31 @@ static void server(int fd, int server_init, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
if (!server_init && ret == GNUTLS_E_REHANDSHAKE) {
if (debug)
- success
- ("Initiating rehandshake due to client request\n");
+ success("Initiating rehandshake due to client request\n");
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 &&
+ gnutls_error_is_fatal(ret) == 0);
if (ret == 0)
break;
}
- fail("server: Received corrupted data(%s). Closing...\n", gnutls_strerror(ret));
+ fail("server: Received corrupted data(%s). Closing...\n",
+ gnutls_strerror(ret));
terminate();
} else if (ret > 0) {
/* echo data back to the client
*/
do {
- ret =
- gnutls_record_send(session, buffer,
- strlen(buffer));
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_send(session, buffer,
+ strlen(buffer));
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
}
}
@@ -372,4 +363,4 @@ void doit(void)
"NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-repro-20170915.c b/tests/dtls-repro-20170915.c
index 88351c61d9..adc92f3e71 100644
--- a/tests/dtls-repro-20170915.c
+++ b/tests/dtls-repro-20170915.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -39,12 +39,12 @@ void doit(void)
{
global_init();
- dtls_try_with_key_mtu("DTLS 1.2 with cli-cert",
- "NONE:+VERS-DTLS1.0:+MAC-ALL:+KX-ALL:+CIPHER-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_RSA_SHA256, &server_repro_cert,
- &server_repro_key, &client_repro_cert,
- &client_repro_key, USE_CERT, 1452);
+ dtls_try_with_key_mtu(
+ "DTLS 1.2 with cli-cert",
+ "NONE:+VERS-DTLS1.0:+MAC-ALL:+KX-ALL:+CIPHER-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_RSA_SHA256, &server_repro_cert, &server_repro_key,
+ &client_repro_cert, &client_repro_key, USE_CERT, 1452);
gnutls_global_deinit();
}
diff --git a/tests/dtls-session-ticket-lost.c b/tests/dtls-session-ticket-lost.c
index e174563204..51d4b85de3 100644
--- a/tests/dtls-session-ticket-lost.c
+++ b/tests/dtls-session-ticket-lost.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program is a reproducer for issue #543; the timeout
* of DTLS handshake when a NewSessionTicket is lost.
@@ -64,7 +64,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -89,8 +89,7 @@ static void client(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -112,8 +111,8 @@ static void client(int fd, const char *prio)
gnutls_certificate_free_credentials(x509_cred);
}
-static ssize_t
-server_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t server_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
const uint8_t *d = data;
static int dropped = 0;
@@ -184,7 +183,7 @@ static void server(int fd, const char *prio)
if (ret != 0)
fail("error waiting for EOF: %s\n", gnutls_strerror(ret));
- end:
+end:
close(fd);
gnutls_deinit(session);
gnutls_free(skey.data);
@@ -200,8 +199,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int fd[2];
int ret, status = 0;
@@ -244,4 +242,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-DTLS1.2");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls-sliding-window.c b/tests/dtls-sliding-window.c
index c24e45df8c..32dbea16f0 100644
--- a/tests/dtls-sliding-window.c
+++ b/tests/dtls-sliding-window.c
@@ -48,14 +48,12 @@ int _dtls_record_check(struct record_parameters_st *rp, uint64_t _seq);
#define DTLS_SW_NO_INCLUDES
#include "../lib/dtls-sw.c"
-#define RESET_WINDOW \
- memset(&state, 0, sizeof(state))
+#define RESET_WINDOW memset(&state, 0, sizeof(state))
-#define SET_WINDOW_NEXT(x) \
- state.dtls_sw_next = (((x)&DTLS_SEQ_NUM_MASK))
+#define SET_WINDOW_NEXT(x) state.dtls_sw_next = (((x)&DTLS_SEQ_NUM_MASK))
#define SET_WINDOW_LAST_RECV(x) \
- t = x; \
+ t = x; \
state.dtls_sw_have_recv = 1
static void check_dtls_window_uninit_0(void **glob_state)
diff --git a/tests/dtls-with-seccomp.c b/tests/dtls-with-seccomp.c
index 8cee86b74f..8be05e7825 100644
--- a/tests/dtls-with-seccomp.c
+++ b/tests/dtls-with-seccomp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -62,7 +62,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -104,8 +104,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -118,8 +117,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -140,7 +139,7 @@ static void client(int fd, const char *prio)
gnutls_strerror(ret));
}
- end:
+end:
close(fd);
@@ -181,9 +180,8 @@ static void server(int fd, const char *prio)
gnutls_certificate_allocate_credentials(&xcred);
- ret = gnutls_certificate_set_x509_key_mem(xcred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ xcred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -206,8 +204,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -220,8 +217,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -256,8 +253,7 @@ static void server(int fd, const char *prio)
success("server: finished\n");
}
-static
-void run(const char *name, const char *prio)
+static void run(const char *name, const char *prio)
{
int fd[2];
int ret;
@@ -301,4 +297,4 @@ void doit(void)
run("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/dtls/dtls-stress.c b/tests/dtls/dtls-stress.c
index 088c84723d..2ed41eeaf7 100644
--- a/tests/dtls/dtls-stress.c
+++ b/tests/dtls/dtls-stress.c
@@ -107,8 +107,9 @@
// {{{ types
-# define log(fmt, ...) \
- if (debug) fprintf(stdout, "%i %s| "fmt, run_id, role_name, ##__VA_ARGS__)
+#define log(fmt, ...) \
+ if (debug) \
+ fprintf(stdout, "%i %s| " fmt, run_id, role_name, ##__VA_ARGS__)
typedef struct {
int count;
@@ -126,113 +127,114 @@ typedef void (*filter_fn)(gnutls_transport_ptr_t, const unsigned char *,
typedef int (*match_fn)(const unsigned char *, size_t);
-enum role { SERVER, CLIENT };
+enum role {
+ SERVER,
+ CLIENT
+};
// }}}
// {{{ static data
-static int permutations2[2][2]
-= { {0, 1}, {1, 0} };
+static int permutations2[2][2] = { { 0, 1 }, { 1, 0 } };
-static const char *permutation_names2[]
-= { "01", "10", 0 };
+static const char *permutation_names2[] = { "01", "10", 0 };
-static int permutations3[6][3]
-= { {0, 1, 2}, {0, 2, 1}, {1, 0, 2}, {1, 2, 0}, {2, 0, 1}, {2, 1, 0} };
+static int permutations3[6][3] = { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 },
+ { 1, 2, 0 }, { 2, 0, 1 }, { 2, 1, 0 } };
-static const char *permutation_names3[]
-= { "012", "021", "102", "120", "201", "210", 0 };
+static const char *permutation_names3[] = { "012", "021", "102", "120",
+ "201", "210", 0 };
static int permutations5[120][5] = {
- {0, 1, 2, 3, 4}, {0, 2, 1, 3, 4}, {1, 0, 2, 3, 4}, {1, 2, 0, 3, 4},
- {2, 0, 1, 3, 4}, {2, 1, 0, 3, 4}, {0, 1, 3, 2, 4}, {0, 2, 3, 1, 4},
- {1, 0, 3, 2, 4}, {1, 2, 3, 0, 4}, {2, 0, 3, 1, 4}, {2, 1, 3, 0, 4},
- {0, 3, 1, 2, 4}, {0, 3, 2, 1, 4}, {1, 3, 0, 2, 4}, {1, 3, 2, 0, 4},
- {2, 3, 0, 1, 4}, {2, 3, 1, 0, 4}, {3, 0, 1, 2, 4}, {3, 0, 2, 1, 4},
- {3, 1, 0, 2, 4}, {3, 1, 2, 0, 4}, {3, 2, 0, 1, 4}, {3, 2, 1, 0, 4},
- {0, 1, 2, 4, 3}, {0, 2, 1, 4, 3}, {1, 0, 2, 4, 3}, {1, 2, 0, 4, 3},
- {2, 0, 1, 4, 3}, {2, 1, 0, 4, 3}, {0, 1, 3, 4, 2}, {0, 2, 3, 4, 1},
- {1, 0, 3, 4, 2}, {1, 2, 3, 4, 0}, {2, 0, 3, 4, 1}, {2, 1, 3, 4, 0},
- {0, 3, 1, 4, 2}, {0, 3, 2, 4, 1}, {1, 3, 0, 4, 2}, {1, 3, 2, 4, 0},
- {2, 3, 0, 4, 1}, {2, 3, 1, 4, 0}, {3, 0, 1, 4, 2}, {3, 0, 2, 4, 1},
- {3, 1, 0, 4, 2}, {3, 1, 2, 4, 0}, {3, 2, 0, 4, 1}, {3, 2, 1, 4, 0},
- {0, 1, 4, 2, 3}, {0, 2, 4, 1, 3}, {1, 0, 4, 2, 3}, {1, 2, 4, 0, 3},
- {2, 0, 4, 1, 3}, {2, 1, 4, 0, 3}, {0, 1, 4, 3, 2}, {0, 2, 4, 3, 1},
- {1, 0, 4, 3, 2}, {1, 2, 4, 3, 0}, {2, 0, 4, 3, 1}, {2, 1, 4, 3, 0},
- {0, 3, 4, 1, 2}, {0, 3, 4, 2, 1}, {1, 3, 4, 0, 2}, {1, 3, 4, 2, 0},
- {2, 3, 4, 0, 1}, {2, 3, 4, 1, 0}, {3, 0, 4, 1, 2}, {3, 0, 4, 2, 1},
- {3, 1, 4, 0, 2}, {3, 1, 4, 2, 0}, {3, 2, 4, 0, 1}, {3, 2, 4, 1, 0},
- {0, 4, 1, 2, 3}, {0, 4, 2, 1, 3}, {1, 4, 0, 2, 3}, {1, 4, 2, 0, 3},
- {2, 4, 0, 1, 3}, {2, 4, 1, 0, 3}, {0, 4, 1, 3, 2}, {0, 4, 2, 3, 1},
- {1, 4, 0, 3, 2}, {1, 4, 2, 3, 0}, {2, 4, 0, 3, 1}, {2, 4, 1, 3, 0},
- {0, 4, 3, 1, 2}, {0, 4, 3, 2, 1}, {1, 4, 3, 0, 2}, {1, 4, 3, 2, 0},
- {2, 4, 3, 0, 1}, {2, 4, 3, 1, 0}, {3, 4, 0, 1, 2}, {3, 4, 0, 2, 1},
- {3, 4, 1, 0, 2}, {3, 4, 1, 2, 0}, {3, 4, 2, 0, 1}, {3, 4, 2, 1, 0},
- {4, 0, 1, 2, 3}, {4, 0, 2, 1, 3}, {4, 1, 0, 2, 3}, {4, 1, 2, 0, 3},
- {4, 2, 0, 1, 3}, {4, 2, 1, 0, 3}, {4, 0, 1, 3, 2}, {4, 0, 2, 3, 1},
- {4, 1, 0, 3, 2}, {4, 1, 2, 3, 0}, {4, 2, 0, 3, 1}, {4, 2, 1, 3, 0},
- {4, 0, 3, 1, 2}, {4, 0, 3, 2, 1}, {4, 1, 3, 0, 2}, {4, 1, 3, 2, 0},
- {4, 2, 3, 0, 1}, {4, 2, 3, 1, 0}, {4, 3, 0, 1, 2}, {4, 3, 0, 2, 1},
- {4, 3, 1, 0, 2}, {4, 3, 1, 2, 0}, {4, 3, 2, 0, 1}, {4, 3, 2, 1, 0}
-};
-
-static const char *permutation_names5[]
- = { "01234", "02134", "10234", "12034", "20134", "21034", "01324",
- "02314", "10324", "12304", "20314", "21304", "03124", "03214",
- "13024", "13204", "23014", "23104", "30124", "30214", "31024",
- "31204", "32014", "32104", "01243", "02143", "10243", "12043",
- "20143", "21043", "01342", "02341", "10342", "12340", "20341",
- "21340", "03142", "03241", "13042", "13240", "23041", "23140",
- "30142", "30241", "31042", "31240", "32041", "32140", "01423",
- "02413", "10423", "12403", "20413", "21403", "01432", "02431",
- "10432", "12430", "20431", "21430", "03412", "03421", "13402",
- "13420", "23401", "23410", "30412", "30421", "31402", "31420",
- "32401", "32410", "04123", "04213", "14023", "14203", "24013",
- "24103", "04132", "04231", "14032", "14230", "24031", "24130",
- "04312", "04321", "14302", "14320", "24301", "24310", "34012",
- "34021", "34102", "34120", "34201", "34210", "40123", "40213",
- "41023", "41203", "42013", "42103", "40132", "40231", "41032",
- "41230", "42031", "42130", "40312", "40321", "41302", "41320",
- "42301", "42310", "43012", "43021", "43102", "43120", "43201",
- "43210", 0
-};
-
-static const char *filter_names[8]
- = { "SHello",
- "SKeyExchange",
- "SHelloDone",
- "CKeyExchange",
- "CChangeCipherSpec",
- "CFinished",
- "SChangeCipherSpec",
- "SFinished"
-};
-
-static const char *filter_names_resume[]
- = { "SHello",
- "SChangeCipherSpec",
- "SFinished",
- "CChangeCipherSpec",
- "CFinished"
+ { 0, 1, 2, 3, 4 }, { 0, 2, 1, 3, 4 }, { 1, 0, 2, 3, 4 },
+ { 1, 2, 0, 3, 4 }, { 2, 0, 1, 3, 4 }, { 2, 1, 0, 3, 4 },
+ { 0, 1, 3, 2, 4 }, { 0, 2, 3, 1, 4 }, { 1, 0, 3, 2, 4 },
+ { 1, 2, 3, 0, 4 }, { 2, 0, 3, 1, 4 }, { 2, 1, 3, 0, 4 },
+ { 0, 3, 1, 2, 4 }, { 0, 3, 2, 1, 4 }, { 1, 3, 0, 2, 4 },
+ { 1, 3, 2, 0, 4 }, { 2, 3, 0, 1, 4 }, { 2, 3, 1, 0, 4 },
+ { 3, 0, 1, 2, 4 }, { 3, 0, 2, 1, 4 }, { 3, 1, 0, 2, 4 },
+ { 3, 1, 2, 0, 4 }, { 3, 2, 0, 1, 4 }, { 3, 2, 1, 0, 4 },
+ { 0, 1, 2, 4, 3 }, { 0, 2, 1, 4, 3 }, { 1, 0, 2, 4, 3 },
+ { 1, 2, 0, 4, 3 }, { 2, 0, 1, 4, 3 }, { 2, 1, 0, 4, 3 },
+ { 0, 1, 3, 4, 2 }, { 0, 2, 3, 4, 1 }, { 1, 0, 3, 4, 2 },
+ { 1, 2, 3, 4, 0 }, { 2, 0, 3, 4, 1 }, { 2, 1, 3, 4, 0 },
+ { 0, 3, 1, 4, 2 }, { 0, 3, 2, 4, 1 }, { 1, 3, 0, 4, 2 },
+ { 1, 3, 2, 4, 0 }, { 2, 3, 0, 4, 1 }, { 2, 3, 1, 4, 0 },
+ { 3, 0, 1, 4, 2 }, { 3, 0, 2, 4, 1 }, { 3, 1, 0, 4, 2 },
+ { 3, 1, 2, 4, 0 }, { 3, 2, 0, 4, 1 }, { 3, 2, 1, 4, 0 },
+ { 0, 1, 4, 2, 3 }, { 0, 2, 4, 1, 3 }, { 1, 0, 4, 2, 3 },
+ { 1, 2, 4, 0, 3 }, { 2, 0, 4, 1, 3 }, { 2, 1, 4, 0, 3 },
+ { 0, 1, 4, 3, 2 }, { 0, 2, 4, 3, 1 }, { 1, 0, 4, 3, 2 },
+ { 1, 2, 4, 3, 0 }, { 2, 0, 4, 3, 1 }, { 2, 1, 4, 3, 0 },
+ { 0, 3, 4, 1, 2 }, { 0, 3, 4, 2, 1 }, { 1, 3, 4, 0, 2 },
+ { 1, 3, 4, 2, 0 }, { 2, 3, 4, 0, 1 }, { 2, 3, 4, 1, 0 },
+ { 3, 0, 4, 1, 2 }, { 3, 0, 4, 2, 1 }, { 3, 1, 4, 0, 2 },
+ { 3, 1, 4, 2, 0 }, { 3, 2, 4, 0, 1 }, { 3, 2, 4, 1, 0 },
+ { 0, 4, 1, 2, 3 }, { 0, 4, 2, 1, 3 }, { 1, 4, 0, 2, 3 },
+ { 1, 4, 2, 0, 3 }, { 2, 4, 0, 1, 3 }, { 2, 4, 1, 0, 3 },
+ { 0, 4, 1, 3, 2 }, { 0, 4, 2, 3, 1 }, { 1, 4, 0, 3, 2 },
+ { 1, 4, 2, 3, 0 }, { 2, 4, 0, 3, 1 }, { 2, 4, 1, 3, 0 },
+ { 0, 4, 3, 1, 2 }, { 0, 4, 3, 2, 1 }, { 1, 4, 3, 0, 2 },
+ { 1, 4, 3, 2, 0 }, { 2, 4, 3, 0, 1 }, { 2, 4, 3, 1, 0 },
+ { 3, 4, 0, 1, 2 }, { 3, 4, 0, 2, 1 }, { 3, 4, 1, 0, 2 },
+ { 3, 4, 1, 2, 0 }, { 3, 4, 2, 0, 1 }, { 3, 4, 2, 1, 0 },
+ { 4, 0, 1, 2, 3 }, { 4, 0, 2, 1, 3 }, { 4, 1, 0, 2, 3 },
+ { 4, 1, 2, 0, 3 }, { 4, 2, 0, 1, 3 }, { 4, 2, 1, 0, 3 },
+ { 4, 0, 1, 3, 2 }, { 4, 0, 2, 3, 1 }, { 4, 1, 0, 3, 2 },
+ { 4, 1, 2, 3, 0 }, { 4, 2, 0, 3, 1 }, { 4, 2, 1, 3, 0 },
+ { 4, 0, 3, 1, 2 }, { 4, 0, 3, 2, 1 }, { 4, 1, 3, 0, 2 },
+ { 4, 1, 3, 2, 0 }, { 4, 2, 3, 0, 1 }, { 4, 2, 3, 1, 0 },
+ { 4, 3, 0, 1, 2 }, { 4, 3, 0, 2, 1 }, { 4, 3, 1, 0, 2 },
+ { 4, 3, 1, 2, 0 }, { 4, 3, 2, 0, 1 }, { 4, 3, 2, 1, 0 }
};
-static const char *filter_names_full[12]
- = { "SHello",
- "SCertificate",
- "SKeyExchange",
- "SCertificateRequest",
- "SHelloDone",
- "CCertificate",
- "CKeyExchange",
- "CCertificateVerify",
- "CChangeCipherSpec",
- "CFinished",
- "SChangeCipherSpec",
- "SFinished"
+static const char *permutation_names5[] = {
+ "01234", "02134", "10234", "12034", "20134", "21034", "01324", "02314",
+ "10324", "12304", "20314", "21304", "03124", "03214", "13024", "13204",
+ "23014", "23104", "30124", "30214", "31024", "31204", "32014", "32104",
+ "01243", "02143", "10243", "12043", "20143", "21043", "01342", "02341",
+ "10342", "12340", "20341", "21340", "03142", "03241", "13042", "13240",
+ "23041", "23140", "30142", "30241", "31042", "31240", "32041", "32140",
+ "01423", "02413", "10423", "12403", "20413", "21403", "01432", "02431",
+ "10432", "12430", "20431", "21430", "03412", "03421", "13402", "13420",
+ "23401", "23410", "30412", "30421", "31402", "31420", "32401", "32410",
+ "04123", "04213", "14023", "14203", "24013", "24103", "04132", "04231",
+ "14032", "14230", "24031", "24130", "04312", "04321", "14302", "14320",
+ "24301", "24310", "34012", "34021", "34102", "34120", "34201", "34210",
+ "40123", "40213", "41023", "41203", "42013", "42103", "40132", "40231",
+ "41032", "41230", "42031", "42130", "40312", "40321", "41302", "41320",
+ "42301", "42310", "43012", "43021", "43102", "43120", "43201", "43210",
+ 0
};
-# include "cert-common.h"
+static const char *filter_names[8] = { "SHello",
+ "SKeyExchange",
+ "SHelloDone",
+ "CKeyExchange",
+ "CChangeCipherSpec",
+ "CFinished",
+ "SChangeCipherSpec",
+ "SFinished" };
+
+static const char *filter_names_resume[] = { "SHello", "SChangeCipherSpec",
+ "SFinished", "CChangeCipherSpec",
+ "CFinished" };
+
+static const char *filter_names_full[12] = { "SHello",
+ "SCertificate",
+ "SKeyExchange",
+ "SCertificateRequest",
+ "SHelloDone",
+ "CCertificate",
+ "CKeyExchange",
+ "CCertificateVerify",
+ "CChangeCipherSpec",
+ "CFinished",
+ "SChangeCipherSpec",
+ "SFinished" };
+
+#include "cert-common.h"
// }}}
@@ -240,7 +242,7 @@ static const char *filter_names_full[12]
enum role role;
-# define role_name (role == SERVER ? "server" : "client")
+#define role_name (role == SERVER ? "server" : "client")
int debug;
int nonblock;
@@ -281,8 +283,8 @@ static void drop(const char *packet)
static int _process_error(int loc, int code, int die)
{
if (code < 0 && (die || code != GNUTLS_E_AGAIN)) {
- fprintf(stdout, "%i <%s tls> line %i: %s", run_id,
- role_name, loc, gnutls_strerror(code));
+ fprintf(stdout, "%i <%s tls> line %i: %s", run_id, role_name,
+ loc, gnutls_strerror(code));
if (gnutls_error_is_fatal(code) || die) {
fprintf(stdout, " (fatal)\n");
exit(1);
@@ -293,8 +295,8 @@ static int _process_error(int loc, int code, int die)
return code;
}
-# define die_on_error(code) _process_error(__LINE__, code, 1)
-# define process_error(code) _process_error(__LINE__, code, 0)
+#define die_on_error(code) _process_error(__LINE__, code, 1)
+#define process_error(code) _process_error(__LINE__, code, 0)
static void _process_error_or_timeout(int loc, int err, time_t tdiff)
{
@@ -308,7 +310,8 @@ static void _process_error_or_timeout(int loc, int err, time_t tdiff)
}
}
-# define process_error_or_timeout(code, tdiff) _process_error_or_timeout(__LINE__, code, tdiff)
+#define process_error_or_timeout(code, tdiff) \
+ _process_error_or_timeout(__LINE__, code, tdiff)
static void rperror(const char *name)
{
@@ -334,29 +337,58 @@ filter_packet_state_t state_packet_ServerChangeCipherSpec = { 0 };
filter_packet_state_t state_packet_ServerFinished = { 0 };
filter_packet_state_t state_packet_ServerFinishedResume = { 0 };
-static filter_permute_state_t state_permute_ServerHello =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
-static filter_permute_state_t state_permute_ServerHelloFull =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
-static filter_permute_state_t state_permute_ServerFinished =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
-static filter_permute_state_t state_permute_ServerFinishedResume =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
-static filter_permute_state_t state_permute_ClientFinished =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
-static filter_permute_state_t state_permute_ClientFinishedResume =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
-static filter_permute_state_t state_permute_ClientFinishedFull =
- { 0, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 0, 0 };
+static filter_permute_state_t state_permute_ServerHello = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
+static filter_permute_state_t state_permute_ServerHelloFull = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
+static filter_permute_state_t state_permute_ServerFinished = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
+static filter_permute_state_t state_permute_ServerFinishedResume = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
+static filter_permute_state_t state_permute_ClientFinished = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
+static filter_permute_state_t state_permute_ClientFinishedResume = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
+static filter_permute_state_t state_permute_ClientFinishedFull = {
+ 0,
+ { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
+ 0,
+ 0
+};
filter_fn filter_chain[32];
int filter_current_idx;
-static void filter_permute_state_free_buffer(filter_permute_state_t * state)
+static void filter_permute_state_free_buffer(filter_permute_state_t *state)
{
unsigned int i;
- for (i = 0; i < sizeof(state->packets) / sizeof(state->packets[0]); i++) {
+ for (i = 0; i < sizeof(state->packets) / sizeof(state->packets[0]);
+ i++) {
free(state->packets[i].data);
state->packets[i].data = NULL;
}
@@ -436,7 +468,7 @@ static void filter_run_next(gnutls_transport_ptr_t fd,
if (fn) {
fn(fd, buffer, len);
} else {
- ret = send((int)(intptr_t) fd, buffer, len, 0);
+ ret = send((int)(intptr_t)fd, buffer, len, 0);
}
filter_current_idx--;
@@ -445,7 +477,7 @@ static void filter_run_next(gnutls_transport_ptr_t fd,
memcpy(rbuffer, buffer, len);
rbuffer_size = len;
} else if (rbuffer_size != 0) {
- send((int)(intptr_t) fd, rbuffer, rbuffer_size, 0);
+ send((int)(intptr_t)fd, rbuffer, rbuffer_size, 0);
if (len < sizeof(rbuffer) && len > rbuffer_size) {
memcpy(rbuffer, buffer, len);
rbuffer_size = len;
@@ -460,52 +492,52 @@ static void filter_run_next(gnutls_transport_ptr_t fd,
static int match_ServerHello(const unsigned char *buffer, size_t len)
{
- return role == SERVER && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 2;
+ return role == SERVER && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 2;
}
static int match_ServerCertificate(const unsigned char *buffer, size_t len)
{
- return role == SERVER && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 11;
+ return role == SERVER && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 11;
}
static int match_ServerKeyExchange(const unsigned char *buffer, size_t len)
{
- return role == SERVER && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 12;
+ return role == SERVER && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 12;
}
static int match_ServerCertificateRequest(const unsigned char *buffer,
size_t len)
{
- return role == SERVER && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 13;
+ return role == SERVER && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 13;
}
static int match_ServerHelloDone(const unsigned char *buffer, size_t len)
{
- return role == SERVER && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 14;
+ return role == SERVER && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 14;
}
static int match_ClientCertificate(const unsigned char *buffer, size_t len)
{
- return role == CLIENT && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 11;
+ return role == CLIENT && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 11;
}
static int match_ClientKeyExchange(const unsigned char *buffer, size_t len)
{
- return role == CLIENT && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 16;
+ return role == CLIENT && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 16;
}
static int match_ClientCertificateVerify(const unsigned char *buffer,
size_t len)
{
- return role == CLIENT && len >= 13 + 1 && buffer[0] == 22
- && buffer[13] == 15;
+ return role == CLIENT && len >= 13 + 1 && buffer[0] == 22 &&
+ buffer[13] == 15;
}
static int match_ClientChangeCipherSpec(const unsigned char *buffer, size_t len)
@@ -532,35 +564,36 @@ static int match_ServerFinished(const unsigned char *buffer, size_t len)
// {{{ packet drop filters
-# define FILTER_DROP_COUNT 3
-# define DECLARE_FILTER(packet) \
- static void filter_packet_##packet(gnutls_transport_ptr_t fd, \
- const unsigned char* buffer, size_t len) \
- { \
- if (match_##packet(buffer, len) && (state_packet_##packet).count++ < FILTER_DROP_COUNT) { \
- drop(#packet); \
- } else { \
- filter_run_next(fd, buffer, len); \
- } \
+#define FILTER_DROP_COUNT 3
+#define DECLARE_FILTER(packet) \
+ static void filter_packet_##packet(gnutls_transport_ptr_t fd, \
+ const unsigned char *buffer, \
+ size_t len) \
+ { \
+ if (match_##packet(buffer, len) && \
+ (state_packet_##packet).count++ < FILTER_DROP_COUNT) { \
+ drop(#packet); \
+ } else { \
+ filter_run_next(fd, buffer, len); \
+ } \
}
DECLARE_FILTER(ServerHello)
- DECLARE_FILTER(ServerCertificate)
- DECLARE_FILTER(ServerKeyExchange)
- DECLARE_FILTER(ServerCertificateRequest)
- DECLARE_FILTER(ServerHelloDone)
- DECLARE_FILTER(ClientCertificate)
- DECLARE_FILTER(ClientKeyExchange)
- DECLARE_FILTER(ClientCertificateVerify)
- DECLARE_FILTER(ClientChangeCipherSpec)
- DECLARE_FILTER(ClientFinished)
- DECLARE_FILTER(ServerChangeCipherSpec)
- DECLARE_FILTER(ServerFinished)
+DECLARE_FILTER(ServerCertificate)
+DECLARE_FILTER(ServerKeyExchange)
+DECLARE_FILTER(ServerCertificateRequest)
+DECLARE_FILTER(ServerHelloDone)
+DECLARE_FILTER(ClientCertificate)
+DECLARE_FILTER(ClientKeyExchange)
+DECLARE_FILTER(ClientCertificateVerify)
+DECLARE_FILTER(ClientChangeCipherSpec)
+DECLARE_FILTER(ClientFinished)
+DECLARE_FILTER(ServerChangeCipherSpec)
+DECLARE_FILTER(ServerFinished)
// }}}
// {{{ flight permutation filters
-static void filter_permute_state_run(filter_permute_state_t * state,
- int packetCount,
- gnutls_transport_ptr_t fd,
+static void filter_permute_state_run(filter_permute_state_t *state,
+ int packetCount, gnutls_transport_ptr_t fd,
const unsigned char *buffer, size_t len)
{
unsigned char *data;
@@ -587,57 +620,62 @@ static void filter_permute_state_run(filter_permute_state_t * state,
}
}
-# define DECLARE_PERMUTE(flight) \
- static void filter_permute_##flight(gnutls_transport_ptr_t fd, \
- const unsigned char* buffer, size_t len) \
- { \
- int count = sizeof(permute_match_##flight) / sizeof(permute_match_##flight[0]); \
- int i; \
- for (i = 0; i < count; i++) { \
- if (permute_match_##flight[i](buffer, len)) { \
- filter_permute_state_run(&state_permute_##flight, count, fd, buffer, len); \
- return; \
- } \
- } \
- filter_run_next(fd, buffer, len); \
+#define DECLARE_PERMUTE(flight) \
+ static void filter_permute_##flight(gnutls_transport_ptr_t fd, \
+ const unsigned char *buffer, \
+ size_t len) \
+ { \
+ int count = sizeof(permute_match_##flight) / \
+ sizeof(permute_match_##flight[0]); \
+ int i; \
+ for (i = 0; i < count; i++) { \
+ if (permute_match_##flight[i](buffer, len)) { \
+ filter_permute_state_run( \
+ &state_permute_##flight, count, fd, \
+ buffer, len); \
+ return; \
+ } \
+ } \
+ filter_run_next(fd, buffer, len); \
}
-static match_fn permute_match_ServerHello[] =
- { match_ServerHello, match_ServerKeyExchange, match_ServerHelloDone };
+static match_fn permute_match_ServerHello[] = { match_ServerHello,
+ match_ServerKeyExchange,
+ match_ServerHelloDone };
-static match_fn permute_match_ServerHelloFull[] =
- { match_ServerHello, match_ServerCertificate, match_ServerKeyExchange,
+static match_fn permute_match_ServerHelloFull[] = {
+ match_ServerHello, match_ServerCertificate, match_ServerKeyExchange,
match_ServerCertificateRequest, match_ServerHelloDone
};
-static match_fn permute_match_ServerFinished[] =
- { match_ServerChangeCipherSpec, match_ServerFinished };
-
-static match_fn permute_match_ServerFinishedResume[] =
- { match_ServerHello, match_ServerChangeCipherSpec, match_ServerFinished };
+static match_fn permute_match_ServerFinished[] = { match_ServerChangeCipherSpec,
+ match_ServerFinished };
-static match_fn permute_match_ClientFinished[] =
- { match_ClientKeyExchange, match_ClientChangeCipherSpec,
- match_ClientFinished
+static match_fn permute_match_ServerFinishedResume[] = {
+ match_ServerHello, match_ServerChangeCipherSpec, match_ServerFinished
};
-static match_fn permute_match_ClientFinishedResume[] =
- { match_ClientChangeCipherSpec, match_ClientFinished
+static match_fn permute_match_ClientFinished[] = { match_ClientKeyExchange,
+ match_ClientChangeCipherSpec,
+ match_ClientFinished };
+
+static match_fn permute_match_ClientFinishedResume[] = {
+ match_ClientChangeCipherSpec, match_ClientFinished
};
-static match_fn permute_match_ClientFinishedFull[] =
- { match_ClientCertificate, match_ClientKeyExchange,
+static match_fn permute_match_ClientFinishedFull[] = {
+ match_ClientCertificate, match_ClientKeyExchange,
match_ClientCertificateVerify, match_ClientChangeCipherSpec,
match_ClientFinished
};
DECLARE_PERMUTE(ServerHello)
- DECLARE_PERMUTE(ServerHelloFull)
- DECLARE_PERMUTE(ServerFinishedResume)
- DECLARE_PERMUTE(ServerFinished)
- DECLARE_PERMUTE(ClientFinished)
- DECLARE_PERMUTE(ClientFinishedResume)
- DECLARE_PERMUTE(ClientFinishedFull)
+DECLARE_PERMUTE(ServerHelloFull)
+DECLARE_PERMUTE(ServerFinishedResume)
+DECLARE_PERMUTE(ServerFinished)
+DECLARE_PERMUTE(ClientFinished)
+DECLARE_PERMUTE(ClientFinishedResume)
+DECLARE_PERMUTE(ClientFinishedFull)
// }}}
// {{{ emergency deadlock resolution time bomb
timer_t killtimer_tid = 0;
@@ -645,7 +683,7 @@ timer_t killtimer_tid = 0;
static void killtimer_set(void)
{
struct sigevent sig;
- struct itimerspec tout = { {0, 0}, {2 * timeout_seconds, 0} };
+ struct itimerspec tout = { { 0, 0 }, { 2 * timeout_seconds, 0 } };
if (killtimer_tid != 0) {
timer_delete(killtimer_tid);
@@ -680,8 +718,8 @@ static void await(int fd, int timeout)
{
if (nonblock) {
struct pollfd p = { fd, POLLIN, 0 };
- if (poll(&p, 1, timeout) < 0 && errno != EAGAIN
- && errno != EINTR) {
+ if (poll(&p, 1, timeout) < 0 && errno != EAGAIN &&
+ errno != EINTR) {
rperror("poll");
exit(3);
}
@@ -698,17 +736,17 @@ static void cred_init(void)
static void session_init(int sock, int server)
{
- gnutls_init(&session,
- GNUTLS_DATAGRAM | (server ? GNUTLS_SERVER : GNUTLS_CLIENT)
- | GNUTLS_NONBLOCK * nonblock);
+ gnutls_init(&session, GNUTLS_DATAGRAM |
+ (server ? GNUTLS_SERVER : GNUTLS_CLIENT) |
+ GNUTLS_NONBLOCK * nonblock);
gnutls_priority_set_direct(session, "NORMAL:+ECDHE-RSA:+ANON-ECDH", 0);
gnutls_transport_set_int(session, sock);
if (full) {
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cred);
if (server) {
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUIRE);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUIRE);
}
} else if (server) {
gnutls_anon_server_credentials_t acred;
@@ -787,9 +825,8 @@ static void client(int sock)
do {
await(sock, -1);
- len =
- process_error(gnutls_record_recv
- (session, buffer, sizeof(buffer)));
+ len = process_error(gnutls_record_recv(session, buffer,
+ sizeof(buffer)));
} while (len < 0);
log("received data\n");
@@ -807,9 +844,8 @@ static void client(int sock)
do {
await(sock, -1);
- len =
- process_error(gnutls_record_recv
- (session, buffer, sizeof(buffer)));
+ len = process_error(gnutls_record_recv(session, buffer,
+ sizeof(buffer)));
} while (len < 0);
log("received data\n");
@@ -820,7 +856,6 @@ static void client(int sock)
exit(1);
}
}
-
}
static gnutls_datum_t saved_data = { NULL, 0 };
@@ -923,9 +958,8 @@ static void server(int sock)
do {
await(sock, -1);
- len =
- process_error(gnutls_record_recv
- (session, buffer, sizeof(buffer)));
+ len = process_error(gnutls_record_recv(session, buffer,
+ sizeof(buffer)));
} while (len < 0);
log("received data\n");
@@ -940,9 +974,8 @@ static void server(int sock)
do {
await(sock, -1);
- len =
- process_error(gnutls_record_recv
- (session, buffer, sizeof(buffer)));
+ len = process_error(gnutls_record_recv(session, buffer,
+ sizeof(buffer)));
} while (len < 0);
log("received data\n");
@@ -959,7 +992,7 @@ static void server(int sock)
// {{{ test running/handling itself
-# if 0
+#if 0
static void udp_sockpair(int *socks)
{
struct sockaddr_in6 sa =
@@ -976,7 +1009,7 @@ static void udp_sockpair(int *socks)
connect(socks[1], (struct sockaddr *)&sa, sizeof(sa));
connect(socks[0], (struct sockaddr *)&sb, sizeof(sb));
}
-# endif
+#endif
static int run_test(void)
{
@@ -996,21 +1029,23 @@ static int run_test(void)
if (!(pid1 = fork())) {
role = SERVER;
- server(fds[1]); // noreturn
+ server(fds[1]); // noreturn
} else if (pid1 < 0) {
rperror("fork server");
exit(2);
}
if (!(pid2 = fork())) {
role = CLIENT;
- client(fds[0]); // noreturn
+ client(fds[0]); // noreturn
} else if (pid2 < 0) {
rperror("fork client");
exit(2);
}
- while (waitpid(pid2, &status2, 0) < 0 && errno == EINTR) ;
+ while (waitpid(pid2, &status2, 0) < 0 && errno == EINTR)
+ ;
kill(pid1, 15);
- while (waitpid(pid1, 0, 0) < 0 && errno == EINTR) ;
+ while (waitpid(pid1, 0, 0) < 0 && errno == EINTR)
+ ;
close(fds[0]);
close(fds[1]);
@@ -1022,39 +1057,33 @@ static int run_test(void)
}
}
-static filter_fn filters[]
- = { filter_packet_ServerHello,
- filter_packet_ServerKeyExchange,
- filter_packet_ServerHelloDone,
- filter_packet_ClientKeyExchange,
- filter_packet_ClientChangeCipherSpec,
- filter_packet_ClientFinished,
- filter_packet_ServerChangeCipherSpec,
- filter_packet_ServerFinished
-};
-
-static filter_fn filters_resume[]
- = { filter_packet_ServerHello,
- filter_packet_ServerChangeCipherSpec,
- filter_packet_ServerFinished,
- filter_packet_ClientChangeCipherSpec,
- filter_packet_ClientFinished
-};
-
-static filter_fn filters_full[]
- = { filter_packet_ServerHello,
- filter_packet_ServerCertificate,
- filter_packet_ServerKeyExchange,
- filter_packet_ServerCertificateRequest,
- filter_packet_ServerHelloDone,
- filter_packet_ClientCertificate,
- filter_packet_ClientKeyExchange,
- filter_packet_ClientCertificateVerify,
- filter_packet_ClientChangeCipherSpec,
- filter_packet_ClientFinished,
- filter_packet_ServerChangeCipherSpec,
- filter_packet_ServerFinished
-};
+static filter_fn filters[] = { filter_packet_ServerHello,
+ filter_packet_ServerKeyExchange,
+ filter_packet_ServerHelloDone,
+ filter_packet_ClientKeyExchange,
+ filter_packet_ClientChangeCipherSpec,
+ filter_packet_ClientFinished,
+ filter_packet_ServerChangeCipherSpec,
+ filter_packet_ServerFinished };
+
+static filter_fn filters_resume[] = { filter_packet_ServerHello,
+ filter_packet_ServerChangeCipherSpec,
+ filter_packet_ServerFinished,
+ filter_packet_ClientChangeCipherSpec,
+ filter_packet_ClientFinished };
+
+static filter_fn filters_full[] = { filter_packet_ServerHello,
+ filter_packet_ServerCertificate,
+ filter_packet_ServerKeyExchange,
+ filter_packet_ServerCertificateRequest,
+ filter_packet_ServerHelloDone,
+ filter_packet_ClientCertificate,
+ filter_packet_ClientKeyExchange,
+ filter_packet_ClientCertificateVerify,
+ filter_packet_ClientChangeCipherSpec,
+ filter_packet_ClientFinished,
+ filter_packet_ServerChangeCipherSpec,
+ filter_packet_ServerFinished };
static int run_one_test(int dropMode, int serverFinishedPermute,
int serverHelloPermute, int clientFinishedPermute)
@@ -1079,7 +1108,7 @@ static int run_one_test(int dropMode, int serverFinishedPermute,
local_filters = filters_resume;
local_filter_names = filter_names_resume;
filter_count =
- sizeof(filters_resume) / sizeof(filters_resume[0]);
+ sizeof(filters_resume) / sizeof(filters_resume[0]);
client_finished_permutation_names = permutation_names2;
server_finished_permutation_names = permutation_names3;
server_hello_permutation_names = NULL;
@@ -1092,51 +1121,52 @@ static int run_one_test(int dropMode, int serverFinishedPermute,
server_hello_permutation_names = permutation_names3;
}
- run_id =
- ((dropMode * 2 + serverFinishedPermute) * (full ? 120 : 6) +
- serverHelloPermute) * (full ? 120 : 6) + clientFinishedPermute;
+ run_id = ((dropMode * 2 + serverFinishedPermute) * (full ? 120 : 6) +
+ serverHelloPermute) *
+ (full ? 120 : 6) +
+ clientFinishedPermute;
filter_clear_state();
if (full) {
filter_chain[fnIdx++] = filter_permute_ServerHelloFull;
state_permute_ServerHelloFull.order =
- permutations5[serverHelloPermute];
+ permutations5[serverHelloPermute];
filter_chain[fnIdx++] = filter_permute_ClientFinishedFull;
state_permute_ClientFinishedFull.order =
- permutations5[clientFinishedPermute];
+ permutations5[clientFinishedPermute];
filter_chain[fnIdx++] = filter_permute_ServerFinished;
state_permute_ServerFinished.order =
- permutations2[serverFinishedPermute];
+ permutations2[serverFinishedPermute];
} else if (resume) {
filter_chain[fnIdx++] = filter_permute_ServerFinishedResume;
state_permute_ServerFinishedResume.order =
- permutations3[serverFinishedPermute];
+ permutations3[serverFinishedPermute];
filter_chain[fnIdx++] = filter_permute_ClientFinishedResume;
state_permute_ClientFinishedResume.order =
- permutations2[clientFinishedPermute];
+ permutations2[clientFinishedPermute];
} else {
filter_chain[fnIdx++] = filter_permute_ServerHello;
state_permute_ServerHello.order =
- permutations3[serverHelloPermute];
+ permutations3[serverHelloPermute];
filter_chain[fnIdx++] = filter_permute_ClientFinished;
state_permute_ClientFinished.order =
- permutations3[clientFinishedPermute];
+ permutations3[clientFinishedPermute];
filter_chain[fnIdx++] = filter_permute_ServerFinished;
state_permute_ServerFinished.order =
- permutations2[serverFinishedPermute];
+ permutations2[serverFinishedPermute];
}
if (dropMode) {
for (filterIdx = 0; filterIdx < filter_count; filterIdx++) {
if (dropMode & (1 << filterIdx)) {
filter_chain[fnIdx++] =
- local_filters[filterIdx];
+ local_filters[filterIdx];
}
}
}
@@ -1186,7 +1216,7 @@ static int run_test_by_id(int id)
{
int pscale = full ? 120 : 6;
int dropMode, serverFinishedPermute, serverHelloPermute,
- clientFinishedPermute;
+ clientFinishedPermute;
clientFinishedPermute = id % pscale;
id /= pscale;
@@ -1199,8 +1229,8 @@ static int run_test_by_id(int id)
dropMode = id;
- return run_one_test(dropMode, serverFinishedPermute,
- serverHelloPermute, clientFinishedPermute);
+ return run_one_test(dropMode, serverFinishedPermute, serverHelloPermute,
+ clientFinishedPermute);
}
int *job_pids;
@@ -1265,9 +1295,8 @@ static int run_tests_from_id_list(int childcount)
while ((ret = fscanf(stdin, "%i\n", &test_id)) > 0) {
int pid;
- if (test_id < 0
- || test_id >
- 2 * (full ? 120 * 120 * (1 << 12) : 6 * 6 * 256)) {
+ if (test_id < 0 || test_id > 2 * (full ? 120 * 120 * (1 << 12) :
+ 6 * 6 * 256)) {
fprintf(stderr, "Invalid test id %i\n", test_id);
break;
}
@@ -1295,7 +1324,7 @@ static int run_tests_from_id_list(int childcount)
static int run_all_tests(int childcount)
{
int dropMode, serverFinishedPermute, serverHelloPermute,
- clientFinishedPermute;
+ clientFinishedPermute;
int result = 0;
for (dropMode = 0; dropMode != 1 << (full ? 12 : 8); dropMode++)
@@ -1305,24 +1334,23 @@ static int run_all_tests(int childcount)
serverHelloPermute < (full ? 120 : 6);
serverHelloPermute++)
for (clientFinishedPermute = 0;
- clientFinishedPermute <
- (full ? 120 : 6);
+ clientFinishedPermute < (full ? 120 : 6);
clientFinishedPermute++) {
int pid;
if (!(pid = fork())) {
- exit(run_one_test
- (dropMode,
- serverFinishedPermute,
- serverHelloPermute,
- clientFinishedPermute));
+ exit(run_one_test(
+ dropMode,
+ serverFinishedPermute,
+ serverHelloPermute,
+ clientFinishedPermute));
} else if (pid < 0) {
rperror("fork");
result = 4;
break;
} else {
register_child(pid);
- result |=
- wait_children(childcount);
+ result |= wait_children(
+ childcount);
}
}
@@ -1366,17 +1394,17 @@ int main(int argc, const char *argv[])
run_to_end = 1;
job_limit = 1;
-# define NEXT_ARG(name) \
- do { \
- if (++arg >= argc) { \
+#define NEXT_ARG(name) \
+ do { \
+ if (++arg >= argc) { \
fprintf(stderr, "No argument for -" #name "\n"); \
- exit(8); \
- } \
+ exit(8); \
+ } \
} while (0);
-# define FAIL_ARG(name) \
- do { \
+#define FAIL_ARG(name) \
+ do { \
fprintf(stderr, "Invalid argument for -" #name "\n"); \
- exit(8); \
+ exit(8); \
} while (0);
for (arg = 1; arg < argc; arg++) {
@@ -1459,10 +1487,10 @@ int main(int argc, const char *argv[])
}
NEXT_ARG(shello);
- if (!parse_permutation
- (argv[arg],
- full ? permutation_names5 :
- permutation_names3, &serverHelloPermute)) {
+ if (!parse_permutation(argv[arg],
+ full ? permutation_names5 :
+ permutation_names3,
+ &serverHelloPermute)) {
FAIL_ARG(shell);
}
single++;
@@ -1473,8 +1501,8 @@ int main(int argc, const char *argv[])
pname = permutation_names3;
else
pname = permutation_names2;
- if (!parse_permutation
- (argv[arg], pname, &serverFinishedPermute)) {
+ if (!parse_permutation(argv[arg], pname,
+ &serverFinishedPermute)) {
FAIL_ARG(cfinished);
}
single++;
@@ -1487,8 +1515,8 @@ int main(int argc, const char *argv[])
pname = permutation_names2;
else
pname = permutation_names3;
- if (!parse_permutation
- (argv[arg], pname, &clientFinishedPermute)) {
+ if (!parse_permutation(argv[arg], pname,
+ &clientFinishedPermute)) {
FAIL_ARG(cfinished);
}
single++;
@@ -1499,24 +1527,21 @@ int main(int argc, const char *argv[])
if (full) {
local_filter_names = filter_names_full;
- filter_count =
- sizeof(filters_full) /
- sizeof(filters_full[0]);
+ filter_count = sizeof(filters_full) /
+ sizeof(filters_full[0]);
} else if (resume) {
local_filter_names = filter_names_resume;
- filter_count =
- sizeof(filters_resume) /
- sizeof(filters_resume[0]);
+ filter_count = sizeof(filters_resume) /
+ sizeof(filters_resume[0]);
} else {
local_filter_names = filter_names;
filter_count =
- sizeof(filters) / sizeof(filters[0]);
+ sizeof(filters) / sizeof(filters[0]);
}
for (drop = 0; drop < filter_count; drop++) {
- if (strcmp
- (local_filter_names[drop],
- argv[arg]) == 0) {
+ if (strcmp(local_filter_names[drop],
+ argv[arg]) == 0) {
dropMode |= (1 << drop);
break;
}
@@ -1563,7 +1588,7 @@ int main(int argc, const char *argv[])
// vim: foldmethod=marker
-#else /* NO POSIX TIMERS */
+#else /* NO POSIX TIMERS */
int main(int argc, const char *argv[])
{
diff --git a/tests/dtls1-2-mtu-check.c b/tests/dtls1-2-mtu-check.c
index b8788dc8b2..3c3a4ba7c6 100644
--- a/tests/dtls1-2-mtu-check.c
+++ b/tests/dtls1-2-mtu-check.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the MTU calculation in various cipher/mac algorithm combinations
@@ -37,8 +37,7 @@
#include "utils.h"
#include <assert.h>
-#define myfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define myfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
static void tls_log_func(int level, const char *str)
{
@@ -69,18 +68,18 @@ static void dtls_mtu_try(const char *name, const char *client_prio,
/* Init server */
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_init
- (&server,
- GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK) >= 0);
+ assert(gnutls_init(&server, GNUTLS_SERVER | GNUTLS_DATAGRAM |
+ GNUTLS_NONBLOCK) >= 0);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- assert(gnutls_priority_set_direct(server,
- "NORMAL:+ANON-ECDH:+ANON-DH:+3DES-CBC:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+SHA256:+CURVE-X25519",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server,
+ "NORMAL:+ANON-ECDH:+ANON-DH:+3DES-CBC:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+SHA256:+CURVE-X25519",
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_pull_timeout_function(server,
@@ -89,15 +88,14 @@ static void dtls_mtu_try(const char *name, const char *client_prio,
/* Init client */
- ret =
- gnutls_init(&client,
- GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
+ ret = gnutls_init(&client,
+ GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
if (ret < 0)
exit(1);
assert(gnutls_certificate_allocate_credentials(&clientx509cred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (clientx509cred, &ca_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
clientx509cred) >= 0);
@@ -130,9 +128,8 @@ static void dtls_mtu_try(const char *name, const char *client_prio,
memset(msg, 1, dmtu + 1);
ret = gnutls_record_send(client, msg, dmtu + 1);
if (ret != (int)GNUTLS_E_LARGE_PACKET) {
- myfail
- ("could send larger packet than MTU (%d), ret: %d\n",
- dmtu, ret);
+ myfail("could send larger packet than MTU (%d), ret: %d\n",
+ dmtu, ret);
}
ret = gnutls_record_send(client, msg, dmtu);
@@ -158,7 +155,8 @@ static void dtls_mtu_try(const char *name, const char *client_prio,
dmtu = gnutls_dtls_get_data_mtu(client);
if (dmtu != link_mtu) {
if (gnutls_mac_get(client) == GNUTLS_MAC_AEAD)
- fail("%s: got MTU (%d) which does not match expected (%d)\n", name, dmtu, link_mtu);
+ fail("%s: got MTU (%d) which does not match expected (%d)\n",
+ name, dmtu, link_mtu);
else if (dmtu < link_mtu)
fail("%s: got MTU (%d) smaller than expected (%d)\n",
name, dmtu, link_mtu);
@@ -186,174 +184,226 @@ void doit(void)
global_init();
/* check padding in CBC */
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1500, 1435);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1501",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1501, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1502",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1502, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1503",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1503, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1504",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1504, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1505",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1505, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1506",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1506, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1507",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1507, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1508",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1508, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1509",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1509, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1510",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1510, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1511",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1511, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1512",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1512, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1513",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1513, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1514",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1514, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1515",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1515, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1516",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1516, 1451);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1517",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1517, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1518",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1518, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1519",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1519, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1520",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1520, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1521",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1521, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1522",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1522, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1523",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1523, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1524",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1524, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1525",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1525, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1526",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1526, 1467);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1536",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1536, 1483);
-
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA256",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA256",
- 1500, 1423);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1500, 1435);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1501",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1501, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1502",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1502, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1503",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1503, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1504",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1504, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1505",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1505, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1506",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1506, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1507",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1507, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1508",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1508, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1509",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1509, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1510",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1510, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1511",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1511, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1512",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1512, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1513",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1513, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1514",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1514, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1515",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1515, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1516",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1516, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1517",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1517, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1518",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1518, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1519",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1519, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1520",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1520, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1521",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1521, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1522",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1522, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1523",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1523, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1524",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1524, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1525",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1525, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1526",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1526, 1467);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1536",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1536, 1483);
+
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA256",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA256",
+ 1500, 1423);
if (!gnutls_fips140_mode_enabled())
- dtls_mtu_try("DTLS 1.2 with 3DES-CBC-HMAC-SHA1",
- "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+3DES-CBC:-MAC-ALL:+SHA1",
- 1500, 1451);
+ dtls_mtu_try(
+ "DTLS 1.2 with 3DES-CBC-HMAC-SHA1",
+ "NORMAL:%NO_ETM:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+3DES-CBC:-MAC-ALL:+SHA1",
+ 1500, 1451);
/* check non-CBC ciphers */
dtls_mtu_try("DTLS 1.2 with AES-128-GCM",
"NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-GCM",
1500, 1463);
if (!gnutls_fips140_mode_enabled())
- dtls_mtu_try("DTLS 1.2 with CHACHA20-POLY1305",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+CHACHA20-POLY1305",
- 1500, 1471);
+ dtls_mtu_try(
+ "DTLS 1.2 with CHACHA20-POLY1305",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+CHACHA20-POLY1305",
+ 1500, 1471);
/* check EtM CBC */
- dtls_mtu_try("DTLS 1.2/EtM with AES-128-CBC-HMAC-SHA1",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1500, 1439);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1501",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1501, 1439);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1502",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1502, 1439);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1503",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1503, 1439);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1504",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1504, 1439);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1505",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1505, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1506",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1506, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1507",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1507, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1508",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1508, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1509",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1509, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1510",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1510, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1511",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1511, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1512",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1512, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1513",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1513, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1514",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1514, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1515",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1515, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1516",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1516, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1517",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1517, 1455);
- dtls_mtu_try("DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1518",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
- 1518, 1455);
-
- dtls_mtu_try("DTLS 1.2/EtM with AES-128-CBC-HMAC-SHA256",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA256",
- 1500, 1423);
+ dtls_mtu_try(
+ "DTLS 1.2/EtM with AES-128-CBC-HMAC-SHA1",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1500, 1439);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1501",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1501, 1439);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1502",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1502, 1439);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1503",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1503, 1439);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1504",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1504, 1439);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1505",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1505, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1506",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1506, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1507",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1507, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1508",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1508, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1509",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1509, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1510",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1510, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1511",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1511, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1512",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1512, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1513",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1513, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1514",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1514, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1515",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1515, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1516",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1516, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1517",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1517, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2 with AES-128-CBC-HMAC-SHA1 - mtu:1518",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA1",
+ 1518, 1455);
+
+ dtls_mtu_try(
+ "DTLS 1.2/EtM with AES-128-CBC-HMAC-SHA256",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+AES-128-CBC:-MAC-ALL:+SHA256",
+ 1500, 1423);
if (!gnutls_fips140_mode_enabled())
- dtls_mtu_try("DTLS 1.2/EtM with 3DES-CBC-HMAC-SHA1",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+3DES-CBC:-MAC-ALL:+SHA1",
- 1500, 1455);
+ dtls_mtu_try(
+ "DTLS 1.2/EtM with 3DES-CBC-HMAC-SHA1",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-CIPHER-ALL:+3DES-CBC:-MAC-ALL:+SHA1",
+ 1500, 1455);
gnutls_global_deinit();
}
diff --git a/tests/dtls10-cert-key-exchange.c b/tests/dtls10-cert-key-exchange.c
index 44b47b2596..0aa541e0e9 100644
--- a/tests/dtls10-cert-key-exchange.c
+++ b/tests/dtls10-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -49,10 +49,11 @@ void doit(void)
"NORMAL:-VERS-ALL:+VERS-DTLS1.0:-KX-ALL:+DHE-RSA",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
GNUTLS_SIGN_UNKNOWN);
- dtls_try("DTLS 1.0 with ecdhe x25519 rsa no cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.0:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ dtls_try(
+ "DTLS 1.0 with ecdhe x25519 rsa no cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.0:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
dtls_try("DTLS 1.0 with ecdhe rsa no cert",
"NORMAL:-VERS-ALL:+VERS-DTLS1.0:-KX-ALL:+ECDHE-RSA",
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
diff --git a/tests/dtls12-cert-key-exchange.c b/tests/dtls12-cert-key-exchange.c
index 9058ea2b67..d6e0574084 100644
--- a/tests/dtls12-cert-key-exchange.c
+++ b/tests/dtls12-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -49,10 +49,11 @@ void doit(void)
"NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+DHE-RSA",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
GNUTLS_SIGN_UNKNOWN);
- dtls_try("DTLS 1.2 with ecdhe x25519 rsa no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ dtls_try(
+ "DTLS 1.2 with ecdhe x25519 rsa no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
dtls_try("DTLS 1.2 with ecdhe rsa no-cli-cert",
"NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA",
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
@@ -63,19 +64,22 @@ void doit(void)
GNUTLS_SIGN_UNKNOWN, &server_ca3_localhost_ecc_cert,
&server_ca3_ecc_key, NULL, NULL, 0);
- dtls_try("DTLS 1.2 with ecdhe rsa-pss sig no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- dtls_try("DTLS 1.2 with ecdhe rsa-pss no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- dtls_try_with_key("TLS 1.2 with ecdhe rsa-pss/rsa-pss no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss_cert,
- &server_ca3_rsa_pss_key, NULL, NULL, 0);
+ dtls_try(
+ "DTLS 1.2 with ecdhe rsa-pss sig no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ dtls_try(
+ "DTLS 1.2 with ecdhe rsa-pss no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ dtls_try_with_key(
+ "TLS 1.2 with ecdhe rsa-pss/rsa-pss no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss_cert,
+ &server_ca3_rsa_pss_key, NULL, NULL, 0);
dtls_try("DTLS 1.2 with rsa no-cli-cert",
"NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+RSA", GNUTLS_KX_RSA,
GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
@@ -106,16 +110,18 @@ void doit(void)
&server_ca3_localhost_ecc_cert, &server_ca3_ecc_key,
USE_CERT);
- dtls_try_cli("DTLS 1.2 with ecdhe-rsa-pss cli-cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, USE_CERT);
- dtls_try_with_key("DTLS 1.2 with ecdhe-rsa-pss/rsa-pss cli-cert",
- "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_RSA_PSS_SHA256, &server_ca3_rsa_pss_cert,
- &server_ca3_rsa_pss_key, &cli_ca3_rsa_pss_cert,
- &cli_ca3_rsa_pss_key, USE_CERT);
+ dtls_try_cli(
+ "DTLS 1.2 with ecdhe-rsa-pss cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, USE_CERT);
+ dtls_try_with_key(
+ "DTLS 1.2 with ecdhe-rsa-pss/rsa-pss cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_RSA_PSS_SHA256, &server_ca3_rsa_pss_cert,
+ &server_ca3_rsa_pss_key, &cli_ca3_rsa_pss_cert,
+ &cli_ca3_rsa_pss_key, USE_CERT);
dtls_try_cli("DTLS 1.2 with dhe-rsa ask cli-cert",
"NORMAL:-VERS-ALL:+VERS-DTLS1.2:-KX-ALL:+DHE-RSA",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
diff --git a/tests/duplicate-extensions.c b/tests/duplicate-extensions.c
index 54a4a7bb15..9cfad5df25 100644
--- a/tests/duplicate-extensions.c
+++ b/tests/duplicate-extensions.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <limits.h>
@@ -37,18 +37,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <poll.h>
-# include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <poll.h>
+#include <errno.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
pid_t child;
@@ -62,29 +62,29 @@ static void tls_log_func(int level, const char *str)
*/
static unsigned char tls1_hello[] =
- "\x16\x03\x01\x01\x5e\x01\x00\x01\x5a\x03\x03\x59\x41\x25\x0e\x19"
- "\x02\x56\xa2\xe4\x97\x00\xea\x18\xd2\xb0\x00\xb9\xa2\x8a\x61\xb3"
- "\xdd\x65\xed\xfd\x03\xaf\x93\x8d\xb2\x15\xf3\x00\x00\xd4\xc0\x30"
- "\xcc\xa8\xc0\x8b\xc0\x14\xc0\x28\xc0\x77\xc0\x2f\xc0\x8a\xc0\x13"
- "\xc0\x27\xc0\x76\xc0\x12\xc0\x2c\xc0\xad\xcc\xa9\xc0\x87\xc0\x0a"
- "\xc0\x24\xc0\x73\xc0\x2b\xc0\xac\xc0\x86\xc0\x09\xc0\x23\xc0\x72"
- "\xc0\x08\x00\x9d\xc0\x9d\xc0\x7b\x00\x35\x00\x3d\x00\x84\x00\xc0"
- "\x00\x9c\xc0\x9c\xc0\x7a\x00\x2f\x00\x3c\x00\x41\x00\xba\x00\x0a"
- "\x00\x9f\xc0\x9f\xcc\xaa\xc0\x7d\x00\x39\x00\x6b\x00\x88\x00\xc4"
- "\x00\x9e\xc0\x9e\xc0\x7c\x00\x33\x00\x67\x00\x45\x00\xbe\x00\x16"
- "\x00\xa3\xc0\x81\x00\x38\x00\x6a\x00\x87\x00\xc3\x00\xa2\xc0\x80"
- "\x00\x32\x00\x40\x00\x44\x00\xbd\x00\x13\x00\xa9\xc0\xa5\xcc\xab"
- "\xc0\x8f\x00\x8d\x00\xaf\xc0\x95\x00\xa8\xc0\xa4\xc0\x8e\x00\x8c"
- "\x00\xae\xc0\x94\x00\x8b\x00\xab\xc0\xa7\xcc\xad\xc0\x91\x00\x91"
- "\x00\xb3\xc0\x97\x00\xaa\xc0\xa6\xc0\x90\x00\x90\x00\xb2\xc0\x96"
- "\x00\x8f\xcc\xac\xc0\x36\xc0\x38\xc0\x9b\xc0\x35\xc0\x37\xc0\x9a"
- "\xc0\x34\x01\x00\x00\x5d\x00\x17\x00\x00\x00\x16\x00\x00\x00\x05"
- "\x00\x05\x01\x00\x00\x00\x00\x00\x00\x00\x13\x00\x11\x00\x00\x0e"
- "\x77\x77\x77\x2e\x61\x6d\x61\x7a\x6f\x6e\x2e\x63\x6f\x6d\xff\x01"
- "\x00\x01\x00\x00\x23\x00\x00\x00\x0b\x00\x02\x01\x00\x00\x0b\x00"
- "\x02\x01\x00\x00\x0d\x00\x16\x00\x14\x04\x01\x04\x03\x05\x01\x05"
- "\x03\x06\x01\x06\x03\x03\x01\x03\x03\x02\x01\x02\x03\x00\x0a\x00"
- "\x02\x00\x17";
+ "\x16\x03\x01\x01\x5e\x01\x00\x01\x5a\x03\x03\x59\x41\x25\x0e\x19"
+ "\x02\x56\xa2\xe4\x97\x00\xea\x18\xd2\xb0\x00\xb9\xa2\x8a\x61\xb3"
+ "\xdd\x65\xed\xfd\x03\xaf\x93\x8d\xb2\x15\xf3\x00\x00\xd4\xc0\x30"
+ "\xcc\xa8\xc0\x8b\xc0\x14\xc0\x28\xc0\x77\xc0\x2f\xc0\x8a\xc0\x13"
+ "\xc0\x27\xc0\x76\xc0\x12\xc0\x2c\xc0\xad\xcc\xa9\xc0\x87\xc0\x0a"
+ "\xc0\x24\xc0\x73\xc0\x2b\xc0\xac\xc0\x86\xc0\x09\xc0\x23\xc0\x72"
+ "\xc0\x08\x00\x9d\xc0\x9d\xc0\x7b\x00\x35\x00\x3d\x00\x84\x00\xc0"
+ "\x00\x9c\xc0\x9c\xc0\x7a\x00\x2f\x00\x3c\x00\x41\x00\xba\x00\x0a"
+ "\x00\x9f\xc0\x9f\xcc\xaa\xc0\x7d\x00\x39\x00\x6b\x00\x88\x00\xc4"
+ "\x00\x9e\xc0\x9e\xc0\x7c\x00\x33\x00\x67\x00\x45\x00\xbe\x00\x16"
+ "\x00\xa3\xc0\x81\x00\x38\x00\x6a\x00\x87\x00\xc3\x00\xa2\xc0\x80"
+ "\x00\x32\x00\x40\x00\x44\x00\xbd\x00\x13\x00\xa9\xc0\xa5\xcc\xab"
+ "\xc0\x8f\x00\x8d\x00\xaf\xc0\x95\x00\xa8\xc0\xa4\xc0\x8e\x00\x8c"
+ "\x00\xae\xc0\x94\x00\x8b\x00\xab\xc0\xa7\xcc\xad\xc0\x91\x00\x91"
+ "\x00\xb3\xc0\x97\x00\xaa\xc0\xa6\xc0\x90\x00\x90\x00\xb2\xc0\x96"
+ "\x00\x8f\xcc\xac\xc0\x36\xc0\x38\xc0\x9b\xc0\x35\xc0\x37\xc0\x9a"
+ "\xc0\x34\x01\x00\x00\x5d\x00\x17\x00\x00\x00\x16\x00\x00\x00\x05"
+ "\x00\x05\x01\x00\x00\x00\x00\x00\x00\x00\x13\x00\x11\x00\x00\x0e"
+ "\x77\x77\x77\x2e\x61\x6d\x61\x7a\x6f\x6e\x2e\x63\x6f\x6d\xff\x01"
+ "\x00\x01\x00\x00\x23\x00\x00\x00\x0b\x00\x02\x01\x00\x00\x0b\x00"
+ "\x02\x01\x00\x00\x0d\x00\x16\x00\x14\x04\x01\x04\x03\x05\x01\x05"
+ "\x03\x06\x01\x06\x03\x03\x01\x03\x03\x02\x01\x02\x03\x00\x0a\x00"
+ "\x02\x00\x17";
static void client(int sd)
{
@@ -161,9 +161,10 @@ static void server(int sd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.0:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -225,4 +226,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/eagain-auto-auth.c b/tests/eagain-auto-auth.c
index ede4c848aa..35ff7f3845 100644
--- a/tests/eagain-auto-auth.c
+++ b/tests/eagain-auto-auth.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,15 +45,16 @@ static void tls_log_func(int level, const char *str)
}
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
static unsigned int cert_asked = 0;
static int cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
cert_asked = 1;
*pcert_length = 0;
@@ -83,20 +84,20 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
gnutls_global_set_log_function(tls_log_func);
/* Init server */
- assert_return_code(gnutls_certificate_allocate_credentials
- (&serverx509cred), 0);
- assert_return_code(gnutls_certificate_set_x509_key_mem
- (serverx509cred, &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM), 0);
+ assert_return_code(
+ gnutls_certificate_allocate_credentials(&serverx509cred), 0);
+ assert_return_code(gnutls_certificate_set_x509_key_mem(
+ serverx509cred, &server_cert, &server_key,
+ GNUTLS_X509_FMT_PEM),
+ 0);
ret = gnutls_init(&server, GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH);
assert_return_code(ret, 0);
ret = gnutls_priority_set_direct(server, prio, NULL);
assert_return_code(ret, 0);
- ret =
- gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
- serverx509cred);
+ ret = gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
+ serverx509cred);
assert_return_code(ret, 0);
gnutls_transport_set_push_function(server, server_push);
@@ -111,16 +112,13 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
gnutls_certificate_set_retrieve_function2(clientx509cred,
cert_callback);
- ret =
- gnutls_init(&client,
- GNUTLS_CLIENT | GNUTLS_AUTO_REAUTH |
- GNUTLS_POST_HANDSHAKE_AUTH);
+ ret = gnutls_init(&client, GNUTLS_CLIENT | GNUTLS_AUTO_REAUTH |
+ GNUTLS_POST_HANDSHAKE_AUTH);
ret = gnutls_priority_set_direct(client, prio, NULL);
assert_return_code(ret, 0);
- ret =
- gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
- clientx509cred);
+ ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
+ clientx509cred);
assert_return_code(ret, 0);
gnutls_transport_set_push_function(client, client_push);
@@ -135,8 +133,8 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
do {
sret = gnutls_rehandshake(server);
- } while (sret == GNUTLS_E_AGAIN
- || sret == GNUTLS_E_INTERRUPTED);
+ } while (sret == GNUTLS_E_AGAIN ||
+ sret == GNUTLS_E_INTERRUPTED);
assert_true(sret == 0);
assert_true(gnutls_record_get_direction(server) == 1);
@@ -158,13 +156,14 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
sret = gnutls_handshake(server);
if (sret == GNUTLS_E_INTERRUPTED)
sret = GNUTLS_E_AGAIN;
- assert_true(sret == GNUTLS_E_AGAIN
- || sret == 0);
+ assert_true(sret == GNUTLS_E_AGAIN ||
+ sret == 0);
}
/* we are done in client side */
- if (hstarted && gnutls_record_get_direction(client) == 0
- && to_client_len == 0)
+ if (hstarted &&
+ gnutls_record_get_direction(client) == 0 &&
+ to_client_len == 0)
cret = 0;
if (cret == GNUTLS_E_AGAIN) {
@@ -203,8 +202,8 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
}
/* we are done in client side */
- if (gnutls_record_get_direction(client) == 0
- && to_client_len == 0)
+ if (gnutls_record_get_direction(client) == 0 &&
+ to_client_len == 0)
cret = 0;
} while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
}
diff --git a/tests/eagain-common.h b/tests/eagain-common.h
index c7c49f4ac2..8fadb3a40f 100644
--- a/tests/eagain-common.h
+++ b/tests/eagain-common.h
@@ -1,172 +1,174 @@
#ifndef GNUTLS_TESTS_EAGAIN_COMMON_H
-# define GNUTLS_TESTS_EAGAIN_COMMON_H
+#define GNUTLS_TESTS_EAGAIN_COMMON_H
-# include <errno.h>
-# include <time.h>
-# include <stdio.h>
+#include <errno.h>
+#include <time.h>
+#include <stdio.h>
-# define min(x,y) ((x)<(y)?(x):(y))
+#define min(x, y) ((x) < (y) ? (x) : (y))
extern const char *side;
-# ifdef USE_CMOCKA
-# define failure() fail()
-# define client_transfer_failure(r) {fprintf(stderr, "client transfer failure: %s\n", gnutls_strerror(r)); fail();}
-# define server_transfer_failure(r) {fprintf(stderr, "server transfer failure: %s\n", gnutls_strerror(r)); fail();}
-# define switch_side(str)
-# else
-# define failure() fail("Handshake failed\n")
-# define client_transfer_failure(r) fail("client transfer failure: %s\n", gnutls_strerror(r))
-# define server_transfer_failure(r) fail("client transfer failure: %s\n", gnutls_strerror(r))
-# define switch_side(str) side = str
-# endif
-
-# define HANDSHAKE_EXPECT(c, s, clierr, serverr) \
- sret = cret = GNUTLS_E_AGAIN; \
- do \
- { \
- if (cret == GNUTLS_E_AGAIN) \
- { \
- switch_side("client"); \
- cret = gnutls_handshake (c); \
- if (cret == GNUTLS_E_INTERRUPTED) cret = GNUTLS_E_AGAIN; \
- } \
- if (sret == GNUTLS_E_AGAIN) \
- { \
- switch_side("server"); \
- sret = gnutls_handshake (s); \
- if (sret == GNUTLS_E_INTERRUPTED) sret = GNUTLS_E_AGAIN; \
- } \
- } \
- while ((cret == GNUTLS_E_AGAIN || (cret == 0 && sret == GNUTLS_E_AGAIN)) && (sret == GNUTLS_E_AGAIN || (sret == 0 && cret == GNUTLS_E_AGAIN))); \
- if ((clierr != -1 && cret != clierr) || (serverr != -1 && sret != serverr)) \
- { \
- fprintf(stderr, "client[%d]: %s\n", cret, gnutls_strerror(cret)); \
- fprintf(stderr, "server[%d]: %s\n", sret, gnutls_strerror(sret)); \
- failure(); \
- }
-
-# define HANDSHAKE(c, s) \
- HANDSHAKE_EXPECT(c,s,0,0)
-
-# define HANDSHAKE_DTLS_EXPECT(c, s, clierr, serverr) \
- sret = cret = GNUTLS_E_AGAIN; \
- do \
- { \
- if (cret == GNUTLS_E_LARGE_PACKET) \
- { \
- unsigned int mtu = gnutls_dtls_get_mtu(s); \
- gnutls_dtls_set_mtu(s, mtu/2); \
- } \
- if (cret < 0 && gnutls_error_is_fatal(cret) == 0) \
- { \
- switch_side("client"); \
- cret = gnutls_handshake (c); \
- } \
- if (sret == GNUTLS_E_LARGE_PACKET) \
- { \
- unsigned int mtu = gnutls_dtls_get_mtu(s); \
- gnutls_dtls_set_mtu(s, mtu/2); \
- } \
- if (sret < 0 && gnutls_error_is_fatal(sret) == 0) \
- { \
- switch_side("server"); \
- sret = gnutls_handshake (s); \
- } \
- } \
- while (((gnutls_error_is_fatal(cret) == 0 && gnutls_error_is_fatal(sret) == 0)) && (cret < 0 || sret < 0)); \
- if (cret != clierr || sret != serverr) \
- { \
- fprintf(stderr, "client: %s\n", gnutls_strerror(cret)); \
- fprintf(stderr, "server: %s\n", gnutls_strerror(sret)); \
- failure(); \
- }
-
-# define HANDSHAKE_DTLS(c, s) \
- HANDSHAKE_DTLS_EXPECT(c,s,0,0)
-
-# define HANDSHAKE(c, s) \
- HANDSHAKE_EXPECT(c,s,0,0)
-
-# define TRANSFER2(c, s, msg, msglen, buf, buflen, retry_send_with_null) { \
- int _ret; \
- switch_side("client"); \
- _ret = record_send_loop (c, msg, msglen, retry_send_with_null); \
- \
- if (_ret < 0) client_transfer_failure(_ret); \
- \
- do \
- { \
- do \
- { \
- switch_side("server"); \
- _ret = gnutls_record_recv (s, buf, buflen); \
- } \
- while(_ret == GNUTLS_E_AGAIN); \
- if (_ret <= 0) \
- { \
- server_transfer_failure(_ret); \
- } \
- else \
- { \
- transferred += _ret; \
- } \
- switch_side("server"); \
- _ret = record_send_loop (server, msg, msglen, retry_send_with_null); \
- if (_ret < 0) server_transfer_failure(_ret); \
- do \
- { \
- switch_side("client"); \
- _ret = gnutls_record_recv (client, buf, buflen); \
- } \
- while(_ret == GNUTLS_E_AGAIN); \
- if (_ret <= 0) \
- { \
- client_transfer_failure(_ret); \
- } \
- else \
- { \
- if (msglen != _ret || memcmp (buf, msg, msglen) != 0) \
- { \
- failure(); \
- } \
- /* echo back */ \
- switch_side("client"); \
- _ret = record_send_loop (client, buf, msglen, retry_send_with_null); \
- if (_ret < 0) client_transfer_failure(_ret); \
- transferred += _ret; \
- } \
- } \
- while (transferred < 70000); \
- }
-
-# define EMPTY_BUF(s, c, buf, buflen) \
- { \
- switch_side("client"); int _ret = 0; \
- while((_ret == GNUTLS_E_AGAIN && to_server_len > 0) || to_server_len > 0) \
- { \
- switch_side("server"); \
- _ret = gnutls_record_recv (s, buf, buflen); \
- } \
- if (_ret < 0 && _ret !=GNUTLS_E_AGAIN) \
- { \
- server_transfer_failure(_ret); \
- } \
- switch_side("server"); _ret = 0; \
- while((to_client_len > 0 && _ret == GNUTLS_E_AGAIN) || to_client_len > 0) \
- { \
- switch_side("client"); \
- _ret = gnutls_record_recv (client, buf, buflen); \
- } \
- if (_ret < 0 && _ret !=GNUTLS_E_AGAIN) \
- { \
- client_transfer_failure(_ret); \
- } \
- }
-
-# define TRANSFER(c, s, msg, msglen, buf, buflen) \
- TRANSFER2(c, s, msg, msglen, buf, buflen, 0); \
- TRANSFER2(c, s, msg, msglen, buf, buflen, 1)
+#ifdef USE_CMOCKA
+#define failure() fail()
+#define client_transfer_failure(r) \
+ { \
+ fprintf(stderr, "client transfer failure: %s\n", \
+ gnutls_strerror(r)); \
+ fail(); \
+ }
+#define server_transfer_failure(r) \
+ { \
+ fprintf(stderr, "server transfer failure: %s\n", \
+ gnutls_strerror(r)); \
+ fail(); \
+ }
+#define switch_side(str)
+#else
+#define failure() fail("Handshake failed\n")
+#define client_transfer_failure(r) \
+ fail("client transfer failure: %s\n", gnutls_strerror(r))
+#define server_transfer_failure(r) \
+ fail("client transfer failure: %s\n", gnutls_strerror(r))
+#define switch_side(str) side = str
+#endif
+
+#define HANDSHAKE_EXPECT(c, s, clierr, serverr) \
+ sret = cret = GNUTLS_E_AGAIN; \
+ do { \
+ if (cret == GNUTLS_E_AGAIN) { \
+ switch_side("client"); \
+ cret = gnutls_handshake(c); \
+ if (cret == GNUTLS_E_INTERRUPTED) \
+ cret = GNUTLS_E_AGAIN; \
+ } \
+ if (sret == GNUTLS_E_AGAIN) { \
+ switch_side("server"); \
+ sret = gnutls_handshake(s); \
+ if (sret == GNUTLS_E_INTERRUPTED) \
+ sret = GNUTLS_E_AGAIN; \
+ } \
+ } while ((cret == GNUTLS_E_AGAIN || \
+ (cret == 0 && sret == GNUTLS_E_AGAIN)) && \
+ (sret == GNUTLS_E_AGAIN || \
+ (sret == 0 && cret == GNUTLS_E_AGAIN))); \
+ if ((clierr != -1 && cret != clierr) || \
+ (serverr != -1 && sret != serverr)) { \
+ fprintf(stderr, "client[%d]: %s\n", cret, \
+ gnutls_strerror(cret)); \
+ fprintf(stderr, "server[%d]: %s\n", sret, \
+ gnutls_strerror(sret)); \
+ failure(); \
+ }
+
+#define HANDSHAKE(c, s) HANDSHAKE_EXPECT(c, s, 0, 0)
+
+#define HANDSHAKE_DTLS_EXPECT(c, s, clierr, serverr) \
+ sret = cret = GNUTLS_E_AGAIN; \
+ do { \
+ if (cret == GNUTLS_E_LARGE_PACKET) { \
+ unsigned int mtu = gnutls_dtls_get_mtu(s); \
+ gnutls_dtls_set_mtu(s, mtu / 2); \
+ } \
+ if (cret < 0 && gnutls_error_is_fatal(cret) == 0) { \
+ switch_side("client"); \
+ cret = gnutls_handshake(c); \
+ } \
+ if (sret == GNUTLS_E_LARGE_PACKET) { \
+ unsigned int mtu = gnutls_dtls_get_mtu(s); \
+ gnutls_dtls_set_mtu(s, mtu / 2); \
+ } \
+ if (sret < 0 && gnutls_error_is_fatal(sret) == 0) { \
+ switch_side("server"); \
+ sret = gnutls_handshake(s); \
+ } \
+ } while (((gnutls_error_is_fatal(cret) == 0 && \
+ gnutls_error_is_fatal(sret) == 0)) && \
+ (cret < 0 || sret < 0)); \
+ if (cret != clierr || sret != serverr) { \
+ fprintf(stderr, "client: %s\n", gnutls_strerror(cret)); \
+ fprintf(stderr, "server: %s\n", gnutls_strerror(sret)); \
+ failure(); \
+ }
+
+#define HANDSHAKE_DTLS(c, s) HANDSHAKE_DTLS_EXPECT(c, s, 0, 0)
+
+#define HANDSHAKE(c, s) HANDSHAKE_EXPECT(c, s, 0, 0)
+
+#define TRANSFER2(c, s, msg, msglen, buf, buflen, retry_send_with_null) \
+ { \
+ int _ret; \
+ switch_side("client"); \
+ _ret = record_send_loop(c, msg, msglen, retry_send_with_null); \
+ \
+ if (_ret < 0) \
+ client_transfer_failure(_ret); \
+ \
+ do { \
+ do { \
+ switch_side("server"); \
+ _ret = gnutls_record_recv(s, buf, buflen); \
+ } while (_ret == GNUTLS_E_AGAIN); \
+ if (_ret <= 0) { \
+ server_transfer_failure(_ret); \
+ } else { \
+ transferred += _ret; \
+ } \
+ switch_side("server"); \
+ _ret = record_send_loop(server, msg, msglen, \
+ retry_send_with_null); \
+ if (_ret < 0) \
+ server_transfer_failure(_ret); \
+ do { \
+ switch_side("client"); \
+ _ret = gnutls_record_recv(client, buf, \
+ buflen); \
+ } while (_ret == GNUTLS_E_AGAIN); \
+ if (_ret <= 0) { \
+ client_transfer_failure(_ret); \
+ } else { \
+ if (msglen != _ret || \
+ memcmp(buf, msg, msglen) != 0) { \
+ failure(); \
+ } \
+ /* echo back */ \
+ switch_side("client"); \
+ _ret = record_send_loop(client, buf, msglen, \
+ retry_send_with_null); \
+ if (_ret < 0) \
+ client_transfer_failure(_ret); \
+ transferred += _ret; \
+ } \
+ } while (transferred < 70000); \
+ }
+
+#define EMPTY_BUF(s, c, buf, buflen) \
+ { \
+ switch_side("client"); \
+ int _ret = 0; \
+ while ((_ret == GNUTLS_E_AGAIN && to_server_len > 0) || \
+ to_server_len > 0) { \
+ switch_side("server"); \
+ _ret = gnutls_record_recv(s, buf, buflen); \
+ } \
+ if (_ret < 0 && _ret != GNUTLS_E_AGAIN) { \
+ server_transfer_failure(_ret); \
+ } \
+ switch_side("server"); \
+ _ret = 0; \
+ while ((to_client_len > 0 && _ret == GNUTLS_E_AGAIN) || \
+ to_client_len > 0) { \
+ switch_side("client"); \
+ _ret = gnutls_record_recv(client, buf, buflen); \
+ } \
+ if (_ret < 0 && _ret != GNUTLS_E_AGAIN) { \
+ client_transfer_failure(_ret); \
+ } \
+ }
+
+#define TRANSFER(c, s, msg, msglen, buf, buflen) \
+ TRANSFER2(c, s, msg, msglen, buf, buflen, 0); \
+ TRANSFER2(c, s, msg, msglen, buf, buflen, 1)
static char to_server[64 * 1024];
static size_t to_server_len = 0;
@@ -174,21 +176,20 @@ static size_t to_server_len = 0;
static char to_client[64 * 1024];
static size_t to_client_len = 0;
-# ifdef RANDOMIZE
-# define RETURN_RND_EAGAIN(session) \
- unsigned int rnd = time(0); \
- if (rnd++ % 3 == 0) \
- { \
- gnutls_transport_set_errno (session, EAGAIN); \
- return -1; \
- }
-# else
-# define RETURN_RND_EAGAIN(session)
-# endif
-
-# ifndef IGNORE_PUSH
-static ssize_t
-client_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+#ifdef RANDOMIZE
+#define RETURN_RND_EAGAIN(session) \
+ unsigned int rnd = time(0); \
+ if (rnd++ % 3 == 0) { \
+ gnutls_transport_set_errno(session, EAGAIN); \
+ return -1; \
+ }
+#else
+#define RETURN_RND_EAGAIN(session)
+#endif
+
+#ifndef IGNORE_PUSH
+static ssize_t client_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
size_t newlen;
RETURN_RND_EAGAIN(tr);
@@ -198,26 +199,26 @@ client_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
newlen = to_server_len + len;
memcpy(to_server + to_server_len, data, len);
to_server_len = newlen;
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr, "eagain: pushed %d bytes to server (avail: %d)\n",
(int)len, (int)to_server_len);
-# endif
+#endif
return len;
}
-# endif
+#endif
static ssize_t client_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
{
RETURN_RND_EAGAIN(tr);
if (to_client_len == 0) {
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr,
"eagain: Not enough data by server (asked for: %d, have: %d)\n",
(int)len, (int)to_client_len);
-# endif
- gnutls_transport_set_errno((gnutls_session_t) tr, EAGAIN);
+#endif
+ gnutls_transport_set_errno((gnutls_session_t)tr, EAGAIN);
return -1;
}
@@ -227,10 +228,10 @@ static ssize_t client_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
memmove(to_client, to_client + len, to_client_len - len);
to_client_len -= len;
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr, "eagain: pulled %d bytes by client (avail: %d)\n",
(int)len, (int)to_client_len);
-# endif
+#endif
return len;
}
@@ -240,20 +241,20 @@ static ssize_t server_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
RETURN_RND_EAGAIN(tr);
if (to_server_len == 0) {
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr,
"eagain: Not enough data by client (asked for: %d, have: %d)\n",
(int)len, (int)to_server_len);
-# endif
- gnutls_transport_set_errno((gnutls_session_t) tr, EAGAIN);
+#endif
+ gnutls_transport_set_errno((gnutls_session_t)tr, EAGAIN);
return -1;
}
len = min(len, to_server_len);
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr, "eagain: pulled %d bytes by server (avail: %d)\n",
(int)len, (int)to_server_len);
-# endif
+#endif
memcpy(data, to_server, len);
memmove(to_server, to_server + len, to_server_len - len);
@@ -262,32 +263,32 @@ static ssize_t server_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
return len;
}
-# ifndef IGNORE_PUSH
-static ssize_t
-server_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+#ifndef IGNORE_PUSH
+static ssize_t server_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
size_t newlen;
RETURN_RND_EAGAIN(tr);
-// hexprint (data, len);
+ // hexprint (data, len);
len = min(len, sizeof(to_client) - to_client_len);
newlen = to_client_len + len;
memcpy(to_client + to_client_len, data, len);
to_client_len = newlen;
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr, "eagain: pushed %d bytes to client (avail: %d)\n",
(int)len, (int)to_client_len);
-# endif
+#endif
-# ifdef SERVER_PUSH_ADD
+#ifdef SERVER_PUSH_ADD
SERVER_PUSH_ADD
-# endif
- return len;
+#endif
+ return len;
}
-# endif
+#endif
/* inline is used to avoid a gcc warning if used in mini-eagain */
inline static int server_pull_timeout_func(gnutls_transport_ptr_t ptr,
@@ -296,15 +297,15 @@ inline static int server_pull_timeout_func(gnutls_transport_ptr_t ptr,
int ret;
if (to_server_len > 0)
- ret = 1; /* available data */
+ ret = 1; /* available data */
else
- ret = 0; /* timeout */
+ ret = 0; /* timeout */
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr,
"eagain: server_pull_timeout: %d (avail: cli %d, serv %d)\n",
ret, (int)to_client_len, (int)to_server_len);
-# endif
+#endif
return ret;
}
@@ -319,11 +320,11 @@ inline static int client_pull_timeout_func(gnutls_transport_ptr_t ptr,
else
ret = 0;
-# ifdef EAGAIN_DEBUG
+#ifdef EAGAIN_DEBUG
fprintf(stderr,
"eagain: client_pull_timeout: %d (avail: cli %d, serv %d)\n",
ret, (int)to_client_len, (int)to_server_len);
-# endif
+#endif
return ret;
}
@@ -334,9 +335,8 @@ inline static void reset_buffers(void)
to_client_len = 0;
}
-inline static int record_send_loop(gnutls_session_t session,
- const void *data, size_t sizeofdata,
- int use_null_on_retry)
+inline static int record_send_loop(gnutls_session_t session, const void *data,
+ size_t sizeofdata, int use_null_on_retry)
{
int ret;
const void *retry_data;
@@ -358,4 +358,4 @@ inline static int record_send_loop(gnutls_session_t session,
return ret;
}
-#endif /* GNUTLS_TESTS_EAGAIN_COMMON_H */
+#endif /* GNUTLS_TESTS_EAGAIN_COMMON_H */
diff --git a/tests/eagain.c b/tests/eagain.c
index eb46ec61ca..15f3ab88ec 100644
--- a/tests/eagain.c
+++ b/tests/eagain.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,7 +44,8 @@ static void tls_log_func(int level, const char *str)
}
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
{
@@ -65,20 +66,20 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
gnutls_global_set_log_function(tls_log_func);
/* Init server */
- assert_return_code(gnutls_certificate_allocate_credentials
- (&serverx509cred), 0);
- assert_return_code(gnutls_certificate_set_x509_key_mem
- (serverx509cred, &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM), 0);
+ assert_return_code(
+ gnutls_certificate_allocate_credentials(&serverx509cred), 0);
+ assert_return_code(gnutls_certificate_set_x509_key_mem(
+ serverx509cred, &server_cert, &server_key,
+ GNUTLS_X509_FMT_PEM),
+ 0);
ret = gnutls_init(&server, GNUTLS_SERVER);
assert_return_code(ret, 0);
ret = gnutls_priority_set_direct(server, prio, NULL);
assert_return_code(ret, 0);
- ret =
- gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
- serverx509cred);
+ ret = gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
+ serverx509cred);
assert_return_code(ret, 0);
gnutls_transport_set_push_function(server, server_push);
@@ -94,9 +95,8 @@ static void async_handshake(void **glob_state, const char *prio, unsigned rehsk)
ret = gnutls_priority_set_direct(client, prio, NULL);
assert_return_code(ret, 0);
- ret =
- gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
- clientx509cred);
+ ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
+ clientx509cred);
assert_return_code(ret, 0);
gnutls_transport_set_push_function(client, client_push);
diff --git a/tests/ecdh-compute.c b/tests/ecdh-compute.c
index 4831bec918..f0536c41cd 100644
--- a/tests/ecdh-compute.c
+++ b/tests/ecdh-compute.c
@@ -22,7 +22,7 @@
/* This program tests functionality of DH exchanges */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/gnutls.h>
@@ -32,18 +32,16 @@
#include "utils.h"
#ifdef ENABLE_FIPS140
-int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
- const gnutls_datum_t * x, const gnutls_datum_t * y,
- const gnutls_datum_t * k,
- const gnutls_datum_t * peer_x,
- const gnutls_datum_t * peer_y, gnutls_datum_t * Z);
-
-int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve,
- gnutls_datum_t * x, gnutls_datum_t * y,
- gnutls_datum_t * k);
-
-static void genkey(gnutls_ecc_curve_t curve, gnutls_datum_t * x,
- gnutls_datum_t * y, gnutls_datum_t * key)
+int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t *x,
+ const gnutls_datum_t *y, const gnutls_datum_t *k,
+ const gnutls_datum_t *peer_x,
+ const gnutls_datum_t *peer_y, gnutls_datum_t *Z);
+
+int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *k);
+
+static void genkey(gnutls_ecc_curve_t curve, gnutls_datum_t *x,
+ gnutls_datum_t *y, gnutls_datum_t *key)
{
int ret;
@@ -52,12 +50,11 @@ static void genkey(gnutls_ecc_curve_t curve, gnutls_datum_t * x,
fail("error\n");
}
-static void compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t * x,
- const gnutls_datum_t * y, const gnutls_datum_t * key,
- const gnutls_datum_t * peer_x,
- const gnutls_datum_t * peer_y,
- int expect_error,
- gnutls_datum_t * result, bool expect_success)
+static void compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t *x,
+ const gnutls_datum_t *y, const gnutls_datum_t *key,
+ const gnutls_datum_t *peer_x,
+ const gnutls_datum_t *peer_y, int expect_error,
+ gnutls_datum_t *result, bool expect_success)
{
gnutls_datum_t Z = { 0 };
bool success;
@@ -90,83 +87,101 @@ void doit(void)
{
struct dh_test_data test_data[] = {
{
- /* x == 0, y == 0 */
- GNUTLS_ECC_CURVE_SECP256R1,
- {0}, {0}, {0},
- {(void *)"\x00", 1},
- {(void *)"\x00", 1},
- /* Should be GNUTLS_E_PK_INVALID_PUBKEY but mpi scan
+ /* x == 0, y == 0 */
+ GNUTLS_ECC_CURVE_SECP256R1,
+ { 0 },
+ { 0 },
+ { 0 },
+ { (void *)"\x00", 1 },
+ { (void *)"\x00", 1 },
+ /* Should be GNUTLS_E_PK_INVALID_PUBKEY but mpi scan
* balks on values of 0 */
- GNUTLS_E_MPI_SCAN_FAILED,
- },
+ GNUTLS_E_MPI_SCAN_FAILED,
+ },
{
- /* x > p -1 */
- GNUTLS_ECC_CURVE_SECP256R1,
- {0}, {0}, {0},
- {(void *)"\xff\xff\xff\xff\x00\x00\x00\x01"
- "\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff", 1},
- {(void *)"\x02", 1},
- GNUTLS_E_PK_INVALID_PUBKEY,
- },
+ /* x > p -1 */
+ GNUTLS_ECC_CURVE_SECP256R1,
+ { 0 },
+ { 0 },
+ { 0 },
+ { (void *)"\xff\xff\xff\xff\x00\x00\x00\x01"
+ "\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff",
+ 1 },
+ { (void *)"\x02", 1 },
+ GNUTLS_E_PK_INVALID_PUBKEY,
+ },
{
- /* y > p -1 */
- GNUTLS_ECC_CURVE_SECP256R1,
- {0}, {0}, {0},
- {(void *)"\x02", 1},
- {(void *)"\xff\xff\xff\xff\x00\x00\x00\x01"
- "\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\xff\xff\xff\xff"
- "\xff\xff\xff\xff\xff\xff\xff\xff", 1},
- GNUTLS_E_PK_INVALID_PUBKEY,
- },
+ /* y > p -1 */
+ GNUTLS_ECC_CURVE_SECP256R1,
+ { 0 },
+ { 0 },
+ { 0 },
+ { (void *)"\x02", 1 },
+ { (void *)"\xff\xff\xff\xff\x00\x00\x00\x01"
+ "\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\xff\xff\xff\xff"
+ "\xff\xff\xff\xff\xff\xff\xff\xff",
+ 1 },
+ GNUTLS_E_PK_INVALID_PUBKEY,
+ },
{
- /* From CAVS tests */
- GNUTLS_ECC_CURVE_SECP521R1,
- {(void *)"\xac\xbe\x4a\xd4\xf6\x73\x44\x0a"
- "\xfc\x31\xf0\xb0\x3d\x28\xd4\xd5"
- "\x14\xbe\x7b\xdd\x7a\x31\xb0\x32"
- "\xec\x27\x27\x17\xa5\x7d\xc2\x6c"
- "\xc4\xc9\x56\x29\xdb\x2d\x8c\x05"
- "\x86\x2b\xe6\x15\xc6\x06\x28\xa3"
- "\x24\xf2\x01\x7f\x98\xbd\xf9\x11"
- "\xcc\xf8\x83\x5e\x43\x9e\xb2\xc1" "\x88", 65},
- {(void *)"\xd6\x9b\x29\xa2\x37\x82\x36\x92"
- "\xe8\xdb\x90\xa3\x25\x68\x67\x6c"
- "\x92\xff\x3d\x23\x85\xe2\xfd\x13"
- "\x16\x12\x72\xb3\x4b\x55\x88\x72"
- "\xb0\x35\xab\xb5\x10\x89\x52\x5f"
- "\x42\x9f\x53\x02\x60\x80\xc3\xd5"
- "\x36\x6e\xe9\xdd\x28\xae\xd2\x38"
- "\xab\xbe\x68\x6a\x54\x3e\x19\xf2" "\x77", 65},
- {(void *)"\xd7\xdd\x17\x7c\xb9\x7f\x19\x09"
- "\xbe\x56\x79\xba\x38\x7b\xee\x64"
- "\xf7\xb4\x08\x4a\x4f\xaa\x6c\x31"
- "\x8b\x82\xe9\xf2\xf7\x50\xc5\xc1"
- "\x82\x26\x20\xd4\x88\x25\x0b\xf6"
- "\xb4\x14\xea\x9b\x2c\x07\x93\x50"
- "\xb9\xad\x78\x0a\x5e\xc6\xa6\xf8"
- "\xb2\x9f\xa1\xc4\x76\xce\x1d\xa9" "\xf5", 65},
- {(void *)"\x01\x41\xbe\x1a\xfa\x21\x99\xc9"
- "\xb2\x2d\xaa\x0a\xff\x90\xb2\x67"
- "\x18\xa2\x67\x04\x7e\xae\x28\x40"
- "\xe8\xbc\xa0\xbd\x0c\x75\x41\x51"
- "\xf1\xa0\x4d\xcf\x09\xa5\x4f\x1e"
- "\x13\x5e\xa0\xdd\x13\xed\x86\x74"
- "\x05\xc0\xcb\x6d\xac\x14\x6a\x24"
- "\xb8\xdc\xf3\x78\xed\xed\x5d\xcd" "\x57\x5b", 66},
- {(void *)"\x19\x52\xbd\x5d\xe6\x26\x40\xc3"
- "\xfc\x8c\xc1\x55\xe2\x9c\x71\x14"
- "\x5e\xdc\x62\x1c\x3a\x94\x4e\x55"
- "\x56\x75\xf7\x45\x6e\xa4\x9e\x94"
- "\xb8\xfe\xda\xd4\xac\x7d\x76\xc5"
- "\xb4\x65\xed\xb4\x49\x34\x71\x14"
- "\xdb\x8f\x10\x90\xa3\x05\x02\xdc"
- "\x86\x92\x6c\xbe\x9b\x57\x32\xe3" "\x2c", 65},
- 0,
- },
- {0}
+ /* From CAVS tests */
+ GNUTLS_ECC_CURVE_SECP521R1,
+ { (void *)"\xac\xbe\x4a\xd4\xf6\x73\x44\x0a"
+ "\xfc\x31\xf0\xb0\x3d\x28\xd4\xd5"
+ "\x14\xbe\x7b\xdd\x7a\x31\xb0\x32"
+ "\xec\x27\x27\x17\xa5\x7d\xc2\x6c"
+ "\xc4\xc9\x56\x29\xdb\x2d\x8c\x05"
+ "\x86\x2b\xe6\x15\xc6\x06\x28\xa3"
+ "\x24\xf2\x01\x7f\x98\xbd\xf9\x11"
+ "\xcc\xf8\x83\x5e\x43\x9e\xb2\xc1"
+ "\x88",
+ 65 },
+ { (void *)"\xd6\x9b\x29\xa2\x37\x82\x36\x92"
+ "\xe8\xdb\x90\xa3\x25\x68\x67\x6c"
+ "\x92\xff\x3d\x23\x85\xe2\xfd\x13"
+ "\x16\x12\x72\xb3\x4b\x55\x88\x72"
+ "\xb0\x35\xab\xb5\x10\x89\x52\x5f"
+ "\x42\x9f\x53\x02\x60\x80\xc3\xd5"
+ "\x36\x6e\xe9\xdd\x28\xae\xd2\x38"
+ "\xab\xbe\x68\x6a\x54\x3e\x19\xf2"
+ "\x77",
+ 65 },
+ { (void *)"\xd7\xdd\x17\x7c\xb9\x7f\x19\x09"
+ "\xbe\x56\x79\xba\x38\x7b\xee\x64"
+ "\xf7\xb4\x08\x4a\x4f\xaa\x6c\x31"
+ "\x8b\x82\xe9\xf2\xf7\x50\xc5\xc1"
+ "\x82\x26\x20\xd4\x88\x25\x0b\xf6"
+ "\xb4\x14\xea\x9b\x2c\x07\x93\x50"
+ "\xb9\xad\x78\x0a\x5e\xc6\xa6\xf8"
+ "\xb2\x9f\xa1\xc4\x76\xce\x1d\xa9"
+ "\xf5",
+ 65 },
+ { (void *)"\x01\x41\xbe\x1a\xfa\x21\x99\xc9"
+ "\xb2\x2d\xaa\x0a\xff\x90\xb2\x67"
+ "\x18\xa2\x67\x04\x7e\xae\x28\x40"
+ "\xe8\xbc\xa0\xbd\x0c\x75\x41\x51"
+ "\xf1\xa0\x4d\xcf\x09\xa5\x4f\x1e"
+ "\x13\x5e\xa0\xdd\x13\xed\x86\x74"
+ "\x05\xc0\xcb\x6d\xac\x14\x6a\x24"
+ "\xb8\xdc\xf3\x78\xed\xed\x5d\xcd"
+ "\x57\x5b",
+ 66 },
+ { (void *)"\x19\x52\xbd\x5d\xe6\x26\x40\xc3"
+ "\xfc\x8c\xc1\x55\xe2\x9c\x71\x14"
+ "\x5e\xdc\x62\x1c\x3a\x94\x4e\x55"
+ "\x56\x75\xf7\x45\x6e\xa4\x9e\x94"
+ "\xb8\xfe\xda\xd4\xac\x7d\x76\xc5"
+ "\xb4\x65\xed\xb4\x49\x34\x71\x14"
+ "\xdb\x8f\x10\x90\xa3\x05\x02\xdc"
+ "\x86\x92\x6c\xbe\x9b\x57\x32\xe3"
+ "\x2c",
+ 65 },
+ 0,
+ },
+ { 0 }
};
for (int i = 0; test_data[i].curve != 0; i++) {
@@ -181,8 +196,7 @@ void doit(void)
}
compute_key(test_data[i].curve, &x, &y, &key,
- &test_data[i].peer_x,
- &test_data[i].peer_y,
+ &test_data[i].peer_x, &test_data[i].peer_y,
test_data[i].expected_error, NULL, 0);
if (test_data[i].key.data == NULL) {
diff --git a/tests/empty_retrieve_function.c b/tests/empty_retrieve_function.c
index 35e2de913f..d1a0aa9718 100644
--- a/tests/empty_retrieve_function.c
+++ b/tests/empty_retrieve_function.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,23 +36,18 @@
* return no certificates.
*/
-static int cert_cb1(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn,
- int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, gnutls_retr2_st * retr)
+static int cert_cb1(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,
+ int nreqs, const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_retr2_st *retr)
{
memset(retr, 0, sizeof(*retr));
return 0;
}
-static int cert_cb2(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn,
- int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length,
- gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * privkey)
+static int cert_cb2(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,
+ int nreqs, const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *privkey)
{
*pcert_length = 0;
*privkey = NULL;
@@ -63,11 +58,9 @@ static int cert_cb2(gnutls_session_t session,
static int cert_cb3(gnutls_session_t session,
const struct gnutls_cert_retr_st *info,
- gnutls_pcert_st ** certs,
- unsigned int *pcert_length,
- gnutls_ocsp_data_st ** ocsp,
- unsigned int *ocsp_length,
- gnutls_privkey_t * privkey, unsigned int *flags)
+ gnutls_pcert_st **certs, unsigned int *pcert_length,
+ gnutls_ocsp_data_st **ocsp, unsigned int *ocsp_length,
+ gnutls_privkey_t *privkey, unsigned int *flags)
{
*privkey = NULL;
*ocsp_length = 0;
@@ -96,11 +89,9 @@ void doit(void)
gnutls_certificate_allocate_credentials(&x509_cred);
- ret =
- gnutls_certificate_set_x509_key_mem(x509_cred,
- &server_ca3_localhost_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
diff --git a/tests/fallback-scsv.c b/tests/fallback-scsv.c
index 632d05211e..fbe0da9b21 100644
--- a/tests/fallback-scsv.c
+++ b/tests/fallback-scsv.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
static void terminate(void);
@@ -68,7 +68,7 @@ static void client_log_func(int level, const char *str)
/* This tests whether the fallback SCSV is working as intended.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio, unsigned expect_fail)
{
@@ -101,8 +101,7 @@ static void client(int fd, const char *prio, unsigned expect_fail)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (expect_fail) {
goto end;
@@ -119,8 +118,8 @@ static void client(int fd, const char *prio, unsigned expect_fail)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
@@ -141,7 +140,7 @@ static void client(int fd, const char *prio, unsigned expect_fail)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -202,8 +201,7 @@ static void server(int fd, const char *prio, unsigned expect_fail)
if (expect_fail) {
if (ret == GNUTLS_E_INAPPROPRIATE_FALLBACK) {
if (debug)
- success
- ("server: received inappropriate fallback error\n");
+ success("server: received inappropriate fallback error\n");
goto cleanup;
} else {
fail("server: received unexpected error: %s\n",
@@ -224,13 +222,13 @@ static void server(int fd, const char *prio, unsigned expect_fail)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -239,14 +237,13 @@ static void server(int fd, const char *prio, unsigned expect_fail)
terminate();
}
to_send++;
- }
- while (to_send < 64);
+ } while (to_send < 64);
to_send = -1;
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
@@ -318,4 +315,4 @@ void doit(void)
0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/fips-mode-pthread.c b/tests/fips-mode-pthread.c
index cf52c6d90b..08b463bb26 100644
--- a/tests/fips-mode-pthread.c
+++ b/tests/fips-mode-pthread.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,11 +33,11 @@
#include <signal.h>
#include <unistd.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <pthread.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <pthread.h>
#endif
#include "utils.h"
@@ -70,7 +70,8 @@ static void *test_set_per_thread(void *arg)
mode = gnutls_fips140_mode_enabled();
if (mode != data->mode)
- fail("%d: gnutls_fips140_mode_enabled: wrong mode returned (%d, exp: %d)\n", data->line, mode, data->mode);
+ fail("%d: gnutls_fips140_mode_enabled: wrong mode returned (%d, exp: %d)\n",
+ data->line, mode, data->mode);
if (data->set_mode)
gnutls_fips140_set_mode(data->set_mode,
@@ -78,17 +79,19 @@ static void *test_set_per_thread(void *arg)
mode = gnutls_fips140_mode_enabled();
if (mode != data->set_mode) {
- fail("%d: gnutls_fips140_mode_enabled: wrong mode returned after set (%d, exp: %d)\n", data->line, mode, data->set_mode);
+ fail("%d: gnutls_fips140_mode_enabled: wrong mode returned after set (%d, exp: %d)\n",
+ data->line, mode, data->set_mode);
}
/* reset mode */
gnutls_fips140_set_mode(data->mode, GNUTLS_FIPS140_SET_MODE_THREAD);
mode = gnutls_fips140_mode_enabled();
if (mode != data->mode)
- fail("%d: gnutls_fips140_mode_enabled: wrong mode returned after set (%d, exp: %d)\n", data->line, mode, data->mode);
+ fail("%d: gnutls_fips140_mode_enabled: wrong mode returned after set (%d, exp: %d)\n",
+ data->line, mode, data->mode);
- ret = gnutls_hmac_fast(GNUTLS_MAC_MD5, "keykeykey", 9, "abcdefgh",
- 8, digest);
+ ret = gnutls_hmac_fast(GNUTLS_MAC_MD5, "keykeykey", 9, "abcdefgh", 8,
+ digest);
if (mode == GNUTLS_FIPS140_STRICT && ret >= 0) {
fail("gnutls_hmac_fast(MD5): succeeded in strict mode!\n");
} else if (mode != GNUTLS_FIPS140_STRICT && ret < 0) {
@@ -101,7 +104,7 @@ static void *test_set_per_thread(void *arg)
pthread_exit(0);
}
-# define MAX_THREADS 48
+#define MAX_THREADS 48
void doit(void)
{
@@ -137,9 +140,8 @@ void doit(void)
else
data[i].set_mode = GNUTLS_FIPS140_STRICT;
- ret =
- pthread_create(&data[i].id, NULL, test_set_per_thread,
- &data[i]);
+ ret = pthread_create(&data[i].id, NULL, test_set_per_thread,
+ &data[i]);
if (ret != 0) {
abort();
}
@@ -156,7 +158,8 @@ void doit(void)
/* main thread should be in the same state */
if (mode != gnutls_fips140_mode_enabled())
- fail("gnutls_fips140_mode_enabled: main thread changed mode (%d, exp: %d)\n", gnutls_fips140_mode_enabled(), mode);
+ fail("gnutls_fips140_mode_enabled: main thread changed mode (%d, exp: %d)\n",
+ gnutls_fips140_mode_enabled(), mode);
success("checking whether global changes are seen in threads\n");
/* Test if changes globally are visible in threads */
@@ -167,9 +170,8 @@ void doit(void)
data[i].line = __LINE__;
data[i].mode = mode;
data[i].set_mode = GNUTLS_FIPS140_LAX;
- ret =
- pthread_create(&data[i].id, NULL, test_set_per_thread,
- &data[i]);
+ ret = pthread_create(&data[i].id, NULL, test_set_per_thread,
+ &data[i]);
if (ret != 0)
abort();
}
@@ -182,14 +184,14 @@ void doit(void)
}
if (mode != gnutls_fips140_mode_enabled())
- fail("gnutls_fips140_mode_enabled: main thread changed mode (%d, exp: %d)\n", gnutls_fips140_mode_enabled(), mode);
+ fail("gnutls_fips140_mode_enabled: main thread changed mode (%d, exp: %d)\n",
+ gnutls_fips140_mode_enabled(), mode);
gnutls_fips140_set_mode(GNUTLS_FIPS140_SELFTESTS, 0);
if (GNUTLS_FIPS140_SELFTESTS == gnutls_fips140_mode_enabled())
fail("gnutls_fips140_mode_enabled: setting to GNUTLS_FIPS140_SELFTESTS succeeded!\n");
free(data);
-
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/fips-rsa-sizes.c b/tests/fips-rsa-sizes.c
index 13089e3741..377761643a 100644
--- a/tests/fips-rsa-sizes.c
+++ b/tests/fips-rsa-sizes.c
@@ -26,16 +26,16 @@
#include <gnutls/abstract.h>
#include <gnutls/x509.h>
-void generate_successfully(gnutls_privkey_t * privkey, gnutls_pubkey_t * pubkey,
+void generate_successfully(gnutls_privkey_t *privkey, gnutls_pubkey_t *pubkey,
unsigned int size);
-void generate_unsuccessfully(gnutls_privkey_t * privkey,
- gnutls_pubkey_t * pubkey, unsigned int size);
+void generate_unsuccessfully(gnutls_privkey_t *privkey, gnutls_pubkey_t *pubkey,
+ unsigned int size);
void sign_verify_successfully(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey);
void sign_verify_unsuccessfully(gnutls_privkey_t privkey,
gnutls_pubkey_t pubkey);
void nosign_verify(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey);
-void generate_successfully(gnutls_privkey_t * privkey, gnutls_pubkey_t * pubkey,
+void generate_successfully(gnutls_privkey_t *privkey, gnutls_pubkey_t *pubkey,
unsigned int size)
{
int ret;
@@ -72,8 +72,8 @@ void generate_successfully(gnutls_privkey_t * privkey, gnutls_pubkey_t * pubkey,
gnutls_fips140_context_deinit(fips_context);
}
-void generate_unsuccessfully(gnutls_privkey_t * privkey,
- gnutls_pubkey_t * pubkey, unsigned int size)
+void generate_unsuccessfully(gnutls_privkey_t *privkey, gnutls_pubkey_t *pubkey,
+ unsigned int size)
{
int ret;
gnutls_x509_privkey_t xprivkey;
@@ -134,8 +134,7 @@ void sign_verify_successfully(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
gnutls_datum_t signature;
gnutls_datum_t plaintext = {
- .data = (unsigned char *const)"Hello world!",
- .size = 12
+ .data = (unsigned char *const)"Hello world!", .size = 12
};
assert(gnutls_fips140_context_init(&fips_context) == 0);
@@ -167,8 +166,7 @@ void sign_verify_unsuccessfully(gnutls_privkey_t privkey,
gnutls_datum_t signature;
gnutls_datum_t plaintext = {
- .data = (unsigned char *const)"Hello world!",
- .size = 12
+ .data = (unsigned char *const)"Hello world!", .size = 12
};
assert(gnutls_fips140_context_init(&fips_context) == 0);
@@ -201,8 +199,7 @@ void nosign_verify(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
gnutls_datum_t signature;
gnutls_datum_t plaintext = {
- .data = (unsigned char *const)"Hello world!",
- .size = 12
+ .data = (unsigned char *const)"Hello world!", .size = 12
};
assert(gnutls_fips140_context_init(&fips_context) == 0);
@@ -248,7 +245,7 @@ void doit(void)
if (gnutls_fips140_mode_enabled() == 0) {
success("We are not in FIPS140 mode\n");
- exit(77); /* SKIP */
+ exit(77); /* SKIP */
}
assert(gnutls_fips140_context_init(&fips_context) == 0);
diff --git a/tests/fips-test.c b/tests/fips-test.c
index 86d1aa8811..97a729d292 100644
--- a/tests/fips-test.c
+++ b/tests/fips-test.c
@@ -26,7 +26,7 @@ static uint8_t key_data[64];
static uint8_t iv_data[16];
static gnutls_fips140_context_t fips_context;
-static const gnutls_datum_t data = {.data = (unsigned char *)"foo", 3 };
+static const gnutls_datum_t data = { .data = (unsigned char *)"foo", 3 };
static const uint8_t rsa2342_sha1_sig_data[] = {
0x9b, 0x3e, 0x15, 0x36, 0xec, 0x9d, 0x51, 0xd7, 0xa2, 0xb1, 0x3a, 0x15,
@@ -76,9 +76,8 @@ static const gnutls_datum_t ecc256_sha1_sig = {
.size = sizeof(ecc256_sha1_sig_data),
};
-static void
-import_keypair(gnutls_privkey_t * privkey, gnutls_pubkey_t * pubkey,
- const char *filename)
+static void import_keypair(gnutls_privkey_t *privkey, gnutls_pubkey_t *pubkey,
+ const char *filename)
{
const char *srcdir;
char path[256];
@@ -125,7 +124,6 @@ import_keypair(gnutls_privkey_t * privkey, gnutls_pubkey_t * pubkey,
if (ret < 0) {
fail("gnutls_pubkey_import_privkey failed\n");
}
-
}
static void test_aead_cipher_approved(gnutls_cipher_algorithm_t cipher)
@@ -211,10 +209,9 @@ static void test_cipher_disallowed(gnutls_cipher_algorithm_t cipher)
FIPS_POP_CONTEXT(ERROR);
}
-static void
-test_ccm_cipher(gnutls_cipher_algorithm_t cipher, size_t tag_length,
- bool expect_encryption_fail,
- gnutls_fips140_operation_state_t expected_state)
+static void test_ccm_cipher(gnutls_cipher_algorithm_t cipher, size_t tag_length,
+ bool expect_encryption_fail,
+ gnutls_fips140_operation_state_t expected_state)
{
int ret;
unsigned key_size = gnutls_cipher_get_key_size(cipher);
@@ -237,15 +234,14 @@ test_ccm_cipher(gnutls_cipher_algorithm_t cipher, size_t tag_length,
length = sizeof(buffer);
ret = gnutls_aead_cipher_encrypt(h, iv_data,
gnutls_cipher_get_iv_size(cipher),
- NULL, 0, tag_length,
- buffer, length - tag_length,
- buffer, &length);
+ NULL, 0, tag_length, buffer,
+ length - tag_length, buffer, &length);
if (expect_encryption_fail) {
if (ret != GNUTLS_E_INVALID_REQUEST) {
fail("gnutls_aead_cipher_encrypt(%s) returned %d "
"while %d is expected\n",
- gnutls_cipher_get_name(cipher),
- ret, GNUTLS_E_INVALID_REQUEST);
+ gnutls_cipher_get_name(cipher), ret,
+ GNUTLS_E_INVALID_REQUEST);
}
} else if (ret < 0) {
fail("gnutls_aead_cipher_encrypt failed for %s\n",
@@ -257,14 +253,14 @@ test_ccm_cipher(gnutls_cipher_algorithm_t cipher, size_t tag_length,
length = sizeof(buffer);
ret = gnutls_aead_cipher_decrypt(h, iv_data,
gnutls_cipher_get_iv_size(cipher),
- NULL, 0, tag_length,
- buffer, length, buffer, &length);
+ NULL, 0, tag_length, buffer, length,
+ buffer, &length);
if (expect_encryption_fail) {
if (ret != GNUTLS_E_INVALID_REQUEST) {
fail("gnutls_aead_cipher_decrypt(%s) returned %d "
"while %d is expected\n",
- gnutls_cipher_get_name(cipher),
- ret, GNUTLS_E_INVALID_REQUEST);
+ gnutls_cipher_get_name(cipher), ret,
+ GNUTLS_E_INVALID_REQUEST);
}
} else if (ret < 0) {
fail("gnutls_aead_cipher_decrypt failed for %s\n",
@@ -285,19 +281,19 @@ static inline void test_ciphers(void)
/* Check for all allowed Tlen */
for (i = 4; i <= 16; i += 2) {
- test_ccm_cipher(GNUTLS_CIPHER_AES_128_CCM, i,
- false, GNUTLS_FIPS140_OP_APPROVED);
- test_ccm_cipher(GNUTLS_CIPHER_AES_256_CCM, i,
- false, GNUTLS_FIPS140_OP_APPROVED);
- }
- test_ccm_cipher(GNUTLS_CIPHER_AES_128_CCM, 3,
- true, GNUTLS_FIPS140_OP_ERROR);
- test_ccm_cipher(GNUTLS_CIPHER_AES_256_CCM, 3,
- true, GNUTLS_FIPS140_OP_ERROR);
- test_ccm_cipher(GNUTLS_CIPHER_AES_128_CCM, 5,
- true, GNUTLS_FIPS140_OP_ERROR);
- test_ccm_cipher(GNUTLS_CIPHER_AES_256_CCM, 5,
- true, GNUTLS_FIPS140_OP_ERROR);
+ test_ccm_cipher(GNUTLS_CIPHER_AES_128_CCM, i, false,
+ GNUTLS_FIPS140_OP_APPROVED);
+ test_ccm_cipher(GNUTLS_CIPHER_AES_256_CCM, i, false,
+ GNUTLS_FIPS140_OP_APPROVED);
+ }
+ test_ccm_cipher(GNUTLS_CIPHER_AES_128_CCM, 3, true,
+ GNUTLS_FIPS140_OP_ERROR);
+ test_ccm_cipher(GNUTLS_CIPHER_AES_256_CCM, 3, true,
+ GNUTLS_FIPS140_OP_ERROR);
+ test_ccm_cipher(GNUTLS_CIPHER_AES_128_CCM, 5, true,
+ GNUTLS_FIPS140_OP_ERROR);
+ test_ccm_cipher(GNUTLS_CIPHER_AES_256_CCM, 5, true,
+ GNUTLS_FIPS140_OP_ERROR);
test_aead_cipher_approved(GNUTLS_CIPHER_AES_128_CCM_8);
test_aead_cipher_approved(GNUTLS_CIPHER_AES_256_CCM_8);
@@ -432,8 +428,8 @@ void doit(void)
/* HMAC with key equal to or longer than 112 bits: approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_hmac_fast(GNUTLS_MAC_SHA256, key.data, key.size,
- data.data, data.size, hmac);
+ ret = gnutls_hmac_fast(GNUTLS_MAC_SHA256, key.data, key.size, data.data,
+ data.size, hmac);
if (ret < 0) {
fail("gnutls_hmac_fast failed\n");
}
@@ -441,8 +437,8 @@ void doit(void)
/* HMAC with key shorter than 112 bits: not approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_hmac_fast(GNUTLS_MAC_SHA256, key.data, 13,
- data.data, data.size, hmac);
+ ret = gnutls_hmac_fast(GNUTLS_MAC_SHA256, key.data, 13, data.data,
+ data.size, hmac);
if (ret < 0) {
fail("gnutls_hmac_fast failed\n");
}
@@ -450,8 +446,8 @@ void doit(void)
/* PBKDF2 with key equal to or longer than 112 bits: approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 1000,
- &pbkdf2, sizeof(pbkdf2));
+ ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 1000, &pbkdf2,
+ sizeof(pbkdf2));
if (ret < 0) {
fail("gnutls_pbkdf2 failed\n");
}
@@ -460,8 +456,8 @@ void doit(void)
/* PBKDF2 with key shorter than 112 bits: not approved */
FIPS_PUSH_CONTEXT();
key.size = 13;
- ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 1000,
- &pbkdf2, sizeof(pbkdf2));
+ ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 1000, &pbkdf2,
+ sizeof(pbkdf2));
if (ret < 0) {
fail("gnutls_pbkdf2 failed\n");
}
@@ -470,8 +466,8 @@ void doit(void)
/* PBKDF2 with iteration count lower than 1000: not approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 999,
- &pbkdf2, sizeof(pbkdf2));
+ ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 999, &pbkdf2,
+ sizeof(pbkdf2));
if (ret < 0) {
fail("gnutls_pbkdf2 failed\n");
}
@@ -480,8 +476,8 @@ void doit(void)
/* PBKDF2 with salt shorter than 16 bytes: not approved */
FIPS_PUSH_CONTEXT();
iv.size = 13;
- ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 1000,
- &pbkdf2, sizeof(pbkdf2));
+ ret = gnutls_pbkdf2(GNUTLS_MAC_SHA256, &key, &iv, 1000, &pbkdf2,
+ sizeof(pbkdf2));
if (ret < 0) {
fail("gnutls_pbkdf2 failed\n");
}
@@ -543,11 +539,12 @@ void doit(void)
if (ret < 0) {
fail("gnutls_privkey_init failed\n");
}
- bits =
- gnutls_sec_param_to_pk_bits(GNUTLS_PK_RSA, GNUTLS_SEC_PARAM_MEDIUM);
+ bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_RSA,
+ GNUTLS_SEC_PARAM_MEDIUM);
ret = gnutls_x509_privkey_generate(xprivkey, GNUTLS_PK_RSA, bits, 0);
if (ret < 0) {
- fail("gnutls_x509_privkey_generate failed (%d) for %u-bit key\n", ret, bits);
+ fail("gnutls_x509_privkey_generate failed (%d) for %u-bit key\n",
+ ret, bits);
}
gnutls_x509_privkey_deinit(xprivkey);
FIPS_POP_CONTEXT(APPROVED);
@@ -560,7 +557,8 @@ void doit(void)
}
ret = gnutls_x509_privkey_generate(xprivkey, GNUTLS_PK_RSA, 512, 0);
if (ret != GNUTLS_E_PK_GENERATION_ERROR) {
- fail("gnutls_x509_privkey_generate succeeded (%d) for 512-bit key\n", ret);
+ fail("gnutls_x509_privkey_generate succeeded (%d) for 512-bit key\n",
+ ret);
}
gnutls_x509_privkey_deinit(xprivkey);
FIPS_POP_CONTEXT(ERROR);
@@ -572,8 +570,8 @@ void doit(void)
/* Create a signature with 2432-bit RSA and SHA256; approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA256, 0,
- &data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA256, 0, &data,
+ &signature);
if (ret < 0) {
fail("gnutls_privkey_sign_data failed\n");
}
@@ -591,8 +589,8 @@ void doit(void)
/* Create a signature with 2432-bit RSA and SHA-1; not approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0,
- &data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0, &data,
+ &signature);
if (ret < 0) {
fail("gnutls_privkey_sign_data failed\n");
}
@@ -618,8 +616,8 @@ void doit(void)
/* Create a signature with 512-bit RSA and SHA256; not approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA256, 0,
- &data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA256, 0, &data,
+ &signature);
if (ret < 0) {
fail("gnutls_privkey_sign_data failed\n");
}
@@ -663,8 +661,8 @@ void doit(void)
/* Create a signature with ECDSA and SHA256 (old API); approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA256, 0,
- &data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA256, 0, &data,
+ &signature);
if (ret < 0) {
fail("gnutls_privkey_sign_data failed\n");
}
@@ -723,8 +721,8 @@ void doit(void)
/* Create a signature with ECDSA and SHA-1 (old API); not approved */
FIPS_PUSH_CONTEXT();
- ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0,
- &data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, GNUTLS_DIG_SHA1, 0, &data,
+ &signature);
if (ret < 0) {
fail("gnutls_privkey_sign_data failed\n");
}
diff --git a/tests/global-init-override.c b/tests/global-init-override.c
index ae2f50a323..730da4e380 100644
--- a/tests/global-init-override.c
+++ b/tests/global-init-override.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -49,8 +49,8 @@ struct gnutls_subject_alt_names_st {
/* gnutls_subject_alt_names_init() is called by gnutls_x509_crt_init().
* We override it here to test if weak symbols work at all.
*/
-__attribute__((visibility("protected")))
-int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t * sans)
+__attribute__((visibility("protected"))) int
+gnutls_subject_alt_names_init(gnutls_subject_alt_names_t *sans)
{
weak_symbol_works = 1;
@@ -64,7 +64,6 @@ int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t * sans)
GNUTLS_SKIP_GLOBAL_INIT void doit(void)
{
-
int ret;
gnutls_x509_crt_t crt;
diff --git a/tests/global-init.c b/tests/global-init.c
index c4cae39236..02f5fec178 100644
--- a/tests/global-init.c
+++ b/tests/global-init.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/gnutls-ids.c b/tests/gnutls-ids.c
index 5559ef0bac..e521053971 100644
--- a/tests/gnutls-ids.c
+++ b/tests/gnutls-ids.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
diff --git a/tests/gnutls-strcodes.c b/tests/gnutls-strcodes.c
index 0f1f5efe02..d0fd58038d 100644
--- a/tests/gnutls-strcodes.c
+++ b/tests/gnutls-strcodes.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -37,15 +37,13 @@ unsigned _gnutls_ecc_curve_is_supported(gnutls_ecc_curve_t);
* non null value.
*/
-static
-void _check_non_null(int line, int i, const char *val)
+static void _check_non_null(int line, int i, const char *val)
{
if (val == NULL)
fail("issue in line %d, item %d\n", line, i);
}
-static
-void _check_unique_non_null(int line, int i, const char *val)
+static void _check_unique_non_null(int line, int i, const char *val)
{
static char previous_val[128];
@@ -59,8 +57,7 @@ void _check_unique_non_null(int line, int i, const char *val)
snprintf(previous_val, sizeof(previous_val), "%s", val);
}
-static
-void _check_unique(int line, int i, const char *val)
+static void _check_unique(int line, int i, const char *val)
{
static char previous_val[128];
@@ -115,18 +112,18 @@ void doit(void)
check_non_null(gnutls_sec_param_get_name(i));
}
- check_non_null(gnutls_certificate_verification_profile_get_name
- (GNUTLS_PROFILE_VERY_WEAK));
- check_non_null(gnutls_certificate_verification_profile_get_name
- (GNUTLS_PROFILE_LOW));
- check_non_null(gnutls_certificate_verification_profile_get_name
- (GNUTLS_PROFILE_LEGACY));
- check_non_null(gnutls_certificate_verification_profile_get_name
- (GNUTLS_PROFILE_MEDIUM));
- check_non_null(gnutls_certificate_verification_profile_get_name
- (GNUTLS_PROFILE_HIGH));
- check_non_null(gnutls_certificate_verification_profile_get_name
- (GNUTLS_PROFILE_ULTRA));
+ check_non_null(gnutls_certificate_verification_profile_get_name(
+ GNUTLS_PROFILE_VERY_WEAK));
+ check_non_null(gnutls_certificate_verification_profile_get_name(
+ GNUTLS_PROFILE_LOW));
+ check_non_null(gnutls_certificate_verification_profile_get_name(
+ GNUTLS_PROFILE_LEGACY));
+ check_non_null(gnutls_certificate_verification_profile_get_name(
+ GNUTLS_PROFILE_MEDIUM));
+ check_non_null(gnutls_certificate_verification_profile_get_name(
+ GNUTLS_PROFILE_HIGH));
+ check_non_null(gnutls_certificate_verification_profile_get_name(
+ GNUTLS_PROFILE_ULTRA));
for (i = GNUTLS_ECC_CURVE_INVALID + 1; i <= GNUTLS_ECC_CURVE_MAX; i++) {
if (_gnutls_ecc_curve_is_supported(i) == 0)
@@ -134,9 +131,9 @@ void doit(void)
check_unique_non_null(gnutls_ecc_curve_get_name(i));
if (i == GNUTLS_ECC_CURVE_X25519)
- continue; /* no oid yet */
+ continue; /* no oid yet */
if (i == GNUTLS_ECC_CURVE_X448)
- continue; /* no oid yet */
+ continue; /* no oid yet */
check_unique_non_null(gnutls_ecc_curve_get_oid(i));
}
diff --git a/tests/gnutls_ext_raw_parse.c b/tests/gnutls_ext_raw_parse.c
index 6c44315123..8bd6e4337f 100644
--- a/tests/gnutls_ext_raw_parse.c
+++ b/tests/gnutls_ext_raw_parse.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,27 +35,27 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <time.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <time.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
/* This program tests gnutls_ext_raw_parse with GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO
* flag.
*/
-# define HOSTNAME "example.com"
+#define HOSTNAME "example.com"
static void server_log_func(int level, const char *str)
{
@@ -74,7 +74,7 @@ static unsigned bare_version = 0;
static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
unsigned size)
{
- if (tls_id == 0) { /* server name */
+ if (tls_id == 0) { /* server name */
/* very interesting extension, 4 bytes of sizes
* and 1 byte of type. */
unsigned esize = (data[0] << 8) | data[1];
@@ -106,15 +106,15 @@ static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO && post) {
if (bare_version) {
- ret =
- gnutls_ext_raw_parse(NULL, ext_callback, msg,
- GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO);
+ ret = gnutls_ext_raw_parse(
+ NULL, ext_callback, msg,
+ GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO);
} else {
unsigned pos;
gnutls_datum_t mmsg;
@@ -126,8 +126,8 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
mmsg.data = &msg->data[pos];
mmsg.size = msg->size - pos;
- ret =
- gnutls_ext_raw_parse(NULL, ext_callback, &mmsg, 0);
+ ret = gnutls_ext_raw_parse(NULL, ext_callback, &mmsg,
+ 0);
}
assert(ret >= 0);
}
@@ -161,15 +161,14 @@ static void client(int fd)
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
gnutls_transport_set_int(session, fd);
- assert(gnutls_server_name_set
- (session, GNUTLS_NAME_DNS, HOSTNAME, strlen(HOSTNAME)) >= 0);
+ assert(gnutls_server_name_set(session, GNUTLS_NAME_DNS, HOSTNAME,
+ strlen(HOSTNAME)) >= 0);
/* Perform the TLS handshake
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -185,12 +184,12 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -251,15 +250,15 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
assert(found_server_name != 0);
assert(found_status_req != 0);
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -321,4 +320,4 @@ void doit(void)
start(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/gnutls_ext_raw_parse_dtls.c b/tests/gnutls_ext_raw_parse_dtls.c
index 2b0abc876d..144baeb4a5 100644
--- a/tests/gnutls_ext_raw_parse_dtls.c
+++ b/tests/gnutls_ext_raw_parse_dtls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,27 +35,27 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <time.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <time.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
/* This program tests gnutls_ext_raw_parse with GNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO
* flag.
*/
-# define HOSTNAME "example.com"
+#define HOSTNAME "example.com"
static void server_log_func(int level, const char *str)
{
@@ -73,7 +73,7 @@ static unsigned found_status_req = 0;
static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
unsigned size)
{
- if (tls_id == 0) { /* server name */
+ if (tls_id == 0) { /* server name */
/* very interesting extension, 4 bytes of sizes
* and 1 byte of type. */
unsigned esize = (data[0] << 8) | data[1];
@@ -105,14 +105,14 @@ static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO && post) {
- ret =
- gnutls_ext_raw_parse(NULL, ext_callback, msg,
- GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO);
+ ret = gnutls_ext_raw_parse(
+ NULL, ext_callback, msg,
+ GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO);
assert(ret >= 0);
}
@@ -139,21 +139,20 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM);
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-DTLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-DTLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
gnutls_transport_set_int(session, fd);
- assert(gnutls_server_name_set
- (session, GNUTLS_NAME_DNS, HOSTNAME, strlen(HOSTNAME)) >= 0);
+ assert(gnutls_server_name_set(session, GNUTLS_NAME_DNS, HOSTNAME,
+ strlen(HOSTNAME)) >= 0);
/* Perform the TLS handshake
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -169,12 +168,12 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -212,8 +211,8 @@ static void server(int fd)
GNUTLS_HOOK_POST,
handshake_callback);
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-DTLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-DTLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -232,15 +231,15 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
assert(found_server_name != 0);
assert(found_status_req != 0);
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -294,4 +293,4 @@ void doit(void)
return;
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/gnutls_hmac_fast.c b/tests/gnutls_hmac_fast.c
index 2a0b75cf17..89bff56a19 100644
--- a/tests/gnutls_hmac_fast.c
+++ b/tests/gnutls_hmac_fast.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,13 +42,13 @@ void doit(void)
if (debug)
gnutls_global_set_log_level(4711);
- err =
- gnutls_hmac_fast(GNUTLS_MAC_SHA1, "keykeykey", 9, "abcdefgh",
- 8, digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_SHA1, "keykeykey", 9, "abcdefgh", 8,
+ digest);
if (err < 0)
fail("gnutls_hmac_fast(SHA1) failed: %d\n", err);
else {
- if (memcmp(digest, "\x58\x93\x7a\x58\xfe\xea\x82\xf8"
+ if (memcmp(digest,
+ "\x58\x93\x7a\x58\xfe\xea\x82\xf8"
"\x0e\x64\x62\x01\x40\x2b\x2c\xed\x5d\x54\xc1\xfa",
20) == 0) {
if (debug)
@@ -64,14 +64,15 @@ void doit(void)
gnutls_fips140_set_mode(GNUTLS_FIPS140_LOG, 0);
}
- err =
- gnutls_hmac_fast(GNUTLS_MAC_MD5, "keykeykey", 9, "abcdefgh", 8,
- digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_MD5, "keykeykey", 9, "abcdefgh", 8,
+ digest);
if (err < 0)
fail("gnutls_hmac_fast(MD5) failed: %d\n", err);
else {
- if (memcmp(digest, "\x3c\xb0\x9d\x83\x28\x01\xef\xc0"
- "\x7b\xb3\xaf\x42\x69\xe5\x93\x9a", 16) == 0) {
+ if (memcmp(digest,
+ "\x3c\xb0\x9d\x83\x28\x01\xef\xc0"
+ "\x7b\xb3\xaf\x42\x69\xe5\x93\x9a",
+ 16) == 0) {
if (debug)
success("gnutls_hmac_fast(MD5) OK\n");
} else {
@@ -80,9 +81,8 @@ void doit(void)
}
}
- err =
- gnutls_hmac_fast(GNUTLS_MAC_AES_GMAC_128, "keykeykeykeykeyk", 16,
- "abcdefghabc", 8, digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_AES_GMAC_128, "keykeykeykeykeyk", 16,
+ "abcdefghabc", 8, digest);
if (err >= 0)
fail("gnutls_hmac_fast(GMAC-128) succeeded unexpectedly: %d\n",
err);
@@ -91,10 +91,9 @@ void doit(void)
else if (debug)
success("gnutls_hmac_fast(GMAC-128) OK\n");
- err =
- gnutls_hmac_fast(GNUTLS_MAC_AES_GMAC_192,
- "keykeykeykeykeykeykeykey", 24, "abcdefghabc", 8,
- digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_AES_GMAC_192,
+ "keykeykeykeykeykeykeykey", 24, "abcdefghabc", 8,
+ digest);
if (err >= 0)
fail("gnutls_hmac_fast(GMAC-192) succeeded unexpectedly: %d\n",
err);
@@ -103,10 +102,9 @@ void doit(void)
else if (debug)
success("gnutls_hmac_fast(GMAC-192) OK\n");
- err =
- gnutls_hmac_fast(GNUTLS_MAC_AES_GMAC_256,
- "keykeykeykeykeykeykeykeykeykeyke", 32,
- "abcdefghabc", 8, digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_AES_GMAC_256,
+ "keykeykeykeykeykeykeykeykeykeyke", 32,
+ "abcdefghabc", 8, digest);
if (err >= 0)
fail("gnutls_hmac_fast(GMAC-256) succeeded unexpectedly: %d\n",
err);
@@ -115,9 +113,8 @@ void doit(void)
else if (debug)
success("gnutls_hmac_fast(GMAC-256) OK\n");
- err =
- gnutls_hmac_fast(GNUTLS_MAC_UMAC_96, "keykeykeykeykeyk", 16,
- "abcdefghabc", 8, digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_UMAC_96, "keykeykeykeykeyk", 16,
+ "abcdefghabc", 8, digest);
if (err >= 0)
fail("gnutls_hmac_fast(UMAC-96) succeeded unexpectedly: %d\n",
err);
@@ -126,9 +123,8 @@ void doit(void)
else if (debug)
success("gnutls_hmac_fast(UMAC-96) OK\n");
- err =
- gnutls_hmac_fast(GNUTLS_MAC_UMAC_128, "keykeykeykeykeyk", 16,
- "abcdefghabc", 8, digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_UMAC_128, "keykeykeykeykeyk", 16,
+ "abcdefghabc", 8, digest);
if (err >= 0)
fail("gnutls_hmac_fast(UMAC-128) succeeded unexpectedly: %d\n",
err);
diff --git a/tests/gnutls_ktls.c b/tests/gnutls_ktls.c
index 13d6dace5c..0103a51a2b 100644
--- a/tests/gnutls_ktls.c
+++ b/tests/gnutls_ktls.c
@@ -1,5 +1,5 @@
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -14,23 +14,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <gnutls/dtls.h>
-# include <gnutls/socket.h>
-# include <signal.h>
-# include <assert.h>
-# include <errno.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <gnutls/dtls.h>
+#include <gnutls/socket.h>
+#include <signal.h>
+#include <assert.h>
+#include <errno.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void server_log_func(int level, const char *str)
{
@@ -42,8 +42,8 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello world!"
+#define MAX_BUF 1024
+#define MSG "Hello world!"
static void client(int fd, const char *prio)
{
@@ -72,8 +72,7 @@ static void client(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -92,8 +91,7 @@ static void client(int fd, const char *prio)
memset(buffer, 0, sizeof(buffer));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer));
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret == 0) {
success("client: Peer has closed the TLS connection\n");
@@ -115,8 +113,7 @@ static void client(int fd, const char *prio)
memset(buffer, 0, sizeof(buffer));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer));
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret == 0) {
success("client: Peer has closed the TLS connection\n");
@@ -141,7 +138,7 @@ static void client(int fd, const char *prio)
}
ret = 0;
- end:
+end:
close(fd);
@@ -177,9 +174,8 @@ static void server(int fd, const char *prio)
}
gnutls_certificate_allocate_credentials(&x509_cred);
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -194,8 +190,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: Handshake has failed (%s)\n\n",
@@ -242,8 +237,8 @@ static void server(int fd, const char *prio)
}
do {
- ret =
- gnutls_record_send_file(session, fileno(fp), &offset, 512);
+ ret = gnutls_record_send_file(session, fileno(fp), &offset,
+ 512);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -258,7 +253,7 @@ static void server(int fd, const char *prio)
gnutls_strerror(ret));
ret = 0;
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -360,4 +355,4 @@ void doit(void)
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+CHACHA20-POLY1305");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/gnutls_ocsp_resp_list_import2.c b/tests/gnutls_ocsp_resp_list_import2.c
index 787496e7bc..258002db4b 100644
--- a/tests/gnutls_ocsp_resp_list_import2.c
+++ b/tests/gnutls_ocsp_resp_list_import2.c
@@ -22,7 +22,7 @@
/* This tests key import for gnutls_ocsp_resp_t APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,12 +35,11 @@
#include "ocsp-common.h"
#include "utils.h"
-#define testfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
-static void load_list(const char *name, const gnutls_datum_t * txt,
- unsigned int nocsps,
- int format, unsigned flags, int exp_err)
+static void load_list(const char *name, const gnutls_datum_t *txt,
+ unsigned int nocsps, int format, unsigned flags,
+ int exp_err)
{
gnutls_ocsp_resp_t *ocsps;
unsigned int i, size;
@@ -75,172 +74,168 @@ typedef struct test_st {
} test_st;
static const char long_chain_pem[] =
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIICOgoBAKCCAjMwggIvBgkrBgEFBQcwAQEEggIgMIICHDCBhaEUMBIxEDAOBgNV\n"
- "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIyMDQ5WjBcMFowRTAJBgUrDgMCGgUABBSy\n"
- "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI3\n"
- "ZFj6e1Jv14IAGA8yMDE3MTAxODEyMjA0OVowDQYJKoZIhvcNAQELBQADggGBAJg8\n"
- "/9F2k7DdQsqMfU+f53gUHZAlZzRRPPYQfrmMGfSaMmr9W3fpCrLNMV4PWxGndTh7\n"
- "AforaCwUb6+QyWlnE3B4UUQLphaEawnDJ/8GJZAnCIcjyxpWYZ4onEIZ6pN8BRQE\n"
- "f8ccQN01xlB5RtdqsVmvxtoM0husO0YJDnsCwwFVXulPEFgWuFSoVLsx65lkc+4/\n"
- "RM67+QrbNpBRgKrhb8MAE2WANjpjSAVSf5GWsH9T/F2HDG5crApFIoNywK9e21zk\n"
- "qYAWQ6tVcps3QbvvIEXVy/jOqVASeaxuwHmkdBz4SNT83LvaNnJGBTKXTGukPKAO\n"
- "t6xJpFLwrNWNhgfbw2fklWJSMzMtAEkjzBJi+4kn1SfLdcTLYBf9Tnoq1wsJhAMg\n"
- "OFNzcWb8ZJxuGh7FXgytneM38sL8oTEmLKHfBRnWGOglfCMj3olvXpjotrIlKDAS\n"
- "GbGElY+PZXUtkKiN2cNAecjIodzQFgL+YL6jWKLEuuWGT/MvRrliL83kGmKDdg==\n"
- "-----END OCSP RESPONSE-----\n"
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIICNwoBAKCCAjAwggIsBgkrBgEFBQcwAQEEggIdMIICGTCBgqERMA8xDTALBgNV\n"
- "BAMTBENBLTMYDzIwMTcxMDE4MTIzODUyWjBcMFowRTAJBgUrDgMCGgUABBS3yg+r\n"
- "3G+4sJZ6FayYCg8Z/qQS3gQUHoXtf55x+gidN0hDoBLv5arh44oCDFejHTI1s0/Q\n"
- "ufXnPIIAGA8yMDE3MTAxODEyMzg1MlowDQYJKoZIhvcNAQELBQADggGBALMParB9\n"
- "K97DlT4FmMdPScoT7oAAsar4XxKLU9+oraht7H+WTAYSpnCxh/ugR17G0jtzTzIw\n"
- "nLQFAyR9MDYKp4Om4YqQ7r+43DiIqKVU25WcrVifUbtkR+LbjH+Bk1UHvFE8mCOX\n"
- "ZB+cmQyjGap1RX0dnj2Wm48vUwqp71nA8AYcXL575xZ4rb9DDhaoV2h3S0Zlu4IN\n"
- "btuDIVsxJ53kqkGjjVB4/R0RtqCXOI2ThMK3SfDWqwzF9tYA763VVXi+g+w3oyv4\n"
- "ZtP8QUWOVUY4azpElX1wqoO8znUjxs1AzROLUeLPK8GMLVIZLP361J2kLgcj0Gdq\n"
- "GIVH5N54p6bl5OgSUP3EdKbFRZyCVZ2n8Der3Cf9PtfvGV7Ze4Cv/CCN6rJkk54P\n"
- "6auP6pEJg0ESGC5fop5HFCyVM+W/ot0A1cxN0+cHYlqB1NQholLqe3psDjJ2EoIK\n"
- "LtN5dRLO6z5L74CwwiJ1SeLh8XyJtr/ee9RnFB56XCzO7lyhbHPx/VT6Qw==\n"
- "-----END OCSP RESPONSE-----\n"
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIIGUwoBAKCCBkwwggZIBgkrBgEFBQcwAQEEggY5MIIGNTCBhaEUMBIxEDAOBgNV\n"
- "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIwOTMwWjBcMFowRTAJBgUrDgMCGgUABBSy\n"
- "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2\n"
- "yAyhyrC99oIAGA8yMDE3MTAxODEyMDkzMFowDQYJKoZIhvcNAQENBQADggGBAFZk\n"
- "KxCq5yZ/8X+Glw4YtHWSZRIrRp8+lpjkqxDRDuoI4qUBdaRbdqxJK57xSvJ5Ok4V\n"
- "gf9N02WOrkq7MzWLD7ZdMu/14SW/vVIdmfI04Ps4NGya71OykMb7daCMvGuO2N4z\n"
- "5G/yrfKiT8JYR+JobTo6swqCPaSFAFg+ADWdax//n66wmuLHDpqzfFLp2lBXNXJx\n"
- "gafAQCjqK84JRx2xgEFZ9l3TPOoR2BO5DzJqKXK+wcMbtUxNDaHV8MTsxVqTQXoB\n"
- "JLN6cYKjxghCkQ5r54YLr77fB1qMNfhffy9gBN0q8g3AHG+gMICkNYPTw8w1Rjbr\n"
- "6bE8CI/MXcrZrz7UWLuQXe8BnNk+Vn7PE6oRxCLSoJ8b6fB4cDvMIX1rRpc/Owxb\n"
- "j6gockpBTebdLr3xpB6iopRurTPCVtMpz3VeNVnrB3gjCyBO62ErRncKn6RXqEVF\n"
- "bo+01Zz8hHjDgtm2p9V24CMJK5p8fLVthJ0fRwyc1oYr3fT6l+dy50JSdOhNAaCC\n"
- "BBUwggQRMIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUA\n"
- "MA8xDTALBgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5\n"
- "NTlaMBIxEDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw\n"
- "ggGKAoIBgQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2\n"
- "WLiope/xNL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioV\n"
- "tvPQwEpvuI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR\n"
- "5+wGsJDvkfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJr\n"
- "P+GtLiG0AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj\n"
- "0Sk3Rq93JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1\n"
- "ROsdk4WUed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH\n"
- "4vysDO9UZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B\n"
- "48xfmyIFjgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMD\n"
- "BwYAMB0GA1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5\n"
- "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58\n"
- "oDRy5a0oPvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68\n"
- "kogjKs31QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmT\n"
- "sQOdv/bzR+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT4\n"
- "5SGw7c7FcumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2\n"
- "gaygWNiD+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiu\n"
- "jgUV0TZHEyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c\n"
- "4FdrCByVhaeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1\n"
- "Y1MQ72SnfrzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END OCSP RESPONSE-----\n";
-
-static const char bad_long_chain_pem[] = /* second response is broken */
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIICOgoBAKCCAjMwggIvBgkrBgEFBQcwAQEEggIgMIICHDCBhaEUMBIxEDAOBgNV\n"
- "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIyMDQ5WjBcMFowRTAJBgUrDgMCGgUABBSy\n"
- "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI3\n"
- "ZFj6e1Jv14IAGA8yMDE3MTAxODEyMjA0OVowDQYJKoZIhvcNAQELBQADggGBAJg8\n"
- "/9F2k7DdQsqMfU+f53gUHZAlZzRRPPYQfrmMGfSaMmr9W3fpCrLNMV4PWxGndTh7\n"
- "AforaCwUb6+QyWlnE3B4UUQLphaEawnDJ/8GJZAnCIcjyxpWYZ4onEIZ6pN8BRQE\n"
- "f8ccQN01xlB5RtdqsVmvxtoM0husO0YJDnsCwwFVXulPEFgWuFSoVLsx65lkc+4/\n"
- "RM67+QrbNpBRgKrhb8MAE2WANjpjSAVSf5GWsH9T/F2HDG5crApFIoNywK9e21zk\n"
- "qYAWQ6tVcps3QbvvIEXVy/jOqVASeaxuwHmkdBz4SNT83LvaNnJGBTKXTGukPKAO\n"
- "t6xJpFLwrNWNhgfbw2fklWJSMzMtAEkjzBJi+4kn1SfLdcTLYBf9Tnoq1wsJhAMg\n"
- "OFNzcWb8ZJxuGh7FXgytneM38sL8oTEmLKHfBRnWGOglfCMj3olvXpjotrIlKDAS\n"
- "GbGElY+PZXUtkKiN2cNAecjIodzQFgL+YL6jWKLEuuWGT/MvRrliL83kGmKDdg==\n"
- "-----END OCSP RESPONSE-----\n"
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIICNwoBAKCCAjAwggIsBgkrBgEFBQcwAQEEggIdMIICGTCBgqERMA8xDTALBgNV\n"
- "BAMTBENBLTMYDzIwMTcxMDE4MTIzODUyWjBcMFowRTAJBgUrDgMCGgUABBS3yg+r\n"
- "3G+4sJZ6FayYCg8Z/qQS3gQUHoXtf55x+gidN0hDoBLv5arh44oCDFejHTI1s0/Q\n"
- "ufXnPIIAGA8yMDE3MTAxODEyMzg1MlowDQYJKoZIhvcNAQELBQADggGBALMParB9\n"
- "K97DlT4FmMdPScoT7oAAsar4XxKLU9+oraht7H+WTAYSpnCxh/ugR1fG0jtzTzIw\n"
- "nLQFAyR9MDYKp4Om4YqQ7r+43DiIqKVU25WcrVifUbtkR+LbjH+Bk1UHvFE8mCOX\n"
- "ZB+cmQyjGap1RX0dnj2Wm48vwwqp71nA8AYcXL575xZ4rb9DDhaoV2h3S0Zlu4IN\n"
- "btuDIVsxJ53kqkGjjVB4/R0RtqCXOI2ThMK3SfDWqwzF9tYA763VVXi+g+w3oyv4\n"
- "ZtP8QUWOVUY4azpzlX1wqoO8znUjxs1AzROLUeLPK8GMLVIZLP361J2kLgcj0Gdq\n"
- "GIVH5N54p6bl5OgSUP3EdKbFRZyCVZ2n8Der3Cf9PtfvGV7Ze4Cv/CCN6rJkk54P\n"
- "6auP6pEJg0ESGC5fop5HFCyVM+W/ot0A1cxN0+cHYlqB1NQholLqe3psDjJ2EoIK\n"
- "LtN5dRLO6z5L74CwwiJ1SeLh8XyJtr/ee9RnFB56XCzO7lyhbHPx/VT6Qw==\n"
- "-----END OCSP RESPONSE-----\n"
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIIGUwoBAKCCBkwwggZIBgkrBgEFBQcwAQEEggY5MIIGNTCBhaEUMBIxEDAOBgNV\n"
- "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIwOTMwWjBcMFowRTAJBgUrDgMCGgUABBSy\n"
- "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2\n"
- "yAyhyrC99oIAGA8yMDE3MTAxODEyMDkzMFowDQYJKoZIhvcNAQENBQADggGBAFZk\n"
- "KxCq5yZ/8X+Glw4YtHWSZRIrRp8+lpjkqxDRDuoI4qUBdaRbdqxJK57xSvJ5Ok4V\n"
- "gf9N02WOrkq7MzWLD7ZdMu/14SW/vVIdmfI04Ps4NGya71OykMb7daCMvGuO2N4z\n"
- "5G/yrfKiT8JYR+JobTo6swqCPaSFAFg+ADWdax//n66wmuLHDpqzfFLp2lBXNXJx\n"
- "gafAQCjqK84JRx2xgEFZ9l3TPOoR2BO5DzJqKXK+wcMbtUxNDaHV8MTsxVqTQXoB\n"
- "JLN6cYKjxghCkQ5r54YLr77fB1qMNfhffy9gBN0q8g3AHG+gMICkNYPTw8w1Rjbr\n"
- "6bE8CI/MXcrZrz7UWLuQXe8BnNk+Vn7PE6oRxCLSoJ8b6fB4cDvMIX1rRpc/Owxb\n"
- "j6gockpBTebdLr3xpB6iopRurTPCVtMpz3VeNVnrB3gjCyBO62ErRncKn6RXqEVF\n"
- "bo+01Zz8hHjDgtm2p9V24CMJK5p8fLVthJ0fRwyc1oYr3fT6l+dy50JSdOhNAaCC\n"
- "BBUwggQRMIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUA\n"
- "MA8xDTALBgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5\n"
- "NTlaMBIxEDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw\n"
- "ggGKAoIBgQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2\n"
- "WLiope/xNL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioV\n"
- "tvPQwEpvuI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR\n"
- "5+wGsJDvkfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJr\n"
- "P+GtLiG0AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj\n"
- "0Sk3Rq93JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1\n"
- "ROsdk4WUed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH\n"
- "4vysDO9UZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B\n"
- "48xfmyIFjgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMD\n"
- "BwYAMB0GA1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5\n"
- "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58\n"
- "oDRy5a0oPvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68\n"
- "kogjKs31QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmT\n"
- "sQOdv/bzR+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT4\n"
- "5SGw7c7FcumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2\n"
- "gaygWNiD+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiu\n"
- "jgUV0TZHEyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c\n"
- "4FdrCByVhaeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1\n"
- "Y1MQ72SnfrzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END OCSP RESPONSE-----\n";
-
-static const gnutls_datum_t long_chain = {
- (void *)long_chain_pem, sizeof(long_chain_pem) - 1
-};
-
-static const gnutls_datum_t bad_long_chain = {
- (void *)bad_long_chain_pem, sizeof(bad_long_chain_pem) - 1
-};
-
-static const gnutls_datum_t no_chain = {
- (void *)" ", 1
-};
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIICOgoBAKCCAjMwggIvBgkrBgEFBQcwAQEEggIgMIICHDCBhaEUMBIxEDAOBgNV\n"
+ "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIyMDQ5WjBcMFowRTAJBgUrDgMCGgUABBSy\n"
+ "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI3\n"
+ "ZFj6e1Jv14IAGA8yMDE3MTAxODEyMjA0OVowDQYJKoZIhvcNAQELBQADggGBAJg8\n"
+ "/9F2k7DdQsqMfU+f53gUHZAlZzRRPPYQfrmMGfSaMmr9W3fpCrLNMV4PWxGndTh7\n"
+ "AforaCwUb6+QyWlnE3B4UUQLphaEawnDJ/8GJZAnCIcjyxpWYZ4onEIZ6pN8BRQE\n"
+ "f8ccQN01xlB5RtdqsVmvxtoM0husO0YJDnsCwwFVXulPEFgWuFSoVLsx65lkc+4/\n"
+ "RM67+QrbNpBRgKrhb8MAE2WANjpjSAVSf5GWsH9T/F2HDG5crApFIoNywK9e21zk\n"
+ "qYAWQ6tVcps3QbvvIEXVy/jOqVASeaxuwHmkdBz4SNT83LvaNnJGBTKXTGukPKAO\n"
+ "t6xJpFLwrNWNhgfbw2fklWJSMzMtAEkjzBJi+4kn1SfLdcTLYBf9Tnoq1wsJhAMg\n"
+ "OFNzcWb8ZJxuGh7FXgytneM38sL8oTEmLKHfBRnWGOglfCMj3olvXpjotrIlKDAS\n"
+ "GbGElY+PZXUtkKiN2cNAecjIodzQFgL+YL6jWKLEuuWGT/MvRrliL83kGmKDdg==\n"
+ "-----END OCSP RESPONSE-----\n"
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIICNwoBAKCCAjAwggIsBgkrBgEFBQcwAQEEggIdMIICGTCBgqERMA8xDTALBgNV\n"
+ "BAMTBENBLTMYDzIwMTcxMDE4MTIzODUyWjBcMFowRTAJBgUrDgMCGgUABBS3yg+r\n"
+ "3G+4sJZ6FayYCg8Z/qQS3gQUHoXtf55x+gidN0hDoBLv5arh44oCDFejHTI1s0/Q\n"
+ "ufXnPIIAGA8yMDE3MTAxODEyMzg1MlowDQYJKoZIhvcNAQELBQADggGBALMParB9\n"
+ "K97DlT4FmMdPScoT7oAAsar4XxKLU9+oraht7H+WTAYSpnCxh/ugR17G0jtzTzIw\n"
+ "nLQFAyR9MDYKp4Om4YqQ7r+43DiIqKVU25WcrVifUbtkR+LbjH+Bk1UHvFE8mCOX\n"
+ "ZB+cmQyjGap1RX0dnj2Wm48vUwqp71nA8AYcXL575xZ4rb9DDhaoV2h3S0Zlu4IN\n"
+ "btuDIVsxJ53kqkGjjVB4/R0RtqCXOI2ThMK3SfDWqwzF9tYA763VVXi+g+w3oyv4\n"
+ "ZtP8QUWOVUY4azpElX1wqoO8znUjxs1AzROLUeLPK8GMLVIZLP361J2kLgcj0Gdq\n"
+ "GIVH5N54p6bl5OgSUP3EdKbFRZyCVZ2n8Der3Cf9PtfvGV7Ze4Cv/CCN6rJkk54P\n"
+ "6auP6pEJg0ESGC5fop5HFCyVM+W/ot0A1cxN0+cHYlqB1NQholLqe3psDjJ2EoIK\n"
+ "LtN5dRLO6z5L74CwwiJ1SeLh8XyJtr/ee9RnFB56XCzO7lyhbHPx/VT6Qw==\n"
+ "-----END OCSP RESPONSE-----\n"
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIIGUwoBAKCCBkwwggZIBgkrBgEFBQcwAQEEggY5MIIGNTCBhaEUMBIxEDAOBgNV\n"
+ "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIwOTMwWjBcMFowRTAJBgUrDgMCGgUABBSy\n"
+ "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2\n"
+ "yAyhyrC99oIAGA8yMDE3MTAxODEyMDkzMFowDQYJKoZIhvcNAQENBQADggGBAFZk\n"
+ "KxCq5yZ/8X+Glw4YtHWSZRIrRp8+lpjkqxDRDuoI4qUBdaRbdqxJK57xSvJ5Ok4V\n"
+ "gf9N02WOrkq7MzWLD7ZdMu/14SW/vVIdmfI04Ps4NGya71OykMb7daCMvGuO2N4z\n"
+ "5G/yrfKiT8JYR+JobTo6swqCPaSFAFg+ADWdax//n66wmuLHDpqzfFLp2lBXNXJx\n"
+ "gafAQCjqK84JRx2xgEFZ9l3TPOoR2BO5DzJqKXK+wcMbtUxNDaHV8MTsxVqTQXoB\n"
+ "JLN6cYKjxghCkQ5r54YLr77fB1qMNfhffy9gBN0q8g3AHG+gMICkNYPTw8w1Rjbr\n"
+ "6bE8CI/MXcrZrz7UWLuQXe8BnNk+Vn7PE6oRxCLSoJ8b6fB4cDvMIX1rRpc/Owxb\n"
+ "j6gockpBTebdLr3xpB6iopRurTPCVtMpz3VeNVnrB3gjCyBO62ErRncKn6RXqEVF\n"
+ "bo+01Zz8hHjDgtm2p9V24CMJK5p8fLVthJ0fRwyc1oYr3fT6l+dy50JSdOhNAaCC\n"
+ "BBUwggQRMIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUA\n"
+ "MA8xDTALBgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5\n"
+ "NTlaMBIxEDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw\n"
+ "ggGKAoIBgQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2\n"
+ "WLiope/xNL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioV\n"
+ "tvPQwEpvuI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR\n"
+ "5+wGsJDvkfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJr\n"
+ "P+GtLiG0AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj\n"
+ "0Sk3Rq93JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1\n"
+ "ROsdk4WUed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH\n"
+ "4vysDO9UZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B\n"
+ "48xfmyIFjgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMD\n"
+ "BwYAMB0GA1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5\n"
+ "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58\n"
+ "oDRy5a0oPvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68\n"
+ "kogjKs31QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmT\n"
+ "sQOdv/bzR+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT4\n"
+ "5SGw7c7FcumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2\n"
+ "gaygWNiD+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiu\n"
+ "jgUV0TZHEyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c\n"
+ "4FdrCByVhaeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1\n"
+ "Y1MQ72SnfrzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END OCSP RESPONSE-----\n";
+
+static const char bad_long_chain_pem[] = /* second response is broken */
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIICOgoBAKCCAjMwggIvBgkrBgEFBQcwAQEEggIgMIICHDCBhaEUMBIxEDAOBgNV\n"
+ "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIyMDQ5WjBcMFowRTAJBgUrDgMCGgUABBSy\n"
+ "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI3\n"
+ "ZFj6e1Jv14IAGA8yMDE3MTAxODEyMjA0OVowDQYJKoZIhvcNAQELBQADggGBAJg8\n"
+ "/9F2k7DdQsqMfU+f53gUHZAlZzRRPPYQfrmMGfSaMmr9W3fpCrLNMV4PWxGndTh7\n"
+ "AforaCwUb6+QyWlnE3B4UUQLphaEawnDJ/8GJZAnCIcjyxpWYZ4onEIZ6pN8BRQE\n"
+ "f8ccQN01xlB5RtdqsVmvxtoM0husO0YJDnsCwwFVXulPEFgWuFSoVLsx65lkc+4/\n"
+ "RM67+QrbNpBRgKrhb8MAE2WANjpjSAVSf5GWsH9T/F2HDG5crApFIoNywK9e21zk\n"
+ "qYAWQ6tVcps3QbvvIEXVy/jOqVASeaxuwHmkdBz4SNT83LvaNnJGBTKXTGukPKAO\n"
+ "t6xJpFLwrNWNhgfbw2fklWJSMzMtAEkjzBJi+4kn1SfLdcTLYBf9Tnoq1wsJhAMg\n"
+ "OFNzcWb8ZJxuGh7FXgytneM38sL8oTEmLKHfBRnWGOglfCMj3olvXpjotrIlKDAS\n"
+ "GbGElY+PZXUtkKiN2cNAecjIodzQFgL+YL6jWKLEuuWGT/MvRrliL83kGmKDdg==\n"
+ "-----END OCSP RESPONSE-----\n"
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIICNwoBAKCCAjAwggIsBgkrBgEFBQcwAQEEggIdMIICGTCBgqERMA8xDTALBgNV\n"
+ "BAMTBENBLTMYDzIwMTcxMDE4MTIzODUyWjBcMFowRTAJBgUrDgMCGgUABBS3yg+r\n"
+ "3G+4sJZ6FayYCg8Z/qQS3gQUHoXtf55x+gidN0hDoBLv5arh44oCDFejHTI1s0/Q\n"
+ "ufXnPIIAGA8yMDE3MTAxODEyMzg1MlowDQYJKoZIhvcNAQELBQADggGBALMParB9\n"
+ "K97DlT4FmMdPScoT7oAAsar4XxKLU9+oraht7H+WTAYSpnCxh/ugR1fG0jtzTzIw\n"
+ "nLQFAyR9MDYKp4Om4YqQ7r+43DiIqKVU25WcrVifUbtkR+LbjH+Bk1UHvFE8mCOX\n"
+ "ZB+cmQyjGap1RX0dnj2Wm48vwwqp71nA8AYcXL575xZ4rb9DDhaoV2h3S0Zlu4IN\n"
+ "btuDIVsxJ53kqkGjjVB4/R0RtqCXOI2ThMK3SfDWqwzF9tYA763VVXi+g+w3oyv4\n"
+ "ZtP8QUWOVUY4azpzlX1wqoO8znUjxs1AzROLUeLPK8GMLVIZLP361J2kLgcj0Gdq\n"
+ "GIVH5N54p6bl5OgSUP3EdKbFRZyCVZ2n8Der3Cf9PtfvGV7Ze4Cv/CCN6rJkk54P\n"
+ "6auP6pEJg0ESGC5fop5HFCyVM+W/ot0A1cxN0+cHYlqB1NQholLqe3psDjJ2EoIK\n"
+ "LtN5dRLO6z5L74CwwiJ1SeLh8XyJtr/ee9RnFB56XCzO7lyhbHPx/VT6Qw==\n"
+ "-----END OCSP RESPONSE-----\n"
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIIGUwoBAKCCBkwwggZIBgkrBgEFBQcwAQEEggY5MIIGNTCBhaEUMBIxEDAOBgNV\n"
+ "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIwOTMwWjBcMFowRTAJBgUrDgMCGgUABBSy\n"
+ "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2\n"
+ "yAyhyrC99oIAGA8yMDE3MTAxODEyMDkzMFowDQYJKoZIhvcNAQENBQADggGBAFZk\n"
+ "KxCq5yZ/8X+Glw4YtHWSZRIrRp8+lpjkqxDRDuoI4qUBdaRbdqxJK57xSvJ5Ok4V\n"
+ "gf9N02WOrkq7MzWLD7ZdMu/14SW/vVIdmfI04Ps4NGya71OykMb7daCMvGuO2N4z\n"
+ "5G/yrfKiT8JYR+JobTo6swqCPaSFAFg+ADWdax//n66wmuLHDpqzfFLp2lBXNXJx\n"
+ "gafAQCjqK84JRx2xgEFZ9l3TPOoR2BO5DzJqKXK+wcMbtUxNDaHV8MTsxVqTQXoB\n"
+ "JLN6cYKjxghCkQ5r54YLr77fB1qMNfhffy9gBN0q8g3AHG+gMICkNYPTw8w1Rjbr\n"
+ "6bE8CI/MXcrZrz7UWLuQXe8BnNk+Vn7PE6oRxCLSoJ8b6fB4cDvMIX1rRpc/Owxb\n"
+ "j6gockpBTebdLr3xpB6iopRurTPCVtMpz3VeNVnrB3gjCyBO62ErRncKn6RXqEVF\n"
+ "bo+01Zz8hHjDgtm2p9V24CMJK5p8fLVthJ0fRwyc1oYr3fT6l+dy50JSdOhNAaCC\n"
+ "BBUwggQRMIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUA\n"
+ "MA8xDTALBgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5\n"
+ "NTlaMBIxEDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw\n"
+ "ggGKAoIBgQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2\n"
+ "WLiope/xNL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioV\n"
+ "tvPQwEpvuI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR\n"
+ "5+wGsJDvkfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJr\n"
+ "P+GtLiG0AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj\n"
+ "0Sk3Rq93JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1\n"
+ "ROsdk4WUed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH\n"
+ "4vysDO9UZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B\n"
+ "48xfmyIFjgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMD\n"
+ "BwYAMB0GA1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5\n"
+ "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58\n"
+ "oDRy5a0oPvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68\n"
+ "kogjKs31QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmT\n"
+ "sQOdv/bzR+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT4\n"
+ "5SGw7c7FcumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2\n"
+ "gaygWNiD+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiu\n"
+ "jgUV0TZHEyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c\n"
+ "4FdrCByVhaeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1\n"
+ "Y1MQ72SnfrzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END OCSP RESPONSE-----\n";
+
+static const gnutls_datum_t long_chain = { (void *)long_chain_pem,
+ sizeof(long_chain_pem) - 1 };
+
+static const gnutls_datum_t bad_long_chain = { (void *)bad_long_chain_pem,
+ sizeof(bad_long_chain_pem) - 1 };
+
+static const gnutls_datum_t no_chain = { (void *)" ", 1 };
static const test_st tests[] = {
- {.name = "load no ocsps",
- .ocsps = &no_chain,
- .nocsps = 0,
- .flags = 0,
- .format = GNUTLS_X509_FMT_PEM,
- .exp_err = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE},
- {.name = "load of 3 ocsps, with expected failure",
- .ocsps = &bad_long_chain,
- .nocsps = 3,
- .flags = 0,
- .format = GNUTLS_X509_FMT_PEM,
- .exp_err = GNUTLS_E_ASN1_TAG_ERROR},
- {.name = "load 3 ocsps",
- .ocsps = &long_chain,
- .nocsps = 3,
- .format = GNUTLS_X509_FMT_PEM,
- .flags = 0},
- {.name = "load 1 DER ocsp",
- .ocsps = &ocsp_subca3_unknown,
- .nocsps = 1,
- .format = GNUTLS_X509_FMT_DER,
- .flags = 0}
+ { .name = "load no ocsps",
+ .ocsps = &no_chain,
+ .nocsps = 0,
+ .flags = 0,
+ .format = GNUTLS_X509_FMT_PEM,
+ .exp_err = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE },
+ { .name = "load of 3 ocsps, with expected failure",
+ .ocsps = &bad_long_chain,
+ .nocsps = 3,
+ .flags = 0,
+ .format = GNUTLS_X509_FMT_PEM,
+ .exp_err = GNUTLS_E_ASN1_TAG_ERROR },
+ { .name = "load 3 ocsps",
+ .ocsps = &long_chain,
+ .nocsps = 3,
+ .format = GNUTLS_X509_FMT_PEM,
+ .flags = 0 },
+ { .name = "load 1 DER ocsp",
+ .ocsps = &ocsp_subca3_unknown,
+ .nocsps = 1,
+ .format = GNUTLS_X509_FMT_DER,
+ .flags = 0 }
};
void doit(void)
diff --git a/tests/gnutls_record_overhead.c b/tests/gnutls_record_overhead.c
index c5de442564..d6e4e23225 100644
--- a/tests/gnutls_record_overhead.c
+++ b/tests/gnutls_record_overhead.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This is a unit test of _gnutls_record_overhead. */
@@ -49,53 +49,54 @@
/* #pragma doesn't work to suppress preprocessor warnings like -Wunused-macros.
* So we just use the above defined macros here. */
-#if defined _gnutls_debug_log && defined gnutls_assert && defined gnutls_assert_val
-# include "../lib/algorithms.h"
+#if defined _gnutls_debug_log && defined gnutls_assert && \
+ defined gnutls_assert_val
+#include "../lib/algorithms.h"
#endif
-unsigned _gnutls_record_overhead(const version_entry_st * ver,
- const cipher_entry_st * cipher,
- const mac_entry_st * mac, unsigned max);
+unsigned _gnutls_record_overhead(const version_entry_st *ver,
+ const cipher_entry_st *cipher,
+ const mac_entry_st *mac, unsigned max);
-#define OVERHEAD(v, c, m) \
- _gnutls_record_overhead(version_to_entry(v), cipher_to_entry(c), mac_to_entry(m), \
- 0)
+#define OVERHEAD(v, c, m) \
+ _gnutls_record_overhead(version_to_entry(v), cipher_to_entry(c), \
+ mac_to_entry(m), 0)
-#define MAX_OVERHEAD(v, c, m) \
- _gnutls_record_overhead(version_to_entry(v), cipher_to_entry(c), mac_to_entry(m), \
- 1)
+#define MAX_OVERHEAD(v, c, m) \
+ _gnutls_record_overhead(version_to_entry(v), cipher_to_entry(c), \
+ mac_to_entry(m), 1)
static void check_aes_gcm(void **glob_state)
{
const unsigned ov = 16 + 8;
/* Under AES-GCM the overhead is constant */
- assert_int_equal(OVERHEAD
- (GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_MAC_AEAD), ov);
- assert_int_equal(MAX_OVERHEAD
- (GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_MAC_AEAD), ov);
+ assert_int_equal(OVERHEAD(GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_MAC_AEAD),
+ ov);
+ assert_int_equal(MAX_OVERHEAD(GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_MAC_AEAD),
+ ov);
}
static void check_tls13_aes_gcm(void **glob_state)
{
const unsigned ov = 16 + 1;
/* Under AES-GCM the overhead is constant */
- assert_int_equal(OVERHEAD
- (GNUTLS_TLS1_3, GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_MAC_AEAD), ov);
- assert_int_equal(MAX_OVERHEAD
- (GNUTLS_TLS1_3, GNUTLS_CIPHER_AES_128_GCM,
- GNUTLS_MAC_AEAD), ov);
+ assert_int_equal(OVERHEAD(GNUTLS_TLS1_3, GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_MAC_AEAD),
+ ov);
+ assert_int_equal(MAX_OVERHEAD(GNUTLS_TLS1_3, GNUTLS_CIPHER_AES_128_GCM,
+ GNUTLS_MAC_AEAD),
+ ov);
}
static void check_aes_sha1_min(void **glob_state)
{
const unsigned mac = 20;
const unsigned block = 16;
- assert_int_equal(OVERHEAD
- (GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_CBC,
- GNUTLS_MAC_SHA1), 1 + mac + block);
+ assert_int_equal(OVERHEAD(GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_MAC_SHA1),
+ 1 + mac + block);
}
static void check_aes_sha1_max(void **glob_state)
@@ -103,9 +104,9 @@ static void check_aes_sha1_max(void **glob_state)
const unsigned mac = 20;
const unsigned block = 16;
- assert_int_equal(MAX_OVERHEAD
- (GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_CBC,
- GNUTLS_MAC_SHA1), block + mac + block);
+ assert_int_equal(MAX_OVERHEAD(GNUTLS_TLS1_2, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_MAC_SHA1),
+ block + mac + block);
}
int main(void)
diff --git a/tests/gnutls_session_set_id.c b/tests/gnutls_session_set_id.c
index db878a2a9c..099378e52a 100644
--- a/tests/gnutls_session_set_id.c
+++ b/tests/gnutls_session_set_id.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -66,8 +66,8 @@ static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
unsigned *try_resume = dbf;
gnutls_datum_t r = { NULL, 0 };
- if (key.size != test_id.size
- || memcmp(test_id.data, key.data, test_id.size) != 0)
+ if (key.size != test_id.size ||
+ memcmp(test_id.data, key.data, test_id.size) != 0)
fail("received ID does not match the expected\n");
if (!(*try_resume))
@@ -107,8 +107,8 @@ static void start(const char *test, unsigned try_resume)
gnutls_global_set_log_level(6);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -124,15 +124,15 @@ static void start(const char *test, unsigned try_resume)
gnutls_db_set_ptr(server, &try_resume);
assert(gnutls_certificate_allocate_credentials(&clientx509cred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (clientx509cred, &ca_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
clientx509cred) >= 0);
- assert(gnutls_priority_set_direct
- (client, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
@@ -170,8 +170,8 @@ static void start(const char *test, unsigned try_resume)
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
clientx509cred) >= 0);
- assert(gnutls_priority_set_direct
- (client, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
diff --git a/tests/gnutls_x509_crq_sign.c b/tests/gnutls_x509_crq_sign.c
index 685e30623d..fa641ede90 100644
--- a/tests/gnutls_x509_crq_sign.c
+++ b/tests/gnutls_x509_crq_sign.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -34,38 +34,39 @@
#include "utils.h"
static unsigned char saved_crq_pem[] =
- "-----BEGIN NEW CERTIFICATE REQUEST-----\n"
- "MIIBgzCB7QIBADAAMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7ZkP18sXX\n"
- "tozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y89+wEdhMXi2SJIlvA3VN8O+18\n"
- "BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpNaP/JEeIyjc49gAuNde/YAIGP\n"
- "KAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQABoEQwQgYJKoZIhvcNAQkOMTUw\n"
- "MzAPBgNVHRMBAf8EBTADAgEAMA0GA1UdDwEB/wQDAwEAMBEGA1UdEQEB/wQHMAWC\n"
- "A2ZvbzANBgkqhkiG9w0BAQsFAAOBgQBKFQhbmY8RJBPiXm80PmYnZH7WaMeaOLJZ\n"
- "JBVjsmdjFtDbgHaY9Vizrbh9jFM8iyvw01y+FZqCt2kSzvaPRoQad06NCV00oN6W\n"
- "mG2iRKBSwVEX7JleigliK3M3Y5dlHV77CC1Or9BGC9Rbx9n9mV6z/NAWW5LyPHb5\n"
- "gf4oXM6OPw==\n" "-----END NEW CERTIFICATE REQUEST-----\n";
+ "-----BEGIN NEW CERTIFICATE REQUEST-----\n"
+ "MIIBgzCB7QIBADAAMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7ZkP18sXX\n"
+ "tozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y89+wEdhMXi2SJIlvA3VN8O+18\n"
+ "BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpNaP/JEeIyjc49gAuNde/YAIGP\n"
+ "KAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQABoEQwQgYJKoZIhvcNAQkOMTUw\n"
+ "MzAPBgNVHRMBAf8EBTADAgEAMA0GA1UdDwEB/wQDAwEAMBEGA1UdEQEB/wQHMAWC\n"
+ "A2ZvbzANBgkqhkiG9w0BAQsFAAOBgQBKFQhbmY8RJBPiXm80PmYnZH7WaMeaOLJZ\n"
+ "JBVjsmdjFtDbgHaY9Vizrbh9jFM8iyvw01y+FZqCt2kSzvaPRoQad06NCV00oN6W\n"
+ "mG2iRKBSwVEX7JleigliK3M3Y5dlHV77CC1Or9BGC9Rbx9n9mV6z/NAWW5LyPHb5\n"
+ "gf4oXM6OPw==\n"
+ "-----END NEW CERTIFICATE REQUEST-----\n";
const gnutls_datum_t saved_crq = { saved_crq_pem, sizeof(saved_crq_pem) - 1 };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t key = { key_pem, sizeof(key_pem) - 1 };
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -129,7 +130,7 @@ static gnutls_x509_crq_t generate_crq(void)
return crq;
}
-static void verify_crq(const gnutls_datum_t * pem)
+static void verify_crq(const gnutls_datum_t *pem)
{
gnutls_x509_crq_t crq;
diff --git a/tests/gnutls_x509_crt_list_import.c b/tests/gnutls_x509_crt_list_import.c
index 3a53e1a80d..2c83e593ba 100644
--- a/tests/gnutls_x509_crt_list_import.c
+++ b/tests/gnutls_x509_crt_list_import.c
@@ -22,7 +22,7 @@
/* This tests key import for gnutls_x509_privkey_t APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,15 +37,13 @@
#include "cert-common.h"
#include "utils.h"
-#define testfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
#define MAX_CERTS 8
-static void load_list(const char *name, const gnutls_datum_t * txt,
- unsigned int ncerts,
- unsigned int max1,
- unsigned int max2, unsigned flags, int exp_err)
+static void load_list(const char *name, const gnutls_datum_t *txt,
+ unsigned int ncerts, unsigned int max1, unsigned int max2,
+ unsigned flags, int exp_err)
{
gnutls_x509_crt_t certs[MAX_CERTS];
unsigned int max, i;
@@ -60,13 +58,12 @@ static void load_list(const char *name, const gnutls_datum_t * txt,
else
max = MAX_CERTS;
- retry:
- ret =
- gnutls_x509_crt_list_import(certs, &max, txt, GNUTLS_X509_FMT_PEM,
- flags);
+retry:
+ ret = gnutls_x509_crt_list_import(certs, &max, txt, GNUTLS_X509_FMT_PEM,
+ flags);
if (ret < 0) {
- if (retried == 0 && ret == GNUTLS_E_SHORT_MEMORY_BUFFER && max2
- && max2 != max) {
+ if (retried == 0 && ret == GNUTLS_E_SHORT_MEMORY_BUFFER &&
+ max2 && max2 != max) {
max = max2;
retried = 1;
goto retry;
@@ -85,9 +82,9 @@ static void load_list(const char *name, const gnutls_datum_t * txt,
max, ncerts);
if (ret != (int)ncerts)
- testfail
- ("imported number (%d) doesn't match return value (%d)\n",
- ncerts, ret);
+ testfail(
+ "imported number (%d) doesn't match return value (%d)\n",
+ ncerts, ret);
return;
}
@@ -104,249 +101,250 @@ typedef struct test_st {
static const char long_chain_pem[] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIDQDCCAiigAwIBAgIMU/xyoxPcYVSaqH7/MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMTQyMjdaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDkemVOFdbhBX1qwjxQHr3LmPktNEVBmXjrIvyp++dN7gCYzubnpiLcBE+B\n"
- "S2b+ppxBYm9ynKijhGrO+lZPCQRXWmqUg4YDfvnEqM4n04dCE98jN4IhwvWZyP3p\n"
- "+U8Ra9mVIBAY2MReo1dcJQHNmo560xzxioHsGNQHAfYgVRHiE5hIXchYbWCkBrKt\n"
- "XOoSSTmfgCF3L22p6S1q143VoKUr/C9zqinZo6feGAiTprj6YH0tHswjGBbxTFLb\n"
- "q3ThbGDR5FNYL5q0FvQRNbjoF4oFitZ3P1Qkrzq7VIJd9k8J1C3g/16U2dDTKqRX\n"
- "ejX7maFZ6oRZJASsRSowEs4wTfRpAgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
- "BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
- "DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUAEYPmcA7S/KChiet+Z6+RRmogiww\n"
- "HwYDVR0jBBgwFoAUjxZogHO3y4VdOLuibQHsQYdsGgwwDQYJKoZIhvcNAQELBQAD\n"
- "ggEBABlA3npOWwl3eBycaLVOsmdPS+fUwhLnF8hxoyKpHe/33k1nIxd7iiqNZ3iw\n"
- "6pAjnuRUCjajU+mlx6ekrmga8mpmeD6JH0I3lq+mrPeCeFXm8gc1yJpcFJ/C2l4o\n"
- "+3HNY7RJKcfoQxIbiKOtZ6x9E0aYuk3s1Um3Pf8GLwENoou7Stg5qHsLbkN/GBuP\n"
- "n3p/4iqik2k7VblldDe3oCob5vMp0qrAEhlNl2Fn65rcB4+bp1EiC1Z+y6X8DpRb\n"
- "NomKUsOiGcbFjQ4ptT6fePmPHX1mgDCx+5/22cyBUYElefYP7Xzr+C8tqqO3JFKe\n"
- "hqEmQRsll9bkqpu2dh83c3i9u4g=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
- "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/4ofaL+ilmmM+\n"
- "bGaFRy5GYQXtkD8sA3+/GWsunR928fQS68Zh6iWU+gPm52i7Gfbh7piKWA5Tb63w\n"
- "unbS6dPsfPSvgRMZGKJpzxqVcBQAnTS4MuDPlXNg3K3HMyVtbxekII8jFeGEJuCL\n"
- "mBMT4dI48IZRzj+2mir38w2cQPfomaKtjg2jMokG8Z9/4+SU9VJCcY1/yZk8fCbS\n"
- "dBbwhnDq10yvhPCHgX6KMYmoJr28CYgH29Q9sDP1XN3VvAx5X+PtW/6pyF0U5E2e\n"
- "gRzVv7Hr3FJKvytbNxRMCoy2YOyvsTP0fIhiXdtkulTKXyiq4cxA+aYByOu1FjU4\n"
- "NicWbiZ/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQUjxZogHO3y4VdOLuibQHsQYdsGgwwHwYDVR0jBBgwFoAUwAx0\n"
- "aL2SrsoSZcZUuFlq0O17BSgwDQYJKoZIhvcNAQELBQADggEBAGQvj8SquT31w8JK\n"
- "tHDL4hWOU0EwVwWl4aYsvP17WspiFIIHKApPFfQOD0/Wg9zB48ble5ZSwKA3Vc3B\n"
- "DJgd77HgVAd/Nu1TS5TFDKhpuvFPJVpJ3cqt3pTsVGMzf6GRz5kG3Ly/pBgkqiMG\n"
- "gv6vTlEvzNe4FcnhNBEaRKpK5Hc5+GnxtfVoki3tjG5u+oa9/OwzAT+7IOyiIKHw\n"
- "7F4Cm56QAWMJgVNm329AjZrJLeNuKoQWGueNew4dOe/zlYEaVMG4So74twXQwIAB\n"
- "Zko7+wk6eI4CkI4Zair36s1jLkCF8xnL8FExTT3sg6B6KBHaNUuwc67WPILVuFuc\n"
- "VfVBOd8=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDMzCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIf3as4EONSgWu\n"
- "Mbm9w3DbKd/su1UWlrYrcpVqmU3MKD5jXBxyoThSBWxmq1+wcNDmE1on6pHY1aad\n"
- "k3188JKMC83wEcyQXaiH3DlTYFXXkkI+JJNUGlfAMSoXG248SpoCIOhCETUG03iP\n"
- "Z3AZludaHYsv4akAh1Kl6qn66+bKM53l/YhoQDxhoGaYvO8ZSwKnx5DEiq447jpW\n"
- "M+sUFe38RPaMjHpyc1GRctvQDzJGm+8ZRujYDH+fGNzVDDlRyRnsVanFGNdyfhmy\n"
- "BN2D2+2VEvzAWlaGg2wQN8gF3+luavIVEgETXODZPa5FF7ulmQmhqGrZcw6WtDmY\n"
- "hUbNmbL7AgMBAAGjgZUwgZIwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHR4BAf8EJDAi\n"
- "oA8wDYILZXhhbXBsZS5jb22hDzANggtleGFtcGxlLm9yZzAPBgNVHQ8BAf8EBQMD\n"
- "BwQAMB0GA1UdDgQWBBTADHRovZKuyhJlxlS4WWrQ7XsFKDAfBgNVHSMEGDAWgBTg\n"
- "+khaP8UOjcwSKVxgT+zhh0aWPDANBgkqhkiG9w0BAQsFAAOCAQEASq5yBiib8FPk\n"
- "oRONZ4COgGqjXvigeOBRgbHf9AfagpoYDbOKDQS8Iwt9VHZfJxdcJ1OuM1aQqXlN\n"
- "dUyf+JdR/24Nv1yrhL+dEfRGka6Db96YuPsbetVhNIiMm2teXDIPgGzAKuTm4xPA\n"
- "6zyNVy5AwfDQ5hIZ+EUsfOoerIElNyAbh66law4MWuiv4oyX4u49m5lxLuL6mFpR\n"
- "CIZYWjZMa0MJvWMKGm/AhpfEOkbT58Fg5YmxhnKMk6ps1eR6mh3NgH1IbUqvEYNC\n"
- "eS42X3kAMxEDseBOMths0gxeLL+IHdQpXnAjZppW8zEIcN3yfknul35r8R6Qt9aK\n"
- "q5+/m1ADBw==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIe0eOnLaV750K\n"
- "4+mVaAftRrJp8t68KJivcRFpkl0ucQs6gwNf9EsVkHineOR3RXypjJ7Hsv+4PIKp\n"
- "BhEOTprYUKcBaxHK/NIezV6NrO1AwuD6MtJDQF9jGpSy0F3eRUoBCjVYhTl+JxcZ\n"
- "hGHPJd8WMeanQWY4xG4gTwtpjF3tPU5+JGQwLk5SbcLicM2QMG3CapZinOGK3/XC\n"
- "Fjsvf5ZhxnixayhfiX/n9BmeP1yxz7YORNYPlL8z1CcLZqJsyjZnNkVwNvl4ft9I\n"
- "FOKBLoOTSGocHFIFXh5b50GG6QHgvN+TiAwdpfRTUskWVg8VVIh7ymgDoI2jQhk4\n"
- "EeMaZHd/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU4PpIWj/FDo3MEilcYE/s4YdGljwwHwYDVR0jBBgwFoAU6XJK\n"
- "EOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQADggEBAJOCrGvbeRqPj+uL\n"
- "2FIfbkYZAx2nGl3RVv5ZK2YeDpU1udxLihc6Sr67OZbiA4QMKxwgI7pupuwXmyql\n"
- "vs9dWnNpjzgfc0OqqzVdOFlfw8ew2DQb2sUXCcIkwqXb/pBQ9BvcgdDASu+rm74j\n"
- "JWDZlhcqeVhZROKfpsjsl+lHgZ7kANwHtUJg/WvK8J971hgElqeBO1O97cGkw/in\n"
- "e8ooK9Lxk3Td+WdI8C7juCYiwsGqFEKuj7b6937uzvpFmm1fYDdOHhTMcHTHIVTr\n"
- "uxSSurQ4XSDF6Iuel3+IdpLL79UYJ7Cf4IhBWj0EloF6xWTA6nUYl3gzKpx1Tg1U\n"
- "x2+26YY=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqLuVrTyiqz+Zs\n"
- "9Qw5V2Z1y1YSWU6aRDMs+34rP2gwT41C69HBh2LLRS04iJUVQydwnEJukwKlTNRn\n"
- "1lEpvWgtYmySWA2SyI4xkVzCXgwv0k7WyLwa39hfNY1rXAqhDTL8VO0nXxi8hCMW\n"
- "ohaXcvsieglhN5uwu6voEdY3Gwtx4V8ysDJ2P9EBo49ZHdpBOv+3YLDxbWZuL/tI\n"
- "nYkBUHHfWGhUHsRsu0EGob3SFnfiooCbE/vtmn9rUuBEQDqOjOg3el/aTPJzcMi/\n"
- "RTz+8ho17ZrQRKHZGKWq9Skank+2X9FZoYKFCUlBm6RVud1R54QYZEIj7W9ujQLN\n"
- "LJrcIwBDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU6XJKEOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQAD\n"
- "ggEBAEeXYGhZ8fWDpCGfSGEDX8FTqLwfDXxw18ZJjQJwus7bsJ9K/hAXnasXrn0f\n"
- "TJ+uJi8muqzP1V376mSUzlwXIzLZCtbwRdDhJJYRrLvf5zfHxHeDgvDALn+1AduF\n"
- "G/GzCVIFsYNSMdKGwNRp6Ucgl43BPZs6Swn2DXrxxW7Gng+8dvUS2XGLLdH6q1O3\n"
- "U1EgJilng+VXx9Rg3yCs5xDiehASySsM6MN/+v+Ouf9lkoQCEgrtlW5Lb/neOBlA\n"
- "aS8PPQuKkIEggNd8hW88YWQOJXMiCAgFppVp5B1Vbghn9IDJQISx/AXAoDXQvQfE\n"
- "bdOzcKFyDuklHl2IQPnYTFxm/G8=\n" "-----END CERTIFICATE-----\n"
-};
-
-static const char bad_long_chain_pem[] = { /* 3rd-cert is broken */
+ "MIIDQDCCAiigAwIBAgIMU/xyoxPcYVSaqH7/MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMTQyMjdaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDkemVOFdbhBX1qwjxQHr3LmPktNEVBmXjrIvyp++dN7gCYzubnpiLcBE+B\n"
+ "S2b+ppxBYm9ynKijhGrO+lZPCQRXWmqUg4YDfvnEqM4n04dCE98jN4IhwvWZyP3p\n"
+ "+U8Ra9mVIBAY2MReo1dcJQHNmo560xzxioHsGNQHAfYgVRHiE5hIXchYbWCkBrKt\n"
+ "XOoSSTmfgCF3L22p6S1q143VoKUr/C9zqinZo6feGAiTprj6YH0tHswjGBbxTFLb\n"
+ "q3ThbGDR5FNYL5q0FvQRNbjoF4oFitZ3P1Qkrzq7VIJd9k8J1C3g/16U2dDTKqRX\n"
+ "ejX7maFZ6oRZJASsRSowEs4wTfRpAgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
+ "BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
+ "DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUAEYPmcA7S/KChiet+Z6+RRmogiww\n"
+ "HwYDVR0jBBgwFoAUjxZogHO3y4VdOLuibQHsQYdsGgwwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBABlA3npOWwl3eBycaLVOsmdPS+fUwhLnF8hxoyKpHe/33k1nIxd7iiqNZ3iw\n"
+ "6pAjnuRUCjajU+mlx6ekrmga8mpmeD6JH0I3lq+mrPeCeFXm8gc1yJpcFJ/C2l4o\n"
+ "+3HNY7RJKcfoQxIbiKOtZ6x9E0aYuk3s1Um3Pf8GLwENoou7Stg5qHsLbkN/GBuP\n"
+ "n3p/4iqik2k7VblldDe3oCob5vMp0qrAEhlNl2Fn65rcB4+bp1EiC1Z+y6X8DpRb\n"
+ "NomKUsOiGcbFjQ4ptT6fePmPHX1mgDCx+5/22cyBUYElefYP7Xzr+C8tqqO3JFKe\n"
+ "hqEmQRsll9bkqpu2dh83c3i9u4g=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
+ "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/4ofaL+ilmmM+\n"
+ "bGaFRy5GYQXtkD8sA3+/GWsunR928fQS68Zh6iWU+gPm52i7Gfbh7piKWA5Tb63w\n"
+ "unbS6dPsfPSvgRMZGKJpzxqVcBQAnTS4MuDPlXNg3K3HMyVtbxekII8jFeGEJuCL\n"
+ "mBMT4dI48IZRzj+2mir38w2cQPfomaKtjg2jMokG8Z9/4+SU9VJCcY1/yZk8fCbS\n"
+ "dBbwhnDq10yvhPCHgX6KMYmoJr28CYgH29Q9sDP1XN3VvAx5X+PtW/6pyF0U5E2e\n"
+ "gRzVv7Hr3FJKvytbNxRMCoy2YOyvsTP0fIhiXdtkulTKXyiq4cxA+aYByOu1FjU4\n"
+ "NicWbiZ/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUjxZogHO3y4VdOLuibQHsQYdsGgwwHwYDVR0jBBgwFoAUwAx0\n"
+ "aL2SrsoSZcZUuFlq0O17BSgwDQYJKoZIhvcNAQELBQADggEBAGQvj8SquT31w8JK\n"
+ "tHDL4hWOU0EwVwWl4aYsvP17WspiFIIHKApPFfQOD0/Wg9zB48ble5ZSwKA3Vc3B\n"
+ "DJgd77HgVAd/Nu1TS5TFDKhpuvFPJVpJ3cqt3pTsVGMzf6GRz5kG3Ly/pBgkqiMG\n"
+ "gv6vTlEvzNe4FcnhNBEaRKpK5Hc5+GnxtfVoki3tjG5u+oa9/OwzAT+7IOyiIKHw\n"
+ "7F4Cm56QAWMJgVNm329AjZrJLeNuKoQWGueNew4dOe/zlYEaVMG4So74twXQwIAB\n"
+ "Zko7+wk6eI4CkI4Zair36s1jLkCF8xnL8FExTT3sg6B6KBHaNUuwc67WPILVuFuc\n"
+ "VfVBOd8=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDMzCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIf3as4EONSgWu\n"
+ "Mbm9w3DbKd/su1UWlrYrcpVqmU3MKD5jXBxyoThSBWxmq1+wcNDmE1on6pHY1aad\n"
+ "k3188JKMC83wEcyQXaiH3DlTYFXXkkI+JJNUGlfAMSoXG248SpoCIOhCETUG03iP\n"
+ "Z3AZludaHYsv4akAh1Kl6qn66+bKM53l/YhoQDxhoGaYvO8ZSwKnx5DEiq447jpW\n"
+ "M+sUFe38RPaMjHpyc1GRctvQDzJGm+8ZRujYDH+fGNzVDDlRyRnsVanFGNdyfhmy\n"
+ "BN2D2+2VEvzAWlaGg2wQN8gF3+luavIVEgETXODZPa5FF7ulmQmhqGrZcw6WtDmY\n"
+ "hUbNmbL7AgMBAAGjgZUwgZIwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHR4BAf8EJDAi\n"
+ "oA8wDYILZXhhbXBsZS5jb22hDzANggtleGFtcGxlLm9yZzAPBgNVHQ8BAf8EBQMD\n"
+ "BwQAMB0GA1UdDgQWBBTADHRovZKuyhJlxlS4WWrQ7XsFKDAfBgNVHSMEGDAWgBTg\n"
+ "+khaP8UOjcwSKVxgT+zhh0aWPDANBgkqhkiG9w0BAQsFAAOCAQEASq5yBiib8FPk\n"
+ "oRONZ4COgGqjXvigeOBRgbHf9AfagpoYDbOKDQS8Iwt9VHZfJxdcJ1OuM1aQqXlN\n"
+ "dUyf+JdR/24Nv1yrhL+dEfRGka6Db96YuPsbetVhNIiMm2teXDIPgGzAKuTm4xPA\n"
+ "6zyNVy5AwfDQ5hIZ+EUsfOoerIElNyAbh66law4MWuiv4oyX4u49m5lxLuL6mFpR\n"
+ "CIZYWjZMa0MJvWMKGm/AhpfEOkbT58Fg5YmxhnKMk6ps1eR6mh3NgH1IbUqvEYNC\n"
+ "eS42X3kAMxEDseBOMths0gxeLL+IHdQpXnAjZppW8zEIcN3yfknul35r8R6Qt9aK\n"
+ "q5+/m1ADBw==\n"
+ "-----END CERTIFICATE-----\n"
"-----BEGIN CERTIFICATE-----\n"
- "MIIDQDCCAiigAwIBAgIMU/xyoxPcYVSaqH7/MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMTQyMjdaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDkemVOFdbhBX1qwjxQHr3LmPktNEVBmXjrIvyp++dN7gCYzubnpiLcBE+B\n"
- "S2b+ppxBYm9ynKijhGrO+lZPCQRXWmqUg4YDfvnEqM4n04dCE98jN4IhwvWZyP3p\n"
- "+U8Ra9mVIBAY2MReo1dcJQHNmo560xzxioHsGNQHAfYgVRHiE5hIXchYbWCkBrKt\n"
- "XOoSSTmfgCF3L22p6S1q143VoKUr/C9zqinZo6feGAiTprj6YH0tHswjGBbxTFLb\n"
- "q3ThbGDR5FNYL5q0FvQRNbjoF4oFitZ3P1Qkrzq7VIJd9k8J1C3g/16U2dDTKqRX\n"
- "ejX7maFZ6oRZJASsRSowEs4wTfRpAgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
- "BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
- "DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUAEYPmcA7S/KChiet+Z6+RRmogiww\n"
- "HwYDVR0jBBgwFoAUjxZogHO3y4VdOLuibQHsQYdsGgwwDQYJKoZIhvcNAQELBQAD\n"
- "ggEBABlA3npOWwl3eBycaLVOsmdPS+fUwhLnF8hxoyKpHe/33k1nIxd7iiqNZ3iw\n"
- "6pAjnuRUCjajU+mlx6ekrmga8mpmeD6JH0I3lq+mrPeCeFXm8gc1yJpcFJ/C2l4o\n"
- "+3HNY7RJKcfoQxIbiKOtZ6x9E0aYuk3s1Um3Pf8GLwENoou7Stg5qHsLbkN/GBuP\n"
- "n3p/4iqik2k7VblldDe3oCob5vMp0qrAEhlNl2Fn65rcB4+bp1EiC1Z+y6X8DpRb\n"
- "NomKUsOiGcbFjQ4ptT6fePmPHX1mgDCx+5/22cyBUYElefYP7Xzr+C8tqqO3JFKe\n"
- "hqEmQRsll9bkqpu2dh83c3i9u4g=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
- "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/4ofaL+ilmmM+\n"
- "bGaFRy5GYQXtkD8sA3+/GWsunR928fQS68Zh6iWU+gPm52i7Gfbh7piKWA5Tb63w\n"
- "unbS6dPsfPSvgRMZGKJpzxqVcBQAnTS4MuDPlXNg3K3HMyVtbxekII8jFeGEJuCL\n"
- "mBMT4dI48IZRzj+2mir38w2cQPfomaKtjg2jMokG8Z9/4+SU9VJCcY1/yZk8fCbS\n"
- "dBbwhnDq10yvhPCHgX6KMYmoJr28CYgH29Q9sDP1XN3VvAx5X+PtW/6pyF0U5E2e\n"
- "gRzVv7Hr3FJKvytbNxRMCoy2YOyvsTP0fIhiXdtkulTKXyiq4cxA+aYByOu1FjU4\n"
- "NicWbiZ/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQUjxZogHO3y4VdOLuibQHsQYdsGgwwHwYDVR0jBBgwFoAUwAx0\n"
- "aL2SrsoSZcZUuFlq0O17BSgwDQYJKoZIhvcNAQELBQADggEBAGQvj8SquT31w8JK\n"
- "tHDL4hWOU0EwVwWl4aYsvP17WspiFIIHKApPFfQOD0/Wg9zB48ble5ZSwKA3Vc3B\n"
- "DJgd77HgVAd/Nu1TS5TFDKhpuvFPJVpJ3cqt3pTsVGMzf6GRz5kG3Ly/pBgkqiMG\n"
- "gv6vTlEvzNe4FcnhNBEaRKpK5Hc5+GnxtfVoki3tjG5u+oa9/OwzAT+7IOyiIKHw\n"
- "7F4Cm56QAWMJgVNm329AjZrJLeNuKoQWGueNew4dOe/zlYEaVMG4So74twXQwIAB\n"
- "Zko7+wk6eI4CkI4Zair36s1jLkCF8xnL8FExTT3sg6B6KBHaNUuwc67WPILVuFuc\n"
- "VfVBOd8=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "XXIDMzCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIf3as4EONSgWu\n"
- "Mbm9w3DbKd/su1UWlrYrcpVqmU3MKD5jXBxyoThSBWxmq1+wcNDmE1on6pHY1aad\n"
- "k3188JKMC83wEcyQXaiH3DlTYFXXkkI+JJNUGlfAMSoXG248SpoCIOhCETUG03iP\n"
- "Z3AZludaHYsvQQXXh1Kl6qn66+bKM53l/YhoQDxhoGaYvO8ZSwKnx5DEiq447jpW\n"
- "M+sUFe38RPaMQQXXc1GRctvQDzJGm+8ZRujYDH+fGNzVDDlRyRnsVanFGNdyfhmy\n"
- "BN2D2+2VEvzAQQXXg2wQN8gF3+luavIVEgETXODZPa5FF7ulmQmhqGrZcw6WtDmY\n"
- "hUbNmbL7AgMBQQXXgZUwgZIwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHR4BAf8EJDAi\n"
- "oA8wDYILZXhhQQBsZS5jb22hDzANggtleGFtcGxlLm9yZzAPBgNVHQ8BAf8EBQMD\n"
- "BwQAMB0GA1UdQQQWBBTADHRovZKuyhJlxlS4WWrQ7XsFKDAfBgNVHSMEGDAWgBTg\n"
- "+khaP8UOjcwSQQxgT+zhh0aWPDANBgkqhkiG9w0BAQsFAAOCAQEASq5yBiib8FPk\n"
- "oRONZ4COgGqjQQigeOBRgbHf9AfagpoYDbOKDQS8Iwt9VHZfJxdcJ1OuM1aQqXlN\n"
- "dUyf+JdR/24NQQyrhL+dEfRGka6Db96YuPsbetVhNIiMm2teXDIPgGzAKuTm4xPA\n"
- "6zyNVy5AwfDQQQIZ+EUsfOoerIElNyAbh66law4MWuiv4oyX4u49m5lxLuL6mFpR\n"
- "CIZYWjZMa0MJQQMKGm/AhpfEOkbT58Fg5YmxhnKMk6ps1eR6mh3NgH1IbUqvEYNC\n"
- "eS42X3kAMxEDQQBOMths0gxeLL+IHdQpXnAjZppW8zEIcN3yfknul35r8R6Qt9aK\n"
- "q5+/m1ADBw==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIe0eOnLaV750K\n"
- "4+mVaAftRrJp8t68KJivcRFpkl0ucQs6gwNf9EsVkHineOR3RXypjJ7Hsv+4PIKp\n"
- "BhEOTprYUKcBaxHK/NIezV6NrO1AwuD6MtJDQF9jGpSy0F3eRUoBCjVYhTl+JxcZ\n"
- "hGHPJd8WMeanQWY4xG4gTwtpjF3tPU5+JGQwLk5SbcLicM2QMG3CapZinOGK3/XC\n"
- "Fjsvf5ZhxnixayhfiX/n9BmeP1yxz7YORNYPlL8z1CcLZqJsyjZnNkVwNvl4ft9I\n"
- "FOKBLoOTSGocHFIFXh5b50GG6QHgvN+TiAwdpfRTUskWVg8VVIh7ymgDoI2jQhk4\n"
- "EeMaZHd/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU4PpIWj/FDo3MEilcYE/s4YdGljwwHwYDVR0jBBgwFoAU6XJK\n"
- "EOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQADggEBAJOCrGvbeRqPj+uL\n"
- "2FIfbkYZAx2nGl3RVv5ZK2YeDpU1udxLihc6Sr67OZbiA4QMKxwgI7pupuwXmyql\n"
- "vs9dWnNpjzgfc0OqqzVdOFlfw8ew2DQb2sUXCcIkwqXb/pBQ9BvcgdDASu+rm74j\n"
- "JWDZlhcqeVhZROKfpsjsl+lHgZ7kANwHtUJg/WvK8J971hgElqeBO1O97cGkw/in\n"
- "e8ooK9Lxk3Td+WdI8C7juCYiwsGqFEKuj7b6937uzvpFmm1fYDdOHhTMcHTHIVTr\n"
- "uxSSurQ4XSDF6Iuel3+IdpLL79UYJ7Cf4IhBWj0EloF6xWTA6nUYl3gzKpx1Tg1U\n"
- "x2+26YY=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqLuVrTyiqz+Zs\n"
- "9Qw5V2Z1y1YSWU6aRDMs+34rP2gwT41C69HBh2LLRS04iJUVQydwnEJukwKlTNRn\n"
- "1lEpvWgtYmySWA2SyI4xkVzCXgwv0k7WyLwa39hfNY1rXAqhDTL8VO0nXxi8hCMW\n"
- "ohaXcvsieglhN5uwu6voEdY3Gwtx4V8ysDJ2P9EBo49ZHdpBOv+3YLDxbWZuL/tI\n"
- "nYkBUHHfWGhUHsRsu0EGob3SFnfiooCbE/vtmn9rUuBEQDqOjOg3el/aTPJzcMi/\n"
- "RTz+8ho17ZrQRKHZGKWq9Skank+2X9FZoYKFCUlBm6RVud1R54QYZEIj7W9ujQLN\n"
- "LJrcIwBDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU6XJKEOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQAD\n"
- "ggEBAEeXYGhZ8fWDpCGfSGEDX8FTqLwfDXxw18ZJjQJwus7bsJ9K/hAXnasXrn0f\n"
- "TJ+uJi8muqzP1V376mSUzlwXIzLZCtbwRdDhJJYRrLvf5zfHxHeDgvDALn+1AduF\n"
- "G/GzCVIFsYNSMdKGwNRp6Ucgl43BPZs6Swn2DXrxxW7Gng+8dvUS2XGLLdH6q1O3\n"
- "U1EgJilng+VXx9Rg3yCs5xDiehASySsM6MN/+v+Ouf9lkoQCEgrtlW5Lb/neOBlA\n"
- "aS8PPQuKkIEggNd8hW88YWQOJXMiCAgFppVp5B1Vbghn9IDJQISx/AXAoDXQvQfE\n"
- "bdOzcKFyDuklHl2IQPnYTFxm/G8=\n" "-----END CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIe0eOnLaV750K\n"
+ "4+mVaAftRrJp8t68KJivcRFpkl0ucQs6gwNf9EsVkHineOR3RXypjJ7Hsv+4PIKp\n"
+ "BhEOTprYUKcBaxHK/NIezV6NrO1AwuD6MtJDQF9jGpSy0F3eRUoBCjVYhTl+JxcZ\n"
+ "hGHPJd8WMeanQWY4xG4gTwtpjF3tPU5+JGQwLk5SbcLicM2QMG3CapZinOGK3/XC\n"
+ "Fjsvf5ZhxnixayhfiX/n9BmeP1yxz7YORNYPlL8z1CcLZqJsyjZnNkVwNvl4ft9I\n"
+ "FOKBLoOTSGocHFIFXh5b50GG6QHgvN+TiAwdpfRTUskWVg8VVIh7ymgDoI2jQhk4\n"
+ "EeMaZHd/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU4PpIWj/FDo3MEilcYE/s4YdGljwwHwYDVR0jBBgwFoAU6XJK\n"
+ "EOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQADggEBAJOCrGvbeRqPj+uL\n"
+ "2FIfbkYZAx2nGl3RVv5ZK2YeDpU1udxLihc6Sr67OZbiA4QMKxwgI7pupuwXmyql\n"
+ "vs9dWnNpjzgfc0OqqzVdOFlfw8ew2DQb2sUXCcIkwqXb/pBQ9BvcgdDASu+rm74j\n"
+ "JWDZlhcqeVhZROKfpsjsl+lHgZ7kANwHtUJg/WvK8J971hgElqeBO1O97cGkw/in\n"
+ "e8ooK9Lxk3Td+WdI8C7juCYiwsGqFEKuj7b6937uzvpFmm1fYDdOHhTMcHTHIVTr\n"
+ "uxSSurQ4XSDF6Iuel3+IdpLL79UYJ7Cf4IhBWj0EloF6xWTA6nUYl3gzKpx1Tg1U\n"
+ "x2+26YY=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqLuVrTyiqz+Zs\n"
+ "9Qw5V2Z1y1YSWU6aRDMs+34rP2gwT41C69HBh2LLRS04iJUVQydwnEJukwKlTNRn\n"
+ "1lEpvWgtYmySWA2SyI4xkVzCXgwv0k7WyLwa39hfNY1rXAqhDTL8VO0nXxi8hCMW\n"
+ "ohaXcvsieglhN5uwu6voEdY3Gwtx4V8ysDJ2P9EBo49ZHdpBOv+3YLDxbWZuL/tI\n"
+ "nYkBUHHfWGhUHsRsu0EGob3SFnfiooCbE/vtmn9rUuBEQDqOjOg3el/aTPJzcMi/\n"
+ "RTz+8ho17ZrQRKHZGKWq9Skank+2X9FZoYKFCUlBm6RVud1R54QYZEIj7W9ujQLN\n"
+ "LJrcIwBDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU6XJKEOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAEeXYGhZ8fWDpCGfSGEDX8FTqLwfDXxw18ZJjQJwus7bsJ9K/hAXnasXrn0f\n"
+ "TJ+uJi8muqzP1V376mSUzlwXIzLZCtbwRdDhJJYRrLvf5zfHxHeDgvDALn+1AduF\n"
+ "G/GzCVIFsYNSMdKGwNRp6Ucgl43BPZs6Swn2DXrxxW7Gng+8dvUS2XGLLdH6q1O3\n"
+ "U1EgJilng+VXx9Rg3yCs5xDiehASySsM6MN/+v+Ouf9lkoQCEgrtlW5Lb/neOBlA\n"
+ "aS8PPQuKkIEggNd8hW88YWQOJXMiCAgFppVp5B1Vbghn9IDJQISx/AXAoDXQvQfE\n"
+ "bdOzcKFyDuklHl2IQPnYTFxm/G8=\n"
+ "-----END CERTIFICATE-----\n"
};
-static const gnutls_datum_t long_chain = {
- (void *)long_chain_pem, sizeof(long_chain_pem) - 1
-};
+static const char bad_long_chain_pem
+ [] = { /* 3rd-cert is broken */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDQDCCAiigAwIBAgIMU/xyoxPcYVSaqH7/MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMTQyMjdaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDkemVOFdbhBX1qwjxQHr3LmPktNEVBmXjrIvyp++dN7gCYzubnpiLcBE+B\n"
+ "S2b+ppxBYm9ynKijhGrO+lZPCQRXWmqUg4YDfvnEqM4n04dCE98jN4IhwvWZyP3p\n"
+ "+U8Ra9mVIBAY2MReo1dcJQHNmo560xzxioHsGNQHAfYgVRHiE5hIXchYbWCkBrKt\n"
+ "XOoSSTmfgCF3L22p6S1q143VoKUr/C9zqinZo6feGAiTprj6YH0tHswjGBbxTFLb\n"
+ "q3ThbGDR5FNYL5q0FvQRNbjoF4oFitZ3P1Qkrzq7VIJd9k8J1C3g/16U2dDTKqRX\n"
+ "ejX7maFZ6oRZJASsRSowEs4wTfRpAgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
+ "BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
+ "DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUAEYPmcA7S/KChiet+Z6+RRmogiww\n"
+ "HwYDVR0jBBgwFoAUjxZogHO3y4VdOLuibQHsQYdsGgwwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBABlA3npOWwl3eBycaLVOsmdPS+fUwhLnF8hxoyKpHe/33k1nIxd7iiqNZ3iw\n"
+ "6pAjnuRUCjajU+mlx6ekrmga8mpmeD6JH0I3lq+mrPeCeFXm8gc1yJpcFJ/C2l4o\n"
+ "+3HNY7RJKcfoQxIbiKOtZ6x9E0aYuk3s1Um3Pf8GLwENoou7Stg5qHsLbkN/GBuP\n"
+ "n3p/4iqik2k7VblldDe3oCob5vMp0qrAEhlNl2Fn65rcB4+bp1EiC1Z+y6X8DpRb\n"
+ "NomKUsOiGcbFjQ4ptT6fePmPHX1mgDCx+5/22cyBUYElefYP7Xzr+C8tqqO3JFKe\n"
+ "hqEmQRsll9bkqpu2dh83c3i9u4g=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
+ "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/4ofaL+ilmmM+\n"
+ "bGaFRy5GYQXtkD8sA3+/GWsunR928fQS68Zh6iWU+gPm52i7Gfbh7piKWA5Tb63w\n"
+ "unbS6dPsfPSvgRMZGKJpzxqVcBQAnTS4MuDPlXNg3K3HMyVtbxekII8jFeGEJuCL\n"
+ "mBMT4dI48IZRzj+2mir38w2cQPfomaKtjg2jMokG8Z9/4+SU9VJCcY1/yZk8fCbS\n"
+ "dBbwhnDq10yvhPCHgX6KMYmoJr28CYgH29Q9sDP1XN3VvAx5X+PtW/6pyF0U5E2e\n"
+ "gRzVv7Hr3FJKvytbNxRMCoy2YOyvsTP0fIhiXdtkulTKXyiq4cxA+aYByOu1FjU4\n"
+ "NicWbiZ/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUjxZogHO3y4VdOLuibQHsQYdsGgwwHwYDVR0jBBgwFoAUwAx0\n"
+ "aL2SrsoSZcZUuFlq0O17BSgwDQYJKoZIhvcNAQELBQADggEBAGQvj8SquT31w8JK\n"
+ "tHDL4hWOU0EwVwWl4aYsvP17WspiFIIHKApPFfQOD0/Wg9zB48ble5ZSwKA3Vc3B\n"
+ "DJgd77HgVAd/Nu1TS5TFDKhpuvFPJVpJ3cqt3pTsVGMzf6GRz5kG3Ly/pBgkqiMG\n"
+ "gv6vTlEvzNe4FcnhNBEaRKpK5Hc5+GnxtfVoki3tjG5u+oa9/OwzAT+7IOyiIKHw\n"
+ "7F4Cm56QAWMJgVNm329AjZrJLeNuKoQWGueNew4dOe/zlYEaVMG4So74twXQwIAB\n"
+ "Zko7+wk6eI4CkI4Zair36s1jLkCF8xnL8FExTT3sg6B6KBHaNUuwc67WPILVuFuc\n"
+ "VfVBOd8=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "XXIDMzCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIf3as4EONSgWu\n"
+ "Mbm9w3DbKd/su1UWlrYrcpVqmU3MKD5jXBxyoThSBWxmq1+wcNDmE1on6pHY1aad\n"
+ "k3188JKMC83wEcyQXaiH3DlTYFXXkkI+JJNUGlfAMSoXG248SpoCIOhCETUG03iP\n"
+ "Z3AZludaHYsvQQXXh1Kl6qn66+bKM53l/YhoQDxhoGaYvO8ZSwKnx5DEiq447jpW\n"
+ "M+sUFe38RPaMQQXXc1GRctvQDzJGm+8ZRujYDH+fGNzVDDlRyRnsVanFGNdyfhmy\n"
+ "BN2D2+2VEvzAQQXXg2wQN8gF3+luavIVEgETXODZPa5FF7ulmQmhqGrZcw6WtDmY\n"
+ "hUbNmbL7AgMBQQXXgZUwgZIwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHR4BAf8EJDAi\n"
+ "oA8wDYILZXhhQQBsZS5jb22hDzANggtleGFtcGxlLm9yZzAPBgNVHQ8BAf8EBQMD\n"
+ "BwQAMB0GA1UdQQQWBBTADHRovZKuyhJlxlS4WWrQ7XsFKDAfBgNVHSMEGDAWgBTg\n"
+ "+khaP8UOjcwSQQxgT+zhh0aWPDANBgkqhkiG9w0BAQsFAAOCAQEASq5yBiib8FPk\n"
+ "oRONZ4COgGqjQQigeOBRgbHf9AfagpoYDbOKDQS8Iwt9VHZfJxdcJ1OuM1aQqXlN\n"
+ "dUyf+JdR/24NQQyrhL+dEfRGka6Db96YuPsbetVhNIiMm2teXDIPgGzAKuTm4xPA\n"
+ "6zyNVy5AwfDQQQIZ+EUsfOoerIElNyAbh66law4MWuiv4oyX4u49m5lxLuL6mFpR\n"
+ "CIZYWjZMa0MJQQMKGm/AhpfEOkbT58Fg5YmxhnKMk6ps1eR6mh3NgH1IbUqvEYNC\n"
+ "eS42X3kAMxEDQQBOMths0gxeLL+IHdQpXnAjZppW8zEIcN3yfknul35r8R6Qt9aK\n"
+ "q5+/m1ADBw==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIe0eOnLaV750K\n"
+ "4+mVaAftRrJp8t68KJivcRFpkl0ucQs6gwNf9EsVkHineOR3RXypjJ7Hsv+4PIKp\n"
+ "BhEOTprYUKcBaxHK/NIezV6NrO1AwuD6MtJDQF9jGpSy0F3eRUoBCjVYhTl+JxcZ\n"
+ "hGHPJd8WMeanQWY4xG4gTwtpjF3tPU5+JGQwLk5SbcLicM2QMG3CapZinOGK3/XC\n"
+ "Fjsvf5ZhxnixayhfiX/n9BmeP1yxz7YORNYPlL8z1CcLZqJsyjZnNkVwNvl4ft9I\n"
+ "FOKBLoOTSGocHFIFXh5b50GG6QHgvN+TiAwdpfRTUskWVg8VVIh7ymgDoI2jQhk4\n"
+ "EeMaZHd/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU4PpIWj/FDo3MEilcYE/s4YdGljwwHwYDVR0jBBgwFoAU6XJK\n"
+ "EOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQADggEBAJOCrGvbeRqPj+uL\n"
+ "2FIfbkYZAx2nGl3RVv5ZK2YeDpU1udxLihc6Sr67OZbiA4QMKxwgI7pupuwXmyql\n"
+ "vs9dWnNpjzgfc0OqqzVdOFlfw8ew2DQb2sUXCcIkwqXb/pBQ9BvcgdDASu+rm74j\n"
+ "JWDZlhcqeVhZROKfpsjsl+lHgZ7kANwHtUJg/WvK8J971hgElqeBO1O97cGkw/in\n"
+ "e8ooK9Lxk3Td+WdI8C7juCYiwsGqFEKuj7b6937uzvpFmm1fYDdOHhTMcHTHIVTr\n"
+ "uxSSurQ4XSDF6Iuel3+IdpLL79UYJ7Cf4IhBWj0EloF6xWTA6nUYl3gzKpx1Tg1U\n"
+ "x2+26YY=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqLuVrTyiqz+Zs\n"
+ "9Qw5V2Z1y1YSWU6aRDMs+34rP2gwT41C69HBh2LLRS04iJUVQydwnEJukwKlTNRn\n"
+ "1lEpvWgtYmySWA2SyI4xkVzCXgwv0k7WyLwa39hfNY1rXAqhDTL8VO0nXxi8hCMW\n"
+ "ohaXcvsieglhN5uwu6voEdY3Gwtx4V8ysDJ2P9EBo49ZHdpBOv+3YLDxbWZuL/tI\n"
+ "nYkBUHHfWGhUHsRsu0EGob3SFnfiooCbE/vtmn9rUuBEQDqOjOg3el/aTPJzcMi/\n"
+ "RTz+8ho17ZrQRKHZGKWq9Skank+2X9FZoYKFCUlBm6RVud1R54QYZEIj7W9ujQLN\n"
+ "LJrcIwBDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU6XJKEOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAEeXYGhZ8fWDpCGfSGEDX8FTqLwfDXxw18ZJjQJwus7bsJ9K/hAXnasXrn0f\n"
+ "TJ+uJi8muqzP1V376mSUzlwXIzLZCtbwRdDhJJYRrLvf5zfHxHeDgvDALn+1AduF\n"
+ "G/GzCVIFsYNSMdKGwNRp6Ucgl43BPZs6Swn2DXrxxW7Gng+8dvUS2XGLLdH6q1O3\n"
+ "U1EgJilng+VXx9Rg3yCs5xDiehASySsM6MN/+v+Ouf9lkoQCEgrtlW5Lb/neOBlA\n"
+ "aS8PPQuKkIEggNd8hW88YWQOJXMiCAgFppVp5B1Vbghn9IDJQISx/AXAoDXQvQfE\n"
+ "bdOzcKFyDuklHl2IQPnYTFxm/G8=\n"
+ "-----END CERTIFICATE-----\n"
+ };
-static const gnutls_datum_t bad_long_chain = {
- (void *)bad_long_chain_pem, sizeof(bad_long_chain_pem) - 1
-};
+static const gnutls_datum_t long_chain = { (void *)long_chain_pem,
+ sizeof(long_chain_pem) - 1 };
+
+static const gnutls_datum_t bad_long_chain = { (void *)bad_long_chain_pem,
+ sizeof(bad_long_chain_pem) - 1 };
static const test_st tests[] = {
- {.name = "load 5 certs",
- .certs = &long_chain,
- .ncerts = 5,
- .flags = 0},
- {.name = "partial load of 5 certs, with expected failure",
- .certs = &bad_long_chain,
- .ncerts = 5,
- .flags = 0,
- .exp_err = GNUTLS_E_ASN1_TAG_ERROR},
- {.name = "load 2 certs out of 5",
- .certs = &long_chain,
- .max1 = 2,
- .ncerts = 2,
- .flags = 0},
- {.name = "load 1 cert out of 5",
- .certs = &long_chain,
- .ncerts = 1,
- .max1 = 1,
- .max2 = 0,
- .flags = 0},
- {.name = "load 2 certs with fail if exceed",
- .certs = &long_chain,
- .ncerts = 2,
- .max1 = 2,
- .flags = GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED,
- .exp_err = GNUTLS_E_SHORT_MEMORY_BUFFER},
- {.name = "load 2 certs with fail if exceed and retry",
- .certs = &long_chain,
- .ncerts = 5,
- .max1 = 1,
- .max2 = 6,
- .exp_err = 0,
- .flags = GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED},
- {.name = "load certs, fail due to size, and retry, and fail again",
- .certs = &long_chain,
- .max1 = 1,
- .max2 = 3,
- .ncerts = 5,
- .flags = GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED,
- .exp_err = GNUTLS_E_SHORT_MEMORY_BUFFER}
+ { .name = "load 5 certs",
+ .certs = &long_chain,
+ .ncerts = 5,
+ .flags = 0 },
+ { .name = "partial load of 5 certs, with expected failure",
+ .certs = &bad_long_chain,
+ .ncerts = 5,
+ .flags = 0,
+ .exp_err = GNUTLS_E_ASN1_TAG_ERROR },
+ { .name = "load 2 certs out of 5",
+ .certs = &long_chain,
+ .max1 = 2,
+ .ncerts = 2,
+ .flags = 0 },
+ { .name = "load 1 cert out of 5",
+ .certs = &long_chain,
+ .ncerts = 1,
+ .max1 = 1,
+ .max2 = 0,
+ .flags = 0 },
+ { .name = "load 2 certs with fail if exceed",
+ .certs = &long_chain,
+ .ncerts = 2,
+ .max1 = 2,
+ .flags = GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED,
+ .exp_err = GNUTLS_E_SHORT_MEMORY_BUFFER },
+ { .name = "load 2 certs with fail if exceed and retry",
+ .certs = &long_chain,
+ .ncerts = 5,
+ .max1 = 1,
+ .max2 = 6,
+ .exp_err = 0,
+ .flags = GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED },
+ { .name = "load certs, fail due to size, and retry, and fail again",
+ .certs = &long_chain,
+ .max1 = 1,
+ .max2 = 3,
+ .ncerts = 5,
+ .flags = GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED,
+ .exp_err = GNUTLS_E_SHORT_MEMORY_BUFFER }
};
void doit(void)
diff --git a/tests/gnutls_x509_crt_sign.c b/tests/gnutls_x509_crt_sign.c
index c4fac7b793..29c3237f2b 100644
--- a/tests/gnutls_x509_crt_sign.c
+++ b/tests/gnutls_x509_crt_sign.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -37,19 +37,20 @@
#include "cert-common.h"
static unsigned char saved_crt_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICIjCCAYugAwIBAgIDChEAMA0GCSqGSIb3DQEBCwUAMCsxDjAMBgNVBAMTBW5p\n"
- "a29zMRkwFwYDVQQKExBub25lIHRvLCBtZW50aW9uMCAXDTA4MDMzMTIyMDAwMFoY\n"
- "Dzk5OTkxMjMxMjM1OTU5WjArMQ4wDAYDVQQDEwVuaWtvczEZMBcGA1UEChMQbm9u\n"
- "ZSB0bywgbWVudGlvbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu2ZD9fLF\n"
- "17aMzMXf9Yg7sclLag6hrSBQQAiAoU9co9D4bM/mPPfsBHYTF4tkiSJbwN1TfDvt\n"
- "fAS7gLkovo6bxo6gpRLL9Vceoue7tzNJn+O7Sq5qTWj/yRHiMo3OPYALjXXv2ACB\n"
- "jygEA6AijWEEB/q2N30hB0nSCWFpmJCjWKkCAwEAAaNSMFAwDAYDVR0TAQH/BAIw\n"
- "ADAOBgNVHQ8BAf8EBAMCB4AwDgYDVR0RBAcwBYIDYXBhMCAGA1UdJQEB/wQWMBQG\n"
- "CCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOBgQCiZrNQBktpWsND\n"
- "MsH9kdwscx1ybGoeRibdngltnwzIjcl5T+D52fADzKHpuvwq6m5qHUz/f/872E3w\n"
- "AKw9YX7n9316fTydee22/WyNGmP5r6E82Inu6wQpgkrOsgfhs/jNDGEhOw/G1lwZ\n"
- "dAtaww1V7OEVK1WufVUtQ3rQzxYPcQ==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICIjCCAYugAwIBAgIDChEAMA0GCSqGSIb3DQEBCwUAMCsxDjAMBgNVBAMTBW5p\n"
+ "a29zMRkwFwYDVQQKExBub25lIHRvLCBtZW50aW9uMCAXDTA4MDMzMTIyMDAwMFoY\n"
+ "Dzk5OTkxMjMxMjM1OTU5WjArMQ4wDAYDVQQDEwVuaWtvczEZMBcGA1UEChMQbm9u\n"
+ "ZSB0bywgbWVudGlvbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu2ZD9fLF\n"
+ "17aMzMXf9Yg7sclLag6hrSBQQAiAoU9co9D4bM/mPPfsBHYTF4tkiSJbwN1TfDvt\n"
+ "fAS7gLkovo6bxo6gpRLL9Vceoue7tzNJn+O7Sq5qTWj/yRHiMo3OPYALjXXv2ACB\n"
+ "jygEA6AijWEEB/q2N30hB0nSCWFpmJCjWKkCAwEAAaNSMFAwDAYDVR0TAQH/BAIw\n"
+ "ADAOBgNVHQ8BAf8EBAMCB4AwDgYDVR0RBAcwBYIDYXBhMCAGA1UdJQEB/wQWMBQG\n"
+ "CCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOBgQCiZrNQBktpWsND\n"
+ "MsH9kdwscx1ybGoeRibdngltnwzIjcl5T+D52fADzKHpuvwq6m5qHUz/f/872E3w\n"
+ "AKw9YX7n9316fTydee22/WyNGmP5r6E82Inu6wQpgkrOsgfhs/jNDGEhOw/G1lwZ\n"
+ "dAtaww1V7OEVK1WufVUtQ3rQzxYPcQ==\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t saved_crt = { saved_crt_pem, sizeof(saved_crt_pem) - 1 };
@@ -58,7 +59,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -96,8 +97,8 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt2, &server_ecc_cert, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt2, &server_ecc_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret != 0)
fail("gnutls_x509_crt_import\n");
@@ -140,9 +141,8 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_set_key_usage %d\n", ret);
- ret =
- gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
- &err);
+ ret = gnutls_x509_crt_set_dn(crt, "o = none to\\, mention,cn = nikos",
+ &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_dn: %s, %s\n", gnutls_strerror(ret),
err);
@@ -164,9 +164,10 @@ void doit(void)
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
- ret = gnutls_x509_crt_set_subject_alt_name(crt, GNUTLS_SAN_IPADDRESS,
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01",
- 16, 1);
+ ret = gnutls_x509_crt_set_subject_alt_name(
+ crt, GNUTLS_SAN_IPADDRESS,
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01",
+ 16, 1);
if (ret != 0)
fail("gnutls_x509_crt_set_subject_alt_name\n");
@@ -181,9 +182,8 @@ void doit(void)
fail("gnutls_x509_crt_get_key_purpose_oid %d\n", ret);
s = 0;
- ret =
- gnutls_x509_crt_set_key_purpose_oid(crt,
- GNUTLS_KP_TLS_WWW_SERVER, 0);
+ ret = gnutls_x509_crt_set_key_purpose_oid(crt, GNUTLS_KP_TLS_WWW_SERVER,
+ 0);
if (ret != 0)
fail("gnutls_x509_crt_set_key_purpose_oid %d\n", ret);
@@ -193,17 +193,15 @@ void doit(void)
fail("gnutls_x509_crt_get_key_purpose_oid %d\n", ret);
s = 0;
- ret =
- gnutls_x509_crt_set_key_purpose_oid(crt,
- GNUTLS_KP_TLS_WWW_CLIENT, 1);
+ ret = gnutls_x509_crt_set_key_purpose_oid(crt, GNUTLS_KP_TLS_WWW_CLIENT,
+ 1);
if (ret != 0)
fail("gnutls_x509_crt_set_key_purpose_oid2 %d\n", ret);
/* in the end this will be ignored as the issuer will be set
* by gnutls_x509_crt_sign2() */
- ret =
- gnutls_x509_crt_set_issuer_dn(crt, "cn = my CA, o = big\\, and one",
- &err);
+ ret = gnutls_x509_crt_set_issuer_dn(
+ crt, "cn = my CA, o = big\\, and one", &err);
if (ret < 0) {
fail("gnutls_x509_crt_set_issuer_dn: %s, %s\n",
gnutls_strerror(ret), err);
diff --git a/tests/gnutls_x509_privkey_import.c b/tests/gnutls_x509_privkey_import.c
index 1861370608..462358259a 100644
--- a/tests/gnutls_x509_privkey_import.c
+++ b/tests/gnutls_x509_privkey_import.c
@@ -22,7 +22,7 @@
/* This tests key import for gnutls_x509_privkey_t APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,13 +37,9 @@
#include "cert-common.h"
#include "utils.h"
-#define testfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
-const gnutls_datum_t raw_data = {
- (void *)"hello there",
- 11
-};
+const gnutls_datum_t raw_data = { (void *)"hello there", 11 };
static int sign_verify_data(gnutls_x509_privkey_t pkey,
gnutls_sign_algorithm_t algo)
@@ -60,8 +56,8 @@ static int sign_verify_data(gnutls_x509_privkey_t pkey,
if (ret < 0)
fail("gnutls_privkey_import_x509\n");
- ret = gnutls_privkey_sign_data2(privkey, algo, 0,
- &raw_data, &signature);
+ ret = gnutls_privkey_sign_data2(privkey, algo, 0, &raw_data,
+ &signature);
if (ret < 0) {
ret = -1;
goto cleanup;
@@ -83,7 +79,7 @@ static int sign_verify_data(gnutls_x509_privkey_t pkey,
}
ret = 0;
- cleanup:
+cleanup:
if (pubkey)
gnutls_pubkey_deinit(pubkey);
gnutls_privkey_deinit(privkey);
@@ -92,7 +88,7 @@ static int sign_verify_data(gnutls_x509_privkey_t pkey,
return ret;
}
-static void load_privkey(const char *name, const gnutls_datum_t * txtkey,
+static void load_privkey(const char *name, const gnutls_datum_t *txtkey,
gnutls_pk_algorithm_t pk, gnutls_sign_algorithm_t sig,
int exp_key_err)
{
@@ -106,8 +102,8 @@ static void load_privkey(const char *name, const gnutls_datum_t * txtkey,
ret = gnutls_x509_privkey_import(tmp, txtkey, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
if (exp_key_err) {
- testfail
- ("did not fail in key import, although expected\n");
+ testfail(
+ "did not fail in key import, although expected\n");
}
testfail("gnutls_privkey_import: %s\n", gnutls_strerror(ret));
@@ -129,7 +125,7 @@ static void load_privkey(const char *name, const gnutls_datum_t * txtkey,
return;
}
-static void load_privkey_in_der(const char *name, const gnutls_datum_t * txtkey,
+static void load_privkey_in_der(const char *name, const gnutls_datum_t *txtkey,
gnutls_pk_algorithm_t pk,
gnutls_sign_algorithm_t sig, int exp_key_err)
{
@@ -152,8 +148,8 @@ static void load_privkey_in_der(const char *name, const gnutls_datum_t * txtkey,
if (ret < 0) {
if (exp_key_err) {
- testfail
- ("did not fail in key import, although expected\n");
+ testfail(
+ "did not fail in key import, although expected\n");
}
testfail("gnutls_privkey_import: %s\n", gnutls_strerror(ret));
@@ -183,33 +179,36 @@ typedef struct test_st {
int exp_key_err;
} test_st;
-static const test_st tests[] = {
- {.name = "ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .sig = GNUTLS_SIGN_ECDSA_SHA256,
- .key = &server_ca3_ecc_key,
- },
- {.name = "rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .sig = GNUTLS_SIGN_RSA_SHA384,
- .key = &server_ca3_key,
- },
- {.name = "rsa-pss-sign key (PKCS#8)",
- .pk = GNUTLS_PK_RSA_PSS,
- .sig = GNUTLS_SIGN_RSA_PSS_SHA256,
- .key = &server_ca3_rsa_pss2_key,
- },
- {.name = "dsa key",
- .pk = GNUTLS_PK_DSA,
- .sig = GNUTLS_SIGN_DSA_SHA1,
- .key = &dsa_key,
- },
- {.name = "ed25519 key (PKCS#8)",
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .sig = GNUTLS_SIGN_EDDSA_ED25519,
- .key = &server_ca3_eddsa_key,
- }
-};
+static const test_st tests[] = { {
+ .name = "ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .sig = GNUTLS_SIGN_ECDSA_SHA256,
+ .key = &server_ca3_ecc_key,
+ },
+ {
+ .name = "rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .sig = GNUTLS_SIGN_RSA_SHA384,
+ .key = &server_ca3_key,
+ },
+ {
+ .name = "rsa-pss-sign key (PKCS#8)",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .sig = GNUTLS_SIGN_RSA_PSS_SHA256,
+ .key = &server_ca3_rsa_pss2_key,
+ },
+ {
+ .name = "dsa key",
+ .pk = GNUTLS_PK_DSA,
+ .sig = GNUTLS_SIGN_DSA_SHA1,
+ .key = &dsa_key,
+ },
+ {
+ .name = "ed25519 key (PKCS#8)",
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .sig = GNUTLS_SIGN_EDDSA_ED25519,
+ .key = &server_ca3_eddsa_key,
+ } };
void doit(void)
{
diff --git a/tests/handshake-false-start.c b/tests/handshake-false-start.c
index 07cca827d0..84c2a1d84c 100644
--- a/tests/handshake-false-start.c
+++ b/tests/handshake-false-start.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -50,8 +50,9 @@ enum {
TESTNO_MAX
};
-#define myfail(fmt, ...) \
- fail("%s%s %d: "fmt, dtls?"dtls":"tls", name, testno, ##__VA_ARGS__)
+#define myfail(fmt, ...) \
+ fail("%s%s %d: " fmt, dtls ? "dtls" : "tls", name, testno, \
+ ##__VA_ARGS__)
static void try(const char *name, unsigned testno, unsigned fs,
const char *prio, unsigned dhsize, unsigned dtls)
@@ -68,10 +69,10 @@ static void try(const char *name, unsigned testno, unsigned fs,
gnutls_certificate_credentials_t clientx509cred;
gnutls_session_t client;
int cret = GNUTLS_E_AGAIN;
- const gnutls_datum_t p3_2048 =
- { (void *)pkcs3_2048, strlen(pkcs3_2048) };
- const gnutls_datum_t p3_3072 =
- { (void *)pkcs3_3072, strlen(pkcs3_3072) };
+ const gnutls_datum_t p3_2048 = { (void *)pkcs3_2048,
+ strlen(pkcs3_2048) };
+ const gnutls_datum_t p3_3072 = { (void *)pkcs3_3072,
+ strlen(pkcs3_3072) };
gnutls_dh_params_t dh_params;
unsigned flags = 0;
@@ -101,11 +102,10 @@ static void try(const char *name, unsigned testno, unsigned fs,
gnutls_anon_set_server_dh_params(serveranoncred, dh_params);
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_ecc_cert, &server_ecc_key,
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_ecc_cert,
+ &server_ecc_key,
GNUTLS_X509_FMT_PEM);
gnutls_certificate_set_dh_params(serverx509cred, dh_params);
@@ -128,15 +128,13 @@ static void try(const char *name, unsigned testno, unsigned fs,
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_init(&client,
- GNUTLS_CLIENT | GNUTLS_ENABLE_FALSE_START | flags);
+ ret = gnutls_init(&client,
+ GNUTLS_CLIENT | GNUTLS_ENABLE_FALSE_START | flags);
if (ret < 0)
exit(1);
@@ -161,20 +159,20 @@ static void try(const char *name, unsigned testno, unsigned fs,
HANDSHAKE(client, server);
- if ((gnutls_session_get_flags(client) & GNUTLS_SFLAGS_FALSE_START)
- && !fs) {
+ if ((gnutls_session_get_flags(client) & GNUTLS_SFLAGS_FALSE_START) &&
+ !fs) {
myfail("false start occurred but not expected\n");
}
- if (!(gnutls_session_get_flags(client) & GNUTLS_SFLAGS_FALSE_START)
- && fs) {
+ if (!(gnutls_session_get_flags(client) & GNUTLS_SFLAGS_FALSE_START) &&
+ fs) {
myfail("false start expected but not happened\n");
}
if (testno == TEST_SEND_RECV) {
side = "client";
- ret =
- gnutls_record_send(client, TESTDATA, sizeof(TESTDATA) - 1);
+ ret = gnutls_record_send(client, TESTDATA,
+ sizeof(TESTDATA) - 1);
if (ret < 0) {
myfail("error sending false start data: %s\n",
gnutls_strerror(ret));
@@ -198,8 +196,8 @@ static void try(const char *name, unsigned testno, unsigned fs,
}
/* check handshake completion */
- ret =
- gnutls_record_send(server, TESTDATA, sizeof(TESTDATA) - 1);
+ ret = gnutls_record_send(server, TESTDATA,
+ sizeof(TESTDATA) - 1);
if (ret < 0) {
myfail("error sending false start data: %s\n",
gnutls_strerror(ret));
@@ -208,8 +206,8 @@ static void try(const char *name, unsigned testno, unsigned fs,
side = "client";
do {
- ret =
- gnutls_record_recv(client, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(client, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
myfail("error receiving data: %s\n",
@@ -217,8 +215,8 @@ static void try(const char *name, unsigned testno, unsigned fs,
}
} else if (testno == TEST_RECV_SEND) {
side = "server";
- ret =
- gnutls_record_send(server, TESTDATA, sizeof(TESTDATA) - 1);
+ ret = gnutls_record_send(server, TESTDATA,
+ sizeof(TESTDATA) - 1);
if (ret < 0) {
myfail("error sending false start data: %s\n",
gnutls_strerror(ret));
@@ -244,9 +242,8 @@ static void try(const char *name, unsigned testno, unsigned fs,
/* explicit completion by caller */
ret = gnutls_handshake(client);
if (ret != GNUTLS_E_HANDSHAKE_DURING_FALSE_START) {
- myfail
- ("error in explicit handshake after false start: %s\n",
- gnutls_strerror(ret));
+ myfail("error in explicit handshake after false start: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -266,7 +263,7 @@ static void try(const char *name, unsigned testno, unsigned fs,
}
success("%5s%s \tok\n", dtls ? "dtls-" : "tls-", name);
- exit:
+exit:
gnutls_deinit(client);
gnutls_deinit(server);
diff --git a/tests/handshake-large-cert.c b/tests/handshake-large-cert.c
index 44cf144f28..6d4f557573 100644
--- a/tests/handshake-large-cert.c
+++ b/tests/handshake-large-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,18 +36,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# include <signal.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#include <signal.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
-# include "utils.h"
+#include "utils.h"
/* This test checks whether a large certificate packet can be sent by
* server and received by client. */
@@ -111,40 +111,39 @@ static void client(int sd, const char *prio)
}
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEowIBAAKCAQEAwJo7662RNezA254WRsXlbuzkPV5eNX7pX5Pj66T8/RKfz7rL\n"
- "GpKs4fNxhhIMSUDjy2KbEQXPUH9MWROgU8V//CfcnagLYCHtniqRE+eXv0fCLwWU\n"
- "SrA8n0qCBj94/NMA4kSmHf6dE5YdjDSpukyza5IshAuxZ32MDevE3JqMjvnZ5vY7\n"
- "drJSfal0V5gof3/7J41ZVxl+WJph50e2pY1E27/hY8q5yQ3DXnE5kTQjX664ozQ8\n"
- "UPtqGfkr4YjYe4e6PUWAjU27mQng0O0K+/w8gg6xBxN/AH3U7dg5/cY5IKDsN+Iq\n"
- "4UrcCgXWjhosv9IlIXqzK7IBMMphPmRMCLMH2QIDAQABAoIBAGpOdxZdZdH6zHQr\n"
- "rKYBouJ39H5+8MbcNtmfWmT9WvogZn8U3ffbz3qjkRxsJ8XjABiJY4egyk3nBXAB\n"
- "KjQyxbKbGeUXFLhJ4cq0OgFfid11MRQdIz2aSsutJ1llfVUm7cz2ES5rE6305Hg3\n"
- "tRr0LPAJ7XIwtgmmPUCNysnsr/pVrmPLfAnl/CfbLF2v/SfpbSpkgUTrZCNUMC44\n"
- "929K4c7cFEM4SP6pUad6MipPzY/SmxZ9yhX3MsROcLp+XLCOOJhhkqoB6LWiess2\n"
- "d7odweFRZ0Q0gBD/9EMMy3J5iUwfasf8b5n7z8AgPg9CeB+p/As2/RhRPXnwlS0A\n"
- "2KrxWQECgYEA0wM+5fJeL91s19vozCqi3mKVXTv68aL9iQJQNJc4UQm+yu7JvMn9\n"
- "koPri74QUpYkmyttaJsGNc90Oj54rSsR/cmEFJKgHOEAYSLeVetyO2XNoQvKdyB9\n"
- "UVof6joMLxQ368YCahfz4ogHTQqpzN0BD2TTnKXwCXQDikN/EBb4fHkCgYEA6aov\n"
- "8XVIVlxUY4VB/9PQ03OwxTLi+zTJMFJvNJozkat6MLJjAv2zxMt2kmlb0xx3wftD\n"
- "VJKHIQCeZmU8qWEZS0G58OPg+TPvQPqdnZmRz3bGfW6F++IDAqV4DEhQ+zXQL8Js\n"
- "j9+ocre+s0zXq1HkHgemBGOHy5/jN9cXnH3XTmECgYATRFiZ5mdzN2SY0RuQiNQW\n"
- "OiopOTDQn3FG8U8hfi1GOP2Syfrhog/lMOZw/AnBgLQW9wAmbQFEKI0URGAAb85U\n"
- "vfGxbzHvcRv3wpdKgRUNF16PNeRmvDC1HOWNHX+/TLlObeYKieVa6dDA2Bho/ET8\n"
- "gthPlVc1hcJM/Zy8e1x1AQKBgQCuLDiugGDaVtpkkIlAu8/WPk9Ovv6oh5FMHrZb\n"
- "/HFiLPLY56+cJCZjE9Kfkj9rHrY59yQaH1rwg7iO1PmhvAoRqb2DTSl+OHMn+WeR\n"
- "eU5R2dRc3QysU60wxMy2QxVyG4vCfedUW0ABuutAVZARWOp0Y/khHluzscu57O/h\n"
- "q3/ZIQKBgEXHmOjftWrkWV+/zfZT64k2Z1g7s3dpXW/SFK9jPrt6oqI1GNkYz6Ds\n"
- "O1dUiPsNXDCLytUtvYrvrT3rJaPjJDRU2HrN/cYdxXgf6HSEr3Cdcpqyp/5rOOxD\n"
- "ALEix6R4MZlsQV8FfgWjvTAET7NtY303JrCdFPqIigwl/PFGPLiB\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEowIBAAKCAQEAwJo7662RNezA254WRsXlbuzkPV5eNX7pX5Pj66T8/RKfz7rL\n"
+ "GpKs4fNxhhIMSUDjy2KbEQXPUH9MWROgU8V//CfcnagLYCHtniqRE+eXv0fCLwWU\n"
+ "SrA8n0qCBj94/NMA4kSmHf6dE5YdjDSpukyza5IshAuxZ32MDevE3JqMjvnZ5vY7\n"
+ "drJSfal0V5gof3/7J41ZVxl+WJph50e2pY1E27/hY8q5yQ3DXnE5kTQjX664ozQ8\n"
+ "UPtqGfkr4YjYe4e6PUWAjU27mQng0O0K+/w8gg6xBxN/AH3U7dg5/cY5IKDsN+Iq\n"
+ "4UrcCgXWjhosv9IlIXqzK7IBMMphPmRMCLMH2QIDAQABAoIBAGpOdxZdZdH6zHQr\n"
+ "rKYBouJ39H5+8MbcNtmfWmT9WvogZn8U3ffbz3qjkRxsJ8XjABiJY4egyk3nBXAB\n"
+ "KjQyxbKbGeUXFLhJ4cq0OgFfid11MRQdIz2aSsutJ1llfVUm7cz2ES5rE6305Hg3\n"
+ "tRr0LPAJ7XIwtgmmPUCNysnsr/pVrmPLfAnl/CfbLF2v/SfpbSpkgUTrZCNUMC44\n"
+ "929K4c7cFEM4SP6pUad6MipPzY/SmxZ9yhX3MsROcLp+XLCOOJhhkqoB6LWiess2\n"
+ "d7odweFRZ0Q0gBD/9EMMy3J5iUwfasf8b5n7z8AgPg9CeB+p/As2/RhRPXnwlS0A\n"
+ "2KrxWQECgYEA0wM+5fJeL91s19vozCqi3mKVXTv68aL9iQJQNJc4UQm+yu7JvMn9\n"
+ "koPri74QUpYkmyttaJsGNc90Oj54rSsR/cmEFJKgHOEAYSLeVetyO2XNoQvKdyB9\n"
+ "UVof6joMLxQ368YCahfz4ogHTQqpzN0BD2TTnKXwCXQDikN/EBb4fHkCgYEA6aov\n"
+ "8XVIVlxUY4VB/9PQ03OwxTLi+zTJMFJvNJozkat6MLJjAv2zxMt2kmlb0xx3wftD\n"
+ "VJKHIQCeZmU8qWEZS0G58OPg+TPvQPqdnZmRz3bGfW6F++IDAqV4DEhQ+zXQL8Js\n"
+ "j9+ocre+s0zXq1HkHgemBGOHy5/jN9cXnH3XTmECgYATRFiZ5mdzN2SY0RuQiNQW\n"
+ "OiopOTDQn3FG8U8hfi1GOP2Syfrhog/lMOZw/AnBgLQW9wAmbQFEKI0URGAAb85U\n"
+ "vfGxbzHvcRv3wpdKgRUNF16PNeRmvDC1HOWNHX+/TLlObeYKieVa6dDA2Bho/ET8\n"
+ "gthPlVc1hcJM/Zy8e1x1AQKBgQCuLDiugGDaVtpkkIlAu8/WPk9Ovv6oh5FMHrZb\n"
+ "/HFiLPLY56+cJCZjE9Kfkj9rHrY59yQaH1rwg7iO1PmhvAoRqb2DTSl+OHMn+WeR\n"
+ "eU5R2dRc3QysU60wxMy2QxVyG4vCfedUW0ABuutAVZARWOp0Y/khHluzscu57O/h\n"
+ "q3/ZIQKBgEXHmOjftWrkWV+/zfZT64k2Z1g7s3dpXW/SFK9jPrt6oqI1GNkYz6Ds\n"
+ "O1dUiPsNXDCLytUtvYrvrT3rJaPjJDRU2HrN/cYdxXgf6HSEr3Cdcpqyp/5rOOxD\n"
+ "ALEix6R4MZlsQV8FfgWjvTAET7NtY303JrCdFPqIigwl/PFGPLiB\n"
+ "-----END RSA PRIVATE KEY-----\n";
static void server(int sd, const char *prio)
{
gnutls_certificate_credentials_t serverx509cred;
const gnutls_datum_t key = { server_key_pem,
- sizeof(server_key_pem) - 1
- };
+ sizeof(server_key_pem) - 1 };
int ret;
gnutls_session_t session;
gnutls_datum_t cert;
@@ -166,8 +165,7 @@ static void server(int sd, const char *prio)
assert(gnutls_load_file(cert_path, &cert) >= 0);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &cert, &key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &cert, &key,
GNUTLS_X509_FMT_PEM) >= 0);
gnutls_free(cert.data);
@@ -208,8 +206,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *name, const char *prio)
+static void start(const char *name, const char *prio)
{
pid_t child;
int sockets[2];
@@ -255,4 +252,4 @@ void doit(void)
start("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/handshake-large-packet.c b/tests/handshake-large-packet.c
index 8e2d2833e0..02bcd4bca3 100644
--- a/tests/handshake-large-packet.c
+++ b/tests/handshake-large-packet.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,19 +36,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# include <signal.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#include <signal.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
/* This test checks whether a large handshake packet is accepted by client
* and by server. (large is around 64kb)
@@ -60,16 +60,16 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define TLSEXT_TYPE1 0xFA
-# define TLSEXT_TYPE2 0xFB
-# define TLSEXT_TYPE3 0xFC
-# define TLSEXT_TYPE4 0xFD
-# define TLSEXT_TYPE5 0xFE
+#define TLSEXT_TYPE1 0xFA
+#define TLSEXT_TYPE2 0xFB
+#define TLSEXT_TYPE3 0xFC
+#define TLSEXT_TYPE4 0xFD
+#define TLSEXT_TYPE5 0xFE
static int TLSEXT_TYPE_server_sent = 0;
static int TLSEXT_TYPE_client_received = 0;
-# define MAX_SIZE (12*1024)
+#define MAX_SIZE (12 * 1024)
static int ext_recv_client_params(gnutls_session_t session,
const unsigned char *buf, size_t buflen)
@@ -79,7 +79,7 @@ static int ext_recv_client_params(gnutls_session_t session,
TLSEXT_TYPE_client_received++;
- return 0; //Success
+ return 0; //Success
}
static int ext_send_client_params(gnutls_session_t session,
@@ -97,7 +97,7 @@ static int ext_send_client_params(gnutls_session_t session,
static int ext_recv_server_params(gnutls_session_t session,
const unsigned char *buf, size_t buflen)
{
- return 0; //Success
+ return 0; //Success
}
static int ext_send_server_params(gnutls_session_t session,
@@ -183,7 +183,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -209,9 +209,8 @@ static void server(int sd, const char *prio)
side = "server";
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
@@ -278,8 +277,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
pid_t child;
int sockets[2];
@@ -325,4 +323,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/handshake-timeout.c b/tests/handshake-timeout.c
index 53087aff70..150988e1c4 100644
--- a/tests/handshake-timeout.c
+++ b/tests/handshake-timeout.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,17 +37,17 @@ int main(void)
#else
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
/* This program tests whether the handshake timeout value is enforced.
*/
@@ -83,9 +83,8 @@ static void client(int fd, int tmo_ms)
gnutls_handshake_set_timeout(session, tmo_ms);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.2", NULL);
/* put the anonymous credentials to the current session
*/
@@ -97,8 +96,7 @@ static void client(int fd, int tmo_ms)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
gnutls_deinit(session);
gnutls_anon_free_client_credentials(anoncred);
@@ -147,9 +145,8 @@ static void server(int fd, int tmo_ms)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.2", NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -159,12 +156,12 @@ static void server(int fd, int tmo_ms)
char buf[32];
// read until client closes connection
- while (read(fd, buf, sizeof(buf)) > 0) ;
+ while (read(fd, buf, sizeof(buf)) > 0)
+ ;
} else {
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == 0)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
@@ -234,4 +231,4 @@ void doit(void)
start(1000);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/handshake-versions.c b/tests/handshake-versions.c
index 38b83a398e..09b027d563 100644
--- a/tests/handshake-versions.c
+++ b/tests/handshake-versions.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -65,9 +65,8 @@ static void try(unsigned char major, unsigned char minor, int ret1, int ret2)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -83,9 +82,8 @@ static void try(unsigned char major, unsigned char minor, int ret1, int ret2)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
diff --git a/tests/handshake-write.c b/tests/handshake-write.c
index f1385039da..8e5cd603f3 100644
--- a/tests/handshake-write.c
+++ b/tests/handshake-write.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,10 +47,11 @@ static void tls_log_func(int level, const char *str)
}
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
-static ssize_t
-error_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t error_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
fail("push_func called unexpectedly");
return -1;
@@ -62,11 +63,10 @@ static ssize_t error_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
return -1;
}
-static int
-handshake_read_func(gnutls_session_t session,
- gnutls_record_encryption_level_t level,
- gnutls_handshake_description_t htype,
- const void *data, size_t data_size)
+static int handshake_read_func(gnutls_session_t session,
+ gnutls_record_encryption_level_t level,
+ gnutls_handshake_description_t htype,
+ const void *data, size_t data_size)
{
gnutls_session_t peer = gnutls_session_get_ptr(session);
@@ -98,10 +98,9 @@ static void run(const char *name, const char *prio)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_ca3_localhost_cert,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ scred, &server_ca3_localhost_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
assert(gnutls_priority_set_direct(server, prio, NULL) >= 0);
@@ -112,8 +111,8 @@ static void run(const char *name, const char *prio)
/* Init client */
assert(gnutls_certificate_allocate_credentials(&ccred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
assert(gnutls_priority_set_direct(client, prio, NULL) >= 0);
diff --git a/tests/hex.c b/tests/hex.c
index c5b3b6a58d..9443408210 100644
--- a/tests/hex.c
+++ b/tests/hex.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,7 +33,7 @@
#include "utils.h"
-static void encode(const char *test_name, const gnutls_datum_t * raw,
+static void encode(const char *test_name, const gnutls_datum_t *raw,
const char *expected)
{
int ret;
@@ -47,12 +47,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_hex_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_hex_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_hex_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_hex_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -68,12 +70,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (raw->size != out.size) {
- fail("%s: gnutls_hex_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_hex_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_hex_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_hex_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -82,7 +86,7 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void decode(const char *test_name, const gnutls_datum_t * raw,
+static void decode(const char *test_name, const gnutls_datum_t *raw,
const char *hex, int res)
{
int ret;
@@ -92,7 +96,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
in.size = strlen(hex);
ret = gnutls_hex_decode2(&in, &out);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: gnutls_hex_decode2: %d/%s\n", test_name, ret,
gnutls_strerror(ret));
@@ -100,17 +104,20 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (res != 0) {
- fail("%s: gnutls_hex_decode2: expected failure, but succeeded!\n", test_name);
+ fail("%s: gnutls_hex_decode2: expected failure, but succeeded!\n",
+ test_name);
exit(1);
}
if (raw->size != out.size) {
- fail("%s: gnutls_hex_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_hex_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_hex_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_hex_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -119,7 +126,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void decode2(const char *test_name, const gnutls_datum_t * raw,
+static void decode2(const char *test_name, const gnutls_datum_t *raw,
const char *hex, int res)
{
int ret;
@@ -129,7 +136,7 @@ static void decode2(const char *test_name, const gnutls_datum_t * raw,
outlen = sizeof(output);
ret = gnutls_hex2bin(hex, strlen(hex), output, &outlen);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: gnutls_hex2bin: %d/%s\n", test_name, ret,
gnutls_strerror(ret));
@@ -143,7 +150,8 @@ static void decode2(const char *test_name, const gnutls_datum_t * raw,
}
if (raw->size != outlen) {
- fail("%s: gnutls_hex2bin: output has incorrect size (%d, expected %d)\n", test_name, (int)outlen, raw->size);
+ fail("%s: gnutls_hex2bin: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)outlen, raw->size);
exit(1);
}
@@ -163,20 +171,14 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "rnd1",
- .hex = "f69a468a84697a2883da52cd602f3978",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16}
- },
- {
- .name = "rnd2",
- .hex = "2c9ffb8546774ed3c8cf6765739f98bc42def9",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19}
- }
+ { .name = "rnd1",
+ .hex = "f69a468a84697a2883da52cd602f3978",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 } },
+ { .name = "rnd2",
+ .hex = "2c9ffb8546774ed3c8cf6765739f98bc42def9",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 } }
};
struct decode_tests_st {
@@ -188,38 +190,30 @@ struct decode_tests_st {
};
struct decode_tests_st decode_tests[] = {
- {
- .name = "dec-rnd1",
- .hex = "f69a468a84697a2883da52cd602f3978",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16},
- .res = 0,
- .hex2bin_res = 0},
- {
- .name = "dec-rnd2",
- .hex = "2c9ffb8546774ed3c8cf6765739f98bc42def9",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = 0,
- .hex2bin_res = 0},
- {
- .name = "dec-colon",
- .hex = "2c:9f:fb:85:46:77:4e:d3:c8:cf:67:65:73:9f:98:bc:42:de:f9",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_PARSING_ERROR,
- .hex2bin_res = 0},
- {
- .name = "dec-odd-len",
- .hex = "2c9ffb8546774ed3c8cf6765739f98bc42def9a",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_PARSING_ERROR,
- .hex2bin_res = GNUTLS_E_PARSING_ERROR}
+ { .name = "dec-rnd1",
+ .hex = "f69a468a84697a2883da52cd602f3978",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 },
+ .res = 0,
+ .hex2bin_res = 0 },
+ { .name = "dec-rnd2",
+ .hex = "2c9ffb8546774ed3c8cf6765739f98bc42def9",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = 0,
+ .hex2bin_res = 0 },
+ { .name = "dec-colon",
+ .hex = "2c:9f:fb:85:46:77:4e:d3:c8:cf:67:65:73:9f:98:bc:42:de:f9",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_PARSING_ERROR,
+ .hex2bin_res = 0 },
+ { .name = "dec-odd-len",
+ .hex = "2c9ffb8546774ed3c8cf6765739f98bc42def9a",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_PARSING_ERROR,
+ .hex2bin_res = GNUTLS_E_PARSING_ERROR }
};
void doit(void)
diff --git a/tests/hex.h b/tests/hex.h
index f388059c51..091ec21592 100644
--- a/tests/hex.h
+++ b/tests/hex.h
@@ -20,11 +20,11 @@
*/
#ifndef GNUTLS_TESTS_HEX_H
-# define GNUTLS_TESTS_HEX_H
+#define GNUTLS_TESTS_HEX_H
-# include <stdio.h>
-# include <string.h>
-# include <gnutls/gnutls.h>
+#include <stdio.h>
+#include <string.h>
+#include <gnutls/gnutls.h>
inline static gnutls_datum_t SHEX(const char *hex)
{
@@ -47,4 +47,4 @@ inline static gnutls_datum_t SDATA(const char *txt)
return output;
}
-#endif /* GNUTLS_TESTS_HEX_H */
+#endif /* GNUTLS_TESTS_HEX_H */
diff --git a/tests/hostname-check-utf8.c b/tests/hostname-check-utf8.c
index 7304fedc5c..0c7dcf385d 100644
--- a/tests/hostname-check-utf8.c
+++ b/tests/hostname-check-utf8.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -30,7 +30,7 @@
#if defined(HAVE_LIBIDN2)
/* to obtain version */
-# include <idn2.h>
+#include <idn2.h>
#endif
#include "utils.h"
@@ -40,62 +40,63 @@
certificates.
*/
-char pem_inv_utf8_dns[] = "\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: γγγ.τόστ.gr\n"
- " DNSname: τέστ.gr\n"
- " DNSname: *.teχ.gr\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDWzCCAkOgAwIBAgIMU/SjEDp2nsS3kX9vMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIhgPMjAxNDA4MjAxMzMwNTZaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDggz41h9PcOjL7UOqx0FfZNtqoRhYQn6bVQqCehwERMDlR4QOqK3LRqE2B\n"
- "cYyVlcdS63tnNFjYCLCz3/CV4rcJBNI3hfFZHUza70iFQ72xMvcgFPyl7UmXqIne\n"
- "8swJ9jLMKou350ztPhshhXORqKxaDHBMcgD/Ade3Yxo2N1smsyINK+riged7A4QD\n"
- "O9IgR9eERQbFrHGz+WgUUgoLFLF4DN1ANpWuZcOV1f9bRB8ADPyKo1yZY1sJj1gE\n"
- "JRRsiOZLSLZ9D/1MLM7BXPuxWmWlJAGfNvrcXX/7FHe6QxC5gi1C6ZUEIZCne+Is\n"
- "HpDNoz/A9vDn6iXZJBFXKyijNpVfAgMBAAGjga4wgaswDAYDVR0TAQH/BAIwADA1\n"
- "BgNVHREELjAsghLOs86zzrMuz4TPjM+Dz4QuZ3KCC8+Ezq3Pg8+ELmdyggkqLnRl\n"
- "z4cuZ3IwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAdBgNV\n"
- "HQ4EFgQUvjD8gT+By/Xj/n+SGCVvL/KVElMwHwYDVR0jBBgwFoAUhU7w94kERpAh\n"
- "6DEIh3nEVJnwSaUwDQYJKoZIhvcNAQELBQADggEBAIKuSREAd6ZdcS+slbx+hvew\n"
- "IRBz5QGlCCjR4Oj5arIwFGnh0GdvAgzPa3qn6ReG1gvpe8k3X6Z2Yevw+DubLZNG\n"
- "9CsfLfDIg2wUm05cuQdQG+gTSBVqw56jWf/JFXXwzhnbjX3c2QtepFsvkOnlWGFE\n"
- "uVX6AiPfiNChVxnb4e1xpxOt6W/su19ar5J7rdDrdyVVm/ioSKvXhbBXI4f8NF2x\n"
- "wTEzbtl99HyjbLIRRCWpUU277khHLr8SSFqdSr100zIkdiB72LfPXAHVld1onV2z\n"
- "PPFYVMsnY+fuxIsTVErX3bLj6v67Bs3BNzagFUlyJl5rBGwn73UafNWz3BYDyxY=\n"
- "-----END CERTIFICATE-----\n";
+char pem_inv_utf8_dns[] =
+ "\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: γγγ.τόστ.gr\n"
+ " DNSname: τέστ.gr\n"
+ " DNSname: *.teχ.gr\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDWzCCAkOgAwIBAgIMU/SjEDp2nsS3kX9vMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIhgPMjAxNDA4MjAxMzMwNTZaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDggz41h9PcOjL7UOqx0FfZNtqoRhYQn6bVQqCehwERMDlR4QOqK3LRqE2B\n"
+ "cYyVlcdS63tnNFjYCLCz3/CV4rcJBNI3hfFZHUza70iFQ72xMvcgFPyl7UmXqIne\n"
+ "8swJ9jLMKou350ztPhshhXORqKxaDHBMcgD/Ade3Yxo2N1smsyINK+riged7A4QD\n"
+ "O9IgR9eERQbFrHGz+WgUUgoLFLF4DN1ANpWuZcOV1f9bRB8ADPyKo1yZY1sJj1gE\n"
+ "JRRsiOZLSLZ9D/1MLM7BXPuxWmWlJAGfNvrcXX/7FHe6QxC5gi1C6ZUEIZCne+Is\n"
+ "HpDNoz/A9vDn6iXZJBFXKyijNpVfAgMBAAGjga4wgaswDAYDVR0TAQH/BAIwADA1\n"
+ "BgNVHREELjAsghLOs86zzrMuz4TPjM+Dz4QuZ3KCC8+Ezq3Pg8+ELmdyggkqLnRl\n"
+ "z4cuZ3IwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAdBgNV\n"
+ "HQ4EFgQUvjD8gT+By/Xj/n+SGCVvL/KVElMwHwYDVR0jBBgwFoAUhU7w94kERpAh\n"
+ "6DEIh3nEVJnwSaUwDQYJKoZIhvcNAQELBQADggEBAIKuSREAd6ZdcS+slbx+hvew\n"
+ "IRBz5QGlCCjR4Oj5arIwFGnh0GdvAgzPa3qn6ReG1gvpe8k3X6Z2Yevw+DubLZNG\n"
+ "9CsfLfDIg2wUm05cuQdQG+gTSBVqw56jWf/JFXXwzhnbjX3c2QtepFsvkOnlWGFE\n"
+ "uVX6AiPfiNChVxnb4e1xpxOt6W/su19ar5J7rdDrdyVVm/ioSKvXhbBXI4f8NF2x\n"
+ "wTEzbtl99HyjbLIRRCWpUU277khHLr8SSFqdSr100zIkdiB72LfPXAHVld1onV2z\n"
+ "PPFYVMsnY+fuxIsTVErX3bLj6v67Bs3BNzagFUlyJl5rBGwn73UafNWz3BYDyxY=\n"
+ "-----END CERTIFICATE-----\n";
char pem_utf8_dns[] =
- "Subject Alternative Name (not critical):\n"
- " DNSname: xn--oxaaa.xn--4xabb4a.gr (γγγ.τόστ.gr)\n"
- " DNSname: xn--ixa8bbc.gr (τέστ.gr)\n"
- " DNSname: *.xn--te-8bc.gr (*.teχ.gr)\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEFTCCAn2gAwIBAgIMWElZgiWN43F5pluiMA0GCSqGSIb3DQEBCwUAMA0xCzAJ\n"
- "BgNVBAYTAkdSMB4XDTA0MDIyOTE1MjE0MloXDTI0MDIyOTE1MjE0MVowDTELMAkG\n"
- "A1UEBhMCR1IwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC23cZ4hvts\n"
- "D/zjXmX70ewCWpFaOXXhSiB1U4ogVsIYPh0o3eJ3w2vr8k7f8CHZXT9T64g9UYoH\n"
- "PM+vPkcT6RnwHNfe6SpSqTtPCNC9UQyp4wVq+HxnQsxOrmf2bClYn6CGaXQvDNiG\n"
- "KQCDGoxLZx+d12dYUxL4l07J3rogk7Wqe9znkpC+9UqyDJIAZgF9e4H190sRY0FM\n"
- "zrOkDDDmt/vBlu0SPhP0sktUJDjvOtHY/V2IDp0y9tImxnFhdl5k4kAEiPiph72C\n"
- "QjSRf/Kb5siUcgRxmTvN9GgWNPg3EtmyynMjIlnzicO1p6Wju80hAuVhYKOI3aq6\n"
- "FAUHY0DQkkna7dcmKwJdUo9jzMWBV+B+eOT69rDKcAvQJz5PfrrnE9SJ4/eteam7\n"
- "l4BcIZIKSuaZz48ymh6exEpSY+P3SD05oZbeQVfgi4e7Ui81S63XRlPqLPCYp0+N\n"
- "q2nSeVedR59AtQhyGhQLgQneV0R17aym+1nJ8AjsZXL7sfYef/OOxeMCAwEAAaN1\n"
- "MHMwDAYDVR0TAQH/BAIwADBEBgNVHREEPTA7ghh4bi0tb3hhYWEueG4tLTR4YWJi\n"
- "NGEuZ3KCDnhuLS1peGE4YmJjLmdygg8qLnhuLS10ZS04YmMuZ3IwHQYDVR0OBBYE\n"
- "FPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQAOAECgc096\n"
- "3WH7G83bRmVDooGATNP0v3cmYebVu3RL77/vlCO3UOS9lVxEwlF/6V1u3OqEqwUy\n"
- "EzGInEAmqR/VIoubIVrFqzaMMjfCHdKPuyWeCb3ylp0o2lxRKbC9m/Bu8Iv5rZdN\n"
- "fTZVyJbp1Ddw4GhM0UZ/IK3h8J8UtarSijhha0UX9EwQo4wi1NRpc2nxRGy7xUHG\n"
- "GqUCFBe6cgKBEBRWh3Gha5UgwqkapA9eGGmb7CRzOHZA0raIcxwb2w2Htf7ziE1G\n"
- "UBdo0ZtpVYq/EDggP4XIvqHb8bJVFuOiu2xf71JoPgjg4+1CEj+vgkI4j/RGDjZ/\n"
- "bQ66XHY2EbCjhSLoCGpY924frilrFL3cMofdMguxtsONwUotYmCF6VI/EtELvIdf\n"
- "NbdaPqI2524oBDlD98DTJa5mGoaFUyJGotcK3e9fniIxbVW8/Ykwhqbj+9wKjYEP\n"
- "ywY/9UOj+wjwULkIxK9g91yGLRDAO/6xzCF5ly5i4oXBqKLAKZ7vBTU=\n"
- "-----END CERTIFICATE-----\n";
+ "Subject Alternative Name (not critical):\n"
+ " DNSname: xn--oxaaa.xn--4xabb4a.gr (γγγ.τόστ.gr)\n"
+ " DNSname: xn--ixa8bbc.gr (τέστ.gr)\n"
+ " DNSname: *.xn--te-8bc.gr (*.teχ.gr)\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEFTCCAn2gAwIBAgIMWElZgiWN43F5pluiMA0GCSqGSIb3DQEBCwUAMA0xCzAJ\n"
+ "BgNVBAYTAkdSMB4XDTA0MDIyOTE1MjE0MloXDTI0MDIyOTE1MjE0MVowDTELMAkG\n"
+ "A1UEBhMCR1IwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC23cZ4hvts\n"
+ "D/zjXmX70ewCWpFaOXXhSiB1U4ogVsIYPh0o3eJ3w2vr8k7f8CHZXT9T64g9UYoH\n"
+ "PM+vPkcT6RnwHNfe6SpSqTtPCNC9UQyp4wVq+HxnQsxOrmf2bClYn6CGaXQvDNiG\n"
+ "KQCDGoxLZx+d12dYUxL4l07J3rogk7Wqe9znkpC+9UqyDJIAZgF9e4H190sRY0FM\n"
+ "zrOkDDDmt/vBlu0SPhP0sktUJDjvOtHY/V2IDp0y9tImxnFhdl5k4kAEiPiph72C\n"
+ "QjSRf/Kb5siUcgRxmTvN9GgWNPg3EtmyynMjIlnzicO1p6Wju80hAuVhYKOI3aq6\n"
+ "FAUHY0DQkkna7dcmKwJdUo9jzMWBV+B+eOT69rDKcAvQJz5PfrrnE9SJ4/eteam7\n"
+ "l4BcIZIKSuaZz48ymh6exEpSY+P3SD05oZbeQVfgi4e7Ui81S63XRlPqLPCYp0+N\n"
+ "q2nSeVedR59AtQhyGhQLgQneV0R17aym+1nJ8AjsZXL7sfYef/OOxeMCAwEAAaN1\n"
+ "MHMwDAYDVR0TAQH/BAIwADBEBgNVHREEPTA7ghh4bi0tb3hhYWEueG4tLTR4YWJi\n"
+ "NGEuZ3KCDnhuLS1peGE4YmJjLmdygg8qLnhuLS10ZS04YmMuZ3IwHQYDVR0OBBYE\n"
+ "FPmohhljtqQUE2B2DwGaNTbv8bSvMA0GCSqGSIb3DQEBCwUAA4IBgQAOAECgc096\n"
+ "3WH7G83bRmVDooGATNP0v3cmYebVu3RL77/vlCO3UOS9lVxEwlF/6V1u3OqEqwUy\n"
+ "EzGInEAmqR/VIoubIVrFqzaMMjfCHdKPuyWeCb3ylp0o2lxRKbC9m/Bu8Iv5rZdN\n"
+ "fTZVyJbp1Ddw4GhM0UZ/IK3h8J8UtarSijhha0UX9EwQo4wi1NRpc2nxRGy7xUHG\n"
+ "GqUCFBe6cgKBEBRWh3Gha5UgwqkapA9eGGmb7CRzOHZA0raIcxwb2w2Htf7ziE1G\n"
+ "UBdo0ZtpVYq/EDggP4XIvqHb8bJVFuOiu2xf71JoPgjg4+1CEj+vgkI4j/RGDjZ/\n"
+ "bQ66XHY2EbCjhSLoCGpY924frilrFL3cMofdMguxtsONwUotYmCF6VI/EtELvIdf\n"
+ "NbdaPqI2524oBDlD98DTJa5mGoaFUyJGotcK3e9fniIxbVW8/Ykwhqbj+9wKjYEP\n"
+ "ywY/9UOj+wjwULkIxK9g91yGLRDAO/6xzCF5ly5i4oXBqKLAKZ7vBTU=\n"
+ "-----END CERTIFICATE-----\n";
void doit(void)
{
diff --git a/tests/hostname-check.c b/tests/hostname-check.c
index 358350dd24..3cccae8139 100644
--- a/tests/hostname-check.c
+++ b/tests/hostname-check.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <string.h>
@@ -40,754 +40,769 @@
* dns_name = .example.net
* dns_name = .example.edu.gr
*/
-char wildcards[] = "-----BEGIN CERTIFICATE-----"
- "MIICwDCCAimgAwIBAgICPd8wDQYJKoZIhvcNAQELBQAwVTEOMAwGA1UEAwwFKi5j"
- "b20xETAPBgNVBAsTCENBIGRlcHQuMRIwEAYDVQQKEwlLb2tvIGluYy4xDzANBgNV"
- "BAgTBkF0dGlraTELMAkGA1UEBhMCR1IwIhgPMjAxNDAzMTkxMzI4MDhaGA85OTk5"
- "MTIzMTIzNTk1OVowVTEOMAwGA1UEAwwFKi5jb20xETAPBgNVBAsTCENBIGRlcHQu"
- "MRIwEAYDVQQKEwlLb2tvIGluYy4xDzANBgNVBAgTBkF0dGlraTELMAkGA1UEBhMC"
- "R1IwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKXGznVDhL9kngInE/EDWfd5"
- "LZLtfC9QpAPxLXm5hosFfjq7RKqvhM8TmB4cSjj3My16n3LUa20msDE3cBD7QunY"
- "nRhlfhlJ/AWWBGiDHneGv+315RI7E/4zGJwaeh1pr0cCYHofuejP28g0MFGWPYyW"
- "XAC8Yd4ID7E2IX+pAOMFAgMBAAGjgZowgZcwDAYDVR0TAQH/BAIwADBCBgNVHREE"
- "OzA5gg93d3cuZXhhbXBsZS5jb22CBSoub3Jngg0qLmV4YW1wbGUubmV0ghAqLmV4"
- "YW1wbGUuZWR1LmdyMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH"
- "oAAwHQYDVR0OBBYEFF1ArfDOlECVi36ZlB2SVCLKcjZfMA0GCSqGSIb3DQEBCwUA"
- "A4GBAGcDnJIJFqjaDMk806xkfz7/FtbHYkj18ma3l7wgp27jeO/QDYunns5pqbqV"
- "sxaKuPKLdWQdfIG7l4+TUnm/Hue6h2PFgbAyZtZbHlAtpEmLoSCmYlFqbRNqux0z"
- "F5H1ocGzmbu1WQYXMlY1FYBvRDrAk7Wxt09WLdajH00S/fPT"
- "-----END CERTIFICATE-----";
+char wildcards[] =
+ "-----BEGIN CERTIFICATE-----"
+ "MIICwDCCAimgAwIBAgICPd8wDQYJKoZIhvcNAQELBQAwVTEOMAwGA1UEAwwFKi5j"
+ "b20xETAPBgNVBAsTCENBIGRlcHQuMRIwEAYDVQQKEwlLb2tvIGluYy4xDzANBgNV"
+ "BAgTBkF0dGlraTELMAkGA1UEBhMCR1IwIhgPMjAxNDAzMTkxMzI4MDhaGA85OTk5"
+ "MTIzMTIzNTk1OVowVTEOMAwGA1UEAwwFKi5jb20xETAPBgNVBAsTCENBIGRlcHQu"
+ "MRIwEAYDVQQKEwlLb2tvIGluYy4xDzANBgNVBAgTBkF0dGlraTELMAkGA1UEBhMC"
+ "R1IwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKXGznVDhL9kngInE/EDWfd5"
+ "LZLtfC9QpAPxLXm5hosFfjq7RKqvhM8TmB4cSjj3My16n3LUa20msDE3cBD7QunY"
+ "nRhlfhlJ/AWWBGiDHneGv+315RI7E/4zGJwaeh1pr0cCYHofuejP28g0MFGWPYyW"
+ "XAC8Yd4ID7E2IX+pAOMFAgMBAAGjgZowgZcwDAYDVR0TAQH/BAIwADBCBgNVHREE"
+ "OzA5gg93d3cuZXhhbXBsZS5jb22CBSoub3Jngg0qLmV4YW1wbGUubmV0ghAqLmV4"
+ "YW1wbGUuZWR1LmdyMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH"
+ "oAAwHQYDVR0OBBYEFF1ArfDOlECVi36ZlB2SVCLKcjZfMA0GCSqGSIb3DQEBCwUA"
+ "A4GBAGcDnJIJFqjaDMk806xkfz7/FtbHYkj18ma3l7wgp27jeO/QDYunns5pqbqV"
+ "sxaKuPKLdWQdfIG7l4+TUnm/Hue6h2PFgbAyZtZbHlAtpEmLoSCmYlFqbRNqux0z"
+ "F5H1ocGzmbu1WQYXMlY1FYBvRDrAk7Wxt09WLdajH00S/fPT"
+ "-----END CERTIFICATE-----";
/* Certificate with no SAN nor CN. */
char pem1[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Issuer: O=GnuTLS hostname check test CA\n"
- " Validity:\n"
- " Not Before: Fri Feb 16 12:59:09 UTC 2007\n"
- " Not After: Fri Mar 30 12:59:13 UTC 2007\n"
- " Subject: O=GnuTLS hostname check test CA\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
- " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
- " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
- " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
- " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
- " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
- " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
- " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Key Identifier (not critical):\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- " Signature Algorithm: RSA-SHA\n"
- " Signature:\n"
- " 7b:e8:11:6c:15:3f:f9:01:a0:f1:28:0c:62:50:58:f8\n"
- " 92:44:fb:bf:ab:20:8a:3b:81:ca:e5:68:60:71:df:2b\n"
- " e8:50:58:82:32:ef:fb:6e:4a:72:2c:c9:37:4f:88:1d\n"
- " d7:1b:68:5b:db:83:1b:1a:f3:b4:8e:e0:88:03:e2:43\n"
- " 91:be:d8:b1:ca:f2:62:ec:a1:fd:1a:c8:41:8c:fe:53\n"
- " 1b:be:03:c9:a1:3d:f4:ae:57:fc:44:a6:34:bb:2c:2e\n"
- " a7:56:14:1f:89:e9:3a:ec:1f:a3:da:d7:a1:94:3b:72\n"
- " 1d:12:71:b9:65:a1:85:a2:4c:3a:d1:2c:e9:e9:ea:1c\n"
- "Other Information:\n"
- " MD5 fingerprint:\n"
- " fd845ded8c28ba5e78d6c1844ceafd24\n"
- " SHA-1 fingerprint:\n"
- " 0bae431dda3cae76012b82276e4cd92ad7961798\n"
- " Public Key ID:\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB8TCCAVygAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
- "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTI1OTA5WhcNMDcwMzMw\n"
- "MTI1OTEzWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
- "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
- "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
- "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
- "8of+3HiTfFm/oXUCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n"
- "6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBAHvoEWwVP/kBoPEo\n"
- "DGJQWPiSRPu/qyCKO4HK5Whgcd8r6FBYgjLv+25KcizJN0+IHdcbaFvbgxsa87SO\n"
- "4IgD4kORvtixyvJi7KH9GshBjP5TG74DyaE99K5X/ESmNLssLqdWFB+J6TrsH6Pa\n"
- "16GUO3IdEnG5ZaGFokw60Szp6eoc\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Issuer: O=GnuTLS hostname check test CA\n"
+ " Validity:\n"
+ " Not Before: Fri Feb 16 12:59:09 UTC 2007\n"
+ " Not After: Fri Mar 30 12:59:13 UTC 2007\n"
+ " Subject: O=GnuTLS hostname check test CA\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
+ " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
+ " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
+ " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
+ " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
+ " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
+ " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
+ " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Key Identifier (not critical):\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ " Signature Algorithm: RSA-SHA\n"
+ " Signature:\n"
+ " 7b:e8:11:6c:15:3f:f9:01:a0:f1:28:0c:62:50:58:f8\n"
+ " 92:44:fb:bf:ab:20:8a:3b:81:ca:e5:68:60:71:df:2b\n"
+ " e8:50:58:82:32:ef:fb:6e:4a:72:2c:c9:37:4f:88:1d\n"
+ " d7:1b:68:5b:db:83:1b:1a:f3:b4:8e:e0:88:03:e2:43\n"
+ " 91:be:d8:b1:ca:f2:62:ec:a1:fd:1a:c8:41:8c:fe:53\n"
+ " 1b:be:03:c9:a1:3d:f4:ae:57:fc:44:a6:34:bb:2c:2e\n"
+ " a7:56:14:1f:89:e9:3a:ec:1f:a3:da:d7:a1:94:3b:72\n"
+ " 1d:12:71:b9:65:a1:85:a2:4c:3a:d1:2c:e9:e9:ea:1c\n"
+ "Other Information:\n"
+ " MD5 fingerprint:\n"
+ " fd845ded8c28ba5e78d6c1844ceafd24\n"
+ " SHA-1 fingerprint:\n"
+ " 0bae431dda3cae76012b82276e4cd92ad7961798\n"
+ " Public Key ID:\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB8TCCAVygAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
+ "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTI1OTA5WhcNMDcwMzMw\n"
+ "MTI1OTEzWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
+ "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
+ "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
+ "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
+ "8of+3HiTfFm/oXUCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n"
+ "6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBAHvoEWwVP/kBoPEo\n"
+ "DGJQWPiSRPu/qyCKO4HK5Whgcd8r6FBYgjLv+25KcizJN0+IHdcbaFvbgxsa87SO\n"
+ "4IgD4kORvtixyvJi7KH9GshBjP5TG74DyaE99K5X/ESmNLssLqdWFB+J6TrsH6Pa\n"
+ "16GUO3IdEnG5ZaGFokw60Szp6eoc\n"
+ "-----END CERTIFICATE-----\n";
/* Certificate with CN but no SAN. */
char pem2[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Issuer: CN=www.example.org\n"
- " Validity:\n"
- " Not Before: Fri Feb 16 13:30:30 UTC 2007\n"
- " Not After: Fri Mar 30 13:30:32 UTC 2007\n"
- " Subject: CN=www.example.org\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
- " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
- " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
- " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
- " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
- " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
- " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
- " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Key Identifier (not critical):\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- " Signature Algorithm: RSA-SHA\n"
- " Signature:\n"
- " b0:4e:ac:fb:89:12:36:27:f3:72:b8:1a:57:dc:bf:f3\n"
- " a9:27:de:15:75:94:4f:65:cc:3a:59:12:4b:91:0e:28\n"
- " b9:8d:d3:6e:ac:5d:a8:3e:b9:35:81:0c:8f:c7:95:72\n"
- " d9:51:61:06:00:c6:aa:68:54:c8:52:3f:b6:1f:21:92\n"
- " c8:fd:15:50:15:ac:d4:18:29:a1:ff:c9:25:5a:ce:5e\n"
- " 11:7f:82:b2:94:8c:44:3c:3f:de:d7:3b:ff:1c:da:9c\n"
- " 81:fa:63:e1:a7:67:ee:aa:fa:d0:c9:2f:66:1b:5e:af\n"
- " 46:8c:f9:53:55:e7:80:7e:74:95:98:d4:2d:5f:94:ab\n"
- "Other Information:\n"
- " MD5 fingerprint:\n"
- " 30cda7de4f0360892547974f45111ac1\n"
- " SHA-1 fingerprint:\n"
- " 39e3f8fec6a8d842390b6536998a957c1a6b7322\n"
- " Public Key ID:\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB1TCCAUCgAwIBAgIBADALBgkqhkiG9w0BAQUwGjEYMBYGA1UEAxMPd3d3LmV4\n"
- "YW1wbGUub3JnMB4XDTA3MDIxNjEzMzAzMFoXDTA3MDMzMDEzMzAzMlowGjEYMBYG\n"
- "A1UEAxMPd3d3LmV4YW1wbGUub3JnMIGcMAsGCSqGSIb3DQEBAQOBjAAwgYgCgYC+\n"
- "7Jh6HW9+ayWe6CB4QqBkBWZDmW1J1RjsfblYZLKAoxRhnQpPvi/wLvzSq1w231Ps\n"
- "Q8f83pG8HgGmt2yyBxAuy2FHdcoDziNuOPE0JxoazfeW87PwDWd/yneEP5wp9GKR\n"
- "9hJbYlrMuu0ILjJEJqz9I85TG7vyh/7ceJN8Wb+hdQIDAQABozIwMDAPBgNVHRMB\n"
- "Af8EBTADAQH/MB0GA1UdDgQWBBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG\n"
- "9w0BAQUDgYEAsE6s+4kSNifzcrgaV9y/86kn3hV1lE9lzDpZEkuRDii5jdNurF2o\n"
- "Prk1gQyPx5Vy2VFhBgDGqmhUyFI/th8hksj9FVAVrNQYKaH/ySVazl4Rf4KylIxE\n"
- "PD/e1zv/HNqcgfpj4adn7qr60MkvZhter0aM+VNV54B+dJWY1C1flKs=\n"
- "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Issuer: CN=www.example.org\n"
+ " Validity:\n"
+ " Not Before: Fri Feb 16 13:30:30 UTC 2007\n"
+ " Not After: Fri Mar 30 13:30:32 UTC 2007\n"
+ " Subject: CN=www.example.org\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
+ " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
+ " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
+ " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
+ " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
+ " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
+ " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
+ " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Key Identifier (not critical):\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ " Signature Algorithm: RSA-SHA\n"
+ " Signature:\n"
+ " b0:4e:ac:fb:89:12:36:27:f3:72:b8:1a:57:dc:bf:f3\n"
+ " a9:27:de:15:75:94:4f:65:cc:3a:59:12:4b:91:0e:28\n"
+ " b9:8d:d3:6e:ac:5d:a8:3e:b9:35:81:0c:8f:c7:95:72\n"
+ " d9:51:61:06:00:c6:aa:68:54:c8:52:3f:b6:1f:21:92\n"
+ " c8:fd:15:50:15:ac:d4:18:29:a1:ff:c9:25:5a:ce:5e\n"
+ " 11:7f:82:b2:94:8c:44:3c:3f:de:d7:3b:ff:1c:da:9c\n"
+ " 81:fa:63:e1:a7:67:ee:aa:fa:d0:c9:2f:66:1b:5e:af\n"
+ " 46:8c:f9:53:55:e7:80:7e:74:95:98:d4:2d:5f:94:ab\n"
+ "Other Information:\n"
+ " MD5 fingerprint:\n"
+ " 30cda7de4f0360892547974f45111ac1\n"
+ " SHA-1 fingerprint:\n"
+ " 39e3f8fec6a8d842390b6536998a957c1a6b7322\n"
+ " Public Key ID:\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB1TCCAUCgAwIBAgIBADALBgkqhkiG9w0BAQUwGjEYMBYGA1UEAxMPd3d3LmV4\n"
+ "YW1wbGUub3JnMB4XDTA3MDIxNjEzMzAzMFoXDTA3MDMzMDEzMzAzMlowGjEYMBYG\n"
+ "A1UEAxMPd3d3LmV4YW1wbGUub3JnMIGcMAsGCSqGSIb3DQEBAQOBjAAwgYgCgYC+\n"
+ "7Jh6HW9+ayWe6CB4QqBkBWZDmW1J1RjsfblYZLKAoxRhnQpPvi/wLvzSq1w231Ps\n"
+ "Q8f83pG8HgGmt2yyBxAuy2FHdcoDziNuOPE0JxoazfeW87PwDWd/yneEP5wp9GKR\n"
+ "9hJbYlrMuu0ILjJEJqz9I85TG7vyh/7ceJN8Wb+hdQIDAQABozIwMDAPBgNVHRMB\n"
+ "Af8EBTADAQH/MB0GA1UdDgQWBBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG\n"
+ "9w0BAQUDgYEAsE6s+4kSNifzcrgaV9y/86kn3hV1lE9lzDpZEkuRDii5jdNurF2o\n"
+ "Prk1gQyPx5Vy2VFhBgDGqmhUyFI/th8hksj9FVAVrNQYKaH/ySVazl4Rf4KylIxE\n"
+ "PD/e1zv/HNqcgfpj4adn7qr60MkvZhter0aM+VNV54B+dJWY1C1flKs=\n"
+ "-----END CERTIFICATE-----\n";
/* Certificate with SAN but no CN. */
char pem3[] =
- "X.509 Certificate Information:"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Issuer: O=GnuTLS hostname check test CA\n"
- " Validity:\n"
- " Not Before: Fri Feb 16 13:36:27 UTC 2007\n"
- " Not After: Fri Mar 30 13:36:29 UTC 2007\n"
- " Subject: O=GnuTLS hostname check test CA\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
- " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
- " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
- " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
- " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
- " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
- " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
- " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: www.example.org\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- " Signature Algorithm: RSA-SHA\n"
- " Signature:\n"
- " a1:30:bc:01:b3:0f:98:7f:8e:76:7d:23:87:34:15:7f\n"
- " a6:ae:a1:fb:87:75:e3:e8:1a:e5:5e:03:5d:bf:44:75\n"
- " 46:4f:d2:a1:28:50:84:49:6d:3b:e0:bc:4e:de:79:85\n"
- " fa:e1:07:b7:6e:0c:14:04:4a:82:b9:f3:22:6a:bc:99\n"
- " 14:20:3b:49:1f:e4:97:d9:ea:eb:73:9a:83:a6:cc:b8\n"
- " 55:fb:52:8e:5f:86:7c:9d:fa:af:03:76:ae:97:e0:64\n"
- " 50:59:73:22:99:55:cf:da:59:31:0a:e8:6d:a0:53:bc\n"
- " 39:63:2e:ac:92:4a:e9:8b:1e:d0:03:df:33:bb:4e:88\n"
- "Other Information:\n"
- " MD5 fingerprint:\n"
- " df3f57d00c8149bd826b177d6ea4f369\n"
- " SHA-1 fingerprint:\n"
- " e95e56e2acac305f72ea6f698c11624663a595bd\n"
- " Public Key ID:\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
- "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTMzNjI3WhcNMDcwMzMw\n"
- "MTMzNjI5WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
- "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
- "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
- "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
- "8of+3HiTfFm/oXUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
- "gg93d3cuZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
- "FOk8HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQChMLwBsw+Yf452\n"
- "fSOHNBV/pq6h+4d14+ga5V4DXb9EdUZP0qEoUIRJbTvgvE7eeYX64Qe3bgwUBEqC\n"
- "ufMiaryZFCA7SR/kl9nq63Oag6bMuFX7Uo5fhnyd+q8Ddq6X4GRQWXMimVXP2lkx\n"
- "CuhtoFO8OWMurJJK6Yse0APfM7tOiA==\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Issuer: O=GnuTLS hostname check test CA\n"
+ " Validity:\n"
+ " Not Before: Fri Feb 16 13:36:27 UTC 2007\n"
+ " Not After: Fri Mar 30 13:36:29 UTC 2007\n"
+ " Subject: O=GnuTLS hostname check test CA\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
+ " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
+ " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
+ " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
+ " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
+ " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
+ " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
+ " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: www.example.org\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ " Signature Algorithm: RSA-SHA\n"
+ " Signature:\n"
+ " a1:30:bc:01:b3:0f:98:7f:8e:76:7d:23:87:34:15:7f\n"
+ " a6:ae:a1:fb:87:75:e3:e8:1a:e5:5e:03:5d:bf:44:75\n"
+ " 46:4f:d2:a1:28:50:84:49:6d:3b:e0:bc:4e:de:79:85\n"
+ " fa:e1:07:b7:6e:0c:14:04:4a:82:b9:f3:22:6a:bc:99\n"
+ " 14:20:3b:49:1f:e4:97:d9:ea:eb:73:9a:83:a6:cc:b8\n"
+ " 55:fb:52:8e:5f:86:7c:9d:fa:af:03:76:ae:97:e0:64\n"
+ " 50:59:73:22:99:55:cf:da:59:31:0a:e8:6d:a0:53:bc\n"
+ " 39:63:2e:ac:92:4a:e9:8b:1e:d0:03:df:33:bb:4e:88\n"
+ "Other Information:\n"
+ " MD5 fingerprint:\n"
+ " df3f57d00c8149bd826b177d6ea4f369\n"
+ " SHA-1 fingerprint:\n"
+ " e95e56e2acac305f72ea6f698c11624663a595bd\n"
+ " Public Key ID:\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
+ "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDcwMjE2MTMzNjI3WhcNMDcwMzMw\n"
+ "MTMzNjI5WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
+ "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGAvuyYeh1vfmslnuggeEKgZAVmQ5lt\n"
+ "SdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T7EPH/N6RvB4BprdssgcQLsthR3XK\n"
+ "A84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRikfYSW2JazLrtCC4yRCas/SPOUxu7\n"
+ "8of+3HiTfFm/oXUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
+ "gg93d3cuZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
+ "FOk8HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQChMLwBsw+Yf452\n"
+ "fSOHNBV/pq6h+4d14+ga5V4DXb9EdUZP0qEoUIRJbTvgvE7eeYX64Qe3bgwUBEqC\n"
+ "ufMiaryZFCA7SR/kl9nq63Oag6bMuFX7Uo5fhnyd+q8Ddq6X4GRQWXMimVXP2lkx\n"
+ "CuhtoFO8OWMurJJK6Yse0APfM7tOiA==\n"
+ "-----END CERTIFICATE-----\n";
/* Certificate with wildcard SAN but no CN. */
char pem4[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Issuer:\n"
- " Validity:\n"
- " Not Before: Fri Feb 16 13:40:10 UTC 2007\n"
- " Not After: Fri Mar 30 13:40:12 UTC 2007\n"
- " Subject:\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
- " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
- " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
- " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
- " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
- " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
- " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
- " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: *.example.org\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- " Signature Algorithm: RSA-SHA\n"
- " Signature:\n"
- " b1:62:e5:e3:0b:a5:99:58:b0:1c:5c:f5:d1:3f:7c:bb\n"
- " 67:e1:43:c5:d7:a2:5c:db:f2:5a:f3:03:fc:76:e4:4d\n"
- " c1:a0:89:36:24:82:a4:a1:ad:f5:83:e3:96:75:f4:c4\n"
- " f3:eb:ff:3a:9b:da:d2:2c:58:d4:10:37:50:33:d1:39\n"
- " 53:71:9e:48:2d:b2:5b:27:ce:1e:d9:d5:36:59:ac:17\n"
- " 3a:83:cc:59:6b:8f:6a:24:b8:9f:f0:e6:14:03:23:5a\n"
- " 87:e7:33:10:32:11:58:a2:bb:f1:e5:5a:88:87:bb:80\n"
- " 1b:b6:bb:12:18:cb:15:d5:3a:fc:99:e4:42:5a:ba:45\n"
- "Other Information:\n"
- " MD5 fingerprint:\n"
- " a411da7b0fa064d214116d5f94e06c24\n"
- " SHA-1 fingerprint:\n"
- " 3596e796c73ed096d762ab3d440a9ab55a386b3b\n"
- " Public Key ID:\n"
- " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB0DCCATugAwIBAgIBADALBgkqhkiG9w0BAQUwADAeFw0wNzAyMTYxMzQwMTBa\n"
- "Fw0wNzAzMzAxMzQwMTJaMAAwgZwwCwYJKoZIhvcNAQEBA4GMADCBiAKBgL7smHod\n"
- "b35rJZ7oIHhCoGQFZkOZbUnVGOx9uVhksoCjFGGdCk++L/Au/NKrXDbfU+xDx/ze\n"
- "kbweAaa3bLIHEC7LYUd1ygPOI2448TQnGhrN95bzs/ANZ3/Kd4Q/nCn0YpH2Elti\n"
- "Wsy67QguMkQmrP0jzlMbu/KH/tx4k3xZv6F1AgMBAAGjYTBfMA8GA1UdEwEB/wQF\n"
- "MAMBAf8wGAYDVR0RBBEwD4INKi5leGFtcGxlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
- "BQcDATAdBgNVHQ4EFgQU6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEF\n"
- "A4GBALFi5eMLpZlYsBxc9dE/fLtn4UPF16Jc2/Ja8wP8duRNwaCJNiSCpKGt9YPj\n"
- "lnX0xPPr/zqb2tIsWNQQN1Az0TlTcZ5ILbJbJ84e2dU2WawXOoPMWWuPaiS4n/Dm\n"
- "FAMjWofnMxAyEViiu/HlWoiHu4AbtrsSGMsV1Tr8meRCWrpF\n"
- "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Issuer:\n"
+ " Validity:\n"
+ " Not Before: Fri Feb 16 13:40:10 UTC 2007\n"
+ " Not After: Fri Mar 30 13:40:12 UTC 2007\n"
+ " Subject:\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " be:ec:98:7a:1d:6f:7e:6b:25:9e:e8:20:78:42:a0:64\n"
+ " 05:66:43:99:6d:49:d5:18:ec:7d:b9:58:64:b2:80:a3\n"
+ " 14:61:9d:0a:4f:be:2f:f0:2e:fc:d2:ab:5c:36:df:53\n"
+ " ec:43:c7:fc:de:91:bc:1e:01:a6:b7:6c:b2:07:10:2e\n"
+ " cb:61:47:75:ca:03:ce:23:6e:38:f1:34:27:1a:1a:cd\n"
+ " f7:96:f3:b3:f0:0d:67:7f:ca:77:84:3f:9c:29:f4:62\n"
+ " 91:f6:12:5b:62:5a:cc:ba:ed:08:2e:32:44:26:ac:fd\n"
+ " 23:ce:53:1b:bb:f2:87:fe:dc:78:93:7c:59:bf:a1:75\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: *.example.org\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ " Signature Algorithm: RSA-SHA\n"
+ " Signature:\n"
+ " b1:62:e5:e3:0b:a5:99:58:b0:1c:5c:f5:d1:3f:7c:bb\n"
+ " 67:e1:43:c5:d7:a2:5c:db:f2:5a:f3:03:fc:76:e4:4d\n"
+ " c1:a0:89:36:24:82:a4:a1:ad:f5:83:e3:96:75:f4:c4\n"
+ " f3:eb:ff:3a:9b:da:d2:2c:58:d4:10:37:50:33:d1:39\n"
+ " 53:71:9e:48:2d:b2:5b:27:ce:1e:d9:d5:36:59:ac:17\n"
+ " 3a:83:cc:59:6b:8f:6a:24:b8:9f:f0:e6:14:03:23:5a\n"
+ " 87:e7:33:10:32:11:58:a2:bb:f1:e5:5a:88:87:bb:80\n"
+ " 1b:b6:bb:12:18:cb:15:d5:3a:fc:99:e4:42:5a:ba:45\n"
+ "Other Information:\n"
+ " MD5 fingerprint:\n"
+ " a411da7b0fa064d214116d5f94e06c24\n"
+ " SHA-1 fingerprint:\n"
+ " 3596e796c73ed096d762ab3d440a9ab55a386b3b\n"
+ " Public Key ID:\n"
+ " e93c1cfbad926ee606a4562ca2e1c05327c8f295\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB0DCCATugAwIBAgIBADALBgkqhkiG9w0BAQUwADAeFw0wNzAyMTYxMzQwMTBa\n"
+ "Fw0wNzAzMzAxMzQwMTJaMAAwgZwwCwYJKoZIhvcNAQEBA4GMADCBiAKBgL7smHod\n"
+ "b35rJZ7oIHhCoGQFZkOZbUnVGOx9uVhksoCjFGGdCk++L/Au/NKrXDbfU+xDx/ze\n"
+ "kbweAaa3bLIHEC7LYUd1ygPOI2448TQnGhrN95bzs/ANZ3/Kd4Q/nCn0YpH2Elti\n"
+ "Wsy67QguMkQmrP0jzlMbu/KH/tx4k3xZv6F1AgMBAAGjYTBfMA8GA1UdEwEB/wQF\n"
+ "MAMBAf8wGAYDVR0RBBEwD4INKi5leGFtcGxlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
+ "BQcDATAdBgNVHQ4EFgQU6Twc+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEF\n"
+ "A4GBALFi5eMLpZlYsBxc9dE/fLtn4UPF16Jc2/Ja8wP8duRNwaCJNiSCpKGt9YPj\n"
+ "lnX0xPPr/zqb2tIsWNQQN1Az0TlTcZ5ILbJbJ84e2dU2WawXOoPMWWuPaiS4n/Dm\n"
+ "FAMjWofnMxAyEViiu/HlWoiHu4AbtrsSGMsV1Tr8meRCWrpF\n"
+ "-----END CERTIFICATE-----\n";
#ifdef SUPPORT_COMPLEX_WILDCARDS
/* Certificate with multiple wildcards SAN but no CN. */
char pem6[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Validity:\n"
- " Not Before: Sat May 3 11:00:51 UTC 2008\n"
- " Not After: Sat May 17 11:00:54 UTC 2008\n"
- " Subject: O=GnuTLS hostname check test CA\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
- " f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
- " 49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
- " 19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
- " 13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
- " f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
- " de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
- " 42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: *.*.example.org\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
- "Other Information:\n"
- " Public Key ID:\n"
- " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
- "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMDUxWhcNMDgwNTE3\n"
- "MTEwMDU0WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
- "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
- "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
- "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
- "AUp+YdcEIQVM8QcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
- "gg8qLiouZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
- "FFST5lmbKDtFKTeIGK75pKu/TZkYMAsGCSqGSIb3DQEBBQOBgQAQ9PStleVvfmlK\n"
- "wRs8RE/oOO+ouC3qLdnumNEITMRFh8Q12/X4yMLD3CH0aQ/hvHcP26PxAWzpNutk\n"
- "swNx7AzsCu6pN1t1aI3jLgo8e4/zZi57e8QcRuXZPDJxtJxVhJZX/C4pSz802WhS\n"
- "64NgtpHEMu9JUHFhtRwPcvVGYqPUUA==\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Validity:\n"
+ " Not Before: Sat May 3 11:00:51 UTC 2008\n"
+ " Not After: Sat May 17 11:00:54 UTC 2008\n"
+ " Subject: O=GnuTLS hostname check test CA\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
+ " f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
+ " 49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
+ " 19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
+ " 13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
+ " f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
+ " de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
+ " 42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: *.*.example.org\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
+ "Other Information:\n"
+ " Public Key ID:\n"
+ " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICIjCCAY2gAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
+ "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMDUxWhcNMDgwNTE3\n"
+ "MTEwMDU0WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
+ "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
+ "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
+ "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
+ "AUp+YdcEIQVM8QcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAaBgNVHREEEzAR\n"
+ "gg8qLiouZXhhbXBsZS5vcmcwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE\n"
+ "FFST5lmbKDtFKTeIGK75pKu/TZkYMAsGCSqGSIb3DQEBBQOBgQAQ9PStleVvfmlK\n"
+ "wRs8RE/oOO+ouC3qLdnumNEITMRFh8Q12/X4yMLD3CH0aQ/hvHcP26PxAWzpNutk\n"
+ "swNx7AzsCu6pN1t1aI3jLgo8e4/zZi57e8QcRuXZPDJxtJxVhJZX/C4pSz802WhS\n"
+ "64NgtpHEMu9JUHFhtRwPcvVGYqPUUA==\n"
+ "-----END CERTIFICATE-----\n";
/* Certificate with prefixed and suffixed wildcard SAN but no CN. */
char pem7[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Validity:\n"
- " Not Before: Sat May 3 11:02:43 UTC 2008\n"
- " Not After: Sat May 17 11:02:45 UTC 2008\n"
- " Subject: O=GnuTLS hostname check test CA\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
- " f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
- " 49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
- " 19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
- " 13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
- " f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
- " de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
- " 42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: foo*bar.example.org\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
- "Other Information:\n"
- " Public Key ID:\n"
- " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIICJjCCAZGgAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
- "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMjQzWhcNMDgwNTE3\n"
- "MTEwMjQ1WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
- "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
- "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
- "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
- "AUp+YdcEIQVM8QcCAwEAAaNnMGUwDwYDVR0TAQH/BAUwAwEB/zAeBgNVHREEFzAV\n"
- "ghNmb28qYmFyLmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1Ud\n"
- "DgQWBBRUk+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAPPNe38jc\n"
- "8NsZQVKKLYc1Y4y8LRPhvnxkSnlcGa1RzYZY1s12BZ6OVIfyxD1Z9BcNdqRSq7bQ\n"
- "kEicsGp5ugGQTNq6aSlzYOUD9/fUP3jDsH7HVb36aCF3waGCQWj+pLqK0LYcW2p/\n"
- "xnr5+z4YevFBhn7l/fMhg8TzKejxYm7TECg=\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Validity:\n"
+ " Not Before: Sat May 3 11:02:43 UTC 2008\n"
+ " Not After: Sat May 17 11:02:45 UTC 2008\n"
+ " Subject: O=GnuTLS hostname check test CA\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
+ " f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
+ " 49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
+ " 19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
+ " 13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
+ " f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
+ " de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
+ " 42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: foo*bar.example.org\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
+ "Other Information:\n"
+ " Public Key ID:\n"
+ " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICJjCCAZGgAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
+ "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEwMjQzWhcNMDgwNTE3\n"
+ "MTEwMjQ1WjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
+ "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
+ "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
+ "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
+ "AUp+YdcEIQVM8QcCAwEAAaNnMGUwDwYDVR0TAQH/BAUwAwEB/zAeBgNVHREEFzAV\n"
+ "ghNmb28qYmFyLmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1Ud\n"
+ "DgQWBBRUk+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAPPNe38jc\n"
+ "8NsZQVKKLYc1Y4y8LRPhvnxkSnlcGa1RzYZY1s12BZ6OVIfyxD1Z9BcNdqRSq7bQ\n"
+ "kEicsGp5ugGQTNq6aSlzYOUD9/fUP3jDsH7HVb36aCF3waGCQWj+pLqK0LYcW2p/\n"
+ "xnr5+z4YevFBhn7l/fMhg8TzKejxYm7TECg=\n"
+ "-----END CERTIFICATE-----\n";
#endif
/* Certificate with ending wildcard SAN but no CN. */
char pem8[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Validity:\n"
- " Not Before: Sat May 3 11:24:38 UTC 2008\n"
- " Not After: Sat May 17 11:24:40 UTC 2008\n"
- " Subject: O=GnuTLS hostname check test CA\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
- " f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
- " 49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
- " 19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
- " 13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
- " f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
- " de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
- " 42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
- " Exponent:\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: www.example.*\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
- "Other Information:\n"
- " Public Key ID:\n"
- " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIICIDCCAYugAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
- "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEyNDM4WhcNMDgwNTE3\n"
- "MTEyNDQwWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
- "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
- "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
- "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
- "AUp+YdcEIQVM8QcCAwEAAaNhMF8wDwYDVR0TAQH/BAUwAwEB/zAYBgNVHREEETAP\n"
- "gg13d3cuZXhhbXBsZS4qMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBRU\n"
- "k+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAZ7gLXtXwFW61dSAM\n"
- "0Qt6IN68WBH7LCzetSF8ofG1WVUImCUU3pqXhXYtPGTrswOh2AavWTRbzVTtrFvf\n"
- "WJg09Z7H6I70RPvAYGsK9t9qJ/4TPoYTGYQgsTbVpkv13O54O6jzemd8Zws/xMH5\n"
- "7/q6C7P5OUmGOtfVe7UVDY0taQM=\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Validity:\n"
+ " Not Before: Sat May 3 11:24:38 UTC 2008\n"
+ " Not After: Sat May 17 11:24:40 UTC 2008\n"
+ " Subject: O=GnuTLS hostname check test CA\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " d2:05:c1:65:cb:bd:1e:2e:eb:7b:87:07:94:4c:93:33\n"
+ " f3:81:83:7d:32:1b:71:4e:4e:7f:c7:bc:bf:4b:2f:f2\n"
+ " 49:b5:cf:bf:c0:b8:e8:29:cc:f3:61:bd:2e:1d:e4:e8\n"
+ " 19:dd:c5:bd:2e:f0:35:b1:fd:30:d7:f5:a8:7c:83:9a\n"
+ " 13:9e:bf:25:ed:08:a6:05:9e:7b:4e:23:59:c3:0e:5a\n"
+ " f3:bf:54:c7:dc:d4:13:57:a1:0f:a2:9e:c8:ab:75:66\n"
+ " de:07:84:8d:68:ad:71:04:e0:9c:bd:cb:f6:08:7a:97\n"
+ " 42:f8:10:94:29:01:4a:7e:61:d7:04:21:05:4c:f1:07\n"
+ " Exponent:\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: www.example.*\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
+ "Other Information:\n"
+ " Public Key ID:\n"
+ " 5493e6599b283b4529378818aef9a4abbf4d9918\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICIDCCAYugAwIBAgIBADALBgkqhkiG9w0BAQUwKDEmMCQGA1UEChMdR251VExT\n"
+ "IGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0EwHhcNMDgwNTAzMTEyNDM4WhcNMDgwNTE3\n"
+ "MTEyNDQwWjAoMSYwJAYDVQQKEx1HbnVUTFMgaG9zdG5hbWUgY2hlY2sgdGVzdCBD\n"
+ "QTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA0gXBZcu9Hi7re4cHlEyTM/OBg30y\n"
+ "G3FOTn/HvL9LL/JJtc+/wLjoKczzYb0uHeToGd3FvS7wNbH9MNf1qHyDmhOevyXt\n"
+ "CKYFnntOI1nDDlrzv1TH3NQTV6EPop7Iq3Vm3geEjWitcQTgnL3L9gh6l0L4EJQp\n"
+ "AUp+YdcEIQVM8QcCAwEAAaNhMF8wDwYDVR0TAQH/BAUwAwEB/zAYBgNVHREEETAP\n"
+ "gg13d3cuZXhhbXBsZS4qMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBRU\n"
+ "k+ZZmyg7RSk3iBiu+aSrv02ZGDALBgkqhkiG9w0BAQUDgYEAZ7gLXtXwFW61dSAM\n"
+ "0Qt6IN68WBH7LCzetSF8ofG1WVUImCUU3pqXhXYtPGTrswOh2AavWTRbzVTtrFvf\n"
+ "WJg09Z7H6I70RPvAYGsK9t9qJ/4TPoYTGYQgsTbVpkv13O54O6jzemd8Zws/xMH5\n"
+ "7/q6C7P5OUmGOtfVe7UVDY0taQM=\n"
+ "-----END CERTIFICATE-----\n";
/* Certificate with SAN and CN but for different names. */
char pem9[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 4a827d5c\n"
- " Issuer: O=GnuTLS hostname check test CA,CN=foo.example.org\n"
- " Validity:\n"
- " Not Before: Wed Aug 12 08:29:17 UTC 2009\n"
- " Not After: Thu Aug 13 08:29:23 UTC 2009\n"
- " Subject: O=GnuTLS hostname check test CA,CN=foo.example.org\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " bb:66:43:f5:f2:c5:d7:b6:8c:cc:c5:df:f5:88:3b:b1\n"
- " c9:4b:6a:0e:a1:ad:20:50:40:08:80:a1:4f:5c:a3:d0\n"
- " f8:6c:cf:e6:3c:f7:ec:04:76:13:17:8b:64:89:22:5b\n"
- " c0:dd:53:7c:3b:ed:7c:04:bb:80:b9:28:be:8e:9b:c6\n"
- " 8e:a0:a5:12:cb:f5:57:1e:a2:e7:bb:b7:33:49:9f:e3\n"
- " bb:4a:ae:6a:4d:68:ff:c9:11:e2:32:8d:ce:3d:80:0b\n"
- " 8d:75:ef:d8:00:81:8f:28:04:03:a0:22:8d:61:04:07\n"
- " fa:b6:37:7d:21:07:49:d2:09:61:69:98:90:a3:58:a9\n"
- " Exponent (bits 24):\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " DNSname: bar.example.org\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " 4cb90a9bfa1d34e37edecbd20715fea1dacb6891\n"
- " Signature Algorithm: RSA-SHA\n"
- " Signature:\n"
- " a2:1f:d2:90:5f:c9:1c:6f:92:1d:c5:0b:ac:b0:17:23\n"
- " c5:67:46:94:6f:0f:62:7d:66:4c:28:ff:b7:10:73:60\n"
- " ae:0e:a2:47:82:83:bb:89:0d:f1:16:5e:f9:5b:35:4b\n"
- " ce:ee:5e:d0:ad:b5:8b:cc:37:b3:ac:4d:1b:58:c2:4f\n"
- " 1c:7f:c6:ac:3d:25:18:67:37:f0:27:11:9b:2c:20:b6\n"
- " 78:24:21:a6:77:44:e7:1a:e5:f6:bf:45:84:32:81:67\n"
- " af:8d:96:26:f7:39:31:6b:63:c5:15:9d:e0:a0:9a:1e\n"
- " 96:12:cb:ad:85:cb:a7:d4:86:ac:d8:f5:e9:a4:2b:20\n"
- "Other Information:\n"
- " MD5 fingerprint:\n"
- " f27b18092c7497f206e70f504eee0f8e\n"
- " SHA-1 fingerprint:\n"
- " bebdac9d0dd54e8f044642e0f065fae5d75ca6e5\n"
- " Public Key ID:\n"
- " 4cb90a9bfa1d34e37edecbd20715fea1dacb6891\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIICWTCCAcSgAwIBAgIESoJ9XDALBgkqhkiG9w0BAQUwQjEmMCQGA1UEChMdR251\n"
- "VExTIGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0ExGDAWBgNVBAMTD2Zvby5leGFtcGxl\n"
- "Lm9yZzAeFw0wOTA4MTIwODI5MTdaFw0wOTA4MTMwODI5MjNaMEIxJjAkBgNVBAoT\n"
- "HUdudVRMUyBob3N0bmFtZSBjaGVjayB0ZXN0IENBMRgwFgYDVQQDEw9mb28uZXhh\n"
- "bXBsZS5vcmcwgZwwCwYJKoZIhvcNAQEBA4GMADCBiAKBgLtmQ/Xyxde2jMzF3/WI\n"
- "O7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeLZIkiW8DdU3w77XwEu4C5KL6O\n"
- "m8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKNzj2AC41179gAgY8oBAOgIo1h\n"
- "BAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wGgYD\n"
- "VR0RBBMwEYIPYmFyLmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0G\n"
- "A1UdDgQWBBRMuQqb+h00437ey9IHFf6h2stokTALBgkqhkiG9w0BAQUDgYEAoh/S\n"
- "kF/JHG+SHcULrLAXI8VnRpRvD2J9Zkwo/7cQc2CuDqJHgoO7iQ3xFl75WzVLzu5e\n"
- "0K21i8w3s6xNG1jCTxx/xqw9JRhnN/AnEZssILZ4JCGmd0TnGuX2v0WEMoFnr42W\n"
- "Jvc5MWtjxRWd4KCaHpYSy62Fy6fUhqzY9emkKyA=\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 4a827d5c\n"
+ " Issuer: O=GnuTLS hostname check test CA,CN=foo.example.org\n"
+ " Validity:\n"
+ " Not Before: Wed Aug 12 08:29:17 UTC 2009\n"
+ " Not After: Thu Aug 13 08:29:23 UTC 2009\n"
+ " Subject: O=GnuTLS hostname check test CA,CN=foo.example.org\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " bb:66:43:f5:f2:c5:d7:b6:8c:cc:c5:df:f5:88:3b:b1\n"
+ " c9:4b:6a:0e:a1:ad:20:50:40:08:80:a1:4f:5c:a3:d0\n"
+ " f8:6c:cf:e6:3c:f7:ec:04:76:13:17:8b:64:89:22:5b\n"
+ " c0:dd:53:7c:3b:ed:7c:04:bb:80:b9:28:be:8e:9b:c6\n"
+ " 8e:a0:a5:12:cb:f5:57:1e:a2:e7:bb:b7:33:49:9f:e3\n"
+ " bb:4a:ae:6a:4d:68:ff:c9:11:e2:32:8d:ce:3d:80:0b\n"
+ " 8d:75:ef:d8:00:81:8f:28:04:03:a0:22:8d:61:04:07\n"
+ " fa:b6:37:7d:21:07:49:d2:09:61:69:98:90:a3:58:a9\n"
+ " Exponent (bits 24):\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " DNSname: bar.example.org\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " 4cb90a9bfa1d34e37edecbd20715fea1dacb6891\n"
+ " Signature Algorithm: RSA-SHA\n"
+ " Signature:\n"
+ " a2:1f:d2:90:5f:c9:1c:6f:92:1d:c5:0b:ac:b0:17:23\n"
+ " c5:67:46:94:6f:0f:62:7d:66:4c:28:ff:b7:10:73:60\n"
+ " ae:0e:a2:47:82:83:bb:89:0d:f1:16:5e:f9:5b:35:4b\n"
+ " ce:ee:5e:d0:ad:b5:8b:cc:37:b3:ac:4d:1b:58:c2:4f\n"
+ " 1c:7f:c6:ac:3d:25:18:67:37:f0:27:11:9b:2c:20:b6\n"
+ " 78:24:21:a6:77:44:e7:1a:e5:f6:bf:45:84:32:81:67\n"
+ " af:8d:96:26:f7:39:31:6b:63:c5:15:9d:e0:a0:9a:1e\n"
+ " 96:12:cb:ad:85:cb:a7:d4:86:ac:d8:f5:e9:a4:2b:20\n"
+ "Other Information:\n"
+ " MD5 fingerprint:\n"
+ " f27b18092c7497f206e70f504eee0f8e\n"
+ " SHA-1 fingerprint:\n"
+ " bebdac9d0dd54e8f044642e0f065fae5d75ca6e5\n"
+ " Public Key ID:\n"
+ " 4cb90a9bfa1d34e37edecbd20715fea1dacb6891\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICWTCCAcSgAwIBAgIESoJ9XDALBgkqhkiG9w0BAQUwQjEmMCQGA1UEChMdR251\n"
+ "VExTIGhvc3RuYW1lIGNoZWNrIHRlc3QgQ0ExGDAWBgNVBAMTD2Zvby5leGFtcGxl\n"
+ "Lm9yZzAeFw0wOTA4MTIwODI5MTdaFw0wOTA4MTMwODI5MjNaMEIxJjAkBgNVBAoT\n"
+ "HUdudVRMUyBob3N0bmFtZSBjaGVjayB0ZXN0IENBMRgwFgYDVQQDEw9mb28uZXhh\n"
+ "bXBsZS5vcmcwgZwwCwYJKoZIhvcNAQEBA4GMADCBiAKBgLtmQ/Xyxde2jMzF3/WI\n"
+ "O7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeLZIkiW8DdU3w77XwEu4C5KL6O\n"
+ "m8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKNzj2AC41179gAgY8oBAOgIo1h\n"
+ "BAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wGgYD\n"
+ "VR0RBBMwEYIPYmFyLmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0G\n"
+ "A1UdDgQWBBRMuQqb+h00437ey9IHFf6h2stokTALBgkqhkiG9w0BAQUDgYEAoh/S\n"
+ "kF/JHG+SHcULrLAXI8VnRpRvD2J9Zkwo/7cQc2CuDqJHgoO7iQ3xFl75WzVLzu5e\n"
+ "0K21i8w3s6xNG1jCTxx/xqw9JRhnN/AnEZssILZ4JCGmd0TnGuX2v0WEMoFnr42W\n"
+ "Jvc5MWtjxRWd4KCaHpYSy62Fy6fUhqzY9emkKyA=\n"
+ "-----END CERTIFICATE-----\n";
/* Certificate with SAN and CN that match iff you truncate the SAN to
the embedded NUL.
See <http://thread.gmane.org/gmane.network.gnutls.general/1735>. */
char pem10[] =
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 0b5d0a870d09\n"
- " Issuer: C=NN,O=Edel Curl Arctic Illudium Research Cloud,CN=Northern Nowhere Trust Anchor\n"
- " Validity:\n"
- " Not Before: Tue Aug 04 22:07:33 UTC 2009\n"
- " Not After: Sat Oct 21 22:07:33 UTC 2017\n"
- " Subject: C=NN,O=Edel Curl Arctic Illudium Research Cloud,CN=localhost\n"
- " Subject Public Key Algorithm: RSA\n"
- " Modulus (bits 1024):\n"
- " be:67:3b:b4:ea:c0:85:b4:c3:56:c1:a4:96:23:36:f5\n"
- " c6:77:aa:ad:e5:c1:dd:ce:c1:9a:97:07:dd:16:90:eb\n"
- " f0:38:b5:95:6b:a6:0f:b9:73:4e:7d:82:57:ab:5f:b5\n"
- " ba:5c:a0:48:8c:82:77:fd:67:d8:53:44:61:86:a5:06\n"
- " 19:bf:73:51:68:2e:1a:0a:c5:05:39:ca:3d:ca:83:ed\n"
- " 07:fe:ae:b7:73:1d:60:dd:ab:9e:0e:7e:02:f3:68:42\n"
- " 93:27:c8:5f:c5:fa:cb:a9:84:06:2f:f3:66:bd:de:7d\n"
- " 29:82:57:47:e4:a9:df:bf:8b:bc:c0:46:33:5a:7b:87\n"
- " Exponent (bits 24):\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Subject Alternative Name (not critical):\n"
- "warning: SAN contains an embedded NUL, replacing with '!'\n"
- " DNSname: localhost!h\n"
- " Key Usage (not critical):\n"
- " Key encipherment.\n"
- " Key Purpose (not critical):\n"
- " TLS WWW Server.\n"
- " Subject Key Identifier (not critical):\n"
- " 0c37a3db0f73b3388a69d36eb3a7d6d8774eda67\n"
- " Authority Key Identifier (not critical):\n"
- " 126b24d24a68b7a1b01ccdbfd64ccc405b7fe040\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): FALSE\n"
- " Signature Algorithm: RSA-SHA\n"
- " Signature:\n"
- " 88:a0:17:77:77:bf:c1:8a:18:4e:a3:94:6e:45:18:31\n"
- " fa:2f:7b:1f:ee:95:20:d1:cd:40:df:ee:f0:45:2e:e9\n"
- " e6:cf:c8:77:bd:85:16:d7:9f:18:52:78:3f:ea:9c:86\n"
- " 62:6e:db:90:b0:cd:f1:c1:6f:2d:87:4a:a0:be:b3:dc\n"
- " 6d:e4:6b:d1:da:b9:10:25:7e:35:1f:1b:aa:a7:09:2f\n"
- " 84:77:27:b0:48:a8:6d:54:57:38:35:22:34:03:0f:d4\n"
- " 5d:ab:1c:72:15:b1:d9:89:56:10:12:fb:7d:0d:18:12\n"
- " a9:0a:38:dc:93:cf:69:ff:75:86:9e:e3:6b:eb:92:6c\n"
- " 55:16:d5:65:8b:d7:9c:5e:4b:82:c8:92:6c:8b:e6:18\n"
- " a2:f8:8c:65:aa:b6:eb:23:ed:cb:99:db:fc:8b:8e:1d\n"
- " 7a:39:c9:f5:7b:7f:58:7b:ed:01:6c:3c:40:ec:e3:a9\n"
- " 5f:c4:3d:cb:81:17:03:6d:2d:d7:bd:00:5f:c4:79:f2\n"
- " fb:ab:c6:0e:a2:01:8b:a1:42:73:de:96:29:3e:bf:d7\n"
- " d9:51:a7:d4:98:07:7f:f0:f4:cd:00:a1:e1:ac:6c:05\n"
- " ac:ab:93:1b:b0:5c:2c:13:ad:ff:27:dc:80:99:34:66\n"
- " bd:e3:31:54:d5:b6:3f:ce:d4:08:a3:52:28:61:5e:bd\n"
- "Other Information:\n"
- " MD5 fingerprint:\n"
- " 0b4d6d944200cdd1639008b24dc0fe0a\n"
- " SHA-1 fingerprint:\n"
- " ce85660f5451b0cc12f525577f0eb9411a20c76b\n"
- " Public Key ID:\n"
- " a1d18c15e65c7c4935512eeea7ca5d3e6baad4e1\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDQzCCAiugAwIBAgIGC10Khw0JMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT\n"
- "Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo\n"
- "IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X\n"
- "DTA5MDgwNDIyMDczM1oXDTE3MTAyMTIyMDczM1owVDELMAkGA1UEBhMCTk4xMTAv\n"
- "BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx\n"
- "EjAQBgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
- "vmc7tOrAhbTDVsGkliM29cZ3qq3lwd3OwZqXB90WkOvwOLWVa6YPuXNOfYJXq1+1\n"
- "ulygSIyCd/1n2FNEYYalBhm/c1FoLhoKxQU5yj3Kg+0H/q63cx1g3aueDn4C82hC\n"
- "kyfIX8X6y6mEBi/zZr3efSmCV0fkqd+/i7zARjNae4cCAwEAAaOBizCBiDAWBgNV\n"
- "HREEDzANggtsb2NhbGhvc3QAaDALBgNVHQ8EBAMCBSAwEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwEwHQYDVR0OBBYEFAw3o9sPc7M4imnTbrOn1th3TtpnMB8GA1UdIwQYMBaA\n"
- "FBJrJNJKaLehsBzNv9ZMzEBbf+BAMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEF\n"
- "BQADggEBAIigF3d3v8GKGE6jlG5FGDH6L3sf7pUg0c1A3+7wRS7p5s/Id72FFtef\n"
- "GFJ4P+qchmJu25CwzfHBby2HSqC+s9xt5GvR2rkQJX41HxuqpwkvhHcnsEiobVRX\n"
- "ODUiNAMP1F2rHHIVsdmJVhAS+30NGBKpCjjck89p/3WGnuNr65JsVRbVZYvXnF5L\n"
- "gsiSbIvmGKL4jGWqtusj7cuZ2/yLjh16Ocn1e39Ye+0BbDxA7OOpX8Q9y4EXA20t\n"
- "170AX8R58vurxg6iAYuhQnPelik+v9fZUafUmAd/8PTNAKHhrGwFrKuTG7BcLBOt\n"
- "/yfcgJk0Zr3jMVTVtj/O1AijUihhXr0=\n" "-----END CERTIFICATE-----\n";
-
-char pem_too_many[] = "\n"
- " Subject: C=BE,CN=******************.gnutls.org\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDljCCAk6gAwIBAgIETcMNdjANBgkqhkiG9w0BAQsFADA6MQswCQYDVQQGEwJC\n"
- "RTErMCkGA1UEAxMiKioqKioqKioqKioqKioqKioqKioqKiouZ251dGxzLm9yZzAe\n"
- "Fw0xMTA1MDUyMDQ5NTlaFw02NDAxMTUyMDUwMDJaMDoxCzAJBgNVBAYTAkJFMSsw\n"
- "KQYDVQQDEyIqKioqKioqKioqKioqKioqKioqKioqKi5nbnV0bHMub3JnMIIBUjAN\n"
- "BgkqhkiG9w0BAQEFAAOCAT8AMIIBOgKCATEA3c+X0qUdld2GGNjEua2mDLSdttz6\n"
- "3CHhOmI0B+gzsuiX7ixB0hLxX+3kdv9lJh4Mx0EVaV8N+a2JFI3q1xZSmkfBuwAC\n"
- "5IhFc3ikrts4w8YH0mQOh+10jGvEwAJQfE6m0Vjp5RMJqdta6usPBoBcCe+UyOn7\n"
- "Ny514ayTrZs3E0tmOnYz2MTXTPthyJIhB/zfqYhU5KOpR9JsuOM5iRGIOC2i3D5e\n"
- "SqmkjtUfstDdQTzaEGieRxtlAqLFKHMCgwMJ/fUpfpfcKk5LqnlGRnCGG5u49oq+\n"
- "KYd9X9qll2vvyEMJQ+IfihZ+HVBd9doC7vLDKkjmazDqAtfvrIsMuMGF2L98hage\n"
- "g75cJi55e0f1Sj9mYpL9QSC2LADwUsomBi18z3pQfQ/L3ZcgyG/k4FD04wIDAQAB\n"
- "o0QwQjAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQW\n"
- "BBSSU9ZxufhoqrNT9o31OUVmnKflMTANBgkqhkiG9w0BAQsFAAOCATEAUMK435LP\n"
- "0XpmpWLBBuC6VLLIsAGmXRv7odw8sG9fOctalsbK3zd9pDOaoFI/128GOmlTp1aC\n"
- "n4a/pZ9G5wTKRvdxVqecdYkozDtAS35uwCSQPU/P12Oug6kA4NNJDxF3FGm5eov6\n"
- "SnZDL0Qlhat9y0yOakaOkVNwESAwgUEYClZeR45htvH5oP48XEgwqHQ9jPS2MXAe\n"
- "QLBjqqeYzIvWqwT4z14tIkN0VWWqqVo/dzV+lfNwQy0UL8iWVYnks8wKs2SBkVHx\n"
- "41wBR3uCgCDwlYGDLIG1cm0n7mXrnE7KNcrwQKXL8WGNRAVvx5MVO1vDoWPyQ1Y4\n"
- "sDdnQiVER9ee/KxO6IgCTGh+nCBTSSYgLX2E/m789quPvzyi9Hf/go28he6E3dSK\n"
- "q7/LRSxaZenB/Q==\n" "-----END CERTIFICATE-----\n";
-
-char pem_ips[] = "\n"
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Issuer: CN=server-0\n"
- " Validity:\n"
- " Not Before: Fri Jun 27 09:14:36 UTC 2014\n"
- " Not After: Fri Dec 31 23:59:59 UTC 9999\n"
- " Subject: CN=server-0\n"
- " Subject Public Key Algorithm: RSA\n"
- " Algorithm Security Level: Medium (2048 bits)\n"
- " Modulus (bits 2048):\n"
- " 00:c1:56:12:f6:c3:c7:e3:4c:7e:ff:04:4e:88:1d:67\n"
- " a7:f3:4d:64:cc:12:a7:ff:50:aa:5c:31:b9:3c:d1:d1\n"
- " ba:78:2c:7d:dd:54:4a:cd:5a:f2:38:8b:b2:c5:26:7e\n"
- " 25:05:36:b6:92:e6:1d:c3:00:39:a0:c5:1c:b5:63:3d\n"
- " 00:e9:b4:b5:75:a7:14:b1:ff:a0:03:9d:ba:77:da:e5\n"
- " de:21:fb:56:da:06:9d:84:57:53:3d:08:45:45:20:fd\n"
- " e7:60:65:2e:55:60:db:d3:91:da:64:ff:c4:42:42:54\n"
- " 77:cb:47:54:68:1e:b4:62:ad:8a:3c:0a:28:89:cb:d3\n"
- " 81:d3:15:9a:1d:67:90:51:83:90:6d:fb:a1:0e:54:6b\n"
- " 29:d7:ef:79:19:14:f6:0d:82:73:8f:79:58:0e:af:0e\n"
- " cc:bd:17:ab:b5:a2:1f:76:a1:9f:4b:7b:e8:f9:7b:28\n"
- " 56:cc:f1:5b:0e:93:c9:e5:44:2f:2d:0a:22:7d:0b:2b\n"
- " 30:84:c3:1e:d6:4d:63:5b:41:51:83:d4:b5:09:f4:cc\n"
- " ab:ad:51:1b:8e:a1:f6:b1:27:5b:43:3c:bc:ae:10:93\n"
- " d4:ce:3b:10:ca:3f:22:dd:9e:a8:3f:4a:a6:a8:cd:8f\n"
- " d0:6a:e0:40:26:28:0f:af:0e:13:e1:ac:b9:ac:41:cc\n"
- " 5d\n"
- " Exponent (bits 24):\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " IPAddress: 127.0.0.1\n"
- " IPAddress: 192.168.5.1\n"
- " IPAddress: 10.100.2.5\n"
- " IPAddress: 0:0:0:0:0:0:0:1\n"
- " IPAddress: fe80:0:0:0:3e97:eff:fe18:359a\n"
- " Key Usage (critical):\n"
- " Certificate signing.\n"
- " Subject Key Identifier (not critical):\n"
- " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
- " Signature Algorithm: RSA-SHA256\n"
- " Signature:\n"
- " 02:22:52:4b:69:e5:4f:f8:17:0a:46:34:d1:ec:6b:f5\n"
- " ae:5b:fc:e2:00:ca:1f:f0:1d:74:91:9c:85:0a:a7:06\n"
- " 3d:fa:93:0d:35:85:ea:3e:01:9f:9e:bc:52:72:95:b2\n"
- " 8a:3a:78:6e:d2:5d:4d:60:88:2b:be:6f:68:75:c7:19\n"
- " ac:c9:ea:ab:74:f6:62:4d:30:1e:87:e4:70:1e:96:f4\n"
- " 0b:48:ef:c9:28:14:6f:fa:c1:7b:d3:ef:b3:d8:52:90\n"
- " 5d:20:d0:aa:8b:10:ab:74:86:46:be:cb:6c:93:54:60\n"
- " bc:6e:d6:4d:b2:1e:25:65:38:52:5b:6c:b4:57:8f:0f\n"
- " 26:4f:36:ea:42:eb:71:68:93:f3:a9:7a:66:5c:b6:07\n"
- " 7d:15:b5:f4:b8:5c:7c:e0:cd:d0:fa:5b:2a:6b:fd:4c\n"
- " 71:12:45:d0:37:9e:cf:90:59:6e:fd:ba:3a:8b:ca:37\n"
- " 01:cc:6f:e0:32:c7:9e:a4:ea:61:2c:e5:ad:66:73:80\n"
- " 5c:5e:0c:44:ec:c2:74:b8:fe:6e:66:af:76:cc:30:10\n"
- " 1f:3a:ac:34:36:e6:5b:72:f3:ee:5a:68:c3:43:37:56\n"
- " c3:08:02:3c:96:1c:27:18:d0:38:fa:d7:51:4e:82:7d\n"
- " fc:81:a2:23:c5:05:80:0e:b4:ba:d3:19:39:74:9c:74\n"
- "Other Information:\n"
- " SHA1 fingerprint:\n"
- " 43536dd4198f6064c117c3825020b14c108f9a34\n"
- " SHA256 fingerprint:\n"
- " 5ab6626aa069da15650edcfff7305767ff5b8d338289f851a624ea89b50ff06a\n"
- " Public Key ID:\n"
- " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
- " Public key's random art:\n"
- " +--[ RSA 2048]----+\n"
- " | |\n"
- " | . |\n"
- " | . + |\n"
- " | . .= . |\n"
- " | .S+oo |\n"
- " | E+.+ |\n"
- " | . +. *.o |\n"
- " | . oo.=..+ o |\n"
- " | ooo.+Bo . |\n"
- " +-----------------+\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDKzCCAhOgAwIBAgIBADANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhzZXJ2\n"
- "ZXItMDAiGA8yMDE0MDYyNzA5MTQzNloYDzk5OTkxMjMxMjM1OTU5WjATMREwDwYD\n"
- "VQQDEwhzZXJ2ZXItMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFW\n"
- "EvbDx+NMfv8ETogdZ6fzTWTMEqf/UKpcMbk80dG6eCx93VRKzVryOIuyxSZ+JQU2\n"
- "tpLmHcMAOaDFHLVjPQDptLV1pxSx/6ADnbp32uXeIftW2gadhFdTPQhFRSD952Bl\n"
- "LlVg29OR2mT/xEJCVHfLR1RoHrRirYo8CiiJy9OB0xWaHWeQUYOQbfuhDlRrKdfv\n"
- "eRkU9g2Cc495WA6vDsy9F6u1oh92oZ9Le+j5eyhWzPFbDpPJ5UQvLQoifQsrMITD\n"
- "HtZNY1tBUYPUtQn0zKutURuOofaxJ1tDPLyuEJPUzjsQyj8i3Z6oP0qmqM2P0Grg\n"
- "QCYoD68OE+GsuaxBzF0CAwEAAaOBhTCBgjAPBgNVHRMBAf8EBTADAQH/MD8GA1Ud\n"
- "EQQ4MDaHBH8AAAGHBMCoBQGHBApkAgWHEAAAAAAAAAAAAAAAAAAAAAGHEP6AAAAA\n"
- "AAAAPpcO//4YNZowDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUvT0LbKtrM9io\n"
- "4e0Vt6sXWHzCoJ8wDQYJKoZIhvcNAQELBQADggEBAAIiUktp5U/4FwpGNNHsa/Wu\n"
- "W/ziAMof8B10kZyFCqcGPfqTDTWF6j4Bn568UnKVsoo6eG7SXU1giCu+b2h1xxms\n"
- "yeqrdPZiTTAeh+RwHpb0C0jvySgUb/rBe9Pvs9hSkF0g0KqLEKt0hka+y2yTVGC8\n"
- "btZNsh4lZThSW2y0V48PJk826kLrcWiT86l6Zly2B30VtfS4XHzgzdD6Wypr/Uxx\n"
- "EkXQN57PkFlu/bo6i8o3Acxv4DLHnqTqYSzlrWZzgFxeDETswnS4/m5mr3bMMBAf\n"
- "Oqw0NuZbcvPuWmjDQzdWwwgCPJYcJxjQOPrXUU6CffyBoiPFBYAOtLrTGTl0nHQ=\n"
- "-----END CERTIFICATE-----\n" "";
-
-char multi_cns[] = "\n"
- "Subject: CN=www.example.com,CN=www.example2.com,CN=www.example3.com\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDXzCCAkegAwIBAgIMU+p6uAg2JlqRhAbAMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIhgPMjAxNDA4MTIyMDM2MDhaGA85OTk5MTIzMTIzNTk1OVow\n"
- "UDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMRkwFwYDVQQDExB3d3cuZXhhbXBs\n"
- "ZTIuY29tMRkwFwYDVQQDExB3d3cuZXhhbXBsZTMuY29tMIIBIjANBgkqhkiG9w0B\n"
- "AQEFAAOCAQ8AMIIBCgKCAQEAqP5QQUqIS2lquM8hYbDHljqHBDWlGtr167DDPwix\n"
- "oIlnq84Xr1zI5zpJ2t/3U5kGTbRJiVroQCh3cVhiQyGTPSJPK+CJGi3diw5Vc2rK\n"
- "oAPxaFtaxvE36mLLH2SSuc49b6hhlRpXdWE0TgnsvJojL5V20/CZI23T27fl+DjT\n"
- "MduU92qH8wdCgp7q3sHZvtvTZuFM+edYvKZjhUz8P7JwiamG0A2UH+NiyicdAOxc\n"
- "+lfwfoyetJdTHLfwxdCXT4X91xGd9eOW9lIL5BqLuAArODTcmHDmiXpXEO/sEyHq\n"
- "L96Eawjon0Gz4IRNq7/kwDjSPJOIN0GHq6DtNmXl6J0C5wIDAQABo3YwdDAMBgNV\n"
- "HRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMHoAAw\n"
- "HQYDVR0OBBYEFH6NTStc4XH/M74Meat1sT2o53fUMB8GA1UdIwQYMBaAFK8aMLKE\n"
- "hAwWmkzQxRkQ1/efnumUMA0GCSqGSIb3DQEBCwUAA4IBAQBdHknM+rddB0ET+UI2\n"
- "Or8qSNjkqBHwsZqb4hJozXFS35a1CJPQuxPzY13eHpiIfmdWL2EpKnLOU8vtAW9e\n"
- "qpozMGDyrAuZhxsXUtInbF15C+Yuw9/sqCPK44b5DCtDf6J/N8m8FvdwqO803z1D\n"
- "MGcSpES5I68+N3dwSRFYNpSLA1ul5MSlnmoffml959kx9hZNcI4N/UqkO1LMCKXX\n"
- "Nf8kGFyLdPjANcIwL5sqP+Dp4HP3wdf7Ny+KFCZ6zDbpa53gb3G0naMdllK8BMfI\n"
- "AQ4Y07zSA4K1QMdxeqaMgPIcCDLoKiMXAXNa42+K04F6SOkTjsVx9b5m0oynLt0u\n"
- "MUjE\n" "-----END CERTIFICATE-----\n";
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 0b5d0a870d09\n"
+ " Issuer: C=NN,O=Edel Curl Arctic Illudium Research Cloud,CN=Northern Nowhere Trust Anchor\n"
+ " Validity:\n"
+ " Not Before: Tue Aug 04 22:07:33 UTC 2009\n"
+ " Not After: Sat Oct 21 22:07:33 UTC 2017\n"
+ " Subject: C=NN,O=Edel Curl Arctic Illudium Research Cloud,CN=localhost\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Modulus (bits 1024):\n"
+ " be:67:3b:b4:ea:c0:85:b4:c3:56:c1:a4:96:23:36:f5\n"
+ " c6:77:aa:ad:e5:c1:dd:ce:c1:9a:97:07:dd:16:90:eb\n"
+ " f0:38:b5:95:6b:a6:0f:b9:73:4e:7d:82:57:ab:5f:b5\n"
+ " ba:5c:a0:48:8c:82:77:fd:67:d8:53:44:61:86:a5:06\n"
+ " 19:bf:73:51:68:2e:1a:0a:c5:05:39:ca:3d:ca:83:ed\n"
+ " 07:fe:ae:b7:73:1d:60:dd:ab:9e:0e:7e:02:f3:68:42\n"
+ " 93:27:c8:5f:c5:fa:cb:a9:84:06:2f:f3:66:bd:de:7d\n"
+ " 29:82:57:47:e4:a9:df:bf:8b:bc:c0:46:33:5a:7b:87\n"
+ " Exponent (bits 24):\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Subject Alternative Name (not critical):\n"
+ "warning: SAN contains an embedded NUL, replacing with '!'\n"
+ " DNSname: localhost!h\n"
+ " Key Usage (not critical):\n"
+ " Key encipherment.\n"
+ " Key Purpose (not critical):\n"
+ " TLS WWW Server.\n"
+ " Subject Key Identifier (not critical):\n"
+ " 0c37a3db0f73b3388a69d36eb3a7d6d8774eda67\n"
+ " Authority Key Identifier (not critical):\n"
+ " 126b24d24a68b7a1b01ccdbfd64ccc405b7fe040\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): FALSE\n"
+ " Signature Algorithm: RSA-SHA\n"
+ " Signature:\n"
+ " 88:a0:17:77:77:bf:c1:8a:18:4e:a3:94:6e:45:18:31\n"
+ " fa:2f:7b:1f:ee:95:20:d1:cd:40:df:ee:f0:45:2e:e9\n"
+ " e6:cf:c8:77:bd:85:16:d7:9f:18:52:78:3f:ea:9c:86\n"
+ " 62:6e:db:90:b0:cd:f1:c1:6f:2d:87:4a:a0:be:b3:dc\n"
+ " 6d:e4:6b:d1:da:b9:10:25:7e:35:1f:1b:aa:a7:09:2f\n"
+ " 84:77:27:b0:48:a8:6d:54:57:38:35:22:34:03:0f:d4\n"
+ " 5d:ab:1c:72:15:b1:d9:89:56:10:12:fb:7d:0d:18:12\n"
+ " a9:0a:38:dc:93:cf:69:ff:75:86:9e:e3:6b:eb:92:6c\n"
+ " 55:16:d5:65:8b:d7:9c:5e:4b:82:c8:92:6c:8b:e6:18\n"
+ " a2:f8:8c:65:aa:b6:eb:23:ed:cb:99:db:fc:8b:8e:1d\n"
+ " 7a:39:c9:f5:7b:7f:58:7b:ed:01:6c:3c:40:ec:e3:a9\n"
+ " 5f:c4:3d:cb:81:17:03:6d:2d:d7:bd:00:5f:c4:79:f2\n"
+ " fb:ab:c6:0e:a2:01:8b:a1:42:73:de:96:29:3e:bf:d7\n"
+ " d9:51:a7:d4:98:07:7f:f0:f4:cd:00:a1:e1:ac:6c:05\n"
+ " ac:ab:93:1b:b0:5c:2c:13:ad:ff:27:dc:80:99:34:66\n"
+ " bd:e3:31:54:d5:b6:3f:ce:d4:08:a3:52:28:61:5e:bd\n"
+ "Other Information:\n"
+ " MD5 fingerprint:\n"
+ " 0b4d6d944200cdd1639008b24dc0fe0a\n"
+ " SHA-1 fingerprint:\n"
+ " ce85660f5451b0cc12f525577f0eb9411a20c76b\n"
+ " Public Key ID:\n"
+ " a1d18c15e65c7c4935512eeea7ca5d3e6baad4e1\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDQzCCAiugAwIBAgIGC10Khw0JMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT\n"
+ "Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo\n"
+ "IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X\n"
+ "DTA5MDgwNDIyMDczM1oXDTE3MTAyMTIyMDczM1owVDELMAkGA1UEBhMCTk4xMTAv\n"
+ "BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx\n"
+ "EjAQBgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
+ "vmc7tOrAhbTDVsGkliM29cZ3qq3lwd3OwZqXB90WkOvwOLWVa6YPuXNOfYJXq1+1\n"
+ "ulygSIyCd/1n2FNEYYalBhm/c1FoLhoKxQU5yj3Kg+0H/q63cx1g3aueDn4C82hC\n"
+ "kyfIX8X6y6mEBi/zZr3efSmCV0fkqd+/i7zARjNae4cCAwEAAaOBizCBiDAWBgNV\n"
+ "HREEDzANggtsb2NhbGhvc3QAaDALBgNVHQ8EBAMCBSAwEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwEwHQYDVR0OBBYEFAw3o9sPc7M4imnTbrOn1th3TtpnMB8GA1UdIwQYMBaA\n"
+ "FBJrJNJKaLehsBzNv9ZMzEBbf+BAMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEF\n"
+ "BQADggEBAIigF3d3v8GKGE6jlG5FGDH6L3sf7pUg0c1A3+7wRS7p5s/Id72FFtef\n"
+ "GFJ4P+qchmJu25CwzfHBby2HSqC+s9xt5GvR2rkQJX41HxuqpwkvhHcnsEiobVRX\n"
+ "ODUiNAMP1F2rHHIVsdmJVhAS+30NGBKpCjjck89p/3WGnuNr65JsVRbVZYvXnF5L\n"
+ "gsiSbIvmGKL4jGWqtusj7cuZ2/yLjh16Ocn1e39Ye+0BbDxA7OOpX8Q9y4EXA20t\n"
+ "170AX8R58vurxg6iAYuhQnPelik+v9fZUafUmAd/8PTNAKHhrGwFrKuTG7BcLBOt\n"
+ "/yfcgJk0Zr3jMVTVtj/O1AijUihhXr0=\n"
+ "-----END CERTIFICATE-----\n";
+
+char pem_too_many[] =
+ "\n"
+ " Subject: C=BE,CN=******************.gnutls.org\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDljCCAk6gAwIBAgIETcMNdjANBgkqhkiG9w0BAQsFADA6MQswCQYDVQQGEwJC\n"
+ "RTErMCkGA1UEAxMiKioqKioqKioqKioqKioqKioqKioqKiouZ251dGxzLm9yZzAe\n"
+ "Fw0xMTA1MDUyMDQ5NTlaFw02NDAxMTUyMDUwMDJaMDoxCzAJBgNVBAYTAkJFMSsw\n"
+ "KQYDVQQDEyIqKioqKioqKioqKioqKioqKioqKioqKi5nbnV0bHMub3JnMIIBUjAN\n"
+ "BgkqhkiG9w0BAQEFAAOCAT8AMIIBOgKCATEA3c+X0qUdld2GGNjEua2mDLSdttz6\n"
+ "3CHhOmI0B+gzsuiX7ixB0hLxX+3kdv9lJh4Mx0EVaV8N+a2JFI3q1xZSmkfBuwAC\n"
+ "5IhFc3ikrts4w8YH0mQOh+10jGvEwAJQfE6m0Vjp5RMJqdta6usPBoBcCe+UyOn7\n"
+ "Ny514ayTrZs3E0tmOnYz2MTXTPthyJIhB/zfqYhU5KOpR9JsuOM5iRGIOC2i3D5e\n"
+ "SqmkjtUfstDdQTzaEGieRxtlAqLFKHMCgwMJ/fUpfpfcKk5LqnlGRnCGG5u49oq+\n"
+ "KYd9X9qll2vvyEMJQ+IfihZ+HVBd9doC7vLDKkjmazDqAtfvrIsMuMGF2L98hage\n"
+ "g75cJi55e0f1Sj9mYpL9QSC2LADwUsomBi18z3pQfQ/L3ZcgyG/k4FD04wIDAQAB\n"
+ "o0QwQjAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQW\n"
+ "BBSSU9ZxufhoqrNT9o31OUVmnKflMTANBgkqhkiG9w0BAQsFAAOCATEAUMK435LP\n"
+ "0XpmpWLBBuC6VLLIsAGmXRv7odw8sG9fOctalsbK3zd9pDOaoFI/128GOmlTp1aC\n"
+ "n4a/pZ9G5wTKRvdxVqecdYkozDtAS35uwCSQPU/P12Oug6kA4NNJDxF3FGm5eov6\n"
+ "SnZDL0Qlhat9y0yOakaOkVNwESAwgUEYClZeR45htvH5oP48XEgwqHQ9jPS2MXAe\n"
+ "QLBjqqeYzIvWqwT4z14tIkN0VWWqqVo/dzV+lfNwQy0UL8iWVYnks8wKs2SBkVHx\n"
+ "41wBR3uCgCDwlYGDLIG1cm0n7mXrnE7KNcrwQKXL8WGNRAVvx5MVO1vDoWPyQ1Y4\n"
+ "sDdnQiVER9ee/KxO6IgCTGh+nCBTSSYgLX2E/m789quPvzyi9Hf/go28he6E3dSK\n"
+ "q7/LRSxaZenB/Q==\n"
+ "-----END CERTIFICATE-----\n";
+
+char pem_ips[] =
+ "\n"
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Issuer: CN=server-0\n"
+ " Validity:\n"
+ " Not Before: Fri Jun 27 09:14:36 UTC 2014\n"
+ " Not After: Fri Dec 31 23:59:59 UTC 9999\n"
+ " Subject: CN=server-0\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Algorithm Security Level: Medium (2048 bits)\n"
+ " Modulus (bits 2048):\n"
+ " 00:c1:56:12:f6:c3:c7:e3:4c:7e:ff:04:4e:88:1d:67\n"
+ " a7:f3:4d:64:cc:12:a7:ff:50:aa:5c:31:b9:3c:d1:d1\n"
+ " ba:78:2c:7d:dd:54:4a:cd:5a:f2:38:8b:b2:c5:26:7e\n"
+ " 25:05:36:b6:92:e6:1d:c3:00:39:a0:c5:1c:b5:63:3d\n"
+ " 00:e9:b4:b5:75:a7:14:b1:ff:a0:03:9d:ba:77:da:e5\n"
+ " de:21:fb:56:da:06:9d:84:57:53:3d:08:45:45:20:fd\n"
+ " e7:60:65:2e:55:60:db:d3:91:da:64:ff:c4:42:42:54\n"
+ " 77:cb:47:54:68:1e:b4:62:ad:8a:3c:0a:28:89:cb:d3\n"
+ " 81:d3:15:9a:1d:67:90:51:83:90:6d:fb:a1:0e:54:6b\n"
+ " 29:d7:ef:79:19:14:f6:0d:82:73:8f:79:58:0e:af:0e\n"
+ " cc:bd:17:ab:b5:a2:1f:76:a1:9f:4b:7b:e8:f9:7b:28\n"
+ " 56:cc:f1:5b:0e:93:c9:e5:44:2f:2d:0a:22:7d:0b:2b\n"
+ " 30:84:c3:1e:d6:4d:63:5b:41:51:83:d4:b5:09:f4:cc\n"
+ " ab:ad:51:1b:8e:a1:f6:b1:27:5b:43:3c:bc:ae:10:93\n"
+ " d4:ce:3b:10:ca:3f:22:dd:9e:a8:3f:4a:a6:a8:cd:8f\n"
+ " d0:6a:e0:40:26:28:0f:af:0e:13:e1:ac:b9:ac:41:cc\n"
+ " 5d\n"
+ " Exponent (bits 24):\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " IPAddress: 127.0.0.1\n"
+ " IPAddress: 192.168.5.1\n"
+ " IPAddress: 10.100.2.5\n"
+ " IPAddress: 0:0:0:0:0:0:0:1\n"
+ " IPAddress: fe80:0:0:0:3e97:eff:fe18:359a\n"
+ " Key Usage (critical):\n"
+ " Certificate signing.\n"
+ " Subject Key Identifier (not critical):\n"
+ " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
+ " Signature Algorithm: RSA-SHA256\n"
+ " Signature:\n"
+ " 02:22:52:4b:69:e5:4f:f8:17:0a:46:34:d1:ec:6b:f5\n"
+ " ae:5b:fc:e2:00:ca:1f:f0:1d:74:91:9c:85:0a:a7:06\n"
+ " 3d:fa:93:0d:35:85:ea:3e:01:9f:9e:bc:52:72:95:b2\n"
+ " 8a:3a:78:6e:d2:5d:4d:60:88:2b:be:6f:68:75:c7:19\n"
+ " ac:c9:ea:ab:74:f6:62:4d:30:1e:87:e4:70:1e:96:f4\n"
+ " 0b:48:ef:c9:28:14:6f:fa:c1:7b:d3:ef:b3:d8:52:90\n"
+ " 5d:20:d0:aa:8b:10:ab:74:86:46:be:cb:6c:93:54:60\n"
+ " bc:6e:d6:4d:b2:1e:25:65:38:52:5b:6c:b4:57:8f:0f\n"
+ " 26:4f:36:ea:42:eb:71:68:93:f3:a9:7a:66:5c:b6:07\n"
+ " 7d:15:b5:f4:b8:5c:7c:e0:cd:d0:fa:5b:2a:6b:fd:4c\n"
+ " 71:12:45:d0:37:9e:cf:90:59:6e:fd:ba:3a:8b:ca:37\n"
+ " 01:cc:6f:e0:32:c7:9e:a4:ea:61:2c:e5:ad:66:73:80\n"
+ " 5c:5e:0c:44:ec:c2:74:b8:fe:6e:66:af:76:cc:30:10\n"
+ " 1f:3a:ac:34:36:e6:5b:72:f3:ee:5a:68:c3:43:37:56\n"
+ " c3:08:02:3c:96:1c:27:18:d0:38:fa:d7:51:4e:82:7d\n"
+ " fc:81:a2:23:c5:05:80:0e:b4:ba:d3:19:39:74:9c:74\n"
+ "Other Information:\n"
+ " SHA1 fingerprint:\n"
+ " 43536dd4198f6064c117c3825020b14c108f9a34\n"
+ " SHA256 fingerprint:\n"
+ " 5ab6626aa069da15650edcfff7305767ff5b8d338289f851a624ea89b50ff06a\n"
+ " Public Key ID:\n"
+ " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
+ " Public key's random art:\n"
+ " +--[ RSA 2048]----+\n"
+ " | |\n"
+ " | . |\n"
+ " | . + |\n"
+ " | . .= . |\n"
+ " | .S+oo |\n"
+ " | E+.+ |\n"
+ " | . +. *.o |\n"
+ " | . oo.=..+ o |\n"
+ " | ooo.+Bo . |\n"
+ " +-----------------+\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDKzCCAhOgAwIBAgIBADANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhzZXJ2\n"
+ "ZXItMDAiGA8yMDE0MDYyNzA5MTQzNloYDzk5OTkxMjMxMjM1OTU5WjATMREwDwYD\n"
+ "VQQDEwhzZXJ2ZXItMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFW\n"
+ "EvbDx+NMfv8ETogdZ6fzTWTMEqf/UKpcMbk80dG6eCx93VRKzVryOIuyxSZ+JQU2\n"
+ "tpLmHcMAOaDFHLVjPQDptLV1pxSx/6ADnbp32uXeIftW2gadhFdTPQhFRSD952Bl\n"
+ "LlVg29OR2mT/xEJCVHfLR1RoHrRirYo8CiiJy9OB0xWaHWeQUYOQbfuhDlRrKdfv\n"
+ "eRkU9g2Cc495WA6vDsy9F6u1oh92oZ9Le+j5eyhWzPFbDpPJ5UQvLQoifQsrMITD\n"
+ "HtZNY1tBUYPUtQn0zKutURuOofaxJ1tDPLyuEJPUzjsQyj8i3Z6oP0qmqM2P0Grg\n"
+ "QCYoD68OE+GsuaxBzF0CAwEAAaOBhTCBgjAPBgNVHRMBAf8EBTADAQH/MD8GA1Ud\n"
+ "EQQ4MDaHBH8AAAGHBMCoBQGHBApkAgWHEAAAAAAAAAAAAAAAAAAAAAGHEP6AAAAA\n"
+ "AAAAPpcO//4YNZowDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUvT0LbKtrM9io\n"
+ "4e0Vt6sXWHzCoJ8wDQYJKoZIhvcNAQELBQADggEBAAIiUktp5U/4FwpGNNHsa/Wu\n"
+ "W/ziAMof8B10kZyFCqcGPfqTDTWF6j4Bn568UnKVsoo6eG7SXU1giCu+b2h1xxms\n"
+ "yeqrdPZiTTAeh+RwHpb0C0jvySgUb/rBe9Pvs9hSkF0g0KqLEKt0hka+y2yTVGC8\n"
+ "btZNsh4lZThSW2y0V48PJk826kLrcWiT86l6Zly2B30VtfS4XHzgzdD6Wypr/Uxx\n"
+ "EkXQN57PkFlu/bo6i8o3Acxv4DLHnqTqYSzlrWZzgFxeDETswnS4/m5mr3bMMBAf\n"
+ "Oqw0NuZbcvPuWmjDQzdWwwgCPJYcJxjQOPrXUU6CffyBoiPFBYAOtLrTGTl0nHQ=\n"
+ "-----END CERTIFICATE-----\n"
+ "";
+
+char multi_cns[] =
+ "\n"
+ "Subject: CN=www.example.com,CN=www.example2.com,CN=www.example3.com\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDXzCCAkegAwIBAgIMU+p6uAg2JlqRhAbAMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIhgPMjAxNDA4MTIyMDM2MDhaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "UDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMRkwFwYDVQQDExB3d3cuZXhhbXBs\n"
+ "ZTIuY29tMRkwFwYDVQQDExB3d3cuZXhhbXBsZTMuY29tMIIBIjANBgkqhkiG9w0B\n"
+ "AQEFAAOCAQ8AMIIBCgKCAQEAqP5QQUqIS2lquM8hYbDHljqHBDWlGtr167DDPwix\n"
+ "oIlnq84Xr1zI5zpJ2t/3U5kGTbRJiVroQCh3cVhiQyGTPSJPK+CJGi3diw5Vc2rK\n"
+ "oAPxaFtaxvE36mLLH2SSuc49b6hhlRpXdWE0TgnsvJojL5V20/CZI23T27fl+DjT\n"
+ "MduU92qH8wdCgp7q3sHZvtvTZuFM+edYvKZjhUz8P7JwiamG0A2UH+NiyicdAOxc\n"
+ "+lfwfoyetJdTHLfwxdCXT4X91xGd9eOW9lIL5BqLuAArODTcmHDmiXpXEO/sEyHq\n"
+ "L96Eawjon0Gz4IRNq7/kwDjSPJOIN0GHq6DtNmXl6J0C5wIDAQABo3YwdDAMBgNV\n"
+ "HRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMHoAAw\n"
+ "HQYDVR0OBBYEFH6NTStc4XH/M74Meat1sT2o53fUMB8GA1UdIwQYMBaAFK8aMLKE\n"
+ "hAwWmkzQxRkQ1/efnumUMA0GCSqGSIb3DQEBCwUAA4IBAQBdHknM+rddB0ET+UI2\n"
+ "Or8qSNjkqBHwsZqb4hJozXFS35a1CJPQuxPzY13eHpiIfmdWL2EpKnLOU8vtAW9e\n"
+ "qpozMGDyrAuZhxsXUtInbF15C+Yuw9/sqCPK44b5DCtDf6J/N8m8FvdwqO803z1D\n"
+ "MGcSpES5I68+N3dwSRFYNpSLA1ul5MSlnmoffml959kx9hZNcI4N/UqkO1LMCKXX\n"
+ "Nf8kGFyLdPjANcIwL5sqP+Dp4HP3wdf7Ny+KFCZ6zDbpa53gb3G0naMdllK8BMfI\n"
+ "AQ4Y07zSA4K1QMdxeqaMgPIcCDLoKiMXAXNa42+K04F6SOkTjsVx9b5m0oynLt0u\n"
+ "MUjE\n"
+ "-----END CERTIFICATE-----\n";
char txt_ip_in_names[] =
- "Subject: CN=172.15.1.1\n"
- "Subject Alternative Name (not critical):\n"
- " DNSname: 172.15.2.1\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEJDCCAoygAwIBAgIMWQXA/TIEZUXpwL2dMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIBcNMTcwNDMwMTA0ODI5WhgPOTk5OTEyMzEyMzU5NTlaMBUx\n"
- "EzARBgNVBAMTCjE3Mi4xNS4xLjEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGK\n"
- "AoIBgQDP3DsT65aY+fHi6FivWbypF71T9UjAGYcho7XXPUCvBr6xQbyERZjb08qn\n"
- "RPvVDaiLeDfVve44gSho70t+fxMsCYZqkf9HN4aUzuxx2fHgMBCwyrhgm9zZ/zgA\n"
- "D92oXOPem2mKNjPavXtthqvgvwu6HmpJDd+YYR7FFbkgZswrqjd+lg0z+PGt5Xee\n"
- "LW3amPZINyc5Rai+LMlYIU29YK9G+CM3XVPQ8ygsQva+4/YoU1DVQRXFYTO1ERdn\n"
- "QDV9kmJKvQOxbjchNkLLMdBWee/WpJtBDE4KcidAsbd/6eUIINVAD7Nm5uE39mDv\n"
- "2ld4vup4j4A5dQNVhUd6iIYfkkwp9NnGMNGpgvSudPSHH8sFlfxXD8ysbD2wHeXL\n"
- "S0Q4Ejypij7tEzy5KdUWqft1QqClHawc2hZ9KKnCHW3xoUsAWxcTIlsgqUUJOkXR\n"
- "Qij2N+0SKrn6M6DSOiklCCunLUCUCceM7fiwYndhNFm5YvZq+m+Afnvxk5V7RnBu\n"
- "DLoxPxkCAwEAAaN4MHYwDAYDVR0TAQH/BAIwADAVBgNVHREEDjAMggoxNzIuMTUu\n"
- "Mi4xMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFFqnqgPcjDWmHm0PJNxKNeEx\n"
- "Msk1MB8GA1UdIwQYMBaAFOnh1ZODb8QbrqHBHpWyyrEVTpanMA0GCSqGSIb3DQEB\n"
- "CwUAA4IBgQArsZSxJdZ1W+y3m+y6f1Me3FB/XUscpHQ9cS0wlaikeqBvIru5zp7U\n"
- "tLT8qRS7Q8fxsL6LWiOmW5Izi4A51DYJQ9bUEqSIbp9SIV78u5v0oO1bnb7d5SV+\n"
- "BZm/zYuox2uTT9PSoB+iqQXUJ7brWdKe0NdPAzRpM928CqWJLPw0gn41GOIPN6wS\n"
- "IH29CvqRABkxzIsI8IcxHb3/F+DxTnq6aICoWe2XPeL+RqB7moP6YAC9W/r+hds2\n"
- "m8Gok+rGuG3VXk2vc/j1LRnGZfpCQV2L7e7b5eLyQ2Ce46fnxkQSTt4tc0//FTfr\n"
- "6X9624hAOV6MSlkPHNBwVE42z8KsxJfPxeHX+YzFBXqBiQ/r/TvOHDt5Tsny6lXh\n"
- "TDqlJ3NwdS/K9PAlLqhDiZwwakUS9lEY6IC7biP7mxNM8npzlqogfS07XTJgGxgb\n"
- "FtcITJKW0NPA8cnyEAt9jcgaDWw/xbVV+pIytFuGL8pjHEQ4H9Ymu6ifLNlkyu/e\n"
- "3XYCeqo17QE=\n" "-----END CERTIFICATE-----\n";
+ "Subject: CN=172.15.1.1\n"
+ "Subject Alternative Name (not critical):\n"
+ " DNSname: 172.15.2.1\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEJDCCAoygAwIBAgIMWQXA/TIEZUXpwL2dMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIBcNMTcwNDMwMTA0ODI5WhgPOTk5OTEyMzEyMzU5NTlaMBUx\n"
+ "EzARBgNVBAMTCjE3Mi4xNS4xLjEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGK\n"
+ "AoIBgQDP3DsT65aY+fHi6FivWbypF71T9UjAGYcho7XXPUCvBr6xQbyERZjb08qn\n"
+ "RPvVDaiLeDfVve44gSho70t+fxMsCYZqkf9HN4aUzuxx2fHgMBCwyrhgm9zZ/zgA\n"
+ "D92oXOPem2mKNjPavXtthqvgvwu6HmpJDd+YYR7FFbkgZswrqjd+lg0z+PGt5Xee\n"
+ "LW3amPZINyc5Rai+LMlYIU29YK9G+CM3XVPQ8ygsQva+4/YoU1DVQRXFYTO1ERdn\n"
+ "QDV9kmJKvQOxbjchNkLLMdBWee/WpJtBDE4KcidAsbd/6eUIINVAD7Nm5uE39mDv\n"
+ "2ld4vup4j4A5dQNVhUd6iIYfkkwp9NnGMNGpgvSudPSHH8sFlfxXD8ysbD2wHeXL\n"
+ "S0Q4Ejypij7tEzy5KdUWqft1QqClHawc2hZ9KKnCHW3xoUsAWxcTIlsgqUUJOkXR\n"
+ "Qij2N+0SKrn6M6DSOiklCCunLUCUCceM7fiwYndhNFm5YvZq+m+Afnvxk5V7RnBu\n"
+ "DLoxPxkCAwEAAaN4MHYwDAYDVR0TAQH/BAIwADAVBgNVHREEDjAMggoxNzIuMTUu\n"
+ "Mi4xMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFFqnqgPcjDWmHm0PJNxKNeEx\n"
+ "Msk1MB8GA1UdIwQYMBaAFOnh1ZODb8QbrqHBHpWyyrEVTpanMA0GCSqGSIb3DQEB\n"
+ "CwUAA4IBgQArsZSxJdZ1W+y3m+y6f1Me3FB/XUscpHQ9cS0wlaikeqBvIru5zp7U\n"
+ "tLT8qRS7Q8fxsL6LWiOmW5Izi4A51DYJQ9bUEqSIbp9SIV78u5v0oO1bnb7d5SV+\n"
+ "BZm/zYuox2uTT9PSoB+iqQXUJ7brWdKe0NdPAzRpM928CqWJLPw0gn41GOIPN6wS\n"
+ "IH29CvqRABkxzIsI8IcxHb3/F+DxTnq6aICoWe2XPeL+RqB7moP6YAC9W/r+hds2\n"
+ "m8Gok+rGuG3VXk2vc/j1LRnGZfpCQV2L7e7b5eLyQ2Ce46fnxkQSTt4tc0//FTfr\n"
+ "6X9624hAOV6MSlkPHNBwVE42z8KsxJfPxeHX+YzFBXqBiQ/r/TvOHDt5Tsny6lXh\n"
+ "TDqlJ3NwdS/K9PAlLqhDiZwwakUS9lEY6IC7biP7mxNM8npzlqogfS07XTJgGxgb\n"
+ "FtcITJKW0NPA8cnyEAt9jcgaDWw/xbVV+pIytFuGL8pjHEQ4H9Ymu6ifLNlkyu/e\n"
+ "3XYCeqo17QE=\n"
+ "-----END CERTIFICATE-----\n";
char txt_ip_in_cn[] =
- "CN=172.15.1.1\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIICCDCCAXGgAwIBAgIMWQXCYQfV3T9BXL4hMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIBcNMTcwNDMwMTA1NDI1WhgPOTk5OTEyMzEyMzU5NTlaMBUx\n"
- "EzARBgNVBAMTCjE3Mi4xNS4xLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
- "AM5hibrtVPezTZ018YR3DG+r71pTmfxVD1hWMAywQTMdut11Cg16dBtU/WJ6X3YF\n"
- "b3MAtrJf7eHnaxPneY7j590eOcqiDmb0skUATuZrX4Su0QMP4ygTcXlzMAxOFYwQ\n"
- "pd3d9LQiUxCVlg7fPI7BiqyWA1igBB34OaVbV0GHuJBVAgMBAAGjYTBfMAwGA1Ud\n"
- "EwEB/wQCMAAwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUSXWLgTdjnYj1kv1g\n"
- "TEGZep6b0MMwHwYDVR0jBBgwFoAU3rLZPebH2OG+u4iAlJ+zbDif4GYwDQYJKoZI\n"
- "hvcNAQELBQADgYEAifPWTjcErYbxCqRZW5JhwaosOFHCJVboPsLrIM8W0HEJgqet\n"
- "TwarBBiE0mzQKU3GtjGj1ZSxUI/jBg9bzC+fs25VtdlC9nIxi5tSDI/HOoBBgXNr\n"
- "f0+Un2eHAxFcRZPWdPy1/mn83NUMnjquuA/HHcju+pcoZrEwAI3PPQHgsGQ=\n"
- "-----END CERTIFICATE-----\n";
+ "CN=172.15.1.1\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICCDCCAXGgAwIBAgIMWQXCYQfV3T9BXL4hMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIBcNMTcwNDMwMTA1NDI1WhgPOTk5OTEyMzEyMzU5NTlaMBUx\n"
+ "EzARBgNVBAMTCjE3Mi4xNS4xLjEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
+ "AM5hibrtVPezTZ018YR3DG+r71pTmfxVD1hWMAywQTMdut11Cg16dBtU/WJ6X3YF\n"
+ "b3MAtrJf7eHnaxPneY7j590eOcqiDmb0skUATuZrX4Su0QMP4ygTcXlzMAxOFYwQ\n"
+ "pd3d9LQiUxCVlg7fPI7BiqyWA1igBB34OaVbV0GHuJBVAgMBAAGjYTBfMAwGA1Ud\n"
+ "EwEB/wQCMAAwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUSXWLgTdjnYj1kv1g\n"
+ "TEGZep6b0MMwHwYDVR0jBBgwFoAU3rLZPebH2OG+u4iAlJ+zbDif4GYwDQYJKoZI\n"
+ "hvcNAQELBQADgYEAifPWTjcErYbxCqRZW5JhwaosOFHCJVboPsLrIM8W0HEJgqet\n"
+ "TwarBBiE0mzQKU3GtjGj1ZSxUI/jBg9bzC+fs25VtdlC9nIxi5tSDI/HOoBBgXNr\n"
+ "f0+Un2eHAxFcRZPWdPy1/mn83NUMnjquuA/HHcju+pcoZrEwAI3PPQHgsGQ=\n"
+ "-----END CERTIFICATE-----\n";
void doit(void)
{
@@ -900,9 +915,8 @@ void doit(void)
fail("%d: Hostname incorrectly does not match (%d)\n", __LINE__,
ret);
- ret =
- gnutls_x509_crt_check_hostname2(x509, "www.example.org",
- GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS);
+ ret = gnutls_x509_crt_check_hostname2(
+ x509, "www.example.org", GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS);
if (ret)
fail("%d: Hostname incorrectly matches (%d)\n", __LINE__, ret);
@@ -1033,10 +1047,11 @@ void doit(void)
if (ret < 0)
fail("%d: gnutls_x509_crt_import: %d\n", __LINE__, ret);
- ret =
- gnutls_x509_crt_check_hostname(x509, "localhost.gnutls.gnutls.org");
+ ret = gnutls_x509_crt_check_hostname(x509,
+ "localhost.gnutls.gnutls.org");
if (ret)
- fail("%d: Hostname verification should have failed (too many wildcards)\n", __LINE__);
+ fail("%d: Hostname verification should have failed (too many wildcards)\n",
+ __LINE__);
if (debug)
success("Testing pem-ips...\n");
@@ -1082,21 +1097,18 @@ void doit(void)
fail("%d: Hostname incorrectly matches (%d)\n", __LINE__, ret);
/* test flag GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES */
- ret =
- gnutls_x509_crt_check_hostname2(x509, "127.0.0.1",
- GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
+ ret = gnutls_x509_crt_check_hostname2(
+ x509, "127.0.0.1", GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
if (ret)
fail("%d: Hostname incorrectly matches (%d)\n", __LINE__, ret);
- ret =
- gnutls_x509_crt_check_hostname2(x509, "::1",
- GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
+ ret = gnutls_x509_crt_check_hostname2(
+ x509, "::1", GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
if (ret)
fail("%d: Hostname incorrectly matches (%d)\n", __LINE__, ret);
- ret =
- gnutls_x509_crt_check_hostname2(x509, "127.0.0.2",
- GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
+ ret = gnutls_x509_crt_check_hostname2(
+ x509, "127.0.0.2", GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
if (ret)
fail("%d: Hostname incorrectly matches (%d)\n", __LINE__, ret);
diff --git a/tests/id-on-xmppAddr.c b/tests/id-on-xmppAddr.c
index 35025f6e87..512123678a 100644
--- a/tests/id-on-xmppAddr.c
+++ b/tests/id-on-xmppAddr.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls/gnutls.h>
@@ -30,7 +30,13 @@
#include "utils.h"
-#define should_succeed(f) do{ int ret##__LINE__ = (f); if(ret##__LINE__ < 0) { fail(#f " failed %d\n", ret##__LINE__); } }while(0)
+#define should_succeed(f) \
+ do { \
+ int ret##__LINE__ = (f); \
+ if (ret##__LINE__ < 0) { \
+ fail(#f " failed %d\n", ret##__LINE__); \
+ } \
+ } while (0)
void doit(void)
{
@@ -42,7 +48,7 @@ void doit(void)
char path[256];
const char *src;
const char *id_on_xmppAddr =
- "very.long.username@so.the.asn1.length.is.a.valid.ascii.character";
+ "very.long.username@so.the.asn1.length.is.a.valid.ascii.character";
src = getenv("srcdir");
if (src == NULL)
@@ -56,11 +62,10 @@ void doit(void)
should_succeed(gnutls_x509_crt_init(&cert));
should_succeed(gnutls_load_file(path, &data));
- should_succeed(gnutls_x509_crt_import
- (cert, &data, GNUTLS_X509_FMT_PEM));
- ret =
- gnutls_x509_crt_get_subject_alt_name(cert, 0, name, &name_len,
- NULL);
+ should_succeed(
+ gnutls_x509_crt_import(cert, &data, GNUTLS_X509_FMT_PEM));
+ ret = gnutls_x509_crt_get_subject_alt_name(cert, 0, name, &name_len,
+ NULL);
if (ret != GNUTLS_SAN_OTHERNAME_XMPP)
fail("did not recognize GNUTLS_SAN_OTHERNAME_XMPP");
diff --git a/tests/infoaccess.c b/tests/infoaccess.c
index 46253f6134..ff06f8c709 100644
--- a/tests/infoaccess.c
+++ b/tests/infoaccess.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -32,43 +32,43 @@
#include "utils.h"
static char cert_with_aia_data[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC\n"
- "TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0\n"
- "aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0\n"
- "aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz\n"
- "MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw\n"
- "IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR\n"
- "dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG\n"
- "9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp\n"
- "li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D\n"
- "rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ\n"
- "WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug\n"
- "F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU\n"
- "xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC\n"
- "Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv\n"
- "dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw\n"
- "ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl\n"
- "IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh\n"
- "c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy\n"
- "ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh\n"
- "Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI\n"
- "KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T\n"
- "KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq\n"
- "y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p\n"
- "dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD\n"
- "VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL\n"
- "MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk\n"
- "fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8\n"
- "7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R\n"
- "cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y\n"
- "mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW\n"
- "xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK\n"
- "SnQ2+Q==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t cert_with_aia = {
- (void *)cert_with_aia_data, sizeof(cert_with_aia_data)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC\n"
+ "TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0\n"
+ "aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0\n"
+ "aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz\n"
+ "MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw\n"
+ "IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR\n"
+ "dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG\n"
+ "9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp\n"
+ "li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D\n"
+ "rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ\n"
+ "WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug\n"
+ "F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU\n"
+ "xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC\n"
+ "Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv\n"
+ "dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw\n"
+ "ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl\n"
+ "IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh\n"
+ "c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy\n"
+ "ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh\n"
+ "Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI\n"
+ "KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T\n"
+ "KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq\n"
+ "y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p\n"
+ "dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD\n"
+ "VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL\n"
+ "MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk\n"
+ "fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8\n"
+ "7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R\n"
+ "cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y\n"
+ "mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW\n"
+ "xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK\n"
+ "SnQ2+Q==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t cert_with_aia = { (void *)cert_with_aia_data,
+ sizeof(cert_with_aia_data) };
void doit(void)
{
@@ -110,8 +110,8 @@ void doit(void)
}
/* test basic query with null output */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_ACCESSMETHOD_OID, NULL, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 0, GNUTLS_IA_ACCESSMETHOD_OID, NULL, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access "
"GNUTLS_IA_ACCESSMETHOD_OID null output critical\n");
@@ -120,8 +120,8 @@ void doit(void)
/* test same as previous but also check that critical flag is
correct */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_ACCESSMETHOD_OID, NULL, &critical);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 0, GNUTLS_IA_ACCESSMETHOD_OID, NULL, &critical);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access "
"GNUTLS_IA_ACCESSMETHOD_OID null output\n");
@@ -130,13 +130,14 @@ void doit(void)
if (critical != 0) {
fail("gnutls_x509_crt_get_authority_info_access "
- "critical failed: %d\n", critical);
+ "critical failed: %d\n",
+ critical);
exit(1);
}
/* basic query of another type */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE, NULL, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 0, GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE, NULL, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access "
"GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE null output\n");
@@ -144,8 +145,8 @@ void doit(void)
}
/* basic query of another type, with out-of-bound sequence */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 1, GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE, NULL, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 1, GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE, NULL, NULL);
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
fail("gnutls_x509_crt_get_authority_info_access "
"GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE out-of-bounds\n");
@@ -153,8 +154,8 @@ void doit(void)
}
/* basic query and check output value */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_ACCESSMETHOD_OID, &data, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 0, GNUTLS_IA_ACCESSMETHOD_OID, &data, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access "
"GNUTLS_IA_ACCESSMETHOD_OID\n");
@@ -168,8 +169,8 @@ void doit(void)
gnutls_free(data.data);
/* basic query of another type and check output value */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE, &data, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 0, GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE, &data, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access "
"GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE\n");
@@ -183,30 +184,30 @@ void doit(void)
gnutls_free(data.data);
/* specific query */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_URI, &data, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(crt, 0, GNUTLS_IA_URI,
+ &data, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access GNUTLS_IA_URI\n");
exit(1);
}
- if (memcmp
- ("https://ocsp.quovadisoffshore.com", data.data, data.size) != 0) {
+ if (memcmp("https://ocsp.quovadisoffshore.com", data.data, data.size) !=
+ 0) {
fail("memcmp URI value failed\n");
exit(1);
}
gnutls_free(data.data);
/* even more specific query */
- ret = gnutls_x509_crt_get_authority_info_access
- (crt, 0, GNUTLS_IA_OCSP_URI, &data, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 0, GNUTLS_IA_OCSP_URI, &data, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_get_authority_info_access GNUTLS_IA_OCSP_URI\n");
exit(1);
}
- if (memcmp
- ("https://ocsp.quovadisoffshore.com", data.data, data.size) != 0) {
+ if (memcmp("https://ocsp.quovadisoffshore.com", data.data, data.size) !=
+ 0) {
fail("memcmp URI value failed\n");
exit(1);
}
@@ -215,5 +216,4 @@ void doit(void)
gnutls_x509_crt_deinit(crt);
gnutls_global_deinit();
-
}
diff --git a/tests/init_roundtrip.c b/tests/init_roundtrip.c
index 17918e73e5..b179728341 100644
--- a/tests/init_roundtrip.c
+++ b/tests/init_roundtrip.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/insecure_key.c b/tests/insecure_key.c
index 167b02d07e..10540b1954 100644
--- a/tests/insecure_key.c
+++ b/tests/insecure_key.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -54,7 +54,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1474109119;
if (t)
@@ -83,25 +83,21 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_key_mem2(x509_cred,
- &server_ca3_localhost_insecure_cert,
- &server_ca3_localhost_insecure_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_mem2(
+ x509_cred, &server_ca3_localhost_insecure_cert,
+ &server_ca3_localhost_insecure_key, GNUTLS_X509_FMT_PEM, NULL,
+ 0);
if (ret < 0)
fail("%s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_key_mem2(x509_cred,
- &server_ca3_localhost6_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_mem2(
+ x509_cred, &server_ca3_localhost6_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("%s\n", gnutls_strerror(ret));
diff --git a/tests/iov.c b/tests/iov.c
index 6e9467f302..550476ec3e 100644
--- a/tests/iov.c
+++ b/tests/iov.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include "gnutls_int.h"
@@ -43,131 +43,97 @@ struct test_st {
size_t expcnt;
};
-static const giovec_t iov16[] = {
- {(void *)"0123456789012345", 16},
- {(void *)"0123456789012345", 16},
- {(void *)"0123456789012345", 16},
- {(void *)"0123456789012345", 16}
-};
-
-static const struct exp_st exp16_64[] = {
- {64, 4, 0},
- {0, 0, 0}
-};
-
-static const struct exp_st exp16_32[] = {
- {32, 2, 0},
- {32, 4, 0},
- {0, 0, 0}
-};
-
-static const struct exp_st exp16_16[] = {
- {16, 1, 0},
- {16, 2, 0},
- {16, 3, 0},
- {16, 4, 0},
- {0, 0, 0}
-};
-
-static const struct exp_st exp16_4[] = {
- {16, 1, 0},
- {16, 2, 0},
- {16, 3, 0},
- {16, 4, 0},
- {0, 0, 0}
-};
-
-static const struct exp_st exp16_3[] = {
- {15, 0, 15},
- {3, 1, 2},
- {12, 1, 14},
- {3, 2, 1},
- {15, 3, 0},
- {15, 3, 15},
- {1, 4, 0},
- {0, 0, 0}
-};
-
-static const giovec_t iov8[] = {
- {(void *)"01234567", 8},
- {(void *)"01234567", 8},
- {(void *)"01234567", 8},
- {(void *)"01234567", 8}
-};
-
-static const struct exp_st exp8_64[] = {
- {32, 4, 0},
- {0, 0, 0}
-};
-
-static const giovec_t iov_odd[] = {
- {(void *)"0", 1},
- {(void *)"012", 3},
- {(void *)"01234", 5},
- {(void *)"0123456", 7},
- {(void *)"012345678", 9},
- {(void *)"01234567890", 11},
- {(void *)"0123456789012", 13},
- {(void *)"012345678901234", 15}
-};
-
-static const struct exp_st exp_odd_16[] = {
- {16, 4, 0},
- {16, 5, 7},
- {16, 6, 12},
- {16, 8, 0},
- {0, 0, 0}
-};
-
-static const giovec_t iov_skip[] = {
- {(void *)"0123456789012345", 16},
- {(void *)"01234567", 8},
- {(void *)"", 0},
- {(void *)"", 0},
- {(void *)"0123456789012345", 16}
-};
-
-static const struct exp_st exp_skip_16[] = {
- {16, 1, 0},
- {16, 4, 8},
- {8, 5, 0},
- {0, 0, 0}
-};
-
-static const giovec_t iov_empty[] = {
- {(void *)"", 0},
- {(void *)"", 0},
- {(void *)"", 0},
- {(void *)"", 0}
-};
-
-static const struct exp_st exp_empty_16[] = {
- {0, 0, 0}
-};
+static const giovec_t iov16[] = { { (void *)"0123456789012345", 16 },
+ { (void *)"0123456789012345", 16 },
+ { (void *)"0123456789012345", 16 },
+ { (void *)"0123456789012345", 16 } };
+
+static const struct exp_st exp16_64[] = { { 64, 4, 0 }, { 0, 0, 0 } };
+
+static const struct exp_st exp16_32[] = { { 32, 2, 0 },
+ { 32, 4, 0 },
+ { 0, 0, 0 } };
+
+static const struct exp_st exp16_16[] = { { 16, 1, 0 },
+ { 16, 2, 0 },
+ { 16, 3, 0 },
+ { 16, 4, 0 },
+ { 0, 0, 0 } };
+
+static const struct exp_st exp16_4[] = { { 16, 1, 0 },
+ { 16, 2, 0 },
+ { 16, 3, 0 },
+ { 16, 4, 0 },
+ { 0, 0, 0 } };
+
+static const struct exp_st exp16_3[] = { { 15, 0, 15 }, { 3, 1, 2 },
+ { 12, 1, 14 }, { 3, 2, 1 },
+ { 15, 3, 0 }, { 15, 3, 15 },
+ { 1, 4, 0 }, { 0, 0, 0 } };
+
+static const giovec_t iov8[] = { { (void *)"01234567", 8 },
+ { (void *)"01234567", 8 },
+ { (void *)"01234567", 8 },
+ { (void *)"01234567", 8 } };
+
+static const struct exp_st exp8_64[] = { { 32, 4, 0 }, { 0, 0, 0 } };
+
+static const giovec_t iov_odd[] = { { (void *)"0", 1 },
+ { (void *)"012", 3 },
+ { (void *)"01234", 5 },
+ { (void *)"0123456", 7 },
+ { (void *)"012345678", 9 },
+ { (void *)"01234567890", 11 },
+ { (void *)"0123456789012", 13 },
+ { (void *)"012345678901234", 15 } };
+
+static const struct exp_st exp_odd_16[] = { { 16, 4, 0 },
+ { 16, 5, 7 },
+ { 16, 6, 12 },
+ { 16, 8, 0 },
+ { 0, 0, 0 } };
+
+static const giovec_t iov_skip[] = { { (void *)"0123456789012345", 16 },
+ { (void *)"01234567", 8 },
+ { (void *)"", 0 },
+ { (void *)"", 0 },
+ { (void *)"0123456789012345", 16 } };
+
+static const struct exp_st exp_skip_16[] = { { 16, 1, 0 },
+ { 16, 4, 8 },
+ { 8, 5, 0 },
+ { 0, 0, 0 } };
+
+static const giovec_t iov_empty[] = { { (void *)"", 0 },
+ { (void *)"", 0 },
+ { (void *)"", 0 },
+ { (void *)"", 0 } };
+
+static const struct exp_st exp_empty_16[] = { { 0, 0, 0 } };
static const struct test_st tests[] = {
- {"16/64", iov16, sizeof(iov16) / sizeof(iov16[0]), 64,
- exp16_64, sizeof(exp16_64) / sizeof(exp16_64[0])},
- {"16/32", iov16, sizeof(iov16) / sizeof(iov16[0]), 32,
- exp16_32, sizeof(exp16_32) / sizeof(exp16_32[0])},
- {"16/16", iov16, sizeof(iov16) / sizeof(iov16[0]), 16,
- exp16_16, sizeof(exp16_16) / sizeof(exp16_16[0])},
- {"16/4", iov16, sizeof(iov16) / sizeof(iov16[0]), 4,
- exp16_4, sizeof(exp16_4) / sizeof(exp16_4[0])},
- {"16/3", iov16, sizeof(iov16) / sizeof(iov16[0]), 3,
- exp16_3, sizeof(exp16_3) / sizeof(exp16_3[0])},
- {"8/64", iov8, sizeof(iov8) / sizeof(iov8[0]), 64,
- exp8_64, sizeof(exp8_64) / sizeof(exp8_64[0])},
- {"odd/16", iov_odd, sizeof(iov_odd) / sizeof(iov_odd[0]), 16,
- exp_odd_16, sizeof(exp_odd_16) / sizeof(exp_odd_16[0])},
- {"skip/16", iov_skip, sizeof(iov_skip) / sizeof(iov_skip[0]), 16,
- exp_skip_16, sizeof(exp_skip_16) / sizeof(exp_skip_16[0])},
- {"empty/16", iov_empty, sizeof(iov_empty) / sizeof(iov_empty[0]), 16,
- exp_empty_16, sizeof(exp_empty_16) / sizeof(exp_empty_16[0])},
-};
-
-static void
-copy(giovec_t * dst, uint8_t * buffer, const giovec_t * src, size_t iovcnt)
+ { "16/64", iov16, sizeof(iov16) / sizeof(iov16[0]), 64, exp16_64,
+ sizeof(exp16_64) / sizeof(exp16_64[0]) },
+ { "16/32", iov16, sizeof(iov16) / sizeof(iov16[0]), 32, exp16_32,
+ sizeof(exp16_32) / sizeof(exp16_32[0]) },
+ { "16/16", iov16, sizeof(iov16) / sizeof(iov16[0]), 16, exp16_16,
+ sizeof(exp16_16) / sizeof(exp16_16[0]) },
+ { "16/4", iov16, sizeof(iov16) / sizeof(iov16[0]), 4, exp16_4,
+ sizeof(exp16_4) / sizeof(exp16_4[0]) },
+ { "16/3", iov16, sizeof(iov16) / sizeof(iov16[0]), 3, exp16_3,
+ sizeof(exp16_3) / sizeof(exp16_3[0]) },
+ { "8/64", iov8, sizeof(iov8) / sizeof(iov8[0]), 64, exp8_64,
+ sizeof(exp8_64) / sizeof(exp8_64[0]) },
+ { "odd/16", iov_odd, sizeof(iov_odd) / sizeof(iov_odd[0]), 16,
+ exp_odd_16, sizeof(exp_odd_16) / sizeof(exp_odd_16[0]) },
+ { "skip/16", iov_skip, sizeof(iov_skip) / sizeof(iov_skip[0]), 16,
+ exp_skip_16, sizeof(exp_skip_16) / sizeof(exp_skip_16[0]) },
+ { "empty/16", iov_empty, sizeof(iov_empty) / sizeof(iov_empty[0]), 16,
+ exp_empty_16, sizeof(exp_empty_16) / sizeof(exp_empty_16[0]) },
+};
+
+static void copy(giovec_t *dst, uint8_t *buffer, const giovec_t *src,
+ size_t iovcnt)
{
uint8_t *p = buffer;
size_t i;
@@ -180,7 +146,7 @@ copy(giovec_t * dst, uint8_t * buffer, const giovec_t * src, size_t iovcnt)
}
}
-static void translate(uint8_t * data, size_t len)
+static void translate(uint8_t *data, size_t len)
{
for (; len > 0; len--) {
uint8_t *p = &data[len - 1];
@@ -209,19 +175,18 @@ void doit(void)
copy(iov, buffer, tests[i].iov, tests[i].iovcnt);
success("%s\n", tests[i].name);
- assert(_gnutls_iov_iter_init(&iter,
- iov, tests[i].iovcnt,
+ assert(_gnutls_iov_iter_init(&iter, iov, tests[i].iovcnt,
tests[i].block_size) == 0);
for (j = 0; j < tests[i].expcnt; j++) {
ssize_t ret;
ret = _gnutls_iov_iter_next(&iter, &data);
if (ret != exp[j].ret)
- fail("iov_iter_next: %d != %d\n",
- (int)ret, (int)exp[j].ret);
+ fail("iov_iter_next: %d != %d\n", (int)ret,
+ (int)exp[j].ret);
else if (debug)
- success("iov_iter_next: %d == %d\n",
- (int)ret, (int)exp[j].ret);
+ success("iov_iter_next: %d == %d\n", (int)ret,
+ (int)exp[j].ret);
if (ret == 0)
break;
if (ret > 0) {
diff --git a/tests/ip-check.c b/tests/ip-check.c
index 0b50b143bd..48e0267f96 100644
--- a/tests/ip-check.c
+++ b/tests/ip-check.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <string.h>
@@ -34,107 +34,109 @@
* name-constraints-ip.c for lower level checks.
*/
-char pem_ips[] = "\n"
- "X.509 Certificate Information:\n"
- " Version: 3\n"
- " Serial Number (hex): 00\n"
- " Issuer: CN=server-0\n"
- " Validity:\n"
- " Not Before: Fri Jun 27 09:14:36 UTC 2014\n"
- " Not After: Fri Dec 31 23:59:59 UTC 9999\n"
- " Subject: CN=server-0\n"
- " Subject Public Key Algorithm: RSA\n"
- " Algorithm Security Level: Medium (2048 bits)\n"
- " Modulus (bits 2048):\n"
- " 00:c1:56:12:f6:c3:c7:e3:4c:7e:ff:04:4e:88:1d:67\n"
- " a7:f3:4d:64:cc:12:a7:ff:50:aa:5c:31:b9:3c:d1:d1\n"
- " ba:78:2c:7d:dd:54:4a:cd:5a:f2:38:8b:b2:c5:26:7e\n"
- " 25:05:36:b6:92:e6:1d:c3:00:39:a0:c5:1c:b5:63:3d\n"
- " 00:e9:b4:b5:75:a7:14:b1:ff:a0:03:9d:ba:77:da:e5\n"
- " de:21:fb:56:da:06:9d:84:57:53:3d:08:45:45:20:fd\n"
- " e7:60:65:2e:55:60:db:d3:91:da:64:ff:c4:42:42:54\n"
- " 77:cb:47:54:68:1e:b4:62:ad:8a:3c:0a:28:89:cb:d3\n"
- " 81:d3:15:9a:1d:67:90:51:83:90:6d:fb:a1:0e:54:6b\n"
- " 29:d7:ef:79:19:14:f6:0d:82:73:8f:79:58:0e:af:0e\n"
- " cc:bd:17:ab:b5:a2:1f:76:a1:9f:4b:7b:e8:f9:7b:28\n"
- " 56:cc:f1:5b:0e:93:c9:e5:44:2f:2d:0a:22:7d:0b:2b\n"
- " 30:84:c3:1e:d6:4d:63:5b:41:51:83:d4:b5:09:f4:cc\n"
- " ab:ad:51:1b:8e:a1:f6:b1:27:5b:43:3c:bc:ae:10:93\n"
- " d4:ce:3b:10:ca:3f:22:dd:9e:a8:3f:4a:a6:a8:cd:8f\n"
- " d0:6a:e0:40:26:28:0f:af:0e:13:e1:ac:b9:ac:41:cc\n"
- " 5d\n"
- " Exponent (bits 24):\n"
- " 01:00:01\n"
- " Extensions:\n"
- " Basic Constraints (critical):\n"
- " Certificate Authority (CA): TRUE\n"
- " Subject Alternative Name (not critical):\n"
- " IPAddress: 127.0.0.1\n"
- " IPAddress: 192.168.5.1\n"
- " IPAddress: 10.100.2.5\n"
- " IPAddress: 0:0:0:0:0:0:0:1\n"
- " IPAddress: fe80:0:0:0:3e97:eff:fe18:359a\n"
- " Key Usage (critical):\n"
- " Certificate signing.\n"
- " Subject Key Identifier (not critical):\n"
- " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
- " Signature Algorithm: RSA-SHA256\n"
- " Signature:\n"
- " 02:22:52:4b:69:e5:4f:f8:17:0a:46:34:d1:ec:6b:f5\n"
- " ae:5b:fc:e2:00:ca:1f:f0:1d:74:91:9c:85:0a:a7:06\n"
- " 3d:fa:93:0d:35:85:ea:3e:01:9f:9e:bc:52:72:95:b2\n"
- " 8a:3a:78:6e:d2:5d:4d:60:88:2b:be:6f:68:75:c7:19\n"
- " ac:c9:ea:ab:74:f6:62:4d:30:1e:87:e4:70:1e:96:f4\n"
- " 0b:48:ef:c9:28:14:6f:fa:c1:7b:d3:ef:b3:d8:52:90\n"
- " 5d:20:d0:aa:8b:10:ab:74:86:46:be:cb:6c:93:54:60\n"
- " bc:6e:d6:4d:b2:1e:25:65:38:52:5b:6c:b4:57:8f:0f\n"
- " 26:4f:36:ea:42:eb:71:68:93:f3:a9:7a:66:5c:b6:07\n"
- " 7d:15:b5:f4:b8:5c:7c:e0:cd:d0:fa:5b:2a:6b:fd:4c\n"
- " 71:12:45:d0:37:9e:cf:90:59:6e:fd:ba:3a:8b:ca:37\n"
- " 01:cc:6f:e0:32:c7:9e:a4:ea:61:2c:e5:ad:66:73:80\n"
- " 5c:5e:0c:44:ec:c2:74:b8:fe:6e:66:af:76:cc:30:10\n"
- " 1f:3a:ac:34:36:e6:5b:72:f3:ee:5a:68:c3:43:37:56\n"
- " c3:08:02:3c:96:1c:27:18:d0:38:fa:d7:51:4e:82:7d\n"
- " fc:81:a2:23:c5:05:80:0e:b4:ba:d3:19:39:74:9c:74\n"
- "Other Information:\n"
- " SHA1 fingerprint:\n"
- " 43536dd4198f6064c117c3825020b14c108f9a34\n"
- " SHA256 fingerprint:\n"
- " 5ab6626aa069da15650edcfff7305767ff5b8d338289f851a624ea89b50ff06a\n"
- " Public Key ID:\n"
- " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
- " Public key's random art:\n"
- " +--[ RSA 2048]----+\n"
- " | |\n"
- " | . |\n"
- " | . + |\n"
- " | . .= . |\n"
- " | .S+oo |\n"
- " | E+.+ |\n"
- " | . +. *.o |\n"
- " | . oo.=..+ o |\n"
- " | ooo.+Bo . |\n"
- " +-----------------+\n"
- "\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDKzCCAhOgAwIBAgIBADANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhzZXJ2\n"
- "ZXItMDAiGA8yMDE0MDYyNzA5MTQzNloYDzk5OTkxMjMxMjM1OTU5WjATMREwDwYD\n"
- "VQQDEwhzZXJ2ZXItMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFW\n"
- "EvbDx+NMfv8ETogdZ6fzTWTMEqf/UKpcMbk80dG6eCx93VRKzVryOIuyxSZ+JQU2\n"
- "tpLmHcMAOaDFHLVjPQDptLV1pxSx/6ADnbp32uXeIftW2gadhFdTPQhFRSD952Bl\n"
- "LlVg29OR2mT/xEJCVHfLR1RoHrRirYo8CiiJy9OB0xWaHWeQUYOQbfuhDlRrKdfv\n"
- "eRkU9g2Cc495WA6vDsy9F6u1oh92oZ9Le+j5eyhWzPFbDpPJ5UQvLQoifQsrMITD\n"
- "HtZNY1tBUYPUtQn0zKutURuOofaxJ1tDPLyuEJPUzjsQyj8i3Z6oP0qmqM2P0Grg\n"
- "QCYoD68OE+GsuaxBzF0CAwEAAaOBhTCBgjAPBgNVHRMBAf8EBTADAQH/MD8GA1Ud\n"
- "EQQ4MDaHBH8AAAGHBMCoBQGHBApkAgWHEAAAAAAAAAAAAAAAAAAAAAGHEP6AAAAA\n"
- "AAAAPpcO//4YNZowDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUvT0LbKtrM9io\n"
- "4e0Vt6sXWHzCoJ8wDQYJKoZIhvcNAQELBQADggEBAAIiUktp5U/4FwpGNNHsa/Wu\n"
- "W/ziAMof8B10kZyFCqcGPfqTDTWF6j4Bn568UnKVsoo6eG7SXU1giCu+b2h1xxms\n"
- "yeqrdPZiTTAeh+RwHpb0C0jvySgUb/rBe9Pvs9hSkF0g0KqLEKt0hka+y2yTVGC8\n"
- "btZNsh4lZThSW2y0V48PJk826kLrcWiT86l6Zly2B30VtfS4XHzgzdD6Wypr/Uxx\n"
- "EkXQN57PkFlu/bo6i8o3Acxv4DLHnqTqYSzlrWZzgFxeDETswnS4/m5mr3bMMBAf\n"
- "Oqw0NuZbcvPuWmjDQzdWwwgCPJYcJxjQOPrXUU6CffyBoiPFBYAOtLrTGTl0nHQ=\n"
- "-----END CERTIFICATE-----\n" "";
+char pem_ips[] =
+ "\n"
+ "X.509 Certificate Information:\n"
+ " Version: 3\n"
+ " Serial Number (hex): 00\n"
+ " Issuer: CN=server-0\n"
+ " Validity:\n"
+ " Not Before: Fri Jun 27 09:14:36 UTC 2014\n"
+ " Not After: Fri Dec 31 23:59:59 UTC 9999\n"
+ " Subject: CN=server-0\n"
+ " Subject Public Key Algorithm: RSA\n"
+ " Algorithm Security Level: Medium (2048 bits)\n"
+ " Modulus (bits 2048):\n"
+ " 00:c1:56:12:f6:c3:c7:e3:4c:7e:ff:04:4e:88:1d:67\n"
+ " a7:f3:4d:64:cc:12:a7:ff:50:aa:5c:31:b9:3c:d1:d1\n"
+ " ba:78:2c:7d:dd:54:4a:cd:5a:f2:38:8b:b2:c5:26:7e\n"
+ " 25:05:36:b6:92:e6:1d:c3:00:39:a0:c5:1c:b5:63:3d\n"
+ " 00:e9:b4:b5:75:a7:14:b1:ff:a0:03:9d:ba:77:da:e5\n"
+ " de:21:fb:56:da:06:9d:84:57:53:3d:08:45:45:20:fd\n"
+ " e7:60:65:2e:55:60:db:d3:91:da:64:ff:c4:42:42:54\n"
+ " 77:cb:47:54:68:1e:b4:62:ad:8a:3c:0a:28:89:cb:d3\n"
+ " 81:d3:15:9a:1d:67:90:51:83:90:6d:fb:a1:0e:54:6b\n"
+ " 29:d7:ef:79:19:14:f6:0d:82:73:8f:79:58:0e:af:0e\n"
+ " cc:bd:17:ab:b5:a2:1f:76:a1:9f:4b:7b:e8:f9:7b:28\n"
+ " 56:cc:f1:5b:0e:93:c9:e5:44:2f:2d:0a:22:7d:0b:2b\n"
+ " 30:84:c3:1e:d6:4d:63:5b:41:51:83:d4:b5:09:f4:cc\n"
+ " ab:ad:51:1b:8e:a1:f6:b1:27:5b:43:3c:bc:ae:10:93\n"
+ " d4:ce:3b:10:ca:3f:22:dd:9e:a8:3f:4a:a6:a8:cd:8f\n"
+ " d0:6a:e0:40:26:28:0f:af:0e:13:e1:ac:b9:ac:41:cc\n"
+ " 5d\n"
+ " Exponent (bits 24):\n"
+ " 01:00:01\n"
+ " Extensions:\n"
+ " Basic Constraints (critical):\n"
+ " Certificate Authority (CA): TRUE\n"
+ " Subject Alternative Name (not critical):\n"
+ " IPAddress: 127.0.0.1\n"
+ " IPAddress: 192.168.5.1\n"
+ " IPAddress: 10.100.2.5\n"
+ " IPAddress: 0:0:0:0:0:0:0:1\n"
+ " IPAddress: fe80:0:0:0:3e97:eff:fe18:359a\n"
+ " Key Usage (critical):\n"
+ " Certificate signing.\n"
+ " Subject Key Identifier (not critical):\n"
+ " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
+ " Signature Algorithm: RSA-SHA256\n"
+ " Signature:\n"
+ " 02:22:52:4b:69:e5:4f:f8:17:0a:46:34:d1:ec:6b:f5\n"
+ " ae:5b:fc:e2:00:ca:1f:f0:1d:74:91:9c:85:0a:a7:06\n"
+ " 3d:fa:93:0d:35:85:ea:3e:01:9f:9e:bc:52:72:95:b2\n"
+ " 8a:3a:78:6e:d2:5d:4d:60:88:2b:be:6f:68:75:c7:19\n"
+ " ac:c9:ea:ab:74:f6:62:4d:30:1e:87:e4:70:1e:96:f4\n"
+ " 0b:48:ef:c9:28:14:6f:fa:c1:7b:d3:ef:b3:d8:52:90\n"
+ " 5d:20:d0:aa:8b:10:ab:74:86:46:be:cb:6c:93:54:60\n"
+ " bc:6e:d6:4d:b2:1e:25:65:38:52:5b:6c:b4:57:8f:0f\n"
+ " 26:4f:36:ea:42:eb:71:68:93:f3:a9:7a:66:5c:b6:07\n"
+ " 7d:15:b5:f4:b8:5c:7c:e0:cd:d0:fa:5b:2a:6b:fd:4c\n"
+ " 71:12:45:d0:37:9e:cf:90:59:6e:fd:ba:3a:8b:ca:37\n"
+ " 01:cc:6f:e0:32:c7:9e:a4:ea:61:2c:e5:ad:66:73:80\n"
+ " 5c:5e:0c:44:ec:c2:74:b8:fe:6e:66:af:76:cc:30:10\n"
+ " 1f:3a:ac:34:36:e6:5b:72:f3:ee:5a:68:c3:43:37:56\n"
+ " c3:08:02:3c:96:1c:27:18:d0:38:fa:d7:51:4e:82:7d\n"
+ " fc:81:a2:23:c5:05:80:0e:b4:ba:d3:19:39:74:9c:74\n"
+ "Other Information:\n"
+ " SHA1 fingerprint:\n"
+ " 43536dd4198f6064c117c3825020b14c108f9a34\n"
+ " SHA256 fingerprint:\n"
+ " 5ab6626aa069da15650edcfff7305767ff5b8d338289f851a624ea89b50ff06a\n"
+ " Public Key ID:\n"
+ " bd3d0b6cab6b33d8a8e1ed15b7ab17587cc2a09f\n"
+ " Public key's random art:\n"
+ " +--[ RSA 2048]----+\n"
+ " | |\n"
+ " | . |\n"
+ " | . + |\n"
+ " | . .= . |\n"
+ " | .S+oo |\n"
+ " | E+.+ |\n"
+ " | . +. *.o |\n"
+ " | . oo.=..+ o |\n"
+ " | ooo.+Bo . |\n"
+ " +-----------------+\n"
+ "\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDKzCCAhOgAwIBAgIBADANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhzZXJ2\n"
+ "ZXItMDAiGA8yMDE0MDYyNzA5MTQzNloYDzk5OTkxMjMxMjM1OTU5WjATMREwDwYD\n"
+ "VQQDEwhzZXJ2ZXItMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMFW\n"
+ "EvbDx+NMfv8ETogdZ6fzTWTMEqf/UKpcMbk80dG6eCx93VRKzVryOIuyxSZ+JQU2\n"
+ "tpLmHcMAOaDFHLVjPQDptLV1pxSx/6ADnbp32uXeIftW2gadhFdTPQhFRSD952Bl\n"
+ "LlVg29OR2mT/xEJCVHfLR1RoHrRirYo8CiiJy9OB0xWaHWeQUYOQbfuhDlRrKdfv\n"
+ "eRkU9g2Cc495WA6vDsy9F6u1oh92oZ9Le+j5eyhWzPFbDpPJ5UQvLQoifQsrMITD\n"
+ "HtZNY1tBUYPUtQn0zKutURuOofaxJ1tDPLyuEJPUzjsQyj8i3Z6oP0qmqM2P0Grg\n"
+ "QCYoD68OE+GsuaxBzF0CAwEAAaOBhTCBgjAPBgNVHRMBAf8EBTADAQH/MD8GA1Ud\n"
+ "EQQ4MDaHBH8AAAGHBMCoBQGHBApkAgWHEAAAAAAAAAAAAAAAAAAAAAGHEP6AAAAA\n"
+ "AAAAPpcO//4YNZowDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUvT0LbKtrM9io\n"
+ "4e0Vt6sXWHzCoJ8wDQYJKoZIhvcNAQELBQADggEBAAIiUktp5U/4FwpGNNHsa/Wu\n"
+ "W/ziAMof8B10kZyFCqcGPfqTDTWF6j4Bn568UnKVsoo6eG7SXU1giCu+b2h1xxms\n"
+ "yeqrdPZiTTAeh+RwHpb0C0jvySgUb/rBe9Pvs9hSkF0g0KqLEKt0hka+y2yTVGC8\n"
+ "btZNsh4lZThSW2y0V48PJk826kLrcWiT86l6Zly2B30VtfS4XHzgzdD6Wypr/Uxx\n"
+ "EkXQN57PkFlu/bo6i8o3Acxv4DLHnqTqYSzlrWZzgFxeDETswnS4/m5mr3bMMBAf\n"
+ "Oqw0NuZbcvPuWmjDQzdWwwgCPJYcJxjQOPrXUU6CffyBoiPFBYAOtLrTGTl0nHQ=\n"
+ "-----END CERTIFICATE-----\n"
+ "";
void doit(void)
{
@@ -185,31 +187,34 @@ void doit(void)
fail("%d: Hostname incorrectly does not match (%d)\n", __LINE__,
ret);
- ret =
- gnutls_x509_crt_check_ip(x509, (unsigned char *)"\x7f\x00\x00\x02",
- 4, 0);
+ ret = gnutls_x509_crt_check_ip(
+ x509, (unsigned char *)"\x7f\x00\x00\x02", 4, 0);
if (ret)
fail("%d: IP incorrectly matches (%d)\n", __LINE__, ret);
- ret =
- gnutls_x509_crt_check_ip(x509, (unsigned char *)"\x7f\x00\x00\x01",
- 4, 0);
+ ret = gnutls_x509_crt_check_ip(
+ x509, (unsigned char *)"\x7f\x00\x00\x01", 4, 0);
if (!ret)
fail("%d: IP incorrectly does not match (%d)\n", __LINE__, ret);
- ret =
- gnutls_x509_crt_check_ip(x509, (unsigned char *)"\xc0\xa8\x05\x01",
- 4, 0);
+ ret = gnutls_x509_crt_check_ip(
+ x509, (unsigned char *)"\xc0\xa8\x05\x01", 4, 0);
if (!ret)
fail("%d: IP incorrectly does not match (%d)\n", __LINE__, ret);
- ret = gnutls_x509_crt_check_ip(x509, (unsigned char *)
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", 16, 0);
+ ret = gnutls_x509_crt_check_ip(
+ x509,
+ (unsigned char
+ *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01",
+ 16, 0);
if (!ret)
fail("%d: IP incorrectly does not match (%d)\n", __LINE__, ret);
- ret = gnutls_x509_crt_check_ip(x509, (unsigned char *)
- "\xfe\x80\x00\x00\x00\x00\x00\x00\x3e\x97\x0e\xff\xfe\x18\x35\x9a", 16, 0);
+ ret = gnutls_x509_crt_check_ip(
+ x509,
+ (unsigned char
+ *)"\xfe\x80\x00\x00\x00\x00\x00\x00\x3e\x97\x0e\xff\xfe\x18\x35\x9a",
+ 16, 0);
if (!ret)
fail("%d: IP incorrectly does not match (%d)\n", __LINE__, ret);
diff --git a/tests/ip-utils.c b/tests/ip-utils.c
index 5718953f86..3d05470bc2 100644
--- a/tests/ip-utils.c
+++ b/tests/ip-utils.c
@@ -32,28 +32,29 @@
#include <gnutls/x509.h>
#ifndef _WIN32
-# include <cmocka.h>
-# include <sys/socket.h>
+#include <cmocka.h>
+#include <sys/socket.h>
-# define BUILD_IN_TESTS
-# include "../lib/x509/ip-in-cidr.h"
+#define BUILD_IN_TESTS
+#include "../lib/x509/ip-in-cidr.h"
-# define _MATCH_FUNC(fname, CIDR, IP, status) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t dcidr; \
- const char cidr[] = CIDR; \
- const char ip[] = IP; \
- char xip[4]; \
- gnutls_datum_t dip = {(unsigned char*)xip, sizeof(xip)}; \
- assert_int_equal(gnutls_x509_cidr_to_rfc5280(cidr, &dcidr), 0); \
- assert_int_equal(inet_pton(AF_INET, ip, xip), 1); \
- assert_int_equal(ip_in_cidr(&dip, &dcidr), status); \
- gnutls_free(dcidr.data); \
-}
+#define _MATCH_FUNC(fname, CIDR, IP, status) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t dcidr; \
+ const char cidr[] = CIDR; \
+ const char ip[] = IP; \
+ char xip[4]; \
+ gnutls_datum_t dip = { (unsigned char *)xip, sizeof(xip) }; \
+ assert_int_equal(gnutls_x509_cidr_to_rfc5280(cidr, &dcidr), \
+ 0); \
+ assert_int_equal(inet_pton(AF_INET, ip, xip), 1); \
+ assert_int_equal(ip_in_cidr(&dip, &dcidr), status); \
+ gnutls_free(dcidr.data); \
+ }
-# define MATCH_FUNC_OK(fname, CIDR, IP) _MATCH_FUNC(fname, CIDR, IP, 1)
-# define MATCH_FUNC_NOT_OK(fname, CIDR, IP) _MATCH_FUNC(fname, CIDR, IP, 0)
+#define MATCH_FUNC_OK(fname, CIDR, IP) _MATCH_FUNC(fname, CIDR, IP, 1)
+#define MATCH_FUNC_NOT_OK(fname, CIDR, IP) _MATCH_FUNC(fname, CIDR, IP, 0)
MATCH_FUNC_OK(check_ip1_match, "192.168.1.0/24", "192.168.1.128");
MATCH_FUNC_OK(check_ip2_match, "192.168.1.0/24", "192.168.1.1");
@@ -69,34 +70,39 @@ MATCH_FUNC_NOT_OK(check_ip5_not_match, "192.168.1.0/28", "192.168.1.64");
MATCH_FUNC_NOT_OK(check_ip6_not_match, "192.168.1.0/24", "10.0.0.0");
MATCH_FUNC_NOT_OK(check_ip7_not_match, "192.168.1.0/24", "192.169.1.0");
-# define CIDR_MATCH(fname, CIDR, EXPECTED) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t dcidr; \
- const char cidr[] = CIDR; \
- assert_int_equal(gnutls_x509_cidr_to_rfc5280(cidr, &dcidr), 0); \
- assert_memory_equal(EXPECTED, dcidr.data, dcidr.size); \
- gnutls_free(dcidr.data); \
-}
+#define CIDR_MATCH(fname, CIDR, EXPECTED) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t dcidr; \
+ const char cidr[] = CIDR; \
+ assert_int_equal(gnutls_x509_cidr_to_rfc5280(cidr, &dcidr), \
+ 0); \
+ assert_memory_equal(EXPECTED, dcidr.data, dcidr.size); \
+ gnutls_free(dcidr.data); \
+ }
-# define CIDR_FAIL(fname, CIDR) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t dcidr; \
- const char cidr[] = CIDR; \
- assert_int_not_equal(gnutls_x509_cidr_to_rfc5280(cidr, &dcidr), 0); \
-}
+#define CIDR_FAIL(fname, CIDR) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t dcidr; \
+ const char cidr[] = CIDR; \
+ assert_int_not_equal( \
+ gnutls_x509_cidr_to_rfc5280(cidr, &dcidr), 0); \
+ }
CIDR_MATCH(check_cidr_ok1, "0.0.0.0/32", "\x00\x00\x00\x00\xff\xff\xff\xff");
CIDR_MATCH(check_cidr_ok2, "192.168.1.1/12",
"\xc0\xa0\x00\x00\xff\xf0\x00\x00");
CIDR_MATCH(check_cidr_ok3, "192.168.1.1/0", "\x00\x00\x00\x00\x00\x00\x00\x00");
-CIDR_MATCH(check_cidr_ok4, "::/19",
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00");
-CIDR_MATCH(check_cidr_ok5, "::1/128",
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff");
-CIDR_MATCH(check_cidr_ok6, "2001:db8::/48",
- "\x20\x01\x0d\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00");
+CIDR_MATCH(
+ check_cidr_ok4, "::/19",
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00");
+CIDR_MATCH(
+ check_cidr_ok5, "::1/128",
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff");
+CIDR_MATCH(
+ check_cidr_ok6, "2001:db8::/48",
+ "\x20\x01\x0d\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00");
CIDR_FAIL(check_cidr_fail1, "0.0.0.0/100");
CIDR_FAIL(check_cidr_fail2, "1.2.3.4/-1");
diff --git a/tests/kdf-api.c b/tests/kdf-api.c
index c496cf2993..d476482fa5 100644
--- a/tests/kdf-api.c
+++ b/tests/kdf-api.c
@@ -35,12 +35,9 @@
static gnutls_fips140_context_t fips_context;
-static void
-test_hkdf(gnutls_mac_algorithm_t mac,
- const char *ikm_hex,
- const char *salt_hex,
- const char *info_hex,
- size_t length, const char *prk_hex, const char *okm_hex)
+static void test_hkdf(gnutls_mac_algorithm_t mac, const char *ikm_hex,
+ const char *salt_hex, const char *info_hex, size_t length,
+ const char *prk_hex, const char *okm_hex)
{
gnutls_datum_t hex;
gnutls_datum_t ikm;
@@ -73,8 +70,8 @@ test_hkdf(gnutls_mac_algorithm_t mac,
assert(gnutls_hex_encode2(&prk, &hex) >= 0);
if (strcmp((char *)hex.data, prk_hex))
- fail("prk doesn't match: %s != %s\n",
- (char *)hex.data, prk_hex);
+ fail("prk doesn't match: %s != %s\n", (char *)hex.data,
+ prk_hex);
gnutls_free(hex.data);
@@ -101,8 +98,8 @@ test_hkdf(gnutls_mac_algorithm_t mac,
assert(gnutls_hex_encode2(&okm, &hex) >= 0);
if (strcmp((char *)hex.data, okm_hex))
- fail("okm doesn't match: %s != %s\n",
- (char *)hex.data, okm_hex);
+ fail("okm doesn't match: %s != %s\n", (char *)hex.data,
+ okm_hex);
gnutls_free(hex.data);
}
@@ -126,14 +123,10 @@ is_mac_algo_hmac_approved_in_fips(gnutls_mac_algorithm_t algo)
}
}
-static void
-test_pbkdf2(gnutls_mac_algorithm_t mac,
- const char *ikm_hex,
- const char *salt_hex,
- unsigned iter_count,
- size_t length,
- const char *okm_hex,
- gnutls_fips140_operation_state_t expected_state)
+static void test_pbkdf2(gnutls_mac_algorithm_t mac, const char *ikm_hex,
+ const char *salt_hex, unsigned iter_count,
+ size_t length, const char *okm_hex,
+ gnutls_fips140_operation_state_t expected_state)
{
gnutls_datum_t hex;
gnutls_datum_t ikm;
@@ -162,8 +155,8 @@ test_pbkdf2(gnutls_mac_algorithm_t mac,
assert(gnutls_hex_encode2(&okm, &hex) >= 0);
if (strcmp((char *)hex.data, okm_hex))
- fail("okm doesn't match: %s != %s\n",
- (char *)hex.data, okm_hex);
+ fail("okm doesn't match: %s != %s\n", (char *)hex.data,
+ okm_hex);
gnutls_free(hex.data);
}
@@ -177,24 +170,25 @@ void doit(void)
test_hkdf(GNUTLS_MAC_SHA256,
"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
"0b0b0b0b0b0b",
- "000102030405060708090a0b0c",
- "f0f1f2f3f4f5f6f7f8f9",
- 42,
+ "000102030405060708090a0b0c", "f0f1f2f3f4f5f6f7f8f9", 42,
"077709362c2e32df0ddc3f0dc47bba63"
"90b6c73bb50f9c3122ec844ad7c2b3e5",
"3cb25f25faacd57a90434f64d0362f2a"
- "2d2d0a90cf1a5a4c5db02d56ecc4c5bf" "34007208d5b887185865");
+ "2d2d0a90cf1a5a4c5db02d56ecc4c5bf"
+ "34007208d5b887185865");
/* Test vector from RFC 6070. More thorough testing is done
* in nettle. */
- test_pbkdf2(GNUTLS_MAC_SHA1, "70617373776f7264", /* "password" */
- "73616c74", /* "salt" */
- 4096, 20, "4b007901b765489abead49d926f721d065a429c1",
- /* Key sizes and output sizes less than 112-bit are not approved. */
- GNUTLS_FIPS140_OP_NOT_APPROVED);
-
- test_pbkdf2(GNUTLS_MAC_AES_CMAC_128, "70617373776f726470617373776f7264", /* "passwordpassword" */
- "73616c74", /* "salt" */
+ test_pbkdf2(
+ GNUTLS_MAC_SHA1, "70617373776f7264", /* "password" */
+ "73616c74", /* "salt" */
+ 4096, 20, "4b007901b765489abead49d926f721d065a429c1",
+ /* Key sizes and output sizes less than 112-bit are not approved. */
+ GNUTLS_FIPS140_OP_NOT_APPROVED);
+
+ test_pbkdf2(GNUTLS_MAC_AES_CMAC_128,
+ "70617373776f726470617373776f7264", /* "passwordpassword" */
+ "73616c74", /* "salt" */
4096, 20, "c4c112c6e1e3b8757640603dec78825ff87605a7",
/* Use of AES-CMAC in PBKDF2 is not supported in ACVP. */
GNUTLS_FIPS140_OP_NOT_APPROVED);
diff --git a/tests/key-export-pkcs8.c b/tests/key-export-pkcs8.c
index f4e07af687..cf0a985291 100644
--- a/tests/key-export-pkcs8.c
+++ b/tests/key-export-pkcs8.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,52 +32,52 @@
#include <gnutls/abstract.h>
unsigned char dsa_p[] =
- "\x00\xb9\x84\xf5\x5a\x81\xbe\x1a\x0d\xc5\x8a\x73\x8f\x0c\x9b\x2f\x9b\xb6\x0e\x4b\xc3\x74\x1a\x7f\x64\xad\x9d\xf3\x28\xc5\xa0\x47\xbc\x9b\x57\x56\xf1\x97\xd5\x7e\x37\x03\xe9\xf2\x4c\xf4\xe3\x8b\x7f\x30\xa3\x5d\x2f\xbb\xa1\xa2\x37\xc2\xea\x35\x8f\x1f\xb1\x5f\xa6\xa2\x5f\x01\xf1\x23\x36\x2b\xe4\x4f\x2f\x2d\xdd\x9d\xd5\x3a\xa6\x39\xaf\x7a\x51\x7c\xd2\x25\x8e\x97\x74\xcf\x1e\xc5\x7b\x4b\x76\x43\x81\x07\x1f\x06\x14\xb8\x6e\x58\x12\xe1\x90\xe2\x37\x6f\xd2\x1b\xec\x68\xc5\x58\xe2\xe6\x30\xe0\x6a\x5e\x2c\x63\x78\xec\x07";
+ "\x00\xb9\x84\xf5\x5a\x81\xbe\x1a\x0d\xc5\x8a\x73\x8f\x0c\x9b\x2f\x9b\xb6\x0e\x4b\xc3\x74\x1a\x7f\x64\xad\x9d\xf3\x28\xc5\xa0\x47\xbc\x9b\x57\x56\xf1\x97\xd5\x7e\x37\x03\xe9\xf2\x4c\xf4\xe3\x8b\x7f\x30\xa3\x5d\x2f\xbb\xa1\xa2\x37\xc2\xea\x35\x8f\x1f\xb1\x5f\xa6\xa2\x5f\x01\xf1\x23\x36\x2b\xe4\x4f\x2f\x2d\xdd\x9d\xd5\x3a\xa6\x39\xaf\x7a\x51\x7c\xd2\x25\x8e\x97\x74\xcf\x1e\xc5\x7b\x4b\x76\x43\x81\x07\x1f\x06\x14\xb8\x6e\x58\x12\xe1\x90\xe2\x37\x6f\xd2\x1b\xec\x68\xc5\x58\xe2\xe6\x30\xe0\x6a\x5e\x2c\x63\x78\xec\x07";
unsigned char dsa_q[] =
- "\x00\x9f\x56\x8c\x48\x64\x2f\xfe\x8d\xaa\x7a\x6d\x96\xdb\x04\x5d\x16\xef\x08\xa5\x71";
+ "\x00\x9f\x56\x8c\x48\x64\x2f\xfe\x8d\xaa\x7a\x6d\x96\xdb\x04\x5d\x16\xef\x08\xa5\x71";
unsigned char dsa_g[] =
- "\x62\x06\x7e\xe4\x5c\x76\x08\xb7\x46\x1a\x5d\xd7\x97\xd4\x2a\x21\xfb\x1f\x31\xc9\xd2\xf4\xfa\x39\xd8\x27\xd1\x9b\xfc\x27\x5d\xa7\x0a\xa7\x1a\xfc\x53\xc1\x2f\x43\xc2\x37\xc8\x85\x7f\x3d\x4c\xab\x5d\x81\x32\xfb\x1d\x5e\x1e\x54\x11\x16\x20\xc6\x80\x5a\xd9\x8c\x9b\x43\xf0\xdd\x6b\xa0\xf4\xc3\xf2\x8a\x9c\x39\xd2\x1c\x7b\x0f\xef\xfa\x28\x93\x8f\xd2\xa1\x22\xeb\xdc\xe0\x8a\x8b\xad\x28\x0e\xcf\xef\x09\x85\xe9\x36\xbd\x8b\x7a\x50\xd5\x7b\xf7\x25\x0d\x6c\x60\x11\xc4\xef\x70\x90\xcf\xd6\x1b\xeb\xbb\x8e\xc6\x3e\x3a\x97";
+ "\x62\x06\x7e\xe4\x5c\x76\x08\xb7\x46\x1a\x5d\xd7\x97\xd4\x2a\x21\xfb\x1f\x31\xc9\xd2\xf4\xfa\x39\xd8\x27\xd1\x9b\xfc\x27\x5d\xa7\x0a\xa7\x1a\xfc\x53\xc1\x2f\x43\xc2\x37\xc8\x85\x7f\x3d\x4c\xab\x5d\x81\x32\xfb\x1d\x5e\x1e\x54\x11\x16\x20\xc6\x80\x5a\xd9\x8c\x9b\x43\xf0\xdd\x6b\xa0\xf4\xc3\xf2\x8a\x9c\x39\xd2\x1c\x7b\x0f\xef\xfa\x28\x93\x8f\xd2\xa1\x22\xeb\xdc\xe0\x8a\x8b\xad\x28\x0e\xcf\xef\x09\x85\xe9\x36\xbd\x8b\x7a\x50\xd5\x7b\xf7\x25\x0d\x6c\x60\x11\xc4\xef\x70\x90\xcf\xd6\x1b\xeb\xbb\x8e\xc6\x3e\x3a\x97";
unsigned char dsa_y[] =
- "\x0f\x8a\x87\x57\xf2\xd1\xc2\xdc\xac\xdf\x4b\x8b\x0f\x8b\xba\x29\xf7\xe1\x03\xe4\x55\xfa\xb2\x98\x07\xd6\xfd\x12\xb1\x80\xbc\xf5\xba\xb4\x50\xd4\x7f\xa0\x0e\x43\xe7\x9f\xc9\x78\x11\x5f\xe5\xe4\x0c\x2c\x6b\x6a\xa4\x35\xdc\xbd\x54\xe5\x60\x36\x9a\x31\xd1\x8a\x59\x6e\x6b\x1c\xba\xbd\x2e\xba\xeb\x7c\x87\xef\xda\xc8\xdd\xa1\xeb\xa4\x83\xe6\x8b\xad\xfa\xfa\x8e\x5b\xd7\x37\xc8\x32\x3e\x96\xc2\x3e\xf4\x43\xda\x7d\x91\x02\x0f\xb7\xbc\xf8\xef\x8f\xf7\x41\x00\x5e\x96\xdf\x0f\x08\x96\xdc\xea\xb2\xe9\x06\x82\xaf\xd2\x2f";
+ "\x0f\x8a\x87\x57\xf2\xd1\xc2\xdc\xac\xdf\x4b\x8b\x0f\x8b\xba\x29\xf7\xe1\x03\xe4\x55\xfa\xb2\x98\x07\xd6\xfd\x12\xb1\x80\xbc\xf5\xba\xb4\x50\xd4\x7f\xa0\x0e\x43\xe7\x9f\xc9\x78\x11\x5f\xe5\xe4\x0c\x2c\x6b\x6a\xa4\x35\xdc\xbd\x54\xe5\x60\x36\x9a\x31\xd1\x8a\x59\x6e\x6b\x1c\xba\xbd\x2e\xba\xeb\x7c\x87\xef\xda\xc8\xdd\xa1\xeb\xa4\x83\xe6\x8b\xad\xfa\xfa\x8e\x5b\xd7\x37\xc8\x32\x3e\x96\xc2\x3e\xf4\x43\xda\x7d\x91\x02\x0f\xb7\xbc\xf8\xef\x8f\xf7\x41\x00\x5e\x96\xdf\x0f\x08\x96\xdc\xea\xb2\xe9\x06\x82\xaf\xd2\x2f";
unsigned char dsa_x[] =
- "\x4b\x9f\xeb\xff\x6c\x9a\x02\x83\x41\x5e\x37\x81\x8e\x00\x86\x31\xe8\xb6\x9b\xc1";
+ "\x4b\x9f\xeb\xff\x6c\x9a\x02\x83\x41\x5e\x37\x81\x8e\x00\x86\x31\xe8\xb6\x9b\xc1";
unsigned char rsa_m[] =
- "\x00\xbb\x66\x43\xf5\xf2\xc5\xd7\xb6\x8c\xcc\xc5\xdf\xf5\x88\x3b\xb1\xc9\x4b\x6a\x0e\xa1\xad\x20\x50\x40\x08\x80\xa1\x4f\x5c\xa3\xd0\xf8\x6c\xcf\xe6\x3c\xf7\xec\x04\x76\x13\x17\x8b\x64\x89\x22\x5b\xc0\xdd\x53\x7c\x3b\xed\x7c\x04\xbb\x80\xb9\x28\xbe\x8e\x9b\xc6\x8e\xa0\xa5\x12\xcb\xf5\x57\x1e\xa2\xe7\xbb\xb7\x33\x49\x9f\xe3\xbb\x4a\xae\x6a\x4d\x68\xff\xc9\x11\xe2\x32\x8d\xce\x3d\x80\x0b\x8d\x75\xef\xd8\x00\x81\x8f\x28\x04\x03\xa0\x22\x8d\x61\x04\x07\xfa\xb6\x37\x7d\x21\x07\x49\xd2\x09\x61\x69\x98\x90\xa3\x58\xa9";
+ "\x00\xbb\x66\x43\xf5\xf2\xc5\xd7\xb6\x8c\xcc\xc5\xdf\xf5\x88\x3b\xb1\xc9\x4b\x6a\x0e\xa1\xad\x20\x50\x40\x08\x80\xa1\x4f\x5c\xa3\xd0\xf8\x6c\xcf\xe6\x3c\xf7\xec\x04\x76\x13\x17\x8b\x64\x89\x22\x5b\xc0\xdd\x53\x7c\x3b\xed\x7c\x04\xbb\x80\xb9\x28\xbe\x8e\x9b\xc6\x8e\xa0\xa5\x12\xcb\xf5\x57\x1e\xa2\xe7\xbb\xb7\x33\x49\x9f\xe3\xbb\x4a\xae\x6a\x4d\x68\xff\xc9\x11\xe2\x32\x8d\xce\x3d\x80\x0b\x8d\x75\xef\xd8\x00\x81\x8f\x28\x04\x03\xa0\x22\x8d\x61\x04\x07\xfa\xb6\x37\x7d\x21\x07\x49\xd2\x09\x61\x69\x98\x90\xa3\x58\xa9";
unsigned char rsa_e[] = "\x01\x00\x01";
unsigned char rsa_d[] =
- "\x0e\x99\x80\x44\x6e\x42\x43\x14\xbe\x01\xeb\x0d\x90\x69\xa9\x6a\xe7\xa9\x88\x2c\xf5\x24\x11\x7f\x27\x09\xf2\x89\x7e\xaf\x13\x35\x21\xd1\x8a\x5d\xdf\xd4\x99\xce\xdc\x2b\x0f\x1b\xc5\x3c\x98\xd0\x68\xa5\x65\x8e\x69\x75\xce\x42\x69\x20\x35\x6c\xaa\xf1\xdd\xc9\x57\x6c\x7b\xc3\x3e\x42\x7e\xa1\xc3\x8c\x76\xa7\x9a\xe8\x81\xdb\xe1\x84\x82\xf5\x99\xd5\xa8\xee\x35\x9e\x54\x94\xc5\x44\xa0\x7b\xcc\xb7\x4c\x3e\xcd\xf2\x49\xdb\x5c\x21\x06\x85\xf6\x75\x00\x43\x62\x89\x12\xf9\x5d\x90\xed\xe6\xfd\xb4\x49\x14\x4a\x79\xe2\x4d";
+ "\x0e\x99\x80\x44\x6e\x42\x43\x14\xbe\x01\xeb\x0d\x90\x69\xa9\x6a\xe7\xa9\x88\x2c\xf5\x24\x11\x7f\x27\x09\xf2\x89\x7e\xaf\x13\x35\x21\xd1\x8a\x5d\xdf\xd4\x99\xce\xdc\x2b\x0f\x1b\xc5\x3c\x98\xd0\x68\xa5\x65\x8e\x69\x75\xce\x42\x69\x20\x35\x6c\xaa\xf1\xdd\xc9\x57\x6c\x7b\xc3\x3e\x42\x7e\xa1\xc3\x8c\x76\xa7\x9a\xe8\x81\xdb\xe1\x84\x82\xf5\x99\xd5\xa8\xee\x35\x9e\x54\x94\xc5\x44\xa0\x7b\xcc\xb7\x4c\x3e\xcd\xf2\x49\xdb\x5c\x21\x06\x85\xf6\x75\x00\x43\x62\x89\x12\xf9\x5d\x90\xed\xe6\xfd\xb4\x49\x14\x4a\x79\xe2\x4d";
unsigned char rsa_p[] =
- "\x00\xd8\xcb\xe4\x65\x4e\x6c\x11\x0f\xa8\x72\xed\x4b\x4c\x8d\x1d\x07\xdc\x24\x99\x25\xe4\x3c\xb2\xf3\x02\xc4\x72\xe6\x3a\x5b\x86\xf4\x7d\x54\x2a\x4e\x79\x64\x16\x1f\x45\x3b\x17\x9e\x2a\x94\x90\x90\x59\xe7\x0b\x95\xd4\xbf\xa9\x47\xd1\x0a\x71\xaf\x3d\x6b\xed\x55";
+ "\x00\xd8\xcb\xe4\x65\x4e\x6c\x11\x0f\xa8\x72\xed\x4b\x4c\x8d\x1d\x07\xdc\x24\x99\x25\xe4\x3c\xb2\xf3\x02\xc4\x72\xe6\x3a\x5b\x86\xf4\x7d\x54\x2a\x4e\x79\x64\x16\x1f\x45\x3b\x17\x9e\x2a\x94\x90\x90\x59\xe7\x0b\x95\xd4\xbf\xa9\x47\xd1\x0a\x71\xaf\x3d\x6b\xed\x55";
unsigned char rsa_q[] =
- "\x00\xdd\x49\x81\x7a\x5c\x04\xbf\x6b\xbd\x70\x05\x35\x42\x32\xa3\x9b\x08\xee\xd4\x98\x17\x6e\xb8\xc4\xa2\x12\xbe\xdc\x1e\x72\xd0\x44\x84\x5c\xf0\x30\x35\x04\xfd\x4e\xb0\xcc\xd6\x6f\x40\xcb\x16\x13\x58\xbc\x57\xf7\x77\x48\xe5\x0c\x0d\x14\x9b\x66\x6e\xd8\xde\x05";
+ "\x00\xdd\x49\x81\x7a\x5c\x04\xbf\x6b\xbd\x70\x05\x35\x42\x32\xa3\x9b\x08\xee\xd4\x98\x17\x6e\xb8\xc4\xa2\x12\xbe\xdc\x1e\x72\xd0\x44\x84\x5c\xf0\x30\x35\x04\xfd\x4e\xb0\xcc\xd6\x6f\x40\xcb\x16\x13\x58\xbc\x57\xf7\x77\x48\xe5\x0c\x0d\x14\x9b\x66\x6e\xd8\xde\x05";
unsigned char rsa_u[] =
- "\x4a\x74\x5c\x95\x83\x54\xa3\xb0\x71\x35\xba\x02\x3a\x7d\x4a\x8c\x2d\x9a\x26\x77\x60\x36\x28\xd4\xb1\x7d\x8a\x06\xf8\x89\xa2\xef\xb1\x66\x46\x7d\xb9\xd4\xde\xbc\xa3\xbe\x46\xfa\x62\xe1\x63\x82\xdc\xdb\x64\x36\x47\x59\x00\xa8\xf3\xf7\x0e\xb4\xe0\x66\x3d\xd9";
+ "\x4a\x74\x5c\x95\x83\x54\xa3\xb0\x71\x35\xba\x02\x3a\x7d\x4a\x8c\x2d\x9a\x26\x77\x60\x36\x28\xd4\xb1\x7d\x8a\x06\xf8\x89\xa2\xef\xb1\x66\x46\x7d\xb9\xd4\xde\xbc\xa3\xbe\x46\xfa\x62\xe1\x63\x82\xdc\xdb\x64\x36\x47\x59\x00\xa8\xf3\xf7\x0e\xb4\xe0\x66\x3d\xd9";
unsigned char rsa_e1[] =
- "\x45\x20\x96\x5e\x1b\x28\x68\x34\x46\xf1\x06\x6b\x09\x28\xc1\xc5\xfc\xd3\x0a\xa6\x43\x65\x7b\x65\xf3\x4e\xf2\x98\x28\xa9\x80\x99\xba\xd0\xb8\x80\xb7\x42\x4b\xaf\x82\xe2\xb9\xc0\x2c\x31\x9c\xfa\xfa\x3f\xaa\xb9\x06\xd2\x6a\x46\xc5\x08\x00\x81\xf1\x22\xd5\xd5";
+ "\x45\x20\x96\x5e\x1b\x28\x68\x34\x46\xf1\x06\x6b\x09\x28\xc1\xc5\xfc\xd3\x0a\xa6\x43\x65\x7b\x65\xf3\x4e\xf2\x98\x28\xa9\x80\x99\xba\xd0\xb8\x80\xb7\x42\x4b\xaf\x82\xe2\xb9\xc0\x2c\x31\x9c\xfa\xfa\x3f\xaa\xb9\x06\xd2\x6a\x46\xc5\x08\x00\x81\xf1\x22\xd5\xd5";
unsigned char rsa_e2[] =
- "\x00\xa6\x50\x60\xa7\xfe\x10\xf3\x6d\x9e\x6b\x5a\xfe\xb4\x4a\x2a\xfc\x92\xb2\x2d\xc6\x41\x96\x4d\xf8\x3b\x77\xab\x4a\xf4\xf7\x85\xe0\x79\x3b\x00\xaa\xba\xae\x8d\x53\x5f\x3e\x14\xcc\x78\xfe\x2a\x11\x50\x57\xfe\x25\x57\xd9\xc9\x8c\x4d\x28\x77\xc3\x7c\xfc\x31\xa1";
+ "\x00\xa6\x50\x60\xa7\xfe\x10\xf3\x6d\x9e\x6b\x5a\xfe\xb4\x4a\x2a\xfc\x92\xb2\x2d\xc6\x41\x96\x4d\xf8\x3b\x77\xab\x4a\xf4\xf7\x85\xe0\x79\x3b\x00\xaa\xba\xae\x8d\x53\x5f\x3e\x14\xcc\x78\xfe\x2a\x11\x50\x57\xfe\x25\x57\xd9\xc9\x8c\x4d\x28\x77\xc3\x7c\xfc\x31\xa1";
unsigned char ecc_x[] =
- "\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33";
+ "\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33";
unsigned char ecc_y[] =
- "\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
+ "\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
unsigned char ecc_k[] =
- "\x00\xfd\x2b\x00\x80\xf3\x36\x5f\x11\x32\x65\xe3\x8d\x30\x33\x3b\x47\xf5\xce\xf8\x13\xe5\x4c\xc2\xcf\xfd\xe8\x05\x6a\xca\xc9\x41\xb1";
+ "\x00\xfd\x2b\x00\x80\xf3\x36\x5f\x11\x32\x65\xe3\x8d\x30\x33\x3b\x47\xf5\xce\xf8\x13\xe5\x4c\xc2\xcf\xfd\xe8\x05\x6a\xca\xc9\x41\xb1";
unsigned char false_ed25519_x[] =
- "\xac\xac\x9a\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x84\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
+ "\xac\xac\x9a\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x84\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
unsigned char ed25519_x[] =
- "\xab\xaf\x98\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x86\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
+ "\xab\xaf\x98\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x86\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
unsigned char ed25519_k[] =
- "\x1c\xa9\x23\xdc\x35\xa8\xfd\xd6\x2d\xa8\x98\xb9\x60\x7b\xce\x10\x3d\xf4\x64\xc6\xe5\x4b\x0a\x65\x56\x6a\x3c\x73\x65\x51\xa2\x2f";
+ "\x1c\xa9\x23\xdc\x35\xa8\xfd\xd6\x2d\xa8\x98\xb9\x60\x7b\xce\x10\x3d\xf4\x64\xc6\xe5\x4b\x0a\x65\x56\x6a\x3c\x73\x65\x51\xa2\x2f";
unsigned char gost_x[] =
- "\xd0\xbb\xe9\xf4\xc6\xa8\x60\x3c\x73\x91\x44\x55\xcf\xbd\x50\xdd\x2c\x3d\x5a\xbc\x1a\xd8\x5e\x3c\xdf\x10\xdd\xd2\x63\x88\x0f\xc0";
+ "\xd0\xbb\xe9\xf4\xc6\xa8\x60\x3c\x73\x91\x44\x55\xcf\xbd\x50\xdd\x2c\x3d\x5a\xbc\x1a\xd8\x5e\x3c\xdf\x10\xdd\xd2\x63\x88\x0f\xc0";
unsigned char gost_y[] =
- "\x8a\xec\x96\x3c\x0b\xc8\x33\xff\x57\x5f\x66\x78\x94\x39\xb4\xf5\x24\xc6\xba\x86\x41\xac\x43\x21\x6f\x3c\xb0\xfa\x56\xbd\x5b\x37";
+ "\x8a\xec\x96\x3c\x0b\xc8\x33\xff\x57\x5f\x66\x78\x94\x39\xb4\xf5\x24\xc6\xba\x86\x41\xac\x43\x21\x6f\x3c\xb0\xfa\x56\xbd\x5b\x37";
unsigned char gost_k[] =
- "\x47\x59\x41\x2c\x8a\xf8\x58\x1a\x67\xe0\xc3\x82\x1f\xca\x31\x19\x66\xf9\xd8\x43\xcd\x2f\x78\x23\x34\x98\x90\xb8\x14\x2e\x7f\xa5";
+ "\x47\x59\x41\x2c\x8a\xf8\x58\x1a\x67\xe0\xc3\x82\x1f\xca\x31\x19\x66\xf9\xd8\x43\xcd\x2f\x78\x23\x34\x98\x90\xb8\x14\x2e\x7f\xa5";
gnutls_datum_t _dsa_p = { dsa_p, sizeof(dsa_p) - 1 };
gnutls_datum_t _dsa_q = { dsa_q, sizeof(dsa_q) - 1 };
@@ -98,8 +98,8 @@ gnutls_datum_t _ecc_x = { ecc_x, sizeof(ecc_x) - 1 };
gnutls_datum_t _ecc_y = { ecc_y, sizeof(ecc_y) - 1 };
gnutls_datum_t _ecc_k = { ecc_k, sizeof(ecc_k) - 1 };
-gnutls_datum_t _false_ed25519_x =
- { false_ed25519_x, sizeof(false_ed25519_x) - 1 };
+gnutls_datum_t _false_ed25519_x = { false_ed25519_x,
+ sizeof(false_ed25519_x) - 1 };
gnutls_datum_t _ed25519_x = { ed25519_x, sizeof(ed25519_x) - 1 };
gnutls_datum_t _ed25519_k = { ed25519_k, sizeof(ed25519_k) - 1 };
@@ -107,8 +107,7 @@ gnutls_datum_t _gost_x = { gost_x, sizeof(gost_x) - 1 };
gnutls_datum_t _gost_y = { gost_y, sizeof(gost_y) - 1 };
gnutls_datum_t _gost_k = { gost_k, sizeof(gost_k) - 1 };
-static
-int check_dsa(void)
+static int check_dsa(void)
{
gnutls_x509_privkey_t key;
gnutls_datum_t out;
@@ -120,15 +119,13 @@ int check_dsa(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
- &_dsa_y, &_dsa_x);
+ ret = gnutls_x509_privkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
+ &_dsa_y, &_dsa_x);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &out);
+ ret = gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL,
+ 0, &out);
if (ret < 0 || out.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(out.data);
@@ -138,8 +135,7 @@ int check_dsa(void)
return 0;
}
-static
-int check_rsa(void)
+static int check_rsa(void)
{
gnutls_x509_privkey_t key;
gnutls_datum_t out;
@@ -152,16 +148,14 @@ int check_rsa(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_import_rsa_raw2(key, &_rsa_m, &_rsa_e, &_rsa_d,
- &_rsa_p, &_rsa_q, &_rsa_u,
- &_rsa_e1, &_rsa_e2);
+ ret = gnutls_x509_privkey_import_rsa_raw2(key, &_rsa_m, &_rsa_e,
+ &_rsa_d, &_rsa_p, &_rsa_q,
+ &_rsa_u, &_rsa_e1, &_rsa_e2);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &out);
+ ret = gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL,
+ 0, &out);
if (ret < 0 || out.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(out.data);
@@ -171,8 +165,7 @@ int check_rsa(void)
return 0;
}
-static
-int check_ed25519(void)
+static int check_ed25519(void)
{
gnutls_x509_privkey_t key;
gnutls_datum_t out;
@@ -185,15 +178,13 @@ int check_ed25519(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
- &_ed25519_x, NULL, &_ed25519_k);
+ ret = gnutls_x509_privkey_import_ecc_raw(
+ key, GNUTLS_ECC_CURVE_ED25519, &_ed25519_x, NULL, &_ed25519_k);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &out);
+ ret = gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL,
+ 0, &out);
if (ret < 0 || out.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(out.data);
@@ -203,8 +194,7 @@ int check_ed25519(void)
return 0;
}
-static
-int check_gost(void)
+static int check_gost(void)
{
#ifdef ENABLE_GOST
gnutls_x509_privkey_t key;
@@ -218,18 +208,14 @@ int check_gost(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_import_gost_raw(key,
- GNUTLS_ECC_CURVE_GOST256CPXA,
- GNUTLS_DIG_GOSTR_94,
- GNUTLS_GOST_PARAMSET_CP_A,
- &_gost_x, &_gost_y, &_gost_k);
+ ret = gnutls_x509_privkey_import_gost_raw(
+ key, GNUTLS_ECC_CURVE_GOST256CPXA, GNUTLS_DIG_GOSTR_94,
+ GNUTLS_GOST_PARAMSET_CP_A, &_gost_x, &_gost_y, &_gost_k);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &out);
+ ret = gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL,
+ 0, &out);
if (ret < 0 || out.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(out.data);
@@ -240,8 +226,7 @@ int check_gost(void)
return 0;
}
-static
-int check_ecc(void)
+static int check_ecc(void)
{
gnutls_x509_privkey_t key;
gnutls_datum_t out;
@@ -254,15 +239,13 @@ int check_ecc(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_SECP256R1,
- &_ecc_x, &_ecc_y, &_ecc_k);
+ ret = gnutls_x509_privkey_import_ecc_raw(
+ key, GNUTLS_ECC_CURVE_SECP256R1, &_ecc_x, &_ecc_y, &_ecc_k);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_PEM, NULL, 0,
- &out);
+ ret = gnutls_x509_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_PEM, NULL,
+ 0, &out);
if (ret < 0 || out.size == 0)
fail("error in pkcs8 export\n");
diff --git a/tests/key-import-export.c b/tests/key-import-export.c
index fcc0c4f54f..cec48e92e8 100644
--- a/tests/key-import-export.c
+++ b/tests/key-import-export.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,25 +35,23 @@
#include "cert-common.h"
static char rsa_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t rsa_key = { (void *)rsa_key_pem,
- sizeof(rsa_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t rsa_key = { (void *)rsa_key_pem, sizeof(rsa_key_pem) };
static void dump(const char *name, unsigned char *buf, int buf_size)
{
@@ -65,52 +63,52 @@ static void dump(const char *name, unsigned char *buf, int buf_size)
}
unsigned char dsa_p[] =
- "\x00\xb9\x84\xf5\x5a\x81\xbe\x1a\x0d\xc5\x8a\x73\x8f\x0c\x9b\x2f\x9b\xb6\x0e\x4b\xc3\x74\x1a\x7f\x64\xad\x9d\xf3\x28\xc5\xa0\x47\xbc\x9b\x57\x56\xf1\x97\xd5\x7e\x37\x03\xe9\xf2\x4c\xf4\xe3\x8b\x7f\x30\xa3\x5d\x2f\xbb\xa1\xa2\x37\xc2\xea\x35\x8f\x1f\xb1\x5f\xa6\xa2\x5f\x01\xf1\x23\x36\x2b\xe4\x4f\x2f\x2d\xdd\x9d\xd5\x3a\xa6\x39\xaf\x7a\x51\x7c\xd2\x25\x8e\x97\x74\xcf\x1e\xc5\x7b\x4b\x76\x43\x81\x07\x1f\x06\x14\xb8\x6e\x58\x12\xe1\x90\xe2\x37\x6f\xd2\x1b\xec\x68\xc5\x58\xe2\xe6\x30\xe0\x6a\x5e\x2c\x63\x78\xec\x07";
+ "\x00\xb9\x84\xf5\x5a\x81\xbe\x1a\x0d\xc5\x8a\x73\x8f\x0c\x9b\x2f\x9b\xb6\x0e\x4b\xc3\x74\x1a\x7f\x64\xad\x9d\xf3\x28\xc5\xa0\x47\xbc\x9b\x57\x56\xf1\x97\xd5\x7e\x37\x03\xe9\xf2\x4c\xf4\xe3\x8b\x7f\x30\xa3\x5d\x2f\xbb\xa1\xa2\x37\xc2\xea\x35\x8f\x1f\xb1\x5f\xa6\xa2\x5f\x01\xf1\x23\x36\x2b\xe4\x4f\x2f\x2d\xdd\x9d\xd5\x3a\xa6\x39\xaf\x7a\x51\x7c\xd2\x25\x8e\x97\x74\xcf\x1e\xc5\x7b\x4b\x76\x43\x81\x07\x1f\x06\x14\xb8\x6e\x58\x12\xe1\x90\xe2\x37\x6f\xd2\x1b\xec\x68\xc5\x58\xe2\xe6\x30\xe0\x6a\x5e\x2c\x63\x78\xec\x07";
unsigned char dsa_q[] =
- "\x00\x9f\x56\x8c\x48\x64\x2f\xfe\x8d\xaa\x7a\x6d\x96\xdb\x04\x5d\x16\xef\x08\xa5\x71";
+ "\x00\x9f\x56\x8c\x48\x64\x2f\xfe\x8d\xaa\x7a\x6d\x96\xdb\x04\x5d\x16\xef\x08\xa5\x71";
unsigned char dsa_g[] =
- "\x62\x06\x7e\xe4\x5c\x76\x08\xb7\x46\x1a\x5d\xd7\x97\xd4\x2a\x21\xfb\x1f\x31\xc9\xd2\xf4\xfa\x39\xd8\x27\xd1\x9b\xfc\x27\x5d\xa7\x0a\xa7\x1a\xfc\x53\xc1\x2f\x43\xc2\x37\xc8\x85\x7f\x3d\x4c\xab\x5d\x81\x32\xfb\x1d\x5e\x1e\x54\x11\x16\x20\xc6\x80\x5a\xd9\x8c\x9b\x43\xf0\xdd\x6b\xa0\xf4\xc3\xf2\x8a\x9c\x39\xd2\x1c\x7b\x0f\xef\xfa\x28\x93\x8f\xd2\xa1\x22\xeb\xdc\xe0\x8a\x8b\xad\x28\x0e\xcf\xef\x09\x85\xe9\x36\xbd\x8b\x7a\x50\xd5\x7b\xf7\x25\x0d\x6c\x60\x11\xc4\xef\x70\x90\xcf\xd6\x1b\xeb\xbb\x8e\xc6\x3e\x3a\x97";
+ "\x62\x06\x7e\xe4\x5c\x76\x08\xb7\x46\x1a\x5d\xd7\x97\xd4\x2a\x21\xfb\x1f\x31\xc9\xd2\xf4\xfa\x39\xd8\x27\xd1\x9b\xfc\x27\x5d\xa7\x0a\xa7\x1a\xfc\x53\xc1\x2f\x43\xc2\x37\xc8\x85\x7f\x3d\x4c\xab\x5d\x81\x32\xfb\x1d\x5e\x1e\x54\x11\x16\x20\xc6\x80\x5a\xd9\x8c\x9b\x43\xf0\xdd\x6b\xa0\xf4\xc3\xf2\x8a\x9c\x39\xd2\x1c\x7b\x0f\xef\xfa\x28\x93\x8f\xd2\xa1\x22\xeb\xdc\xe0\x8a\x8b\xad\x28\x0e\xcf\xef\x09\x85\xe9\x36\xbd\x8b\x7a\x50\xd5\x7b\xf7\x25\x0d\x6c\x60\x11\xc4\xef\x70\x90\xcf\xd6\x1b\xeb\xbb\x8e\xc6\x3e\x3a\x97";
unsigned char dsa_y[] =
- "\x0f\x8a\x87\x57\xf2\xd1\xc2\xdc\xac\xdf\x4b\x8b\x0f\x8b\xba\x29\xf7\xe1\x03\xe4\x55\xfa\xb2\x98\x07\xd6\xfd\x12\xb1\x80\xbc\xf5\xba\xb4\x50\xd4\x7f\xa0\x0e\x43\xe7\x9f\xc9\x78\x11\x5f\xe5\xe4\x0c\x2c\x6b\x6a\xa4\x35\xdc\xbd\x54\xe5\x60\x36\x9a\x31\xd1\x8a\x59\x6e\x6b\x1c\xba\xbd\x2e\xba\xeb\x7c\x87\xef\xda\xc8\xdd\xa1\xeb\xa4\x83\xe6\x8b\xad\xfa\xfa\x8e\x5b\xd7\x37\xc8\x32\x3e\x96\xc2\x3e\xf4\x43\xda\x7d\x91\x02\x0f\xb7\xbc\xf8\xef\x8f\xf7\x41\x00\x5e\x96\xdf\x0f\x08\x96\xdc\xea\xb2\xe9\x06\x82\xaf\xd2\x2f";
+ "\x0f\x8a\x87\x57\xf2\xd1\xc2\xdc\xac\xdf\x4b\x8b\x0f\x8b\xba\x29\xf7\xe1\x03\xe4\x55\xfa\xb2\x98\x07\xd6\xfd\x12\xb1\x80\xbc\xf5\xba\xb4\x50\xd4\x7f\xa0\x0e\x43\xe7\x9f\xc9\x78\x11\x5f\xe5\xe4\x0c\x2c\x6b\x6a\xa4\x35\xdc\xbd\x54\xe5\x60\x36\x9a\x31\xd1\x8a\x59\x6e\x6b\x1c\xba\xbd\x2e\xba\xeb\x7c\x87\xef\xda\xc8\xdd\xa1\xeb\xa4\x83\xe6\x8b\xad\xfa\xfa\x8e\x5b\xd7\x37\xc8\x32\x3e\x96\xc2\x3e\xf4\x43\xda\x7d\x91\x02\x0f\xb7\xbc\xf8\xef\x8f\xf7\x41\x00\x5e\x96\xdf\x0f\x08\x96\xdc\xea\xb2\xe9\x06\x82\xaf\xd2\x2f";
unsigned char dsa_x[] =
- "\x4b\x9f\xeb\xff\x6c\x9a\x02\x83\x41\x5e\x37\x81\x8e\x00\x86\x31\xe8\xb6\x9b\xc1";
+ "\x4b\x9f\xeb\xff\x6c\x9a\x02\x83\x41\x5e\x37\x81\x8e\x00\x86\x31\xe8\xb6\x9b\xc1";
unsigned char rsa_m[] =
- "\x00\xbb\x66\x43\xf5\xf2\xc5\xd7\xb6\x8c\xcc\xc5\xdf\xf5\x88\x3b\xb1\xc9\x4b\x6a\x0e\xa1\xad\x20\x50\x40\x08\x80\xa1\x4f\x5c\xa3\xd0\xf8\x6c\xcf\xe6\x3c\xf7\xec\x04\x76\x13\x17\x8b\x64\x89\x22\x5b\xc0\xdd\x53\x7c\x3b\xed\x7c\x04\xbb\x80\xb9\x28\xbe\x8e\x9b\xc6\x8e\xa0\xa5\x12\xcb\xf5\x57\x1e\xa2\xe7\xbb\xb7\x33\x49\x9f\xe3\xbb\x4a\xae\x6a\x4d\x68\xff\xc9\x11\xe2\x32\x8d\xce\x3d\x80\x0b\x8d\x75\xef\xd8\x00\x81\x8f\x28\x04\x03\xa0\x22\x8d\x61\x04\x07\xfa\xb6\x37\x7d\x21\x07\x49\xd2\x09\x61\x69\x98\x90\xa3\x58\xa9";
+ "\x00\xbb\x66\x43\xf5\xf2\xc5\xd7\xb6\x8c\xcc\xc5\xdf\xf5\x88\x3b\xb1\xc9\x4b\x6a\x0e\xa1\xad\x20\x50\x40\x08\x80\xa1\x4f\x5c\xa3\xd0\xf8\x6c\xcf\xe6\x3c\xf7\xec\x04\x76\x13\x17\x8b\x64\x89\x22\x5b\xc0\xdd\x53\x7c\x3b\xed\x7c\x04\xbb\x80\xb9\x28\xbe\x8e\x9b\xc6\x8e\xa0\xa5\x12\xcb\xf5\x57\x1e\xa2\xe7\xbb\xb7\x33\x49\x9f\xe3\xbb\x4a\xae\x6a\x4d\x68\xff\xc9\x11\xe2\x32\x8d\xce\x3d\x80\x0b\x8d\x75\xef\xd8\x00\x81\x8f\x28\x04\x03\xa0\x22\x8d\x61\x04\x07\xfa\xb6\x37\x7d\x21\x07\x49\xd2\x09\x61\x69\x98\x90\xa3\x58\xa9";
unsigned char rsa_e[] = "\x01\x00\x01";
unsigned char rsa_d[] =
- "\x0e\x99\x80\x44\x6e\x42\x43\x14\xbe\x01\xeb\x0d\x90\x69\xa9\x6a\xe7\xa9\x88\x2c\xf5\x24\x11\x7f\x27\x09\xf2\x89\x7e\xaf\x13\x35\x21\xd1\x8a\x5d\xdf\xd4\x99\xce\xdc\x2b\x0f\x1b\xc5\x3c\x98\xd0\x68\xa5\x65\x8e\x69\x75\xce\x42\x69\x20\x35\x6c\xaa\xf1\xdd\xc9\x57\x6c\x7b\xc3\x3e\x42\x7e\xa1\xc3\x8c\x76\xa7\x9a\xe8\x81\xdb\xe1\x84\x82\xf5\x99\xd5\xa8\xee\x35\x9e\x54\x94\xc5\x44\xa0\x7b\xcc\xb7\x4c\x3e\xcd\xf2\x49\xdb\x5c\x21\x06\x85\xf6\x75\x00\x43\x62\x89\x12\xf9\x5d\x90\xed\xe6\xfd\xb4\x49\x14\x4a\x79\xe2\x4d";
+ "\x0e\x99\x80\x44\x6e\x42\x43\x14\xbe\x01\xeb\x0d\x90\x69\xa9\x6a\xe7\xa9\x88\x2c\xf5\x24\x11\x7f\x27\x09\xf2\x89\x7e\xaf\x13\x35\x21\xd1\x8a\x5d\xdf\xd4\x99\xce\xdc\x2b\x0f\x1b\xc5\x3c\x98\xd0\x68\xa5\x65\x8e\x69\x75\xce\x42\x69\x20\x35\x6c\xaa\xf1\xdd\xc9\x57\x6c\x7b\xc3\x3e\x42\x7e\xa1\xc3\x8c\x76\xa7\x9a\xe8\x81\xdb\xe1\x84\x82\xf5\x99\xd5\xa8\xee\x35\x9e\x54\x94\xc5\x44\xa0\x7b\xcc\xb7\x4c\x3e\xcd\xf2\x49\xdb\x5c\x21\x06\x85\xf6\x75\x00\x43\x62\x89\x12\xf9\x5d\x90\xed\xe6\xfd\xb4\x49\x14\x4a\x79\xe2\x4d";
unsigned char rsa_p[] =
- "\x00\xd8\xcb\xe4\x65\x4e\x6c\x11\x0f\xa8\x72\xed\x4b\x4c\x8d\x1d\x07\xdc\x24\x99\x25\xe4\x3c\xb2\xf3\x02\xc4\x72\xe6\x3a\x5b\x86\xf4\x7d\x54\x2a\x4e\x79\x64\x16\x1f\x45\x3b\x17\x9e\x2a\x94\x90\x90\x59\xe7\x0b\x95\xd4\xbf\xa9\x47\xd1\x0a\x71\xaf\x3d\x6b\xed\x55";
+ "\x00\xd8\xcb\xe4\x65\x4e\x6c\x11\x0f\xa8\x72\xed\x4b\x4c\x8d\x1d\x07\xdc\x24\x99\x25\xe4\x3c\xb2\xf3\x02\xc4\x72\xe6\x3a\x5b\x86\xf4\x7d\x54\x2a\x4e\x79\x64\x16\x1f\x45\x3b\x17\x9e\x2a\x94\x90\x90\x59\xe7\x0b\x95\xd4\xbf\xa9\x47\xd1\x0a\x71\xaf\x3d\x6b\xed\x55";
unsigned char rsa_q[] =
- "\x00\xdd\x49\x81\x7a\x5c\x04\xbf\x6b\xbd\x70\x05\x35\x42\x32\xa3\x9b\x08\xee\xd4\x98\x17\x6e\xb8\xc4\xa2\x12\xbe\xdc\x1e\x72\xd0\x44\x84\x5c\xf0\x30\x35\x04\xfd\x4e\xb0\xcc\xd6\x6f\x40\xcb\x16\x13\x58\xbc\x57\xf7\x77\x48\xe5\x0c\x0d\x14\x9b\x66\x6e\xd8\xde\x05";
+ "\x00\xdd\x49\x81\x7a\x5c\x04\xbf\x6b\xbd\x70\x05\x35\x42\x32\xa3\x9b\x08\xee\xd4\x98\x17\x6e\xb8\xc4\xa2\x12\xbe\xdc\x1e\x72\xd0\x44\x84\x5c\xf0\x30\x35\x04\xfd\x4e\xb0\xcc\xd6\x6f\x40\xcb\x16\x13\x58\xbc\x57\xf7\x77\x48\xe5\x0c\x0d\x14\x9b\x66\x6e\xd8\xde\x05";
unsigned char rsa_u[] =
- "\x4a\x74\x5c\x95\x83\x54\xa3\xb0\x71\x35\xba\x02\x3a\x7d\x4a\x8c\x2d\x9a\x26\x77\x60\x36\x28\xd4\xb1\x7d\x8a\x06\xf8\x89\xa2\xef\xb1\x66\x46\x7d\xb9\xd4\xde\xbc\xa3\xbe\x46\xfa\x62\xe1\x63\x82\xdc\xdb\x64\x36\x47\x59\x00\xa8\xf3\xf7\x0e\xb4\xe0\x66\x3d\xd9";
+ "\x4a\x74\x5c\x95\x83\x54\xa3\xb0\x71\x35\xba\x02\x3a\x7d\x4a\x8c\x2d\x9a\x26\x77\x60\x36\x28\xd4\xb1\x7d\x8a\x06\xf8\x89\xa2\xef\xb1\x66\x46\x7d\xb9\xd4\xde\xbc\xa3\xbe\x46\xfa\x62\xe1\x63\x82\xdc\xdb\x64\x36\x47\x59\x00\xa8\xf3\xf7\x0e\xb4\xe0\x66\x3d\xd9";
unsigned char rsa_e1[] =
- "\x45\x20\x96\x5e\x1b\x28\x68\x34\x46\xf1\x06\x6b\x09\x28\xc1\xc5\xfc\xd3\x0a\xa6\x43\x65\x7b\x65\xf3\x4e\xf2\x98\x28\xa9\x80\x99\xba\xd0\xb8\x80\xb7\x42\x4b\xaf\x82\xe2\xb9\xc0\x2c\x31\x9c\xfa\xfa\x3f\xaa\xb9\x06\xd2\x6a\x46\xc5\x08\x00\x81\xf1\x22\xd5\xd5";
+ "\x45\x20\x96\x5e\x1b\x28\x68\x34\x46\xf1\x06\x6b\x09\x28\xc1\xc5\xfc\xd3\x0a\xa6\x43\x65\x7b\x65\xf3\x4e\xf2\x98\x28\xa9\x80\x99\xba\xd0\xb8\x80\xb7\x42\x4b\xaf\x82\xe2\xb9\xc0\x2c\x31\x9c\xfa\xfa\x3f\xaa\xb9\x06\xd2\x6a\x46\xc5\x08\x00\x81\xf1\x22\xd5\xd5";
unsigned char rsa_e2[] =
- "\x00\xa6\x50\x60\xa7\xfe\x10\xf3\x6d\x9e\x6b\x5a\xfe\xb4\x4a\x2a\xfc\x92\xb2\x2d\xc6\x41\x96\x4d\xf8\x3b\x77\xab\x4a\xf4\xf7\x85\xe0\x79\x3b\x00\xaa\xba\xae\x8d\x53\x5f\x3e\x14\xcc\x78\xfe\x2a\x11\x50\x57\xfe\x25\x57\xd9\xc9\x8c\x4d\x28\x77\xc3\x7c\xfc\x31\xa1";
+ "\x00\xa6\x50\x60\xa7\xfe\x10\xf3\x6d\x9e\x6b\x5a\xfe\xb4\x4a\x2a\xfc\x92\xb2\x2d\xc6\x41\x96\x4d\xf8\x3b\x77\xab\x4a\xf4\xf7\x85\xe0\x79\x3b\x00\xaa\xba\xae\x8d\x53\x5f\x3e\x14\xcc\x78\xfe\x2a\x11\x50\x57\xfe\x25\x57\xd9\xc9\x8c\x4d\x28\x77\xc3\x7c\xfc\x31\xa1";
unsigned char ecc_x[] =
- "\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33";
+ "\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33";
unsigned char ecc_y[] =
- "\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
+ "\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
unsigned char ecc_k[] =
- "\x00\xfd\x2b\x00\x80\xf3\x36\x5f\x11\x32\x65\xe3\x8d\x30\x33\x3b\x47\xf5\xce\xf8\x13\xe5\x4c\xc2\xcf\xfd\xe8\x05\x6a\xca\xc9\x41\xb1";
+ "\x00\xfd\x2b\x00\x80\xf3\x36\x5f\x11\x32\x65\xe3\x8d\x30\x33\x3b\x47\xf5\xce\xf8\x13\xe5\x4c\xc2\xcf\xfd\xe8\x05\x6a\xca\xc9\x41\xb1";
unsigned char false_ed25519_x[] =
- "\xac\xac\x9a\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x84\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
+ "\xac\xac\x9a\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x84\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
unsigned char ed25519_x[] =
- "\xab\xaf\x98\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x86\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
+ "\xab\xaf\x98\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x86\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
unsigned char ed25519_k[] =
- "\x1c\xa9\x23\xdc\x35\xa8\xfd\xd6\x2d\xa8\x98\xb9\x60\x7b\xce\x10\x3d\xf4\x64\xc6\xe5\x4b\x0a\x65\x56\x6a\x3c\x73\x65\x51\xa2\x2f";
+ "\x1c\xa9\x23\xdc\x35\xa8\xfd\xd6\x2d\xa8\x98\xb9\x60\x7b\xce\x10\x3d\xf4\x64\xc6\xe5\x4b\x0a\x65\x56\x6a\x3c\x73\x65\x51\xa2\x2f";
unsigned char gost_x[] =
- "\xd0\xbb\xe9\xf4\xc6\xa8\x60\x3c\x73\x91\x44\x55\xcf\xbd\x50\xdd\x2c\x3d\x5a\xbc\x1a\xd8\x5e\x3c\xdf\x10\xdd\xd2\x63\x88\x0f\xc0";
+ "\xd0\xbb\xe9\xf4\xc6\xa8\x60\x3c\x73\x91\x44\x55\xcf\xbd\x50\xdd\x2c\x3d\x5a\xbc\x1a\xd8\x5e\x3c\xdf\x10\xdd\xd2\x63\x88\x0f\xc0";
unsigned char gost_y[] =
- "\x8a\xec\x96\x3c\x0b\xc8\x33\xff\x57\x5f\x66\x78\x94\x39\xb4\xf5\x24\xc6\xba\x86\x41\xac\x43\x21\x6f\x3c\xb0\xfa\x56\xbd\x5b\x37";
+ "\x8a\xec\x96\x3c\x0b\xc8\x33\xff\x57\x5f\x66\x78\x94\x39\xb4\xf5\x24\xc6\xba\x86\x41\xac\x43\x21\x6f\x3c\xb0\xfa\x56\xbd\x5b\x37";
unsigned char gost_k[] =
- "\x47\x59\x41\x2c\x8a\xf8\x58\x1a\x67\xe0\xc3\x82\x1f\xca\x31\x19\x66\xf9\xd8\x43\xcd\x2f\x78\x23\x34\x98\x90\xb8\x14\x2e\x7f\xa5";
+ "\x47\x59\x41\x2c\x8a\xf8\x58\x1a\x67\xe0\xc3\x82\x1f\xca\x31\x19\x66\xf9\xd8\x43\xcd\x2f\x78\x23\x34\x98\x90\xb8\x14\x2e\x7f\xa5";
gnutls_datum_t _dsa_p = { dsa_p, sizeof(dsa_p) - 1 };
gnutls_datum_t _dsa_q = { dsa_q, sizeof(dsa_q) - 1 };
@@ -131,8 +129,8 @@ gnutls_datum_t _ecc_x = { ecc_x, sizeof(ecc_x) - 1 };
gnutls_datum_t _ecc_y = { ecc_y, sizeof(ecc_y) - 1 };
gnutls_datum_t _ecc_k = { ecc_k, sizeof(ecc_k) - 1 };
-gnutls_datum_t _false_ed25519_x =
- { false_ed25519_x, sizeof(false_ed25519_x) - 1 };
+gnutls_datum_t _false_ed25519_x = { false_ed25519_x,
+ sizeof(false_ed25519_x) - 1 };
gnutls_datum_t _ed25519_x = { ed25519_x, sizeof(ed25519_x) - 1 };
gnutls_datum_t _ed25519_k = { ed25519_k, sizeof(ed25519_k) - 1 };
@@ -142,12 +140,12 @@ gnutls_datum_t _gost_k = { gost_k, sizeof(gost_k) - 1 };
unsigned char ecc_params[] = "\x06\x08\x2a\x86\x48\xce\x3d\x03\x01\x07";
unsigned char ecc_point[] =
- "\x04\x41\x04\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
+ "\x04\x41\x04\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
static int _gnutls_privkey_export2_pkcs8(gnutls_privkey_t key,
gnutls_x509_crt_fmt_t f,
const char *password, unsigned flags,
- gnutls_datum_t * out)
+ gnutls_datum_t *out)
{
gnutls_x509_privkey_t xkey;
int ret;
@@ -164,8 +162,8 @@ static int _gnutls_privkey_export2_pkcs8(gnutls_privkey_t key,
return ret;
}
-#define CMP(name, dat, v) cmp(name, __LINE__, dat, v, sizeof(v)-1)
-static int cmp(const char *name, int line, gnutls_datum_t * v1,
+#define CMP(name, dat, v) cmp(name, __LINE__, dat, v, sizeof(v) - 1)
+static int cmp(const char *name, int line, gnutls_datum_t *v1,
unsigned char *v2, unsigned size)
{
if (size != v1->size) {
@@ -185,8 +183,8 @@ static int cmp(const char *name, int line, gnutls_datum_t * v1,
}
/* leading zero on v2 is ignored */
-#define CMP_NO_LZ(name, dat, v) cmp_no_lz(name, __LINE__, dat, v, sizeof(v)-1)
-static int cmp_no_lz(const char *name, int line, gnutls_datum_t * v1,
+#define CMP_NO_LZ(name, dat, v) cmp_no_lz(name, __LINE__, dat, v, sizeof(v) - 1)
+static int cmp_no_lz(const char *name, int line, gnutls_datum_t *v1,
unsigned char *i2, unsigned size)
{
gnutls_datum_t v2;
@@ -214,8 +212,7 @@ static int cmp_no_lz(const char *name, int line, gnutls_datum_t * v1,
return 0;
}
-static
-int check_x509_privkey(void)
+static int check_x509_privkey(void)
{
gnutls_x509_privkey_t key;
gnutls_datum_t p, q, g, y, x;
@@ -258,9 +255,8 @@ int check_x509_privkey(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u,
- &e1, &e2);
+ ret = gnutls_x509_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u,
+ &e1, &e2);
if (ret < 0)
fail("error\n");
@@ -287,9 +283,8 @@ int check_x509_privkey(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_x509_privkey_import(key, &server_ecc_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &server_ecc_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("error\n");
@@ -312,19 +307,15 @@ int check_x509_privkey(void)
return 0;
}
-static
-int check_privkey_import_export(void)
+static int check_privkey_import_export(void)
{
static const struct rsa_privkey_opt_args {
gnutls_datum_t *_u, *_e1, *_e2;
} rsa_opt_args[] = {
- {NULL, NULL, NULL},
- {NULL, &_rsa_e1, &_rsa_e2},
- {NULL, &_rsa_e1, NULL},
- {NULL, NULL, &_rsa_e2},
- {&_rsa_u, NULL, NULL},
- {&_rsa_u, &_rsa_e1, NULL},
- {&_rsa_u, NULL, &_rsa_e2},
+ { NULL, NULL, NULL }, { NULL, &_rsa_e1, &_rsa_e2 },
+ { NULL, &_rsa_e1, NULL }, { NULL, NULL, &_rsa_e2 },
+ { &_rsa_u, NULL, NULL }, { &_rsa_u, &_rsa_e1, NULL },
+ { &_rsa_u, NULL, &_rsa_e2 },
};
gnutls_privkey_t key;
gnutls_datum_t p, q, g, y, x;
@@ -343,9 +334,8 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
- &_dsa_y, &_dsa_x);
+ ret = gnutls_privkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
+ &_dsa_y, &_dsa_x);
if (ret < 0)
fail("error\n");
@@ -364,9 +354,8 @@ int check_privkey_import_export(void)
gnutls_free(y.data);
gnutls_free(x.data);
- ret =
- gnutls_privkey_export_dsa_raw2(key, &p, &q, &g, &y, &x,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_privkey_export_dsa_raw2(key, &p, &q, &g, &y, &x,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
@@ -387,9 +376,8 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g, NULL,
- &_dsa_x);
+ ret = gnutls_privkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
+ NULL, &_dsa_x);
if (ret < 0)
fail("error\n");
@@ -417,12 +405,11 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e,
- &_rsa_d, &_rsa_p, &_rsa_q,
- rsa_opt_args[i]._u,
- rsa_opt_args[i]._e1,
- rsa_opt_args[i]._e2);
+ ret = gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e,
+ &_rsa_d, &_rsa_p, &_rsa_q,
+ rsa_opt_args[i]._u,
+ rsa_opt_args[i]._e1,
+ rsa_opt_args[i]._e2);
if (ret < 0)
fail("error\n");
@@ -434,15 +421,13 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e, NULL, &_rsa_p,
- &_rsa_q, NULL, NULL, NULL);
+ ret = gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e, NULL,
+ &_rsa_p, &_rsa_q, NULL, NULL, NULL);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1,
- &e2, 0);
+ ret = gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1,
+ &e2, 0);
if (ret < 0)
fail("error\n");
@@ -470,16 +455,14 @@ int check_privkey_import_export(void)
fail("error\n");
/* Import/export */
- ret =
- gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e, &_rsa_d,
- &_rsa_p, &_rsa_q, &_rsa_u, &_rsa_e1,
- &_rsa_e2);
+ ret = gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e, &_rsa_d,
+ &_rsa_p, &_rsa_q, &_rsa_u, &_rsa_e1,
+ &_rsa_e2);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1,
- &e2, 0);
+ ret = gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1,
+ &e2, 0);
if (ret < 0)
fail("error\n");
@@ -500,9 +483,8 @@ int check_privkey_import_export(void)
gnutls_free(e1.data);
gnutls_free(e2.data);
- ret =
- gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1,
- &e2, GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1,
+ &e2, GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -529,9 +511,8 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_SECP256R1,
- &_ecc_x, &_ecc_y, &_ecc_k);
+ ret = gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_SECP256R1,
+ &_ecc_x, &_ecc_y, &_ecc_k);
if (ret < 0)
fail("error\n");
@@ -550,9 +531,8 @@ int check_privkey_import_export(void)
gnutls_free(y.data);
gnutls_free(p.data);
- ret =
- gnutls_privkey_export_ecc_raw2(key, &curve, &x, &y, &p,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_privkey_export_ecc_raw2(key, &curve, &x, &y, &p,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -574,15 +554,13 @@ int check_privkey_import_export(void)
fail("error\n");
/* test whether an invalid size would fail */
- ret =
- gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
- &_rsa_m, NULL, &_rsa_m);
+ ret = gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
+ &_rsa_m, NULL, &_rsa_m);
if (ret != GNUTLS_E_INVALID_REQUEST)
fail("error\n");
- ret =
- gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
- &_ed25519_x, NULL, &_ed25519_k);
+ ret = gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
+ &_ed25519_x, NULL, &_ed25519_k);
if (ret < 0)
fail("error\n");
@@ -608,9 +586,9 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
- &_false_ed25519_x, NULL, &_ed25519_k);
+ ret = gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
+ &_false_ed25519_x, NULL,
+ &_ed25519_k);
if (ret < 0)
fail("error\n");
@@ -626,17 +604,15 @@ int check_privkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_gost_raw(key, GNUTLS_ECC_CURVE_GOST256CPXA,
- GNUTLS_DIG_GOSTR_94,
- GNUTLS_GOST_PARAMSET_CP_A, &_gost_x,
- &_gost_y, &_gost_k);
+ ret = gnutls_privkey_import_gost_raw(key, GNUTLS_ECC_CURVE_GOST256CPXA,
+ GNUTLS_DIG_GOSTR_94,
+ GNUTLS_GOST_PARAMSET_CP_A,
+ &_gost_x, &_gost_y, &_gost_k);
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_export_gost_raw2(key, &curve, &digest, &paramset, &x,
- &y, &p, 0);
+ ret = gnutls_privkey_export_gost_raw2(key, &curve, &digest, &paramset,
+ &x, &y, &p, 0);
if (ret < 0)
fail("error\n");
@@ -660,9 +636,9 @@ int check_privkey_import_export(void)
gnutls_free(y.data);
gnutls_free(p.data);
- ret =
- gnutls_privkey_export_gost_raw2(key, &curve, &digest, &paramset, &x,
- &y, &p, GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_privkey_export_gost_raw2(key, &curve, &digest, &paramset,
+ &x, &y, &p,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -691,8 +667,7 @@ int check_privkey_import_export(void)
return 0;
}
-static
-int check_dsa(void)
+static int check_dsa(void)
{
gnutls_privkey_t key;
gnutls_pubkey_t pub;
@@ -711,9 +686,8 @@ int check_dsa(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_x509_raw(key, &dsa_key, GNUTLS_X509_FMT_PEM,
- 0, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &dsa_key, GNUTLS_X509_FMT_PEM,
+ 0, 0);
if (ret < 0)
fail("error\n");
@@ -734,9 +708,8 @@ int check_dsa(void)
gnutls_free(g.data);
gnutls_free(y.data);
- ret =
- gnutls_pubkey_export_dsa_raw2(pub, &p, &q, &g, &y,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_dsa_raw2(pub, &p, &q, &g, &y,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -763,9 +736,8 @@ int check_dsa(void)
gnutls_free(y.data);
gnutls_free(x.data);
- ret =
- _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &x);
+ ret = _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
+ &x);
if (ret < 0 || x.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(x.data);
@@ -776,8 +748,7 @@ int check_dsa(void)
return 0;
}
-static
-int check_rsa(void)
+static int check_rsa(void)
{
gnutls_privkey_t key;
gnutls_pubkey_t pub;
@@ -795,9 +766,8 @@ int check_rsa(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_x509_raw(key, &rsa_key, GNUTLS_X509_FMT_PEM,
- 0, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &rsa_key, GNUTLS_X509_FMT_PEM,
+ 0, 0);
if (ret < 0)
fail("error\n");
@@ -814,9 +784,8 @@ int check_rsa(void)
gnutls_free(m.data);
gnutls_free(e.data);
- ret =
- gnutls_pubkey_export_rsa_raw2(pub, &m, &e,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_rsa_raw2(pub, &m, &e,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -825,9 +794,8 @@ int check_rsa(void)
gnutls_free(m.data);
gnutls_free(e.data);
- ret =
- gnutls_privkey_export_rsa_raw(key, &m, &e, &d, &p, &q, &u, &e1,
- &e2);
+ ret = gnutls_privkey_export_rsa_raw(key, &m, &e, &d, &p, &q, &u, &e1,
+ &e2);
if (ret < 0)
fail("error\n");
@@ -848,9 +816,8 @@ int check_rsa(void)
gnutls_free(e1.data);
gnutls_free(e2.data);
- ret =
- _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &m);
+ ret = _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
+ &m);
if (ret < 0 || m.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(m.data);
@@ -861,8 +828,7 @@ int check_rsa(void)
return 0;
}
-static
-int check_ecc(void)
+static int check_ecc(void)
{
gnutls_privkey_t key;
gnutls_pubkey_t pub;
@@ -881,9 +847,8 @@ int check_ecc(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ecc_key,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ecc_key,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 0)
fail("error\n");
@@ -904,9 +869,8 @@ int check_ecc(void)
gnutls_free(x.data);
gnutls_free(y.data);
- ret =
- gnutls_pubkey_export_ecc_raw2(pub, &curve, &x, &y,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_ecc_raw2(pub, &curve, &x, &y,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -935,9 +899,8 @@ int check_ecc(void)
gnutls_free(y.data);
gnutls_free(k.data);
- ret =
- _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &x);
+ ret = _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
+ &x);
if (ret < 0 || x.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(x.data);
@@ -978,8 +941,7 @@ int check_ecc(void)
return 0;
}
-static
-int check_ed25519(void)
+static int check_ed25519(void)
{
gnutls_privkey_t key;
gnutls_pubkey_t pub;
@@ -998,9 +960,8 @@ int check_ed25519(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ca3_eddsa_key,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ca3_eddsa_key,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 0)
fail("error\n");
@@ -1050,9 +1011,8 @@ int check_ed25519(void)
fail("expected NULL value in Y\n");
}
- ret =
- _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &x);
+ ret = _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
+ &x);
if (ret < 0 || x.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(x.data);
@@ -1070,8 +1030,7 @@ int check_ed25519(void)
return 0;
}
-static
-int check_gost(void)
+static int check_gost(void)
{
#ifdef ENABLE_GOST
gnutls_privkey_t key;
@@ -1093,9 +1052,8 @@ int check_gost(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ca3_gost01_key,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ca3_gost01_key,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 0)
fail("error\n");
@@ -1103,9 +1061,8 @@ int check_gost(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_pubkey_export_gost_raw2(pub, &curve, &digest, &paramset, &x,
- &y, 0);
+ ret = gnutls_pubkey_export_gost_raw2(pub, &curve, &digest, &paramset,
+ &x, &y, 0);
if (ret < 0)
fail("error\n");
@@ -1127,9 +1084,8 @@ int check_gost(void)
gnutls_free(x.data);
gnutls_free(y.data);
- ret =
- gnutls_pubkey_export_gost_raw2(pub, &curve, &digest, &paramset, &x,
- &y, GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_gost_raw2(pub, &curve, &digest, &paramset,
+ &x, &y, GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -1152,9 +1108,8 @@ int check_gost(void)
gnutls_free(y.data);
/* check the private key export */
- ret =
- gnutls_privkey_export_gost_raw2(key, &curve, &digest, &paramset, &x,
- &y, &k, 0);
+ ret = gnutls_privkey_export_gost_raw2(key, &curve, &digest, &paramset,
+ &x, &y, &k, 0);
if (ret < 0)
fail("error\n");
@@ -1178,9 +1133,8 @@ int check_gost(void)
gnutls_free(y.data);
gnutls_free(k.data);
- ret =
- _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
- &x);
+ ret = _gnutls_privkey_export2_pkcs8(key, GNUTLS_X509_FMT_DER, NULL, 0,
+ &x);
if (ret < 0 || x.size == 0)
fail("error in pkcs8 export\n");
gnutls_free(x.data);
diff --git a/tests/key-material-dtls.c b/tests/key-material-dtls.c
index 32ea05a913..fb8332255e 100644
--- a/tests/key-material-dtls.c
+++ b/tests/key-material-dtls.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,17 +34,17 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -68,7 +68,7 @@ static pid_t child;
/* A very basic DTLS client, with anonymous authentication, that negotiates SRTP
*/
-static void dump(const char *name, uint8_t * data, unsigned data_size)
+static void dump(const char *name, uint8_t *data, unsigned data_size)
{
unsigned i;
@@ -118,9 +118,10 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM);
/* Use default priorities */
- ret = gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-DH:+ANON-ECDH:+CURVE-ALL",
- &err);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-DH:+ANON-ECDH:+CURVE-ALL",
+ &err);
if (ret < 0) {
fail("client: priority set failed (%s): %s\n",
gnutls_strerror(ret), err);
@@ -137,8 +138,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
@@ -150,8 +150,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
@@ -182,9 +182,8 @@ static void client(int fd)
p = key_material;
/* check whether the key material matches our calculations */
- ret =
- gnutls_record_get_state(session, 0, &mac_key, &iv, &cipher_key,
- wseq_number);
+ ret = gnutls_record_get_state(session, 0, &mac_key, &iv, &cipher_key,
+ wseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -197,9 +196,8 @@ static void client(int fd)
exit(1);
}
- ret =
- gnutls_record_get_state(session, 1, &read_mac_key, &read_iv,
- &read_cipher_key, rseq_number);
+ ret = gnutls_record_get_state(session, 1, &read_mac_key, &read_iv,
+ &read_cipher_key, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -212,8 +210,8 @@ static void client(int fd)
exit(1);
}
- if (hash_size != mac_key.size
- || memcmp(p, mac_key.data, hash_size) != 0) {
+ if (hash_size != mac_key.size ||
+ memcmp(p, mac_key.data, hash_size) != 0) {
dump("MAC:", mac_key.data, mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
@@ -221,8 +219,8 @@ static void client(int fd)
}
p += hash_size;
- if (hash_size != read_mac_key.size
- || memcmp(p, read_mac_key.data, hash_size) != 0) {
+ if (hash_size != read_mac_key.size ||
+ memcmp(p, read_mac_key.data, hash_size) != 0) {
dump("MAC:", read_mac_key.data, read_mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
@@ -230,15 +228,15 @@ static void client(int fd)
}
p += hash_size;
- if (key_size != cipher_key.size
- || memcmp(p, cipher_key.data, key_size) != 0) {
+ if (key_size != cipher_key.size ||
+ memcmp(p, cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
exit(1);
}
p += key_size;
- if (key_size != read_cipher_key.size
- || memcmp(p, read_cipher_key.data, key_size) != 0) {
+ if (key_size != read_cipher_key.size ||
+ memcmp(p, read_cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
exit(1);
}
@@ -253,8 +251,8 @@ static void client(int fd)
}
memset(wseq_number, 0xAA, sizeof(wseq_number));
- ret =
- gnutls_record_get_state(session, 0, NULL, NULL, NULL, wseq_number);
+ ret = gnutls_record_get_state(session, 0, NULL, NULL, NULL,
+ wseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -268,8 +266,8 @@ static void client(int fd)
}
memset(rseq_number, 0xAA, sizeof(rseq_number));
- ret =
- gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number);
+ ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL,
+ rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -320,9 +318,8 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:+VERS-DTLS1.0:+ANON-DH:+ANON-ECDH",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:+VERS-DTLS1.0:+ANON-DH:+ANON-ECDH", NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
@@ -335,8 +332,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -349,13 +345,13 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buf, sizeof(buf));
- } while (ret > 0 || ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret > 0 || ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fail("error: %s\n", gnutls_strerror(ret));
@@ -414,4 +410,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/key-material-set-dtls.c b/tests/key-material-set-dtls.c
index b6bafbf816..058fed5481 100644
--- a/tests/key-material-set-dtls.c
+++ b/tests/key-material-set-dtls.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,18 +34,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -104,9 +104,10 @@ static void client(int fd)
gnutls_record_set_timeout(session, 10000);
/* Use default priorities */
- ret = gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-DH:+ANON-ECDH:+CURVE-ALL",
- &err);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-DH:+ANON-ECDH:+CURVE-ALL",
+ &err);
if (ret < 0) {
fail("client: priority set failed (%s): %s\n",
gnutls_strerror(ret), err);
@@ -123,8 +124,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
@@ -136,8 +136,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
@@ -154,16 +154,16 @@ static void client(int fd)
}
/* save state */
- ret =
- gnutls_record_get_state(session, 0, NULL, NULL, NULL, wseq_number);
+ ret = gnutls_record_get_state(session, 0, NULL, NULL, NULL,
+ wseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
exit(1);
}
- ret =
- gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number);
+ ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL,
+ rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -258,9 +258,8 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:+VERS-DTLS1.0:+ANON-DH:+ANON-ECDH",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:+VERS-DTLS1.0:+ANON-DH:+ANON-ECDH", NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
@@ -273,8 +272,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -287,18 +285,18 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* save state */
- ret =
- gnutls_record_get_state(session, 0, NULL, NULL, NULL, wseq_number);
+ ret = gnutls_record_get_state(session, 0, NULL, NULL, NULL,
+ wseq_number);
if (ret < 0) {
fail("error in %d\n", __LINE__);
}
- ret =
- gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number);
+ ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL,
+ rseq_number);
if (ret < 0) {
fail("error in %d\n", __LINE__);
}
@@ -396,4 +394,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/key-openssl.c b/tests/key-openssl.c
index 2120a7d456..5e51b91dbd 100644
--- a/tests/key-openssl.c
+++ b/tests/key-openssl.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -38,87 +38,87 @@ static void tls_log_func(int level, const char *str)
}
static char plain_key[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
- "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
- "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
- "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
- "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
- "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
- "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
- "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
- "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
- "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
- "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
- "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
- "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
- "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
- "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
- "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
- "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
- "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
- "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
- "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
- "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
- "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
- "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
- "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
- "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
+ "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
+ "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
+ "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
+ "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
+ "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
+ "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
+ "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
+ "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
+ "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
+ "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
+ "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
+ "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
+ "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
+ "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
+ "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
+ "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
+ "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
+ "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
+ "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
+ "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
+ "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
+ "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
+ "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
+ "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const char key1[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "Proc-Type: 4,ENCRYPTED\n"
- "DEK-Info: DES-EDE3-CBC,82B2F7684A1713F8\n"
- "\n"
- "1zzOuu89dfFc2UkFCtSJBsBeEFxV8wE84OSxoWu4aYkPhl1LR08BchaTbjeLTP0b\n"
- "t961vVpva0ekJkwGDEgmqlGjmhJq9y2sJfq7IeYa8OdTilfGrG1xeJ1QGBi6SCfR\n"
- "s/PhkMxwGBtrZ2Z7bEcLT5dQKmKRqsthnClQggmngvk7zX7bPk0hKQKvf+FDxt6x\n"
- "hzEaF3k9juU6vAVVSakrZ4QDqk9MUuTGHx0ksTDcC4EESS0l3Ybuum/rAzR4lQKR\n"
- "4OLmAeYBDl+l/PSMllfd5x/z1YXYoiAbkpT4ix0lyZJgHrvrYIeUtJk2ODiMHezL\n"
- "9BbK7EobtOGmrDLUNVX5BpdaExkWMGkioqzs2QqD/VkKu8RcNSsHVGqkdWKuhzXo\n"
- "wcczQ+RiHckN2uy/zApubEWZNLPeDQ499kaF+QdZ+h4RM6E1r1Gu+A==\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "Proc-Type: 4,ENCRYPTED\n"
+ "DEK-Info: DES-EDE3-CBC,82B2F7684A1713F8\n"
+ "\n"
+ "1zzOuu89dfFc2UkFCtSJBsBeEFxV8wE84OSxoWu4aYkPhl1LR08BchaTbjeLTP0b\n"
+ "t961vVpva0ekJkwGDEgmqlGjmhJq9y2sJfq7IeYa8OdTilfGrG1xeJ1QGBi6SCfR\n"
+ "s/PhkMxwGBtrZ2Z7bEcLT5dQKmKRqsthnClQggmngvk7zX7bPk0hKQKvf+FDxt6x\n"
+ "hzEaF3k9juU6vAVVSakrZ4QDqk9MUuTGHx0ksTDcC4EESS0l3Ybuum/rAzR4lQKR\n"
+ "4OLmAeYBDl+l/PSMllfd5x/z1YXYoiAbkpT4ix0lyZJgHrvrYIeUtJk2ODiMHezL\n"
+ "9BbK7EobtOGmrDLUNVX5BpdaExkWMGkioqzs2QqD/VkKu8RcNSsHVGqkdWKuhzXo\n"
+ "wcczQ+RiHckN2uy/zApubEWZNLPeDQ499kaF+QdZ+h4RM6E1r1Gu+A==\n"
+ "-----END RSA PRIVATE KEY-----\n";
const char key2[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "Proc-Type: 4,ENCRYPTED\n"
- "DEK-Info: AES-128-CBC,2A57FF97B701B3F760145D7446929481\n"
- "\n"
- "mGAPhSw48wZBnkHOhfMDg8yL2IBgMuTmeKE4xoHi7T6isHBNfkqMd0iJ+DJP/OKb\n"
- "t+7lkKjj/xQ7w/bOBvBxlfRe4MW6+ejCdAFD9XSolW6WN6CEJPMI4UtmOK5inqcC\n"
- "8l2l54f/VGrVN9uavU3KlXCjrd3Jp9B0Mu4Zh/UU4+EWs9rJAZfLIn+vHZ3OHetx\n"
- "g74LdV7nC7lt/fjxc1caNIfgHs40dUt9FVrnJvAtkcNMtcjX/D+L8ZrLgQzIWFcs\n"
- "WAbUZj7Me22mCli3RPET7Je37K59IzfWgbWFCGaNu3X02g5xtCfdcn/Uqy9eofH0\n"
- "YjKRhpgXPeGJCkoRqDeUHQNPpVP5HrzDZMVK3E4DC03C8qvgsYvuwYt3KkbG2fuA\n"
- "F3bDyqlxSOm7uxF/K3YzI44v8/D8GGnLBTpN+ANBdiY=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "Proc-Type: 4,ENCRYPTED\n"
+ "DEK-Info: AES-128-CBC,2A57FF97B701B3F760145D7446929481\n"
+ "\n"
+ "mGAPhSw48wZBnkHOhfMDg8yL2IBgMuTmeKE4xoHi7T6isHBNfkqMd0iJ+DJP/OKb\n"
+ "t+7lkKjj/xQ7w/bOBvBxlfRe4MW6+ejCdAFD9XSolW6WN6CEJPMI4UtmOK5inqcC\n"
+ "8l2l54f/VGrVN9uavU3KlXCjrd3Jp9B0Mu4Zh/UU4+EWs9rJAZfLIn+vHZ3OHetx\n"
+ "g74LdV7nC7lt/fjxc1caNIfgHs40dUt9FVrnJvAtkcNMtcjX/D+L8ZrLgQzIWFcs\n"
+ "WAbUZj7Me22mCli3RPET7Je37K59IzfWgbWFCGaNu3X02g5xtCfdcn/Uqy9eofH0\n"
+ "YjKRhpgXPeGJCkoRqDeUHQNPpVP5HrzDZMVK3E4DC03C8qvgsYvuwYt3KkbG2fuA\n"
+ "F3bDyqlxSOm7uxF/K3YzI44v8/D8GGnLBTpN+ANBdiY=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const char key_lowercase_iv[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "Proc-Type: 4,ENCRYPTED\n"
- "DEK-Info: AES-256-CBC,c1967f64f92d5c4ef302537b7b50b98f\n"
- "\n"
- "iRHj/BbuyHodcEt/cPduzhxOUCwe+o77j7DOepAb7rasr7uRDjFcB2DeB4yvog5q\n"
- "M46pB5NVqegJCTcFht/90OKXprt2m04ntsCEXXfJ/NQIYP3NsLM+aNiWUL1cxPiZ\n"
- "6fWp6uaR165F+T5vBRmo6dS3wowHeiHZMiSGuM6CbW+AO5R31og9cUuP2e02GPbq\n"
- "ZCGyU8RnA6c1caCql/T/5WOIjyaFpJhigBnQc6EoVi3C6XULBQ1Ut9A8gw3gVWda\n"
- "NBF8sHfwXyKuPhWLZwOM7ZewIOvnesezwW7Tpf2LfMBIe1YQixdsBgM1RvhEN2bl\n"
- "mYR1L1zfr94z/fWDztq1MYtCBPUJcgrjNLb80xv1qq5hZorTM9gjAeLfT4x9I6/m\n"
- "57ohSPIR3bXgRZuefjxBhQYthUPcZ+qktrbURcvHNLs=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "Proc-Type: 4,ENCRYPTED\n"
+ "DEK-Info: AES-256-CBC,c1967f64f92d5c4ef302537b7b50b98f\n"
+ "\n"
+ "iRHj/BbuyHodcEt/cPduzhxOUCwe+o77j7DOepAb7rasr7uRDjFcB2DeB4yvog5q\n"
+ "M46pB5NVqegJCTcFht/90OKXprt2m04ntsCEXXfJ/NQIYP3NsLM+aNiWUL1cxPiZ\n"
+ "6fWp6uaR165F+T5vBRmo6dS3wowHeiHZMiSGuM6CbW+AO5R31og9cUuP2e02GPbq\n"
+ "ZCGyU8RnA6c1caCql/T/5WOIjyaFpJhigBnQc6EoVi3C6XULBQ1Ut9A8gw3gVWda\n"
+ "NBF8sHfwXyKuPhWLZwOM7ZewIOvnesezwW7Tpf2LfMBIe1YQixdsBgM1RvhEN2bl\n"
+ "mYR1L1zfr94z/fWDztq1MYtCBPUJcgrjNLb80xv1qq5hZorTM9gjAeLfT4x9I6/m\n"
+ "57ohSPIR3bXgRZuefjxBhQYthUPcZ+qktrbURcvHNLs=\n"
+ "-----END RSA PRIVATE KEY-----\n";
static int good_pwd_cb(void *userdata, int attempt, const char *token_url,
- const char *token_label, unsigned int flags,
- char *pin, size_t pin_max)
+ const char *token_label, unsigned int flags, char *pin,
+ size_t pin_max)
{
snprintf(pin, pin_max, "%s", "123456");
return 0;
}
static int bad_pwd_cb(void *userdata, int attempt, const char *token_url,
- const char *token_label, unsigned int flags,
- char *pin, size_t pin_max)
+ const char *token_label, unsigned int flags, char *pin,
+ size_t pin_max)
{
snprintf(pin, pin_max, "%s", "bad");
return 0;
@@ -174,9 +174,8 @@ void doit(void)
key.data = (void *)key1;
key.size = sizeof(key1);
- ret =
- gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
- "123456", 0);
+ ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
+ "123456", 0);
if (ret < 0) {
fail("gnutls_x509_privkey_import2: %s\n", gnutls_strerror(ret));
}
@@ -189,9 +188,8 @@ void doit(void)
key.data = (void *)plain_key;
key.size = sizeof(plain_key);
- ret =
- gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
- "123456", 0);
+ ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
+ "123456", 0);
if (ret < 0) {
fail("gnutls_x509_privkey_import2: %s\n", gnutls_strerror(ret));
}
@@ -204,8 +202,8 @@ void doit(void)
key.data = (void *)key1;
key.size = sizeof(key1);
- ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
- NULL, 0);
+ ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM, NULL,
+ 0);
if (ret != GNUTLS_E_DECRYPTION_FAILED) {
fail("gnutls_x509_privkey_import2 (expect decrypt fail): %s\n",
gnutls_strerror(ret));
@@ -219,9 +217,8 @@ void doit(void)
key.data = (void *)key_lowercase_iv;
key.size = sizeof(key_lowercase_iv);
- ret =
- gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
- "123456", 0);
+ ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
+ "123456", 0);
if (ret < 0) {
fail("gnutls_x509_privkey_import2: %s\n", gnutls_strerror(ret));
}
@@ -260,8 +257,8 @@ void doit(void)
gnutls_x509_privkey_set_pin_function(pkey, good_pwd_cb, NULL);
key.data = (void *)key1;
key.size = sizeof(key1);
- ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
- NULL, 0);
+ ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM, NULL,
+ 0);
if (ret < 0) {
fail("gnutls_x509_privkey_import2 (good pin): %s\n",
gnutls_strerror(ret));
@@ -276,8 +273,8 @@ void doit(void)
gnutls_x509_privkey_set_pin_function(pkey, bad_pwd_cb, NULL);
key.data = (void *)key1;
key.size = sizeof(key1);
- ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM,
- NULL, 0);
+ ret = gnutls_x509_privkey_import2(pkey, &key, GNUTLS_X509_FMT_PEM, NULL,
+ 0);
if (ret != GNUTLS_E_DECRYPTION_FAILED) {
fail("gnutls_x509_privkey_import2 (bad pin): %s\n",
gnutls_strerror(ret));
diff --git a/tests/key-usage-ecdhe-rsa.c b/tests/key-usage-ecdhe-rsa.c
index bb43b6abcd..140dd7bb30 100644
--- a/tests/key-usage-ecdhe-rsa.c
+++ b/tests/key-usage-ecdhe-rsa.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,66 +45,64 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char encryption_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDoTCCAgmgAwIBAgIIWD7Wvx22i+gwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEQ0EtMzAgFw0xNjExMzAxMzQwMTZaGA85OTk5MTIzMTIzNTk1OVowADCCASIw\n"
- "DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM3XiAz9NK/9K4mciW5cioUfOrH8\n"
- "W5QlnzgODc5O9vKypx+2Y42BmVArdTNox9ypyQHs4Tf1RVs8MkKLLRPVPvFTTwsB\n"
- "sYYR0WwtjLaUAG6uEQOkQ1tKnkPveR+7Yaz/WurUTFH/6tt9PLkjUa2MFClJfQyA\n"
- "+Ip0DOChfZVWDmKEsGxf0+HDrUwI6Yrue6Xjq4MtQ644vxYuIZrEU53bExNrZ7y9\n"
- "fvwsYa86eNBO3lEierVnusFqvngsXzuhHMTh7Dd1kdewWnNX9cFyXFPU1oxpEqgD\n"
- "9b/WOELpt4/Vyi6GAKthroTADOrgqIS4yVv/IwTE+I75820inSJBXwpVi9sCAwEA\n"
- "AaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNV\n"
- "HSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDByAAMB0GA1UdDgQWBBThAci6\n"
- "ST9MfTP8KV4xkB0p2hgsyjAfBgNVHSMEGDAWgBT5qIYZY7akFBNgdg8BmjU27/G0\n"
- "rzANBgkqhkiG9w0BAQsFAAOCAYEAQSaXhGYE0VvpFidR+txfhRXZhoIyO6bCxrOE\n"
- "WFTdglZ3XE9/avlONa18hAVmMqBXJFKiTIMou2qQu7dJ80dMphQPFSOgVTwNP5yD\n"
- "MM0iJHSlcBweukA3+Jfo3lbGSYOGh3D157XwPQ5+dKFSgzFWdQApDAZ2Y5wg1mlD\n"
- "riapOliMXEBHuKaBEAGYHLNQEUoutc/8lpv7FrE8YPp2J5f/kBlL21ygHNCNbRQZ\n"
- "XTTajRgY5dg0R7CPM1wkyk/K1Lke2BgteF4FWlKTzh3b42swWJAlW9oDcqA8xRHu\n"
- "cvU+7PKs3SpXky6dGC+rgWMfV99z00gNICdZJrqTRTd6JvMa+Q8QCChHtyE40LWe\n"
- "MXFfeQW2kWD+q2CUAiY5K/fk4p74w4TtHuln3/+IZd+fwMfq9eD9524n+61AoTvm\n"
- "FM9vezUEwybmHVTx+390aiY2SaAxl4BCopauOgpBTnj8Rcd5dMO3qEW4+QaXKMlU\n"
- "wIEPoaEfCDQ/XXy0bM5zFUFWgTNX\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDoTCCAgmgAwIBAgIIWD7Wvx22i+gwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEQ0EtMzAgFw0xNjExMzAxMzQwMTZaGA85OTk5MTIzMTIzNTk1OVowADCCASIw\n"
+ "DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM3XiAz9NK/9K4mciW5cioUfOrH8\n"
+ "W5QlnzgODc5O9vKypx+2Y42BmVArdTNox9ypyQHs4Tf1RVs8MkKLLRPVPvFTTwsB\n"
+ "sYYR0WwtjLaUAG6uEQOkQ1tKnkPveR+7Yaz/WurUTFH/6tt9PLkjUa2MFClJfQyA\n"
+ "+Ip0DOChfZVWDmKEsGxf0+HDrUwI6Yrue6Xjq4MtQ644vxYuIZrEU53bExNrZ7y9\n"
+ "fvwsYa86eNBO3lEierVnusFqvngsXzuhHMTh7Dd1kdewWnNX9cFyXFPU1oxpEqgD\n"
+ "9b/WOELpt4/Vyi6GAKthroTADOrgqIS4yVv/IwTE+I75820inSJBXwpVi9sCAwEA\n"
+ "AaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDATBgNV\n"
+ "HSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDByAAMB0GA1UdDgQWBBThAci6\n"
+ "ST9MfTP8KV4xkB0p2hgsyjAfBgNVHSMEGDAWgBT5qIYZY7akFBNgdg8BmjU27/G0\n"
+ "rzANBgkqhkiG9w0BAQsFAAOCAYEAQSaXhGYE0VvpFidR+txfhRXZhoIyO6bCxrOE\n"
+ "WFTdglZ3XE9/avlONa18hAVmMqBXJFKiTIMou2qQu7dJ80dMphQPFSOgVTwNP5yD\n"
+ "MM0iJHSlcBweukA3+Jfo3lbGSYOGh3D157XwPQ5+dKFSgzFWdQApDAZ2Y5wg1mlD\n"
+ "riapOliMXEBHuKaBEAGYHLNQEUoutc/8lpv7FrE8YPp2J5f/kBlL21ygHNCNbRQZ\n"
+ "XTTajRgY5dg0R7CPM1wkyk/K1Lke2BgteF4FWlKTzh3b42swWJAlW9oDcqA8xRHu\n"
+ "cvU+7PKs3SpXky6dGC+rgWMfV99z00gNICdZJrqTRTd6JvMa+Q8QCChHtyE40LWe\n"
+ "MXFfeQW2kWD+q2CUAiY5K/fk4p74w4TtHuln3/+IZd+fwMfq9eD9524n+61AoTvm\n"
+ "FM9vezUEwybmHVTx+390aiY2SaAxl4BCopauOgpBTnj8Rcd5dMO3qEW4+QaXKMlU\n"
+ "wIEPoaEfCDQ/XXy0bM5zFUFWgTNX\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t enc_cert = { encryption_cert_pem,
- sizeof(encryption_cert_pem) - 1
-};
+ sizeof(encryption_cert_pem) - 1 };
static unsigned char encryption_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpgIBAAKCAQEAzdeIDP00r/0riZyJblyKhR86sfxblCWfOA4Nzk728rKnH7Zj\n"
- "jYGZUCt1M2jH3KnJAezhN/VFWzwyQostE9U+8VNPCwGxhhHRbC2MtpQAbq4RA6RD\n"
- "W0qeQ+95H7thrP9a6tRMUf/q2308uSNRrYwUKUl9DID4inQM4KF9lVYOYoSwbF/T\n"
- "4cOtTAjpiu57peOrgy1Drji/Fi4hmsRTndsTE2tnvL1+/Cxhrzp40E7eUSJ6tWe6\n"
- "wWq+eCxfO6EcxOHsN3WR17Bac1f1wXJcU9TWjGkSqAP1v9Y4Qum3j9XKLoYAq2Gu\n"
- "hMAM6uCohLjJW/8jBMT4jvnzbSKdIkFfClWL2wIDAQABAoIBAQC70D11xI6PSUux\n"
- "St/mj49gOYdfoOeaO92T0tbr+AbAmRt+Bve8xJQznwNX/fHmOBCMriss2KEIxtsA\n"
- "9mYR44+Dt8S2QTxOHPHdZ44thMsEMdSaYwWGRYY0bEszFdDgfTnibASbCQusaw+9\n"
- "ySkcVWSL616qyv57rbmWOCMS4CtN3Sk982mtzSdCkJ8tiq6n3C60QPom/zo5TBS5\n"
- "vaJ70NRnj7Zuq9VPwNKOwhkYW9OUZsAmdwLqenmsLfQEnZnu/ielJ10LI8SrQG5x\n"
- "lANdYRD07W5lpwImJCELUqK5X2iw5ii6/4vl/Si/WcL4pRFpuCOCp1B8SDuSkOKS\n"
- "zebU/Z3hAoGBAPvIN/WlSQ+Iy5TNGsnV5B96Xvl8YrXVInJZ7z4MOrPgyvN8mQXX\n"
- "sQ6D01H2tba3mWt0S16lWwBsOll5LDBj5kcvp+4702xUxoOap79wXPS1Ibi+uXlO\n"
- "5c7V3pa7r2nw7YQL+ehYpgBdaVaYdAnHKn0Mo7zMd+yjNnQEfEcDwNFxAoGBANFK\n"
- "S7y327IEms1wdn0hb1r812PKsn464j4xbnfnrAYzE2cttgLSYsRRYNMo++ZS9Y3v\n"
- "3MZGmgOsKRgpbblxhUxNY5pKeHcXKUy1YtaGJVpeQwI8u69Th9tUDS2/yt7Op4/0\n"
- "p5115DTEfmvKzF//PH7GtX5Ox/JoNSHaPcORT0wLAoGBANXYEZ8zCMCG4NG6+hue\n"
- "7KfHmU6wVG43XZBdzhKW9Gy+aeEvXBBYR2saj6q3rVJI0acwGKuEKaxMP6qqfduD\n"
- "nZusYCa47TK/NfOksQCpgGneRYvRgVoEpq5reyfutGd4V2KlgVXTpPn+XG9OAJAl\n"
- "dnLK/25lAx4a6S7UeHEgQO4hAoGBAKyfch6jK3MGd0RxuVl2RWmv2Fw36MdS/B6+\n"
- "GNaPYITwhdV5j4F+U/aHBKzGRhbwYBcFO3zS6N+UlYSXTyhAqOiJgFjXicr4cJkT\n"
- "lwVIOfDyhKSIwWlYJVtTVVdhtQvXOb/z1Hh8r5CSbY+tAqs/U39hmHsosaSQLRrR\n"
- "7lWrOdOHAoGBAIndZqW8HHfUk5Y6ZlbDzz/GRi81nrU3p2Ii1M17PLFyFhKZcPyM\n"
- "kJDhqStyWEQKN7Xig0uxGvGAFYTBsILmoS/XAFnRpfcmNkF7hXRGHuHFRopZuIic\n"
- "gZ9oloj50/wHdTSU/MExRExhC7DUom2DzihUz3a5uqWOK/SnpfNeIJPs\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpgIBAAKCAQEAzdeIDP00r/0riZyJblyKhR86sfxblCWfOA4Nzk728rKnH7Zj\n"
+ "jYGZUCt1M2jH3KnJAezhN/VFWzwyQostE9U+8VNPCwGxhhHRbC2MtpQAbq4RA6RD\n"
+ "W0qeQ+95H7thrP9a6tRMUf/q2308uSNRrYwUKUl9DID4inQM4KF9lVYOYoSwbF/T\n"
+ "4cOtTAjpiu57peOrgy1Drji/Fi4hmsRTndsTE2tnvL1+/Cxhrzp40E7eUSJ6tWe6\n"
+ "wWq+eCxfO6EcxOHsN3WR17Bac1f1wXJcU9TWjGkSqAP1v9Y4Qum3j9XKLoYAq2Gu\n"
+ "hMAM6uCohLjJW/8jBMT4jvnzbSKdIkFfClWL2wIDAQABAoIBAQC70D11xI6PSUux\n"
+ "St/mj49gOYdfoOeaO92T0tbr+AbAmRt+Bve8xJQznwNX/fHmOBCMriss2KEIxtsA\n"
+ "9mYR44+Dt8S2QTxOHPHdZ44thMsEMdSaYwWGRYY0bEszFdDgfTnibASbCQusaw+9\n"
+ "ySkcVWSL616qyv57rbmWOCMS4CtN3Sk982mtzSdCkJ8tiq6n3C60QPom/zo5TBS5\n"
+ "vaJ70NRnj7Zuq9VPwNKOwhkYW9OUZsAmdwLqenmsLfQEnZnu/ielJ10LI8SrQG5x\n"
+ "lANdYRD07W5lpwImJCELUqK5X2iw5ii6/4vl/Si/WcL4pRFpuCOCp1B8SDuSkOKS\n"
+ "zebU/Z3hAoGBAPvIN/WlSQ+Iy5TNGsnV5B96Xvl8YrXVInJZ7z4MOrPgyvN8mQXX\n"
+ "sQ6D01H2tba3mWt0S16lWwBsOll5LDBj5kcvp+4702xUxoOap79wXPS1Ibi+uXlO\n"
+ "5c7V3pa7r2nw7YQL+ehYpgBdaVaYdAnHKn0Mo7zMd+yjNnQEfEcDwNFxAoGBANFK\n"
+ "S7y327IEms1wdn0hb1r812PKsn464j4xbnfnrAYzE2cttgLSYsRRYNMo++ZS9Y3v\n"
+ "3MZGmgOsKRgpbblxhUxNY5pKeHcXKUy1YtaGJVpeQwI8u69Th9tUDS2/yt7Op4/0\n"
+ "p5115DTEfmvKzF//PH7GtX5Ox/JoNSHaPcORT0wLAoGBANXYEZ8zCMCG4NG6+hue\n"
+ "7KfHmU6wVG43XZBdzhKW9Gy+aeEvXBBYR2saj6q3rVJI0acwGKuEKaxMP6qqfduD\n"
+ "nZusYCa47TK/NfOksQCpgGneRYvRgVoEpq5reyfutGd4V2KlgVXTpPn+XG9OAJAl\n"
+ "dnLK/25lAx4a6S7UeHEgQO4hAoGBAKyfch6jK3MGd0RxuVl2RWmv2Fw36MdS/B6+\n"
+ "GNaPYITwhdV5j4F+U/aHBKzGRhbwYBcFO3zS6N+UlYSXTyhAqOiJgFjXicr4cJkT\n"
+ "lwVIOfDyhKSIwWlYJVtTVVdhtQvXOb/z1Hh8r5CSbY+tAqs/U39hmHsosaSQLRrR\n"
+ "7lWrOdOHAoGBAIndZqW8HHfUk5Y6ZlbDzz/GRi81nrU3p2Ii1M17PLFyFhKZcPyM\n"
+ "kJDhqStyWEQKN7Xig0uxGvGAFYTBsILmoS/XAFnRpfcmNkF7hXRGHuHFRopZuIic\n"
+ "gZ9oloj50/wHdTSU/MExRExhC7DUom2DzihUz3a5uqWOK/SnpfNeIJPs\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t enc_key = { encryption_key_pem,
- sizeof(encryption_key_pem) - 1
-};
+ sizeof(encryption_key_pem) - 1 };
-static
-void server_check(void)
+static void server_check(void)
{
int ret;
/* Server stuff. */
@@ -124,15 +122,14 @@ void server_check(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &enc_cert, &enc_key,
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &enc_cert, &enc_key,
GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ server, "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -142,9 +139,8 @@ void server_check(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -157,9 +153,8 @@ void server_check(void)
if (ret < 0)
exit(1);
- gnutls_priority_set_direct(client,
- "NORMAL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ client, "NORMAL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2", NULL);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
@@ -182,12 +177,11 @@ void server_check(void)
static gnutls_privkey_t g_pkey = NULL;
static gnutls_pcert_st *g_pcert = NULL;
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
int ret;
gnutls_pcert_st *p;
@@ -198,9 +192,8 @@ cert_callback(gnutls_session_t session,
if (p == NULL)
return -1;
- ret =
- gnutls_pcert_import_x509_raw(p, &enc_cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_import_x509_raw(p, &enc_cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0)
return -1;
@@ -208,10 +201,8 @@ cert_callback(gnutls_session_t session,
if (ret < 0)
return -1;
- ret =
- gnutls_privkey_import_x509_raw(lkey, &enc_key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ lkey, &enc_key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
return -1;
@@ -229,8 +220,7 @@ cert_callback(gnutls_session_t session,
return 0;
}
-static
-void client_check(void)
+static void client_check(void)
{
int ret;
/* Server stuff. */
@@ -255,9 +245,10 @@ void client_check(void)
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-KX-ALL:+ECDHE-RSA:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NORMAL:-KX-ALL:+ECDHE-RSA:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -267,9 +258,8 @@ void client_check(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -282,9 +272,8 @@ void client_check(void)
if (ret < 0)
exit(1);
- gnutls_priority_set_direct(client,
- "NORMAL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ client, "NORMAL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2", NULL);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
diff --git a/tests/key-usage-rsa.c b/tests/key-usage-rsa.c
index 42fdaa5d70..17c864b9c5 100644
--- a/tests/key-usage-rsa.c
+++ b/tests/key-usage-rsa.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,107 +44,100 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC8zCCAdugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE1MDgxNDA5MzUxMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4O2BYEx/hl7URXhb\n"
- "52erURO6HrlfacZjG0fQ2WqRcJJTqg2baAbA7+1SLdhphZ+KJDypEjJWmOgbaehI\n"
- "hlK7zDZb+0r0uXlUQ11mgf7FcCDQoJBmC1dcN3o6zPeXg5hkWV+ZV2h7hhJTwkRc\n"
- "C4DXTbaDKy8PNiC0MRMOGjeMfnL26oaxzuHNgH4u1J02+XUZ0UcSDrUc52O1lJ02\n"
- "i1SbD+fTNBgmFQADXyAllZYJ/xwbxf44TFhQjiOvVpz/9EB2+/x5H0r1YvwKGY6v\n"
- "5mfkUsEAE5+uxDXdZT84ltEKkAjbZ9cIgdmXRuD4mkyo3NHLh7oHCdsRRE/S/rZe\n"
- "ikmGpQIDAQABo1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUF\n"
- "BwMJMA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFEvjsNoFTfqDEKbcwFnxKId+\n"
- "ZQP8MA0GCSqGSIb3DQEBCwUAA4IBAQAKrbc6hER0xAjn5driLNyoz0JJr5P07PDI\n"
- "d8AR3ZC56DSJNdvKDqdFIvAoo/JePCTFSdhbaqu+08MoTtRK5TKqjRiDiG4XCxiz\n"
- "Ado7QouS+ZgDP1Uxv8j2YWeSpkusD+oIEK96wbeDaYi0ENbLWbm9zWqvHaaEYn4c\n"
- "ov78n+7VvP3I2OFuJ0EPy+r55GPxSCRCh6apL78yAc6TfcyOwwTihvCF5ejCqRg/\n"
- "T1As5NCCpdYP2nejRymjO6wMRsRFBX9+gndO9qVQZJr8zBTw8k8/pMtDubjkYqEv\n"
- "qRME4/3q8+Sm8HlZ8FPpcU9XbLl+ASd+SWr8jCTGLSxF2hME8Lgg\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca_cert = { ca_cert_pem,
- sizeof(ca_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC8zCCAdugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE1MDgxNDA5MzUxMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4O2BYEx/hl7URXhb\n"
+ "52erURO6HrlfacZjG0fQ2WqRcJJTqg2baAbA7+1SLdhphZ+KJDypEjJWmOgbaehI\n"
+ "hlK7zDZb+0r0uXlUQ11mgf7FcCDQoJBmC1dcN3o6zPeXg5hkWV+ZV2h7hhJTwkRc\n"
+ "C4DXTbaDKy8PNiC0MRMOGjeMfnL26oaxzuHNgH4u1J02+XUZ0UcSDrUc52O1lJ02\n"
+ "i1SbD+fTNBgmFQADXyAllZYJ/xwbxf44TFhQjiOvVpz/9EB2+/x5H0r1YvwKGY6v\n"
+ "5mfkUsEAE5+uxDXdZT84ltEKkAjbZ9cIgdmXRuD4mkyo3NHLh7oHCdsRRE/S/rZe\n"
+ "ikmGpQIDAQABo1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUF\n"
+ "BwMJMA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFEvjsNoFTfqDEKbcwFnxKId+\n"
+ "ZQP8MA0GCSqGSIb3DQEBCwUAA4IBAQAKrbc6hER0xAjn5driLNyoz0JJr5P07PDI\n"
+ "d8AR3ZC56DSJNdvKDqdFIvAoo/JePCTFSdhbaqu+08MoTtRK5TKqjRiDiG4XCxiz\n"
+ "Ado7QouS+ZgDP1Uxv8j2YWeSpkusD+oIEK96wbeDaYi0ENbLWbm9zWqvHaaEYn4c\n"
+ "ov78n+7VvP3I2OFuJ0EPy+r55GPxSCRCh6apL78yAc6TfcyOwwTihvCF5ejCqRg/\n"
+ "T1As5NCCpdYP2nejRymjO6wMRsRFBX9+gndO9qVQZJr8zBTw8k8/pMtDubjkYqEv\n"
+ "qRME4/3q8+Sm8HlZ8FPpcU9XbLl+ASd+SWr8jCTGLSxF2hME8Lgg\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca_cert = { ca_cert_pem, sizeof(ca_cert_pem) };
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDITCCAgmgAwIBAgIMVc22UBIVIpQdKaDeMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIBcNMTUwODE0MDkzNTEyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
- "ETAPBgNVBAMTCHNlcnZlci0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
- "AQEAvhX+gDD8GkLW0GVH5C+AdbCFKAcj0tG+S+OuCpDp8NGZN4GXtbljUk5U82ha\n"
- "nyq52eJCptCSspXNKq6Hn0H/eSXlRndnIblB49Dqy6kHq0i1ysmrbdbe9BWrUqeU\n"
- "uKSZ8O98ANzHfVDOxCvhqGfytvrgudfk5JZxqAD2CXU6R5AjG60cnR49xGkplfKS\n"
- "31fpdshDkQMm+w2hfa97wqjrTbQ7K4SIgB9AYbRNvHd8PAo6fxXrLaBPZkQu9AiP\n"
- "D+sEz5bGrhzlIwz5SdcGAjuysB1WAygrWcTZ2zvX96lVTMhRF4umo8Rd1rzapB6G\n"
- "Uj64cKtkyJjcGV54Ifd6E/lmDwIDAQABo3cwdTAMBgNVHRMBAf8EAjAAMBQGA1Ud\n"
- "EQQNMAuCCWxvY2FsaG9zdDAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQWBBSTZZoN\n"
- "JNpaTuLaiXd+abUidelNDDAfBgNVHSMEGDAWgBRL47DaBU36gxCm3MBZ8SiHfmUD\n"
- "/DANBgkqhkiG9w0BAQsFAAOCAQEANot3py74nzCijhKilXyHz44LnpzbZGxMzbdr\n"
- "gK9maqqfiOWJMohOmSezYvMItudDn/Z3Bu7xzDxchDF80sBN+4UiDxl47uYbNl6o\n"
- "UFfpFu4GmO0HfeWkbM1ZqVJGBa6zOCkc3aw0LK7O2YRcBcsjzdIPQpePf/jRpppJ\n"
- "mz4qShtGa37Vfv4XxoXFPJdfil3uXl8Pe3qo+f8+DiMIIuxzKyQatu0DP4CjuEf1\n"
- "6sgcBFbeUMAJsCh0qFbqObWyOe9XxFEukLMPV7s2EKnRcY7Xhyuf6wyNI/oPkmon\n"
- "+m/yxJVZSWkpERsyXW1ZkR0Xw2KnJ4bzdQkDTs73ijOd4jFQvA==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC8zCCAdugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE1MDgxNDA5MzUxMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4O2BYEx/hl7URXhb\n"
- "52erURO6HrlfacZjG0fQ2WqRcJJTqg2baAbA7+1SLdhphZ+KJDypEjJWmOgbaehI\n"
- "hlK7zDZb+0r0uXlUQ11mgf7FcCDQoJBmC1dcN3o6zPeXg5hkWV+ZV2h7hhJTwkRc\n"
- "C4DXTbaDKy8PNiC0MRMOGjeMfnL26oaxzuHNgH4u1J02+XUZ0UcSDrUc52O1lJ02\n"
- "i1SbD+fTNBgmFQADXyAllZYJ/xwbxf44TFhQjiOvVpz/9EB2+/x5H0r1YvwKGY6v\n"
- "5mfkUsEAE5+uxDXdZT84ltEKkAjbZ9cIgdmXRuD4mkyo3NHLh7oHCdsRRE/S/rZe\n"
- "ikmGpQIDAQABo1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUF\n"
- "BwMJMA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFEvjsNoFTfqDEKbcwFnxKId+\n"
- "ZQP8MA0GCSqGSIb3DQEBCwUAA4IBAQAKrbc6hER0xAjn5driLNyoz0JJr5P07PDI\n"
- "d8AR3ZC56DSJNdvKDqdFIvAoo/JePCTFSdhbaqu+08MoTtRK5TKqjRiDiG4XCxiz\n"
- "Ado7QouS+ZgDP1Uxv8j2YWeSpkusD+oIEK96wbeDaYi0ENbLWbm9zWqvHaaEYn4c\n"
- "ov78n+7VvP3I2OFuJ0EPy+r55GPxSCRCh6apL78yAc6TfcyOwwTihvCF5ejCqRg/\n"
- "T1As5NCCpdYP2nejRymjO6wMRsRFBX9+gndO9qVQZJr8zBTw8k8/pMtDubjkYqEv\n"
- "qRME4/3q8+Sm8HlZ8FPpcU9XbLl+ASd+SWr8jCTGLSxF2hME8Lgg\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDITCCAgmgAwIBAgIMVc22UBIVIpQdKaDeMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIBcNMTUwODE0MDkzNTEyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
+ "ETAPBgNVBAMTCHNlcnZlci0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
+ "AQEAvhX+gDD8GkLW0GVH5C+AdbCFKAcj0tG+S+OuCpDp8NGZN4GXtbljUk5U82ha\n"
+ "nyq52eJCptCSspXNKq6Hn0H/eSXlRndnIblB49Dqy6kHq0i1ysmrbdbe9BWrUqeU\n"
+ "uKSZ8O98ANzHfVDOxCvhqGfytvrgudfk5JZxqAD2CXU6R5AjG60cnR49xGkplfKS\n"
+ "31fpdshDkQMm+w2hfa97wqjrTbQ7K4SIgB9AYbRNvHd8PAo6fxXrLaBPZkQu9AiP\n"
+ "D+sEz5bGrhzlIwz5SdcGAjuysB1WAygrWcTZ2zvX96lVTMhRF4umo8Rd1rzapB6G\n"
+ "Uj64cKtkyJjcGV54Ifd6E/lmDwIDAQABo3cwdTAMBgNVHRMBAf8EAjAAMBQGA1Ud\n"
+ "EQQNMAuCCWxvY2FsaG9zdDAPBgNVHQ8BAf8EBQMDB4AAMB0GA1UdDgQWBBSTZZoN\n"
+ "JNpaTuLaiXd+abUidelNDDAfBgNVHSMEGDAWgBRL47DaBU36gxCm3MBZ8SiHfmUD\n"
+ "/DANBgkqhkiG9w0BAQsFAAOCAQEANot3py74nzCijhKilXyHz44LnpzbZGxMzbdr\n"
+ "gK9maqqfiOWJMohOmSezYvMItudDn/Z3Bu7xzDxchDF80sBN+4UiDxl47uYbNl6o\n"
+ "UFfpFu4GmO0HfeWkbM1ZqVJGBa6zOCkc3aw0LK7O2YRcBcsjzdIPQpePf/jRpppJ\n"
+ "mz4qShtGa37Vfv4XxoXFPJdfil3uXl8Pe3qo+f8+DiMIIuxzKyQatu0DP4CjuEf1\n"
+ "6sgcBFbeUMAJsCh0qFbqObWyOe9XxFEukLMPV7s2EKnRcY7Xhyuf6wyNI/oPkmon\n"
+ "+m/yxJVZSWkpERsyXW1ZkR0Xw2KnJ4bzdQkDTs73ijOd4jFQvA==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC8zCCAdugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE1MDgxNDA5MzUxMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4O2BYEx/hl7URXhb\n"
+ "52erURO6HrlfacZjG0fQ2WqRcJJTqg2baAbA7+1SLdhphZ+KJDypEjJWmOgbaehI\n"
+ "hlK7zDZb+0r0uXlUQ11mgf7FcCDQoJBmC1dcN3o6zPeXg5hkWV+ZV2h7hhJTwkRc\n"
+ "C4DXTbaDKy8PNiC0MRMOGjeMfnL26oaxzuHNgH4u1J02+XUZ0UcSDrUc52O1lJ02\n"
+ "i1SbD+fTNBgmFQADXyAllZYJ/xwbxf44TFhQjiOvVpz/9EB2+/x5H0r1YvwKGY6v\n"
+ "5mfkUsEAE5+uxDXdZT84ltEKkAjbZ9cIgdmXRuD4mkyo3NHLh7oHCdsRRE/S/rZe\n"
+ "ikmGpQIDAQABo1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUF\n"
+ "BwMJMA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFEvjsNoFTfqDEKbcwFnxKId+\n"
+ "ZQP8MA0GCSqGSIb3DQEBCwUAA4IBAQAKrbc6hER0xAjn5driLNyoz0JJr5P07PDI\n"
+ "d8AR3ZC56DSJNdvKDqdFIvAoo/JePCTFSdhbaqu+08MoTtRK5TKqjRiDiG4XCxiz\n"
+ "Ado7QouS+ZgDP1Uxv8j2YWeSpkusD+oIEK96wbeDaYi0ENbLWbm9zWqvHaaEYn4c\n"
+ "ov78n+7VvP3I2OFuJ0EPy+r55GPxSCRCh6apL78yAc6TfcyOwwTihvCF5ejCqRg/\n"
+ "T1As5NCCpdYP2nejRymjO6wMRsRFBX9+gndO9qVQZJr8zBTw8k8/pMtDubjkYqEv\n"
+ "qRME4/3q8+Sm8HlZ8FPpcU9XbLl+ASd+SWr8jCTGLSxF2hME8Lgg\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEowIBAAKCAQEAvhX+gDD8GkLW0GVH5C+AdbCFKAcj0tG+S+OuCpDp8NGZN4GX\n"
- "tbljUk5U82hanyq52eJCptCSspXNKq6Hn0H/eSXlRndnIblB49Dqy6kHq0i1ysmr\n"
- "bdbe9BWrUqeUuKSZ8O98ANzHfVDOxCvhqGfytvrgudfk5JZxqAD2CXU6R5AjG60c\n"
- "nR49xGkplfKS31fpdshDkQMm+w2hfa97wqjrTbQ7K4SIgB9AYbRNvHd8PAo6fxXr\n"
- "LaBPZkQu9AiPD+sEz5bGrhzlIwz5SdcGAjuysB1WAygrWcTZ2zvX96lVTMhRF4um\n"
- "o8Rd1rzapB6GUj64cKtkyJjcGV54Ifd6E/lmDwIDAQABAoIBAQCPPDOSlVbi0wrb\n"
- "7fXGVKUQCfvMtdSgv7wNo3s6KwidltNFqDmRjijxlGUfJbtjxOZW8NAYs4JXX9pC\n"
- "F1HLCAhiWdPyzXbBSsAD0yGaZbyJrTiPnne3RPqsIsf+eJjwqdf2Xf+rBrKsE4A7\n"
- "AnYAWJPknhdI8w5f0Z3DYzYC2nsYAI/FvJCpQvs9qMfVznctzcLUpvquDYrkDaFA\n"
- "Rk14xQ8zhXKSugx1N2QAabk9YhMIDgBRHvZkQfBYJ/bNhfpLveQZX14QLn++EuFZ\n"
- "F0QpoOtJhWNZDbDdroud2G821dl5bLKsKx0cD63Bsz1uV8vUQF0F2xx8t64SPhz9\n"
- "zC/eZB+BAoGBAM57D4Nav1zreqBJZnWVtR7qr54AIg3nKccFPXLeezhI1iJi07tn\n"
- "Fc2YdP+5NzRAVBOBKaMwuJ4ZdLnclsKD8A/LzMgerRfuV6EDHOPKAgWISU/+Up6x\n"
- "Q5tQ2ocPjQFHb5gK3Le9lMkBHt1j6ZIptUIXTqzzwKYSDDYkdMCmSyBXAoGBAOus\n"
- "XvHE/DIV6idE4k590nq+o9OdMet+LWUzmyTjlbVhPZ09vTSHs+3U1Fe4te6aNUI+\n"
- "KkhizCHMvx+M0uzCwy31TDdLe9QbmtkQet0AAX/Qsb5IQrDi5iLl7UuvZMa7tCUe\n"
- "R0puBRBzvZg4LQWDgJ9U4fO3YO0c3VBRpicQbvUJAoGAFN6bUst5TAsA+fJxSLE4\n"
- "/Ub7OR0KVB1pO5RsAZA7JBU4j4EtpWNl8MHYEYDG86EM3mvPqY7jGhe4lJCXLFHp\n"
- "ka8no5J2LFUKxltqMBva2HRN9Kff8eo4yxoA/GW1+ssdnGB8rpWa1DYoyHeww/Uz\n"
- "PNreONzqO97XHSHSKyajsUECgYAe/3ENg8dYHyHJQHozsMD6fBC4SLjELLhz0zHY\n"
- "zEZosP2VrQUx35d+9LtpPlZPp+DRcbPGCZin6XJKCA/GLGfXp6f6reb/oxHe8xf1\n"
- "8YZA9YYrbP24nl9+v5dSmSM8MHwlVbIyy/3GiDKrzte9HerRCi0eDUSma2GAqvyb\n"
- "rsGpYQKBgCj7dXo0LKYaEJ17NXCD6Cu7gMP9haYo0HHfkhBnIgYs/Cytgnedzp6k\n"
- "kRcVr4yllg5yEgiqPvg+PyuL1sm0epQ85qeYOaR2CsbN6mYnwX8/8LLZ7Ep4v3vv\n"
- "m0SlmY5Hgw6lit1DOr1HDoZZKzbpT3H//TrMMhvBPdcBQwjcHMHl\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
-
-static
-void server_check(void)
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEowIBAAKCAQEAvhX+gDD8GkLW0GVH5C+AdbCFKAcj0tG+S+OuCpDp8NGZN4GX\n"
+ "tbljUk5U82hanyq52eJCptCSspXNKq6Hn0H/eSXlRndnIblB49Dqy6kHq0i1ysmr\n"
+ "bdbe9BWrUqeUuKSZ8O98ANzHfVDOxCvhqGfytvrgudfk5JZxqAD2CXU6R5AjG60c\n"
+ "nR49xGkplfKS31fpdshDkQMm+w2hfa97wqjrTbQ7K4SIgB9AYbRNvHd8PAo6fxXr\n"
+ "LaBPZkQu9AiPD+sEz5bGrhzlIwz5SdcGAjuysB1WAygrWcTZ2zvX96lVTMhRF4um\n"
+ "o8Rd1rzapB6GUj64cKtkyJjcGV54Ifd6E/lmDwIDAQABAoIBAQCPPDOSlVbi0wrb\n"
+ "7fXGVKUQCfvMtdSgv7wNo3s6KwidltNFqDmRjijxlGUfJbtjxOZW8NAYs4JXX9pC\n"
+ "F1HLCAhiWdPyzXbBSsAD0yGaZbyJrTiPnne3RPqsIsf+eJjwqdf2Xf+rBrKsE4A7\n"
+ "AnYAWJPknhdI8w5f0Z3DYzYC2nsYAI/FvJCpQvs9qMfVznctzcLUpvquDYrkDaFA\n"
+ "Rk14xQ8zhXKSugx1N2QAabk9YhMIDgBRHvZkQfBYJ/bNhfpLveQZX14QLn++EuFZ\n"
+ "F0QpoOtJhWNZDbDdroud2G821dl5bLKsKx0cD63Bsz1uV8vUQF0F2xx8t64SPhz9\n"
+ "zC/eZB+BAoGBAM57D4Nav1zreqBJZnWVtR7qr54AIg3nKccFPXLeezhI1iJi07tn\n"
+ "Fc2YdP+5NzRAVBOBKaMwuJ4ZdLnclsKD8A/LzMgerRfuV6EDHOPKAgWISU/+Up6x\n"
+ "Q5tQ2ocPjQFHb5gK3Le9lMkBHt1j6ZIptUIXTqzzwKYSDDYkdMCmSyBXAoGBAOus\n"
+ "XvHE/DIV6idE4k590nq+o9OdMet+LWUzmyTjlbVhPZ09vTSHs+3U1Fe4te6aNUI+\n"
+ "KkhizCHMvx+M0uzCwy31TDdLe9QbmtkQet0AAX/Qsb5IQrDi5iLl7UuvZMa7tCUe\n"
+ "R0puBRBzvZg4LQWDgJ9U4fO3YO0c3VBRpicQbvUJAoGAFN6bUst5TAsA+fJxSLE4\n"
+ "/Ub7OR0KVB1pO5RsAZA7JBU4j4EtpWNl8MHYEYDG86EM3mvPqY7jGhe4lJCXLFHp\n"
+ "ka8no5J2LFUKxltqMBva2HRN9Kff8eo4yxoA/GW1+ssdnGB8rpWa1DYoyHeww/Uz\n"
+ "PNreONzqO97XHSHSKyajsUECgYAe/3ENg8dYHyHJQHozsMD6fBC4SLjELLhz0zHY\n"
+ "zEZosP2VrQUx35d+9LtpPlZPp+DRcbPGCZin6XJKCA/GLGfXp6f6reb/oxHe8xf1\n"
+ "8YZA9YYrbP24nl9+v5dSmSM8MHwlVbIyy/3GiDKrzte9HerRCi0eDUSma2GAqvyb\n"
+ "rsGpYQKBgCj7dXo0LKYaEJ17NXCD6Cu7gMP9haYo0HHfkhBnIgYs/Cytgnedzp6k\n"
+ "kRcVr4yllg5yEgiqPvg+PyuL1sm0epQ85qeYOaR2CsbN6mYnwX8/8LLZ7Ep4v3vv\n"
+ "m0SlmY5Hgw6lit1DOr1HDoZZKzbpT3H//TrMMhvBPdcBQwjcHMHl\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
+
+static void server_check(void)
{
int ret;
/* Server stuff. */
@@ -164,15 +157,13 @@ void server_check(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-KX-ALL:+RSA:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ server, "NORMAL:-KX-ALL:+RSA:-VERS-ALL:+VERS-TLS1.2", NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -182,9 +173,8 @@ void server_check(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -221,12 +211,11 @@ void server_check(void)
static gnutls_privkey_t g_pkey = NULL;
static gnutls_pcert_st *g_pcert = NULL;
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
int ret;
gnutls_pcert_st *p;
@@ -237,9 +226,8 @@ cert_callback(gnutls_session_t session,
if (p == NULL)
return -1;
- ret =
- gnutls_pcert_import_x509_raw(p, &server_cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_import_x509_raw(p, &server_cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0)
return -1;
@@ -247,10 +235,8 @@ cert_callback(gnutls_session_t session,
if (ret < 0)
return -1;
- ret =
- gnutls_privkey_import_x509_raw(lkey, &server_key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ lkey, &server_key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
return -1;
@@ -268,8 +254,7 @@ cert_callback(gnutls_session_t session,
return 0;
}
-static
-void client_check(void)
+static void client_check(void)
{
int ret;
/* Server stuff. */
@@ -294,9 +279,10 @@ void client_check(void)
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-KX-ALL:+RSA:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NORMAL:-KX-ALL:+RSA:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -306,9 +292,8 @@ void client_check(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
diff --git a/tests/keylog-env.c b/tests/keylog-env.c
index 408f04a48b..46320dd87a 100644
--- a/tests/keylog-env.c
+++ b/tests/keylog-env.c
@@ -20,7 +20,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -29,10 +29,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <fcntl.h>
#include <unistd.h>
@@ -90,8 +90,8 @@ static void search_for_str(const char *filename, const char *label,
fail("file should contain %s\n", label);
}
-static void run(const char *filename, const char *prio,
- const char **included, const char **excluded)
+static void run(const char *filename, const char *prio, const char **included,
+ const char **excluded)
{
gnutls_certificate_credentials_t x509_cred;
gnutls_certificate_credentials_t clicred;
@@ -117,19 +117,16 @@ static void run(const char *filename, const char *prio,
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_key_mem(x509_cred,
- &server_ca3_localhost_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
}
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
diff --git a/tests/keylog-func.c b/tests/keylog-func.c
index 980c34844a..faf74c8154 100644
--- a/tests/keylog-func.c
+++ b/tests/keylog-func.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,18 +37,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether a keylog function is called.
*/
@@ -69,21 +69,18 @@ const char *side = "";
/* These are global */
static pid_t child;
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
-static int
-keylog_func(gnutls_session_t session,
- const char *label, const gnutls_datum_t * secret)
+static int keylog_func(gnutls_session_t session, const char *label,
+ const gnutls_datum_t *secret)
{
unsigned int *call_count = gnutls_session_get_ptr(session);
- static const char *exp_labels[] = {
- "CLIENT_HANDSHAKE_TRAFFIC_SECRET",
- "SERVER_HANDSHAKE_TRAFFIC_SECRET",
- "EXPORTER_SECRET",
- "CLIENT_TRAFFIC_SECRET_0",
- "SERVER_TRAFFIC_SECRET_0"
- };
+ static const char *exp_labels[] = { "CLIENT_HANDSHAKE_TRAFFIC_SECRET",
+ "SERVER_HANDSHAKE_TRAFFIC_SECRET",
+ "EXPORTER_SECRET",
+ "CLIENT_TRAFFIC_SECRET_0",
+ "SERVER_TRAFFIC_SECRET_0" };
if (*call_count >= sizeof(exp_labels) / sizeof(exp_labels[0]))
fail("unexpected secret at call count %u\n", *call_count);
@@ -144,8 +141,7 @@ static void client(int fd, const char *prio, unsigned int exp_call_count)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0)
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -156,8 +152,8 @@ static void client(int fd, const char *prio, unsigned int exp_call_count)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_record_send(session, MSG, strlen(MSG));
@@ -180,8 +176,8 @@ static void client(int fd, const char *prio, unsigned int exp_call_count)
}
if (call_count != exp_call_count)
- fail("secret hook is not called %u times (%u)\n",
- call_count, exp_call_count);
+ fail("secret hook is not called %u times (%u)\n", call_count,
+ exp_call_count);
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -220,18 +216,18 @@ static void server(int fd, const char *prio, unsigned int exp_call_count)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA384:-GROUP-ALL:+GROUP-SECP256R1",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA384:-GROUP-ALL:+GROUP-SECP256R1",
+ NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_transport_set_int(session, fd);
@@ -240,8 +236,7 @@ static void server(int fd, const char *prio, unsigned int exp_call_count)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -254,8 +249,8 @@ static void server(int fd, const char *prio, unsigned int exp_call_count)
}
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
memset(buffer, 0, MAX_BUF + 1);
@@ -265,8 +260,7 @@ static void server(int fd, const char *prio, unsigned int exp_call_count)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
} else if (ret < 0) {
fail("server: Received corrupted data(%d). Closing...\n", ret);
} else if (ret > 0) {
@@ -276,8 +270,8 @@ static void server(int fd, const char *prio, unsigned int exp_call_count)
}
if (call_count != exp_call_count)
- fail("secret hook is not called %u times (%u)\n",
- call_count, exp_call_count);
+ fail("secret hook is not called %u times (%u)\n", call_count,
+ exp_call_count);
/* do not wait for the peer to close the connection.
*/
@@ -344,4 +338,4 @@ void doit(void)
run("NORMAL:-VERS-ALL:+VERS-TLS1.3", 5);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/ktls_keyupdate.c b/tests/ktls_keyupdate.c
index 5844c56497..e3c51ec369 100644
--- a/tests/ktls_keyupdate.c
+++ b/tests/ktls_keyupdate.c
@@ -18,7 +18,7 @@
// along with GnuTLS. If not, see <https://www.gnu.org/licenses/>.
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -50,73 +50,77 @@ int main(void)
#else
-# define MAX_BUF 1024
-# define MSG "Hello world!"
-
-# define HANDSHAKE(session, name, ret)\
-{\
- do {\
- ret = gnutls_handshake(session);\
- }\
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);\
- if (ret < 0) {\
- fail("%s: Handshake failed\n", name);\
- goto end;\
- }\
-}
+#define MAX_BUF 1024
+#define MSG "Hello world!"
+
+#define HANDSHAKE(session, name, ret) \
+ { \
+ do { \
+ ret = gnutls_handshake(session); \
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0); \
+ if (ret < 0) { \
+ fail("%s: Handshake failed\n", name); \
+ goto end; \
+ } \
+ }
-# define SEND_MSG(session, name, ret)\
-{\
- do {\
- ret = gnutls_record_send(session, MSG, strlen(MSG)+1);\
- } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);\
- if (ret < 0) {\
- fail("%s: data sending has failed (%s)\n",name,\
- gnutls_strerror(ret));\
- goto end;\
- }\
-}
+#define SEND_MSG(session, name, ret) \
+ { \
+ do { \
+ ret = gnutls_record_send(session, MSG, \
+ strlen(MSG) + 1); \
+ } while (ret == GNUTLS_E_AGAIN || \
+ ret == GNUTLS_E_INTERRUPTED); \
+ if (ret < 0) { \
+ fail("%s: data sending has failed (%s)\n", name, \
+ gnutls_strerror(ret)); \
+ goto end; \
+ } \
+ }
-# define RECV_MSG(session, name, buffer, buffer_len, ret)\
-{\
- memset(buffer, 0, sizeof(buffer));\
- do{\
- ret = gnutls_record_recv(session, buffer, sizeof(buffer));\
- }\
- while(ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);\
- if (ret == 0) {\
- success("%s: Peer has closed the TLS connection\n", name);\
- goto end;\
- } else if (ret < 0) {\
- fail("%s: Error -> %s\n", name, gnutls_strerror(ret));\
- goto end;\
- }\
- if(strncmp(buffer, MSG, ret)){\
- fail("%s: Message doesn't match\n", name);\
- goto end;\
- }\
-}
+#define RECV_MSG(session, name, buffer, buffer_len, ret) \
+ { \
+ memset(buffer, 0, sizeof(buffer)); \
+ do { \
+ ret = gnutls_record_recv(session, buffer, \
+ sizeof(buffer)); \
+ } while (ret == GNUTLS_E_AGAIN || \
+ ret == GNUTLS_E_INTERRUPTED); \
+ if (ret == 0) { \
+ success("%s: Peer has closed the TLS connection\n", \
+ name); \
+ goto end; \
+ } else if (ret < 0) { \
+ fail("%s: Error -> %s\n", name, gnutls_strerror(ret)); \
+ goto end; \
+ } \
+ if (strncmp(buffer, MSG, ret)) { \
+ fail("%s: Message doesn't match\n", name); \
+ goto end; \
+ } \
+ }
-# define KEY_UPDATE(session, name, peer_req, ret)\
-{\
- do {\
- ret = gnutls_session_key_update(session, peer_req);\
- } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);\
- if (ret < 0) {\
- fail("%s: key update has failed (%s)\n", name, \
- gnutls_strerror(ret));\
- goto end;\
- }\
-}
+#define KEY_UPDATE(session, name, peer_req, ret) \
+ { \
+ do { \
+ ret = gnutls_session_key_update(session, peer_req); \
+ } while (ret == GNUTLS_E_AGAIN || \
+ ret == GNUTLS_E_INTERRUPTED); \
+ if (ret < 0) { \
+ fail("%s: key update has failed (%s)\n", name, \
+ gnutls_strerror(ret)); \
+ goto end; \
+ } \
+ }
-# define CHECK_KTLS_ENABLED(session, ret)\
-{\
- ret = gnutls_transport_is_ktls_enabled(session);\
- if (!(ret & GNUTLS_KTLS_RECV)){\
- fail("client: KTLS was not properly initialized\n");\
- goto end;\
- }\
-}
+#define CHECK_KTLS_ENABLED(session, ret) \
+ { \
+ ret = gnutls_transport_is_ktls_enabled(session); \
+ if (!(ret & GNUTLS_KTLS_RECV)) { \
+ fail("client: KTLS was not properly initialized\n"); \
+ goto end; \
+ } \
+ }
static void server_log_func(int level, const char *str)
{
@@ -158,28 +162,28 @@ static void client(int fd, const char *prio, int pipe)
HANDSHAKE(session, name, ret);
CHECK_KTLS_ENABLED(session, ret)
- // Test 0: Try sending/receiving data
- RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
- SEND_MSG(session, name, ret)
- CHECK_KTLS_ENABLED(session, ret)
- // Test 1: Servers does key update
- read(pipe, &foo, 1);
+ // Test 0: Try sending/receiving data
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ SEND_MSG(session, name, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ // Test 1: Servers does key update
+ read(pipe, &foo, 1);
RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
- SEND_MSG(session, name, ret)
- CHECK_KTLS_ENABLED(session, ret)
- // Test 2: Does key update witch request
- read(pipe, &foo, 1);
+ SEND_MSG(session, name, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ // Test 2: Does key update witch request
+ read(pipe, &foo, 1);
RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
- SEND_MSG(session, name, ret)
- CHECK_KTLS_ENABLED(session, ret)
- ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
+ SEND_MSG(session, name, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
if (ret < 0) {
fail("client: error in closing session: %s\n",
gnutls_strerror(ret));
}
ret = 0;
- end:
+end:
close(fd);
@@ -218,9 +222,8 @@ static void server(int fd, const char *prio, int pipe)
}
gnutls_certificate_allocate_credentials(&x509_cred);
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -234,31 +237,31 @@ static void server(int fd, const char *prio, int pipe)
gnutls_transport_set_int(session, fd);
HANDSHAKE(session, name, ret)
- CHECK_KTLS_ENABLED(session, ret)
- success("Test 0: sending/receiving data\n");
+ CHECK_KTLS_ENABLED(session, ret)
+ success("Test 0: sending/receiving data\n");
SEND_MSG(session, name, ret)
- RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
- CHECK_KTLS_ENABLED(session, ret)
- success("Test 1: server key update without request\n");
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ success("Test 1: server key update without request\n");
KEY_UPDATE(session, name, 0, ret)
- write(pipe, &bar, 1);
+ write(pipe, &bar, 1);
SEND_MSG(session, name, ret)
- RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
- CHECK_KTLS_ENABLED(session, ret)
- success("Test 2: server key update with request\n");
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ success("Test 2: server key update with request\n");
KEY_UPDATE(session, name, GNUTLS_KU_PEER, ret)
- write(pipe, &bar, 1);
+ write(pipe, &bar, 1);
SEND_MSG(session, name, ret)
- RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
- CHECK_KTLS_ENABLED(session, ret)
- ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
+ RECV_MSG(session, name, buffer, MAX_BUF + 1, ret)
+ CHECK_KTLS_ENABLED(session, ret)
+ ret = gnutls_bye(session, GNUTLS_SHUT_RDWR);
if (ret < 0) {
fail("server: error in closing session: %s\n",
gnutls_strerror(ret));
}
ret = 0;
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -287,7 +290,7 @@ static void run(const char *prio)
int listener;
int fd;
- int sync_pipe[2]; //used for synchronization
+ int sync_pipe[2]; //used for synchronization
pipe(sync_pipe);
success("running ktls test with %s\n", prio);
@@ -362,4 +365,4 @@ void doit(void)
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/long-session-id.c b/tests/long-session-id.c
index 86858bd780..155e7f3834 100644
--- a/tests/long-session-id.c
+++ b/tests/long-session-id.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,17 +35,17 @@ void doit(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include "utils.h"
/* This program tests the robustness of record
* decoding.
@@ -57,45 +57,42 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
@@ -132,8 +129,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
r = gnutls_ecc_curve_get(session);
if (r == 0xffffffff) {
@@ -152,7 +148,7 @@ static void client(int fd, const char *prio)
kill(getpid(), SIGSEGV);
}
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
@@ -169,10 +165,13 @@ static void server(int fd, const char *prio)
{
int ret;
uint8_t id[255];
- uint8_t buffer[] = "\x16\x03\x01\x01\x25" "\x02\x00\x01\x21" "\x03\x01" /*Server Version */
- /*Random */
- "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00"
- /*SessionID */ "\xfe";
+ uint8_t buffer[] =
+ "\x16\x03\x01\x01\x25"
+ "\x02\x00\x01\x21"
+ "\x03\x01" /*Server Version */
+ /*Random */
+ "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x01\x00\x00"
+ /*SessionID */ "\xfe";
ret = read(fd, id, sizeof(id));
if (ret < 0) {
@@ -245,4 +244,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-TLS1.2");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-alpn.c b/tests/mini-alpn.c
index 97e1478851..55b03a6e21 100644
--- a/tests/mini-alpn.c
+++ b/tests/mini-alpn.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,18 +33,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -90,9 +90,10 @@ static void client(int fd, const char *protocol0, const char *protocol2,
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
if (protocol1) {
gnutls_datum_t t[3];
t[0].data = (void *)protocol0;
@@ -119,8 +120,7 @@ static void client(int fd, const char *protocol0, const char *protocol2,
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -133,8 +133,8 @@ static void client(int fd, const char *protocol0, const char *protocol2,
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_alpn_get_selected_protocol(session, &proto);
if (ret < 0) {
@@ -143,8 +143,8 @@ static void client(int fd, const char *protocol0, const char *protocol2,
}
if (debug) {
- fprintf(stderr, "selected protocol: %.*s\n",
- (int)proto.size, proto.data);
+ fprintf(stderr, "selected protocol: %.*s\n", (int)proto.size,
+ proto.data);
}
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -191,9 +191,10 @@ static void server(int fd, const char *protocol1, const char *protocol2)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
t[0].data = (void *)protocol1;
t[0].size = strlen(protocol1);
@@ -212,8 +213,7 @@ static void server(int fd, const char *protocol1, const char *protocol2)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -226,8 +226,8 @@ static void server(int fd, const char *protocol1, const char *protocol2)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_alpn_get_selected_protocol(session, &selected);
if (ret < 0) {
@@ -239,9 +239,10 @@ static void server(int fd, const char *protocol1, const char *protocol2)
success("Protocol: %.*s\n", (int)selected.size, selected.data);
}
- if (selected.size != strlen(protocol1)
- || memcmp(selected.data, protocol1, selected.size) != 0) {
- fail("did not select the expected protocol (selected %.*s, expected %s)\n", selected.size, selected.data, protocol1);
+ if (selected.size != strlen(protocol1) ||
+ memcmp(selected.data, protocol1, selected.size) != 0) {
+ fail("did not select the expected protocol (selected %.*s, expected %s)\n",
+ selected.size, selected.data, protocol1);
exit(1);
}
@@ -301,4 +302,4 @@ void doit(void)
start("spdy/3", "spdy/2");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-chain-unsorted.c b/tests/mini-chain-unsorted.c
index b012fbb97c..e02f71bed4 100644
--- a/tests/mini-chain-unsorted.c
+++ b/tests/mini-chain-unsorted.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
/* This program tests whether the import functions sort the
* chain.
@@ -58,122 +58,121 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
-/* 0 */ "-----BEGIN CERTIFICATE-----\n"
- "MIIDIzCCAgugAwIBAgIMVHc8lDcqr/T62g5oMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTIwIhgPMjAxNDExMjcxNTAwMzZaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQCsfFrZmOxA7ijkppwPtakc8ecuBRr9Dr4pe/alC/OXVZsZlAlnR0xd53XF\n"
- "uUPwo9Ga2q7iY8+8yPRNs8gfl6IrHvUUtaukWdMlQq5nhRFaPgOzHOEZGGEUk3UF\n"
- "R/8lld6xQFoe7FvHwQ5cIkIl0cN/I4jiUb9fQhRwcBPjmQbCisYXUZDe8KtCnkjw\n"
- "ZZfOp7UclWPm+hv4G3cfeRUUis0Xf8sScjLAam7ojkGL9CeETXl1JGSqqmVN7svN\n"
- "yDsiQebCSrA4wCt+ENe9rE6Cme6dEv+U4lyx4oijn4sNvPwwgmu+/g6XjhE6IWBL\n"
- "kWXLJ1K4rixbqt3d3+H7IAFiX99bAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFNt6\n"
- "DwawLeNaZ+5LMNBdeTVWZsmOMB8GA1UdIwQYMBaAFCjlkQq5yKVHzXPQLahHCcmS\n"
- "AJRpMA0GCSqGSIb3DQEBCwUAA4IBAQClbMnEQpHwwqcdrGKiNXQYyJDClVfQFTlh\n"
- "fTU2qUx8gfyP+1yR0lqsdremSzSjLPM6LmcJLAdu7GhL32Lc3068CCzDtd6vJDGf\n"
- "vO1eudcixbAf7NuELCZM08wLuJvKQFlNYFSVZSb04habhcwgowsiy0YC+dF9XQKa\n"
- "5YDGvOuMTqqKt5Wph+izCGQ+6WyRZQp2CIFWo0vBCYFaslaA/TBnsldIuACJFmg9\n"
- "kmspW97ROmNr1jfQNyBVWjd1EER80zZCngXq4+JnP1tppJNcYFhHeqSGQCqASehY\n"
- "CC7ITbKAK8IdwU4gVk7R92rOKyrFPimc1UwObNpxbL5jizZqemW7\n"
- "-----END CERTIFICATE-----\n"
-/* 3 */ "-----BEGIN CERTIFICATE-----\n"
- "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQxMTI3MTUwMDM2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC16A/jNGbd6oP3\n"
- "t/neq6hlWopjKEPnM9FMZgPSNVsKtQEb1dOx2EDCuP3rC2POogAjo0NuE/SZtM0N\n"
- "Nyf+X3QdjwcFdugMLTXGmGlEhCeWhSEjLwrd6eapdHzwpV0Ag22CvzoKEQenu92+\n"
- "TI1MN/1j3XOgnOP3t4q5TeSZn7XtAMCBqt9b+LJT5XJ/sF6b1sH803HqV3CZ6ga+\n"
- "kFY+uDcpImQEJNZi/B1xYObSHF+frg4SyeqjxiV9vmFHhRgLmD96iVukQTC/RPX3\n"
- "ntl0wGBjpmglUVdcAJdZL7L2um1T1n3u+jS3U5FW7+MOnnTGqRT2pcYtHHLg2GDf\n"
- "SSUpeuphAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU1aTwaphaQJeRY+IF9NNT\n"
- "mHHpIQ0wDQYJKoZIhvcNAQELBQADggEBAGUjVPu4aeel7UmgUvjBEpGbw6j9wKRL\n"
- "4vVgGllKWH0diISEjPcJv0dTDJs4ZbY7KAEc4DRCl1QwNFsuASP5BlMSrWo+eGiC\n"
- "oxsndY2EIpHAheLHXkVwbOwM5VRN2IhlcmVtHM370luvJjNa1MXy1p1/VEjGS794\n"
- "FgtMOm9yILCM8WqwRHOY/mAOu/9iY/Zfqfobm+IfqgBmQMOLAIMKJffh15meTDRi\n"
- "W3QXdf/khr1T3JEJ55t1WxcC1cWV4FnecUU4wlKs1mBghV+/8cgbYjoIdUAsYsdv\n"
- "SjySP3B65XXw9G3MmHOjNoRpF7Oeea8tN+zxw3xFx/a9Uq19BdOlrHE=\n"
- "-----END CERTIFICATE-----\n"
-/* 1 */ "-----BEGIN CERTIFICATE-----\n"
- "MIIDFjCCAf6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCIYDzIwMTQxMTI3MTUwMDM2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOnFo6ntaysv14\n"
- "ewFwkm+mbE/8hEiZEcMNnWNSJb9tgpATLgu9LefStzRIvzns4OyLL77TEz8Gl8gJ\n"
- "syfba2aIKxLveO1jpqQSfkcVlufa/GHspPKMkHMjz1UB+fQEAazAjVKHoofemKxW\n"
- "0TtLeuL0LoE4g452Yy60vxRNwOs7WPZ5lktIQTYZTYcEjiiVlrRXXGgo9qCSfG4n\n"
- "B+TmlraGHHPlKINcsOJnZOOZ6qHx+ZpqeCvuD7apiPcVzfLhxdJFoznY4r/bdCZT\n"
- "ehChrKCYk5DmaPRBW0TLWoYrny745SG9U8XzTkKYaCDLhyMvn1oMrRVdbwO3/e6q\n"
- "DbEvbpUrAgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUKOWRCrnIpUfNc9AtqEcJ\n"
- "yZIAlGkwHwYDVR0jBBgwFoAUarsjXomEecxGrV0LDBX8Dy+vh68wDQYJKoZIhvcN\n"
- "AQELBQADggEBAKgo2SIyLywamhcqLnhxCXgx0SHJgmEVD7CvPgTISZisg5yMS77G\n"
- "WqtHbyo7kOYIjbrzVRGOsijKmgCgqNTQXSMbWUfDOV93q82nV0bjQtnvZKMc0+OM\n"
- "/cB5PA7BFKvVrpYGefFQtrgkFhHSoUwDtpJAdYJPWgUMiqpvDuQdD/d6FQ18rb7w\n"
- "QuIIvUeHaawm8HLrJ5JZoy7BnryY4SEFqGSTeNWp4CyeTeQPAcCdZ3NlnSDV1RM2\n"
- "QelcD8S6GAp8l8LcF1zqiaoqWVYdeVnO6Doabx/IP7ZxctcdaEAdUQYjJ/dG3A2p\n"
- "wpf3tVoOBKFByhdBrz7uda09sq57+AmvQdk=\n" "-----END CERTIFICATE-----\n"
-/* 2 */ "-----BEGIN CERTIFICATE-----\n"
- "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQxMTI3MTUwMDM2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDft9fjnipXU+WO\n"
- "NsIhqVgTkwQPWklvuJbAphYa0oCm/+S0dvalVEq9RMqV+sUtqrZ55LsHxvtD1iu9\n"
- "03kf/FcqaAjSVZBt6n8JIfl4xyi//FYizamm2KEsBCEsUCH6iJGMGXfYAWgpMJ/6\n"
- "yHwikBDI0Ea5ckIW58eWHI6Hmd11DTSy6OGNnOFqyEe3S/m1zTtNNGiA0VcSyAjg\n"
- "98zaWGQHaQuqczqfoMz0dB5ly0mw2LfVxCPM8Z8xH1S9TNVqWnKu483Gp+2TkeKl\n"
- "bJ5dI1XMihaxFq6xf9OsULGtMd8biRNxl8f8zsfd0A9LoPJWKdp345OJ33ULwogI\n"
- "M6kUMw63AgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUarsjXomEecxGrV0LDBX8\n"
- "Dy+vh68wHwYDVR0jBBgwFoAU1aTwaphaQJeRY+IF9NNTmHHpIQ0wDQYJKoZIhvcN\n"
- "AQELBQADggEBALGbNfhgr46cnDIbvPxXmNmMm840oVc9n5pW4be9emTWO67zkqll\n"
- "KBjLbEAZTVSsjqPh8357iR5nVAen23eVYD5eGkuDZZAP3kvfVNVNCTQAEm0XDAse\n"
- "kxbxL0ZWezMbC/U8R3tFSDZOCb/bM+wCKg1hX5My0+utKAmhbwlYQY9fKyhZCUdv\n"
- "GnO3f5JInJDH2FmG80RouZ8Av6CjOwfChz+SPTgrMsbTugYWX9SVQ8oRF+N7cudC\n"
- "7XlvScNQKlbzmMl2zLQOrL78djCLVdU70bZcpq1o7L/R59YNAB+4fGH8rTWZMYQB\n"
- "rSoCPlyNAYAqMPXPsUFV/ngeYNSbpTz3SGA=\n" "-----END CERTIFICATE-----\n" "\n";
-
-const gnutls_datum_t server_cert = {
- server_cert_pem,
- sizeof(server_cert_pem)
-};
+ /* 0 */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIzCCAgugAwIBAgIMVHc8lDcqr/T62g5oMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTIwIhgPMjAxNDExMjcxNTAwMzZaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQCsfFrZmOxA7ijkppwPtakc8ecuBRr9Dr4pe/alC/OXVZsZlAlnR0xd53XF\n"
+ "uUPwo9Ga2q7iY8+8yPRNs8gfl6IrHvUUtaukWdMlQq5nhRFaPgOzHOEZGGEUk3UF\n"
+ "R/8lld6xQFoe7FvHwQ5cIkIl0cN/I4jiUb9fQhRwcBPjmQbCisYXUZDe8KtCnkjw\n"
+ "ZZfOp7UclWPm+hv4G3cfeRUUis0Xf8sScjLAam7ojkGL9CeETXl1JGSqqmVN7svN\n"
+ "yDsiQebCSrA4wCt+ENe9rE6Cme6dEv+U4lyx4oijn4sNvPwwgmu+/g6XjhE6IWBL\n"
+ "kWXLJ1K4rixbqt3d3+H7IAFiX99bAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFNt6\n"
+ "DwawLeNaZ+5LMNBdeTVWZsmOMB8GA1UdIwQYMBaAFCjlkQq5yKVHzXPQLahHCcmS\n"
+ "AJRpMA0GCSqGSIb3DQEBCwUAA4IBAQClbMnEQpHwwqcdrGKiNXQYyJDClVfQFTlh\n"
+ "fTU2qUx8gfyP+1yR0lqsdremSzSjLPM6LmcJLAdu7GhL32Lc3068CCzDtd6vJDGf\n"
+ "vO1eudcixbAf7NuELCZM08wLuJvKQFlNYFSVZSb04habhcwgowsiy0YC+dF9XQKa\n"
+ "5YDGvOuMTqqKt5Wph+izCGQ+6WyRZQp2CIFWo0vBCYFaslaA/TBnsldIuACJFmg9\n"
+ "kmspW97ROmNr1jfQNyBVWjd1EER80zZCngXq4+JnP1tppJNcYFhHeqSGQCqASehY\n"
+ "CC7ITbKAK8IdwU4gVk7R92rOKyrFPimc1UwObNpxbL5jizZqemW7\n"
+ "-----END CERTIFICATE-----\n"
+ /* 3 */ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQxMTI3MTUwMDM2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC16A/jNGbd6oP3\n"
+ "t/neq6hlWopjKEPnM9FMZgPSNVsKtQEb1dOx2EDCuP3rC2POogAjo0NuE/SZtM0N\n"
+ "Nyf+X3QdjwcFdugMLTXGmGlEhCeWhSEjLwrd6eapdHzwpV0Ag22CvzoKEQenu92+\n"
+ "TI1MN/1j3XOgnOP3t4q5TeSZn7XtAMCBqt9b+LJT5XJ/sF6b1sH803HqV3CZ6ga+\n"
+ "kFY+uDcpImQEJNZi/B1xYObSHF+frg4SyeqjxiV9vmFHhRgLmD96iVukQTC/RPX3\n"
+ "ntl0wGBjpmglUVdcAJdZL7L2um1T1n3u+jS3U5FW7+MOnnTGqRT2pcYtHHLg2GDf\n"
+ "SSUpeuphAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU1aTwaphaQJeRY+IF9NNT\n"
+ "mHHpIQ0wDQYJKoZIhvcNAQELBQADggEBAGUjVPu4aeel7UmgUvjBEpGbw6j9wKRL\n"
+ "4vVgGllKWH0diISEjPcJv0dTDJs4ZbY7KAEc4DRCl1QwNFsuASP5BlMSrWo+eGiC\n"
+ "oxsndY2EIpHAheLHXkVwbOwM5VRN2IhlcmVtHM370luvJjNa1MXy1p1/VEjGS794\n"
+ "FgtMOm9yILCM8WqwRHOY/mAOu/9iY/Zfqfobm+IfqgBmQMOLAIMKJffh15meTDRi\n"
+ "W3QXdf/khr1T3JEJ55t1WxcC1cWV4FnecUU4wlKs1mBghV+/8cgbYjoIdUAsYsdv\n"
+ "SjySP3B65XXw9G3MmHOjNoRpF7Oeea8tN+zxw3xFx/a9Uq19BdOlrHE=\n"
+ "-----END CERTIFICATE-----\n"
+ /* 1 */ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFjCCAf6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCIYDzIwMTQxMTI3MTUwMDM2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOnFo6ntaysv14\n"
+ "ewFwkm+mbE/8hEiZEcMNnWNSJb9tgpATLgu9LefStzRIvzns4OyLL77TEz8Gl8gJ\n"
+ "syfba2aIKxLveO1jpqQSfkcVlufa/GHspPKMkHMjz1UB+fQEAazAjVKHoofemKxW\n"
+ "0TtLeuL0LoE4g452Yy60vxRNwOs7WPZ5lktIQTYZTYcEjiiVlrRXXGgo9qCSfG4n\n"
+ "B+TmlraGHHPlKINcsOJnZOOZ6qHx+ZpqeCvuD7apiPcVzfLhxdJFoznY4r/bdCZT\n"
+ "ehChrKCYk5DmaPRBW0TLWoYrny745SG9U8XzTkKYaCDLhyMvn1oMrRVdbwO3/e6q\n"
+ "DbEvbpUrAgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUKOWRCrnIpUfNc9AtqEcJ\n"
+ "yZIAlGkwHwYDVR0jBBgwFoAUarsjXomEecxGrV0LDBX8Dy+vh68wDQYJKoZIhvcN\n"
+ "AQELBQADggEBAKgo2SIyLywamhcqLnhxCXgx0SHJgmEVD7CvPgTISZisg5yMS77G\n"
+ "WqtHbyo7kOYIjbrzVRGOsijKmgCgqNTQXSMbWUfDOV93q82nV0bjQtnvZKMc0+OM\n"
+ "/cB5PA7BFKvVrpYGefFQtrgkFhHSoUwDtpJAdYJPWgUMiqpvDuQdD/d6FQ18rb7w\n"
+ "QuIIvUeHaawm8HLrJ5JZoy7BnryY4SEFqGSTeNWp4CyeTeQPAcCdZ3NlnSDV1RM2\n"
+ "QelcD8S6GAp8l8LcF1zqiaoqWVYdeVnO6Doabx/IP7ZxctcdaEAdUQYjJ/dG3A2p\n"
+ "wpf3tVoOBKFByhdBrz7uda09sq57+AmvQdk=\n"
+ "-----END CERTIFICATE-----\n"
+ /* 2 */ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQxMTI3MTUwMDM2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDft9fjnipXU+WO\n"
+ "NsIhqVgTkwQPWklvuJbAphYa0oCm/+S0dvalVEq9RMqV+sUtqrZ55LsHxvtD1iu9\n"
+ "03kf/FcqaAjSVZBt6n8JIfl4xyi//FYizamm2KEsBCEsUCH6iJGMGXfYAWgpMJ/6\n"
+ "yHwikBDI0Ea5ckIW58eWHI6Hmd11DTSy6OGNnOFqyEe3S/m1zTtNNGiA0VcSyAjg\n"
+ "98zaWGQHaQuqczqfoMz0dB5ly0mw2LfVxCPM8Z8xH1S9TNVqWnKu483Gp+2TkeKl\n"
+ "bJ5dI1XMihaxFq6xf9OsULGtMd8biRNxl8f8zsfd0A9LoPJWKdp345OJ33ULwogI\n"
+ "M6kUMw63AgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUarsjXomEecxGrV0LDBX8\n"
+ "Dy+vh68wHwYDVR0jBBgwFoAU1aTwaphaQJeRY+IF9NNTmHHpIQ0wDQYJKoZIhvcN\n"
+ "AQELBQADggEBALGbNfhgr46cnDIbvPxXmNmMm840oVc9n5pW4be9emTWO67zkqll\n"
+ "KBjLbEAZTVSsjqPh8357iR5nVAen23eVYD5eGkuDZZAP3kvfVNVNCTQAEm0XDAse\n"
+ "kxbxL0ZWezMbC/U8R3tFSDZOCb/bM+wCKg1hX5My0+utKAmhbwlYQY9fKyhZCUdv\n"
+ "GnO3f5JInJDH2FmG80RouZ8Av6CjOwfChz+SPTgrMsbTugYWX9SVQ8oRF+N7cudC\n"
+ "7XlvScNQKlbzmMl2zLQOrL78djCLVdU70bZcpq1o7L/R59YNAB+4fGH8rTWZMYQB\n"
+ "rSoCPlyNAYAqMPXPsUFV/ngeYNSbpTz3SGA=\n"
+ "-----END CERTIFICATE-----\n"
+ "\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEowIBAAKCAQEArHxa2ZjsQO4o5KacD7WpHPHnLgUa/Q6+KXv2pQvzl1WbGZQJ\n"
- "Z0dMXed1xblD8KPRmtqu4mPPvMj0TbPIH5eiKx71FLWrpFnTJUKuZ4URWj4Dsxzh\n"
- "GRhhFJN1BUf/JZXesUBaHuxbx8EOXCJCJdHDfyOI4lG/X0IUcHAT45kGworGF1GQ\n"
- "3vCrQp5I8GWXzqe1HJVj5vob+Bt3H3kVFIrNF3/LEnIywGpu6I5Bi/QnhE15dSRk\n"
- "qqplTe7Lzcg7IkHmwkqwOMArfhDXvaxOgpnunRL/lOJcseKIo5+LDbz8MIJrvv4O\n"
- "l44ROiFgS5FlyydSuK4sW6rd3d/h+yABYl/fWwIDAQABAoIBAQCL0vc25C/I5wfB\n"
- "a4qhdYsVCsh0VvEs6TGgoXwtCYY7TMtBre79iR/QE902HtyDi9lT5ijVH0J88I6T\n"
- "GsWFTr/Iovzb//WXcrWmw+prwsRxWkpXfXbAiDHSo0K+uEGOr3JqUBd+b+5q/QZu\n"
- "C9uBmw0W2LCTft9bEk9NYp3M5/VB6DaQbk//b7E9KFc7nFgzeQaSYHu9NBSLGZ2e\n"
- "HqvzotiwlI6yfWTPm/esipXWaB4zqesx0TedoNK9SUAFdFBEHTyqm5RoGotjNLoM\n"
- "bN08Fj3qOJekjPGBrMu37UKoRGdaTyPlmCGZ0+HN2F4kuaUGE8HHnUU3VIA3lTMh\n"
- "LGt8jYpxAoGBAMsr8XlLsGFUgntHbCe5GhNKd9RJtRH1+zNw88ilfjttpxjggcL7\n"
- "KGbcCK1VOhuD0Ud1pTklYFOUckZY6y1b4nUkp5SG4w8OiIcIZeE9erKwprnHa9RF\n"
- "cewMtYhJ68evPrbM9UHEkTbdNBI4Cv561cY80pnsMTxy9al/aM23SLIJAoGBANlV\n"
- "0J/lUuA4Lsvrtu/IriwUguMIBw7hC5gBIU58K9Xpo6fr55VTt6OALDrY5zbCPf38\n"
- "pGMZgPsP3FG61BycA7jWB01Y++3COYKNKQtddWuY0SqCVS7Mdt6DwpYwUD7gRDY3\n"
- "aIHMUP45glYEVnHgpwNM09f+ldiK4TnCJuKYRM9DAoGAYM3NPlf78EQN76M2Oy8M\n"
- "54gh1DpSVf539CirXzzLCpHSfh3qdfapZ2kLkVr8VsPV4VCCqtnOLcSbNj2DwJb5\n"
- "LYuLdU9XvILWNlCgClP6tE1LA1WrYPa9sxTTId7mwrwTC5JYgT+hWRzIhK3DP0FT\n"
- "viKYzdImG4FC38HfM7VSo9ECgYBiP+wnTKlxmZR2NWIm9ibe4IrnDYr7S/tMxT4E\n"
- "WBgNBSkp0XiIxibfcCMOm12zII6b0mmSL0ZiuSHVhMs8/76jAYadjdud+U68WQo0\n"
- "DBT4BkaQnAjcNiyKnTALa13rfsD3bYb+HpqCwwbL0fwuUOvPjxy5qWqeUPJOhRnF\n"
- "GCcLNwKBgHtDlVG5lJqtNty4aL9oBgcP0VcY/73Dx+l25DhprdlTHsjg+ue0rpjA\n"
- "ieq7o2hENu6MA1AQ8o+BP6SlRuhYmvzh7vVbs3qFjnslaMCveHZDITN/0NJqF9xO\n"
- "IeKrLzOIboyQw/sMSrPIPYILgXP0YnueteOgPUSZEcrqPIJI08Sb\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEowIBAAKCAQEArHxa2ZjsQO4o5KacD7WpHPHnLgUa/Q6+KXv2pQvzl1WbGZQJ\n"
+ "Z0dMXed1xblD8KPRmtqu4mPPvMj0TbPIH5eiKx71FLWrpFnTJUKuZ4URWj4Dsxzh\n"
+ "GRhhFJN1BUf/JZXesUBaHuxbx8EOXCJCJdHDfyOI4lG/X0IUcHAT45kGworGF1GQ\n"
+ "3vCrQp5I8GWXzqe1HJVj5vob+Bt3H3kVFIrNF3/LEnIywGpu6I5Bi/QnhE15dSRk\n"
+ "qqplTe7Lzcg7IkHmwkqwOMArfhDXvaxOgpnunRL/lOJcseKIo5+LDbz8MIJrvv4O\n"
+ "l44ROiFgS5FlyydSuK4sW6rd3d/h+yABYl/fWwIDAQABAoIBAQCL0vc25C/I5wfB\n"
+ "a4qhdYsVCsh0VvEs6TGgoXwtCYY7TMtBre79iR/QE902HtyDi9lT5ijVH0J88I6T\n"
+ "GsWFTr/Iovzb//WXcrWmw+prwsRxWkpXfXbAiDHSo0K+uEGOr3JqUBd+b+5q/QZu\n"
+ "C9uBmw0W2LCTft9bEk9NYp3M5/VB6DaQbk//b7E9KFc7nFgzeQaSYHu9NBSLGZ2e\n"
+ "HqvzotiwlI6yfWTPm/esipXWaB4zqesx0TedoNK9SUAFdFBEHTyqm5RoGotjNLoM\n"
+ "bN08Fj3qOJekjPGBrMu37UKoRGdaTyPlmCGZ0+HN2F4kuaUGE8HHnUU3VIA3lTMh\n"
+ "LGt8jYpxAoGBAMsr8XlLsGFUgntHbCe5GhNKd9RJtRH1+zNw88ilfjttpxjggcL7\n"
+ "KGbcCK1VOhuD0Ud1pTklYFOUckZY6y1b4nUkp5SG4w8OiIcIZeE9erKwprnHa9RF\n"
+ "cewMtYhJ68evPrbM9UHEkTbdNBI4Cv561cY80pnsMTxy9al/aM23SLIJAoGBANlV\n"
+ "0J/lUuA4Lsvrtu/IriwUguMIBw7hC5gBIU58K9Xpo6fr55VTt6OALDrY5zbCPf38\n"
+ "pGMZgPsP3FG61BycA7jWB01Y++3COYKNKQtddWuY0SqCVS7Mdt6DwpYwUD7gRDY3\n"
+ "aIHMUP45glYEVnHgpwNM09f+ldiK4TnCJuKYRM9DAoGAYM3NPlf78EQN76M2Oy8M\n"
+ "54gh1DpSVf539CirXzzLCpHSfh3qdfapZ2kLkVr8VsPV4VCCqtnOLcSbNj2DwJb5\n"
+ "LYuLdU9XvILWNlCgClP6tE1LA1WrYPa9sxTTId7mwrwTC5JYgT+hWRzIhK3DP0FT\n"
+ "viKYzdImG4FC38HfM7VSo9ECgYBiP+wnTKlxmZR2NWIm9ibe4IrnDYr7S/tMxT4E\n"
+ "WBgNBSkp0XiIxibfcCMOm12zII6b0mmSL0ZiuSHVhMs8/76jAYadjdud+U68WQo0\n"
+ "DBT4BkaQnAjcNiyKnTALa13rfsD3bYb+HpqCwwbL0fwuUOvPjxy5qWqeUPJOhRnF\n"
+ "GCcLNwKBgHtDlVG5lJqtNty4aL9oBgcP0VcY/73Dx+l25DhprdlTHsjg+ue0rpjA\n"
+ "ieq7o2hENu6MA1AQ8o+BP6SlRuhYmvzh7vVbs3qFjnslaMCveHZDITN/0NJqF9xO\n"
+ "IeKrLzOIboyQw/sMSrPIPYILgXP0YnueteOgPUSZEcrqPIJI08Sb\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd)
{
@@ -197,10 +196,10 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- ret =
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
- &p);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
+ &p);
if (ret < 0) {
fail("error in setting priority: %s\n", p);
exit(1);
@@ -216,8 +215,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
if (debug) {
@@ -232,8 +230,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
@@ -264,18 +262,18 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
+ NULL);
if (debug) {
gnutls_global_set_log_level(4711);
}
gnutls_certificate_allocate_credentials(&x509_cred);
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("server: gnutls_certificate_set_x509_key_mem: %s\n",
gnutls_strerror(ret));
@@ -288,16 +286,15 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (debug)
success("server: Handshake was completed\n");
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
gnutls_deinit(session);
@@ -357,4 +354,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-discard.c b/tests/mini-dtls-discard.c
index 121374f0d4..69fe5ce92d 100644
--- a/tests/mini-dtls-discard.c
+++ b/tests/mini-dtls-discard.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,26 +35,26 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <errno.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <errno.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
-# include "utils.h"
+#include "utils.h"
-# define TXT1 "hello there"
-# define TXT1_SIZE (sizeof(TXT1)-1)
+#define TXT1 "hello there"
+#define TXT1_SIZE (sizeof(TXT1) - 1)
-# define TXT2 "2hello there"
-# define TXT2_SIZE (sizeof(TXT2)-1)
+#define TXT2 "2hello there"
+#define TXT2_SIZE (sizeof(TXT2) - 1)
static void terminate(void);
@@ -68,7 +68,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -118,8 +118,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -132,8 +131,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_transport_set_push_function(session, push);
do {
@@ -206,8 +205,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -220,8 +218,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -258,8 +256,7 @@ static void server(int fd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int fd[2];
int ret;
@@ -295,10 +292,8 @@ void start(const char *prio)
void doit(void)
{
- start
- ("NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL");
- start
- ("NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL");
+ start("NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL");
+ start("NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-fork.c b/tests/mini-dtls-fork.c
index 9985dd06f4..3c5ca1d02a 100644
--- a/tests/mini-dtls-fork.c
+++ b/tests/mini-dtls-fork.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,10 +33,10 @@
#include <signal.h>
#include <unistd.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
#endif
#include "utils.h"
@@ -74,39 +74,36 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
- "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
- "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
- "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
- "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
- "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
- "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
- "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
- "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
- "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
+ "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
+ "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
+ "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
+ "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
+ "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
+ "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
+ "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
+ "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
+ "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
- "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
- "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
+ "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
+ "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n"
+ "-----END EC PRIVATE KEY-----\n";
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
-# define MSG "hello1111"
-# define MSG2 "xxxxxxxxxxxx"
+#define MSG "hello1111"
+#define MSG2 "xxxxxxxxxxxx"
-static
-void do_fork_stuff(gnutls_session_t session)
+static void do_fork_stuff(gnutls_session_t session)
{
pid_t pid;
int ret;
@@ -119,13 +116,13 @@ void do_fork_stuff(gnutls_session_t session)
} else if (pid != 0) {
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
sec_sleep(1);
/* the server should reflect our messages */
ret = gnutls_record_recv(session, buf, sizeof(buf));
- if (ret != sizeof(MSG) - 1
- || memcmp(buf, MSG, sizeof(MSG) - 1) != 0) {
+ if (ret != sizeof(MSG) - 1 ||
+ memcmp(buf, MSG, sizeof(MSG) - 1) != 0) {
fail("client: recv failed: %s\n", gnutls_strerror(ret));
exit(1);
}
@@ -135,8 +132,8 @@ void do_fork_stuff(gnutls_session_t session)
}
ret = gnutls_record_recv(session, buf, sizeof(buf));
- if (ret != sizeof(MSG2) - 1
- || memcmp(buf, MSG2, sizeof(MSG2) - 1) != 0) {
+ if (ret != sizeof(MSG2) - 1 ||
+ memcmp(buf, MSG2, sizeof(MSG2) - 1) != 0) {
fail("client: recv2 failed: %s\n",
gnutls_strerror(ret));
exit(1);
@@ -152,7 +149,7 @@ void do_fork_stuff(gnutls_session_t session)
gnutls_strerror(ret));
exit(1);
}
- } else if (pid == 0) { /* child */
+ } else if (pid == 0) { /* child */
ret = gnutls_record_send(session, MSG, sizeof(MSG) - 1);
if (ret != sizeof(MSG) - 1) {
fail("client: send failed: %s\n", gnutls_strerror(ret));
@@ -230,9 +227,10 @@ static void client(int fd, unsigned do_fork)
//gnutls_transport_set_push_function(session, push);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -244,8 +242,7 @@ static void client(int fd, unsigned do_fork)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -281,13 +278,13 @@ static void server(int fd, unsigned do_fork)
*/
global_init();
-# if 0
+#if 0
if (debug) {
side = "server";
gnutls_global_set_log_function(tls_log_func);
gnutls_global_set_log_level(4711);
}
-# endif
+#endif
gnutls_certificate_allocate_credentials(&x509_cred);
gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
@@ -301,9 +298,10 @@ static void server(int fd, unsigned do_fork)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -324,8 +322,8 @@ static void server(int fd, unsigned do_fork)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (do_fork)
do_fork_stuff(session);
@@ -343,8 +341,7 @@ static void server(int fd, unsigned do_fork)
success("server: finished\n");
}
-static
-void run(unsigned do_fork)
+static void run(unsigned do_fork)
{
int fd[2];
int ret;
@@ -383,4 +380,4 @@ void doit(void)
run(0);
run(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-heartbeat.c b/tests/mini-dtls-heartbeat.c
index b541683cac..8c5d4db225 100644
--- a/tests/mini-dtls-heartbeat.c
+++ b/tests/mini-dtls-heartbeat.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -69,7 +69,7 @@ static pid_t child;
/* A very basic DTLS client, with anonymous authentication, that exchanges heartbeats.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, int server_init)
{
@@ -95,9 +95,10 @@ static void client(int fd, int server_init)
gnutls_dtls_set_mtu(session, 1500);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -109,8 +110,7 @@ static void client(int fd, int server_init)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -123,18 +123,17 @@ static void client(int fd, int server_init)
if (debug)
success("client: DTLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (!server_init) {
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
if (ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED) {
if (debug)
- success
- ("Ping received. Replying with pong.\n");
+ success("Ping received. Replying with pong.\n");
ret2 = gnutls_heartbeat_pong(session, 0);
if (ret2 < 0) {
fail("pong: %s\n",
@@ -142,9 +141,8 @@ static void client(int fd, int server_init)
exit(1);
}
}
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
if (ret < 0) {
fail("recv: %s\n", gnutls_strerror(ret));
@@ -152,14 +150,12 @@ static void client(int fd, int server_init)
}
} else {
do {
- ret =
- gnutls_heartbeat_ping(session, 256, 5,
- GNUTLS_HEARTBEAT_WAIT);
+ ret = gnutls_heartbeat_ping(session, 256, 5,
+ GNUTLS_HEARTBEAT_WAIT);
if (debug)
success("Ping sent.\n");
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fail("ping: %s\n", gnutls_strerror(ret));
@@ -189,9 +185,10 @@ static gnutls_session_t initialize_tls_session(void)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
return session;
}
@@ -229,8 +226,7 @@ static void server(int fd, int server_init)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -243,21 +239,20 @@ static void server(int fd, int server_init)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
if (server_init) {
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
if (ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED) {
if (debug)
- success
- ("Ping received. Replying with pong.\n");
+ success("Ping received. Replying with pong.\n");
ret2 = gnutls_heartbeat_pong(session, 0);
if (ret2 < 0) {
fail("pong: %s\n",
@@ -265,19 +260,16 @@ static void server(int fd, int server_init)
terminate();
}
}
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_HEARTBEAT_PING_RECEIVED);
} else {
do {
- ret =
- gnutls_heartbeat_ping(session, 256, 5,
- GNUTLS_HEARTBEAT_WAIT);
+ ret = gnutls_heartbeat_ping(session, 256, 5,
+ GNUTLS_HEARTBEAT_WAIT);
if (debug)
success("Ping sent.\n");
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fail("ping: %s\n", gnutls_strerror(ret));
@@ -340,4 +332,4 @@ void doit(void)
start(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-hello-verify-48.c b/tests/mini-dtls-hello-verify-48.c
index d16116612a..b37a0d78e5 100644
--- a/tests/mini-dtls-hello-verify-48.c
+++ b/tests/mini-dtls-hello-verify-48.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,20 +41,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <sys/select.h>
-# include <errno.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <sys/select.h>
+#include <errno.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+
+#include "utils.h"
static void server_log_func(int level, const char *str)
{
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -98,9 +98,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -113,8 +114,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
success("client: Handshake failed as expected\n");
@@ -125,7 +125,7 @@ static void client(int fd)
goto exit;
}
- exit:
+exit:
gnutls_deinit(session);
gnutls_anon_free_client_credentials(anoncred);
@@ -136,12 +136,11 @@ static void client(int fd)
/* These are global */
pid_t child;
-# define CLI_ADDR (void*)"test"
-# define CLI_ADDR_LEN 4
+#define CLI_ADDR (void *)"test"
+#define CLI_ADDR_LEN 4
-static
-ssize_t recv_timeout(int sockfd, void *buf, size_t len, unsigned flags,
- unsigned sec)
+static ssize_t recv_timeout(int sockfd, void *buf, size_t len, unsigned flags,
+ unsigned sec)
{
int ret;
struct timeval tv;
@@ -165,7 +164,7 @@ ssize_t recv_timeout(int sockfd, void *buf, size_t len, unsigned flags,
return recv(sockfd, buf, len, flags);
}
-# define SERV_TIMEOUT 30
+#define SERV_TIMEOUT 30
static void server(int fd)
{
@@ -201,9 +200,10 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -211,9 +211,8 @@ static void server(int fd)
gnutls_transport_set_push_function(session, push);
for (;;) {
- ret =
- recv_timeout(fd, buffer, sizeof(buffer), MSG_PEEK,
- SERV_TIMEOUT);
+ ret = recv_timeout(fd, buffer, sizeof(buffer), MSG_PEEK,
+ SERV_TIMEOUT);
if (ret < 0) {
if (try != 0) {
success("Server was terminated as expected!\n");
@@ -228,20 +227,16 @@ static void server(int fd)
memset(&prestate, 0, sizeof(prestate));
prestate.record_seq = 105791312;
prestate.hsk_write_seq = 67166359;
- ret =
- gnutls_dtls_cookie_verify(&cookie_key, CLI_ADDR,
- CLI_ADDR_LEN, buffer, ret,
- &prestate);
- if (ret < 0) { /* cookie not valid */
+ ret = gnutls_dtls_cookie_verify(&cookie_key, CLI_ADDR,
+ CLI_ADDR_LEN, buffer, ret,
+ &prestate);
+ if (ret < 0) { /* cookie not valid */
if (debug)
success("Sending hello verify request\n");
- ret =
- gnutls_dtls_cookie_send(&cookie_key, CLI_ADDR,
- CLI_ADDR_LEN,
- &prestate,
- (gnutls_transport_ptr_t)
- (long)fd, push);
+ ret = gnutls_dtls_cookie_send(
+ &cookie_key, CLI_ADDR, CLI_ADDR_LEN, &prestate,
+ (gnutls_transport_ptr_t)(long)fd, push);
if (ret < 0) {
fail("Cannot send data\n");
exit(1);
@@ -266,7 +261,7 @@ static void server(int fd)
fail("Shouldn't have reached here\n");
exit(1);
- exit:
+exit:
gnutls_deinit(session);
gnutls_free(cookie_key.data);
@@ -309,4 +304,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-hello-verify.c b/tests/mini-dtls-hello-verify.c
index 0eb8172180..f6c814c573 100644
--- a/tests/mini-dtls-hello-verify.c
+++ b/tests/mini-dtls-hello-verify.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -99,9 +99,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -114,8 +115,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -128,8 +128,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, MAX_BUF);
@@ -146,7 +146,7 @@ static void client(int fd)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -169,8 +169,8 @@ static void terminate(void)
exit(1);
}
-# define CLI_ADDR (void*)"test"
-# define CLI_ADDR_LEN 4
+#define CLI_ADDR (void *)"test"
+#define CLI_ADDR_LEN 4
static void server(int fd)
{
@@ -205,9 +205,10 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -222,20 +223,16 @@ static void server(int fd)
}
memset(&prestate, 0, sizeof(prestate));
- ret =
- gnutls_dtls_cookie_verify(&cookie_key, CLI_ADDR,
- CLI_ADDR_LEN, buffer, ret,
- &prestate);
- if (ret < 0) { /* cookie not valid */
+ ret = gnutls_dtls_cookie_verify(&cookie_key, CLI_ADDR,
+ CLI_ADDR_LEN, buffer, ret,
+ &prestate);
+ if (ret < 0) { /* cookie not valid */
if (debug)
success("Sending hello verify request\n");
- ret =
- gnutls_dtls_cookie_send(&cookie_key, CLI_ADDR,
- CLI_ADDR_LEN,
- &prestate,
- (gnutls_transport_ptr_t)
- (long)fd, push);
+ ret = gnutls_dtls_cookie_send(
+ &cookie_key, CLI_ADDR, CLI_ADDR_LEN, &prestate,
+ (gnutls_transport_ptr_t)(long)fd, push);
if (ret < 0) {
fail("Cannot send data\n");
terminate();
@@ -261,8 +258,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -275,8 +271,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -343,4 +339,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-large.c b/tests/mini-dtls-large.c
index 6e8270247e..1c67386fe9 100644
--- a/tests/mini-dtls-large.c
+++ b/tests/mini-dtls-large.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,17 +33,17 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -66,8 +66,8 @@ static pid_t child;
/* A very basic DTLS client, with anonymous authentication, that exchanges heartbeats.
*/
-# define MAX_BUF 24*1024
-# define MAX_MTU 20*1024
+#define MAX_BUF 24 * 1024
+#define MAX_MTU 20 * 1024
static void client(int fd)
{
@@ -93,9 +93,10 @@ static void client(int fd)
gnutls_dtls_set_mtu(session, 1500);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -107,8 +108,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -121,13 +121,13 @@ static void client(int fd)
if (debug)
success("client: DTLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer));
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED || ret > 0);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED ||
+ ret > 0);
if (ret < 0) {
fail("recv: %s\n", gnutls_strerror(ret));
@@ -174,9 +174,10 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -184,8 +185,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -198,8 +198,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -207,50 +207,44 @@ static void server(int fd)
/* avoid uninitialized warnings */
memset(buffer, 1, sizeof(buffer));
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session) + 12);
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session) + 12);
if (ret != GNUTLS_E_LARGE_PACKET) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
}
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session) + 5048);
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session) + 5048);
if (ret != GNUTLS_E_LARGE_PACKET) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
}
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session));
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session));
if (ret < 0) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
}
gnutls_dtls_set_mtu(session, MAX_MTU);
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session) + 12);
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session) + 12);
if (ret != GNUTLS_E_LARGE_PACKET) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
}
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session) + 5048);
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session) + 5048);
if (ret != GNUTLS_E_LARGE_PACKET) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
}
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session));
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session));
if (ret > 16384 || ret < 0) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
@@ -259,9 +253,8 @@ static void server(int fd)
/* test cork and uncork */
gnutls_record_cork(session);
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session));
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session));
if (ret < 0) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
@@ -275,17 +268,15 @@ static void server(int fd)
gnutls_record_cork(session);
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session) - 16);
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session) - 16);
if (ret < 0) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
}
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session));
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session));
if (ret != GNUTLS_E_LARGE_PACKET) {
terminate();
fail("send[%d]: %s\n", __LINE__, gnutls_strerror(ret));
@@ -349,4 +340,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-lowmtu.c b/tests/mini-dtls-lowmtu.c
index 2aed25913e..44afee7645 100644
--- a/tests/mini-dtls-lowmtu.c
+++ b/tests/mini-dtls-lowmtu.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,18 +37,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -67,38 +67,36 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
- "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
- "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
- "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
- "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
- "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
- "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
- "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
- "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
- "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
+ "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
+ "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
+ "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
+ "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
+ "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
+ "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
+ "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
+ "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
+ "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
- "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
- "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
+ "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
+ "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n"
+ "-----END EC PRIVATE KEY-----\n";
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static int mtu = 0;
@@ -124,7 +122,7 @@ static void client(int fd, const char *prio)
/* Initialize TLS session
*/
gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM);
-// gnutls_dtls_set_mtu(session, 104);
+ // gnutls_dtls_set_mtu(session, 104);
/* Use default priorities */
gnutls_priority_set_direct(session, prio, NULL);
@@ -140,8 +138,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s (%d)\n",
@@ -154,8 +151,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
@@ -176,7 +173,7 @@ static void client(int fd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -237,8 +234,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -251,14 +247,13 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
mtu = gnutls_dtls_get_mtu(session);
do {
- ret =
- gnutls_record_send(session, buffer,
- gnutls_dtls_get_data_mtu(session));
+ ret = gnutls_record_send(session, buffer,
+ gnutls_dtls_get_data_mtu(session));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fail("Error sending packet: %s\n", gnutls_strerror(ret));
@@ -311,7 +306,8 @@ static void start(const char *prio)
}
}
-# define AES_GCM "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+ECDHE-ECDSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+ECDHE-ECDSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -328,4 +324,4 @@ void doit(void)
start(AES_GCM);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-mtu.c b/tests/mini-dtls-mtu.c
index cb31fb05c0..5eb804582a 100644
--- a/tests/mini-dtls-mtu.c
+++ b/tests/mini-dtls-mtu.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,13 +31,13 @@
#include <signal.h>
#include <unistd.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
#endif
#include "utils.h"
-#define SERVER_MTU 500
+#define SERVER_MTU 500
#ifdef _WIN32
@@ -48,7 +48,7 @@ void doit(void)
#else
-# include <sys/wait.h>
+#include <sys/wait.h>
/* Tests whether packing multiple DTLS records in a single UDP packet
* will be handled correctly.
@@ -62,33 +62,31 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
- "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
- "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
- "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
- "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
- "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
- "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
- "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
- "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
- "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
+ "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
+ "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
+ "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
+ "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
+ "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
+ "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
+ "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
+ "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
+ "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
- "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
- "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
+ "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
+ "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n"
+ "-----END EC PRIVATE KEY-----\n";
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static int client_pull_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
{
@@ -117,7 +115,8 @@ static ssize_t client_pull(gnutls_transport_ptr_t ptr, void *data, size_t len)
ret = recv(fd, data, len, 0);
if (ret > SERVER_MTU) {
- fail("client: packet size beyond server MTU, got %d bytes, expect max. %d bytes\n", (int)ret, SERVER_MTU);
+ fail("client: packet size beyond server MTU, got %d bytes, expect max. %d bytes\n",
+ (int)ret, SERVER_MTU);
exit(1);
}
@@ -148,9 +147,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -165,8 +165,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -179,8 +178,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -232,9 +231,10 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -242,8 +242,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -256,8 +255,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
@@ -309,4 +308,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-record-asym.c b/tests/mini-dtls-record-asym.c
index 0082abdec7..42c425cbd4 100644
--- a/tests/mini-dtls-record-asym.c
+++ b/tests/mini-dtls-record-asym.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,12 +43,12 @@ void doit(void)
#else
-# include <limits.h>
-# include <netinet/in.h>
-# include <poll.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
+#include <limits.h>
+#include <netinet/in.h>
+#include <poll.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
/* Tests whether packing multiple DTLS records in a single UDP packet
* will be handled correctly, as well as an asymmetry in MTU sizes
@@ -77,7 +77,7 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
memcpy(&buffer[buffer_size], data, len);
buffer_size += len;
- if (d[0] == 22) { /* handshake */
+ if (d[0] == 22) { /* handshake */
if (d[13] == GNUTLS_HANDSHAKE_CERTIFICATE_PKT ||
d[13] == GNUTLS_HANDSHAKE_CERTIFICATE_STATUS ||
d[13] == GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE ||
@@ -86,17 +86,15 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
d[13] == GNUTLS_HANDSHAKE_NEW_SESSION_TICKET ||
d[13] == GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY ||
d[13] == GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE) {
-
if (debug)
fprintf(stderr, "caching: %s (buffer: %d)\n",
- gnutls_handshake_description_get_name(d
- [13]),
+ gnutls_handshake_description_get_name(
+ d[13]),
buffer_size);
return len;
} else if (debug) {
fprintf(stderr, "sending: %s\n",
gnutls_handshake_description_get_name(d[13]));
-
}
}
@@ -112,33 +110,31 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
- "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
- "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
- "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
- "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
- "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
- "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
- "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
- "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
- "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
- "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHzCCAaWgAwIBAgIBCTAKBggqhkjOPQQDAjA+MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxHDAaBgNVBAMTE1BvbGFyc3NsIFRlc3QgRUMgQ0EwHhcN\n"
+ "MTMwOTI0MTU1MjA0WhcNMjMwOTIyMTU1MjA0WjA0MQswCQYDVQQGEwJOTDERMA8G\n"
+ "A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDBZMBMGByqGSM49AgEG\n"
+ "CCqGSM49AwEHA0IABDfMVtl2CR5acj7HWS3/IG7ufPkGkXTQrRS192giWWKSTuUA\n"
+ "2CMR/+ov0jRdXRa9iojCa3cNVc2KKg76Aci07f+jgZ0wgZowCQYDVR0TBAIwADAd\n"
+ "BgNVHQ4EFgQUUGGlj9QH2deCAQzlZX+MY0anE74wbgYDVR0jBGcwZYAUnW0gJEkB\n"
+ "PyvLeLUZvH4kydv7NnyhQqRAMD4xCzAJBgNVBAYTAk5MMREwDwYDVQQKEwhQb2xh\n"
+ "clNTTDEcMBoGA1UEAxMTUG9sYXJzc2wgVGVzdCBFQyBDQYIJAMFD4n5iQ8zoMAoG\n"
+ "CCqGSM49BAMCA2gAMGUCMQCaLFzXptui5WQN8LlO3ddh1hMxx6tzgLvT03MTVK2S\n"
+ "C12r0Lz3ri/moSEpNZWqPjkCMCE2f53GXcYLqyfyJR078c/xNSUU5+Xxl7VZ414V\n"
+ "fGa5kHvHARBPc8YAIVIqDvHH1Q==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
- "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
- "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHcCAQEEIPEqEyB2AnCoPL/9U/YDHvdqXYbIogTywwyp6/UfDw6noAoGCCqGSM49\n"
+ "AwEHoUQDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/\n"
+ "6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/w==\n"
+ "-----END EC PRIVATE KEY-----\n";
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void client(int fd, unsigned cache)
{
@@ -168,9 +164,10 @@ static void client(int fd, unsigned cache)
//gnutls_transport_set_push_function(session, push);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -189,8 +186,8 @@ static void client(int fd, unsigned cache)
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_AGAIN
- && gnutls_record_get_direction(session) == 0) {
+ if (ret == GNUTLS_E_AGAIN &&
+ gnutls_record_get_direction(session) == 0) {
int rv;
pfd.fd = fd;
pfd.events = POLLIN;
@@ -206,8 +203,7 @@ static void client(int fd, unsigned cache)
fail("test %d: No data were received.\n",
cache);
}
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -220,8 +216,8 @@ static void client(int fd, unsigned cache)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -256,13 +252,13 @@ static void server(int fd, unsigned cache)
*/
global_init();
-# if 0
+#if 0
if (debug) {
side = "server";
gnutls_global_set_log_function(tls_log_func);
gnutls_global_set_log_level(4711);
}
-# endif
+#endif
gnutls_certificate_allocate_credentials(&x509_cred);
gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
@@ -278,9 +274,10 @@ static void server(int fd, unsigned cache)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-ECDSA:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -301,8 +298,8 @@ static void server(int fd, unsigned cache)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
@@ -319,8 +316,7 @@ static void server(int fd, unsigned cache)
success("server: finished\n");
}
-static
-void run(unsigned cache)
+static void run(unsigned cache)
{
int fd[2];
int ret;
@@ -359,4 +355,4 @@ void doit(void)
run(0);
run(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-record.c b/tests/mini-dtls-record.c
index 8ab32c681f..81e753de01 100644
--- a/tests/mini-dtls-record.c
+++ b/tests/mini-dtls-record.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,19 +36,19 @@ int main(void)
#else
-# include <string.h>
-# include <errno.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static int test_finished = 0;
static void terminate(void);
@@ -82,16 +82,14 @@ static pid_t child;
/* A test client/server app for DTLS duplicate packet detection.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
-# define MAX_SEQ 128
+#define MAX_SEQ 128
-static int msg_seq[] =
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 16, 5, 32, 11, 11, 11, 11, 12,
- 10, 13, 14, 15, 16, 17, 19, 20, 18, 22, 24, 23, 25, 26, 27, 29, 28,
- 29, 29, 30, 31, 32, 33, 34, 35, 37, 36, 38, 39, 42, 37, 40, 41, 41,
- -1
-};
+static int msg_seq[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 16, 5,
+ 32, 11, 11, 11, 11, 12, 10, 13, 14, 15, 16, 17, 19, 20,
+ 18, 22, 24, 23, 25, 26, 27, 29, 28, 29, 29, 30, 31, 32,
+ 33, 34, 35, 37, 36, 38, 39, 42, 37, 40, 41, 41, -1 };
static unsigned int current = 0;
static unsigned int pos = 0;
@@ -118,14 +116,11 @@ static ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
for (i = pos; i <= current; i++) {
if (stored_messages[msg_seq[i]] != NULL) {
do {
- ret =
- send((long int)tr,
- stored_messages[msg_seq
- [i]],
- stored_sizes[msg_seq[i]], 0);
- }
- while (ret == -1
- && (errno == EAGAIN || errno == EINTR));
+ ret = send((long int)tr,
+ stored_messages[msg_seq[i]],
+ stored_sizes[msg_seq[i]], 0);
+ } while (ret == -1 &&
+ (errno == EAGAIN || errno == EINTR));
pos++;
} else
break;
@@ -133,8 +128,7 @@ static ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
} else if (msg_seq[current] == (int)current) {
do {
ret = send((long int)tr, data, len, 0);
- }
- while (ret == -1 && (errno == EAGAIN || errno == EINTR));
+ } while (ret == -1 && (errno == EAGAIN || errno == EINTR));
current++;
pos++;
@@ -142,12 +136,10 @@ static ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
return ret;
} else if (stored_messages[msg_seq[current]] != NULL) {
do {
- ret =
- send((long int)tr,
- stored_messages[msg_seq[current]],
- stored_sizes[msg_seq[current]], 0);
- }
- while (ret == -1 && (errno == EAGAIN || errno == EINTR));
+ ret = send((long int)tr,
+ stored_messages[msg_seq[current]],
+ stored_sizes[msg_seq[current]], 0);
+ } while (ret == -1 && (errno == EAGAIN || errno == EINTR));
current++;
pos++;
return ret;
@@ -164,11 +156,10 @@ static ssize_t n_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
}
/* The first five messages are handshake. Thus corresponds to msg_seq+5 */
-static int recv_msg_seq[] =
- { 1, 2, 3, 4, 5, 6, 12, 28, 7, 8, 9, 10, 11, 13, 15, 16, 14, 18, 20,
- 19, 21, 22, 23, 25, 24, 26, 27, 29, 30, 31, 33, 32, 34, 35, 38, 36, 37,
- -1
-};
+static int recv_msg_seq[] = { 1, 2, 3, 4, 5, 6, 12, 28, 7, 8,
+ 9, 10, 11, 13, 15, 16, 14, 18, 20, 19,
+ 21, 22, 23, 25, 24, 26, 27, 29, 30, 31,
+ 33, 32, 34, 35, 38, 36, 37, -1 };
static void client(int fd)
{
@@ -183,7 +174,7 @@ static void client(int fd)
/* Need to enable anonymous KX specifically. */
-/* gnutls_global_set_audit_log_function (tls_audit_log_func); */
+ /* gnutls_global_set_audit_log_function (tls_audit_log_func); */
global_init();
if (debug) {
@@ -202,9 +193,10 @@ static void client(int fd)
gnutls_dtls_set_mtu(session, 1500);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -216,8 +208,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -232,17 +223,15 @@ static void client(int fd)
if (debug)
success("client: DTLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
- ret =
- gnutls_record_recv_seq(session, buffer, sizeof(buffer),
- seq);
+ ret = gnutls_record_recv_seq(session, buffer, sizeof(buffer),
+ seq);
if (ret > 0) {
- useq =
- seq[7] | (seq[6] << 8) | (seq[5] << 16) |
- (seq[4] << 24);
+ useq = seq[7] | (seq[6] << 8) | (seq[5] << 16) |
+ (seq[4] << 24);
if (debug)
success("received %u\n", (unsigned int)useq);
@@ -251,16 +240,17 @@ static void client(int fd)
fail("received message sequence differs\n");
exit(1);
}
- if (((uint32_t) recv_msg_seq[current]) != useq) {
- fail("received message sequence differs (current: %u, got: %u, expected: %u)\n", (unsigned)current, (unsigned)useq, (unsigned)recv_msg_seq[current]);
+ if (((uint32_t)recv_msg_seq[current]) != useq) {
+ fail("received message sequence differs (current: %u, got: %u, expected: %u)\n",
+ (unsigned)current, (unsigned)useq,
+ (unsigned)recv_msg_seq[current]);
exit(1);
}
current++;
}
- }
- while ((ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED
- || ret > 0));
+ } while ((ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED ||
+ ret > 0));
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -308,17 +298,17 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -331,28 +321,25 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_record_recv(session, &c, 1);
do {
do {
ret = gnutls_record_send(session, &c, 1);
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
fail("send: %s\n", gnutls_strerror(ret));
terminate();
}
- }
- while (test_finished == 0);
+ } while (test_finished == 0);
gnutls_transport_set_push_function(session, n_push);
do {
ret = gnutls_bye(session, GNUTLS_SHUT_WR);
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
close(fd);
gnutls_deinit(session);
@@ -404,4 +391,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls-srtp.c b/tests/mini-dtls-srtp.c
index d8c6c362bc..e6e758a9ba 100644
--- a/tests/mini-dtls-srtp.c
+++ b/tests/mini-dtls-srtp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
/* These are global */
static pid_t child;
-# define MAX_KEY_MATERIAL 64*4
+#define MAX_KEY_MATERIAL 64 * 4
/* A very basic DTLS client, with anonymous authentication, that negotiates SRTP
*/
@@ -96,19 +96,16 @@ static void client(int fd, int profile)
gnutls_dtls_set_mtu(session, 1500);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
if (profile)
- ret =
- gnutls_srtp_set_profile_direct(session,
- "SRTP_AES128_CM_HMAC_SHA1_80",
- NULL);
+ ret = gnutls_srtp_set_profile_direct(
+ session, "SRTP_AES128_CM_HMAC_SHA1_80", NULL);
else
- ret =
- gnutls_srtp_set_profile_direct(session,
- "SRTP_NULL_HMAC_SHA1_80",
- NULL);
+ ret = gnutls_srtp_set_profile_direct(
+ session, "SRTP_NULL_HMAC_SHA1_80", NULL);
if (ret < 0) {
gnutls_perror(ret);
exit(1);
@@ -124,8 +121,7 @@ static void client(int fd, int profile)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -138,12 +134,11 @@ static void client(int fd, int profile)
if (debug)
success("client: DTLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
- ret =
- gnutls_srtp_get_keys(session, km, sizeof(km), &cli_key,
- &cli_salt, &server_key, &server_salt);
+ ret = gnutls_srtp_get_keys(session, km, sizeof(km), &cli_key, &cli_salt,
+ &server_key, &server_salt);
if (ret < 0) {
gnutls_perror(ret);
exit(1);
@@ -214,20 +209,17 @@ static void server(int fd, int profile)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
if (profile)
- ret =
- gnutls_srtp_set_profile_direct(session,
- "SRTP_AES128_CM_HMAC_SHA1_80",
- NULL);
+ ret = gnutls_srtp_set_profile_direct(
+ session, "SRTP_AES128_CM_HMAC_SHA1_80", NULL);
else
- ret =
- gnutls_srtp_set_profile_direct(session,
- "SRTP_NULL_HMAC_SHA1_80",
- NULL);
+ ret = gnutls_srtp_set_profile_direct(
+ session, "SRTP_NULL_HMAC_SHA1_80", NULL);
if (ret < 0) {
gnutls_perror(ret);
exit(1);
@@ -239,8 +231,7 @@ static void server(int fd, int profile)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -253,12 +244,11 @@ static void server(int fd, int profile)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
- ret =
- gnutls_srtp_get_keys(session, km, sizeof(km), &cli_key,
- &cli_salt, &server_key, &server_salt);
+ ret = gnutls_srtp_get_keys(session, km, sizeof(km), &cli_key, &cli_salt,
+ &server_key, &server_salt);
if (ret < 0) {
gnutls_perror(ret);
exit(1);
@@ -337,4 +327,4 @@ void doit(void)
start(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-dtls0-9.c b/tests/mini-dtls0-9.c
index f532135024..be592f7f49 100644
--- a/tests/mini-dtls0-9.c
+++ b/tests/mini-dtls0-9.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
/* A very basic DTLS client handling DTLS 0.9 which sets premaster secret.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -75,8 +75,8 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
return send(fd, data, len, 0);
}
-static gnutls_datum_t master = { (void *)
- "\x44\x66\x44\xa9\xb6\x29\xed\x6e\xd6\x93\x15\xdb\xf0\x7d\x4b\x2e\x18\xb1\x9d\xed\xff\x6a\x86\x76\xc9\x0e\x16\xab\xc2\x10\xbb\x17\x99\x24\xb1\xd9\xb9\x95\xe7\xea\xea\xea\xea\xea\xff\xaa\xac",
+static gnutls_datum_t master = {
+ (void *)"\x44\x66\x44\xa9\xb6\x29\xed\x6e\xd6\x93\x15\xdb\xf0\x7d\x4b\x2e\x18\xb1\x9d\xed\xff\x6a\x86\x76\xc9\x0e\x16\xab\xc2\x10\xbb\x17\x99\x24\xb1\xd9\xb9\x95\xe7\xea\xea\xea\xea\xea\xff\xaa\xac",
48
};
static gnutls_datum_t sess_id = { (void *)"\xd9\xb9\x95\xe7\xea", 5 };
@@ -104,13 +104,13 @@ static void client(int fd, int proto, int cipher, int mac)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS0.9:+COMP-NULL:+AES-128-GCM:+AEAD:+AES-128-CBC:+SHA1:+RSA:%COMPAT",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS0.9:+COMP-NULL:+AES-128-GCM:+AEAD:+AES-128-CBC:+SHA1:+RSA:%COMPAT",
+ NULL);
- ret = gnutls_session_set_premaster(session, GNUTLS_CLIENT,
- proto, GNUTLS_KX_RSA,
- cipher, mac,
+ ret = gnutls_session_set_premaster(session, GNUTLS_CLIENT, proto,
+ GNUTLS_KX_RSA, cipher, mac,
GNUTLS_COMP_NULL, &master, &sess_id);
if (ret < 0) {
fail("client: gnutls_session_set_premaster failed: %s\n",
@@ -127,8 +127,7 @@ static void client(int fd, int proto, int cipher, int mac)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -141,8 +140,8 @@ static void client(int fd, int proto, int cipher, int mac)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -159,7 +158,7 @@ static void client(int fd, int proto, int cipher, int mac)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -210,13 +209,13 @@ static void server(int fd, int proto, int cipher, int mac)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS0.9:+COMP-NULL:+AES-128-CBC:+AES-128-GCM:+AEAD:+SHA1:+RSA:%COMPAT",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS0.9:+COMP-NULL:+AES-128-CBC:+AES-128-GCM:+AEAD:+SHA1:+RSA:%COMPAT",
+ NULL);
- ret = gnutls_session_set_premaster(session, GNUTLS_SERVER,
- proto, GNUTLS_KX_RSA,
- cipher, mac,
+ ret = gnutls_session_set_premaster(session, GNUTLS_SERVER, proto,
+ GNUTLS_KX_RSA, cipher, mac,
GNUTLS_COMP_NULL, &master, &sess_id);
if (ret < 0) {
fail("server: gnutls_session_set_premaster failed: %s\n",
@@ -231,8 +230,7 @@ static void server(int fd, int proto, int cipher, int mac)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -245,8 +243,8 @@ static void server(int fd, int proto, int cipher, int mac)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -322,4 +320,4 @@ void doit(void)
run(GNUTLS_DTLS0_9, GNUTLS_CIPHER_AES_128_GCM, GNUTLS_MAC_AEAD);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-eagain-dtls.c b/tests/mini-eagain-dtls.c
index 771f8691a5..f13c1bf6b3 100644
--- a/tests/mini-eagain-dtls.c
+++ b/tests/mini-eagain-dtls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,7 +43,8 @@ static void tls_log_func(int level, const char *str)
static int handshake = 0;
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
void doit(void)
{
@@ -72,10 +73,10 @@ void doit(void)
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
gnutls_anon_set_server_dh_params(s_anoncred, dh_params);
gnutls_init(&server, GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
- ret =
- gnutls_priority_set_direct(server,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
- NULL);
+ ret = gnutls_priority_set_direct(
+ server,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
+ NULL);
if (ret < 0)
exit(1);
gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anoncred);
@@ -88,10 +89,10 @@ void doit(void)
/* Init client */
gnutls_anon_allocate_client_credentials(&c_anoncred);
gnutls_init(&client, GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
- cret =
- gnutls_priority_set_direct(client,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
- NULL);
+ cret = gnutls_priority_set_direct(
+ client,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
+ NULL);
if (cret < 0)
exit(1);
gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred);
@@ -110,8 +111,7 @@ void doit(void)
do {
ret = gnutls_record_send(client, MSG, strlen(MSG));
- }
- while (ret == GNUTLS_E_AGAIN);
+ } while (ret == GNUTLS_E_AGAIN);
msglen = strlen(MSG);
TRANSFER(client, server, MSG, msglen, buffer, MAX_BUF);
diff --git a/tests/mini-emsgsize-dtls.c b/tests/mini-emsgsize-dtls.c
index 665f3a73f8..0ca6a54613 100644
--- a/tests/mini-emsgsize-dtls.c
+++ b/tests/mini-emsgsize-dtls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,15 +45,16 @@ static void tls_log_func(int level, const char *str)
static int handshake = 0;
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
-static ssize_t
-client_push_300(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t client_push_300(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
size_t newlen;
if (len > 300) {
- gnutls_transport_set_errno((gnutls_session_t) tr, EMSGSIZE);
+ gnutls_transport_set_errno((gnutls_session_t)tr, EMSGSIZE);
return -1;
}
@@ -69,13 +70,13 @@ client_push_300(gnutls_transport_ptr_t tr, const void *data, size_t len)
return len;
}
-static ssize_t
-server_push_300(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t server_push_300(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
size_t newlen;
if (len > 300) {
- gnutls_transport_set_errno((gnutls_session_t) tr, EMSGSIZE);
+ gnutls_transport_set_errno((gnutls_session_t)tr, EMSGSIZE);
return -1;
}
@@ -119,10 +120,10 @@ void doit(void)
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
gnutls_anon_set_server_dh_params(s_anoncred, dh_params);
gnutls_init(&server, GNUTLS_SERVER | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
- ret =
- gnutls_priority_set_direct(server,
- "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
- NULL);
+ ret = gnutls_priority_set_direct(
+ server,
+ "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
+ NULL);
if (ret < 0)
exit(1);
gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anoncred);
@@ -135,10 +136,10 @@ void doit(void)
/* Init client */
gnutls_anon_allocate_client_credentials(&c_anoncred);
gnutls_init(&client, GNUTLS_CLIENT | GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
- cret =
- gnutls_priority_set_direct(client,
- "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
- NULL);
+ cret = gnutls_priority_set_direct(
+ client,
+ "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
+ NULL);
if (cret < 0)
exit(1);
gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred);
@@ -162,8 +163,7 @@ void doit(void)
do {
ret = gnutls_record_send(client, MSG, strlen(MSG));
- }
- while (ret == GNUTLS_E_AGAIN);
+ } while (ret == GNUTLS_E_AGAIN);
msglen = strlen(MSG);
TRANSFER(client, server, MSG, msglen, buffer, MAX_BUF);
diff --git a/tests/mini-global-load.c b/tests/mini-global-load.c
index 7330317395..4c649ed7d1 100644
--- a/tests/mini-global-load.c
+++ b/tests/mini-global-load.c
@@ -23,7 +23,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,45 +42,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void start(const char *prio)
{
@@ -102,9 +99,8 @@ static void start(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, prio, NULL);
diff --git a/tests/mini-key-material.c b/tests/mini-key-material.c
index ffb0e88180..0b93d183be 100644
--- a/tests/mini-key-material.c
+++ b/tests/mini-key-material.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,17 +33,17 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -67,7 +67,7 @@ static pid_t child;
/* A very basic DTLS client, with anonymous authentication, that negotiates SRTP
*/
-static void dump(const char *name, uint8_t * data, unsigned data_size)
+static void dump(const char *name, uint8_t *data, unsigned data_size)
{
unsigned i;
@@ -117,9 +117,10 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- ret = gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-DH:+ANON-ECDH:+CURVE-ALL",
- &err);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-DH:+ANON-ECDH:+CURVE-ALL",
+ &err);
if (ret < 0) {
fail("client: priority set failed (%s): %s\n",
gnutls_strerror(ret), err);
@@ -136,8 +137,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
@@ -149,8 +149,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
@@ -181,9 +181,8 @@ static void client(int fd)
p = key_material;
/* check whether the key material matches our calculations */
- ret =
- gnutls_record_get_state(session, 0, &mac_key, &iv, &cipher_key,
- wseq_number);
+ ret = gnutls_record_get_state(session, 0, &mac_key, &iv, &cipher_key,
+ wseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -196,9 +195,8 @@ static void client(int fd)
exit(1);
}
- ret =
- gnutls_record_get_state(session, 1, &read_mac_key, &read_iv,
- &read_cipher_key, rseq_number);
+ ret = gnutls_record_get_state(session, 1, &read_mac_key, &read_iv,
+ &read_cipher_key, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -211,8 +209,8 @@ static void client(int fd)
exit(1);
}
- if (hash_size != mac_key.size
- || memcmp(p, mac_key.data, hash_size) != 0) {
+ if (hash_size != mac_key.size ||
+ memcmp(p, mac_key.data, hash_size) != 0) {
dump("MAC:", mac_key.data, mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
@@ -220,8 +218,8 @@ static void client(int fd)
}
p += hash_size;
- if (hash_size != read_mac_key.size
- || memcmp(p, read_mac_key.data, hash_size) != 0) {
+ if (hash_size != read_mac_key.size ||
+ memcmp(p, read_mac_key.data, hash_size) != 0) {
dump("MAC:", read_mac_key.data, read_mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
@@ -229,15 +227,15 @@ static void client(int fd)
}
p += hash_size;
- if (key_size != cipher_key.size
- || memcmp(p, cipher_key.data, key_size) != 0) {
+ if (key_size != cipher_key.size ||
+ memcmp(p, cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
exit(1);
}
p += key_size;
- if (key_size != read_cipher_key.size
- || memcmp(p, read_cipher_key.data, key_size) != 0) {
+ if (key_size != read_cipher_key.size ||
+ memcmp(p, read_cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
exit(1);
}
@@ -262,8 +260,8 @@ static void client(int fd)
}
}
- ret =
- gnutls_record_get_state(session, 0, NULL, NULL, NULL, wseq_number);
+ ret = gnutls_record_get_state(session, 0, NULL, NULL, NULL,
+ wseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -276,8 +274,8 @@ static void client(int fd)
exit(1);
}
- ret =
- gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number);
+ ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL,
+ rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
@@ -328,9 +326,9 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:+ANON-DH:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:+ANON-DH:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.0",
+ NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
@@ -343,8 +341,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -357,8 +354,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buf, sizeof(buf));
@@ -421,4 +418,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-loss-time.c b/tests/mini-loss-time.c
index 505b3baafe..8e23b96137 100644
--- a/tests/mini-loss-time.c
+++ b/tests/mini-loss-time.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,17 +36,17 @@ int main(void)
#else
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
/* This program tests whether a DTLS handshake would timeout
* in the expected time.
@@ -135,9 +135,10 @@ static void client(int fd, unsigned timeout)
gnutls_dtls_set_timeouts(session, 1 * 1000, timeout * 1000);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -151,9 +152,8 @@ static void client(int fd, unsigned timeout)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
+ } while (ret < 0 &&
+ (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
gnutls_deinit(session);
gnutls_anon_free_client_credentials(anoncred);
@@ -198,9 +198,10 @@ static void server(int fd, int packet, unsigned timeout)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -212,9 +213,8 @@ static void server(int fd, int packet, unsigned timeout)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
+ } while (ret < 0 &&
+ (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
gnutls_deinit(session);
gnutls_anon_free_server_credentials(anoncred);
@@ -291,7 +291,8 @@ static void ch_handler(int sig)
void doit(void)
{
time_t tstart, tstop;
- int tries = 5; /* we try multiple times because in very busy systems the suite may fail to finish on time */
+ int tries =
+ 5; /* we try multiple times because in very busy systems the suite may fail to finish on time */
signal(SIGCHLD, ch_handler);
signal(SIGPIPE, SIG_IGN);
@@ -335,4 +336,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-overhead.c b/tests/mini-overhead.c
index b698877b02..5be9f6e3d9 100644
--- a/tests/mini-overhead.c
+++ b/tests/mini-overhead.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -56,7 +56,7 @@ static void terminate(void);
static void server_log_func(int level, const char *str)
{
-// fprintf (stderr, "server|<%d>| %s", level, str);
+ // fprintf (stderr, "server|<%d>| %s", level, str);
}
static void client_log_func(int level, const char *str)
@@ -65,51 +65,48 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
-# define MTU 1500
+#define MAX_BUF 1024
+#define MTU 1500
static void client(int fd, const char *prio, unsigned overhead)
{
@@ -151,8 +148,7 @@ static void client(int fd, const char *prio, unsigned overhead)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed for %s\n", prio);
@@ -165,15 +161,15 @@ static void client(int fd, const char *prio, unsigned overhead)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_dtls_set_mtu(session, MTU);
ret = gnutls_dtls_get_data_mtu(session);
if (MTU - ret != (int)overhead) {
- fail("overhead for %s is %d, expected %u\n", prio,
- MTU - ret, overhead);
+ fail("overhead for %s is %d, expected %u\n", prio, MTU - ret,
+ overhead);
exit(1);
}
@@ -244,8 +240,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -258,8 +253,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
gnutls_deinit(session);
@@ -319,20 +314,17 @@ void doit(void)
/* overhead for CBC depends on MTU */
/* 13 + 20(sha1) + 16(iv) + 16(pad) */
- start
- ("NONE:+VERS-DTLS1.0:%NO_ETM:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
- 65);
+ start("NONE:+VERS-DTLS1.0:%NO_ETM:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
+ 65);
/* 13 + 20(sha1) + 8(iv) + 8(max pad) */
if (!gnutls_fips140_mode_enabled())
- start
- ("NONE:+VERS-DTLS1.0:+3DES-CBC:%NO_ETM:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
- 49);
+ start("NONE:+VERS-DTLS1.0:+3DES-CBC:%NO_ETM:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
+ 49);
/* 13 + 16(tag) + 4(iv) */
- start
- ("NONE:+VERS-DTLS1.2:+AES-128-GCM:%NO_ETM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA",
- 37);
+ start("NONE:+VERS-DTLS1.2:+AES-128-GCM:%NO_ETM:+AEAD:+SIGN-ALL:+COMP-NULL:+RSA",
+ 37);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-record-2.c b/tests/mini-record-2.c
index 37b1e87671..18baddce24 100644
--- a/tests/mini-record-2.c
+++ b/tests/mini-record-2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -65,50 +65,47 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 24*1024
+#define MAX_BUF 24 * 1024
static void client(int fd, const char *prio, int ign)
{
@@ -154,8 +151,7 @@ static void client(int fd, const char *prio, int ign)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client (%s): Handshake has failed (%s)\n\n", prio,
@@ -168,8 +164,8 @@ static void client(int fd, const char *prio, int ign)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* Test sending */
for (i = 1; i < 16384; i++) {
@@ -191,11 +187,12 @@ static void client(int fd, const char *prio, int ign)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
- fail("server (%s): Error sending %d byte packet: %s\n",
- prio, i, gnutls_strerror(ret));
+ fail("server (%s): Error sending %d byte packet: %s\n", prio, i,
+ gnutls_strerror(ret));
exit(1);
} else if (ign == 0 && ret != 16384) {
- fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n", prio, i, ret);
+ fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n",
+ prio, i, ret);
exit(1);
}
@@ -226,7 +223,7 @@ static void client(int fd, const char *prio, int ign)
}
}
- end:
+end:
close(fd);
@@ -292,8 +289,7 @@ static void server(int fd, const char *prio, int ign)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -306,8 +302,8 @@ static void server(int fd, const char *prio, int ign)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* Here we do both a receive and a send test because if valgrind
* detects an error on the peer, the main process will never know.
@@ -349,11 +345,12 @@ static void server(int fd, const char *prio, int ign)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
- fail("server (%s): Error sending %d byte packet: %s\n",
- prio, i, gnutls_strerror(ret));
+ fail("server (%s): Error sending %d byte packet: %s\n", prio, i,
+ gnutls_strerror(ret));
terminate();
} else if (ign == 0 && ret != 16384) {
- fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n", prio, i, ret);
+ fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n",
+ prio, i, ret);
terminate();
}
@@ -406,22 +403,34 @@ static void start(const char *name, const char *prio, int ign)
}
}
-# define AES_CBC "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CCM_8 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM-8:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-
-# define ARCFOUR_SHA1 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define ARCFOUR_MD5 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+MD5:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL:+RSA"
-
-# define NULL_SHA1 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+NULL:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+RSA:+CURVE-ALL"
-
-# define CHACHA_POLY1305 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+CURVE-ALL"
-
-# define TLS13_AES_GCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
-# define TLS13_AES_CCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
-# define TLS13_CHACHA_POLY1305 "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+GROUP-ALL"
+#define AES_CBC \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CCM_8 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM-8:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+
+#define ARCFOUR_SHA1 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define ARCFOUR_MD5 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+MD5:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL:+RSA"
+
+#define NULL_SHA1 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+NULL:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+RSA:+CURVE-ALL"
+
+#define CHACHA_POLY1305 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+CURVE-ALL"
+
+#define TLS13_AES_GCM \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define TLS13_AES_CCM \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define TLS13_CHACHA_POLY1305 \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+GROUP-ALL"
static void ch_handler(int sig)
{
@@ -449,7 +458,6 @@ void doit(void)
start("tls13-aes-gcm", TLS13_AES_GCM, 0);
start("tls13-aes-ccm", TLS13_AES_CCM, 0);
-
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-record-failure.c b/tests/mini-record-failure.c
index 67d2551733..4db6e0123a 100644
--- a/tests/mini-record-failure.c
+++ b/tests/mini-record-failure.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,18 +37,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -69,8 +69,8 @@ static void client_log_func(int level, const char *str)
static int modify = 0;
-static ssize_t
-client_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t client_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
unsigned int fd = (long)tr;
@@ -87,7 +87,7 @@ client_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
}
}
-# define MAX_BUF 24*1024
+#define MAX_BUF 24 * 1024
static void client(int fd, const char *prio, int ign)
{
@@ -133,8 +133,7 @@ static void client(int fd, const char *prio, int ign)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client (%s): Handshake has failed (%s)\n\n", prio,
@@ -147,8 +146,8 @@ static void client(int fd, const char *prio, int ign)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
modify = 1;
do {
@@ -227,8 +226,7 @@ static void server(int fd, const char *prio, int ign)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -241,8 +239,8 @@ static void server(int fd, const char *prio, int ign)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* Here we do both a receive and a send test because if valgrind
* detects an error on the peer, the main process will never know.
@@ -304,22 +302,33 @@ static void start(const char *name, const char *prio, int ign)
}
}
-# define AES_CBC "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CCM_8 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM-8:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-
-# define ARCFOUR_SHA1 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define ARCFOUR_MD5 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+MD5:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL:+RSA"
-
-# define NULL_SHA1 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+NULL:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+RSA:+CURVE-ALL"
-
-# define NO_ETM ":%NO_ETM"
-
-# define TLS13_AES_GCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
-# define TLS13_AES_CCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
-# define TLS13_CHACHA_POLY1305 "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+GROUP-ALL"
+#define AES_CBC \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CCM_8 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM-8:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+
+#define ARCFOUR_SHA1 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define ARCFOUR_MD5 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+MD5:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL:+RSA"
+
+#define NULL_SHA1 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+NULL:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+RSA:+CURVE-ALL"
+
+#define NO_ETM ":%NO_ETM"
+
+#define TLS13_AES_GCM \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define TLS13_AES_CCM \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define TLS13_CHACHA_POLY1305 \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+GROUP-ALL"
static void ch_handler(int sig)
{
@@ -363,4 +372,4 @@ void doit(void)
start("tls13-aes-ccm", TLS13_AES_CCM, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-record-range.c b/tests/mini-record-range.c
index c5e2578f88..908230de82 100644
--- a/tests/mini-record-range.c
+++ b/tests/mini-record-range.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,22 +35,22 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-
-# include "cert-common.h"
-# include "utils.h"
-
-# define MAX_BUF 1024
-# define HIGH(x) (3*x)
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+
+#include "cert-common.h"
+#include "utils.h"
+
+#define MAX_BUF 1024
+#define HIGH(x) (3 * x)
static void terminate(void);
static int to_send;
static size_t total;
@@ -117,8 +117,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -131,8 +130,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
@@ -153,7 +152,7 @@ static void client(int fd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -219,8 +218,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -233,8 +231,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_transport_set_push_function(session, push);
@@ -246,9 +244,8 @@ static void server(int fd, const char *prio)
do {
total = 0;
do {
- ret =
- gnutls_record_send_range(session, buffer,
- sizeof(buffer), &range);
+ ret = gnutls_record_send_range(session, buffer,
+ sizeof(buffer), &range);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -263,8 +260,7 @@ static void server(int fd, const char *prio)
}
to_send++;
- }
- while (to_send < 4);
+ } while (to_send < 4);
to_send = -1;
/* do not wait for the peer to close the connection.
@@ -313,8 +309,9 @@ static void start(const char *prio)
}
}
-# define AES_CBC "NONE:+VERS-TLS1.2:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-ALL:+GROUP-ALL"
+#define AES_CBC \
+ "NONE:+VERS-TLS1.2:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-ALL:+GROUP-ALL"
static void ch_handler(int sig)
{
@@ -332,4 +329,4 @@ void doit(void)
start(AES_GCM);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-record.c b/tests/mini-record.c
index 10f464b2e2..154836671c 100644
--- a/tests/mini-record.c
+++ b/tests/mini-record.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,19 +36,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
static void terminate(void);
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static int to_send = -1;
static int mtu = 0;
@@ -78,10 +78,10 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
return send(fd, data, len, 0);
}
-# define RECORD_HEADER_SIZE (5+8)
+#define RECORD_HEADER_SIZE (5 + 8)
-static ssize_t
-push_crippled(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t push_crippled(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
int fd = (long int)tr;
int _len, ret;
@@ -90,11 +90,11 @@ push_crippled(gnutls_transport_ptr_t tr, const void *data, size_t len)
if (to_send == -1)
return send(fd, data, len, 0);
else {
-# if 0
+#if 0
_len = ((uint8_t *) data)[11] << 8 | ((uint8_t *) data)[12];
fprintf(stderr, "mtu: %d, len: %d", mtu, (int)_len);
fprintf(stderr, " send: %d\n", (int)to_send);
-# endif
+#endif
_len = to_send;
_data[11] = _len >> 8;
@@ -154,8 +154,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -168,8 +167,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* make sure we are not blocked forever */
gnutls_record_set_timeout(session, 10000);
@@ -193,7 +192,7 @@ static void client(int fd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -260,8 +259,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -274,15 +272,15 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
mtu = gnutls_dtls_get_mtu(session);
do {
- usleep(10000); /* some systems like FreeBSD have their buffers full during this send */
+ usleep(10000); /* some systems like FreeBSD have their buffers full during this send */
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -291,8 +289,7 @@ static void server(int fd, const char *prio)
terminate();
}
to_send++;
- }
- while (to_send < 64);
+ } while (to_send < 64);
to_send = -1;
@@ -344,12 +341,18 @@ static void start(const char *name, const char *prio)
}
}
-# define AES_CBC "NONE:+VERS-DTLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CCM "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CCM_8 "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM-8:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define CHACHA_POLY1305 "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+CURVE-ALL"
+#define AES_CBC \
+ "NONE:+VERS-DTLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CCM \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CCM_8 \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+AES-128-CCM-8:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define CHACHA_POLY1305 \
+ "NONE:+VERS-DTLS1.2:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -371,4 +374,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-server-name.c b/tests/mini-server-name.c
index e2d73c52e0..0aa7baeb9e 100644
--- a/tests/mini-server-name.c
+++ b/tests/mini-server-name.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,20 +37,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void terminate(void);
/* This program tests gnutls_server_name_set() and gnutls_server_name_get().
@@ -115,8 +115,7 @@ static void client(const char *test_name, const char *prio, int fd,
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
if (server_err < 0)
@@ -130,12 +129,12 @@ static void client(const char *test_name, const char *prio, int fd,
if (debug)
test_success("TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
@@ -197,8 +196,7 @@ static void server(const char *test_name, const char *prio, int fd,
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
if (exp_err == ret)
goto cleanup;
@@ -213,15 +211,15 @@ static void server(const char *test_name, const char *prio, int fd,
if (debug)
test_success("TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
buffer_size = sizeof(buffer);
ret = gnutls_server_name_get(session, buffer, &buffer_size, &type, 0);
- if ((name == NULL || name[0] == 0)
- && (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
- || ret == GNUTLS_E_IDNA_ERROR)) {
+ if ((name == NULL || name[0] == 0) &&
+ (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE ||
+ ret == GNUTLS_E_IDNA_ERROR)) {
/* expected */
if (debug)
test_success("empty name matches\n");
@@ -229,19 +227,19 @@ static void server(const char *test_name, const char *prio, int fd,
test_fail("server_name: %s/%d\n", gnutls_strerror(ret), ret);
} else {
if (name == NULL || name[0] == 0) {
- test_fail
- ("did not receive the expected name: got: %s\n",
- buffer);
+ test_fail(
+ "did not receive the expected name: got: %s\n",
+ buffer);
exit(1);
}
if (buffer_size != strlen(buffer)) {
- test_fail
- ("received name '%s/%d/%d', with embedded null\n",
- buffer, (int)buffer_size, (int)strlen(buffer));
+ test_fail(
+ "received name '%s/%d/%d', with embedded null\n",
+ buffer, (int)buffer_size, (int)strlen(buffer));
exit(1);
}
- if (name_len != buffer_size
- || memcmp(name, buffer, name_len) != 0) {
+ if (name_len != buffer_size ||
+ memcmp(name, buffer, name_len) != 0) {
test_fail("received name '%s/%d', expected '%s/%d'\n",
buffer, (int)buffer_size, name,
(int)name_len);
@@ -254,7 +252,7 @@ static void server(const char *test_name, const char *prio, int fd,
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
@@ -311,9 +309,9 @@ static void ch_handler(int sig)
return;
}
-# define PRIO_TLS12 "NORMAL:-VERS-ALL:+VERS-TLS1.2"
-# define PRIO_TLS13 "NORMAL:-VERS-ALL:+VERS-TLS1.3"
-# define PRIO_NORMAL "NORMAL"
+#define PRIO_TLS12 "NORMAL:-VERS-ALL:+VERS-TLS1.2"
+#define PRIO_TLS13 "NORMAL:-VERS-ALL:+VERS-TLS1.3"
+#define PRIO_NORMAL "NORMAL"
void doit(void)
{
@@ -360,4 +358,4 @@ void doit(void)
GNUTLS_E_RECEIVED_DISALLOWED_NAME);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-session-verify-function.c b/tests/mini-session-verify-function.c
index 152d204580..c187fe1b4a 100644
--- a/tests/mini-session-verify-function.c
+++ b/tests/mini-session-verify-function.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -55,14 +55,16 @@ static int server_callback(gnutls_session_t session)
if (gnutls_handshake_get_last_in(session) !=
GNUTLS_HANDSHAKE_CERTIFICATE_PKT) {
fail("client's last input message was unexpected: %s\n",
- gnutls_handshake_description_get_name
- (gnutls_handshake_get_last_in(session)));
+ gnutls_handshake_description_get_name(
+ gnutls_handshake_get_last_in(session)));
exit(1);
}
if (gnutls_handshake_get_last_out(session) !=
GNUTLS_HANDSHAKE_SERVER_HELLO_DONE) {
- fail("client's last output message was unexpected: %s\n", gnutls_handshake_description_get_name(gnutls_handshake_get_last_out(session)));
+ fail("client's last output message was unexpected: %s\n",
+ gnutls_handshake_description_get_name(
+ gnutls_handshake_get_last_out(session)));
exit(1);
}
}
@@ -75,48 +77,44 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
-
-static
-void test_success1(const char *prio)
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
+
+static void test_success1(const char *prio)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -136,9 +134,8 @@ void test_success1(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
assert(gnutls_priority_set_direct(server, prio, NULL) >= 0);
@@ -176,8 +173,7 @@ void test_success1(const char *prio)
fail("Client certificate verify callback wasn't called\n");
}
-static
-void test_failure_client(const char *prio)
+static void test_failure_client(const char *prio)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -199,9 +195,8 @@ void test_failure_client(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
assert(gnutls_priority_set_direct(server, prio, NULL) >= 0);
@@ -235,8 +230,7 @@ void test_failure_client(const char *prio)
__func__);
}
-static
-void test_failure_server(const char *prio)
+static void test_failure_server(const char *prio)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -258,9 +252,8 @@ void test_failure_server(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
assert(gnutls_priority_set_direct(server, prio, NULL) >= 0);
diff --git a/tests/mini-termination.c b/tests/mini-termination.c
index 92dac747ea..09dc5bae79 100644
--- a/tests/mini-termination.c
+++ b/tests/mini-termination.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -56,7 +56,7 @@ static void terminate(void);
static void server_log_func(int level, const char *str)
{
-// fprintf (stderr, "server|<%d>| %s", level, str);
+ // fprintf (stderr, "server|<%d>| %s", level, str);
}
static void client_log_func(int level, const char *str)
@@ -65,50 +65,47 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -147,8 +144,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -161,8 +157,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
ret = gnutls_record_recv(session, buffer, MAX_BUF);
@@ -179,7 +175,7 @@ static void client(int fd, const char *prio)
exit(1);
}
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -238,8 +234,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -252,8 +247,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
gnutls_deinit(session);
@@ -316,4 +311,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-tls-nonblock.c b/tests/mini-tls-nonblock.c
index 42260dd09a..853f841fbd 100644
--- a/tests/mini-tls-nonblock.c
+++ b/tests/mini-tls-nonblock.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <fcntl.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -57,7 +57,7 @@ static void terminate(void);
static void server_log_func(int level, const char *str)
{
-// fprintf (stderr, "server|<%d>| %s", level, str);
+ // fprintf (stderr, "server|<%d>| %s", level, str);
}
static void client_log_func(int level, const char *str)
@@ -66,50 +66,47 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static const char *g_msg = "";
static ssize_t my_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
@@ -179,8 +176,7 @@ static void client(int fd, const char *msg, const char *prio, unsigned expl)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -193,8 +189,8 @@ static void client(int fd, const char *msg, const char *prio, unsigned expl)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
@@ -257,8 +253,7 @@ static void server(int fd, const char *prio, unsigned expl)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -271,8 +266,8 @@ static void server(int fd, const char *prio, unsigned expl)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
close(fd);
gnutls_deinit(session);
@@ -327,9 +322,9 @@ static void ch_handler(int sig)
return;
}
-# ifndef GNUTLS_NONBLOCK
-# error GNUTLS_NONBLOCK should have been defined
-# endif
+#ifndef GNUTLS_NONBLOCK
+#error GNUTLS_NONBLOCK should have been defined
+#endif
void doit(void)
{
@@ -349,4 +344,4 @@ void doit(void)
start("TLS-no flag", "NORMAL", 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/mini-x509-2.c b/tests/mini-x509-2.c
index 27f7f6a51d..10ff2b2682 100644
--- a/tests/mini-x509-2.c
+++ b/tests/mini-x509-2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,141 +43,137 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuLSye8pe3yWKZ\n"
- "Yp7tLQ4ImwLqqh1aN7x9pc5spLDj6krVArzkyyYDcWvtQNDjErEfLUrZZrCc4aIl\n"
- "oU1Ghb92kI8ofZnHFbj3z5zdcWqiPppj5Y+hRdc4LszTWb+itrD9Ht/D67EK+m7W\n"
- "ev6xxUdyiBYUmb2O3CnPZpUVshMRtEe45EDGI5hUgL2n4Msj41htTq8hATYPXgoq\n"
- "gQUyXFpKAX5XDCyOG+FC6jmEys7UCRYv3SCl7TPWJ4cm+lHcFI2/OTOCBvMlKN2J\n"
- "mWCdfnudZldqthin+8fR9l4nbuutOfPNt1Dj9InDzWZ1W/o4LrjKa7fsvszj2Z5A\n"
- "Fn+xN/4zAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQUwRHwbXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQAD\n"
- "ggEBAEKr0b7WoJL+L8St/LEITU/i7FwFrCP6DkbaNo0kgzPmwnvNmw88MLI6UKwE\n"
- "JecnjFhurRBBZ4FA85ucNyizeBnuXqFcyJ20+XziaXGPKV/ugKyYv9KBoTYkQOCh\n"
- "nbOthmDqjvy2UYQj0BU2dOywkjUKWhYHEZLBpZYck0Orynxydwil5Ncsz4t3smJw\n"
- "ahzCW8SzBFTiO99qQBCH2RH1PbUYzfAnJxZS2VScpcqlu9pr+Qv7r8E3p9qHxnQM\n"
- "gO5laWO6lc13rNsbZRrtlCvacsiDSuDnS8EVXm0ih4fAntpRHacPbXZbOPQqJ/+1\n"
- "G7/qJ6cDC/9aW+fU80ogTkAoFg4=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca_cert = { ca_cert_pem,
- sizeof(ca_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuLSye8pe3yWKZ\n"
+ "Yp7tLQ4ImwLqqh1aN7x9pc5spLDj6krVArzkyyYDcWvtQNDjErEfLUrZZrCc4aIl\n"
+ "oU1Ghb92kI8ofZnHFbj3z5zdcWqiPppj5Y+hRdc4LszTWb+itrD9Ht/D67EK+m7W\n"
+ "ev6xxUdyiBYUmb2O3CnPZpUVshMRtEe45EDGI5hUgL2n4Msj41htTq8hATYPXgoq\n"
+ "gQUyXFpKAX5XDCyOG+FC6jmEys7UCRYv3SCl7TPWJ4cm+lHcFI2/OTOCBvMlKN2J\n"
+ "mWCdfnudZldqthin+8fR9l4nbuutOfPNt1Dj9InDzWZ1W/o4LrjKa7fsvszj2Z5A\n"
+ "Fn+xN/4zAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUwRHwbXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAEKr0b7WoJL+L8St/LEITU/i7FwFrCP6DkbaNo0kgzPmwnvNmw88MLI6UKwE\n"
+ "JecnjFhurRBBZ4FA85ucNyizeBnuXqFcyJ20+XziaXGPKV/ugKyYv9KBoTYkQOCh\n"
+ "nbOthmDqjvy2UYQj0BU2dOywkjUKWhYHEZLBpZYck0Orynxydwil5Ncsz4t3smJw\n"
+ "ahzCW8SzBFTiO99qQBCH2RH1PbUYzfAnJxZS2VScpcqlu9pr+Qv7r8E3p9qHxnQM\n"
+ "gO5laWO6lc13rNsbZRrtlCvacsiDSuDnS8EVXm0ih4fAntpRHacPbXZbOPQqJ/+1\n"
+ "G7/qJ6cDC/9aW+fU80ogTkAoFg4=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca_cert = { ca_cert_pem, sizeof(ca_cert_pem) };
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDOjCCAiKgAwIBAgIMU0T+mwoDu5uVLKeeMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDkwODAyMzVaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDXfvgsMWXHNf3iUaEoZSNztZZr6+UdBkoUhbdWJDR+GwR+GHfnYaYHsuqb\n"
- "bNEl/QFI+8Jeth0SmG7TNB+b/AlHFoBm8TwBt7H+Mn6AQIdo872Vs262UkHgbZN6\n"
- "dEQeRCgiXmlsOVe+MVpf79Xi32MYz1FZ/ueS6tr8sIDhECThIZkq2eulVjAV86N2\n"
- "zQ72Ml1k8rPw4SdK5OFhcXNdXr6CsAol8MmiORKDF0iAZxwtFVc00nBGqQC5rwrN\n"
- "3A8czH5TsvyvrcW0mwV2XOVvZM5kFM1T/X0jF6RQHiGGFBYK4s6JZxSSOhJMFYYh\n"
- "koPEKsuVZdmBJ2yTTdGumHZfG9LDAgMBAAGjgY0wgYowDAYDVR0TAQH/BAIwADAU\n"
- "BgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0P\n"
- "AQH/BAUDAwegADAdBgNVHQ4EFgQURXiN5VD5vgqAprhd/37ldGKv4/4wHwYDVR0j\n"
- "BBgwFoAU8MUzmkotjSmVa5r1ejMkMQ6BiZYwDQYJKoZIhvcNAQELBQADggEBABSU\n"
- "cmMX0nGeg43itPnLjSTIUuYEamRhfsFDwgRYQn5w+BcFG1p0scBRxLAShUEb9A2A\n"
- "oEJV4rQDpCn9bcMrMHhTCR5sOlLh/2o9BROjK0+DjQLDkooQK5xa+1GYEiy6QYCx\n"
- "QjdCCnMhHh24oP2/vUggRKhevvD2QQFKcCDT6n13RFYm+HX82gIh6SAtRs0oahY5\n"
- "k9CM9TYRPzXy+tQqhZisJzc8BLTW/XA97kAJW6+hUhPir7AYR6BKJhNeIxcN/yMy\n"
- "jsHzWDLezip/8q+kzw658V5e40hne7ZaJycGUaUdLVnJcpNtBgGE82TRS/XZSQKF\n"
- "fpy8FLGcJynqlIOzdKs=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZq3sA+mjFadII\n"
- "EMDHfj1fYh+UOUSa8c814E9NfCdYZ9Z11BmPpBeR5mXV12j1DKjkTlqTUL7s4lVR\n"
- "RKfyAdCpQIfeXHDeTYYUq2uBnbi5YMG5Y+WbCiYacgRU3IypYrSzaeh1mY7GiEFe\n"
- "U/NaImHLCf+TdAvTJ3Fo0QPe5QN2Lrv6l//cqOv7enZ91KRWxClDMM6EAr+C/7dk\n"
- "rOTXRrCuH/e/KVBXEJ/YeSYPmBIwolGktRrGdsVagdqYArr4dhJ7VThIVRUX1Ijl\n"
- "THCLstI/LuD8WkDccU3ZSdm47f2U43p/+rSO0MiNOXiaskeK56G/9DbJEeETUbzm\n"
- "/B2712MVAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU8MUzmkotjSmVa5r1ejMkMQ6BiZYwHwYDVR0jBBgwFoAUwRHw\n"
- "bXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQADggEBACKxBPj9u1t52uIF\n"
- "eQ2JPb8/u+MBttvSLo0qPKXwpc4q8hNclh66dpqGWiF0iSumsKyKU54r6CIF9Ikm\n"
- "t1V1GR9Ll4iTnz3NdIt1w3ns8rSlU5O/dgKysK/1C/5xJWEUYtEO5mnyi4Zaf8FB\n"
- "hKmQ1aWF5dTB81PVAQxyCiFEnH7YumK7pJeIpnCOPIqLZLUHfrTUeL8zONF4i5Sb\n"
- "7taZ8SQ6b7IaioU+NJ50uT2wy34lsyvCWf76Azezv9bggkdNDo/7ktMgsfRrSyM8\n"
- "+MVob5ePGTjKx5yMy/sy2vUkkefwW3RiEss/y2JRb8Hw7nDlA9ttilYKFwGFwRvw\n"
- "KRsXqo8=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDOjCCAiKgAwIBAgIMU0T+mwoDu5uVLKeeMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDkwODAyMzVaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDXfvgsMWXHNf3iUaEoZSNztZZr6+UdBkoUhbdWJDR+GwR+GHfnYaYHsuqb\n"
+ "bNEl/QFI+8Jeth0SmG7TNB+b/AlHFoBm8TwBt7H+Mn6AQIdo872Vs262UkHgbZN6\n"
+ "dEQeRCgiXmlsOVe+MVpf79Xi32MYz1FZ/ueS6tr8sIDhECThIZkq2eulVjAV86N2\n"
+ "zQ72Ml1k8rPw4SdK5OFhcXNdXr6CsAol8MmiORKDF0iAZxwtFVc00nBGqQC5rwrN\n"
+ "3A8czH5TsvyvrcW0mwV2XOVvZM5kFM1T/X0jF6RQHiGGFBYK4s6JZxSSOhJMFYYh\n"
+ "koPEKsuVZdmBJ2yTTdGumHZfG9LDAgMBAAGjgY0wgYowDAYDVR0TAQH/BAIwADAU\n"
+ "BgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0P\n"
+ "AQH/BAUDAwegADAdBgNVHQ4EFgQURXiN5VD5vgqAprhd/37ldGKv4/4wHwYDVR0j\n"
+ "BBgwFoAU8MUzmkotjSmVa5r1ejMkMQ6BiZYwDQYJKoZIhvcNAQELBQADggEBABSU\n"
+ "cmMX0nGeg43itPnLjSTIUuYEamRhfsFDwgRYQn5w+BcFG1p0scBRxLAShUEb9A2A\n"
+ "oEJV4rQDpCn9bcMrMHhTCR5sOlLh/2o9BROjK0+DjQLDkooQK5xa+1GYEiy6QYCx\n"
+ "QjdCCnMhHh24oP2/vUggRKhevvD2QQFKcCDT6n13RFYm+HX82gIh6SAtRs0oahY5\n"
+ "k9CM9TYRPzXy+tQqhZisJzc8BLTW/XA97kAJW6+hUhPir7AYR6BKJhNeIxcN/yMy\n"
+ "jsHzWDLezip/8q+kzw658V5e40hne7ZaJycGUaUdLVnJcpNtBgGE82TRS/XZSQKF\n"
+ "fpy8FLGcJynqlIOzdKs=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA5MDgwMjM0WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZq3sA+mjFadII\n"
+ "EMDHfj1fYh+UOUSa8c814E9NfCdYZ9Z11BmPpBeR5mXV12j1DKjkTlqTUL7s4lVR\n"
+ "RKfyAdCpQIfeXHDeTYYUq2uBnbi5YMG5Y+WbCiYacgRU3IypYrSzaeh1mY7GiEFe\n"
+ "U/NaImHLCf+TdAvTJ3Fo0QPe5QN2Lrv6l//cqOv7enZ91KRWxClDMM6EAr+C/7dk\n"
+ "rOTXRrCuH/e/KVBXEJ/YeSYPmBIwolGktRrGdsVagdqYArr4dhJ7VThIVRUX1Ijl\n"
+ "THCLstI/LuD8WkDccU3ZSdm47f2U43p/+rSO0MiNOXiaskeK56G/9DbJEeETUbzm\n"
+ "/B2712MVAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU8MUzmkotjSmVa5r1ejMkMQ6BiZYwHwYDVR0jBBgwFoAUwRHw\n"
+ "bXyPosKNNkBiZduEwL5ZCwswDQYJKoZIhvcNAQELBQADggEBACKxBPj9u1t52uIF\n"
+ "eQ2JPb8/u+MBttvSLo0qPKXwpc4q8hNclh66dpqGWiF0iSumsKyKU54r6CIF9Ikm\n"
+ "t1V1GR9Ll4iTnz3NdIt1w3ns8rSlU5O/dgKysK/1C/5xJWEUYtEO5mnyi4Zaf8FB\n"
+ "hKmQ1aWF5dTB81PVAQxyCiFEnH7YumK7pJeIpnCOPIqLZLUHfrTUeL8zONF4i5Sb\n"
+ "7taZ8SQ6b7IaioU+NJ50uT2wy34lsyvCWf76Azezv9bggkdNDo/7ktMgsfRrSyM8\n"
+ "+MVob5ePGTjKx5yMy/sy2vUkkefwW3RiEss/y2JRb8Hw7nDlA9ttilYKFwGFwRvw\n"
+ "KRsXqo8=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpAIBAAKCAQEA1374LDFlxzX94lGhKGUjc7WWa+vlHQZKFIW3ViQ0fhsEfhh3\n"
- "52GmB7Lqm2zRJf0BSPvCXrYdEphu0zQfm/wJRxaAZvE8Abex/jJ+gECHaPO9lbNu\n"
- "tlJB4G2TenREHkQoIl5pbDlXvjFaX+/V4t9jGM9RWf7nkura/LCA4RAk4SGZKtnr\n"
- "pVYwFfOjds0O9jJdZPKz8OEnSuThYXFzXV6+grAKJfDJojkSgxdIgGccLRVXNNJw\n"
- "RqkAua8KzdwPHMx+U7L8r63FtJsFdlzlb2TOZBTNU/19IxekUB4hhhQWCuLOiWcU\n"
- "kjoSTBWGIZKDxCrLlWXZgSdsk03Rrph2XxvSwwIDAQABAoIBAB7trDS7ij4DM8MN\n"
- "sDGaAnKS91nZ63I0+uDjKCMG4znOKuDmJh9hVnD4bs+L2KC5JTwSVh09ygJnOlC5\n"
- "xGegzrwTMK6VpOUiNjujh6BkooqfoPAhZpxoReguEeKbWUN2yMPWBQ9xU3SKpMvs\n"
- "IiiDozdmWeiuuxHM/00REA49QO3Gnx2logeB+fcvXXD1UiZV3x0xxSApiJt1sr2r\n"
- "NmqSyGdNUgpmnTP8zbKnDaRe5Wj4tj1TCTLE/HZ0tzdRuwlkIqvcpGg1LMtKm5N8\n"
- "xIWjTGMFwGjG+OF8LGqHLH+28pI3iMB6QqO2YLwOp+WZKImKP3+Dp3s8lCw8t8cm\n"
- "q5/Qc9ECgYEA2xwxm+pFkrFmZNLCakP/6S5AZqpfSBRUlF/uX2pBKO7o6I6aOV9o\n"
- "zq2QWYIZfdyD+9MvAFUQ36sWfTVWpGA34WGtsGtcRRygKKTigpJHvBldaPxiuYuk\n"
- "xbS54nWUdix/JzyQAy22xJXlp4XJvtFJjHhA2td0XA7tfng9n8jmvEUCgYEA+8cA\n"
- "uFIQFbaZ2y6pnOvlVj8OH0f1hZa9M+3q01fWy1rnDAsLrIzJy8TZnBtpDwy9lAun\n"
- "Sa6wzu6qeHmF17xwk5U7BCyK2Qj/9KhRLg1mnDebQ/CiLSAaJVnrYFp9Du96fTkN\n"
- "ollvbFiGF92QwPTDf2f1gHZQEPwa+f/ox37ad2cCgYEAwMgXpfUD7cOEMeV2BQV7\n"
- "XnDBXRM97i9lE38sPmtAlYFPD36Yly4pCt+PCBH9181zmtf+nK47wG/Jw7RwXQQD\n"
- "ZpwItBZiArTi/Z/FY9jMoOU4WKznOBVzjjgq7ONDEo6n+Z/BnepUyraQb0q5bNi7\n"
- "e4o6ldHHoU/JCeNFZRbgXHkCgYA6vJU9at+XwS6phHxLQHkTIsivoYD0tlLTX4it\n"
- "30sby8wk8hq6GWomYHkHwxlCSo2bkRBozxkuXV1ll6wSxUJaG7FV6vJFaaUUtYOi\n"
- "w7uRbCOLuQKMlnWjCxQvOUz9g/7GYd39ZvHoi8pUnPrdGPzWpzEN1AwfukCs2/e5\n"
- "Oq3KtwKBgQCkHmDU8h0kOfN28f8ZiyjJemQMNoOGiJqnGexaKvsRd+bt4H+7DsWQ\n"
- "OnyKm/oR0wCCSmFM5aQc6GgzPD7orueKVYHChbY7HLTWKRHNs6Rlk+6hXJvOld0i\n"
- "Cl7KqL2x2ibGMtt4LtSntdzWqa87N7vCWMSTmvd8uLgflBs33xUIiQ==\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpAIBAAKCAQEA1374LDFlxzX94lGhKGUjc7WWa+vlHQZKFIW3ViQ0fhsEfhh3\n"
+ "52GmB7Lqm2zRJf0BSPvCXrYdEphu0zQfm/wJRxaAZvE8Abex/jJ+gECHaPO9lbNu\n"
+ "tlJB4G2TenREHkQoIl5pbDlXvjFaX+/V4t9jGM9RWf7nkura/LCA4RAk4SGZKtnr\n"
+ "pVYwFfOjds0O9jJdZPKz8OEnSuThYXFzXV6+grAKJfDJojkSgxdIgGccLRVXNNJw\n"
+ "RqkAua8KzdwPHMx+U7L8r63FtJsFdlzlb2TOZBTNU/19IxekUB4hhhQWCuLOiWcU\n"
+ "kjoSTBWGIZKDxCrLlWXZgSdsk03Rrph2XxvSwwIDAQABAoIBAB7trDS7ij4DM8MN\n"
+ "sDGaAnKS91nZ63I0+uDjKCMG4znOKuDmJh9hVnD4bs+L2KC5JTwSVh09ygJnOlC5\n"
+ "xGegzrwTMK6VpOUiNjujh6BkooqfoPAhZpxoReguEeKbWUN2yMPWBQ9xU3SKpMvs\n"
+ "IiiDozdmWeiuuxHM/00REA49QO3Gnx2logeB+fcvXXD1UiZV3x0xxSApiJt1sr2r\n"
+ "NmqSyGdNUgpmnTP8zbKnDaRe5Wj4tj1TCTLE/HZ0tzdRuwlkIqvcpGg1LMtKm5N8\n"
+ "xIWjTGMFwGjG+OF8LGqHLH+28pI3iMB6QqO2YLwOp+WZKImKP3+Dp3s8lCw8t8cm\n"
+ "q5/Qc9ECgYEA2xwxm+pFkrFmZNLCakP/6S5AZqpfSBRUlF/uX2pBKO7o6I6aOV9o\n"
+ "zq2QWYIZfdyD+9MvAFUQ36sWfTVWpGA34WGtsGtcRRygKKTigpJHvBldaPxiuYuk\n"
+ "xbS54nWUdix/JzyQAy22xJXlp4XJvtFJjHhA2td0XA7tfng9n8jmvEUCgYEA+8cA\n"
+ "uFIQFbaZ2y6pnOvlVj8OH0f1hZa9M+3q01fWy1rnDAsLrIzJy8TZnBtpDwy9lAun\n"
+ "Sa6wzu6qeHmF17xwk5U7BCyK2Qj/9KhRLg1mnDebQ/CiLSAaJVnrYFp9Du96fTkN\n"
+ "ollvbFiGF92QwPTDf2f1gHZQEPwa+f/ox37ad2cCgYEAwMgXpfUD7cOEMeV2BQV7\n"
+ "XnDBXRM97i9lE38sPmtAlYFPD36Yly4pCt+PCBH9181zmtf+nK47wG/Jw7RwXQQD\n"
+ "ZpwItBZiArTi/Z/FY9jMoOU4WKznOBVzjjgq7ONDEo6n+Z/BnepUyraQb0q5bNi7\n"
+ "e4o6ldHHoU/JCeNFZRbgXHkCgYA6vJU9at+XwS6phHxLQHkTIsivoYD0tlLTX4it\n"
+ "30sby8wk8hq6GWomYHkHwxlCSo2bkRBozxkuXV1ll6wSxUJaG7FV6vJFaaUUtYOi\n"
+ "w7uRbCOLuQKMlnWjCxQvOUz9g/7GYd39ZvHoi8pUnPrdGPzWpzEN1AwfukCs2/e5\n"
+ "Oq3KtwKBgQCkHmDU8h0kOfN28f8ZiyjJemQMNoOGiJqnGexaKvsRd+bt4H+7DsWQ\n"
+ "OnyKm/oR0wCCSmFM5aQc6GgzPD7orueKVYHChbY7HLTWKRHNs6Rlk+6hXJvOld0i\n"
+ "Cl7KqL2x2ibGMtt4LtSntdzWqa87N7vCWMSTmvd8uLgflBs33xUIiQ==\n"
+ "-----END RSA PRIVATE KEY-----\n";
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cli_cert = { cert_pem, sizeof(cert_pem) - 1 };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t cli_key = { key_pem, sizeof(key_pem) - 1 };
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int ret;
/* Server stuff. */
@@ -201,10 +197,9 @@ void start(const char *prio)
if (debug)
gnutls_global_set_log_level(2);
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &server_cert,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &server_cert, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -216,8 +211,8 @@ void start(const char *prio)
exit(1);
}
- ret =
- gnutls_x509_privkey_import(pkey, &server_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(pkey, &server_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -245,15 +240,13 @@ void start(const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret = gnutls_certificate_set_x509_key_mem(clientx509cred,
- &cli_cert, &cli_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key, GNUTLS_X509_FMT_PEM);
ret = gnutls_init(&client, GNUTLS_CLIENT);
if (ret < 0)
@@ -284,9 +277,8 @@ void start(const char *prio)
}
gnutls_x509_crt_init(&crt);
- ret =
- gnutls_x509_crt_import(crt, &server_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &server_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n",
gnutls_strerror(ret));
@@ -302,8 +294,8 @@ void start(const char *prio)
assert(ret == 0);
gnutls_x509_crt_deinit(crt);
- if (scert.size != mcert->size
- || memcmp(scert.data, mcert->data, mcert->size) != 0) {
+ if (scert.size != mcert->size ||
+ memcmp(scert.data, mcert->data, mcert->size) != 0) {
fail("gnutls_certificate_get_ours output doesn't match cert\n");
exit(1);
}
@@ -325,8 +317,8 @@ void start(const char *prio)
}
gnutls_x509_crt_init(&crt);
- ret =
- gnutls_x509_crt_import(crt, &cli_cert, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &cli_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n",
gnutls_strerror(ret));
@@ -342,8 +334,8 @@ void start(const char *prio)
assert(ret == 0);
gnutls_x509_crt_deinit(crt);
- if (ccert.size != mcert->size
- || memcmp(ccert.data, mcert->data, mcert->size) != 0) {
+ if (ccert.size != mcert->size ||
+ memcmp(ccert.data, mcert->data, mcert->size) != 0) {
fail("gnutls_certificate_get_ours output doesn't match cert\n");
exit(1);
}
@@ -440,9 +432,8 @@ void start(const char *prio)
exit(1);
}
- status =
- gnutls_ocsp_status_request_is_checked(client,
- GNUTLS_OCSP_SR_IS_AVAIL);
+ status = gnutls_ocsp_status_request_is_checked(
+ client, GNUTLS_OCSP_SR_IS_AVAIL);
if (status != 0) {
fprintf(stderr,
"gnutls_ocsp_status_request_is_checked: unexpected value (%u)\n",
diff --git a/tests/mini-x509-callbacks-intr.c b/tests/mini-x509-callbacks-intr.c
index 3ea7aa2499..4060103c1b 100644
--- a/tests/mini-x509-callbacks-intr.c
+++ b/tests/mini-x509-callbacks-intr.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -79,48 +79,44 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
-
-static
-void start(const char *prio)
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
+
+static void start(const char *prio)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -144,9 +140,8 @@ void start(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL", NULL);
@@ -155,8 +150,8 @@ void start(const char *prio)
gnutls_transport_set_ptr(server, server);
gnutls_certificate_set_verify_function(serverx509cred, server_callback);
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
- gnutls_handshake_set_post_client_hello_function(server,
- post_client_hello_callback);
+ gnutls_handshake_set_post_client_hello_function(
+ server, post_client_hello_callback);
/* Init client */
gnutls_certificate_allocate_credentials(&clientx509cred);
diff --git a/tests/mini-x509-callbacks.c b/tests/mini-x509-callbacks.c
index 3a25a01015..d70f01ffd4 100644
--- a/tests/mini-x509-callbacks.c
+++ b/tests/mini-x509-callbacks.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -61,8 +61,8 @@ static void verify_alpn(gnutls_session_t session)
exit(1);
}
- if (strlen(str) != selected.size
- || memcmp(str, selected.data, selected.size) != 0) {
+ if (strlen(str) != selected.size ||
+ memcmp(str, selected.data, selected.size) != 0) {
fail("expected protocol %s, got %.*s\n", str, selected.size,
selected.data);
exit(1);
@@ -95,7 +95,7 @@ unsigned int msg_order[] = {
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * rawmsg)
+ const gnutls_datum_t *rawmsg)
{
static unsigned idx = 0;
unsigned int msg;
@@ -112,13 +112,15 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
if (incoming != 0) {
msg = gnutls_handshake_get_last_in(session);
if (msg != htype) {
- fail("last input message was not recorded (exp: %d, found: %d) \n", msg, htype);
+ fail("last input message was not recorded (exp: %d, found: %d) \n",
+ msg, htype);
exit(1);
}
} else {
msg = gnutls_handshake_get_last_out(session);
if (msg != htype) {
- fail("last output message was not recorded (exp: %d, found: %d) \n", msg, htype);
+ fail("last output message was not recorded (exp: %d, found: %d) \n",
+ msg, htype);
exit(1);
}
}
@@ -153,45 +155,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void append_alpn(gnutls_session_t session)
{
@@ -211,8 +210,7 @@ static void append_alpn(gnutls_session_t session)
}
}
-static
-void start(const char *prio, unsigned check_order)
+static void start(const char *prio, unsigned check_order)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -237,9 +235,8 @@ void start(const char *prio, unsigned check_order)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, prio, NULL);
@@ -248,8 +245,8 @@ void start(const char *prio, unsigned check_order)
gnutls_transport_set_ptr(server, server);
gnutls_certificate_set_verify_function(serverx509cred, server_callback);
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
- gnutls_handshake_set_post_client_hello_function(server,
- post_client_hello_callback);
+ gnutls_handshake_set_post_client_hello_function(
+ server, post_client_hello_callback);
if (check_order)
gnutls_handshake_set_hook_function(server, GNUTLS_HANDSHAKE_ANY,
GNUTLS_HOOK_POST,
diff --git a/tests/mini-x509-cas.c b/tests/mini-x509-cas.c
index 08b40329e8..4fd9e16e13 100644
--- a/tests/mini-x509-cas.c
+++ b/tests/mini-x509-cas.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,8 +43,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
const char *ca_file;
/* Server stuff. */
@@ -71,12 +70,10 @@ void start(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
- ret =
- gnutls_certificate_set_x509_trust_file(serverx509cred, ca_file,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_file(serverx509cred, ca_file,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fprintf(stderr, "%s\n", gnutls_strerror(ret));
exit(1);
diff --git a/tests/mini-x509-ipaddr.c b/tests/mini-x509-ipaddr.c
index 7d6fc2e0f8..a85144066a 100644
--- a/tests/mini-x509-ipaddr.c
+++ b/tests/mini-x509-ipaddr.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,7 +41,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1490171562;
@@ -100,9 +100,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -124,7 +123,6 @@ void doit(void)
/* attempt to verify */
{
-
/* try hostname - which is invalid */
memset(data, 0, sizeof(data));
@@ -186,15 +184,14 @@ void doit(void)
}
if (status != 0) {
- assert(gnutls_certificate_verification_status_print
- (status, GNUTLS_CRT_X509, &t, 0) >= 0);
+ assert(gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &t, 0) >= 0);
fail("could not verify: %s/%.4x!\n", t.data, status);
}
/* try the other verification functions */
- ret =
- gnutls_certificate_verify_peers3(client, "127.0.0.1",
- &status);
+ ret = gnutls_certificate_verify_peers3(client, "127.0.0.1",
+ &status);
if (ret < 0) {
fail("could not verify certificate: %s\n",
gnutls_strerror(ret));
@@ -202,21 +199,20 @@ void doit(void)
}
if (status != 0) {
- assert(gnutls_certificate_verification_status_print
- (status, GNUTLS_CRT_X509, &t, 0) >= 0);
+ assert(gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &t, 0) >= 0);
fail("could not verify: %s/%.4x!\n", t.data, status);
}
}
{
/* change the flags */
- gnutls_certificate_set_verify_flags(clientx509cred,
- GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
+ gnutls_certificate_set_verify_flags(
+ clientx509cred, GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES);
/* now the compatibility option should fail */
- ret =
- gnutls_certificate_verify_peers3(client, "127.0.0.1",
- &status);
+ ret = gnutls_certificate_verify_peers3(client, "127.0.0.1",
+ &status);
if (ret < 0) {
fail("could not verify certificate: %s\n",
gnutls_strerror(ret));
@@ -266,8 +262,8 @@ void doit(void)
}
if (status != 0) {
- assert(gnutls_certificate_verification_status_print
- (status, GNUTLS_CRT_X509, &t, 0) >= 0);
+ assert(gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &t, 0) >= 0);
fail("could not verify: %s/%.4x!\n", t.data, status);
}
}
diff --git a/tests/mini-x509.c b/tests/mini-x509.c
index 4aa1d5f4e2..d358c20b01 100644
--- a/tests/mini-x509.c
+++ b/tests/mini-x509.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,7 +40,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -50,8 +50,7 @@ static time_t mytime(time_t * t)
return then;
}
-static
-void start(const char *prio, unsigned expect_max)
+static void start(const char *prio, unsigned expect_max)
{
int ret;
/* Server stuff. */
@@ -75,9 +74,8 @@ void start(const char *prio, unsigned expect_max)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -91,9 +89,8 @@ void start(const char *prio, unsigned expect_max)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -181,9 +178,8 @@ void start(const char *prio, unsigned expect_max)
}
/* check gnutls_certificate_verify_peers3 */
- ret =
- gnutls_certificate_verify_peers3(client, "localhost1",
- &status);
+ ret = gnutls_certificate_verify_peers3(client, "localhost1",
+ &status);
if (ret < 0) {
fail("could not verify certificate: %s\n",
gnutls_strerror(ret));
@@ -195,9 +191,8 @@ void start(const char *prio, unsigned expect_max)
exit(1);
}
- ret =
- gnutls_certificate_verify_peers3(client, "localhost",
- &status);
+ ret = gnutls_certificate_verify_peers3(client, "localhost",
+ &status);
if (ret < 0) {
fail("could not verify certificate: %s\n",
gnutls_strerror(ret));
@@ -235,7 +230,7 @@ void start(const char *prio, unsigned expect_max)
if (sizeof(time_t) >= 8) {
t = gnutls_certificate_expiration_time_peers(client);
- if (t != (time_t) 253402300799UL) {
+ if (t != (time_t)253402300799UL) {
fail("unexpected expiration time: %lu\n",
(long unsigned)t);
}
@@ -252,12 +247,14 @@ void start(const char *prio, unsigned expect_max)
if (gnutls_protocol_get_version(client) == GNUTLS_TLS1_2) {
ret = gnutls_session_ext_master_secret_status(client);
if (ret != 1) {
- fail("Extended master secret wasn't negotiated by default (client ret: %d)\n", ret);
+ fail("Extended master secret wasn't negotiated by default (client ret: %d)\n",
+ ret);
}
ret = gnutls_session_ext_master_secret_status(server);
if (ret != 1) {
- fail("Extended master secret wasn't negotiated by default (server ret: %d)\n", ret);
+ fail("Extended master secret wasn't negotiated by default (server ret: %d)\n",
+ ret);
}
}
diff --git a/tests/missingissuer.c b/tests/missingissuer.c
index 5a7ccaabbd..5f3a5364bb 100644
--- a/tests/missingissuer.c
+++ b/tests/missingissuer.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,7 +43,7 @@ static time_t then = DEFAULT_THEN;
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
if (t)
*t = then;
@@ -63,7 +63,7 @@ struct getissuer_data {
static int getissuer_callback(gnutls_x509_trust_list_t tlist,
const gnutls_x509_crt_t crt,
- gnutls_x509_crt_t ** issuers,
+ gnutls_x509_crt_t **issuers,
unsigned int *issuers_size)
{
gnutls_datum_t tmp;
@@ -94,13 +94,14 @@ static int getissuer_callback(gnutls_x509_trust_list_t tlist,
assert(gnutls_x509_crt_print(crt, GNUTLS_CRT_PRINT_ONELINE, &tmp) >= 0);
if (debug)
- printf("\t Certificate missing issuer is: %.*s\n",
- tmp.size, tmp.data);
+ printf("\t Certificate missing issuer is: %.*s\n", tmp.size,
+ tmp.data);
gnutls_free(tmp.data);
for (i = 0; i < *issuers_size; i++) {
- assert(gnutls_x509_crt_print
- ((*issuers)[i], GNUTLS_CRT_PRINT_ONELINE, &tmp) >= 0);
+ assert(gnutls_x509_crt_print((*issuers)[i],
+ GNUTLS_CRT_PRINT_ONELINE,
+ &tmp) >= 0);
if (debug)
printf("\t Appended issuer certificate is: %.*s\n",
@@ -163,9 +164,8 @@ void doit(void)
tmp.data = (unsigned char *)chains[i].chain[j];
tmp.size = strlen(chains[i].chain[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
@@ -226,8 +226,8 @@ void doit(void)
data.insert = chains[i].insert;
gnutls_x509_trust_list_set_ptr(tl, &data);
- gnutls_x509_trust_list_set_getissuer_function(tl,
- getissuer_callback);
+ gnutls_x509_trust_list_set_getissuer_function(
+ tl, getissuer_callback);
ret = gnutls_x509_trust_list_verify_crt(tl, certs, j,
chains[i].verify_flags,
@@ -241,12 +241,14 @@ void doit(void)
if (verify_status != chains[i].expected_verify_result) {
gnutls_datum_t out1, out2;
- gnutls_certificate_verification_status_print
- (verify_status, GNUTLS_CRT_X509, &out1, 0);
- gnutls_certificate_verification_status_print
- (chains[i].expected_verify_result,
- GNUTLS_CRT_X509, &out2, 0);
- fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n", chains[i].name, verify_status, out1.data, chains[i].expected_verify_result, out2.data);
+ gnutls_certificate_verification_status_print(
+ verify_status, GNUTLS_CRT_X509, &out1, 0);
+ gnutls_certificate_verification_status_print(
+ chains[i].expected_verify_result,
+ GNUTLS_CRT_X509, &out2, 0);
+ fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n",
+ chains[i].name, verify_status, out1.data,
+ chains[i].expected_verify_result, out2.data);
gnutls_free(out1.data);
gnutls_free(out2.data);
diff --git a/tests/missingissuer_aia.c b/tests/missingissuer_aia.c
index 8070331909..0fe8879ade 100644
--- a/tests/missingissuer_aia.c
+++ b/tests/missingissuer_aia.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,7 +43,7 @@ static time_t then = DEFAULT_THEN;
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
if (t)
*t = then;
@@ -58,7 +58,7 @@ static void tls_log_func(int level, const char *str)
static int getissuer_callback(gnutls_x509_trust_list_t tlist,
const gnutls_x509_crt_t crt,
- gnutls_x509_crt_t ** issuers,
+ gnutls_x509_crt_t **issuers,
unsigned int *issuers_size)
{
int ret;
@@ -69,13 +69,12 @@ static int getissuer_callback(gnutls_x509_trust_list_t tlist,
assert(gnutls_x509_crt_print(crt, GNUTLS_CRT_PRINT_ONELINE, &tmp) >= 0);
if (debug)
- printf("\t Certificate missing issuer is: %.*s\n",
- tmp.size, tmp.data);
+ printf("\t Certificate missing issuer is: %.*s\n", tmp.size,
+ tmp.data);
gnutls_free(tmp.data);
- ret = gnutls_x509_crt_get_authority_info_access(crt, 1,
- GNUTLS_IA_CAISSUERS_URI,
- &aia, NULL);
+ ret = gnutls_x509_crt_get_authority_info_access(
+ crt, 1, GNUTLS_IA_CAISSUERS_URI, &aia, NULL);
if (ret < 0) {
fprintf(stderr, "error: %s\n", gnutls_strerror(ret));
return -1;
@@ -98,8 +97,9 @@ static int getissuer_callback(gnutls_x509_trust_list_t tlist,
}
for (i = 0; i < *issuers_size; i++) {
- assert(gnutls_x509_crt_print
- (*issuers[i], GNUTLS_CRT_PRINT_ONELINE, &tmp) >= 0);
+ assert(gnutls_x509_crt_print(*issuers[i],
+ GNUTLS_CRT_PRINT_ONELINE,
+ &tmp) >= 0);
if (debug)
printf("\t Appended missing certificate is: %.*s\n",
@@ -145,8 +145,7 @@ void doit(void)
ret = gnutls_x509_crt_init(&certs[j]);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_init[%d]: %s\n",
(int)j, gnutls_strerror(ret));
exit(1);
}
@@ -154,21 +153,20 @@ void doit(void)
tmp.data = (unsigned char *)missing_cert_aia[j];
tmp.size = strlen(missing_cert_aia[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_import[%d]: %s\n",
(int)j, gnutls_strerror(ret));
exit(1);
}
gnutls_x509_crt_print(certs[j], GNUTLS_CRT_PRINT_ONELINE, &tmp);
if (debug)
- printf("\tCertificate %d: %.*s\n", (int)j,
- tmp.size, tmp.data);
+ printf("\tCertificate %d: %.*s\n", (int)j, tmp.size,
+ tmp.data);
gnutls_free(tmp.data);
}
@@ -212,16 +210,16 @@ void doit(void)
gnutls_x509_trust_list_set_getissuer_function(tl, getissuer_callback);
- ret = gnutls_x509_trust_list_verify_crt(tl, certs, MAX_CHAIN,
- 0, &verify_status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, certs, MAX_CHAIN, 0,
+ &verify_status, NULL);
if (ret < 0) {
fail("gnutls_x509_crt_list_verify: %s\n", gnutls_strerror(ret));
}
if (verify_status) {
gnutls_datum_t out;
- gnutls_certificate_verification_status_print
- (verify_status, GNUTLS_CRT_X509, &out, 0);
+ gnutls_certificate_verification_status_print(
+ verify_status, GNUTLS_CRT_X509, &out, 0);
fail("verification failed: %s\n", out.data);
gnutls_free(out.data);
}
diff --git a/tests/mpi.c b/tests/mpi.c
index bc1d731a6d..39e856ba73 100644
--- a/tests/mpi.c
+++ b/tests/mpi.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/multi-alerts.c b/tests/multi-alerts.c
index 7412d48fa1..1ca2521519 100644
--- a/tests/multi-alerts.c
+++ b/tests/multi-alerts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,18 +41,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
pid_t child;
@@ -62,46 +62,46 @@ static void tls_log_func(int level, const char *str)
str);
}
-static unsigned char tls_hello[] =
- "\x16\x03\x01\x01\x38\x01\x00\x01"
- "\x34\x03\x03\xfc\x77\xa8\xc7\x46"
- "\xf7\xfd\x04\x5b\x3c\xc6\xfa\xa4"
- "\xea\x3e\xfa\x76\x99\xfe\x1a\x2e"
- "\xe0\x79\x17\xb2\x27\x06\xc4\x5c"
- "\xd8\x78\x31\x00\x00\xb6\xc0\x30"
- "\xc0\x2c\xc0\x28\xc0\x24\xc0\x14"
- "\xc0\x0a\x00\xa5\x00\xa3\x00\xa1"
- "\x00\x9f\x00\x6b\x00\x6a\x00\x69"
- "\x00\x68\x00\x39\x00\x38\x00\x37"
- "\x00\x36\x00\x88\x00\x87\x00\x86"
- "\x00\x85\xc0\x32\xc0\x2e\xc0\x2a"
- "\xc0\x26\xc0\x0f\xc0\x05\x00\x9d"
- "\x00\x3d\x00\x35\x00\x84\xc0\x2f"
- "\xc0\x2b\xc0\x27\xc0\x23\xc0\x13"
- "\xc0\x09\x00\xa4\x00\xa2\x00\xa0"
- "\x00\x9e\x00\x67\x00\x40\x00\x3f"
- "\x00\x3e\x00\x33\x00\x32\x00\x31"
- "\x00\x30\x00\x9a\x00\x99\x00\x98"
- "\x00\x97\x00\x45\x00\x44\x00\x43"
- "\x00\x42\xc0\x31\xc0\x2d\xc0\x29"
- "\xc0\x25\xc0\x0e\xc0\x04\x00\x9c"
- "\x00\x3c\x00\x2f\x00\x96\x00\x41"
- "\x00\x07\xc0\x11\xc0\x07\xc0\x0c"
- "\xc0\x02\x00\x05\x00\x04\xc0\x12"
- "\xc0\x08\x00\x16\x00\x13\x00\x10"
- "\x00\x0d\xc0\x0d\xc0\x03\x00\x0a"
- "\x00\x15\x00\x12\x00\x0f\x00\x0c"
- "\x00\x09\x00\xff\x01\x00\x00\x55"
- "\x00\x0b\x00\x04\x03\x00\x01\x02"
- "\x00\x0a\x00\x1c\x00\x1a\x00\x17"
- "\x00\x19\x00\x1c\x00\x1b\x00\x18"
- "\x00\x1a\x00\x16\x00\x0e\x00\x0d"
- "\x00\x0b\x00\x0c\x00\x09\x00\x0a"
- "\x00\x23\x00\x00\x00\x0d\x00\x20"
- "\x00\x1e\x06\x01\x06\x02\x06\x03"
- "\x05\x01\x05\x02\x05\x03\x04\x01"
- "\x04\x02\x04\x03\x03\x01\x03\x02"
- "\x03\x03\x02\x01\x02\x02\x02\x03" "\x00\x0f\x00\x01\x01";
+static unsigned char tls_hello[] = "\x16\x03\x01\x01\x38\x01\x00\x01"
+ "\x34\x03\x03\xfc\x77\xa8\xc7\x46"
+ "\xf7\xfd\x04\x5b\x3c\xc6\xfa\xa4"
+ "\xea\x3e\xfa\x76\x99\xfe\x1a\x2e"
+ "\xe0\x79\x17\xb2\x27\x06\xc4\x5c"
+ "\xd8\x78\x31\x00\x00\xb6\xc0\x30"
+ "\xc0\x2c\xc0\x28\xc0\x24\xc0\x14"
+ "\xc0\x0a\x00\xa5\x00\xa3\x00\xa1"
+ "\x00\x9f\x00\x6b\x00\x6a\x00\x69"
+ "\x00\x68\x00\x39\x00\x38\x00\x37"
+ "\x00\x36\x00\x88\x00\x87\x00\x86"
+ "\x00\x85\xc0\x32\xc0\x2e\xc0\x2a"
+ "\xc0\x26\xc0\x0f\xc0\x05\x00\x9d"
+ "\x00\x3d\x00\x35\x00\x84\xc0\x2f"
+ "\xc0\x2b\xc0\x27\xc0\x23\xc0\x13"
+ "\xc0\x09\x00\xa4\x00\xa2\x00\xa0"
+ "\x00\x9e\x00\x67\x00\x40\x00\x3f"
+ "\x00\x3e\x00\x33\x00\x32\x00\x31"
+ "\x00\x30\x00\x9a\x00\x99\x00\x98"
+ "\x00\x97\x00\x45\x00\x44\x00\x43"
+ "\x00\x42\xc0\x31\xc0\x2d\xc0\x29"
+ "\xc0\x25\xc0\x0e\xc0\x04\x00\x9c"
+ "\x00\x3c\x00\x2f\x00\x96\x00\x41"
+ "\x00\x07\xc0\x11\xc0\x07\xc0\x0c"
+ "\xc0\x02\x00\x05\x00\x04\xc0\x12"
+ "\xc0\x08\x00\x16\x00\x13\x00\x10"
+ "\x00\x0d\xc0\x0d\xc0\x03\x00\x0a"
+ "\x00\x15\x00\x12\x00\x0f\x00\x0c"
+ "\x00\x09\x00\xff\x01\x00\x00\x55"
+ "\x00\x0b\x00\x04\x03\x00\x01\x02"
+ "\x00\x0a\x00\x1c\x00\x1a\x00\x17"
+ "\x00\x19\x00\x1c\x00\x1b\x00\x18"
+ "\x00\x1a\x00\x16\x00\x0e\x00\x0d"
+ "\x00\x0b\x00\x0c\x00\x09\x00\x0a"
+ "\x00\x23\x00\x00\x00\x0d\x00\x20"
+ "\x00\x1e\x06\x01\x06\x02\x06\x03"
+ "\x05\x01\x05\x02\x05\x03\x04\x01"
+ "\x04\x02\x04\x03\x03\x01\x03\x02"
+ "\x03\x03\x02\x01\x02\x02\x02\x03"
+ "\x00\x0f\x00\x01\x01";
static unsigned char tls_alert[] = "\x15\x03\x03\x00\x02\x00\x0A";
@@ -162,8 +162,8 @@ static void server(int sd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -174,8 +174,8 @@ static void server(int sd)
loops++;
if (loops > 64)
fail("Too many loops in the handshake!\n");
- } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_WARNING_ALERT_RECEIVED);
+ } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_WARNING_ALERT_RECEIVED);
if (ret >= 0) {
fail("server: Handshake succeeded unexpectedly\n");
@@ -231,4 +231,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/naked-alerts.c b/tests/naked-alerts.c
index 73331f72fc..69392ef358 100644
--- a/tests/naked-alerts.c
+++ b/tests/naked-alerts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,18 +40,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
pid_t child;
@@ -111,8 +111,8 @@ static void server(int sd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -123,11 +123,12 @@ static void server(int sd)
loops++;
if (loops > 64)
fail("Too many loops in the handshake!\n");
- } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_WARNING_ALERT_RECEIVED);
+ } while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_WARNING_ALERT_RECEIVED);
if (ret != GNUTLS_E_UNEXPECTED_PACKET) {
- fail("server: Handshake didn't fail with expected code (failed with %d)\n", ret);
+ fail("server: Handshake didn't fail with expected code (failed with %d)\n",
+ ret);
}
close(sd);
@@ -174,4 +175,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/name-constraints-ip.c b/tests/name-constraints-ip.c
index 00d10c03b2..cdc27fe4b2 100644
--- a/tests/name-constraints-ip.c
+++ b/tests/name-constraints-ip.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,10 +47,9 @@ typedef struct test_vars_t {
/* just declaration: function is exported privately
from lib/x509/name_constraints.c (declared in lib/x509/x509_int.h)
but including the header breaks includes */
-extern int _gnutls_x509_name_constraints_merge(gnutls_x509_name_constraints_t
- nc,
- gnutls_x509_name_constraints_t
- nc2);
+extern int
+_gnutls_x509_name_constraints_merge(gnutls_x509_name_constraints_t nc,
+ gnutls_x509_name_constraints_t nc2);
static void check_for_error(int ret)
{
@@ -62,7 +61,7 @@ static void check_for_error(int ret)
#define IP_REJECTED 0
static void check_test_result(int ret, int expected_outcome,
- gnutls_datum_t * tested_ip)
+ gnutls_datum_t *tested_ip)
{
if (expected_outcome == IP_ACCEPTED ? ret == 0 : ret != 0) {
char ip_out[48];
@@ -78,7 +77,7 @@ static void check_test_result(int ret, int expected_outcome,
}
}
-static void parse_cidr(const char *cidr, gnutls_datum_t * datum)
+static void parse_cidr(const char *cidr, gnutls_datum_t *datum)
{
if (datum->data != NULL) {
gnutls_free(datum->data);
@@ -93,30 +92,31 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix\n"
- "RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1\n"
- "dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p\n"
- "YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw\n"
- "NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK\n"
- "EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl\n"
- "cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\n"
- "c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB\n"
- "BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz\n"
- "dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ\n"
- "fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns\n"
- "bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD\n"
- "75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP\n"
- "FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV\n"
- "HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp\n"
- "5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu\n"
- "b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA\n"
- "A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p\n"
- "6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8\n"
- "TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7\n"
- "dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys\n"
- "Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI\n"
- "l7WdmplNsDz4SgCbZN2fOUvRJ9e4\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix\n"
+ "RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1\n"
+ "dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p\n"
+ "YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw\n"
+ "NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK\n"
+ "EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl\n"
+ "cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\n"
+ "c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB\n"
+ "BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz\n"
+ "dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ\n"
+ "fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns\n"
+ "bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD\n"
+ "75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP\n"
+ "FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV\n"
+ "HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp\n"
+ "5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu\n"
+ "b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA\n"
+ "A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p\n"
+ "6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8\n"
+ "TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7\n"
+ "dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys\n"
+ "Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI\n"
+ "l7WdmplNsDz4SgCbZN2fOUvRJ9e4\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) };
@@ -125,8 +125,8 @@ const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) };
static void check_generation_reading_basic_checking(void **glob_state)
{
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
unsigned int i, num_permitted, num_excluded, type;
gnutls_x509_crt_t crt;
@@ -146,30 +146,26 @@ static void check_generation_reading_basic_checking(void **glob_state)
num_permitted = num_excluded = 0;
parse_cidr("203.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
num_permitted++;
check_for_error(ret);
parse_cidr("2001:DB8::/32", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
num_permitted++;
check_for_error(ret);
parse_cidr("203.0.113.0/26", ip);
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
num_excluded++;
check_for_error(ret);
parse_cidr("2001:DB8::/34", ip);
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
num_excluded++;
check_for_error(ret);
@@ -177,17 +173,15 @@ static void check_generation_reading_basic_checking(void **glob_state)
parse_cidr("2001:DB8::/34", ip);
ip->data[30] = 2;
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
if (ret == 0)
fail_msg("Checking invalid network mask should have failed.");
parse_cidr("2001:DB8::/34", ip);
ip->size = 31;
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
if (ret == 0)
fail_msg("Checking invalid IP size should have failed.");
@@ -198,9 +192,8 @@ static void check_generation_reading_basic_checking(void **glob_state)
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, i++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_permitted(nc, i++, &type,
+ &name);
#ifdef DEBUG
_gnutls_cidr_to_string(name.data, name.size, ip_out,
sizeof(ip_out));
@@ -209,16 +202,15 @@ static void check_generation_reading_basic_checking(void **glob_state)
} while (ret == 0);
if (i - 1 != num_permitted) {
- fail_msg
- ("Could not read all constraints; read %d, expected %d\n",
- i - 1, num_permitted);
+ fail_msg(
+ "Could not read all constraints; read %d, expected %d\n",
+ i - 1, num_permitted);
}
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, i++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, i++, &type,
+ &name);
#ifdef DEBUG
_gnutls_cidr_to_string(name.data, name.size, ip_out,
sizeof(ip_out));
@@ -227,40 +219,40 @@ static void check_generation_reading_basic_checking(void **glob_state)
} while (ret == 0);
if (i - 1 != num_excluded) {
- fail_msg
- ("Could not read all excluded constraints; read %d, expected %d\n",
- i - 1, num_excluded);
+ fail_msg(
+ "Could not read all excluded constraints; read %d, expected %d\n",
+ i - 1, num_excluded);
}
/* 3: test the name constraints check function */
parse_cidr("203.0.113.250/32", ip);
- ip->size = 4; // strip network mask
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
parse_cidr("203.0.114.0/32", ip);
- ip->size = 4; // strip network mask
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
parse_cidr("203.0.113.10/32", ip);
- ip->size = 4; // strip network mask
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
parse_cidr("2001:DB8:4000::/128", ip);
- ip->size = 16; // strip network mask
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
parse_cidr("2001:DB9::/128", ip);
- ip->size = 16; // strip network mask
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
parse_cidr("2001:DB8:10::/128", ip);
- ip->size = 16; // strip network mask
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
@@ -271,22 +263,21 @@ static void check_universal_constraint_checking(void **glob_state)
{
/* 3b setting universal constraint */
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("2001:DB8::/0", ip);
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("2001:DB8:10::/128", ip);
- ip->size = 16; // strip network mask
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
parse_cidr("::/128", ip);
- ip->size = 16; // strip network mask
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -299,37 +290,33 @@ static void check_simple_intersection(void **glob_state)
* A B C
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("203.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("203.0.113.0/26", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("203.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("203.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
- parse_cidr("203.0.113.250/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("203.0.113.250/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("203.0.114.0/32", ip); // C
- ip->size = 4; // strip network mask
+ parse_cidr("203.0.114.0/32", ip); // C
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -342,37 +329,33 @@ static void check_empty_intersection(void **glob_state)
* A B C
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("127.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("255.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("127.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("127.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.0.2/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.0.2/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.113.2/32", ip); // C
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.113.2/32", ip); // C
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -385,48 +368,42 @@ static void check_mediocre_intersection(void **glob_state)
* A B C D
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("127.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("127.0.113.0/26", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("255.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("127.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("127.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
- parse_cidr("127.0.113.250/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("127.0.113.250/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.0.2/32", ip); // C
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.0.2/32", ip); // C
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.113.2/32", ip); // D
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.113.2/32", ip); // D
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -439,79 +416,70 @@ static void check_difficult_intersection(void **glob_state)
* A B C D E F G H
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("0.0.0.0/3", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("88.0.0.0/5", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("0.0.0.0/5", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("16.0.0.0/5", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("64.0.0.0/3", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("0.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("0.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
- parse_cidr("15.255.255.255/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("15.255.255.255/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("16.0.0.0/32", ip); // C
- ip->size = 4; // strip network mask
+ parse_cidr("16.0.0.0/32", ip); // C
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
- parse_cidr("31.12.25.2/32", ip); // D
- ip->size = 4; // strip network mask
+ parse_cidr("31.12.25.2/32", ip); // D
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("63.255.255.255/32", ip); // E
- ip->size = 4; // strip network mask
+ parse_cidr("63.255.255.255/32", ip); // E
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("64.0.0.0/32", ip); // F
- ip->size = 4; // strip network mask
+ parse_cidr("64.0.0.0/32", ip); // F
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("89.125.7.187/32", ip); // G
- ip->size = 4; // strip network mask
+ parse_cidr("89.125.7.187/32", ip); // G
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
- parse_cidr("96.0.0.0/32", ip); // H
- ip->size = 4; // strip network mask
+ parse_cidr("96.0.0.0/32", ip); // H
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -524,62 +492,57 @@ static void check_ipv6_intersection(void **glob_state)
* A B C D E F G
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("affb::/16", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("affd:0000::/20", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("affb:aa00::/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("affa:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128", ip); // A
- ip->size = 16; // strip network mask
+ parse_cidr("affa:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128", ip); // A
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("affb:a500::/128", ip); // B
- ip->size = 16; // strip network mask
+ parse_cidr("affb:a500::/128", ip); // B
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("affb:aa00::/128", ip); // C
- ip->size = 16; // strip network mask
+ parse_cidr("affb:aa00::/128", ip); // C
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_ACCEPTED, ip);
- parse_cidr("affb:ab01::/128", ip); // D
- ip->size = 16; // strip network mask
+ parse_cidr("affb:ab01::/128", ip); // D
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("affc::/128", ip); // E
- ip->size = 16; // strip network mask
+ parse_cidr("affc::/128", ip); // E
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("affd:0fff::/128", ip); // F
- ip->size = 16; // strip network mask
+ parse_cidr("affd:0fff::/128", ip); // F
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("affd:1000::/128", ip); // G
- ip->size = 16; // strip network mask
+ parse_cidr("affd:1000::/128", ip); // G
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -596,52 +559,47 @@ static void check_empty_ipv4_intersection_ipv6_remains(void **glob_state)
* D E
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("127.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("bfa6::/16", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("255.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("127.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("127.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.0.2/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.0.2/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.113.2/32", ip); // C
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.113.2/32", ip); // C
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("bfa6:ab01::/128", ip); // D
- ip->size = 16; // strip network mask
+ parse_cidr("bfa6:ab01::/128", ip); // D
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("bfa7::/128", ip); // E
- ip->size = 16; // strip network mask
+ parse_cidr("bfa7::/128", ip); // E
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -659,63 +617,56 @@ static void check_empty_ipv4v6_intersections(void **glob_state)
* D E F
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("127.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("bfa6::/16", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("255.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("cfa6::/16", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("127.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("127.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.0.2/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.0.2/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.113.2/32", ip); // C
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.113.2/32", ip); // C
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("bfa6:ab01::/128", ip); // D
- ip->size = 16; // strip network mask
+ parse_cidr("bfa6:ab01::/128", ip); // D
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("bfa7::/128", ip); // E
- ip->size = 16; // strip network mask
+ parse_cidr("bfa7::/128", ip); // E
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("cfa7:00cc::/128", ip); // F
- ip->size = 16; // strip network mask
+ parse_cidr("cfa7:00cc::/128", ip); // F
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -731,42 +682,38 @@ static void check_ipv4v6_single_constraint_each(void **glob_state)
* C D
*/
int ret;
- gnutls_x509_name_constraints_t nc = ((test_vars_t *) * glob_state)->nc;
- gnutls_x509_name_constraints_t nc2 =
- ((test_vars_t *) * glob_state)->nc2;
- gnutls_datum_t *ip = &(((test_vars_t *) * glob_state)->ip);
+ gnutls_x509_name_constraints_t nc = ((test_vars_t *)*glob_state)->nc;
+ gnutls_x509_name_constraints_t nc2 = ((test_vars_t *)*glob_state)->nc2;
+ gnutls_datum_t *ip = &(((test_vars_t *)*glob_state)->ip);
parse_cidr("127.0.113.0/24", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
parse_cidr("bfa6::/16", ip);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2,
- GNUTLS_SAN_IPADDRESS,
- ip);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_IPADDRESS, ip);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc, nc2);
check_for_error(ret);
- parse_cidr("127.0.113.2/32", ip); // A
- ip->size = 4; // strip network mask
+ parse_cidr("127.0.113.2/32", ip); // A
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("255.0.0.2/32", ip); // B
- ip->size = 4; // strip network mask
+ parse_cidr("255.0.0.2/32", ip); // B
+ ip->size = 4; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("bfa6:ab01::/128", ip); // C
- ip->size = 16; // strip network mask
+ parse_cidr("bfa6:ab01::/128", ip); // C
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
- parse_cidr("bfa7::/128", ip); // D
- ip->size = 16; // strip network mask
+ parse_cidr("bfa7::/128", ip); // D
+ ip->size = 16; // strip network mask
ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_IPADDRESS, ip);
check_test_result(ret, IP_REJECTED, ip);
}
@@ -802,10 +749,11 @@ static int teardown(void **state)
int main(int argc, char **argv)
{
const struct CMUnitTest tests[] = {
- cmocka_unit_test_setup_teardown
- (check_generation_reading_basic_checking, setup, teardown),
- cmocka_unit_test_setup_teardown
- (check_universal_constraint_checking, setup, teardown),
+ cmocka_unit_test_setup_teardown(
+ check_generation_reading_basic_checking, setup,
+ teardown),
+ cmocka_unit_test_setup_teardown(
+ check_universal_constraint_checking, setup, teardown),
cmocka_unit_test_setup_teardown(check_simple_intersection,
setup, teardown),
cmocka_unit_test_setup_teardown(check_empty_intersection, setup,
@@ -816,13 +764,13 @@ int main(int argc, char **argv)
setup, teardown),
cmocka_unit_test_setup_teardown(check_ipv6_intersection, setup,
teardown),
- cmocka_unit_test_setup_teardown
- (check_empty_ipv4_intersection_ipv6_remains, setup,
- teardown),
- cmocka_unit_test_setup_teardown
- (check_empty_ipv4v6_intersections, setup, teardown),
- cmocka_unit_test_setup_teardown
- (check_ipv4v6_single_constraint_each, setup, teardown)
+ cmocka_unit_test_setup_teardown(
+ check_empty_ipv4_intersection_ipv6_remains, setup,
+ teardown),
+ cmocka_unit_test_setup_teardown(
+ check_empty_ipv4v6_intersections, setup, teardown),
+ cmocka_unit_test_setup_teardown(
+ check_ipv4v6_single_constraint_each, setup, teardown)
};
cmocka_run_group_tests(tests, NULL, NULL);
}
diff --git a/tests/name-constraints-merge.c b/tests/name-constraints-merge.c
index 0321e166ec..d14019342e 100644
--- a/tests/name-constraints-merge.c
+++ b/tests/name-constraints-merge.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -48,18 +48,20 @@ static void check_for_error(int ret)
#define NAME_REJECTED 0
static void check_test_result(int suite, int ret, int expected_outcome,
- gnutls_datum_t * tested_data)
+ gnutls_datum_t *tested_data)
{
if (expected_outcome == NAME_ACCEPTED ? ret == 0 : ret != 0) {
if (expected_outcome == NAME_ACCEPTED) {
- fail("Checking \"%.*s\" should have succeeded (suite %d).\n", tested_data->size, tested_data->data, suite);
+ fail("Checking \"%.*s\" should have succeeded (suite %d).\n",
+ tested_data->size, tested_data->data, suite);
} else {
- fail("Checking \"%.*s\" should have failed (suite %d).\n", tested_data->size, tested_data->data, suite);
+ fail("Checking \"%.*s\" should have failed (suite %d).\n",
+ tested_data->size, tested_data->data, suite);
}
}
}
-static void set_name(const char *name, gnutls_datum_t * datum)
+static void set_name(const char *name, gnutls_datum_t *datum)
{
datum->data = (unsigned char *)name;
datum->size = strlen((char *)name);
@@ -96,34 +98,28 @@ void doit(void)
check_for_error(ret);
set_name("org", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1,
- GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_RFC822NAME, &name);
check_for_error(ret);
set_name("org", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("aaa.bbb.ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc1, nc2);
@@ -131,66 +127,64 @@ void doit(void)
/* unrelated */
set_name("xxx.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("example.org", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_ACCEPTED, &name);
set_name("com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("xxx.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
/* check intersection of permitted */
set_name("xxx.aaa.bbb.ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_ACCEPTED, &name);
set_name("aaa.bbb.ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_ACCEPTED, &name);
set_name("xxx.bbb.ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("xxx.ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(suite, ret, NAME_ACCEPTED, &name);
set_name("xxx.ccc.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
gnutls_x509_name_constraints_deinit(nc1);
@@ -209,43 +203,41 @@ void doit(void)
check_for_error(ret);
set_name("example.com", &name);
- ret =
- gnutls_x509_name_constraints_add_excluded(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_excluded(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_for_error(ret);
set_name("example.net", &name);
- ret =
- gnutls_x509_name_constraints_add_excluded(nc2, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_excluded(nc2, GNUTLS_SAN_DNSNAME,
+ &name);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc1, nc2);
check_for_error(ret);
set_name("xxx.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("xxx.example.net", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("example.net", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("example.org", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_ACCEPTED, &name);
gnutls_x509_name_constraints_deinit(nc1);
@@ -265,43 +257,41 @@ void doit(void)
check_for_error(ret);
set_name("one.example.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("two.example.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc1, nc2);
check_for_error(ret);
set_name("one.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("two.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("three.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("org", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
gnutls_x509_name_constraints_deinit(nc1);
@@ -322,49 +312,46 @@ void doit(void)
check_for_error(ret);
set_name("foo.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("bar.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("sub.foo.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc1, nc2);
check_for_error(ret);
set_name("foo.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("bar.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("sub.foo.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_ACCEPTED, &name);
set_name("anothersub.foo.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
gnutls_x509_name_constraints_deinit(nc1);
@@ -386,50 +373,46 @@ void doit(void)
check_for_error(ret);
set_name("three.example.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
set_name("redhat.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc1,
- GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc1, GNUTLS_SAN_RFC822NAME, &name);
check_for_error(ret);
set_name("four.example.com", &name);
- ret =
- gnutls_x509_name_constraints_add_permitted(nc2, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc2, GNUTLS_SAN_DNSNAME, &name);
check_for_error(ret);
ret = _gnutls_x509_name_constraints_merge(nc1, nc2);
check_for_error(ret);
set_name("three.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("four.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("five.example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
set_name("org", &name);
- ret =
- gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME, &name);
+ ret = gnutls_x509_name_constraints_check(nc1, GNUTLS_SAN_DNSNAME,
+ &name);
check_test_result(suite, ret, NAME_REJECTED, &name);
gnutls_x509_name_constraints_deinit(nc1);
diff --git a/tests/name-constraints.c b/tests/name-constraints.c
index c1c0706da8..3488105ad1 100644
--- a/tests/name-constraints.c
+++ b/tests/name-constraints.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -48,7 +48,7 @@ static void check_for_error(int ret)
#define NAME_REJECTED 0
static void check_test_result(int ret, int expected_outcome,
- gnutls_datum_t * tested_data)
+ gnutls_datum_t *tested_data)
{
if (expected_outcome == NAME_ACCEPTED ? ret == 0 : ret != 0) {
if (expected_outcome == NAME_ACCEPTED) {
@@ -61,7 +61,7 @@ static void check_test_result(int ret, int expected_outcome,
}
}
-static void set_name(const char *name, gnutls_datum_t * datum)
+static void set_name(const char *name, gnutls_datum_t *datum)
{
datum->data = (unsigned char *)name;
datum->size = strlen((char *)name);
@@ -73,48 +73,49 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix\n"
- "RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1\n"
- "dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p\n"
- "YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw\n"
- "NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK\n"
- "EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl\n"
- "cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\n"
- "c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB\n"
- "BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz\n"
- "dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ\n"
- "fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns\n"
- "bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD\n"
- "75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP\n"
- "FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV\n"
- "HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp\n"
- "5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu\n"
- "b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA\n"
- "A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p\n"
- "6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8\n"
- "TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7\n"
- "dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys\n"
- "Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI\n"
- "l7WdmplNsDz4SgCbZN2fOUvRJ9e4\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix\n"
+ "RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1\n"
+ "dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p\n"
+ "YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw\n"
+ "NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK\n"
+ "EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl\n"
+ "cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\n"
+ "c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB\n"
+ "BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz\n"
+ "dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ\n"
+ "fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns\n"
+ "bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD\n"
+ "75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP\n"
+ "FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV\n"
+ "HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp\n"
+ "5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu\n"
+ "b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA\n"
+ "A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p\n"
+ "6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8\n"
+ "TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7\n"
+ "dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys\n"
+ "Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI\n"
+ "l7WdmplNsDz4SgCbZN2fOUvRJ9e4\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) };
const gnutls_datum_t name1 = { (void *)"com", 3 };
-const gnutls_datum_t name2 =
- { (void *)"example.com", sizeof("example.com") - 1 };
-const gnutls_datum_t name3 =
- { (void *)"another.example.com", sizeof("another.example.com") - 1 };
+const gnutls_datum_t name2 = { (void *)"example.com",
+ sizeof("example.com") - 1 };
+const gnutls_datum_t name3 = { (void *)"another.example.com",
+ sizeof("another.example.com") - 1 };
const gnutls_datum_t name4 = { (void *)".gr", 3 };
-const gnutls_datum_t mail1 =
- { (void *)"example.com", sizeof("example.com") - 1 };
-const gnutls_datum_t mail2 =
- { (void *)".example.net", sizeof(".example.net") - 1 };
-const gnutls_datum_t mail3 =
- { (void *)"nmav@redhat.com", sizeof("nmav@redhat.com") - 1 };
-const gnutls_datum_t mail4 =
- { (void *)"koko.example.net", sizeof("koko.example.net") - 1 };
+const gnutls_datum_t mail1 = { (void *)"example.com",
+ sizeof("example.com") - 1 };
+const gnutls_datum_t mail2 = { (void *)".example.net",
+ sizeof(".example.net") - 1 };
+const gnutls_datum_t mail3 = { (void *)"nmav@redhat.com",
+ sizeof("nmav@redhat.com") - 1 };
+const gnutls_datum_t mail4 = { (void *)"koko.example.net",
+ sizeof("koko.example.net") - 1 };
void doit(void)
{
@@ -149,12 +150,12 @@ void doit(void)
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, i++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_permitted(nc, i++, &type,
+ &name);
if (ret >= 0 && i == 2) {
- if (name.size != 3 || memcmp(name.data, ".eu", 3) != 0) {
+ if (name.size != 3 ||
+ memcmp(name.data, ".eu", 3) != 0) {
fail("error reading 2nd constraint\n");
}
}
@@ -183,60 +184,48 @@ void doit(void)
check_for_error(ret);
permitted++;
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_DNSNAME,
- &name1);
+ ret = gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_DNSNAME,
+ &name1);
check_for_error(ret);
excluded++;
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_DNSNAME,
- &name2);
+ ret = gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_DNSNAME,
+ &name2);
check_for_error(ret);
excluded++;
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_DNSNAME,
- &name3);
+ ret = gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_DNSNAME,
+ &name3);
check_for_error(ret);
permitted++;
- ret =
- gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_DNSNAME,
- &name4);
+ ret = gnutls_x509_name_constraints_add_permitted(nc, GNUTLS_SAN_DNSNAME,
+ &name4);
check_for_error(ret);
excluded++;
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_URI,
- &name3);
+ ret = gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_URI,
+ &name3);
check_for_error(ret);
permitted++;
- ret =
- gnutls_x509_name_constraints_add_permitted(nc,
- GNUTLS_SAN_RFC822NAME,
- &mail1);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_RFC822NAME, &mail1);
check_for_error(ret);
permitted++;
- ret =
- gnutls_x509_name_constraints_add_permitted(nc,
- GNUTLS_SAN_RFC822NAME,
- &mail2);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_RFC822NAME, &mail2);
check_for_error(ret);
permitted++;
- ret =
- gnutls_x509_name_constraints_add_permitted(nc,
- GNUTLS_SAN_RFC822NAME,
- &mail3);
+ ret = gnutls_x509_name_constraints_add_permitted(
+ nc, GNUTLS_SAN_RFC822NAME, &mail3);
check_for_error(ret);
excluded++;
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_RFC822NAME,
- &mail4);
+ ret = gnutls_x509_name_constraints_add_excluded(
+ nc, GNUTLS_SAN_RFC822NAME, &mail4);
check_for_error(ret);
ret = gnutls_x509_crt_set_name_constraints(crt, nc, 1);
@@ -246,13 +235,12 @@ void doit(void)
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_permitted(nc, i++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_permitted(nc, i++, &type,
+ &name);
if (ret >= 0 && i == 1) {
- if (name.size != name1.size
- || memcmp(name.data, name1.data, name1.size) != 0) {
+ if (name.size != name1.size ||
+ memcmp(name.data, name1.data, name1.size) != 0) {
fail("%d: error reading 1st constraint\n",
__LINE__);
}
@@ -266,26 +254,28 @@ void doit(void)
i = 0;
do {
- ret =
- gnutls_x509_name_constraints_get_excluded(nc, i++, &type,
- &name);
+ ret = gnutls_x509_name_constraints_get_excluded(nc, i++, &type,
+ &name);
if (ret >= 0 && i == 1) {
- if (name.size != name2.size
- || memcmp(name.data, name2.data, name2.size) != 0) {
- fail("%d: error reading 1st excluded constraint\n", __LINE__);
+ if (name.size != name2.size ||
+ memcmp(name.data, name2.data, name2.size) != 0) {
+ fail("%d: error reading 1st excluded constraint\n",
+ __LINE__);
}
}
if (ret >= 0 && i == 2) {
- if (name.size != name3.size
- || memcmp(name.data, name3.data, name3.size) != 0) {
- fail("%d: error reading 1st excluded constraint\n", __LINE__);
+ if (name.size != name3.size ||
+ memcmp(name.data, name3.data, name3.size) != 0) {
+ fail("%d: error reading 1st excluded constraint\n",
+ __LINE__);
}
}
} while (ret == 0);
if (i - 1 != excluded) {
- fail("Could not read all excluded constraints; read %d, expected %d\n", i - 1, excluded);
+ fail("Could not read all excluded constraints; read %d, expected %d\n",
+ i - 1, excluded);
}
/* 3: test the name constraints check function */
@@ -298,39 +288,33 @@ void doit(void)
/* Test e-mails */
set_name("nmav@redhat.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(ret, NAME_ACCEPTED, &name);
set_name("nmav@radhat.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(ret, NAME_REJECTED, &name);
set_name("nmav@example.com", &name);
- ret =
- gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(ret, NAME_ACCEPTED, &name);
set_name("nmav@test.example.net", &name);
- ret =
- gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(ret, NAME_ACCEPTED, &name);
set_name("nmav@example.net", &name);
- ret =
- gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(ret, NAME_REJECTED, &name);
set_name("nmav@koko.example.net", &name);
- ret =
- gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
- &name);
+ ret = gnutls_x509_name_constraints_check(nc, GNUTLS_SAN_RFC822NAME,
+ &name);
check_test_result(ret, NAME_REJECTED, &name);
/* This name constraints structure does have an excluded URI so
@@ -370,9 +354,8 @@ void doit(void)
check_for_error(ret);
set_name("", &name);
- ret =
- gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_DNSNAME,
- &name);
+ ret = gnutls_x509_name_constraints_add_excluded(nc, GNUTLS_SAN_DNSNAME,
+ &name);
check_for_error(ret);
set_name("example.net", &name);
diff --git a/tests/no-extensions.c b/tests/no-extensions.c
index bb543b59bb..2aa99bd64b 100644
--- a/tests/no-extensions.c
+++ b/tests/no-extensions.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -46,7 +46,7 @@ static void tls_log_func(int level, const char *str)
static int server_handshake_callback(gnutls_session_t session,
unsigned int htype, unsigned post,
unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
unsigned pos;
gnutls_datum_t mmsg;
@@ -58,7 +58,7 @@ static int server_handshake_callback(gnutls_session_t session,
assert(msg->size >= HANDSHAKE_SESSION_ID_POS);
pos = HANDSHAKE_SESSION_ID_POS;
SKIP8(pos, msg->size);
- pos += 3; /* ciphersuite + compression */
+ pos += 3; /* ciphersuite + compression */
mmsg.data = &msg->data[pos];
mmsg.size = msg->size - pos;
@@ -77,7 +77,7 @@ static int server_handshake_callback(gnutls_session_t session,
static int client_handshake_callback(gnutls_session_t session,
unsigned int htype, unsigned post,
unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
unsigned pos;
gnutls_datum_t mmsg;
@@ -107,8 +107,7 @@ static int client_handshake_callback(gnutls_session_t session,
return 0;
}
-static
-void start(const char *prio, gnutls_protocol_t exp_version)
+static void start(const char *prio, gnutls_protocol_t exp_version)
{
int ret;
/* Server stuff. */
@@ -130,9 +129,8 @@ void start(const char *prio, gnutls_protocol_t exp_version)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -151,9 +149,8 @@ void start(const char *prio, gnutls_protocol_t exp_version)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
diff --git a/tests/no-signal.c b/tests/no-signal.c
index c1ea0e18dc..61a2b259a6 100644
--- a/tests/no-signal.c
+++ b/tests/no-signal.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,34 +34,33 @@ int main(void)
#else
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# ifndef MSG_NOSIGNAL
+#ifndef MSG_NOSIGNAL
int main(void)
{
exit(77);
}
-# else
+#else
-# include "utils.h"
+#include "utils.h"
-static
-void sigpipe(int sig)
+static void sigpipe(int sig)
{
_exit(2);
}
-# define BUF_SIZE 64
+#define BUF_SIZE 64
static void client(int fd)
{
@@ -86,9 +85,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -100,9 +100,8 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
+ } while (ret < 0 &&
+ (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
ret = gnutls_record_recv(session, buf, sizeof(buf));
if (ret < 0 || ret != sizeof(buf)) {
@@ -157,9 +156,10 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -167,9 +167,8 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0
- && (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
+ } while (ret < 0 &&
+ (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
if (ret < 0) {
fail("error in handshake: %s\n", gnutls_strerror(ret));
@@ -189,7 +188,6 @@ static void server(int fd)
gnutls_deinit(session);
gnutls_anon_free_server_credentials(anoncred);
gnutls_global_deinit();
-
}
static void start(void)
@@ -241,5 +239,5 @@ void doit(void)
start();
}
-# endif /* MSG_NOSIGNAL */
-#endif /* _WIN32 */
+#endif /* MSG_NOSIGNAL */
+#endif /* _WIN32 */
diff --git a/tests/no-status-request.c b/tests/no-status-request.c
index 8f1933cc60..953ea68239 100644
--- a/tests/no-status-request.c
+++ b/tests/no-status-request.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,28 +35,29 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program tests that the client does not send the
* status request extension if GNUTLS_NO_STATUS_REQUEST is set
*/
-# define RESP "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-# define RESP_SIZE (sizeof(RESP) - 1)
-# define MAX_BUF 1024
+#define RESP \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP_SIZE (sizeof(RESP) - 1)
+#define MAX_BUF 1024
static void server_log_func(int level, const char *str)
{
@@ -70,13 +71,13 @@ static void client_log_func(int level, const char *str)
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
fail("received status request\n");
}
static int status_func(gnutls_session_t session, void *ptr,
- gnutls_datum_t * resp)
+ gnutls_datum_t *resp)
{
resp->data = gnutls_malloc(RESP_SIZE);
if (resp->data == NULL)
@@ -119,13 +120,13 @@ static void client(int fd, const char *prio, int flags)
else if (debug)
success("client: Handshake was completed\n");
- assert(!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_CLI_REQUESTED_OCSP));
+ assert(!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_CLI_REQUESTED_OCSP));
if (debug)
- success("client: TLS version is: %s\n", gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ success("client: TLS version is: %s\n",
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do
@@ -142,7 +143,7 @@ static void client(int fd, const char *prio, int flags)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -184,20 +185,20 @@ static void server(int fd, const char *prio)
if (ret < 0)
goto end;
- assert(!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_CLI_REQUESTED_OCSP));
+ assert(!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_CLI_REQUESTED_OCSP));
if (debug)
success("server: Handshake was completed\n");
if (debug)
- success("server: TLS version is: %s\n", gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ success("server: TLS version is: %s\n",
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
gnutls_certificate_free_credentials(x509_cred);
@@ -252,4 +253,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-TLS1.3:%NO_STATUS_REQUEST", 0);
start("NORMAL:%NO_STATUS_REQUEST", 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/nul-in-x509-names.c b/tests/nul-in-x509-names.c
index cab3d76ebe..8bb384c7f9 100644
--- a/tests/nul-in-x509-names.c
+++ b/tests/nul-in-x509-names.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -35,59 +35,58 @@
certs that trigger this bug. */
static char badguy_nul_cn_data[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDjTCCAnWgAwIBAgIBATANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQGEwJHQjES\n"
- "MBAGA1UECBMJQmVya3NoaXJlMRAwDgYDVQQHEwdOZXdidXJ5MRcwFQYDVQQKEw5N\n"
- "eSBDb21wYW55IEx0ZDELMAkGA1UECxMCQ0ExGTAXBgNVBAMTEE5VTEwtZnJpZW5k\n"
- "bHkgQ0EwHhcNMDkwODA0MDczMzQzWhcNMTkwODAyMDczMzQzWjAjMSEwHwYDVQQD\n"
- "Exh3d3cuYmFuay5jb20ALmJhZGd1eS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB\n"
- "DwAwggEKAoIBAQDNJnCWqaZdPpztDwgVWnwXJWhorxO5rUH6ElTihHJ9WNHiQELB\n"
- "We0FPaoQU3AAiDp3oMBWnqx9ISpxRFEIvBcH2qijdtxRvBuK9gIaVb9GtERrJ16+\n"
- "5ReLVrLGgjYRg6i/9y8NF/bNR7VvK6ZBto0zX+rqi7Ea4pk4/1lbCqFxE8o3P7mw\n"
- "HpGayJM1DErgnfTSYcdOW0EKfDFUmdv1Zc6A08ICN2T9VBJ76qyFWVwX4S720Kjy\n"
- "0C6UWS/Cpl/aB957LhQH7eQnJDedCS6x+VpIuYAkQ+bLx24139VpNP/m1p7odmZu\n"
- "X1kBPJY77HILPB6VD85oE5wi3Ru1RChQSgV/AgMBAAGjezB5MAkGA1UdEwQCMAAw\n"
- "LAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G\n"
- "A1UdDgQWBBQzFSS+2mY6BovZJzQ6r2JA5JVmXTAfBgNVHSMEGDAWgBQKaTlfnTAE\n"
- "GAguAg7m6p2yJvbiajANBgkqhkiG9w0BAQUFAAOCAQEAMmUjH8jZU4SC0ArrFFEk\n"
- "A7xsGypa/hvw6GkMKxmGz38ydtgr0s+LxNG2W5xgo5kuknIGzt6L0qLSiXwTqQtO\n"
- "vhIJ5dYoOqynJlaUfxPuZH3elGB1wbxVl9SqE44C2LCwcFOuGFPOqrIshT7j8+Em\n"
- "8/pc7vh7C8Y5tQQzXq64Xg5mzKjAag3sYMHF2TnqvRuPHH0WOLHoyDcBqkuZ3+QP\n"
- "EL5h7prPzScFRgBg2Gp0CDI8i5ABagczDGyQ2+r7ahcadrtzFCfhpH7V3TCxXfIO\n"
- "qtSy1Uz2T5EqB/Q3wc9IGcX+fpKWqN9QajGSo7EU/kHMSWKYTerFugUtScMicu9B\n"
- "CQ==\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t badguy_nul_cn = {
- (void *)badguy_nul_cn_data, sizeof(badguy_nul_cn_data)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDjTCCAnWgAwIBAgIBATANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQGEwJHQjES\n"
+ "MBAGA1UECBMJQmVya3NoaXJlMRAwDgYDVQQHEwdOZXdidXJ5MRcwFQYDVQQKEw5N\n"
+ "eSBDb21wYW55IEx0ZDELMAkGA1UECxMCQ0ExGTAXBgNVBAMTEE5VTEwtZnJpZW5k\n"
+ "bHkgQ0EwHhcNMDkwODA0MDczMzQzWhcNMTkwODAyMDczMzQzWjAjMSEwHwYDVQQD\n"
+ "Exh3d3cuYmFuay5jb20ALmJhZGd1eS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB\n"
+ "DwAwggEKAoIBAQDNJnCWqaZdPpztDwgVWnwXJWhorxO5rUH6ElTihHJ9WNHiQELB\n"
+ "We0FPaoQU3AAiDp3oMBWnqx9ISpxRFEIvBcH2qijdtxRvBuK9gIaVb9GtERrJ16+\n"
+ "5ReLVrLGgjYRg6i/9y8NF/bNR7VvK6ZBto0zX+rqi7Ea4pk4/1lbCqFxE8o3P7mw\n"
+ "HpGayJM1DErgnfTSYcdOW0EKfDFUmdv1Zc6A08ICN2T9VBJ76qyFWVwX4S720Kjy\n"
+ "0C6UWS/Cpl/aB957LhQH7eQnJDedCS6x+VpIuYAkQ+bLx24139VpNP/m1p7odmZu\n"
+ "X1kBPJY77HILPB6VD85oE5wi3Ru1RChQSgV/AgMBAAGjezB5MAkGA1UdEwQCMAAw\n"
+ "LAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G\n"
+ "A1UdDgQWBBQzFSS+2mY6BovZJzQ6r2JA5JVmXTAfBgNVHSMEGDAWgBQKaTlfnTAE\n"
+ "GAguAg7m6p2yJvbiajANBgkqhkiG9w0BAQUFAAOCAQEAMmUjH8jZU4SC0ArrFFEk\n"
+ "A7xsGypa/hvw6GkMKxmGz38ydtgr0s+LxNG2W5xgo5kuknIGzt6L0qLSiXwTqQtO\n"
+ "vhIJ5dYoOqynJlaUfxPuZH3elGB1wbxVl9SqE44C2LCwcFOuGFPOqrIshT7j8+Em\n"
+ "8/pc7vh7C8Y5tQQzXq64Xg5mzKjAag3sYMHF2TnqvRuPHH0WOLHoyDcBqkuZ3+QP\n"
+ "EL5h7prPzScFRgBg2Gp0CDI8i5ABagczDGyQ2+r7ahcadrtzFCfhpH7V3TCxXfIO\n"
+ "qtSy1Uz2T5EqB/Q3wc9IGcX+fpKWqN9QajGSo7EU/kHMSWKYTerFugUtScMicu9B\n"
+ "CQ==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t badguy_nul_cn = { (void *)badguy_nul_cn_data,
+ sizeof(badguy_nul_cn_data) };
static char badguy_nul_san_data[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDrTCCApWgAwIBAgIBADANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQGEwJHQjES\n"
- "MBAGA1UECBMJQmVya3NoaXJlMRAwDgYDVQQHEwdOZXdidXJ5MRcwFQYDVQQKEw5N\n"
- "eSBDb21wYW55IEx0ZDELMAkGA1UECxMCQ0ExGTAXBgNVBAMTEE5VTEwtZnJpZW5k\n"
- "bHkgQ0EwHhcNMDkwODA0MDY1MzA1WhcNMTkwODAyMDY1MzA1WjAZMRcwFQYDVQQD\n"
- "Ew53d3cuYmFkZ3V5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n"
- "AM0mcJappl0+nO0PCBVafBclaGivE7mtQfoSVOKEcn1Y0eJAQsFZ7QU9qhBTcACI\n"
- "OnegwFaerH0hKnFEUQi8FwfaqKN23FG8G4r2AhpVv0a0RGsnXr7lF4tWssaCNhGD\n"
- "qL/3Lw0X9s1HtW8rpkG2jTNf6uqLsRrimTj/WVsKoXETyjc/ubAekZrIkzUMSuCd\n"
- "9NJhx05bQQp8MVSZ2/VlzoDTwgI3ZP1UEnvqrIVZXBfhLvbQqPLQLpRZL8KmX9oH\n"
- "3nsuFAft5CckN50JLrH5Wki5gCRD5svHbjXf1Wk0/+bWnuh2Zm5fWQE8ljvscgs8\n"
- "HpUPzmgTnCLdG7VEKFBKBX8CAwEAAaOBpDCBoTAJBgNVHRMEAjAAMCwGCWCGSAGG\n"
- "+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU\n"
- "MxUkvtpmOgaL2Sc0Oq9iQOSVZl0wHwYDVR0jBBgwFoAUCmk5X50wBBgILgIO5uqd\n"
- "sib24mowJgYDVR0RBB8wHYIbd3d3LmJhbmsuY29tAHd3dy5iYWRndXkuY29tMA0G\n"
- "CSqGSIb3DQEBBQUAA4IBAQAnbn2zqYZSV2qgxjBsHpQJp2+t/hGfvjKNAXuLlGbX\n"
- "fLaxkPzk9bYyvGxxI7EYiNZHvNoHx15GcTrmQG7Bfx1WlnBl2FGp3J6lBgCY5x4Q\n"
- "vIK6AOVOog8+7Irdb8bJweztbXwxPmaHR6GLFTwhfuwheD0hcHK6cMNk+B1P2dAn\n"
- "PD5+olmuvprTAESncjrjP8ibxY+xlP4AD264FIjxA1CRUa/wHve4WqRXNS3xrciu\n"
- "3SlhFH3q0TSAXBv960PcIW3GRPk7VHbEkVuspI5y59gk/6dawO8nw9fk+X9VjQ0w\n"
- "7KLZbch29L6UPRIySpFP28PndgdaEpcYtxUAmFkhiT41\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t badguy_nul_san = {
- (void *)badguy_nul_san_data, sizeof(badguy_nul_san_data)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDrTCCApWgAwIBAgIBADANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQGEwJHQjES\n"
+ "MBAGA1UECBMJQmVya3NoaXJlMRAwDgYDVQQHEwdOZXdidXJ5MRcwFQYDVQQKEw5N\n"
+ "eSBDb21wYW55IEx0ZDELMAkGA1UECxMCQ0ExGTAXBgNVBAMTEE5VTEwtZnJpZW5k\n"
+ "bHkgQ0EwHhcNMDkwODA0MDY1MzA1WhcNMTkwODAyMDY1MzA1WjAZMRcwFQYDVQQD\n"
+ "Ew53d3cuYmFkZ3V5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n"
+ "AM0mcJappl0+nO0PCBVafBclaGivE7mtQfoSVOKEcn1Y0eJAQsFZ7QU9qhBTcACI\n"
+ "OnegwFaerH0hKnFEUQi8FwfaqKN23FG8G4r2AhpVv0a0RGsnXr7lF4tWssaCNhGD\n"
+ "qL/3Lw0X9s1HtW8rpkG2jTNf6uqLsRrimTj/WVsKoXETyjc/ubAekZrIkzUMSuCd\n"
+ "9NJhx05bQQp8MVSZ2/VlzoDTwgI3ZP1UEnvqrIVZXBfhLvbQqPLQLpRZL8KmX9oH\n"
+ "3nsuFAft5CckN50JLrH5Wki5gCRD5svHbjXf1Wk0/+bWnuh2Zm5fWQE8ljvscgs8\n"
+ "HpUPzmgTnCLdG7VEKFBKBX8CAwEAAaOBpDCBoTAJBgNVHRMEAjAAMCwGCWCGSAGG\n"
+ "+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU\n"
+ "MxUkvtpmOgaL2Sc0Oq9iQOSVZl0wHwYDVR0jBBgwFoAUCmk5X50wBBgILgIO5uqd\n"
+ "sib24mowJgYDVR0RBB8wHYIbd3d3LmJhbmsuY29tAHd3dy5iYWRndXkuY29tMA0G\n"
+ "CSqGSIb3DQEBBQUAA4IBAQAnbn2zqYZSV2qgxjBsHpQJp2+t/hGfvjKNAXuLlGbX\n"
+ "fLaxkPzk9bYyvGxxI7EYiNZHvNoHx15GcTrmQG7Bfx1WlnBl2FGp3J6lBgCY5x4Q\n"
+ "vIK6AOVOog8+7Irdb8bJweztbXwxPmaHR6GLFTwhfuwheD0hcHK6cMNk+B1P2dAn\n"
+ "PD5+olmuvprTAESncjrjP8ibxY+xlP4AD264FIjxA1CRUa/wHve4WqRXNS3xrciu\n"
+ "3SlhFH3q0TSAXBv960PcIW3GRPk7VHbEkVuspI5y59gk/6dawO8nw9fk+X9VjQ0w\n"
+ "7KLZbch29L6UPRIySpFP28PndgdaEpcYtxUAmFkhiT41\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t badguy_nul_san = { (void *)badguy_nul_san_data,
+ sizeof(badguy_nul_san_data) };
void doit(void)
{
@@ -115,8 +114,7 @@ void doit(void)
ret = gnutls_x509_crt_check_hostname(crt, "www.bank.com");
if (ret == 0) {
if (debug)
- success
- ("gnutls_x509_crt_check_hostname OK (NUL-IN-CN)");
+ success("gnutls_x509_crt_check_hostname OK (NUL-IN-CN)");
} else {
fail("gnutls_x509_crt_check_hostname BROKEN (NUL-IN-CN)");
}
@@ -130,8 +128,7 @@ void doit(void)
ret = gnutls_x509_crt_check_hostname(crt, "www.bank.com");
if (ret == 0) {
if (debug)
- success
- ("gnutls_x509_crt_check_hostname OK (NUL-IN-SAN)");
+ success("gnutls_x509_crt_check_hostname OK (NUL-IN-SAN)");
} else {
fail("gnutls_x509_crt_check_hostname BROKEN (NUL-IN-SAN)");
}
@@ -139,5 +136,4 @@ void doit(void)
gnutls_x509_crt_deinit(crt);
gnutls_global_deinit();
-
}
diff --git a/tests/null_retrieve_function.c b/tests/null_retrieve_function.c
index eb156e9646..7a51e9ee8b 100644
--- a/tests/null_retrieve_function.c
+++ b/tests/null_retrieve_function.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,33 +35,26 @@
* function.
*/
-static int cert_cb1(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn,
- int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, gnutls_retr2_st * retr)
+static int cert_cb1(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,
+ int nreqs, const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_retr2_st *retr)
{
return -1;
}
-static int cert_cb2(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn,
- int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length,
- gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * privkey)
+static int cert_cb2(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,
+ int nreqs, const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *privkey)
{
return -1;
}
static int cert_cb3(gnutls_session_t session,
const struct gnutls_cert_retr_st *info,
- gnutls_pcert_st ** certs,
- unsigned int *pcert_length,
- gnutls_ocsp_data_st ** ocsp,
- unsigned int *ocsp_length,
- gnutls_privkey_t * privkey, unsigned int *flags)
+ gnutls_pcert_st **certs, unsigned int *pcert_length,
+ gnutls_ocsp_data_st **ocsp, unsigned int *ocsp_length,
+ gnutls_privkey_t *privkey, unsigned int *flags)
{
return -1;
}
@@ -87,11 +80,9 @@ void doit(void)
gnutls_certificate_allocate_credentials(&x509_cred);
- ret =
- gnutls_certificate_set_x509_key_mem(x509_cred,
- &server_ca3_localhost_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
diff --git a/tests/ocsp-common.h b/tests/ocsp-common.h
index 4d8ef9ab39..14c0207650 100644
--- a/tests/ocsp-common.h
+++ b/tests/ocsp-common.h
@@ -21,110 +21,86 @@
*/
#ifndef GNUTLS_TESTS_OCSP_COMMON_H
-# define GNUTLS_TESTS_OCSP_COMMON_H
+#define GNUTLS_TESTS_OCSP_COMMON_H
-# if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wunused-variable"
-# endif
+#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-variable"
+#endif
/* Date for responses to be valid */
-# define OCSP_RESP_DATE 1508329639
+#define OCSP_RESP_DATE 1508329639
/* ocsp response with unknown status for
* server_ca3_localhost6_cert. Signed with
* RSA-SHA256.
*/
static const char _ocsp_ca3_localhost6_unknown[] = {
- 0x30, 0x82, 0x02, 0x3A, 0x0A, 0x01, 0x00, 0xA0,
- 0x82, 0x02, 0x33, 0x30, 0x82, 0x02, 0x2F, 0x06,
- 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x01, 0x04, 0x82, 0x02, 0x20, 0x30, 0x82,
- 0x02, 0x1C, 0x30, 0x81, 0x85, 0xA1, 0x14, 0x30,
- 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43,
- 0x41, 0x2D, 0x33, 0x18, 0x0F, 0x32, 0x30, 0x31,
- 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x32,
- 0x30, 0x34, 0x39, 0x5A, 0x30, 0x5C, 0x30, 0x5A,
- 0x30, 0x45, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E,
- 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB2,
- 0xE6, 0x5C, 0x8E, 0x6E, 0x83, 0x4B, 0xBD, 0x11,
- 0xD9, 0x97, 0xFA, 0x36, 0x93, 0x59, 0x9E, 0xAD,
- 0x5C, 0x15, 0xC4, 0x04, 0x14, 0x9E, 0x91, 0xEC,
- 0x8C, 0xAA, 0x24, 0x5B, 0x22, 0xE0, 0xE8, 0x11,
- 0xE8, 0xE9, 0xA4, 0x91, 0xB5, 0x91, 0x26, 0x00,
- 0xF1, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x37,
- 0x64, 0x58, 0xFA, 0x7B, 0x52, 0x6F, 0xD7, 0x82,
- 0x00, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31,
- 0x30, 0x31, 0x38, 0x31, 0x32, 0x32, 0x30, 0x34,
- 0x39, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
- 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05,
- 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x98, 0x3C,
- 0xFF, 0xD1, 0x76, 0x93, 0xB0, 0xDD, 0x42, 0xCA,
- 0x8C, 0x7D, 0x4F, 0x9F, 0xE7, 0x78, 0x14, 0x1D,
- 0x90, 0x25, 0x67, 0x34, 0x51, 0x3C, 0xF6, 0x10,
- 0x7E, 0xB9, 0x8C, 0x19, 0xF4, 0x9A, 0x32, 0x6A,
- 0xFD, 0x5B, 0x77, 0xE9, 0x0A, 0xB2, 0xCD, 0x31,
- 0x5E, 0x0F, 0x5B, 0x11, 0xA7, 0x75, 0x38, 0x7B,
- 0x01, 0xFA, 0x2B, 0x68, 0x2C, 0x14, 0x6F, 0xAF,
- 0x90, 0xC9, 0x69, 0x67, 0x13, 0x70, 0x78, 0x51,
- 0x44, 0x0B, 0xA6, 0x16, 0x84, 0x6B, 0x09, 0xC3,
- 0x27, 0xFF, 0x06, 0x25, 0x90, 0x27, 0x08, 0x87,
- 0x23, 0xCB, 0x1A, 0x56, 0x61, 0x9E, 0x28, 0x9C,
- 0x42, 0x19, 0xEA, 0x93, 0x7C, 0x05, 0x14, 0x04,
- 0x7F, 0xC7, 0x1C, 0x40, 0xDD, 0x35, 0xC6, 0x50,
- 0x79, 0x46, 0xD7, 0x6A, 0xB1, 0x59, 0xAF, 0xC6,
- 0xDA, 0x0C, 0xD2, 0x1B, 0xAC, 0x3B, 0x46, 0x09,
- 0x0E, 0x7B, 0x02, 0xC3, 0x01, 0x55, 0x5E, 0xE9,
- 0x4F, 0x10, 0x58, 0x16, 0xB8, 0x54, 0xA8, 0x54,
- 0xBB, 0x31, 0xEB, 0x99, 0x64, 0x73, 0xEE, 0x3F,
- 0x44, 0xCE, 0xBB, 0xF9, 0x0A, 0xDB, 0x36, 0x90,
- 0x51, 0x80, 0xAA, 0xE1, 0x6F, 0xC3, 0x00, 0x13,
- 0x65, 0x80, 0x36, 0x3A, 0x63, 0x48, 0x05, 0x52,
- 0x7F, 0x91, 0x96, 0xB0, 0x7F, 0x53, 0xFC, 0x5D,
- 0x87, 0x0C, 0x6E, 0x5C, 0xAC, 0x0A, 0x45, 0x22,
- 0x83, 0x72, 0xC0, 0xAF, 0x5E, 0xDB, 0x5C, 0xE4,
- 0xA9, 0x80, 0x16, 0x43, 0xAB, 0x55, 0x72, 0x9B,
- 0x37, 0x41, 0xBB, 0xEF, 0x20, 0x45, 0xD5, 0xCB,
- 0xF8, 0xCE, 0xA9, 0x50, 0x12, 0x79, 0xAC, 0x6E,
- 0xC0, 0x79, 0xA4, 0x74, 0x1C, 0xF8, 0x48, 0xD4,
- 0xFC, 0xDC, 0xBB, 0xDA, 0x36, 0x72, 0x46, 0x05,
- 0x32, 0x97, 0x4C, 0x6B, 0xA4, 0x3C, 0xA0, 0x0E,
- 0xB7, 0xAC, 0x49, 0xA4, 0x52, 0xF0, 0xAC, 0xD5,
- 0x8D, 0x86, 0x07, 0xDB, 0xC3, 0x67, 0xE4, 0x95,
- 0x62, 0x52, 0x33, 0x33, 0x2D, 0x00, 0x49, 0x23,
- 0xCC, 0x12, 0x62, 0xFB, 0x89, 0x27, 0xD5, 0x27,
- 0xCB, 0x75, 0xC4, 0xCB, 0x60, 0x17, 0xFD, 0x4E,
- 0x7A, 0x2A, 0xD7, 0x0B, 0x09, 0x84, 0x03, 0x20,
- 0x38, 0x53, 0x73, 0x71, 0x66, 0xFC, 0x64, 0x9C,
- 0x6E, 0x1A, 0x1E, 0xC5, 0x5E, 0x0C, 0xAD, 0x9D,
- 0xE3, 0x37, 0xF2, 0xC2, 0xFC, 0xA1, 0x31, 0x26,
- 0x2C, 0xA1, 0xDF, 0x05, 0x19, 0xD6, 0x18, 0xE8,
- 0x25, 0x7C, 0x23, 0x23, 0xDE, 0x89, 0x6F, 0x5E,
- 0x98, 0xE8, 0xB6, 0xB2, 0x25, 0x28, 0x30, 0x12,
- 0x19, 0xB1, 0x84, 0x95, 0x8F, 0x8F, 0x65, 0x75,
- 0x2D, 0x90, 0xA8, 0x8D, 0xD9, 0xC3, 0x40, 0x79,
- 0xC8, 0xC8, 0xA1, 0xDC, 0xD0, 0x16, 0x02, 0xFE,
- 0x60, 0xBE, 0xA3, 0x58, 0xA2, 0xC4, 0xBA, 0xE5,
- 0x86, 0x4F, 0xF3, 0x2F, 0x46, 0xB9, 0x62, 0x2F,
- 0xCD, 0xE4, 0x1A, 0x62, 0x83, 0x76
+ 0x30, 0x82, 0x02, 0x3A, 0x0A, 0x01, 0x00, 0xA0, 0x82, 0x02, 0x33, 0x30,
+ 0x82, 0x02, 0x2F, 0x06, 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
+ 0x01, 0x01, 0x04, 0x82, 0x02, 0x20, 0x30, 0x82, 0x02, 0x1C, 0x30, 0x81,
+ 0x85, 0xA1, 0x14, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43, 0x41, 0x2D, 0x33, 0x18,
+ 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x32,
+ 0x30, 0x34, 0x39, 0x5A, 0x30, 0x5C, 0x30, 0x5A, 0x30, 0x45, 0x30, 0x09,
+ 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB2,
+ 0xE6, 0x5C, 0x8E, 0x6E, 0x83, 0x4B, 0xBD, 0x11, 0xD9, 0x97, 0xFA, 0x36,
+ 0x93, 0x59, 0x9E, 0xAD, 0x5C, 0x15, 0xC4, 0x04, 0x14, 0x9E, 0x91, 0xEC,
+ 0x8C, 0xAA, 0x24, 0x5B, 0x22, 0xE0, 0xE8, 0x11, 0xE8, 0xE9, 0xA4, 0x91,
+ 0xB5, 0x91, 0x26, 0x00, 0xF1, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x37,
+ 0x64, 0x58, 0xFA, 0x7B, 0x52, 0x6F, 0xD7, 0x82, 0x00, 0x18, 0x0F, 0x32,
+ 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x32, 0x30, 0x34,
+ 0x39, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D,
+ 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x98, 0x3C,
+ 0xFF, 0xD1, 0x76, 0x93, 0xB0, 0xDD, 0x42, 0xCA, 0x8C, 0x7D, 0x4F, 0x9F,
+ 0xE7, 0x78, 0x14, 0x1D, 0x90, 0x25, 0x67, 0x34, 0x51, 0x3C, 0xF6, 0x10,
+ 0x7E, 0xB9, 0x8C, 0x19, 0xF4, 0x9A, 0x32, 0x6A, 0xFD, 0x5B, 0x77, 0xE9,
+ 0x0A, 0xB2, 0xCD, 0x31, 0x5E, 0x0F, 0x5B, 0x11, 0xA7, 0x75, 0x38, 0x7B,
+ 0x01, 0xFA, 0x2B, 0x68, 0x2C, 0x14, 0x6F, 0xAF, 0x90, 0xC9, 0x69, 0x67,
+ 0x13, 0x70, 0x78, 0x51, 0x44, 0x0B, 0xA6, 0x16, 0x84, 0x6B, 0x09, 0xC3,
+ 0x27, 0xFF, 0x06, 0x25, 0x90, 0x27, 0x08, 0x87, 0x23, 0xCB, 0x1A, 0x56,
+ 0x61, 0x9E, 0x28, 0x9C, 0x42, 0x19, 0xEA, 0x93, 0x7C, 0x05, 0x14, 0x04,
+ 0x7F, 0xC7, 0x1C, 0x40, 0xDD, 0x35, 0xC6, 0x50, 0x79, 0x46, 0xD7, 0x6A,
+ 0xB1, 0x59, 0xAF, 0xC6, 0xDA, 0x0C, 0xD2, 0x1B, 0xAC, 0x3B, 0x46, 0x09,
+ 0x0E, 0x7B, 0x02, 0xC3, 0x01, 0x55, 0x5E, 0xE9, 0x4F, 0x10, 0x58, 0x16,
+ 0xB8, 0x54, 0xA8, 0x54, 0xBB, 0x31, 0xEB, 0x99, 0x64, 0x73, 0xEE, 0x3F,
+ 0x44, 0xCE, 0xBB, 0xF9, 0x0A, 0xDB, 0x36, 0x90, 0x51, 0x80, 0xAA, 0xE1,
+ 0x6F, 0xC3, 0x00, 0x13, 0x65, 0x80, 0x36, 0x3A, 0x63, 0x48, 0x05, 0x52,
+ 0x7F, 0x91, 0x96, 0xB0, 0x7F, 0x53, 0xFC, 0x5D, 0x87, 0x0C, 0x6E, 0x5C,
+ 0xAC, 0x0A, 0x45, 0x22, 0x83, 0x72, 0xC0, 0xAF, 0x5E, 0xDB, 0x5C, 0xE4,
+ 0xA9, 0x80, 0x16, 0x43, 0xAB, 0x55, 0x72, 0x9B, 0x37, 0x41, 0xBB, 0xEF,
+ 0x20, 0x45, 0xD5, 0xCB, 0xF8, 0xCE, 0xA9, 0x50, 0x12, 0x79, 0xAC, 0x6E,
+ 0xC0, 0x79, 0xA4, 0x74, 0x1C, 0xF8, 0x48, 0xD4, 0xFC, 0xDC, 0xBB, 0xDA,
+ 0x36, 0x72, 0x46, 0x05, 0x32, 0x97, 0x4C, 0x6B, 0xA4, 0x3C, 0xA0, 0x0E,
+ 0xB7, 0xAC, 0x49, 0xA4, 0x52, 0xF0, 0xAC, 0xD5, 0x8D, 0x86, 0x07, 0xDB,
+ 0xC3, 0x67, 0xE4, 0x95, 0x62, 0x52, 0x33, 0x33, 0x2D, 0x00, 0x49, 0x23,
+ 0xCC, 0x12, 0x62, 0xFB, 0x89, 0x27, 0xD5, 0x27, 0xCB, 0x75, 0xC4, 0xCB,
+ 0x60, 0x17, 0xFD, 0x4E, 0x7A, 0x2A, 0xD7, 0x0B, 0x09, 0x84, 0x03, 0x20,
+ 0x38, 0x53, 0x73, 0x71, 0x66, 0xFC, 0x64, 0x9C, 0x6E, 0x1A, 0x1E, 0xC5,
+ 0x5E, 0x0C, 0xAD, 0x9D, 0xE3, 0x37, 0xF2, 0xC2, 0xFC, 0xA1, 0x31, 0x26,
+ 0x2C, 0xA1, 0xDF, 0x05, 0x19, 0xD6, 0x18, 0xE8, 0x25, 0x7C, 0x23, 0x23,
+ 0xDE, 0x89, 0x6F, 0x5E, 0x98, 0xE8, 0xB6, 0xB2, 0x25, 0x28, 0x30, 0x12,
+ 0x19, 0xB1, 0x84, 0x95, 0x8F, 0x8F, 0x65, 0x75, 0x2D, 0x90, 0xA8, 0x8D,
+ 0xD9, 0xC3, 0x40, 0x79, 0xC8, 0xC8, 0xA1, 0xDC, 0xD0, 0x16, 0x02, 0xFE,
+ 0x60, 0xBE, 0xA3, 0x58, 0xA2, 0xC4, 0xBA, 0xE5, 0x86, 0x4F, 0xF3, 0x2F,
+ 0x46, 0xB9, 0x62, 0x2F, 0xCD, 0xE4, 0x1A, 0x62, 0x83, 0x76
};
const char _ocsp_ca3_localhost6_unknown_pem[] =
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIICOgoBAKCCAjMwggIvBgkrBgEFBQcwAQEEggIgMIICHDCBhaEUMBIxEDAOBgNV\n"
- "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIyMDQ5WjBcMFowRTAJBgUrDgMCGgUABBSy\n"
- "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI3\n"
- "ZFj6e1Jv14IAGA8yMDE3MTAxODEyMjA0OVowDQYJKoZIhvcNAQELBQADggGBAJg8\n"
- "/9F2k7DdQsqMfU+f53gUHZAlZzRRPPYQfrmMGfSaMmr9W3fpCrLNMV4PWxGndTh7\n"
- "AforaCwUb6+QyWlnE3B4UUQLphaEawnDJ/8GJZAnCIcjyxpWYZ4onEIZ6pN8BRQE\n"
- "f8ccQN01xlB5RtdqsVmvxtoM0husO0YJDnsCwwFVXulPEFgWuFSoVLsx65lkc+4/\n"
- "RM67+QrbNpBRgKrhb8MAE2WANjpjSAVSf5GWsH9T/F2HDG5crApFIoNywK9e21zk\n"
- "qYAWQ6tVcps3QbvvIEXVy/jOqVASeaxuwHmkdBz4SNT83LvaNnJGBTKXTGukPKAO\n"
- "t6xJpFLwrNWNhgfbw2fklWJSMzMtAEkjzBJi+4kn1SfLdcTLYBf9Tnoq1wsJhAMg\n"
- "OFNzcWb8ZJxuGh7FXgytneM38sL8oTEmLKHfBRnWGOglfCMj3olvXpjotrIlKDAS\n"
- "GbGElY+PZXUtkKiN2cNAecjIodzQFgL+YL6jWKLEuuWGT/MvRrliL83kGmKDdg==\n"
- "-----END OCSP RESPONSE-----";
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIICOgoBAKCCAjMwggIvBgkrBgEFBQcwAQEEggIgMIICHDCBhaEUMBIxEDAOBgNV\n"
+ "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIyMDQ5WjBcMFowRTAJBgUrDgMCGgUABBSy\n"
+ "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI3\n"
+ "ZFj6e1Jv14IAGA8yMDE3MTAxODEyMjA0OVowDQYJKoZIhvcNAQELBQADggGBAJg8\n"
+ "/9F2k7DdQsqMfU+f53gUHZAlZzRRPPYQfrmMGfSaMmr9W3fpCrLNMV4PWxGndTh7\n"
+ "AforaCwUb6+QyWlnE3B4UUQLphaEawnDJ/8GJZAnCIcjyxpWYZ4onEIZ6pN8BRQE\n"
+ "f8ccQN01xlB5RtdqsVmvxtoM0husO0YJDnsCwwFVXulPEFgWuFSoVLsx65lkc+4/\n"
+ "RM67+QrbNpBRgKrhb8MAE2WANjpjSAVSf5GWsH9T/F2HDG5crApFIoNywK9e21zk\n"
+ "qYAWQ6tVcps3QbvvIEXVy/jOqVASeaxuwHmkdBz4SNT83LvaNnJGBTKXTGukPKAO\n"
+ "t6xJpFLwrNWNhgfbw2fklWJSMzMtAEkjzBJi+4kn1SfLdcTLYBf9Tnoq1wsJhAMg\n"
+ "OFNzcWb8ZJxuGh7FXgytneM38sL8oTEmLKHfBRnWGOglfCMj3olvXpjotrIlKDAS\n"
+ "GbGElY+PZXUtkKiN2cNAecjIodzQFgL+YL6jWKLEuuWGT/MvRrliL83kGmKDdg==\n"
+ "-----END OCSP RESPONSE-----";
static gnutls_datum_t ocsp_ca3_localhost6_unknown = {
(void *)_ocsp_ca3_localhost6_unknown,
@@ -141,226 +117,159 @@ static gnutls_datum_t ocsp_ca3_localhost6_unknown_pem = {
* RSA-SHA512.
*/
static const char _ocsp_ca3_localhost_unknown[] = {
- 0x30, 0x82, 0x06, 0x53, 0x0A, 0x01, 0x00, 0xA0,
- 0x82, 0x06, 0x4C, 0x30, 0x82, 0x06, 0x48, 0x06,
- 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x01, 0x04, 0x82, 0x06, 0x39, 0x30, 0x82,
- 0x06, 0x35, 0x30, 0x81, 0x85, 0xA1, 0x14, 0x30,
- 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43,
- 0x41, 0x2D, 0x33, 0x18, 0x0F, 0x32, 0x30, 0x31,
- 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x30,
- 0x39, 0x33, 0x30, 0x5A, 0x30, 0x5C, 0x30, 0x5A,
- 0x30, 0x45, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E,
- 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB2,
- 0xE6, 0x5C, 0x8E, 0x6E, 0x83, 0x4B, 0xBD, 0x11,
- 0xD9, 0x97, 0xFA, 0x36, 0x93, 0x59, 0x9E, 0xAD,
- 0x5C, 0x15, 0xC4, 0x04, 0x14, 0x9E, 0x91, 0xEC,
- 0x8C, 0xAA, 0x24, 0x5B, 0x22, 0xE0, 0xE8, 0x11,
- 0xE8, 0xE9, 0xA4, 0x91, 0xB5, 0x91, 0x26, 0x00,
- 0xF1, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x36,
- 0xC8, 0x0C, 0xA1, 0xCA, 0xB0, 0xBD, 0xF6, 0x82,
- 0x00, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31,
- 0x30, 0x31, 0x38, 0x31, 0x32, 0x30, 0x39, 0x33,
- 0x30, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
- 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0D, 0x05,
- 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x56, 0x64,
- 0x2B, 0x10, 0xAA, 0xE7, 0x26, 0x7F, 0xF1, 0x7F,
- 0x86, 0x97, 0x0E, 0x18, 0xB4, 0x75, 0x92, 0x65,
- 0x12, 0x2B, 0x46, 0x9F, 0x3E, 0x96, 0x98, 0xE4,
- 0xAB, 0x10, 0xD1, 0x0E, 0xEA, 0x08, 0xE2, 0xA5,
- 0x01, 0x75, 0xA4, 0x5B, 0x76, 0xAC, 0x49, 0x2B,
- 0x9E, 0xF1, 0x4A, 0xF2, 0x79, 0x3A, 0x4E, 0x15,
- 0x81, 0xFF, 0x4D, 0xD3, 0x65, 0x8E, 0xAE, 0x4A,
- 0xBB, 0x33, 0x35, 0x8B, 0x0F, 0xB6, 0x5D, 0x32,
- 0xEF, 0xF5, 0xE1, 0x25, 0xBF, 0xBD, 0x52, 0x1D,
- 0x99, 0xF2, 0x34, 0xE0, 0xFB, 0x38, 0x34, 0x6C,
- 0x9A, 0xEF, 0x53, 0xB2, 0x90, 0xC6, 0xFB, 0x75,
- 0xA0, 0x8C, 0xBC, 0x6B, 0x8E, 0xD8, 0xDE, 0x33,
- 0xE4, 0x6F, 0xF2, 0xAD, 0xF2, 0xA2, 0x4F, 0xC2,
- 0x58, 0x47, 0xE2, 0x68, 0x6D, 0x3A, 0x3A, 0xB3,
- 0x0A, 0x82, 0x3D, 0xA4, 0x85, 0x00, 0x58, 0x3E,
- 0x00, 0x35, 0x9D, 0x6B, 0x1F, 0xFF, 0x9F, 0xAE,
- 0xB0, 0x9A, 0xE2, 0xC7, 0x0E, 0x9A, 0xB3, 0x7C,
- 0x52, 0xE9, 0xDA, 0x50, 0x57, 0x35, 0x72, 0x71,
- 0x81, 0xA7, 0xC0, 0x40, 0x28, 0xEA, 0x2B, 0xCE,
- 0x09, 0x47, 0x1D, 0xB1, 0x80, 0x41, 0x59, 0xF6,
- 0x5D, 0xD3, 0x3C, 0xEA, 0x11, 0xD8, 0x13, 0xB9,
- 0x0F, 0x32, 0x6A, 0x29, 0x72, 0xBE, 0xC1, 0xC3,
- 0x1B, 0xB5, 0x4C, 0x4D, 0x0D, 0xA1, 0xD5, 0xF0,
- 0xC4, 0xEC, 0xC5, 0x5A, 0x93, 0x41, 0x7A, 0x01,
- 0x24, 0xB3, 0x7A, 0x71, 0x82, 0xA3, 0xC6, 0x08,
- 0x42, 0x91, 0x0E, 0x6B, 0xE7, 0x86, 0x0B, 0xAF,
- 0xBE, 0xDF, 0x07, 0x5A, 0x8C, 0x35, 0xF8, 0x5F,
- 0x7F, 0x2F, 0x60, 0x04, 0xDD, 0x2A, 0xF2, 0x0D,
- 0xC0, 0x1C, 0x6F, 0xA0, 0x30, 0x80, 0xA4, 0x35,
- 0x83, 0xD3, 0xC3, 0xCC, 0x35, 0x46, 0x36, 0xEB,
- 0xE9, 0xB1, 0x3C, 0x08, 0x8F, 0xCC, 0x5D, 0xCA,
- 0xD9, 0xAF, 0x3E, 0xD4, 0x58, 0xBB, 0x90, 0x5D,
- 0xEF, 0x01, 0x9C, 0xD9, 0x3E, 0x56, 0x7E, 0xCF,
- 0x13, 0xAA, 0x11, 0xC4, 0x22, 0xD2, 0xA0, 0x9F,
- 0x1B, 0xE9, 0xF0, 0x78, 0x70, 0x3B, 0xCC, 0x21,
- 0x7D, 0x6B, 0x46, 0x97, 0x3F, 0x3B, 0x0C, 0x5B,
- 0x8F, 0xA8, 0x28, 0x72, 0x4A, 0x41, 0x4D, 0xE6,
- 0xDD, 0x2E, 0xBD, 0xF1, 0xA4, 0x1E, 0xA2, 0xA2,
- 0x94, 0x6E, 0xAD, 0x33, 0xC2, 0x56, 0xD3, 0x29,
- 0xCF, 0x75, 0x5E, 0x35, 0x59, 0xEB, 0x07, 0x78,
- 0x23, 0x0B, 0x20, 0x4E, 0xEB, 0x61, 0x2B, 0x46,
- 0x77, 0x0A, 0x9F, 0xA4, 0x57, 0xA8, 0x45, 0x45,
- 0x6E, 0x8F, 0xB4, 0xD5, 0x9C, 0xFC, 0x84, 0x78,
- 0xC3, 0x82, 0xD9, 0xB6, 0xA7, 0xD5, 0x76, 0xE0,
- 0x23, 0x09, 0x2B, 0x9A, 0x7C, 0x7C, 0xB5, 0x6D,
- 0x84, 0x9D, 0x1F, 0x47, 0x0C, 0x9C, 0xD6, 0x86,
- 0x2B, 0xDD, 0xF4, 0xFA, 0x97, 0xE7, 0x72, 0xE7,
- 0x42, 0x52, 0x74, 0xE8, 0x4D, 0x01, 0xA0, 0x82,
- 0x04, 0x15, 0x30, 0x82, 0x04, 0x11, 0x30, 0x82,
- 0x04, 0x0D, 0x30, 0x82, 0x02, 0x75, 0xA0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x0C, 0x57, 0xA3, 0x1D,
- 0x32, 0x35, 0xB3, 0x4F, 0xD0, 0xB9, 0xF5, 0xE7,
- 0x3C, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48,
- 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00,
- 0x30, 0x0F, 0x31, 0x0D, 0x30, 0x0B, 0x06, 0x03,
- 0x55, 0x04, 0x03, 0x13, 0x04, 0x43, 0x41, 0x2D,
- 0x33, 0x30, 0x20, 0x17, 0x0D, 0x31, 0x36, 0x30,
- 0x35, 0x31, 0x30, 0x30, 0x38, 0x34, 0x38, 0x33,
- 0x30, 0x5A, 0x18, 0x0F, 0x39, 0x39, 0x39, 0x39,
- 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39,
- 0x35, 0x39, 0x5A, 0x30, 0x12, 0x31, 0x10, 0x30,
- 0x0E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07,
- 0x73, 0x75, 0x62, 0x43, 0x41, 0x2D, 0x33, 0x30,
- 0x82, 0x01, 0xA2, 0x30, 0x0D, 0x06, 0x09, 0x2A,
- 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x82, 0x01, 0x8F, 0x00, 0x30,
- 0x82, 0x01, 0x8A, 0x02, 0x82, 0x01, 0x81, 0x00,
- 0xA0, 0x39, 0xC3, 0x57, 0xCD, 0x2B, 0x4E, 0x9D,
- 0x11, 0x68, 0x8B, 0x4E, 0x5A, 0x31, 0x12, 0xDE,
- 0x30, 0x1E, 0x39, 0x5F, 0x86, 0xB6, 0xB2, 0xB4,
- 0x81, 0xBA, 0x5D, 0xD4, 0x2F, 0x10, 0xD2, 0x1A,
- 0x32, 0x0F, 0xD0, 0x41, 0x25, 0xFF, 0xF5, 0xF6,
- 0x58, 0xB8, 0xA8, 0xA5, 0xEF, 0xF1, 0x34, 0xBF,
- 0x1B, 0x3C, 0x24, 0x69, 0x23, 0x5B, 0x12, 0x55,
- 0x79, 0x7C, 0x1D, 0xBD, 0x5C, 0x2B, 0x7A, 0x96,
- 0x34, 0x66, 0xB3, 0x56, 0x60, 0xBB, 0xC5, 0x6D,
- 0x3B, 0x37, 0x12, 0xF6, 0xE8, 0x8F, 0x3A, 0x7B,
- 0x7F, 0xC1, 0x55, 0x19, 0xEA, 0xF2, 0x2A, 0x15,
- 0xB6, 0xF3, 0xD0, 0xC0, 0x4A, 0x6F, 0xB8, 0x8F,
- 0x05, 0xF7, 0xBC, 0x75, 0xBC, 0xBF, 0xE7, 0xF9,
- 0xC7, 0xDC, 0x76, 0x43, 0x7B, 0xEC, 0xD4, 0x9C,
- 0xAF, 0x90, 0xBD, 0x8C, 0x73, 0x15, 0x8A, 0x84,
- 0x6F, 0x0B, 0xEA, 0x8A, 0xCF, 0xD6, 0xD4, 0x07,
- 0x1E, 0x43, 0x4B, 0x24, 0x95, 0xEB, 0xA3, 0xD1,
- 0xE7, 0xEC, 0x06, 0xB0, 0x90, 0xEF, 0x91, 0xFB,
- 0x26, 0x8D, 0x53, 0xA0, 0xAA, 0x24, 0xE5, 0x49,
- 0x64, 0x12, 0xE4, 0x6D, 0xE7, 0x30, 0xCA, 0xB4,
- 0x46, 0x2C, 0x6C, 0x73, 0x97, 0x4F, 0xE5, 0x6C,
- 0xA0, 0x91, 0xB7, 0x61, 0xF7, 0xEE, 0x39, 0x50,
- 0x2B, 0x4E, 0x6D, 0xC9, 0xC7, 0x00, 0x12, 0x6B,
- 0x3F, 0xE1, 0xAD, 0x2E, 0x21, 0xB4, 0x00, 0xE5,
- 0x31, 0xEA, 0x83, 0xF3, 0x3E, 0xD7, 0x99, 0x2F,
- 0x5D, 0xDE, 0xAD, 0x65, 0xE0, 0xEF, 0x36, 0x2E,
- 0xB1, 0x36, 0xAB, 0x8F, 0xDA, 0xD3, 0x71, 0xDB,
- 0x20, 0x47, 0xF2, 0x26, 0xD6, 0x62, 0x33, 0x98,
- 0x3D, 0xA2, 0xEC, 0x68, 0x49, 0xA3, 0x81, 0xA3,
- 0xD1, 0x29, 0x37, 0x46, 0xAF, 0x77, 0x27, 0x27,
- 0x80, 0xF8, 0x0C, 0xB9, 0x50, 0xF9, 0xAA, 0x72,
- 0x6F, 0x9D, 0xA9, 0x7D, 0x34, 0x6F, 0x8F, 0x4C,
- 0x4D, 0x3B, 0xF8, 0x1A, 0xD3, 0xB9, 0xDE, 0x42,
- 0xD0, 0x48, 0x25, 0xD8, 0x14, 0x9F, 0x7A, 0x8D,
- 0xC3, 0x22, 0x5C, 0xCC, 0xC1, 0x14, 0x90, 0xF5,
- 0x44, 0xEB, 0x1D, 0x93, 0x85, 0x94, 0x79, 0xDF,
- 0xED, 0x24, 0xC1, 0xDF, 0x7E, 0xDB, 0x43, 0xCF,
- 0xD8, 0xF7, 0x59, 0xCB, 0x97, 0xF4, 0xCD, 0xA7,
- 0xCD, 0x34, 0xF6, 0xC6, 0x56, 0xAE, 0xA2, 0x48,
- 0xDB, 0x10, 0x08, 0x51, 0x0D, 0x1C, 0x39, 0x7F,
- 0x10, 0x85, 0x66, 0x1E, 0xD3, 0x6E, 0x66, 0x87,
- 0xE2, 0xFC, 0xAC, 0x0C, 0xEF, 0x54, 0x65, 0x75,
- 0x44, 0x5D, 0x22, 0xCA, 0xA2, 0x74, 0x36, 0x2E,
- 0x6C, 0xAC, 0xA3, 0x8F, 0x2C, 0xFC, 0x6D, 0xF4,
- 0x56, 0x69, 0x52, 0x8E, 0xD3, 0xED, 0x26, 0xA4,
- 0x6C, 0xBF, 0xFA, 0x0F, 0xA4, 0x23, 0xBF, 0x73,
- 0x40, 0xFA, 0x06, 0xB9, 0x07, 0x57, 0x9E, 0x41,
- 0xE3, 0xCC, 0x5F, 0x9B, 0x22, 0x05, 0x8E, 0x01,
- 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x64, 0x30,
- 0x62, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13,
- 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01,
- 0x01, 0xFF, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D,
- 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x05, 0x03, 0x03,
- 0x07, 0x06, 0x00, 0x30, 0x1D, 0x06, 0x03, 0x55,
- 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x2D, 0x33,
- 0x04, 0x1B, 0x27, 0x7F, 0x94, 0x04, 0x7C, 0xC7,
- 0xE3, 0x35, 0x4F, 0xE9, 0x25, 0xA4, 0x94, 0xE1,
- 0xB7, 0xA1, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D,
- 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xF9,
- 0xA8, 0x86, 0x19, 0x63, 0xB6, 0xA4, 0x14, 0x13,
- 0x60, 0x76, 0x0F, 0x01, 0x9A, 0x35, 0x36, 0xEF,
- 0xF1, 0xB4, 0xAF, 0x30, 0x0D, 0x06, 0x09, 0x2A,
- 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B,
- 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x32,
- 0x28, 0xB9, 0x1B, 0x1D, 0xFF, 0x77, 0xFE, 0x7C,
- 0xA0, 0x34, 0x72, 0xE5, 0xAD, 0x28, 0x3E, 0xF4,
- 0x21, 0x91, 0x4D, 0x1D, 0x29, 0xAE, 0xB5, 0x35,
- 0xF8, 0xE3, 0x3B, 0x3F, 0x6E, 0xAB, 0x13, 0x52,
- 0x8A, 0x52, 0xC9, 0x13, 0xB8, 0xC6, 0x24, 0xF6,
- 0x86, 0xDA, 0xD2, 0xAD, 0x0B, 0xF5, 0xD4, 0xD5,
- 0x86, 0xEA, 0x97, 0x6B, 0x6A, 0x41, 0x8E, 0xBC,
- 0x92, 0x88, 0x23, 0x2A, 0xCD, 0xF5, 0x40, 0x2E,
- 0x91, 0x16, 0x4A, 0x19, 0x00, 0x5A, 0x2E, 0x4C,
- 0x9B, 0x75, 0xD6, 0x4C, 0xDB, 0x81, 0x55, 0x8A,
- 0x7B, 0x00, 0xA4, 0xDF, 0xF3, 0xAB, 0x03, 0x4F,
- 0xD9, 0x91, 0x1A, 0xC0, 0x7C, 0x4D, 0x0F, 0x99,
- 0xAF, 0xCD, 0x21, 0x34, 0x70, 0x4C, 0x79, 0x93,
- 0xB1, 0x03, 0x9D, 0xBF, 0xF6, 0xF3, 0x47, 0xEC,
- 0x48, 0x3E, 0x18, 0xCA, 0xC4, 0xAA, 0xCA, 0xC8,
- 0x91, 0x4C, 0x1B, 0x9C, 0x5B, 0xF9, 0x0D, 0x0E,
- 0x29, 0x26, 0xDD, 0xF2, 0x40, 0xE9, 0x81, 0x85,
- 0x8A, 0xA1, 0xBE, 0x71, 0xDA, 0x3B, 0x0D, 0x62,
- 0x01, 0x03, 0xA7, 0xC9, 0xD8, 0x49, 0x14, 0xF8,
- 0xE5, 0x21, 0xB0, 0xED, 0xCE, 0xC5, 0x72, 0xE9,
- 0xA4, 0x5F, 0x3D, 0xA7, 0x03, 0xAA, 0xF9, 0x37,
- 0x06, 0xE7, 0x84, 0x42, 0xEF, 0x34, 0x52, 0xBC,
- 0x7F, 0x3B, 0x18, 0xF9, 0x02, 0x4A, 0x1D, 0xA0,
- 0x25, 0x27, 0xD0, 0x9C, 0x96, 0x58, 0x8F, 0xD4,
- 0xF8, 0xA2, 0x01, 0xC9, 0x76, 0x2D, 0x0A, 0x36,
- 0x81, 0xAC, 0xA0, 0x58, 0xD8, 0x83, 0xFA, 0x08,
- 0x27, 0xAB, 0x3C, 0xBB, 0x9E, 0xA6, 0xA6, 0xF6,
- 0xB8, 0x9E, 0x38, 0xE3, 0x07, 0x96, 0xCD, 0x64,
- 0x28, 0x50, 0x05, 0xAD, 0x6C, 0xB6, 0x83, 0xF7,
- 0x01, 0x85, 0x37, 0xD2, 0xFB, 0xFE, 0xD2, 0x86,
- 0x97, 0xB1, 0xEC, 0xD2, 0xB6, 0x18, 0x08, 0xAE,
- 0x8E, 0x05, 0x15, 0xD1, 0x36, 0x47, 0x13, 0x21,
- 0x19, 0xB7, 0xAB, 0xA6, 0xE2, 0x02, 0xD2, 0xF6,
- 0xFC, 0x14, 0x2A, 0xCF, 0xD1, 0xE1, 0x74, 0xBD,
- 0x54, 0xBF, 0xDB, 0x06, 0x57, 0xC0, 0xCB, 0x68,
- 0x40, 0x55, 0x37, 0x94, 0x7A, 0x38, 0x91, 0x04,
- 0x67, 0x93, 0x26, 0x4A, 0x81, 0xBB, 0xBF, 0x9C,
- 0xE0, 0x57, 0x6B, 0x08, 0x1C, 0x95, 0x85, 0xA7,
- 0x90, 0x01, 0x23, 0x18, 0xBB, 0xF9, 0x60, 0x6B,
- 0xC7, 0x9A, 0x18, 0xBD, 0x73, 0x25, 0xB2, 0x5E,
- 0xD8, 0x14, 0x16, 0x23, 0xBE, 0x78, 0x28, 0x36,
- 0x03, 0x4F, 0xDA, 0x8A, 0x36, 0xA1, 0xA5, 0x83,
- 0x2B, 0x2B, 0xE0, 0x05, 0x63, 0x7B, 0xBC, 0xF5,
- 0x63, 0x53, 0x10, 0xEF, 0x64, 0xA7, 0x7E, 0xBC,
- 0xD8, 0x49, 0x0C, 0x3A, 0x04, 0x1F, 0x39, 0x0A,
- 0xEA, 0xC1, 0xEA, 0x2A, 0x2E, 0xDD, 0x0F, 0x9E,
- 0x33, 0x8A, 0x38, 0x83, 0xFF, 0xB1, 0x18, 0x4B,
- 0x83, 0xA3, 0x43, 0x5E, 0xFF, 0xC8, 0xAB
+ 0x30, 0x82, 0x06, 0x53, 0x0A, 0x01, 0x00, 0xA0, 0x82, 0x06, 0x4C, 0x30,
+ 0x82, 0x06, 0x48, 0x06, 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
+ 0x01, 0x01, 0x04, 0x82, 0x06, 0x39, 0x30, 0x82, 0x06, 0x35, 0x30, 0x81,
+ 0x85, 0xA1, 0x14, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43, 0x41, 0x2D, 0x33, 0x18,
+ 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x30,
+ 0x39, 0x33, 0x30, 0x5A, 0x30, 0x5C, 0x30, 0x5A, 0x30, 0x45, 0x30, 0x09,
+ 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB2,
+ 0xE6, 0x5C, 0x8E, 0x6E, 0x83, 0x4B, 0xBD, 0x11, 0xD9, 0x97, 0xFA, 0x36,
+ 0x93, 0x59, 0x9E, 0xAD, 0x5C, 0x15, 0xC4, 0x04, 0x14, 0x9E, 0x91, 0xEC,
+ 0x8C, 0xAA, 0x24, 0x5B, 0x22, 0xE0, 0xE8, 0x11, 0xE8, 0xE9, 0xA4, 0x91,
+ 0xB5, 0x91, 0x26, 0x00, 0xF1, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x36,
+ 0xC8, 0x0C, 0xA1, 0xCA, 0xB0, 0xBD, 0xF6, 0x82, 0x00, 0x18, 0x0F, 0x32,
+ 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x30, 0x39, 0x33,
+ 0x30, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D,
+ 0x01, 0x01, 0x0D, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x56, 0x64,
+ 0x2B, 0x10, 0xAA, 0xE7, 0x26, 0x7F, 0xF1, 0x7F, 0x86, 0x97, 0x0E, 0x18,
+ 0xB4, 0x75, 0x92, 0x65, 0x12, 0x2B, 0x46, 0x9F, 0x3E, 0x96, 0x98, 0xE4,
+ 0xAB, 0x10, 0xD1, 0x0E, 0xEA, 0x08, 0xE2, 0xA5, 0x01, 0x75, 0xA4, 0x5B,
+ 0x76, 0xAC, 0x49, 0x2B, 0x9E, 0xF1, 0x4A, 0xF2, 0x79, 0x3A, 0x4E, 0x15,
+ 0x81, 0xFF, 0x4D, 0xD3, 0x65, 0x8E, 0xAE, 0x4A, 0xBB, 0x33, 0x35, 0x8B,
+ 0x0F, 0xB6, 0x5D, 0x32, 0xEF, 0xF5, 0xE1, 0x25, 0xBF, 0xBD, 0x52, 0x1D,
+ 0x99, 0xF2, 0x34, 0xE0, 0xFB, 0x38, 0x34, 0x6C, 0x9A, 0xEF, 0x53, 0xB2,
+ 0x90, 0xC6, 0xFB, 0x75, 0xA0, 0x8C, 0xBC, 0x6B, 0x8E, 0xD8, 0xDE, 0x33,
+ 0xE4, 0x6F, 0xF2, 0xAD, 0xF2, 0xA2, 0x4F, 0xC2, 0x58, 0x47, 0xE2, 0x68,
+ 0x6D, 0x3A, 0x3A, 0xB3, 0x0A, 0x82, 0x3D, 0xA4, 0x85, 0x00, 0x58, 0x3E,
+ 0x00, 0x35, 0x9D, 0x6B, 0x1F, 0xFF, 0x9F, 0xAE, 0xB0, 0x9A, 0xE2, 0xC7,
+ 0x0E, 0x9A, 0xB3, 0x7C, 0x52, 0xE9, 0xDA, 0x50, 0x57, 0x35, 0x72, 0x71,
+ 0x81, 0xA7, 0xC0, 0x40, 0x28, 0xEA, 0x2B, 0xCE, 0x09, 0x47, 0x1D, 0xB1,
+ 0x80, 0x41, 0x59, 0xF6, 0x5D, 0xD3, 0x3C, 0xEA, 0x11, 0xD8, 0x13, 0xB9,
+ 0x0F, 0x32, 0x6A, 0x29, 0x72, 0xBE, 0xC1, 0xC3, 0x1B, 0xB5, 0x4C, 0x4D,
+ 0x0D, 0xA1, 0xD5, 0xF0, 0xC4, 0xEC, 0xC5, 0x5A, 0x93, 0x41, 0x7A, 0x01,
+ 0x24, 0xB3, 0x7A, 0x71, 0x82, 0xA3, 0xC6, 0x08, 0x42, 0x91, 0x0E, 0x6B,
+ 0xE7, 0x86, 0x0B, 0xAF, 0xBE, 0xDF, 0x07, 0x5A, 0x8C, 0x35, 0xF8, 0x5F,
+ 0x7F, 0x2F, 0x60, 0x04, 0xDD, 0x2A, 0xF2, 0x0D, 0xC0, 0x1C, 0x6F, 0xA0,
+ 0x30, 0x80, 0xA4, 0x35, 0x83, 0xD3, 0xC3, 0xCC, 0x35, 0x46, 0x36, 0xEB,
+ 0xE9, 0xB1, 0x3C, 0x08, 0x8F, 0xCC, 0x5D, 0xCA, 0xD9, 0xAF, 0x3E, 0xD4,
+ 0x58, 0xBB, 0x90, 0x5D, 0xEF, 0x01, 0x9C, 0xD9, 0x3E, 0x56, 0x7E, 0xCF,
+ 0x13, 0xAA, 0x11, 0xC4, 0x22, 0xD2, 0xA0, 0x9F, 0x1B, 0xE9, 0xF0, 0x78,
+ 0x70, 0x3B, 0xCC, 0x21, 0x7D, 0x6B, 0x46, 0x97, 0x3F, 0x3B, 0x0C, 0x5B,
+ 0x8F, 0xA8, 0x28, 0x72, 0x4A, 0x41, 0x4D, 0xE6, 0xDD, 0x2E, 0xBD, 0xF1,
+ 0xA4, 0x1E, 0xA2, 0xA2, 0x94, 0x6E, 0xAD, 0x33, 0xC2, 0x56, 0xD3, 0x29,
+ 0xCF, 0x75, 0x5E, 0x35, 0x59, 0xEB, 0x07, 0x78, 0x23, 0x0B, 0x20, 0x4E,
+ 0xEB, 0x61, 0x2B, 0x46, 0x77, 0x0A, 0x9F, 0xA4, 0x57, 0xA8, 0x45, 0x45,
+ 0x6E, 0x8F, 0xB4, 0xD5, 0x9C, 0xFC, 0x84, 0x78, 0xC3, 0x82, 0xD9, 0xB6,
+ 0xA7, 0xD5, 0x76, 0xE0, 0x23, 0x09, 0x2B, 0x9A, 0x7C, 0x7C, 0xB5, 0x6D,
+ 0x84, 0x9D, 0x1F, 0x47, 0x0C, 0x9C, 0xD6, 0x86, 0x2B, 0xDD, 0xF4, 0xFA,
+ 0x97, 0xE7, 0x72, 0xE7, 0x42, 0x52, 0x74, 0xE8, 0x4D, 0x01, 0xA0, 0x82,
+ 0x04, 0x15, 0x30, 0x82, 0x04, 0x11, 0x30, 0x82, 0x04, 0x0D, 0x30, 0x82,
+ 0x02, 0x75, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0C, 0x57, 0xA3, 0x1D,
+ 0x32, 0x35, 0xB3, 0x4F, 0xD0, 0xB9, 0xF5, 0xE7, 0x3C, 0x30, 0x0D, 0x06,
+ 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00,
+ 0x30, 0x0F, 0x31, 0x0D, 0x30, 0x0B, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
+ 0x04, 0x43, 0x41, 0x2D, 0x33, 0x30, 0x20, 0x17, 0x0D, 0x31, 0x36, 0x30,
+ 0x35, 0x31, 0x30, 0x30, 0x38, 0x34, 0x38, 0x33, 0x30, 0x5A, 0x18, 0x0F,
+ 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39,
+ 0x35, 0x39, 0x5A, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43, 0x41, 0x2D, 0x33, 0x30,
+ 0x82, 0x01, 0xA2, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7,
+ 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8F, 0x00, 0x30,
+ 0x82, 0x01, 0x8A, 0x02, 0x82, 0x01, 0x81, 0x00, 0xA0, 0x39, 0xC3, 0x57,
+ 0xCD, 0x2B, 0x4E, 0x9D, 0x11, 0x68, 0x8B, 0x4E, 0x5A, 0x31, 0x12, 0xDE,
+ 0x30, 0x1E, 0x39, 0x5F, 0x86, 0xB6, 0xB2, 0xB4, 0x81, 0xBA, 0x5D, 0xD4,
+ 0x2F, 0x10, 0xD2, 0x1A, 0x32, 0x0F, 0xD0, 0x41, 0x25, 0xFF, 0xF5, 0xF6,
+ 0x58, 0xB8, 0xA8, 0xA5, 0xEF, 0xF1, 0x34, 0xBF, 0x1B, 0x3C, 0x24, 0x69,
+ 0x23, 0x5B, 0x12, 0x55, 0x79, 0x7C, 0x1D, 0xBD, 0x5C, 0x2B, 0x7A, 0x96,
+ 0x34, 0x66, 0xB3, 0x56, 0x60, 0xBB, 0xC5, 0x6D, 0x3B, 0x37, 0x12, 0xF6,
+ 0xE8, 0x8F, 0x3A, 0x7B, 0x7F, 0xC1, 0x55, 0x19, 0xEA, 0xF2, 0x2A, 0x15,
+ 0xB6, 0xF3, 0xD0, 0xC0, 0x4A, 0x6F, 0xB8, 0x8F, 0x05, 0xF7, 0xBC, 0x75,
+ 0xBC, 0xBF, 0xE7, 0xF9, 0xC7, 0xDC, 0x76, 0x43, 0x7B, 0xEC, 0xD4, 0x9C,
+ 0xAF, 0x90, 0xBD, 0x8C, 0x73, 0x15, 0x8A, 0x84, 0x6F, 0x0B, 0xEA, 0x8A,
+ 0xCF, 0xD6, 0xD4, 0x07, 0x1E, 0x43, 0x4B, 0x24, 0x95, 0xEB, 0xA3, 0xD1,
+ 0xE7, 0xEC, 0x06, 0xB0, 0x90, 0xEF, 0x91, 0xFB, 0x26, 0x8D, 0x53, 0xA0,
+ 0xAA, 0x24, 0xE5, 0x49, 0x64, 0x12, 0xE4, 0x6D, 0xE7, 0x30, 0xCA, 0xB4,
+ 0x46, 0x2C, 0x6C, 0x73, 0x97, 0x4F, 0xE5, 0x6C, 0xA0, 0x91, 0xB7, 0x61,
+ 0xF7, 0xEE, 0x39, 0x50, 0x2B, 0x4E, 0x6D, 0xC9, 0xC7, 0x00, 0x12, 0x6B,
+ 0x3F, 0xE1, 0xAD, 0x2E, 0x21, 0xB4, 0x00, 0xE5, 0x31, 0xEA, 0x83, 0xF3,
+ 0x3E, 0xD7, 0x99, 0x2F, 0x5D, 0xDE, 0xAD, 0x65, 0xE0, 0xEF, 0x36, 0x2E,
+ 0xB1, 0x36, 0xAB, 0x8F, 0xDA, 0xD3, 0x71, 0xDB, 0x20, 0x47, 0xF2, 0x26,
+ 0xD6, 0x62, 0x33, 0x98, 0x3D, 0xA2, 0xEC, 0x68, 0x49, 0xA3, 0x81, 0xA3,
+ 0xD1, 0x29, 0x37, 0x46, 0xAF, 0x77, 0x27, 0x27, 0x80, 0xF8, 0x0C, 0xB9,
+ 0x50, 0xF9, 0xAA, 0x72, 0x6F, 0x9D, 0xA9, 0x7D, 0x34, 0x6F, 0x8F, 0x4C,
+ 0x4D, 0x3B, 0xF8, 0x1A, 0xD3, 0xB9, 0xDE, 0x42, 0xD0, 0x48, 0x25, 0xD8,
+ 0x14, 0x9F, 0x7A, 0x8D, 0xC3, 0x22, 0x5C, 0xCC, 0xC1, 0x14, 0x90, 0xF5,
+ 0x44, 0xEB, 0x1D, 0x93, 0x85, 0x94, 0x79, 0xDF, 0xED, 0x24, 0xC1, 0xDF,
+ 0x7E, 0xDB, 0x43, 0xCF, 0xD8, 0xF7, 0x59, 0xCB, 0x97, 0xF4, 0xCD, 0xA7,
+ 0xCD, 0x34, 0xF6, 0xC6, 0x56, 0xAE, 0xA2, 0x48, 0xDB, 0x10, 0x08, 0x51,
+ 0x0D, 0x1C, 0x39, 0x7F, 0x10, 0x85, 0x66, 0x1E, 0xD3, 0x6E, 0x66, 0x87,
+ 0xE2, 0xFC, 0xAC, 0x0C, 0xEF, 0x54, 0x65, 0x75, 0x44, 0x5D, 0x22, 0xCA,
+ 0xA2, 0x74, 0x36, 0x2E, 0x6C, 0xAC, 0xA3, 0x8F, 0x2C, 0xFC, 0x6D, 0xF4,
+ 0x56, 0x69, 0x52, 0x8E, 0xD3, 0xED, 0x26, 0xA4, 0x6C, 0xBF, 0xFA, 0x0F,
+ 0xA4, 0x23, 0xBF, 0x73, 0x40, 0xFA, 0x06, 0xB9, 0x07, 0x57, 0x9E, 0x41,
+ 0xE3, 0xCC, 0x5F, 0x9B, 0x22, 0x05, 0x8E, 0x01, 0x02, 0x03, 0x01, 0x00,
+ 0x01, 0xA3, 0x64, 0x30, 0x62, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13,
+ 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x0F,
+ 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x05, 0x03, 0x03,
+ 0x07, 0x06, 0x00, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16,
+ 0x04, 0x14, 0x2D, 0x33, 0x04, 0x1B, 0x27, 0x7F, 0x94, 0x04, 0x7C, 0xC7,
+ 0xE3, 0x35, 0x4F, 0xE9, 0x25, 0xA4, 0x94, 0xE1, 0xB7, 0xA1, 0x30, 0x1F,
+ 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xF9,
+ 0xA8, 0x86, 0x19, 0x63, 0xB6, 0xA4, 0x14, 0x13, 0x60, 0x76, 0x0F, 0x01,
+ 0x9A, 0x35, 0x36, 0xEF, 0xF1, 0xB4, 0xAF, 0x30, 0x0D, 0x06, 0x09, 0x2A,
+ 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82,
+ 0x01, 0x81, 0x00, 0x32, 0x28, 0xB9, 0x1B, 0x1D, 0xFF, 0x77, 0xFE, 0x7C,
+ 0xA0, 0x34, 0x72, 0xE5, 0xAD, 0x28, 0x3E, 0xF4, 0x21, 0x91, 0x4D, 0x1D,
+ 0x29, 0xAE, 0xB5, 0x35, 0xF8, 0xE3, 0x3B, 0x3F, 0x6E, 0xAB, 0x13, 0x52,
+ 0x8A, 0x52, 0xC9, 0x13, 0xB8, 0xC6, 0x24, 0xF6, 0x86, 0xDA, 0xD2, 0xAD,
+ 0x0B, 0xF5, 0xD4, 0xD5, 0x86, 0xEA, 0x97, 0x6B, 0x6A, 0x41, 0x8E, 0xBC,
+ 0x92, 0x88, 0x23, 0x2A, 0xCD, 0xF5, 0x40, 0x2E, 0x91, 0x16, 0x4A, 0x19,
+ 0x00, 0x5A, 0x2E, 0x4C, 0x9B, 0x75, 0xD6, 0x4C, 0xDB, 0x81, 0x55, 0x8A,
+ 0x7B, 0x00, 0xA4, 0xDF, 0xF3, 0xAB, 0x03, 0x4F, 0xD9, 0x91, 0x1A, 0xC0,
+ 0x7C, 0x4D, 0x0F, 0x99, 0xAF, 0xCD, 0x21, 0x34, 0x70, 0x4C, 0x79, 0x93,
+ 0xB1, 0x03, 0x9D, 0xBF, 0xF6, 0xF3, 0x47, 0xEC, 0x48, 0x3E, 0x18, 0xCA,
+ 0xC4, 0xAA, 0xCA, 0xC8, 0x91, 0x4C, 0x1B, 0x9C, 0x5B, 0xF9, 0x0D, 0x0E,
+ 0x29, 0x26, 0xDD, 0xF2, 0x40, 0xE9, 0x81, 0x85, 0x8A, 0xA1, 0xBE, 0x71,
+ 0xDA, 0x3B, 0x0D, 0x62, 0x01, 0x03, 0xA7, 0xC9, 0xD8, 0x49, 0x14, 0xF8,
+ 0xE5, 0x21, 0xB0, 0xED, 0xCE, 0xC5, 0x72, 0xE9, 0xA4, 0x5F, 0x3D, 0xA7,
+ 0x03, 0xAA, 0xF9, 0x37, 0x06, 0xE7, 0x84, 0x42, 0xEF, 0x34, 0x52, 0xBC,
+ 0x7F, 0x3B, 0x18, 0xF9, 0x02, 0x4A, 0x1D, 0xA0, 0x25, 0x27, 0xD0, 0x9C,
+ 0x96, 0x58, 0x8F, 0xD4, 0xF8, 0xA2, 0x01, 0xC9, 0x76, 0x2D, 0x0A, 0x36,
+ 0x81, 0xAC, 0xA0, 0x58, 0xD8, 0x83, 0xFA, 0x08, 0x27, 0xAB, 0x3C, 0xBB,
+ 0x9E, 0xA6, 0xA6, 0xF6, 0xB8, 0x9E, 0x38, 0xE3, 0x07, 0x96, 0xCD, 0x64,
+ 0x28, 0x50, 0x05, 0xAD, 0x6C, 0xB6, 0x83, 0xF7, 0x01, 0x85, 0x37, 0xD2,
+ 0xFB, 0xFE, 0xD2, 0x86, 0x97, 0xB1, 0xEC, 0xD2, 0xB6, 0x18, 0x08, 0xAE,
+ 0x8E, 0x05, 0x15, 0xD1, 0x36, 0x47, 0x13, 0x21, 0x19, 0xB7, 0xAB, 0xA6,
+ 0xE2, 0x02, 0xD2, 0xF6, 0xFC, 0x14, 0x2A, 0xCF, 0xD1, 0xE1, 0x74, 0xBD,
+ 0x54, 0xBF, 0xDB, 0x06, 0x57, 0xC0, 0xCB, 0x68, 0x40, 0x55, 0x37, 0x94,
+ 0x7A, 0x38, 0x91, 0x04, 0x67, 0x93, 0x26, 0x4A, 0x81, 0xBB, 0xBF, 0x9C,
+ 0xE0, 0x57, 0x6B, 0x08, 0x1C, 0x95, 0x85, 0xA7, 0x90, 0x01, 0x23, 0x18,
+ 0xBB, 0xF9, 0x60, 0x6B, 0xC7, 0x9A, 0x18, 0xBD, 0x73, 0x25, 0xB2, 0x5E,
+ 0xD8, 0x14, 0x16, 0x23, 0xBE, 0x78, 0x28, 0x36, 0x03, 0x4F, 0xDA, 0x8A,
+ 0x36, 0xA1, 0xA5, 0x83, 0x2B, 0x2B, 0xE0, 0x05, 0x63, 0x7B, 0xBC, 0xF5,
+ 0x63, 0x53, 0x10, 0xEF, 0x64, 0xA7, 0x7E, 0xBC, 0xD8, 0x49, 0x0C, 0x3A,
+ 0x04, 0x1F, 0x39, 0x0A, 0xEA, 0xC1, 0xEA, 0x2A, 0x2E, 0xDD, 0x0F, 0x9E,
+ 0x33, 0x8A, 0x38, 0x83, 0xFF, 0xB1, 0x18, 0x4B, 0x83, 0xA3, 0x43, 0x5E,
+ 0xFF, 0xC8, 0xAB
};
const char _ocsp_ca3_localhost_unknown_pem[] =
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIICNwoBAKCCAjAwggIsBgkrBgEFBQcwAQEEggIdMIICGTCBgqERMA8xDTALBgNV\n"
- "BAMTBENBLTMYDzIwMTcxMDE4MTIzODUyWjBcMFowRTAJBgUrDgMCGgUABBS3yg+r\n"
- "3G+4sJZ6FayYCg8Z/qQS3gQUHoXtf55x+gidN0hDoBLv5arh44oCDFejHTI1s0/Q\n"
- "ufXnPIIAGA8yMDE3MTAxODEyMzg1MlowDQYJKoZIhvcNAQELBQADggGBALMParB9\n"
- "K97DlT4FmMdPScoT7oAAsar4XxKLU9+oraht7H+WTAYSpnCxh/ugR17G0jtzTzIw\n"
- "nLQFAyR9MDYKp4Om4YqQ7r+43DiIqKVU25WcrVifUbtkR+LbjH+Bk1UHvFE8mCOX\n"
- "ZB+cmQyjGap1RX0dnj2Wm48vUwqp71nA8AYcXL575xZ4rb9DDhaoV2h3S0Zlu4IN\n"
- "btuDIVsxJ53kqkGjjVB4/R0RtqCXOI2ThMK3SfDWqwzF9tYA763VVXi+g+w3oyv4\n"
- "ZtP8QUWOVUY4azpElX1wqoO8znUjxs1AzROLUeLPK8GMLVIZLP361J2kLgcj0Gdq\n"
- "GIVH5N54p6bl5OgSUP3EdKbFRZyCVZ2n8Der3Cf9PtfvGV7Ze4Cv/CCN6rJkk54P\n"
- "6auP6pEJg0ESGC5fop5HFCyVM+W/ot0A1cxN0+cHYlqB1NQholLqe3psDjJ2EoIK\n"
- "LtN5dRLO6z5L74CwwiJ1SeLh8XyJtr/ee9RnFB56XCzO7lyhbHPx/VT6Qw==\n"
- "-----END OCSP RESPONSE-----";
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIICNwoBAKCCAjAwggIsBgkrBgEFBQcwAQEEggIdMIICGTCBgqERMA8xDTALBgNV\n"
+ "BAMTBENBLTMYDzIwMTcxMDE4MTIzODUyWjBcMFowRTAJBgUrDgMCGgUABBS3yg+r\n"
+ "3G+4sJZ6FayYCg8Z/qQS3gQUHoXtf55x+gidN0hDoBLv5arh44oCDFejHTI1s0/Q\n"
+ "ufXnPIIAGA8yMDE3MTAxODEyMzg1MlowDQYJKoZIhvcNAQELBQADggGBALMParB9\n"
+ "K97DlT4FmMdPScoT7oAAsar4XxKLU9+oraht7H+WTAYSpnCxh/ugR17G0jtzTzIw\n"
+ "nLQFAyR9MDYKp4Om4YqQ7r+43DiIqKVU25WcrVifUbtkR+LbjH+Bk1UHvFE8mCOX\n"
+ "ZB+cmQyjGap1RX0dnj2Wm48vUwqp71nA8AYcXL575xZ4rb9DDhaoV2h3S0Zlu4IN\n"
+ "btuDIVsxJ53kqkGjjVB4/R0RtqCXOI2ThMK3SfDWqwzF9tYA763VVXi+g+w3oyv4\n"
+ "ZtP8QUWOVUY4azpElX1wqoO8znUjxs1AzROLUeLPK8GMLVIZLP361J2kLgcj0Gdq\n"
+ "GIVH5N54p6bl5OgSUP3EdKbFRZyCVZ2n8Der3Cf9PtfvGV7Ze4Cv/CCN6rJkk54P\n"
+ "6auP6pEJg0ESGC5fop5HFCyVM+W/ot0A1cxN0+cHYlqB1NQholLqe3psDjJ2EoIK\n"
+ "LtN5dRLO6z5L74CwwiJ1SeLh8XyJtr/ee9RnFB56XCzO7lyhbHPx/VT6Qw==\n"
+ "-----END OCSP RESPONSE-----";
static gnutls_datum_t ocsp_ca3_localhost_unknown = {
(void *)_ocsp_ca3_localhost_unknown, sizeof(_ocsp_ca3_localhost_unknown)
@@ -376,78 +285,54 @@ static gnutls_datum_t ocsp_ca3_localhost_unknown_pem = {
* RSA-SHA1.
*/
static const char _ocsp_ca3_localhost_unknown_sha1[] = {
- 0x30, 0x82, 0x02, 0x3A, 0x0A, 0x01, 0x00, 0xA0,
- 0x82, 0x02, 0x33, 0x30, 0x82, 0x02, 0x2F, 0x06,
- 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x01, 0x04, 0x82, 0x02, 0x20, 0x30, 0x82,
- 0x02, 0x1C, 0x30, 0x81, 0x85, 0xA1, 0x14, 0x30,
- 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43,
- 0x41, 0x2D, 0x33, 0x18, 0x0F, 0x32, 0x30, 0x31,
- 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x32,
- 0x32, 0x30, 0x36, 0x5A, 0x30, 0x5C, 0x30, 0x5A,
- 0x30, 0x45, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E,
- 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB2,
- 0xE6, 0x5C, 0x8E, 0x6E, 0x83, 0x4B, 0xBD, 0x11,
- 0xD9, 0x97, 0xFA, 0x36, 0x93, 0x59, 0x9E, 0xAD,
- 0x5C, 0x15, 0xC4, 0x04, 0x14, 0x9E, 0x91, 0xEC,
- 0x8C, 0xAA, 0x24, 0x5B, 0x22, 0xE0, 0xE8, 0x11,
- 0xE8, 0xE9, 0xA4, 0x91, 0xB5, 0x91, 0x26, 0x00,
- 0xF1, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x36,
- 0xC8, 0x0C, 0xA1, 0xCA, 0xB0, 0xBD, 0xF6, 0x82,
- 0x00, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31,
- 0x30, 0x31, 0x38, 0x31, 0x32, 0x32, 0x32, 0x30,
- 0x36, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
- 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x29, 0x91,
- 0xFA, 0x87, 0x8F, 0x4D, 0xC2, 0x25, 0x67, 0x4F,
- 0x2A, 0x39, 0xF9, 0xDA, 0x05, 0x4A, 0x8E, 0xBC,
- 0x72, 0xB7, 0x8B, 0xF1, 0x6C, 0x77, 0x5E, 0x2F,
- 0x0F, 0xA4, 0xEC, 0x7F, 0xD6, 0x63, 0xEA, 0x39,
- 0x17, 0x6F, 0xAA, 0x4B, 0x86, 0x46, 0x0E, 0xB2,
- 0xE1, 0x65, 0x1C, 0xEC, 0x97, 0x05, 0x00, 0x4D,
- 0xAC, 0xBA, 0xA5, 0xD4, 0x1B, 0xB8, 0x4A, 0x05,
- 0x94, 0x6C, 0xC9, 0xE1, 0x41, 0x5B, 0x44, 0x4F,
- 0x39, 0x9C, 0xF7, 0xAF, 0x04, 0x31, 0x1A, 0x5B,
- 0xF8, 0x5E, 0x42, 0xDA, 0xEA, 0xFF, 0x25, 0x67,
- 0x75, 0x3E, 0x46, 0xC4, 0x7D, 0x31, 0x74, 0xBD,
- 0x19, 0xFF, 0x11, 0x7F, 0x21, 0x39, 0x4D, 0xE3,
- 0x07, 0x2F, 0xF4, 0xF5, 0x6B, 0xE7, 0x10, 0xF8,
- 0x6C, 0x57, 0x7B, 0x83, 0x84, 0xCD, 0x3D, 0x61,
- 0xFD, 0x91, 0x87, 0x03, 0x03, 0xDD, 0x7A, 0x60,
- 0xF9, 0x1D, 0x82, 0xE9, 0xD9, 0x4B, 0xC9, 0xF2,
- 0x6F, 0xE5, 0x09, 0xCC, 0xEC, 0x63, 0xD7, 0xC1,
- 0xED, 0x54, 0x6D, 0x03, 0xC8, 0xC5, 0x92, 0xBC,
- 0x22, 0x11, 0xCD, 0x3A, 0x2E, 0x51, 0xCD, 0x5F,
- 0xA5, 0xB5, 0xA3, 0x5C, 0x8D, 0x54, 0x92, 0x85,
- 0x6B, 0x92, 0x2A, 0x23, 0x5E, 0xFB, 0x35, 0xFB,
- 0x23, 0xDA, 0x17, 0x16, 0x6D, 0xB2, 0xFB, 0xD8,
- 0x8D, 0x43, 0x9F, 0x36, 0xE9, 0x5E, 0xA2, 0xCB,
- 0xA5, 0x2D, 0xAE, 0xDD, 0x63, 0xFC, 0x53, 0x90,
- 0xB5, 0x54, 0x82, 0x7C, 0xBD, 0x08, 0xD7, 0x4E,
- 0xEA, 0x11, 0x84, 0x3C, 0x5B, 0x63, 0x06, 0xA5,
- 0x2C, 0x8B, 0x09, 0x13, 0xC7, 0x04, 0x5F, 0xAF,
- 0x73, 0xB1, 0x89, 0x40, 0x12, 0xEA, 0x9C, 0x56,
- 0xC6, 0x08, 0x39, 0xD4, 0xAA, 0x1F, 0xAF, 0x74,
- 0x78, 0xCC, 0x84, 0xC2, 0x8A, 0xE8, 0x0B, 0xCD,
- 0xD3, 0x2D, 0xCD, 0x98, 0x2E, 0x8D, 0xAB, 0x59,
- 0xFC, 0xCF, 0x4C, 0x1A, 0x30, 0xED, 0x8E, 0x3F,
- 0xF8, 0xC7, 0xBD, 0xE3, 0x64, 0x94, 0x0C, 0xFC,
- 0x24, 0x85, 0x35, 0x0A, 0x0E, 0x65, 0xA7, 0x2C,
- 0x0B, 0x80, 0xB9, 0xB0, 0x97, 0xA5, 0x70, 0xE0,
- 0x12, 0x86, 0x69, 0x74, 0x22, 0xEA, 0xE3, 0x11,
- 0x4B, 0x34, 0xB1, 0xFB, 0x24, 0xEE, 0x00, 0x73,
- 0x71, 0x33, 0x74, 0x62, 0x64, 0x10, 0xDD, 0x5A,
- 0x3A, 0x10, 0xA3, 0x8E, 0x36, 0x03, 0x0D, 0x17,
- 0xE3, 0x72, 0x29, 0xAE, 0x5A, 0xBD, 0x2E, 0xE0,
- 0xFD, 0xB1, 0xDF, 0x8F, 0x2C, 0x24, 0xCF, 0xB9,
- 0x10, 0x99, 0x68, 0xA2, 0x55, 0x01, 0x1E, 0xFB,
- 0x9B, 0x14, 0x4C, 0x1E, 0xB4, 0x59, 0x79, 0xB7,
- 0x8F, 0x07, 0x28, 0x3E, 0xB4, 0x2E, 0x8F, 0x91,
- 0x51, 0xFD, 0x8F, 0x12, 0x8D, 0xC6, 0x57, 0x7B,
- 0x87, 0xEF, 0x9C, 0x8B, 0x90, 0xD3, 0xA5, 0xB0,
- 0xBE, 0x4B, 0xFA, 0x33, 0x54, 0x87, 0x81, 0xCF,
- 0x96, 0x9A, 0xD3, 0xDC, 0xA9, 0xB6
+ 0x30, 0x82, 0x02, 0x3A, 0x0A, 0x01, 0x00, 0xA0, 0x82, 0x02, 0x33, 0x30,
+ 0x82, 0x02, 0x2F, 0x06, 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
+ 0x01, 0x01, 0x04, 0x82, 0x02, 0x20, 0x30, 0x82, 0x02, 0x1C, 0x30, 0x81,
+ 0x85, 0xA1, 0x14, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x07, 0x73, 0x75, 0x62, 0x43, 0x41, 0x2D, 0x33, 0x18,
+ 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x32,
+ 0x32, 0x30, 0x36, 0x5A, 0x30, 0x5C, 0x30, 0x5A, 0x30, 0x45, 0x30, 0x09,
+ 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB2,
+ 0xE6, 0x5C, 0x8E, 0x6E, 0x83, 0x4B, 0xBD, 0x11, 0xD9, 0x97, 0xFA, 0x36,
+ 0x93, 0x59, 0x9E, 0xAD, 0x5C, 0x15, 0xC4, 0x04, 0x14, 0x9E, 0x91, 0xEC,
+ 0x8C, 0xAA, 0x24, 0x5B, 0x22, 0xE0, 0xE8, 0x11, 0xE8, 0xE9, 0xA4, 0x91,
+ 0xB5, 0x91, 0x26, 0x00, 0xF1, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x36,
+ 0xC8, 0x0C, 0xA1, 0xCA, 0xB0, 0xBD, 0xF6, 0x82, 0x00, 0x18, 0x0F, 0x32,
+ 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x32, 0x32, 0x30,
+ 0x36, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D,
+ 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x29, 0x91,
+ 0xFA, 0x87, 0x8F, 0x4D, 0xC2, 0x25, 0x67, 0x4F, 0x2A, 0x39, 0xF9, 0xDA,
+ 0x05, 0x4A, 0x8E, 0xBC, 0x72, 0xB7, 0x8B, 0xF1, 0x6C, 0x77, 0x5E, 0x2F,
+ 0x0F, 0xA4, 0xEC, 0x7F, 0xD6, 0x63, 0xEA, 0x39, 0x17, 0x6F, 0xAA, 0x4B,
+ 0x86, 0x46, 0x0E, 0xB2, 0xE1, 0x65, 0x1C, 0xEC, 0x97, 0x05, 0x00, 0x4D,
+ 0xAC, 0xBA, 0xA5, 0xD4, 0x1B, 0xB8, 0x4A, 0x05, 0x94, 0x6C, 0xC9, 0xE1,
+ 0x41, 0x5B, 0x44, 0x4F, 0x39, 0x9C, 0xF7, 0xAF, 0x04, 0x31, 0x1A, 0x5B,
+ 0xF8, 0x5E, 0x42, 0xDA, 0xEA, 0xFF, 0x25, 0x67, 0x75, 0x3E, 0x46, 0xC4,
+ 0x7D, 0x31, 0x74, 0xBD, 0x19, 0xFF, 0x11, 0x7F, 0x21, 0x39, 0x4D, 0xE3,
+ 0x07, 0x2F, 0xF4, 0xF5, 0x6B, 0xE7, 0x10, 0xF8, 0x6C, 0x57, 0x7B, 0x83,
+ 0x84, 0xCD, 0x3D, 0x61, 0xFD, 0x91, 0x87, 0x03, 0x03, 0xDD, 0x7A, 0x60,
+ 0xF9, 0x1D, 0x82, 0xE9, 0xD9, 0x4B, 0xC9, 0xF2, 0x6F, 0xE5, 0x09, 0xCC,
+ 0xEC, 0x63, 0xD7, 0xC1, 0xED, 0x54, 0x6D, 0x03, 0xC8, 0xC5, 0x92, 0xBC,
+ 0x22, 0x11, 0xCD, 0x3A, 0x2E, 0x51, 0xCD, 0x5F, 0xA5, 0xB5, 0xA3, 0x5C,
+ 0x8D, 0x54, 0x92, 0x85, 0x6B, 0x92, 0x2A, 0x23, 0x5E, 0xFB, 0x35, 0xFB,
+ 0x23, 0xDA, 0x17, 0x16, 0x6D, 0xB2, 0xFB, 0xD8, 0x8D, 0x43, 0x9F, 0x36,
+ 0xE9, 0x5E, 0xA2, 0xCB, 0xA5, 0x2D, 0xAE, 0xDD, 0x63, 0xFC, 0x53, 0x90,
+ 0xB5, 0x54, 0x82, 0x7C, 0xBD, 0x08, 0xD7, 0x4E, 0xEA, 0x11, 0x84, 0x3C,
+ 0x5B, 0x63, 0x06, 0xA5, 0x2C, 0x8B, 0x09, 0x13, 0xC7, 0x04, 0x5F, 0xAF,
+ 0x73, 0xB1, 0x89, 0x40, 0x12, 0xEA, 0x9C, 0x56, 0xC6, 0x08, 0x39, 0xD4,
+ 0xAA, 0x1F, 0xAF, 0x74, 0x78, 0xCC, 0x84, 0xC2, 0x8A, 0xE8, 0x0B, 0xCD,
+ 0xD3, 0x2D, 0xCD, 0x98, 0x2E, 0x8D, 0xAB, 0x59, 0xFC, 0xCF, 0x4C, 0x1A,
+ 0x30, 0xED, 0x8E, 0x3F, 0xF8, 0xC7, 0xBD, 0xE3, 0x64, 0x94, 0x0C, 0xFC,
+ 0x24, 0x85, 0x35, 0x0A, 0x0E, 0x65, 0xA7, 0x2C, 0x0B, 0x80, 0xB9, 0xB0,
+ 0x97, 0xA5, 0x70, 0xE0, 0x12, 0x86, 0x69, 0x74, 0x22, 0xEA, 0xE3, 0x11,
+ 0x4B, 0x34, 0xB1, 0xFB, 0x24, 0xEE, 0x00, 0x73, 0x71, 0x33, 0x74, 0x62,
+ 0x64, 0x10, 0xDD, 0x5A, 0x3A, 0x10, 0xA3, 0x8E, 0x36, 0x03, 0x0D, 0x17,
+ 0xE3, 0x72, 0x29, 0xAE, 0x5A, 0xBD, 0x2E, 0xE0, 0xFD, 0xB1, 0xDF, 0x8F,
+ 0x2C, 0x24, 0xCF, 0xB9, 0x10, 0x99, 0x68, 0xA2, 0x55, 0x01, 0x1E, 0xFB,
+ 0x9B, 0x14, 0x4C, 0x1E, 0xB4, 0x59, 0x79, 0xB7, 0x8F, 0x07, 0x28, 0x3E,
+ 0xB4, 0x2E, 0x8F, 0x91, 0x51, 0xFD, 0x8F, 0x12, 0x8D, 0xC6, 0x57, 0x7B,
+ 0x87, 0xEF, 0x9C, 0x8B, 0x90, 0xD3, 0xA5, 0xB0, 0xBE, 0x4B, 0xFA, 0x33,
+ 0x54, 0x87, 0x81, 0xCF, 0x96, 0x9A, 0xD3, 0xDC, 0xA9, 0xB6
};
static gnutls_datum_t ocsp_ca3_localhost_unknown_sha1 = {
@@ -460,121 +345,96 @@ static gnutls_datum_t ocsp_ca3_localhost_unknown_sha1 = {
* RSA-SHA256.
*/
static const char _ocsp_subca3_unknown[] = {
- 0x30, 0x82, 0x02, 0x37, 0x0A, 0x01, 0x00, 0xA0,
- 0x82, 0x02, 0x30, 0x30, 0x82, 0x02, 0x2C, 0x06,
- 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x01, 0x04, 0x82, 0x02, 0x1D, 0x30, 0x82,
- 0x02, 0x19, 0x30, 0x81, 0x82, 0xA1, 0x11, 0x30,
- 0x0F, 0x31, 0x0D, 0x30, 0x0B, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x04, 0x43, 0x41, 0x2D, 0x33,
- 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x30,
- 0x31, 0x38, 0x31, 0x32, 0x33, 0x38, 0x35, 0x32,
- 0x5A, 0x30, 0x5C, 0x30, 0x5A, 0x30, 0x45, 0x30,
- 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A,
- 0x05, 0x00, 0x04, 0x14, 0xB7, 0xCA, 0x0F, 0xAB,
- 0xDC, 0x6F, 0xB8, 0xB0, 0x96, 0x7A, 0x15, 0xAC,
- 0x98, 0x0A, 0x0F, 0x19, 0xFE, 0xA4, 0x12, 0xDE,
- 0x04, 0x14, 0x1E, 0x85, 0xED, 0x7F, 0x9E, 0x71,
- 0xFA, 0x08, 0x9D, 0x37, 0x48, 0x43, 0xA0, 0x12,
- 0xEF, 0xE5, 0xAA, 0xE1, 0xE3, 0x8A, 0x02, 0x0C,
- 0x57, 0xA3, 0x1D, 0x32, 0x35, 0xB3, 0x4F, 0xD0,
- 0xB9, 0xF5, 0xE7, 0x3C, 0x82, 0x00, 0x18, 0x0F,
- 0x32, 0x30, 0x31, 0x37, 0x31, 0x30, 0x31, 0x38,
- 0x31, 0x32, 0x33, 0x38, 0x35, 0x32, 0x5A, 0x30,
- 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7,
- 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82,
- 0x01, 0x81, 0x00, 0xB3, 0x0F, 0x6A, 0xB0, 0x7D,
- 0x2B, 0xDE, 0xC3, 0x95, 0x3E, 0x05, 0x98, 0xC7,
- 0x4F, 0x49, 0xCA, 0x13, 0xEE, 0x80, 0x00, 0xB1,
- 0xAA, 0xF8, 0x5F, 0x12, 0x8B, 0x53, 0xDF, 0xA8,
- 0xAD, 0xA8, 0x6D, 0xEC, 0x7F, 0x96, 0x4C, 0x06,
- 0x12, 0xA6, 0x70, 0xB1, 0x87, 0xFB, 0xA0, 0x47,
- 0x5E, 0xC6, 0xD2, 0x3B, 0x73, 0x4F, 0x32, 0x30,
- 0x9C, 0xB4, 0x05, 0x03, 0x24, 0x7D, 0x30, 0x36,
- 0x0A, 0xA7, 0x83, 0xA6, 0xE1, 0x8A, 0x90, 0xEE,
- 0xBF, 0xB8, 0xDC, 0x38, 0x88, 0xA8, 0xA5, 0x54,
- 0xDB, 0x95, 0x9C, 0xAD, 0x58, 0x9F, 0x51, 0xBB,
- 0x64, 0x47, 0xE2, 0xDB, 0x8C, 0x7F, 0x81, 0x93,
- 0x55, 0x07, 0xBC, 0x51, 0x3C, 0x98, 0x23, 0x97,
- 0x64, 0x1F, 0x9C, 0x99, 0x0C, 0xA3, 0x19, 0xAA,
- 0x75, 0x45, 0x7D, 0x1D, 0x9E, 0x3D, 0x96, 0x9B,
- 0x8F, 0x2F, 0x53, 0x0A, 0xA9, 0xEF, 0x59, 0xC0,
- 0xF0, 0x06, 0x1C, 0x5C, 0xBE, 0x7B, 0xE7, 0x16,
- 0x78, 0xAD, 0xBF, 0x43, 0x0E, 0x16, 0xA8, 0x57,
- 0x68, 0x77, 0x4B, 0x46, 0x65, 0xBB, 0x82, 0x0D,
- 0x6E, 0xDB, 0x83, 0x21, 0x5B, 0x31, 0x27, 0x9D,
- 0xE4, 0xAA, 0x41, 0xA3, 0x8D, 0x50, 0x78, 0xFD,
- 0x1D, 0x11, 0xB6, 0xA0, 0x97, 0x38, 0x8D, 0x93,
- 0x84, 0xC2, 0xB7, 0x49, 0xF0, 0xD6, 0xAB, 0x0C,
- 0xC5, 0xF6, 0xD6, 0x00, 0xEF, 0xAD, 0xD5, 0x55,
- 0x78, 0xBE, 0x83, 0xEC, 0x37, 0xA3, 0x2B, 0xF8,
- 0x66, 0xD3, 0xFC, 0x41, 0x45, 0x8E, 0x55, 0x46,
- 0x38, 0x6B, 0x3A, 0x44, 0x95, 0x7D, 0x70, 0xAA,
- 0x83, 0xBC, 0xCE, 0x75, 0x23, 0xC6, 0xCD, 0x40,
- 0xCD, 0x13, 0x8B, 0x51, 0xE2, 0xCF, 0x2B, 0xC1,
- 0x8C, 0x2D, 0x52, 0x19, 0x2C, 0xFD, 0xFA, 0xD4,
- 0x9D, 0xA4, 0x2E, 0x07, 0x23, 0xD0, 0x67, 0x6A,
- 0x18, 0x85, 0x47, 0xE4, 0xDE, 0x78, 0xA7, 0xA6,
- 0xE5, 0xE4, 0xE8, 0x12, 0x50, 0xFD, 0xC4, 0x74,
- 0xA6, 0xC5, 0x45, 0x9C, 0x82, 0x55, 0x9D, 0xA7,
- 0xF0, 0x37, 0xAB, 0xDC, 0x27, 0xFD, 0x3E, 0xD7,
- 0xEF, 0x19, 0x5E, 0xD9, 0x7B, 0x80, 0xAF, 0xFC,
- 0x20, 0x8D, 0xEA, 0xB2, 0x64, 0x93, 0x9E, 0x0F,
- 0xE9, 0xAB, 0x8F, 0xEA, 0x91, 0x09, 0x83, 0x41,
- 0x12, 0x18, 0x2E, 0x5F, 0xA2, 0x9E, 0x47, 0x14,
- 0x2C, 0x95, 0x33, 0xE5, 0xBF, 0xA2, 0xDD, 0x00,
- 0xD5, 0xCC, 0x4D, 0xD3, 0xE7, 0x07, 0x62, 0x5A,
- 0x81, 0xD4, 0xD4, 0x21, 0xA2, 0x52, 0xEA, 0x7B,
- 0x7A, 0x6C, 0x0E, 0x32, 0x76, 0x12, 0x82, 0x0A,
- 0x2E, 0xD3, 0x79, 0x75, 0x12, 0xCE, 0xEB, 0x3E,
- 0x4B, 0xEF, 0x80, 0xB0, 0xC2, 0x22, 0x75, 0x49,
- 0xE2, 0xE1, 0xF1, 0x7C, 0x89, 0xB6, 0xBF, 0xDE,
- 0x7B, 0xD4, 0x67, 0x14, 0x1E, 0x7A, 0x5C, 0x2C,
- 0xCE, 0xEE, 0x5C, 0xA1, 0x6C, 0x73, 0xF1, 0xFD,
- 0x54, 0xFA, 0x43
+ 0x30, 0x82, 0x02, 0x37, 0x0A, 0x01, 0x00, 0xA0, 0x82, 0x02, 0x30, 0x30,
+ 0x82, 0x02, 0x2C, 0x06, 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
+ 0x01, 0x01, 0x04, 0x82, 0x02, 0x1D, 0x30, 0x82, 0x02, 0x19, 0x30, 0x81,
+ 0x82, 0xA1, 0x11, 0x30, 0x0F, 0x31, 0x0D, 0x30, 0x0B, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x04, 0x43, 0x41, 0x2D, 0x33, 0x18, 0x0F, 0x32, 0x30,
+ 0x31, 0x37, 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x33, 0x38, 0x35, 0x32,
+ 0x5A, 0x30, 0x5C, 0x30, 0x5A, 0x30, 0x45, 0x30, 0x09, 0x06, 0x05, 0x2B,
+ 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0xB7, 0xCA, 0x0F, 0xAB,
+ 0xDC, 0x6F, 0xB8, 0xB0, 0x96, 0x7A, 0x15, 0xAC, 0x98, 0x0A, 0x0F, 0x19,
+ 0xFE, 0xA4, 0x12, 0xDE, 0x04, 0x14, 0x1E, 0x85, 0xED, 0x7F, 0x9E, 0x71,
+ 0xFA, 0x08, 0x9D, 0x37, 0x48, 0x43, 0xA0, 0x12, 0xEF, 0xE5, 0xAA, 0xE1,
+ 0xE3, 0x8A, 0x02, 0x0C, 0x57, 0xA3, 0x1D, 0x32, 0x35, 0xB3, 0x4F, 0xD0,
+ 0xB9, 0xF5, 0xE7, 0x3C, 0x82, 0x00, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37,
+ 0x31, 0x30, 0x31, 0x38, 0x31, 0x32, 0x33, 0x38, 0x35, 0x32, 0x5A, 0x30,
+ 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B,
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0xB3, 0x0F, 0x6A, 0xB0, 0x7D,
+ 0x2B, 0xDE, 0xC3, 0x95, 0x3E, 0x05, 0x98, 0xC7, 0x4F, 0x49, 0xCA, 0x13,
+ 0xEE, 0x80, 0x00, 0xB1, 0xAA, 0xF8, 0x5F, 0x12, 0x8B, 0x53, 0xDF, 0xA8,
+ 0xAD, 0xA8, 0x6D, 0xEC, 0x7F, 0x96, 0x4C, 0x06, 0x12, 0xA6, 0x70, 0xB1,
+ 0x87, 0xFB, 0xA0, 0x47, 0x5E, 0xC6, 0xD2, 0x3B, 0x73, 0x4F, 0x32, 0x30,
+ 0x9C, 0xB4, 0x05, 0x03, 0x24, 0x7D, 0x30, 0x36, 0x0A, 0xA7, 0x83, 0xA6,
+ 0xE1, 0x8A, 0x90, 0xEE, 0xBF, 0xB8, 0xDC, 0x38, 0x88, 0xA8, 0xA5, 0x54,
+ 0xDB, 0x95, 0x9C, 0xAD, 0x58, 0x9F, 0x51, 0xBB, 0x64, 0x47, 0xE2, 0xDB,
+ 0x8C, 0x7F, 0x81, 0x93, 0x55, 0x07, 0xBC, 0x51, 0x3C, 0x98, 0x23, 0x97,
+ 0x64, 0x1F, 0x9C, 0x99, 0x0C, 0xA3, 0x19, 0xAA, 0x75, 0x45, 0x7D, 0x1D,
+ 0x9E, 0x3D, 0x96, 0x9B, 0x8F, 0x2F, 0x53, 0x0A, 0xA9, 0xEF, 0x59, 0xC0,
+ 0xF0, 0x06, 0x1C, 0x5C, 0xBE, 0x7B, 0xE7, 0x16, 0x78, 0xAD, 0xBF, 0x43,
+ 0x0E, 0x16, 0xA8, 0x57, 0x68, 0x77, 0x4B, 0x46, 0x65, 0xBB, 0x82, 0x0D,
+ 0x6E, 0xDB, 0x83, 0x21, 0x5B, 0x31, 0x27, 0x9D, 0xE4, 0xAA, 0x41, 0xA3,
+ 0x8D, 0x50, 0x78, 0xFD, 0x1D, 0x11, 0xB6, 0xA0, 0x97, 0x38, 0x8D, 0x93,
+ 0x84, 0xC2, 0xB7, 0x49, 0xF0, 0xD6, 0xAB, 0x0C, 0xC5, 0xF6, 0xD6, 0x00,
+ 0xEF, 0xAD, 0xD5, 0x55, 0x78, 0xBE, 0x83, 0xEC, 0x37, 0xA3, 0x2B, 0xF8,
+ 0x66, 0xD3, 0xFC, 0x41, 0x45, 0x8E, 0x55, 0x46, 0x38, 0x6B, 0x3A, 0x44,
+ 0x95, 0x7D, 0x70, 0xAA, 0x83, 0xBC, 0xCE, 0x75, 0x23, 0xC6, 0xCD, 0x40,
+ 0xCD, 0x13, 0x8B, 0x51, 0xE2, 0xCF, 0x2B, 0xC1, 0x8C, 0x2D, 0x52, 0x19,
+ 0x2C, 0xFD, 0xFA, 0xD4, 0x9D, 0xA4, 0x2E, 0x07, 0x23, 0xD0, 0x67, 0x6A,
+ 0x18, 0x85, 0x47, 0xE4, 0xDE, 0x78, 0xA7, 0xA6, 0xE5, 0xE4, 0xE8, 0x12,
+ 0x50, 0xFD, 0xC4, 0x74, 0xA6, 0xC5, 0x45, 0x9C, 0x82, 0x55, 0x9D, 0xA7,
+ 0xF0, 0x37, 0xAB, 0xDC, 0x27, 0xFD, 0x3E, 0xD7, 0xEF, 0x19, 0x5E, 0xD9,
+ 0x7B, 0x80, 0xAF, 0xFC, 0x20, 0x8D, 0xEA, 0xB2, 0x64, 0x93, 0x9E, 0x0F,
+ 0xE9, 0xAB, 0x8F, 0xEA, 0x91, 0x09, 0x83, 0x41, 0x12, 0x18, 0x2E, 0x5F,
+ 0xA2, 0x9E, 0x47, 0x14, 0x2C, 0x95, 0x33, 0xE5, 0xBF, 0xA2, 0xDD, 0x00,
+ 0xD5, 0xCC, 0x4D, 0xD3, 0xE7, 0x07, 0x62, 0x5A, 0x81, 0xD4, 0xD4, 0x21,
+ 0xA2, 0x52, 0xEA, 0x7B, 0x7A, 0x6C, 0x0E, 0x32, 0x76, 0x12, 0x82, 0x0A,
+ 0x2E, 0xD3, 0x79, 0x75, 0x12, 0xCE, 0xEB, 0x3E, 0x4B, 0xEF, 0x80, 0xB0,
+ 0xC2, 0x22, 0x75, 0x49, 0xE2, 0xE1, 0xF1, 0x7C, 0x89, 0xB6, 0xBF, 0xDE,
+ 0x7B, 0xD4, 0x67, 0x14, 0x1E, 0x7A, 0x5C, 0x2C, 0xCE, 0xEE, 0x5C, 0xA1,
+ 0x6C, 0x73, 0xF1, 0xFD, 0x54, 0xFA, 0x43
};
const char _ocsp_subca3_unknown_pem[] =
- "-----BEGIN OCSP RESPONSE-----\n"
- "MIIGUwoBAKCCBkwwggZIBgkrBgEFBQcwAQEEggY5MIIGNTCBhaEUMBIxEDAOBgNV\n"
- "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIwOTMwWjBcMFowRTAJBgUrDgMCGgUABBSy\n"
- "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2\n"
- "yAyhyrC99oIAGA8yMDE3MTAxODEyMDkzMFowDQYJKoZIhvcNAQENBQADggGBAFZk\n"
- "KxCq5yZ/8X+Glw4YtHWSZRIrRp8+lpjkqxDRDuoI4qUBdaRbdqxJK57xSvJ5Ok4V\n"
- "gf9N02WOrkq7MzWLD7ZdMu/14SW/vVIdmfI04Ps4NGya71OykMb7daCMvGuO2N4z\n"
- "5G/yrfKiT8JYR+JobTo6swqCPaSFAFg+ADWdax//n66wmuLHDpqzfFLp2lBXNXJx\n"
- "gafAQCjqK84JRx2xgEFZ9l3TPOoR2BO5DzJqKXK+wcMbtUxNDaHV8MTsxVqTQXoB\n"
- "JLN6cYKjxghCkQ5r54YLr77fB1qMNfhffy9gBN0q8g3AHG+gMICkNYPTw8w1Rjbr\n"
- "6bE8CI/MXcrZrz7UWLuQXe8BnNk+Vn7PE6oRxCLSoJ8b6fB4cDvMIX1rRpc/Owxb\n"
- "j6gockpBTebdLr3xpB6iopRurTPCVtMpz3VeNVnrB3gjCyBO62ErRncKn6RXqEVF\n"
- "bo+01Zz8hHjDgtm2p9V24CMJK5p8fLVthJ0fRwyc1oYr3fT6l+dy50JSdOhNAaCC\n"
- "BBUwggQRMIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUA\n"
- "MA8xDTALBgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5\n"
- "NTlaMBIxEDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw\n"
- "ggGKAoIBgQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2\n"
- "WLiope/xNL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioV\n"
- "tvPQwEpvuI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR\n"
- "5+wGsJDvkfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJr\n"
- "P+GtLiG0AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj\n"
- "0Sk3Rq93JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1\n"
- "ROsdk4WUed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH\n"
- "4vysDO9UZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B\n"
- "48xfmyIFjgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMD\n"
- "BwYAMB0GA1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5\n"
- "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58\n"
- "oDRy5a0oPvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68\n"
- "kogjKs31QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmT\n"
- "sQOdv/bzR+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT4\n"
- "5SGw7c7FcumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2\n"
- "gaygWNiD+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiu\n"
- "jgUV0TZHEyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c\n"
- "4FdrCByVhaeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1\n"
- "Y1MQ72SnfrzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
- "-----END OCSP RESPONSE-----\n";
+ "-----BEGIN OCSP RESPONSE-----\n"
+ "MIIGUwoBAKCCBkwwggZIBgkrBgEFBQcwAQEEggY5MIIGNTCBhaEUMBIxEDAOBgNV\n"
+ "BAMTB3N1YkNBLTMYDzIwMTcxMDE4MTIwOTMwWjBcMFowRTAJBgUrDgMCGgUABBSy\n"
+ "5lyOboNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2\n"
+ "yAyhyrC99oIAGA8yMDE3MTAxODEyMDkzMFowDQYJKoZIhvcNAQENBQADggGBAFZk\n"
+ "KxCq5yZ/8X+Glw4YtHWSZRIrRp8+lpjkqxDRDuoI4qUBdaRbdqxJK57xSvJ5Ok4V\n"
+ "gf9N02WOrkq7MzWLD7ZdMu/14SW/vVIdmfI04Ps4NGya71OykMb7daCMvGuO2N4z\n"
+ "5G/yrfKiT8JYR+JobTo6swqCPaSFAFg+ADWdax//n66wmuLHDpqzfFLp2lBXNXJx\n"
+ "gafAQCjqK84JRx2xgEFZ9l3TPOoR2BO5DzJqKXK+wcMbtUxNDaHV8MTsxVqTQXoB\n"
+ "JLN6cYKjxghCkQ5r54YLr77fB1qMNfhffy9gBN0q8g3AHG+gMICkNYPTw8w1Rjbr\n"
+ "6bE8CI/MXcrZrz7UWLuQXe8BnNk+Vn7PE6oRxCLSoJ8b6fB4cDvMIX1rRpc/Owxb\n"
+ "j6gockpBTebdLr3xpB6iopRurTPCVtMpz3VeNVnrB3gjCyBO62ErRncKn6RXqEVF\n"
+ "bo+01Zz8hHjDgtm2p9V24CMJK5p8fLVthJ0fRwyc1oYr3fT6l+dy50JSdOhNAaCC\n"
+ "BBUwggQRMIIEDTCCAnWgAwIBAgIMV6MdMjWzT9C59ec8MA0GCSqGSIb3DQEBCwUA\n"
+ "MA8xDTALBgNVBAMTBENBLTMwIBcNMTYwNTEwMDg0ODMwWhgPOTk5OTEyMzEyMzU5\n"
+ "NTlaMBIxEDAOBgNVBAMTB3N1YkNBLTMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw\n"
+ "ggGKAoIBgQCgOcNXzStOnRFoi05aMRLeMB45X4a2srSBul3ULxDSGjIP0EEl//X2\n"
+ "WLiope/xNL8bPCRpI1sSVXl8Hb1cK3qWNGazVmC7xW07NxL26I86e3/BVRnq8ioV\n"
+ "tvPQwEpvuI8F97x1vL/n+cfcdkN77NScr5C9jHMVioRvC+qKz9bUBx5DSySV66PR\n"
+ "5+wGsJDvkfsmjVOgqiTlSWQS5G3nMMq0Rixsc5dP5Wygkbdh9+45UCtObcnHABJr\n"
+ "P+GtLiG0AOUx6oPzPteZL13erWXg7zYusTarj9rTcdsgR/Im1mIzmD2i7GhJo4Gj\n"
+ "0Sk3Rq93JyeA+Ay5UPmqcm+dqX00b49MTTv4GtO53kLQSCXYFJ96jcMiXMzBFJD1\n"
+ "ROsdk4WUed/tJMHffttDz9j3WcuX9M2nzTT2xlauokjbEAhRDRw5fxCFZh7TbmaH\n"
+ "4vysDO9UZXVEXSLKonQ2Lmyso48s/G30VmlSjtPtJqRsv/oPpCO/c0D6BrkHV55B\n"
+ "48xfmyIFjgECAwEAAaNkMGIwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMD\n"
+ "BwYAMB0GA1UdDgQWBBQtMwQbJ3+UBHzH4zVP6SWklOG3oTAfBgNVHSMEGDAWgBT5\n"
+ "qIYZY7akFBNgdg8BmjU27/G0rzANBgkqhkiG9w0BAQsFAAOCAYEAMii5Gx3/d/58\n"
+ "oDRy5a0oPvQhkU0dKa61NfjjOz9uqxNSilLJE7jGJPaG2tKtC/XU1Ybql2tqQY68\n"
+ "kogjKs31QC6RFkoZAFouTJt11kzbgVWKewCk3/OrA0/ZkRrAfE0Pma/NITRwTHmT\n"
+ "sQOdv/bzR+xIPhjKxKrKyJFMG5xb+Q0OKSbd8kDpgYWKob5x2jsNYgEDp8nYSRT4\n"
+ "5SGw7c7FcumkXz2nA6r5NwbnhELvNFK8fzsY+QJKHaAlJ9CclliP1PiiAcl2LQo2\n"
+ "gaygWNiD+ggnqzy7nqam9rieOOMHls1kKFAFrWy2g/cBhTfS+/7Shpex7NK2GAiu\n"
+ "jgUV0TZHEyEZt6um4gLS9vwUKs/R4XS9VL/bBlfAy2hAVTeUejiRBGeTJkqBu7+c\n"
+ "4FdrCByVhaeQASMYu/lga8eaGL1zJbJe2BQWI754KDYDT9qKNqGlgysr4AVje7z1\n"
+ "Y1MQ72SnfrzYSQw6BB85CurB6iou3Q+eM4o4g/+xGEuDo0Ne/8ir\n"
+ "-----END OCSP RESPONSE-----\n";
-static gnutls_datum_t ocsp_subca3_unknown = {
- (void *)_ocsp_subca3_unknown, sizeof(_ocsp_subca3_unknown)
-};
+static gnutls_datum_t ocsp_subca3_unknown = { (void *)_ocsp_subca3_unknown,
+ sizeof(_ocsp_subca3_unknown) };
static gnutls_datum_t ocsp_subca3_unknown_pem = {
(void *)_ocsp_subca3_unknown_pem, sizeof(_ocsp_subca3_unknown_pem) - 1
@@ -586,90 +446,90 @@ static gnutls_datum_t ocsp_subca3_unknown_pem = {
*/
const char _ocsp_cli_ca3_good_pem[] =
- "-----BEGIN OCSP RESPONSE-----"
- "MIIGPQoBAKCCBjYwggYyBgkrBgEFBQcwAQEEggYjMIIGHzCBgqERMA8xDTALBgNV"
- "BAMTBENBLTMYDzIwMTkwOTIwMjAwMjMxWjBcMFowRTAJBgUrDgMCGgUABBSy5lyO"
- "boNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2Wi75"
- "obBaUoAAGA8yMDE5MDkyMDIwMDIzMVowDQYJKoZIhvcNAQELBQADggGBAC80EWal"
- "PkJ29i/sZsO49hRolZXCMb1bjI0yxwhoH2Hk8Z0L41N0WFRphPqrDr8Dm3uRMcdx"
- "n3xre+bxM0WL44mUMxptdYUcAwfb1M2gSQVhRvhvIfiMQZlkMYle4RPdVQN9nxmC"
- "WbZD0WJmXQuYpFWYDVQkcL6f5Tlex5a8M/v/ihFBecs3wfstD1Bu4mD7nA8O/tGa"
- "u0JQXxHnIM7FBOm73HccoxE5in307WEJtK1yTiUjwjlvl05hdWIzdydRToB6dNLL"
- "MtgoFkKIX4aF6fkv1We4zooFdzlQanGdompaSDRGgMEONMZsQdWAs6Nmk+98f6cR"
- "V426fFq3i6MLctLbwB5cOvvKbf9+P14KMD+bzcglupWqgJhNAmQlWksjWgMjfcCV"
- "w4xATkcHnbMLlQ6ikORcXdkAbbhx8O0jJG1MdiUxErPOkOmKz2Nq14OYVYZII0t/"
- "tbzuVGrYtNde4OM2mt9KSOY9rqX1wgKWOUPQW/FzOQvlAaiIwSQtrha/JaCCBAIw"
- "ggP+MIID+jCCAmKgAwIBAgIIVzGgXgSsTYwwDQYJKoZIhvcNAQELBQAwDzENMAsG"
- "A1UEAxMEQ0EtMzAgFw0xNjA1MTAwODQ4MzBaGA85OTk5MTIzMTIzNTk1OVowDzEN"
- "MAsGA1UEAxMEQ0EtMzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALbd"
- "xniG+2wP/ONeZfvR7AJakVo5deFKIHVTiiBWwhg+HSjd4nfDa+vyTt/wIdldP1Pr"
- "iD1Rigc8z68+RxPpGfAc197pKlKpO08I0L1RDKnjBWr4fGdCzE6uZ/ZsKVifoIZp"
- "dC8M2IYpAIMajEtnH53XZ1hTEviXTsneuiCTtap73OeSkL71SrIMkgBmAX17gfX3"
- "SxFjQUzOs6QMMOa3+8GW7RI+E/SyS1QkOO860dj9XYgOnTL20ibGcWF2XmTiQASI"
- "+KmHvYJCNJF/8pvmyJRyBHGZO830aBY0+DcS2bLKcyMiWfOJw7WnpaO7zSEC5WFg"
- "o4jdqroUBQdjQNCSSdrt1yYrAl1Sj2PMxYFX4H545Pr2sMpwC9AnPk9+uucT1Inj"
- "9615qbuXgFwhkgpK5pnPjzKaHp7ESlJj4/dIPTmhlt5BV+CLh7tSLzVLrddGU+os"
- "8JinT42radJ5V51Hn0C1CHIaFAuBCd5XRHXtrKb7WcnwCOxlcvux9h5/847F4wID"
- "AQABo1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMJMA8G"
- "A1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPmohhljtqQUE2B2DwGaNTbv8bSvMA0G"
- "CSqGSIb3DQEBCwUAA4IBgQBhBi8dXQMtXH2oqcuHuEj9JkxraAsaJvc1WAoxbiqV"
- "cJKcVSC0gvoCY3q+NQvuePzw5dzd5JBfkoIsP5U6ATWAUPPqCP+/jRnFqDQlH626"
- "mhDGVS8W7Ee8z1KWqnKWGv5nkrZ6r3y9bVaNUmY7rytzuct1bI9YkX1kM66vgnU2"
- "xeMIjDe36/wTtBRVFPSPpE3KL9hxCg3KgPSeSmmIhmQxJ1M6xe00314/GX3lTDt5"
- "5UdMgmldl2LHV+0i1NPCgnuOEFVOiz2nHAnw2LNmvHEDDpPauz2Meeh9aaDeefIh"
- "2u/wg39WRPhU1mYvmxvYZqA/jwSctiEhuKEBBZSOHxeTjplH1THlIziVnYyVW4sP"
- "MiGUajXhTi47H219hx87+bldruOtirbDIslL9RGWqWAkMeGP+hUl1R2zvDukaqIK"
- "qIN81/A/EeMoI6/IHb1BpgY2rGs/I/QTb3VTKqQUYv09Hi+itPCdKqamSm8dZMKK"
- "aPA0fD9yskUMFPBhfj8BvXg=" "-----END OCSP RESPONSE-----";
+ "-----BEGIN OCSP RESPONSE-----"
+ "MIIGPQoBAKCCBjYwggYyBgkrBgEFBQcwAQEEggYjMIIGHzCBgqERMA8xDTALBgNV"
+ "BAMTBENBLTMYDzIwMTkwOTIwMjAwMjMxWjBcMFowRTAJBgUrDgMCGgUABBSy5lyO"
+ "boNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2Wi75"
+ "obBaUoAAGA8yMDE5MDkyMDIwMDIzMVowDQYJKoZIhvcNAQELBQADggGBAC80EWal"
+ "PkJ29i/sZsO49hRolZXCMb1bjI0yxwhoH2Hk8Z0L41N0WFRphPqrDr8Dm3uRMcdx"
+ "n3xre+bxM0WL44mUMxptdYUcAwfb1M2gSQVhRvhvIfiMQZlkMYle4RPdVQN9nxmC"
+ "WbZD0WJmXQuYpFWYDVQkcL6f5Tlex5a8M/v/ihFBecs3wfstD1Bu4mD7nA8O/tGa"
+ "u0JQXxHnIM7FBOm73HccoxE5in307WEJtK1yTiUjwjlvl05hdWIzdydRToB6dNLL"
+ "MtgoFkKIX4aF6fkv1We4zooFdzlQanGdompaSDRGgMEONMZsQdWAs6Nmk+98f6cR"
+ "V426fFq3i6MLctLbwB5cOvvKbf9+P14KMD+bzcglupWqgJhNAmQlWksjWgMjfcCV"
+ "w4xATkcHnbMLlQ6ikORcXdkAbbhx8O0jJG1MdiUxErPOkOmKz2Nq14OYVYZII0t/"
+ "tbzuVGrYtNde4OM2mt9KSOY9rqX1wgKWOUPQW/FzOQvlAaiIwSQtrha/JaCCBAIw"
+ "ggP+MIID+jCCAmKgAwIBAgIIVzGgXgSsTYwwDQYJKoZIhvcNAQELBQAwDzENMAsG"
+ "A1UEAxMEQ0EtMzAgFw0xNjA1MTAwODQ4MzBaGA85OTk5MTIzMTIzNTk1OVowDzEN"
+ "MAsGA1UEAxMEQ0EtMzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALbd"
+ "xniG+2wP/ONeZfvR7AJakVo5deFKIHVTiiBWwhg+HSjd4nfDa+vyTt/wIdldP1Pr"
+ "iD1Rigc8z68+RxPpGfAc197pKlKpO08I0L1RDKnjBWr4fGdCzE6uZ/ZsKVifoIZp"
+ "dC8M2IYpAIMajEtnH53XZ1hTEviXTsneuiCTtap73OeSkL71SrIMkgBmAX17gfX3"
+ "SxFjQUzOs6QMMOa3+8GW7RI+E/SyS1QkOO860dj9XYgOnTL20ibGcWF2XmTiQASI"
+ "+KmHvYJCNJF/8pvmyJRyBHGZO830aBY0+DcS2bLKcyMiWfOJw7WnpaO7zSEC5WFg"
+ "o4jdqroUBQdjQNCSSdrt1yYrAl1Sj2PMxYFX4H545Pr2sMpwC9AnPk9+uucT1Inj"
+ "9615qbuXgFwhkgpK5pnPjzKaHp7ESlJj4/dIPTmhlt5BV+CLh7tSLzVLrddGU+os"
+ "8JinT42radJ5V51Hn0C1CHIaFAuBCd5XRHXtrKb7WcnwCOxlcvux9h5/847F4wID"
+ "AQABo1gwVjAPBgNVHRMBAf8EBTADAQH/MBMGA1UdJQQMMAoGCCsGAQUFBwMJMA8G"
+ "A1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPmohhljtqQUE2B2DwGaNTbv8bSvMA0G"
+ "CSqGSIb3DQEBCwUAA4IBgQBhBi8dXQMtXH2oqcuHuEj9JkxraAsaJvc1WAoxbiqV"
+ "cJKcVSC0gvoCY3q+NQvuePzw5dzd5JBfkoIsP5U6ATWAUPPqCP+/jRnFqDQlH626"
+ "mhDGVS8W7Ee8z1KWqnKWGv5nkrZ6r3y9bVaNUmY7rytzuct1bI9YkX1kM66vgnU2"
+ "xeMIjDe36/wTtBRVFPSPpE3KL9hxCg3KgPSeSmmIhmQxJ1M6xe00314/GX3lTDt5"
+ "5UdMgmldl2LHV+0i1NPCgnuOEFVOiz2nHAnw2LNmvHEDDpPauz2Meeh9aaDeefIh"
+ "2u/wg39WRPhU1mYvmxvYZqA/jwSctiEhuKEBBZSOHxeTjplH1THlIziVnYyVW4sP"
+ "MiGUajXhTi47H219hx87+bldruOtirbDIslL9RGWqWAkMeGP+hUl1R2zvDukaqIK"
+ "qIN81/A/EeMoI6/IHb1BpgY2rGs/I/QTb3VTKqQUYv09Hi+itPCdKqamSm8dZMKK"
+ "aPA0fD9yskUMFPBhfj8BvXg="
+ "-----END OCSP RESPONSE-----";
static gnutls_datum_t ocsp_cli_ca3_good_pem = {
(void *)_ocsp_cli_ca3_good_pem, sizeof(_ocsp_cli_ca3_good_pem)
};
const char _ocsp_cli_ca3_bad_pem[] =
- "-----BEGIN OCSP RESPONSE-----"
- "MIIGTgoBAKCCBkcwggZDBgkrBgEFBQcwAQEEggY0MIIGMDCBk6ERMA8xDTALBgNV"
- "BAMTBENBLTMYDzIwMTkwOTIwMjAwMTIxWjBtMGswRTAJBgUrDgMCGgUABBSy5lyO"
- "boNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2Wi75"
- "obBaUqERGA8yMDE5MDUyMjEzNTEwMVoYDzIwMTkwOTIwMjAwMTIxWjANBgkqhkiG"
- "9w0BAQsFAAOCAYEAdCpwIfVu7z2CW3G7IzRSAMBLxu1e/trNdmlKPpx9ptKVWISr"
- "2Fbro6D73HE0/IoTkZXqmUNoEjK0Os3Z/FIlbRuDql0dLkK/KornsvFRD7SemW2z"
- "Z93GIX4JUBJQJW5iYjKBq9xn31IKEhjn9Zhtsfe7a9vK9mnW5oefeIiRLqfmcS09"
- "mclyvTI1aGPcfkSSdabywpKFFETwX1LBIyBhNL9cV07nf0xntOrv5xfLTjyM2uVt"
- "1A4F87xJJG2OX3YJXtf2yuXh1JTAMlUOOrICq1ejXos0AW7iJMzuOkBmXuGHjbBA"
- "1zcSHJF6eZK4iaasdKd4q+coI9x0IdtNohT0a++R4jwFyKlINMVxB8L3xL9l+Fxz"
- "+bNlJt3oZSYAx3CmcFMbScN3LmmHXrsKc6BhuHmgLEhpU9qnnDmUTaJdIWtTHIrq"
- "St+IjvU77wnBscIxQaY0p120rwbqFF9ZUWnbgzsxYqJJ8+qW6oESV5ezWF7bg2YI"
- "d6W38uy7ibW/10froIIEAjCCA/4wggP6MIICYqADAgECAghXMaBeBKxNjDANBgkq"
- "hkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0zMCAXDTE2MDUxMDA4NDgzMFoYDzk5"
- "OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRDQS0zMIIBojANBgkqhkiG9w0BAQEF"
- "AAOCAY8AMIIBigKCAYEAtt3GeIb7bA/8415l+9HsAlqRWjl14UogdVOKIFbCGD4d"
- "KN3id8Nr6/JO3/Ah2V0/U+uIPVGKBzzPrz5HE+kZ8BzX3ukqUqk7TwjQvVEMqeMF"
- "avh8Z0LMTq5n9mwpWJ+ghml0LwzYhikAgxqMS2cfnddnWFMS+JdOyd66IJO1qnvc"
- "55KQvvVKsgySAGYBfXuB9fdLEWNBTM6zpAww5rf7wZbtEj4T9LJLVCQ47zrR2P1d"
- "iA6dMvbSJsZxYXZeZOJABIj4qYe9gkI0kX/ym+bIlHIEcZk7zfRoFjT4NxLZsspz"
- "IyJZ84nDtaelo7vNIQLlYWCjiN2quhQFB2NA0JJJ2u3XJisCXVKPY8zFgVfgfnjk"
- "+vawynAL0Cc+T3665xPUieP3rXmpu5eAXCGSCkrmmc+PMpoensRKUmPj90g9OaGW"
- "3kFX4IuHu1IvNUut10ZT6izwmKdPjatp0nlXnUefQLUIchoUC4EJ3ldEde2spvtZ"
- "yfAI7GVy+7H2Hn/zjsXjAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0l"
- "BAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU+aiGGWO2"
- "pBQTYHYPAZo1Nu/xtK8wDQYJKoZIhvcNAQELBQADggGBAGEGLx1dAy1cfaipy4e4"
- "SP0mTGtoCxom9zVYCjFuKpVwkpxVILSC+gJjer41C+54/PDl3N3kkF+Sgiw/lToB"
- "NYBQ8+oI/7+NGcWoNCUfrbqaEMZVLxbsR7zPUpaqcpYa/meStnqvfL1tVo1SZjuv"
- "K3O5y3Vsj1iRfWQzrq+CdTbF4wiMN7fr/BO0FFUU9I+kTcov2HEKDcqA9J5KaYiG"
- "ZDEnUzrF7TTfXj8ZfeVMO3nlR0yCaV2XYsdX7SLU08KCe44QVU6LPaccCfDYs2a8"
- "cQMOk9q7PYx56H1poN558iHa7/CDf1ZE+FTWZi+bG9hmoD+PBJy2ISG4oQEFlI4f"
- "F5OOmUfVMeUjOJWdjJVbiw8yIZRqNeFOLjsfbX2HHzv5uV2u462KtsMiyUv1EZap"
- "YCQx4Y/6FSXVHbO8O6Rqogqog3zX8D8R4ygjr8gdvUGmBjasaz8j9BNvdVMqpBRi"
- "/T0eL6K08J0qpqZKbx1kwopo8DR8P3KyRQwU8GF+PwG9eA=="
- "-----END OCSP RESPONSE-----";
+ "-----BEGIN OCSP RESPONSE-----"
+ "MIIGTgoBAKCCBkcwggZDBgkrBgEFBQcwAQEEggY0MIIGMDCBk6ERMA8xDTALBgNV"
+ "BAMTBENBLTMYDzIwMTkwOTIwMjAwMTIxWjBtMGswRTAJBgUrDgMCGgUABBSy5lyO"
+ "boNLvRHZl/o2k1merVwVxAQUnpHsjKokWyLg6BHo6aSRtZEmAPECDFejHTI2Wi75"
+ "obBaUqERGA8yMDE5MDUyMjEzNTEwMVoYDzIwMTkwOTIwMjAwMTIxWjANBgkqhkiG"
+ "9w0BAQsFAAOCAYEAdCpwIfVu7z2CW3G7IzRSAMBLxu1e/trNdmlKPpx9ptKVWISr"
+ "2Fbro6D73HE0/IoTkZXqmUNoEjK0Os3Z/FIlbRuDql0dLkK/KornsvFRD7SemW2z"
+ "Z93GIX4JUBJQJW5iYjKBq9xn31IKEhjn9Zhtsfe7a9vK9mnW5oefeIiRLqfmcS09"
+ "mclyvTI1aGPcfkSSdabywpKFFETwX1LBIyBhNL9cV07nf0xntOrv5xfLTjyM2uVt"
+ "1A4F87xJJG2OX3YJXtf2yuXh1JTAMlUOOrICq1ejXos0AW7iJMzuOkBmXuGHjbBA"
+ "1zcSHJF6eZK4iaasdKd4q+coI9x0IdtNohT0a++R4jwFyKlINMVxB8L3xL9l+Fxz"
+ "+bNlJt3oZSYAx3CmcFMbScN3LmmHXrsKc6BhuHmgLEhpU9qnnDmUTaJdIWtTHIrq"
+ "St+IjvU77wnBscIxQaY0p120rwbqFF9ZUWnbgzsxYqJJ8+qW6oESV5ezWF7bg2YI"
+ "d6W38uy7ibW/10froIIEAjCCA/4wggP6MIICYqADAgECAghXMaBeBKxNjDANBgkq"
+ "hkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0zMCAXDTE2MDUxMDA4NDgzMFoYDzk5"
+ "OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRDQS0zMIIBojANBgkqhkiG9w0BAQEF"
+ "AAOCAY8AMIIBigKCAYEAtt3GeIb7bA/8415l+9HsAlqRWjl14UogdVOKIFbCGD4d"
+ "KN3id8Nr6/JO3/Ah2V0/U+uIPVGKBzzPrz5HE+kZ8BzX3ukqUqk7TwjQvVEMqeMF"
+ "avh8Z0LMTq5n9mwpWJ+ghml0LwzYhikAgxqMS2cfnddnWFMS+JdOyd66IJO1qnvc"
+ "55KQvvVKsgySAGYBfXuB9fdLEWNBTM6zpAww5rf7wZbtEj4T9LJLVCQ47zrR2P1d"
+ "iA6dMvbSJsZxYXZeZOJABIj4qYe9gkI0kX/ym+bIlHIEcZk7zfRoFjT4NxLZsspz"
+ "IyJZ84nDtaelo7vNIQLlYWCjiN2quhQFB2NA0JJJ2u3XJisCXVKPY8zFgVfgfnjk"
+ "+vawynAL0Cc+T3665xPUieP3rXmpu5eAXCGSCkrmmc+PMpoensRKUmPj90g9OaGW"
+ "3kFX4IuHu1IvNUut10ZT6izwmKdPjatp0nlXnUefQLUIchoUC4EJ3ldEde2spvtZ"
+ "yfAI7GVy+7H2Hn/zjsXjAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0l"
+ "BAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU+aiGGWO2"
+ "pBQTYHYPAZo1Nu/xtK8wDQYJKoZIhvcNAQELBQADggGBAGEGLx1dAy1cfaipy4e4"
+ "SP0mTGtoCxom9zVYCjFuKpVwkpxVILSC+gJjer41C+54/PDl3N3kkF+Sgiw/lToB"
+ "NYBQ8+oI/7+NGcWoNCUfrbqaEMZVLxbsR7zPUpaqcpYa/meStnqvfL1tVo1SZjuv"
+ "K3O5y3Vsj1iRfWQzrq+CdTbF4wiMN7fr/BO0FFUU9I+kTcov2HEKDcqA9J5KaYiG"
+ "ZDEnUzrF7TTfXj8ZfeVMO3nlR0yCaV2XYsdX7SLU08KCe44QVU6LPaccCfDYs2a8"
+ "cQMOk9q7PYx56H1poN558iHa7/CDf1ZE+FTWZi+bG9hmoD+PBJy2ISG4oQEFlI4f"
+ "F5OOmUfVMeUjOJWdjJVbiw8yIZRqNeFOLjsfbX2HHzv5uV2u462KtsMiyUv1EZap"
+ "YCQx4Y/6FSXVHbO8O6Rqogqog3zX8D8R4ygjr8gdvUGmBjasaz8j9BNvdVMqpBRi"
+ "/T0eL6K08J0qpqZKbx1kwopo8DR8P3KyRQwU8GF+PwG9eA=="
+ "-----END OCSP RESPONSE-----";
-static gnutls_datum_t ocsp_cli_ca3_bad_pem = {
- (void *)_ocsp_cli_ca3_bad_pem, sizeof(_ocsp_cli_ca3_bad_pem)
-};
+static gnutls_datum_t ocsp_cli_ca3_bad_pem = { (void *)_ocsp_cli_ca3_bad_pem,
+ sizeof(_ocsp_cli_ca3_bad_pem) };
-# if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic pop
-# endif
+#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+#pragma GCC diagnostic pop
+#endif
-#endif /* GNUTLS_TESTS_OCSP_COMMON_H */
+#endif /* GNUTLS_TESTS_OCSP_COMMON_H */
diff --git a/tests/ocsp-filename-memleak.c b/tests/ocsp-filename-memleak.c
index decc5b4b55..2c51c522ca 100644
--- a/tests/ocsp-filename-memleak.c
+++ b/tests/ocsp-filename-memleak.c
@@ -24,7 +24,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -49,10 +49,10 @@ void doit(void)
gnutls_certificate_allocate_credentials(&x509_cred);
/* The file does not need to exist for this test
*/
- gnutls_certificate_set_ocsp_status_request_file
- (x509_cred, "ocsp-status.der", 0);
- gnutls_certificate_set_ocsp_status_request_file
- (x509_cred, "ocsp-status.der", 0);
+ gnutls_certificate_set_ocsp_status_request_file(x509_cred,
+ "ocsp-status.der", 0);
+ gnutls_certificate_set_ocsp_status_request_file(x509_cred,
+ "ocsp-status.der", 0);
gnutls_certificate_free_credentials(x509_cred);
}
diff --git a/tests/ocsp.c b/tests/ocsp.c
index 14c5b846f5..20be4cc6cb 100644
--- a/tests/ocsp.c
+++ b/tests/ocsp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -38,9 +38,8 @@
static time_t _then = 1332548220;
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
-
if (t)
*t = _then;
@@ -54,434 +53,442 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-#define REQ1 "\x30\x67\x30\x65\x30\x3e\x30\x3c\x30\x3a\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\x13\x9d\xa0\x9e\xf4\x32\xab\x8f\xe2\x89\x56\x67\xfa\xd0\xd4\xe3\x35\x86\x71\xb9\x04\x14\x5d\xa7\xdd\x70\x06\x51\x32\x7e\xe7\xb6\x6d\xb3\xb5\xe5\xe0\x60\xea\x2e\x4d\xef\x02\x01\x1d\xa2\x23\x30\x21\x30\x1f\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x35\xc5\xe3\x50\xc3\xcf\x04\x33\xcc\x9e\x06\x3a\x9a\x18\x80\xcc"
+#define REQ1 \
+ "\x30\x67\x30\x65\x30\x3e\x30\x3c\x30\x3a\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\x13\x9d\xa0\x9e\xf4\x32\xab\x8f\xe2\x89\x56\x67\xfa\xd0\xd4\xe3\x35\x86\x71\xb9\x04\x14\x5d\xa7\xdd\x70\x06\x51\x32\x7e\xe7\xb6\x6d\xb3\xb5\xe5\xe0\x60\xea\x2e\x4d\xef\x02\x01\x1d\xa2\x23\x30\x21\x30\x1f\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x35\xc5\xe3\x50\xc3\xcf\x04\x33\xcc\x9e\x06\x3a\x9a\x18\x80\xcc"
static const gnutls_datum_t req1 = { (unsigned char *)REQ1, sizeof(REQ1) - 1 };
-#define REQ1INFO \
- "OCSP Request Information:\n" \
- " Version: 1\n" \
- " Request List:\n" \
- " Certificate ID:\n" \
- " Hash Algorithm: SHA1\n" \
- " Issuer Name Hash: 139da09ef432ab8fe2895667fad0d4e3358671b9\n" \
- " Issuer Key Hash: 5da7dd700651327ee7b66db3b5e5e060ea2e4def\n" \
- " Serial Number: 1d\n" \
- " Extensions:\n" \
- " Nonce: 35c5e350c3cf0433cc9e063a9a1880cc\n"
-
-#define REQ1NONCE "\x04\x10\x35\xc5\xe3\x50\xc3\xcf\x04\x33\xcc\x9e\x06\x3a\x9a\x18\x80\xcc"
-
-#define REQ1INH "\x13\x9d\xa0\x9e\xf4\x32\xab\x8f\xe2\x89\x56\x67\xfa\xd0\xd4\xe3\x35\x86\x71\xb9"
-#define REQ1IKH "\x5d\xa7\xdd\x70\x06\x51\x32\x7e\xe7\xb6\x6d\xb3\xb5\xe5\xe0\x60\xea\x2e\x4d\xef"
+#define REQ1INFO \
+ "OCSP Request Information:\n" \
+ " Version: 1\n" \
+ " Request List:\n" \
+ " Certificate ID:\n" \
+ " Hash Algorithm: SHA1\n" \
+ " Issuer Name Hash: 139da09ef432ab8fe2895667fad0d4e3358671b9\n" \
+ " Issuer Key Hash: 5da7dd700651327ee7b66db3b5e5e060ea2e4def\n" \
+ " Serial Number: 1d\n" \
+ " Extensions:\n" \
+ " Nonce: 35c5e350c3cf0433cc9e063a9a1880cc\n"
+
+#define REQ1NONCE \
+ "\x04\x10\x35\xc5\xe3\x50\xc3\xcf\x04\x33\xcc\x9e\x06\x3a\x9a\x18\x80\xcc"
+
+#define REQ1INH \
+ "\x13\x9d\xa0\x9e\xf4\x32\xab\x8f\xe2\x89\x56\x67\xfa\xd0\xd4\xe3\x35\x86\x71\xb9"
+#define REQ1IKH \
+ "\x5d\xa7\xdd\x70\x06\x51\x32\x7e\xe7\xb6\x6d\xb3\xb5\xe5\xe0\x60\xea\x2e\x4d\xef"
#define REQ1SN "\x1d"
/* sample response */
#define RESP1 "\x30\x03\x0a\x01\x01"
-static const gnutls_datum_t resp1 =
- { (unsigned char *)RESP1, sizeof(RESP1) - 1 };
-
-#define RESP1INFO \
- "OCSP Response Information:\n" \
- " Response Status: malformedRequest\n"
-
-#define RESP2 "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-
-#define RESP2INFO \
- "OCSP Response Information:\n" \
- " Response Status: Successful\n" \
- " Response Type: Basic OCSP Response\n" \
- " Version: 1\n" \
- " Responder ID: CN=ocsp.strongswan.org,OU=OCSP Signing Authority,O=Linux strongSwan,C=CH\n" \
- " Produced At: Tue Sep 27 09:54:28 UTC 2011\n" \
- " Responses:\n" \
- " Certificate ID:\n" \
- " Hash Algorithm: SHA1\n" \
- " Issuer Name Hash: 139da09ef432ab8fe2895667fad0d4e3358671b9\n" \
- " Issuer Key Hash: 5da7dd700651327ee7b66db3b5e5e060ea2e4def\n" \
- " Serial Number: 1d\n" \
- " Certificate Status: good\n" \
- " This Update: Tue Sep 27 09:54:28 UTC 2011\n" \
- " Next Update: Tue Sep 27 09:59:28 UTC 2011\n" \
- " Extensions:\n" \
- " Nonce: 16897d913ab525a445fec9fdc2e508a4\n" \
- " Signature Algorithm: RSA-SHA1\n" \
- " Signature:\n" \
- " 4e:ad:6b:2b:f7:f2:bf:a9:23:1e:3a:0b:06:db:55:53\n" \
- " 2b:64:54:11:32:bf:60:f7:4f:e0:8e:9b:a0:a2:4c:79\n" \
- " c3:2a:e0:43:f7:40:1a:dc:b9:b4:25:ef:48:01:97:8c\n" \
- " f5:1e:db:d1:30:37:73:69:d6:a7:7a:2d:8e:de:5c:aa\n" \
- " ea:39:b9:52:aa:25:1e:74:7d:f9:78:95:8a:92:1f:98\n" \
- " 21:f4:60:7f:d3:28:ee:47:9c:bf:e2:5d:f6:3f:68:0a\n" \
- " d6:ff:08:c1:dc:95:1e:29:d7:3e:85:d5:65:a4:4b:c0\n" \
- " af:c3:78:ab:06:98:88:19:8a:64:a6:83:91:87:13:db\n" \
- " 17:cc:46:bd:ab:4e:c7:16:d1:f8:35:fd:27:c8:f6:6b\n" \
- " eb:37:b8:08:6f:e2:6f:b4:7e:d5:68:db:7f:5d:5e:36\n" \
- " 38:f2:77:59:13:e7:3e:4d:67:5f:db:a2:f5:5d:7c:bf\n" \
- " bd:b5:37:33:51:36:63:f8:21:1e:fc:73:8f:32:69:bb\n" \
- " 97:a7:bd:f1:b6:e0:40:09:68:ea:d5:93:b8:bb:39:8d\n" \
- " a8:16:1b:bf:04:7a:bc:18:43:01:e9:3c:19:5c:4d:4b\n" \
- " 98:d8:23:37:39:a4:c4:dd:ed:9c:ec:37:ab:66:44:9b\n" \
- " e7:5b:5d:32:a2:db:a6:0b:3b:8c:e1:f5:db:cb:7d:58\n"
- /* cut */
-
-static const gnutls_datum_t resp2 =
- { (unsigned char *)RESP2, sizeof(RESP2) - 1 };
-
-#define RESP3 "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
-
-#define RESP3INFO "OCSP Response Information:\n" \
-" Response Status: Successful\n" \
-" Response Type: Basic OCSP Response\n" \
-" Version: 1\n" \
-" Responder Key ID: 50ea7389db29fb108f9ee50120d4de79994883f7\n" \
-" Produced At: Thu Sep 04 05:49:00 UTC 2014\n" \
-" Responses:\n" \
-" Certificate ID:\n" \
-" Hash Algorithm: SHA1\n" \
-" Issuer Name Hash: ed48adddcb7b00e20e842aa9b409f1ac3034cf96\n" \
-" Issuer Key Hash: 50ea7389db29fb108f9ee50120d4de79994883f7\n" \
-" Serial Number: 020148915dfd5eb6e00290a967b0e464\n" \
-" Certificate Status: good\n" \
-" This Update: Thu Sep 04 05:49:00 UTC 2014\n" \
-" Next Update: Thu Sep 11 06:04:00 UTC 2014\n" \
-" Extensions:\n" \
-" Signature Algorithm: RSA-SHA1\n" \
-" Signature:\n" \
-" 6e:5e:5e:81:ff:3f:4d:c7:53:c7:1b:f3:d3:1d:dc:9a\n" \
-" c7:ce:77:2c:67:56:13:98:91:02:01:76:dc:48:b2:1f\n" \
-" 9b:17:ea:bf:2c:0a:f5:1d:98:90:3c:5f:55:c2:ff:4b\n" \
-" 9a:bc:a6:83:9e:ab:2b:eb:9d:01:ea:3b:5f:be:03:29\n" \
-" 70:63:2a:a4:1d:a8:ab:69:b2:64:ba:5d:73:91:5c:92\n" \
-" f3:69:d4:c9:39:9c:7c:7d:a2:47:92:c2:56:fe:a1:0d\n" \
-" 4a:69:ff:da:48:c5:5e:d8:ab:39:88:6a:06:fa:07:57\n" \
-" d6:48:b5:ce:c9:5f:a5:96:fe:37:18:5e:7f:35:51:c1\n" \
-" 9e:79:5a:26:ba:67:67:38:2a:80:75:42:99:68:3e:ec\n" \
-" 2f:7e:2d:a1:a6:be:9f:01:51:22:88:3a:c9:9c:ed:51\n" \
-" ef:21:66:7e:a9:d0:3f:13:9c:bb:d2:94:14:6f:4b:d9\n" \
-" c4:f5:2c:f5:7d:07:68:f3:51:ac:da:c2:09:66:a9:3d\n" \
-" ed:ad:02:4d:9c:11:29:1a:54:fb:1e:7e:36:f4:bb:0d\n" \
-" 08:8c:6a:42:08:10:29:08:7c:56:0b:18:47:ff:87:11\n" \
-" fd:b2:fb:c9:22:7f:e3:1f:7b:f9:98:aa:3a:32:b6:2f\n" \
-" 02:ba:b6:c1:dc:c3:5d:b5:4b:ae:5d:29:6a:31:de:cd\n"
-
-static const gnutls_datum_t resp3 =
- { (unsigned char *)RESP3, sizeof(RESP3) - 1 };
+static const gnutls_datum_t resp1 = { (unsigned char *)RESP1,
+ sizeof(RESP1) - 1 };
+
+#define RESP1INFO \
+ "OCSP Response Information:\n" \
+ " Response Status: malformedRequest\n"
+
+#define RESP2 \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+
+#define RESP2INFO \
+ "OCSP Response Information:\n" \
+ " Response Status: Successful\n" \
+ " Response Type: Basic OCSP Response\n" \
+ " Version: 1\n" \
+ " Responder ID: CN=ocsp.strongswan.org,OU=OCSP Signing Authority,O=Linux strongSwan,C=CH\n" \
+ " Produced At: Tue Sep 27 09:54:28 UTC 2011\n" \
+ " Responses:\n" \
+ " Certificate ID:\n" \
+ " Hash Algorithm: SHA1\n" \
+ " Issuer Name Hash: 139da09ef432ab8fe2895667fad0d4e3358671b9\n" \
+ " Issuer Key Hash: 5da7dd700651327ee7b66db3b5e5e060ea2e4def\n" \
+ " Serial Number: 1d\n" \
+ " Certificate Status: good\n" \
+ " This Update: Tue Sep 27 09:54:28 UTC 2011\n" \
+ " Next Update: Tue Sep 27 09:59:28 UTC 2011\n" \
+ " Extensions:\n" \
+ " Nonce: 16897d913ab525a445fec9fdc2e508a4\n" \
+ " Signature Algorithm: RSA-SHA1\n" \
+ " Signature:\n" \
+ " 4e:ad:6b:2b:f7:f2:bf:a9:23:1e:3a:0b:06:db:55:53\n" \
+ " 2b:64:54:11:32:bf:60:f7:4f:e0:8e:9b:a0:a2:4c:79\n" \
+ " c3:2a:e0:43:f7:40:1a:dc:b9:b4:25:ef:48:01:97:8c\n" \
+ " f5:1e:db:d1:30:37:73:69:d6:a7:7a:2d:8e:de:5c:aa\n" \
+ " ea:39:b9:52:aa:25:1e:74:7d:f9:78:95:8a:92:1f:98\n" \
+ " 21:f4:60:7f:d3:28:ee:47:9c:bf:e2:5d:f6:3f:68:0a\n" \
+ " d6:ff:08:c1:dc:95:1e:29:d7:3e:85:d5:65:a4:4b:c0\n" \
+ " af:c3:78:ab:06:98:88:19:8a:64:a6:83:91:87:13:db\n" \
+ " 17:cc:46:bd:ab:4e:c7:16:d1:f8:35:fd:27:c8:f6:6b\n" \
+ " eb:37:b8:08:6f:e2:6f:b4:7e:d5:68:db:7f:5d:5e:36\n" \
+ " 38:f2:77:59:13:e7:3e:4d:67:5f:db:a2:f5:5d:7c:bf\n" \
+ " bd:b5:37:33:51:36:63:f8:21:1e:fc:73:8f:32:69:bb\n" \
+ " 97:a7:bd:f1:b6:e0:40:09:68:ea:d5:93:b8:bb:39:8d\n" \
+ " a8:16:1b:bf:04:7a:bc:18:43:01:e9:3c:19:5c:4d:4b\n" \
+ " 98:d8:23:37:39:a4:c4:dd:ed:9c:ec:37:ab:66:44:9b\n" \
+ " e7:5b:5d:32:a2:db:a6:0b:3b:8c:e1:f5:db:cb:7d:58\n"
+/* cut */
+
+static const gnutls_datum_t resp2 = { (unsigned char *)RESP2,
+ sizeof(RESP2) - 1 };
+
+#define RESP3 \
+ "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
+
+#define RESP3INFO \
+ "OCSP Response Information:\n" \
+ " Response Status: Successful\n" \
+ " Response Type: Basic OCSP Response\n" \
+ " Version: 1\n" \
+ " Responder Key ID: 50ea7389db29fb108f9ee50120d4de79994883f7\n" \
+ " Produced At: Thu Sep 04 05:49:00 UTC 2014\n" \
+ " Responses:\n" \
+ " Certificate ID:\n" \
+ " Hash Algorithm: SHA1\n" \
+ " Issuer Name Hash: ed48adddcb7b00e20e842aa9b409f1ac3034cf96\n" \
+ " Issuer Key Hash: 50ea7389db29fb108f9ee50120d4de79994883f7\n" \
+ " Serial Number: 020148915dfd5eb6e00290a967b0e464\n" \
+ " Certificate Status: good\n" \
+ " This Update: Thu Sep 04 05:49:00 UTC 2014\n" \
+ " Next Update: Thu Sep 11 06:04:00 UTC 2014\n" \
+ " Extensions:\n" \
+ " Signature Algorithm: RSA-SHA1\n" \
+ " Signature:\n" \
+ " 6e:5e:5e:81:ff:3f:4d:c7:53:c7:1b:f3:d3:1d:dc:9a\n" \
+ " c7:ce:77:2c:67:56:13:98:91:02:01:76:dc:48:b2:1f\n" \
+ " 9b:17:ea:bf:2c:0a:f5:1d:98:90:3c:5f:55:c2:ff:4b\n" \
+ " 9a:bc:a6:83:9e:ab:2b:eb:9d:01:ea:3b:5f:be:03:29\n" \
+ " 70:63:2a:a4:1d:a8:ab:69:b2:64:ba:5d:73:91:5c:92\n" \
+ " f3:69:d4:c9:39:9c:7c:7d:a2:47:92:c2:56:fe:a1:0d\n" \
+ " 4a:69:ff:da:48:c5:5e:d8:ab:39:88:6a:06:fa:07:57\n" \
+ " d6:48:b5:ce:c9:5f:a5:96:fe:37:18:5e:7f:35:51:c1\n" \
+ " 9e:79:5a:26:ba:67:67:38:2a:80:75:42:99:68:3e:ec\n" \
+ " 2f:7e:2d:a1:a6:be:9f:01:51:22:88:3a:c9:9c:ed:51\n" \
+ " ef:21:66:7e:a9:d0:3f:13:9c:bb:d2:94:14:6f:4b:d9\n" \
+ " c4:f5:2c:f5:7d:07:68:f3:51:ac:da:c2:09:66:a9:3d\n" \
+ " ed:ad:02:4d:9c:11:29:1a:54:fb:1e:7e:36:f4:bb:0d\n" \
+ " 08:8c:6a:42:08:10:29:08:7c:56:0b:18:47:ff:87:11\n" \
+ " fd:b2:fb:c9:22:7f:e3:1f:7b:f9:98:aa:3a:32:b6:2f\n" \
+ " 02:ba:b6:c1:dc:c3:5d:b5:4b:ae:5d:29:6a:31:de:cd\n"
+
+static const gnutls_datum_t resp3 = { (unsigned char *)RESP3,
+ sizeof(RESP3) - 1 };
static unsigned char issuer_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDuDCCAqCgAwIBAgIBADANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ\n"
- "MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS\n"
- "b290IENBMB4XDTA0MDkxMDEwMDExOFoXDTE5MDkwNzEwMDExOFowRTELMAkGA1UE\n"
- "BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMTEnN0cm9u\n"
- "Z1N3YW4gUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/y\n"
- "X2LqPVZuWLPIeknK86xhz6ljd3NNhC2z+P1uoCP3sBMuZiZQEjFzhnKcbXxCeo2f\n"
- "FnvhOOjrrisSuVkzuu82oxXD3fIkzuS7m9V4E10EZzgmKWIf+WuNRfbgAuUINmLc\n"
- "4YGAXBQLPyzpP4Ou48hhz/YQo58Bics6PHy5v34qCVROIXDvqhj91P8g+pS+F21/\n"
- "7P+CH2jRcVIEHZtG8M/PweTPQ95dPzpYd2Ov6SZ/U7EWmbMmT8VcUYn1aChxFmy5\n"
- "gweVBWlkH6MP+1DeE0/tL5c87xo5KCeGK8Tdqpe7sBRC4pPEEHDQciTUvkeuJ1Pr\n"
- "K+1LwdqRxo7HgMRiDw8CAwEAAaOBsjCBrzASBgNVHRMBAf8ECDAGAQH/AgEBMAsG\n"
- "A1UdDwQEAwIBBjAdBgNVHQ4EFgQUXafdcAZRMn7ntm2zteXgYOouTe8wbQYDVR0j\n"
- "BGYwZIAUXafdcAZRMn7ntm2zteXgYOouTe+hSaRHMEUxCzAJBgNVBAYTAkNIMRkw\n"
- "FwYDVQQKExBMaW51eCBzdHJvbmdTd2FuMRswGQYDVQQDExJzdHJvbmdTd2FuIFJv\n"
- "b3QgQ0GCAQAwDQYJKoZIhvcNAQELBQADggEBACOSmqEBtBLR9aV3UyCI8gmzR5in\n"
- "Lte9aUXXS+qis6F2h2Stf4sN+Nl6Gj7REC6SpfEH4wWdwiUL5J0CJhyoOjQuDl3n\n"
- "1Dw3dE4/zqMZdyDKEYTU75TmvusNJBdGsLkrf7EATAjoi/nrTOYPPhSUZvPp/D+Y\n"
- "vORJ9Ej51GXlK1nwEB5iA8+tDYniNQn6BD1MEgIejzK+fbiy7braZB1kqhoEr2Si\n"
- "7luBSnU912sw494E88a2EWbmMvg2TVHPNzCpVkpNk7kifCiwmw9VldkqYy9y/lCa\n"
- "Epyp7lTfKw7cbD04Vk8QJW782L6Csuxkl346b17wmOqn8AZips3tFsuAY3w=\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDuDCCAqCgAwIBAgIBADANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ\n"
+ "MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS\n"
+ "b290IENBMB4XDTA0MDkxMDEwMDExOFoXDTE5MDkwNzEwMDExOFowRTELMAkGA1UE\n"
+ "BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMTEnN0cm9u\n"
+ "Z1N3YW4gUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/y\n"
+ "X2LqPVZuWLPIeknK86xhz6ljd3NNhC2z+P1uoCP3sBMuZiZQEjFzhnKcbXxCeo2f\n"
+ "FnvhOOjrrisSuVkzuu82oxXD3fIkzuS7m9V4E10EZzgmKWIf+WuNRfbgAuUINmLc\n"
+ "4YGAXBQLPyzpP4Ou48hhz/YQo58Bics6PHy5v34qCVROIXDvqhj91P8g+pS+F21/\n"
+ "7P+CH2jRcVIEHZtG8M/PweTPQ95dPzpYd2Ov6SZ/U7EWmbMmT8VcUYn1aChxFmy5\n"
+ "gweVBWlkH6MP+1DeE0/tL5c87xo5KCeGK8Tdqpe7sBRC4pPEEHDQciTUvkeuJ1Pr\n"
+ "K+1LwdqRxo7HgMRiDw8CAwEAAaOBsjCBrzASBgNVHRMBAf8ECDAGAQH/AgEBMAsG\n"
+ "A1UdDwQEAwIBBjAdBgNVHQ4EFgQUXafdcAZRMn7ntm2zteXgYOouTe8wbQYDVR0j\n"
+ "BGYwZIAUXafdcAZRMn7ntm2zteXgYOouTe+hSaRHMEUxCzAJBgNVBAYTAkNIMRkw\n"
+ "FwYDVQQKExBMaW51eCBzdHJvbmdTd2FuMRswGQYDVQQDExJzdHJvbmdTd2FuIFJv\n"
+ "b3QgQ0GCAQAwDQYJKoZIhvcNAQELBQADggEBACOSmqEBtBLR9aV3UyCI8gmzR5in\n"
+ "Lte9aUXXS+qis6F2h2Stf4sN+Nl6Gj7REC6SpfEH4wWdwiUL5J0CJhyoOjQuDl3n\n"
+ "1Dw3dE4/zqMZdyDKEYTU75TmvusNJBdGsLkrf7EATAjoi/nrTOYPPhSUZvPp/D+Y\n"
+ "vORJ9Ej51GXlK1nwEB5iA8+tDYniNQn6BD1MEgIejzK+fbiy7braZB1kqhoEr2Si\n"
+ "7luBSnU912sw494E88a2EWbmMvg2TVHPNzCpVkpNk7kifCiwmw9VldkqYy9y/lCa\n"
+ "Epyp7lTfKw7cbD04Vk8QJW782L6Csuxkl346b17wmOqn8AZips3tFsuAY3w=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t issuer_data = { issuer_pem, sizeof(issuer_pem) };
static unsigned char subject_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEIjCCAwqgAwIBAgIBHTANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ\n"
- "MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS\n"
- "b290IENBMB4XDTA5MDgyNzEwNDQ1MVoXDTE0MDgyNjEwNDQ1MVowWjELMAkGA1UE\n"
- "BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xETAPBgNVBAsTCFJlc2Vh\n"
- "cmNoMR0wGwYDVQQDFBRjYXJvbEBzdHJvbmdzd2FuLm9yZzCCASIwDQYJKoZIhvcN\n"
- "AQEBBQADggEPADCCAQoCggEBANBdWU+BF7x4lyo+xHnr4UAOU89yQQuT5vdPoXzx\n"
- "6kRPsjYAuuktgXR+SaLkQHw/YRgDPSKj5nzmmlOQf/rWRr+8O2q+C92aUICmkNvZ\n"
- "Gamo5w2WlOMZ6T5dk2Hv+QM6xT/GzWyVr1dMYu/7tywD1Bw7aW/HqkRESDu6q95V\n"
- "Wu+Lzg6XlxCNEez0YsZrN/fC6BL2qzKAqMBbIHFW8OOnh+nEY4IF5AzkZnFrw12G\n"
- "I72Z882pw97lyKwZhSz/GMQFBJx+rnNdw5P1IJwTlG5PUdoDCte/Mcr1iiA+zOov\n"
- "x55x1GoGxduoXWU5egrf1MtalRf9Pc8Xr4q3WEKTAmsZrVECAwEAAaOCAQYwggEC\n"
- "MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgOoMB0GA1UdDgQWBBQfoamI2WSMtaCiVGQ5\n"
- "tPI9dF1ufDBtBgNVHSMEZjBkgBRdp91wBlEyfue2bbO15eBg6i5N76FJpEcwRTEL\n"
- "MAkGA1UEBhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMT\n"
- "EnN0cm9uZ1N3YW4gUm9vdCBDQYIBADAfBgNVHREEGDAWgRRjYXJvbEBzdHJvbmdz\n"
- "d2FuLm9yZzA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLnN0cm9uZ3N3YW4u\n"
- "b3JnL3N0cm9uZ3N3YW4uY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQC8pqX3KrSzKeul\n"
- "GdzydAV4hGwYB3WiB02oJ2nh5MJBu7J0Kn4IVkvLUHSSZhSRxx55tQZfdYqtXVS7\n"
- "ZuyG+6rV7sb595SIRwfkLAdjbvv0yZIl4xx8j50K3yMR+9aXW1NSGPEkb8BjBUMr\n"
- "F2kjGTOqomo8OIzyI369z9kJrtEhnS37nHcdpewZC1wHcWfJ6wd9wxmz2dVXmgVQ\n"
- "L2BjXd/BcpLFaIC4h7jMXQ5FURjnU7K9xSa4T8PpR6FrQhOcIYBXAp94GiM8JqmK\n"
- "ZBGUpeP+3cy4i3DV18Kyr64Q4XZlzhZClNE43sgMqiX88dc3znpDzT7T51j+d+9k\n"
- "Rf5Z0GOR\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEIjCCAwqgAwIBAgIBHTANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJDSDEZ\n"
+ "MBcGA1UEChMQTGludXggc3Ryb25nU3dhbjEbMBkGA1UEAxMSc3Ryb25nU3dhbiBS\n"
+ "b290IENBMB4XDTA5MDgyNzEwNDQ1MVoXDTE0MDgyNjEwNDQ1MVowWjELMAkGA1UE\n"
+ "BhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xETAPBgNVBAsTCFJlc2Vh\n"
+ "cmNoMR0wGwYDVQQDFBRjYXJvbEBzdHJvbmdzd2FuLm9yZzCCASIwDQYJKoZIhvcN\n"
+ "AQEBBQADggEPADCCAQoCggEBANBdWU+BF7x4lyo+xHnr4UAOU89yQQuT5vdPoXzx\n"
+ "6kRPsjYAuuktgXR+SaLkQHw/YRgDPSKj5nzmmlOQf/rWRr+8O2q+C92aUICmkNvZ\n"
+ "Gamo5w2WlOMZ6T5dk2Hv+QM6xT/GzWyVr1dMYu/7tywD1Bw7aW/HqkRESDu6q95V\n"
+ "Wu+Lzg6XlxCNEez0YsZrN/fC6BL2qzKAqMBbIHFW8OOnh+nEY4IF5AzkZnFrw12G\n"
+ "I72Z882pw97lyKwZhSz/GMQFBJx+rnNdw5P1IJwTlG5PUdoDCte/Mcr1iiA+zOov\n"
+ "x55x1GoGxduoXWU5egrf1MtalRf9Pc8Xr4q3WEKTAmsZrVECAwEAAaOCAQYwggEC\n"
+ "MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgOoMB0GA1UdDgQWBBQfoamI2WSMtaCiVGQ5\n"
+ "tPI9dF1ufDBtBgNVHSMEZjBkgBRdp91wBlEyfue2bbO15eBg6i5N76FJpEcwRTEL\n"
+ "MAkGA1UEBhMCQ0gxGTAXBgNVBAoTEExpbnV4IHN0cm9uZ1N3YW4xGzAZBgNVBAMT\n"
+ "EnN0cm9uZ1N3YW4gUm9vdCBDQYIBADAfBgNVHREEGDAWgRRjYXJvbEBzdHJvbmdz\n"
+ "d2FuLm9yZzA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLnN0cm9uZ3N3YW4u\n"
+ "b3JnL3N0cm9uZ3N3YW4uY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQC8pqX3KrSzKeul\n"
+ "GdzydAV4hGwYB3WiB02oJ2nh5MJBu7J0Kn4IVkvLUHSSZhSRxx55tQZfdYqtXVS7\n"
+ "ZuyG+6rV7sb595SIRwfkLAdjbvv0yZIl4xx8j50K3yMR+9aXW1NSGPEkb8BjBUMr\n"
+ "F2kjGTOqomo8OIzyI369z9kJrtEhnS37nHcdpewZC1wHcWfJ6wd9wxmz2dVXmgVQ\n"
+ "L2BjXd/BcpLFaIC4h7jMXQ5FURjnU7K9xSa4T8PpR6FrQhOcIYBXAp94GiM8JqmK\n"
+ "ZBGUpeP+3cy4i3DV18Kyr64Q4XZlzhZClNE43sgMqiX88dc3znpDzT7T51j+d+9k\n"
+ "Rf5Z0GOR\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t subject_data = { subject_pem, sizeof(subject_pem) };
/* For testing verify functions. */
-#define BLOG_RESP "\x30\x82\x06\xF8\x0A\x01\x00\xA0\x82\x06\xF1\x30\x82\x06\xED\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\xDE\x30\x82\x06\xDA\x30\x82\x01\x25\xA1\x7E\x30\x7C\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x41\x55\x31\x0C\x30\x0A\x06\x03\x55\x04\x08\x13\x03\x4E\x53\x57\x31\x0F\x30\x0D\x06\x03\x55\x04\x07\x13\x06\x53\x79\x64\x6E\x65\x79\x31\x14\x30\x12\x06\x03\x55\x04\x0A\x13\x0B\x43\x41\x63\x65\x72\x74\x20\x49\x6E\x63\x2E\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x13\x15\x53\x65\x72\x76\x65\x72\x20\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x69\x6F\x6E\x31\x18\x30\x16\x06\x03\x55\x04\x03\x13\x0F\x6F\x63\x73\x70\x2E\x63\x61\x63\x65\x72\x74\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x32\x30\x31\x31\x33\x30\x38\x35\x30\x34\x32\x5A\x30\x66\x30\x64\x30\x3C\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\xF2\x2A\x62\x16\x93\xA6\xDA\x5A\xD0\xB9\x8D\x3A\x13\x5E\x35\xD1\xEB\x18\x36\x61\x04\x14\x75\xA8\x71\x60\x4C\x88\x13\xF0\x78\xD9\x89\x77\xB5\x6D\xC5\x89\xDF\xBC\xB1\x7A\x02\x03\x00\xBC\xE0\x80\x00\x18\x0F\x32\x30\x31\x32\x30\x31\x31\x33\x30\x37\x32\x30\x34\x39\x5A\xA0\x11\x18\x0F\x32\x30\x31\x32\x30\x31\x31\x35\x30\x38\x35\x30\x34\x32\x5A\xA1\x2A\x30\x28\x30\x26\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x19\x04\x17\x73\x69\xD2\xC5\x6F\xC7\x7E\x2E\xB0\x2F\xCC\xC3\xE2\x80\xD6\x2A\xCE\xD3\xDE\x8F\x27\x1B\xB2\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x3E\x50\x9D\xE9\xA2\xE0\xCA\x33\x88\x9B\x28\x7E\xE7\xA4\xAF\xDA\xBB\x75\x2D\xD9\x66\xA6\xD5\xFA\x17\x56\xC0\x3B\xDD\x74\xB6\x7E\x42\x2C\x28\xD0\x73\x91\x54\x69\xFA\xCF\xD8\xC7\x74\x1C\x5D\xBC\x8E\xCD\xE3\x0E\xD5\x3F\x80\x71\x9C\x95\x53\xC4\xD1\x95\x63\x5D\x72\xCE\xCC\x77\x9D\x7C\xAD\x47\x3F\x34\xDA\x90\x80\xC5\x15\xE1\x2B\xEE\x98\x57\xA3\xA7\x9F\xA2\xC3\xF5\x5E\xF7\x13\x26\x52\xDA\x09\x38\x5B\x18\x91\x07\x38\xCF\x09\xDA\x08\xED\x80\x4F\x26\x3A\xB9\xBE\xF6\xED\x65\x3F\xB1\x3A\x6D\xA3\x87\x22\xA3\x2A\xA5\x99\xCC\x06\xF3\x5A\xD5\x34\xFB\x9E\x32\x28\xC3\x3E\xF4\xAF\x33\x02\xCF\x6A\x74\x73\x17\x24\x17\x41\x0D\x7E\x86\x79\x83\x34\xE8\x82\x0A\x0D\x21\xED\xCB\x3B\xB7\x31\x64\xC9\xB6\x1E\xC7\x0C\x75\xCE\xBA\xB7\xDC\xB2\x67\x96\x2B\xAD\xBF\x86\x22\x81\x54\x66\xBA\x68\x89\xD7\x7E\x35\x60\x93\xEC\x6B\xD8\x59\x23\xA0\xD0\x95\x55\x8F\x93\x52\x48\x4E\x48\xCB\x92\xE9\x67\x71\x60\x07\xC9\xA3\x3B\xAC\xD1\xEA\x5B\x71\xDB\xC1\x94\x79\x85\x55\x8C\x03\x61\x9E\xC7\xD6\x32\x40\xFA\xDD\xF6\xC9\xF8\xE0\xFF\x4D\xAC\x54\xED\x61\xFE\xB2\xA0\x82\x04\x99\x30\x82\x04\x95\x30\x82\x04\x91\x30\x82\x02\x79\xA0\x03\x02\x01\x02\x02\x03\x00\xDC\xA6\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x30\x54\x31\x14\x30\x12\x06\x03\x55\x04\x0A\x13\x0B\x43\x41\x63\x65\x72\x74\x20\x49\x6E\x63\x2E\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x13\x15\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x43\x41\x63\x65\x72\x74\x2E\x6F\x72\x67\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x43\x41\x63\x65\x72\x74\x20\x43\x6C\x61\x73\x73\x20\x33\x20\x52\x6F\x6F\x74\x30\x1E\x17\x0D\x31\x31\x30\x38\x32\x33\x30\x30\x30\x38\x33\x37\x5A\x17\x0D\x31\x33\x30\x38\x32\x32\x30\x30\x30\x38\x33\x37\x5A\x30\x7C\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x41\x55\x31\x0C\x30\x0A\x06\x03\x55\x04\x08\x13\x03\x4E\x53\x57\x31\x0F\x30\x0D\x06\x03\x55\x04\x07\x13\x06\x53\x79\x64\x6E\x65\x79\x31\x14\x30\x12\x06\x03\x55\x04\x0A\x13\x0B\x43\x41\x63\x65\x72\x74\x20\x49\x6E\x63\x2E\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x13\x15\x53\x65\x72\x76\x65\x72\x20\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x69\x6F\x6E\x31\x18\x30\x16\x06\x03\x55\x04\x03\x13\x0F\x6F\x63\x73\x70\x2E\x63\x61\x63\x65\x72\x74\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\x9C\xC6\xD4\x6F\xE4\x23\xC7\xC3\x70\x4B\x75\x1F\xE4\xFC\xAE\xF6\x62\xC4\x60\xA1\xD6\xCF\xF9\x47\x40\x38\xD9\xAF\x06\xF5\xB3\x87\x09\xBA\x07\xC8\x7A\x3B\xE3\x3A\xE2\xC1\x6B\xDB\x0E\x9B\x7B\xB4\x98\x04\x40\x88\xC8\xE4\x20\x34\x9D\x5F\x94\xAE\x0C\xA0\x05\xA1\x74\x10\x3F\x1F\x93\x6D\xC5\xA0\xCE\x29\xB0\x2A\x03\x6E\xED\x3B\xD1\x9A\x7A\xF7\x0F\xA7\xB7\x39\xD7\xC3\xB4\xDE\x15\x67\x94\xF2\xEF\xB0\xDD\x5F\xE3\xC9\xD8\xD2\x34\x0E\x5D\x44\xDF\xBF\x99\xD8\x5E\x60\xF4\x39\x24\x8A\xFD\x5D\xC8\x46\x8D\x0A\xB1\x60\x7A\x4F\xD5\x27\x30\x60\x9E\x13\x06\xF8\x3A\xAA\xB3\xBB\x33\x34\x6F\x84\x81\x7E\x5C\xCC\x12\x89\xF2\xFE\x6E\x93\x83\xFA\x8B\xEE\xAB\x36\x4C\xB6\x40\xA9\xEE\xFB\xF8\x16\x5A\x55\xD1\x64\x0D\x49\xDA\x04\xDE\xD1\xC8\xCA\xEE\x5F\x24\xB1\x79\x78\xB3\x9A\x88\x13\xDD\x68\x51\x39\xE9\x68\x31\xAF\xD7\xF8\x4D\x35\x6D\x60\x58\x04\x42\xBB\x55\x92\x18\xF6\x98\x01\xA5\x74\x3B\xBC\x36\xDB\x20\x68\x18\xB8\x85\xD4\x8B\x6D\x30\x87\x4D\xD6\x33\x2D\x7A\x54\x36\x1D\x57\x42\x14\x5C\x7A\x62\x74\xD5\x1E\x2B\xD5\xBF\x04\xF3\xFF\xEC\x03\xC1\x02\x03\x01\x00\x01\xA3\x44\x30\x42\x30\x0C\x06\x03\x55\x1D\x13\x01\x01\xFF\x04\x02\x30\x00\x30\x27\x06\x03\x55\x1D\x25\x04\x20\x30\x1E\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x02\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x01\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x09\x06\x03\x55\x1D\x11\x04\x02\x30\x00\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x50\xDD\x63\xB7\x1A\x6F\x91\x4C\xE8\x7F\x82\x1A\x27\x04\x81\x05\xBB\xA6\x69\xAC\x41\x7B\x62\xFC\x4B\x08\xDC\x60\xCF\xB2\x5A\xF1\xB4\xB5\x27\x69\x6B\x12\xE4\x07\xC8\x16\xCE\x3B\x42\xCC\x02\x90\x66\x0E\x79\xB8\x6C\x4B\x90\x00\xC5\x66\x64\x92\x2B\x2B\x48\x0E\x84\xC2\x6D\xBF\xA5\xDE\x16\xE3\xBD\x19\xF5\x5C\x93\xA1\x86\x7F\xD9\x89\x78\x6A\x3F\x83\xF0\xAA\xF8\xEA\x1D\xA4\x13\xF7\x2A\x15\x4C\x51\x9C\xC4\xB0\xBE\x58\x66\xCF\x4C\x6C\x3D\x31\xE5\xF9\x54\x21\xCD\xA1\x30\x01\x6A\xB3\x1A\x48\x85\x34\x93\xB8\xF9\x15\x19\x48\x34\x8D\x73\xE7\x03\x50\xAF\xDE\x50\xC7\x62\xAF\x25\x22\x2B\xF6\xE8\x37\x2E\xE4\x71\xA9\x5C\x26\xEA\x79\xCB\x04\x29\x73\x6B\x8F\xDF\x1F\x5C\x41\x52\xC0\x36\xAA\xD7\x7D\x8E\x44\x54\x98\x06\x4C\x63\xA6\x0B\x01\x94\x5D\x0C\x5C\xD4\xCF\xCB\x0B\x7B\x2D\x56\xCC\xBF\x97\x7F\x15\x24\x1D\xBA\xEA\xB7\x97\xB0\x32\xAD\xFC\xEA\x6D\x94\x39\x7A\xE3\x25\x54\xFC\x4A\xF5\x3D\xBD\x2E\xD5\x31\x07\x49\x24\xCC\x92\x69\x0E\x79\xB9\xDF\xDB\x36\xBF\x04\x44\x15\xD0\x46\x99\x8C\xD2\x4C\x94\x38\x0E\x10\x64\x13\xAB\xD9\x1B\x54\x02\x31\x56\x20\xEE\x69\x95\xDF\x39\xBB\xE9\xA7\x6D\xC3\x23\x86\x0B\xD6\x34\x40\x37\xC3\xD4\x41\xA8\x2E\x71\x1D\x6E\x5B\xD7\xC5\x9F\x2A\xE6\x02\x80\xAE\x0A\x28\x69\x63\x4B\x89\x2E\xBD\x4F\x42\x58\xFB\x86\x9A\xA2\x18\xDC\xC6\x32\xC1\x46\xBA\x28\xD2\x8B\xCE\x56\x63\x04\x80\x51\x51\x39\x00\x3B\x00\xB9\x5F\x67\xFA\x90\x1E\xDA\x76\xB5\x31\xA5\xBD\x11\xD2\x5F\xDA\x5D\xD5\xF7\xEE\xAB\xC0\x62\x74\x60\x47\x32\x42\xFD\xB2\x2E\x04\x3A\x2E\xF2\xC8\xB3\x41\xA3\xBD\xFE\x94\x5F\xEF\x6E\xD7\x92\x7C\x1D\x04\xF0\xC6\x53\x8E\x46\xDC\x30\x3A\x35\x5F\x1A\x4B\xEA\x3B\x00\x8B\x97\xB5\xB9\xCE\x71\x6E\x5C\xD5\xA0\x0B\xB1\x33\x08\x89\x61\x23\xCF\x97\x9F\x8F\x9A\x50\xB5\xEC\xCE\x40\x8D\x82\x95\x8B\x79\x26\x66\xF3\xF4\x70\xD8\xEE\x58\xDD\x75\x29\xD5\x6A\x91\x51\x7A\x17\xBC\x4F\xD4\xA3\x45\x7B\x84\xE7\xBE\x69\x53\xC1\xE2\x5C\xC8\x45\xA0\x3A\xEC\xDF\x8A\x1E\xC1\x18\x84\x8B\x7A\x4E\x4E\x9E\x3A\x26\xFE\x5D\x22\xD4\xC5\x14\xBE\xEE\x06\xEB\x05\x4A\x66\xC9\xA4\xB3\x68\x04\xB0\x5D\x25\x54\xB3\x05\xED\x41\xF0\x65\x69\x6D\xA5\x4E\xB7\x97\xD8\xD8\xF5"
+#define BLOG_RESP \
+ "\x30\x82\x06\xF8\x0A\x01\x00\xA0\x82\x06\xF1\x30\x82\x06\xED\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\xDE\x30\x82\x06\xDA\x30\x82\x01\x25\xA1\x7E\x30\x7C\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x41\x55\x31\x0C\x30\x0A\x06\x03\x55\x04\x08\x13\x03\x4E\x53\x57\x31\x0F\x30\x0D\x06\x03\x55\x04\x07\x13\x06\x53\x79\x64\x6E\x65\x79\x31\x14\x30\x12\x06\x03\x55\x04\x0A\x13\x0B\x43\x41\x63\x65\x72\x74\x20\x49\x6E\x63\x2E\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x13\x15\x53\x65\x72\x76\x65\x72\x20\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x69\x6F\x6E\x31\x18\x30\x16\x06\x03\x55\x04\x03\x13\x0F\x6F\x63\x73\x70\x2E\x63\x61\x63\x65\x72\x74\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x32\x30\x31\x31\x33\x30\x38\x35\x30\x34\x32\x5A\x30\x66\x30\x64\x30\x3C\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\xF2\x2A\x62\x16\x93\xA6\xDA\x5A\xD0\xB9\x8D\x3A\x13\x5E\x35\xD1\xEB\x18\x36\x61\x04\x14\x75\xA8\x71\x60\x4C\x88\x13\xF0\x78\xD9\x89\x77\xB5\x6D\xC5\x89\xDF\xBC\xB1\x7A\x02\x03\x00\xBC\xE0\x80\x00\x18\x0F\x32\x30\x31\x32\x30\x31\x31\x33\x30\x37\x32\x30\x34\x39\x5A\xA0\x11\x18\x0F\x32\x30\x31\x32\x30\x31\x31\x35\x30\x38\x35\x30\x34\x32\x5A\xA1\x2A\x30\x28\x30\x26\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x19\x04\x17\x73\x69\xD2\xC5\x6F\xC7\x7E\x2E\xB0\x2F\xCC\xC3\xE2\x80\xD6\x2A\xCE\xD3\xDE\x8F\x27\x1B\xB2\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x3E\x50\x9D\xE9\xA2\xE0\xCA\x33\x88\x9B\x28\x7E\xE7\xA4\xAF\xDA\xBB\x75\x2D\xD9\x66\xA6\xD5\xFA\x17\x56\xC0\x3B\xDD\x74\xB6\x7E\x42\x2C\x28\xD0\x73\x91\x54\x69\xFA\xCF\xD8\xC7\x74\x1C\x5D\xBC\x8E\xCD\xE3\x0E\xD5\x3F\x80\x71\x9C\x95\x53\xC4\xD1\x95\x63\x5D\x72\xCE\xCC\x77\x9D\x7C\xAD\x47\x3F\x34\xDA\x90\x80\xC5\x15\xE1\x2B\xEE\x98\x57\xA3\xA7\x9F\xA2\xC3\xF5\x5E\xF7\x13\x26\x52\xDA\x09\x38\x5B\x18\x91\x07\x38\xCF\x09\xDA\x08\xED\x80\x4F\x26\x3A\xB9\xBE\xF6\xED\x65\x3F\xB1\x3A\x6D\xA3\x87\x22\xA3\x2A\xA5\x99\xCC\x06\xF3\x5A\xD5\x34\xFB\x9E\x32\x28\xC3\x3E\xF4\xAF\x33\x02\xCF\x6A\x74\x73\x17\x24\x17\x41\x0D\x7E\x86\x79\x83\x34\xE8\x82\x0A\x0D\x21\xED\xCB\x3B\xB7\x31\x64\xC9\xB6\x1E\xC7\x0C\x75\xCE\xBA\xB7\xDC\xB2\x67\x96\x2B\xAD\xBF\x86\x22\x81\x54\x66\xBA\x68\x89\xD7\x7E\x35\x60\x93\xEC\x6B\xD8\x59\x23\xA0\xD0\x95\x55\x8F\x93\x52\x48\x4E\x48\xCB\x92\xE9\x67\x71\x60\x07\xC9\xA3\x3B\xAC\xD1\xEA\x5B\x71\xDB\xC1\x94\x79\x85\x55\x8C\x03\x61\x9E\xC7\xD6\x32\x40\xFA\xDD\xF6\xC9\xF8\xE0\xFF\x4D\xAC\x54\xED\x61\xFE\xB2\xA0\x82\x04\x99\x30\x82\x04\x95\x30\x82\x04\x91\x30\x82\x02\x79\xA0\x03\x02\x01\x02\x02\x03\x00\xDC\xA6\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x30\x54\x31\x14\x30\x12\x06\x03\x55\x04\x0A\x13\x0B\x43\x41\x63\x65\x72\x74\x20\x49\x6E\x63\x2E\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x13\x15\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x43\x41\x63\x65\x72\x74\x2E\x6F\x72\x67\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x43\x41\x63\x65\x72\x74\x20\x43\x6C\x61\x73\x73\x20\x33\x20\x52\x6F\x6F\x74\x30\x1E\x17\x0D\x31\x31\x30\x38\x32\x33\x30\x30\x30\x38\x33\x37\x5A\x17\x0D\x31\x33\x30\x38\x32\x32\x30\x30\x30\x38\x33\x37\x5A\x30\x7C\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x41\x55\x31\x0C\x30\x0A\x06\x03\x55\x04\x08\x13\x03\x4E\x53\x57\x31\x0F\x30\x0D\x06\x03\x55\x04\x07\x13\x06\x53\x79\x64\x6E\x65\x79\x31\x14\x30\x12\x06\x03\x55\x04\x0A\x13\x0B\x43\x41\x63\x65\x72\x74\x20\x49\x6E\x63\x2E\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x13\x15\x53\x65\x72\x76\x65\x72\x20\x41\x64\x6D\x69\x6E\x69\x73\x74\x72\x61\x74\x69\x6F\x6E\x31\x18\x30\x16\x06\x03\x55\x04\x03\x13\x0F\x6F\x63\x73\x70\x2E\x63\x61\x63\x65\x72\x74\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\x9C\xC6\xD4\x6F\xE4\x23\xC7\xC3\x70\x4B\x75\x1F\xE4\xFC\xAE\xF6\x62\xC4\x60\xA1\xD6\xCF\xF9\x47\x40\x38\xD9\xAF\x06\xF5\xB3\x87\x09\xBA\x07\xC8\x7A\x3B\xE3\x3A\xE2\xC1\x6B\xDB\x0E\x9B\x7B\xB4\x98\x04\x40\x88\xC8\xE4\x20\x34\x9D\x5F\x94\xAE\x0C\xA0\x05\xA1\x74\x10\x3F\x1F\x93\x6D\xC5\xA0\xCE\x29\xB0\x2A\x03\x6E\xED\x3B\xD1\x9A\x7A\xF7\x0F\xA7\xB7\x39\xD7\xC3\xB4\xDE\x15\x67\x94\xF2\xEF\xB0\xDD\x5F\xE3\xC9\xD8\xD2\x34\x0E\x5D\x44\xDF\xBF\x99\xD8\x5E\x60\xF4\x39\x24\x8A\xFD\x5D\xC8\x46\x8D\x0A\xB1\x60\x7A\x4F\xD5\x27\x30\x60\x9E\x13\x06\xF8\x3A\xAA\xB3\xBB\x33\x34\x6F\x84\x81\x7E\x5C\xCC\x12\x89\xF2\xFE\x6E\x93\x83\xFA\x8B\xEE\xAB\x36\x4C\xB6\x40\xA9\xEE\xFB\xF8\x16\x5A\x55\xD1\x64\x0D\x49\xDA\x04\xDE\xD1\xC8\xCA\xEE\x5F\x24\xB1\x79\x78\xB3\x9A\x88\x13\xDD\x68\x51\x39\xE9\x68\x31\xAF\xD7\xF8\x4D\x35\x6D\x60\x58\x04\x42\xBB\x55\x92\x18\xF6\x98\x01\xA5\x74\x3B\xBC\x36\xDB\x20\x68\x18\xB8\x85\xD4\x8B\x6D\x30\x87\x4D\xD6\x33\x2D\x7A\x54\x36\x1D\x57\x42\x14\x5C\x7A\x62\x74\xD5\x1E\x2B\xD5\xBF\x04\xF3\xFF\xEC\x03\xC1\x02\x03\x01\x00\x01\xA3\x44\x30\x42\x30\x0C\x06\x03\x55\x1D\x13\x01\x01\xFF\x04\x02\x30\x00\x30\x27\x06\x03\x55\x1D\x25\x04\x20\x30\x1E\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x02\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x01\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x09\x06\x03\x55\x1D\x11\x04\x02\x30\x00\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x50\xDD\x63\xB7\x1A\x6F\x91\x4C\xE8\x7F\x82\x1A\x27\x04\x81\x05\xBB\xA6\x69\xAC\x41\x7B\x62\xFC\x4B\x08\xDC\x60\xCF\xB2\x5A\xF1\xB4\xB5\x27\x69\x6B\x12\xE4\x07\xC8\x16\xCE\x3B\x42\xCC\x02\x90\x66\x0E\x79\xB8\x6C\x4B\x90\x00\xC5\x66\x64\x92\x2B\x2B\x48\x0E\x84\xC2\x6D\xBF\xA5\xDE\x16\xE3\xBD\x19\xF5\x5C\x93\xA1\x86\x7F\xD9\x89\x78\x6A\x3F\x83\xF0\xAA\xF8\xEA\x1D\xA4\x13\xF7\x2A\x15\x4C\x51\x9C\xC4\xB0\xBE\x58\x66\xCF\x4C\x6C\x3D\x31\xE5\xF9\x54\x21\xCD\xA1\x30\x01\x6A\xB3\x1A\x48\x85\x34\x93\xB8\xF9\x15\x19\x48\x34\x8D\x73\xE7\x03\x50\xAF\xDE\x50\xC7\x62\xAF\x25\x22\x2B\xF6\xE8\x37\x2E\xE4\x71\xA9\x5C\x26\xEA\x79\xCB\x04\x29\x73\x6B\x8F\xDF\x1F\x5C\x41\x52\xC0\x36\xAA\xD7\x7D\x8E\x44\x54\x98\x06\x4C\x63\xA6\x0B\x01\x94\x5D\x0C\x5C\xD4\xCF\xCB\x0B\x7B\x2D\x56\xCC\xBF\x97\x7F\x15\x24\x1D\xBA\xEA\xB7\x97\xB0\x32\xAD\xFC\xEA\x6D\x94\x39\x7A\xE3\x25\x54\xFC\x4A\xF5\x3D\xBD\x2E\xD5\x31\x07\x49\x24\xCC\x92\x69\x0E\x79\xB9\xDF\xDB\x36\xBF\x04\x44\x15\xD0\x46\x99\x8C\xD2\x4C\x94\x38\x0E\x10\x64\x13\xAB\xD9\x1B\x54\x02\x31\x56\x20\xEE\x69\x95\xDF\x39\xBB\xE9\xA7\x6D\xC3\x23\x86\x0B\xD6\x34\x40\x37\xC3\xD4\x41\xA8\x2E\x71\x1D\x6E\x5B\xD7\xC5\x9F\x2A\xE6\x02\x80\xAE\x0A\x28\x69\x63\x4B\x89\x2E\xBD\x4F\x42\x58\xFB\x86\x9A\xA2\x18\xDC\xC6\x32\xC1\x46\xBA\x28\xD2\x8B\xCE\x56\x63\x04\x80\x51\x51\x39\x00\x3B\x00\xB9\x5F\x67\xFA\x90\x1E\xDA\x76\xB5\x31\xA5\xBD\x11\xD2\x5F\xDA\x5D\xD5\xF7\xEE\xAB\xC0\x62\x74\x60\x47\x32\x42\xFD\xB2\x2E\x04\x3A\x2E\xF2\xC8\xB3\x41\xA3\xBD\xFE\x94\x5F\xEF\x6E\xD7\x92\x7C\x1D\x04\xF0\xC6\x53\x8E\x46\xDC\x30\x3A\x35\x5F\x1A\x4B\xEA\x3B\x00\x8B\x97\xB5\xB9\xCE\x71\x6E\x5C\xD5\xA0\x0B\xB1\x33\x08\x89\x61\x23\xCF\x97\x9F\x8F\x9A\x50\xB5\xEC\xCE\x40\x8D\x82\x95\x8B\x79\x26\x66\xF3\xF4\x70\xD8\xEE\x58\xDD\x75\x29\xD5\x6A\x91\x51\x7A\x17\xBC\x4F\xD4\xA3\x45\x7B\x84\xE7\xBE\x69\x53\xC1\xE2\x5C\xC8\x45\xA0\x3A\xEC\xDF\x8A\x1E\xC1\x18\x84\x8B\x7A\x4E\x4E\x9E\x3A\x26\xFE\x5D\x22\xD4\xC5\x14\xBE\xEE\x06\xEB\x05\x4A\x66\xC9\xA4\xB3\x68\x04\xB0\x5D\x25\x54\xB3\x05\xED\x41\xF0\x65\x69\x6D\xA5\x4E\xB7\x97\xD8\xD8\xF5"
-static const gnutls_datum_t blog_resp =
- { (unsigned char *)BLOG_RESP, sizeof(BLOG_RESP) - 1 };
+static const gnutls_datum_t blog_resp = { (unsigned char *)BLOG_RESP,
+ sizeof(BLOG_RESP) - 1 };
static unsigned char blog_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE8DCCAtigAwIBAgIDALzgMA0GCSqGSIb3DQEBBQUAMFQxFDASBgNVBAoTC0NB\n"
- "Y2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5vcmcxHDAaBgNV\n"
- "BAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwHhcNMTAxMTE2MjI1MjMzWhcNMTIxMTE1\n"
- "MjI1MjMzWjAdMRswGQYDVQQDExJibG9nLmpvc2Vmc3Nvbi5vcmcwggEiMA0GCSqG\n"
- "SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBKA6bm/Kip0i00vU+BOmUF2MBDTwps41c\n"
- "xKN5bDn7usWZj8loi6BHRPE2WzCVPnPRD1FJXBc4rXL8zZWrCRe1b4A+l8NjPN2o\n"
- "uUgJvYLXYQ2hXkvxlPBQPKNOudaOAVsahpyxk6g6Z3mskOfqPhxvjutHvMC4fOsJ\n"
- "1+FstMzvg5SpDd4uYM9m0UK8pbEUSuwW+fxyWqhciSi7kJtdrD6bwx3ub3t9GFkM\n"
- "9uTzImIslTq19w8AHQsTICNnmNwfUGF5XMUIuxun0HlFt2KUP5G3Qg9Cd18wZFql\n"
- "RQJvLA3nbVFtmN3M3yKXnGSsEn38ZJvC+UxFuSfYJN9UwgoG6gwhAgMBAAGjggEA\n"
- "MIH9MAwGA1UdEwEB/wQCMAAwNAYDVR0lBC0wKwYIKwYBBQUHAwIGCCsGAQUFBwMB\n"
- "BglghkgBhvhCBAEGCisGAQQBgjcKAwMwCwYDVR0PBAQDAgWgMDMGCCsGAQUFBwEB\n"
- "BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuY2FjZXJ0Lm9yZy8wdQYDVR0R\n"
- "BG4wbIISYmxvZy5qb3NlZnNzb24ub3JnoCAGCCsGAQUFBwgFoBQMEmJsb2cuam9z\n"
- "ZWZzc29uLm9yZ4ISYmxvZy5qb3NlZnNzb24ub3JnoCAGCCsGAQUFBwgFoBQMEmJs\n"
- "b2cuam9zZWZzc29uLm9yZzANBgkqhkiG9w0BAQUFAAOCAgEACQX0KziT81G0XJ4C\n"
- "SlVumGN0KcVPDjtiUYskMpUvyLF951Q4Uuih0Aa9c0LynyZq8yqr6sW5OTmnRfSU\n"
- "DuUK5IH+IPq5PU7qteQSIy+63yjMQ+1wye1zfCWI+MyaS54AOn6uZObsr4grq41i\n"
- "sTwnX8OF/z15dQBjDR18WoehsnbuMz3Ld7+w5UcVWRGDzTyZ7JrYisEywQ7TXcoK\n"
- "1IlhD1TqwFucH7lIr4mPWNjL7Nw0sw11HN0Syt9H3upcq6lqyEI0ygfNZ9cdxvmX\n"
- "WqOBxxLc6G/87G4nGW4jw3WrCX7LqSmChlR3SbEC1UhWpaQMQ+mOU5+vXon7blRV\n"
- "zGJ/1wK8mKu3fKw9rm5TQ1xfJuRABbzsD3BrrUaHlREQQ+i6SCPVFGer6oeAaxyv\n"
- "so0NCbmBQkcpmUUl0COIR/Lh/YT78PjIEfxaUnUlaZXvCbKPKP2cM8LY7ltEaTgJ\n"
- "4W6sZi3QNFySzd4sz7J/YhY/jGjqku7TfpN/GOheW8AzKTBlm3WLps1YXys4TKrB\n"
- "0RStfaPfRJI1PeSlrWl6+kQu/5O8WA8NK0JZ/0Jc4d5LNrtUXo4VU9XCthrxLkgL\n"
- "3XWgZKFrqJd1UeJJ7OvkRYfI1c5i4oAP5ksuF0SHTpqnXE8K39kUnUx3B+ItJlZP\n"
- "VXTFhXRc06QwYqYXuYSAmj7/GJk=\n" "-----END CERTIFICATE-----\n";
-const gnutls_datum_t blog_cert_data = { blog_cert_pem,
- sizeof(blog_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE8DCCAtigAwIBAgIDALzgMA0GCSqGSIb3DQEBBQUAMFQxFDASBgNVBAoTC0NB\n"
+ "Y2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5vcmcxHDAaBgNV\n"
+ "BAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwHhcNMTAxMTE2MjI1MjMzWhcNMTIxMTE1\n"
+ "MjI1MjMzWjAdMRswGQYDVQQDExJibG9nLmpvc2Vmc3Nvbi5vcmcwggEiMA0GCSqG\n"
+ "SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBKA6bm/Kip0i00vU+BOmUF2MBDTwps41c\n"
+ "xKN5bDn7usWZj8loi6BHRPE2WzCVPnPRD1FJXBc4rXL8zZWrCRe1b4A+l8NjPN2o\n"
+ "uUgJvYLXYQ2hXkvxlPBQPKNOudaOAVsahpyxk6g6Z3mskOfqPhxvjutHvMC4fOsJ\n"
+ "1+FstMzvg5SpDd4uYM9m0UK8pbEUSuwW+fxyWqhciSi7kJtdrD6bwx3ub3t9GFkM\n"
+ "9uTzImIslTq19w8AHQsTICNnmNwfUGF5XMUIuxun0HlFt2KUP5G3Qg9Cd18wZFql\n"
+ "RQJvLA3nbVFtmN3M3yKXnGSsEn38ZJvC+UxFuSfYJN9UwgoG6gwhAgMBAAGjggEA\n"
+ "MIH9MAwGA1UdEwEB/wQCMAAwNAYDVR0lBC0wKwYIKwYBBQUHAwIGCCsGAQUFBwMB\n"
+ "BglghkgBhvhCBAEGCisGAQQBgjcKAwMwCwYDVR0PBAQDAgWgMDMGCCsGAQUFBwEB\n"
+ "BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuY2FjZXJ0Lm9yZy8wdQYDVR0R\n"
+ "BG4wbIISYmxvZy5qb3NlZnNzb24ub3JnoCAGCCsGAQUFBwgFoBQMEmJsb2cuam9z\n"
+ "ZWZzc29uLm9yZ4ISYmxvZy5qb3NlZnNzb24ub3JnoCAGCCsGAQUFBwgFoBQMEmJs\n"
+ "b2cuam9zZWZzc29uLm9yZzANBgkqhkiG9w0BAQUFAAOCAgEACQX0KziT81G0XJ4C\n"
+ "SlVumGN0KcVPDjtiUYskMpUvyLF951Q4Uuih0Aa9c0LynyZq8yqr6sW5OTmnRfSU\n"
+ "DuUK5IH+IPq5PU7qteQSIy+63yjMQ+1wye1zfCWI+MyaS54AOn6uZObsr4grq41i\n"
+ "sTwnX8OF/z15dQBjDR18WoehsnbuMz3Ld7+w5UcVWRGDzTyZ7JrYisEywQ7TXcoK\n"
+ "1IlhD1TqwFucH7lIr4mPWNjL7Nw0sw11HN0Syt9H3upcq6lqyEI0ygfNZ9cdxvmX\n"
+ "WqOBxxLc6G/87G4nGW4jw3WrCX7LqSmChlR3SbEC1UhWpaQMQ+mOU5+vXon7blRV\n"
+ "zGJ/1wK8mKu3fKw9rm5TQ1xfJuRABbzsD3BrrUaHlREQQ+i6SCPVFGer6oeAaxyv\n"
+ "so0NCbmBQkcpmUUl0COIR/Lh/YT78PjIEfxaUnUlaZXvCbKPKP2cM8LY7ltEaTgJ\n"
+ "4W6sZi3QNFySzd4sz7J/YhY/jGjqku7TfpN/GOheW8AzKTBlm3WLps1YXys4TKrB\n"
+ "0RStfaPfRJI1PeSlrWl6+kQu/5O8WA8NK0JZ/0Jc4d5LNrtUXo4VU9XCthrxLkgL\n"
+ "3XWgZKFrqJd1UeJJ7OvkRYfI1c5i4oAP5ksuF0SHTpqnXE8K39kUnUx3B+ItJlZP\n"
+ "VXTFhXRc06QwYqYXuYSAmj7/GJk=\n"
+ "-----END CERTIFICATE-----\n";
+const gnutls_datum_t blog_cert_data = { blog_cert_pem, sizeof(blog_cert_pem) };
static unsigned char blog_issuer_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIHWTCCBUGgAwIBAgIDCkGKMA0GCSqGSIb3DQEBCwUAMHkxEDAOBgNVBAoTB1Jv\n"
- "b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ\n"
- "Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y\n"
- "dEBjYWNlcnQub3JnMB4XDTExMDUyMzE3NDgwMloXDTIxMDUyMDE3NDgwMlowVDEU\n"
- "MBIGA1UEChMLQ0FjZXJ0IEluYy4xHjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0\n"
- "Lm9yZzEcMBoGA1UEAxMTQ0FjZXJ0IENsYXNzIDMgUm9vdDCCAiIwDQYJKoZIhvcN\n"
- "AQEBBQADggIPADCCAgoCggIBAKtJNRFIfNImflOUz0Op3SjXQiqL84d4GVh8D57a\n"
- "iX3h++tykA10oZZkq5+gJJlz2uJVdscXe/UErEa4w75/ZI0QbCTzYZzA8pD6Ueb1\n"
- "aQFjww9W4kpCz+JEjCUoqMV5CX1GuYrz6fM0KQhF5Byfy5QEHIGoFLOYZcRD7E6C\n"
- "jQnRvapbjZLQ7N6QxX8KwuPr5jFaXnQ+lzNZ6MMDPWAzv/fRb0fEze5ig1JuLgia\n"
- "pNkVGJGmhZJHsK5I6223IeyFGmhyNav/8BBdwPSUp2rVO5J+TJAFfpPBLIukjmJ0\n"
- "FXFuC3ED6q8VOJrU0gVyb4z5K+taciX5OUbjchs+BMNkJyIQKopPWKcDrb60LhPt\n"
- "XapI19V91Cp7XPpGBFDkzA5CW4zt2/LP/JaT4NsRNlRiNDiPDGCbO5dWOK3z0luL\n"
- "oFvqTpa4fNfVoIZwQNORKbeiPK31jLvPGpKK5DR7wNhsX+kKwsOnIJpa3yxdUly6\n"
- "R9Wb7yQocDggL9V/KcCyQQNokszgnMyXS0XvOhAKq3A6mJVwrTWx6oUrpByAITGp\n"
- "rmB6gCZIALgBwJNjVSKRPFbnr9s6JfOPMVTqJouBWfmh0VMRxXudA/Z0EeBtsSw/\n"
- "LIaRmXGapneLNGDRFLQsrJ2vjBDTn8Rq+G8T/HNZ92ZCdB6K4/jc0m+YnMtHmJVA\n"
- "BfvpAgMBAAGjggINMIICCTAdBgNVHQ4EFgQUdahxYEyIE/B42Yl3tW3Fid+8sXow\n"
- "gaMGA1UdIwSBmzCBmIAUFrUyG9TH8+DmjvO90rA67rI5GNGhfaR7MHkxEDAOBgNV\n"
- "BAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAG\n"
- "A1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS\n"
- "c3VwcG9ydEBjYWNlcnQub3JnggEAMA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUH\n"
- "AQEEUTBPMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggr\n"
- "BgEFBQcwAoYcaHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBB\n"
- "MD8GCCsGAQQBgZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9y\n"
- "Zy9pbmRleC5waHA/aWQ9MTAwNAYJYIZIAYb4QgEIBCcWJWh0dHA6Ly93d3cuQ0Fj\n"
- "ZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAwUAYJYIZIAYb4QgENBEMWQVRvIGdldCB5\n"
- "b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSwgZ28gdG8gaHR0cDovL3d3dy5D\n"
- "QWNlcnQub3JnMA0GCSqGSIb3DQEBCwUAA4ICAQApKIWuRKm5r6R5E/CooyuXYPNc\n"
- "7uMvwfbiZqARrjY3OnYVBFPqQvX56sAV2KaC2eRhrnILKVyQQ+hBsuF32wITRHhH\n"
- "Va9Y/MyY9kW50SD42CEH/m2qc9SzxgfpCYXMO/K2viwcJdVxjDm1Luq+GIG6sJO4\n"
- "D+Pm1yaMMVpyA4RS5qb1MyJFCsgLDYq4Nm+QCaGrvdfVTi5xotSu+qdUK+s1jVq3\n"
- "VIgv7nSf7UgWyg1I0JTTrKSi9iTfkuO960NAkW4cGI5WtIIS86mTn9S8nK2cde5a\n"
- "lxuV53QtHA+wLJef+6kzOXrnAzqSjiL2jA3k2X4Ndhj3AfnvlpaiVXPAPHG0HRpW\n"
- "Q7fDCo1y/OIQCQtBzoyUoPkD/XFzS4pXM+WOdH4VAQDmzEoc53+VGS3FpQyLu7Xt\n"
- "hbNc09+4ufLKxw0BFKxwWMWMjTPUnWajGlCVI/xI4AZDEtnNp4Y5LzZyo4AQ5OHz\n"
- "0ctbGsDkgJp8E3MGT9ujayQKurMcvEp4u+XjdTilSKeiHq921F73OIZWWonO1sOn\n"
- "ebJSoMbxhbQljPI/lrMQ2Y1sVzufb4Y6GIIiNsiwkTjbKqGTqoQ/9SdlrnPVyNXT\n"
- "d+pLncdBu8fA46A/5H2kjXPmEkvfoXNzczqA6NXLji/L6hOn1kGLrPo8idck9U60\n"
- "4GGSt/M3mMS+lqO3ig==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIHWTCCBUGgAwIBAgIDCkGKMA0GCSqGSIb3DQEBCwUAMHkxEDAOBgNVBAoTB1Jv\n"
+ "b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ\n"
+ "Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y\n"
+ "dEBjYWNlcnQub3JnMB4XDTExMDUyMzE3NDgwMloXDTIxMDUyMDE3NDgwMlowVDEU\n"
+ "MBIGA1UEChMLQ0FjZXJ0IEluYy4xHjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0\n"
+ "Lm9yZzEcMBoGA1UEAxMTQ0FjZXJ0IENsYXNzIDMgUm9vdDCCAiIwDQYJKoZIhvcN\n"
+ "AQEBBQADggIPADCCAgoCggIBAKtJNRFIfNImflOUz0Op3SjXQiqL84d4GVh8D57a\n"
+ "iX3h++tykA10oZZkq5+gJJlz2uJVdscXe/UErEa4w75/ZI0QbCTzYZzA8pD6Ueb1\n"
+ "aQFjww9W4kpCz+JEjCUoqMV5CX1GuYrz6fM0KQhF5Byfy5QEHIGoFLOYZcRD7E6C\n"
+ "jQnRvapbjZLQ7N6QxX8KwuPr5jFaXnQ+lzNZ6MMDPWAzv/fRb0fEze5ig1JuLgia\n"
+ "pNkVGJGmhZJHsK5I6223IeyFGmhyNav/8BBdwPSUp2rVO5J+TJAFfpPBLIukjmJ0\n"
+ "FXFuC3ED6q8VOJrU0gVyb4z5K+taciX5OUbjchs+BMNkJyIQKopPWKcDrb60LhPt\n"
+ "XapI19V91Cp7XPpGBFDkzA5CW4zt2/LP/JaT4NsRNlRiNDiPDGCbO5dWOK3z0luL\n"
+ "oFvqTpa4fNfVoIZwQNORKbeiPK31jLvPGpKK5DR7wNhsX+kKwsOnIJpa3yxdUly6\n"
+ "R9Wb7yQocDggL9V/KcCyQQNokszgnMyXS0XvOhAKq3A6mJVwrTWx6oUrpByAITGp\n"
+ "rmB6gCZIALgBwJNjVSKRPFbnr9s6JfOPMVTqJouBWfmh0VMRxXudA/Z0EeBtsSw/\n"
+ "LIaRmXGapneLNGDRFLQsrJ2vjBDTn8Rq+G8T/HNZ92ZCdB6K4/jc0m+YnMtHmJVA\n"
+ "BfvpAgMBAAGjggINMIICCTAdBgNVHQ4EFgQUdahxYEyIE/B42Yl3tW3Fid+8sXow\n"
+ "gaMGA1UdIwSBmzCBmIAUFrUyG9TH8+DmjvO90rA67rI5GNGhfaR7MHkxEDAOBgNV\n"
+ "BAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAG\n"
+ "A1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS\n"
+ "c3VwcG9ydEBjYWNlcnQub3JnggEAMA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUH\n"
+ "AQEEUTBPMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggr\n"
+ "BgEFBQcwAoYcaHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBB\n"
+ "MD8GCCsGAQQBgZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9y\n"
+ "Zy9pbmRleC5waHA/aWQ9MTAwNAYJYIZIAYb4QgEIBCcWJWh0dHA6Ly93d3cuQ0Fj\n"
+ "ZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAwUAYJYIZIAYb4QgENBEMWQVRvIGdldCB5\n"
+ "b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSwgZ28gdG8gaHR0cDovL3d3dy5D\n"
+ "QWNlcnQub3JnMA0GCSqGSIb3DQEBCwUAA4ICAQApKIWuRKm5r6R5E/CooyuXYPNc\n"
+ "7uMvwfbiZqARrjY3OnYVBFPqQvX56sAV2KaC2eRhrnILKVyQQ+hBsuF32wITRHhH\n"
+ "Va9Y/MyY9kW50SD42CEH/m2qc9SzxgfpCYXMO/K2viwcJdVxjDm1Luq+GIG6sJO4\n"
+ "D+Pm1yaMMVpyA4RS5qb1MyJFCsgLDYq4Nm+QCaGrvdfVTi5xotSu+qdUK+s1jVq3\n"
+ "VIgv7nSf7UgWyg1I0JTTrKSi9iTfkuO960NAkW4cGI5WtIIS86mTn9S8nK2cde5a\n"
+ "lxuV53QtHA+wLJef+6kzOXrnAzqSjiL2jA3k2X4Ndhj3AfnvlpaiVXPAPHG0HRpW\n"
+ "Q7fDCo1y/OIQCQtBzoyUoPkD/XFzS4pXM+WOdH4VAQDmzEoc53+VGS3FpQyLu7Xt\n"
+ "hbNc09+4ufLKxw0BFKxwWMWMjTPUnWajGlCVI/xI4AZDEtnNp4Y5LzZyo4AQ5OHz\n"
+ "0ctbGsDkgJp8E3MGT9ujayQKurMcvEp4u+XjdTilSKeiHq921F73OIZWWonO1sOn\n"
+ "ebJSoMbxhbQljPI/lrMQ2Y1sVzufb4Y6GIIiNsiwkTjbKqGTqoQ/9SdlrnPVyNXT\n"
+ "d+pLncdBu8fA46A/5H2kjXPmEkvfoXNzczqA6NXLji/L6hOn1kGLrPo8idck9U60\n"
+ "4GGSt/M3mMS+lqO3ig==\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t blog_issuer_data = { blog_issuer_pem,
- sizeof(blog_issuer_pem)
-};
+ sizeof(blog_issuer_pem) };
static unsigned char blog_signer_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEkTCCAnmgAwIBAgIDANymMA0GCSqGSIb3DQEBBQUAMFQxFDASBgNVBAoTC0NB\n"
- "Y2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5vcmcxHDAaBgNV\n"
- "BAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwHhcNMTEwODIzMDAwODM3WhcNMTMwODIy\n"
- "MDAwODM3WjB8MQswCQYDVQQGEwJBVTEMMAoGA1UECBMDTlNXMQ8wDQYDVQQHEwZT\n"
- "eWRuZXkxFDASBgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVTZXJ2ZXIgQWRt\n"
- "aW5pc3RyYXRpb24xGDAWBgNVBAMTD29jc3AuY2FjZXJ0Lm9yZzCCASIwDQYJKoZI\n"
- "hvcNAQEBBQADggEPADCCAQoCggEBAJzG1G/kI8fDcEt1H+T8rvZixGCh1s/5R0A4\n"
- "2a8G9bOHCboHyHo74zriwWvbDpt7tJgEQIjI5CA0nV+UrgygBaF0ED8fk23FoM4p\n"
- "sCoDbu070Zp69w+ntznXw7TeFWeU8u+w3V/jydjSNA5dRN+/mdheYPQ5JIr9XchG\n"
- "jQqxYHpP1ScwYJ4TBvg6qrO7MzRvhIF+XMwSifL+bpOD+ovuqzZMtkCp7vv4FlpV\n"
- "0WQNSdoE3tHIyu5fJLF5eLOaiBPdaFE56Wgxr9f4TTVtYFgEQrtVkhj2mAGldDu8\n"
- "NtsgaBi4hdSLbTCHTdYzLXpUNh1XQhRcemJ01R4r1b8E8//sA8ECAwEAAaNEMEIw\n"
- "DAYDVR0TAQH/BAIwADAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwEGCCsG\n"
- "AQUFBwMJMAkGA1UdEQQCMAAwDQYJKoZIhvcNAQEFBQADggIBAFDdY7cab5FM6H+C\n"
- "GicEgQW7pmmsQXti/EsI3GDPslrxtLUnaWsS5AfIFs47QswCkGYOebhsS5AAxWZk\n"
- "kisrSA6Ewm2/pd4W470Z9VyToYZ/2Yl4aj+D8Kr46h2kE/cqFUxRnMSwvlhmz0xs\n"
- "PTHl+VQhzaEwAWqzGkiFNJO4+RUZSDSNc+cDUK/eUMdiryUiK/boNy7kcalcJup5\n"
- "ywQpc2uP3x9cQVLANqrXfY5EVJgGTGOmCwGUXQxc1M/LC3stVsy/l38VJB266reX\n"
- "sDKt/OptlDl64yVU/Er1Pb0u1TEHSSTMkmkOebnf2za/BEQV0EaZjNJMlDgOEGQT\n"
- "q9kbVAIxViDuaZXfObvpp23DI4YL1jRAN8PUQagucR1uW9fFnyrmAoCuCihpY0uJ\n"
- "Lr1PQlj7hpqiGNzGMsFGuijSi85WYwSAUVE5ADsAuV9n+pAe2na1MaW9EdJf2l3V\n"
- "9+6rwGJ0YEcyQv2yLgQ6LvLIs0Gjvf6UX+9u15J8HQTwxlOORtwwOjVfGkvqOwCL\n"
- "l7W5znFuXNWgC7EzCIlhI8+Xn4+aULXszkCNgpWLeSZm8/Rw2O5Y3XUp1WqRUXoX\n"
- "vE/Uo0V7hOe+aVPB4lzIRaA67N+KHsEYhIt6Tk6eOib+XSLUxRS+7gbrBUpmyaSz\n"
- "aASwXSVUswXtQfBlaW2lTreX2Nj1\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEkTCCAnmgAwIBAgIDANymMA0GCSqGSIb3DQEBBQUAMFQxFDASBgNVBAoTC0NB\n"
+ "Y2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5vcmcxHDAaBgNV\n"
+ "BAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwHhcNMTEwODIzMDAwODM3WhcNMTMwODIy\n"
+ "MDAwODM3WjB8MQswCQYDVQQGEwJBVTEMMAoGA1UECBMDTlNXMQ8wDQYDVQQHEwZT\n"
+ "eWRuZXkxFDASBgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVTZXJ2ZXIgQWRt\n"
+ "aW5pc3RyYXRpb24xGDAWBgNVBAMTD29jc3AuY2FjZXJ0Lm9yZzCCASIwDQYJKoZI\n"
+ "hvcNAQEBBQADggEPADCCAQoCggEBAJzG1G/kI8fDcEt1H+T8rvZixGCh1s/5R0A4\n"
+ "2a8G9bOHCboHyHo74zriwWvbDpt7tJgEQIjI5CA0nV+UrgygBaF0ED8fk23FoM4p\n"
+ "sCoDbu070Zp69w+ntznXw7TeFWeU8u+w3V/jydjSNA5dRN+/mdheYPQ5JIr9XchG\n"
+ "jQqxYHpP1ScwYJ4TBvg6qrO7MzRvhIF+XMwSifL+bpOD+ovuqzZMtkCp7vv4FlpV\n"
+ "0WQNSdoE3tHIyu5fJLF5eLOaiBPdaFE56Wgxr9f4TTVtYFgEQrtVkhj2mAGldDu8\n"
+ "NtsgaBi4hdSLbTCHTdYzLXpUNh1XQhRcemJ01R4r1b8E8//sA8ECAwEAAaNEMEIw\n"
+ "DAYDVR0TAQH/BAIwADAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwEGCCsG\n"
+ "AQUFBwMJMAkGA1UdEQQCMAAwDQYJKoZIhvcNAQEFBQADggIBAFDdY7cab5FM6H+C\n"
+ "GicEgQW7pmmsQXti/EsI3GDPslrxtLUnaWsS5AfIFs47QswCkGYOebhsS5AAxWZk\n"
+ "kisrSA6Ewm2/pd4W470Z9VyToYZ/2Yl4aj+D8Kr46h2kE/cqFUxRnMSwvlhmz0xs\n"
+ "PTHl+VQhzaEwAWqzGkiFNJO4+RUZSDSNc+cDUK/eUMdiryUiK/boNy7kcalcJup5\n"
+ "ywQpc2uP3x9cQVLANqrXfY5EVJgGTGOmCwGUXQxc1M/LC3stVsy/l38VJB266reX\n"
+ "sDKt/OptlDl64yVU/Er1Pb0u1TEHSSTMkmkOebnf2za/BEQV0EaZjNJMlDgOEGQT\n"
+ "q9kbVAIxViDuaZXfObvpp23DI4YL1jRAN8PUQagucR1uW9fFnyrmAoCuCihpY0uJ\n"
+ "Lr1PQlj7hpqiGNzGMsFGuijSi85WYwSAUVE5ADsAuV9n+pAe2na1MaW9EdJf2l3V\n"
+ "9+6rwGJ0YEcyQv2yLgQ6LvLIs0Gjvf6UX+9u15J8HQTwxlOORtwwOjVfGkvqOwCL\n"
+ "l7W5znFuXNWgC7EzCIlhI8+Xn4+aULXszkCNgpWLeSZm8/Rw2O5Y3XUp1WqRUXoX\n"
+ "vE/Uo0V7hOe+aVPB4lzIRaA67N+KHsEYhIt6Tk6eOib+XSLUxRS+7gbrBUpmyaSz\n"
+ "aASwXSVUswXtQfBlaW2lTreX2Nj1\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t blog_signer_data = { blog_signer_pem,
- sizeof(blog_signer_pem)
-};
+ sizeof(blog_signer_pem) };
static unsigned char long_resp_signer_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE3zCCA8egAwIBAgIQPZqC0NHDL2/ghF+ZEe5TQjANBgkqhkiG9w0BAQUFADCB\n"
- "tTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMm\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwHhcNMTQwOTEy\n"
- "MDAwMDAwWhcNMTQxMjExMjM1OTU5WjCBhzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT\n"
- "DlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3Jr\n"
- "MT4wPAYDVQQDEzVWZXJpU2lnbiBDbGFzcyAzIFNlY3VyZSBTZXJ2ZXIgQ0EgLSBH\n"
- "MyBPQ1NQIFJlc3BvbmRlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n"
- "ALbm3lapt756SdAuFIelnhbtZvin09w/iS38GoMpR9A326dcSiKwmk7LYnLEkgQI\n"
- "mb5g4Nx6+nkQuhZoJiSxvqoPTgwt1nZtQ4v1weitmI1elgOSin+YrrjxPCpiYrFp\n"
- "j3qwbMz2K5ktlXl/2FeY5XWYuzz4ZscfxPF1mb1Nd5C7I+rZOE7nj7m9aQPEczgp\n"
- "hfZbMBb5kceeuskBkGyv05PwYbSkPTA4bzNA5dKT2ZsXzp+XC92EssV2smRiR/A1\n"
- "ai0uLUZeB4bJgICs6PNxPUaLt1Sn2gBgi+iw3039/8aAbx52FJm1yVv3MRDtaVqR\n"
- "l1kWCnyG/VLEhP1YcyeAC0cCAwEAAaOCARUwggERMAkGA1UdEwQCMAAwgawGA1Ud\n"
- "IASBpDCBoTCBngYLYIZIAYb4RQEHFwMwgY4wKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
- "d3d3LnZlcmlzaWduLmNvbS9DUFMwYgYIKwYBBQUHAgIwVjAVFg5WZXJpU2lnbiwg\n"
- "SW5jLjADAgEBGj1WZXJpU2lnbidzIENQUyBpbmNvcnAuIGJ5IHJlZmVyZW5jZSBs\n"
- "aWFiLiBsdGQuIChjKTk3IFZlcmlTaWduMBMGA1UdJQQMMAoGCCsGAQUFBwMJMAsG\n"
- "A1UdDwQEAwIHgDAPBgkrBgEFBQcwAQUEAgUAMCIGA1UdEQQbMBmkFzAVMRMwEQYD\n"
- "VQQDEwpUR1YtQi0xNzk4MA0GCSqGSIb3DQEBBQUAA4IBAQCM8gJSyR4O8S5m52za\n"
- "FSzMfAcai+j5AqoRhYmY/+n/Hs/2bAdPy/6a+ukWGwhWZQRYLNr7SSSBkuSuVk/W\n"
- "zZX9VJmxAt1WzFRrXvgFyjSDtnqtg89LJbUOz5hG95d/scgb3ndv5Ey5193H/b8T\n"
- "O6GZ933J0O3X6qk4bnMBDUPFXgyn0Xfv0jeYzOa/Tu2IPpcf0ugogbrZscsIZWFy\n"
- "jFlwHnFGpd2k1GXaFRPqxk+qtLAxJtjN+DfkmxGNoIAv1hHXpBhDhuzTpnmXVf32\n"
- "YfFIyYfRt/x/Z4hztF/MZ41QxJdZIqvCMooi1GAgeG2jkXLx+x6ppfhkN7+zOF8A\n"
- "4W5J\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE3zCCA8egAwIBAgIQPZqC0NHDL2/ghF+ZEe5TQjANBgkqhkiG9w0BAQUFADCB\n"
+ "tTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMm\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwHhcNMTQwOTEy\n"
+ "MDAwMDAwWhcNMTQxMjExMjM1OTU5WjCBhzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT\n"
+ "DlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3Jr\n"
+ "MT4wPAYDVQQDEzVWZXJpU2lnbiBDbGFzcyAzIFNlY3VyZSBTZXJ2ZXIgQ0EgLSBH\n"
+ "MyBPQ1NQIFJlc3BvbmRlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n"
+ "ALbm3lapt756SdAuFIelnhbtZvin09w/iS38GoMpR9A326dcSiKwmk7LYnLEkgQI\n"
+ "mb5g4Nx6+nkQuhZoJiSxvqoPTgwt1nZtQ4v1weitmI1elgOSin+YrrjxPCpiYrFp\n"
+ "j3qwbMz2K5ktlXl/2FeY5XWYuzz4ZscfxPF1mb1Nd5C7I+rZOE7nj7m9aQPEczgp\n"
+ "hfZbMBb5kceeuskBkGyv05PwYbSkPTA4bzNA5dKT2ZsXzp+XC92EssV2smRiR/A1\n"
+ "ai0uLUZeB4bJgICs6PNxPUaLt1Sn2gBgi+iw3039/8aAbx52FJm1yVv3MRDtaVqR\n"
+ "l1kWCnyG/VLEhP1YcyeAC0cCAwEAAaOCARUwggERMAkGA1UdEwQCMAAwgawGA1Ud\n"
+ "IASBpDCBoTCBngYLYIZIAYb4RQEHFwMwgY4wKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
+ "d3d3LnZlcmlzaWduLmNvbS9DUFMwYgYIKwYBBQUHAgIwVjAVFg5WZXJpU2lnbiwg\n"
+ "SW5jLjADAgEBGj1WZXJpU2lnbidzIENQUyBpbmNvcnAuIGJ5IHJlZmVyZW5jZSBs\n"
+ "aWFiLiBsdGQuIChjKTk3IFZlcmlTaWduMBMGA1UdJQQMMAoGCCsGAQUFBwMJMAsG\n"
+ "A1UdDwQEAwIHgDAPBgkrBgEFBQcwAQUEAgUAMCIGA1UdEQQbMBmkFzAVMRMwEQYD\n"
+ "VQQDEwpUR1YtQi0xNzk4MA0GCSqGSIb3DQEBBQUAA4IBAQCM8gJSyR4O8S5m52za\n"
+ "FSzMfAcai+j5AqoRhYmY/+n/Hs/2bAdPy/6a+ukWGwhWZQRYLNr7SSSBkuSuVk/W\n"
+ "zZX9VJmxAt1WzFRrXvgFyjSDtnqtg89LJbUOz5hG95d/scgb3ndv5Ey5193H/b8T\n"
+ "O6GZ933J0O3X6qk4bnMBDUPFXgyn0Xfv0jeYzOa/Tu2IPpcf0ugogbrZscsIZWFy\n"
+ "jFlwHnFGpd2k1GXaFRPqxk+qtLAxJtjN+DfkmxGNoIAv1hHXpBhDhuzTpnmXVf32\n"
+ "YfFIyYfRt/x/Z4hztF/MZ41QxJdZIqvCMooi1GAgeG2jkXLx+x6ppfhkN7+zOF8A\n"
+ "4W5J\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t long_resp_signer_data = { long_resp_signer_pem,
- sizeof(long_resp_signer_pem)
-};
+ sizeof(long_resp_signer_pem) };
static unsigned char long_resp_str[] =
- "\x30\x82\x06\xbe\x0a\x01\x00\xa0\x82\x06\xb7\x30\x82\x06\xb3\x06"
- "\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\xa4\x30\x82"
- "\x06\xa0\x30\x81\x9e\xa2\x16\x04\x14\x81\x75\x7a\x7e\x22\xc8\xa4"
- "\x4c\xdf\x9f\x2d\x3f\x87\x61\xaf\x57\xe1\xaf\x4f\xd9\x18\x0f\x32"
- "\x30\x31\x34\x31\x31\x31\x30\x32\x30\x33\x33\x31\x37\x5a\x30\x73"
- "\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04"
- "\x14\x0c\x81\x29\x38\x74\xb2\x96\x29\x10\x7e\xd8\x35\x62\x52\x64"
- "\x04\x53\x0d\xe0\x83\x04\x14\x0d\x44\x5c\x16\x53\x44\xc1\x82\x7e"
- "\x1d\x20\xab\x25\xf4\x01\x63\xd8\xbe\x79\xa5\x02\x10\x4e\xeb\x31"
- "\x09\x63\x39\x4e\x8e\xa0\x4e\x70\x9c\xa9\x1d\xcd\xa6\x80\x00\x18"
- "\x0f\x32\x30\x31\x34\x31\x31\x31\x30\x32\x30\x33\x33\x31\x37\x5a"
- "\xa0\x11\x18\x0f\x32\x30\x31\x34\x31\x31\x31\x37\x32\x30\x33\x33"
- "\x31\x37\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05"
- "\x05\x00\x03\x82\x01\x01\x00\x67\xf8\x80\x8d\x1b\x17\x3d\xbe\x81"
- "\xf4\x3e\x74\x6d\x65\x5d\x9c\xdf\xd7\xdc\x7c\xd5\x23\x75\x24\xaa"
- "\x55\x8f\xa5\x99\xf8\x27\xd6\x69\x8e\x5a\x25\x0d\x5e\x1e\x49\xfc"
- "\x50\x98\x7b\xe7\x49\xfb\x05\xa5\x04\x46\xb7\x5e\xf6\x20\x46\x18"
- "\xd5\xdc\x70\xd8\x99\x2b\x64\x12\xae\x74\x8e\xa1\xdb\x0e\x9f\x11"
- "\x47\xdf\x87\x6e\x9d\xb9\x13\xaa\x66\x33\x8c\xf3\x3d\xed\x33\x57"
- "\x7d\x4c\x82\x21\xc6\x18\x67\x56\xbe\x46\x78\xa8\xec\xd0\x5b\xc0"
- "\x2d\xb6\xee\x5a\xd8\xbf\xc3\xea\x49\xcd\x6d\x01\x97\x6e\x3a\x81"
- "\x0f\x06\x16\xb4\x1e\x15\x08\x5c\x46\x35\x44\xa4\x06\x84\x32\xaa"
- "\x1b\xb7\xc2\x97\xbf\xfd\xc8\xe2\x6b\x7a\xa2\x40\x3b\x50\x59\xd2"
- "\xbe\xa2\x26\x09\xea\xf7\xc1\x9e\x89\x1d\x34\x79\xc3\xba\xa6\xb8"
- "\x09\x92\xc8\xee\xa4\xe2\xe2\x32\x43\x48\xc8\xf6\x69\xe5\xde\x33"
- "\x75\xe8\x38\x8a\xb0\xda\x19\x38\x75\x39\xab\xd6\x3f\x70\xcc\x4e"
- "\x45\x16\x2a\x82\x32\x8e\x48\x92\xa4\x1f\xe9\x46\x85\x18\x78\xa7"
- "\x46\xf7\x11\x9e\x37\x95\x1a\xc3\x30\x2d\x90\x6a\xc3\xfd\x95\x81"
- "\x6b\xb1\xcb\x12\x26\x9e\xe4\xd3\x2a\xc1\xdf\x82\x57\xf2\x21\xea"
- "\x6a\x16\x12\x40\x94\xe1\xc9\xa0\x82\x04\xe7\x30\x82\x04\xe3\x30"
- "\x82\x04\xdf\x30\x82\x03\xc7\xa0\x03\x02\x01\x02\x02\x10\x3d\x9a"
- "\x82\xd0\xd1\xc3\x2f\x6f\xe0\x84\x5f\x99\x11\xee\x53\x42\x30\x0d"
- "\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xb5"
- "\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30"
- "\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e"
- "\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13"
- "\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20"
- "\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3b\x30\x39\x06\x03\x55\x04\x0b"
- "\x13\x32\x54\x65\x72\x6d\x73\x20\x6f\x66\x20\x75\x73\x65\x20\x61"
- "\x74\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x65"
- "\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x72\x70\x61\x20\x28"
- "\x63\x29\x31\x30\x31\x2f\x30\x2d\x06\x03\x55\x04\x03\x13\x26\x56"
- "\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20"
- "\x53\x65\x63\x75\x72\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41"
- "\x20\x2d\x20\x47\x33\x30\x1e\x17\x0d\x31\x34\x30\x39\x31\x32\x30"
- "\x30\x30\x30\x30\x30\x5a\x17\x0d\x31\x34\x31\x32\x31\x31\x32\x33"
- "\x35\x39\x35\x39\x5a\x30\x81\x87\x31\x0b\x30\x09\x06\x03\x55\x04"
- "\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e"
- "\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f"
- "\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67"
- "\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31"
- "\x3e\x30\x3c\x06\x03\x55\x04\x03\x13\x35\x56\x65\x72\x69\x53\x69"
- "\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x53\x65\x63\x75\x72"
- "\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41\x20\x2d\x20\x47\x33"
- "\x20\x4f\x43\x53\x50\x20\x52\x65\x73\x70\x6f\x6e\x64\x65\x72\x30"
- "\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01"
- "\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00"
- "\xb6\xe6\xde\x56\xa9\xb7\xbe\x7a\x49\xd0\x2e\x14\x87\xa5\x9e\x16"
- "\xed\x66\xf8\xa7\xd3\xdc\x3f\x89\x2d\xfc\x1a\x83\x29\x47\xd0\x37"
- "\xdb\xa7\x5c\x4a\x22\xb0\x9a\x4e\xcb\x62\x72\xc4\x92\x04\x08\x99"
- "\xbe\x60\xe0\xdc\x7a\xfa\x79\x10\xba\x16\x68\x26\x24\xb1\xbe\xaa"
- "\x0f\x4e\x0c\x2d\xd6\x76\x6d\x43\x8b\xf5\xc1\xe8\xad\x98\x8d\x5e"
- "\x96\x03\x92\x8a\x7f\x98\xae\xb8\xf1\x3c\x2a\x62\x62\xb1\x69\x8f"
- "\x7a\xb0\x6c\xcc\xf6\x2b\x99\x2d\x95\x79\x7f\xd8\x57\x98\xe5\x75"
- "\x98\xbb\x3c\xf8\x66\xc7\x1f\xc4\xf1\x75\x99\xbd\x4d\x77\x90\xbb"
- "\x23\xea\xd9\x38\x4e\xe7\x8f\xb9\xbd\x69\x03\xc4\x73\x38\x29\x85"
- "\xf6\x5b\x30\x16\xf9\x91\xc7\x9e\xba\xc9\x01\x90\x6c\xaf\xd3\x93"
- "\xf0\x61\xb4\xa4\x3d\x30\x38\x6f\x33\x40\xe5\xd2\x93\xd9\x9b\x17"
- "\xce\x9f\x97\x0b\xdd\x84\xb2\xc5\x76\xb2\x64\x62\x47\xf0\x35\x6a"
- "\x2d\x2e\x2d\x46\x5e\x07\x86\xc9\x80\x80\xac\xe8\xf3\x71\x3d\x46"
- "\x8b\xb7\x54\xa7\xda\x00\x60\x8b\xe8\xb0\xdf\x4d\xfd\xff\xc6\x80"
- "\x6f\x1e\x76\x14\x99\xb5\xc9\x5b\xf7\x31\x10\xed\x69\x5a\x91\x97"
- "\x59\x16\x0a\x7c\x86\xfd\x52\xc4\x84\xfd\x58\x73\x27\x80\x0b\x47"
- "\x02\x03\x01\x00\x01\xa3\x82\x01\x15\x30\x82\x01\x11\x30\x09\x06"
- "\x03\x55\x1d\x13\x04\x02\x30\x00\x30\x81\xac\x06\x03\x55\x1d\x20"
- "\x04\x81\xa4\x30\x81\xa1\x30\x81\x9e\x06\x0b\x60\x86\x48\x01\x86"
- "\xf8\x45\x01\x07\x17\x03\x30\x81\x8e\x30\x28\x06\x08\x2b\x06\x01"
- "\x05\x05\x07\x02\x01\x16\x1c\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77"
- "\x77\x77\x2e\x76\x65\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f"
- "\x43\x50\x53\x30\x62\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30"
- "\x56\x30\x15\x16\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49"
- "\x6e\x63\x2e\x30\x03\x02\x01\x01\x1a\x3d\x56\x65\x72\x69\x53\x69"
- "\x67\x6e\x27\x73\x20\x43\x50\x53\x20\x69\x6e\x63\x6f\x72\x70\x2e"
- "\x20\x62\x79\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x6c\x69"
- "\x61\x62\x2e\x20\x6c\x74\x64\x2e\x20\x28\x63\x29\x39\x37\x20\x56"
- "\x65\x72\x69\x53\x69\x67\x6e\x30\x13\x06\x03\x55\x1d\x25\x04\x0c"
- "\x30\x0a\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x09\x30\x0b\x06\x03"
- "\x55\x1d\x0f\x04\x04\x03\x02\x07\x80\x30\x0f\x06\x09\x2b\x06\x01"
- "\x05\x05\x07\x30\x01\x05\x04\x02\x05\x00\x30\x22\x06\x03\x55\x1d"
- "\x11\x04\x1b\x30\x19\xa4\x17\x30\x15\x31\x13\x30\x11\x06\x03\x55"
- "\x04\x03\x13\x0a\x54\x47\x56\x2d\x42\x2d\x31\x37\x39\x38\x30\x0d"
- "\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01"
- "\x01\x00\x8c\xf2\x02\x52\xc9\x1e\x0e\xf1\x2e\x66\xe7\x6c\xda\x15"
- "\x2c\xcc\x7c\x07\x1a\x8b\xe8\xf9\x02\xaa\x11\x85\x89\x98\xff\xe9"
- "\xff\x1e\xcf\xf6\x6c\x07\x4f\xcb\xfe\x9a\xfa\xe9\x16\x1b\x08\x56"
- "\x65\x04\x58\x2c\xda\xfb\x49\x24\x81\x92\xe4\xae\x56\x4f\xd6\xcd"
- "\x95\xfd\x54\x99\xb1\x02\xdd\x56\xcc\x54\x6b\x5e\xf8\x05\xca\x34"
- "\x83\xb6\x7a\xad\x83\xcf\x4b\x25\xb5\x0e\xcf\x98\x46\xf7\x97\x7f"
- "\xb1\xc8\x1b\xde\x77\x6f\xe4\x4c\xb9\xd7\xdd\xc7\xfd\xbf\x13\x3b"
- "\xa1\x99\xf7\x7d\xc9\xd0\xed\xd7\xea\xa9\x38\x6e\x73\x01\x0d\x43"
- "\xc5\x5e\x0c\xa7\xd1\x77\xef\xd2\x37\x98\xcc\xe6\xbf\x4e\xed\x88"
- "\x3e\x97\x1f\xd2\xe8\x28\x81\xba\xd9\xb1\xcb\x08\x65\x61\x72\x8c"
- "\x59\x70\x1e\x71\x46\xa5\xdd\xa4\xd4\x65\xda\x15\x13\xea\xc6\x4f"
- "\xaa\xb4\xb0\x31\x26\xd8\xcd\xf8\x37\xe4\x9b\x11\x8d\xa0\x80\x2f"
- "\xd6\x11\xd7\xa4\x18\x43\x86\xec\xd3\xa6\x79\x97\x55\xfd\xf6\x61"
- "\xf1\x48\xc9\x87\xd1\xb7\xfc\x7f\x67\x88\x73\xb4\x5f\xcc\x67\x8d"
- "\x50\xc4\x97\x59\x22\xab\xc2\x32\x8a\x22\xd4\x60\x20\x78\x6d\xa3"
- "\x91\x72\xf1\xfb\x1e\xa9\xa5\xf8\x64\x37\xbf\xb3\x38\x5f\x00\xe1"
- "\x6e\x49";
+ "\x30\x82\x06\xbe\x0a\x01\x00\xa0\x82\x06\xb7\x30\x82\x06\xb3\x06"
+ "\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\xa4\x30\x82"
+ "\x06\xa0\x30\x81\x9e\xa2\x16\x04\x14\x81\x75\x7a\x7e\x22\xc8\xa4"
+ "\x4c\xdf\x9f\x2d\x3f\x87\x61\xaf\x57\xe1\xaf\x4f\xd9\x18\x0f\x32"
+ "\x30\x31\x34\x31\x31\x31\x30\x32\x30\x33\x33\x31\x37\x5a\x30\x73"
+ "\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04"
+ "\x14\x0c\x81\x29\x38\x74\xb2\x96\x29\x10\x7e\xd8\x35\x62\x52\x64"
+ "\x04\x53\x0d\xe0\x83\x04\x14\x0d\x44\x5c\x16\x53\x44\xc1\x82\x7e"
+ "\x1d\x20\xab\x25\xf4\x01\x63\xd8\xbe\x79\xa5\x02\x10\x4e\xeb\x31"
+ "\x09\x63\x39\x4e\x8e\xa0\x4e\x70\x9c\xa9\x1d\xcd\xa6\x80\x00\x18"
+ "\x0f\x32\x30\x31\x34\x31\x31\x31\x30\x32\x30\x33\x33\x31\x37\x5a"
+ "\xa0\x11\x18\x0f\x32\x30\x31\x34\x31\x31\x31\x37\x32\x30\x33\x33"
+ "\x31\x37\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05"
+ "\x05\x00\x03\x82\x01\x01\x00\x67\xf8\x80\x8d\x1b\x17\x3d\xbe\x81"
+ "\xf4\x3e\x74\x6d\x65\x5d\x9c\xdf\xd7\xdc\x7c\xd5\x23\x75\x24\xaa"
+ "\x55\x8f\xa5\x99\xf8\x27\xd6\x69\x8e\x5a\x25\x0d\x5e\x1e\x49\xfc"
+ "\x50\x98\x7b\xe7\x49\xfb\x05\xa5\x04\x46\xb7\x5e\xf6\x20\x46\x18"
+ "\xd5\xdc\x70\xd8\x99\x2b\x64\x12\xae\x74\x8e\xa1\xdb\x0e\x9f\x11"
+ "\x47\xdf\x87\x6e\x9d\xb9\x13\xaa\x66\x33\x8c\xf3\x3d\xed\x33\x57"
+ "\x7d\x4c\x82\x21\xc6\x18\x67\x56\xbe\x46\x78\xa8\xec\xd0\x5b\xc0"
+ "\x2d\xb6\xee\x5a\xd8\xbf\xc3\xea\x49\xcd\x6d\x01\x97\x6e\x3a\x81"
+ "\x0f\x06\x16\xb4\x1e\x15\x08\x5c\x46\x35\x44\xa4\x06\x84\x32\xaa"
+ "\x1b\xb7\xc2\x97\xbf\xfd\xc8\xe2\x6b\x7a\xa2\x40\x3b\x50\x59\xd2"
+ "\xbe\xa2\x26\x09\xea\xf7\xc1\x9e\x89\x1d\x34\x79\xc3\xba\xa6\xb8"
+ "\x09\x92\xc8\xee\xa4\xe2\xe2\x32\x43\x48\xc8\xf6\x69\xe5\xde\x33"
+ "\x75\xe8\x38\x8a\xb0\xda\x19\x38\x75\x39\xab\xd6\x3f\x70\xcc\x4e"
+ "\x45\x16\x2a\x82\x32\x8e\x48\x92\xa4\x1f\xe9\x46\x85\x18\x78\xa7"
+ "\x46\xf7\x11\x9e\x37\x95\x1a\xc3\x30\x2d\x90\x6a\xc3\xfd\x95\x81"
+ "\x6b\xb1\xcb\x12\x26\x9e\xe4\xd3\x2a\xc1\xdf\x82\x57\xf2\x21\xea"
+ "\x6a\x16\x12\x40\x94\xe1\xc9\xa0\x82\x04\xe7\x30\x82\x04\xe3\x30"
+ "\x82\x04\xdf\x30\x82\x03\xc7\xa0\x03\x02\x01\x02\x02\x10\x3d\x9a"
+ "\x82\xd0\xd1\xc3\x2f\x6f\xe0\x84\x5f\x99\x11\xee\x53\x42\x30\x0d"
+ "\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xb5"
+ "\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30"
+ "\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e"
+ "\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13"
+ "\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20"
+ "\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3b\x30\x39\x06\x03\x55\x04\x0b"
+ "\x13\x32\x54\x65\x72\x6d\x73\x20\x6f\x66\x20\x75\x73\x65\x20\x61"
+ "\x74\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x65"
+ "\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x72\x70\x61\x20\x28"
+ "\x63\x29\x31\x30\x31\x2f\x30\x2d\x06\x03\x55\x04\x03\x13\x26\x56"
+ "\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20"
+ "\x53\x65\x63\x75\x72\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41"
+ "\x20\x2d\x20\x47\x33\x30\x1e\x17\x0d\x31\x34\x30\x39\x31\x32\x30"
+ "\x30\x30\x30\x30\x30\x5a\x17\x0d\x31\x34\x31\x32\x31\x31\x32\x33"
+ "\x35\x39\x35\x39\x5a\x30\x81\x87\x31\x0b\x30\x09\x06\x03\x55\x04"
+ "\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e"
+ "\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f"
+ "\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67"
+ "\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31"
+ "\x3e\x30\x3c\x06\x03\x55\x04\x03\x13\x35\x56\x65\x72\x69\x53\x69"
+ "\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x53\x65\x63\x75\x72"
+ "\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41\x20\x2d\x20\x47\x33"
+ "\x20\x4f\x43\x53\x50\x20\x52\x65\x73\x70\x6f\x6e\x64\x65\x72\x30"
+ "\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01"
+ "\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00"
+ "\xb6\xe6\xde\x56\xa9\xb7\xbe\x7a\x49\xd0\x2e\x14\x87\xa5\x9e\x16"
+ "\xed\x66\xf8\xa7\xd3\xdc\x3f\x89\x2d\xfc\x1a\x83\x29\x47\xd0\x37"
+ "\xdb\xa7\x5c\x4a\x22\xb0\x9a\x4e\xcb\x62\x72\xc4\x92\x04\x08\x99"
+ "\xbe\x60\xe0\xdc\x7a\xfa\x79\x10\xba\x16\x68\x26\x24\xb1\xbe\xaa"
+ "\x0f\x4e\x0c\x2d\xd6\x76\x6d\x43\x8b\xf5\xc1\xe8\xad\x98\x8d\x5e"
+ "\x96\x03\x92\x8a\x7f\x98\xae\xb8\xf1\x3c\x2a\x62\x62\xb1\x69\x8f"
+ "\x7a\xb0\x6c\xcc\xf6\x2b\x99\x2d\x95\x79\x7f\xd8\x57\x98\xe5\x75"
+ "\x98\xbb\x3c\xf8\x66\xc7\x1f\xc4\xf1\x75\x99\xbd\x4d\x77\x90\xbb"
+ "\x23\xea\xd9\x38\x4e\xe7\x8f\xb9\xbd\x69\x03\xc4\x73\x38\x29\x85"
+ "\xf6\x5b\x30\x16\xf9\x91\xc7\x9e\xba\xc9\x01\x90\x6c\xaf\xd3\x93"
+ "\xf0\x61\xb4\xa4\x3d\x30\x38\x6f\x33\x40\xe5\xd2\x93\xd9\x9b\x17"
+ "\xce\x9f\x97\x0b\xdd\x84\xb2\xc5\x76\xb2\x64\x62\x47\xf0\x35\x6a"
+ "\x2d\x2e\x2d\x46\x5e\x07\x86\xc9\x80\x80\xac\xe8\xf3\x71\x3d\x46"
+ "\x8b\xb7\x54\xa7\xda\x00\x60\x8b\xe8\xb0\xdf\x4d\xfd\xff\xc6\x80"
+ "\x6f\x1e\x76\x14\x99\xb5\xc9\x5b\xf7\x31\x10\xed\x69\x5a\x91\x97"
+ "\x59\x16\x0a\x7c\x86\xfd\x52\xc4\x84\xfd\x58\x73\x27\x80\x0b\x47"
+ "\x02\x03\x01\x00\x01\xa3\x82\x01\x15\x30\x82\x01\x11\x30\x09\x06"
+ "\x03\x55\x1d\x13\x04\x02\x30\x00\x30\x81\xac\x06\x03\x55\x1d\x20"
+ "\x04\x81\xa4\x30\x81\xa1\x30\x81\x9e\x06\x0b\x60\x86\x48\x01\x86"
+ "\xf8\x45\x01\x07\x17\x03\x30\x81\x8e\x30\x28\x06\x08\x2b\x06\x01"
+ "\x05\x05\x07\x02\x01\x16\x1c\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77"
+ "\x77\x77\x2e\x76\x65\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f"
+ "\x43\x50\x53\x30\x62\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30"
+ "\x56\x30\x15\x16\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49"
+ "\x6e\x63\x2e\x30\x03\x02\x01\x01\x1a\x3d\x56\x65\x72\x69\x53\x69"
+ "\x67\x6e\x27\x73\x20\x43\x50\x53\x20\x69\x6e\x63\x6f\x72\x70\x2e"
+ "\x20\x62\x79\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x6c\x69"
+ "\x61\x62\x2e\x20\x6c\x74\x64\x2e\x20\x28\x63\x29\x39\x37\x20\x56"
+ "\x65\x72\x69\x53\x69\x67\x6e\x30\x13\x06\x03\x55\x1d\x25\x04\x0c"
+ "\x30\x0a\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x09\x30\x0b\x06\x03"
+ "\x55\x1d\x0f\x04\x04\x03\x02\x07\x80\x30\x0f\x06\x09\x2b\x06\x01"
+ "\x05\x05\x07\x30\x01\x05\x04\x02\x05\x00\x30\x22\x06\x03\x55\x1d"
+ "\x11\x04\x1b\x30\x19\xa4\x17\x30\x15\x31\x13\x30\x11\x06\x03\x55"
+ "\x04\x03\x13\x0a\x54\x47\x56\x2d\x42\x2d\x31\x37\x39\x38\x30\x0d"
+ "\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01"
+ "\x01\x00\x8c\xf2\x02\x52\xc9\x1e\x0e\xf1\x2e\x66\xe7\x6c\xda\x15"
+ "\x2c\xcc\x7c\x07\x1a\x8b\xe8\xf9\x02\xaa\x11\x85\x89\x98\xff\xe9"
+ "\xff\x1e\xcf\xf6\x6c\x07\x4f\xcb\xfe\x9a\xfa\xe9\x16\x1b\x08\x56"
+ "\x65\x04\x58\x2c\xda\xfb\x49\x24\x81\x92\xe4\xae\x56\x4f\xd6\xcd"
+ "\x95\xfd\x54\x99\xb1\x02\xdd\x56\xcc\x54\x6b\x5e\xf8\x05\xca\x34"
+ "\x83\xb6\x7a\xad\x83\xcf\x4b\x25\xb5\x0e\xcf\x98\x46\xf7\x97\x7f"
+ "\xb1\xc8\x1b\xde\x77\x6f\xe4\x4c\xb9\xd7\xdd\xc7\xfd\xbf\x13\x3b"
+ "\xa1\x99\xf7\x7d\xc9\xd0\xed\xd7\xea\xa9\x38\x6e\x73\x01\x0d\x43"
+ "\xc5\x5e\x0c\xa7\xd1\x77\xef\xd2\x37\x98\xcc\xe6\xbf\x4e\xed\x88"
+ "\x3e\x97\x1f\xd2\xe8\x28\x81\xba\xd9\xb1\xcb\x08\x65\x61\x72\x8c"
+ "\x59\x70\x1e\x71\x46\xa5\xdd\xa4\xd4\x65\xda\x15\x13\xea\xc6\x4f"
+ "\xaa\xb4\xb0\x31\x26\xd8\xcd\xf8\x37\xe4\x9b\x11\x8d\xa0\x80\x2f"
+ "\xd6\x11\xd7\xa4\x18\x43\x86\xec\xd3\xa6\x79\x97\x55\xfd\xf6\x61"
+ "\xf1\x48\xc9\x87\xd1\xb7\xfc\x7f\x67\x88\x73\xb4\x5f\xcc\x67\x8d"
+ "\x50\xc4\x97\x59\x22\xab\xc2\x32\x8a\x22\xd4\x60\x20\x78\x6d\xa3"
+ "\x91\x72\xf1\xfb\x1e\xa9\xa5\xf8\x64\x37\xbf\xb3\x38\x5f\x00\xe1"
+ "\x6e\x49";
gnutls_datum_t long_resp = { long_resp_str, sizeof(long_resp_str) - 1 };
@@ -809,9 +816,8 @@ static void ocsp_invalid_calls(void)
exit(1);
}
- rc = gnutls_ocsp_resp_get_responder_raw_id(resp,
- GNUTLS_OCSP_RESP_ID_KEY,
- &dat);
+ rc = gnutls_ocsp_resp_get_responder_raw_id(
+ resp, GNUTLS_OCSP_RESP_ID_KEY, &dat);
if (rc != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
fail("gnutls_ocsp_resp_get_responder_raw_id %s\n",
gnutls_strerror(rc));
@@ -858,8 +864,7 @@ static void req_parse(void)
/* check nonce */
{
gnutls_datum_t expect = { (unsigned char *)REQ1NONCE + 2,
- sizeof(REQ1NONCE) - 3
- };
+ sizeof(REQ1NONCE) - 3 };
gnutls_datum_t got;
unsigned int critical;
@@ -894,8 +899,8 @@ static void req_parse(void)
if (strlen(REQ1INFO) != d.size ||
memcmp(REQ1INFO, d.data, strlen(REQ1INFO)) != 0) {
printf("expected (len %ld):\n%s\ngot (len %d):\n%.*s\n",
- strlen(REQ1INFO), REQ1INFO, (int)d.size,
- (int)d.size, d.data);
+ strlen(REQ1INFO), REQ1INFO, (int)d.size, (int)d.size,
+ d.data);
fail("ocsp request print failed\n");
exit(1);
}
@@ -1011,8 +1016,8 @@ static void req_parse(void)
exit(1);
}
- if (n2.size == got.size
- && memcmp(n1.data, n2.data, n1.size) == 0) {
+ if (n2.size == got.size &&
+ memcmp(n1.data, n2.data, n1.size) == 0) {
fail("ocsp request random nonce memcmp failed\n");
exit(1);
}
@@ -1045,13 +1050,11 @@ static void req_addcert_id(void)
/* add ocsp request nonce */
{
- gnutls_datum_t nonce =
- { (unsigned char *)REQ1NONCE, sizeof(REQ1NONCE) - 1 };
+ gnutls_datum_t nonce = { (unsigned char *)REQ1NONCE,
+ sizeof(REQ1NONCE) - 1 };
- ret =
- gnutls_ocsp_req_set_extension(req,
- "1.3.6.1.5.5.7.48.1.2",
- 0, &nonce);
+ ret = gnutls_ocsp_req_set_extension(req, "1.3.6.1.5.5.7.48.1.2",
+ 0, &nonce);
if (ret != 0) {
fail("gnutls_ocsp_req_set_extension %d\n", ret);
exit(1);
@@ -1060,12 +1063,12 @@ static void req_addcert_id(void)
/* add cert_id */
{
- gnutls_datum_t issuer_name_hash =
- { (unsigned char *)REQ1INH, sizeof(REQ1INH) - 1 };
- gnutls_datum_t issuer_key_hash =
- { (unsigned char *)REQ1IKH, sizeof(REQ1IKH) - 1 };
- gnutls_datum_t serial_number =
- { (unsigned char *)REQ1SN, sizeof(REQ1SN) - 1 };
+ gnutls_datum_t issuer_name_hash = { (unsigned char *)REQ1INH,
+ sizeof(REQ1INH) - 1 };
+ gnutls_datum_t issuer_key_hash = { (unsigned char *)REQ1IKH,
+ sizeof(REQ1IKH) - 1 };
+ gnutls_datum_t serial_number = { (unsigned char *)REQ1SN,
+ sizeof(REQ1SN) - 1 };
ret = gnutls_ocsp_req_add_cert_id(req, GNUTLS_DIG_SHA1,
&issuer_name_hash,
@@ -1088,8 +1091,8 @@ static void req_addcert_id(void)
if (strlen(REQ1INFO) != d.size ||
memcmp(REQ1INFO, d.data, strlen(REQ1INFO)) != 0) {
printf("expected (len %ld):\n%s\ngot (len %d):\n%.*s\n",
- strlen(REQ1INFO), REQ1INFO, (int)d.size,
- (int)d.size, d.data);
+ strlen(REQ1INFO), REQ1INFO, (int)d.size, (int)d.size,
+ d.data);
fail("ocsp request print failed\n");
exit(1);
}
@@ -1134,13 +1137,11 @@ static void req_addcert(void)
/* add ocsp request nonce */
{
- gnutls_datum_t nonce =
- { (unsigned char *)REQ1NONCE, sizeof(REQ1NONCE) - 1 };
+ gnutls_datum_t nonce = { (unsigned char *)REQ1NONCE,
+ sizeof(REQ1NONCE) - 1 };
- ret =
- gnutls_ocsp_req_set_extension(req,
- "1.3.6.1.5.5.7.48.1.2",
- 0, &nonce);
+ ret = gnutls_ocsp_req_set_extension(req, "1.3.6.1.5.5.7.48.1.2",
+ 0, &nonce);
if (ret != 0) {
fail("gnutls_ocsp_req_set_extension %d\n", ret);
exit(1);
@@ -1163,24 +1164,22 @@ static void req_addcert(void)
exit(1);
}
- ret =
- gnutls_x509_crt_import(issuer, &issuer_data,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(issuer, &issuer_data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import (issuer) %d\n", ret);
exit(1);
}
- ret =
- gnutls_x509_crt_import(subject, &subject_data,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(subject, &subject_data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import (subject) %d\n", ret);
exit(1);
}
- ret = gnutls_ocsp_req_add_cert(req, GNUTLS_DIG_SHA1,
- issuer, subject);
+ ret = gnutls_ocsp_req_add_cert(req, GNUTLS_DIG_SHA1, issuer,
+ subject);
if (ret != 0) {
fail("gnutls_ocsp_add_cert %d\n", ret);
exit(1);
@@ -1201,8 +1200,8 @@ static void req_addcert(void)
if (strlen(REQ1INFO) != d.size ||
memcmp(REQ1INFO, d.data, strlen(REQ1INFO)) != 0) {
printf("expected (len %ld):\n%s\ngot (len %d):\n%.*s\n",
- strlen(REQ1INFO), REQ1INFO, (int)d.size,
- (int)d.size, d.data);
+ strlen(REQ1INFO), REQ1INFO, (int)d.size, (int)d.size,
+ d.data);
fail("ocsp request print failed\n");
exit(1);
}
@@ -1265,9 +1264,8 @@ static void check_ocsp_resp(gnutls_ocsp_resp_t resp)
gnutls_strerror(ret));
}
- ret = gnutls_ocsp_resp_get_single(resp, 0, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL,
- &revocation_reason);
+ ret = gnutls_ocsp_resp_get_single(resp, 0, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, &revocation_reason);
if (ret < 0) {
fail("error in gnutls_ocsp_resp_get_single: %s\n",
gnutls_strerror(ret));
@@ -1310,8 +1308,8 @@ static void resp_import(void)
if (strlen(RESP1INFO) != d.size ||
memcmp(RESP1INFO, d.data, strlen(RESP1INFO)) != 0) {
printf("expected (len %ld):\n%s\ngot (len %d):\n%.*s\n",
- strlen(RESP1INFO), RESP1INFO, (int)d.size,
- (int)d.size, d.data);
+ strlen(RESP1INFO), RESP1INFO, (int)d.size, (int)d.size,
+ d.data);
fail("ocsp response print failed\n");
exit(1);
}
@@ -1337,8 +1335,8 @@ static void resp_import(void)
if (memcmp(RESP2INFO, d.data, strlen(RESP2INFO)) != 0) {
printf("expected (len %ld):\n%s\ngot (len %d):\n%.*s\n",
- strlen(RESP2INFO), RESP2INFO, (int)d.size,
- (int)d.size, d.data);
+ strlen(RESP2INFO), RESP2INFO, (int)d.size, (int)d.size,
+ d.data);
fail("ocsp response print failed\n");
exit(1);
}
@@ -1373,8 +1371,8 @@ static void resp_import(void)
if (memcmp(RESP3INFO, d.data, strlen(RESP3INFO)) != 0) {
printf("expected (len %ld):\n%s\ngot (len %d):\n%.*s\n",
- strlen(RESP3INFO), RESP3INFO, (int)d.size,
- (int)d.size, d.data);
+ strlen(RESP3INFO), RESP3INFO, (int)d.size, (int)d.size,
+ d.data);
fail("ocsp response 3 print failed\n");
exit(1);
}
@@ -1427,24 +1425,22 @@ static void resp_verify(void)
exit(1);
}
- ret =
- gnutls_x509_crt_import(cert, &blog_cert_data, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(cert, &blog_cert_data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import (cert) %d\n", ret);
exit(1);
}
- ret =
- gnutls_x509_crt_import(issuer, &blog_issuer_data,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(issuer, &blog_issuer_data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import (issuer) %d\n", ret);
exit(1);
}
- ret =
- gnutls_x509_crt_import(signer, &blog_signer_data,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(signer, &blog_signer_data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import (signer) %d\n", ret);
exit(1);
@@ -1465,9 +1461,8 @@ static void resp_verify(void)
/* check direct verify with cert (should fail) */
- ret =
- gnutls_ocsp_resp_verify_direct(resp, cert, &verify,
- GNUTLS_VERIFY_ALLOW_BROKEN);
+ ret = gnutls_ocsp_resp_verify_direct(resp, cert, &verify,
+ GNUTLS_VERIFY_ALLOW_BROKEN);
if (ret < 0) {
fail("gnutls_ocsp_resp_verify_direct (cert) %d\n", ret);
exit(1);
@@ -1492,9 +1487,8 @@ static void resp_verify(void)
exit(1);
}
- ret =
- gnutls_ocsp_resp_verify(resp, list, &verify,
- GNUTLS_VERIFY_ALLOW_BROKEN);
+ ret = gnutls_ocsp_resp_verify(resp, list, &verify,
+ GNUTLS_VERIFY_ALLOW_BROKEN);
if (ret < 0) {
fail("gnutls_ocsp_resp_verify (issuer) %d\n", ret);
exit(1);
@@ -1548,9 +1542,8 @@ static void resp_verify(void)
exit(1);
}
- ret =
- gnutls_ocsp_resp_verify(resp, list, &verify,
- GNUTLS_VERIFY_ALLOW_BROKEN);
+ ret = gnutls_ocsp_resp_verify(resp, list, &verify,
+ GNUTLS_VERIFY_ALLOW_BROKEN);
if (ret < 0) {
fail("gnutls_ocsp_resp_verify (issuer) %d\n", ret);
exit(1);
@@ -1640,9 +1633,8 @@ static void long_resp_check(void)
exit(1);
}
- ret =
- gnutls_x509_crt_import(signer, &long_resp_signer_data,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(signer, &long_resp_signer_data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import (cert) %d\n", ret);
exit(1);
diff --git a/tests/oids.c b/tests/oids.c
index fd95f7006b..77fb7a055e 100644
--- a/tests/oids.c
+++ b/tests/oids.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,21 +32,21 @@
#include "utils.h"
-#define SELF_TEST_SIG(x) \
- ret = gnutls_oid_to_sign(gnutls_sign_get_oid(x)); \
- if (ret != x) { \
+#define SELF_TEST_SIG(x) \
+ ret = gnutls_oid_to_sign(gnutls_sign_get_oid(x)); \
+ if (ret != x) { \
fail("error testing %s\n", gnutls_sign_get_name(x)); \
}
-#define SELF_TEST_PK(x) \
- ret = gnutls_oid_to_pk(gnutls_pk_get_oid(x)); \
- if (ret != x) { \
+#define SELF_TEST_PK(x) \
+ ret = gnutls_oid_to_pk(gnutls_pk_get_oid(x)); \
+ if (ret != x) { \
fail("error testing %s\n", gnutls_pk_get_name(x)); \
}
-#define SELF_TEST_DIG(x) \
- ret = gnutls_oid_to_digest(gnutls_digest_get_oid(x)); \
- if (ret != x) { \
+#define SELF_TEST_DIG(x) \
+ ret = gnutls_oid_to_digest(gnutls_digest_get_oid(x)); \
+ if (ret != x) { \
fail("error testing %s\n", gnutls_digest_get_name(x)); \
}
diff --git a/tests/openconnect-dtls12.c b/tests/openconnect-dtls12.c
index dab7ed647a..722961ed82 100644
--- a/tests/openconnect-dtls12.c
+++ b/tests/openconnect-dtls12.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void server_log_func(int level, const char *str)
{
@@ -62,7 +62,7 @@ static void client_log_func(int level, const char *str)
/* A DTLS client handling DTLS 1.2 resumption under AnyConnect protocol which sets premaster secret.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
@@ -71,8 +71,8 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
return send(fd, data, len, 0);
}
-static gnutls_datum_t master = { (void *)
- "\x44\x66\x44\xa9\xb6\x29\xed\x6e\xd6\x93\x15\xdb\xf0\x7d\x4b\x2e\x18\xb1\x9d\xed\xff\x6a\x86\x76\xc9\x0e\x16\xab\xc2\x10\xbb\x17\x99\x24\xb1\xd9\xb9\x95\xe7\xea\xea\xea\xea\xea\xff\xaa\xac",
+static gnutls_datum_t master = {
+ (void *)"\x44\x66\x44\xa9\xb6\x29\xed\x6e\xd6\x93\x15\xdb\xf0\x7d\x4b\x2e\x18\xb1\x9d\xed\xff\x6a\x86\x76\xc9\x0e\x16\xab\xc2\x10\xbb\x17\x99\x24\xb1\xd9\xb9\x95\xe7\xea\xea\xea\xea\xea\xff\xaa\xac",
48
};
static gnutls_datum_t sess_id = { (void *)"\xd9\xb9\x95\xe7\xea", 5 };
@@ -101,9 +101,9 @@ static void client(int fd, const char *prio, int proto, int cipher, int kx,
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
- ret = gnutls_session_set_premaster(session, GNUTLS_CLIENT,
- proto, kx, cipher, mac,
- GNUTLS_COMP_NULL, &master, &sess_id);
+ ret = gnutls_session_set_premaster(session, GNUTLS_CLIENT, proto, kx,
+ cipher, mac, GNUTLS_COMP_NULL,
+ &master, &sess_id);
if (ret < 0) {
fail("client: gnutls_session_set_premaster failed: %s\n",
gnutls_strerror(ret));
@@ -119,8 +119,7 @@ static void client(int fd, const char *prio, int proto, int cipher, int kx,
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -144,8 +143,8 @@ static void client(int fd, const char *prio, int proto, int cipher, int kx,
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -162,7 +161,7 @@ static void client(int fd, const char *prio, int proto, int cipher, int kx,
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -201,9 +200,9 @@ static void server(int fd, const char *prio, int proto, int cipher, int kx,
*/
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
- ret = gnutls_session_set_premaster(session, GNUTLS_SERVER,
- proto, kx, cipher, mac,
- GNUTLS_COMP_NULL, &master, &sess_id);
+ ret = gnutls_session_set_premaster(session, GNUTLS_SERVER, proto, kx,
+ cipher, mac, GNUTLS_COMP_NULL,
+ &master, &sess_id);
if (ret < 0) {
fail("server: gnutls_session_set_premaster failed: %s\n",
gnutls_strerror(ret));
@@ -217,8 +216,7 @@ static void server(int fd, const char *prio, int proto, int cipher, int kx,
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -230,8 +228,8 @@ static void server(int fd, const char *prio, int proto, int cipher, int kx,
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -324,4 +322,4 @@ void doit(void)
GNUTLS_MAC_AEAD, "(DTLS1.2)-(RSA)-(AES-256-GCM)");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/openssl.c b/tests/openssl.c
index 604d58d002..5dff1e32f4 100644
--- a/tests/openssl.c
+++ b/tests/openssl.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -49,8 +49,10 @@ void doit(void)
MD5_Update(&c, "abc", 3);
MD5_Final(&(md[0]), &c);
- if (memcmp(md, "\x90\x01\x50\x98\x3c\xd2\x4f\xb0"
- "\xd6\x96\x3f\x7d\x28\xe1\x7f\x72", sizeof(md)) != 0) {
+ if (memcmp(md,
+ "\x90\x01\x50\x98\x3c\xd2\x4f\xb0"
+ "\xd6\x96\x3f\x7d\x28\xe1\x7f\x72",
+ sizeof(md)) != 0) {
hexprint(md, sizeof(md));
fail("MD5 failure\n");
} else if (debug)
diff --git a/tests/parse_ca.c b/tests/parse_ca.c
index ff8cb63509..9fe5996a2c 100644
--- a/tests/parse_ca.c
+++ b/tests/parse_ca.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,31 +28,32 @@
#include "utils.h"
static char castr[] =
- "-----BEGIN CERTIFICATE-----\r\n"
- "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\r\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\r\n"
- "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\r\n"
- "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\r\n"
- "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\r\n"
- "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\r\n"
- "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\r\n"
- "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\r\n"
- "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\r\n"
- "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\r\n"
- "PfqUpIhz5Bbm7J4=\r\n"
- "-----END CERTIFICATE-----\r\n"
- "-----BEGIN CERTIFICATE-----\r\n"
- "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\r\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\r\n"
- "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\r\n"
- "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\r\n"
- "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\r\n"
- "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\r\n"
- "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\r\n"
- "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\r\n"
- "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\r\n"
- "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\r\n"
- "PfqUpIhz5Bbm7J4=\r\n" "-----END CERTIFICATE-----\r\n";
+ "-----BEGIN CERTIFICATE-----\r\n"
+ "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\r\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\r\n"
+ "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\r\n"
+ "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\r\n"
+ "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\r\n"
+ "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\r\n"
+ "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\r\n"
+ "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\r\n"
+ "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\r\n"
+ "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\r\n"
+ "PfqUpIhz5Bbm7J4=\r\n"
+ "-----END CERTIFICATE-----\r\n"
+ "-----BEGIN CERTIFICATE-----\r\n"
+ "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\r\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\r\n"
+ "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\r\n"
+ "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\r\n"
+ "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\r\n"
+ "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\r\n"
+ "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\r\n"
+ "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\r\n"
+ "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\r\n"
+ "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\r\n"
+ "PfqUpIhz5Bbm7J4=\r\n"
+ "-----END CERTIFICATE-----\r\n";
void doit(void)
{
diff --git a/tests/pcert-list.c b/tests/pcert-list.c
index 66244a8891..a90d14fd7a 100644
--- a/tests/pcert-list.c
+++ b/tests/pcert-list.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,222 +35,218 @@
/* This tests functions related to pcert-lists
*/
-#define CERT0 \
-"-----BEGIN CERTIFICATE-----\n" \
-"MIIEITCCAomgAwIBAgIMVsXM+TCHHodT4TxYMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n" \
-"BgNVBAMTBENBLTIwIBcNMTYwMjE4MTM1NDAxWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n" \
-"ETAPBgNVBAMTCHNlcnZlci0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n" \
-"AYEAs6z83Jg9XjIuBb87zm6uuBjGG+45IpSw6gRgU/1izgBUofefrkdvjhpneBYU\n" \
-"7PySNxTcyKUe1ZijKAYwck5jE76Y/xKNdMffgYqXOusCij7xutssdtvYw7yJjUHv\n" \
-"43+zqbydONRNebO8qw1/BGXzKCsAE83iYumxJxSkwTsq04Kp9vrfW6zaTpa3VGq5\n" \
-"wYPBT+neszrT9/E/Bn+QJh66US+EYnl+TlI5XTp4J0XqGP8PB1OYG/WPPjdRgv7j\n" \
-"C/dSsEaLmV2YdQWjPRqZ+hxQbRJbLaJ9b7czBSdK1lhefAKshUEV+SGQI2MzEVGW\n" \
-"lP4tLpIhiy33fNWpnkhbxxsa/NnIS2Vb8JvQidKdgQLsJL8hRJ/it41B4JGiaBnM\n" \
-"uQmIwr+DFbVs2ibm2VlV1oNB1DrFOAYNURSIUJM0th+Wj4vI9hnwIVeUY/u3Dk5V\n" \
-"bhks+JfbPLmbJ7Tx9JiBCes7isuxNCtWrWRDUQj71IqCc2+iV86Q+gw3rcpLeLYN\n" \
-"yv3PAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0\n" \
-"MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFEnsKuMM/IbHLD1TnAK78YwFx0VF\n" \
-"MB8GA1UdIwQYMBaAFFGRr1BCIq0AHmB59tUBsghMjvz/MA0GCSqGSIb3DQEBCwUA\n" \
-"A4IBgQB0i38qq4/os7MIhUFnBFD/eduk5B+jaGvPTM8lsZJ/17BbiMBc5dyxjMVY\n" \
-"WYsm+KI5XEddBEqMYYwjdO/aoJzFLkkDu7E+UnygVZmMdQONuoyeQ/IrLk3l3zGi\n" \
-"JJlylxFBNkns+a4AnXwSAv/ZiZapjQQUX378IxOpZuqzELAPqCkqp/6LyJApDiVV\n" \
-"9av7WWySG5Wtp8lNs8o8l8ZxU14++fwo1euH0mQ4AM2DGLAhQSdOqChmROWt4MPd\n" \
-"7raaO8dl6wMI83OgOHIhZlvlmmZTYqbpPXYm/2lM9ePBU/bkA7Y/X7HFDbTIBH9Y\n" \
-"rkVZyq3FYPUtYRyqQXa8s730MQBxGmVZkKptCZjLDziZF4sAZGX78EyDeSl3Z3Jg\n" \
-"I5JGLsdznHlhqEx8hNJnYtINVv1arn2UHO7p3/cB8VXt2UdQP+YJYdVzCvT4WW1E\n" \
-"PvzTI6JbcwDpOs0MxRIrXrhgEZWylk0W93FO1WErd1+Sn3LZqvrtyXLzYB9wCl1I\n" \
-"A34kGlE=\n" \
-"-----END CERTIFICATE-----\n"
+#define CERT0 \
+ "-----BEGIN CERTIFICATE-----\n" \
+ "MIIEITCCAomgAwIBAgIMVsXM+TCHHodT4TxYMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n" \
+ "BgNVBAMTBENBLTIwIBcNMTYwMjE4MTM1NDAxWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n" \
+ "ETAPBgNVBAMTCHNlcnZlci0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n" \
+ "AYEAs6z83Jg9XjIuBb87zm6uuBjGG+45IpSw6gRgU/1izgBUofefrkdvjhpneBYU\n" \
+ "7PySNxTcyKUe1ZijKAYwck5jE76Y/xKNdMffgYqXOusCij7xutssdtvYw7yJjUHv\n" \
+ "43+zqbydONRNebO8qw1/BGXzKCsAE83iYumxJxSkwTsq04Kp9vrfW6zaTpa3VGq5\n" \
+ "wYPBT+neszrT9/E/Bn+QJh66US+EYnl+TlI5XTp4J0XqGP8PB1OYG/WPPjdRgv7j\n" \
+ "C/dSsEaLmV2YdQWjPRqZ+hxQbRJbLaJ9b7czBSdK1lhefAKshUEV+SGQI2MzEVGW\n" \
+ "lP4tLpIhiy33fNWpnkhbxxsa/NnIS2Vb8JvQidKdgQLsJL8hRJ/it41B4JGiaBnM\n" \
+ "uQmIwr+DFbVs2ibm2VlV1oNB1DrFOAYNURSIUJM0th+Wj4vI9hnwIVeUY/u3Dk5V\n" \
+ "bhks+JfbPLmbJ7Tx9JiBCes7isuxNCtWrWRDUQj71IqCc2+iV86Q+gw3rcpLeLYN\n" \
+ "yv3PAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0\n" \
+ "MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFEnsKuMM/IbHLD1TnAK78YwFx0VF\n" \
+ "MB8GA1UdIwQYMBaAFFGRr1BCIq0AHmB59tUBsghMjvz/MA0GCSqGSIb3DQEBCwUA\n" \
+ "A4IBgQB0i38qq4/os7MIhUFnBFD/eduk5B+jaGvPTM8lsZJ/17BbiMBc5dyxjMVY\n" \
+ "WYsm+KI5XEddBEqMYYwjdO/aoJzFLkkDu7E+UnygVZmMdQONuoyeQ/IrLk3l3zGi\n" \
+ "JJlylxFBNkns+a4AnXwSAv/ZiZapjQQUX378IxOpZuqzELAPqCkqp/6LyJApDiVV\n" \
+ "9av7WWySG5Wtp8lNs8o8l8ZxU14++fwo1euH0mQ4AM2DGLAhQSdOqChmROWt4MPd\n" \
+ "7raaO8dl6wMI83OgOHIhZlvlmmZTYqbpPXYm/2lM9ePBU/bkA7Y/X7HFDbTIBH9Y\n" \
+ "rkVZyq3FYPUtYRyqQXa8s730MQBxGmVZkKptCZjLDziZF4sAZGX78EyDeSl3Z3Jg\n" \
+ "I5JGLsdznHlhqEx8hNJnYtINVv1arn2UHO7p3/cB8VXt2UdQP+YJYdVzCvT4WW1E\n" \
+ "PvzTI6JbcwDpOs0MxRIrXrhgEZWylk0W93FO1WErd1+Sn3LZqvrtyXLzYB9wCl1I\n" \
+ "A34kGlE=\n" \
+ "-----END CERTIFICATE-----\n"
-static unsigned char server_cert_pem[] =
- CERT0
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEFDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAu1/IharA+97QfzDj\n"
- "UXEBl9TAFqHkN9B5erj1yhMlwPAakreStR8VvuCx46TA3gP7sbUYU811T+2D5/GU\n"
- "u7YuMWsFeSmGWvbxa/tKTpXoEM0bNV+rIbxAcfgtxbARZDocv8gxfG/70vc2dSDh\n"
- "KgZCoMQyO6qGLRdsoPAf+De7YD8sKS7Q3d3Xnfyv4AVnDkbAVFsZhu4lQFuWXyfG\n"
- "Sl95TT94wLDLdf/Gf/F0nNsv6+D6yb15afhJKdqo6PH19gsyE0U3zj6c/7abha2W\n"
- "fvVe6hVbaW1HLDZdHZnjlJHamNFdrOHI5Xi+SJO7/3MWvdTzdMVFBDfS5o7TvYyS\n"
- "pu6iTmVeJvJ1OpXV7Lw1M2dSTW9RJLzUF3fXYOsuh32qMel9IzhnVh8Veyl0I0WL\n"
- "hThmkF73mGWcVq4lMPXwEnwYJtRLeH5HWvG3rgmb7m827XMNnqKE0NOkPH63OUqJ\n"
- "0h4b6PBb6wiOgnsC3yZIf0KgB0gToySvmD6MyJsmbN9rQit1AgMBAAGjeTB3MA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcEADAdBgNVHQ4EFgQUUZGvUEIirQAeYHn21QGyCEyO/P8wHwYDVR0jBBgwFoAU\n"
- "v9x1k1GrVS0yXKvMzD7k/zInm9gwDQYJKoZIhvcNAQELBQADggGBAIwUNzAo7Efm\n"
- "X8dVGz6OEsfZ/RPIeYxZ5cmqWwcZ4oLBv55xGJNG+nIcgLMA2L6ybtFiK2nKtqy4\n"
- "hMv/P6qvjX5vVQGVgLclvMkDkmXWVdqkTYDX7cSe/Bv6qIS2KBaVo87r2DIWN8Zu\n"
- "J3w0U3RcD6ilXVmqvARLeKWBPrCep0DJvg/BEAFSjCgHImrpZdzm6NuUr1eYCfgN\n"
- "HPwUj5Ivyy9ioPRXGzzHQH6T1p/xIRbuhqTGRUin3MqGQlFseBJ2qXPf6uQmCaWZ\n"
- "tFp4oWLJThqVmlvHViPDy235roYSKkJXH4qxjbhuv0pgUZOzmSsG7YA/oYNGDm6I\n"
- "bEvids1r45PjYDHctB4QLhXNY3SJVgMog1KuVCK6JQL8F8XP5Sup1qW4ed/WvXwe\n"
- "PBTOWbE/ENnxF2/nQLwnr80cgVx8rAE5sxubNNQVHu/6NonPzGUhTHXmGleuXPbb\n"
- "Mjv4x9s3QftWUVJb7b8GUt5bMAthqo7Y47Jed1kKIt2PAm0SNBMYrw==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEFDCCAnygAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0QG/LnrMV5vsE3G7\n"
- "mGVYr33PFQ/WojwKg1C8GGH9aaIn+VMuBS2d1/mwtM9axoje1uQzwKp/hPT+N3Z3\n"
- "qmFWeX8somDwowNDWN3skST4ob/M4aSlfP6OhNeIfBNvPTz3GtsbOtN5TkOX7Nf2\n"
- "+mfFm09xMHQ3z4yyGNmKG/oxGKY2WDe93hp0rlIZ6ihMPcsCHwWLfja3SAT4AcXs\n"
- "TFrTxEnaTYuVxcRcoW7lEDtcCyGbPfszo/rEQfJxwxRF46Yoz6rrCSkXOzLhQa4v\n"
- "PPsZJ6ltNqkCtSrnhcCl3SC9JqdI4e7lGsnDylq4evi8RtOYknVOqDwv0q/9DI2+\n"
- "rhFUy4I0Ah9H2T7dC01KIOjGiHyThCgkt2Nee/AXFflpN2Ws7/SGALdx6Vy3OkVo\n"
- "NkHYxlKKn/06Yp8XlNPR64EqxeJqPW9Pf742EJUCOeavu5wPWJtLQr03JyKWoeZf\n"
- "IYT/HwZUJveqEBU1EKeZRSvrRwHnmzQJuxyUhj/2C92QF5edAgMBAAGjeTB3MA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcEADAdBgNVHQ4EFgQUv9x1k1GrVS0yXKvMzD7k/zInm9gwHwYDVR0jBBgwFoAU\n"
- "2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQELBQADggGBAC9X5og786Il\n"
- "CUKj4FpZrqgfN+Cwf1EebW1tX1iKYASGo8t7JS0Btt3ycVpx04JSJy5WM9cQNFU0\n"
- "5vimaG0qAsWhHXljhmM0mr4ruW1Jw6KAuqw0V/JJ0oYRZaYnvi6UsoJJjq8YcatW\n"
- "5ixtKr928933kYD71sMZBN7Um7ictDq0M2oaW4k0/Yt4Uqb9fv20E4EHKEpETMUR\n"
- "FviTIjONdVsAVj4lxuS3u1Nt7B5ayYCkgFabME28ud6EazelwZWZwBRGiuPr6634\n"
- "f8lZtnscRVU5oQb6DjkyD/SM+1ue6/wpNapoH7BimnvCcRmLvsG34vlyt7QC0BRO\n"
- "cRmEPZCq8hIUIuD0x836FRNUSjjMVi2Dj+QjeNolpKgUjRF/h2yKmDRB2A7WAV5g\n"
- "It7RRjMnkm3pvKj2d7/qb5OaccO4uoAq333PRAX0RLYT5yosFGq+RN8+WCnzuGsB\n"
- "hCe33/7HCC6mO0/vsrQuRvECvAasznN9mF3t+ZXMvcsqTcOq4Iag1A==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDIxODEzNTQwMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MYBHVUjwlQH7Mvn\n"
- "4viHyEONr+7M0+fLntPITQHihE8gxU3LpqAUpl7felAA4k0sJTaXvnZA+E1DCcIq\n"
- "zksAhK3Qr8zZeCKNM41U1klcCh2+3IoGjg+CcQisb8gtiiXybH3qXYFgi3ww2YFG\n"
- "cIjJAciZj8qLfwMhMcBPMx4IDHR7gdWH9V0xUZZiBkk7x3PBIWCr2FKD0877yR9t\n"
- "wjlQ4Fbw5NW9j7WaUgeY2LV7iTtBH0bZ7D/04KsYdct6lKhUkzSUBg/bAUWCFp1j\n"
- "ouFhzyqMf3jFDrcejxPKlRk15e9SkQYD/7dTpudXwbL9ugZfoP1xDRgslEyfyU/Q\n"
- "DEyG5mlXjVBRiGvL+dfxRNw2E5xLpESt2rlMiBhe1cv8+XL5D6z/WBwDfBNUzoQR\n"
- "X15YHK2NgNNHQ8u8GLtUbp3ZXaeKgj8fdR3UoRTqWgpy2vjVM3vN1xXFVTo13MJ8\n"
- "isLXH/QNUR4tnOytDp1HyK2ybHkfXB1a0RMBwM5XDVD2LhPFAgMBAAGjWDBWMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcGADAdBgNVHQ4EFgQU2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQEL\n"
- "BQADggGBAJrJujtXifCeySYWbnJlraec63Zgqfv4SZIEdLt5GFLdpjk2WCxhFrN3\n"
- "n6JZgI2aUWin2OL1VA1hfddAPUSHOCV8nP/Vu1f/BEaeQjEVS2AOF7T+eQSTNQtN\n"
- "MkTTi0UKKXZjIIXiW4YXDs2b22JIOXkL9rFyrvN4vvbIp/jwLWx5UTHFtsktMkai\n"
- "MteJBobd69ra7kdX43EkUKrgSDNpMQn10y3w4ziPDsLZ9sWaRxESbXWqDn4A7J9t\n"
- "prfxut+s/3rsZgpt4s2FsswymfuW8DhzH1EjfV1Tb32blpgz/40sIRbU158Wh1UH\n"
- "/DGQ6RVX0RcRt7ce7QCYTROD/yHYPVucqLfRpVNJ3oujGYaMgnSSuxEOsfwx5u+P\n"
- "8USIxyQNR9cX/gQswzs3Ouj1rXBnjiSS1YXWZXvqHsUamJ8O7qpnqkL2Ti64O0HA\n"
- "wdTtAcDO0BTHvanKZojLZm8nStvTvFpSVh7z+8Fu0A5zAcHsDj4vLABsdPDsXUTr\n"
- "kb2G3Yy/UA==\n" "-----END CERTIFICATE-----\n";
+static unsigned char server_cert_pem[] = CERT0
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEFDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAu1/IharA+97QfzDj\n"
+ "UXEBl9TAFqHkN9B5erj1yhMlwPAakreStR8VvuCx46TA3gP7sbUYU811T+2D5/GU\n"
+ "u7YuMWsFeSmGWvbxa/tKTpXoEM0bNV+rIbxAcfgtxbARZDocv8gxfG/70vc2dSDh\n"
+ "KgZCoMQyO6qGLRdsoPAf+De7YD8sKS7Q3d3Xnfyv4AVnDkbAVFsZhu4lQFuWXyfG\n"
+ "Sl95TT94wLDLdf/Gf/F0nNsv6+D6yb15afhJKdqo6PH19gsyE0U3zj6c/7abha2W\n"
+ "fvVe6hVbaW1HLDZdHZnjlJHamNFdrOHI5Xi+SJO7/3MWvdTzdMVFBDfS5o7TvYyS\n"
+ "pu6iTmVeJvJ1OpXV7Lw1M2dSTW9RJLzUF3fXYOsuh32qMel9IzhnVh8Veyl0I0WL\n"
+ "hThmkF73mGWcVq4lMPXwEnwYJtRLeH5HWvG3rgmb7m827XMNnqKE0NOkPH63OUqJ\n"
+ "0h4b6PBb6wiOgnsC3yZIf0KgB0gToySvmD6MyJsmbN9rQit1AgMBAAGjeTB3MA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcEADAdBgNVHQ4EFgQUUZGvUEIirQAeYHn21QGyCEyO/P8wHwYDVR0jBBgwFoAU\n"
+ "v9x1k1GrVS0yXKvMzD7k/zInm9gwDQYJKoZIhvcNAQELBQADggGBAIwUNzAo7Efm\n"
+ "X8dVGz6OEsfZ/RPIeYxZ5cmqWwcZ4oLBv55xGJNG+nIcgLMA2L6ybtFiK2nKtqy4\n"
+ "hMv/P6qvjX5vVQGVgLclvMkDkmXWVdqkTYDX7cSe/Bv6qIS2KBaVo87r2DIWN8Zu\n"
+ "J3w0U3RcD6ilXVmqvARLeKWBPrCep0DJvg/BEAFSjCgHImrpZdzm6NuUr1eYCfgN\n"
+ "HPwUj5Ivyy9ioPRXGzzHQH6T1p/xIRbuhqTGRUin3MqGQlFseBJ2qXPf6uQmCaWZ\n"
+ "tFp4oWLJThqVmlvHViPDy235roYSKkJXH4qxjbhuv0pgUZOzmSsG7YA/oYNGDm6I\n"
+ "bEvids1r45PjYDHctB4QLhXNY3SJVgMog1KuVCK6JQL8F8XP5Sup1qW4ed/WvXwe\n"
+ "PBTOWbE/ENnxF2/nQLwnr80cgVx8rAE5sxubNNQVHu/6NonPzGUhTHXmGleuXPbb\n"
+ "Mjv4x9s3QftWUVJb7b8GUt5bMAthqo7Y47Jed1kKIt2PAm0SNBMYrw==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEFDCCAnygAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0QG/LnrMV5vsE3G7\n"
+ "mGVYr33PFQ/WojwKg1C8GGH9aaIn+VMuBS2d1/mwtM9axoje1uQzwKp/hPT+N3Z3\n"
+ "qmFWeX8somDwowNDWN3skST4ob/M4aSlfP6OhNeIfBNvPTz3GtsbOtN5TkOX7Nf2\n"
+ "+mfFm09xMHQ3z4yyGNmKG/oxGKY2WDe93hp0rlIZ6ihMPcsCHwWLfja3SAT4AcXs\n"
+ "TFrTxEnaTYuVxcRcoW7lEDtcCyGbPfszo/rEQfJxwxRF46Yoz6rrCSkXOzLhQa4v\n"
+ "PPsZJ6ltNqkCtSrnhcCl3SC9JqdI4e7lGsnDylq4evi8RtOYknVOqDwv0q/9DI2+\n"
+ "rhFUy4I0Ah9H2T7dC01KIOjGiHyThCgkt2Nee/AXFflpN2Ws7/SGALdx6Vy3OkVo\n"
+ "NkHYxlKKn/06Yp8XlNPR64EqxeJqPW9Pf742EJUCOeavu5wPWJtLQr03JyKWoeZf\n"
+ "IYT/HwZUJveqEBU1EKeZRSvrRwHnmzQJuxyUhj/2C92QF5edAgMBAAGjeTB3MA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcEADAdBgNVHQ4EFgQUv9x1k1GrVS0yXKvMzD7k/zInm9gwHwYDVR0jBBgwFoAU\n"
+ "2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQELBQADggGBAC9X5og786Il\n"
+ "CUKj4FpZrqgfN+Cwf1EebW1tX1iKYASGo8t7JS0Btt3ycVpx04JSJy5WM9cQNFU0\n"
+ "5vimaG0qAsWhHXljhmM0mr4ruW1Jw6KAuqw0V/JJ0oYRZaYnvi6UsoJJjq8YcatW\n"
+ "5ixtKr928933kYD71sMZBN7Um7ictDq0M2oaW4k0/Yt4Uqb9fv20E4EHKEpETMUR\n"
+ "FviTIjONdVsAVj4lxuS3u1Nt7B5ayYCkgFabME28ud6EazelwZWZwBRGiuPr6634\n"
+ "f8lZtnscRVU5oQb6DjkyD/SM+1ue6/wpNapoH7BimnvCcRmLvsG34vlyt7QC0BRO\n"
+ "cRmEPZCq8hIUIuD0x836FRNUSjjMVi2Dj+QjeNolpKgUjRF/h2yKmDRB2A7WAV5g\n"
+ "It7RRjMnkm3pvKj2d7/qb5OaccO4uoAq333PRAX0RLYT5yosFGq+RN8+WCnzuGsB\n"
+ "hCe33/7HCC6mO0/vsrQuRvECvAasznN9mF3t+ZXMvcsqTcOq4Iag1A==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDIxODEzNTQwMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MYBHVUjwlQH7Mvn\n"
+ "4viHyEONr+7M0+fLntPITQHihE8gxU3LpqAUpl7felAA4k0sJTaXvnZA+E1DCcIq\n"
+ "zksAhK3Qr8zZeCKNM41U1klcCh2+3IoGjg+CcQisb8gtiiXybH3qXYFgi3ww2YFG\n"
+ "cIjJAciZj8qLfwMhMcBPMx4IDHR7gdWH9V0xUZZiBkk7x3PBIWCr2FKD0877yR9t\n"
+ "wjlQ4Fbw5NW9j7WaUgeY2LV7iTtBH0bZ7D/04KsYdct6lKhUkzSUBg/bAUWCFp1j\n"
+ "ouFhzyqMf3jFDrcejxPKlRk15e9SkQYD/7dTpudXwbL9ugZfoP1xDRgslEyfyU/Q\n"
+ "DEyG5mlXjVBRiGvL+dfxRNw2E5xLpESt2rlMiBhe1cv8+XL5D6z/WBwDfBNUzoQR\n"
+ "X15YHK2NgNNHQ8u8GLtUbp3ZXaeKgj8fdR3UoRTqWgpy2vjVM3vN1xXFVTo13MJ8\n"
+ "isLXH/QNUR4tnOytDp1HyK2ybHkfXB1a0RMBwM5XDVD2LhPFAgMBAAGjWDBWMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcGADAdBgNVHQ4EFgQU2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQEL\n"
+ "BQADggGBAJrJujtXifCeySYWbnJlraec63Zgqfv4SZIEdLt5GFLdpjk2WCxhFrN3\n"
+ "n6JZgI2aUWin2OL1VA1hfddAPUSHOCV8nP/Vu1f/BEaeQjEVS2AOF7T+eQSTNQtN\n"
+ "MkTTi0UKKXZjIIXiW4YXDs2b22JIOXkL9rFyrvN4vvbIp/jwLWx5UTHFtsktMkai\n"
+ "MteJBobd69ra7kdX43EkUKrgSDNpMQn10y3w4ziPDsLZ9sWaRxESbXWqDn4A7J9t\n"
+ "prfxut+s/3rsZgpt4s2FsswymfuW8DhzH1EjfV1Tb32blpgz/40sIRbU158Wh1UH\n"
+ "/DGQ6RVX0RcRt7ce7QCYTROD/yHYPVucqLfRpVNJ3oujGYaMgnSSuxEOsfwx5u+P\n"
+ "8USIxyQNR9cX/gQswzs3Ouj1rXBnjiSS1YXWZXvqHsUamJ8O7qpnqkL2Ti64O0HA\n"
+ "wdTtAcDO0BTHvanKZojLZm8nStvTvFpSVh7z+8Fu0A5zAcHsDj4vLABsdPDsXUTr\n"
+ "kb2G3Yy/UA==\n"
+ "-----END CERTIFICATE-----\n";
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
-static unsigned char unsorted_server_cert_pem[] =
- CERT0
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEFDCCAnygAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0QG/LnrMV5vsE3G7\n"
- "mGVYr33PFQ/WojwKg1C8GGH9aaIn+VMuBS2d1/mwtM9axoje1uQzwKp/hPT+N3Z3\n"
- "qmFWeX8somDwowNDWN3skST4ob/M4aSlfP6OhNeIfBNvPTz3GtsbOtN5TkOX7Nf2\n"
- "+mfFm09xMHQ3z4yyGNmKG/oxGKY2WDe93hp0rlIZ6ihMPcsCHwWLfja3SAT4AcXs\n"
- "TFrTxEnaTYuVxcRcoW7lEDtcCyGbPfszo/rEQfJxwxRF46Yoz6rrCSkXOzLhQa4v\n"
- "PPsZJ6ltNqkCtSrnhcCl3SC9JqdI4e7lGsnDylq4evi8RtOYknVOqDwv0q/9DI2+\n"
- "rhFUy4I0Ah9H2T7dC01KIOjGiHyThCgkt2Nee/AXFflpN2Ws7/SGALdx6Vy3OkVo\n"
- "NkHYxlKKn/06Yp8XlNPR64EqxeJqPW9Pf742EJUCOeavu5wPWJtLQr03JyKWoeZf\n"
- "IYT/HwZUJveqEBU1EKeZRSvrRwHnmzQJuxyUhj/2C92QF5edAgMBAAGjeTB3MA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcEADAdBgNVHQ4EFgQUv9x1k1GrVS0yXKvMzD7k/zInm9gwHwYDVR0jBBgwFoAU\n"
- "2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQELBQADggGBAC9X5og786Il\n"
- "CUKj4FpZrqgfN+Cwf1EebW1tX1iKYASGo8t7JS0Btt3ycVpx04JSJy5WM9cQNFU0\n"
- "5vimaG0qAsWhHXljhmM0mr4ruW1Jw6KAuqw0V/JJ0oYRZaYnvi6UsoJJjq8YcatW\n"
- "5ixtKr928933kYD71sMZBN7Um7ictDq0M2oaW4k0/Yt4Uqb9fv20E4EHKEpETMUR\n"
- "FviTIjONdVsAVj4lxuS3u1Nt7B5ayYCkgFabME28ud6EazelwZWZwBRGiuPr6634\n"
- "f8lZtnscRVU5oQb6DjkyD/SM+1ue6/wpNapoH7BimnvCcRmLvsG34vlyt7QC0BRO\n"
- "cRmEPZCq8hIUIuD0x836FRNUSjjMVi2Dj+QjeNolpKgUjRF/h2yKmDRB2A7WAV5g\n"
- "It7RRjMnkm3pvKj2d7/qb5OaccO4uoAq333PRAX0RLYT5yosFGq+RN8+WCnzuGsB\n"
- "hCe33/7HCC6mO0/vsrQuRvECvAasznN9mF3t+ZXMvcsqTcOq4Iag1A==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDIxODEzNTQwMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MYBHVUjwlQH7Mvn\n"
- "4viHyEONr+7M0+fLntPITQHihE8gxU3LpqAUpl7felAA4k0sJTaXvnZA+E1DCcIq\n"
- "zksAhK3Qr8zZeCKNM41U1klcCh2+3IoGjg+CcQisb8gtiiXybH3qXYFgi3ww2YFG\n"
- "cIjJAciZj8qLfwMhMcBPMx4IDHR7gdWH9V0xUZZiBkk7x3PBIWCr2FKD0877yR9t\n"
- "wjlQ4Fbw5NW9j7WaUgeY2LV7iTtBH0bZ7D/04KsYdct6lKhUkzSUBg/bAUWCFp1j\n"
- "ouFhzyqMf3jFDrcejxPKlRk15e9SkQYD/7dTpudXwbL9ugZfoP1xDRgslEyfyU/Q\n"
- "DEyG5mlXjVBRiGvL+dfxRNw2E5xLpESt2rlMiBhe1cv8+XL5D6z/WBwDfBNUzoQR\n"
- "X15YHK2NgNNHQ8u8GLtUbp3ZXaeKgj8fdR3UoRTqWgpy2vjVM3vN1xXFVTo13MJ8\n"
- "isLXH/QNUR4tnOytDp1HyK2ybHkfXB1a0RMBwM5XDVD2LhPFAgMBAAGjWDBWMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcGADAdBgNVHQ4EFgQU2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQEL\n"
- "BQADggGBAJrJujtXifCeySYWbnJlraec63Zgqfv4SZIEdLt5GFLdpjk2WCxhFrN3\n"
- "n6JZgI2aUWin2OL1VA1hfddAPUSHOCV8nP/Vu1f/BEaeQjEVS2AOF7T+eQSTNQtN\n"
- "MkTTi0UKKXZjIIXiW4YXDs2b22JIOXkL9rFyrvN4vvbIp/jwLWx5UTHFtsktMkai\n"
- "MteJBobd69ra7kdX43EkUKrgSDNpMQn10y3w4ziPDsLZ9sWaRxESbXWqDn4A7J9t\n"
- "prfxut+s/3rsZgpt4s2FsswymfuW8DhzH1EjfV1Tb32blpgz/40sIRbU158Wh1UH\n"
- "/DGQ6RVX0RcRt7ce7QCYTROD/yHYPVucqLfRpVNJ3oujGYaMgnSSuxEOsfwx5u+P\n"
- "8USIxyQNR9cX/gQswzs3Ouj1rXBnjiSS1YXWZXvqHsUamJ8O7qpnqkL2Ti64O0HA\n"
- "wdTtAcDO0BTHvanKZojLZm8nStvTvFpSVh7z+8Fu0A5zAcHsDj4vLABsdPDsXUTr\n"
- "kb2G3Yy/UA==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEFDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAu1/IharA+97QfzDj\n"
- "UXEBl9TAFqHkN9B5erj1yhMlwPAakreStR8VvuCx46TA3gP7sbUYU811T+2D5/GU\n"
- "u7YuMWsFeSmGWvbxa/tKTpXoEM0bNV+rIbxAcfgtxbARZDocv8gxfG/70vc2dSDh\n"
- "KgZCoMQyO6qGLRdsoPAf+De7YD8sKS7Q3d3Xnfyv4AVnDkbAVFsZhu4lQFuWXyfG\n"
- "Sl95TT94wLDLdf/Gf/F0nNsv6+D6yb15afhJKdqo6PH19gsyE0U3zj6c/7abha2W\n"
- "fvVe6hVbaW1HLDZdHZnjlJHamNFdrOHI5Xi+SJO7/3MWvdTzdMVFBDfS5o7TvYyS\n"
- "pu6iTmVeJvJ1OpXV7Lw1M2dSTW9RJLzUF3fXYOsuh32qMel9IzhnVh8Veyl0I0WL\n"
- "hThmkF73mGWcVq4lMPXwEnwYJtRLeH5HWvG3rgmb7m827XMNnqKE0NOkPH63OUqJ\n"
- "0h4b6PBb6wiOgnsC3yZIf0KgB0gToySvmD6MyJsmbN9rQit1AgMBAAGjeTB3MA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcEADAdBgNVHQ4EFgQUUZGvUEIirQAeYHn21QGyCEyO/P8wHwYDVR0jBBgwFoAU\n"
- "v9x1k1GrVS0yXKvMzD7k/zInm9gwDQYJKoZIhvcNAQELBQADggGBAIwUNzAo7Efm\n"
- "X8dVGz6OEsfZ/RPIeYxZ5cmqWwcZ4oLBv55xGJNG+nIcgLMA2L6ybtFiK2nKtqy4\n"
- "hMv/P6qvjX5vVQGVgLclvMkDkmXWVdqkTYDX7cSe/Bv6qIS2KBaVo87r2DIWN8Zu\n"
- "J3w0U3RcD6ilXVmqvARLeKWBPrCep0DJvg/BEAFSjCgHImrpZdzm6NuUr1eYCfgN\n"
- "HPwUj5Ivyy9ioPRXGzzHQH6T1p/xIRbuhqTGRUin3MqGQlFseBJ2qXPf6uQmCaWZ\n"
- "tFp4oWLJThqVmlvHViPDy235roYSKkJXH4qxjbhuv0pgUZOzmSsG7YA/oYNGDm6I\n"
- "bEvids1r45PjYDHctB4QLhXNY3SJVgMog1KuVCK6JQL8F8XP5Sup1qW4ed/WvXwe\n"
- "PBTOWbE/ENnxF2/nQLwnr80cgVx8rAE5sxubNNQVHu/6NonPzGUhTHXmGleuXPbb\n"
- "Mjv4x9s3QftWUVJb7b8GUt5bMAthqo7Y47Jed1kKIt2PAm0SNBMYrw==\n"
- "-----END CERTIFICATE-----\n";
+static unsigned char unsorted_server_cert_pem[] = CERT0
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEFDCCAnygAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0QG/LnrMV5vsE3G7\n"
+ "mGVYr33PFQ/WojwKg1C8GGH9aaIn+VMuBS2d1/mwtM9axoje1uQzwKp/hPT+N3Z3\n"
+ "qmFWeX8somDwowNDWN3skST4ob/M4aSlfP6OhNeIfBNvPTz3GtsbOtN5TkOX7Nf2\n"
+ "+mfFm09xMHQ3z4yyGNmKG/oxGKY2WDe93hp0rlIZ6ihMPcsCHwWLfja3SAT4AcXs\n"
+ "TFrTxEnaTYuVxcRcoW7lEDtcCyGbPfszo/rEQfJxwxRF46Yoz6rrCSkXOzLhQa4v\n"
+ "PPsZJ6ltNqkCtSrnhcCl3SC9JqdI4e7lGsnDylq4evi8RtOYknVOqDwv0q/9DI2+\n"
+ "rhFUy4I0Ah9H2T7dC01KIOjGiHyThCgkt2Nee/AXFflpN2Ws7/SGALdx6Vy3OkVo\n"
+ "NkHYxlKKn/06Yp8XlNPR64EqxeJqPW9Pf742EJUCOeavu5wPWJtLQr03JyKWoeZf\n"
+ "IYT/HwZUJveqEBU1EKeZRSvrRwHnmzQJuxyUhj/2C92QF5edAgMBAAGjeTB3MA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcEADAdBgNVHQ4EFgQUv9x1k1GrVS0yXKvMzD7k/zInm9gwHwYDVR0jBBgwFoAU\n"
+ "2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQELBQADggGBAC9X5og786Il\n"
+ "CUKj4FpZrqgfN+Cwf1EebW1tX1iKYASGo8t7JS0Btt3ycVpx04JSJy5WM9cQNFU0\n"
+ "5vimaG0qAsWhHXljhmM0mr4ruW1Jw6KAuqw0V/JJ0oYRZaYnvi6UsoJJjq8YcatW\n"
+ "5ixtKr928933kYD71sMZBN7Um7ictDq0M2oaW4k0/Yt4Uqb9fv20E4EHKEpETMUR\n"
+ "FviTIjONdVsAVj4lxuS3u1Nt7B5ayYCkgFabME28ud6EazelwZWZwBRGiuPr6634\n"
+ "f8lZtnscRVU5oQb6DjkyD/SM+1ue6/wpNapoH7BimnvCcRmLvsG34vlyt7QC0BRO\n"
+ "cRmEPZCq8hIUIuD0x836FRNUSjjMVi2Dj+QjeNolpKgUjRF/h2yKmDRB2A7WAV5g\n"
+ "It7RRjMnkm3pvKj2d7/qb5OaccO4uoAq333PRAX0RLYT5yosFGq+RN8+WCnzuGsB\n"
+ "hCe33/7HCC6mO0/vsrQuRvECvAasznN9mF3t+ZXMvcsqTcOq4Iag1A==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDIxODEzNTQwMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MYBHVUjwlQH7Mvn\n"
+ "4viHyEONr+7M0+fLntPITQHihE8gxU3LpqAUpl7felAA4k0sJTaXvnZA+E1DCcIq\n"
+ "zksAhK3Qr8zZeCKNM41U1klcCh2+3IoGjg+CcQisb8gtiiXybH3qXYFgi3ww2YFG\n"
+ "cIjJAciZj8qLfwMhMcBPMx4IDHR7gdWH9V0xUZZiBkk7x3PBIWCr2FKD0877yR9t\n"
+ "wjlQ4Fbw5NW9j7WaUgeY2LV7iTtBH0bZ7D/04KsYdct6lKhUkzSUBg/bAUWCFp1j\n"
+ "ouFhzyqMf3jFDrcejxPKlRk15e9SkQYD/7dTpudXwbL9ugZfoP1xDRgslEyfyU/Q\n"
+ "DEyG5mlXjVBRiGvL+dfxRNw2E5xLpESt2rlMiBhe1cv8+XL5D6z/WBwDfBNUzoQR\n"
+ "X15YHK2NgNNHQ8u8GLtUbp3ZXaeKgj8fdR3UoRTqWgpy2vjVM3vN1xXFVTo13MJ8\n"
+ "isLXH/QNUR4tnOytDp1HyK2ybHkfXB1a0RMBwM5XDVD2LhPFAgMBAAGjWDBWMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcGADAdBgNVHQ4EFgQU2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQEL\n"
+ "BQADggGBAJrJujtXifCeySYWbnJlraec63Zgqfv4SZIEdLt5GFLdpjk2WCxhFrN3\n"
+ "n6JZgI2aUWin2OL1VA1hfddAPUSHOCV8nP/Vu1f/BEaeQjEVS2AOF7T+eQSTNQtN\n"
+ "MkTTi0UKKXZjIIXiW4YXDs2b22JIOXkL9rFyrvN4vvbIp/jwLWx5UTHFtsktMkai\n"
+ "MteJBobd69ra7kdX43EkUKrgSDNpMQn10y3w4ziPDsLZ9sWaRxESbXWqDn4A7J9t\n"
+ "prfxut+s/3rsZgpt4s2FsswymfuW8DhzH1EjfV1Tb32blpgz/40sIRbU158Wh1UH\n"
+ "/DGQ6RVX0RcRt7ce7QCYTROD/yHYPVucqLfRpVNJ3oujGYaMgnSSuxEOsfwx5u+P\n"
+ "8USIxyQNR9cX/gQswzs3Ouj1rXBnjiSS1YXWZXvqHsUamJ8O7qpnqkL2Ti64O0HA\n"
+ "wdTtAcDO0BTHvanKZojLZm8nStvTvFpSVh7z+8Fu0A5zAcHsDj4vLABsdPDsXUTr\n"
+ "kb2G3Yy/UA==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEFDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCAXDTE2MDIxODEzNTQwMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAu1/IharA+97QfzDj\n"
+ "UXEBl9TAFqHkN9B5erj1yhMlwPAakreStR8VvuCx46TA3gP7sbUYU811T+2D5/GU\n"
+ "u7YuMWsFeSmGWvbxa/tKTpXoEM0bNV+rIbxAcfgtxbARZDocv8gxfG/70vc2dSDh\n"
+ "KgZCoMQyO6qGLRdsoPAf+De7YD8sKS7Q3d3Xnfyv4AVnDkbAVFsZhu4lQFuWXyfG\n"
+ "Sl95TT94wLDLdf/Gf/F0nNsv6+D6yb15afhJKdqo6PH19gsyE0U3zj6c/7abha2W\n"
+ "fvVe6hVbaW1HLDZdHZnjlJHamNFdrOHI5Xi+SJO7/3MWvdTzdMVFBDfS5o7TvYyS\n"
+ "pu6iTmVeJvJ1OpXV7Lw1M2dSTW9RJLzUF3fXYOsuh32qMel9IzhnVh8Veyl0I0WL\n"
+ "hThmkF73mGWcVq4lMPXwEnwYJtRLeH5HWvG3rgmb7m827XMNnqKE0NOkPH63OUqJ\n"
+ "0h4b6PBb6wiOgnsC3yZIf0KgB0gToySvmD6MyJsmbN9rQit1AgMBAAGjeTB3MA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcEADAdBgNVHQ4EFgQUUZGvUEIirQAeYHn21QGyCEyO/P8wHwYDVR0jBBgwFoAU\n"
+ "v9x1k1GrVS0yXKvMzD7k/zInm9gwDQYJKoZIhvcNAQELBQADggGBAIwUNzAo7Efm\n"
+ "X8dVGz6OEsfZ/RPIeYxZ5cmqWwcZ4oLBv55xGJNG+nIcgLMA2L6ybtFiK2nKtqy4\n"
+ "hMv/P6qvjX5vVQGVgLclvMkDkmXWVdqkTYDX7cSe/Bv6qIS2KBaVo87r2DIWN8Zu\n"
+ "J3w0U3RcD6ilXVmqvARLeKWBPrCep0DJvg/BEAFSjCgHImrpZdzm6NuUr1eYCfgN\n"
+ "HPwUj5Ivyy9ioPRXGzzHQH6T1p/xIRbuhqTGRUin3MqGQlFseBJ2qXPf6uQmCaWZ\n"
+ "tFp4oWLJThqVmlvHViPDy235roYSKkJXH4qxjbhuv0pgUZOzmSsG7YA/oYNGDm6I\n"
+ "bEvids1r45PjYDHctB4QLhXNY3SJVgMog1KuVCK6JQL8F8XP5Sup1qW4ed/WvXwe\n"
+ "PBTOWbE/ENnxF2/nQLwnr80cgVx8rAE5sxubNNQVHu/6NonPzGUhTHXmGleuXPbb\n"
+ "Mjv4x9s3QftWUVJb7b8GUt5bMAthqo7Y47Jed1kKIt2PAm0SNBMYrw==\n"
+ "-----END CERTIFICATE-----\n";
-const gnutls_datum_t unsorted_server_cert = { unsorted_server_cert_pem,
- sizeof(unsorted_server_cert_pem)
+const gnutls_datum_t unsorted_server_cert = {
+ unsorted_server_cert_pem, sizeof(unsorted_server_cert_pem)
};
const gnutls_datum_t single_server_cert = { server_cert_pem,
- sizeof(CERT0) - 1
-};
+ sizeof(CERT0) - 1 };
-static unsigned char isolated_server_cert_pem[] =
- CERT0
- "-----BEGIN CERTIFICATE-----\n"
- "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDIxODEzNTQwMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MYBHVUjwlQH7Mvn\n"
- "4viHyEONr+7M0+fLntPITQHihE8gxU3LpqAUpl7felAA4k0sJTaXvnZA+E1DCcIq\n"
- "zksAhK3Qr8zZeCKNM41U1klcCh2+3IoGjg+CcQisb8gtiiXybH3qXYFgi3ww2YFG\n"
- "cIjJAciZj8qLfwMhMcBPMx4IDHR7gdWH9V0xUZZiBkk7x3PBIWCr2FKD0877yR9t\n"
- "wjlQ4Fbw5NW9j7WaUgeY2LV7iTtBH0bZ7D/04KsYdct6lKhUkzSUBg/bAUWCFp1j\n"
- "ouFhzyqMf3jFDrcejxPKlRk15e9SkQYD/7dTpudXwbL9ugZfoP1xDRgslEyfyU/Q\n"
- "DEyG5mlXjVBRiGvL+dfxRNw2E5xLpESt2rlMiBhe1cv8+XL5D6z/WBwDfBNUzoQR\n"
- "X15YHK2NgNNHQ8u8GLtUbp3ZXaeKgj8fdR3UoRTqWgpy2vjVM3vN1xXFVTo13MJ8\n"
- "isLXH/QNUR4tnOytDp1HyK2ybHkfXB1a0RMBwM5XDVD2LhPFAgMBAAGjWDBWMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
- "AwcGADAdBgNVHQ4EFgQU2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQEL\n"
- "BQADggGBAJrJujtXifCeySYWbnJlraec63Zgqfv4SZIEdLt5GFLdpjk2WCxhFrN3\n"
- "n6JZgI2aUWin2OL1VA1hfddAPUSHOCV8nP/Vu1f/BEaeQjEVS2AOF7T+eQSTNQtN\n"
- "MkTTi0UKKXZjIIXiW4YXDs2b22JIOXkL9rFyrvN4vvbIp/jwLWx5UTHFtsktMkai\n"
- "MteJBobd69ra7kdX43EkUKrgSDNpMQn10y3w4ziPDsLZ9sWaRxESbXWqDn4A7J9t\n"
- "prfxut+s/3rsZgpt4s2FsswymfuW8DhzH1EjfV1Tb32blpgz/40sIRbU158Wh1UH\n"
- "/DGQ6RVX0RcRt7ce7QCYTROD/yHYPVucqLfRpVNJ3oujGYaMgnSSuxEOsfwx5u+P\n"
- "8USIxyQNR9cX/gQswzs3Ouj1rXBnjiSS1YXWZXvqHsUamJ8O7qpnqkL2Ti64O0HA\n"
- "wdTtAcDO0BTHvanKZojLZm8nStvTvFpSVh7z+8Fu0A5zAcHsDj4vLABsdPDsXUTr\n"
- "kb2G3Yy/UA==\n" "-----END CERTIFICATE-----\n";
+static unsigned char isolated_server_cert_pem[] = CERT0
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID8zCCAlugAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDIxODEzNTQwMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0MYBHVUjwlQH7Mvn\n"
+ "4viHyEONr+7M0+fLntPITQHihE8gxU3LpqAUpl7felAA4k0sJTaXvnZA+E1DCcIq\n"
+ "zksAhK3Qr8zZeCKNM41U1klcCh2+3IoGjg+CcQisb8gtiiXybH3qXYFgi3ww2YFG\n"
+ "cIjJAciZj8qLfwMhMcBPMx4IDHR7gdWH9V0xUZZiBkk7x3PBIWCr2FKD0877yR9t\n"
+ "wjlQ4Fbw5NW9j7WaUgeY2LV7iTtBH0bZ7D/04KsYdct6lKhUkzSUBg/bAUWCFp1j\n"
+ "ouFhzyqMf3jFDrcejxPKlRk15e9SkQYD/7dTpudXwbL9ugZfoP1xDRgslEyfyU/Q\n"
+ "DEyG5mlXjVBRiGvL+dfxRNw2E5xLpESt2rlMiBhe1cv8+XL5D6z/WBwDfBNUzoQR\n"
+ "X15YHK2NgNNHQ8u8GLtUbp3ZXaeKgj8fdR3UoRTqWgpy2vjVM3vN1xXFVTo13MJ8\n"
+ "isLXH/QNUR4tnOytDp1HyK2ybHkfXB1a0RMBwM5XDVD2LhPFAgMBAAGjWDBWMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwkwDwYDVR0PAQH/BAUD\n"
+ "AwcGADAdBgNVHQ4EFgQU2iUEUyXy7fPzZtc8ktanTiDzjuUwDQYJKoZIhvcNAQEL\n"
+ "BQADggGBAJrJujtXifCeySYWbnJlraec63Zgqfv4SZIEdLt5GFLdpjk2WCxhFrN3\n"
+ "n6JZgI2aUWin2OL1VA1hfddAPUSHOCV8nP/Vu1f/BEaeQjEVS2AOF7T+eQSTNQtN\n"
+ "MkTTi0UKKXZjIIXiW4YXDs2b22JIOXkL9rFyrvN4vvbIp/jwLWx5UTHFtsktMkai\n"
+ "MteJBobd69ra7kdX43EkUKrgSDNpMQn10y3w4ziPDsLZ9sWaRxESbXWqDn4A7J9t\n"
+ "prfxut+s/3rsZgpt4s2FsswymfuW8DhzH1EjfV1Tb32blpgz/40sIRbU158Wh1UH\n"
+ "/DGQ6RVX0RcRt7ce7QCYTROD/yHYPVucqLfRpVNJ3oujGYaMgnSSuxEOsfwx5u+P\n"
+ "8USIxyQNR9cX/gQswzs3Ouj1rXBnjiSS1YXWZXvqHsUamJ8O7qpnqkL2Ti64O0HA\n"
+ "wdTtAcDO0BTHvanKZojLZm8nStvTvFpSVh7z+8Fu0A5zAcHsDj4vLABsdPDsXUTr\n"
+ "kb2G3Yy/UA==\n"
+ "-----END CERTIFICATE-----\n";
-const gnutls_datum_t isolated_server_cert = { isolated_server_cert_pem,
- sizeof(isolated_server_cert_pem)
+const gnutls_datum_t isolated_server_cert = {
+ isolated_server_cert_pem, sizeof(isolated_server_cert_pem)
};
void doit(void)
@@ -316,12 +312,11 @@ void doit(void)
gnutls_pcert_deinit(&pcert_list[i]);
pcert_list_size = 16;
- flags =
- GNUTLS_X509_CRT_LIST_SORT | GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
- ret =
- gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &server_cert, GNUTLS_X509_FMT_PEM,
- flags);
+ flags = GNUTLS_X509_CRT_LIST_SORT |
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
+ ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
+ &server_cert,
+ GNUTLS_X509_FMT_PEM, flags);
if (ret != 0 || pcert_list_size != 4) {
fail("the combined import failed\n");
}
@@ -331,14 +326,14 @@ void doit(void)
/* try the unsorted list */
pcert_list_size = 16;
- flags =
- GNUTLS_X509_CRT_LIST_SORT | GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
- ret =
- gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &unsorted_server_cert,
- GNUTLS_X509_FMT_PEM, flags);
+ flags = GNUTLS_X509_CRT_LIST_SORT |
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
+ ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
+ &unsorted_server_cert,
+ GNUTLS_X509_FMT_PEM, flags);
if (ret < 0 || pcert_list_size != 4) {
- fail("the combined import failed for the unsorted list (%d): %s\n", pcert_list_size, gnutls_strerror(ret));
+ fail("the combined import failed for the unsorted list (%d): %s\n",
+ pcert_list_size, gnutls_strerror(ret));
}
for (i = 0; i < pcert_list_size; i++)
@@ -346,14 +341,14 @@ void doit(void)
/* try the single cert list */
pcert_list_size = 16;
- flags =
- GNUTLS_X509_CRT_LIST_SORT | GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
- ret =
- gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &single_server_cert,
- GNUTLS_X509_FMT_PEM, flags);
+ flags = GNUTLS_X509_CRT_LIST_SORT |
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
+ ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
+ &single_server_cert,
+ GNUTLS_X509_FMT_PEM, flags);
if (ret < 0 || pcert_list_size != 1) {
- fail("the combined import failed for the single cert (%d): %s\n", pcert_list_size, gnutls_strerror(ret));
+ fail("the combined import failed for the single cert (%d): %s\n",
+ pcert_list_size, gnutls_strerror(ret));
}
for (i = 0; i < pcert_list_size; i++)
@@ -361,14 +356,14 @@ void doit(void)
/* try the single final cert list */
pcert_list_size = 16;
- flags =
- GNUTLS_X509_CRT_LIST_SORT | GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
- ret =
- gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &isolated_server_cert,
- GNUTLS_X509_FMT_PEM, flags);
+ flags = GNUTLS_X509_CRT_LIST_SORT |
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED;
+ ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
+ &isolated_server_cert,
+ GNUTLS_X509_FMT_PEM, flags);
if (ret < 0 || pcert_list_size != 1) {
- fail("the combined import failed for the isolated cert (%d): %s\n", pcert_list_size, gnutls_strerror(ret));
+ fail("the combined import failed for the isolated cert (%d): %s\n",
+ pcert_list_size, gnutls_strerror(ret));
}
for (i = 0; i < pcert_list_size; i++)
diff --git a/tests/pkcs1-digest-info.c b/tests/pkcs1-digest-info.c
index f137361c66..ea8d62758b 100644
--- a/tests/pkcs1-digest-info.c
+++ b/tests/pkcs1-digest-info.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,7 +36,7 @@
#include "utils.h"
static void encode(const char *test_name, gnutls_digest_algorithm_t hash,
- const gnutls_datum_t * raw, const gnutls_datum_t * expected)
+ const gnutls_datum_t *raw, const gnutls_datum_t *expected)
{
int ret;
gnutls_datum_t out;
@@ -53,13 +53,15 @@ static void encode(const char *test_name, gnutls_digest_algorithm_t hash,
if (expected->size != out.size) {
hexprint(out.data, out.size);
- fail("%s: gnutls_encode_ber_digest_info: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, expected->size);
+ fail("%s: gnutls_encode_ber_digest_info: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, expected->size);
exit(1);
}
if (memcmp(expected->data, out.data, out.size) != 0) {
hexprint(out.data, out.size);
- fail("%s: gnutls_encode_ber_digest_info: output does not match the expected\n", test_name);
+ fail("%s: gnutls_encode_ber_digest_info: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -72,17 +74,20 @@ static void encode(const char *test_name, gnutls_digest_algorithm_t hash,
}
if (thash != hash) {
- fail("%s: gnutls_decode_ber_digest_info: wrong hash, got: %d, expected %d\n", test_name, (int)thash, (int)hash);
+ fail("%s: gnutls_decode_ber_digest_info: wrong hash, got: %d, expected %d\n",
+ test_name, (int)thash, (int)hash);
exit(1);
}
if (raw->size != digest_size) {
- fail("%s: gnutls_decode_ber_digest_info: output has incorrect size (%d, expected %d)\n", test_name, digest_size, raw->size);
+ fail("%s: gnutls_decode_ber_digest_info: output has incorrect size (%d, expected %d)\n",
+ test_name, digest_size, raw->size);
exit(1);
}
if (memcmp(raw->data, digest, digest_size) != 0) {
- fail("%s: gnutls_decode_ber_digest_info: output does not match the expected\n", test_name);
+ fail("%s: gnutls_decode_ber_digest_info: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -92,8 +97,7 @@ static void encode(const char *test_name, gnutls_digest_algorithm_t hash,
}
static void decode(const char *test_name, gnutls_digest_algorithm_t hash,
- const gnutls_datum_t * raw, const gnutls_datum_t * di,
- int res)
+ const gnutls_datum_t *raw, const gnutls_datum_t *di, int res)
{
int ret;
uint8_t digest[128];
@@ -113,17 +117,20 @@ static void decode(const char *test_name, gnutls_digest_algorithm_t hash,
}
if (thash != hash) {
- fail("%s: gnutls_decode_ber_digest_info: wrong hash, got: %d, expected %d\n", test_name, (int)thash, (int)hash);
+ fail("%s: gnutls_decode_ber_digest_info: wrong hash, got: %d, expected %d\n",
+ test_name, (int)thash, (int)hash);
exit(1);
}
if (raw->size != digest_size) {
- fail("%s: gnutls_decode_ber_digest_info: output has incorrect size (%d, expected %d)\n", test_name, digest_size, raw->size);
+ fail("%s: gnutls_decode_ber_digest_info: output has incorrect size (%d, expected %d)\n",
+ test_name, digest_size, raw->size);
exit(1);
}
if (memcmp(raw->data, digest, digest_size) != 0) {
- fail("%s: gnutls_decode_ber_digest_info: output does not match the expected\n", test_name);
+ fail("%s: gnutls_decode_ber_digest_info: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -138,26 +145,18 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "rnd1",
- .hash = GNUTLS_DIG_SHA1,
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
- 20},
- .di = {(void *)
- "\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
- 35}
- },
- {
- .name = "rnd2",
- .hash = GNUTLS_DIG_SHA256,
- .raw = {(void *)
- "\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 32},
- .di = {(void *)
- "\x30\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 51}
- }
+ { .name = "rnd1",
+ .hash = GNUTLS_DIG_SHA1,
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
+ 20 },
+ .di = { (void *)"\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
+ 35 } },
+ { .name = "rnd2",
+ .hash = GNUTLS_DIG_SHA256,
+ .raw = { (void *)"\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 32 },
+ .di = { (void *)"\x30\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 51 } }
};
struct decode_tests_st {
@@ -170,57 +169,44 @@ struct decode_tests_st {
struct decode_tests_st decode_tests[] = {
{
- .name = "dec-rnd1",
- .hash = GNUTLS_DIG_SHA1,
- .di = {(void *)
- "\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
- 35},
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
- 20},
- .res = 0,
- },
- {
- .name = "dec-rnd2",
- .hash = GNUTLS_DIG_SHA256,
- .raw = {(void *)
- "\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 32},
- .di = {(void *)
- "\x30\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 51},
- .res = 0,
- },
- {
- .name = "dec-wrong-tag",
- .hash = GNUTLS_DIG_SHA256,
- .raw = {(void *)
- "\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 32},
- .di = {(void *)
- "\x31\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 51},
- .res = GNUTLS_E_ASN1_TAG_ERROR},
- {
- .name = "dec-wrong-der",
- .hash = GNUTLS_DIG_SHA256,
- .raw = {(void *)
- "\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 32},
- .di = {(void *)
- "\x30\x31\x30\x0c\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x86\xe3\xf9\x25",
- 51},
- .res = GNUTLS_E_ASN1_DER_ERROR},
+ .name = "dec-rnd1",
+ .hash = GNUTLS_DIG_SHA1,
+ .di = { (void *)"\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
+ 35 },
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78\xff\xa1\x32\x12",
+ 20 },
+ .res = 0,
+ },
{
- .name = "dec-wrong-hash",
- .hash = GNUTLS_DIG_SHA256,
- .raw = {(void *)
- "\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
- 32},
- .di = {(void *)
- "\x30\x31\x30\x0d\x06\x09\x61\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x86\xe3\xf9\x25",
- 51},
- .res = GNUTLS_E_UNKNOWN_HASH_ALGORITHM},
+ .name = "dec-rnd2",
+ .hash = GNUTLS_DIG_SHA256,
+ .raw = { (void *)"\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 32 },
+ .di = { (void *)"\x30\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 51 },
+ .res = 0,
+ },
+ { .name = "dec-wrong-tag",
+ .hash = GNUTLS_DIG_SHA256,
+ .raw = { (void *)"\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 32 },
+ .di = { (void *)"\x31\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 51 },
+ .res = GNUTLS_E_ASN1_TAG_ERROR },
+ { .name = "dec-wrong-der",
+ .hash = GNUTLS_DIG_SHA256,
+ .raw = { (void *)"\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 32 },
+ .di = { (void *)"\x30\x31\x30\x0c\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x86\xe3\xf9\x25",
+ 51 },
+ .res = GNUTLS_E_ASN1_DER_ERROR },
+ { .name = "dec-wrong-hash",
+ .hash = GNUTLS_DIG_SHA256,
+ .raw = { (void *)"\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x85\xe3\xf9\x25",
+ 32 },
+ .di = { (void *)"\x30\x31\x30\x0d\x06\x09\x61\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20\x0b\x68\xdf\x4b\x27\xac\xc5\xc5\x52\x43\x74\x32\x39\x5c\x1e\xf5\x6a\xe2\x19\x5a\x58\x75\x81\xa5\x6a\xf5\xbf\x98\x86\xe3\xf9\x25",
+ 51 },
+ .res = GNUTLS_E_UNKNOWN_HASH_ALGORITHM },
};
void doit(void)
diff --git a/tests/pkcs11/distrust-after.c b/tests/pkcs11/distrust-after.c
index 05165baa5a..c95e8720d6 100644
--- a/tests/pkcs11/distrust-after.c
+++ b/tests/pkcs11/distrust-after.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -36,14 +36,14 @@ int main(void)
#else
-# include <string.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
+#include <string.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "pkcs11/softhsm.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "pkcs11/softhsm.h"
+#include "utils.h"
/* This program tests that CKA_NSS_SERVER_DISTRUST_AFTER is honored
* while validating certificate chain.
@@ -54,64 +54,64 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "server|<%d>| %s", level, str);
}
-# define PIN "1234"
+#define PIN "1234"
-# define CONFIG_NAME "softhsm-distrust-after"
-# define CONFIG CONFIG_NAME".config"
+#define CONFIG_NAME "softhsm-distrust-after"
+#define CONFIG CONFIG_NAME ".config"
static const unsigned char chain_pem[] =
- "-----BEGIN CERTIFICATE-----"
- "MIID5zCCAp+gAwIBAgIUIXzLE8ObVwBGHepbjMWRwW/NpDgwDQYJKoZIhvcNAQEL"
- "BQAwGTEXMBUGA1UEAxMOR251VExTIHRlc3QgQ0EwIBcNMjMwMzE0MTAwNDAzWhgP"
- "OTk5OTEyMzEyMzU5NTlaMDcxGzAZBgNVBAoTEkdudVRMUyB0ZXN0IHNlcnZlcjEY"
- "MBYGA1UEAxMPdGVzdC5nbnV0bHMub3JnMIIBUjANBgkqhkiG9w0BAQEFAAOCAT8A"
- "MIIBOgKCATEAtGsnmCWvwf8eyrB+9Ni87UOGZ1Rd2rQewpBfgzwCEfwTcoWyiKRl"
- "QQt2XyO+ip/+eUtzOy7HSzy/FsmXVTUX86FySzDC4CeUEvNWAObOgksRXaQem/r6"
- "uRsqTRi1uqXmDMeoqKFtqoiE3JYOsmwcNarnx5Q9+dXHwqINS7NuevcIX8UJzRWT"
- "GveY3ypMZokk7R/QFmOBZaVYO6HNJWKbmYFUCBcY7HwvCKI7KFcynRdHCob7YrFB"
- "meb73qjqIH7zG+666pohZCmS8q1z5RkFnTdT4hGfGF8iuuKLDQCMni+nhz1Avkqi"
- "pZIIDC5hwFh8mpnh1qyDOSXPPhvt66NtncvFON7Bx26bNBS+MD6CkB65Spp25O8z"
- "DEaiMXL2w2EL+KpnifSl5XY3oSmfgHmqdQIDAQABo4GmMIGjMAwGA1UdEwEB/wQC"
- "MAAwGgYDVR0RBBMwEYIPdGVzdC5nbnV0bHMub3JnMCcGA1UdJQQgMB4GCCsGAQUF"
- "BwMBBggrBgEFBQcDAwYIKwYBBQUHAwQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQW"
- "BBRIIzRTCokxOEpa6sq20qbezh0rGDAfBgNVHSMEGDAWgBQedyNtZzEfkQebli/s"
- "/MhG/ozhAzANBgkqhkiG9w0BAQsFAAOCATEAYbQLlr74D62lPEevV/HWLOMG8taY"
- "gPld7Z5VApIhsJa913Jya7AOsW+lz48LX3QNTc8Xgj7FVwQeNP1GtBZXCe6U73KB"
- "Z+qp1rIEwn2cQVmFG+ShxmUA/gxxmWql2BAORNd5ZCVOcZbMh9uwWjhIQN/SImtW"
- "x3ebFgV5N7GPFbw+5NUITLXoLrD7Bixv3iQS8hWwmAmmPZbHAENRauL6jYSjniru"
- "SSFYjzJ1trJB6VgpJ2yWfKdcGZmB3osnGshWbayVOaprbH0AWKwOZ/d7sAldjdVw"
- "ZsaOhA+6NbvpKYZuw6Tdt0+VmUwGC1ATJGpc0dEXRBaFlt/e+gqQ43Mo+YwiMDYq"
- "LDU5nLC6uTSZLtgQHTqb32xmQ/D/y6NkUTH3f4OcxPGxBRVBHjOTk6MhRA=="
- "-----END CERTIFICATE-----"
- "-----BEGIN CERTIFICATE-----"
- "MIIDjTCCAkWgAwIBAgIUejTcfGbOAc9l4IBW+kpAN6A7Sj4wDQYJKoZIhvcNAQEL"
- "BQAwGTEXMBUGA1UEAxMOR251VExTIHRlc3QgQ0EwIBcNMjMwMzE0MDk1NzU1WhgP"
- "OTk5OTEyMzEyMzU5NTlaMBkxFzAVBgNVBAMTDkdudVRMUyB0ZXN0IENBMIIBUjAN"
- "BgkqhkiG9w0BAQEFAAOCAT8AMIIBOgKCATEAnORCsX1unl//fy2d1054XduIg/3C"
- "qVBaT3Hca65SEoDwh0KiPtQoOgZLdKY2cobGs/ojYtOjcs0KnlPYdmtjEh6WEhuJ"
- "U95v4TQdC4OLMiE56eIGq252hZAbHoTL84Q14DxQWGuzQK830iml7fbw2WcIcRQ8"
- "vFGs8SzfXw63+MI6Fq6iMAQIqP08WzGmRRzL5wvCiPhCVkrPmwbXoABub6AAsYwW"
- "PJB91M9/lx5gFH5k9/iPfi3s2Kg3F8MOcppqFYjxDSnsfiz6eMh1+bYVIAo367vG"
- "VYHigXMEZC2FezlwIHaZzpEoFlY3a7LFJ00yrjQ910r8UE+CEMTYzE40D0olCMo7"
- "FA9RCjeO3bUIoYaIdVTUGWEGHWSeoxGei9Gkm6u+ASj8f+i0jxdD2qXsewIDAQAB"
- "o2swaTAPBgNVHRMBAf8EBTADAQH/MCcGA1UdJQQgMB4GCCsGAQUFBwMBBggrBgEF"
- "BQcDAwYIKwYBBQUHAwQwDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBQedyNtZzEf"
- "kQebli/s/MhG/ozhAzANBgkqhkiG9w0BAQsFAAOCATEAa37UdOTvdUfRGwjrodhE"
- "tEnRnfrwfQ61RMK5GY07UAks7CjdeWFDLoQfv9oP9kH122hEGAA683xg/CH5OeN0"
- "8zrayQKqwcH40SJQDzc748lTgxUIDaf2rrkoF8butpaDaI0fageqjlEvCeZZSuIC"
- "KCfZK9NPN47DknuerjOTwrWxvXYRepfSo8VVbjRj8R4qsgJsmJZYQfrAg0XrnKf/"
- "UibNPXRCYABsxH4ZFtivg93LaQ05z4IrPSWGOTDQxNBoEC0DVGfSc8XElP0MkF/K"
- "BIPsl3Rt2oFNhfViF9Gpzy9Dj1P1kMD6kE7nBDiRBUPNJZBiJSGVTMZTMc2tg42W"
- "QcUYnUUzOpQWg1tcOZy4s+EuJ0bEWhSkFfSN3ENxsHXNCYYHgeadATcGbzTxD6ib"
- "eA==" "-----END CERTIFICATE-----";
-
-static const gnutls_datum_t chain = {
- (unsigned char *)chain_pem, sizeof(chain_pem) - 1
-};
-
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+ "-----BEGIN CERTIFICATE-----"
+ "MIID5zCCAp+gAwIBAgIUIXzLE8ObVwBGHepbjMWRwW/NpDgwDQYJKoZIhvcNAQEL"
+ "BQAwGTEXMBUGA1UEAxMOR251VExTIHRlc3QgQ0EwIBcNMjMwMzE0MTAwNDAzWhgP"
+ "OTk5OTEyMzEyMzU5NTlaMDcxGzAZBgNVBAoTEkdudVRMUyB0ZXN0IHNlcnZlcjEY"
+ "MBYGA1UEAxMPdGVzdC5nbnV0bHMub3JnMIIBUjANBgkqhkiG9w0BAQEFAAOCAT8A"
+ "MIIBOgKCATEAtGsnmCWvwf8eyrB+9Ni87UOGZ1Rd2rQewpBfgzwCEfwTcoWyiKRl"
+ "QQt2XyO+ip/+eUtzOy7HSzy/FsmXVTUX86FySzDC4CeUEvNWAObOgksRXaQem/r6"
+ "uRsqTRi1uqXmDMeoqKFtqoiE3JYOsmwcNarnx5Q9+dXHwqINS7NuevcIX8UJzRWT"
+ "GveY3ypMZokk7R/QFmOBZaVYO6HNJWKbmYFUCBcY7HwvCKI7KFcynRdHCob7YrFB"
+ "meb73qjqIH7zG+666pohZCmS8q1z5RkFnTdT4hGfGF8iuuKLDQCMni+nhz1Avkqi"
+ "pZIIDC5hwFh8mpnh1qyDOSXPPhvt66NtncvFON7Bx26bNBS+MD6CkB65Spp25O8z"
+ "DEaiMXL2w2EL+KpnifSl5XY3oSmfgHmqdQIDAQABo4GmMIGjMAwGA1UdEwEB/wQC"
+ "MAAwGgYDVR0RBBMwEYIPdGVzdC5nbnV0bHMub3JnMCcGA1UdJQQgMB4GCCsGAQUF"
+ "BwMBBggrBgEFBQcDAwYIKwYBBQUHAwQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQW"
+ "BBRIIzRTCokxOEpa6sq20qbezh0rGDAfBgNVHSMEGDAWgBQedyNtZzEfkQebli/s"
+ "/MhG/ozhAzANBgkqhkiG9w0BAQsFAAOCATEAYbQLlr74D62lPEevV/HWLOMG8taY"
+ "gPld7Z5VApIhsJa913Jya7AOsW+lz48LX3QNTc8Xgj7FVwQeNP1GtBZXCe6U73KB"
+ "Z+qp1rIEwn2cQVmFG+ShxmUA/gxxmWql2BAORNd5ZCVOcZbMh9uwWjhIQN/SImtW"
+ "x3ebFgV5N7GPFbw+5NUITLXoLrD7Bixv3iQS8hWwmAmmPZbHAENRauL6jYSjniru"
+ "SSFYjzJ1trJB6VgpJ2yWfKdcGZmB3osnGshWbayVOaprbH0AWKwOZ/d7sAldjdVw"
+ "ZsaOhA+6NbvpKYZuw6Tdt0+VmUwGC1ATJGpc0dEXRBaFlt/e+gqQ43Mo+YwiMDYq"
+ "LDU5nLC6uTSZLtgQHTqb32xmQ/D/y6NkUTH3f4OcxPGxBRVBHjOTk6MhRA=="
+ "-----END CERTIFICATE-----"
+ "-----BEGIN CERTIFICATE-----"
+ "MIIDjTCCAkWgAwIBAgIUejTcfGbOAc9l4IBW+kpAN6A7Sj4wDQYJKoZIhvcNAQEL"
+ "BQAwGTEXMBUGA1UEAxMOR251VExTIHRlc3QgQ0EwIBcNMjMwMzE0MDk1NzU1WhgP"
+ "OTk5OTEyMzEyMzU5NTlaMBkxFzAVBgNVBAMTDkdudVRMUyB0ZXN0IENBMIIBUjAN"
+ "BgkqhkiG9w0BAQEFAAOCAT8AMIIBOgKCATEAnORCsX1unl//fy2d1054XduIg/3C"
+ "qVBaT3Hca65SEoDwh0KiPtQoOgZLdKY2cobGs/ojYtOjcs0KnlPYdmtjEh6WEhuJ"
+ "U95v4TQdC4OLMiE56eIGq252hZAbHoTL84Q14DxQWGuzQK830iml7fbw2WcIcRQ8"
+ "vFGs8SzfXw63+MI6Fq6iMAQIqP08WzGmRRzL5wvCiPhCVkrPmwbXoABub6AAsYwW"
+ "PJB91M9/lx5gFH5k9/iPfi3s2Kg3F8MOcppqFYjxDSnsfiz6eMh1+bYVIAo367vG"
+ "VYHigXMEZC2FezlwIHaZzpEoFlY3a7LFJ00yrjQ910r8UE+CEMTYzE40D0olCMo7"
+ "FA9RCjeO3bUIoYaIdVTUGWEGHWSeoxGei9Gkm6u+ASj8f+i0jxdD2qXsewIDAQAB"
+ "o2swaTAPBgNVHRMBAf8EBTADAQH/MCcGA1UdJQQgMB4GCCsGAQUFBwMBBggrBgEF"
+ "BQcDAwYIKwYBBQUHAwQwDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBQedyNtZzEf"
+ "kQebli/s/MhG/ozhAzANBgkqhkiG9w0BAQsFAAOCATEAa37UdOTvdUfRGwjrodhE"
+ "tEnRnfrwfQ61RMK5GY07UAks7CjdeWFDLoQfv9oP9kH122hEGAA683xg/CH5OeN0"
+ "8zrayQKqwcH40SJQDzc748lTgxUIDaf2rrkoF8butpaDaI0fageqjlEvCeZZSuIC"
+ "KCfZK9NPN47DknuerjOTwrWxvXYRepfSo8VVbjRj8R4qsgJsmJZYQfrAg0XrnKf/"
+ "UibNPXRCYABsxH4ZFtivg93LaQ05z4IrPSWGOTDQxNBoEC0DVGfSc8XElP0MkF/K"
+ "BIPsl3Rt2oFNhfViF9Gpzy9Dj1P1kMD6kE7nBDiRBUPNJZBiJSGVTMZTMc2tg42W"
+ "QcUYnUUzOpQWg1tcOZy4s+EuJ0bEWhSkFfSN3ENxsHXNCYYHgeadATcGbzTxD6ib"
+ "eA=="
+ "-----END CERTIFICATE-----";
+
+static const gnutls_datum_t chain = { (unsigned char *)chain_pem,
+ sizeof(chain_pem) - 1 };
+
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -154,23 +154,22 @@ static void test(const char *provider, const char *purpose, bool succeeds)
fail("gnutls_pkcs11_token_init: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
}
gnutls_x509_trust_list_init(&tl, 0);
- ret = gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL,
- 0, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
+ 0);
if (ret < 0) {
fail("gnutls_x509_trust_list_add_trust_file\n");
}
- ret = gnutls_x509_crt_list_import2(&certs, &count,
- &chain, GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&certs, &count, &chain,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
}
@@ -178,10 +177,11 @@ static void test(const char *provider, const char *purpose, bool succeeds)
assert(count == 2);
/* Use the ICA (instead of the actual root CA) for simplicity. */
- ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, certs[1], "ca",
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_CA |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ SOFTHSM_URL, certs[1], "ca",
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_CA |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
}
@@ -189,8 +189,8 @@ static void test(const char *provider, const char *purpose, bool succeeds)
vdata.type = GNUTLS_DT_KEY_PURPOSE_OID;
vdata.data = (void *)purpose;
- ret = gnutls_x509_trust_list_verify_crt2(tl, certs, 1, &vdata, 1,
- 0, &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(tl, certs, 1, &vdata, 1, 0,
+ &status, NULL);
if (ret < 0) {
fail("gnutls_x509_trust_list_verify_crt2: %s\n",
gnutls_strerror(ret));
@@ -236,16 +236,18 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
test(lib, GNUTLS_KP_TLS_WWW_SERVER, true);
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
test(lib, GNUTLS_KP_EMAIL_PROTECTION, true);
@@ -257,18 +259,20 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
test(lib, GNUTLS_KP_TLS_WWW_SERVER, false);
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
test(lib, GNUTLS_KP_EMAIL_PROTECTION, true);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/pkcs11/gnutls_pcert_list_import_x509_file.c b/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
index 6554609ab4..b6d79c81f6 100644
--- a/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
+++ b/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,7 +41,7 @@
*/
#define CONFIG_NAME "softhsm-import-url"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#include "../test-chains.h"
@@ -52,9 +52,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -63,7 +63,7 @@ int pin_func(void *userdata, int attempt, const char *url, const char *label,
return -1;
}
-static int comp_cert(gnutls_pcert_st * pcert, unsigned i)
+static int comp_cert(gnutls_pcert_st *pcert, unsigned i)
{
int ret;
gnutls_datum_t data;
@@ -109,10 +109,10 @@ static void load_cert(const char *url, unsigned i)
fail("error[%d]: %s\n", i, gnutls_strerror(ret));
snprintf(name, sizeof(name), "cert-%d", i);
- ret =
- gnutls_pkcs11_copy_x509_crt(url, crt, name,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ url, crt, name,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE);
if (ret < 0)
fail("error[%d]: %s\n", i, gnutls_strerror(ret));
@@ -173,8 +173,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, NULL);
@@ -189,9 +190,8 @@ void doit(void)
fail("gnutls_pkcs11_token_init: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
}
@@ -201,19 +201,17 @@ void doit(void)
success("import from URI\n");
pcerts_size = 2;
- ret =
- gnutls_pcert_list_import_x509_file(pcerts, &pcerts_size,
- SOFTHSM_URL ";object=cert-0",
- GNUTLS_X509_FMT_PEM, pin_func,
- NULL, 0);
+ ret = gnutls_pcert_list_import_x509_file(pcerts, &pcerts_size,
+ SOFTHSM_URL ";object=cert-0",
+ GNUTLS_X509_FMT_PEM, pin_func,
+ NULL, 0);
assert(ret == GNUTLS_E_SHORT_MEMORY_BUFFER);
pcerts_size = sizeof(pcerts) / sizeof(pcerts[0]);
- ret =
- gnutls_pcert_list_import_x509_file(pcerts, &pcerts_size,
- SOFTHSM_URL ";object=cert-0",
- GNUTLS_X509_FMT_PEM, pin_func,
- NULL, 0);
+ ret = gnutls_pcert_list_import_x509_file(pcerts, &pcerts_size,
+ SOFTHSM_URL ";object=cert-0",
+ GNUTLS_X509_FMT_PEM, pin_func,
+ NULL, 0);
if (ret < 0)
fail("cannot load certs: %s\n", gnutls_strerror(ret));
diff --git a/tests/pkcs11/gnutls_x509_crt_list_import_url.c b/tests/pkcs11/gnutls_x509_crt_list_import_url.c
index 3767bb6a26..5debfe2b09 100644
--- a/tests/pkcs11/gnutls_x509_crt_list_import_url.c
+++ b/tests/pkcs11/gnutls_x509_crt_list_import_url.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,7 +41,7 @@
*/
#define CONFIG_NAME "x509-crt-list-import-url"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#include "../test-chains.h"
@@ -52,9 +52,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -104,10 +104,10 @@ static void load_cert(const char *url, unsigned i)
fail("error[%d]: %s\n", i, gnutls_strerror(ret));
snprintf(name, sizeof(name), "cert-%d", i);
- ret =
- gnutls_pkcs11_copy_x509_crt(url, crt, name,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ url, crt, name,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE);
if (ret < 0)
fail("error[%d]: %s\n", i, gnutls_strerror(ret));
@@ -153,8 +153,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, NULL);
@@ -169,9 +170,8 @@ void doit(void)
fail("gnutls_pkcs11_token_init: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
}
@@ -180,19 +180,17 @@ void doit(void)
gnutls_pkcs11_set_pin_function(NULL, NULL);
/* try importing without login */
- ret =
- gnutls_x509_crt_list_import_url(&crts, &crts_size,
- SOFTHSM_URL ";object=cert-0",
- pin_func, NULL, 0);
+ ret = gnutls_x509_crt_list_import_url(&crts, &crts_size,
+ SOFTHSM_URL ";object=cert-0",
+ pin_func, NULL, 0);
if (ret != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
fail("cannot load certs: %s\n", gnutls_strerror(ret));
/* try importing with login */
- ret =
- gnutls_x509_crt_list_import_url(&crts, &crts_size,
- SOFTHSM_URL ";object=cert-0",
- pin_func, NULL,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_x509_crt_list_import_url(&crts, &crts_size,
+ SOFTHSM_URL ";object=cert-0",
+ pin_func, NULL,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0)
fail("cannot load certs: %s\n", gnutls_strerror(ret));
diff --git a/tests/pkcs11/list-objects.c b/tests/pkcs11/list-objects.c
index 5cc727f766..890e76b6e5 100644
--- a/tests/pkcs11/list-objects.c
+++ b/tests/pkcs11/list-objects.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -48,9 +48,9 @@ static void tls_log_func(int level, const char *str)
static const char *opt_pin;
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, opt_pin);
@@ -124,9 +124,8 @@ int main(int argc, char **argv)
flags = 0;
}
- ret =
- gnutls_pkcs11_obj_list_import_url2(&crt_list, &crt_list_size,
- url, attrs, obj_flags);
+ ret = gnutls_pkcs11_obj_list_import_url2(&crt_list, &crt_list_size, url,
+ attrs, obj_flags);
if (ret != 0) {
fprintf(stderr, "error at %d: %s\n", __LINE__,
gnutls_strerror(ret));
diff --git a/tests/pkcs11/list-tokens.c b/tests/pkcs11/list-tokens.c
index a32ca326e4..8fa4b58035 100644
--- a/tests/pkcs11/list-tokens.c
+++ b/tests/pkcs11/list-tokens.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,10 +47,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-int
-_gnutls_pkcs11_token_get_url(unsigned int seq,
- gnutls_pkcs11_url_type_t detailed, char **url,
- unsigned flags);
+int _gnutls_pkcs11_token_get_url(unsigned int seq,
+ gnutls_pkcs11_url_type_t detailed, char **url,
+ unsigned flags);
int main(int argc, char **argv)
{
@@ -83,8 +82,8 @@ int main(int argc, char **argv)
break;
case 'm':
/* initialize manually - i.e., do no module loading */
- ret =
- gnutls_pkcs11_init(GNUTLS_PKCS11_FLAG_MANUAL, NULL);
+ ret = gnutls_pkcs11_init(GNUTLS_PKCS11_FLAG_MANUAL,
+ NULL);
if (ret != 0) {
fprintf(stderr, "error at %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -122,9 +121,8 @@ int main(int argc, char **argv)
break;
case 't':
/* do trusted module loading */
- ret =
- gnutls_pkcs11_init(GNUTLS_PKCS11_FLAG_AUTO_TRUSTED,
- NULL);
+ ret = gnutls_pkcs11_init(
+ GNUTLS_PKCS11_FLAG_AUTO_TRUSTED, NULL);
if (ret != 0) {
fprintf(stderr, "error at %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -134,12 +132,13 @@ int main(int argc, char **argv)
case 'v':
/* do verification which should trigger trusted module loading */
assert(gnutls_x509_crt_init(&crt) >= 0);
- assert(gnutls_x509_crt_import
- (crt, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_x509_crt_import(crt, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >=
+ 0);
assert(gnutls_x509_trust_list_init(&tl, 0) >= 0);
- assert(gnutls_x509_trust_list_add_system_trust(tl, 0, 0)
- >= 0);
+ assert(gnutls_x509_trust_list_add_system_trust(tl, 0,
+ 0) >= 0);
gnutls_x509_trust_list_verify_crt2(tl, &crt, 1, NULL, 0,
0, &status, NULL);
gnutls_x509_trust_list_deinit(tl, 1);
diff --git a/tests/pkcs11/pkcs11-cert-import-url-exts.c b/tests/pkcs11/pkcs11-cert-import-url-exts.c
index d5f3a3b18c..6e0b20050d 100644
--- a/tests/pkcs11/pkcs11-cert-import-url-exts.c
+++ b/tests/pkcs11/pkcs11-cert-import-url-exts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,12 +38,12 @@
/* Tests the certificate extension override in "trusted" PKCS#11 modules */
#ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
+#define P11LIB "libpkcs11mock1.dll"
#else
-# define P11LIB "libpkcs11mock1.so"
+#define P11LIB "libpkcs11mock1.so"
#endif
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1424466893;
@@ -92,16 +92,16 @@ void doit(void)
assert(gnutls_x509_crt_init(&ocrt) >= 0);
/* check high level certificate functions */
- ret =
- gnutls_x509_crt_import_url(crt, "pkcs11:type=cert;object=cert1", 0);
+ ret = gnutls_x509_crt_import_url(crt, "pkcs11:type=cert;object=cert1",
+ 0);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_import_url(ocrt, "pkcs11:type=cert;object=cert1",
- GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT);
+ ret = gnutls_x509_crt_import_url(
+ ocrt, "pkcs11:type=cert;object=cert1",
+ GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -129,9 +129,8 @@ void doit(void)
exit(1);
}
- if (keyusage !=
- (GNUTLS_KEY_KEY_ENCIPHERMENT | GNUTLS_KEY_ENCIPHER_ONLY |
- GNUTLS_KEY_KEY_CERT_SIGN)) {
+ if (keyusage != (GNUTLS_KEY_KEY_ENCIPHERMENT |
+ GNUTLS_KEY_ENCIPHER_ONLY | GNUTLS_KEY_KEY_CERT_SIGN)) {
fail("Extension does not have the expected key usage!\n");
}
diff --git a/tests/pkcs11/pkcs11-cert-import-url4-exts.c b/tests/pkcs11/pkcs11-cert-import-url4-exts.c
index af20493fa3..7119af8f6a 100644
--- a/tests/pkcs11/pkcs11-cert-import-url4-exts.c
+++ b/tests/pkcs11/pkcs11-cert-import-url4-exts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,12 +38,12 @@
/* Tests the certificate extension override in "trusted" PKCS#11 modules */
#ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
+#define P11LIB "libpkcs11mock1.dll"
#else
-# define P11LIB "libpkcs11mock1.so"
+#define P11LIB "libpkcs11mock1.so"
#endif
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1424466893;
@@ -96,19 +96,16 @@ void doit(void)
assert(gnutls_x509_crt_init(&ocrt) >= 0);
/* check low level certificate import functions */
- ret =
- gnutls_pkcs11_obj_list_import_url4(&plist, &plist_size,
- "pkcs11:type=cert;object=cert1",
- 0);
+ ret = gnutls_pkcs11_obj_list_import_url4(
+ &plist, &plist_size, "pkcs11:type=cert;object=cert1", 0);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_obj_list_import_url4(&plist2, &plist2_size,
- "pkcs11:type=cert;object=cert1",
- GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT);
+ ret = gnutls_pkcs11_obj_list_import_url4(
+ &plist2, &plist2_size, "pkcs11:type=cert;object=cert1",
+ GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -158,9 +155,8 @@ void doit(void)
exit(1);
}
- if (keyusage !=
- (GNUTLS_KEY_KEY_ENCIPHERMENT | GNUTLS_KEY_ENCIPHER_ONLY |
- GNUTLS_KEY_KEY_CERT_SIGN)) {
+ if (keyusage != (GNUTLS_KEY_KEY_ENCIPHERMENT |
+ GNUTLS_KEY_ENCIPHER_ONLY | GNUTLS_KEY_KEY_CERT_SIGN)) {
fail("Extension does not have the expected key usage!\n");
}
diff --git a/tests/pkcs11/pkcs11-chainverify.c b/tests/pkcs11/pkcs11-chainverify.c
index e84ca8f850..235fc92cd9 100644
--- a/tests/pkcs11/pkcs11-chainverify.c
+++ b/tests/pkcs11/pkcs11-chainverify.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,7 +44,7 @@ static time_t then = DEFAULT_THEN;
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
if (t)
*t = then;
@@ -57,9 +57,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, "1234");
@@ -80,7 +80,7 @@ void doit(void)
if (gnutls_fips140_mode_enabled())
exit(77);
- /* The overloading of time() seems to work in linux (ELF?)
+ /* The overloading of time() seems to work in linux (ELF?)
* systems only. Disable it on windows.
*/
#ifdef _WIN32
@@ -104,9 +104,10 @@ void doit(void)
gnutls_global_set_log_level(4711);
set_softhsm_conf(CONFIG);
- snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin 1234 --pin 1234",
- bin);
+ snprintf(
+ buf, sizeof(buf),
+ "%s --init-token --slot 0 --label test --so-pin 1234 --pin 1234",
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -153,9 +154,8 @@ void doit(void)
tmp.data = (unsigned char *)chains[i].chain[j];
tmp.size = strlen(chains[i].chain[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
@@ -213,12 +213,11 @@ void doit(void)
}
/* write CA certificate to softhsm */
- ret =
- gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, ca, "test-ca",
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED
- | GNUTLS_PKCS11_OBJ_FLAG_MARK_CA
- |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ SOFTHSM_URL, ca, "test-ca",
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_CA |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n",
gnutls_strerror(ret));
@@ -226,9 +225,8 @@ void doit(void)
gnutls_x509_trust_list_init(&tl, 0);
- ret =
- gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL,
- 0, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL,
+ NULL, 0, 0, 0);
if (ret < 0) {
fail("gnutls_x509_trust_list_add_trust_file: %s\n",
gnutls_strerror(ret));
@@ -242,21 +240,19 @@ void doit(void)
/* test trust list iteration */
get_ca_iter = NULL;
- while (gnutls_x509_trust_list_iter_get_ca
- (tl, &get_ca_iter, &get_ca_crt) == 0) {
- ret =
- gnutls_x509_crt_export2(get_ca_crt,
- GNUTLS_X509_FMT_PEM,
- &get_ca_datum_test);
+ while (gnutls_x509_trust_list_iter_get_ca(tl, &get_ca_iter,
+ &get_ca_crt) == 0) {
+ ret = gnutls_x509_crt_export2(get_ca_crt,
+ GNUTLS_X509_FMT_PEM,
+ &get_ca_datum_test);
if (ret < 0) {
fail("gnutls_x509_crt_export2: %s\n",
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_export2(ca, GNUTLS_X509_FMT_PEM,
- &get_ca_datum);
+ ret = gnutls_x509_crt_export2(ca, GNUTLS_X509_FMT_PEM,
+ &get_ca_datum);
if (ret < 0) {
fail("gnutls_x509_crt_export2: %s\n",
gnutls_strerror(ret));
@@ -266,7 +262,9 @@ void doit(void)
if (get_ca_datum_test.size != get_ca_datum.size ||
memcmp(get_ca_datum_test.data, get_ca_datum.data,
get_ca_datum.size) != 0) {
- fail("gnutls_x509_trist_list_iter_get_ca: Unexpected certificate (%u != %u):\n\n%s\n\nvs.\n\n%s", get_ca_datum.size, get_ca_datum_test.size, get_ca_datum.data, get_ca_datum_test.data);
+ fail("gnutls_x509_trist_list_iter_get_ca: Unexpected certificate (%u != %u):\n\n%s\n\nvs.\n\n%s",
+ get_ca_datum.size, get_ca_datum_test.size,
+ get_ca_datum.data, get_ca_datum_test.data);
exit(1);
}
@@ -284,12 +282,9 @@ void doit(void)
then = DEFAULT_THEN;
/* make sure that the two functions don't diverge */
- ret = gnutls_x509_trust_list_verify_crt2(tl, certs, j,
- vdata,
- chains[i].purpose ==
- NULL ? 0 : 1,
- chains[i].verify_flags,
- &verify_status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ tl, certs, j, vdata, chains[i].purpose == NULL ? 0 : 1,
+ chains[i].verify_flags, &verify_status, NULL);
if (ret < 0) {
fprintf(stderr,
"gnutls_x509_crt_list_verify[%d,%d]: %s\n",
@@ -299,14 +294,14 @@ void doit(void)
if (verify_status != chains[i].expected_verify_result) {
gnutls_datum_t out1, out2;
- gnutls_certificate_verification_status_print
- (verify_status, GNUTLS_CRT_X509, &out1, 0);
- gnutls_certificate_verification_status_print(chains
- [i].
- expected_verify_result,
- GNUTLS_CRT_X509,
- &out2, 0);
- fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n", chains[i].name, verify_status, out1.data, chains[i].expected_verify_result, out2.data);
+ gnutls_certificate_verification_status_print(
+ verify_status, GNUTLS_CRT_X509, &out1, 0);
+ gnutls_certificate_verification_status_print(
+ chains[i].expected_verify_result,
+ GNUTLS_CRT_X509, &out2, 0);
+ fail("chain[%s]:\nverify_status: %d: %s\nexpected: %d: %s\n",
+ chains[i].name, verify_status, out1.data,
+ chains[i].expected_verify_result, out2.data);
gnutls_free(out1.data);
gnutls_free(out2.data);
diff --git a/tests/pkcs11/pkcs11-combo.c b/tests/pkcs11/pkcs11-combo.c
index 7a15b13b21..777a299de4 100644
--- a/tests/pkcs11/pkcs11-combo.c
+++ b/tests/pkcs11/pkcs11-combo.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,132 +41,133 @@
#include "softhsm.h"
#define NAME "softhsm-combo"
-#define CONFIG NAME".config"
+#define CONFIG NAME ".config"
/* These CAs have the same DN */
static const char *ca_list[MAX_CHAIN] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
- "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
- "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
- "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
- "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
- "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
- "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
- "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
- "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
- "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
- "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
- "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
- "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
- "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
- "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
- "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
- "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
- "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
- "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
- "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
- "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
- "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
- "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
- "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
- "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
- "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
- "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
- "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
- "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
- "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
- "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
- "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
- "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
- "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
- "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
- "-----END CERTIFICATE-----",
+ "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
+ "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
+ "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
+ "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
+ "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
+ "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
+ "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
+ "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
+ "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
+ "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
+ "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
+ "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
+ "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
+ "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
+ "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
+ "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
+ "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
+ "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
+ "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
+ "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
+ "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
+ "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
+ "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
+ "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
+ "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
+ "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
+ "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
+ "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
+ "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
+ "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
+ "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
+ "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
+ "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
+ "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
+ "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
+ "-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\n"
- "MIIHSjCCBjKgAwIBAgIKYRXxrQABAAAAETANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wOTA1MTUxODQyNDVaFw0x\n"
- "NTA1MTUxODUyNDVaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbJOXtXYgfyoch6\n"
- "ip5SSjijOXvpIjBxbTl5EGH/VYHmpM2O6SRlKh/uy77QS9m84sRWCJLr8cWwX9oH\n"
- "qSmIylgcWvDpVNHx4v506DTTrbK0sbYRQYXRajOzJKeTt7NLeLrngyl45FrI9VAT\n"
- "3yqp/2BCG1dUwcBha3dB2UbTkFOMt9o/gqoL6KvgswYMs/oGc/OIjeozdYuhnBT2\n"
- "YlT9Ge5pfhOJWXh4DJbxnTmWwRUKq0MXFn0S00KQ/BZOTkc/5DibUmbmMrYi8ra4\n"
- "Z2bpnoTq0WNA99O2Lk8IgmkqPdi6HwZwKCE/x01qwP8zo76rvN8sbW9pj2WzS1WF\n"
- "tSDPeZECAwEAAaOCBBwwggQYMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
- "FPwbdyds7Cm03lobLKmI6q59npi+MAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEE\n"
- "BQIDAQABMCMGCSsGAQQBgjcVAgQWBBRT1n27C6cZL4QFHaUX2nFSCPxhtTAZBgkr\n"
- "BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
- "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
- "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
- "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
- "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
- "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
- "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
- "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
- "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
- "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
- "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
- "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
- "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
- "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
- "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
- "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
- "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
- "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
- "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
- "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEArlAkrJXyMCssqAJT3PqnY7wt\n"
- "sirq1fTMrVrHdmkpBKDXBQnDcTW1zfZtOPV/QDm3UsFwDBbGq+j/7U9qZ1zYHkv+\n"
- "wrBpeFM6dlca/sgegGGAhYnQQwmlSzNXCKHMBltMjT61X8rVjyt1XJnucgat9rnT\n"
- "2j8pztqoViVnORsGfT6DDB/bz/6bFKw4FMp1wDaJI7dKh5NUggvH36owTWI7JUvq\n"
- "yJ8OI2qmjXrlqGexfwvltIkEk8xzuMIHWQoR8sERL2qf3nb2VYq1s1LbH5uCkZ0l\n"
- "w/xgwFbbwjaGJ3TFOmkVKYU77nXSkfK9EXae0UZRU0WmX4t5NNt8jiL56TPpsw==\n"
- "-----END CERTIFICATE-----\n",
+ "MIIHSjCCBjKgAwIBAgIKYRXxrQABAAAAETANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wOTA1MTUxODQyNDVaFw0x\n"
+ "NTA1MTUxODUyNDVaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbJOXtXYgfyoch6\n"
+ "ip5SSjijOXvpIjBxbTl5EGH/VYHmpM2O6SRlKh/uy77QS9m84sRWCJLr8cWwX9oH\n"
+ "qSmIylgcWvDpVNHx4v506DTTrbK0sbYRQYXRajOzJKeTt7NLeLrngyl45FrI9VAT\n"
+ "3yqp/2BCG1dUwcBha3dB2UbTkFOMt9o/gqoL6KvgswYMs/oGc/OIjeozdYuhnBT2\n"
+ "YlT9Ge5pfhOJWXh4DJbxnTmWwRUKq0MXFn0S00KQ/BZOTkc/5DibUmbmMrYi8ra4\n"
+ "Z2bpnoTq0WNA99O2Lk8IgmkqPdi6HwZwKCE/x01qwP8zo76rvN8sbW9pj2WzS1WF\n"
+ "tSDPeZECAwEAAaOCBBwwggQYMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
+ "FPwbdyds7Cm03lobLKmI6q59npi+MAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEE\n"
+ "BQIDAQABMCMGCSsGAQQBgjcVAgQWBBRT1n27C6cZL4QFHaUX2nFSCPxhtTAZBgkr\n"
+ "BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
+ "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
+ "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
+ "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
+ "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
+ "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
+ "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
+ "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
+ "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
+ "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
+ "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
+ "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
+ "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
+ "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
+ "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
+ "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
+ "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
+ "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
+ "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
+ "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEArlAkrJXyMCssqAJT3PqnY7wt\n"
+ "sirq1fTMrVrHdmkpBKDXBQnDcTW1zfZtOPV/QDm3UsFwDBbGq+j/7U9qZ1zYHkv+\n"
+ "wrBpeFM6dlca/sgegGGAhYnQQwmlSzNXCKHMBltMjT61X8rVjyt1XJnucgat9rnT\n"
+ "2j8pztqoViVnORsGfT6DDB/bz/6bFKw4FMp1wDaJI7dKh5NUggvH36owTWI7JUvq\n"
+ "yJ8OI2qmjXrlqGexfwvltIkEk8xzuMIHWQoR8sERL2qf3nb2VYq1s1LbH5uCkZ0l\n"
+ "w/xgwFbbwjaGJ3TFOmkVKYU77nXSkfK9EXae0UZRU0WmX4t5NNt8jiL56TPpsw==\n"
+ "-----END CERTIFICATE-----\n",
"-----BEGIN CERTIFICATE-----\n"
- "MIIHIzCCBgugAwIBAgIKYRok3wABAAAADDANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wNjA1MjQxOTU2MDFaFw0x\n"
- "MjA1MjQyMDA2MDFaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANE2pFSB0XqXoRWF\n"
- "N7bzDesBAcTGEqcr6GVA+sMcJ5Vt17S8vGesmO2RgP6I49Q58nIhUnT054arUlOx\n"
- "NKYbAEiVyGOK5zV2mZS4oW2UazfcpsV1uuO3j02UbzX+qcxQdNqoAHxwoB4nRJuU\n"
- "Ijio45jWAssDbD8IKHZpmqRI5wUzbibkWnTZEc0YFO6iF40sNtqVr+uInP07PkQn\n"
- "1Ttkyw6isa5Dhcyq6lTVOjnlj29bFYbZxN1uuDnTpUMVeov8oQv5wLyLrDVd1sMg\n"
- "Njr2oofepZ8KjF3DKCkfsUekCHA9Pr2K/4hStd/nSwvIdNjCjfznqYadkB6wQ99a\n"
- "hTX4uJkCAwEAAaOCA/UwggPxMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
- "FJunwCR+/af8p76CGTyhUZc3l/4DMAsGA1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEE\n"
- "AwIBADAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCR\n"
- "HAOAgE4RFYhGpOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFo\n"
- "dHRwOi8vd3d3LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJh\n"
- "bmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZp\n"
- "Y2F0ZXMuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQl\n"
- "MjBCYXNpYyUyMFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwl\n"
- "MjBJbnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2Es\n"
- "Q049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENO\n"
- "PUNvbmZpZ3VyYXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNh\n"
- "dGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlv\n"
- "blBvaW50MIIBuQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDov\n"
- "L3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJ\n"
- "bnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAC\n"
- "hmNodHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRp\n"
- "ZmljYXRlcy9JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgx\n"
- "KS5jcnQwgcsGCCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0\n"
- "JTIwQmFzaWMlMjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw\n"
- "U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERD\n"
- "PWludGVsLERDPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2Vy\n"
- "dGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAe3SmN0lsGF0h\n"
- "zq+NANnUD4YJS31UqreVm4kJv07+9CTBtlB0AVqJ2RcjRosdQmrbhx7R0WwcXSdR\n"
- "QnRGhaoDVRNehKiz3Grp6ehJr9LInhCp6WtOeKRlOSb2xgRDJCtzCi07TuAb9h2I\n"
- "urpmndeA4NEbPYL1GYEBpKYawUcFCq5yTv0YgZXy53DdBDv9ygRWYGEk7/gPgvCu\n"
- "2O1GNs9n25goy+3/aMkHnUyl3MOtiooXJR7eKOEgTPHNe42LQ9KuUz5SoZQN8vSL\n"
- "r49IRDC4dgMkGvsC5h0+ftixQ66ni6QJe6SNcpSZrpW5vBE9J+vtDI0gTyq2SYPo\n"
- "0fiS3V8p4g==\n" "-----END CERTIFICATE-----\n",
+ "MIIHIzCCBgugAwIBAgIKYRok3wABAAAADDANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wNjA1MjQxOTU2MDFaFw0x\n"
+ "MjA1MjQyMDA2MDFaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANE2pFSB0XqXoRWF\n"
+ "N7bzDesBAcTGEqcr6GVA+sMcJ5Vt17S8vGesmO2RgP6I49Q58nIhUnT054arUlOx\n"
+ "NKYbAEiVyGOK5zV2mZS4oW2UazfcpsV1uuO3j02UbzX+qcxQdNqoAHxwoB4nRJuU\n"
+ "Ijio45jWAssDbD8IKHZpmqRI5wUzbibkWnTZEc0YFO6iF40sNtqVr+uInP07PkQn\n"
+ "1Ttkyw6isa5Dhcyq6lTVOjnlj29bFYbZxN1uuDnTpUMVeov8oQv5wLyLrDVd1sMg\n"
+ "Njr2oofepZ8KjF3DKCkfsUekCHA9Pr2K/4hStd/nSwvIdNjCjfznqYadkB6wQ99a\n"
+ "hTX4uJkCAwEAAaOCA/UwggPxMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
+ "FJunwCR+/af8p76CGTyhUZc3l/4DMAsGA1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEE\n"
+ "AwIBADAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCR\n"
+ "HAOAgE4RFYhGpOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFo\n"
+ "dHRwOi8vd3d3LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJh\n"
+ "bmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZp\n"
+ "Y2F0ZXMuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQl\n"
+ "MjBCYXNpYyUyMFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwl\n"
+ "MjBJbnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2Es\n"
+ "Q049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENO\n"
+ "PUNvbmZpZ3VyYXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNh\n"
+ "dGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlv\n"
+ "blBvaW50MIIBuQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDov\n"
+ "L3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJ\n"
+ "bnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAC\n"
+ "hmNodHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRp\n"
+ "ZmljYXRlcy9JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgx\n"
+ "KS5jcnQwgcsGCCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0\n"
+ "JTIwQmFzaWMlMjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw\n"
+ "U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERD\n"
+ "PWludGVsLERDPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2Vy\n"
+ "dGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAe3SmN0lsGF0h\n"
+ "zq+NANnUD4YJS31UqreVm4kJv07+9CTBtlB0AVqJ2RcjRosdQmrbhx7R0WwcXSdR\n"
+ "QnRGhaoDVRNehKiz3Grp6ehJr9LInhCp6WtOeKRlOSb2xgRDJCtzCi07TuAb9h2I\n"
+ "urpmndeA4NEbPYL1GYEBpKYawUcFCq5yTv0YgZXy53DdBDv9ygRWYGEk7/gPgvCu\n"
+ "2O1GNs9n25goy+3/aMkHnUyl3MOtiooXJR7eKOEgTPHNe42LQ9KuUz5SoZQN8vSL\n"
+ "r49IRDC4dgMkGvsC5h0+ftixQ66ni6QJe6SNcpSZrpW5vBE9J+vtDI0gTyq2SYPo\n"
+ "0fiS3V8p4g==\n"
+ "-----END CERTIFICATE-----\n",
NULL
};
@@ -174,7 +175,7 @@ static const char *ca_list[MAX_CHAIN] = {
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1256803113;
@@ -191,9 +192,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -219,7 +220,7 @@ void doit(void)
if (gnutls_fips140_mode_enabled())
exit(77);
- /* The overloading of time() seems to work in linux (ELF?)
+ /* The overloading of time() seems to work in linux (ELF?)
* systems only. Disable it on windows.
*/
#ifdef _WIN32
@@ -243,8 +244,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -260,8 +262,7 @@ void doit(void)
ret = gnutls_x509_crt_init(&certs[j]);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init[%d,%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_init[%d,%d]: %s\n",
(int)3, (int)j, gnutls_strerror(ret));
exit(1);
}
@@ -269,21 +270,20 @@ void doit(void)
tmp.data = (unsigned char *)ca_list[j];
tmp.size = strlen(ca_list[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_import[%d]: %s\n",
(int)j, gnutls_strerror(ret));
exit(1);
}
gnutls_x509_crt_print(certs[j], GNUTLS_CRT_PRINT_ONELINE, &tmp);
if (debug)
- printf("\tCertificate %d: %.*s\n", (int)j,
- tmp.size, tmp.data);
+ printf("\tCertificate %d: %.*s\n", (int)j, tmp.size,
+ tmp.data);
gnutls_free(tmp.data);
}
@@ -351,11 +351,10 @@ void doit(void)
for (j = 0; ca_list[j]; j++) {
char name[64];
snprintf(name, sizeof(name), "test-ca%d", j);
- ret =
- gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, certs[j], name,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED
- |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ SOFTHSM_URL, certs[j], name,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n",
gnutls_strerror(ret));
@@ -365,9 +364,8 @@ void doit(void)
gnutls_x509_trust_list_init(&tl, 0);
- ret =
- gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
+ 0);
if (ret < 0) {
fail("gnutls_x509_trust_list_add_trust_file\n");
exit(1);
@@ -380,28 +378,26 @@ void doit(void)
}
/* extract the issuer of the certificate */
- ret =
- gnutls_x509_trust_list_get_issuer(tl, end, &issuer,
- GNUTLS_TL_GET_COPY);
+ ret = gnutls_x509_trust_list_get_issuer(tl, end, &issuer,
+ GNUTLS_TL_GET_COPY);
if (ret < 0) {
fail("gnutls_x509_trust_list_get_issuer should have succeeded\n");
exit(1);
}
gnutls_x509_crt_deinit(issuer);
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, ca,
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, ca,
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret != 0) {
fail("gnutls_pkcs11_crt_is_known should have failed!\n");
exit(1);
}
- ret = gnutls_x509_trust_list_verify_crt2(tl, &end, 1,
- NULL, 0,
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
- &verify_status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(
+ tl, &end, 1, NULL, 0, GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
+ &verify_status, NULL);
if (ret < 0) {
fail("gnutls_x509_trust_list_verify_crt2 should have succeeded\n");
exit(1);
diff --git a/tests/pkcs11/pkcs11-ec-privkey-test.c b/tests/pkcs11/pkcs11-ec-privkey-test.c
index 20ab233eaf..1d3f90c33e 100644
--- a/tests/pkcs11/pkcs11-ec-privkey-test.c
+++ b/tests/pkcs11/pkcs11-ec-privkey-test.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,7 +37,7 @@
#include "softhsm.h"
#define CONFIG_NAME "softhsm-privkey-ecdsa-test"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
/* Tests whether signing with PKCS#11 may produce signed (invalid)
* INTEGER values in DSASignatureValue. */
@@ -53,9 +53,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -64,8 +64,8 @@ int pin_func(void *userdata, int attempt, const char *url, const char *label,
return -1;
}
-int _gnutls_decode_ber_rs_raw(const gnutls_datum_t * sig_value,
- gnutls_datum_t * r, gnutls_datum_t * s);
+int _gnutls_decode_ber_rs_raw(const gnutls_datum_t *sig_value,
+ gnutls_datum_t *r, gnutls_datum_t *s);
void doit(void)
{
@@ -102,8 +102,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -115,16 +116,16 @@ void doit(void)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_import(crt, &server_ecc_cert, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &server_ecc_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -137,17 +138,15 @@ void doit(void)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_privkey_import(key, &server_ecc_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &server_ecc_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -159,9 +158,8 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
@@ -169,20 +167,18 @@ void doit(void)
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -193,9 +189,9 @@ void doit(void)
assert(gnutls_pubkey_init(&pubkey) == 0);
assert(gnutls_pubkey_import_x509(pubkey, crt, 0) == 0);
- ret = gnutls_pkcs11_copy_pubkey(SOFTHSM_URL, pubkey, "cert", NULL,
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT, 0);
+ ret = gnutls_pkcs11_copy_pubkey(
+ SOFTHSM_URL, pubkey, "cert", NULL,
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT, 0);
if (ret < 0) {
fail("gnutls_pkcs11_copy_pubkey: %s\n", gnutls_strerror(ret));
}
@@ -207,11 +203,9 @@ void doit(void)
assert(gnutls_privkey_init(&pkey) == 0);
- ret =
- gnutls_privkey_import_pkcs11_url(pkey,
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN);
+ ret = gnutls_privkey_import_pkcs11_url(
+ pkey,
+ SOFTHSM_URL ";object=cert;object-type=private;pin-value=" PIN);
if (ret < 0) {
fprintf(stderr, "error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -221,11 +215,10 @@ void doit(void)
/* Try to read the public key with public key URI */
assert(gnutls_pubkey_init(&pubkey3) == 0);
- ret =
- gnutls_pubkey_import_pkcs11_url(pubkey3,
- SOFTHSM_URL
- ";object=cert;object-type=public;pin-value="
- PIN, 0);
+ ret = gnutls_pubkey_import_pkcs11_url(
+ pubkey3,
+ SOFTHSM_URL ";object=cert;object-type=public;pin-value=" PIN,
+ 0);
if (ret < 0) {
fail("error in gnutls_pubkey_import_pkcs11_url: %s\n",
gnutls_strerror(ret));
@@ -234,11 +227,9 @@ void doit(void)
/* Try to read the public key with certificate URI */
assert(gnutls_pubkey_init(&pubkey4) == 0);
- ret =
- gnutls_pubkey_import_pkcs11_url(pubkey4,
- SOFTHSM_URL
- ";object=cert;object-type=cert;pin-value="
- PIN, 0);
+ ret = gnutls_pubkey_import_pkcs11_url(
+ pubkey4,
+ SOFTHSM_URL ";object=cert;object-type=cert;pin-value=" PIN, 0);
if (ret < 0) {
fail("error in gnutls_pubkey_import_pkcs11_url: %s\n",
gnutls_strerror(ret));
@@ -250,8 +241,8 @@ void doit(void)
pk = gnutls_pubkey_get_pk_algorithm(pubkey, NULL);
assert(gnutls_pubkey_init(&pubkey2) == 0);
- assert(gnutls_pubkey_import_x509_raw
- (pubkey2, &server_ecc_cert, GNUTLS_X509_FMT_PEM, 0) == 0);
+ assert(gnutls_pubkey_import_x509_raw(pubkey2, &server_ecc_cert,
+ GNUTLS_X509_FMT_PEM, 0) == 0);
for (i = 0; i < 100; i++) {
gnutls_datum_t r = { NULL, 0 };
@@ -259,8 +250,8 @@ void doit(void)
/* check whether privkey and pubkey are operational
* by signing and verifying */
- assert(gnutls_privkey_sign_data
- (pkey, GNUTLS_DIG_SHA256, 0, &testdata, &sig) == 0);
+ assert(gnutls_privkey_sign_data(pkey, GNUTLS_DIG_SHA256, 0,
+ &testdata, &sig) == 0);
assert(_gnutls_decode_ber_rs_raw(&sig, &r, &s) == 0);
if (r.data[0] >= 0x80) {
@@ -272,14 +263,15 @@ void doit(void)
}
/* verify against the raw pubkey */
- assert(gnutls_pubkey_verify_data2
- (pubkey2, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0,
- &testdata, &sig) == 0);
+ assert(gnutls_pubkey_verify_data2(
+ pubkey2,
+ gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0,
+ &testdata, &sig) == 0);
/* verify against the pubkey in PKCS #11 */
- assert(gnutls_pubkey_verify_data2
- (pubkey, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0,
- &testdata, &sig) == 0);
+ assert(gnutls_pubkey_verify_data2(
+ pubkey, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256),
+ 0, &testdata, &sig) == 0);
gnutls_free(sig.data);
gnutls_free(r.data);
diff --git a/tests/pkcs11/pkcs11-eddsa-privkey-test.c b/tests/pkcs11/pkcs11-eddsa-privkey-test.c
index 478125a761..c1bc81e5e9 100644
--- a/tests/pkcs11/pkcs11-eddsa-privkey-test.c
+++ b/tests/pkcs11/pkcs11-eddsa-privkey-test.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,7 +37,7 @@
#include "softhsm.h"
#define CONFIG_NAME "softhsm-privkey-eddsa-test"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
/* Tests whether signing with PKCS#11 and EDDSA would
* generate valid signatures */
@@ -53,9 +53,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -64,8 +64,9 @@ int pin_func(void *userdata, int attempt, const char *url, const char *label,
return -1;
}
-#define myfail(fmt, ...) \
- fail("%s (iter %d): "fmt, gnutls_sign_get_name(sigalgo), i, ##__VA_ARGS__)
+#define myfail(fmt, ...) \
+ fail("%s (iter %d): " fmt, gnutls_sign_get_name(sigalgo), i, \
+ ##__VA_ARGS__)
static unsigned verify_eddsa_presence(void)
{
@@ -75,10 +76,9 @@ static unsigned verify_eddsa_presence(void)
i = 0;
do {
- ret =
- gnutls_pkcs11_token_get_mechanism("pkcs11:", i++,
- &mechanism);
- if (ret >= 0 && mechanism == 0x1057 /* CKM_EDDSA */ )
+ ret = gnutls_pkcs11_token_get_mechanism("pkcs11:", i++,
+ &mechanism);
+ if (ret >= 0 && mechanism == 0x1057 /* CKM_EDDSA */)
return 1;
} while (ret >= 0);
@@ -121,8 +121,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, NULL);
@@ -140,9 +141,8 @@ void doit(void)
if (ret < 0)
fail("gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_x509_crt_import(crt, &server_ca3_eddsa_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &server_ca3_eddsa_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
@@ -158,9 +158,8 @@ void doit(void)
fail("gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_x509_privkey_import(key, &server_ca3_eddsa_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &server_ca3_eddsa_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_privkey_import: %s\n", gnutls_strerror(ret));
}
@@ -171,28 +170,25 @@ void doit(void)
fail("gnutls_pkcs11_token_init: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
}
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -202,9 +198,9 @@ void doit(void)
assert(gnutls_pubkey_init(&pubkey) == 0);
assert(gnutls_pubkey_import_x509(pubkey, crt, 0) == 0);
- ret = gnutls_pkcs11_copy_pubkey(SOFTHSM_URL, pubkey, "cert", NULL,
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT, 0);
+ ret = gnutls_pkcs11_copy_pubkey(
+ SOFTHSM_URL, pubkey, "cert", NULL,
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT, 0);
if (ret < 0) {
fail("gnutls_pkcs11_copy_pubkey: %s\n", gnutls_strerror(ret));
}
@@ -216,11 +212,9 @@ void doit(void)
assert(gnutls_privkey_init(&pkey) == 0);
- ret =
- gnutls_privkey_import_pkcs11_url(pkey,
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN);
+ ret = gnutls_privkey_import_pkcs11_url(
+ pkey,
+ SOFTHSM_URL ";object=cert;object-type=private;pin-value=" PIN);
if (ret < 0) {
fail("error in gnutls_privkey_import_pkcs11_url: %s\n",
gnutls_strerror(ret));
@@ -229,11 +223,10 @@ void doit(void)
/* Try to read the public key with public key URI */
assert(gnutls_pubkey_init(&pubkey3) == 0);
- ret =
- gnutls_pubkey_import_pkcs11_url(pubkey3,
- SOFTHSM_URL
- ";object=cert;object-type=public;pin-value="
- PIN, 0);
+ ret = gnutls_pubkey_import_pkcs11_url(
+ pubkey3,
+ SOFTHSM_URL ";object=cert;object-type=public;pin-value=" PIN,
+ 0);
if (ret < 0) {
fail("error in gnutls_pubkey_import_pkcs11_url: %s\n",
gnutls_strerror(ret));
@@ -242,11 +235,9 @@ void doit(void)
/* Try to read the public key with certificate URI */
assert(gnutls_pubkey_init(&pubkey4) == 0);
- ret =
- gnutls_pubkey_import_pkcs11_url(pubkey4,
- SOFTHSM_URL
- ";object=cert;object-type=cert;pin-value="
- PIN, 0);
+ ret = gnutls_pubkey_import_pkcs11_url(
+ pubkey4,
+ SOFTHSM_URL ";object=cert;object-type=cert;pin-value=" PIN, 0);
if (ret < 0) {
fail("error in gnutls_pubkey_import_pkcs11_url: %s\n",
gnutls_strerror(ret));
@@ -256,8 +247,8 @@ void doit(void)
assert(gnutls_pubkey_import_privkey(pubkey, pkey, 0, 0) == 0);
assert(gnutls_pubkey_init(&pubkey2) == 0);
- assert(gnutls_pubkey_import_x509_raw
- (pubkey2, &server_ca3_eddsa_cert, GNUTLS_X509_FMT_PEM, 0) == 0);
+ assert(gnutls_pubkey_import_x509_raw(pubkey2, &server_ca3_eddsa_cert,
+ GNUTLS_X509_FMT_PEM, 0) == 0);
/* this is the algorithm supported by the certificate */
sigalgo = GNUTLS_SIGN_EDDSA_ED25519;
@@ -265,24 +256,21 @@ void doit(void)
for (i = 0; i < 20; i++) {
/* check whether privkey and pubkey are operational
* by signing and verifying */
- ret =
- gnutls_privkey_sign_data2(pkey, sigalgo, 0,
- &testdata, &sig);
+ ret = gnutls_privkey_sign_data2(pkey, sigalgo, 0, &testdata,
+ &sig);
if (ret < 0)
myfail("Error signing data %s\n", gnutls_strerror(ret));
/* verify against the pubkey in PKCS #11 */
- ret =
- gnutls_pubkey_verify_data2(pubkey, sigalgo, 0,
- &testdata, &sig);
+ ret = gnutls_pubkey_verify_data2(pubkey, sigalgo, 0, &testdata,
+ &sig);
if (ret < 0)
myfail("Error verifying data1: %s\n",
gnutls_strerror(ret));
/* verify against the raw pubkey */
- ret =
- gnutls_pubkey_verify_data2(pubkey2, sigalgo, 0,
- &testdata, &sig);
+ ret = gnutls_pubkey_verify_data2(pubkey2, sigalgo, 0, &testdata,
+ &sig);
if (ret < 0)
myfail("Error verifying data2: %s\n",
gnutls_strerror(ret));
diff --git a/tests/pkcs11/pkcs11-get-exts.c b/tests/pkcs11/pkcs11-get-exts.c
index 9af48373b1..a2a3d99802 100644
--- a/tests/pkcs11/pkcs11-get-exts.c
+++ b/tests/pkcs11/pkcs11-get-exts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,9 +38,9 @@
/* Tests the gnutls_pkcs11_obj_get_exts API */
#ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
+#define P11LIB "libpkcs11mock1.dll"
#else
-# define P11LIB "libpkcs11mock1.so"
+#define P11LIB "libpkcs11mock1.so"
#endif
void doit(void)
@@ -81,9 +81,8 @@ void doit(void)
assert(gnutls_pkcs11_obj_init(&obj) >= 0);
/* check extensions */
- ret =
- gnutls_pkcs11_obj_import_url(obj, "pkcs11:type=cert;object=cert1",
- 0);
+ ret = gnutls_pkcs11_obj_import_url(obj, "pkcs11:type=cert;object=cert1",
+ 0);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -108,9 +107,8 @@ void doit(void)
{
unsigned ca;
int pathlen;
- ret =
- gnutls_x509_ext_import_basic_constraints(&exts[0].data, &ca,
- &pathlen);
+ ret = gnutls_x509_ext_import_basic_constraints(&exts[0].data,
+ &ca, &pathlen);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -129,8 +127,8 @@ void doit(void)
{
unsigned keyusage;
- ret =
- gnutls_x509_ext_import_key_usage(&exts[1].data, &keyusage);
+ ret = gnutls_x509_ext_import_key_usage(&exts[1].data,
+ &keyusage);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-get-issuer.c b/tests/pkcs11/pkcs11-get-issuer.c
index 4eb19d2a04..5c032b34a2 100644
--- a/tests/pkcs11/pkcs11-get-issuer.c
+++ b/tests/pkcs11/pkcs11-get-issuer.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,7 +42,7 @@
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1256803113;
@@ -59,9 +59,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -87,7 +87,7 @@ void doit(void)
if (gnutls_fips140_mode_enabled())
exit(77);
- /* The overloading of time() seems to work in linux (ELF?)
+ /* The overloading of time() seems to work in linux (ELF?)
* systems only. Disable it on windows.
*/
#ifdef _WIN32
@@ -127,8 +127,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -144,8 +145,7 @@ void doit(void)
ret = gnutls_x509_crt_init(&certs[j]);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init[%d,%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_init[%d,%d]: %s\n",
(int)3, (int)j, gnutls_strerror(ret));
exit(1);
}
@@ -153,21 +153,20 @@ void doit(void)
tmp.data = (unsigned char *)chains[idx].chain[j];
tmp.size = strlen(chains[idx].chain[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import[%s,%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_import[%s,%d]: %s\n",
chains[idx].name, (int)j, gnutls_strerror(ret));
exit(1);
}
gnutls_x509_crt_print(certs[j], GNUTLS_CRT_PRINT_ONELINE, &tmp);
if (debug)
- printf("\tCertificate %d: %.*s\n", (int)j,
- tmp.size, tmp.data);
+ printf("\tCertificate %d: %.*s\n", (int)j, tmp.size,
+ tmp.data);
gnutls_free(tmp.data);
}
@@ -210,10 +209,10 @@ void doit(void)
}
/* write CA certificate to softhsm */
- ret =
- gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, ca, "test-ca",
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ SOFTHSM_URL, ca, "test-ca",
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
@@ -221,9 +220,8 @@ void doit(void)
gnutls_x509_trust_list_init(&tl, 0);
- ret =
- gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
+ 0);
if (ret < 0) {
fail("gnutls_x509_trust_list_add_trust_file\n");
exit(1);
@@ -231,9 +229,8 @@ void doit(void)
/* extract the issuer of the certificate */
issuer = NULL;
- ret =
- gnutls_x509_trust_list_get_issuer(tl, certs[2], &issuer,
- GNUTLS_TL_GET_COPY);
+ ret = gnutls_x509_trust_list_get_issuer(tl, certs[2], &issuer,
+ GNUTLS_TL_GET_COPY);
if (ret < 0) {
fail("error in gnutls_x509_trust_list_get_issuer\n");
exit(1);
diff --git a/tests/pkcs11/pkcs11-get-raw-issuer-exts.c b/tests/pkcs11/pkcs11-get-raw-issuer-exts.c
index f0e36e733b..adf5c6e93c 100644
--- a/tests/pkcs11/pkcs11-get-raw-issuer-exts.c
+++ b/tests/pkcs11/pkcs11-get-raw-issuer-exts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,12 +40,12 @@
*/
#ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
+#define P11LIB "libpkcs11mock1.dll"
#else
-# define P11LIB "libpkcs11mock1.so"
+#define P11LIB "libpkcs11mock1.so"
#endif
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1424466893;
@@ -95,17 +95,16 @@ void doit(void)
assert(gnutls_x509_crt_init(&ocrt) >= 0);
/* check high level certificate functions */
- ret =
- gnutls_x509_crt_import_url(crt, "pkcs11:type=cert;object=cert1", 0);
+ ret = gnutls_x509_crt_import_url(crt, "pkcs11:type=cert;object=cert1",
+ 0);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_get_raw_issuer("pkcs11:", crt, &issuer,
- GNUTLS_X509_FMT_DER,
- GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT);
+ ret = gnutls_pkcs11_get_raw_issuer(
+ "pkcs11:", crt, &issuer, GNUTLS_X509_FMT_DER,
+ GNUTLS_PKCS11_OBJ_FLAG_OVERWRITE_TRUSTMOD_EXT);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -139,9 +138,8 @@ void doit(void)
exit(1);
}
- if (keyusage !=
- (GNUTLS_KEY_KEY_ENCIPHERMENT | GNUTLS_KEY_ENCIPHER_ONLY |
- GNUTLS_KEY_KEY_CERT_SIGN)) {
+ if (keyusage != (GNUTLS_KEY_KEY_ENCIPHERMENT |
+ GNUTLS_KEY_ENCIPHER_ONLY | GNUTLS_KEY_KEY_CERT_SIGN)) {
fail("Extension does not have the expected key usage!\n");
}
diff --git a/tests/pkcs11/pkcs11-import-url-privkey.c b/tests/pkcs11/pkcs11-import-url-privkey.c
index caaa82d419..ebdffe04ad 100644
--- a/tests/pkcs11/pkcs11-import-url-privkey.c
+++ b/tests/pkcs11/pkcs11-import-url-privkey.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,16 +39,16 @@
* some problematic cases. */
#ifdef ALL_CAPS_URI
-# define PURI "PKCS11:"
+#define PURI "PKCS11:"
#else
-# define PURI "pkcs11:"
+#define PURI "pkcs11:"
#endif
#ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
+#define P11LIB "libpkcs11mock1.dll"
#else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
#endif
void doit(void)
@@ -81,9 +81,9 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs11_obj_list_import_url4(&obj_list, &obj_list_size, PURI,
- GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY);
+ ret = gnutls_pkcs11_obj_list_import_url4(
+ &obj_list, &obj_list_size, PURI,
+ GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -113,10 +113,9 @@ void doit(void)
*pflags = MOCK_FLAG_BROKEN_GET_ATTRIBUTES;
- ret =
- gnutls_pkcs11_obj_list_import_url4(&obj_list,
- &obj_list_size, PURI,
- GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY);
+ ret = gnutls_pkcs11_obj_list_import_url4(
+ &obj_list, &obj_list_size, PURI,
+ GNUTLS_PKCS11_OBJ_FLAG_PRIVKEY);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-import-with-pin.c b/tests/pkcs11/pkcs11-import-with-pin.c
index cb1aadd3d4..c6f06c0610 100644
--- a/tests/pkcs11/pkcs11-import-with-pin.c
+++ b/tests/pkcs11/pkcs11-import-with-pin.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,7 +40,7 @@
* pin-value or pin-source. */
#define CONFIG_NAME "softhsm-import-with-pin"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#include "../cert-common.h"
@@ -53,9 +53,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -102,8 +102,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -114,15 +115,14 @@ void doit(void)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
ret = gnutls_x509_privkey_import(key, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -134,22 +134,19 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -163,10 +160,9 @@ void doit(void)
/* Test 1
* Try importing with wrong pin-value */
- ret =
- gnutls_privkey_import_pkcs11_url(pkey,
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value=XXXX");
+ ret = gnutls_privkey_import_pkcs11_url(
+ pkey,
+ SOFTHSM_URL ";object=cert;object-type=private;pin-value=XXXX");
if (ret != GNUTLS_E_PKCS11_PIN_ERROR) {
fprintf(stderr, "unexpected error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -177,11 +173,9 @@ void doit(void)
/* Test 2
* Try importing with pin-value */
- ret =
- gnutls_privkey_import_pkcs11_url(pkey,
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN);
+ ret = gnutls_privkey_import_pkcs11_url(
+ pkey,
+ SOFTHSM_URL ";object=cert;object-type=private;pin-value=" PIN);
if (ret < 0) {
fprintf(stderr, "error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -189,8 +183,8 @@ void doit(void)
}
/* check whether privkey is operational by signing */
- assert(gnutls_privkey_sign_data
- (pkey, GNUTLS_DIG_SHA256, 0, &testdata, &sig) == 0);
+ assert(gnutls_privkey_sign_data(pkey, GNUTLS_DIG_SHA256, 0, &testdata,
+ &sig) == 0);
gnutls_free(sig.data);
gnutls_privkey_deinit(pkey);
@@ -230,8 +224,8 @@ void doit(void)
}
/* check whether privkey is operational by signing */
- assert(gnutls_privkey_sign_data
- (pkey, GNUTLS_DIG_SHA256, 0, &testdata, &sig) == 0);
+ assert(gnutls_privkey_sign_data(pkey, GNUTLS_DIG_SHA256, 0, &testdata,
+ &sig) == 0);
gnutls_free(sig.data);
gnutls_privkey_deinit(pkey);
diff --git a/tests/pkcs11/pkcs11-is-known.c b/tests/pkcs11/pkcs11-is-known.c
index 7301be35f7..fc471e3f1c 100644
--- a/tests/pkcs11/pkcs11-is-known.c
+++ b/tests/pkcs11/pkcs11-is-known.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,276 +38,278 @@
#define MAX_CHAIN 16
-#define OBJ_URL SOFTHSM_URL";object=test-ca0;object-type=cert"
+#define OBJ_URL SOFTHSM_URL ";object=test-ca0;object-type=cert"
#define CONFIG "softhsm-issuer2.config"
/* These CAs have the same DN */
static const char *ca_list[MAX_CHAIN] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
- "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
- "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
- "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
- "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
- "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
- "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
- "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
- "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
- "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
- "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
- "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
- "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
- "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
- "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
- "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
- "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
- "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
- "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
- "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
- "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
- "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
- "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
- "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
- "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
- "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
- "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
- "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
- "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
- "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
- "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
- "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
- "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
- "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
- "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
- "-----END CERTIFICATE-----",
+ "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
+ "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
+ "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
+ "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
+ "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
+ "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
+ "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
+ "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
+ "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
+ "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
+ "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
+ "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
+ "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
+ "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
+ "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
+ "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
+ "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
+ "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
+ "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
+ "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
+ "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
+ "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
+ "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
+ "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
+ "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
+ "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
+ "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
+ "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
+ "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
+ "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
+ "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
+ "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
+ "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
+ "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
+ "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
+ "-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\n"
- "MIIHSjCCBjKgAwIBAgIKYRXxrQABAAAAETANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wOTA1MTUxODQyNDVaFw0x\n"
- "NTA1MTUxODUyNDVaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbJOXtXYgfyoch6\n"
- "ip5SSjijOXvpIjBxbTl5EGH/VYHmpM2O6SRlKh/uy77QS9m84sRWCJLr8cWwX9oH\n"
- "qSmIylgcWvDpVNHx4v506DTTrbK0sbYRQYXRajOzJKeTt7NLeLrngyl45FrI9VAT\n"
- "3yqp/2BCG1dUwcBha3dB2UbTkFOMt9o/gqoL6KvgswYMs/oGc/OIjeozdYuhnBT2\n"
- "YlT9Ge5pfhOJWXh4DJbxnTmWwRUKq0MXFn0S00KQ/BZOTkc/5DibUmbmMrYi8ra4\n"
- "Z2bpnoTq0WNA99O2Lk8IgmkqPdi6HwZwKCE/x01qwP8zo76rvN8sbW9pj2WzS1WF\n"
- "tSDPeZECAwEAAaOCBBwwggQYMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
- "FPwbdyds7Cm03lobLKmI6q59npi+MAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEE\n"
- "BQIDAQABMCMGCSsGAQQBgjcVAgQWBBRT1n27C6cZL4QFHaUX2nFSCPxhtTAZBgkr\n"
- "BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
- "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
- "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
- "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
- "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
- "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
- "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
- "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
- "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
- "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
- "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
- "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
- "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
- "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
- "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
- "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
- "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
- "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
- "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
- "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEArlAkrJXyMCssqAJT3PqnY7wt\n"
- "sirq1fTMrVrHdmkpBKDXBQnDcTW1zfZtOPV/QDm3UsFwDBbGq+j/7U9qZ1zYHkv+\n"
- "wrBpeFM6dlca/sgegGGAhYnQQwmlSzNXCKHMBltMjT61X8rVjyt1XJnucgat9rnT\n"
- "2j8pztqoViVnORsGfT6DDB/bz/6bFKw4FMp1wDaJI7dKh5NUggvH36owTWI7JUvq\n"
- "yJ8OI2qmjXrlqGexfwvltIkEk8xzuMIHWQoR8sERL2qf3nb2VYq1s1LbH5uCkZ0l\n"
- "w/xgwFbbwjaGJ3TFOmkVKYU77nXSkfK9EXae0UZRU0WmX4t5NNt8jiL56TPpsw==\n"
- "-----END CERTIFICATE-----\n",
+ "MIIHSjCCBjKgAwIBAgIKYRXxrQABAAAAETANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wOTA1MTUxODQyNDVaFw0x\n"
+ "NTA1MTUxODUyNDVaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbJOXtXYgfyoch6\n"
+ "ip5SSjijOXvpIjBxbTl5EGH/VYHmpM2O6SRlKh/uy77QS9m84sRWCJLr8cWwX9oH\n"
+ "qSmIylgcWvDpVNHx4v506DTTrbK0sbYRQYXRajOzJKeTt7NLeLrngyl45FrI9VAT\n"
+ "3yqp/2BCG1dUwcBha3dB2UbTkFOMt9o/gqoL6KvgswYMs/oGc/OIjeozdYuhnBT2\n"
+ "YlT9Ge5pfhOJWXh4DJbxnTmWwRUKq0MXFn0S00KQ/BZOTkc/5DibUmbmMrYi8ra4\n"
+ "Z2bpnoTq0WNA99O2Lk8IgmkqPdi6HwZwKCE/x01qwP8zo76rvN8sbW9pj2WzS1WF\n"
+ "tSDPeZECAwEAAaOCBBwwggQYMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
+ "FPwbdyds7Cm03lobLKmI6q59npi+MAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEE\n"
+ "BQIDAQABMCMGCSsGAQQBgjcVAgQWBBRT1n27C6cZL4QFHaUX2nFSCPxhtTAZBgkr\n"
+ "BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
+ "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
+ "LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
+ "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
+ "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
+ "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
+ "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
+ "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
+ "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
+ "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
+ "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
+ "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
+ "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
+ "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
+ "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
+ "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
+ "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
+ "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
+ "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
+ "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEArlAkrJXyMCssqAJT3PqnY7wt\n"
+ "sirq1fTMrVrHdmkpBKDXBQnDcTW1zfZtOPV/QDm3UsFwDBbGq+j/7U9qZ1zYHkv+\n"
+ "wrBpeFM6dlca/sgegGGAhYnQQwmlSzNXCKHMBltMjT61X8rVjyt1XJnucgat9rnT\n"
+ "2j8pztqoViVnORsGfT6DDB/bz/6bFKw4FMp1wDaJI7dKh5NUggvH36owTWI7JUvq\n"
+ "yJ8OI2qmjXrlqGexfwvltIkEk8xzuMIHWQoR8sERL2qf3nb2VYq1s1LbH5uCkZ0l\n"
+ "w/xgwFbbwjaGJ3TFOmkVKYU77nXSkfK9EXae0UZRU0WmX4t5NNt8jiL56TPpsw==\n"
+ "-----END CERTIFICATE-----\n",
"-----BEGIN CERTIFICATE-----\n"
- "MIIHIzCCBgugAwIBAgIKYRok3wABAAAADDANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wNjA1MjQxOTU2MDFaFw0x\n"
- "MjA1MjQyMDA2MDFaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANE2pFSB0XqXoRWF\n"
- "N7bzDesBAcTGEqcr6GVA+sMcJ5Vt17S8vGesmO2RgP6I49Q58nIhUnT054arUlOx\n"
- "NKYbAEiVyGOK5zV2mZS4oW2UazfcpsV1uuO3j02UbzX+qcxQdNqoAHxwoB4nRJuU\n"
- "Ijio45jWAssDbD8IKHZpmqRI5wUzbibkWnTZEc0YFO6iF40sNtqVr+uInP07PkQn\n"
- "1Ttkyw6isa5Dhcyq6lTVOjnlj29bFYbZxN1uuDnTpUMVeov8oQv5wLyLrDVd1sMg\n"
- "Njr2oofepZ8KjF3DKCkfsUekCHA9Pr2K/4hStd/nSwvIdNjCjfznqYadkB6wQ99a\n"
- "hTX4uJkCAwEAAaOCA/UwggPxMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
- "FJunwCR+/af8p76CGTyhUZc3l/4DMAsGA1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEE\n"
- "AwIBADAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCR\n"
- "HAOAgE4RFYhGpOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFo\n"
- "dHRwOi8vd3d3LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJh\n"
- "bmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZp\n"
- "Y2F0ZXMuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQl\n"
- "MjBCYXNpYyUyMFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwl\n"
- "MjBJbnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2Es\n"
- "Q049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENO\n"
- "PUNvbmZpZ3VyYXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNh\n"
- "dGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlv\n"
- "blBvaW50MIIBuQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDov\n"
- "L3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJ\n"
- "bnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAC\n"
- "hmNodHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRp\n"
- "ZmljYXRlcy9JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgx\n"
- "KS5jcnQwgcsGCCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0\n"
- "JTIwQmFzaWMlMjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw\n"
- "U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERD\n"
- "PWludGVsLERDPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2Vy\n"
- "dGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAe3SmN0lsGF0h\n"
- "zq+NANnUD4YJS31UqreVm4kJv07+9CTBtlB0AVqJ2RcjRosdQmrbhx7R0WwcXSdR\n"
- "QnRGhaoDVRNehKiz3Grp6ehJr9LInhCp6WtOeKRlOSb2xgRDJCtzCi07TuAb9h2I\n"
- "urpmndeA4NEbPYL1GYEBpKYawUcFCq5yTv0YgZXy53DdBDv9ygRWYGEk7/gPgvCu\n"
- "2O1GNs9n25goy+3/aMkHnUyl3MOtiooXJR7eKOEgTPHNe42LQ9KuUz5SoZQN8vSL\n"
- "r49IRDC4dgMkGvsC5h0+ftixQ66ni6QJe6SNcpSZrpW5vBE9J+vtDI0gTyq2SYPo\n"
- "0fiS3V8p4g==\n" "-----END CERTIFICATE-----\n",
+ "MIIHIzCCBgugAwIBAgIKYRok3wABAAAADDANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0wNjA1MjQxOTU2MDFaFw0x\n"
+ "MjA1MjQyMDA2MDFaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANE2pFSB0XqXoRWF\n"
+ "N7bzDesBAcTGEqcr6GVA+sMcJ5Vt17S8vGesmO2RgP6I49Q58nIhUnT054arUlOx\n"
+ "NKYbAEiVyGOK5zV2mZS4oW2UazfcpsV1uuO3j02UbzX+qcxQdNqoAHxwoB4nRJuU\n"
+ "Ijio45jWAssDbD8IKHZpmqRI5wUzbibkWnTZEc0YFO6iF40sNtqVr+uInP07PkQn\n"
+ "1Ttkyw6isa5Dhcyq6lTVOjnlj29bFYbZxN1uuDnTpUMVeov8oQv5wLyLrDVd1sMg\n"
+ "Njr2oofepZ8KjF3DKCkfsUekCHA9Pr2K/4hStd/nSwvIdNjCjfznqYadkB6wQ99a\n"
+ "hTX4uJkCAwEAAaOCA/UwggPxMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYE\n"
+ "FJunwCR+/af8p76CGTyhUZc3l/4DMAsGA1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEE\n"
+ "AwIBADAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBRp6zCR\n"
+ "HAOAgE4RFYhGpOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFo\n"
+ "dHRwOi8vd3d3LmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRlbCUyMEludHJh\n"
+ "bmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZp\n"
+ "Y2F0ZXMuaW50ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQl\n"
+ "MjBCYXNpYyUyMFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwl\n"
+ "MjBJbnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2Es\n"
+ "Q049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENO\n"
+ "PUNvbmZpZ3VyYXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNh\n"
+ "dGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlv\n"
+ "blBvaW50MIIBuQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDov\n"
+ "L3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJ\n"
+ "bnRyYW5ldCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAC\n"
+ "hmNodHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRp\n"
+ "ZmljYXRlcy9JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgx\n"
+ "KS5jcnQwgcsGCCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0\n"
+ "JTIwQmFzaWMlMjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw\n"
+ "U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERD\n"
+ "PWludGVsLERDPWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2Vy\n"
+ "dGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAe3SmN0lsGF0h\n"
+ "zq+NANnUD4YJS31UqreVm4kJv07+9CTBtlB0AVqJ2RcjRosdQmrbhx7R0WwcXSdR\n"
+ "QnRGhaoDVRNehKiz3Grp6ehJr9LInhCp6WtOeKRlOSb2xgRDJCtzCi07TuAb9h2I\n"
+ "urpmndeA4NEbPYL1GYEBpKYawUcFCq5yTv0YgZXy53DdBDv9ygRWYGEk7/gPgvCu\n"
+ "2O1GNs9n25goy+3/aMkHnUyl3MOtiooXJR7eKOEgTPHNe42LQ9KuUz5SoZQN8vSL\n"
+ "r49IRDC4dgMkGvsC5h0+ftixQ66ni6QJe6SNcpSZrpW5vBE9J+vtDI0gTyq2SYPo\n"
+ "0fiS3V8p4g==\n"
+ "-----END CERTIFICATE-----\n",
NULL
};
/* this certificate has the same CN as one of the CAs above */
static const char same_dn_cert_str[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJvc2FjIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
- "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
- "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
- "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
- "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
- "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
- "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
- "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
- "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
- "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
- "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
- "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
- "LmludGVsLmNvbS9yZXBvc2l0b3J5L1hYWC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
- "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
- "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
- "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
- "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
- "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
- "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
- "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
- "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
- "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
- "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
- "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
- "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
- "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
- "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
- "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
- "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
- "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
- "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
- "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
- "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
- "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
- "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJvc2FjIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
+ "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
+ "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
+ "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
+ "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
+ "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
+ "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
+ "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
+ "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
+ "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
+ "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
+ "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
+ "LmludGVsLmNvbS9yZXBvc2l0b3J5L1hYWC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
+ "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
+ "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
+ "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
+ "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
+ "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
+ "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
+ "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
+ "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
+ "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
+ "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
+ "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
+ "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
+ "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
+ "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
+ "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
+ "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
+ "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
+ "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
+ "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
+ "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
+ "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
+ "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
+ "-----END CERTIFICATE-----\n";
/* this certificate has the same subject and issuer DNs and serial as one of the CAs above */
static const char same_issuer_cert_str[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
- "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
- "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
- "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
- "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
- "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
- "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
- "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
- "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
- "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
- "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
- "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
- "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
- "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
- "LmludGVsLmNvbS9yZXBvc2l0b3J5L1hYWC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
- "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
- "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
- "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
- "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
- "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
- "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
- "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
- "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
- "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
- "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
- "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
- "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
- "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
- "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
- "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
- "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
- "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
- "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
- "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
- "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
- "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
- "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIHSjCCBjKgAwIBAgIKYRHt9wABAAAAFTANBgkqhkiG9w0BAQUFADBSMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xJzAlBgNVBAMTHklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIFBvbGljeSBDQTAeFw0xMzAyMDQyMTUyMThaFw0x\n"
+ "ODA1MjQxOTU5MzlaMFYxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFJbnRlbCBDb3Jw\n"
+ "b3JhdGlvbjErMCkGA1UEAxMiSW50ZWwgSW50cmFuZXQgQmFzaWMgSXNzdWluZyBD\n"
+ "QSAyQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALn3ogjraWSmK5Wb\n"
+ "/4e9mENA1F36FBVemaG7L93ZhRRXq4UV0PQM5/4TOe9KAaOlX+a2cuULeeUtN9Rk\n"
+ "V/nHAVzSWlqc/NTMJfuI/1AD7ICNejQFYLxDMXGjR7eAHtiMz0iTMp9u6YTw4WXh\n"
+ "WffqTPiqUZ6DEWsMic9dM9yw/JqzycKClLcTD1OCvtw7Fx4tNTu6/ngrYJcTo29e\n"
+ "BBh/DupgtgnYPYuExEkHmucb4VIDdjfRkPo/BdNqrUSYfYqnUDj5mH+hPzIgppsZ\n"
+ "Rw0S5PUZGuC1f+Zok+4vZPR+hGG3Pdm2LTUEWSnurlhyfBoM+0yxeHsmL9aHU7zt\n"
+ "EIzVmKUCAwEAAaOCBBwwggQYMBIGCSsGAQQBgjcVAQQFAgMCAAIwIwYJKwYBBAGC\n"
+ "NxUCBBYEFMqHyYZOx6LYwRwZ+5vjOyIl9hENMB0GA1UdDgQWBBQ4Y3b6tgU6qVlP\n"
+ "SoeNoIO3fpE6CzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC\n"
+ "AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRp6zCRHAOAgE4RFYhG\n"
+ "pOJBmtNpHzCCAaIGA1UdHwSCAZkwggGVMIIBkaCCAY2gggGJhlFodHRwOi8vd3d3\n"
+ "LmludGVsLmNvbS9yZXBvc2l0b3J5L1hYWC9JbnRlbCUyMEludHJhbmV0JTIwQmFz\n"
+ "aWMlMjBQb2xpY3klMjBDQSgxKS5jcmyGWmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuaW50\n"
+ "ZWwuY29tL3JlcG9zaXRvcnkvQ1JML0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUy\n"
+ "MFBvbGljeSUyMENBKDEpLmNybIaB12xkYXA6Ly8vQ049SW50ZWwlMjBJbnRyYW5l\n"
+ "dCUyMEJhc2ljJTIwUG9saWN5JTIwQ0EoMSksQ049bWNzaWJwY2EsQ049Q0RQLENO\n"
+ "PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy\n"
+ "YXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0\n"
+ "aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIB\n"
+ "uQYIKwYBBQUHAQEEggGrMIIBpzBmBggrBgEFBQcwAoZaaHR0cDovL3d3dy5pbnRl\n"
+ "bC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUy\n"
+ "MEJhc2ljJTIwUG9saWN5JTIwQ0EoMSkuY3J0MG8GCCsGAQUFBzAChmNodHRwOi8v\n"
+ "Y2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L2NlcnRpZmljYXRlcy9J\n"
+ "bnRlbCUyMEludHJhbmV0JTIwQmFzaWMlMjBQb2xpY3klMjBDQSgxKS5jcnQwgcsG\n"
+ "CCsGAQUFBzAChoG+bGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIwQmFzaWMl\n"
+ "MjBQb2xpY3klMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMs\n"
+ "Q049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1jb3JwLERDPWludGVsLERD\n"
+ "PWNvbT9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv\n"
+ "bkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAsj8cHt2jSAmnIGulE9jXooAc\n"
+ "qH2xehlI+ko/al+nDnBzbjDYYjVS52XitYg8JGo6j72ijiGlGb/03FcQJRBZmUH6\n"
+ "znktx2rGTm4IdjL8quhvHthlzXXCozL8GMeeOuZ5rzHlhapKx764a5RuZtyx89uS\n"
+ "9cECon6oLGesXjFJ8Xrq6ecHZrQwJUpmvZalwvloKACAWqBh8yV12WDnUNZhtp8N\n"
+ "8rqeJZoy/lXGnTxsSSodO/5Y/CxYJM4W6u4WgvXNJSjO/0qWvb64S+pVLjBzwI+Y\n"
+ "X6oLqmBovRp1lGPOLjkXZi3EKDR8DmzhtpJq2677RtYowewnFedQ+exH9cXoJw==\n"
+ "-----END CERTIFICATE-----\n";
/* this certificate is issued by one of the above */
static const char intermediate_str[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIH4DCCBsigAwIBAgIKFpIKYgACAAJ8lTANBgkqhkiG9w0BAQUFADBWMQswCQYD\n"
- "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xKzApBgNVBAMTIklu\n"
- "dGVsIEludHJhbmV0IEJhc2ljIElzc3VpbmcgQ0EgMkIwHhcNMTQwMTA4MTc0MTM5\n"
- "WhcNMTcwMTA3MTc0MTM5WjB1MQswCQYDVQQGEwJJRTELMAkGA1UEBxMCSVIxGjAY\n"
- "BgNVBAoTEUludGVsIENvcnBvcmF0aW9uMQswCQYDVQQLEwJJVDEWMBQGA1UEAxMN\n"
- "dnBuLmludGVsLmNvbTEYMBYGA1UEAxMPc2NzaXIuaW50ZWwuY29tMIIBIjANBgkq\n"
- "hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAi3WoORH5ITJ2lpcgCHex1HBUnmN/bb6s\n"
- "sS1Arm50NEHMlqGfbsdCxq2iodMvrGWvdRAPaf/7Ii1UwUhEzxyKYAXC3KRAgioh\n"
- "C0pvGmAFq1ciDYRhANPlW92lIgkt83WwGtOcES2u36VmUxBfdQe6rO3ldoZHVofY\n"
- "uIG/ubBVLz0NhWMaRYSUzTv/4PKJ4paIS7COUROYsyKwc5wNjTcR2PB7RRW+YHgM\n"
- "FkvqPpLjLAGpHdN+wuPNLlUcyzkZVhhXxvQJ9gc5hw/LLQvbmeiGIZCvOVy3ZSfi\n"
- "cGw2jkbqKcFttVV52Wild3ZigALZtkKuFnGw5DEIfk4EAZhG8eHfFQIDAQABo4IE\n"
- "jzCCBIswCwYDVR0PBAQDAgWgMB0GA1UdDgQWBBR4EAIG7OggvIFAhrB8m0eyhCKV\n"
- "GzAfBgNVHSMEGDAWgBQ4Y3b6tgU6qVlPSoeNoIO3fpE6CzCCAbkGA1UdHwSCAbAw\n"
- "ggGsMIIBqKCCAaSgggGghoHibGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIw\n"
- "QmFzaWMlMjBJc3N1aW5nJTIwQ0ElMjAyQigyKSxDTj1BWlNNQ1NJQkVDQTAyLENO\n"
- "PUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D\n"
- "b25maWd1cmF0aW9uLERDPWNvcnAsREM9aW50ZWwsREM9Y29tP2NlcnRpZmljYXRl\n"
- "UmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q\n"
- "b2ludIZXaHR0cDovL3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9DUkwvSW50ZWwl\n"
- "MjBJbnRyYW5ldCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwMkIoMikuY3JshmBo\n"
- "dHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRl\n"
- "bCUyMEludHJhbmV0JTIwQmFzaWMlMjBJc3N1aW5nJTIwQ0ElMjAyQigyKS5jcmww\n"
- "ggHLBggrBgEFBQcBAQSCAb0wggG5MIHRBggrBgEFBQcwAoaBxGxkYXA6Ly8vQ049\n"
- "SW50ZWwlMjBJbnRyYW5ldCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwMkIsQ049\n"
- "QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\n"
- "bmZpZ3VyYXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y0FDZXJ0aWZpY2F0\n"
- "ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwbAYIKwYB\n"
- "BQUHMAKGYGh0dHA6Ly93d3cuaW50ZWwuY29tL3JlcG9zaXRvcnkvY2VydGlmaWNh\n"
- "dGVzL0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUyMElzc3VpbmclMjBDQSUyMDJC\n"
- "KDIpLmNydDB1BggrBgEFBQcwAoZpaHR0cDovL2NlcnRpZmljYXRlcy5pbnRlbC5j\n"
- "b20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUyMEJh\n"
- "c2ljJTIwSXNzdWluZyUyMENBJTIwMkIoMikuY3J0MD0GCSsGAQQBgjcVBwQwMC4G\n"
- "JisGAQQBgjcVCIbDjHWEmeVRg/2BKIWOn1OCkcAJZ4eC0UGC37J5AgFkAgERMB0G\n"
- "A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAnBgkrBgEEAYI3FQoEGjAYMAoG\n"
- "CCsGAQUFBwMCMAoGCCsGAQUFBwMBMCkGA1UdEQQiMCCCD3Njc2lyLmludGVsLmNv\n"
- "bYINdnBuLmludGVsLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEALjO591IHOTt28HZ9\n"
- "+Vm2TJp8EJSgWW3luKFAAPUOxix5FgK7mqNQk1052qV8NCQKqChO64f6kl3R29Pp\n"
- "yv0ALYaxdYZXkxPuts05gwu9caeH9fK6vGTRk5pWygVIsobS2MypCYFs9VftFw5d\n"
- "EPUAOsigQmkBC+k+icYzZDjm4HBGd0mTHwniNsKkkjxSnF4UGH9OYp4+hs9/pWly\n"
- "19X4gVWwuxKB59TOe/tVxHBt57zZA3zYyXG+VPzVmklmYLPxVFcmeUDOjWU3x3Wp\n"
- "0D5YUmvQlsd4+73IYw0BrvB42bQEFDUU/v0u6mwluk1m0LEdm+jlM/YCbrAgA3O8\n"
- "eV1xMQ==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIH4DCCBsigAwIBAgIKFpIKYgACAAJ8lTANBgkqhkiG9w0BAQUFADBWMQswCQYD\n"
+ "VQQGEwJVUzEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24xKzApBgNVBAMTIklu\n"
+ "dGVsIEludHJhbmV0IEJhc2ljIElzc3VpbmcgQ0EgMkIwHhcNMTQwMTA4MTc0MTM5\n"
+ "WhcNMTcwMTA3MTc0MTM5WjB1MQswCQYDVQQGEwJJRTELMAkGA1UEBxMCSVIxGjAY\n"
+ "BgNVBAoTEUludGVsIENvcnBvcmF0aW9uMQswCQYDVQQLEwJJVDEWMBQGA1UEAxMN\n"
+ "dnBuLmludGVsLmNvbTEYMBYGA1UEAxMPc2NzaXIuaW50ZWwuY29tMIIBIjANBgkq\n"
+ "hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAi3WoORH5ITJ2lpcgCHex1HBUnmN/bb6s\n"
+ "sS1Arm50NEHMlqGfbsdCxq2iodMvrGWvdRAPaf/7Ii1UwUhEzxyKYAXC3KRAgioh\n"
+ "C0pvGmAFq1ciDYRhANPlW92lIgkt83WwGtOcES2u36VmUxBfdQe6rO3ldoZHVofY\n"
+ "uIG/ubBVLz0NhWMaRYSUzTv/4PKJ4paIS7COUROYsyKwc5wNjTcR2PB7RRW+YHgM\n"
+ "FkvqPpLjLAGpHdN+wuPNLlUcyzkZVhhXxvQJ9gc5hw/LLQvbmeiGIZCvOVy3ZSfi\n"
+ "cGw2jkbqKcFttVV52Wild3ZigALZtkKuFnGw5DEIfk4EAZhG8eHfFQIDAQABo4IE\n"
+ "jzCCBIswCwYDVR0PBAQDAgWgMB0GA1UdDgQWBBR4EAIG7OggvIFAhrB8m0eyhCKV\n"
+ "GzAfBgNVHSMEGDAWgBQ4Y3b6tgU6qVlPSoeNoIO3fpE6CzCCAbkGA1UdHwSCAbAw\n"
+ "ggGsMIIBqKCCAaSgggGghoHibGRhcDovLy9DTj1JbnRlbCUyMEludHJhbmV0JTIw\n"
+ "QmFzaWMlMjBJc3N1aW5nJTIwQ0ElMjAyQigyKSxDTj1BWlNNQ1NJQkVDQTAyLENO\n"
+ "PUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D\n"
+ "b25maWd1cmF0aW9uLERDPWNvcnAsREM9aW50ZWwsREM9Y29tP2NlcnRpZmljYXRl\n"
+ "UmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q\n"
+ "b2ludIZXaHR0cDovL3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9DUkwvSW50ZWwl\n"
+ "MjBJbnRyYW5ldCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwMkIoMikuY3JshmBo\n"
+ "dHRwOi8vY2VydGlmaWNhdGVzLmludGVsLmNvbS9yZXBvc2l0b3J5L0NSTC9JbnRl\n"
+ "bCUyMEludHJhbmV0JTIwQmFzaWMlMjBJc3N1aW5nJTIwQ0ElMjAyQigyKS5jcmww\n"
+ "ggHLBggrBgEFBQcBAQSCAb0wggG5MIHRBggrBgEFBQcwAoaBxGxkYXA6Ly8vQ049\n"
+ "SW50ZWwlMjBJbnRyYW5ldCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwMkIsQ049\n"
+ "QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\n"
+ "bmZpZ3VyYXRpb24sREM9Y29ycCxEQz1pbnRlbCxEQz1jb20/Y0FDZXJ0aWZpY2F0\n"
+ "ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwbAYIKwYB\n"
+ "BQUHMAKGYGh0dHA6Ly93d3cuaW50ZWwuY29tL3JlcG9zaXRvcnkvY2VydGlmaWNh\n"
+ "dGVzL0ludGVsJTIwSW50cmFuZXQlMjBCYXNpYyUyMElzc3VpbmclMjBDQSUyMDJC\n"
+ "KDIpLmNydDB1BggrBgEFBQcwAoZpaHR0cDovL2NlcnRpZmljYXRlcy5pbnRlbC5j\n"
+ "b20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBJbnRyYW5ldCUyMEJh\n"
+ "c2ljJTIwSXNzdWluZyUyMENBJTIwMkIoMikuY3J0MD0GCSsGAQQBgjcVBwQwMC4G\n"
+ "JisGAQQBgjcVCIbDjHWEmeVRg/2BKIWOn1OCkcAJZ4eC0UGC37J5AgFkAgERMB0G\n"
+ "A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAnBgkrBgEEAYI3FQoEGjAYMAoG\n"
+ "CCsGAQUFBwMCMAoGCCsGAQUFBwMBMCkGA1UdEQQiMCCCD3Njc2lyLmludGVsLmNv\n"
+ "bYINdnBuLmludGVsLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEALjO591IHOTt28HZ9\n"
+ "+Vm2TJp8EJSgWW3luKFAAPUOxix5FgK7mqNQk1052qV8NCQKqChO64f6kl3R29Pp\n"
+ "yv0ALYaxdYZXkxPuts05gwu9caeH9fK6vGTRk5pWygVIsobS2MypCYFs9VftFw5d\n"
+ "EPUAOsigQmkBC+k+icYzZDjm4HBGd0mTHwniNsKkkjxSnF4UGH9OYp4+hs9/pWly\n"
+ "19X4gVWwuxKB59TOe/tVxHBt57zZA3zYyXG+VPzVmklmYLPxVFcmeUDOjWU3x3Wp\n"
+ "0D5YUmvQlsd4+73IYw0BrvB42bQEFDUU/v0u6mwluk1m0LEdm+jlM/YCbrAgA3O8\n"
+ "eV1xMQ==\n"
+ "-----END CERTIFICATE-----\n";
/* GnuTLS internally calls time() to find out the current time when
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1412850586;
@@ -324,9 +326,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -351,7 +353,7 @@ void doit(void)
if (gnutls_fips140_mode_enabled())
exit(77);
- /* The overloading of time() seems to work in linux (ELF?)
+ /* The overloading of time() seems to work in linux (ELF?)
* systems only. Disable it on windows.
*/
#ifdef _WIN32
@@ -375,8 +377,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -392,8 +395,7 @@ void doit(void)
ret = gnutls_x509_crt_init(&certs[j]);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init[%d,%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_init[%d,%d]: %s\n",
(int)3, (int)j, gnutls_strerror(ret));
exit(1);
}
@@ -401,21 +403,20 @@ void doit(void)
tmp.data = (unsigned char *)ca_list[j];
tmp.size = strlen(ca_list[j]);
- ret =
- gnutls_x509_crt_import(certs[j], &tmp, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(certs[j], &tmp,
+ GNUTLS_X509_FMT_PEM);
if (debug > 2)
printf("done\n");
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import[%d]: %s\n",
+ fprintf(stderr, "gnutls_x509_crt_import[%d]: %s\n",
(int)j, gnutls_strerror(ret));
exit(1);
}
gnutls_x509_crt_print(certs[j], GNUTLS_CRT_PRINT_ONELINE, &tmp);
if (debug)
- printf("\tCertificate %d: %.*s\n", (int)j,
- tmp.size, tmp.data);
+ printf("\tCertificate %d: %.*s\n", (int)j, tmp.size,
+ tmp.data);
gnutls_free(tmp.data);
}
@@ -485,12 +486,11 @@ void doit(void)
for (j = 0; ca_list[j]; j++) {
char name[64];
snprintf(name, sizeof(name), "test-ca%d", j);
- ret =
- gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, certs[j], name,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED
- | GNUTLS_PKCS11_OBJ_FLAG_MARK_CA
- |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ SOFTHSM_URL, certs[j], name,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_TRUSTED |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_CA |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n",
gnutls_strerror(ret));
@@ -503,14 +503,14 @@ void doit(void)
ret = gnutls_x509_trust_list_add_trust_file(tl, OBJ_URL, NULL, 0, 0, 0);
if (ret != 1) {
- fail("gnutls_x509_trust_list_add_trust_file (with expl. object 0): %d\n", ret);
+ fail("gnutls_x509_trust_list_add_trust_file (with expl. object 0): %d\n",
+ ret);
exit(1);
}
/* extract the issuer of the certificate */
- ret =
- gnutls_x509_trust_list_get_issuer(tl, intermediate, &issuer,
- GNUTLS_TL_GET_COPY);
+ ret = gnutls_x509_trust_list_get_issuer(tl, intermediate, &issuer,
+ GNUTLS_TL_GET_COPY);
if (ret < 0) {
fail("gnutls_x509_trust_list_get_issuer (with expl. object) should have succeeded\n");
exit(1);
@@ -523,46 +523,44 @@ void doit(void)
*/
gnutls_x509_trust_list_init(&tl, 0);
- ret =
- gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
- 0);
+ ret = gnutls_x509_trust_list_add_trust_file(tl, SOFTHSM_URL, NULL, 0, 0,
+ 0);
if (ret < 0) {
fail("gnutls_x509_trust_list_add_trust_file\n");
exit(1);
}
/* extract the issuer of the certificate */
- ret =
- gnutls_x509_trust_list_get_issuer(tl, intermediate, &issuer,
- GNUTLS_TL_GET_COPY);
+ ret = gnutls_x509_trust_list_get_issuer(tl, intermediate, &issuer,
+ GNUTLS_TL_GET_COPY);
if (ret < 0) {
fail("gnutls_x509_trust_list_get_issuer should have succeeded\n");
exit(1);
}
gnutls_x509_crt_deinit(issuer);
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, certs[2],
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, certs[2],
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret == 0) {
fail("error in gnutls_pkcs11_crt_is_known - 0\n");
exit(1);
}
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, certs[0],
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, certs[0],
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret == 0) {
fail("error in gnutls_pkcs11_crt_is_known - 0\n");
exit(1);
}
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, certs[1],
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, certs[1],
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret == 0) {
fail("error in gnutls_pkcs11_crt_is_known - 0\n");
exit(1);
@@ -603,54 +601,53 @@ void doit(void)
}
/* these are invalid certificates but their key matches existing keys, the following should work */
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, same_dn,
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, same_dn,
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret == 0) {
fail("error in gnutls_pkcs11_crt_is_known - did not find a cert that does match key\n");
exit(1);
}
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, same_issuer,
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, same_issuer,
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE_KEY |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret == 0) {
fail("error in gnutls_pkcs11_crt_is_known - did not find a cert that does match key\n");
exit(1);
}
/* The following check whether the RETRIEVE_TRUSTED implies compare of the certificate */
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, same_dn,
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, same_dn, GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret != 0) {
fail("error in gnutls_pkcs11_crt_is_known - found a cert that doesn't match\n");
exit(1);
}
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, same_issuer,
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, same_issuer,
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret != 0) {
fail("error in gnutls_pkcs11_crt_is_known - found a cert that doesn't match\n");
exit(1);
}
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, same_dn,
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, same_dn,
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret != 0) {
fail("error in gnutls_pkcs11_crt_is_known - found a cert that doesn't match\n");
exit(1);
}
- ret =
- gnutls_pkcs11_crt_is_known(SOFTHSM_URL, same_issuer,
- GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
- GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
+ ret = gnutls_pkcs11_crt_is_known(
+ SOFTHSM_URL, same_issuer,
+ GNUTLS_PKCS11_OBJ_FLAG_COMPARE |
+ GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED);
if (ret != 0) {
fail("error in gnutls_pkcs11_crt_is_known - found a cert that doesn't match\n");
exit(1);
diff --git a/tests/pkcs11/pkcs11-mechanisms.c b/tests/pkcs11/pkcs11-mechanisms.c
index 464abfc831..f35c1ee469 100644
--- a/tests/pkcs11/pkcs11-mechanisms.c
+++ b/tests/pkcs11/pkcs11-mechanisms.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,12 +41,12 @@
#if defined(HAVE___REGISTER_ATFORK)
-# ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
-# else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
-# endif
+#ifdef _WIN32
+#define P11LIB "libpkcs11mock1.dll"
+#else
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
+#endif
static void tls_log_func(int level, const char *str)
{
@@ -91,11 +91,11 @@ void doit(void)
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
success("mech: %lu\n", mech);
- ret =
- gnutls_pkcs11_token_check_mechanism("pkcs11:", mech, NULL,
- 0, 0);
+ ret = gnutls_pkcs11_token_check_mechanism("pkcs11:", mech, NULL,
+ 0, 0);
if (ret == 0) {
- fail("mechanism %ld was reported are supported, but is not found!\n", mech);
+ fail("mechanism %ld was reported are supported, but is not found!\n",
+ mech);
}
}
if (debug)
diff --git a/tests/pkcs11/pkcs11-mock-ext.h b/tests/pkcs11/pkcs11-mock-ext.h
index 83f64b5d36..fc952ba2ad 100644
--- a/tests/pkcs11/pkcs11-mock-ext.h
+++ b/tests/pkcs11/pkcs11-mock-ext.h
@@ -20,13 +20,13 @@
*/
#ifndef PKCS11_MOCK_EXT_H
-# define PKCS11_MOCK_EXT_H
+#define PKCS11_MOCK_EXT_H
/* This flag instructs the module to return CKR_OK on sensitive
* objects */
-# define MOCK_FLAG_BROKEN_GET_ATTRIBUTES 1
-# define MOCK_FLAG_ALWAYS_AUTH (1<<1)
+#define MOCK_FLAG_BROKEN_GET_ATTRIBUTES 1
+#define MOCK_FLAG_ALWAYS_AUTH (1 << 1)
/* simulate the safenet HSMs always auth behavior */
-# define MOCK_FLAG_SAFENET_ALWAYS_AUTH (1<<2)
+#define MOCK_FLAG_SAFENET_ALWAYS_AUTH (1 << 2)
#endif
diff --git a/tests/pkcs11/pkcs11-mock.c b/tests/pkcs11/pkcs11-mock.c
index b264ebc2f3..957e0cc2e7 100644
--- a/tests/pkcs11/pkcs11-mock.c
+++ b/tests/pkcs11/pkcs11-mock.c
@@ -32,118 +32,118 @@ unsigned int pkcs11_mock_flags = 0;
* module. */
const char mock_certificate[] =
- "\x30\x82\x03\x97\x30\x82\x02\x4f\xa0\x03\x02\x01\x02\x02\x04\x4d"
- "\xa7\x54\x21\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b"
- "\x05\x00\x30\x32\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42"
- "\x45\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06\x47\x6e\x75\x54"
- "\x4c\x53\x31\x12\x30\x10\x06\x03\x55\x04\x03\x13\x09\x6c\x6f\x63"
- "\x61\x6c\x68\x6f\x73\x74\x30\x1e\x17\x0d\x31\x31\x30\x34\x31\x34"
- "\x32\x30\x30\x38\x30\x32\x5a\x17\x0d\x33\x38\x30\x38\x32\x39\x32"
- "\x30\x30\x38\x30\x34\x5a\x30\x32\x31\x0b\x30\x09\x06\x03\x55\x04"
- "\x06\x13\x02\x42\x45\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06"
- "\x47\x6e\x75\x54\x4c\x53\x31\x12\x30\x10\x06\x03\x55\x04\x03\x13"
- "\x09\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x30\x82\x01\x52\x30\x0d"
- "\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01"
- "\x3f\x00\x30\x82\x01\x3a\x02\x82\x01\x31\x00\xdd\xcf\x97\xd2\xa5"
- "\x1d\x95\xdd\x86\x18\xd8\xc4\xb9\xad\xa6\x0c\xb4\x9d\xb6\xdc\xfa"
- "\xdc\x21\xe1\x3a\x62\x34\x07\xe8\x33\xb2\xe8\x97\xee\x2c\x41\xd2"
- "\x12\xf1\x5f\xed\xe4\x76\xff\x65\x26\x1e\x0c\xc7\x41\x15\x69\x5f"
- "\x0d\xf9\xad\x89\x14\x8d\xea\xd7\x16\x52\x9a\x47\xc1\xbb\x00\x02"
- "\xe4\x88\x45\x73\x78\xa4\xae\xdb\x38\xc3\xc6\x07\xd2\x64\x0e\x87"
- "\xed\x74\x8c\x6b\xc4\xc0\x02\x50\x7c\x4e\xa6\xd1\x58\xe9\xe5\x13"
- "\x09\xa9\xdb\x5a\xea\xeb\x0f\x06\x80\x5c\x09\xef\x94\xc8\xe9\xfb"
- "\x37\x2e\x75\xe1\xac\x93\xad\x9b\x37\x13\x4b\x66\x3a\x76\x33\xd8"
- "\xc4\xd7\x4c\xfb\x61\xc8\x92\x21\x07\xfc\xdf\xa9\x88\x54\xe4\xa3"
- "\xa9\x47\xd2\x6c\xb8\xe3\x39\x89\x11\x88\x38\x2d\xa2\xdc\x3e\x5e"
- "\x4a\xa9\xa4\x8e\xd5\x1f\xb2\xd0\xdd\x41\x3c\xda\x10\x68\x9e\x47"
- "\x1b\x65\x02\xa2\xc5\x28\x73\x02\x83\x03\x09\xfd\xf5\x29\x7e\x97"
- "\xdc\x2a\x4e\x4b\xaa\x79\x46\x46\x70\x86\x1b\x9b\xb8\xf6\x8a\xbe"
- "\x29\x87\x7d\x5f\xda\xa5\x97\x6b\xef\xc8\x43\x09\x43\xe2\x1f\x8a"
- "\x16\x7e\x1d\x50\x5d\xf5\xda\x02\xee\xf2\xc3\x2a\x48\xe6\x6b\x30"
- "\xea\x02\xd7\xef\xac\x8b\x0c\xb8\xc1\x85\xd8\xbf\x7c\x85\xa8\x1e"
- "\x83\xbe\x5c\x26\x2e\x79\x7b\x47\xf5\x4a\x3f\x66\x62\x92\xfd\x41"
- "\x20\xb6\x2c\x00\xf0\x52\xca\x26\x06\x2d\x7c\xcf\x7a\x50\x7d\x0f"
- "\xcb\xdd\x97\x20\xc8\x6f\xe4\xe0\x50\xf4\xe3\x02\x03\x01\x00\x01"
- "\xa3\x55\x30\x53\x30\x0c\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x02"
- "\x30\x00\x30\x13\x06\x03\x55\x1d\x25\x04\x0c\x30\x0a\x06\x08\x2b"
- "\x06\x01\x05\x05\x07\x03\x01\x30\x0f\x06\x03\x55\x1d\x0f\x01\x01"
- "\xff\x04\x05\x03\x03\x07\xa0\x00\x30\x1d\x06\x03\x55\x1d\x0e\x04"
- "\x16\x04\x14\x92\x53\xd6\x71\xb9\xf8\x68\xaa\xb3\x53\xf6\x8d\xf5"
- "\x39\x45\x66\x9c\xa7\xe5\x31\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7"
- "\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x31\x00\x98\xbf\x48\x89\xc1"
- "\xe6\xe6\x15\x13\xcc\xfc\xba\xed\xa0\x89\xe5\x86\x45\x30\x73\x68"
- "\xb2\x79\x1f\x88\x02\x80\xfb\x2d\xc9\xb8\x21\x55\x8d\xc5\xb7\x56"
- "\x1b\xcf\xc3\x76\xee\xd0\xf0\xd9\x22\x3a\x63\x92\xc5\x04\x86\x70"
- "\x1e\x42\x33\x2a\x3b\xc4\x14\x08\xc5\x42\x92\x73\x7c\x3e\x39\xc0"
- "\xee\x34\xc7\x33\x16\x5f\x93\xae\xcf\x1f\x9a\x30\x09\x51\xfe\x2d"
- "\x94\x9c\x28\xad\x2a\x7e\xe4\x14\x81\x45\x6b\x0d\xd7\x11\x21\xfc"
- "\xdb\x27\x17\x74\xb4\xcc\x94\x1a\x6e\x9e\x7b\x58\xa9\xe0\x06\x8d"
- "\xda\x5f\x60\xe1\xb8\x6f\x28\x68\xb6\x58\xbe\xc5\xac\x36\x47\x37"
- "\xf6\xa8\x38\x74\x23\x81\xf3\x22\xbe\x61\xff\x08\x08\x87\xeb\xc2"
- "\x8f\x29\x25\x75\x5d\x4c\xeb\xd5\x09\x28\xab\x7b\x99\xf9\x69\x08"
- "\xa2\xc6\x02\xd2\x2e\xcd\xfa\xf1\x19\xce\x3f\x44\x6a\xa1\x4b\xa8"
- "\x56\xd5\x11\xae\x44\xe3\x68\x05\x50\x57\x8d\x72\x0f\xc7\x21\xdb"
- "\x8f\xa3\x50\x78\x5d\x5a\x39\xcb\x90\x3d\x52\x43\x33\xbf\xea\x89"
- "\x07\x1a\x92\xcc\x85\x27\xa8\x3d\x34\xb8\x5b\x52\xee\xef\x20\xb9"
- "\xb6\xff\xea\xc5\x90\xd3\x47\xc5\x51\x90\xe2\xe6\x3e\x52\xb9\x1e"
- "\x79\x18\xbe\xfd\xe2\x24\xbe\x47\x32\x5a\xb0\x03\x6b\xaa\xdb\xc3"
- "\xdb\xf6\x60\x44\x08\xb6\x2c\x19\x47\xa2\xf0\x43\x7f\xf0\x07\x97"
- "\x57\xab\xec\xa0\xb8\x6a\x49\xce\x08\xe6\xc3\x4d\xf2\xa4\xe9\xb8"
- "\x43\xe7\xf0\x84\xd7\x1a\x72\x14\x5d\x82\x1a";
+ "\x30\x82\x03\x97\x30\x82\x02\x4f\xa0\x03\x02\x01\x02\x02\x04\x4d"
+ "\xa7\x54\x21\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b"
+ "\x05\x00\x30\x32\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42"
+ "\x45\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06\x47\x6e\x75\x54"
+ "\x4c\x53\x31\x12\x30\x10\x06\x03\x55\x04\x03\x13\x09\x6c\x6f\x63"
+ "\x61\x6c\x68\x6f\x73\x74\x30\x1e\x17\x0d\x31\x31\x30\x34\x31\x34"
+ "\x32\x30\x30\x38\x30\x32\x5a\x17\x0d\x33\x38\x30\x38\x32\x39\x32"
+ "\x30\x30\x38\x30\x34\x5a\x30\x32\x31\x0b\x30\x09\x06\x03\x55\x04"
+ "\x06\x13\x02\x42\x45\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06"
+ "\x47\x6e\x75\x54\x4c\x53\x31\x12\x30\x10\x06\x03\x55\x04\x03\x13"
+ "\x09\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x30\x82\x01\x52\x30\x0d"
+ "\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01"
+ "\x3f\x00\x30\x82\x01\x3a\x02\x82\x01\x31\x00\xdd\xcf\x97\xd2\xa5"
+ "\x1d\x95\xdd\x86\x18\xd8\xc4\xb9\xad\xa6\x0c\xb4\x9d\xb6\xdc\xfa"
+ "\xdc\x21\xe1\x3a\x62\x34\x07\xe8\x33\xb2\xe8\x97\xee\x2c\x41\xd2"
+ "\x12\xf1\x5f\xed\xe4\x76\xff\x65\x26\x1e\x0c\xc7\x41\x15\x69\x5f"
+ "\x0d\xf9\xad\x89\x14\x8d\xea\xd7\x16\x52\x9a\x47\xc1\xbb\x00\x02"
+ "\xe4\x88\x45\x73\x78\xa4\xae\xdb\x38\xc3\xc6\x07\xd2\x64\x0e\x87"
+ "\xed\x74\x8c\x6b\xc4\xc0\x02\x50\x7c\x4e\xa6\xd1\x58\xe9\xe5\x13"
+ "\x09\xa9\xdb\x5a\xea\xeb\x0f\x06\x80\x5c\x09\xef\x94\xc8\xe9\xfb"
+ "\x37\x2e\x75\xe1\xac\x93\xad\x9b\x37\x13\x4b\x66\x3a\x76\x33\xd8"
+ "\xc4\xd7\x4c\xfb\x61\xc8\x92\x21\x07\xfc\xdf\xa9\x88\x54\xe4\xa3"
+ "\xa9\x47\xd2\x6c\xb8\xe3\x39\x89\x11\x88\x38\x2d\xa2\xdc\x3e\x5e"
+ "\x4a\xa9\xa4\x8e\xd5\x1f\xb2\xd0\xdd\x41\x3c\xda\x10\x68\x9e\x47"
+ "\x1b\x65\x02\xa2\xc5\x28\x73\x02\x83\x03\x09\xfd\xf5\x29\x7e\x97"
+ "\xdc\x2a\x4e\x4b\xaa\x79\x46\x46\x70\x86\x1b\x9b\xb8\xf6\x8a\xbe"
+ "\x29\x87\x7d\x5f\xda\xa5\x97\x6b\xef\xc8\x43\x09\x43\xe2\x1f\x8a"
+ "\x16\x7e\x1d\x50\x5d\xf5\xda\x02\xee\xf2\xc3\x2a\x48\xe6\x6b\x30"
+ "\xea\x02\xd7\xef\xac\x8b\x0c\xb8\xc1\x85\xd8\xbf\x7c\x85\xa8\x1e"
+ "\x83\xbe\x5c\x26\x2e\x79\x7b\x47\xf5\x4a\x3f\x66\x62\x92\xfd\x41"
+ "\x20\xb6\x2c\x00\xf0\x52\xca\x26\x06\x2d\x7c\xcf\x7a\x50\x7d\x0f"
+ "\xcb\xdd\x97\x20\xc8\x6f\xe4\xe0\x50\xf4\xe3\x02\x03\x01\x00\x01"
+ "\xa3\x55\x30\x53\x30\x0c\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x02"
+ "\x30\x00\x30\x13\x06\x03\x55\x1d\x25\x04\x0c\x30\x0a\x06\x08\x2b"
+ "\x06\x01\x05\x05\x07\x03\x01\x30\x0f\x06\x03\x55\x1d\x0f\x01\x01"
+ "\xff\x04\x05\x03\x03\x07\xa0\x00\x30\x1d\x06\x03\x55\x1d\x0e\x04"
+ "\x16\x04\x14\x92\x53\xd6\x71\xb9\xf8\x68\xaa\xb3\x53\xf6\x8d\xf5"
+ "\x39\x45\x66\x9c\xa7\xe5\x31\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7"
+ "\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x31\x00\x98\xbf\x48\x89\xc1"
+ "\xe6\xe6\x15\x13\xcc\xfc\xba\xed\xa0\x89\xe5\x86\x45\x30\x73\x68"
+ "\xb2\x79\x1f\x88\x02\x80\xfb\x2d\xc9\xb8\x21\x55\x8d\xc5\xb7\x56"
+ "\x1b\xcf\xc3\x76\xee\xd0\xf0\xd9\x22\x3a\x63\x92\xc5\x04\x86\x70"
+ "\x1e\x42\x33\x2a\x3b\xc4\x14\x08\xc5\x42\x92\x73\x7c\x3e\x39\xc0"
+ "\xee\x34\xc7\x33\x16\x5f\x93\xae\xcf\x1f\x9a\x30\x09\x51\xfe\x2d"
+ "\x94\x9c\x28\xad\x2a\x7e\xe4\x14\x81\x45\x6b\x0d\xd7\x11\x21\xfc"
+ "\xdb\x27\x17\x74\xb4\xcc\x94\x1a\x6e\x9e\x7b\x58\xa9\xe0\x06\x8d"
+ "\xda\x5f\x60\xe1\xb8\x6f\x28\x68\xb6\x58\xbe\xc5\xac\x36\x47\x37"
+ "\xf6\xa8\x38\x74\x23\x81\xf3\x22\xbe\x61\xff\x08\x08\x87\xeb\xc2"
+ "\x8f\x29\x25\x75\x5d\x4c\xeb\xd5\x09\x28\xab\x7b\x99\xf9\x69\x08"
+ "\xa2\xc6\x02\xd2\x2e\xcd\xfa\xf1\x19\xce\x3f\x44\x6a\xa1\x4b\xa8"
+ "\x56\xd5\x11\xae\x44\xe3\x68\x05\x50\x57\x8d\x72\x0f\xc7\x21\xdb"
+ "\x8f\xa3\x50\x78\x5d\x5a\x39\xcb\x90\x3d\x52\x43\x33\xbf\xea\x89"
+ "\x07\x1a\x92\xcc\x85\x27\xa8\x3d\x34\xb8\x5b\x52\xee\xef\x20\xb9"
+ "\xb6\xff\xea\xc5\x90\xd3\x47\xc5\x51\x90\xe2\xe6\x3e\x52\xb9\x1e"
+ "\x79\x18\xbe\xfd\xe2\x24\xbe\x47\x32\x5a\xb0\x03\x6b\xaa\xdb\xc3"
+ "\xdb\xf6\x60\x44\x08\xb6\x2c\x19\x47\xa2\xf0\x43\x7f\xf0\x07\x97"
+ "\x57\xab\xec\xa0\xb8\x6a\x49\xce\x08\xe6\xc3\x4d\xf2\xa4\xe9\xb8"
+ "\x43\xe7\xf0\x84\xd7\x1a\x72\x14\x5d\x82\x1a";
/* ca == true */
const char mock_cert_ext1[] =
- "\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff";
+ "\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff";
/* GNUTLS_KEY_ENCIPHER_ONLY | GNUTLS_KEY_KEY_ENCIPHERMENT | GNUTLS_KEY_KEY_CERT_SIGN */
const char mock_cert_ext2[] =
- "\x30\x0f\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x05\x03\x03\x07\x25\x00";
+ "\x30\x0f\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x05\x03\x03\x07\x25\x00";
const char mock_pubkey[] =
- "\x30\x82\x01\x52\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01"
- "\x01\x05\x00\x03\x82\x01\x3f\x00\x30\x82\x01\x3a\x02\x82\x01\x31"
- "\x00\xdd\xcf\x97\xd2\xa5\x1d\x95\xdd\x86\x18\xd8\xc4\xb9\xad\xa6"
- "\x0c\xb4\x9d\xb6\xdc\xfa\xdc\x21\xe1\x3a\x62\x34\x07\xe8\x33\xb2"
- "\xe8\x97\xee\x2c\x41\xd2\x12\xf1\x5f\xed\xe4\x76\xff\x65\x26\x1e"
- "\x0c\xc7\x41\x15\x69\x5f\x0d\xf9\xad\x89\x14\x8d\xea\xd7\x16\x52"
- "\x9a\x47\xc1\xbb\x00\x02\xe4\x88\x45\x73\x78\xa4\xae\xdb\x38\xc3"
- "\xc6\x07\xd2\x64\x0e\x87\xed\x74\x8c\x6b\xc4\xc0\x02\x50\x7c\x4e"
- "\xa6\xd1\x58\xe9\xe5\x13\x09\xa9\xdb\x5a\xea\xeb\x0f\x06\x80\x5c"
- "\x09\xef\x94\xc8\xe9\xfb\x37\x2e\x75\xe1\xac\x93\xad\x9b\x37\x13"
- "\x4b\x66\x3a\x76\x33\xd8\xc4\xd7\x4c\xfb\x61\xc8\x92\x21\x07\xfc"
- "\xdf\xa9\x88\x54\xe4\xa3\xa9\x47\xd2\x6c\xb8\xe3\x39\x89\x11\x88"
- "\x38\x2d\xa2\xdc\x3e\x5e\x4a\xa9\xa4\x8e\xd5\x1f\xb2\xd0\xdd\x41"
- "\x3c\xda\x10\x68\x9e\x47\x1b\x65\x02\xa2\xc5\x28\x73\x02\x83\x03"
- "\x09\xfd\xf5\x29\x7e\x97\xdc\x2a\x4e\x4b\xaa\x79\x46\x46\x70\x86"
- "\x1b\x9b\xb8\xf6\x8a\xbe\x29\x87\x7d\x5f\xda\xa5\x97\x6b\xef\xc8"
- "\x43\x09\x43\xe2\x1f\x8a\x16\x7e\x1d\x50\x5d\xf5\xda\x02\xee\xf2"
- "\xc3\x2a\x48\xe6\x6b\x30\xea\x02\xd7\xef\xac\x8b\x0c\xb8\xc1\x85"
- "\xd8\xbf\x7c\x85\xa8\x1e\x83\xbe\x5c\x26\x2e\x79\x7b\x47\xf5\x4a"
- "\x3f\x66\x62\x92\xfd\x41\x20\xb6\x2c\x00\xf0\x52\xca\x26\x06\x2d"
- "\x7c\xcf\x7a\x50\x7d\x0f\xcb\xdd\x97\x20\xc8\x6f\xe4\xe0\x50\xf4"
- "\xe3\x02\x03\x01\x00\x01";
+ "\x30\x82\x01\x52\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01"
+ "\x01\x05\x00\x03\x82\x01\x3f\x00\x30\x82\x01\x3a\x02\x82\x01\x31"
+ "\x00\xdd\xcf\x97\xd2\xa5\x1d\x95\xdd\x86\x18\xd8\xc4\xb9\xad\xa6"
+ "\x0c\xb4\x9d\xb6\xdc\xfa\xdc\x21\xe1\x3a\x62\x34\x07\xe8\x33\xb2"
+ "\xe8\x97\xee\x2c\x41\xd2\x12\xf1\x5f\xed\xe4\x76\xff\x65\x26\x1e"
+ "\x0c\xc7\x41\x15\x69\x5f\x0d\xf9\xad\x89\x14\x8d\xea\xd7\x16\x52"
+ "\x9a\x47\xc1\xbb\x00\x02\xe4\x88\x45\x73\x78\xa4\xae\xdb\x38\xc3"
+ "\xc6\x07\xd2\x64\x0e\x87\xed\x74\x8c\x6b\xc4\xc0\x02\x50\x7c\x4e"
+ "\xa6\xd1\x58\xe9\xe5\x13\x09\xa9\xdb\x5a\xea\xeb\x0f\x06\x80\x5c"
+ "\x09\xef\x94\xc8\xe9\xfb\x37\x2e\x75\xe1\xac\x93\xad\x9b\x37\x13"
+ "\x4b\x66\x3a\x76\x33\xd8\xc4\xd7\x4c\xfb\x61\xc8\x92\x21\x07\xfc"
+ "\xdf\xa9\x88\x54\xe4\xa3\xa9\x47\xd2\x6c\xb8\xe3\x39\x89\x11\x88"
+ "\x38\x2d\xa2\xdc\x3e\x5e\x4a\xa9\xa4\x8e\xd5\x1f\xb2\xd0\xdd\x41"
+ "\x3c\xda\x10\x68\x9e\x47\x1b\x65\x02\xa2\xc5\x28\x73\x02\x83\x03"
+ "\x09\xfd\xf5\x29\x7e\x97\xdc\x2a\x4e\x4b\xaa\x79\x46\x46\x70\x86"
+ "\x1b\x9b\xb8\xf6\x8a\xbe\x29\x87\x7d\x5f\xda\xa5\x97\x6b\xef\xc8"
+ "\x43\x09\x43\xe2\x1f\x8a\x16\x7e\x1d\x50\x5d\xf5\xda\x02\xee\xf2"
+ "\xc3\x2a\x48\xe6\x6b\x30\xea\x02\xd7\xef\xac\x8b\x0c\xb8\xc1\x85"
+ "\xd8\xbf\x7c\x85\xa8\x1e\x83\xbe\x5c\x26\x2e\x79\x7b\x47\xf5\x4a"
+ "\x3f\x66\x62\x92\xfd\x41\x20\xb6\x2c\x00\xf0\x52\xca\x26\x06\x2d"
+ "\x7c\xcf\x7a\x50\x7d\x0f\xcb\xdd\x97\x20\xc8\x6f\xe4\xe0\x50\xf4"
+ "\xe3\x02\x03\x01\x00\x01";
const char mock_public_exponent[] = "\x01\x00\x01";
const char mock_modulus[] =
- "\xDD\xCF\x97\xD2\xA5\x1D\x95\xDD\x86\x18\xD8\xC4\xB9\xAD\xA6\x0C"
- "\xB4\x9D\xB6\xDC\xFA\xDC\x21\xE1\x3A\x62\x34\x07\xE8\x33\xB2\xE8"
- "\x97\xEE\x2C\x41\xD2\x12\xF1\x5F\xED\xE4\x76\xFF\x65\x26\x1E\x0C"
- "\xC7\x41\x15\x69\x5F\x0D\xF9\xAD\x89\x14\x8D\xEA\xD7\x16\x52\x9A"
- "\x47\xC1\xBB\x00\x02\xE4\x88\x45\x73\x78\xA4\xAE\xDB\x38\xC3\xC6"
- "\x07\xD2\x64\x0E\x87\xED\x74\x8C\x6B\xC4\xC0\x02\x50\x7C\x4E\xA6"
- "\xD1\x58\xE9\xE5\x13\x09\xA9\xDB\x5A\xEA\xEB\x0F\x06\x80\x5C\x09"
- "\xEF\x94\xC8\xE9\xFB\x37\x2E\x75\xE1\xAC\x93\xAD\x9B\x37\x13\x4B"
- "\x66\x3A\x76\x33\xD8\xC4\xD7\x4C\xFB\x61\xC8\x92\x21\x07\xFC\xDF"
- "\xA9\x88\x54\xE4\xA3\xA9\x47\xD2\x6C\xB8\xE3\x39\x89\x11\x88\x38"
- "\x2D\xA2\xDC\x3E\x5E\x4A\xA9\xA4\x8E\xD5\x1F\xB2\xD0\xDD\x41\x3C"
- "\xDA\x10\x68\x9E\x47\x1B\x65\x02\xA2\xC5\x28\x73\x02\x83\x03\x09"
- "\xFD\xF5\x29\x7E\x97\xDC\x2A\x4E\x4B\xAA\x79\x46\x46\x70\x86\x1B"
- "\x9B\xB8\xF6\x8A\xBE\x29\x87\x7D\x5F\xDA\xA5\x97\x6B\xEF\xC8\x43"
- "\x09\x43\xE2\x1F\x8A\x16\x7E\x1D\x50\x5D\xF5\xDA\x02\xEE\xF2\xC3"
- "\x2A\x48\xE6\x6B\x30\xEA\x02\xD7\xEF\xAC\x8B\x0C\xB8\xC1\x85\xD8"
- "\xBF\x7C\x85\xA8\x1E\x83\xBE\x5C\x26\x2E\x79\x7B\x47\xF5\x4A\x3F"
- "\x66\x62\x92\xFD\x41\x20\xB6\x2C\x00\xF0\x52\xCA\x26\x06\x2D\x7C"
- "\xCF\x7A\x50\x7D\x0F\xCB\xDD\x97\x20\xC8\x6F\xE4\xE0\x50\xF4\xE3";
+ "\xDD\xCF\x97\xD2\xA5\x1D\x95\xDD\x86\x18\xD8\xC4\xB9\xAD\xA6\x0C"
+ "\xB4\x9D\xB6\xDC\xFA\xDC\x21\xE1\x3A\x62\x34\x07\xE8\x33\xB2\xE8"
+ "\x97\xEE\x2C\x41\xD2\x12\xF1\x5F\xED\xE4\x76\xFF\x65\x26\x1E\x0C"
+ "\xC7\x41\x15\x69\x5F\x0D\xF9\xAD\x89\x14\x8D\xEA\xD7\x16\x52\x9A"
+ "\x47\xC1\xBB\x00\x02\xE4\x88\x45\x73\x78\xA4\xAE\xDB\x38\xC3\xC6"
+ "\x07\xD2\x64\x0E\x87\xED\x74\x8C\x6B\xC4\xC0\x02\x50\x7C\x4E\xA6"
+ "\xD1\x58\xE9\xE5\x13\x09\xA9\xDB\x5A\xEA\xEB\x0F\x06\x80\x5C\x09"
+ "\xEF\x94\xC8\xE9\xFB\x37\x2E\x75\xE1\xAC\x93\xAD\x9B\x37\x13\x4B"
+ "\x66\x3A\x76\x33\xD8\xC4\xD7\x4C\xFB\x61\xC8\x92\x21\x07\xFC\xDF"
+ "\xA9\x88\x54\xE4\xA3\xA9\x47\xD2\x6C\xB8\xE3\x39\x89\x11\x88\x38"
+ "\x2D\xA2\xDC\x3E\x5E\x4A\xA9\xA4\x8E\xD5\x1F\xB2\xD0\xDD\x41\x3C"
+ "\xDA\x10\x68\x9E\x47\x1B\x65\x02\xA2\xC5\x28\x73\x02\x83\x03\x09"
+ "\xFD\xF5\x29\x7E\x97\xDC\x2A\x4E\x4B\xAA\x79\x46\x46\x70\x86\x1B"
+ "\x9B\xB8\xF6\x8A\xBE\x29\x87\x7D\x5F\xDA\xA5\x97\x6B\xEF\xC8\x43"
+ "\x09\x43\xE2\x1F\x8A\x16\x7E\x1D\x50\x5D\xF5\xDA\x02\xEE\xF2\xC3"
+ "\x2A\x48\xE6\x6B\x30\xEA\x02\xD7\xEF\xAC\x8B\x0C\xB8\xC1\x85\xD8"
+ "\xBF\x7C\x85\xA8\x1E\x83\xBE\x5C\x26\x2E\x79\x7B\x47\xF5\x4A\x3F"
+ "\x66\x62\x92\xFD\x41\x20\xB6\x2C\x00\xF0\x52\xCA\x26\x06\x2D\x7C"
+ "\xCF\x7A\x50\x7D\x0F\xCB\xDD\x97\x20\xC8\x6F\xE4\xE0\x50\xF4\xE3";
const char mock_subject[] =
- "DN: C=US, O=Test Government, OU=Test Department, OU=Test Agency/serialNumber=";
+ "DN: C=US, O=Test Government, OU=Test Department, OU=Test Agency/serialNumber=";
CK_BBOOL pkcs11_mock_initialized = CK_FALSE;
CK_BBOOL pkcs11_mock_session_opened = CK_FALSE;
@@ -151,80 +151,78 @@ CK_BBOOL pkcs11_mock_session_reauth = CK_FALSE;
static session_ptr_st *mock_session = NULL;
-CK_FUNCTION_LIST pkcs11_mock_functions = {
- {2, 20},
- &C_Initialize,
- &C_Finalize,
- &C_GetInfo,
- &C_GetFunctionList,
- &C_GetSlotList,
- &C_GetSlotInfo,
- &C_GetTokenInfo,
- &C_GetMechanismList,
- &C_GetMechanismInfo,
- &C_InitToken,
- &C_InitPIN,
- &C_SetPIN,
- &C_OpenSession,
- &C_CloseSession,
- &C_CloseAllSessions,
- &C_GetSessionInfo,
- &C_GetOperationState,
- &C_SetOperationState,
- &C_Login,
- &C_Logout,
- &C_CreateObject,
- &C_CopyObject,
- &C_DestroyObject,
- &C_GetObjectSize,
- &C_GetAttributeValue,
- &C_SetAttributeValue,
- &C_FindObjectsInit,
- &C_FindObjects,
- &C_FindObjectsFinal,
- &C_EncryptInit,
- &C_Encrypt,
- &C_EncryptUpdate,
- &C_EncryptFinal,
- &C_DecryptInit,
- &C_Decrypt,
- &C_DecryptUpdate,
- &C_DecryptFinal,
- &C_DigestInit,
- &C_Digest,
- &C_DigestUpdate,
- &C_DigestKey,
- &C_DigestFinal,
- &C_SignInit,
- &C_Sign,
- &C_SignUpdate,
- &C_SignFinal,
- &C_SignRecoverInit,
- &C_SignRecover,
- &C_VerifyInit,
- &C_Verify,
- &C_VerifyUpdate,
- &C_VerifyFinal,
- &C_VerifyRecoverInit,
- &C_VerifyRecover,
- &C_DigestEncryptUpdate,
- &C_DecryptDigestUpdate,
- &C_SignEncryptUpdate,
- &C_DecryptVerifyUpdate,
- &C_GenerateKey,
- &C_GenerateKeyPair,
- &C_WrapKey,
- &C_UnwrapKey,
- &C_DeriveKey,
- &C_SeedRandom,
- &C_GenerateRandom,
- &C_GetFunctionStatus,
- &C_CancelFunction,
- &C_WaitForSlotEvent
-};
+CK_FUNCTION_LIST pkcs11_mock_functions = { { 2, 20 },
+ &C_Initialize,
+ &C_Finalize,
+ &C_GetInfo,
+ &C_GetFunctionList,
+ &C_GetSlotList,
+ &C_GetSlotInfo,
+ &C_GetTokenInfo,
+ &C_GetMechanismList,
+ &C_GetMechanismInfo,
+ &C_InitToken,
+ &C_InitPIN,
+ &C_SetPIN,
+ &C_OpenSession,
+ &C_CloseSession,
+ &C_CloseAllSessions,
+ &C_GetSessionInfo,
+ &C_GetOperationState,
+ &C_SetOperationState,
+ &C_Login,
+ &C_Logout,
+ &C_CreateObject,
+ &C_CopyObject,
+ &C_DestroyObject,
+ &C_GetObjectSize,
+ &C_GetAttributeValue,
+ &C_SetAttributeValue,
+ &C_FindObjectsInit,
+ &C_FindObjects,
+ &C_FindObjectsFinal,
+ &C_EncryptInit,
+ &C_Encrypt,
+ &C_EncryptUpdate,
+ &C_EncryptFinal,
+ &C_DecryptInit,
+ &C_Decrypt,
+ &C_DecryptUpdate,
+ &C_DecryptFinal,
+ &C_DigestInit,
+ &C_Digest,
+ &C_DigestUpdate,
+ &C_DigestKey,
+ &C_DigestFinal,
+ &C_SignInit,
+ &C_Sign,
+ &C_SignUpdate,
+ &C_SignFinal,
+ &C_SignRecoverInit,
+ &C_SignRecover,
+ &C_VerifyInit,
+ &C_Verify,
+ &C_VerifyUpdate,
+ &C_VerifyFinal,
+ &C_VerifyRecoverInit,
+ &C_VerifyRecover,
+ &C_DigestEncryptUpdate,
+ &C_DecryptDigestUpdate,
+ &C_SignEncryptUpdate,
+ &C_DecryptVerifyUpdate,
+ &C_GenerateKey,
+ &C_GenerateKeyPair,
+ &C_WrapKey,
+ &C_UnwrapKey,
+ &C_DeriveKey,
+ &C_SeedRandom,
+ &C_GenerateRandom,
+ &C_GetFunctionStatus,
+ &C_CancelFunction,
+ &C_WaitForSlotEvent };
#if defined(HAVE___REGISTER_ATFORK)
-extern int __register_atfork(void (*)(void), void(*)(void), void (*)(void),
+extern int __register_atfork(void (*)(void), void (*)(void), void (*)(void),
void *);
extern void *__dso_handle;
static unsigned registered_fork_handler = 0;
@@ -236,7 +234,7 @@ static void fork_handler(void)
if (mock_session) {
mock_session->state = CKS_RO_PUBLIC_SESSION;
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
free(mock_session->find_label);
}
free(mock_session);
@@ -244,7 +242,8 @@ static void fork_handler(void)
}
#endif
-CK_DEFINE_FUNCTION(CK_RV, C_Initialize) (CK_VOID_PTR pInitArgs) {
+CK_DEFINE_FUNCTION(CK_RV, C_Initialize)(CK_VOID_PTR pInitArgs)
+{
if (CK_TRUE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_ALREADY_INITIALIZED;
@@ -260,7 +259,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_Initialize) (CK_VOID_PTR pInitArgs) {
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Finalize) (CK_VOID_PTR pReserved) {
+CK_DEFINE_FUNCTION(CK_RV, C_Finalize)(CK_VOID_PTR pReserved)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -271,7 +271,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_Finalize) (CK_VOID_PTR pReserved) {
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetInfo) (CK_INFO_PTR pInfo) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetInfo)(CK_INFO_PTR pInfo)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -295,8 +296,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetInfo) (CK_INFO_PTR pInfo) {
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV,
- C_GetFunctionList) (CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
+CK_DEFINE_FUNCTION(CK_RV, C_GetFunctionList)
+(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
{
if (NULL == ppFunctionList)
return CKR_ARGUMENTS_BAD;
@@ -306,9 +307,9 @@ CK_DEFINE_FUNCTION(CK_RV,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetSlotList) (CK_BBOOL tokenPresent,
- CK_SLOT_ID_PTR pSlotList,
- CK_ULONG_PTR pulCount) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetSlotList)
+(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -330,8 +331,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetSlotList) (CK_BBOOL tokenPresent,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetSlotInfo) (CK_SLOT_ID slotID,
- CK_SLOT_INFO_PTR pInfo) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetSlotInfo)
+(CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -357,8 +359,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetSlotInfo) (CK_SLOT_ID slotID,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo) (CK_SLOT_ID slotID,
- CK_TOKEN_INFO_PTR pInfo) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo)
+(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -380,9 +383,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo) (CK_SLOT_ID slotID,
memset(pInfo->serialNumber, ' ', sizeof(pInfo->serialNumber));
memcpy(pInfo->serialNumber, PKCS11_MOCK_CK_TOKEN_INFO_SERIAL_NUMBER,
strlen(PKCS11_MOCK_CK_TOKEN_INFO_SERIAL_NUMBER));
- pInfo->flags =
- CKF_RNG | CKF_LOGIN_REQUIRED | CKF_USER_PIN_INITIALIZED |
- CKF_TOKEN_INITIALIZED;
+ pInfo->flags = CKF_RNG | CKF_LOGIN_REQUIRED | CKF_USER_PIN_INITIALIZED |
+ CKF_TOKEN_INITIALIZED;
if (pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH)
pInfo->flags &= ~CKF_LOGIN_REQUIRED;
@@ -390,9 +392,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo) (CK_SLOT_ID slotID,
pInfo->ulMaxSessionCount = CK_EFFECTIVELY_INFINITE;
pInfo->ulSessionCount = (CK_TRUE == pkcs11_mock_session_opened) ? 1 : 0;
pInfo->ulMaxRwSessionCount = CK_EFFECTIVELY_INFINITE;
- if ((CK_TRUE == pkcs11_mock_session_opened)
- && ((CKS_RO_PUBLIC_SESSION != mock_session->state)
- && (CKS_RO_USER_FUNCTIONS != mock_session->state)))
+ if ((CK_TRUE == pkcs11_mock_session_opened) &&
+ ((CKS_RO_PUBLIC_SESSION != mock_session->state) &&
+ (CKS_RO_USER_FUNCTIONS != mock_session->state)))
pInfo->ulRwSessionCount = 1;
else
pInfo->ulRwSessionCount = 0;
@@ -411,10 +413,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo) (CK_SLOT_ID slotID,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismList) (CK_SLOT_ID slotID,
- CK_MECHANISM_TYPE_PTR
- pMechanismList,
- CK_ULONG_PTR pulCount) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismList)
+(CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -446,9 +447,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismList) (CK_SLOT_ID slotID,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismInfo) (CK_SLOT_ID slotID,
- CK_MECHANISM_TYPE type,
- CK_MECHANISM_INFO_PTR pInfo) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismInfo)
+(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -468,9 +469,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismInfo) (CK_SLOT_ID slotID,
case CKM_RSA_PKCS:
pInfo->ulMinKeySize = 1024;
pInfo->ulMaxKeySize = 1024;
- pInfo->flags =
- CKF_ENCRYPT | CKF_DECRYPT | CKF_SIGN | CKF_SIGN_RECOVER |
- CKF_VERIFY | CKF_VERIFY_RECOVER | CKF_WRAP | CKF_UNWRAP;
+ pInfo->flags = CKF_ENCRYPT | CKF_DECRYPT | CKF_SIGN |
+ CKF_SIGN_RECOVER | CKF_VERIFY |
+ CKF_VERIFY_RECOVER | CKF_WRAP | CKF_UNWRAP;
break;
case CKM_SHA1_RSA_PKCS:
@@ -522,9 +523,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismInfo) (CK_SLOT_ID slotID,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_InitToken) (CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin,
- CK_ULONG ulPinLen,
- CK_UTF8CHAR_PTR pLabel) {
+CK_DEFINE_FUNCTION(CK_RV, C_InitToken)
+(CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen,
+ CK_UTF8CHAR_PTR pLabel)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -534,8 +536,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_InitToken) (CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin,
if (NULL == pPin)
return CKR_ARGUMENTS_BAD;
- if ((ulPinLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN)
- || (ulPinLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
+ if ((ulPinLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN) ||
+ (ulPinLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
return CKR_PIN_LEN_RANGE;
if (NULL == pLabel)
@@ -547,13 +549,14 @@ CK_DEFINE_FUNCTION(CK_RV, C_InitToken) (CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_InitPIN) (CK_SESSION_HANDLE hSession,
- CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_InitPIN)
+(CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (CKS_RW_SO_FUNCTIONS != mock_session->state)
@@ -562,49 +565,49 @@ CK_DEFINE_FUNCTION(CK_RV, C_InitPIN) (CK_SESSION_HANDLE hSession,
if (NULL == pPin)
return CKR_ARGUMENTS_BAD;
- if ((ulPinLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN)
- || (ulPinLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
+ if ((ulPinLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN) ||
+ (ulPinLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
return CKR_PIN_LEN_RANGE;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SetPIN) (CK_SESSION_HANDLE hSession,
- CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen,
- CK_UTF8CHAR_PTR pNewPin,
- CK_ULONG ulNewLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_SetPIN)
+(CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen,
+ CK_UTF8CHAR_PTR pNewPin, CK_ULONG ulNewLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
- if ((CKS_RO_PUBLIC_SESSION == mock_session->state)
- || (CKS_RO_USER_FUNCTIONS == mock_session->state))
+ if ((CKS_RO_PUBLIC_SESSION == mock_session->state) ||
+ (CKS_RO_USER_FUNCTIONS == mock_session->state))
return CKR_SESSION_READ_ONLY;
if (NULL == pOldPin)
return CKR_ARGUMENTS_BAD;
- if ((ulOldLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN)
- || (ulOldLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
+ if ((ulOldLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN) ||
+ (ulOldLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
return CKR_PIN_LEN_RANGE;
if (NULL == pNewPin)
return CKR_ARGUMENTS_BAD;
- if ((ulNewLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN)
- || (ulNewLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
+ if ((ulNewLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN) ||
+ (ulNewLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
return CKR_PIN_LEN_RANGE;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_OpenSession) (CK_SLOT_ID slotID, CK_FLAGS flags,
- CK_VOID_PTR pApplication,
- CK_NOTIFY Notify,
- CK_SESSION_HANDLE_PTR phSession) {
+CK_DEFINE_FUNCTION(CK_RV, C_OpenSession)
+(CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify,
+ CK_SESSION_HANDLE_PTR phSession)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if (CK_TRUE == pkcs11_mock_session_opened)
@@ -629,9 +632,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_OpenSession) (CK_SLOT_ID slotID, CK_FLAGS flags,
if (mock_session == NULL)
return CKR_HOST_MEMORY;
- mock_session->state =
- (flags & CKF_RW_SESSION) ? CKS_RW_PUBLIC_SESSION :
- CKS_RO_PUBLIC_SESSION;
+ mock_session->state = (flags & CKF_RW_SESSION) ? CKS_RW_PUBLIC_SESSION :
+ CKS_RO_PUBLIC_SESSION;
mock_session->find_op.find_result = CKR_OBJECT_HANDLE_INVALID;
mock_session->find_op.active_operation = PKCS11_MOCK_CK_OPERATION_NONE;
@@ -642,12 +644,13 @@ CK_DEFINE_FUNCTION(CK_RV, C_OpenSession) (CK_SLOT_ID slotID, CK_FLAGS flags,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_CloseSession) (CK_SESSION_HANDLE hSession) {
+CK_DEFINE_FUNCTION(CK_RV, C_CloseSession)(CK_SESSION_HANDLE hSession)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
pkcs11_mock_session_opened = CK_FALSE;
@@ -661,17 +664,19 @@ CK_DEFINE_FUNCTION(CK_RV, C_CloseSession) (CK_SESSION_HANDLE hSession) {
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_CloseAllSessions) (CK_SLOT_ID slotID) {
+CK_DEFINE_FUNCTION(CK_RV, C_CloseAllSessions)(CK_SLOT_ID slotID)
+{
return C_CloseSession(PKCS11_MOCK_CK_SESSION_ID);
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetSessionInfo) (CK_SESSION_HANDLE hSession,
- CK_SESSION_INFO_PTR pInfo) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetSessionInfo)
+(CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pInfo)
@@ -680,23 +685,23 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetSessionInfo) (CK_SESSION_HANDLE hSession,
pInfo->slotID = PKCS11_MOCK_CK_SLOT_ID;
pInfo->state = mock_session->state;
pInfo->flags = CKF_SERIAL_SESSION;
- if ((mock_session->state != CKS_RO_PUBLIC_SESSION)
- && (mock_session->state != CKS_RO_USER_FUNCTIONS))
+ if ((mock_session->state != CKS_RO_PUBLIC_SESSION) &&
+ (mock_session->state != CKS_RO_USER_FUNCTIONS))
pInfo->flags = pInfo->flags | CKF_RW_SESSION;
pInfo->ulDeviceError = 0;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetOperationState) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pOperationState,
- CK_ULONG_PTR
- pulOperationStateLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetOperationState)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState,
+ CK_ULONG_PTR pulOperationStateLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pulOperationStateLen)
@@ -715,17 +720,16 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetOperationState) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SetOperationState) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pOperationState,
- CK_ULONG ulOperationStateLen,
- CK_OBJECT_HANDLE hEncryptionKey,
- CK_OBJECT_HANDLE
- hAuthenticationKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_SetOperationState)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState,
+ CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE hEncryptionKey,
+ CK_OBJECT_HANDLE hAuthenticationKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pOperationState)
@@ -741,27 +745,28 @@ CK_DEFINE_FUNCTION(CK_RV, C_SetOperationState) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Login) (CK_SESSION_HANDLE hSession,
- CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin,
- CK_ULONG ulPinLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_Login)
+(CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin,
+ CK_ULONG ulPinLen)
+{
CK_RV rv = CKR_OK;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
- if ((pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH)
- && userType == CKU_CONTEXT_SPECIFIC) {
+ if ((pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) &&
+ userType == CKU_CONTEXT_SPECIFIC) {
return CKR_USER_TYPE_INVALID;
}
- if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH)
- || (pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH)) {
- if ((CKU_CONTEXT_SPECIFIC != userType) && (CKU_SO != userType)
- && (CKU_USER != userType))
+ if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH) ||
+ (pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH)) {
+ if ((CKU_CONTEXT_SPECIFIC != userType) &&
+ (CKU_SO != userType) && (CKU_USER != userType))
return CKR_USER_TYPE_INVALID;
} else if ((CKU_SO != userType) && (CKU_USER != userType)) {
return CKR_USER_TYPE_INVALID;
@@ -770,8 +775,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_Login) (CK_SESSION_HANDLE hSession,
if (NULL == pPin)
return CKR_ARGUMENTS_BAD;
- if ((ulPinLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN)
- || (ulPinLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
+ if ((ulPinLen < PKCS11_MOCK_CK_TOKEN_INFO_MIN_PIN_LEN) ||
+ (ulPinLen > PKCS11_MOCK_CK_TOKEN_INFO_MAX_PIN_LEN))
return CKR_PIN_LEN_RANGE;
switch (mock_session->state) {
@@ -787,32 +792,30 @@ CK_DEFINE_FUNCTION(CK_RV, C_Login) (CK_SESSION_HANDLE hSession,
case CKS_RO_USER_FUNCTIONS:
case CKS_RW_USER_FUNCTIONS:
- rv = (CKU_SO ==
- userType) ? CKR_USER_ANOTHER_ALREADY_LOGGED_IN :
- CKR_USER_ALREADY_LOGGED_IN;
+ rv = (CKU_SO == userType) ? CKR_USER_ANOTHER_ALREADY_LOGGED_IN :
+ CKR_USER_ALREADY_LOGGED_IN;
break;
case CKS_RW_PUBLIC_SESSION:
- mock_session->state =
- (CKU_SO ==
- userType) ? CKS_RW_SO_FUNCTIONS : CKS_RW_USER_FUNCTIONS;
+ mock_session->state = (CKU_SO == userType) ?
+ CKS_RW_SO_FUNCTIONS :
+ CKS_RW_USER_FUNCTIONS;
break;
case CKS_RW_SO_FUNCTIONS:
- rv = (CKU_SO ==
- userType) ? CKR_USER_ALREADY_LOGGED_IN :
- CKR_USER_ANOTHER_ALREADY_LOGGED_IN;
+ rv = (CKU_SO == userType) ? CKR_USER_ALREADY_LOGGED_IN :
+ CKR_USER_ANOTHER_ALREADY_LOGGED_IN;
break;
}
- if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH
- || pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH)
- && rv == CKR_USER_ALREADY_LOGGED_IN) {
+ if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH ||
+ pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) &&
+ rv == CKR_USER_ALREADY_LOGGED_IN) {
rv = 0;
}
@@ -820,32 +823,33 @@ CK_DEFINE_FUNCTION(CK_RV, C_Login) (CK_SESSION_HANDLE hSession,
return rv;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Logout) (CK_SESSION_HANDLE hSession) {
+CK_DEFINE_FUNCTION(CK_RV, C_Logout)(CK_SESSION_HANDLE hSession)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
- if ((mock_session->state == CKS_RO_PUBLIC_SESSION)
- || (mock_session->state == CKS_RW_PUBLIC_SESSION))
+ if ((mock_session->state == CKS_RO_PUBLIC_SESSION) ||
+ (mock_session->state == CKS_RW_PUBLIC_SESSION))
return CKR_USER_NOT_LOGGED_IN;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_CreateObject) (CK_SESSION_HANDLE hSession,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulCount,
- CK_OBJECT_HANDLE_PTR phObject) {
+CK_DEFINE_FUNCTION(CK_RV, C_CreateObject)
+(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
+ CK_OBJECT_HANDLE_PTR phObject)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pTemplate)
@@ -870,18 +874,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_CreateObject) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_CopyObject) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hObject,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulCount,
- CK_OBJECT_HANDLE_PTR phNewObject) {
+CK_DEFINE_FUNCTION(CK_RV, C_CopyObject)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject,
+ CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phNewObject)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_DATA != hObject)
@@ -905,13 +908,14 @@ CK_DEFINE_FUNCTION(CK_RV, C_CopyObject) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DestroyObject) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hObject) {
+CK_DEFINE_FUNCTION(CK_RV, C_DestroyObject)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OBJECT_HANDLE_DATA != hObject) &&
@@ -923,14 +927,14 @@ CK_DEFINE_FUNCTION(CK_RV, C_DestroyObject) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetObjectSize) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hObject,
- CK_ULONG_PTR pulSize) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetObjectSize)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OBJECT_HANDLE_DATA != hObject) &&
@@ -947,17 +951,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetObjectSize) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hObject,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulCount) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject,
+ CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OBJECT_HANDLE_DATA != hObject) &&
@@ -976,18 +980,18 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
for (i = 0; i < ulCount; i++) {
if (CKA_PUBLIC_KEY_INFO == pTemplate[i].type &&
- (PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE == hObject
- || PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY == hObject)) {
+ (PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE == hObject ||
+ PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY == hObject)) {
if (pTemplate[i].ulValueLen < sizeof(mock_pubkey) - 1) {
pTemplate[i].ulValueLen =
- sizeof(mock_pubkey) - 1;
+ sizeof(mock_pubkey) - 1;
if (pTemplate[i].pValue == NULL)
return CKR_OK;
else
return CKR_BUFFER_TOO_SMALL;
}
pTemplate[i].ulValueLen =
- (CK_ULONG) sizeof(mock_pubkey) - 1;
+ (CK_ULONG)sizeof(mock_pubkey) - 1;
memcpy(pTemplate[i].pValue, mock_pubkey,
pTemplate[i].ulValueLen);
} else if (CKA_CLASS == pTemplate[i].type) {
@@ -1001,9 +1005,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
pTemplate[i].ulValueLen = sizeof(hObject);
} else if (CKA_PUBLIC_EXPONENT == pTemplate[i].type &&
- (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY == hObject
- || PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY ==
- hObject)) {
+ (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY ==
+ hObject ||
+ PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY ==
+ hObject)) {
if (NULL != pTemplate[i].pValue) {
if (pTemplate[i].ulValueLen <
sizeof(mock_public_exponent) - 1)
@@ -1012,16 +1017,16 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
memcpy(pTemplate[i].pValue,
mock_public_exponent,
sizeof(mock_public_exponent) -
- 1);
+ 1);
}
pTemplate[i].ulValueLen =
- sizeof(mock_public_exponent) - 1;
- } else if (CKA_MODULUS == pTemplate[i].type
- && (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY ==
- hObject
- || PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY ==
- hObject)) {
+ sizeof(mock_public_exponent) - 1;
+ } else if (CKA_MODULUS == pTemplate[i].type &&
+ (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY ==
+ hObject ||
+ PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY ==
+ hObject)) {
if (NULL != pTemplate[i].pValue) {
if (pTemplate[i].ulValueLen <
sizeof(mock_modulus) - 1)
@@ -1033,9 +1038,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
}
pTemplate[i].ulValueLen = sizeof(mock_modulus) - 1;
- } else if (CKA_SUBJECT == pTemplate[i].type
- && PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE ==
- hObject) {
+ } else if (CKA_SUBJECT == pTemplate[i].type &&
+ PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE ==
+ hObject) {
if (NULL != pTemplate[i].pValue) {
if (pTemplate[i].ulValueLen <
strlen(mock_subject))
@@ -1055,12 +1060,11 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
else
memcpy(pTemplate[i].pValue,
PKCS11_MOCK_CK_OBJECT_CKA_LABEL,
- strlen
- (PKCS11_MOCK_CK_OBJECT_CKA_LABEL));
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_LABEL));
}
pTemplate[i].ulValueLen =
- strlen(PKCS11_MOCK_CK_OBJECT_CKA_LABEL);
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_LABEL);
} else if (CKA_KEY_TYPE == pTemplate[i].type) {
CK_KEY_TYPE t;
if (pTemplate[i].ulValueLen != sizeof(CK_KEY_TYPE))
@@ -1090,20 +1094,19 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
else
memcpy(pTemplate[i].pValue,
PKCS11_MOCK_CK_OBJECT_CKA_LABEL,
- strlen
- (PKCS11_MOCK_CK_OBJECT_CKA_LABEL));
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_LABEL));
}
pTemplate[i].ulValueLen =
- strlen(PKCS11_MOCK_CK_OBJECT_CKA_LABEL);
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_LABEL);
} else if (CKA_CERTIFICATE_CATEGORY == pTemplate[i].type) {
- CK_ULONG t = 2; /* authority */
+ CK_ULONG t = 2; /* authority */
if (pTemplate[i].ulValueLen < sizeof(CK_ULONG))
return CKR_BUFFER_TOO_SMALL;
memcpy(pTemplate[i].pValue, &t, sizeof(CK_ULONG));
} else if (CKA_VALUE == pTemplate[i].type) {
- if (PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE_EXTENSION
- == hObject) {
+ if (PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE_EXTENSION ==
+ hObject) {
const void *obj;
unsigned obj_len;
@@ -1122,7 +1125,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
else
return CKR_BUFFER_TOO_SMALL;
}
- pTemplate[i].ulValueLen = (CK_ULONG) obj_len;
+ pTemplate[i].ulValueLen = (CK_ULONG)obj_len;
memcpy(pTemplate[i].pValue, obj,
pTemplate[i].ulValueLen);
} else if (PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE ==
@@ -1130,14 +1133,14 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
if (pTemplate[i].ulValueLen <
sizeof(mock_certificate) - 1) {
pTemplate[i].ulValueLen =
- sizeof(mock_certificate) - 1;
+ sizeof(mock_certificate) - 1;
if (pTemplate[i].pValue == NULL)
return CKR_OK;
else
return CKR_BUFFER_TOO_SMALL;
}
pTemplate[i].ulValueLen =
- (CK_ULONG) sizeof(mock_certificate) - 1;
+ (CK_ULONG)sizeof(mock_certificate) - 1;
memcpy(pTemplate[i].pValue, mock_certificate,
pTemplate[i].ulValueLen);
} else if (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY ==
@@ -1145,39 +1148,36 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
if (pTemplate[i].ulValueLen <
sizeof(mock_pubkey) - 1) {
pTemplate[i].ulValueLen =
- sizeof(mock_pubkey) - 1;
+ sizeof(mock_pubkey) - 1;
if (pTemplate[i].pValue == NULL)
return CKR_OK;
else
return CKR_BUFFER_TOO_SMALL;
}
pTemplate[i].ulValueLen =
- (CK_ULONG) sizeof(mock_pubkey) - 1;
+ (CK_ULONG)sizeof(mock_pubkey) - 1;
memcpy(pTemplate[i].pValue, mock_pubkey,
pTemplate[i].ulValueLen);
} else if (PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY ==
hObject) {
- pTemplate[i].ulValueLen = (CK_ULONG) - 1;
- if (!
- (pkcs11_mock_flags &
- MOCK_FLAG_BROKEN_GET_ATTRIBUTES)) {
+ pTemplate[i].ulValueLen = (CK_ULONG)-1;
+ if (!(pkcs11_mock_flags &
+ MOCK_FLAG_BROKEN_GET_ATTRIBUTES)) {
return CKR_ATTRIBUTE_SENSITIVE;
}
} else {
if (NULL != pTemplate[i].pValue) {
if (pTemplate[i].ulValueLen <
- strlen
- (PKCS11_MOCK_CK_OBJECT_CKA_VALUE))
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_VALUE))
return CKR_BUFFER_TOO_SMALL;
else
memcpy(pTemplate[i].pValue,
PKCS11_MOCK_CK_OBJECT_CKA_VALUE,
- strlen
- (PKCS11_MOCK_CK_OBJECT_CKA_VALUE));
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_VALUE));
}
pTemplate[i].ulValueLen =
- strlen(PKCS11_MOCK_CK_OBJECT_CKA_VALUE);
+ strlen(PKCS11_MOCK_CK_OBJECT_CKA_VALUE);
}
} else {
return CKR_ATTRIBUTE_TYPE_INVALID;
@@ -1187,17 +1187,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SetAttributeValue) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hObject,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulCount) {
+CK_DEFINE_FUNCTION(CK_RV, C_SetAttributeValue)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject,
+ CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OBJECT_HANDLE_DATA != hObject) &&
@@ -1213,8 +1213,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_SetAttributeValue) (CK_SESSION_HANDLE hSession,
return CKR_ARGUMENTS_BAD;
for (i = 0; i < ulCount; i++) {
- if ((CKA_LABEL == pTemplate[i].type)
- || (CKA_VALUE == pTemplate[i].type)) {
+ if ((CKA_LABEL == pTemplate[i].type) ||
+ (CKA_VALUE == pTemplate[i].type)) {
if (NULL == pTemplate[i].pValue)
return CKR_ATTRIBUTE_VALUE_INVALID;
@@ -1228,9 +1228,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_SetAttributeValue) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsInit) (CK_SESSION_HANDLE hSession,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulCount) {
+CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsInit)
+(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
+{
CK_ULONG i = 0;
CK_ULONG_PTR cka_class_value = NULL;
@@ -1241,8 +1241,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsInit) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_ACTIVE;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pTemplate)
@@ -1261,44 +1261,43 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsInit) (CK_SESSION_HANDLE hSession,
if (CKA_LABEL == pTemplate[i].type) {
free(mock_session->find_label);
- mock_session->find_label =
- strndup(pTemplate[i].pValue,
- pTemplate[i].ulValueLen);
+ mock_session->find_label = strndup(
+ pTemplate[i].pValue, pTemplate[i].ulValueLen);
} else if (CKA_CLASS == pTemplate[i].type) {
if (sizeof(CK_ULONG) != pTemplate[i].ulValueLen)
return CKR_ATTRIBUTE_VALUE_INVALID;
- cka_class_value = (CK_ULONG_PTR) pTemplate[i].pValue;
+ cka_class_value = (CK_ULONG_PTR)pTemplate[i].pValue;
switch (*cka_class_value) {
case CKO_DATA:
mock_session->find_op.find_result =
- PKCS11_MOCK_CK_OBJECT_HANDLE_DATA;
+ PKCS11_MOCK_CK_OBJECT_HANDLE_DATA;
mock_session->find_op.remaining_data = 2;
break;
case CKO_SECRET_KEY:
mock_session->find_op.find_result =
- PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY;
+ PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY;
mock_session->find_op.remaining_data = 1;
break;
case CKO_CERTIFICATE:
mock_session->find_op.find_result =
- PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE;
+ PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE;
mock_session->find_op.remaining_data = 1;
break;
case CKO_PUBLIC_KEY:
mock_session->find_op.find_result =
- PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY;
+ PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY;
mock_session->find_op.remaining_data = 1;
break;
case CKO_PRIVATE_KEY:
mock_session->find_op.find_result =
- PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY;
+ PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY;
mock_session->find_op.remaining_data = 1;
break;
case CKO_X_CERTIFICATE_EXTENSION:
mock_session->find_op.find_result =
- PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE_EXTENSION;
+ PKCS11_MOCK_CK_OBJECT_HANDLE_CERTIFICATE_EXTENSION;
mock_session->find_op.remaining_data = 2;
break;
}
@@ -1310,11 +1309,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsInit) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_FindObjects) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE_PTR phObject,
- CK_ULONG ulMaxObjectCount,
- CK_ULONG_PTR pulObjectCount) {
-
+CK_DEFINE_FUNCTION(CK_RV, C_FindObjects)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject,
+ CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -1322,8 +1320,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjects) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((NULL == phObject) && (0 < ulMaxObjectCount))
@@ -1371,7 +1369,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjects) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsFinal) (CK_SESSION_HANDLE hSession) {
+CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsFinal)(CK_SESSION_HANDLE hSession)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -1379,8 +1378,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsFinal) (CK_SESSION_HANDLE hSession) {
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
mock_session->find_op.active_operation = PKCS11_MOCK_CK_OPERATION_NONE;
@@ -1388,22 +1387,22 @@ CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsFinal) (CK_SESSION_HANDLE hSession) {
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if ((PKCS11_MOCK_CK_OPERATION_NONE !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DIGEST !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_SIGN !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DIGEST !=
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_SIGN !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_ACTIVE;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pMechanism)
@@ -1412,8 +1411,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit) (CK_SESSION_HANDLE hSession,
switch (pMechanism->mechanism) {
case CKM_RSA_PKCS:
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY != hKey)
@@ -1436,8 +1435,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit) (CK_SESSION_HANDLE hSession,
#endif
case CKM_DES3_CBC:
- if ((NULL == pMechanism->pParameter)
- || (8 != pMechanism->ulParameterLen))
+ if ((NULL == pMechanism->pParameter) ||
+ (8 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY != hKey)
@@ -1447,8 +1446,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit) (CK_SESSION_HANDLE hSession,
case CKM_AES_CBC:
- if ((NULL == pMechanism->pParameter)
- || (16 != pMechanism->ulParameterLen))
+ if ((NULL == pMechanism->pParameter) ||
+ (16 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY != hKey)
@@ -1464,15 +1463,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit) (CK_SESSION_HANDLE hSession,
switch (mock_session->find_op.active_operation) {
case PKCS11_MOCK_CK_OPERATION_NONE:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_ENCRYPT;
break;
case PKCS11_MOCK_CK_OPERATION_DIGEST:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT;
break;
case PKCS11_MOCK_CK_OPERATION_SIGN:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT;
break;
default:
return CKR_FUNCTION_FAILED;
@@ -1481,10 +1480,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Encrypt) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pData, CK_ULONG ulDataLen,
- CK_BYTE_PTR pEncryptedData,
- CK_ULONG_PTR pulEncryptedDataLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_Encrypt)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen,
+ CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
@@ -1494,8 +1493,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_Encrypt) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pData)
@@ -1515,7 +1514,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_Encrypt) (CK_SESSION_HANDLE hSession,
pEncryptedData[i] = pData[i] ^ 0xAB;
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
}
}
@@ -1524,11 +1523,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_Encrypt) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_EncryptUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pPart,
- CK_ULONG ulPartLen,
- CK_BYTE_PTR pEncryptedPart,
- CK_ULONG_PTR pulEncryptedPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_EncryptUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen,
+ CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
@@ -1538,8 +1536,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptUpdate) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pPart)
@@ -1565,23 +1563,23 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_EncryptFinal) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pLastEncryptedPart,
- CK_ULONG_PTR pulLastEncryptedPartLen)
+CK_DEFINE_FUNCTION(CK_RV, C_EncryptFinal)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart,
+ CK_ULONG_PTR pulLastEncryptedPartLen)
{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if ((PKCS11_MOCK_CK_OPERATION_ENCRYPT !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT !=
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pulLastEncryptedPartLen)
@@ -1591,15 +1589,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptFinal) (CK_SESSION_HANDLE hSession,
switch (mock_session->find_op.active_operation) {
case PKCS11_MOCK_CK_OPERATION_ENCRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
break;
case PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DIGEST;
+ PKCS11_MOCK_CK_OPERATION_DIGEST;
break;
case PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_SIGN;
+ PKCS11_MOCK_CK_OPERATION_SIGN;
break;
default:
return CKR_FUNCTION_FAILED;
@@ -1611,26 +1609,26 @@ CK_DEFINE_FUNCTION(CK_RV, C_EncryptFinal) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OPERATION_NONE !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DIGEST !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_VERIFY !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DIGEST !=
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_VERIFY !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_ACTIVE;
- if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH
- || pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
+ if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH ||
+ pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
mock_session->state = CKS_RO_PUBLIC_SESSION;
pkcs11_mock_session_reauth = 0;
}
@@ -1641,8 +1639,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit) (CK_SESSION_HANDLE hSession,
switch (pMechanism->mechanism) {
case CKM_RSA_PKCS:
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY != hKey)
@@ -1664,8 +1662,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit) (CK_SESSION_HANDLE hSession,
#endif
case CKM_DES3_CBC:
- if ((NULL == pMechanism->pParameter)
- || (8 != pMechanism->ulParameterLen))
+ if ((NULL == pMechanism->pParameter) ||
+ (8 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY != hKey)
@@ -1675,8 +1673,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit) (CK_SESSION_HANDLE hSession,
case CKM_AES_CBC:
- if ((NULL == pMechanism->pParameter)
- || (16 != pMechanism->ulParameterLen))
+ if ((NULL == pMechanism->pParameter) ||
+ (16 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY != hKey)
@@ -1692,15 +1690,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit) (CK_SESSION_HANDLE hSession,
switch (mock_session->find_op.active_operation) {
case PKCS11_MOCK_CK_OPERATION_NONE:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT;
break;
case PKCS11_MOCK_CK_OPERATION_DIGEST:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST;
break;
case PKCS11_MOCK_CK_OPERATION_VERIFY:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY;
break;
default:
return CKR_FUNCTION_FAILED;
@@ -1709,31 +1707,30 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Decrypt) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pEncryptedData,
- CK_ULONG ulEncryptedDataLen,
- CK_BYTE_PTR pData,
- CK_ULONG_PTR pulDataLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_Decrypt)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData,
+ CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_DECRYPT !=
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH
- || pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
+ if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH ||
+ pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
if (!pkcs11_mock_session_reauth) {
return CKR_USER_NOT_LOGGED_IN;
}
- if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH)
- && pData != NULL) {
+ if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH) &&
+ pData != NULL) {
pkcs11_mock_session_reauth = 0;
}
}
@@ -1755,7 +1752,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_Decrypt) (CK_SESSION_HANDLE hSession,
pData[i] = pEncryptedData[i] ^ 0xAB;
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
}
}
@@ -1764,18 +1761,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_Decrypt) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DecryptUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pEncryptedPart,
- CK_ULONG ulEncryptedPartLen,
- CK_BYTE_PTR pPart,
- CK_ULONG_PTR pulPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_DecryptUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart,
+ CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_DECRYPT !=
@@ -1805,22 +1801,22 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DecryptFinal) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pLastPart,
- CK_ULONG_PTR pulLastPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_DecryptFinal)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OPERATION_DECRYPT !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST !=
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_NOT_INITIALIZED;
if (NULL == pulLastPartLen)
@@ -1830,15 +1826,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptFinal) (CK_SESSION_HANDLE hSession,
switch (mock_session->find_op.active_operation) {
case PKCS11_MOCK_CK_OPERATION_DECRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
break;
case PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DIGEST;
+ PKCS11_MOCK_CK_OPERATION_DIGEST;
break;
case PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_VERIFY;
+ PKCS11_MOCK_CK_OPERATION_VERIFY;
break;
default:
return CKR_FUNCTION_FAILED;
@@ -1850,21 +1846,22 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptFinal) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DigestInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism) {
+CK_DEFINE_FUNCTION(CK_RV, C_DigestInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if ((PKCS11_MOCK_CK_OPERATION_NONE !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_ENCRYPT !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DECRYPT !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_ENCRYPT !=
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DECRYPT !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_ACTIVE;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pMechanism)
@@ -1873,22 +1870,22 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestInit) (CK_SESSION_HANDLE hSession,
if (CKM_SHA_1 != pMechanism->mechanism)
return CKR_MECHANISM_INVALID;
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
switch (mock_session->find_op.active_operation) {
case PKCS11_MOCK_CK_OPERATION_NONE:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DIGEST;
+ PKCS11_MOCK_CK_OPERATION_DIGEST;
break;
case PKCS11_MOCK_CK_OPERATION_ENCRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT;
break;
case PKCS11_MOCK_CK_OPERATION_DECRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST;
break;
default:
return CKR_FUNCTION_FAILED;
@@ -1897,14 +1894,13 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestInit) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Digest) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pData, CK_ULONG ulDataLen,
- CK_BYTE_PTR pDigest,
- CK_ULONG_PTR pulDigestLen) {
- CK_BYTE hash[20] =
- { 0x7B, 0x50, 0x2C, 0x3A, 0x1F, 0x48, 0xC8, 0x60, 0x9A, 0xE2, 0x12,
- 0xCD, 0xFB, 0x63, 0x9D, 0xEE, 0x39, 0x67, 0x3F, 0x5E
- };
+CK_DEFINE_FUNCTION(CK_RV, C_Digest)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen,
+ CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
+{
+ CK_BYTE hash[20] = { 0x7B, 0x50, 0x2C, 0x3A, 0x1F, 0x48, 0xC8,
+ 0x60, 0x9A, 0xE2, 0x12, 0xCD, 0xFB, 0x63,
+ 0x9D, 0xEE, 0x39, 0x67, 0x3F, 0x5E };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -1913,8 +1909,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_Digest) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pData)
@@ -1932,7 +1928,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_Digest) (CK_SESSION_HANDLE hSession,
} else {
memcpy(pDigest, hash, sizeof(hash));
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
}
}
@@ -1941,9 +1937,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_Digest) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DigestUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pPart,
- CK_ULONG ulPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_DigestUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -1951,8 +1947,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestUpdate) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pPart)
@@ -1964,8 +1960,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DigestKey) (CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_DigestKey)
+(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -1973,8 +1970,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestKey) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_SECRET_KEY != hKey)
@@ -1983,27 +1980,26 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestKey) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DigestFinal) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pDigest,
- CK_ULONG_PTR pulDigestLen) {
- CK_BYTE hash[20] =
- { 0x7B, 0x50, 0x2C, 0x3A, 0x1F, 0x48, 0xC8, 0x60, 0x9A, 0xE2, 0x12,
- 0xCD, 0xFB, 0x63, 0x9D, 0xEE, 0x39, 0x67, 0x3F, 0x5E
- };
+CK_DEFINE_FUNCTION(CK_RV, C_DigestFinal)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
+{
+ CK_BYTE hash[20] = { 0x7B, 0x50, 0x2C, 0x3A, 0x1F, 0x48, 0xC8,
+ 0x60, 0x9A, 0xE2, 0x12, 0xCD, 0xFB, 0x63,
+ 0x9D, 0xEE, 0x39, 0x67, 0x3F, 0x5E };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if ((PKCS11_MOCK_CK_OPERATION_DIGEST !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT !=
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pulDigestLen)
@@ -2018,15 +2014,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestFinal) (CK_SESSION_HANDLE hSession,
switch (mock_session->find_op.active_operation) {
case PKCS11_MOCK_CK_OPERATION_DIGEST:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
break;
case PKCS11_MOCK_CK_OPERATION_DIGEST_ENCRYPT:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_ENCRYPT;
break;
case PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST:
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT;
break;
default:
return CKR_FUNCTION_FAILED;
@@ -2039,24 +2035,24 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestFinal) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SignInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_SignInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OPERATION_NONE !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_ENCRYPT !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_ENCRYPT !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_ACTIVE;
- if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH
- || pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
+ if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH ||
+ pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
mock_session->state = CKS_RO_PUBLIC_SESSION;
pkcs11_mock_session_reauth = 0;
}
@@ -2064,10 +2060,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignInit) (CK_SESSION_HANDLE hSession,
if (NULL == pMechanism)
return CKR_ARGUMENTS_BAD;
- if ((CKM_RSA_PKCS == pMechanism->mechanism)
- || (CKM_SHA1_RSA_PKCS == pMechanism->mechanism)) {
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((CKM_RSA_PKCS == pMechanism->mechanism) ||
+ (CKM_SHA1_RSA_PKCS == pMechanism->mechanism)) {
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY != hKey)
@@ -2079,20 +2075,20 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignInit) (CK_SESSION_HANDLE hSession,
if (PKCS11_MOCK_CK_OPERATION_NONE ==
mock_session->find_op.active_operation)
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_SIGN;
+ PKCS11_MOCK_CK_OPERATION_SIGN;
else
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Sign) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pData, CK_ULONG ulDataLen,
- CK_BYTE_PTR pSignature,
- CK_ULONG_PTR pulSignatureLen) {
- CK_BYTE signature[10] =
- { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
+CK_DEFINE_FUNCTION(CK_RV, C_Sign)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen,
+ CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
+{
+ CK_BYTE signature[10] = { 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x08, 0x09 };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -2101,18 +2097,18 @@ CK_DEFINE_FUNCTION(CK_RV, C_Sign) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
- if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH
- || pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
+ if (pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH ||
+ pkcs11_mock_flags & MOCK_FLAG_SAFENET_ALWAYS_AUTH) {
if (!pkcs11_mock_session_reauth) {
return CKR_USER_NOT_LOGGED_IN;
}
- if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH)
- && pSignature != NULL) {
+ if ((pkcs11_mock_flags & MOCK_FLAG_ALWAYS_AUTH) &&
+ pSignature != NULL) {
pkcs11_mock_session_reauth = 0;
}
}
@@ -2132,7 +2128,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_Sign) (CK_SESSION_HANDLE hSession,
} else {
memcpy(pSignature, signature, sizeof(signature));
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
}
}
@@ -2141,9 +2137,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_Sign) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SignUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pPart,
- CK_ULONG ulPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_SignUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -2151,8 +2147,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignUpdate) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pPart)
@@ -2164,23 +2160,24 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SignFinal) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pSignature,
- CK_ULONG_PTR pulSignatureLen) {
- CK_BYTE signature[10] =
- { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
+CK_DEFINE_FUNCTION(CK_RV, C_SignFinal)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature,
+ CK_ULONG_PTR pulSignatureLen)
+{
+ CK_BYTE signature[10] = { 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x08, 0x09 };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if ((PKCS11_MOCK_CK_OPERATION_SIGN !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pulSignatureLen)
@@ -2195,10 +2192,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignFinal) (CK_SESSION_HANDLE hSession,
if (PKCS11_MOCK_CK_OPERATION_SIGN ==
mock_session->find_op.active_operation)
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
else
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_ENCRYPT;
+ PKCS11_MOCK_CK_OPERATION_ENCRYPT;
}
}
@@ -2207,14 +2204,14 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignFinal) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SignRecoverInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_SignRecoverInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_NONE !=
@@ -2225,8 +2222,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignRecoverInit) (CK_SESSION_HANDLE hSession,
return CKR_ARGUMENTS_BAD;
if (CKM_RSA_PKCS == pMechanism->mechanism) {
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY != hKey)
@@ -2236,15 +2233,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignRecoverInit) (CK_SESSION_HANDLE hSession,
}
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_SIGN_RECOVER;
+ PKCS11_MOCK_CK_OPERATION_SIGN_RECOVER;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SignRecover) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pData, CK_ULONG ulDataLen,
- CK_BYTE_PTR pSignature,
- CK_ULONG_PTR pulSignatureLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_SignRecover)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen,
+ CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
@@ -2254,8 +2251,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignRecover) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pData)
@@ -2275,7 +2272,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignRecover) (CK_SESSION_HANDLE hSession,
pSignature[i] = pData[i] ^ 0xAB;
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
}
}
@@ -2284,29 +2281,29 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignRecover) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_VerifyInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_VerifyInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if ((PKCS11_MOCK_CK_OPERATION_NONE !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DECRYPT !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DECRYPT !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_ACTIVE;
if (NULL == pMechanism)
return CKR_ARGUMENTS_BAD;
- if ((CKM_RSA_PKCS == pMechanism->mechanism)
- || (CKM_SHA1_RSA_PKCS == pMechanism->mechanism)) {
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((CKM_RSA_PKCS == pMechanism->mechanism) ||
+ (CKM_SHA1_RSA_PKCS == pMechanism->mechanism)) {
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY != hKey)
@@ -2318,20 +2315,20 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyInit) (CK_SESSION_HANDLE hSession,
if (PKCS11_MOCK_CK_OPERATION_NONE ==
mock_session->find_op.active_operation)
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_VERIFY;
+ PKCS11_MOCK_CK_OPERATION_VERIFY;
else
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_Verify) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pData, CK_ULONG ulDataLen,
- CK_BYTE_PTR pSignature,
- CK_ULONG ulSignatureLen) {
- CK_BYTE signature[10] =
- { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
+CK_DEFINE_FUNCTION(CK_RV, C_Verify)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen,
+ CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
+{
+ CK_BYTE signature[10] = { 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x08, 0x09 };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -2340,8 +2337,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_Verify) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pData)
@@ -2367,9 +2364,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_Verify) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_VerifyUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pPart,
- CK_ULONG ulPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_VerifyUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
@@ -2377,8 +2374,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyUpdate) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pPart)
@@ -2390,23 +2387,23 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_VerifyFinal) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pSignature,
- CK_ULONG ulSignatureLen) {
- CK_BYTE signature[10] =
- { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
+CK_DEFINE_FUNCTION(CK_RV, C_VerifyFinal)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
+{
+ CK_BYTE signature[10] = { 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x08, 0x09 };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
if ((PKCS11_MOCK_CK_OPERATION_VERIFY !=
- mock_session->find_op.active_operation)
- && (PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY !=
- mock_session->find_op.active_operation))
+ mock_session->find_op.active_operation) &&
+ (PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY !=
+ mock_session->find_op.active_operation))
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pSignature)
@@ -2424,22 +2421,22 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyFinal) (CK_SESSION_HANDLE hSession,
if (PKCS11_MOCK_CK_OPERATION_VERIFY ==
mock_session->find_op.active_operation)
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
else
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_DECRYPT;
+ PKCS11_MOCK_CK_OPERATION_DECRYPT;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecoverInit) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecoverInit)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_NONE !=
@@ -2450,8 +2447,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecoverInit) (CK_SESSION_HANDLE hSession,
return CKR_ARGUMENTS_BAD;
if (CKM_RSA_PKCS == pMechanism->mechanism) {
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY != hKey)
@@ -2461,16 +2458,15 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecoverInit) (CK_SESSION_HANDLE hSession,
}
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_VERIFY_RECOVER;
+ PKCS11_MOCK_CK_OPERATION_VERIFY_RECOVER;
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecover) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pSignature,
- CK_ULONG ulSignatureLen,
- CK_BYTE_PTR pData,
- CK_ULONG_PTR pulDataLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecover)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen,
+ CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
@@ -2480,8 +2476,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecover) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pSignature)
@@ -2501,7 +2497,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecover) (CK_SESSION_HANDLE hSession,
pData[i] = pSignature[i] ^ 0xAB;
mock_session->find_op.active_operation =
- PKCS11_MOCK_CK_OPERATION_NONE;
+ PKCS11_MOCK_CK_OPERATION_NONE;
}
}
@@ -2510,12 +2506,10 @@ CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecover) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DigestEncryptUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pPart,
- CK_ULONG ulPartLen,
- CK_BYTE_PTR pEncryptedPart,
- CK_ULONG_PTR
- pulEncryptedPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_DigestEncryptUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen,
+ CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
@@ -2525,8 +2519,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestEncryptUpdate) (CK_SESSION_HANDLE hSession,
mock_session->find_op.active_operation)
return CKR_OPERATION_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pPart)
@@ -2552,18 +2546,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_DigestEncryptUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DecryptDigestUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pEncryptedPart,
- CK_ULONG ulEncryptedPartLen,
- CK_BYTE_PTR pPart,
- CK_ULONG_PTR pulPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_DecryptDigestUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart,
+ CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_DECRYPT_DIGEST !=
@@ -2593,19 +2586,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptDigestUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SignEncryptUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pPart,
- CK_ULONG ulPartLen,
- CK_BYTE_PTR pEncryptedPart,
- CK_ULONG_PTR
- pulEncryptedPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_SignEncryptUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen,
+ CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_SIGN_ENCRYPT !=
@@ -2635,18 +2626,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignEncryptUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DecryptVerifyUpdate) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pEncryptedPart,
- CK_ULONG ulEncryptedPartLen,
- CK_BYTE_PTR pPart,
- CK_ULONG_PTR pulPartLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_DecryptVerifyUpdate)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart,
+ CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (PKCS11_MOCK_CK_OPERATION_DECRYPT_VERIFY !=
@@ -2676,18 +2666,17 @@ CK_DEFINE_FUNCTION(CK_RV, C_DecryptVerifyUpdate) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GenerateKey) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulCount,
- CK_OBJECT_HANDLE_PTR phKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_GenerateKey)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
+ CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pMechanism)
@@ -2696,8 +2685,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_GenerateKey) (CK_SESSION_HANDLE hSession,
if (CKM_DES3_KEY_GEN != pMechanism->mechanism)
return CKR_MECHANISM_INVALID;
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (NULL == pTemplate)
@@ -2722,26 +2711,19 @@ CK_DEFINE_FUNCTION(CK_RV, C_GenerateKey) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GenerateKeyPair) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_ATTRIBUTE_PTR
- pPublicKeyTemplate,
- CK_ULONG
- ulPublicKeyAttributeCount,
- CK_ATTRIBUTE_PTR
- pPrivateKeyTemplate,
- CK_ULONG
- ulPrivateKeyAttributeCount,
- CK_OBJECT_HANDLE_PTR phPublicKey,
- CK_OBJECT_HANDLE_PTR phPrivateKey)
+CK_DEFINE_FUNCTION(CK_RV, C_GenerateKeyPair)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
+ CK_ATTRIBUTE_PTR pPublicKeyTemplate, CK_ULONG ulPublicKeyAttributeCount,
+ CK_ATTRIBUTE_PTR pPrivateKeyTemplate, CK_ULONG ulPrivateKeyAttributeCount,
+ CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR phPrivateKey)
{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pMechanism)
@@ -2750,8 +2732,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_GenerateKeyPair) (CK_SESSION_HANDLE hSession,
if (CKM_RSA_PKCS_KEY_PAIR_GEN != pMechanism->mechanism)
return CKR_MECHANISM_INVALID;
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (NULL == pPublicKeyTemplate)
@@ -2794,20 +2776,19 @@ CK_DEFINE_FUNCTION(CK_RV, C_GenerateKeyPair) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_WrapKey) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hWrappingKey,
- CK_OBJECT_HANDLE hKey,
- CK_BYTE_PTR pWrappedKey,
- CK_ULONG_PTR pulWrappedKeyLen) {
- CK_BYTE wrappedKey[10] =
- { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 };
+CK_DEFINE_FUNCTION(CK_RV, C_WrapKey)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
+ CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE hKey, CK_BYTE_PTR pWrappedKey,
+ CK_ULONG_PTR pulWrappedKeyLen)
+{
+ CK_BYTE wrappedKey[10] = { 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x08, 0x09 };
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pMechanism)
@@ -2816,8 +2797,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_WrapKey) (CK_SESSION_HANDLE hSession,
if (CKM_RSA_PKCS != pMechanism->mechanism)
return CKR_MECHANISM_INVALID;
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PUBLIC_KEY != hWrappingKey)
@@ -2838,21 +2819,19 @@ CK_DEFINE_FUNCTION(CK_RV, C_WrapKey) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_UnwrapKey) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hUnwrappingKey,
- CK_BYTE_PTR pWrappedKey,
- CK_ULONG ulWrappedKeyLen,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulAttributeCount,
- CK_OBJECT_HANDLE_PTR phKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_UnwrapKey)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
+ CK_OBJECT_HANDLE hUnwrappingKey, CK_BYTE_PTR pWrappedKey,
+ CK_ULONG ulWrappedKeyLen, CK_ATTRIBUTE_PTR pTemplate,
+ CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)
+{
CK_ULONG i = 0;
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pMechanism)
@@ -2861,8 +2840,8 @@ CK_DEFINE_FUNCTION(CK_RV, C_UnwrapKey) (CK_SESSION_HANDLE hSession,
if (CKM_RSA_PKCS != pMechanism->mechanism)
return CKR_MECHANISM_INVALID;
- if ((NULL != pMechanism->pParameter)
- || (0 != pMechanism->ulParameterLen))
+ if ((NULL != pMechanism->pParameter) ||
+ (0 != pMechanism->ulParameterLen))
return CKR_MECHANISM_PARAM_INVALID;
if (PKCS11_MOCK_CK_OBJECT_HANDLE_PRIVATE_KEY != hUnwrappingKey)
@@ -2896,23 +2875,22 @@ CK_DEFINE_FUNCTION(CK_RV, C_UnwrapKey) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_DeriveKey) (CK_SESSION_HANDLE hSession,
- CK_MECHANISM_PTR pMechanism,
- CK_OBJECT_HANDLE hBaseKey,
- CK_ATTRIBUTE_PTR pTemplate,
- CK_ULONG ulAttributeCount,
- CK_OBJECT_HANDLE_PTR phKey) {
+CK_DEFINE_FUNCTION(CK_RV, C_DeriveKey)
+(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
+ CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate,
+ CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)
+{
return CKR_GENERAL_ERROR;
}
-CK_DEFINE_FUNCTION(CK_RV, C_SeedRandom) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR pSeed,
- CK_ULONG ulSeedLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_SeedRandom)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == pSeed)
@@ -2924,14 +2902,14 @@ CK_DEFINE_FUNCTION(CK_RV, C_SeedRandom) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GenerateRandom) (CK_SESSION_HANDLE hSession,
- CK_BYTE_PTR RandomData,
- CK_ULONG ulRandomLen) {
+CK_DEFINE_FUNCTION(CK_RV, C_GenerateRandom)
+(CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData, CK_ULONG ulRandomLen)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
if (NULL == RandomData)
@@ -2945,31 +2923,33 @@ CK_DEFINE_FUNCTION(CK_RV, C_GenerateRandom) (CK_SESSION_HANDLE hSession,
return CKR_OK;
}
-CK_DEFINE_FUNCTION(CK_RV, C_GetFunctionStatus) (CK_SESSION_HANDLE hSession) {
+CK_DEFINE_FUNCTION(CK_RV, C_GetFunctionStatus)(CK_SESSION_HANDLE hSession)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
return CKR_FUNCTION_NOT_PARALLEL;
}
-CK_DEFINE_FUNCTION(CK_RV, C_CancelFunction) (CK_SESSION_HANDLE hSession) {
+CK_DEFINE_FUNCTION(CK_RV, C_CancelFunction)(CK_SESSION_HANDLE hSession)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
- if ((CK_FALSE == pkcs11_mock_session_opened)
- || (PKCS11_MOCK_CK_SESSION_ID != hSession))
+ if ((CK_FALSE == pkcs11_mock_session_opened) ||
+ (PKCS11_MOCK_CK_SESSION_ID != hSession))
return CKR_SESSION_HANDLE_INVALID;
return CKR_FUNCTION_NOT_PARALLEL;
}
-CK_DEFINE_FUNCTION(CK_RV, C_WaitForSlotEvent) (CK_FLAGS flags,
- CK_SLOT_ID_PTR pSlot,
- CK_VOID_PTR pReserved) {
+CK_DEFINE_FUNCTION(CK_RV, C_WaitForSlotEvent)
+(CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved)
+{
if (CK_FALSE == pkcs11_mock_initialized)
return CKR_CRYPTOKI_NOT_INITIALIZED;
diff --git a/tests/pkcs11/pkcs11-mock.h b/tests/pkcs11/pkcs11-mock.h
index ef1d4ed91e..b83c77b674 100644
--- a/tests/pkcs11/pkcs11-mock.h
+++ b/tests/pkcs11/pkcs11-mock.h
@@ -28,14 +28,14 @@
#define CK_PTR *
#define CK_DEFINE_FUNCTION(returnType, name) returnType name
#define CK_DECLARE_FUNCTION(returnType, name) returnType name
-#define CK_DECLARE_FUNCTION_POINTER(returnType, name) returnType (* name)
-#define CK_CALLBACK_FUNCTION(returnType, name) returnType (* name)
+#define CK_DECLARE_FUNCTION_POINTER(returnType, name) returnType(*name)
+#define CK_CALLBACK_FUNCTION(returnType, name) returnType(*name)
#include <p11-kit/pkcs11.h>
#include <p11-kit/pkcs11x.h>
#ifndef NULL_PTR
-# define NULL_PTR 0
+#define NULL_PTR 0
#endif
#define IGNORE(P) (void)(P)
diff --git a/tests/pkcs11/pkcs11-mock2.c b/tests/pkcs11/pkcs11-mock2.c
index 0e9cab819f..8e62fb5c0f 100644
--- a/tests/pkcs11/pkcs11-mock2.c
+++ b/tests/pkcs11/pkcs11-mock2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <dlfcn.h>
@@ -43,18 +43,18 @@ static CK_C_GetMechanismInfo base_C_GetMechanismInfo;
static CK_FUNCTION_LIST override_funcs;
#ifdef __sun
-# pragma fini(mock_deinit)
-# pragma init(mock_init)
-# define _CONSTRUCTOR
-# define _DESTRUCTOR
+#pragma fini(mock_deinit)
+#pragma init(mock_init)
+#define _CONSTRUCTOR
+#define _DESTRUCTOR
#else
-# define _CONSTRUCTOR __attribute__((constructor))
-# define _DESTRUCTOR __attribute__((destructor))
+#define _CONSTRUCTOR __attribute__((constructor))
+#define _DESTRUCTOR __attribute__((destructor))
#endif
-static CK_RV
-override_C_GetMechanismInfo(CK_SLOT_ID slot_id,
- CK_MECHANISM_TYPE type, CK_MECHANISM_INFO * info)
+static CK_RV override_C_GetMechanismInfo(CK_SLOT_ID slot_id,
+ CK_MECHANISM_TYPE type,
+ CK_MECHANISM_INFO *info)
{
if (type == CKM_RSA_PKCS_PSS)
return CKR_MECHANISM_INVALID;
@@ -62,7 +62,7 @@ override_C_GetMechanismInfo(CK_SLOT_ID slot_id,
return base_C_GetMechanismInfo(slot_id, type, info);
}
-CK_RV C_GetFunctionList(CK_FUNCTION_LIST ** function_list)
+CK_RV C_GetFunctionList(CK_FUNCTION_LIST **function_list)
{
CK_C_GetFunctionList func;
CK_FUNCTION_LIST *funcs;
diff --git a/tests/pkcs11/pkcs11-mock3.c b/tests/pkcs11/pkcs11-mock3.c
index dffe300ee0..047a517a77 100644
--- a/tests/pkcs11/pkcs11-mock3.c
+++ b/tests/pkcs11/pkcs11-mock3.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <dlfcn.h>
@@ -44,13 +44,13 @@ static CK_C_GetAttributeValue base_C_GetAttributeValue;
static CK_FUNCTION_LIST override_funcs;
#ifdef __sun
-# pragma fini(mock_deinit)
-# pragma init(mock_init)
-# define _CONSTRUCTOR
-# define _DESTRUCTOR
+#pragma fini(mock_deinit)
+#pragma init(mock_init)
+#define _CONSTRUCTOR
+#define _DESTRUCTOR
#else
-# define _CONSTRUCTOR __attribute__((constructor))
-# define _DESTRUCTOR __attribute__((destructor))
+#define _CONSTRUCTOR __attribute__((constructor))
+#define _DESTRUCTOR __attribute__((destructor))
#endif
/* Should be a date before the activation time of chain[0] in
@@ -58,10 +58,10 @@ static CK_FUNCTION_LIST override_funcs;
*/
#define DISTRUST_AFTER "230314000000Z"
-static CK_RV
-override_C_GetAttributeValue(CK_SESSION_HANDLE hSession,
- CK_OBJECT_HANDLE hObject,
- CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
+static CK_RV override_C_GetAttributeValue(CK_SESSION_HANDLE hSession,
+ CK_OBJECT_HANDLE hObject,
+ CK_ATTRIBUTE_PTR pTemplate,
+ CK_ULONG ulCount)
{
CK_ATTRIBUTE *template;
CK_ULONG count = 0, i, offset = ulCount;
@@ -89,17 +89,17 @@ override_C_GetAttributeValue(CK_SESSION_HANDLE hSession,
if (offset < ulCount) {
if (!pTemplate[offset].pValue) {
pTemplate[offset].ulValueLen =
- sizeof(DISTRUST_AFTER) - 1;
+ sizeof(DISTRUST_AFTER) - 1;
} else if (pTemplate[offset].ulValueLen <
sizeof(DISTRUST_AFTER) - 1) {
pTemplate[offset].ulValueLen =
- CK_UNAVAILABLE_INFORMATION;
+ CK_UNAVAILABLE_INFORMATION;
rv = CKR_BUFFER_TOO_SMALL;
} else {
memcpy(pTemplate[offset].pValue, DISTRUST_AFTER,
sizeof(DISTRUST_AFTER) - 1);
pTemplate[offset].ulValueLen =
- sizeof(DISTRUST_AFTER) - 1;
+ sizeof(DISTRUST_AFTER) - 1;
}
}
@@ -112,7 +112,7 @@ override_C_GetAttributeValue(CK_SESSION_HANDLE hSession,
return rv;
}
-CK_RV C_GetFunctionList(CK_FUNCTION_LIST ** function_list)
+CK_RV C_GetFunctionList(CK_FUNCTION_LIST **function_list)
{
CK_C_GetFunctionList func;
CK_FUNCTION_LIST *funcs;
diff --git a/tests/pkcs11/pkcs11-obj-import.c b/tests/pkcs11/pkcs11-obj-import.c
index 07c1a30292..9004b27f95 100644
--- a/tests/pkcs11/pkcs11-obj-import.c
+++ b/tests/pkcs11/pkcs11-obj-import.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,7 +34,7 @@
#include <gnutls/abstract.h>
#define CONFIG_NAME "softhsm-obj-import"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#include "../utils.h"
#include "softhsm.h"
@@ -51,9 +51,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -93,8 +93,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, NULL);
@@ -106,15 +107,15 @@ void doit(void)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
ret = gnutls_x509_crt_import(crt, &server_cert, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -132,17 +133,17 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
- GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_crt(
+ SOFTHSM_URL, crt, "cert",
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
@@ -159,8 +160,8 @@ void doit(void)
exit(1);
}
- assert(gnutls_pkcs11_obj_export_url
- (obj, GNUTLS_PKCS11_URL_GENERIC, &url) >= 0);
+ assert(gnutls_pkcs11_obj_export_url(obj, GNUTLS_PKCS11_URL_GENERIC,
+ &url) >= 0);
assert(url != NULL);
gnutls_free(url);
@@ -186,76 +187,76 @@ void doit(void)
/* The ID is constant and copied from the certificate */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_ID_HEX, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj, GNUTLS_PKCS11_OBJ_ID_HEX, buf,
+ &buf_size) >= 0);
assert(buf_size == 60);
- assert(memcmp
- (buf,
- "95:d1:ad:a4:52:e4:c5:61:12:a6:91:13:8d:80:dd:2d:81:22:3e:d4",
- 60) == 0);
+ assert(memcmp(buf,
+ "95:d1:ad:a4:52:e4:c5:61:12:a6:91:13:8d:80:dd:2d:81:22:3e:d4",
+ 60) == 0);
/* label */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_LABEL, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj, GNUTLS_PKCS11_OBJ_LABEL, buf,
+ &buf_size) >= 0);
assert(buf_size == 4);
assert(memcmp(buf, "cert", 4) == 0);
/* token-label */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_TOKEN_LABEL, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj, GNUTLS_PKCS11_OBJ_TOKEN_LABEL,
+ buf, &buf_size) >= 0);
assert(buf_size == 4);
assert(memcmp(buf, "test", 4) == 0);
/* token-serial */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_TOKEN_SERIAL, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj, GNUTLS_PKCS11_OBJ_TOKEN_SERIAL,
+ buf, &buf_size) >= 0);
assert(buf_size != 0);
assert(strlen(buf) != 0);
/* token-model */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_TOKEN_MODEL, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj, GNUTLS_PKCS11_OBJ_TOKEN_MODEL,
+ buf, &buf_size) >= 0);
assert(buf_size != 0);
assert(strlen(buf) != 0);
/* token-manufacturer */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_TOKEN_MANUFACTURER, buf,
- &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj,
+ GNUTLS_PKCS11_OBJ_TOKEN_MANUFACTURER,
+ buf, &buf_size) >= 0);
assert(buf_size != 0);
assert(strlen(buf) != 0);
/* token-ID */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_ID, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj, GNUTLS_PKCS11_OBJ_ID, buf,
+ &buf_size) >= 0);
assert(buf_size != 0);
/* library description */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_LIBRARY_DESCRIPTION, buf,
- &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj,
+ GNUTLS_PKCS11_OBJ_LIBRARY_DESCRIPTION,
+ buf, &buf_size) >= 0);
assert(buf_size != 0);
assert(strlen(buf) != 0);
/* library manufacturer */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_LIBRARY_MANUFACTURER, buf,
- &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(
+ obj, GNUTLS_PKCS11_OBJ_LIBRARY_MANUFACTURER, buf,
+ &buf_size) >= 0);
assert(buf_size != 0);
assert(strlen(buf) != 0);
/* library version */
buf_size = sizeof(buf);
- assert(gnutls_pkcs11_obj_get_info
- (obj, GNUTLS_PKCS11_OBJ_LIBRARY_VERSION, buf, &buf_size) >= 0);
+ assert(gnutls_pkcs11_obj_get_info(obj,
+ GNUTLS_PKCS11_OBJ_LIBRARY_VERSION,
+ buf, &buf_size) >= 0);
assert(buf_size != 0);
assert(strlen(buf) != 0);
diff --git a/tests/pkcs11/pkcs11-obj-raw.c b/tests/pkcs11/pkcs11-obj-raw.c
index 5080cdaedd..e4598c80f8 100644
--- a/tests/pkcs11/pkcs11-obj-raw.c
+++ b/tests/pkcs11/pkcs11-obj-raw.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,7 +34,7 @@
#include <gnutls/gnutls.h>
#include <gnutls/pkcs11.h>
#ifndef CRYPTOKI_GNU
-# define CRYPTOKI_GNU
+#define CRYPTOKI_GNU
#endif
#include <p11-kit/pkcs11.h>
@@ -44,23 +44,23 @@
#if defined(HAVE___REGISTER_ATFORK)
-# ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
-# else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
-# endif
+#ifdef _WIN32
+#define P11LIB "libpkcs11mock1.dll"
+#else
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
+#endif
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-# define PIN "1234"
+#define PIN "1234"
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -86,8 +86,8 @@ void doit(void)
ck_rv_t rv;
gnutls_datum_t data;
- data.data = (void *)
- "\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
+ data.data =
+ (void *)"\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
data.size = 20;
ret = global_init();
@@ -121,20 +121,19 @@ void doit(void)
gnutls_pkcs11_obj_set_pin_function(obj, pin_func, NULL);
/* unknown object */
- ret =
- gnutls_pkcs11_obj_import_url(obj,
- "pkcs11:token=unknown;object=invalid;type=private",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_obj_import_url(
+ obj, "pkcs11:token=unknown;object=invalid;type=private",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
assert(ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- ret =
- gnutls_pkcs11_obj_import_url(obj, "pkcs11:object=test;type=private",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_obj_import_url(obj,
+ "pkcs11:object=test;type=private",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
assert(ret >= 0);
ret = gnutls_pkcs11_obj_get_ptr(obj, (void **)&mod, (void *)&session,
- (void *)&ohandle,
- &slot_id, GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ (void *)&ohandle, &slot_id,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-pin-func.c b/tests/pkcs11/pkcs11-pin-func.c
index 17081f0ae4..087e80afd2 100644
--- a/tests/pkcs11/pkcs11-pin-func.c
+++ b/tests/pkcs11/pkcs11-pin-func.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,9 +31,9 @@
#include <gnutls/gnutls.h>
#include <gnutls/pkcs11.h>
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, "xxx");
diff --git a/tests/pkcs11/pkcs11-privkey-always-auth.c b/tests/pkcs11/pkcs11-privkey-always-auth.c
index 5cbf46dcc0..5fcc2a69da 100644
--- a/tests/pkcs11/pkcs11-privkey-always-auth.c
+++ b/tests/pkcs11/pkcs11-privkey-always-auth.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,8 +45,8 @@ void doit(void)
#else
-# include "utils.h"
-# include "pkcs11-mock-ext.h"
+#include "utils.h"
+#include "pkcs11-mock-ext.h"
/* Tests whether a gnutls_privkey_t will work properly with a key marked
* as always authenticate */
@@ -54,17 +54,17 @@ void doit(void)
static unsigned pin_called = 0;
static const char *_pin = "1234";
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (_pin == NULL)
return -1;
@@ -106,8 +106,8 @@ void doit(void)
*pflags = MOCK_FLAG_ALWAYS_AUTH;
}
- data.data = (void *)
- "\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
+ data.data =
+ (void *)"\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
data.size = 20;
ret = global_init();
@@ -137,9 +137,9 @@ void doit(void)
gnutls_pkcs11_obj_set_pin_function(obj, pin_func, NULL);
- ret =
- gnutls_pkcs11_obj_import_url(obj, "pkcs11:object=test;type=private",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_obj_import_url(obj,
+ "pkcs11:object=test;type=private",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
assert(ret >= 0);
ret = gnutls_pkcs11_obj_get_flags(obj, &flags);
@@ -155,9 +155,8 @@ void doit(void)
gnutls_privkey_set_pin_function(key, pin_func, NULL);
- ret =
- gnutls_privkey_import_url(key, "pkcs11:object=test",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_privkey_import_url(key, "pkcs11:object=test",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-privkey-export.c b/tests/pkcs11/pkcs11-privkey-export.c
index 7d7f6e88c3..4ae6e1ba05 100644
--- a/tests/pkcs11/pkcs11-privkey-export.c
+++ b/tests/pkcs11/pkcs11-privkey-export.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,10 +39,10 @@
#define PIN "1234"
#ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
+#define P11LIB "libpkcs11mock1.dll"
#else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
#endif
static void tls_log_func(int level, const char *str)
@@ -50,9 +50,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -103,9 +103,8 @@ void doit(void)
gnutls_privkey_set_pin_function(key, pin_func, NULL);
- ret =
- gnutls_privkey_import_url(key, "pkcs11:object=test",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_privkey_import_url(key, "pkcs11:object=test",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -130,8 +129,8 @@ void doit(void)
ret = gnutls_pubkey_init(&pub);
assert(ret >= 0);
- ret =
- gnutls_pubkey_import_url(pub, "pkcs11:object=test;type=public", 0);
+ ret = gnutls_pubkey_import_url(pub, "pkcs11:object=test;type=public",
+ 0);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-privkey-fork-reinit.c b/tests/pkcs11/pkcs11-privkey-fork-reinit.c
index 634d9652bd..152a498502 100644
--- a/tests/pkcs11/pkcs11-privkey-fork-reinit.c
+++ b/tests/pkcs11/pkcs11-privkey-fork-reinit.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,22 +42,22 @@
#if defined(HAVE___REGISTER_ATFORK)
-# define PIN "1234"
-# ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
-# else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
-# endif
+#define PIN "1234"
+#ifdef _WIN32
+#define P11LIB "libpkcs11mock1.dll"
+#else
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
+#endif
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -74,8 +74,8 @@ void doit(void)
gnutls_datum_t sig = { NULL, 0 }, data;
pid_t pid;
- data.data = (void *)
- "\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
+ data.data =
+ (void *)"\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
data.size = 20;
ret = global_init();
@@ -109,9 +109,8 @@ void doit(void)
gnutls_privkey_set_pin_function(key, pin_func, NULL);
- ret =
- gnutls_privkey_import_url(key, "pkcs11:object=test",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_privkey_import_url(key, "pkcs11:object=test",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -135,14 +134,13 @@ void doit(void)
WEXITSTATUS(status));
exit(1);
}
- } else { /* child */
+ } else { /* child */
ret = gnutls_pkcs11_reinit();
assert(ret == 0);
- ret =
- gnutls_privkey_sign_hash(key, GNUTLS_DIG_SHA1, 0, &data,
- &sig);
+ ret = gnutls_privkey_sign_hash(key, GNUTLS_DIG_SHA1, 0, &data,
+ &sig);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-privkey-fork.c b/tests/pkcs11/pkcs11-privkey-fork.c
index 65f2c9bfe9..1d053baab2 100644
--- a/tests/pkcs11/pkcs11-privkey-fork.c
+++ b/tests/pkcs11/pkcs11-privkey-fork.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,22 +42,22 @@
#if defined(HAVE___REGISTER_ATFORK)
-# define PIN "1234"
-# ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
-# else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
-# endif
+#define PIN "1234"
+#ifdef _WIN32
+#define P11LIB "libpkcs11mock1.dll"
+#else
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
+#endif
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -74,8 +74,8 @@ void doit(void)
gnutls_datum_t sig = { NULL, 0 }, data;
pid_t pid;
- data.data = (void *)
- "\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
+ data.data =
+ (void *)"\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
data.size = 20;
ret = global_init();
@@ -109,9 +109,8 @@ void doit(void)
gnutls_privkey_set_pin_function(key, pin_func, NULL);
- ret =
- gnutls_privkey_import_url(key, "pkcs11:object=test",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_privkey_import_url(key, "pkcs11:object=test",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -135,10 +134,9 @@ void doit(void)
WEXITSTATUS(status));
exit(1);
}
- } else { /* child */
- ret =
- gnutls_privkey_sign_hash(key, GNUTLS_DIG_SHA1, 0, &data,
- &sig);
+ } else { /* child */
+ ret = gnutls_privkey_sign_hash(key, GNUTLS_DIG_SHA1, 0, &data,
+ &sig);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-privkey-generate.c b/tests/pkcs11/pkcs11-privkey-generate.c
index b7106dbc66..2a58bc9df9 100644
--- a/tests/pkcs11/pkcs11-privkey-generate.c
+++ b/tests/pkcs11/pkcs11-privkey-generate.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,13 +45,13 @@ void doit(void)
#else
-# include "../utils.h"
-# include "softhsm.h"
-# include <assert.h>
+#include "../utils.h"
+#include "softhsm.h"
+#include <assert.h>
-# define CONFIG_NAME "softhsm-generate"
-# define CONFIG CONFIG_NAME".config"
-# define PIN "1234"
+#define CONFIG_NAME "softhsm-generate"
+#define CONFIG CONFIG_NAME ".config"
+#define PIN "1234"
/* Tests whether a gnutls_privkey_generate3 will work generate a key
* which is marked as sensitive.
*/
@@ -64,9 +64,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (_pin == NULL)
return -1;
@@ -104,8 +104,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_init(GNUTLS_PKCS11_FLAG_MANUAL, NULL);
@@ -123,11 +124,10 @@ void doit(void)
gnutls_pkcs11_set_pin_function(pin_func, NULL);
/* generate sensitive */
- ret =
- gnutls_pkcs11_privkey_generate3("pkcs11:token=test", GNUTLS_PK_RSA,
- 2048, "testkey", NULL,
- GNUTLS_X509_FMT_DER, &out, 0,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_privkey_generate3("pkcs11:token=test",
+ GNUTLS_PK_RSA, 2048, "testkey",
+ NULL, GNUTLS_X509_FMT_DER, &out,
+ 0, GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -137,9 +137,9 @@ void doit(void)
assert(out.size > 0);
gnutls_pkcs11_obj_set_pin_function(obj, pin_func, NULL);
- assert(gnutls_pkcs11_obj_import_url
- (obj, "pkcs11:token=test;object=testkey;type=private",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN) >= 0);
+ assert(gnutls_pkcs11_obj_import_url(
+ obj, "pkcs11:token=test;object=testkey;type=private",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN) >= 0);
assert(gnutls_pkcs11_obj_get_flags(obj, &flags) >= 0);
@@ -150,12 +150,11 @@ void doit(void)
gnutls_pkcs11_obj_deinit(obj);
/* generate non-sensitive */
- ret =
- gnutls_pkcs11_privkey_generate3("pkcs11:token=test", GNUTLS_PK_RSA,
- 2048, "testkey2", NULL,
- GNUTLS_X509_FMT_DER, &out, 0,
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE);
+ ret = gnutls_pkcs11_privkey_generate3(
+ "pkcs11:token=test", GNUTLS_PK_RSA, 2048, "testkey2", NULL,
+ GNUTLS_X509_FMT_DER, &out, 0,
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
@@ -165,9 +164,9 @@ void doit(void)
assert(out.size > 0);
gnutls_pkcs11_obj_set_pin_function(obj, pin_func, NULL);
- assert(gnutls_pkcs11_obj_import_url
- (obj, "pkcs11:token=test;object=testkey2;type=private",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN) >= 0);
+ assert(gnutls_pkcs11_obj_import_url(
+ obj, "pkcs11:token=test;object=testkey2;type=private",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN) >= 0);
assert(gnutls_pkcs11_obj_get_flags(obj, &flags) >= 0);
diff --git a/tests/pkcs11/pkcs11-privkey-pthread.c b/tests/pkcs11/pkcs11-privkey-pthread.c
index ebe6bef7a6..5e464c9519 100644
--- a/tests/pkcs11/pkcs11-privkey-pthread.c
+++ b/tests/pkcs11/pkcs11-privkey-pthread.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,11 +35,11 @@
#include <unistd.h>
#include <assert.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <pthread.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <pthread.h>
#endif
#include "utils.h"
@@ -52,20 +52,20 @@ void doit(void)
#else
-# ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
-# else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
-# endif
+#ifdef _WIN32
+#define P11LIB "libpkcs11mock1.dll"
+#else
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
+#endif
/* Tests whether we can use gnutls_privkey_sign() under multiple threads
* with the same key when PKCS#11 is in use.
*/
-# include "../cert-common.h"
+#include "../cert-common.h"
-# define PIN "1234"
+#define PIN "1234"
static const gnutls_datum_t testdata = { (void *)"test test", 9 };
@@ -74,9 +74,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -96,9 +96,8 @@ static void *start_thread(void *arg)
int ret;
gnutls_datum_t sig;
- ret =
- gnutls_privkey_sign_data(data->pkey, GNUTLS_DIG_SHA256, 0,
- &testdata, &sig);
+ ret = gnutls_privkey_sign_data(data->pkey, GNUTLS_DIG_SHA256, 0,
+ &testdata, &sig);
if (ret < 0)
pthread_exit((void *)-2);
@@ -107,10 +106,9 @@ static void *start_thread(void *arg)
pthread_exit(0);
}
-# define MAX_THREADS 48
+#define MAX_THREADS 48
-static
-void do_thread_stuff(gnutls_privkey_t pkey)
+static void do_thread_stuff(gnutls_privkey_t pkey)
{
int ret;
thread_data_st *data;
@@ -136,7 +134,6 @@ void do_thread_stuff(gnutls_privkey_t pkey)
}
}
free(data);
-
}
void doit(void)
@@ -171,9 +168,8 @@ void doit(void)
assert(gnutls_privkey_init(&pkey) == 0);
- ret =
- gnutls_privkey_import_url(pkey, "pkcs11:object=test",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_privkey_import_url(pkey, "pkcs11:object=test",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fprintf(stderr, "error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -192,7 +188,7 @@ void doit(void)
do_thread_stuff(pkey);
- cleanup:
+cleanup:
gnutls_privkey_deinit(pkey);
}
diff --git a/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c b/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
index 79f41ffec5..4755098418 100644
--- a/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
+++ b/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,8 +45,8 @@ void doit(void)
#else
-# include "utils.h"
-# include "pkcs11-mock-ext.h"
+#include "utils.h"
+#include "pkcs11-mock-ext.h"
/* Tests whether a gnutls_privkey_t will work properly with a key marked
* as always authenticate, but on the safenet HSMs where CKA_ALWAYS_AUTHENTICATE
@@ -55,17 +55,17 @@ void doit(void)
static unsigned pin_called = 0;
static const char *_pin = "1234";
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (_pin == NULL)
return -1;
@@ -105,8 +105,8 @@ void doit(void)
*pflags = MOCK_FLAG_SAFENET_ALWAYS_AUTH;
}
- data.data = (void *)
- "\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
+ data.data =
+ (void *)"\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb";
data.size = 20;
ret = global_init();
@@ -136,9 +136,8 @@ void doit(void)
gnutls_privkey_set_pin_function(key, pin_func, NULL);
- ret =
- gnutls_privkey_import_url(key, "pkcs11:object=test",
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_privkey_import_url(key, "pkcs11:object=test",
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/pkcs11-privkey.c b/tests/pkcs11/pkcs11-privkey.c
index c1b5f2fe8b..952fce9149 100644
--- a/tests/pkcs11/pkcs11-privkey.c
+++ b/tests/pkcs11/pkcs11-privkey.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,55 +39,52 @@
* the provided password as PIN when PKCS #11 keys are imported */
#define CONFIG_NAME "softhsm-privkey"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICdDCCAd2gAwIBAgIBAzANBgkqhkiG9w0BAQsFADAaMQswCQYDVQQDEwJDQTEL\n"
- "MAkGA1UEBhMCQ1owIhgPMjAxMzExMTAwODI1MjdaGA8yMDIwMTIxMzA4MjUyN1ow\n"
- "HjEPMA0GA1UEAxMGQ2xpZW50MQswCQYDVQQGEwJDWjCBnzANBgkqhkiG9w0BAQEF\n"
- "AAOBjQAwgYkCgYEAvQRIzvKyhr3tqmB4Pe+91DWSFayaNtcrDIT597bhxugVYW8o\n"
- "jB206kx5aknAMA3PQGYcGqkLrt+nsJcmOIXDZsC6P4zeOSsF1PPhDAoX3bkUr2lF\n"
- "MEt374eKdg1yvyhRxt4DOR6aD4gkC7fVtaYdgV6yXpJGMHV05LBIgQ7QtykCAwEA\n"
- "AaOBwTCBvjAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMBgGA1Ud\n"
- "EQQRMA+BDW5vbmVAbm9uZS5vcmcwDwYDVR0PAQH/BAUDAweAADAdBgNVHQ4EFgQU\n"
- "Dbinh11GaaJcTyOpmxPYuttsiGowHwYDVR0jBBgwFoAUEg7aURJAVq70HG3MobA9\n"
- "KGF+MwEwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL3d3dy5nZXRjcmwuY3JsL2dl\n"
- "dGNybC8wDQYJKoZIhvcNAQELBQADgYEAN/Henso+5zzuFQWTpJXlUsWtRQAFhRY3\n"
- "WVt3xtnyPs4pF/LKBp3Ov0GLGBkz5YlyJGFNESSyUviMsH7g7rJM8i7Bph6BQTE9\n"
- "XdqbZPc0opfms4EHjmlXj5HQ0f0yoxHnLk43CR+vmbn0JPuurnEKAwjznAJR8GxI\n"
- "R2MRyMxdGqs=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICdDCCAd2gAwIBAgIBAzANBgkqhkiG9w0BAQsFADAaMQswCQYDVQQDEwJDQTEL\n"
+ "MAkGA1UEBhMCQ1owIhgPMjAxMzExMTAwODI1MjdaGA8yMDIwMTIxMzA4MjUyN1ow\n"
+ "HjEPMA0GA1UEAxMGQ2xpZW50MQswCQYDVQQGEwJDWjCBnzANBgkqhkiG9w0BAQEF\n"
+ "AAOBjQAwgYkCgYEAvQRIzvKyhr3tqmB4Pe+91DWSFayaNtcrDIT597bhxugVYW8o\n"
+ "jB206kx5aknAMA3PQGYcGqkLrt+nsJcmOIXDZsC6P4zeOSsF1PPhDAoX3bkUr2lF\n"
+ "MEt374eKdg1yvyhRxt4DOR6aD4gkC7fVtaYdgV6yXpJGMHV05LBIgQ7QtykCAwEA\n"
+ "AaOBwTCBvjAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMBgGA1Ud\n"
+ "EQQRMA+BDW5vbmVAbm9uZS5vcmcwDwYDVR0PAQH/BAUDAweAADAdBgNVHQ4EFgQU\n"
+ "Dbinh11GaaJcTyOpmxPYuttsiGowHwYDVR0jBBgwFoAUEg7aURJAVq70HG3MobA9\n"
+ "KGF+MwEwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL3d3dy5nZXRjcmwuY3JsL2dl\n"
+ "dGNybC8wDQYJKoZIhvcNAQELBQADgYEAN/Henso+5zzuFQWTpJXlUsWtRQAFhRY3\n"
+ "WVt3xtnyPs4pF/LKBp3Ov0GLGBkz5YlyJGFNESSyUviMsH7g7rJM8i7Bph6BQTE9\n"
+ "XdqbZPc0opfms4EHjmlXj5HQ0f0yoxHnLk43CR+vmbn0JPuurnEKAwjznAJR8GxI\n"
+ "R2MRyMxdGqs=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXQIBAAKBgQC9BEjO8rKGve2qYHg9773UNZIVrJo21ysMhPn3tuHG6BVhbyiM\n"
- "HbTqTHlqScAwDc9AZhwaqQuu36ewlyY4hcNmwLo/jN45KwXU8+EMChfduRSvaUUw\n"
- "S3fvh4p2DXK/KFHG3gM5HpoPiCQLt9W1ph2BXrJekkYwdXTksEiBDtC3KQIDAQAB\n"
- "AoGBAKXrseIAB5jh9lPeNQ7heXhjwiXGiuTjAkYOIMNDRXPuXH5YLna4yQv3L4mO\n"
- "zecg6DI2sCrzA29xoukP9ZweR4RUK2cS4/QggH9UgWP0QUpvj4nogyRkh7UrWyVV\n"
- "xbboHcmgqWgNLR8GrEZqlpOWFiT+f+QAx783/khvP5QLNp6BAkEA3YvvqfPpepdv\n"
- "UC/Uk/8LbVK0LGTSu2ynyl1fMbos9lkJNFdfPM31K6DHeqziIGSoWCSjAsN/e8V7\n"
- "MU7egWtI+QJBANppSlO+PTYHWKeOWE7NkM1yVHxAiav9Oott0JywAH8RarfyTuCB\n"
- "iyMJP8Rv920GsciDY4dyx0MBJF0tiH+5G7ECQQDQbU5UPbxyMPXwIo+DjHZbq2sG\n"
- "OPRoj5hrsdxVFCoouSsHqwtWUQ1Otjv1FaDHiOs3wX/6oaHV97wmb2S1rRFBAkAq\n"
- "prELFXVinaCkZ9m62c3TMOZqtTetTHAoVjOMxZnzNnV+omTg1qtTFjVLqQnKUqpZ\n"
- "G79N7g4XeZueTov/VSihAkAwGeDXvQ8NlrBlZACCKp1sUqaJptuJ438Qwztbl3Pq\n"
- "E6/8TD5yXtrLt9S2LNAFw1i7LVksUB8IbQNTuuwV7LYI\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXQIBAAKBgQC9BEjO8rKGve2qYHg9773UNZIVrJo21ysMhPn3tuHG6BVhbyiM\n"
+ "HbTqTHlqScAwDc9AZhwaqQuu36ewlyY4hcNmwLo/jN45KwXU8+EMChfduRSvaUUw\n"
+ "S3fvh4p2DXK/KFHG3gM5HpoPiCQLt9W1ph2BXrJekkYwdXTksEiBDtC3KQIDAQAB\n"
+ "AoGBAKXrseIAB5jh9lPeNQ7heXhjwiXGiuTjAkYOIMNDRXPuXH5YLna4yQv3L4mO\n"
+ "zecg6DI2sCrzA29xoukP9ZweR4RUK2cS4/QggH9UgWP0QUpvj4nogyRkh7UrWyVV\n"
+ "xbboHcmgqWgNLR8GrEZqlpOWFiT+f+QAx783/khvP5QLNp6BAkEA3YvvqfPpepdv\n"
+ "UC/Uk/8LbVK0LGTSu2ynyl1fMbos9lkJNFdfPM31K6DHeqziIGSoWCSjAsN/e8V7\n"
+ "MU7egWtI+QJBANppSlO+PTYHWKeOWE7NkM1yVHxAiav9Oott0JywAH8RarfyTuCB\n"
+ "iyMJP8Rv920GsciDY4dyx0MBJF0tiH+5G7ECQQDQbU5UPbxyMPXwIo+DjHZbq2sG\n"
+ "OPRoj5hrsdxVFCoouSsHqwtWUQ1Otjv1FaDHiOs3wX/6oaHV97wmb2S1rRFBAkAq\n"
+ "prELFXVinaCkZ9m62c3TMOZqtTetTHAoVjOMxZnzNnV+omTg1qtTFjVLqQnKUqpZ\n"
+ "G79N7g4XeZueTov/VSihAkAwGeDXvQ8NlrBlZACCKp1sUqaJptuJ438Qwztbl3Pq\n"
+ "E6/8TD5yXtrLt9S2LNAFw1i7LVksUB8IbQNTuuwV7LYI\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* GnuTLS internally calls time() to find out the current time when
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1412850586;
@@ -104,9 +101,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -129,7 +126,7 @@ void doit(void)
if (gnutls_fips140_mode_enabled())
exit(77);
- /* The overloading of time() seems to work in linux (ELF?)
+ /* The overloading of time() seems to work in linux (ELF?)
* systems only. Disable it on windows.
*/
#ifdef _WIN32
@@ -153,8 +150,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -166,15 +164,15 @@ void doit(void)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
ret = gnutls_x509_crt_import(crt, &server_cert, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -187,15 +185,14 @@ void doit(void)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
ret = gnutls_x509_privkey_import(key, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -207,9 +204,8 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
@@ -217,20 +213,18 @@ void doit(void)
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -251,13 +245,9 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_certificate_set_x509_key_file2(cred,
- SOFTHSM_URL
- ";object=cert;object-type=cert",
- SOFTHSM_URL
- ";object=cert;object-type=private",
- 0, PIN, 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ cred, SOFTHSM_URL ";object=cert;object-type=cert",
+ SOFTHSM_URL ";object=cert;object-type=private", 0, PIN, 0);
if (ret < 0) {
fail("gnutls_certificate_set_x509_key_file2: %s\n",
gnutls_strerror(ret));
diff --git a/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c b/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c
index 5362524183..b85b0abde3 100644
--- a/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c
+++ b/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,7 +30,7 @@
#include "softhsm.h"
#define CONFIG_NAME "softhsm-pubkey-import-ecdsa"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#include "pkcs11-pubkey-import.c"
diff --git a/tests/pkcs11/pkcs11-pubkey-import-rsa.c b/tests/pkcs11/pkcs11-pubkey-import-rsa.c
index 682efa6bf3..ec5521ce69 100644
--- a/tests/pkcs11/pkcs11-pubkey-import-rsa.c
+++ b/tests/pkcs11/pkcs11-pubkey-import-rsa.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -29,7 +29,7 @@
#include <unistd.h>
#define CONFIG_NAME "softhsm-pubkey-import-rsa"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#include "pkcs11-pubkey-import.c"
diff --git a/tests/pkcs11/pkcs11-pubkey-import.c b/tests/pkcs11/pkcs11-pubkey-import.c
index 12db744dbe..9bbe67e10b 100644
--- a/tests/pkcs11/pkcs11-pubkey-import.c
+++ b/tests/pkcs11/pkcs11-pubkey-import.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -50,9 +50,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -93,8 +93,9 @@ static void try(int rsa)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, "trusted");
@@ -106,17 +107,16 @@ static void try(int rsa)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_import(crt, rsa ? &server_cert : &server_ecc_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, rsa ? &server_cert : &server_ecc_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -129,17 +129,15 @@ static void try(int rsa)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_privkey_import(key, rsa ? &server_key : &server_ecc_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(
+ key, rsa ? &server_key : &server_ecc_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -151,9 +149,8 @@ static void try(int rsa)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
@@ -161,20 +158,18 @@ static void try(int rsa)
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -187,11 +182,9 @@ static void try(int rsa)
assert(gnutls_privkey_init(&pkey) == 0);
- ret =
- gnutls_privkey_import_pkcs11_url(pkey,
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN);
+ ret = gnutls_privkey_import_pkcs11_url(
+ pkey,
+ SOFTHSM_URL ";object=cert;object-type=private;pin-value=" PIN);
if (ret < 0) {
fprintf(stderr, "error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -205,22 +198,22 @@ static void try(int rsa)
/* check whether privkey and pubkey are operational
* by signing and verifying */
- assert(gnutls_privkey_sign_data
- (pkey, GNUTLS_DIG_SHA256, 0, &testdata, &sig) == 0);
+ assert(gnutls_privkey_sign_data(pkey, GNUTLS_DIG_SHA256, 0, &testdata,
+ &sig) == 0);
/* verify against the raw pubkey */
assert(gnutls_pubkey_init(&pubkey2) == 0);
- assert(gnutls_pubkey_import_x509_raw
- (pubkey2, rsa ? &server_cert : &server_ecc_cert,
- GNUTLS_X509_FMT_PEM, 0) == 0);
- assert(gnutls_pubkey_verify_data2
- (pubkey2, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0, &testdata,
- &sig) == 0);
+ assert(gnutls_pubkey_import_x509_raw(
+ pubkey2, rsa ? &server_cert : &server_ecc_cert,
+ GNUTLS_X509_FMT_PEM, 0) == 0);
+ assert(gnutls_pubkey_verify_data2(
+ pubkey2, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0,
+ &testdata, &sig) == 0);
/* verify against the pubkey in PKCS #11 */
- assert(gnutls_pubkey_verify_data2
- (pubkey, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0, &testdata,
- &sig) == 0);
+ assert(gnutls_pubkey_verify_data2(
+ pubkey, gnutls_pk_to_sign(pk, GNUTLS_DIG_SHA256), 0,
+ &testdata, &sig) == 0);
gnutls_free(sig.data);
diff --git a/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c b/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
index 40cb381f09..e812a4b9ce 100644
--- a/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
+++ b/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,7 +37,7 @@
#include "softhsm.h"
#define CONFIG_NAME "softhsm-privkey-rsa-pss-test"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
/* Tests whether signing with PKCS#11 and RSA-PSS would
* generate valid signatures */
@@ -53,9 +53,9 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -64,8 +64,9 @@ int pin_func(void *userdata, int attempt, const char *url, const char *label,
return -1;
}
-#define myfail(fmt, ...) \
- fail("%s (iter %d): "fmt, gnutls_sign_get_name(sigalgo), i, ##__VA_ARGS__)
+#define myfail(fmt, ...) \
+ fail("%s (iter %d): " fmt, gnutls_sign_get_name(sigalgo), i, \
+ ##__VA_ARGS__)
static unsigned verify_rsa_pss_presence(void)
{
@@ -75,10 +76,9 @@ static unsigned verify_rsa_pss_presence(void)
i = 0;
do {
- ret =
- gnutls_pkcs11_token_get_mechanism("pkcs11:", i++,
- &mechanism);
- if (ret >= 0 && mechanism == 0xd /* CKM_RSA_PKCS_PSS */ )
+ ret = gnutls_pkcs11_token_get_mechanism("pkcs11:", i++,
+ &mechanism);
+ if (ret >= 0 && mechanism == 0xd /* CKM_RSA_PKCS_PSS */)
return 1;
} while (ret >= 0);
@@ -118,8 +118,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, NULL);
@@ -137,17 +138,16 @@ void doit(void)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_import(crt, &cli_ca3_rsa_pss_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &cli_ca3_rsa_pss_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -160,17 +160,15 @@ void doit(void)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_privkey_import(key, &cli_ca3_rsa_pss_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &cli_ca3_rsa_pss_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -182,9 +180,8 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
@@ -192,20 +189,18 @@ void doit(void)
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -218,11 +213,9 @@ void doit(void)
assert(gnutls_privkey_init(&pkey) == 0);
- ret =
- gnutls_privkey_import_pkcs11_url(pkey,
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN);
+ ret = gnutls_privkey_import_pkcs11_url(
+ pkey,
+ SOFTHSM_URL ";object=cert;object-type=private;pin-value=" PIN);
if (ret < 0) {
fprintf(stderr, "error in %d: %s\n", __LINE__,
gnutls_strerror(ret));
@@ -233,8 +226,8 @@ void doit(void)
assert(gnutls_pubkey_import_privkey(pubkey, pkey, 0, 0) == 0);
assert(gnutls_pubkey_init(&pubkey2) == 0);
- assert(gnutls_pubkey_import_x509_raw
- (pubkey2, &cli_ca3_rsa_pss_cert, GNUTLS_X509_FMT_PEM, 0) == 0);
+ assert(gnutls_pubkey_import_x509_raw(pubkey2, &cli_ca3_rsa_pss_cert,
+ GNUTLS_X509_FMT_PEM, 0) == 0);
/* this is the algorithm supported by the certificate */
sigalgo = GNUTLS_SIGN_RSA_PSS_SHA256;
@@ -242,24 +235,21 @@ void doit(void)
for (i = 0; i < 20; i++) {
/* check whether privkey and pubkey are operational
* by signing and verifying */
- ret =
- gnutls_privkey_sign_data2(pkey, sigalgo, 0,
- &testdata, &sig);
+ ret = gnutls_privkey_sign_data2(pkey, sigalgo, 0, &testdata,
+ &sig);
if (ret < 0)
myfail("Error signing data %s\n", gnutls_strerror(ret));
/* verify against the pubkey in PKCS #11 */
- ret =
- gnutls_pubkey_verify_data2(pubkey, sigalgo, 0,
- &testdata, &sig);
+ ret = gnutls_pubkey_verify_data2(pubkey, sigalgo, 0, &testdata,
+ &sig);
if (ret < 0)
myfail("Error verifying data1: %s\n",
gnutls_strerror(ret));
/* verify against the raw pubkey */
- ret =
- gnutls_pubkey_verify_data2(pubkey2, sigalgo, 0,
- &testdata, &sig);
+ ret = gnutls_pubkey_verify_data2(pubkey2, sigalgo, 0, &testdata,
+ &sig);
if (ret < 0)
myfail("Error verifying data2: %s\n",
gnutls_strerror(ret));
diff --git a/tests/pkcs11/pkcs11-token-raw.c b/tests/pkcs11/pkcs11-token-raw.c
index 1c2b4d3d5d..05d31d94f5 100644
--- a/tests/pkcs11/pkcs11-token-raw.c
+++ b/tests/pkcs11/pkcs11-token-raw.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,7 +34,7 @@
#include <gnutls/gnutls.h>
#include <gnutls/pkcs11.h>
#ifndef CRYPTOKI_GNU
-# define CRYPTOKI_GNU
+#define CRYPTOKI_GNU
#endif
#include <p11-kit/pkcs11.h>
@@ -44,19 +44,19 @@
#if defined(HAVE___REGISTER_ATFORK)
-# ifdef _WIN32
-# define P11LIB "libpkcs11mock1.dll"
-# else
-# include <dlfcn.h>
-# define P11LIB "libpkcs11mock1.so"
-# endif
+#ifdef _WIN32
+#define P11LIB "libpkcs11mock1.dll"
+#else
+#include <dlfcn.h>
+#define P11LIB "libpkcs11mock1.so"
+#endif
static void tls_log_func(int level, const char *str)
{
fprintf(stderr, "|<%d>| %s", level, str);
}
-# define TOKEN_NAME "whatever"
+#define TOKEN_NAME "whatever"
void doit(void)
{
int ret;
@@ -100,9 +100,8 @@ void doit(void)
size_t size = 1;
char *buf = gnutls_malloc(size);
assert(buf != NULL);
- ret = gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_LABEL,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_LABEL, buf, &size);
assert(ret == GNUTLS_E_SHORT_MEMORY_BUFFER);
assert(size == strlen(TOKEN_NAME) + 1);
@@ -110,18 +109,16 @@ void doit(void)
size -= 1;
buf = gnutls_realloc(buf, size);
assert(buf != NULL);
- ret = gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_LABEL,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_LABEL, buf, &size);
assert(ret == GNUTLS_E_SHORT_MEMORY_BUFFER);
assert(size == strlen(TOKEN_NAME) + 1);
/* Testing an exactly fitting buffer */
buf = gnutls_realloc(buf, size);
assert(buf != NULL);
- ret = gnutls_pkcs11_token_get_info(url,
- GNUTLS_PKCS11_TOKEN_LABEL,
- buf, &size);
+ ret = gnutls_pkcs11_token_get_info(
+ url, GNUTLS_PKCS11_TOKEN_LABEL, buf, &size);
assert(ret == 0);
assert(strcmp(buf, TOKEN_NAME) == 0);
assert(size == strlen(TOKEN_NAME));
@@ -129,13 +126,12 @@ void doit(void)
gnutls_free(buf);
}
- ret =
- gnutls_pkcs11_token_get_ptr("pkcs11:token=invalid", (void **)&mod,
- &slot_id, 0);
+ ret = gnutls_pkcs11_token_get_ptr("pkcs11:token=invalid", (void **)&mod,
+ &slot_id, 0);
assert(ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- ret =
- gnutls_pkcs11_token_get_ptr("pkcs11:", (void **)&mod, &slot_id, 0);
+ ret = gnutls_pkcs11_token_get_ptr("pkcs11:", (void **)&mod, &slot_id,
+ 0);
if (ret < 0) {
fail("%d: %s\n", ret, gnutls_strerror(ret));
exit(1);
diff --git a/tests/pkcs11/softhsm.h b/tests/pkcs11/softhsm.h
index 9a13cc304b..29dfd0f0a1 100644
--- a/tests/pkcs11/softhsm.h
+++ b/tests/pkcs11/softhsm.h
@@ -18,31 +18,33 @@
*/
#ifndef SOFTHSM_H
-# define SOFTHSM_H
-
-# include <sys/stat.h>
-
-# define SOFTHSM_V2
-
-# ifdef SOFTHSM_V1
-# define SOFTHSM_URL "pkcs11:model=SoftHSM;manufacturer=SoftHSM;serial=1;token=test"
-# define LIB1 "/usr/lib64/pkcs11/libsofthsm.so"
-# define LIB2 "/usr/lib/pkcs11/libsofthsm.so"
-# define LIB3 "/usr/lib/softhsm/libsofthsm.so"
-# define LIB4 "/usr/local/lib/softhsm/libsofthsm.so"
-# define SOFTHSM_BIN1 "/usr/bin/softhsm"
-# define SOFTHSM_BIN2 "/usr/local/bin/softhsm"
-# define SOFTHSM_ENV "SOFTHSM_CONF"
-# else
-# define SOFTHSM_URL "pkcs11:model=SoftHSM%20v2;manufacturer=SoftHSM%20project;token=test"
-# define LIB1 "/usr/lib64/pkcs11/libsofthsm2.so"
-# define LIB2 "/usr/lib/pkcs11/libsofthsm2.so"
-# define LIB3 "/usr/lib/softhsm/libsofthsm2.so"
-# define LIB4 "/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so"
-# define SOFTHSM_BIN1 "/usr/bin/softhsm2-util"
-# define SOFTHSM_BIN2 "/usr/local/bin/softhsm2-util"
-# define SOFTHSM_ENV "SOFTHSM2_CONF"
-# endif
+#define SOFTHSM_H
+
+#include <sys/stat.h>
+
+#define SOFTHSM_V2
+
+#ifdef SOFTHSM_V1
+#define SOFTHSM_URL \
+ "pkcs11:model=SoftHSM;manufacturer=SoftHSM;serial=1;token=test"
+#define LIB1 "/usr/lib64/pkcs11/libsofthsm.so"
+#define LIB2 "/usr/lib/pkcs11/libsofthsm.so"
+#define LIB3 "/usr/lib/softhsm/libsofthsm.so"
+#define LIB4 "/usr/local/lib/softhsm/libsofthsm.so"
+#define SOFTHSM_BIN1 "/usr/bin/softhsm"
+#define SOFTHSM_BIN2 "/usr/local/bin/softhsm"
+#define SOFTHSM_ENV "SOFTHSM_CONF"
+#else
+#define SOFTHSM_URL \
+ "pkcs11:model=SoftHSM%20v2;manufacturer=SoftHSM%20project;token=test"
+#define LIB1 "/usr/lib64/pkcs11/libsofthsm2.so"
+#define LIB2 "/usr/lib/pkcs11/libsofthsm2.so"
+#define LIB3 "/usr/lib/softhsm/libsofthsm2.so"
+#define LIB4 "/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so"
+#define SOFTHSM_BIN1 "/usr/bin/softhsm2-util"
+#define SOFTHSM_BIN2 "/usr/local/bin/softhsm2-util"
+#define SOFTHSM_ENV "SOFTHSM2_CONF"
+#endif
inline static const char *softhsm_lib(void)
{
@@ -80,8 +82,7 @@ inline static const char *softhsm_bin(void)
return bin;
}
-static
-void set_softhsm_conf(const char *config)
+static void set_softhsm_conf(const char *config)
{
char buf[128];
char db_dir[128];
@@ -96,11 +97,11 @@ void set_softhsm_conf(const char *config)
fprintf(stderr, "error writing %s\n", config);
exit(1);
}
-# ifdef SOFTHSM_V1
+#ifdef SOFTHSM_V1
remove(db_dir);
snprintf(buf, sizeof(buf), "0:./%s\n", db_dir);
fputs(buf, fp);
-# else
+#else
fputs("directories.tokendir = ", fp);
fputs(db_dir, fp);
fputs("\n", fp);
@@ -113,7 +114,7 @@ void set_softhsm_conf(const char *config)
snprintf(buf, sizeof(buf), "rm -rf %s\n", db_dir);
system(buf);
mkdir(db_dir, 0755);
-# endif
+#endif
fclose(fp);
setenv(SOFTHSM_ENV, config, 0);
diff --git a/tests/pkcs11/tls-neg-pkcs11-key.c b/tests/pkcs11/tls-neg-pkcs11-key.c
index 812378610b..4adcd58724 100644
--- a/tests/pkcs11/tls-neg-pkcs11-key.c
+++ b/tests/pkcs11/tls-neg-pkcs11-key.c
@@ -22,7 +22,7 @@
/* This tests TLS negotiation using the gnutls_privkey_import_ext2() APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -50,11 +50,10 @@ static void tls_log_func(int level, const char *str)
}
#define CONFIG_NAME "softhsm-neg"
-#define CONFIG CONFIG_NAME".config"
+#define CONFIG CONFIG_NAME ".config"
#define PIN "1234"
-#define testfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
static unsigned verify_eddsa_presence(void)
{
@@ -64,10 +63,9 @@ static unsigned verify_eddsa_presence(void)
i = 0;
do {
- ret =
- gnutls_pkcs11_token_get_mechanism("pkcs11:", i++,
- &mechanism);
- if (ret >= 0 && mechanism == 0x1057 /* CKM_EDDSA */ )
+ ret = gnutls_pkcs11_token_get_mechanism("pkcs11:", i++,
+ &mechanism);
+ if (ret >= 0 && mechanism == 0x1057 /* CKM_EDDSA */)
return 1;
} while (ret >= 0);
@@ -75,7 +73,7 @@ static unsigned verify_eddsa_presence(void)
}
static gnutls_privkey_t load_virt_privkey(const char *name,
- const gnutls_datum_t * txtkey,
+ const gnutls_datum_t *txtkey,
int exp_key_err,
unsigned needs_decryption)
{
@@ -97,11 +95,11 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
else
flags = GNUTLS_KEY_DIGITAL_SIGNATURE;
- ret = gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, tmp, "key", flags,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, tmp, "key", flags,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
gnutls_x509_privkey_deinit(tmp);
if (ret < 0) {
@@ -132,13 +130,12 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
return privkey;
}
-static
-void try_with_key(const char *name, const char *client_prio,
- gnutls_kx_algorithm_t client_kx,
- gnutls_sign_algorithm_t server_sign_algo,
- gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- gnutls_privkey_t key, int exp_serv_err)
+static void try_with_key(const char *name, const char *client_prio,
+ gnutls_kx_algorithm_t client_kx,
+ gnutls_sign_algorithm_t server_sign_algo,
+ gnutls_sign_algorithm_t client_sign_algo,
+ const gnutls_datum_t *serv_cert, gnutls_privkey_t key,
+ int exp_serv_err)
{
int ret;
gnutls_pcert_st pcert_list[4];
@@ -180,9 +177,10 @@ void try_with_key(const char *name, const char *client_prio,
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, s_xcred);
- assert(gnutls_priority_set_direct(server,
- "NORMAL:+VERS-SSL3.0:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server,
+ "NORMAL:+VERS-SSL3.0:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519",
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -219,10 +217,10 @@ void try_with_key(const char *name, const char *client_prio,
}
if (gnutls_kx_get(client) != client_kx) {
- testfail
- ("%s: got unexpected key exchange algorithm: %s (expected %s)\n",
- name, gnutls_kx_get_name(gnutls_kx_get(client)),
- gnutls_kx_get_name(client_kx));
+ testfail(
+ "%s: got unexpected key exchange algorithm: %s (expected %s)\n",
+ name, gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(client_kx));
exit(1);
}
@@ -231,33 +229,33 @@ void try_with_key(const char *name, const char *client_prio,
if (version >= GNUTLS_TLS1_2) {
ret = gnutls_sign_algorithm_get(server);
if (ret != (int)server_sign_algo && server_sign_algo != 0) {
- testfail
- ("%s: got unexpected server signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(server);
if (ret != (int)client_sign_algo && client_sign_algo != 0) {
- testfail
- ("%s: got unexpected client signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get(client);
if (ret != (int)server_sign_algo && server_sign_algo != 0) {
- testfail
- ("%s: cl: got unexpected server signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: cl: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(client);
if (ret != (int)client_sign_algo && client_sign_algo != 0) {
- testfail
- ("%s: cl: got unexpected client signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: cl: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
}
@@ -265,7 +263,7 @@ void try_with_key(const char *name, const char *client_prio,
gnutls_bye(client, GNUTLS_SHUT_RDWR);
gnutls_bye(server, GNUTLS_SHUT_RDWR);
- cleanup:
+cleanup:
gnutls_deinit(client);
gnutls_deinit(server);
@@ -289,130 +287,127 @@ typedef struct test_st {
} test_st;
static const test_st tests[] = {
- {.name = "tls1.2: rsa-decryption key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:-KX-ALL:+RSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_rsa_decrypt_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_RSA,
- .needs_decryption = 1},
- {.name = "tls1.2: rsa-decryption key, signatures prioritized",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+RSA:-VERS-TLS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_RSA,
- .needs_decryption = 1},
- {.name = "tls1.2: ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .exp_kx = GNUTLS_KX_ECDHE_ECDSA},
- {.name = "tls1.2: rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.2: rsa-sign key with rsa-pss sigs prioritized",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512:-VERS-TLS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.2: rsa-pss-sign key",
- .pk = GNUTLS_PK_RSA_PSS,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_rsa_pss2_cert,
- .key = &server_ca3_rsa_pss2_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .requires_pkcs11_pss = 1,
- },
- {.name = "tls1.2: rsa-pss cert, rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .requires_pkcs11_pss = 1,
- },
- {.name = "tls1.2: rsa-pss cert, rsa-sign key no PSS signatures",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2:-SIGN-RSA-PSS-SHA256:-SIGN-RSA-PSS-SHA384:-SIGN-RSA-PSS-SHA512:-SIGN-RSA-PSS-RSAE-SHA256:-SIGN-RSA-PSS-RSAE-SHA384:-SIGN-RSA-PSS-RSAE-SHA512",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES},
- {.name = "tls1.2: ed25519 cert, ed25519 key",
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .needs_eddsa = 1,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_eddsa_cert,
- .key = &server_ca3_eddsa_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .nofips = 1},
- {.name = "tls1.3: ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.3: rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.3: rsa-sign key with rsa-pss sigs prioritized",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384:+SIGN-RSA-PSS-RSAE-SHA512:-VERS-TLS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.3: rsa-pss-sign key",
- .pk = GNUTLS_PK_RSA_PSS,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_rsa_pss2_cert,
- .key = &server_ca3_rsa_pss2_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .requires_pkcs11_pss = 1,
- },
- {.name = "tls1.3: rsa-pss cert, rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .requires_pkcs11_pss = 1,
- },
- {.name = "tls1.3: rsa-pss cert, rsa-sign key no PSS signatures",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3:-SIGN-RSA-PSS-SHA256:-SIGN-RSA-PSS-SHA384:-SIGN-RSA-PSS-SHA512:-SIGN-RSA-PSS-RSAE-SHA256:-SIGN-RSA-PSS-RSAE-SHA384:-SIGN-RSA-PSS-RSAE-SHA512",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES},
- {.name = "tls1.3: ed25519 cert, ed25519 key",
- .needs_eddsa = 1,
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_eddsa_cert,
- .key = &server_ca3_eddsa_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .nofips = 1}
+ { .name = "tls1.2: rsa-decryption key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-KX-ALL:+RSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_rsa_decrypt_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_RSA,
+ .needs_decryption = 1 },
+ { .name = "tls1.2: rsa-decryption key, signatures prioritized",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-KX-ALL:+ECDHE-RSA:+RSA:-VERS-TLS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_RSA,
+ .needs_decryption = 1 },
+ { .name = "tls1.2: ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .exp_kx = GNUTLS_KX_ECDHE_ECDSA },
+ { .name = "tls1.2: rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.2: rsa-sign key with rsa-pss sigs prioritized",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512:-VERS-TLS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ {
+ .name = "tls1.2: rsa-pss-sign key",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_rsa_pss2_cert,
+ .key = &server_ca3_rsa_pss2_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .requires_pkcs11_pss = 1,
+ },
+ {
+ .name = "tls1.2: rsa-pss cert, rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .requires_pkcs11_pss = 1,
+ },
+ { .name = "tls1.2: rsa-pss cert, rsa-sign key no PSS signatures",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2:-SIGN-RSA-PSS-SHA256:-SIGN-RSA-PSS-SHA384:-SIGN-RSA-PSS-SHA512:-SIGN-RSA-PSS-RSAE-SHA256:-SIGN-RSA-PSS-RSAE-SHA384:-SIGN-RSA-PSS-RSAE-SHA512",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { .name = "tls1.2: ed25519 cert, ed25519 key",
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .needs_eddsa = 1,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_eddsa_cert,
+ .key = &server_ca3_eddsa_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .nofips = 1 },
+ { .name = "tls1.3: ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.3: rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.3: rsa-sign key with rsa-pss sigs prioritized",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384:+SIGN-RSA-PSS-RSAE-SHA512:-VERS-TLS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ {
+ .name = "tls1.3: rsa-pss-sign key",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_rsa_pss2_cert,
+ .key = &server_ca3_rsa_pss2_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .requires_pkcs11_pss = 1,
+ },
+ {
+ .name = "tls1.3: rsa-pss cert, rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .requires_pkcs11_pss = 1,
+ },
+ { .name = "tls1.3: rsa-pss cert, rsa-sign key no PSS signatures",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3:-SIGN-RSA-PSS-SHA256:-SIGN-RSA-PSS-SHA384:-SIGN-RSA-PSS-SHA512:-SIGN-RSA-PSS-RSAE-SHA256:-SIGN-RSA-PSS-RSAE-SHA384:-SIGN-RSA-PSS-RSAE-SHA512",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { .name = "tls1.3: ed25519 cert, ed25519 key",
+ .needs_eddsa = 1,
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_eddsa_cert,
+ .key = &server_ca3_eddsa_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .nofips = 1 }
};
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -422,7 +417,7 @@ int pin_func(void *userdata, int attempt, const char *url, const char *label,
}
#ifndef CKM_RSA_PKCS_PSS
-# define CKM_RSA_PKCS_PSS (0xdUL)
+#define CKM_RSA_PKCS_PSS (0xdUL)
#endif
void doit(void)
@@ -453,8 +448,9 @@ void doit(void)
gnutls_pkcs11_set_pin_function(pin_func, NULL);
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
ret = gnutls_pkcs11_add_provider(lib, NULL);
@@ -474,10 +470,8 @@ void doit(void)
success("checking: %s\n", tests[i].name);
if (tests[i].requires_pkcs11_pss) {
- ret =
- gnutls_pkcs11_token_check_mechanism("pkcs11:",
- CKM_RSA_PKCS_PSS,
- NULL, 0, 0);
+ ret = gnutls_pkcs11_token_check_mechanism(
+ "pkcs11:", CKM_RSA_PKCS_PSS, NULL, 0, 0);
if (ret == 0) {
fprintf(stderr,
"softhsm2 doesn't support CKM_RSA_PKCS_PSS; skipping test\n");
@@ -485,17 +479,15 @@ void doit(void)
}
}
- privkey =
- load_virt_privkey(tests[i].name, tests[i].key,
- tests[i].exp_key_err,
- tests[i].needs_decryption);
+ privkey = load_virt_privkey(tests[i].name, tests[i].key,
+ tests[i].exp_key_err,
+ tests[i].needs_decryption);
if (privkey == NULL && tests[i].exp_key_err < 0)
continue;
assert(privkey != 0);
- try_with_key(tests[i].name, tests[i].prio,
- tests[i].exp_kx, 0, 0,
- tests[i].cert, privkey, tests[i].exp_serv_err);
+ try_with_key(tests[i].name, tests[i].prio, tests[i].exp_kx, 0,
+ 0, tests[i].cert, privkey, tests[i].exp_serv_err);
gnutls_pkcs11_delete_url(SOFTHSM_URL ";object=key",
GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
diff --git a/tests/pkcs11/tls-neg-pkcs11-no-key.c b/tests/pkcs11/tls-neg-pkcs11-no-key.c
index b6df8d2605..d31e44fe99 100644
--- a/tests/pkcs11/tls-neg-pkcs11-no-key.c
+++ b/tests/pkcs11/tls-neg-pkcs11-no-key.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,22 +35,22 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "pkcs11/softhsm.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "pkcs11/softhsm.h"
+#include "utils.h"
/* This program tests that TLS 1.3 is disabled as expected.
*/
@@ -65,16 +65,16 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define P11LIB "libpkcs11mock2.so"
+#define P11LIB "libpkcs11mock2.so"
-# define PIN "1234"
+#define PIN "1234"
-# define CONFIG_NAME "softhsm-neg-no-key"
-# define CONFIG CONFIG_NAME".config"
+#define CONFIG_NAME "softhsm-neg-no-key"
+#define CONFIG CONFIG_NAME ".config"
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -100,9 +100,8 @@ static void client(int fd)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(x509_cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(x509_cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -112,15 +111,13 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
+ ret = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred);
if (ret < 0)
fail("cannot set credentials\n");
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2", NULL);
if (ret < 0)
fail("cannot set priorities\n");
@@ -130,8 +127,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -198,16 +194,16 @@ static void server(int fd)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_import(crt, &server_ca3_cert, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &server_ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -220,17 +216,15 @@ static void server(int fd)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_privkey_import(key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -242,9 +236,8 @@ static void server(int fd)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
@@ -252,20 +245,18 @@ static void server(int fd)
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -281,22 +272,19 @@ static void server(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_certificate_set_x509_key_file(x509_cred,
- SOFTHSM_URL
- ";object=cert;object-type=cert",
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN,
- GNUTLS_X509_FMT_DER) >= 0);
+ assert(gnutls_certificate_set_x509_key_file(
+ x509_cred, SOFTHSM_URL ";object=cert;object-type=cert",
+ SOFTHSM_URL
+ ";object=cert;object-type=private;pin-value=" PIN,
+ GNUTLS_X509_FMT_DER) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2", NULL);
gnutls_transport_set_int(session, fd);
@@ -351,8 +339,9 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
signal(SIGCHLD, SIG_IGN);
@@ -383,6 +372,5 @@ void doit(void)
client(fd[1]);
exit(0);
}
-
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/pkcs12_encode.c b/tests/pkcs12_encode.c
index 48ab4f13c5..87b30bdf26 100644
--- a/tests/pkcs12_encode.c
+++ b/tests/pkcs12_encode.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/gnutls.h>
@@ -33,34 +33,36 @@
#include <stdlib.h>
static char client_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t client_dat = { (void *)client_pem, sizeof(client_pem) };
static char ca_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
- "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\n"
- "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\n"
- "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\n"
- "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\n"
- "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\n"
- "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
- "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
- "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
- "PfqUpIhz5Bbm7J4=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
+ "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\n"
+ "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\n"
+ "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\n"
+ "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\n"
+ "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\n"
+ "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
+ "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
+ "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
+ "PfqUpIhz5Bbm7J4=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t ca_dat = { (void *)ca_pem, sizeof(ca_pem) };
static void tls_log_func(int level, const char *str)
@@ -153,7 +155,7 @@ void doit(void)
tests[n_tests].bag_encrypt_flags = GNUTLS_PKCS_USE_PKCS12_RC2_40;
if (gnutls_fips140_mode_enabled()) {
tests[n_tests].bag_encrypt_expected =
- GNUTLS_E_UNWANTED_ALGORITHM;
+ GNUTLS_E_UNWANTED_ALGORITHM;
} else {
tests[n_tests].bag_encrypt_expected = 0;
}
@@ -177,9 +179,8 @@ void doit(void)
indx = ret;
- ret = gnutls_pkcs12_bag_set_friendly_name(bag, indx,
- tests
- [i].friendly_name);
+ ret = gnutls_pkcs12_bag_set_friendly_name(
+ bag, indx, tests[i].friendly_name);
if (ret < 0) {
fprintf(stderr, "set_friendly_name: %s (%d)\n",
gnutls_strerror(ret), ret);
@@ -187,8 +188,8 @@ void doit(void)
}
size = sizeof(key_id_buf);
- ret = gnutls_x509_crt_get_key_id(tests[i].crt, 0,
- key_id_buf, &size);
+ ret = gnutls_x509_crt_get_key_id(tests[i].crt, 0, key_id_buf,
+ &size);
if (ret < 0) {
fprintf(stderr, "get_key_id: %s (%d)\n",
gnutls_strerror(ret), ret);
diff --git a/tests/pkcs12_s2k.c b/tests/pkcs12_s2k.c
index dbb52a7f4d..ed97771591 100644
--- a/tests/pkcs12_s2k.c
+++ b/tests/pkcs12_s2k.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,20 +38,20 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-static const unsigned char *salt[3] =
- { (void *)"salt1", (void *)"ltsa22", (void *)"balt33" };
+static const unsigned char *salt[3] = { (void *)"salt1", (void *)"ltsa22",
+ (void *)"balt33" };
static const char *pw[3] = { "secret1", "verysecret2", "veryverysecret3" };
static const char *values[] = {
-/* 1.0 */
+ /* 1.0 */
"85a3c676a66f0960f4807144a28c8d61a0001b81846f301a1ac164289879972f",
-/* 1.2 */
+ /* 1.2 */
"e659da7d5989733a3d268e0bf7752c35c116e5c75919449a98f6812f82a15b16",
-/* 1.2 */
+ /* 1.2 */
"878b8a88bf6166ce803b7498822205b1ac82870d3aec20807148779375a61f1e",
-/* 2.0 */
+ /* 2.0 */
"1c845be764371d633c7fd1056967a9940385e110e85b58f826d39ae8561a0019",
-/* 2.1 */
+ /* 2.1 */
"de8dd3ffd59b65d3d5f59a1f71d7add582741f7752a786c045953e727e4465c0",
/* 2.2 */
#ifndef PKCS12_BROKEN_KEYGEN
@@ -61,9 +61,9 @@ static const char *values[] = {
#endif
/* 3.0 */
"1c165e5a291a1539f3dbcf82a3e6ed566eb9d50ad4b0b3b57b599b08f0531236",
-/* 3.1 */
+ /* 3.1 */
"5c9abee3cde31656eedfc131b7c2f8061032a3c705961ee2306a826c8b4b1a76",
-/* 3.2 */
+ /* 3.2 */
"a9c94e0acdaeaea54d1b1b681c3b64916396a352dea7ffe635fb2c11d8502e98"
};
@@ -76,55 +76,26 @@ static struct {
size_t iter;
size_t keylen;
const char *key;
-} tv[] = {
- {
- 1, "smeg", (void *)"\x0A\x58\xCF\x64\x53\x0D\x82\x3F", 1,
- 24,
- "8aaae6297b6cb04642ab5b077851284eb7128f1a2a7fbca3"}, {
- 2, "smeg",
- (void *)
- "\x0A\x58\xCF\x64\x53\x0D\x82\x3F",
- 1,
- 8,
- "79993dfe048d3b76"},
- {
- 1, "smeg", (void *)"\x64\x2B\x99\xAB\x44\xFB\x4B\x1F", 1,
- 24,
- "f3a95fec48d7711e985cfe67908c5ab79fa3d7c5caa5d966"}, {
- 2, "smeg",
- (void *)
- "\x64\x2B\x99\xAB\x44\xFB\x4B\x1F",
- 1,
- 8,
- "c0a38d64a79bea1d"},
- {
- 3, "smeg", (void *)"\x3D\x83\xC0\xE4\x54\x6A\xC1\x40", 1,
- 20, "8d967d88f6caa9d714800ab3d48051d63f73a312"}, {
- 1, "queeg",
- (void *)
- "\x05\xDE\xC9\x59\xAC\xFF\x72\xF7",
- 1000, 24,
- "ed2034e36328830ff09df1e1a07dd357185dac0d4f9eb3d4"}, {
- 2,
- "queeg",
- (void *)
- "\x05\xDE\xC9\x59\xAC\xFF\x72\xF7",
- 1000,
- 8,
- "11dedad7758d4860"},
- {
- 1, "queeg", (void *)"\x16\x82\xC0\xFC\x5B\x3F\x7E\xC5",
- 1000, 24,
- "483dd6e919d7de2e8e648ba8f862f3fbfbdc2bcb2c02957f"}, {
- 2, "queeg",
- (void *)
- "\x16\x82\xC0\xFC\x5B\x3F\x7E\xC5",
- 1000, 8,
- "9d461d1b00355c50"},
- {
- 3, "queeg", (void *)"\x26\x32\x16\xFC\xC2\xFA\xB3\x1C",
- 1000, 20, "5ec4c7a80df652294c3925b6489a7ab857c83476"}
-};
+} tv[] = { { 1, "smeg", (void *)"\x0A\x58\xCF\x64\x53\x0D\x82\x3F", 1, 24,
+ "8aaae6297b6cb04642ab5b077851284eb7128f1a2a7fbca3" },
+ { 2, "smeg", (void *)"\x0A\x58\xCF\x64\x53\x0D\x82\x3F", 1, 8,
+ "79993dfe048d3b76" },
+ { 1, "smeg", (void *)"\x64\x2B\x99\xAB\x44\xFB\x4B\x1F", 1, 24,
+ "f3a95fec48d7711e985cfe67908c5ab79fa3d7c5caa5d966" },
+ { 2, "smeg", (void *)"\x64\x2B\x99\xAB\x44\xFB\x4B\x1F", 1, 8,
+ "c0a38d64a79bea1d" },
+ { 3, "smeg", (void *)"\x3D\x83\xC0\xE4\x54\x6A\xC1\x40", 1, 20,
+ "8d967d88f6caa9d714800ab3d48051d63f73a312" },
+ { 1, "queeg", (void *)"\x05\xDE\xC9\x59\xAC\xFF\x72\xF7", 1000, 24,
+ "ed2034e36328830ff09df1e1a07dd357185dac0d4f9eb3d4" },
+ { 2, "queeg", (void *)"\x05\xDE\xC9\x59\xAC\xFF\x72\xF7", 1000, 8,
+ "11dedad7758d4860" },
+ { 1, "queeg", (void *)"\x16\x82\xC0\xFC\x5B\x3F\x7E\xC5", 1000, 24,
+ "483dd6e919d7de2e8e648ba8f862f3fbfbdc2bcb2c02957f" },
+ { 2, "queeg", (void *)"\x16\x82\xC0\xFC\x5B\x3F\x7E\xC5", 1000, 8,
+ "9d461d1b00355c50" },
+ { 3, "queeg", (void *)"\x26\x32\x16\xFC\xC2\xFA\xB3\x1C", 1000, 20,
+ "5ec4c7a80df652294c3925b6489a7ab857c83476" } };
void doit(void)
{
@@ -142,25 +113,23 @@ void doit(void)
x = 0;
for (i = 1; i < 4; i++) {
for (j = 0; j < 3; j++) {
- rc = _gnutls_pkcs12_string_to_key(mac_to_entry
- (GNUTLS_MAC_SHA1), i,
- salt[j],
- strlen((char *)
- salt[j]),
- j + i + 15, pw[j],
- sizeof(key), key);
+ rc = _gnutls_pkcs12_string_to_key(
+ mac_to_entry(GNUTLS_MAC_SHA1), i, salt[j],
+ strlen((char *)salt[j]), j + i + 15, pw[j],
+ sizeof(key), key);
if (rc < 0)
- fail("_gnutls_pkcs12_string_to_key failed[0]: %d\n", rc);
+ fail("_gnutls_pkcs12_string_to_key failed[0]: %d\n",
+ rc);
- if (strcmp(_gnutls_bin2hex(key, sizeof(key),
- tmp, sizeof(tmp), NULL),
+ if (strcmp(_gnutls_bin2hex(key, sizeof(key), tmp,
+ sizeof(tmp), NULL),
values[x]) != 0)
fail("_gnutls_pkcs12_string_to_key failed[1]\n");
if (debug)
printf("ij: %d.%d: %s\n", i, j,
- _gnutls_bin2hex(key, sizeof(key),
- tmp, sizeof(tmp), NULL));
+ _gnutls_bin2hex(key, sizeof(key), tmp,
+ sizeof(tmp), NULL));
x++;
}
}
@@ -176,8 +145,8 @@ void doit(void)
fail("_gnutls_pkcs12_string_to_key failed[2]: %d\n",
rc);
- if (memcmp(_gnutls_bin2hex(key, tv[i].keylen,
- tmp, sizeof(tmp), NULL),
+ if (memcmp(_gnutls_bin2hex(key, tv[i].keylen, tmp, sizeof(tmp),
+ NULL),
tv[i].key, tv[i].keylen) != 0)
fail("_gnutls_pkcs12_string_to_key failed[3]\n");
diff --git a/tests/pkcs12_s2k_pem.c b/tests/pkcs12_s2k_pem.c
index 75ea40b41d..df4a38349f 100644
--- a/tests/pkcs12_s2k_pem.c
+++ b/tests/pkcs12_s2k_pem.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/*
@@ -38,195 +38,195 @@
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
-#define X_9607 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECL9rjpW835n6AgIIAASCAoAjs558e/tWq5ho\n" \
- "X3uYORURfasssTfqyZoSaTmEWJGbW7T+QK+ebZ8CyMVbR1ORD3rd6r7cWLsX3Ju0\n" \
- "hGncPFVpwCtwApZKnWCunj4KcsRuWdm1vAauRV2CDkykMzNlsJzAw+BPFKi2B7HL\n" \
- "xn5JymtqrGZF6zRDWW1x1WD3HYlq4FoNuSmNFu4fV0EyalIopIyNmZAY40lQ/FTM\n" \
- "LkTsnH2brIYHV1Bnzd/lXpXLli29OE/4WsPBTvhJLZGbJXp8ExwGuxfDnTFCPS9G\n" \
- "9uOjaBgerl2zjsdPNXBfn8hDNrs7MDqR9aC6rZR0yE1maEPv0YnnzDGRYZl6+j2K\n" \
- "FfWDMGET6SSimYCcZJwr0/xZAdw5e323k1xniCNVfbQhCQ09Cl6XoDI8IK23O8g+\n" \
- "R9o8gCikl98fJlpKjHaKfnscSE0hMzOjyAbYjFxWAlzjffzR5o+P6955dhREpCWy\n" \
- "kL2EOL2VmYfzGG4J62p9U88MXhCLuFOuHL/wtGzXwGnyqZyeZ5p2fYloGPEMVsX7\n" \
- "zHupLUpVZFe4kOBGI/IPWbc2iQTvzDtx9Jvxo5vWmyEwL8C7P/f9+zsIaXiM3Onz\n" \
- "F5qwQfCojesuelGPAfXJxJRLaHicva90+IyRFBSMKxgt3EdHER/R7huA//jzzQp9\n" \
- "eItmiv2UwAafeiPEDT74n6yBCTMPc++cJsMWL0SNIX4jYep55bgzbgGB8t/nQ0Ho\n" \
- "7/1KF1sAO3klAkrcTwL4pX2vLMa//W/H/AAQ2FL/Q+CAP7K5X2rlZxdkFlMuL3Dr\n" \
- "I0UqiStjznkoOeWjj6YT3jOvKGLWHPXqxTkW9Ln4fDvAoI9eq6UWHjf7gLYXxe/q\n" \
- "tTpNnYdy\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9607 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECL9rjpW835n6AgIIAASCAoAjs558e/tWq5ho\n" \
+ "X3uYORURfasssTfqyZoSaTmEWJGbW7T+QK+ebZ8CyMVbR1ORD3rd6r7cWLsX3Ju0\n" \
+ "hGncPFVpwCtwApZKnWCunj4KcsRuWdm1vAauRV2CDkykMzNlsJzAw+BPFKi2B7HL\n" \
+ "xn5JymtqrGZF6zRDWW1x1WD3HYlq4FoNuSmNFu4fV0EyalIopIyNmZAY40lQ/FTM\n" \
+ "LkTsnH2brIYHV1Bnzd/lXpXLli29OE/4WsPBTvhJLZGbJXp8ExwGuxfDnTFCPS9G\n" \
+ "9uOjaBgerl2zjsdPNXBfn8hDNrs7MDqR9aC6rZR0yE1maEPv0YnnzDGRYZl6+j2K\n" \
+ "FfWDMGET6SSimYCcZJwr0/xZAdw5e323k1xniCNVfbQhCQ09Cl6XoDI8IK23O8g+\n" \
+ "R9o8gCikl98fJlpKjHaKfnscSE0hMzOjyAbYjFxWAlzjffzR5o+P6955dhREpCWy\n" \
+ "kL2EOL2VmYfzGG4J62p9U88MXhCLuFOuHL/wtGzXwGnyqZyeZ5p2fYloGPEMVsX7\n" \
+ "zHupLUpVZFe4kOBGI/IPWbc2iQTvzDtx9Jvxo5vWmyEwL8C7P/f9+zsIaXiM3Onz\n" \
+ "F5qwQfCojesuelGPAfXJxJRLaHicva90+IyRFBSMKxgt3EdHER/R7huA//jzzQp9\n" \
+ "eItmiv2UwAafeiPEDT74n6yBCTMPc++cJsMWL0SNIX4jYep55bgzbgGB8t/nQ0Ho\n" \
+ "7/1KF1sAO3klAkrcTwL4pX2vLMa//W/H/AAQ2FL/Q+CAP7K5X2rlZxdkFlMuL3Dr\n" \
+ "I0UqiStjznkoOeWjj6YT3jOvKGLWHPXqxTkW9Ln4fDvAoI9eq6UWHjf7gLYXxe/q\n" \
+ "tTpNnYdy\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9671 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECA7RZbNgWxdHAgIIAASCAoAq1B5klspIe7B/\n" \
- "R1pKifO1/29OsAQn9blIbaJ9fg62ivA3QGL0uApZ6eNFz6JEZyiRITJYhgLaWwov\n" \
- "mqKT9NiQ6iiemgxWLSSdvEXVOMRZB17F9PncpEiIBpnrisdD7h9MpS63LuJdEtiK\n" \
- "jpPwFwV3orFJceurq/R3ql2aKYc9MZSzkKd71QImgHYWv+IPCctl40/PZV08yKMn\n" \
- "RCMVFb/YYUrzaWSerroyjz4Kr8V0nEyKpk4YLv7o7WPGn4x8X30z0BRCA9CBwzHY\n" \
- "JMxu1FhOGXr6nx1XeaoCOt9JV8GWb+VzkATABPzFG915ULz0ma1petQyb18QyBsl\n" \
- "K9NZETrGzDYiNxkjqILhY6IRneB97C4kCH55qhXHFk5fjiWndpQ6+BFKqlCqm6Up\n" \
- "d1EF3uuKN+vY6xQbGCgFE4FHL46nb2YaoaqhPp4dj4qnRSllgBvmZbGTd243lAbT\n" \
- "J4dh/gzRwQYdIwbvcNVi9GGSOy/fezAwwXu3ZD9BqqqoCQJajrILuovbcPThy71k\n" \
- "H5EaegQ1rB+0/sn91JUb6w4pwN/54gzZGaz2F0/2xB9u57+PIMC9R8dU7uW/xWfA\n" \
- "WN7YTzPDNfevbx/LIa6VR5gsiRqCnthSsGvWFquRatMv1JrDfFUywFU9zk9W+iA2\n" \
- "rtNpXV140+/BDfHbYYrUIaklJsNP0FRXKpPw9wPHHmbOjHfFK+o8PrtOp3HUsCJm\n" \
- "2VpQtbNl66+rPLZLsbXhuJ5eY/BpRvrj6rDFPs19OAvYyrIsuQY8IdbZyGSKsq4u\n" \
- "UBsHZgPBh718EtWFFrsTNxMlRKoh5MwUSqkLXeDduAFG4N7nhQpDHQ5/KRPrYOMK\n" \
- "ixB1lLUK\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9671 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECA7RZbNgWxdHAgIIAASCAoAq1B5klspIe7B/\n" \
+ "R1pKifO1/29OsAQn9blIbaJ9fg62ivA3QGL0uApZ6eNFz6JEZyiRITJYhgLaWwov\n" \
+ "mqKT9NiQ6iiemgxWLSSdvEXVOMRZB17F9PncpEiIBpnrisdD7h9MpS63LuJdEtiK\n" \
+ "jpPwFwV3orFJceurq/R3ql2aKYc9MZSzkKd71QImgHYWv+IPCctl40/PZV08yKMn\n" \
+ "RCMVFb/YYUrzaWSerroyjz4Kr8V0nEyKpk4YLv7o7WPGn4x8X30z0BRCA9CBwzHY\n" \
+ "JMxu1FhOGXr6nx1XeaoCOt9JV8GWb+VzkATABPzFG915ULz0ma1petQyb18QyBsl\n" \
+ "K9NZETrGzDYiNxkjqILhY6IRneB97C4kCH55qhXHFk5fjiWndpQ6+BFKqlCqm6Up\n" \
+ "d1EF3uuKN+vY6xQbGCgFE4FHL46nb2YaoaqhPp4dj4qnRSllgBvmZbGTd243lAbT\n" \
+ "J4dh/gzRwQYdIwbvcNVi9GGSOy/fezAwwXu3ZD9BqqqoCQJajrILuovbcPThy71k\n" \
+ "H5EaegQ1rB+0/sn91JUb6w4pwN/54gzZGaz2F0/2xB9u57+PIMC9R8dU7uW/xWfA\n" \
+ "WN7YTzPDNfevbx/LIa6VR5gsiRqCnthSsGvWFquRatMv1JrDfFUywFU9zk9W+iA2\n" \
+ "rtNpXV140+/BDfHbYYrUIaklJsNP0FRXKpPw9wPHHmbOjHfFK+o8PrtOp3HUsCJm\n" \
+ "2VpQtbNl66+rPLZLsbXhuJ5eY/BpRvrj6rDFPs19OAvYyrIsuQY8IdbZyGSKsq4u\n" \
+ "UBsHZgPBh718EtWFFrsTNxMlRKoh5MwUSqkLXeDduAFG4N7nhQpDHQ5/KRPrYOMK\n" \
+ "ixB1lLUK\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9925 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECDnNkmSKl37mAgIIAASCAoAwttidBRLnnjti\n" \
- "b5BEsc8cO2vzImhJbYCrVDjkTpmS6IYD4FsC8KFDdQJrEYIptrwXn4uDWDUu6bxB\n" \
- "pb02Pj70gZiWBDU+ki1kIbsNc67rNpJfUlIU+po3UovSmrazqcHoW2IftvZo9hDF\n" \
- "FWVjc0D2fSWeaNwS7dimWxoLy1udof6n0c8UxvfnOgfSLg3qwWzc0+iMrbkvRFX5\n" \
- "9+vDCnetQ7ythKldnC5xQxShxaNF4O26D0VXdR9VYbQLslSHAzQi2wJ7Hh1fi62J\n" \
- "VUHvRNOcwhSadwNfQEtvIWoi6LfsUadvvhFAAbeSfQpSfD4iXgfcr3U2WIvjtOcL\n" \
- "cZg9HqRhGzgEuC7FLoov1re7xq3uifw+04qu8i9/fk7hUrldZCrCSKTc6GqsiY8x\n" \
- "JGOcNUgklzy6kbgIWp9O2C5Bxp1WmfnbNSMM9Z9UFTdbEa4Kz7SYd+1a8j1OWlq1\n" \
- "93AcEpD0+fpKuEs+S1RF7RRAs/Ais0VcOmgye0TLvKkhockxl4KT0SbOTeKnmxJ3\n" \
- "RSnPcHUb62EZuhHqpoHi+zjHH56sVy3RhcYsDKIh1Xh7JPGTysflOIno7ABK8Tu7\n" \
- "IcnAOCoBVTjXC5eSSeC3irvZSILHC1tBG8r1C1aSLFmxpOTCqRUwhtbw/FSqEngl\n" \
- "5pvwTz4gquyjCPjIAWlCscAbeqpBxNsmnJ0AGlaesd9/uxrWUScTnAIc+NUB9o8w\n" \
- "i+zXbOqhbKxWGfrQAo+qZtAchQ6EGxXuIxnSRlAEZtsrJt6/FXJaOIb5MvcXA/sQ\n" \
- "O2p1r9W2OZM8Jco2ftALygUFPDiIuELaiTQ8HE1heUZWy+M9gXV6wCGhIVtRYyCg\n" \
- "SSQ62gp7\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9925 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECDnNkmSKl37mAgIIAASCAoAwttidBRLnnjti\n" \
+ "b5BEsc8cO2vzImhJbYCrVDjkTpmS6IYD4FsC8KFDdQJrEYIptrwXn4uDWDUu6bxB\n" \
+ "pb02Pj70gZiWBDU+ki1kIbsNc67rNpJfUlIU+po3UovSmrazqcHoW2IftvZo9hDF\n" \
+ "FWVjc0D2fSWeaNwS7dimWxoLy1udof6n0c8UxvfnOgfSLg3qwWzc0+iMrbkvRFX5\n" \
+ "9+vDCnetQ7ythKldnC5xQxShxaNF4O26D0VXdR9VYbQLslSHAzQi2wJ7Hh1fi62J\n" \
+ "VUHvRNOcwhSadwNfQEtvIWoi6LfsUadvvhFAAbeSfQpSfD4iXgfcr3U2WIvjtOcL\n" \
+ "cZg9HqRhGzgEuC7FLoov1re7xq3uifw+04qu8i9/fk7hUrldZCrCSKTc6GqsiY8x\n" \
+ "JGOcNUgklzy6kbgIWp9O2C5Bxp1WmfnbNSMM9Z9UFTdbEa4Kz7SYd+1a8j1OWlq1\n" \
+ "93AcEpD0+fpKuEs+S1RF7RRAs/Ais0VcOmgye0TLvKkhockxl4KT0SbOTeKnmxJ3\n" \
+ "RSnPcHUb62EZuhHqpoHi+zjHH56sVy3RhcYsDKIh1Xh7JPGTysflOIno7ABK8Tu7\n" \
+ "IcnAOCoBVTjXC5eSSeC3irvZSILHC1tBG8r1C1aSLFmxpOTCqRUwhtbw/FSqEngl\n" \
+ "5pvwTz4gquyjCPjIAWlCscAbeqpBxNsmnJ0AGlaesd9/uxrWUScTnAIc+NUB9o8w\n" \
+ "i+zXbOqhbKxWGfrQAo+qZtAchQ6EGxXuIxnSRlAEZtsrJt6/FXJaOIb5MvcXA/sQ\n" \
+ "O2p1r9W2OZM8Jco2ftALygUFPDiIuELaiTQ8HE1heUZWy+M9gXV6wCGhIVtRYyCg\n" \
+ "SSQ62gp7\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9926 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECE8YpbN3dz05AgIIAASCAoC1wuyUEZs/FSTB\n" \
- "llt567hf1L+wiQ24L49ZvLutwb0nkilLHNXUo95mpLfzjnr7ZBbsIPV0RTdxjIKX\n" \
- "IdRD9SzMxeMUJ82obmgE2tTeOi7PqONX838Lmj3ocUR+aFBFTR1V7G2gMpQEapPX\n" \
- "gjv3kgwG5DCSj15NG8ybT4ZHWURyc/57dn0JWXc9/XUbm/+lvwwsuu9YvQ5Z76jE\n" \
- "ufiS8OCHNo1nPMCsUIw6herr2OfC5pj2H1/6bC7L/NPZJ7OM/IQoQOcNxiwx8rBS\n" \
- "zChy7dvPbJYmd5N+066mZiyFGxQwjPziXmqJztnB34P0Yp9dsiE1M+fo//f+QkFW\n" \
- "3HDMJmb+becnUAjiWuQCT/YqNjC4iHn35Jb2COPsV5KPsSaQ+6IaN4vWx7ifvHGD\n" \
- "KzkFcKQ1Be1EiOnUGBqhW4r7ASFKMtqGlTRBoc8PVMdFIpadejGW31Csz5gussa2\n" \
- "OcOLO8kULsT9QsuWyayG4SuTweClCaJ/nGJ/nDnocVPbucqRQBFn9ZRQ0VSLhDLe\n" \
- "B3HYRx3sJ9U+Xay9cgR09hMQ2ZaR/NxYlRshKEt+iiYOS42eMyMXVKfBwQwxl9Lf\n" \
- "ESBz7GF2nOT5VSSgJlAf3nbfhUABgq2zzoybKlFVpnq49Z79rB4b+lkP8jIhV5GA\n" \
- "/aUXssvs68FsqbG+T1nBnFWkJL49XENOrwDApzGllVbtaruoIe9t+qBF6rXVSjWQ\n" \
- "ZATZaSD3gOaM4Oyv+lso4GuONXkaXQRdpBmPLChdLMkcopQOQZtlKU2+rzi4Nm4X\n" \
- "lAAsR4sXmIGYJ3EgQrTDE+igMNr8o2qHIh81zqP7nWtkfTEfFqud6zoGK5aiZ4ma\n" \
- "0StcnRpp\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9926 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECE8YpbN3dz05AgIIAASCAoC1wuyUEZs/FSTB\n" \
+ "llt567hf1L+wiQ24L49ZvLutwb0nkilLHNXUo95mpLfzjnr7ZBbsIPV0RTdxjIKX\n" \
+ "IdRD9SzMxeMUJ82obmgE2tTeOi7PqONX838Lmj3ocUR+aFBFTR1V7G2gMpQEapPX\n" \
+ "gjv3kgwG5DCSj15NG8ybT4ZHWURyc/57dn0JWXc9/XUbm/+lvwwsuu9YvQ5Z76jE\n" \
+ "ufiS8OCHNo1nPMCsUIw6herr2OfC5pj2H1/6bC7L/NPZJ7OM/IQoQOcNxiwx8rBS\n" \
+ "zChy7dvPbJYmd5N+066mZiyFGxQwjPziXmqJztnB34P0Yp9dsiE1M+fo//f+QkFW\n" \
+ "3HDMJmb+becnUAjiWuQCT/YqNjC4iHn35Jb2COPsV5KPsSaQ+6IaN4vWx7ifvHGD\n" \
+ "KzkFcKQ1Be1EiOnUGBqhW4r7ASFKMtqGlTRBoc8PVMdFIpadejGW31Csz5gussa2\n" \
+ "OcOLO8kULsT9QsuWyayG4SuTweClCaJ/nGJ/nDnocVPbucqRQBFn9ZRQ0VSLhDLe\n" \
+ "B3HYRx3sJ9U+Xay9cgR09hMQ2ZaR/NxYlRshKEt+iiYOS42eMyMXVKfBwQwxl9Lf\n" \
+ "ESBz7GF2nOT5VSSgJlAf3nbfhUABgq2zzoybKlFVpnq49Z79rB4b+lkP8jIhV5GA\n" \
+ "/aUXssvs68FsqbG+T1nBnFWkJL49XENOrwDApzGllVbtaruoIe9t+qBF6rXVSjWQ\n" \
+ "ZATZaSD3gOaM4Oyv+lso4GuONXkaXQRdpBmPLChdLMkcopQOQZtlKU2+rzi4Nm4X\n" \
+ "lAAsR4sXmIGYJ3EgQrTDE+igMNr8o2qHIh81zqP7nWtkfTEfFqud6zoGK5aiZ4ma\n" \
+ "0StcnRpp\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9927 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECC6HV5s66uQrAgIIAASCAoAgQMR7E4EoMQSq\n" \
- "kFslHKebFtjtrCqEPW5lADxpJg8+FNOT6GCCnu8yslrmMa4l/MIs8jfkoKhP9O8W\n" \
- "IjQpwG5IGr0ZyfxYPZFTatrQ7+MvtMoQMBTxVt20oW4kT3tTF4KDf0BUsB9JCoET\n" \
- "DehlFSPTjDJav8fGbdEMhfbY6+6iBodnW7a3Ibil+7CQGeRIGDO7mEu5rBbI1fJb\n" \
- "tGEHkCd6Gvv20r/EIi6Fol9Fwc5eKxgFioIuZo3Tmqrr/9g09sv+qwkzoNFmpqby\n" \
- "AqCbgOOsckc3AXm4xZ7AX7zNSFXbfhiX1EyVvhwfJ6jiqHr32K8o5I4Cb/lzpB+q\n" \
- "WPMU/rF5bsTj0+/eySx8zkIUF/Jst9E+XtzlTFtMVzNpFYfzg3E+0qnT8KJtZJGr\n" \
- "Azz9aCNidjkjRVHUubrZ5qbjrv1eAYnFkgyw+UTyIJBeec6CRH5zob22ZMb5jKFz\n" \
- "d9reY1LZ38cQIoKThPdv9vKRVEd1I7T5MKv656+QegfqA7Kefwa0uK+TvvqBLTd1\n" \
- "mxgtkDvrID3PLZK9tVsOLMJcY1PFCNHB6T2EghMVEmMnROVLCqIN+MeraLhHemUe\n" \
- "rf6HFlOcYPV+5V8gI/DM2Fw/V+YgCzv380Z6HouZ4K1nwvEf53renettQmKxK/Fd\n" \
- "X74KqRSs6FtANdVUziGkrvNfssRjjLHxD08VfLAcpijRfNslxDIXQIASWqn3TPFY\n" \
- "uDs32vonOVrj2Zy8fIBRmENmGe5b/jnp055NLo6MWCFR3hmmeFBuXk6o1K6io3Le\n" \
- "oaeWr7BJFIxXZZ8zNUlBLGZinY50oM09DFOpiAUTQtkm8NuAThLcqmWvbw8LWmL4\n" \
- "ed6Pdtej\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9927 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECC6HV5s66uQrAgIIAASCAoAgQMR7E4EoMQSq\n" \
+ "kFslHKebFtjtrCqEPW5lADxpJg8+FNOT6GCCnu8yslrmMa4l/MIs8jfkoKhP9O8W\n" \
+ "IjQpwG5IGr0ZyfxYPZFTatrQ7+MvtMoQMBTxVt20oW4kT3tTF4KDf0BUsB9JCoET\n" \
+ "DehlFSPTjDJav8fGbdEMhfbY6+6iBodnW7a3Ibil+7CQGeRIGDO7mEu5rBbI1fJb\n" \
+ "tGEHkCd6Gvv20r/EIi6Fol9Fwc5eKxgFioIuZo3Tmqrr/9g09sv+qwkzoNFmpqby\n" \
+ "AqCbgOOsckc3AXm4xZ7AX7zNSFXbfhiX1EyVvhwfJ6jiqHr32K8o5I4Cb/lzpB+q\n" \
+ "WPMU/rF5bsTj0+/eySx8zkIUF/Jst9E+XtzlTFtMVzNpFYfzg3E+0qnT8KJtZJGr\n" \
+ "Azz9aCNidjkjRVHUubrZ5qbjrv1eAYnFkgyw+UTyIJBeec6CRH5zob22ZMb5jKFz\n" \
+ "d9reY1LZ38cQIoKThPdv9vKRVEd1I7T5MKv656+QegfqA7Kefwa0uK+TvvqBLTd1\n" \
+ "mxgtkDvrID3PLZK9tVsOLMJcY1PFCNHB6T2EghMVEmMnROVLCqIN+MeraLhHemUe\n" \
+ "rf6HFlOcYPV+5V8gI/DM2Fw/V+YgCzv380Z6HouZ4K1nwvEf53renettQmKxK/Fd\n" \
+ "X74KqRSs6FtANdVUziGkrvNfssRjjLHxD08VfLAcpijRfNslxDIXQIASWqn3TPFY\n" \
+ "uDs32vonOVrj2Zy8fIBRmENmGe5b/jnp055NLo6MWCFR3hmmeFBuXk6o1K6io3Le\n" \
+ "oaeWr7BJFIxXZZ8zNUlBLGZinY50oM09DFOpiAUTQtkm8NuAThLcqmWvbw8LWmL4\n" \
+ "ed6Pdtej\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9928 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECC1OO648bIPcAgIIAASCAoDiQoIuNdleFu2V\n" \
- "I8MUwZ6I0Om2+2yHSrk7Jxd0mbIYnT832dVsWg53SkcBYggnN1bByej0qtf2pdBx\n" \
- "EKsOjU9T6XmOZyFjJKX6MK6syqFYI4Y67OzdiDS8FVMCYX8NhhsYlE1aqvBjvnjq\n" \
- "tgpR0pJg8uJ3FmUu1N/6ayjGtI9JbZFt+BkqbZxIfdaZhlXx1vgU2MtuxDultlJu\n" \
- "rjvzcCGG0z0GcVEmXUwVccvLqwnL6UnYkVAmhCzj4UvxYsMt6Dp8FPSQi54jmZKx\n" \
- "4LAOGGGZcKoOTJYCrUkW2RAV/GzbhT1kOJR2/Pw21Yw/WkVKyNE8LHghu6xr3pXy\n" \
- "MPmCn0fE751Vjefb6NOYIjvmMexaZVzBCZ6kuxEQBlGDi15lohnpZLcFilS7l5IY\n" \
- "nWZJ9qPX19O0RG9NgQ4xpxoPBdrxqP5HuieKgvAZ7RXDXeKlW/4z/Fo2dBjPc0YJ\n" \
- "Y5QPOK+i2Zux9VtMbxkXBeO7KsiosNQthFP+HitlIs72MHUsBZucEnZ9ny0S+blG\n" \
- "gKYK9xuuAPGscqaI6fcicFOc0ZmphMn5YP6D0nN9esqo44s9JX7SyLRPuHW+dH0/\n" \
- "Bdg9LikS8ROBs3Yuy9ksGHMbMsguum3mOwiY8f2NXQwVs3b7VfkIDMbYAjMGcriE\n" \
- "CsW1Z4EzQP2qCFVJYz6S3xSsKtgg3QeWKCtvGRJDbzCnaQGCrrHzyBlGZzr5NJkr\n" \
- "4x7MxbWppvVTMySJ+Y3V2DR+Q1nW5P7qzWaY9tE9d8unCym5C/S2CE/39jQ9zMmL\n" \
- "56qvh2swSrCEKInhQyqV+4msSYVElrQY0DGbg/N6TsKvN37zCqKKBIxhyb/5b2Kv\n" \
- "QvN7D2Ch\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9928 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECC1OO648bIPcAgIIAASCAoDiQoIuNdleFu2V\n" \
+ "I8MUwZ6I0Om2+2yHSrk7Jxd0mbIYnT832dVsWg53SkcBYggnN1bByej0qtf2pdBx\n" \
+ "EKsOjU9T6XmOZyFjJKX6MK6syqFYI4Y67OzdiDS8FVMCYX8NhhsYlE1aqvBjvnjq\n" \
+ "tgpR0pJg8uJ3FmUu1N/6ayjGtI9JbZFt+BkqbZxIfdaZhlXx1vgU2MtuxDultlJu\n" \
+ "rjvzcCGG0z0GcVEmXUwVccvLqwnL6UnYkVAmhCzj4UvxYsMt6Dp8FPSQi54jmZKx\n" \
+ "4LAOGGGZcKoOTJYCrUkW2RAV/GzbhT1kOJR2/Pw21Yw/WkVKyNE8LHghu6xr3pXy\n" \
+ "MPmCn0fE751Vjefb6NOYIjvmMexaZVzBCZ6kuxEQBlGDi15lohnpZLcFilS7l5IY\n" \
+ "nWZJ9qPX19O0RG9NgQ4xpxoPBdrxqP5HuieKgvAZ7RXDXeKlW/4z/Fo2dBjPc0YJ\n" \
+ "Y5QPOK+i2Zux9VtMbxkXBeO7KsiosNQthFP+HitlIs72MHUsBZucEnZ9ny0S+blG\n" \
+ "gKYK9xuuAPGscqaI6fcicFOc0ZmphMn5YP6D0nN9esqo44s9JX7SyLRPuHW+dH0/\n" \
+ "Bdg9LikS8ROBs3Yuy9ksGHMbMsguum3mOwiY8f2NXQwVs3b7VfkIDMbYAjMGcriE\n" \
+ "CsW1Z4EzQP2qCFVJYz6S3xSsKtgg3QeWKCtvGRJDbzCnaQGCrrHzyBlGZzr5NJkr\n" \
+ "4x7MxbWppvVTMySJ+Y3V2DR+Q1nW5P7qzWaY9tE9d8unCym5C/S2CE/39jQ9zMmL\n" \
+ "56qvh2swSrCEKInhQyqV+4msSYVElrQY0DGbg/N6TsKvN37zCqKKBIxhyb/5b2Kv\n" \
+ "QvN7D2Ch\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9929 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECAPza28YOfuMAgIIAASCAoBg+t7v3fo4gOZX\n" \
- "+/IY3xln+5pVj6LKXXgHWydK25TLD3oxlrecVKmnWWZuQIcPVosItr+KfwRMfkY5\n" \
- "BKUQZyu02ZO/u9cXe3XsmZLpiWAXVCaRfHhXkZ24PxQGIVikDc8KyHEAhX/P+e9m\n" \
- "jJEneTP+hdQvZmJGKKqOG95HkqlnH5KJhM8W7BjDgPBeCjaBcc9AzCWX+WdY4Nbn\n" \
- "LONjhe0nXPuVArLayru67q62LUf/NZOM6j7gbYe0ki94rXddabpOIGBhf9qP1pWc\n" \
- "m5RBntEOtlbuosUYhlOpse91SBM2nHnOzM1fIxX6J9p/AlctvtB+Zoqx4OEwbRxT\n" \
- "hNpCUo+3rwmAAOz6CntGHpmfFKrzc0r37aoSjnlQJKTxDRJHN43+eqbdtNpaQfDH\n" \
- "0pS4o84oO3/CgnJ45Bx3HJXNlg3YvKhHWav8wtHX085URoc8h/OJ3PiKBi7+5AYR\n" \
- "CLAaJjtTC0ReaOXjyGfhzzuux7UDl+MW0D69vaz2t7HSR2tQ4tYnA4fciqirSKdL\n" \
- "wFgewXRNxNkQKo149YfE2weMGXW/DYGRXl8RMUwGsur10nesfUBZfLPYW014rDm+\n" \
- "QjGa2bcYJMUnAtUz1ctaQNV8T4HM3SwXABSbuczDGM4FpFCd51tjJDh8vxdmZpGJ\n" \
- "KEhWsvXcrlzBpVyW5CX/TixVYzautBdOM2cN+yniLjHAkHBWCF39LoAQatbHNFSq\n" \
- "FpADIpMiGFyGMxf029s2JgdNvkgR2aUL0ed2hGP9kKyLio+RNF5HD7mbbBM4d06P\n" \
- "t79aRgHvQAOeHJPfz9LleOoRUpg1gb8jmLDtKkWe+JGtsEDCPeb0HTvlL4ttGrZ4\n" \
- "LoIPCVbz\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9929 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECAPza28YOfuMAgIIAASCAoBg+t7v3fo4gOZX\n" \
+ "+/IY3xln+5pVj6LKXXgHWydK25TLD3oxlrecVKmnWWZuQIcPVosItr+KfwRMfkY5\n" \
+ "BKUQZyu02ZO/u9cXe3XsmZLpiWAXVCaRfHhXkZ24PxQGIVikDc8KyHEAhX/P+e9m\n" \
+ "jJEneTP+hdQvZmJGKKqOG95HkqlnH5KJhM8W7BjDgPBeCjaBcc9AzCWX+WdY4Nbn\n" \
+ "LONjhe0nXPuVArLayru67q62LUf/NZOM6j7gbYe0ki94rXddabpOIGBhf9qP1pWc\n" \
+ "m5RBntEOtlbuosUYhlOpse91SBM2nHnOzM1fIxX6J9p/AlctvtB+Zoqx4OEwbRxT\n" \
+ "hNpCUo+3rwmAAOz6CntGHpmfFKrzc0r37aoSjnlQJKTxDRJHN43+eqbdtNpaQfDH\n" \
+ "0pS4o84oO3/CgnJ45Bx3HJXNlg3YvKhHWav8wtHX085URoc8h/OJ3PiKBi7+5AYR\n" \
+ "CLAaJjtTC0ReaOXjyGfhzzuux7UDl+MW0D69vaz2t7HSR2tQ4tYnA4fciqirSKdL\n" \
+ "wFgewXRNxNkQKo149YfE2weMGXW/DYGRXl8RMUwGsur10nesfUBZfLPYW014rDm+\n" \
+ "QjGa2bcYJMUnAtUz1ctaQNV8T4HM3SwXABSbuczDGM4FpFCd51tjJDh8vxdmZpGJ\n" \
+ "KEhWsvXcrlzBpVyW5CX/TixVYzautBdOM2cN+yniLjHAkHBWCF39LoAQatbHNFSq\n" \
+ "FpADIpMiGFyGMxf029s2JgdNvkgR2aUL0ed2hGP9kKyLio+RNF5HD7mbbBM4d06P\n" \
+ "t79aRgHvQAOeHJPfz9LleOoRUpg1gb8jmLDtKkWe+JGtsEDCPeb0HTvlL4ttGrZ4\n" \
+ "LoIPCVbz\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9930 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECM70GUHLNxJ7AgIIAASCAoBSzIR/pzL/Kz0k\n" \
- "QYJburqvHquGAa/xevMdelJdqAKPfqMuaOOhbZUkpp1Yf/jswyrzImgOnkb2stO8\n" \
- "hsa3gTZLk3j1LA5JXb89Pm+dqv1gXWJco7dnq8JJEhTt7Mr6rm/P1uV9UBXlgv+E\n" \
- "2F+b8GBDikMw38zqRGtg3GPjFaZKcL7tqwRm390t57cWSbqLLaNmRIxcf5TARHEs\n" \
- "TZEU+BHF2JoFE7rXPdUJAJwsw35C5JS4DXwEUBVoEeI3jXl3yDOqu20uekbrndL5\n" \
- "seACup8mQp5nHUBNk6RMg7/8/hqeRU9IFyCstvFqjtvbPvJLEML8jSyd+XoZU1tm\n" \
- "VpnU7KcN3bSN/BK4QzChGr5sD/2rteceBIJjDsHR7FjHJQIKlTxMok3taM84knnw\n" \
- "QcO0T0vbsmUqbs1MltGcUgm3p6Jp/NyeHZGfDqu4TEZcHE+mrNVVReRHL3O55UpC\n" \
- "AyZeJDu9nQKe62Y6oGcOUOuZkoodfh9M1V44f9guOv5b+2VIFgUIZTOVHLkmb3Nx\n" \
- "r6rUn2++N02II7zkvR1aHILZw/JnqHQC5bpK6qlTNUN3kNy5DHg4iAHGuKUxksK0\n" \
- "qziPL/VYfos0/81O4mNI3yo3D2WA6usgy+MZyDY0u4uAbcz4irE1ACHj3cgBHx2j\n" \
- "RemyLdgPX+kPXr5wKHKk4U93nIgZXbshuuG5CrwtJqXslx6dG6FYChaUJsc/kCga\n" \
- "JFkHnOZk3tMxxyVBaBKUnyFxbxFBORgYGGAEKJ4RYT0ge8sSkVo4NNsNjLw74+d6\n" \
- "zlt7NLEhDn+IuaocYejf4Do5W+jIfkpZXF/w6DRHyJ3l2CHV/c9AN/lltTQYIg4Y\n" \
- "twhxefdG\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9930 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECM70GUHLNxJ7AgIIAASCAoBSzIR/pzL/Kz0k\n" \
+ "QYJburqvHquGAa/xevMdelJdqAKPfqMuaOOhbZUkpp1Yf/jswyrzImgOnkb2stO8\n" \
+ "hsa3gTZLk3j1LA5JXb89Pm+dqv1gXWJco7dnq8JJEhTt7Mr6rm/P1uV9UBXlgv+E\n" \
+ "2F+b8GBDikMw38zqRGtg3GPjFaZKcL7tqwRm390t57cWSbqLLaNmRIxcf5TARHEs\n" \
+ "TZEU+BHF2JoFE7rXPdUJAJwsw35C5JS4DXwEUBVoEeI3jXl3yDOqu20uekbrndL5\n" \
+ "seACup8mQp5nHUBNk6RMg7/8/hqeRU9IFyCstvFqjtvbPvJLEML8jSyd+XoZU1tm\n" \
+ "VpnU7KcN3bSN/BK4QzChGr5sD/2rteceBIJjDsHR7FjHJQIKlTxMok3taM84knnw\n" \
+ "QcO0T0vbsmUqbs1MltGcUgm3p6Jp/NyeHZGfDqu4TEZcHE+mrNVVReRHL3O55UpC\n" \
+ "AyZeJDu9nQKe62Y6oGcOUOuZkoodfh9M1V44f9guOv5b+2VIFgUIZTOVHLkmb3Nx\n" \
+ "r6rUn2++N02II7zkvR1aHILZw/JnqHQC5bpK6qlTNUN3kNy5DHg4iAHGuKUxksK0\n" \
+ "qziPL/VYfos0/81O4mNI3yo3D2WA6usgy+MZyDY0u4uAbcz4irE1ACHj3cgBHx2j\n" \
+ "RemyLdgPX+kPXr5wKHKk4U93nIgZXbshuuG5CrwtJqXslx6dG6FYChaUJsc/kCga\n" \
+ "JFkHnOZk3tMxxyVBaBKUnyFxbxFBORgYGGAEKJ4RYT0ge8sSkVo4NNsNjLw74+d6\n" \
+ "zlt7NLEhDn+IuaocYejf4Do5W+jIfkpZXF/w6DRHyJ3l2CHV/c9AN/lltTQYIg4Y\n" \
+ "twhxefdG\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9931 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECO6DyRswVDToAgIIAASCAoB3xqmr0evfZnxk\n" \
- "Gq/DsbmwGVpO1BQnv+50u8+roflrmHp+TdX/gkPdXDQCqqpK/2J/oaGMCtKEiO8R\n" \
- "/pxSKcCX3+7leF01FF4z3rEcTVRej0mR6IAzk5QZR4Y0jXzay7Quj2zFJQTASdRy\n" \
- "6o9HQt5YuDyMFY30yjungmg6sYLBLZ2XypCJYH3eUQx9BjwsbGqVnXRQ6oezL5tD\n" \
- "K+tRH41OK2pzFqhnpRvbfPtNDmUnMLUnahGBubRzNQgHE0iNGIYpOawpVabj15H2\n" \
- "4lQ9KBREaqLqiV/VMPFYcRd8tBjE2pRs3yhJ9bjl73gdh6qVvcXIqBBQcRtNbpQ/\n" \
- "WKFzVz5dMCEzS+LhMT2m0GtTYqn8IqRuDgF7P8+347k4wKvrA2XgwP0bvh+IBb4e\n" \
- "nMQuJaKsnMZZPgAPqfIqWsn3cw27iEb5ros+My4KMlMbKBvH2HTXx5YkYJfbRLJ1\n" \
- "oe0mUxshTSOJeOjsfkStsP7QCSIvVb76t2Jo6HKIXEylXFAzj39lea6aysx6KX4c\n" \
- "aC/9XDlhqs0GGcJE3ILbiePTWWiASWjS08ggQasMZsT4VYUaIl3ti1N1cK9xwkaD\n" \
- "BE12JvWEtPd7MtGouPGijXycAtNgPw17vWg/3O11vTKDAHse90dOOpqYpXFN9Cfi\n" \
- "wa72WOkxFEZDuzV/dmjXX1WN82MoXs7pkHLvTgCmdydQ0ZJABYZj1+ZnF5eR6zLo\n" \
- "LAJnV3gOY0DGLORuoifEWMRlzDyYQOBN9smK9xKDtA6CHUuB9jRHKBevQrFy4+Ed\n" \
- "trCmsp9qXPzGvmJOA1YEgnZZPvXjAB7TCv2VrftKgebzbQE2mOoF1YcT1PIB7dFL\n" \
- "AopQ9gdD\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9931 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECO6DyRswVDToAgIIAASCAoB3xqmr0evfZnxk\n" \
+ "Gq/DsbmwGVpO1BQnv+50u8+roflrmHp+TdX/gkPdXDQCqqpK/2J/oaGMCtKEiO8R\n" \
+ "/pxSKcCX3+7leF01FF4z3rEcTVRej0mR6IAzk5QZR4Y0jXzay7Quj2zFJQTASdRy\n" \
+ "6o9HQt5YuDyMFY30yjungmg6sYLBLZ2XypCJYH3eUQx9BjwsbGqVnXRQ6oezL5tD\n" \
+ "K+tRH41OK2pzFqhnpRvbfPtNDmUnMLUnahGBubRzNQgHE0iNGIYpOawpVabj15H2\n" \
+ "4lQ9KBREaqLqiV/VMPFYcRd8tBjE2pRs3yhJ9bjl73gdh6qVvcXIqBBQcRtNbpQ/\n" \
+ "WKFzVz5dMCEzS+LhMT2m0GtTYqn8IqRuDgF7P8+347k4wKvrA2XgwP0bvh+IBb4e\n" \
+ "nMQuJaKsnMZZPgAPqfIqWsn3cw27iEb5ros+My4KMlMbKBvH2HTXx5YkYJfbRLJ1\n" \
+ "oe0mUxshTSOJeOjsfkStsP7QCSIvVb76t2Jo6HKIXEylXFAzj39lea6aysx6KX4c\n" \
+ "aC/9XDlhqs0GGcJE3ILbiePTWWiASWjS08ggQasMZsT4VYUaIl3ti1N1cK9xwkaD\n" \
+ "BE12JvWEtPd7MtGouPGijXycAtNgPw17vWg/3O11vTKDAHse90dOOpqYpXFN9Cfi\n" \
+ "wa72WOkxFEZDuzV/dmjXX1WN82MoXs7pkHLvTgCmdydQ0ZJABYZj1+ZnF5eR6zLo\n" \
+ "LAJnV3gOY0DGLORuoifEWMRlzDyYQOBN9smK9xKDtA6CHUuB9jRHKBevQrFy4+Ed\n" \
+ "trCmsp9qXPzGvmJOA1YEgnZZPvXjAB7TCv2VrftKgebzbQE2mOoF1YcT1PIB7dFL\n" \
+ "AopQ9gdD\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
-#define X_9932 \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECEKkETmhIXPkAgIIAASCAoBzNPQiMSQC6RSk\n" \
- "5Lk5cAbP1r//rE3IA0MNVy2ZwM4UZAQYHCxHkMpParGXwKt3/me064RXRwKOg9UT\n" \
- "nGx5/2A/AI2061A5M0KPVFE41IWQWoVGaiCaAzUDSF2Y+SL9yuLVqEES0gDQgUv5\n" \
- "uVnGyrbSo7sT8MSdvBuzdgmVluiaEVQhfwWJ9f8Q+ebQ1WVkeftzCe9yp1PLj8Yl\n" \
- "VCQ6X5qXqsApJ34Y62wXGqNbEvBkRyKbSqfqMI837tAVdMCdbsEE7wavzxGW6F9h\n" \
- "+igbPZO1NSzY0FZX1eQYqKZxfbkQmyDPLFT2S7BVv2wmihnC/SeZTcOoM+QoWG9j\n" \
- "XNLr1oqbeNxOnELmOXSrOekzbI7GhUcphYEIOBG/4B7ZP3cZ6TEw1EygXUan09XZ\n" \
- "Uz/CFbBTfX1uXHkMSzWwowXpx12vjH78KrRn69WBMGn/YjUheDLjwCDhJQK2CRDH\n" \
- "LbNBvZ7ezy1qHX90jrIdQnQzAoynu1OCfbd+84U2VifAszTcRvPMdiLlJh9MeyFY\n" \
- "8xDmmeNYGTVuDvAuzTlqbGablgQJu80VZ8CgQSW/0x7+oPozichza9tOd19aMDJ4\n" \
- "f8REy/9DAn1jRq/Cy/JFQoTpq3NtcWf9+NPHCwOMjaL63m6fIPXw6s9hnq8WMVIS\n" \
- "mtf5Jkvf402+8jhw1IqTVJasOMTRn62KsRt9a4JcWtorECA42wZGXjge3K9HYk4T\n" \
- "IVXq39VmeRP/9WveDwjkIThMl+0v5fl6Baaz/krXOIRfL6LV3RpkqPF4j/wneXgZ\n" \
- "7cMySs/FL96y6A+yJv281IQadYCqj7nPy92IYESQIcYjA8nd8hvsOxpnaMjXZjui\n" \
- "UWl07o3w\n" \
- "-----END ENCRYPTED PRIVATE KEY-----\n"
+#define X_9932 \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECEKkETmhIXPkAgIIAASCAoBzNPQiMSQC6RSk\n" \
+ "5Lk5cAbP1r//rE3IA0MNVy2ZwM4UZAQYHCxHkMpParGXwKt3/me064RXRwKOg9UT\n" \
+ "nGx5/2A/AI2061A5M0KPVFE41IWQWoVGaiCaAzUDSF2Y+SL9yuLVqEES0gDQgUv5\n" \
+ "uVnGyrbSo7sT8MSdvBuzdgmVluiaEVQhfwWJ9f8Q+ebQ1WVkeftzCe9yp1PLj8Yl\n" \
+ "VCQ6X5qXqsApJ34Y62wXGqNbEvBkRyKbSqfqMI837tAVdMCdbsEE7wavzxGW6F9h\n" \
+ "+igbPZO1NSzY0FZX1eQYqKZxfbkQmyDPLFT2S7BVv2wmihnC/SeZTcOoM+QoWG9j\n" \
+ "XNLr1oqbeNxOnELmOXSrOekzbI7GhUcphYEIOBG/4B7ZP3cZ6TEw1EygXUan09XZ\n" \
+ "Uz/CFbBTfX1uXHkMSzWwowXpx12vjH78KrRn69WBMGn/YjUheDLjwCDhJQK2CRDH\n" \
+ "LbNBvZ7ezy1qHX90jrIdQnQzAoynu1OCfbd+84U2VifAszTcRvPMdiLlJh9MeyFY\n" \
+ "8xDmmeNYGTVuDvAuzTlqbGablgQJu80VZ8CgQSW/0x7+oPozichza9tOd19aMDJ4\n" \
+ "f8REy/9DAn1jRq/Cy/JFQoTpq3NtcWf9+NPHCwOMjaL63m6fIPXw6s9hnq8WMVIS\n" \
+ "mtf5Jkvf402+8jhw1IqTVJasOMTRn62KsRt9a4JcWtorECA42wZGXjge3K9HYk4T\n" \
+ "IVXq39VmeRP/9WveDwjkIThMl+0v5fl6Baaz/krXOIRfL6LV3RpkqPF4j/wneXgZ\n" \
+ "7cMySs/FL96y6A+yJv281IQadYCqj7nPy92IYESQIcYjA8nd8hvsOxpnaMjXZjui\n" \
+ "UWl07o3w\n" \
+ "-----END ENCRYPTED PRIVATE KEY-----\n"
static struct {
const char *name;
@@ -234,31 +234,11 @@ static struct {
const char *pkcs12key;
int expected_result;
} keys[] = {
- {
- "x_9607", "123456", X_9607, 0}, {
- "x_9671", "123456", X_9671, 0}, {
- "x_9925",
- "123456",
- X_9925,
- 0}, {
- "x_9926",
- "123456",
- X_9926,
- 0},
- {
- "x_9927", "123456", X_9927, 0}, {
- "x_9928", "123456", X_9928, 0}, {
- "x_9929",
- "123456",
- X_9929,
- 0}, {
- "x_9930",
- "123456",
- X_9930,
- 0},
- {
- "x_9931", "123456", X_9931, 0}, {
- "x_9932", "123456", X_9932, 0}
+ { "x_9607", "123456", X_9607, 0 }, { "x_9671", "123456", X_9671, 0 },
+ { "x_9925", "123456", X_9925, 0 }, { "x_9926", "123456", X_9926, 0 },
+ { "x_9927", "123456", X_9927, 0 }, { "x_9928", "123456", X_9928, 0 },
+ { "x_9929", "123456", X_9929, 0 }, { "x_9930", "123456", X_9930, 0 },
+ { "x_9931", "123456", X_9931, 0 }, { "x_9932", "123456", X_9932, 0 }
};
int main(void)
@@ -282,9 +262,8 @@ int main(void)
tmp.data = (unsigned char *)keys[i].pkcs12key;
tmp.size = strlen((char *)tmp.data);
- ret = gnutls_x509_privkey_import_pkcs8(key, &tmp,
- GNUTLS_X509_FMT_PEM,
- keys[i].password, 0);
+ ret = gnutls_x509_privkey_import_pkcs8(
+ key, &tmp, GNUTLS_X509_FMT_PEM, keys[i].password, 0);
gnutls_x509_privkey_deinit(key);
if (ret != keys[i].expected_result) {
@@ -292,7 +271,6 @@ int main(void)
gnutls_strerror(ret));
return 1;
}
-
}
gnutls_global_deinit();
diff --git a/tests/pkcs12_simple.c b/tests/pkcs12_simple.c
index d411ed83c8..d18c44d918 100644
--- a/tests/pkcs12_simple.c
+++ b/tests/pkcs12_simple.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -66,9 +66,8 @@ void doit(void)
filename = "pkcs12-decode/pkcs12_5certs.p12";
if (debug)
- success
- ("Reading PKCS#12 blob from `%s' using password `%s'.\n",
- filename, password);
+ success("Reading PKCS#12 blob from `%s' using password `%s'.\n",
+ filename, password);
ret = gnutls_load_file(filename, &data);
if (ret < 0)
@@ -82,10 +81,9 @@ void doit(void)
if (debug)
success("Read file OK\n");
- ret =
- gnutls_pkcs12_simple_parse(pkcs12, password, &pkey, &chain,
- &chain_size, &extras, &extras_size,
- NULL, 0);
+ ret = gnutls_pkcs12_simple_parse(pkcs12, password, &pkey, &chain,
+ &chain_size, &extras, &extras_size,
+ NULL, 0);
if (ret < 0)
fail("pkcs12_simple_parse failed %d: %s\n", ret,
gnutls_strerror(ret));
@@ -134,9 +132,8 @@ void doit(void)
fail("gnutls_x509_privkey_init failed %d: %s\n", ret,
gnutls_strerror(ret));
- ret =
- gnutls_x509_privkey_import2(pkey, &data, GNUTLS_X509_FMT_DER,
- password, 0);
+ ret = gnutls_x509_privkey_import2(pkey, &data, GNUTLS_X509_FMT_DER,
+ password, 0);
if (ret < 0)
fail("gnutls_x509_privkey_import2 failed %d: %s\n", ret,
gnutls_strerror(ret));
diff --git a/tests/pkcs7-cat-parse.c b/tests/pkcs7-cat-parse.c
index 4059818ee9..286ce66660 100644
--- a/tests/pkcs7-cat-parse.c
+++ b/tests/pkcs7-cat-parse.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -34,51 +34,51 @@
#include "utils.h"
const char pkcs7_data[] =
- "-----BEGIN PKCS7-----\n"
- "MIIHSwYJKoZIhvcNAQcCoIIHPDCCBzgCAQExCzAJBgUrDgMCGgUAMIICNwYJKwYB\n"
- "BAGCNwoBoIICKDCCAiQwDAYKKwYBBAGCNwwBAQQQu/ZNvyszUkS6h2Pwl4hELRcN\n"
- "MTYxMDExMTcxMzAyWjAOBgorBgEEAYI3DAECBQAwggGVMIIBkQRSRQA1ADIAMgAx\n"
- "ADUANAAwAEQAQwA0AEIAOQA3ADQARgA1ADQARABCADQARQAzADkAMABCAEYARgA0\n"
- "ADEAMwAyADMAOQA5AEMAOAAwADMANwAAADGCATkwQAYKKwYBBAGCNwwCATEyMDAe\n"
- "CABGAGkAbABlAgQQAQABBB5zAGEAbQBiAGEAcAAxADAAMAAwAC4AaQBuAGYAAAAw\n"
- "RQYKKwYBBAGCNwIBBDE3MDUwEAYKKwYBBAGCNwIBGaICgAAwITAJBgUrDgMCGgUA\n"
- "BBTlIhVA3EuXT1TbTjkL/0EyOZyANzBKBgorBgEEAYI3DAIBMTwwOh4MAE8AUwBB\n"
- "AHQAdAByAgQQAQABBCQyADoANgAuADAALAAyADoANgAuADEALAAyADoANgAuADQA\n"
- "AAAwYgYKKwYBBAGCNwwCAjFUMFIeTAB7AEQARQAzADUAMQBBADQAMgAtADgARQA1\n"
- "ADkALQAxADEARAAwAC0AOABDADQANwAtADAAMABDADAANABGAEMAMgA5ADUARQBF\n"
- "AH0CAgIAoEowSDBGBgorBgEEAYI3DAIBBDgwNh4EAE8AUwIEEAEAAQQoVgBpAHMA\n"
- "dABhAFgAOAA2ACwANwBYADgANgAsADEAMABYADgANgAAAKCCAwwwggMIMIIB8KAD\n"
- "AgECAhAWVsiyv5uzsk5vNBHNz/C1MA0GCSqGSIb3DQEBBQUAMC0xKzApBgNVBAMT\n"
- "IldES1Rlc3RDZXJ0IGFzbiwxMzEyMDY3OTU0ODA0ODM0NTMwHhcNMTYxMDExMTcx\n"
- "MjI4WhcNMjYxMDExMDAwMDAwWjAtMSswKQYDVQQDEyJXREtUZXN0Q2VydCBhc24s\n"
- "MTMxMjA2Nzk1NDgwNDgzNDUzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
- "AQEApD6uPRvnduA8nsL3gd/OdTZzk+p0P9vAQ9kVbRFG39/UuSIIm7nyNO47Tu7h\n"
- "CBuK8q5zwY31naKaOkLJMwTpUonI/rwFEhrt7EwFNi2aRVeyEbqLlwCzFK5rJGzP\n"
- "wDp4vcKpWPsqD5mOKBOXOIbQt5l8MiKM91iRqvwEEg1Eba8hKF3P/MHT2ZaxMy4O\n"
- "QdJdgjovSQfqihA5qG1wwXXTQvWeQHvt1TO+vUNTcnbO0YnIuG+c0WDljn4UVLYo\n"
- "2HFk1c7MkTfYX3OzdUbxXpMsHbbQun2XU2v+yQRgViHUDe4G6pGz4ur/aN52DEFk\n"
- "qIUCAeJWBhG4pQvMCl20L/19DwIDAQABoyQwIjALBgNVHQ8EBAMCBDAwEwYDVR0l\n"
- "BAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQEFBQADggEBAE5t7t5lXUYJGh8xu412\n"
- "yREBlUxQT4Uid9Kc/GmmwiQvinKMWwjdowxtfnRR/ZzrbD5AVVQIaM6JSgzLEH3x\n"
- "0geN9FqMxcaJVksnUcx9iqWm94bznoPz9FXlgQ+e6lx9vCEP1butyUhj7m8yi0pk\n"
- "D8nXwf8cszaPY2tjqMa8o77/W6pDUjIGJHNIsZJwIN/qJT3Sxs9Nb8qwLfjKB7Fp\n"
- "aLgC9BAb73rWdW2uQSGtWO9Bvf7/fcgOk2Su1CFZTf/ZoqFbtTQ+Qwl92buUFmTl\n"
- "yo9gVmPHXZWfeYaIDwTen2FI43WmLEsge8Xlfv+TpFLTby2BWnKgtxBsHA6L9Fem\n"
- "xrwxggHZMIIB1QIBATBBMC0xKzApBgNVBAMTIldES1Rlc3RDZXJ0IGFzbiwxMzEy\n"
- "MDY3OTU0ODA0ODM0NTMCEBZWyLK/m7OyTm80Ec3P8LUwCQYFKw4DAhoFAKBvMBAG\n"
- "CisGAQQBgjcCAQwxAjAAMBgGCSqGSIb3DQEJAzELBgkrBgEEAYI3CgEwHAYKKwYB\n"
- "BAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFJBgjwiqs2u+\n"
- "74y1Cb725gOFBYr6MA0GCSqGSIb3DQEBAQUABIIBAI4vlVYFKOLdIfs/7kx9ADl5\n"
- "zaniHZMgjKiLAljglGCzkfO46IMdOP9/KfmTTTwWBtaP9s7fv9O0XGyOl2qH8Ufg\n"
- "2d+0iS7CI8CqwF1Q8NLPYrSl2peKAPNibfIVbLR2+RUJ7zHxevdVou9Dt36A59mW\n"
- "BZ78THyix0mVJ1ZivfzFwarChq5S4YI2fpbugTFftlr8YkRB78ki5J2sXICkcWtU\n"
- "JRBZqhvsFlsghRWbUKyp20YyPNTgaGelumFj57OLGCVGAejxme/iF8EkmrUV8zs/\n"
- "FKuAqJdZ8QPdLD5sKyOL8a19md0tYpCV2ThOWD8okm8PrSMfz4fWlIKpTOi/KE0=\n"
- "-----END PKCS7-----\n";
+ "-----BEGIN PKCS7-----\n"
+ "MIIHSwYJKoZIhvcNAQcCoIIHPDCCBzgCAQExCzAJBgUrDgMCGgUAMIICNwYJKwYB\n"
+ "BAGCNwoBoIICKDCCAiQwDAYKKwYBBAGCNwwBAQQQu/ZNvyszUkS6h2Pwl4hELRcN\n"
+ "MTYxMDExMTcxMzAyWjAOBgorBgEEAYI3DAECBQAwggGVMIIBkQRSRQA1ADIAMgAx\n"
+ "ADUANAAwAEQAQwA0AEIAOQA3ADQARgA1ADQARABCADQARQAzADkAMABCAEYARgA0\n"
+ "ADEAMwAyADMAOQA5AEMAOAAwADMANwAAADGCATkwQAYKKwYBBAGCNwwCATEyMDAe\n"
+ "CABGAGkAbABlAgQQAQABBB5zAGEAbQBiAGEAcAAxADAAMAAwAC4AaQBuAGYAAAAw\n"
+ "RQYKKwYBBAGCNwIBBDE3MDUwEAYKKwYBBAGCNwIBGaICgAAwITAJBgUrDgMCGgUA\n"
+ "BBTlIhVA3EuXT1TbTjkL/0EyOZyANzBKBgorBgEEAYI3DAIBMTwwOh4MAE8AUwBB\n"
+ "AHQAdAByAgQQAQABBCQyADoANgAuADAALAAyADoANgAuADEALAAyADoANgAuADQA\n"
+ "AAAwYgYKKwYBBAGCNwwCAjFUMFIeTAB7AEQARQAzADUAMQBBADQAMgAtADgARQA1\n"
+ "ADkALQAxADEARAAwAC0AOABDADQANwAtADAAMABDADAANABGAEMAMgA5ADUARQBF\n"
+ "AH0CAgIAoEowSDBGBgorBgEEAYI3DAIBBDgwNh4EAE8AUwIEEAEAAQQoVgBpAHMA\n"
+ "dABhAFgAOAA2ACwANwBYADgANgAsADEAMABYADgANgAAAKCCAwwwggMIMIIB8KAD\n"
+ "AgECAhAWVsiyv5uzsk5vNBHNz/C1MA0GCSqGSIb3DQEBBQUAMC0xKzApBgNVBAMT\n"
+ "IldES1Rlc3RDZXJ0IGFzbiwxMzEyMDY3OTU0ODA0ODM0NTMwHhcNMTYxMDExMTcx\n"
+ "MjI4WhcNMjYxMDExMDAwMDAwWjAtMSswKQYDVQQDEyJXREtUZXN0Q2VydCBhc24s\n"
+ "MTMxMjA2Nzk1NDgwNDgzNDUzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
+ "AQEApD6uPRvnduA8nsL3gd/OdTZzk+p0P9vAQ9kVbRFG39/UuSIIm7nyNO47Tu7h\n"
+ "CBuK8q5zwY31naKaOkLJMwTpUonI/rwFEhrt7EwFNi2aRVeyEbqLlwCzFK5rJGzP\n"
+ "wDp4vcKpWPsqD5mOKBOXOIbQt5l8MiKM91iRqvwEEg1Eba8hKF3P/MHT2ZaxMy4O\n"
+ "QdJdgjovSQfqihA5qG1wwXXTQvWeQHvt1TO+vUNTcnbO0YnIuG+c0WDljn4UVLYo\n"
+ "2HFk1c7MkTfYX3OzdUbxXpMsHbbQun2XU2v+yQRgViHUDe4G6pGz4ur/aN52DEFk\n"
+ "qIUCAeJWBhG4pQvMCl20L/19DwIDAQABoyQwIjALBgNVHQ8EBAMCBDAwEwYDVR0l\n"
+ "BAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQEFBQADggEBAE5t7t5lXUYJGh8xu412\n"
+ "yREBlUxQT4Uid9Kc/GmmwiQvinKMWwjdowxtfnRR/ZzrbD5AVVQIaM6JSgzLEH3x\n"
+ "0geN9FqMxcaJVksnUcx9iqWm94bznoPz9FXlgQ+e6lx9vCEP1butyUhj7m8yi0pk\n"
+ "D8nXwf8cszaPY2tjqMa8o77/W6pDUjIGJHNIsZJwIN/qJT3Sxs9Nb8qwLfjKB7Fp\n"
+ "aLgC9BAb73rWdW2uQSGtWO9Bvf7/fcgOk2Su1CFZTf/ZoqFbtTQ+Qwl92buUFmTl\n"
+ "yo9gVmPHXZWfeYaIDwTen2FI43WmLEsge8Xlfv+TpFLTby2BWnKgtxBsHA6L9Fem\n"
+ "xrwxggHZMIIB1QIBATBBMC0xKzApBgNVBAMTIldES1Rlc3RDZXJ0IGFzbiwxMzEy\n"
+ "MDY3OTU0ODA0ODM0NTMCEBZWyLK/m7OyTm80Ec3P8LUwCQYFKw4DAhoFAKBvMBAG\n"
+ "CisGAQQBgjcCAQwxAjAAMBgGCSqGSIb3DQEJAzELBgkrBgEEAYI3CgEwHAYKKwYB\n"
+ "BAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFJBgjwiqs2u+\n"
+ "74y1Cb725gOFBYr6MA0GCSqGSIb3DQEBAQUABIIBAI4vlVYFKOLdIfs/7kx9ADl5\n"
+ "zaniHZMgjKiLAljglGCzkfO46IMdOP9/KfmTTTwWBtaP9s7fv9O0XGyOl2qH8Ufg\n"
+ "2d+0iS7CI8CqwF1Q8NLPYrSl2peKAPNibfIVbLR2+RUJ7zHxevdVou9Dt36A59mW\n"
+ "BZ78THyix0mVJ1ZivfzFwarChq5S4YI2fpbugTFftlr8YkRB78ki5J2sXICkcWtU\n"
+ "JRBZqhvsFlsghRWbUKyp20YyPNTgaGelumFj57OLGCVGAejxme/iF8EkmrUV8zs/\n"
+ "FKuAqJdZ8QPdLD5sKyOL8a19md0tYpCV2ThOWD8okm8PrSMfz4fWlIKpTOi/KE0=\n"
+ "-----END PKCS7-----\n";
const unsigned char der_content[] =
- "\x30\x82\x02\x24\x30\x0c\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x01\x01\x04\x10\xbb\xf6\x4d\xbf\x2b\x33\x52\x44\xba\x87\x63\xf0\x97\x88\x44\x2d\x17\x0d\x31\x36\x31\x30\x31\x31\x31\x37\x31\x33\x30\x32\x5a\x30\x0e\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x01\x02\x05\x00\x30\x82\x01\x95\x30\x82\x01\x91\x04\x52\x45\x00\x35\x00\x32\x00\x32\x00\x31\x00\x35\x00\x34\x00\x30\x00\x44\x00\x43\x00\x34\x00\x42\x00\x39\x00\x37\x00\x34\x00\x46\x00\x35\x00\x34\x00\x44\x00\x42\x00\x34\x00\x45\x00\x33\x00\x39\x00\x30\x00\x42\x00\x46\x00\x46\x00\x34\x00\x31\x00\x33\x00\x32\x00\x33\x00\x39\x00\x39\x00\x43\x00\x38\x00\x30\x00\x33\x00\x37\x00\x00\x00\x31\x82\x01\x39\x30\x40\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x01\x31\x32\x30\x30\x1e\x08\x00\x46\x00\x69\x00\x6c\x00\x65\x02\x04\x10\x01\x00\x01\x04\x1e\x73\x00\x61\x00\x6d\x00\x62\x00\x61\x00\x70\x00\x31\x00\x30\x00\x30\x00\x30\x00\x2e\x00\x69\x00\x6e\x00\x66\x00\x00\x00\x30\x45\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x01\x04\x31\x37\x30\x35\x30\x10\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x01\x19\xa2\x02\x80\x00\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xe5\x22\x15\x40\xdc\x4b\x97\x4f\x54\xdb\x4e\x39\x0b\xff\x41\x32\x39\x9c\x80\x37\x30\x4a\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x01\x31\x3c\x30\x3a\x1e\x0c\x00\x4f\x00\x53\x00\x41\x00\x74\x00\x74\x00\x72\x02\x04\x10\x01\x00\x01\x04\x24\x32\x00\x3a\x00\x36\x00\x2e\x00\x30\x00\x2c\x00\x32\x00\x3a\x00\x36\x00\x2e\x00\x31\x00\x2c\x00\x32\x00\x3a\x00\x36\x00\x2e\x00\x34\x00\x00\x00\x30\x62\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x02\x31\x54\x30\x52\x1e\x4c\x00\x7b\x00\x44\x00\x45\x00\x33\x00\x35\x00\x31\x00\x41\x00\x34\x00\x32\x00\x2d\x00\x38\x00\x45\x00\x35\x00\x39\x00\x2d\x00\x31\x00\x31\x00\x44\x00\x30\x00\x2d\x00\x38\x00\x43\x00\x34\x00\x37\x00\x2d\x00\x30\x00\x30\x00\x43\x00\x30\x00\x34\x00\x46\x00\x43\x00\x32\x00\x39\x00\x35\x00\x45\x00\x45\x00\x7d\x02\x02\x02\x00\xa0\x4a\x30\x48\x30\x46\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x01\x04\x38\x30\x36\x1e\x04\x00\x4f\x00\x53\x02\x04\x10\x01\x00\x01\x04\x28\x56\x00\x69\x00\x73\x00\x74\x00\x61\x00\x58\x00\x38\x00\x36\x00\x2c\x00\x37\x00\x58\x00\x38\x00\x36\x00\x2c\x00\x31\x00\x30\x00\x58\x00\x38\x00\x36\x00\x00\x00";
-#define der_content_size (sizeof(der_content)-1)
+ "\x30\x82\x02\x24\x30\x0c\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x01\x01\x04\x10\xbb\xf6\x4d\xbf\x2b\x33\x52\x44\xba\x87\x63\xf0\x97\x88\x44\x2d\x17\x0d\x31\x36\x31\x30\x31\x31\x31\x37\x31\x33\x30\x32\x5a\x30\x0e\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x01\x02\x05\x00\x30\x82\x01\x95\x30\x82\x01\x91\x04\x52\x45\x00\x35\x00\x32\x00\x32\x00\x31\x00\x35\x00\x34\x00\x30\x00\x44\x00\x43\x00\x34\x00\x42\x00\x39\x00\x37\x00\x34\x00\x46\x00\x35\x00\x34\x00\x44\x00\x42\x00\x34\x00\x45\x00\x33\x00\x39\x00\x30\x00\x42\x00\x46\x00\x46\x00\x34\x00\x31\x00\x33\x00\x32\x00\x33\x00\x39\x00\x39\x00\x43\x00\x38\x00\x30\x00\x33\x00\x37\x00\x00\x00\x31\x82\x01\x39\x30\x40\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x01\x31\x32\x30\x30\x1e\x08\x00\x46\x00\x69\x00\x6c\x00\x65\x02\x04\x10\x01\x00\x01\x04\x1e\x73\x00\x61\x00\x6d\x00\x62\x00\x61\x00\x70\x00\x31\x00\x30\x00\x30\x00\x30\x00\x2e\x00\x69\x00\x6e\x00\x66\x00\x00\x00\x30\x45\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x01\x04\x31\x37\x30\x35\x30\x10\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x01\x19\xa2\x02\x80\x00\x30\x21\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xe5\x22\x15\x40\xdc\x4b\x97\x4f\x54\xdb\x4e\x39\x0b\xff\x41\x32\x39\x9c\x80\x37\x30\x4a\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x01\x31\x3c\x30\x3a\x1e\x0c\x00\x4f\x00\x53\x00\x41\x00\x74\x00\x74\x00\x72\x02\x04\x10\x01\x00\x01\x04\x24\x32\x00\x3a\x00\x36\x00\x2e\x00\x30\x00\x2c\x00\x32\x00\x3a\x00\x36\x00\x2e\x00\x31\x00\x2c\x00\x32\x00\x3a\x00\x36\x00\x2e\x00\x34\x00\x00\x00\x30\x62\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x02\x31\x54\x30\x52\x1e\x4c\x00\x7b\x00\x44\x00\x45\x00\x33\x00\x35\x00\x31\x00\x41\x00\x34\x00\x32\x00\x2d\x00\x38\x00\x45\x00\x35\x00\x39\x00\x2d\x00\x31\x00\x31\x00\x44\x00\x30\x00\x2d\x00\x38\x00\x43\x00\x34\x00\x37\x00\x2d\x00\x30\x00\x30\x00\x43\x00\x30\x00\x34\x00\x46\x00\x43\x00\x32\x00\x39\x00\x35\x00\x45\x00\x45\x00\x7d\x02\x02\x02\x00\xa0\x4a\x30\x48\x30\x46\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0c\x02\x01\x04\x38\x30\x36\x1e\x04\x00\x4f\x00\x53\x02\x04\x10\x01\x00\x01\x04\x28\x56\x00\x69\x00\x73\x00\x74\x00\x61\x00\x58\x00\x38\x00\x36\x00\x2c\x00\x37\x00\x58\x00\x38\x00\x36\x00\x2c\x00\x31\x00\x30\x00\x58\x00\x38\x00\x36\x00\x00\x00";
+#define der_content_size (sizeof(der_content) - 1)
const gnutls_datum_t pkcs7_pem = { (void *)pkcs7_data, sizeof(pkcs7_data) - 1 };
static void tls_log_func(int level, const char *str)
@@ -118,9 +118,8 @@ void doit(void)
assert(strcmp(oid, "1.3.6.1.4.1.311.10.1") == 0);
- ret =
- gnutls_pkcs7_get_embedded_data(pkcs7, GNUTLS_PKCS7_EDATA_GET_RAW,
- &data);
+ ret = gnutls_pkcs7_get_embedded_data(pkcs7, GNUTLS_PKCS7_EDATA_GET_RAW,
+ &data);
if (ret < 0) {
fail("error in gnutls_pkcs7_get_embedded_data: %s\n",
gnutls_strerror(ret));
diff --git a/tests/pkcs7-gen.c b/tests/pkcs7-gen.c
index 2d23570754..8020afa76c 100644
--- a/tests/pkcs7-gen.c
+++ b/tests/pkcs7-gen.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -33,41 +33,42 @@
#include "utils.h"
static char pem1_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
static char pem1_key[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t cert = { (void *)pem1_cert, sizeof(pem1_cert) - 1 };
const gnutls_datum_t key = { (void *)pem1_key, sizeof(pem1_key) - 1 };
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1199142000;
@@ -115,9 +116,8 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_privkey_import_x509_raw(pkey, &key, GNUTLS_X509_FMT_PEM, 0,
- 0);
+ ret = gnutls_privkey_import_x509_raw(pkey, &key, GNUTLS_X509_FMT_PEM, 0,
+ 0);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
@@ -136,33 +136,29 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_pkcs7_add_attr(&list1, "1.2.3.4", &data1,
- GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
+ ret = gnutls_pkcs7_add_attr(&list1, "1.2.3.4", &data1,
+ GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs7_add_attr(&list1, "2.3.4", &data2,
- GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
+ ret = gnutls_pkcs7_add_attr(&list1, "2.3.4", &data2,
+ GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs7_add_attr(&list2, "2.3.4", &data3,
- GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
+ ret = gnutls_pkcs7_add_attr(&list2, "2.3.4", &data3,
+ GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs7_sign(pkcs7, crt, pkey, &data3, list1, list2,
- GNUTLS_DIG_SHA256, 0);
+ ret = gnutls_pkcs7_sign(pkcs7, crt, pkey, &data3, list1, list2,
+ GNUTLS_DIG_SHA256, 0);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
@@ -213,46 +209,43 @@ void doit(void)
}
gnutls_free(data.data);
- ret =
- gnutls_pkcs7_get_attr(info.signed_attrs, 2, &oid, &data,
- GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
+ ret = gnutls_pkcs7_get_attr(info.signed_attrs, 2, &oid, &data,
+ GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
}
- if (strcmp(oid, "1.2.3.4") != 0 || data.size != data1.size
- || memcmp(data.data, data1.data, data.size) != 0) {
+ if (strcmp(oid, "1.2.3.4") != 0 || data.size != data1.size ||
+ memcmp(data.data, data1.data, data.size) != 0) {
fail("error in %d: %s\n", __LINE__, oid);
exit(1);
}
gnutls_free(data.data);
- ret =
- gnutls_pkcs7_get_attr(info.signed_attrs, 3, &oid, &data,
- GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
+ ret = gnutls_pkcs7_get_attr(info.signed_attrs, 3, &oid, &data,
+ GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
}
- if (strcmp(oid, "2.3.4") != 0 || data.size != data2.size
- || memcmp(data.data, data2.data, data.size) != 0) {
+ if (strcmp(oid, "2.3.4") != 0 || data.size != data2.size ||
+ memcmp(data.data, data2.data, data.size) != 0) {
fail("error in %d: %s\n", __LINE__, oid);
exit(1);
}
gnutls_free(data.data);
- ret =
- gnutls_pkcs7_get_attr(info.unsigned_attrs, 0, &oid, &data,
- GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
+ ret = gnutls_pkcs7_get_attr(info.unsigned_attrs, 0, &oid, &data,
+ GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING);
if (ret < 0) {
fail("error in %d: %s\n", __LINE__, gnutls_strerror(ret));
exit(1);
}
- if (strcmp(oid, "2.3.4") != 0 || data.size != data3.size
- || memcmp(data.data, data3.data, data.size) != 0) {
+ if (strcmp(oid, "2.3.4") != 0 || data.size != data3.size ||
+ memcmp(data.data, data3.data, data.size) != 0) {
fail("error in %d: %s\n", __LINE__, oid);
exit(1);
}
diff --git a/tests/pkcs7-verify-double-free.c b/tests/pkcs7-verify-double-free.c
index f75b46a7a5..2aab7b6105 100644
--- a/tests/pkcs7-verify-double-free.c
+++ b/tests/pkcs7-verify-double-free.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,127 +30,129 @@
#include "utils.h"
static char rca_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDCjCCAfKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQKDApFeGFt\n"
- "cGxlIENBMCAXDTE3MDcyMTE0NDMzNloYDzIyMjIwNzIxMTQ0MzM2WjAVMRMwEQYD\n"
- "VQQKDApFeGFtcGxlIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n"
- "v8hnKPJ/IA0SQB/A/a0Uh+npZ67vsgIMrtTQo0r0kJkmkBz5323xO3DVuJfB3QmX\n"
- "v9zvoeCQLuDvWar5Aixfxgm6s5Q+yPvJj9t3NebDrU+Y4+qyewBIJUF8EF/5iBPC\n"
- "ZHONmzbfIRWvQWGGgb2CRcOHp2J7AY/QLB6LsWPaLjs/DHva28Q13JaTTHIpdu8v\n"
- "t6vHr0nXf66DN4MvtoF3N+o+v3snJCMsfXOqASi4tbWR7gtOfCfiz9uBjh0W2Dut\n"
- "/jclBQkJkLe6esNSM+f4YiOpctVDjmfj8yoHCp394vt0wFqhG38wsTFAyVP6qIcf\n"
- "5zoSu9ovEt2cTkhnZHjiiwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud\n"
- "DwEB/wQEAwIBBjAdBgNVHQ4EFgQUhjeO6Uc5imbjOl2I2ltVA27Hu9YwHwYDVR0j\n"
- "BBgwFoAUhjeO6Uc5imbjOl2I2ltVA27Hu9YwDQYJKoZIhvcNAQELBQADggEBAD+r\n"
- "i/7FsbG0OFKGF2+JOnth6NjJQcMfM8LiglqAuBUijrv7vltoZ0Z3FJH1Vi4OeMXn\n"
- "l7X/9tWUve0uFl75MfjDrf0+lCEdYRY1LCba2BrUgpbbkLywVUdnbsvndehegCgS\n"
- "jss2/zys3Hlo3ZaHlTMQ/NQ4nrxcxkjOvkZSEOqgxJTLpzm6pr7YUts4k6c6lNiB\n"
- "FSiJiDzsJCmWR9C3fBbUlfDfTJYGN3JwqX270KchXDElo8gNoDnF7jBMpLFFSEKm\n"
- "MyfbNLX/srh+CEfZaN/OZV4A3MQ0L8vQEp6M4CJhvRLIuMVabZ2coJ0AzystrOMU\n"
- "LirBWjg89RoAjFQ7bTE=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDCjCCAfKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQKDApFeGFt\n"
+ "cGxlIENBMCAXDTE3MDcyMTE0NDMzNloYDzIyMjIwNzIxMTQ0MzM2WjAVMRMwEQYD\n"
+ "VQQKDApFeGFtcGxlIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n"
+ "v8hnKPJ/IA0SQB/A/a0Uh+npZ67vsgIMrtTQo0r0kJkmkBz5323xO3DVuJfB3QmX\n"
+ "v9zvoeCQLuDvWar5Aixfxgm6s5Q+yPvJj9t3NebDrU+Y4+qyewBIJUF8EF/5iBPC\n"
+ "ZHONmzbfIRWvQWGGgb2CRcOHp2J7AY/QLB6LsWPaLjs/DHva28Q13JaTTHIpdu8v\n"
+ "t6vHr0nXf66DN4MvtoF3N+o+v3snJCMsfXOqASi4tbWR7gtOfCfiz9uBjh0W2Dut\n"
+ "/jclBQkJkLe6esNSM+f4YiOpctVDjmfj8yoHCp394vt0wFqhG38wsTFAyVP6qIcf\n"
+ "5zoSu9ovEt2cTkhnZHjiiwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud\n"
+ "DwEB/wQEAwIBBjAdBgNVHQ4EFgQUhjeO6Uc5imbjOl2I2ltVA27Hu9YwHwYDVR0j\n"
+ "BBgwFoAUhjeO6Uc5imbjOl2I2ltVA27Hu9YwDQYJKoZIhvcNAQELBQADggEBAD+r\n"
+ "i/7FsbG0OFKGF2+JOnth6NjJQcMfM8LiglqAuBUijrv7vltoZ0Z3FJH1Vi4OeMXn\n"
+ "l7X/9tWUve0uFl75MfjDrf0+lCEdYRY1LCba2BrUgpbbkLywVUdnbsvndehegCgS\n"
+ "jss2/zys3Hlo3ZaHlTMQ/NQ4nrxcxkjOvkZSEOqgxJTLpzm6pr7YUts4k6c6lNiB\n"
+ "FSiJiDzsJCmWR9C3fBbUlfDfTJYGN3JwqX270KchXDElo8gNoDnF7jBMpLFFSEKm\n"
+ "MyfbNLX/srh+CEfZaN/OZV4A3MQ0L8vQEp6M4CJhvRLIuMVabZ2coJ0AzystrOMU\n"
+ "LirBWjg89RoAjFQ7bTE=\n"
+ "-----END CERTIFICATE-----\n";
static char ca_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDFzCCAf+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQKDApFeGFt\n"
- "cGxlIENBMCAXDTE3MDcyMTE0NDQzNFoYDzIyMjIwNzIxMTQ0NDM0WjAiMSAwHgYD\n"
- "VQQKDBdFeGFtcGxlIGludGVybWVkaWF0ZSBDQTCCASIwDQYJKoZIhvcNAQEBBQAD\n"
- "ggEPADCCAQoCggEBAKb9ACB8u//sP6MfNU1OsVw68xz3eTPLgKxS0vpqexm6iGVg\n"
- "ug/o9uYRLzqiEukv/eyz9WzHmY7sqlOJjOFdv92+SaNg79Jc51WHPFXgea4/qyfr\n"
- "4y14PGs0SNxm6T44sXurUs7cXydQVUgnq2VCaWFOTUdxXoAWkV8r8GaUoPD/klVz\n"
- "RqxSZVETmX1XBKhsMnnov41kRwVph2C+VfUspsbaUZaz/o/S1/nokhXRACzKsMBr\n"
- "obqiGxbY35uVzsmbAW5ErhQz98AWJL3Bub1fsEMXg6OEMmPH4AtX888dTIYZNw0E\n"
- "bUIESspz1kjJQTtVQDHTprhwz16YiSVeUonlLgMCAwEAAaNjMGEwDwYDVR0TAQH/\n"
- "BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPBjxDWjMhjXERirKF9O\n"
- "o/5Cllc5MB8GA1UdIwQYMBaAFIY3julHOYpm4zpdiNpbVQNux7vWMA0GCSqGSIb3\n"
- "DQEBCwUAA4IBAQCTm+vv3hBa6lL5IT+Fw8aTxQ2Ne7mZ5oyazhvXYwwfKNMX3SML\n"
- "W2JdPaL64ZwbxxxYvW401o5Z0CEgru3YFrsqB/hEdl0Uf8UWWJmE1rRa+miTmbjt\n"
- "lrLNCWdrs6CiwvsPITTHg7jevB4KyZYsTSxQFcyr3N3xF+6EmOTC4IkhPPnXYXcp\n"
- "248ih+WOavSYoRvzgB/Dip1WnPYU2mfIV3O8JReRryngA0TzWCLPLUoWR3R4jwtC\n"
- "+1uSLoqaenz3qv3F1WEbke37az9YJuXx/5D8CqFQiZ62TUUtI6fYd8mkMBM4Qfh6\n"
- "NW9XrCkI9wlpL5K9HllhuW0BhKeJkuPpyQ2p\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFzCCAf+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQKDApFeGFt\n"
+ "cGxlIENBMCAXDTE3MDcyMTE0NDQzNFoYDzIyMjIwNzIxMTQ0NDM0WjAiMSAwHgYD\n"
+ "VQQKDBdFeGFtcGxlIGludGVybWVkaWF0ZSBDQTCCASIwDQYJKoZIhvcNAQEBBQAD\n"
+ "ggEPADCCAQoCggEBAKb9ACB8u//sP6MfNU1OsVw68xz3eTPLgKxS0vpqexm6iGVg\n"
+ "ug/o9uYRLzqiEukv/eyz9WzHmY7sqlOJjOFdv92+SaNg79Jc51WHPFXgea4/qyfr\n"
+ "4y14PGs0SNxm6T44sXurUs7cXydQVUgnq2VCaWFOTUdxXoAWkV8r8GaUoPD/klVz\n"
+ "RqxSZVETmX1XBKhsMnnov41kRwVph2C+VfUspsbaUZaz/o/S1/nokhXRACzKsMBr\n"
+ "obqiGxbY35uVzsmbAW5ErhQz98AWJL3Bub1fsEMXg6OEMmPH4AtX888dTIYZNw0E\n"
+ "bUIESspz1kjJQTtVQDHTprhwz16YiSVeUonlLgMCAwEAAaNjMGEwDwYDVR0TAQH/\n"
+ "BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPBjxDWjMhjXERirKF9O\n"
+ "o/5Cllc5MB8GA1UdIwQYMBaAFIY3julHOYpm4zpdiNpbVQNux7vWMA0GCSqGSIb3\n"
+ "DQEBCwUAA4IBAQCTm+vv3hBa6lL5IT+Fw8aTxQ2Ne7mZ5oyazhvXYwwfKNMX3SML\n"
+ "W2JdPaL64ZwbxxxYvW401o5Z0CEgru3YFrsqB/hEdl0Uf8UWWJmE1rRa+miTmbjt\n"
+ "lrLNCWdrs6CiwvsPITTHg7jevB4KyZYsTSxQFcyr3N3xF+6EmOTC4IkhPPnXYXcp\n"
+ "248ih+WOavSYoRvzgB/Dip1WnPYU2mfIV3O8JReRryngA0TzWCLPLUoWR3R4jwtC\n"
+ "+1uSLoqaenz3qv3F1WEbke37az9YJuXx/5D8CqFQiZ62TUUtI6fYd8mkMBM4Qfh6\n"
+ "NW9XrCkI9wlpL5K9HllhuW0BhKeJkuPpyQ2p\n"
+ "-----END CERTIFICATE-----\n";
static char ee_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQKDBdFeGFt\n"
- "cGxlIGludGVybWVkaWF0ZSBDQTAgFw0yMjA3MjExNDQ1MzdaGA8yMjIyMDcyMTE0\n"
- "NDUzN1owFTETMBEGA1UEAwwKSm9obiBTbWl0aDCCASIwDQYJKoZIhvcNAQEBBQAD\n"
- "ggEPADCCAQoCggEBAMb1uuxppBFY+WVD45iyHUq7DkIJNNOI/JRaybVJfPktWq2E\n"
- "eNe7XhV05KKnqZTbDO2iYqNHqGhZ8pz/IstDRTZP3z/q1vXTG0P9Gx28rEy5TaUY\n"
- "QjtD+ZoFUQm0ORMDBjd8jikqtJ87hKeuOPMH4rzdydotMaPQSm7KLzHBGBr6gg7z\n"
- "g1IxPWkhMyHapoMqqrhjwjzoTY97UIXpZTEoIA+KpEC8f9CciBtL0i1MPBjWozB6\n"
- "Jma9q5iEwZXuRr3cnPYeIPlK2drgDZCMuSFcYiT8ApLw5OhKqY1m2EvfZ2ox2s9R\n"
- "68/HzYdPi3kZwiNEtlBvMlpt5yKBJAflp76d7DkCAwEAAaNuMGwwCwYDVR0PBAQD\n"
- "AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUc+Mi\n"
- "kr8WMCk00SQo+P2iggp/oQkwHwYDVR0jBBgwFoAU8GPENaMyGNcRGKsoX06j/kKW\n"
- "VzkwDQYJKoZIhvcNAQELBQADggEBAKU9+CUR0Jcfybd1+8Aqgh1RH96yQygnVuyt\n"
- "Na9rFz4fM3ij9tGXDHXrkZw8bW1dWLU9quu8zeTxKxc3aiDIw739Alz0tukttDo7\n"
- "dW7YqIb77zsIsWB9p7G9dlxT6ieUy+5IKk69BbeK8KR0vAciAG4KVQxPhuPy/LGX\n"
- "PzqlJIJ4h61s3UOroReHPB1keLZgpORqrvtpClOmABH9TLFRJA/WFg8Q2XYB/p0x\n"
- "l/pWiaoBC+8wK9cDoMUK5yOwXeuCLffCb+UlAD0+z/qxJ2pisE8E9X8rRKRrWI+i\n"
- "G7LtJCEn86EQK8KuRlJxKgj8lClZhoULB0oL4jbblBuNow9WRmM=\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQKDBdFeGFt\n"
+ "cGxlIGludGVybWVkaWF0ZSBDQTAgFw0yMjA3MjExNDQ1MzdaGA8yMjIyMDcyMTE0\n"
+ "NDUzN1owFTETMBEGA1UEAwwKSm9obiBTbWl0aDCCASIwDQYJKoZIhvcNAQEBBQAD\n"
+ "ggEPADCCAQoCggEBAMb1uuxppBFY+WVD45iyHUq7DkIJNNOI/JRaybVJfPktWq2E\n"
+ "eNe7XhV05KKnqZTbDO2iYqNHqGhZ8pz/IstDRTZP3z/q1vXTG0P9Gx28rEy5TaUY\n"
+ "QjtD+ZoFUQm0ORMDBjd8jikqtJ87hKeuOPMH4rzdydotMaPQSm7KLzHBGBr6gg7z\n"
+ "g1IxPWkhMyHapoMqqrhjwjzoTY97UIXpZTEoIA+KpEC8f9CciBtL0i1MPBjWozB6\n"
+ "Jma9q5iEwZXuRr3cnPYeIPlK2drgDZCMuSFcYiT8ApLw5OhKqY1m2EvfZ2ox2s9R\n"
+ "68/HzYdPi3kZwiNEtlBvMlpt5yKBJAflp76d7DkCAwEAAaNuMGwwCwYDVR0PBAQD\n"
+ "AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUc+Mi\n"
+ "kr8WMCk00SQo+P2iggp/oQkwHwYDVR0jBBgwFoAU8GPENaMyGNcRGKsoX06j/kKW\n"
+ "VzkwDQYJKoZIhvcNAQELBQADggEBAKU9+CUR0Jcfybd1+8Aqgh1RH96yQygnVuyt\n"
+ "Na9rFz4fM3ij9tGXDHXrkZw8bW1dWLU9quu8zeTxKxc3aiDIw739Alz0tukttDo7\n"
+ "dW7YqIb77zsIsWB9p7G9dlxT6ieUy+5IKk69BbeK8KR0vAciAG4KVQxPhuPy/LGX\n"
+ "PzqlJIJ4h61s3UOroReHPB1keLZgpORqrvtpClOmABH9TLFRJA/WFg8Q2XYB/p0x\n"
+ "l/pWiaoBC+8wK9cDoMUK5yOwXeuCLffCb+UlAD0+z/qxJ2pisE8E9X8rRKRrWI+i\n"
+ "G7LtJCEn86EQK8KuRlJxKgj8lClZhoULB0oL4jbblBuNow9WRmM=\n"
+ "-----END CERTIFICATE-----\n";
static char msg_pem[] =
- "-----BEGIN PKCS7-----\n"
- "MIIK2QYJKoZIhvcNAQcCoIIKyjCCCsYCAQExDTALBglghkgBZQMEAgEwCwYJKoZI\n"
- "hvcNAQcBoIIJTzCCAwowggHyoAMCAQICAQEwDQYJKoZIhvcNAQELBQAwFTETMBEG\n"
- "A1UECgwKRXhhbXBsZSBDQTAgFw0xNzA3MjExNDQzMjFaGA8yMjIyMDcyMTE0NDMy\n"
- "MVowFTETMBEGA1UECgwKRXhhbXBsZSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\n"
- "ADCCAQoCggEBAL51eyE4j8wAKQKMGlO9HEY2iaGvsdPSJmidSdmCi1jnNK39Lx4Y\n"
- "31h279hSHF5wtI6VM91HHfeLf1mjEZHlKrXXJQzBPLpbHWapD778drHBitOP8e56\n"
- "fDMIfofLV4tkMk8690vPe4cJH1UHGspMyz6EQF9kPRaW80XtMV/6dalgL/9Esmaw\n"
- "XBNPJAS1VutDuXQkJ/3/rWFLmkpYHHtGPjX782YRmT1s+VOVTsLqmKx0TEL8A381\n"
- "bbElHPUAMjPcyWR5qqA8KWnS5Dwqk3LwI0AvuhQytCq0S7Xl4DXauvxwTRXv0UU7\n"
- "W8r3MLAw9DnlnJiD/RFjw5rbGO3wMePk/qUCAwEAAaNjMGEwDwYDVR0TAQH/BAUw\n"
- "AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFIh2KRoKJoe2VtpOwWMkRAkR\n"
- "mLWKMB8GA1UdIwQYMBaAFIh2KRoKJoe2VtpOwWMkRAkRmLWKMA0GCSqGSIb3DQEB\n"
- "CwUAA4IBAQBovvlOjoy0MCT5U0eWfcPQQjY4Ssrn3IiPNlVkqSNo+FHX+2baTLVQ\n"
- "5QTHxwXwzdIJiwtjFWDdGEQXqmuIvnFG+u/whGbeg6oQygfnQ5Y+q6epOxCsPgLQ\n"
- "mKKEaF7mvh8DauUx4QSbYCNGCctOZuB1vlN9bJ3/5QbH+2pFPOfCr5CAyPDwHo6S\n"
- "qO3yPcutRwT9xS7gXEHM9HhLp+DmdCGh4eVBPiFilyZm1d92lWxU8oxoSfXgzDT/\n"
- "GCzlMykNZNs4JD9QmiRClP/3U0dQbOhah/Fda+N+L90xaqEgGcvwKKZa3pzo59pl\n"
- "BbkcIP4YPyHeinwkgAn5UVJg9DOxNCS0MIIDFzCCAf+gAwIBAgIBAjANBgkqhkiG\n"
- "9w0BAQsFADAVMRMwEQYDVQQKDApFeGFtcGxlIENBMCAXDTE3MDcyMTE0NDQxM1oY\n"
- "DzIyMjIwNzIxMTQ0NDEzWjAiMSAwHgYDVQQKDBdFeGFtcGxlIGludGVybWVkaWF0\n"
- "ZSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMPFDEvDANwvhviu\n"
- "pwXTvaKyxyX94jVu1wgAhIRyQBVRiMbrn8MEufLG8oA0vKd8s92gv/lWe1jFb2rn\n"
- "91jMkZWsjWjiJFD6SzqFfBo+XxOGikEqO1MAf92UqavmSGlXVRG1Vy7T7dWibZP0\n"
- "WODhHYWayR0Y6owSz5IqNfrHXzDME+lSJxHgRFI7pK+b0OgiVmvyXDKFPvyU6GrP\n"
- "lxXDi/XbjyPvC5gpiwtTgm+s8KERwmdlfZUNjkh2PpHx1g1joijHT3wIvO/Pek1E\n"
- "C+Xs6w3XxGgL6TTL7FDuv4AjZVX9KK66/yBhX3aN8bkqAg+hs9XNk3zzWC0XEFOS\n"
- "Qoh2va0CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\n"
- "HQYDVR0OBBYEFHwi/7dUWGjkMWJctOm7MCjjQj1cMB8GA1UdIwQYMBaAFIh2KRoK\n"
- "Joe2VtpOwWMkRAkRmLWKMA0GCSqGSIb3DQEBCwUAA4IBAQCF6sHCBdYRwBwvfCve\n"
- "og9cPnmPqZrG4AtmSvtoSsMvgvKb/4z3/gG8oPtTBkeRcAHoMoEp/oA+B2ylwIAc\n"
- "S5U7jx+lYH/Pqih0X/OcOLbaMv8uzGSGQxk+L9LuuIT6E/THfRRIPEvkDkzC+/uk\n"
- "7vUbG17bSEWeF0o/6sjzAY2aH1jnbCDyu0UC78GXkc6bZ5QlH98uLMDMrOmqcZjS\n"
- "JFfvuRDQyKV5yBdBkYaobsIWSQDsgYxJzf/2y8c3r+HXqT+jhrXPWJ3btgMPxpu7\n"
- "E8KmoFgp9EM+48oYlXJ66rk08/KjaVmgN7R+Hm3e2+MFT2kme4fBKalLjcazTe3x\n"
- "0FisMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQKDBdF\n"
- "eGFtcGxlIGludGVybWVkaWF0ZSBDQTAgFw0yMjA3MjExNDQ1MzBaGA8yMjIyMDcy\n"
- "MTE0NDUzMVowFTETMBEGA1UEAwwKSm9obiBTbWl0aDCCASIwDQYJKoZIhvcNAQEB\n"
- "BQADggEPADCCAQoCggEBAMjhSqhdD5RjmOm6W3hG7zkgKBP9whRN/SipcdEMlkgc\n"
- "F/U3QMu66qIfKwheNdWalC1JLtruLDWP92ysa6Vw+CCG8aSax1AgB//RKQB7kgPA\n"
- "9js9hi/oCdBmCv2HJxhWSLz+MVoxgzW4C7S9FenI+btxe/99Uw4nOw7kwjsYDLKr\n"
- "tMw8myv7aCW/63CuBYGtohiZupM3RI3kKFcZots+KRPLlZpjv+I2h9xSln8VxKNb\n"
- "XiMrYwGfHB7iX7ghe1TvFjKatEUhsqa7AvIq7nfe/cyq97f0ODQO814njgZtk5iQ\n"
- "JVavXHdhTVaypt1HdAFMuHX5UATylHxx9tRCgSIijUsCAwEAAaNuMGwwCwYDVR0P\n"
- "BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQU\n"
- "31+vHl4E/2Jpnwinbzf+d7usshcwHwYDVR0jBBgwFoAUfCL/t1RYaOQxYly06bsw\n"
- "KONCPVwwDQYJKoZIhvcNAQELBQADggEBAAWe63DcNwmleQ3INFGDJZ/m2I/R/cBa\n"
- "nnrxgR5Ey1ljHdA/x1z1JLTGmGVwqGExs5DNG9Q//Pmc9pZ1yPa8J4Xf8AvFcmkY\n"
- "mWoH1HvW0xu/RF1UN5SAoD2PRQ+Vq4OSPD58IlEu/u4o1wZV7Wl91Cv6VNpiAb63\n"
- "j9PA1YacOpOtcRqG59Vuj9HFm9f30ejHVo2+KJcpo290cR3Zg4fOm8mtjeMdt/QS\n"
- "Atq+RqPAQ7yxqvEEv8zPIZj2kAOQm3mh/yYqBrR68lQUD/dBTP7ApIZkhUK3XK6U\n"
- "nf9JvoF6Fn2+Cnqb//FLBgHSnoeqeQNwDLUXTsD02iYxHzJrhokSY4YxggFQMIIB\n"
- "TAIBATAnMCIxIDAeBgNVBAoMF0V4YW1wbGUgaW50ZXJtZWRpYXRlIENBAgEBMAsG\n"
- "CWCGSAFlAwQCATANBgkqhkiG9w0BAQEFAASCAQATHg6wNsBcs/Ub1GQfKwTpKCk5\n"
- "8QXuNnZ0u7b6mKgrSY2Gf47fpL2aRgaR+BAQncbctu5EH/IL38pWjaGtOhFAj/5q\n"
- "7luVQW11kuyJN3Bd/dtLqawWOwMmAIEigw6X50l5ZHnEVzFfxt+RKTNhk4XWVtbi\n"
- "2iIlITOplW0rnvxYAwCxKL9ocaB7etK8au7ixMxbFp75Ts4iLX8dhlAFdCuFCk8k\n"
- "B8mi9HHuwr3QYRqMPW61hu1wBL3yB8eoZNOwPXb0gkIh6ZvgptxgQzm/cc+Iw9fP\n"
- "QkR0fTM7ElJ5QZmSV98AUbZDHmDvpmcjcUxfSPMc3IoT8T300usRu7QHqKJi\n"
- "-----END PKCS7-----\n";
+ "-----BEGIN PKCS7-----\n"
+ "MIIK2QYJKoZIhvcNAQcCoIIKyjCCCsYCAQExDTALBglghkgBZQMEAgEwCwYJKoZI\n"
+ "hvcNAQcBoIIJTzCCAwowggHyoAMCAQICAQEwDQYJKoZIhvcNAQELBQAwFTETMBEG\n"
+ "A1UECgwKRXhhbXBsZSBDQTAgFw0xNzA3MjExNDQzMjFaGA8yMjIyMDcyMTE0NDMy\n"
+ "MVowFTETMBEGA1UECgwKRXhhbXBsZSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP\n"
+ "ADCCAQoCggEBAL51eyE4j8wAKQKMGlO9HEY2iaGvsdPSJmidSdmCi1jnNK39Lx4Y\n"
+ "31h279hSHF5wtI6VM91HHfeLf1mjEZHlKrXXJQzBPLpbHWapD778drHBitOP8e56\n"
+ "fDMIfofLV4tkMk8690vPe4cJH1UHGspMyz6EQF9kPRaW80XtMV/6dalgL/9Esmaw\n"
+ "XBNPJAS1VutDuXQkJ/3/rWFLmkpYHHtGPjX782YRmT1s+VOVTsLqmKx0TEL8A381\n"
+ "bbElHPUAMjPcyWR5qqA8KWnS5Dwqk3LwI0AvuhQytCq0S7Xl4DXauvxwTRXv0UU7\n"
+ "W8r3MLAw9DnlnJiD/RFjw5rbGO3wMePk/qUCAwEAAaNjMGEwDwYDVR0TAQH/BAUw\n"
+ "AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFIh2KRoKJoe2VtpOwWMkRAkR\n"
+ "mLWKMB8GA1UdIwQYMBaAFIh2KRoKJoe2VtpOwWMkRAkRmLWKMA0GCSqGSIb3DQEB\n"
+ "CwUAA4IBAQBovvlOjoy0MCT5U0eWfcPQQjY4Ssrn3IiPNlVkqSNo+FHX+2baTLVQ\n"
+ "5QTHxwXwzdIJiwtjFWDdGEQXqmuIvnFG+u/whGbeg6oQygfnQ5Y+q6epOxCsPgLQ\n"
+ "mKKEaF7mvh8DauUx4QSbYCNGCctOZuB1vlN9bJ3/5QbH+2pFPOfCr5CAyPDwHo6S\n"
+ "qO3yPcutRwT9xS7gXEHM9HhLp+DmdCGh4eVBPiFilyZm1d92lWxU8oxoSfXgzDT/\n"
+ "GCzlMykNZNs4JD9QmiRClP/3U0dQbOhah/Fda+N+L90xaqEgGcvwKKZa3pzo59pl\n"
+ "BbkcIP4YPyHeinwkgAn5UVJg9DOxNCS0MIIDFzCCAf+gAwIBAgIBAjANBgkqhkiG\n"
+ "9w0BAQsFADAVMRMwEQYDVQQKDApFeGFtcGxlIENBMCAXDTE3MDcyMTE0NDQxM1oY\n"
+ "DzIyMjIwNzIxMTQ0NDEzWjAiMSAwHgYDVQQKDBdFeGFtcGxlIGludGVybWVkaWF0\n"
+ "ZSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMPFDEvDANwvhviu\n"
+ "pwXTvaKyxyX94jVu1wgAhIRyQBVRiMbrn8MEufLG8oA0vKd8s92gv/lWe1jFb2rn\n"
+ "91jMkZWsjWjiJFD6SzqFfBo+XxOGikEqO1MAf92UqavmSGlXVRG1Vy7T7dWibZP0\n"
+ "WODhHYWayR0Y6owSz5IqNfrHXzDME+lSJxHgRFI7pK+b0OgiVmvyXDKFPvyU6GrP\n"
+ "lxXDi/XbjyPvC5gpiwtTgm+s8KERwmdlfZUNjkh2PpHx1g1joijHT3wIvO/Pek1E\n"
+ "C+Xs6w3XxGgL6TTL7FDuv4AjZVX9KK66/yBhX3aN8bkqAg+hs9XNk3zzWC0XEFOS\n"
+ "Qoh2va0CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\n"
+ "HQYDVR0OBBYEFHwi/7dUWGjkMWJctOm7MCjjQj1cMB8GA1UdIwQYMBaAFIh2KRoK\n"
+ "Joe2VtpOwWMkRAkRmLWKMA0GCSqGSIb3DQEBCwUAA4IBAQCF6sHCBdYRwBwvfCve\n"
+ "og9cPnmPqZrG4AtmSvtoSsMvgvKb/4z3/gG8oPtTBkeRcAHoMoEp/oA+B2ylwIAc\n"
+ "S5U7jx+lYH/Pqih0X/OcOLbaMv8uzGSGQxk+L9LuuIT6E/THfRRIPEvkDkzC+/uk\n"
+ "7vUbG17bSEWeF0o/6sjzAY2aH1jnbCDyu0UC78GXkc6bZ5QlH98uLMDMrOmqcZjS\n"
+ "JFfvuRDQyKV5yBdBkYaobsIWSQDsgYxJzf/2y8c3r+HXqT+jhrXPWJ3btgMPxpu7\n"
+ "E8KmoFgp9EM+48oYlXJ66rk08/KjaVmgN7R+Hm3e2+MFT2kme4fBKalLjcazTe3x\n"
+ "0FisMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQKDBdF\n"
+ "eGFtcGxlIGludGVybWVkaWF0ZSBDQTAgFw0yMjA3MjExNDQ1MzBaGA8yMjIyMDcy\n"
+ "MTE0NDUzMVowFTETMBEGA1UEAwwKSm9obiBTbWl0aDCCASIwDQYJKoZIhvcNAQEB\n"
+ "BQADggEPADCCAQoCggEBAMjhSqhdD5RjmOm6W3hG7zkgKBP9whRN/SipcdEMlkgc\n"
+ "F/U3QMu66qIfKwheNdWalC1JLtruLDWP92ysa6Vw+CCG8aSax1AgB//RKQB7kgPA\n"
+ "9js9hi/oCdBmCv2HJxhWSLz+MVoxgzW4C7S9FenI+btxe/99Uw4nOw7kwjsYDLKr\n"
+ "tMw8myv7aCW/63CuBYGtohiZupM3RI3kKFcZots+KRPLlZpjv+I2h9xSln8VxKNb\n"
+ "XiMrYwGfHB7iX7ghe1TvFjKatEUhsqa7AvIq7nfe/cyq97f0ODQO814njgZtk5iQ\n"
+ "JVavXHdhTVaypt1HdAFMuHX5UATylHxx9tRCgSIijUsCAwEAAaNuMGwwCwYDVR0P\n"
+ "BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQU\n"
+ "31+vHl4E/2Jpnwinbzf+d7usshcwHwYDVR0jBBgwFoAUfCL/t1RYaOQxYly06bsw\n"
+ "KONCPVwwDQYJKoZIhvcNAQELBQADggEBAAWe63DcNwmleQ3INFGDJZ/m2I/R/cBa\n"
+ "nnrxgR5Ey1ljHdA/x1z1JLTGmGVwqGExs5DNG9Q//Pmc9pZ1yPa8J4Xf8AvFcmkY\n"
+ "mWoH1HvW0xu/RF1UN5SAoD2PRQ+Vq4OSPD58IlEu/u4o1wZV7Wl91Cv6VNpiAb63\n"
+ "j9PA1YacOpOtcRqG59Vuj9HFm9f30ejHVo2+KJcpo290cR3Zg4fOm8mtjeMdt/QS\n"
+ "Atq+RqPAQ7yxqvEEv8zPIZj2kAOQm3mh/yYqBrR68lQUD/dBTP7ApIZkhUK3XK6U\n"
+ "nf9JvoF6Fn2+Cnqb//FLBgHSnoeqeQNwDLUXTsD02iYxHzJrhokSY4YxggFQMIIB\n"
+ "TAIBATAnMCIxIDAeBgNVBAoMF0V4YW1wbGUgaW50ZXJtZWRpYXRlIENBAgEBMAsG\n"
+ "CWCGSAFlAwQCATANBgkqhkiG9w0BAQEFAASCAQATHg6wNsBcs/Ub1GQfKwTpKCk5\n"
+ "8QXuNnZ0u7b6mKgrSY2Gf47fpL2aRgaR+BAQncbctu5EH/IL38pWjaGtOhFAj/5q\n"
+ "7luVQW11kuyJN3Bd/dtLqawWOwMmAIEigw6X50l5ZHnEVzFfxt+RKTNhk4XWVtbi\n"
+ "2iIlITOplW0rnvxYAwCxKL9ocaB7etK8au7ixMxbFp75Ts4iLX8dhlAFdCuFCk8k\n"
+ "B8mi9HHuwr3QYRqMPW61hu1wBL3yB8eoZNOwPXb0gkIh6ZvgptxgQzm/cc+Iw9fP\n"
+ "QkR0fTM7ElJ5QZmSV98AUbZDHmDvpmcjcUxfSPMc3IoT8T300usRu7QHqKJi\n"
+ "-----END PKCS7-----\n";
const gnutls_datum_t rca_datum = { (void *)rca_pem, sizeof(rca_pem) - 1 };
const gnutls_datum_t ca_datum = { (void *)ca_pem, sizeof(ca_pem) - 1 };
@@ -162,12 +164,13 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s |<%d>| %s", "err", level, str);
}
-#define CHECK(X)\
-{\
- r = X;\
- if (r < 0)\
- fail("error in %d: %s\n", __LINE__, gnutls_strerror(r));\
-}\
+#define CHECK(X) \
+ { \
+ r = X; \
+ if (r < 0) \
+ fail("error in %d: %s\n", __LINE__, \
+ gnutls_strerror(r)); \
+ }
void doit(void)
{
@@ -185,8 +188,8 @@ void doit(void)
}
// Import certificates
CHECK(gnutls_x509_crt_init(&rca_cert));
- CHECK(gnutls_x509_crt_import
- (rca_cert, &rca_datum, GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_x509_crt_import(rca_cert, &rca_datum,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_x509_crt_init(&ca_cert));
CHECK(gnutls_x509_crt_import(ca_cert, &ca_datum, GNUTLS_X509_FMT_PEM));
CHECK(gnutls_x509_crt_init(&ee_cert));
@@ -194,8 +197,8 @@ void doit(void)
// Setup trust store
CHECK(gnutls_x509_trust_list_init(&tlist, 0));
- CHECK(gnutls_x509_trust_list_add_named_crt
- (tlist, rca_cert, "rca", 3, 0));
+ CHECK(gnutls_x509_trust_list_add_named_crt(tlist, rca_cert, "rca", 3,
+ 0));
CHECK(gnutls_x509_trust_list_add_named_crt(tlist, ca_cert, "ca", 2, 0));
CHECK(gnutls_x509_trust_list_add_named_crt(tlist, ee_cert, "ee", 2, 0));
diff --git a/tests/pkcs7.c b/tests/pkcs7.c
index 11bb2f121d..dfd5f48c36 100644
--- a/tests/pkcs7.c
+++ b/tests/pkcs7.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <gnutls/gnutls.h>
@@ -40,7 +40,7 @@
#define CERT_DIR "pkcs7-interesting"
-static int getnextfile(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
+static int getnextfile(DIR **dirp, gnutls_datum_t *der, int *exp_ret)
{
struct dirent *d;
char path[256];
@@ -67,7 +67,7 @@ static int getnextfile(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
#ifdef _DIRENT_HAVE_D_TYPE
&& d->d_type == DT_REG
#endif
- ) {
+ ) {
if (strstr(d->d_name, ".der") == 0)
continue;
if (strstr(d->d_name, ".err") != 0)
@@ -85,7 +85,7 @@ static int getnextfile(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
d->d_name);
success("Loading errfile %s\n", path);
ret = gnutls_load_file(path, &local);
- if (ret < 0) { /* not found assume success */
+ if (ret < 0) { /* not found assume success */
*exp_ret = 0;
} else {
*exp_ret = atoi((char *)local.data);
@@ -98,7 +98,7 @@ static int getnextfile(DIR ** dirp, gnutls_datum_t * der, int *exp_ret)
} while (d != NULL);
closedir(*dirp);
- return -1; /* finished */
+ return -1; /* finished */
}
void doit(void)
@@ -125,9 +125,8 @@ void doit(void)
if (ret == 0) {
/* attempt to fully decode */
gnutls_datum_t out;
- ret =
- gnutls_pkcs7_print(cert, GNUTLS_CRT_PRINT_FULL,
- &out);
+ ret = gnutls_pkcs7_print(cert, GNUTLS_CRT_PRINT_FULL,
+ &out);
if (ret < 0) {
fail("print: %s\n", gnutls_strerror(ret));
}
diff --git a/tests/pkcs8-key-decode-encrypted.c b/tests/pkcs8-key-decode-encrypted.c
index 9afb75ad6b..59f9768d07 100644
--- a/tests/pkcs8-key-decode-encrypted.c
+++ b/tests/pkcs8-key-decode-encrypted.c
@@ -27,38 +27,35 @@
#include "utils.h"
-#define PRIVATE_KEY \
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
+#define PRIVATE_KEY \
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n" \
"MIHeMEkGCSqGSIb3DQEFDTA8MBsGCSqGSIb3DQEFDDAOBAiebBrnqPv4owICCAAw\n" \
"HQYJYIZIAWUDBAEqBBBykFR6i1My/DYFBYrz1lmABIGQ3XGpp3+v/ENC1S+X7Ay6\n" \
"JoquYKuMw6yUmWoGFvPIPA9UWqMve2Uj4l2l96Sywd6iNFP63ow6pIq4wUP6REuY\n" \
"ZhCgoAOQomeFqhAhkw6QJCygp5vw2rh9OZ5tiP/Ko6IDTA2rSas91nepHpQOb247\n" \
- "zta5XzXb5TRkBsVU8tAPADP+wS/vBCS05ne1wmhdD6c6\n" \
+ "zta5XzXb5TRkBsVU8tAPADP+wS/vBCS05ne1wmhdD6c6\n" \
"-----END ENCRYPTED PRIVATE KEY-----\n"
static int test_decode(void)
{
gnutls_x509_privkey_t key;
- const gnutls_datum_t data = {
- (unsigned char *)PRIVATE_KEY,
- strlen(PRIVATE_KEY)
- };
+ const gnutls_datum_t data = { (unsigned char *)PRIVATE_KEY,
+ strlen(PRIVATE_KEY) };
int err;
if ((err = gnutls_x509_privkey_init(&key)) < 0) {
fail("Failed to init key %s\n", gnutls_strerror(err));
}
- err = gnutls_x509_privkey_import_pkcs8(key, &data,
- GNUTLS_X509_FMT_PEM, "", 0);
+ err = gnutls_x509_privkey_import_pkcs8(key, &data, GNUTLS_X509_FMT_PEM,
+ "", 0);
if (err != GNUTLS_E_DECRYPTION_FAILED) {
fail("Unexpected error code: %s/%d\n", gnutls_strerror(err),
err);
}
- err = gnutls_x509_privkey_import_pkcs8(key, &data,
- GNUTLS_X509_FMT_PEM, "password",
- 0);
+ err = gnutls_x509_privkey_import_pkcs8(key, &data, GNUTLS_X509_FMT_PEM,
+ "password", 0);
if (err != 0) {
fail("Unexpected error code: %s\n", gnutls_strerror(err));
}
diff --git a/tests/pkcs8-key-decode.c b/tests/pkcs8-key-decode.c
index 177d0aa795..f8b5b8e729 100644
--- a/tests/pkcs8-key-decode.c
+++ b/tests/pkcs8-key-decode.c
@@ -27,33 +27,31 @@
#include "utils.h"
-#define PRIVATE_KEY \
- "-----BEGIN PRIVATE KEY-----\n" \
- "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALVcr\n" \
- "BL40Tm6yq88FBhJNw1aaoCjmtg0l4dWQZ/e9Fimx4ARxFpT+ji4FE\n" \
- "Cgl9s/SGqC+1nvlkm9ViSo0j7MKDbnDB+VRHDvMAzQhA2X7e8M0n9\n" \
- "rPolUY2lIVC83q0BBaOBkCj2RSmT2xTEbbC2xLukSrg2WP/ihVOxc\n" \
- "kXRuyFtzAgMBAAECgYB7slBexDwXrtItAMIH6m/U+LUpNe0Xx48OL\n" \
- "IOn4a4whNgO/o84uIwygUK27ZGFZT0kAGAk8CdF9hA6ArcbQ62s1H\n" \
- "myxrUbF9/mrLsQw1NEqpuUk9Ay2Tx5U/wPx35S3W/X2AvR/ZpTnCn\n" \
- "2q/7ym9fyiSoj86drD7BTvmKXlOnOwQJBAPOFMp4mMa9NGpGuEssO\n" \
- "m3Uwbp6lhcP0cA9MK+iOmeANpoKWfBdk5O34VbmeXnGYWEkrnX+9J\n" \
- "bM4wVhnnBWtgBMCQQC+qAEmvwcfhauERKYznMVUVksyeuhxhCe7EK\n" \
- "mPh+U2+g0WwdKvGDgO0PPt1gq0ILEjspMDeMHVdTwkaVBo/uMhAkA\n" \
- "Z5SsZyCP2aTOPFDypXRdI4eqRcjaEPOUBq27r3uYb/jeboVb2weLa\n" \
- "L1MmVuHiIHoa5clswPdWVI2y0em2IGoDAkBPSp/v9VKJEZabk9Frd\n" \
- "a+7u4fanrM9QrEjY3KhduslSilXZZSxrWjjAJPyPiqFb3M8XXA26W\n" \
- "nz1KYGnqYKhLcBAkB7dt57n9xfrhDpuyVEv+Uv1D3VVAhZlsaZ5Pp\n" \
- "dcrhrkJn2sa/+O8OKvdrPSeeu/N5WwYhJf61+CPoenMp7IFci\n" \
- "-----END PRIVATE KEY-----\n"
+#define PRIVATE_KEY \
+ "-----BEGIN PRIVATE KEY-----\n" \
+ "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALVcr\n" \
+ "BL40Tm6yq88FBhJNw1aaoCjmtg0l4dWQZ/e9Fimx4ARxFpT+ji4FE\n" \
+ "Cgl9s/SGqC+1nvlkm9ViSo0j7MKDbnDB+VRHDvMAzQhA2X7e8M0n9\n" \
+ "rPolUY2lIVC83q0BBaOBkCj2RSmT2xTEbbC2xLukSrg2WP/ihVOxc\n" \
+ "kXRuyFtzAgMBAAECgYB7slBexDwXrtItAMIH6m/U+LUpNe0Xx48OL\n" \
+ "IOn4a4whNgO/o84uIwygUK27ZGFZT0kAGAk8CdF9hA6ArcbQ62s1H\n" \
+ "myxrUbF9/mrLsQw1NEqpuUk9Ay2Tx5U/wPx35S3W/X2AvR/ZpTnCn\n" \
+ "2q/7ym9fyiSoj86drD7BTvmKXlOnOwQJBAPOFMp4mMa9NGpGuEssO\n" \
+ "m3Uwbp6lhcP0cA9MK+iOmeANpoKWfBdk5O34VbmeXnGYWEkrnX+9J\n" \
+ "bM4wVhnnBWtgBMCQQC+qAEmvwcfhauERKYznMVUVksyeuhxhCe7EK\n" \
+ "mPh+U2+g0WwdKvGDgO0PPt1gq0ILEjspMDeMHVdTwkaVBo/uMhAkA\n" \
+ "Z5SsZyCP2aTOPFDypXRdI4eqRcjaEPOUBq27r3uYb/jeboVb2weLa\n" \
+ "L1MmVuHiIHoa5clswPdWVI2y0em2IGoDAkBPSp/v9VKJEZabk9Frd\n" \
+ "a+7u4fanrM9QrEjY3KhduslSilXZZSxrWjjAJPyPiqFb3M8XXA26W\n" \
+ "nz1KYGnqYKhLcBAkB7dt57n9xfrhDpuyVEv+Uv1D3VVAhZlsaZ5Pp\n" \
+ "dcrhrkJn2sa/+O8OKvdrPSeeu/N5WwYhJf61+CPoenMp7IFci\n" \
+ "-----END PRIVATE KEY-----\n"
static int test_load(void)
{
gnutls_x509_privkey_t key;
- const gnutls_datum_t data = {
- (unsigned char *)PRIVATE_KEY,
- strlen(PRIVATE_KEY)
- };
+ const gnutls_datum_t data = { (unsigned char *)PRIVATE_KEY,
+ strlen(PRIVATE_KEY) };
int err;
if ((err = gnutls_x509_privkey_init(&key)) < 0) {
diff --git a/tests/post-client-hello-change-prio.c b/tests/post-client-hello-change-prio.c
index 6999cbe617..7a25cd5b90 100644
--- a/tests/post-client-hello-change-prio.c
+++ b/tests/post-client-hello-change-prio.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,8 +44,8 @@ const char *override_prio = NULL;
static int post_client_hello_callback(gnutls_session_t session)
{
if (override_prio) {
- assert(gnutls_priority_set_direct(session, override_prio, NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(session, override_prio,
+ NULL) >= 0);
}
pch_ok = 1;
return 0;
@@ -56,9 +56,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-void start(const char *name, const char *client_prio, const char *server_prio,
- int expected)
+static void start(const char *name, const char *client_prio,
+ const char *server_prio, int expected)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -81,8 +80,8 @@ void start(const char *name, const char *client_prio, const char *server_prio,
/* Init server */
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -90,8 +89,8 @@ void start(const char *name, const char *client_prio, const char *server_prio,
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
- gnutls_handshake_set_post_client_hello_function(server,
- post_client_hello_callback);
+ gnutls_handshake_set_post_client_hello_function(
+ server, post_client_hello_callback);
assert(gnutls_certificate_allocate_credentials(&clientx509cred) >= 0);
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
@@ -149,9 +148,8 @@ void doit(void)
"NORMAL:-VERS-ALL:+VERS-TLS1.2",
"NORMAL:-VERS-TLS1.2:-VERS-TLS1.1:-VERS-TLS1.0:-VERS-SSL3.0", -1);
override_prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2";
- start
- ("client tls1.2-only, server tls1.2-disabled initially, but allow it afterwards",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- "NORMAL:-VERS-TLS1.2:-VERS-TLS1.1:-VERS-TLS1.0:-VERS-SSL3.0",
- GNUTLS_TLS1_2);
+ start("client tls1.2-only, server tls1.2-disabled initially, but allow it afterwards",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ "NORMAL:-VERS-TLS1.2:-VERS-TLS1.1:-VERS-TLS1.0:-VERS-SSL3.0",
+ GNUTLS_TLS1_2);
}
diff --git a/tests/prf.c b/tests/prf.c
index a2987ca187..f4b8af5158 100644
--- a/tests/prf.c
+++ b/tests/prf.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,18 +33,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -66,94 +66,89 @@ static void client_log_func(int level, const char *str)
static pid_t child;
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIzCCAgugAwIBAgIMUz8PCR2sdRK56V6OMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDQxOTU5MDVaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDZ3dCzh9gOTOiOb2dtrPu91fYYgC/ey0ACYjQxaru7FZwnuXPhQK9KHsIV\n"
- "YRIyo49wjKZddkHet2sbpFAAeETZh8UUWLRb/mupyaSJMycaYCNjLZCUJTztvXxJ\n"
- "CCNfbtgvKC+Vu1mu94KBPatslgvnsamH7AiL5wmwRRqdH/Z93XaEvuRG6Zk0Sh9q\n"
- "ZMdCboGfjtmGEJ1V+z5CR+IyH4sckzd8WJW6wBSEwgliGaXnc75xKtFWBZV2njNr\n"
- "8V1TOYOdLEbiF4wduVExL5TKq2ywNkRpUfK2I1BcWS5D9Te/QT7aSdE08rL6ztmZ\n"
- "IhILSrMOfoLnJ4lzXspz3XLlEuhnAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJXR\n"
- "raRS5MVhEqaRE42A3S2BIj7UMB8GA1UdIwQYMBaAFP6S7AyMRO2RfkANgo8YsCl8\n"
- "JfJkMA0GCSqGSIb3DQEBCwUAA4IBAQCQ62+skMVZYrGbpab8RI9IG6xH8kEndvFj\n"
- "J7wBBZCOlcjOj+HQ7a2buF5zGKRwAOSznKcmvZ7l5DPdsd0t5/VT9LKSbQ6+CfGr\n"
- "Xs5qPaDJnRhZkOILCvXJ9qyO+79WNMsg9pWnxkTK7aWR5OYE+1Qw1jG681HMkWTm\n"
- "nt7et9bdiNNpvA+L55569XKbdtJLs3hn5gEQFgS7EaEj59aC4vzSTFcidowCoa43\n"
- "7JmfSfC9YaAIFH2vriyU0QNf2y7cG5Hpkge+U7uMzQrsT77Q3SDB9WkyPAFNSB4Q\n"
- "B/r+OtZXOnQhLlMV7h4XGlWruFEaOBVjFHSdMGUh+DtaLvd1bVXI\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvhyQfsUm3T0xK\n"
- "jiBXO3H6Y27b7lmCRYZQCmXCl2sUsGDL7V9biavTt3+sorWtH542/cTGDh5n8591\n"
- "7rVxAB/VASmN55O3fjZyFGrjusjhXBla0Yxe5rZ/7/Pjrq84T7gc/IXiX9Sums/c\n"
- "o9AeoykfhsjV2ubhh4h+8uPsHDTcAFTxq3mQaoldwnW2nmjDFzaKLtQdnyFf41o6\n"
- "nsJCK/J9PtpdCID5Zb+eQfu5Yhk1iUHe8a9TOstCHtgBq61YzufDHUQk3zsT+VZM\n"
- "20lDvSBnHdWLjxoea587JbkvtH8xRR8ThwABSb98qPnhJ8+A7mpO89QO1wxZM85A\n"
- "xEweQlMHAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU/pLsDIxE7ZF+QA2CjxiwKXwl8mQwHwYDVR0jBBgwFoAUGD0R\n"
- "Yr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQADggEBANEXLUV+Z1PGTn7M\n"
- "3rPT/m/EamcrZJ3vFWrnfN91ws5llyRUKNhx6222HECh3xRSxH9YJONsbv2zY6sd\n"
- "ztY7lvckL4xOgWAjoCVTx3hqbZjDxpLRsvraw1PlqBHlRQVWLKlEQ55+tId2zgMX\n"
- "Z+wxM7FlU/6yWVPODIxrqYQd2KqaEp4aLIklw6Hi4HD6DnQJikjsJ6Noe0qyX1Tx\n"
- "uZ8mgP/G47Fe2d2H29kJ1iJ6hp1XOqyWrVIh/jONcnTvWS8aMqS3MU0EJH2Pb1Qa\n"
- "KGIvbd/3H9LykFTP/b7Imdv2fZxXIK8jC+jbF1w6rdBCVNA0p30X/jonoC3vynEK\n"
- "5cK0cgs=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIzCCAgugAwIBAgIMUz8PCR2sdRK56V6OMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDQxOTU5MDVaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDZ3dCzh9gOTOiOb2dtrPu91fYYgC/ey0ACYjQxaru7FZwnuXPhQK9KHsIV\n"
+ "YRIyo49wjKZddkHet2sbpFAAeETZh8UUWLRb/mupyaSJMycaYCNjLZCUJTztvXxJ\n"
+ "CCNfbtgvKC+Vu1mu94KBPatslgvnsamH7AiL5wmwRRqdH/Z93XaEvuRG6Zk0Sh9q\n"
+ "ZMdCboGfjtmGEJ1V+z5CR+IyH4sckzd8WJW6wBSEwgliGaXnc75xKtFWBZV2njNr\n"
+ "8V1TOYOdLEbiF4wduVExL5TKq2ywNkRpUfK2I1BcWS5D9Te/QT7aSdE08rL6ztmZ\n"
+ "IhILSrMOfoLnJ4lzXspz3XLlEuhnAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJXR\n"
+ "raRS5MVhEqaRE42A3S2BIj7UMB8GA1UdIwQYMBaAFP6S7AyMRO2RfkANgo8YsCl8\n"
+ "JfJkMA0GCSqGSIb3DQEBCwUAA4IBAQCQ62+skMVZYrGbpab8RI9IG6xH8kEndvFj\n"
+ "J7wBBZCOlcjOj+HQ7a2buF5zGKRwAOSznKcmvZ7l5DPdsd0t5/VT9LKSbQ6+CfGr\n"
+ "Xs5qPaDJnRhZkOILCvXJ9qyO+79WNMsg9pWnxkTK7aWR5OYE+1Qw1jG681HMkWTm\n"
+ "nt7et9bdiNNpvA+L55569XKbdtJLs3hn5gEQFgS7EaEj59aC4vzSTFcidowCoa43\n"
+ "7JmfSfC9YaAIFH2vriyU0QNf2y7cG5Hpkge+U7uMzQrsT77Q3SDB9WkyPAFNSB4Q\n"
+ "B/r+OtZXOnQhLlMV7h4XGlWruFEaOBVjFHSdMGUh+DtaLvd1bVXI\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvhyQfsUm3T0xK\n"
+ "jiBXO3H6Y27b7lmCRYZQCmXCl2sUsGDL7V9biavTt3+sorWtH542/cTGDh5n8591\n"
+ "7rVxAB/VASmN55O3fjZyFGrjusjhXBla0Yxe5rZ/7/Pjrq84T7gc/IXiX9Sums/c\n"
+ "o9AeoykfhsjV2ubhh4h+8uPsHDTcAFTxq3mQaoldwnW2nmjDFzaKLtQdnyFf41o6\n"
+ "nsJCK/J9PtpdCID5Zb+eQfu5Yhk1iUHe8a9TOstCHtgBq61YzufDHUQk3zsT+VZM\n"
+ "20lDvSBnHdWLjxoea587JbkvtH8xRR8ThwABSb98qPnhJ8+A7mpO89QO1wxZM85A\n"
+ "xEweQlMHAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU/pLsDIxE7ZF+QA2CjxiwKXwl8mQwHwYDVR0jBBgwFoAUGD0R\n"
+ "Yr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQADggEBANEXLUV+Z1PGTn7M\n"
+ "3rPT/m/EamcrZJ3vFWrnfN91ws5llyRUKNhx6222HECh3xRSxH9YJONsbv2zY6sd\n"
+ "ztY7lvckL4xOgWAjoCVTx3hqbZjDxpLRsvraw1PlqBHlRQVWLKlEQ55+tId2zgMX\n"
+ "Z+wxM7FlU/6yWVPODIxrqYQd2KqaEp4aLIklw6Hi4HD6DnQJikjsJ6Noe0qyX1Tx\n"
+ "uZ8mgP/G47Fe2d2H29kJ1iJ6hp1XOqyWrVIh/jONcnTvWS8aMqS3MU0EJH2Pb1Qa\n"
+ "KGIvbd/3H9LykFTP/b7Imdv2fZxXIK8jC+jbF1w6rdBCVNA0p30X/jonoC3vynEK\n"
+ "5cK0cgs=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
- "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
- "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
- "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
- "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
- "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
- "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
- "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
- "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
- "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
- "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
- "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
- "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
- "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
- "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
- "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
- "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
- "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
- "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
- "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
- "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
- "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
- "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
- "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
- "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
-
-static const
-gnutls_datum_t hrnd = { (void *)
- "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
+ "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
+ "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
+ "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
+ "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
+ "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
+ "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
+ "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
+ "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
+ "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
+ "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
+ "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
+ "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
+ "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
+ "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
+ "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
+ "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
+ "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
+ "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
+ "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
+ "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
+ "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
+ "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
+ "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
+ "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
+
+static const gnutls_datum_t hrnd = {
+ (void *)"\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
-static const
-gnutls_datum_t hsrnd = { (void *)
- "\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hsrnd = {
+ (void *)"\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
-static void dump(const char *name, const uint8_t * data, unsigned data_size)
+static void dump(const char *name, const uint8_t *data, unsigned data_size)
{
unsigned i;
@@ -163,44 +158,51 @@ static void dump(const char *name, const uint8_t * data, unsigned data_size)
fprintf(stderr, "\n");
}
-static gnutls_datum_t master = { (void *)
- "\x44\x66\x44\xa9\xb6\x29\xed\x6e\xd6\x93\x15\xdb\xf0\x7d\x4b\x2e\x18\xb1\x9d\xed\xff\x6a\x86\x76\xc9\x0e\x16\xab\xc2\x10\xbb\x17\x99\x24\xb1\xd9\xb9\x95\xe7\xea\xea\xea\xea\xea\xff\xaa\xac",
+static gnutls_datum_t master = {
+ (void *)"\x44\x66\x44\xa9\xb6\x29\xed\x6e\xd6\x93\x15\xdb\xf0\x7d\x4b\x2e\x18\xb1\x9d\xed\xff\x6a\x86\x76\xc9\x0e\x16\xab\xc2\x10\xbb\x17\x99\x24\xb1\xd9\xb9\x95\xe7\xea\xea\xea\xea\xea\xff\xaa\xac",
48
};
static gnutls_datum_t sess_id = { (void *)"\xd9\xb9\x95\xe7\xea", 5 };
-# define TRY(label_size, label, extra_size, extra, size, exp) \
- { \
- ret = gnutls_prf_rfc5705(session, label_size, label, extra_size, extra, size, \
- (void*)key_material); \
- if (ret < 0) { \
- fprintf(stderr, "gnutls_prf_rfc5705: error in %d\n", __LINE__); \
- gnutls_perror(ret); \
- exit(1); \
- } \
- if (memcmp(key_material, exp, size) != 0) { \
- fprintf(stderr, "gnutls_prf_rfc5705: output doesn't match for '%s'\n", label); \
- dump("got ", key_material, size); \
- dump("expected ", exp, size); \
- exit(1); \
- } \
+#define TRY(label_size, label, extra_size, extra, size, exp) \
+ { \
+ ret = gnutls_prf_rfc5705(session, label_size, label, \
+ extra_size, extra, size, \
+ (void *)key_material); \
+ if (ret < 0) { \
+ fprintf(stderr, "gnutls_prf_rfc5705: error in %d\n", \
+ __LINE__); \
+ gnutls_perror(ret); \
+ exit(1); \
+ } \
+ if (memcmp(key_material, exp, size) != 0) { \
+ fprintf(stderr, \
+ "gnutls_prf_rfc5705: output doesn't match for '%s'\n", \
+ label); \
+ dump("got ", key_material, size); \
+ dump("expected ", exp, size); \
+ exit(1); \
+ } \
}
-# define TRY_OLD(label_size, label, extra_size, extra, size, exp) \
- { \
- ret = gnutls_prf(session, label_size, label, 1, extra_size, extra, size, \
- (void*)key_material); \
- if (ret < 0) { \
- fprintf(stderr, "gnutls_prf: error in %d\n", __LINE__); \
- gnutls_perror(ret); \
- exit(1); \
- } \
- if (memcmp(key_material, exp, size) != 0) { \
- fprintf(stderr, "gnutls_prf: output doesn't match for '%s'\n", label); \
- dump("got ", key_material, size); \
- dump("expected ", exp, size); \
- exit(1); \
- } \
+#define TRY_OLD(label_size, label, extra_size, extra, size, exp) \
+ { \
+ ret = gnutls_prf(session, label_size, label, 1, extra_size, \
+ extra, size, (void *)key_material); \
+ if (ret < 0) { \
+ fprintf(stderr, "gnutls_prf: error in %d\n", \
+ __LINE__); \
+ gnutls_perror(ret); \
+ exit(1); \
+ } \
+ if (memcmp(key_material, exp, size) != 0) { \
+ fprintf(stderr, \
+ "gnutls_prf: output doesn't match for '%s'\n", \
+ label); \
+ dump("got ", key_material, size); \
+ dump("expected ", exp, size); \
+ exit(1); \
+ } \
}
static void check_prfs(gnutls_session_t session)
{
@@ -208,19 +210,19 @@ static void check_prfs(gnutls_session_t session)
unsigned char key_material2[512];
int ret;
- TRY(13, "key expansion", 0, NULL, 34, (uint8_t *)
- "\xcf\x3e\x1c\x03\x47\x1a\xdf\x4a\x8e\x74\xc6\xda\xcd\xda\x22\xa4\x8e\xa5\xf7\x62\xef\xd6\x47\xe7\x41\x20\xea\x44\xb8\x5d\x66\x87\x0a\x61");
- TRY(6, "hello", 0, NULL, 31, (uint8_t *)
- "\x83\x6c\xc7\x8e\x1b\x62\xc7\x06\x17\x99\x37\x95\x2e\xb8\x42\x5c\x42\xcd\x75\x65\x2c\xa3\x16\x2b\xab\x0a\xcf\xfc\xc8\x90\x30");
- TRY(7, "context", 5, "abcd\xfa", 31, (uint8_t *)
- "\x5b\xc7\x72\xe9\xda\xe4\x79\x3e\xfe\x9a\xc5\x6f\xf4\x8d\x5a\xfe\x4c\x8d\x16\xa7\xf0\x13\x13\xf1\x93\xdd\x4b\x43\x65\xc1\x94");
- TRY(12, "null-context", 0, "", 31, (uint8_t *)
- "\xd7\xb6\xff\x3d\xf7\xbe\x0e\xf2\xd0\xbf\x55\x0b\x56\xac\xfb\x3c\x1d\x5c\xaa\xa8\x71\x45\xf5\xd5\x71\x35\xa2\x35\x83\xc2\xe0");
+ TRY(13, "key expansion", 0, NULL, 34,
+ (uint8_t *)"\xcf\x3e\x1c\x03\x47\x1a\xdf\x4a\x8e\x74\xc6\xda\xcd\xda\x22\xa4\x8e\xa5\xf7\x62\xef\xd6\x47\xe7\x41\x20\xea\x44\xb8\x5d\x66\x87\x0a\x61");
+ TRY(6, "hello", 0, NULL, 31,
+ (uint8_t *)"\x83\x6c\xc7\x8e\x1b\x62\xc7\x06\x17\x99\x37\x95\x2e\xb8\x42\x5c\x42\xcd\x75\x65\x2c\xa3\x16\x2b\xab\x0a\xcf\xfc\xc8\x90\x30");
+ TRY(7, "context", 5, "abcd\xfa", 31,
+ (uint8_t *)"\x5b\xc7\x72\xe9\xda\xe4\x79\x3e\xfe\x9a\xc5\x6f\xf4\x8d\x5a\xfe\x4c\x8d\x16\xa7\xf0\x13\x13\xf1\x93\xdd\x4b\x43\x65\xc1\x94");
+ TRY(12, "null-context", 0, "", 31,
+ (uint8_t *)"\xd7\xb6\xff\x3d\xf7\xbe\x0e\xf2\xd0\xbf\x55\x0b\x56\xac\xfb\x3c\x1d\x5c\xaa\xa8\x71\x45\xf5\xd5\x71\x35\xa2\x35\x83\xc2\xe0");
- TRY_OLD(6, "hello", 0, NULL, 31, (uint8_t *)
- "\x53\x35\x9b\x1c\xbf\xf2\x50\x85\xa1\xbc\x42\xfb\x45\x92\xc3\xbe\x20\x24\x24\xe2\xeb\x6e\xf7\x4f\xc0\xee\xe3\xaa\x46\x36\xfd");
- TRY_OLD(7, "context", 5, "abcd\xfa", 31, (uint8_t *)
- "\x5f\x75\xb7\x61\x76\x4c\x1e\x86\x4b\x7d\x2e\x6c\x09\x91\xfd\x1e\xe6\xe8\xee\xf9\x86\x6a\x80\xfe\xf3\xbe\x96\xd0\x47\xf5\x9e");
+ TRY_OLD(6, "hello", 0, NULL, 31,
+ (uint8_t *)"\x53\x35\x9b\x1c\xbf\xf2\x50\x85\xa1\xbc\x42\xfb\x45\x92\xc3\xbe\x20\x24\x24\xe2\xeb\x6e\xf7\x4f\xc0\xee\xe3\xaa\x46\x36\xfd");
+ TRY_OLD(7, "context", 5, "abcd\xfa", 31,
+ (uint8_t *)"\x5f\x75\xb7\x61\x76\x4c\x1e\x86\x4b\x7d\x2e\x6c\x09\x91\xfd\x1e\xe6\xe8\xee\xf9\x86\x6a\x80\xfe\xf3\xbe\x96\xd0\x47\xf5\x9e");
/* check whether gnutls_prf matches gnutls_prf_rfc5705 when no context is given */
ret = gnutls_prf(session, 4, "aaaa", 0, 0, NULL, 64,
@@ -281,9 +283,10 @@ static void client(int fd)
}
/* Use default priorities */
- ret = gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
- &err);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.0:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+RSA",
+ &err);
if (ret < 0) {
fail("client: priority set failed (%s): %s\n",
gnutls_strerror(ret), err);
@@ -298,11 +301,10 @@ static void client(int fd)
gnutls_handshake_set_random(session, &hrnd);
gnutls_transport_set_int(session, fd);
- if (gnutls_prf
- (session, 4, "aaaa", 0, 0, NULL, sizeof(err),
- (char *)&err) != GNUTLS_E_INVALID_REQUEST
- || gnutls_prf_rfc5705(session, 4, "aaaa", 0, NULL, sizeof(err),
- (char *)&err) != GNUTLS_E_INVALID_REQUEST) {
+ if (gnutls_prf(session, 4, "aaaa", 0, 0, NULL, sizeof(err),
+ (char *)&err) != GNUTLS_E_INVALID_REQUEST ||
+ gnutls_prf_rfc5705(session, 4, "aaaa", 0, NULL, sizeof(err),
+ (char *)&err) != GNUTLS_E_INVALID_REQUEST) {
fprintf(stderr, "unexpected prf error code\n");
exit(1);
}
@@ -311,8 +313,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
@@ -324,8 +325,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
@@ -394,9 +395,8 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:-KX-ALL:+RSA:%NO_SESSION_HASH",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:-KX-ALL:+RSA:%NO_SESSION_HASH", NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
@@ -414,9 +414,8 @@ static void server(int fd)
exit(1);
}
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_handshake_set_random(session, &hsrnd);
@@ -424,8 +423,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -438,8 +436,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
@@ -495,4 +493,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/priorities-groups.c b/tests/priorities-groups.c
index a4fe228748..b75d03f065 100644
--- a/tests/priorities-groups.c
+++ b/tests/priorities-groups.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include "utils.h"
-static void
-try_prio(const char *prio, unsigned group_size, const unsigned int *group_list,
- unsigned curve_size, const unsigned int *curve_list)
+static void try_prio(const char *prio, unsigned group_size,
+ const unsigned int *group_list, unsigned curve_size,
+ const unsigned int *curve_list)
{
int ret;
gnutls_priority_t p;
@@ -101,9 +101,9 @@ void doit(void)
list1[2] = GNUTLS_GROUP_FFDHE2048;
list2[0] = GNUTLS_ECC_CURVE_SECP256R1;
list2[1] = GNUTLS_ECC_CURVE_SECP384R1;
- try_prio
- ("NORMAL:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:+GROUP-FFDHE2048",
- 3, list1, 2, list2);
+ try_prio(
+ "NORMAL:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:+GROUP-FFDHE2048",
+ 3, list1, 2, list2);
memset(list1, 0, sizeof(list1));
memset(list2, 0, sizeof(list2));
@@ -113,7 +113,7 @@ void doit(void)
list1[3] = GNUTLS_GROUP_FFDHE3072;
list2[0] = GNUTLS_ECC_CURVE_SECP521R1;
list2[1] = GNUTLS_ECC_CURVE_SECP384R1;
- try_prio
- ("NORMAL:-CURVE-ALL:+CURVE-SECP521R1:+GROUP-SECP384R1:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
- 4, list1, 2, list2);
+ try_prio(
+ "NORMAL:-CURVE-ALL:+CURVE-SECP521R1:+GROUP-SECP384R1:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
+ 4, list1, 2, list2);
}
diff --git a/tests/priorities.c b/tests/priorities.c
index 45d187e542..738859f062 100644
--- a/tests/priorities.c
+++ b/tests/priorities.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,9 +31,8 @@
#include "utils.h"
-static void
-try_prio(const char *prio, unsigned expected_cs, unsigned expected_ciphers,
- unsigned line)
+static void try_prio(const char *prio, unsigned expected_cs,
+ unsigned expected_ciphers, unsigned line)
{
int ret;
gnutls_priority_t p;
@@ -61,7 +60,6 @@ try_prio(const char *prio, unsigned expected_cs, unsigned expected_ciphers,
count++;
/* fprintf(stderr, "%s\n", gnutls_cipher_suite_info(si, NULL, NULL, NULL, NULL, NULL)); */
}
-
}
ret = gnutls_priority_cipher_list(p, &t);
@@ -114,7 +112,7 @@ void doit(void)
int sec256_cs = 12;
int normal_cs = 29;
int pfs_cs = 23;
- int null_normal_cs = 28; /* disables TLS1.3 CS */
+ int null_normal_cs = 28; /* disables TLS1.3 CS */
int normal_ciphers = 7;
if (gnutls_fips140_mode_enabled()) {
@@ -131,10 +129,15 @@ void doit(void)
if (!gnutls_fips140_mode_enabled()) {
try_prio("PFS", pfs_cs, normal_ciphers, __LINE__);
- try_prio("NORMAL:+CIPHER-ALL", normal_cs, 7, __LINE__); /* all (except null) */
- try_prio("NORMAL:-CIPHER-ALL:+NULL", null, 1, __LINE__); /* null */
- try_prio("NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL", null_normal_cs, 8, __LINE__); /* should be null + all */
- try_prio("NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL:-CIPHER-ALL:+AES-128-CBC", 4, 1, __LINE__); /* should be null + all */
+ try_prio("NORMAL:+CIPHER-ALL", normal_cs, 7,
+ __LINE__); /* all (except null) */
+ try_prio("NORMAL:-CIPHER-ALL:+NULL", null, 1,
+ __LINE__); /* null */
+ try_prio("NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL", null_normal_cs,
+ 8, __LINE__); /* should be null + all */
+ try_prio(
+ "NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL:-CIPHER-ALL:+AES-128-CBC",
+ 4, 1, __LINE__); /* should be null + all */
#ifdef ENABLE_GOST
try_prio("NONE:+VERS-TLS1.2:+GOST", 1, 1, __LINE__);
#endif
@@ -143,17 +146,19 @@ void doit(void)
try_prio("PERFORMANCE", normal_cs, normal_ciphers, __LINE__);
try_prio("SECURE256", sec256_cs, 4, __LINE__);
try_prio("SECURE128", sec128_cs, 7, __LINE__);
- try_prio("SECURE128:+SECURE256", sec128_cs, 7, __LINE__); /* should be the same as SECURE128 */
- try_prio("SECURE128:+SECURE256:+NORMAL", normal_cs, 7, __LINE__); /* should be the same as NORMAL */
+ try_prio("SECURE128:+SECURE256", sec128_cs, 7,
+ __LINE__); /* should be the same as SECURE128 */
+ try_prio("SECURE128:+SECURE256:+NORMAL", normal_cs, 7,
+ __LINE__); /* should be the same as NORMAL */
try_prio("SUITEB192", 1, 1, __LINE__);
try_prio("SUITEB128", 2, 2, __LINE__);
/* check legacy strings */
try_prio("NORMAL:+RSA-EXPORT:+ARCFOUR-40", normal_cs, normal_ciphers,
__LINE__);
- try_prio_err
- ("NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256",
- GNUTLS_E_NO_PRIORITIES_WERE_SET);
+ try_prio_err(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256",
+ GNUTLS_E_NO_PRIORITIES_WERE_SET);
try_prio_err("NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL",
GNUTLS_E_NO_PRIORITIES_WERE_SET);
try_prio_err("NORMAL:-VERS-ALL:+VERS-DTLS1.2:-SIGN-ALL",
diff --git a/tests/priority-init2.c b/tests/priority-init2.c
index 3165fa0ad0..13fc6a1424 100644
--- a/tests/priority-init2.c
+++ b/tests/priority-init2.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -83,8 +83,8 @@ static void start(struct test_st *test)
gnutls_global_set_log_level(6);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -94,15 +94,16 @@ static void start(struct test_st *test)
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
} else {
- ret =
- gnutls_priority_init2(&cache, test->add_prio, &ep,
- GNUTLS_PRIORITY_INIT_DEF_APPEND);
+ ret = gnutls_priority_init2(&cache, test->add_prio, &ep,
+ GNUTLS_PRIORITY_INIT_DEF_APPEND);
if (ret < 0) {
if (test->exp_err == ret) {
- if (strchr(_gnutls_default_priority_string, '@')
- != 0) {
+ if (strchr(_gnutls_default_priority_string,
+ '@') != 0) {
if (ep != test->add_prio) {
- fail("error expected error on start of string[%d]: %s\n", test->err_pos, test->add_prio);
+ fail("error expected error on start of string[%d]: %s\n",
+ test->err_pos,
+ test->add_prio);
}
} else {
if (ep - test->add_prio !=
@@ -110,7 +111,9 @@ static void start(struct test_st *test)
fprintf(stderr, "diff: %d\n",
(int)(ep -
test->add_prio));
- fail("error expected error on different position[%d]: %s\n", test->err_pos, test->add_prio);
+ fail("error expected error on different position[%d]: %s\n",
+ test->err_pos,
+ test->add_prio);
}
}
goto cleanup;
@@ -129,9 +132,8 @@ static void start(struct test_st *test)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -169,8 +171,8 @@ static void start(struct test_st *test)
if (test->exp_vers != gnutls_protocol_get_version(server)) {
fail("expected version %s, got %s\n",
gnutls_protocol_get_name(test->exp_vers),
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(server)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(server)));
}
}
@@ -247,7 +249,7 @@ static void start(struct test_st *test)
gnutls_deinit(client);
gnutls_certificate_free_credentials(clientx509cred);
- cleanup:
+cleanup:
gnutls_priority_deinit(cache);
gnutls_deinit(server);
@@ -258,42 +260,36 @@ static void start(struct test_st *test)
}
struct test_st tests[] = {
- {
- .name = "additional flag",
- .def_prio = "NORMAL",
- .add_prio = "%FORCE_ETM",
- .exp_err = 0},
- {
- .name = "additional flag typo1",
- .def_prio = "NORMAL",
- .add_prio = ":%FORCE_ETM",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 0},
- {
- .name = "additional flag typo2",
- .def_prio = "NORMAL",
- .add_prio = "%FORCE_ETM::%NO_TICKETS",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 11},
- {
- .name = "additional flag typo3",
- .def_prio = "NORMAL",
- .add_prio = "%FORCE_ETM:%%NO_TICKETS",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 11},
- {
- .name = "additional flag typo3 (with resolved def prio)",
- .def_prio = "@HELLO",
- .add_prio = "%FORCE_ETM:%%NO_TICKETS",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 0},
- {
- .name = "additional flag for version (functional)",
- .def_prio = "NORMAL",
- .add_prio = "-VERS-ALL:+VERS-TLS1.1",
- .exp_etm = 1,
- .exp_err = 0,
- .exp_vers = GNUTLS_TLS1_1}
+ { .name = "additional flag",
+ .def_prio = "NORMAL",
+ .add_prio = "%FORCE_ETM",
+ .exp_err = 0 },
+ { .name = "additional flag typo1",
+ .def_prio = "NORMAL",
+ .add_prio = ":%FORCE_ETM",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 0 },
+ { .name = "additional flag typo2",
+ .def_prio = "NORMAL",
+ .add_prio = "%FORCE_ETM::%NO_TICKETS",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 11 },
+ { .name = "additional flag typo3",
+ .def_prio = "NORMAL",
+ .add_prio = "%FORCE_ETM:%%NO_TICKETS",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 11 },
+ { .name = "additional flag typo3 (with resolved def prio)",
+ .def_prio = "@HELLO",
+ .add_prio = "%FORCE_ETM:%%NO_TICKETS",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 0 },
+ { .name = "additional flag for version (functional)",
+ .def_prio = "NORMAL",
+ .add_prio = "-VERS-ALL:+VERS-TLS1.1",
+ .exp_etm = 1,
+ .exp_err = 0,
+ .exp_vers = GNUTLS_TLS1_1 }
};
void doit(void)
diff --git a/tests/priority-mix.c b/tests/priority-mix.c
index 45181e18a7..20ea83cbaa 100644
--- a/tests/priority-mix.c
+++ b/tests/priority-mix.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,7 +41,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -76,9 +76,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -93,9 +92,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -108,8 +106,8 @@ void doit(void)
if (ret < 0)
exit(1);
- assert(gnutls_priority_set_direct(client,
- "PFS:%PROFILE_ULTRA", NULL) >= 0);
+ assert(gnutls_priority_set_direct(client, "PFS:%PROFILE_ULTRA", NULL) >=
+ 0);
assert(gnutls_priority_set_direct(client, "NORMAL", NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
@@ -132,9 +130,8 @@ void doit(void)
{
unsigned status;
- ret =
- gnutls_certificate_verify_peers3(client, "localhost",
- &status);
+ ret = gnutls_certificate_verify_peers3(client, "localhost",
+ &status);
if (ret < 0) {
fail("could not verify certificate: %s\n",
gnutls_strerror(ret));
diff --git a/tests/priority-set.c b/tests/priority-set.c
index 81825628cf..f712f454d0 100644
--- a/tests/priority-set.c
+++ b/tests/priority-set.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,7 +45,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -80,9 +80,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -97,9 +96,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
diff --git a/tests/priority-set2.c b/tests/priority-set2.c
index c4c7ca63f9..421fdc9c36 100644
--- a/tests/priority-set2.c
+++ b/tests/priority-set2.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,7 +45,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -80,9 +80,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -97,9 +96,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
diff --git a/tests/privkey-keygen.c b/tests/privkey-keygen.c
index f7e6319479..6bc8059d37 100644
--- a/tests/privkey-keygen.c
+++ b/tests/privkey-keygen.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -42,9 +42,9 @@
static int sec_param[MAX_TRIES] =
#ifdef ENABLE_FIPS140
-{ GNUTLS_SEC_PARAM_MEDIUM, GNUTLS_SEC_PARAM_HIGH };
+ { GNUTLS_SEC_PARAM_MEDIUM, GNUTLS_SEC_PARAM_HIGH };
#else
-{ GNUTLS_SEC_PARAM_LOW, GNUTLS_SEC_PARAM_MEDIUM };
+ { GNUTLS_SEC_PARAM_LOW, GNUTLS_SEC_PARAM_MEDIUM };
#endif
static void tls_log_func(int level, const char *str)
@@ -52,10 +52,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s |<%d>| %s", "privkey-keygen", level, str);
}
-const gnutls_datum_t raw_data = {
- (void *)"hello there",
- 11
-};
+const gnutls_datum_t raw_data = { (void *)"hello there", 11 };
static void sign_verify_data(gnutls_pk_algorithm_t algorithm,
gnutls_x509_privkey_t pkey)
@@ -87,18 +84,17 @@ static void sign_verify_data(gnutls_pk_algorithm_t algorithm,
vflags |= GNUTLS_VERIFY_ALLOW_BROKEN;
/* sign arbitrary data */
- ret = gnutls_privkey_sign_data(privkey, digest, 0,
- &raw_data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, digest, 0, &raw_data,
+ &signature);
if (ret < 0)
fail("gnutls_privkey_sign_data\n");
/* verify data */
- ret =
- gnutls_pubkey_verify_data2(pubkey,
- gnutls_pk_to_sign
- (gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), digest), vflags,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(
+ pubkey,
+ gnutls_pk_to_sign(gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ digest),
+ vflags, &raw_data, &signature);
if (ret < 0)
fail("gnutls_pubkey_verify_data2\n");
@@ -172,17 +168,21 @@ void doit(void)
}
FIPS_PUSH_CONTEXT();
- ret =
- gnutls_x509_privkey_generate(pkey, algorithm,
- gnutls_sec_param_to_pk_bits
- (algorithm,
- sec_param[i]), 0);
+ ret = gnutls_x509_privkey_generate(
+ pkey, algorithm,
+ gnutls_sec_param_to_pk_bits(algorithm,
+ sec_param[i]),
+ 0);
if (ret < 0) {
- fail("gnutls_x509_privkey_generate (%s-%d): %s (%d)\n", gnutls_pk_algorithm_get_name(algorithm), gnutls_sec_param_to_pk_bits(algorithm, sec_param[i]), gnutls_strerror(ret), ret);
+ fail("gnutls_x509_privkey_generate (%s-%d): %s (%d)\n",
+ gnutls_pk_algorithm_get_name(algorithm),
+ gnutls_sec_param_to_pk_bits(algorithm,
+ sec_param[i]),
+ gnutls_strerror(ret), ret);
} else if (debug) {
success("Key[%s] generation ok: %d\n",
- gnutls_pk_algorithm_get_name
- (algorithm), ret);
+ gnutls_pk_algorithm_get_name(algorithm),
+ ret);
}
if (is_approved_pk_algo(algorithm)) {
FIPS_POP_CONTEXT(APPROVED);
@@ -192,7 +192,9 @@ void doit(void)
ret = gnutls_x509_privkey_verify_params(pkey);
if (ret < 0) {
- fail("gnutls_x509_privkey_generate (%s): %s (%d)\n", gnutls_pk_algorithm_get_name(algorithm), gnutls_strerror(ret), ret);
+ fail("gnutls_x509_privkey_generate (%s): %s (%d)\n",
+ gnutls_pk_algorithm_get_name(algorithm),
+ gnutls_strerror(ret), ret);
}
/* include test of cpy */
@@ -205,7 +207,9 @@ void doit(void)
ret = gnutls_x509_privkey_verify_params(pkey);
if (ret < 0) {
- fail("gnutls_x509_privkey_generate after cpy (%s): %s (%d)\n", gnutls_pk_algorithm_get_name(algorithm), gnutls_strerror(ret), ret);
+ fail("gnutls_x509_privkey_generate after cpy (%s): %s (%d)\n",
+ gnutls_pk_algorithm_get_name(algorithm),
+ gnutls_strerror(ret), ret);
}
FIPS_PUSH_CONTEXT();
diff --git a/tests/privkey-verify-broken.c b/tests/privkey-verify-broken.c
index a9f72cc254..8937eadeeb 100644
--- a/tests/privkey-verify-broken.c
+++ b/tests/privkey-verify-broken.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -39,10 +39,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "|<%d>| %s", level, str);
}
-const gnutls_datum_t raw_data = {
- (void *)"hello there",
- 11
-};
+const gnutls_datum_t raw_data = { (void *)"hello there", 11 };
static int sign_verify_data(gnutls_x509_privkey_t pkey,
gnutls_sign_algorithm_t algo, unsigned vflags)
@@ -68,8 +65,8 @@ static int sign_verify_data(gnutls_x509_privkey_t pkey,
if (ret < 0)
fail("gnutls_pubkey_import_x509\n");
- ret = gnutls_privkey_sign_data(privkey, dig, sflags,
- &raw_data, &signature);
+ ret = gnutls_privkey_sign_data(privkey, dig, sflags, &raw_data,
+ &signature);
if (ret < 0) {
ret = -1;
goto cleanup;
@@ -82,15 +79,15 @@ static int sign_verify_data(gnutls_x509_privkey_t pkey,
if (ret < 0)
fail("gnutls_pubkey_import_privkey\n");
- ret = gnutls_pubkey_verify_data2(pubkey, algo,
- vflags, &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, algo, vflags, &raw_data,
+ &signature);
if (ret < 0) {
ret = -1;
goto cleanup;
}
ret = 0;
- cleanup:
+cleanup:
if (pubkey)
gnutls_pubkey_deinit(pubkey);
gnutls_privkey_deinit(privkey);
@@ -129,13 +126,12 @@ void doit(void)
fail("succeeded verification with MD5!\n");
if (!gnutls_fips140_mode_enabled()) {
- if (sign_verify_data
- (pkey, GNUTLS_SIGN_RSA_MD5,
- GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5) < 0)
+ if (sign_verify_data(pkey, GNUTLS_SIGN_RSA_MD5,
+ GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5) < 0)
fail("failed verification with MD5 and override flags!\n");
- if (sign_verify_data
- (pkey, GNUTLS_SIGN_RSA_MD5, GNUTLS_VERIFY_ALLOW_BROKEN) < 0)
+ if (sign_verify_data(pkey, GNUTLS_SIGN_RSA_MD5,
+ GNUTLS_VERIFY_ALLOW_BROKEN) < 0)
fail("failed verification with MD5 and override flags2!\n");
}
diff --git a/tests/protocol-set-allowlist.c b/tests/protocol-set-allowlist.c
index f75261e4f7..6fb9665c21 100644
--- a/tests/protocol-set-allowlist.c
+++ b/tests/protocol-set-allowlist.c
@@ -53,9 +53,12 @@
* connect -> connection established: (TLS1.1)-(RSA)-(AES-128-CBC)-(SHA1)
*/
-#define _assert(cond, format, ...) if (!(cond)) \
+#define _assert(cond, format, ...) \
+ if (!(cond)) \
_fail("Assertion `" #cond "` failed: " format "\n", ##__VA_ARGS__)
-#define _check(cond) if (!(cond)) _fail("Assertion `" #cond "` failed.")
+#define _check(cond) \
+ if (!(cond)) \
+ _fail("Assertion `" #cond "` failed.")
unsigned parse_port(const char *port_str);
gnutls_protocol_t parse_protocol(const char *name);
@@ -130,23 +133,21 @@ void cmd_connect(const char *ca_file, unsigned port)
return;
}
- _check(gnutls_server_name_set(session, GNUTLS_NAME_DNS,
- "example.com",
+ _check(gnutls_server_name_set(session, GNUTLS_NAME_DNS, "example.com",
strlen("example.com")) >= 0);
gnutls_session_set_verify_cert(session, "example.com", 0);
_check(gnutls_certificate_allocate_credentials(&cred) >= 0);
- _check(gnutls_certificate_set_x509_trust_file(cred,
- ca_file,
- GNUTLS_X509_FMT_PEM) ==
- 1);
+ _check(gnutls_certificate_set_x509_trust_file(
+ cred, ca_file, GNUTLS_X509_FMT_PEM) == 1);
_check(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cred) >=
0);
sock = tcp_connect("127.0.0.1", port);
_assert(sock != -1, "Connection to 127.0.0.1:%u has failed!", port);
- _assert(setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
- &sock_flags, sizeof(int)) == 0, "setsockopt failed");
+ _assert(setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &sock_flags,
+ sizeof(int)) == 0,
+ "setsockopt failed");
gnutls_transport_set_int(session, sock);
gnutls_handshake_set_timeout(session, GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
@@ -175,9 +176,9 @@ void cmd_protocol_set_disabled(const char *name)
int ret;
ret = gnutls_protocol_set_enabled(parse_protocol(name), 0);
printf("protocol_set_disabled %s -> %s\n", name,
- ret == 0 ? "OK" :
+ ret == 0 ? "OK" :
ret == GNUTLS_E_INVALID_REQUEST ? "INVALID_REQUEST" :
- gnutls_strerror(ret));
+ gnutls_strerror(ret));
}
void cmd_protocol_set_enabled(const char *name)
@@ -185,9 +186,9 @@ void cmd_protocol_set_enabled(const char *name)
int ret;
ret = gnutls_protocol_set_enabled(parse_protocol(name), 1);
printf("protocol_set_enabled %s -> %s\n", name,
- ret == 0 ? "OK" :
+ ret == 0 ? "OK" :
ret == GNUTLS_E_INVALID_REQUEST ? "INVALID_REQUEST" :
- gnutls_strerror(ret));
+ gnutls_strerror(ret));
}
void cmd_reinit(void)
diff --git a/tests/psk-file.c b/tests/psk-file.c
index e2868407b3..d9c6453f03 100644
--- a/tests/psk-file.c
+++ b/tests/psk-file.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -40,18 +40,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <signal.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
static char hexchar(unsigned int val)
{
@@ -94,11 +94,11 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
-static void client(int sd, const char *prio, const gnutls_datum_t * user,
- const gnutls_datum_t * key, unsigned expect_hint,
+static void client(int sd, const char *prio, const gnutls_datum_t *user,
+ const gnutls_datum_t *key, unsigned expect_hint,
int expect_fail, int exp_kx, unsigned binary_user)
{
int ret, ii, kx;
@@ -196,7 +196,7 @@ static void client(int sd, const char *prio, const gnutls_datum_t * user,
gnutls_kx_get_name(exp_kx), gnutls_kx_get_name(kx));
}
- end:
+end:
close(sd);
@@ -210,9 +210,9 @@ static void client(int sd, const char *prio, const gnutls_datum_t * user,
/* This is a sample TLS 1.0 echo server, for PSK authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
-static void server(int sd, const char *prio, const gnutls_datum_t * user,
+static void server(int sd, const char *prio, const gnutls_datum_t *user,
bool no_cred, int expect_fail, int exp_kx,
unsigned binary_user)
{
@@ -241,7 +241,8 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
gnutls_psk_set_server_credentials_hint(server_pskcred, "hint");
ret = gnutls_psk_set_server_credentials_file(server_pskcred, psk_file);
if (ret < 0) {
- fail("server: gnutls_psk_set_server_credentials_file failed (%s)\n\n", gnutls_strerror(ret));
+ fail("server: gnutls_psk_set_server_credentials_file failed (%s)\n\n",
+ gnutls_strerror(ret));
return;
}
@@ -262,8 +263,9 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
* test client reads our fatal alert, otherwise it might exit
* with GNUTLS_E_PUSH_ERROR instead */
gnutls_session_force_valid(session);
- while ((gnutls_record_recv_seq(session, buf, sizeof(buf), seq))
- >= 0) ;
+ while ((gnutls_record_recv_seq(session, buf, sizeof(buf),
+ seq)) >= 0)
+ ;
if (expect_fail) {
if (ret != expect_fail) {
@@ -273,9 +275,8 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
}
if (debug)
- success
- ("server: Handshake has failed - expected (%s)\n\n",
- gnutls_strerror(ret));
+ success("server: Handshake has failed - expected (%s)\n\n",
+ gnutls_strerror(ret));
} else {
fail("server: Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
@@ -295,11 +296,11 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -324,8 +325,8 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
if (binary_user) {
char pskid_bin[1024], userdata_bin[1024];
- if (gnutls_psk_server_get_username2
- (session, &pskid_binary))
+ if (gnutls_psk_server_get_username2(session,
+ &pskid_binary))
fail("server: Could not get binary pskid\n");
if (memcmp(pskid_binary.data, user->data, user->size) !=
@@ -334,13 +335,15 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
sizeof(userdata_bin));
hex_encode(pskid_binary.data, pskid_binary.size,
pskid_bin, sizeof(pskid_bin));
- fail("server: binary username (%s) does not match expected (%s)\n", pskid_bin, userdata_bin);
+ fail("server: binary username (%s) does not match expected (%s)\n",
+ pskid_bin, userdata_bin);
}
} else {
pskid = gnutls_psk_server_get_username(session);
- if (pskid == NULL
- || strcmp(pskid, (const char *)user->data) != 0) {
- fail("server: username (%s), does not match expected (%s)\n", pskid, (const char *)user->data);
+ if (pskid == NULL ||
+ strcmp(pskid, (const char *)user->data) != 0) {
+ fail("server: username (%s), does not match expected (%s)\n",
+ pskid, (const char *)user->data);
}
}
}
@@ -350,7 +353,7 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
gnutls_kx_get_name(exp_kx), gnutls_kx_get_name(kx));
}
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -363,7 +366,7 @@ static void server(int sd, const char *prio, const gnutls_datum_t * user,
}
static void print_user(const char *caption, const char *prio,
- const gnutls_datum_t * user, unsigned binary_user)
+ const gnutls_datum_t *user, unsigned binary_user)
{
char hexuser[100];
@@ -375,11 +378,11 @@ static void print_user(const char *caption, const char *prio,
(const char *)user->data);
}
-static
-void run_test3(const char *prio, const char *sprio, const gnutls_datum_t * user,
- const gnutls_datum_t * key, bool no_cred, unsigned expect_hint,
- int exp_kx, int expect_fail_cli, int expect_fail_serv,
- unsigned binary_user)
+static void run_test3(const char *prio, const char *sprio,
+ const gnutls_datum_t *user, const gnutls_datum_t *key,
+ bool no_cred, unsigned expect_hint, int exp_kx,
+ int expect_fail_cli, int expect_fail_serv,
+ unsigned binary_user)
{
pid_t child;
int err;
@@ -422,37 +425,34 @@ void run_test3(const char *prio, const char *sprio, const gnutls_datum_t * user,
}
}
-static
-void run_test2(const char *prio, const char *sprio, const gnutls_datum_t * user,
- const gnutls_datum_t * key, unsigned expect_hint, int exp_kx,
- int expect_fail_cli, int expect_fail_serv, unsigned binary_user)
+static void run_test2(const char *prio, const char *sprio,
+ const gnutls_datum_t *user, const gnutls_datum_t *key,
+ unsigned expect_hint, int exp_kx, int expect_fail_cli,
+ int expect_fail_serv, unsigned binary_user)
{
run_test3(prio, sprio, user, key, 0, expect_hint, exp_kx,
expect_fail_cli, expect_fail_serv, binary_user);
}
-static
-void run_test_ok(const char *prio, const gnutls_datum_t * user,
- const gnutls_datum_t * key, unsigned expect_hint,
- int expect_fail, unsigned binary_user)
+static void run_test_ok(const char *prio, const gnutls_datum_t *user,
+ const gnutls_datum_t *key, unsigned expect_hint,
+ int expect_fail, unsigned binary_user)
{
run_test2(prio, NULL, user, key, expect_hint, GNUTLS_KX_PSK,
expect_fail, expect_fail, binary_user);
}
-static
-void run_ectest_ok(const char *prio, const gnutls_datum_t * user,
- const gnutls_datum_t * key, unsigned expect_hint,
- int expect_fail, unsigned binary_user)
+static void run_ectest_ok(const char *prio, const gnutls_datum_t *user,
+ const gnutls_datum_t *key, unsigned expect_hint,
+ int expect_fail, unsigned binary_user)
{
run_test2(prio, NULL, user, key, expect_hint, GNUTLS_KX_ECDHE_PSK,
expect_fail, expect_fail, binary_user);
}
-static
-void run_dhtest_ok(const char *prio, const gnutls_datum_t * user,
- const gnutls_datum_t * key, unsigned expect_hint,
- int expect_fail, unsigned binary_user)
+static void run_dhtest_ok(const char *prio, const gnutls_datum_t *user,
+ const gnutls_datum_t *key, unsigned expect_hint,
+ int expect_fail, unsigned binary_user)
{
run_test2(prio, NULL, user, key, expect_hint, GNUTLS_KX_DHE_PSK,
expect_fail, expect_fail, binary_user);
@@ -460,22 +460,23 @@ void run_dhtest_ok(const char *prio, const gnutls_datum_t * user,
void doit(void)
{
- char hexuser[] = { 0xde, 0xad, 0xbe, 0xef },
- nulluser1[] = { 0 }, nulluser2[] = { 0, 0, 0xaa, 0 };
+ char hexuser[] = { 0xde, 0xad, 0xbe, 0xef }, nulluser1[] = { 0 },
+ nulluser2[] = { 0, 0, 0xaa, 0 };
const gnutls_datum_t user_jas = { (void *)"jas", strlen("jas") };
- const gnutls_datum_t user_unknown =
- { (void *)"unknown", strlen("unknown") };
- const gnutls_datum_t user_nonhex =
- { (void *)"non-hex", strlen("non-hex") };
+ const gnutls_datum_t user_unknown = { (void *)"unknown",
+ strlen("unknown") };
+ const gnutls_datum_t user_nonhex = { (void *)"non-hex",
+ strlen("non-hex") };
const gnutls_datum_t user_hex = { (void *)hexuser, sizeof(hexuser) };
- const gnutls_datum_t user_null_1 =
- { (void *)nulluser1, sizeof(nulluser1) };
- const gnutls_datum_t user_null_2 =
- { (void *)nulluser2, sizeof(nulluser2) };
- const gnutls_datum_t key =
- { (void *)"9e32cf7786321a828ef7668f09fb35db", 32 };
- const gnutls_datum_t wrong_key =
- { (void *)"9e31cf7786321a828ef7668f09fb35db", 32 };
+ const gnutls_datum_t user_null_1 = { (void *)nulluser1,
+ sizeof(nulluser1) };
+ const gnutls_datum_t user_null_2 = { (void *)nulluser2,
+ sizeof(nulluser2) };
+ const gnutls_datum_t key = { (void *)"9e32cf7786321a828ef7668f09fb35db",
+ 32 };
+ const gnutls_datum_t wrong_key = {
+ (void *)"9e31cf7786321a828ef7668f09fb35db", 32
+ };
run_test_ok("NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+PSK", &user_jas,
&key, 1, 0, 0);
@@ -562,63 +563,63 @@ void doit(void)
0, 1);
/* test priorities of DHE-PSK and PSK */
- run_ectest_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- &user_jas, &key, 0, 0, 0);
- run_ectest_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- &user_hex, &key, 0, 0, 1);
- run_ectest_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- &user_null_1, &key, 0, 0, 1);
- run_ectest_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- &user_null_2, &key, 0, 0, 1);
- run_test_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
- &user_jas, &key, 0, 0, 0);
- run_test_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
- &user_hex, &key, 0, 0, 1);
- run_test_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
- &user_null_1, &key, 0, 0, 1);
- run_test_ok
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
- &user_null_2, &key, 0, 0, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
- &user_jas, &key, 0, GNUTLS_KX_PSK, 0, 0, 0);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
- &user_hex, &key, 0, GNUTLS_KX_PSK, 0, 0, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
- &user_null_1, &key, 0, GNUTLS_KX_PSK, 0, 0, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
- &user_null_2, &key, 0, GNUTLS_KX_PSK, 0, 0, 1);
+ run_ectest_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ &user_jas, &key, 0, 0, 0);
+ run_ectest_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ &user_hex, &key, 0, 0, 1);
+ run_ectest_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ &user_null_1, &key, 0, 0, 1);
+ run_ectest_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ &user_null_2, &key, 0, 0, 1);
+ run_test_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
+ &user_jas, &key, 0, 0, 0);
+ run_test_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
+ &user_hex, &key, 0, 0, 1);
+ run_test_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
+ &user_null_1, &key, 0, 0, 1);
+ run_test_ok(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:-GROUP-DH-ALL",
+ &user_null_2, &key, 0, 0, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
+ &user_jas, &key, 0, GNUTLS_KX_PSK, 0, 0, 0);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
+ &user_hex, &key, 0, GNUTLS_KX_PSK, 0, 0, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
+ &user_null_1, &key, 0, GNUTLS_KX_PSK, 0, 0, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+DHE-PSK:+PSK:-GROUP-DH-ALL",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+PSK:+DHE-PSK:%SERVER_PRECEDENCE:-GROUP-DH-ALL",
+ &user_null_2, &key, 0, GNUTLS_KX_PSK, 0, 0, 1);
/* try with PRF that doesn't match binder (SHA256) */
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
- NULL, &user_jas, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
- GNUTLS_E_NO_CIPHER_SUITES, 0);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
- NULL, &user_hex, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
- GNUTLS_E_NO_CIPHER_SUITES, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
- NULL, &user_null_1, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
- GNUTLS_E_NO_CIPHER_SUITES, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
- NULL, &user_null_2, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
- GNUTLS_E_NO_CIPHER_SUITES, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
+ NULL, &user_jas, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
+ GNUTLS_E_NO_CIPHER_SUITES, 0);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
+ NULL, &user_hex, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
+ GNUTLS_E_NO_CIPHER_SUITES, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
+ NULL, &user_null_1, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
+ GNUTLS_E_NO_CIPHER_SUITES, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM:+PSK:+DHE-PSK",
+ NULL, &user_null_2, &key, 0, 0, GNUTLS_E_FATAL_ALERT_RECEIVED,
+ GNUTLS_E_NO_CIPHER_SUITES, 1);
/* try with no groups and PSK */
run_test_ok("NORMAL:-VERS-ALL:+VERS-TLS1.3:+PSK:-GROUP-ALL", &user_jas,
&key, 0, 0, 0);
@@ -683,22 +684,22 @@ void doit(void)
GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER, 1);
/* try with HelloRetryRequest and PSK */
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
- &user_jas, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 0);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
- &user_hex, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
- &user_null_1, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 1);
- run_test2
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
- &user_null_2, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
+ &user_jas, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 0);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
+ &user_hex, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
+ &user_null_1, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 1);
+ run_test2(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE4096",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+DHE-PSK:-GROUP-ALL:+GROUP-FFDHE4096",
+ &user_null_2, &key, 0, GNUTLS_KX_DHE_PSK, 0, 0, 1);
/* try without server credentials */
run_test3("NORMAL:-VERS-ALL:+VERS-TLS1.3:+PSK:+DHE-PSK", NULL,
@@ -715,4 +716,4 @@ void doit(void)
GNUTLS_E_INSUFFICIENT_CREDENTIALS, 1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/pskself.c b/tests/pskself.c
index dd00009167..ae46d4221e 100644
--- a/tests/pskself.c
+++ b/tests/pskself.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,16 +39,16 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
/* A very basic TLS client, with PSK authentication.
*/
@@ -60,8 +60,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd, const char *prio, unsigned exp_hint)
{
@@ -142,7 +142,7 @@ static void client(int sd, const char *prio, unsigned exp_hint)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -156,12 +156,12 @@ static void client(int sd, const char *prio, unsigned exp_hint)
/* This is a sample TLS 1.0 echo server, for PSK authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
/* These are global */
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -242,11 +242,11 @@ static void server(int sd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -269,8 +269,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void run_test(const char *prio, unsigned exp_hint)
+static void run_test(const char *prio, unsigned exp_hint)
{
pid_t child;
int err;
@@ -315,12 +314,12 @@ void doit(void)
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-PSK", 1);
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.3:+PSK", 0);
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+DHE-PSK",
- 0);
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+ECDHE-PSK",
- 0);
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+DHE-PSK",
+ 0);
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+ECDHE-PSK",
+ 0);
/* the following should work once we support PSK without DH */
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+PSK", 0);
@@ -331,4 +330,4 @@ void doit(void)
gnutls_dh_params_deinit(dh_params);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/pskself2.c b/tests/pskself2.c
index b658ea67ba..4d9dc108fc 100644
--- a/tests/pskself2.c
+++ b/tests/pskself2.c
@@ -24,7 +24,7 @@
/* Parts copied from pskself.c. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,17 +40,17 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
-# include "extras/hex.h"
+#include "utils.h"
+#include "extras/hex.h"
/* A very basic TLS client, with PSK authentication.
*/
@@ -62,8 +62,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd, const char *prio, unsigned exp_hint)
{
@@ -157,7 +157,7 @@ static void client(int sd, const char *prio, unsigned exp_hint)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -172,13 +172,12 @@ static void client(int sd, const char *prio, unsigned exp_hint)
/* This is a sample TLS 1.0 echo server, for PSK authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
/* These are global */
-static int
-pskfunc(gnutls_session_t session, const gnutls_datum_t * username,
- gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const gnutls_datum_t *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: Got username with length %d\n", username->size);
@@ -199,8 +198,8 @@ static void server(int sd, const char *prio)
int ret;
gnutls_session_t session;
gnutls_datum_t psk_username;
- char buffer[MAX_BUF + 1], expected_psk_username[] =
- { 0xDE, 0xAD, 0xBE, 0xEF };
+ char buffer[MAX_BUF + 1],
+ expected_psk_username[] = { 0xDE, 0xAD, 0xBE, 0xEF };
/* this must be called once in the program
*/
@@ -242,8 +241,8 @@ static void server(int sd, const char *prio)
if (gnutls_psk_server_get_username2(session, &psk_username) < 0)
fail("server: Could not get PSK username\n");
- if (psk_username.size != 4
- || memcmp(psk_username.data, expected_psk_username, 4))
+ if (psk_username.size != 4 ||
+ memcmp(psk_username.data, expected_psk_username, 4))
fail("server: Unexpected PSK username\n");
success("server: PSK username length: %d\n", psk_username.size);
@@ -259,11 +258,11 @@ static void server(int sd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -286,8 +285,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void run_test(const char *prio, unsigned exp_hint)
+static void run_test(const char *prio, unsigned exp_hint)
{
pid_t child;
int err;
@@ -330,19 +328,19 @@ void doit(void)
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-PSK", 1);
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.2:+PSK", 0);
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048:+DHE-PSK",
- 0);
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+ECDHE-PSK",
- 0);
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048:+DHE-PSK",
+ 0);
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+ECDHE-PSK",
+ 0);
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.3:+PSK", 0);
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+DHE-PSK",
- 0);
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+ECDHE-PSK",
- 0);
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+DHE-PSK",
+ 0);
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+ECDHE-PSK",
+ 0);
/* the following should work once we support PSK without DH */
run_test("NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+PSK", 0);
@@ -351,4 +349,4 @@ void doit(void)
run_test("NORMAL:-KX-ALL:+DHE-PSK", 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/pubkey-import-export.c b/tests/pubkey-import-export.c
index 5986493c45..788e0b4c30 100644
--- a/tests/pubkey-import-export.c
+++ b/tests/pubkey-import-export.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,25 +34,23 @@
#include "cert-common.h"
static char rsa_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t rsa_key = { (void *)rsa_key_pem,
- sizeof(rsa_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t rsa_key = { (void *)rsa_key_pem, sizeof(rsa_key_pem) };
static void dump(const char *name, unsigned char *buf, int buf_size)
{
@@ -64,45 +62,45 @@ static void dump(const char *name, unsigned char *buf, int buf_size)
}
unsigned char dsa_p[] =
- "\x00\xb9\x84\xf5\x5a\x81\xbe\x1a\x0d\xc5\x8a\x73\x8f\x0c\x9b\x2f\x9b\xb6\x0e\x4b\xc3\x74\x1a\x7f\x64\xad\x9d\xf3\x28\xc5\xa0\x47\xbc\x9b\x57\x56\xf1\x97\xd5\x7e\x37\x03\xe9\xf2\x4c\xf4\xe3\x8b\x7f\x30\xa3\x5d\x2f\xbb\xa1\xa2\x37\xc2\xea\x35\x8f\x1f\xb1\x5f\xa6\xa2\x5f\x01\xf1\x23\x36\x2b\xe4\x4f\x2f\x2d\xdd\x9d\xd5\x3a\xa6\x39\xaf\x7a\x51\x7c\xd2\x25\x8e\x97\x74\xcf\x1e\xc5\x7b\x4b\x76\x43\x81\x07\x1f\x06\x14\xb8\x6e\x58\x12\xe1\x90\xe2\x37\x6f\xd2\x1b\xec\x68\xc5\x58\xe2\xe6\x30\xe0\x6a\x5e\x2c\x63\x78\xec\x07";
+ "\x00\xb9\x84\xf5\x5a\x81\xbe\x1a\x0d\xc5\x8a\x73\x8f\x0c\x9b\x2f\x9b\xb6\x0e\x4b\xc3\x74\x1a\x7f\x64\xad\x9d\xf3\x28\xc5\xa0\x47\xbc\x9b\x57\x56\xf1\x97\xd5\x7e\x37\x03\xe9\xf2\x4c\xf4\xe3\x8b\x7f\x30\xa3\x5d\x2f\xbb\xa1\xa2\x37\xc2\xea\x35\x8f\x1f\xb1\x5f\xa6\xa2\x5f\x01\xf1\x23\x36\x2b\xe4\x4f\x2f\x2d\xdd\x9d\xd5\x3a\xa6\x39\xaf\x7a\x51\x7c\xd2\x25\x8e\x97\x74\xcf\x1e\xc5\x7b\x4b\x76\x43\x81\x07\x1f\x06\x14\xb8\x6e\x58\x12\xe1\x90\xe2\x37\x6f\xd2\x1b\xec\x68\xc5\x58\xe2\xe6\x30\xe0\x6a\x5e\x2c\x63\x78\xec\x07";
unsigned char dsa_q[] =
- "\x00\x9f\x56\x8c\x48\x64\x2f\xfe\x8d\xaa\x7a\x6d\x96\xdb\x04\x5d\x16\xef\x08\xa5\x71";
+ "\x00\x9f\x56\x8c\x48\x64\x2f\xfe\x8d\xaa\x7a\x6d\x96\xdb\x04\x5d\x16\xef\x08\xa5\x71";
unsigned char dsa_g[] =
- "\x62\x06\x7e\xe4\x5c\x76\x08\xb7\x46\x1a\x5d\xd7\x97\xd4\x2a\x21\xfb\x1f\x31\xc9\xd2\xf4\xfa\x39\xd8\x27\xd1\x9b\xfc\x27\x5d\xa7\x0a\xa7\x1a\xfc\x53\xc1\x2f\x43\xc2\x37\xc8\x85\x7f\x3d\x4c\xab\x5d\x81\x32\xfb\x1d\x5e\x1e\x54\x11\x16\x20\xc6\x80\x5a\xd9\x8c\x9b\x43\xf0\xdd\x6b\xa0\xf4\xc3\xf2\x8a\x9c\x39\xd2\x1c\x7b\x0f\xef\xfa\x28\x93\x8f\xd2\xa1\x22\xeb\xdc\xe0\x8a\x8b\xad\x28\x0e\xcf\xef\x09\x85\xe9\x36\xbd\x8b\x7a\x50\xd5\x7b\xf7\x25\x0d\x6c\x60\x11\xc4\xef\x70\x90\xcf\xd6\x1b\xeb\xbb\x8e\xc6\x3e\x3a\x97";
+ "\x62\x06\x7e\xe4\x5c\x76\x08\xb7\x46\x1a\x5d\xd7\x97\xd4\x2a\x21\xfb\x1f\x31\xc9\xd2\xf4\xfa\x39\xd8\x27\xd1\x9b\xfc\x27\x5d\xa7\x0a\xa7\x1a\xfc\x53\xc1\x2f\x43\xc2\x37\xc8\x85\x7f\x3d\x4c\xab\x5d\x81\x32\xfb\x1d\x5e\x1e\x54\x11\x16\x20\xc6\x80\x5a\xd9\x8c\x9b\x43\xf0\xdd\x6b\xa0\xf4\xc3\xf2\x8a\x9c\x39\xd2\x1c\x7b\x0f\xef\xfa\x28\x93\x8f\xd2\xa1\x22\xeb\xdc\xe0\x8a\x8b\xad\x28\x0e\xcf\xef\x09\x85\xe9\x36\xbd\x8b\x7a\x50\xd5\x7b\xf7\x25\x0d\x6c\x60\x11\xc4\xef\x70\x90\xcf\xd6\x1b\xeb\xbb\x8e\xc6\x3e\x3a\x97";
unsigned char dsa_y[] =
- "\x0f\x8a\x87\x57\xf2\xd1\xc2\xdc\xac\xdf\x4b\x8b\x0f\x8b\xba\x29\xf7\xe1\x03\xe4\x55\xfa\xb2\x98\x07\xd6\xfd\x12\xb1\x80\xbc\xf5\xba\xb4\x50\xd4\x7f\xa0\x0e\x43\xe7\x9f\xc9\x78\x11\x5f\xe5\xe4\x0c\x2c\x6b\x6a\xa4\x35\xdc\xbd\x54\xe5\x60\x36\x9a\x31\xd1\x8a\x59\x6e\x6b\x1c\xba\xbd\x2e\xba\xeb\x7c\x87\xef\xda\xc8\xdd\xa1\xeb\xa4\x83\xe6\x8b\xad\xfa\xfa\x8e\x5b\xd7\x37\xc8\x32\x3e\x96\xc2\x3e\xf4\x43\xda\x7d\x91\x02\x0f\xb7\xbc\xf8\xef\x8f\xf7\x41\x00\x5e\x96\xdf\x0f\x08\x96\xdc\xea\xb2\xe9\x06\x82\xaf\xd2\x2f";
+ "\x0f\x8a\x87\x57\xf2\xd1\xc2\xdc\xac\xdf\x4b\x8b\x0f\x8b\xba\x29\xf7\xe1\x03\xe4\x55\xfa\xb2\x98\x07\xd6\xfd\x12\xb1\x80\xbc\xf5\xba\xb4\x50\xd4\x7f\xa0\x0e\x43\xe7\x9f\xc9\x78\x11\x5f\xe5\xe4\x0c\x2c\x6b\x6a\xa4\x35\xdc\xbd\x54\xe5\x60\x36\x9a\x31\xd1\x8a\x59\x6e\x6b\x1c\xba\xbd\x2e\xba\xeb\x7c\x87\xef\xda\xc8\xdd\xa1\xeb\xa4\x83\xe6\x8b\xad\xfa\xfa\x8e\x5b\xd7\x37\xc8\x32\x3e\x96\xc2\x3e\xf4\x43\xda\x7d\x91\x02\x0f\xb7\xbc\xf8\xef\x8f\xf7\x41\x00\x5e\x96\xdf\x0f\x08\x96\xdc\xea\xb2\xe9\x06\x82\xaf\xd2\x2f";
unsigned char dsa_x[] =
- "\x4b\x9f\xeb\xff\x6c\x9a\x02\x83\x41\x5e\x37\x81\x8e\x00\x86\x31\xe8\xb6\x9b\xc1";
+ "\x4b\x9f\xeb\xff\x6c\x9a\x02\x83\x41\x5e\x37\x81\x8e\x00\x86\x31\xe8\xb6\x9b\xc1";
unsigned char rsa_m[] =
- "\x00\xbb\x66\x43\xf5\xf2\xc5\xd7\xb6\x8c\xcc\xc5\xdf\xf5\x88\x3b\xb1\xc9\x4b\x6a\x0e\xa1\xad\x20\x50\x40\x08\x80\xa1\x4f\x5c\xa3\xd0\xf8\x6c\xcf\xe6\x3c\xf7\xec\x04\x76\x13\x17\x8b\x64\x89\x22\x5b\xc0\xdd\x53\x7c\x3b\xed\x7c\x04\xbb\x80\xb9\x28\xbe\x8e\x9b\xc6\x8e\xa0\xa5\x12\xcb\xf5\x57\x1e\xa2\xe7\xbb\xb7\x33\x49\x9f\xe3\xbb\x4a\xae\x6a\x4d\x68\xff\xc9\x11\xe2\x32\x8d\xce\x3d\x80\x0b\x8d\x75\xef\xd8\x00\x81\x8f\x28\x04\x03\xa0\x22\x8d\x61\x04\x07\xfa\xb6\x37\x7d\x21\x07\x49\xd2\x09\x61\x69\x98\x90\xa3\x58\xa9";
+ "\x00\xbb\x66\x43\xf5\xf2\xc5\xd7\xb6\x8c\xcc\xc5\xdf\xf5\x88\x3b\xb1\xc9\x4b\x6a\x0e\xa1\xad\x20\x50\x40\x08\x80\xa1\x4f\x5c\xa3\xd0\xf8\x6c\xcf\xe6\x3c\xf7\xec\x04\x76\x13\x17\x8b\x64\x89\x22\x5b\xc0\xdd\x53\x7c\x3b\xed\x7c\x04\xbb\x80\xb9\x28\xbe\x8e\x9b\xc6\x8e\xa0\xa5\x12\xcb\xf5\x57\x1e\xa2\xe7\xbb\xb7\x33\x49\x9f\xe3\xbb\x4a\xae\x6a\x4d\x68\xff\xc9\x11\xe2\x32\x8d\xce\x3d\x80\x0b\x8d\x75\xef\xd8\x00\x81\x8f\x28\x04\x03\xa0\x22\x8d\x61\x04\x07\xfa\xb6\x37\x7d\x21\x07\x49\xd2\x09\x61\x69\x98\x90\xa3\x58\xa9";
unsigned char rsa_e[] = "\x01\x00\x01";
unsigned char rsa_d[] =
- "\x0e\x99\x80\x44\x6e\x42\x43\x14\xbe\x01\xeb\x0d\x90\x69\xa9\x6a\xe7\xa9\x88\x2c\xf5\x24\x11\x7f\x27\x09\xf2\x89\x7e\xaf\x13\x35\x21\xd1\x8a\x5d\xdf\xd4\x99\xce\xdc\x2b\x0f\x1b\xc5\x3c\x98\xd0\x68\xa5\x65\x8e\x69\x75\xce\x42\x69\x20\x35\x6c\xaa\xf1\xdd\xc9\x57\x6c\x7b\xc3\x3e\x42\x7e\xa1\xc3\x8c\x76\xa7\x9a\xe8\x81\xdb\xe1\x84\x82\xf5\x99\xd5\xa8\xee\x35\x9e\x54\x94\xc5\x44\xa0\x7b\xcc\xb7\x4c\x3e\xcd\xf2\x49\xdb\x5c\x21\x06\x85\xf6\x75\x00\x43\x62\x89\x12\xf9\x5d\x90\xed\xe6\xfd\xb4\x49\x14\x4a\x79\xe2\x4d";
+ "\x0e\x99\x80\x44\x6e\x42\x43\x14\xbe\x01\xeb\x0d\x90\x69\xa9\x6a\xe7\xa9\x88\x2c\xf5\x24\x11\x7f\x27\x09\xf2\x89\x7e\xaf\x13\x35\x21\xd1\x8a\x5d\xdf\xd4\x99\xce\xdc\x2b\x0f\x1b\xc5\x3c\x98\xd0\x68\xa5\x65\x8e\x69\x75\xce\x42\x69\x20\x35\x6c\xaa\xf1\xdd\xc9\x57\x6c\x7b\xc3\x3e\x42\x7e\xa1\xc3\x8c\x76\xa7\x9a\xe8\x81\xdb\xe1\x84\x82\xf5\x99\xd5\xa8\xee\x35\x9e\x54\x94\xc5\x44\xa0\x7b\xcc\xb7\x4c\x3e\xcd\xf2\x49\xdb\x5c\x21\x06\x85\xf6\x75\x00\x43\x62\x89\x12\xf9\x5d\x90\xed\xe6\xfd\xb4\x49\x14\x4a\x79\xe2\x4d";
unsigned char rsa_p[] =
- "\x00\xd8\xcb\xe4\x65\x4e\x6c\x11\x0f\xa8\x72\xed\x4b\x4c\x8d\x1d\x07\xdc\x24\x99\x25\xe4\x3c\xb2\xf3\x02\xc4\x72\xe6\x3a\x5b\x86\xf4\x7d\x54\x2a\x4e\x79\x64\x16\x1f\x45\x3b\x17\x9e\x2a\x94\x90\x90\x59\xe7\x0b\x95\xd4\xbf\xa9\x47\xd1\x0a\x71\xaf\x3d\x6b\xed\x55";
+ "\x00\xd8\xcb\xe4\x65\x4e\x6c\x11\x0f\xa8\x72\xed\x4b\x4c\x8d\x1d\x07\xdc\x24\x99\x25\xe4\x3c\xb2\xf3\x02\xc4\x72\xe6\x3a\x5b\x86\xf4\x7d\x54\x2a\x4e\x79\x64\x16\x1f\x45\x3b\x17\x9e\x2a\x94\x90\x90\x59\xe7\x0b\x95\xd4\xbf\xa9\x47\xd1\x0a\x71\xaf\x3d\x6b\xed\x55";
unsigned char rsa_q[] =
- "\x00\xdd\x49\x81\x7a\x5c\x04\xbf\x6b\xbd\x70\x05\x35\x42\x32\xa3\x9b\x08\xee\xd4\x98\x17\x6e\xb8\xc4\xa2\x12\xbe\xdc\x1e\x72\xd0\x44\x84\x5c\xf0\x30\x35\x04\xfd\x4e\xb0\xcc\xd6\x6f\x40\xcb\x16\x13\x58\xbc\x57\xf7\x77\x48\xe5\x0c\x0d\x14\x9b\x66\x6e\xd8\xde\x05";
+ "\x00\xdd\x49\x81\x7a\x5c\x04\xbf\x6b\xbd\x70\x05\x35\x42\x32\xa3\x9b\x08\xee\xd4\x98\x17\x6e\xb8\xc4\xa2\x12\xbe\xdc\x1e\x72\xd0\x44\x84\x5c\xf0\x30\x35\x04\xfd\x4e\xb0\xcc\xd6\x6f\x40\xcb\x16\x13\x58\xbc\x57\xf7\x77\x48\xe5\x0c\x0d\x14\x9b\x66\x6e\xd8\xde\x05";
unsigned char rsa_u[] =
- "\x4a\x74\x5c\x95\x83\x54\xa3\xb0\x71\x35\xba\x02\x3a\x7d\x4a\x8c\x2d\x9a\x26\x77\x60\x36\x28\xd4\xb1\x7d\x8a\x06\xf8\x89\xa2\xef\xb1\x66\x46\x7d\xb9\xd4\xde\xbc\xa3\xbe\x46\xfa\x62\xe1\x63\x82\xdc\xdb\x64\x36\x47\x59\x00\xa8\xf3\xf7\x0e\xb4\xe0\x66\x3d\xd9";
+ "\x4a\x74\x5c\x95\x83\x54\xa3\xb0\x71\x35\xba\x02\x3a\x7d\x4a\x8c\x2d\x9a\x26\x77\x60\x36\x28\xd4\xb1\x7d\x8a\x06\xf8\x89\xa2\xef\xb1\x66\x46\x7d\xb9\xd4\xde\xbc\xa3\xbe\x46\xfa\x62\xe1\x63\x82\xdc\xdb\x64\x36\x47\x59\x00\xa8\xf3\xf7\x0e\xb4\xe0\x66\x3d\xd9";
unsigned char rsa_e1[] =
- "\x45\x20\x96\x5e\x1b\x28\x68\x34\x46\xf1\x06\x6b\x09\x28\xc1\xc5\xfc\xd3\x0a\xa6\x43\x65\x7b\x65\xf3\x4e\xf2\x98\x28\xa9\x80\x99\xba\xd0\xb8\x80\xb7\x42\x4b\xaf\x82\xe2\xb9\xc0\x2c\x31\x9c\xfa\xfa\x3f\xaa\xb9\x06\xd2\x6a\x46\xc5\x08\x00\x81\xf1\x22\xd5\xd5";
+ "\x45\x20\x96\x5e\x1b\x28\x68\x34\x46\xf1\x06\x6b\x09\x28\xc1\xc5\xfc\xd3\x0a\xa6\x43\x65\x7b\x65\xf3\x4e\xf2\x98\x28\xa9\x80\x99\xba\xd0\xb8\x80\xb7\x42\x4b\xaf\x82\xe2\xb9\xc0\x2c\x31\x9c\xfa\xfa\x3f\xaa\xb9\x06\xd2\x6a\x46\xc5\x08\x00\x81\xf1\x22\xd5\xd5";
unsigned char rsa_e2[] =
- "\x00\xa6\x50\x60\xa7\xfe\x10\xf3\x6d\x9e\x6b\x5a\xfe\xb4\x4a\x2a\xfc\x92\xb2\x2d\xc6\x41\x96\x4d\xf8\x3b\x77\xab\x4a\xf4\xf7\x85\xe0\x79\x3b\x00\xaa\xba\xae\x8d\x53\x5f\x3e\x14\xcc\x78\xfe\x2a\x11\x50\x57\xfe\x25\x57\xd9\xc9\x8c\x4d\x28\x77\xc3\x7c\xfc\x31\xa1";
+ "\x00\xa6\x50\x60\xa7\xfe\x10\xf3\x6d\x9e\x6b\x5a\xfe\xb4\x4a\x2a\xfc\x92\xb2\x2d\xc6\x41\x96\x4d\xf8\x3b\x77\xab\x4a\xf4\xf7\x85\xe0\x79\x3b\x00\xaa\xba\xae\x8d\x53\x5f\x3e\x14\xcc\x78\xfe\x2a\x11\x50\x57\xfe\x25\x57\xd9\xc9\x8c\x4d\x28\x77\xc3\x7c\xfc\x31\xa1";
unsigned char ecc_x[] =
- "\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33";
+ "\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33";
unsigned char ecc_y[] =
- "\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
+ "\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
unsigned char ecc_k[] =
- "\x00\xfd\x2b\x00\x80\xf3\x36\x5f\x11\x32\x65\xe3\x8d\x30\x33\x3b\x47\xf5\xce\xf8\x13\xe5\x4c\xc2\xcf\xfd\xe8\x05\x6a\xca\xc9\x41\xb1";
+ "\x00\xfd\x2b\x00\x80\xf3\x36\x5f\x11\x32\x65\xe3\x8d\x30\x33\x3b\x47\xf5\xce\xf8\x13\xe5\x4c\xc2\xcf\xfd\xe8\x05\x6a\xca\xc9\x41\xb1";
unsigned char false_ed25519_x[] =
- "\xac\xac\x9a\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x84\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
+ "\xac\xac\x9a\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x84\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
unsigned char ed25519_x[] =
- "\xab\xaf\x98\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x86\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
+ "\xab\xaf\x98\xb3\xc3\x41\x8d\x41\x22\x21\xc1\x86\xa7\xb8\x70\xfb\x44\x6e\xc7\x7e\x20\x87\x7b\xd9\x22\xa4\x5d\xd2\x97\x09\xd5\x48";
unsigned char ed25519_k[] =
- "\x1c\xa9\x23\xdc\x35\xa8\xfd\xd6\x2d\xa8\x98\xb9\x60\x7b\xce\x10\x3d\xf4\x64\xc6\xe5\x4b\x0a\x65\x56\x6a\x3c\x73\x65\x51\xa2\x2f";
+ "\x1c\xa9\x23\xdc\x35\xa8\xfd\xd6\x2d\xa8\x98\xb9\x60\x7b\xce\x10\x3d\xf4\x64\xc6\xe5\x4b\x0a\x65\x56\x6a\x3c\x73\x65\x51\xa2\x2f";
gnutls_datum_t _dsa_p = { dsa_p, sizeof(dsa_p) - 1 };
gnutls_datum_t _dsa_q = { dsa_q, sizeof(dsa_q) - 1 };
@@ -123,17 +121,17 @@ gnutls_datum_t _ecc_x = { ecc_x, sizeof(ecc_x) - 1 };
gnutls_datum_t _ecc_y = { ecc_y, sizeof(ecc_y) - 1 };
gnutls_datum_t _ecc_k = { ecc_k, sizeof(ecc_k) - 1 };
-gnutls_datum_t _false_ed25519_x =
- { false_ed25519_x, sizeof(false_ed25519_x) - 1 };
+gnutls_datum_t _false_ed25519_x = { false_ed25519_x,
+ sizeof(false_ed25519_x) - 1 };
gnutls_datum_t _ed25519_x = { ed25519_x, sizeof(ed25519_x) - 1 };
gnutls_datum_t _ed25519_k = { ed25519_k, sizeof(ed25519_k) - 1 };
unsigned char ecc_params[] = "\x06\x08\x2a\x86\x48\xce\x3d\x03\x01\x07";
unsigned char ecc_point[] =
- "\x04\x41\x04\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
+ "\x04\x41\x04\x3c\x15\x6f\x1d\x48\x3e\x64\x59\x13\x2c\x6d\x04\x1a\x38\x0d\x30\x5c\xe4\x3f\x55\xcb\xd9\x17\x15\x46\x72\x71\x92\xc1\xf8\xc6\x33\x3d\x04\x2e\xc8\xc1\x0f\xc0\x50\x04\x7b\x9f\xc9\x48\xb5\x40\xfa\x6f\x93\x82\x59\x61\x5e\x72\x57\xcb\x83\x06\xbd\xcc\x82\x94\xc1";
-#define CMP(name, dat, v) cmp(name, __LINE__, dat, v, sizeof(v)-1)
-static int cmp(const char *name, int line, gnutls_datum_t * v1,
+#define CMP(name, dat, v) cmp(name, __LINE__, dat, v, sizeof(v) - 1)
+static int cmp(const char *name, int line, gnutls_datum_t *v1,
unsigned char *v2, unsigned size)
{
if (size != v1->size) {
@@ -153,8 +151,8 @@ static int cmp(const char *name, int line, gnutls_datum_t * v1,
}
/* leading zero on v2 is ignored */
-#define CMP_NO_LZ(name, dat, v) cmp_no_lz(name, __LINE__, dat, v, sizeof(v)-1)
-static int cmp_no_lz(const char *name, int line, gnutls_datum_t * v1,
+#define CMP_NO_LZ(name, dat, v) cmp_no_lz(name, __LINE__, dat, v, sizeof(v) - 1)
+static int cmp_no_lz(const char *name, int line, gnutls_datum_t *v1,
unsigned char *i2, unsigned size)
{
gnutls_datum_t v2;
@@ -182,8 +180,7 @@ static int cmp_no_lz(const char *name, int line, gnutls_datum_t * v1,
return 0;
}
-static
-int check_pubkey_import_export(void)
+static int check_pubkey_import_export(void)
{
gnutls_pubkey_t key;
gnutls_datum_t p, q, g, y, x;
@@ -198,9 +195,8 @@ int check_pubkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_pubkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
- &_dsa_y);
+ ret = gnutls_pubkey_import_dsa_raw(key, &_dsa_p, &_dsa_q, &_dsa_g,
+ &_dsa_y);
if (ret < 0)
fail("error\n");
@@ -222,9 +218,8 @@ int check_pubkey_import_export(void)
gnutls_free(g.data);
gnutls_free(y.data);
- ret =
- gnutls_pubkey_export_dsa_raw2(key, &p, &q, &g, &y,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_dsa_raw2(key, &p, &q, &g, &y,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
@@ -261,9 +256,8 @@ int check_pubkey_import_export(void)
gnutls_free(m.data);
gnutls_free(e.data);
- ret =
- gnutls_pubkey_export_rsa_raw2(key, &m, &e,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_rsa_raw2(key, &m, &e,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -278,9 +272,8 @@ int check_pubkey_import_export(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_pubkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_SECP256R1,
- &_ecc_x, &_ecc_y);
+ ret = gnutls_pubkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_SECP256R1,
+ &_ecc_x, &_ecc_y);
if (ret < 0)
fail("error\n");
@@ -302,9 +295,8 @@ int check_pubkey_import_export(void)
gnutls_free(x.data);
gnutls_free(y.data);
- ret =
- gnutls_pubkey_export_ecc_raw2(key, &curve, &x, &y,
- GNUTLS_EXPORT_FLAG_NO_LZ);
+ ret = gnutls_pubkey_export_ecc_raw2(key, &curve, &x, &y,
+ GNUTLS_EXPORT_FLAG_NO_LZ);
if (ret < 0)
fail("error\n");
@@ -324,15 +316,13 @@ int check_pubkey_import_export(void)
fail("error\n");
/* test whether an invalid size would fail */
- ret =
- gnutls_pubkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519, &_rsa_m,
- NULL);
+ ret = gnutls_pubkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
+ &_rsa_m, NULL);
if (ret != GNUTLS_E_INVALID_REQUEST)
fail("error\n");
- ret =
- gnutls_pubkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
- &_ed25519_x, NULL);
+ ret = gnutls_pubkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
+ &_ed25519_x, NULL);
if (ret < 0)
fail("error\n");
diff --git a/tests/random-art.c b/tests/random-art.c
index 8afa87aa9e..b730a45b5f 100644
--- a/tests/random-art.c
+++ b/tests/random-art.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,9 +42,8 @@ static void encode(const char *test_name, const char *type, unsigned key_size,
int ret;
gnutls_datum_t out;
- ret =
- gnutls_random_art(GNUTLS_RANDOM_ART_OPENSSH, type, key_size, input,
- input_size, &out);
+ ret = gnutls_random_art(GNUTLS_RANDOM_ART_OPENSSH, type, key_size,
+ input, input_size, &out);
if (ret < 0) {
fail("%s: gnutls_random_art: %s\n", test_name,
gnutls_strerror(ret));
@@ -52,12 +51,14 @@ static void encode(const char *test_name, const char *type, unsigned key_size,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_random_art: output has incorrect size (%d, expected %d)\n%s\n", test_name, (int)out.size, (int)strlen(expected), out.data);
+ fail("%s: gnutls_random_art: output has incorrect size (%d, expected %d)\n%s\n",
+ test_name, (int)out.size, (int)strlen(expected), out.data);
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_random_art: output does not match the expected:\n%s\n", test_name, out.data);
+ fail("%s: gnutls_random_art: output does not match the expected:\n%s\n",
+ test_name, out.data);
exit(1);
}
@@ -76,54 +77,54 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "key1",
- .raw = (void *)
- "\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb",
- .raw_size = 20,
- .key_type = "RSA",
- .key_size = 2048,
- .art = "+--[ RSA 2048]----+\n"
- "|.o*++==o |\n"
- "| + *.===. |\n"
- "|. * + +.o |\n"
- "| o . o + . |\n"
- "|. + S |\n"
- "| . o |\n"
- "|E |\n"
- "| |\n" "| |\n" "+-----------------+"},
- {
- .name = "key2",
- .raw = (void *)
- "\xf8\xa7\x1c\x08\x76\x47\x2c\x08\x38\x17\x0c\x08\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\xa4\xb6\xf6\xf8\x29\xfc\x50\x3f\x2b\xbb",
- .raw_size = 32,
- .key_type = "RSA",
- .key_size = 3072,
- .art = "+--[ RSA 3072]----+\n"
- "|@*=*+.o |\n"
- "|O.B.+* o |\n"
- "|.* +..o o |\n"
- "| . . + |\n"
- "| oo.o S |\n"
- "| ..+o.+ |\n"
- "| .o ..oo . |\n"
- "| oo...o+ |\n" "| oE+.o |\n" "+-----------------+"},
- {
- .name = "key3",
- .raw = (void *)
- "\x38\xf7\x0c\x08\xcb\x34\x8a\xd4\xb7\x9c\x34\xb4\xf6\x08\x29\x4c\x50\x3f\x2b\xbb",
- .raw_size = 20,
- .key_type = "ECDSA",
- .key_size = 256,
- .art = "+--[ECDSA 256]---+\n"
- "|oo. . |\n"
- "|o ..o . |\n"
- "| + +** |\n"
- "|...+***o |\n"
- "|. o +=+.S |\n"
- "| o o + |\n"
- "| . o |\n"
- "| . |\n" "| E |\n" "+-----------------+"}
+ { .name = "key1",
+ .raw = (void *)"\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\x34\xb6\xf6\x08\x29\x4c\x50\x31\x2b\xbb",
+ .raw_size = 20,
+ .key_type = "RSA",
+ .key_size = 2048,
+ .art = "+--[ RSA 2048]----+\n"
+ "|.o*++==o |\n"
+ "| + *.===. |\n"
+ "|. * + +.o |\n"
+ "| o . o + . |\n"
+ "|. + S |\n"
+ "| . o |\n"
+ "|E |\n"
+ "| |\n"
+ "| |\n"
+ "+-----------------+" },
+ { .name = "key2",
+ .raw = (void *)"\xf8\xa7\x1c\x08\x76\x47\x2c\x08\x38\x17\x0c\x08\x38\x17\x0c\x08\xcb\x45\x8f\xd4\x87\x9c\xa4\xb6\xf6\xf8\x29\xfc\x50\x3f\x2b\xbb",
+ .raw_size = 32,
+ .key_type = "RSA",
+ .key_size = 3072,
+ .art = "+--[ RSA 3072]----+\n"
+ "|@*=*+.o |\n"
+ "|O.B.+* o |\n"
+ "|.* +..o o |\n"
+ "| . . + |\n"
+ "| oo.o S |\n"
+ "| ..+o.+ |\n"
+ "| .o ..oo . |\n"
+ "| oo...o+ |\n"
+ "| oE+.o |\n"
+ "+-----------------+" },
+ { .name = "key3",
+ .raw = (void *)"\x38\xf7\x0c\x08\xcb\x34\x8a\xd4\xb7\x9c\x34\xb4\xf6\x08\x29\x4c\x50\x3f\x2b\xbb",
+ .raw_size = 20,
+ .key_type = "ECDSA",
+ .key_size = 256,
+ .art = "+--[ECDSA 256]---+\n"
+ "|oo. . |\n"
+ "|o ..o . |\n"
+ "| + +** |\n"
+ "|...+***o |\n"
+ "|. o +=+.S |\n"
+ "| o o + |\n"
+ "| . o |\n"
+ "| . |\n"
+ "| E |\n"
+ "+-----------------+" }
};
void doit(void)
diff --git a/tests/rawpk-api.c b/tests/rawpk-api.c
index 42ca87a013..a3607b964f 100644
--- a/tests/rawpk-api.c
+++ b/tests/rawpk-api.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -62,14 +62,13 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&cred) >= 0);
assert((pcert = gnutls_calloc(1, sizeof(*pcert))) != NULL);
assert(gnutls_pubkey_init(&pubkey) >= 0);
- assert(gnutls_pubkey_import
- (pubkey, &rawpk_public_key1, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_pubkey_import(pubkey, &rawpk_public_key1,
+ GNUTLS_X509_FMT_PEM) >= 0);
/* Tests for gnutls_certificate_set_rawpk_key_mem() */
success("Testing gnutls_certificate_set_rawpk_key_mem()...\n");
// Positive tests
- ret = gnutls_certificate_set_rawpk_key_mem(cred,
- &rawpk_public_key2,
+ ret = gnutls_certificate_set_rawpk_key_mem(cred, &rawpk_public_key2,
&rawpk_private_key2,
GNUTLS_X509_FMT_PEM, NULL, 0,
NULL, 0, 0);
@@ -77,18 +76,17 @@ void doit(void)
fail("Failed to load credentials with error: %d\n", ret);
}
// Negative tests
- ret = gnutls_certificate_set_rawpk_key_mem(cred,
- NULL, &rawpk_private_key2,
+ ret = gnutls_certificate_set_rawpk_key_mem(cred, NULL,
+ &rawpk_private_key2,
GNUTLS_X509_FMT_PEM, NULL, 0,
NULL, 0, 0);
if (ret != GNUTLS_E_INSUFFICIENT_CREDENTIALS) {
fail("Failed to detect falsy input. Expected error: %d\n",
GNUTLS_E_INSUFFICIENT_CREDENTIALS);
}
- ret = gnutls_certificate_set_rawpk_key_mem(cred,
- &rawpk_public_key2, NULL,
- GNUTLS_X509_FMT_PEM, NULL, 0,
- NULL, 0, 0);
+ ret = gnutls_certificate_set_rawpk_key_mem(cred, &rawpk_public_key2,
+ NULL, GNUTLS_X509_FMT_PEM,
+ NULL, 0, NULL, 0, 0);
if (ret != GNUTLS_E_INSUFFICIENT_CREDENTIALS) {
fail("Failed to detect falsy input. Expected error: %d\n",
GNUTLS_E_INSUFFICIENT_CREDENTIALS);
@@ -97,27 +95,24 @@ void doit(void)
/* Tests for gnutls_certificate_set_rawpk_key_file() */
success("Testing gnutls_certificate_set_rawpk_key_file()...\n");
// Positive tests
- ret =
- gnutls_certificate_set_rawpk_key_file(cred, rawpk_pub_path,
- rawpk_priv_path,
- GNUTLS_X509_FMT_PEM, NULL, 0,
- NULL, 0, 0, 0);
+ ret = gnutls_certificate_set_rawpk_key_file(cred, rawpk_pub_path,
+ rawpk_priv_path,
+ GNUTLS_X509_FMT_PEM, NULL,
+ 0, NULL, 0, 0, 0);
if (ret < 0) {
fail("Failed to load credentials with error: %d\n", ret);
}
// Negative tests
- ret =
- gnutls_certificate_set_rawpk_key_file(cred, NULL, rawpk_priv_path,
- GNUTLS_X509_FMT_PEM, NULL, 0,
- NULL, 0, 0, 0);
+ ret = gnutls_certificate_set_rawpk_key_file(cred, NULL, rawpk_priv_path,
+ GNUTLS_X509_FMT_PEM, NULL,
+ 0, NULL, 0, 0, 0);
if (ret != GNUTLS_E_INSUFFICIENT_CREDENTIALS) {
fail("Failed to detect falsy input. Expected error: %d\n",
GNUTLS_E_INSUFFICIENT_CREDENTIALS);
}
- ret =
- gnutls_certificate_set_rawpk_key_file(cred, rawpk_pub_path, NULL,
- GNUTLS_X509_FMT_PEM, NULL, 0,
- NULL, 0, 0, 0);
+ ret = gnutls_certificate_set_rawpk_key_file(cred, rawpk_pub_path, NULL,
+ GNUTLS_X509_FMT_PEM, NULL,
+ 0, NULL, 0, 0, 0);
if (ret != GNUTLS_E_INSUFFICIENT_CREDENTIALS) {
fail("Failed to detect falsy input. Expected error: %d\n",
GNUTLS_E_INSUFFICIENT_CREDENTIALS);
@@ -128,7 +123,8 @@ void doit(void)
// Positive tests
ret = gnutls_pcert_import_rawpk(pcert, pubkey, 0);
if (ret < 0) {
- fail("Failed to import raw public-key into pcert with error: %d\n", ret);
+ fail("Failed to import raw public-key into pcert with error: %d\n",
+ ret);
}
// Negative tests
ret = gnutls_pcert_import_rawpk(pcert, NULL, 0);
@@ -142,16 +138,15 @@ void doit(void)
/* Tests for gnutls_pcert_import_rawpk_raw() */
success("Testing gnutls_pcert_import_rawpk_raw()...\n");
// Positive tests
- ret =
- gnutls_pcert_import_rawpk_raw(pcert, &rawpk_public_key1,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_pcert_import_rawpk_raw(pcert, &rawpk_public_key1,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 0) {
- fail("Failed to import raw public-key into pcert with error: %d\n", ret);
+ fail("Failed to import raw public-key into pcert with error: %d\n",
+ ret);
}
// Negative tests
- ret =
- gnutls_pcert_import_rawpk_raw(pcert, NULL, GNUTLS_X509_FMT_PEM, 0,
- 0);
+ ret = gnutls_pcert_import_rawpk_raw(pcert, NULL, GNUTLS_X509_FMT_PEM, 0,
+ 0);
if (ret != GNUTLS_E_INSUFFICIENT_CREDENTIALS) {
fail("Failed to detect falsy input. Expected error: %d\n",
GNUTLS_E_INSUFFICIENT_CREDENTIALS);
diff --git a/tests/record-pad.c b/tests/record-pad.c
index 8eb00b0642..a38a73616f 100644
--- a/tests/record-pad.c
+++ b/tests/record-pad.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
-
-# define MAX_BUF 1024
-# define HIGH(x) (3*x)
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
+
+#define MAX_BUF 1024
+#define HIGH(x) (3 * x)
static void terminate(void);
static size_t total;
@@ -121,8 +121,7 @@ static void client(int fd, struct test_st *test)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -135,13 +134,13 @@ static void client(int fd, struct test_st *test)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
@@ -158,7 +157,7 @@ static void client(int fd, struct test_st *test)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -216,8 +215,7 @@ static void server(int fd, struct test_st *test)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -230,8 +228,8 @@ static void server(int fd, struct test_st *test)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_transport_set_push_function(session, push);
@@ -239,16 +237,16 @@ static void server(int fd, struct test_st *test)
total = 0;
do {
- ret =
- gnutls_record_send2(session, buffer,
- test->data, test->pad, 0);
+ ret = gnutls_record_send2(session, buffer, test->data,
+ test->pad, 0);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (test->sret < 0) {
if (ret >= 0)
fail("server: expected failure got success!\n");
if (ret != test->sret)
- fail("server: expected different failure: '%s', got: '%s'\n", gnutls_strerror(test->sret), gnutls_strerror(ret));
+ fail("server: expected different failure: '%s', got: '%s'\n",
+ gnutls_strerror(test->sret), gnutls_strerror(ret));
goto finish;
}
@@ -258,14 +256,14 @@ static void server(int fd, struct test_st *test)
}
expected =
- test->data + test->pad + gnutls_record_overhead_size(session);
+ test->data + test->pad + gnutls_record_overhead_size(session);
if (total != expected) {
fail("Sent data (%u) are lower than expected (%u)\n",
(unsigned)total, (unsigned)expected);
terminate();
}
- finish:
+finish:
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -314,7 +312,7 @@ static void start(struct test_st *test)
}
}
-# define AES_GCM "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-ALL:+GROUP-ALL"
+#define AES_GCM "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-ALL:+GROUP-ALL"
static void ch_handler(int sig)
{
@@ -325,61 +323,52 @@ static void ch_handler(int sig)
}
struct test_st tests[] = {
- {
- .name = "AES-GCM with max pad",
- .pad = HIGH(MAX_BUF + 1) - (MAX_BUF + 1),
- .data = MAX_BUF,
- .prio = AES_GCM,
- .flags = 0},
- {
- .name = "AES-GCM with zero pad",
- .pad = 0,
- .data = MAX_BUF,
- .prio = AES_GCM,
- .flags = 0},
- {
- .name = "AES-GCM with 1-byte pad",
- .pad = 1,
- .data = MAX_BUF,
- .prio = AES_GCM,
- .flags = 0},
- {
- .name = "AES-GCM with pad, but no data",
- .pad = 16,
- .data = 0,
- .prio = AES_GCM,
- .flags = 0},
- {
- .name = "AES-GCM with max pad and safe padding check",
- .pad = HIGH(MAX_BUF + 1) - (MAX_BUF + 1),
- .data = MAX_BUF,
- .prio = AES_GCM,
- .flags = GNUTLS_SAFE_PADDING_CHECK},
- {
- .name = "AES-GCM with zero pad and safe padding check",
- .pad = 0,
- .data = MAX_BUF,
- .prio = AES_GCM,
- .flags = GNUTLS_SAFE_PADDING_CHECK},
- {
- .name = "AES-GCM with 1-byte pad and safe padding check",
- .pad = 1,
- .data = MAX_BUF,
- .prio = AES_GCM,
- .flags = GNUTLS_SAFE_PADDING_CHECK},
- {
- .name = "AES-GCM with pad, but no data and safe padding check",
- .pad = 16,
- .data = 0,
- .prio = AES_GCM,
- .flags = GNUTLS_SAFE_PADDING_CHECK},
- {
- .name = "AES-GCM with pad, but no data and no pad",
- .pad = 0,
- .data = 0,
- .prio = AES_GCM,
- .flags = GNUTLS_SAFE_PADDING_CHECK,
- .sret = GNUTLS_E_INVALID_REQUEST},
+ { .name = "AES-GCM with max pad",
+ .pad = HIGH(MAX_BUF + 1) - (MAX_BUF + 1),
+ .data = MAX_BUF,
+ .prio = AES_GCM,
+ .flags = 0 },
+ { .name = "AES-GCM with zero pad",
+ .pad = 0,
+ .data = MAX_BUF,
+ .prio = AES_GCM,
+ .flags = 0 },
+ { .name = "AES-GCM with 1-byte pad",
+ .pad = 1,
+ .data = MAX_BUF,
+ .prio = AES_GCM,
+ .flags = 0 },
+ { .name = "AES-GCM with pad, but no data",
+ .pad = 16,
+ .data = 0,
+ .prio = AES_GCM,
+ .flags = 0 },
+ { .name = "AES-GCM with max pad and safe padding check",
+ .pad = HIGH(MAX_BUF + 1) - (MAX_BUF + 1),
+ .data = MAX_BUF,
+ .prio = AES_GCM,
+ .flags = GNUTLS_SAFE_PADDING_CHECK },
+ { .name = "AES-GCM with zero pad and safe padding check",
+ .pad = 0,
+ .data = MAX_BUF,
+ .prio = AES_GCM,
+ .flags = GNUTLS_SAFE_PADDING_CHECK },
+ { .name = "AES-GCM with 1-byte pad and safe padding check",
+ .pad = 1,
+ .data = MAX_BUF,
+ .prio = AES_GCM,
+ .flags = GNUTLS_SAFE_PADDING_CHECK },
+ { .name = "AES-GCM with pad, but no data and safe padding check",
+ .pad = 16,
+ .data = 0,
+ .prio = AES_GCM,
+ .flags = GNUTLS_SAFE_PADDING_CHECK },
+ { .name = "AES-GCM with pad, but no data and no pad",
+ .pad = 0,
+ .data = 0,
+ .prio = AES_GCM,
+ .flags = GNUTLS_SAFE_PADDING_CHECK,
+ .sret = GNUTLS_E_INVALID_REQUEST },
};
void doit(void)
@@ -392,4 +381,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/record-retvals.c b/tests/record-retvals.c
index 827405b1d7..7b9a9cd9d6 100644
--- a/tests/record-retvals.c
+++ b/tests/record-retvals.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -65,50 +65,47 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 24*1024
+#define MAX_BUF 24 * 1024
static void client(int fd, const char *prio, int ign)
{
@@ -154,8 +151,7 @@ static void client(int fd, const char *prio, int ign)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client (%s): Handshake has failed (%s)\n\n", prio,
@@ -168,8 +164,8 @@ static void client(int fd, const char *prio, int ign)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* Test sending */
for (i = 1; i < 16384; i++) {
@@ -184,7 +180,8 @@ static void client(int fd, const char *prio, int ign)
}
if (ret > 0 && ret != (int)i) {
- fail("server (%s): Error sending %d byte packet: sent: %d\n", prio, i, ret);
+ fail("server (%s): Error sending %d byte packet: sent: %d\n",
+ prio, i, ret);
exit(1);
}
}
@@ -196,19 +193,20 @@ static void client(int fd, const char *prio, int ign)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
- fail("server (%s): Error sending %d byte packet: %s\n",
- prio, i, gnutls_strerror(ret));
+ fail("server (%s): Error sending %d byte packet: %s\n", prio, i,
+ gnutls_strerror(ret));
exit(1);
} else if (ign == 0 && ret != 16384) {
- fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n", prio, i, ret);
+ fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n",
+ prio, i, ret);
exit(1);
}
memset(buffer, 0xff, sizeof(buffer));
ret = gnutls_record_send(session, buffer, 4);
if (ret < 0) {
- fail("server (%s): Error sending 4 byte packet: %s\n",
- prio, gnutls_strerror(ret));
+ fail("server (%s): Error sending 4 byte packet: %s\n", prio,
+ gnutls_strerror(ret));
exit(1);
}
@@ -235,7 +233,7 @@ static void client(int fd, const char *prio, int ign)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -301,8 +299,7 @@ static void server(int fd, const char *prio, int ign)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -315,8 +312,8 @@ static void server(int fd, const char *prio, int ign)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* Here we do both a receive and a send test because if valgrind
* detects an error on the peer, the main process will never know.
@@ -329,7 +326,7 @@ static void server(int fd, const char *prio, int ign)
ret = gnutls_record_recv(session, buffer, MAX_BUF);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret > 0 && ret != (int)i) {
- if (ret == 4 && (uint8_t) buffer[0] == 0xff) {
+ if (ret == 4 && (uint8_t)buffer[0] == 0xff) {
break;
} else {
fail("error receiving message[%d]: ret: %d\n",
@@ -364,11 +361,12 @@ static void server(int fd, const char *prio, int ign)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
- fail("server (%s): Error sending %d byte packet: %s\n",
- prio, i, gnutls_strerror(ret));
+ fail("server (%s): Error sending %d byte packet: %s\n", prio, i,
+ gnutls_strerror(ret));
terminate();
} else if (ign == 0 && ret != 16384) {
- fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n", prio, i, ret);
+ fail("server (%s): Error sending %d byte packet; sent %d bytes instead of 16384\n",
+ prio, i, ret);
terminate();
}
@@ -417,15 +415,22 @@ static void start(const char *prio, int ign)
}
}
-# define AES_CBC "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define TLS13_AES_GCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+CURVE-ALL"
+#define AES_CBC \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define TLS13_AES_GCM \
+ "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+CURVE-ALL"
-# define ARCFOUR_SHA1 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
-# define ARCFOUR_MD5 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+MD5:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL:+RSA"
+#define ARCFOUR_SHA1 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL"
+#define ARCFOUR_MD5 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+ARCFOUR-128:+MD5:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+CURVE-ALL:+RSA"
-# define NULL_SHA1 "NONE:+VERS-TLS1.0:-CIPHER-ALL:+NULL:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+RSA:+CURVE-ALL"
+#define NULL_SHA1 \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+NULL:+SHA1:+SIGN-ALL:+COMP-NULL:+ANON-ECDH:+RSA:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -452,4 +457,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/record-sendfile.c b/tests/record-sendfile.c
index aab7890cb4..9b02afb2ec 100644
--- a/tests/record-sendfile.c
+++ b/tests/record-sendfile.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -34,23 +34,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <gnutls/dtls.h>
-# include <gnutls/socket.h>
-# include <signal.h>
-# include <assert.h>
-# include <errno.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <gnutls/dtls.h>
+#include <gnutls/socket.h>
+#include <signal.h>
+#include <assert.h>
+#include <errno.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void server_log_func(int level, const char *str)
{
@@ -62,9 +62,9 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello world!"
-# define OFFSET 2
+#define MAX_BUF 1024
+#define MSG "Hello world!"
+#define OFFSET 2
static void client(int fd, const char *prio)
{
@@ -93,8 +93,7 @@ static void client(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -106,8 +105,7 @@ static void client(int fd, const char *prio)
memset(buffer, 0, sizeof(buffer));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer));
- }
- while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret == 0) {
success("client: Peer has closed the TLS connection\n");
@@ -132,7 +130,7 @@ static void client(int fd, const char *prio)
}
ret = 0;
- end:
+end:
close(fd);
@@ -160,9 +158,8 @@ static void server(int fd, const char *prio)
}
gnutls_certificate_allocate_credentials(&x509_cred);
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -177,8 +174,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: Handshake has failed (%s)\n\n",
@@ -209,8 +205,8 @@ static void server(int fd, const char *prio)
}
do {
- ret =
- gnutls_record_send_file(session, fileno(fp), &offset, 512);
+ ret = gnutls_record_send_file(session, fileno(fp), &offset,
+ 512);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -225,7 +221,7 @@ static void server(int fd, const char *prio)
gnutls_strerror(ret));
ret = 0;
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -237,8 +233,7 @@ static void server(int fd, const char *prio)
success("server: finished\n");
}
-static
-void run(const char *prio)
+static void run(const char *prio)
{
int fd[2];
int ret;
@@ -268,7 +263,6 @@ void run(const char *prio)
client(fd[1], prio);
exit(0);
}
-
}
void doit(void)
@@ -278,4 +272,4 @@ void doit(void)
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM");
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/record-sizes-range.c b/tests/record-sizes-range.c
index 07cbcb3959..81452e2795 100644
--- a/tests/record-sizes-range.c
+++ b/tests/record-sizes-range.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,22 +42,22 @@ static void tls_log_func(int level, const char *str)
/* This test attempts to transfer various sizes using AES-128-CBC.
*/
-#define MAX_BUF 32*1024
+#define MAX_BUF 32 * 1024
#define MAX_SEND 16384
static char buffer1[MAX_BUF + 1];
static char buffer[MAX_BUF + 1];
-static void try_send(gnutls_session_t client, gnutls_session_t server,
- void *b1, ssize_t b1_size, void *b2, ssize_t b2_size,
- gnutls_range_st * range)
+static void try_send(gnutls_session_t client, gnutls_session_t server, void *b1,
+ ssize_t b1_size, void *b2, ssize_t b2_size,
+ gnutls_range_st *range)
{
int ret, recvd;
/* Try sending various other sizes */
ret = gnutls_record_send_range(client, b1, b1_size, range);
if (ret < 0) {
- fprintf(stderr, "Error sending %d bytes: %s\n",
- (int)b1_size, gnutls_strerror(ret));
+ fprintf(stderr, "Error sending %d bytes: %s\n", (int)b1_size,
+ gnutls_strerror(ret));
exit(1);
}
@@ -75,15 +75,13 @@ static void try_send(gnutls_session_t client, gnutls_session_t server,
exit(1);
}
recvd += ret;
- }
- while (recvd < b1_size);
+ } while (recvd < b1_size);
if (recvd != b1_size) {
fprintf(stderr, "Couldn't receive %d bytes, received %d\n",
(int)b1_size, recvd);
exit(1);
}
-
}
void doit(void)
@@ -113,9 +111,10 @@ void doit(void)
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
gnutls_anon_set_server_dh_params(s_anoncred, dh_params);
gnutls_init(&server, GNUTLS_SERVER);
- gnutls_priority_set_direct(server,
- "NONE:+VERS-TLS1.2:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NONE:+VERS-TLS1.2:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
+ NULL);
gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anoncred);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
@@ -124,9 +123,10 @@ void doit(void)
/* Init client */
gnutls_anon_allocate_client_credentials(&c_anoncred);
gnutls_init(&client, GNUTLS_CLIENT);
- gnutls_priority_set_direct(client,
- "NONE:+VERS-TLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
- NULL);
+ gnutls_priority_set_direct(
+ client,
+ "NONE:+VERS-TLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
+ NULL);
gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
@@ -146,7 +146,7 @@ void doit(void)
try_send(client, server, buffer1, MAX_SEND, buffer, MAX_BUF, &range);
try_send(client, server, buffer1, 1024, buffer, MAX_BUF, &range);
try_send(client, server, buffer1, 4096, buffer, MAX_BUF, &range);
- /*try_send(client, server, buffer1, 128, buffer, MAX_BUF, &range) */ ;
+ /*try_send(client, server, buffer1, 128, buffer, MAX_BUF, &range) */;
if (debug)
fputs("\n", stdout);
diff --git a/tests/record-sizes.c b/tests/record-sizes.c
index 8961c7f17a..dc72a29b50 100644
--- a/tests/record-sizes.c
+++ b/tests/record-sizes.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -77,9 +77,10 @@ void doit(void)
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
gnutls_anon_set_server_dh_params(s_anoncred, dh_params);
gnutls_init(&server, GNUTLS_SERVER);
- gnutls_priority_set_direct(server,
- "NONE:+VERS-TLS1.2:+ARCFOUR-128:+MD5:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NONE:+VERS-TLS1.2:+ARCFOUR-128:+MD5:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
+ NULL);
gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anoncred);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
@@ -88,9 +89,10 @@ void doit(void)
/* Init client */
gnutls_anon_allocate_client_credentials(&c_anoncred);
gnutls_init(&client, GNUTLS_CLIENT);
- gnutls_priority_set_direct(client,
- "NONE:+VERS-TLS1.2:+CIPHER-ALL:+ARCFOUR-128:+MD5:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
- NULL);
+ gnutls_priority_set_direct(
+ client,
+ "NONE:+VERS-TLS1.2:+CIPHER-ALL:+ARCFOUR-128:+MD5:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+ANON-DH",
+ NULL);
gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
@@ -107,8 +109,8 @@ void doit(void)
/* try the maximum allowed */
ret = gnutls_record_send(client, b1, MAX_BUF);
if (ret < 0) {
- fprintf(stderr, "Error sending %d bytes: %s\n",
- (int)MAX_BUF, gnutls_strerror(ret));
+ fprintf(stderr, "Error sending %d bytes: %s\n", (int)MAX_BUF,
+ gnutls_strerror(ret));
exit(1);
}
@@ -119,8 +121,8 @@ void doit(void)
ret = gnutls_record_recv(server, buffer, MAX_BUF);
if (ret < 0) {
- fprintf(stderr, "Error receiving %d bytes: %s\n",
- (int)MAX_BUF, gnutls_strerror(ret));
+ fprintf(stderr, "Error receiving %d bytes: %s\n", (int)MAX_BUF,
+ gnutls_strerror(ret));
exit(1);
}
diff --git a/tests/record-timeouts.c b/tests/record-timeouts.c
index 5a465a3793..aa9c1c805b 100644
--- a/tests/record-timeouts.c
+++ b/tests/record-timeouts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -89,9 +89,8 @@ static void start(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
diff --git a/tests/recv-data-before-handshake.c b/tests/recv-data-before-handshake.c
index 9e0432235e..f1a0ba751b 100644
--- a/tests/recv-data-before-handshake.c
+++ b/tests/recv-data-before-handshake.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -68,7 +68,7 @@ static void client_log_func(int level, const char *str)
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
char c = 0;
@@ -94,7 +94,7 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -130,8 +130,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -148,8 +147,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
@@ -168,7 +167,7 @@ static void client(int fd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -235,14 +234,14 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -259,8 +258,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int fd[2];
int ret, status = 0;
@@ -302,4 +300,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rehandshake-ext-secret.c b/tests/rehandshake-ext-secret.c
index 93d26ca4c7..6906a0143e 100644
--- a/tests/rehandshake-ext-secret.c
+++ b/tests/rehandshake-ext-secret.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -65,9 +65,8 @@ static void try(unsigned onclient)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
@@ -98,26 +97,26 @@ static void try(unsigned onclient)
onclient);
}
- if ((gnutls_session_get_flags(server) & GNUTLS_SFLAGS_EXT_MASTER_SECRET)
- == 0) {
+ if ((gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_EXT_MASTER_SECRET) == 0) {
fail("%d: ext master secret was not detected by server\n",
onclient);
}
- if ((gnutls_session_get_flags(client) & GNUTLS_SFLAGS_EXT_MASTER_SECRET)
- == 0) {
+ if ((gnutls_session_get_flags(client) &
+ GNUTLS_SFLAGS_EXT_MASTER_SECRET) == 0) {
fail("%d: ext master secret was not detected by client\n",
onclient);
}
if (onclient)
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%NO_SESSION_HASH",
- NULL);
+ gnutls_priority_set_direct(
+ client,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%NO_SESSION_HASH", NULL);
else
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%NO_SESSION_HASH",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%NO_SESSION_HASH", NULL);
sret = gnutls_rehandshake(server);
if (debug) {
diff --git a/tests/rehandshake-switch-cert-allow.c b/tests/rehandshake-switch-cert-allow.c
index f7b497164c..53b565f18d 100644
--- a/tests/rehandshake-switch-cert-allow.c
+++ b/tests/rehandshake-switch-cert-allow.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -66,12 +66,10 @@ static void try(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
gnutls_certificate_allocate_credentials(&serverx509cred2);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
- gnutls_certificate_set_x509_key_mem(serverx509cred2,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred2, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_dh_params_init(&dh_params);
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
@@ -80,8 +78,8 @@ static void try(void)
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL);
+ gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -92,9 +90,8 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -107,10 +104,8 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA", NULL);
if (ret < 0)
exit(1);
@@ -121,7 +116,8 @@ static void try(void)
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != GNUTLS_KX_RSA) {
- fail("got unexpected key exchange algorithm: %s (expected RSA)\n", gnutls_kx_get_name(gnutls_kx_get(client)));
+ fail("got unexpected key exchange algorithm: %s (expected RSA)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)));
exit(1);
}
diff --git a/tests/rehandshake-switch-cert-client-allow.c b/tests/rehandshake-switch-cert-client-allow.c
index 8d21c6a100..626ccf96dd 100644
--- a/tests/rehandshake-switch-cert-client-allow.c
+++ b/tests/rehandshake-switch-cert-client-allow.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -65,9 +65,8 @@ static void try(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_dh_params_init(&dh_params);
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
@@ -77,8 +76,8 @@ static void try(void)
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL);
+ gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -89,15 +88,13 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_key_mem(clientx509cred, &cli_cert,
- &cli_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -105,16 +102,14 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_key_mem(clientx509cred2, &server2_cert,
- &server2_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(clientx509cred2,
+ &server2_cert, &server2_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred2, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred2, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -127,10 +122,8 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA", NULL);
if (ret < 0)
exit(1);
@@ -141,7 +134,8 @@ static void try(void)
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != GNUTLS_KX_RSA) {
- fail("got unexpected key exchange algorithm: %s (expected RSA)\n", gnutls_kx_get_name(gnutls_kx_get(client)));
+ fail("got unexpected key exchange algorithm: %s (expected RSA)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)));
exit(1);
}
diff --git a/tests/rehandshake-switch-cert-client.c b/tests/rehandshake-switch-cert-client.c
index 6d92e2a1b1..70f6cb5fd9 100644
--- a/tests/rehandshake-switch-cert-client.c
+++ b/tests/rehandshake-switch-cert-client.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -65,9 +65,8 @@ static void try(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_dh_params_init(&dh_params);
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
@@ -77,8 +76,8 @@ static void try(void)
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL);
+ gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -89,15 +88,13 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_key_mem(clientx509cred, &cli_cert,
- &cli_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -105,16 +102,14 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_key_mem(clientx509cred2, &server2_cert,
- &server2_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(clientx509cred2,
+ &server2_cert, &server2_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred2, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred2, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -127,10 +122,8 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA", NULL);
if (ret < 0)
exit(1);
@@ -141,7 +134,8 @@ static void try(void)
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != GNUTLS_KX_RSA) {
- fail("got unexpected key exchange algorithm: %s (expected RSA)\n", gnutls_kx_get_name(gnutls_kx_get(client)));
+ fail("got unexpected key exchange algorithm: %s (expected RSA)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)));
exit(1);
}
diff --git a/tests/rehandshake-switch-cert.c b/tests/rehandshake-switch-cert.c
index 5c161b8e70..d00c2e6ba6 100644
--- a/tests/rehandshake-switch-cert.c
+++ b/tests/rehandshake-switch-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -66,12 +66,10 @@ static void try(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
gnutls_certificate_allocate_credentials(&serverx509cred2);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
- gnutls_certificate_set_x509_key_mem(serverx509cred2,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred2, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_dh_params_init(&dh_params);
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
@@ -80,8 +78,8 @@ static void try(void)
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL);
+ gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -92,9 +90,8 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -107,10 +104,8 @@ static void try(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA", NULL);
if (ret < 0)
exit(1);
@@ -121,7 +116,8 @@ static void try(void)
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != GNUTLS_KX_RSA) {
- fail("got unexpected key exchange algorithm: %s (expected RSA)\n", gnutls_kx_get_name(gnutls_kx_get(client)));
+ fail("got unexpected key exchange algorithm: %s (expected RSA)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)));
exit(1);
}
diff --git a/tests/rehandshake-switch-psk-id.c b/tests/rehandshake-switch-psk-id.c
index b699940c0c..675aa8a7b7 100644
--- a/tests/rehandshake-switch-psk-id.c
+++ b/tests/rehandshake-switch-psk-id.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,8 +43,8 @@ static void tls_log_func(int level, const char *str)
#include "cert-common.h"
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -134,7 +134,9 @@ static void try(const char *prio, gnutls_kx_algorithm_t kx,
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != kx) {
- fail("got unexpected key exchange algorithm: %s (expected %s)\n", gnutls_kx_get_name(gnutls_kx_get(client)), gnutls_kx_get_name(kx));
+ fail("got unexpected key exchange algorithm: %s (expected %s)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(kx));
exit(1);
}
diff --git a/tests/rehandshake-switch-srp-id.c b/tests/rehandshake-switch-srp-id.c
index 9aa8f371d2..769b2e63d5 100644
--- a/tests/rehandshake-switch-srp-id.c
+++ b/tests/rehandshake-switch-srp-id.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -34,12 +34,12 @@ int main(void)
#else
-# include <stdio.h>
-# include <string.h>
-# include <errno.h>
-# include <gnutls/gnutls.h>
-# include "utils.h"
-# include "eagain-common.h"
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <gnutls/gnutls.h>
+#include "utils.h"
+#include "eagain-common.h"
/* This test checks whether the server switching certificates is detected
* by the client */
@@ -51,44 +51,35 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# include "cert-common.h"
+#include "cert-common.h"
-# define VERIF_TEST1 "CEqjUZBlkQCocfOR0E4AsPZKOFYPGjKFMHW7KDcnpE4sH4.iGMbkygb/bViRNjskF9/TQdD46Mvlt6pLs5MZoTn8mO3G.RGyXdWuIrhnVn29p41Cpc5RhTLaeUm3asW6LF60VTKnGERC0eB37xZUsaTpzmaTNdD4mOoYCN3bD9Y"
-# define VERIF_TEST2 "EEbMk8afwXz/0oV5Yo9To7V6c6xkYid8meqEByxM33XjM4xeKUjeN7Ft2.xvjo4S6Js7mEs9Ov.uZtBp3ugCAbvl6G7bdfYF6z.tAD4mNYhH7iI7SwQy.ntmbJ3uJ1qB5MHW7ajSdWvA7l3SSsyyAVMe9HVQcxZKJRf4mzwm06s"
+#define VERIF_TEST1 \
+ "CEqjUZBlkQCocfOR0E4AsPZKOFYPGjKFMHW7KDcnpE4sH4.iGMbkygb/bViRNjskF9/TQdD46Mvlt6pLs5MZoTn8mO3G.RGyXdWuIrhnVn29p41Cpc5RhTLaeUm3asW6LF60VTKnGERC0eB37xZUsaTpzmaTNdD4mOoYCN3bD9Y"
+#define VERIF_TEST2 \
+ "EEbMk8afwXz/0oV5Yo9To7V6c6xkYid8meqEByxM33XjM4xeKUjeN7Ft2.xvjo4S6Js7mEs9Ov.uZtBp3ugCAbvl6G7bdfYF6z.tAD4mNYhH7iI7SwQy.ntmbJ3uJ1qB5MHW7ajSdWvA7l3SSsyyAVMe9HVQcxZKJRf4mzwm06s"
-# define SALT_TEST1 "3a3xX3Myzb9YJn5X0R7sbx"
-# define SALT_TEST2 "25J9FArvl1ZDrTSFsvZ4Jb"
+#define SALT_TEST1 "3a3xX3Myzb9YJn5X0R7sbx"
+#define SALT_TEST2 "25J9FArvl1ZDrTSFsvZ4Jb"
-# define PRIME "Ewl2hcjiutMd3Fu2lgFnUXWSc67TVyy2vwYCKoS9MLsrdJVT9RgWTCuEqWJrfB6uE3LsE9GkOlaZabS7M29sj5TnzUqOLJMjiwEzArfiLr9WbMRANlF68N5AVLcPWvNx6Zjl3m5Scp0BzJBz9TkgfhzKJZ.WtP3Mv/67I/0wmRZ"
-gnutls_datum_t tprime = {
- .data = (void *)PRIME,
- .size = sizeof(PRIME) - 1
-};
+#define PRIME \
+ "Ewl2hcjiutMd3Fu2lgFnUXWSc67TVyy2vwYCKoS9MLsrdJVT9RgWTCuEqWJrfB6uE3LsE9GkOlaZabS7M29sj5TnzUqOLJMjiwEzArfiLr9WbMRANlF68N5AVLcPWvNx6Zjl3m5Scp0BzJBz9TkgfhzKJZ.WtP3Mv/67I/0wmRZ"
+gnutls_datum_t tprime = { .data = (void *)PRIME, .size = sizeof(PRIME) - 1 };
-gnutls_datum_t test1_verif = {
- .data = (void *)VERIF_TEST1,
- .size = sizeof(VERIF_TEST1) - 1
-};
+gnutls_datum_t test1_verif = { .data = (void *)VERIF_TEST1,
+ .size = sizeof(VERIF_TEST1) - 1 };
-gnutls_datum_t test2_verif = {
- .data = (void *)VERIF_TEST2,
- .size = sizeof(VERIF_TEST2) - 1
-};
+gnutls_datum_t test2_verif = { .data = (void *)VERIF_TEST2,
+ .size = sizeof(VERIF_TEST2) - 1 };
-gnutls_datum_t test1_salt = {
- .data = (void *)SALT_TEST1,
- .size = sizeof(SALT_TEST1) - 1
-};
+gnutls_datum_t test1_salt = { .data = (void *)SALT_TEST1,
+ .size = sizeof(SALT_TEST1) - 1 };
-gnutls_datum_t test2_salt = {
- .data = (void *)SALT_TEST2,
- .size = sizeof(SALT_TEST2) - 1
-};
+gnutls_datum_t test2_salt = { .data = (void *)SALT_TEST2,
+ .size = sizeof(SALT_TEST2) - 1 };
-static int
-srpfunc(gnutls_session_t session, const char *username,
- gnutls_datum_t * salt, gnutls_datum_t * verifier,
- gnutls_datum_t * generator, gnutls_datum_t * prime)
+static int srpfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *salt, gnutls_datum_t *verifier,
+ gnutls_datum_t *generator, gnutls_datum_t *prime)
{
int ret;
if (debug)
@@ -152,9 +143,8 @@ static void try(const char *prio, gnutls_kx_algorithm_t kx,
gnutls_srp_allocate_server_credentials(&server_srp_cred);
gnutls_certificate_allocate_credentials(&server_x509_cred);
- gnutls_certificate_set_x509_key_mem(server_x509_cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(server_x509_cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_dh_params_init(&dh_params);
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
@@ -195,9 +185,8 @@ static void try(const char *prio, gnutls_kx_algorithm_t kx,
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(client_x509_cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(client_x509_cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -217,7 +206,9 @@ static void try(const char *prio, gnutls_kx_algorithm_t kx,
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != kx) {
- fail("got unexpected key exchange algorithm: %s (expected %s)\n", gnutls_kx_get_name(gnutls_kx_get(client)), gnutls_kx_get_name(kx));
+ fail("got unexpected key exchange algorithm: %s (expected %s)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(kx));
exit(1);
}
diff --git a/tests/resume-dtls.c b/tests/resume-dtls.c
index 1b3a0350ac..5eed31f814 100644
--- a/tests/resume-dtls.c
+++ b/tests/resume-dtls.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,19 +38,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <sys/wait.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <sys/wait.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
static void wrap_db_init(void);
static void wrap_db_deinit(void);
@@ -58,7 +58,7 @@ static int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data);
static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key);
static int wrap_db_delete(void *dbf, gnutls_datum_t key);
-# define TLS_SESSION_CACHE 50
+#define TLS_SESSION_CACHE 50
struct params_res {
const char *desc;
@@ -71,19 +71,19 @@ struct params_res {
pid_t child;
struct params_res resume_tests[] = {
- {"try to resume from db", 50, 0, 0, 1},
- {"try to resume from session ticket", 0, 1, 1, 1},
- {"try to resume from session ticket (server only)", 0, 1, 0, 0},
- {"try to resume from session ticket (client only)", 0, 0, 1, 0},
- {NULL, -1}
+ { "try to resume from db", 50, 0, 0, 1 },
+ { "try to resume from session ticket", 0, 1, 1, 1 },
+ { "try to resume from session ticket (server only)", 0, 1, 0, 0 },
+ { "try to resume from session ticket (client only)", 0, 0, 1, 0 },
+ { NULL, -1 }
};
/* A very basic TLS client, with anonymous authentication.
*/
-# define SESSIONS 2
-# define MAX_BUF 5*1024
-# define MSG "Hello TLS"
+#define SESSIONS 2
+#define MAX_BUF 5 * 1024
+#define MSG "Hello TLS"
static void tls_log_func(int level, const char *str)
{
@@ -121,13 +121,15 @@ static void client(int sds[], struct params_res *params)
/* Use default priorities */
if (params->enable_session_ticket_client)
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
+ NULL);
else
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH:%NO_TICKETS",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH:%NO_TICKETS",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -159,19 +161,18 @@ static void client(int sds[], struct params_res *params)
success("client: Handshake was completed\n");
}
- if (t == 0) { /* the first time we connect */
+ if (t == 0) { /* the first time we connect */
/* get the session data size */
ret = gnutls_session_get_data2(session, &session_data);
if (ret < 0)
fail("Getting resume data failed\n");
- } else { /* the second time we connect */
+ } else { /* the second time we connect */
/* check if we actually resumed the previous session */
if (gnutls_session_is_resumed(session) != 0) {
if (params->expect_resume) {
if (debug)
- success
- ("- Previous session was resumed\n");
+ success("- Previous session was resumed\n");
} else
fail("- Previous session was resumed\n");
} else {
@@ -179,8 +180,7 @@ static void client(int sds[], struct params_res *params)
fail("*** Previous session was NOT resumed\n");
} else {
if (debug)
- success
- ("*** Previous session was NOT resumed (expected)\n");
+ success("*** Previous session was NOT resumed (expected)\n");
}
}
}
@@ -190,8 +190,7 @@ static void client(int sds[], struct params_res *params)
ret = gnutls_record_recv(session, buffer, MAX_BUF);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
goto end;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
@@ -213,14 +212,14 @@ static void client(int sds[], struct params_res *params)
gnutls_deinit(session);
}
- end:
+end:
gnutls_anon_free_client_credentials(anoncred);
}
/* This is a sample TLS 1.0 echo server, for anonymous authentication only.
*/
-# define DH_BITS 1024
+#define DH_BITS 1024
/* These are global */
@@ -286,9 +285,10 @@ static void server(int sds[], struct params_res *params)
gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM);
- gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
- NULL);
+ gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-DTLS1.0:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-DH",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
gnutls_dh_set_prime_bits(session, DH_BITS);
@@ -301,8 +301,8 @@ static void server(int sds[], struct params_res *params)
}
if (params->enable_session_ticket_server)
- gnutls_session_ticket_enable_server(session,
- &session_ticket_key);
+ gnutls_session_ticket_enable_server(
+ session, &session_ticket_key);
gnutls_transport_set_int(session, sd);
gnutls_dtls_set_timeouts(session, get_dtls_retransmit_timeout(),
@@ -310,9 +310,8 @@ static void server(int sds[], struct params_res *params)
do {
ret = gnutls_handshake(session);
- } while (ret < 0
- && (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_AGAIN));
+ } while (ret < 0 && (ret == GNUTLS_E_INTERRUPTED ||
+ ret == GNUTLS_E_AGAIN));
if (ret < 0) {
close(sd);
gnutls_deinit(session);
@@ -333,12 +332,12 @@ static void server(int sds[], struct params_res *params)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -427,8 +426,8 @@ void doit(void)
* and session data.
*/
-# define MAX_SESSION_ID_SIZE 32
-# define MAX_SESSION_DATA_SIZE 1024
+#define MAX_SESSION_ID_SIZE 32
+#define MAX_SESSION_DATA_SIZE 1024
typedef struct {
unsigned char session_id[MAX_SESSION_ID_SIZE];
@@ -443,7 +442,6 @@ static int cache_db_ptr = 0;
static void wrap_db_init(void)
{
-
/* allocate cache_db */
cache_db = calloc(1, TLS_SESSION_CACHE * sizeof(CACHE));
}
@@ -563,7 +561,6 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
for (i = 0; i < TLS_SESSION_CACHE; i++) {
if (key.size == cache_db[i].session_id_size &&
memcmp(key.data, cache_db[i].session_id, key.size) == 0) {
-
cache_db[i].session_id_size = 0;
cache_db[i].session_data_size = 0;
@@ -572,7 +569,6 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
}
return -1;
-
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/resume-lifetime.c b/tests/resume-lifetime.c
index 4114251ed0..e655cec07c 100644
--- a/tests/resume-lifetime.c
+++ b/tests/resume-lifetime.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,14 +45,13 @@ static void tls_log_func(int level, const char *str)
}
struct hsk_st {
- unsigned sent_nst; /* whether the new session ticket was sent */
- unsigned sent_psk; /* whether the PSK extension was sent */
- unsigned sleep_at_finished; /* how long to wait at finished message reception */
-
+ unsigned sent_nst; /* whether the new session ticket was sent */
+ unsigned sent_psk; /* whether the PSK extension was sent */
+ unsigned sleep_at_finished; /* how long to wait at finished message reception */
};
-static int ext_hook_func(void *ctx, unsigned tls_id,
- const unsigned char *data, unsigned size)
+static int ext_hook_func(void *ctx, unsigned tls_id, const unsigned char *data,
+ unsigned size)
{
if (tls_id == 41) {
struct hsk_st *h = ctx;
@@ -63,7 +62,7 @@ static int ext_hook_func(void *ctx, unsigned tls_id,
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
struct hsk_st *h = gnutls_session_get_ptr(session);
@@ -86,8 +85,8 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
/* Returns true if resumed */
static unsigned handshake(const char *prio, unsigned t,
- const gnutls_datum_t * sdata, gnutls_datum_t * ndata,
- gnutls_datum_t * skey, struct hsk_st *h)
+ const gnutls_datum_t *sdata, gnutls_datum_t *ndata,
+ gnutls_datum_t *skey, struct hsk_st *h)
{
int ret;
/* Server stuff. */
@@ -105,8 +104,8 @@ static unsigned handshake(const char *prio, unsigned t,
gnutls_global_set_log_level(6);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -120,13 +119,12 @@ static unsigned handshake(const char *prio, unsigned t,
gnutls_db_set_cache_expiration(server, t);
assert(gnutls_session_ticket_enable_server(server, skey) >= 0);
- gnutls_handshake_set_hook_function(server, -1,
- GNUTLS_HOOK_POST,
+ gnutls_handshake_set_hook_function(server, -1, GNUTLS_HOOK_POST,
handshake_callback);
assert(gnutls_certificate_allocate_credentials(&clientx509cred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (clientx509cred, &ca_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
@@ -138,8 +136,8 @@ static unsigned handshake(const char *prio, unsigned t,
gnutls_transport_set_ptr(client, client);
if (sdata) {
- assert(gnutls_session_set_data(client, sdata->data, sdata->size)
- >= 0);
+ assert(gnutls_session_set_data(client, sdata->data,
+ sdata->size) >= 0);
}
memset(buf, 0, sizeof(buf));
diff --git a/tests/resume-with-false-start.c b/tests/resume-with-false-start.c
index be8596ec03..bc5d93e0b9 100644
--- a/tests/resume-with-false-start.c
+++ b/tests/resume-with-false-start.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,7 +40,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -74,9 +74,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -90,9 +89,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -105,8 +103,8 @@ void doit(void)
if (ret < 0)
exit(1);
- assert(gnutls_priority_set_direct
- (client, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
diff --git a/tests/resume-with-previous-stek.c b/tests/resume-with-previous-stek.c
index 799d00db22..71d8a765a2 100644
--- a/tests/resume-with-previous-stek.c
+++ b/tests/resume-with-previous-stek.c
@@ -20,7 +20,7 @@
*
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,36 +33,35 @@ int main(int argc, char **argv)
}
#else
-# include <stdint.h>
-# include <unistd.h>
-# include <sys/wait.h>
-# include <sys/socket.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
-# include "virt-time.h"
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
+#include "utils.h"
+#include "cert-common.h"
+#include "virt-time.h"
-# define TICKET_EXPIRATION 1 /* seconds */
-# define TICKET_ROTATION_PERIOD 3 /* seconds */
+#define TICKET_EXPIRATION 1 /* seconds */
+#define TICKET_ROTATION_PERIOD 3 /* seconds */
unsigned num_stek_rotations;
-static void stek_rotation_callback(const gnutls_datum_t * prev_key,
- const gnutls_datum_t * new_key, uint64_t t)
+static void stek_rotation_callback(const gnutls_datum_t *prev_key,
+ const gnutls_datum_t *new_key, uint64_t t)
{
num_stek_rotations++;
success("STEK was rotated!\n");
}
static int client_handshake(gnutls_session_t session,
- gnutls_datum_t * session_data, int resume)
+ gnutls_datum_t *session_data, int resume)
{
int ret;
if (resume) {
- if ((ret = gnutls_session_set_data(session,
- session_data->data,
+ if ((ret = gnutls_session_set_data(session, session_data->data,
session_data->size)) < 0) {
fail("client: Could not get session data\n");
}
@@ -84,7 +83,8 @@ static int client_handshake(gnutls_session_t session,
success("client: Success: Session was NOT resumed\n");
if (!resume) {
- if ((ret = gnutls_session_get_data2(session, session_data)) < 0) {
+ if ((ret = gnutls_session_get_data2(session, session_data)) <
+ 0) {
fail("client: Could not get session data\n");
}
}
@@ -103,8 +103,8 @@ static void client(int fd, int *resume, unsigned rounds, const char *prio)
gnutls_certificate_credentials_t clientx509cred = NULL;
for (unsigned i = 0; i < rounds; i++) {
- assert(gnutls_certificate_allocate_credentials(&clientx509cred)
- >= 0);
+ assert(gnutls_certificate_allocate_credentials(
+ &clientx509cred) >= 0);
assert(gnutls_init(&session, GNUTLS_CLIENT) >= 0);
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
@@ -130,12 +130,11 @@ static void client(int fd, int *resume, unsigned rounds, const char *prio)
gnutls_free(session_data.data);
}
-typedef void (*gnutls_stek_rotation_callback_t)(const gnutls_datum_t * prev_key,
- const gnutls_datum_t * new_key,
+typedef void (*gnutls_stek_rotation_callback_t)(const gnutls_datum_t *prev_key,
+ const gnutls_datum_t *new_key,
uint64_t t);
-void _gnutls_set_session_ticket_key_rotation_callback(gnutls_session_t session,
- gnutls_stek_rotation_callback_t
- cb);
+void _gnutls_set_session_ticket_key_rotation_callback(
+ gnutls_session_t session, gnutls_stek_rotation_callback_t cb);
static void server(int fd, unsigned rounds, const char *prio)
{
@@ -153,13 +152,11 @@ static void server(int fd, unsigned rounds, const char *prio)
for (unsigned i = 0; i < rounds; i++) {
assert(gnutls_init(&session, GNUTLS_SERVER) >= 0);
- assert(gnutls_certificate_allocate_credentials(&serverx509cred)
- >= 0);
- retval =
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ assert(gnutls_certificate_allocate_credentials(
+ &serverx509cred) >= 0);
+ retval = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, &server_cert, &server_key,
+ GNUTLS_X509_FMT_PEM);
if (retval < 0)
fail("error setting key: %s\n",
gnutls_strerror(retval));
@@ -169,11 +166,11 @@ static void server(int fd, unsigned rounds, const char *prio)
serverx509cred);
gnutls_db_set_cache_expiration(session, TICKET_EXPIRATION);
- _gnutls_set_session_ticket_key_rotation_callback(session,
- stek_rotation_callback);
+ _gnutls_set_session_ticket_key_rotation_callback(
+ session, stek_rotation_callback);
- retval = gnutls_session_ticket_enable_server(session,
- &session_ticket_key);
+ retval = gnutls_session_ticket_enable_server(
+ session, &session_ticket_key);
if (retval != GNUTLS_E_SUCCESS) {
fail("server: Could not enable session tickets: %s\n",
gnutls_strerror(retval));
@@ -186,8 +183,8 @@ static void server(int fd, unsigned rounds, const char *prio)
do {
retval = gnutls_handshake(session);
- } while (retval == GNUTLS_E_AGAIN
- || retval == GNUTLS_E_INTERRUPTED);
+ } while (retval == GNUTLS_E_AGAIN ||
+ retval == GNUTLS_E_INTERRUPTED);
if (retval < 0) {
fail("server: Handshake failed: %s\n",
diff --git a/tests/resume-with-record-size-limit.c b/tests/resume-with-record-size-limit.c
index 370130dfae..a323bdbefa 100644
--- a/tests/resume-with-record-size-limit.c
+++ b/tests/resume-with-record-size-limit.c
@@ -24,7 +24,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,31 +40,34 @@ int main(int argc, char **argv)
#else
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
-# include <string.h>
-# include <stdint.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <sys/wait.h>
-# include <signal.h>
-# include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
-# include "virt-time.h"
-
-# define SKIP8(pos, total) { \
- uint8_t _s; \
- if (pos+1 > total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > total) fail("error\n"); \
- pos += 1+_s; \
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <string.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <assert.h>
+#include "utils.h"
+#include "cert-common.h"
+#include "virt-time.h"
+
+#define SKIP8(pos, total) \
+ { \
+ uint8_t _s; \
+ if (pos + 1 > total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
pid_t child;
@@ -72,14 +75,14 @@ pid_t child;
/* A very basic TLS client, with anonymous authentication.
*/
-# define SESSIONS 2
-# define MAX_BUF 5*1024
-# define MSG "Hello TLS"
+#define SESSIONS 2
+#define MAX_BUF 5 * 1024
+#define MSG "Hello TLS"
/* 2^13, which is not supported by max_fragment_length */
-# define MAX_DATA_SIZE 8192
+#define MAX_DATA_SIZE 8192
-# define HANDSHAKE_SESSION_ID_POS (2+32)
+#define HANDSHAKE_SESSION_ID_POS (2 + 32)
static void tls_log_func(int level, const char *str)
{
@@ -90,7 +93,7 @@ static void tls_log_func(int level, const char *str)
static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
unsigned size)
{
- if (tls_id == 28) { /* record size limit */
+ if (tls_id == 28) { /* record size limit */
uint16_t max_data_size;
assert(size == 2);
@@ -104,7 +107,7 @@ static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
unsigned pos;
@@ -154,8 +157,8 @@ static void client(int sds[], const char *prio)
gnutls_certificate_allocate_credentials(&clientx509cred);
- assert(gnutls_certificate_set_x509_key_mem(clientx509cred,
- &cli_cert, &cli_key,
+ assert(gnutls_certificate_set_x509_key_mem(clientx509cred, &cli_cert,
+ &cli_key,
GNUTLS_X509_FMT_PEM) >= 0);
for (t = 0; t < SESSIONS; t++) {
@@ -172,8 +175,8 @@ static void client(int sds[], const char *prio)
clientx509cred);
if (t == 0) {
- ret =
- gnutls_record_set_max_size(session, MAX_DATA_SIZE);
+ ret = gnutls_record_set_max_size(session,
+ MAX_DATA_SIZE);
if (ret < 0)
fail("gnutls_set_max_size: %s\n",
gnutls_strerror(ret));
@@ -214,7 +217,7 @@ static void client(int sds[], const char *prio)
if (ret < 0)
fail("Getting resume data failed\n");
- } else { /* the second time we connect */
+ } else { /* the second time we connect */
/* check if we actually resumed the previous session */
if (gnutls_session_is_resumed(session) == 0) {
fail("- Previous session was resumed but NOT expected\n");
@@ -228,8 +231,7 @@ static void client(int sds[], const char *prio)
} while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
break;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
@@ -285,8 +287,8 @@ static void server(int sds[], const char *prio)
}
gnutls_certificate_allocate_credentials(&serverx509cred);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
gnutls_session_ticket_key_generate(&session_ticket_key);
@@ -340,12 +342,12 @@ static void server(int sds[], const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -424,4 +426,4 @@ void doit(void)
run("NORMAL:-VERS-ALL:+VERS-TLS1.3");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/resume-with-stek-expiration.c b/tests/resume-with-stek-expiration.c
index d1d4841624..3651c5577b 100644
--- a/tests/resume-with-stek-expiration.c
+++ b/tests/resume-with-stek-expiration.c
@@ -20,7 +20,7 @@
*
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,15 +33,15 @@ int main(int argc, char **argv)
}
#else
-# include <stdint.h>
-# include <unistd.h>
-# include <sys/wait.h>
-# include <sys/socket.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
-# include "virt-time.h"
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
+#include "utils.h"
+#include "cert-common.h"
+#include "virt-time.h"
/*
* This will set the following values:
@@ -49,25 +49,24 @@ int main(int argc, char **argv)
* - Ticket key expiration: 1 second.
* - Session ticket key rotation period: 3 seconds.
*/
-# define TICKET_EXPIRATION 1 /* seconds */
+#define TICKET_EXPIRATION 1 /* seconds */
unsigned num_stek_rotations;
-static void stek_rotation_callback(const gnutls_datum_t * prev_key,
- const gnutls_datum_t * new_key, uint64_t t)
+static void stek_rotation_callback(const gnutls_datum_t *prev_key,
+ const gnutls_datum_t *new_key, uint64_t t)
{
num_stek_rotations++;
success("STEK was rotated!\n");
}
-typedef void (*gnutls_stek_rotation_callback_t)(const gnutls_datum_t * prev_key,
- const gnutls_datum_t * new_key,
+typedef void (*gnutls_stek_rotation_callback_t)(const gnutls_datum_t *prev_key,
+ const gnutls_datum_t *new_key,
uint64_t t);
-void _gnutls_set_session_ticket_key_rotation_callback(gnutls_session_t session,
- gnutls_stek_rotation_callback_t
- cb);
+void _gnutls_set_session_ticket_key_rotation_callback(
+ gnutls_session_t session, gnutls_stek_rotation_callback_t cb);
-static int handshake(gnutls_session_t session, gnutls_datum_t * session_data,
+static int handshake(gnutls_session_t session, gnutls_datum_t *session_data,
int resumption_should_succeed)
{
int ret;
@@ -109,14 +108,13 @@ static int handshake(gnutls_session_t session, gnutls_datum_t * session_data,
}
static int resume_and_close(gnutls_session_t session,
- gnutls_datum_t * session_data,
+ gnutls_datum_t *session_data,
int resumption_should_succeed)
{
int ret;
- ret =
- gnutls_session_set_data(session, session_data->data,
- session_data->size);
+ ret = gnutls_session_set_data(session, session_data->data,
+ session_data->size);
if (ret < 0) {
gnutls_perror(ret);
fail("client: Could not get session data\n");
@@ -178,8 +176,8 @@ static void client(int fd, int *resumption_should_succeed,
gnutls_deinit(session);
for (unsigned i = 1; i < num_sessions; i++) {
- assert(gnutls_certificate_allocate_credentials(&clientx509cred)
- >= 0);
+ assert(gnutls_certificate_allocate_credentials(
+ &clientx509cred) >= 0);
/* Initialize TLS layer */
assert(gnutls_init(&session, GNUTLS_CLIENT) >= 0);
@@ -191,8 +189,8 @@ static void client(int fd, int *resumption_should_succeed,
gnutls_transport_set_int(session, fd);
- if (resume_and_close
- (session, &session_data, resumption_should_succeed[i]) < 0)
+ if (resume_and_close(session, &session_data,
+ resumption_should_succeed[i]) < 0)
return;
if (clientx509cred)
@@ -220,20 +218,19 @@ static void server(int fd, int *resumption_should_succeed,
fail("gnutls_init() failed\n");
}
- assert(gnutls_certificate_allocate_credentials(&serverx509cred)
- >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (serverx509cred, &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_allocate_credentials(
+ &serverx509cred) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ serverx509cred, &server_cert, &server_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
serverx509cred);
- retval =
- gnutls_session_ticket_enable_server(session,
- &session_ticket_key);
+ retval = gnutls_session_ticket_enable_server(
+ session, &session_ticket_key);
if (retval != GNUTLS_E_SUCCESS) {
gnutls_perror(retval);
fail("server: Could not enable session tickets\n");
@@ -241,16 +238,16 @@ static void server(int fd, int *resumption_should_succeed,
gnutls_db_set_cache_expiration(session, TICKET_EXPIRATION);
- _gnutls_set_session_ticket_key_rotation_callback(session,
- stek_rotation_callback);
+ _gnutls_set_session_ticket_key_rotation_callback(
+ session, stek_rotation_callback);
gnutls_transport_set_int(session, fd);
gnutls_handshake_set_timeout(session, get_timeout());
do {
retval = gnutls_handshake(session);
- } while (retval == GNUTLS_E_AGAIN
- || retval == GNUTLS_E_INTERRUPTED);
+ } while (retval == GNUTLS_E_AGAIN ||
+ retval == GNUTLS_E_INTERRUPTED);
if (retval < 0) {
fail("server: Handshake failed: %s\n",
@@ -263,14 +260,12 @@ static void server(int fd, int *resumption_should_succeed,
if (!resumption_should_succeed[i])
fail("server: Session was resumed (but should not)\n");
else
- success
- ("server: Success: Session was resumed\n");
+ success("server: Success: Session was resumed\n");
} else {
if (resumption_should_succeed[i])
fail("server: Session was not resumed (but should)\n");
else
- success
- ("server: Success: Session was NOT resumed\n");
+ success("server: Success: Session was NOT resumed\n");
}
gnutls_bye(session, GNUTLS_SHUT_RDWR);
diff --git a/tests/resume.c b/tests/resume.c
index 83e750af66..429453756c 100644
--- a/tests/resume.c
+++ b/tests/resume.c
@@ -24,7 +24,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,23 +40,23 @@ int main(int argc, char **argv)
#else
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <sys/wait.h>
-# include <signal.h>
-# include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
-# include "virt-time.h"
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <assert.h>
+#include "utils.h"
+#include "cert-common.h"
+#include "virt-time.h"
static void wrap_db_init(void);
static void wrap_db_deinit(void);
@@ -64,7 +64,7 @@ static int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data);
static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key);
static int wrap_db_delete(void *dbf, gnutls_datum_t key);
-# define TLS_SESSION_CACHE 50
+#define TLS_SESSION_CACHE 50
enum session_ticket_enablement {
ST_NONE = 0,
@@ -96,185 +96,180 @@ struct params_res {
pid_t child;
struct params_res resume_tests[] = {
-# ifndef TLS13
- {.desc = "try to resume from db",
- .enable_db = 1,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_NONE,
- .expect_resume = 1},
- {.desc = "try to resume from db with post_client_hello",
- .enable_db = 1,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_NONE,
- .call_post_client_hello = 1,
- .expect_resume = 1},
- {.desc = "try to resume from db using resumed session's data",
- .enable_db = 1,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_NONE,
- .try_resumed_data = 1,
- .expect_resume = 1},
- {.desc = "try to resume from db and check ALPN",
- .enable_db = 1,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_NONE,
- .try_alpn = 1,
- .expect_resume = 1},
- {.desc = "try to resume from db (ext master secret -> none)",
- .enable_db = 1,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_NONE,
- .expect_resume = 0,
- .first_no_ext_master = 0,
- .second_no_ext_master = 1,
- .no_fips = 1},
- {.desc = "try to resume from db (none -> ext master secret)",
- .enable_db = 1,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_NONE,
- .expect_resume = 0,
- .first_no_ext_master = 1,
- .second_no_ext_master = 0,
- .no_fips = 1},
-# endif
-# if defined(TLS13)
+#ifndef TLS13
+ { .desc = "try to resume from db",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_NONE,
+ .expect_resume = 1 },
+ { .desc = "try to resume from db with post_client_hello",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_NONE,
+ .call_post_client_hello = 1,
+ .expect_resume = 1 },
+ { .desc = "try to resume from db using resumed session's data",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_NONE,
+ .try_resumed_data = 1,
+ .expect_resume = 1 },
+ { .desc = "try to resume from db and check ALPN",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_NONE,
+ .try_alpn = 1,
+ .expect_resume = 1 },
+ { .desc = "try to resume from db (ext master secret -> none)",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_NONE,
+ .expect_resume = 0,
+ .first_no_ext_master = 0,
+ .second_no_ext_master = 1,
+ .no_fips = 1 },
+ { .desc = "try to resume from db (none -> ext master secret)",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_NONE,
+ .expect_resume = 0,
+ .first_no_ext_master = 1,
+ .second_no_ext_master = 0,
+ .no_fips = 1 },
+#endif
+#if defined(TLS13)
/* only makes sense under TLS1.3 as negotiation involves a new
* handshake with different parameters */
- {.desc = "try to resume from session ticket (different cipher order)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .change_ciphersuite = 1,
- .expect_resume = 1},
- {.desc = "try to resume from session ticket with post_client_hello",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .call_post_client_hello = 1,
- .expect_resume = 1},
-# endif
-# if defined(TLS13) && !defined(USE_PSK)
- {.desc = "try to resume from session ticket (early start)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .early_start = 1,
- .expect_resume = 1},
-# endif
-# if defined(TLS13) && defined(USE_PSK)
+ { .desc = "try to resume from session ticket (different cipher order)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .change_ciphersuite = 1,
+ .expect_resume = 1 },
+ { .desc = "try to resume from session ticket with post_client_hello",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .call_post_client_hello = 1,
+ .expect_resume = 1 },
+#endif
+#if defined(TLS13) && !defined(USE_PSK)
+ { .desc = "try to resume from session ticket (early start)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .early_start = 1,
+ .expect_resume = 1 },
+#endif
+#if defined(TLS13) && defined(USE_PSK)
/* early start should no happen on PSK. */
- {.desc = "try to resume from session ticket (early start)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .no_early_start = 1,
- .expect_resume = 1},
-# endif
- {.desc = "try to resume from session ticket",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .expect_resume = 1},
-# ifdef TLS13
- {.desc =
- "try to resume from session ticket (session ticket disabled for TLS 1.2)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_TLS13_ONLY,
- .enable_session_ticket_client = ST_TLS13_ONLY,
- .expect_resume = 1},
-# else
- {.desc =
- "try to resume from session ticket (session ticket disabled for TLS 1.2)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_TLS13_ONLY,
- .enable_session_ticket_client = ST_TLS13_ONLY,
- .expect_resume = 0},
-# endif
- {.desc = "try to resume from session ticket (client cert)",
- .enable_db = 0,
- .client_cert = 1,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .expect_resume = 1},
- {.desc = "try to resume from session ticket (expired)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .expire_ticket = 1,
- .expect_resume = 0},
- {.desc =
- "try to resume from session ticket using resumed session's data",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .try_resumed_data = 1,
- .expect_resume = 1},
-# ifndef TLS13
- {.desc =
- "try to resume from session ticket (ext master secret -> none)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .expect_resume = 0,
- .first_no_ext_master = 0,
- .second_no_ext_master = 1,
- .no_fips = 1},
- {.desc =
- "try to resume from session ticket (none -> ext master secret)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .expect_resume = 0,
- .first_no_ext_master = 1,
- .second_no_ext_master = 0,
- .no_fips = 1},
- {.desc = "try to resume from session ticket (server only)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_NONE,
- .expect_resume = 0},
- {.desc = "try to resume from session ticket (client only)",
- .enable_db = 0,
- .enable_session_ticket_server = ST_NONE,
- .enable_session_ticket_client = ST_ALL,
- .expect_resume = 0},
- {.desc = "try to resume from db and ticket",
- .enable_db = 1,
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .expect_resume = 1},
- {.desc = "try to resume from db and different SNI",
- .enable_db = 1,
- .try_sni = 1,
- .try_diff_sni = 1,
- .expect_resume = 0},
- {.desc = "try to resume with ticket and different SNI",
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .try_sni = 1,
- .try_diff_sni = 1,
- .expect_resume = 0},
- {.desc = "try to resume from db and same SNI",
- .enable_db = 1,
- .try_sni = 1,
- .expect_resume = 1},
-# endif
- {.desc = "try to resume with ticket and same SNI",
- .enable_session_ticket_server = ST_ALL,
- .enable_session_ticket_client = ST_ALL,
- .try_sni = 1,
- .expect_resume = 1},
- {NULL, -1}
+ { .desc = "try to resume from session ticket (early start)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .no_early_start = 1,
+ .expect_resume = 1 },
+#endif
+ { .desc = "try to resume from session ticket",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .expect_resume = 1 },
+#ifdef TLS13
+ { .desc = "try to resume from session ticket (session ticket disabled for TLS 1.2)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_TLS13_ONLY,
+ .enable_session_ticket_client = ST_TLS13_ONLY,
+ .expect_resume = 1 },
+#else
+ { .desc = "try to resume from session ticket (session ticket disabled for TLS 1.2)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_TLS13_ONLY,
+ .enable_session_ticket_client = ST_TLS13_ONLY,
+ .expect_resume = 0 },
+#endif
+ { .desc = "try to resume from session ticket (client cert)",
+ .enable_db = 0,
+ .client_cert = 1,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .expect_resume = 1 },
+ { .desc = "try to resume from session ticket (expired)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .expire_ticket = 1,
+ .expect_resume = 0 },
+ { .desc = "try to resume from session ticket using resumed session's data",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .try_resumed_data = 1,
+ .expect_resume = 1 },
+#ifndef TLS13
+ { .desc = "try to resume from session ticket (ext master secret -> none)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .expect_resume = 0,
+ .first_no_ext_master = 0,
+ .second_no_ext_master = 1,
+ .no_fips = 1 },
+ { .desc = "try to resume from session ticket (none -> ext master secret)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .expect_resume = 0,
+ .first_no_ext_master = 1,
+ .second_no_ext_master = 0,
+ .no_fips = 1 },
+ { .desc = "try to resume from session ticket (server only)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_NONE,
+ .expect_resume = 0 },
+ { .desc = "try to resume from session ticket (client only)",
+ .enable_db = 0,
+ .enable_session_ticket_server = ST_NONE,
+ .enable_session_ticket_client = ST_ALL,
+ .expect_resume = 0 },
+ { .desc = "try to resume from db and ticket",
+ .enable_db = 1,
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .expect_resume = 1 },
+ { .desc = "try to resume from db and different SNI",
+ .enable_db = 1,
+ .try_sni = 1,
+ .try_diff_sni = 1,
+ .expect_resume = 0 },
+ { .desc = "try to resume with ticket and different SNI",
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .try_sni = 1,
+ .try_diff_sni = 1,
+ .expect_resume = 0 },
+ { .desc = "try to resume from db and same SNI",
+ .enable_db = 1,
+ .try_sni = 1,
+ .expect_resume = 1 },
+#endif
+ { .desc = "try to resume with ticket and same SNI",
+ .enable_session_ticket_server = ST_ALL,
+ .enable_session_ticket_client = ST_ALL,
+ .try_sni = 1,
+ .expect_resume = 1 },
+ { NULL, -1 }
};
/* A very basic TLS client, with anonymous authentication.
*/
-# define SESSIONS 3
-# define MAX_BUF 5*1024
-# define MSG "Hello TLS"
+#define SESSIONS 3
+#define MAX_BUF 5 * 1024
+#define MSG "Hello TLS"
-# define HANDSHAKE_SESSION_ID_POS (2+32)
+#define HANDSHAKE_SESSION_ID_POS (2 + 32)
static void tls_log_func(int level, const char *str)
{
@@ -285,14 +280,14 @@ static void tls_log_func(int level, const char *str)
static int post_client_hello_callback(gnutls_session_t session)
{
/* switches the supported ciphersuites to something compatible */
- assert(gnutls_priority_set_direct
- (session, gnutls_session_get_ptr(session), NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, gnutls_session_get_ptr(session), NULL) >= 0);
return 0;
}
static int hsk_hook_cb(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * _msg)
+ const gnutls_datum_t *_msg)
{
unsigned size;
gnutls_datum_t msg = { _msg->data, _msg->size };
@@ -362,8 +357,8 @@ static void verify_alpn(gnutls_session_t session, struct params_res *params,
exit(1);
}
- if (strlen(str) != selected.size
- || memcmp(str, selected.data, selected.size) != 0) {
+ if (strlen(str) != selected.size ||
+ memcmp(str, selected.data, selected.size) != 0) {
fail("expected protocol %s, got %.*s\n", str, selected.size,
selected.data);
exit(1);
@@ -373,7 +368,7 @@ static void verify_alpn(gnutls_session_t session, struct params_res *params,
success("ALPN got: %s\n", str);
}
-static void verify_group(gnutls_session_t session, gnutls_group_t * group,
+static void verify_group(gnutls_session_t session, gnutls_group_t *group,
unsigned counter)
{
if (counter == 0) {
@@ -393,7 +388,7 @@ static void verify_server_params(gnutls_session_t session, unsigned counter,
{
static char id[GNUTLS_MAX_SESSION_ID];
static size_t id_size = 0;
-# if defined(USE_PSK)
+#if defined(USE_PSK)
const char *username;
username = gnutls_psk_server_get_username(session);
if (counter != 0) {
@@ -403,12 +398,11 @@ static void verify_server_params(gnutls_session_t session, unsigned counter,
if (strcmp(username, "test") != 0)
fail("wrong username was returned on server side resumption\n");
}
-# endif
+#endif
if (counter == 0 && params->early_start) {
- if (!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_EARLY_START)) {
+ if (!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_EARLY_START)) {
fail("early start did not happen on %d!\n", counter);
}
}
@@ -422,10 +416,11 @@ static void verify_server_params(gnutls_session_t session, unsigned counter,
if (params->no_early_start) {
if (gnutls_session_get_flags(session) &
GNUTLS_SFLAGS_EARLY_START) {
- fail("early start did happen on %d but was not expected!\n", counter);
+ fail("early start did happen on %d but was not expected!\n",
+ counter);
}
}
-# if defined(USE_X509)
+#if defined(USE_X509)
unsigned int l;
if (gnutls_certificate_type_get(session) != GNUTLS_CRT_X509)
@@ -441,9 +436,10 @@ static void verify_server_params(gnutls_session_t session, unsigned counter,
if (params->client_cert) {
if (gnutls_certificate_get_peers(session, &l) == NULL || l < 1)
- fail("no client certificate returned on server side (%s)\n", counter ? "resumed session" : "first session");
+ fail("no client certificate returned on server side (%s)\n",
+ counter ? "resumed session" : "first session");
}
-# endif
+#endif
/* verify whether the session ID remains the same between sessions */
if (counter == 0) {
@@ -471,22 +467,22 @@ static void verify_server_params(gnutls_session_t session, unsigned counter,
static void verify_client_params(gnutls_session_t session, unsigned counter)
{
-# if defined(USE_X509)
+#if defined(USE_X509)
unsigned int l;
if (gnutls_certificate_get_peers(session, &l) == NULL || l < 1)
fail("no server certificate returned on client side (%s)\n",
counter ? "resumed session" : "first session");
-# else
+#else
return;
-# endif
+#endif
}
-# ifdef TLS12
-# define VERS_STR "+VERS-TLS1.2"
-# endif
-# ifdef TLS13
-# define VERS_STR "-VERS-ALL:+VERS-TLS1.3"
-# endif
+#ifdef TLS12
+#define VERS_STR "+VERS-TLS1.2"
+#endif
+#ifdef TLS13
+#define VERS_STR "-VERS-ALL:+VERS-TLS1.3"
+#endif
static void client(int sds[], struct params_res *params)
{
@@ -498,17 +494,23 @@ static void client(int sds[], struct params_res *params)
char prio_str[256];
const char *dns_name1 = "example.com";
const char *dns_name2 = "www.example.com";
-# ifdef USE_PSK
-# define PRIO_STR "NONE:"VERS_STR":+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+PSK:+CURVE-ALL"
+#ifdef USE_PSK
+#define PRIO_STR \
+ "NONE:" VERS_STR \
+ ":+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+PSK:+CURVE-ALL"
const gnutls_datum_t pskkey = { (void *)"DEADBEEF", 8 };
gnutls_psk_client_credentials_t pskcred;
-# elif defined(USE_ANON)
-# define PRIO_STR "NONE:"VERS_STR":+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+ANON-DH:+CURVE-ALL"
+#elif defined(USE_ANON)
+#define PRIO_STR \
+ "NONE:" VERS_STR \
+ ":+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+ANON-DH:+CURVE-ALL"
gnutls_anon_client_credentials_t anoncred;
-# elif defined(USE_X509)
-# define PRIO_STR "NONE:"VERS_STR":+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+RSA:+CURVE-ALL"
+#elif defined(USE_X509)
+#define PRIO_STR \
+ "NONE:" VERS_STR \
+ ":+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+RSA:+CURVE-ALL"
gnutls_certificate_credentials_t clientx509cred;
-# endif
+#endif
/* Need to enable anonymous KX specifically. */
@@ -521,22 +523,21 @@ static void client(int sds[], struct params_res *params)
gnutls_global_set_log_function(tls_log_func);
gnutls_global_set_log_level(4);
}
-# ifdef USE_PSK
+#ifdef USE_PSK
gnutls_psk_allocate_client_credentials(&pskcred);
gnutls_psk_set_client_credentials(pskcred, "test", &pskkey,
GNUTLS_PSK_KEY_HEX);
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_anon_allocate_client_credentials(&anoncred);
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_certificate_allocate_credentials(&clientx509cred);
if (params->client_cert) {
- assert(gnutls_certificate_set_x509_key_mem(clientx509cred,
- &cli_cert, &cli_key,
- GNUTLS_X509_FMT_PEM)
- >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ clientx509cred, &cli_cert, &cli_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
-# endif
+#endif
for (t = 0; t < SESSIONS; t++) {
int sd = sds[t];
@@ -584,14 +585,14 @@ static void client(int sds[], struct params_res *params)
/* put the anonymous credentials to the current session
*/
-# ifdef USE_PSK
+#ifdef USE_PSK
gnutls_credentials_set(session, GNUTLS_CRD_PSK, pskcred);
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
clientx509cred);
-# endif
+#endif
if (t > 0) {
/* if this is not the first time we connect */
@@ -614,10 +615,9 @@ static void client(int sds[], struct params_res *params)
}
if (ext_master_secret_check)
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_SERVER_HELLO,
- GNUTLS_HOOK_PRE,
- hsk_hook_cb);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_SERVER_HELLO,
+ GNUTLS_HOOK_PRE, hsk_hook_cb);
gnutls_transport_set_int(session, sd);
/* Perform the TLS handshake
@@ -639,19 +639,19 @@ static void client(int sds[], struct params_res *params)
ext_master_secret_check = 0;
if (t == 0) {
ext_master_secret_check =
- gnutls_session_ext_master_secret_status(session);
+ gnutls_session_ext_master_secret_status(
+ session);
/* get the session data size */
ret = gnutls_session_get_data2(session, &session_data);
if (ret < 0)
fail("Getting resume data failed\n");
- } else { /* the second time we connect */
+ } else { /* the second time we connect */
if (params->try_resumed_data) {
gnutls_free(session_data.data);
- ret =
- gnutls_session_get_data2(session,
- &session_data);
+ ret = gnutls_session_get_data2(session,
+ &session_data);
if (ret < 0)
fail("Getting resume data failed\n");
}
@@ -660,8 +660,7 @@ static void client(int sds[], struct params_res *params)
if (gnutls_session_is_resumed(session) != 0) {
if (params->expect_resume) {
if (debug)
- success
- ("- Previous session was resumed\n");
+ success("- Previous session was resumed\n");
} else
fail("- Previous session was resumed but NOT expected\n");
} else {
@@ -669,8 +668,7 @@ static void client(int sds[], struct params_res *params)
fail("*** Previous session was NOT resumed\n");
} else {
if (debug)
- success
- ("*** Previous session was NOT resumed (expected)\n");
+ success("*** Previous session was NOT resumed (expected)\n");
}
}
@@ -678,7 +676,10 @@ static void client(int sds[], struct params_res *params)
/* check if the expected cipher was negotiated */
if (gnutls_cipher_get(session) !=
GNUTLS_CIPHER_AES_128_GCM) {
- fail("negotiated different cipher: %s\n", gnutls_cipher_get_name(gnutls_cipher_get(session)));
+ fail("negotiated different cipher: %s\n",
+ gnutls_cipher_get_name(
+ gnutls_cipher_get(
+ session)));
}
}
}
@@ -696,8 +697,7 @@ static void client(int sds[], struct params_res *params)
} while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
goto end;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
@@ -720,30 +720,30 @@ static void client(int sds[], struct params_res *params)
}
gnutls_free(session_data.data);
- end:
-# ifdef USE_PSK
+end:
+#ifdef USE_PSK
gnutls_psk_free_client_credentials(pskcred);
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_anon_free_client_credentials(anoncred);
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_certificate_free_credentials(clientx509cred);
-# endif
+#endif
}
-# define DH_BITS 1024
+#define DH_BITS 1024
/* These are global */
static gnutls_datum_t session_ticket_key = { NULL, 0 };
static gnutls_dh_params_t dh_params;
-# ifdef USE_PSK
+#ifdef USE_PSK
gnutls_psk_server_credentials_t pskcred;
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_anon_server_credentials_t anoncred;
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_certificate_credentials_t serverx509cred;
-# endif
+#endif
static int generate_dh_params(void)
{
@@ -763,19 +763,19 @@ static void global_stop(void)
if (debug)
success("global stop\n");
-# ifdef USE_PSK
+#ifdef USE_PSK
gnutls_psk_free_server_credentials(pskcred);
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_anon_free_server_credentials(anoncred);
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_certificate_free_credentials(serverx509cred);
-# endif
+#endif
gnutls_dh_params_deinit(dh_params);
}
-# ifdef USE_PSK
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+#ifdef USE_PSK
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -787,7 +787,7 @@ pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
key->size = 4;
return 0;
}
-# endif
+#endif
static void server(int sds[], struct params_res *params)
{
@@ -809,26 +809,26 @@ static void server(int sds[], struct params_res *params)
gnutls_global_set_log_function(tls_log_func);
gnutls_global_set_log_level(4);
}
-# ifdef USE_PSK
+#ifdef USE_PSK
gnutls_psk_allocate_server_credentials(&pskcred);
gnutls_psk_set_server_credentials_function(pskcred, pskfunc);
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_anon_allocate_server_credentials(&anoncred);
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_certificate_allocate_credentials(&serverx509cred);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
-# endif
+#endif
if (debug)
success("Launched, generating DH parameters...\n");
generate_dh_params();
-# if USE_ANON
+#if USE_ANON
gnutls_anon_set_server_dh_params(anoncred, dh_params);
-# endif
+#endif
if (params->enable_db) {
wrap_db_init();
@@ -845,15 +845,15 @@ static void server(int sds[], struct params_res *params)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct(session,
- PRIO_STR, NULL) >= 0);
+ assert(gnutls_priority_set_direct(session, PRIO_STR, NULL) >=
+ 0);
-# if defined(USE_X509)
+#if defined(USE_X509)
if (params->client_cert) {
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUIRE);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUIRE);
}
-# endif
+#endif
gnutls_dh_set_prime_bits(session, DH_BITS);
@@ -865,8 +865,8 @@ static void server(int sds[], struct params_res *params)
}
if (params->enable_session_ticket_server)
- gnutls_session_ticket_enable_server(session,
- &session_ticket_key);
+ gnutls_session_ticket_enable_server(
+ session, &session_ticket_key);
append_alpn(session, params, t);
@@ -874,21 +874,21 @@ static void server(int sds[], struct params_res *params)
gnutls_db_set_cache_expiration(session, 45);
virt_sec_sleep(60);
}
-# ifdef USE_PSK
+#ifdef USE_PSK
gnutls_credentials_set(session, GNUTLS_CRD_PSK, pskcred);
-# elif defined(USE_ANON)
+#elif defined(USE_ANON)
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
-# elif defined(USE_X509)
+#elif defined(USE_X509)
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
serverx509cred);
-# endif
+#endif
gnutls_transport_set_int(session, sd);
gnutls_handshake_set_timeout(session, get_timeout());
if (params->call_post_client_hello) {
gnutls_session_set_ptr(session, PRIO_STR);
- gnutls_handshake_set_post_client_hello_function(session,
- post_client_hello_callback);
+ gnutls_handshake_set_post_client_hello_function(
+ session, post_client_hello_callback);
}
do {
@@ -928,12 +928,12 @@ static void server(int sds[], struct params_res *params)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -1025,8 +1025,8 @@ void doit(void)
* and session data.
*/
-# define MAX_SESSION_ID_SIZE 32
-# define MAX_SESSION_DATA_SIZE 1024
+#define MAX_SESSION_ID_SIZE 32
+#define MAX_SESSION_DATA_SIZE 1024
typedef struct {
unsigned char session_id[MAX_SESSION_ID_SIZE];
@@ -1041,7 +1041,6 @@ static int cache_db_ptr = 0;
static void wrap_db_init(void)
{
-
/* allocate cache_db */
cache_db = calloc(1, TLS_SESSION_CACHE * sizeof(CACHE));
}
@@ -1057,7 +1056,7 @@ static int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
{
time_t t, e, now = time(0);
-# ifdef DEBUG_CACHE
+#ifdef DEBUG_CACHE
if (debug) {
unsigned int i;
fprintf(stderr, "resume db storing (%d-%d): ", key.size,
@@ -1072,7 +1071,7 @@ static int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
}
fprintf(stderr, "\n");
}
-# endif
+#endif
/* check the correctness of gnutls_db_check_entry_time() */
t = gnutls_db_check_entry_time(&data);
@@ -1143,7 +1142,7 @@ static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
memcpy(res.data, cache_db[i].session_data, res.size);
-# ifdef DEBUG_CACHE
+#ifdef DEBUG_CACHE
if (debug) {
unsigned int j;
printf("data:\n");
@@ -1154,7 +1153,7 @@ static gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
}
printf("\n");
}
-# endif
+#endif
return res;
}
}
@@ -1174,7 +1173,6 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
for (i = 0; i < TLS_SESSION_CACHE; i++) {
if (key.size == cache_db[i].session_id_size &&
memcmp(key.data, cache_db[i].session_id, key.size) == 0) {
-
cache_db[i].session_id_size = 0;
cache_db[i].session_data_size = 0;
@@ -1183,7 +1181,6 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
}
return -1;
-
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rfc7633-missing.c b/tests/rfc7633-missing.c
index 5591f560e6..731151c1ba 100644
--- a/tests/rfc7633-missing.c
+++ b/tests/rfc7633-missing.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <time.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <time.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
/* This program tests that handshakes fail if the server does not include the
* requested certificate status with the server certificate having
@@ -58,7 +58,7 @@ int main(void)
* Remark: Doesn't the MUST in section 4.3.3 para. 1 overrule the SHOULD of 4.2.3.1 para. 1?
*/
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1464610242;
if (t)
@@ -78,57 +78,53 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICBzCCAXCgAwIBAgIMVpjt8TL5Io/frpvkMA0GCSqGSIb3DQEBCwUAMCIxIDAe\n"
- "BgNVBAMTF0dudVRMUyB0ZXN0IGNlcnRpZmljYXRlMB4XDTE2MDExNTEzMDI0MVoX\n"
- "DTMyMDYxOTEzMDI0MVowIjEgMB4GA1UEAxMXR251VExTIHRlc3QgY2VydGlmaWNh\n"
- "dGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANe6XK+jDPAuqSdWqlOOqOt/\n"
- "gXVMa5i+Suq3HvhLw2rE2g0AuOpMEx82FpPecu/GpF6ybrbKCohVdZCW7aZXvAw7\n"
- "dg2XHr3p7H/Tqez7hWSga6BIznd+c5wxE/89yK6lYG7Ztoxamm+2vp9qvafwoDMn\n"
- "9bcdkuWWnHNS1p/WyI6xAgMBAAGjQjBAMBEGCCsGAQUFBwEYBAUwAwIBBTAMBgNV\n"
- "HRMBAf8EAjAAMB0GA1UdDgQWBBRTSzvcXshETAIgvzlIb0z+zSVSEDANBgkqhkiG\n"
- "9w0BAQsFAAOBgQB+VcJuLPL2PMog0HZ8RRbqVvLU5d209ROg3s1oXUBFW8+AV+71\n"
- "CsHg9Xx7vqKVwyKGI9ghds1B44lNPxGH2Sk1v2czjKbzwujo9+kLnDS6i0jyrDdn\n"
- "um4ivpkwmlUFSQVXvENLwe9gTlIgN4+0I9WLcMTCDtHWkcxMRwCm2BMsXw==\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICBzCCAXCgAwIBAgIMVpjt8TL5Io/frpvkMA0GCSqGSIb3DQEBCwUAMCIxIDAe\n"
+ "BgNVBAMTF0dudVRMUyB0ZXN0IGNlcnRpZmljYXRlMB4XDTE2MDExNTEzMDI0MVoX\n"
+ "DTMyMDYxOTEzMDI0MVowIjEgMB4GA1UEAxMXR251VExTIHRlc3QgY2VydGlmaWNh\n"
+ "dGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANe6XK+jDPAuqSdWqlOOqOt/\n"
+ "gXVMa5i+Suq3HvhLw2rE2g0AuOpMEx82FpPecu/GpF6ybrbKCohVdZCW7aZXvAw7\n"
+ "dg2XHr3p7H/Tqez7hWSga6BIznd+c5wxE/89yK6lYG7Ztoxamm+2vp9qvafwoDMn\n"
+ "9bcdkuWWnHNS1p/WyI6xAgMBAAGjQjBAMBEGCCsGAQUFBwEYBAUwAwIBBTAMBgNV\n"
+ "HRMBAf8EAjAAMB0GA1UdDgQWBBRTSzvcXshETAIgvzlIb0z+zSVSEDANBgkqhkiG\n"
+ "9w0BAQsFAAOBgQB+VcJuLPL2PMog0HZ8RRbqVvLU5d209ROg3s1oXUBFW8+AV+71\n"
+ "CsHg9Xx7vqKVwyKGI9ghds1B44lNPxGH2Sk1v2czjKbzwujo9+kLnDS6i0jyrDdn\n"
+ "um4ivpkwmlUFSQVXvENLwe9gTlIgN4+0I9WLcMTCDtHWkcxMRwCm2BMsXw==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static int received = 0;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
fail("received status request\n");
received = 1;
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -170,8 +166,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -187,8 +182,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (received == 1) {
fail("client: received certificate status when we shouldn't.\n");
@@ -200,16 +195,16 @@ static void client(int fd, const char *prio)
gnutls_strerror(ret));
} else {
if (status & GNUTLS_CERT_MISSING_OCSP_STATUS) {
- success
- ("client: Validation failed with GNUTLS_CERT_MISSING_OCSP_STATUS\n");
+ success("client: Validation failed with GNUTLS_CERT_MISSING_OCSP_STATUS\n");
} else {
- fail("client: Validation status does not include GNUTLS_CERT_MISSING_OCSP_STATUS. Status is %d\n", status);
+ fail("client: Validation status does not include GNUTLS_CERT_MISSING_OCSP_STATUS. Status is %d\n",
+ status);
}
}
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -266,14 +261,14 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -337,4 +332,4 @@ void doit(void)
start("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rfc7633-ok.c b/tests/rfc7633-ok.c
index 71fc91a348..a7861e36af 100644
--- a/tests/rfc7633-ok.c
+++ b/tests/rfc7633-ok.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,20 +38,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <time.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <time.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+
+#include "utils.h"
+#include "cert-common.h"
/* This program tests that handshakes succeed if the server includes the
* requested certificate status with the server certificate having
@@ -60,7 +60,7 @@ int main(void)
* See RFC 7633
*/
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1559941819;
if (t)
@@ -135,13 +135,13 @@ static int received = 0;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
received = 1;
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -159,8 +159,8 @@ static void client(int fd, const char *prio)
}
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&session, GNUTLS_CLIENT) >= 0);
@@ -177,8 +177,7 @@ static void client(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
} else {
@@ -188,11 +187,11 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
- if (received == 0
- && gnutls_protocol_get_version(session) == GNUTLS_TLS1_2) {
+ if (received == 0 &&
+ gnutls_protocol_get_version(session) == GNUTLS_TLS1_2) {
fail("client: did not receive certificate status when we should.\n");
}
@@ -203,9 +202,10 @@ static void client(int fd, const char *prio)
} else {
if (status) {
gnutls_datum_t tmp;
- assert(gnutls_certificate_verification_status_print
- (status, GNUTLS_CRT_X509, &tmp, 0) >= 0);
- fail("client: Validation status is not success (%x: %s)\n", status, (char *)tmp.data);
+ assert(gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &tmp, 0) >= 0);
+ fail("client: Validation status is not success (%x: %s)\n",
+ status, (char *)tmp.data);
}
}
@@ -221,7 +221,7 @@ static void client(int fd, const char *prio)
}
static int status_func(gnutls_session_t session, void *ptr,
- gnutls_datum_t * resp)
+ gnutls_datum_t *resp)
{
resp->data = gnutls_malloc(sizeof(ocsp_resp));
if (resp->data == NULL)
@@ -250,9 +250,9 @@ static void server(int fd, const char *prio)
}
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (x509_cred, &server_ca3_tlsfeat_cert, &server_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_tlsfeat_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&session, GNUTLS_SERVER) >= 0);
@@ -279,8 +279,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
@@ -349,4 +349,4 @@ void doit(void)
start("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rng-fork.c b/tests/rng-fork.c
index 56ef086b01..dec5592be6 100644
--- a/tests/rng-fork.c
+++ b/tests/rng-fork.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,7 +30,7 @@
#include <sys/types.h>
#include <assert.h>
#if !defined(_WIN32)
-# include <sys/wait.h>
+#include <sys/wait.h>
#endif
#include "utils.h"
@@ -47,7 +47,7 @@ static void dump(const char *name, unsigned char *buf, int buf_size)
printf("\n");
}
-# define FILENAME "./rng-test"
+#define FILENAME "./rng-test"
void doit(void)
{
@@ -92,12 +92,14 @@ void doit(void)
remove(FILENAME);
if (ret != sizeof(buf1)) {
- fail("error testing the random generator (%u).\n", i);
+ fail("error testing the random generator (%u).\n",
+ i);
return;
}
if (memcmp(buf1, buf2, sizeof(buf1)) == 0) {
- fail("error in the random generator (%u). Produces same valus after fork()\n", i);
+ fail("error in the random generator (%u). Produces same valus after fork()\n",
+ i);
return;
}
if (debug)
diff --git a/tests/rng-no-onload.c b/tests/rng-no-onload.c
index 0b3b8da18c..77c1c5d59d 100644
--- a/tests/rng-no-onload.c
+++ b/tests/rng-no-onload.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,7 +47,7 @@ static int _rnd_called = 0;
* calls.
*/
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
_rnd_called = 1;
@@ -68,4 +68,4 @@ void doit(void)
gnutls_global_deinit();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rng-op-key.c b/tests/rng-op-key.c
index cfdc8a2529..28e7f71523 100644
--- a/tests/rng-op-key.c
+++ b/tests/rng-op-key.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -29,7 +29,7 @@
#include <unistd.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <sys/wait.h>
+#include <sys/wait.h>
#endif
#include "utils.h"
diff --git a/tests/rng-op-nonce.c b/tests/rng-op-nonce.c
index eb23ed7d46..6602fd1383 100644
--- a/tests/rng-op-nonce.c
+++ b/tests/rng-op-nonce.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -29,7 +29,7 @@
#include <unistd.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <sys/wait.h>
+#include <sys/wait.h>
#endif
#include "utils.h"
diff --git a/tests/rng-op-random.c b/tests/rng-op-random.c
index 7349fc4c2c..b2c7d79cba 100644
--- a/tests/rng-op-random.c
+++ b/tests/rng-op-random.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -29,7 +29,7 @@
#include <unistd.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <sys/wait.h>
+#include <sys/wait.h>
#endif
#include "utils.h"
diff --git a/tests/rng-op.c b/tests/rng-op.c
index a765794fc0..fa3b8ee156 100644
--- a/tests/rng-op.c
+++ b/tests/rng-op.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,7 +30,7 @@
#include <unistd.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <sys/wait.h>
+#include <sys/wait.h>
#endif
#include "utils.h"
@@ -60,7 +60,7 @@ static void try(int rnd)
}
}
-#define TMP_SIZE (65*1024)
+#define TMP_SIZE (65 * 1024)
tmp = malloc(TMP_SIZE);
if (tmp == NULL) {
fail("memory error\n");
@@ -70,7 +70,8 @@ static void try(int rnd)
for (i = 0; i <= 65539; i++) {
ret = gnutls_rnd(rnd, tmp, TMP_SIZE);
if (ret < 0) {
- fail("Error iterating RNG-%d more than %u times for %d data\n", rnd, i, TMP_SIZE);
+ fail("Error iterating RNG-%d more than %u times for %d data\n",
+ rnd, i, TMP_SIZE);
exit(1);
}
}
diff --git a/tests/rng-pthread.c b/tests/rng-pthread.c
index 9c2f3932b7..345f25e25e 100644
--- a/tests/rng-pthread.c
+++ b/tests/rng-pthread.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,11 +33,11 @@
#include <signal.h>
#include <unistd.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <pthread.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <pthread.h>
#endif
#include "utils.h"
@@ -76,10 +76,9 @@ static void *start_thread(void *arg)
pthread_exit(0);
}
-# define MAX_THREADS 48
+#define MAX_THREADS 48
-static
-void do_thread_stuff(unsigned level)
+static void do_thread_stuff(unsigned level)
{
int ret;
thread_data_st *data;
@@ -101,16 +100,15 @@ void do_thread_stuff(unsigned level)
pthread_join(data[i].id, NULL);
for (j = 0; j < MAX_THREADS; j++) {
if (i != j) {
- if (memcmp
- (data[i].buf, data[j].buf,
- sizeof(data[i].buf)) == 0) {
- fail("identical data found in thread %d and %d\n", i, j);
+ if (memcmp(data[i].buf, data[j].buf,
+ sizeof(data[i].buf)) == 0) {
+ fail("identical data found in thread %d and %d\n",
+ i, j);
}
}
}
}
free(data);
-
}
void doit(void)
@@ -124,4 +122,4 @@ void doit(void)
gnutls_global_deinit();
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rng-sigint.c b/tests/rng-sigint.c
index eae4c0972e..acc10f6a9d 100644
--- a/tests/rng-sigint.c
+++ b/tests/rng-sigint.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -29,19 +29,20 @@
/* This program verifies whether the low-level random functions can operate
* properly, even if interrupted by signals */
-#if defined(HAVE_SETITIMER) && (defined(HAVE_LINUX_GETRANDOM) || defined(__linux__))
+#if defined(HAVE_SETITIMER) && \
+ (defined(HAVE_LINUX_GETRANDOM) || defined(__linux__))
-# include <stdio.h>
-# include <unistd.h>
-# include <sys/types.h>
-# include <sys/time.h>
-# include <errno.h>
-# include <stdint.h>
-# include "utils.h"
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <errno.h>
+#include <stdint.h>
+#include "utils.h"
-# define _gnutls_debug_log printf
-# define gnutls_assert()
-# define gnutls_assert_val(val) val
+#define _gnutls_debug_log printf
+#define gnutls_assert()
+#define gnutls_assert_val(val) val
int _rnd_system_entropy_init(void);
void _rnd_system_entropy_deinit(void);
@@ -49,8 +50,8 @@ void _rnd_system_entropy_deinit(void);
typedef int (*get_entropy_func)(void *rnd, size_t size);
get_entropy_func _rnd_get_system_entropy;
-# define RND_NO_INCLUDES
-# include "../lib/nettle/sysrng-linux.c"
+#define RND_NO_INCLUDES
+#include "../lib/nettle/sysrng-linux.c"
static volatile int stop_loop = 0;
@@ -92,9 +93,8 @@ void doit(void)
gnutls_strerror(ret));
}
- if (memcmp
- (empty, buf + sizeof(buf) - sizeof(empty) - 1,
- sizeof(empty)) == 0) {
+ if (memcmp(empty, buf + sizeof(buf) - sizeof(empty) - 1,
+ sizeof(empty)) == 0) {
fail("_rnd_get_system_entropy: did not fill buffer\n");
}
}
@@ -102,7 +102,7 @@ void doit(void)
_rnd_system_entropy_deinit();
}
#else
-void doit(void); /* prototype to avoid warning with -Wmissing-prototypes */
+void doit(void); /* prototype to avoid warning with -Wmissing-prototypes */
void doit(void)
{
diff --git a/tests/rsa-encrypt-decrypt.c b/tests/rsa-encrypt-decrypt.c
index 7676b0388a..795217e806 100644
--- a/tests/rsa-encrypt-decrypt.c
+++ b/tests/rsa-encrypt-decrypt.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -43,56 +43,49 @@
/* sha1 hash of "hello" string */
const gnutls_datum_t hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
-const gnutls_datum_t raw_data = {
- (void *)"hello there",
- 11
-};
+const gnutls_datum_t raw_data = { (void *)"hello there", 11 };
static char pem1_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
static char pem1_key[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t cert_dat[] = {
- {(void *)pem1_cert, sizeof(pem1_cert)}
-};
-
-const gnutls_datum_t key_dat[] = {
- {(void *)pem1_key, sizeof(pem1_key)}
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t cert_dat[] = { { (void *)pem1_cert, sizeof(pem1_cert) } };
+
+const gnutls_datum_t key_dat[] = { { (void *)pem1_key, sizeof(pem1_key) } };
void doit(void)
{
@@ -114,9 +107,8 @@ void doit(void)
if (ret < 0)
fail("gnutls_x509_privkey_init\n");
- ret =
- gnutls_x509_privkey_import(key, &key_dat[i],
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &key_dat[i],
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("gnutls_x509_privkey_import\n");
@@ -136,9 +128,8 @@ void doit(void)
if (ret < 0)
fail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt, &cert_dat[i],
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &cert_dat[i],
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("gnutls_x509_crt_import\n");
@@ -162,9 +153,8 @@ void doit(void)
/* try again with fixed length API */
memset(out2.data, 'A', out2.size);
- ret =
- gnutls_privkey_decrypt_data2(privkey, 0, &out, out2.data,
- out2.size);
+ ret = gnutls_privkey_decrypt_data2(privkey, 0, &out, out2.data,
+ out2.size);
if (ret < 0)
fail("gnutls_privkey_decrypt_data\n");
@@ -190,9 +180,8 @@ void doit(void)
/* try again with fixed length API */
memset(out2.data, 'A', out2.size);
- ret =
- gnutls_privkey_decrypt_data2(privkey, 0, &out, out2.data,
- out2.size);
+ ret = gnutls_privkey_decrypt_data2(privkey, 0, &out, out2.data,
+ out2.size);
if (ret < 0)
fail("gnutls_privkey_decrypt_data\n");
diff --git a/tests/rsa-illegal-import.c b/tests/rsa-illegal-import.c
index ca6e3301c8..86881a2e4d 100644
--- a/tests/rsa-illegal-import.c
+++ b/tests/rsa-illegal-import.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,50 +36,46 @@
* on illegal key input */
static unsigned char rsa_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXQIBAAKBgQCpTrErF6KeHfaSBfQXLkw2AkrteEFca/jbWk2S0df5cRrsuC+R\n"
- "nrpHnk4prJISVQZzF+s5qgzulvRaMD0vnlCDKPjDgRLkFyiT3pW5JZJqTKiILQBw\n"
- "z6rqlQO7UWWqetc/gl9SHTq/vX5CDbA5Nxc9HJLkPX5Xl3wA12PAYmraugIDAQAB\n"
- "AoGABMjQgOM+GTHHkgDREQah6LTP4T4QusfiVHCM2KVNcSMdG6tozLirkvKKSusx\n"
- "hYsZj48ReqOvkd56MUJDuGDE7aQqhsrDnTgTnoYH7dFSY6acUucj5F6yeircFth4\n"
- "lRko09HKZ5Fd1ngstPU35GsekUMq8vaHDrRzleydp+Z5lMECQQDP/cy68Jt7tMZT\n"
- "oQQLhsddyoQG+2JiWz3PT9P9d5WdkMqzOYt6ADZ2m8HpmMcv32LQHtriSxy7JqXW\n"
- "3uSnowkEAkEA0GMOXvV/8QnWKU2/byp3HVDQP57Vq/M37BhMbxoZDAHCaIz7v8k2\n"
- "D7UBQdTeiUsm6gFJ1+E6YCnmTxdPRVuN6QJBALLLOQAGL5Jy/v4K7yA9dwpgOYiK\n"
- "9rMYPhUFSXWdI+cz/Zt9vzFcF3V0RYhaRfgYLqg7retTqFoVSgBg0OxuUSMCQBtF\n"
- "q37QAGOKVwXmz/P7icVDa024OtybIyl58J7luntwy4GlWdk6uyGJHdYAxvMO69Pa\n"
- "QVDIgDxPn32gXlaEaekCQQCVhXc3zc+VX3nM4iCpXhlET2N75ULzsR+r6CdvtwSB\n"
- "vXMBcuCE1aJHZDxqRx8XFZDZl+Ij/jrBMmtI15ebDuzH\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t rsa_key = { rsa_key_pem,
- sizeof(rsa_key_pem) - 1
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXQIBAAKBgQCpTrErF6KeHfaSBfQXLkw2AkrteEFca/jbWk2S0df5cRrsuC+R\n"
+ "nrpHnk4prJISVQZzF+s5qgzulvRaMD0vnlCDKPjDgRLkFyiT3pW5JZJqTKiILQBw\n"
+ "z6rqlQO7UWWqetc/gl9SHTq/vX5CDbA5Nxc9HJLkPX5Xl3wA12PAYmraugIDAQAB\n"
+ "AoGABMjQgOM+GTHHkgDREQah6LTP4T4QusfiVHCM2KVNcSMdG6tozLirkvKKSusx\n"
+ "hYsZj48ReqOvkd56MUJDuGDE7aQqhsrDnTgTnoYH7dFSY6acUucj5F6yeircFth4\n"
+ "lRko09HKZ5Fd1ngstPU35GsekUMq8vaHDrRzleydp+Z5lMECQQDP/cy68Jt7tMZT\n"
+ "oQQLhsddyoQG+2JiWz3PT9P9d5WdkMqzOYt6ADZ2m8HpmMcv32LQHtriSxy7JqXW\n"
+ "3uSnowkEAkEA0GMOXvV/8QnWKU2/byp3HVDQP57Vq/M37BhMbxoZDAHCaIz7v8k2\n"
+ "D7UBQdTeiUsm6gFJ1+E6YCnmTxdPRVuN6QJBALLLOQAGL5Jy/v4K7yA9dwpgOYiK\n"
+ "9rMYPhUFSXWdI+cz/Zt9vzFcF3V0RYhaRfgYLqg7retTqFoVSgBg0OxuUSMCQBtF\n"
+ "q37QAGOKVwXmz/P7icVDa024OtybIyl58J7luntwy4GlWdk6uyGJHdYAxvMO69Pa\n"
+ "QVDIgDxPn32gXlaEaekCQQCVhXc3zc+VX3nM4iCpXhlET2N75ULzsR+r6CdvtwSB\n"
+ "vXMBcuCE1aJHZDxqRx8XFZDZl+Ij/jrBMmtI15ebDuzH\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t rsa_key = { rsa_key_pem, sizeof(rsa_key_pem) - 1 };
static unsigned char p8_rsa_pem[] =
- "-----BEGIN ENCRYPTED PRIVATE KEY-----\n"
- "MIICojAcBgoqhkiG9w0BDAEDMA4ECDxZ1/EW+8XWAgIUYASCAoBR6R3Z341vSRvs\n"
- "/LMErKcKkAQ3THTZBpmYgR2mrJUjJBivzOuRTCRpgtjuQ4ht2Q7KV943mJXsqAFI\n"
- "Jly5fuVQ5YmRGLW+LE5sv+AGwmsii/PvGfGa9al56tHLDSeXV2VH4fly45bQ7ipr\n"
- "PZBiEgBToF/jqDFWleH2GTCnSLpc4B2cKkMO2c5RYrCCGNRK/jr1xVUDVzeiXZwE\n"
- "dbdDaV2UG/Oeo7F48UmvuWgS9YSFSUJ4fKG1KLlAQMKtAQKX+B4oL6Jbeb1jwSCX\n"
- "Q1H9hHXHTXbPGaIncPugotZNArwwrhesTszFE4NFMbg3QNKL1fabJJFIcOYIktwL\n"
- "7HG3pSiU2rqUZgS59OMJgL4jJm1lipo8ruNIl/YCpZTombOAV2Wbvq/I0SbRRXbX\n"
- "12lco8bQO1dgSkhhe58Vrs+ChaNajtNi8SjLS+Pi1tYYAVQjcQdxCGh4q8aZUhDv\n"
- "5yRp/TUOMaZqkY6YzRAlERb9jzVeh97EsOURzLu8pQgVjcNDOUAZF67KSqlSGMh7\n"
- "PdqknM/j8KaWmVMAUn4+PuWohkyjd1/1QhCnEtFZ1lbIfWrKXV76U7zyy0OTvFKw\n"
- "qemHUbryOJu0dQHziWmdtJpS7abSuhoMnrByZD+jDfQoSX7BzmdmCQGinltITYY1\n"
- "3iChqWC7jY02CiKZqTcdwkImvmDtDYOBr0uQSgBa4eh7nYmmcpdY4I6V5qAdo30w\n"
- "oXNEMqM53Syx36Fp70/Vmy0KmK8+2T4UgxGVJEgTDsEhiwJtTXxdzgxc5npbTePa\n"
- "abhFyIXIpqoUYZ9GPU8UjNEuF//wPY6klBp6VP0ixO6RqQKzbwr85EXbzoceBrLo\n"
- "eng1/Czj\n" "-----END ENCRYPTED PRIVATE KEY-----\n";
-
-const gnutls_datum_t p8_rsa_key = { p8_rsa_pem,
- sizeof(p8_rsa_pem) - 1
-};
-
-static
-int check_x509_privkey(void)
+ "-----BEGIN ENCRYPTED PRIVATE KEY-----\n"
+ "MIICojAcBgoqhkiG9w0BDAEDMA4ECDxZ1/EW+8XWAgIUYASCAoBR6R3Z341vSRvs\n"
+ "/LMErKcKkAQ3THTZBpmYgR2mrJUjJBivzOuRTCRpgtjuQ4ht2Q7KV943mJXsqAFI\n"
+ "Jly5fuVQ5YmRGLW+LE5sv+AGwmsii/PvGfGa9al56tHLDSeXV2VH4fly45bQ7ipr\n"
+ "PZBiEgBToF/jqDFWleH2GTCnSLpc4B2cKkMO2c5RYrCCGNRK/jr1xVUDVzeiXZwE\n"
+ "dbdDaV2UG/Oeo7F48UmvuWgS9YSFSUJ4fKG1KLlAQMKtAQKX+B4oL6Jbeb1jwSCX\n"
+ "Q1H9hHXHTXbPGaIncPugotZNArwwrhesTszFE4NFMbg3QNKL1fabJJFIcOYIktwL\n"
+ "7HG3pSiU2rqUZgS59OMJgL4jJm1lipo8ruNIl/YCpZTombOAV2Wbvq/I0SbRRXbX\n"
+ "12lco8bQO1dgSkhhe58Vrs+ChaNajtNi8SjLS+Pi1tYYAVQjcQdxCGh4q8aZUhDv\n"
+ "5yRp/TUOMaZqkY6YzRAlERb9jzVeh97EsOURzLu8pQgVjcNDOUAZF67KSqlSGMh7\n"
+ "PdqknM/j8KaWmVMAUn4+PuWohkyjd1/1QhCnEtFZ1lbIfWrKXV76U7zyy0OTvFKw\n"
+ "qemHUbryOJu0dQHziWmdtJpS7abSuhoMnrByZD+jDfQoSX7BzmdmCQGinltITYY1\n"
+ "3iChqWC7jY02CiKZqTcdwkImvmDtDYOBr0uQSgBa4eh7nYmmcpdY4I6V5qAdo30w\n"
+ "oXNEMqM53Syx36Fp70/Vmy0KmK8+2T4UgxGVJEgTDsEhiwJtTXxdzgxc5npbTePa\n"
+ "abhFyIXIpqoUYZ9GPU8UjNEuF//wPY6klBp6VP0ixO6RqQKzbwr85EXbzoceBrLo\n"
+ "eng1/Czj\n"
+ "-----END ENCRYPTED PRIVATE KEY-----\n";
+
+const gnutls_datum_t p8_rsa_key = { p8_rsa_pem, sizeof(p8_rsa_pem) - 1 };
+
+static int check_x509_privkey(void)
{
gnutls_x509_privkey_t key;
int ret;
@@ -99,8 +95,7 @@ int check_x509_privkey(void)
return 0;
}
-static
-int check_pkcs8_privkey1(void)
+static int check_pkcs8_privkey1(void)
{
gnutls_x509_privkey_t key;
int ret;
@@ -111,9 +106,8 @@ int check_pkcs8_privkey1(void)
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_x509_privkey_import_pkcs8(key, &p8_rsa_key,
- GNUTLS_X509_FMT_PEM, "1234", 0);
+ ret = gnutls_x509_privkey_import_pkcs8(key, &p8_rsa_key,
+ GNUTLS_X509_FMT_PEM, "1234", 0);
if (ret != GNUTLS_E_PK_INVALID_PRIVKEY)
fail("error: %s\n", gnutls_strerror(ret));
@@ -122,8 +116,7 @@ int check_pkcs8_privkey1(void)
return 0;
}
-static
-int check_pkcs8_privkey2(void)
+static int check_pkcs8_privkey2(void)
{
gnutls_privkey_t key;
int ret;
@@ -134,9 +127,8 @@ int check_pkcs8_privkey2(void)
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_privkey_import_x509_raw(key, &p8_rsa_key,
- GNUTLS_X509_FMT_PEM, "1234", 0);
+ ret = gnutls_privkey_import_x509_raw(key, &p8_rsa_key,
+ GNUTLS_X509_FMT_PEM, "1234", 0);
if (ret != GNUTLS_E_PK_INVALID_PRIVKEY)
fail("error: %s\n", gnutls_strerror(ret));
@@ -150,7 +142,8 @@ void doit(void)
if (gnutls_fips140_mode_enabled())
exit(77);
-#if NETTLE_VERSION_MAJOR < 3 || (NETTLE_VERSION_MAJOR == 3 && NETTLE_VERSION_MINOR <= 2)
+#if NETTLE_VERSION_MAJOR < 3 || \
+ (NETTLE_VERSION_MAJOR == 3 && NETTLE_VERSION_MINOR <= 2)
/* These checks are enforced only on new versions of nettle */
exit(77);
#else
diff --git a/tests/rsa-psk-cb.c b/tests/rsa-psk-cb.c
index c743491049..b84b7d415b 100644
--- a/tests/rsa-psk-cb.c
+++ b/tests/rsa-psk-cb.c
@@ -24,7 +24,7 @@
/* Tests the RSA-PSK ciphersuites under TLS1.2 */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,15 +40,15 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include "cert-common.h"
+#include "utils.h"
/* A very basic TLS client, with PSK authentication.
*/
@@ -60,9 +60,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-int psk_cli_func(gnutls_session_t session, char **username,
- gnutls_datum_t * key)
+static int psk_cli_func(gnutls_session_t session, char **username,
+ gnutls_datum_t *key)
{
*username = gnutls_malloc(5);
assert(*username != NULL);
@@ -79,8 +78,8 @@ int psk_cli_func(gnutls_session_t session, char **username,
return 0;
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd)
{
@@ -108,9 +107,10 @@ static void client(int sd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
+ NULL) >= 0);
/* put the anonymous credentials to the current session
*/
@@ -155,7 +155,7 @@ static void client(int sd)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -170,11 +170,10 @@ static void client(int sd)
/* This is a sample TLS 1.0 echo server, for PSK authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
-static int
-psk_server_func(gnutls_session_t session, const char *username,
- gnutls_datum_t * key)
+static int psk_server_func(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -218,18 +217,18 @@ static void server(int sd)
psk_server_func);
gnutls_psk_set_server_credentials_hint(server_pskcred, "hint");
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_PSK, server_pskcred);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -256,11 +255,11 @@ static void server(int sd)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -317,4 +316,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rsa-psk.c b/tests/rsa-psk.c
index 78dd5f32d2..2ed463f3c3 100644
--- a/tests/rsa-psk.c
+++ b/tests/rsa-psk.c
@@ -24,7 +24,7 @@
/* Tests the RSA-PSK ciphersuites under TLS1.2 */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,15 +40,15 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include "cert-common.h"
+#include "utils.h"
/* A very basic TLS client, with PSK authentication.
*/
@@ -60,8 +60,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd)
{
@@ -91,9 +91,9 @@ static void client(int sd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -138,7 +138,7 @@ static void client(int sd)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -153,11 +153,10 @@ static void client(int sd)
/* This is a sample TLS 1.0 echo server, for PSK authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
-static int
-psk_server_func(gnutls_session_t session, const char *username,
- gnutls_datum_t * key)
+static int psk_server_func(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -201,18 +200,17 @@ static void server(int sd)
psk_server_func);
gnutls_psk_set_server_credentials_hint(server_pskcred, "hint");
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA-PSK",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_PSK, server_pskcred);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -239,11 +237,11 @@ static void server(int sd)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -300,4 +298,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/rsa-rsa-pss.c b/tests/rsa-rsa-pss.c
index ec5e84c774..bced5cc1d2 100644
--- a/tests/rsa-rsa-pss.c
+++ b/tests/rsa-rsa-pss.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -41,25 +41,22 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-const gnutls_datum_t raw_data = {
- (void *)"hello there",
- 11
-};
+const gnutls_datum_t raw_data = { (void *)"hello there", 11 };
static gnutls_fips140_context_t fips_context;
-static void inv_sign_check(unsigned sigalgo,
- gnutls_privkey_t privkey, int exp_error)
+static void inv_sign_check(unsigned sigalgo, gnutls_privkey_t privkey,
+ int exp_error)
{
int ret;
gnutls_datum_t signature;
- ret = gnutls_privkey_sign_data2(privkey, sigalgo, 0,
- &raw_data, &signature);
+ ret = gnutls_privkey_sign_data2(privkey, sigalgo, 0, &raw_data,
+ &signature);
if (ret != exp_error)
fail("gnutls_privkey_sign_data succeeded with %s and %s: %s\n",
- gnutls_pk_get_name(gnutls_privkey_get_pk_algorithm
- (privkey, NULL)),
+ gnutls_pk_get_name(
+ gnutls_privkey_get_pk_algorithm(privkey, NULL)),
gnutls_sign_get_name(sigalgo), gnutls_strerror(ret));
if (ret == 0)
@@ -85,7 +82,6 @@ static void inv_encryption_check(gnutls_pk_algorithm_t algorithm,
gnutls_pk_get_name(algorithm), gnutls_strerror(ret));
gnutls_pubkey_deinit(pubkey);
-
}
static void sign_verify_data(unsigned sigalgo, gnutls_privkey_t privkey,
@@ -97,15 +93,15 @@ static void sign_verify_data(unsigned sigalgo, gnutls_privkey_t privkey,
gnutls_datum_t signature = { NULL, 0 };
fips_push_context(fips_context);
- ret = gnutls_privkey_sign_data2(privkey, sigalgo, sign_flags,
- &raw_data, &signature);
+ ret = gnutls_privkey_sign_data2(privkey, sigalgo, sign_flags, &raw_data,
+ &signature);
fips_pop_context(fips_context, sign_exp_state);
if (ret != sign_exp_error)
- fail("gnutls_x509_privkey_sign_data returned unexpected error: %s\n", gnutls_strerror(ret));
+ fail("gnutls_x509_privkey_sign_data returned unexpected error: %s\n",
+ gnutls_strerror(ret));
if (ret < 0) {
- success
- ("skipping verification as signing is expected to fail\n");
+ success("skipping verification as signing is expected to fail\n");
} else {
gnutls_pubkey_t pubkey;
@@ -116,11 +112,11 @@ static void sign_verify_data(unsigned sigalgo, gnutls_privkey_t privkey,
if (ret < 0)
fail("gnutls_pubkey_import_privkey\n");
- ret = gnutls_pubkey_verify_data2(pubkey, sigalgo,
- verify_flags, &raw_data,
- &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, sigalgo, verify_flags,
+ &raw_data, &signature);
if (ret != verify_exp_error)
- fail("gnutls_pubkey_verify_data2 returned unexpected error: %s\n", gnutls_strerror(ret));
+ fail("gnutls_pubkey_verify_data2 returned unexpected error: %s\n",
+ gnutls_strerror(ret));
gnutls_pubkey_deinit(pubkey);
}
@@ -128,9 +124,9 @@ static void sign_verify_data(unsigned sigalgo, gnutls_privkey_t privkey,
gnutls_free(signature.data);
}
-static void
-prepare_keys(gnutls_privkey_t * pkey_rsa_pss, gnutls_privkey_t * pkey_rsa,
- gnutls_digest_algorithm_t dig, size_t salt_size)
+static void prepare_keys(gnutls_privkey_t *pkey_rsa_pss,
+ gnutls_privkey_t *pkey_rsa,
+ gnutls_digest_algorithm_t dig, size_t salt_size)
{
gnutls_privkey_t pkey;
gnutls_x509_privkey_t tkey;
@@ -158,16 +154,16 @@ prepare_keys(gnutls_privkey_t * pkey_rsa_pss, gnutls_privkey_t * pkey_rsa,
/* import RSA-PSS version of key */
assert(gnutls_privkey_init(pkey_rsa_pss) >= 0);
- assert(gnutls_privkey_import_x509_raw
- (*pkey_rsa_pss, &tmp, GNUTLS_X509_FMT_PEM, NULL, 0) >= 0);
+ assert(gnutls_privkey_import_x509_raw(
+ *pkey_rsa_pss, &tmp, GNUTLS_X509_FMT_PEM, NULL, 0) >= 0);
gnutls_free(tmp.data);
/* import RSA version of key */
gnutls_x509_privkey_export2(tkey, GNUTLS_X509_FMT_PEM, &tmp);
assert(gnutls_privkey_init(pkey_rsa) >= 0);
- assert(gnutls_privkey_import_x509_raw
- (*pkey_rsa, &tmp, GNUTLS_X509_FMT_PEM, NULL, 0) >= 0);
+ assert(gnutls_privkey_import_x509_raw(
+ *pkey_rsa, &tmp, GNUTLS_X509_FMT_PEM, NULL, 0) >= 0);
gnutls_x509_privkey_deinit(tkey);
gnutls_free(tmp.data);
@@ -248,19 +244,17 @@ void doit(void)
/* Use the mismatched salt length with the digest length */
prepare_keys(&pkey_rsa_pss, &pkey_rsa, GNUTLS_DIG_SHA256, 48);
- sign_verify_data(GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, pkey_rsa_pss,
- 0, 0, 0, 0, GNUTLS_FIPS140_OP_NOT_APPROVED);
+ sign_verify_data(GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, pkey_rsa_pss, 0, 0, 0,
+ 0, GNUTLS_FIPS140_OP_NOT_APPROVED);
sign_verify_data(GNUTLS_SIGN_RSA_PSS_SHA256, pkey_rsa_pss,
- GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH,
- 0, GNUTLS_E_CONSTRAINT_ERROR, 0,
+ GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH, 0,
+ GNUTLS_E_CONSTRAINT_ERROR, 0,
/* The error is caught before calling the actual
* signing operation.
*/
GNUTLS_FIPS140_OP_INITIAL);
- sign_verify_data(GNUTLS_SIGN_RSA_PSS_SHA256, pkey_rsa_pss,
- 0,
- GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH,
- 0,
+ sign_verify_data(GNUTLS_SIGN_RSA_PSS_SHA256, pkey_rsa_pss, 0,
+ GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH, 0,
GNUTLS_E_PK_SIG_VERIFY_FAILED,
GNUTLS_FIPS140_OP_NOT_APPROVED);
@@ -271,16 +265,14 @@ void doit(void)
sign_verify_data(GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, pkey_rsa, 0, 0, 0, 0,
GNUTLS_FIPS140_OP_NOT_APPROVED);
sign_verify_data(GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, pkey_rsa,
- GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH,
- 0, GNUTLS_E_CONSTRAINT_ERROR, 0,
+ GNUTLS_PRIVKEY_FLAG_RSA_PSS_FIXED_SALT_LENGTH, 0,
+ GNUTLS_E_CONSTRAINT_ERROR, 0,
/* The error is caught before calling the actual
* signing operation.
*/
GNUTLS_FIPS140_OP_INITIAL);
- sign_verify_data(GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, pkey_rsa,
- 0,
- GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH,
- 0,
+ sign_verify_data(GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, pkey_rsa, 0,
+ GNUTLS_VERIFY_RSA_PSS_FIXED_SALT_LENGTH, 0,
GNUTLS_E_PK_SIG_VERIFY_FAILED,
GNUTLS_FIPS140_OP_NOT_APPROVED);
diff --git a/tests/safe-renegotiation/srn0.c b/tests/safe-renegotiation/srn0.c
index 905aa2aed5..9521599e98 100644
--- a/tests/safe-renegotiation/srn0.c
+++ b/tests/safe-renegotiation/srn0.c
@@ -28,7 +28,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,45 +47,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
void doit(void)
{
@@ -106,9 +103,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
@@ -135,10 +131,10 @@ void doit(void)
exit(1);
}
- if (!
- (gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
-|| !(gnutls_session_get_flags(server) & GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ if (!(gnutls_session_get_flags(client) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ !(gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
tls_log_func(0, "Session not using safe renegotiation!\n");
exit(1);
}
@@ -162,17 +158,19 @@ void doit(void)
if (!gnutls_safe_renegotiation_status(client) ||
!gnutls_safe_renegotiation_status(server)) {
- tls_log_func(0,
- "Rehandshaked session not using safe renegotiation!\n");
+ tls_log_func(
+ 0,
+ "Rehandshaked session not using safe renegotiation!\n");
exit(1);
}
- if (!
- (gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
-|| !(gnutls_session_get_flags(server) & GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
- tls_log_func(0,
- "Rehandshaked session not using safe renegotiation!\n");
+ if (!(gnutls_session_get_flags(client) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ !(gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ tls_log_func(
+ 0,
+ "Rehandshaked session not using safe renegotiation!\n");
exit(1);
}
diff --git a/tests/safe-renegotiation/srn1.c b/tests/safe-renegotiation/srn1.c
index 3f29c051b9..fcf2541f37 100644
--- a/tests/safe-renegotiation/srn1.c
+++ b/tests/safe-renegotiation/srn1.c
@@ -27,7 +27,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -46,45 +46,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
void doit(void)
{
@@ -105,14 +102,13 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%SAFE_RENEGOTIATION",
- NULL);
+ gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-ALL:+VERS-TLS1.2:%SAFE_RENEGOTIATION",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -121,24 +117,25 @@ void doit(void)
gnutls_certificate_allocate_credentials(&clientx509cred);
gnutls_init(&client, GNUTLS_CLIENT);
gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
- NULL);
+ gnutls_priority_set_direct(
+ client,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
+ NULL);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
/* Check that initially no session use the extension. */
- if (gnutls_safe_renegotiation_status(server)
- || gnutls_safe_renegotiation_status(client)) {
+ if (gnutls_safe_renegotiation_status(server) ||
+ gnutls_safe_renegotiation_status(client)) {
puts("Client or server using extension before handshake?");
abort();
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
puts("Client or server using extension before handshake?");
abort();
}
diff --git a/tests/safe-renegotiation/srn2.c b/tests/safe-renegotiation/srn2.c
index 3857b000fe..b0bec754db 100644
--- a/tests/safe-renegotiation/srn2.c
+++ b/tests/safe-renegotiation/srn2.c
@@ -25,7 +25,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,45 +44,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
void doit(void)
{
@@ -103,9 +100,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
@@ -125,16 +121,16 @@ void doit(void)
gnutls_transport_set_ptr(client, client);
/* Check that initially no session use the extension. */
- if (gnutls_safe_renegotiation_status(server)
- || gnutls_safe_renegotiation_status(client)) {
+ if (gnutls_safe_renegotiation_status(server) ||
+ gnutls_safe_renegotiation_status(client)) {
puts("Client or server using extension before handshake?");
abort();
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
puts("Client or server using extension before handshake?");
abort();
}
@@ -142,16 +138,16 @@ void doit(void)
HANDSHAKE(client, server);
/* Check that both sessions use the extension. */
- if (!gnutls_safe_renegotiation_status(server)
- || !gnutls_safe_renegotiation_status(client)) {
+ if (!gnutls_safe_renegotiation_status(server) ||
+ !gnutls_safe_renegotiation_status(client)) {
puts("Client or server not using safe renegotiation extension?");
abort();
}
- if (!
- (gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
-|| !(gnutls_session_get_flags(server) & GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ if (!(gnutls_session_get_flags(client) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ !(gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
puts("Client or server not using safe renegotiation extension?");
abort();
}
@@ -174,16 +170,16 @@ void doit(void)
HANDSHAKE(client, server);
/* Check that session still use the extension. */
- if (!gnutls_safe_renegotiation_status(server)
- || !gnutls_safe_renegotiation_status(client)) {
+ if (!gnutls_safe_renegotiation_status(server) ||
+ !gnutls_safe_renegotiation_status(client)) {
puts("Client or server not using safe renegotiation extension?");
abort();
}
- if (!
- (gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
-|| !(gnutls_session_get_flags(server) & GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ if (!(gnutls_session_get_flags(client) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ !(gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
puts("Client or server not using safe renegotiation extension?");
abort();
}
diff --git a/tests/safe-renegotiation/srn3.c b/tests/safe-renegotiation/srn3.c
index 049c41f610..cd019e63f4 100644
--- a/tests/safe-renegotiation/srn3.c
+++ b/tests/safe-renegotiation/srn3.c
@@ -27,7 +27,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -46,45 +46,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
void doit(void)
{
@@ -105,14 +102,14 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -121,30 +118,30 @@ void doit(void)
gnutls_certificate_allocate_credentials(&clientx509cred);
gnutls_init(&client, GNUTLS_CLIENT);
gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%SAFE_RENEGOTIATION",
- NULL);
+ gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.2:%SAFE_RENEGOTIATION",
+ NULL);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
/* Check that initially no session use the extension. */
- if (gnutls_safe_renegotiation_status(server)
- || gnutls_safe_renegotiation_status(client)) {
+ if (gnutls_safe_renegotiation_status(server) ||
+ gnutls_safe_renegotiation_status(client)) {
puts("Client or server using extension before handshake?");
abort();
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
puts("Client or server using extension before handshake?");
abort();
}
- HANDSHAKE_EXPECT(client, server,
- GNUTLS_E_SAFE_RENEGOTIATION_FAILED, GNUTLS_E_AGAIN);
+ HANDSHAKE_EXPECT(client, server, GNUTLS_E_SAFE_RENEGOTIATION_FAILED,
+ GNUTLS_E_AGAIN);
gnutls_bye(client, GNUTLS_SHUT_RDWR);
gnutls_bye(server, GNUTLS_SHUT_RDWR);
diff --git a/tests/safe-renegotiation/srn4.c b/tests/safe-renegotiation/srn4.c
index 685725262f..caa6baa9b1 100644
--- a/tests/safe-renegotiation/srn4.c
+++ b/tests/safe-renegotiation/srn4.c
@@ -27,7 +27,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -46,45 +46,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
void doit(void)
{
@@ -105,9 +102,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
@@ -120,9 +116,10 @@ void doit(void)
gnutls_certificate_allocate_credentials(&clientx509cred);
gnutls_init(&client, GNUTLS_CLIENT);
gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, clientx509cred);
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
- NULL);
+ gnutls_priority_set_direct(
+ client,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
+ NULL);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
@@ -131,17 +128,17 @@ void doit(void)
if (gnutls_safe_renegotiation_status(client) ||
gnutls_safe_renegotiation_status(server)) {
- tls_log_func(0,
- "Session using safe renegotiation but shouldn't!\n");
+ tls_log_func(
+ 0, "Session using safe renegotiation but shouldn't!\n");
exit(1);
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
- tls_log_func(0,
- "Session using safe renegotiation but shouldn't!\n");
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ tls_log_func(
+ 0, "Session using safe renegotiation but shouldn't!\n");
exit(1);
}
@@ -165,17 +162,17 @@ void doit(void)
if (gnutls_safe_renegotiation_status(client) ||
gnutls_safe_renegotiation_status(server)) {
- tls_log_func(0,
- "Rehandshaked session using safe renegotiation!\n");
+ tls_log_func(
+ 0, "Rehandshaked session using safe renegotiation!\n");
exit(1);
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
- tls_log_func(0,
- "Rehandshaked session using safe renegotiation!\n");
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ tls_log_func(
+ 0, "Rehandshaked session using safe renegotiation!\n");
exit(1);
}
diff --git a/tests/safe-renegotiation/srn5.c b/tests/safe-renegotiation/srn5.c
index 5f820b5cf0..57dbe143f4 100644
--- a/tests/safe-renegotiation/srn5.c
+++ b/tests/safe-renegotiation/srn5.c
@@ -28,7 +28,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,45 +47,42 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
void doit(void)
{
@@ -106,14 +103,14 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DISABLE_SAFE_RENEGOTIATION",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -143,11 +140,12 @@ void doit(void)
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
- tls_log_func(0,
- "Server or client thinks it is using safe renegotiation!\n");
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ tls_log_func(
+ 0,
+ "Server or client thinks it is using safe renegotiation!\n");
exit(1);
}
@@ -166,22 +164,22 @@ void doit(void)
abort();
}
- HANDSHAKE_EXPECT(client, server,
- GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED, GNUTLS_E_AGAIN);
+ HANDSHAKE_EXPECT(client, server, GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED,
+ GNUTLS_E_AGAIN);
if (gnutls_safe_renegotiation_status(client) ||
gnutls_safe_renegotiation_status(server)) {
- tls_log_func(0,
- "Rehandshaked session using safe renegotiation!\n");
+ tls_log_func(
+ 0, "Rehandshaked session using safe renegotiation!\n");
exit(1);
}
if ((gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)
- || (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
- tls_log_func(0,
- "Rehandshaked session using safe renegotiation!\n");
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION) ||
+ (gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_SAFE_RENEGOTIATION)) {
+ tls_log_func(
+ 0, "Rehandshaked session using safe renegotiation!\n");
exit(1);
}
diff --git a/tests/sec-params.c b/tests/sec-params.c
index 5f41c0d8f2..8d7bac5c1c 100644
--- a/tests/sec-params.c
+++ b/tests/sec-params.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/seccomp.c b/tests/seccomp.c
index a3148fea27..86442a543b 100644
--- a/tests/seccomp.c
+++ b/tests/seccomp.c
@@ -23,12 +23,12 @@
#ifdef HAVE_LIBSECCOMP
-# include <seccomp.h>
-# include <errno.h>
-# include <string.h>
-# if defined(__linux__)
-# include <sys/syscall.h>
-# endif
+#include <seccomp.h>
+#include <errno.h>
+#include <string.h>
+#if defined(__linux__)
+#include <sys/syscall.h>
+#endif
int disable_system_calls(void)
{
@@ -41,13 +41,16 @@ int disable_system_calls(void)
fprintf(stderr, "could not initialize seccomp");
return -1;
}
-# define ADD_SYSCALL(name, ...) \
- ret = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(name), __VA_ARGS__); \
- /* libseccomp returns EDOM for pseudo-syscalls due to a bug */ \
- if (ret < 0 && ret != -EDOM) { \
- fprintf(stderr, "could not add " #name " to seccomp filter: %s", strerror(-ret)); \
- ret = -1; \
- goto fail; \
+#define ADD_SYSCALL(name, ...) \
+ ret = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(name), \
+ __VA_ARGS__); \
+ /* libseccomp returns EDOM for pseudo-syscalls due to a bug */ \
+ if (ret < 0 && ret != -EDOM) { \
+ fprintf(stderr, \
+ "could not add " #name " to seccomp filter: %s", \
+ strerror(-ret)); \
+ ret = -1; \
+ goto fail; \
}
ADD_SYSCALL(nanosleep, 0);
@@ -55,9 +58,9 @@ int disable_system_calls(void)
ADD_SYSCALL(time, 0);
ADD_SYSCALL(getpid, 0);
ADD_SYSCALL(gettimeofday, 0);
-# if defined(HAVE_CLOCK_GETTIME)
+#if defined(HAVE_CLOCK_GETTIME)
ADD_SYSCALL(clock_gettime, 0);
-# endif
+#endif
ADD_SYSCALL(getrusage, 0);
@@ -73,9 +76,9 @@ int disable_system_calls(void)
/* to read from /dev/urandom */
ADD_SYSCALL(read, 0);
-# ifdef SYS_getrandom
+#ifdef SYS_getrandom
ADD_SYSCALL(getrandom, 0);
-# endif
+#endif
/* we use it in select */
ADD_SYSCALL(sigprocmask, 0);
@@ -109,7 +112,7 @@ int disable_system_calls(void)
ret = 0;
- fail:
+fail:
seccomp_release(ctx);
return ret;
}
diff --git a/tests/send-client-cert.c b/tests/send-client-cert.c
index 27c4c4edb7..30e813a9a0 100644
--- a/tests/send-client-cert.c
+++ b/tests/send-client-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -89,15 +89,11 @@ static void try(const char *prio, unsigned expect, unsigned ca_type)
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
if (ca_type == CORRECT_CA) {
- ret =
- gnutls_certificate_set_x509_trust_mem(serverx509cred,
- &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(
+ serverx509cred, &ca3_cert, GNUTLS_X509_FMT_PEM);
} else if (ca_type == INCORRECT_CA || ca_type == INCORRECT_CA_FORCE) {
- ret =
- gnutls_certificate_set_x509_trust_mem(serverx509cred,
- &unknown_ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(
+ serverx509cred, &unknown_ca_cert, GNUTLS_X509_FMT_PEM);
} else if (ca_type == NO_CA) {
ret = 0;
} else {
@@ -127,9 +123,8 @@ static void try(const char *prio, unsigned expect, unsigned ca_type)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -167,7 +162,8 @@ static void try(const char *prio, unsigned expect, unsigned ca_type)
}
} else {
if (gnutls_certificate_get_ours(client) != NULL) {
- fail("Test %d: client sent a certificate, although not expected\n", ca_type);
+ fail("Test %d: client sent a certificate, although not expected\n",
+ ca_type);
exit(1);
}
}
diff --git a/tests/send-data-before-handshake.c b/tests/send-data-before-handshake.c
index e932e14dc7..fe4c98b60e 100644
--- a/tests/send-data-before-handshake.c
+++ b/tests/send-data-before-handshake.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+#include "cert-common.h"
+#include "utils.h"
/* This program tests that a client cannot send any unencrypted data
* during the handshake process. That is to ensure we protect buggy clients
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
char c = 0;
@@ -88,7 +88,7 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -124,8 +124,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -142,8 +141,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
@@ -162,7 +161,7 @@ static void client(int fd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -219,14 +218,14 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -243,8 +242,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int fd[2];
int ret, status = 0;
@@ -287,4 +285,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/server-kx-neg-common.c b/tests/server-kx-neg-common.c
index 42f71751cd..fac3302167 100644
--- a/tests/server-kx-neg-common.c
+++ b/tests/server-kx-neg-common.c
@@ -46,9 +46,8 @@ typedef struct test_case_st {
const char *server_prio;
} test_case_st;
-static int
-serv_psk_func(gnutls_session_t session, const char *username,
- gnutls_datum_t * key)
+static int serv_psk_func(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
key->data = gnutls_malloc(4);
assert(key->data != NULL);
@@ -61,22 +60,17 @@ serv_psk_func(gnutls_session_t session, const char *username,
}
#define SALT_TEST1 "3a3xX3Myzb9YJn5X0R7sbx"
-#define VERIF_TEST1 "CEqjUZBlkQCocfOR0E4AsPZKOFYPGjKFMHW7KDcnpE4sH4.iGMbkygb/bViRNjskF9/TQdD46Mvlt6pLs5MZoTn8mO3G.RGyXdWuIrhnVn29p41Cpc5RhTLaeUm3asW6LF60VTKnGERC0eB37xZUsaTpzmaTNdD4mOoYCN3bD9Y"
-#define PRIME "Ewl2hcjiutMd3Fu2lgFnUXWSc67TVyy2vwYCKoS9MLsrdJVT9RgWTCuEqWJrfB6uE3LsE9GkOlaZabS7M29sj5TnzUqOLJMjiwEzArfiLr9WbMRANlF68N5AVLcPWvNx6Zjl3m5Scp0BzJBz9TkgfhzKJZ.WtP3Mv/67I/0wmRZ"
-gnutls_datum_t tprime = {
- .data = (void *)PRIME,
- .size = sizeof(PRIME) - 1
-};
-
-gnutls_datum_t test1_verif = {
- .data = (void *)VERIF_TEST1,
- .size = sizeof(VERIF_TEST1) - 1
-};
-
-gnutls_datum_t test1_salt = {
- .data = (void *)SALT_TEST1,
- .size = sizeof(SALT_TEST1) - 1
-};
+#define VERIF_TEST1 \
+ "CEqjUZBlkQCocfOR0E4AsPZKOFYPGjKFMHW7KDcnpE4sH4.iGMbkygb/bViRNjskF9/TQdD46Mvlt6pLs5MZoTn8mO3G.RGyXdWuIrhnVn29p41Cpc5RhTLaeUm3asW6LF60VTKnGERC0eB37xZUsaTpzmaTNdD4mOoYCN3bD9Y"
+#define PRIME \
+ "Ewl2hcjiutMd3Fu2lgFnUXWSc67TVyy2vwYCKoS9MLsrdJVT9RgWTCuEqWJrfB6uE3LsE9GkOlaZabS7M29sj5TnzUqOLJMjiwEzArfiLr9WbMRANlF68N5AVLcPWvNx6Zjl3m5Scp0BzJBz9TkgfhzKJZ.WtP3Mv/67I/0wmRZ"
+gnutls_datum_t tprime = { .data = (void *)PRIME, .size = sizeof(PRIME) - 1 };
+
+gnutls_datum_t test1_verif = { .data = (void *)VERIF_TEST1,
+ .size = sizeof(VERIF_TEST1) - 1 };
+
+gnutls_datum_t test1_salt = { .data = (void *)SALT_TEST1,
+ .size = sizeof(SALT_TEST1) - 1 };
const char *side;
#define switch_side(str) side = str
@@ -87,10 +81,9 @@ static void tls_log_func(int level, const char *str)
}
#ifdef ENABLE_SRP
-static int
-serv_srp_func(gnutls_session_t session, const char *username,
- gnutls_datum_t * salt, gnutls_datum_t * verifier,
- gnutls_datum_t * generator, gnutls_datum_t * prime)
+static int serv_srp_func(gnutls_session_t session, const char *username,
+ gnutls_datum_t *salt, gnutls_datum_t *verifier,
+ gnutls_datum_t *generator, gnutls_datum_t *prime)
{
int ret;
if (debug)
@@ -120,7 +113,7 @@ serv_srp_func(gnutls_session_t session, const char *username,
}
#endif
-static void try(test_case_st * test)
+static void try(test_case_st *test)
{
int sret, cret, ret;
gnutls_anon_client_credentials_t c_anon_cred;
@@ -133,8 +126,8 @@ static void try(test_case_st * test)
gnutls_srp_server_credentials_t s_srp_cred;
gnutls_srp_client_credentials_t c_srp_cred;
#endif
- const gnutls_datum_t p3_2048 =
- { (void *)pkcs3_2048, strlen(pkcs3_2048) };
+ const gnutls_datum_t p3_2048 = { (void *)pkcs3_2048,
+ strlen(pkcs3_2048) };
gnutls_dh_params_t dh_params = NULL;
gnutls_session_t server, client;
@@ -170,11 +163,11 @@ static void try(test_case_st * test)
if (test->have_anon_cred) {
gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anon_cred);
if (test->have_anon_dh_params)
- gnutls_anon_set_server_known_dh_params(s_anon_cred,
- GNUTLS_SEC_PARAM_MEDIUM);
+ gnutls_anon_set_server_known_dh_params(
+ s_anon_cred, GNUTLS_SEC_PARAM_MEDIUM);
else if (test->have_anon_exp_dh_params) {
- ret = gnutls_dh_params_import_pkcs3(dh_params, &p3_2048,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_dh_params_import_pkcs3(
+ dh_params, &p3_2048, GNUTLS_X509_FMT_PEM);
assert(ret >= 0);
gnutls_anon_set_server_dh_params(s_anon_cred,
dh_params);
@@ -185,11 +178,11 @@ static void try(test_case_st * test)
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
s_cert_cred);
if (test->have_cert_dh_params)
- gnutls_certificate_set_known_dh_params(s_cert_cred,
- GNUTLS_SEC_PARAM_MEDIUM);
+ gnutls_certificate_set_known_dh_params(
+ s_cert_cred, GNUTLS_SEC_PARAM_MEDIUM);
else if (test->have_cert_exp_dh_params) {
- ret = gnutls_dh_params_import_pkcs3(dh_params, &p3_2048,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_dh_params_import_pkcs3(
+ dh_params, &p3_2048, GNUTLS_X509_FMT_PEM);
assert(ret >= 0);
gnutls_certificate_set_dh_params(s_cert_cred,
dh_params);
@@ -199,11 +192,11 @@ static void try(test_case_st * test)
if (test->have_psk_cred) {
gnutls_credentials_set(server, GNUTLS_CRD_PSK, s_psk_cred);
if (test->have_psk_dh_params)
- gnutls_psk_set_server_known_dh_params(s_psk_cred,
- GNUTLS_SEC_PARAM_MEDIUM);
+ gnutls_psk_set_server_known_dh_params(
+ s_psk_cred, GNUTLS_SEC_PARAM_MEDIUM);
else if (test->have_psk_exp_dh_params) {
- ret = gnutls_dh_params_import_pkcs3(dh_params, &p3_2048,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_dh_params_import_pkcs3(
+ dh_params, &p3_2048, GNUTLS_X509_FMT_PEM);
assert(ret >= 0);
gnutls_psk_set_server_dh_params(s_psk_cred, dh_params);
}
@@ -221,39 +214,43 @@ static void try(test_case_st * test)
#endif
if (test->have_rsa_decrypt_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_rsa_decrypt_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred,
+ &server_ca3_localhost_rsa_decrypt_cert,
+ &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_ecc_sign_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_ecc_cert,
- &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_ecc_cert,
+ &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_ed25519_sign_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_rsa_sign_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_rsa_sign_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_rsa_sign_cert,
+ &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_gost12_256_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_gost12_256_cert,
- &server_ca3_gost12_256_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_gost12_256_cert,
+ &server_ca3_gost12_256_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_gost12_512_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_gost12_512_cert,
- &server_ca3_gost12_512_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_gost12_512_cert,
+ &server_ca3_gost12_512_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
/* client does everything */
@@ -264,8 +261,8 @@ static void try(test_case_st * test)
gnutls_credentials_set(client, GNUTLS_CRD_SRP, c_srp_cred);
#endif
- assert(gnutls_psk_set_client_credentials
- (c_psk_cred, "psk", &pskkey, GNUTLS_PSK_KEY_HEX) >= 0);
+ assert(gnutls_psk_set_client_credentials(c_psk_cred, "psk", &pskkey,
+ GNUTLS_PSK_KEY_HEX) >= 0);
#ifdef ENABLE_SRP
assert(gnutls_srp_set_client_credentials(c_srp_cred, "test1", "test") >=
@@ -284,12 +281,13 @@ static void try(test_case_st * test)
HANDSHAKE_EXPECT(client, server, test->client_ret, test->server_ret);
- if (test->client_ret == 0 && test->server_ret == 0 && test->exp_version) {
+ if (test->client_ret == 0 && test->server_ret == 0 &&
+ test->exp_version) {
if (gnutls_protocol_get_version(client) != test->exp_version)
fail("expected version (%s) does not match %s\n",
gnutls_protocol_get_name(test->exp_version),
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(client)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(client)));
}
gnutls_deinit(server);
diff --git a/tests/server-secrets.h b/tests/server-secrets.h
index 6549e89a57..4f911adc37 100644
--- a/tests/server-secrets.h
+++ b/tests/server-secrets.h
@@ -22,345 +22,345 @@
*/
#ifndef GNUTLS_TESTS_SERVER_SECRETS_H
-# define GNUTLS_TESTS_SERVER_SECRETS_H
+#define GNUTLS_TESTS_SERVER_SECRETS_H
static const struct secret server_normal_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ NULL,
+ },
};
static const struct secret server_normal_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
+ NULL,
+ },
};
static const struct secret server_normal_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
+ NULL,
+ },
};
static const struct secret server_small_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ NULL,
+ },
};
static const struct secret server_small_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
+ NULL,
+ },
};
static const struct secret server_small_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
+ NULL,
+ },
};
static const struct secret server_empty_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ NULL,
+ },
};
static const struct secret server_empty_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
- (const uint8_t *)
- "\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
+ (const uint8_t
+ *)"\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
+ NULL,
+ },
};
static const struct secret server_empty_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
- (const uint8_t *)
- "\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\x87\x07\x01\xdc\x13\xdc\xb7\x93\x26\x53\xff\xa4\x2d\x28\xed\xca\xef\x5b\xa7\x94\x17\x26\xdf\x1f\x8c\x7b\x79\x32\x55\x5e\xcb\x79",
+ (const uint8_t
+ *)"\xac\xc2\x07\x48\xba\x3d\x59\x2f\x5f\xce\x79\xda\xa6\x04\x4b\x55\x06\x2c\x9f\x0e\xdf\xda\x42\x51\x9d\x0b\xd9\x39\x4b\x8c\xb2\x7e",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x73\x16\xe6\x0a\x66\xe1\x81\xd8\x74\xfa\x25\xe3\xf3\x1a\xf2\x4d\x84\xd6\xc6\x7a\x1b\x27\x79\x0a\x09\x9e\xd2\xd4\x1d\xdf\x0f\x53",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x5f\x8e\xfe\x3e\xa0\x41\x27\x9e\xbb\xba\xf2\xa9\x22\xc6\x06\x58\xb5\xbf\x6e\x29\x3d\x84\x10\x4e\x3f\xe3\xc0\x1f\x7a\x2c\xf5\x21",
+ NULL,
+ },
};
static const struct secret server_explicit_0[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
- (const uint8_t *)
- "\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\x24\x24\xaf\xad\xa8\x0e\x40\xc6\xa1\xc3\x05\xff\x5a\xe5\x04\xb9\xc4\xc2\xff\xd6\x2b\x9a\xb8\x43\x85\x78\x92\x1e\x69\x44\x3d\xe2",
+ (const uint8_t
+ *)"\xdc\x47\xf1\x8b\x33\xd6\x08\x26\xa1\xad\xd9\xb0\x81\xee\x32\x01\xb6\xfc\xce\x9a\xa0\x35\xd1\x30\x61\x85\x2d\xff\x3d\xb1\xe5\x49",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\x03\x38\xcf\x43\x68\x90\x01\x7a\xdb\x06\x7d\x92\x08\xcf\x67\x22\x41\xa7\xd3\xe7\x7e\x3a\xaf\x50\xd6\x5c\xaa\xfe\x90\xa4\x87\xa2",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x5c\x6f\xe8\x8b\xac\x0a\x7b\x04\x76\x9f\xe8\x2a\x7c\x06\x19\x4c\xa7\x51\x5c\xfe\xb9\x31\x25\x0d\x3b\x07\x78\xa9\xdd\x2d\x27\x72",
+ NULL,
+ },
};
static const struct secret server_explicit_1[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_EARLY,
- 32,
- (const uint8_t *)
- "\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- NULL,
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- NULL,
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_EARLY,
+ 32,
+ (const uint8_t
+ *)"\x6f\x16\x97\x8e\x90\x94\x77\x40\x0f\x00\xff\x79\x1c\x15\x20\x19\xeb\xc6\x10\x59\x8f\x92\xac\xab\xe6\xc8\x3c\x12\x30\x94\x91\x12",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ NULL,
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xf8\xa9\xd5\xe6\x18\xbb\xb7\x07\x1d\xb3\x8f\x78\x61\x30\x63\x01\xa5\x49\xc6\x05\x92\x7f\x67\x98\x72\x76\x75\xb1\x31\x1f\x14\xf9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\xab\xa3\xf5\x4f\xcc\x3f\xd7\xb7\x23\x73\x51\x6e\x64\xc1\xaa\x6b\xa9\x77\x30\x58\xe6\xd4\xf5\xe9\xa5\xd2\x0d\x35\x42\x65\xda\xf1",
+ NULL,
+ },
};
static const struct secret server_explicit_2[] = {
{
- GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
- 32,
- (const uint8_t *)
- "\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
- (const uint8_t *)
- "\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- NULL,
- (const uint8_t *)
- "\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
- },
- {
- GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
- 32,
- (const uint8_t *)
- "\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
- NULL,
- },
+ GNUTLS_ENCRYPTION_LEVEL_HANDSHAKE,
+ 32,
+ (const uint8_t
+ *)"\xe7\xf5\x57\x48\x54\x71\xae\xc0\xba\x8d\x12\x90\xc5\x25\xef\xe3\xc7\xea\x39\x09\x24\xe8\x20\x6d\x03\x8d\x80\x1e\xdd\x24\xbb\x5a",
+ (const uint8_t
+ *)"\xf0\x91\x46\x67\xe1\x36\xb5\xd2\x30\x71\xc9\x1d\xcc\x56\xc3\x9d\xee\xfa\x26\xdb\xe4\xe2\x17\xb7\x3d\xb9\x27\x6a\x7c\xa5\xe7\xa9",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ NULL,
+ (const uint8_t
+ *)"\xd8\xdf\x24\xd6\xe1\xdc\x86\x3b\x88\x3d\x2b\xad\x56\xec\x22\xd4\x5c\xaf\xa9\x24\xa3\x90\x20\xa1\xae\x77\x5c\x7d\xef\x3d\xcc\x5b",
+ },
+ {
+ GNUTLS_ENCRYPTION_LEVEL_APPLICATION,
+ 32,
+ (const uint8_t
+ *)"\x8d\x02\xe0\xe8\x5f\x9a\xcc\xc7\x8c\x81\x3b\x58\x5f\xa9\xdb\xfd\x98\xb1\x1f\xcc\x3e\x7b\xca\xe7\xef\x05\x4c\x84\x6c\xe1\x11\x25",
+ NULL,
+ },
};
-#endif /* GNUTLS_TESTS_SERVER_SECRETS_H */
+#endif /* GNUTLS_TESTS_SERVER_SECRETS_H */
diff --git a/tests/server-sign-md5-rep.c b/tests/server-sign-md5-rep.c
index c7f31c9e63..06dabf34ad 100644
--- a/tests/server-sign-md5-rep.c
+++ b/tests/server-sign-md5-rep.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,20 +40,20 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <limits.h>
-# include <poll.h>
-# include <errno.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <limits.h>
+#include <poll.h>
+#include <errno.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
pid_t child;
@@ -65,50 +65,35 @@ static void tls_log_func(int level, const char *str)
static unsigned char tls1_hello[] = {
0x16, 0x03, 0x01, 0x01, 0x5E, 0x01, 0x00, 0x01, 0x5A, 0x03, 0x03, 0x59,
- 0x52, 0x41, 0x54, 0xD5,
- 0x52, 0x62, 0x63, 0x69, 0x1B, 0x46, 0xBE, 0x33, 0xCC, 0xC4, 0xC3, 0xB3,
- 0x6C, 0xCD, 0xEC, 0x96,
- 0xF7, 0x7A, 0xCA, 0xE9, 0xFB, 0x85, 0x95, 0x83, 0x51, 0xE4, 0x69, 0x00,
- 0x00, 0xD4, 0xC0, 0x30,
+ 0x52, 0x41, 0x54, 0xD5, 0x52, 0x62, 0x63, 0x69, 0x1B, 0x46, 0xBE, 0x33,
+ 0xCC, 0xC4, 0xC3, 0xB3, 0x6C, 0xCD, 0xEC, 0x96, 0xF7, 0x7A, 0xCA, 0xE9,
+ 0xFB, 0x85, 0x95, 0x83, 0x51, 0xE4, 0x69, 0x00, 0x00, 0xD4, 0xC0, 0x30,
0xCC, 0xA8, 0xC0, 0x8B, 0xC0, 0x14, 0xC0, 0x28, 0xC0, 0x77, 0xC0, 0x2F,
- 0xC0, 0x8A, 0xC0, 0x13,
- 0xC0, 0x27, 0xC0, 0x76, 0xC0, 0x12, 0xC0, 0x2C, 0xC0, 0xAD, 0xCC, 0xA9,
- 0xC0, 0x87, 0xC0, 0x0A,
- 0xC0, 0x24, 0xC0, 0x73, 0xC0, 0x2B, 0xC0, 0xAC, 0xC0, 0x86, 0xC0, 0x09,
- 0xC0, 0x23, 0xC0, 0x72,
+ 0xC0, 0x8A, 0xC0, 0x13, 0xC0, 0x27, 0xC0, 0x76, 0xC0, 0x12, 0xC0, 0x2C,
+ 0xC0, 0xAD, 0xCC, 0xA9, 0xC0, 0x87, 0xC0, 0x0A, 0xC0, 0x24, 0xC0, 0x73,
+ 0xC0, 0x2B, 0xC0, 0xAC, 0xC0, 0x86, 0xC0, 0x09, 0xC0, 0x23, 0xC0, 0x72,
0xC0, 0x08, 0x00, 0x9D, 0xC0, 0x9D, 0xC0, 0x7B, 0x00, 0x35, 0x00, 0x3D,
- 0x00, 0x84, 0x00, 0xC0,
- 0x00, 0x9C, 0xC0, 0x9C, 0xC0, 0x7A, 0x00, 0x2F, 0x00, 0x3C, 0x00, 0x41,
- 0x00, 0xBA, 0x00, 0x0A,
- 0x00, 0x9F, 0xC0, 0x9F, 0xCC, 0xAA, 0xC0, 0x7D, 0x00, 0x39, 0x00, 0x6B,
- 0x00, 0x88, 0x00, 0xC4,
+ 0x00, 0x84, 0x00, 0xC0, 0x00, 0x9C, 0xC0, 0x9C, 0xC0, 0x7A, 0x00, 0x2F,
+ 0x00, 0x3C, 0x00, 0x41, 0x00, 0xBA, 0x00, 0x0A, 0x00, 0x9F, 0xC0, 0x9F,
+ 0xCC, 0xAA, 0xC0, 0x7D, 0x00, 0x39, 0x00, 0x6B, 0x00, 0x88, 0x00, 0xC4,
0x00, 0x9E, 0xC0, 0x9E, 0xC0, 0x7C, 0x00, 0x33, 0x00, 0x67, 0x00, 0x45,
- 0x00, 0xBE, 0x00, 0x16,
- 0x00, 0xA3, 0xC0, 0x81, 0x00, 0x38, 0x00, 0x6A, 0x00, 0x87, 0x00, 0xC3,
- 0x00, 0xA2, 0xC0, 0x80,
- 0x00, 0x32, 0x00, 0x40, 0x00, 0x44, 0x00, 0xBD, 0x00, 0x13, 0x00, 0xA9,
- 0xC0, 0xA5, 0xCC, 0xAB,
+ 0x00, 0xBE, 0x00, 0x16, 0x00, 0xA3, 0xC0, 0x81, 0x00, 0x38, 0x00, 0x6A,
+ 0x00, 0x87, 0x00, 0xC3, 0x00, 0xA2, 0xC0, 0x80, 0x00, 0x32, 0x00, 0x40,
+ 0x00, 0x44, 0x00, 0xBD, 0x00, 0x13, 0x00, 0xA9, 0xC0, 0xA5, 0xCC, 0xAB,
0xC0, 0x8F, 0x00, 0x8D, 0x00, 0xAF, 0xC0, 0x95, 0x00, 0xA8, 0xC0, 0xA4,
- 0xC0, 0x8E, 0x00, 0x8C,
- 0x00, 0xAE, 0xC0, 0x94, 0x00, 0x8B, 0x00, 0xAB, 0xC0, 0xA7, 0xCC, 0xAD,
- 0xC0, 0x91, 0x00, 0x91,
- 0x00, 0xB3, 0xC0, 0x97, 0x00, 0xAA, 0xC0, 0xA6, 0xC0, 0x90, 0x00, 0x90,
- 0x00, 0xB2, 0xC0, 0x96,
+ 0xC0, 0x8E, 0x00, 0x8C, 0x00, 0xAE, 0xC0, 0x94, 0x00, 0x8B, 0x00, 0xAB,
+ 0xC0, 0xA7, 0xCC, 0xAD, 0xC0, 0x91, 0x00, 0x91, 0x00, 0xB3, 0xC0, 0x97,
+ 0x00, 0xAA, 0xC0, 0xA6, 0xC0, 0x90, 0x00, 0x90, 0x00, 0xB2, 0xC0, 0x96,
0x00, 0x8F, 0xCC, 0xAC, 0xC0, 0x36, 0xC0, 0x38, 0xC0, 0x9B, 0xC0, 0x35,
- 0xC0, 0x37, 0xC0, 0x9A,
- 0xC0, 0x34, 0x01, 0x00, 0x00, 0x5D, 0x00, 0x17, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x00, 0x00, 0x05,
- 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00,
- 0x11, 0x00, 0x00, 0x0E,
+ 0xC0, 0x37, 0xC0, 0x9A, 0xC0, 0x34, 0x01, 0x00, 0x00, 0x5D, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x11, 0x00, 0x00, 0x0E,
0x77, 0x77, 0x77, 0x2E, 0x67, 0x6F, 0x6F, 0x67, 0x6C, 0x65, 0x2E, 0x63,
- 0x6F, 0x6D, 0xFF, 0x01,
- 0x00, 0x01, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x08, 0x00,
- 0x06, 0x00, 0x17, 0x00,
- 0x18, 0x00, 0x19, 0x00, 0x0B, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0D, 0x00,
- 0x16, 0x00, 0x14, 0x01,
+ 0x6F, 0x6D, 0xFF, 0x01, 0x00, 0x01, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+ 0x0A, 0x00, 0x08, 0x00, 0x06, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00,
+ 0x0B, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0D, 0x00, 0x16, 0x00, 0x14, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
};
static void client(int sd)
@@ -186,8 +171,9 @@ static void server(int sd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:-RSA", NULL) >= 0);
+ assert(gnutls_priority_set_direct(session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-RSA",
+ NULL) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -250,4 +236,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/server_ecdsa_key.c b/tests/server_ecdsa_key.c
index 633135ceeb..30b1057e8f 100644
--- a/tests/server_ecdsa_key.c
+++ b/tests/server_ecdsa_key.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,10 +28,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -67,26 +67,22 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&cli_cred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(cli_cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(cli_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
/* test gnutls_certificate_flags() */
gnutls_certificate_allocate_credentials(&serv_cred);
- ret =
- gnutls_certificate_set_x509_trust_mem(serv_cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(serv_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_key_mem(serv_cred,
- &server_ca3_localhost_ecc_cert,
- &server_ca3_ecc_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serv_cred, &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
@@ -95,9 +91,10 @@ void doit(void)
test_cli_serv_expect(serv_cred, cli_cred, "NORMAL",
"NORMAL:-VERS-TLS1.1:+VERS-TLS1.2:-SIGN-ALL", NULL,
0, 0);
- test_cli_serv_expect(serv_cred, cli_cred, "NORMAL",
- "NORMAL:-SIGN-ECDSA-SHA224:-SIGN-ECDSA-SHA1:-SIGN-ECDSA-SHA256:-SIGN-ECDSA-SHA384:-SIGN-ECDSA-SHA512:-SIGN-ECDSA-SECP256R1-SHA256:-SIGN-ECDSA-SECP384R1-SHA384:-SIGN-ECDSA-SECP521R1-SHA512",
- NULL, GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN);
+ test_cli_serv_expect(
+ serv_cred, cli_cred, "NORMAL",
+ "NORMAL:-SIGN-ECDSA-SHA224:-SIGN-ECDSA-SHA1:-SIGN-ECDSA-SHA256:-SIGN-ECDSA-SHA384:-SIGN-ECDSA-SHA512:-SIGN-ECDSA-SECP256R1-SHA256:-SIGN-ECDSA-SECP384R1-SHA384:-SIGN-ECDSA-SECP521R1-SHA512",
+ NULL, GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN);
gnutls_certificate_free_credentials(serv_cred);
gnutls_certificate_free_credentials(cli_cred);
diff --git a/tests/session-export-funcs.c b/tests/session-export-funcs.c
index 3a81b008cd..34b3c5ccaa 100644
--- a/tests/session-export-funcs.c
+++ b/tests/session-export-funcs.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,8 +44,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int ret;
/* Server stuff. */
@@ -74,9 +73,8 @@ void start(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -94,9 +92,8 @@ void start(const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -168,8 +165,8 @@ void start(const char *prio)
fail("error in client's master secret\n");
}
- if (v1.size != v2.size
- || memcmp(v1.data, v2.data, v1.size) != 0) {
+ if (v1.size != v2.size ||
+ memcmp(v1.data, v2.data, v1.size) != 0) {
fail("master secret don't match!\n");
}
}
diff --git a/tests/session-rdn-read.c b/tests/session-rdn-read.c
index 4c97769911..62e408a530 100644
--- a/tests/session-rdn-read.c
+++ b/tests/session-rdn-read.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -52,12 +52,11 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
unsigned i;
@@ -108,14 +107,14 @@ static void start(const char *prio)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- assert(gnutls_certificate_set_x509_key_mem
- (serverx509cred, &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (serverx509cred, CA1_PTR, GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (serverx509cred, CA2_PTR, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(serverx509cred, CA1_PTR,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(serverx509cred, CA2_PTR,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -131,9 +130,8 @@ static void start(const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -170,7 +168,7 @@ static void start(const char *prio)
reset_buffers();
}
-static void find_dn(const gnutls_datum_t * cert, gnutls_datum_t * dn)
+static void find_dn(const gnutls_datum_t *cert, gnutls_datum_t *dn)
{
gnutls_x509_crt_t crt;
diff --git a/tests/session-tickets-missing.c b/tests/session-tickets-missing.c
index 0caca7528d..7bba7e3e7a 100644
--- a/tests/session-tickets-missing.c
+++ b/tests/session-tickets-missing.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,21 +36,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <time.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <time.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program tests that handshakes do not include a session ticket
* if the flag GNUTLS_NO_TICKETS is specified under TLS 1.2.
@@ -59,7 +59,7 @@ int main(void)
* result in a ticket being sent.
*/
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1464610242;
if (t)
@@ -82,7 +82,7 @@ static int sent = 0;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
if (htype != GNUTLS_HANDSHAKE_NEW_SESSION_TICKET)
return 0;
@@ -91,7 +91,7 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio, unsigned int flags)
{
@@ -128,8 +128,7 @@ static void client(int fd, const char *prio, unsigned int flags)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -146,12 +145,12 @@ static void client(int fd, const char *prio, unsigned int flags)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -226,8 +225,8 @@ static void server(int fd, const char *prio, unsigned int flags)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (sent != 0) {
fail("new session ticket was sent\n");
@@ -238,7 +237,7 @@ static void server(int fd, const char *prio, unsigned int flags)
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
gnutls_free(skey.data);
@@ -256,9 +255,8 @@ static void ch_handler(int sig)
return;
}
-static
-void start2(const char *prio, const char *sprio, unsigned int flags,
- unsigned int sflags)
+static void start2(const char *prio, const char *sprio, unsigned int flags,
+ unsigned int sflags)
{
int fd[2];
int ret, status = 0;
@@ -297,8 +295,7 @@ void start2(const char *prio, const char *sprio, unsigned int flags,
return;
}
-static
-void start(const char *prio, unsigned int flags)
+static void start(const char *prio, unsigned int flags)
{
start2(prio, prio, GNUTLS_NO_TICKETS, flags);
}
@@ -315,4 +312,4 @@ void doit(void)
start("NORMAL", GNUTLS_NO_TICKETS);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/session-tickets-ok.c b/tests/session-tickets-ok.c
index 4c1709411d..75cb2c1b99 100644
--- a/tests/session-tickets-ok.c
+++ b/tests/session-tickets-ok.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -69,7 +69,7 @@ static int sent = 0;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
if (htype != GNUTLS_HANDSHAKE_NEW_SESSION_TICKET)
return 0;
@@ -80,7 +80,7 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -107,8 +107,7 @@ static void client(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -120,8 +119,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -200,8 +199,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (sent == 0) {
fail("client: didn't send new sessiont ticket\n");
@@ -212,7 +211,7 @@ static void server(int fd, const char *prio)
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
gnutls_free(skey.data);
@@ -230,8 +229,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int fd[2];
int ret, status = 0;
@@ -276,4 +274,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/set-default-prio.c b/tests/set-default-prio.c
index 06c8a9ad2a..a8586b4f7f 100644
--- a/tests/set-default-prio.c
+++ b/tests/set-default-prio.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -82,8 +82,8 @@ static void start(struct test_st *test)
gnutls_global_set_log_level(6);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -93,17 +93,18 @@ static void start(struct test_st *test)
if (ret < 0)
fail("error: %s\n", gnutls_strerror(ret));
} else {
- ret =
- gnutls_set_default_priority_append(server, test->add_prio,
- &ep, 0);
+ ret = gnutls_set_default_priority_append(server, test->add_prio,
+ &ep, 0);
if (ret < 0) {
if (test->exp_err == ret) {
/* the &ep value is only accurate when the default priorities are not overridden;
* otherwise it should be a pointer to the start of the string */
- if (strchr(_gnutls_default_priority_string, '@')
- != 0) {
+ if (strchr(_gnutls_default_priority_string,
+ '@') != 0) {
if (ep != test->add_prio) {
- fail("error expected error on start of string[%d]: %s\n", test->err_pos, test->add_prio);
+ fail("error expected error on start of string[%d]: %s\n",
+ test->err_pos,
+ test->add_prio);
}
} else {
if (ep - test->add_prio !=
@@ -111,7 +112,9 @@ static void start(struct test_st *test)
fprintf(stderr, "diff: %d\n",
(int)(ep -
test->add_prio));
- fail("error expected error on different position[%d]: %s\n", test->err_pos, test->add_prio);
+ fail("error expected error on different position[%d]: %s\n",
+ test->err_pos,
+ test->add_prio);
}
}
goto cleanup;
@@ -129,9 +132,8 @@ static void start(struct test_st *test)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -169,8 +171,8 @@ static void start(struct test_st *test)
if (test->exp_vers != gnutls_protocol_get_version(server)) {
fail("expected version %s, got %s\n",
gnutls_protocol_get_name(test->exp_vers),
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(server)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(server)));
}
}
@@ -247,7 +249,7 @@ static void start(struct test_st *test)
gnutls_deinit(client);
gnutls_certificate_free_credentials(clientx509cred);
- cleanup:
+cleanup:
gnutls_deinit(server);
gnutls_certificate_free_credentials(serverx509cred);
@@ -257,42 +259,36 @@ static void start(struct test_st *test)
}
struct test_st tests[] = {
- {
- .name = "additional flag",
- .def_prio = "NORMAL",
- .add_prio = "%FORCE_ETM",
- .exp_err = 0},
- {
- .name = "additional flag typo1",
- .def_prio = "NORMAL",
- .add_prio = ":%FORCE_ETM",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 0},
- {
- .name = "additional flag typo2",
- .def_prio = "NORMAL",
- .add_prio = "%FORCE_ETM::%NO_TICKETS",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 11},
- {
- .name = "additional flag typo3",
- .def_prio = "NORMAL",
- .add_prio = "%FORCE_ETM:%%NO_TICKETS",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 11},
- {
- .name = "additional flag typo3 (with resolved def prio)",
- .def_prio = "@HELLO",
- .add_prio = "%FORCE_ETM:%%NO_TICKETS",
- .exp_err = GNUTLS_E_INVALID_REQUEST,
- .err_pos = 0},
- {
- .name = "additional flag for version (functional)",
- .def_prio = "NORMAL",
- .add_prio = "-VERS-ALL:+VERS-TLS1.1",
- .exp_err = 0,
- .exp_etm = 1,
- .exp_vers = GNUTLS_TLS1_1}
+ { .name = "additional flag",
+ .def_prio = "NORMAL",
+ .add_prio = "%FORCE_ETM",
+ .exp_err = 0 },
+ { .name = "additional flag typo1",
+ .def_prio = "NORMAL",
+ .add_prio = ":%FORCE_ETM",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 0 },
+ { .name = "additional flag typo2",
+ .def_prio = "NORMAL",
+ .add_prio = "%FORCE_ETM::%NO_TICKETS",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 11 },
+ { .name = "additional flag typo3",
+ .def_prio = "NORMAL",
+ .add_prio = "%FORCE_ETM:%%NO_TICKETS",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 11 },
+ { .name = "additional flag typo3 (with resolved def prio)",
+ .def_prio = "@HELLO",
+ .add_prio = "%FORCE_ETM:%%NO_TICKETS",
+ .exp_err = GNUTLS_E_INVALID_REQUEST,
+ .err_pos = 0 },
+ { .name = "additional flag for version (functional)",
+ .def_prio = "NORMAL",
+ .add_prio = "-VERS-ALL:+VERS-TLS1.1",
+ .exp_err = 0,
+ .exp_etm = 1,
+ .exp_vers = GNUTLS_TLS1_1 }
};
void doit(void)
diff --git a/tests/set_key.c b/tests/set_key.c
index 0ef21bde03..c2da806615 100644
--- a/tests/set_key.c
+++ b/tests/set_key.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -54,7 +54,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1473673819;
if (t)
@@ -64,8 +64,8 @@ static time_t mytime(time_t * t)
}
static unsigned import_key(gnutls_certificate_credentials_t xcred,
- const gnutls_datum_t * skey,
- const gnutls_datum_t * cert)
+ const gnutls_datum_t *skey,
+ const gnutls_datum_t *cert)
{
gnutls_pcert_st pcert_list[16];
gnutls_privkey_t key;
@@ -84,9 +84,8 @@ static unsigned import_key(gnutls_certificate_credentials_t xcred,
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(key, skey, GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(key, skey, GNUTLS_X509_FMT_PEM,
+ NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
@@ -111,9 +110,9 @@ static unsigned import_key(gnutls_certificate_credentials_t xcred,
exit(1);
}
- if (tcert.size != pcert_list[i].cert.size
- || memcmp(tcert.data, pcert_list[i].cert.data,
- tcert.size) != 0) {
+ if (tcert.size != pcert_list[i].cert.size ||
+ memcmp(tcert.data, pcert_list[i].cert.data, tcert.size) !=
+ 0) {
fail("error in %d: cert %d: %s\n", __LINE__, i,
"ca cert don't match");
exit(1);
@@ -145,9 +144,8 @@ static void basic(void)
gnutls_certificate_set_flags(x509_cred, GNUTLS_CERTIFICATE_API_V2);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
@@ -202,9 +200,8 @@ static void failure_mode(void)
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ecc_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ecc_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
@@ -219,7 +216,7 @@ static void failure_mode(void)
fail("gnutls_certificate_set_key succeeded unexpectedly\n");
- cleanup:
+cleanup:
for (i = 0; i < pcert_list_size; i++) {
gnutls_pcert_deinit(&pcert_list[i]);
}
@@ -257,24 +254,22 @@ static void auto_parse(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
pcert_list_size = sizeof(pcert_list) / sizeof(pcert_list[0]);
- ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &server_ca3_localhost_cert_chain,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_list_import_x509_raw(
+ pcert_list, &pcert_list_size, &server_ca3_localhost_cert_chain,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_pcert_list_import_x509_raw: %s\n",
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
@@ -291,32 +286,34 @@ static void auto_parse(void)
assert(gnutls_privkey_init(&second_key) >= 0);
pcert_list_size = 2;
- ret = gnutls_pcert_list_import_x509_raw(second_pcert, &pcert_list_size,
- &server_ca3_localhost6_cert_chain,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_list_import_x509_raw(
+ second_pcert, &pcert_list_size,
+ &server_ca3_localhost6_cert_chain, GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_pcert_list_import_x509_raw: %s\n",
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(second_key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(second_key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
- ret = gnutls_certificate_set_key(x509_cred, NULL, 0, second_pcert,
- 2, second_key);
+ ret = gnutls_certificate_set_key(x509_cred, NULL, 0, second_pcert, 2,
+ second_key);
if (ret < 0) {
fail("error in gnutls_certificate_set_key: %s\n",
gnutls_strerror(ret));
exit(1);
}
- test_cli_serv(x509_cred, clicred, "NORMAL", "localhost", NULL, NULL, NULL); /* the DNS name of the first cert */
- test_cli_serv(x509_cred, clicred, "NORMAL", "localhost6", NULL, NULL, NULL); /* the DNS name of ECC cert */
- test_cli_serv(x509_cred, clicred, "NORMAL", "www.none.org", NULL, NULL, NULL); /* the DNS name of ECC cert */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "localhost", NULL, NULL,
+ NULL); /* the DNS name of the first cert */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "localhost6", NULL, NULL,
+ NULL); /* the DNS name of ECC cert */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "www.none.org", NULL, NULL,
+ NULL); /* the DNS name of ECC cert */
gnutls_certificate_free_credentials(x509_cred);
gnutls_certificate_free_credentials(clicred);
diff --git a/tests/set_key_utf8.c b/tests/set_key_utf8.c
index 5717f77816..3e7c6ccbb3 100644
--- a/tests/set_key_utf8.c
+++ b/tests/set_key_utf8.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -54,7 +54,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1473674242;
if (t)
@@ -88,24 +88,22 @@ static void auto_parse(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
pcert_list_size = sizeof(pcert_list) / sizeof(pcert_list[0]);
- ret = gnutls_pcert_list_import_x509_raw(pcert_list, &pcert_list_size,
- &server_ca3_localhost_cert_chain,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pcert_list_import_x509_raw(
+ pcert_list, &pcert_list_size, &server_ca3_localhost_cert_chain,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_pcert_list_import_x509_raw: %s\n",
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
@@ -130,24 +128,27 @@ static void auto_parse(void)
gnutls_strerror(ret));
}
- ret =
- gnutls_privkey_import_x509_raw(second_key, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(second_key, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
fail("error in key import: %s\n", gnutls_strerror(ret));
}
- ret = gnutls_certificate_set_key(x509_cred, NULL, 0, second_pcert,
- 1, second_key);
+ ret = gnutls_certificate_set_key(x509_cred, NULL, 0, second_pcert, 1,
+ second_key);
if (ret < 0) {
fail("error in gnutls_certificate_set_key: %s\n",
gnutls_strerror(ret));
exit(1);
}
- test_cli_serv(x509_cred, clicred, "NORMAL", "localhost", NULL, NULL, NULL); /* the DNS name of the first cert */
- test_cli_serv(x509_cred, clicred, "NORMAL", "简体中文.εξτρα.com", NULL, NULL, NULL); /* the second DNS name of cert */
- test_cli_serv(x509_cred, clicred, "NORMAL", "xn--fiqu1az03c18t.xn--mxah1amo.com", NULL, NULL, NULL); /* its IDNA equivalent */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "localhost", NULL, NULL,
+ NULL); /* the DNS name of the first cert */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "简体中文.εξτρα.com", NULL,
+ NULL, NULL); /* the second DNS name of cert */
+ test_cli_serv(x509_cred, clicred, "NORMAL",
+ "xn--fiqu1az03c18t.xn--mxah1amo.com", NULL, NULL,
+ NULL); /* its IDNA equivalent */
/* the raw DNS should result to verification failure as the advertized name should
* not be considered and the first cert should be provided */
diff --git a/tests/set_known_dh_params_anon.c b/tests/set_known_dh_params_anon.c
index 843e198105..03145239f6 100644
--- a/tests/set_known_dh_params_anon.c
+++ b/tests/set_known_dh_params_anon.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -68,25 +68,25 @@ void doit(void)
assert(gnutls_anon_allocate_client_credentials(&clicred) >= 0);
assert(gnutls_anon_allocate_server_credentials(&servcred) >= 0);
- assert(gnutls_anon_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_LEGACY) >= 0);
- assert(test_cli_serv_anon(servcred, clicred, "NORMAL:-KX-ALL:+ANON-DH")
- >= 0);
-
- assert(gnutls_anon_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_NORMAL) >= 0);
- assert(test_cli_serv_anon(servcred, clicred, "NORMAL:-KX-ALL:+ANON-DH")
- >= 0);
-
- assert(gnutls_anon_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_HIGH) >= 0);
- assert(test_cli_serv_anon(servcred, clicred, "NORMAL:-KX-ALL:+ANON-DH")
- >= 0);
-
- assert(gnutls_anon_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_ULTRA) >= 0);
- assert(test_cli_serv_anon(servcred, clicred, "NORMAL:-KX-ALL:+ANON-DH")
- >= 0);
+ assert(gnutls_anon_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_LEGACY) >= 0);
+ assert(test_cli_serv_anon(servcred, clicred,
+ "NORMAL:-KX-ALL:+ANON-DH") >= 0);
+
+ assert(gnutls_anon_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_NORMAL) >= 0);
+ assert(test_cli_serv_anon(servcred, clicred,
+ "NORMAL:-KX-ALL:+ANON-DH") >= 0);
+
+ assert(gnutls_anon_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_HIGH) >= 0);
+ assert(test_cli_serv_anon(servcred, clicred,
+ "NORMAL:-KX-ALL:+ANON-DH") >= 0);
+
+ assert(gnutls_anon_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_ULTRA) >= 0);
+ assert(test_cli_serv_anon(servcred, clicred,
+ "NORMAL:-KX-ALL:+ANON-DH") >= 0);
gnutls_anon_free_server_credentials(servcred);
gnutls_anon_free_client_credentials(clicred);
diff --git a/tests/set_known_dh_params_psk.c b/tests/set_known_dh_params_psk.c
index 92b12e5603..dc5661a9d8 100644
--- a/tests/set_known_dh_params_psk.c
+++ b/tests/set_known_dh_params_psk.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -52,8 +52,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk callback to get %s's password\n", username);
@@ -88,25 +88,25 @@ void doit(void)
assert(gnutls_psk_set_client_credentials(clicred, "test", &key,
GNUTLS_PSK_KEY_HEX) >= 0);
- assert(gnutls_psk_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_LEGACY) >= 0);
- assert(test_cli_serv_psk(servcred, clicred, "NORMAL:-KX-ALL:+DHE-PSK")
- >= 0);
-
- assert(gnutls_psk_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_NORMAL) >= 0);
- assert(test_cli_serv_psk(servcred, clicred, "NORMAL:-KX-ALL:+DHE-PSK")
- >= 0);
-
- assert(gnutls_psk_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_HIGH) >= 0);
- assert(test_cli_serv_psk(servcred, clicred, "NORMAL:-KX-ALL:+DHE-PSK")
- >= 0);
-
- assert(gnutls_psk_set_server_known_dh_params
- (servcred, GNUTLS_SEC_PARAM_ULTRA) >= 0);
- assert(test_cli_serv_psk(servcred, clicred, "NORMAL:-KX-ALL:+DHE-PSK")
- >= 0);
+ assert(gnutls_psk_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_LEGACY) >= 0);
+ assert(test_cli_serv_psk(servcred, clicred,
+ "NORMAL:-KX-ALL:+DHE-PSK") >= 0);
+
+ assert(gnutls_psk_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_NORMAL) >= 0);
+ assert(test_cli_serv_psk(servcred, clicred,
+ "NORMAL:-KX-ALL:+DHE-PSK") >= 0);
+
+ assert(gnutls_psk_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_HIGH) >= 0);
+ assert(test_cli_serv_psk(servcred, clicred,
+ "NORMAL:-KX-ALL:+DHE-PSK") >= 0);
+
+ assert(gnutls_psk_set_server_known_dh_params(
+ servcred, GNUTLS_SEC_PARAM_ULTRA) >= 0);
+ assert(test_cli_serv_psk(servcred, clicred,
+ "NORMAL:-KX-ALL:+DHE-PSK") >= 0);
gnutls_psk_free_server_credentials(servcred);
gnutls_psk_free_client_credentials(clicred);
diff --git a/tests/set_known_dh_params_x509.c b/tests/set_known_dh_params_x509.c
index d94ad5d2fc..bed6609010 100644
--- a/tests/set_known_dh_params_x509.c
+++ b/tests/set_known_dh_params_x509.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -69,39 +69,36 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_key_mem(x509_cred,
- &server_ca3_localhost_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
}
- assert(gnutls_certificate_set_known_dh_params
- (x509_cred, GNUTLS_SEC_PARAM_LEGACY) >= 0);
+ assert(gnutls_certificate_set_known_dh_params(
+ x509_cred, GNUTLS_SEC_PARAM_LEGACY) >= 0);
test_cli_serv(x509_cred, clicred, "NORMAL:-KX-ALL:+DHE-RSA",
"localhost", NULL, NULL, NULL);
- assert(gnutls_certificate_set_known_dh_params
- (x509_cred, GNUTLS_SEC_PARAM_NORMAL) >= 0);
+ assert(gnutls_certificate_set_known_dh_params(
+ x509_cred, GNUTLS_SEC_PARAM_NORMAL) >= 0);
test_cli_serv(x509_cred, clicred, "NORMAL:-KX-ALL:+DHE-RSA",
"localhost", NULL, NULL, NULL);
- assert(gnutls_certificate_set_known_dh_params
- (x509_cred, GNUTLS_SEC_PARAM_HIGH) >= 0);
+ assert(gnutls_certificate_set_known_dh_params(
+ x509_cred, GNUTLS_SEC_PARAM_HIGH) >= 0);
test_cli_serv(x509_cred, clicred, "NORMAL:-KX-ALL:+DHE-RSA",
"localhost", NULL, NULL, NULL);
- assert(gnutls_certificate_set_known_dh_params
- (x509_cred, GNUTLS_SEC_PARAM_ULTRA) >= 0);
+ assert(gnutls_certificate_set_known_dh_params(
+ x509_cred, GNUTLS_SEC_PARAM_ULTRA) >= 0);
test_cli_serv(x509_cred, clicred, "NORMAL:-KX-ALL:+DHE-RSA",
"localhost", NULL, NULL, NULL);
diff --git a/tests/set_pkcs12_cred.c b/tests/set_pkcs12_cred.c
index f68daf4dd5..06082e3d65 100644
--- a/tests/set_pkcs12_cred.c
+++ b/tests/set_pkcs12_cred.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdlib.h>
@@ -38,12 +38,10 @@ typedef struct {
const char *pass;
} files_st;
-files_st files[] = {
- {"client.p12", "foobar"},
- {"cert-ca.p12", "1234"}, /* 2 certs, one is a CA */
- {"pkcs12_2certs.p12", ""}, /* 2 certs, on is unrelated */
- {NULL, NULL}
-};
+files_st files[] = { { "client.p12", "foobar" },
+ { "cert-ca.p12", "1234" }, /* 2 certs, one is a CA */
+ { "pkcs12_2certs.p12", "" }, /* 2 certs, on is unrelated */
+ { NULL, NULL } };
void doit(void)
{
@@ -66,10 +64,10 @@ void doit(void)
gnutls_global_set_log_level(4711);
for (i = 0; files[i].file != NULL; i++) {
-
ret = gnutls_certificate_allocate_credentials(&x509cred);
if (ret < 0)
- fail("gnutls_certificate_allocate_credentials failed %d\n", ret);
+ fail("gnutls_certificate_allocate_credentials failed %d\n",
+ ret);
path = getenv("PKCS12PATH");
if (!path)
@@ -78,15 +76,10 @@ void doit(void)
snprintf(file, sizeof(file), "%s/%s", path, files[i].file);
if (debug)
- success
- ("Reading PKCS#12 blob from `%s' using password `%s'.\n",
- file, files[i].pass);
- ret =
- gnutls_certificate_set_x509_simple_pkcs12_file(x509cred,
- file,
- GNUTLS_X509_FMT_DER,
- files
- [i].pass);
+ success("Reading PKCS#12 blob from `%s' using password `%s'.\n",
+ file, files[i].pass);
+ ret = gnutls_certificate_set_x509_simple_pkcs12_file(
+ x509cred, file, GNUTLS_X509_FMT_DER, files[i].pass);
if (ret < 0)
fail("x509_pkcs12 failed %d: %s\n", ret,
gnutls_strerror(ret));
diff --git a/tests/set_x509_key.c b/tests/set_x509_key.c
index 129ce2fdd5..698acc2126 100644
--- a/tests/set_x509_key.c
+++ b/tests/set_x509_key.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -44,7 +44,7 @@
#include "cert-common.h"
#include "utils.h"
-#define MIN(x,y) (((x)<(y))?(x):(y))
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
/* Test for gnutls_certificate_set_x509_key()
*
@@ -55,7 +55,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
if (t)
@@ -64,7 +64,7 @@ static time_t mytime(time_t * t)
return then;
}
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -75,8 +75,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -85,7 +85,7 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
}
static int import_key(gnutls_certificate_credentials_t xcred,
- const gnutls_datum_t * skey, const gnutls_datum_t * cert)
+ const gnutls_datum_t *skey, const gnutls_datum_t *cert)
{
gnutls_x509_privkey_t key;
gnutls_x509_crt_t *crt_list;
@@ -95,9 +95,8 @@ static int import_key(gnutls_certificate_credentials_t xcred,
assert(gnutls_x509_privkey_init(&key) >= 0);
- ret =
- gnutls_x509_crt_list_import2(&crt_list, &crt_list_size, cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crt_list, &crt_list_size, cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
@@ -108,8 +107,8 @@ static int import_key(gnutls_certificate_credentials_t xcred,
fail("error in key import: %s\n", gnutls_strerror(ret));
}
- ret = gnutls_certificate_set_x509_key(xcred, crt_list,
- crt_list_size, key);
+ ret = gnutls_certificate_set_x509_key(xcred, crt_list, crt_list_size,
+ key);
if (ret < 0) {
success("error in gnutls_certificate_set_x509_key: %s\n",
gnutls_strerror(ret));
@@ -132,7 +131,7 @@ static int import_key(gnutls_certificate_credentials_t xcred,
compare(&tcert, cert->data + i);
}
- cleanup:
+cleanup:
gnutls_x509_privkey_deinit(key);
for (i = 0; i < crt_list_size; i++) {
gnutls_x509_crt_deinit(crt_list[i]);
@@ -164,9 +163,8 @@ static void basic(void)
gnutls_certificate_set_flags(x509_cred, GNUTLS_CERTIFICATE_API_V2);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
diff --git a/tests/set_x509_key_file-late.c b/tests/set_x509_key_file-late.c
index bb7e5374e6..8609cd079d 100644
--- a/tests/set_x509_key_file-late.c
+++ b/tests/set_x509_key_file-late.c
@@ -25,7 +25,7 @@
* is called */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,8 +40,7 @@
#include "utils.h"
static unsigned set_cert(gnutls_certificate_credentials_t xcred,
- const gnutls_datum_t * key,
- const gnutls_datum_t * cert)
+ const gnutls_datum_t *key, const gnutls_datum_t *cert)
{
const char *certfile;
FILE *fp;
@@ -56,9 +55,8 @@ static unsigned set_cert(gnutls_certificate_credentials_t xcred,
assert(fwrite(key->data, 1, key->size, fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, certfile,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, certfile, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -66,10 +64,9 @@ static unsigned set_cert(gnutls_certificate_credentials_t xcred,
return ret;
}
-static
-int handshake_hook_func(gnutls_session_t session, unsigned int htype,
- unsigned when, unsigned int incoming,
- const gnutls_datum_t * msg)
+static int handshake_hook_func(gnutls_session_t session, unsigned int htype,
+ unsigned when, unsigned int incoming,
+ const gnutls_datum_t *msg)
{
gnutls_certificate_credentials_t xcred;
int idx;
@@ -79,8 +76,8 @@ int handshake_hook_func(gnutls_session_t session, unsigned int htype,
assert(gnutls_certificate_allocate_credentials(&xcred) >= 0);
gnutls_certificate_set_flags(xcred, GNUTLS_CERTIFICATE_API_V2);
- idx =
- set_cert(xcred, &server_ca3_key, &server_ca3_localhost6_cert_chain);
+ idx = set_cert(xcred, &server_ca3_key,
+ &server_ca3_localhost6_cert_chain);
assert(idx == 0);
idx = set_cert(xcred, &server_ca3_key, &server_ca3_localhost_cert);
@@ -102,9 +99,8 @@ static void start(const char *prio)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &subca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &subca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
@@ -134,8 +130,8 @@ static void start(const char *prio)
HANDSHAKE(client, server);
- assert(gnutls_credentials_get
- (server, GNUTLS_CRD_CERTIFICATE, (void *)&xcred) >= 0);
+ assert(gnutls_credentials_get(server, GNUTLS_CRD_CERTIFICATE,
+ (void *)&xcred) >= 0);
gnutls_deinit(client);
gnutls_deinit(server);
diff --git a/tests/set_x509_key_file.c b/tests/set_x509_key_file.c
index 044149d11b..2cc4100b51 100644
--- a/tests/set_x509_key_file.c
+++ b/tests/set_x509_key_file.c
@@ -24,7 +24,7 @@
* when the GNUTLS_CERTIFICATE_API_V2 is set */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,7 +36,7 @@
#include "cert-common.h"
#include "utils.h"
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1470002400;
if (t)
@@ -45,7 +45,7 @@ static time_t mytime(time_t * t)
return then;
}
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -56,8 +56,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -66,8 +66,7 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
}
static unsigned set_cert(gnutls_certificate_credentials_t xcred,
- const gnutls_datum_t * key,
- const gnutls_datum_t * cert)
+ const gnutls_datum_t *key, const gnutls_datum_t *cert)
{
const char *certfile;
FILE *fp;
@@ -82,9 +81,8 @@ static unsigned set_cert(gnutls_certificate_credentials_t xcred,
assert(fwrite(key->data, 1, key->size, fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, certfile,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, certfile, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -93,7 +91,7 @@ static unsigned set_cert(gnutls_certificate_credentials_t xcred,
}
static void verify_written_cert(gnutls_certificate_credentials_t xcred,
- unsigned idx, const gnutls_datum_t * cert,
+ unsigned idx, const gnutls_datum_t *cert,
unsigned ncerts)
{
int ret;
@@ -135,9 +133,8 @@ void doit(void)
track_temp_files();
/* this will fail */
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, keyfile,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, keyfile, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret != GNUTLS_E_FILE_ERROR)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -148,16 +145,15 @@ void doit(void)
gnutls_certificate_set_flags(xcred, GNUTLS_CERTIFICATE_API_V2);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &subca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &subca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
success("Testing store of certificates\n");
- idx =
- set_cert(xcred, &server_ca3_key, &server_ca3_localhost6_cert_chain);
+ idx = set_cert(xcred, &server_ca3_key,
+ &server_ca3_localhost6_cert_chain);
verify_written_cert(xcred, idx, &server_ca3_localhost6_cert_chain, 2);
assert(idx == 0);
@@ -169,7 +165,8 @@ void doit(void)
success("Tested store of %d\n", idx);
- test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL, NULL); /* the DNS name of the first cert */
+ test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL,
+ NULL); /* the DNS name of the first cert */
idx = set_cert(xcred, &server_key, &server_cert);
verify_written_cert(xcred, idx, &server_cert, 2);
diff --git a/tests/set_x509_key_file_der.c b/tests/set_x509_key_file_der.c
index 32dfaede97..53dc30ced8 100644
--- a/tests/set_x509_key_file_der.c
+++ b/tests/set_x509_key_file_der.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,7 +33,7 @@
#include "cert-common.h"
#include "utils.h"
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -44,8 +44,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -91,9 +91,8 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
@@ -103,9 +102,8 @@ void doit(void)
write_der(certfile, "CERTIFICATE", (char *)server2_cert_pem);
write_der(keyfile, "RSA PRIVATE KEY", (char *)server2_key_pem);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, keyfile,
- GNUTLS_X509_FMT_DER, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, keyfile, GNUTLS_X509_FMT_DER, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -121,7 +119,8 @@ void doit(void)
remove(certfile);
remove(keyfile);
- test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL, NULL); /* the DNS name of the first cert */
+ test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL,
+ NULL); /* the DNS name of the first cert */
gnutls_certificate_free_credentials(xcred);
gnutls_certificate_free_credentials(clicred);
diff --git a/tests/set_x509_key_file_legacy.c b/tests/set_x509_key_file_legacy.c
index 84f6fda85c..5a1ce0ce31 100644
--- a/tests/set_x509_key_file_legacy.c
+++ b/tests/set_x509_key_file_legacy.c
@@ -24,7 +24,7 @@
* when the GNUTLS_CERTIFICATE_API_V2 is not set */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,7 +36,7 @@
#include "cert-common.h"
#include "utils.h"
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1470002400;
if (t)
@@ -45,7 +45,7 @@ static time_t mytime(time_t * t)
return then;
}
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -56,8 +56,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -66,8 +66,7 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
}
static unsigned set_cert(gnutls_certificate_credentials_t xcred,
- const gnutls_datum_t * key,
- const gnutls_datum_t * cert)
+ const gnutls_datum_t *key, const gnutls_datum_t *cert)
{
const char *certfile;
FILE *fp;
@@ -82,9 +81,8 @@ static unsigned set_cert(gnutls_certificate_credentials_t xcred,
assert(fwrite(key->data, 1, key->size, fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, certfile,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, certfile, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -93,7 +91,7 @@ static unsigned set_cert(gnutls_certificate_credentials_t xcred,
}
static void verify_written_cert(gnutls_certificate_credentials_t xcred,
- unsigned idx, const gnutls_datum_t * cert,
+ unsigned idx, const gnutls_datum_t *cert,
unsigned ncerts)
{
int ret;
@@ -135,9 +133,8 @@ void doit(void)
track_temp_files();
/* this will fail */
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, keyfile,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, keyfile, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret != GNUTLS_E_FILE_ERROR)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -146,16 +143,15 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&xcred) >= 0);
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &subca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &subca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
success("Testing store of certificates\n");
- idx =
- set_cert(xcred, &server_ca3_key, &server_ca3_localhost6_cert_chain);
+ idx = set_cert(xcred, &server_ca3_key,
+ &server_ca3_localhost6_cert_chain);
verify_written_cert(xcred, idx, &server_ca3_localhost6_cert_chain, 2);
assert(idx == 0);
@@ -166,7 +162,8 @@ void doit(void)
success("Tested store of %d\n", idx);
- test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL, NULL); /* the DNS name of the first cert */
+ test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL,
+ NULL); /* the DNS name of the first cert */
idx = set_cert(xcred, &server_key, &server_cert);
assert(idx == 0);
diff --git a/tests/set_x509_key_file_ocsp.c b/tests/set_x509_key_file_ocsp.c
index 69e9296f14..9ed5170584 100644
--- a/tests/set_x509_key_file_ocsp.c
+++ b/tests/set_x509_key_file_ocsp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,13 +31,13 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* Tests whether setting an OCSP response to a server
* is working as expected */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1469186559;
if (t)
@@ -47,207 +47,140 @@ static time_t mytime(time_t * t)
}
static const unsigned char _resp[] = {
- 0x30, 0x82, 0x06, 0x45, 0x0A, 0x01, 0x00, 0xA0,
- 0x82, 0x06, 0x3E, 0x30, 0x82, 0x06, 0x3A, 0x06,
- 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x01, 0x04, 0x82, 0x06, 0x2B, 0x30, 0x82,
- 0x06, 0x27, 0x30, 0x81, 0x9E, 0xA2, 0x16, 0x04,
- 0x14, 0x1E, 0xA5, 0xBD, 0xCA, 0x59, 0x64, 0x55,
- 0x85, 0xAC, 0xDA, 0x54, 0x34, 0x23, 0x40, 0xD1,
- 0xF6, 0xBD, 0xC3, 0xB0, 0xF6, 0x18, 0x0F, 0x32,
- 0x30, 0x31, 0x37, 0x31, 0x31, 0x31, 0x39, 0x30,
- 0x39, 0x34, 0x33, 0x34, 0x37, 0x5A, 0x30, 0x73,
- 0x30, 0x71, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05,
- 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04,
- 0x14, 0xD1, 0xB1, 0x64, 0x8B, 0x8C, 0x9F, 0x0D,
- 0xD1, 0x6B, 0xA3, 0x8A, 0xCD, 0x2B, 0x50, 0x17,
- 0xD5, 0xF9, 0xCF, 0xC0, 0x64, 0x04, 0x14, 0x5F,
- 0x60, 0xCF, 0x61, 0x90, 0x55, 0xDF, 0x84, 0x43,
- 0x14, 0x8A, 0x60, 0x2A, 0xB2, 0xF5, 0x7A, 0xF4,
- 0x43, 0x18, 0xEF, 0x02, 0x10, 0x28, 0x2E, 0x96,
- 0xB3, 0x6B, 0x76, 0xD6, 0xD8, 0x52, 0x46, 0xED,
- 0xBB, 0x31, 0xB2, 0x0C, 0x98, 0x80, 0x00, 0x18,
- 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x31, 0x31,
- 0x39, 0x30, 0x39, 0x34, 0x33, 0x34, 0x37, 0x5A,
- 0xA0, 0x11, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37,
- 0x31, 0x31, 0x32, 0x36, 0x30, 0x39, 0x34, 0x33,
- 0x34, 0x37, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A,
- 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05,
- 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x54,
- 0x66, 0x9D, 0x96, 0x6B, 0x9D, 0x71, 0x18, 0x86,
- 0x90, 0x5D, 0xD9, 0x54, 0x9C, 0xC4, 0x7F, 0x18,
- 0x51, 0xE9, 0xFE, 0xF3, 0xE6, 0x48, 0x60, 0x89,
- 0x74, 0xFD, 0xF1, 0x6D, 0xDB, 0x1F, 0x5A, 0x28,
- 0x3D, 0x16, 0xEA, 0xA6, 0xD6, 0xE0, 0xAA, 0x42,
- 0xF9, 0x5B, 0x76, 0xA1, 0x59, 0xDA, 0x30, 0x8D,
- 0x08, 0x18, 0xDD, 0x60, 0x39, 0x0B, 0x90, 0x64,
- 0x11, 0x1E, 0x9D, 0xA2, 0x70, 0x18, 0xAD, 0xC6,
- 0x27, 0xD3, 0xF1, 0xBA, 0x11, 0x4E, 0xF6, 0x9D,
- 0x6C, 0xC5, 0xEB, 0xD6, 0xB7, 0x43, 0x9D, 0x32,
- 0x31, 0xC9, 0x24, 0x19, 0xB9, 0x47, 0x1C, 0x61,
- 0x09, 0x8F, 0xAA, 0x42, 0x5B, 0xAF, 0x66, 0x0F,
- 0x23, 0xAA, 0x80, 0xC0, 0x85, 0x7F, 0x00, 0x08,
- 0xCA, 0x30, 0xE4, 0xC8, 0xDA, 0x2F, 0xC4, 0xD2,
- 0x7E, 0x86, 0xCC, 0xDA, 0x6D, 0xD4, 0x7E, 0x40,
- 0x66, 0xD8, 0x5C, 0x27, 0x83, 0xDA, 0x10, 0x8F,
- 0x91, 0xA8, 0xE6, 0x9D, 0x44, 0x13, 0xF1, 0x04,
- 0x4E, 0xC9, 0xF9, 0xC8, 0xA2, 0xED, 0x9C, 0x9F,
- 0x05, 0xDA, 0xFA, 0x4A, 0xEA, 0xD2, 0x72, 0xF9,
- 0xF1, 0xF6, 0xDB, 0xFF, 0xF8, 0x55, 0x0E, 0x92,
- 0x75, 0xD6, 0x83, 0xBC, 0x7A, 0x95, 0xBE, 0xBF,
- 0x8D, 0xD5, 0xA3, 0x23, 0x02, 0x32, 0xF8, 0x60,
- 0xF7, 0x7C, 0x46, 0xC6, 0x69, 0x7E, 0xB7, 0x23,
- 0xE1, 0x36, 0xC2, 0xEE, 0xBD, 0xFF, 0x3C, 0x05,
- 0x5E, 0x07, 0x0C, 0xA6, 0x64, 0x65, 0x82, 0x46,
- 0xC9, 0x67, 0x73, 0xC9, 0x15, 0xC8, 0xFA, 0x0F,
- 0x73, 0xB5, 0x48, 0x0F, 0x0E, 0x6F, 0x43, 0xE8,
- 0x8D, 0x7A, 0x21, 0x88, 0x12, 0x08, 0x37, 0x18,
- 0x67, 0x66, 0x05, 0xD1, 0x2C, 0x4D, 0xE8, 0xA6,
- 0x1B, 0x4D, 0x29, 0xD4, 0xEF, 0x79, 0x83, 0xDB,
- 0xCA, 0x6E, 0xBC, 0xE4, 0xCA, 0x50, 0xB0, 0x73,
- 0xEF, 0xD6, 0xC7, 0x69, 0xF6, 0x16, 0x1E, 0xA0,
- 0x82, 0x04, 0x6E, 0x30, 0x82, 0x04, 0x6A, 0x30,
- 0x82, 0x04, 0x66, 0x30, 0x82, 0x03, 0x4E, 0xA0,
- 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x6F, 0x93,
- 0x87, 0x5C, 0x4B, 0x9E, 0x94, 0x93, 0xF8, 0x5F,
- 0x16, 0xA7, 0x05, 0x86, 0x82, 0x8C, 0x30, 0x0D,
- 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D,
- 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x7E, 0x31,
- 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x55, 0x53, 0x31, 0x1D, 0x30, 0x1B,
- 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x14, 0x53,
- 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20,
- 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74,
- 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, 0x1D, 0x06,
- 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79,
- 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x54,
- 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, 0x65, 0x74,
- 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x2F, 0x30, 0x2D,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x26, 0x53,
- 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20,
- 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20,
- 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41,
- 0x20, 0x2D, 0x20, 0x47, 0x34, 0x30, 0x1E, 0x17,
- 0x0D, 0x31, 0x37, 0x31, 0x30, 0x31, 0x30, 0x30,
- 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D,
- 0x31, 0x38, 0x30, 0x31, 0x30, 0x38, 0x32, 0x33,
- 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x40, 0x31,
- 0x3E, 0x30, 0x3C, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x13, 0x35, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74,
- 0x65, 0x63, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73,
- 0x20, 0x33, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72,
- 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
- 0x20, 0x43, 0x41, 0x20, 0x2D, 0x20, 0x47, 0x34,
- 0x20, 0x4F, 0x43, 0x53, 0x50, 0x20, 0x52, 0x65,
- 0x73, 0x70, 0x6F, 0x6E, 0x64, 0x65, 0x72, 0x30,
- 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A,
- 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30,
- 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00,
- 0xBA, 0xB1, 0x3E, 0xBD, 0xF0, 0x1E, 0x19, 0x16,
- 0xEA, 0x20, 0x44, 0x73, 0x1F, 0xD8, 0x85, 0x17,
- 0xC4, 0xBF, 0x86, 0xF0, 0x75, 0x46, 0x02, 0xA8,
- 0x5B, 0x7F, 0xA8, 0xF8, 0xB2, 0x08, 0x08, 0x55,
- 0x01, 0xDD, 0x5B, 0xA4, 0x0B, 0xBD, 0x8A, 0x0A,
- 0x87, 0x90, 0x62, 0x21, 0x59, 0x67, 0x33, 0x36,
- 0x77, 0x49, 0xAB, 0x69, 0x4B, 0xDB, 0xB8, 0xFC,
- 0x27, 0xA9, 0x81, 0x4A, 0x1F, 0x5F, 0x7D, 0x5C,
- 0xC2, 0xE6, 0x54, 0x12, 0xFB, 0xA7, 0xEB, 0x9F,
- 0xB5, 0xAC, 0x05, 0xBE, 0xA9, 0x58, 0xAA, 0x49,
- 0x32, 0xEE, 0x73, 0xE8, 0x2F, 0xB1, 0xD3, 0x2E,
- 0x13, 0xBC, 0x26, 0x23, 0xA0, 0x82, 0xD4, 0x25,
- 0x20, 0x34, 0xAE, 0x16, 0x48, 0xFB, 0x55, 0x2B,
- 0x58, 0xC9, 0xC4, 0x84, 0xAC, 0xF7, 0xC4, 0x78,
- 0x62, 0xB7, 0xBF, 0xA2, 0x32, 0xC7, 0x34, 0x1C,
- 0xDF, 0x9E, 0xFE, 0xA8, 0x04, 0x85, 0xAF, 0xCB,
- 0x5A, 0xD6, 0xC6, 0x68, 0x9F, 0x28, 0x03, 0xB7,
- 0x98, 0x8E, 0xD4, 0xA5, 0xE1, 0x18, 0xD1, 0x64,
- 0x79, 0x67, 0x04, 0x33, 0x6C, 0x4B, 0xE0, 0xCF,
- 0x34, 0xFC, 0x81, 0x27, 0x98, 0x16, 0xBB, 0xA3,
- 0x9F, 0xE1, 0x4D, 0x2B, 0x71, 0x21, 0x41, 0x90,
- 0xFF, 0x20, 0xB8, 0x4A, 0xCF, 0xB2, 0x2D, 0xB1,
- 0xF8, 0x89, 0x40, 0xBC, 0xB3, 0x9F, 0x94, 0x1C,
- 0xF4, 0x68, 0xEA, 0x7B, 0x31, 0x29, 0xDA, 0x71,
- 0xCC, 0x37, 0x9A, 0xF9, 0x36, 0x0B, 0x58, 0x11,
- 0x6F, 0x28, 0x14, 0x6F, 0xAF, 0x57, 0x6B, 0xD7,
- 0xBD, 0x36, 0x98, 0xF4, 0x6C, 0x84, 0xF8, 0x48,
- 0xF1, 0xBF, 0x88, 0xEB, 0x5C, 0x06, 0x8B, 0x02,
- 0xF1, 0xDF, 0x6A, 0xFD, 0x61, 0xCF, 0x05, 0x5E,
- 0xB5, 0x99, 0x85, 0x31, 0x41, 0x1D, 0xE5, 0x67,
- 0x5C, 0x83, 0xA2, 0xBA, 0x9C, 0x9C, 0x37, 0x44,
- 0xEF, 0xBC, 0x0E, 0xDE, 0xBF, 0x91, 0x5B, 0x1F,
- 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01,
- 0x1C, 0x30, 0x82, 0x01, 0x18, 0x30, 0x0F, 0x06,
- 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x05, 0x04, 0x02, 0x05, 0x00, 0x30, 0x22,
- 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x1B, 0x30,
- 0x19, 0xA4, 0x17, 0x30, 0x15, 0x31, 0x13, 0x30,
- 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0A,
- 0x54, 0x47, 0x56, 0x2D, 0x45, 0x2D, 0x33, 0x32,
- 0x35, 0x36, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D,
- 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x5F,
- 0x60, 0xCF, 0x61, 0x90, 0x55, 0xDF, 0x84, 0x43,
- 0x14, 0x8A, 0x60, 0x2A, 0xB2, 0xF5, 0x7A, 0xF4,
- 0x43, 0x18, 0xEF, 0x30, 0x1D, 0x06, 0x03, 0x55,
- 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x1E, 0xA5,
- 0xBD, 0xCA, 0x59, 0x64, 0x55, 0x85, 0xAC, 0xDA,
- 0x54, 0x34, 0x23, 0x40, 0xD1, 0xF6, 0xBD, 0xC3,
- 0xB0, 0xF6, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D,
- 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00,
- 0x30, 0x6E, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04,
- 0x67, 0x30, 0x65, 0x30, 0x63, 0x06, 0x0B, 0x60,
- 0x86, 0x48, 0x01, 0x86, 0xF8, 0x45, 0x01, 0x07,
- 0x17, 0x03, 0x30, 0x54, 0x30, 0x26, 0x06, 0x08,
- 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01,
- 0x16, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F,
- 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x73, 0x79, 0x6D,
- 0x61, 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, 0x6D,
- 0x2F, 0x63, 0x70, 0x73, 0x30, 0x2A, 0x06, 0x08,
- 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02,
- 0x30, 0x1E, 0x1A, 0x1C, 0x20, 0x20, 0x68, 0x74,
- 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77,
- 0x2E, 0x73, 0x79, 0x6D, 0x61, 0x75, 0x74, 0x68,
- 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x70, 0x61,
- 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04,
- 0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x09, 0x30, 0x0E, 0x06,
- 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04,
- 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x0D, 0x06,
- 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01,
- 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01,
- 0x00, 0x45, 0xFF, 0xCA, 0xD2, 0xAC, 0x71, 0xBE,
- 0xA5, 0x62, 0x86, 0x93, 0x30, 0xD0, 0xE5, 0xE5,
- 0x87, 0xFC, 0xAA, 0x29, 0x73, 0x36, 0xD6, 0x66,
- 0x33, 0xC4, 0xCB, 0xC5, 0x6E, 0xC6, 0x2C, 0x8C,
- 0x8E, 0xEE, 0x4D, 0xC2, 0xFA, 0xB3, 0xC0, 0xE7,
- 0x11, 0x02, 0x69, 0x7A, 0xC5, 0x89, 0x28, 0x86,
- 0x31, 0xD5, 0x14, 0x43, 0x5A, 0x20, 0xB7, 0xBD,
- 0x1C, 0x0B, 0x1C, 0x3C, 0x84, 0x58, 0xBA, 0x56,
- 0x14, 0x5B, 0xB8, 0x38, 0x97, 0x18, 0x66, 0xD6,
- 0x12, 0x51, 0x4B, 0x5A, 0x2D, 0x0D, 0x00, 0xA7,
- 0xBA, 0x5A, 0xC9, 0x0C, 0x4B, 0x10, 0xDE, 0xF5,
- 0xAE, 0x56, 0xA5, 0x24, 0xC6, 0x3E, 0x5E, 0xD9,
- 0xF1, 0x39, 0x76, 0x0C, 0xD7, 0x4A, 0xBF, 0x19,
- 0x1F, 0x14, 0xA4, 0x18, 0xEC, 0x0F, 0x5D, 0x47,
- 0x00, 0x75, 0xF0, 0x4E, 0xB3, 0xA1, 0xB4, 0x81,
- 0x7B, 0x97, 0xAC, 0x0A, 0xA8, 0x5E, 0x92, 0xCC,
- 0xB0, 0x80, 0x53, 0x66, 0xFF, 0xC6, 0x1B, 0x71,
- 0xAF, 0xE3, 0x46, 0x55, 0x9D, 0x26, 0x51, 0x97,
- 0xB0, 0x66, 0x9D, 0x06, 0x70, 0xC5, 0x04, 0x78,
- 0xBC, 0x99, 0x42, 0xBA, 0x77, 0x82, 0x0E, 0xE8,
- 0x92, 0x18, 0x4A, 0x72, 0x92, 0x13, 0x25, 0x7F,
- 0x40, 0x15, 0xF7, 0xA8, 0x07, 0xA2, 0xAD, 0x03,
- 0xBA, 0x1C, 0xF2, 0x93, 0xBE, 0x14, 0x72, 0x69,
- 0x2B, 0x85, 0xAC, 0x2E, 0x2C, 0xBF, 0x1C, 0xC6,
- 0x6C, 0x91, 0xF3, 0x2F, 0xF0, 0xB0, 0x8A, 0xC3,
- 0xB8, 0xAC, 0x9B, 0xD1, 0xA1, 0x4C, 0xB7, 0x34,
- 0xCA, 0xC6, 0x90, 0x15, 0xA7, 0x39, 0xB4, 0xF1,
- 0xED, 0x54, 0x53, 0x5C, 0x29, 0x6F, 0xCE, 0x97,
- 0x3E, 0x72, 0x79, 0x24, 0xEA, 0xC8, 0x87, 0x21,
- 0x5F, 0x40, 0xBF, 0x53, 0x37, 0x8E, 0xCA, 0x0B,
- 0x44, 0xD0, 0x4B, 0x6E, 0xAD, 0x94, 0xFB, 0x0F,
- 0x33, 0xFE, 0x86, 0xDF, 0x4C, 0xE9, 0x94, 0xBB,
+ 0x30, 0x82, 0x06, 0x45, 0x0A, 0x01, 0x00, 0xA0, 0x82, 0x06, 0x3E, 0x30,
+ 0x82, 0x06, 0x3A, 0x06, 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
+ 0x01, 0x01, 0x04, 0x82, 0x06, 0x2B, 0x30, 0x82, 0x06, 0x27, 0x30, 0x81,
+ 0x9E, 0xA2, 0x16, 0x04, 0x14, 0x1E, 0xA5, 0xBD, 0xCA, 0x59, 0x64, 0x55,
+ 0x85, 0xAC, 0xDA, 0x54, 0x34, 0x23, 0x40, 0xD1, 0xF6, 0xBD, 0xC3, 0xB0,
+ 0xF6, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x31, 0x31, 0x39, 0x30,
+ 0x39, 0x34, 0x33, 0x34, 0x37, 0x5A, 0x30, 0x73, 0x30, 0x71, 0x30, 0x49,
+ 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04,
+ 0x14, 0xD1, 0xB1, 0x64, 0x8B, 0x8C, 0x9F, 0x0D, 0xD1, 0x6B, 0xA3, 0x8A,
+ 0xCD, 0x2B, 0x50, 0x17, 0xD5, 0xF9, 0xCF, 0xC0, 0x64, 0x04, 0x14, 0x5F,
+ 0x60, 0xCF, 0x61, 0x90, 0x55, 0xDF, 0x84, 0x43, 0x14, 0x8A, 0x60, 0x2A,
+ 0xB2, 0xF5, 0x7A, 0xF4, 0x43, 0x18, 0xEF, 0x02, 0x10, 0x28, 0x2E, 0x96,
+ 0xB3, 0x6B, 0x76, 0xD6, 0xD8, 0x52, 0x46, 0xED, 0xBB, 0x31, 0xB2, 0x0C,
+ 0x98, 0x80, 0x00, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x37, 0x31, 0x31, 0x31,
+ 0x39, 0x30, 0x39, 0x34, 0x33, 0x34, 0x37, 0x5A, 0xA0, 0x11, 0x18, 0x0F,
+ 0x32, 0x30, 0x31, 0x37, 0x31, 0x31, 0x32, 0x36, 0x30, 0x39, 0x34, 0x33,
+ 0x34, 0x37, 0x5A, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7,
+ 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x54,
+ 0x66, 0x9D, 0x96, 0x6B, 0x9D, 0x71, 0x18, 0x86, 0x90, 0x5D, 0xD9, 0x54,
+ 0x9C, 0xC4, 0x7F, 0x18, 0x51, 0xE9, 0xFE, 0xF3, 0xE6, 0x48, 0x60, 0x89,
+ 0x74, 0xFD, 0xF1, 0x6D, 0xDB, 0x1F, 0x5A, 0x28, 0x3D, 0x16, 0xEA, 0xA6,
+ 0xD6, 0xE0, 0xAA, 0x42, 0xF9, 0x5B, 0x76, 0xA1, 0x59, 0xDA, 0x30, 0x8D,
+ 0x08, 0x18, 0xDD, 0x60, 0x39, 0x0B, 0x90, 0x64, 0x11, 0x1E, 0x9D, 0xA2,
+ 0x70, 0x18, 0xAD, 0xC6, 0x27, 0xD3, 0xF1, 0xBA, 0x11, 0x4E, 0xF6, 0x9D,
+ 0x6C, 0xC5, 0xEB, 0xD6, 0xB7, 0x43, 0x9D, 0x32, 0x31, 0xC9, 0x24, 0x19,
+ 0xB9, 0x47, 0x1C, 0x61, 0x09, 0x8F, 0xAA, 0x42, 0x5B, 0xAF, 0x66, 0x0F,
+ 0x23, 0xAA, 0x80, 0xC0, 0x85, 0x7F, 0x00, 0x08, 0xCA, 0x30, 0xE4, 0xC8,
+ 0xDA, 0x2F, 0xC4, 0xD2, 0x7E, 0x86, 0xCC, 0xDA, 0x6D, 0xD4, 0x7E, 0x40,
+ 0x66, 0xD8, 0x5C, 0x27, 0x83, 0xDA, 0x10, 0x8F, 0x91, 0xA8, 0xE6, 0x9D,
+ 0x44, 0x13, 0xF1, 0x04, 0x4E, 0xC9, 0xF9, 0xC8, 0xA2, 0xED, 0x9C, 0x9F,
+ 0x05, 0xDA, 0xFA, 0x4A, 0xEA, 0xD2, 0x72, 0xF9, 0xF1, 0xF6, 0xDB, 0xFF,
+ 0xF8, 0x55, 0x0E, 0x92, 0x75, 0xD6, 0x83, 0xBC, 0x7A, 0x95, 0xBE, 0xBF,
+ 0x8D, 0xD5, 0xA3, 0x23, 0x02, 0x32, 0xF8, 0x60, 0xF7, 0x7C, 0x46, 0xC6,
+ 0x69, 0x7E, 0xB7, 0x23, 0xE1, 0x36, 0xC2, 0xEE, 0xBD, 0xFF, 0x3C, 0x05,
+ 0x5E, 0x07, 0x0C, 0xA6, 0x64, 0x65, 0x82, 0x46, 0xC9, 0x67, 0x73, 0xC9,
+ 0x15, 0xC8, 0xFA, 0x0F, 0x73, 0xB5, 0x48, 0x0F, 0x0E, 0x6F, 0x43, 0xE8,
+ 0x8D, 0x7A, 0x21, 0x88, 0x12, 0x08, 0x37, 0x18, 0x67, 0x66, 0x05, 0xD1,
+ 0x2C, 0x4D, 0xE8, 0xA6, 0x1B, 0x4D, 0x29, 0xD4, 0xEF, 0x79, 0x83, 0xDB,
+ 0xCA, 0x6E, 0xBC, 0xE4, 0xCA, 0x50, 0xB0, 0x73, 0xEF, 0xD6, 0xC7, 0x69,
+ 0xF6, 0x16, 0x1E, 0xA0, 0x82, 0x04, 0x6E, 0x30, 0x82, 0x04, 0x6A, 0x30,
+ 0x82, 0x04, 0x66, 0x30, 0x82, 0x03, 0x4E, 0xA0, 0x03, 0x02, 0x01, 0x02,
+ 0x02, 0x10, 0x6F, 0x93, 0x87, 0x5C, 0x4B, 0x9E, 0x94, 0x93, 0xF8, 0x5F,
+ 0x16, 0xA7, 0x05, 0x86, 0x82, 0x8C, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
+ 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x7E, 0x31,
+ 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53,
+ 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x14, 0x53,
+ 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6F, 0x72, 0x70,
+ 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x1F, 0x30, 0x1D, 0x06,
+ 0x03, 0x55, 0x04, 0x0B, 0x13, 0x16, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74,
+ 0x65, 0x63, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, 0x65, 0x74,
+ 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x2F, 0x30, 0x2D, 0x06, 0x03, 0x55, 0x04,
+ 0x03, 0x13, 0x26, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20,
+ 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x65, 0x63, 0x75,
+ 0x72, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41,
+ 0x20, 0x2D, 0x20, 0x47, 0x34, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x37, 0x31,
+ 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D,
+ 0x31, 0x38, 0x30, 0x31, 0x30, 0x38, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39,
+ 0x5A, 0x30, 0x40, 0x31, 0x3E, 0x30, 0x3C, 0x06, 0x03, 0x55, 0x04, 0x03,
+ 0x13, 0x35, 0x53, 0x79, 0x6D, 0x61, 0x6E, 0x74, 0x65, 0x63, 0x20, 0x43,
+ 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72,
+ 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x20,
+ 0x2D, 0x20, 0x47, 0x34, 0x20, 0x4F, 0x43, 0x53, 0x50, 0x20, 0x52, 0x65,
+ 0x73, 0x70, 0x6F, 0x6E, 0x64, 0x65, 0x72, 0x30, 0x82, 0x01, 0x22, 0x30,
+ 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01,
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02,
+ 0x82, 0x01, 0x01, 0x00, 0xBA, 0xB1, 0x3E, 0xBD, 0xF0, 0x1E, 0x19, 0x16,
+ 0xEA, 0x20, 0x44, 0x73, 0x1F, 0xD8, 0x85, 0x17, 0xC4, 0xBF, 0x86, 0xF0,
+ 0x75, 0x46, 0x02, 0xA8, 0x5B, 0x7F, 0xA8, 0xF8, 0xB2, 0x08, 0x08, 0x55,
+ 0x01, 0xDD, 0x5B, 0xA4, 0x0B, 0xBD, 0x8A, 0x0A, 0x87, 0x90, 0x62, 0x21,
+ 0x59, 0x67, 0x33, 0x36, 0x77, 0x49, 0xAB, 0x69, 0x4B, 0xDB, 0xB8, 0xFC,
+ 0x27, 0xA9, 0x81, 0x4A, 0x1F, 0x5F, 0x7D, 0x5C, 0xC2, 0xE6, 0x54, 0x12,
+ 0xFB, 0xA7, 0xEB, 0x9F, 0xB5, 0xAC, 0x05, 0xBE, 0xA9, 0x58, 0xAA, 0x49,
+ 0x32, 0xEE, 0x73, 0xE8, 0x2F, 0xB1, 0xD3, 0x2E, 0x13, 0xBC, 0x26, 0x23,
+ 0xA0, 0x82, 0xD4, 0x25, 0x20, 0x34, 0xAE, 0x16, 0x48, 0xFB, 0x55, 0x2B,
+ 0x58, 0xC9, 0xC4, 0x84, 0xAC, 0xF7, 0xC4, 0x78, 0x62, 0xB7, 0xBF, 0xA2,
+ 0x32, 0xC7, 0x34, 0x1C, 0xDF, 0x9E, 0xFE, 0xA8, 0x04, 0x85, 0xAF, 0xCB,
+ 0x5A, 0xD6, 0xC6, 0x68, 0x9F, 0x28, 0x03, 0xB7, 0x98, 0x8E, 0xD4, 0xA5,
+ 0xE1, 0x18, 0xD1, 0x64, 0x79, 0x67, 0x04, 0x33, 0x6C, 0x4B, 0xE0, 0xCF,
+ 0x34, 0xFC, 0x81, 0x27, 0x98, 0x16, 0xBB, 0xA3, 0x9F, 0xE1, 0x4D, 0x2B,
+ 0x71, 0x21, 0x41, 0x90, 0xFF, 0x20, 0xB8, 0x4A, 0xCF, 0xB2, 0x2D, 0xB1,
+ 0xF8, 0x89, 0x40, 0xBC, 0xB3, 0x9F, 0x94, 0x1C, 0xF4, 0x68, 0xEA, 0x7B,
+ 0x31, 0x29, 0xDA, 0x71, 0xCC, 0x37, 0x9A, 0xF9, 0x36, 0x0B, 0x58, 0x11,
+ 0x6F, 0x28, 0x14, 0x6F, 0xAF, 0x57, 0x6B, 0xD7, 0xBD, 0x36, 0x98, 0xF4,
+ 0x6C, 0x84, 0xF8, 0x48, 0xF1, 0xBF, 0x88, 0xEB, 0x5C, 0x06, 0x8B, 0x02,
+ 0xF1, 0xDF, 0x6A, 0xFD, 0x61, 0xCF, 0x05, 0x5E, 0xB5, 0x99, 0x85, 0x31,
+ 0x41, 0x1D, 0xE5, 0x67, 0x5C, 0x83, 0xA2, 0xBA, 0x9C, 0x9C, 0x37, 0x44,
+ 0xEF, 0xBC, 0x0E, 0xDE, 0xBF, 0x91, 0x5B, 0x1F, 0x02, 0x03, 0x01, 0x00,
+ 0x01, 0xA3, 0x82, 0x01, 0x1C, 0x30, 0x82, 0x01, 0x18, 0x30, 0x0F, 0x06,
+ 0x09, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x05, 0x04, 0x02,
+ 0x05, 0x00, 0x30, 0x22, 0x06, 0x03, 0x55, 0x1D, 0x11, 0x04, 0x1B, 0x30,
+ 0x19, 0xA4, 0x17, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x13, 0x0A, 0x54, 0x47, 0x56, 0x2D, 0x45, 0x2D, 0x33, 0x32,
+ 0x35, 0x36, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30,
+ 0x16, 0x80, 0x14, 0x5F, 0x60, 0xCF, 0x61, 0x90, 0x55, 0xDF, 0x84, 0x43,
+ 0x14, 0x8A, 0x60, 0x2A, 0xB2, 0xF5, 0x7A, 0xF4, 0x43, 0x18, 0xEF, 0x30,
+ 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0x1E, 0xA5,
+ 0xBD, 0xCA, 0x59, 0x64, 0x55, 0x85, 0xAC, 0xDA, 0x54, 0x34, 0x23, 0x40,
+ 0xD1, 0xF6, 0xBD, 0xC3, 0xB0, 0xF6, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D,
+ 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x6E, 0x06, 0x03,
+ 0x55, 0x1D, 0x20, 0x04, 0x67, 0x30, 0x65, 0x30, 0x63, 0x06, 0x0B, 0x60,
+ 0x86, 0x48, 0x01, 0x86, 0xF8, 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x54,
+ 0x30, 0x26, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01,
+ 0x16, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77,
+ 0x2E, 0x73, 0x79, 0x6D, 0x61, 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, 0x6D,
+ 0x2F, 0x63, 0x70, 0x73, 0x30, 0x2A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05,
+ 0x05, 0x07, 0x02, 0x02, 0x30, 0x1E, 0x1A, 0x1C, 0x20, 0x20, 0x68, 0x74,
+ 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x73, 0x79, 0x6D,
+ 0x61, 0x75, 0x74, 0x68, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x70, 0x61,
+ 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, 0x0A, 0x06,
+ 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x09, 0x30, 0x0E, 0x06,
+ 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07,
+ 0x80, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01,
+ 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x45, 0xFF, 0xCA,
+ 0xD2, 0xAC, 0x71, 0xBE, 0xA5, 0x62, 0x86, 0x93, 0x30, 0xD0, 0xE5, 0xE5,
+ 0x87, 0xFC, 0xAA, 0x29, 0x73, 0x36, 0xD6, 0x66, 0x33, 0xC4, 0xCB, 0xC5,
+ 0x6E, 0xC6, 0x2C, 0x8C, 0x8E, 0xEE, 0x4D, 0xC2, 0xFA, 0xB3, 0xC0, 0xE7,
+ 0x11, 0x02, 0x69, 0x7A, 0xC5, 0x89, 0x28, 0x86, 0x31, 0xD5, 0x14, 0x43,
+ 0x5A, 0x20, 0xB7, 0xBD, 0x1C, 0x0B, 0x1C, 0x3C, 0x84, 0x58, 0xBA, 0x56,
+ 0x14, 0x5B, 0xB8, 0x38, 0x97, 0x18, 0x66, 0xD6, 0x12, 0x51, 0x4B, 0x5A,
+ 0x2D, 0x0D, 0x00, 0xA7, 0xBA, 0x5A, 0xC9, 0x0C, 0x4B, 0x10, 0xDE, 0xF5,
+ 0xAE, 0x56, 0xA5, 0x24, 0xC6, 0x3E, 0x5E, 0xD9, 0xF1, 0x39, 0x76, 0x0C,
+ 0xD7, 0x4A, 0xBF, 0x19, 0x1F, 0x14, 0xA4, 0x18, 0xEC, 0x0F, 0x5D, 0x47,
+ 0x00, 0x75, 0xF0, 0x4E, 0xB3, 0xA1, 0xB4, 0x81, 0x7B, 0x97, 0xAC, 0x0A,
+ 0xA8, 0x5E, 0x92, 0xCC, 0xB0, 0x80, 0x53, 0x66, 0xFF, 0xC6, 0x1B, 0x71,
+ 0xAF, 0xE3, 0x46, 0x55, 0x9D, 0x26, 0x51, 0x97, 0xB0, 0x66, 0x9D, 0x06,
+ 0x70, 0xC5, 0x04, 0x78, 0xBC, 0x99, 0x42, 0xBA, 0x77, 0x82, 0x0E, 0xE8,
+ 0x92, 0x18, 0x4A, 0x72, 0x92, 0x13, 0x25, 0x7F, 0x40, 0x15, 0xF7, 0xA8,
+ 0x07, 0xA2, 0xAD, 0x03, 0xBA, 0x1C, 0xF2, 0x93, 0xBE, 0x14, 0x72, 0x69,
+ 0x2B, 0x85, 0xAC, 0x2E, 0x2C, 0xBF, 0x1C, 0xC6, 0x6C, 0x91, 0xF3, 0x2F,
+ 0xF0, 0xB0, 0x8A, 0xC3, 0xB8, 0xAC, 0x9B, 0xD1, 0xA1, 0x4C, 0xB7, 0x34,
+ 0xCA, 0xC6, 0x90, 0x15, 0xA7, 0x39, 0xB4, 0xF1, 0xED, 0x54, 0x53, 0x5C,
+ 0x29, 0x6F, 0xCE, 0x97, 0x3E, 0x72, 0x79, 0x24, 0xEA, 0xC8, 0x87, 0x21,
+ 0x5F, 0x40, 0xBF, 0x53, 0x37, 0x8E, 0xCA, 0x0B, 0x44, 0xD0, 0x4B, 0x6E,
+ 0xAD, 0x94, 0xFB, 0x0F, 0x33, 0xFE, 0x86, 0xDF, 0x4C, 0xE9, 0x94, 0xBB,
0x3F
};
@@ -270,8 +203,8 @@ static void check_response(gnutls_session_t session, void *priv)
fail("not expected response, but received one\n");
}
- if (resp.size != exp_resp->size
- || memcmp(resp.data, exp_resp->data, resp.size) != 0) {
+ if (resp.size != exp_resp->size ||
+ memcmp(resp.data, exp_resp->data, resp.size) != 0) {
fail("did not receive the expected response\n");
}
@@ -281,9 +214,8 @@ static void check_response(gnutls_session_t session, void *priv)
fail("did not receive the expected value (%d)\n", ret);
}
- ret =
- gnutls_ocsp_status_request_is_checked(session,
- GNUTLS_OCSP_SR_IS_AVAIL);
+ ret = gnutls_ocsp_status_request_is_checked(session,
+ GNUTLS_OCSP_SR_IS_AVAIL);
if (ret == 0) {
fail("did not receive the expected value (%d)\n", ret);
}
@@ -311,34 +243,29 @@ void doit(void)
fp = fopen(certfile, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
/* set cert with localhost name */
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile, certfile,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile, certfile, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
fp = fopen(certfile, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- gnutls_certificate_set_flags(xcred,
- GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
+ gnutls_certificate_set_flags(
+ xcred, GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
/* set OCSP response */
ocspfile1 = get_tmpname(ocspname1);
@@ -348,9 +275,8 @@ void doit(void)
assert(fwrite(ocsp_resp1.data, 1, ocsp_resp1.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
- 0);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
+ 0);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -374,16 +300,19 @@ void doit(void)
GNUTLS_VERIFY_DISABLE_CRL_CHECKS)
fail("error in gnutls_certificate_set_verify_flags\n");
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
- test_cli_serv(xcred, clicred, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2", "localhost", &ocsp_resp1, check_response, NULL); /* the DNS name of the first cert */
+ test_cli_serv(xcred, clicred, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2",
+ "localhost", &ocsp_resp1, check_response,
+ NULL); /* the DNS name of the first cert */
- test_cli_serv(xcred, clicred, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", "localhost", &ocsp_resp1, check_response, NULL); /* the DNS name of the first cert */
+ test_cli_serv(xcred, clicred, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
+ "localhost", &ocsp_resp1, check_response,
+ NULL); /* the DNS name of the first cert */
gnutls_certificate_free_credentials(xcred);
gnutls_certificate_free_credentials(clicred);
diff --git a/tests/set_x509_key_file_ocsp_multi2.c b/tests/set_x509_key_file_ocsp_multi2.c
index 1741cdc63b..3026bb48e3 100644
--- a/tests/set_x509_key_file_ocsp_multi2.c
+++ b/tests/set_x509_key_file_ocsp_multi2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,14 +32,14 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* Tests whether setting an OCSP response to a server with multiple
* certificate sets, is working as expected. It tests
* gnutls_certificate_set_ocsp_status_request_function2 */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1469186559;
if (t)
@@ -48,19 +48,22 @@ static time_t mytime(time_t * t)
return then;
}
-# define RESP1 "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP1 \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-static gnutls_datum_t ocsp_resp1 =
- { (unsigned char *)RESP1, sizeof(RESP1) - 1 };
+static gnutls_datum_t ocsp_resp1 = { (unsigned char *)RESP1,
+ sizeof(RESP1) - 1 };
-# define RESP2 "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP2 \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-static gnutls_datum_t ocsp_resp2 =
- { (unsigned char *)RESP2, sizeof(RESP2) - 1 };
+static gnutls_datum_t ocsp_resp2 = { (unsigned char *)RESP2,
+ sizeof(RESP2) - 1 };
-# define RESP3 "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
-static gnutls_datum_t ocsp_resp3 =
- { (unsigned char *)RESP3, sizeof(RESP3) - 1 };
+#define RESP3 \
+ "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
+static gnutls_datum_t ocsp_resp3 = { (unsigned char *)RESP3,
+ sizeof(RESP3) - 1 };
static void check_response(gnutls_session_t session, void *priv)
{
@@ -79,14 +82,14 @@ static void check_response(gnutls_session_t session, void *priv)
fail("not expected response, but received one\n");
}
- if (resp.size != exp_resp->size
- || memcmp(resp.data, exp_resp->data, resp.size) != 0) {
+ if (resp.size != exp_resp->size ||
+ memcmp(resp.data, exp_resp->data, resp.size) != 0) {
fail("did not receive the expected response\n");
}
}
static int ocsp_func(gnutls_session_t session, void *ptr,
- gnutls_datum_t * ocsp_response)
+ gnutls_datum_t *ocsp_response)
{
gnutls_datum_t *c = ptr;
ocsp_response->data = gnutls_malloc(c->size);
@@ -115,7 +118,7 @@ void doit(void)
char certname2[TMPNAME_SIZE];
char certname3[TMPNAME_SIZE];
FILE *fp;
- unsigned index1, index2, index3; /* indexes of certs */
+ unsigned index1, index2, index3; /* indexes of certs */
global_init();
gnutls_global_set_time_function(mytime);
@@ -135,17 +138,14 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -156,17 +156,14 @@ void doit(void)
fp = fopen(certfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile2, certfile2,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile2, certfile2, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index2 = ret;
@@ -174,12 +171,10 @@ void doit(void)
fp = fopen(certfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
/* set ECC cert */
@@ -192,9 +187,8 @@ void doit(void)
assert(fwrite(ecc_key, 1, strlen(ecc_key), fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile3, certfile3,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile3, certfile3, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index3 = ret;
@@ -202,42 +196,34 @@ void doit(void)
fp = fopen(certfile3, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
/* set OCSP response1 */
- ret =
- gnutls_certificate_set_ocsp_status_request_function2(xcred, index1,
- ocsp_func,
- &ocsp_resp1);
+ ret = gnutls_certificate_set_ocsp_status_request_function2(
+ xcred, index1, ocsp_func, &ocsp_resp1);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
/* set OCSP response2 */
- ret =
- gnutls_certificate_set_ocsp_status_request_function2(xcred, index2,
- ocsp_func,
- &ocsp_resp2);
+ ret = gnutls_certificate_set_ocsp_status_request_function2(
+ xcred, index2, ocsp_func, &ocsp_resp2);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
/* set OCSP response3 */
- ret =
- gnutls_certificate_set_ocsp_status_request_function2(xcred, index3,
- ocsp_func,
- &ocsp_resp3);
+ ret = gnutls_certificate_set_ocsp_status_request_function2(
+ xcred, index3, ocsp_func, &ocsp_resp3);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
/* set an OCSP response outside the bounds */
- assert(gnutls_certificate_set_ocsp_status_request_function2
- (xcred, 34, ocsp_func,
- NULL) == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ assert(gnutls_certificate_set_ocsp_status_request_function2(
+ xcred, 34, ocsp_func, NULL) ==
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
/* make sure that our invalid OCSP responses are not considered in verification
*/
@@ -247,9 +233,8 @@ void doit(void)
GNUTLS_VERIFY_DISABLE_CRL_CHECKS)
fail("error in gnutls_certificate_set_verify_flags\n");
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
@@ -263,9 +248,10 @@ void doit(void)
"NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
"localhost6", &ocsp_resp2, check_response, NULL);
success("TLS1.2 + resp3\n");
- test_cli_serv(xcred, clicred,
- "NORMAL:-ECDHE-RSA:-RSA:-DHE-RSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- NULL, &ocsp_resp3, check_response, NULL);
+ test_cli_serv(
+ xcred, clicred,
+ "NORMAL:-ECDHE-RSA:-RSA:-DHE-RSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ NULL, &ocsp_resp3, check_response, NULL);
success("TLS1.3 + resp1\n");
test_cli_serv(xcred, clicred,
@@ -276,9 +262,10 @@ void doit(void)
"NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
"localhost6", &ocsp_resp2, check_response, NULL);
success("TLS1.3 + resp3\n");
- test_cli_serv(xcred, clicred,
- "NORMAL:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:-ECDHE-RSA:-RSA:-DHE-RSA:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL, &ocsp_resp3, check_response, NULL);
+ test_cli_serv(
+ xcred, clicred,
+ "NORMAL:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:-ECDHE-RSA:-RSA:-DHE-RSA:-VERS-TLS-ALL:+VERS-TLS1.3",
+ NULL, &ocsp_resp3, check_response, NULL);
gnutls_certificate_free_credentials(xcred);
gnutls_certificate_free_credentials(clicred);
diff --git a/tests/set_x509_key_mem.c b/tests/set_x509_key_mem.c
index c63da9f48f..154f7a1269 100644
--- a/tests/set_x509_key_mem.c
+++ b/tests/set_x509_key_mem.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -69,15 +69,13 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
gnutls_certificate_allocate_credentials(&x509_cred);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
- ret = gnutls_certificate_set_x509_key_mem(x509_cred, &cli_cert,
- &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret != GNUTLS_E_CERTIFICATE_KEY_MISMATCH) {
fail("error in error code\n");
exit(1);
@@ -90,21 +88,17 @@ void doit(void)
gnutls_certificate_set_flags(x509_cred,
GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH);
- ret =
- gnutls_certificate_set_x509_key_mem(x509_cred,
- &server_ca3_localhost6_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost6_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
}
- ret =
- gnutls_certificate_set_x509_key_mem(x509_cred,
- &server_ca3_localhost_cert_chain,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in error code\n");
exit(1);
diff --git a/tests/set_x509_key_utf8.c b/tests/set_x509_key_utf8.c
index c93f61eaa8..660a3f0d88 100644
--- a/tests/set_x509_key_utf8.c
+++ b/tests/set_x509_key_utf8.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <assert.h>
@@ -44,7 +44,7 @@
#include "cert-common.h"
#include "utils.h"
-#define MIN(x,y) (((x)<(y))?(x):(y))
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
/* Test for gnutls_certificate_set_x509_key()
*
@@ -55,7 +55,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1473674242;
if (t)
@@ -64,7 +64,7 @@ static time_t mytime(time_t * t)
return then;
}
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -75,8 +75,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -85,7 +85,7 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
}
static int import_key(gnutls_certificate_credentials_t xcred,
- const gnutls_datum_t * skey, const gnutls_datum_t * cert)
+ const gnutls_datum_t *skey, const gnutls_datum_t *cert)
{
gnutls_x509_privkey_t key;
gnutls_x509_crt_t *crt_list;
@@ -95,9 +95,8 @@ static int import_key(gnutls_certificate_credentials_t xcred,
assert(gnutls_x509_privkey_init(&key) >= 0);
- ret =
- gnutls_x509_crt_list_import2(&crt_list, &crt_list_size, cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(&crt_list, &crt_list_size, cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
fail("error in gnutls_x509_crt_list_import2: %s\n",
gnutls_strerror(ret));
@@ -108,8 +107,8 @@ static int import_key(gnutls_certificate_credentials_t xcred,
fail("error in key import: %s\n", gnutls_strerror(ret));
}
- ret = gnutls_certificate_set_x509_key(xcred, crt_list,
- crt_list_size, key);
+ ret = gnutls_certificate_set_x509_key(xcred, crt_list, crt_list_size,
+ key);
if (ret < 0) {
success("error in gnutls_certificate_set_x509_key: %s\n",
gnutls_strerror(ret));
@@ -132,7 +131,7 @@ static int import_key(gnutls_certificate_credentials_t xcred,
compare(&tcert, cert->data + i);
}
- cleanup:
+cleanup:
gnutls_x509_privkey_deinit(key);
for (i = 0; i < crt_list_size; i++) {
gnutls_x509_crt_deinit(crt_list[i]);
@@ -168,27 +167,28 @@ void doit(void)
gnutls_certificate_set_flags(x509_cred, GNUTLS_CERTIFICATE_API_V2);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
- idx =
- import_key(x509_cred, &server_ca3_key,
- &server_ca3_localhost_cert_chain);
+ idx = import_key(x509_cred, &server_ca3_key,
+ &server_ca3_localhost_cert_chain);
assert(idx == 0);
- idx =
- import_key(x509_cred, &server_ca3_key,
- &server_ca3_localhost_utf8_cert);
+ idx = import_key(x509_cred, &server_ca3_key,
+ &server_ca3_localhost_utf8_cert);
assert(idx == 1);
test_cli_serv(x509_cred, clicred, "NORMAL", "localhost", NULL, NULL,
NULL);
- test_cli_serv(x509_cred, clicred, "NORMAL", "www.xn--kxawhku.com", NULL, NULL, NULL); /* the previous name in IDNA format */
- test_cli_serv(x509_cred, clicred, "NORMAL", "简体中文.εξτρα.com", NULL, NULL, NULL); /* the second DNS name of cert */
- test_cli_serv(x509_cred, clicred, "NORMAL", "xn--fiqu1az03c18t.xn--mxah1amo.com", NULL, NULL, NULL); /* its IDNA equivalent */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "www.xn--kxawhku.com", NULL,
+ NULL, NULL); /* the previous name in IDNA format */
+ test_cli_serv(x509_cred, clicred, "NORMAL", "简体中文.εξτρα.com", NULL,
+ NULL, NULL); /* the second DNS name of cert */
+ test_cli_serv(x509_cred, clicred, "NORMAL",
+ "xn--fiqu1az03c18t.xn--mxah1amo.com", NULL, NULL,
+ NULL); /* its IDNA equivalent */
test_cli_serv_expect(x509_cred, clicred, "NORMAL", "NORMAL",
"raw:简体中文.εξτρα.com",
diff --git a/tests/set_x509_ocsp_multi_cli.c b/tests/set_x509_ocsp_multi_cli.c
index a99ffb991e..7dda1cf21e 100644
--- a/tests/set_x509_ocsp_multi_cli.c
+++ b/tests/set_x509_ocsp_multi_cli.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,14 +31,14 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "ocsp-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "ocsp-common.h"
+#include "utils.h"
/* Tests whether setting an OCSP response to a client
* is working as expected */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = OCSP_RESP_DATE;
if (t)
@@ -74,8 +74,8 @@ static void check_serv(gnutls_session_t session, void *priv)
fail("not expected response, but received one\n");
}
- if (resp.size != exp_resp->size
- || memcmp(resp.data, exp_resp->data, resp.size) != 0) {
+ if (resp.size != exp_resp->size ||
+ memcmp(resp.data, exp_resp->data, resp.size) != 0) {
fail("did not receive the expected response\n");
}
@@ -86,9 +86,9 @@ static void check_serv(gnutls_session_t session, void *priv)
fail("no intermediate response was received\n");
}
- if (resp.size != ocsp_subca3_unknown.size
- || memcmp(resp.data, ocsp_subca3_unknown.data,
- resp.size) != 0) {
+ if (resp.size != ocsp_subca3_unknown.size ||
+ memcmp(resp.data, ocsp_subca3_unknown.data, resp.size) !=
+ 0) {
fail("did not receive the expected intermediate response\n");
}
}
@@ -97,9 +97,8 @@ static void check_serv(gnutls_session_t session, void *priv)
if (ret != 0)
fail("error in verification (%s)\n", gnutls_strerror(ret));
- ret =
- gnutls_ocsp_status_request_is_checked(session,
- GNUTLS_OCSP_SR_IS_AVAIL);
+ ret = gnutls_ocsp_status_request_is_checked(session,
+ GNUTLS_OCSP_SR_IS_AVAIL);
if (ret == 0) {
fail("did not receive the expected value (%d)\n", ret);
}
@@ -145,23 +144,19 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_key_file2(clicred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ clicred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -171,21 +166,16 @@ void doit(void)
fp = fopen(ocspfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_subca3_unknown_pem.data, 1, ocsp_subca3_unknown_pem.size,
- fp) > 0);
- assert(fwrite
- (ocsp_ca3_localhost_unknown_pem.data, 1,
- ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
- assert(fwrite
- (ocsp_ca3_localhost6_unknown_pem.data, 1,
- ocsp_ca3_localhost6_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_subca3_unknown_pem.data, 1,
+ ocsp_subca3_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost_unknown_pem.data, 1,
+ ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost6_unknown_pem.data, 1,
+ ocsp_ca3_localhost6_unknown_pem.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file2(clicred, ocspfile1,
- index1,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_ocsp_status_request_file2(
+ clicred, ocspfile1, index1, GNUTLS_X509_FMT_PEM);
if (ret != GNUTLS_E_OCSP_MISMATCH_WITH_CERTS)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -194,24 +184,19 @@ void doit(void)
fp = fopen(ocspfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_subca3_unknown_pem.data, 1, ocsp_subca3_unknown_pem.size,
- fp) > 0);
- assert(fwrite
- (ocsp_ca3_localhost_unknown_pem.data, 1,
- ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_subca3_unknown_pem.data, 1,
+ ocsp_subca3_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost_unknown_pem.data, 1,
+ ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file2(clicred, ocspfile1,
- index1,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_ocsp_status_request_file2(
+ clicred, ocspfile1, index1, GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
@@ -228,7 +213,7 @@ void doit(void)
if (t != 1509625639)
fail("error in OCSP validity time: %ld\n", (long int)t);
-# define PRIO "NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3"
+#define PRIO "NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3"
_test_cli_serv(xcred, clicred, PRIO, PRIO, "localhost",
&ocsp_ca3_localhost_unknown, check_cli, check_serv, 0, 1,
0, 0);
diff --git a/tests/set_x509_ocsp_multi_invalid.c b/tests/set_x509_ocsp_multi_invalid.c
index e590e75845..ba50560a4e 100644
--- a/tests/set_x509_ocsp_multi_invalid.c
+++ b/tests/set_x509_ocsp_multi_invalid.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,13 +31,13 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* Tests whether setting an OCSP response to a server with multiple
* certificate sets, is working as expected */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1469186559;
if (t)
@@ -46,19 +46,22 @@ static time_t mytime(time_t * t)
return then;
}
-# define RESP1 "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP1 \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-static gnutls_datum_t ocsp_resp1 =
- { (unsigned char *)RESP1, sizeof(RESP1) - 1 };
+static gnutls_datum_t ocsp_resp1 = { (unsigned char *)RESP1,
+ sizeof(RESP1) - 1 };
-# define RESP2 "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP2 \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-static gnutls_datum_t ocsp_resp2 =
- { (unsigned char *)RESP2, sizeof(RESP2) - 1 };
+static gnutls_datum_t ocsp_resp2 = { (unsigned char *)RESP2,
+ sizeof(RESP2) - 1 };
-# define RESP3 "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
-static gnutls_datum_t ocsp_resp3 =
- { (unsigned char *)RESP3, sizeof(RESP3) - 1 };
+#define RESP3 \
+ "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
+static gnutls_datum_t ocsp_resp3 = { (unsigned char *)RESP3,
+ sizeof(RESP3) - 1 };
static void check_response(gnutls_session_t session, void *priv)
{
@@ -77,8 +80,8 @@ static void check_response(gnutls_session_t session, void *priv)
fail("not expected response, but received one\n");
}
- if (resp.size != exp_resp->size
- || memcmp(resp.data, exp_resp->data, resp.size) != 0) {
+ if (resp.size != exp_resp->size ||
+ memcmp(resp.data, exp_resp->data, resp.size) != 0) {
fail("did not receive the expected response\n");
}
}
@@ -103,7 +106,7 @@ void doit(void)
char certname2[TMPNAME_SIZE], ocspname2[TMPNAME_SIZE];
char certname3[TMPNAME_SIZE], ocspname3[TMPNAME_SIZE];
FILE *fp;
- unsigned index1, index2, index3; /* indexes of certs */
+ unsigned index1, index2, index3; /* indexes of certs */
global_init();
gnutls_global_set_time_function(mytime);
@@ -123,17 +126,14 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -144,17 +144,14 @@ void doit(void)
fp = fopen(certfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile2, certfile2,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile2, certfile2, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index2 = ret;
@@ -162,12 +159,10 @@ void doit(void)
fp = fopen(certfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
/* set ECC cert */
@@ -180,9 +175,8 @@ void doit(void)
assert(fwrite(ecc_key, 1, strlen(ecc_key), fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile3, certfile3,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile3, certfile3, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index3 = ret;
@@ -190,12 +184,10 @@ void doit(void)
fp = fopen(certfile3, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
/* set OCSP response1 */
@@ -206,20 +198,18 @@ void doit(void)
assert(fwrite(ocsp_resp1.data, 1, ocsp_resp1.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
- index1);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
+ index1);
if (ret != GNUTLS_E_OCSP_MISMATCH_WITH_CERTS)
fail("unexpected error in setting invalid ocsp file: %s\n",
gnutls_strerror(ret));
- gnutls_certificate_set_flags(xcred,
- GNUTLS_CERTIFICATE_API_V2 |
- GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
+ gnutls_certificate_set_flags(
+ xcred, GNUTLS_CERTIFICATE_API_V2 |
+ GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
- index1);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
+ index1);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -231,9 +221,8 @@ void doit(void)
assert(fwrite(ocsp_resp2.data, 1, ocsp_resp2.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile2,
- index2);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile2,
+ index2);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -245,15 +234,15 @@ void doit(void)
assert(fwrite(ocsp_resp3.data, 1, ocsp_resp3.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
- index3);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
+ index3);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
/* set an OCSP response outside the bounds */
- assert(gnutls_certificate_set_ocsp_status_request_file
- (xcred, ocspfile3, 34) == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ assert(gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
+ 34) ==
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
/* make sure that our invalid OCSP responses are not considered in verification
*/
@@ -263,9 +252,8 @@ void doit(void)
GNUTLS_VERIFY_DISABLE_CRL_CHECKS)
fail("error in gnutls_certificate_set_verify_flags\n");
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
@@ -276,9 +264,10 @@ void doit(void)
test_cli_serv(xcred, clicred,
"NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.2",
"localhost6", &ocsp_resp2, check_response, NULL);
- test_cli_serv(xcred, clicred,
- "NORMAL:-ECDHE-RSA:-RSA:-DHE-RSA:-VERS-TLS-ALL:+VERS-TLS1.2",
- NULL, &ocsp_resp3, check_response, NULL);
+ test_cli_serv(
+ xcred, clicred,
+ "NORMAL:-ECDHE-RSA:-RSA:-DHE-RSA:-VERS-TLS-ALL:+VERS-TLS1.2",
+ NULL, &ocsp_resp3, check_response, NULL);
test_cli_serv(xcred, clicred,
"NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
@@ -286,9 +275,10 @@ void doit(void)
test_cli_serv(xcred, clicred,
"NORMAL:-ECDHE-ECDSA:-VERS-TLS-ALL:+VERS-TLS1.3",
"localhost6", &ocsp_resp2, check_response, NULL);
- test_cli_serv(xcred, clicred,
- "NORMAL:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:-ECDHE-RSA:-DHE-RSA:-RSA:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL, &ocsp_resp3, check_response, NULL);
+ test_cli_serv(
+ xcred, clicred,
+ "NORMAL:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:-ECDHE-RSA:-DHE-RSA:-RSA:-VERS-TLS-ALL:+VERS-TLS1.3",
+ NULL, &ocsp_resp3, check_response, NULL);
gnutls_certificate_free_credentials(xcred);
gnutls_certificate_free_credentials(clicred);
diff --git a/tests/set_x509_ocsp_multi_pem.c b/tests/set_x509_ocsp_multi_pem.c
index 3deff6337a..a1fe5b717f 100644
--- a/tests/set_x509_ocsp_multi_pem.c
+++ b/tests/set_x509_ocsp_multi_pem.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,14 +31,14 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "ocsp-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "ocsp-common.h"
+#include "utils.h"
/* Tests whether setting an OCSP response to a server with multiple
* certificate sets, is working as expected */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = OCSP_RESP_DATE;
if (t)
@@ -64,8 +64,8 @@ static void check_response(gnutls_session_t session, void *priv)
fail("not expected response, but received one\n");
}
- if (resp.size != exp_resp->size
- || memcmp(resp.data, exp_resp->data, resp.size) != 0) {
+ if (resp.size != exp_resp->size ||
+ memcmp(resp.data, exp_resp->data, resp.size) != 0) {
fail("did not receive the expected response\n");
}
@@ -76,9 +76,9 @@ static void check_response(gnutls_session_t session, void *priv)
fail("no intermediate response was received\n");
}
- if (resp.size != ocsp_subca3_unknown.size
- || memcmp(resp.data, ocsp_subca3_unknown.data,
- resp.size) != 0) {
+ if (resp.size != ocsp_subca3_unknown.size ||
+ memcmp(resp.data, ocsp_subca3_unknown.data, resp.size) !=
+ 0) {
fail("did not receive the expected intermediate response\n");
}
}
@@ -88,9 +88,8 @@ static void check_response(gnutls_session_t session, void *priv)
fail("did not receive the expected value (%d)\n", ret);
}
- ret =
- gnutls_ocsp_status_request_is_checked(session,
- GNUTLS_OCSP_SR_IS_AVAIL);
+ ret = gnutls_ocsp_status_request_is_checked(session,
+ GNUTLS_OCSP_SR_IS_AVAIL);
if (ret == 0) {
fail("did not receive the expected value (%d)\n", ret);
}
@@ -131,17 +130,14 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -151,21 +147,16 @@ void doit(void)
fp = fopen(ocspfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_subca3_unknown_pem.data, 1, ocsp_subca3_unknown_pem.size,
- fp) > 0);
- assert(fwrite
- (ocsp_ca3_localhost_unknown_pem.data, 1,
- ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
- assert(fwrite
- (ocsp_ca3_localhost6_unknown_pem.data, 1,
- ocsp_ca3_localhost6_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_subca3_unknown_pem.data, 1,
+ ocsp_subca3_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost_unknown_pem.data, 1,
+ ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost6_unknown_pem.data, 1,
+ ocsp_ca3_localhost6_unknown_pem.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file2(xcred, ocspfile1,
- index1,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_ocsp_status_request_file2(
+ xcred, ocspfile1, index1, GNUTLS_X509_FMT_PEM);
if (ret != GNUTLS_E_OCSP_MISMATCH_WITH_CERTS)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -174,24 +165,19 @@ void doit(void)
fp = fopen(ocspfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_subca3_unknown_pem.data, 1, ocsp_subca3_unknown_pem.size,
- fp) > 0);
- assert(fwrite
- (ocsp_ca3_localhost_unknown_pem.data, 1,
- ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_subca3_unknown_pem.data, 1,
+ ocsp_subca3_unknown_pem.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost_unknown_pem.data, 1,
+ ocsp_ca3_localhost_unknown_pem.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file2(xcred, ocspfile1,
- index1,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_ocsp_status_request_file2(
+ xcred, ocspfile1, index1, GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
diff --git a/tests/set_x509_ocsp_multi_unknown.c b/tests/set_x509_ocsp_multi_unknown.c
index ddff1128aa..f29d472f74 100644
--- a/tests/set_x509_ocsp_multi_unknown.c
+++ b/tests/set_x509_ocsp_multi_unknown.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,14 +31,14 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "ocsp-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "ocsp-common.h"
+#include "utils.h"
/* Tests whether setting an OCSP response to a server with multiple
* certificate sets, is working as expected */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = OCSP_RESP_DATE;
if (t)
@@ -64,8 +64,8 @@ static void check_response(gnutls_session_t session, void *priv)
fail("not expected response, but received one\n");
}
- if (resp.size != exp_resp->size
- || memcmp(resp.data, exp_resp->data, resp.size) != 0) {
+ if (resp.size != exp_resp->size ||
+ memcmp(resp.data, exp_resp->data, resp.size) != 0) {
fail("did not receive the expected response\n");
}
@@ -76,9 +76,9 @@ static void check_response(gnutls_session_t session, void *priv)
fail("no intermediate response was received\n");
}
- if (resp.size != ocsp_subca3_unknown.size
- || memcmp(resp.data, ocsp_subca3_unknown.data,
- resp.size) != 0) {
+ if (resp.size != ocsp_subca3_unknown.size ||
+ memcmp(resp.data, ocsp_subca3_unknown.data, resp.size) !=
+ 0) {
fail("did not receive the expected intermediate response\n");
}
}
@@ -103,7 +103,7 @@ void doit(void)
char certname2[TMPNAME_SIZE], ocspname2[TMPNAME_SIZE];
char ocspname3[TMPNAME_SIZE];
FILE *fp;
- unsigned index1, index2; /* indexes of certs */
+ unsigned index1, index2; /* indexes of certs */
global_init();
gnutls_global_set_time_function(mytime);
@@ -123,17 +123,14 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -144,17 +141,14 @@ void doit(void)
fp = fopen(certfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile2, certfile2,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile2, certfile2, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index2 = ret;
@@ -164,14 +158,12 @@ void doit(void)
fp = fopen(ocspfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_ca3_localhost_unknown.data, 1,
- ocsp_ca3_localhost_unknown.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost_unknown.data, 1,
+ ocsp_ca3_localhost_unknown.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
- index1);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
+ index1);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -180,14 +172,12 @@ void doit(void)
fp = fopen(ocspfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_ca3_localhost6_unknown.data, 1,
- ocsp_ca3_localhost6_unknown.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost6_unknown.data, 1,
+ ocsp_ca3_localhost6_unknown.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile2,
- index2);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile2,
+ index2);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -196,29 +186,25 @@ void doit(void)
fp = fopen(ocspfile3, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (ocsp_ca3_localhost_unknown_sha1.data, 1,
- ocsp_ca3_localhost_unknown_sha1.size, fp) > 0);
+ assert(fwrite(ocsp_ca3_localhost_unknown_sha1.data, 1,
+ ocsp_ca3_localhost_unknown_sha1.size, fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
- index1);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
+ index1);
if (ret != 0)
fail("setting duplicate didn't succeed as expected: %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
- index2);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
+ index2);
if (ret != GNUTLS_E_OCSP_MISMATCH_WITH_CERTS)
fail("setting invalid didn't fail as expected: %s\n",
gnutls_strerror(ret));
/* re-set the previous duplicate set for index1 to the expected */
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
- index1);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile1,
+ index1);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -226,25 +212,22 @@ void doit(void)
fp = fopen(ocspfile3, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite(ocsp_subca3_unknown.data, 1, ocsp_subca3_unknown.size, fp)
- > 0);
+ assert(fwrite(ocsp_subca3_unknown.data, 1, ocsp_subca3_unknown.size,
+ fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
- index1);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
+ index1);
if (ret < 0)
fail("setting subCA failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
- index2);
+ ret = gnutls_certificate_set_ocsp_status_request_file(xcred, ocspfile3,
+ index2);
if (ret < 0)
fail("setting subCA failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
diff --git a/tests/set_x509_pkcs12_key.c b/tests/set_x509_pkcs12_key.c
index 69ca38ddf8..0461a0d325 100644
--- a/tests/set_x509_pkcs12_key.c
+++ b/tests/set_x509_pkcs12_key.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,7 +33,7 @@
#include "cert-common.h"
#include "utils.h"
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -44,8 +44,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -70,20 +70,19 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&xcred) >= 0);
/* this will fail */
- ret = gnutls_certificate_set_x509_simple_pkcs12_file(xcred, certfile,
- GNUTLS_X509_FMT_PEM,
- "1234");
+ ret = gnutls_certificate_set_x509_simple_pkcs12_file(
+ xcred, certfile, GNUTLS_X509_FMT_PEM, "1234");
if (ret != GNUTLS_E_FILE_ERROR)
- fail("gnutls_certificate_set_x509_simple_pkcs12_file failed: %s\n", gnutls_strerror(ret));
+ fail("gnutls_certificate_set_x509_simple_pkcs12_file failed: %s\n",
+ gnutls_strerror(ret));
gnutls_certificate_free_credentials(xcred);
assert(gnutls_certificate_allocate_credentials(&clicred) >= 0);
assert(gnutls_certificate_allocate_credentials(&xcred) >= 0);
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("set_x509_trust_file failed: %s\n", gnutls_strerror(ret));
@@ -93,16 +92,15 @@ void doit(void)
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_ca3_pkcs12_pem, 1, strlen((char *)server_ca3_pkcs12_pem),
- fp) > 0);
+ assert(fwrite(server_ca3_pkcs12_pem, 1,
+ strlen((char *)server_ca3_pkcs12_pem), fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_simple_pkcs12_file(xcred, certfile,
- GNUTLS_X509_FMT_PEM,
- "1234");
+ ret = gnutls_certificate_set_x509_simple_pkcs12_file(
+ xcred, certfile, GNUTLS_X509_FMT_PEM, "1234");
if (ret < 0)
- fail("gnutls_certificate_set_x509_simple_pkcs12_file failed: %s\n", gnutls_strerror(ret));
+ fail("gnutls_certificate_set_x509_simple_pkcs12_file failed: %s\n",
+ gnutls_strerror(ret));
/* verify whether the stored certificate match the ones we have */
ret = gnutls_certificate_get_crt_raw(xcred, 0, 0, &tcert);
@@ -115,7 +113,8 @@ void doit(void)
remove(certfile);
- test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL, NULL); /* the DNS name of the first cert */
+ test_cli_serv(xcred, clicred, "NORMAL", "localhost", NULL, NULL,
+ NULL); /* the DNS name of the first cert */
gnutls_certificate_free_credentials(xcred);
gnutls_certificate_free_credentials(clicred);
diff --git a/tests/setcredcrash.c b/tests/setcredcrash.c
index 90a933f1ec..d88abd39d9 100644
--- a/tests/setcredcrash.c
+++ b/tests/setcredcrash.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/sign-is-secure.c b/tests/sign-is-secure.c
index bb95ae55aa..924e51cdd5 100644
--- a/tests/sign-is-secure.c
+++ b/tests/sign-is-secure.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,46 +32,46 @@
#include "utils.h"
-#define CHECK_SECURE_SIG(sig) \
- ret = gnutls_sign_is_secure2(sig, 0); \
- if (ret == 0) { \
+#define CHECK_SECURE_SIG(sig) \
+ ret = gnutls_sign_is_secure2(sig, 0); \
+ if (ret == 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
- } \
- ret = gnutls_sign_is_secure(sig); \
- if (ret == 0) { \
+ } \
+ ret = gnutls_sign_is_secure(sig); \
+ if (ret == 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
}
-#define CHECK_INSECURE_SIG(sig) \
- ret = gnutls_sign_is_secure2(sig, 0); \
- if (ret != 0) { \
+#define CHECK_INSECURE_SIG(sig) \
+ ret = gnutls_sign_is_secure2(sig, 0); \
+ if (ret != 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
- } \
- ret = gnutls_sign_is_secure2(sig, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS); \
- if (ret != 0) { \
+ } \
+ ret = gnutls_sign_is_secure2(sig, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS); \
+ if (ret != 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
- } \
- ret = gnutls_sign_is_secure(sig); \
- if (ret != 0) { \
+ } \
+ ret = gnutls_sign_is_secure(sig); \
+ if (ret != 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
}
#ifndef ALLOW_SHA1
-# define CHECK_INSECURE_FOR_CERTS_SIG(sig) \
- ret = gnutls_sign_is_secure2(sig, 0); \
- if (ret == 0) { \
+#define CHECK_INSECURE_FOR_CERTS_SIG(sig) \
+ ret = gnutls_sign_is_secure2(sig, 0); \
+ if (ret == 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
- } \
- ret = gnutls_sign_is_secure2(sig, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS); \
- if (ret != 0) { \
+ } \
+ ret = gnutls_sign_is_secure2(sig, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS); \
+ if (ret != 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
- } \
- ret = gnutls_sign_is_secure(sig); \
- if (ret == 0) { \
+ } \
+ ret = gnutls_sign_is_secure(sig); \
+ if (ret == 0) { \
fail("error testing %d/%s\n", sig, gnutls_sign_get_name(sig)); \
}
#else
-# define CHECK_INSECURE_FOR_CERTS_SIG(sig)
+#define CHECK_INSECURE_FOR_CERTS_SIG(sig)
#endif
void doit(void)
@@ -89,12 +89,12 @@ void doit(void)
for (i = 1; i <= GNUTLS_SIGN_MAX; i++) {
#ifndef ALLOW_SHA1
- if (i == GNUTLS_SIGN_RSA_SHA1 || i == GNUTLS_SIGN_DSA_SHA1
- || i == GNUTLS_SIGN_ECDSA_SHA1)
+ if (i == GNUTLS_SIGN_RSA_SHA1 || i == GNUTLS_SIGN_DSA_SHA1 ||
+ i == GNUTLS_SIGN_ECDSA_SHA1)
continue;
#endif
- if (i == GNUTLS_SIGN_GOST_94 || i == GNUTLS_SIGN_RSA_MD5
- || i == GNUTLS_SIGN_RSA_MD2 || i == GNUTLS_SIGN_UNKNOWN)
+ if (i == GNUTLS_SIGN_GOST_94 || i == GNUTLS_SIGN_RSA_MD5 ||
+ i == GNUTLS_SIGN_RSA_MD2 || i == GNUTLS_SIGN_UNKNOWN)
continue;
/* skip any unused elements */
if (gnutls_sign_algorithm_get_name(i) == NULL)
diff --git a/tests/sign-pk-api.c b/tests/sign-pk-api.c
index bf8ad7b45f..89edca4c7c 100644
--- a/tests/sign-pk-api.c
+++ b/tests/sign-pk-api.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,10 +32,11 @@
#include "utils.h"
-#define ALGO_MATCHES(sig, pk, val) \
- ret = gnutls_sign_supports_pk_algorithm(sig, pk); \
- if (ret != val) { \
- fail("error testing %s with %s\n", gnutls_sign_get_name(sig), gnutls_pk_get_name(pk)); \
+#define ALGO_MATCHES(sig, pk, val) \
+ ret = gnutls_sign_supports_pk_algorithm(sig, pk); \
+ if (ret != val) { \
+ fail("error testing %s with %s\n", gnutls_sign_get_name(sig), \
+ gnutls_pk_get_name(pk)); \
}
void doit(void)
@@ -63,5 +64,4 @@ void doit(void)
ALGO_MATCHES(GNUTLS_SIGN_RSA_SHA256, GNUTLS_PK_RSA_PSS, 0);
ALGO_MATCHES(GNUTLS_SIGN_RSA_SHA384, GNUTLS_PK_RSA_PSS, 0);
ALGO_MATCHES(GNUTLS_SIGN_RSA_SHA512, GNUTLS_PK_RSA_PSS, 0);
-
}
diff --git a/tests/sign-verify-data-newapi.c b/tests/sign-verify-data-newapi.c
index 2371fb3553..0a86e722d6 100644
--- a/tests/sign-verify-data-newapi.c
+++ b/tests/sign-verify-data-newapi.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -29,9 +29,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -50,22 +50,19 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t invalid_raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
20
};
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -98,10 +95,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_pubkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(privkey, &tests[i].key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ privkey, &tests[i].key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
testfail("gnutls_privkey_import_x509\n");
@@ -114,9 +109,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt, &tests[i].cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_crt_import\n");
@@ -124,45 +118,40 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
+ &raw_data, &signature);
if (ret < 0)
testfail("gnutls_x509_pubkey_verify_data2\n");
/* Test functionality of GNUTLS_VERIFY_DISABLE_CA_SIGN flag (see issue #754) */
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_DISABLE_CA_SIGN,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_DISABLE_CA_SIGN,
+ &raw_data, &signature);
if (ret < 0)
testfail("gnutls_x509_pubkey_verify_data2\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
- &invalid_raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
+ &invalid_raw_data, &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
-
- sign_algo =
- gnutls_pk_to_sign(gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), tests[i].digest);
- ret =
- gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
- &raw_data, &signature);
+ testfail(
+ "gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
+
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
+ ret = gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
+ &raw_data, &signature);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_data2-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_data2-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
- &invalid_raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
+ &invalid_raw_data, &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
/* test the raw interface */
gnutls_free(signature.data);
diff --git a/tests/sign-verify-data.c b/tests/sign-verify-data.c
index f358a38110..7422baca87 100644
--- a/tests/sign-verify-data.c
+++ b/tests/sign-verify-data.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,9 +28,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -49,22 +49,19 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t invalid_raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
20
};
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -97,17 +94,14 @@ void doit(void)
if (ret < 0)
testfail("gnutls_pubkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(privkey, &tests[i].key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ privkey, &tests[i].key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
testfail("gnutls_privkey_import_x509\n");
- ret =
- gnutls_privkey_sign_data(privkey, tests[i].digest,
- tests[i].sign_flags, &raw_data,
- &signature);
+ ret = gnutls_privkey_sign_data(privkey, tests[i].digest,
+ tests[i].sign_flags, &raw_data,
+ &signature);
if (ret < 0)
testfail("gnutls_x509_privkey_sign_hash\n");
@@ -115,9 +109,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt, &tests[i].cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_crt_import\n");
@@ -125,37 +118,33 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
+ &raw_data, &signature);
if (ret < 0)
testfail("gnutls_x509_pubkey_verify_data2\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
- &invalid_raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
+ &invalid_raw_data, &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
-
- sign_algo =
- gnutls_pk_to_sign(gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), tests[i].digest);
- ret =
- gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
- &raw_data, &signature);
+ testfail(
+ "gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
+
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
+ ret = gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
+ &raw_data, &signature);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_data2-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_data2-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
- &invalid_raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, sign_algo, 0,
+ &invalid_raw_data, &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_data2-2 (hashed data)\n");
/* test the raw interface */
gnutls_free(signature.data);
diff --git a/tests/sign-verify-deterministic.c b/tests/sign-verify-deterministic.c
index fa30ab2315..a41a04a921 100644
--- a/tests/sign-verify-deterministic.c
+++ b/tests/sign-verify-deterministic.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,9 +28,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -59,91 +59,82 @@ struct _key_tests_st {
/* Test vectors from RFC 6979 */
static const char dsa_privkey_rfc6979[] =
- "-----BEGIN DSA PRIVATE KEY-----\n"
- "MIIBugIBAAKBgQCG9coD3P6yJQY/+DCgx2m53Z1hU62R184n94fEMni0R+ZTO4ax\n"
- "i+1uiki3hKFMJSxb4Nv2C4bWOFvS8S+3Y+2Ic6v9P1ui4KjApZCC6sBWk15Sna98\n"
- "YQRniZx3re38hGyIGHC3sZsrWPm+BSGhcALjvda4ZoXukLPZobAreCsXeQIVAJlv\n"
- "ln9sjjiNnijQHiBfupV6VpixAoGAB7D5JUYVC2JRS7dx4qDAzjh/A72mxWtQUgn/\n"
- "Jf08Ez2Ju82X6QTgkRTZp9796t/JB46lRNLkAa7sxAu5+794/YeZWhChwny3eJtZ\n"
- "S6fvtcQyap/lmgcOE223cXVGStykF75dzi9A0QpGo6OUPyarf9nAOY/4x27gpWgm\n"
- "qKiPHb0CgYBd9eAd7THQKX4nThaRwZL+WGj++eGahHdkVLEAzxb2U5IZWji5BSPi\n"
- "VC7mGHHARAy4fDIvxLTS7F4efsdm4b6NTOk1Q33BHDyP1CYziTPr/nOcs0ZfTTZo\n"
- "xeRzUIJTseaC9ly9xPrpPC6iEjkOVJBahuIiMXC0Tqp9pd2f/Pt/OwIUQRYCyxmm\n"
- "zMNElNedmO8eftWvJfc=\n" "-----END DSA PRIVATE KEY-----\n";
+ "-----BEGIN DSA PRIVATE KEY-----\n"
+ "MIIBugIBAAKBgQCG9coD3P6yJQY/+DCgx2m53Z1hU62R184n94fEMni0R+ZTO4ax\n"
+ "i+1uiki3hKFMJSxb4Nv2C4bWOFvS8S+3Y+2Ic6v9P1ui4KjApZCC6sBWk15Sna98\n"
+ "YQRniZx3re38hGyIGHC3sZsrWPm+BSGhcALjvda4ZoXukLPZobAreCsXeQIVAJlv\n"
+ "ln9sjjiNnijQHiBfupV6VpixAoGAB7D5JUYVC2JRS7dx4qDAzjh/A72mxWtQUgn/\n"
+ "Jf08Ez2Ju82X6QTgkRTZp9796t/JB46lRNLkAa7sxAu5+794/YeZWhChwny3eJtZ\n"
+ "S6fvtcQyap/lmgcOE223cXVGStykF75dzi9A0QpGo6OUPyarf9nAOY/4x27gpWgm\n"
+ "qKiPHb0CgYBd9eAd7THQKX4nThaRwZL+WGj++eGahHdkVLEAzxb2U5IZWji5BSPi\n"
+ "VC7mGHHARAy4fDIvxLTS7F4efsdm4b6NTOk1Q33BHDyP1CYziTPr/nOcs0ZfTTZo\n"
+ "xeRzUIJTseaC9ly9xPrpPC6iEjkOVJBahuIiMXC0Tqp9pd2f/Pt/OwIUQRYCyxmm\n"
+ "zMNElNedmO8eftWvJfc=\n"
+ "-----END DSA PRIVATE KEY-----\n";
static const char ecdsa_secp256r1_privkey_rfc6979[] =
- "-----BEGIN EC PRIVATE KEY-----\n"
- "MHgCAQEEIQDJr6nYRbp1FmtcIVdnsdaTTlDD2zbomxJ7imIrEg9nIaAKBggqhkjO\n"
- "PQMBB6FEA0IABGD+1LolWp0xyWHrdMY1bWjASbiSO2H6bOZpYi5g8p+2eQP+EAi4\n"
- "vJmkGunpVii8ZPLxsgwtfp9Rd6PClNRGIpk=\n" "-----END EC PRIVATE KEY-----\n";
+ "-----BEGIN EC PRIVATE KEY-----\n"
+ "MHgCAQEEIQDJr6nYRbp1FmtcIVdnsdaTTlDD2zbomxJ7imIrEg9nIaAKBggqhkjO\n"
+ "PQMBB6FEA0IABGD+1LolWp0xyWHrdMY1bWjASbiSO2H6bOZpYi5g8p+2eQP+EAi4\n"
+ "vJmkGunpVii8ZPLxsgwtfp9Rd6PClNRGIpk=\n"
+ "-----END EC PRIVATE KEY-----\n";
static const char sample[] = "sample";
-static const
-struct _key_tests_st tests[] = {
- {
- .name = "dsa key",
- .key = {(void *)dsa_privkey_rfc6979, sizeof(dsa_privkey_rfc6979) - 1},
- .msg = {(void *)sample, sizeof(sample) - 1},
- .sig = {(void *)
- "\x30\x2d\x02\x15\x00\x81\xf2\xf5\x85\x0b\xe5\xbc\x12\x3c\x43\xf7\x1a\x30\x33\xe9\x38\x46\x11\xc5\x45\x02\x14\x4c\xdd\x91\x4b\x65\xeb\x6c\x66\xa8\xaa\xad\x27\x29\x9b\xee\x6b\x03\x5f\x5e\x89",
- 47},
- .pk = GNUTLS_PK_DSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_DSA_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE},
- {
- .name = "ecdsa key",
- .key = {(void *)ecdsa_secp256r1_privkey_rfc6979,
- sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1},
- .msg = {(void *)sample, sizeof(sample) - 1},
- .sig = {(void *)
- "\x30\x46\x02\x21\x00\xef\xd4\x8b\x2a\xac\xb6\xa8\xfd\x11\x40\xdd\x9c\xd4\x5e\x81\xd6\x9d\x2c\x87\x7b\x56\xaa\xf9\x91\xc3\x4d\x0e\xa8\x4e\xaf\x37\x16\x02\x21\x00\xf7\xcb\x1c\x94\x2d\x65\x7c\x41\xd4\x36\xc7\xa1\xb6\xe2\x9f\x65\xf3\xe9\x00\xdb\xb9\xaf\xf4\x06\x4d\xc4\xab\x2f\x84\x3a\xcd\xa8",
- 72},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE},
- {
- .name = "ecdsa key",
- .key = {(void *)ecdsa_secp256r1_privkey_rfc6979,
- sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1},
- .msg = {(void *)sample, sizeof(sample) - 1},
- .sig = {(void *)
- "\x30\x46\x02\x21\x00\xef\xd4\x8b\x2a\xac\xb6\xa8\xfd\x11\x40\xdd\x9c\xd4\x5e\x81\xd6\x9d\x2c\x87\x7b\x56\xaa\xf9\x91\xc3\x4d\x0e\xa8\x4e\xaf\x37\x16\x02\x21\x00\xf7\xcb\x1c\x94\x2d\x65\x7c\x41\xd4\x36\xc7\xa1\xb6\xe2\x9f\x65\xf3\xe9\x00\xdb\xb9\xaf\xf4\x06\x4d\xc4\xab\x2f\x84\x3a\xcd\xa8",
- 72},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA256,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA256,
- .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE},
- {
- .name = "ecdsa key (q bits < h bits)",
- .key = {(void *)ecdsa_secp256r1_privkey_rfc6979,
- sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1},
- .msg = {(void *)sample, sizeof(sample) - 1},
- .sig = {(void *)
- "\x30\x44\x02\x20\x0e\xaf\xea\x03\x9b\x20\xe9\xb4\x23\x09\xfb\x1d\x89\xe2\x13\x05\x7c\xbf\x97\x3d\xc0\xcf\xc8\xf1\x29\xed\xdd\xc8\x00\xef\x77\x19\x02\x20\x48\x61\xf0\x49\x1e\x69\x98\xb9\x45\x51\x93\xe3\x4e\x7b\x0d\x28\x4d\xdd\x71\x49\xa7\x4b\x95\xb9\x26\x1f\x13\xab\xde\x94\x09\x54",
- 70},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA384,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA384,
- .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE},
- {
- .name = "ecdsa key (q bits > h bits)",
- .key = {(void *)ecdsa_secp256r1_privkey_rfc6979,
- sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1},
- .msg = {(void *)sample, sizeof(sample) - 1},
- .sig = {(void *)
- "\x30\x45\x02\x20\x53\xb2\xff\xf5\xd1\x75\x2b\x2c\x68\x9d\xf2\x57\xc0\x4c\x40\xa5\x87\xfa\xba\xbb\x3f\x6f\xc2\x70\x2f\x13\x43\xaf\x7c\xa9\xaa\x3f\x02\x21\x00\xb9\xaf\xb6\x4f\xdc\x03\xdc\x1a\x13\x1c\x7d\x23\x86\xd1\x1e\x34\x9f\x07\x0a\xa4\x32\xa4\xac\xc9\x18\xbe\xa9\x88\xbf\x75\xc7\x4c",
- 71},
- .pk = GNUTLS_PK_ECDSA,
- .digest = GNUTLS_DIG_SHA224,
- .sigalgo = GNUTLS_SIGN_ECDSA_SHA224,
- .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE}
+static const struct _key_tests_st tests[] = {
+ { .name = "dsa key",
+ .key = { (void *)dsa_privkey_rfc6979,
+ sizeof(dsa_privkey_rfc6979) - 1 },
+ .msg = { (void *)sample, sizeof(sample) - 1 },
+ .sig = { (void *)"\x30\x2d\x02\x15\x00\x81\xf2\xf5\x85\x0b\xe5\xbc\x12\x3c\x43\xf7\x1a\x30\x33\xe9\x38\x46\x11\xc5\x45\x02\x14\x4c\xdd\x91\x4b\x65\xeb\x6c\x66\xa8\xaa\xad\x27\x29\x9b\xee\x6b\x03\x5f\x5e\x89",
+ 47 },
+ .pk = GNUTLS_PK_DSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_DSA_SHA256,
+ .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE },
+ { .name = "ecdsa key",
+ .key = { (void *)ecdsa_secp256r1_privkey_rfc6979,
+ sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1 },
+ .msg = { (void *)sample, sizeof(sample) - 1 },
+ .sig = { (void *)"\x30\x46\x02\x21\x00\xef\xd4\x8b\x2a\xac\xb6\xa8\xfd\x11\x40\xdd\x9c\xd4\x5e\x81\xd6\x9d\x2c\x87\x7b\x56\xaa\xf9\x91\xc3\x4d\x0e\xa8\x4e\xaf\x37\x16\x02\x21\x00\xf7\xcb\x1c\x94\x2d\x65\x7c\x41\xd4\x36\xc7\xa1\xb6\xe2\x9f\x65\xf3\xe9\x00\xdb\xb9\xaf\xf4\x06\x4d\xc4\xab\x2f\x84\x3a\xcd\xa8",
+ 72 },
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
+ .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE },
+ { .name = "ecdsa key",
+ .key = { (void *)ecdsa_secp256r1_privkey_rfc6979,
+ sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1 },
+ .msg = { (void *)sample, sizeof(sample) - 1 },
+ .sig = { (void *)"\x30\x46\x02\x21\x00\xef\xd4\x8b\x2a\xac\xb6\xa8\xfd\x11\x40\xdd\x9c\xd4\x5e\x81\xd6\x9d\x2c\x87\x7b\x56\xaa\xf9\x91\xc3\x4d\x0e\xa8\x4e\xaf\x37\x16\x02\x21\x00\xf7\xcb\x1c\x94\x2d\x65\x7c\x41\xd4\x36\xc7\xa1\xb6\xe2\x9f\x65\xf3\xe9\x00\xdb\xb9\xaf\xf4\x06\x4d\xc4\xab\x2f\x84\x3a\xcd\xa8",
+ 72 },
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA256,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SHA256,
+ .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE },
+ { .name = "ecdsa key (q bits < h bits)",
+ .key = { (void *)ecdsa_secp256r1_privkey_rfc6979,
+ sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1 },
+ .msg = { (void *)sample, sizeof(sample) - 1 },
+ .sig = { (void *)"\x30\x44\x02\x20\x0e\xaf\xea\x03\x9b\x20\xe9\xb4\x23\x09\xfb\x1d\x89\xe2\x13\x05\x7c\xbf\x97\x3d\xc0\xcf\xc8\xf1\x29\xed\xdd\xc8\x00\xef\x77\x19\x02\x20\x48\x61\xf0\x49\x1e\x69\x98\xb9\x45\x51\x93\xe3\x4e\x7b\x0d\x28\x4d\xdd\x71\x49\xa7\x4b\x95\xb9\x26\x1f\x13\xab\xde\x94\x09\x54",
+ 70 },
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA384,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SHA384,
+ .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE },
+ { .name = "ecdsa key (q bits > h bits)",
+ .key = { (void *)ecdsa_secp256r1_privkey_rfc6979,
+ sizeof(ecdsa_secp256r1_privkey_rfc6979) - 1 },
+ .msg = { (void *)sample, sizeof(sample) - 1 },
+ .sig = { (void *)"\x30\x45\x02\x20\x53\xb2\xff\xf5\xd1\x75\x2b\x2c\x68\x9d\xf2\x57\xc0\x4c\x40\xa5\x87\xfa\xba\xbb\x3f\x6f\xc2\x70\x2f\x13\x43\xaf\x7c\xa9\xaa\x3f\x02\x21\x00\xb9\xaf\xb6\x4f\xdc\x03\xdc\x1a\x13\x1c\x7d\x23\x86\xd1\x1e\x34\x9f\x07\x0a\xa4\x32\xa4\xac\xc9\x18\xbe\xa9\x88\xbf\x75\xc7\x4c",
+ 71 },
+ .pk = GNUTLS_PK_ECDSA,
+ .digest = GNUTLS_DIG_SHA224,
+ .sigalgo = GNUTLS_SIGN_ECDSA_SHA224,
+ .sign_flags = GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE }
};
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -174,22 +165,19 @@ void doit(void)
signature.data = NULL;
signature.size = 0;
- ret =
- gnutls_privkey_import_x509_raw(privkey, &tests[i].key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ privkey, &tests[i].key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
testfail("gnutls_privkey_import_x509_raw\n");
- ret =
- gnutls_privkey_sign_data(privkey, tests[i].digest,
- tests[i].sign_flags, &tests[i].msg,
- &signature);
+ ret = gnutls_privkey_sign_data(privkey, tests[i].digest,
+ tests[i].sign_flags,
+ &tests[i].msg, &signature);
if (gnutls_fips140_mode_enabled()) {
/* deterministic ECDSA/DSA is prohibited under FIPS */
if (ret != GNUTLS_E_INVALID_REQUEST)
- testfail
- ("gnutls_privkey_sign_data unexpectedly succeeds\n");
+ testfail(
+ "gnutls_privkey_sign_data unexpectedly succeeds\n");
success(" - skipping\n");
goto next;
} else {
@@ -198,22 +186,21 @@ void doit(void)
}
if (signature.size != tests[i].sig.size ||
- memcmp(signature.data, tests[i].sig.data,
- signature.size) != 0)
+ memcmp(signature.data, tests[i].sig.data, signature.size) !=
+ 0)
testfail("signature does not match");
ret = gnutls_pubkey_import_privkey(pubkey, privkey, 0, 0);
if (ret < 0)
testfail("gnutls_pubkey_import_privkey\n");
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
- &tests[i].msg, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo, 0,
+ &tests[i].msg, &signature);
if (ret < 0)
testfail("gnutls_pubkey_verify_data2\n");
success(" - pass");
- next:
+ next:
gnutls_free(signature.data);
gnutls_privkey_deinit(privkey);
gnutls_pubkey_deinit(pubkey);
diff --git a/tests/sign-verify-ed25519-rfc8080.c b/tests/sign-verify-ed25519-rfc8080.c
index 343af225c2..98ee231cd7 100644
--- a/tests/sign-verify-ed25519-rfc8080.c
+++ b/tests/sign-verify-ed25519-rfc8080.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,9 +28,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -48,25 +48,23 @@ static void tls_log_func(int level, const char *str)
/* Values from RFC8080 */
static unsigned char ed25519_x[] =
- "\x97\x4d\x96\xa2\x2d\x22\x4b\xc0\x1a\xdb\x91\x50\x91\x47\x7d\x44\xcc\xd9\x1c\x9a\x41\xa1\x14\x30\x01\x01\x17\xd5\x2c\x59\x24\x0e";
+ "\x97\x4d\x96\xa2\x2d\x22\x4b\xc0\x1a\xdb\x91\x50\x91\x47\x7d\x44\xcc\xd9\x1c\x9a\x41\xa1\x14\x30\x01\x01\x17\xd5\x2c\x59\x24\x0e";
static unsigned char ed25519_k[] =
- "\x38\x32\x32\x36\x30\x33\x38\x34\x36\x32\x38\x30\x38\x30\x31\x32\x32\x36\x34\x35\x31\x39\x30\x32\x30\x34\x31\x34\x32\x32\x36\x32";
+ "\x38\x32\x32\x36\x30\x33\x38\x34\x36\x32\x38\x30\x38\x30\x31\x32\x32\x36\x34\x35\x31\x39\x30\x32\x30\x34\x31\x34\x32\x32\x36\x32";
static gnutls_datum_t _ed25519_x = { ed25519_x, sizeof(ed25519_x) - 1 };
static gnutls_datum_t _ed25519_k = { ed25519_k, sizeof(ed25519_k) - 1 };
/* sha1 hash of "hello" string */
const gnutls_datum_t raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t invalid_raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
20
};
@@ -87,9 +85,8 @@ void doit(void)
if (ret < 0)
fail("error\n");
- ret =
- gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
- &_ed25519_x, NULL, &_ed25519_k);
+ ret = gnutls_privkey_import_ecc_raw(key, GNUTLS_ECC_CURVE_ED25519,
+ &_ed25519_x, NULL, &_ed25519_k);
if (ret < 0)
fail("error\n");
@@ -97,8 +94,8 @@ void doit(void)
if (ret != 0)
fail("error: %s\n", gnutls_strerror(ret));
- ret = gnutls_privkey_sign_data(key, GNUTLS_DIG_SHA512, 0,
- &raw_data, &signature);
+ ret = gnutls_privkey_sign_data(key, GNUTLS_DIG_SHA512, 0, &raw_data,
+ &signature);
if (ret < 0)
fail("gnutls_x509_privkey_sign_hash\n");
@@ -111,9 +108,8 @@ void doit(void)
if (ret < 0)
fail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_EDDSA_ED25519, 0,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_EDDSA_ED25519, 0,
+ &raw_data, &signature);
if (ret < 0)
fail("gnutls_x509_pubkey_verify_data2\n");
@@ -124,15 +120,13 @@ void doit(void)
if (ret < 0)
fail("gnutls_privkey_init\n");
- ret =
- gnutls_pubkey_import_ecc_raw(pubkey, GNUTLS_ECC_CURVE_ED25519,
- &_ed25519_x, NULL);
+ ret = gnutls_pubkey_import_ecc_raw(pubkey, GNUTLS_ECC_CURVE_ED25519,
+ &_ed25519_x, NULL);
if (ret < 0)
fail("gnutls_x509_pubkey_import_ecc_raw\n");
- ret =
- gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_EDDSA_ED25519, 0,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_EDDSA_ED25519, 0,
+ &raw_data, &signature);
if (ret < 0)
fail("gnutls_x509_pubkey_verify_data2\n");
diff --git a/tests/sign-verify-ext.c b/tests/sign-verify-ext.c
index 73ef50d8a6..6ae40ace1e 100644
--- a/tests/sign-verify-ext.c
+++ b/tests/sign-verify-ext.c
@@ -22,7 +22,7 @@
/* This tests the gnutls_privkey_import_ext2() APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -48,37 +48,31 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha1_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t sha256_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
struct key_cb_data {
- gnutls_privkey_t rkey; /* the real thing */
+ gnutls_privkey_t rkey; /* the real thing */
};
-static
-int key_cb_sign_func(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * data, gnutls_datum_t * signature)
+static int key_cb_sign_func(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
struct key_cb_data *p = userdata;
- return gnutls_privkey_sign_hash(p->rkey, 0,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data,
- signature);
+ return gnutls_privkey_sign_hash(
+ p->rkey, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data, signature);
}
static void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
@@ -88,7 +82,7 @@ static void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
free(userdata);
}
-static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
+static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t *txtkey,
gnutls_pk_algorithm_t pk)
{
gnutls_privkey_t privkey;
@@ -108,16 +102,15 @@ static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
if (ret < 0)
fail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("gnutls_privkey_import\n");
- ret =
- gnutls_privkey_import_ext2(privkey, pk, userdata, key_cb_sign_func,
- NULL, key_cb_deinit_func,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_ext2(privkey, pk, userdata,
+ key_cb_sign_func, NULL,
+ key_cb_deinit_func,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0)
fail("gnutls_privkey_import_ext2\n");
@@ -125,8 +118,7 @@ static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
}
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -146,8 +138,8 @@ void doit(void)
gnutls_global_set_log_level(6);
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
- if (tests[i].pk == GNUTLS_PK_RSA_PSS
- || tests[i].pk == GNUTLS_PK_EDDSA_ED25519)
+ if (tests[i].pk == GNUTLS_PK_RSA_PSS ||
+ tests[i].pk == GNUTLS_PK_EDDSA_ED25519)
continue;
success("testing: %s - %s\n", tests[i].name,
@@ -165,40 +157,37 @@ void doit(void)
if (ret < 0)
testfail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_sign_hash(privkey, tests[i].digest,
- tests[i].sign_flags, hash_data,
- &signature2);
+ ret = gnutls_privkey_sign_hash(privkey, tests[i].digest,
+ tests[i].sign_flags, hash_data,
+ &signature2);
if (ret < 0)
testfail("gnutls_privkey_sign_hash\n");
- ret =
- gnutls_privkey_sign_data(privkey, tests[i].digest,
- tests[i].sign_flags, &raw_data,
- &signature);
+ ret = gnutls_privkey_sign_data(privkey, tests[i].digest,
+ tests[i].sign_flags, &raw_data,
+ &signature);
if (ret < 0)
testfail("gnutls_x509_privkey_sign_hash\n");
- ret =
- gnutls_pubkey_import_x509_raw(pubkey, &tests[i].cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pubkey_import_x509_raw(pubkey, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0)
testfail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_pubkey_verify_hash2\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature2);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash2-1 (hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash2-1 (hashed data)\n");
/* test the raw interface */
gnutls_free(signature.data);
@@ -206,45 +195,41 @@ void doit(void)
if (gnutls_pubkey_get_pk_algorithm(pubkey, NULL) ==
GNUTLS_PK_RSA) {
-
- ret =
- gnutls_privkey_sign_hash(privkey,
- tests[i].digest,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_hash(
+ privkey, tests[i].digest,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_hash: %s\n",
gnutls_strerror(ret));
- sign_algo =
- gnutls_pk_to_sign
- (gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
- tests[i].digest);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
gnutls_free(signature.data);
/* test the legacy API */
- ret =
- gnutls_privkey_sign_raw_data(privkey, 0,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_raw_data(
+ privkey, 0, hash_data, &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_raw_data: %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
}
gnutls_free(signature.data);
gnutls_free(signature2.data);
diff --git a/tests/sign-verify-ext4.c b/tests/sign-verify-ext4.c
index 1aba291b2e..4c0ab77b48 100644
--- a/tests/sign-verify-ext4.c
+++ b/tests/sign-verify-ext4.c
@@ -22,7 +22,7 @@
/* This tests the gnutls_privkey_import_ext4() APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -48,26 +48,21 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha1_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t sha256_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
struct key_cb_data {
- gnutls_privkey_t rkey; /* the real thing */
+ gnutls_privkey_t rkey; /* the real thing */
unsigned pk;
unsigned sig;
unsigned bits;
@@ -94,11 +89,10 @@ static int key_cb_info_func(gnutls_privkey_t key, unsigned int flags,
return -1;
}
-static
-int key_cb_sign_data_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
- void *userdata, unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature)
+static int key_cb_sign_data_func(gnutls_privkey_t key,
+ gnutls_sign_algorithm_t sig, void *userdata,
+ unsigned int flags, const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
struct key_cb_data *p = userdata;
@@ -108,20 +102,19 @@ int key_cb_sign_data_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
return gnutls_privkey_sign_data2(p->rkey, sig, 0, data, signature);
}
-static
-int key_cb_sign_hash_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
- void *userdata, unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature)
+static int key_cb_sign_hash_func(gnutls_privkey_t key,
+ gnutls_sign_algorithm_t sig, void *userdata,
+ unsigned int flags, const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
struct key_cb_data *p = userdata;
if (sig == GNUTLS_SIGN_RSA_RAW) {
if (debug)
fprintf(stderr, "signing digestinfo with: raw RSA\n");
- return gnutls_privkey_sign_hash(p->rkey, 0,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- data, signature);
+ return gnutls_privkey_sign_hash(
+ p->rkey, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data,
+ signature);
} else {
if (debug)
fprintf(stderr, "signing hash with: %s\n",
@@ -138,7 +131,7 @@ static void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
free(userdata);
}
-static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
+static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t *txtkey,
gnutls_pk_algorithm_t pk,
gnutls_sign_algorithm_t sig)
{
@@ -159,9 +152,8 @@ static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
if (ret < 0)
fail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("gnutls_privkey_import\n");
@@ -172,8 +164,7 @@ static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
ret = gnutls_privkey_import_ext4(privkey, userdata,
key_cb_sign_data_func,
- key_cb_sign_hash_func,
- NULL,
+ key_cb_sign_hash_func, NULL,
key_cb_deinit_func, key_cb_info_func,
GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0)
@@ -183,8 +174,7 @@ static gnutls_privkey_t load_virt_privkey(const gnutls_datum_t * txtkey,
}
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -213,96 +203,88 @@ void doit(void)
hash_data = &sha256_hash_data;
}
- privkey =
- load_virt_privkey(&tests[i].key, tests[i].pk,
- tests[i].sigalgo);
+ privkey = load_virt_privkey(&tests[i].key, tests[i].pk,
+ tests[i].sigalgo);
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0)
testfail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_sign_data2(privkey, tests[i].sigalgo,
- tests[i].sign_flags, &raw_data,
- &signature);
+ ret = gnutls_privkey_sign_data2(privkey, tests[i].sigalgo,
+ tests[i].sign_flags, &raw_data,
+ &signature);
if (ret < 0)
testfail("gnutls_x509_privkey_sign_hash\n");
- ret =
- gnutls_pubkey_import_x509_raw(pubkey, &tests[i].cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pubkey_import_x509_raw(pubkey, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0)
testfail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_data2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- &raw_data, &signature);
+ ret = gnutls_pubkey_verify_data2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, &raw_data,
+ &signature);
if (ret < 0)
testfail("gnutls_pubkey_verify_data2\n");
gnutls_free(signature.data);
if (!tests[i].data_only) {
- ret =
- gnutls_privkey_sign_hash(privkey, tests[i].digest,
- tests[i].sign_flags,
- hash_data, &signature2);
+ ret = gnutls_privkey_sign_hash(privkey, tests[i].digest,
+ tests[i].sign_flags,
+ hash_data, &signature2);
if (ret < 0)
testfail("gnutls_privkey_sign_hash\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature2);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash2-1 (hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash2-1 (hashed data)\n");
gnutls_free(signature2.data);
}
if (gnutls_pubkey_get_pk_algorithm(pubkey, NULL) ==
GNUTLS_PK_RSA) {
-
- ret =
- gnutls_privkey_sign_hash(privkey,
- tests[i].digest,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_hash(
+ privkey, tests[i].digest,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_hash: %s\n",
gnutls_strerror(ret));
- sign_algo =
- gnutls_pk_to_sign
- (gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
- tests[i].digest);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
gnutls_free(signature.data);
/* test the legacy API */
- ret =
- gnutls_privkey_sign_raw_data(privkey, 0,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_raw_data(
+ privkey, 0, hash_data, &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_raw_data: %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
}
gnutls_free(signature.data);
gnutls_free(signature2.data);
diff --git a/tests/sign-verify-newapi.c b/tests/sign-verify-newapi.c
index 68efe03e4d..ee3bddfe6c 100644
--- a/tests/sign-verify-newapi.c
+++ b/tests/sign-verify-newapi.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -48,41 +48,33 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha1_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t sha256_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
const gnutls_datum_t sha256_invalid_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb1\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa3\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb1\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa3\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
const gnutls_datum_t sha1_invalid_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
20
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -123,9 +115,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_privkey_init\n");
- ret =
- gnutls_x509_privkey_import(key, &tests[i].key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &tests[i].key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_privkey_import\n");
@@ -155,9 +146,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt, &tests[i].cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_crt_import\n");
@@ -165,59 +155,56 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_x509_pubkey_verify_hash2\n");
/* Test functionality of GNUTLS_VERIFY_DISABLE_CA_SIGN (see issue #754) */
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_DISABLE_CA_SIGN,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_DISABLE_CA_SIGN,
+ hash_data, &signature);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_hash2 with GNUTLS_VERIFY_DISABLE_CA_SIGN\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash2 with GNUTLS_VERIFY_DISABLE_CA_SIGN\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature2);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_hash-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- invalid_hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, invalid_hash_data,
+ &signature2);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_hash-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash-2 (hashed data)\n");
- sign_algo =
- gnutls_pk_to_sign(gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), tests[i].digest);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo, GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
+ hash_data, &signature2);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_hash2-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash2-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- invalid_hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo, GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
+ invalid_hash_data, &signature2);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_hash2-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash2-2 (hashed data)\n");
/* test the raw interface */
gnutls_free(signature.data);
@@ -225,39 +212,36 @@ void doit(void)
if (gnutls_pubkey_get_pk_algorithm(pubkey, NULL) ==
GNUTLS_PK_RSA) {
-
- ret =
- gnutls_privkey_sign_hash2(privkey,
- tests[i].sigalgo,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_hash2(
+ privkey, tests[i].sigalgo,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_hash: %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
gnutls_free(signature.data);
/* test the legacy API */
- ret =
- gnutls_privkey_sign_raw_data(privkey, 0,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_raw_data(
+ privkey, 0, hash_data, &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_raw_data: %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
}
gnutls_free(signature.data);
gnutls_free(signature2.data);
diff --git a/tests/sign-verify.c b/tests/sign-verify.c
index b37c7eb74a..533a6c6a8b 100644
--- a/tests/sign-verify.c
+++ b/tests/sign-verify.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -48,41 +48,33 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha1_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t sha256_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
const gnutls_datum_t sha256_invalid_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb1\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa3\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb1\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa3\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
const gnutls_datum_t sha1_invalid_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
20
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -123,9 +115,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_privkey_init\n");
- ret =
- gnutls_x509_privkey_import(key, &tests[i].key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &tests[i].key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_privkey_import\n");
@@ -141,17 +132,15 @@ void doit(void)
if (ret < 0)
testfail("gnutls_privkey_import_x509\n");
- ret =
- gnutls_privkey_sign_hash(privkey, tests[i].digest,
- tests[i].sign_flags, hash_data,
- &signature2);
+ ret = gnutls_privkey_sign_hash(privkey, tests[i].digest,
+ tests[i].sign_flags, hash_data,
+ &signature2);
if (ret < 0)
testfail("gnutls_privkey_sign_hash\n");
- ret =
- gnutls_privkey_sign_data(privkey, tests[i].digest,
- tests[i].sign_flags, &raw_data,
- &signature);
+ ret = gnutls_privkey_sign_data(privkey, tests[i].digest,
+ tests[i].sign_flags, &raw_data,
+ &signature);
if (ret < 0)
testfail("gnutls_x509_privkey_sign_hash\n");
@@ -159,9 +148,8 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt, &tests[i].cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_crt_import\n");
@@ -169,95 +157,89 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_pubkey_import\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_x509_pubkey_verify_hash2\n");
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, hash_data,
+ &signature2);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_hash-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey, tests[i].sigalgo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- invalid_hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, tests[i].sigalgo,
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1, invalid_hash_data,
+ &signature2);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_hash-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash-2 (hashed data)\n");
- sign_algo =
- gnutls_pk_to_sign(gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), tests[i].digest);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo, GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
+ hash_data, &signature2);
if (ret < 0)
- testfail
- ("gnutls_x509_pubkey_verify_hash2-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash2-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
- invalid_hash_data, &signature2);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo, GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
+ invalid_hash_data, &signature2);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_pubkey_verify_hash2-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_pubkey_verify_hash2-2 (hashed data)\n");
/* test the raw interface */
gnutls_free(signature.data);
if (gnutls_pubkey_get_pk_algorithm(pubkey, NULL) ==
GNUTLS_PK_RSA) {
-
- ret =
- gnutls_privkey_sign_hash(privkey,
- tests[i].digest,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_hash(
+ privkey, tests[i].digest,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_hash: %s\n",
gnutls_strerror(ret));
- sign_algo =
- gnutls_pk_to_sign
- (gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
- tests[i].digest);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ tests[i].digest);
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-3 (raw hashed data)\n");
gnutls_free(signature.data);
/* test the legacy API */
- ret =
- gnutls_privkey_sign_raw_data(privkey, 0,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_raw_data(
+ privkey, 0, hash_data, &signature);
if (ret < 0)
testfail("gnutls_privkey_sign_raw_data: %s\n",
gnutls_strerror(ret));
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
+ testfail(
+ "gnutls_pubkey_verify_hash-4 (legacy raw hashed data)\n");
}
gnutls_free(signature.data);
gnutls_free(signature2.data);
diff --git a/tests/simple.c b/tests/simple.c
index 626d8714c5..98423f0272 100644
--- a/tests/simple.c
+++ b/tests/simple.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,18 +28,20 @@
#include "utils.h"
-#define CHECK_OK(x,y,z) \
- if (x >= 0 && y >= 0 && z >= 0) { \
- if (!gnutls_check_version_numeric(x, y, z)) { \
- fail("error in gnutls_check_version_numeric %d.%d.%d: %d\n", x, y, z, __LINE__); \
- exit(1); \
- } \
+#define CHECK_OK(x, y, z) \
+ if (x >= 0 && y >= 0 && z >= 0) { \
+ if (!gnutls_check_version_numeric(x, y, z)) { \
+ fail("error in gnutls_check_version_numeric %d.%d.%d: %d\n", \
+ x, y, z, __LINE__); \
+ exit(1); \
+ } \
}
-#define CHECK_FAIL(x,y,z) \
- if (gnutls_check_version_numeric(x, y, z)) { \
- fail("error in neg gnutls_check_version_numeric %d.%d.%d: %d\n", x, y, z, __LINE__); \
- exit(1); \
+#define CHECK_FAIL(x, y, z) \
+ if (gnutls_check_version_numeric(x, y, z)) { \
+ fail("error in neg gnutls_check_version_numeric %d.%d.%d: %d\n", \
+ x, y, z, __LINE__); \
+ exit(1); \
}
void doit(void)
@@ -50,20 +52,20 @@ void doit(void)
gnutls_check_version(NULL));
}
- if (!gnutls_check_version_numeric
- (GNUTLS_VERSION_MAJOR, GNUTLS_VERSION_MINOR,
- GNUTLS_VERSION_PATCH)) {
+ if (!gnutls_check_version_numeric(GNUTLS_VERSION_MAJOR,
+ GNUTLS_VERSION_MINOR,
+ GNUTLS_VERSION_PATCH)) {
fail("error in gnutls_check_version_numeric 1\n");
exit(1);
}
CHECK_FAIL(99, 9, 9)
- CHECK_FAIL(90, 1, 0)
- CHECK_FAIL(90, 0, 0)
- CHECK_OK(2, 0, 0)
- CHECK_OK(2, 99, 99)
- CHECK_OK(3, 0, 0)
- if (!gnutls_check_version(GNUTLS_VERSION))
+ CHECK_FAIL(90, 1, 0)
+ CHECK_FAIL(90, 0, 0)
+ CHECK_OK(2, 0, 0)
+ CHECK_OK(2, 99, 99)
+ CHECK_OK(3, 0, 0)
+ if (!gnutls_check_version(GNUTLS_VERSION))
fail("gnutls_check_version ERROR\n");
{
@@ -77,15 +79,14 @@ void doit(void)
for (i = 0; algs[i]; i++) {
if (debug)
- printf("pk_list[%d] = %d = %s = %d\n",
- (int)i, algs[i],
- gnutls_pk_algorithm_get_name(algs
- [i]),
- gnutls_pk_get_id
- (gnutls_pk_algorithm_get_name(algs[i])));
- if (gnutls_pk_get_id
- (gnutls_pk_algorithm_get_name(algs[i]))
- != algs[i])
+ printf("pk_list[%d] = %d = %s = %d\n", (int)i,
+ algs[i],
+ gnutls_pk_algorithm_get_name(algs[i]),
+ gnutls_pk_get_id(
+ gnutls_pk_algorithm_get_name(
+ algs[i])));
+ if (gnutls_pk_get_id(gnutls_pk_algorithm_get_name(
+ algs[i])) != algs[i])
fail("gnutls_pk id doesn't match\n");
}
@@ -110,16 +111,14 @@ void doit(void)
gnutls_digest_algorithm_t hash;
if (debug)
- printf("sign_list[%d] = %d = %s = %d\n",
- (int)i, algs[i],
- gnutls_sign_algorithm_get_name(algs
- [i]),
- gnutls_sign_get_id
- (gnutls_sign_algorithm_get_name
- (algs[i])));
- if (gnutls_sign_get_id
- (gnutls_sign_algorithm_get_name(algs[i])) !=
- algs[i])
+ printf("sign_list[%d] = %d = %s = %d\n", (int)i,
+ algs[i],
+ gnutls_sign_algorithm_get_name(algs[i]),
+ gnutls_sign_get_id(
+ gnutls_sign_algorithm_get_name(
+ algs[i])));
+ if (gnutls_sign_get_id(gnutls_sign_algorithm_get_name(
+ algs[i])) != algs[i])
fail("gnutls_sign id for %s doesn't match\n",
gnutls_sign_algorithm_get_name(algs[i]));
@@ -127,14 +126,17 @@ void doit(void)
if (hash != GNUTLS_DIG_UNKNOWN) {
const char *name = gnutls_digest_get_name(hash);
gnutls_digest_algorithm_t hash2 =
- gnutls_digest_get_id(name);
+ gnutls_digest_get_id(name);
/* gnutls_digest_get_id returns
* GNUTLS_DIG_UNKNOWN if the algorithm is not
* compiled in.
*/
- if (hash2 != GNUTLS_DIG_UNKNOWN
- && hash2 != hash)
- fail("gnutls_digest id for %s doesn't match %s\n", gnutls_sign_algorithm_get_name(algs[i]), name);
+ if (hash2 != GNUTLS_DIG_UNKNOWN &&
+ hash2 != hash)
+ fail("gnutls_digest id for %s doesn't match %s\n",
+ gnutls_sign_algorithm_get_name(
+ algs[i]),
+ name);
}
}
diff --git a/tests/slow/cipher-api-test.c b/tests/slow/cipher-api-test.c
index 34d46d8e90..8485001db2 100644
--- a/tests/slow/cipher-api-test.c
+++ b/tests/slow/cipher-api-test.c
@@ -43,16 +43,16 @@ int main(int argc, char **argv)
}
#else
-# include <sys/types.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <assert.h>
-# include <utils.h>
-
-# define AES_GCM_ENCRYPT_PLAINTEXT_MAX ((1ULL << 36) - 32)
-# if SIZE_MAX >= AES_GCM_ENCRYPT_PLAINTEXT_MAX
-# define TEST_AES_GCM_ENCRYPT_PLAINTEXT_SIZE 1
-# endif
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <assert.h>
+#include <utils.h>
+
+#define AES_GCM_ENCRYPT_PLAINTEXT_MAX ((1ULL << 36) - 32)
+#if SIZE_MAX >= AES_GCM_ENCRYPT_PLAINTEXT_MAX
+#define TEST_AES_GCM_ENCRYPT_PLAINTEXT_SIZE 1
+#endif
static void tls_log_func(int level, const char *str)
{
@@ -131,12 +131,12 @@ static void test_cipher_invalid_partial(int algo)
ret = global_init();
if (ret < 0) {
- fail("Cannot initialize library\n"); /*errcode 1 */
+ fail("Cannot initialize library\n"); /*errcode 1 */
}
ret = gnutls_cipher_init(&ch, algo, &key, &iv);
if (ret < 0)
- fail("gnutls_cipher_init failed\n"); /*errcode 1 */
+ fail("gnutls_cipher_init failed\n"); /*errcode 1 */
/* try encrypting in a way that violates nettle's block conventions */
ret = gnutls_cipher_encrypt(ch, data, sizeof(data) - 1);
@@ -199,19 +199,18 @@ static void test_aead_happy(int algo)
fail("gnutls_aead_cipher_init failed\n");
ctext_len = sizeof(ctext);
- ret = gnutls_aead_cipher_encrypt(ch, iv.data, iv.size,
- auth, sizeof(auth), tag_len,
- ptext, sizeof(ptext),
- ctext, &ctext_len);
+ ret = gnutls_aead_cipher_encrypt(ch, iv.data, iv.size, auth,
+ sizeof(auth), tag_len, ptext,
+ sizeof(ptext), ctext, &ctext_len);
if (ret < 0)
fail("could not encrypt data\n");
if (ctext_len != sizeof(ptext) + tag_len)
fail("output ciphertext length mismatch\n");
- ret = gnutls_aead_cipher_decrypt(ch, iv.data, iv.size,
- auth, sizeof(auth), tag_len,
- ctext, ctext_len, ptext, &ptext_len);
+ ret = gnutls_aead_cipher_decrypt(ch, iv.data, iv.size, auth,
+ sizeof(auth), tag_len, ctext,
+ ctext_len, ptext, &ptext_len);
if (ret < 0)
fail("could not decrypt data: %s\n", gnutls_strerror(ret));
@@ -255,12 +254,12 @@ static void test_aead_invalid_add_auth(int algo)
ret = global_init();
if (ret < 0) {
- fail("Cannot initialize library\n"); /*errcode 1 */
+ fail("Cannot initialize library\n"); /*errcode 1 */
}
ret = gnutls_cipher_init(&ch, algo, &key, &iv);
if (ret < 0)
- fail("gnutls_cipher_init failed\n"); /*errcode 1 */
+ fail("gnutls_cipher_init failed\n"); /*errcode 1 */
ret = gnutls_cipher_add_auth(ch, data, sizeof(data) - 1);
if (ret < 0)
@@ -308,12 +307,12 @@ static void test_aead_invalid_partial_encrypt(int algo)
ret = global_init();
if (ret < 0) {
- fail("Cannot initialize library\n"); /*errcode 1 */
+ fail("Cannot initialize library\n"); /*errcode 1 */
}
ret = gnutls_cipher_init(&ch, algo, &key, &iv);
if (ret < 0)
- fail("gnutls_cipher_init failed\n"); /*errcode 1 */
+ fail("gnutls_cipher_init failed\n"); /*errcode 1 */
/* try encrypting in a way that violates nettle's AEAD conventions */
ret = gnutls_cipher_encrypt(ch, data, sizeof(data) - 1);
@@ -378,10 +377,9 @@ static void test_aead_invalid_short_decrypt(int algo)
fail("gnutls_aead_cipher_init failed\n");
ctext_len = sizeof(ctext);
- ret = gnutls_aead_cipher_encrypt(ch, iv.data, iv.size,
- auth, sizeof(auth), tag_len,
- ptext, sizeof(ptext),
- ctext, &ctext_len);
+ ret = gnutls_aead_cipher_encrypt(ch, iv.data, iv.size, auth,
+ sizeof(auth), tag_len, ptext,
+ sizeof(ptext), ctext, &ctext_len);
if (ret < 0)
fail("could not encrypt data\n");
@@ -389,9 +387,9 @@ static void test_aead_invalid_short_decrypt(int algo)
fail("output ciphertext length mismatch\n");
ptext_len = 0;
- ret = gnutls_aead_cipher_decrypt(ch, iv.data, iv.size,
- auth, sizeof(auth), tag_len,
- ctext, ctext_len, ptext, &ptext_len);
+ ret = gnutls_aead_cipher_decrypt(ch, iv.data, iv.size, auth,
+ sizeof(auth), tag_len, ctext,
+ ctext_len, ptext, &ptext_len);
if (ret >= 0)
fail("succeeded in decrypting data onto a short buffer\n");
if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER)
@@ -405,7 +403,7 @@ static void test_aead_invalid_short_decrypt(int algo)
return;
}
-# ifdef TEST_AES_GCM_ENCRYPT_PLAINTEXT_SIZE
+#ifdef TEST_AES_GCM_ENCRYPT_PLAINTEXT_SIZE
/* Test whether an invalid call to gnutls_cipher_encrypt() with too
* long message is caught */
static void test_aead_invalid_too_long_encrypt(int algo)
@@ -441,12 +439,12 @@ static void test_aead_invalid_too_long_encrypt(int algo)
ret = global_init();
if (ret < 0) {
- fail("Cannot initialize library\n"); /*errcode 1 */
+ fail("Cannot initialize library\n"); /*errcode 1 */
}
ret = gnutls_cipher_init(&ch, algo, &key, &iv);
if (ret < 0)
- fail("gnutls_cipher_init failed\n"); /*errcode 1 */
+ fail("gnutls_cipher_init failed\n"); /*errcode 1 */
/* Test exceeding AES-GCM plaintext limit */
ret = gnutls_cipher_encrypt(ch, data, sizeof(data));
@@ -471,7 +469,7 @@ static void test_aead_invalid_too_long_encrypt(int algo)
gnutls_global_deinit();
return;
}
-# endif
+#endif
static void check_status(int status)
{
@@ -510,8 +508,7 @@ static void fork_subtest(subtest func, int algo)
}
};
-static
-void start(const char *name, int algo, unsigned aead)
+static void start(const char *name, int algo, unsigned aead)
{
success("trying %s\n", name);
@@ -538,11 +535,11 @@ void start(const char *name, int algo, unsigned aead)
success("trying %s: test_aead_invalid_short_decrypt\n", name);
fork_subtest(test_aead_invalid_short_decrypt, algo);
-# if TEST_AES_GCM_ENCRYPT_PLAINTEXT_SIZE
+#if TEST_AES_GCM_ENCRYPT_PLAINTEXT_SIZE
success("trying %s: test_aead_invalid_too_long_encrypt\n",
name);
fork_subtest(test_aead_invalid_too_long_encrypt, algo);
-# endif
+#endif
}
}
diff --git a/tests/slow/cipher-openssl-compat.c b/tests/slow/cipher-openssl-compat.c
index 663f73e0b1..108a7b02e1 100644
--- a/tests/slow/cipher-openssl-compat.c
+++ b/tests/slow/cipher-openssl-compat.c
@@ -14,11 +14,11 @@
* with openssl.
*/
-#define BSIZE (64*1024+12)
-#define B2SIZE (1024+7)
+#define BSIZE (64 * 1024 + 12)
+#define B2SIZE (1024 + 7)
static unsigned char buffer_auth[B2SIZE];
static unsigned char orig_plain_data[BSIZE];
-static unsigned char enc_data[BSIZE + 32]; /* allow for tag */
+static unsigned char enc_data[BSIZE + 32]; /* allow for tag */
static unsigned char dec_data[BSIZE];
static int cipher_test(const char *ocipher, gnutls_cipher_algorithm_t gcipher,
@@ -52,13 +52,11 @@ static int cipher_test(const char *ocipher, gnutls_cipher_algorithm_t gcipher,
#endif
}
- for (i = 0; i < 32; i++) { /* try with multiple keys and nonces */
- assert(gnutls_rnd
- (GNUTLS_RND_NONCE, orig_plain_data,
- sizeof(orig_plain_data)) >= 0);
- assert(gnutls_rnd
- (GNUTLS_RND_NONCE, buffer_auth,
- sizeof(buffer_auth)) >= 0);
+ for (i = 0; i < 32; i++) { /* try with multiple keys and nonces */
+ assert(gnutls_rnd(GNUTLS_RND_NONCE, orig_plain_data,
+ sizeof(orig_plain_data)) >= 0);
+ assert(gnutls_rnd(GNUTLS_RND_NONCE, buffer_auth,
+ sizeof(buffer_auth)) >= 0);
assert(gnutls_rnd(GNUTLS_RND_NONCE, key, sizeof(key)) >= 0);
assert(gnutls_rnd(GNUTLS_RND_NONCE, nonce, sizeof(nonce)) >= 0);
@@ -70,13 +68,11 @@ static int cipher_test(const char *ocipher, gnutls_cipher_algorithm_t gcipher,
dnonce.size = gnutls_cipher_get_iv_size(gcipher);
enc_data_size = sizeof(enc_data);
- assert(gnutls_aead_cipher_encrypt(hd, dnonce.data, dnonce.size,
- buffer_auth,
- sizeof(buffer_auth), tag_size,
- orig_plain_data,
- sizeof(orig_plain_data),
- enc_data,
- &enc_data_size) >= 0);
+ assert(gnutls_aead_cipher_encrypt(
+ hd, dnonce.data, dnonce.size, buffer_auth,
+ sizeof(buffer_auth), tag_size, orig_plain_data,
+ sizeof(orig_plain_data), enc_data,
+ &enc_data_size) >= 0);
if (debug)
success("encrypted %d bytes, to %d\n",
@@ -94,10 +90,11 @@ static int cipher_test(const char *ocipher, gnutls_cipher_algorithm_t gcipher,
ocipher, gnutls_strerror(ret));
}
- if (dec_data_size != sizeof(orig_plain_data)
- || memcmp(dec_data, orig_plain_data,
- sizeof(orig_plain_data)) != 0) {
- fail("gnutls encrypt-decrypt failed (got: %d, expected: %d)\n", (int)dec_data_size, (int)sizeof(orig_plain_data));
+ if (dec_data_size != sizeof(orig_plain_data) ||
+ memcmp(dec_data, orig_plain_data,
+ sizeof(orig_plain_data)) != 0) {
+ fail("gnutls encrypt-decrypt failed (got: %d, expected: %d)\n",
+ (int)dec_data_size, (int)sizeof(orig_plain_data));
}
gnutls_aead_cipher_deinit(hd);
@@ -105,82 +102,80 @@ static int cipher_test(const char *ocipher, gnutls_cipher_algorithm_t gcipher,
ctx = EVP_CIPHER_CTX_new();
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
- if (gcipher == GNUTLS_CIPHER_AES_128_CCM
- || gcipher == GNUTLS_CIPHER_AES_256_CCM) {
+ if (gcipher == GNUTLS_CIPHER_AES_128_CCM ||
+ gcipher == GNUTLS_CIPHER_AES_256_CCM) {
assert(EVP_CipherInit_ex(ctx, evp_cipher, 0, 0, 0, 0) >
0);
- assert(EVP_CIPHER_CTX_ctrl
- (ctx, EVP_CTRL_CCM_SET_IVLEN, dnonce.size,
- 0) == 1);
- assert(EVP_CIPHER_CTX_ctrl
- (ctx, EVP_CTRL_CCM_SET_TAG, tag_size,
- enc_data + enc_data_size - tag_size) == 1);
+ assert(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_IVLEN,
+ dnonce.size, 0) == 1);
+ assert(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_TAG,
+ tag_size,
+ enc_data + enc_data_size -
+ tag_size) == 1);
assert(EVP_CipherInit_ex(ctx, 0, 0, key, nonce, 0) > 0);
dec_data_size2 = sizeof(dec_data);
/* Add plain size */
- assert(EVP_CipherUpdate
- (ctx, NULL, &dec_data_size2, NULL,
- enc_data_size - tag_size) > 0);
+ assert(EVP_CipherUpdate(ctx, NULL, &dec_data_size2,
+ NULL,
+ enc_data_size - tag_size) > 0);
/* Add AAD */
- assert(EVP_CipherUpdate
- (ctx, NULL, &dec_data_size2, buffer_auth,
- sizeof(buffer_auth)) > 0);
+ assert(EVP_CipherUpdate(ctx, NULL, &dec_data_size2,
+ buffer_auth,
+ sizeof(buffer_auth)) > 0);
/* Decrypt */
- assert(EVP_CipherUpdate
- (ctx, dec_data, &dec_data_size2, enc_data,
- enc_data_size - tag_size) > 0);
+ assert(EVP_CipherUpdate(ctx, dec_data, &dec_data_size2,
+ enc_data,
+ enc_data_size - tag_size) > 0);
dec_data_size = dec_data_size2;
dec_data_size2 = tag_size;
- if (dec_data_size != sizeof(orig_plain_data)
- || memcmp(dec_data, orig_plain_data,
- sizeof(orig_plain_data)) != 0) {
+ if (dec_data_size != sizeof(orig_plain_data) ||
+ memcmp(dec_data, orig_plain_data,
+ sizeof(orig_plain_data)) != 0) {
fail("openssl decrypt failed for %s\n",
ocipher);
}
} else
#endif
{
- assert(EVP_CipherInit_ex
- (ctx, evp_cipher, NULL, key, nonce, 0) > 0);
+ assert(EVP_CipherInit_ex(ctx, evp_cipher, NULL, key,
+ nonce, 0) > 0);
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, tag_size,
enc_data + enc_data_size -
- tag_size);
+ tag_size);
dec_data_size2 = sizeof(dec_data);
/* Add AAD */
- assert(EVP_CipherUpdate
- (ctx, NULL, &dec_data_size2, buffer_auth,
- sizeof(buffer_auth)) > 0);
+ assert(EVP_CipherUpdate(ctx, NULL, &dec_data_size2,
+ buffer_auth,
+ sizeof(buffer_auth)) > 0);
/* Decrypt */
- assert(EVP_CipherUpdate
- (ctx, dec_data, &dec_data_size2, enc_data,
- enc_data_size - tag_size) > 0);
+ assert(EVP_CipherUpdate(ctx, dec_data, &dec_data_size2,
+ enc_data,
+ enc_data_size - tag_size) > 0);
dec_data_size = dec_data_size2;
dec_data_size2 = tag_size;
assert(EVP_CipherFinal_ex(ctx, tag, &dec_data_size2) >
0);
- if (dec_data_size != sizeof(orig_plain_data)
- || memcmp(dec_data, orig_plain_data,
- sizeof(orig_plain_data)) != 0) {
+ if (dec_data_size != sizeof(orig_plain_data) ||
+ memcmp(dec_data, orig_plain_data,
+ sizeof(orig_plain_data)) != 0) {
fail("openssl decrypt failed for %s\n",
ocipher);
}
-
}
EVP_CIPHER_CTX_free(ctx);
-
}
return 0;
diff --git a/tests/slow/cipher-test.c b/tests/slow/cipher-test.c
index da7e7e7673..9c7087d632 100644
--- a/tests/slow/cipher-test.c
+++ b/tests/slow/cipher-test.c
@@ -20,7 +20,7 @@ int main(int argc, char **argv)
exit(77);
}
#else
-# include <unistd.h>
+#include <unistd.h>
static void handle_sigill(int sig)
{
diff --git a/tests/slow/gendh.c b/tests/slow/gendh.c
index 67fe722505..f90530508e 100644
--- a/tests/slow/gendh.c
+++ b/tests/slow/gendh.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/slow/hash-large.c b/tests/slow/hash-large.c
index 3817e1c38b..0b350de9c7 100644
--- a/tests/slow/hash-large.c
+++ b/tests/slow/hash-large.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ void doit(void)
exit(77);
}
-#else /* working test */
+#else /* working test */
/* Test hashing on very large buffers >= 2^31 */
-# if !defined(_WIN32)
-# include <signal.h>
-# include <unistd.h>
+#if !defined(_WIN32)
+#include <signal.h>
+#include <unistd.h>
static void exit_77(int signo)
{
_exit(77);
}
-# endif
+#endif
-# define MIN(x,y) ((x)<(y))?(x):(y)
+#define MIN(x, y) ((x) < (y)) ? (x) : (y)
-# include <sys/mman.h>
+#include <sys/mman.h>
static size_t _mmap_size;
static void *get_mem(size_t size)
@@ -80,26 +80,27 @@ void doit(void)
if (sizeof(size) <= 4)
exit(77);
-# if !defined(_WIN32)
+#if !defined(_WIN32)
signal(SIGSEGV, exit_77);
signal(SIGBUS, exit_77);
-# endif
+#endif
global_init();
- size = (ssize_t) UINT_MAX + (ssize_t) 64 *1024;
+ size = (ssize_t)UINT_MAX + (ssize_t)64 * 1024;
buf = get_mem(size);
if (buf == NULL)
exit(77);
- if (size < (ssize_t) UINT_MAX)
+ if (size < (ssize_t)UINT_MAX)
exit(77);
err = gnutls_hash_fast(GNUTLS_DIG_SHA256, buf, size, digest);
if (err < 0)
fail("gnutls_hash_fast(SHA256) failed: %d\n", err);
else {
-# define SHA256_HASH "\x80\x92\xd9\xbe\x54\xa0\xe9\xd7\x7c\xb8\xe4\x2d\xd3\x7c\x19\xfe\x4e\x68\x84\x33\x71\xef\x1c\x81\xd6\x44\x36\x52\x06\xd8\x4b\x8a"
+#define SHA256_HASH \
+ "\x80\x92\xd9\xbe\x54\xa0\xe9\xd7\x7c\xb8\xe4\x2d\xd3\x7c\x19\xfe\x4e\x68\x84\x33\x71\xef\x1c\x81\xd6\x44\x36\x52\x06\xd8\x4b\x8a"
if (memcmp(digest, SHA256_HASH, 32) == 0) {
if (debug)
success("gnutls_hash_fast(SHA256) %lu OK\n",
@@ -141,7 +142,8 @@ void doit(void)
if (err < 0)
fail("gnutls_hash_fast(SHA1) failed: %d\n", err);
else {
-# define SHA1_HASH "\x75\xd2\x67\x3f\xec\x73\xe4\x57\xb8\x40\xb3\xb5\xf1\xc7\xa8\x1a\x2d\x11\x7e\xd9"
+#define SHA1_HASH \
+ "\x75\xd2\x67\x3f\xec\x73\xe4\x57\xb8\x40\xb3\xb5\xf1\xc7\xa8\x1a\x2d\x11\x7e\xd9"
if (memcmp(digest, SHA1_HASH, 20) == 0) {
if (debug)
success("gnutls_hash_fast(SHA1) OK\n");
@@ -151,13 +153,13 @@ void doit(void)
}
}
- err =
- gnutls_hmac_fast(GNUTLS_MAC_SHA1, "keykeykey", 9, buf, size,
- digest);
+ err = gnutls_hmac_fast(GNUTLS_MAC_SHA1, "keykeykey", 9, buf, size,
+ digest);
if (err < 0)
fail("gnutls_hmac_fast(SHA1) failed: %d\n", err);
else {
-# define SHA1_MAC "\xe2\xe9\x84\x48\x53\xe3\x0b\xfe\x45\x04\xf6\x6b\x5b\x6d\x4d\x2c\xa3\x0f\xcf\x23"
+#define SHA1_MAC \
+ "\xe2\xe9\x84\x48\x53\xe3\x0b\xfe\x45\x04\xf6\x6b\x5b\x6d\x4d\x2c\xa3\x0f\xcf\x23"
if (memcmp(digest, SHA1_MAC, 20) == 0) {
if (debug)
success("gnutls_hmac_fast(SHA1) OK\n");
diff --git a/tests/spki-abstract.c b/tests/spki-abstract.c
index 60e9557375..110c60c13f 100644
--- a/tests/spki-abstract.c
+++ b/tests/spki-abstract.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -55,17 +55,16 @@ static void pubkey_check(void)
ret = gnutls_pubkey_init(&pubkey);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_pubkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_pubkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pubkey_import_x509_raw(pubkey, &server_ca3_rsa_pss2_cert,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_pubkey_import_x509_raw(pubkey, &server_ca3_rsa_pss2_cert,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_pubkey_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_pubkey_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -101,17 +100,16 @@ static void key_check(void)
ret = gnutls_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_privkey_import_x509_raw(key, &server_ca3_rsa_pss2_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(key, &server_ca3_rsa_pss2_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_privkey_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_privkey_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
diff --git a/tests/spki.c b/tests/spki.c
index ff47ff3a4b..88d97e2b37 100644
--- a/tests/spki.c
+++ b/tests/spki.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -63,8 +63,8 @@ static void crq_check(void)
ret = gnutls_x509_crq_init(&crq);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crq_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crq_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -127,17 +127,16 @@ static void cert_check(void)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_crt_import(crt, &server_ca3_rsa_pss2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &server_ca3_rsa_pss2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -185,17 +184,15 @@ static void key_check(void)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_privkey_import(key, &server_ca3_rsa_pss2_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &server_ca3_rsa_pss2_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
diff --git a/tests/srp.c b/tests/srp.c
index 1fc582c901..d2b0689553 100644
--- a/tests/srp.c
+++ b/tests/srp.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,17 +36,17 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
@@ -64,45 +64,42 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void client(int fd, const char *prio, const char *user, const char *pass,
int exp_err)
@@ -144,8 +141,7 @@ static void client(int fd, const char *prio, const char *user, const char *pass,
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0 && ret == exp_err) {
if (debug)
@@ -164,11 +160,11 @@ static void client(int fd, const char *prio, const char *user, const char *pass,
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -212,9 +208,8 @@ static void server(int fd, const char *prio)
"tpasswd.conf");
gnutls_certificate_allocate_credentials(&s_x509_cred);
- gnutls_certificate_set_x509_key_mem(s_x509_cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(s_x509_cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
assert(gnutls_init(&session, GNUTLS_SERVER) >= 0);
@@ -231,8 +226,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -245,8 +239,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
kx = gnutls_kx_get(session);
if (kx != GNUTLS_KX_SRP && kx != GNUTLS_KX_SRP_RSA &&
@@ -311,23 +305,23 @@ static void start(const char *name, const char *prio, const char *user,
/* test1-7 are valid users, test9 uses parameter 9 which is disallowed by the RFC5054 spec */
const char *tpasswd_file =
- "test:CsrY0PxYlYCAa8UuWUrcjpqBvG6ImlAdGwEUh3tN2DSDBbMWTvnUl7A8Hw7l0zFHwyLH5rh0llrmu/v.Df2FjDEGy0s0rYR5ARE2XlXPl66xhevHj5vitD0Qvq/J0x1v0zMWJSgq/Ah2MoOrw9aBEsQUgf9MddiHQKjE3Vetoq3:3h3cfS0WrBgPUsldDASSK0:1\n"
- "test2:1J14yVX4iBa97cySs2/SduwnSbHxiz7WieE761psJQDxkc5flpumEwXbAgK5PrSZ0aZ6q7zyrAN1apJR1QQPAdyScJ6Jw4zjDP7AnezUVGbUNMJXhsI0NPwSc0c/415XfrnM1139yjWCr1qkcYMoN4bALppMMLB8glJkxy7t.3cmH9MkRRAjXXdUgAvHw2ZFLmB/8TlZDhnDS78xCSgLQs.oubZEEIgOWl7BT2.aW76fW3yKWdVrrHQDYPtR4hKx:11rUG9wSMLHe2Cu2p7dmFY:2\n"
- "test3:LVJZDDuElMHuRt5/fcx64AhJ4erhFvbIhv/XCtD0tJI3OC6yEBzthZ1FSqblri9qtsvboPApbFHwP9WEluGtCOuzOON4LS8sSeQDBO.PaqjTnsmXKPYMKa.SuLXFuRTtdiFRwX2ZRy3GIWoCvxJtPDWCEYGBWfnjjGEYmQWvo534JVtVDyMaFItYlMTOtBSgsg488oJ5hIAU6jVyIQZGPVv8OHsPCpEt2UlTixzI9nAgQ0WL5ShKaAq0dksF/AY7UMKm0oHbtZeqAx6YcBzLbBhNvcEqYzH95ONpr.cUh91iRhVzdVscsFweSCtWsQrVT4zmSRwdsljeFQPqFbdeK:iWkELSVg3JxmyEq.XbjAW:3\n"
- "test4:YziHBXMYwzekToUa6xL1Iq/4AXwpJWO9.Z6.Y6HHGt4eUcZEvVEw4eKEzPmj.K7US59u.X29F9D7xU62yiomPk5t8/3MzDCywlrAvcCVDhXwC3YpZEFl8OgAlp9izNrDErYY33cReBwH8ILHgFBJ2zo3xZqlWjWMrR50fW2J.MMitnx5GoR9dotZWLj9Zti0kODt5bUUeMcJmK/CJorwEtXz6OvuqGIdjrAZDp.5379KFO2smEVb7Qx6JiIDhEqODMMgXJZMSYSbKMgxXC9D.xN/IOn1/TnD.rNHN6LTrGChmbtKpCpuSJb2Bq2dwLFVxE/2UH4/ubYs/s5w9OcN60ypogvmtIWBqW2GyyfbLzHXiNDpJwV.tOktYEvRUG/fF59GF9hISbOIZ.7BhOK.z.iX4T7dEnHhDW16V.QScdOofcrhihb3Fi3Ym8ZpAqBlmlgLGsaGX23idkdF8xHZxJF1cuPosQ1jHjlrhcZotvChJdV3DZdl3m3isKK.bwF8:3QcZGdH5RkBBbB9R/cyNL4:4\n"
- "test5:Ei8lv19Vi3.zrgd2DT6hHNVdd1FS2rTOg5N.ZHfIe6tsquMOQdP5JNVDqHaZL/Hr.ecaH5Y0fYCrdRby4iYWOvXvRadXBGP7noJl5II9qF84J8KUWGpdWOkKyIqXmRsdvafX2wB90JfMar7SyV0whR7taEV3fAWzQXVS7sHBA6Iyuj6qW1AIg/ObwYBR94xJuI8uKX4vGB0ptl90IS1nkI68OK.1PIt47IDdmJRxDxtbq3smZevPH9HxGCbWyPa7wp9GXmt7jjY/KhRnehLCaCWR3qpfTzqqYaohLFQ5KpkhCv0V5hFASioi1d5iVUsmJCCwWvHWf8fLKLSQ16D.yUNp6jH9AnrzBzybT5jdK647RxKpvogU67rDo4GQCMEjqoHfxExHz/LTN1mtDbX.MkphO71zGpE.bBMopQZvOzUJfpOjJwWADenalLvD6MXu4/.Hwf.cNH/cv/ueTRkXD8Fmsj0cmNkdLCel2qi3COWJxNP/B5ICQ5MnHg.S7qDSloYRcTvbU/FKGyoar8nhUdrl6w5sBwn1DKg3yijBucqEnOAPyLOmpAku8kTsbgoGVdQbEXdb7sUliLv9OnAARddRjIvAbO1mnWxHxFekBCmD5EtMVfGUUGM/ubQzjvH7PjsCCgBjo3nTPoCNGxzREich8/ChRdUvkzEuBvZXIc2:1nhQGuJI7yz9b0xtvpI87B:5\n"
- "test7:6aCMlT0VUuuEnX.pn/K7cfQN1.EefEE9UiwzkBT2a4gdT4OY04pcl7kuKLEwvbb9bSfJWjAF8i8vMT.gg1ZSQTBAcWiBzAwHnnnKv4IgtsT0RAoAjYNjVxe26IMeE/XEdcS9OnOzSdEh2uy6.c9wqgzk0pph.KsQaMV4ivjeoUTdY8ccIiGGrLZcLaScCDeLMH.Ow7HFqMCIa07erJ7W2Xe/i7.0lm1p.oiTFbjNLv.6KXXihivldmz.ca9Dg2mqtp2SMCHul4wMDS3UFXka5/H/BwDFgT72OZpyy.wv9yL2ThHHiQtmc4.jkVutZUFH4gMxdln/3UyZDaXyj.UELFbRsA5VTrOcyqpg3nMqRLnBESC//fQjQPDzsIUG4TYeufCxfX6OK3BQq/KSYCIq08lIRRa1qoLE9FAcsnRO6PQXNtjatPJzgwW9mHZy32Bcy0dAu0mlR.35VGt9B72uAo3H8C6fzgLZHAQmAYvcz2b/LV4bT.FUeZz.D5XDIhxHDzLZOFgpZuYXivgf6B.1MgDd227L6AzVl.tfLF6Tr03Sfa5.FNoZLO.WHyHCje1GWGphLjg/C22QjBvV7NBwW50BkJBDO6HARaR/eZCE5qzmwAqrLbhd3DXYBD/0JSWysm3MO8u2Yhq47Vs8ZbcD835lIObjGOfzQL8iFQerO0H.pPQbwVewUg7fyP/TzSXsSQf0.7Otx6fUObWGEAJyY4Zk3YjBj0lwfQGDYuXjKnHxLgpWzWPtRvUbUxrPJMSFyJwGo8lJC5jZdfk/g/zShzgbib0LrYxwYoD1GvEcrLg/ylqEwDQh4/q7brzkpKUu.i4815rvCbPsqe7qFb6t4keDcNboSsFpRAiDttj8b8mcs/aq1YmPv/RKDO1DEu.QIabsJvdw7hw7sKz4m3OGdQEiFtktvihG0HDhY9UyfVTYm4WysZTx4Lf6WdwIFdkGLZJmhk8KdGPsHfSIo4fyIZieLkWa40e0ez5VevkcPN4C2AjXhVKUM5/9Cx09T38I8ZGIxGC.gF8JnXFarLcFjytuaNA7AlzuiEKlYKNf5AGNBXPoeScMJ.AghZLA0ZbsfbDbHUCSljnIuBhAFs8fL6ML/IqX59sORDYEiGKZnybedKYPgdZSRyy1T/qCDcDy6K/9sA4/gDzJ9ZdhUeasmn4GyXgJoHZ5VvT.ctilLkA36cAD8mHI1f8rcKAcsc5XtdQ5Mqqq6VkeXFAD37lnIc3/oVzBUKpHkyO.k0ibhKHkkmldQVpn1d/qUfhQxKq2S5FaOvqDUohERPoKLfEpsO8cd6NOUnwpGAx8wonNlNNIPaW2rJnRJc67zpznrzyXtTbbURl6eJJ/1nLtQy3xw:2Wva3rbYQapchVRUFxMTxT:7\n"
- "test9:1UVtxG4aVjfnc6dPKMq6Cqin3rfrSoqOsGuD0Y6m4CnKqk190gb60JggCPwYbTgISssluub1TjmKlJeEfO18rXxyZgdn3KGJ3mBFLJ5x2t.kOyNRRpMGTK//7FMGiVQeJ12Mlh5p0faixLlHggR3P5e6LjpEZxsTTmU5d8pmACijdkOkuI8uDWKa4Aw.djIoAfUBhmgYGXCzx8axafeRJlZ/QYlx7tAAqdbIVrW2ES3cYTPCT/Yo8Le3IvjPH7Emw5TpIiQa/mcbEO043ewsUCEU9pSwQEyPj0ieXC5fGnTEk2KQ4ZzStgyUBDT4LgB8XGWT/DIQu13pIhwHy6yCuQ:3QFKSzbKxgN9qsll55ZlDu:9";
+ "test:CsrY0PxYlYCAa8UuWUrcjpqBvG6ImlAdGwEUh3tN2DSDBbMWTvnUl7A8Hw7l0zFHwyLH5rh0llrmu/v.Df2FjDEGy0s0rYR5ARE2XlXPl66xhevHj5vitD0Qvq/J0x1v0zMWJSgq/Ah2MoOrw9aBEsQUgf9MddiHQKjE3Vetoq3:3h3cfS0WrBgPUsldDASSK0:1\n"
+ "test2:1J14yVX4iBa97cySs2/SduwnSbHxiz7WieE761psJQDxkc5flpumEwXbAgK5PrSZ0aZ6q7zyrAN1apJR1QQPAdyScJ6Jw4zjDP7AnezUVGbUNMJXhsI0NPwSc0c/415XfrnM1139yjWCr1qkcYMoN4bALppMMLB8glJkxy7t.3cmH9MkRRAjXXdUgAvHw2ZFLmB/8TlZDhnDS78xCSgLQs.oubZEEIgOWl7BT2.aW76fW3yKWdVrrHQDYPtR4hKx:11rUG9wSMLHe2Cu2p7dmFY:2\n"
+ "test3:LVJZDDuElMHuRt5/fcx64AhJ4erhFvbIhv/XCtD0tJI3OC6yEBzthZ1FSqblri9qtsvboPApbFHwP9WEluGtCOuzOON4LS8sSeQDBO.PaqjTnsmXKPYMKa.SuLXFuRTtdiFRwX2ZRy3GIWoCvxJtPDWCEYGBWfnjjGEYmQWvo534JVtVDyMaFItYlMTOtBSgsg488oJ5hIAU6jVyIQZGPVv8OHsPCpEt2UlTixzI9nAgQ0WL5ShKaAq0dksF/AY7UMKm0oHbtZeqAx6YcBzLbBhNvcEqYzH95ONpr.cUh91iRhVzdVscsFweSCtWsQrVT4zmSRwdsljeFQPqFbdeK:iWkELSVg3JxmyEq.XbjAW:3\n"
+ "test4:YziHBXMYwzekToUa6xL1Iq/4AXwpJWO9.Z6.Y6HHGt4eUcZEvVEw4eKEzPmj.K7US59u.X29F9D7xU62yiomPk5t8/3MzDCywlrAvcCVDhXwC3YpZEFl8OgAlp9izNrDErYY33cReBwH8ILHgFBJ2zo3xZqlWjWMrR50fW2J.MMitnx5GoR9dotZWLj9Zti0kODt5bUUeMcJmK/CJorwEtXz6OvuqGIdjrAZDp.5379KFO2smEVb7Qx6JiIDhEqODMMgXJZMSYSbKMgxXC9D.xN/IOn1/TnD.rNHN6LTrGChmbtKpCpuSJb2Bq2dwLFVxE/2UH4/ubYs/s5w9OcN60ypogvmtIWBqW2GyyfbLzHXiNDpJwV.tOktYEvRUG/fF59GF9hISbOIZ.7BhOK.z.iX4T7dEnHhDW16V.QScdOofcrhihb3Fi3Ym8ZpAqBlmlgLGsaGX23idkdF8xHZxJF1cuPosQ1jHjlrhcZotvChJdV3DZdl3m3isKK.bwF8:3QcZGdH5RkBBbB9R/cyNL4:4\n"
+ "test5:Ei8lv19Vi3.zrgd2DT6hHNVdd1FS2rTOg5N.ZHfIe6tsquMOQdP5JNVDqHaZL/Hr.ecaH5Y0fYCrdRby4iYWOvXvRadXBGP7noJl5II9qF84J8KUWGpdWOkKyIqXmRsdvafX2wB90JfMar7SyV0whR7taEV3fAWzQXVS7sHBA6Iyuj6qW1AIg/ObwYBR94xJuI8uKX4vGB0ptl90IS1nkI68OK.1PIt47IDdmJRxDxtbq3smZevPH9HxGCbWyPa7wp9GXmt7jjY/KhRnehLCaCWR3qpfTzqqYaohLFQ5KpkhCv0V5hFASioi1d5iVUsmJCCwWvHWf8fLKLSQ16D.yUNp6jH9AnrzBzybT5jdK647RxKpvogU67rDo4GQCMEjqoHfxExHz/LTN1mtDbX.MkphO71zGpE.bBMopQZvOzUJfpOjJwWADenalLvD6MXu4/.Hwf.cNH/cv/ueTRkXD8Fmsj0cmNkdLCel2qi3COWJxNP/B5ICQ5MnHg.S7qDSloYRcTvbU/FKGyoar8nhUdrl6w5sBwn1DKg3yijBucqEnOAPyLOmpAku8kTsbgoGVdQbEXdb7sUliLv9OnAARddRjIvAbO1mnWxHxFekBCmD5EtMVfGUUGM/ubQzjvH7PjsCCgBjo3nTPoCNGxzREich8/ChRdUvkzEuBvZXIc2:1nhQGuJI7yz9b0xtvpI87B:5\n"
+ "test7:6aCMlT0VUuuEnX.pn/K7cfQN1.EefEE9UiwzkBT2a4gdT4OY04pcl7kuKLEwvbb9bSfJWjAF8i8vMT.gg1ZSQTBAcWiBzAwHnnnKv4IgtsT0RAoAjYNjVxe26IMeE/XEdcS9OnOzSdEh2uy6.c9wqgzk0pph.KsQaMV4ivjeoUTdY8ccIiGGrLZcLaScCDeLMH.Ow7HFqMCIa07erJ7W2Xe/i7.0lm1p.oiTFbjNLv.6KXXihivldmz.ca9Dg2mqtp2SMCHul4wMDS3UFXka5/H/BwDFgT72OZpyy.wv9yL2ThHHiQtmc4.jkVutZUFH4gMxdln/3UyZDaXyj.UELFbRsA5VTrOcyqpg3nMqRLnBESC//fQjQPDzsIUG4TYeufCxfX6OK3BQq/KSYCIq08lIRRa1qoLE9FAcsnRO6PQXNtjatPJzgwW9mHZy32Bcy0dAu0mlR.35VGt9B72uAo3H8C6fzgLZHAQmAYvcz2b/LV4bT.FUeZz.D5XDIhxHDzLZOFgpZuYXivgf6B.1MgDd227L6AzVl.tfLF6Tr03Sfa5.FNoZLO.WHyHCje1GWGphLjg/C22QjBvV7NBwW50BkJBDO6HARaR/eZCE5qzmwAqrLbhd3DXYBD/0JSWysm3MO8u2Yhq47Vs8ZbcD835lIObjGOfzQL8iFQerO0H.pPQbwVewUg7fyP/TzSXsSQf0.7Otx6fUObWGEAJyY4Zk3YjBj0lwfQGDYuXjKnHxLgpWzWPtRvUbUxrPJMSFyJwGo8lJC5jZdfk/g/zShzgbib0LrYxwYoD1GvEcrLg/ylqEwDQh4/q7brzkpKUu.i4815rvCbPsqe7qFb6t4keDcNboSsFpRAiDttj8b8mcs/aq1YmPv/RKDO1DEu.QIabsJvdw7hw7sKz4m3OGdQEiFtktvihG0HDhY9UyfVTYm4WysZTx4Lf6WdwIFdkGLZJmhk8KdGPsHfSIo4fyIZieLkWa40e0ez5VevkcPN4C2AjXhVKUM5/9Cx09T38I8ZGIxGC.gF8JnXFarLcFjytuaNA7AlzuiEKlYKNf5AGNBXPoeScMJ.AghZLA0ZbsfbDbHUCSljnIuBhAFs8fL6ML/IqX59sORDYEiGKZnybedKYPgdZSRyy1T/qCDcDy6K/9sA4/gDzJ9ZdhUeasmn4GyXgJoHZ5VvT.ctilLkA36cAD8mHI1f8rcKAcsc5XtdQ5Mqqq6VkeXFAD37lnIc3/oVzBUKpHkyO.k0ibhKHkkmldQVpn1d/qUfhQxKq2S5FaOvqDUohERPoKLfEpsO8cd6NOUnwpGAx8wonNlNNIPaW2rJnRJc67zpznrzyXtTbbURl6eJJ/1nLtQy3xw:2Wva3rbYQapchVRUFxMTxT:7\n"
+ "test9:1UVtxG4aVjfnc6dPKMq6Cqin3rfrSoqOsGuD0Y6m4CnKqk190gb60JggCPwYbTgISssluub1TjmKlJeEfO18rXxyZgdn3KGJ3mBFLJ5x2t.kOyNRRpMGTK//7FMGiVQeJ12Mlh5p0faixLlHggR3P5e6LjpEZxsTTmU5d8pmACijdkOkuI8uDWKa4Aw.djIoAfUBhmgYGXCzx8axafeRJlZ/QYlx7tAAqdbIVrW2ES3cYTPCT/Yo8Le3IvjPH7Emw5TpIiQa/mcbEO043ewsUCEU9pSwQEyPj0ieXC5fGnTEk2KQ4ZzStgyUBDT4LgB8XGWT/DIQu13pIhwHy6yCuQ:3QFKSzbKxgN9qsll55ZlDu:9";
/* 1-7 are from SRP RFC5054 spec, and 9 is the FFDHE 2048-bit prime */
const char *tpasswd_conf_file =
- "1:Ewl2hcjiutMd3Fu2lgFnUXWSc67TVyy2vwYCKoS9MLsrdJVT9RgWTCuEqWJrfB6uE3LsE9GkOlaZabS7M29sj5TnzUqOLJMjiwEzArfiLr9WbMRANlF68N5AVLcPWvNx6Zjl3m5Scp0BzJBz9TkgfhzKJZ.WtP3Mv/67I/0wmRZ:2\n"
- "2:dUyyhxav9tgnyIg65wHxkzkb7VIPh4o0lkwfOKiPp4rVJrzLRYVBtb76gKlaO7ef5LYGEw3G.4E0jbMxcYBetDy2YdpiP/3GWJInoBbvYHIRO9uBuxgsFKTKWu7RnR7yTau/IrFTdQ4LY/q.AvoCzMxV0PKvD9Odso/LFIItn8PbTov3VMn/ZEH2SqhtpBUkWtmcIkEflhX/YY/fkBKfBbe27/zUaKUUZEUYZ2H2nlCL60.JIPeZJSzsu/xHDVcx:2\n"
- "3:2iQzj1CagQc/5ctbuJYLWlhtAsPHc7xWVyCPAKFRLWKADpASkqe9djWPFWTNTdeJtL8nAhImCn3Sr/IAdQ1FrGw0WvQUstPx3FO9KNcXOwisOQ1VlL.gheAHYfbYyBaxXL.NcJx9TUwgWDT0hRzFzqSrdGGTN3FgSTA1v4QnHtEygNj3eZ.u0MThqWUaDiP87nqha7XnT66bkTCkQ8.7T8L4KZjIImrNrUftedTTBi.WCi.zlrBxDuOM0da0JbUkQlXqvp0yvJAPpC11nxmmZOAbQOywZGmu9nhZNuwTlxjfIro0FOdthaDTuZRL9VL7MRPUDo/DQEyW.d4H.UIlzp:2\n"
- "4:///////////93zgY8MZ2DCJ6Oek0t1pHAG9E28fdp7G22xwcEnER8b5A27cED0JTxvKPiyqwGnimAmfjybyKDq/XDMrjKS95v8MrTc9UViRqJ4BffZVjQml/NBRq1hVjxZXh.rg9dwMkdoGHV4iVvaaePb7iv5izmW1ykA5ZlmMOsaWs75NJccaMFwZz9CzVWsLT8zoZhPOSOlDM88LIkvxLAGTmbfPjPmmrJagyc0JnT6m8oXWXV3AGNaOkDiuxuvvtB1WEXWER9uEYx0UYZxN5NV1lJ5B9tYlBzfLO5nWvbKbywfLgvHNI9XYO.WKG5NAEMeggn2sjCnSD151wCwXL8QlV7BfaxFk515ZRxmgAwd5NNGOCVREN3uMcuUJ7g/MkZDi9CzSUZ9JWIYLXdSxZqYOQqkvhyI/w1jcA26JOTW9pFiXgP58VAnWNUo0Ck.4NLtfXNMnt2OZ0kjb6uWZYJw1qvQinGzjR/E3z48vBWj4WgJhIol//////////:5\n"
- "5:F//////////oG/QeY5emZJ4ncABWDmSqIa2JWYAPynq0Wk.fZiJco9HIWXvZZG4tU.L6RFDEaCRC2iARV9V53TFuJLjRL72HUI5jNPYNdx6z4n2wQOtxMiB/rosz0QtxUuuQ/jQYP.bhfya4NnB7.P9A6PHxEHRFS80VBYXOxy5cDf8DXnLqvff5Z.e/IJFNuDbNIFSewsM76BpLY25KhkUrIa7S9QMRMSCDKvAl9W4yNHi2CeO8Nmoa5v6BZREE.EUTomO3eO3coU3ekm7ee.rnLtmRqnIoTuho/QLM1SOEPL9VEgLQkKLqYOOcFe541LoZbgAgiGjhJCN3GHGUZEeLI6htnowPEpxXGHOs.yAYkfnLrq637spbm.5fk7anwlrhepR2JFN7eoKu4ebOPtEuz8c6jBkQ/4l.WRPYWXas7O2Spx8QcHI7oiO5tiW3BlX5rTwOLriTmc8mBhPHk88ua.WTEMhCKFRM/pW/H2EIuBH8AaX204QSZmIfuVcruXncX2zkbiccSCd66hquZmQb6WqjXKBsYM3wSegr4pesxl2smJUZlakZlmK7xxAfYXyMKTEQy1TcRAMJw2Gmw8ZEw66KLldxHzXAN3EujUlk1lTTY5mI1pG1f4drR1QgPEqwfYDZzt1Xl.tt92cm8zDz3N9D0OncV//////////:5\n"
- "7:3//////////yaFsg8XQC8qnCPYYu3S7D4f0au8YcVCT08BlgOx4viYKKe8UOuq1DtlbHcppJf36p0h2ctoNnGtJ.4rRMrHmaNaXRLsObv.nlHCGkccD.rh2/zSjlG6j.tkE6lxMecVfQwV915yIn/cIIXcKUpaMpt207oueME/1PZQI3OSLTEQQHO/gFqapr.3PLqZtAEjbXnYyrOWXLAxdjKf1t2Mbcrd33LEIhoO1F5qR0ZA625yCf1UHYuspZlZddSi60w60vidWwBi1wAFjSLTy6zCKidUAylsbLWN63cLINpgbMhb5T8c69Zw1H0LSevQYgh4BQqp5mq4K7epg5KXgzySkcJi.uK4MDll2ehgSLTT1WnzivSFXQRXvCUhzQwCsmaprnwCbE1A9M6TpkFI9XhIxclnB/e6sOe8PDXs0dC.o6faKXyh61Tx80oxuHTNUc5TR7S9YC2wsKRY2E9Fe7Jbgp53srlyuFqGZak2qI2f8GW16d8y4gU7vjU8SPeGlRfR9fd39nXgzE8y6fHeDBOL2zebW.dAAjHCwDkxmji4texvBexy51..ogOeV5b7Jcl0NPcoba.WaCEY8pkXXb5Rv.qVOIbmpkBNhxWRtNOXS4WSq0QH9zMmMgcJjEgOZO/TmOR/jzoGfi2FJVGroJG2X98sm/gqqdnm9i7KtB9W9aRUoNKUTZswDxtu/vG6hPvJ3kNRE2z1C06ki6fJxP0ds34NboUmXbg96De.s.lFcnJjHCvikixKknlRVnH7vimbIpCWKL4hrwz2RxZq0JUCqhzPWye1nakIxF0owXNHSXq3z8BNpcvq/lRLNd0lHfWCWhMeG36G2noUMUV9Vxx7wFCZgNf.Dio8lWyTHRV/M5h5IzG7iYj1LAhCZsr.lqZXs1JCNj8FW3VWfvSLxlARuoW6eTMBjyNQTlLGgZsA7x/mwndCiQCJrLpQLidiBlAMCZX/wDTkF0He13wFPZz8OEuIlorR2tHqrkQK.HvjlX5PTAEIRnB.vUGuTtosgJBVZDY.nD1pkJ6wEyWojesTqm1q7wU/Yln7xILszfDhf2HcEgjZd5hazMWq8xHqA/79U2EF5ilZdMKju/sullo4YjaY8Yu4f0Dy1nFhLwWQ8/37D7FyP6pgC6jBoyY6BuE5tVgTIt.Ym8VeUMWp0.rRtJe6Appriw9ufcqg4/W/HFWjtp4Eu7IhQZP5b.YPe2LTmMJp7CK8HeKT.Qj86LtjVg6nrH2zVkTDS/hpQyCUpw9eDP16zEk7dv902KEBI1niruYQ02xLxZWhoHaDflm2RaULMEH7LdVfgfumKE9sLfJVo1zMw82vRd5WoO3TcEtJt///////////:J\n"
- "9:3//////////wtuL5YYkqgQhznM82SzFF7OkSM3pYqsbQdXDa4KP3Fxp9ETpYIRFlbzB.DZOmnrsFQ1iWAkn65wqzyUrTNzPM4aC/KVNmPkq8LZPLKzxHhpjLSJNdzNoJMOJmnmuEQBT.AcYThpx.Xo7V5OeJQjvpKmhCfFI3fvUhmAiOAp9FjXqGYfIxB8u/kvQjgtODVqQ1rFGgFUEKtqhbRjvsDoknaB1wV8xWfjS9u2/E7Dz.Bim3G4pIWqBs6HSlwSwOM3/uvF4ZBkye63m/ux6qnlhNCxjVoyBi8W1SMEyODz5eEonlDA9i6ox/g8Qq8uOIXSb///////////:2\n";
+ "1:Ewl2hcjiutMd3Fu2lgFnUXWSc67TVyy2vwYCKoS9MLsrdJVT9RgWTCuEqWJrfB6uE3LsE9GkOlaZabS7M29sj5TnzUqOLJMjiwEzArfiLr9WbMRANlF68N5AVLcPWvNx6Zjl3m5Scp0BzJBz9TkgfhzKJZ.WtP3Mv/67I/0wmRZ:2\n"
+ "2:dUyyhxav9tgnyIg65wHxkzkb7VIPh4o0lkwfOKiPp4rVJrzLRYVBtb76gKlaO7ef5LYGEw3G.4E0jbMxcYBetDy2YdpiP/3GWJInoBbvYHIRO9uBuxgsFKTKWu7RnR7yTau/IrFTdQ4LY/q.AvoCzMxV0PKvD9Odso/LFIItn8PbTov3VMn/ZEH2SqhtpBUkWtmcIkEflhX/YY/fkBKfBbe27/zUaKUUZEUYZ2H2nlCL60.JIPeZJSzsu/xHDVcx:2\n"
+ "3:2iQzj1CagQc/5ctbuJYLWlhtAsPHc7xWVyCPAKFRLWKADpASkqe9djWPFWTNTdeJtL8nAhImCn3Sr/IAdQ1FrGw0WvQUstPx3FO9KNcXOwisOQ1VlL.gheAHYfbYyBaxXL.NcJx9TUwgWDT0hRzFzqSrdGGTN3FgSTA1v4QnHtEygNj3eZ.u0MThqWUaDiP87nqha7XnT66bkTCkQ8.7T8L4KZjIImrNrUftedTTBi.WCi.zlrBxDuOM0da0JbUkQlXqvp0yvJAPpC11nxmmZOAbQOywZGmu9nhZNuwTlxjfIro0FOdthaDTuZRL9VL7MRPUDo/DQEyW.d4H.UIlzp:2\n"
+ "4:///////////93zgY8MZ2DCJ6Oek0t1pHAG9E28fdp7G22xwcEnER8b5A27cED0JTxvKPiyqwGnimAmfjybyKDq/XDMrjKS95v8MrTc9UViRqJ4BffZVjQml/NBRq1hVjxZXh.rg9dwMkdoGHV4iVvaaePb7iv5izmW1ykA5ZlmMOsaWs75NJccaMFwZz9CzVWsLT8zoZhPOSOlDM88LIkvxLAGTmbfPjPmmrJagyc0JnT6m8oXWXV3AGNaOkDiuxuvvtB1WEXWER9uEYx0UYZxN5NV1lJ5B9tYlBzfLO5nWvbKbywfLgvHNI9XYO.WKG5NAEMeggn2sjCnSD151wCwXL8QlV7BfaxFk515ZRxmgAwd5NNGOCVREN3uMcuUJ7g/MkZDi9CzSUZ9JWIYLXdSxZqYOQqkvhyI/w1jcA26JOTW9pFiXgP58VAnWNUo0Ck.4NLtfXNMnt2OZ0kjb6uWZYJw1qvQinGzjR/E3z48vBWj4WgJhIol//////////:5\n"
+ "5:F//////////oG/QeY5emZJ4ncABWDmSqIa2JWYAPynq0Wk.fZiJco9HIWXvZZG4tU.L6RFDEaCRC2iARV9V53TFuJLjRL72HUI5jNPYNdx6z4n2wQOtxMiB/rosz0QtxUuuQ/jQYP.bhfya4NnB7.P9A6PHxEHRFS80VBYXOxy5cDf8DXnLqvff5Z.e/IJFNuDbNIFSewsM76BpLY25KhkUrIa7S9QMRMSCDKvAl9W4yNHi2CeO8Nmoa5v6BZREE.EUTomO3eO3coU3ekm7ee.rnLtmRqnIoTuho/QLM1SOEPL9VEgLQkKLqYOOcFe541LoZbgAgiGjhJCN3GHGUZEeLI6htnowPEpxXGHOs.yAYkfnLrq637spbm.5fk7anwlrhepR2JFN7eoKu4ebOPtEuz8c6jBkQ/4l.WRPYWXas7O2Spx8QcHI7oiO5tiW3BlX5rTwOLriTmc8mBhPHk88ua.WTEMhCKFRM/pW/H2EIuBH8AaX204QSZmIfuVcruXncX2zkbiccSCd66hquZmQb6WqjXKBsYM3wSegr4pesxl2smJUZlakZlmK7xxAfYXyMKTEQy1TcRAMJw2Gmw8ZEw66KLldxHzXAN3EujUlk1lTTY5mI1pG1f4drR1QgPEqwfYDZzt1Xl.tt92cm8zDz3N9D0OncV//////////:5\n"
+ "7:3//////////yaFsg8XQC8qnCPYYu3S7D4f0au8YcVCT08BlgOx4viYKKe8UOuq1DtlbHcppJf36p0h2ctoNnGtJ.4rRMrHmaNaXRLsObv.nlHCGkccD.rh2/zSjlG6j.tkE6lxMecVfQwV915yIn/cIIXcKUpaMpt207oueME/1PZQI3OSLTEQQHO/gFqapr.3PLqZtAEjbXnYyrOWXLAxdjKf1t2Mbcrd33LEIhoO1F5qR0ZA625yCf1UHYuspZlZddSi60w60vidWwBi1wAFjSLTy6zCKidUAylsbLWN63cLINpgbMhb5T8c69Zw1H0LSevQYgh4BQqp5mq4K7epg5KXgzySkcJi.uK4MDll2ehgSLTT1WnzivSFXQRXvCUhzQwCsmaprnwCbE1A9M6TpkFI9XhIxclnB/e6sOe8PDXs0dC.o6faKXyh61Tx80oxuHTNUc5TR7S9YC2wsKRY2E9Fe7Jbgp53srlyuFqGZak2qI2f8GW16d8y4gU7vjU8SPeGlRfR9fd39nXgzE8y6fHeDBOL2zebW.dAAjHCwDkxmji4texvBexy51..ogOeV5b7Jcl0NPcoba.WaCEY8pkXXb5Rv.qVOIbmpkBNhxWRtNOXS4WSq0QH9zMmMgcJjEgOZO/TmOR/jzoGfi2FJVGroJG2X98sm/gqqdnm9i7KtB9W9aRUoNKUTZswDxtu/vG6hPvJ3kNRE2z1C06ki6fJxP0ds34NboUmXbg96De.s.lFcnJjHCvikixKknlRVnH7vimbIpCWKL4hrwz2RxZq0JUCqhzPWye1nakIxF0owXNHSXq3z8BNpcvq/lRLNd0lHfWCWhMeG36G2noUMUV9Vxx7wFCZgNf.Dio8lWyTHRV/M5h5IzG7iYj1LAhCZsr.lqZXs1JCNj8FW3VWfvSLxlARuoW6eTMBjyNQTlLGgZsA7x/mwndCiQCJrLpQLidiBlAMCZX/wDTkF0He13wFPZz8OEuIlorR2tHqrkQK.HvjlX5PTAEIRnB.vUGuTtosgJBVZDY.nD1pkJ6wEyWojesTqm1q7wU/Yln7xILszfDhf2HcEgjZd5hazMWq8xHqA/79U2EF5ilZdMKju/sullo4YjaY8Yu4f0Dy1nFhLwWQ8/37D7FyP6pgC6jBoyY6BuE5tVgTIt.Ym8VeUMWp0.rRtJe6Appriw9ufcqg4/W/HFWjtp4Eu7IhQZP5b.YPe2LTmMJp7CK8HeKT.Qj86LtjVg6nrH2zVkTDS/hpQyCUpw9eDP16zEk7dv902KEBI1niruYQ02xLxZWhoHaDflm2RaULMEH7LdVfgfumKE9sLfJVo1zMw82vRd5WoO3TcEtJt///////////:J\n"
+ "9:3//////////wtuL5YYkqgQhznM82SzFF7OkSM3pYqsbQdXDa4KP3Fxp9ETpYIRFlbzB.DZOmnrsFQ1iWAkn65wqzyUrTNzPM4aC/KVNmPkq8LZPLKzxHhpjLSJNdzNoJMOJmnmuEQBT.AcYThpx.Xo7V5OeJQjvpKmhCfFI3fvUhmAiOAp9FjXqGYfIxB8u/kvQjgtODVqQ1rFGgFUEKtqhbRjvsDoknaB1wV8xWfjS9u2/E7Dz.Bim3G4pIWqBs6HSlwSwOM3/uvF4ZBkye63m/ux6qnlhNCxjVoyBi8W1SMEyODz5eEonlDA9i6ox/g8Qq8uOIXSb///////////:2\n";
void doit(void)
{
@@ -378,4 +372,4 @@ void doit(void)
remove("tpasswd.conf");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/srpbase64.c b/tests/srpbase64.c
index 28a95fc4fc..3de3e2cedc 100644
--- a/tests/srpbase64.c
+++ b/tests/srpbase64.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,7 +35,7 @@
#ifdef ENABLE_SRP
-static void encode(const char *test_name, const gnutls_datum_t * raw,
+static void encode(const char *test_name, const gnutls_datum_t *raw,
const char *expected)
{
int ret;
@@ -49,12 +49,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (strlen(expected) != out.size) {
- fail("%s: gnutls_srp_base64_encode2: output has incorrect size (%d, expected %d)\n", test_name, (int)out.size, (int)strlen(expected));
+ fail("%s: gnutls_srp_base64_encode2: output has incorrect size (%d, expected %d)\n",
+ test_name, (int)out.size, (int)strlen(expected));
exit(1);
}
if (strncasecmp(expected, (char *)out.data, out.size) != 0) {
- fail("%s: gnutls_srp_base64_encode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_srp_base64_encode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -70,12 +72,14 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
if (raw->size != out.size) {
- fail("%s: gnutls_srp_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_srp_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_srp_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_srp_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -84,7 +88,7 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void decode(const char *test_name, const gnutls_datum_t * raw,
+static void decode(const char *test_name, const gnutls_datum_t *raw,
const char *hex, int res)
{
int ret;
@@ -94,7 +98,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
in.size = strlen(hex);
ret = gnutls_srp_base64_decode2(&in, &out);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: gnutls_srp_base64_decode2: %d/%s\n", test_name, ret,
gnutls_strerror(ret));
@@ -102,17 +106,20 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (res != 0) {
- fail("%s: gnutls_srp_base64_decode2: expected failure, but succeeded!\n", test_name);
+ fail("%s: gnutls_srp_base64_decode2: expected failure, but succeeded!\n",
+ test_name);
exit(1);
}
if (raw->size != out.size) {
- fail("%s: gnutls_srp_base64_decode2: output has incorrect size (%d, expected %d)\n", test_name, out.size, raw->size);
+ fail("%s: gnutls_srp_base64_decode2: output has incorrect size (%d, expected %d)\n",
+ test_name, out.size, raw->size);
exit(1);
}
if (memcmp(raw->data, out.data, out.size) != 0) {
- fail("%s: gnutls_srp_base64_decode2: output does not match the expected\n", test_name);
+ fail("%s: gnutls_srp_base64_decode2: output does not match the expected\n",
+ test_name);
exit(1);
}
@@ -128,20 +135,14 @@ struct encode_tests_st {
};
struct encode_tests_st encode_tests[] = {
- {
- .name = "rnd1",
- .sb64 = "3scaQAX6bwA8FQKirWBpbu",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16}
- },
- {
- .name = "rnd2",
- .sb64 = "id/k5HdTEqyZFPsLpdvYyGjxv",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19}
- }
+ { .name = "rnd1",
+ .sb64 = "3scaQAX6bwA8FQKirWBpbu",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 } },
+ { .name = "rnd2",
+ .sb64 = "id/k5HdTEqyZFPsLpdvYyGjxv",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 } }
};
struct decode_tests_st {
@@ -152,27 +153,21 @@ struct decode_tests_st {
};
struct decode_tests_st decode_tests[] = {
- {
- .name = "dec-rnd1",
- .sb64 = "3scaQAX6bwA8FQKirWBpbu",
- .raw = {(void *)
- "\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
- 16},
- .res = 0},
- {
- .name = "dec-rnd2",
- .sb64 = "id/k5HdTEqyZFPsLpdvYyGjxv",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = 0},
- {
- .name = "dec-extra-chars",
- .sb64 = " id/k5HdTEqyZFPsLpdvYyGjxv ",
- .raw = {(void *)
- "\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
- 19},
- .res = GNUTLS_E_BASE64_DECODING_ERROR}
+ { .name = "dec-rnd1",
+ .sb64 = "3scaQAX6bwA8FQKirWBpbu",
+ .raw = { (void *)"\xf6\x9a\x46\x8a\x84\x69\x7a\x28\x83\xda\x52\xcd\x60\x2f\x39\x78",
+ 16 },
+ .res = 0 },
+ { .name = "dec-rnd2",
+ .sb64 = "id/k5HdTEqyZFPsLpdvYyGjxv",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = 0 },
+ { .name = "dec-extra-chars",
+ .sb64 = " id/k5HdTEqyZFPsLpdvYyGjxv ",
+ .raw = { (void *)"\x2c\x9f\xfb\x85\x46\x77\x4e\xd3\xc8\xcf\x67\x65\x73\x9f\x98\xbc\x42\xde\xf9",
+ 19 },
+ .res = GNUTLS_E_BASE64_DECODING_ERROR }
};
void doit(void)
diff --git a/tests/ssl2-hello.c b/tests/ssl2-hello.c
index 578cff6c10..7d4bb79fd7 100644
--- a/tests/ssl2-hello.c
+++ b/tests/ssl2-hello.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,17 +43,17 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
pid_t child;
@@ -67,12 +67,12 @@ static void tls_log_func(int level, const char *str)
*/
static unsigned char ssl2_hello[] =
- "\x80\x59\x01\x03\x01\x00\x30\x00\x00\x00\x20\x00\x00\x39\x00\x00"
- "\x38\x00\x00\x35\x00\x00\x16\x00\x00\x13\x00\x00\x0a\x00\x00\x33"
- "\x00\x00\x32\x00\x00\x2f\x00\x00\x07\x00\x00\x05\x00\x00\x04\x00"
- "\x00\x15\x00\x00\x12\x00\x00\x09\x00\x00\xff\xb1\xc9\x95\x1a\x02"
- "\x6c\xd6\x42\x11\x6e\x99\xe2\x84\x97\xc9\x17\x53\xaf\x53\xf7\xfc"
- "\x8d\x1e\x72\x87\x18\x53\xee\xa6\x7d\x18\xc6";
+ "\x80\x59\x01\x03\x01\x00\x30\x00\x00\x00\x20\x00\x00\x39\x00\x00"
+ "\x38\x00\x00\x35\x00\x00\x16\x00\x00\x13\x00\x00\x0a\x00\x00\x33"
+ "\x00\x00\x32\x00\x00\x2f\x00\x00\x07\x00\x00\x05\x00\x00\x04\x00"
+ "\x00\x15\x00\x00\x12\x00\x00\x09\x00\x00\xff\xb1\xc9\x95\x1a\x02"
+ "\x6c\xd6\x42\x11\x6e\x99\xe2\x84\x97\xc9\x17\x53\xaf\x53\xf7\xfc"
+ "\x8d\x1e\x72\x87\x18\x53\xee\xa6\x7d\x18\xc6";
static unsigned char tls_alert[] = "\x15\x03\x01\x00\x02\x02\x5A";
@@ -135,8 +135,8 @@ static void server(int sd)
gnutls_transport_set_int(session, sd);
ret = gnutls_handshake(session);
- if (ret != GNUTLS_E_FATAL_ALERT_RECEIVED
- || gnutls_alert_get(session) != GNUTLS_A_USER_CANCELED) {
+ if (ret != GNUTLS_E_FATAL_ALERT_RECEIVED ||
+ gnutls_alert_get(session) != GNUTLS_A_USER_CANCELED) {
fail("server: Handshake failed unexpectedly (%s)\n\n",
gnutls_strerror(ret));
return;
@@ -190,4 +190,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/ssl30-cert-key-exchange.c b/tests/ssl30-cert-key-exchange.c
index c816445959..f6dc0b8d36 100644
--- a/tests/ssl30-cert-key-exchange.c
+++ b/tests/ssl30-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
diff --git a/tests/ssl30-cipher-neg.c b/tests/ssl30-cipher-neg.c
index af4d63ce1a..cda894ba9a 100644
--- a/tests/ssl30-cipher-neg.c
+++ b/tests/ssl30-cipher-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,82 +38,70 @@
#include "cipher-neg-common.c"
test_case_st tests[] = {
- {
- .name = "server SSL 3.0: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+VERS-SSL3.0:+AES-128-CBC"},
- {
- .name = "both SSL 3.0: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC:+VERS-SSL3.0"},
- {
- .name = "client SSL 3.0: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+VERS-SSL3.0:+AES-128-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "both SSL 3.0: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC:+VERS-SSL3.0",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "server SSL 3.0: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+VERS-SSL3.0:+3DES-CBC"},
- {
- .name = "both SSL 3.0: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC:+VERS-SSL3.0"},
- {
- .name = "client SSL 3.0: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .server_prio = "NORMAL:+VERS-SSL3.0:+3DES-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "both SSL 3.0: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .server_prio = "NORMAL:+3DES-CBC:+VERS-SSL3.0",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "server SSL 3.0: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+VERS-SSL3.0:+ARCFOUR-128"},
- {
- .name = "both SSL 3.0: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128:+VERS-SSL3.0"},
- {
- .name = "client SSL 3.0: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+VERS-SSL3.0:+ARCFOUR-128",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "both SSL 3.0: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128:+VERS-SSL3.0",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0"}
+ { .name = "server SSL 3.0: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+VERS-SSL3.0:+AES-128-CBC" },
+ { .name = "both SSL 3.0: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC:+VERS-SSL3.0" },
+ { .name = "client SSL 3.0: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+VERS-SSL3.0:+AES-128-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "both SSL 3.0: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC:+VERS-SSL3.0",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "server SSL 3.0: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+VERS-SSL3.0:+3DES-CBC" },
+ { .name = "both SSL 3.0: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC:+VERS-SSL3.0" },
+ { .name = "client SSL 3.0: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .server_prio = "NORMAL:+VERS-SSL3.0:+3DES-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "both SSL 3.0: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .server_prio = "NORMAL:+3DES-CBC:+VERS-SSL3.0",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "server SSL 3.0: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+VERS-SSL3.0:+ARCFOUR-128" },
+ { .name = "both SSL 3.0: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128:+VERS-SSL3.0" },
+ { .name = "client SSL 3.0: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+VERS-SSL3.0:+ARCFOUR-128",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "both SSL 3.0: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128:+VERS-SSL3.0",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-SSL3.0" }
};
void doit(void)
diff --git a/tests/ssl30-server-kx-neg.c b/tests/ssl30-server-kx-neg.c
index e8085e03e8..537f5a4c2f 100644
--- a/tests/ssl30-server-kx-neg.c
+++ b/tests/ssl30-server-kx-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,108 +38,94 @@
#include "server-kx-neg-common.c"
test_case_st tests[] = {
- {
- .name = "SSL 3.0 ANON-DH without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 ANON-DH with cred but no DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_anon_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 ANON-DH with cred and DH params",
- .server_ret = 0,
- .client_ret = 0,
- .have_anon_cred = 1,
- .have_anon_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-RSA with cred but no DH params or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-RSA with cred and cert but no DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-RSA with cred and DH params but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name =
- "SSL 3.0 DHE-RSA with cred and incompatible cert and DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-RSA with cred and cert and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-RSA with cred and multiple certs and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-PSK with cred but no DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0"},
- {
- .name = "SSL 3.0 DHE-PSK with cred DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0"}
+ { .name = "SSL 3.0 ANON-DH without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 ANON-DH with cred but no DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_anon_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 ANON-DH with cred and DH params",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_anon_cred = 1,
+ .have_anon_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA with cred but no DH params or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA with cred and cert but no DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA with cred and DH params but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA with cred and incompatible cert and DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA with cred and cert and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-RSA with cred and multiple certs and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-PSK with cred but no DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0" },
+ { .name = "SSL 3.0 DHE-PSK with cred DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-SSL3.0" }
};
void doit(void)
diff --git a/tests/status-request-ext.c b/tests/status-request-ext.c
index c4eb7b3491..4dedc0cd05 100644
--- a/tests/status-request-ext.c
+++ b/tests/status-request-ext.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include "cert-common.h"
+#include "utils.h"
/* This program tests that the server does not send the
* status request extension if no status response exists. That
@@ -64,24 +64,30 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define SKIP16(pos, total) { \
- uint16_t _s; \
- if (pos+2 > total) fail("error\n"); \
- _s = (msg->data[pos] << 8) | msg->data[pos+1]; \
- if ((size_t)(pos+2+_s) > total) fail("error\n"); \
- pos += 2+_s; \
+#define SKIP16(pos, total) \
+ { \
+ uint16_t _s; \
+ if (pos + 2 > total) \
+ fail("error\n"); \
+ _s = (msg->data[pos] << 8) | msg->data[pos + 1]; \
+ if ((size_t)(pos + 2 + _s) > total) \
+ fail("error\n"); \
+ pos += 2 + _s; \
}
-# define SKIP8(pos, total) { \
- uint8_t _s; \
- if (pos+1 > total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > total) fail("error\n"); \
- pos += 1+_s; \
+#define SKIP8(pos, total) \
+ { \
+ uint8_t _s; \
+ if (pos + 1 > total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
-# define TLS_EXT_STATUS_REQUEST 5
-# define HANDSHAKE_SESSION_ID_POS 34
+#define TLS_EXT_STATUS_REQUEST 5
+#define HANDSHAKE_SESSION_ID_POS 34
/* This returns either the application-specific ID extension contents,
* or the session ID contents. The former is used on the new protocol,
@@ -106,7 +112,7 @@ static void client_log_func(int level, const char *str)
*/
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
size_t pos = 0;
/* A client hello packet. We can get the session ID and figure
@@ -142,7 +148,7 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
pos += 2;
if (type != TLS_EXT_STATUS_REQUEST) {
SKIP16(pos, msg->size);
- } else { /* found */
+ } else { /* found */
fail("found extension, although no status response\n");
break;
}
@@ -151,7 +157,7 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -186,8 +192,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -203,12 +208,12 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -270,14 +275,14 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -338,4 +343,4 @@ void doit(void)
start("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/status-request-ok.c b/tests/status-request-ok.c
index 3a324cef74..6310366336 100644
--- a/tests/status-request-ok.c
+++ b/tests/status-request-ok.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,18 +35,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
/* This program tests the status request extension and that receiving the
* certificate status works.
@@ -63,63 +63,61 @@ static void client_log_func(int level, const char *str)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static int sent = 0;
static int received = 0;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
success("received status request\n");
received = 1;
return 0;
}
-# define RESP "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-# define RESP_SIZE (sizeof(RESP)-1)
+#define RESP \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP_SIZE (sizeof(RESP) - 1)
static int status_func(gnutls_session_t session, void *ptr,
- gnutls_datum_t * resp)
+ gnutls_datum_t *resp)
{
resp->data = gnutls_malloc(RESP_SIZE);
if (resp->data == NULL)
@@ -131,7 +129,7 @@ static int status_func(gnutls_session_t session, void *ptr,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd)
{
@@ -171,8 +169,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -188,8 +185,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (received == 0) {
fail("client: didn't receive status request\n");
@@ -197,7 +194,7 @@ static void client(int fd)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -258,8 +255,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (sent == 0) {
fail("status request was sent\n");
@@ -270,7 +267,7 @@ static void server(int fd)
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -324,4 +321,4 @@ void doit(void)
return;
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/status-request-revoked.c b/tests/status-request-revoked.c
index 657dd9faf3..60abc688dd 100644
--- a/tests/status-request-revoked.c
+++ b/tests/status-request-revoked.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,19 +36,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
+#include "utils.h"
/* This program tests that the client does not send the
* status request extension if GNUTLS_NO_DEFAULT_EXTENSIONS is set.
@@ -64,7 +64,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1586000000;
@@ -75,174 +75,173 @@ static time_t mytime(time_t * t)
}
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEKjCCAhKgAwIBAgIIRiBQA6KFBj0wDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
- "AxMEaWNhMTAeFw0xOTEwMjQxNDA1MDBaFw0yMDEwMjQxNDAzMDBaMBoxGDAWBgNV\n"
- "BAMTD3Rlc3Quc2VydmVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n"
- "ggEBAKgBiCBLx9eqe2tcCdkyDvQb3UZMR/Gs1mHaiW9zUbqnHkMD/N+0B+JRcfW2\n"
- "P5WnQRTlSrWM/gFJh+va0Wtnu0VZWdBHhyR8Vq62DskNRSXUSTsQVqktaMmA/yPY\n"
- "iYtY5069WUBoa1GD23BRaeoinLtmBEaUIvsAdCPQ5bCdaVSFOLlnuDxF6/bOAQAC\n"
- "5EJ3UDAdqqGmHCQAJcKiCim2ttCIquLqAsgalHMKKBAdEm01o+LO6FOHK1OkwA1W\n"
- "GiDNaojEojMS87x9VjmdiamvPuAALLAMMQ3fh8DxqAWA4pfkYWJKehnlPHdjPfkO\n"
- "GjUvpezsWev5PBJKp5x6ce9vlgMCAwEAAaN/MH0wCQYDVR0TBAIwADALBgNVHQ8E\n"
- "BAMCA4gwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGgYDVR0RBBMwEYIPdGVzdC5zZXJ2\n"
- "ZXIuY29tMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovLzEwLjEu\n"
- "Mi4yNDI6ODg4ODANBgkqhkiG9w0BAQsFAAOCAgEAK9Bo7i8Mj7t8l+nZqQ6ezG6d\n"
- "sq5FYkr2h+T5C0Pt2RscMYAKRdBjAXmCTy1jhaojUVIupm/pK1YQAOgSQF5PMhLl\n"
- "3W1SiLl2aU1A0HjHpHvN81YP5VeceHgoJrA5VYGYQohIyH9zfSJNb5TyhQcIHiqZ\n"
- "aSC64c7sSywHC4vEHYyYu0LVMic4y7EWM2Y5Vh3xhB28jq5ixChCxG/i6rHt1fC+\n"
- "1YsKQaE+sAY4QVjMYE8g4SldqMDpnSCiHDFBfWMGD5hGvp4WMfNXpuiDG9M8wAcT\n"
- "A93NxnZqmUdksK/waGS7/uj/eY1hMU2Z/TVhaCDk146hH+lOUf6CnwM3MXLOALaz\n"
- "eHyfbm/P8XniWhzBQIiY+5wYVath9YlOkRZhAMKRglRNpwXoTKZiJNkqrwaz6RnB\n"
- "S19QByi+L6tFP7AxLFd7DKv4FbI2FWh5GyCrqa8rNc3Bh/oxDR0iAUetEFQUjkxN\n"
- "x5A0mOnKds0UoTq3nI5t6obgzAjFkiMgVMXyXo4HqfzpAtqIgZd+PJn5snFoJ6Xh\n"
- "NPjCYbfBb9LQFlfodWVg0W4mjfp0HypFaBIudgw0ANdQUUOosWFi0H2msj7CJf4G\n"
- "crMZmsCvD+xKfwKqph+tH0/e/xFeFmVOSVI78ESJhpRcQ9ODiOA98FTR4W1Nv9gd\n"
- "2GOAQzJDUd051fcRBXQ=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEvzCCAqegAwIBAgIIV9UmBssMHTUwDQYJKoZIhvcNAQELBQAwETEPMA0GA1UE\n"
- "AxMGcm9vdGNhMB4XDTE5MTAyNDE0MDQwMFoXDTIwMTAyNDE0MDMwMFowDzENMAsG\n"
- "A1UEAxMEaWNhMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALY5o80n\n"
- "QOQWNJnWOEL6Vg/UH84r9TP4ZWKlWmC4K+pi0S+8x7uFBUyxFffS/SaWeoxI2wBm\n"
- "ezMjAl1gFQTCxsojxfgS9Ky9fbxdaADeLKW7B8UHRzrKO8I9Khhe82oU87vAYUFX\n"
- "cC0ALIE4zpcdezmr53ACloYfTwDy4onl6VKVjwhfZ6PglwZRkOLjSRMbmSScJPGF\n"
- "pMx29dhXEFeCyAdqU+H9Bhu0cIwHUeFp4BM1j8NsW6GHLIzioc5f70EX76M9FyRA\n"
- "EB/csmEGX37vNjPmmyki6SJ2nFoa7C9o3ty7IzoUdrU8Cfj9o6WdEfCRlIuxLWra\n"
- "LFQrduuhk3sZYU2adZa3hJJ3Y+jx0lUBO4TxtO1Maf39Rfp4BzK1WybjCpDnO/Xg\n"
- "kU5hDjQX9zRWYPcwPMGEv3wJAezTsp/mx8UGtIlWVpd0z/oVoKvOrGaxx0RYq5SP\n"
- "mutaKDCvQ0j6t9wc69fyG5d9iNA3INXLhkFiZqEKpwZsi7RaSjD615EX2GqdIoZ0\n"
- "Ib4NEtpMv12/7ti1VFVxNNMaDNiOKRg7/Ha5SrRnCabyEuykSUnxjttNjBEazn1M\n"
- "VWIel0scvDtRFDFGklFuABOJmoYGkAPnIpN+H/l17/VtSWBsPy1rnlfgK2ftm773\n"
- "5kiEQJn42uh+jbgWaBdt9Q1B+VeV51pnjjc7AgMBAAGjHTAbMAwGA1UdEwQFMAMB\n"
- "Af8wCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQBgm8eEsLeGo5eI4plQ\n"
- "WtqvyKrrvpa9YachqmQfoARbMBJg4J0Eq3u3yjL1kUHZ5f0IkXeiaw/w5u2oxZTe\n"
- "SHHJCCd54NhLzBeTV/GQuDnWqU+GZP3ay+SkzjAMbfkHibVlRZLkeVnDZLRGd5jb\n"
- "RMXRj1LMVagI1xVM3Y4PEcDw+Bhp4XFHBUcxtcqFrjJQBbJJYE9A2QiPwoDQlYoy\n"
- "gSvVffbb04bDM01pbYOfPL9t1IIiq7KHHOq0vWzvoU+hnAx+U30wNSaeshKuixNa\n"
- "PpWKZ1hoejkhddeiypFqhS54oOxaCxArXPFIl/mLPJlztf/s1Xumi0W4fkIACtoY\n"
- "SFilawtsf/vC/WesFsQ502IkFpjYCeUavk8nAfZPZg1BwQ+ZLcwZXBuCtqyn9Mk9\n"
- "3UgHAiwMLDqeSQShjHWkBeLr5IOYMubT6SuLpd13rz2WOj6ETq7zizUanV8yAeaT\n"
- "x/pn1/rVpbzrbEAL5RkYlUK0ZbwpKjTLygiHUXFqpiID4L1OXoJbtbgSQlXFTEXV\n"
- "AnG40QNerXjQ8b+BlmFmCY2nxtNFgtVLUHb4vyG1mUcNIYafH+9TD5tUdzDVZP90\n"
- "NnU+8i3Ah3qk9B4Cv9wdHY4Mq/m2jTZd060oGb5l5381Ju5tr2BE+xPXCzSk7TsL\n"
- "tdq43/hGqq4D2YGCc9E0WnOVxw==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEwTCCAqmgAwIBAgIIFv+PS+AkgjowDQYJKoZIhvcNAQELBQAwETEPMA0GA1UE\n"
- "AxMGcm9vdGNhMB4XDTE5MTAyNDE0MDMwMFoXDTIwMTAyNDE0MDMwMFowETEPMA0G\n"
- "A1UEAxMGcm9vdGNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjmj\n"
- "zSdA5BY0mdY4QvpWD9Qfziv1M/hlYqVaYLgr6mLRL7zHu4UFTLEV99L9JpZ6jEjb\n"
- "AGZ7MyMCXWAVBMLGyiPF+BL0rL19vF1oAN4spbsHxQdHOso7wj0qGF7zahTzu8Bh\n"
- "QVdwLQAsgTjOlx17OavncAKWhh9PAPLiieXpUpWPCF9no+CXBlGQ4uNJExuZJJwk\n"
- "8YWkzHb12FcQV4LIB2pT4f0GG7RwjAdR4WngEzWPw2xboYcsjOKhzl/vQRfvoz0X\n"
- "JEAQH9yyYQZffu82M+abKSLpInacWhrsL2je3LsjOhR2tTwJ+P2jpZ0R8JGUi7Et\n"
- "atosVCt266GTexlhTZp1lreEkndj6PHSVQE7hPG07Uxp/f1F+ngHMrVbJuMKkOc7\n"
- "9eCRTmEONBf3NFZg9zA8wYS/fAkB7NOyn+bHxQa0iVZWl3TP+hWgq86sZrHHRFir\n"
- "lI+a61ooMK9DSPq33Bzr1/Ibl32I0Dcg1cuGQWJmoQqnBmyLtFpKMPrXkRfYap0i\n"
- "hnQhvg0S2ky/Xb/u2LVUVXE00xoM2I4pGDv8drlKtGcJpvIS7KRJSfGO202MERrO\n"
- "fUxVYh6XSxy8O1EUMUaSUW4AE4mahgaQA+cik34f+XXv9W1JYGw/LWueV+ArZ+2b\n"
- "vvfmSIRAmfja6H6NuBZoF231DUH5V5XnWmeONzsCAwEAAaMdMBswDAYDVR0TBAUw\n"
- "AwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAAk7UHoAWMRlcCtH\n"
- "qPH4YOuqqhMEqrJ3nRrRffDmRNCy/R2OpYRmI37HItaWmAB/aGK6H3nQG5fHY1/e\n"
- "Ypn/uwpYyvpMtYZgeNNFHckXcWQo3C7wOlCwQzWzI9po0zRp3EqTNBneKa4cZoe0\n"
- "FxcMfLbHL4SRKE08PZ3NBRW4n01fjjSs3o4cXvhD6puMTwjL581tWhgmfTrYGMvH\n"
- "i7/XSUuFKzj74dA1LioEvbi5qy4kCvy1zxLMySXRd8ZtdnlS/tP3dTx+f1qCZaH6\n"
- "E3jE7pi24yRmQaiNaO8Ap4uKcPaMXCsqg+TNTID3QJx6hDgQYsD7P64cUJXXhT/S\n"
- "bmdawUaWhwZXVCm2VIpYI3GYhnEVpovyqHOsopNfrabCzvuVB/d4wJBO9MJUk/0l\n"
- "BBCTJx3DluvkjKlDWxVDgpofElbU+77mEKLLki4G0f12biJLXOoS+jYayHSKbNlT\n"
- "5qzXO3swPMNyS1iBdJtmsh3d5JxHa96UlBgKa5pZY2vk+rHUP0j5aLPMqqCixOpE\n"
- "rYX6hvg898wlR2enXY//dgnvgprDW9Fs1x/PdaFx6p1EFpGuJX/td7CK633MsRbu\n"
- "dirhB+L70skZjiGGR/kY0i6edHFiMoqmyXm3ML9ID3ZWfQV9gDCCIKvz9SqpW08q\n"
- "dZHbP85IPw8a3Lzour7HV3acvaKA\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEKjCCAhKgAwIBAgIIRiBQA6KFBj0wDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE\n"
+ "AxMEaWNhMTAeFw0xOTEwMjQxNDA1MDBaFw0yMDEwMjQxNDAzMDBaMBoxGDAWBgNV\n"
+ "BAMTD3Rlc3Quc2VydmVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n"
+ "ggEBAKgBiCBLx9eqe2tcCdkyDvQb3UZMR/Gs1mHaiW9zUbqnHkMD/N+0B+JRcfW2\n"
+ "P5WnQRTlSrWM/gFJh+va0Wtnu0VZWdBHhyR8Vq62DskNRSXUSTsQVqktaMmA/yPY\n"
+ "iYtY5069WUBoa1GD23BRaeoinLtmBEaUIvsAdCPQ5bCdaVSFOLlnuDxF6/bOAQAC\n"
+ "5EJ3UDAdqqGmHCQAJcKiCim2ttCIquLqAsgalHMKKBAdEm01o+LO6FOHK1OkwA1W\n"
+ "GiDNaojEojMS87x9VjmdiamvPuAALLAMMQ3fh8DxqAWA4pfkYWJKehnlPHdjPfkO\n"
+ "GjUvpezsWev5PBJKp5x6ce9vlgMCAwEAAaN/MH0wCQYDVR0TBAIwADALBgNVHQ8E\n"
+ "BAMCA4gwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGgYDVR0RBBMwEYIPdGVzdC5zZXJ2\n"
+ "ZXIuY29tMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovLzEwLjEu\n"
+ "Mi4yNDI6ODg4ODANBgkqhkiG9w0BAQsFAAOCAgEAK9Bo7i8Mj7t8l+nZqQ6ezG6d\n"
+ "sq5FYkr2h+T5C0Pt2RscMYAKRdBjAXmCTy1jhaojUVIupm/pK1YQAOgSQF5PMhLl\n"
+ "3W1SiLl2aU1A0HjHpHvN81YP5VeceHgoJrA5VYGYQohIyH9zfSJNb5TyhQcIHiqZ\n"
+ "aSC64c7sSywHC4vEHYyYu0LVMic4y7EWM2Y5Vh3xhB28jq5ixChCxG/i6rHt1fC+\n"
+ "1YsKQaE+sAY4QVjMYE8g4SldqMDpnSCiHDFBfWMGD5hGvp4WMfNXpuiDG9M8wAcT\n"
+ "A93NxnZqmUdksK/waGS7/uj/eY1hMU2Z/TVhaCDk146hH+lOUf6CnwM3MXLOALaz\n"
+ "eHyfbm/P8XniWhzBQIiY+5wYVath9YlOkRZhAMKRglRNpwXoTKZiJNkqrwaz6RnB\n"
+ "S19QByi+L6tFP7AxLFd7DKv4FbI2FWh5GyCrqa8rNc3Bh/oxDR0iAUetEFQUjkxN\n"
+ "x5A0mOnKds0UoTq3nI5t6obgzAjFkiMgVMXyXo4HqfzpAtqIgZd+PJn5snFoJ6Xh\n"
+ "NPjCYbfBb9LQFlfodWVg0W4mjfp0HypFaBIudgw0ANdQUUOosWFi0H2msj7CJf4G\n"
+ "crMZmsCvD+xKfwKqph+tH0/e/xFeFmVOSVI78ESJhpRcQ9ODiOA98FTR4W1Nv9gd\n"
+ "2GOAQzJDUd051fcRBXQ=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEvzCCAqegAwIBAgIIV9UmBssMHTUwDQYJKoZIhvcNAQELBQAwETEPMA0GA1UE\n"
+ "AxMGcm9vdGNhMB4XDTE5MTAyNDE0MDQwMFoXDTIwMTAyNDE0MDMwMFowDzENMAsG\n"
+ "A1UEAxMEaWNhMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALY5o80n\n"
+ "QOQWNJnWOEL6Vg/UH84r9TP4ZWKlWmC4K+pi0S+8x7uFBUyxFffS/SaWeoxI2wBm\n"
+ "ezMjAl1gFQTCxsojxfgS9Ky9fbxdaADeLKW7B8UHRzrKO8I9Khhe82oU87vAYUFX\n"
+ "cC0ALIE4zpcdezmr53ACloYfTwDy4onl6VKVjwhfZ6PglwZRkOLjSRMbmSScJPGF\n"
+ "pMx29dhXEFeCyAdqU+H9Bhu0cIwHUeFp4BM1j8NsW6GHLIzioc5f70EX76M9FyRA\n"
+ "EB/csmEGX37vNjPmmyki6SJ2nFoa7C9o3ty7IzoUdrU8Cfj9o6WdEfCRlIuxLWra\n"
+ "LFQrduuhk3sZYU2adZa3hJJ3Y+jx0lUBO4TxtO1Maf39Rfp4BzK1WybjCpDnO/Xg\n"
+ "kU5hDjQX9zRWYPcwPMGEv3wJAezTsp/mx8UGtIlWVpd0z/oVoKvOrGaxx0RYq5SP\n"
+ "mutaKDCvQ0j6t9wc69fyG5d9iNA3INXLhkFiZqEKpwZsi7RaSjD615EX2GqdIoZ0\n"
+ "Ib4NEtpMv12/7ti1VFVxNNMaDNiOKRg7/Ha5SrRnCabyEuykSUnxjttNjBEazn1M\n"
+ "VWIel0scvDtRFDFGklFuABOJmoYGkAPnIpN+H/l17/VtSWBsPy1rnlfgK2ftm773\n"
+ "5kiEQJn42uh+jbgWaBdt9Q1B+VeV51pnjjc7AgMBAAGjHTAbMAwGA1UdEwQFMAMB\n"
+ "Af8wCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQBgm8eEsLeGo5eI4plQ\n"
+ "WtqvyKrrvpa9YachqmQfoARbMBJg4J0Eq3u3yjL1kUHZ5f0IkXeiaw/w5u2oxZTe\n"
+ "SHHJCCd54NhLzBeTV/GQuDnWqU+GZP3ay+SkzjAMbfkHibVlRZLkeVnDZLRGd5jb\n"
+ "RMXRj1LMVagI1xVM3Y4PEcDw+Bhp4XFHBUcxtcqFrjJQBbJJYE9A2QiPwoDQlYoy\n"
+ "gSvVffbb04bDM01pbYOfPL9t1IIiq7KHHOq0vWzvoU+hnAx+U30wNSaeshKuixNa\n"
+ "PpWKZ1hoejkhddeiypFqhS54oOxaCxArXPFIl/mLPJlztf/s1Xumi0W4fkIACtoY\n"
+ "SFilawtsf/vC/WesFsQ502IkFpjYCeUavk8nAfZPZg1BwQ+ZLcwZXBuCtqyn9Mk9\n"
+ "3UgHAiwMLDqeSQShjHWkBeLr5IOYMubT6SuLpd13rz2WOj6ETq7zizUanV8yAeaT\n"
+ "x/pn1/rVpbzrbEAL5RkYlUK0ZbwpKjTLygiHUXFqpiID4L1OXoJbtbgSQlXFTEXV\n"
+ "AnG40QNerXjQ8b+BlmFmCY2nxtNFgtVLUHb4vyG1mUcNIYafH+9TD5tUdzDVZP90\n"
+ "NnU+8i3Ah3qk9B4Cv9wdHY4Mq/m2jTZd060oGb5l5381Ju5tr2BE+xPXCzSk7TsL\n"
+ "tdq43/hGqq4D2YGCc9E0WnOVxw==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEwTCCAqmgAwIBAgIIFv+PS+AkgjowDQYJKoZIhvcNAQELBQAwETEPMA0GA1UE\n"
+ "AxMGcm9vdGNhMB4XDTE5MTAyNDE0MDMwMFoXDTIwMTAyNDE0MDMwMFowETEPMA0G\n"
+ "A1UEAxMGcm9vdGNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjmj\n"
+ "zSdA5BY0mdY4QvpWD9Qfziv1M/hlYqVaYLgr6mLRL7zHu4UFTLEV99L9JpZ6jEjb\n"
+ "AGZ7MyMCXWAVBMLGyiPF+BL0rL19vF1oAN4spbsHxQdHOso7wj0qGF7zahTzu8Bh\n"
+ "QVdwLQAsgTjOlx17OavncAKWhh9PAPLiieXpUpWPCF9no+CXBlGQ4uNJExuZJJwk\n"
+ "8YWkzHb12FcQV4LIB2pT4f0GG7RwjAdR4WngEzWPw2xboYcsjOKhzl/vQRfvoz0X\n"
+ "JEAQH9yyYQZffu82M+abKSLpInacWhrsL2je3LsjOhR2tTwJ+P2jpZ0R8JGUi7Et\n"
+ "atosVCt266GTexlhTZp1lreEkndj6PHSVQE7hPG07Uxp/f1F+ngHMrVbJuMKkOc7\n"
+ "9eCRTmEONBf3NFZg9zA8wYS/fAkB7NOyn+bHxQa0iVZWl3TP+hWgq86sZrHHRFir\n"
+ "lI+a61ooMK9DSPq33Bzr1/Ibl32I0Dcg1cuGQWJmoQqnBmyLtFpKMPrXkRfYap0i\n"
+ "hnQhvg0S2ky/Xb/u2LVUVXE00xoM2I4pGDv8drlKtGcJpvIS7KRJSfGO202MERrO\n"
+ "fUxVYh6XSxy8O1EUMUaSUW4AE4mahgaQA+cik34f+XXv9W1JYGw/LWueV+ArZ+2b\n"
+ "vvfmSIRAmfja6H6NuBZoF231DUH5V5XnWmeONzsCAwEAAaMdMBswDAYDVR0TBAUw\n"
+ "AwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAAk7UHoAWMRlcCtH\n"
+ "qPH4YOuqqhMEqrJ3nRrRffDmRNCy/R2OpYRmI37HItaWmAB/aGK6H3nQG5fHY1/e\n"
+ "Ypn/uwpYyvpMtYZgeNNFHckXcWQo3C7wOlCwQzWzI9po0zRp3EqTNBneKa4cZoe0\n"
+ "FxcMfLbHL4SRKE08PZ3NBRW4n01fjjSs3o4cXvhD6puMTwjL581tWhgmfTrYGMvH\n"
+ "i7/XSUuFKzj74dA1LioEvbi5qy4kCvy1zxLMySXRd8ZtdnlS/tP3dTx+f1qCZaH6\n"
+ "E3jE7pi24yRmQaiNaO8Ap4uKcPaMXCsqg+TNTID3QJx6hDgQYsD7P64cUJXXhT/S\n"
+ "bmdawUaWhwZXVCm2VIpYI3GYhnEVpovyqHOsopNfrabCzvuVB/d4wJBO9MJUk/0l\n"
+ "BBCTJx3DluvkjKlDWxVDgpofElbU+77mEKLLki4G0f12biJLXOoS+jYayHSKbNlT\n"
+ "5qzXO3swPMNyS1iBdJtmsh3d5JxHa96UlBgKa5pZY2vk+rHUP0j5aLPMqqCixOpE\n"
+ "rYX6hvg898wlR2enXY//dgnvgprDW9Fs1x/PdaFx6p1EFpGuJX/td7CK633MsRbu\n"
+ "dirhB+L70skZjiGGR/kY0i6edHFiMoqmyXm3ML9ID3ZWfQV9gDCCIKvz9SqpW08q\n"
+ "dZHbP85IPw8a3Lzour7HV3acvaKA\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem) - 1
-};
+ sizeof(server_cert_pem) - 1 };
static unsigned char ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEwTCCAqmgAwIBAgIIFv+PS+AkgjowDQYJKoZIhvcNAQELBQAwETEPMA0GA1UE\n"
- "AxMGcm9vdGNhMB4XDTE5MTAyNDE0MDMwMFoXDTIwMTAyNDE0MDMwMFowETEPMA0G\n"
- "A1UEAxMGcm9vdGNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjmj\n"
- "zSdA5BY0mdY4QvpWD9Qfziv1M/hlYqVaYLgr6mLRL7zHu4UFTLEV99L9JpZ6jEjb\n"
- "AGZ7MyMCXWAVBMLGyiPF+BL0rL19vF1oAN4spbsHxQdHOso7wj0qGF7zahTzu8Bh\n"
- "QVdwLQAsgTjOlx17OavncAKWhh9PAPLiieXpUpWPCF9no+CXBlGQ4uNJExuZJJwk\n"
- "8YWkzHb12FcQV4LIB2pT4f0GG7RwjAdR4WngEzWPw2xboYcsjOKhzl/vQRfvoz0X\n"
- "JEAQH9yyYQZffu82M+abKSLpInacWhrsL2je3LsjOhR2tTwJ+P2jpZ0R8JGUi7Et\n"
- "atosVCt266GTexlhTZp1lreEkndj6PHSVQE7hPG07Uxp/f1F+ngHMrVbJuMKkOc7\n"
- "9eCRTmEONBf3NFZg9zA8wYS/fAkB7NOyn+bHxQa0iVZWl3TP+hWgq86sZrHHRFir\n"
- "lI+a61ooMK9DSPq33Bzr1/Ibl32I0Dcg1cuGQWJmoQqnBmyLtFpKMPrXkRfYap0i\n"
- "hnQhvg0S2ky/Xb/u2LVUVXE00xoM2I4pGDv8drlKtGcJpvIS7KRJSfGO202MERrO\n"
- "fUxVYh6XSxy8O1EUMUaSUW4AE4mahgaQA+cik34f+XXv9W1JYGw/LWueV+ArZ+2b\n"
- "vvfmSIRAmfja6H6NuBZoF231DUH5V5XnWmeONzsCAwEAAaMdMBswDAYDVR0TBAUw\n"
- "AwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAAk7UHoAWMRlcCtH\n"
- "qPH4YOuqqhMEqrJ3nRrRffDmRNCy/R2OpYRmI37HItaWmAB/aGK6H3nQG5fHY1/e\n"
- "Ypn/uwpYyvpMtYZgeNNFHckXcWQo3C7wOlCwQzWzI9po0zRp3EqTNBneKa4cZoe0\n"
- "FxcMfLbHL4SRKE08PZ3NBRW4n01fjjSs3o4cXvhD6puMTwjL581tWhgmfTrYGMvH\n"
- "i7/XSUuFKzj74dA1LioEvbi5qy4kCvy1zxLMySXRd8ZtdnlS/tP3dTx+f1qCZaH6\n"
- "E3jE7pi24yRmQaiNaO8Ap4uKcPaMXCsqg+TNTID3QJx6hDgQYsD7P64cUJXXhT/S\n"
- "bmdawUaWhwZXVCm2VIpYI3GYhnEVpovyqHOsopNfrabCzvuVB/d4wJBO9MJUk/0l\n"
- "BBCTJx3DluvkjKlDWxVDgpofElbU+77mEKLLki4G0f12biJLXOoS+jYayHSKbNlT\n"
- "5qzXO3swPMNyS1iBdJtmsh3d5JxHa96UlBgKa5pZY2vk+rHUP0j5aLPMqqCixOpE\n"
- "rYX6hvg898wlR2enXY//dgnvgprDW9Fs1x/PdaFx6p1EFpGuJX/td7CK633MsRbu\n"
- "dirhB+L70skZjiGGR/kY0i6edHFiMoqmyXm3ML9ID3ZWfQV9gDCCIKvz9SqpW08q\n"
- "dZHbP85IPw8a3Lzour7HV3acvaKA\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca_cert = { ca_cert_pem,
- sizeof(ca_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEwTCCAqmgAwIBAgIIFv+PS+AkgjowDQYJKoZIhvcNAQELBQAwETEPMA0GA1UE\n"
+ "AxMGcm9vdGNhMB4XDTE5MTAyNDE0MDMwMFoXDTIwMTAyNDE0MDMwMFowETEPMA0G\n"
+ "A1UEAxMGcm9vdGNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjmj\n"
+ "zSdA5BY0mdY4QvpWD9Qfziv1M/hlYqVaYLgr6mLRL7zHu4UFTLEV99L9JpZ6jEjb\n"
+ "AGZ7MyMCXWAVBMLGyiPF+BL0rL19vF1oAN4spbsHxQdHOso7wj0qGF7zahTzu8Bh\n"
+ "QVdwLQAsgTjOlx17OavncAKWhh9PAPLiieXpUpWPCF9no+CXBlGQ4uNJExuZJJwk\n"
+ "8YWkzHb12FcQV4LIB2pT4f0GG7RwjAdR4WngEzWPw2xboYcsjOKhzl/vQRfvoz0X\n"
+ "JEAQH9yyYQZffu82M+abKSLpInacWhrsL2je3LsjOhR2tTwJ+P2jpZ0R8JGUi7Et\n"
+ "atosVCt266GTexlhTZp1lreEkndj6PHSVQE7hPG07Uxp/f1F+ngHMrVbJuMKkOc7\n"
+ "9eCRTmEONBf3NFZg9zA8wYS/fAkB7NOyn+bHxQa0iVZWl3TP+hWgq86sZrHHRFir\n"
+ "lI+a61ooMK9DSPq33Bzr1/Ibl32I0Dcg1cuGQWJmoQqnBmyLtFpKMPrXkRfYap0i\n"
+ "hnQhvg0S2ky/Xb/u2LVUVXE00xoM2I4pGDv8drlKtGcJpvIS7KRJSfGO202MERrO\n"
+ "fUxVYh6XSxy8O1EUMUaSUW4AE4mahgaQA+cik34f+XXv9W1JYGw/LWueV+ArZ+2b\n"
+ "vvfmSIRAmfja6H6NuBZoF231DUH5V5XnWmeONzsCAwEAAaMdMBswDAYDVR0TBAUw\n"
+ "AwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAAk7UHoAWMRlcCtH\n"
+ "qPH4YOuqqhMEqrJ3nRrRffDmRNCy/R2OpYRmI37HItaWmAB/aGK6H3nQG5fHY1/e\n"
+ "Ypn/uwpYyvpMtYZgeNNFHckXcWQo3C7wOlCwQzWzI9po0zRp3EqTNBneKa4cZoe0\n"
+ "FxcMfLbHL4SRKE08PZ3NBRW4n01fjjSs3o4cXvhD6puMTwjL581tWhgmfTrYGMvH\n"
+ "i7/XSUuFKzj74dA1LioEvbi5qy4kCvy1zxLMySXRd8ZtdnlS/tP3dTx+f1qCZaH6\n"
+ "E3jE7pi24yRmQaiNaO8Ap4uKcPaMXCsqg+TNTID3QJx6hDgQYsD7P64cUJXXhT/S\n"
+ "bmdawUaWhwZXVCm2VIpYI3GYhnEVpovyqHOsopNfrabCzvuVB/d4wJBO9MJUk/0l\n"
+ "BBCTJx3DluvkjKlDWxVDgpofElbU+77mEKLLki4G0f12biJLXOoS+jYayHSKbNlT\n"
+ "5qzXO3swPMNyS1iBdJtmsh3d5JxHa96UlBgKa5pZY2vk+rHUP0j5aLPMqqCixOpE\n"
+ "rYX6hvg898wlR2enXY//dgnvgprDW9Fs1x/PdaFx6p1EFpGuJX/td7CK633MsRbu\n"
+ "dirhB+L70skZjiGGR/kY0i6edHFiMoqmyXm3ML9ID3ZWfQV9gDCCIKvz9SqpW08q\n"
+ "dZHbP85IPw8a3Lzour7HV3acvaKA\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca_cert = { ca_cert_pem, sizeof(ca_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEogIBAAKCAQEAqAGIIEvH16p7a1wJ2TIO9BvdRkxH8azWYdqJb3NRuqceQwP8\n"
- "37QH4lFx9bY/ladBFOVKtYz+AUmH69rRa2e7RVlZ0EeHJHxWrrYOyQ1FJdRJOxBW\n"
- "qS1oyYD/I9iJi1jnTr1ZQGhrUYPbcFFp6iKcu2YERpQi+wB0I9DlsJ1pVIU4uWe4\n"
- "PEXr9s4BAALkQndQMB2qoaYcJAAlwqIKKba20Iiq4uoCyBqUcwooEB0SbTWj4s7o\n"
- "U4crU6TADVYaIM1qiMSiMxLzvH1WOZ2Jqa8+4AAssAwxDd+HwPGoBYDil+RhYkp6\n"
- "GeU8d2M9+Q4aNS+l7OxZ6/k8EkqnnHpx72+WAwIDAQABAoIBAEw4Ba3BM3SgH0Xh\n"
- "h4ZFs4sDaSuPR8RYiRnzrw4k3xsy3gPBN2O1pS4DjRPQDqCyNFBqha4/vKyQ010o\n"
- "9IEpmkgn9RsMmD7xOdIhPivwHULAQEjPbMFrnHJuV1HH1v6k4qtSM7+In8dnbpJS\n"
- "HR7ffQN3kNEEO6pr1kS5bLrnbvWsjpKcqELOMJfJY+uMS/GhITfrhWtm0PagZ1ze\n"
- "w/WYHTkgzGOgBeJuOjb6jCfLOuNDsP/RKALnq7eGeHce8w1tRFkpnxHrCquisgaQ\n"
- "ZpFIwG8r8VgwRgd/ydjD1+jMgIwx1NW2GBnX91uLCe6/hTMDAub6TPYZkqiHIlDZ\n"
- "UcMg5eECgYEA0kdGFO4XjlpLg5y5FmZSNH0UhEYbn67PTb9DMi3ecDPH5zSjbiYa\n"
- "0JCFYQqRTPBl6D/cRIIIaWJOBIg7DgzELFTqnZlpWuenSef9sHNIQp/6XhT75aLD\n"
- "EUJgcP3oyV0MOhGp48ZnYgmbnBZuoQKpuWV39IqqgSlAUKjTcFQAV9UCgYEAzIk/\n"
- "eTkd1tOh+K22pGBaz8hHi5+YJ/YpHKSjryI2I0PgtmrWL8S284pySkGU+oFV4N8Z\n"
- "Ajh5+26DVWxQK8LAqRYlgrooF/+85FJuGx47BhnTCVxmypOZILJ0jeJk8StBrAUk\n"
- "TvcEVcQr8kFSvUPyz1codEFTECsMYbKP37aeuncCgYBnOa3hoG/X5eOkHE+P+3Ln\n"
- "aW+k73WoEfyaQgYOoA3OLt03VtPTwsjvEcMoPDPP/UNJm+/Zgav3b9a0ytuSrhmv\n"
- "WZBDBYh+o7Gvyj7zW+RhMH+Lp+lwdVIlKtyFG2AnWZIi/4DS3BbsPaMyIKD2UYRY\n"
- "CsO0PE4vUbzM29PQFKyGcQKBgG3hrf/p92XZ/EIk0OIuAZtu9UDFVHDjheKlcGo9\n"
- "7uezJ53Yd4jiHYdo8U2DPg32PbS5Ji5TOPUiwdu6fLeFwQsVosFAURnTgh8HSa+3\n"
- "5e25Ie79fRuHf9RZCtTOs3v8ySMpAACMJAAPi6xx+4lCX8eUA1+xWHZvKg+yZijB\n"
- "azSxAoGABIvXwUi1NaRDF/fMDiwiwnlJf8FdfY3RBbM1X3ZJbhzqxGL3Hfc4vRcB\n"
- "zl7xUnP5Ot9trof6AjHsYCRW+FFjrbUs0x56KoIDCTsd8uArmquyKnSrQb+Zu4FK\n"
- "b9M8/NMq3h3Ub+yO/YBm1HOSWeJs8pNSMU72j3QhorNIjAsLGyE=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEogIBAAKCAQEAqAGIIEvH16p7a1wJ2TIO9BvdRkxH8azWYdqJb3NRuqceQwP8\n"
+ "37QH4lFx9bY/ladBFOVKtYz+AUmH69rRa2e7RVlZ0EeHJHxWrrYOyQ1FJdRJOxBW\n"
+ "qS1oyYD/I9iJi1jnTr1ZQGhrUYPbcFFp6iKcu2YERpQi+wB0I9DlsJ1pVIU4uWe4\n"
+ "PEXr9s4BAALkQndQMB2qoaYcJAAlwqIKKba20Iiq4uoCyBqUcwooEB0SbTWj4s7o\n"
+ "U4crU6TADVYaIM1qiMSiMxLzvH1WOZ2Jqa8+4AAssAwxDd+HwPGoBYDil+RhYkp6\n"
+ "GeU8d2M9+Q4aNS+l7OxZ6/k8EkqnnHpx72+WAwIDAQABAoIBAEw4Ba3BM3SgH0Xh\n"
+ "h4ZFs4sDaSuPR8RYiRnzrw4k3xsy3gPBN2O1pS4DjRPQDqCyNFBqha4/vKyQ010o\n"
+ "9IEpmkgn9RsMmD7xOdIhPivwHULAQEjPbMFrnHJuV1HH1v6k4qtSM7+In8dnbpJS\n"
+ "HR7ffQN3kNEEO6pr1kS5bLrnbvWsjpKcqELOMJfJY+uMS/GhITfrhWtm0PagZ1ze\n"
+ "w/WYHTkgzGOgBeJuOjb6jCfLOuNDsP/RKALnq7eGeHce8w1tRFkpnxHrCquisgaQ\n"
+ "ZpFIwG8r8VgwRgd/ydjD1+jMgIwx1NW2GBnX91uLCe6/hTMDAub6TPYZkqiHIlDZ\n"
+ "UcMg5eECgYEA0kdGFO4XjlpLg5y5FmZSNH0UhEYbn67PTb9DMi3ecDPH5zSjbiYa\n"
+ "0JCFYQqRTPBl6D/cRIIIaWJOBIg7DgzELFTqnZlpWuenSef9sHNIQp/6XhT75aLD\n"
+ "EUJgcP3oyV0MOhGp48ZnYgmbnBZuoQKpuWV39IqqgSlAUKjTcFQAV9UCgYEAzIk/\n"
+ "eTkd1tOh+K22pGBaz8hHi5+YJ/YpHKSjryI2I0PgtmrWL8S284pySkGU+oFV4N8Z\n"
+ "Ajh5+26DVWxQK8LAqRYlgrooF/+85FJuGx47BhnTCVxmypOZILJ0jeJk8StBrAUk\n"
+ "TvcEVcQr8kFSvUPyz1codEFTECsMYbKP37aeuncCgYBnOa3hoG/X5eOkHE+P+3Ln\n"
+ "aW+k73WoEfyaQgYOoA3OLt03VtPTwsjvEcMoPDPP/UNJm+/Zgav3b9a0ytuSrhmv\n"
+ "WZBDBYh+o7Gvyj7zW+RhMH+Lp+lwdVIlKtyFG2AnWZIi/4DS3BbsPaMyIKD2UYRY\n"
+ "CsO0PE4vUbzM29PQFKyGcQKBgG3hrf/p92XZ/EIk0OIuAZtu9UDFVHDjheKlcGo9\n"
+ "7uezJ53Yd4jiHYdo8U2DPg32PbS5Ji5TOPUiwdu6fLeFwQsVosFAURnTgh8HSa+3\n"
+ "5e25Ie79fRuHf9RZCtTOs3v8ySMpAACMJAAPi6xx+4lCX8eUA1+xWHZvKg+yZijB\n"
+ "azSxAoGABIvXwUi1NaRDF/fMDiwiwnlJf8FdfY3RBbM1X3ZJbhzqxGL3Hfc4vRcB\n"
+ "zl7xUnP5Ot9trof6AjHsYCRW+FFjrbUs0x56KoIDCTsd8uArmquyKnSrQb+Zu4FK\n"
+ "b9M8/NMq3h3Ub+yO/YBm1HOSWeJs8pNSMU72j3QhorNIjAsLGyE=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem) - 1
-};
+ sizeof(server_key_pem) - 1 };
static int sent = 0;
static int received = 0;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
success("received status request\n");
received = 1;
return 0;
}
-# define RESP "\x30\x82\x05\xa3\x0a\x01\x00\xa0\x82\x05\x9c\x30\x82\x05\x98\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x05\x89\x30\x82\x05\x85\x30\x81\x80\xa1\x02\x30\x00\x18\x0f\x32\x30\x31\x39\x31\x32\x30\x35\x31\x38\x30\x31\x30\x34\x5a\x30\x69\x30\x67\x30\x41\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\x46\x2c\x91\xc8\xd2\x57\xe2\xb8\xb1\xd3\xd0\x99\xc1\xfe\x38\x51\x0e\x17\xa9\x50\x04\x14\x11\x92\x6c\xe3\xa7\x50\x77\x21\xfe\x95\xfa\xca\x6d\x3f\xc7\xa9\xaf\xa4\x9e\x82\x02\x08\x46\x20\x50\x03\xa2\x85\x06\x3d\xa1\x11\x18\x0f\x32\x30\x31\x39\x31\x32\x30\x35\x31\x35\x32\x37\x35\x35\x5a\x18\x0f\x32\x30\x31\x39\x31\x32\x30\x35\x31\x38\x30\x31\x30\x34\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x05\x88\x2c\x3d\x57\xf4\x75\xbf\x7f\xbe\x9e\x0f\xdf\x8f\x6c\x5f\x08\x56\xc4\x04\xc6\xd6\x3c\xfa\x33\x54\x3e\x42\x1c\x77\xda\x3a\x2a\x48\xcf\xfd\xf1\x6e\xb5\x1d\x94\x06\xfa\xfd\xf8\xba\xec\x66\xc3\x22\x7c\x43\xaa\x48\xaa\x58\x3a\xdc\x2a\x55\x44\x78\xc5\x6e\x0d\x1e\x66\xff\x79\x33\xb3\x26\x22\x86\xa0\x0a\xc0\x59\xb1\xdf\x6d\x07\x2d\x86\x2d\x5b\x0b\x29\x0f\xf3\xc1\x39\x21\x05\xf9\xdb\xdd\x47\x11\x6b\x83\xa0\xc7\x24\xbc\xaa\x42\x43\x9e\x20\x1f\x63\x10\x6c\xeb\x94\x7a\x9c\x44\xaa\x24\xfb\xde\x8f\x49\x92\x1c\xc7\x45\x21\xca\xf9\x1a\x11\x54\x4f\x68\xab\xf0\xce\xd3\x0a\xdc\x9f\xc3\x5d\x8d\x7e\xd4\x96\x30\x74\x31\x95\x04\x55\x8d\xf5\xdf\x3f\x34\x8b\x32\xfc\xf0\x4d\x10\xc6\xc4\x46\xfc\x6a\xb1\xa3\x5c\x9a\xde\xf2\x22\xc3\x5f\x08\x8a\x70\x65\xff\xaa\xf5\xc0\x14\x8b\x13\x47\xff\x0c\x72\x6a\x09\x51\xeb\xec\x92\xc5\xfd\x41\x37\x11\x12\x57\x7b\x47\x9e\x25\xd5\xf2\x10\xc2\xf7\xae\x0e\x72\xfb\x2d\x4f\x8d\x54\xe6\x5a\x71\x2b\xfa\x2b\x9c\xd7\x59\xe5\x31\x30\x21\x3f\x7f\xa7\x85\x07\x31\x93\x9d\x6d\x54\xb2\x40\xa9\x78\xef\x24\xc7\xa0\x82\x03\xea\x30\x82\x03\xe6\x30\x82\x03\xe2\x30\x82\x01\xca\xa0\x03\x02\x01\x02\x02\x08\x68\xfe\x28\x8e\x92\xfb\xa8\x37\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x11\x31\x0f\x30\x0d\x06\x03\x55\x04\x03\x13\x06\x72\x6f\x6f\x74\x63\x61\x30\x1e\x17\x0d\x31\x39\x31\x31\x32\x30\x31\x36\x32\x34\x30\x30\x5a\x17\x0d\x32\x30\x31\x30\x32\x34\x31\x34\x30\x33\x30\x30\x5a\x30\x00\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa8\x01\x88\x20\x4b\xc7\xd7\xaa\x7b\x6b\x5c\x09\xd9\x32\x0e\xf4\x1b\xdd\x46\x4c\x47\xf1\xac\xd6\x61\xda\x89\x6f\x73\x51\xba\xa7\x1e\x43\x03\xfc\xdf\xb4\x07\xe2\x51\x71\xf5\xb6\x3f\x95\xa7\x41\x14\xe5\x4a\xb5\x8c\xfe\x01\x49\x87\xeb\xda\xd1\x6b\x67\xbb\x45\x59\x59\xd0\x47\x87\x24\x7c\x56\xae\xb6\x0e\xc9\x0d\x45\x25\xd4\x49\x3b\x10\x56\xa9\x2d\x68\xc9\x80\xff\x23\xd8\x89\x8b\x58\xe7\x4e\xbd\x59\x40\x68\x6b\x51\x83\xdb\x70\x51\x69\xea\x22\x9c\xbb\x66\x04\x46\x94\x22\xfb\x00\x74\x23\xd0\xe5\xb0\x9d\x69\x54\x85\x38\xb9\x67\xb8\x3c\x45\xeb\xf6\xce\x01\x00\x02\xe4\x42\x77\x50\x30\x1d\xaa\xa1\xa6\x1c\x24\x00\x25\xc2\xa2\x0a\x29\xb6\xb6\xd0\x88\xaa\xe2\xea\x02\xc8\x1a\x94\x73\x0a\x28\x10\x1d\x12\x6d\x35\xa3\xe2\xce\xe8\x53\x87\x2b\x53\xa4\xc0\x0d\x56\x1a\x20\xcd\x6a\x88\xc4\xa2\x33\x12\xf3\xbc\x7d\x56\x39\x9d\x89\xa9\xaf\x3e\xe0\x00\x2c\xb0\x0c\x31\x0d\xdf\x87\xc0\xf1\xa8\x05\x80\xe2\x97\xe4\x61\x62\x4a\x7a\x19\xe5\x3c\x77\x63\x3d\xf9\x0e\x1a\x35\x2f\xa5\xec\xec\x59\xeb\xf9\x3c\x12\x4a\xa7\x9c\x7a\x71\xef\x6f\x96\x03\x02\x03\x01\x00\x01\xa3\x4f\x30\x4d\x30\x09\x06\x03\x55\x1d\x13\x04\x02\x30\x00\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x07\x80\x30\x13\x06\x03\x55\x1d\x25\x04\x0c\x30\x0a\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x09\x30\x1e\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x0d\x04\x11\x16\x0f\x78\x63\x61\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x02\x01\x00\x82\x9d\x8f\xa1\x17\x9b\x3b\xee\x86\x1c\xee\x33\xeb\x80\x71\xb5\x7e\x6b\xd7\xcf\x7d\x9a\x8b\x80\x2b\x3c\x65\xde\xe1\x65\x00\x3b\x4a\x27\x7a\x5d\x63\x19\x4e\x59\xde\xfa\x38\x01\x2b\x09\x91\xc1\x70\x81\x8c\x87\x9b\x17\x68\x22\x88\xf2\x57\x8f\x15\x52\x12\x0f\x1d\x43\x2b\xff\x83\x00\x2f\xd0\xf5\xc7\x93\xd4\xf2\x14\xfd\x94\xcc\x9f\x72\x75\x99\x44\x54\xdc\x6a\x39\x75\x80\xd7\x07\x9c\xb9\x67\xe3\xac\x4b\x72\x9f\xe0\x5d\x00\x6e\x60\xc5\x26\xaf\x9f\xf7\x94\xaa\xb1\xa2\x6f\xa0\xe4\xe8\x0d\x1c\x4e\x34\xe8\xa5\x06\x5c\x31\x64\x09\xf3\x67\xea\xe8\x45\x68\xc1\x13\x21\x41\x38\x9c\x2c\xf9\x6c\xb8\x79\xf4\xae\x8c\x27\x12\xa3\x0a\x0f\x12\x56\xbc\xda\x77\x23\xf0\xe2\xa2\x81\xf9\xdd\x0d\x69\x77\xc3\x3d\x08\x9d\xfe\xac\x18\x14\x83\x49\x67\xde\x85\x3a\x09\xd4\x4f\xec\x85\x85\xbc\xab\xd1\xc8\x01\x83\x74\x34\xc0\x03\x4e\x52\x3c\xb2\xed\x3b\xc0\x66\xa7\x41\xbf\x77\x3b\xcc\x12\xee\xf9\x2f\xd8\x50\x6d\x54\xc5\xf8\x5e\x14\x61\x81\x24\xdb\xcb\xf3\xb4\x25\x84\xc6\x3b\x99\x35\x07\x2e\xd0\xb3\x05\x38\xdf\x64\x21\x71\x9e\xe2\xf2\xce\xbc\x27\x80\x4e\x53\x97\xd3\xe1\xc1\x15\x46\x24\x0c\xc5\x86\x0e\x5b\xdf\x22\xb9\xfe\x35\xd6\xf0\x53\xda\x8f\x9b\x9c\x77\x7e\x9e\x41\x6f\x8e\xbc\x7b\xd4\xf0\x6c\x4f\xac\xe2\x91\x69\x8f\x67\x48\xb0\xc8\x80\x06\x10\xb1\x33\xf9\x8b\xf0\x01\x5d\x49\x9a\x5a\x59\xec\xc6\xb4\xad\x79\x9a\x32\x87\x81\x18\xce\x77\xf6\xc6\xa5\xce\x8b\x36\xee\xc6\xcc\x6b\xd7\x76\xbb\x99\xc1\x34\x2c\xda\x6a\x5f\x1d\x47\xc6\x9e\x98\xa0\x1d\xf0\xd4\x8b\x27\x8a\xa4\x7b\x56\xd8\x7c\x12\xa2\x51\x6e\xd1\x52\xa9\xa5\x31\x77\x9f\xf5\x06\xb4\xba\xb4\x60\x24\x55\xa2\x9d\x4b\x02\xcb\xa7\x62\xa5\x3d\x74\x9e\x47\x9e\x14\x84\x0b\x24\xe0\x01\x13\x9c\xf1\x62\xbd\x78\x18\x9b\xa5\xdf\xd8\x77\x7c\xa9\xc7\x09\x94\x61\x79\x41\x60\x2f\xcc\xe1\x15\x28\x3c\x17\x1d\xb6\x95\x78\x28\x91\x9e\xd1\xbc\xd6\x71\xff\x29\x2f\x22\xed\x24\x26\x81\xb8\xb6\x14\x80\x04\x00\x95\xdf\x50\x46\xe6\xa1\xff\x56\x94\xbc\x11\x48\x5c\xbf\xca\xb7\x4f\xac\xa1\x34\x40\x80\x0d\x88\x27\x73\x76\x24\x1a\xa9\x86\x36\x56\x3c\x84\xb8\x97\x38\xa8\x0e\x14\xab\x83\xca\x6b\x64\x7f\xa7\xfb\x86\x63\xc2\x40\xfc"
-# define RESP_SIZE (sizeof(RESP)-1)
+#define RESP \
+ "\x30\x82\x05\xa3\x0a\x01\x00\xa0\x82\x05\x9c\x30\x82\x05\x98\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x05\x89\x30\x82\x05\x85\x30\x81\x80\xa1\x02\x30\x00\x18\x0f\x32\x30\x31\x39\x31\x32\x30\x35\x31\x38\x30\x31\x30\x34\x5a\x30\x69\x30\x67\x30\x41\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\x46\x2c\x91\xc8\xd2\x57\xe2\xb8\xb1\xd3\xd0\x99\xc1\xfe\x38\x51\x0e\x17\xa9\x50\x04\x14\x11\x92\x6c\xe3\xa7\x50\x77\x21\xfe\x95\xfa\xca\x6d\x3f\xc7\xa9\xaf\xa4\x9e\x82\x02\x08\x46\x20\x50\x03\xa2\x85\x06\x3d\xa1\x11\x18\x0f\x32\x30\x31\x39\x31\x32\x30\x35\x31\x35\x32\x37\x35\x35\x5a\x18\x0f\x32\x30\x31\x39\x31\x32\x30\x35\x31\x38\x30\x31\x30\x34\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x05\x88\x2c\x3d\x57\xf4\x75\xbf\x7f\xbe\x9e\x0f\xdf\x8f\x6c\x5f\x08\x56\xc4\x04\xc6\xd6\x3c\xfa\x33\x54\x3e\x42\x1c\x77\xda\x3a\x2a\x48\xcf\xfd\xf1\x6e\xb5\x1d\x94\x06\xfa\xfd\xf8\xba\xec\x66\xc3\x22\x7c\x43\xaa\x48\xaa\x58\x3a\xdc\x2a\x55\x44\x78\xc5\x6e\x0d\x1e\x66\xff\x79\x33\xb3\x26\x22\x86\xa0\x0a\xc0\x59\xb1\xdf\x6d\x07\x2d\x86\x2d\x5b\x0b\x29\x0f\xf3\xc1\x39\x21\x05\xf9\xdb\xdd\x47\x11\x6b\x83\xa0\xc7\x24\xbc\xaa\x42\x43\x9e\x20\x1f\x63\x10\x6c\xeb\x94\x7a\x9c\x44\xaa\x24\xfb\xde\x8f\x49\x92\x1c\xc7\x45\x21\xca\xf9\x1a\x11\x54\x4f\x68\xab\xf0\xce\xd3\x0a\xdc\x9f\xc3\x5d\x8d\x7e\xd4\x96\x30\x74\x31\x95\x04\x55\x8d\xf5\xdf\x3f\x34\x8b\x32\xfc\xf0\x4d\x10\xc6\xc4\x46\xfc\x6a\xb1\xa3\x5c\x9a\xde\xf2\x22\xc3\x5f\x08\x8a\x70\x65\xff\xaa\xf5\xc0\x14\x8b\x13\x47\xff\x0c\x72\x6a\x09\x51\xeb\xec\x92\xc5\xfd\x41\x37\x11\x12\x57\x7b\x47\x9e\x25\xd5\xf2\x10\xc2\xf7\xae\x0e\x72\xfb\x2d\x4f\x8d\x54\xe6\x5a\x71\x2b\xfa\x2b\x9c\xd7\x59\xe5\x31\x30\x21\x3f\x7f\xa7\x85\x07\x31\x93\x9d\x6d\x54\xb2\x40\xa9\x78\xef\x24\xc7\xa0\x82\x03\xea\x30\x82\x03\xe6\x30\x82\x03\xe2\x30\x82\x01\xca\xa0\x03\x02\x01\x02\x02\x08\x68\xfe\x28\x8e\x92\xfb\xa8\x37\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x11\x31\x0f\x30\x0d\x06\x03\x55\x04\x03\x13\x06\x72\x6f\x6f\x74\x63\x61\x30\x1e\x17\x0d\x31\x39\x31\x31\x32\x30\x31\x36\x32\x34\x30\x30\x5a\x17\x0d\x32\x30\x31\x30\x32\x34\x31\x34\x30\x33\x30\x30\x5a\x30\x00\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa8\x01\x88\x20\x4b\xc7\xd7\xaa\x7b\x6b\x5c\x09\xd9\x32\x0e\xf4\x1b\xdd\x46\x4c\x47\xf1\xac\xd6\x61\xda\x89\x6f\x73\x51\xba\xa7\x1e\x43\x03\xfc\xdf\xb4\x07\xe2\x51\x71\xf5\xb6\x3f\x95\xa7\x41\x14\xe5\x4a\xb5\x8c\xfe\x01\x49\x87\xeb\xda\xd1\x6b\x67\xbb\x45\x59\x59\xd0\x47\x87\x24\x7c\x56\xae\xb6\x0e\xc9\x0d\x45\x25\xd4\x49\x3b\x10\x56\xa9\x2d\x68\xc9\x80\xff\x23\xd8\x89\x8b\x58\xe7\x4e\xbd\x59\x40\x68\x6b\x51\x83\xdb\x70\x51\x69\xea\x22\x9c\xbb\x66\x04\x46\x94\x22\xfb\x00\x74\x23\xd0\xe5\xb0\x9d\x69\x54\x85\x38\xb9\x67\xb8\x3c\x45\xeb\xf6\xce\x01\x00\x02\xe4\x42\x77\x50\x30\x1d\xaa\xa1\xa6\x1c\x24\x00\x25\xc2\xa2\x0a\x29\xb6\xb6\xd0\x88\xaa\xe2\xea\x02\xc8\x1a\x94\x73\x0a\x28\x10\x1d\x12\x6d\x35\xa3\xe2\xce\xe8\x53\x87\x2b\x53\xa4\xc0\x0d\x56\x1a\x20\xcd\x6a\x88\xc4\xa2\x33\x12\xf3\xbc\x7d\x56\x39\x9d\x89\xa9\xaf\x3e\xe0\x00\x2c\xb0\x0c\x31\x0d\xdf\x87\xc0\xf1\xa8\x05\x80\xe2\x97\xe4\x61\x62\x4a\x7a\x19\xe5\x3c\x77\x63\x3d\xf9\x0e\x1a\x35\x2f\xa5\xec\xec\x59\xeb\xf9\x3c\x12\x4a\xa7\x9c\x7a\x71\xef\x6f\x96\x03\x02\x03\x01\x00\x01\xa3\x4f\x30\x4d\x30\x09\x06\x03\x55\x1d\x13\x04\x02\x30\x00\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x07\x80\x30\x13\x06\x03\x55\x1d\x25\x04\x0c\x30\x0a\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x09\x30\x1e\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x0d\x04\x11\x16\x0f\x78\x63\x61\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x02\x01\x00\x82\x9d\x8f\xa1\x17\x9b\x3b\xee\x86\x1c\xee\x33\xeb\x80\x71\xb5\x7e\x6b\xd7\xcf\x7d\x9a\x8b\x80\x2b\x3c\x65\xde\xe1\x65\x00\x3b\x4a\x27\x7a\x5d\x63\x19\x4e\x59\xde\xfa\x38\x01\x2b\x09\x91\xc1\x70\x81\x8c\x87\x9b\x17\x68\x22\x88\xf2\x57\x8f\x15\x52\x12\x0f\x1d\x43\x2b\xff\x83\x00\x2f\xd0\xf5\xc7\x93\xd4\xf2\x14\xfd\x94\xcc\x9f\x72\x75\x99\x44\x54\xdc\x6a\x39\x75\x80\xd7\x07\x9c\xb9\x67\xe3\xac\x4b\x72\x9f\xe0\x5d\x00\x6e\x60\xc5\x26\xaf\x9f\xf7\x94\xaa\xb1\xa2\x6f\xa0\xe4\xe8\x0d\x1c\x4e\x34\xe8\xa5\x06\x5c\x31\x64\x09\xf3\x67\xea\xe8\x45\x68\xc1\x13\x21\x41\x38\x9c\x2c\xf9\x6c\xb8\x79\xf4\xae\x8c\x27\x12\xa3\x0a\x0f\x12\x56\xbc\xda\x77\x23\xf0\xe2\xa2\x81\xf9\xdd\x0d\x69\x77\xc3\x3d\x08\x9d\xfe\xac\x18\x14\x83\x49\x67\xde\x85\x3a\x09\xd4\x4f\xec\x85\x85\xbc\xab\xd1\xc8\x01\x83\x74\x34\xc0\x03\x4e\x52\x3c\xb2\xed\x3b\xc0\x66\xa7\x41\xbf\x77\x3b\xcc\x12\xee\xf9\x2f\xd8\x50\x6d\x54\xc5\xf8\x5e\x14\x61\x81\x24\xdb\xcb\xf3\xb4\x25\x84\xc6\x3b\x99\x35\x07\x2e\xd0\xb3\x05\x38\xdf\x64\x21\x71\x9e\xe2\xf2\xce\xbc\x27\x80\x4e\x53\x97\xd3\xe1\xc1\x15\x46\x24\x0c\xc5\x86\x0e\x5b\xdf\x22\xb9\xfe\x35\xd6\xf0\x53\xda\x8f\x9b\x9c\x77\x7e\x9e\x41\x6f\x8e\xbc\x7b\xd4\xf0\x6c\x4f\xac\xe2\x91\x69\x8f\x67\x48\xb0\xc8\x80\x06\x10\xb1\x33\xf9\x8b\xf0\x01\x5d\x49\x9a\x5a\x59\xec\xc6\xb4\xad\x79\x9a\x32\x87\x81\x18\xce\x77\xf6\xc6\xa5\xce\x8b\x36\xee\xc6\xcc\x6b\xd7\x76\xbb\x99\xc1\x34\x2c\xda\x6a\x5f\x1d\x47\xc6\x9e\x98\xa0\x1d\xf0\xd4\x8b\x27\x8a\xa4\x7b\x56\xd8\x7c\x12\xa2\x51\x6e\xd1\x52\xa9\xa5\x31\x77\x9f\xf5\x06\xb4\xba\xb4\x60\x24\x55\xa2\x9d\x4b\x02\xcb\xa7\x62\xa5\x3d\x74\x9e\x47\x9e\x14\x84\x0b\x24\xe0\x01\x13\x9c\xf1\x62\xbd\x78\x18\x9b\xa5\xdf\xd8\x77\x7c\xa9\xc7\x09\x94\x61\x79\x41\x60\x2f\xcc\xe1\x15\x28\x3c\x17\x1d\xb6\x95\x78\x28\x91\x9e\xd1\xbc\xd6\x71\xff\x29\x2f\x22\xed\x24\x26\x81\xb8\xb6\x14\x80\x04\x00\x95\xdf\x50\x46\xe6\xa1\xff\x56\x94\xbc\x11\x48\x5c\xbf\xca\xb7\x4f\xac\xa1\x34\x40\x80\x0d\x88\x27\x73\x76\x24\x1a\xa9\x86\x36\x56\x3c\x84\xb8\x97\x38\xa8\x0e\x14\xab\x83\xca\x6b\x64\x7f\xa7\xfb\x86\x63\xc2\x40\xfc"
+#define RESP_SIZE (sizeof(RESP) - 1)
static int status_func(gnutls_session_t session, void *ptr,
- gnutls_datum_t * resp)
+ gnutls_datum_t *resp)
{
resp->data = gnutls_malloc(RESP_SIZE);
if (resp->data == NULL)
@@ -254,7 +253,7 @@ static int status_func(gnutls_session_t session, void *ptr,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static int cert_verify_callback(gnutls_session_t session)
{
@@ -315,8 +314,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -327,8 +325,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (received == 0) {
fail("client: didn't receive status request\n");
@@ -395,8 +393,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (sent == 0) {
fail("status request was sent\n");
@@ -407,7 +405,7 @@ static void server(int fd, const char *prio)
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -424,8 +422,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
pid_t child;
int fd[2];
@@ -468,4 +465,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-TLS1.3");
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/status-request.c b/tests/status-request.c
index feb3530e17..49b0acd702 100644
--- a/tests/status-request.c
+++ b/tests/status-request.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program tests that the client does not send the
* status request extension if GNUTLS_NO_DEFAULT_EXTENSIONS is set.
@@ -66,17 +66,18 @@ static void client_log_func(int level, const char *str)
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
fail("received status request\n");
exit(1);
}
-# define RESP "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-# define RESP_SIZE (sizeof(RESP)-1)
+#define RESP \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP_SIZE (sizeof(RESP) - 1)
static int status_func(gnutls_session_t session, void *ptr,
- gnutls_datum_t * resp)
+ gnutls_datum_t *resp)
{
resp->data = gnutls_malloc(RESP_SIZE);
if (resp->data == NULL)
@@ -87,10 +88,10 @@ static int status_func(gnutls_session_t session, void *ptr,
return 0;
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
/* Keep backward compatibility */
-# define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
+#define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
static void client(int fd, const char *prio)
{
@@ -110,8 +111,8 @@ static void client(int fd, const char *prio)
/* Initialize TLS session
*/
- assert(gnutls_init
- (&session, GNUTLS_CLIENT | GNUTLS_NO_DEFAULT_EXTENSIONS) >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_CLIENT | GNUTLS_NO_DEFAULT_EXTENSIONS) >= 0);
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
@@ -125,8 +126,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret == GNUTLS_E_UNSUPPORTED_SIGNATURE_ALGORITHM) {
/* success */
@@ -145,8 +145,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
@@ -164,7 +164,7 @@ static void client(int fd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -228,14 +228,14 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -252,8 +252,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
pid_t child;
int fd[2];
@@ -302,4 +301,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-TLS1.3");
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/str-idna.c b/tests/str-idna.c
index bd7f9e21ed..a6d1a90360 100644
--- a/tests/str-idna.c
+++ b/tests/str-idna.c
@@ -33,38 +33,44 @@
#define GLOBAL_FLAGS 0
-#define MATCH_FUNC(fname, str, normalized) \
-static void fname(void **glob_state) \
-{ \
- gnutls_datum_t out; \
- int ret = gnutls_idna_map(str, strlen(str), &out, GLOBAL_FLAGS); \
- if (normalized == NULL) { /* expect failure */ \
- assert_int_not_equal(ret, 0); \
- return; \
- } else { \
- assert_int_equal(ret, 0); \
- } \
- assert_int_equal(strcmp((char*)out.data, (char*)normalized), 0); \
- gnutls_free(out.data); \
-}
+#define MATCH_FUNC(fname, str, normalized) \
+ static void fname(void **glob_state) \
+ { \
+ gnutls_datum_t out; \
+ int ret = \
+ gnutls_idna_map(str, strlen(str), &out, GLOBAL_FLAGS); \
+ if (normalized == NULL) { /* expect failure */ \
+ assert_int_not_equal(ret, 0); \
+ return; \
+ } else { \
+ assert_int_equal(ret, 0); \
+ } \
+ assert_int_equal(strcmp((char *)out.data, (char *)normalized), \
+ 0); \
+ gnutls_free(out.data); \
+ }
-#define MATCH_FUNC_TWO_WAY(fname, str, normalized) \
-static void fname##_reverse(void **glob_state) \
-{ \
- gnutls_datum_t out; \
- int ret; \
- if (normalized == NULL) \
- return; \
- ret = gnutls_idna_reverse_map(normalized, strlen(normalized), &out, 0); \
- assert_int_equal(ret, 0); \
- \
- assert_int_equal(strcmp((char*)out.data, (char*)str), 0); \
- gnutls_free(out.data); \
-} \
-MATCH_FUNC(fname, str, normalized)
+#define MATCH_FUNC_TWO_WAY(fname, str, normalized) \
+ static void fname##_reverse(void **glob_state) \
+ { \
+ gnutls_datum_t out; \
+ int ret; \
+ if (normalized == NULL) \
+ return; \
+ ret = gnutls_idna_reverse_map(normalized, strlen(normalized), \
+ &out, 0); \
+ assert_int_equal(ret, 0); \
+ \
+ assert_int_equal(strcmp((char *)out.data, (char *)str), 0); \
+ gnutls_free(out.data); \
+ } \
+ MATCH_FUNC(fname, str, normalized)
-#define EMPTY_FUNC(name) static void name(void **glob_state) { \
- return; }
+#define EMPTY_FUNC(name) \
+ static void name(void **glob_state) \
+ { \
+ return; \
+ }
/* some vectors taken from:
* https://www.unicode.org/Public/idna/9.0.0/IdnaTest.txt
diff --git a/tests/str-unicode.c b/tests/str-unicode.c
index d0601326bb..4f4c985ab3 100644
--- a/tests/str-unicode.c
+++ b/tests/str-unicode.c
@@ -30,35 +30,42 @@
#include <gnutls/gnutls.h>
#include <cmocka.h>
-#define MATCH_FUNC(fname, password, normalized) \
-static void fname(void **glob_state) \
-{ \
- const char *pwd_normalized = normalized; \
- gnutls_datum_t out; \
- int ret = gnutls_utf8_password_normalize((uint8_t*)password, strlen(password), &out, 0); \
- if (pwd_normalized == NULL) { /* expect failure */ \
- assert_int_not_equal(ret, 0); \
- } else { \
- assert_int_equal(ret, 0); \
- assert_int_equal(strcmp((char*)out.data, (char*)pwd_normalized), 0); \
- gnutls_free(out.data); \
- } \
-}
+#define MATCH_FUNC(fname, password, normalized) \
+ static void fname(void **glob_state) \
+ { \
+ const char *pwd_normalized = normalized; \
+ gnutls_datum_t out; \
+ int ret = gnutls_utf8_password_normalize( \
+ (uint8_t *)password, strlen(password), &out, 0); \
+ if (pwd_normalized == NULL) { /* expect failure */ \
+ assert_int_not_equal(ret, 0); \
+ } else { \
+ assert_int_equal(ret, 0); \
+ assert_int_equal(strcmp((char *)out.data, \
+ (char *)pwd_normalized), \
+ 0); \
+ gnutls_free(out.data); \
+ } \
+ }
-#define INVALID_MATCH_FUNC(fname, password, normalized) \
-static void inv_##fname(void **glob_state) \
-{ \
- const char *pwd_normalized = normalized; \
- gnutls_datum_t out; \
- int ret = gnutls_utf8_password_normalize((uint8_t*)password, strlen(password), &out, GNUTLS_UTF8_IGNORE_ERRS); \
- if (pwd_normalized == NULL) { \
- assert_int_not_equal(ret, 0); \
- } else { \
- assert_int_equal(ret, 0); \
- assert_int_equal(strcmp((char*)out.data, (char*)pwd_normalized), 0); \
- gnutls_free(out.data); \
- } \
-}
+#define INVALID_MATCH_FUNC(fname, password, normalized) \
+ static void inv_##fname(void **glob_state) \
+ { \
+ const char *pwd_normalized = normalized; \
+ gnutls_datum_t out; \
+ int ret = gnutls_utf8_password_normalize( \
+ (uint8_t *)password, strlen(password), &out, \
+ GNUTLS_UTF8_IGNORE_ERRS); \
+ if (pwd_normalized == NULL) { \
+ assert_int_not_equal(ret, 0); \
+ } else { \
+ assert_int_equal(ret, 0); \
+ assert_int_equal(strcmp((char *)out.data, \
+ (char *)pwd_normalized), \
+ 0); \
+ gnutls_free(out.data); \
+ } \
+ }
MATCH_FUNC(test_ascii, "correct horse battery staple",
"correct horse battery staple");
@@ -79,10 +86,14 @@ MATCH_FUNC(test_compatibility, "char \xcf\x90\xe2\x84\xb5",
MATCH_FUNC(test_invalid_ignorable1, "my ignorable char is \xe2\x80\x8f", NULL);
MATCH_FUNC(test_invalid_ignorable2, "my ignorable char is \xe1\x85\x9f", NULL);
MATCH_FUNC(test_invalid_ignorable3, "my ignorable char is \xef\xbf\xbf", NULL);
-MATCH_FUNC(test_invalid_exception1, "my exception is \xc2\xb7", NULL); /* CONTEXTO - disallowed */
-MATCH_FUNC(test_invalid_exception2, "my exception is \xcf\x82", "my exception is ς"); /* PVALID */
-MATCH_FUNC(test_invalid_exception3, "my exception is \xd9\xa2", NULL); /* CONTEXT0/PVALID */
-MATCH_FUNC(test_invalid_exception4, "my exception is \xe3\x80\xae", NULL); /* CONTEXT0/DISALLOWED */
+MATCH_FUNC(test_invalid_exception1, "my exception is \xc2\xb7",
+ NULL); /* CONTEXTO - disallowed */
+MATCH_FUNC(test_invalid_exception2, "my exception is \xcf\x82",
+ "my exception is ς"); /* PVALID */
+MATCH_FUNC(test_invalid_exception3, "my exception is \xd9\xa2",
+ NULL); /* CONTEXT0/PVALID */
+MATCH_FUNC(test_invalid_exception4, "my exception is \xe3\x80\xae",
+ NULL); /* CONTEXT0/DISALLOWED */
MATCH_FUNC(test_invalid_join_control, "my exception is \xe2\x80\x8d", NULL);
INVALID_MATCH_FUNC(test_ascii, "correct horse battery staple",
@@ -95,7 +106,8 @@ INVALID_MATCH_FUNC(test_invalid_exception1, "my exception is \xc2\xb7",
"my exception is ·");
INVALID_MATCH_FUNC(test_invalid_exception3, "my exception is \xd9\xa2",
"my exception is \xd9\xa2");
-INVALID_MATCH_FUNC(test_invalid_exception4, "my exception is \xe3\x80\xae", "my exception is \xe3\x80\xae"); /* CONTEXT0/DISALLOWED */
+INVALID_MATCH_FUNC(test_invalid_exception4, "my exception is \xe3\x80\xae",
+ "my exception is \xe3\x80\xae"); /* CONTEXT0/DISALLOWED */
INVALID_MATCH_FUNC(test_invalid_join_control, "my exception is \xe2\x80\x8d",
"my exception is \xe2\x80\x8d");
diff --git a/tests/strict-der.c b/tests/strict-der.c
index e1cdd26b95..7dabb790e6 100644
--- a/tests/strict-der.c
+++ b/tests/strict-der.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -54,32 +54,33 @@ static void tls_log_func(int level, const char *str)
* gnutls versions that would still be parsed and the wrong DER was
* "corrected" but now we should reject these */
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFXzCCBEegAwIBAgIQHYWDpKNVUzEFx4Pq8yjxbTANBgkqhkiG9w0BAQUFADCBtTELMAkGA1UE\n"
- "BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO\n"
- "ZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t\n"
- "L3JwYSAoYykxMDEvMC0GA1UEAxMmVmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0g\n"
- "RzMwHxcOMTQwMjI3MDAwMDAwWgAXDTE1MDIyODIzNTk1OVowZzELMAkGA1UEBhMCVVMxEzARBgNV\n"
- "BAgTCldhc2hpbmd0b24xEDAOBgNVBAcUB1NlYXR0bGUxGDAWBgNVBAoUD0FtYXpvbi5jb20gSW5j\n"
- "LjEXMBUGA1UEAxQOd3d3LmFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\n"
- "AQCXX4njj63+AK39SJXnf4ove+NO2Z46WgeccZuPUOD89/ucZg9C2K3uwo59QO1t2ZR5IucxVWaV\n"
- "vSW/9z30hA2ObJco5Cw9o3ZdoFXn0rYUmbWMW+XmL+/bSBDdFPQGfP1WhsFKJJfJ9TIrXBAsTSzH\n"
- "uC6qFZktvZ1yE0081+bdyOHVHjAQzSPsYFaSUqccMwPvy/sMaI+Um+GCf2PolJJwpI1+j6WmTEVg\n"
- "RBNHarxtNqpcV3rAFdJ5imL427agMqFur4Iz/OYeoCRBEiKk02ctRzoBaTvF09OQqRg3I4T9bE71\n"
- "xe1cdWo/sQ4nRiy1tfPBt+aBSiIRMh0Fdle780QFAgMBAAGjggG1MIIBsTBQBgNVHREESTBHghF1\n"
- "ZWRhdGEuYW1hem9uLmNvbYIKYW1hem9uLmNvbYIIYW16bi5jb22CDHd3dy5hbXpuLmNvbYIOd3d3\n"
- "LmFtYXpvbi5jb20wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH\n"
- "AwEGCCsGAQUFBwMCMEMGA1UdIAQ8MDowOAYKYIZIAYb4RQEHNjAqMCgGCCsGAQUFBwIBFhxodHRw\n"
- "czovL3d3dy52ZXJpc2lnbi5jb20vY3BzMB8GA1UdIwQYMBaAFA1EXBZTRMGCfh0gqyX0AWPYvnml\n"
- "MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9TVlJTZWN1cmUtRzMtY3JsLnZlcmlzaWduLmNvbS9T\n"
- "VlJTZWN1cmVHMy5jcmwwdgYIKwYBBQUHAQEEajBoMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52\n"
- "ZXJpc2lnbi5jb20wQAYIKwYBBQUHMAKGNGh0dHA6Ly9TVlJTZWN1cmUtRzMtYWlhLnZlcmlzaWdu\n"
- "LmNvbS9TVlJTZWN1cmVHMy5jZXIwDQYJKoZIhvcNAQEFBQADggEBADnmX45CNMkf57rQjB6ef7gf\n"
- "3r5AfKiGMYdSim4TwU5qcpJicYiyqwQXAQbvZFuZTGzT0jXJROLAsjdHcQiR8D5u7mzVMbJg0kz0\n"
- "yTsdDM5dFmVWme3l958NZI/I0qCtH+Z/O0cyivOTMARbBJ+92dqQ78U3He9gRNE9VCS3FNgObhwC\n"
- "cr5tkKTlgSESpSRyBwnLucY4+ci5xjvYndHIzoxII/X9TKOIc2sC+b0H5KP8RcQLAO9G5Nra7+eJ\n"
- "IC74ZgFvgejqTd2f8QeJljTsNxvG4P7vqQi73fCkTuVfCk5YDtTU2joGAujgBd1EjTIbjWYeoebV\n"
- "gN5gPKxa/GbGsoQ=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFXzCCBEegAwIBAgIQHYWDpKNVUzEFx4Pq8yjxbTANBgkqhkiG9w0BAQUFADCBtTELMAkGA1UE\n"
+ "BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO\n"
+ "ZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t\n"
+ "L3JwYSAoYykxMDEvMC0GA1UEAxMmVmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0g\n"
+ "RzMwHxcOMTQwMjI3MDAwMDAwWgAXDTE1MDIyODIzNTk1OVowZzELMAkGA1UEBhMCVVMxEzARBgNV\n"
+ "BAgTCldhc2hpbmd0b24xEDAOBgNVBAcUB1NlYXR0bGUxGDAWBgNVBAoUD0FtYXpvbi5jb20gSW5j\n"
+ "LjEXMBUGA1UEAxQOd3d3LmFtYXpvbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\n"
+ "AQCXX4njj63+AK39SJXnf4ove+NO2Z46WgeccZuPUOD89/ucZg9C2K3uwo59QO1t2ZR5IucxVWaV\n"
+ "vSW/9z30hA2ObJco5Cw9o3ZdoFXn0rYUmbWMW+XmL+/bSBDdFPQGfP1WhsFKJJfJ9TIrXBAsTSzH\n"
+ "uC6qFZktvZ1yE0081+bdyOHVHjAQzSPsYFaSUqccMwPvy/sMaI+Um+GCf2PolJJwpI1+j6WmTEVg\n"
+ "RBNHarxtNqpcV3rAFdJ5imL427agMqFur4Iz/OYeoCRBEiKk02ctRzoBaTvF09OQqRg3I4T9bE71\n"
+ "xe1cdWo/sQ4nRiy1tfPBt+aBSiIRMh0Fdle780QFAgMBAAGjggG1MIIBsTBQBgNVHREESTBHghF1\n"
+ "ZWRhdGEuYW1hem9uLmNvbYIKYW1hem9uLmNvbYIIYW16bi5jb22CDHd3dy5hbXpuLmNvbYIOd3d3\n"
+ "LmFtYXpvbi5jb20wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH\n"
+ "AwEGCCsGAQUFBwMCMEMGA1UdIAQ8MDowOAYKYIZIAYb4RQEHNjAqMCgGCCsGAQUFBwIBFhxodHRw\n"
+ "czovL3d3dy52ZXJpc2lnbi5jb20vY3BzMB8GA1UdIwQYMBaAFA1EXBZTRMGCfh0gqyX0AWPYvnml\n"
+ "MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9TVlJTZWN1cmUtRzMtY3JsLnZlcmlzaWduLmNvbS9T\n"
+ "VlJTZWN1cmVHMy5jcmwwdgYIKwYBBQUHAQEEajBoMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52\n"
+ "ZXJpc2lnbi5jb20wQAYIKwYBBQUHMAKGNGh0dHA6Ly9TVlJTZWN1cmUtRzMtYWlhLnZlcmlzaWdu\n"
+ "LmNvbS9TVlJTZWN1cmVHMy5jZXIwDQYJKoZIhvcNAQEFBQADggEBADnmX45CNMkf57rQjB6ef7gf\n"
+ "3r5AfKiGMYdSim4TwU5qcpJicYiyqwQXAQbvZFuZTGzT0jXJROLAsjdHcQiR8D5u7mzVMbJg0kz0\n"
+ "yTsdDM5dFmVWme3l958NZI/I0qCtH+Z/O0cyivOTMARbBJ+92dqQ78U3He9gRNE9VCS3FNgObhwC\n"
+ "cr5tkKTlgSESpSRyBwnLucY4+ci5xjvYndHIzoxII/X9TKOIc2sC+b0H5KP8RcQLAO9G5Nra7+eJ\n"
+ "IC74ZgFvgejqTd2f8QeJljTsNxvG4P7vqQi73fCkTuVfCk5YDtTU2joGAujgBd1EjTIbjWYeoebV\n"
+ "gN5gPKxa/GbGsoQ=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) - 1 };
diff --git a/tests/suite/eagain-cli.c b/tests/suite/eagain-cli.c
index 2d05dbccb3..b3de2b9702 100644
--- a/tests/suite/eagain-cli.c
+++ b/tests/suite/eagain-cli.c
@@ -41,8 +41,8 @@ EV_P;
ev_io remote_w;
gnutls_session_t session;
-static const char
-*SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(gnutls_handshake_description_t status)
+static const char *
+SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(gnutls_handshake_description_t status)
{
return gnutls_handshake_description_get_name(status);
}
@@ -53,7 +53,7 @@ static const char
static int _tcp_connect_eagain(void)
{
const char *PORT = getenv("PORT");
- const char *SERVER = "127.0.0.1"; //verisign.com
+ const char *SERVER = "127.0.0.1"; //verisign.com
int err, sd;
int flag = 1, curstate = 0;
struct sockaddr_in sa;
@@ -76,8 +76,8 @@ static int _tcp_connect_eagain(void)
}
/* lower the send buffers to force EAGAIN */
- assert(setsockopt
- (sd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(int)) >= 0);
+ assert(setsockopt(sd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag,
+ sizeof(int)) >= 0);
assert(fcntl(sd, F_SETFL, O_NONBLOCK) >= 0);
return sd;
@@ -85,14 +85,14 @@ static int _tcp_connect_eagain(void)
static void tcp_close(int sd)
{
- shutdown(sd, SHUT_RDWR); /* no more receptions */
+ shutdown(sd, SHUT_RDWR); /* no more receptions */
close(sd);
}
/* We provide this helper to ensure that we test EAGAIN while writing
* even on a reliable connection */
-static ssize_t
-_client_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
+static ssize_t _client_push(gnutls_transport_ptr_t tr, const void *data,
+ size_t len)
{
struct timeval tv;
@@ -125,7 +125,7 @@ static int _client_pull_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
return gnutls_system_recv_timeout(ptr, ms);
}
-static void _process_data(EV_P_ ev_io * w, int revents)
+static void _process_data(EV_P_ ev_io *w, int revents)
{
static int ret = -1, lastret = 0;
static unsigned int count = 0;
@@ -163,24 +163,23 @@ static void _process_data(EV_P_ ev_io * w, int revents)
fprintf(stderr, "gnutls returned with: %s - %s\n",
gnutls_strerror_name(ret),
gnutls_strerror(ret));
- if ((ret == GNUTLS_E_WARNING_ALERT_RECEIVED)
- || (ret == GNUTLS_E_FATAL_ALERT_RECEIVED))
+ if ((ret == GNUTLS_E_WARNING_ALERT_RECEIVED) ||
+ (ret == GNUTLS_E_FATAL_ALERT_RECEIVED))
fprintf(stderr, "Also received alert: %s\n",
- gnutls_alert_get_name
- (gnutls_alert_get(session)));
+ gnutls_alert_get_name(
+ gnutls_alert_get(session)));
fprintf(stderr, "last out: %s\n",
- SSL_GNUTLS_PRINT_HANDSHAKE_STATUS
- (gnutls_handshake_get_last_out(session)));
+ SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(
+ gnutls_handshake_get_last_out(session)));
fprintf(stderr, "last in: %s\n",
- SSL_GNUTLS_PRINT_HANDSHAKE_STATUS
- (gnutls_handshake_get_last_in(session)));
+ SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(
+ gnutls_handshake_get_last_in(session)));
}
if (gnutls_error_is_fatal(ret)) {
fprintf(stderr, "yarrr this be an error!");
exit(1);
}
-
}
if (ret == GNUTLS_E_SUCCESS) {
@@ -212,16 +211,16 @@ static void try(const char *name, const char *prio)
assert(gnutls_init(&session, GNUTLS_CLIENT) >= 0);
gnutls_transport_set_push_function(session, _client_push);
gnutls_transport_set_pull_function(session, _client_pull);
- gnutls_transport_set_pull_timeout_function(session,
- _client_pull_timeout);
+ gnutls_transport_set_pull_timeout_function(
+ session, _client_pull_timeout);
gnutls_handshake_set_timeout(session,
GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
c_certcred);
- gnutls_server_name_set(session, GNUTLS_NAME_DNS,
- "localhost", strlen("localhost"));
+ gnutls_server_name_set(session, GNUTLS_NAME_DNS, "localhost",
+ strlen("localhost"));
sd = _tcp_connect_eagain();
diff --git a/tests/suite/mini-record-timing.c b/tests/suite/mini-record-timing.c
index 01309c7680..b4b763a44f 100644
--- a/tests/suite/mini-record-timing.c
+++ b/tests/suite/mini-record-timing.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,29 +35,29 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <assert.h>
-# include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <assert.h>
+#include <errno.h>
//#define USE_RDTSC
//#define TEST_ETM
-# include <time.h>
-# include <sys/time.h>
-# include <sys/resource.h>
-# ifdef USE_RDTSC
-# include <x86intrin.h>
-# endif
+#include <time.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#ifdef USE_RDTSC
+#include <x86intrin.h>
+#endif
-# ifdef DEBUG
+#ifdef DEBUG
static void server_log_func(int level, const char *str)
{
fprintf(stderr, "server|<%d>| %s", level, str);
@@ -67,22 +67,22 @@ static void client_log_func(int level, const char *str)
{
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# endif
+#endif
-# ifndef _POSIX_TIMERS
-# error need posix timers
-# endif
+#ifndef _POSIX_TIMERS
+#error need posix timers
+#endif
-# define CLOCK_TO_USE CLOCK_MONOTONIC
+#define CLOCK_TO_USE CLOCK_MONOTONIC
//#define CLOCK_TO_USE CLOCK_MONOTONIC_RAW
//#define CLOCK_TO_USE CLOCK_PROCESS_CPUTIME_ID
/* This program tests the robustness of record
* decoding.
*/
-# define MAX_PER_POINT (8*1024)
-# define WARM_UP (2)
-# define MAX_BUF 1024
+#define MAX_PER_POINT (8 * 1024)
+#define WARM_UP (2)
+#define MAX_BUF 1024
struct point_st {
unsigned char byte1;
@@ -113,8 +113,8 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *_data, size_t len)
return send(fd, _data, len, 0);
}
-static ssize_t
-push_crippled(gnutls_transport_ptr_t tr, const void *_data, size_t len)
+static ssize_t push_crippled(gnutls_transport_ptr_t tr, const void *_data,
+ size_t len)
{
int fd = (long int)tr;
unsigned char *data = (void *)_data;
@@ -144,16 +144,16 @@ push_crippled(gnutls_transport_ptr_t tr, const void *_data, size_t len)
return send(fd, data, len, 0);
}
-# ifndef USE_RDTSC
+#ifndef USE_RDTSC
static unsigned long timespec_sub_ns(struct timespec *a, struct timespec *b)
{
return (a->tv_sec - b->tv_sec) * 1000 * 1000 * 1000 + a->tv_nsec -
- b->tv_nsec;
+ b->tv_nsec;
}
-# endif
+#endif
-static void
-client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
+static void client(int fd, const char *prio, unsigned int text_size,
+ struct test_st *test)
{
int ret;
char buffer[MAX_BUF + 1];
@@ -174,10 +174,10 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
memset(text, test->fill, text_size);
-# ifdef DEBUG
+#ifdef DEBUG
gnutls_global_set_log_function(client_log_func);
gnutls_global_set_log_level(6);
-# endif
+#endif
gnutls_psk_allocate_client_credentials(&pskcred);
gnutls_psk_set_client_credentials(pskcred, "test", &key,
@@ -205,8 +205,7 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fprintf(stderr, "client: Handshake failed: %s\n",
@@ -223,7 +222,7 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
gnutls_transport_set_push_function(session, push_crippled);
- restart:
+restart:
do {
ret = gnutls_record_send(session, text, text_size);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
@@ -231,8 +230,8 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer));
- } while (ret < 0
- && (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
+ } while (ret < 0 &&
+ (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED));
if (ret > 0) {
struct point_st *point_ptr = NULL;
@@ -256,7 +255,7 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
memcpy(&measurement, buffer, sizeof(measurement));
if (point_ptr->midx < MAX_PER_POINT) {
point_ptr->smeasurements[point_ptr->midx] =
- measurement;
+ measurement;
point_ptr->midx++;
point_idx++;
@@ -270,7 +269,7 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
abort();
}
- finish:
+finish:
fprintf(stderr, "\ntest completed\n");
gnutls_transport_set_push_function(session, push);
@@ -294,10 +293,9 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
fprintf(fp, "%u,", (unsigned)test->points[i].byte1);
for (j = 0; j < MAX_PER_POINT; j++) {
fprintf(fp, "%u%s",
- (unsigned)test->
- points[i].smeasurements[j],
+ (unsigned)test->points[i]
+ .smeasurements[j],
(j != MAX_PER_POINT - 1) ? "," : "");
-
}
fprintf(fp, "\n");
}
@@ -319,8 +317,8 @@ client(int fd, const char *prio, unsigned int text_size, struct test_st *test)
free(text);
}
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
key->data = gnutls_malloc(4);
key->data[0] = 0xDE;
@@ -338,12 +336,12 @@ static void server(int fd, const char *prio)
gnutls_session_t session;
gnutls_psk_server_credentials_t server_pskcred;
const char *err;
-# ifndef USE_RDTSC
+#ifndef USE_RDTSC
struct timespec start, stop;
-# else
+#else
uint64_t c1, c2;
unsigned int i1;
-# endif
+#endif
static unsigned long measurement;
setpriority(PRIO_PROCESS, getpid(), -15);
@@ -351,10 +349,10 @@ static void server(int fd, const char *prio)
gnutls_global_init();
memset(buffer, 0, sizeof(buffer));
-# ifdef DEBUG
+#ifdef DEBUG
gnutls_global_set_log_function(server_log_func);
gnutls_global_set_log_level(6);
-# endif
+#endif
assert(gnutls_psk_allocate_server_credentials(&server_pskcred) >= 0);
gnutls_psk_set_server_credentials_function(server_pskcred, pskfunc);
assert(gnutls_init(&session, GNUTLS_SERVER) >= 0);
@@ -373,58 +371,55 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
-# ifdef GNUTLS_E_PREMATURE_TERMINATION
- if (ret != GNUTLS_E_PREMATURE_TERMINATION
- && ret != GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
-# else
+#ifdef GNUTLS_E_PREMATURE_TERMINATION
+ if (ret != GNUTLS_E_PREMATURE_TERMINATION &&
+ ret != GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
+#else
if (ret != GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
-# endif
+#endif
{
- fprintf(stderr,
- "server: Handshake has failed (%s)\n\n",
+ fprintf(stderr, "server: Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
exit(1);
}
goto finish;
}
-# ifdef TEST_ETM
+#ifdef TEST_ETM
assert(gnutls_session_etm_status(session) != 0);
-# else
+#else
assert(gnutls_session_etm_status(session) == 0);
-# endif
+#endif
- restart:
+restart:
do {
ret = recv(fd, buffer, 1, MSG_PEEK);
} while (ret == -1 && errno == EAGAIN);
-# ifdef USE_RDTSC
+#ifdef USE_RDTSC
c1 = __rdtscp(&i1);
-# else
+#else
clock_gettime(CLOCK_TO_USE, &start);
-# endif
+#endif
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
-# ifdef USE_RDTSC
+#ifdef USE_RDTSC
c2 = __rdtscp(&i1);
measurement = c2 - c1;
-# else
+#else
clock_gettime(CLOCK_TO_USE, &stop);
measurement = timespec_sub_ns(&stop, &start);
-# endif
+#endif
if (ret == GNUTLS_E_DECRYPTION_FAILED) {
gnutls_session_force_valid(session);
do {
- ret =
- gnutls_record_send(session, &measurement,
- sizeof(measurement));
+ ret = gnutls_record_send(session, &measurement,
+ sizeof(measurement));
/* GNUTLS_AL_FATAL, GNUTLS_A_BAD_RECORD_MAC); */
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
@@ -441,7 +436,7 @@ static void server(int fd, const char *prio)
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- finish:
+finish:
close(fd);
gnutls_deinit(session);
@@ -516,7 +511,7 @@ static void ch_handler(int sig)
return;
}
-# define NPOINTS 256
+#define NPOINTS 256
static struct point_st all_points[NPOINTS];
static struct point_st all_points_one[NPOINTS];
@@ -524,87 +519,73 @@ static struct point_st all_points_one[NPOINTS];
* when manipulating the last record byte (pad)
* for AES-SHA1.
*/
-static struct test_st test_sha1 = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 18 * 16,
- .name = "sha1",
- .file = "out-sha1.txt",
- .fill = 0x00,
- .desc = NULL
-};
+static struct test_st test_sha1 = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 18 * 16,
+ .name = "sha1",
+ .file = "out-sha1.txt",
+ .fill = 0x00,
+ .desc = NULL };
/* Test that outputs a graph of the timings
* when manipulating the last record byte (pad)
* for AES-SHA256.
*/
-static struct test_st test_sha256 = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 17 * 16,
- .name = "sha256",
- .file = "out-sha256.txt",
- .fill = 0x00,
- .desc = NULL
-};
-
-static struct test_st test_sha256_new = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 1024 * 16,
- .name = "sha256-new",
- .file = "out-sha256-new.txt",
- .fill = 0xff,
- .desc = NULL
-};
-
-static struct test_st test_sha384 = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 33 * 16,
- .name = "sha384",
- .file = "out-sha384.txt",
- .fill = 0x00,
- .desc = NULL
-};
+static struct test_st test_sha256 = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 17 * 16,
+ .name = "sha256",
+ .file = "out-sha256.txt",
+ .fill = 0x00,
+ .desc = NULL };
+
+static struct test_st test_sha256_new = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 1024 * 16,
+ .name = "sha256-new",
+ .file = "out-sha256-new.txt",
+ .fill = 0xff,
+ .desc = NULL };
+
+static struct test_st test_sha384 = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 33 * 16,
+ .name = "sha384",
+ .file = "out-sha384.txt",
+ .fill = 0x00,
+ .desc = NULL };
/* Test that outputs a graph of the timings
* when manipulating the last record byte (pad)
* for AES-SHA1, on a short message.
*/
-static struct test_st test_sha1_short = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 16 * 2,
- .name = "sha1-short",
- .file = "out-sha1-short.txt",
- .fill = 0x00,
- .desc = NULL
-};
+static struct test_st test_sha1_short = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 16 * 2,
+ .name = "sha1-short",
+ .file = "out-sha1-short.txt",
+ .fill = 0x00,
+ .desc = NULL };
/* Test that outputs a graph of the timings
* when manipulating the last record byte (pad)
* for AES-SHA256.
*/
-static struct test_st test_sha256_short = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 16 * 2,
- .name = "sha256-short",
- .file = "out-sha256-short.txt",
- .fill = 0x00,
- .desc = NULL
-};
-
-static struct test_st test_sha384_short = {
- .points = all_points,
- .npoints = NPOINTS,
- .text_size = 16 * 2,
- .name = "sha384-short",
- .file = "out-sha384-short.txt",
- .fill = 0x00,
- .desc = NULL
-};
+static struct test_st test_sha256_short = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 16 * 2,
+ .name = "sha256-short",
+ .file = "out-sha256-short.txt",
+ .fill = 0x00,
+ .desc = NULL };
+
+static struct test_st test_sha384_short = { .points = all_points,
+ .npoints = NPOINTS,
+ .text_size = 16 * 2,
+ .name = "sha384-short",
+ .file = "out-sha384-short.txt",
+ .fill = 0x00,
+ .desc = NULL };
/* Test that outputs a graph of the timings
* when manipulating the last record byte (pad)
@@ -613,15 +594,13 @@ static struct test_st test_sha384_short = {
* (i.e. we want to see whether the padding
* [1,1] shows up in the measurements)
*/
-static struct test_st test_sha1_one = {
- .points = all_points_one,
- .npoints = NPOINTS,
- .text_size = 16 * 2,
- .name = "sha1-one",
- .file = "out-sha1-one.txt",
- .fill = 0x00,
- .desc = NULL
-};
+static struct test_st test_sha1_one = { .points = all_points_one,
+ .npoints = NPOINTS,
+ .text_size = 16 * 2,
+ .name = "sha1-one",
+ .file = "out-sha1-one.txt",
+ .fill = 0x00,
+ .desc = NULL };
int main(int argc, char **argv)
{
@@ -676,9 +655,8 @@ int main(int argc, char **argv)
for (i = 0; i < 256; i++) {
all_points[i].byte1 = i;
all_points[i].byte2 = 0;
- all_points[i].smeasurements =
- malloc(MAX_PER_POINT *
- sizeof(all_points[i].smeasurements[0]));
+ all_points[i].smeasurements = malloc(
+ MAX_PER_POINT * sizeof(all_points[i].smeasurements[0]));
}
memset(&all_points_one, 0, sizeof(all_points_one));
@@ -689,13 +667,14 @@ int main(int argc, char **argv)
}
remove(test->file);
- snprintf(prio, sizeof(prio),
-# ifdef TEST_ETM
- "NONE:+COMP-NULL:+AES-128-CBC:+AES-256-CBC:+%s:+PSK:+VERS-TLS1.2:+VERS-TLS1.1:+SIGN-ALL:+CURVE-ALL",
-# else
- "NONE:+COMP-NULL:+AES-128-CBC:+AES-256-CBC:+%s:+PSK:%%NO_ETM:+VERS-TLS1.2:+VERS-TLS1.1:+SIGN-ALL:+CURVE-ALL",
-# endif
- hash);
+ snprintf(
+ prio, sizeof(prio),
+#ifdef TEST_ETM
+ "NONE:+COMP-NULL:+AES-128-CBC:+AES-256-CBC:+%s:+PSK:+VERS-TLS1.2:+VERS-TLS1.1:+SIGN-ALL:+CURVE-ALL",
+#else
+ "NONE:+COMP-NULL:+AES-128-CBC:+AES-256-CBC:+%s:+PSK:%%NO_ETM:+VERS-TLS1.2:+VERS-TLS1.1:+SIGN-ALL:+CURVE-ALL",
+#endif
+ hash);
printf("\nAES-%s (calculating different padding timings)\n", hash);
start(prio, test->text_size, test);
@@ -705,4 +684,4 @@ int main(int argc, char **argv)
return 0;
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/suite/prime-check.c b/tests/suite/prime-check.c
index 3482a4beb8..a298a89179 100644
--- a/tests/suite/prime-check.c
+++ b/tests/suite/prime-check.c
@@ -25,7 +25,7 @@
/* Tests whether the included parameters are indeed prime */
-static void test_prime(const gnutls_datum_t * prime, const gnutls_datum_t * _q)
+static void test_prime(const gnutls_datum_t *prime, const gnutls_datum_t *_q)
{
mpz_t p;
unsigned bits = prime->size * 8;
diff --git a/tests/suite/rng.c b/tests/suite/rng.c
index 6dcd4ca777..630c5646ea 100644
--- a/tests/suite/rng.c
+++ b/tests/suite/rng.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/system-override-curves-allowlist.c b/tests/system-override-curves-allowlist.c
index 0ecf184533..551ba342b1 100644
--- a/tests/system-override-curves-allowlist.c
+++ b/tests/system-override-curves-allowlist.c
@@ -45,9 +45,12 @@
#include "utils.h"
-#define _assert(cond, format, ...) if (!(cond)) \
+#define _assert(cond, format, ...) \
+ if (!(cond)) \
_fail("Assertion `" #cond "` failed: " format "\n", ##__VA_ARGS__)
-#define _check(cond) if (!(cond)) _fail("Assertion `" #cond "` failed.\n")
+#define _check(cond) \
+ if (!(cond)) \
+ _fail("Assertion `" #cond "` failed.\n")
gnutls_ecc_curve_t unlocked_ecc_curve_get_id(const char *curve);
gnutls_pk_algorithm_t curve_name_to_pk(const char *curve);
diff --git a/tests/system-override-hash.c b/tests/system-override-hash.c
index 15af1e8880..6aa4936f4b 100644
--- a/tests/system-override-hash.c
+++ b/tests/system-override-hash.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/system-override-sig-tls.c b/tests/system-override-sig-tls.c
index 8851c5d323..d0dbd29b1b 100644
--- a/tests/system-override-sig-tls.c
+++ b/tests/system-override-sig-tls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <assert.h>
@@ -33,20 +33,26 @@
#include <gnutls/gnutls.h>
#include "utils.h"
-#define SKIP16(pos, total) { \
- uint16_t _s; \
- if (pos+2 > total) fail("error\n"); \
- _s = (msg->data[pos] << 8) | msg->data[pos+1]; \
- if ((size_t)(pos+2+_s) > total) fail("error\n"); \
- pos += 2+_s; \
+#define SKIP16(pos, total) \
+ { \
+ uint16_t _s; \
+ if (pos + 2 > total) \
+ fail("error\n"); \
+ _s = (msg->data[pos] << 8) | msg->data[pos + 1]; \
+ if ((size_t)(pos + 2 + _s) > total) \
+ fail("error\n"); \
+ pos += 2 + _s; \
}
-#define SKIP8(pos, total) { \
- uint8_t _s; \
- if (pos+1 > total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > total) fail("error\n"); \
- pos += 1+_s; \
+#define SKIP8(pos, total) \
+ { \
+ uint8_t _s; \
+ if (pos + 1 > total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
#define HANDSHAKE_SESSION_ID_POS 34
@@ -65,16 +71,16 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-#define PRIO "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:" \
+#define PRIO \
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:" \
"+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384"
/* rsa_pss_rsae_sha384 */
#define SIGALGS_EXP "\x00\x02\x08\x05"
-static int
-ext_callback(void *ctx, unsigned tls_id,
- const unsigned char *data, unsigned size)
+static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
+ unsigned size)
{
- if (tls_id == 13) { /* signature algorithms */
+ if (tls_id == 13) { /* signature algorithms */
if (size != sizeof(SIGALGS_EXP) - 1) {
fail("invalid signature_algorithms length: %u != 4\n",
size);
@@ -86,10 +92,9 @@ ext_callback(void *ctx, unsigned tls_id,
return 0;
}
-static int
-handshake_callback(gnutls_session_t session, unsigned int htype,
- unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+static int handshake_callback(gnutls_session_t session, unsigned int htype,
+ unsigned post, unsigned int incoming,
+ const gnutls_datum_t *msg)
{
assert(post);
@@ -133,9 +138,8 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -153,9 +157,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -178,8 +181,7 @@ void doit(void)
client_pull_timeout_func);
gnutls_transport_set_ptr(client, client);
- gnutls_handshake_set_hook_function(client,
- GNUTLS_HANDSHAKE_ANY,
+ gnutls_handshake_set_hook_function(client, GNUTLS_HANDSHAKE_ANY,
GNUTLS_HOOK_POST,
handshake_callback);
diff --git a/tests/system-override-sig.c b/tests/system-override-sig.c
index e0c933e3a8..4b797c29d4 100644
--- a/tests/system-override-sig.c
+++ b/tests/system-override-sig.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -43,15 +43,13 @@ void doit(void)
/* check whether the values set by the calling script are the expected */
assert(gnutls_sign_is_secure(GNUTLS_SIGN_RSA_SHA256) != 0);
- assert(gnutls_sign_is_secure2
- (GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0);
+ assert(gnutls_sign_is_secure2(GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0);
assert(gnutls_sign_is_secure(GNUTLS_SIGN_RSA_SHA1) == 0);
- assert(gnutls_sign_is_secure2
- (GNUTLS_SIGN_RSA_SHA1, GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0);
+ assert(gnutls_sign_is_secure2(GNUTLS_SIGN_RSA_SHA1,
+ GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0);
assert(gnutls_sign_is_secure(GNUTLS_SIGN_RSA_SHA512) == 0);
- assert(gnutls_sign_is_secure2
- (GNUTLS_SIGN_RSA_SHA512,
- GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0);
+ assert(gnutls_sign_is_secure2(GNUTLS_SIGN_RSA_SHA512,
+ GNUTLS_SIGN_FLAG_SECURE_FOR_CERTS) == 0);
assert(gnutls_sign_is_secure(GNUTLS_SIGN_RSA_MD5) == 0);
}
diff --git a/tests/system-prio-file.c b/tests/system-prio-file.c
index 1aec0493d4..164c3fbf25 100644
--- a/tests/system-prio-file.c
+++ b/tests/system-prio-file.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -58,7 +58,7 @@ static void try_prio(const char *prio, const char *expected_str)
exit(1);
}
- ok:
+ok:
gnutls_free(p);
gnutls_global_deinit();
}
@@ -70,8 +70,9 @@ void doit(void)
try_prio("@HELLO1", "NORMAL");
try_prio("@HELLO1:+AES-256-CBC:+AEAD", "NORMAL:+AES-256-CBC:+AEAD");
try_prio("@HELLO2", "NORMAL:+AES-128-CBC");
- try_prio("@HELLO3",
- "NONE:+VERS-TLS-ALL:-VERS-SSL3.0:+AEAD:+SHA1:+SHA256:+SHA384:+ECDHE-RSA:+ECDHE-ECDSA:+RSA:+DHE-RSA:+DHE-DSS:+AES-256-GCM:+AES-256-CBC:+CAMELLIA-256-GCM:+CAMELLIA-256-CBC:+AES-128-GCM:+AES-128-CBC:+CAMELLIA-128-GCM:+CAMELLIA-128-CBC:+3DES-CBC:+SIGN-ALL:-SIGN-RSA-MD5:+CURVE-ALL:+COMP-NULL:%PROFILE_LOW");
+ try_prio(
+ "@HELLO3",
+ "NONE:+VERS-TLS-ALL:-VERS-SSL3.0:+AEAD:+SHA1:+SHA256:+SHA384:+ECDHE-RSA:+ECDHE-ECDSA:+RSA:+DHE-RSA:+DHE-DSS:+AES-256-GCM:+AES-256-CBC:+CAMELLIA-256-GCM:+CAMELLIA-256-CBC:+AES-128-GCM:+AES-128-CBC:+CAMELLIA-128-GCM:+CAMELLIA-128-CBC:+3DES-CBC:+SIGN-ALL:-SIGN-RSA-MD5:+CURVE-ALL:+COMP-NULL:%PROFILE_LOW");
try_prio("@HELLO1,HELLO2", "NORMAL");
try_prio("@HELLO1,HELLO2:+AES-128-CBC", "NORMAL:+AES-128-CBC");
try_prio("@HELLO1,HELLO1", "NORMAL");
diff --git a/tests/test-chains-issuer-aia.h b/tests/test-chains-issuer-aia.h
index 3bd8415a3d..59069567a3 100644
--- a/tests/test-chains-issuer-aia.h
+++ b/tests/test-chains-issuer-aia.h
@@ -21,7 +21,7 @@
*/
#ifndef GNUTLS_TESTS_TEST_CHAINS_ISSUER_AIA_H
-# define GNUTLS_TESTS_TEST_CHAINS_ISSUER_AIA_H
+#define GNUTLS_TESTS_TEST_CHAINS_ISSUER_AIA_H
#define MAX_CHAIN 1
@@ -127,7 +127,7 @@ static const char *missing_cert_aia_ca[] = {
};
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic pop
+#pragma GCC diagnostic pop
#endif
-#endif /* GNUTLS_TESTS_TEST_CHAINS_ISSUER_AIA_H */
+#endif /* GNUTLS_TESTS_TEST_CHAINS_ISSUER_AIA_H */
diff --git a/tests/test-chains-issuer.h b/tests/test-chains-issuer.h
index c612e7132e..00a29a22ba 100644
--- a/tests/test-chains-issuer.h
+++ b/tests/test-chains-issuer.h
@@ -22,11 +22,12 @@
*/
#ifndef GNUTLS_TESTS_TEST_CHAINS_ISSUER_H
-# define GNUTLS_TESTS_TEST_CHAINS_ISSUER_H
+#define GNUTLS_TESTS_TEST_CHAINS_ISSUER_H
-# define MAX_CHAIN 15
+#define MAX_CHAIN 15
-# define SERVER_CERT "-----BEGIN CERTIFICATE-----\n" \
+#define SERVER_CERT \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIDATCCAbmgAwIBAgIUQdvdegP8JFszFHLfV4+lrEdafzAwPQYJKoZIhvcNAQEK\n" \
"MDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMC\n" \
"AUAwDzENMAsGA1UEAxMEQ0EtNTAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIz\n" \
@@ -43,10 +44,11 @@
"5woB5KENnYfoAWaYmXa1EPRh2xb2XDI0uCHg1bPljg61/T2cJZ4VfkOvsKgFAI4p\n" \
"lAKQCZSKbEY1oWDdDhVcSipYu2E88RXczvcnEQV3C3p6CGcf8xclZdZIwMAyXYAK\n" \
"oNccbSIfDlN4iD+2bztCRWHD6hWL1NJsFqmv3Ts8eYU8z8J8NdhtCXr76lFkFmDx\n" \
- "+lfZEv4=\n" \
+ "+lfZEv4=\n" \
"-----END CERTIFICATE-----\n"
-# define CA_CERT_5 "-----BEGIN CERTIFICATE-----\n" \
+#define CA_CERT_5 \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIDojCCAlqgAwIBAgIUHRb3xJ2ZGqqgdC/pBq/sDtAwvtowPQYJKoZIhvcNAQEK\n" \
"MDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMC\n" \
"AUAwDzENMAsGA1UEAxMEQ0EtNDAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIz\n" \
@@ -66,10 +68,11 @@
"XveeQysCKsDEfdrfn1mACQj8eC4lL9KJcHptHdTSLfa58MV2Qe5smCIByXxendO5\n" \
"UQHZy5UrzWAdtO7y75vXeXynsXAqcE4TTNjdFiCnn6Q5/pVyW14kepfjaOzQFP7H\n" \
"QlnHtgQDRAlQuB1aGseb6jn2Joy33itpBthvtgBosZIqsMyPoX5YzjqZUSjfPZOP\n" \
- "/aOd/5HR4ZPDWfHdIWbXogYX0ndhNg==\n" \
+ "/aOd/5HR4ZPDWfHdIWbXogYX0ndhNg==\n" \
"-----END CERTIFICATE-----\n"
-# define CA_CERT_4 "-----BEGIN CERTIFICATE-----\n" \
+#define CA_CERT_4 \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIDojCCAlqgAwIBAgIUGybZZ1e/iFUKafPdh8xUbh7YVnwwPQYJKoZIhvcNAQEK\n" \
"MDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMC\n" \
"AUAwDzENMAsGA1UEAxMEQ0EtMzAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIz\n" \
@@ -89,10 +92,11 @@
"wQ7s/JNNk/SZt4bKjX9GrTscZmOVtrwpZ6uQBHITScsr4V431G6wojZ09iEG0yFQ\n" \
"ZD8ECn2ZOPVQXIswa75NelcGKup838HoDIjQ3vIvrx8rqf5HRg4t9mXzjECzXHVy\n" \
"8wDamoE3fLAZZX2RxOWnHfjI8qB83qYyR5kN002EFJ/e060SPia1rTHyLqLngRtq\n" \
- "xgR9bRjZf++h/dg6L87b26J5KdDafw==\n" \
+ "xgR9bRjZf++h/dg6L87b26J5KdDafw==\n" \
"-----END CERTIFICATE-----\n"
-# define CA_CERT_3 "-----BEGIN CERTIFICATE-----\n" \
+#define CA_CERT_3 \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIDojCCAlqgAwIBAgIUHRkWa8ZOaRrqjxigoEhxJHMLM2UwPQYJKoZIhvcNAQEK\n" \
"MDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMC\n" \
"AUAwDzENMAsGA1UEAxMEQ0EtMjAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIz\n" \
@@ -112,10 +116,11 @@
"jTu7jvLbRSHkBQFimWorPfgf15nlXSCBtejEwvDLXlptLbKEa3q7VFXDzCyeiKGb\n" \
"IHRozrAP5qiyIjYFJevXrZ/7bWDwMcJrB0uSQN9TD2mJjNXTCHu3GYnEmnu7KRpb\n" \
"M3OdswIyjIFYvwlYGe2+GbigSaMZY9KCHR7vkJ1JGdxfh+CADcbL4fwj3kOpyEoe\n" \
- "TTqtWQ93AfQnd2Vm3/SAr/+jSuMbSA==\n" \
+ "TTqtWQ93AfQnd2Vm3/SAr/+jSuMbSA==\n" \
"-----END CERTIFICATE-----\n"
-# define CA_CERT_2 "-----BEGIN CERTIFICATE-----\n" \
+#define CA_CERT_2 \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIDojCCAlqgAwIBAgIUVd3TT33d1fy/8INiIKhudYmRE5swPQYJKoZIhvcNAQEK\n" \
"MDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMC\n" \
"AUAwDzENMAsGA1UEAxMEQ0EtMTAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIz\n" \
@@ -135,10 +140,11 @@
"FTYE+42MFBr6f5SNp9Q+ZUcjSK5DO7yNiyKDFfNffFGxHmnmGj2LhgyrvYA/aNyB\n" \
"2ichlfihcKkExGBN44ODoK+8/W8oiMt541AvPyJxTJjxWjeJ42EBXO+J5k8wRuCu\n" \
"nXCW5OjnEIExXGKZLlieH4t8kUyHlrTlHO7spiqA/QM7GUtBQfJTLdPFmvHU3Jtw\n" \
- "qGN2PrhXyLoaUfIpNbWO9Jmj2GYaWg==\n" \
+ "qGN2PrhXyLoaUfIpNbWO9Jmj2GYaWg==\n" \
"-----END CERTIFICATE-----\n"
-# define CA_CERT_1 "-----BEGIN CERTIFICATE-----\n" \
+#define CA_CERT_1 \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIICxjCCAiegAwIBAgIUKnsCQlR0jpxEnpzqxbi+Y2rqwpMwCgYIKoZIzj0EAwQw\n" \
"DzENMAsGA1UEAxMEQ0EtMDAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIzNTk1\n" \
"OVowDzENMAsGA1UEAxMEQ0EtMTCCAVIwPQYJKoZIhvcNAQEKMDCgDTALBglghkgB\n" \
@@ -153,10 +159,11 @@
"BgNVHSMEGDAWgBRBWngghShY2X+P7m45LPH1V4p5czAKBggqhkjOPQQDBAOBjAAw\n" \
"gYgCQgHnvF1Dq32xBBEME4UlVsVeOflvGw5Sr/hVhbUZ1KfAQIV2ZuBuvJNMBrj8\n" \
"Pzi/nhRuV8vH5xabyQb9RYVcJ8oilQJCAdduIVVvL6DmUBOJfz1znsxPA5JCBBY2\n" \
- "pAOhFZBrNXE2zZrgttgR6TG4Obst1fQzL3RsmqAYAuWSpKPNz6Hdq+kl\n" \
+ "pAOhFZBrNXE2zZrgttgR6TG4Obst1fQzL3RsmqAYAuWSpKPNz6Hdq+kl\n" \
"-----END CERTIFICATE-----\n"
-# define CA_CERT_0 "-----BEGIN CERTIFICATE-----\n" \
+#define CA_CERT_0 \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIB7TCCAU6gAwIBAgIUWmldb3tGP48wFh5P/cmVytYv5JcwCgYIKoZIzj0EAwQw\n" \
"DzENMAsGA1UEAxMEQ0EtMDAgFw0yMDA0MjAxMTI2NDFaGA85OTk5MTIzMTIzNTk1\n" \
"OVowDzENMAsGA1UEAxMEQ0EtMDCBmzAQBgcqhkjOPQIBBgUrgQQAIwOBhgAEAarU\n" \
@@ -167,10 +174,11 @@
"8fVXinlzMAoGCCqGSM49BAMEA4GMADCBiAJCAcmtP2IVnOTF2wHhfUn13qsUpqyc\n" \
"3kCI1ueg75NgR7xgpL9JQ1CnPaUbCp+5ROKf5IHn8f1jjZIu45WpiWhnZDkkAkIA\n" \
"pCTZn7t7memhMJUqrHGywx2gR9fgID/REZUZdVe9KcTzWvwSrbffDMCcf10SpM6C\n" \
- "/YXiDLiWNiK+WV8Z557eWKI=\n" \
+ "/YXiDLiWNiK+WV8Z557eWKI=\n" \
"-----END CERTIFICATE-----\n"
-# define UNRELATED "-----BEGIN CERTIFICATE-----\n" \
+#define UNRELATED \
+ "-----BEGIN CERTIFICATE-----\n" \
"MIIEaDCCAqCgAwIBAgIMWXi5rBKSNwkPo4olMD0GCSqGSIb3DQEBCjAwoA0wCwYJ\n" \
"YIZIAWUDBAIDoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCA6IDAgFAMA8xDTAL\n" \
"BgNVBAMTBENBLTAwIBcNMTcwNzI2MTU0NzU2WhgPOTk5OTEyMzEyMzU5NTlaMA8x\n" \
@@ -194,16 +202,11 @@
"3eoeffRfWQXO2y0/K9TUqZM+6n10N32ZkR45I+XSQ13qS73l4QS4djay9z/bAMeb\n" \
"/zgaf6J790LULzDBEvhPZLNn4bBu/t7WVj2NI+frQvAHyQ9ZhBYkow84qF+//zK9\n" \
"d/VzQbBQOJFX9TWdWgUxklrWnXE0gmxzGBdq+cMQyHulVVbgShftCRJ8jn8e0Cl1\n" \
- "dl+Cpj08yyLpT9/ZmL8ytgD3Iobw0wPHppb/jQ==\n" \
+ "dl+Cpj08yyLpT9/ZmL8ytgD3Iobw0wPHppb/jQ==\n" \
"-----END CERTIFICATE-----\n"
static const char *missing_middle_single[] = {
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_2,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, CA_CERT_5, CA_CERT_4, CA_CERT_2, CA_CERT_1, NULL,
};
static const char *missing_middle_single_insert[] = {
@@ -212,11 +215,7 @@ static const char *missing_middle_single_insert[] = {
};
static const char *missing_middle_multiple[] = {
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, CA_CERT_5, CA_CERT_4, CA_CERT_1, NULL,
};
static const char *missing_middle_multiple_insert[] = {
@@ -225,12 +224,7 @@ static const char *missing_middle_multiple_insert[] = {
};
static const char *missing_last_single[] = {
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_3,
- CA_CERT_2,
- NULL,
+ SERVER_CERT, CA_CERT_5, CA_CERT_4, CA_CERT_3, CA_CERT_2, NULL,
};
static const char *missing_last_single_insert[] = {
@@ -239,11 +233,7 @@ static const char *missing_last_single_insert[] = {
};
static const char *missing_last_multiple[] = {
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_3,
- NULL,
+ SERVER_CERT, CA_CERT_5, CA_CERT_4, CA_CERT_3, NULL,
};
static const char *missing_last_multiple_insert[] = {
@@ -252,11 +242,7 @@ static const char *missing_last_multiple_insert[] = {
};
static const char *missing_skip_single[] = {
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_3,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, CA_CERT_5, CA_CERT_3, CA_CERT_1, NULL,
};
static const char *missing_skip_single_insert[] = {
@@ -279,45 +265,23 @@ static const char *missing_skip_multiple_insert[] = {
};
static const char *missing_middle_single_unsorted[] = {
- SERVER_CERT,
- CA_CERT_1,
- CA_CERT_2,
- CA_CERT_4,
- CA_CERT_5,
- NULL,
+ SERVER_CERT, CA_CERT_1, CA_CERT_2, CA_CERT_4, CA_CERT_5, NULL,
};
static const char *missing_middle_multiple_unsorted[] = {
- SERVER_CERT,
- CA_CERT_1,
- CA_CERT_4,
- CA_CERT_5,
- NULL,
+ SERVER_CERT, CA_CERT_1, CA_CERT_4, CA_CERT_5, NULL,
};
static const char *missing_last_single_unsorted[] = {
- SERVER_CERT,
- CA_CERT_2,
- CA_CERT_3,
- CA_CERT_4,
- CA_CERT_5,
- NULL,
+ SERVER_CERT, CA_CERT_2, CA_CERT_3, CA_CERT_4, CA_CERT_5, NULL,
};
static const char *missing_last_multiple_unsorted[] = {
- SERVER_CERT,
- CA_CERT_3,
- CA_CERT_4,
- CA_CERT_5,
- NULL,
+ SERVER_CERT, CA_CERT_3, CA_CERT_4, CA_CERT_5, NULL,
};
static const char *missing_skip_single_unsorted[] = {
- SERVER_CERT,
- CA_CERT_1,
- CA_CERT_3,
- CA_CERT_5,
- NULL,
+ SERVER_CERT, CA_CERT_1, CA_CERT_3, CA_CERT_5, NULL,
};
static const char *missing_skip_multiple_unsorted[] = {
@@ -339,77 +303,33 @@ static const char *missing_middle_unrelated_extra_insert[] = {
};
static const char *missing_middle_single_duplicate[] = {
- SERVER_CERT,
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_4,
- CA_CERT_2,
- CA_CERT_2,
- CA_CERT_1,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, SERVER_CERT, CA_CERT_5, CA_CERT_5, CA_CERT_4, CA_CERT_4,
+ CA_CERT_2, CA_CERT_2, CA_CERT_1, CA_CERT_1, NULL,
};
static const char *missing_middle_multiple_duplicate[] = {
- SERVER_CERT,
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_4,
- CA_CERT_1,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, SERVER_CERT, CA_CERT_5, CA_CERT_5, CA_CERT_4,
+ CA_CERT_4, CA_CERT_1, CA_CERT_1, NULL,
};
static const char *missing_last_single_duplicate[] = {
- SERVER_CERT,
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_4,
- CA_CERT_3,
- CA_CERT_3,
- CA_CERT_2,
- CA_CERT_2,
- NULL,
+ SERVER_CERT, SERVER_CERT, CA_CERT_5, CA_CERT_5, CA_CERT_4, CA_CERT_4,
+ CA_CERT_3, CA_CERT_3, CA_CERT_2, CA_CERT_2, NULL,
};
static const char *missing_last_multiple_duplicate[] = {
- SERVER_CERT,
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_5,
- CA_CERT_4,
- CA_CERT_4,
- CA_CERT_3,
- CA_CERT_3,
- NULL,
+ SERVER_CERT, SERVER_CERT, CA_CERT_5, CA_CERT_5, CA_CERT_4,
+ CA_CERT_4, CA_CERT_3, CA_CERT_3, NULL,
};
static const char *missing_skip_single_duplicate[] = {
- SERVER_CERT,
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_5,
- CA_CERT_3,
- CA_CERT_3,
- CA_CERT_1,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, SERVER_CERT, CA_CERT_5, CA_CERT_5, CA_CERT_3,
+ CA_CERT_3, CA_CERT_1, CA_CERT_1, NULL,
};
static const char *missing_skip_multiple_duplicate[] = {
- SERVER_CERT,
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_5,
- CA_CERT_3,
- CA_CERT_3,
- NULL,
+ SERVER_CERT, SERVER_CERT, CA_CERT_5, CA_CERT_5,
+ CA_CERT_3, CA_CERT_3, NULL,
};
static const char *missing_ca[] = {
@@ -418,15 +338,8 @@ static const char *missing_ca[] = {
};
static const char *middle_single_duplicate_ca[] = {
- SERVER_CERT,
- CA_CERT_5,
- CA_CERT_0,
- CA_CERT_4,
- CA_CERT_0,
- CA_CERT_2,
- CA_CERT_0,
- CA_CERT_1,
- NULL,
+ SERVER_CERT, CA_CERT_5, CA_CERT_0, CA_CERT_4, CA_CERT_0,
+ CA_CERT_2, CA_CERT_0, CA_CERT_1, NULL,
};
static const char *missing_middle_single_duplicate_ca_unrelated_insert[] = {
@@ -442,95 +355,95 @@ static struct chains {
unsigned int verify_flags;
unsigned int expected_verify_result;
} chains[] = {
- {"middle single - no sort", missing_middle_single,
- missing_middle_single_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0},
- {"middle multiple - no sort", missing_middle_multiple,
- missing_middle_multiple_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0},
- {"last single - no sort", missing_last_single,
- missing_last_single_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0},
- {"last multiple - no sort", missing_last_multiple,
- missing_last_multiple_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0},
- {"skip single - no sort", missing_skip_single,
- missing_skip_single_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0},
- {"skip multiple - no sort", missing_skip_multiple,
- missing_skip_multiple_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0},
- {"middle single unsorted - no sort", missing_middle_single_unsorted,
- missing_middle_single_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"middle multiple unsorted - no sort", missing_middle_multiple_unsorted,
- missing_middle_multiple_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"last single unsorted - no sort", missing_last_single_unsorted,
- missing_last_single_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"last multiple unsorted - no sort", missing_last_multiple_unsorted,
- missing_last_multiple_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"skip single unsorted - no sort", missing_skip_single_unsorted,
- missing_skip_single_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"skip multiple unsorted - no sort", missing_skip_multiple_unsorted,
- missing_skip_multiple_insert, missing_ca,
- GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"middle single", missing_middle_single, missing_middle_single_insert,
- missing_ca, 0, 0},
- {"middle multiple", missing_middle_multiple,
- missing_middle_multiple_insert, missing_ca, 0, 0},
- {"last single", missing_last_single, missing_last_single_insert,
- missing_ca, 0, 0},
- {"last multiple", missing_last_multiple, missing_last_multiple_insert,
- missing_ca, 0, 0},
- {"skip single", missing_skip_single, missing_skip_single_insert,
- missing_ca, 0, 0},
- {"skip multiple", missing_skip_multiple, missing_skip_multiple_insert,
- missing_ca, 0, 0},
- {"middle single unsorted", missing_middle_single_unsorted,
- missing_middle_single_insert, missing_ca, 0, 0},
- {"middle multiple unsorted", missing_middle_multiple_unsorted,
- missing_middle_multiple_insert, missing_ca, 0, 0},
- {"last single unsorted", missing_last_single_unsorted,
- missing_last_single_insert, missing_ca, 0, 0},
- {"last multiple unsorted", missing_last_multiple_unsorted,
- missing_last_multiple_insert, missing_ca, 0, 0},
- {"skip single unsorted", missing_skip_single_unsorted,
- missing_skip_single_insert, missing_ca, 0, 0},
- {"skip multiple unsorted", missing_skip_multiple_unsorted,
- missing_skip_multiple_insert, missing_ca, 0, 0},
- {"unrelated", missing_middle_single, missing_middle_unrelated_insert,
- missing_ca, 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {"unrelated extra", missing_middle_single,
- missing_middle_unrelated_extra_insert, missing_ca, 0, 0},
- {"middle single duplicate", missing_middle_single_duplicate,
- missing_middle_single_insert, missing_ca, 0, 0},
- {"middle multiple duplicate", missing_middle_multiple_duplicate,
- missing_middle_multiple_insert, missing_ca, 0, 0},
- {"last single duplicate", missing_last_single_duplicate,
- missing_last_single_insert, missing_ca, 0, 0},
- {"last multiple duplicate", missing_last_multiple_duplicate,
- missing_last_multiple_insert, missing_ca, 0, 0},
- {"skip single duplicate", missing_skip_single_duplicate,
- missing_skip_single_insert, missing_ca, 0, 0},
- {"skip multiple duplicate", missing_skip_multiple_duplicate,
- missing_skip_multiple_insert, missing_ca, 0, 0},
- {"middle single duplicate ca", middle_single_duplicate_ca,
- missing_middle_single_insert, missing_ca, 0, 0},
- {"middle single duplicate ca - insert unrelated",
- middle_single_duplicate_ca,
- missing_middle_single_duplicate_ca_unrelated_insert, missing_ca, 0,
- GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND},
- {NULL, NULL, NULL, NULL},
+ { "middle single - no sort", missing_middle_single,
+ missing_middle_single_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0 },
+ { "middle multiple - no sort", missing_middle_multiple,
+ missing_middle_multiple_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0 },
+ { "last single - no sort", missing_last_single,
+ missing_last_single_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0 },
+ { "last multiple - no sort", missing_last_multiple,
+ missing_last_multiple_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0 },
+ { "skip single - no sort", missing_skip_single,
+ missing_skip_single_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0 },
+ { "skip multiple - no sort", missing_skip_multiple,
+ missing_skip_multiple_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN, 0 },
+ { "middle single unsorted - no sort", missing_middle_single_unsorted,
+ missing_middle_single_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "middle multiple unsorted - no sort",
+ missing_middle_multiple_unsorted, missing_middle_multiple_insert,
+ missing_ca, GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "last single unsorted - no sort", missing_last_single_unsorted,
+ missing_last_single_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "last multiple unsorted - no sort", missing_last_multiple_unsorted,
+ missing_last_multiple_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "skip single unsorted - no sort", missing_skip_single_unsorted,
+ missing_skip_single_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "skip multiple unsorted - no sort", missing_skip_multiple_unsorted,
+ missing_skip_multiple_insert, missing_ca,
+ GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "middle single", missing_middle_single, missing_middle_single_insert,
+ missing_ca, 0, 0 },
+ { "middle multiple", missing_middle_multiple,
+ missing_middle_multiple_insert, missing_ca, 0, 0 },
+ { "last single", missing_last_single, missing_last_single_insert,
+ missing_ca, 0, 0 },
+ { "last multiple", missing_last_multiple, missing_last_multiple_insert,
+ missing_ca, 0, 0 },
+ { "skip single", missing_skip_single, missing_skip_single_insert,
+ missing_ca, 0, 0 },
+ { "skip multiple", missing_skip_multiple, missing_skip_multiple_insert,
+ missing_ca, 0, 0 },
+ { "middle single unsorted", missing_middle_single_unsorted,
+ missing_middle_single_insert, missing_ca, 0, 0 },
+ { "middle multiple unsorted", missing_middle_multiple_unsorted,
+ missing_middle_multiple_insert, missing_ca, 0, 0 },
+ { "last single unsorted", missing_last_single_unsorted,
+ missing_last_single_insert, missing_ca, 0, 0 },
+ { "last multiple unsorted", missing_last_multiple_unsorted,
+ missing_last_multiple_insert, missing_ca, 0, 0 },
+ { "skip single unsorted", missing_skip_single_unsorted,
+ missing_skip_single_insert, missing_ca, 0, 0 },
+ { "skip multiple unsorted", missing_skip_multiple_unsorted,
+ missing_skip_multiple_insert, missing_ca, 0, 0 },
+ { "unrelated", missing_middle_single, missing_middle_unrelated_insert,
+ missing_ca, 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { "unrelated extra", missing_middle_single,
+ missing_middle_unrelated_extra_insert, missing_ca, 0, 0 },
+ { "middle single duplicate", missing_middle_single_duplicate,
+ missing_middle_single_insert, missing_ca, 0, 0 },
+ { "middle multiple duplicate", missing_middle_multiple_duplicate,
+ missing_middle_multiple_insert, missing_ca, 0, 0 },
+ { "last single duplicate", missing_last_single_duplicate,
+ missing_last_single_insert, missing_ca, 0, 0 },
+ { "last multiple duplicate", missing_last_multiple_duplicate,
+ missing_last_multiple_insert, missing_ca, 0, 0 },
+ { "skip single duplicate", missing_skip_single_duplicate,
+ missing_skip_single_insert, missing_ca, 0, 0 },
+ { "skip multiple duplicate", missing_skip_multiple_duplicate,
+ missing_skip_multiple_insert, missing_ca, 0, 0 },
+ { "middle single duplicate ca", middle_single_duplicate_ca,
+ missing_middle_single_insert, missing_ca, 0, 0 },
+ { "middle single duplicate ca - insert unrelated",
+ middle_single_duplicate_ca,
+ missing_middle_single_duplicate_ca_unrelated_insert, missing_ca, 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_NOT_FOUND },
+ { NULL, NULL, NULL, NULL },
};
-#endif /* GNUTLS_TESTS_TEST_CHAINS_ISSUER_H */
+#endif /* GNUTLS_TESTS_TEST_CHAINS_ISSUER_H */
diff --git a/tests/test-chains.h b/tests/test-chains.h
index 69d430e65f..9ce23764da 100644
--- a/tests/test-chains.h
+++ b/tests/test-chains.h
@@ -21,7 +21,7 @@
*/
#ifndef GNUTLS_TESTS_TEST_CHAINS_H
-# define GNUTLS_TESTS_TEST_CHAINS_H
+#define GNUTLS_TESTS_TEST_CHAINS_H
#define MAX_CHAIN 10
@@ -364,7 +364,6 @@ static const char *rsa_pss_chain_with_diff_mgf_oid_fail[] = {
"-----END CERTIFICATE-----\n"
};
-
static const char *rsa_pss_chain_increasing_salt_size_ok[] = {
"-----BEGIN CERTIFICATE-----\n"
"MIIEsTCCAumgAwIBAgIMWXnOxy72g1dtZFCEMD0GCSqGSIb3DQEBCjAwoA0wCwYJ\n"
@@ -1251,2185 +1250,2187 @@ static const char *unknown_critical_extension_on_root[] = {
/* the key purpose in the intermediate certificate is not the expected one */
static const char *kp_fail1[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDOjCCAiKgAwIBAgIMVB/VrzLxJphTIbssMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA5MjIwNzU0MjNaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQCjtW076msqq69wke2Nc8NMD6UpxVQ1oteCh91lhIgGS+KBunt+C1Hfnipr\n"
- "iTEC0A7/DWGynWZBcK8LHbVyG32fP45S7BcR1SimbE0HD1aWFSboQegghrF+NISG\n"
- "HJgUTvTvUKn8pEUxowHfU3eGM3er4QZ7hyerijOb8/W2PFqkDjEZse6uPzKOoawL\n"
- "Trm88cCuzSwKuE3Fftvc6tfzorXVKiFIGlbNBw+bpCVUMpjx4w5Ug4BbJpD/e7Hf\n"
- "U+BCkjfKzWMDJ54rUQLbYUTh4QknHUoZ0W+RMKpeEM4esHt7HdJtZYKh/Lzi5GjB\n"
- "VRAfAA+5khCRwC2uJv1cpzqVjDOHAgMBAAGjgY0wgYowDAYDVR0TAQH/BAIwADAU\n"
- "BgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0P\n"
- "AQH/BAUDAwegADAdBgNVHQ4EFgQU7Vhq5oDQ/UgzdS+yRZGbBuD5GxcwHwYDVR0j\n"
- "BBgwFoAUWXJAO7Nmy8yMdi66LZQGgaO+plkwDQYJKoZIhvcNAQELBQADggEBABSD\n"
- "xzc5ZeUpD+6dvIwptMYLLL5qMI5/GmhSHRuI7pPkf7JMOrfOfPaDRKJY2HIoHRB+\n"
- "68iUeE+C3I17lpuXcTGU4OvLrqBQ19orSfWvaQMl8yOR0Uzjn98jc4wuA2nMOnBu\n"
- "nV8Yx/rJvBK/uJYBjDaMdKtddBvdUoaOco8tflOLDBz7aBKTO31qynKGWgtPDasG\n"
- "DsshOcDgstMwhcBXbIrliDvDhBeWZnjG6E+9yf1ppUoVMp8UU6H12lA3en1GzI3v\n"
- "E9NHhkJkFk6uUIp09sWLfw/MGiU/rIb9Kj7qjOoE0RAirOJdqSnb+XRwtD5U8u2Y\n"
- "JcxB7MEBdJsNPbxRVtc=\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTIyMDc1NDIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyxSDH68ZW2CHV\n"
- "6aozE8LMXnOZXDOuli49867VsS7SLr49jxL6jzLx/oJN3JfITcn+ohYNifnA7TBa\n"
- "VeDSXMTG9tJrU8FlOTCk2Vsc939YiJ9tKNX4rPD+OeSbWgxOnVlkI5zZYnq/+i1E\n"
- "UvahCHyP93GXl0zR9hsSptJPD27mX653clPqPoTNBA+qSDTb/GK0Yvgfioaqk0PO\n"
- "q8pcKjZ2N+qg7st+y5Rj/92g9E6vpdHt9DBfL1THkeaJ0VKfvsea8fj1y1AwwWvT\n"
- "9TWIYCLCiYYtMv2Oqsf3lMMU+Zs5DO1FqHglXrnwjGMN6tf57OYol72Pih3enejM\n"
- "Syb2U2z3AgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUWXJAO7Nmy8yMdi66LZQG\n"
- "gaO+plkwHwYDVR0jBBgwFoAU8DKVyOiO2uYcwEgw+8kRGgRXCPYwDQYJKoZIhvcN\n"
- "AQELBQADggEBAHudcSXdtTdRoMkxRZUxPu3RaJFaFJr+y0SU+3gBBjbMuYIUD5b5\n"
- "neTl5NDwtgPQS41ldf7oMVWaFGdV6OZzkfPqWgNCsDPy7xSGHXLQ11SSNsw+J9mW\n"
- "zVdiM+BQOWvd4WJ0FKJ+pO1WVyTiIaqnSmETzgviX93YueV53h7Z02sGifp4X2Xh\n"
- "aauF8xrG62ELNBC5kYFkAWrnNtSMuykbpfZT+l4nFI9ytxHLRFMaH2jpbfdL0pmQ\n"
- "oktFJ1fln6N0S71doSUTvfy2iPcvVqjIKW6YD/Pyrr6ThEbVSGzY4FogzUMQf3fN\n"
- "J2Q6Eb+S3ZB28Sm377QU5XKQ1ANpOa4ozHk=\n"
- "-----END CERTIFICATE-----\n",
- NULL,
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTIyMDc1NDIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYp4Ek815xc7wy\n"
- "5AEJ2AzJSyTnVWR4HTsaWBOVGCpE7Jrz3hHPUzE/9gRM1Oq5ROWJ7DUVFoD9pP8A\n"
- "if2hRYwSqCNaMswMj3ReDLm2iKROrFhYR9Rr6kcucmRDcrN1SqmmIvZT80uxPXhT\n"
- "TRVWYHc9kjGvgC3U16O+265d44mgxGw2UMwMirh5X5u6JFrfTShBXj08UJoNsj+1\n"
- "6Tp/x6+vO8iaGWcRPetAWzwMGNSH4CanWuHZBdL7jLV/OamfvKhBHhEGF/JN1KDn\n"
- "MSLrQJib8T2WVfVdmLWM6FbDiw2i1KeleCij354MNuI+Azr8aTJma5cI1BWU5Ndq\n"
- "tbHShdCxAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwEwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU8DKVyOiO2uYcwEgw+8kR\n"
- "GgRXCPYwDQYJKoZIhvcNAQELBQADggEBAD4RUNg3EQ5yJ1LfXWKFTXIhSg6B92Y8\n"
- "QTSq+1RWEDP51J7i60A0yTDZi0XZUrfNIv+0gzw8F9l/QEWM+IXXnHUhhluZW/xf\n"
- "PiQPtz3Tv5uMIxs24vMIZYeMzXJ+N1rY2JbYsEWhkfSsJA8LD08gw0azlPKx/wXy\n"
- "aBlknDfeCcrpXhnJdpMxj/N7nLPTQuPe7/VmZjYc8VkopjKMrZS+3KcEoXbr5Zjr\n"
- "zm2mY/IHu6AZgtsWMhakONbH6I9rsZt5VlTPO72VmkjYtHhFfvjs2fPH1Gdu52y7\n"
- "P4gcTXWeMficO8uzeHv17J0+qBBYxRe5Fkri1i1JRjJcBqVaK3JPUzQ=\n"
- "-----END CERTIFICATE-----\n"};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDOjCCAiKgAwIBAgIMVB/VrzLxJphTIbssMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA5MjIwNzU0MjNaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQCjtW076msqq69wke2Nc8NMD6UpxVQ1oteCh91lhIgGS+KBunt+C1Hfnipr\n"
+ "iTEC0A7/DWGynWZBcK8LHbVyG32fP45S7BcR1SimbE0HD1aWFSboQegghrF+NISG\n"
+ "HJgUTvTvUKn8pEUxowHfU3eGM3er4QZ7hyerijOb8/W2PFqkDjEZse6uPzKOoawL\n"
+ "Trm88cCuzSwKuE3Fftvc6tfzorXVKiFIGlbNBw+bpCVUMpjx4w5Ug4BbJpD/e7Hf\n"
+ "U+BCkjfKzWMDJ54rUQLbYUTh4QknHUoZ0W+RMKpeEM4esHt7HdJtZYKh/Lzi5GjB\n"
+ "VRAfAA+5khCRwC2uJv1cpzqVjDOHAgMBAAGjgY0wgYowDAYDVR0TAQH/BAIwADAU\n"
+ "BgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0P\n"
+ "AQH/BAUDAwegADAdBgNVHQ4EFgQU7Vhq5oDQ/UgzdS+yRZGbBuD5GxcwHwYDVR0j\n"
+ "BBgwFoAUWXJAO7Nmy8yMdi66LZQGgaO+plkwDQYJKoZIhvcNAQELBQADggEBABSD\n"
+ "xzc5ZeUpD+6dvIwptMYLLL5qMI5/GmhSHRuI7pPkf7JMOrfOfPaDRKJY2HIoHRB+\n"
+ "68iUeE+C3I17lpuXcTGU4OvLrqBQ19orSfWvaQMl8yOR0Uzjn98jc4wuA2nMOnBu\n"
+ "nV8Yx/rJvBK/uJYBjDaMdKtddBvdUoaOco8tflOLDBz7aBKTO31qynKGWgtPDasG\n"
+ "DsshOcDgstMwhcBXbIrliDvDhBeWZnjG6E+9yf1ppUoVMp8UU6H12lA3en1GzI3v\n"
+ "E9NHhkJkFk6uUIp09sWLfw/MGiU/rIb9Kj7qjOoE0RAirOJdqSnb+XRwtD5U8u2Y\n"
+ "JcxB7MEBdJsNPbxRVtc=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTIyMDc1NDIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyxSDH68ZW2CHV\n"
+ "6aozE8LMXnOZXDOuli49867VsS7SLr49jxL6jzLx/oJN3JfITcn+ohYNifnA7TBa\n"
+ "VeDSXMTG9tJrU8FlOTCk2Vsc939YiJ9tKNX4rPD+OeSbWgxOnVlkI5zZYnq/+i1E\n"
+ "UvahCHyP93GXl0zR9hsSptJPD27mX653clPqPoTNBA+qSDTb/GK0Yvgfioaqk0PO\n"
+ "q8pcKjZ2N+qg7st+y5Rj/92g9E6vpdHt9DBfL1THkeaJ0VKfvsea8fj1y1AwwWvT\n"
+ "9TWIYCLCiYYtMv2Oqsf3lMMU+Zs5DO1FqHglXrnwjGMN6tf57OYol72Pih3enejM\n"
+ "Syb2U2z3AgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUWXJAO7Nmy8yMdi66LZQG\n"
+ "gaO+plkwHwYDVR0jBBgwFoAU8DKVyOiO2uYcwEgw+8kRGgRXCPYwDQYJKoZIhvcN\n"
+ "AQELBQADggEBAHudcSXdtTdRoMkxRZUxPu3RaJFaFJr+y0SU+3gBBjbMuYIUD5b5\n"
+ "neTl5NDwtgPQS41ldf7oMVWaFGdV6OZzkfPqWgNCsDPy7xSGHXLQ11SSNsw+J9mW\n"
+ "zVdiM+BQOWvd4WJ0FKJ+pO1WVyTiIaqnSmETzgviX93YueV53h7Z02sGifp4X2Xh\n"
+ "aauF8xrG62ELNBC5kYFkAWrnNtSMuykbpfZT+l4nFI9ytxHLRFMaH2jpbfdL0pmQ\n"
+ "oktFJ1fln6N0S71doSUTvfy2iPcvVqjIKW6YD/Pyrr6ThEbVSGzY4FogzUMQf3fN\n"
+ "J2Q6Eb+S3ZB28Sm377QU5XKQ1ANpOa4ozHk=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTIyMDc1NDIzWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYp4Ek815xc7wy\n"
+ "5AEJ2AzJSyTnVWR4HTsaWBOVGCpE7Jrz3hHPUzE/9gRM1Oq5ROWJ7DUVFoD9pP8A\n"
+ "if2hRYwSqCNaMswMj3ReDLm2iKROrFhYR9Rr6kcucmRDcrN1SqmmIvZT80uxPXhT\n"
+ "TRVWYHc9kjGvgC3U16O+265d44mgxGw2UMwMirh5X5u6JFrfTShBXj08UJoNsj+1\n"
+ "6Tp/x6+vO8iaGWcRPetAWzwMGNSH4CanWuHZBdL7jLV/OamfvKhBHhEGF/JN1KDn\n"
+ "MSLrQJib8T2WVfVdmLWM6FbDiw2i1KeleCij354MNuI+Azr8aTJma5cI1BWU5Ndq\n"
+ "tbHShdCxAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwEwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU8DKVyOiO2uYcwEgw+8kR\n"
+ "GgRXCPYwDQYJKoZIhvcNAQELBQADggEBAD4RUNg3EQ5yJ1LfXWKFTXIhSg6B92Y8\n"
+ "QTSq+1RWEDP51J7i60A0yTDZi0XZUrfNIv+0gzw8F9l/QEWM+IXXnHUhhluZW/xf\n"
+ "PiQPtz3Tv5uMIxs24vMIZYeMzXJ+N1rY2JbYsEWhkfSsJA8LD08gw0azlPKx/wXy\n"
+ "aBlknDfeCcrpXhnJdpMxj/N7nLPTQuPe7/VmZjYc8VkopjKMrZS+3KcEoXbr5Zjr\n"
+ "zm2mY/IHu6AZgtsWMhakONbH6I9rsZt5VlTPO72VmkjYtHhFfvjs2fPH1Gdu52y7\n"
+ "P4gcTXWeMficO8uzeHv17J0+qBBYxRe5Fkri1i1JRjJcBqVaK3JPUzQ=\n"
+ "-----END CERTIFICATE-----\n"
+};
/* the key purpose in the anchor certificate is not the expected one */
static const char *kp_fail2[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIzCCAgugAwIBAgIMVB/V7wN6fXUuqVU3MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA5MjIwNzU1MjdaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDlUn8aFZ8w0fXI0ewO8+UQ0KKw1hUbH9A7DLJKj/bEyFepKh7JKnBTugs8\n"
- "LEE0BKxMjC2smx5sbIKPGRljva6qST6j52HjWQfVMjL4u3M8eH9y+t/ltatMUZ6a\n"
- "GFpchgNNp66/PW5F2aar73H+KpIBT+Lz0mfpjY48LS+c/ZaLfufbbJ49eNPIZPgk\n"
- "nsrX+41YCC3axlUCXeBxdAkCaE3ff5G/pWBPKg+Mx7iS4bjvOAPgjX8cM/ZqLfP5\n"
- "5o+AQqocXw1/uouvpO7rsww+0PgVQnZxoVX2QK3i8l2kIoIBLNaSLTx617tlKZgL\n"
- "6KW+6B4BJePzNN5UsOgWMo4ZIq9pAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJBE\n"
- "Ci49lpyQRB7rCapUONuivibPMB8GA1UdIwQYMBaAFOjA+VXcj2Ujv5sKm7aczyNr\n"
- "bTvOMA0GCSqGSIb3DQEBCwUAA4IBAQAUnlwhZzSUkD4IZ3g4HgfGD0Tlf7ZMZbUw\n"
- "wtdM9sGzYS9n4r2Wn1pVHEzlzqyI1UCnZq2cqYcDfLUncIBYTOveGyrkzq791Mnx\n"
- "1HbmcsjQbEWr/ywCEX55ZWGiDrLkK85TRS+BYNVA4sZnAzvzKwwKOMOGfiKcj7rq\n"
- "XBWpUSbRua29uQOk+P1US10bxiD777OZtp+woJlAUPaB3U4XZsbCCbl/ln2BgpoP\n"
- "61Qn3BdnfSrl+BsjlpDBUItnyVICCRRH109XpHmvXC0SnceGnl0S0rZhFXMZ5uhK\n"
- "icfV5FLumEOPw+pmFIY9z1B/e/EQfbWuhycQT2J5R1RfrwMbRI8D\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTIyMDc1NTI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvp14uRd38IoFu\n"
- "CW+O/T5k4eLDbll8hZkoJkV6fm7oGQ0LcZRvhvQaHRxO50QzzNYoLMpDVw9cMMJr\n"
- "cyy0C7jehOOLX4JVTWPyoynOycHTmqs9BZmjx5H/cFZRxYg9MQFmIDVj7jjaLf6u\n"
- "vqDR02ab+tHesT9Zc/r/0THAqPoFio3rVXNyQpMQbsywxFRqhG0X0JkQ63xBKJQ/\n"
- "ZvlfNyLnM6D1cG2Kjq1hbjyTNdofGUHY+CGuuoEAqIRnKR80rpUw5cdxy2bAjBgN\n"
- "ubCD7QQlxMUmARjwAgM6lhWB+EXhbcMqZ+dmL0elmST8E8Y5sY/UkEorzigIHjr2\n"
- "Tyl0/LSzAgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU6MD5VdyPZSO/mwqbtpzP\n"
- "I2ttO84wHwYDVR0jBBgwFoAUEjFgu7hCgPDa1wiPd0d1kW33LNIwDQYJKoZIhvcN\n"
- "AQELBQADggEBALB1rjTwAzC0ZFSTyGg6wYo0S/zo+RKFbezHQf+TVQ6mUjbAs6Zs\n"
- "KdTm5rvWXd669RqN9pVWZhlP4gBHAe/0koIjZQ92LOkqosEGsfWbzKfy0Ey3+MWs\n"
- "2d5Qwunzm7D/PnsrYCtZoNIIr0KiAMjyfW3cBB/n1vcaZDAnHnkoUWLUfsgoBFxq\n"
- "yGHJU966soKKl6yMAz8+pn8SDkXFjGXNCJSEcLFq2mwSVTJO2bLDKsnknAdkJr2A\n"
- "1n3vudMERHj4IjXo798Qj/qGozYECDgKLBzBN6+8HUA2r+qelNl04EI+neFaQ5bb\n"
- "nU6OfwULZEc+I9iucS+6I1hXmqqI/jcBIRM=\n"
- "-----END CERTIFICATE-----\n",
- NULL,
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTIyMDc1NTI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDW9zXIvd+4Qf7Q\n"
- "dzGbDAR+tc8rOac7FE+YJkWTx+fcIjtaiXaPRA5r7xCUawBAPaH4DvRqmqxwG+Js\n"
- "CD3YMERMh184XHkPWX/s8P14lwmzm/k65GF7PLTcGEwQN67PgRkvV9l9iXq2Krgk\n"
- "syfAd+7mTqkx63PPJgVqIa8Sk9Ljdp/GBlvAaFRpm8fvsKmRwDO+AjLTLw7Ou4kN\n"
- "XQwPejnoreUb19dK5naA5ODrliv7mPc082g9o8NGULMcidGndBry5D/hYSY2zvUJ\n"
- "lxy8M0LHQxdx1d3UIAY5i+sT5OUQBRvoXETZup7Ve6aoKfBc63PWiNAe7wuyGpWR\n"
- "4dLskuZjAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwEwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUEjFgu7hCgPDa1wiPd0d1\n"
- "kW33LNIwDQYJKoZIhvcNAQELBQADggEBAFePqEhyTZeZhm+1l10cre94O/0awOTk\n"
- "mDLhJJY2AI9zqAgnaWXg7YAf7nz3Z1Jez02fu7F8c9r7E010YE1W+2kECuM4uN6r\n"
- "9X7VnUW9VRXgiLFIi7mLFtqh+VnwR3xvnKYRFM12pXDFoWhyYfFWVUeNnXdKSN6E\n"
- "4sMPBoyuSB47yit4BUkEanbnGbZG74G7ldRg9HXJqmkOJl+1HALpAstBE/MCM7TF\n"
- "lXgkj8eCaQwOKcK6bl+BM7dExwmYbOY/ILsDHx3/AB/eT7K8kKwE+pAzmHPobX4A\n"
- "np3FeZ2muHFtNx32NuatbIk1VI2pbskc0iQLwBl06SLDR/5Hq848MDM=\n"
- "-----END CERTIFICATE-----\n"};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIzCCAgugAwIBAgIMVB/V7wN6fXUuqVU3MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA5MjIwNzU1MjdaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDlUn8aFZ8w0fXI0ewO8+UQ0KKw1hUbH9A7DLJKj/bEyFepKh7JKnBTugs8\n"
+ "LEE0BKxMjC2smx5sbIKPGRljva6qST6j52HjWQfVMjL4u3M8eH9y+t/ltatMUZ6a\n"
+ "GFpchgNNp66/PW5F2aar73H+KpIBT+Lz0mfpjY48LS+c/ZaLfufbbJ49eNPIZPgk\n"
+ "nsrX+41YCC3axlUCXeBxdAkCaE3ff5G/pWBPKg+Mx7iS4bjvOAPgjX8cM/ZqLfP5\n"
+ "5o+AQqocXw1/uouvpO7rsww+0PgVQnZxoVX2QK3i8l2kIoIBLNaSLTx617tlKZgL\n"
+ "6KW+6B4BJePzNN5UsOgWMo4ZIq9pAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJBE\n"
+ "Ci49lpyQRB7rCapUONuivibPMB8GA1UdIwQYMBaAFOjA+VXcj2Ujv5sKm7aczyNr\n"
+ "bTvOMA0GCSqGSIb3DQEBCwUAA4IBAQAUnlwhZzSUkD4IZ3g4HgfGD0Tlf7ZMZbUw\n"
+ "wtdM9sGzYS9n4r2Wn1pVHEzlzqyI1UCnZq2cqYcDfLUncIBYTOveGyrkzq791Mnx\n"
+ "1HbmcsjQbEWr/ywCEX55ZWGiDrLkK85TRS+BYNVA4sZnAzvzKwwKOMOGfiKcj7rq\n"
+ "XBWpUSbRua29uQOk+P1US10bxiD777OZtp+woJlAUPaB3U4XZsbCCbl/ln2BgpoP\n"
+ "61Qn3BdnfSrl+BsjlpDBUItnyVICCRRH109XpHmvXC0SnceGnl0S0rZhFXMZ5uhK\n"
+ "icfV5FLumEOPw+pmFIY9z1B/e/EQfbWuhycQT2J5R1RfrwMbRI8D\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTIyMDc1NTI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvp14uRd38IoFu\n"
+ "CW+O/T5k4eLDbll8hZkoJkV6fm7oGQ0LcZRvhvQaHRxO50QzzNYoLMpDVw9cMMJr\n"
+ "cyy0C7jehOOLX4JVTWPyoynOycHTmqs9BZmjx5H/cFZRxYg9MQFmIDVj7jjaLf6u\n"
+ "vqDR02ab+tHesT9Zc/r/0THAqPoFio3rVXNyQpMQbsywxFRqhG0X0JkQ63xBKJQ/\n"
+ "ZvlfNyLnM6D1cG2Kjq1hbjyTNdofGUHY+CGuuoEAqIRnKR80rpUw5cdxy2bAjBgN\n"
+ "ubCD7QQlxMUmARjwAgM6lhWB+EXhbcMqZ+dmL0elmST8E8Y5sY/UkEorzigIHjr2\n"
+ "Tyl0/LSzAgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU6MD5VdyPZSO/mwqbtpzP\n"
+ "I2ttO84wHwYDVR0jBBgwFoAUEjFgu7hCgPDa1wiPd0d1kW33LNIwDQYJKoZIhvcN\n"
+ "AQELBQADggEBALB1rjTwAzC0ZFSTyGg6wYo0S/zo+RKFbezHQf+TVQ6mUjbAs6Zs\n"
+ "KdTm5rvWXd669RqN9pVWZhlP4gBHAe/0koIjZQ92LOkqosEGsfWbzKfy0Ey3+MWs\n"
+ "2d5Qwunzm7D/PnsrYCtZoNIIr0KiAMjyfW3cBB/n1vcaZDAnHnkoUWLUfsgoBFxq\n"
+ "yGHJU966soKKl6yMAz8+pn8SDkXFjGXNCJSEcLFq2mwSVTJO2bLDKsnknAdkJr2A\n"
+ "1n3vudMERHj4IjXo798Qj/qGozYECDgKLBzBN6+8HUA2r+qelNl04EI+neFaQ5bb\n"
+ "nU6OfwULZEc+I9iucS+6I1hXmqqI/jcBIRM=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTIyMDc1NTI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDW9zXIvd+4Qf7Q\n"
+ "dzGbDAR+tc8rOac7FE+YJkWTx+fcIjtaiXaPRA5r7xCUawBAPaH4DvRqmqxwG+Js\n"
+ "CD3YMERMh184XHkPWX/s8P14lwmzm/k65GF7PLTcGEwQN67PgRkvV9l9iXq2Krgk\n"
+ "syfAd+7mTqkx63PPJgVqIa8Sk9Ljdp/GBlvAaFRpm8fvsKmRwDO+AjLTLw7Ou4kN\n"
+ "XQwPejnoreUb19dK5naA5ODrliv7mPc082g9o8NGULMcidGndBry5D/hYSY2zvUJ\n"
+ "lxy8M0LHQxdx1d3UIAY5i+sT5OUQBRvoXETZup7Ve6aoKfBc63PWiNAe7wuyGpWR\n"
+ "4dLskuZjAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwEwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUEjFgu7hCgPDa1wiPd0d1\n"
+ "kW33LNIwDQYJKoZIhvcNAQELBQADggEBAFePqEhyTZeZhm+1l10cre94O/0awOTk\n"
+ "mDLhJJY2AI9zqAgnaWXg7YAf7nz3Z1Jez02fu7F8c9r7E010YE1W+2kECuM4uN6r\n"
+ "9X7VnUW9VRXgiLFIi7mLFtqh+VnwR3xvnKYRFM12pXDFoWhyYfFWVUeNnXdKSN6E\n"
+ "4sMPBoyuSB47yit4BUkEanbnGbZG74G7ldRg9HXJqmkOJl+1HALpAstBE/MCM7TF\n"
+ "lXgkj8eCaQwOKcK6bl+BM7dExwmYbOY/ILsDHx3/AB/eT7K8kKwE+pAzmHPobX4A\n"
+ "np3FeZ2muHFtNx32NuatbIk1VI2pbskc0iQLwBl06SLDR/5Hq848MDM=\n"
+ "-----END CERTIFICATE-----\n"
+};
/* the key purposes in all certificates match */
static const char *kp_ok[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIzCCAgugAwIBAgIMVB/WCA0b8cgGIwgHMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA5MjIwNzU1NTJaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDACAXnEalw36OPk35Kv8Goj7xRaeaAz4W4w1vUZ6IJCiNIzIknvlnU5vi8\n"
- "MigzloHYXmhHRyfHGggoPZyGtDNiKIeZLRE81CVS9UzM4Uu5naKmU4zBMmmqEvvh\n"
- "/IHHDXd+Ky89WXcI4rTFjzGzvViQinN+1E7BViFplOBvGHB0qa/v2saqyoD9HRJL\n"
- "RKYbSGG85T1u8B7M7mdnBuQyk12r6lsxsNfScnkNH04jUtgL1i+Susd7zo1waqi+\n"
- "lXvvW5P8gB9cfa32cXsBNGReOZoVk7G60JjLDmB+fWetVn7o42wG0gZ6TsSTsrqn\n"
- "WLNMOxw3W8WLapR4vwU2BzjTZfRjAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFDL9\n"
- "2DAwMqU6DnAE8/MOefs0AFO8MB8GA1UdIwQYMBaAFO47x5DoYJnwbtfPj/PIxKmH\n"
- "JZQqMA0GCSqGSIb3DQEBCwUAA4IBAQBv3kR0R0VIu4mJ7oERxCPosJafnJPOGRMz\n"
- "7F4zk3j7kwaP6OGHRJwcvxNLRAr+YIXheFDEJTwkEtA5pbir9wIG0fb+FT/o4ggs\n"
- "4r2DqEZo9rZNatPMTKswbA3kmeKxRUe/AVsqeSz5Na5HNrHAGFZplUpyGMHT09f1\n"
- "rHfOTlsq8dorGtE14UyJc9CY1GhHZVNFSPgyaKxSTVBr4qsD1WVKPcARWjL9Qp7E\n"
- "0Gnh/O+eLdC4V7izmAfaS7kwyYiyJoWSvce4hMweEfWytOaBJMDg4pFDLabhfJpo\n"
- "IZXCSc3/qHmf03lU+ntppPOXdl5niZ0YnwRmf8uYJb13EAepaiyQ\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTIyMDc1NTUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCp39LwuWEO/TO7\n"
- "0X9G8P3+EoWL8TDyGmAGST3+qM9pSunLkIeYnY9RtiT8/W5Tt1G7GD7RaU1J+IoL\n"
- "UsEOpT/Apx2Pl3AcXLQlhrtSSZj+yBBWSvY2C+Affhr34sIEYXlE85DseSvotJb/\n"
- "ebHoOFPziji95gR+l9L7aQe7RKaebTfNGbSuTzn1e1YYmnJqtNmfLcrgALblCYBm\n"
- "XMlJRy5NCiWk1D/BNIGsp7Qqtx5yE/h+92bY7js7s/Vzmbhs3LmFYoKMvBOWqbrc\n"
- "OQCFZxLX4jaNg64OEVOX+OqbAy+bssoMWiXAZfBz3018Xnf88lrsYVL1ZH6QDQL7\n"
- "sEIZ/IBPAgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU7jvHkOhgmfBu18+P88jE\n"
- "qYcllCowHwYDVR0jBBgwFoAU1fwQDT/4ciYUpHQqev0LK+2shjswDQYJKoZIhvcN\n"
- "AQELBQADggEBABjGLC1H8oL/TjwBBbrFSwRtmbY1ElLO6lZvniWnfsOk7R/DdoBb\n"
- "rzNcdUOcXoH6RbuZ4XA2ROqLb9RAor/V+A4CWHLLfToHKTYFE4vH7iN99gk+OEy6\n"
- "G7CR2jYNHVikrX3eEUqdMby9+mY1K9GAz8+MojBUTPllc7Gzp0TsLzWXxvhSR84Z\n"
- "zVJAS7bE605pKeABTD3b4aSskn0yt4UYEgVfw2hOnXDaZMfQLgp46z2PBuKXo+Xq\n"
- "JpqbTJMuWA96J4A51RloNWBESzYhBCppeGIlGOhryqMDreVJ+MxZiuqgcbvm/7qc\n"
- "QTLpHAc7dU1/X8/QgqKZIVnpWbmGRNsnTuU=\n"
- "-----END CERTIFICATE-----\n",
- NULL,
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwOTIyMDc1NTUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCoyMH9n/NaDPOx\n"
- "+LFRDvrIPyCpc1cCfq/CLjdcUYll6IYCDn/p2XTSFFCzeLY37yyAX7VuHcbfAQWD\n"
- "0Ax8IL5EUBdQ0BVEkw5ck5pOsqbnLU991zAvUpN1C+u7ogB92atTaeDR9TUE4bMX\n"
- "EW+k6us9WQQe9A/w5rnOr9baR+lvndQW6Mun+7bhhX0KdezUosTd6xfW9tOXSOso\n"
- "jkk9wW+PKdRCmfmqENNLMAIkQ6RES5LTO9KFGlbaCfJjxPVmT7V53nRsY4j+v1rT\n"
- "nNMK6JshtbjQCaVM3nvXXQCJ0nRtUGUcS2JeRpc1C6h+TsHPDo7kNPKGYLDi5Zps\n"
- "9WOArkLVAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
- "BQUHAwkwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU1fwQDT/4ciYUpHQqev0L\n"
- "K+2shjswDQYJKoZIhvcNAQELBQADggEBABoD6Zl+A3DU4KTa4n+002J4ddl85O4+\n"
- "Qj1NOFfGZ8qP8S5SuzlUIUzRMvIacCSXOwcBFer4UtKe5x/O5i9F1G4eKt09vGGF\n"
- "+XZNjhBOOqqEVUEcwCMecdU5aDaFWx3g7ixrzOlA17Ida/j/QtJZVyhJJBm9wxfW\n"
- "peFcl/aR3/PPn3eULbTTMK+mUe96PwW2FrEA7ecNBxhCkcIvt42IWqkqTD/1Mg6B\n"
- "BukSgD3VAQumnglSuu+G+F+KJ0zFPdmu6IaudpQ92hM6NeK1vJiiP1Mv0ALsk04C\n"
- "Byazcl/VWffXsBIE8OI3k25rFXGn5IAVxzLNGpRFhWfKXbREXICC868=\n"
- "-----END CERTIFICATE-----\n"};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIzCCAgugAwIBAgIMVB/WCA0b8cgGIwgHMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA5MjIwNzU1NTJaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDACAXnEalw36OPk35Kv8Goj7xRaeaAz4W4w1vUZ6IJCiNIzIknvlnU5vi8\n"
+ "MigzloHYXmhHRyfHGggoPZyGtDNiKIeZLRE81CVS9UzM4Uu5naKmU4zBMmmqEvvh\n"
+ "/IHHDXd+Ky89WXcI4rTFjzGzvViQinN+1E7BViFplOBvGHB0qa/v2saqyoD9HRJL\n"
+ "RKYbSGG85T1u8B7M7mdnBuQyk12r6lsxsNfScnkNH04jUtgL1i+Susd7zo1waqi+\n"
+ "lXvvW5P8gB9cfa32cXsBNGReOZoVk7G60JjLDmB+fWetVn7o42wG0gZ6TsSTsrqn\n"
+ "WLNMOxw3W8WLapR4vwU2BzjTZfRjAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFDL9\n"
+ "2DAwMqU6DnAE8/MOefs0AFO8MB8GA1UdIwQYMBaAFO47x5DoYJnwbtfPj/PIxKmH\n"
+ "JZQqMA0GCSqGSIb3DQEBCwUAA4IBAQBv3kR0R0VIu4mJ7oERxCPosJafnJPOGRMz\n"
+ "7F4zk3j7kwaP6OGHRJwcvxNLRAr+YIXheFDEJTwkEtA5pbir9wIG0fb+FT/o4ggs\n"
+ "4r2DqEZo9rZNatPMTKswbA3kmeKxRUe/AVsqeSz5Na5HNrHAGFZplUpyGMHT09f1\n"
+ "rHfOTlsq8dorGtE14UyJc9CY1GhHZVNFSPgyaKxSTVBr4qsD1WVKPcARWjL9Qp7E\n"
+ "0Gnh/O+eLdC4V7izmAfaS7kwyYiyJoWSvce4hMweEfWytOaBJMDg4pFDLabhfJpo\n"
+ "IZXCSc3/qHmf03lU+ntppPOXdl5niZ0YnwRmf8uYJb13EAepaiyQ\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFjCCAf6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTIyMDc1NTUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCp39LwuWEO/TO7\n"
+ "0X9G8P3+EoWL8TDyGmAGST3+qM9pSunLkIeYnY9RtiT8/W5Tt1G7GD7RaU1J+IoL\n"
+ "UsEOpT/Apx2Pl3AcXLQlhrtSSZj+yBBWSvY2C+Affhr34sIEYXlE85DseSvotJb/\n"
+ "ebHoOFPziji95gR+l9L7aQe7RKaebTfNGbSuTzn1e1YYmnJqtNmfLcrgALblCYBm\n"
+ "XMlJRy5NCiWk1D/BNIGsp7Qqtx5yE/h+92bY7js7s/Vzmbhs3LmFYoKMvBOWqbrc\n"
+ "OQCFZxLX4jaNg64OEVOX+OqbAy+bssoMWiXAZfBz3018Xnf88lrsYVL1ZH6QDQL7\n"
+ "sEIZ/IBPAgMBAAGjeTB3MA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU7jvHkOhgmfBu18+P88jE\n"
+ "qYcllCowHwYDVR0jBBgwFoAU1fwQDT/4ciYUpHQqev0LK+2shjswDQYJKoZIhvcN\n"
+ "AQELBQADggEBABjGLC1H8oL/TjwBBbrFSwRtmbY1ElLO6lZvniWnfsOk7R/DdoBb\n"
+ "rzNcdUOcXoH6RbuZ4XA2ROqLb9RAor/V+A4CWHLLfToHKTYFE4vH7iN99gk+OEy6\n"
+ "G7CR2jYNHVikrX3eEUqdMby9+mY1K9GAz8+MojBUTPllc7Gzp0TsLzWXxvhSR84Z\n"
+ "zVJAS7bE605pKeABTD3b4aSskn0yt4UYEgVfw2hOnXDaZMfQLgp46z2PBuKXo+Xq\n"
+ "JpqbTJMuWA96J4A51RloNWBESzYhBCppeGIlGOhryqMDreVJ+MxZiuqgcbvm/7qc\n"
+ "QTLpHAc7dU1/X8/QgqKZIVnpWbmGRNsnTuU=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC9TCCAd2gAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwOTIyMDc1NTUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCoyMH9n/NaDPOx\n"
+ "+LFRDvrIPyCpc1cCfq/CLjdcUYll6IYCDn/p2XTSFFCzeLY37yyAX7VuHcbfAQWD\n"
+ "0Ax8IL5EUBdQ0BVEkw5ck5pOsqbnLU991zAvUpN1C+u7ogB92atTaeDR9TUE4bMX\n"
+ "EW+k6us9WQQe9A/w5rnOr9baR+lvndQW6Mun+7bhhX0KdezUosTd6xfW9tOXSOso\n"
+ "jkk9wW+PKdRCmfmqENNLMAIkQ6RES5LTO9KFGlbaCfJjxPVmT7V53nRsY4j+v1rT\n"
+ "nNMK6JshtbjQCaVM3nvXXQCJ0nRtUGUcS2JeRpc1C6h+TsHPDo7kNPKGYLDi5Zps\n"
+ "9WOArkLVAgMBAAGjWDBWMA8GA1UdEwEB/wQFMAMBAf8wEwYDVR0lBAwwCgYIKwYB\n"
+ "BQUHAwkwDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQU1fwQDT/4ciYUpHQqev0L\n"
+ "K+2shjswDQYJKoZIhvcNAQELBQADggEBABoD6Zl+A3DU4KTa4n+002J4ddl85O4+\n"
+ "Qj1NOFfGZ8qP8S5SuzlUIUzRMvIacCSXOwcBFer4UtKe5x/O5i9F1G4eKt09vGGF\n"
+ "+XZNjhBOOqqEVUEcwCMecdU5aDaFWx3g7ixrzOlA17Ida/j/QtJZVyhJJBm9wxfW\n"
+ "peFcl/aR3/PPn3eULbTTMK+mUe96PwW2FrEA7ecNBxhCkcIvt42IWqkqTD/1Mg6B\n"
+ "BukSgD3VAQumnglSuu+G+F+KJ0zFPdmu6IaudpQ92hM6NeK1vJiiP1Mv0ALsk04C\n"
+ "Byazcl/VWffXsBIE8OI3k25rFXGn5IAVxzLNGpRFhWfKXbREXICC868=\n"
+ "-----END CERTIFICATE-----\n"
+};
/* This is the same chain as modified1 but with no modification */
static const char *modified2[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFXjCCBEagAwIBAgIQHYWDpKNVUzEFx4Pq8yjxbTANBgkqhkiG9w0BAQUFADCB\n"
- "tTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMm\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwHhcNMTQwMjI3\n"
- "MDAwMDAwWhcNMTUwMjI4MjM1OTU5WjBnMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\n"
- "V2FzaGluZ3RvbjEQMA4GA1UEBxQHU2VhdHRsZTEYMBYGA1UEChQPQW1hem9uLmNv\n"
- "bSBJbmMuMRcwFQYDVQQDFA53d3cuYW1hem9uLmNvbTCCASIwDQYJKoZIhvcNAQEB\n"
- "BQADggEPADCCAQoCggEBAJdfieOPrf4Arf1Iled/ii97407ZnjpaB5xxm49Q4Pz3\n"
- "+5xmD0LYre7Cjn1A7W3ZlHki5zFVZpW9Jb/3PfSEDY5slyjkLD2jdl2gVefSthSZ\n"
- "tYxb5eYv79tIEN0U9AZ8/VaGwUokl8n1MitcECxNLMe4LqoVmS29nXITTTzX5t3I\n"
- "4dUeMBDNI+xgVpJSpxwzA+/L+wxoj5Sb4YJ/Y+iUknCkjX6PpaZMRWBEE0dqvG02\n"
- "qlxXesAV0nmKYvjbtqAyoW6vgjP85h6gJEESIqTTZy1HOgFpO8XT05CpGDcjhP1s\n"
- "TvXF7Vx1aj+xDidGLLW188G35oFKIhEyHQV2V7vzRAUCAwEAAaOCAbUwggGxMFAG\n"
- "A1UdEQRJMEeCEXVlZGF0YS5hbWF6b24uY29tggphbWF6b24uY29tgghhbXpuLmNv\n"
- "bYIMd3d3LmFtem4uY29tgg53d3cuYW1hem9uLmNvbTAJBgNVHRMEAjAAMA4GA1Ud\n"
- "DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYDVR0g\n"
- "BDwwOjA4BgpghkgBhvhFAQc2MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl\n"
- "cmlzaWduLmNvbS9jcHMwHwYDVR0jBBgwFoAUDURcFlNEwYJ+HSCrJfQBY9i+eaUw\n"
- "RQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL1NWUlNlY3VyZS1HMy1jcmwudmVyaXNp\n"
- "Z24uY29tL1NWUlNlY3VyZUczLmNybDB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUH\n"
- "MAGGGGh0dHA6Ly9vY3NwLnZlcmlzaWduLmNvbTBABggrBgEFBQcwAoY0aHR0cDov\n"
- "L1NWUlNlY3VyZS1HMy1haWEudmVyaXNpZ24uY29tL1NWUlNlY3VyZUczLmNlcjAN\n"
- "BgkqhkiG9w0BAQUFAAOCAQEAOeZfjkI0yR/nutCMHp5/uB/evkB8qIYxh1KKbhPB\n"
- "TmpykmJxiLKrBBcBBu9kW5lMbNPSNclE4sCyN0dxCJHwPm7ubNUxsmDSTPTJOx0M\n"
- "zl0WZVaZ7eX3nw1kj8jSoK0f5n87RzKK85MwBFsEn73Z2pDvxTcd72BE0T1UJLcU\n"
- "2A5uHAJyvm2QpOWBIRKlJHIHCcu5xjj5yLnGO9id0cjOjEgj9f1Mo4hzawL5vQfk\n"
- "o/xFxAsA70bk2trv54kgLvhmAW+B6OpN3Z/xB4mWNOw3G8bg/u+pCLvd8KRO5V8K\n"
- "TlgO1NTaOgYC6OAF3USNMhuNZh6h5tWA3mA8rFr8ZsayhA==\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjCBtTEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMmVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwggEiMA0GCSqGSIb3\n"
- "DQEBAQUAA4IBDwAwggEKAoIBAQCxh4QfwgxF9byrJZenraI+nLr2wTm4i8rCrFbG\n"
- "5btljkRPTc5v7QlK1K9OEJxoiy6Ve4mbE8riNDTB81vzSXtig0iBdNGIeGwCU/m8\n"
- "f0MmV1gzgzszChew0E6RJK2GfWQS3HRKNKEdCuqWHQsV/KNLO85jiND4LQyUhhDK\n"
- "tpo9yus3nABINYYpUHjoRWPNGUFP9ZXse5jUxHGzUL4os4+guVOc9cosI6n9FAbo\n"
- "GLSa6Dxugf3kzTU2s1HTaewSulZub5tXxYsU5w7HnO1KVGrJTcW/EbGuHGeBy0RV\n"
- "M5l/JJs/U0V/hhrzPPptf4H1uErT9YU3HLWm0AnkGHs4TvoPAgMBAAGjggHfMIIB\n"
- "2zA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlz\n"
- "aWduLmNvbTASBgNVHRMBAf8ECDAGAQH/AgEAMHAGA1UdIARpMGcwZQYLYIZIAYb4\n"
- "RQEHFwMwVjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2Nw\n"
- "czAqBggrBgEFBQcCAjAeGhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQG\n"
- "A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzUu\n"
- "Y3JsMA4GA1UdDwEB/wQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglp\n"
- "bWFnZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNo\n"
- "dHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjAoBgNVHREEITAfpB0w\n"
- "GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItNjAdBgNVHQ4EFgQUDURcFlNEwYJ+\n"
- "HSCrJfQBY9i+eaUwHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJ\n"
- "KoZIhvcNAQEFBQADggEBAAyDJO/dwwzZWJz+NrbrioBL0aP3nfPMU++CnqOh5pfB\n"
- "WJ11bOAdG0z60cEtBcDqbrIicFXZIDNAMwfCZYP6j0M3m+oOmmxw7vacgDvZN/R6\n"
- "bezQGH1JSsqZxxkoor7YdyT3hSaGbYcFQEFn0Sc67dxIHSLNCwuLvPSxe/20majp\n"
- "dirhGi2HbnTTiN0eIsbfFrYrghQKlFzyUOyvzv9iNw2tZdMGQVPtAhTItVgooazg\n"
- "W+yzf5VK+wPIrSbb5mZ4EkrZn0L74ZjmQoObj49nJOhhGbXdzbULJgWOw27EyHW4\n"
- "Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y=\n"
- "-----END CERTIFICATE-----\n",
- NULL,
- "-----BEGIN CERTIFICATE-----\n"
- "MIIExjCCBC+gAwIBAgIQNZcxh/OHOgcyfs5YDJt+2jANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggGRMIIBjTAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9\n"
- "BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy\n"
- "aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwNAYD\n"
- "VR0lBC0wKwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBBggrBgEFBQcDAQYIKwYBBQUH\n"
- "AwIwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUr\n"
- "DgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNp\n"
- "Z24uY29tL3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhho\n"
- "dHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEADyWuSO0b\n"
- "M4VMDLXC1/5N1oMoTEFlYAALd0hxgv5/21oOIMzS6ke8ZEJhRDR0MIGBJopK90Rd\n"
- "fjSAqLiD4gnXbSPdie0oCL1jWhFXCMSe2uJoKK/dUDzsgiHYAMJVRFBwQa2DF3m6\n"
- "CPMr3u00HUSe0gST9MsFFy0JLS1j7/YmC3s=\n"
- "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFXjCCBEagAwIBAgIQHYWDpKNVUzEFx4Pq8yjxbTANBgkqhkiG9w0BAQUFADCB\n"
+ "tTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMm\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwHhcNMTQwMjI3\n"
+ "MDAwMDAwWhcNMTUwMjI4MjM1OTU5WjBnMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\n"
+ "V2FzaGluZ3RvbjEQMA4GA1UEBxQHU2VhdHRsZTEYMBYGA1UEChQPQW1hem9uLmNv\n"
+ "bSBJbmMuMRcwFQYDVQQDFA53d3cuYW1hem9uLmNvbTCCASIwDQYJKoZIhvcNAQEB\n"
+ "BQADggEPADCCAQoCggEBAJdfieOPrf4Arf1Iled/ii97407ZnjpaB5xxm49Q4Pz3\n"
+ "+5xmD0LYre7Cjn1A7W3ZlHki5zFVZpW9Jb/3PfSEDY5slyjkLD2jdl2gVefSthSZ\n"
+ "tYxb5eYv79tIEN0U9AZ8/VaGwUokl8n1MitcECxNLMe4LqoVmS29nXITTTzX5t3I\n"
+ "4dUeMBDNI+xgVpJSpxwzA+/L+wxoj5Sb4YJ/Y+iUknCkjX6PpaZMRWBEE0dqvG02\n"
+ "qlxXesAV0nmKYvjbtqAyoW6vgjP85h6gJEESIqTTZy1HOgFpO8XT05CpGDcjhP1s\n"
+ "TvXF7Vx1aj+xDidGLLW188G35oFKIhEyHQV2V7vzRAUCAwEAAaOCAbUwggGxMFAG\n"
+ "A1UdEQRJMEeCEXVlZGF0YS5hbWF6b24uY29tggphbWF6b24uY29tgghhbXpuLmNv\n"
+ "bYIMd3d3LmFtem4uY29tgg53d3cuYW1hem9uLmNvbTAJBgNVHRMEAjAAMA4GA1Ud\n"
+ "DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYDVR0g\n"
+ "BDwwOjA4BgpghkgBhvhFAQc2MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl\n"
+ "cmlzaWduLmNvbS9jcHMwHwYDVR0jBBgwFoAUDURcFlNEwYJ+HSCrJfQBY9i+eaUw\n"
+ "RQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL1NWUlNlY3VyZS1HMy1jcmwudmVyaXNp\n"
+ "Z24uY29tL1NWUlNlY3VyZUczLmNybDB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUH\n"
+ "MAGGGGh0dHA6Ly9vY3NwLnZlcmlzaWduLmNvbTBABggrBgEFBQcwAoY0aHR0cDov\n"
+ "L1NWUlNlY3VyZS1HMy1haWEudmVyaXNpZ24uY29tL1NWUlNlY3VyZUczLmNlcjAN\n"
+ "BgkqhkiG9w0BAQUFAAOCAQEAOeZfjkI0yR/nutCMHp5/uB/evkB8qIYxh1KKbhPB\n"
+ "TmpykmJxiLKrBBcBBu9kW5lMbNPSNclE4sCyN0dxCJHwPm7ubNUxsmDSTPTJOx0M\n"
+ "zl0WZVaZ7eX3nw1kj8jSoK0f5n87RzKK85MwBFsEn73Z2pDvxTcd72BE0T1UJLcU\n"
+ "2A5uHAJyvm2QpOWBIRKlJHIHCcu5xjj5yLnGO9id0cjOjEgj9f1Mo4hzawL5vQfk\n"
+ "o/xFxAsA70bk2trv54kgLvhmAW+B6OpN3Z/xB4mWNOw3G8bg/u+pCLvd8KRO5V8K\n"
+ "TlgO1NTaOgYC6OAF3USNMhuNZh6h5tWA3mA8rFr8ZsayhA==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjCBtTEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMmVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwggEiMA0GCSqGSIb3\n"
+ "DQEBAQUAA4IBDwAwggEKAoIBAQCxh4QfwgxF9byrJZenraI+nLr2wTm4i8rCrFbG\n"
+ "5btljkRPTc5v7QlK1K9OEJxoiy6Ve4mbE8riNDTB81vzSXtig0iBdNGIeGwCU/m8\n"
+ "f0MmV1gzgzszChew0E6RJK2GfWQS3HRKNKEdCuqWHQsV/KNLO85jiND4LQyUhhDK\n"
+ "tpo9yus3nABINYYpUHjoRWPNGUFP9ZXse5jUxHGzUL4os4+guVOc9cosI6n9FAbo\n"
+ "GLSa6Dxugf3kzTU2s1HTaewSulZub5tXxYsU5w7HnO1KVGrJTcW/EbGuHGeBy0RV\n"
+ "M5l/JJs/U0V/hhrzPPptf4H1uErT9YU3HLWm0AnkGHs4TvoPAgMBAAGjggHfMIIB\n"
+ "2zA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlz\n"
+ "aWduLmNvbTASBgNVHRMBAf8ECDAGAQH/AgEAMHAGA1UdIARpMGcwZQYLYIZIAYb4\n"
+ "RQEHFwMwVjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2Nw\n"
+ "czAqBggrBgEFBQcCAjAeGhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQG\n"
+ "A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzUu\n"
+ "Y3JsMA4GA1UdDwEB/wQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglp\n"
+ "bWFnZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNo\n"
+ "dHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjAoBgNVHREEITAfpB0w\n"
+ "GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItNjAdBgNVHQ4EFgQUDURcFlNEwYJ+\n"
+ "HSCrJfQBY9i+eaUwHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJ\n"
+ "KoZIhvcNAQEFBQADggEBAAyDJO/dwwzZWJz+NrbrioBL0aP3nfPMU++CnqOh5pfB\n"
+ "WJ11bOAdG0z60cEtBcDqbrIicFXZIDNAMwfCZYP6j0M3m+oOmmxw7vacgDvZN/R6\n"
+ "bezQGH1JSsqZxxkoor7YdyT3hSaGbYcFQEFn0Sc67dxIHSLNCwuLvPSxe/20majp\n"
+ "dirhGi2HbnTTiN0eIsbfFrYrghQKlFzyUOyvzv9iNw2tZdMGQVPtAhTItVgooazg\n"
+ "W+yzf5VK+wPIrSbb5mZ4EkrZn0L74ZjmQoObj49nJOhhGbXdzbULJgWOw27EyHW4\n"
+ "Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL,
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIExjCCBC+gAwIBAgIQNZcxh/OHOgcyfs5YDJt+2jANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggGRMIIBjTAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9\n"
+ "BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy\n"
+ "aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwNAYD\n"
+ "VR0lBC0wKwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBBggrBgEFBQcDAQYIKwYBBQUH\n"
+ "AwIwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUr\n"
+ "DgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNp\n"
+ "Z24uY29tL3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhho\n"
+ "dHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEADyWuSO0b\n"
+ "M4VMDLXC1/5N1oMoTEFlYAALd0hxgv5/21oOIMzS6ke8ZEJhRDR0MIGBJopK90Rd\n"
+ "fjSAqLiD4gnXbSPdie0oCL1jWhFXCMSe2uJoKK/dUDzsgiHYAMJVRFBwQa2DF3m6\n"
+ "CPMr3u00HUSe0gST9MsFFy0JLS1j7/YmC3s=\n"
+ "-----END CERTIFICATE-----\n"
};
/* Empty intersection of 2 permitted DNS names,
* non-intuitive constraints order (more specific higher) */
static const char *nc_bad0[] = {
- /* Alternative DNSname: two.example.org */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEJzCCAo+gAwIBAgIMV4T0BxqceieCt/KBMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTIwIBcNMTYwNzEyMTM0MzM1WhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
- "ETAPBgNVBAMTCHNlcnZlci0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
- "AYEAm1IOBuzu9Pya9O3FKhQKus22xPlm+fVex8EV+p3IymnZGZUlDeTX5OcxCOm4\n"
- "G87KNl/UQjgCB6n2FPiIYFbH9skxyvW8ZlG+M4so5yg7mwRjB8QPe0yEOLyxaLaa\n"
- "uNp9icjtPJgPpIrEgppevfiP4iXrRGakzpjayazVCDTp9+XAhdWEi43mN6fgpM8V\n"
- "Yc5sstkEueCjIfhApBzReMTvEUs3jCtmpqIvm07zVLpCh3sWh5MPSZtcw6UiKZdb\n"
- "rRoaypznSkQDGQXCTZ92gSnkg0m86OIOHNQcxLXqfbrNJ7QZBf1wpi04s4DHNHSC\n"
- "k9TpKe/dbDO4vgMgBNrcZ/9B7y95Pe+XJawG3klGhz2zGG7DmvWNygtUcM9nqk/P\n"
- "f7TQhwsU4McmyxvVb09OVwk/2zEaPswv6MFvoxOskcQ5aYhJZs6wLDG3hh8yE4fr\n"
- "BBvJb53flMnuSIWLfzeGUg4eeS8xP7ORApwLM0K0VGLaT4V9lpmWFLot0hv7XAcH\n"
- "jeTVAgMBAAGjfTB7MAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdHdvLmV4YW1w\n"
- "bGUub3JnMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFERr13TeLMJ3q5QS2W4O\n"
- "HiqwpM0RMB8GA1UdIwQYMBaAFDTfJRBdiC6+QinO/HA/E7TWxeHrMA0GCSqGSIb3\n"
- "DQEBCwUAA4IBgQAiOgI7RgzjDBHgliXb2Q9iuCq/o/08Fz2he8AzTJ0fw+Xd+g40\n"
- "HWnhZZxlnSq/XFircrHwLuMyG2B6HJ9gXWg7SI/5PG9fVz0USC0tcxKzA87iB2sx\n"
- "KWzdfmzBM32ioTFEisH9YQqCVXc3Umol15r3dAZsKGRKQzYjVG8APJS4LYZTX918\n"
- "Yg06jCmp+ZhyRHVhQ1NbrX9geOK8tuZoTQ/10iI1+eIF50a43qA0H8YDuyQbrZA3\n"
- "ECdVIQVCUQTVlTx+JMl7DoZnm+m+BrisAAuq/4TeJwm2Es3IF4SPB/pwaZyx8YnK\n"
- "xqne/auI6Rq7nfsi3owxBjjX1YamlmM6UWdvIsejsy92im2G0+J5s55yw+fCGXE5\n"
- "5mItHVWOiviaPa95NU3NeD8RkUUFI568GM8GnIcSfJi1yxed8UApbCiZMbIIN8fl\n"
- "5mMgyZv2QJXbJxhIiCQixn8nYsj2iaJu9Ns6zd5cFaQSmQxIEUfCiNZ9kO0xwpor\n"
- "tHWgZdawxv2CfGg=\n"
- "-----END CERTIFICATE-----\n",
- /* Name Constraints (critical):
+ /* Alternative DNSname: two.example.org */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEJzCCAo+gAwIBAgIMV4T0BxqceieCt/KBMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTIwIBcNMTYwNzEyMTM0MzM1WhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
+ "ETAPBgNVBAMTCHNlcnZlci0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
+ "AYEAm1IOBuzu9Pya9O3FKhQKus22xPlm+fVex8EV+p3IymnZGZUlDeTX5OcxCOm4\n"
+ "G87KNl/UQjgCB6n2FPiIYFbH9skxyvW8ZlG+M4so5yg7mwRjB8QPe0yEOLyxaLaa\n"
+ "uNp9icjtPJgPpIrEgppevfiP4iXrRGakzpjayazVCDTp9+XAhdWEi43mN6fgpM8V\n"
+ "Yc5sstkEueCjIfhApBzReMTvEUs3jCtmpqIvm07zVLpCh3sWh5MPSZtcw6UiKZdb\n"
+ "rRoaypznSkQDGQXCTZ92gSnkg0m86OIOHNQcxLXqfbrNJ7QZBf1wpi04s4DHNHSC\n"
+ "k9TpKe/dbDO4vgMgBNrcZ/9B7y95Pe+XJawG3klGhz2zGG7DmvWNygtUcM9nqk/P\n"
+ "f7TQhwsU4McmyxvVb09OVwk/2zEaPswv6MFvoxOskcQ5aYhJZs6wLDG3hh8yE4fr\n"
+ "BBvJb53flMnuSIWLfzeGUg4eeS8xP7ORApwLM0K0VGLaT4V9lpmWFLot0hv7XAcH\n"
+ "jeTVAgMBAAGjfTB7MAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdHdvLmV4YW1w\n"
+ "bGUub3JnMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFERr13TeLMJ3q5QS2W4O\n"
+ "HiqwpM0RMB8GA1UdIwQYMBaAFDTfJRBdiC6+QinO/HA/E7TWxeHrMA0GCSqGSIb3\n"
+ "DQEBCwUAA4IBgQAiOgI7RgzjDBHgliXb2Q9iuCq/o/08Fz2he8AzTJ0fw+Xd+g40\n"
+ "HWnhZZxlnSq/XFircrHwLuMyG2B6HJ9gXWg7SI/5PG9fVz0USC0tcxKzA87iB2sx\n"
+ "KWzdfmzBM32ioTFEisH9YQqCVXc3Umol15r3dAZsKGRKQzYjVG8APJS4LYZTX918\n"
+ "Yg06jCmp+ZhyRHVhQ1NbrX9geOK8tuZoTQ/10iI1+eIF50a43qA0H8YDuyQbrZA3\n"
+ "ECdVIQVCUQTVlTx+JMl7DoZnm+m+BrisAAuq/4TeJwm2Es3IF4SPB/pwaZyx8YnK\n"
+ "xqne/auI6Rq7nfsi3owxBjjX1YamlmM6UWdvIsejsy92im2G0+J5s55yw+fCGXE5\n"
+ "5mItHVWOiviaPa95NU3NeD8RkUUFI568GM8GnIcSfJi1yxed8UApbCiZMbIIN8fl\n"
+ "5mMgyZv2QJXbJxhIiCQixn8nYsj2iaJu9Ns6zd5cFaQSmQxIEUfCiNZ9kO0xwpor\n"
+ "tHWgZdawxv2CfGg=\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: example.org */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEIDCCAoigAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCAXDTE2MDcxMjEzNDMzNVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAtpx8p5POIgdnDbBr\n"
- "fH1kByvm2PP+iN4UJhJYY1V7EMiucC/CU5HoYhi/KpBwoY+28oaISEMr0KEf/3rv\n"
- "CTZRBxuqxCboK6+u/dDOlyYeM0dU57jpKmgCrETLMq92QaIEhNzv88cTaWP0OGzv\n"
- "2klLqim5AJC2J/XWqHGprfdhf9GCWurMT+km7LPIClDHfwnmrPHuNhelfPCVzKpO\n"
- "9S9+Lq5KpaV45DRQtMve5NjUju1q9LotEeEdlu5bnomIK3SyfS+n5AZnLNVAqmMg\n"
- "kSB1ymtWqn4wiw3hCBz8biSlkeowdh37cm3j0za27R3IjFnIQLD44Ena3pTU8v+P\n"
- "4/k1OML8UWXpigP5QuTSASx0fXiShHf3baY1HnEqULfYvi+IUb6wMs/3f13NVVBE\n"
- "z+LsjiWlwqB0fK5lefO32cEDvtSMlIxgt3FUDCo3/rLAh4ZorURONh4MUWiODTSl\n"
- "417JOLB/miH37jodViv6zfbtTvw/+GbZM9TnvHlzqvZj5nLFAgMBAAGjgYQwgYEw\n"
- "DwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzARoA8wDYILZXhhbXBsZS5vcmcw\n"
- "DwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUNN8lEF2ILr5CKc78cD8TtNbF4esw\n"
- "HwYDVR0jBBgwFoAU4SfGxDtCWqGQsk7xBIooEZNCoMYwDQYJKoZIhvcNAQELBQAD\n"
- "ggGBABJZw4MHkE+8Fg+r/ET/kJ0n0NtsB57O3ogPpe/0/EWpsEJsjnRzimfu5NjS\n"
- "PIcEKk/l2Ij8vbmDxb1uNsZmeYphdjb+w/D44OnxahxeLELwZPHWpJLvuf5S8bsz\n"
- "Z0bZFNkDUXYbKDX8kWr1gNCKURBS344fRfe8HzZsG68stouvCuOh5pvre7mGGMJI\n"
- "5/OMISmQiKIGLpUi1YOSRM25VMZ6GnzgYiN/bcZU1ph+R0lQv7/RRZ7oiaYmFBTi\n"
- "FfWIE2hsJla3mbhCnUUp18MpRu4+gPirCVhNQ+ii9FPklcIhXxOrq6cqfX/YAcWO\n"
- "uF70tZK/+Z7UXqGYJeQ8pdmlzjNGSH7Q6D+QKNAjZ+Ovb7zEh3NmyTT2XEykMR6+\n"
- "bQYaGGcRu8Uvz4wHDaqeUuF/vgTiFaJ8kwNGX8Xb1x+ok5QrJAKZzvy59kojz8L0\n"
- "ukQ6SqsvZ6SkJRbHHEh39YPNdC66O58KTiayjKgxQmVHsMOhraI1+YmPntCNBqNN\n"
- "AvhLDg==\n"
- "-----END CERTIFICATE-----\n",
- /* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEIDCCAoigAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCAXDTE2MDcxMjEzNDMzNVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAtpx8p5POIgdnDbBr\n"
+ "fH1kByvm2PP+iN4UJhJYY1V7EMiucC/CU5HoYhi/KpBwoY+28oaISEMr0KEf/3rv\n"
+ "CTZRBxuqxCboK6+u/dDOlyYeM0dU57jpKmgCrETLMq92QaIEhNzv88cTaWP0OGzv\n"
+ "2klLqim5AJC2J/XWqHGprfdhf9GCWurMT+km7LPIClDHfwnmrPHuNhelfPCVzKpO\n"
+ "9S9+Lq5KpaV45DRQtMve5NjUju1q9LotEeEdlu5bnomIK3SyfS+n5AZnLNVAqmMg\n"
+ "kSB1ymtWqn4wiw3hCBz8biSlkeowdh37cm3j0za27R3IjFnIQLD44Ena3pTU8v+P\n"
+ "4/k1OML8UWXpigP5QuTSASx0fXiShHf3baY1HnEqULfYvi+IUb6wMs/3f13NVVBE\n"
+ "z+LsjiWlwqB0fK5lefO32cEDvtSMlIxgt3FUDCo3/rLAh4ZorURONh4MUWiODTSl\n"
+ "417JOLB/miH37jodViv6zfbtTvw/+GbZM9TnvHlzqvZj5nLFAgMBAAGjgYQwgYEw\n"
+ "DwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzARoA8wDYILZXhhbXBsZS5vcmcw\n"
+ "DwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUNN8lEF2ILr5CKc78cD8TtNbF4esw\n"
+ "HwYDVR0jBBgwFoAU4SfGxDtCWqGQsk7xBIooEZNCoMYwDQYJKoZIhvcNAQELBQAD\n"
+ "ggGBABJZw4MHkE+8Fg+r/ET/kJ0n0NtsB57O3ogPpe/0/EWpsEJsjnRzimfu5NjS\n"
+ "PIcEKk/l2Ij8vbmDxb1uNsZmeYphdjb+w/D44OnxahxeLELwZPHWpJLvuf5S8bsz\n"
+ "Z0bZFNkDUXYbKDX8kWr1gNCKURBS344fRfe8HzZsG68stouvCuOh5pvre7mGGMJI\n"
+ "5/OMISmQiKIGLpUi1YOSRM25VMZ6GnzgYiN/bcZU1ph+R0lQv7/RRZ7oiaYmFBTi\n"
+ "FfWIE2hsJla3mbhCnUUp18MpRu4+gPirCVhNQ+ii9FPklcIhXxOrq6cqfX/YAcWO\n"
+ "uF70tZK/+Z7UXqGYJeQ8pdmlzjNGSH7Q6D+QKNAjZ+Ovb7zEh3NmyTT2XEykMR6+\n"
+ "bQYaGGcRu8Uvz4wHDaqeUuF/vgTiFaJ8kwNGX8Xb1x+ok5QrJAKZzvy59kojz8L0\n"
+ "ukQ6SqsvZ6SkJRbHHEh39YPNdC66O58KTiayjKgxQmVHsMOhraI1+YmPntCNBqNN\n"
+ "AvhLDg==\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: one.example.com */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEJDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDcxMjEzNDMzNFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAt7EPrrm4e4JEPXVI\n"
- "3s6eNQCyQv24LU9HD+7hDMEOFf//DoHeb8QqSDJdiCk+Hax5ydKZR2h4HZRmj5HO\n"
- "s6nxh0AWL645fKcvfk9Oj3r1roLWxH9Kk/UR246s7FcujhDzEz3LEOZUedeMY2CS\n"
- "tyjPLsKoP0jiDslRk0Yt4m7OfayB71B26qq92SzRr2YlMvf6AWHEiZhCRqVNidDV\n"
- "LxdMwqIkO8s93DN8Kw74X8U5o5vTjmmDiW1HVrqsxOuImnjQ4qTUiDv0JbzTQbTp\n"
- "uPOlJ5u/qMTK1jsGDcgfnojHLrsyuuTPR4v6Rmebpi0HHrT2PkxLeGtQEUxM7TeS\n"
- "Ccq+eva9zm4UngonS2/nkfYawLDkP3XQ7cJQueNKLC5etDr9NqhFaD624InblWGy\n"
- "V7jtEJRwRPH9FeMG7HyWb4BHYz36dCsMLbsCrCLIH8H7r/1nswVxlL5SRwiL06fK\n"
- "11pwae1uyNgQuvjno4zHKM5V+mJe1Tz//2X3bfb7crFPQgsxAgMBAAGjgYgwgYUw\n"
- "DwYDVR0TAQH/BAUwAwEB/zAhBgNVHR4BAf8EFzAVoBMwEYIPb25lLmV4YW1wbGUu\n"
- "Y29tMA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFOEnxsQ7QlqhkLJO8QSKKBGT\n"
- "QqDGMB8GA1UdIwQYMBaAFJm3gYrByx1mGmb4CnWXtNzxwGapMA0GCSqGSIb3DQEB\n"
- "CwUAA4IBgQAU53SjH5nO+ah/pAQaIDuxaJ6yaFWt1ZuW8riu/dTqn9vI0R4K6WCh\n"
- "EZ/rf4Z4YWMLm0+wI/+1CbFHtuZ9savA4qx7rtXQw5mF1JTEBsBM/chiXZ50euKW\n"
- "DRE2e8egOESxDQWk5cnaAxtbiRYXu/KYGqFcGeRvSoy85gIwfjBtweYn+rOwM9Yi\n"
- "9JsrKwsdFlzvzB6+ozDMCHncqtkU3DqI9QD80oP033z45EJxWxOhd6YhnrZN9SKp\n"
- "E/lnc/XuY3NflVE5PGT5efrfGkAfbp2fWPfvc2PP0Lh172zoPy3mBwcXpWdij+H2\n"
- "JCzwEqzxQzLpACtFy0kwq9HhzfgcdbbFmUbNweIf30eVG0XQ35myZy9Q1LQINhaj\n"
- "UN0Ao7qtLUtC8z5DlUFMuEHQBLhFkmuRHJHCkFRqLO0nHFYmKxtQ2nNmbHt1909s\n"
- "I20OEegNTFV8luCbFahoILckFlsbep9P4d0wOMjZuJkLyModK7Yx+CdOpq6/Cegg\n"
- "gt+aIvJzHEY=\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDcxMjEzNDMzM1oYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAmmrn3nN2bIFYipZN\n"
- "ED4nbWSc0ZYDbo8VzqjCKNVhMbYJlu07tV0qDK/1IDHf9awo5AladB4NEH3oJi9c\n"
- "sCtiBtJ9UnqD+gxsJFNtpOfNRfelOE8R7suXAxDxJto7YLtXnLCcMx+UMkhlDfVi\n"
- "Yy5Hqua//+EFyffokOPJ0/JCxFvTd9ldbNnxgLL27yDJBL1e4SMSw03/wKoLS0nW\n"
- "Sjzcu1+Y2sdj6CNVDtZjGmDLMNtyykX4BDz71PrlR1euktkuHS1HMthQdj3rSWjU\n"
- "Rehe7LxjYG548SpnIVA93EOfDyqLhjpKUL8+rA0cKBIsaJK+TyUNQ8XYa98djBAj\n"
- "gjRYRsPkZt/FH2BTg+4XSHWMrmfEbxyxqAf6euUkY4Z+Y2xkUHQl5GdYk44Rb/+4\n"
- "NxSBBKSj+6SqK2f0o3WTHXwJTeX+B0rV2x507hFqf6lRGzwzffrXKqH3yxfqbycl\n"
- "XlahOiBJ1xKNrR0XGeq9yPcrWv/RYvYt4JJp9OV1U2Mz3DRRAgMBAAGjQzBBMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUmbeBisHL\n"
- "HWYaZvgKdZe03PHAZqkwDQYJKoZIhvcNAQELBQADggGBABaf05+i07lJI74gv87t\n"
- "87BuaYEvySlQuUqycCvEs31RXFxJQhpHS7RvqPw6vqDv418SZwd/hNaC7a1JU0gL\n"
- "Zuha61y9u6/HbmeCBSgXYcd+4M/2oPz6WcJ9uoOZk8D2NxafubVtyXH26O6tMEnK\n"
- "0JJuV6q7fsqvIHf+tvRs/fTD7gKtyAsj1OoO3EjkRRQPnHOR4anXr1jxDFvldHEs\n"
- "qhlibWotfyvS4BvSk8nEo+/hrXs86cQDqCg1bbbz04sTQVHW1/kCKYl7c/HQGnTT\n"
- "I3Yc7pFq7n5sNP31XN1a8VaGiKseNXmxjhS9XlIvQ1qB5ObE+Dm0tWQbrDo73udb\n"
- "dW+I2/Pcij0tGBi8Cxe/PZKv5wio4NpWGTNiF6PMSaUp+lqX2iLYfjjl7osr3Hph\n"
- "gnwxlST3q0Av0+91jCfj6IZ9YRHLakceaRxcj8zLoVGpQqTdJjuH4Sy7nKoL58G1\n"
- "96Asqk2NsUztvRfw5pYFoe7ZUgsa4M+0/nZxOPd2UeodMA==\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEJDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDcxMjEzNDMzNFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAt7EPrrm4e4JEPXVI\n"
+ "3s6eNQCyQv24LU9HD+7hDMEOFf//DoHeb8QqSDJdiCk+Hax5ydKZR2h4HZRmj5HO\n"
+ "s6nxh0AWL645fKcvfk9Oj3r1roLWxH9Kk/UR246s7FcujhDzEz3LEOZUedeMY2CS\n"
+ "tyjPLsKoP0jiDslRk0Yt4m7OfayB71B26qq92SzRr2YlMvf6AWHEiZhCRqVNidDV\n"
+ "LxdMwqIkO8s93DN8Kw74X8U5o5vTjmmDiW1HVrqsxOuImnjQ4qTUiDv0JbzTQbTp\n"
+ "uPOlJ5u/qMTK1jsGDcgfnojHLrsyuuTPR4v6Rmebpi0HHrT2PkxLeGtQEUxM7TeS\n"
+ "Ccq+eva9zm4UngonS2/nkfYawLDkP3XQ7cJQueNKLC5etDr9NqhFaD624InblWGy\n"
+ "V7jtEJRwRPH9FeMG7HyWb4BHYz36dCsMLbsCrCLIH8H7r/1nswVxlL5SRwiL06fK\n"
+ "11pwae1uyNgQuvjno4zHKM5V+mJe1Tz//2X3bfb7crFPQgsxAgMBAAGjgYgwgYUw\n"
+ "DwYDVR0TAQH/BAUwAwEB/zAhBgNVHR4BAf8EFzAVoBMwEYIPb25lLmV4YW1wbGUu\n"
+ "Y29tMA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFOEnxsQ7QlqhkLJO8QSKKBGT\n"
+ "QqDGMB8GA1UdIwQYMBaAFJm3gYrByx1mGmb4CnWXtNzxwGapMA0GCSqGSIb3DQEB\n"
+ "CwUAA4IBgQAU53SjH5nO+ah/pAQaIDuxaJ6yaFWt1ZuW8riu/dTqn9vI0R4K6WCh\n"
+ "EZ/rf4Z4YWMLm0+wI/+1CbFHtuZ9savA4qx7rtXQw5mF1JTEBsBM/chiXZ50euKW\n"
+ "DRE2e8egOESxDQWk5cnaAxtbiRYXu/KYGqFcGeRvSoy85gIwfjBtweYn+rOwM9Yi\n"
+ "9JsrKwsdFlzvzB6+ozDMCHncqtkU3DqI9QD80oP033z45EJxWxOhd6YhnrZN9SKp\n"
+ "E/lnc/XuY3NflVE5PGT5efrfGkAfbp2fWPfvc2PP0Lh172zoPy3mBwcXpWdij+H2\n"
+ "JCzwEqzxQzLpACtFy0kwq9HhzfgcdbbFmUbNweIf30eVG0XQ35myZy9Q1LQINhaj\n"
+ "UN0Ao7qtLUtC8z5DlUFMuEHQBLhFkmuRHJHCkFRqLO0nHFYmKxtQ2nNmbHt1909s\n"
+ "I20OEegNTFV8luCbFahoILckFlsbep9P4d0wOMjZuJkLyModK7Yx+CdOpq6/Cegg\n"
+ "gt+aIvJzHEY=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDcxMjEzNDMzM1oYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAmmrn3nN2bIFYipZN\n"
+ "ED4nbWSc0ZYDbo8VzqjCKNVhMbYJlu07tV0qDK/1IDHf9awo5AladB4NEH3oJi9c\n"
+ "sCtiBtJ9UnqD+gxsJFNtpOfNRfelOE8R7suXAxDxJto7YLtXnLCcMx+UMkhlDfVi\n"
+ "Yy5Hqua//+EFyffokOPJ0/JCxFvTd9ldbNnxgLL27yDJBL1e4SMSw03/wKoLS0nW\n"
+ "Sjzcu1+Y2sdj6CNVDtZjGmDLMNtyykX4BDz71PrlR1euktkuHS1HMthQdj3rSWjU\n"
+ "Rehe7LxjYG548SpnIVA93EOfDyqLhjpKUL8+rA0cKBIsaJK+TyUNQ8XYa98djBAj\n"
+ "gjRYRsPkZt/FH2BTg+4XSHWMrmfEbxyxqAf6euUkY4Z+Y2xkUHQl5GdYk44Rb/+4\n"
+ "NxSBBKSj+6SqK2f0o3WTHXwJTeX+B0rV2x507hFqf6lRGzwzffrXKqH3yxfqbycl\n"
+ "XlahOiBJ1xKNrR0XGeq9yPcrWv/RYvYt4JJp9OV1U2Mz3DRRAgMBAAGjQzBBMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUmbeBisHL\n"
+ "HWYaZvgKdZe03PHAZqkwDQYJKoZIhvcNAQELBQADggGBABaf05+i07lJI74gv87t\n"
+ "87BuaYEvySlQuUqycCvEs31RXFxJQhpHS7RvqPw6vqDv418SZwd/hNaC7a1JU0gL\n"
+ "Zuha61y9u6/HbmeCBSgXYcd+4M/2oPz6WcJ9uoOZk8D2NxafubVtyXH26O6tMEnK\n"
+ "0JJuV6q7fsqvIHf+tvRs/fTD7gKtyAsj1OoO3EjkRRQPnHOR4anXr1jxDFvldHEs\n"
+ "qhlibWotfyvS4BvSk8nEo+/hrXs86cQDqCg1bbbz04sTQVHW1/kCKYl7c/HQGnTT\n"
+ "I3Yc7pFq7n5sNP31XN1a8VaGiKseNXmxjhS9XlIvQ1qB5ObE+Dm0tWQbrDo73udb\n"
+ "dW+I2/Pcij0tGBi8Cxe/PZKv5wio4NpWGTNiF6PMSaUp+lqX2iLYfjjl7osr3Hph\n"
+ "gnwxlST3q0Av0+91jCfj6IZ9YRHLakceaRxcj8zLoVGpQqTdJjuH4Sy7nKoL58G1\n"
+ "96Asqk2NsUztvRfw5pYFoe7ZUgsa4M+0/nZxOPd2UeodMA==\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Name constraints: Empty excluded DNSname, empty Common name */
static const char *nc_bad1[] = {
-/* DNSname: localhost
+ /* DNSname: localhost
DNSname: www.example.com
Common name: (empty) */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDSzCCAjOgAwIBAgIMU/xqxDpxZ3J5cUcrMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
-"BgNVBAMTBENBLTEwIhgPMjAxNDA4MjYxMTA4NTJaGA85OTk5MTIzMTIzNTk1OVow\n"
-"EzERMA8GA1UEChMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
-"AoIBAQDP3GV/JSLCCmx09hJINJZC8fSUBE1IVbZsY/q00rZOw5KwPioLiMOIup7W\n"
-"na8YJ2ama0GJjU86PlJDhBH6soaY24ZCW5kKhvfnSw2TkpW6umL7psvuBslRoMxA\n"
-"t12MpapZDFZixZjV44Bstuyt9sI1ze3au+5C7E4+z40o/3uvbIiN2iz4bPgwPIMu\n"
-"5V/bVTei6uAcu4fNHh/AGnAUJa201QsUhM4+VRFc0XmanjSulySD3obwERDneqab\n"
-"77gnIP6zwuFXxHgucbmzU8DIgVhes2k4v6AB1nPxlpUL5+E+W4XDg4ckGGkfxgcn\n"
-"dGYvuv3pwIyHvb7Z0A8D6bE435cnAgMBAAGjgZ4wgZswDAYDVR0TAQH/BAIwADAl\n"
-"BgNVHREEHjAcgglsb2NhbGhvc3SCD3d3dy5leGFtcGxlLmNvbTATBgNVHSUEDDAK\n"
-"BggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBS5dbTqiPbhe7Fg\n"
-"e/Bs92qsNgWSzjAfBgNVHSMEGDAWgBSgAJcc9Q5KDpAhkrMORPJSboq3vzANBgkq\n"
-"hkiG9w0BAQsFAAOCAQEAdkVCQQ5mCuV5WTqCeH7AtXxYM7IV7q6O7uqirKwDUzGD\n"
-"wB5shurAPMn9IG46O68P+BPLMfwszFDgszNrjuMsKb7hLT5+pVsd6XRQeimPJ5rN\n"
-"/szMfALLAcw8Yxt+1YbxlgUgybFsiK2zdBpAshU+FzMRvFfq9rnqW/VXM0J6ghz3\n"
-"VqLbviOY5KpCLzfG0yM+CTcKXVFau9QZK962AfXzUwaCymw1cRHzQlpdMQtTtcIp\n"
-"nci6MKXViEdeHbPLcZe9+vzSSpFh5u/l47w+2B1oz7mndFFpxkw37zDaVH5yAFxK\n"
-"+5VijiKxH6nmniLUX8Zsv82YBaO0liNb2fOZopxQGQ==\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDSzCCAjOgAwIBAgIMU/xqxDpxZ3J5cUcrMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA4MjYxMTA4NTJaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEChMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDP3GV/JSLCCmx09hJINJZC8fSUBE1IVbZsY/q00rZOw5KwPioLiMOIup7W\n"
+ "na8YJ2ama0GJjU86PlJDhBH6soaY24ZCW5kKhvfnSw2TkpW6umL7psvuBslRoMxA\n"
+ "t12MpapZDFZixZjV44Bstuyt9sI1ze3au+5C7E4+z40o/3uvbIiN2iz4bPgwPIMu\n"
+ "5V/bVTei6uAcu4fNHh/AGnAUJa201QsUhM4+VRFc0XmanjSulySD3obwERDneqab\n"
+ "77gnIP6zwuFXxHgucbmzU8DIgVhes2k4v6AB1nPxlpUL5+E+W4XDg4ckGGkfxgcn\n"
+ "dGYvuv3pwIyHvb7Z0A8D6bE435cnAgMBAAGjgZ4wgZswDAYDVR0TAQH/BAIwADAl\n"
+ "BgNVHREEHjAcgglsb2NhbGhvc3SCD3d3dy5leGFtcGxlLmNvbTATBgNVHSUEDDAK\n"
+ "BggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBS5dbTqiPbhe7Fg\n"
+ "e/Bs92qsNgWSzjAfBgNVHSMEGDAWgBSgAJcc9Q5KDpAhkrMORPJSboq3vzANBgkq\n"
+ "hkiG9w0BAQsFAAOCAQEAdkVCQQ5mCuV5WTqCeH7AtXxYM7IV7q6O7uqirKwDUzGD\n"
+ "wB5shurAPMn9IG46O68P+BPLMfwszFDgszNrjuMsKb7hLT5+pVsd6XRQeimPJ5rN\n"
+ "/szMfALLAcw8Yxt+1YbxlgUgybFsiK2zdBpAshU+FzMRvFfq9rnqW/VXM0J6ghz3\n"
+ "VqLbviOY5KpCLzfG0yM+CTcKXVFau9QZK962AfXzUwaCymw1cRHzQlpdMQtTtcIp\n"
+ "nci6MKXViEdeHbPLcZe9+vzSSpFh5u/l47w+2B1oz7mndFFpxkw37zDaVH5yAFxK\n"
+ "+5VijiKxH6nmniLUX8Zsv82YBaO0liNb2fOZopxQGQ==\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
* Excluded DNSname: (empty) */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTEwODUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+iPUnEs+qmj2U\n"
-"Rz8plNAE/CpeUxUfNNVonluu4DzulsxAJMN78g+Oqx+ggdkECZxHLISkzErMgiuv\n"
-"bG+nr9yxjyHH2YoOAgzgknar5JkOBkKp1bIvyA950ZSygMFEHX1qoaM+F/1/DKjG\n"
-"NmMCNUpR0c4m+K22s72LnrpMLMmCZU0fnqngb1+F+iZE6emhcX5Z5D0QTJTAeiYK\n"
-"ArnO0rpVEvU0o3nwe3dDrT0YyoCYrzCsCOKUa2wFtkOzLZKJbMBRMflL+fBmtj/Q\n"
-"7xUe7ox62ZEqSD7W+Po48/mIuSOhx7u+yToBZ60wKGz9OkQ/JwykkK5ZgI+nPWGT\n"
-"1au1K4V7AgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8wEgYDVR0eAQH/BAgwBqEE\n"
-"MAKCADAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBSgAJcc9Q5KDpAhkrMORPJS\n"
-"boq3vzAfBgNVHSMEGDAWgBQ/lKQpHoyEFz7J+Wn6eT5qxgYQpjANBgkqhkiG9w0B\n"
-"AQsFAAOCAQEAoMeZ0cnHes8bWRHLvrGc6wpwVnxYx2CBF9Xd3k4YMNunwBF9oM+T\n"
-"ZYSMo4k7C1XZ154avBIyiCne3eU7/oHG1nkqY9ndN5LMyL8KFOniETBY3BdKtlGA\n"
-"N+pDiQsrWG6mtqQ+kHFJICnGEDDByGB2eH+oAS+8gNtSfamLuTWYMI6ANjA9OWan\n"
-"rkIA7ta97UiH2flvKRctqvZ0n6Vp3n3aUc53FkAbTnxOCBNCBx/veCgD/r74WbcY\n"
-"jiwh2RE//3D3Oo7zhUlwQEWQSa/7poG5e6bl7oj4JYjpwSmESCYokT83Iqeb9lwO\n"
-"D+dr9zs1tCudW9xz3sUg6IBXhZ4UvegTNg==\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTEwODUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2cd2vlg/9nuzi\n"
-"6S6/qyJRnaUoFutajTwGqfQKZpbqXI7TcFZwKidzAZlZiU+sAvkY8d/9cadlbrde\n"
-"S9HGv31QmexWjgWAMGNpeyiPlXIN8xGzIbZRM3FCih0bnIyibdwgAuU14dUrChGD\n"
-"sQ4SAmRUpThkB8anvC10PIsxfnifBwJI6dGQZb1KOxVOIWg7Gb5tNFkZILBGv8wk\n"
-"cbycIBYC3lRX8svUj9mMiro53f+4ZGbi4DcSLIdw4ebAczfBd+uHM2jkHFZUNuAY\n"
-"7rGZAAuqEh5IE0QHS9CV6mg6Pf9+sLGMBZUbix2sxRntAEyz8+kO7W2zgmKPla4+\n"
-"y54cIUmBAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQUP5SkKR6MhBc+yflp+nk+asYGEKYwDQYJKoZIhvcNAQELBQAD\n"
-"ggEBAC4N4dUoGDTGf93DtjEcZzqGoAd6TsCYy6k5zeYMZFwogfArg0IMurcFDLeN\n"
-"PXe3xl9RiUjbiZMaHWju81kIO34z0NLd705XR9QFEc+xiuZOMmm4SxciAF5xo+Hh\n"
-"Fhc9cVa8Icm2ju86Q4yhJziYrElH8VwHTBE0k+RE1cK65F5PQFGGBlpGm9EMcYTv\n"
-"EQQATPLuWwKRAFNJBx2t3DAeMseo/Iq6Snd/UfdqgLkV61YtbzqL8bu+a8rgMAYz\n"
-"ovgORsI48TlbU4H7YI+vzPO33tRV2m4dOxppMHzv8Ie2LIIfqYn0HRd87c06djEA\n"
-"EpXfXGqxjX5vAtNPO5fGGzghol4=\n"
-"-----END CERTIFICATE-----",
-NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTEwODUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+iPUnEs+qmj2U\n"
+ "Rz8plNAE/CpeUxUfNNVonluu4DzulsxAJMN78g+Oqx+ggdkECZxHLISkzErMgiuv\n"
+ "bG+nr9yxjyHH2YoOAgzgknar5JkOBkKp1bIvyA950ZSygMFEHX1qoaM+F/1/DKjG\n"
+ "NmMCNUpR0c4m+K22s72LnrpMLMmCZU0fnqngb1+F+iZE6emhcX5Z5D0QTJTAeiYK\n"
+ "ArnO0rpVEvU0o3nwe3dDrT0YyoCYrzCsCOKUa2wFtkOzLZKJbMBRMflL+fBmtj/Q\n"
+ "7xUe7ox62ZEqSD7W+Po48/mIuSOhx7u+yToBZ60wKGz9OkQ/JwykkK5ZgI+nPWGT\n"
+ "1au1K4V7AgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8wEgYDVR0eAQH/BAgwBqEE\n"
+ "MAKCADAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBSgAJcc9Q5KDpAhkrMORPJS\n"
+ "boq3vzAfBgNVHSMEGDAWgBQ/lKQpHoyEFz7J+Wn6eT5qxgYQpjANBgkqhkiG9w0B\n"
+ "AQsFAAOCAQEAoMeZ0cnHes8bWRHLvrGc6wpwVnxYx2CBF9Xd3k4YMNunwBF9oM+T\n"
+ "ZYSMo4k7C1XZ154avBIyiCne3eU7/oHG1nkqY9ndN5LMyL8KFOniETBY3BdKtlGA\n"
+ "N+pDiQsrWG6mtqQ+kHFJICnGEDDByGB2eH+oAS+8gNtSfamLuTWYMI6ANjA9OWan\n"
+ "rkIA7ta97UiH2flvKRctqvZ0n6Vp3n3aUc53FkAbTnxOCBNCBx/veCgD/r74WbcY\n"
+ "jiwh2RE//3D3Oo7zhUlwQEWQSa/7poG5e6bl7oj4JYjpwSmESCYokT83Iqeb9lwO\n"
+ "D+dr9zs1tCudW9xz3sUg6IBXhZ4UvegTNg==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTEwODUyWhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2cd2vlg/9nuzi\n"
+ "6S6/qyJRnaUoFutajTwGqfQKZpbqXI7TcFZwKidzAZlZiU+sAvkY8d/9cadlbrde\n"
+ "S9HGv31QmexWjgWAMGNpeyiPlXIN8xGzIbZRM3FCih0bnIyibdwgAuU14dUrChGD\n"
+ "sQ4SAmRUpThkB8anvC10PIsxfnifBwJI6dGQZb1KOxVOIWg7Gb5tNFkZILBGv8wk\n"
+ "cbycIBYC3lRX8svUj9mMiro53f+4ZGbi4DcSLIdw4ebAczfBd+uHM2jkHFZUNuAY\n"
+ "7rGZAAuqEh5IE0QHS9CV6mg6Pf9+sLGMBZUbix2sxRntAEyz8+kO7W2zgmKPla4+\n"
+ "y54cIUmBAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUP5SkKR6MhBc+yflp+nk+asYGEKYwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAC4N4dUoGDTGf93DtjEcZzqGoAd6TsCYy6k5zeYMZFwogfArg0IMurcFDLeN\n"
+ "PXe3xl9RiUjbiZMaHWju81kIO34z0NLd705XR9QFEc+xiuZOMmm4SxciAF5xo+Hh\n"
+ "Fhc9cVa8Icm2ju86Q4yhJziYrElH8VwHTBE0k+RE1cK65F5PQFGGBlpGm9EMcYTv\n"
+ "EQQATPLuWwKRAFNJBx2t3DAeMseo/Iq6Snd/UfdqgLkV61YtbzqL8bu+a8rgMAYz\n"
+ "ovgORsI48TlbU4H7YI+vzPO33tRV2m4dOxppMHzv8Ie2LIIfqYn0HRd87c06djEA\n"
+ "EpXfXGqxjX5vAtNPO5fGGzghol4=\n"
+ "-----END CERTIFICATE-----",
+ NULL
};
/* Name constraints: Multiple-level constraints, intersection empty */
static const char *nc_bad2[] = {
-/* DNSname: www.example.com */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDQDCCAiigAwIBAgIMU/x5DBI1pGSO2eYZMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
-"BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMjA5NDhaGA85OTk5MTIzMTIzNTk1OVow\n"
-"EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
-"AoIBAQDL/hbj+RVDQ5sA4VR2FZ+P+/jju7jkUFUovwhCrWpGXFs0WDokcOkcXc3f\n"
-"0yturFWazVEKaaZECiDpGf6iXmNoJA6fPT+G0gPlIL6wh4wKQG+vwVYsX5ZkXOMR\n"
-"sl7BqCpeCChkth54mClEwOYW3WohdXqiJfxoFVdgnisbqkxYtz9aXzYE71cZIFAx\n"
-"nL7V/gY+G/m0iZCdfh7YEDlT+qtLkGyHsyyTxwUH4yyqcsFl4WWG6wAdKF5U69yw\n"
-"uo61J5wpE+yDyS0u4Cjw67d29OIHsT7GAq+fP69vMoEHPvPUM/aA68AycybV2OYt\n"
-"8OJAyZqf/6zvnlrbLuk08kWf1TD3AgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
-"BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
-"DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUz+XUeM8bwvK3BD7NVRRYSeZSlA0w\n"
-"HwYDVR0jBBgwFoAU/n2NeCCnwHQwFpKwi42A3H+w9W8wDQYJKoZIhvcNAQELBQAD\n"
-"ggEBAPJZO19PhmxQ1ZRDLQWZWxuQgD2Wwy8sS+wnlUo/TZM7+pT5ICjLdEKgETPd\n"
-"HOqgAMQFaUpp5vx1jUBmmKdPOmwEnV/2zbw3GrYwAQjxunXD66iHjYbodl9zBumM\n"
-"NXDGsHnKYNu9sPdQSMLC7OEOrKvEhH2afOvYDORQbSGXh7+3js7Mzggy0NoYtxnK\n"
-"4wqt6g73SFkV82mTQpUBK218ROjuWVBUmWxq2JU+qvsAKbhz+Tjr9+kmFcNBRgmA\n"
-"Zga26uoQhd6YP9DKbCvf3sK4bi6A5NROeLf9BzJHWkGani4F9wOjRmLVnLlB3BPi\n"
-"tHZaLDU9fUnf6I6p3nu6LPTH3JU=\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ /* DNSname: www.example.com */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDQDCCAiigAwIBAgIMU/x5DBI1pGSO2eYZMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMjA5NDhaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDL/hbj+RVDQ5sA4VR2FZ+P+/jju7jkUFUovwhCrWpGXFs0WDokcOkcXc3f\n"
+ "0yturFWazVEKaaZECiDpGf6iXmNoJA6fPT+G0gPlIL6wh4wKQG+vwVYsX5ZkXOMR\n"
+ "sl7BqCpeCChkth54mClEwOYW3WohdXqiJfxoFVdgnisbqkxYtz9aXzYE71cZIFAx\n"
+ "nL7V/gY+G/m0iZCdfh7YEDlT+qtLkGyHsyyTxwUH4yyqcsFl4WWG6wAdKF5U69yw\n"
+ "uo61J5wpE+yDyS0u4Cjw67d29OIHsT7GAq+fP69vMoEHPvPUM/aA68AycybV2OYt\n"
+ "8OJAyZqf/6zvnlrbLuk08kWf1TD3AgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
+ "BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
+ "DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUz+XUeM8bwvK3BD7NVRRYSeZSlA0w\n"
+ "HwYDVR0jBBgwFoAU/n2NeCCnwHQwFpKwi42A3H+w9W8wDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAPJZO19PhmxQ1ZRDLQWZWxuQgD2Wwy8sS+wnlUo/TZM7+pT5ICjLdEKgETPd\n"
+ "HOqgAMQFaUpp5vx1jUBmmKdPOmwEnV/2zbw3GrYwAQjxunXD66iHjYbodl9zBumM\n"
+ "NXDGsHnKYNu9sPdQSMLC7OEOrKvEhH2afOvYDORQbSGXh7+3js7Mzggy0NoYtxnK\n"
+ "4wqt6g73SFkV82mTQpUBK218ROjuWVBUmWxq2JU+qvsAKbhz+Tjr9+kmFcNBRgmA\n"
+ "Zga26uoQhd6YP9DKbCvf3sK4bi6A5NROeLf9BzJHWkGani4F9wOjRmLVnLlB3BPi\n"
+ "tHZaLDU9fUnf6I6p3nu6LPTH3JU=\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: example.com */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDIjCCAgqgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
-"MCIYDzIwMTQwODI2MTIwOTQ4WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD6kCE6KmDCkagX\n"
-"fvq0rx73h7zn23phJYBmugfp5fPQYIJ1463dGmlFK4Lfkz2V4StgM2mbFFEkcyVC\n"
-"pz+PyeSDgyWJJ/RwG690lLfu5JfNLvwxj/rFNK6rS7EpADew6RgURCpEMt6z1uEk\n"
-"+IQsxKoXQmAcdtc/ubPFWInotg7Avoid0sG69s/+hq/nlGE9A8JMFnsLh/n01d+F\n"
-"9dWsjrNiZ+mfTE8w0MVTq4+8mvmPmnjKsiu0rgqaVTmYpZW5chz9gGrZCr/Wr5CL\n"
-"zPsAYaWie+wo8cR5qMEoX+JPHqM8eP9K1v+uYc03aD3u1/QYdxY73OLn31+jYAqq\n"
-"tRJjgSERAgMBAAGjgYQwgYEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzAR\n"
-"oA8wDYILZXhhbXBsZS5jb20wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU/n2N\n"
-"eCCnwHQwFpKwi42A3H+w9W8wHwYDVR0jBBgwFoAUJ2ngSf1CqeYVG3eUNcH7Lt6/\n"
-"ECUwDQYJKoZIhvcNAQELBQADggEBAIQruSBUyQ268Js61XT3nlr1Y9HxmKA2DIuM\n"
-"WcAicE1XIpuxDpZ/VmKH0/o2JVR1A7uwSMEnHdShHixMbpYrHRDnZITxs2lsJijE\n"
-"r7YdqadH7EbjDIXv1DJcPnNaeqFPbyXEWqLYoQf6UPBLVRWeKISPN0hMaIZv4Y/X\n"
-"OcBceajAr0XGxASRFDky26M01AVPZoYjgT7vLp835yk9BY5+q0GxlSJl6HbQ5ESA\n"
-"IoC3Limt72niobmvEryQDq7qUUoR7hB1SMKfyX/qktxT3UCBLKXHsp80ECJ2A7Sd\n"
-"YrHjFE6LnWHwGJFYZ1eYKiOjglVRGv3+bNX07bQBWKzRbLWYM+0=\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIjCCAgqgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
+ "MCIYDzIwMTQwODI2MTIwOTQ4WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD6kCE6KmDCkagX\n"
+ "fvq0rx73h7zn23phJYBmugfp5fPQYIJ1463dGmlFK4Lfkz2V4StgM2mbFFEkcyVC\n"
+ "pz+PyeSDgyWJJ/RwG690lLfu5JfNLvwxj/rFNK6rS7EpADew6RgURCpEMt6z1uEk\n"
+ "+IQsxKoXQmAcdtc/ubPFWInotg7Avoid0sG69s/+hq/nlGE9A8JMFnsLh/n01d+F\n"
+ "9dWsjrNiZ+mfTE8w0MVTq4+8mvmPmnjKsiu0rgqaVTmYpZW5chz9gGrZCr/Wr5CL\n"
+ "zPsAYaWie+wo8cR5qMEoX+JPHqM8eP9K1v+uYc03aD3u1/QYdxY73OLn31+jYAqq\n"
+ "tRJjgSERAgMBAAGjgYQwgYEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzAR\n"
+ "oA8wDYILZXhhbXBsZS5jb20wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU/n2N\n"
+ "eCCnwHQwFpKwi42A3H+w9W8wHwYDVR0jBBgwFoAUJ2ngSf1CqeYVG3eUNcH7Lt6/\n"
+ "ECUwDQYJKoZIhvcNAQELBQADggEBAIQruSBUyQ268Js61XT3nlr1Y9HxmKA2DIuM\n"
+ "WcAicE1XIpuxDpZ/VmKH0/o2JVR1A7uwSMEnHdShHixMbpYrHRDnZITxs2lsJijE\n"
+ "r7YdqadH7EbjDIXv1DJcPnNaeqFPbyXEWqLYoQf6UPBLVRWeKISPN0hMaIZv4Y/X\n"
+ "OcBceajAr0XGxASRFDky26M01AVPZoYjgT7vLp835yk9BY5+q0GxlSJl6HbQ5ESA\n"
+ "IoC3Limt72niobmvEryQDq7qUUoR7hB1SMKfyX/qktxT3UCBLKXHsp80ECJ2A7Sd\n"
+ "YrHjFE6LnWHwGJFYZ1eYKiOjglVRGv3+bNX07bQBWKzRbLWYM+0=\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Excluded: DNSname: example.com */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDIjCCAgqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
-"MCIYDzIwMTQwODI2MTIwOTQ4WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUbGpRRMdnTzbG\n"
-"R7J9qYJoHOhgRp3lEa9sBP7/pNNIsEhXmvzBu5J0buJpAfRPmWcoZauKsVrKnE69\n"
-"CFlTDVCIahQ5gtJkGdjrDrQDFFCMnKC04Lhq+EmbASBTn5GRQwJqEUi9xRpj0yOL\n"
-"0XGlMp4JS44eAL4giywzPtOAZaJlr4kdOnSPK2SHFVwQGfQiNmzD5ajmsjM3k4o3\n"
-"R2gXAsudyasQzRAjFyeo2ry7klPUPS5RHJ6B2n87e9kLGrYb8+O9I9FNc/w4J49W\n"
-"AovVr5vcs9Km25jLUn43KDprDhpXddEraz6WyZJRMTZVRRUizET3gmojZFFD4zOQ\n"
-"mneVYerpAgMBAAGjgYQwgYEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzAR\n"
-"oQ8wDYILZXhhbXBsZS5jb20wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUJ2ng\n"
-"Sf1CqeYVG3eUNcH7Lt6/ECUwHwYDVR0jBBgwFoAUyFGHFFLCWYOQTLmh8jJpGyxS\n"
-"bSUwDQYJKoZIhvcNAQELBQADggEBALGFCZXC1KPBBPMtLJNfhNBtBBC4i5q+1Qeo\n"
-"aJL7dKVuBn79WAuND8rvJvrPKpGTmyxkcnqRXSBVH3c+Xi+v5ykLrtHJ2x4TOrmg\n"
-"RBAaBqDuecQ9Ec0dCc5ODKwjdI/wEOGAS4sfrMXzQCv+UJqi2lE0fo/xDmS/azCc\n"
-"WUjFSQOuWnCJIIAIyWlF2bPtdtiaydHKkTcG7c/zwrxRaWE2Q2G+dm+itpJ7sCtx\n"
-"ZFfGMLUl7mDadhiYrxq1SnwrObMwbngPNZyUBi2G7jnXlyFc9X/w6fVIULLxN+bn\n"
-"IzHWcRrBZ/ShdvCStmgbTlKNtvg0LWAk7QWzy2ibaXS5jp2r+Fc=\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIjCCAgqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCIYDzIwMTQwODI2MTIwOTQ4WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUbGpRRMdnTzbG\n"
+ "R7J9qYJoHOhgRp3lEa9sBP7/pNNIsEhXmvzBu5J0buJpAfRPmWcoZauKsVrKnE69\n"
+ "CFlTDVCIahQ5gtJkGdjrDrQDFFCMnKC04Lhq+EmbASBTn5GRQwJqEUi9xRpj0yOL\n"
+ "0XGlMp4JS44eAL4giywzPtOAZaJlr4kdOnSPK2SHFVwQGfQiNmzD5ajmsjM3k4o3\n"
+ "R2gXAsudyasQzRAjFyeo2ry7klPUPS5RHJ6B2n87e9kLGrYb8+O9I9FNc/w4J49W\n"
+ "AovVr5vcs9Km25jLUn43KDprDhpXddEraz6WyZJRMTZVRRUizET3gmojZFFD4zOQ\n"
+ "mneVYerpAgMBAAGjgYQwgYEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzAR\n"
+ "oQ8wDYILZXhhbXBsZS5jb20wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUJ2ng\n"
+ "Sf1CqeYVG3eUNcH7Lt6/ECUwHwYDVR0jBBgwFoAUyFGHFFLCWYOQTLmh8jJpGyxS\n"
+ "bSUwDQYJKoZIhvcNAQELBQADggEBALGFCZXC1KPBBPMtLJNfhNBtBBC4i5q+1Qeo\n"
+ "aJL7dKVuBn79WAuND8rvJvrPKpGTmyxkcnqRXSBVH3c+Xi+v5ykLrtHJ2x4TOrmg\n"
+ "RBAaBqDuecQ9Ec0dCc5ODKwjdI/wEOGAS4sfrMXzQCv+UJqi2lE0fo/xDmS/azCc\n"
+ "WUjFSQOuWnCJIIAIyWlF2bPtdtiaydHKkTcG7c/zwrxRaWE2Q2G+dm+itpJ7sCtx\n"
+ "ZFfGMLUl7mDadhiYrxq1SnwrObMwbngPNZyUBi2G7jnXlyFc9X/w6fVIULLxN+bn\n"
+ "IzHWcRrBZ/ShdvCStmgbTlKNtvg0LWAk7QWzy2ibaXS5jp2r+Fc=\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Excluded: DNSname: example.net
Excluded: DNSname: example.org */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDMTCCAhmgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTIwOTQ3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDsnSNH0g4bvAXx\n"
-"zJAfs+XFWpNIpJtD/1H3Ei0ezfH5Ug7GNpHKlYKLCIShqCFj9WSwzSyKNGCHafdt\n"
-"PPhKo9uAo2bSaBZjmzxfqSOGDEXZ+4LlRgSPX2Arc0i97ZsPf0nkWLfrxlTOAQIm\n"
-"DxDNrWlGrCl1dfPiB+EyMzo+++MCdTGEsdEdRFm85QNjOOTiaTeUpUh5G27+hbuk\n"
-"PaRlZ1GHJYlrLHK/2qw9/Mw+gNnfn/Efw+lNeYuQ3tco8IAMN0jB8x1hDfOxTx93\n"
-"mrFzAdGTfsYZc31YapATk2re8IJGeKSCY4XP2HvYZEE1fYdw8ZcqZ/Gv1RdXyxvc\n"
-"6oT5r/PNAgMBAAGjgZMwgZAwDwYDVR0TAQH/BAUwAwEB/zAsBgNVHR4BAf8EIjAg\n"
-"oR4wDYILZXhhbXBsZS5uZXQwDYILZXhhbXBsZS5vcmcwDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQUyFGHFFLCWYOQTLmh8jJpGyxSbSUwHwYDVR0jBBgwFoAUTBVq\n"
-"WCSLkLZte75Q9bgKeM851qowDQYJKoZIhvcNAQELBQADggEBAGKVEQfAzrWj8wmQ\n"
-"l4sm+i/pgK0I07jNMvgUDsvAmjlkndWxoX1ROe0Nd2I3d5te0+G9MR6CTOByr8VE\n"
-"NLyXEsrk++BsfLk/0UNFHwq97QLTzzyEXQYQnDza8R1jdlr7XpGZOoWczi08yMAk\n"
-"UiJyq2xaqerTlIYp01T9a3Nb5tWFyUVekJeyJQakj2VLaKkl4hCfK3h/HFBNJ3yf\n"
-"AvBu77wQeh6n8osNDCpW9e1KRAGisDCFrTMUlyxQIK/OXhjLzu7qDKShdNnfNRmc\n"
-"H4W9ODLIm8AX1S0udg9OebPhNWfM2bDFzI/dIX+yHp6q0oepbT11rKG8G+5M25uU\n"
-"AUhTFC4=\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTIwOTQ3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZSS6SaBALkN4W\n"
-"Tao6pqaDmi1edtBskNHdO/lYomElQtIkw6wQHlJjIdjF3vnhEWU9+HOIZrWKth4X\n"
-"u+naDZquOb4GWPq/X6/KBoQ4hq/XZJaFEDPeciNcVeylWVlHi1OeGm8uHZxAK/6d\n"
-"wpGoe/0K+QaLFdbm/srw1LGvCwbLwNDKePX9TgOfVKdZtGZUdDDo6TXUmhNG+QeP\n"
-"7Fv1n2PjQFkXiRwVLgJj06DvR+ft81x2gjEVS+vxWg0+cbJvBI2ItpNGnIWvbwl7\n"
-"BTyNRjvsi7ljFn+SfaRBLXE4aygQFQ9UCHNNYtkBO73BXv/SgcFXzSDDN5ZMfpg9\n"
-"SSWkEApFAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQUTBVqWCSLkLZte75Q9bgKeM851qowDQYJKoZIhvcNAQELBQAD\n"
-"ggEBAH3bezfaVpnyqZRJsZ8sHAIpJWa03mHl/mqRpT0qg45Agzwo7yb5dubiHUBJ\n"
-"BK/kAMhICjHAH+6E5XubGVSFvbzBX1FeKQQgzghN4niosOCLZPUtl8gJGZlsOoCy\n"
-"6HldkxXa26GBZR0NvJb/p83VA7w5Zlp5j7Rp2VkWwRniaPex39dogDX3IwnoZKzL\n"
-"ogyeNQPG2qLDBdZRAVng0eJK1Ml5PHxoEkcFwFsxd4B1cJV0VCMk7X7oEc9qBtUB\n"
-"Ye/bst72puWDK1lBhT6EFhDDbY9xKm7pvUkGx80gWm9JZ0xGCaoM4tyEAaCd9tYZ\n"
-"JFvnIEGJGeGjlRLJZGS4mZ/Q5mI=\n"
-"-----END CERTIFICATE-----\n",
-NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDMTCCAhmgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTIwOTQ3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDsnSNH0g4bvAXx\n"
+ "zJAfs+XFWpNIpJtD/1H3Ei0ezfH5Ug7GNpHKlYKLCIShqCFj9WSwzSyKNGCHafdt\n"
+ "PPhKo9uAo2bSaBZjmzxfqSOGDEXZ+4LlRgSPX2Arc0i97ZsPf0nkWLfrxlTOAQIm\n"
+ "DxDNrWlGrCl1dfPiB+EyMzo+++MCdTGEsdEdRFm85QNjOOTiaTeUpUh5G27+hbuk\n"
+ "PaRlZ1GHJYlrLHK/2qw9/Mw+gNnfn/Efw+lNeYuQ3tco8IAMN0jB8x1hDfOxTx93\n"
+ "mrFzAdGTfsYZc31YapATk2re8IJGeKSCY4XP2HvYZEE1fYdw8ZcqZ/Gv1RdXyxvc\n"
+ "6oT5r/PNAgMBAAGjgZMwgZAwDwYDVR0TAQH/BAUwAwEB/zAsBgNVHR4BAf8EIjAg\n"
+ "oR4wDYILZXhhbXBsZS5uZXQwDYILZXhhbXBsZS5vcmcwDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUyFGHFFLCWYOQTLmh8jJpGyxSbSUwHwYDVR0jBBgwFoAUTBVq\n"
+ "WCSLkLZte75Q9bgKeM851qowDQYJKoZIhvcNAQELBQADggEBAGKVEQfAzrWj8wmQ\n"
+ "l4sm+i/pgK0I07jNMvgUDsvAmjlkndWxoX1ROe0Nd2I3d5te0+G9MR6CTOByr8VE\n"
+ "NLyXEsrk++BsfLk/0UNFHwq97QLTzzyEXQYQnDza8R1jdlr7XpGZOoWczi08yMAk\n"
+ "UiJyq2xaqerTlIYp01T9a3Nb5tWFyUVekJeyJQakj2VLaKkl4hCfK3h/HFBNJ3yf\n"
+ "AvBu77wQeh6n8osNDCpW9e1KRAGisDCFrTMUlyxQIK/OXhjLzu7qDKShdNnfNRmc\n"
+ "H4W9ODLIm8AX1S0udg9OebPhNWfM2bDFzI/dIX+yHp6q0oepbT11rKG8G+5M25uU\n"
+ "AUhTFC4=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTIwOTQ3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZSS6SaBALkN4W\n"
+ "Tao6pqaDmi1edtBskNHdO/lYomElQtIkw6wQHlJjIdjF3vnhEWU9+HOIZrWKth4X\n"
+ "u+naDZquOb4GWPq/X6/KBoQ4hq/XZJaFEDPeciNcVeylWVlHi1OeGm8uHZxAK/6d\n"
+ "wpGoe/0K+QaLFdbm/srw1LGvCwbLwNDKePX9TgOfVKdZtGZUdDDo6TXUmhNG+QeP\n"
+ "7Fv1n2PjQFkXiRwVLgJj06DvR+ft81x2gjEVS+vxWg0+cbJvBI2ItpNGnIWvbwl7\n"
+ "BTyNRjvsi7ljFn+SfaRBLXE4aygQFQ9UCHNNYtkBO73BXv/SgcFXzSDDN5ZMfpg9\n"
+ "SSWkEApFAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUTBVqWCSLkLZte75Q9bgKeM851qowDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAH3bezfaVpnyqZRJsZ8sHAIpJWa03mHl/mqRpT0qg45Agzwo7yb5dubiHUBJ\n"
+ "BK/kAMhICjHAH+6E5XubGVSFvbzBX1FeKQQgzghN4niosOCLZPUtl8gJGZlsOoCy\n"
+ "6HldkxXa26GBZR0NvJb/p83VA7w5Zlp5j7Rp2VkWwRniaPex39dogDX3IwnoZKzL\n"
+ "ogyeNQPG2qLDBdZRAVng0eJK1Ml5PHxoEkcFwFsxd4B1cJV0VCMk7X7oEc9qBtUB\n"
+ "Ye/bst72puWDK1lBhT6EFhDDbY9xKm7pvUkGx80gWm9JZ0xGCaoM4tyEAaCd9tYZ\n"
+ "JFvnIEGJGeGjlRLJZGS4mZ/Q5mI=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Name constraints: DNSname in excluded range */
static const char *nc_bad3[] = {
-/* CN=www.example.com */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDPDCCAiSgAwIBAgIMU/xvqR+qZTQTaWIIMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
-"BgNVBAMTBENBLTEwIhgPMjAxNDA4MjYxMTI5NDVaGA85OTk5MTIzMTIzNTk1OVow\n"
-"LTEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMREwDwYDVQQKEwhzZXJ2ZXItMjCC\n"
-"ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ46qo4PFrBfYlQXSgtbk/rO\n"
-"0aO8/Gh/bIh4c/JX0RfqC55bnfbkO9SwwR+eU76INyVb1exmd7qsl4R2EgS8V3Gf\n"
-"3K5k4tNecMfxT98MWiuSSp8Q8+affUF5t9TSLujL1dckMlPfH9hdxCYhJGH51mkf\n"
-"wr3oEmwNXsA9OQ8oxq2i8WxQTJGUXkwx/k2L2NRF3L8vjRnXRfKSISkkDXeKYMvo\n"
-"V5ElQwlKo0sonttUIGOVav8Cf4GnFQzSJW+RfANTniGIq16jE+flKz1kQYRLLoeA\n"
-"fgH/1vI1v5xqMURNW/BQlawAE0HGj4MAyfebhsWmhqmcNqGBf1OfHMNdB1vamGkC\n"
-"AwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNV\n"
-"HQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBRiCra2BJERmr2/+Klot32criLTbTAfBgNV\n"
-"HSMEGDAWgBToCEW507CZ42L/fn7H+DLcx+zW/DANBgkqhkiG9w0BAQsFAAOCAQEA\n"
-"fsG45/VuJzw5DRbrE6o67T3EgFfPCzr+xc0JmTJSCHvWIx+2O1VspmJiArNTwQ5O\n"
-"l8Hq2Sag9Wi0cyRC8lVKPbC7Im2fZ4m4endOhiEmaOHBCru5bIFRwDvtG3u+yEYI\n"
-"rzRU+6PdwmLYwc+ks8qEqACw772nElJxOWXmYEMtFpYh8eujfzjmUGIJyTotrm72\n"
-"WX8phKA/xogZaSLD21t8u77PE/JEcJ2LXAa9dq6pGYru1vyuRqq8ZeWiVAAqD6hZ\n"
-"cglKk8dLi6esywQMGEGqhRx9y1A0mPZO+M599GOgWTbShUB3pUyaLLLLnD9Dciwq\n"
-"4E4iP9rdfgStOfz12BsKOw==\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ /* CN=www.example.com */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDPDCCAiSgAwIBAgIMU/xvqR+qZTQTaWIIMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA4MjYxMTI5NDVaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "LTEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMREwDwYDVQQKEwhzZXJ2ZXItMjCC\n"
+ "ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ46qo4PFrBfYlQXSgtbk/rO\n"
+ "0aO8/Gh/bIh4c/JX0RfqC55bnfbkO9SwwR+eU76INyVb1exmd7qsl4R2EgS8V3Gf\n"
+ "3K5k4tNecMfxT98MWiuSSp8Q8+affUF5t9TSLujL1dckMlPfH9hdxCYhJGH51mkf\n"
+ "wr3oEmwNXsA9OQ8oxq2i8WxQTJGUXkwx/k2L2NRF3L8vjRnXRfKSISkkDXeKYMvo\n"
+ "V5ElQwlKo0sonttUIGOVav8Cf4GnFQzSJW+RfANTniGIq16jE+flKz1kQYRLLoeA\n"
+ "fgH/1vI1v5xqMURNW/BQlawAE0HGj4MAyfebhsWmhqmcNqGBf1OfHMNdB1vamGkC\n"
+ "AwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNV\n"
+ "HQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBRiCra2BJERmr2/+Klot32criLTbTAfBgNV\n"
+ "HSMEGDAWgBToCEW507CZ42L/fn7H+DLcx+zW/DANBgkqhkiG9w0BAQsFAAOCAQEA\n"
+ "fsG45/VuJzw5DRbrE6o67T3EgFfPCzr+xc0JmTJSCHvWIx+2O1VspmJiArNTwQ5O\n"
+ "l8Hq2Sag9Wi0cyRC8lVKPbC7Im2fZ4m4endOhiEmaOHBCru5bIFRwDvtG3u+yEYI\n"
+ "rzRU+6PdwmLYwc+ks8qEqACw772nElJxOWXmYEMtFpYh8eujfzjmUGIJyTotrm72\n"
+ "WX8phKA/xogZaSLD21t8u77PE/JEcJ2LXAa9dq6pGYru1vyuRqq8ZeWiVAAqD6hZ\n"
+ "cglKk8dLi6esywQMGEGqhRx9y1A0mPZO+M599GOgWTbShUB3pUyaLLLLnD9Dciwq\n"
+ "4E4iP9rdfgStOfz12BsKOw==\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Excluded: DNSname: example.com */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTEyOTQ1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDW2Z64Ax+MNj1j\n"
-"2QM9hjP4ybs+mz51vfDAlDVVdh2bzJOHyjTIlzI71QloH9aPuv5d92tTxe7/7afY\n"
-"fWC61AF0WKj7x8h570IW0Zye4ITEnDLlqk5Bn46IP9fWDq5xYVEGMaYT4l409Fyw\n"
-"JUZjfXqMefAXhj55wZoz+WMM0AB5LABlojLkV+iPMVJgfYWhcVijd92Yebp8R2/+\n"
-"z1nF0vQtV01tatWTEiJajPRHZCwVe71rXEf02nYiqCw5RwLZrsug5LZ+K8LoBbeE\n"
-"ezcJT5y8uf4mpTmTj2Po7Kby22yl1wkVV925a2Of7ufDL3d56SIM1foNXAAmlFar\n"
-"M5Y9hIZLAgMBAAGjgYQwgYEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzAR\n"
-"oQ8wDYILZXhhbXBsZS5jb20wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU6AhF\n"
-"udOwmeNi/35+x/gy3Mfs1vwwHwYDVR0jBBgwFoAUWU1t/YrnYJGhEfuoDj42A4ui\n"
-"j0gwDQYJKoZIhvcNAQELBQADggEBAMj2jjHmYLWxGMkLOIQ/MGtvchZ+v6vmEl7m\n"
-"GaoHkz0sxFeJqs7mwcybvwG4tlHB/PhaLTH4HfN6PLNbRA4oamr3gFsEtd/JRihw\n"
-"X/5CvdJdu/d7uN36yrD5ZTJmt5v1sAXqzkVYXHUSQLOLTIVfwQfUv8IrxTWgbhNI\n"
-"mIi55bjCyOWYzZsZ5kTDNFcBkoYiMks2fVuUdP8xrxoweedVswUdkwg1TyWLikG3\n"
-"47VuQP3eA7+zEkFUeywG89DTOpDURAlvBzaVTjKn++3RgH/A4Wa+MX6HTHXjxBIU\n"
-"1uGcMjhPjc99F81RaYdIlFsQiQ74b5RwdSvGo0e67ssgar0XKgw=\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTEyOTQ1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYTAYDM0lZ+RMg\n"
-"M1M3q4n6H/VebQ1CG1ztkinGzj7eH+fNyi9Wq5EqB/0S7jVPEuD0o5jBrwI6XFoS\n"
-"MQiWtqWHGh47qijX8y/oc75Sn/2b1gGF3zDWM9LygZZW2+QOIrvK5TcU+rAmXKsA\n"
-"765z0nTIbL3vNr9n0yEM3E13tk3Qjqx+OLhJ/ZyLKW+w+BuhLp79LcVtjNnlVfvC\n"
-"nVgLvo69YGdJxhPUjjVqKwTlvptyzELQSSQMenPmvhz2kRXjQ/6jog4tb1qkzfpP\n"
-"eYB0MVgSLeWBgNF3VLTSH06RHvXEQcdP2e3AR67sJxd6UJ4vOo1widQs0yWTZpCB\n"
-"ZJawOPqDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQUWU1t/YrnYJGhEfuoDj42A4uij0gwDQYJKoZIhvcNAQELBQAD\n"
-"ggEBACUbydVQKZi5ulzn/lQK5x/DZySJflrevZ1plV7BVBhZhlvBO0VARGNn+NW5\n"
-"G9RqY+itmyBbW/Fl43gWiHQynYneK9tYBub7WeJqr9iTX4zvI7V8fk/vbyfVRODX\n"
-"cJ8JzeLYqi6Hm1PK7Q9dz0rgyulXeuCyDeQ4jzoGIm2l7atUoGZB0f9YCJyeV2ew\n"
-"t8jMZr2sSVMgvT87S/EHMe5q5YAJQzDBAadH64icaxW3e03UeH6JYblohsZVQTIE\n"
-"wl60jozIStml73oyocfytsErDdKArrSSHxHaygAqoVu+9O5U90vwK6VDuGF0YzZj\n"
-"ZKOAu2HuFHpCMbYzUYi3FMOUU5k=\n"
-"-----END CERTIFICATE-----\n",
-NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTEyOTQ1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDW2Z64Ax+MNj1j\n"
+ "2QM9hjP4ybs+mz51vfDAlDVVdh2bzJOHyjTIlzI71QloH9aPuv5d92tTxe7/7afY\n"
+ "fWC61AF0WKj7x8h570IW0Zye4ITEnDLlqk5Bn46IP9fWDq5xYVEGMaYT4l409Fyw\n"
+ "JUZjfXqMefAXhj55wZoz+WMM0AB5LABlojLkV+iPMVJgfYWhcVijd92Yebp8R2/+\n"
+ "z1nF0vQtV01tatWTEiJajPRHZCwVe71rXEf02nYiqCw5RwLZrsug5LZ+K8LoBbeE\n"
+ "ezcJT5y8uf4mpTmTj2Po7Kby22yl1wkVV925a2Of7ufDL3d56SIM1foNXAAmlFar\n"
+ "M5Y9hIZLAgMBAAGjgYQwgYEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHR4BAf8EEzAR\n"
+ "oQ8wDYILZXhhbXBsZS5jb20wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU6AhF\n"
+ "udOwmeNi/35+x/gy3Mfs1vwwHwYDVR0jBBgwFoAUWU1t/YrnYJGhEfuoDj42A4ui\n"
+ "j0gwDQYJKoZIhvcNAQELBQADggEBAMj2jjHmYLWxGMkLOIQ/MGtvchZ+v6vmEl7m\n"
+ "GaoHkz0sxFeJqs7mwcybvwG4tlHB/PhaLTH4HfN6PLNbRA4oamr3gFsEtd/JRihw\n"
+ "X/5CvdJdu/d7uN36yrD5ZTJmt5v1sAXqzkVYXHUSQLOLTIVfwQfUv8IrxTWgbhNI\n"
+ "mIi55bjCyOWYzZsZ5kTDNFcBkoYiMks2fVuUdP8xrxoweedVswUdkwg1TyWLikG3\n"
+ "47VuQP3eA7+zEkFUeywG89DTOpDURAlvBzaVTjKn++3RgH/A4Wa+MX6HTHXjxBIU\n"
+ "1uGcMjhPjc99F81RaYdIlFsQiQ74b5RwdSvGo0e67ssgar0XKgw=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTEyOTQ1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYTAYDM0lZ+RMg\n"
+ "M1M3q4n6H/VebQ1CG1ztkinGzj7eH+fNyi9Wq5EqB/0S7jVPEuD0o5jBrwI6XFoS\n"
+ "MQiWtqWHGh47qijX8y/oc75Sn/2b1gGF3zDWM9LygZZW2+QOIrvK5TcU+rAmXKsA\n"
+ "765z0nTIbL3vNr9n0yEM3E13tk3Qjqx+OLhJ/ZyLKW+w+BuhLp79LcVtjNnlVfvC\n"
+ "nVgLvo69YGdJxhPUjjVqKwTlvptyzELQSSQMenPmvhz2kRXjQ/6jog4tb1qkzfpP\n"
+ "eYB0MVgSLeWBgNF3VLTSH06RHvXEQcdP2e3AR67sJxd6UJ4vOo1widQs0yWTZpCB\n"
+ "ZJawOPqDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUWU1t/YrnYJGhEfuoDj42A4uij0gwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBACUbydVQKZi5ulzn/lQK5x/DZySJflrevZ1plV7BVBhZhlvBO0VARGNn+NW5\n"
+ "G9RqY+itmyBbW/Fl43gWiHQynYneK9tYBub7WeJqr9iTX4zvI7V8fk/vbyfVRODX\n"
+ "cJ8JzeLYqi6Hm1PK7Q9dz0rgyulXeuCyDeQ4jzoGIm2l7atUoGZB0f9YCJyeV2ew\n"
+ "t8jMZr2sSVMgvT87S/EHMe5q5YAJQzDBAadH64icaxW3e03UeH6JYblohsZVQTIE\n"
+ "wl60jozIStml73oyocfytsErDdKArrSSHxHaygAqoVu+9O5U90vwK6VDuGF0YzZj\n"
+ "ZKOAu2HuFHpCMbYzUYi3FMOUU5k=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Name constraints: Multiple-level constraints, different subdomains */
static const char *nc_bad4[] = {
-/* DNSname: sub2.example.org */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDMjCCAhqgAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
-"MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjARMQ8wDQYDVQQDEwZz\n"
-"ZXJ2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtq4QWPb53ClQL\n"
-"hpCyCf2oX/WnrX2FaPv8m4J29fpkSTn7uuasEjLzwKvltXPJp5fE9jJnX2JyrS5z\n"
-"tBGcH7/OnxEOGtZN19gLQLRPqCjzGkez7moQEbpnO/M8xeUuil4CbuhcnTA93vjf\n"
-"i2mxQMgjS/Ffblbbv5QR6R97Eu01w2gbar7S0nj3ctl2lYiBWFIcBVbunVgtlC8L\n"
-"JgW6tv6jay/GZSUBTw8ijh0o0S1ZEVqoOBszDdLHFwO6m3XpMNocYKh2Eva9LcA+\n"
-"NmVWywaAk84RiMttMjlc+Y3Q3UhEemgh0RTE5oEIFjV9Am4uBM8LcwvmIat2oYtM\n"
-"rbhczTG9AgMBAAGjgZQwgZEwDAYDVR0TAQH/BAIwADAbBgNVHREEFDASghBzdWIy\n"
-"LmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
-"oAAwHQYDVR0OBBYEFM2roPUnRWzJSXG+5jGoBJDX5ZshMB8GA1UdIwQYMBaAFM2r\n"
-"oPUnRWzJSXG+5jGoBJDX5ZshMA0GCSqGSIb3DQEBCwUAA4IBAQARXEGjiewd62mb\n"
-"kiJ5ezzxgsnfLBlhBdrt6bTEWS1Ehnnx1HMfnerFuSmjk8SGsVXgHsqmzY5cg3Sy\n"
-"449+VqkMESOiQRmj4DmNNLu25ShLWlcfDPXBFZavPtNKUrBEWfthI7ZvHBeNe18O\n"
-"kkgYJGKLmMm5+Bz2uDOTBTPUmZkX98sUZgdcFyN8OI2q22MLWed0a+ZNZFRUN/Iw\n"
-"9gg6fzSmMBShAIxei04CZE2Wx32a9tr+mNqHa+Puch2s2EqlYJBlDGa2QgMWA8IP\n"
-"09CHQRxeICqV+cX6zJP4znQFqySX5rWWeD4FKkdQr8T1IX1bCcGKCkj1ulEntOjK\n"
-"8ZOkdWuv\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ /* DNSname: sub2.example.org */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDMjCCAhqgAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
+ "MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjARMQ8wDQYDVQQDEwZz\n"
+ "ZXJ2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtq4QWPb53ClQL\n"
+ "hpCyCf2oX/WnrX2FaPv8m4J29fpkSTn7uuasEjLzwKvltXPJp5fE9jJnX2JyrS5z\n"
+ "tBGcH7/OnxEOGtZN19gLQLRPqCjzGkez7moQEbpnO/M8xeUuil4CbuhcnTA93vjf\n"
+ "i2mxQMgjS/Ffblbbv5QR6R97Eu01w2gbar7S0nj3ctl2lYiBWFIcBVbunVgtlC8L\n"
+ "JgW6tv6jay/GZSUBTw8ijh0o0S1ZEVqoOBszDdLHFwO6m3XpMNocYKh2Eva9LcA+\n"
+ "NmVWywaAk84RiMttMjlc+Y3Q3UhEemgh0RTE5oEIFjV9Am4uBM8LcwvmIat2oYtM\n"
+ "rbhczTG9AgMBAAGjgZQwgZEwDAYDVR0TAQH/BAIwADAbBgNVHREEFDASghBzdWIy\n"
+ "LmV4YW1wbGUub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
+ "oAAwHQYDVR0OBBYEFM2roPUnRWzJSXG+5jGoBJDX5ZshMB8GA1UdIwQYMBaAFM2r\n"
+ "oPUnRWzJSXG+5jGoBJDX5ZshMA0GCSqGSIb3DQEBCwUAA4IBAQARXEGjiewd62mb\n"
+ "kiJ5ezzxgsnfLBlhBdrt6bTEWS1Ehnnx1HMfnerFuSmjk8SGsVXgHsqmzY5cg3Sy\n"
+ "449+VqkMESOiQRmj4DmNNLu25ShLWlcfDPXBFZavPtNKUrBEWfthI7ZvHBeNe18O\n"
+ "kkgYJGKLmMm5+Bz2uDOTBTPUmZkX98sUZgdcFyN8OI2q22MLWed0a+ZNZFRUN/Iw\n"
+ "9gg6fzSmMBShAIxei04CZE2Wx32a9tr+mNqHa+Puch2s2EqlYJBlDGa2QgMWA8IP\n"
+ "09CHQRxeICqV+cX6zJP4znQFqySX5rWWeD4FKkdQr8T1IX1bCcGKCkj1ulEntOjK\n"
+ "8ZOkdWuv\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: sub1.example.org */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDQjCCAiqgAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
-"MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
-"QS0yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArauEFj2+dwpUC4aQ\n"
-"sgn9qF/1p619hWj7/JuCdvX6ZEk5+7rmrBIy88Cr5bVzyaeXxPYyZ19icq0uc7QR\n"
-"nB+/zp8RDhrWTdfYC0C0T6go8xpHs+5qEBG6ZzvzPMXlLopeAm7oXJ0wPd7434tp\n"
-"sUDII0vxX25W27+UEekfexLtNcNoG2q+0tJ493LZdpWIgVhSHAVW7p1YLZQvCyYF\n"
-"urb+o2svxmUlAU8PIo4dKNEtWRFaqDgbMw3SxxcDupt16TDaHGCodhL2vS3APjZl\n"
-"VssGgJPOEYjLbTI5XPmN0N1IRHpoIdEUxOaBCBY1fQJuLgTPC3ML5iGrdqGLTK24\n"
-"XM0xvQIDAQABo4GmMIGjMA8GA1UdEwEB/wQFMAMBAf8wGwYDVR0RBBQwEoIQc3Vi\n"
-"MS5leGFtcGxlLm9yZzAiBgNVHR4BAf8EGDAWoBQwEoIQc3ViMS5leGFtcGxlLm9y\n"
-"ZzAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTNq6D1J0VsyUlxvuYxqASQ1+Wb\n"
-"ITAfBgNVHSMEGDAWgBTNq6D1J0VsyUlxvuYxqASQ1+WbITANBgkqhkiG9w0BAQsF\n"
-"AAOCAQEAR8wKnufviUhLtx0og+P/F52BcdQGgVoBdIpix57DeBQTn9PXuF70hPjg\n"
-"a/ZeSR2b65JnyO49i9bBX8ctg/FR+LBHdxMRcIN+VxyKFBtyFc2cxW5a4BWaD9SG\n"
-"hW6gzWviV3XwTfTKuY8h710cEP73Yyu1FOuejI34Jiz0sNXqhPc+08k9maFicjfk\n"
-"Ftpft0y0YM1DJmUMDMQkpShb4kojLwsSYTxU8DTRHXvBHrAdH4Np50tm6FYIXUNS\n"
-"iXlrg/c4VPwEsf5/sR+Ga60LPejZsrvhtvimUsGdNNVVWRtsgcT2jHXxyR1N1vJx\n"
-"qPlLDNLLWp9nfCk/55QqSf34dcKomg==\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDQjCCAiqgAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArauEFj2+dwpUC4aQ\n"
+ "sgn9qF/1p619hWj7/JuCdvX6ZEk5+7rmrBIy88Cr5bVzyaeXxPYyZ19icq0uc7QR\n"
+ "nB+/zp8RDhrWTdfYC0C0T6go8xpHs+5qEBG6ZzvzPMXlLopeAm7oXJ0wPd7434tp\n"
+ "sUDII0vxX25W27+UEekfexLtNcNoG2q+0tJ493LZdpWIgVhSHAVW7p1YLZQvCyYF\n"
+ "urb+o2svxmUlAU8PIo4dKNEtWRFaqDgbMw3SxxcDupt16TDaHGCodhL2vS3APjZl\n"
+ "VssGgJPOEYjLbTI5XPmN0N1IRHpoIdEUxOaBCBY1fQJuLgTPC3ML5iGrdqGLTK24\n"
+ "XM0xvQIDAQABo4GmMIGjMA8GA1UdEwEB/wQFMAMBAf8wGwYDVR0RBBQwEoIQc3Vi\n"
+ "MS5leGFtcGxlLm9yZzAiBgNVHR4BAf8EGDAWoBQwEoIQc3ViMS5leGFtcGxlLm9y\n"
+ "ZzAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTNq6D1J0VsyUlxvuYxqASQ1+Wb\n"
+ "ITAfBgNVHSMEGDAWgBTNq6D1J0VsyUlxvuYxqASQ1+WbITANBgkqhkiG9w0BAQsF\n"
+ "AAOCAQEAR8wKnufviUhLtx0og+P/F52BcdQGgVoBdIpix57DeBQTn9PXuF70hPjg\n"
+ "a/ZeSR2b65JnyO49i9bBX8ctg/FR+LBHdxMRcIN+VxyKFBtyFc2cxW5a4BWaD9SG\n"
+ "hW6gzWviV3XwTfTKuY8h710cEP73Yyu1FOuejI34Jiz0sNXqhPc+08k9maFicjfk\n"
+ "Ftpft0y0YM1DJmUMDMQkpShb4kojLwsSYTxU8DTRHXvBHrAdH4Np50tm6FYIXUNS\n"
+ "iXlrg/c4VPwEsf5/sR+Ga60LPejZsrvhtvimUsGdNNVVWRtsgcT2jHXxyR1N1vJx\n"
+ "qPlLDNLLWp9nfCk/55QqSf34dcKomg==\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: example.org */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDIDCCAgigAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
-"QS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArauEFj2+dwpUC4aQ\n"
-"sgn9qF/1p619hWj7/JuCdvX6ZEk5+7rmrBIy88Cr5bVzyaeXxPYyZ19icq0uc7QR\n"
-"nB+/zp8RDhrWTdfYC0C0T6go8xpHs+5qEBG6ZzvzPMXlLopeAm7oXJ0wPd7434tp\n"
-"sUDII0vxX25W27+UEekfexLtNcNoG2q+0tJ493LZdpWIgVhSHAVW7p1YLZQvCyYF\n"
-"urb+o2svxmUlAU8PIo4dKNEtWRFaqDgbMw3SxxcDupt16TDaHGCodhL2vS3APjZl\n"
-"VssGgJPOEYjLbTI5XPmN0N1IRHpoIdEUxOaBCBY1fQJuLgTPC3ML5iGrdqGLTK24\n"
-"XM0xvQIDAQABo4GEMIGBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0eAQH/BBMwEaAP\n"
-"MA2CC2V4YW1wbGUub3JnMA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFM2roPUn\n"
-"RWzJSXG+5jGoBJDX5ZshMB8GA1UdIwQYMBaAFM2roPUnRWzJSXG+5jGoBJDX5Zsh\n"
-"MA0GCSqGSIb3DQEBCwUAA4IBAQBr5K+BzFT2skeVkZ0fR8g6KcevlvAP7sOm8Ktm\n"
-"nINBFi9ercrD4XAqkRTCYxDZ/6D9s10lf+CW4QLw2GOQer1D+znBzZZCqFfZ2+uL\n"
-"ibQ+pth5IgsSxkxctowv7x3Y4C95TNAcWs9bWIHKgLqXhotk6mccEvxkyaPIL5yX\n"
-"U2bs+tNpaqiwdCNjTJCo1+xdQwWZfk/oOMBn6Fihuc6eGP6L6Zj2J7TqO2hafrs4\n"
-"lg1rYDU+cTtDy/eVt2UoYXLDnIm2EPcnTAaR6K3cLlh1HbeaUTDU2nE04riE8ntA\n"
-"Mpu+t5TUUq+Zcx17zn54/W5oLC0wCGzzyLhh3/mLh6RLDYub\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIIC3jCCAcagAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
-"QS0wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArauEFj2+dwpUC4aQ\n"
-"sgn9qF/1p619hWj7/JuCdvX6ZEk5+7rmrBIy88Cr5bVzyaeXxPYyZ19icq0uc7QR\n"
-"nB+/zp8RDhrWTdfYC0C0T6go8xpHs+5qEBG6ZzvzPMXlLopeAm7oXJ0wPd7434tp\n"
-"sUDII0vxX25W27+UEekfexLtNcNoG2q+0tJ493LZdpWIgVhSHAVW7p1YLZQvCyYF\n"
-"urb+o2svxmUlAU8PIo4dKNEtWRFaqDgbMw3SxxcDupt16TDaHGCodhL2vS3APjZl\n"
-"VssGgJPOEYjLbTI5XPmN0N1IRHpoIdEUxOaBCBY1fQJuLgTPC3ML5iGrdqGLTK24\n"
-"XM0xvQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBAAw\n"
-"HQYDVR0OBBYEFM2roPUnRWzJSXG+5jGoBJDX5ZshMA0GCSqGSIb3DQEBCwUAA4IB\n"
-"AQBtm548YFAtyKUyUyfz/iDPwgFq3PtxN0gfA2ZgrHG0vXDq49eDv7sQueTjY21T\n"
-"GGkgyEEOlcbPzDC7hMrfaYSEGwrwbTkrWnrqk0rorFjjkjlKkx/9EuDQ/gjyQGrn\n"
-"EvnFWwmxq+vambeRGxPWFRR9r+ugbL/xciZfT6OyoU8SZY4EpFu3e4ydmskdkt7R\n"
-"qRPOpaHBuKygw4Uq5mhNaZDMy3FjtP+wt84UOOZbjqFQ8K8AZdAaDp3TDBtzoHED\n"
-"lgv+PQMzYNnSsPVdvBC2fkgIWzZlyjeGMMtkUp3E7FeyFU1302g3xINRBmUcoO0c\n"
-"jo6K7k6FZy3n6DsJ0q/os2wA\n"
-"-----END CERTIFICATE-----\n",
-NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIDCCAgigAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArauEFj2+dwpUC4aQ\n"
+ "sgn9qF/1p619hWj7/JuCdvX6ZEk5+7rmrBIy88Cr5bVzyaeXxPYyZ19icq0uc7QR\n"
+ "nB+/zp8RDhrWTdfYC0C0T6go8xpHs+5qEBG6ZzvzPMXlLopeAm7oXJ0wPd7434tp\n"
+ "sUDII0vxX25W27+UEekfexLtNcNoG2q+0tJ493LZdpWIgVhSHAVW7p1YLZQvCyYF\n"
+ "urb+o2svxmUlAU8PIo4dKNEtWRFaqDgbMw3SxxcDupt16TDaHGCodhL2vS3APjZl\n"
+ "VssGgJPOEYjLbTI5XPmN0N1IRHpoIdEUxOaBCBY1fQJuLgTPC3ML5iGrdqGLTK24\n"
+ "XM0xvQIDAQABo4GEMIGBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0eAQH/BBMwEaAP\n"
+ "MA2CC2V4YW1wbGUub3JnMA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFM2roPUn\n"
+ "RWzJSXG+5jGoBJDX5ZshMB8GA1UdIwQYMBaAFM2roPUnRWzJSXG+5jGoBJDX5Zsh\n"
+ "MA0GCSqGSIb3DQEBCwUAA4IBAQBr5K+BzFT2skeVkZ0fR8g6KcevlvAP7sOm8Ktm\n"
+ "nINBFi9ercrD4XAqkRTCYxDZ/6D9s10lf+CW4QLw2GOQer1D+znBzZZCqFfZ2+uL\n"
+ "ibQ+pth5IgsSxkxctowv7x3Y4C95TNAcWs9bWIHKgLqXhotk6mccEvxkyaPIL5yX\n"
+ "U2bs+tNpaqiwdCNjTJCo1+xdQwWZfk/oOMBn6Fihuc6eGP6L6Zj2J7TqO2hafrs4\n"
+ "lg1rYDU+cTtDy/eVt2UoYXLDnIm2EPcnTAaR6K3cLlh1HbeaUTDU2nE04riE8ntA\n"
+ "Mpu+t5TUUq+Zcx17zn54/W5oLC0wCGzzyLhh3/mLh6RLDYub\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC3jCCAcagAwIBAgIBBzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTA0MDIyOTA3MjE0MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArauEFj2+dwpUC4aQ\n"
+ "sgn9qF/1p619hWj7/JuCdvX6ZEk5+7rmrBIy88Cr5bVzyaeXxPYyZ19icq0uc7QR\n"
+ "nB+/zp8RDhrWTdfYC0C0T6go8xpHs+5qEBG6ZzvzPMXlLopeAm7oXJ0wPd7434tp\n"
+ "sUDII0vxX25W27+UEekfexLtNcNoG2q+0tJ493LZdpWIgVhSHAVW7p1YLZQvCyYF\n"
+ "urb+o2svxmUlAU8PIo4dKNEtWRFaqDgbMw3SxxcDupt16TDaHGCodhL2vS3APjZl\n"
+ "VssGgJPOEYjLbTI5XPmN0N1IRHpoIdEUxOaBCBY1fQJuLgTPC3ML5iGrdqGLTK24\n"
+ "XM0xvQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBAAw\n"
+ "HQYDVR0OBBYEFM2roPUnRWzJSXG+5jGoBJDX5ZshMA0GCSqGSIb3DQEBCwUAA4IB\n"
+ "AQBtm548YFAtyKUyUyfz/iDPwgFq3PtxN0gfA2ZgrHG0vXDq49eDv7sQueTjY21T\n"
+ "GGkgyEEOlcbPzDC7hMrfaYSEGwrwbTkrWnrqk0rorFjjkjlKkx/9EuDQ/gjyQGrn\n"
+ "EvnFWwmxq+vambeRGxPWFRR9r+ugbL/xciZfT6OyoU8SZY4EpFu3e4ydmskdkt7R\n"
+ "qRPOpaHBuKygw4Uq5mhNaZDMy3FjtP+wt84UOOZbjqFQ8K8AZdAaDp3TDBtzoHED\n"
+ "lgv+PQMzYNnSsPVdvBC2fkgIWzZlyjeGMMtkUp3E7FeyFU1302g3xINRBmUcoO0c\n"
+ "jo6K7k6FZy3n6DsJ0q/os2wA\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Name constraints: IPAddress_v4 in excluded range */
static const char *nc_bad5[] = {
- /* IPAddress: 203.0.113.10 */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEHDCCAoSgAwIBAgIMV3OYdiegYYrQTBXhMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIBcNMTYwNjI5MDk0NDIyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
- "ETAPBgNVBAMTCHNlcnZlci0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
- "AYEA3Gp+KHwqvpNlEVkKyW1etHhOCXJPde/OJ7INv5RAd2xH5pQJI/mY7ET8RAz3\n"
- "oh4t9Ev65yljuhE1Q5qDGkjZrAhSpY8OwIQ7ZKtxH6zdKTsegAr60cfShgk2bDef\n"
- "wxbz92UBccyqzTQqWdi0Xvt9nVOkNL6EJWJ9eOW7s5fQgeEBlHYIzZyZs8ndiYqw\n"
- "Hpy6gg4XG777A0pgq96o8ybNBIHALV9aq1UGLWXGvEbi+yc6pQMYCg7OMcZq9aVO\n"
- "KBlR6HIxEohhFIWctmQDwd6ey73YV5XrDTRB7Qpe66/pqygQZNqMSaa4KL4z9KcL\n"
- "YNUtIFC39ivNBGT1gM5V3c69mkR38kYwRy0UU7C84/8t45+e6ZmSqe63RKKioaJU\n"
- "LlTCgHXwI1oeYlt7Pnm0kaWgArDJxBk5n1YxEoqkVXJ+lFy/qIF67Dosv3bNh2PU\n"
- "iPpLmbuFmdqq+E9DENeqji21CcPkvY1ekdib4JLolNJCVaRLnXPc5o0UEZrhCqfq\n"
- "UYfBAgMBAAGjcjBwMAwGA1UdEwEB/wQCMAAwDwYDVR0RBAgwBocEywBxCjAPBgNV\n"
- "HQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBRcj6YutTxQa7DfoqMSjPPQgv+p0TAfBgNV\n"
- "HSMEGDAWgBSSabOPqlecJ2jDyxpE3oaYyIBWBDANBgkqhkiG9w0BAQsFAAOCAYEA\n"
- "OyCT0ywwikYVSKEK2npyzAx7mkbkfrAHmkcCnVEgRonXKIWOL8lbRQp0m85ynVea\n"
- "aTfAVc0SNc7DMPR4tw+1gCpgsqhGEuip2Ltol9bhUovzfIpveUdJgeCI/NHBPAHH\n"
- "kwYgua8dcOwjb2SDCieXvWlE5DZUHWHNYxgTKQVB/WfAjmQbuF5olusFc2UtSk3z\n"
- "cnpBDb0+jUHfqCo8On+Wk5cc76mCvrcl9DLRFvPWN6T5IhisGVA93M1lIMQ9J9jN\n"
- "Q8SxZ7OeNaOXhBX2j27KzV7IXy0vqajdQDui1XV3Cos+EUFAt4Es8gUg5I8gNETl\n"
- "DqGglGUz2fVnLAQLClnVkZ0ExF3kDao7JwU2nl2XbzPcwwGGqLf06s5sEWinAZ2x\n"
- "k4L6YBjhauxndIkk0567/+GVeUaJxtruYA9rn/vJO6kEZXUy9eY0BF3GXQ4CKYG/\n"
- "FmFqfCwQ71LshpMsKncFp66QESAwmq9qaUqXoWSYtRABJKb9gYH42Fx0EY7QFjhq\n"
- "-----END CERTIFICATE-----\n",
- /* Name Constraints (critical):
+ /* IPAddress: 203.0.113.10 */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEHDCCAoSgAwIBAgIMV3OYdiegYYrQTBXhMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIBcNMTYwNjI5MDk0NDIyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
+ "ETAPBgNVBAMTCHNlcnZlci0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
+ "AYEA3Gp+KHwqvpNlEVkKyW1etHhOCXJPde/OJ7INv5RAd2xH5pQJI/mY7ET8RAz3\n"
+ "oh4t9Ev65yljuhE1Q5qDGkjZrAhSpY8OwIQ7ZKtxH6zdKTsegAr60cfShgk2bDef\n"
+ "wxbz92UBccyqzTQqWdi0Xvt9nVOkNL6EJWJ9eOW7s5fQgeEBlHYIzZyZs8ndiYqw\n"
+ "Hpy6gg4XG777A0pgq96o8ybNBIHALV9aq1UGLWXGvEbi+yc6pQMYCg7OMcZq9aVO\n"
+ "KBlR6HIxEohhFIWctmQDwd6ey73YV5XrDTRB7Qpe66/pqygQZNqMSaa4KL4z9KcL\n"
+ "YNUtIFC39ivNBGT1gM5V3c69mkR38kYwRy0UU7C84/8t45+e6ZmSqe63RKKioaJU\n"
+ "LlTCgHXwI1oeYlt7Pnm0kaWgArDJxBk5n1YxEoqkVXJ+lFy/qIF67Dosv3bNh2PU\n"
+ "iPpLmbuFmdqq+E9DENeqji21CcPkvY1ekdib4JLolNJCVaRLnXPc5o0UEZrhCqfq\n"
+ "UYfBAgMBAAGjcjBwMAwGA1UdEwEB/wQCMAAwDwYDVR0RBAgwBocEywBxCjAPBgNV\n"
+ "HQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBRcj6YutTxQa7DfoqMSjPPQgv+p0TAfBgNV\n"
+ "HSMEGDAWgBSSabOPqlecJ2jDyxpE3oaYyIBWBDANBgkqhkiG9w0BAQsFAAOCAYEA\n"
+ "OyCT0ywwikYVSKEK2npyzAx7mkbkfrAHmkcCnVEgRonXKIWOL8lbRQp0m85ynVea\n"
+ "aTfAVc0SNc7DMPR4tw+1gCpgsqhGEuip2Ltol9bhUovzfIpveUdJgeCI/NHBPAHH\n"
+ "kwYgua8dcOwjb2SDCieXvWlE5DZUHWHNYxgTKQVB/WfAjmQbuF5olusFc2UtSk3z\n"
+ "cnpBDb0+jUHfqCo8On+Wk5cc76mCvrcl9DLRFvPWN6T5IhisGVA93M1lIMQ9J9jN\n"
+ "Q8SxZ7OeNaOXhBX2j27KzV7IXy0vqajdQDui1XV3Cos+EUFAt4Es8gUg5I8gNETl\n"
+ "DqGglGUz2fVnLAQLClnVkZ0ExF3kDao7JwU2nl2XbzPcwwGGqLf06s5sEWinAZ2x\n"
+ "k4L6YBjhauxndIkk0567/+GVeUaJxtruYA9rn/vJO6kEZXUy9eY0BF3GXQ4CKYG/\n"
+ "FmFqfCwQ71LshpMsKncFp66QESAwmq9qaUqXoWSYtRABJKb9gYH42Fx0EY7QFjhq\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: IPAddress: 203.0.113.0/24
Excluded: IPAddress: 203.0.113.0/26 */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEKzCCApOgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDYyOTA5NDQyMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA33/Xbt7c8Y+UxoU3\n"
- "4O0f+OTJF59lqe4UJK9owqXpiyt4d4hWwZV9EkPT9ZaysPaL05+AXdfXsfUz3ClE\n"
- "RPvK1zjR7WBqhu7dQ8RGNomaP0gY7eVqa0/OcDe1Z4ogmf27WbAUVR4xDZP18Qqy\n"
- "HB9BDStOJ24wbVfYgbJq3djb886yHDch5/mtdI4/C6aZqayaLjmoNs7UovuRlQV/\n"
- "Tdid3rleUeoH9xFD3CeI+PZMIbhyQww66qMiCkrTtUN3EOtrsvWwuxUTH1dedEI3\n"
- "tboI8UO+e2VJsDjbdzGIV0+HnvwoPQHYRlrog4RW9pNSTst+DeA4XY8+/FVnfhdT\n"
- "vDdbcmit4BxdtZf9npP5iaIQTOHNntdAAPOFCoALiCMF0parEKNwNFHa98hXr+Nj\n"
- "u4/oQM57fMcOC1z4y1pt6HK0zzFNhwHUrZUlAgcnXJ9bW510m6vu2LEFgJb7mM3L\n"
- "ku+ddujNOoL0BxsaaUJCh2IP2xC0rXGi6tNwR1Bv5RBnenDxAgMBAAGjgY8wgYww\n"
- "DwYDVR0TAQH/BAUwAwEB/zAoBgNVHR4BAf8EHjAcoAwwCocIywBxAP///wChDDAK\n"
- "hwjLAHEA////wDAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBSSabOPqlecJ2jD\n"
- "yxpE3oaYyIBWBDAfBgNVHSMEGDAWgBTAJHQ/p0WPW1fW+sKB5zbefu6HDTANBgkq\n"
- "hkiG9w0BAQsFAAOCAYEAbPahfACWMab9ccrS+pBdz+4hiy+LmvOP4FRFDz/zOCsG\n"
- "iZc61cYPWmRYWGsyWz2CksTg+Ktx/85PPvKTmEctK9NSehUgKESur3CPTp32k8YZ\n"
- "4NMXYXtwNYLPe5F6uehdPst5h7lg3Rz2pPqKopQ8lfv2qYTjtNCJFZ9wCtijqWwJ\n"
- "gZA9kFfPlHeY7kdnTY/Uhw1UVC0ty6daWXkKq4fhiiCXqcIO81GQHwOYySQSJef+\n"
- "KQ3m7QHascLKSzAISbK9Ncy/C/fIcM7pQmODKPwY/K3V1CQky6jmoZQ5LUbpXEW3\n"
- "qOjCElV2WMnkj5WuxDUeoVEKtnFGXI0UY5EY1z89GP7BatbNKLyodfp9qgjuXgr9\n"
- "DacHAUWOH6sH/wg4d5pgySVJeos5l6DzwgkyECaAGFM2t08waO2Xk9SgpmfMCxCM\n"
- "Gop4d5bIEMC8qScQmA4S1wfuoQQRRZiy2A4QckXoJ1OxLj1XVgossO21h8f9uNFJ\n"
- "nfnYYSRbIp+X0mo7JjHO\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDYyOTA5NDQyMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAs4uT4SEkVU0hdD6p\n"
- "aAkXBPeVl2y37jNB88rwam6kbHKfTQ/JpTpiXULo/dCmw0fr8np/FfoMZTUk8DMm\n"
- "zIsPjgx0yDx/PeUeA1Jw+KA60rApvxhtHhw2XLkF9hkU3YVwdcKfe1Cy3ZUT+3Xr\n"
- "rfoLLyRTR8qhj2wS/ARTx989cGbOpMGgFQxOrFZhm8N2/ORYDYJQYNTeqjEmHsuu\n"
- "wR0lvKj81hVe3mu6OsK4THbVpfeNW52zWW1FXwE3xbEXuckhzs2ZAc7t7SWzqD0u\n"
- "8lVWb6vXI7LGv217EpIRwtqa9zUHXLt4UqV+kqiUxLUOjxfitJI8CPYGPhc7aocC\n"
- "popaFqZJcLYvSJJY6Ya2ihZ4VyXQoXD+N8nQsFIm6dernNYQH2rB8plknAWbQqUG\n"
- "bhjTKX/oF2LCk8ow0KumqQre1UgcPLNiLQRAhyVdXgCMQ1bd0mFrwXUT2m2X+0sn\n"
- "DmW1by2bH2cevKtVaVMHq1Y6K7mcMb7pyQak7gFYAdu3D1u5AgMBAAGjQzBBMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUwCR0P6dF\n"
- "j1tX1vrCgec23n7uhw0wDQYJKoZIhvcNAQELBQADggGBABfMsNqRJrgIsQdneT1B\n"
- "s6fXdAlPkvbRvnScn+i/OOQxolgDQwge9A+0JxqTMtvxs+X5ahi79pPzqqzH1iYV\n"
- "2eBY1JpmYbdOYBVoLUQG7GG6ZRJWcDtAjGhnxgoc+lxVePpSsiZWpXFzAYbV7jQa\n"
- "2BXvzAk+uuBCUqKhrkmGZ+ZdQ8SlDjrQyblhKLy3vPi2LhfeNwTWAv2Qx8V2XRyB\n"
- "BQSchuMBq19mSppzjN+e5ixiRoNx02fH8dfZ0bu4ONUZcoECwuCmKW6UchQTL8Yf\n"
- "GJH9beqEAHevvE8Qn5aZcpX/BPBpx5jzOFXAD4Oqg+tY9T/vfgdElD2fQOI0gJQV\n"
- "bzC83bbAkqrjeZXyn0srzegPRyVczuv26SYGjhBsLVk5pAt6Msfnu5g3MC3BjKgc\n"
- "/gYV2bFtj3NMu8bAPYkKE9G/+0PT/a3/B5k3iw9FMxuZD/vjYIdSo/oloM+Ht9WG\n"
- "EYaTPDOTm4sXdqMVlPIyhwxADNrPnlAke68rKN7H5ChozQ==\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEKzCCApOgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDYyOTA5NDQyMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA33/Xbt7c8Y+UxoU3\n"
+ "4O0f+OTJF59lqe4UJK9owqXpiyt4d4hWwZV9EkPT9ZaysPaL05+AXdfXsfUz3ClE\n"
+ "RPvK1zjR7WBqhu7dQ8RGNomaP0gY7eVqa0/OcDe1Z4ogmf27WbAUVR4xDZP18Qqy\n"
+ "HB9BDStOJ24wbVfYgbJq3djb886yHDch5/mtdI4/C6aZqayaLjmoNs7UovuRlQV/\n"
+ "Tdid3rleUeoH9xFD3CeI+PZMIbhyQww66qMiCkrTtUN3EOtrsvWwuxUTH1dedEI3\n"
+ "tboI8UO+e2VJsDjbdzGIV0+HnvwoPQHYRlrog4RW9pNSTst+DeA4XY8+/FVnfhdT\n"
+ "vDdbcmit4BxdtZf9npP5iaIQTOHNntdAAPOFCoALiCMF0parEKNwNFHa98hXr+Nj\n"
+ "u4/oQM57fMcOC1z4y1pt6HK0zzFNhwHUrZUlAgcnXJ9bW510m6vu2LEFgJb7mM3L\n"
+ "ku+ddujNOoL0BxsaaUJCh2IP2xC0rXGi6tNwR1Bv5RBnenDxAgMBAAGjgY8wgYww\n"
+ "DwYDVR0TAQH/BAUwAwEB/zAoBgNVHR4BAf8EHjAcoAwwCocIywBxAP///wChDDAK\n"
+ "hwjLAHEA////wDAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBSSabOPqlecJ2jD\n"
+ "yxpE3oaYyIBWBDAfBgNVHSMEGDAWgBTAJHQ/p0WPW1fW+sKB5zbefu6HDTANBgkq\n"
+ "hkiG9w0BAQsFAAOCAYEAbPahfACWMab9ccrS+pBdz+4hiy+LmvOP4FRFDz/zOCsG\n"
+ "iZc61cYPWmRYWGsyWz2CksTg+Ktx/85PPvKTmEctK9NSehUgKESur3CPTp32k8YZ\n"
+ "4NMXYXtwNYLPe5F6uehdPst5h7lg3Rz2pPqKopQ8lfv2qYTjtNCJFZ9wCtijqWwJ\n"
+ "gZA9kFfPlHeY7kdnTY/Uhw1UVC0ty6daWXkKq4fhiiCXqcIO81GQHwOYySQSJef+\n"
+ "KQ3m7QHascLKSzAISbK9Ncy/C/fIcM7pQmODKPwY/K3V1CQky6jmoZQ5LUbpXEW3\n"
+ "qOjCElV2WMnkj5WuxDUeoVEKtnFGXI0UY5EY1z89GP7BatbNKLyodfp9qgjuXgr9\n"
+ "DacHAUWOH6sH/wg4d5pgySVJeos5l6DzwgkyECaAGFM2t08waO2Xk9SgpmfMCxCM\n"
+ "Gop4d5bIEMC8qScQmA4S1wfuoQQRRZiy2A4QckXoJ1OxLj1XVgossO21h8f9uNFJ\n"
+ "nfnYYSRbIp+X0mo7JjHO\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDYyOTA5NDQyMVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAs4uT4SEkVU0hdD6p\n"
+ "aAkXBPeVl2y37jNB88rwam6kbHKfTQ/JpTpiXULo/dCmw0fr8np/FfoMZTUk8DMm\n"
+ "zIsPjgx0yDx/PeUeA1Jw+KA60rApvxhtHhw2XLkF9hkU3YVwdcKfe1Cy3ZUT+3Xr\n"
+ "rfoLLyRTR8qhj2wS/ARTx989cGbOpMGgFQxOrFZhm8N2/ORYDYJQYNTeqjEmHsuu\n"
+ "wR0lvKj81hVe3mu6OsK4THbVpfeNW52zWW1FXwE3xbEXuckhzs2ZAc7t7SWzqD0u\n"
+ "8lVWb6vXI7LGv217EpIRwtqa9zUHXLt4UqV+kqiUxLUOjxfitJI8CPYGPhc7aocC\n"
+ "popaFqZJcLYvSJJY6Ya2ihZ4VyXQoXD+N8nQsFIm6dernNYQH2rB8plknAWbQqUG\n"
+ "bhjTKX/oF2LCk8ow0KumqQre1UgcPLNiLQRAhyVdXgCMQ1bd0mFrwXUT2m2X+0sn\n"
+ "DmW1by2bH2cevKtVaVMHq1Y6K7mcMb7pyQak7gFYAdu3D1u5AgMBAAGjQzBBMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUwCR0P6dF\n"
+ "j1tX1vrCgec23n7uhw0wDQYJKoZIhvcNAQELBQADggGBABfMsNqRJrgIsQdneT1B\n"
+ "s6fXdAlPkvbRvnScn+i/OOQxolgDQwge9A+0JxqTMtvxs+X5ahi79pPzqqzH1iYV\n"
+ "2eBY1JpmYbdOYBVoLUQG7GG6ZRJWcDtAjGhnxgoc+lxVePpSsiZWpXFzAYbV7jQa\n"
+ "2BXvzAk+uuBCUqKhrkmGZ+ZdQ8SlDjrQyblhKLy3vPi2LhfeNwTWAv2Qx8V2XRyB\n"
+ "BQSchuMBq19mSppzjN+e5ixiRoNx02fH8dfZ0bu4ONUZcoECwuCmKW6UchQTL8Yf\n"
+ "GJH9beqEAHevvE8Qn5aZcpX/BPBpx5jzOFXAD4Oqg+tY9T/vfgdElD2fQOI0gJQV\n"
+ "bzC83bbAkqrjeZXyn0srzegPRyVczuv26SYGjhBsLVk5pAt6Msfnu5g3MC3BjKgc\n"
+ "/gYV2bFtj3NMu8bAPYkKE9G/+0PT/a3/B5k3iw9FMxuZD/vjYIdSo/oloM+Ht9WG\n"
+ "EYaTPDOTm4sXdqMVlPIyhwxADNrPnlAke68rKN7H5ChozQ==\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
-
/* Different name constraint types (testing symmetry of merging) */
static const char *nc_bad6[] = {
- /* Subject alternative name (not critical):
+ /* Subject alternative name (not critical):
DNSname: ddd.com */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEHzCCAoegAwIBAgIMV5diNwZSNyHAsK8oMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTIwIBcNMTYwNzI2MTMxNDMxWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
- "ETAPBgNVBAMTCHNlcnZlci0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
- "AYEAv27tPNVuhJu/74JaGtQH4s4ZWnIsvEiqVCUveI3YCZYNTeE0FC5fzyqcsx3Z\n"
- "K9R8WVlF7SCadNY8E7aTjFiO7x3vcHvwW6eWY7kb0ZwUlzrvaqXp8BlpwpWUP0wq\n"
- "da8TZ5S2qrYC/itHHr8Xwo3Ec3rwj8ZO/96JjDKUgbkQVGoXR85+oWdABTSZcpbL\n"
- "T4UwCkBeYbkOD2jejMlaOHy+128mYeqW8Nh+bhF9EFVWFWr9XBSpfpCguD4JvsAf\n"
- "1zFWmgZOIosLWoLg5O4Po2i4rZCQLGxSKanvHR7npfpqbUgGKHHIGVQNHeLWz4f6\n"
- "D/VwRyxiZ1+VhR9kRvcQ3SD86QAInoEPQf1F1QnFqq76mfSobjKhQC5utg6DdMvH\n"
- "GU+smT24nRtx0Q7nILWzDPr/DdvpVPpFOP58thPLB3PJnc/dobwadsi6IslvdZ+/\n"
- "K/e2Ec4G9sOTMN++0+WM60wPula7t5GTr6SAmxZbrYXZlQH0jy75DBxThO1fMDn5\n"
- "pMa3AgMBAAGjdTBzMAwGA1UdEwEB/wQCMAAwEgYDVR0RBAswCYIHZGRkLmNvbTAP\n"
- "BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQyjEcacSHAUrf91hhII8DfODB1ozAf\n"
- "BgNVHSMEGDAWgBR0larTRnVL1RZtrqpleTpk+hEkqzANBgkqhkiG9w0BAQsFAAOC\n"
- "AYEADwaR444xUTrdl/WYBrPF69SXw7Plw7d4fh/65417wiEr4mjX3pfH6owVKGgq\n"
- "dzBjtkq8+MKV5W11L/S4tpVtUJt3AVrOCQKUiQiHuB4LSKX99YBBlZ9GYSeRgp2n\n"
- "iPqaAlREizXBJyPAH6tpuEyUp0rwP5qFjDj+Ks32jJUmoiJ/rnBMFBIdlWHpan0a\n"
- "7lIQi1uKIzQBELHmb13Yk/K99ilYaT5V/hPFRI02Q6/nLCTyuL7jLBijB8o8nwzp\n"
- "crXGwROBXKdn8NE+SrLPALM1/Hms/KANzLI6CjjZrO88YyNvWjCs8K8/sags8XiJ\n"
- "bxEIM/sEMV0I28E3T7kDywdf8OUvADYQIJidsrwv+n+UcI3MTZjax/295afjgBYF\n"
- "Zn1wEB/N2t22XlXvkbefYRaYvv1rCb7WaSvvzUaNsq2CL0uG353roiuti++MM1Cf\n"
- "wraL3SaauiI5gIjF03wElMyuAnKctk5cig7YVrhWAUx6fP5IOQdczRhP5SeUQBNX\n"
- "sEnr\n"
- "-----END CERTIFICATE-----\n",
- /* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEHzCCAoegAwIBAgIMV5diNwZSNyHAsK8oMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTIwIBcNMTYwNzI2MTMxNDMxWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
+ "ETAPBgNVBAMTCHNlcnZlci0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
+ "AYEAv27tPNVuhJu/74JaGtQH4s4ZWnIsvEiqVCUveI3YCZYNTeE0FC5fzyqcsx3Z\n"
+ "K9R8WVlF7SCadNY8E7aTjFiO7x3vcHvwW6eWY7kb0ZwUlzrvaqXp8BlpwpWUP0wq\n"
+ "da8TZ5S2qrYC/itHHr8Xwo3Ec3rwj8ZO/96JjDKUgbkQVGoXR85+oWdABTSZcpbL\n"
+ "T4UwCkBeYbkOD2jejMlaOHy+128mYeqW8Nh+bhF9EFVWFWr9XBSpfpCguD4JvsAf\n"
+ "1zFWmgZOIosLWoLg5O4Po2i4rZCQLGxSKanvHR7npfpqbUgGKHHIGVQNHeLWz4f6\n"
+ "D/VwRyxiZ1+VhR9kRvcQ3SD86QAInoEPQf1F1QnFqq76mfSobjKhQC5utg6DdMvH\n"
+ "GU+smT24nRtx0Q7nILWzDPr/DdvpVPpFOP58thPLB3PJnc/dobwadsi6IslvdZ+/\n"
+ "K/e2Ec4G9sOTMN++0+WM60wPula7t5GTr6SAmxZbrYXZlQH0jy75DBxThO1fMDn5\n"
+ "pMa3AgMBAAGjdTBzMAwGA1UdEwEB/wQCMAAwEgYDVR0RBAswCYIHZGRkLmNvbTAP\n"
+ "BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQyjEcacSHAUrf91hhII8DfODB1ozAf\n"
+ "BgNVHSMEGDAWgBR0larTRnVL1RZtrqpleTpk+hEkqzANBgkqhkiG9w0BAQsFAAOC\n"
+ "AYEADwaR444xUTrdl/WYBrPF69SXw7Plw7d4fh/65417wiEr4mjX3pfH6owVKGgq\n"
+ "dzBjtkq8+MKV5W11L/S4tpVtUJt3AVrOCQKUiQiHuB4LSKX99YBBlZ9GYSeRgp2n\n"
+ "iPqaAlREizXBJyPAH6tpuEyUp0rwP5qFjDj+Ks32jJUmoiJ/rnBMFBIdlWHpan0a\n"
+ "7lIQi1uKIzQBELHmb13Yk/K99ilYaT5V/hPFRI02Q6/nLCTyuL7jLBijB8o8nwzp\n"
+ "crXGwROBXKdn8NE+SrLPALM1/Hms/KANzLI6CjjZrO88YyNvWjCs8K8/sags8XiJ\n"
+ "bxEIM/sEMV0I28E3T7kDywdf8OUvADYQIJidsrwv+n+UcI3MTZjax/295afjgBYF\n"
+ "Zn1wEB/N2t22XlXvkbefYRaYvv1rCb7WaSvvzUaNsq2CL0uG353roiuti++MM1Cf\n"
+ "wraL3SaauiI5gIjF03wElMyuAnKctk5cig7YVrhWAUx6fP5IOQdczRhP5SeUQBNX\n"
+ "sEnr\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: ccc.com */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEGjCCAoKgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCAXDTE2MDcyNjEzMTQzMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAo48gh92ygu5fGfzP\n"
- "nVwd8wLN8+1+k2WKOWupimwHdNG34KGKABlnjEjTZWuzZD05xf4V879YO8fiEWCT\n"
- "Nty70MmFyGXp9iCQpjIyTHhPVIIXfHKH1FbMvTiCicTtgFlcxFS5XnlhfN9H3Js1\n"
- "o0IA7Zyoq28s/Jkv6+b2YEr9OyNc4tMu6vLmEEnaDYwa0uLr7Tut6bTt+46bP1//\n"
- "d75xRsidnAM2tbYrhJ7MgTVTPYt9ewr8JcL0LDb4wH26fitddGAKQUE3VCQ/anyi\n"
- "PeOjoKryRaAsMtzDTfBRAx9eKIkKSYdA9c/dQmPO33Gxp2XctllVwPav5PDRSCdO\n"
- "F0dUJ0fqSNm95rpwCHw1B/MfSug1ye2AG3F8L+NX8SAqOgFgeZmukscrty3mwqOH\n"
- "sQRnSuu1+x6jUypwGoNifWuAZjdUiNflC6JfXwuZ8lS8xdvEkFSyK52xkcrWdvFu\n"
- "FNh8WsnpWkbBwaY1Y0nD1RY1thgMcbcJWtOiUTDOJKtNbQP5AgMBAAGjfzB9MA8G\n"
- "A1UdEwEB/wQFMAMBAf8wGQYDVR0eAQH/BA8wDaALMAmCB2NjYy5jb20wDwYDVR0P\n"
- "AQH/BAUDAwcEADAdBgNVHQ4EFgQUdJWq00Z1S9UWba6qZXk6ZPoRJKswHwYDVR0j\n"
- "BBgwFoAUjuF/dTI8YtA8wD+BlmP2MTUZNTwwDQYJKoZIhvcNAQELBQADggGBAIe7\n"
- "7o7DdYEj1mj5HU38fJ+8Dbugya98LODWSXXDpyxmFdn/A/poARj4DovFwXJ/0K+I\n"
- "BQ3jDvoJu6sV3/V2WKL613euX7vIK1sahbzlVHtBWxUAvCyg05ZOFp59ZxahHLO7\n"
- "6BF1QQK/PKtABTijCtcsoEGU7Smntn1mu5pMXoUHb8Sm+kkR7Wwm/z93lnHASG5B\n"
- "uGPQaXnZ4cMFa7+4tBe8Dz4huSQObye+iHVnkizQmEighHVK+4qKExMOTwJB5ba0\n"
- "6K8mKY7YAGDGUgjJzXVmGJPp7mb74AEJiyGobYB+Om9kPkWyAZW09EYl9GnCDl7u\n"
- "kiI8IqfoA6yvxHerQTsjS55TXTPmOl9dvYpnF07QxK8UwtZvf55zniKHjsP7TBoe\n"
- "9IJt7xxMeYbv6eDbxIpUp8HiljTTxKPKFZaFEOCFBjk4G/yUQNNiNUYdvsRdhvq2\n"
- "v7o3zwatl2i87lXGD7C78o2jqZDHoZI49XKN6ZW6dw3tpnjrEJeom8MwJfjHww==\n"
- "-----END CERTIFICATE-----\n",
- /* Name Constraints (critical):
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEGjCCAoKgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCAXDTE2MDcyNjEzMTQzMFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAo48gh92ygu5fGfzP\n"
+ "nVwd8wLN8+1+k2WKOWupimwHdNG34KGKABlnjEjTZWuzZD05xf4V879YO8fiEWCT\n"
+ "Nty70MmFyGXp9iCQpjIyTHhPVIIXfHKH1FbMvTiCicTtgFlcxFS5XnlhfN9H3Js1\n"
+ "o0IA7Zyoq28s/Jkv6+b2YEr9OyNc4tMu6vLmEEnaDYwa0uLr7Tut6bTt+46bP1//\n"
+ "d75xRsidnAM2tbYrhJ7MgTVTPYt9ewr8JcL0LDb4wH26fitddGAKQUE3VCQ/anyi\n"
+ "PeOjoKryRaAsMtzDTfBRAx9eKIkKSYdA9c/dQmPO33Gxp2XctllVwPav5PDRSCdO\n"
+ "F0dUJ0fqSNm95rpwCHw1B/MfSug1ye2AG3F8L+NX8SAqOgFgeZmukscrty3mwqOH\n"
+ "sQRnSuu1+x6jUypwGoNifWuAZjdUiNflC6JfXwuZ8lS8xdvEkFSyK52xkcrWdvFu\n"
+ "FNh8WsnpWkbBwaY1Y0nD1RY1thgMcbcJWtOiUTDOJKtNbQP5AgMBAAGjfzB9MA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wGQYDVR0eAQH/BA8wDaALMAmCB2NjYy5jb20wDwYDVR0P\n"
+ "AQH/BAUDAwcEADAdBgNVHQ4EFgQUdJWq00Z1S9UWba6qZXk6ZPoRJKswHwYDVR0j\n"
+ "BBgwFoAUjuF/dTI8YtA8wD+BlmP2MTUZNTwwDQYJKoZIhvcNAQELBQADggGBAIe7\n"
+ "7o7DdYEj1mj5HU38fJ+8Dbugya98LODWSXXDpyxmFdn/A/poARj4DovFwXJ/0K+I\n"
+ "BQ3jDvoJu6sV3/V2WKL613euX7vIK1sahbzlVHtBWxUAvCyg05ZOFp59ZxahHLO7\n"
+ "6BF1QQK/PKtABTijCtcsoEGU7Smntn1mu5pMXoUHb8Sm+kkR7Wwm/z93lnHASG5B\n"
+ "uGPQaXnZ4cMFa7+4tBe8Dz4huSQObye+iHVnkizQmEighHVK+4qKExMOTwJB5ba0\n"
+ "6K8mKY7YAGDGUgjJzXVmGJPp7mb74AEJiyGobYB+Om9kPkWyAZW09EYl9GnCDl7u\n"
+ "kiI8IqfoA6yvxHerQTsjS55TXTPmOl9dvYpnF07QxK8UwtZvf55zniKHjsP7TBoe\n"
+ "9IJt7xxMeYbv6eDbxIpUp8HiljTTxKPKFZaFEOCFBjk4G/yUQNNiNUYdvsRdhvq2\n"
+ "v7o3zwatl2i87lXGD7C78o2jqZDHoZI49XKN6ZW6dw3tpnjrEJeom8MwJfjHww==\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: RFC822Name: eee.com */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEGjCCAoKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDcyNjEzMTQyOVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwoXjtDX6uN+SF7qF\n"
- "dEWvxYb9Q3gu0PT0N7a17FaystBIGmw5lT9PnMUJKHPxNwrn+QdD1ReEmf6K4D8q\n"
- "vQzIzbCSBIV8bBZLA1/iH/hRaYvCvQLIaSnDEiDkkswkOyu/k7RDdB5H8q8Ey5x+\n"
- "udlqQGDsjHVQCKeWfAHXl+NRQ7ONj69cVbI1qz4r1KhnVt9BsxSmXw5n2BBul3Ns\n"
- "BY6yD8WD7js2sGxSMuv8hjFozc1t2u6APmkEJwiGx0fe+0Wu2HHNOUu+oyeiuPLq\n"
- "6G/Nz1B15E15iY+Fi6g7Qa9k97UuLPiIzjqD4JtnSerBxhkossWa7KrOw7no5Ws+\n"
- "d1lpZ92zGt8kTpi7KxQIV/zxvaXVBKv3br/FmKYxswFrbkXoYaFXrdsPs49B9OyX\n"
- "WY1zMWhbU4uddPG964yxDz2oTehRjvvxF+1oSAaoLn4chlPpx8p3unj5Y/h8xr/+\n"
- "Ciwblu3LE/1boa1zS/wM89UwysakVsaAxO3XjZyJPAJsTndTAgMBAAGjfzB9MA8G\n"
- "A1UdEwEB/wQFMAMBAf8wGQYDVR0eAQH/BA8wDaALMAmBB2VlZS5jb20wDwYDVR0P\n"
- "AQH/BAUDAwcEADAdBgNVHQ4EFgQUjuF/dTI8YtA8wD+BlmP2MTUZNTwwHwYDVR0j\n"
- "BBgwFoAU12oooOGTdVttQK9BdMpkS9Ch5Y0wDQYJKoZIhvcNAQELBQADggGBAEN8\n"
- "7Uou6LgI5RKyRL8UB4pLs53+mkUPoXCkCbv9mdFAqoi9OP89ALrF11tlME9PQZFj\n"
- "90sxnK4S7ZTDBeS12AUlEEQLCTIrqTMVTyiiklS4bSck4TOGFCaQhrsh7ZliEqkm\n"
- "oVsxYs0DYW66lVam/+K+5i6mO7Z4HGo5GDbU8nhMNHlighURfmzJ10xh6Z5s6uSA\n"
- "K16OzIOiSqUXp+nT7/NmWSzVgegCqScXLHZ6VDHDzfjURHrqnNTGg4ByMJo1R9DF\n"
- "Ne6khju2qP5j71Fwxz3RyZwwdhrPN3QSmMGyuFK3GS5WOYTeg35/Fa54UGVCKSM9\n"
- "Dsdg2lHS4+Bxkcj6fSj++5RE2CILOP2vV08VdV5IVFNWSNXhNM4JPOaSjKzIXNuq\n"
- "VdXTXxYBn90WA4/WNvUiUaVSioLvf/8Fv57/5JVwTsqM/I5TKZm/sbVePdX/3G/O\n"
- "7AmDbp8t5zInW1EUev7ThIRWlr2Jr4NivzeHcjRwdQW0HT0kwJfJSTzH/4RzAg==\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDcyNjEzMTQyOVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAzipouUl1Uqxd0TpN\n"
- "JO8syBj5zG5Rasydf5ucdnu5P1gjRvoHulrlYy5/NUA+7N3QLN6fo4cjRZ890p18\n"
- "7xqp/EdPUaFhv8bgyiaB8pXuQWTldqcuPSwUzXBHAmqhQ5lE7oomyGA4nqEJreas\n"
- "ishVn8v1M3FS6woAiJAxP5vbUOMkoxmoGZy6KkHNGZI+GUSDkoZBWTod8fFSMDYg\n"
- "kQk8QAGctCAG6Ms9NWKQpNHbTmz9478AC4phZR5QzvstzD6WpEvnXTI7K3ByoSN2\n"
- "0OeQzl5u3HbNJYDydOZbYuSnbADGL/QpBqirmcMUi28lXuSJ6c6jdvnOODqbahvr\n"
- "zvJDw6FQtn3OMdZnnSvWhkg6SxvImi99ABpS7SLNHDxm6CWrvbuZVFR21Tl/uxZl\n"
- "4je2QW6WaFQRO2J7iVWY2YJtDHLAGA7esfofnvRNSHEh1e5n8G67X5xGGFIIvBu9\n"
- "YSFmwTYZcu+DOa5DOU4tAQtftuWcK3XdcRJBn0X0NbBG13YxAgMBAAGjQzBBMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU12oooOGT\n"
- "dVttQK9BdMpkS9Ch5Y0wDQYJKoZIhvcNAQELBQADggGBABVza/dPn0VSs8frs2nw\n"
- "Pd3QoclMKNJ+myDtn5P4q4X0MNKVUQqz7HZ2RPa4UH5PDRp1PbYP45z56wIoYfJb\n"
- "i/sdDax0Nd0w6rmpl+koP0m24p8asxt0KenGQiBYfeEy2pxFn5aEKoDnyNAdhZRQ\n"
- "2Ug+pp9OMJoTqAPcDGbooHs5j5wHcIfO0bRhl7/QnDc5HK6ll4SmOrfJ8LpkO0BY\n"
- "vQK9zWC5Y3zck5uz8tNSCiGgt6y8MZQisC3JYWkzXE9xOjNfUBN+KhdF8ETgaBMZ\n"
- "QxguU5VbKtzqG8cpl+6tgW/Otrarirov4EVGhn2B9gwy8cIBe5Q6hXhnzYCpJjVq\n"
- "NWGSJ8T0gD+KZt/zxIAWWaYdMUXR7nQ5S+gY3Kn/OoTBZMrKJ3LSEQW42USrQwAl\n"
- "p6YA+vX9EI4B1r5uGDoxklkxAAOrO4sddw7MuncjeQzahqbI4IQmxj+GfjTXZ5Df\n"
- "gmQvlqt9tOTE0uIbWQT+iaXo28yZ+D0ymU8QazjG7UX9dg==\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEGjCCAoKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDcyNjEzMTQyOVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwoXjtDX6uN+SF7qF\n"
+ "dEWvxYb9Q3gu0PT0N7a17FaystBIGmw5lT9PnMUJKHPxNwrn+QdD1ReEmf6K4D8q\n"
+ "vQzIzbCSBIV8bBZLA1/iH/hRaYvCvQLIaSnDEiDkkswkOyu/k7RDdB5H8q8Ey5x+\n"
+ "udlqQGDsjHVQCKeWfAHXl+NRQ7ONj69cVbI1qz4r1KhnVt9BsxSmXw5n2BBul3Ns\n"
+ "BY6yD8WD7js2sGxSMuv8hjFozc1t2u6APmkEJwiGx0fe+0Wu2HHNOUu+oyeiuPLq\n"
+ "6G/Nz1B15E15iY+Fi6g7Qa9k97UuLPiIzjqD4JtnSerBxhkossWa7KrOw7no5Ws+\n"
+ "d1lpZ92zGt8kTpi7KxQIV/zxvaXVBKv3br/FmKYxswFrbkXoYaFXrdsPs49B9OyX\n"
+ "WY1zMWhbU4uddPG964yxDz2oTehRjvvxF+1oSAaoLn4chlPpx8p3unj5Y/h8xr/+\n"
+ "Ciwblu3LE/1boa1zS/wM89UwysakVsaAxO3XjZyJPAJsTndTAgMBAAGjfzB9MA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wGQYDVR0eAQH/BA8wDaALMAmBB2VlZS5jb20wDwYDVR0P\n"
+ "AQH/BAUDAwcEADAdBgNVHQ4EFgQUjuF/dTI8YtA8wD+BlmP2MTUZNTwwHwYDVR0j\n"
+ "BBgwFoAU12oooOGTdVttQK9BdMpkS9Ch5Y0wDQYJKoZIhvcNAQELBQADggGBAEN8\n"
+ "7Uou6LgI5RKyRL8UB4pLs53+mkUPoXCkCbv9mdFAqoi9OP89ALrF11tlME9PQZFj\n"
+ "90sxnK4S7ZTDBeS12AUlEEQLCTIrqTMVTyiiklS4bSck4TOGFCaQhrsh7ZliEqkm\n"
+ "oVsxYs0DYW66lVam/+K+5i6mO7Z4HGo5GDbU8nhMNHlighURfmzJ10xh6Z5s6uSA\n"
+ "K16OzIOiSqUXp+nT7/NmWSzVgegCqScXLHZ6VDHDzfjURHrqnNTGg4ByMJo1R9DF\n"
+ "Ne6khju2qP5j71Fwxz3RyZwwdhrPN3QSmMGyuFK3GS5WOYTeg35/Fa54UGVCKSM9\n"
+ "Dsdg2lHS4+Bxkcj6fSj++5RE2CILOP2vV08VdV5IVFNWSNXhNM4JPOaSjKzIXNuq\n"
+ "VdXTXxYBn90WA4/WNvUiUaVSioLvf/8Fv57/5JVwTsqM/I5TKZm/sbVePdX/3G/O\n"
+ "7AmDbp8t5zInW1EUev7ThIRWlr2Jr4NivzeHcjRwdQW0HT0kwJfJSTzH/4RzAg==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDcyNjEzMTQyOVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAzipouUl1Uqxd0TpN\n"
+ "JO8syBj5zG5Rasydf5ucdnu5P1gjRvoHulrlYy5/NUA+7N3QLN6fo4cjRZ890p18\n"
+ "7xqp/EdPUaFhv8bgyiaB8pXuQWTldqcuPSwUzXBHAmqhQ5lE7oomyGA4nqEJreas\n"
+ "ishVn8v1M3FS6woAiJAxP5vbUOMkoxmoGZy6KkHNGZI+GUSDkoZBWTod8fFSMDYg\n"
+ "kQk8QAGctCAG6Ms9NWKQpNHbTmz9478AC4phZR5QzvstzD6WpEvnXTI7K3ByoSN2\n"
+ "0OeQzl5u3HbNJYDydOZbYuSnbADGL/QpBqirmcMUi28lXuSJ6c6jdvnOODqbahvr\n"
+ "zvJDw6FQtn3OMdZnnSvWhkg6SxvImi99ABpS7SLNHDxm6CWrvbuZVFR21Tl/uxZl\n"
+ "4je2QW6WaFQRO2J7iVWY2YJtDHLAGA7esfofnvRNSHEh1e5n8G67X5xGGFIIvBu9\n"
+ "YSFmwTYZcu+DOa5DOU4tAQtftuWcK3XdcRJBn0X0NbBG13YxAgMBAAGjQzBBMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU12oooOGT\n"
+ "dVttQK9BdMpkS9Ch5Y0wDQYJKoZIhvcNAQELBQADggGBABVza/dPn0VSs8frs2nw\n"
+ "Pd3QoclMKNJ+myDtn5P4q4X0MNKVUQqz7HZ2RPa4UH5PDRp1PbYP45z56wIoYfJb\n"
+ "i/sdDax0Nd0w6rmpl+koP0m24p8asxt0KenGQiBYfeEy2pxFn5aEKoDnyNAdhZRQ\n"
+ "2Ug+pp9OMJoTqAPcDGbooHs5j5wHcIfO0bRhl7/QnDc5HK6ll4SmOrfJ8LpkO0BY\n"
+ "vQK9zWC5Y3zck5uz8tNSCiGgt6y8MZQisC3JYWkzXE9xOjNfUBN+KhdF8ETgaBMZ\n"
+ "QxguU5VbKtzqG8cpl+6tgW/Otrarirov4EVGhn2B9gwy8cIBe5Q6hXhnzYCpJjVq\n"
+ "NWGSJ8T0gD+KZt/zxIAWWaYdMUXR7nQ5S+gY3Kn/OoTBZMrKJ3LSEQW42USrQwAl\n"
+ "p6YA+vX9EI4B1r5uGDoxklkxAAOrO4sddw7MuncjeQzahqbI4IQmxj+GfjTXZ5Df\n"
+ "gmQvlqt9tOTE0uIbWQT+iaXo28yZ+D0ymU8QazjG7UX9dg==\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* This chain has name constraints on the CA but the end certificate
* has no name on CN or subjectAltname. */
static const char *nc_good0[] = {
- /* empty CN, empty SAN */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIjCCAgqgAwIBAgIMVRJquRMxIN9nRLG4MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIhgPMjAxNTAzMjUwNzU4NDlaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEChMIc2VydmVyLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDEiLbqiSgPhAlwQXdn6Z7EoYMRiNHX+6cnlI195lv5LPdupiZ7EPF6y8rs\n"
- "H/PyRwLhOuhfyAbBibBTWKt1n100UqAcr0Z/l2+zBorc/APhKrysDlWyYUjs/Ly1\n"
- "pNQ4V9POpuCqEcPsGWcSr3ULqdRH2PoguWoF0el59fOyioUV+PbKAHPxs342fqu0\n"
- "Plk3Bru4kf4R0U3L1r0DogFUYmjhGyhxKAezEikQGgrwlo30LD/31uuzJWs5x1+l\n"
- "sGOKHIfxiWlBS8781QKuIWHT8Z+qsnPXobQ4ss2jF4qHjwIesJr8vq0OP2mQ/Ilh\n"
- "WwcNJJtWwHE6O6Vj1kWUQ9kDuWQ3AgMBAAGjdjB0MAwGA1UdEwEB/wQCMAAwEwYD\n"
- "VR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQU8U1K\n"
- "y6Tq/tczkOCK7CZhUAiuUcwwHwYDVR0jBBgwFoAUvSbAZPs2w5eQBjoLYPh+uKyj\n"
- "ZzswDQYJKoZIhvcNAQELBQADggEBAG2H5HeItTKZVgNd2hFPfi0QUvheX8mjMniV\n"
- "uaS/1zDSvAJOJue2GEpiYeTLvjd4WA5J09ZRSAuVWR9hg44m17TF2pod3YFBfGwx\n"
- "8RkEp5W8LBdwPzcgbLVxkWmwZTo1v4Xv679uyVTeB306vfkTrsa0C82S5zJd1Wyt\n"
- "/bFaNnxxb6KzVhFEctaVPVZdwrj7Q6XASH1oCfe/l50UcUkK853cXhV3CNJ8OUOY\n"
- "h8O7FN/s5oZ23R9eX2D9mHJ/ccucv46ofAmQ9TjLZIACp89IfoMf61MOUG51BIlt\n"
- "t494m704KMI2Y4hci5fHZ4UbcykjNpwkAMnCuk0K8K4gAFT6SZ8=\n"
- "-----END CERTIFICATE-----\n",
- NULL,
- /* Name constraints (critical):
+ /* empty CN, empty SAN */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIjCCAgqgAwIBAgIMVRJquRMxIN9nRLG4MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIhgPMjAxNTAzMjUwNzU4NDlaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEChMIc2VydmVyLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDEiLbqiSgPhAlwQXdn6Z7EoYMRiNHX+6cnlI195lv5LPdupiZ7EPF6y8rs\n"
+ "H/PyRwLhOuhfyAbBibBTWKt1n100UqAcr0Z/l2+zBorc/APhKrysDlWyYUjs/Ly1\n"
+ "pNQ4V9POpuCqEcPsGWcSr3ULqdRH2PoguWoF0el59fOyioUV+PbKAHPxs342fqu0\n"
+ "Plk3Bru4kf4R0U3L1r0DogFUYmjhGyhxKAezEikQGgrwlo30LD/31uuzJWs5x1+l\n"
+ "sGOKHIfxiWlBS8781QKuIWHT8Z+qsnPXobQ4ss2jF4qHjwIesJr8vq0OP2mQ/Ilh\n"
+ "WwcNJJtWwHE6O6Vj1kWUQ9kDuWQ3AgMBAAGjdjB0MAwGA1UdEwEB/wQCMAAwEwYD\n"
+ "VR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQU8U1K\n"
+ "y6Tq/tczkOCK7CZhUAiuUcwwHwYDVR0jBBgwFoAUvSbAZPs2w5eQBjoLYPh+uKyj\n"
+ "ZzswDQYJKoZIhvcNAQELBQADggEBAG2H5HeItTKZVgNd2hFPfi0QUvheX8mjMniV\n"
+ "uaS/1zDSvAJOJue2GEpiYeTLvjd4WA5J09ZRSAuVWR9hg44m17TF2pod3YFBfGwx\n"
+ "8RkEp5W8LBdwPzcgbLVxkWmwZTo1v4Xv679uyVTeB306vfkTrsa0C82S5zJd1Wyt\n"
+ "/bFaNnxxb6KzVhFEctaVPVZdwrj7Q6XASH1oCfe/l50UcUkK853cXhV3CNJ8OUOY\n"
+ "h8O7FN/s5oZ23R9eX2D9mHJ/ccucv46ofAmQ9TjLZIACp89IfoMf61MOUG51BIlt\n"
+ "t494m704KMI2Y4hci5fHZ4UbcykjNpwkAMnCuk0K8K4gAFT6SZ8=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL,
+ /* Name constraints (critical):
Permitted: DNSname: example.com */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC/zCCAeegAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTUwMzI1MDc1ODQ5WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUEBLGhjEj8pLO\n"
- "cU3UVmC+FcN3OKXH5lqm4pdxP6rbk0C9WKgavGV9MfEali767BaLHaEzxdCpcbxr\n"
- "YdBKFcij7ucF9YqpoDD5HnMLhOEHKnQD0nk5wWYw7Q9ULy0wqEy15nfDdunDbYK5\n"
- "TG7K2nsKcyPkEs637bJPBSOVSpn7mT49OnpSNpZcD361SqRh+OY8Iorr1m9DsrfW\n"
- "8J9JCf4VlaL821PzoA/EEReabPI9TM10QYpN4J0JQsQnmuU/0WdaEJtq4pFZIZfJ\n"
- "WtGGS6GX5faOkyMj5SuunZIjLal/+GRSVk1m3vfmDUp4MVKAqfqQ068Ix/aLEipX\n"
- "8mNnyp95AgMBAAGjYjBgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0eAQH/BBMwEaAP\n"
- "MA2CC2V4YW1wbGUuY29tMA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFL0mwGT7\n"
- "NsOXkAY6C2D4friso2c7MA0GCSqGSIb3DQEBCwUAA4IBAQBSfcTha0878cAy3Peg\n"
- "V9z+5rNr7/3Awf5HRTRr2VAATloXJ7iyvuvWmPlIKek40W+Xh4aHjZLjdfuPWyeV\n"
- "EXAcEEwhxY4t8NRATzgBy8WyP64LRQnFsmo4p5VbT0ddcqUqwDDYgbNPdLmfLUwV\n"
- "JS5DNFSsDco5Ng1DoQCLoIkuLMwD7g7YfMyUq8HupEI9TuhcXC5FUZbt0KjkQk9c\n"
- "fbBiEvZcxlmLQRiC0sWFmuBteMyrnw3Y68jpl12ORyB/oVpCvXlYm4ViCCh5uyx3\n"
- "Ml+FbR8ws+dEvGKmer50Lfw6/WSyEb/zWlLUUqClbJChLVnGMjgvwUqrLSKUcUw6\n"
- "DsYI\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC/zCCAeegAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTUwMzI1MDc1ODQ5WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUEBLGhjEj8pLO\n"
+ "cU3UVmC+FcN3OKXH5lqm4pdxP6rbk0C9WKgavGV9MfEali767BaLHaEzxdCpcbxr\n"
+ "YdBKFcij7ucF9YqpoDD5HnMLhOEHKnQD0nk5wWYw7Q9ULy0wqEy15nfDdunDbYK5\n"
+ "TG7K2nsKcyPkEs637bJPBSOVSpn7mT49OnpSNpZcD361SqRh+OY8Iorr1m9DsrfW\n"
+ "8J9JCf4VlaL821PzoA/EEReabPI9TM10QYpN4J0JQsQnmuU/0WdaEJtq4pFZIZfJ\n"
+ "WtGGS6GX5faOkyMj5SuunZIjLal/+GRSVk1m3vfmDUp4MVKAqfqQ068Ix/aLEipX\n"
+ "8mNnyp95AgMBAAGjYjBgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0eAQH/BBMwEaAP\n"
+ "MA2CC2V4YW1wbGUuY29tMA8GA1UdDwEB/wQFAwMHBAAwHQYDVR0OBBYEFL0mwGT7\n"
+ "NsOXkAY6C2D4friso2c7MA0GCSqGSIb3DQEBCwUAA4IBAQBSfcTha0878cAy3Peg\n"
+ "V9z+5rNr7/3Awf5HRTRr2VAATloXJ7iyvuvWmPlIKek40W+Xh4aHjZLjdfuPWyeV\n"
+ "EXAcEEwhxY4t8NRATzgBy8WyP64LRQnFsmo4p5VbT0ddcqUqwDDYgbNPdLmfLUwV\n"
+ "JS5DNFSsDco5Ng1DoQCLoIkuLMwD7g7YfMyUq8HupEI9TuhcXC5FUZbt0KjkQk9c\n"
+ "fbBiEvZcxlmLQRiC0sWFmuBteMyrnw3Y68jpl12ORyB/oVpCvXlYm4ViCCh5uyx3\n"
+ "Ml+FbR8ws+dEvGKmer50Lfw6/WSyEb/zWlLUUqClbJChLVnGMjgvwUqrLSKUcUw6\n"
+ "DsYI\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Name constraints: DNSname in permitted range, intermediate certs without constraints */
static const char *nc_good1[] = {
-/* DNSname: www.example.com */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDQDCCAiigAwIBAgIMU/xyoxPcYVSaqH7/MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
-"BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMTQyMjdaGA85OTk5MTIzMTIzNTk1OVow\n"
-"EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
-"AoIBAQDkemVOFdbhBX1qwjxQHr3LmPktNEVBmXjrIvyp++dN7gCYzubnpiLcBE+B\n"
-"S2b+ppxBYm9ynKijhGrO+lZPCQRXWmqUg4YDfvnEqM4n04dCE98jN4IhwvWZyP3p\n"
-"+U8Ra9mVIBAY2MReo1dcJQHNmo560xzxioHsGNQHAfYgVRHiE5hIXchYbWCkBrKt\n"
-"XOoSSTmfgCF3L22p6S1q143VoKUr/C9zqinZo6feGAiTprj6YH0tHswjGBbxTFLb\n"
-"q3ThbGDR5FNYL5q0FvQRNbjoF4oFitZ3P1Qkrzq7VIJd9k8J1C3g/16U2dDTKqRX\n"
-"ejX7maFZ6oRZJASsRSowEs4wTfRpAgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
-"BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
-"DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUAEYPmcA7S/KChiet+Z6+RRmogiww\n"
-"HwYDVR0jBBgwFoAUjxZogHO3y4VdOLuibQHsQYdsGgwwDQYJKoZIhvcNAQELBQAD\n"
-"ggEBABlA3npOWwl3eBycaLVOsmdPS+fUwhLnF8hxoyKpHe/33k1nIxd7iiqNZ3iw\n"
-"6pAjnuRUCjajU+mlx6ekrmga8mpmeD6JH0I3lq+mrPeCeFXm8gc1yJpcFJ/C2l4o\n"
-"+3HNY7RJKcfoQxIbiKOtZ6x9E0aYuk3s1Um3Pf8GLwENoou7Stg5qHsLbkN/GBuP\n"
-"n3p/4iqik2k7VblldDe3oCob5vMp0qrAEhlNl2Fn65rcB4+bp1EiC1Z+y6X8DpRb\n"
-"NomKUsOiGcbFjQ4ptT6fePmPHX1mgDCx+5/22cyBUYElefYP7Xzr+C8tqqO3JFKe\n"
-"hqEmQRsll9bkqpu2dh83c3i9u4g=\n"
-"-----END CERTIFICATE-----\n",
-/* - */
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDATCCAemgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
-"MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/4ofaL+ilmmM+\n"
-"bGaFRy5GYQXtkD8sA3+/GWsunR928fQS68Zh6iWU+gPm52i7Gfbh7piKWA5Tb63w\n"
-"unbS6dPsfPSvgRMZGKJpzxqVcBQAnTS4MuDPlXNg3K3HMyVtbxekII8jFeGEJuCL\n"
-"mBMT4dI48IZRzj+2mir38w2cQPfomaKtjg2jMokG8Z9/4+SU9VJCcY1/yZk8fCbS\n"
-"dBbwhnDq10yvhPCHgX6KMYmoJr28CYgH29Q9sDP1XN3VvAx5X+PtW/6pyF0U5E2e\n"
-"gRzVv7Hr3FJKvytbNxRMCoy2YOyvsTP0fIhiXdtkulTKXyiq4cxA+aYByOu1FjU4\n"
-"NicWbiZ/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQUjxZogHO3y4VdOLuibQHsQYdsGgwwHwYDVR0jBBgwFoAUwAx0\n"
-"aL2SrsoSZcZUuFlq0O17BSgwDQYJKoZIhvcNAQELBQADggEBAGQvj8SquT31w8JK\n"
-"tHDL4hWOU0EwVwWl4aYsvP17WspiFIIHKApPFfQOD0/Wg9zB48ble5ZSwKA3Vc3B\n"
-"DJgd77HgVAd/Nu1TS5TFDKhpuvFPJVpJ3cqt3pTsVGMzf6GRz5kG3Ly/pBgkqiMG\n"
-"gv6vTlEvzNe4FcnhNBEaRKpK5Hc5+GnxtfVoki3tjG5u+oa9/OwzAT+7IOyiIKHw\n"
-"7F4Cm56QAWMJgVNm329AjZrJLeNuKoQWGueNew4dOe/zlYEaVMG4So74twXQwIAB\n"
-"Zko7+wk6eI4CkI4Zair36s1jLkCF8xnL8FExTT3sg6B6KBHaNUuwc67WPILVuFuc\n"
-"VfVBOd8=\n"
-"-----END CERTIFICATE-----\n",
-/* Name Constraints (critical):
+ /* DNSname: www.example.com */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDQDCCAiigAwIBAgIMU/xyoxPcYVSaqH7/MA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIhgPMjAxNDA4MjYxMTQyMjdaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEChMIc2VydmVyLTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDkemVOFdbhBX1qwjxQHr3LmPktNEVBmXjrIvyp++dN7gCYzubnpiLcBE+B\n"
+ "S2b+ppxBYm9ynKijhGrO+lZPCQRXWmqUg4YDfvnEqM4n04dCE98jN4IhwvWZyP3p\n"
+ "+U8Ra9mVIBAY2MReo1dcJQHNmo560xzxioHsGNQHAfYgVRHiE5hIXchYbWCkBrKt\n"
+ "XOoSSTmfgCF3L22p6S1q143VoKUr/C9zqinZo6feGAiTprj6YH0tHswjGBbxTFLb\n"
+ "q3ThbGDR5FNYL5q0FvQRNbjoF4oFitZ3P1Qkrzq7VIJd9k8J1C3g/16U2dDTKqRX\n"
+ "ejX7maFZ6oRZJASsRSowEs4wTfRpAgMBAAGjgZMwgZAwDAYDVR0TAQH/BAIwADAa\n"
+ "BgNVHREEEzARgg93d3cuZXhhbXBsZS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwEw\n"
+ "DwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQUAEYPmcA7S/KChiet+Z6+RRmogiww\n"
+ "HwYDVR0jBBgwFoAUjxZogHO3y4VdOLuibQHsQYdsGgwwDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBABlA3npOWwl3eBycaLVOsmdPS+fUwhLnF8hxoyKpHe/33k1nIxd7iiqNZ3iw\n"
+ "6pAjnuRUCjajU+mlx6ekrmga8mpmeD6JH0I3lq+mrPeCeFXm8gc1yJpcFJ/C2l4o\n"
+ "+3HNY7RJKcfoQxIbiKOtZ6x9E0aYuk3s1Um3Pf8GLwENoou7Stg5qHsLbkN/GBuP\n"
+ "n3p/4iqik2k7VblldDe3oCob5vMp0qrAEhlNl2Fn65rcB4+bp1EiC1Z+y6X8DpRb\n"
+ "NomKUsOiGcbFjQ4ptT6fePmPHX1mgDCx+5/22cyBUYElefYP7Xzr+C8tqqO3JFKe\n"
+ "hqEmQRsll9bkqpu2dh83c3i9u4g=\n"
+ "-----END CERTIFICATE-----\n",
+ /* - */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
+ "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/4ofaL+ilmmM+\n"
+ "bGaFRy5GYQXtkD8sA3+/GWsunR928fQS68Zh6iWU+gPm52i7Gfbh7piKWA5Tb63w\n"
+ "unbS6dPsfPSvgRMZGKJpzxqVcBQAnTS4MuDPlXNg3K3HMyVtbxekII8jFeGEJuCL\n"
+ "mBMT4dI48IZRzj+2mir38w2cQPfomaKtjg2jMokG8Z9/4+SU9VJCcY1/yZk8fCbS\n"
+ "dBbwhnDq10yvhPCHgX6KMYmoJr28CYgH29Q9sDP1XN3VvAx5X+PtW/6pyF0U5E2e\n"
+ "gRzVv7Hr3FJKvytbNxRMCoy2YOyvsTP0fIhiXdtkulTKXyiq4cxA+aYByOu1FjU4\n"
+ "NicWbiZ/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUjxZogHO3y4VdOLuibQHsQYdsGgwwHwYDVR0jBBgwFoAUwAx0\n"
+ "aL2SrsoSZcZUuFlq0O17BSgwDQYJKoZIhvcNAQELBQADggEBAGQvj8SquT31w8JK\n"
+ "tHDL4hWOU0EwVwWl4aYsvP17WspiFIIHKApPFfQOD0/Wg9zB48ble5ZSwKA3Vc3B\n"
+ "DJgd77HgVAd/Nu1TS5TFDKhpuvFPJVpJ3cqt3pTsVGMzf6GRz5kG3Ly/pBgkqiMG\n"
+ "gv6vTlEvzNe4FcnhNBEaRKpK5Hc5+GnxtfVoki3tjG5u+oa9/OwzAT+7IOyiIKHw\n"
+ "7F4Cm56QAWMJgVNm329AjZrJLeNuKoQWGueNew4dOe/zlYEaVMG4So74twXQwIAB\n"
+ "Zko7+wk6eI4CkI4Zair36s1jLkCF8xnL8FExTT3sg6B6KBHaNUuwc67WPILVuFuc\n"
+ "VfVBOd8=\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: DNSname: example.com
Excluded: DNSname: example.org
*/
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDMzCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
-"MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIf3as4EONSgWu\n"
-"Mbm9w3DbKd/su1UWlrYrcpVqmU3MKD5jXBxyoThSBWxmq1+wcNDmE1on6pHY1aad\n"
-"k3188JKMC83wEcyQXaiH3DlTYFXXkkI+JJNUGlfAMSoXG248SpoCIOhCETUG03iP\n"
-"Z3AZludaHYsv4akAh1Kl6qn66+bKM53l/YhoQDxhoGaYvO8ZSwKnx5DEiq447jpW\n"
-"M+sUFe38RPaMjHpyc1GRctvQDzJGm+8ZRujYDH+fGNzVDDlRyRnsVanFGNdyfhmy\n"
-"BN2D2+2VEvzAWlaGg2wQN8gF3+luavIVEgETXODZPa5FF7ulmQmhqGrZcw6WtDmY\n"
-"hUbNmbL7AgMBAAGjgZUwgZIwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHR4BAf8EJDAi\n"
-"oA8wDYILZXhhbXBsZS5jb22hDzANggtleGFtcGxlLm9yZzAPBgNVHQ8BAf8EBQMD\n"
-"BwQAMB0GA1UdDgQWBBTADHRovZKuyhJlxlS4WWrQ7XsFKDAfBgNVHSMEGDAWgBTg\n"
-"+khaP8UOjcwSKVxgT+zhh0aWPDANBgkqhkiG9w0BAQsFAAOCAQEASq5yBiib8FPk\n"
-"oRONZ4COgGqjXvigeOBRgbHf9AfagpoYDbOKDQS8Iwt9VHZfJxdcJ1OuM1aQqXlN\n"
-"dUyf+JdR/24Nv1yrhL+dEfRGka6Db96YuPsbetVhNIiMm2teXDIPgGzAKuTm4xPA\n"
-"6zyNVy5AwfDQ5hIZ+EUsfOoerIElNyAbh66law4MWuiv4oyX4u49m5lxLuL6mFpR\n"
-"CIZYWjZMa0MJvWMKGm/AhpfEOkbT58Fg5YmxhnKMk6ps1eR6mh3NgH1IbUqvEYNC\n"
-"eS42X3kAMxEDseBOMths0gxeLL+IHdQpXnAjZppW8zEIcN3yfknul35r8R6Qt9aK\n"
-"q5+/m1ADBw==\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIe0eOnLaV750K\n"
-"4+mVaAftRrJp8t68KJivcRFpkl0ucQs6gwNf9EsVkHineOR3RXypjJ7Hsv+4PIKp\n"
-"BhEOTprYUKcBaxHK/NIezV6NrO1AwuD6MtJDQF9jGpSy0F3eRUoBCjVYhTl+JxcZ\n"
-"hGHPJd8WMeanQWY4xG4gTwtpjF3tPU5+JGQwLk5SbcLicM2QMG3CapZinOGK3/XC\n"
-"Fjsvf5ZhxnixayhfiX/n9BmeP1yxz7YORNYPlL8z1CcLZqJsyjZnNkVwNvl4ft9I\n"
-"FOKBLoOTSGocHFIFXh5b50GG6QHgvN+TiAwdpfRTUskWVg8VVIh7ymgDoI2jQhk4\n"
-"EeMaZHd/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQU4PpIWj/FDo3MEilcYE/s4YdGljwwHwYDVR0jBBgwFoAU6XJK\n"
-"EOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQADggEBAJOCrGvbeRqPj+uL\n"
-"2FIfbkYZAx2nGl3RVv5ZK2YeDpU1udxLihc6Sr67OZbiA4QMKxwgI7pupuwXmyql\n"
-"vs9dWnNpjzgfc0OqqzVdOFlfw8ew2DQb2sUXCcIkwqXb/pBQ9BvcgdDASu+rm74j\n"
-"JWDZlhcqeVhZROKfpsjsl+lHgZ7kANwHtUJg/WvK8J971hgElqeBO1O97cGkw/in\n"
-"e8ooK9Lxk3Td+WdI8C7juCYiwsGqFEKuj7b6937uzvpFmm1fYDdOHhTMcHTHIVTr\n"
-"uxSSurQ4XSDF6Iuel3+IdpLL79UYJ7Cf4IhBWj0EloF6xWTA6nUYl3gzKpx1Tg1U\n"
-"x2+26YY=\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
-"MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
-"BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqLuVrTyiqz+Zs\n"
-"9Qw5V2Z1y1YSWU6aRDMs+34rP2gwT41C69HBh2LLRS04iJUVQydwnEJukwKlTNRn\n"
-"1lEpvWgtYmySWA2SyI4xkVzCXgwv0k7WyLwa39hfNY1rXAqhDTL8VO0nXxi8hCMW\n"
-"ohaXcvsieglhN5uwu6voEdY3Gwtx4V8ysDJ2P9EBo49ZHdpBOv+3YLDxbWZuL/tI\n"
-"nYkBUHHfWGhUHsRsu0EGob3SFnfiooCbE/vtmn9rUuBEQDqOjOg3el/aTPJzcMi/\n"
-"RTz+8ho17ZrQRKHZGKWq9Skank+2X9FZoYKFCUlBm6RVud1R54QYZEIj7W9ujQLN\n"
-"LJrcIwBDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
-"ADAdBgNVHQ4EFgQU6XJKEOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQAD\n"
-"ggEBAEeXYGhZ8fWDpCGfSGEDX8FTqLwfDXxw18ZJjQJwus7bsJ9K/hAXnasXrn0f\n"
-"TJ+uJi8muqzP1V376mSUzlwXIzLZCtbwRdDhJJYRrLvf5zfHxHeDgvDALn+1AduF\n"
-"G/GzCVIFsYNSMdKGwNRp6Ucgl43BPZs6Swn2DXrxxW7Gng+8dvUS2XGLLdH6q1O3\n"
-"U1EgJilng+VXx9Rg3yCs5xDiehASySsM6MN/+v+Ouf9lkoQCEgrtlW5Lb/neOBlA\n"
-"aS8PPQuKkIEggNd8hW88YWQOJXMiCAgFppVp5B1Vbghn9IDJQISx/AXAoDXQvQfE\n"
-"bdOzcKFyDuklHl2IQPnYTFxm/G8=\n"
-"-----END CERTIFICATE-----\n",
-NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDMzCCAhugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCIYDzIwMTQwODI2MTE0MjI3WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIf3as4EONSgWu\n"
+ "Mbm9w3DbKd/su1UWlrYrcpVqmU3MKD5jXBxyoThSBWxmq1+wcNDmE1on6pHY1aad\n"
+ "k3188JKMC83wEcyQXaiH3DlTYFXXkkI+JJNUGlfAMSoXG248SpoCIOhCETUG03iP\n"
+ "Z3AZludaHYsv4akAh1Kl6qn66+bKM53l/YhoQDxhoGaYvO8ZSwKnx5DEiq447jpW\n"
+ "M+sUFe38RPaMjHpyc1GRctvQDzJGm+8ZRujYDH+fGNzVDDlRyRnsVanFGNdyfhmy\n"
+ "BN2D2+2VEvzAWlaGg2wQN8gF3+luavIVEgETXODZPa5FF7ulmQmhqGrZcw6WtDmY\n"
+ "hUbNmbL7AgMBAAGjgZUwgZIwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHR4BAf8EJDAi\n"
+ "oA8wDYILZXhhbXBsZS5jb22hDzANggtleGFtcGxlLm9yZzAPBgNVHQ8BAf8EBQMD\n"
+ "BwQAMB0GA1UdDgQWBBTADHRovZKuyhJlxlS4WWrQ7XsFKDAfBgNVHSMEGDAWgBTg\n"
+ "+khaP8UOjcwSKVxgT+zhh0aWPDANBgkqhkiG9w0BAQsFAAOCAQEASq5yBiib8FPk\n"
+ "oRONZ4COgGqjXvigeOBRgbHf9AfagpoYDbOKDQS8Iwt9VHZfJxdcJ1OuM1aQqXlN\n"
+ "dUyf+JdR/24Nv1yrhL+dEfRGka6Db96YuPsbetVhNIiMm2teXDIPgGzAKuTm4xPA\n"
+ "6zyNVy5AwfDQ5hIZ+EUsfOoerIElNyAbh66law4MWuiv4oyX4u49m5lxLuL6mFpR\n"
+ "CIZYWjZMa0MJvWMKGm/AhpfEOkbT58Fg5YmxhnKMk6ps1eR6mh3NgH1IbUqvEYNC\n"
+ "eS42X3kAMxEDseBOMths0gxeLL+IHdQpXnAjZppW8zEIcN3yfknul35r8R6Qt9aK\n"
+ "q5+/m1ADBw==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIe0eOnLaV750K\n"
+ "4+mVaAftRrJp8t68KJivcRFpkl0ucQs6gwNf9EsVkHineOR3RXypjJ7Hsv+4PIKp\n"
+ "BhEOTprYUKcBaxHK/NIezV6NrO1AwuD6MtJDQF9jGpSy0F3eRUoBCjVYhTl+JxcZ\n"
+ "hGHPJd8WMeanQWY4xG4gTwtpjF3tPU5+JGQwLk5SbcLicM2QMG3CapZinOGK3/XC\n"
+ "Fjsvf5ZhxnixayhfiX/n9BmeP1yxz7YORNYPlL8z1CcLZqJsyjZnNkVwNvl4ft9I\n"
+ "FOKBLoOTSGocHFIFXh5b50GG6QHgvN+TiAwdpfRTUskWVg8VVIh7ymgDoI2jQhk4\n"
+ "EeMaZHd/AgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU4PpIWj/FDo3MEilcYE/s4YdGljwwHwYDVR0jBBgwFoAU6XJK\n"
+ "EOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQADggEBAJOCrGvbeRqPj+uL\n"
+ "2FIfbkYZAx2nGl3RVv5ZK2YeDpU1udxLihc6Sr67OZbiA4QMKxwgI7pupuwXmyql\n"
+ "vs9dWnNpjzgfc0OqqzVdOFlfw8ew2DQb2sUXCcIkwqXb/pBQ9BvcgdDASu+rm74j\n"
+ "JWDZlhcqeVhZROKfpsjsl+lHgZ7kANwHtUJg/WvK8J971hgElqeBO1O97cGkw/in\n"
+ "e8ooK9Lxk3Td+WdI8C7juCYiwsGqFEKuj7b6937uzvpFmm1fYDdOHhTMcHTHIVTr\n"
+ "uxSSurQ4XSDF6Iuel3+IdpLL79UYJ7Cf4IhBWj0EloF6xWTA6nUYl3gzKpx1Tg1U\n"
+ "x2+26YY=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwODI2MTE0MjI2WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqLuVrTyiqz+Zs\n"
+ "9Qw5V2Z1y1YSWU6aRDMs+34rP2gwT41C69HBh2LLRS04iJUVQydwnEJukwKlTNRn\n"
+ "1lEpvWgtYmySWA2SyI4xkVzCXgwv0k7WyLwa39hfNY1rXAqhDTL8VO0nXxi8hCMW\n"
+ "ohaXcvsieglhN5uwu6voEdY3Gwtx4V8ysDJ2P9EBo49ZHdpBOv+3YLDxbWZuL/tI\n"
+ "nYkBUHHfWGhUHsRsu0EGob3SFnfiooCbE/vtmn9rUuBEQDqOjOg3el/aTPJzcMi/\n"
+ "RTz+8ho17ZrQRKHZGKWq9Skank+2X9FZoYKFCUlBm6RVud1R54QYZEIj7W9ujQLN\n"
+ "LJrcIwBDAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU6XJKEOUYTuioWHG+1YBuz0yPFmowDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBAEeXYGhZ8fWDpCGfSGEDX8FTqLwfDXxw18ZJjQJwus7bsJ9K/hAXnasXrn0f\n"
+ "TJ+uJi8muqzP1V376mSUzlwXIzLZCtbwRdDhJJYRrLvf5zfHxHeDgvDALn+1AduF\n"
+ "G/GzCVIFsYNSMdKGwNRp6Ucgl43BPZs6Swn2DXrxxW7Gng+8dvUS2XGLLdH6q1O3\n"
+ "U1EgJilng+VXx9Rg3yCs5xDiehASySsM6MN/+v+Ouf9lkoQCEgrtlW5Lb/neOBlA\n"
+ "aS8PPQuKkIEggNd8hW88YWQOJXMiCAgFppVp5B1Vbghn9IDJQISx/AXAoDXQvQfE\n"
+ "bdOzcKFyDuklHl2IQPnYTFxm/G8=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Name constraints: IPAddress_v6 in permitted range, intermediate certs without constraints */
static const char *nc_good2[] = {
- /* IPAddress: 2001:db8:4000:: */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEKDCCApCgAwIBAgIMV3OWtCJqV9nu6MtYMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTMwIBcNMTYwNjI5MDkzNjUyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
- "ETAPBgNVBAMTCHNlcnZlci00MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
- "AYEA34kB6fm9NLwz3CGzya+pVo6qWXVxkaXiKnKYk7nzcT5nozZYERR8gd3FWmAX\n"
- "T1lzNC92Yxbz7zvonD8cxmRqMNGXqNrHrGmO9u0pr8eFnIRhSEscSWv3gwoMKH+C\n"
- "+FajvWM9XK7+ndiXLL4ReFtrPcryrN3B0duMX+l2vgIBlBsIoj6m/n6ExQ8uyE3a\n"
- "VyzM2gZgvjX3hw3ieLcOURRVRSsINlNcDZeUB/oGNkWKECUAEbmarutqeoYDZOyI\n"
- "LBxcFhZ3/l2khMHuU5G/uQlBVuR45LqEk2LkRtG3MiidmFOnvHbFwFucT1JexwAs\n"
- "5YAeBVfIkO/ZaHTnfL4d/z2GKniNyCmbwQ6kBqG8kK/EGWkpPwIHu8KRap8LmrrS\n"
- "YY2pRT7L5UCmsFsWyTm3N4n6QYImCnn8h9IY4zKtQfzfbh10wWgd4tqtJZELQjgL\n"
- "DvxNsv443bqJ1vWvwmV9X8O0G4nSjcMsgQQCPYWTfnNpcVVOa80n2p23xyG58hdl\n"
- "hQ0HAgMBAAGjfjB8MAwGA1UdEwEB/wQCMAAwGwYDVR0RBBQwEocQIAENuEAAAAAA\n"
- "AAAAAAAAADAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBSRsZYeRAUgOYrmLOR7\n"
- "W7JTQVTJ5TAfBgNVHSMEGDAWgBQVna/6ANq7at0JSC476WWFVlOauzANBgkqhkiG\n"
- "9w0BAQsFAAOCAYEAZ/NaFq9GGqsXyIB8Lgmf8GqmHCq5EC3qPijOf34McVtAfZU8\n"
- "0q2ZNkBlV+P14n4DUdNKoLwjZ9jL33IiyRWPNdz2SgqOgu0rdN2xXc/Hq5Wu/bBw\n"
- "ZtASxQBV1crYvtoRCTBmei8j+WJ1Qfh+1QNar1mgofCR99Sqx+x0HWC9nAF6aAMd\n"
- "6t4GS+E3Cmpu/MzgCHHr7yT0XkltJ7m/oLjSwR4RFepNAc5zMOD2ujxwB+5t+mnE\n"
- "fO5i3SF8OZEnq0c8LtiZvn0bbVtRMcRFpi5kLzV+5b4J4y2BocR8cSvbp/GOvyYi\n"
- "AYKfwboXK9nJmaxsYdT9zKSp5sPETMMXD7ZDtaM0jKunb9sUF98FsK1j1I416cQI\n"
- "ChBUCeANDhHTAmaxPKpyjnHsEtbA27z5l5bQmUXSTc5vVYEj4HhNAE89T/4AbMbH\n"
- "6hvlsD0t9cq9nWly0CC7UIoI1Llv7TVgIKVieLQ5DIZHGL/VuPFHNqfFZDzPByjf\n"
- "kU9hILqMbOM6P182\n"
- "-----END CERTIFICATE-----\n",
- /* (no name constraints set) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIID/zCCAmegAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
- "MCAXDTE2MDYyOTA5MzY1MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxCKO/30Vk2JmTvrV\n"
- "j/yi2Bi2rx+SQbIwJRmpGXedQfO90q9EXXZ7INQzo+xhk3dsuzkgTxeVnf7ONJwh\n"
- "r6KoEgoUXSH+R2MaX1+LjrD2MU3zDO11DE+nAv8hgOZJqYawmgve9RMsVREUcnCu\n"
- "85pT7bIsNqtuaXG7/mkMib1YfHwiMCl3u0jwhTWf0FuSRqe9ozqHo8DR89vHyrjl\n"
- "t7FsrUnECJLZtDlf0VUG0lekZIY+WL7w54j4C9z+e8ZnKPpGIJyTgS4W/yXslyNR\n"
- "VECiQHKW/gwSJBDMLODesJsSpgwh2NZ7VmreWTGSoFgS84Hteogj8jY0C7Ky6DHo\n"
- "kYLpHcWo3FBIZ6oSiWR49zcJ1r26+JnHQEE1Kxt9Rpn6m6E2k4yW6hBFIZcWnFSQ\n"
- "LKPtHMQS+soqC/qj4fFNqm7/OJof33LAG6T3cC8wtgtom7n9Jd1RZvkGtlAbNzzm\n"
- "Wwh4SUyMyq9/dQ3WkJ1RVzVLhqYi9+QiHuVrqVSFO8dmL1/zAgMBAAGjZDBiMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUFZ2v+gDa\n"
- "u2rdCUguO+llhVZTmrswHwYDVR0jBBgwFoAU2X5m+TBOqGUVhmhVmzQagc4mEqEw\n"
- "DQYJKoZIhvcNAQELBQADggGBAHbh1c2UYg23aHZN/cVkAD6fqOykWqF9ZeqI9r0c\n"
- "BGpvnhcVMOdGitpIYk3cW5a2UYmo6SkfOHos6yB3fZKHz525YhS7Tg96t+c4es8D\n"
- "GlbJdr/O2vwPVsBseyvk+AHPBrcJDooiqD1rXeJWUiIREVBC1hICYaEDTSdPKxRX\n"
- "93sRnfEFpZMcWd2dsqOUwwwN6VIeZAxoeysM2O6qkqDIjIVOK613oMYUEKBSyZ+w\n"
- "d9Ds5sStkaLXxNJ06q3Mst5rE+IgpznpYvJBtpp6HQQeqiTXI9lIoU2oZda8UChA\n"
- "Tc6iNFl+oQVvaMMUo2YlbEKbQ4UPbxT6wx5LfF3imbReMtRQCbs7uvCkTNTkY2mf\n"
- "LFTMPMBjbLaY5ogx3vRZQd3833vC9iUcgBewyJc81BcEzI6F9rcg9quzkAnXdUsV\n"
- "zcMfadJlDrnPm/n3mNiHZs70MQ/dXQtbaD5H6T9BME5sRwAmW7VJ/ySeytkoUw8z\n"
- "leNeFV8T+J9lz0g5hWY78QJaTQ==\n"
- "-----END CERTIFICATE-----\n",
- /* Name Constraints (critical):
+ /* IPAddress: 2001:db8:4000:: */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEKDCCApCgAwIBAgIMV3OWtCJqV9nu6MtYMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTMwIBcNMTYwNjI5MDkzNjUyWhgPOTk5OTEyMzEyMzU5NTlaMBMx\n"
+ "ETAPBgNVBAMTCHNlcnZlci00MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC\n"
+ "AYEA34kB6fm9NLwz3CGzya+pVo6qWXVxkaXiKnKYk7nzcT5nozZYERR8gd3FWmAX\n"
+ "T1lzNC92Yxbz7zvonD8cxmRqMNGXqNrHrGmO9u0pr8eFnIRhSEscSWv3gwoMKH+C\n"
+ "+FajvWM9XK7+ndiXLL4ReFtrPcryrN3B0duMX+l2vgIBlBsIoj6m/n6ExQ8uyE3a\n"
+ "VyzM2gZgvjX3hw3ieLcOURRVRSsINlNcDZeUB/oGNkWKECUAEbmarutqeoYDZOyI\n"
+ "LBxcFhZ3/l2khMHuU5G/uQlBVuR45LqEk2LkRtG3MiidmFOnvHbFwFucT1JexwAs\n"
+ "5YAeBVfIkO/ZaHTnfL4d/z2GKniNyCmbwQ6kBqG8kK/EGWkpPwIHu8KRap8LmrrS\n"
+ "YY2pRT7L5UCmsFsWyTm3N4n6QYImCnn8h9IY4zKtQfzfbh10wWgd4tqtJZELQjgL\n"
+ "DvxNsv443bqJ1vWvwmV9X8O0G4nSjcMsgQQCPYWTfnNpcVVOa80n2p23xyG58hdl\n"
+ "hQ0HAgMBAAGjfjB8MAwGA1UdEwEB/wQCMAAwGwYDVR0RBBQwEocQIAENuEAAAAAA\n"
+ "AAAAAAAAADAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBSRsZYeRAUgOYrmLOR7\n"
+ "W7JTQVTJ5TAfBgNVHSMEGDAWgBQVna/6ANq7at0JSC476WWFVlOauzANBgkqhkiG\n"
+ "9w0BAQsFAAOCAYEAZ/NaFq9GGqsXyIB8Lgmf8GqmHCq5EC3qPijOf34McVtAfZU8\n"
+ "0q2ZNkBlV+P14n4DUdNKoLwjZ9jL33IiyRWPNdz2SgqOgu0rdN2xXc/Hq5Wu/bBw\n"
+ "ZtASxQBV1crYvtoRCTBmei8j+WJ1Qfh+1QNar1mgofCR99Sqx+x0HWC9nAF6aAMd\n"
+ "6t4GS+E3Cmpu/MzgCHHr7yT0XkltJ7m/oLjSwR4RFepNAc5zMOD2ujxwB+5t+mnE\n"
+ "fO5i3SF8OZEnq0c8LtiZvn0bbVtRMcRFpi5kLzV+5b4J4y2BocR8cSvbp/GOvyYi\n"
+ "AYKfwboXK9nJmaxsYdT9zKSp5sPETMMXD7ZDtaM0jKunb9sUF98FsK1j1I416cQI\n"
+ "ChBUCeANDhHTAmaxPKpyjnHsEtbA27z5l5bQmUXSTc5vVYEj4HhNAE89T/4AbMbH\n"
+ "6hvlsD0t9cq9nWly0CC7UIoI1Llv7TVgIKVieLQ5DIZHGL/VuPFHNqfFZDzPByjf\n"
+ "kU9hILqMbOM6P182\n"
+ "-----END CERTIFICATE-----\n",
+ /* (no name constraints set) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID/zCCAmegAwIBAgIBAzANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0y\n"
+ "MCAXDTE2MDYyOTA5MzY1MloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0zMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxCKO/30Vk2JmTvrV\n"
+ "j/yi2Bi2rx+SQbIwJRmpGXedQfO90q9EXXZ7INQzo+xhk3dsuzkgTxeVnf7ONJwh\n"
+ "r6KoEgoUXSH+R2MaX1+LjrD2MU3zDO11DE+nAv8hgOZJqYawmgve9RMsVREUcnCu\n"
+ "85pT7bIsNqtuaXG7/mkMib1YfHwiMCl3u0jwhTWf0FuSRqe9ozqHo8DR89vHyrjl\n"
+ "t7FsrUnECJLZtDlf0VUG0lekZIY+WL7w54j4C9z+e8ZnKPpGIJyTgS4W/yXslyNR\n"
+ "VECiQHKW/gwSJBDMLODesJsSpgwh2NZ7VmreWTGSoFgS84Hteogj8jY0C7Ky6DHo\n"
+ "kYLpHcWo3FBIZ6oSiWR49zcJ1r26+JnHQEE1Kxt9Rpn6m6E2k4yW6hBFIZcWnFSQ\n"
+ "LKPtHMQS+soqC/qj4fFNqm7/OJof33LAG6T3cC8wtgtom7n9Jd1RZvkGtlAbNzzm\n"
+ "Wwh4SUyMyq9/dQ3WkJ1RVzVLhqYi9+QiHuVrqVSFO8dmL1/zAgMBAAGjZDBiMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUFZ2v+gDa\n"
+ "u2rdCUguO+llhVZTmrswHwYDVR0jBBgwFoAU2X5m+TBOqGUVhmhVmzQagc4mEqEw\n"
+ "DQYJKoZIhvcNAQELBQADggGBAHbh1c2UYg23aHZN/cVkAD6fqOykWqF9ZeqI9r0c\n"
+ "BGpvnhcVMOdGitpIYk3cW5a2UYmo6SkfOHos6yB3fZKHz525YhS7Tg96t+c4es8D\n"
+ "GlbJdr/O2vwPVsBseyvk+AHPBrcJDooiqD1rXeJWUiIREVBC1hICYaEDTSdPKxRX\n"
+ "93sRnfEFpZMcWd2dsqOUwwwN6VIeZAxoeysM2O6qkqDIjIVOK613oMYUEKBSyZ+w\n"
+ "d9Ds5sStkaLXxNJ06q3Mst5rE+IgpznpYvJBtpp6HQQeqiTXI9lIoU2oZda8UChA\n"
+ "Tc6iNFl+oQVvaMMUo2YlbEKbQ4UPbxT6wx5LfF3imbReMtRQCbs7uvCkTNTkY2mf\n"
+ "LFTMPMBjbLaY5ogx3vRZQd3833vC9iUcgBewyJc81BcEzI6F9rcg9quzkAnXdUsV\n"
+ "zcMfadJlDrnPm/n3mNiHZs70MQ/dXQtbaD5H6T9BME5sRwAmW7VJ/ySeytkoUw8z\n"
+ "leNeFV8T+J9lz0g5hWY78QJaTQ==\n"
+ "-----END CERTIFICATE-----\n",
+ /* Name Constraints (critical):
Permitted: IPAddress: 2001:db8::/32
Excluded: IPAddress: 2001:db8::/34 */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEWzCCAsOgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
- "MCAXDTE2MDYyOTA5MzY1MVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAq03TF1WvguiqwoZG\n"
- "XbM/lSligqO1tCd8dhAsa1lZmuHqcZRsQLs4Dq4Ffh00AVWDnn734hGzyvBA2LNj\n"
- "tSH+slECZ55lVWKvJ0D8ip481YFP4CTWcJbM4cvkZdM82+ygYERy/WfR9cJqyrLX\n"
- "tYvvs1b15fb7s0alE0gJK4j0RbzDjp1DsHFKzG2bNJxJ39xnfa6h4zwDJ+NgJAQN\n"
- "z84OEw5ECZlKp2HbZZdTx0rXFYiyucao/Ugs1rZ3SPzcPg+EJJMSTdxypD8qWaGg\n"
- "xP0UrmYxl0D9+m+pV8YftD3h9yFDB0DC0eaXyST224mJDUYR4E6tBSFetWgLkc6l\n"
- "+1os8Ys6SvrlKvtxr0xQFxV1LhMX/gZgntyflljj/DWYpo+uaA74bkhOzIxEpa1Z\n"
- "BXMLauKJ7dzm2aHYIgFlYxu1TIjib0D/UaEp3wmoZ6pDUpxjoiqjfDc6WxV5b2Gj\n"
- "TIZ6qwLcADF90estBeLEtkcf8xk71JzFe0FGL4bDkPPKax0jAgMBAAGjgb8wgbww\n"
- "DwYDVR0TAQH/BAUwAwEB/zBYBgNVHR4BAf8ETjBMoCQwIocgIAENuAAAAAAAAAAA\n"
- "AAAAAP////8AAAAAAAAAAAAAAAChJDAihyAgAQ24AAAAAAAAAAAAAAAA/////8AA\n"
- "AAAAAAAAAAAAADAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTZfmb5ME6oZRWG\n"
- "aFWbNBqBziYSoTAfBgNVHSMEGDAWgBQZXWHEGPF89Ep5BX76GGJZxvxVQDANBgkq\n"
- "hkiG9w0BAQsFAAOCAYEAl5x0spmwJ0kKiVOLu8WRRtHb6DK6pSu+jGxGh4GNwCFw\n"
- "bvX8u6QBlCu9xW4afd6/a1PduPtoRQltWeZaB2SDWnnjclKpaG8A9736YV9XKHdL\n"
- "QX6GZcKSa2r81aAaHSZqxo60HfMPbCLWiWwWDX6O284kLumq7m2Z+pTKmb/Fmdqc\n"
- "i292pyamXuj8eMsYNGvxzknwe3jr4HZhNfdjRvsLTI6ovEGsa6tdIgszSOrLT/kh\n"
- "yu8zt9gljas6aBJ2rzT1OECaHQ74IkVZkhA6C4tSf2grH4yDZ4oZrcgJFHF/saC6\n"
- "5uj5niAxmJrlaBeb+dwl+c5aNFo51zZRYktoQuvCGykWwqc8XwZBKu8MGNsEjEo7\n"
- "wtfgu/bzXrLUJluXnzVBNCcXwDzsgIxlpJcFZ5aqaVhfYrl8cd5Wa3FrkHvkGyBP\n"
- "aXS1nd/tvl96i6p60w/VkX6FlSknXh8IdkjcChckJv3AukUrV0U1ViTaVkWpVhQL\n"
- "JKM8n9POeVPK4pUlaXAd\n"
- "-----END CERTIFICATE-----\n",
- /* (no name constraints set) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIID/zCCAmegAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDYyOTA5MzY1MVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAnf+axUDkYDVQNCvR\n"
- "hvLcW2nWKZo3g2JciS/h+V2gKWjDDNWxg6luyxlCFsDCaNx+t3j2YJECRZvNMLDP\n"
- "QiE7U8+GKtJgR3FhHnA5xu/IbBWbNYUO08Q1s+w82dfy6QxRRDOXXh0fjAbd153J\n"
- "K/9FDpyCuJ/RC9RKphwOz5YsSlMbUpYCCm0pten44HzyT/F2hwVLEEnLn1uuM8x2\n"
- "HggBYH6WHFiGJLZH6h9ajt04JjyvcTDIaGw4ttET1doBnnRU+6CDiFYeYFqzUDkG\n"
- "4lKKPxyXsqC0B20vV/N03c5DnODkMnTGPQ696HuhNtf4+i6PRhTieX2iu8uDOPcF\n"
- "aOfokwfuUx3Ws4dShfvSMN/jFpdpOVn41dceY1Dbqy3tMF0YVFY6SSvRtvUQAvmz\n"
- "KYmaYwKKpe/yMDqICAdE3fjkHHkQeQri6FP7RrLfbsprLtQlS/1ZclT9CnIz3uES\n"
- "7C4a9OVvxIz+RZoIps/q94PB5fqvzXsmDIukV9VFKpAjrXWVAgMBAAGjZDBiMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUGV1hxBjx\n"
- "fPRKeQV++hhiWcb8VUAwHwYDVR0jBBgwFoAU5xR9/WMP7pTmHW6KSB7HSeK6exkw\n"
- "DQYJKoZIhvcNAQELBQADggGBABBXBE8psujTJ83QlsnyQYUk2MPfvm5CuJGuC4rr\n"
- "uc3FFNi1A9h1XR44J5iDf84SZcaNZgYag79SHaQ0OdHHYPdJ6Yc+59IIf8PncoGd\n"
- "wgeU61u8uIZL53yfDSE7o0t0UrJpBNb7oGF2adRJs7ZqyUZyN6A9+74jcrxllpjI\n"
- "oha9WgugzP9CUqWYgv/MDNuwAtv+1znNFgv8C8mkhbr8wmf737XsQzfrYFK1ibhw\n"
- "8rBGJLnLT+Xh+CgaDYeZrnS/oSMXCJETTbnPWfJGacX6FtB829fYhO6VMDqTy74p\n"
- "k04UcXRxH7ZnRXbCImqnGTfNZtXYLu1oCDC/Ubi08ev2r8Lxrg8B/F6ME0hihiHh\n"
- "8X1ggr2fDll2mUwBnalRgRYfYc3MRfQv1oy/lQDp0A2rpbKQiX8ji8r1y9xDcu/B\n"
- "ERwaNiUxyK+Tx3BiMIN4EP7+yGh/f71PDvlZYBkXNYrQBaCpW8fj2hr6N/B4kCPr\n"
- "/AJhLcEQybcD4IKiqywx8kx3Ig==\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCAXDTE2MDYyOTA5MzY1MFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
- "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEApAgApH8PdlQKWr+K\n"
- "ja6KYXYYNxdhs4JoiOBxr3OQuS/ocqp1HU5vVRXKiu0XpqkB631wmC1tTk7N4LYZ\n"
- "+4ffM82JhkK0y1FwV4soqeuwYraF//8ekgmCxi7tqie0WDmXc+aO2O8pruFHTjCV\n"
- "TCMAer+wspFEQgHVsbFRAr+zyZpz8bn3Ywy801aM+807sEyNeeIMR0UnM5uELKvF\n"
- "iHXJwdPdXM48sGe6DHJtSw4OLx3+xqRMlhVBAb0/yYLv1HDFwul0IRBfjj96rXgc\n"
- "bWLiKIjZCl64+Y+UbbHp71pT09T/tzu15tvjHoIGLudWIaZHCnU10fQS1ySL/Xjm\n"
- "n0xxze2AVSzoYoiw3ldkTvik9gqESC+uu+QXhzhxKe+GKEd6oGE+8KOxAkTJT6BO\n"
- "vXKa6R7XDgI4AXeNlTgOZXDAqmhPFjARaLS8jdUIKJLHSaqlzX0+XLilgTGMNaXA\n"
- "4Sm5pKnJcoCpL4OisgiJnuIRshO10IKgM5YqeytbkjeJzqX9AgMBAAGjQzBBMA8G\n"
- "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU5xR9/WMP\n"
- "7pTmHW6KSB7HSeK6exkwDQYJKoZIhvcNAQELBQADggGBAARJRZIqmdoMRq3iYxh9\n"
- "vApIvuQ8cImjusmIaYzZpAvjcOiX5RGuN/69e7Os6QxnN+H6TAj3IX+a0Msu+P/c\n"
- "NrrQWttd+uR2xZic+dNXzhsEI5+o4G7W9srnDLU01FmlytvH1CSgLYm8uv3Q8G3/\n"
- "RVEYmOphvHUUDYJeFIUDyaC88k52tyZ1SeSkveLRy+vf7GkHicVVMAOuyiQV3aQD\n"
- "M8o3QFyrncw5i608d8JArJZ7LXhx+S+37rMsBGHnXAyKjv8zNt/YW3IjAA4ifr+m\n"
- "rbTurPyCNxKFdhTBQaF1ofQaKVNEIdSjNCB+5RXUXmoAELsiRQS4LGN6NhMfBlbu\n"
- "YAMUmDjwu/LkDGLbZHX0cGiDuLc/qefVc1QBAQZ2zoCAnYZU6itnzqlayOijNj8n\n"
- "0aHMa8P8rb9gzOKcNOz147lLK5oHjYgeYOy3hpUDT/k7wyELWb20GKaaWLgGqWS0\n"
- "W5U6UgHQoBLyOvHIOkbCRVyIPLh9ijufA0LpUdk2Lf1Sww==\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEWzCCAsOgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0x\n"
+ "MCAXDTE2MDYyOTA5MzY1MVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0yMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAq03TF1WvguiqwoZG\n"
+ "XbM/lSligqO1tCd8dhAsa1lZmuHqcZRsQLs4Dq4Ffh00AVWDnn734hGzyvBA2LNj\n"
+ "tSH+slECZ55lVWKvJ0D8ip481YFP4CTWcJbM4cvkZdM82+ygYERy/WfR9cJqyrLX\n"
+ "tYvvs1b15fb7s0alE0gJK4j0RbzDjp1DsHFKzG2bNJxJ39xnfa6h4zwDJ+NgJAQN\n"
+ "z84OEw5ECZlKp2HbZZdTx0rXFYiyucao/Ugs1rZ3SPzcPg+EJJMSTdxypD8qWaGg\n"
+ "xP0UrmYxl0D9+m+pV8YftD3h9yFDB0DC0eaXyST224mJDUYR4E6tBSFetWgLkc6l\n"
+ "+1os8Ys6SvrlKvtxr0xQFxV1LhMX/gZgntyflljj/DWYpo+uaA74bkhOzIxEpa1Z\n"
+ "BXMLauKJ7dzm2aHYIgFlYxu1TIjib0D/UaEp3wmoZ6pDUpxjoiqjfDc6WxV5b2Gj\n"
+ "TIZ6qwLcADF90estBeLEtkcf8xk71JzFe0FGL4bDkPPKax0jAgMBAAGjgb8wgbww\n"
+ "DwYDVR0TAQH/BAUwAwEB/zBYBgNVHR4BAf8ETjBMoCQwIocgIAENuAAAAAAAAAAA\n"
+ "AAAAAP////8AAAAAAAAAAAAAAAChJDAihyAgAQ24AAAAAAAAAAAAAAAA/////8AA\n"
+ "AAAAAAAAAAAAADAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTZfmb5ME6oZRWG\n"
+ "aFWbNBqBziYSoTAfBgNVHSMEGDAWgBQZXWHEGPF89Ep5BX76GGJZxvxVQDANBgkq\n"
+ "hkiG9w0BAQsFAAOCAYEAl5x0spmwJ0kKiVOLu8WRRtHb6DK6pSu+jGxGh4GNwCFw\n"
+ "bvX8u6QBlCu9xW4afd6/a1PduPtoRQltWeZaB2SDWnnjclKpaG8A9736YV9XKHdL\n"
+ "QX6GZcKSa2r81aAaHSZqxo60HfMPbCLWiWwWDX6O284kLumq7m2Z+pTKmb/Fmdqc\n"
+ "i292pyamXuj8eMsYNGvxzknwe3jr4HZhNfdjRvsLTI6ovEGsa6tdIgszSOrLT/kh\n"
+ "yu8zt9gljas6aBJ2rzT1OECaHQ74IkVZkhA6C4tSf2grH4yDZ4oZrcgJFHF/saC6\n"
+ "5uj5niAxmJrlaBeb+dwl+c5aNFo51zZRYktoQuvCGykWwqc8XwZBKu8MGNsEjEo7\n"
+ "wtfgu/bzXrLUJluXnzVBNCcXwDzsgIxlpJcFZ5aqaVhfYrl8cd5Wa3FrkHvkGyBP\n"
+ "aXS1nd/tvl96i6p60w/VkX6FlSknXh8IdkjcChckJv3AukUrV0U1ViTaVkWpVhQL\n"
+ "JKM8n9POeVPK4pUlaXAd\n"
+ "-----END CERTIFICATE-----\n",
+ /* (no name constraints set) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID/zCCAmegAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDYyOTA5MzY1MVoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0xMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAnf+axUDkYDVQNCvR\n"
+ "hvLcW2nWKZo3g2JciS/h+V2gKWjDDNWxg6luyxlCFsDCaNx+t3j2YJECRZvNMLDP\n"
+ "QiE7U8+GKtJgR3FhHnA5xu/IbBWbNYUO08Q1s+w82dfy6QxRRDOXXh0fjAbd153J\n"
+ "K/9FDpyCuJ/RC9RKphwOz5YsSlMbUpYCCm0pten44HzyT/F2hwVLEEnLn1uuM8x2\n"
+ "HggBYH6WHFiGJLZH6h9ajt04JjyvcTDIaGw4ttET1doBnnRU+6CDiFYeYFqzUDkG\n"
+ "4lKKPxyXsqC0B20vV/N03c5DnODkMnTGPQ696HuhNtf4+i6PRhTieX2iu8uDOPcF\n"
+ "aOfokwfuUx3Ws4dShfvSMN/jFpdpOVn41dceY1Dbqy3tMF0YVFY6SSvRtvUQAvmz\n"
+ "KYmaYwKKpe/yMDqICAdE3fjkHHkQeQri6FP7RrLfbsprLtQlS/1ZclT9CnIz3uES\n"
+ "7C4a9OVvxIz+RZoIps/q94PB5fqvzXsmDIukV9VFKpAjrXWVAgMBAAGjZDBiMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQUGV1hxBjx\n"
+ "fPRKeQV++hhiWcb8VUAwHwYDVR0jBBgwFoAU5xR9/WMP7pTmHW6KSB7HSeK6exkw\n"
+ "DQYJKoZIhvcNAQELBQADggGBABBXBE8psujTJ83QlsnyQYUk2MPfvm5CuJGuC4rr\n"
+ "uc3FFNi1A9h1XR44J5iDf84SZcaNZgYag79SHaQ0OdHHYPdJ6Yc+59IIf8PncoGd\n"
+ "wgeU61u8uIZL53yfDSE7o0t0UrJpBNb7oGF2adRJs7ZqyUZyN6A9+74jcrxllpjI\n"
+ "oha9WgugzP9CUqWYgv/MDNuwAtv+1znNFgv8C8mkhbr8wmf737XsQzfrYFK1ibhw\n"
+ "8rBGJLnLT+Xh+CgaDYeZrnS/oSMXCJETTbnPWfJGacX6FtB829fYhO6VMDqTy74p\n"
+ "k04UcXRxH7ZnRXbCImqnGTfNZtXYLu1oCDC/Ubi08ev2r8Lxrg8B/F6ME0hihiHh\n"
+ "8X1ggr2fDll2mUwBnalRgRYfYc3MRfQv1oy/lQDp0A2rpbKQiX8ji8r1y9xDcu/B\n"
+ "ERwaNiUxyK+Tx3BiMIN4EP7+yGh/f71PDvlZYBkXNYrQBaCpW8fj2hr6N/B4kCPr\n"
+ "/AJhLcEQybcD4IKiqywx8kx3Ig==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID3jCCAkagAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCAXDTE2MDYyOTA5MzY1MFoYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRD\n"
+ "QS0wMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEApAgApH8PdlQKWr+K\n"
+ "ja6KYXYYNxdhs4JoiOBxr3OQuS/ocqp1HU5vVRXKiu0XpqkB631wmC1tTk7N4LYZ\n"
+ "+4ffM82JhkK0y1FwV4soqeuwYraF//8ekgmCxi7tqie0WDmXc+aO2O8pruFHTjCV\n"
+ "TCMAer+wspFEQgHVsbFRAr+zyZpz8bn3Ywy801aM+807sEyNeeIMR0UnM5uELKvF\n"
+ "iHXJwdPdXM48sGe6DHJtSw4OLx3+xqRMlhVBAb0/yYLv1HDFwul0IRBfjj96rXgc\n"
+ "bWLiKIjZCl64+Y+UbbHp71pT09T/tzu15tvjHoIGLudWIaZHCnU10fQS1ySL/Xjm\n"
+ "n0xxze2AVSzoYoiw3ldkTvik9gqESC+uu+QXhzhxKe+GKEd6oGE+8KOxAkTJT6BO\n"
+ "vXKa6R7XDgI4AXeNlTgOZXDAqmhPFjARaLS8jdUIKJLHSaqlzX0+XLilgTGMNaXA\n"
+ "4Sm5pKnJcoCpL4OisgiJnuIRshO10IKgM5YqeytbkjeJzqX9AgMBAAGjQzBBMA8G\n"
+ "A1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcEADAdBgNVHQ4EFgQU5xR9/WMP\n"
+ "7pTmHW6KSB7HSeK6exkwDQYJKoZIhvcNAQELBQADggGBAARJRZIqmdoMRq3iYxh9\n"
+ "vApIvuQ8cImjusmIaYzZpAvjcOiX5RGuN/69e7Os6QxnN+H6TAj3IX+a0Msu+P/c\n"
+ "NrrQWttd+uR2xZic+dNXzhsEI5+o4G7W9srnDLU01FmlytvH1CSgLYm8uv3Q8G3/\n"
+ "RVEYmOphvHUUDYJeFIUDyaC88k52tyZ1SeSkveLRy+vf7GkHicVVMAOuyiQV3aQD\n"
+ "M8o3QFyrncw5i608d8JArJZ7LXhx+S+37rMsBGHnXAyKjv8zNt/YW3IjAA4ifr+m\n"
+ "rbTurPyCNxKFdhTBQaF1ofQaKVNEIdSjNCB+5RXUXmoAELsiRQS4LGN6NhMfBlbu\n"
+ "YAMUmDjwu/LkDGLbZHX0cGiDuLc/qefVc1QBAQZ2zoCAnYZU6itnzqlayOijNj8n\n"
+ "0aHMa8P8rb9gzOKcNOz147lLK5oHjYgeYOy3hpUDT/k7wyELWb20GKaaWLgGqWS0\n"
+ "W5U6UgHQoBLyOvHIOkbCRVyIPLh9ijufA0LpUdk2Lf1Sww==\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
static const char *v1_intermed_check[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDGzCCAgOgAwIBAgIIUvuL4ymDgpEwDQYJKoZIhvcNAQELBQAwDjEMMAoGA1UE\n"
- "AxMDQ0ExMCIYDzIwMTQwMjEyMTQ1NzQwWhgPOTk5OTEyMzEyMzU5NTlaMBExDzAN\n"
- "BgNVBAMTBnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkh\n"
- "OTKvbV/OQcP9fn02UGzWNLGwS06248rOo+fHqCngf3nl/IefzktuI4Al5Qq9pq42\n"
- "X2oLn/zr8kaO3L0rDcc54nVRuipfsw5nxAmwmjpfwnDgyla4Y88n57dhia/tmFlL\n"
- "rpspg4YJ8Jt4/tGaNVS0OZ57LEoW7/OrqoGM7U3Xxa2QbzaNYMGcSt2ePvccCg13\n"
- "+CJcXxOQcr/cUxyuk9neATJoulFtO8ycpmkLFUdi0WoThBjNCCJ8s7ZuvnGpF4vD\n"
- "3fuvyM2ftiS08B2c5cv6FH9+4I7Elrb++TdVf43F0Awc2pLhm8L1fAuTtMjtbd9w\n"
- "pxs0yaWR8IvQYbWM/XUCAwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAK\n"
- "BggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBTlqmq9/mceVMMP\n"
- "Z0HtoWZvHDc/tTAfBgNVHSMEGDAWgBRq1Eg1exmWS45j+lFklVwTQe5NsjANBgkq\n"
- "hkiG9w0BAQsFAAOCAQEAAWX2f1XE/bR+DYCMaNAFpTjOFZ54eCBdazUqfVamPRoP\n"
- "/8qyEYpMaA+IpHkJ5tXsx/rdKLgg1kNv/6bXyCwVgVcNBxpt05WUxqFG9xxLLz1K\n"
- "UkbOZUA0/P9GqjRt9HeodP0Hqog1c1d4jgU3Ng7FIn5JXmLNVfl5qXfXCJ2S9WKu\n"
- "pHw0M9TLOKUD2DD2T5K/iZAU0AXGRVUH39e+xsFIoawPWflfN5eNz8uikMQc+kxt\n"
- "DdEMfPZidecToAcMolle53F7zZvqQswfla/3esb/bnndFAqIsnXRpi6Oj06ajzwE\n"
- "TKP745KouHnNPZ3Hz1mPeusn4EJkLfTb5aBT3nJ+Kw==\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIICmzCCAYMCCFL7i7wg78R3MA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAMTA0NB\n"
- "MjAiGA8yMDE0MDIxMjE0NTcwMloYDzk5OTkxMjMxMjM1OTU5WjAOMQwwCgYDVQQD\n"
- "EwNDQTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDS0OoKnGy/0Ju\n"
- "U/Q+T3b5RR53oe24OoISkKE4Sia50aHeQZbYitIsQUEvMq06kdjaSA2p8qT29p9n\n"
- "feDYsrhgZkWm4stp2EMkbbkB6k0hBobo4YQiQRa4ttYIsOWLMk/xR0z5ST+UoUv6\n"
- "L/5IOxxJzdpUEbMJpM0Zp8AUZRKnXTc88a/zpPbYiO+LicdhlIKiUvIlnVTlvHOz\n"
- "yN9y5o0Dry9i3IlDSTK8Ls54Nm6v7Z+1F1UwIXkYJCX0WxJ6w/4jHmbiRSitbH9s\n"
- "UqSUm9sHCUakBJA3Y9/9K2SVWNJrG/G4LmZ+Zwr8NdZN3RrxQnWnudL4bTtM0WgY\n"
- "QynV12XDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGJbRVVxERtx5Li15n1bdAzW\n"
- "HaDNKt/TkUcZvnfdtggvZLkKhPiNWksQ+9jk1RS71dSZHT9Kb9bIVhaYzaHdI+hG\n"
- "7coftkY66wjD9xLv2DyqnwvuR0S8Uhj9jas5xf/P9S79ZDk61Afg7yX8aLBJpJIH\n"
- "citi1c65C8rYwB8zsF1Zbbh2/6Enty+eFhS1JOuEgUFP1oO2Nj2vh4IqR3yEGdGt\n"
- "Tr57CD/C97fcaeRE4LlHJIMQ9toeZ5Fc9avnOzNIxJd7BPqWWvOnu3TWufj7uaq+\n"
- "CcHTlq9h0NKf9dI1GsxbscJbO3+I+hzOwYfFcNrQ+8BFGbcwx9ZcS2xO3Rx9dbc=\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC3jCCAcagAwIBAgIBATANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwNDQTIw\n"
- "IhgPMjAxNDAyMTIxNDU0NTJaGA85OTk5MTIzMTIzNTk1OVowDjEMMAoGA1UEAxMD\n"
- "Q0EyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZPztwmz136OBSTT\n"
- "t4pXys9dTfaOBajrO2s4JcPa0C+7D2wfWD941q1q01TV5+QgLDTF7OO5VSXt2W3p\n"
- "cKlXS/Ll2N8sxTaULcVCodFrHOdfHV1V65VlWhJOnPdpboBtM2V8Iory+d2mNXZT\n"
- "wkcNJ/Z8YBUZCTeR1zaLjq0GAITyJoMiI4+x9Djc+iBDGJarRW7A/JyDN4EFjDzw\n"
- "svdWpHg710I+qtKnlMO/whEmw9r3L486JTSlrrrruUSVGY9UWJpv62az1jbu63d8\n"
- "6/PBp0xbBpiv1xA0qSSquN/THurTZ0Y0MS0vbpnAYkws8YxnFAV1TU4B7AZ0IQId\n"
- "Zjo6HQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBAAw\n"
- "HQYDVR0OBBYEFNVrkTf8WoQKImozc6dBqx8J8tvhMA0GCSqGSIb3DQEBCwUAA4IB\n"
- "AQBpX+j6Fd5aLnMs55qqbFBTWU9bH4/fGh6OVcJztZyvRTOQMLoha9Lsa2C1c1u0\n"
- "kjj3coRWIq8YH8FbOhu0x3pij5dcnn1FQCKcwEmjdDf6ltxplkZXpR86yW2ZyR2W\n"
- "WmIPUrMPJNFkBbgVKFyYoj+9QUyoWHAWNSLJhqBI5v5CRNYIIat1Nt5SuTDm3ggw\n"
- "GUfMH/snytxVq23tj+02pBCdahTqN1w83W1yFX39URChPpl9RZ6HcIg3DFrXhXte\n"
- "lA+/t8l+o7w7POJ4xMyRtbTuGpGHQac+VJBWKFkduY3sbXN2GdQPL6/VvKH115Tr\n"
- "Bos85afmGYPR/gUP0hVSlFzj\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDGzCCAgOgAwIBAgIIUvuL4ymDgpEwDQYJKoZIhvcNAQELBQAwDjEMMAoGA1UE\n"
+ "AxMDQ0ExMCIYDzIwMTQwMjEyMTQ1NzQwWhgPOTk5OTEyMzEyMzU5NTlaMBExDzAN\n"
+ "BgNVBAMTBnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkh\n"
+ "OTKvbV/OQcP9fn02UGzWNLGwS06248rOo+fHqCngf3nl/IefzktuI4Al5Qq9pq42\n"
+ "X2oLn/zr8kaO3L0rDcc54nVRuipfsw5nxAmwmjpfwnDgyla4Y88n57dhia/tmFlL\n"
+ "rpspg4YJ8Jt4/tGaNVS0OZ57LEoW7/OrqoGM7U3Xxa2QbzaNYMGcSt2ePvccCg13\n"
+ "+CJcXxOQcr/cUxyuk9neATJoulFtO8ycpmkLFUdi0WoThBjNCCJ8s7ZuvnGpF4vD\n"
+ "3fuvyM2ftiS08B2c5cv6FH9+4I7Elrb++TdVf43F0Awc2pLhm8L1fAuTtMjtbd9w\n"
+ "pxs0yaWR8IvQYbWM/XUCAwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAK\n"
+ "BggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBTlqmq9/mceVMMP\n"
+ "Z0HtoWZvHDc/tTAfBgNVHSMEGDAWgBRq1Eg1exmWS45j+lFklVwTQe5NsjANBgkq\n"
+ "hkiG9w0BAQsFAAOCAQEAAWX2f1XE/bR+DYCMaNAFpTjOFZ54eCBdazUqfVamPRoP\n"
+ "/8qyEYpMaA+IpHkJ5tXsx/rdKLgg1kNv/6bXyCwVgVcNBxpt05WUxqFG9xxLLz1K\n"
+ "UkbOZUA0/P9GqjRt9HeodP0Hqog1c1d4jgU3Ng7FIn5JXmLNVfl5qXfXCJ2S9WKu\n"
+ "pHw0M9TLOKUD2DD2T5K/iZAU0AXGRVUH39e+xsFIoawPWflfN5eNz8uikMQc+kxt\n"
+ "DdEMfPZidecToAcMolle53F7zZvqQswfla/3esb/bnndFAqIsnXRpi6Oj06ajzwE\n"
+ "TKP745KouHnNPZ3Hz1mPeusn4EJkLfTb5aBT3nJ+Kw==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICmzCCAYMCCFL7i7wg78R3MA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAMTA0NB\n"
+ "MjAiGA8yMDE0MDIxMjE0NTcwMloYDzk5OTkxMjMxMjM1OTU5WjAOMQwwCgYDVQQD\n"
+ "EwNDQTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDS0OoKnGy/0Ju\n"
+ "U/Q+T3b5RR53oe24OoISkKE4Sia50aHeQZbYitIsQUEvMq06kdjaSA2p8qT29p9n\n"
+ "feDYsrhgZkWm4stp2EMkbbkB6k0hBobo4YQiQRa4ttYIsOWLMk/xR0z5ST+UoUv6\n"
+ "L/5IOxxJzdpUEbMJpM0Zp8AUZRKnXTc88a/zpPbYiO+LicdhlIKiUvIlnVTlvHOz\n"
+ "yN9y5o0Dry9i3IlDSTK8Ls54Nm6v7Z+1F1UwIXkYJCX0WxJ6w/4jHmbiRSitbH9s\n"
+ "UqSUm9sHCUakBJA3Y9/9K2SVWNJrG/G4LmZ+Zwr8NdZN3RrxQnWnudL4bTtM0WgY\n"
+ "QynV12XDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGJbRVVxERtx5Li15n1bdAzW\n"
+ "HaDNKt/TkUcZvnfdtggvZLkKhPiNWksQ+9jk1RS71dSZHT9Kb9bIVhaYzaHdI+hG\n"
+ "7coftkY66wjD9xLv2DyqnwvuR0S8Uhj9jas5xf/P9S79ZDk61Afg7yX8aLBJpJIH\n"
+ "citi1c65C8rYwB8zsF1Zbbh2/6Enty+eFhS1JOuEgUFP1oO2Nj2vh4IqR3yEGdGt\n"
+ "Tr57CD/C97fcaeRE4LlHJIMQ9toeZ5Fc9avnOzNIxJd7BPqWWvOnu3TWufj7uaq+\n"
+ "CcHTlq9h0NKf9dI1GsxbscJbO3+I+hzOwYfFcNrQ+8BFGbcwx9ZcS2xO3Rx9dbc=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC3jCCAcagAwIBAgIBATANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwNDQTIw\n"
+ "IhgPMjAxNDAyMTIxNDU0NTJaGA85OTk5MTIzMTIzNTk1OVowDjEMMAoGA1UEAxMD\n"
+ "Q0EyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZPztwmz136OBSTT\n"
+ "t4pXys9dTfaOBajrO2s4JcPa0C+7D2wfWD941q1q01TV5+QgLDTF7OO5VSXt2W3p\n"
+ "cKlXS/Ll2N8sxTaULcVCodFrHOdfHV1V65VlWhJOnPdpboBtM2V8Iory+d2mNXZT\n"
+ "wkcNJ/Z8YBUZCTeR1zaLjq0GAITyJoMiI4+x9Djc+iBDGJarRW7A/JyDN4EFjDzw\n"
+ "svdWpHg710I+qtKnlMO/whEmw9r3L486JTSlrrrruUSVGY9UWJpv62az1jbu63d8\n"
+ "6/PBp0xbBpiv1xA0qSSquN/THurTZ0Y0MS0vbpnAYkws8YxnFAV1TU4B7AZ0IQId\n"
+ "Zjo6HQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBAAw\n"
+ "HQYDVR0OBBYEFNVrkTf8WoQKImozc6dBqx8J8tvhMA0GCSqGSIb3DQEBCwUAA4IB\n"
+ "AQBpX+j6Fd5aLnMs55qqbFBTWU9bH4/fGh6OVcJztZyvRTOQMLoha9Lsa2C1c1u0\n"
+ "kjj3coRWIq8YH8FbOhu0x3pij5dcnn1FQCKcwEmjdDf6ltxplkZXpR86yW2ZyR2W\n"
+ "WmIPUrMPJNFkBbgVKFyYoj+9QUyoWHAWNSLJhqBI5v5CRNYIIat1Nt5SuTDm3ggw\n"
+ "GUfMH/snytxVq23tj+02pBCdahTqN1w83W1yFX39URChPpl9RZ6HcIg3DFrXhXte\n"
+ "lA+/t8l+o7w7POJ4xMyRtbTuGpGHQac+VJBWKFkduY3sbXN2GdQPL6/VvKH115Tr\n"
+ "Bos85afmGYPR/gUP0hVSlFzj\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
static const char *v1_root_check[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDAjCCAeqgAwIBAgIMVDP8wwGyCHAlXREsMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTAwIhgPMjAxNDEwMDcxNDQ2MjdaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQCp7I46Ga7QxXCq6SegwcKCbnMeIG2P5IaJXknjBy4rq7P3dqEdEmm/UdwS\n"
- "Wp2jH+k+OFvzFe2FR1fY7UBSFdpLTaMz8YIQ1ESPu2afAxWCE1drJnphVCZyMskp\n"
- "d9P9p+TXE4Y7ppxPRTvp2D/chfIcByIKPKwsjU37hrgFehb7Jolq3Er0pOPitSPj\n"
- "KFVKNAktu8Z411S1hQdO7+jjr8pbFoROm2VDbYRpowCHw9ZhlC51SFKeqPTslUdv\n"
- "53pmq1p02d3WMvKWuFRAIMs1UPba5prN9UI7jZztR0o7xnHm3KtWk+o4+YSDCM5R\n"
- "EoiGvyhKgDoM3B/KQG+1rin2/uMdAgMBAAGjVjBUMAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFDoL\n"
- "zL5Pd48Psh5oe9VGrkmXclumMA0GCSqGSIb3DQEBCwUAA4IBAQA21lKw/Vr7P4hl\n"
- "VBY27GOGIh7Tw0dFN8HiYX0jFRlyn7zgoRYfJMuLxtC+jJl02s+iljl9gdTlcAgt\n"
- "dWs74QdKUIMHfoT12WOcIwAIMZLBspbUjn6+eoVPE6zCOfrChRCv4dM4BCz/kg6w\n"
- "MqxM/UE+OS+AgO8hHN1boMbBWMcMR/ylpJE2P3nHGgTg6xsZrEn9aH8y+uqUuScn\n"
- "P13H74zV1f1tTi2QT7Y/lpNKuB8vvqJgcUdxGaVQhz3q+YooSwmkDaWTz9HIAqpr\n"
- "77BBxvr5eok6o528h4qJ5nA3NgLw8nIgyBP2vN/N4CsmRAZ/vHVbGEOeWRkH0rGE\n"
- "SemQfe/B\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIICljCCAX4CAQAwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAxMEQ0EtMDAiGA8y\n"
- "MDE0MTAwNzE0NDYyNloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnTMg33+4Q3ULz+//A9Wn\n"
- "m0DCq9X1ne0q8TfCriOo4Zc2VuFsR3Bm90btX9KqVEfByD8Ba4fb/oF0F6+sb4Ej\n"
- "imPI6PSwHXEX0BPSHcmv6lb+iXHRwpqsx+r9GIuPS+0vuTu07sj1yjszlx7aNXOx\n"
- "hsDAFaedzO8/9nCjbrQ79cLcGusPETjGFAD9vDfBTUNtebPiW9CCNsmRUVWOm6/s\n"
- "5kfy1AfcH6FZCoqvmoELz55JWzYHrWSQhgIopJ0DLfYoF8fg3XeIMUNLk+Lrcoe6\n"
- "ZDCxDxGwXReNfIWnf1l1OnZAdMAt/egr9jeQR+l9y4jBhcssW7Wb8M6+wvinsMOG\n"
- "MQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBosiz3l31++ZErMs09bnGe+DEQfL+t\n"
- "iWRmhzLC7kF64+O4Eu+IkWvEUv+LEhHm2GLrqaKu7FAlWUMWRX3GHHxAOtNeLR7U\n"
- "qXBZtq56wHA+fMv8+lqLQuT6eKLNbbuxVWZ/E1qaMax7rlQrtEpAC9ruuafcPlC5\n"
- "U4YbJ4VOhfBnJzQ6KlFtbqOkGr7v/l2d9NRxorAWawPVhIteZv1Ahiu++5g+dn/R\n"
- "z8ehN9SEm+c6C5mWrqHiQka3yi060gO8kBcumM/cE6BxffiOUxy2gsPC2ZrI8xkB\n"
- "ghrpQ87AmWXsvVk03U1l0vHpiE3kXb5FIAbWW7In1mfULqLKgeqllMhD\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDAjCCAeqgAwIBAgIMVDP8wwGyCHAlXREsMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTAwIhgPMjAxNDEwMDcxNDQ2MjdaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQCp7I46Ga7QxXCq6SegwcKCbnMeIG2P5IaJXknjBy4rq7P3dqEdEmm/UdwS\n"
+ "Wp2jH+k+OFvzFe2FR1fY7UBSFdpLTaMz8YIQ1ESPu2afAxWCE1drJnphVCZyMskp\n"
+ "d9P9p+TXE4Y7ppxPRTvp2D/chfIcByIKPKwsjU37hrgFehb7Jolq3Er0pOPitSPj\n"
+ "KFVKNAktu8Z411S1hQdO7+jjr8pbFoROm2VDbYRpowCHw9ZhlC51SFKeqPTslUdv\n"
+ "53pmq1p02d3WMvKWuFRAIMs1UPba5prN9UI7jZztR0o7xnHm3KtWk+o4+YSDCM5R\n"
+ "EoiGvyhKgDoM3B/KQG+1rin2/uMdAgMBAAGjVjBUMAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFDoL\n"
+ "zL5Pd48Psh5oe9VGrkmXclumMA0GCSqGSIb3DQEBCwUAA4IBAQA21lKw/Vr7P4hl\n"
+ "VBY27GOGIh7Tw0dFN8HiYX0jFRlyn7zgoRYfJMuLxtC+jJl02s+iljl9gdTlcAgt\n"
+ "dWs74QdKUIMHfoT12WOcIwAIMZLBspbUjn6+eoVPE6zCOfrChRCv4dM4BCz/kg6w\n"
+ "MqxM/UE+OS+AgO8hHN1boMbBWMcMR/ylpJE2P3nHGgTg6xsZrEn9aH8y+uqUuScn\n"
+ "P13H74zV1f1tTi2QT7Y/lpNKuB8vvqJgcUdxGaVQhz3q+YooSwmkDaWTz9HIAqpr\n"
+ "77BBxvr5eok6o528h4qJ5nA3NgLw8nIgyBP2vN/N4CsmRAZ/vHVbGEOeWRkH0rGE\n"
+ "SemQfe/B\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICljCCAX4CAQAwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAxMEQ0EtMDAiGA8y\n"
+ "MDE0MTAwNzE0NDYyNloYDzk5OTkxMjMxMjM1OTU5WjAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnTMg33+4Q3ULz+//A9Wn\n"
+ "m0DCq9X1ne0q8TfCriOo4Zc2VuFsR3Bm90btX9KqVEfByD8Ba4fb/oF0F6+sb4Ej\n"
+ "imPI6PSwHXEX0BPSHcmv6lb+iXHRwpqsx+r9GIuPS+0vuTu07sj1yjszlx7aNXOx\n"
+ "hsDAFaedzO8/9nCjbrQ79cLcGusPETjGFAD9vDfBTUNtebPiW9CCNsmRUVWOm6/s\n"
+ "5kfy1AfcH6FZCoqvmoELz55JWzYHrWSQhgIopJ0DLfYoF8fg3XeIMUNLk+Lrcoe6\n"
+ "ZDCxDxGwXReNfIWnf1l1OnZAdMAt/egr9jeQR+l9y4jBhcssW7Wb8M6+wvinsMOG\n"
+ "MQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBosiz3l31++ZErMs09bnGe+DEQfL+t\n"
+ "iWRmhzLC7kF64+O4Eu+IkWvEUv+LEhHm2GLrqaKu7FAlWUMWRX3GHHxAOtNeLR7U\n"
+ "qXBZtq56wHA+fMv8+lqLQuT6eKLNbbuxVWZ/E1qaMax7rlQrtEpAC9ruuafcPlC5\n"
+ "U4YbJ4VOhfBnJzQ6KlFtbqOkGr7v/l2d9NRxorAWawPVhIteZv1Ahiu++5g+dn/R\n"
+ "z8ehN9SEm+c6C5mWrqHiQka3yi060gO8kBcumM/cE6BxffiOUxy2gsPC2ZrI8xkB\n"
+ "ghrpQ87AmWXsvVk03U1l0vHpiE3kXb5FIAbWW7In1mfULqLKgeqllMhD\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
static const char *pathlen_check[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDGzCCAgOgAwIBAgIIUvuL4ymDgpEwDQYJKoZIhvcNAQELBQAwDjEMMAoGA1UE\n"
- "AxMDQ0ExMCIYDzIwMTQwMjEyMTQ1NzQwWhgPOTk5OTEyMzEyMzU5NTlaMBExDzAN\n"
- "BgNVBAMTBnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkh\n"
- "OTKvbV/OQcP9fn02UGzWNLGwS06248rOo+fHqCngf3nl/IefzktuI4Al5Qq9pq42\n"
- "X2oLn/zr8kaO3L0rDcc54nVRuipfsw5nxAmwmjpfwnDgyla4Y88n57dhia/tmFlL\n"
- "rpspg4YJ8Jt4/tGaNVS0OZ57LEoW7/OrqoGM7U3Xxa2QbzaNYMGcSt2ePvccCg13\n"
- "+CJcXxOQcr/cUxyuk9neATJoulFtO8ycpmkLFUdi0WoThBjNCCJ8s7ZuvnGpF4vD\n"
- "3fuvyM2ftiS08B2c5cv6FH9+4I7Elrb++TdVf43F0Awc2pLhm8L1fAuTtMjtbd9w\n"
- "pxs0yaWR8IvQYbWM/XUCAwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAK\n"
- "BggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBTlqmq9/mceVMMP\n"
- "Z0HtoWZvHDc/tTAfBgNVHSMEGDAWgBRq1Eg1exmWS45j+lFklVwTQe5NsjANBgkq\n"
- "hkiG9w0BAQsFAAOCAQEAAWX2f1XE/bR+DYCMaNAFpTjOFZ54eCBdazUqfVamPRoP\n"
- "/8qyEYpMaA+IpHkJ5tXsx/rdKLgg1kNv/6bXyCwVgVcNBxpt05WUxqFG9xxLLz1K\n"
- "UkbOZUA0/P9GqjRt9HeodP0Hqog1c1d4jgU3Ng7FIn5JXmLNVfl5qXfXCJ2S9WKu\n"
- "pHw0M9TLOKUD2DD2T5K/iZAU0AXGRVUH39e+xsFIoawPWflfN5eNz8uikMQc+kxt\n"
- "DdEMfPZidecToAcMolle53F7zZvqQswfla/3esb/bnndFAqIsnXRpi6Oj06ajzwE\n"
- "TKP745KouHnNPZ3Hz1mPeusn4EJkLfTb5aBT3nJ+Kw==\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIICmzCCAYMCCFL7i7wg78R3MA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAMTA0NB\n"
- "MjAiGA8yMDE0MDIxMjE0NTcwMloYDzk5OTkxMjMxMjM1OTU5WjAOMQwwCgYDVQQD\n"
- "EwNDQTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDS0OoKnGy/0Ju\n"
- "U/Q+T3b5RR53oe24OoISkKE4Sia50aHeQZbYitIsQUEvMq06kdjaSA2p8qT29p9n\n"
- "feDYsrhgZkWm4stp2EMkbbkB6k0hBobo4YQiQRa4ttYIsOWLMk/xR0z5ST+UoUv6\n"
- "L/5IOxxJzdpUEbMJpM0Zp8AUZRKnXTc88a/zpPbYiO+LicdhlIKiUvIlnVTlvHOz\n"
- "yN9y5o0Dry9i3IlDSTK8Ls54Nm6v7Z+1F1UwIXkYJCX0WxJ6w/4jHmbiRSitbH9s\n"
- "UqSUm9sHCUakBJA3Y9/9K2SVWNJrG/G4LmZ+Zwr8NdZN3RrxQnWnudL4bTtM0WgY\n"
- "QynV12XDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGJbRVVxERtx5Li15n1bdAzW\n"
- "HaDNKt/TkUcZvnfdtggvZLkKhPiNWksQ+9jk1RS71dSZHT9Kb9bIVhaYzaHdI+hG\n"
- "7coftkY66wjD9xLv2DyqnwvuR0S8Uhj9jas5xf/P9S79ZDk61Afg7yX8aLBJpJIH\n"
- "citi1c65C8rYwB8zsF1Zbbh2/6Enty+eFhS1JOuEgUFP1oO2Nj2vh4IqR3yEGdGt\n"
- "Tr57CD/C97fcaeRE4LlHJIMQ9toeZ5Fc9avnOzNIxJd7BPqWWvOnu3TWufj7uaq+\n"
- "CcHTlq9h0NKf9dI1GsxbscJbO3+I+hzOwYfFcNrQ+8BFGbcwx9ZcS2xO3Rx9dbc=\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC6DCCAdCgAwIBAgIIUvuTdCOiZ3IwDQYJKoZIhvcNAQELBQAwDjEMMAoGA1UE\n"
- "AxMDQ0EyMCIYDzIwMTQwMjEyMTUyOTU3WhgPOTk5OTEyMzEyMzU5NTlaMA4xDDAK\n"
- "BgNVBAMTA0NBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMGT87cJ\n"
- "s9d+jgUk07eKV8rPXU32jgWo6ztrOCXD2tAvuw9sH1g/eNatatNU1efkICw0xezj\n"
- "uVUl7dlt6XCpV0vy5djfLMU2lC3FQqHRaxznXx1dVeuVZVoSTpz3aW6AbTNlfCKK\n"
- "8vndpjV2U8JHDSf2fGAVGQk3kdc2i46tBgCE8iaDIiOPsfQ43PogQxiWq0VuwPyc\n"
- "gzeBBYw88LL3VqR4O9dCPqrSp5TDv8IRJsPa9y+POiU0pa6667lElRmPVFiab+tm\n"
- "s9Y27ut3fOvzwadMWwaYr9cQNKkkqrjf0x7q02dGNDEtL26ZwGJMLPGMZxQFdU1O\n"
- "AewGdCECHWY6Oh0CAwEAAaNGMEQwEgYDVR0TAQH/BAgwBgEB/wIBADAPBgNVHQ8B\n"
- "Af8EBQMDBwQAMB0GA1UdDgQWBBTVa5E3/FqECiJqM3OnQasfCfLb4TANBgkqhkiG\n"
- "9w0BAQsFAAOCAQEAtQudk32tQ30ldwLy5QyNzwpxTq1izycXGMkh3LvNUQrxmwzl\n"
- "8EPi1d4bxdAi3ghwppImJPZ1aWOrSl9cxl7kH4clq/QdG6bKhhr/40ImZctV35fA\n"
- "Kd1/aDlUUNQIv7cD/T8fb8rMmZ7RPoLsgLcVfodKwafY+X/y4ZacA2uF2L2dX37T\n"
- "etQprA+hjeKu6rej9eb+ERZqYChDvp7FNbJ5fOnIZ9iG1Z714fUeuRDzvosJl6n8\n"
- "aVIRHXdZbhCgKdJTR4bvFPGVFL86xLMkV7jhCImNBN9rmd59wD6g79nTUUoPDM3r\n"
- "rpNkoLGmlBhUorRWbx0YAz9UojNdd4GWMefwZw==\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDGzCCAgOgAwIBAgIIUvuL4ymDgpEwDQYJKoZIhvcNAQELBQAwDjEMMAoGA1UE\n"
+ "AxMDQ0ExMCIYDzIwMTQwMjEyMTQ1NzQwWhgPOTk5OTEyMzEyMzU5NTlaMBExDzAN\n"
+ "BgNVBAMTBnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkh\n"
+ "OTKvbV/OQcP9fn02UGzWNLGwS06248rOo+fHqCngf3nl/IefzktuI4Al5Qq9pq42\n"
+ "X2oLn/zr8kaO3L0rDcc54nVRuipfsw5nxAmwmjpfwnDgyla4Y88n57dhia/tmFlL\n"
+ "rpspg4YJ8Jt4/tGaNVS0OZ57LEoW7/OrqoGM7U3Xxa2QbzaNYMGcSt2ePvccCg13\n"
+ "+CJcXxOQcr/cUxyuk9neATJoulFtO8ycpmkLFUdi0WoThBjNCCJ8s7ZuvnGpF4vD\n"
+ "3fuvyM2ftiS08B2c5cv6FH9+4I7Elrb++TdVf43F0Awc2pLhm8L1fAuTtMjtbd9w\n"
+ "pxs0yaWR8IvQYbWM/XUCAwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAK\n"
+ "BggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBTlqmq9/mceVMMP\n"
+ "Z0HtoWZvHDc/tTAfBgNVHSMEGDAWgBRq1Eg1exmWS45j+lFklVwTQe5NsjANBgkq\n"
+ "hkiG9w0BAQsFAAOCAQEAAWX2f1XE/bR+DYCMaNAFpTjOFZ54eCBdazUqfVamPRoP\n"
+ "/8qyEYpMaA+IpHkJ5tXsx/rdKLgg1kNv/6bXyCwVgVcNBxpt05WUxqFG9xxLLz1K\n"
+ "UkbOZUA0/P9GqjRt9HeodP0Hqog1c1d4jgU3Ng7FIn5JXmLNVfl5qXfXCJ2S9WKu\n"
+ "pHw0M9TLOKUD2DD2T5K/iZAU0AXGRVUH39e+xsFIoawPWflfN5eNz8uikMQc+kxt\n"
+ "DdEMfPZidecToAcMolle53F7zZvqQswfla/3esb/bnndFAqIsnXRpi6Oj06ajzwE\n"
+ "TKP745KouHnNPZ3Hz1mPeusn4EJkLfTb5aBT3nJ+Kw==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICmzCCAYMCCFL7i7wg78R3MA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAMTA0NB\n"
+ "MjAiGA8yMDE0MDIxMjE0NTcwMloYDzk5OTkxMjMxMjM1OTU5WjAOMQwwCgYDVQQD\n"
+ "EwNDQTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDS0OoKnGy/0Ju\n"
+ "U/Q+T3b5RR53oe24OoISkKE4Sia50aHeQZbYitIsQUEvMq06kdjaSA2p8qT29p9n\n"
+ "feDYsrhgZkWm4stp2EMkbbkB6k0hBobo4YQiQRa4ttYIsOWLMk/xR0z5ST+UoUv6\n"
+ "L/5IOxxJzdpUEbMJpM0Zp8AUZRKnXTc88a/zpPbYiO+LicdhlIKiUvIlnVTlvHOz\n"
+ "yN9y5o0Dry9i3IlDSTK8Ls54Nm6v7Z+1F1UwIXkYJCX0WxJ6w/4jHmbiRSitbH9s\n"
+ "UqSUm9sHCUakBJA3Y9/9K2SVWNJrG/G4LmZ+Zwr8NdZN3RrxQnWnudL4bTtM0WgY\n"
+ "QynV12XDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGJbRVVxERtx5Li15n1bdAzW\n"
+ "HaDNKt/TkUcZvnfdtggvZLkKhPiNWksQ+9jk1RS71dSZHT9Kb9bIVhaYzaHdI+hG\n"
+ "7coftkY66wjD9xLv2DyqnwvuR0S8Uhj9jas5xf/P9S79ZDk61Afg7yX8aLBJpJIH\n"
+ "citi1c65C8rYwB8zsF1Zbbh2/6Enty+eFhS1JOuEgUFP1oO2Nj2vh4IqR3yEGdGt\n"
+ "Tr57CD/C97fcaeRE4LlHJIMQ9toeZ5Fc9avnOzNIxJd7BPqWWvOnu3TWufj7uaq+\n"
+ "CcHTlq9h0NKf9dI1GsxbscJbO3+I+hzOwYfFcNrQ+8BFGbcwx9ZcS2xO3Rx9dbc=\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC6DCCAdCgAwIBAgIIUvuTdCOiZ3IwDQYJKoZIhvcNAQELBQAwDjEMMAoGA1UE\n"
+ "AxMDQ0EyMCIYDzIwMTQwMjEyMTUyOTU3WhgPOTk5OTEyMzEyMzU5NTlaMA4xDDAK\n"
+ "BgNVBAMTA0NBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMGT87cJ\n"
+ "s9d+jgUk07eKV8rPXU32jgWo6ztrOCXD2tAvuw9sH1g/eNatatNU1efkICw0xezj\n"
+ "uVUl7dlt6XCpV0vy5djfLMU2lC3FQqHRaxznXx1dVeuVZVoSTpz3aW6AbTNlfCKK\n"
+ "8vndpjV2U8JHDSf2fGAVGQk3kdc2i46tBgCE8iaDIiOPsfQ43PogQxiWq0VuwPyc\n"
+ "gzeBBYw88LL3VqR4O9dCPqrSp5TDv8IRJsPa9y+POiU0pa6667lElRmPVFiab+tm\n"
+ "s9Y27ut3fOvzwadMWwaYr9cQNKkkqrjf0x7q02dGNDEtL26ZwGJMLPGMZxQFdU1O\n"
+ "AewGdCECHWY6Oh0CAwEAAaNGMEQwEgYDVR0TAQH/BAgwBgEB/wIBADAPBgNVHQ8B\n"
+ "Af8EBQMDBwQAMB0GA1UdDgQWBBTVa5E3/FqECiJqM3OnQasfCfLb4TANBgkqhkiG\n"
+ "9w0BAQsFAAOCAQEAtQudk32tQ30ldwLy5QyNzwpxTq1izycXGMkh3LvNUQrxmwzl\n"
+ "8EPi1d4bxdAi3ghwppImJPZ1aWOrSl9cxl7kH4clq/QdG6bKhhr/40ImZctV35fA\n"
+ "Kd1/aDlUUNQIv7cD/T8fb8rMmZ7RPoLsgLcVfodKwafY+X/y4ZacA2uF2L2dX37T\n"
+ "etQprA+hjeKu6rej9eb+ERZqYChDvp7FNbJ5fOnIZ9iG1Z714fUeuRDzvosJl6n8\n"
+ "aVIRHXdZbhCgKdJTR4bvFPGVFL86xLMkV7jhCImNBN9rmd59wD6g79nTUUoPDM3r\n"
+ "rpNkoLGmlBhUorRWbx0YAz9UojNdd4GWMefwZw==\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
static const char *cve_2014_0092_check[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDtDCCAmygAwIBAgIETeC0yjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H\n"
- "bnVUTFMgVGVzdCBDQTAeFw0xMTA1MjgwODM5MzlaFw0zODEwMTIwODM5NDBaMC8x\n"
- "LTArBgNVBAMTJEdudUFBQSBUZXN0IFNlcnZlciAoUlNBIGNlcnRpZmljYXRlKTCC\n"
- "AVIwDQYJKoZIhvcNAQEBBQADggE/ADCCAToCggExALRrJ5glr8H/HsqwfvTYvO1D\n"
- "hmdUXdq0HsKQX4M8AhH8E3KFsoikZUELdl8jvoqf/nlLczsux0s8vxbJl1U1F/Oh\n"
- "ckswwuAnlBLzVgDmzoJLEV2kHpv6+rkbKk0Ytbql5gzHqKihbaqIhNyWDrJsHDWq\n"
- "58eUPfnVx8KiDUuzbnr3CF/FCc0Vkxr3mN8qTGaJJO0f0BZjgWWlWDuhzSVim5mB\n"
- "VAgXGOx8LwiiOyhXMp0XRwqG+2KxQZnm+96o6iB+8xvuuuqaIWQpkvKtc+UZBZ03\n"
- "U+IRnxhfIrriiw0AjJ4vp4c9QL5KoqWSCAwuYcBYfJqZ4dasgzklzz4b7eujbZ3L\n"
- "xTjewcdumzQUvjA+gpAeuUqaduTvMwxGojFy9sNhC/iqZ4n0peV2N6Epn4B5qnUC\n"
- "AwEAAaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDAT\n"
- "BgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBR2\n"
- "B1hM6rUp9S2ABoyDSoINCeyT3jAfBgNVHSMEGDAWgBRNVrdqAFjxZ5L0pnVVG45T\n"
- "AQPvzzANBgkqhkiG9w0BAQsFAAOCATEBdNWmTsh5uIfngyhOWwm7pK2+vgUMY8nH\n"
- "gMoMFHt0yuxuImcUMXu3LRS1dZSoCJACBpTFGi/Dg2U0qvOHQcEmc3OwNqHB90R3\n"
- "LG5jUSCtq/bYW7h/6Gd9KeWCgZczaHbQ9IPTjLH1dLswVPt+fXKB6Eh0ggSrGATE\n"
- "/wRZT/XgDCW8t4C+2+TmJ8ZEzvU87KAPQ9rUBS1+p3EUAR/FfMApApsEig1IZ+ZD\n"
- "5joaGBW7zh1H0B9mEKidRvD7yuRJyzAcvD25nT15NLW0QR3dEeXosLc720xxJl1h\n"
- "h8NJ7YOvn323mOjR9er4i4D6iJlXmJ8tvN9vakCankWvBzb7plFn2sfMQqICFpRc\n"
- "w075D8hdQxfpGffL2tEeKSgjyNHXS7x3dFhUpN3IQjUi2x4f2e/ZXg==\n"
- "-----END CERTIFICATE-----\n",
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDUDCCAgigAwIBAgIBADANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5HbnVU\n"
- "TFMgVGVzdCBDQTAeFw0xMTA1MjgwODM2MzBaFw0zODEwMTIwODM2MzNaMBkxFzAV\n"
- "BgNVBAMTDkdudVRMUyBUZXN0IENBMIIBUjANBgkqhkiG9w0BAQEFAAOCAT8AMIIB\n"
- "OgKCATEAnORCsX1unl//fy2d1054XduIg/3CqVBaT3Hca65SEoDwh0KiPtQoOgZL\n"
- "dKY2cobGs/ojYtOjcs0KnlPYdmtjEh6WEhuJU95v4TQdC4OLMiE56eIGq252hZAb\n"
- "HoTL84Q14DxQWGuzQK830iml7fbw2WcIcRQ8vFGs8SzfXw63+MI6Fq6iMAQIqP08\n"
- "WzGmRRzL5wvCiPhCVkrPmwbXoABub6AAsYwWPJB91M9/lx5gFH5k9/iPfi3s2Kg3\n"
- "F8MOcppqFYjxDSnsfiz6eMh1+bYVIAo367vGVYHigXMEZC2FezlwIHaZzpEoFlY3\n"
- "a7LFJ00yrjQ910r8UE+CEMTYzE40D0olCMo7FA9RCjeO3bUIoYaIdVTUGWEGHWSe\n"
- "oxGei9Gkm6u+ASj8f+i0jxdD2qXsewIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/\n"
- "MA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFE1Wt2oAWPFnkvSmdVUbjlMBA+/P\n"
- "MA0GCSqGSIb3DQEBCwUAA4IBMQAesOgjGFi1zOYpA/N3gkUVRcBHDxmN7g2yOcqH\n"
- "VfhFc+e4zhOehR11WCt2RgzNlnYVmV5zBmQBdTAt8Po/MVhLCDW1BULHlLvL0DFc\n"
- "4sB1RlcGeQcCKQa4b+Q9VWf4f6TfuEWZQC5j5stiXjVgOqrOMrzKZ2eKWA4JsL9s\n"
- "V+7ANSZE+hOt1X1mA8moyqe95U2Ecih+nFJSWSBd1WFiEzVnXv4FVWPXbH9HERDK\n"
- "VbasjofWWmQO1YlQPishLgm1IbwqOkOk4sDgoLuUZ4GgP0DDeN6EmRDOzByrv+9u\n"
- "f45Bl9IQf4IJNPLU9lEqjyMOydqT6kBi7fjV5ICuQZ4EeVJsOGuX7PqNyoDzJHLv\n"
- "ferRfNLr6eQSHSxBhS0cVyDjb5gCawK6u7xTU+b7xikEie9k\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDtDCCAmygAwIBAgIETeC0yjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H\n"
+ "bnVUTFMgVGVzdCBDQTAeFw0xMTA1MjgwODM5MzlaFw0zODEwMTIwODM5NDBaMC8x\n"
+ "LTArBgNVBAMTJEdudUFBQSBUZXN0IFNlcnZlciAoUlNBIGNlcnRpZmljYXRlKTCC\n"
+ "AVIwDQYJKoZIhvcNAQEBBQADggE/ADCCAToCggExALRrJ5glr8H/HsqwfvTYvO1D\n"
+ "hmdUXdq0HsKQX4M8AhH8E3KFsoikZUELdl8jvoqf/nlLczsux0s8vxbJl1U1F/Oh\n"
+ "ckswwuAnlBLzVgDmzoJLEV2kHpv6+rkbKk0Ytbql5gzHqKihbaqIhNyWDrJsHDWq\n"
+ "58eUPfnVx8KiDUuzbnr3CF/FCc0Vkxr3mN8qTGaJJO0f0BZjgWWlWDuhzSVim5mB\n"
+ "VAgXGOx8LwiiOyhXMp0XRwqG+2KxQZnm+96o6iB+8xvuuuqaIWQpkvKtc+UZBZ03\n"
+ "U+IRnxhfIrriiw0AjJ4vp4c9QL5KoqWSCAwuYcBYfJqZ4dasgzklzz4b7eujbZ3L\n"
+ "xTjewcdumzQUvjA+gpAeuUqaduTvMwxGojFy9sNhC/iqZ4n0peV2N6Epn4B5qnUC\n"
+ "AwEAAaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDAT\n"
+ "BgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBR2\n"
+ "B1hM6rUp9S2ABoyDSoINCeyT3jAfBgNVHSMEGDAWgBRNVrdqAFjxZ5L0pnVVG45T\n"
+ "AQPvzzANBgkqhkiG9w0BAQsFAAOCATEBdNWmTsh5uIfngyhOWwm7pK2+vgUMY8nH\n"
+ "gMoMFHt0yuxuImcUMXu3LRS1dZSoCJACBpTFGi/Dg2U0qvOHQcEmc3OwNqHB90R3\n"
+ "LG5jUSCtq/bYW7h/6Gd9KeWCgZczaHbQ9IPTjLH1dLswVPt+fXKB6Eh0ggSrGATE\n"
+ "/wRZT/XgDCW8t4C+2+TmJ8ZEzvU87KAPQ9rUBS1+p3EUAR/FfMApApsEig1IZ+ZD\n"
+ "5joaGBW7zh1H0B9mEKidRvD7yuRJyzAcvD25nT15NLW0QR3dEeXosLc720xxJl1h\n"
+ "h8NJ7YOvn323mOjR9er4i4D6iJlXmJ8tvN9vakCankWvBzb7plFn2sfMQqICFpRc\n"
+ "w075D8hdQxfpGffL2tEeKSgjyNHXS7x3dFhUpN3IQjUi2x4f2e/ZXg==\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDUDCCAgigAwIBAgIBADANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5HbnVU\n"
+ "TFMgVGVzdCBDQTAeFw0xMTA1MjgwODM2MzBaFw0zODEwMTIwODM2MzNaMBkxFzAV\n"
+ "BgNVBAMTDkdudVRMUyBUZXN0IENBMIIBUjANBgkqhkiG9w0BAQEFAAOCAT8AMIIB\n"
+ "OgKCATEAnORCsX1unl//fy2d1054XduIg/3CqVBaT3Hca65SEoDwh0KiPtQoOgZL\n"
+ "dKY2cobGs/ojYtOjcs0KnlPYdmtjEh6WEhuJU95v4TQdC4OLMiE56eIGq252hZAb\n"
+ "HoTL84Q14DxQWGuzQK830iml7fbw2WcIcRQ8vFGs8SzfXw63+MI6Fq6iMAQIqP08\n"
+ "WzGmRRzL5wvCiPhCVkrPmwbXoABub6AAsYwWPJB91M9/lx5gFH5k9/iPfi3s2Kg3\n"
+ "F8MOcppqFYjxDSnsfiz6eMh1+bYVIAo367vGVYHigXMEZC2FezlwIHaZzpEoFlY3\n"
+ "a7LFJ00yrjQ910r8UE+CEMTYzE40D0olCMo7FA9RCjeO3bUIoYaIdVTUGWEGHWSe\n"
+ "oxGei9Gkm6u+ASj8f+i0jxdD2qXsewIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/\n"
+ "MA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFE1Wt2oAWPFnkvSmdVUbjlMBA+/P\n"
+ "MA0GCSqGSIb3DQEBCwUAA4IBMQAesOgjGFi1zOYpA/N3gkUVRcBHDxmN7g2yOcqH\n"
+ "VfhFc+e4zhOehR11WCt2RgzNlnYVmV5zBmQBdTAt8Po/MVhLCDW1BULHlLvL0DFc\n"
+ "4sB1RlcGeQcCKQa4b+Q9VWf4f6TfuEWZQC5j5stiXjVgOqrOMrzKZ2eKWA4JsL9s\n"
+ "V+7ANSZE+hOt1X1mA8moyqe95U2Ecih+nFJSWSBd1WFiEzVnXv4FVWPXbH9HERDK\n"
+ "VbasjofWWmQO1YlQPishLgm1IbwqOkOk4sDgoLuUZ4GgP0DDeN6EmRDOzByrv+9u\n"
+ "f45Bl9IQf4IJNPLU9lEqjyMOydqT6kBi7fjV5ICuQZ4EeVJsOGuX7PqNyoDzJHLv\n"
+ "ferRfNLr6eQSHSxBhS0cVyDjb5gCawK6u7xTU+b7xikEie9k\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Triggers incorrect verification success on older versions */
static const char *cve_2008_4989_chain[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB6zCCAVQCCQCgwnB/k0WZrDANBgkqhkiG9w0BAQUFADA9MQswCQYDVQQGEwJE\n"
- "RTEXMBUGA1UEChMOR05VIFRMUyBBdHRhY2sxFTATBgNVBAMTDGludGVybWVkaWF0\n"
- "ZTAeFw0wODExMDMxMjA1MDRaFw0wODEyMDMxMjA1MDRaMDcxCzAJBgNVBAYTAkRF\n"
- "MRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazEPMA0GA1UEAxMGc2VydmVyMIGfMA0G\n"
- "CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKdL9g5ErMLOLRCjiomZlNLhy0moWGaKIW\n"
- "aX6vyUIfh8d6FcArHoKoqhmX7ckvod50sOYPojQesDpl7gVaQNA6Ntr1VCcuNPef\n"
- "UKWtEwL0Qu9JbPnUoIYd7mAaqVQgFp6W6yzV/dp63LH4XSdzBMhpZ/EU6vZoE8Sv\n"
- "VLdqj5r6jwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAH4QRR7sZEbjW00tXYk/3O/Z\n"
- "96AxJNg0F78W5B68gaJrLJ7DTE2RTglscuEq1+2Jyb4AIziwXpYqxgwcP91QpH97\n"
- "XfwdXIcyjYvVLHiKmkQj2zJTY7MeyiEQQ2it8VstZG2fYmi2EiMZIEnyJ2JJ7bA7\n"
- "bF7pG7Cg3oEHUM0H5KUU\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] (not signed by next cert) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICADCCAWmgAwIBAgIJAIZ4nkHQAqTFMA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV\n"
- "BAYTAkRFMRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazENMAsGA1UEAxMEcm9vdDAe\n"
- "Fw0wODExMDMxMjA0NDVaFw0wODEyMDMxMjA0NDVaMD0xCzAJBgNVBAYTAkRFMRcw\n"
- "FQYDVQQKEw5HTlUgVExTIEF0dGFjazEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMIGf\n"
- "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvBpW8sAhIuUmNvcBE6wv/q7MtM1Z9\n"
- "2I1SDL8eJ8I2nPg6BlCX+OIqNruynj8J7uPEQ04ZLwLxNXoyZa8057YFyrKLOvoj\n"
- "5IfBtidsLWYv6PO3qqHJXVvwGdS7PKMuUlsjucCRyXVgQ07ODF7piqoVFi9KD99w\n"
- "AU5+9plGrZNP/wIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\n"
- "A4GBAGPg+M+8MsB6zHN2o+jAtyqovrTTwmzVWEgfEH/aHC9+imGZRQ5lFNc2vdny\n"
- "AgaJ9/izO5S6Ibb5zUowN2WhoUJOVipuQa2m9AviOgheoU7tmANC9ylm/pRkKy/0\n"
- "n5UVzlKxDhRp/xBb7MWOw3KEQjiAf2Z3wCLcCPUqcJUdJC4v\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] (trusted CA cert) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
- "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
- "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
- "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
- "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
- "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
- "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
- "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
- "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
- "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
- "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
- "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
- "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
- "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
- "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
- "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
- "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
- "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
- "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
- "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
- "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
- "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
- "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB6zCCAVQCCQCgwnB/k0WZrDANBgkqhkiG9w0BAQUFADA9MQswCQYDVQQGEwJE\n"
+ "RTEXMBUGA1UEChMOR05VIFRMUyBBdHRhY2sxFTATBgNVBAMTDGludGVybWVkaWF0\n"
+ "ZTAeFw0wODExMDMxMjA1MDRaFw0wODEyMDMxMjA1MDRaMDcxCzAJBgNVBAYTAkRF\n"
+ "MRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazEPMA0GA1UEAxMGc2VydmVyMIGfMA0G\n"
+ "CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKdL9g5ErMLOLRCjiomZlNLhy0moWGaKIW\n"
+ "aX6vyUIfh8d6FcArHoKoqhmX7ckvod50sOYPojQesDpl7gVaQNA6Ntr1VCcuNPef\n"
+ "UKWtEwL0Qu9JbPnUoIYd7mAaqVQgFp6W6yzV/dp63LH4XSdzBMhpZ/EU6vZoE8Sv\n"
+ "VLdqj5r6jwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAH4QRR7sZEbjW00tXYk/3O/Z\n"
+ "96AxJNg0F78W5B68gaJrLJ7DTE2RTglscuEq1+2Jyb4AIziwXpYqxgwcP91QpH97\n"
+ "XfwdXIcyjYvVLHiKmkQj2zJTY7MeyiEQQ2it8VstZG2fYmi2EiMZIEnyJ2JJ7bA7\n"
+ "bF7pG7Cg3oEHUM0H5KUU\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] (not signed by next cert) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICADCCAWmgAwIBAgIJAIZ4nkHQAqTFMA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV\n"
+ "BAYTAkRFMRcwFQYDVQQKEw5HTlUgVExTIEF0dGFjazENMAsGA1UEAxMEcm9vdDAe\n"
+ "Fw0wODExMDMxMjA0NDVaFw0wODEyMDMxMjA0NDVaMD0xCzAJBgNVBAYTAkRFMRcw\n"
+ "FQYDVQQKEw5HTlUgVExTIEF0dGFjazEVMBMGA1UEAxMMaW50ZXJtZWRpYXRlMIGf\n"
+ "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvBpW8sAhIuUmNvcBE6wv/q7MtM1Z9\n"
+ "2I1SDL8eJ8I2nPg6BlCX+OIqNruynj8J7uPEQ04ZLwLxNXoyZa8057YFyrKLOvoj\n"
+ "5IfBtidsLWYv6PO3qqHJXVvwGdS7PKMuUlsjucCRyXVgQ07ODF7piqoVFi9KD99w\n"
+ "AU5+9plGrZNP/wIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUA\n"
+ "A4GBAGPg+M+8MsB6zHN2o+jAtyqovrTTwmzVWEgfEH/aHC9+imGZRQ5lFNc2vdny\n"
+ "AgaJ9/izO5S6Ibb5zUowN2WhoUJOVipuQa2m9AviOgheoU7tmANC9ylm/pRkKy/0\n"
+ "n5UVzlKxDhRp/xBb7MWOw3KEQjiAf2Z3wCLcCPUqcJUdJC4v\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] (trusted CA cert) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUF\n"
+ "ADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYG\n"
+ "A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UE\n"
+ "CxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\n"
+ "IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYx\n"
+ "MTE3MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTAT\n"
+ "BgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT\n"
+ "ZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\n"
+ "bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0\n"
+ "ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQ\n"
+ "LZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\n"
+ "dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F7\n"
+ "7rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcd\n"
+ "HJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR3\n"
+ "2HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\n"
+ "MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7\n"
+ "W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7OR\n"
+ "tvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE\n"
+ "uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\n"
+ "aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqd\n"
+ "E8hhuvU5HIe6uL17In/2/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+\n"
+ "MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+\n"
+ "fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Chain length 3 ends with trusted v1 RSA-MD2 chain */
static const char *verisign_com_chain[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
- "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
- "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
- "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
- "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
- "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
- "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
- "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
- "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
- "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
- "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
- "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
- "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
- "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
- "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
- "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
- "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
- "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
- "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
- "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
- "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
- "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
- "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
- "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
- "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
- "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
- "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
- "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
- "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
- "nKMfhbyFQYPQ6J9g\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
- "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
- "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
- "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
- "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
- "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
- "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
- "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
- "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
- "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
- "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
- "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
- "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
- "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
- "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
- "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
- "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
- "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
- "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
- "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
- "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
- "Gh/aWKfkT8Fhrryi/ks=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
- "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
- "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
- "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
- "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
- "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
- "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
- "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
- "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
- "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
- "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[3] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIGCDCCBPCgAwIBAgIQakrDGzEQ5utI8PxRo5oXHzANBgkqhkiG9w0BAQUFADCB\n"
+ "vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew\n"
+ "HhcNMDcwNTA5MDAwMDAwWhcNMDkwNTA4MjM1OTU5WjCCAUAxEDAOBgNVBAUTBzI0\n"
+ "OTc4ODYxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs\n"
+ "YXdhcmUxCzAJBgNVBAYTAlVTMQ4wDAYDVQQRFAU5NDA0MzETMBEGA1UECBMKQ2Fs\n"
+ "aWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzEiMCAGA1UECRQZNDg3IEVh\n"
+ "c3QgTWlkZGxlZmllbGQgUm9hZDEXMBUGA1UEChQOVmVyaVNpZ24sIEluYy4xJTAj\n"
+ "BgNVBAsUHFByb2R1Y3Rpb24gU2VjdXJpdHkgU2VydmljZXMxMzAxBgNVBAsUKlRl\n"
+ "cm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjEZMBcGA1UE\n"
+ "AxQQd3d3LnZlcmlzaWduLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n"
+ "xxA35ev879drgQCpENGRQ3ARaCPz/WneT9dtMe3qGNvzXQJs6cjm1Bx8XegyW1gB\n"
+ "jJX5Zl4WWbr9wpAWZ1YyJ0bEyShIGmkU8fPfbcXYwSyWoWwvE5NRaUB2ztmfAVdv\n"
+ "OaGMUKxny2Dnj3tAdaQ+FOeRDJJYg6K1hzczq/otOfsCAwEAAaOCAf8wggH7MAkG\n"
+ "A1UdEwQCMAAwHQYDVR0OBBYEFPFaiZNVR0u6UfVO4MsWVfTXzDhnMAsGA1UdDwQE\n"
+ "AwIFoDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vRVZJbnRsLWNybC52ZXJpc2ln\n"
+ "bi5jb20vRVZJbnRsMjAwNi5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXBjAq\n"
+ "MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQGA1Ud\n"
+ "JQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgorBgEEAYI3CgMD\n"
+ "MB8GA1UdIwQYMBaAFE5DyB127zdTek/yWG+U8zji1b3fMHYGCCsGAQUFBwEBBGow\n"
+ "aDArBggrBgEFBQcwAYYfaHR0cDovL0VWSW50bC1vY3NwLnZlcmlzaWduLmNvbTA5\n"
+ "BggrBgEFBQcwAoYtaHR0cDovL0VWSW50bC1haWEudmVyaXNpZ24uY29tL0VWSW50\n"
+ "bDIwMDYuY2VyMG0GCCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAh\n"
+ "MB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dv\n"
+ "LnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMA0GCSqGSIb3DQEBBQUAA4IBAQBEueAg\n"
+ "xZJrjGPKAZk1NT8VtTn0yi87i9XUnSOnkFkAuI3THDd+cWbNSUzc5uFJg42GhMK7\n"
+ "S1Rojm8FHxESovLvimH/w111BKF9wNU2XSOb9KohfYq3GRiQG8O7v9JwIjjLepkc\n"
+ "iyITx7sYiJ+kwZlrNBwN6TwVHrONg6NzyzSnxCg+XgKRbJu2PqEQb6uQVkYhb+Oq\n"
+ "Vi9d4by9YqpnuXImSffQ0OZ/6s3Rl6vY08zIPqa6OVfjGs/H45ETblzezcUKpX0L\n"
+ "cqnOwUB9dVuPhtlX3X/hgz/ROxz96NBwwzha58HUgfEfkVtm+piI6TTI7XxS/7Av\n"
+ "nKMfhbyFQYPQ6J9g\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIGCjCCBPKgAwIBAgIQESoAbTflEG/WynzD77rMGDANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ\n"
+ "u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj\n"
+ "XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs\n"
+ "A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW\n"
+ "Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD\n"
+ "TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB\n"
+ "AAGjggH0MIIB8DAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T\n"
+ "AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo\n"
+ "dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAgBgNV\n"
+ "HSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDgYDVR0PAQH/BAQDAgEGMBEG\n"
+ "CWCGSAGG+EIBAQQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFn\n"
+ "ZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRw\n"
+ "Oi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjApBgNVHREEIjAgpB4wHDEa\n"
+ "MBgGA1UEAxMRQ2xhc3MzQ0EyMDQ4LTEtNDgwPQYIKwYBBQUHAQEEMTAvMC0GCCsG\n"
+ "AQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC52ZXJpc2lnbi5jb20wHwYDVR0j\n"
+ "BBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFqi\n"
+ "sb/rjdQ4qIBywtw4Lqyncfkro7tHu21pbxA2mIzHVi67vKtKm3rW8oKT4BT+is6D\n"
+ "t4Pbk4errGV5Sf1XqbHOCR+6EBXECQ5i4/kKJdVkmPDyqA92Mn6R5hjuvOfa0E6N\n"
+ "eLvincBZK8DOlQ0kDHLKNF5wIokrSrDxaIfz7kSNKEB3OW5IckUxXWs5DoYC6maZ\n"
+ "kzEP32fepp+MnUzOcW86Ifa5ND/5btia9z7a84Ffelxtj3z2mXS3/+QXXe1hXqtI\n"
+ "u5aNZkU5tBIK9nDpnHYiS2DpKhs0Sfei1GfAsSatE7rZhAHBq+GObXAWO3eskZq7\n"
+ "Gh/aWKfkT8Fhrryi/ks=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE/zCCBGigAwIBAgIQY5Jrio9Agv2swDvTeCmmwDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggHKMIIBxjAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjBt\n"
+ "BggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglpbWFnZS9naWYwITAfMAcGBSsOAwIa\n"
+ "BBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNodHRwOi8vbG9nby52ZXJpc2lnbi5j\n"
+ "b20vdnNsb2dvLmdpZjA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7Lvw\n"
+ "MAnzQzn6Aq8zMTMwgYAGA1UdIwR5MHehY6RhMF8xCzAJBgNVBAYTAlVTMRcwFQYD\n"
+ "VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp\n"
+ "bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eYIQcLrkHRDZKTS2OMp7A8y6vzAg\n"
+ "BgNVHSUEGTAXBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwDQYJKoZIhvcNAQEFBQAD\n"
+ "gYEAUNfnArcMK6xK11/59ADJdeNqKOck4skH3qw6WCAYQxfrcn4eobTInOn5G3Gu\n"
+ "39g6DapSHmBex2UtZSxvKnJVlWYQgE4P4wGoXdzV69YdCNssXNVVc59DYhDH05dZ\n"
+ "P4sJH99fucYDkJjUgRUYw35ww0OFwKgUp3CxiizbXxCqEQc=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[3] (CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Chain length 2 ends with trusted v1 RSA-MD2 cert */
static const char *citibank_com_chain[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIENDCCA52gAwIBAgIQauOJMlH5Ob2tFZ6rJMBdjjANBgkqhkiG9w0BAQUFADCB\n"
- "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
- "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
- "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
- "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
- "ODA4MjkwMDAwMDBaFw0xMDA4MjkyMzU5NTlaMHgxCzAJBgNVBAYTAlVTMRMwEQYD\n"
- "VQQIEwpOZXcgSmVyc2V5MRIwEAYDVQQHFAlXZWVoYXdrZW4xEjAQBgNVBAoUCUNp\n"
- "dGlncm91cDERMA8GA1UECxQId2hnLW9hazYxGTAXBgNVBAMUEHd3dy5jaXRpYmFu\n"
- "ay5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALQJbSYtbndsIlslFveP\n"
- "IlVNE38HnUD56BHcwfvcb8rQItXeHzYmgOf/RgHPTKG3LEZOxKqM0QpcZtEJ6xwV\n"
- "cTG7Wjw/FrMisN8aO4JWaxe8dFGajstlEMxz43G5zlprb9jzjnbIvvcnz0ILikOQ\n"
- "qmcThopBTs1+d4j7w/yEJo1zAgMBAAGjggF6MIIBdjAJBgNVHRMEAjAAMAsGA1Ud\n"
- "DwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3JsLnZlcmlzaWduLmNv\n"
- "bS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBEBgNVHSAEPTA7MDkGC2CG\n"
- "SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv\n"
- "bS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
- "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2ln\n"
- "bi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJaW1hZ2UvZ2lmMCEwHzAH\n"
- "BgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYkaHR0cDovL2xvZ28udmVy\n"
- "aXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEBBQUAA4GBAFDXKsxtWkoo\n"
- "HBkNjcCvcnjNAo3Pe+eOtLHb39e5qhkNQLPGA/1/7AofY9KmEtSV2LVGeuuJI4Pi\n"
- "Lg7fPl9Q0OE/oHJpj5JkObBP9Wo1vbrDR2nGWUlCRWm20rH81dTn7OcDxarwGWsR\n"
- "ewTCNmpKYaMx8Q1dyMYunHJApu+fbrHu\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
- "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
- "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
- "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
- "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
- "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
- "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
- "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
- "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
- "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
- "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
- "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
- "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
- "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
- "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
- "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIENDCCA52gAwIBAgIQauOJMlH5Ob2tFZ6rJMBdjjANBgkqhkiG9w0BAQUFADCB\n"
+ "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
+ "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
+ "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
+ "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
+ "ODA4MjkwMDAwMDBaFw0xMDA4MjkyMzU5NTlaMHgxCzAJBgNVBAYTAlVTMRMwEQYD\n"
+ "VQQIEwpOZXcgSmVyc2V5MRIwEAYDVQQHFAlXZWVoYXdrZW4xEjAQBgNVBAoUCUNp\n"
+ "dGlncm91cDERMA8GA1UECxQId2hnLW9hazYxGTAXBgNVBAMUEHd3dy5jaXRpYmFu\n"
+ "ay5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALQJbSYtbndsIlslFveP\n"
+ "IlVNE38HnUD56BHcwfvcb8rQItXeHzYmgOf/RgHPTKG3LEZOxKqM0QpcZtEJ6xwV\n"
+ "cTG7Wjw/FrMisN8aO4JWaxe8dFGajstlEMxz43G5zlprb9jzjnbIvvcnz0ILikOQ\n"
+ "qmcThopBTs1+d4j7w/yEJo1zAgMBAAGjggF6MIIBdjAJBgNVHRMEAjAAMAsGA1Ud\n"
+ "DwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3JsLnZlcmlzaWduLmNv\n"
+ "bS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBEBgNVHSAEPTA7MDkGC2CG\n"
+ "SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv\n"
+ "bS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEFBQcDAQYIKwYBBQUHAwIw\n"
+ "NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2ln\n"
+ "bi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJaW1hZ2UvZ2lmMCEwHzAH\n"
+ "BgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYkaHR0cDovL2xvZ28udmVy\n"
+ "aXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEBBQUAA4GBAFDXKsxtWkoo\n"
+ "HBkNjcCvcnjNAo3Pe+eOtLHb39e5qhkNQLPGA/1/7AofY9KmEtSV2LVGeuuJI4Pi\n"
+ "Lg7fPl9Q0OE/oHJpj5JkObBP9Wo1vbrDR2nGWUlCRWm20rH81dTn7OcDxarwGWsR\n"
+ "ewTCNmpKYaMx8Q1dyMYunHJApu+fbrHu\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
+ "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
+ "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
+ "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
+ "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
+ "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
+ "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
+ "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
+ "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
+ "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
+ "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
+ "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
+ "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
+ "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
+ "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
+ "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] (CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Self-signed certificate */
static const char *pem_self_cert[] = {
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDgjCCAmygAwIBAgIBADALBgkqhkiG9w0BAQUwSzELMAkGA1UEBhMCQlIxFDAS\n"
- "BgNVBAoTC01pbmFzIExpdnJlMSYwJAYDVQQDEx1UaGFkZXUgTGltYSBkZSBTb3V6\n"
- "YSBDYXNjYXJkbzAeFw0wODA1MzAxOTUzNDNaFw0wODExMjYxOTUzNDNaMEsxCzAJ\n"
- "BgNVBAYTAkJSMRQwEgYDVQQKEwtNaW5hcyBMaXZyZTEmMCQGA1UEAxMdVGhhZGV1\n"
- "IExpbWEgZGUgU291emEgQ2FzY2FyZG8wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIB\n"
- "CQKCAQC4D934O6wrXJbMyu1w8gu6nN0aNUDGqrX9UgaB/4xVuYhPlhjH0z9Dqic9\n"
- "0pEZmyNCjQmzDSg/hnlY3fBG0i9Iel2oYn1UB4SdcJ2qGkLS87y2ZbMTS1oyMR7/\n"
- "y9l3WGEWqwgjIvOjGstcZo0rCIF8Qr21QGX22KWg2HXlMaZyA9bGtJ+L+x6f2hoo\n"
- "yIPCA30VMvIgHjOSPQJF3iJFE4Uxq1PQ65W91NyI6/bRKFOmFdCUJW8tqqvntYP8\n"
- "hEE08wGlKimFNv7CqZuRI8QuOnhZ7pBXkyvQpW8yHrORlOHxSjkNQKjddt92TCJb\n"
- "1q6eKv2CtCuDLgCuIy0Onr4U9n+hAgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8w\n"
- "HgYDVR0RBBcwFYITbWFpbC5taW5hc2xpdnJlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
- "BQcDATAPBgNVHQ8BAf8EBQMDB6QAMB0GA1UdDgQWBBQ/5v42y0jBHUKEfqpPmr5a\n"
- "WsjCGjALBgkqhkiG9w0BAQUDggEBAC/WfO2yK3vM9bG0qFEj8sd0cWiapMhf5PtH\n"
- "jigcPb/OKqSFQVXpAdNiUclPRP79Ih3CuWiXfZ/CW0+k2Z8tyy6AnEQItWvoVh/b\n"
- "8lS7Ph/f9JUYHp2DtgsQWcNQbrUZOPFBu8J4MD6cDWG5Uxwl3YASg30ZdmMDNT8B\n"
- "HshYz0HUOAhYwVSI3J/f7LFhD5OpjSroHgE7wA9UJrerAp9f7e3e9D7kNQ8DlvLP\n"
- "kz6Jh+5M/xD3JO1yl+evaCp3LA+z4M2xiNvtzkAEgj3t6RaJ81Sh5XGiooDYZ14R\n"
- "DgEBYLTUfBYBPzoaahPEdG/f0kUjUBJ34fkBUSjJKURPTHJfDfA=\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDgjCCAmygAwIBAgIBADALBgkqhkiG9w0BAQUwSzELMAkGA1UEBhMCQlIxFDAS\n"
+ "BgNVBAoTC01pbmFzIExpdnJlMSYwJAYDVQQDEx1UaGFkZXUgTGltYSBkZSBTb3V6\n"
+ "YSBDYXNjYXJkbzAeFw0wODA1MzAxOTUzNDNaFw0wODExMjYxOTUzNDNaMEsxCzAJ\n"
+ "BgNVBAYTAkJSMRQwEgYDVQQKEwtNaW5hcyBMaXZyZTEmMCQGA1UEAxMdVGhhZGV1\n"
+ "IExpbWEgZGUgU291emEgQ2FzY2FyZG8wggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIB\n"
+ "CQKCAQC4D934O6wrXJbMyu1w8gu6nN0aNUDGqrX9UgaB/4xVuYhPlhjH0z9Dqic9\n"
+ "0pEZmyNCjQmzDSg/hnlY3fBG0i9Iel2oYn1UB4SdcJ2qGkLS87y2ZbMTS1oyMR7/\n"
+ "y9l3WGEWqwgjIvOjGstcZo0rCIF8Qr21QGX22KWg2HXlMaZyA9bGtJ+L+x6f2hoo\n"
+ "yIPCA30VMvIgHjOSPQJF3iJFE4Uxq1PQ65W91NyI6/bRKFOmFdCUJW8tqqvntYP8\n"
+ "hEE08wGlKimFNv7CqZuRI8QuOnhZ7pBXkyvQpW8yHrORlOHxSjkNQKjddt92TCJb\n"
+ "1q6eKv2CtCuDLgCuIy0Onr4U9n+hAgMBAAGjeDB2MA8GA1UdEwEB/wQFMAMBAf8w\n"
+ "HgYDVR0RBBcwFYITbWFpbC5taW5hc2xpdnJlLm9yZzATBgNVHSUEDDAKBggrBgEF\n"
+ "BQcDATAPBgNVHQ8BAf8EBQMDB6QAMB0GA1UdDgQWBBQ/5v42y0jBHUKEfqpPmr5a\n"
+ "WsjCGjALBgkqhkiG9w0BAQUDggEBAC/WfO2yK3vM9bG0qFEj8sd0cWiapMhf5PtH\n"
+ "jigcPb/OKqSFQVXpAdNiUclPRP79Ih3CuWiXfZ/CW0+k2Z8tyy6AnEQItWvoVh/b\n"
+ "8lS7Ph/f9JUYHp2DtgsQWcNQbrUZOPFBu8J4MD6cDWG5Uxwl3YASg30ZdmMDNT8B\n"
+ "HshYz0HUOAhYwVSI3J/f7LFhD5OpjSroHgE7wA9UJrerAp9f7e3e9D7kNQ8DlvLP\n"
+ "kz6Jh+5M/xD3JO1yl+evaCp3LA+z4M2xiNvtzkAEgj3t6RaJ81Sh5XGiooDYZ14R\n"
+ "DgEBYLTUfBYBPzoaahPEdG/f0kUjUBJ34fkBUSjJKURPTHJfDfA=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Chain length 2, CA constraint FALSE in v3 CA cert)*/
static const char *thea_chain[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC7DCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJERTEM\n"
- "MAoGA1UECBMDUkxQMSAwHgYDVQQKExdUZWNobmlzY2hlIFVuaXZlcnNpdGFldDEb\n"
- "MBkGA1UECxMSRmFjaGJlcmVpY2ggUGh5c2lrMQswCQYDVQQDEwJDQTAeFw0wODA5\n"
- "MTExMDUyMDdaFw0xODA5MDkxMDUyMDdaMIGTMQswCQYDVQQGEwJERTEMMAoGA1UE\n"
- "CBMDUkxQMRcwFQYDVQQHEw5LYWlzZXJzbGF1dGVybjEgMB4GA1UEChMXVGVjaG5p\n"
- "c2NoZSBVbml2ZXJzaXRhZXQxGzAZBgNVBAsTEkZhY2hiZXJlaWNoIFBoeXNpazEe\n"
- "MBwGA1UEAxMVdGhlYS5waHlzaWsudW5pLWtsLmRlMIGfMA0GCSqGSIb3DQEBAQUA\n"
- "A4GNADCBiQKBgQC/gTUrXSeNvuRH+ibdR7zvlCGs+66C6tDaq14SpEDiY/FEw/S4\n"
- "mkhsHohiQkmqpcPJ0FONok7bvJryKZwwhGFHeESvvWjFVNIdxFgf6Jx2McKsRzBD\n"
- "nbgVNeK6bywh2L5WgOeckRm0vUxCwX+jWtETorNHSYnZI9smmBtJ1FIPkQIDAQAB\n"
- "o3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl\n"
- "ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUS0IiRshnnlH2bneYeCn6OkY9nZAwHwYD\n"
- "VR0jBBgwFoAU+rCwSUUzK53X9W5otZG4okyY/rswDQYJKoZIhvcNAQEFBQADgYEA\n"
- "g0f6XFxpUL2hncpQcnKorNYdOkZkZHiKqu2SINtla+IbLZFO4nVVO+LKt+RCo2o7\n"
- "tZIMLEU3aCeH5dgSEKQeyL5MPMg3MbA6ezjOBTkT/YgngzM4CMLOKcvAMLncfH/z\n"
- "GYBW1DXijIy1r/SxO0k9zy8OEtKeOOUO0GqQTWuTOOg=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICvzCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJERTEM\n"
- "MAoGA1UECBMDUkxQMSAwHgYDVQQKExdUZWNobmlzY2hlIFVuaXZlcnNpdGFldDEb\n"
- "MBkGA1UECxMSRmFjaGJlcmVpY2ggUGh5c2lrMQswCQYDVQQDEwJDQTAeFw0wODA5\n"
- "MTExMDQ3NDRaFw0xODA5MDkxMDQ3NDRaMGcxCzAJBgNVBAYTAkRFMQwwCgYDVQQI\n"
- "EwNSTFAxIDAeBgNVBAoTF1RlY2huaXNjaGUgVW5pdmVyc2l0YWV0MRswGQYDVQQL\n"
- "ExJGYWNoYmVyZWljaCBQaHlzaWsxCzAJBgNVBAMTAkNBMIGfMA0GCSqGSIb3DQEB\n"
- "AQUAA4GNADCBiQKBgQC76RbqsB5J+VvU1KbBCrkIL3lgY8BxgFvYF3HiHgxtCdqq\n"
- "BmRpAaDBcVAuEb1ihhP68181sYQ1UPMY+zwBwXVNSVvjeBba1JjGmagwPnJXOCay\n"
- "7Cw5orY8KB7U33neEOGrlz1EKQGVaPsr993wGD/7AmntuVuxrRVpzoDP5s0PIwID\n"
- "AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\n"
- "YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+rCwSUUzK53X9W5otZG4okyY/rsw\n"
- "HwYDVR0jBBgwFoAU+rCwSUUzK53X9W5otZG4okyY/rswDQYJKoZIhvcNAQEFBQAD\n"
- "gYEAUT+LmosiDHGuLAZmY40obam0eexJzn/g++mDy3FMh3WmMBKSsfwFsFsQ4k7N\n"
- "lv1SCfTYeh2hpw/DQzkiYZUkcQI4mBR4hG5Zv56AfYQLGeLtN4VOOCMxguftvzv0\n"
- "kziQa2QW+VzVJqV1gpRCRT30Jaa9s4u6ipO9DT5N03F4CcI=\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC7DCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJERTEM\n"
+ "MAoGA1UECBMDUkxQMSAwHgYDVQQKExdUZWNobmlzY2hlIFVuaXZlcnNpdGFldDEb\n"
+ "MBkGA1UECxMSRmFjaGJlcmVpY2ggUGh5c2lrMQswCQYDVQQDEwJDQTAeFw0wODA5\n"
+ "MTExMDUyMDdaFw0xODA5MDkxMDUyMDdaMIGTMQswCQYDVQQGEwJERTEMMAoGA1UE\n"
+ "CBMDUkxQMRcwFQYDVQQHEw5LYWlzZXJzbGF1dGVybjEgMB4GA1UEChMXVGVjaG5p\n"
+ "c2NoZSBVbml2ZXJzaXRhZXQxGzAZBgNVBAsTEkZhY2hiZXJlaWNoIFBoeXNpazEe\n"
+ "MBwGA1UEAxMVdGhlYS5waHlzaWsudW5pLWtsLmRlMIGfMA0GCSqGSIb3DQEBAQUA\n"
+ "A4GNADCBiQKBgQC/gTUrXSeNvuRH+ibdR7zvlCGs+66C6tDaq14SpEDiY/FEw/S4\n"
+ "mkhsHohiQkmqpcPJ0FONok7bvJryKZwwhGFHeESvvWjFVNIdxFgf6Jx2McKsRzBD\n"
+ "nbgVNeK6bywh2L5WgOeckRm0vUxCwX+jWtETorNHSYnZI9smmBtJ1FIPkQIDAQAB\n"
+ "o3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl\n"
+ "ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUS0IiRshnnlH2bneYeCn6OkY9nZAwHwYD\n"
+ "VR0jBBgwFoAU+rCwSUUzK53X9W5otZG4okyY/rswDQYJKoZIhvcNAQEFBQADgYEA\n"
+ "g0f6XFxpUL2hncpQcnKorNYdOkZkZHiKqu2SINtla+IbLZFO4nVVO+LKt+RCo2o7\n"
+ "tZIMLEU3aCeH5dgSEKQeyL5MPMg3MbA6ezjOBTkT/YgngzM4CMLOKcvAMLncfH/z\n"
+ "GYBW1DXijIy1r/SxO0k9zy8OEtKeOOUO0GqQTWuTOOg=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] (CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICvzCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJERTEM\n"
+ "MAoGA1UECBMDUkxQMSAwHgYDVQQKExdUZWNobmlzY2hlIFVuaXZlcnNpdGFldDEb\n"
+ "MBkGA1UECxMSRmFjaGJlcmVpY2ggUGh5c2lrMQswCQYDVQQDEwJDQTAeFw0wODA5\n"
+ "MTExMDQ3NDRaFw0xODA5MDkxMDQ3NDRaMGcxCzAJBgNVBAYTAkRFMQwwCgYDVQQI\n"
+ "EwNSTFAxIDAeBgNVBAoTF1RlY2huaXNjaGUgVW5pdmVyc2l0YWV0MRswGQYDVQQL\n"
+ "ExJGYWNoYmVyZWljaCBQaHlzaWsxCzAJBgNVBAMTAkNBMIGfMA0GCSqGSIb3DQEB\n"
+ "AQUAA4GNADCBiQKBgQC76RbqsB5J+VvU1KbBCrkIL3lgY8BxgFvYF3HiHgxtCdqq\n"
+ "BmRpAaDBcVAuEb1ihhP68181sYQ1UPMY+zwBwXVNSVvjeBba1JjGmagwPnJXOCay\n"
+ "7Cw5orY8KB7U33neEOGrlz1EKQGVaPsr993wGD/7AmntuVuxrRVpzoDP5s0PIwID\n"
+ "AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\n"
+ "YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+rCwSUUzK53X9W5otZG4okyY/rsw\n"
+ "HwYDVR0jBBgwFoAU+rCwSUUzK53X9W5otZG4okyY/rswDQYJKoZIhvcNAQEFBQAD\n"
+ "gYEAUT+LmosiDHGuLAZmY40obam0eexJzn/g++mDy3FMh3WmMBKSsfwFsFsQ4k7N\n"
+ "lv1SCfTYeh2hpw/DQzkiYZUkcQI4mBR4hG5Zv56AfYQLGeLtN4VOOCMxguftvzv0\n"
+ "kziQa2QW+VzVJqV1gpRCRT30Jaa9s4u6ipO9DT5N03F4CcI=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Chain length 3 ends with trusted v1 RSA-MD2 cert, similar to
verisign_com_chain above */
static const char *hbci_chain[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEczCCA9ygAwIBAgIQeODCPg2RbK2r7/1KoWjWZzANBgkqhkiG9w0BAQUFADCB\n"
- "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
- "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
- "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
- "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
- "ODA2MTAwMDAwMDBaFw0wOTA3MzAyMzU5NTlaMIG2MQswCQYDVQQGEwJERTEPMA0G\n"
- "A1UECBMGSGVzc2VuMRowGAYDVQQHFBFGcmFua2Z1cnQgYW0gTWFpbjEsMCoGA1UE\n"
- "ChQjU3Bhcmthc3NlbiBJbmZvcm1hdGlrIEdtYkggJiBDby4gS0cxKTAnBgNVBAsU\n"
- "IFRlcm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tMSEwHwYDVQQDFBhoYmNp\n"
- "LXBpbnRhbi1ycC5zLWhiY2kuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
- "AK1CdQ9lqmChZWaRAInimuK7I36VImTuAVU0N6BIS4a2BbblkiekbVf15GVHGb6e\n"
- "QV06ANN6Nd8XIdfoxi3LoAs8sa+Ku7eoEsRFi/XIU96GgtFlxf3EsVA9RbGdtfer\n"
- "9iJGIBae2mJTlk+5LVg2EQr50PJlBuTgiYFc41xs9O2RAgMBAAGjggF6MIIBdjAJ\n"
- "BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8v\n"
- "Y3JsLnZlcmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBE\n"
- "BgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
- "d3d3LnZlcmlzaWduLmNvbS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEF\n"
- "BQcDAQYIKwYBBQUHAwIwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRw\n"
- "Oi8vb2NzcC52ZXJpc2lnbi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJ\n"
- "aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYk\n"
- "aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEB\n"
- "BQUAA4GBAJ03R0YAjYzlWm54gMSn6MqJi0mHdLCO2lk3CARwjbg7TEYAZvDsKqTd\n"
- "cRuhNk079BqrQ3QapffeN55SAVrc3mzHO54Nla4n5y6x3XIQXVvRjbJGwmWXsdvr\n"
- "W899F/pBEN30Tgdbmn7JR/iZlGhIJpY9Us1i7rwQhKYir9ZQBdj3\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
- "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
- "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
- "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
- "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
- "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
- "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
- "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
- "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
- "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
- "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
- "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
- "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
- "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
- "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
- "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
- "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
- "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
- "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
- "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
- "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
- "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
- "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
- "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
- "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
- "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEczCCA9ygAwIBAgIQeODCPg2RbK2r7/1KoWjWZzANBgkqhkiG9w0BAQUFADCB\n"
+ "ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy\n"
+ "aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy\n"
+ "dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg\n"
+ "SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w\n"
+ "ODA2MTAwMDAwMDBaFw0wOTA3MzAyMzU5NTlaMIG2MQswCQYDVQQGEwJERTEPMA0G\n"
+ "A1UECBMGSGVzc2VuMRowGAYDVQQHFBFGcmFua2Z1cnQgYW0gTWFpbjEsMCoGA1UE\n"
+ "ChQjU3Bhcmthc3NlbiBJbmZvcm1hdGlrIEdtYkggJiBDby4gS0cxKTAnBgNVBAsU\n"
+ "IFRlcm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tMSEwHwYDVQQDFBhoYmNp\n"
+ "LXBpbnRhbi1ycC5zLWhiY2kuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
+ "AK1CdQ9lqmChZWaRAInimuK7I36VImTuAVU0N6BIS4a2BbblkiekbVf15GVHGb6e\n"
+ "QV06ANN6Nd8XIdfoxi3LoAs8sa+Ku7eoEsRFi/XIU96GgtFlxf3EsVA9RbGdtfer\n"
+ "9iJGIBae2mJTlk+5LVg2EQr50PJlBuTgiYFc41xs9O2RAgMBAAGjggF6MIIBdjAJ\n"
+ "BgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8v\n"
+ "Y3JsLnZlcmlzaWduLmNvbS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBE\n"
+ "BgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v\n"
+ "d3d3LnZlcmlzaWduLmNvbS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEF\n"
+ "BQcDAQYIKwYBBQUHAwIwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRw\n"
+ "Oi8vb2NzcC52ZXJpc2lnbi5jb20wbgYIKwYBBQUHAQwEYjBgoV6gXDBaMFgwVhYJ\n"
+ "aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUS2u5KJYGDLvQUjibKaxLB4shBRgwJhYk\n"
+ "aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nbzEuZ2lmMA0GCSqGSIb3DQEB\n"
+ "BQUAA4GBAJ03R0YAjYzlWm54gMSn6MqJi0mHdLCO2lk3CARwjbg7TEYAZvDsKqTd\n"
+ "cRuhNk079BqrQ3QapffeN55SAVrc3mzHO54Nla4n5y6x3XIQXVvRjbJGwmWXsdvr\n"
+ "W899F/pBEN30Tgdbmn7JR/iZlGhIJpY9Us1i7rwQhKYir9ZQBdj3\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNOTcwNDE3MDAwMDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy\n"
+ "aVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx\n"
+ "BgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3Mg\n"
+ "MzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4g\n"
+ "TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB\n"
+ "jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLx\n"
+ "veqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01O\n"
+ "OfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB\n"
+ "4zCB4DAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw\n"
+ "KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV\n"
+ "HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEI\n"
+ "ATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqMCgwJqAk\n"
+ "oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB\n"
+ "BQUAA4GBAAgB7ORolANC8XPxI6I63unx2sZUxCM+hurPajozq+qcBBQHNgYL+Yhv\n"
+ "1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw\n"
+ "E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\n"
+ "A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\n"
+ "MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\n"
+ "BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\n"
+ "YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\n"
+ "ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\n"
+ "BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\n"
+ "I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\n"
+ "CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\n"
+ "lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\n"
+ "AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* End-entity cert signed using RSA-MD5. */
static const char *mayfirst_chain[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDVTCCAr6gAwIBAgIDCHp1MA0GCSqGSIb3DQEBBAUAMFoxCzAJBgNVBAYTAlVT\n"
- "MRwwGgYDVQQKExNFcXVpZmF4IFNlY3VyZSBJbmMuMS0wKwYDVQQDEyRFcXVpZmF4\n"
- "IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBLTEwHhcNMDgwNTE5MDUyOTE5WhcN\n"
- "MDkxMDE5MDUyOTE5WjCBxDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFHN1cHBvcnQu\n"
- "bWF5Zmlyc3Qub3JnMRMwEQYDVQQLEwpHVDY5MDc5ODgwMTEwLwYDVQQLEyhTZWUg\n"
- "d3d3LnJhcGlkc3NsLmNvbS9yZXNvdXJjZXMvY3BzIChjKTA3MS8wLQYDVQQLEyZE\n"
- "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQgLSBSYXBpZFNTTChSKTEdMBsGA1UEAxMU\n"
- "c3VwcG9ydC5tYXlmaXJzdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
- "AN0TWIZwJ/hIfMHc08/bBMlzZ5WucJqEvxU/ZnxPo/H6V/m4v1iLpM2hip2c5cg0\n"
- "BcEMc/TBHQ1UEV8sb0Lh91kWfiMB1Sp+L2Fpz/wnhsivXC5j6jq9IcPqmOZOXBYX\n"
- "k04W1B6FKTvk9KrZJ0at2J44hp4SsAfWQI0eCKuas+R1AgMBAAGjgb0wgbowDgYD\n"
- "VR0PAQH/BAQDAgTwMB0GA1UdDgQWBBS0D4iuCxp35TLADTkINq2AhgTYVTA7BgNV\n"
- "HR8ENDAyMDCgLqAshipodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL2dsb2Jh\n"
- "bGNhMS5jcmwwHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0l\n"
- "BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcN\n"
- "AQEEBQADgYEAXNWYnrO1mZgBSCwPlWhVa2aOKGCFmehLIcAPEBN+8xhXuOeigYBm\n"
- "ic5ShCO583ttgHNCV3Y5dW9sNhv1US4vSb6soKjgUlG11fJKUqU8mwFKvbs7TUSq\n"
- "j6h+1uvlfFI34WzODjJloY4QSM7FmbnW+HCiFKYyvra3iUqjcl9AeR4=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJV\n"
- "UzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1\n"
- "aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0\n"
- "MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoT\n"
- "E0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJl\n"
- "IEdsb2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\n"
- "gYkCgYEAuucXkAJlsTRVPEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQy\n"
- "td4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORR\n"
- "OhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxnhcXIw2EC\n"
- "AwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8w\n"
- "HwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6o\n"
- "oHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf\n"
- "2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkAZ70Br83gcfxa\n"
- "z2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIYNMR1\n"
- "pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDVTCCAr6gAwIBAgIDCHp1MA0GCSqGSIb3DQEBBAUAMFoxCzAJBgNVBAYTAlVT\n"
+ "MRwwGgYDVQQKExNFcXVpZmF4IFNlY3VyZSBJbmMuMS0wKwYDVQQDEyRFcXVpZmF4\n"
+ "IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBLTEwHhcNMDgwNTE5MDUyOTE5WhcN\n"
+ "MDkxMDE5MDUyOTE5WjCBxDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFHN1cHBvcnQu\n"
+ "bWF5Zmlyc3Qub3JnMRMwEQYDVQQLEwpHVDY5MDc5ODgwMTEwLwYDVQQLEyhTZWUg\n"
+ "d3d3LnJhcGlkc3NsLmNvbS9yZXNvdXJjZXMvY3BzIChjKTA3MS8wLQYDVQQLEyZE\n"
+ "b21haW4gQ29udHJvbCBWYWxpZGF0ZWQgLSBSYXBpZFNTTChSKTEdMBsGA1UEAxMU\n"
+ "c3VwcG9ydC5tYXlmaXJzdC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\n"
+ "AN0TWIZwJ/hIfMHc08/bBMlzZ5WucJqEvxU/ZnxPo/H6V/m4v1iLpM2hip2c5cg0\n"
+ "BcEMc/TBHQ1UEV8sb0Lh91kWfiMB1Sp+L2Fpz/wnhsivXC5j6jq9IcPqmOZOXBYX\n"
+ "k04W1B6FKTvk9KrZJ0at2J44hp4SsAfWQI0eCKuas+R1AgMBAAGjgb0wgbowDgYD\n"
+ "VR0PAQH/BAQDAgTwMB0GA1UdDgQWBBS0D4iuCxp35TLADTkINq2AhgTYVTA7BgNV\n"
+ "HR8ENDAyMDCgLqAshipodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL2dsb2Jh\n"
+ "bGNhMS5jcmwwHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0l\n"
+ "BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcN\n"
+ "AQEEBQADgYEAXNWYnrO1mZgBSCwPlWhVa2aOKGCFmehLIcAPEBN+8xhXuOeigYBm\n"
+ "ic5ShCO583ttgHNCV3Y5dW9sNhv1US4vSb6soKjgUlG11fJKUqU8mwFKvbs7TUSq\n"
+ "j6h+1uvlfFI34WzODjJloY4QSM7FmbnW+HCiFKYyvra3iUqjcl9AeR4=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] (CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJV\n"
+ "UzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1\n"
+ "aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0\n"
+ "MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoT\n"
+ "E0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJl\n"
+ "IEdsb2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\n"
+ "gYkCgYEAuucXkAJlsTRVPEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQy\n"
+ "td4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORR\n"
+ "OhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxnhcXIw2EC\n"
+ "AwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8w\n"
+ "HwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6o\n"
+ "oHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf\n"
+ "2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkAZ70Br83gcfxa\n"
+ "z2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIYNMR1\n"
+ "pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Test V1 CA without basicConstraint. */
static const char *v1ca[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE/zCCA+egAwIBAgIQBSsgZODO6vk6ayagofBQJDANBgkqhkiG9w0BAQUFADCB\n"
- "sDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNTEqMCgGA1UEAxMh\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBMB4XDTA4MDUwNTAwMDAw\n"
- "MFoXDTA5MDUyMjIzNTk1OVowczELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlu\n"
- "b2lzMRAwDgYDVQQHFAdEdSBQYWdlMSQwIgYDVQQKFBtBcmdvbm5lIE5hdGlvbmFs\n"
- "IExhYm9yYXRvcnkxGTAXBgNVBAMUEGF1dGgyLml0LmFubC5nb3YwgZ8wDQYJKoZI\n"
- "hvcNAQEBBQADgY0AMIGJAoGBAMg6YPOXsPQedkLUug3RoMjv/OB+SfuDgGXxtef5\n"
- "iE0SjCcsKT5v+bfxt2+ccs7IN7kWn1luJ5NTb0ZrdE6LQoYp9oLsaX/ukOnxKUMY\n"
- "YhJJyHgutPtwyPvfZTZPpATWycJnZGIehY1S6thwxeofUyE3ykec2lalULzwXgel\n"
- "iC97AgMBAAGjggHTMIIBzzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBEBgNVHR8E\n"
- "PTA7MDmgN6A1hjNodHRwOi8vU1ZSU2VjdXJlLWNybC52ZXJpc2lnbi5jb20vU1ZS\n"
- "U2VjdXJlMjAwNS5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsG\n"
- "AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMB0GA1UdJQQWMBQG\n"
- "CCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRv7K+g3Yqk7/UqEGctP1WC\n"
- "vNfvJTB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZl\n"
- "cmlzaWduLmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL1NWUlNlY3VyZS1haWEudmVy\n"
- "aXNpZ24uY29tL1NWUlNlY3VyZTIwMDUtYWlhLmNlcjBuBggrBgEFBQcBDARiMGCh\n"
- "XqBcMFowWDBWFglpbWFnZS9naWYwITAfMAcGBSsOAwIaBBRLa7kolgYMu9BSOJsp\n"
- "rEsHiyEFGDAmFiRodHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvMS5naWYw\n"
- "DQYJKoZIhvcNAQEFBQADggEBAEAKzE4gXeyjRDBSgAgWIaCozbWK+b1ct4aZhWZt\n"
- "ihAyASxsNgDjDJzkInINjXoO5FWuJHDuoyyWHBQBb7t96+KgFu/4ye90VUDNTuin\n"
- "mmqdOKeLSHVnlhfvGLCdrhWSWg/jZmAjYrXYRwkvxehl9IcHmOgNrHV3INdrSTdZ\n"
- "ZCVLL74tuMqhMMm/NJ0tdEmWgpJe+/0dky2F2gAB+mFXlyzFvCLoyS2Vl0PW/BxM\n"
- "Ly5t+scmAbgni9gzmFTNhbKHd0s2UE395z4ra6fUdZ0BClFgMDvUnb6kJ/uyKRSa\n"
- "h7uQbWFJbA8aNgGLvfTf6o9n+GwbZkcgtBgIVENt8wzqg2I=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIEnDCCBAWgAwIBAgIQdTN9mrDhIzuuLX3kRpFi1DANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDUwMTE5MDAwMDAwWhcNMTUwMTE4MjM1OTU5WjCBsDELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cu\n"
- "dmVyaXNpZ24uY29tL3JwYSAoYykwNTEqMCgGA1UEAxMhVmVyaVNpZ24gQ2xhc3Mg\n"
- "MyBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
- "AQEAlcMhEo5AxQ0BX3ZeZpTZcyxYGSK4yfx6OZAqd3J8HT732FXjr0LLhzAC3Fus\n"
- "cOa4RLQrNeuT0hcFfstG1lxToDJRnXRkWPkMmgDqXkRJZHL0zRDihQr5NO6ziGap\n"
- "paRa0A6Yf1gNK1K7hql+LvqySHyN2y1fAXWijQY7i7RhB8m+Ipn4G9G1V2YETTX0\n"
- "kXGWtZkIJZuXyDrzILHdnpgMSmO3ps6wAc74k2rzDG6fsemEe4GYQeaB3D0s57Rr\n"
- "4578CBbXs9W5ZhKZfG1xyE2+xw/j+zet1XWHIWuG0EQUWlR5OZZpVsm5Mc2JYVjh\n"
- "2XYFBa33uQKvp/1HkaIiNFox0QIDAQABo4IBgTCCAX0wEgYDVR0TAQH/BAgwBgEB\n"
- "/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0\n"
- "dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0\n"
- "cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBEG\n"
- "CWCGSAGG+EIBAQQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRQ2xhc3Mz\n"
- "Q0EyMDQ4LTEtNDUwHQYDVR0OBBYEFG/sr6DdiqTv9SoQZy0/VYK81+8lMIGABgNV\n"
- "HSMEeTB3oWOkYTBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu\n"
- "Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv\n"
- "biBBdXRob3JpdHmCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQEFBQADgYEA\n"
- "w34IRl2RNs9n3Nenr6+4IsOLBHTTsWC85v63RBKBWzFzFGNWxnIu0RoDQ1w4ClBK\n"
- "Tc3athmo9JkNr+P32PF1KGX2av6b9L1S2T/L2hbLpZ4ujmZSeD0m+v6UNohKlV4q\n"
- "TBnvbvqCPy0D79YoszcYz0KyNCFkR9MgazpM3OYDkAw=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] (CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQL\n"
- "Ey5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\n"
- "aXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UE\n"
- "BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
- "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGf\n"
- "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69q\n"
- "RUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3In\n"
- "zPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a\n"
- "/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtM\n"
- "EivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPw\n"
- "TtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzk\n"
- "uxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE/zCCA+egAwIBAgIQBSsgZODO6vk6ayagofBQJDANBgkqhkiG9w0BAQUFADCB\n"
+ "sDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNTEqMCgGA1UEAxMh\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBMB4XDTA4MDUwNTAwMDAw\n"
+ "MFoXDTA5MDUyMjIzNTk1OVowczELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlu\n"
+ "b2lzMRAwDgYDVQQHFAdEdSBQYWdlMSQwIgYDVQQKFBtBcmdvbm5lIE5hdGlvbmFs\n"
+ "IExhYm9yYXRvcnkxGTAXBgNVBAMUEGF1dGgyLml0LmFubC5nb3YwgZ8wDQYJKoZI\n"
+ "hvcNAQEBBQADgY0AMIGJAoGBAMg6YPOXsPQedkLUug3RoMjv/OB+SfuDgGXxtef5\n"
+ "iE0SjCcsKT5v+bfxt2+ccs7IN7kWn1luJ5NTb0ZrdE6LQoYp9oLsaX/ukOnxKUMY\n"
+ "YhJJyHgutPtwyPvfZTZPpATWycJnZGIehY1S6thwxeofUyE3ykec2lalULzwXgel\n"
+ "iC97AgMBAAGjggHTMIIBzzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBEBgNVHR8E\n"
+ "PTA7MDmgN6A1hjNodHRwOi8vU1ZSU2VjdXJlLWNybC52ZXJpc2lnbi5jb20vU1ZS\n"
+ "U2VjdXJlMjAwNS5jcmwwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsG\n"
+ "AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMB0GA1UdJQQWMBQG\n"
+ "CCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRv7K+g3Yqk7/UqEGctP1WC\n"
+ "vNfvJTB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZl\n"
+ "cmlzaWduLmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL1NWUlNlY3VyZS1haWEudmVy\n"
+ "aXNpZ24uY29tL1NWUlNlY3VyZTIwMDUtYWlhLmNlcjBuBggrBgEFBQcBDARiMGCh\n"
+ "XqBcMFowWDBWFglpbWFnZS9naWYwITAfMAcGBSsOAwIaBBRLa7kolgYMu9BSOJsp\n"
+ "rEsHiyEFGDAmFiRodHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvMS5naWYw\n"
+ "DQYJKoZIhvcNAQEFBQADggEBAEAKzE4gXeyjRDBSgAgWIaCozbWK+b1ct4aZhWZt\n"
+ "ihAyASxsNgDjDJzkInINjXoO5FWuJHDuoyyWHBQBb7t96+KgFu/4ye90VUDNTuin\n"
+ "mmqdOKeLSHVnlhfvGLCdrhWSWg/jZmAjYrXYRwkvxehl9IcHmOgNrHV3INdrSTdZ\n"
+ "ZCVLL74tuMqhMMm/NJ0tdEmWgpJe+/0dky2F2gAB+mFXlyzFvCLoyS2Vl0PW/BxM\n"
+ "Ly5t+scmAbgni9gzmFTNhbKHd0s2UE395z4ra6fUdZ0BClFgMDvUnb6kJ/uyKRSa\n"
+ "h7uQbWFJbA8aNgGLvfTf6o9n+GwbZkcgtBgIVENt8wzqg2I=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIEnDCCBAWgAwIBAgIQdTN9mrDhIzuuLX3kRpFi1DANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDUwMTE5MDAwMDAwWhcNMTUwMTE4MjM1OTU5WjCBsDELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cu\n"
+ "dmVyaXNpZ24uY29tL3JwYSAoYykwNTEqMCgGA1UEAxMhVmVyaVNpZ24gQ2xhc3Mg\n"
+ "MyBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\n"
+ "AQEAlcMhEo5AxQ0BX3ZeZpTZcyxYGSK4yfx6OZAqd3J8HT732FXjr0LLhzAC3Fus\n"
+ "cOa4RLQrNeuT0hcFfstG1lxToDJRnXRkWPkMmgDqXkRJZHL0zRDihQr5NO6ziGap\n"
+ "paRa0A6Yf1gNK1K7hql+LvqySHyN2y1fAXWijQY7i7RhB8m+Ipn4G9G1V2YETTX0\n"
+ "kXGWtZkIJZuXyDrzILHdnpgMSmO3ps6wAc74k2rzDG6fsemEe4GYQeaB3D0s57Rr\n"
+ "4578CBbXs9W5ZhKZfG1xyE2+xw/j+zet1XWHIWuG0EQUWlR5OZZpVsm5Mc2JYVjh\n"
+ "2XYFBa33uQKvp/1HkaIiNFox0QIDAQABo4IBgTCCAX0wEgYDVR0TAQH/BAgwBgEB\n"
+ "/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0\n"
+ "dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0\n"
+ "cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBEG\n"
+ "CWCGSAGG+EIBAQQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRQ2xhc3Mz\n"
+ "Q0EyMDQ4LTEtNDUwHQYDVR0OBBYEFG/sr6DdiqTv9SoQZy0/VYK81+8lMIGABgNV\n"
+ "HSMEeTB3oWOkYTBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu\n"
+ "Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv\n"
+ "biBBdXRob3JpdHmCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQEFBQADgYEA\n"
+ "w34IRl2RNs9n3Nenr6+4IsOLBHTTsWC85v63RBKBWzFzFGNWxnIu0RoDQ1w4ClBK\n"
+ "Tc3athmo9JkNr+P32PF1KGX2av6b9L1S2T/L2hbLpZ4ujmZSeD0m+v6UNohKlV4q\n"
+ "TBnvbvqCPy0D79YoszcYz0KyNCFkR9MgazpM3OYDkAw=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] (CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQL\n"
+ "Ey5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\n"
+ "aXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UE\n"
+ "BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\n"
+ "cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGf\n"
+ "MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69q\n"
+ "RUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3In\n"
+ "zPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a\n"
+ "/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtM\n"
+ "EivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPw\n"
+ "TtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzk\n"
+ "uxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Test CACert chain with RSA-MD5 signature. */
static const char *cacertrsamd5[] = {
- /* chain[0] (EE cert) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE3zCCAsegAwIBAgICbmgwDQYJKoZIhvcNAQEFBQAwVDEUMBIGA1UEChMLQ0Fj\n"
- "ZXJ0IEluYy4xHjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzEcMBoGA1UE\n"
- "AxMTQ0FjZXJ0IENsYXNzIDMgUm9vdDAeFw0wOTAxMTYyMjI5NDdaFw0xMTAxMTYy\n"
- "MjI5NDdaMBsxGTAXBgNVBAMTEGZyeS5zZXJ2ZXJhbWEuZGUwgZ8wDQYJKoZIhvcN\n"
- "AQEBBQADgY0AMIGJAoGBAMh3WSR8Dxw/zDAZpHMjA1To0HJIaoyR9TqzQfLgn7Yr\n"
- "sQFrRMefVMWYHiEFAVJTRcO5GuUtkw3IxALLlyNMl7xJbZESzRKw3Tz3NtM3DopB\n"
- "8L7rI8ANy7Hh6P5QRMWJ9OJyiLhSpAi0TuJeGr+kKovHRj64V2/NtoPgDsytHMt9\n"
- "AgMBAAGjggF2MIIBcjAMBgNVHRMBAf8EAjAAMDQGA1UdJQQtMCsGCCsGAQUFBwMC\n"
- "BggrBgEFBQcDAQYJYIZIAYb4QgQBBgorBgEEAYI3CgMDMAsGA1UdDwQEAwIFoDAz\n"
- "BggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmNhY2VydC5v\n"
- "cmcvMIHpBgNVHREEgeEwgd6CEGZyeS5zZXJ2ZXJhbWEuZGWgHgYIKwYBBQUHCAWg\n"
- "EgwQZnJ5LnNlcnZlcmFtYS5kZYIQZnJ5LnNlcnZlcmFtYS5kZaAeBggrBgEFBQcI\n"
- "BaASDBBmcnkuc2VydmVyYW1hLmRlghIqLmZyeS5zZXJ2ZXJhbWEuZGWgIAYIKwYB\n"
- "BQUHCAWgFAwSKi5mcnkuc2VydmVyYW1hLmRlggd6cHViLmRloBUGCCsGAQUFBwgF\n"
- "oAkMB3pwdWIuZGWCCSouenB1Yi5kZaAXBggrBgEFBQcIBaALDAkqLnpwdWIuZGUw\n"
- "DQYJKoZIhvcNAQEFBQADggIBAEWSsOlLbjdRjijMmOnDc2RcLQ5PQC9pjUW+bzGR\n"
- "KTJbf8Hf/wSdmHAam+UsIM6HzdQVi058dGyb8/NJQJD+9Dgv1m57x1prLerkt6xq\n"
- "UQCYmOpMxCJOykLqzEUnou9WtL5FaD+wBlOuqWFy0Cy2O3LHXkSkaMR+gdxC4pkI\n"
- "wSkI2SDdC0juvnoVI7iBaaIhYI/1FwV56hc6lxsAslf0NbtiiwhneVbHm5XRK1d4\n"
- "tabVKwOHnEuDyAnZd1yM1EqXKz+NwBlhoKWhC0fVUByID5A2WGEejBJcW/lVrYft\n"
- "4+sJpnwS+/VDS5yrDXMqMdYGE8TVMy7RsaoUdaeFQYv4Go48BBGDJB5uEkBJiSq8\n"
- "ViZA4iEKujBa5zKJ+CZXy3D/eHLBKUL+ayc9dLeeFTPZU0jYb83kE1wtlnWwF4J1\n"
- "8lUQI10nLFg+ALoZoAmFZej19XgbyG6im+ZRFuwrpV6F3HJRP+AMNInsLoQTuD9I\n"
- "l2gftVaIU1MqUmVMBcUeeNXG1BZ9vRonKzAC4Otfk1B6aW4Lz0E+sZ+HfCMicD3j\n"
- "N01KAeNZ64j8emgnLffurb7qUWbanTpMEzxrelBRufxJkXcn6BcFcxPBVgFnsMgF\n"
- "tP7e7N/cm55pI8Et+Gjp+ORJetSio118yu9bf7etSAJWOS6tQ2Ac7JeKP+a8jsvq\n"
- "Uyx7\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] (Class 3 CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIGCDCCA/CgAwIBAgIBATANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"
- "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"
- "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"
- "Y2FjZXJ0Lm9yZzAeFw0wNTEwMTQwNzM2NTVaFw0zMzAzMjgwNzM2NTVaMFQxFDAS\n"
- "BgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5v\n"
- "cmcxHDAaBgNVBAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwggIiMA0GCSqGSIb3DQEB\n"
- "AQUAA4ICDwAwggIKAoICAQCrSTURSHzSJn5TlM9Dqd0o10Iqi/OHeBlYfA+e2ol9\n"
- "4fvrcpANdKGWZKufoCSZc9riVXbHF3v1BKxGuMO+f2SNEGwk82GcwPKQ+lHm9WkB\n"
- "Y8MPVuJKQs/iRIwlKKjFeQl9RrmK8+nzNCkIReQcn8uUBByBqBSzmGXEQ+xOgo0J\n"
- "0b2qW42S0OzekMV/CsLj6+YxWl50PpczWejDAz1gM7/30W9HxM3uYoNSbi4ImqTZ\n"
- "FRiRpoWSR7CuSOtttyHshRpocjWr//AQXcD0lKdq1TuSfkyQBX6TwSyLpI5idBVx\n"
- "bgtxA+qvFTia1NIFcm+M+SvrWnIl+TlG43IbPgTDZCciECqKT1inA62+tC4T7V2q\n"
- "SNfVfdQqe1z6RgRQ5MwOQluM7dvyz/yWk+DbETZUYjQ4jwxgmzuXVjit89Jbi6Bb\n"
- "6k6WuHzX1aCGcEDTkSm3ojyt9Yy7zxqSiuQ0e8DYbF/pCsLDpyCaWt8sXVJcukfV\n"
- "m+8kKHA4IC/VfynAskEDaJLM4JzMl0tF7zoQCqtwOpiVcK01seqFK6QcgCExqa5g\n"
- "eoAmSAC4AcCTY1UikTxW56/bOiXzjzFU6iaLgVn5odFTEcV7nQP2dBHgbbEsPyyG\n"
- "kZlxmqZ3izRg0RS0LKydr4wQ05/EavhvE/xzWfdmQnQeiuP43NJvmJzLR5iVQAX7\n"
- "6QIDAQABo4G/MIG8MA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUHAQEEUTBPMCMG\n"
- "CCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggrBgEFBQcwAoYc\n"
- "aHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBBMD8GCCsGAQQB\n"
- "gZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZy9pbmRleC5w\n"
- "aHA/aWQ9MTAwDQYJKoZIhvcNAQEEBQADggIBAH8IiKHaGlBJ2on7oQhy84r3HsQ6\n"
- "tHlbIDCxRd7CXdNlafHCXVRUPIVfuXtCkcKZ/RtRm6tGpaEQU55tiKxzbiwzpvD0\n"
- "nuB1wT6IRanhZkP+VlrRekF490DaSjrxC1uluxYG5sLnk7mFTZdPsR44Q4Dvmw2M\n"
- "77inYACHV30eRBzLI++bPJmdr7UpHEV5FpZNJ23xHGzDwlVks7wU4vOkHx4y/CcV\n"
- "Bc/dLq4+gmF78CEQGPZE6lM5+dzQmiDgxrvgu1pPxJnIB721vaLbLmINQjRBvP+L\n"
- "ivVRIqqIMADisNS8vmW61QNXeZvo3MhN+FDtkaVSKKKs+zZYPumUK5FQhxvWXtaM\n"
- "zPcPEAxSTtAWYeXlCmy/F8dyRlecmPVsYGN6b165Ti/Iubm7aoW8mA3t+T6XhDSU\n"
- "rgCvoeXnkm5OvfPi2RSLXNLrAWygF6UtEOucekq9ve7O/e0iQKtwOIj1CodqwqsF\n"
- "YMlIBdpTwd5Ed2qz8zw87YC8pjhKKSRf/lk7myV6VmMAZLldpGJ9VzZPrYPvH5JT\n"
- "oI53V93lYRE9IwCQTDz6o2CTBKOvNfYOao9PSmCnhQVsRqGP9Md246FZV/dxssRu\n"
- "FFxtbUFm3xuTsdQAw+7Lzzw9IYCpX2Nl/N3gX6T0K/CFcUHUZyX7GrGXrtaZghNB\n"
- "0m6lG5kngOcLqagA\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] (Root CA) */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"
- "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"
- "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"
- "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\n"
- "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\n"
- "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\n"
- "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\n"
- "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\n"
- "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\n"
- "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\n"
- "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\n"
- "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\n"
- "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\n"
- "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\n"
- "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\n"
- "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\n"
- "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\n"
- "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\n"
- "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\n"
- "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\n"
- "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\n"
- "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\n"
- "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\n"
- "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\n"
- "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\n"
- "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\n"
- "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\n"
- "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\n"
- "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\n"
- "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\n"
- "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\n"
- "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\n"
- "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\n"
- "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\n"
- "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\n"
- "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\n"
- "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\n"
- "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\n"
- "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] (EE cert) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE3zCCAsegAwIBAgICbmgwDQYJKoZIhvcNAQEFBQAwVDEUMBIGA1UEChMLQ0Fj\n"
+ "ZXJ0IEluYy4xHjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzEcMBoGA1UE\n"
+ "AxMTQ0FjZXJ0IENsYXNzIDMgUm9vdDAeFw0wOTAxMTYyMjI5NDdaFw0xMTAxMTYy\n"
+ "MjI5NDdaMBsxGTAXBgNVBAMTEGZyeS5zZXJ2ZXJhbWEuZGUwgZ8wDQYJKoZIhvcN\n"
+ "AQEBBQADgY0AMIGJAoGBAMh3WSR8Dxw/zDAZpHMjA1To0HJIaoyR9TqzQfLgn7Yr\n"
+ "sQFrRMefVMWYHiEFAVJTRcO5GuUtkw3IxALLlyNMl7xJbZESzRKw3Tz3NtM3DopB\n"
+ "8L7rI8ANy7Hh6P5QRMWJ9OJyiLhSpAi0TuJeGr+kKovHRj64V2/NtoPgDsytHMt9\n"
+ "AgMBAAGjggF2MIIBcjAMBgNVHRMBAf8EAjAAMDQGA1UdJQQtMCsGCCsGAQUFBwMC\n"
+ "BggrBgEFBQcDAQYJYIZIAYb4QgQBBgorBgEEAYI3CgMDMAsGA1UdDwQEAwIFoDAz\n"
+ "BggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmNhY2VydC5v\n"
+ "cmcvMIHpBgNVHREEgeEwgd6CEGZyeS5zZXJ2ZXJhbWEuZGWgHgYIKwYBBQUHCAWg\n"
+ "EgwQZnJ5LnNlcnZlcmFtYS5kZYIQZnJ5LnNlcnZlcmFtYS5kZaAeBggrBgEFBQcI\n"
+ "BaASDBBmcnkuc2VydmVyYW1hLmRlghIqLmZyeS5zZXJ2ZXJhbWEuZGWgIAYIKwYB\n"
+ "BQUHCAWgFAwSKi5mcnkuc2VydmVyYW1hLmRlggd6cHViLmRloBUGCCsGAQUFBwgF\n"
+ "oAkMB3pwdWIuZGWCCSouenB1Yi5kZaAXBggrBgEFBQcIBaALDAkqLnpwdWIuZGUw\n"
+ "DQYJKoZIhvcNAQEFBQADggIBAEWSsOlLbjdRjijMmOnDc2RcLQ5PQC9pjUW+bzGR\n"
+ "KTJbf8Hf/wSdmHAam+UsIM6HzdQVi058dGyb8/NJQJD+9Dgv1m57x1prLerkt6xq\n"
+ "UQCYmOpMxCJOykLqzEUnou9WtL5FaD+wBlOuqWFy0Cy2O3LHXkSkaMR+gdxC4pkI\n"
+ "wSkI2SDdC0juvnoVI7iBaaIhYI/1FwV56hc6lxsAslf0NbtiiwhneVbHm5XRK1d4\n"
+ "tabVKwOHnEuDyAnZd1yM1EqXKz+NwBlhoKWhC0fVUByID5A2WGEejBJcW/lVrYft\n"
+ "4+sJpnwS+/VDS5yrDXMqMdYGE8TVMy7RsaoUdaeFQYv4Go48BBGDJB5uEkBJiSq8\n"
+ "ViZA4iEKujBa5zKJ+CZXy3D/eHLBKUL+ayc9dLeeFTPZU0jYb83kE1wtlnWwF4J1\n"
+ "8lUQI10nLFg+ALoZoAmFZej19XgbyG6im+ZRFuwrpV6F3HJRP+AMNInsLoQTuD9I\n"
+ "l2gftVaIU1MqUmVMBcUeeNXG1BZ9vRonKzAC4Otfk1B6aW4Lz0E+sZ+HfCMicD3j\n"
+ "N01KAeNZ64j8emgnLffurb7qUWbanTpMEzxrelBRufxJkXcn6BcFcxPBVgFnsMgF\n"
+ "tP7e7N/cm55pI8Et+Gjp+ORJetSio118yu9bf7etSAJWOS6tQ2Ac7JeKP+a8jsvq\n"
+ "Uyx7\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] (Class 3 CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIGCDCCA/CgAwIBAgIBATANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"
+ "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"
+ "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"
+ "Y2FjZXJ0Lm9yZzAeFw0wNTEwMTQwNzM2NTVaFw0zMzAzMjgwNzM2NTVaMFQxFDAS\n"
+ "BgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5v\n"
+ "cmcxHDAaBgNVBAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwggIiMA0GCSqGSIb3DQEB\n"
+ "AQUAA4ICDwAwggIKAoICAQCrSTURSHzSJn5TlM9Dqd0o10Iqi/OHeBlYfA+e2ol9\n"
+ "4fvrcpANdKGWZKufoCSZc9riVXbHF3v1BKxGuMO+f2SNEGwk82GcwPKQ+lHm9WkB\n"
+ "Y8MPVuJKQs/iRIwlKKjFeQl9RrmK8+nzNCkIReQcn8uUBByBqBSzmGXEQ+xOgo0J\n"
+ "0b2qW42S0OzekMV/CsLj6+YxWl50PpczWejDAz1gM7/30W9HxM3uYoNSbi4ImqTZ\n"
+ "FRiRpoWSR7CuSOtttyHshRpocjWr//AQXcD0lKdq1TuSfkyQBX6TwSyLpI5idBVx\n"
+ "bgtxA+qvFTia1NIFcm+M+SvrWnIl+TlG43IbPgTDZCciECqKT1inA62+tC4T7V2q\n"
+ "SNfVfdQqe1z6RgRQ5MwOQluM7dvyz/yWk+DbETZUYjQ4jwxgmzuXVjit89Jbi6Bb\n"
+ "6k6WuHzX1aCGcEDTkSm3ojyt9Yy7zxqSiuQ0e8DYbF/pCsLDpyCaWt8sXVJcukfV\n"
+ "m+8kKHA4IC/VfynAskEDaJLM4JzMl0tF7zoQCqtwOpiVcK01seqFK6QcgCExqa5g\n"
+ "eoAmSAC4AcCTY1UikTxW56/bOiXzjzFU6iaLgVn5odFTEcV7nQP2dBHgbbEsPyyG\n"
+ "kZlxmqZ3izRg0RS0LKydr4wQ05/EavhvE/xzWfdmQnQeiuP43NJvmJzLR5iVQAX7\n"
+ "6QIDAQABo4G/MIG8MA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUHAQEEUTBPMCMG\n"
+ "CCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggrBgEFBQcwAoYc\n"
+ "aHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBBMD8GCCsGAQQB\n"
+ "gZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZy9pbmRleC5w\n"
+ "aHA/aWQ9MTAwDQYJKoZIhvcNAQEEBQADggIBAH8IiKHaGlBJ2on7oQhy84r3HsQ6\n"
+ "tHlbIDCxRd7CXdNlafHCXVRUPIVfuXtCkcKZ/RtRm6tGpaEQU55tiKxzbiwzpvD0\n"
+ "nuB1wT6IRanhZkP+VlrRekF490DaSjrxC1uluxYG5sLnk7mFTZdPsR44Q4Dvmw2M\n"
+ "77inYACHV30eRBzLI++bPJmdr7UpHEV5FpZNJ23xHGzDwlVks7wU4vOkHx4y/CcV\n"
+ "Bc/dLq4+gmF78CEQGPZE6lM5+dzQmiDgxrvgu1pPxJnIB721vaLbLmINQjRBvP+L\n"
+ "ivVRIqqIMADisNS8vmW61QNXeZvo3MhN+FDtkaVSKKKs+zZYPumUK5FQhxvWXtaM\n"
+ "zPcPEAxSTtAWYeXlCmy/F8dyRlecmPVsYGN6b165Ti/Iubm7aoW8mA3t+T6XhDSU\n"
+ "rgCvoeXnkm5OvfPi2RSLXNLrAWygF6UtEOucekq9ve7O/e0iQKtwOIj1CodqwqsF\n"
+ "YMlIBdpTwd5Ed2qz8zw87YC8pjhKKSRf/lk7myV6VmMAZLldpGJ9VzZPrYPvH5JT\n"
+ "oI53V93lYRE9IwCQTDz6o2CTBKOvNfYOao9PSmCnhQVsRqGP9Md246FZV/dxssRu\n"
+ "FFxtbUFm3xuTsdQAw+7Lzzw9IYCpX2Nl/N3gX6T0K/CFcUHUZyX7GrGXrtaZghNB\n"
+ "0m6lG5kngOcLqagA\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] (Root CA) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"
+ "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"
+ "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"
+ "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\n"
+ "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\n"
+ "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\n"
+ "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\n"
+ "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\n"
+ "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\n"
+ "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\n"
+ "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\n"
+ "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\n"
+ "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\n"
+ "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\n"
+ "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\n"
+ "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\n"
+ "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\n"
+ "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\n"
+ "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\n"
+ "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\n"
+ "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\n"
+ "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\n"
+ "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\n"
+ "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\n"
+ "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\n"
+ "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\n"
+ "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\n"
+ "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\n"
+ "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\n"
+ "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\n"
+ "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\n"
+ "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\n"
+ "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\n"
+ "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\n"
+ "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\n"
+ "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\n"
+ "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\n"
+ "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\n"
+ "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* Test Certicom cert with ECC-SHA256 signature. */
static const char *ecc_cert[] = {
- /* chain[0] (ECC cert) */
-"-----BEGIN CERTIFICATE-----\n"
-"MIICbzCCAhSgAwIBAgIIZLkW6EZO5PQwCgYIKoZIzj0EAwIwgZsxFDASBgNVBAsT\n"
-"C1NBTVBMRSBPTkxZMRcwFQYDVQQKEw5DZXJ0aWNvbSBDb3JwLjEQMA4GA1UEBxMH\n"
-"VG9yb250bzEQMA4GA1UEBBMHT250YXJpbzE5MDcGA1UEAxMwdGxzLnNlY2cub3Jn\n"
-"IEVDQyBzZWNwMjU2cjEgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQswCQYDVQQGEwJD\n"
-"QTAeFw0wOTA1MDcwMDAwMDBaFw0xNTA1MDEwMDAwMDBaMIGYMRQwEgYDVQQLEwtT\n"
-"QU1QTEUgT05MWTEXMBUGA1UEChMOQ2VydGljb20gQ29ycC4xEDAOBgNVBAcTB1Rv\n"
-"cm9udG8xEDAOBgNVBAgTB09udGFyaW8xNjA0BgNVBAMTLXRscy5zZWNnLm9yZyBF\n"
-"Q0Mgc2VjcDI1NnIxIFNlcnZlciBDZXJ0aWZpY2F0ZTELMAkGA1UEBhMCQ0EwWTAT\n"
-"BgcqhkjOPQIBBggqhkjOPQMBBwNCAATf63kPhr3D6a2scrHWVr0oOXQMnBDT6Jv/\n"
-"ifqzt4/xTbXsZNEyD96nyh82sk0tM+FVfBlsIwGc7vqBfyq0mC/Io0MwQTAOBgNV\n"
-"HQ8BAf8EBAMCA4gwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwEwFwYDVR0RBBAwDoIM\n"
-"dGxzLnNlY2cub3JnMAoGCCqGSM49BAMCA0kAMEYCIQDfacZHsdsj6SXQ2hyJS4Do\n"
-"SMclqGLo2Sop7hfAeEJA+wIhAOMo7eLya44SIcuzrLBpg29g5ZzYOeuEzRcg9mch\n"
-"AB1w\n"
-"-----END CERTIFICATE-----\n",
-"-----BEGIN CERTIFICATE-----\n"
-"MIICTjCCAfagAwIBAgIICvq6Bj3Av6EwCQYHKoZIzj0EATCBmzEUMBIGA1UECxML\n"
-"U0FNUExFIE9OTFkxFzAVBgNVBAoTDkNlcnRpY29tIENvcnAuMRAwDgYDVQQHEwdU\n"
-"b3JvbnRvMRAwDgYDVQQEEwdPbnRhcmlvMTkwNwYDVQQDEzB0bHMuc2VjZy5vcmcg\n"
-"RUNDIHNlY3AyNTZyMSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxCzAJBgNVBAYTAkNB\n"
-"MB4XDTA2MDUwMTAwMDAwMFoXDTE1MDUwMTAwMDAwMFowgZsxFDASBgNVBAsTC1NB\n"
-"TVBMRSBPTkxZMRcwFQYDVQQKEw5DZXJ0aWNvbSBDb3JwLjEQMA4GA1UEBxMHVG9y\n"
-"b250bzEQMA4GA1UEBBMHT250YXJpbzE5MDcGA1UEAxMwdGxzLnNlY2cub3JnIEVD\n"
-"QyBzZWNwMjU2cjEgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQswCQYDVQQGEwJDQTBZ\n"
-"MBMGByqGSM49AgEGCCqGSM49AwEHA0IABB2oofFVa6akTK6hpaJLs+6skdhn0sQp\n"
-"uJwVwG99T0VZY8v7q6NMIWrpYQFmOxQyVVNlxWWyr2cLYJTyqx/zuDejIzAhMA4G\n"
-"A1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAkGByqGSM49BAEDRwAwRAIg\n"
-"W2KAhfAKWFoh47A7muk8K10cGqOKRtb9lCgdOltj19oCIG+ZJQv5m+RnL4X2Ti0y\n"
-"ZJzOOuzBQVGiUFwZdn1dLv4X\n"
-"-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] (ECC cert) */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICbzCCAhSgAwIBAgIIZLkW6EZO5PQwCgYIKoZIzj0EAwIwgZsxFDASBgNVBAsT\n"
+ "C1NBTVBMRSBPTkxZMRcwFQYDVQQKEw5DZXJ0aWNvbSBDb3JwLjEQMA4GA1UEBxMH\n"
+ "VG9yb250bzEQMA4GA1UEBBMHT250YXJpbzE5MDcGA1UEAxMwdGxzLnNlY2cub3Jn\n"
+ "IEVDQyBzZWNwMjU2cjEgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQswCQYDVQQGEwJD\n"
+ "QTAeFw0wOTA1MDcwMDAwMDBaFw0xNTA1MDEwMDAwMDBaMIGYMRQwEgYDVQQLEwtT\n"
+ "QU1QTEUgT05MWTEXMBUGA1UEChMOQ2VydGljb20gQ29ycC4xEDAOBgNVBAcTB1Rv\n"
+ "cm9udG8xEDAOBgNVBAgTB09udGFyaW8xNjA0BgNVBAMTLXRscy5zZWNnLm9yZyBF\n"
+ "Q0Mgc2VjcDI1NnIxIFNlcnZlciBDZXJ0aWZpY2F0ZTELMAkGA1UEBhMCQ0EwWTAT\n"
+ "BgcqhkjOPQIBBggqhkjOPQMBBwNCAATf63kPhr3D6a2scrHWVr0oOXQMnBDT6Jv/\n"
+ "ifqzt4/xTbXsZNEyD96nyh82sk0tM+FVfBlsIwGc7vqBfyq0mC/Io0MwQTAOBgNV\n"
+ "HQ8BAf8EBAMCA4gwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwEwFwYDVR0RBBAwDoIM\n"
+ "dGxzLnNlY2cub3JnMAoGCCqGSM49BAMCA0kAMEYCIQDfacZHsdsj6SXQ2hyJS4Do\n"
+ "SMclqGLo2Sop7hfAeEJA+wIhAOMo7eLya44SIcuzrLBpg29g5ZzYOeuEzRcg9mch\n"
+ "AB1w\n"
+ "-----END CERTIFICATE-----\n",
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICTjCCAfagAwIBAgIICvq6Bj3Av6EwCQYHKoZIzj0EATCBmzEUMBIGA1UECxML\n"
+ "U0FNUExFIE9OTFkxFzAVBgNVBAoTDkNlcnRpY29tIENvcnAuMRAwDgYDVQQHEwdU\n"
+ "b3JvbnRvMRAwDgYDVQQEEwdPbnRhcmlvMTkwNwYDVQQDEzB0bHMuc2VjZy5vcmcg\n"
+ "RUNDIHNlY3AyNTZyMSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxCzAJBgNVBAYTAkNB\n"
+ "MB4XDTA2MDUwMTAwMDAwMFoXDTE1MDUwMTAwMDAwMFowgZsxFDASBgNVBAsTC1NB\n"
+ "TVBMRSBPTkxZMRcwFQYDVQQKEw5DZXJ0aWNvbSBDb3JwLjEQMA4GA1UEBxMHVG9y\n"
+ "b250bzEQMA4GA1UEBBMHT250YXJpbzE5MDcGA1UEAxMwdGxzLnNlY2cub3JnIEVD\n"
+ "QyBzZWNwMjU2cjEgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQswCQYDVQQGEwJDQTBZ\n"
+ "MBMGByqGSM49AgEGCCqGSM49AwEHA0IABB2oofFVa6akTK6hpaJLs+6skdhn0sQp\n"
+ "uJwVwG99T0VZY8v7q6NMIWrpYQFmOxQyVVNlxWWyr2cLYJTyqx/zuDejIzAhMA4G\n"
+ "A1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAkGByqGSM49BAEDRwAwRAIg\n"
+ "W2KAhfAKWFoh47A7muk8K10cGqOKRtb9lCgdOltj19oCIG+ZJQv5m+RnL4X2Ti0y\n"
+ "ZJzOOuzBQVGiUFwZdn1dLv4X\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
static const char *verisign_com_chain_g5[] = {
- /* chain[0] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFXjCCBEagAwIBAgIQHYWDpKNVUzEFx4Pq8yjxbTANBgkqhkiG9w0BAQUFADCB\n"
- "tTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
- "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMm\n"
- "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwHhcNMTQwMjI3\n"
- "MDAwMDAwWhcNMTUwMjI4MjM1OTU5WjBnMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\n"
- "V2FzaGluZ3RvbjEQMA4GA1UEBxQHU2VhdHRsZTEYMBYGA1UEChQPQW1hem9uLmNv\n"
- "bSBJbmMuMRcwFQYDVQQDFA53d3cuYW1hem9uLmNvbTCCASIwDQYJKoZIhvcNAQEB\n"
- "BQADggEPADCCAQoCggEBAJdfieOPrf4Arf1Iled/ii97407ZnjpaB5xxm49Q4Pz3\n"
- "+5xmD0LYre7Cjn1A7W3ZlHki5zFVZpW9Jb/3PfSEDY5slyjkLD2jdl2gVefSthSZ\n"
- "tYxb5eYv79tIEN0U9AZ8/VaGwUokl8n1MitcECxNLMe4LqoVmS29nXITTTzX5t3I\n"
- "4dUeMBDNI+xgVpJSpxwzA+/L+wxoj5Sb4YJ/Y+iUknCkjX6PpaZMRWBEE0dqvG02\n"
- "qlxXesAV0nmKYvjbtqAyoW6vgjP85h6gJEESIqTTZy1HOgFpO8XT05CpGDcjhP1s\n"
- "TvXF7Vx1aj+xDidGLLW188G35oFKIhEyHQV2V7vzRAUCAwEAAaOCAbUwggGxMFAG\n"
- "A1UdEQRJMEeCEXVlZGF0YS5hbWF6b24uY29tggphbWF6b24uY29tgghhbXpuLmNv\n"
- "bYIMd3d3LmFtem4uY29tgg53d3cuYW1hem9uLmNvbTAJBgNVHRMEAjAAMA4GA1Ud\n"
- "DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYDVR0g\n"
- "BDwwOjA4BgpghkgBhvhFAQc2MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl\n"
- "cmlzaWduLmNvbS9jcHMwHwYDVR0jBBgwFoAUDURcFlNEwYJ+HSCrJfQBY9i+eaUw\n"
- "RQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL1NWUlNlY3VyZS1HMy1jcmwudmVyaXNp\n"
- "Z24uY29tL1NWUlNlY3VyZUczLmNybDB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUH\n"
- "MAGGGGh0dHA6Ly9vY3NwLnZlcmlzaWduLmNvbTBABggrBgEFBQcwAoY0aHR0cDov\n"
- "L1NWUlNlY3VyZS1HMy1haWEudmVyaXNpZ24uY29tL1NWUlNlY3VyZUczLmNlcjAN\n"
- "BgkqhkiG9w0BAQUFAAOCAQEAOeZfjkI0yR/nutCMHp5/uB/evkB8qIYxh1KKbhPB\n"
- "TmpykmJxiLKrBBcBBu9kW5lMbNPSNclE4sCyN0dxCJHwPm7ubNUxsmDSTPTJOx0M\n"
- "zl0WZVaZ7eX3nw1kj8jSoK0f5n87RzKK85MwBFsEn73Z2pDvxTcd72BE0T1UJLcU\n"
- "2A5uHAJyvm2QpOWBIRKlJHIHCcu5xjj5yLnGO9id0cjOjEgj9f1Mo4hzawL5vQfk\n"
- "o/xFxAsA70bk2trv54kgLvhmAW+B6OpN3Z/xB4mWNOw3G8bg/u+pCLvd8KRO5V8K\n"
- "TlgO1NTaOgYC6OAF3USNMhuNZh6h5tWA3mA8rFr8ZsayhA==\n"
- "-----END CERTIFICATE-----\n",
- /* chain[1] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjCBtTEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
- "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMmVmVy\n"
- "aVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwggEiMA0GCSqGSIb3\n"
- "DQEBAQUAA4IBDwAwggEKAoIBAQCxh4QfwgxF9byrJZenraI+nLr2wTm4i8rCrFbG\n"
- "5btljkRPTc5v7QlK1K9OEJxoiy6Ve4mbE8riNDTB81vzSXtig0iBdNGIeGwCU/m8\n"
- "f0MmV1gzgzszChew0E6RJK2GfWQS3HRKNKEdCuqWHQsV/KNLO85jiND4LQyUhhDK\n"
- "tpo9yus3nABINYYpUHjoRWPNGUFP9ZXse5jUxHGzUL4os4+guVOc9cosI6n9FAbo\n"
- "GLSa6Dxugf3kzTU2s1HTaewSulZub5tXxYsU5w7HnO1KVGrJTcW/EbGuHGeBy0RV\n"
- "M5l/JJs/U0V/hhrzPPptf4H1uErT9YU3HLWm0AnkGHs4TvoPAgMBAAGjggHfMIIB\n"
- "2zA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlz\n"
- "aWduLmNvbTASBgNVHRMBAf8ECDAGAQH/AgEAMHAGA1UdIARpMGcwZQYLYIZIAYb4\n"
- "RQEHFwMwVjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2Nw\n"
- "czAqBggrBgEFBQcCAjAeGhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQG\n"
- "A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzUu\n"
- "Y3JsMA4GA1UdDwEB/wQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglp\n"
- "bWFnZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNo\n"
- "dHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjAoBgNVHREEITAfpB0w\n"
- "GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItNjAdBgNVHQ4EFgQUDURcFlNEwYJ+\n"
- "HSCrJfQBY9i+eaUwHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJ\n"
- "KoZIhvcNAQEFBQADggEBAAyDJO/dwwzZWJz+NrbrioBL0aP3nfPMU++CnqOh5pfB\n"
- "WJ11bOAdG0z60cEtBcDqbrIicFXZIDNAMwfCZYP6j0M3m+oOmmxw7vacgDvZN/R6\n"
- "bezQGH1JSsqZxxkoor7YdyT3hSaGbYcFQEFn0Sc67dxIHSLNCwuLvPSxe/20majp\n"
- "dirhGi2HbnTTiN0eIsbfFrYrghQKlFzyUOyvzv9iNw2tZdMGQVPtAhTItVgooazg\n"
- "W+yzf5VK+wPIrSbb5mZ4EkrZn0L74ZjmQoObj49nJOhhGbXdzbULJgWOw27EyHW4\n"
- "Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y=\n"
- "-----END CERTIFICATE-----\n",
- /* chain[2] */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIExjCCBC+gAwIBAgIQNZcxh/OHOgcyfs5YDJt+2jANBgkqhkiG9w0BAQUFADBf\n"
- "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
- "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
- "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
- "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
- "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
- "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
- "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
- "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
- "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
- "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
- "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
- "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
- "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
- "AAGjggGRMIIBjTAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
- "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9\n"
- "BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy\n"
- "aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwNAYD\n"
- "VR0lBC0wKwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBBggrBgEFBQcDAQYIKwYBBQUH\n"
- "AwIwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUr\n"
- "DgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNp\n"
- "Z24uY29tL3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhho\n"
- "dHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEADyWuSO0b\n"
- "M4VMDLXC1/5N1oMoTEFlYAALd0hxgv5/21oOIMzS6ke8ZEJhRDR0MIGBJopK90Rd\n"
- "fjSAqLiD4gnXbSPdie0oCL1jWhFXCMSe2uJoKK/dUDzsgiHYAMJVRFBwQa2DF3m6\n"
- "CPMr3u00HUSe0gST9MsFFy0JLS1j7/YmC3s=\n"
- "-----END CERTIFICATE-----\n",
- NULL,
- /* chain[4] - alt CA */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB\n"
- "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
- "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
- "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
- "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
- "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL\n"
- "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
- "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln\n"
- "biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp\n"
- "U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\n"
- "aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1\n"
- "nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex\n"
- "t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz\n"
- "SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG\n"
- "BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+\n"
- "rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/\n"
- "NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E\n"
- "BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH\n"
- "BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy\n"
- "aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv\n"
- "MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE\n"
- "p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y\n"
- "5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK\n"
- "WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ\n"
- "4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N\n"
- "hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq\n"
- "-----END CERTIFICATE-----\n",
- NULL
+ /* chain[0] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFXjCCBEagAwIBAgIQHYWDpKNVUzEFx4Pq8yjxbTANBgkqhkiG9w0BAQUFADCB\n"
+ "tTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug\n"
+ "YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMm\n"
+ "VmVyaVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwHhcNMTQwMjI3\n"
+ "MDAwMDAwWhcNMTUwMjI4MjM1OTU5WjBnMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\n"
+ "V2FzaGluZ3RvbjEQMA4GA1UEBxQHU2VhdHRsZTEYMBYGA1UEChQPQW1hem9uLmNv\n"
+ "bSBJbmMuMRcwFQYDVQQDFA53d3cuYW1hem9uLmNvbTCCASIwDQYJKoZIhvcNAQEB\n"
+ "BQADggEPADCCAQoCggEBAJdfieOPrf4Arf1Iled/ii97407ZnjpaB5xxm49Q4Pz3\n"
+ "+5xmD0LYre7Cjn1A7W3ZlHki5zFVZpW9Jb/3PfSEDY5slyjkLD2jdl2gVefSthSZ\n"
+ "tYxb5eYv79tIEN0U9AZ8/VaGwUokl8n1MitcECxNLMe4LqoVmS29nXITTTzX5t3I\n"
+ "4dUeMBDNI+xgVpJSpxwzA+/L+wxoj5Sb4YJ/Y+iUknCkjX6PpaZMRWBEE0dqvG02\n"
+ "qlxXesAV0nmKYvjbtqAyoW6vgjP85h6gJEESIqTTZy1HOgFpO8XT05CpGDcjhP1s\n"
+ "TvXF7Vx1aj+xDidGLLW188G35oFKIhEyHQV2V7vzRAUCAwEAAaOCAbUwggGxMFAG\n"
+ "A1UdEQRJMEeCEXVlZGF0YS5hbWF6b24uY29tggphbWF6b24uY29tgghhbXpuLmNv\n"
+ "bYIMd3d3LmFtem4uY29tgg53d3cuYW1hem9uLmNvbTAJBgNVHRMEAjAAMA4GA1Ud\n"
+ "DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQwYDVR0g\n"
+ "BDwwOjA4BgpghkgBhvhFAQc2MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl\n"
+ "cmlzaWduLmNvbS9jcHMwHwYDVR0jBBgwFoAUDURcFlNEwYJ+HSCrJfQBY9i+eaUw\n"
+ "RQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL1NWUlNlY3VyZS1HMy1jcmwudmVyaXNp\n"
+ "Z24uY29tL1NWUlNlY3VyZUczLmNybDB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUH\n"
+ "MAGGGGh0dHA6Ly9vY3NwLnZlcmlzaWduLmNvbTBABggrBgEFBQcwAoY0aHR0cDov\n"
+ "L1NWUlNlY3VyZS1HMy1haWEudmVyaXNpZ24uY29tL1NWUlNlY3VyZUczLmNlcjAN\n"
+ "BgkqhkiG9w0BAQUFAAOCAQEAOeZfjkI0yR/nutCMHp5/uB/evkB8qIYxh1KKbhPB\n"
+ "TmpykmJxiLKrBBcBBu9kW5lMbNPSNclE4sCyN0dxCJHwPm7ubNUxsmDSTPTJOx0M\n"
+ "zl0WZVaZ7eX3nw1kj8jSoK0f5n87RzKK85MwBFsEn73Z2pDvxTcd72BE0T1UJLcU\n"
+ "2A5uHAJyvm2QpOWBIRKlJHIHCcu5xjj5yLnGO9id0cjOjEgj9f1Mo4hzawL5vQfk\n"
+ "o/xFxAsA70bk2trv54kgLvhmAW+B6OpN3Z/xB4mWNOw3G8bg/u+pCLvd8KRO5V8K\n"
+ "TlgO1NTaOgYC6OAF3USNMhuNZh6h5tWA3mA8rFr8ZsayhA==\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[1] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjCBtTEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg\n"
+ "aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMmVmVy\n"
+ "aVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwggEiMA0GCSqGSIb3\n"
+ "DQEBAQUAA4IBDwAwggEKAoIBAQCxh4QfwgxF9byrJZenraI+nLr2wTm4i8rCrFbG\n"
+ "5btljkRPTc5v7QlK1K9OEJxoiy6Ve4mbE8riNDTB81vzSXtig0iBdNGIeGwCU/m8\n"
+ "f0MmV1gzgzszChew0E6RJK2GfWQS3HRKNKEdCuqWHQsV/KNLO85jiND4LQyUhhDK\n"
+ "tpo9yus3nABINYYpUHjoRWPNGUFP9ZXse5jUxHGzUL4os4+guVOc9cosI6n9FAbo\n"
+ "GLSa6Dxugf3kzTU2s1HTaewSulZub5tXxYsU5w7HnO1KVGrJTcW/EbGuHGeBy0RV\n"
+ "M5l/JJs/U0V/hhrzPPptf4H1uErT9YU3HLWm0AnkGHs4TvoPAgMBAAGjggHfMIIB\n"
+ "2zA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlz\n"
+ "aWduLmNvbTASBgNVHRMBAf8ECDAGAQH/AgEAMHAGA1UdIARpMGcwZQYLYIZIAYb4\n"
+ "RQEHFwMwVjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2Nw\n"
+ "czAqBggrBgEFBQcCAjAeGhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQG\n"
+ "A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzUu\n"
+ "Y3JsMA4GA1UdDwEB/wQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglp\n"
+ "bWFnZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNo\n"
+ "dHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjAoBgNVHREEITAfpB0w\n"
+ "GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItNjAdBgNVHQ4EFgQUDURcFlNEwYJ+\n"
+ "HSCrJfQBY9i+eaUwHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJ\n"
+ "KoZIhvcNAQEFBQADggEBAAyDJO/dwwzZWJz+NrbrioBL0aP3nfPMU++CnqOh5pfB\n"
+ "WJ11bOAdG0z60cEtBcDqbrIicFXZIDNAMwfCZYP6j0M3m+oOmmxw7vacgDvZN/R6\n"
+ "bezQGH1JSsqZxxkoor7YdyT3hSaGbYcFQEFn0Sc67dxIHSLNCwuLvPSxe/20majp\n"
+ "dirhGi2HbnTTiN0eIsbfFrYrghQKlFzyUOyvzv9iNw2tZdMGQVPtAhTItVgooazg\n"
+ "W+yzf5VK+wPIrSbb5mZ4EkrZn0L74ZjmQoObj49nJOhhGbXdzbULJgWOw27EyHW4\n"
+ "Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y=\n"
+ "-----END CERTIFICATE-----\n",
+ /* chain[2] */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIExjCCBC+gAwIBAgIQNZcxh/OHOgcyfs5YDJt+2jANBgkqhkiG9w0BAQUFADBf\n"
+ "MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT\n"
+ "LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw\n"
+ "HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx\n"
+ "FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz\n"
+ "dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv\n"
+ "ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz\n"
+ "IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi\n"
+ "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8\n"
+ "RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb\n"
+ "ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR\n"
+ "TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/\n"
+ "Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH\n"
+ "iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB\n"
+ "AAGjggGRMIIBjTAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0\n"
+ "dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9\n"
+ "BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy\n"
+ "aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwNAYD\n"
+ "VR0lBC0wKwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBBggrBgEFBQcDAQYIKwYBBQUH\n"
+ "AwIwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUr\n"
+ "DgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNp\n"
+ "Z24uY29tL3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhho\n"
+ "dHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEADyWuSO0b\n"
+ "M4VMDLXC1/5N1oMoTEFlYAALd0hxgv5/21oOIMzS6ke8ZEJhRDR0MIGBJopK90Rd\n"
+ "fjSAqLiD4gnXbSPdie0oCL1jWhFXCMSe2uJoKK/dUDzsgiHYAMJVRFBwQa2DF3m6\n"
+ "CPMr3u00HUSe0gST9MsFFy0JLS1j7/YmC3s=\n"
+ "-----END CERTIFICATE-----\n",
+ NULL,
+ /* chain[4] - alt CA */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB\n"
+ "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
+ "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
+ "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
+ "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
+ "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL\n"
+ "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
+ "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln\n"
+ "biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp\n"
+ "U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\n"
+ "aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1\n"
+ "nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex\n"
+ "t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz\n"
+ "SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG\n"
+ "BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+\n"
+ "rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/\n"
+ "NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E\n"
+ "BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH\n"
+ "BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy\n"
+ "aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv\n"
+ "MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE\n"
+ "p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y\n"
+ "5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK\n"
+ "WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ\n"
+ "4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N\n"
+ "hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq\n"
+ "-----END CERTIFICATE-----\n",
+ NULL
};
/* TLS feature extension chains */
@@ -3592,7 +3593,6 @@ static const char *tls_feat_no_ext[] = {
NULL
};
-
/* Intermediate has a subset of the CA's list */
static const char *tls_feat_inter_subset_fail[] = {
"-----BEGIN CERTIFICATE-----\n"
@@ -3672,7 +3672,6 @@ static const char *tls_feat_inter_subset_fail[] = {
NULL
};
-
/* Intermediate has unrelated values to the CA's */
static const char *tls_feat_inter_unrelated_fail[] = {
"-----BEGIN CERTIFICATE-----\n"
@@ -3752,7 +3751,7 @@ static const char *tls_feat_inter_unrelated_fail[] = {
NULL
};
- /* All feat extensions ok */
+/* All feat extensions ok */
static const char *tls_feat_ok[] = {
"-----BEGIN CERTIFICATE-----\n"
"MIIEPzCCAqegAwIBAgIMV2q1gxhOXfKDif2GMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
@@ -4262,189 +4261,321 @@ static const char *rsa_sha1_not_in_trusted_ca[] = {
};
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wunused-variable"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-variable"
#endif
-static struct
-{
- const char *name;
- const char **chain;
- const char **ca;
- unsigned int verify_flags;
- unsigned int expected_verify_result;
- const char *purpose;
- time_t expected_time;
- unsigned notfips;
-} chains[] =
-{
- { "CVE-2014-0092", cve_2014_0092_check, &cve_2014_0092_check[1],
- 0,
- GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL, 1412850586},
- { "CVE-2008-4989", cve_2008_4989_chain, &cve_2008_4989_chain[2],
- GNUTLS_VERIFY_ALLOW_BROKEN,
- GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL},
- { "amazon.com ok", verisign_com_chain_g5, &verisign_com_chain_g5[4],
- GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_LOW),
- 0, NULL},
- { "verisign.com v1 fail", verisign_com_chain, &verisign_com_chain[3],
- GNUTLS_VERIFY_ALLOW_BROKEN,
- GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL},
- { "verisign.com v1 ok", verisign_com_chain, &verisign_com_chain[3],
- GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_LOW),
- 0, NULL},
- { "verisign.com v1 not ok due to profile", verisign_com_chain, &verisign_com_chain[3],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_LEGACY),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "verisign.com v1 not ok due to profile", verisign_com_chain, &verisign_com_chain[3],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_HIGH),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "citibank.com v1 fail", citibank_com_chain, &citibank_com_chain[2],
- GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
- { "expired self signed", pem_self_cert, &pem_self_cert[0],
- 0, GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL},
- { "self signed", pem_self_cert, &pem_self_cert[0],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0, NULL},
- { "ca=false", thea_chain, &thea_chain[1],
- GNUTLS_VERIFY_ALLOW_BROKEN,
- GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
- { "ca=false2", thea_chain, &thea_chain[1],
- GNUTLS_VERIFY_ALLOW_BROKEN, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
- { "hbci v1 fail", hbci_chain, &hbci_chain[2],
- GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
- { "hbci v1 ok expired", hbci_chain, &hbci_chain[2],
- GNUTLS_VERIFY_ALLOW_BROKEN,
- GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL},
- { "hbci v1 ok", hbci_chain, &hbci_chain[2],
- GNUTLS_VERIFY_ALLOW_BROKEN|GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
- 0, NULL},
- { "rsa-md5 fail", mayfirst_chain, &mayfirst_chain[1],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "rsa-md5 not ok", mayfirst_chain, &mayfirst_chain[1],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2,
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "rsa-md5 not ok2", mayfirst_chain, &mayfirst_chain[1],
- GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5,
- GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL},
- { "rsa-md5 ok", mayfirst_chain, &mayfirst_chain[1],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5, 0, NULL},
- { "rsa-md5 ok - allow broken", mayfirst_chain, &mayfirst_chain[1],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_BROKEN, 0, NULL},
- { "v1ca fail", v1ca, &v1ca[2],
- GNUTLS_VERIFY_ALLOW_BROKEN|GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
+static struct {
+ const char *name;
+ const char **chain;
+ const char **ca;
+ unsigned int verify_flags;
+ unsigned int expected_verify_result;
+ const char *purpose;
+ time_t expected_time;
+ unsigned notfips;
+} chains[] = {
+ { "CVE-2014-0092", cve_2014_0092_check, &cve_2014_0092_check[1], 0,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL, 1412850586 },
+ { "CVE-2008-4989", cve_2008_4989_chain, &cve_2008_4989_chain[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN,
+ GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_EXPIRED |
+ GNUTLS_CERT_INVALID,
+ NULL },
+ { "amazon.com ok", verisign_com_chain_g5, &verisign_com_chain_g5[4],
+ GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS |
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_LOW),
+ 0, NULL },
+ { "verisign.com v1 fail", verisign_com_chain, &verisign_com_chain[3],
+ GNUTLS_VERIFY_ALLOW_BROKEN, GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID,
+ NULL },
+ { "verisign.com v1 ok", verisign_com_chain, &verisign_com_chain[3],
+ GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS |
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_LOW),
+ 0, NULL },
+ { "verisign.com v1 not ok due to profile", verisign_com_chain,
+ &verisign_com_chain[3],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS |
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_LEGACY),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "verisign.com v1 not ok due to profile", verisign_com_chain,
+ &verisign_com_chain[3],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS |
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_HIGH),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "citibank.com v1 fail", citibank_com_chain, &citibank_com_chain[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN |
+ GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
+ { "expired self signed", pem_self_cert, &pem_self_cert[0], 0,
+ GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL },
+ { "self signed", pem_self_cert, &pem_self_cert[0],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0, NULL },
+ { "ca=false", thea_chain, &thea_chain[1], GNUTLS_VERIFY_ALLOW_BROKEN,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
+ { "ca=false2", thea_chain, &thea_chain[1], GNUTLS_VERIFY_ALLOW_BROKEN,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
+ { "hbci v1 fail", hbci_chain, &hbci_chain[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN |
+ GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
+ { "hbci v1 ok expired", hbci_chain, &hbci_chain[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN, GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID,
+ NULL },
+ { "hbci v1 ok", hbci_chain, &hbci_chain[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0,
+ NULL },
+ { "rsa-md5 fail", mayfirst_chain, &mayfirst_chain[1],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "rsa-md5 not ok", mayfirst_chain, &mayfirst_chain[1],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2,
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "rsa-md5 not ok2", mayfirst_chain, &mayfirst_chain[1],
+ GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5,
+ GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL },
+ { "rsa-md5 ok", mayfirst_chain, &mayfirst_chain[1],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5,
+ 0, NULL },
+ { "rsa-md5 ok - allow broken", mayfirst_chain, &mayfirst_chain[1],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_BROKEN, 0,
+ NULL },
+ { "v1ca fail", v1ca, &v1ca[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN |
+ GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
- { "pathlen fail", pathlen_check, &pathlen_check[2],
- GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT | GNUTLS_VERIFY_DISABLE_TIME_CHECKS, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL},
+ { "pathlen fail", pathlen_check, &pathlen_check[2],
+ GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT |
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL },
- /* Test whether a V1 root certificate is correctly accepted */
- { "v1root fail", v1_root_check, &v1_root_check[1],
- GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT | GNUTLS_VERIFY_DISABLE_TIME_CHECKS, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
- { "v1root ok", v1_root_check, &v1_root_check[1],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0, NULL},
+ /* Test whether a V1 root certificate is correctly accepted */
+ { "v1root fail", v1_root_check, &v1_root_check[1],
+ GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT |
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
+ { "v1root ok", v1_root_check, &v1_root_check[1],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0, NULL },
- /* test whether a v1 intermediate certificate is rejected */
- { "v1invalid fail", v1_intermed_check, &v1_intermed_check[2],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS, GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL},
- { "v1 leaf ok", &v1_intermed_check[1], &v1_intermed_check[2],
- GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0, NULL},
+ /* test whether a v1 intermediate certificate is rejected */
+ { "v1invalid fail", v1_intermed_check, &v1_intermed_check[2],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
+ GNUTLS_CERT_SIGNER_NOT_CA | GNUTLS_CERT_INVALID, NULL },
+ { "v1 leaf ok", &v1_intermed_check[1], &v1_intermed_check[2],
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0, NULL },
- { "v1ca expired", v1ca, &v1ca[2],
- GNUTLS_VERIFY_ALLOW_BROKEN,
- GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID , NULL},
- { "v1ca (sha1) ok - allow broken", v1ca, &v1ca[2], /* check GNUTLS_VERIFY_ALLOW_BROKEN */
- GNUTLS_VERIFY_ALLOW_BROKEN|GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
- 0, NULL},
- { "v1ca (sha1) ok - allow sha1", v1ca, &v1ca[2], /* check GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 */
- GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1|GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
- 0, NULL},
- { "v1ca2 expired", v1ca, &v1ca[2],
- GNUTLS_VERIFY_ALLOW_BROKEN|GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT,
- GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL},
- { "v1ca2 ok", v1ca, &v1ca[2],
- GNUTLS_VERIFY_ALLOW_BROKEN|GNUTLS_VERIFY_DISABLE_TIME_CHECKS | GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT,
- 0, NULL},
- { "cacertrsamd5 fail", cacertrsamd5, &cacertrsamd5[2],
- 0, GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "cacertrsamd5 ok", cacertrsamd5, &cacertrsamd5[2],
- GNUTLS_VERIFY_ALLOW_BROKEN, 0, NULL},
- { "cacertrsamd5 short-cut not ok", cacertrsamd5, &cacertrsamd5[0],
- GNUTLS_VERIFY_DO_NOT_ALLOW_SAME,
- GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "cacertrsamd5 short-cut ok", cacertrsamd5, &cacertrsamd5[1],
- GNUTLS_VERIFY_ALLOW_BROKEN, 0, NULL},
- { "ecc cert ok", ecc_cert, &ecc_cert[1], GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_HIGH), 0, NULL},
- { "ecc cert ok", ecc_cert, &ecc_cert[1], GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_SUITEB128), 0, NULL},
- { "ecc cert not ok (due to profile)", ecc_cert, &ecc_cert[1], GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_ULTRA),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "ecc cert not ok (due to profile)", ecc_cert, &ecc_cert[1], GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_SUITEB192),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL},
- { "name constraints: empty CN, empty SAN, permitted dns range", nc_good0, &nc_good0[2], 0, 0, 0, 1427270515},
- { "name constraints: dns in permitted range", nc_good1, &nc_good1[4], 0, 0, NULL, 1412850586},
- { "name constraints: ipv6 in permitted range", nc_good2, &nc_good2[4], 0, 0, NULL, 1467193927},
- { "name constraints: 2 constraints (dns, dns), non-intuitive order", nc_bad0, &nc_bad0[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1468920734},
- { "name constraints: empty CN, empty excluded dns", nc_bad1, &nc_bad1[2], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1412850586},
- { "name constraints: multiple dns constraints, empty intersection", nc_bad2, &nc_bad2[4], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1412850586},
- { "name constraints: dns excluded range", nc_bad3, &nc_bad3[2], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1412850586},
- { "name constraints: basic dns intersection", nc_bad4, &nc_bad4[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1412850586},
- { "name constraints: IP in excluded range", nc_bad5, &nc_bad5[2], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1469540953},
- { "name constraints: 2 constraints (dns, email), non-intuitive order", nc_bad6, &nc_bad6[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL, 1469540953},
- { "not-modified", modified2, &modified2[3], GNUTLS_VERIFY_ALLOW_BROKEN, 0, NULL, 1412850586},
- { "kp-interm", kp_fail1, &kp_fail1[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_PURPOSE_MISMATCH, GNUTLS_KP_TLS_WWW_SERVER, 1412850586},
- { "kp-fin", kp_fail2, &kp_fail2[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_PURPOSE_MISMATCH, GNUTLS_KP_TLS_WWW_SERVER, 1412850586},
- { "kp-ok", kp_ok, &kp_ok[3], 0, 0, GNUTLS_KP_OCSP_SIGNING, 1412850586},
- { "tls features - intermediate no ext", tls_feat_inter_no_ext, &tls_feat_inter_no_ext[3], 0, GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE|GNUTLS_CERT_INVALID, 0, 1466612070},
- { "tls features - end no ext", tls_feat_no_ext, &tls_feat_no_ext[3], 0, GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE|GNUTLS_CERT_INVALID, 0, 1466612070},
- { "tls features - intermediate is subset", tls_feat_inter_subset_fail, &tls_feat_inter_subset_fail[3], 0, GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE|GNUTLS_CERT_INVALID, 0, 1466612070},
- { "tls features - intermediate has unrelated vals", tls_feat_inter_unrelated_fail, &tls_feat_inter_unrelated_fail[3], 0, GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE|GNUTLS_CERT_INVALID, 0, 1466612070},
- { "tls features - end is superset", tls_feat_superset, &tls_feat_superset[3], 0, 0, 0, 1466612070},
- { "tls features - ok", tls_feat_ok, &tls_feat_ok[3], 0, 0, 0, 1466612070},
- { "unknown crit extension on root - fail", unknown_critical_extension_on_root, &unknown_critical_extension_on_root[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS, GNUTLS_KP_TLS_WWW_SERVER, 1488365541},
- { "unknown crit extension on root - success", unknown_critical_extension_on_root, &unknown_critical_extension_on_root[3], GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS, 0, GNUTLS_KP_TLS_WWW_SERVER, 1488365541},
- { "unknown crit extension on intermediate - fail", unknown_critical_extension_on_intermediate, &unknown_critical_extension_on_intermediate[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS, GNUTLS_KP_TLS_WWW_SERVER, 1488365541},
- { "unknown crit extension on intermediate - success", unknown_critical_extension_on_intermediate, &unknown_critical_extension_on_intermediate[3], GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS, 0, GNUTLS_KP_TLS_WWW_SERVER, 1488365541},
- { "unknown crit extension on endcert - fail", unknown_critical_extension_on_endcert, &unknown_critical_extension_on_endcert[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS, GNUTLS_KP_TLS_WWW_SERVER, 1488365541},
- { "unknown crit extension on endcert - success", unknown_critical_extension_on_endcert, &unknown_critical_extension_on_endcert[3], GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS, 0, GNUTLS_KP_TLS_WWW_SERVER, 1488365541},
- { "rsa pss: invalid self sig - fail", rsa_pss_invalid_self_sig, &rsa_pss_invalid_self_sig[0], GNUTLS_VERIFY_DO_NOT_ALLOW_SAME, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0, 1501138253},
- { "rsa pss: invalid chain with pkcs#1 1.5 sig - fail", rsa_pss_invalid_chain_with_pkcs1_sig, &rsa_pss_invalid_chain_with_pkcs1_sig[2], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0, 1501138253},
- { "rsa pss: invalid chain with wrong hash (sha384-sha256) - fail", rsa_pss_invalid_chain_with_wrong_hash, &rsa_pss_invalid_chain_with_wrong_hash[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0, 1501138253},
- { "rsa pss: smaller salt in sig than spki - fail", rsa_pss_chain_smaller_salt_in_sig_fail, &rsa_pss_chain_smaller_salt_in_sig_fail[3], 0, GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0, 1550005473},
- { "rsa pss: chain with sha1 hash - fail", rsa_pss_chain_with_sha1_fail, &rsa_pss_chain_with_sha1_fail[3], 0, GNUTLS_CERT_INVALID, 0, 1501159136},
- { "rsa pss: chain with different mgf hash - fail", rsa_pss_chain_with_diff_mgf_oid_fail, &rsa_pss_chain_with_diff_mgf_oid_fail[3], 0, GNUTLS_CERT_INVALID, 0, 1501159136},
- { "rsa pss: chain with sha256 - ok", rsa_pss_chain_sha256_ok, &rsa_pss_chain_sha256_ok[3], 0, 0, 0, 1501138253},
- { "rsa pss: chain with sha384 - ok", rsa_pss_chain_sha384_ok, &rsa_pss_chain_sha384_ok[3], 0, 0, 0, 1501138253},
- { "rsa pss: chain with sha512 - ok", rsa_pss_chain_sha512_ok, &rsa_pss_chain_sha512_ok[3], 0, 0, 0, 1501138253},
- { "rsa pss: chain with increasing salt size - ok", rsa_pss_chain_increasing_salt_size_ok, &rsa_pss_chain_increasing_salt_size_ok[3], 0, 0, 0, 1501159136},
- { "rsa pss: chain with alternating signatures - ok", rsa_pss_chain_pkcs11_pss_pkcs1_ok, &rsa_pss_chain_pkcs11_pss_pkcs1_ok[3], 0, 0, 0, 1501159136},
- { "rsa pss: chain with changing hashes - ok", rsa_pss_chain_sha512_sha384_sha256_ok, &rsa_pss_chain_sha512_sha384_sha256_ok[3], 0, 0, 0, 1501159136},
- { "no subject id: chain with missing subject id, but valid auth id - ok", chain_with_no_subject_id_in_ca_ok, &chain_with_no_subject_id_in_ca_ok[4], 0, 0, 0, 1537518468},
+ { "v1ca expired", v1ca, &v1ca[2], GNUTLS_VERIFY_ALLOW_BROKEN,
+ GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL },
+ { "v1ca (sha1) ok - allow broken", v1ca,
+ &v1ca[2], /* check GNUTLS_VERIFY_ALLOW_BROKEN */
+ GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS, 0,
+ NULL },
+ { "v1ca (sha1) ok - allow sha1", v1ca,
+ &v1ca[2], /* check GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 */
+ GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1 |
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS,
+ 0, NULL },
+ { "v1ca2 expired", v1ca, &v1ca[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT,
+ GNUTLS_CERT_EXPIRED | GNUTLS_CERT_INVALID, NULL },
+ { "v1ca2 ok", v1ca, &v1ca[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN | GNUTLS_VERIFY_DISABLE_TIME_CHECKS |
+ GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT,
+ 0, NULL },
+ { "cacertrsamd5 fail", cacertrsamd5, &cacertrsamd5[2], 0,
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "cacertrsamd5 ok", cacertrsamd5, &cacertrsamd5[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN, 0, NULL },
+ { "cacertrsamd5 short-cut not ok", cacertrsamd5, &cacertrsamd5[0],
+ GNUTLS_VERIFY_DO_NOT_ALLOW_SAME,
+ GNUTLS_CERT_SIGNER_NOT_FOUND | GNUTLS_CERT_INSECURE_ALGORITHM |
+ GNUTLS_CERT_INVALID,
+ NULL },
+ { "cacertrsamd5 short-cut ok", cacertrsamd5, &cacertrsamd5[1],
+ GNUTLS_VERIFY_ALLOW_BROKEN, 0, NULL },
+ { "ecc cert ok", ecc_cert, &ecc_cert[1],
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_HIGH), 0, NULL },
+ { "ecc cert ok", ecc_cert, &ecc_cert[1],
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_SUITEB128), 0, NULL },
+ { "ecc cert not ok (due to profile)", ecc_cert, &ecc_cert[1],
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_ULTRA),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "ecc cert not ok (due to profile)", ecc_cert, &ecc_cert[1],
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_SUITEB192),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL },
+ { "name constraints: empty CN, empty SAN, permitted dns range",
+ nc_good0, &nc_good0[2], 0, 0, 0, 1427270515 },
+ { "name constraints: dns in permitted range", nc_good1, &nc_good1[4], 0,
+ 0, NULL, 1412850586 },
+ { "name constraints: ipv6 in permitted range", nc_good2, &nc_good2[4],
+ 0, 0, NULL, 1467193927 },
+ { "name constraints: 2 constraints (dns, dns), non-intuitive order",
+ nc_bad0, &nc_bad0[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1468920734 },
+ { "name constraints: empty CN, empty excluded dns", nc_bad1,
+ &nc_bad1[2], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1412850586 },
+ { "name constraints: multiple dns constraints, empty intersection",
+ nc_bad2, &nc_bad2[4], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1412850586 },
+ { "name constraints: dns excluded range", nc_bad3, &nc_bad3[2], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1412850586 },
+ { "name constraints: basic dns intersection", nc_bad4, &nc_bad4[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1412850586 },
+ { "name constraints: IP in excluded range", nc_bad5, &nc_bad5[2], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1469540953 },
+ { "name constraints: 2 constraints (dns, email), non-intuitive order",
+ nc_bad6, &nc_bad6[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, NULL,
+ 1469540953 },
+ { "not-modified", modified2, &modified2[3], GNUTLS_VERIFY_ALLOW_BROKEN,
+ 0, NULL, 1412850586 },
+ { "kp-interm", kp_fail1, &kp_fail1[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_PURPOSE_MISMATCH,
+ GNUTLS_KP_TLS_WWW_SERVER, 1412850586 },
+ { "kp-fin", kp_fail2, &kp_fail2[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_PURPOSE_MISMATCH,
+ GNUTLS_KP_TLS_WWW_SERVER, 1412850586 },
+ { "kp-ok", kp_ok, &kp_ok[3], 0, 0, GNUTLS_KP_OCSP_SIGNING, 1412850586 },
+ { "tls features - intermediate no ext", tls_feat_inter_no_ext,
+ &tls_feat_inter_no_ext[3], 0,
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE | GNUTLS_CERT_INVALID, 0,
+ 1466612070 },
+ { "tls features - end no ext", tls_feat_no_ext, &tls_feat_no_ext[3], 0,
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE | GNUTLS_CERT_INVALID, 0,
+ 1466612070 },
+ { "tls features - intermediate is subset", tls_feat_inter_subset_fail,
+ &tls_feat_inter_subset_fail[3], 0,
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE | GNUTLS_CERT_INVALID, 0,
+ 1466612070 },
+ { "tls features - intermediate has unrelated vals",
+ tls_feat_inter_unrelated_fail, &tls_feat_inter_unrelated_fail[3], 0,
+ GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE | GNUTLS_CERT_INVALID, 0,
+ 1466612070 },
+ { "tls features - end is superset", tls_feat_superset,
+ &tls_feat_superset[3], 0, 0, 0, 1466612070 },
+ { "tls features - ok", tls_feat_ok, &tls_feat_ok[3], 0, 0, 0,
+ 1466612070 },
+ { "unknown crit extension on root - fail",
+ unknown_critical_extension_on_root,
+ &unknown_critical_extension_on_root[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS,
+ GNUTLS_KP_TLS_WWW_SERVER, 1488365541 },
+ { "unknown crit extension on root - success",
+ unknown_critical_extension_on_root,
+ &unknown_critical_extension_on_root[3],
+ GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS, 0,
+ GNUTLS_KP_TLS_WWW_SERVER, 1488365541 },
+ { "unknown crit extension on intermediate - fail",
+ unknown_critical_extension_on_intermediate,
+ &unknown_critical_extension_on_intermediate[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS,
+ GNUTLS_KP_TLS_WWW_SERVER, 1488365541 },
+ { "unknown crit extension on intermediate - success",
+ unknown_critical_extension_on_intermediate,
+ &unknown_critical_extension_on_intermediate[3],
+ GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS, 0,
+ GNUTLS_KP_TLS_WWW_SERVER, 1488365541 },
+ { "unknown crit extension on endcert - fail",
+ unknown_critical_extension_on_endcert,
+ &unknown_critical_extension_on_endcert[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS,
+ GNUTLS_KP_TLS_WWW_SERVER, 1488365541 },
+ { "unknown crit extension on endcert - success",
+ unknown_critical_extension_on_endcert,
+ &unknown_critical_extension_on_endcert[3],
+ GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS, 0,
+ GNUTLS_KP_TLS_WWW_SERVER, 1488365541 },
+ { "rsa pss: invalid self sig - fail", rsa_pss_invalid_self_sig,
+ &rsa_pss_invalid_self_sig[0], GNUTLS_VERIFY_DO_NOT_ALLOW_SAME,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0,
+ 1501138253 },
+ { "rsa pss: invalid chain with pkcs#1 1.5 sig - fail",
+ rsa_pss_invalid_chain_with_pkcs1_sig,
+ &rsa_pss_invalid_chain_with_pkcs1_sig[2], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0,
+ 1501138253 },
+ { "rsa pss: invalid chain with wrong hash (sha384-sha256) - fail",
+ rsa_pss_invalid_chain_with_wrong_hash,
+ &rsa_pss_invalid_chain_with_wrong_hash[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0,
+ 1501138253 },
+ { "rsa pss: smaller salt in sig than spki - fail",
+ rsa_pss_chain_smaller_salt_in_sig_fail,
+ &rsa_pss_chain_smaller_salt_in_sig_fail[3], 0,
+ GNUTLS_CERT_INVALID | GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE, 0,
+ 1550005473 },
+ { "rsa pss: chain with sha1 hash - fail", rsa_pss_chain_with_sha1_fail,
+ &rsa_pss_chain_with_sha1_fail[3], 0, GNUTLS_CERT_INVALID, 0,
+ 1501159136 },
+ { "rsa pss: chain with different mgf hash - fail",
+ rsa_pss_chain_with_diff_mgf_oid_fail,
+ &rsa_pss_chain_with_diff_mgf_oid_fail[3], 0, GNUTLS_CERT_INVALID, 0,
+ 1501159136 },
+ { "rsa pss: chain with sha256 - ok", rsa_pss_chain_sha256_ok,
+ &rsa_pss_chain_sha256_ok[3], 0, 0, 0, 1501138253 },
+ { "rsa pss: chain with sha384 - ok", rsa_pss_chain_sha384_ok,
+ &rsa_pss_chain_sha384_ok[3], 0, 0, 0, 1501138253 },
+ { "rsa pss: chain with sha512 - ok", rsa_pss_chain_sha512_ok,
+ &rsa_pss_chain_sha512_ok[3], 0, 0, 0, 1501138253 },
+ { "rsa pss: chain with increasing salt size - ok",
+ rsa_pss_chain_increasing_salt_size_ok,
+ &rsa_pss_chain_increasing_salt_size_ok[3], 0, 0, 0, 1501159136 },
+ { "rsa pss: chain with alternating signatures - ok",
+ rsa_pss_chain_pkcs11_pss_pkcs1_ok,
+ &rsa_pss_chain_pkcs11_pss_pkcs1_ok[3], 0, 0, 0, 1501159136 },
+ { "rsa pss: chain with changing hashes - ok",
+ rsa_pss_chain_sha512_sha384_sha256_ok,
+ &rsa_pss_chain_sha512_sha384_sha256_ok[3], 0, 0, 0, 1501159136 },
+ { "no subject id: chain with missing subject id, but valid auth id - ok",
+ chain_with_no_subject_id_in_ca_ok,
+ &chain_with_no_subject_id_in_ca_ok[4], 0, 0, 0, 1537518468 },
#ifdef ENABLE_GOST
- { "gost 34.10-01 - ok", gost01, &gost01[2], GNUTLS_VERIFY_ALLOW_BROKEN, 0, 0, 1466612070, 1},
- { "gost 34.10-01 - not ok (due to gostr94)", gost01, &gost01[2], 0,
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL, 1466612070, 1},
- { "gost 34.10-01 - not ok (due to profile)", gost01, &gost01[2], GNUTLS_VERIFY_ALLOW_BROKEN|GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_ULTRA),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL, 1466612070, 1},
- { "gost 34.10-12-256 - ok", gost12_256, &gost12_256[0], 0, 0, 0, 1466612070, 1},
- { "gost 34.10-12-512 - ok", gost12_512, &gost12_512[0], 0, 0, 0, 1466612070, 1},
+ { "gost 34.10-01 - ok", gost01, &gost01[2], GNUTLS_VERIFY_ALLOW_BROKEN,
+ 0, 0, 1466612070, 1 },
+ { "gost 34.10-01 - not ok (due to gostr94)", gost01, &gost01[2], 0,
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL,
+ 1466612070, 1 },
+ { "gost 34.10-01 - not ok (due to profile)", gost01, &gost01[2],
+ GNUTLS_VERIFY_ALLOW_BROKEN |
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_ULTRA),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL,
+ 1466612070, 1 },
+ { "gost 34.10-12-256 - ok", gost12_256, &gost12_256[0], 0, 0, 0,
+ 1466612070, 1 },
+ { "gost 34.10-12-512 - ok", gost12_512, &gost12_512[0], 0, 0, 0,
+ 1466612070, 1 },
#endif
- { "rsa-512 - not ok (due to profile)", rsa_512, &rsa_512[0], GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_MEDIUM),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL, 1576759855, 1},
- { "ed448 - ok", ed448, &ed448[0], GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_ULTRA),
- 0, NULL, 1584352960, 1},
- { "superseding - ok", superseding, superseding_ca, 0, 0, 0, 1590928011 },
- { "rsa-sha1 in trusted - ok",
- rsa_sha1_in_trusted, rsa_sha1_in_trusted_ca,
- GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_MEDIUM),
- 0, NULL, 1620052390, 1},
- { "rsa-sha1 not in trusted - not ok",
- rsa_sha1_not_in_trusted, rsa_sha1_not_in_trusted_ca,
- GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_MEDIUM),
- GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL, 1620118136, 1},
- { NULL, NULL, NULL, 0, 0}
+ { "rsa-512 - not ok (due to profile)", rsa_512, &rsa_512[0],
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_MEDIUM),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL,
+ 1576759855, 1 },
+ { "ed448 - ok", ed448, &ed448[0],
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_ULTRA), 0, NULL, 1584352960,
+ 1 },
+ { "superseding - ok", superseding, superseding_ca, 0, 0, 0,
+ 1590928011 },
+ { "rsa-sha1 in trusted - ok", rsa_sha1_in_trusted,
+ rsa_sha1_in_trusted_ca,
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_MEDIUM), 0, NULL, 1620052390,
+ 1 },
+ { "rsa-sha1 not in trusted - not ok", rsa_sha1_not_in_trusted,
+ rsa_sha1_not_in_trusted_ca,
+ GNUTLS_PROFILE_TO_VFLAGS(GNUTLS_PROFILE_MEDIUM),
+ GNUTLS_CERT_INSECURE_ALGORITHM | GNUTLS_CERT_INVALID, NULL,
+ 1620118136, 1 },
+ { NULL, NULL, NULL, 0, 0 }
};
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic pop
+#pragma GCC diagnostic pop
#endif
-#endif /* GNUTLS_TESTS_TEST_CHAINS_H */
+#endif /* GNUTLS_TESTS_TEST_CHAINS_H */
diff --git a/tests/time.c b/tests/time.c
index b97befed61..5415bfd6fe 100644
--- a/tests/time.c
+++ b/tests/time.c
@@ -24,7 +24,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,24 +44,14 @@ struct time_tests_st {
};
struct time_tests_st general_time_tests[] = {
- {
- .time_str = "20190520133237Z",
- .utime = 1558359157},
- {
- .time_str = "20170101000000Z",
- .utime = 1483228800},
- {
- .time_str = "19700101000000Z",
- .utime = 0},
+ { .time_str = "20190520133237Z", .utime = 1558359157 },
+ { .time_str = "20170101000000Z", .utime = 1483228800 },
+ { .time_str = "19700101000000Z", .utime = 0 },
};
struct time_tests_st utc_time_tests[] = {
- {
- .time_str = "190520133237",
- .utime = 1558359157},
- {
- .time_str = "170101000000Z",
- .utime = 1483228800},
+ { .time_str = "190520133237", .utime = 1558359157 },
+ { .time_str = "170101000000Z", .utime = 1483228800 },
};
void doit(void)
@@ -72,8 +62,8 @@ void doit(void)
for (i = 0;
i < sizeof(general_time_tests) / sizeof(general_time_tests[0]);
i++) {
- t = _gnutls_x509_generalTime2gtime(general_time_tests
- [i].time_str);
+ t = _gnutls_x509_generalTime2gtime(
+ general_time_tests[i].time_str);
if (t != general_time_tests[i].utime) {
fprintf(stderr, "%s: Error in GeneralTime conversion\n",
general_time_tests[i].time_str);
@@ -82,7 +72,8 @@ void doit(void)
}
}
- for (i = 0; i < sizeof(utc_time_tests) / sizeof(utc_time_tests[0]); i++) {
+ for (i = 0; i < sizeof(utc_time_tests) / sizeof(utc_time_tests[0]);
+ i++) {
t = _gnutls_utcTime2gtime(utc_time_tests[i].time_str);
if (t != utc_time_tests[i].utime) {
fprintf(stderr, "%s: Error in utcTime conversion\n",
diff --git a/tests/tls-channel-binding.c b/tests/tls-channel-binding.c
index 311e39f8cf..2b81f8c42b 100644
--- a/tests/tls-channel-binding.c
+++ b/tests/tls-channel-binding.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -46,15 +46,14 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static int
-check_binding_data(gnutls_session_t client, gnutls_session_t server,
- int cbtype, const char *cbname, int negative)
+static int check_binding_data(gnutls_session_t client, gnutls_session_t server,
+ int cbtype, const char *cbname, int negative)
{
gnutls_datum_t client_cb = { 0 };
gnutls_datum_t server_cb = { 0 };
- if (gnutls_session_channel_binding(client, cbtype, &client_cb)
- != GNUTLS_E_SUCCESS) {
+ if (gnutls_session_channel_binding(client, cbtype, &client_cb) !=
+ GNUTLS_E_SUCCESS) {
if (negative == 0) {
fail("Cannot get client binding %s\n", cbname);
return 1;
@@ -63,8 +62,8 @@ check_binding_data(gnutls_session_t client, gnutls_session_t server,
fail("Client retrieval of %s was supposed to fail\n", cbname);
return 1;
}
- if (gnutls_session_channel_binding(server, cbtype, &server_cb)
- != GNUTLS_E_SUCCESS) {
+ if (gnutls_session_channel_binding(server, cbtype, &server_cb) !=
+ GNUTLS_E_SUCCESS) {
if (negative == 0) {
fail("Cannot get server binding %s\n", cbname);
return -1;
@@ -78,11 +77,12 @@ check_binding_data(gnutls_session_t client, gnutls_session_t server,
return 0;
if (server_cb.size != client_cb.size && client_cb.size > 0) {
- fail("%s wrong binding data length: %d:%d\n",
- cbname, client_cb.size, server_cb.size);
+ fail("%s wrong binding data length: %d:%d\n", cbname,
+ client_cb.size, server_cb.size);
return 2;
}
- if (gnutls_memcmp(client_cb.data, server_cb.data, client_cb.size) != 0) {
+ if (gnutls_memcmp(client_cb.data, server_cb.data, client_cb.size) !=
+ 0) {
fail("%s wrong binding data content\n", cbname);
return -2;
}
@@ -91,8 +91,8 @@ check_binding_data(gnutls_session_t client, gnutls_session_t server,
return 0;
}
-static int
-serv_psk_func(gnutls_session_t session, const char *user, gnutls_datum_t * pass)
+static int serv_psk_func(gnutls_session_t session, const char *user,
+ gnutls_datum_t *pass)
{
pass->size = 4;
pass->data = gnutls_malloc(pass->size);
@@ -103,9 +103,8 @@ serv_psk_func(gnutls_session_t session, const char *user, gnutls_datum_t * pass)
return 0;
}
-static void
-tls_setup_peers(gnutls_session_t * client, gnutls_session_t * server,
- const char *cprio, const char *sprio, int raw)
+static void tls_setup_peers(gnutls_session_t *client, gnutls_session_t *server,
+ const char *cprio, const char *sprio, int raw)
{
gnutls_certificate_credentials_t clientx509cred;
gnutls_certificate_credentials_t serverx509cred;
@@ -126,11 +125,9 @@ tls_setup_peers(gnutls_session_t * client, gnutls_session_t * server,
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
if (raw)
- gnutls_certificate_set_rawpk_key_mem(serverx509cred,
- &rawpk_public_key1,
- &rawpk_private_key1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0, NULL, 0, 0);
+ gnutls_certificate_set_rawpk_key_mem(
+ serverx509cred, &rawpk_public_key1, &rawpk_private_key1,
+ GNUTLS_X509_FMT_PEM, NULL, 0, NULL, 0, 0);
else
gnutls_certificate_set_x509_key_mem(serverx509cred,
&server_cert, &server_key,
@@ -206,8 +203,7 @@ static void tlsv13_binding(void)
success("testing TLSv1.3 x509 channel binding\n");
- tls_setup_peers(&client, &server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
+ tls_setup_peers(&client, &server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
"NORMAL:+VERS-TLS1.3", 0);
if (gnutls_protocol_get_version(client) != GNUTLS_TLS1_3)
@@ -246,10 +242,11 @@ static void rawv13_binding(void)
success("testing TLSv1.3 RAWPK channel binding\n");
- tls_setup_peers(&client, &server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+CTYPE-ALL",
- "NORMAL:+VERS-TLS1.3:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519:+CTYPE-ALL",
- 1);
+ tls_setup_peers(
+ &client, &server,
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+CTYPE-ALL",
+ "NORMAL:+VERS-TLS1.3:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519:+CTYPE-ALL",
+ 1);
if (gnutls_protocol_get_version(client) != GNUTLS_TLS1_3)
fail("TLS1.3 was not negotiated\n");
@@ -268,8 +265,7 @@ static void rawv13_binding(void)
/* tls-server-end-point testing, undefined for anon and psk */
if (check_binding_data(client, server, GNUTLS_CB_TLS_SERVER_END_POINT,
"tls-server-end-point", 1) == 0)
- success
- ("binding fail: tls-server-end-point invalid for rawpk\n");
+ success("binding fail: tls-server-end-point invalid for rawpk\n");
/* tls-exporter testing, take both sides and compare */
if (check_binding_data(client, server, GNUTLS_CB_TLS_EXPORTER,
@@ -309,8 +305,7 @@ static void pskv13_binding(void)
/* tls-server-end-point testing, undefined for anon and psk */
if (check_binding_data(client, server, GNUTLS_CB_TLS_SERVER_END_POINT,
"tls-server-end-point", 1) == 0)
- success
- ("binding fail: tls-server-end-point invalid for anon\n");
+ success("binding fail: tls-server-end-point invalid for anon\n");
/* tls-exporter testing, take both sides and compare */
if (check_binding_data(client, server, GNUTLS_CB_TLS_EXPORTER,
@@ -390,8 +385,7 @@ static void anon12_binding(void)
/* tls-server-end-point testing, undefined for anon and psk */
if (check_binding_data(client, server, GNUTLS_CB_TLS_SERVER_END_POINT,
"tls-server-end-point", 1) == 0)
- success
- ("binding fail: tls-server-end-point invalid for anon\n");
+ success("binding fail: tls-server-end-point invalid for anon\n");
/* tls-exporter testing, take both sides and compare */
if (check_binding_data(client, server, GNUTLS_CB_TLS_EXPORTER,
@@ -431,8 +425,7 @@ static void pskv12_binding(void)
/* tls-server-end-point testing, undefined for anon and psk */
if (check_binding_data(client, server, GNUTLS_CB_TLS_SERVER_END_POINT,
"tls-server-end-point", 1) == 0)
- success
- ("binding fail: tls-server-end-point invalid for anon\n");
+ success("binding fail: tls-server-end-point invalid for anon\n");
/* tls-exporter testing, take both sides and compare */
if (check_binding_data(client, server, GNUTLS_CB_TLS_EXPORTER,
diff --git a/tests/tls-client-with-seccomp.c b/tests/tls-client-with-seccomp.c
index a51df74c2f..0d04d71ba1 100644
--- a/tests/tls-client-with-seccomp.c
+++ b/tests/tls-client-with-seccomp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -61,7 +61,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -101,8 +101,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -115,8 +114,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -137,7 +136,7 @@ static void client(int fd, const char *prio)
gnutls_strerror(ret));
}
- end:
+end:
close(fd);
@@ -178,9 +177,8 @@ static void server(int fd, const char *prio)
gnutls_certificate_allocate_credentials(&xcred);
- ret = gnutls_certificate_set_x509_key_mem(xcred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ xcred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -198,8 +196,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -212,8 +209,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -248,8 +245,7 @@ static void server(int fd, const char *prio)
success("server: finished\n");
}
-static
-void run(const char *name, const char *prio)
+static void run(const char *name, const char *prio)
{
int fd[2];
int ret;
@@ -291,4 +287,4 @@ void doit(void)
run("tls1.3", "NORMAL:-VERS-ALL:+VERS-TLS1.3");
run("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-crt_type-neg.c b/tests/tls-crt_type-neg.c
index 74be3fcba2..a67905bac3 100644
--- a/tests/tls-crt_type-neg.c
+++ b/tests/tls-crt_type-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the certificate type negotiation mechanism for
@@ -40,8 +40,7 @@ test_case_st tests[] = {
/* Tests with only a single credential set for client/server.
* Tests for X.509 cases.
*/
- {
- /* Default case A
+ { /* Default case A
*
* Priority cli: NORMAL
* Priority srv: NORMAL
@@ -50,15 +49,14 @@ test_case_st tests[] = {
* Handshake: should complete without errors
* Negotiation: cert types should default to X.509
*/
- .name = "Default case A. Creds set (CLI/SRV): None/X509.",
- .client_prio = "NORMAL",
- .server_prio = "NORMAL",
- .set_cli_creds = CRED_EMPTY,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Default case B
+ .name = "Default case A. Creds set (CLI/SRV): None/X509.",
+ .client_prio = "NORMAL",
+ .server_prio = "NORMAL",
+ .set_cli_creds = CRED_EMPTY,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Default case B
*
* Priority: NORMAL
* Cli creds: X.509
@@ -66,16 +64,14 @@ test_case_st tests[] = {
* Handshake: should complete without errors
* Negotiation: cert types should default to X.509
*/
- .name =
- "Default case B. Creds set (CLI/SRV): X509/X509. No cli cert asked.",
- .client_prio = "NORMAL",
- .server_prio = "NORMAL",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Default case C
+ .name = "Default case B. Creds set (CLI/SRV): X509/X509. No cli cert asked.",
+ .client_prio = "NORMAL",
+ .server_prio = "NORMAL",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Default case C
*
* Priority: NORMAL
* Cli creds: X.509
@@ -83,17 +79,15 @@ test_case_st tests[] = {
* Handshake: should complete without errors
* Negotiation: cert types should default to X.509
*/
- .name =
- "Default case C. Creds set (CLI/SRV): X509/X509. Cli cert asked.",
- .client_prio = "NORMAL",
- .server_prio = "NORMAL",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509,
- .request_cli_crt = true},
- {
- /* No server credentials
+ .name = "Default case C. Creds set (CLI/SRV): X509/X509. Cli cert asked.",
+ .client_prio = "NORMAL",
+ .server_prio = "NORMAL",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509,
+ .request_cli_crt = true },
+ { /* No server credentials
*
* Priority: NORMAL
* Cli creds: None
@@ -101,15 +95,14 @@ test_case_st tests[] = {
* Handshake: results in errors
* Negotiation: cert types are not evaluated
*/
- .name = "No server creds. Creds set (CLI/SRV): None/None.",
- .client_prio = "NORMAL",
- .server_prio = "NORMAL",
- .set_cli_creds = CRED_EMPTY,
- .set_srv_creds = CRED_EMPTY,
- .client_err = GNUTLS_E_AGAIN,
- .server_err = GNUTLS_E_NO_CIPHER_SUITES},
- {
- /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509
+ .name = "No server creds. Creds set (CLI/SRV): None/None.",
+ .client_prio = "NORMAL",
+ .server_prio = "NORMAL",
+ .set_cli_creds = CRED_EMPTY,
+ .set_srv_creds = CRED_EMPTY,
+ .client_err = GNUTLS_E_AGAIN,
+ .server_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509
*
* Priority: NORMAL + request x509 for cli and srv
* Cli creds: X.509
@@ -119,16 +112,14 @@ test_case_st tests[] = {
* we advertise with only the cert type defaults. Extensions
* will therefore not be activated.
*/
- .name =
- "Negotiate CLI X.509 + SRV X.509. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-X509:+CTYPE-SRV-X509",
- .server_prio = "NORMAL:+CTYPE-CLI-X509:+CTYPE-SRV-X509",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509, no cli cert asked
+ .name = "Negotiate CLI X.509 + SRV X.509. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-X509:+CTYPE-SRV-X509",
+ .server_prio = "NORMAL:+CTYPE-CLI-X509:+CTYPE-SRV-X509",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509, no cli cert asked
*
* Priority: NORMAL + request x509 for cli
* Cli creds: X.509
@@ -138,15 +129,14 @@ test_case_st tests[] = {
* we advertise with only the cert type defaults. Extensions
* will therefore not be activated.
*/
- .name = "Negotiate CLI X.509. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-X509",
- .server_prio = "NORMAL:+CTYPE-CLI-X509",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509, cli cert asked
+ .name = "Negotiate CLI X.509. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-X509",
+ .server_prio = "NORMAL:+CTYPE-CLI-X509",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509, cli cert asked
*
* Priority: NORMAL + request x509 for cli
* Cli creds: X.509
@@ -156,16 +146,15 @@ test_case_st tests[] = {
* we advertise with only the cert type defaults. Extensions
* will therefore not be activated.
*/
- .name = "Negotiate CLI X.509. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-X509",
- .server_prio = "NORMAL:+CTYPE-CLI-X509",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509,
- .request_cli_crt = true},
- {
- /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509
+ .name = "Negotiate CLI X.509. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-X509",
+ .server_prio = "NORMAL:+CTYPE-CLI-X509",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509,
+ .request_cli_crt = true },
+ { /* Explicit cli/srv ctype negotiation, cli creds x509, srv creds x509
*
* Priority: NORMAL + request x509 for srv
* Cli creds: X.509
@@ -175,15 +164,14 @@ test_case_st tests[] = {
* we advertise with only the cert type defaults. Extensions
* will therefore not be activated.
*/
- .name = "Negotiate SRV X.509. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-SRV-X509",
- .server_prio = "NORMAL:+CTYPE-SRV-X509",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Explicit cli/srv ctype negotiation, all types allowed for CLI, cli creds x509, srv creds x509
+ .name = "Negotiate SRV X.509. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-SRV-X509",
+ .server_prio = "NORMAL:+CTYPE-SRV-X509",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Explicit cli/srv ctype negotiation, all types allowed for CLI, cli creds x509, srv creds x509
*
* Priority: NORMAL + allow all client cert types
* Cli creds: X.509
@@ -192,15 +180,14 @@ test_case_st tests[] = {
* Negotiation: cli X.509 and srv X.509 because
* we only have X.509 credentials set.
*/
- .name = "Negotiate CLI all. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-ALL",
- .server_prio = "NORMAL:+CTYPE-CLI-ALL",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Explicit cli/srv ctype negotiation, all types allowed for SRV, cli creds x509, srv creds x509
+ .name = "Negotiate CLI all. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-ALL",
+ .server_prio = "NORMAL:+CTYPE-CLI-ALL",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Explicit cli/srv ctype negotiation, all types allowed for SRV, cli creds x509, srv creds x509
*
* Priority: NORMAL + allow all server cert types
* Cli creds: X.509
@@ -209,15 +196,14 @@ test_case_st tests[] = {
* Negotiation: cli X.509 and srv X.509 because
* we only have X.509 credentials set.
*/
- .name = "Negotiate SRV all. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-SRV-ALL",
- .server_prio = "NORMAL:+CTYPE-SRV-ALL",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
- {
- /* Explicit cli/srv ctype negotiation, all types allowed for CLI/SRV, cli creds x509, srv creds x509
+ .name = "Negotiate SRV all. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-SRV-ALL",
+ .server_prio = "NORMAL:+CTYPE-SRV-ALL",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
+ { /* Explicit cli/srv ctype negotiation, all types allowed for CLI/SRV, cli creds x509, srv creds x509
*
* Priority: NORMAL + allow all client and server cert types
* Cli creds: X.509
@@ -226,19 +212,18 @@ test_case_st tests[] = {
* Negotiation: cli X.509 and srv X.509 because
* we only have X.509 credentials set.
*/
- .name = "Negotiate CLI/SRV all. Creds set (CLI/SRV): X.509/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
- .server_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_X509},
+ .name = "Negotiate CLI/SRV all. Creds set (CLI/SRV): X.509/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
+ .server_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_X509 },
/* Tests with only a single credential set for client/server.
* Tests for Raw public-key cases.
*/
- {
- /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds Raw PK, Req. cli cert.
+ { /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds Raw PK, Req. cli cert.
*
* Priority: NORMAL + request rawpk for cli and srv
* Cli creds: Raw PK
@@ -247,19 +232,17 @@ test_case_st tests[] = {
* Handshake: should complete without errors
* Negotiation: both parties should have a Raw PK cert negotiated
*/
- .name =
- "Negotiate CLI Raw PK + SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK. Cert req.",
- .client_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .server_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_RAWPK,
- .expected_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_ctype = GNUTLS_CRT_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = true},
- {
- /* Explicit cli/srv ctype negotiation (TLS 1.2), cli creds Raw PK, srv creds Raw PK
+ .name = "Negotiate CLI Raw PK + SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK. Cert req.",
+ .client_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .server_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_RAWPK,
+ .expected_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_ctype = GNUTLS_CRT_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = true },
+ { /* Explicit cli/srv ctype negotiation (TLS 1.2), cli creds Raw PK, srv creds Raw PK
*
* Priority: NORMAL + request rawpk for cli and srv
* Cli creds: Raw PK
@@ -270,24 +253,22 @@ test_case_st tests[] = {
* cert type. The server picks Raw PK but does not send a response
* to the client (under TLS 1.2). The client therefore falls back to default (X.509).
*/
- .name =
- "Negotiate CLI Raw PK + SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
- .client_prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .server_prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_RAWPK,
- .expected_cli_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_cli_srv_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_srv_ctype = GNUTLS_CRT_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = false,
- .cli_srv_may_diverge = true},
- {
- /* Explicit cli/srv ctype negotiation (TLS 1.3), cli creds Raw PK, srv creds Raw PK
+ .name = "Negotiate CLI Raw PK + SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
+ .client_prio =
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .server_prio =
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_RAWPK,
+ .expected_cli_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_cli_srv_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_srv_ctype = GNUTLS_CRT_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = false,
+ .cli_srv_may_diverge = true },
+ { /* Explicit cli/srv ctype negotiation (TLS 1.3), cli creds Raw PK, srv creds Raw PK
*
* Priority: NORMAL + request rawpk for cli and srv
* Cli creds: Raw PK
@@ -299,24 +280,22 @@ test_case_st tests[] = {
* cert is requested. This is necessary for post-handshake authentication
* to work.
*/
- .name =
- "Negotiate CLI Raw PK + SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
- .client_prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .server_prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_RAWPK,
- .expected_cli_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_cli_srv_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_srv_ctype = GNUTLS_CRT_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = false,
- .cli_srv_may_diverge = true},
- {
- /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds Raw PK
+ .name = "Negotiate CLI Raw PK + SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
+ .client_prio =
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .server_prio =
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_RAWPK,
+ .expected_cli_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_cli_srv_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_srv_ctype = GNUTLS_CRT_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = false,
+ .cli_srv_may_diverge = true },
+ { /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds Raw PK
*
* Priority: NORMAL + request rawpk for cli
* Cli creds: Raw PK
@@ -325,17 +304,16 @@ test_case_st tests[] = {
* Handshake: fails because no valid cred (X.509) can be found for the server.
* Negotiation: -
*/
- .name = "Negotiate CLI Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
- .client_prio = "NORMAL:+CTYPE-CLI-RAWPK",
- .server_prio = "NORMAL:+CTYPE-CLI-RAWPK",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .client_err = GNUTLS_E_AGAIN,
- .server_err = GNUTLS_E_NO_CIPHER_SUITES},
- {
- /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds Raw PK, request cli cert.
+ .name = "Negotiate CLI Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
+ .client_prio = "NORMAL:+CTYPE-CLI-RAWPK",
+ .server_prio = "NORMAL:+CTYPE-CLI-RAWPK",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .client_err = GNUTLS_E_AGAIN,
+ .server_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds Raw PK, request cli cert.
*
* Priority: NORMAL + request rawpk for srv
* Cli creds: Raw PK
@@ -345,18 +323,17 @@ test_case_st tests[] = {
* Negotiation: Raw PK will be negotiated for server. Client will
* default to X.509.
*/
- .name = "Negotiate SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
- .client_prio = "NORMAL:+CTYPE-SRV-RAWPK",
- .server_prio = "NORMAL:+CTYPE-SRV-RAWPK",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_RAWPK,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = true},
- {
- /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds X.509, Request cli cert.
+ .name = "Negotiate SRV Raw PK. Creds set (CLI/SRV): RawPK/RawPK.",
+ .client_prio = "NORMAL:+CTYPE-SRV-RAWPK",
+ .server_prio = "NORMAL:+CTYPE-SRV-RAWPK",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_RAWPK,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = true },
+ { /* Explicit cli/srv ctype negotiation, cli creds Raw PK, srv creds X.509, Request cli cert.
*
* Priority: NORMAL + request rawpk for cli and srv
* Cli creds: Raw PK
@@ -366,19 +343,17 @@ test_case_st tests[] = {
* Negotiation: Raw PK will be negotiated for client. Server will
* default to X.509.
*/
- .name =
- "Negotiate CLI and SRV Raw PK. Creds set (CLI/SRV): RawPK/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .server_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_ctype = GNUTLS_CRT_X509,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = true},
- {
- /* All types allowed for CLI, cli creds Raw PK, srv creds X.509
+ .name = "Negotiate CLI and SRV Raw PK. Creds set (CLI/SRV): RawPK/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .server_prio = "NORMAL:+CTYPE-CLI-RAWPK:+CTYPE-SRV-RAWPK",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_ctype = GNUTLS_CRT_X509,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = true },
+ { /* All types allowed for CLI, cli creds Raw PK, srv creds X.509
*
* Priority: NORMAL + allow all client cert types
* Cli creds: Raw PK
@@ -387,18 +362,17 @@ test_case_st tests[] = {
* Negotiation: cli Raw PK and srv X.509 because
* that are the only credentials set.
*/
- .name = "Negotiate CLI all. Creds set (CLI/SRV): Raw PK/X.509.",
- .client_prio = "NORMAL:+CTYPE-CLI-ALL",
- .server_prio = "NORMAL:+CTYPE-CLI-ALL",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_X509,
- .expected_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_ctype = GNUTLS_CRT_X509,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = true},
- {
- /* All types allowed for SRV, cli creds x509, srv creds Raw PK
+ .name = "Negotiate CLI all. Creds set (CLI/SRV): Raw PK/X.509.",
+ .client_prio = "NORMAL:+CTYPE-CLI-ALL",
+ .server_prio = "NORMAL:+CTYPE-CLI-ALL",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_X509,
+ .expected_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_ctype = GNUTLS_CRT_X509,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = true },
+ { /* All types allowed for SRV, cli creds x509, srv creds Raw PK
*
* Priority: NORMAL + allow all server cert types
* Cli creds: X.509
@@ -407,18 +381,17 @@ test_case_st tests[] = {
* Negotiation: cli X.509 and srv Raw PK because
* that are the only credentials set.
*/
- .name = "Negotiate SRV all. Creds set (CLI/SRV): X.509/Raw PK.",
- .client_prio = "NORMAL:+CTYPE-SRV-ALL",
- .server_prio = "NORMAL:+CTYPE-SRV-ALL",
- .set_cli_creds = CRED_X509,
- .set_srv_creds = CRED_RAWPK,
- .expected_cli_ctype = GNUTLS_CRT_X509,
- .expected_srv_ctype = GNUTLS_CRT_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = true},
- {
- /* All types allowed for CLI/SRV, cli creds Raw PK, srv creds Raw PK
+ .name = "Negotiate SRV all. Creds set (CLI/SRV): X.509/Raw PK.",
+ .client_prio = "NORMAL:+CTYPE-SRV-ALL",
+ .server_prio = "NORMAL:+CTYPE-SRV-ALL",
+ .set_cli_creds = CRED_X509,
+ .set_srv_creds = CRED_RAWPK,
+ .expected_cli_ctype = GNUTLS_CRT_X509,
+ .expected_srv_ctype = GNUTLS_CRT_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = true },
+ { /* All types allowed for CLI/SRV, cli creds Raw PK, srv creds Raw PK
*
* Priority: NORMAL + allow all client and server cert types
* Cli creds: Raw PK
@@ -427,16 +400,16 @@ test_case_st tests[] = {
* Negotiation: cli Raw PK and srv Raw PK because
* that are the only credentials set.
*/
- .name = "Negotiate CLI/SRV all. Creds set (CLI/SRV): Raw PK/Raw PK.",
- .client_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
- .server_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
- .set_cli_creds = CRED_RAWPK,
- .set_srv_creds = CRED_RAWPK,
- .expected_cli_ctype = GNUTLS_CRT_RAWPK,
- .expected_srv_ctype = GNUTLS_CRT_RAWPK,
- .init_flags_cli = GNUTLS_ENABLE_RAWPK,
- .init_flags_srv = GNUTLS_ENABLE_RAWPK,
- .request_cli_crt = true},
+ .name = "Negotiate CLI/SRV all. Creds set (CLI/SRV): Raw PK/Raw PK.",
+ .client_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
+ .server_prio = "NORMAL:+CTYPE-CLI-ALL:+CTYPE-SRV-ALL",
+ .set_cli_creds = CRED_RAWPK,
+ .set_srv_creds = CRED_RAWPK,
+ .expected_cli_ctype = GNUTLS_CRT_RAWPK,
+ .expected_srv_ctype = GNUTLS_CRT_RAWPK,
+ .init_flags_cli = GNUTLS_ENABLE_RAWPK,
+ .init_flags_srv = GNUTLS_ENABLE_RAWPK,
+ .request_cli_crt = true },
};
diff --git a/tests/tls-etm.c b/tests/tls-etm.c
index 1e3c054a4e..0b6719345c 100644
--- a/tests/tls-etm.c
+++ b/tests/tls-etm.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
static void terminate(void);
@@ -68,7 +68,7 @@ static void client_log_func(int level, const char *str)
/* A very basic TLS client, with anonymous authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio, unsigned etm)
{
@@ -107,8 +107,7 @@ static void client(int fd, const char *prio, unsigned etm)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -121,8 +120,8 @@ static void client(int fd, const char *prio, unsigned etm)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (etm != 0 && gnutls_session_etm_status(session) == 0) {
fail("client: EtM was not negotiated with %s!\n", prio);
@@ -132,13 +131,12 @@ static void client(int fd, const char *prio, unsigned etm)
exit(1);
}
- if (etm != 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
+ if (etm != 0 &&
+ ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
fail("client: EtM was not negotiated with %s!\n", prio);
exit(1);
- } else if (etm == 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM)
- != 0)) {
+ } else if (etm == 0 && ((gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_ETM) != 0)) {
fail("client: EtM was negotiated with %s!\n", prio);
exit(1);
}
@@ -162,7 +160,7 @@ static void client(int fd, const char *prio, unsigned etm)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -240,13 +238,12 @@ static void server(int fd, const char *prio, unsigned etm)
exit(1);
}
- if (etm != 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
+ if (etm != 0 &&
+ ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
fail("server: EtM was not negotiated with %s!\n", prio);
exit(1);
- } else if (etm == 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM)
- != 0)) {
+ } else if (etm == 0 && ((gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_ETM) != 0)) {
fail("server: EtM was negotiated with %s!\n", prio);
exit(1);
}
@@ -256,13 +253,13 @@ static void server(int fd, const char *prio, unsigned etm)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -271,8 +268,7 @@ static void server(int fd, const char *prio, unsigned etm)
terminate();
}
to_send++;
- }
- while (to_send < 64);
+ } while (to_send < 64);
to_send = -1;
/* do not wait for the peer to close the connection.
@@ -321,9 +317,12 @@ static void start(const char *prio, unsigned etm)
}
}
-# define AES_CBC "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -342,4 +341,4 @@ void doit(void)
start(AES_GCM, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-ext-not-in-dtls.c b/tests/tls-ext-not-in-dtls.c
index 54cfb5ff00..2e94a925de 100644
--- a/tests/tls-ext-not-in-dtls.c
+++ b/tests/tls-ext-not-in-dtls.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,21 +35,21 @@ int main(void)
#else
-# include <stdint.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <string.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <stdint.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <string.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
enum {
TEST_DEF_HANDHAKE,
@@ -84,8 +84,8 @@ static int ext_recv(gnutls_session_t session, const unsigned char *buf,
return 0;
}
-# define TLS_EXT_IMPL_DTLS 0xfeee
-# define TLS_EXT_EXPL_TLS 0xfeea
+#define TLS_EXT_IMPL_DTLS 0xfeee
+#define TLS_EXT_EXPL_TLS 0xfeea
static void client(int fd, int type)
{
@@ -102,27 +102,30 @@ static void client(int fd, int type)
assert(gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM) >= 0);
if (type == TEST_CUSTOM_EXT) {
- assert(gnutls_session_ext_register
- (session, "implicit-dtls", TLS_EXT_IMPL_DTLS,
- GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL, NULL,
- GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO) >= 0);
- assert(gnutls_session_ext_register
- (session, "explicit-tls", TLS_EXT_EXPL_TLS,
- GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL, NULL,
- GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO |
- GNUTLS_EXT_FLAG_TLS) >= 0);
+ assert(gnutls_session_ext_register(
+ session, "implicit-dtls", TLS_EXT_IMPL_DTLS,
+ GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL,
+ NULL,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO) >=
+ 0);
+ assert(gnutls_session_ext_register(
+ session, "explicit-tls", TLS_EXT_EXPL_TLS,
+ GNUTLS_EXT_TLS, ext_recv, ext_send, NULL, NULL,
+ NULL,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO |
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO |
+ GNUTLS_EXT_FLAG_TLS) >= 0);
}
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct
- (session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -130,8 +133,7 @@ static void client(int fd, int type)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0)
fail("handshake: %s\n", gnutls_strerror(ret));
@@ -145,8 +147,8 @@ static void client(int fd, int type)
gnutls_global_deinit();
}
-# define TLS_EXT_KEY_SHARE 51
-# define TLS_EXT_POST_HANDSHAKE 49
+#define TLS_EXT_KEY_SHARE 51
+#define TLS_EXT_POST_HANDSHAKE 49
struct ext_ctx_st {
int extno;
@@ -164,7 +166,7 @@ static int parse_ext(void *ctx, unsigned tls_id, const unsigned char *data,
return 0;
}
-static unsigned find_client_extension(const gnutls_datum_t * msg, int extno)
+static unsigned find_client_extension(const gnutls_datum_t *msg, int extno)
{
int ret;
struct ext_ctx_st s;
@@ -172,9 +174,8 @@ static unsigned find_client_extension(const gnutls_datum_t * msg, int extno)
memset(&s, 0, sizeof(s));
s.extno = extno;
- ret =
- gnutls_ext_raw_parse(&s, parse_ext, msg,
- GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO);
+ ret = gnutls_ext_raw_parse(&s, parse_ext, msg,
+ GNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO);
assert(ret >= 0);
if (s.found)
@@ -185,7 +186,7 @@ static unsigned find_client_extension(const gnutls_datum_t * msg, int extno)
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int *type;
@@ -226,19 +227,19 @@ static void server(int fd, int type)
&server_key,
GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_init
- (&session,
- GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH | GNUTLS_DATAGRAM) >=
- 0);
+ assert(gnutls_init(&session, GNUTLS_SERVER |
+ GNUTLS_POST_HANDSHAKE_AUTH |
+ GNUTLS_DATAGRAM) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_handshake_set_hook_function(session, GNUTLS_HANDSHAKE_ANY,
GNUTLS_HOOK_BOTH, hellos_callback);
gnutls_session_set_ptr(session, &type);
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -267,8 +268,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *name, int type)
+static void start(const char *name, int type)
{
int fd[2];
int ret;
@@ -300,7 +300,6 @@ void start(const char *name, int type)
client(fd[1], type);
exit(0);
}
-
}
void doit(void)
@@ -309,4 +308,4 @@ void doit(void)
start("check registered extensions", TEST_CUSTOM_EXT);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-ext-register.c b/tests/tls-ext-register.c
index 5fdfde23fb..950de1aa80 100644
--- a/tests/tls-ext-register.c
+++ b/tests/tls-ext-register.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,18 +38,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# include <signal.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#include <signal.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
-# include "utils.h"
+#include "utils.h"
/* A very basic TLS client, with extension
*/
@@ -61,17 +61,14 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define TLSEXT_TYPE_SAMPLE 0xF1
+#define TLSEXT_TYPE_SAMPLE 0xF1
static int TLSEXT_TYPE_client_sent = 0;
static int TLSEXT_TYPE_client_received = 0;
static int TLSEXT_TYPE_server_sent = 0;
static int TLSEXT_TYPE_server_received = 0;
-static const unsigned char ext_data[] = {
- 0xFE,
- 0xED
-};
+static const unsigned char ext_data[] = { 0xFE, 0xED };
static int ext_recv_client_params(gnutls_session_t session,
const unsigned char *buf, size_t buflen)
@@ -86,7 +83,7 @@ static int ext_recv_client_params(gnutls_session_t session,
gnutls_ext_set_data(session, TLSEXT_TYPE_SAMPLE, session);
- return 0; //Success
+ return 0; //Success
}
static int ext_send_client_params(gnutls_session_t session,
@@ -108,7 +105,7 @@ static int ext_recv_server_params(gnutls_session_t session,
TLSEXT_TYPE_server_received = 1;
- return 0; //Success
+ return 0; //Success
}
static int ext_send_server_params(gnutls_session_t session,
@@ -133,10 +130,9 @@ static void client(int sd, const char *prio)
side = "client";
/* extensions are registered globally */
- ret =
- gnutls_ext_register("ext_client", TLSEXT_TYPE_SAMPLE,
- GNUTLS_EXT_TLS, ext_recv_client_params,
- ext_send_client_params, NULL, NULL, NULL);
+ ret = gnutls_ext_register("ext_client", TLSEXT_TYPE_SAMPLE,
+ GNUTLS_EXT_TLS, ext_recv_client_params,
+ ext_send_client_params, NULL, NULL, NULL);
assert(ret >= 0);
gnutls_certificate_allocate_credentials(&clientx509cred);
@@ -181,7 +177,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -193,45 +189,42 @@ static void client(int sd, const char *prio)
*/
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
static void server(int sd, const char *prio)
{
@@ -248,9 +241,8 @@ static void server(int sd, const char *prio)
side = "server";
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
@@ -258,10 +250,10 @@ static void server(int sd, const char *prio)
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- assert(gnutls_ext_register
- ("ext_server", TLSEXT_TYPE_SAMPLE, GNUTLS_EXT_TLS,
- ext_recv_server_params, ext_send_server_params, NULL, NULL,
- NULL) >= 0);
+ assert(gnutls_ext_register("ext_server", TLSEXT_TYPE_SAMPLE,
+ GNUTLS_EXT_TLS, ext_recv_server_params,
+ ext_send_server_params, NULL, NULL,
+ NULL) >= 0);
gnutls_transport_set_int(session, sd);
gnutls_handshake_set_timeout(session, get_timeout());
@@ -293,8 +285,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
pid_t child1, child2;
int sockets[2];
@@ -360,19 +351,16 @@ void doit(void)
/* check whether we can crash the library by adding many extensions */
for (i = 0; i < 64; i++) {
- ret =
- gnutls_ext_register("ext_serverxx",
- TLSEXT_TYPE_SAMPLE + i + 1,
- GNUTLS_EXT_TLS, ext_recv_server_params,
- ext_send_server_params, NULL, NULL,
- NULL);
+ ret = gnutls_ext_register(
+ "ext_serverxx", TLSEXT_TYPE_SAMPLE + i + 1,
+ GNUTLS_EXT_TLS, ext_recv_server_params,
+ ext_send_server_params, NULL, NULL, NULL);
if (ret < 0) {
- success
- ("failed registering extension no %d (expected)\n",
- i + 1);
+ success("failed registering extension no %d (expected)\n",
+ i + 1);
break;
}
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-force-ems.c b/tests/tls-force-ems.c
index 89b5acf62e..06bebe25e5 100644
--- a/tests/tls-force-ems.c
+++ b/tests/tls-force-ems.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,8 +41,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static void
-try(const char *name, const char *sprio, const char *cprio, int serr, int cerr)
+static void try(const char *name, const char *sprio, const char *cprio,
+ int serr, int cerr)
{
int sret, cret;
gnutls_certificate_credentials_t scred, ccred;
@@ -52,14 +52,14 @@ try(const char *name, const char *sprio, const char *cprio, int serr, int cerr)
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (scred, &server_ca3_localhost_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ scred, &server_ca3_localhost_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_certificate_allocate_credentials(&ccred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
diff --git a/tests/tls-force-etm.c b/tests/tls-force-etm.c
index d7509b6edc..67be1934fb 100644
--- a/tests/tls-force-etm.c
+++ b/tests/tls-force-etm.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
/* This program tests whether forced EtM is negotiated as expected.
*/
@@ -63,7 +63,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio, unsigned etm, int eret)
{
@@ -101,12 +101,12 @@ static void client(int fd, const char *prio, unsigned etm, int eret)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (eret < 0) {
if (eret != ret) {
- fail("client: Handshake failed with unexpected error: %s\n", gnutls_strerror(ret));
+ fail("client: Handshake failed with unexpected error: %s\n",
+ gnutls_strerror(ret));
}
goto end;
}
@@ -120,8 +120,8 @@ static void client(int fd, const char *prio, unsigned etm, int eret)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (etm != 0 && gnutls_session_etm_status(session) == 0) {
fail("client: EtM was not negotiated with %s!\n", prio);
@@ -131,13 +131,12 @@ static void client(int fd, const char *prio, unsigned etm, int eret)
exit(1);
}
- if (etm != 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
+ if (etm != 0 &&
+ ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
fail("client: EtM was not negotiated with %s!\n", prio);
exit(1);
- } else if (etm == 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM)
- != 0)) {
+ } else if (etm == 0 && ((gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_ETM) != 0)) {
fail("client: EtM was negotiated with %s!\n", prio);
exit(1);
}
@@ -161,7 +160,7 @@ static void client(int fd, const char *prio, unsigned etm, int eret)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
@@ -217,7 +216,8 @@ static void server(int fd, const char *prio, unsigned etm, int eret)
if (eret < 0) {
if (eret != -1 && eret != ret) {
- fail("server: Handshake failed with unexpected error: %s\n", gnutls_strerror(ret));
+ fail("server: Handshake failed with unexpected error: %s\n",
+ gnutls_strerror(ret));
}
goto end;
}
@@ -237,13 +237,12 @@ static void server(int fd, const char *prio, unsigned etm, int eret)
exit(1);
}
- if (etm != 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
+ if (etm != 0 &&
+ ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM) == 0)) {
fail("server: EtM was not negotiated with %s!\n", prio);
exit(1);
- } else if (etm == 0
- && ((gnutls_session_get_flags(session) & GNUTLS_SFLAGS_ETM)
- != 0)) {
+ } else if (etm == 0 && ((gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_ETM) != 0)) {
fail("server: EtM was negotiated with %s!\n", prio);
exit(1);
}
@@ -253,13 +252,13 @@ static void server(int fd, const char *prio, unsigned etm, int eret)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -267,14 +266,13 @@ static void server(int fd, const char *prio, unsigned etm, int eret)
gnutls_strerror(ret));
}
to_send++;
- }
- while (to_send < 64);
+ } while (to_send < 64);
to_send = -1;
/* do not wait for the peer to close the connection.
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(fd);
gnutls_deinit(session);
@@ -329,11 +327,15 @@ static void start(struct test_st *test)
}
}
-# define AES_CBC "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_SHA256 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_GCM "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC \
+ "NONE:+VERS-TLS1.0:-CIPHER-ALL:+AES-128-CBC:+SHA1:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_SHA256 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA256:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_GCM \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
-# define AES_CBC_TLS12 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC_TLS12 \
+ "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL"
static void ch_handler(int sig)
{
@@ -341,40 +343,34 @@ static void ch_handler(int sig)
}
static struct test_st tests[] = {
- {
- .name = "aes-cbc-hmac-sha1 with force etm",
- .server_prio = AES_CBC ":%FORCE_ETM",
- .client_prio = AES_CBC ":%FORCE_ETM",
- .etm = 1},
- {
- .name = "aes-cbc-hmac-sha256 with force etm",
- .server_prio = AES_CBC_SHA256 ":%FORCE_ETM",
- .client_prio = AES_CBC_SHA256 ":%FORCE_ETM",
- .etm = 1},
- {
- .name = "server aes-cbc-hmac-sha1 with force etm, gcm fallback",
- .server_prio = AES_CBC_TLS12 ":+AES-128-GCM:%FORCE_ETM",
- .client_prio = AES_CBC_TLS12 ":+AES-128-GCM:%NO_ETM",
- .etm = 0},
- {
- .name = "aes-gcm with force etm",
- .server_prio = AES_GCM ":%FORCE_ETM",
- .client_prio = AES_GCM ":%FORCE_ETM",
- .etm = 0},
- {
- .name = "server aes-cbc-hmac-sha1 with force etm failure",
- .server_prio = AES_CBC ":%FORCE_ETM",
- .client_prio = AES_CBC ":%NO_ETM",
- .etm = 0,
- .client_err = GNUTLS_E_PREMATURE_TERMINATION,
- .server_err = GNUTLS_E_NO_CIPHER_SUITES},
- {
- .name = "client aes-cbc-hmac-sha1 with force etm failure",
- .server_prio = AES_CBC ":%NO_ETM",
- .client_prio = AES_CBC ":%FORCE_ETM",
- .etm = 0,
- .client_err = GNUTLS_E_UNWANTED_ALGORITHM,
- .server_err = -1}
+ { .name = "aes-cbc-hmac-sha1 with force etm",
+ .server_prio = AES_CBC ":%FORCE_ETM",
+ .client_prio = AES_CBC ":%FORCE_ETM",
+ .etm = 1 },
+ { .name = "aes-cbc-hmac-sha256 with force etm",
+ .server_prio = AES_CBC_SHA256 ":%FORCE_ETM",
+ .client_prio = AES_CBC_SHA256 ":%FORCE_ETM",
+ .etm = 1 },
+ { .name = "server aes-cbc-hmac-sha1 with force etm, gcm fallback",
+ .server_prio = AES_CBC_TLS12 ":+AES-128-GCM:%FORCE_ETM",
+ .client_prio = AES_CBC_TLS12 ":+AES-128-GCM:%NO_ETM",
+ .etm = 0 },
+ { .name = "aes-gcm with force etm",
+ .server_prio = AES_GCM ":%FORCE_ETM",
+ .client_prio = AES_GCM ":%FORCE_ETM",
+ .etm = 0 },
+ { .name = "server aes-cbc-hmac-sha1 with force etm failure",
+ .server_prio = AES_CBC ":%FORCE_ETM",
+ .client_prio = AES_CBC ":%NO_ETM",
+ .etm = 0,
+ .client_err = GNUTLS_E_PREMATURE_TERMINATION,
+ .server_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { .name = "client aes-cbc-hmac-sha1 with force etm failure",
+ .server_prio = AES_CBC ":%NO_ETM",
+ .client_prio = AES_CBC ":%FORCE_ETM",
+ .etm = 0,
+ .client_err = GNUTLS_E_UNWANTED_ALGORITHM,
+ .server_err = -1 }
};
void doit(void)
@@ -386,4 +382,4 @@ void doit(void)
start(&tests[i]);
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-neg-ext-key.c b/tests/tls-neg-ext-key.c
index 2bc5607df2..2b1ee93585 100644
--- a/tests/tls-neg-ext-key.c
+++ b/tests/tls-neg-ext-key.c
@@ -22,7 +22,7 @@
/* This tests TLS negotiation using the gnutls_privkey_import_ext2() APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -50,37 +50,31 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha1_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t sha256_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
- "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8\x3b\x2a\xc5\xb9\xe2\x9e"
+ "\x1b\x16\x1e\x5c\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b\x98\x24",
32
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
struct key_cb_data {
- gnutls_privkey_t rkey; /* the real thing */
+ gnutls_privkey_t rkey; /* the real thing */
};
-static
-int key_cb_sign_func(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * data, gnutls_datum_t * signature)
+static int key_cb_sign_func(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
struct key_cb_data *p = userdata;
- return gnutls_privkey_sign_hash(p->rkey, 0,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data,
- signature);
+ return gnutls_privkey_sign_hash(
+ p->rkey, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data, signature);
}
static void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
@@ -90,11 +84,10 @@ static void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
free(userdata);
}
-#define testfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
static gnutls_privkey_t load_virt_privkey(const char *name,
- const gnutls_datum_t * txtkey,
+ const gnutls_datum_t *txtkey,
gnutls_pk_algorithm_t pk, int exp_ret)
{
gnutls_privkey_t privkey;
@@ -114,16 +107,15 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
if (ret < 0)
testfail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
testfail("gnutls_privkey_import\n");
- ret =
- gnutls_privkey_import_ext2(privkey, pk, userdata, key_cb_sign_func,
- NULL, key_cb_deinit_func,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_ext2(privkey, pk, userdata,
+ key_cb_sign_func, NULL,
+ key_cb_deinit_func,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
if (ret == exp_ret) {
gnutls_privkey_deinit(userdata->rkey);
@@ -138,13 +130,12 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
return privkey;
}
-static
-void try_with_key(const char *name, const char *client_prio,
- gnutls_kx_algorithm_t client_kx,
- gnutls_sign_algorithm_t server_sign_algo,
- gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- gnutls_privkey_t key, int exp_serv_err)
+static void try_with_key(const char *name, const char *client_prio,
+ gnutls_kx_algorithm_t client_kx,
+ gnutls_sign_algorithm_t server_sign_algo,
+ gnutls_sign_algorithm_t client_sign_algo,
+ const gnutls_datum_t *serv_cert, gnutls_privkey_t key,
+ int exp_serv_err)
{
int ret;
gnutls_pcert_st pcert_list[4];
@@ -186,9 +177,10 @@ void try_with_key(const char *name, const char *client_prio,
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, s_xcred);
- assert(gnutls_priority_set_direct(server,
- "NORMAL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server,
+ "NORMAL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0:+ANON-ECDH:+ANON-DH:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519",
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -232,10 +224,10 @@ void try_with_key(const char *name, const char *client_prio,
}
if (gnutls_kx_get(client) != client_kx) {
- testfail
- ("%s: got unexpected key exchange algorithm: %s (expected %s)\n",
- name, gnutls_kx_get_name(gnutls_kx_get(client)),
- gnutls_kx_get_name(client_kx));
+ testfail(
+ "%s: got unexpected key exchange algorithm: %s (expected %s)\n",
+ name, gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(client_kx));
exit(1);
}
@@ -244,33 +236,33 @@ void try_with_key(const char *name, const char *client_prio,
if (version >= GNUTLS_TLS1_2) {
ret = gnutls_sign_algorithm_get(server);
if (ret != (int)server_sign_algo && server_sign_algo != 0) {
- testfail
- ("%s: got unexpected server signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(server);
if (ret != (int)client_sign_algo && client_sign_algo != 0) {
- testfail
- ("%s: got unexpected client signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get(client);
if (ret != (int)server_sign_algo && server_sign_algo != 0) {
- testfail
- ("%s: cl: got unexpected server signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: cl: got unexpected server signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(client);
if (ret != (int)client_sign_algo && client_sign_algo != 0) {
- testfail
- ("%s: cl: got unexpected client signature algorithm: %d/%s\n",
- name, ret, gnutls_sign_get_name(ret));
+ testfail(
+ "%s: cl: got unexpected client signature algorithm: %d/%s\n",
+ name, ret, gnutls_sign_get_name(ret));
exit(1);
}
}
@@ -278,7 +270,7 @@ void try_with_key(const char *name, const char *client_prio,
gnutls_bye(client, GNUTLS_SHUT_RDWR);
gnutls_bye(server, GNUTLS_SHUT_RDWR);
- cleanup:
+cleanup:
gnutls_deinit(client);
gnutls_deinit(server);
@@ -298,64 +290,58 @@ typedef struct test_st {
} test_st;
static const test_st tests[] = {
- {.name = "TLS1.2 ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .exp_kx = GNUTLS_KX_ECDHE_ECDSA},
- {.name = "TLS1.3 ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.1:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "rsa-sign key with rsa-pss sigs prioritized",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.1:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384:+SIGN-RSA-PSS-RSAE-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "TLS 1.2 rsa-pss-sign key",
- .pk = GNUTLS_PK_RSA_PSS,
- .prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.1:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_rsa_pss2_cert,
- .key = &server_ca3_rsa_pss2_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_key_err = GNUTLS_E_INVALID_REQUEST},
- {.name = "TLS 1.3 rsa-pss-sign key",
- .pk = GNUTLS_PK_RSA_PSS,
- .prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_rsa_pss2_cert,
- .key = &server_ca3_rsa_pss2_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_key_err = GNUTLS_E_INVALID_REQUEST},
- {.name = "rsa-pss cert, rsa-sign key, no rsa-pss-rsae sigs", /* we expect the server to refuse negotiating */
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES},
- {.name = "ed25519 cert, ed25519 key", /* we expect the server to refuse negotiating */
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA",
- .cert = &server_ca3_eddsa_cert,
- .key = &server_ca3_eddsa_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_key_err = GNUTLS_E_INVALID_REQUEST}
+ { .name = "TLS1.2 ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .exp_kx = GNUTLS_KX_ECDHE_ECDSA },
+ { .name = "TLS1.3 ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.1:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "rsa-sign key with rsa-pss sigs prioritized",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.1:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384:+SIGN-RSA-PSS-RSAE-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "TLS 1.2 rsa-pss-sign key",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.1:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_rsa_pss2_cert,
+ .key = &server_ca3_rsa_pss2_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_key_err = GNUTLS_E_INVALID_REQUEST },
+ { .name = "TLS 1.3 rsa-pss-sign key",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_rsa_pss2_cert,
+ .key = &server_ca3_rsa_pss2_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_key_err = GNUTLS_E_INVALID_REQUEST },
+ { .name = "rsa-pss cert, rsa-sign key, no rsa-pss-rsae sigs", /* we expect the server to refuse negotiating */
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { .name = "ed25519 cert, ed25519 key", /* we expect the server to refuse negotiating */
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA",
+ .cert = &server_ca3_eddsa_cert,
+ .key = &server_ca3_eddsa_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_key_err = GNUTLS_E_INVALID_REQUEST }
};
void doit(void)
@@ -372,16 +358,14 @@ void doit(void)
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
success("checking: %s\n", tests[i].name);
- privkey =
- load_virt_privkey(tests[i].name, tests[i].key, tests[i].pk,
- tests[i].exp_key_err);
+ privkey = load_virt_privkey(tests[i].name, tests[i].key,
+ tests[i].pk, tests[i].exp_key_err);
if (privkey == NULL && tests[i].exp_key_err < 0)
continue;
assert(privkey != 0);
- try_with_key(tests[i].name, tests[i].prio,
- tests[i].exp_kx, 0, 0,
- tests[i].cert, privkey, tests[i].exp_serv_err);
+ try_with_key(tests[i].name, tests[i].prio, tests[i].exp_kx, 0,
+ 0, tests[i].cert, privkey, tests[i].exp_serv_err);
}
gnutls_global_deinit();
diff --git a/tests/tls-neg-ext4-key.c b/tests/tls-neg-ext4-key.c
index 04218777ea..004d3e39f2 100644
--- a/tests/tls-neg-ext4-key.c
+++ b/tests/tls-neg-ext4-key.c
@@ -22,7 +22,7 @@
/* This tests TLS negotiation using the gnutls_privkey_import_ext2() APIs */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,9 +30,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -48,13 +48,10 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "<%d> %s", level, str);
}
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
struct key_cb_data {
- gnutls_privkey_t rkey; /* the real thing */
+ gnutls_privkey_t rkey; /* the real thing */
unsigned pk;
unsigned sig;
unsigned bits;
@@ -81,11 +78,10 @@ static int key_cb_info_func(gnutls_privkey_t key, unsigned int flags,
return -1;
}
-static
-int key_cb_sign_data_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
- void *userdata, unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature)
+static int key_cb_sign_data_func(gnutls_privkey_t key,
+ gnutls_sign_algorithm_t sig, void *userdata,
+ unsigned int flags, const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
struct key_cb_data *p = userdata;
@@ -95,20 +91,19 @@ int key_cb_sign_data_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
return gnutls_privkey_sign_data2(p->rkey, sig, 0, data, signature);
}
-static
-int key_cb_sign_hash_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
- void *userdata, unsigned int flags,
- const gnutls_datum_t * data,
- gnutls_datum_t * signature)
+static int key_cb_sign_hash_func(gnutls_privkey_t key,
+ gnutls_sign_algorithm_t sig, void *userdata,
+ unsigned int flags, const gnutls_datum_t *data,
+ gnutls_datum_t *signature)
{
struct key_cb_data *p = userdata;
if (sig == GNUTLS_SIGN_RSA_RAW) {
if (debug)
fprintf(stderr, "signing digestinfo with: raw RSA\n");
- return gnutls_privkey_sign_hash(p->rkey, 0,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- data, signature);
+ return gnutls_privkey_sign_hash(
+ p->rkey, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, data,
+ signature);
} else {
if (debug)
fprintf(stderr, "signing hash with: %s\n",
@@ -118,10 +113,9 @@ int key_cb_sign_hash_func(gnutls_privkey_t key, gnutls_sign_algorithm_t sig,
}
}
-static
-int key_cb_decrypt_func(gnutls_privkey_t key, void *userdata,
- const gnutls_datum_t * ciphertext,
- gnutls_datum_t * plaintext)
+static int key_cb_decrypt_func(gnutls_privkey_t key, void *userdata,
+ const gnutls_datum_t *ciphertext,
+ gnutls_datum_t *plaintext)
{
struct key_cb_data *p = userdata;
@@ -135,11 +129,10 @@ static void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
free(userdata);
}
-#define testfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
static gnutls_privkey_t load_virt_privkey(const char *name,
- const gnutls_datum_t * txtkey,
+ const gnutls_datum_t *txtkey,
gnutls_pk_algorithm_t pk,
gnutls_sign_algorithm_t sig,
int exp_ret)
@@ -161,9 +154,8 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
if (ret < 0)
testfail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_privkey_import_x509_raw(userdata->rkey, txtkey,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
testfail("gnutls_privkey_import\n");
@@ -172,12 +164,10 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
userdata->pk = pk;
userdata->sig = sig;
- ret =
- gnutls_privkey_import_ext4(privkey, userdata, key_cb_sign_data_func,
- key_cb_sign_hash_func,
- key_cb_decrypt_func, key_cb_deinit_func,
- key_cb_info_func,
- GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
+ ret = gnutls_privkey_import_ext4(
+ privkey, userdata, key_cb_sign_data_func, key_cb_sign_hash_func,
+ key_cb_decrypt_func, key_cb_deinit_func, key_cb_info_func,
+ GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE);
if (ret < 0) {
if (ret == exp_ret) {
gnutls_privkey_deinit(userdata->rkey);
@@ -192,13 +182,12 @@ static gnutls_privkey_t load_virt_privkey(const char *name,
return privkey;
}
-static
-void try_with_key(const char *name, const char *client_prio,
- gnutls_kx_algorithm_t client_kx,
- gnutls_sign_algorithm_t server_sign_algo,
- gnutls_sign_algorithm_t client_sign_algo,
- const gnutls_datum_t * serv_cert,
- gnutls_privkey_t key, int exp_serv_err)
+static void try_with_key(const char *name, const char *client_prio,
+ gnutls_kx_algorithm_t client_kx,
+ gnutls_sign_algorithm_t server_sign_algo,
+ gnutls_sign_algorithm_t client_sign_algo,
+ const gnutls_datum_t *serv_cert, gnutls_privkey_t key,
+ int exp_serv_err)
{
int ret;
gnutls_pcert_st pcert_list[4];
@@ -284,10 +273,10 @@ void try_with_key(const char *name, const char *client_prio,
}
if (gnutls_kx_get(client) != client_kx) {
- testfail
- ("got unexpected key exchange algorithm: %s (expected %s)\n",
- gnutls_kx_get_name(gnutls_kx_get(client)),
- gnutls_kx_get_name(client_kx));
+ testfail(
+ "got unexpected key exchange algorithm: %s (expected %s)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(client_kx));
exit(1);
}
@@ -296,33 +285,33 @@ void try_with_key(const char *name, const char *client_prio,
if (version >= GNUTLS_TLS1_2) {
ret = gnutls_sign_algorithm_get(server);
if (ret != (int)server_sign_algo && server_sign_algo != 0) {
- testfail
- ("got unexpected server signature algorithm: %d/%s\n",
- ret, gnutls_sign_get_name(ret));
+ testfail(
+ "got unexpected server signature algorithm: %d/%s\n",
+ ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(server);
if (ret != (int)client_sign_algo && client_sign_algo != 0) {
- testfail
- ("got unexpected client signature algorithm: %d/%s\n",
- ret, gnutls_sign_get_name(ret));
+ testfail(
+ "got unexpected client signature algorithm: %d/%s\n",
+ ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get(client);
if (ret != (int)server_sign_algo && server_sign_algo != 0) {
- testfail
- ("cl: got unexpected server signature algorithm: %d/%s\n",
- ret, gnutls_sign_get_name(ret));
+ testfail(
+ "cl: got unexpected server signature algorithm: %d/%s\n",
+ ret, gnutls_sign_get_name(ret));
exit(1);
}
ret = gnutls_sign_algorithm_get_client(client);
if (ret != (int)client_sign_algo && client_sign_algo != 0) {
- testfail
- ("cl: got unexpected client signature algorithm: %d/%s\n",
- ret, gnutls_sign_get_name(ret));
+ testfail(
+ "cl: got unexpected client signature algorithm: %d/%s\n",
+ ret, gnutls_sign_get_name(ret));
exit(1);
}
}
@@ -330,7 +319,7 @@ void try_with_key(const char *name, const char *client_prio,
gnutls_bye(client, GNUTLS_SHUT_RDWR);
gnutls_bye(server, GNUTLS_SHUT_RDWR);
- cleanup:
+cleanup:
gnutls_deinit(client);
gnutls_deinit(server);
@@ -351,140 +340,140 @@ typedef struct test_st {
} test_st;
static const test_st tests[] = {
- {.name = "tls1.2 ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .sig = GNUTLS_SIGN_ECDSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_ECDSA},
- {.name = "tls1.0 ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .sig = GNUTLS_SIGN_ECDSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_ECDSA},
- {.name = "tls1.1 ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .sig = GNUTLS_SIGN_ECDSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_ECDSA},
- {.name = "tls1.2 rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .sig = GNUTLS_SIGN_RSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.0 rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .sig = GNUTLS_SIGN_RSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.0 rsa-decrypt key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:-KX-ALL:+RSA:-VERS-ALL:+VERS-TLS1.0",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_RSA},
- {.name = "tls1.1 rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .sig = GNUTLS_SIGN_RSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.2 rsa-sign key with rsa-pss sigs prioritized",
- .pk = GNUTLS_PK_RSA,
- .prio =
- "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .sig = GNUTLS_SIGN_RSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.2 rsa-pss-sign key",
- .pk = GNUTLS_PK_RSA_PSS,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_rsa_pss2_cert,
- .key = &server_ca3_rsa_pss2_key,
- .sig = GNUTLS_SIGN_RSA_PSS_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- },
- {.name = "tls1.2 rsa-pss cert, rsa-sign key", /* we expect the server to refuse negotiating */
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES},
- {.name = "tls1.2 ed25519 cert, ed25519 key",
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_eddsa_cert,
- .key = &server_ca3_eddsa_key,
- .sig = GNUTLS_SIGN_EDDSA_ED25519,
- .exp_kx = GNUTLS_KX_ECDHE_ECDSA,
- },
- {.name = "tls1.2 rsa-decrypt key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:-KX-ALL:+RSA:-VERS-ALL:+VERS-TLS1.2",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .exp_kx = GNUTLS_KX_RSA},
- {.name = "tls1.3 ecc key",
- .pk = GNUTLS_PK_ECDSA,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_localhost_ecc_cert,
- .key = &server_ca3_ecc_key,
- .sig = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.3 rsa-sign key",
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_localhost_cert,
- .key = &server_ca3_key,
- .sig = GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA},
- {.name = "tls1.3 rsa-pss-sign key",
- .pk = GNUTLS_PK_RSA_PSS,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_rsa_pss2_cert,
- .key = &server_ca3_rsa_pss2_key,
- .sig = GNUTLS_SIGN_RSA_PSS_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- },
- {.name = "tls1.3 rsa-pss cert, rsa-sign key", /* we expect the server to attempt to downgrade to TLS 1.2, but it is not possible because it is not enabled */
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .sig = GNUTLS_SIGN_RSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES},
- {.name = "tls1.3 rsa-pss cert, rsa-sign key, downgrade to tls1.2", /* we expect the server to downgrade to TLS 1.2 and refuse negotiating */
- .pk = GNUTLS_PK_RSA,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
- .cert = &server_ca3_rsa_pss_cert,
- .key = &server_ca3_rsa_pss_key,
- .sig = GNUTLS_SIGN_RSA_SHA256,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES},
- {.name = "tls1.3 ed25519 cert, ed25519 key",
- .pk = GNUTLS_PK_EDDSA_ED25519,
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .cert = &server_ca3_eddsa_cert,
- .key = &server_ca3_eddsa_key,
- .sig = GNUTLS_SIGN_EDDSA_ED25519,
- .exp_kx = GNUTLS_KX_ECDHE_RSA,
- }
+ { .name = "tls1.2 ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .sig = GNUTLS_SIGN_ECDSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_ECDSA },
+ { .name = "tls1.0 ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .sig = GNUTLS_SIGN_ECDSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_ECDSA },
+ { .name = "tls1.1 ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-KX-ALL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .sig = GNUTLS_SIGN_ECDSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_ECDSA },
+ { .name = "tls1.2 rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .sig = GNUTLS_SIGN_RSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.0 rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .sig = GNUTLS_SIGN_RSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.0 rsa-decrypt key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-KX-ALL:+RSA:-VERS-ALL:+VERS-TLS1.0",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_RSA },
+ { .name = "tls1.1 rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .sig = GNUTLS_SIGN_RSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.2 rsa-sign key with rsa-pss sigs prioritized",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-SHA256:+SIGN-RSA-SHA384:+SIGN-RSA-SHA512:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .sig = GNUTLS_SIGN_RSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ {
+ .name = "tls1.2 rsa-pss-sign key",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_rsa_pss2_cert,
+ .key = &server_ca3_rsa_pss2_key,
+ .sig = GNUTLS_SIGN_RSA_PSS_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ },
+ { .name = "tls1.2 rsa-pss cert, rsa-sign key", /* we expect the server to refuse negotiating */
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES },
+ {
+ .name = "tls1.2 ed25519 cert, ed25519 key",
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .prio = "NORMAL:+ECDHE-RSA:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_eddsa_cert,
+ .key = &server_ca3_eddsa_key,
+ .sig = GNUTLS_SIGN_EDDSA_ED25519,
+ .exp_kx = GNUTLS_KX_ECDHE_ECDSA,
+ },
+ { .name = "tls1.2 rsa-decrypt key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-KX-ALL:+RSA:-VERS-ALL:+VERS-TLS1.2",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .exp_kx = GNUTLS_KX_RSA },
+ { .name = "tls1.3 ecc key",
+ .pk = GNUTLS_PK_ECDSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_localhost_ecc_cert,
+ .key = &server_ca3_ecc_key,
+ .sig = GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ { .name = "tls1.3 rsa-sign key",
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_localhost_cert,
+ .key = &server_ca3_key,
+ .sig = GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA },
+ {
+ .name = "tls1.3 rsa-pss-sign key",
+ .pk = GNUTLS_PK_RSA_PSS,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_rsa_pss2_cert,
+ .key = &server_ca3_rsa_pss2_key,
+ .sig = GNUTLS_SIGN_RSA_PSS_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ },
+ { .name = "tls1.3 rsa-pss cert, rsa-sign key", /* we expect the server to attempt to downgrade to TLS 1.2, but it is not possible because it is not enabled */
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .sig = GNUTLS_SIGN_RSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES },
+ { .name = "tls1.3 rsa-pss cert, rsa-sign key, downgrade to tls1.2", /* we expect the server to downgrade to TLS 1.2 and refuse negotiating */
+ .pk = GNUTLS_PK_RSA,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2",
+ .cert = &server_ca3_rsa_pss_cert,
+ .key = &server_ca3_rsa_pss_key,
+ .sig = GNUTLS_SIGN_RSA_SHA256,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ .exp_serv_err = GNUTLS_E_NO_CIPHER_SUITES },
+ {
+ .name = "tls1.3 ed25519 cert, ed25519 key",
+ .pk = GNUTLS_PK_EDDSA_ED25519,
+ .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .cert = &server_ca3_eddsa_cert,
+ .key = &server_ca3_eddsa_key,
+ .sig = GNUTLS_SIGN_EDDSA_ED25519,
+ .exp_kx = GNUTLS_KX_ECDHE_RSA,
+ }
};
void doit(void)
@@ -501,16 +490,15 @@ void doit(void)
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
success("checking: %s\n", tests[i].name);
- privkey =
- load_virt_privkey(tests[i].name, tests[i].key, tests[i].pk,
- tests[i].sig, tests[i].exp_key_err);
+ privkey = load_virt_privkey(tests[i].name, tests[i].key,
+ tests[i].pk, tests[i].sig,
+ tests[i].exp_key_err);
if (privkey == NULL && tests[i].exp_key_err < 0)
continue;
assert(privkey != 0);
- try_with_key(tests[i].name, tests[i].prio,
- tests[i].exp_kx, 0, 0,
- tests[i].cert, privkey, tests[i].exp_serv_err);
+ try_with_key(tests[i].name, tests[i].prio, tests[i].exp_kx, 0,
+ 0, tests[i].cert, privkey, tests[i].exp_serv_err);
}
gnutls_global_deinit();
diff --git a/tests/tls-pthread.c b/tests/tls-pthread.c
index 5c7ac08490..52e20b1405 100644
--- a/tests/tls-pthread.c
+++ b/tests/tls-pthread.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,11 +33,11 @@
#include <signal.h>
#include <unistd.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <pthread.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <pthread.h>
#endif
#include <assert.h>
#include "utils.h"
@@ -68,10 +68,10 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MSG "hello1111"
-# define MSG2 "xxxxxxxxxxxx"
+#define MSG "hello1111"
+#define MSG2 "xxxxxxxxxxxx"
-# define NO_MSGS 128
+#define NO_MSGS 128
static void *recv_thread(void *arg)
{
@@ -82,8 +82,8 @@ static void *recv_thread(void *arg)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
for (i = 0; i < NO_MSGS; i++) {
/* the peer should reflect our messages */
@@ -92,9 +92,10 @@ static void *recv_thread(void *arg)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0)
fail("client: recv failed: %s\n", gnutls_strerror(ret));
- if (ret != sizeof(MSG) - 1
- || memcmp(buf, MSG, sizeof(MSG) - 1) != 0) {
- fail("client: recv failed; not the expected values (got: %d, exp: %d)\n", ret, (int)sizeof(MSG) - 1);
+ if (ret != sizeof(MSG) - 1 ||
+ memcmp(buf, MSG, sizeof(MSG) - 1) != 0) {
+ fail("client: recv failed; not the expected values (got: %d, exp: %d)\n",
+ ret, (int)sizeof(MSG) - 1);
}
if (debug)
@@ -108,7 +109,8 @@ static void *recv_thread(void *arg)
if (ret < 0)
fail("client: recv2 failed: %s\n", gnutls_strerror(ret));
- if (ret != sizeof(MSG2) - 1 || memcmp(buf, MSG2, sizeof(MSG2) - 1) != 0) {
+ if (ret != sizeof(MSG2) - 1 ||
+ memcmp(buf, MSG2, sizeof(MSG2) - 1) != 0) {
fail("client: recv2 failed; not the expected values\n");
}
@@ -126,8 +128,7 @@ static void *recv_thread(void *arg)
pthread_exit(0);
}
-static
-void do_thread_stuff(gnutls_session_t session)
+static void do_thread_stuff(gnutls_session_t session)
{
int ret;
unsigned i;
@@ -168,7 +169,6 @@ void do_thread_stuff(gnutls_session_t session)
assert(pthread_join(id, &rval) == 0);
assert(rval == 0);
-
}
static void do_reflect_stuff(gnutls_session_t session)
@@ -234,8 +234,8 @@ static void client(int fd, const char *prio, unsigned flags)
assert(gnutls_priority_set_direct(session, prio, NULL) >= 0);
- assert(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred) >= 0);
+ assert(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred) >= 0);
gnutls_transport_set_int(session, fd);
@@ -243,8 +243,7 @@ static void client(int fd, const char *prio, unsigned flags)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
@@ -278,13 +277,13 @@ static void server(int fd, const char *prio, unsigned flags)
*/
global_init();
-# if 0
+#if 0
if (debug) {
side = "server";
gnutls_global_set_log_function(tls_log_func);
gnutls_global_set_log_level(4711);
}
-# endif
+#endif
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
assert(gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
@@ -317,8 +316,8 @@ static void server(int fd, const char *prio, unsigned flags)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (flags & FLAG_CLI_DO_THREADS)
do_reflect_stuff(session);
@@ -336,8 +335,7 @@ static void server(int fd, const char *prio, unsigned flags)
success("server: finished\n");
}
-static
-void run(const char *str, const char *prio, unsigned flags)
+static void run(const char *str, const char *prio, unsigned flags)
{
int fd[2];
int ret;
@@ -392,4 +390,4 @@ void doit(void)
run("tls1.3 early start, threaded server",
"NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", FLAG_EARLY_START);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-record-size-limit-asym.c b/tests/tls-record-size-limit-asym.c
index b51e30150f..67a9d009ec 100644
--- a/tests/tls-record-size-limit-asym.c
+++ b/tests/tls-record-size-limit-asym.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <assert.h>
@@ -112,8 +112,8 @@ static void start(const struct test_st *test)
/* Init client */
assert(gnutls_certificate_allocate_credentials(&clientx509cred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (clientx509cred, &ca2_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
@@ -141,8 +141,8 @@ static void start(const struct test_st *test)
exit(1);
}
if (ret != (int)test->server_exp.size)
- fail("server: unexpected record size sent: %d (%d)\n",
- ret, (int)test->server_exp.size);
+ fail("server: unexpected record size sent: %d (%d)\n", ret,
+ (int)test->server_exp.size);
success("server: did not send a %d-byte packet\n",
(int)test->server_exp.size);
@@ -160,8 +160,8 @@ static void start(const struct test_st *test)
exit(1);
}
if (ret != (int)test->client_exp.size)
- fail("client: unexpected record size sent: %d (%d)\n",
- ret, (int)test->client_exp.size);
+ fail("client: unexpected record size sent: %d (%d)\n", ret,
+ (int)test->client_exp.size);
success("client: did not send a %d-byte packet\n",
(int)test->server_max_size + 1);
diff --git a/tests/tls-record-size-limit.c b/tests/tls-record-size-limit.c
index 557a94569a..d4d73fa1c3 100644
--- a/tests/tls-record-size-limit.c
+++ b/tests/tls-record-size-limit.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <assert.h>
@@ -33,20 +33,26 @@
#include <gnutls/gnutls.h>
#include "utils.h"
-#define SKIP16(pos, total) { \
- uint16_t _s; \
- if (pos+2 > total) fail("error\n"); \
- _s = (msg->data[pos] << 8) | msg->data[pos+1]; \
- if ((size_t)(pos+2+_s) > total) fail("error\n"); \
- pos += 2+_s; \
+#define SKIP16(pos, total) \
+ { \
+ uint16_t _s; \
+ if (pos + 2 > total) \
+ fail("error\n"); \
+ _s = (msg->data[pos] << 8) | msg->data[pos + 1]; \
+ if ((size_t)(pos + 2 + _s) > total) \
+ fail("error\n"); \
+ pos += 2 + _s; \
}
-#define SKIP8(pos, total) { \
- uint8_t _s; \
- if (pos+1 > total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > total) fail("error\n"); \
- pos += 1+_s; \
+#define SKIP8(pos, total) \
+ { \
+ uint8_t _s; \
+ if (pos + 1 > total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
#define HANDSHAKE_SESSION_ID_POS 34
@@ -54,7 +60,10 @@
static size_t server_max_send_size;
static size_t client_max_send_size;
-#define SERVER_PUSH_ADD if (len > server_max_send_size + 5+32) fail("max record set to %d, len: %d\n", (int)server_max_send_size, (int)len);
+#define SERVER_PUSH_ADD \
+ if (len > server_max_send_size + 5 + 32) \
+ fail("max record set to %d, len: %d\n", \
+ (int)server_max_send_size, (int)len);
#include "eagain-common.h"
#include "cert-common.h"
@@ -82,9 +91,9 @@ static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
unsigned size)
{
struct handshake_cb_data_st *cb_data = ctx;
- if (tls_id == 1) { /* max record size */
+ if (tls_id == 1) { /* max record size */
cb_data->found_max_record_size = 1;
- } else if (tls_id == 28) { /* record size limit */
+ } else if (tls_id == 28) { /* record size limit */
cb_data->found_record_size_limit = 1;
}
return 0;
@@ -92,7 +101,7 @@ static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
unsigned pos;
@@ -111,15 +120,13 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
mmsg.data = &msg->data[pos];
mmsg.size = msg->size - pos;
- ret =
- gnutls_ext_raw_parse(&server_handshake_cb_data,
- ext_callback, &mmsg, 0);
+ ret = gnutls_ext_raw_parse(&server_handshake_cb_data,
+ ext_callback, &mmsg, 0);
assert(ret >= 0);
break;
case GNUTLS_HANDSHAKE_ENCRYPTED_EXTENSIONS:
- ret =
- gnutls_ext_raw_parse(&client_handshake_cb_data,
- ext_callback, msg, 0);
+ ret = gnutls_ext_raw_parse(&client_handshake_cb_data,
+ ext_callback, msg, 0);
assert(ret >= 0);
break;
case GNUTLS_HANDSHAKE_SERVER_HELLO:
@@ -130,9 +137,8 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
mmsg.data = &msg->data[pos];
mmsg.size = msg->size - pos;
- ret =
- gnutls_ext_raw_parse(&client_handshake_cb_data,
- ext_callback, &mmsg, 0);
+ ret = gnutls_ext_raw_parse(&client_handshake_cb_data,
+ ext_callback, &mmsg, 0);
assert(ret >= 0);
break;
default:
@@ -198,9 +204,8 @@ static void start(const struct test_st *test)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
@@ -232,9 +237,8 @@ static void start(const struct test_st *test)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -266,8 +270,7 @@ static void start(const struct test_st *test)
gnutls_transport_set_ptr(client, client);
client_handshake_cb_data.session = client;
- gnutls_handshake_set_hook_function(client,
- GNUTLS_HANDSHAKE_ANY,
+ gnutls_handshake_set_hook_function(client, GNUTLS_HANDSHAKE_ANY,
GNUTLS_HOOK_POST,
handshake_callback);
@@ -280,8 +283,8 @@ static void start(const struct test_st *test)
exit(1);
}
if (ret != (int)test->server_exp.size)
- fail("server: unexpected record size sent: %d (%d)\n",
- ret, (int)test->server_exp.size);
+ fail("server: unexpected record size sent: %d (%d)\n", ret,
+ (int)test->server_exp.size);
success("server: did not send a %d-byte packet\n",
(int)server_max_send_size + 1);
@@ -299,8 +302,8 @@ static void start(const struct test_st *test)
exit(1);
}
if (ret != (int)test->client_exp.size)
- fail("client: unexpected record size sent: %d (%d)\n",
- ret, (int)test->client_exp.size);
+ fail("client: unexpected record size sent: %d (%d)\n", ret,
+ (int)test->client_exp.size);
success("client: did not send a %d-byte packet\n",
(int)client_max_send_size + 1);
@@ -330,172 +333,128 @@ static void start(const struct test_st *test)
}
static const struct test_st tests[] = {
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- .server_max_size = 511,
- .client_max_size = 511,
- .server_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- .server_max_size = 512,
- .client_max_size = 512,
- .server_exp = {
- .error = 0,
- .size = 512,
- .max_record_size = 1,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 512,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- .server_max_size = 8192,
- .client_max_size = 8192,
- .server_exp = {
- .error = 0,
- .size = 8192,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 8192,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- .server_max_size = 16384,
- .client_max_size = 16384,
- .server_exp = {
- .error = 0,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- .server_max_size = 16385,
- .client_max_size = 16385,
- .server_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
-
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .server_max_size = 511,
- .client_max_size = 511,
- .server_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .server_max_size = 512,
- .client_max_size = 512,
- .server_exp = {
- .error = 0,
- .size = 512,
- .max_record_size = 1,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 512,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .server_max_size = 8192,
- .client_max_size = 8192,
- .server_exp = {
- .error = 0,
- .size = 8192,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 8192,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .server_max_size = 16384,
- .client_max_size = 16384,
- .server_exp = {
- .error = 0,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .server_max_size = 16383,
- .client_max_size = 16384,
- .server_exp = {
- .error = 0,
- .size = 16383,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = 0,
- .size = 16383,
- .max_record_size = 0,
- .record_size_limit = 1}
- },
- {
- .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- .server_max_size = 16385,
- .client_max_size = 16385,
- .server_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1},
- .client_exp = {
- .error = GNUTLS_E_INVALID_REQUEST,
- .size = 16384,
- .max_record_size = 0,
- .record_size_limit = 1}
- }
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ .server_max_size = 511,
+ .client_max_size = 511,
+ .server_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ .server_max_size = 512,
+ .client_max_size = 512,
+ .server_exp = { .error = 0,
+ .size = 512,
+ .max_record_size = 1,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 512,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ .server_max_size = 8192,
+ .client_max_size = 8192,
+ .server_exp = { .error = 0,
+ .size = 8192,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 8192,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ .server_max_size = 16384,
+ .client_max_size = 16384,
+ .server_exp = { .error = 0,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ .server_max_size = 16385,
+ .client_max_size = 16385,
+ .server_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .server_max_size = 511,
+ .client_max_size = 511,
+ .server_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .server_max_size = 512,
+ .client_max_size = 512,
+ .server_exp = { .error = 0,
+ .size = 512,
+ .max_record_size = 1,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 512,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .server_max_size = 8192,
+ .client_max_size = 8192,
+ .server_exp = { .error = 0,
+ .size = 8192,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 8192,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .server_max_size = 16384,
+ .client_max_size = 16384,
+ .server_exp = { .error = 0,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .server_max_size = 16383,
+ .client_max_size = 16384,
+ .server_exp = { .error = 0,
+ .size = 16383,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = 0,
+ .size = 16383,
+ .max_record_size = 0,
+ .record_size_limit = 1 } },
+ { .prio = "NORMAL:-VERS-ALL:+VERS-TLS1.3",
+ .server_max_size = 16385,
+ .client_max_size = 16385,
+ .server_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 },
+ .client_exp = { .error = GNUTLS_E_INVALID_REQUEST,
+ .size = 16384,
+ .max_record_size = 0,
+ .record_size_limit = 1 } }
};
void doit(void)
diff --git a/tests/tls-session-ext-override.c b/tests/tls-session-ext-override.c
index 81edbe0ce1..cd931e47d3 100644
--- a/tests/tls-session-ext-override.c
+++ b/tests/tls-session-ext-override.c
@@ -24,7 +24,7 @@
* at the session level */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,18 +40,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# include <signal.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#include <signal.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
const char *side = "";
@@ -66,10 +66,7 @@ static int TLSEXT_TYPE_server_sent = 0;
static int TLSEXT_TYPE_server_received = 0;
static int overridden_extension = -1;
-static const unsigned char ext_data[] = {
- 0xFE,
- 0xED
-};
+static const unsigned char ext_data[] = { 0xFE, 0xED };
static int ext_recv_client_params(gnutls_session_t session,
const unsigned char *buf, size_t buflen)
@@ -84,7 +81,7 @@ static int ext_recv_client_params(gnutls_session_t session,
gnutls_ext_set_data(session, overridden_extension, session);
- return 0; //Success
+ return 0; //Success
}
static int ext_send_client_params(gnutls_session_t session,
@@ -106,7 +103,7 @@ static int ext_recv_server_params(gnutls_session_t session,
TLSEXT_TYPE_server_received = 1;
- return 0; //Success
+ return 0; //Success
}
static int ext_send_server_params(gnutls_session_t session,
@@ -148,32 +145,26 @@ static void client(int sd)
gnutls_transport_set_int(session, sd);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_session_ext_register(session, "ext_client",
- overridden_extension, GNUTLS_EXT_TLS,
- ext_recv_client_params,
- ext_send_client_params, NULL, NULL,
- NULL, 0);
+ ret = gnutls_session_ext_register(session, "ext_client",
+ overridden_extension, GNUTLS_EXT_TLS,
+ ext_recv_client_params,
+ ext_send_client_params, NULL, NULL,
+ NULL, 0);
if (ret != GNUTLS_E_ALREADY_REGISTERED)
fail("client: register existing extension (%d)\n",
overridden_extension);
- ret =
- gnutls_session_ext_register(session, "ext_client", 0,
- GNUTLS_EXT_TLS, ext_recv_client_params,
- ext_send_client_params, NULL, NULL,
- NULL,
- GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL);
+ ret = gnutls_session_ext_register(
+ session, "ext_client", 0, GNUTLS_EXT_TLS,
+ ext_recv_client_params, ext_send_client_params, NULL, NULL,
+ NULL, GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL);
if (ret != GNUTLS_E_ALREADY_REGISTERED)
fail("client: register extension %d\n", 0);
- ret =
- gnutls_session_ext_register(session, "ext_client",
- overridden_extension, GNUTLS_EXT_TLS,
- ext_recv_client_params,
- ext_send_client_params, NULL, NULL,
- NULL,
- GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL);
+ ret = gnutls_session_ext_register(
+ session, "ext_client", overridden_extension, GNUTLS_EXT_TLS,
+ ext_recv_client_params, ext_send_client_params, NULL, NULL,
+ NULL, GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL);
if (ret < 0)
fail("client: register extension (%d)\n", overridden_extension);
@@ -204,7 +195,7 @@ static void client(int sd)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -230,9 +221,8 @@ static void server(int sd)
side = "server";
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
@@ -244,22 +234,18 @@ static void server(int sd)
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- ret =
- gnutls_session_ext_register(session, "ext_server",
- overridden_extension, GNUTLS_EXT_TLS,
- ext_recv_server_params,
- ext_send_server_params, NULL, NULL,
- NULL, 0);
+ ret = gnutls_session_ext_register(session, "ext_server",
+ overridden_extension, GNUTLS_EXT_TLS,
+ ext_recv_server_params,
+ ext_send_server_params, NULL, NULL,
+ NULL, 0);
if (ret != GNUTLS_E_ALREADY_REGISTERED)
fail("client: register existing extension\n");
- ret =
- gnutls_session_ext_register(session, "ext_server",
- overridden_extension, GNUTLS_EXT_TLS,
- ext_recv_server_params,
- ext_send_server_params, NULL, NULL,
- NULL,
- GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL);
+ ret = gnutls_session_ext_register(
+ session, "ext_server", overridden_extension, GNUTLS_EXT_TLS,
+ ext_recv_server_params, ext_send_server_params, NULL, NULL,
+ NULL, GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL);
if (ret < 0)
fail("client: register extension\n");
@@ -343,4 +329,4 @@ void doit(void)
override_ext(21);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-session-ext-register.c b/tests/tls-session-ext-register.c
index 3aefbafe1d..e739bdda5d 100644
--- a/tests/tls-session-ext-register.c
+++ b/tests/tls-session-ext-register.c
@@ -23,7 +23,7 @@
* at the session level */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,19 +39,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# include <signal.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#include <signal.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
const char *side = "";
@@ -60,8 +60,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define TLSEXT_TYPE_SAMPLE 0xF1
-# define TLSEXT_TYPE_IGN 0xF2
+#define TLSEXT_TYPE_SAMPLE 0xF1
+#define TLSEXT_TYPE_IGN 0xF2
static int TLSEXT_TYPE_client_sent = 0;
static int TLSEXT_TYPE_client_received = 0;
@@ -78,13 +78,9 @@ static void reset_vars(void)
ign_extension_called = 0;
}
-static const unsigned char ext_data[] = {
- 0xFE,
- 0xED
-};
+static const unsigned char ext_data[] = { 0xFE, 0xED };
-# define myfail(fmt, ...) \
- fail("%s: "fmt, name, ##__VA_ARGS__)
+#define myfail(fmt, ...) fail("%s: " fmt, name, ##__VA_ARGS__)
static int ext_recv_client_params(gnutls_session_t session,
const unsigned char *buf, size_t buflen)
@@ -102,7 +98,7 @@ static int ext_recv_client_params(gnutls_session_t session,
gnutls_ext_set_data(session, TLSEXT_TYPE_SAMPLE, session);
- return 0; //Success
+ return 0; //Success
}
static int ext_send_client_params(gnutls_session_t session,
@@ -141,7 +137,7 @@ static int ext_recv_server_params(gnutls_session_t session,
TLSEXT_TYPE_server_received = 1;
- return 0; //Success
+ return 0; //Success
}
static int ext_send_server_params(gnutls_session_t session,
@@ -180,35 +176,31 @@ static void client(int sd, const char *name, const char *prio, unsigned flags,
gnutls_transport_set_int(session, sd);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_session_ext_register(session, "ext_ign", TLSEXT_TYPE_IGN,
- GNUTLS_EXT_TLS,
- ext_recv_client_ign_params,
- ext_send_client_ign_params, NULL, NULL,
- NULL, flags);
+ ret = gnutls_session_ext_register(session, "ext_ign", TLSEXT_TYPE_IGN,
+ GNUTLS_EXT_TLS,
+ ext_recv_client_ign_params,
+ ext_send_client_ign_params, NULL,
+ NULL, NULL, flags);
if (ret < 0)
myfail("client: register extension\n");
ext_name =
- gnutls_ext_get_name2(session, TLSEXT_TYPE_IGN, GNUTLS_EXT_ANY);
+ gnutls_ext_get_name2(session, TLSEXT_TYPE_IGN, GNUTLS_EXT_ANY);
if (ext_name == NULL || strcmp(ext_name, "ext_ign"))
myfail("client: retrieve name of extension %u\n",
TLSEXT_TYPE_IGN);
- ext_name =
- gnutls_ext_get_name2(session, TLSEXT_TYPE_IGN,
- GNUTLS_EXT_APPLICATION);
+ ext_name = gnutls_ext_get_name2(session, TLSEXT_TYPE_IGN,
+ GNUTLS_EXT_APPLICATION);
if (ext_name)
- myfail
- ("client: retrieve name of extension %u (expected none)\n",
- TLSEXT_TYPE_IGN);
-
- ret =
- gnutls_session_ext_register(session, "ext_client",
- TLSEXT_TYPE_SAMPLE, GNUTLS_EXT_TLS,
- ext_recv_client_params,
- ext_send_client_params, NULL, NULL,
- NULL, flags);
+ myfail("client: retrieve name of extension %u (expected none)\n",
+ TLSEXT_TYPE_IGN);
+
+ ret = gnutls_session_ext_register(session, "ext_client",
+ TLSEXT_TYPE_SAMPLE, GNUTLS_EXT_TLS,
+ ext_recv_client_params,
+ ext_send_client_params, NULL, NULL,
+ NULL, flags);
if (ret < 0)
myfail("client: register extension\n");
@@ -219,9 +211,8 @@ static void client(int sd, const char *name, const char *prio, unsigned flags,
if (ret < 0) {
if (!expected_ok) {
if (debug)
- success
- ("client: handshake failed as expected: %s\n",
- gnutls_strerror(ret));
+ success("client: handshake failed as expected: %s\n",
+ gnutls_strerror(ret));
} else {
myfail("client: Handshake failed: %s\n",
gnutls_strerror(ret));
@@ -234,8 +225,7 @@ static void client(int sd, const char *name, const char *prio, unsigned flags,
if (TLSEXT_TYPE_client_sent != 1 || TLSEXT_TYPE_client_received != 1) {
if (expected_ok) {
- myfail
- ("client: extension not properly sent/received\n");
+ myfail("client: extension not properly sent/received\n");
} else {
goto end;
}
@@ -259,7 +249,7 @@ static void client(int sd, const char *name, const char *prio, unsigned flags,
if (!expected_ok)
myfail("client: expected failure but succeeded!\n");
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -277,8 +267,8 @@ static void server(int sd, const char *name, const char *prio, unsigned flags,
side = "server";
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&session, GNUTLS_SERVER) >= 0);
@@ -291,10 +281,10 @@ static void server(int sd, const char *name, const char *prio, unsigned flags,
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- assert(gnutls_session_ext_register
- (session, "ext_server", TLSEXT_TYPE_SAMPLE, GNUTLS_EXT_TLS,
- ext_recv_server_params, ext_send_server_params, NULL, NULL,
- NULL, flags) >= 0);
+ assert(gnutls_session_ext_register(
+ session, "ext_server", TLSEXT_TYPE_SAMPLE,
+ GNUTLS_EXT_TLS, ext_recv_server_params,
+ ext_send_server_params, NULL, NULL, NULL, flags) >= 0);
gnutls_transport_set_int(session, sd);
gnutls_handshake_set_timeout(session, get_timeout());
@@ -303,9 +293,8 @@ static void server(int sd, const char *name, const char *prio, unsigned flags,
if (ret < 0) {
if (!expected_ok) {
if (debug)
- success
- ("server: handshake failed as expected: %s\n",
- gnutls_strerror(ret));
+ success("server: handshake failed as expected: %s\n",
+ gnutls_strerror(ret));
goto cleanup;
} else {
close(sd);
@@ -320,8 +309,7 @@ static void server(int sd, const char *name, const char *prio, unsigned flags,
if (TLSEXT_TYPE_server_sent != 1 || TLSEXT_TYPE_server_received != 1) {
if (expected_ok)
- myfail
- ("server: extension not properly sent/received\n");
+ myfail("server: extension not properly sent/received\n");
else
goto cleanup;
}
@@ -333,7 +321,7 @@ static void server(int sd, const char *name, const char *prio, unsigned flags,
if (!expected_ok)
myfail("server: expected failure but succeeded!\n");
- cleanup:
+cleanup:
close(sd);
gnutls_deinit(session);
@@ -343,7 +331,7 @@ static void server(int sd, const char *name, const char *prio, unsigned flags,
success("server: finished\n");
}
-# define try_common(name, prio, flags, sok, cok) \
+#define try_common(name, prio, flags, sok, cok) \
try(name, prio, flags, flags, sok, cok)
static void try(const char *name, const char *prio, unsigned server_flags,
@@ -404,7 +392,8 @@ void doit(void)
try_common("TLS1.2 both ways",
"NORMAL:+ANON-ECDH:-VERS-TLS-ALL:+VERS-TLS1.2",
GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO, 1, 1);
+ GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
+ 1, 1);
try_common("TLS1.2 client only",
"NORMAL:+ANON-ECDH:-VERS-TLS-ALL:+VERS-TLS1.2",
@@ -412,7 +401,8 @@ void doit(void)
try_common("TLS1.2 client and TLS 1.3 server",
"NORMAL:+ANON-ECDH:-VERS-TLS-ALL:+VERS-TLS1.2",
GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO, 0, 0);
+ GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO,
+ 0, 0);
try_common("TLS1.2 server only",
"NORMAL:+ANON-ECDH:-VERS-TLS-ALL:+VERS-TLS1.2",
GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO, 0, 0);
@@ -429,16 +419,13 @@ void doit(void)
/* check whether we can crash the library by adding many extensions */
success("Testing: register many global extensions\n");
for (i = 0; i < 64; i++) {
- ret =
- gnutls_ext_register("ext_serverxx",
- TLSEXT_TYPE_SAMPLE + i + 1,
- GNUTLS_EXT_TLS, ext_recv_server_params,
- ext_send_server_params, NULL, NULL,
- NULL);
+ ret = gnutls_ext_register(
+ "ext_serverxx", TLSEXT_TYPE_SAMPLE + i + 1,
+ GNUTLS_EXT_TLS, ext_recv_server_params,
+ ext_send_server_params, NULL, NULL, NULL);
if (ret < 0) {
- success
- ("failed registering extension no %d (expected)\n",
- i + 1);
+ success("failed registering extension no %d (expected)\n",
+ i + 1);
break;
}
}
@@ -446,4 +433,4 @@ void doit(void)
gnutls_global_deinit();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-session-supplemental.c b/tests/tls-session-supplemental.c
index e71780c457..f300505481 100644
--- a/tests/tls-session-supplemental.c
+++ b/tests/tls-session-supplemental.c
@@ -22,7 +22,7 @@
/* This tests the supplemental data extension under TLS1.2 */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,18 +38,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <assert.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <assert.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
const char *side = "";
@@ -58,21 +58,17 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define TLS_SUPPLEMENTALDATATYPE_SAMPLE 0xBABE
+#define TLS_SUPPLEMENTALDATATYPE_SAMPLE 0xBABE
static int TLS_SUPPLEMENTALDATA_client_sent = 0;
static int TLS_SUPPLEMENTALDATA_client_received = 0;
static int TLS_SUPPLEMENTALDATA_server_sent = 0;
static int TLS_SUPPLEMENTALDATA_server_received = 0;
-static const unsigned char supp_data[] = {
- 0xFE,
- 0xED
-};
+static const unsigned char supp_data[] = { 0xFE, 0xED };
-static
-int supp_client_recv_func(gnutls_session_t session, const unsigned char *buf,
- size_t buflen)
+static int supp_client_recv_func(gnutls_session_t session,
+ const unsigned char *buf, size_t buflen)
{
TLS_SUPPLEMENTALDATA_client_received = 1;
@@ -85,17 +81,15 @@ int supp_client_recv_func(gnutls_session_t session, const unsigned char *buf,
return GNUTLS_E_SUCCESS;
}
-static
-int supp_client_send_func(gnutls_session_t session, gnutls_buffer_t buf)
+static int supp_client_send_func(gnutls_session_t session, gnutls_buffer_t buf)
{
TLS_SUPPLEMENTALDATA_client_sent = 1;
gnutls_buffer_append_data(buf, supp_data, sizeof(supp_data));
return GNUTLS_E_SUCCESS;
}
-static
-int supp_server_recv_func(gnutls_session_t session, const unsigned char *buf,
- size_t buflen)
+static int supp_server_recv_func(gnutls_session_t session,
+ const unsigned char *buf, size_t buflen)
{
TLS_SUPPLEMENTALDATA_server_received = 1;
@@ -108,8 +102,7 @@ int supp_server_recv_func(gnutls_session_t session, const unsigned char *buf,
return GNUTLS_E_SUCCESS;
}
-static
-int supp_server_send_func(gnutls_session_t session, gnutls_buffer_t buf)
+static int supp_server_send_func(gnutls_session_t session, gnutls_buffer_t buf)
{
TLS_SUPPLEMENTALDATA_server_sent = 1;
gnutls_buffer_append_data(buf, supp_data, sizeof(supp_data));
@@ -148,11 +141,10 @@ static void client(int sd, const char *prio, unsigned server_only)
gnutls_supplemental_recv(session, 1);
gnutls_supplemental_send(session, 1);
- gnutls_session_supplemental_register(session,
- "supplemental_client",
- TLS_SUPPLEMENTALDATATYPE_SAMPLE,
- supp_client_recv_func,
- supp_client_send_func, 0);
+ gnutls_session_supplemental_register(
+ session, "supplemental_client",
+ TLS_SUPPLEMENTALDATATYPE_SAMPLE, supp_client_recv_func,
+ supp_client_send_func, 0);
}
/* Perform the TLS handshake
@@ -169,8 +161,8 @@ static void client(int sd, const char *prio, unsigned server_only)
}
if (!server_only) {
- if (TLS_SUPPLEMENTALDATA_client_sent != 1
- || TLS_SUPPLEMENTALDATA_client_received != 1)
+ if (TLS_SUPPLEMENTALDATA_client_sent != 1 ||
+ TLS_SUPPLEMENTALDATA_client_received != 1)
fail("client: extension not properly sent/received\n");
} else {
/* we expect TLS1.2 handshake as TLS1.3 is not (yet) defined
@@ -180,7 +172,7 @@ static void client(int sd, const char *prio, unsigned server_only)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -206,9 +198,8 @@ static void server(int sd, const char *prio, unsigned server_only)
side = "server";
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
gnutls_handshake_set_timeout(session, get_timeout());
@@ -240,8 +231,8 @@ static void server(int sd, const char *prio, unsigned server_only)
success("server: Handshake was completed\n");
if (!server_only) {
- if (TLS_SUPPLEMENTALDATA_server_sent != 1
- || TLS_SUPPLEMENTALDATA_server_received != 1)
+ if (TLS_SUPPLEMENTALDATA_server_sent != 1 ||
+ TLS_SUPPLEMENTALDATA_server_received != 1)
fail("server: extension not properly sent/received\n");
}
@@ -260,8 +251,7 @@ static void server(int sd, const char *prio, unsigned server_only)
success("server: finished\n");
}
-static
-void start(const char *prio, unsigned server_only)
+static void start(const char *prio, unsigned server_only)
{
pid_t child;
int sockets[2], err;
@@ -312,4 +302,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2", 1);
start("NORMAL", 1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-supplemental.c b/tests/tls-supplemental.c
index 8dfd2c91b5..d6c428ce20 100644
--- a/tests/tls-supplemental.c
+++ b/tests/tls-supplemental.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,17 +39,17 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
/* A very basic TLS client, with supplemental data
*/
@@ -63,21 +63,17 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define TLS_SUPPLEMENTALDATATYPE_SAMPLE 0xBABE
+#define TLS_SUPPLEMENTALDATATYPE_SAMPLE 0xBABE
static int TLS_SUPPLEMENTALDATA_client_sent = 0;
static int TLS_SUPPLEMENTALDATA_client_received = 0;
static int TLS_SUPPLEMENTALDATA_server_sent = 0;
static int TLS_SUPPLEMENTALDATA_server_received = 0;
-static const unsigned char supp_data[] = {
- 0xFE,
- 0xED
-};
+static const unsigned char supp_data[] = { 0xFE, 0xED };
-static
-int supp_client_recv_func(gnutls_session_t session, const unsigned char *buf,
- size_t buflen)
+static int supp_client_recv_func(gnutls_session_t session,
+ const unsigned char *buf, size_t buflen)
{
TLS_SUPPLEMENTALDATA_client_received = 1;
@@ -90,17 +86,15 @@ int supp_client_recv_func(gnutls_session_t session, const unsigned char *buf,
return GNUTLS_E_SUCCESS;
}
-static
-int supp_client_send_func(gnutls_session_t session, gnutls_buffer_t buf)
+static int supp_client_send_func(gnutls_session_t session, gnutls_buffer_t buf)
{
TLS_SUPPLEMENTALDATA_client_sent = 1;
gnutls_buffer_append_data(buf, supp_data, sizeof(supp_data));
return GNUTLS_E_SUCCESS;
}
-static
-int supp_server_recv_func(gnutls_session_t session, const unsigned char *buf,
- size_t buflen)
+static int supp_server_recv_func(gnutls_session_t session,
+ const unsigned char *buf, size_t buflen)
{
TLS_SUPPLEMENTALDATA_server_received = 1;
@@ -113,8 +107,7 @@ int supp_server_recv_func(gnutls_session_t session, const unsigned char *buf,
return GNUTLS_E_SUCCESS;
}
-static
-int supp_server_send_func(gnutls_session_t session, gnutls_buffer_t buf)
+static int supp_server_send_func(gnutls_session_t session, gnutls_buffer_t buf)
{
TLS_SUPPLEMENTALDATA_server_sent = 1;
gnutls_buffer_append_data(buf, supp_data, sizeof(supp_data));
@@ -128,9 +121,11 @@ static void client(int sd, const char *prio, unsigned server_only)
gnutls_certificate_credentials_t clientx509cred;
if (!server_only) {
- assert(gnutls_supplemental_register
- ("supplemental_client", TLS_SUPPLEMENTALDATATYPE_SAMPLE,
- supp_client_recv_func, supp_client_send_func) >= 0);
+ assert(gnutls_supplemental_register(
+ "supplemental_client",
+ TLS_SUPPLEMENTALDATATYPE_SAMPLE,
+ supp_client_recv_func,
+ supp_client_send_func) >= 0);
}
side = "client";
@@ -165,9 +160,11 @@ static void client(int sd, const char *prio, unsigned server_only)
}
if (!server_only) {
- if (TLS_SUPPLEMENTALDATA_client_sent != 1
- || TLS_SUPPLEMENTALDATA_client_received != 1)
- fail("client: extension not properly sent/received (%d.%d)\n", TLS_SUPPLEMENTALDATA_client_sent, TLS_SUPPLEMENTALDATA_client_received);
+ if (TLS_SUPPLEMENTALDATA_client_sent != 1 ||
+ TLS_SUPPLEMENTALDATA_client_received != 1)
+ fail("client: extension not properly sent/received (%d.%d)\n",
+ TLS_SUPPLEMENTALDATA_client_sent,
+ TLS_SUPPLEMENTALDATA_client_received);
} else {
/* we expect TLS1.2 handshake as TLS1.3 is not (yet) defined
* with supplemental data */
@@ -176,7 +173,7 @@ static void client(int sd, const char *prio, unsigned server_only)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -194,16 +191,17 @@ static void server(int sd, const char *prio, unsigned server_only)
side = "server";
if (!registered) {
- assert(gnutls_supplemental_register
- ("supplemental_server", TLS_SUPPLEMENTALDATATYPE_SAMPLE,
- supp_server_recv_func, supp_server_send_func) >= 0);
+ assert(gnutls_supplemental_register(
+ "supplemental_server",
+ TLS_SUPPLEMENTALDATATYPE_SAMPLE,
+ supp_server_recv_func,
+ supp_server_send_func) >= 0);
registered = 0;
}
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
@@ -229,8 +227,8 @@ static void server(int sd, const char *prio, unsigned server_only)
success("server: Handshake was completed\n");
if (!server_only) {
- if (TLS_SUPPLEMENTALDATA_server_sent != 1
- || TLS_SUPPLEMENTALDATA_server_received != 1)
+ if (TLS_SUPPLEMENTALDATA_server_sent != 1 ||
+ TLS_SUPPLEMENTALDATA_server_received != 1)
fail("server: extension not properly sent/received\n");
}
@@ -249,8 +247,7 @@ static void server(int sd, const char *prio, unsigned server_only)
_gnutls_supplemental_deinit();
}
-static
-void start(const char *prio, unsigned server_only)
+static void start(const char *prio, unsigned server_only)
{
pid_t child;
int sockets[2], err;
@@ -305,4 +302,4 @@ void doit(void)
start("NORMAL", 1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls-with-seccomp.c b/tests/tls-with-seccomp.c
index a7f6ef27c8..f24ce0fb48 100644
--- a/tests/tls-with-seccomp.c
+++ b/tests/tls-with-seccomp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -62,7 +62,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, const char *prio)
{
@@ -95,8 +95,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -109,8 +108,8 @@ static void client(int fd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, sizeof(buffer) - 1);
@@ -131,7 +130,7 @@ static void client(int fd, const char *prio)
gnutls_strerror(ret));
}
- end:
+end:
close(fd);
@@ -172,9 +171,8 @@ static void server(int fd, const char *prio)
gnutls_certificate_allocate_credentials(&xcred);
- ret = gnutls_certificate_set_x509_key_mem(xcred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ xcred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -195,8 +193,7 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -209,8 +206,8 @@ static void server(int fd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
/* print_info(session); */
@@ -245,8 +242,7 @@ static void server(int fd, const char *prio)
success("server: finished\n");
}
-static
-void run(const char *name, const char *prio)
+static void run(const char *name, const char *prio)
{
int fd[2];
int ret;
@@ -290,4 +286,4 @@ void doit(void)
run("default", "NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls10-cert-key-exchange.c b/tests/tls10-cert-key-exchange.c
index 75a23e15da..96ecb772d4 100644
--- a/tests/tls10-cert-key-exchange.c
+++ b/tests/tls10-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -48,9 +48,10 @@ void doit(void)
try_x509("TLS 1.0 with dhe-rsa no cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.0:-KX-ALL:+DHE-RSA",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
- try_x509("TLS 1.0 with ecdhe x25519 rsa no cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.0:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
+ try_x509(
+ "TLS 1.0 with ecdhe x25519 rsa no cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.0:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
try_x509("TLS 1.0 with ecdhe rsa no cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.0:-KX-ALL:+ECDHE-RSA",
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
diff --git a/tests/tls10-cipher-neg.c b/tests/tls10-cipher-neg.c
index fb53b7e0fa..34cd2bcc9c 100644
--- a/tests/tls10-cipher-neg.c
+++ b/tests/tls10-cipher-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,86 +38,74 @@
#include "cipher-neg-common.c"
test_case_st tests[] = {
- {
- .name = "server TLS 1.0: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC"},
- {
- .name = "both TLS 1.0: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.0"},
- {
- .name = "client TLS 1.0: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "both TLS 1.0: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.0",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "server TLS 1.0: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC"},
- {
- .name = "both TLS 1.0: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.0"},
- {
- .name = "client TLS 1.0: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+3DES-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "both TLS 1.0: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.0",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "server TLS 1.0: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128"},
- {
- .name = "both TLS 1.0: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.0"},
- {
- .name = "client TLS 1.0: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "both TLS 1.0: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.0",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0"}
+ { .name = "server TLS 1.0: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC" },
+ { .name = "both TLS 1.0: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.0" },
+ { .name = "client TLS 1.0: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "both TLS 1.0: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.0",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "server TLS 1.0: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC" },
+ { .name = "both TLS 1.0: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.0" },
+ { .name = "client TLS 1.0: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+3DES-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "both TLS 1.0: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.0",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "server TLS 1.0: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128" },
+ { .name = "both TLS 1.0: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.0" },
+ { .name = "client TLS 1.0: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "both TLS 1.0: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.0",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.0" }
};
void doit(void)
diff --git a/tests/tls10-prf.c b/tests/tls10-prf.c
index c09cbbc9a8..4a2a03d669 100644
--- a/tests/tls10-prf.c
+++ b/tests/tls10-prf.c
@@ -31,51 +31,50 @@
#include <cmocka.h>
#include "hex.h"
-int
-_gnutls_prf_raw(gnutls_mac_algorithm_t mac,
- size_t master_size, const void *master,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t outsize,
- char *out);
+int _gnutls_prf_raw(gnutls_mac_algorithm_t mac, size_t master_size,
+ const void *master, size_t label_size, const char *label,
+ size_t seed_size, const uint8_t *seed, size_t outsize,
+ char *out);
-#define MATCH_FUNC(fname, dsecret, dseed, dlabel, doutput) \
-static void fname(void **glob_state) \
-{ \
- char tmp[512]; \
- gnutls_datum_t secret = dsecret; \
- gnutls_datum_t seed = dseed; \
- gnutls_datum_t label = dlabel; \
- gnutls_datum_t output = doutput; \
- int _rval; \
- _rval = _gnutls_prf_raw(GNUTLS_MAC_MD5_SHA1, secret.size, secret.data, \
- label.size, (char*)label.data, seed.size, seed.data, output.size, tmp); \
- assert_int_equal(_rval, 0); \
- assert_int_equal(memcmp(tmp, output.data, output.size), 0); \
- gnutls_free(secret.data); \
- gnutls_free(label.data); \
- gnutls_free(seed.data); \
- gnutls_free(output.data); \
-}
+#define MATCH_FUNC(fname, dsecret, dseed, dlabel, doutput) \
+ static void fname(void **glob_state) \
+ { \
+ char tmp[512]; \
+ gnutls_datum_t secret = dsecret; \
+ gnutls_datum_t seed = dseed; \
+ gnutls_datum_t label = dlabel; \
+ gnutls_datum_t output = doutput; \
+ int _rval; \
+ _rval = _gnutls_prf_raw(GNUTLS_MAC_MD5_SHA1, secret.size, \
+ secret.data, label.size, \
+ (char *)label.data, seed.size, \
+ seed.data, output.size, tmp); \
+ assert_int_equal(_rval, 0); \
+ assert_int_equal(memcmp(tmp, output.data, output.size), 0); \
+ gnutls_free(secret.data); \
+ gnutls_free(label.data); \
+ gnutls_free(seed.data); \
+ gnutls_free(output.data); \
+ }
-MATCH_FUNC(test1, SHEX("263bdbbb6f6d4c664e058d0aa9d321be"),
- SHEX("b920573b199601024f04d6dc61966e65"), SDATA("test label"),
- SHEX
- ("6617993765fa6ca703d19ec70dd5dd160ffcc07725fafb714a9f815a2a30bfb7e3bbfb7eee574b3b613eb7fe80eec9691d8c1b0e2d9b3c8b4b02b6b6d6db88e2094623ef6240607eda7abe3c846e82a3"));
+MATCH_FUNC(
+ test1, SHEX("263bdbbb6f6d4c664e058d0aa9d321be"),
+ SHEX("b920573b199601024f04d6dc61966e65"), SDATA("test label"),
+ SHEX("6617993765fa6ca703d19ec70dd5dd160ffcc07725fafb714a9f815a2a30bfb7e3bbfb7eee574b3b613eb7fe80eec9691d8c1b0e2d9b3c8b4b02b6b6d6db88e2094623ef6240607eda7abe3c846e82a3"));
MATCH_FUNC(test2, SHEX("bf31fe6c78ebf0ff9ce8bb5dd9d1f83d"),
SHEX("7fc4583d19871d962760f358a18696c8"), SDATA("test label"),
SHEX("8318f382c49fd5af7d6fdb4cbb31dfef"));
-MATCH_FUNC(test3,
- SHEX
- ("0addfc84435b9ac1ef523ef44791a784bf55757dea17837c1a72beec1bdb1850"),
- SHEX("74e849d11ad8a98d9bc2291dbceec26ff9"), SDATA("test label"),
- SHEX("3c221520c48bcb3a0eb3734a"));
-MATCH_FUNC(test4,
- SHEX
- ("4074939b440a08a285bc7208485c531f0bbd4c101d71bdba33ec066791e4678c"),
- SHEX("8aff0c770c1d60455ee48f220c9adb471e5fee27c88c1f33"),
- SDATA("test label"),
- SHEX
- ("3a9aee040bbf3cf7009210e64bbdad1775ccf1b46b3a965d5f15168e9ddaa7cc6a7c0c117848"));
+MATCH_FUNC(
+ test3,
+ SHEX("0addfc84435b9ac1ef523ef44791a784bf55757dea17837c1a72beec1bdb1850"),
+ SHEX("74e849d11ad8a98d9bc2291dbceec26ff9"), SDATA("test label"),
+ SHEX("3c221520c48bcb3a0eb3734a"));
+MATCH_FUNC(
+ test4,
+ SHEX("4074939b440a08a285bc7208485c531f0bbd4c101d71bdba33ec066791e4678c"),
+ SHEX("8aff0c770c1d60455ee48f220c9adb471e5fee27c88c1f33"),
+ SDATA("test label"),
+ SHEX("3a9aee040bbf3cf7009210e64bbdad1775ccf1b46b3a965d5f15168e9ddaa7cc6a7c0c117848"));
int main(void)
{
diff --git a/tests/tls10-server-kx-neg.c b/tests/tls10-server-kx-neg.c
index e9e8c47730..0ef2439fea 100644
--- a/tests/tls10-server-kx-neg.c
+++ b/tests/tls10-server-kx-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,359 +38,312 @@
#include "server-kx-neg-common.c"
test_case_st tests[] = {
- {
- .name = "TLS 1.0 ANON-DH without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ANON-DH with cred but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ANON-DH with cred and DH params",
- .server_ret = 0,
- .client_ret = 0,
- .have_anon_cred = 1,
- .have_anon_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-RSA with cred but no DH params or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-RSA with cred and cert but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-RSA with cred and DH params but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name =
- "TLS 1.0 DHE-RSA with cred and incompatible cert and DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-RSA with cred and cert and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-RSA with cred and multiple certs and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-PSK with cred but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 DHE-PSK with cred DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-RSA with cred but no common curve or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.0 ECDHE-RSA with cred and cert but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.0 ECDHE-RSA with cred and common curve but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name =
- "TLS 1.0 ECDHE-RSA with cred and incompatible cert and common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-RSA with cred and cert and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name =
- "TLS 1.0 ECDHE-RSA with cred and multiple certs and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0"},
+ { .name = "TLS 1.0 ANON-DH without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ANON-DH with cred but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ANON-DH with cred and DH params",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_anon_cred = 1,
+ .have_anon_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA with cred but no DH params or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA with cred and cert but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA with cred and DH params but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA with cred and incompatible cert and DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA with cred and cert and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-RSA with cred and multiple certs and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-PSK with cred but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 DHE-PSK with cred DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-RSA with cred but no common curve or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.0 ECDHE-RSA with cred and cert but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.0 ECDHE-RSA with cred and common curve but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-RSA with cred and incompatible cert and common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-RSA with cred and cert and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-RSA with cred and multiple certs and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.0" },
- {
- .name = "TLS 1.0 ECDHE-ECDSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-ECDSA with cred but no common curve or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.0 ECDHE-ECDSA with cred and cert but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name =
- "TLS 1.0 ECDHE-ECDSA with cred and common curve but no ECDSA cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-ECDSA with cred and common curve but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-ECDSA with cred and cert and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name =
- "TLS 1.0 ECDHE-ECDSA with cred and multiple certs and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0"},
+ { .name = "TLS 1.0 ECDHE-ECDSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-ECDSA with cred but no common curve or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.0 ECDHE-ECDSA with cred and cert but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.0 ECDHE-ECDSA with cred and common curve but no ECDSA cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-ECDSA with cred and common curve but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-ECDSA with cred and cert and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-ECDSA with cred and multiple certs and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.0" },
- {
- .name = "TLS 1.0 ECDHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 ECDHE-PSK with cred but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.0 ECDHE-PSK with cred and common curve",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 RSA-PSK without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 RSA-PSK without psk cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 RSA-PSK with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 RSA-PSK with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 RSA-PSK with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0"},
+ { .name = "TLS 1.0 ECDHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 ECDHE-PSK with cred but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.0 ECDHE-PSK with cred and common curve",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 RSA-PSK without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 RSA-PSK without psk cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 RSA-PSK with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 RSA-PSK with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 RSA-PSK with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.0" },
#ifdef ENABLE_SRP
- {
- .name = "TLS 1.0 SRP-RSA without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 SRP-RSA without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 SRP-RSA with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 SRP-RSA with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 SRP-RSA with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 SRP without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0"},
- {
- .name = "TLS 1.0 SRP with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0",
- .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0"}
+ { .name = "TLS 1.0 SRP-RSA without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 SRP-RSA without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 SRP-RSA with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 SRP-RSA with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 SRP-RSA with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 SRP without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0" },
+ { .name = "TLS 1.0 SRP with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0",
+ .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.0" }
#endif
};
diff --git a/tests/tls11-cert-key-exchange.c b/tests/tls11-cert-key-exchange.c
index 69115cd873..8f0daec628 100644
--- a/tests/tls11-cert-key-exchange.c
+++ b/tests/tls11-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -48,9 +48,10 @@ void doit(void)
try_x509("TLS 1.1 with dhe-rsa no cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.1:-KX-ALL:+DHE-RSA",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
- try_x509("TLS 1.1 with ecdhe x25519 rsa no cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.1:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
+ try_x509(
+ "TLS 1.1 with ecdhe x25519 rsa no cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.1:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
try_x509("TLS 1.1 with ecdhe rsa no cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.1:-KX-ALL:+ECDHE-RSA",
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
@@ -105,11 +106,11 @@ void doit(void)
/* illegal setups */
server_priority = NULL;
- try_with_key_fail("TLS 1.1 with rsa-pss cert and no cli cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.1:-KX-ALL:+DHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_UNWANTED_ALGORITHM, GNUTLS_E_AGAIN,
- &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
- NULL, NULL);
+ try_with_key_fail(
+ "TLS 1.1 with rsa-pss cert and no cli cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.1:-KX-ALL:+DHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_UNWANTED_ALGORITHM, GNUTLS_E_AGAIN,
+ &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key, NULL, NULL);
gnutls_global_deinit();
}
diff --git a/tests/tls11-cipher-neg.c b/tests/tls11-cipher-neg.c
index fb4371a6e3..b1b4ee9e6c 100644
--- a/tests/tls11-cipher-neg.c
+++ b/tests/tls11-cipher-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,86 +38,74 @@
#include "cipher-neg-common.c"
test_case_st tests[] = {
- {
- .name = "server TLS 1.1: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC"},
- {
- .name = "both TLS 1.1: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.1"},
- {
- .name = "client TLS 1.1: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "both TLS 1.1: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.1",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "server TLS 1.1: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC"},
- {
- .name = "both TLS 1.1: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.1"},
- {
- .name = "client TLS 1.1: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+3DES-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "both TLS 1.1: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.1",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "server TLS 1.1: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128"},
- {
- .name = "both TLS 1.1: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.1"},
- {
- .name = "client TLS 1.1: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "both TLS 1.1: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.1",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1"}
+ { .name = "server TLS 1.1: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC" },
+ { .name = "both TLS 1.1: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.1" },
+ { .name = "client TLS 1.1: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "both TLS 1.1: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.1",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "server TLS 1.1: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC" },
+ { .name = "both TLS 1.1: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.1" },
+ { .name = "client TLS 1.1: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+3DES-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "both TLS 1.1: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.1",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "server TLS 1.1: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128" },
+ { .name = "both TLS 1.1: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.1" },
+ { .name = "client TLS 1.1: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "both TLS 1.1: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.1",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.1" }
};
void doit(void)
diff --git a/tests/tls11-server-kx-neg.c b/tests/tls11-server-kx-neg.c
index 6c300ab5f3..dc10ae7f97 100644
--- a/tests/tls11-server-kx-neg.c
+++ b/tests/tls11-server-kx-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,359 +38,312 @@
#include "server-kx-neg-common.c"
test_case_st tests[] = {
- {
- .name = "TLS 1.1 ANON-DH without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ANON-DH with cred but no DH params",
- .server_ret = 0,
- .client_ret = 0,
- .have_anon_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ANON-DH with cred and DH params",
- .server_ret = 0,
- .client_ret = 0,
- .have_anon_cred = 1,
- .have_anon_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-RSA with cred but no DH params or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-RSA with cred and cert but no DH params",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-RSA with cred and DH params but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name =
- "TLS 1.1 DHE-RSA with cred and incompatible cert and DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-RSA with cred and cert and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-RSA with cred and multiple certs and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-PSK with cred but no DH params",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 DHE-PSK with cred DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-RSA with cred but no common curve or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.1 ECDHE-RSA with cred and cert but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.1 ECDHE-RSA with cred and common curve but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name =
- "TLS 1.1 ECDHE-RSA with cred and incompatible cert and common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-RSA with cred and cert and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name =
- "TLS 1.1 ECDHE-RSA with cred and multiple certs and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1"},
+ { .name = "TLS 1.1 ANON-DH without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ANON-DH with cred but no DH params",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ANON-DH with cred and DH params",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_anon_cred = 1,
+ .have_anon_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA with cred but no DH params or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA with cred and cert but no DH params",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA with cred and DH params but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA with cred and incompatible cert and DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA with cred and cert and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-RSA with cred and multiple certs and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-PSK with cred but no DH params",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 DHE-PSK with cred DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-RSA with cred but no common curve or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.1 ECDHE-RSA with cred and cert but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.1 ECDHE-RSA with cred and common curve but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-RSA with cred and incompatible cert and common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-RSA with cred and cert and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-RSA with cred and multiple certs and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.1" },
- {
- .name = "TLS 1.1 ECDHE-ECDSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-ECDSA with cred but no common curve or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.1 ECDHE-ECDSA with cred and cert but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name =
- "TLS 1.1 ECDHE-ECDSA with cred and common curve but no ECDSA cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-ECDSA with cred and common curve but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-ECDSA with cred and cert and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name =
- "TLS 1.1 ECDHE-ECDSA with cred and multiple certs and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1"},
+ { .name = "TLS 1.1 ECDHE-ECDSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-ECDSA with cred but no common curve or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.1 ECDHE-ECDSA with cred and cert but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.1 ECDHE-ECDSA with cred and common curve but no ECDSA cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-ECDSA with cred and common curve but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-ECDSA with cred and cert and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-ECDSA with cred and multiple certs and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.1" },
- {
- .name = "TLS 1.1 ECDHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 ECDHE-PSK with cred but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.1 ECDHE-PSK with cred and common curve",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 RSA-PSK without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 RSA-PSK without psk cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 RSA-PSK with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 RSA-PSK with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 RSA-PSK with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1"},
+ { .name = "TLS 1.1 ECDHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 ECDHE-PSK with cred but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.1 ECDHE-PSK with cred and common curve",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 RSA-PSK without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 RSA-PSK without psk cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 RSA-PSK with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 RSA-PSK with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 RSA-PSK with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.1" },
#ifdef ENABLE_SRP
- {
- .name = "TLS 1.1 SRP-RSA without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 SRP-RSA without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 SRP-RSA with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 SRP-RSA with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 SRP-RSA with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 SRP without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1"},
- {
- .name = "TLS 1.1 SRP with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1",
- .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1"}
+ { .name = "TLS 1.1 SRP-RSA without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 SRP-RSA without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 SRP-RSA with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 SRP-RSA with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 SRP-RSA with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 SRP without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1" },
+ { .name = "TLS 1.1 SRP with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1",
+ .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.1" }
#endif
};
diff --git a/tests/tls12-anon-upgrade.c b/tests/tls12-anon-upgrade.c
index 932951d4e9..e3ffec15eb 100644
--- a/tests/tls12-anon-upgrade.c
+++ b/tests/tls12-anon-upgrade.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,103 +42,99 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char ca_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD46JAPKrTsNTHl\n"
- "zD06eIYBF/8Z+TR0wukp9Cdh8Sw77dODLjy/QrVKiDgDZZdyUc8Agsdr86i95O0p\n"
- "w19Np3a0wja0VC9uwppZrpuHsrWukwxIBXoViyBc20Y6Ce8j0scCbR10SP565qXC\n"
- "i8vr86S4xmQMRZMtwohP/GWQzt45jqkHPYHjdKzwo2b2XI7joDq0dvbr3MSONkGs\n"
- "z7A/1Bl3iH5keDTWjqpJRWqXE79IhGOhELy+gG4VLJDGHWCr2mq24b9Kirp+TTxl\n"
- "lUwJRbchqUqerlFdt1NgDoGaJyd73Sh0qcZzmEiOI2hGvBtG86tdQ6veC9dl05et\n"
- "pM+6RMABAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQUGD0RYr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQAD\n"
- "ggEBALnHMubZ6WJ/XOFyDuo0imwg2onrPas3MuKT4+y0aHY943BgAOEc3jKitRjc\n"
- "qhb0IUD+NS7itRwNtCgI3v5Ym5nnQoVk+aOD/D724TjJ9XaPQJzOnuGaZX99VN2F\n"
- "sgwAtDXedlDQ+I6KLzLd6VW+UyWTG4qiRjOGDnG2kM1wAEOM27TzHV/YWleGjhtA\n"
- "bRHxkioOni5goNlTzazxF4v9VD2uinWrIFyZmF6vQuMm6rKFgq6higAU8uesFo7+\n"
- "3qpeRjNrPC4fNJUBvv+PC0WnP0PLnD/rY/ZcTYjLb/vJp1fiMJ5fU7jJklBhX2TE\n"
- "tstcP7FUV5HA/s9BxgAh0Z2wyyY=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t ca_cert = { ca_cert_pem,
- sizeof(ca_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC4DCCAcigAwIBAgIBADANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD46JAPKrTsNTHl\n"
+ "zD06eIYBF/8Z+TR0wukp9Cdh8Sw77dODLjy/QrVKiDgDZZdyUc8Agsdr86i95O0p\n"
+ "w19Np3a0wja0VC9uwppZrpuHsrWukwxIBXoViyBc20Y6Ce8j0scCbR10SP565qXC\n"
+ "i8vr86S4xmQMRZMtwohP/GWQzt45jqkHPYHjdKzwo2b2XI7joDq0dvbr3MSONkGs\n"
+ "z7A/1Bl3iH5keDTWjqpJRWqXE79IhGOhELy+gG4VLJDGHWCr2mq24b9Kirp+TTxl\n"
+ "lUwJRbchqUqerlFdt1NgDoGaJyd73Sh0qcZzmEiOI2hGvBtG86tdQ6veC9dl05et\n"
+ "pM+6RMABAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQUGD0RYr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQAD\n"
+ "ggEBALnHMubZ6WJ/XOFyDuo0imwg2onrPas3MuKT4+y0aHY943BgAOEc3jKitRjc\n"
+ "qhb0IUD+NS7itRwNtCgI3v5Ym5nnQoVk+aOD/D724TjJ9XaPQJzOnuGaZX99VN2F\n"
+ "sgwAtDXedlDQ+I6KLzLd6VW+UyWTG4qiRjOGDnG2kM1wAEOM27TzHV/YWleGjhtA\n"
+ "bRHxkioOni5goNlTzazxF4v9VD2uinWrIFyZmF6vQuMm6rKFgq6higAU8uesFo7+\n"
+ "3qpeRjNrPC4fNJUBvv+PC0WnP0PLnD/rY/ZcTYjLb/vJp1fiMJ5fU7jJklBhX2TE\n"
+ "tstcP7FUV5HA/s9BxgAh0Z2wyyY=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t ca_cert = { ca_cert_pem, sizeof(ca_cert_pem) };
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDIzCCAgugAwIBAgIMUz8PCR2sdRK56V6OMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
- "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDQxOTU5MDVaGA85OTk5MTIzMTIzNTk1OVow\n"
- "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQDZ3dCzh9gOTOiOb2dtrPu91fYYgC/ey0ACYjQxaru7FZwnuXPhQK9KHsIV\n"
- "YRIyo49wjKZddkHet2sbpFAAeETZh8UUWLRb/mupyaSJMycaYCNjLZCUJTztvXxJ\n"
- "CCNfbtgvKC+Vu1mu94KBPatslgvnsamH7AiL5wmwRRqdH/Z93XaEvuRG6Zk0Sh9q\n"
- "ZMdCboGfjtmGEJ1V+z5CR+IyH4sckzd8WJW6wBSEwgliGaXnc75xKtFWBZV2njNr\n"
- "8V1TOYOdLEbiF4wduVExL5TKq2ywNkRpUfK2I1BcWS5D9Te/QT7aSdE08rL6ztmZ\n"
- "IhILSrMOfoLnJ4lzXspz3XLlEuhnAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
- "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJXR\n"
- "raRS5MVhEqaRE42A3S2BIj7UMB8GA1UdIwQYMBaAFP6S7AyMRO2RfkANgo8YsCl8\n"
- "JfJkMA0GCSqGSIb3DQEBCwUAA4IBAQCQ62+skMVZYrGbpab8RI9IG6xH8kEndvFj\n"
- "J7wBBZCOlcjOj+HQ7a2buF5zGKRwAOSznKcmvZ7l5DPdsd0t5/VT9LKSbQ6+CfGr\n"
- "Xs5qPaDJnRhZkOILCvXJ9qyO+79WNMsg9pWnxkTK7aWR5OYE+1Qw1jG681HMkWTm\n"
- "nt7et9bdiNNpvA+L55569XKbdtJLs3hn5gEQFgS7EaEj59aC4vzSTFcidowCoa43\n"
- "7JmfSfC9YaAIFH2vriyU0QNf2y7cG5Hpkge+U7uMzQrsT77Q3SDB9WkyPAFNSB4Q\n"
- "B/r+OtZXOnQhLlMV7h4XGlWruFEaOBVjFHSdMGUh+DtaLvd1bVXI\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
- "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
- "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvhyQfsUm3T0xK\n"
- "jiBXO3H6Y27b7lmCRYZQCmXCl2sUsGDL7V9biavTt3+sorWtH542/cTGDh5n8591\n"
- "7rVxAB/VASmN55O3fjZyFGrjusjhXBla0Yxe5rZ/7/Pjrq84T7gc/IXiX9Sums/c\n"
- "o9AeoykfhsjV2ubhh4h+8uPsHDTcAFTxq3mQaoldwnW2nmjDFzaKLtQdnyFf41o6\n"
- "nsJCK/J9PtpdCID5Zb+eQfu5Yhk1iUHe8a9TOstCHtgBq61YzufDHUQk3zsT+VZM\n"
- "20lDvSBnHdWLjxoea587JbkvtH8xRR8ThwABSb98qPnhJ8+A7mpO89QO1wxZM85A\n"
- "xEweQlMHAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
- "ADAdBgNVHQ4EFgQU/pLsDIxE7ZF+QA2CjxiwKXwl8mQwHwYDVR0jBBgwFoAUGD0R\n"
- "Yr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQADggEBANEXLUV+Z1PGTn7M\n"
- "3rPT/m/EamcrZJ3vFWrnfN91ws5llyRUKNhx6222HECh3xRSxH9YJONsbv2zY6sd\n"
- "ztY7lvckL4xOgWAjoCVTx3hqbZjDxpLRsvraw1PlqBHlRQVWLKlEQ55+tId2zgMX\n"
- "Z+wxM7FlU/6yWVPODIxrqYQd2KqaEp4aLIklw6Hi4HD6DnQJikjsJ6Noe0qyX1Tx\n"
- "uZ8mgP/G47Fe2d2H29kJ1iJ6hp1XOqyWrVIh/jONcnTvWS8aMqS3MU0EJH2Pb1Qa\n"
- "KGIvbd/3H9LykFTP/b7Imdv2fZxXIK8jC+jbF1w6rdBCVNA0p30X/jonoC3vynEK\n"
- "5cK0cgs=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIzCCAgugAwIBAgIMUz8PCR2sdRK56V6OMA0GCSqGSIb3DQEBCwUAMA8xDTAL\n"
+ "BgNVBAMTBENBLTEwIhgPMjAxNDA0MDQxOTU5MDVaGA85OTk5MTIzMTIzNTk1OVow\n"
+ "EzERMA8GA1UEAxMIc2VydmVyLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQDZ3dCzh9gOTOiOb2dtrPu91fYYgC/ey0ACYjQxaru7FZwnuXPhQK9KHsIV\n"
+ "YRIyo49wjKZddkHet2sbpFAAeETZh8UUWLRb/mupyaSJMycaYCNjLZCUJTztvXxJ\n"
+ "CCNfbtgvKC+Vu1mu94KBPatslgvnsamH7AiL5wmwRRqdH/Z93XaEvuRG6Zk0Sh9q\n"
+ "ZMdCboGfjtmGEJ1V+z5CR+IyH4sckzd8WJW6wBSEwgliGaXnc75xKtFWBZV2njNr\n"
+ "8V1TOYOdLEbiF4wduVExL5TKq2ywNkRpUfK2I1BcWS5D9Te/QT7aSdE08rL6ztmZ\n"
+ "IhILSrMOfoLnJ4lzXspz3XLlEuhnAgMBAAGjdzB1MAwGA1UdEwEB/wQCMAAwFAYD\n"
+ "VR0RBA0wC4IJbG9jYWxob3N0MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFJXR\n"
+ "raRS5MVhEqaRE42A3S2BIj7UMB8GA1UdIwQYMBaAFP6S7AyMRO2RfkANgo8YsCl8\n"
+ "JfJkMA0GCSqGSIb3DQEBCwUAA4IBAQCQ62+skMVZYrGbpab8RI9IG6xH8kEndvFj\n"
+ "J7wBBZCOlcjOj+HQ7a2buF5zGKRwAOSznKcmvZ7l5DPdsd0t5/VT9LKSbQ6+CfGr\n"
+ "Xs5qPaDJnRhZkOILCvXJ9qyO+79WNMsg9pWnxkTK7aWR5OYE+1Qw1jG681HMkWTm\n"
+ "nt7et9bdiNNpvA+L55569XKbdtJLs3hn5gEQFgS7EaEj59aC4vzSTFcidowCoa43\n"
+ "7JmfSfC9YaAIFH2vriyU0QNf2y7cG5Hpkge+U7uMzQrsT77Q3SDB9WkyPAFNSB4Q\n"
+ "B/r+OtZXOnQhLlMV7h4XGlWruFEaOBVjFHSdMGUh+DtaLvd1bVXI\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDATCCAemgAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDEwRDQS0w\n"
+ "MCIYDzIwMTQwNDA0MTk1OTA1WhgPOTk5OTEyMzEyMzU5NTlaMA8xDTALBgNVBAMT\n"
+ "BENBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvhyQfsUm3T0xK\n"
+ "jiBXO3H6Y27b7lmCRYZQCmXCl2sUsGDL7V9biavTt3+sorWtH542/cTGDh5n8591\n"
+ "7rVxAB/VASmN55O3fjZyFGrjusjhXBla0Yxe5rZ/7/Pjrq84T7gc/IXiX9Sums/c\n"
+ "o9AeoykfhsjV2ubhh4h+8uPsHDTcAFTxq3mQaoldwnW2nmjDFzaKLtQdnyFf41o6\n"
+ "nsJCK/J9PtpdCID5Zb+eQfu5Yhk1iUHe8a9TOstCHtgBq61YzufDHUQk3zsT+VZM\n"
+ "20lDvSBnHdWLjxoea587JbkvtH8xRR8ThwABSb98qPnhJ8+A7mpO89QO1wxZM85A\n"
+ "xEweQlMHAgMBAAGjZDBiMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcE\n"
+ "ADAdBgNVHQ4EFgQU/pLsDIxE7ZF+QA2CjxiwKXwl8mQwHwYDVR0jBBgwFoAUGD0R\n"
+ "Yr2H7kfjQUcBMxSTCDQnhu0wDQYJKoZIhvcNAQELBQADggEBANEXLUV+Z1PGTn7M\n"
+ "3rPT/m/EamcrZJ3vFWrnfN91ws5llyRUKNhx6222HECh3xRSxH9YJONsbv2zY6sd\n"
+ "ztY7lvckL4xOgWAjoCVTx3hqbZjDxpLRsvraw1PlqBHlRQVWLKlEQ55+tId2zgMX\n"
+ "Z+wxM7FlU/6yWVPODIxrqYQd2KqaEp4aLIklw6Hi4HD6DnQJikjsJ6Noe0qyX1Tx\n"
+ "uZ8mgP/G47Fe2d2H29kJ1iJ6hp1XOqyWrVIh/jONcnTvWS8aMqS3MU0EJH2Pb1Qa\n"
+ "KGIvbd/3H9LykFTP/b7Imdv2fZxXIK8jC+jbF1w6rdBCVNA0p30X/jonoC3vynEK\n"
+ "5cK0cgs=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
- "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
- "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
- "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
- "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
- "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
- "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
- "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
- "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
- "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
- "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
- "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
- "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
- "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
- "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
- "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
- "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
- "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
- "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
- "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
- "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
- "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
- "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
- "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
- "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
- "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIIEpQIBAAKCAQEA2d3Qs4fYDkzojm9nbaz7vdX2GIAv3stAAmI0MWq7uxWcJ7lz\n"
+ "4UCvSh7CFWESMqOPcIymXXZB3rdrG6RQAHhE2YfFFFi0W/5rqcmkiTMnGmAjYy2Q\n"
+ "lCU87b18SQgjX27YLygvlbtZrveCgT2rbJYL57Gph+wIi+cJsEUanR/2fd12hL7k\n"
+ "RumZNEofamTHQm6Bn47ZhhCdVfs+QkfiMh+LHJM3fFiVusAUhMIJYhml53O+cSrR\n"
+ "VgWVdp4za/FdUzmDnSxG4heMHblRMS+UyqtssDZEaVHytiNQXFkuQ/U3v0E+2knR\n"
+ "NPKy+s7ZmSISC0qzDn6C5yeJc17Kc91y5RLoZwIDAQABAoIBAQCRXAu5HPOsZufq\n"
+ "0K2DYZz9BdqSckR+M8HbVUZZiksDAeIUJwoHyi6qF2eK+B86JiK4Bz+gsBw2ys3t\n"
+ "vW2bQqM9N/boIl8D2fZfbCgZWkXGtUonC+mgzk+el4Rq/cEMFVqr6/YDwuKNeJpc\n"
+ "PJc5dcsvpTvlcjgpj9bJAvJEz2SYiIUpvtG4WNMGGapVZZPDvWn4/isY+75T5oDf\n"
+ "1X5jG0lN9uoUjcuGuThN7gxjwlRkcvEOPHjXc6rxfrWIDdiz/91V46PwpqVDpRrg\n"
+ "ig6U7+ckS0Oy2v32x0DaDhwAfDJ2RNc9az6Z+11lmY3LPkjG/p8Klcmgvt4/lwkD\n"
+ "OYRC5QGRAoGBAPFdud6nmVt9h1DL0o4R6snm6P3K81Ds765VWVmpzJkK3+bwe4PQ\n"
+ "GQQ0I0zN4hXkDMwHETS+EVWllqkK/d4dsE3volYtyTti8zthIATlgSEJ81x/ChAQ\n"
+ "vvXxgx+zPUnb1mUwy+X+6urTHe4bxN2ypg6ROIUmT+Hx1ITG40LRRiPTAoGBAOcT\n"
+ "WR8DTrj42xbxAUpz9vxJ15ZMwuIpk3ShE6+CWqvaXHF22Ju4WFwRNlW2zVLH6UMt\n"
+ "nNfOzyDoryoiu0+0mg0wSmgdJbtCSHoI2GeiAnjGn5i8flQlPQ8bdwwmU6g6I/EU\n"
+ "QRbGK/2XLmlrGN52gVy9UX0NsAA5fEOsAJiFj1CdAoGBAN9i3nbq6O2bNVSa/8mL\n"
+ "XaD1vGe/oQgh8gaIaYSpuXlfbjCAG+C4BZ81XgJkfj3CbfGbDNqimsqI0fKsAJ/F\n"
+ "HHpVMgrOn3L+Np2bW5YMj0Fzwy+1SCvsQ8C+gJwjOLMV6syGp/+6udMSB55rRv3k\n"
+ "rPnIf+YDumUke4tTw9wAcgkPAoGASHMkiji7QfuklbjSsslRMyDj21gN8mMevH6U\n"
+ "cX7pduBsA5dDqu9NpPAwnQdHsSDE3i868d8BykuqQAfLut3hPylY6vPYlLHfj4Oe\n"
+ "dj+xjrSX7YeMBE34qvfth32s1R4FjtzO25keyc/Q2XSew4FcZftlxVO5Txi3AXC4\n"
+ "bxnRKXECgYEAva+og7/rK+ZjboJVNxhFrwHp9bXhz4tzrUaWNvJD2vKJ5ZcThHcX\n"
+ "zCig8W7eXHLPLDhi9aWZ3kUZ1RLhrFc/6dujtVtU9z2w1tmn1I+4Zi6D6L4DzKdg\n"
+ "nMRLFoXufs/qoaJTqa8sQvKa+ceJAF04+gGtw617cuaZdZ3SYRLR2dk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
#define MSG "hello there ppl"
@@ -167,9 +163,8 @@ static void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
/* Init server */
gnutls_anon_allocate_server_credentials(&s_anoncred);
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_dh_params_init(&dh_params);
gnutls_dh_params_import_pkcs3(dh_params, &p3, GNUTLS_X509_FMT_PEM);
@@ -179,9 +174,10 @@ static void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_credentials_set(server, GNUTLS_CRD_ANON, s_anoncred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+ANON-ECDH:+ECDHE-RSA:+DHE-RSA",
- NULL);
+ gnutls_priority_set_direct(
+ server,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:+ANON-ECDH:+ECDHE-RSA:+DHE-RSA",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -192,9 +188,8 @@ static void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -209,10 +204,10 @@ static void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
if (ret < 0)
exit(1);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ARCFOUR-128:+ANON-ECDH",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ARCFOUR-128:+ANON-ECDH",
+ NULL);
if (ret < 0)
exit(1);
@@ -223,7 +218,8 @@ static void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != GNUTLS_KX_ANON_ECDH) {
- fail("got unexpected key exchange algorithm: %s (expected ANON-ECDH)\n", gnutls_kx_get_name(gnutls_kx_get(client)));
+ fail("got unexpected key exchange algorithm: %s (expected ANON-ECDH)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)));
exit(1);
}
@@ -235,7 +231,9 @@ static void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
HANDSHAKE(client, server);
if (gnutls_kx_get(client) != client_kx) {
- fail("got unexpected key exchange algorithm: %s (expected %s)\n", gnutls_kx_get_name(gnutls_kx_get(client)), gnutls_kx_get_name(client_kx));
+ fail("got unexpected key exchange algorithm: %s (expected %s)\n",
+ gnutls_kx_get_name(gnutls_kx_get(client)),
+ gnutls_kx_get_name(client_kx));
exit(1);
}
diff --git a/tests/tls12-cert-key-exchange.c b/tests/tls12-cert-key-exchange.c
index 51aeed1e9f..5ef87bcf1d 100644
--- a/tests/tls12-cert-key-exchange.c
+++ b/tests/tls12-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -50,10 +50,11 @@ void doit(void)
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
GNUTLS_SIGN_UNKNOWN);
- try_x509("TLS 1.2 with ecdhe x25519 rsa no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ try_x509(
+ "TLS 1.2 with ecdhe x25519 rsa no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
try_x509("TLS 1.2 with ecdhe rsa no-cli-cert (ctype X.509)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA",
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
@@ -64,61 +65,64 @@ void doit(void)
GNUTLS_SIGN_UNKNOWN, &server_ca3_localhost_ecc_cert,
&server_ca3_ecc_key, NULL, NULL, 0, GNUTLS_CRT_X509,
GNUTLS_CRT_UNKNOWN);
- try_x509("TLS 1.2 with ecdhe rsa-pss sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ try_x509(
+ "TLS 1.2 with ecdhe rsa-pss sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
/* Test RSA-PSS cert/key combo issues */
- try_with_key
- ("TLS 1.2 with ecdhe with rsa-pss-sha256 key no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
- GNUTLS_CRT_UNKNOWN);
- try_with_key
- ("TLS 1.2 with ecdhe with rsa-pss-sha256 key and 1 sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
- GNUTLS_CRT_UNKNOWN);
- try_with_key
- ("TLS 1.2 with ecdhe with rsa-pss-sha256 key and rsa-pss-sha384 first sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
- GNUTLS_CRT_UNKNOWN);
- try_with_key
- ("TLS 1.2 with ecdhe with rsa-pss-sha256 key and rsa-pss-sha512 first sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
- GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with ecdhe with rsa-pss-sha256 key no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with ecdhe with rsa-pss-sha256 key and 1 sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with ecdhe with rsa-pss-sha256 key and rsa-pss-sha384 first sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with ecdhe with rsa-pss-sha256 key and rsa-pss-sha512 first sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
- try_x509("TLS 1.2 with ecdhe rsa-pss no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_with_key
- ("TLS 1.2 with ecdhe rsa-pss/rsa-pss no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss_cert,
- &server_ca3_rsa_pss_key, NULL, NULL, 0, GNUTLS_CRT_X509,
- GNUTLS_CRT_UNKNOWN);
+ try_x509(
+ "TLS 1.2 with ecdhe rsa-pss no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with ecdhe rsa-pss/rsa-pss no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss_cert,
+ &server_ca3_rsa_pss_key, NULL, NULL, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
try_x509("TLS 1.2 with rsa no-cli-cert (ctype X.509)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA", GNUTLS_KX_RSA,
GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
- try_with_key
- ("TLS 1.2 with ecdhe x25519 ed25519 no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
- GNUTLS_KX_ECDHE_ECDSA, GNUTLS_SIGN_EDDSA_ED25519,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_eddsa_cert, &server_ca3_eddsa_key,
- NULL, NULL, 0, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with ecdhe x25519 ed25519 no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_SIGN_EDDSA_ED25519,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, NULL, NULL, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
try_x509_cli("TLS 1.2 with dhe-rsa cli-cert (ctype X.509)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
@@ -138,25 +142,28 @@ void doit(void)
GNUTLS_SIGN_RSA_SHA256, &server_ca3_localhost_ecc_cert,
&server_ca3_ecc_key, &cli_ca3_cert, &cli_ca3_key, USE_CERT,
GNUTLS_CRT_X509, GNUTLS_CRT_X509);
- try_x509_cli("TLS 1.2 with ecdhe-rsa-pss cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, USE_CERT);
- try_with_key
- ("TLS 1.2 with ecdhe-rsa-pss/rsa-pss cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_RSA_PSS_SHA256, &server_ca3_rsa_pss_cert,
- &server_ca3_rsa_pss_key, &cli_ca3_rsa_pss_cert,
- &cli_ca3_rsa_pss_key, USE_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
+ try_x509_cli(
+ "TLS 1.2 with ecdhe-rsa-pss cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, USE_CERT);
+ try_with_key(
+ "TLS 1.2 with ecdhe-rsa-pss/rsa-pss cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_RSA_PSS_SHA256, &server_ca3_rsa_pss_cert,
+ &server_ca3_rsa_pss_key, &cli_ca3_rsa_pss_cert,
+ &cli_ca3_rsa_pss_key, USE_CERT, GNUTLS_CRT_X509,
+ GNUTLS_CRT_X509);
- try_with_key("TLS 1.2 with ecdhe x25519 ed25519 cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
- GNUTLS_KX_ECDHE_ECDSA, GNUTLS_SIGN_EDDSA_ED25519,
- GNUTLS_SIGN_EDDSA_ED25519, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, USE_CERT, GNUTLS_CRT_X509,
- GNUTLS_CRT_X509);
+ try_with_key(
+ "TLS 1.2 with ecdhe x25519 ed25519 cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_SIGN_EDDSA_ED25519,
+ GNUTLS_SIGN_EDDSA_ED25519, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, USE_CERT, GNUTLS_CRT_X509,
+ GNUTLS_CRT_X509);
try_x509_cli("TLS 1.2 with dhe-rsa ask cli-cert (ctype X.509)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA",
@@ -182,50 +189,58 @@ void doit(void)
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+CTYPE-ALL",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.2 with ecdhe x25519 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.2 with ecdhe x25519 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
try_rawpk("TLS 1.2 with ecdhe rsa no-cli-cert (ctype Raw PK)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+CTYPE-ALL",
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.2 with ecdhe rsa-pss sig no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.2 with ecdhe rsa-pss no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.2 with ecdhe rsa-pss sig no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.2 with ecdhe rsa-pss no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
try_rawpk("TLS 1.2 with rsa no-cli-cert (ctype Raw PK)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA:+CTYPE-ALL",
GNUTLS_KX_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN);
- try_rawpk_cli("TLS 1.2 with dhe-rsa cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+CTYPE-ALL",
- GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_RSA_SHA256, USE_CERT);
- try_rawpk_cli("TLS 1.2 with ecdhe-rsa cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_RSA_SHA256, USE_CERT);
+ try_rawpk_cli(
+ "TLS 1.2 with dhe-rsa cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+CTYPE-ALL",
+ GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_RSA_SHA256, USE_CERT);
+ try_rawpk_cli(
+ "TLS 1.2 with ecdhe-rsa cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_RSA_SHA256, USE_CERT);
try_rawpk_cli("TLS 1.2 with rsa cli-cert (ctype Raw PK)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA:+CTYPE-ALL",
GNUTLS_KX_RSA, GNUTLS_SIGN_UNKNOWN,
GNUTLS_SIGN_RSA_SHA256, USE_CERT);
- try_rawpk_cli("TLS 1.2 with ecdhe-rsa-pss cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, USE_CERT);
- try_rawpk_cli("TLS 1.2 with dhe-rsa ask cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+CTYPE-ALL",
- GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN, ASK_CERT);
- try_rawpk_cli("TLS 1.2 with ecdhe-rsa ask cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN, ASK_CERT);
+ try_rawpk_cli(
+ "TLS 1.2 with ecdhe-rsa-pss cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_RSA_PSS_RSAE_SHA256, USE_CERT);
+ try_rawpk_cli(
+ "TLS 1.2 with dhe-rsa ask cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:+CTYPE-ALL",
+ GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256, GNUTLS_SIGN_UNKNOWN,
+ ASK_CERT);
+ try_rawpk_cli(
+ "TLS 1.2 with ecdhe-rsa ask cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_UNKNOWN, ASK_CERT);
try_rawpk_cli("TLS 1.2 with rsa ask cli-cert (ctype Raw PK)",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+RSA:+CTYPE-ALL",
GNUTLS_KX_RSA, GNUTLS_SIGN_UNKNOWN, GNUTLS_SIGN_UNKNOWN,
@@ -233,25 +248,25 @@ void doit(void)
/** Illegal setups **/
server_priority = "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA";
- try_with_key_fail
- ("TLS 1.2 with rsa cert and only RSA-PSS sig algos in client",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
- &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL);
+ try_with_key_fail(
+ "TLS 1.2 with rsa cert and only RSA-PSS sig algos in client",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
+ &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL);
server_priority = NULL;
- try_with_key_fail("TLS 1.2 with rsa cert and only RSA-PSS sig algos",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
- &server_ca3_localhost_cert, &server_ca3_key, NULL,
- NULL);
+ try_with_key_fail(
+ "TLS 1.2 with rsa cert and only RSA-PSS sig algos",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-RSA:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
+ &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL);
- try_with_key_fail
- ("TLS 1.2 with rsa-pss cert and rsa cli cert with only RSA-PSS sig algos",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_AGAIN, GNUTLS_E_UNWANTED_ALGORITHM,
- &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key, &cli_ca3_cert,
- &cli_ca3_key);
+ try_with_key_fail(
+ "TLS 1.2 with rsa-pss cert and rsa cli cert with only RSA-PSS sig algos",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_AGAIN, GNUTLS_E_UNWANTED_ALGORITHM,
+ &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
+ &cli_ca3_cert, &cli_ca3_key);
try_with_key_fail("TLS 1.2 with rsa encryption cert without RSA",
"NORMAL:-VERS-ALL:+VERS-TLS1.2:-RSA",
@@ -259,93 +274,96 @@ void doit(void)
&server_ca3_localhost_rsa_decrypt_cert,
&server_ca3_key, NULL, NULL);
- try_with_key_fail
- ("TLS 1.2 with (forced) rsa encryption cert and no RSA - client should detect",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-RSA:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
- GNUTLS_E_AGAIN, GNUTLS_E_KEY_USAGE_VIOLATION,
- &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key, NULL,
- NULL);
+ try_with_key_fail(
+ "TLS 1.2 with (forced) rsa encryption cert and no RSA - client should detect",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-RSA:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
+ GNUTLS_E_AGAIN, GNUTLS_E_KEY_USAGE_VIOLATION,
+ &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key, NULL,
+ NULL);
try_with_key_fail("TLS 1.2 with client rsa encryption cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- GNUTLS_E_AGAIN, GNUTLS_E_KEY_USAGE_VIOLATION,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2", GNUTLS_E_AGAIN,
+ GNUTLS_E_KEY_USAGE_VIOLATION,
&server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
&server_ca3_localhost_rsa_decrypt_cert,
&server_ca3_key);
- try_with_key_fail
- ("TLS 1.2 with (forced) client rsa encryption cert - server should detect",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
- GNUTLS_E_KEY_USAGE_VIOLATION, GNUTLS_E_AGAIN,
- &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
- &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key);
+ try_with_key_fail(
+ "TLS 1.2 with (forced) client rsa encryption cert - server should detect",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
+ GNUTLS_E_KEY_USAGE_VIOLATION, GNUTLS_E_AGAIN,
+ &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
+ &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key);
- try_with_rawpk_key_fail
- ("rawpk TLS 1.2 with rsa encryption cert without KX-RSA",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-RAWPK:-RSA",
- GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN, &rawpk_public_key1,
- &rawpk_private_key1, GNUTLS_KEY_KEY_ENCIPHERMENT, NULL, NULL, 0);
+ try_with_rawpk_key_fail(
+ "rawpk TLS 1.2 with rsa encryption cert without KX-RSA",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-RAWPK:-RSA",
+ GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN, &rawpk_public_key1,
+ &rawpk_private_key1, GNUTLS_KEY_KEY_ENCIPHERMENT, NULL, NULL,
+ 0);
- try_with_rawpk_key_fail
- ("rawpk TLS 1.2 with client rsa encryption cert without KX-RSA",
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-RAWPK:-RSA", GNUTLS_E_AGAIN,
- GNUTLS_E_KEY_USAGE_VIOLATION, &rawpk_public_key2,
- &rawpk_private_key2, 0, &rawpk_public_key1, &rawpk_private_key1,
- GNUTLS_KEY_KEY_ENCIPHERMENT);
+ try_with_rawpk_key_fail(
+ "rawpk TLS 1.2 with client rsa encryption cert without KX-RSA",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:+CTYPE-RAWPK:-RSA",
+ GNUTLS_E_AGAIN, GNUTLS_E_KEY_USAGE_VIOLATION,
+ &rawpk_public_key2, &rawpk_private_key2, 0, &rawpk_public_key1,
+ &rawpk_private_key1, GNUTLS_KEY_KEY_ENCIPHERMENT);
#ifdef ENABLE_GOST
if (!gnutls_fips140_mode_enabled()) {
server_priority = "NORMAL:+CTYPE-ALL"
- ":+VKO-GOST-12"
- ":+GROUP-GOST-ALL"
- ":+CIPHER-GOST-ALL" ":+MAC-GOST-ALL" ":+SIGN-GOST-ALL";
+ ":+VKO-GOST-12"
+ ":+GROUP-GOST-ALL"
+ ":+CIPHER-GOST-ALL"
+ ":+MAC-GOST-ALL"
+ ":+SIGN-GOST-ALL";
const char *gost_client_prio =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL";
- try_with_key
- ("TLS 1.2 with gost12 256 no-cli-cert (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_UNKNOWN,
- &server_ca3_gost12_256_cert, &server_ca3_gost12_256_key,
- NULL, NULL, 0, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key
- ("TLS 1.2 with gost12 256 ask cli-cert (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_UNKNOWN,
- &server_ca3_gost12_256_cert, &server_ca3_gost12_256_key,
- NULL, NULL, ASK_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
- try_with_key
- ("TLS 1.2 with gost12 256 use cli-cert (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_GOST_256,
- &server_ca3_gost12_256_cert, &server_ca3_gost12_256_key,
- &cligost12_256_ca3_cert, &cligost12_256_ca3_key, USE_CERT,
- GNUTLS_CRT_X509, GNUTLS_CRT_X509);
- try_with_key
- ("TLS 1.2 with gost12 512 no-cli-cert (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_UNKNOWN,
- &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
- NULL, NULL, 0, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key
- ("TLS 1.2 with gost12 512 ask cli-cert (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_UNKNOWN,
- &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
- NULL, NULL, ASK_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
- try_with_key
- ("TLS 1.2 with gost12 512 use cli-cert (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_GOST_512,
- &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
- &cligost12_512_ca3_cert, &cligost12_512_ca3_key, USE_CERT,
- GNUTLS_CRT_X509, GNUTLS_CRT_X509);
- try_with_key
- ("TLS 1.2 with gost12 512 use cli-cert gost12 256 (ctype X.509)",
- gost_client_prio, GNUTLS_KX_VKO_GOST_12,
- GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_GOST_256,
- &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
- &cligost12_256_ca3_cert, &cligost12_256_ca3_key, USE_CERT,
- GNUTLS_CRT_X509, GNUTLS_CRT_X509);
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL";
+ try_with_key(
+ "TLS 1.2 with gost12 256 no-cli-cert (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_UNKNOWN,
+ &server_ca3_gost12_256_cert, &server_ca3_gost12_256_key,
+ NULL, NULL, 0, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with gost12 256 ask cli-cert (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_UNKNOWN,
+ &server_ca3_gost12_256_cert, &server_ca3_gost12_256_key,
+ NULL, NULL, ASK_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
+ try_with_key(
+ "TLS 1.2 with gost12 256 use cli-cert (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_256, GNUTLS_SIGN_GOST_256,
+ &server_ca3_gost12_256_cert, &server_ca3_gost12_256_key,
+ &cligost12_256_ca3_cert, &cligost12_256_ca3_key,
+ USE_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
+ try_with_key(
+ "TLS 1.2 with gost12 512 no-cli-cert (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_UNKNOWN,
+ &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
+ NULL, NULL, 0, GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key(
+ "TLS 1.2 with gost12 512 ask cli-cert (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_UNKNOWN,
+ &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
+ NULL, NULL, ASK_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
+ try_with_key(
+ "TLS 1.2 with gost12 512 use cli-cert (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_GOST_512,
+ &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
+ &cligost12_512_ca3_cert, &cligost12_512_ca3_key,
+ USE_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
+ try_with_key(
+ "TLS 1.2 with gost12 512 use cli-cert gost12 256 (ctype X.509)",
+ gost_client_prio, GNUTLS_KX_VKO_GOST_12,
+ GNUTLS_SIGN_GOST_512, GNUTLS_SIGN_GOST_256,
+ &server_ca3_gost12_512_cert, &server_ca3_gost12_512_key,
+ &cligost12_256_ca3_cert, &cligost12_256_ca3_key,
+ USE_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
server_priority = NULL;
}
#endif
diff --git a/tests/tls12-cipher-neg.c b/tests/tls12-cipher-neg.c
index 501c2b9b76..23e6bc902c 100644
--- a/tests/tls12-cipher-neg.c
+++ b/tests/tls12-cipher-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -39,215 +39,179 @@
test_case_st tests[] = {
{
- .name = "server TLS 1.2: NULL (server)",
- .not_on_fips = 1,
- .cipher = GNUTLS_CIPHER_NULL,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+NULL",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
- },
- {
- .name = "client TLS 1.2: NULL (client)",
- .not_on_fips = 1,
- .cipher = GNUTLS_CIPHER_NULL,
- .server_prio = "NORMAL:+NULL",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
- },
- {
- .name = "server TLS 1.2: AES-128-GCM (server)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-GCM",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)"},
- {
- .name = "both TLS 1.2: AES-128-GCM (server)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-GCM:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)"},
- {
- .name = "client TLS 1.2: AES-128-GCM (client)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .server_prio = "NORMAL:+AES-128-GCM",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)"},
- {
- .name = "both TLS 1.2: AES-128-GCM (client)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .server_prio = "NORMAL:+AES-128-GCM:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)"},
- {
- .name = "server TLS 1.2: AES-128-CCM (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CCM",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)"},
- {
- .name = "both TLS 1.2: AES-128-CCM (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CCM:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)"},
- {
- .name = "client TLS 1.2: AES-128-CCM (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .server_prio = "NORMAL:+AES-128-CCM",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)"},
- {
- .name = "both TLS 1.2: AES-128-CCM (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .server_prio = "NORMAL:+AES-128-CCM:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)"},
- {
- .name = "server TLS 1.2: CHACHA20-POLY (server)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+CHACHA20-POLY1305",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)"},
- {
- .name = "both TLS 1.2: CHACHA20-POLY (server)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+CHACHA20-POLY1305:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)"},
- {
- .name = "client TLS 1.2: CHACHA20-POLY (client)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+CHACHA20-POLY1305",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)"},
- {
- .name = "both TLS 1.2: CHACHA20-POLY (client)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+CHACHA20-POLY1305:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)"},
- {
- .name = "server TLS 1.2: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)"},
- {
- .name = "both TLS 1.2: AES-128-CBC (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)"},
- {
- .name = "client TLS 1.2: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)"},
- {
- .name = "both TLS 1.2: AES-128-CBC (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CBC,
- .server_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)"},
- {
- .name = "server TLS 1.2: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)"},
- {
- .name = "both TLS 1.2: 3DES-CBC (server)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)"},
- {
- .name = "client TLS 1.2: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+3DES-CBC",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)"},
- {
- .name = "both TLS 1.2: 3DES-CBC (client)",
- .cipher = GNUTLS_CIPHER_3DES_CBC,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)"},
- {
- .name = "server TLS 1.2: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)"},
- {
- .name = "both TLS 1.2: ARCFOUR-128 (server)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
- .client_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)"},
- {
- .name = "client TLS 1.2: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)"},
- {
- .name = "both TLS 1.2: ARCFOUR-128 (client)",
- .cipher = GNUTLS_CIPHER_ARCFOUR_128,
- .not_on_fips = 1,
- .server_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
- .desc =
- "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)"}
+ .name = "server TLS 1.2: NULL (server)",
+ .not_on_fips = 1,
+ .cipher = GNUTLS_CIPHER_NULL,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+NULL",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
+ },
+ {
+ .name = "client TLS 1.2: NULL (client)",
+ .not_on_fips = 1,
+ .cipher = GNUTLS_CIPHER_NULL,
+ .server_prio = "NORMAL:+NULL",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+NULL:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
+ },
+ { .name = "server TLS 1.2: AES-128-GCM (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-GCM",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)" },
+ { .name = "both TLS 1.2: AES-128-GCM (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-GCM:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)" },
+ { .name = "client TLS 1.2: AES-128-GCM (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .server_prio = "NORMAL:+AES-128-GCM",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)" },
+ { .name = "both TLS 1.2: AES-128-GCM (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .server_prio = "NORMAL:+AES-128-GCM:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-GCM)" },
+ { .name = "server TLS 1.2: AES-128-CCM (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CCM",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)" },
+ { .name = "both TLS 1.2: AES-128-CCM (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CCM:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)" },
+ { .name = "client TLS 1.2: AES-128-CCM (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .server_prio = "NORMAL:+AES-128-CCM",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)" },
+ { .name = "both TLS 1.2: AES-128-CCM (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .server_prio = "NORMAL:+AES-128-CCM:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CCM)" },
+ { .name = "server TLS 1.2: CHACHA20-POLY (server)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+CHACHA20-POLY1305",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)" },
+ { .name = "both TLS 1.2: CHACHA20-POLY (server)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+CHACHA20-POLY1305:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)" },
+ { .name = "client TLS 1.2: CHACHA20-POLY (client)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+CHACHA20-POLY1305",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)" },
+ { .name = "both TLS 1.2: CHACHA20-POLY (client)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+CHACHA20-POLY1305:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(CHACHA20-POLY1305)" },
+ { .name = "server TLS 1.2: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)" },
+ { .name = "both TLS 1.2: AES-128-CBC (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)" },
+ { .name = "client TLS 1.2: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)" },
+ { .name = "both TLS 1.2: AES-128-CBC (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CBC,
+ .server_prio = "NORMAL:+AES-128-CBC:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+AES-128-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(AES-128-CBC)-(SHA1)" },
+ { .name = "server TLS 1.2: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)" },
+ { .name = "both TLS 1.2: 3DES-CBC (server)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)" },
+ { .name = "client TLS 1.2: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+3DES-CBC",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)" },
+ { .name = "both TLS 1.2: 3DES-CBC (client)",
+ .cipher = GNUTLS_CIPHER_3DES_CBC,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+3DES-CBC:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+3DES-CBC:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(3DES-CBC)-(SHA1)" },
+ { .name = "server TLS 1.2: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)" },
+ { .name = "both TLS 1.2: ARCFOUR-128 (server)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2:%SERVER_PRECEDENCE",
+ .client_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)" },
+ { .name = "client TLS 1.2: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)" },
+ { .name = "both TLS 1.2: ARCFOUR-128 (client)",
+ .cipher = GNUTLS_CIPHER_ARCFOUR_128,
+ .not_on_fips = 1,
+ .server_prio = "NORMAL:+ARCFOUR-128:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-CIPHER-ALL:+ARCFOUR-128:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(ARCFOUR-128)-(SHA1)" }
};
void doit(void)
diff --git a/tests/tls12-ffdhe.c b/tests/tls12-ffdhe.c
index 08747620af..9a182c017f 100644
--- a/tests/tls12-ffdhe.c
+++ b/tests/tls12-ffdhe.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -48,14 +48,13 @@ typedef struct test_case_st {
unsigned have_ecc_sign_cert;
unsigned have_rsa_decrypt_cert;
unsigned not_on_fips;
- unsigned group; /* expected */
+ unsigned group; /* expected */
const char *client_prio;
const char *server_prio;
} test_case_st;
-static int
-serv_psk_func(gnutls_session_t session, const char *username,
- gnutls_datum_t * key)
+static int serv_psk_func(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
key->data = gnutls_malloc(4);
assert(key->data != NULL);
@@ -67,7 +66,7 @@ serv_psk_func(gnutls_session_t session, const char *username,
return 0;
}
-static void try(test_case_st * test)
+static void try(test_case_st *test)
{
int sret, cret;
gnutls_anon_client_credentials_t c_anon_cred;
@@ -114,21 +113,22 @@ static void try(test_case_st * test)
}
if (test->have_rsa_decrypt_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_rsa_decrypt_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred,
+ &server_ca3_localhost_rsa_decrypt_cert,
+ &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_ecc_sign_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_ecc_cert,
- &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_ecc_cert,
+ &server_ca3_ecc_key, GNUTLS_X509_FMT_PEM) >= 0);
}
if (test->have_rsa_sign_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (s_cert_cred, &server_ca3_localhost_rsa_sign_cert,
- &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ s_cert_cred, &server_ca3_localhost_rsa_sign_cert,
+ &server_ca3_key, GNUTLS_X509_FMT_PEM) >= 0);
}
/* client does everything */
@@ -136,8 +136,8 @@ static void try(test_case_st * test)
gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, c_cert_cred);
gnutls_credentials_set(client, GNUTLS_CRD_PSK, c_psk_cred);
- assert(gnutls_psk_set_client_credentials
- (c_psk_cred, "psk", &pskkey, GNUTLS_PSK_KEY_HEX) >= 0);
+ assert(gnutls_psk_set_client_credentials(c_psk_cred, "psk", &pskkey,
+ GNUTLS_PSK_KEY_HEX) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
@@ -160,21 +160,21 @@ static void try(test_case_st * test)
}
if (test->group) {
- if (test->group == GNUTLS_GROUP_FFDHE2048
- || test->group == GNUTLS_GROUP_FFDHE3072
- || test->group == GNUTLS_GROUP_FFDHE4096
- || test->group == GNUTLS_GROUP_FFDHE6144
- || test->group == GNUTLS_GROUP_FFDHE8192) {
- if (!
- (gnutls_session_get_flags(client) &
- GNUTLS_SFLAGS_RFC7919)) {
- fail("%s: gnutls_session_get_flags(client) reports that no RFC7919 negotiation was performed!\n", test->name);
+ if (test->group == GNUTLS_GROUP_FFDHE2048 ||
+ test->group == GNUTLS_GROUP_FFDHE3072 ||
+ test->group == GNUTLS_GROUP_FFDHE4096 ||
+ test->group == GNUTLS_GROUP_FFDHE6144 ||
+ test->group == GNUTLS_GROUP_FFDHE8192) {
+ if (!(gnutls_session_get_flags(client) &
+ GNUTLS_SFLAGS_RFC7919)) {
+ fail("%s: gnutls_session_get_flags(client) reports that no RFC7919 negotiation was performed!\n",
+ test->name);
}
- if (!
- (gnutls_session_get_flags(server) &
- GNUTLS_SFLAGS_RFC7919)) {
- fail("%s: gnutls_session_get_flags(server) reports that no RFC7919 negotiation was performed!\n", test->name);
+ if (!(gnutls_session_get_flags(server) &
+ GNUTLS_SFLAGS_RFC7919)) {
+ fail("%s: gnutls_session_get_flags(server) reports that no RFC7919 negotiation was performed!\n",
+ test->name);
}
}
}
@@ -191,226 +191,204 @@ static void try(test_case_st * test)
}
test_case_st tests[] = {
- {
- .name = "TLS 1.2 ANON-DH (defaults)",
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ANON-DH (FFDHE2048)",
- .group = GNUTLS_GROUP_FFDHE2048,
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048",
- .client_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048"},
- {
- .name = "TLS 1.2 ANON-DH (FFDHE3072)",
- .group = GNUTLS_GROUP_FFDHE3072,
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072",
- .client_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072"},
- {
- .name = "TLS 1.2 ANON-DH (FFDHE4096)",
- .group = GNUTLS_GROUP_FFDHE4096,
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096",
- .client_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096"},
- {
- .name = "TLS 1.2 ANON-DH (FFDHE6144)",
- .group = GNUTLS_GROUP_FFDHE6144,
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144",
- .client_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144"},
- {
- .name = "TLS 1.2 ANON-DH (FFDHE8192)",
- .group = GNUTLS_GROUP_FFDHE8192,
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
- .client_prio =
- "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192"},
- {
- .name = "TLS 1.2 DHE-PSK (defaults)",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-PSK (FFDHE2048)",
- .client_ret = 0,
- .server_ret = 0,
- .group = GNUTLS_GROUP_FFDHE2048,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048"},
- {
- .name = "TLS 1.2 DHE-PSK (FFDHE3072)",
- .group = GNUTLS_GROUP_FFDHE3072,
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072"},
- {
- .name = "TLS 1.2 DHE-PSK (FFDHE4096)",
- .group = GNUTLS_GROUP_FFDHE4096,
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096"},
- {
- .name = "TLS 1.2 DHE-PSK (FFDHE6144)",
- .client_ret = 0,
- .server_ret = 0,
- .group = GNUTLS_GROUP_FFDHE6144,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144"},
- {
- .name = "TLS 1.2 DHE-PSK (FFDHE8192)",
- .group = GNUTLS_GROUP_FFDHE8192,
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192"},
- {
- .name = "TLS 1.2 DHE-RSA (defaults)",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA (FFDHE2048)",
- .group = GNUTLS_GROUP_FFDHE2048,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048"},
- {
- .name = "TLS 1.2 DHE-RSA (FFDHE3072)",
- .group = GNUTLS_GROUP_FFDHE3072,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072"},
- {
- .name = "TLS 1.2 DHE-RSA (FFDHE4096)",
- .group = GNUTLS_GROUP_FFDHE4096,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096"},
- {
- .name = "TLS 1.2 DHE-RSA (FFDHE6144)",
- .group = GNUTLS_GROUP_FFDHE6144,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144"},
- {
- .name = "TLS 1.2 DHE-RSA (FFDHE8192)",
- .group = GNUTLS_GROUP_FFDHE8192,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192"},
- {
- .name = "TLS 1.2 DHE-RSA (incompatible options)",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072"},
- {
- .name = "TLS 1.2 DHE-RSA (complex neg)",
- .group = GNUTLS_GROUP_FFDHE3072,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072"},
- {
- .name = "TLS 1.2 DHE-RSA (negotiation over ECDHE)",
- .group = GNUTLS_GROUP_FFDHE3072,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-FFDHE8192:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
- .client_prio =
- "NORMAL:-KX-ALL:+DHE-RSA:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-FFDHE3072"},
- {
- .name = "TLS 1.2 DHE-RSA (negotiation over ECDHE - prio on ECDHE)",
- .group = GNUTLS_GROUP_SECP256R1,
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192:+GROUP-FFDHE2048:+GROUP-FFDHE3072:+GROUP-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072:+GROUP-SECP256R1"}
+ { .name = "TLS 1.2 ANON-DH (defaults)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ANON-DH (FFDHE2048)",
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048" },
+ { .name = "TLS 1.2 ANON-DH (FFDHE3072)",
+ .group = GNUTLS_GROUP_FFDHE3072,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072" },
+ { .name = "TLS 1.2 ANON-DH (FFDHE4096)",
+ .group = GNUTLS_GROUP_FFDHE4096,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096" },
+ { .name = "TLS 1.2 ANON-DH (FFDHE6144)",
+ .group = GNUTLS_GROUP_FFDHE6144,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144" },
+ { .name = "TLS 1.2 ANON-DH (FFDHE8192)",
+ .group = GNUTLS_GROUP_FFDHE8192,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192" },
+ { .name = "TLS 1.2 DHE-PSK (defaults)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-PSK (FFDHE2048)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048" },
+ { .name = "TLS 1.2 DHE-PSK (FFDHE3072)",
+ .group = GNUTLS_GROUP_FFDHE3072,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072" },
+ { .name = "TLS 1.2 DHE-PSK (FFDHE4096)",
+ .group = GNUTLS_GROUP_FFDHE4096,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096" },
+ { .name = "TLS 1.2 DHE-PSK (FFDHE6144)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .group = GNUTLS_GROUP_FFDHE6144,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144" },
+ { .name = "TLS 1.2 DHE-PSK (FFDHE8192)",
+ .group = GNUTLS_GROUP_FFDHE8192,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192" },
+ { .name = "TLS 1.2 DHE-RSA (defaults)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA (FFDHE2048)",
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE2048" },
+ { .name = "TLS 1.2 DHE-RSA (FFDHE3072)",
+ .group = GNUTLS_GROUP_FFDHE3072,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072" },
+ { .name = "TLS 1.2 DHE-RSA (FFDHE4096)",
+ .group = GNUTLS_GROUP_FFDHE4096,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE4096" },
+ { .name = "TLS 1.2 DHE-RSA (FFDHE6144)",
+ .group = GNUTLS_GROUP_FFDHE6144,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE6144" },
+ { .name = "TLS 1.2 DHE-RSA (FFDHE8192)",
+ .group = GNUTLS_GROUP_FFDHE8192,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192" },
+ { .name = "TLS 1.2 DHE-RSA (incompatible options)",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072" },
+ { .name = "TLS 1.2 DHE-RSA (complex neg)",
+ .group = GNUTLS_GROUP_FFDHE3072,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072" },
+ { .name = "TLS 1.2 DHE-RSA (negotiation over ECDHE)",
+ .group = GNUTLS_GROUP_FFDHE3072,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-FFDHE8192:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
+ .client_prio =
+ "NORMAL:-KX-ALL:+DHE-RSA:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-FFDHE3072" },
+ { .name = "TLS 1.2 DHE-RSA (negotiation over ECDHE - prio on ECDHE)",
+ .group = GNUTLS_GROUP_SECP256R1,
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE8192:+GROUP-FFDHE2048:+GROUP-FFDHE3072:+GROUP-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-FFDHE3072:+GROUP-SECP256R1" }
};
void doit(void)
diff --git a/tests/tls12-invalid-key-exchanges.c b/tests/tls12-invalid-key-exchanges.c
index a21ed76280..f49604a54d 100644
--- a/tests/tls12-invalid-key-exchanges.c
+++ b/tests/tls12-invalid-key-exchanges.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -43,16 +43,13 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-void try_with_key(const char *name,
- const char *server_prio,
- const char *client_prio,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * client_cert,
- const gnutls_datum_t * client_key,
- unsigned cert_flags,
- int exp_error_server, int exp_error_client)
+static void try_with_key(const char *name, const char *server_prio,
+ const char *client_prio,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *client_cert,
+ const gnutls_datum_t *client_key, unsigned cert_flags,
+ int exp_error_server, int exp_error_client)
{
int ret;
/* Server stuff. */
@@ -74,9 +71,8 @@ void try_with_key(const char *name,
gnutls_anon_allocate_server_credentials(&s_anoncred);
gnutls_certificate_allocate_credentials(&serverx509cred);
- ret = gnutls_certificate_set_x509_key_mem(serverx509cred,
- serv_cert, serv_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, serv_cert, serv_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("Could not set key/cert: %s\n", gnutls_strerror(ret));
}
@@ -108,8 +104,8 @@ void try_with_key(const char *name,
exit(1);
if (cert_flags == USE_CERT) {
- gnutls_certificate_set_x509_key_mem(clientx509cred,
- client_cert, client_key,
+ gnutls_certificate_set_x509_key_mem(clientx509cred, client_cert,
+ client_key,
GNUTLS_X509_FMT_PEM);
gnutls_certificate_server_set_request(server,
GNUTLS_CERT_REQUIRE);
@@ -168,17 +164,17 @@ void doit(void)
/* check compatibility and handling of SIGN-ECDSA-SECP256R1-SHA256 which
* is available under TLS1.3 but not TLS1.2 */
- try_with_key("TLS 1.2 with ecdhe ecdsa with ECDSA-SECP256R1-SHA256",
- NULL,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:+SIGN-ECDSA-SECP384R1-SHA384:+SIGN-ECDSA-SECP521R1-SHA512:+SIGN-RSA-SHA256",
- &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key, NULL,
- NULL, 0, GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN);
-
- try_with_key("TLS 1.2 with ecdhe ecdsa with ECDSA-SHA256",
- NULL,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-ECDSA-SHA256:+SIGN-RSA-SHA256",
- &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key, NULL,
- NULL, 0, 0, 0);
+ try_with_key(
+ "TLS 1.2 with ecdhe ecdsa with ECDSA-SECP256R1-SHA256", NULL,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:+SIGN-ECDSA-SECP384R1-SHA384:+SIGN-ECDSA-SECP521R1-SHA512:+SIGN-RSA-SHA256",
+ &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key, NULL, NULL,
+ 0, GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN);
+
+ try_with_key(
+ "TLS 1.2 with ecdhe ecdsa with ECDSA-SHA256", NULL,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-SIGN-ALL:+SIGN-ECDSA-SHA256:+SIGN-RSA-SHA256",
+ &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key, NULL, NULL,
+ 0, 0, 0);
gnutls_global_deinit();
}
diff --git a/tests/tls12-max-record.c b/tests/tls12-max-record.c
index 1d2a0e2ca9..cdf700c387 100644
--- a/tests/tls12-max-record.c
+++ b/tests/tls12-max-record.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,7 +30,9 @@
#include <gnutls/gnutls.h>
#include "utils.h"
-#define SERVER_PUSH_ADD if (len > 512 + 5+32) fail("max record set to 512, len: %d\n", (int)len);
+#define SERVER_PUSH_ADD \
+ if (len > 512 + 5 + 32) \
+ fail("max record set to 512, len: %d\n", (int)len);
#include "eagain-common.h"
#include "cert-common.h"
@@ -67,15 +69,14 @@ void doit(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server2_cert, &server2_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server2_cert,
+ &server2_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL);
+ gnutls_priority_set_direct(server, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
+ NULL);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_pull_timeout_function(server,
@@ -88,9 +89,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca2_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -103,9 +103,8 @@ void doit(void)
if (ret < 0)
exit(1);
- ret =
- gnutls_priority_set_direct(client, "NORMAL:-VERS-ALL:+VERS-TLS1.2",
- NULL);
+ ret = gnutls_priority_set_direct(client,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2", NULL);
if (ret < 0)
exit(1);
diff --git a/tests/tls12-prf.c b/tests/tls12-prf.c
index fd80cf64d3..7ebf19491c 100644
--- a/tests/tls12-prf.c
+++ b/tests/tls12-prf.c
@@ -31,43 +31,42 @@
#include <cmocka.h>
#include "hex.h"
-int
-_gnutls_prf_raw(gnutls_mac_algorithm_t mac,
- size_t master_size, const void *master,
- size_t label_size, const char *label,
- size_t seed_size, const uint8_t * seed, size_t outsize,
- char *out);
+int _gnutls_prf_raw(gnutls_mac_algorithm_t mac, size_t master_size,
+ const void *master, size_t label_size, const char *label,
+ size_t seed_size, const uint8_t *seed, size_t outsize,
+ char *out);
-#define MATCH_FUNC(fname, mac, dsecret, dseed, dlabel, doutput) \
-static void fname(void **glob_state) \
-{ \
- char tmp[512]; \
- gnutls_datum_t secret = dsecret; \
- gnutls_datum_t seed = dseed; \
- gnutls_datum_t label = dlabel; \
- gnutls_datum_t output = doutput; \
- int _rval; \
- _rval = _gnutls_prf_raw(mac, secret.size, secret.data, \
- label.size, (char*)label.data, seed.size, seed.data, output.size, tmp); \
- assert_int_equal(_rval, 0); \
- assert_int_equal(memcmp(tmp, output.data, output.size), 0); \
- gnutls_free(secret.data); \
- gnutls_free(label.data); \
- gnutls_free(seed.data); \
- gnutls_free(output.data); \
-}
+#define MATCH_FUNC(fname, mac, dsecret, dseed, dlabel, doutput) \
+ static void fname(void **glob_state) \
+ { \
+ char tmp[512]; \
+ gnutls_datum_t secret = dsecret; \
+ gnutls_datum_t seed = dseed; \
+ gnutls_datum_t label = dlabel; \
+ gnutls_datum_t output = doutput; \
+ int _rval; \
+ _rval = _gnutls_prf_raw(mac, secret.size, secret.data, \
+ label.size, (char *)label.data, \
+ seed.size, seed.data, output.size, \
+ tmp); \
+ assert_int_equal(_rval, 0); \
+ assert_int_equal(memcmp(tmp, output.data, output.size), 0); \
+ gnutls_free(secret.data); \
+ gnutls_free(label.data); \
+ gnutls_free(seed.data); \
+ gnutls_free(output.data); \
+ }
MATCH_FUNC(sha256_test1, GNUTLS_MAC_SHA256,
SHEX("0450b0ea9ecd3602ee0d76c5c3c86f4a"),
- SHEX("207acc0254b867f5b925b45a33601d8b"),
- SDATA("test label"), SHEX("ae679e0e714f5975763768b166979e1d"));
+ SHEX("207acc0254b867f5b925b45a33601d8b"), SDATA("test label"),
+ SHEX("ae679e0e714f5975763768b166979e1d"));
-MATCH_FUNC(sha256_test2, GNUTLS_MAC_SHA256,
- SHEX("34204a9df0be6eb4e925a8027cf6c602"),
- SHEX("98b2c40bcd664c83bb920c18201a6395"),
- SDATA("test label"),
- SHEX
- ("afa9312453c22fa83d2b511b372d73a402a2a62873239a51fade45082faf3fd2bb7ffb3e9bf36e28b3141aaba484005332a9f9e388a4d329f1587a4b317da07708ea1ba95a53f8786724bd83ce4b03af"));
+MATCH_FUNC(
+ sha256_test2, GNUTLS_MAC_SHA256,
+ SHEX("34204a9df0be6eb4e925a8027cf6c602"),
+ SHEX("98b2c40bcd664c83bb920c18201a6395"), SDATA("test label"),
+ SHEX("afa9312453c22fa83d2b511b372d73a402a2a62873239a51fade45082faf3fd2bb7ffb3e9bf36e28b3141aaba484005332a9f9e388a4d329f1587a4b317da07708ea1ba95a53f8786724bd83ce4b03af"));
MATCH_FUNC(sha256_test3, GNUTLS_MAC_SHA256,
SHEX("a3691aa1f6814b80592bf1cf2acf1697"),
@@ -75,41 +74,35 @@ MATCH_FUNC(sha256_test3, GNUTLS_MAC_SHA256,
SDATA("test label"),
SHEX("6ad0984fa06f78fe161bd46d7c261de43340d728dddc3d0ff0dd7e0d"));
-MATCH_FUNC(sha256_test4, GNUTLS_MAC_SHA256,
- SHEX
- ("210ec937069707e5465bc46bf779e104108b18fdb793be7b218dbf145c8641f3"),
- SHEX("1e351a0baf35c79945924394b881cfe31dae8f1c1ed54d3b"),
- SDATA("test label"),
- SHEX
- ("7653fa809cde3b553c4a17e2cdbcc918f36527f22219a7d7f95d97243ff2d5dee8265ef0af03"));
+MATCH_FUNC(
+ sha256_test4, GNUTLS_MAC_SHA256,
+ SHEX("210ec937069707e5465bc46bf779e104108b18fdb793be7b218dbf145c8641f3"),
+ SHEX("1e351a0baf35c79945924394b881cfe31dae8f1c1ed54d3b"),
+ SDATA("test label"),
+ SHEX("7653fa809cde3b553c4a17e2cdbcc918f36527f22219a7d7f95d97243ff2d5dee8265ef0af03"));
/* https://www.ietf.org/mail-archive/web/tls/current/msg03416.html */
-MATCH_FUNC(sha384_test1, GNUTLS_MAC_SHA384,
- SHEX("b80b733d6ceefcdc71566ea48e5567df"),
- SHEX("cd665cf6a8447dd6ff8b27555edb7465"),
- SDATA("test label"),
- SHEX
- ("7b0c18e9ced410ed1804f2cfa34a336a1c14dffb4900bb5fd7942107e81c83cde9ca0faa60be9fe34f82b1233c9146a0e534cb400fed2700884f9dc236f80edd8bfa961144c9e8d792eca722a7b32fc3d416d473ebc2c5fd4abfdad05d9184259b5bf8cd4d90fa0d31e2dec479e4f1a26066f2eea9a69236a3e52655c9e9aee691c8f3a26854308d5eaa3be85e0990703d73e56f"));
+MATCH_FUNC(
+ sha384_test1, GNUTLS_MAC_SHA384,
+ SHEX("b80b733d6ceefcdc71566ea48e5567df"),
+ SHEX("cd665cf6a8447dd6ff8b27555edb7465"), SDATA("test label"),
+ SHEX("7b0c18e9ced410ed1804f2cfa34a336a1c14dffb4900bb5fd7942107e81c83cde9ca0faa60be9fe34f82b1233c9146a0e534cb400fed2700884f9dc236f80edd8bfa961144c9e8d792eca722a7b32fc3d416d473ebc2c5fd4abfdad05d9184259b5bf8cd4d90fa0d31e2dec479e4f1a26066f2eea9a69236a3e52655c9e9aee691c8f3a26854308d5eaa3be85e0990703d73e56f"));
#if ENABLE_GOST
/*https://tools.ietf.org/html/rfc7836 */
-MATCH_FUNC(streebog256_test1, GNUTLS_MAC_STREEBOG_256,
- SHEX
- ("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"),
- SHEX
- ("18471d622dc655c4d2d2269691ca4a560b50aba663553af241f1ada882c9f29a"),
- SHEX("1122334455"),
- SHEX
- ("ff09664a44745865944f839ebb48965f1544ff1cc8e8f16f247ee5f8a9ebe97fc4e3c7900e46cad3db6a01643063040ec67fc0fd5cd9f90465235237bdff2c02"));
+MATCH_FUNC(
+ streebog256_test1, GNUTLS_MAC_STREEBOG_256,
+ SHEX("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"),
+ SHEX("18471d622dc655c4d2d2269691ca4a560b50aba663553af241f1ada882c9f29a"),
+ SHEX("1122334455"),
+ SHEX("ff09664a44745865944f839ebb48965f1544ff1cc8e8f16f247ee5f8a9ebe97fc4e3c7900e46cad3db6a01643063040ec67fc0fd5cd9f90465235237bdff2c02"));
-MATCH_FUNC(streebog512_test1, GNUTLS_MAC_STREEBOG_512,
- SHEX
- ("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"),
- SHEX
- ("18471d622dc655c4d2d2269691ca4a560b50aba663553af241f1ada882c9f29a"),
- SHEX("1122334455"),
- SHEX
- ("f35187a3dc9655113a0e84d06fd7526c5fc1fbdec1a0e4673dd6d79d0b920e65ad1bc47bb083b3851cb7cd8e7e6a911a626cf02b29e9e4a58ed766a449a7296de61a7a26c4d1caeecfd80cca65c71f0f88c1f822c0e8c0ad949d03fee139579f72ba0c3d32c5f954f1cccd54081fc7440278cba1fe7b7a17a986fdff5bd15d1f"));
+MATCH_FUNC(
+ streebog512_test1, GNUTLS_MAC_STREEBOG_512,
+ SHEX("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"),
+ SHEX("18471d622dc655c4d2d2269691ca4a560b50aba663553af241f1ada882c9f29a"),
+ SHEX("1122334455"),
+ SHEX("f35187a3dc9655113a0e84d06fd7526c5fc1fbdec1a0e4673dd6d79d0b920e65ad1bc47bb083b3851cb7cd8e7e6a911a626cf02b29e9e4a58ed766a449a7296de61a7a26c4d1caeecfd80cca65c71f0f88c1f822c0e8c0ad949d03fee139579f72ba0c3d32c5f954f1cccd54081fc7440278cba1fe7b7a17a986fdff5bd15d1f"));
#endif
int main(void)
diff --git a/tests/tls12-rehandshake-cert-2.c b/tests/tls12-rehandshake-cert-2.c
index 9dcb270485..58aedd547f 100644
--- a/tests/tls12-rehandshake-cert-2.c
+++ b/tests/tls12-rehandshake-cert-2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
static void terminate(void);
@@ -65,7 +65,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, unsigned test)
{
@@ -93,9 +93,9 @@ static void client(int fd, unsigned test)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -108,8 +108,7 @@ static void client(int fd, unsigned test)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -122,8 +121,8 @@ static void client(int fd, unsigned test)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (debug)
success("client: test %d\n", test);
@@ -138,21 +137,19 @@ static void client(int fd, unsigned test)
do {
do {
- ret =
- gnutls_record_recv(session, buffer,
- MAX_BUF);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_recv(session, buffer,
+ MAX_BUF);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
} else {
do {
do {
- ret =
- gnutls_record_recv(session, buffer,
- MAX_BUF);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_recv(session, buffer,
+ MAX_BUF);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
if (ret != GNUTLS_E_REHANDSHAKE) {
@@ -162,8 +159,8 @@ static void client(int fd, unsigned test)
}
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -173,8 +170,8 @@ static void client(int fd, unsigned test)
}
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -182,7 +179,6 @@ static void client(int fd, unsigned test)
(int)sizeof(buffer), gnutls_strerror(ret));
exit(1);
}
-
}
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -237,9 +233,9 @@ static void server(int fd, unsigned test)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -248,8 +244,7 @@ static void server(int fd, unsigned test)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -262,31 +257,30 @@ static void server(int fd, unsigned test)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (debug)
success("server: test %d\n", test);
if (test != 0) {
-
do {
do {
- ret =
- gnutls_record_recv(session, buffer,
- MAX_BUF);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_recv(session, buffer,
+ MAX_BUF);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
if (ret != GNUTLS_E_REHANDSHAKE) {
- fail("server: Error receiving client handshake request: %s\n", gnutls_strerror(ret));
+ fail("server: Error receiving client handshake request: %s\n",
+ gnutls_strerror(ret));
terminate();
}
do {
- ret =
- gnutls_record_send(session, buffer, sizeof(buffer));
+ ret = gnutls_record_send(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
@@ -312,7 +306,8 @@ static void server(int fd, unsigned test)
ret = gnutls_handshake(session);
if (ret != GNUTLS_E_GOT_APPLICATION_DATA) {
- fail("server: didn't receive GNUTLS_E_GOT_APPLICATION_DATA: %s\n", gnutls_strerror(ret));
+ fail("server: didn't receive GNUTLS_E_GOT_APPLICATION_DATA: %s\n",
+ gnutls_strerror(ret));
terminate();
}
@@ -322,11 +317,10 @@ static void server(int fd, unsigned test)
do {
do {
- ret =
- gnutls_record_recv(session, buffer,
- MAX_BUF);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_recv(session, buffer,
+ MAX_BUF);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
if (debug)
@@ -338,7 +332,6 @@ static void server(int fd, unsigned test)
gnutls_strerror(ret));
terminate();
}
-
}
/* do not wait for the peer to close the connection.
@@ -403,4 +396,4 @@ void doit(void)
start(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls12-rehandshake-cert-3.c b/tests/tls12-rehandshake-cert-3.c
index 1a217107ff..e90e4d0cdc 100644
--- a/tests/tls12-rehandshake-cert-3.c
+++ b/tests/tls12-rehandshake-cert-3.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -36,19 +36,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
static void terminate(void);
@@ -67,8 +67,8 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
-# define MAX_REHANDSHAKES 16
+#define MAX_BUF 1024
+#define MAX_REHANDSHAKES 16
static void client(int fd)
{
@@ -87,8 +87,8 @@ static void client(int fd)
}
gnutls_certificate_allocate_credentials(&x509_cred);
- gnutls_certificate_set_x509_key_mem(x509_cred, &cli_cert,
- &cli_key, GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(x509_cred, &cli_cert, &cli_key,
+ GNUTLS_X509_FMT_PEM);
/* Initialize TLS session
*/
@@ -96,9 +96,9 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+VERS-TLS1.1",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+VERS-TLS1.1",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -108,8 +108,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -122,8 +121,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
for (i = 0; i < MAX_REHANDSHAKES; i++) {
do {
@@ -134,7 +133,6 @@ static void client(int fd)
gnutls_strerror(ret));
exit(1);
}
-
}
do {
@@ -197,9 +195,9 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+VERS-TLS1.1",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2:+VERS-TLS1.1",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
gnutls_certificate_server_set_request(session, GNUTLS_CERT_REQUIRE);
@@ -208,8 +206,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -222,8 +219,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
gnutls_certificate_server_set_request(session, GNUTLS_CERT_IGNORE);
@@ -232,18 +229,18 @@ static void server(int fd)
do {
do {
- ret =
- gnutls_record_recv(session, buffer,
- MAX_BUF);
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_recv(session, buffer,
+ MAX_BUF);
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
if (ret == 0)
break;
if (ret != GNUTLS_E_REHANDSHAKE) {
- fail("server: Error receiving client handshake request: %s\n", gnutls_strerror(ret));
+ fail("server: Error receiving client handshake request: %s\n",
+ gnutls_strerror(ret));
terminate();
}
@@ -330,4 +327,4 @@ void doit(void)
start();
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls12-rehandshake-cert-auto.c b/tests/tls12-rehandshake-cert-auto.c
index 1d02fa4b18..e706746b67 100644
--- a/tests/tls12-rehandshake-cert-auto.c
+++ b/tests/tls12-rehandshake-cert-auto.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "utils.h"
-# include "cert-common.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "utils.h"
+#include "cert-common.h"
/* This program tests server initiated rehandshake when
* handled transparently by the client.
@@ -64,7 +64,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd)
{
@@ -92,9 +92,9 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* Use default priorities */
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL);
/* put the anonymous credentials to the current session
*/
@@ -107,8 +107,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -121,8 +120,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
do {
ret = gnutls_record_recv(session, buffer, MAX_BUF);
@@ -174,9 +173,9 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -185,8 +184,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -198,8 +196,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (debug)
success("server: sending rehandshake request\n");
@@ -208,8 +206,8 @@ static void server(int fd)
ret = gnutls_rehandshake(session);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0) {
- fail("Error sending %d byte packet: %s\n",
- (int)sizeof(buffer), gnutls_strerror(ret));
+ fail("Error sending %d byte packet: %s\n", (int)sizeof(buffer),
+ gnutls_strerror(ret));
}
if (debug)
@@ -275,4 +273,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls12-rehandshake-cert.c b/tests/tls12-rehandshake-cert.c
index 46610bcbdb..e266a01e77 100644
--- a/tests/tls12-rehandshake-cert.c
+++ b/tests/tls12-rehandshake-cert.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -67,9 +67,8 @@ static void test_rehandshake(void **glob_state, unsigned appdata)
ret = gnutls_certificate_allocate_credentials(&serverx509cred);
assert_return_code(ret, 0);
- ret = gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
assert_return_code(ret, 0);
ret = gnutls_init(&server, GNUTLS_SERVER);
@@ -79,10 +78,8 @@ static void test_rehandshake(void **glob_state, unsigned appdata)
serverx509cred);
assert_return_code(ret, 0);
- ret =
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ ret = gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2", NULL);
assert_return_code(ret, 0);
gnutls_transport_set_push_function(server, server_push);
@@ -100,10 +97,8 @@ static void test_rehandshake(void **glob_state, unsigned appdata)
clientx509cred);
assert_return_code(ret, 0);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2", NULL);
assert_return_code(ret, 0);
gnutls_transport_set_push_function(client, client_push);
diff --git a/tests/tls12-rehandshake-set-prio.c b/tests/tls12-rehandshake-set-prio.c
index 26494e72a5..602f86567b 100644
--- a/tests/tls12-rehandshake-set-prio.c
+++ b/tests/tls12-rehandshake-set-prio.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -69,8 +69,8 @@ static void test_rehandshake(void)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -78,9 +78,9 @@ static void test_rehandshake(void)
assert(gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
serverx509cred) >= 0);
- assert(gnutls_priority_set_direct
- (server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
@@ -94,9 +94,9 @@ static void test_rehandshake(void)
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
clientx509cred) >= 0);
- assert(gnutls_priority_set_direct
- (client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
@@ -115,8 +115,8 @@ static void test_rehandshake(void)
assert(n == GNUTLS_E_REHANDSHAKE);
/* includes TLS1.3 */
- assert(gnutls_priority_set_direct
- (client, "NORMAL", NULL) >= 0);
+ assert(gnutls_priority_set_direct(client, "NORMAL",
+ NULL) >= 0);
HANDSHAKE(client, server);
}
diff --git a/tests/tls12-rehandshake-ticket.c b/tests/tls12-rehandshake-ticket.c
index 4df3d9a31e..202272cf37 100644
--- a/tests/tls12-rehandshake-ticket.c
+++ b/tests/tls12-rehandshake-ticket.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/gnutls.h>
@@ -62,19 +62,17 @@ static void run(void)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_ca3_localhost_cert,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem(scred,
- &ca3_cert,
+ assert(gnutls_certificate_set_x509_key_mem(
+ scred, &server_ca3_localhost_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(scred, &ca3_cert,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
- assert(gnutls_priority_set_direct(server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL) >= 0);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, scred);
gnutls_transport_set_push_function(server, server_push);
@@ -86,16 +84,16 @@ static void run(void)
/* Init client */
assert(gnutls_certificate_allocate_credentials(&ccred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (ccred, &cli_ca3_cert_chain, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(ccred, &cli_ca3_cert_chain,
+ &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
- assert(gnutls_priority_set_direct(client,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.2",
+ NULL) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, ccred) >=
0);
@@ -110,8 +108,8 @@ static void run(void)
switch_side("server");
sret = gnutls_rehandshake(server);
if (sret < 0) {
- fail("Error sending %d byte packet: %s\n",
- (int)sizeof(buffer), gnutls_strerror(sret));
+ fail("Error sending %d byte packet: %s\n", (int)sizeof(buffer),
+ gnutls_strerror(sret));
} else if (debug)
success("server: starting rehandshake\n");
@@ -123,8 +121,8 @@ static void run(void)
do {
do {
cret = gnutls_record_recv(client, buffer, MAX_BUF);
- } while (cret == GNUTLS_E_AGAIN
- || cret == GNUTLS_E_INTERRUPTED);
+ } while (cret == GNUTLS_E_AGAIN ||
+ cret == GNUTLS_E_INTERRUPTED);
} while (cret > 0);
if (cret != GNUTLS_E_REHANDSHAKE) {
diff --git a/tests/tls12-server-kx-neg.c b/tests/tls12-server-kx-neg.c
index f74c56a704..a2853d33d7 100644
--- a/tests/tls12-server-kx-neg.c
+++ b/tests/tls12-server-kx-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -38,496 +38,433 @@
#include "server-kx-neg-common.c"
test_case_st tests[] = {
- {
- .name = "TLS 1.2 ANON-DH without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ANON-DH with cred but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_anon_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ANON-DH with cred and DH params (level)",
- .server_ret = 0,
- .client_ret = 0,
- .have_anon_cred = 1,
- .have_anon_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ANON-DH with cred and DH params (explicit)",
- .server_ret = 0,
- .client_ret = 0,
- .have_anon_cred = 1,
- .have_anon_exp_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA with cred but no DH params or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA with cred and cert but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA with cred and DH params but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name =
- "TLS 1.2 DHE-RSA with cred and incompatible cert and DH params",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA with cred and cert and DH params (level)",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA with cred and cert and DH params (explicit)",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_cert_exp_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-RSA with cred and multiple certs and DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .have_cert_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-PSK with cred but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-PSK with cred and DH params (level)",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 DHE-PSK with cred and DH params (explicit)",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_exp_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-RSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-RSA with cred but no common curve or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.2 ECDHE-RSA with cred and cert but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.2 ECDHE-RSA with cred and common curve but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name =
- "TLS 1.2 ECDHE-RSA with cred and incompatible cert and common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-RSA with cred and cert and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name =
- "TLS 1.2 ECDHE-RSA with cred and multiple certs and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2"},
+ { .name = "TLS 1.2 ANON-DH without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ANON-DH with cred but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_anon_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ANON-DH with cred and DH params (level)",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_anon_cred = 1,
+ .have_anon_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ANON-DH with cred and DH params (explicit)",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_anon_cred = 1,
+ .have_anon_exp_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ANON-DH:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred but no DH params or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred and cert but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred and DH params but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred and incompatible cert and DH params",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred and cert and DH params (level)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred and cert and DH params (explicit)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_cert_exp_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-RSA with cred and multiple certs and DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_cert_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-PSK with cred but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-PSK with cred and DH params (level)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 DHE-PSK with cred and DH params (explicit)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_exp_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-RSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-RSA with cred but no common curve or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.2 ECDHE-RSA with cred and cert but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.2 ECDHE-RSA with cred and common curve but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-RSA with cred and incompatible cert and common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-RSA with cred and cert and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-RSA with cred and multiple certs and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-RSA:-VERS-ALL:+VERS-TLS1.2" },
- {
- .name = "TLS 1.2 ECDHE-ECDSA without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-ECDSA with cred but no common curve or cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.2 ECDHE-ECDSA with cred and cert but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name =
- "TLS 1.2 ECDHE-ECDSA with cred and common curve but no ECDSA cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-ECDSA with cred and common curve but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-ECDSA with cred and cert and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name =
- "TLS 1.2 ECDHE-ECDSA with cred and multiple certs and common curve",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-ECDSA with cred and ed25519 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ed25519_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name =
- "TLS 1.2 ECDHE-ECDSA with cred and cert but incompatible (ed25519) curves",
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .client_ret = GNUTLS_E_AGAIN,
- .have_cert_cred = 1,
- .have_ed25519_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ED25519:-SIGN-EDDSA-ED25519"},
- {
- .name = "TLS 1.2 ECDHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 ECDHE-PSK with cred but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1"},
- {
- .name = "TLS 1.2 ECDHE-PSK with cred and common curve",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 RSA-PSK without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 RSA-PSK without psk cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 RSA-PSK with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 RSA-PSK with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 RSA-PSK with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2"},
+ { .name = "TLS 1.2 ECDHE-ECDSA without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred but no common curve or cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and cert but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and common curve but no ECDSA cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and common curve but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and cert and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and multiple certs and common curve",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and ed25519 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ed25519_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-ECDSA with cred and cert but incompatible (ed25519) curves",
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .client_ret = GNUTLS_E_AGAIN,
+ .have_cert_cred = 1,
+ .have_ed25519_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-ECDSA:-VERS-ALL:+VERS-TLS1.2:-CURVE-ED25519:-SIGN-EDDSA-ED25519" },
+ { .name = "TLS 1.2 ECDHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 ECDHE-PSK with cred but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP256R1",
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2:-CURVE-ALL:+CURVE-SECP384R1" },
+ { .name = "TLS 1.2 ECDHE-PSK with cred and common curve",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 RSA-PSK without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 RSA-PSK without psk cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 RSA-PSK with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 RSA-PSK with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 RSA-PSK with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:-VERS-ALL:+VERS-TLS1.2" },
#ifdef ENABLE_SRP
- {
- .name = "TLS 1.2 SRP-RSA without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 SRP-RSA without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 SRP-RSA with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 SRP-RSA with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 SRP-RSA with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 SRP without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 SRP with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2",
- .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2"},
+ { .name = "TLS 1.2 SRP-RSA without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 SRP-RSA without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 SRP-RSA with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 SRP-RSA with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 SRP-RSA with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 SRP without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 SRP with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio = "NORMAL:-KX-ALL:+SRP:-VERS-ALL:+VERS-TLS1.2" },
#endif
#ifdef ENABLE_GOST
- {
- .name = "TLS 1.2 VKO-GOST-12 without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 VKO-GOST-12 with cred but no cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 VKO-GOST-12 with cred but no GOST cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 VKO-GOST-12 with cred and GOST12-256 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_256_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 VKO-GOST-12 with cred and GOST12-512 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_512_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name = "TLS 1.2 VKO-GOST-12 with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .have_gost12_256_cert = 1,
- .have_gost12_512_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2"},
- {
- .name =
- "TLS 1.2 VKO-GOST-12 with cred and GOST12-256 cert client lacking signature algs (like SChannel)",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_256_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NONE:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+VERS-TLS1.2:+SIGN-RSA-SHA256"},
- {
- .name =
- "TLS 1.2 VKO-GOST-12 with cred and GOST12-512 cert client lacking signature algs (like SChannel)",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_512_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NONE:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+VERS-TLS1.2:+SIGN-RSA-SHA256"},
+ { .name = "TLS 1.2 VKO-GOST-12 without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred but no cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred but no GOST cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred and GOST12-256 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_256_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred and GOST12-512 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_512_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_gost12_256_cert = 1,
+ .have_gost12_512_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred and GOST12-256 cert client lacking signature algs (like SChannel)",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_256_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NONE:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+VERS-TLS1.2:+SIGN-RSA-SHA256" },
+ { .name = "TLS 1.2 VKO-GOST-12 with cred and GOST12-512 cert client lacking signature algs (like SChannel)",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_512_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NONE:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+VERS-TLS1.2:+SIGN-RSA-SHA256" },
#endif
};
diff --git a/tests/tls13-cert-key-exchange.c b/tests/tls13-cert-key-exchange.c
index 5b93dc6a07..874fab8e58 100644
--- a/tests/tls13-cert-key-exchange.c
+++ b/tests/tls13-cert-key-exchange.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the various certificate key exchange methods supported
@@ -40,7 +40,7 @@ void doit(void)
global_init();
server_priority =
- "NORMAL:+ANON-DH:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519";
+ "NORMAL:+ANON-DH:+ANON-ECDH:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519";
try_x509("TLS 1.3 with ffdhe2048 rsa no-cli-cert / anon on server",
"NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048",
GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
@@ -48,7 +48,7 @@ void doit(void)
/** X.509 tests **/
server_priority =
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519";
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519";
/* TLS 1.3 no client cert */
try_x509("TLS 1.3 with ffdhe2048 rsa no-cli-cert (ctype X.509)",
@@ -80,58 +80,58 @@ void doit(void)
GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
GNUTLS_SIGN_UNKNOWN);
- try_with_key_ks
- ("TLS 1.3 with secp256r1 ecdsa no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_localhost_ecc_cert,
- &server_ca3_ecc_key, NULL, NULL, 0, GNUTLS_GROUP_SECP256R1,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with secp256r1 ecdsa no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_ECDSA_SECP256R1_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_localhost_ecc_cert,
+ &server_ca3_ecc_key, NULL, NULL, 0, GNUTLS_GROUP_SECP256R1,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
/* Test RSA-PSS cert/key combo issues */
- try_with_key_ks
- ("TLS 1.3 with x25519 with rsa-pss-sha256 key no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key_ks
- ("TLS 1.3 with x25519 with rsa-pss-sha256 key and 1 sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key_ks
- ("TLS 1.3 with x25519 with rsa-pss-sha256 key and rsa-pss-sha384 first sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key_ks
- ("TLS 1.3 with x25519 with rsa-pss-sha256 key and rsa-pss-sha512 first sig no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
- &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with x25519 with rsa-pss-sha256 key no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with x25519 with rsa-pss-sha256 key and 1 sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with x25519 with rsa-pss-sha256 key and rsa-pss-sha384 first sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with x25519 with rsa-pss-sha256 key and rsa-pss-sha512 first sig no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA512:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss2_cert,
+ &server_ca3_rsa_pss2_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key_ks
- ("TLS 1.3 with x25519 rsa-pss/rsa-pss no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss_cert,
- &server_ca3_rsa_pss_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_with_key_ks("TLS 1.3 with x25519 ed25519 no-cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_EDDSA_ED25519,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, NULL, NULL, 0,
- GNUTLS_GROUP_X25519, GNUTLS_CRT_X509,
- GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with x25519 rsa-pss/rsa-pss no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-SHA256",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_SHA256,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_rsa_pss_cert,
+ &server_ca3_rsa_pss_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
+ try_with_key_ks(
+ "TLS 1.3 with x25519 ed25519 no-cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_EDDSA_ED25519,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, NULL, NULL, 0, GNUTLS_GROUP_X25519,
+ GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
/* client authentication */
try_with_key("TLS 1.3 with rsa-pss cli-cert (ctype X.509)",
@@ -155,119 +155,136 @@ void doit(void)
&server_ca3_localhost_ecc_cert, &server_ca3_ecc_key,
&server_ca3_localhost_ecc_cert, &server_ca3_ecc_key,
USE_CERT, GNUTLS_CRT_X509, GNUTLS_CRT_X509);
- try_with_key("TLS 1.3 with x25519 ed25519 cli-cert (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_EDDSA_ED25519,
- GNUTLS_SIGN_EDDSA_ED25519, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, USE_CERT, GNUTLS_CRT_X509,
- GNUTLS_CRT_X509);
+ try_with_key(
+ "TLS 1.3 with x25519 ed25519 cli-cert (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-RSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_EDDSA_ED25519,
+ GNUTLS_SIGN_EDDSA_ED25519, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, USE_CERT, GNUTLS_CRT_X509,
+ GNUTLS_CRT_X509);
/* TLS 1.3 mis-matching groups */
/* Our policy is to send a key share for the first of each type of groups, so make sure
* the server doesn't support them */
server_priority =
- "NORMAL:-GROUP-ALL:-VERS-TLS-ALL:+VERS-TLS1.3:+GROUP-FFDHE3072:+GROUP-SECP521R1",
- try_x509_ks("TLS 1.3 with default key share (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
- GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
- try_x509_ks("TLS 1.3 with ffdhe2048 key share (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
- GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
- try_x509_ks("TLS 1.3 with ffdhe4096 key share (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE4096:+GROUP-FFDHE3072",
- GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
- try_x509_ks("TLS 1.3 with secp256r1 key share (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:+GROUP-SECP521R1",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_GROUP_SECP521R1);
- try_x509_ks("TLS 1.3 with secp384r1 key share (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1:+GROUP-SECP521R1",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_GROUP_SECP521R1);
+ "NORMAL:-GROUP-ALL:-VERS-TLS-ALL:+VERS-TLS1.3:+GROUP-FFDHE3072:+GROUP-SECP521R1",
+ try_x509_ks(
+ "TLS 1.3 with default key share (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
+ GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
+ try_x509_ks(
+ "TLS 1.3 with ffdhe2048 key share (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-FFDHE3072",
+ GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
+ try_x509_ks(
+ "TLS 1.3 with ffdhe4096 key share (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE4096:+GROUP-FFDHE3072",
+ GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
+ try_x509_ks(
+ "TLS 1.3 with secp256r1 key share (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:+GROUP-SECP521R1",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_GROUP_SECP521R1);
+ try_x509_ks(
+ "TLS 1.3 with secp384r1 key share (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1:+GROUP-SECP521R1",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_GROUP_SECP521R1);
try_x509_ks("TLS 1.3 with secp521r1 key share (ctype X.509)",
"NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP521R1",
GNUTLS_KX_ECDHE_RSA, GNUTLS_GROUP_SECP521R1);
- try_x509_ks("TLS 1.3 with x25519 -> ffdhe3072 key share (ctype X.509)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+GROUP-SECP384R1:+GROUP-FFDHE3072",
- GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
+ try_x509_ks(
+ "TLS 1.3 with x25519 -> ffdhe3072 key share (ctype X.509)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+GROUP-SECP384R1:+GROUP-FFDHE3072",
+ GNUTLS_KX_DHE_RSA, GNUTLS_GROUP_FFDHE3072);
/* TLS 1.2 fallback */
server_priority =
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519",
- try_with_key_ks("TLS 1.2 fallback with x25519 ed25519 no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
- GNUTLS_KX_ECDHE_ECDSA, GNUTLS_SIGN_EDDSA_ED25519,
- GNUTLS_SIGN_UNKNOWN, &server_ca3_eddsa_cert,
- &server_ca3_eddsa_key, NULL, NULL, 0, 0,
- GNUTLS_CRT_X509, GNUTLS_CRT_UNKNOWN);
- try_x509("TLS 1.2 fallback with secp521r1 rsa no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP521R1",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_x509("TLS 1.2 fallback with ffdhe2048 rsa no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:-GROUP-ALL:+GROUP-FFDHE2048",
- GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ "NORMAL:-VERS-ALL:+VERS-TLS1.2:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519",
+ try_with_key_ks(
+ "TLS 1.2 fallback with x25519 ed25519 no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-KX-ALL:+ECDHE-ECDSA:-CURVE-ALL:+CURVE-X25519:-SIGN-ALL:+SIGN-EDDSA-ED25519",
+ GNUTLS_KX_ECDHE_ECDSA, GNUTLS_SIGN_EDDSA_ED25519,
+ GNUTLS_SIGN_UNKNOWN, &server_ca3_eddsa_cert,
+ &server_ca3_eddsa_key, NULL, NULL, 0, 0, GNUTLS_CRT_X509,
+ GNUTLS_CRT_UNKNOWN);
+ try_x509(
+ "TLS 1.2 fallback with secp521r1 rsa no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP521R1",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_x509(
+ "TLS 1.2 fallback with ffdhe2048 rsa no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-KX-ALL:+DHE-RSA:-GROUP-ALL:+GROUP-FFDHE2048",
+ GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_SHA256, GNUTLS_SIGN_UNKNOWN);
/** Raw public-key tests **/
server_priority =
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519:+CTYPE-ALL";
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+ECDHE-RSA:+DHE-RSA:+RSA:+ECDHE-ECDSA:+CURVE-X25519:+SIGN-EDDSA-ED25519:+CTYPE-ALL";
- try_rawpk("TLS 1.3 with ffdhe2048 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+CTYPE-ALL",
- GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.3 with ffdhe3072 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE3072:+CTYPE-ALL",
- GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.3 with ffdhe4096 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE4096:+CTYPE-ALL",
- GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.3 with secp256r1 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.3 with secp384r1 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.3 with secp521r1 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP521R1:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
- try_rawpk("TLS 1.3 with x25519 rsa no-cli-cert (ctype Raw PK)",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+CTYPE-ALL",
- GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
- GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with ffdhe2048 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+CTYPE-ALL",
+ GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with ffdhe3072 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE3072:+CTYPE-ALL",
+ GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with ffdhe4096 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE4096:+CTYPE-ALL",
+ GNUTLS_KX_DHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with secp256r1 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with secp384r1 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with secp521r1 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP521R1:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
+ try_rawpk(
+ "TLS 1.3 with x25519 rsa no-cli-cert (ctype Raw PK)",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+CTYPE-ALL",
+ GNUTLS_KX_ECDHE_RSA, GNUTLS_SIGN_RSA_PSS_RSAE_SHA256,
+ GNUTLS_SIGN_UNKNOWN);
/** Illegal setups **/
server_priority = "NORMAL:-VERS-ALL:+VERS-TLS1.3";
- try_with_key_fail
- ("TLS 1.3 with rsa cert and only RSA-PSS sig algos in client",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
- &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL);
+ try_with_key_fail(
+ "TLS 1.3 with rsa cert and only RSA-PSS sig algos in client",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
+ &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL);
- try_with_key_fail
- ("TLS 1.3 with x25519 with rsa-pss cert and RSAE signatures",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384",
- GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
- &server_ca3_rsa_pss2_cert, &server_ca3_rsa_pss2_key, NULL, NULL);
+ try_with_key_fail(
+ "TLS 1.3 with x25519 with rsa-pss cert and RSAE signatures",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA256:+SIGN-RSA-PSS-RSAE-SHA384",
+ GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
+ &server_ca3_rsa_pss2_cert, &server_ca3_rsa_pss2_key, NULL,
+ NULL);
server_priority = NULL;
- try_with_key_fail("TLS 1.3 with rsa cert and only RSA-PSS sig algos",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
- &server_ca3_localhost_cert, &server_ca3_key, NULL,
- NULL);
+ try_with_key_fail(
+ "TLS 1.3 with rsa cert and only RSA-PSS sig algos",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_NO_CIPHER_SUITES, GNUTLS_E_AGAIN,
+ &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL);
- try_with_key_fail
- ("TLS 1.3 with rsa-pss cert and rsa cli cert with only RSA-PSS sig algos",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
- GNUTLS_E_CERTIFICATE_REQUIRED, GNUTLS_E_SUCCESS,
- &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key, &cli_ca3_cert,
- &cli_ca3_key);
+ try_with_key_fail(
+ "TLS 1.3 with rsa-pss cert and rsa cli cert with only RSA-PSS sig algos",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-ALL:+SIGN-RSA-PSS-SHA256:+SIGN-RSA-PSS-SHA384:+SIGN-RSA-PSS-SHA512",
+ GNUTLS_E_CERTIFICATE_REQUIRED, GNUTLS_E_SUCCESS,
+ &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
+ &cli_ca3_cert, &cli_ca3_key);
try_with_key_fail("TLS 1.3 with rsa encryption cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.3",
@@ -281,26 +298,26 @@ void doit(void)
&server_ca3_localhost_rsa_decrypt_cert,
&server_ca3_key, NULL, NULL);
- try_with_key_fail
- ("TLS 1.3 with (forced) rsa encryption cert - client should detect",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
- GNUTLS_E_AGAIN, GNUTLS_E_KEY_USAGE_VIOLATION,
- &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key, NULL,
- NULL);
+ try_with_key_fail(
+ "TLS 1.3 with (forced) rsa encryption cert - client should detect",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
+ GNUTLS_E_AGAIN, GNUTLS_E_KEY_USAGE_VIOLATION,
+ &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key, NULL,
+ NULL);
try_with_key_fail("TLS 1.3 with client rsa encryption cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- GNUTLS_E_AGAIN, GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3", GNUTLS_E_AGAIN,
+ GNUTLS_E_INSUFFICIENT_CREDENTIALS,
&server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
&server_ca3_localhost_rsa_decrypt_cert,
&server_ca3_key);
- try_with_key_fail
- ("TLS 1.3 with (forced) client rsa encryption cert - server should detect",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
- GNUTLS_E_KEY_USAGE_VIOLATION, GNUTLS_E_SUCCESS,
- &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
- &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key);
+ try_with_key_fail(
+ "TLS 1.3 with (forced) client rsa encryption cert - server should detect",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:%DEBUG_ALLOW_KEY_USAGE_VIOLATIONS",
+ GNUTLS_E_KEY_USAGE_VIOLATION, GNUTLS_E_SUCCESS,
+ &server_ca3_rsa_pss_cert, &server_ca3_rsa_pss_key,
+ &server_ca3_localhost_rsa_decrypt_cert, &server_ca3_key);
try_with_rawpk_key_fail("rawpk TLS 1.3 with rsa encryption cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.3:+CTYPE-RAWPK",
@@ -308,11 +325,12 @@ void doit(void)
&rawpk_public_key1, &rawpk_private_key1,
GNUTLS_KEY_KEY_ENCIPHERMENT, NULL, NULL, 0);
- try_with_rawpk_key_fail
- ("rawpk TLS 1.3 and TLS 1.2 with rsa encryption cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+CTYPE-RAWPK",
- GNUTLS_E_SUCCESS, GNUTLS_E_SUCCESS, &rawpk_public_key1,
- &rawpk_private_key1, GNUTLS_KEY_KEY_ENCIPHERMENT, NULL, NULL, 0);
+ try_with_rawpk_key_fail(
+ "rawpk TLS 1.3 and TLS 1.2 with rsa encryption cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+CTYPE-RAWPK",
+ GNUTLS_E_SUCCESS, GNUTLS_E_SUCCESS, &rawpk_public_key1,
+ &rawpk_private_key1, GNUTLS_KEY_KEY_ENCIPHERMENT, NULL, NULL,
+ 0);
try_with_rawpk_key_fail("rawpk TLS 1.3 with client rsa encryption cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.3:+CTYPE-RAWPK",
diff --git a/tests/tls13-cipher-neg.c b/tests/tls13-cipher-neg.c
index f9be6f530c..d537538a34 100644
--- a/tests/tls13-cipher-neg.c
+++ b/tests/tls13-cipher-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the ciphersuite negotiation for various key exchange
@@ -45,157 +45,137 @@
test_case_st tests[] = {
{
- .name = "server TLS 1.3: NULL (server - exp fallback)",
- .not_on_fips = 1,
- .cipher = GNUTLS_CIPHER_NULL,
- .server_prio =
- SPRIO
- ":+VERS-TLS1.2:-CIPHER-ALL:+NULL:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
- .client_prio =
- CPRIO
- ":+VERS-TLS1.2:+NULL:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
- },
+ .name = "server TLS 1.3: NULL (server - exp fallback)",
+ .not_on_fips = 1,
+ .cipher = GNUTLS_CIPHER_NULL,
+ .server_prio = SPRIO
+ ":+VERS-TLS1.2:-CIPHER-ALL:+NULL:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
+ .client_prio = CPRIO
+ ":+VERS-TLS1.2:+NULL:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
+ },
{
- .name = "client TLS 1.3: NULL (client)",
- .not_on_fips = 1,
- .cipher = GNUTLS_CIPHER_NULL,
- .server_prio =
- SPRIO
- ":+VERS-TLS1.2:+NULL:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
- .client_prio =
- CPRIO
- ":-CIPHER-ALL:+NULL:+CIPHER-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
- .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
- },
+ .name = "client TLS 1.3: NULL (client)",
+ .not_on_fips = 1,
+ .cipher = GNUTLS_CIPHER_NULL,
+ .server_prio = SPRIO
+ ":+VERS-TLS1.2:+NULL:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+NULL:+CIPHER-ALL:+VERS-TLS1.2:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
+ .desc = "(TLS1.2)-(ECDHE-SECP256R1)-(ECDSA-SHA256)-(NULL)-(SHA1)",
+ },
{
- .name = "server TLS 1.3: AES-128-GCM with SECP256R1 (server)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .group = GNUTLS_GROUP_SECP256R1,
- .server_prio =
- SPRIO
- ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
- .client_prio =
- CPRIO
- ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
- .desc =
- "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
- },
+ .name = "server TLS 1.3: AES-128-GCM with SECP256R1 (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .group = GNUTLS_GROUP_SECP256R1,
+ .server_prio = SPRIO
+ ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
+ .client_prio = CPRIO
+ ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
+ .desc = "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
+ },
{
- .name = "both TLS 1.3: AES-128-GCM with X25519 (server)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .group = GNUTLS_GROUP_X25519,
- .server_prio =
- SPRIO
- ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-X25519:+GROUP-ALL",
- .client_prio =
- CPRIO
- ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1:+GROUP-ALL",
- .desc = "(TLS1.3)-(ECDHE-X25519)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
- },
+ .name = "both TLS 1.3: AES-128-GCM with X25519 (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .group = GNUTLS_GROUP_X25519,
+ .server_prio = SPRIO
+ ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-X25519:+GROUP-ALL",
+ .client_prio = CPRIO
+ ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1:+GROUP-ALL",
+ .desc = "(TLS1.3)-(ECDHE-X25519)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
+ },
{
- .name = "client TLS 1.3: AES-128-GCM with SECP256R1 (client)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .group = GNUTLS_GROUP_SECP256R1,
- .server_prio =
- SPRIO
- ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
- .client_prio =
- CPRIO
- ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
- .desc =
- "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
- },
+ .name = "client TLS 1.3: AES-128-GCM with SECP256R1 (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .group = GNUTLS_GROUP_SECP256R1,
+ .server_prio = SPRIO
+ ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-ALL",
+ .desc = "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
+ },
{
- .name = "both TLS 1.3: AES-128-GCM with X25519 (client)",
- .cipher = GNUTLS_CIPHER_AES_128_GCM,
- .group = GNUTLS_GROUP_X25519,
- .server_prio =
- SPRIO
- ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1:+GROUP-ALL",
- .client_prio =
- CPRIO
- ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+GROUP-ALL",
- .desc = "(TLS1.3)-(ECDHE-X25519)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
- },
+ .name = "both TLS 1.3: AES-128-GCM with X25519 (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_GCM,
+ .group = GNUTLS_GROUP_X25519,
+ .server_prio = SPRIO
+ ":+AES-128-GCM:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-SECP384R1:+GROUP-SECP521R1:+GROUP-SECP256R1:+GROUP-ALL",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+AES-128-GCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519:+GROUP-ALL",
+ .desc = "(TLS1.3)-(ECDHE-X25519)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM)",
+ },
{
- .name = "server TLS 1.3: AES-128-CCM and FFDHE2048 (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .group = GNUTLS_GROUP_FFDHE2048,
- .server_prio =
- SPRIO
- ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
- .client_prio = CPRIO ":+AES-128-CCM",
- .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
- },
+ .name = "server TLS 1.3: AES-128-CCM and FFDHE2048 (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .server_prio = SPRIO
+ ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
+ .client_prio = CPRIO ":+AES-128-CCM",
+ .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
+ },
{
- .name = "both TLS 1.3: AES-128-CCM and FFDHE 2048 (server)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .group = GNUTLS_GROUP_FFDHE2048,
- .server_prio =
- SPRIO
- ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
- .client_prio = CPRIO ":+AES-128-CCM:+VERS-TLS1.3",
- .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
- },
+ .name = "both TLS 1.3: AES-128-CCM and FFDHE 2048 (server)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .server_prio = SPRIO
+ ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:%SERVER_PRECEDENCE:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
+ .client_prio = CPRIO ":+AES-128-CCM:+VERS-TLS1.3",
+ .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
+ },
{
- .name = "client TLS 1.3: AES-128-CCM and FFDHE 2048 (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .group = GNUTLS_GROUP_FFDHE2048,
- .server_prio = SPRIO ":+AES-128-CCM",
- .client_prio =
- CPRIO
- ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
- .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
- },
+ .name = "client TLS 1.3: AES-128-CCM and FFDHE 2048 (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .server_prio = SPRIO ":+AES-128-CCM",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
+ .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
+ },
{
- .name = "both TLS 1.3: AES-128-CCM and FFDHE 2048 (client)",
- .cipher = GNUTLS_CIPHER_AES_128_CCM,
- .group = GNUTLS_GROUP_FFDHE2048,
- .server_prio = SPRIO ":+AES-128-CCM:+VERS-TLS1.3",
- .client_prio =
- CPRIO
- ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
- .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
- },
+ .name = "both TLS 1.3: AES-128-CCM and FFDHE 2048 (client)",
+ .cipher = GNUTLS_CIPHER_AES_128_CCM,
+ .group = GNUTLS_GROUP_FFDHE2048,
+ .server_prio = SPRIO ":+AES-128-CCM:+VERS-TLS1.3",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+AES-128-CCM:+CIPHER-ALL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-FFDHE2048:+GROUP-ALL",
+ .desc = "(TLS1.3)-(DHE-FFDHE2048)-(RSA-PSS-RSAE-SHA256)-(AES-128-CCM)",
+ },
{
- .name = "server TLS 1.3: CHACHA20-POLY (server)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio =
- SPRIO ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:%SERVER_PRECEDENCE",
- .client_prio = CPRIO ":+CHACHA20-POLY1305",
- .desc =
- "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
- },
+ .name = "server TLS 1.3: CHACHA20-POLY (server)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio = SPRIO
+ ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:%SERVER_PRECEDENCE",
+ .client_prio = CPRIO ":+CHACHA20-POLY1305",
+ .desc = "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
+ },
{
- .name = "both TLS 1.3: CHACHA20-POLY (server)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio =
- SPRIO ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:%SERVER_PRECEDENCE",
- .client_prio = CPRIO ":+CHACHA20-POLY1305:+VERS-TLS1.3",
- .desc =
- "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
- },
+ .name = "both TLS 1.3: CHACHA20-POLY (server)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio = SPRIO
+ ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL:%SERVER_PRECEDENCE",
+ .client_prio = CPRIO ":+CHACHA20-POLY1305:+VERS-TLS1.3",
+ .desc = "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
+ },
{
- .name = "client TLS 1.3: CHACHA20-POLY (client)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio = SPRIO ":+CHACHA20-POLY1305",
- .client_prio = CPRIO ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL",
- .desc =
- "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
- },
+ .name = "client TLS 1.3: CHACHA20-POLY (client)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio = SPRIO ":+CHACHA20-POLY1305",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL",
+ .desc = "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
+ },
{
- .name = "both TLS 1.3: CHACHA20-POLY (client)",
- .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
- .not_on_fips = 1,
- .server_prio = SPRIO ":+CHACHA20-POLY1305",
- .client_prio = CPRIO ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL",
- .desc =
- "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
- }
+ .name = "both TLS 1.3: CHACHA20-POLY (client)",
+ .cipher = GNUTLS_CIPHER_CHACHA20_POLY1305,
+ .not_on_fips = 1,
+ .server_prio = SPRIO ":+CHACHA20-POLY1305",
+ .client_prio = CPRIO
+ ":-CIPHER-ALL:+CHACHA20-POLY1305:+CIPHER-ALL",
+ .desc = "(TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(CHACHA20-POLY1305)",
+ }
};
void doit(void)
diff --git a/tests/tls13-compat-mode.c b/tests/tls13-compat-mode.c
index ec391e17dc..f5b18b30b7 100644
--- a/tests/tls13-compat-mode.c
+++ b/tests/tls13-compat-mode.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/gnutls.h>
@@ -44,10 +44,9 @@ struct data {
bool compat;
};
-static int
-handshake_callback(gnutls_session_t session, unsigned int htype,
- unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+static int handshake_callback(gnutls_session_t session, unsigned int htype,
+ unsigned post, unsigned int incoming,
+ const gnutls_datum_t *msg)
{
unsigned pos;
struct data *data;
@@ -88,16 +87,15 @@ static void test(const char *name, bool client_compat, bool server_compat)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
- assert(gnutls_credentials_set
- (server, GNUTLS_CRD_CERTIFICATE, serverx509cred) >= 0);
- assert(gnutls_priority_set_direct
- (server, server_compat ? COMPAT_PRIO : NO_COMPAT_PRIO,
- NULL) >= 0);
+ assert(gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE,
+ serverx509cred) >= 0);
+ assert(gnutls_priority_set_direct(
+ server, server_compat ? COMPAT_PRIO : NO_COMPAT_PRIO,
+ NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -108,10 +106,9 @@ static void test(const char *name, bool client_compat, bool server_compat)
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
clientx509cred) >= 0);
- assert(gnutls_priority_set_direct(client,
- client_compat ?
- COMPAT_PRIO : NO_COMPAT_PRIO,
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, client_compat ? COMPAT_PRIO : NO_COMPAT_PRIO,
+ NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
diff --git a/tests/tls13-early-data-neg.c b/tests/tls13-early-data-neg.c
index 0312bbab8b..7492bfe112 100644
--- a/tests/tls13-early-data-neg.c
+++ b/tests/tls13-early-data-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <sys/wait.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
-# include "virt-time.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <sys/wait.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
+#include "virt-time.h"
/* This program tests the robustness of record sending with padding.
*/
@@ -66,22 +66,21 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define SESSIONS 3
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
-# define EARLY_MSG "Hello TLS, it's early"
-# define PRIORITY "NORMAL:-VERS-ALL:+VERS-TLS1.3"
+#define SESSIONS 3
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
+#define EARLY_MSG "Hello TLS, it's early"
+#define PRIORITY "NORMAL:-VERS-ALL:+VERS-TLS1.3"
-static const
-gnutls_datum_t hrnd = { (void *)
- "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hrnd = {
+ (void *)"\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
static int gnutls_rnd_works;
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
gnutls_rnd_works = 1;
@@ -98,7 +97,7 @@ gnutls_datum_t client_hello_msg = { NULL, 0 };
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
assert(client_hello_msg.data == NULL);
@@ -155,18 +154,18 @@ static void client(int sds[])
gnutls_transport_set_int(session, sd);
if (t > 0) {
- assert(gnutls_session_set_data
- (session, session_data.data,
- session_data.size) >= 0);
- assert(gnutls_record_send_early_data
- (session, EARLY_MSG, sizeof(EARLY_MSG)) >= 0);
+ assert(gnutls_session_set_data(session,
+ session_data.data,
+ session_data.size) >= 0);
+ assert(gnutls_record_send_early_data(
+ session, EARLY_MSG, sizeof(EARLY_MSG)) >=
+ 0);
assert(gnutls_handshake_set_random(session, &hrnd) >=
0);
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_CLIENT_HELLO,
- GNUTLS_HOOK_POST,
- handshake_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_CLIENT_HELLO,
+ GNUTLS_HOOK_POST, handshake_callback);
}
/* Perform the TLS handshake
@@ -174,8 +173,7 @@ static void client(int sds[])
gnutls_handshake_set_timeout(session, get_timeout());
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed\n");
@@ -203,13 +201,12 @@ static void client(int sds[])
gnutls_record_send(session, MSG, strlen(MSG));
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
goto end;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
@@ -225,12 +222,11 @@ static void client(int sds[])
assert(client_hello_msg.data != NULL);
- ret =
- send(sds[SESSIONS - 1], client_hello_msg.data,
- client_hello_msg.size, 0);
+ ret = send(sds[SESSIONS - 1], client_hello_msg.data,
+ client_hello_msg.size, 0);
assert(ret == (int)client_hello_msg.size);
- end:
+end:
gnutls_free(client_hello_msg.data);
gnutls_free(session_data.data);
gnutls_certificate_free_credentials(x509_cred);
@@ -238,16 +234,15 @@ static void client(int sds[])
static pid_t child;
-# define MAX_CLIENT_HELLO_RECORDED 10
+#define MAX_CLIENT_HELLO_RECORDED 10
struct storage_st {
gnutls_datum_t entries[MAX_CLIENT_HELLO_RECORDED];
size_t num_entries;
};
-static int
-storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
- const gnutls_datum_t * value)
+static int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,
+ const gnutls_datum_t *value)
{
struct storage_st *storage = ptr;
gnutls_datum_t *datum;
@@ -255,8 +250,8 @@ storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
for (i = 0; i < storage->num_entries; i++) {
if (key->size == storage->entries[i].size &&
- memcmp(storage->entries[i].data, key->data,
- key->size) == 0) {
+ memcmp(storage->entries[i].data, key->data, key->size) ==
+ 0) {
return GNUTLS_E_DB_ENTRY_EXISTS;
}
}
@@ -327,9 +322,9 @@ static void server(int sds[])
success("=== session %d ===\n", t);
- assert(gnutls_init
- (&session,
- GNUTLS_SERVER | GNUTLS_ENABLE_EARLY_DATA) >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_SERVER | GNUTLS_ENABLE_EARLY_DATA) >=
+ 0);
assert(gnutls_priority_set_direct(session, PRIORITY, NULL) >=
0);
@@ -350,23 +345,23 @@ static void server(int sds[])
if (t == SESSIONS - 1) {
/* duplicate data expected */
- if (ret < 0
- && !(gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_EARLY_DATA)) {
+ if (ret < 0 && !(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_EARLY_DATA)) {
success("we detected the duplicate data!\n");
close(sd);
gnutls_deinit(session);
goto cleanup;
} else {
- fail("server: duplicate early data was not detected (%d)\n", t);
+ fail("server: duplicate early data was not detected (%d)\n",
+ t);
}
}
if (ret < 0) {
close(sd);
gnutls_deinit(session);
- fail("server[%d]: Handshake has failed (%s)\n\n",
- t, gnutls_strerror(ret));
+ fail("server[%d]: Handshake has failed (%s)\n\n", t,
+ gnutls_strerror(ret));
return;
}
if (debug)
@@ -382,39 +377,36 @@ static void server(int sds[])
* early data only on the first resumption */
if (t == 1) {
if (gnutls_rnd_works) {
- if (!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_EARLY_DATA)) {
- fail("server: early data is not received (%d)\n", t);
+ if (!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_EARLY_DATA)) {
+ fail("server: early data is not received (%d)\n",
+ t);
}
} else {
- success
- ("server: gnutls_rnd() could not be overridden, skip checking replay (%d)\n",
- t);
+ success("server: gnutls_rnd() could not be overridden, skip checking replay (%d)\n",
+ t);
}
- ret =
- gnutls_record_recv_early_data(session,
- buffer,
- sizeof
- (buffer));
+ ret = gnutls_record_recv_early_data(
+ session, buffer, sizeof(buffer));
if (ret < 0) {
- fail("server: failed to retrieve early data: %s\n", gnutls_strerror(ret));
+ fail("server: failed to retrieve early data: %s\n",
+ gnutls_strerror(ret));
}
- if (ret != sizeof(EARLY_MSG)
- || memcmp(buffer, EARLY_MSG, ret))
+ if (ret != sizeof(EARLY_MSG) ||
+ memcmp(buffer, EARLY_MSG, ret))
fail("server: early data mismatch\n");
} else {
if (gnutls_rnd_works) {
if (gnutls_session_get_flags(session) &
GNUTLS_SFLAGS_EARLY_DATA) {
- fail("server: early data is not rejected (%d)\n", t);
+ fail("server: early data is not rejected (%d)\n",
+ t);
}
} else {
- success
- ("server: gnutls_rnd() could not be overridden, skip checking replay (%d)\n",
- t);
+ success("server: gnutls_rnd() could not be overridden, skip checking replay (%d)\n",
+ t);
}
}
}
@@ -425,12 +417,12 @@ static void server(int sds[])
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -448,7 +440,7 @@ static void server(int sds[])
gnutls_deinit(session);
}
- cleanup:
+cleanup:
gnutls_anti_replay_deinit(anti_replay);
storage_clear(&storage);
@@ -505,4 +497,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13-early-data-neg2.c b/tests/tls13-early-data-neg2.c
index ea71a3d36c..0c5232faf6 100644
--- a/tests/tls13-early-data-neg2.c
+++ b/tests/tls13-early-data-neg2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <sys/wait.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
-# include "virt-time.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <sys/wait.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
+#include "virt-time.h"
/* This program checks that early data is refused upon resumption failure.
*/
@@ -66,11 +66,11 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define SESSIONS 2
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
-# define EARLY_MSG "Hello TLS, it's early"
-# define PRIORITY "NORMAL:-VERS-ALL:+VERS-TLS1.3"
+#define SESSIONS 2
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
+#define EARLY_MSG "Hello TLS, it's early"
+#define PRIORITY "NORMAL:-VERS-ALL:+VERS-TLS1.3"
static void client(int sds[])
{
@@ -106,11 +106,12 @@ static void client(int sds[])
gnutls_transport_set_int(session, sd);
if (t > 0) {
- assert(gnutls_session_set_data
- (session, session_data.data,
- session_data.size) >= 0);
- assert(gnutls_record_send_early_data
- (session, EARLY_MSG, sizeof(EARLY_MSG)) >= 0);
+ assert(gnutls_session_set_data(session,
+ session_data.data,
+ session_data.size) >= 0);
+ assert(gnutls_record_send_early_data(
+ session, EARLY_MSG, sizeof(EARLY_MSG)) >=
+ 0);
}
/* Perform the TLS handshake
@@ -118,8 +119,7 @@ static void client(int sds[])
gnutls_handshake_set_timeout(session, get_timeout());
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n",
@@ -143,13 +143,12 @@ static void client(int sds[])
gnutls_record_send(session, MSG, strlen(MSG));
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
goto end;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
@@ -162,23 +161,22 @@ static void client(int sds[])
gnutls_deinit(session);
}
- end:
+end:
gnutls_free(session_data.data);
gnutls_certificate_free_credentials(x509_cred);
}
static pid_t child;
-# define MAX_CLIENT_HELLO_RECORDED 10
+#define MAX_CLIENT_HELLO_RECORDED 10
struct storage_st {
gnutls_datum_t entries[MAX_CLIENT_HELLO_RECORDED];
size_t num_entries;
};
-static int
-storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
- const gnutls_datum_t * value)
+static int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,
+ const gnutls_datum_t *value)
{
struct storage_st *storage = ptr;
gnutls_datum_t *datum;
@@ -186,8 +184,8 @@ storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
for (i = 0; i < storage->num_entries; i++) {
if (key->size == storage->entries[i].size &&
- memcmp(storage->entries[i].data, key->data,
- key->size) == 0) {
+ memcmp(storage->entries[i].data, key->data, key->size) ==
+ 0) {
return GNUTLS_E_DB_ENTRY_EXISTS;
}
}
@@ -256,9 +254,9 @@ static void server(int sds[])
success("=== session %d ===\n", t);
- assert(gnutls_init
- (&session,
- GNUTLS_SERVER | GNUTLS_ENABLE_EARLY_DATA) >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_SERVER | GNUTLS_ENABLE_EARLY_DATA) >=
+ 0);
assert(gnutls_priority_set_direct(session, PRIORITY, NULL) >=
0);
@@ -283,8 +281,8 @@ static void server(int sds[])
if (ret < 0) {
gnutls_deinit(session);
- fail("server[%d]: Handshake has failed (%s)\n\n",
- t, gnutls_strerror(ret));
+ fail("server[%d]: Handshake has failed (%s)\n\n", t,
+ gnutls_strerror(ret));
}
if (debug)
success("server: Handshake was completed\n");
@@ -305,12 +303,12 @@ static void server(int sds[])
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
} else if (ret > 0) {
/* echo data back to the client
*/
@@ -383,4 +381,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13-early-data.c b/tests/tls13-early-data.c
index 0676dc2002..8768d33ee2 100644
--- a/tests/tls13-early-data.c
+++ b/tests/tls13-early-data.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -36,31 +36,31 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
-# include "virt-time.h"
-# define MIN(x,y) (((x)<(y))?(x):(y))
-
-# define TRACE_CLIENT 1
-# define TRACE_SERVER 2
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
+#include "virt-time.h"
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
+
+#define TRACE_CLIENT 1
+#define TRACE_SERVER 2
/* To reproduce the entries in {client,server}-secrets.h, set this to
* either TRACE_CLIENT or TRACE_SERVER.
*/
-# define TRACE 0
+#define TRACE 0
/* This program tests the robustness of record sending with padding.
*/
@@ -78,9 +78,9 @@ static void client_log_func(int level, const char *str)
/* A very basic TLS client.
*/
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
-# define EARLY_MSG "Hello TLS, it's early"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
+#define EARLY_MSG "Hello TLS, it's early"
extern unsigned int _gnutls_global_version;
@@ -90,26 +90,26 @@ extern unsigned int _gnutls_global_version;
* is to check that the early data is encrypted with the ciphersuite
* selected during the initial handshake, not the resuming handshakes.
*/
-# define SESSIONS 3
-# define TLS13_AES_128_GCM "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS"
-# define TLS13_CHACHA20_POLY1305 "NONE:+VERS-TLS1.3:+CHACHA20-POLY1305:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS"
-
-static const
-gnutls_datum_t hrnd = { (void *)
- "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+#define SESSIONS 3
+#define TLS13_AES_128_GCM \
+ "NONE:+VERS-TLS1.3:+AES-128-GCM:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS"
+#define TLS13_CHACHA20_POLY1305 \
+ "NONE:+VERS-TLS1.3:+CHACHA20-POLY1305:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS"
+
+static const gnutls_datum_t hrnd = {
+ (void *)"\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
-static const
-gnutls_datum_t hsrnd = { (void *)
- "\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hsrnd = {
+ (void *)"\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
static int gnutls_rnd_works;
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
gnutls_rnd_works = 1;
@@ -122,8 +122,8 @@ int __attribute__((visibility("protected")))
return 0;
}
-# define MAX_SECRET_SIZE 64
-# define MAX_SECRET_COUNT 10
+#define MAX_SECRET_SIZE 64
+#define MAX_SECRET_COUNT 10
struct secret {
gnutls_record_encryption_level_t level;
@@ -134,62 +134,62 @@ struct secret {
uint8_t secret_write_buf[MAX_SECRET_SIZE];
};
-# include "client-secrets.h"
-# include "server-secrets.h"
+#include "client-secrets.h"
+#include "server-secrets.h"
struct secrets_expected {
const struct secret *secrets;
size_t count;
};
-# define SIZEOF(array) (sizeof(array) / sizeof(array[0]))
+#define SIZEOF(array) (sizeof(array) / sizeof(array[0]))
static const struct secrets_expected client_normal[SESSIONS] = {
- {client_normal_0, SIZEOF(client_normal_0)},
- {client_normal_1, SIZEOF(client_normal_1)},
- {client_normal_2, SIZEOF(client_normal_2)},
+ { client_normal_0, SIZEOF(client_normal_0) },
+ { client_normal_1, SIZEOF(client_normal_1) },
+ { client_normal_2, SIZEOF(client_normal_2) },
};
static const struct secrets_expected client_small[SESSIONS] = {
- {client_small_0, SIZEOF(client_small_0)},
- {client_small_1, SIZEOF(client_small_1)},
- {client_small_2, SIZEOF(client_small_2)},
+ { client_small_0, SIZEOF(client_small_0) },
+ { client_small_1, SIZEOF(client_small_1) },
+ { client_small_2, SIZEOF(client_small_2) },
};
static const struct secrets_expected client_empty[SESSIONS] = {
- {client_empty_0, SIZEOF(client_empty_0)},
- {client_empty_1, SIZEOF(client_empty_1)},
- {client_empty_2, SIZEOF(client_empty_2)},
+ { client_empty_0, SIZEOF(client_empty_0) },
+ { client_empty_1, SIZEOF(client_empty_1) },
+ { client_empty_2, SIZEOF(client_empty_2) },
};
static const struct secrets_expected client_explicit[SESSIONS] = {
- {client_explicit_0, SIZEOF(client_explicit_0)},
- {client_explicit_1, SIZEOF(client_explicit_1)},
- {client_explicit_2, SIZEOF(client_explicit_2)},
+ { client_explicit_0, SIZEOF(client_explicit_0) },
+ { client_explicit_1, SIZEOF(client_explicit_1) },
+ { client_explicit_2, SIZEOF(client_explicit_2) },
};
static const struct secrets_expected server_normal[SESSIONS] = {
- {server_normal_0, SIZEOF(server_normal_0)},
- {server_normal_1, SIZEOF(server_normal_1)},
- {server_normal_2, SIZEOF(server_normal_2)},
+ { server_normal_0, SIZEOF(server_normal_0) },
+ { server_normal_1, SIZEOF(server_normal_1) },
+ { server_normal_2, SIZEOF(server_normal_2) },
};
static const struct secrets_expected server_small[SESSIONS] = {
- {server_small_0, SIZEOF(server_small_0)},
- {server_small_1, SIZEOF(server_small_1)},
- {server_small_2, SIZEOF(server_small_2)},
+ { server_small_0, SIZEOF(server_small_0) },
+ { server_small_1, SIZEOF(server_small_1) },
+ { server_small_2, SIZEOF(server_small_2) },
};
static const struct secrets_expected server_empty[SESSIONS] = {
- {server_empty_0, SIZEOF(server_empty_0)},
- {server_empty_1, SIZEOF(server_empty_1)},
- {server_empty_2, SIZEOF(server_empty_2)},
+ { server_empty_0, SIZEOF(server_empty_0) },
+ { server_empty_1, SIZEOF(server_empty_1) },
+ { server_empty_2, SIZEOF(server_empty_2) },
};
static const struct secrets_expected server_explicit[SESSIONS] = {
- {server_explicit_0, SIZEOF(server_explicit_0)},
- {server_explicit_1, SIZEOF(server_explicit_1)},
- {server_explicit_2, SIZEOF(server_explicit_2)},
+ { server_explicit_0, SIZEOF(server_explicit_0) },
+ { server_explicit_1, SIZEOF(server_explicit_1) },
+ { server_explicit_2, SIZEOF(server_explicit_2) },
};
struct fixture {
@@ -205,49 +205,49 @@ struct fixture {
static const struct fixture fixtures[] = {
{
- .name = "normal",
- .cflags = 0,
- .sflags = 0,
- .early_data = {(uint8_t *) EARLY_MSG, sizeof(EARLY_MSG)},
- .max_early_data_size = MAX_BUF,
- .expect_early_data = true,
- .client_secrets = client_normal,
- .server_secrets = server_normal,
- },
+ .name = "normal",
+ .cflags = 0,
+ .sflags = 0,
+ .early_data = { (uint8_t *)EARLY_MSG, sizeof(EARLY_MSG) },
+ .max_early_data_size = MAX_BUF,
+ .expect_early_data = true,
+ .client_secrets = client_normal,
+ .server_secrets = server_normal,
+ },
{
- .name = "small",
- .cflags = 0,
- .sflags = 0,
- .early_data = {(uint8_t *) EARLY_MSG, sizeof(EARLY_MSG)},
- .max_early_data_size = 10,
- .expect_early_data = true,
- .client_secrets = client_small,
- .server_secrets = server_small,
- },
+ .name = "small",
+ .cflags = 0,
+ .sflags = 0,
+ .early_data = { (uint8_t *)EARLY_MSG, sizeof(EARLY_MSG) },
+ .max_early_data_size = 10,
+ .expect_early_data = true,
+ .client_secrets = client_small,
+ .server_secrets = server_small,
+ },
{
- .name = "empty",
- .cflags = 0,
- .sflags = 0,
- .early_data = {NULL, 0},
- .max_early_data_size = MAX_BUF,
- .expect_early_data = false,
- .client_secrets = client_empty,
- .server_secrets = server_empty,
- },
+ .name = "empty",
+ .cflags = 0,
+ .sflags = 0,
+ .early_data = { NULL, 0 },
+ .max_early_data_size = MAX_BUF,
+ .expect_early_data = false,
+ .client_secrets = client_empty,
+ .server_secrets = server_empty,
+ },
{
- .name = "explicit",
- .cflags = GNUTLS_ENABLE_EARLY_DATA,
- .sflags = 0,
- .early_data = {NULL, 0},
- .max_early_data_size = MAX_BUF,
- .expect_early_data = false,
- .client_secrets = client_explicit,
- .server_secrets = server_explicit,
- },
+ .name = "explicit",
+ .cflags = GNUTLS_ENABLE_EARLY_DATA,
+ .sflags = 0,
+ .early_data = { NULL, 0 },
+ .max_early_data_size = MAX_BUF,
+ .expect_early_data = false,
+ .client_secrets = client_explicit,
+ .server_secrets = server_explicit,
+ },
};
-# if TRACE
-static void print_secret(FILE * out, struct secret *secret)
+#if TRACE
+static void print_secret(FILE *out, struct secret *secret)
{
const char *level;
@@ -291,14 +291,13 @@ static void print_secret(FILE * out, struct secret *secret)
}
}
-static void
-print_secrets(FILE * out, const char *side, const char *name, int t,
- struct secret *secrets, size_t count)
+static void print_secrets(FILE *out, const char *side, const char *name, int t,
+ struct secret *secrets, size_t count)
{
size_t i;
- fprintf(out, "static const struct secret %s_%s_%d[] = {\n",
- side, name, t);
+ fprintf(out, "static const struct secret %s_%s_%d[] = {\n", side, name,
+ t);
for (i = 0; i < count; i++) {
fputs("\t{\n", out);
print_secret(out, &secrets[i]);
@@ -306,17 +305,16 @@ print_secrets(FILE * out, const char *side, const char *name, int t,
}
fputs("};\n\n", out);
}
-# endif
+#endif
-static void
-check_secrets(const struct secret *secrets, size_t count,
- const struct secrets_expected *expected)
+static void check_secrets(const struct secret *secrets, size_t count,
+ const struct secrets_expected *expected)
{
size_t i;
if (count != expected->count) {
- fail("unexpected number of secrets: %zu != %zu\n",
- count, expected->count);
+ fail("unexpected number of secrets: %zu != %zu\n", count,
+ expected->count);
}
for (i = 0; i < count; i++) {
@@ -324,7 +322,8 @@ check_secrets(const struct secret *secrets, size_t count,
fail("unexpected secret level: %d != %d\n",
secrets[i].level, expected->secrets[i].level);
}
- if (secrets[i].secret_size != expected->secrets[i].secret_size) {
+ if (secrets[i].secret_size !=
+ expected->secrets[i].secret_size) {
fail("unexpected secret size: %zu != %zu\n",
secrets[i].secret_size,
expected->secrets[i].secret_size);
@@ -362,11 +361,10 @@ struct callback_data {
struct secret secrets[MAX_SECRET_COUNT];
};
-static int
-secret_callback(gnutls_session_t session,
- gnutls_record_encryption_level_t level,
- const void *secret_read,
- const void *secret_write, size_t secret_size)
+static int secret_callback(gnutls_session_t session,
+ gnutls_record_encryption_level_t level,
+ const void *secret_read, const void *secret_write,
+ size_t secret_size)
{
struct callback_data *data = gnutls_session_get_ptr(session);
struct secret *secret = &data->secrets[data->secret_callback_called];
@@ -382,12 +380,17 @@ secret_callback(gnutls_session_t session,
cipher_algo = gnutls_early_cipher_get(session);
if (cipher_algo != GNUTLS_CIPHER_AES_128_GCM) {
- fail("unexpected cipher used for early data: %s != %s\n", gnutls_cipher_get_name(cipher_algo), gnutls_cipher_get_name(GNUTLS_CIPHER_AES_128_GCM));
+ fail("unexpected cipher used for early data: %s != %s\n",
+ gnutls_cipher_get_name(cipher_algo),
+ gnutls_cipher_get_name(
+ GNUTLS_CIPHER_AES_128_GCM));
}
digest_algo = gnutls_early_prf_hash_get(session);
if (digest_algo != GNUTLS_DIG_SHA256) {
- fail("unexpected PRF hash used for early data: %s != %s\n", gnutls_digest_get_name(digest_algo), gnutls_digest_get_name(GNUTLS_DIG_SHA256));
+ fail("unexpected PRF hash used for early data: %s != %s\n",
+ gnutls_digest_get_name(digest_algo),
+ gnutls_digest_get_name(GNUTLS_DIG_SHA256));
}
}
}
@@ -442,10 +445,11 @@ static void client(int sds[], const struct fixture *fixture)
assert(gnutls_init(&session, GNUTLS_CLIENT | fixture->cflags) >=
0);
- assert(gnutls_priority_set_direct
- (session,
- t == 0 ? TLS13_AES_128_GCM : TLS13_CHACHA20_POLY1305,
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ t == 0 ? TLS13_AES_128_GCM :
+ TLS13_CHACHA20_POLY1305,
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
x509_cred);
@@ -459,20 +463,20 @@ static void client(int sds[], const struct fixture *fixture)
gnutls_handshake_set_secret_function(session, secret_callback);
if (t > 0) {
- assert(gnutls_session_set_data
- (session, session_data.data,
- session_data.size) >= 0);
+ assert(gnutls_session_set_data(session,
+ session_data.data,
+ session_data.size) >= 0);
/* The server should have advertised the same maximum. */
if (gnutls_record_get_max_early_data_size(session) !=
fixture->max_early_data_size)
- fail("client: max_early_data_size mismatch %d != %d\n", (int)gnutls_record_get_max_early_data_size(session), (int)fixture->max_early_data_size);
- assert(gnutls_record_send_early_data(session,
- fixture->early_data.
- data,
- MIN
- (fixture->early_data.size,
- fixture->max_early_data_size))
- >= 0);
+ fail("client: max_early_data_size mismatch %d != %d\n",
+ (int)gnutls_record_get_max_early_data_size(
+ session),
+ (int)fixture->max_early_data_size);
+ assert(gnutls_record_send_early_data(
+ session, fixture->early_data.data,
+ MIN(fixture->early_data.size,
+ fixture->max_early_data_size)) >= 0);
}
/* Perform the TLS handshake
@@ -480,8 +484,7 @@ static void client(int sds[], const struct fixture *fixture)
gnutls_handshake_set_timeout(session, get_timeout());
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n",
@@ -492,14 +495,13 @@ static void client(int sds[], const struct fixture *fixture)
}
if (!gnutls_rnd_works) {
- success
- ("client: gnutls_rnd() could not be overridden\n");
+ success("client: gnutls_rnd() could not be overridden\n");
} else {
-# if TRACE == TRACE_CLIENT
+#if TRACE == TRACE_CLIENT
print_secrets(stderr, "client", fixture->name, t,
callback_data.secrets,
callback_data.secret_callback_called);
-# endif
+#endif
check_secrets(callback_data.secrets,
callback_data.secret_callback_called,
&fixture->client_secrets[t]);
@@ -529,13 +531,12 @@ static void client(int sds[], const struct fixture *fixture)
gnutls_record_send(session, MSG, strlen(MSG));
do {
- ret =
- gnutls_record_recv(session, buffer, sizeof(buffer));
+ ret = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
} while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
goto end;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
@@ -548,7 +549,7 @@ static void client(int sds[], const struct fixture *fixture)
gnutls_deinit(session);
}
- end:
+end:
gnutls_free(session_data.data);
gnutls_certificate_free_credentials(x509_cred);
@@ -557,16 +558,15 @@ static void client(int sds[], const struct fixture *fixture)
static pid_t child;
-# define MAX_CLIENT_HELLO_RECORDED 10
+#define MAX_CLIENT_HELLO_RECORDED 10
struct storage_st {
gnutls_datum_t entries[MAX_CLIENT_HELLO_RECORDED];
size_t num_entries;
};
-static int
-storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
- const gnutls_datum_t * value)
+static int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,
+ const gnutls_datum_t *value)
{
struct storage_st *storage = ptr;
gnutls_datum_t *datum;
@@ -574,8 +574,8 @@ storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
for (i = 0; i < storage->num_entries; i++) {
if (key->size == storage->entries[i].size &&
- memcmp(storage->entries[i].data, key->data,
- key->size) == 0) {
+ memcmp(storage->entries[i].data, key->data, key->size) ==
+ 0) {
return GNUTLS_E_DB_ENTRY_EXISTS;
}
}
@@ -650,14 +650,15 @@ static void server(int sds[], const struct fixture *fixture)
int sd = sds[t];
struct callback_data callback_data;
- assert(gnutls_init
- (&session,
- GNUTLS_SERVER | GNUTLS_ENABLE_EARLY_DATA) >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_SERVER | GNUTLS_ENABLE_EARLY_DATA) >=
+ 0);
- assert(gnutls_priority_set_direct
- (session,
- t == 0 ? TLS13_AES_128_GCM : TLS13_CHACHA20_POLY1305,
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ t == 0 ? TLS13_AES_128_GCM :
+ TLS13_CHACHA20_POLY1305,
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
x509_cred);
@@ -671,8 +672,8 @@ static void server(int sds[], const struct fixture *fixture)
* until max_early_data_size without decryption
*/
if (t < 2)
- (void)gnutls_record_set_max_early_data_size(session,
- fixture->max_early_data_size);
+ (void)gnutls_record_set_max_early_data_size(
+ session, fixture->max_early_data_size);
assert(gnutls_handshake_set_random(session, &hsrnd) >= 0);
gnutls_transport_set_int(session, sd);
@@ -684,8 +685,7 @@ static void server(int sds[], const struct fixture *fixture)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(sd);
gnutls_deinit(session);
@@ -703,8 +703,7 @@ static void server(int sds[], const struct fixture *fixture)
}
if (!gnutls_rnd_works) {
- success
- ("server: gnutls_rnd() could not be overridden\n");
+ success("server: gnutls_rnd() could not be overridden\n");
goto skip_early_data;
}
@@ -714,11 +713,11 @@ static void server(int sds[], const struct fixture *fixture)
fail("negotiated unexpected cipher: %s\n",
gnutls_cipher_get_name(ret));
}
-# if TRACE == TRACE_SERVER
+#if TRACE == TRACE_SERVER
print_secrets(stderr, "server", fixture->name, t,
callback_data.secrets,
callback_data.secret_callback_called);
-# endif
+#endif
check_secrets(callback_data.secrets,
callback_data.secret_callback_called,
&fixture->server_secrets[t]);
@@ -729,45 +728,48 @@ static void server(int sds[], const struct fixture *fixture)
if (fixture->expect_early_data &&
!(gnutls_session_get_flags(session) &
GNUTLS_SFLAGS_EARLY_DATA)) {
- fail("server: early data is not received (%d)\n", t);
+ fail("server: early data is not received (%d)\n",
+ t);
}
- ret =
- gnutls_record_recv_early_data(session, buffer,
- sizeof(buffer));
+ ret = gnutls_record_recv_early_data(session, buffer,
+ sizeof(buffer));
if (ret < 0) {
if (fixture->early_data.size == 0 ||
fixture->max_early_data_size == 0) {
if (ret !=
- GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
- {
- fail("server: unexpected error code when retrieving empty early data: %s\n", gnutls_strerror(ret));
+ GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ fail("server: unexpected error code when retrieving empty early data: %s\n",
+ gnutls_strerror(ret));
}
} else {
- fail("server: failed to retrieve early data: %s\n", gnutls_strerror(ret));
+ fail("server: failed to retrieve early data: %s\n",
+ gnutls_strerror(ret));
}
} else {
if (fixture->early_data.size == 0 ||
fixture->max_early_data_size == 0) {
- fail("server: unexpected early data received: %d\n", ret);
+ fail("server: unexpected early data received: %d\n",
+ ret);
} else if ((size_t)ret !=
- MIN(fixture->early_data.size,
- fixture->max_early_data_size)
- || memcmp(buffer,
- fixture->early_data.data,
- ret)) {
+ MIN(fixture->early_data.size,
+ fixture->max_early_data_size) ||
+ memcmp(buffer,
+ fixture->early_data.data,
+ ret)) {
fail("server: early data mismatch\n");
}
}
} else if (t == 2) {
if (fixture->expect_early_data &&
gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_EARLY_DATA) {
- fail("server: early data is not rejected (%d)\n", t);
+ GNUTLS_SFLAGS_EARLY_DATA) {
+ fail("server: early data is not rejected (%d)\n",
+ t);
}
}
- skip_early_data:
+ skip_early_data:
/* see the Getting peer's information example */
/* print_info(session); */
@@ -777,8 +779,7 @@ static void server(int sds[], const struct fixture *fixture)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
@@ -875,4 +876,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13-early-start.c b/tests/tls13-early-start.c
index 41002668a2..9f4a3e3214 100644
--- a/tests/tls13-early-start.c
+++ b/tests/tls13-early-start.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests support for early start in TLS1.3 handshake */
@@ -44,18 +44,18 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-#define try_ok(name, client_prio) \
- try_with_key(name, client_prio, \
- &server_ca3_localhost_cert, &server_ca3_key, NULL, NULL, 0)
+#define try_ok(name, client_prio) \
+ try_with_key(name, client_prio, &server_ca3_localhost_cert, \
+ &server_ca3_key, NULL, NULL, 0)
#define MSG "hello there ppl"
-static
-void try_with_key_fail(const char *name, const char *client_prio,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key, unsigned init_flags)
+static void try_with_key_fail(const char *name, const char *client_prio,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key,
+ unsigned init_flags)
{
int ret;
char buffer[256];
@@ -76,9 +76,8 @@ void try_with_key_fail(const char *name, const char *client_prio,
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- ret = gnutls_certificate_set_x509_key_mem(serverx509cred,
- serv_cert, serv_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, serv_cert, serv_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("Could not set key/cert: %s\n", gnutls_strerror(ret));
@@ -97,9 +96,8 @@ void try_with_key_fail(const char *name, const char *client_prio,
exit(1);
if (cli_cert) {
- gnutls_certificate_set_x509_key_mem(clientx509cred,
- cli_cert, cli_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(
+ clientx509cred, cli_cert, cli_key, GNUTLS_X509_FMT_PEM);
gnutls_certificate_server_set_request(server,
GNUTLS_CERT_REQUIRE);
}
@@ -174,13 +172,12 @@ void try_with_key_fail(const char *name, const char *client_prio,
gnutls_certificate_free_credentials(clientx509cred);
}
-static
-void try_with_key_ks(const char *name, const char *client_prio,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * client_cert,
- const gnutls_datum_t * client_key,
- unsigned cert_flags, unsigned init_flags)
+static void try_with_key_ks(const char *name, const char *client_prio,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *client_cert,
+ const gnutls_datum_t *client_key,
+ unsigned cert_flags, unsigned init_flags)
{
int ret;
char buffer[256];
@@ -203,9 +200,8 @@ void try_with_key_ks(const char *name, const char *client_prio,
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- ret = gnutls_certificate_set_x509_key_mem(serverx509cred,
- serv_cert, serv_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ serverx509cred, serv_cert, serv_key, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("Could not set key/cert: %s\n", gnutls_strerror(ret));
}
@@ -213,9 +209,8 @@ void try_with_key_ks(const char *name, const char *client_prio,
assert(gnutls_init(&server, GNUTLS_SERVER | init_flags) >= 0);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- assert(gnutls_priority_set_direct(server,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-ALL:+VERS-TLS1.3", NULL) >= 0);
gnutls_transport_set_push_function(server, server_push);
gnutls_transport_set_pull_function(server, server_pull);
gnutls_transport_set_ptr(server, server);
@@ -227,8 +222,8 @@ void try_with_key_ks(const char *name, const char *client_prio,
exit(1);
if (cert_flags == USE_CERT) {
- gnutls_certificate_set_x509_key_mem(clientx509cred,
- client_cert, client_key,
+ gnutls_certificate_set_x509_key_mem(clientx509cred, client_cert,
+ client_key,
GNUTLS_X509_FMT_PEM);
gnutls_certificate_server_set_request(server,
GNUTLS_CERT_REQUIRE);
@@ -309,16 +304,14 @@ void try_with_key_ks(const char *name, const char *client_prio,
gnutls_certificate_free_credentials(clientx509cred);
}
-static
-void try_with_key(const char *name, const char *client_prio,
- const gnutls_datum_t * serv_cert,
- const gnutls_datum_t * serv_key,
- const gnutls_datum_t * cli_cert,
- const gnutls_datum_t * cli_key, unsigned cert_flags)
+static void try_with_key(const char *name, const char *client_prio,
+ const gnutls_datum_t *serv_cert,
+ const gnutls_datum_t *serv_key,
+ const gnutls_datum_t *cli_cert,
+ const gnutls_datum_t *cli_key, unsigned cert_flags)
{
- return try_with_key_ks(name, client_prio,
- serv_cert, serv_key, cli_cert, cli_key,
- cert_flags, GNUTLS_ENABLE_EARLY_START);
+ return try_with_key_ks(name, client_prio, serv_cert, serv_key, cli_cert,
+ cli_key, cert_flags, GNUTLS_ENABLE_EARLY_START);
}
#include "cert-common.h"
@@ -333,10 +326,11 @@ void doit(void)
try_ok("TLS 1.3 with x25519 rsa no-cli-cert",
"NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519");
- try_with_key_ks("TLS 1.3 with secp256r1 ecdsa no-cli-cert",
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1",
- &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key,
- NULL, NULL, 0, GNUTLS_ENABLE_EARLY_START);
+ try_with_key_ks(
+ "TLS 1.3 with secp256r1 ecdsa no-cli-cert",
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1",
+ &server_ca3_localhost_ecc_cert, &server_ca3_ecc_key, NULL, NULL,
+ 0, GNUTLS_ENABLE_EARLY_START);
/* client authentication: no early start possible */
try_with_key_fail("TLS 1.3 with rsa-pss cli-cert",
diff --git a/tests/tls13-rehandshake-cert.c b/tests/tls13-rehandshake-cert.c
index 06f169c31e..180e2a894c 100644
--- a/tests/tls13-rehandshake-cert.c
+++ b/tests/tls13-rehandshake-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,8 +44,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static
-void server_initiated_handshake(void)
+static void server_initiated_handshake(void)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -68,9 +67,8 @@ void server_initiated_handshake(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
@@ -126,8 +124,7 @@ void server_initiated_handshake(void)
reset_buffers();
}
-static
-void client_initiated_handshake(void)
+static void client_initiated_handshake(void)
{
/* Server stuff. */
gnutls_certificate_credentials_t serverx509cred;
@@ -150,9 +147,8 @@ void client_initiated_handshake(void)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&server, GNUTLS_SERVER);
gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_priority_set_direct(server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
diff --git a/tests/tls13-server-kx-neg.c b/tests/tls13-server-kx-neg.c
index c2e987a1fa..2fecbd25a1 100644
--- a/tests/tls13-server-kx-neg.c
+++ b/tests/tls13-server-kx-neg.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
/* This program tests the negotiation for various key exchange
@@ -41,292 +41,279 @@
test_case_st tests[] = {
{
- .name = "TLS 1.3 DHE-PSK without cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_3,
- },
+ .name = "TLS 1.3 DHE-PSK without cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_3,
+ },
{
- .name = "TLS 1.3 DHE-PSK with cred but no DH params",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_3,
- },
+ .name = "TLS 1.3 DHE-PSK with cred but no DH params",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_3,
+ },
{
- .name = "TLS 1.3 DHE-PSK with cred and DH params (level)",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_3,
- },
+ .name = "TLS 1.3 DHE-PSK with cred and DH params (level)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_3,
+ },
{
- .name = "TLS 1.3 DHE-PSK with cred and DH params (explicit)",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .have_psk_exp_dh_params = 1,
- .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_3,
- },
+ .name = "TLS 1.3 DHE-PSK with cred and DH params (explicit)",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .have_psk_exp_dh_params = 1,
+ .server_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+DHE-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_3,
+ },
{
- .name = "TLS 1.3 ECDHE-PSK with cred but no common curve",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_COMMON_KEY_SHARE,
- .have_psk_cred = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-CURVE-ALL:+CURVE-SECP256R1:" PVERSION,
- .client_prio =
- "NORMAL:-KX-ALL:+ECDHE-PSK:-CURVE-ALL:+CURVE-SECP384R1:" PVERSION,
- .exp_version = GNUTLS_TLS1_3,
- },
+ .name = "TLS 1.3 ECDHE-PSK with cred but no common curve",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_COMMON_KEY_SHARE,
+ .have_psk_cred = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-CURVE-ALL:+CURVE-SECP256R1:" PVERSION,
+ .client_prio =
+ "NORMAL:-KX-ALL:+ECDHE-PSK:-CURVE-ALL:+CURVE-SECP384R1:" PVERSION,
+ .exp_version = GNUTLS_TLS1_3,
+ },
{
- .name = "TLS 1.3 ECDHE-PSK with cred and common curve",
- .client_ret = 0,
- .server_ret = 0,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_3,
- },
+ .name = "TLS 1.3 ECDHE-PSK with cred and common curve",
+ .client_ret = 0,
+ .server_ret = 0,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+ECDHE-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_3,
+ },
{
- .name = "TLS 1.3 RSA-PSK without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_psk_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 RSA-PSK without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_psk_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 RSA-PSK without psk cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 RSA-PSK without psk cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 RSA-PSK with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 RSA-PSK with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 RSA-PSK with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 RSA-PSK with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 RSA-PSK with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_psk_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 RSA-PSK with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_psk_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+RSA-PSK:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
#ifdef ENABLE_SRP
{
- .name = "TLS 1.3 SRP-RSA without cert cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP-RSA without cert cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 SRP-RSA without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP-RSA without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 SRP-RSA with cred but invalid cert",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_decrypt_cert = 1,
- .have_ecc_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP-RSA with cred but invalid cert",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_decrypt_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 SRP-RSA with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP-RSA with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 SRP-RSA with cred and multiple certs",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .have_cert_cred = 1,
- .have_rsa_sign_cert = 1,
- .have_ecc_sign_cert = 1,
- .have_rsa_decrypt_cert = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP-RSA with cred and multiple certs",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .have_cert_cred = 1,
+ .have_rsa_sign_cert = 1,
+ .have_ecc_sign_cert = 1,
+ .have_rsa_decrypt_cert = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP-RSA:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 SRP without srp cred",
- .client_ret = GNUTLS_E_AGAIN,
- .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
- .have_srp_cred = 0,
- .have_cert_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP without srp cred",
+ .client_ret = GNUTLS_E_AGAIN,
+ .server_ret = GNUTLS_E_INSUFFICIENT_CREDENTIALS,
+ .have_srp_cred = 0,
+ .have_cert_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.3 SRP with cred",
- .server_ret = 0,
- .client_ret = 0,
- .have_srp_cred = 1,
- .server_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
- .client_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 SRP with cred",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_srp_cred = 1,
+ .server_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
+ .client_prio = "NORMAL:-KX-ALL:+SRP:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
#endif
#ifdef ENABLE_GOST
{
- .name =
- "TLS 1.3 server, TLS 1.2 client VKO-GOST-12 with cred and GOST-256 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_256_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- "-VERS-ALL:+VERS-TLS1.2",
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 server, TLS 1.2 client VKO-GOST-12 with cred and GOST-256 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_256_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
+ "-VERS-ALL:+VERS-TLS1.2",
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name =
- "TLS 1.3 server, TLS 1.2 client VKO-GOST-12 with cred and GOST-512 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_512_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- "-VERS-ALL:+VERS-TLS1.2",
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 server, TLS 1.2 client VKO-GOST-12 with cred and GOST-512 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_512_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
+ "-VERS-ALL:+VERS-TLS1.2",
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name =
- "TLS 1.2 server TLS 1.3 client VKO-GOST-12 with cred and GOST-256 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_256_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- "-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.2 server TLS 1.3 client VKO-GOST-12 with cred and GOST-256 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_256_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
+ "-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name = "TLS 1.2 server TLS 1.3 client with cred and GOST-512 cert",
- .server_ret = 0,
- .client_ret = 0,
- .have_cert_cred = 1,
- .have_gost12_512_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- "-VERS-ALL:+VERS-TLS1.2",
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.2 server TLS 1.3 client with cred and GOST-512 cert",
+ .server_ret = 0,
+ .client_ret = 0,
+ .have_cert_cred = 1,
+ .have_gost12_512_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
+ "-VERS-ALL:+VERS-TLS1.2",
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
/* Ideally for the next two test cases we should fallback to TLS 1.2 + GOST
* but this is unsuppored for now */
{
- .name =
- "TLS 1.3 server and client VKO-GOST-12 with cred and GOST-256 cert",
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .client_ret = GNUTLS_E_AGAIN,
- .have_cert_cred = 1,
- .have_gost12_256_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 server and client VKO-GOST-12 with cred and GOST-256 cert",
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .client_ret = GNUTLS_E_AGAIN,
+ .have_cert_cred = 1,
+ .have_gost12_256_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
{
- .name =
- "TLS 1.3 server and client VKO-GOST-12 with cred and GOST-512 cert",
- .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
- .client_ret = GNUTLS_E_AGAIN,
- .have_cert_cred = 1,
- .have_gost12_512_cert = 1,
- .not_on_fips = 1,
- .server_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .client_prio =
- "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:"
- PVERSION,
- .exp_version = GNUTLS_TLS1_2,
- },
+ .name = "TLS 1.3 server and client VKO-GOST-12 with cred and GOST-512 cert",
+ .server_ret = GNUTLS_E_NO_CIPHER_SUITES,
+ .client_ret = GNUTLS_E_AGAIN,
+ .have_cert_cred = 1,
+ .have_gost12_512_cert = 1,
+ .not_on_fips = 1,
+ .server_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .client_prio =
+ "NORMAL:-KX-ALL:+VKO-GOST-12:+GROUP-GOST-ALL:+CIPHER-GOST-ALL:+MAC-GOST-ALL:+SIGN-GOST-ALL:" PVERSION,
+ .exp_version = GNUTLS_TLS1_2,
+ },
#endif
};
diff --git a/tests/tls13-without-timeout-func.c b/tests/tls13-without-timeout-func.c
index e3d17e2e09..c8cc2e165b 100644
--- a/tests/tls13-without-timeout-func.c
+++ b/tests/tls13-without-timeout-func.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -45,7 +45,7 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1461671166;
@@ -55,8 +55,8 @@ static time_t mytime(time_t * t)
return then;
}
-static ssize_t
-server_pull_fail(gnutls_transport_ptr_t tr, void *data, size_t len)
+static ssize_t server_pull_fail(gnutls_transport_ptr_t tr, void *data,
+ size_t len)
{
fail("unexpected call to pull callback detected\n");
return -1;
@@ -85,8 +85,8 @@ void doit(void)
gnutls_global_set_time_function(mytime);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
+ assert(gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -98,16 +98,16 @@ void doit(void)
assert(gnutls_certificate_allocate_credentials(&clientx509cred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (clientx509cred, &ca_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&client, GNUTLS_CLIENT) >= 0);
assert(gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE,
clientx509cred) >= 0);
- assert(gnutls_priority_set_direct
- (client, "NORMAL:-VERS-ALL:+VERS-TLS1.3", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-ALL:+VERS-TLS1.3", NULL) >= 0);
gnutls_transport_set_push_function(client, client_push);
gnutls_transport_set_pull_function(client, client_pull);
gnutls_transport_set_ptr(client, client);
diff --git a/tests/tls13/anti_replay.c b/tests/tls13/anti_replay.c
index 0db6bab60f..81544f0d6c 100644
--- a/tests/tls13/anti_replay.c
+++ b/tests/tls13/anti_replay.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <assert.h>
@@ -39,9 +39,8 @@ struct storage_st {
size_t num_entries;
};
-static int
-storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
- const gnutls_datum_t * value)
+static int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,
+ const gnutls_datum_t *value)
{
struct storage_st *storage = ptr;
gnutls_datum_t *datum;
@@ -49,8 +48,8 @@ storage_add(void *ptr, time_t expires, const gnutls_datum_t * key,
for (i = 0; i < storage->num_entries; i++) {
if (key->size == storage->entries[i].size &&
- memcmp(storage->entries[i].data, key->data,
- key->size) == 0) {
+ memcmp(storage->entries[i].data, key->data, key->size) ==
+ 0) {
return GNUTLS_E_DB_ENTRY_EXISTS;
}
}
@@ -100,8 +99,8 @@ void doit(void)
gnutls_anti_replay_set_add_function(anti_replay, storage_add);
gnutls_anti_replay_set_ptr(anti_replay, &storage);
mygettime(&creation_time);
- ret =
- _gnutls_anti_replay_check(anti_replay, 10000, &creation_time, &key);
+ ret = _gnutls_anti_replay_check(anti_replay, 10000, &creation_time,
+ &key);
if (ret != GNUTLS_E_ILLEGAL_PARAMETER)
fail("error is not returned, while server_ticket_age < client_ticket_age\n");
gnutls_anti_replay_deinit(anti_replay);
@@ -115,8 +114,8 @@ void doit(void)
gnutls_anti_replay_set_window(anti_replay, 10000);
mygettime(&creation_time);
virt_sec_sleep(30);
- ret =
- _gnutls_anti_replay_check(anti_replay, 10000, &creation_time, &key);
+ ret = _gnutls_anti_replay_check(anti_replay, 10000, &creation_time,
+ &key);
if (ret != GNUTLS_E_EARLY_DATA_REJECTED)
fail("early data is NOT rejected, while freshness check fails\n");
gnutls_anti_replay_deinit(anti_replay);
@@ -130,12 +129,12 @@ void doit(void)
gnutls_anti_replay_set_window(anti_replay, 10000);
mygettime(&creation_time);
virt_sec_sleep(15);
- ret =
- _gnutls_anti_replay_check(anti_replay, 10000, &creation_time, &key);
+ ret = _gnutls_anti_replay_check(anti_replay, 10000, &creation_time,
+ &key);
if (ret != 0)
fail("early data is rejected, while freshness check succeeds\n");
- ret =
- _gnutls_anti_replay_check(anti_replay, 10000, &creation_time, &key);
+ ret = _gnutls_anti_replay_check(anti_replay, 10000, &creation_time,
+ &key);
if (ret != GNUTLS_E_EARLY_DATA_REJECTED)
fail("early data is NOT rejected for a duplicate key\n");
gnutls_anti_replay_deinit(anti_replay);
diff --git a/tests/tls13/change_cipher_spec.c b/tests/tls13/change_cipher_spec.c
index 276b40ed7d..5e8e5646af 100644
--- a/tests/tls13/change_cipher_spec.c
+++ b/tests/tls13/change_cipher_spec.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,21 +35,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-# include <errno.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+#include <errno.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the ChangeCipherSpec message
* is ignored during handshake.
@@ -70,7 +70,7 @@ static unsigned server_sent_ccs = 0;
static int cli_hsk_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg);
+ const gnutls_datum_t *msg);
static void client(int fd, unsigned ccs_check)
{
@@ -103,10 +103,10 @@ static void client(int fd, unsigned ccs_check)
cli_hsk_callback);
}
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
@@ -123,8 +123,7 @@ static void client(int fd, unsigned ccs_check)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -160,7 +159,7 @@ static void client(int fd, unsigned ccs_check)
static int cli_hsk_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
unsigned *p;
unsigned ccs_check;
@@ -175,14 +174,13 @@ static int cli_hsk_callback(gnutls_session_t session, unsigned int htype,
if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO && !incoming) {
hello_received = 1;
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
- GNUTLS_HOOK_PRE,
- cli_hsk_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
+ GNUTLS_HOOK_PRE, cli_hsk_callback);
}
- if (htype == GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC && !incoming
- && hello_received) {
+ if (htype == GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC && !incoming &&
+ hello_received) {
client_sent_ccs++;
assert(msg->size == 1 && msg->data[0] == 0x01);
}
@@ -192,7 +190,7 @@ static int cli_hsk_callback(gnutls_session_t session, unsigned int htype,
static int hsk_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
int ret;
int fd;
@@ -215,7 +213,7 @@ static int hsk_callback(gnutls_session_t session, unsigned int htype,
do {
ret = send(fd, "\x14\x03\x03\x00\x01\x01", 6, 0);
} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
- } else { /* checking whether server received it */
+ } else { /* checking whether server received it */
if (htype == GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC && !incoming) {
server_sent_ccs++;
assert(msg->size == 1 && msg->data[0] == 0x01);
@@ -252,10 +250,9 @@ static void server(int fd, unsigned ccs_check)
gnutls_handshake_set_timeout(session, get_timeout());
if (ccs_check)
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
- GNUTLS_HOOK_PRE,
- hsk_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC,
+ GNUTLS_HOOK_PRE, hsk_callback);
else
gnutls_handshake_set_hook_function(session,
GNUTLS_HANDSHAKE_ANY,
@@ -265,8 +262,8 @@ static void server(int fd, unsigned ccs_check)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3", NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3",
+ NULL) >= 0);
gnutls_session_set_ptr(session, &ccs_check);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -289,7 +286,8 @@ static void server(int fd, unsigned ccs_check)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0)
- fail("server: gnutls_record_send did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("server: gnutls_record_send did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
/* receive CCS and fail */
do {
@@ -297,8 +295,8 @@ static void server(int fd, unsigned ccs_check)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret != GNUTLS_E_UNEXPECTED_PACKET)
- fail("server: incorrect alert sent: %d != %d\n",
- ret, GNUTLS_E_UNEXPECTED_PACKET);
+ fail("server: incorrect alert sent: %d != %d\n", ret,
+ GNUTLS_E_UNEXPECTED_PACKET);
close(fd);
gnutls_deinit(session);
@@ -325,8 +323,7 @@ static void ch_handler(int sig)
return;
}
-static
-void start(unsigned ccs_check)
+static void start(unsigned ccs_check)
{
int fd[2];
int ret;
@@ -366,4 +363,4 @@ void doit(void)
start(1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/compress-cert-cli.c b/tests/tls13/compress-cert-cli.c
index 0dd11924e4..c7d3ed3026 100644
--- a/tests/tls13/compress-cert-cli.c
+++ b/tests/tls13/compress-cert-cli.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -55,24 +55,26 @@ static int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,
unsigned size)
{
struct handshake_cb_data_st *cb_data = ctx;
- if (tls_id == 27) { /* compress_certificate */
+ if (tls_id == 27) { /* compress_certificate */
cb_data->found_compress_certificate = 1;
}
return 0;
}
-#define SKIP8(pos, total) { \
- uint8_t _s; \
- if (pos+1 > total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > total) fail("error\n"); \
- pos += 1+_s; \
+#define SKIP8(pos, total) \
+ { \
+ uint8_t _s; \
+ if (pos + 1 > total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
-static int
-handshake_callback(gnutls_session_t session, unsigned int htype,
- unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+static int handshake_callback(gnutls_session_t session, unsigned int htype,
+ unsigned post, unsigned int incoming,
+ const gnutls_datum_t *msg)
{
struct handshake_cb_data_st *data = gnutls_session_get_ptr(session);
unsigned pos = 0;
@@ -110,17 +112,16 @@ static void run(void)
/* Server stuff. */
gnutls_certificate_credentials_t scred;
gnutls_session_t server;
- gnutls_compression_method_t smethods[] = {
- GNUTLS_COMP_ZSTD, GNUTLS_COMP_BROTLI, GNUTLS_COMP_ZLIB
- };
+ gnutls_compression_method_t smethods[] = { GNUTLS_COMP_ZSTD,
+ GNUTLS_COMP_BROTLI,
+ GNUTLS_COMP_ZLIB };
struct handshake_cb_data_st sdata = { 0, false, false, false };
int sret;
/* Client stuff. */
gnutls_certificate_credentials_t ccred;
gnutls_session_t client;
- gnutls_compression_method_t cmethods[] = {
- GNUTLS_COMP_ZLIB, GNUTLS_COMP_BROTLI
- };
+ gnutls_compression_method_t cmethods[] = { GNUTLS_COMP_ZLIB,
+ GNUTLS_COMP_BROTLI };
struct handshake_cb_data_st cdata = { 0, false, false, false };
int cret;
/* Need to enable anonymous KX specifically. */
@@ -134,27 +135,21 @@ static void run(void)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_ca3_localhost_cert,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem(scred,
- &ca3_cert,
+ assert(gnutls_certificate_set_x509_key_mem(
+ scred, &server_ca3_localhost_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(scred, &ca3_cert,
GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
gnutls_certificate_server_set_request(server, GNUTLS_CERT_REQUEST);
- ret =
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ ret = gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
if (ret < 0)
exit(1);
- ret =
- gnutls_compress_certificate_set_methods(server, smethods,
- sizeof(smethods) /
- sizeof(*smethods));
+ ret = gnutls_compress_certificate_set_methods(
+ server, smethods, sizeof(smethods) / sizeof(*smethods));
if (ret < 0) {
fail("server: setting compression method failed (%s)\n",
gnutls_strerror(ret));
@@ -172,27 +167,23 @@ static void run(void)
/* Init client */
assert(gnutls_certificate_allocate_credentials(&ccred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem
- (ccred, &cli_ca3_cert_chain, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(ccred, &cli_ca3_cert_chain,
+ &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
assert(ret >= 0);
ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, ccred);
if (ret < 0)
exit(1);
- ret =
- gnutls_compress_certificate_set_methods(client, cmethods,
- sizeof(cmethods) /
- sizeof(*cmethods));
+ ret = gnutls_compress_certificate_set_methods(
+ client, cmethods, sizeof(cmethods) / sizeof(*cmethods));
if (ret < 0) {
fail("client: setting compression method failed (%s)\n",
gnutls_strerror(ret));
diff --git a/tests/tls13/compress-cert-neg.c b/tests/tls13/compress-cert-neg.c
index 9f3a28070f..bac991542b 100644
--- a/tests/tls13/compress-cert-neg.c
+++ b/tests/tls13/compress-cert-neg.c
@@ -20,14 +20,14 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
-#if defined(_WIN32) || !defined(HAVE_LIBZ) || \
- !defined(HAVE_LIBBROTLI) || !defined(HAVE_LIBZSTD)
+#if defined(_WIN32) || !defined(HAVE_LIBZ) || !defined(HAVE_LIBBROTLI) || \
+ !defined(HAVE_LIBZSTD)
int main(int argc, char **argv)
{
@@ -36,19 +36,19 @@ int main(int argc, char **argv)
#else
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the compress_certificate extensions is disabled
* when client and server have incompatible compression methods set */
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3"
-# define CHECK(X) assert((X)>=0)
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3"
+#define CHECK(X) assert((X) >= 0)
static pid_t child;
int client_bad;
@@ -77,7 +77,7 @@ static void server_log_func(int level, const char *str)
static int client_callback(gnutls_session_t session, unsigned htype,
unsigned post, unsigned incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
client_bad = 1;
return 0;
@@ -85,7 +85,7 @@ static int client_callback(gnutls_session_t session, unsigned htype,
static int server_callback(gnutls_session_t session, unsigned htype,
unsigned post, unsigned incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
server_bad = 1;
return 0;
@@ -98,10 +98,10 @@ static void client(int fd)
gnutls_session_t session;
gnutls_certificate_credentials_t x509_cred;
gnutls_compression_method_t method;
- gnutls_compression_method_t methods[] =
- { GNUTLS_COMP_BROTLI, GNUTLS_COMP_ZSTD };
+ gnutls_compression_method_t methods[] = { GNUTLS_COMP_BROTLI,
+ GNUTLS_COMP_ZSTD };
size_t methods_len =
- sizeof(methods) / sizeof(gnutls_compression_method_t);
+ sizeof(methods) / sizeof(gnutls_compression_method_t);
global_init();
@@ -111,34 +111,32 @@ static void client(int fd)
}
CHECK(gnutls_certificate_allocate_credentials(&x509_cred));
- CHECK(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert_chain, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert_chain, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- CHECK(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred));
+ CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred));
CHECK(gnutls_priority_set_direct(session, PRIO, NULL));
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- methods_len);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ methods_len);
if (ret < 0) {
fail("client: setting compression method failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
- GNUTLS_HOOK_PRE, client_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
+ GNUTLS_HOOK_PRE, client_callback);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
goto cleanup;
@@ -147,8 +145,8 @@ static void client(int fd)
success("client: Handshake was completed\n");
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
method = gnutls_compress_certificate_get_selected_method(session);
if (method != GNUTLS_COMP_UNKNOWN)
@@ -169,7 +167,7 @@ static void client(int fd)
if (debug)
success("client: finished\n");
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
gnutls_certificate_free_credentials(x509_cred);
@@ -185,7 +183,7 @@ static void server(int fd)
gnutls_compression_method_t method;
gnutls_compression_method_t methods[] = { GNUTLS_COMP_ZLIB };
size_t methods_len =
- sizeof(methods) / sizeof(gnutls_compression_method_t);
+ sizeof(methods) / sizeof(gnutls_compression_method_t);
global_init();
@@ -195,35 +193,33 @@ static void server(int fd)
}
CHECK(gnutls_certificate_allocate_credentials(&x509_cred));
- CHECK(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_x509_key_mem
- (x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
- GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_init(&session, GNUTLS_SERVER));
- CHECK(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred));
+ CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred));
CHECK(gnutls_priority_set_direct(session, PRIO, NULL));
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- methods_len);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ methods_len);
if (ret < 0) {
fail("server: setting compression method failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
- GNUTLS_HOOK_PRE, server_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
+ GNUTLS_HOOK_PRE, server_callback);
gnutls_certificate_server_set_request(session, GNUTLS_CERT_REQUEST);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
@@ -233,8 +229,8 @@ static void server(int fd)
success("server: Handshake was completed\n");
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name(gnutls_protocol_get_version
- (session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
method = gnutls_compress_certificate_get_selected_method(session);
if (method != GNUTLS_COMP_UNKNOWN)
@@ -255,7 +251,7 @@ static void server(int fd)
if (debug)
success("server: finished\n");
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
gnutls_certificate_free_credentials(x509_cred);
@@ -295,4 +291,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/compress-cert-neg2.c b/tests/tls13/compress-cert-neg2.c
index 0d92b202b5..4fe7770679 100644
--- a/tests/tls13/compress-cert-neg2.c
+++ b/tests/tls13/compress-cert-neg2.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(int argc, char **argv)
#else
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the compress_certificate extension correctly fails
* in the case of compression/decompression failure */
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3"
-# define CHECK(X) assert((X)>=0)
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3"
+#define CHECK(X) assert((X) >= 0)
static pid_t child;
@@ -74,7 +74,7 @@ static void server_log_func(int level, const char *str)
static int client_callback(gnutls_session_t session, unsigned htype,
unsigned post, unsigned incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
/* change compression method to BROTLI */
msg->data[1] = 0x02;
@@ -88,7 +88,7 @@ static void client(int fd)
gnutls_certificate_credentials_t x509_cred;
gnutls_compression_method_t methods[] = { GNUTLS_COMP_ZLIB };
size_t methods_len =
- sizeof(methods) / sizeof(gnutls_compression_method_t);
+ sizeof(methods) / sizeof(gnutls_compression_method_t);
global_init();
@@ -98,34 +98,32 @@ static void client(int fd)
}
CHECK(gnutls_certificate_allocate_credentials(&x509_cred));
- CHECK(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert_chain, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert_chain, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- CHECK(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred));
+ CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred));
CHECK(gnutls_priority_set_direct(session, PRIO, NULL));
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- methods_len);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ methods_len);
if (ret < 0) {
fail("client: setting compression method failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
- GNUTLS_HOOK_PRE, client_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
+ GNUTLS_HOOK_PRE, client_callback);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret >= 0)
fail("client: handshake should have failed\n");
@@ -144,7 +142,7 @@ static void server(int fd)
gnutls_compression_method_t method;
gnutls_compression_method_t methods[] = { GNUTLS_COMP_ZLIB };
size_t methods_len =
- sizeof(methods) / sizeof(gnutls_compression_method_t);
+ sizeof(methods) / sizeof(gnutls_compression_method_t);
global_init();
@@ -154,19 +152,18 @@ static void server(int fd)
}
CHECK(gnutls_certificate_allocate_credentials(&x509_cred));
- CHECK(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_x509_key_mem
- (x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
- GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_init(&session, GNUTLS_SERVER));
- CHECK(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred));
+ CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred));
CHECK(gnutls_priority_set_direct(session, PRIO, NULL));
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- methods_len);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ methods_len);
if (ret < 0) {
fail("server: setting compression method failed (%s)\n\n",
gnutls_strerror(ret));
@@ -177,8 +174,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret >= 0)
fail("server: handshake should have failed\n");
@@ -229,4 +225,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/compress-cert.c b/tests/tls13/compress-cert.c
index 6f7b4a9152..1b7d1370b4 100644
--- a/tests/tls13/compress-cert.c
+++ b/tests/tls13/compress-cert.c
@@ -20,14 +20,14 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
-#if defined(_WIN32) || !defined(HAVE_LIBZ) || \
- !defined(HAVE_LIBBROTLI) || !defined(HAVE_LIBZSTD)
+#if defined(_WIN32) || !defined(HAVE_LIBZ) || !defined(HAVE_LIBBROTLI) || \
+ !defined(HAVE_LIBZSTD)
int main(int argc, char **argv)
{
@@ -36,18 +36,18 @@ int main(int argc, char **argv)
#else
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the compress_certificate extensions works as expected */
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3"
-# define CHECK(X) assert((X)>=0)
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3"
+#define CHECK(X) assert((X) >= 0)
static pid_t child;
int client_ok;
@@ -76,7 +76,7 @@ static void server_log_func(int level, const char *str)
static int client_callback(gnutls_session_t session, unsigned htype,
unsigned post, unsigned incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
if (incoming == 0)
return 0;
@@ -90,7 +90,7 @@ static int client_callback(gnutls_session_t session, unsigned htype,
static int server_callback(gnutls_session_t session, unsigned htype,
unsigned post, unsigned incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
if (incoming == 0)
return 0;
@@ -109,10 +109,10 @@ static void client(int fd)
gnutls_session_t session;
gnutls_certificate_credentials_t x509_cred;
gnutls_compression_method_t method;
- gnutls_compression_method_t methods[] =
- { GNUTLS_COMP_ZLIB, GNUTLS_COMP_BROTLI };
+ gnutls_compression_method_t methods[] = { GNUTLS_COMP_ZLIB,
+ GNUTLS_COMP_BROTLI };
size_t methods_len =
- sizeof(methods) / sizeof(gnutls_compression_method_t);
+ sizeof(methods) / sizeof(gnutls_compression_method_t);
global_init();
@@ -122,34 +122,32 @@ static void client(int fd)
}
CHECK(gnutls_certificate_allocate_credentials(&x509_cred));
- CHECK(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert_chain, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert_chain, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- CHECK(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred));
+ CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred));
CHECK(gnutls_priority_set_direct(session, PRIO, NULL));
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- methods_len);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ methods_len);
if (ret < 0) {
fail("client: setting compression method failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
- GNUTLS_HOOK_PRE, client_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
+ GNUTLS_HOOK_PRE, client_callback);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
goto cleanup;
@@ -158,8 +156,8 @@ static void client(int fd)
success("client: Handshake was completed\n");
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
method = gnutls_compress_certificate_get_selected_method(session);
if (method != GNUTLS_COMP_BROTLI)
@@ -180,7 +178,7 @@ static void client(int fd)
if (debug)
success("client: finished\n");
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
gnutls_certificate_free_credentials(x509_cred);
@@ -194,10 +192,11 @@ static void server(int fd)
gnutls_session_t session;
gnutls_certificate_credentials_t x509_cred;
gnutls_compression_method_t method;
- gnutls_compression_method_t methods[] =
- { GNUTLS_COMP_ZSTD, GNUTLS_COMP_BROTLI, GNUTLS_COMP_ZLIB };
+ gnutls_compression_method_t methods[] = { GNUTLS_COMP_ZSTD,
+ GNUTLS_COMP_BROTLI,
+ GNUTLS_COMP_ZLIB };
size_t methods_len =
- sizeof(methods) / sizeof(gnutls_compression_method_t);
+ sizeof(methods) / sizeof(gnutls_compression_method_t);
global_init();
@@ -207,35 +206,33 @@ static void server(int fd)
}
CHECK(gnutls_certificate_allocate_credentials(&x509_cred));
- CHECK(gnutls_certificate_set_x509_trust_mem
- (x509_cred, &ca3_cert, GNUTLS_X509_FMT_PEM));
- CHECK(gnutls_certificate_set_x509_key_mem
- (x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
- GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_trust_mem(x509_cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM));
+ CHECK(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &server_ca3_localhost_cert_chain, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM));
CHECK(gnutls_init(&session, GNUTLS_SERVER));
- CHECK(gnutls_credentials_set
- (session, GNUTLS_CRD_CERTIFICATE, x509_cred));
+ CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
+ x509_cred));
CHECK(gnutls_priority_set_direct(session, PRIO, NULL));
- ret =
- gnutls_compress_certificate_set_methods(session, methods,
- methods_len);
+ ret = gnutls_compress_certificate_set_methods(session, methods,
+ methods_len);
if (ret < 0) {
fail("server: setting compression method failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
- GNUTLS_HOOK_PRE, server_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_COMPRESSED_CERTIFICATE_PKT,
+ GNUTLS_HOOK_PRE, server_callback);
gnutls_certificate_server_set_request(session, GNUTLS_CERT_REQUEST);
gnutls_transport_set_int(session, fd);
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("server: Handshake has failed (%s)\n\n",
gnutls_strerror(ret));
@@ -245,8 +242,8 @@ static void server(int fd)
success("server: Handshake was completed\n");
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name(gnutls_protocol_get_version
- (session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
method = gnutls_compress_certificate_get_selected_method(session);
if (method != GNUTLS_COMP_ZLIB)
@@ -267,7 +264,7 @@ static void server(int fd)
if (debug)
success("server: finished\n");
- cleanup:
+cleanup:
close(fd);
gnutls_deinit(session);
gnutls_certificate_free_credentials(x509_cred);
@@ -307,4 +304,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/cookie.c b/tests/tls13/cookie.c
index 54a6f8ee4c..e331bcd67a 100644
--- a/tests/tls13/cookie.c
+++ b/tests/tls13/cookie.c
@@ -23,7 +23,7 @@
* by the gnutls client. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,19 +39,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# include <signal.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#include <signal.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
-# include "utils.h"
-# include "cert-common.h"
+#include "utils.h"
+#include "cert-common.h"
const char *side = "";
@@ -63,13 +63,7 @@ static void tls_log_func(int level, const char *str)
static int TLSEXT_TYPE_server_sent = 0;
static int TLSEXT_TYPE_server_received = 0;
-static const unsigned char ext_data[] = {
- 0x00,
- 0x03,
- 0xFE,
- 0xED,
- 0xFF
-};
+static const unsigned char ext_data[] = { 0x00, 0x03, 0xFE, 0xED, 0xFF };
static int ext_recv_server_cookie(gnutls_session_t session,
const unsigned char *buf, size_t buflen)
@@ -82,7 +76,7 @@ static int ext_recv_server_cookie(gnutls_session_t session,
TLSEXT_TYPE_server_received = 1;
- return 0; //Success
+ return 0; //Success
}
static int ext_send_server_cookie(gnutls_session_t session,
@@ -117,8 +111,8 @@ static void client(int sd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities */
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.3", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.3", NULL) >= 0);
/* put the anonymous credentials to the current session
*/
@@ -141,7 +135,7 @@ static void client(int sd)
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -167,30 +161,28 @@ static void server(int sd)
side = "server";
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_init(&session, GNUTLS_SERVER);
/* force a hello retry request by disabling all the groups that are
* enabled by default. */
- assert(gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:"
- "-GROUP-SECP256R1:-GROUP-X25519:-GROUP-FFDHE2048",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:"
+ "-GROUP-SECP256R1:-GROUP-X25519:-GROUP-FFDHE2048",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
- ret =
- gnutls_session_ext_register(session, "cookie_server", 44,
- GNUTLS_EXT_TLS, ext_recv_server_cookie,
- ext_send_server_cookie, NULL, NULL,
- NULL,
- GNUTLS_EXT_FLAG_CLIENT_HELLO |
- GNUTLS_EXT_FLAG_HRR |
- GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL |
- GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST);
+ ret = gnutls_session_ext_register(
+ session, "cookie_server", 44, GNUTLS_EXT_TLS,
+ ext_recv_server_cookie, ext_send_server_cookie, NULL, NULL,
+ NULL,
+ GNUTLS_EXT_FLAG_CLIENT_HELLO | GNUTLS_EXT_FLAG_HRR |
+ GNUTLS_EXT_FLAG_OVERRIDE_INTERNAL |
+ GNUTLS_EXT_FLAG_IGNORE_CLIENT_REQUEST);
if (ret != 0)
fail("server: cannot register: %s", gnutls_strerror(ret));
@@ -216,7 +208,7 @@ static void server(int sd)
*/
gnutls_bye(session, GNUTLS_SHUT_WR);
- end:
+end:
close(sd);
gnutls_deinit(session);
@@ -266,4 +258,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/ext-parse.h b/tests/tls13/ext-parse.h
index c3dd7c41b0..4f8ce1c7cb 100644
--- a/tests/tls13/ext-parse.h
+++ b/tests/tls13/ext-parse.h
@@ -24,36 +24,42 @@
#define TLS_EXT_SUPPORTED_VERSIONS 43
#define TLS_EXT_POST_HANDSHAKE 49
-#define SKIP16(pos, _total) { \
- uint16_t _s; \
- if ((size_t)pos+2 > (size_t)_total) fail("error0: at %d total: %d\n", pos+2, _total); \
- _s = (msg->data[pos] << 8) | msg->data[pos+1]; \
- if ((size_t)(pos+2+_s) > (size_t)_total) fail("error1: at %d field: %d, total: %d\n", pos+2, (int)_s, _total); \
- pos += 2+_s; \
+#define SKIP16(pos, _total) \
+ { \
+ uint16_t _s; \
+ if ((size_t)pos + 2 > (size_t)_total) \
+ fail("error0: at %d total: %d\n", pos + 2, _total); \
+ _s = (msg->data[pos] << 8) | msg->data[pos + 1]; \
+ if ((size_t)(pos + 2 + _s) > (size_t)_total) \
+ fail("error1: at %d field: %d, total: %d\n", pos + 2, \
+ (int)_s, _total); \
+ pos += 2 + _s; \
}
-#define SKIP8(pos, _total) { \
- uint8_t _s; \
- if ((size_t)pos+1 > (size_t)_total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > (size_t)_total) fail("error\n"); \
- pos += 1+_s; \
+#define SKIP8(pos, _total) \
+ { \
+ uint8_t _s; \
+ if ((size_t)pos + 1 > (size_t)_total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > (size_t)_total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
-typedef void (*ext_parse_func)(void *priv, gnutls_datum_t * extdata);
+typedef void (*ext_parse_func)(void *priv, gnutls_datum_t *extdata);
#define HANDSHAKE_SESSION_ID_POS 34
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wunused-function"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
#endif
/* Returns 0 if the extension was not found, 1 otherwise.
*/
-static unsigned find_client_extension(const gnutls_datum_t * msg,
- unsigned extnr, void *priv,
- ext_parse_func cb)
+static unsigned find_client_extension(const gnutls_datum_t *msg, unsigned extnr,
+ void *priv, ext_parse_func cb)
{
unsigned pos;
@@ -93,14 +99,15 @@ static unsigned find_client_extension(const gnutls_datum_t * msg,
if (type != extnr) {
SKIP16(pos, msg->size);
- } else { /* found */
- ssize_t size =
- (msg->data[pos] << 8) | msg->data[pos + 1];
+ } else { /* found */
+ ssize_t size = (msg->data[pos] << 8) |
+ msg->data[pos + 1];
gnutls_datum_t data;
pos += 2;
if (pos + size > msg->size) {
- fail("error in extension length (pos: %d, ext: %d, total: %d)\n", pos, (int)size, msg->size);
+ fail("error in extension length (pos: %d, ext: %d, total: %d)\n",
+ pos, (int)size, msg->size);
}
data.data = &msg->data[pos];
data.size = size;
@@ -112,7 +119,7 @@ static unsigned find_client_extension(const gnutls_datum_t * msg,
return 0;
}
-static unsigned is_client_extension_last(const gnutls_datum_t * msg,
+static unsigned is_client_extension_last(const gnutls_datum_t *msg,
unsigned extnr)
{
unsigned pos, found = 0;
@@ -158,7 +165,7 @@ static unsigned is_client_extension_last(const gnutls_datum_t * msg,
return 0;
}
SKIP16(pos, msg->size);
- } else { /* found */
+ } else { /* found */
found = 1;
SKIP16(pos, msg->size);
}
@@ -171,9 +178,8 @@ static unsigned is_client_extension_last(const gnutls_datum_t * msg,
#define TLS_RANDOM_SIZE 32
-static unsigned find_server_extension(const gnutls_datum_t * msg,
- unsigned extnr, void *priv,
- ext_parse_func cb)
+static unsigned find_server_extension(const gnutls_datum_t *msg, unsigned extnr,
+ void *priv, ext_parse_func cb)
{
unsigned pos = 0;
@@ -186,9 +192,8 @@ static unsigned find_server_extension(const gnutls_datum_t * msg,
}
if (msg->data[1] >= 0x04) {
- success
- ("assuming TLS 1.3 or better hello format (seen %d.%d)\n",
- (int)msg->data[0], (int)msg->data[1]);
+ success("assuming TLS 1.3 or better hello format (seen %d.%d)\n",
+ (int)msg->data[0], (int)msg->data[1]);
}
pos += 2 + TLS_RANDOM_SIZE;
@@ -217,14 +222,15 @@ static unsigned find_server_extension(const gnutls_datum_t * msg,
if (type != extnr) {
SKIP16(pos, msg->size);
- } else { /* found */
- ssize_t size =
- (msg->data[pos] << 8) | msg->data[pos + 1];
+ } else { /* found */
+ ssize_t size = (msg->data[pos] << 8) |
+ msg->data[pos + 1];
gnutls_datum_t data;
pos += 2;
if (pos + size < msg->size) {
- fail("error in server extension length (pos: %d, total: %d)\n", pos, msg->size);
+ fail("error in server extension length (pos: %d, total: %d)\n",
+ pos, msg->size);
}
data.data = &msg->data[pos];
data.size = size;
@@ -238,5 +244,5 @@ static unsigned find_server_extension(const gnutls_datum_t * msg,
}
#if defined __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
-# pragma GCC diagnostic pop
+#pragma GCC diagnostic pop
#endif
diff --git a/tests/tls13/hello_retry_request.c b/tests/tls13/hello_retry_request.c
index 72451c2b67..f9ef3e9986 100644
--- a/tests/tls13/hello_retry_request.c
+++ b/tests/tls13/hello_retry_request.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,29 +35,28 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <assert.h>
-# include <signal.h>
-
-# include "cert-common.h"
-# include "utils.h"
-# include "tls13/ext-parse.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <assert.h>
+#include <signal.h>
+
+#include "cert-common.h"
+#include "utils.h"
+#include "tls13/ext-parse.h"
/* This program tests whether the version in Hello Retry Request message
* is the expected */
const char *testname = "";
-# define myfail(fmt, ...) \
- fail("%s: "fmt, testname, ##__VA_ARGS__)
+#define myfail(fmt, ...) fail("%s: " fmt, testname, ##__VA_ARGS__)
static void server_log_func(int level, const char *str)
{
@@ -69,7 +68,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define HANDSHAKE_SESSION_ID_POS 34
+#define HANDSHAKE_SESSION_ID_POS 34
struct ctx_st {
unsigned hrr_seen;
@@ -80,7 +79,7 @@ struct ctx_st {
static int hello_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
struct ctx_st *ctx = gnutls_session_get_ptr(session);
assert(ctx != NULL);
@@ -88,7 +87,8 @@ static int hello_callback(gnutls_session_t session, unsigned int htype,
if (htype == GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST)
ctx->hrr_seen = 1;
- if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO && post == GNUTLS_HOOK_POST) {
+ if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO &&
+ post == GNUTLS_HOOK_POST) {
size_t session_id_len;
uint8_t *session_id;
@@ -141,10 +141,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_session_set_ptr(session, &ctx);
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-X25519",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-X25519",
+ NULL);
if (ret < 0)
myfail("cannot set TLS 1.3 priorities\n");
@@ -157,8 +157,7 @@ static void client(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
assert(ctx.hrr_seen != 0);
@@ -190,10 +189,10 @@ static void server(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
/* server only supports x25519, client advertises secp256r1 */
- assert(gnutls_priority_set_direct
- (session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -201,7 +200,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -261,4 +260,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/hello_retry_request_resume.c b/tests/tls13/hello_retry_request_resume.c
index aad2388ae5..d6059fe2ff 100644
--- a/tests/tls13/hello_retry_request_resume.c
+++ b/tests/tls13/hello_retry_request_resume.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "../lib/handshake-defs.h"
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "../lib/handshake-defs.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the certificate seen in Post Handshake Auth
* is found in a resumed session under TLS 1.3.
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
static int ticket_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
gnutls_datum *d;
int ret;
@@ -105,29 +105,28 @@ static void client(int fd)
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- retry:
+retry:
/* Initialize TLS session
*/
assert(gnutls_init(&session, GNUTLS_CLIENT) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-X25519",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-X25519",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
if (try == 0) {
gnutls_session_set_ptr(session, &session_data);
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
- GNUTLS_HOOK_BOTH,
- ticket_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
+ GNUTLS_HOOK_BOTH, ticket_callback);
} else {
- assert(gnutls_session_set_data
- (session, session_data.data, session_data.size) >= 0);
+ assert(gnutls_session_set_data(session, session_data.data,
+ session_data.size) >= 0);
}
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -138,8 +137,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -166,11 +164,11 @@ static void client(int fd)
gnutls_global_deinit();
}
-# define HANDSHAKE_SESSION_ID_POS 34
+#define HANDSHAKE_SESSION_ID_POS 34
static int client_hello_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
gnutls_datum *d;
@@ -210,17 +208,17 @@ static void server(int fd)
gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
&server_key, GNUTLS_X509_FMT_PEM);
- retry:
+retry:
assert(gnutls_init(&session, GNUTLS_SERVER) >= 0);
assert(gnutls_session_ticket_enable_server(session, &skey) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
/* server only supports x25519, client advertises secp256r1 */
- assert(gnutls_priority_set_direct
- (session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -255,7 +253,8 @@ static void server(int fd)
session_id.size != retry_session_id.size ||
memcmp(session_id.data, retry_session_id.data,
session_id.size)) {
- fail("session ids are different after resumption: %u, %u\n", session_id.size, retry_session_id.size);
+ fail("session ids are different after resumption: %u, %u\n",
+ session_id.size, retry_session_id.size);
}
}
@@ -321,6 +320,5 @@ void doit(void)
client(fd[1]);
exit(0);
}
-
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/key_limits.c b/tests/tls13/key_limits.c
index 3c5eda8fef..c7ea50b225 100644
--- a/tests/tls13/key_limits.c
+++ b/tests/tls13/key_limits.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -71,8 +71,7 @@ static void start(const char *name, const char *prio, unsigned exp_update)
/* Init Server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_cert,
+ assert(gnutls_certificate_set_x509_key_mem(scred, &server_cert,
&server_key,
GNUTLS_X509_FMT_PEM) >= 0);
@@ -94,8 +93,8 @@ static void start(const char *name, const char *prio, unsigned exp_update)
/* Init client */
gnutls_certificate_allocate_credentials(&ccred);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
@@ -115,22 +114,24 @@ static void start(const char *name, const char *prio, unsigned exp_update)
success("Handshake established\n");
assert(gnutls_record_get_state(server, 0, NULL, NULL, NULL, seq) >= 0);
- assert(gnutls_record_set_state
- (server, 0, (void *)"\x00\x00\x00\x00\x00\xff\xff\xfa") >= 0);
+ assert(gnutls_record_set_state(
+ server, 0, (void *)"\x00\x00\x00\x00\x00\xff\xff\xfa") >=
+ 0);
assert(gnutls_record_get_state(client, 1, NULL, NULL, NULL, seq) >= 0);
- assert(gnutls_record_set_state
- (client, 1, (void *)"\x00\x00\x00\x00\x00\xff\xff\xfa") >= 0);
+ assert(gnutls_record_set_state(
+ client, 1, (void *)"\x00\x00\x00\x00\x00\xff\xff\xfa") >=
+ 0);
memset(buffer, 1, sizeof(buffer));
for (i = 0; i < 32; i++) {
- usleep(10000); /* some systems like FreeBSD have their buffers full during this send */
+ usleep(10000); /* some systems like FreeBSD have their buffers full during this send */
do {
- sret =
- gnutls_record_send(server, buffer, sizeof(buffer));
- } while (sret == GNUTLS_E_AGAIN
- || sret == GNUTLS_E_INTERRUPTED);
+ sret = gnutls_record_send(server, buffer,
+ sizeof(buffer));
+ } while (sret == GNUTLS_E_AGAIN ||
+ sret == GNUTLS_E_INTERRUPTED);
if (sret < 0) {
fail("Error sending %d byte packet: %s\n",
@@ -142,11 +143,10 @@ static void start(const char *name, const char *prio, unsigned exp_update)
(int)sizeof(buffer), sret);
}
do {
- cret =
- gnutls_record_recv_seq(client, buffer, MAX_BUF,
- seq);
- } while (cret == GNUTLS_E_AGAIN
- || cret == GNUTLS_E_INTERRUPTED);
+ cret = gnutls_record_recv_seq(client, buffer, MAX_BUF,
+ seq);
+ } while (cret == GNUTLS_E_AGAIN ||
+ cret == GNUTLS_E_INTERRUPTED);
if (memcmp(seq, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) {
update_happened = 1;
@@ -176,11 +176,11 @@ static void start(const char *name, const char *prio, unsigned exp_update)
}
#define AES_GCM "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM"
-#define CHACHA_POLY1305 "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+CHACHA20-POLY1305"
+#define CHACHA_POLY1305 \
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+CHACHA20-POLY1305"
void doit(void)
{
-
start("aes-gcm", AES_GCM, 1);
if (!gnutls_fips140_mode_enabled()) {
start("chacha20", CHACHA_POLY1305, 0);
diff --git a/tests/tls13/key_share.c b/tests/tls13/key_share.c
index f8afa73ef1..87e0425c82 100644
--- a/tests/tls13/key_share.c
+++ b/tests/tls13/key_share.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,8 +40,7 @@
const char *testname = "";
-#define myfail(fmt, ...) \
- fail("%s: "fmt, testname, ##__VA_ARGS__)
+#define myfail(fmt, ...) fail("%s: " fmt, testname, ##__VA_ARGS__)
const char *side = "";
@@ -51,12 +50,9 @@ static void tls_log_func(int level, const char *str)
}
unsigned int tls_id_to_group[] = {
- [23] = GNUTLS_GROUP_SECP256R1,
- [24] = GNUTLS_GROUP_SECP384R1,
- [29] = GNUTLS_GROUP_X25519,
- [30] = GNUTLS_GROUP_X448,
- [0x100] = GNUTLS_GROUP_FFDHE2048,
- [0x101] = GNUTLS_GROUP_FFDHE3072
+ [23] = GNUTLS_GROUP_SECP256R1, [24] = GNUTLS_GROUP_SECP384R1,
+ [29] = GNUTLS_GROUP_X25519, [30] = GNUTLS_GROUP_X448,
+ [0x100] = GNUTLS_GROUP_FFDHE2048, [0x101] = GNUTLS_GROUP_FFDHE3072
};
#define TLS_EXT_KEY_SHARE 51
@@ -66,8 +62,7 @@ typedef struct ctx_st {
unsigned ngroups;
} ctx_st;
-static
-void check_ks_contents(void *priv, gnutls_datum_t * msg)
+static void check_ks_contents(void *priv, gnutls_datum_t *msg)
{
ctx_st *ctx;
int len;
@@ -112,11 +107,12 @@ void check_ks_contents(void *priv, gnutls_datum_t * msg)
static int client_hello_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO && post == GNUTLS_HOOK_POST) {
- if (find_client_extension
- (msg, TLS_EXT_KEY_SHARE, session, check_ks_contents) == 0)
+ if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO &&
+ post == GNUTLS_HOOK_POST) {
+ if (find_client_extension(msg, TLS_EXT_KEY_SHARE, session,
+ check_ks_contents) == 0)
fail("Could not find key share extension!\n");
}
@@ -141,8 +137,7 @@ static void start(const char *name, const char *prio, unsigned flag,
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_cert,
+ assert(gnutls_certificate_set_x509_key_mem(scred, &server_cert,
&server_key,
GNUTLS_X509_FMT_PEM) >= 0);
@@ -167,8 +162,8 @@ static void start(const char *name, const char *prio, unsigned flag,
/* Init client */
gnutls_certificate_allocate_credentials(&ccred);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT | flag);
diff --git a/tests/tls13/key_update.c b/tests/tls13/key_update.c
index 93b9ee9bbc..c6a95c1770 100644
--- a/tests/tls13/key_update.c
+++ b/tests/tls13/key_update.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,14 +44,15 @@ static void tls_log_func(int level, const char *str)
}
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
static unsigned key_update_msg_inc = 0;
static unsigned key_update_msg_out = 0;
static int hsk_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
assert(post == GNUTLS_HOOK_PRE);
@@ -88,16 +89,13 @@ static void run(const char *name, unsigned test)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_ca3_localhost_cert,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ scred, &server_ca3_localhost_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
- ret =
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ ret = gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
if (ret < 0)
exit(1);
@@ -108,14 +106,12 @@ static void run(const char *name, unsigned test)
/* Init client */
assert(gnutls_certificate_allocate_credentials(&ccred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
assert(ret >= 0);
ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, ccred);
@@ -273,5 +269,5 @@ void doit(void)
run("single", 4);
run("single", 5);
run("single", 6);
- run("all", 0); /* all one after each other */
+ run("all", 0); /* all one after each other */
}
diff --git a/tests/tls13/key_update_multiple.c b/tests/tls13/key_update_multiple.c
index 06c63d5d44..19eafea4bd 100644
--- a/tests/tls13/key_update_multiple.c
+++ b/tests/tls13/key_update_multiple.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -49,7 +49,8 @@ static void tls_log_func(int level, const char *str)
}
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
/* These must match the definitions in lib/tls13/key_update.c. */
#define KEY_UPDATES_WINDOW 1000
@@ -60,7 +61,7 @@ static unsigned key_update_msg_out = 0;
static int hsk_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
assert(post == GNUTLS_HOOK_PRE);
@@ -100,16 +101,13 @@ static void run(const char *name, bool exceed_limit)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_ca3_localhost_cert,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ scred, &server_ca3_localhost_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
- ret =
- gnutls_priority_set_direct(server,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ ret = gnutls_priority_set_direct(
+ server, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
if (ret < 0)
exit(1);
@@ -120,14 +118,12 @@ static void run(const char *name, bool exceed_limit)
/* Init client */
assert(gnutls_certificate_allocate_credentials(&ccred) >= 0);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
- ret =
- gnutls_priority_set_direct(client,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- NULL);
+ ret = gnutls_priority_set_direct(
+ client, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", NULL);
assert(ret >= 0);
ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, ccred);
@@ -193,8 +189,7 @@ static void run(const char *name, bool exceed_limit)
fail("server didn't reject excessive number of key updates\n");
else {
if (debug)
- success
- ("server rejected excessive number of key updates\n");
+ success("server rejected excessive number of key updates\n");
}
} else {
virt_sec_sleep(KEY_UPDATES_WINDOW / 1000 + 1);
diff --git a/tests/tls13/multi-ocsp.c b/tests/tls13/multi-ocsp.c
index 4d9ae660be..4ce885c701 100644
--- a/tests/tls13/multi-ocsp.c
+++ b/tests/tls13/multi-ocsp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,15 +32,15 @@
#ifdef ENABLE_OCSP
-# include "ocsp-common.h"
-# include "cert-common.h"
-# include "utils.h"
+#include "ocsp-common.h"
+#include "cert-common.h"
+#include "utils.h"
/* Tests whether we can send and receive multiple OCSP responses
* one for each certificate in a chain under TLS 1.3.
*/
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1469186559;
if (t)
@@ -50,15 +50,15 @@ static time_t mytime(time_t * t)
}
static const gnutls_datum_t ocsp_resp_localhost[] = {
- {(void *)_ocsp_ca3_localhost_unknown,
- sizeof(_ocsp_ca3_localhost_unknown)},
- {NULL, 0}
+ { (void *)_ocsp_ca3_localhost_unknown,
+ sizeof(_ocsp_ca3_localhost_unknown) },
+ { NULL, 0 }
};
static const gnutls_datum_t ocsp_resp_localhost6[] = {
- {(void *)_ocsp_ca3_localhost6_unknown,
- sizeof(_ocsp_ca3_localhost6_unknown)},
- {(void *)_ocsp_subca3_unknown, sizeof(_ocsp_subca3_unknown)}
+ { (void *)_ocsp_ca3_localhost6_unknown,
+ sizeof(_ocsp_ca3_localhost6_unknown) },
+ { (void *)_ocsp_subca3_unknown, sizeof(_ocsp_subca3_unknown) }
};
typedef struct ctx_st {
@@ -70,8 +70,7 @@ typedef struct ctx_st {
static ctx_st test_localhost = { "single response", ocsp_resp_localhost, 1 };
static ctx_st test_localhost6 = { "two responses", ocsp_resp_localhost6, 2 };
-# define myfail(fmt, ...) \
- fail("%s: "fmt, test->name, ##__VA_ARGS__)
+#define myfail(fmt, ...) fail("%s: " fmt, test->name, ##__VA_ARGS__)
static void check_response(gnutls_session_t session, void *priv)
{
@@ -97,9 +96,8 @@ static void check_response(gnutls_session_t session, void *priv)
}
if (resp.size != test->ocsp[i].size) {
- myfail
- ("did not receive the expected response size for %d\n",
- i);
+ myfail("did not receive the expected response size for %d\n",
+ i);
}
if (memcmp(resp.data, test->ocsp[i].data, resp.size) != 0) {
@@ -109,11 +107,9 @@ static void check_response(gnutls_session_t session, void *priv)
}
if (i != test->nocsp) {
- myfail
- ("The number of OCSP responses received (%d) does not match the expected (%d)\n",
- i, test->nocsp);
+ myfail("The number of OCSP responses received (%d) does not match the expected (%d)\n",
+ i, test->nocsp);
}
-
}
static void tls_log_func(int level, const char *str)
@@ -131,7 +127,7 @@ void doit(void)
char certname1[TMPNAME_SIZE];
char certname2[TMPNAME_SIZE];
FILE *fp;
- unsigned index1, index2; /* indexes of certs */
+ unsigned index1, index2; /* indexes of certs */
global_init();
gnutls_global_set_time_function(mytime);
@@ -151,17 +147,14 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -172,44 +165,32 @@ void doit(void)
fp = fopen(certfile2, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost6_ca3_cert_chain_pem, 1,
- strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost6_ca3_cert_chain_pem, 1,
+ strlen(server_localhost6_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile2, certfile2,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile2, certfile2, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index2 = ret;
/* set OCSP response1 */
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(xcred,
- &test_localhost.ocsp
- [0], index1,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ xcred, &test_localhost.ocsp[0], index1, GNUTLS_X509_FMT_DER);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
/* set OCSP response2 */
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(xcred,
- &test_localhost6.ocsp
- [0], index2,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ xcred, &test_localhost6.ocsp[0], index2, GNUTLS_X509_FMT_DER);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(xcred,
- &test_localhost6.ocsp
- [1], index2,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ xcred, &test_localhost6.ocsp[1], index2, GNUTLS_X509_FMT_DER);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -221,9 +202,8 @@ void doit(void)
GNUTLS_VERIFY_DISABLE_CRL_CHECKS)
fail("error in gnutls_certificate_set_verify_flags\n");
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
diff --git a/tests/tls13/no-auto-send-ticket.c b/tests/tls13/no-auto-send-ticket.c
index 5e9cfa44b6..cd82b8d6af 100644
--- a/tests/tls13/no-auto-send-ticket.c
+++ b/tests/tls13/no-auto-send-ticket.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "../lib/handshake-defs.h"
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "../lib/handshake-defs.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the certificate seen in Post Handshake Auth
* is found in a resumed session under TLS 1.3.
@@ -67,7 +67,7 @@ static void client_log_func(int level, const char *str)
static unsigned tickets_seen = 0;
static int ticket_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
gnutls_datum *d;
int ret;
@@ -108,29 +108,28 @@ static void client(int fd, unsigned flags, unsigned tickets)
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- retry:
+retry:
/* Initialize TLS session
*/
assert(gnutls_init(&session, GNUTLS_CLIENT | flags) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
if (try == 0) {
gnutls_session_set_ptr(session, &session_data);
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
- GNUTLS_HOOK_BOTH,
- ticket_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
+ GNUTLS_HOOK_BOTH, ticket_callback);
} else {
- assert(gnutls_session_set_data
- (session, session_data.data, session_data.size) >= 0);
+ assert(gnutls_session_set_data(session, session_data.data,
+ session_data.size) >= 0);
}
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -141,8 +140,7 @@ static void client(int fd, unsigned flags, unsigned tickets)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -173,8 +171,8 @@ static void client(int fd, unsigned flags, unsigned tickets)
gnutls_global_deinit();
}
-static void server(int fd, unsigned flags,
- unsigned tickets_sent, unsigned tickets_expected)
+static void server(int fd, unsigned flags, unsigned tickets_sent,
+ unsigned tickets_expected)
{
int ret;
gnutls_session_t session;
@@ -201,8 +199,8 @@ static void server(int fd, unsigned flags,
assert(gnutls_session_ticket_enable_server(session, &skey) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3", NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -217,9 +215,8 @@ static void server(int fd, unsigned flags,
if (tickets_sent > 0) {
do {
- ret =
- gnutls_session_ticket_send(session, tickets_sent,
- 0);
+ ret = gnutls_session_ticket_send(session, tickets_sent,
+ 0);
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
}
@@ -236,8 +233,8 @@ static void server(int fd, unsigned flags,
assert(gnutls_session_ticket_enable_server(session, &skey) >=
0);
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct
- (session, "NORMAL:+VERS-TLS1.3", NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:+VERS-TLS1.3", NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
x509_cred);
@@ -275,9 +272,8 @@ static void ch_handler(int sig)
return;
}
-static void start(const char *name,
- unsigned flags,
- unsigned tickets_sent, unsigned tickets_expected)
+static void start(const char *name, unsigned flags, unsigned tickets_sent,
+ unsigned tickets_expected)
{
int fd[2];
int ret;
@@ -308,7 +304,6 @@ static void start(const char *name,
client(fd[1], flags, tickets_expected);
exit(0);
}
-
}
void doit(void)
@@ -321,4 +316,4 @@ void doit(void)
start("no auto send ticket 0", GNUTLS_NO_AUTO_SEND_TICKET, 0, 0);
start("no auto send ticket 1", GNUTLS_NO_AUTO_SEND_TICKET, 1, 1);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/no-psk-exts.c b/tests/tls13/no-psk-exts.c
index 55b9ccccd0..c91be81477 100644
--- a/tests/tls13/no-psk-exts.c
+++ b/tests/tls13/no-psk-exts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "utils.h"
/* This program tests whether a connection without the PSK priority
* options, will contain PSK extensions */
@@ -63,7 +63,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd)
{
@@ -88,10 +88,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
@@ -106,8 +106,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
/* try if gnutls_reauth() would fail as expected */
ret = gnutls_reauth(session, 0);
@@ -127,14 +126,15 @@ static void client(int fd)
static unsigned server_hello_ok = 0;
-# define TLS_EXT_PSK 41
-# define TLS_EXT_PSK_KE 45
+#define TLS_EXT_PSK 41
+#define TLS_EXT_PSK_KE 45
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
if (find_server_extension(msg, TLS_EXT_PSK_KE, NULL, NULL)) {
fail("PSK KE extension seen on server (illegal)!\n");
}
@@ -196,7 +196,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -258,4 +258,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/ocsp-client.c b/tests/tls13/ocsp-client.c
index d91febe43e..023393c4c9 100644
--- a/tests/tls13/ocsp-client.c
+++ b/tests/tls13/ocsp-client.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -32,8 +32,8 @@
#ifdef ENABLE_OCSP
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* Tests whether we can send and receive multiple OCSP responses
* one for each certificate in a chain under TLS 1.3, but unrelated
@@ -41,7 +41,7 @@
* flag).
*/
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1469186559;
if (t)
@@ -50,14 +50,16 @@ static time_t mytime(time_t * t)
return then;
}
-# define RESP1 "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
+#define RESP1 \
+ "\x30\x82\x06\x8C\x0A\x01\x00\xA0\x82\x06\x85\x30\x82\x06\x81\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x06\x72\x30\x82\x06\x6E\x30\x82\x01\x07\xA1\x69\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\x30\x64\x30\x62\x30\x3A\x30\x09\x06\x05\x2B\x0E\x03\x02\x1A\x05\x00\x04\x14\x13\x9D\xA0\x9E\xF4\x32\xAB\x8F\xE2\x89\x56\x67\xFA\xD0\xD4\xE3\x35\x86\x71\xB9\x04\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\x02\x01\x1D\x80\x00\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x34\x32\x38\x5A\xA0\x11\x18\x0F\x32\x30\x31\x31\x30\x39\x32\x37\x30\x39\x35\x39\x32\x38\x5A\xA1\x23\x30\x21\x30\x1F\x06\x09\x2B\x06\x01\x05\x05\x07\x30\x01\x02\x04\x12\x04\x10\x16\x89\x7D\x91\x3A\xB5\x25\xA4\x45\xFE\xC9\xFD\xC2\xE5\x08\xA4\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4E\xAD\x6B\x2B\xF7\xF2\xBF\xA9\x23\x1E\x3A\x0B\x06\xDB\x55\x53\x2B\x64\x54\x11\x32\xBF\x60\xF7\x4F\xE0\x8E\x9B\xA0\xA2\x4C\x79\xC3\x2A\xE0\x43\xF7\x40\x1A\xDC\xB9\xB4\x25\xEF\x48\x01\x97\x8C\xF5\x1E\xDB\xD1\x30\x37\x73\x69\xD6\xA7\x7A\x2D\x8E\xDE\x5C\xAA\xEA\x39\xB9\x52\xAA\x25\x1E\x74\x7D\xF9\x78\x95\x8A\x92\x1F\x98\x21\xF4\x60\x7F\xD3\x28\xEE\x47\x9C\xBF\xE2\x5D\xF6\x3F\x68\x0A\xD6\xFF\x08\xC1\xDC\x95\x1E\x29\xD7\x3E\x85\xD5\x65\xA4\x4B\xC0\xAF\xC3\x78\xAB\x06\x98\x88\x19\x8A\x64\xA6\x83\x91\x87\x13\xDB\x17\xCC\x46\xBD\xAB\x4E\xC7\x16\xD1\xF8\x35\xFD\x27\xC8\xF6\x6B\xEB\x37\xB8\x08\x6F\xE2\x6F\xB4\x7E\xD5\x68\xDB\x7F\x5D\x5E\x36\x38\xF2\x77\x59\x13\xE7\x3E\x4D\x67\x5F\xDB\xA2\xF5\x5D\x7C\xBF\xBD\xB5\x37\x33\x51\x36\x63\xF8\x21\x1E\xFC\x73\x8F\x32\x69\xBB\x97\xA7\xBD\xF1\xB6\xE0\x40\x09\x68\xEA\xD5\x93\xB8\xBB\x39\x8D\xA8\x16\x1B\xBF\x04\x7A\xBC\x18\x43\x01\xE9\x3C\x19\x5C\x4D\x4B\x98\xD8\x23\x37\x39\xA4\xC4\xDD\xED\x9C\xEC\x37\xAB\x66\x44\x9B\xE7\x5B\x5D\x32\xA2\xDB\xA6\x0B\x3B\x8C\xE1\xF5\xDB\xCB\x7D\x58\xA0\x82\x04\x4B\x30\x82\x04\x47\x30\x82\x04\x43\x30\x82\x03\x2B\xA0\x03\x02\x01\x02\x02\x01\x1E\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x30\x1E\x17\x0D\x30\x39\x31\x31\x32\x34\x31\x32\x35\x31\x35\x33\x5A\x17\x0D\x31\x34\x31\x31\x32\x33\x31\x32\x35\x31\x35\x33\x5A\x30\x67\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1F\x30\x1D\x06\x03\x55\x04\x0B\x13\x16\x4F\x43\x53\x50\x20\x53\x69\x67\x6E\x69\x6E\x67\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x1C\x30\x1A\x06\x03\x55\x04\x03\x13\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xBC\x05\x3E\x4B\xBE\xC6\xB1\x33\x48\x0E\xC3\xD4\x0C\xEF\x83\x0B\xBD\xBC\x57\x5F\x14\xEF\xF5\x6D\x0B\xFF\xFA\x01\x9C\xFA\x21\x6D\x5C\xAE\x79\x29\x74\xFE\xBD\xAB\x70\x87\x98\x6B\x48\x35\x79\xE3\xE0\xC1\x14\x41\x1F\x0A\xF7\xE7\xA3\xA6\xDA\x6B\xFF\xCD\x74\xE9\x95\x00\x38\xAA\xD6\x3A\x60\xC6\x64\xA1\xE6\x02\x39\x58\x4E\xFD\xF2\x78\x08\x63\xB6\xD7\x7A\x96\x79\x62\x18\x39\xEE\x27\x8D\x3B\xA2\x3D\x48\x88\xDB\x43\xD6\x6A\x77\x20\x6A\x27\x39\x50\xE0\x02\x50\x19\xF2\x7A\xCF\x78\x23\x99\x01\xD4\xE5\xB1\xD1\x31\xE6\x6B\x84\xAF\xD0\x77\x41\x46\x85\xB0\x3B\xE6\x6A\x00\x0F\x3B\x7E\x95\x7F\x59\xA8\x22\xE8\x49\x49\x05\xC8\xCB\x6C\xEE\x47\xA7\x2D\xC9\x74\x5B\xEB\x8C\xD5\x99\xC2\xE2\x70\xDB\xEA\x87\x43\x84\x0E\x4F\x83\x1C\xA6\xEB\x1F\x22\x38\x17\x69\x9B\x72\x12\x95\x48\x71\xB2\x7B\x92\x73\x52\xAB\xE3\x1A\xA5\xD3\xF4\x44\x14\xBA\xC3\x35\xDA\x91\x6C\x7D\xB4\xC2\x00\x07\xD8\x0A\x51\xF1\x0D\x4C\xD9\x7A\xD1\x99\xE6\xA8\x8D\x0A\x80\xA8\x91\xDD\x8A\xA2\x6B\xF6\xDB\xB0\x3E\xC9\x71\xA9\xE0\x39\xC3\xA3\x58\x0D\x87\xD0\xB2\xA7\x9C\xB7\x69\x02\x03\x01\x00\x01\xA3\x82\x01\x1A\x30\x82\x01\x16\x30\x09\x06\x03\x55\x1D\x13\x04\x02\x30\x00\x30\x0B\x06\x03\x55\x1D\x0F\x04\x04\x03\x02\x03\xA8\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\x34\x91\x6E\x91\x32\xBF\x35\x25\x43\xCC\x28\x74\xEF\x82\xC2\x57\x92\x79\x13\x73\x30\x6D\x06\x03\x55\x1D\x23\x04\x66\x30\x64\x80\x14\x5D\xA7\xDD\x70\x06\x51\x32\x7E\xE7\xB6\x6D\xB3\xB5\xE5\xE0\x60\xEA\x2E\x4D\xEF\xA1\x49\xA4\x47\x30\x45\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x19\x30\x17\x06\x03\x55\x04\x0A\x13\x10\x4C\x69\x6E\x75\x78\x20\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x31\x1B\x30\x19\x06\x03\x55\x04\x03\x13\x12\x73\x74\x72\x6F\x6E\x67\x53\x77\x61\x6E\x20\x52\x6F\x6F\x74\x20\x43\x41\x82\x01\x00\x30\x1E\x06\x03\x55\x1D\x11\x04\x17\x30\x15\x82\x13\x6F\x63\x73\x70\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x30\x13\x06\x03\x55\x1D\x25\x04\x0C\x30\x0A\x06\x08\x2B\x06\x01\x05\x05\x07\x03\x09\x30\x39\x06\x03\x55\x1D\x1F\x04\x32\x30\x30\x30\x2E\xA0\x2C\xA0\x2A\x86\x28\x68\x74\x74\x70\x3A\x2F\x2F\x63\x72\x6C\x2E\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x6F\x72\x67\x2F\x73\x74\x72\x6F\x6E\x67\x73\x77\x61\x6E\x2E\x63\x72\x6C\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0B\x05\x00\x03\x82\x01\x01\x00\x6D\x78\xD7\x66\x90\xA6\xEB\xDD\xB5\x09\x48\xA4\xDA\x27\xFA\xAC\xB1\xBC\x8F\x8C\xBE\xCC\x8C\x09\xA2\x40\x0D\x6C\x4A\xAE\x72\x22\x1E\xC8\xAF\x6D\xF1\x12\xAF\xD7\x40\x51\x79\xD4\xDD\xB2\x0C\xDB\x97\x84\xB6\x24\xD5\xF5\xA8\xBB\xC0\x4B\xF9\x7F\x71\xF7\xB0\x65\x42\x4A\x7D\xFE\x76\x7E\x05\xD2\x46\xB8\x7D\xB3\x39\x4C\x5C\xB1\xFA\xB9\xEE\x3B\x70\x33\x39\x57\x1A\xB9\x95\x51\x33\x00\x25\x1B\x4C\xAA\xB4\xA7\x55\xAF\x63\x6D\x6F\x88\x17\x6A\x7F\xB0\x97\xDE\x49\x14\x6A\x27\x6A\xB0\x42\x80\xD6\xA6\x9B\xEF\x04\x5E\x11\x7D\xD5\x8E\x54\x20\xA2\x76\xD4\x66\x58\xAC\x9C\x12\xD3\xF5\xCA\x54\x98\xCA\x21\xEC\xC1\x55\xA1\x2F\x68\x0B\x5D\x04\x50\xD2\x5E\x70\x25\xD8\x13\xD9\x44\x51\x0E\x8A\x42\x08\x18\x84\xE6\x61\xCE\x5A\x7D\x7B\x81\x35\x90\xC3\xD4\x9D\x19\xB6\x37\xEE\x8F\x63\x5C\xDA\xD8\xF0\x64\x60\x39\xEB\x9B\x1C\x54\x66\x75\x76\xB5\x0A\x58\xB9\x3F\x91\xE1\x21\x9C\xA0\x50\x15\x97\xB6\x7E\x41\xBC\xD0\xC4\x21\x4C\xF5\xD7\xF0\x13\xF8\x77\xE9\x74\xC4\x8A\x0E\x20\x17\x32\xAE\x38\xC2\xA5\xA8\x62\x85\x17\xB1\xA2\xD3\x22\x9F\x95\xB7\xA3\x4C"
-static gnutls_datum_t ocsp_resp1 =
- { (unsigned char *)RESP1, sizeof(RESP1) - 1 };
+static gnutls_datum_t ocsp_resp1 = { (unsigned char *)RESP1,
+ sizeof(RESP1) - 1 };
-# define RESP3 "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
-static gnutls_datum_t ocsp_resp2 =
- { (unsigned char *)RESP3, sizeof(RESP3) - 1 };
+#define RESP3 \
+ "\x30\x82\x01\xd3\x0a\x01\x00\xa0\x82\x01\xcc\x30\x82\x01\xc8\x06\x09\x2b\x06\x01\x05\x05\x07\x30\x01\x01\x04\x82\x01\xb9\x30\x82\x01\xb5\x30\x81\x9e\xa2\x16\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\x30\x73\x30\x71\x30\x49\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x04\x14\xed\x48\xad\xdd\xcb\x7b\x00\xe2\x0e\x84\x2a\xa9\xb4\x09\xf1\xac\x30\x34\xcf\x96\x04\x14\x50\xea\x73\x89\xdb\x29\xfb\x10\x8f\x9e\xe5\x01\x20\xd4\xde\x79\x99\x48\x83\xf7\x02\x10\x02\x01\x48\x91\x5d\xfd\x5e\xb6\xe0\x02\x90\xa9\x67\xb0\xe4\x64\x80\x00\x18\x0f\x32\x30\x31\x34\x30\x39\x30\x34\x30\x35\x34\x39\x30\x30\x5a\xa0\x11\x18\x0f\x32\x30\x31\x34\x30\x39\x31\x31\x30\x36\x30\x34\x30\x30\x5a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x6e\x5e\x5e\x81\xff\x3f\x4d\xc7\x53\xc7\x1b\xf3\xd3\x1d\xdc\x9a\xc7\xce\x77\x2c\x67\x56\x13\x98\x91\x02\x01\x76\xdc\x48\xb2\x1f\x9b\x17\xea\xbf\x2c\x0a\xf5\x1d\x98\x90\x3c\x5f\x55\xc2\xff\x4b\x9a\xbc\xa6\x83\x9e\xab\x2b\xeb\x9d\x01\xea\x3b\x5f\xbe\x03\x29\x70\x63\x2a\xa4\x1d\xa8\xab\x69\xb2\x64\xba\x5d\x73\x91\x5c\x92\xf3\x69\xd4\xc9\x39\x9c\x7c\x7d\xa2\x47\x92\xc2\x56\xfe\xa1\x0d\x4a\x69\xff\xda\x48\xc5\x5e\xd8\xab\x39\x88\x6a\x06\xfa\x07\x57\xd6\x48\xb5\xce\xc9\x5f\xa5\x96\xfe\x37\x18\x5e\x7f\x35\x51\xc1\x9e\x79\x5a\x26\xba\x67\x67\x38\x2a\x80\x75\x42\x99\x68\x3e\xec\x2f\x7e\x2d\xa1\xa6\xbe\x9f\x01\x51\x22\x88\x3a\xc9\x9c\xed\x51\xef\x21\x66\x7e\xa9\xd0\x3f\x13\x9c\xbb\xd2\x94\x14\x6f\x4b\xd9\xc4\xf5\x2c\xf5\x7d\x07\x68\xf3\x51\xac\xda\xc2\x09\x66\xa9\x3d\xed\xad\x02\x4d\x9c\x11\x29\x1a\x54\xfb\x1e\x7e\x36\xf4\xbb\x0d\x08\x8c\x6a\x42\x08\x10\x29\x08\x7c\x56\x0b\x18\x47\xff\x87\x11\xfd\xb2\xfb\xc9\x22\x7f\xe3\x1f\x7b\xf9\x98\xaa\x3a\x32\xb6\x2f\x02\xba\xb6\xc1\xdc\xc3\x5d\xb5\x4b\xae\x5d\x29\x6a\x31\xde\xcd"
+static gnutls_datum_t ocsp_resp2 = { (unsigned char *)RESP3,
+ sizeof(RESP3) - 1 };
static void check_response(gnutls_session_t session, void *priv)
{
@@ -84,7 +86,8 @@ static void check_response(gnutls_session_t session, void *priv)
}
if (resp.size != ocsp->size) {
- fail("did not receive the expected response size for %d\n", i);
+ fail("did not receive the expected response size for %d\n",
+ i);
}
if (memcmp(resp.data, ocsp->data, resp.size) != 0) {
@@ -94,7 +97,8 @@ static void check_response(gnutls_session_t session, void *priv)
}
if (i != 1) {
- fail("The number of OCSP responses received (%d) does not match the expected (%d)\n", i, 1);
+ fail("The number of OCSP responses received (%d) does not match the expected (%d)\n",
+ i, 1);
}
}
@@ -115,7 +119,7 @@ void doit(void)
char certname2[TMPNAME_SIZE];
char certname3[TMPNAME_SIZE];
FILE *fp;
- unsigned index1, index2; /* indexes of certs */
+ unsigned index1, index2; /* indexes of certs */
global_init();
gnutls_global_set_time_function(mytime);
@@ -135,17 +139,14 @@ void doit(void)
fp = fopen(certfile1, "wb");
if (fp == NULL)
fail("error in fopen\n");
- assert(fwrite
- (server_localhost_ca3_cert_chain_pem, 1,
- strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
- assert(fwrite
- (server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
- fp) > 0);
+ assert(fwrite(server_localhost_ca3_cert_chain_pem, 1,
+ strlen(server_localhost_ca3_cert_chain_pem), fp) > 0);
+ assert(fwrite(server_ca3_key_pem, 1, strlen((char *)server_ca3_key_pem),
+ fp) > 0);
fclose(fp);
- ret = gnutls_certificate_set_x509_key_file2(xcred, certfile1, certfile1,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ xcred, certfile1, certfile1, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
@@ -158,9 +159,8 @@ void doit(void)
assert(fwrite(cli_ca3_cert_pem, 1, strlen(cli_ca3_cert_pem), fp) > 0);
assert(fwrite(cli_ca3_key_pem, 1, strlen(cli_ca3_key_pem), fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_x509_key_file2(clicred, certfile2, certfile2,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ clicred, certfile2, certfile2, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index1 = ret;
@@ -173,28 +173,23 @@ void doit(void)
assert(fwrite(key_pem, 1, strlen((char *)key_pem), fp) > 0);
fclose(fp);
- ret =
- gnutls_certificate_set_x509_key_file2(clicred, certfile3, certfile3,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_file2(
+ clicred, certfile3, certfile3, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("set_x509_key_file failed: %s\n", gnutls_strerror(ret));
index2 = ret;
- gnutls_certificate_set_flags(clicred,
- GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
+ gnutls_certificate_set_flags(
+ clicred, GNUTLS_CERTIFICATE_SKIP_OCSP_RESPONSE_CHECK);
/* set OCSP response1 */
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(clicred, &ocsp_resp2,
- index2,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ clicred, &ocsp_resp2, index2, GNUTLS_X509_FMT_DER);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
/* set OCSP response2 */
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(clicred, &ocsp_resp1,
- index1,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ clicred, &ocsp_resp1, index1, GNUTLS_X509_FMT_DER);
if (ret < 0)
fail("ocsp file set failed: %s\n", gnutls_strerror(ret));
@@ -206,23 +201,20 @@ void doit(void)
GNUTLS_VERIFY_DISABLE_CRL_CHECKS)
fail("error in gnutls_certificate_set_verify_flags\n");
- ret =
- gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clicred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
- ret =
- gnutls_certificate_set_x509_trust_mem(xcred, &subca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(xcred, &subca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error in setting trust cert: %s\n", gnutls_strerror(ret));
}
_test_cli_serv(xcred, clicred, "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3",
- "localhost",
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3", "localhost",
&ocsp_resp1, NULL, check_response, 0, 1, 0, 0);
gnutls_certificate_free_credentials(xcred);
diff --git a/tests/tls13/post-handshake-with-cert-auto.c b/tests/tls13/post-handshake-with-cert-auto.c
index 6d98af34e5..77539d9f39 100644
--- a/tests/tls13/post-handshake-with-cert-auto.c
+++ b/tests/tls13/post-handshake-with-cert-auto.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "utils.h"
-# define MAX_AUTHS 4
+#define MAX_AUTHS 4
/* This program tests whether the Post Handshake Auth extension is
* present in the client hello, and whether it is missing from server
@@ -69,8 +69,8 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
-# define MAX_APP_DATA 3
+#define MAX_BUF 1024
+#define MAX_APP_DATA 3
static void client(int fd, unsigned send_cert, unsigned max_auths)
{
@@ -91,24 +91,23 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
/* Initialize TLS session
*/
- assert(gnutls_init
- (&session,
- GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH | GNUTLS_AUTO_REAUTH)
- >= 0);
+ assert(gnutls_init(&session, GNUTLS_CLIENT |
+ GNUTLS_POST_HANDSHAKE_AUTH |
+ GNUTLS_AUTO_REAUTH) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
if (send_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -119,8 +118,7 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -139,7 +137,8 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret < 0)
- fail("client: gnutls_record_recv did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("client: gnutls_record_recv did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
}
assert(ret == 0);
@@ -160,9 +159,9 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
static unsigned client_hello_ok = 0;
static unsigned server_hello_ok = 0;
-# define TLS_EXT_POST_HANDSHAKE 49
+#define TLS_EXT_POST_HANDSHAKE 49
-static void parse_ext(void *priv, gnutls_datum_t * msg)
+static void parse_ext(void *priv, gnutls_datum_t *msg)
{
if (msg->size != 0) {
fail("error in extension length: %d\n", (int)msg->size);
@@ -171,11 +170,12 @@ static void parse_ext(void *priv, gnutls_datum_t * msg)
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
- if (find_server_extension
- (msg, TLS_EXT_POST_HANDSHAKE, NULL, NULL)) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
+ if (find_server_extension(msg, TLS_EXT_POST_HANDSHAKE, NULL,
+ NULL)) {
fail("Post handshake extension seen in server hello!\n");
}
server_hello_ok = 1;
@@ -238,9 +238,8 @@ static void server(int fd, int err, int type, unsigned max_auths)
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
- if (!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
+ if (!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
fail("server: session flags did not contain GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH\n");
}
@@ -268,18 +267,17 @@ static void server(int fd, int err, int type, unsigned max_auths)
if (ret == GNUTLS_E_GOT_APPLICATION_DATA) {
int ret2;
do {
- ret2 =
- gnutls_record_recv(session, buffer,
- sizeof(buffer));
- } while (ret2 == GNUTLS_E_AGAIN
- || ret2 == GNUTLS_E_INTERRUPTED);
+ ret2 = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
+ } while (ret2 == GNUTLS_E_AGAIN ||
+ ret2 == GNUTLS_E_INTERRUPTED);
if (ret2 < 0)
fail("error receiving app data: %s\n",
gnutls_strerror(ret2));
/* sender memsets the message with the retry attempt */
- assert((uint8_t) buffer[0] == retries);
+ assert((uint8_t)buffer[0] == retries);
assert(retries < MAX_APP_DATA);
}
@@ -306,7 +304,8 @@ static void server(int fd, int err, int type, unsigned max_auths)
gnutls_strerror(err),
gnutls_strerror(ret));
} else if (ret != 0)
- fail("server: gnutls_reauth did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("server: gnutls_reauth did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
}
do {
@@ -324,9 +323,8 @@ static void server(int fd, int err, int type, unsigned max_auths)
success("server: client/server hello were verified\n");
}
-static
-void start(const char *name, int err, int type, unsigned max_auths,
- unsigned send_cert)
+static void start(const char *name, int err, int type, unsigned max_auths,
+ unsigned send_cert)
{
int fd[2];
int ret;
@@ -366,7 +364,6 @@ void start(const char *name, int err, int type, unsigned max_auths,
client(fd[1], send_cert, max_auths);
exit(0);
}
-
}
void doit(void)
@@ -376,4 +373,4 @@ void doit(void)
GNUTLS_CERT_REQUIRE, 1, 0);
start("reauth-request with no-cert", 0, GNUTLS_CERT_REQUEST, 1, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/post-handshake-with-cert-pkcs11.c b/tests/tls13/post-handshake-with-cert-pkcs11.c
index 8361008fc8..5edaff8c45 100644
--- a/tests/tls13/post-handshake-with-cert-pkcs11.c
+++ b/tests/tls13/post-handshake-with-cert-pkcs11.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,22 +35,22 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "pkcs11/softhsm.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "pkcs11/softhsm.h"
+#include "utils.h"
/* This program tests whether the Post Handshake Auth extension is
* present in the client hello, and whether it is missing from server
@@ -68,18 +68,18 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
-# define P11LIB "libpkcs11mock2.so"
+#define P11LIB "libpkcs11mock2.so"
-# define PIN "1234"
+#define PIN "1234"
-# define CONFIG_NAME "softhsm-post-handshake-with-cert-pkcs11"
-# define CONFIG CONFIG_NAME".config"
+#define CONFIG_NAME "softhsm-post-handshake-with-cert-pkcs11"
+#define CONFIG CONFIG_NAME ".config"
-static
-int pin_func(void *userdata, int attempt, const char *url, const char *label,
- unsigned flags, char *pin, size_t pin_max)
+static int pin_func(void *userdata, int attempt, const char *url,
+ const char *label, unsigned flags, char *pin,
+ size_t pin_max)
{
if (attempt == 0) {
strcpy(pin, PIN);
@@ -129,15 +129,15 @@ static void client(int fd, int err)
ret = gnutls_x509_crt_init(&crt);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
ret = gnutls_x509_crt_import(crt, &cli_ca3_cert, GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_crt_import: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_crt_import: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
@@ -150,16 +150,15 @@ static void client(int fd, int err)
ret = gnutls_x509_privkey_init(&key);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_init: %s\n", gnutls_strerror(ret));
+ fprintf(stderr, "gnutls_x509_privkey_init: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_privkey_import(key, &cli_ca3_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(key, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
- fprintf(stderr,
- "gnutls_x509_privkey_import: %s\n",
+ fprintf(stderr, "gnutls_x509_privkey_import: %s\n",
gnutls_strerror(ret));
exit(1);
}
@@ -171,9 +170,8 @@ static void client(int fd, int err)
exit(1);
}
- ret =
- gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
- GNUTLS_PIN_USER);
+ ret = gnutls_pkcs11_token_set_pin(SOFTHSM_URL, NULL, PIN,
+ GNUTLS_PIN_USER);
if (ret < 0) {
fail("gnutls_pkcs11_token_set_pin: %s\n", gnutls_strerror(ret));
exit(1);
@@ -181,20 +179,18 @@ static void client(int fd, int err)
ret = gnutls_pkcs11_copy_x509_crt(SOFTHSM_URL, crt, "cert",
GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
- GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_crt: %s\n", gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_pkcs11_copy_x509_privkey(SOFTHSM_URL, key, "cert",
- GNUTLS_KEY_DIGITAL_SIGNATURE |
- GNUTLS_KEY_KEY_ENCIPHERMENT,
- GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE
- |
- GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE
- | GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
+ ret = gnutls_pkcs11_copy_x509_privkey(
+ SOFTHSM_URL, key, "cert",
+ GNUTLS_KEY_DIGITAL_SIGNATURE | GNUTLS_KEY_KEY_ENCIPHERMENT,
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE |
+ GNUTLS_PKCS11_OBJ_FLAG_MARK_SENSITIVE |
+ GNUTLS_PKCS11_OBJ_FLAG_LOGIN);
if (ret < 0) {
fail("gnutls_pkcs11_copy_x509_privkey: %s\n",
gnutls_strerror(ret));
@@ -208,27 +204,23 @@ static void client(int fd, int err)
/* Initialize TLS session
*/
- assert(gnutls_init
- (&session,
- GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH | GNUTLS_AUTO_REAUTH)
- >= 0);
+ assert(gnutls_init(&session, GNUTLS_CLIENT |
+ GNUTLS_POST_HANDSHAKE_AUTH |
+ GNUTLS_AUTO_REAUTH) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-RSA-SHA256",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.3:-SIGN-RSA-SHA256",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
- assert(gnutls_certificate_set_x509_key_file(x509_cred,
- SOFTHSM_URL
- ";object=cert;object-type=cert",
- SOFTHSM_URL
- ";object=cert;object-type=private;pin-value="
- PIN,
- GNUTLS_X509_FMT_DER) >= 0);
+ assert(gnutls_certificate_set_x509_key_file(
+ x509_cred, SOFTHSM_URL ";object=cert;object-type=cert",
+ SOFTHSM_URL
+ ";object=cert;object-type=private;pin-value=" PIN,
+ GNUTLS_X509_FMT_DER) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -238,8 +230,7 @@ static void client(int fd, int err)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -261,7 +252,8 @@ static void client(int fd, int err)
fail("client: expected error %s, got: %s\n",
gnutls_strerror(err), gnutls_strerror(ret));
} else if (ret < 0)
- fail("client: gnutls_record_recv did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("client: gnutls_record_recv did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
do {
ret = gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -279,9 +271,9 @@ static void client(int fd, int err)
static unsigned client_hello_ok = 0;
static unsigned server_hello_ok = 0;
-# define TLS_EXT_POST_HANDSHAKE 49
+#define TLS_EXT_POST_HANDSHAKE 49
-static void parse_ext(void *priv, gnutls_datum_t * msg)
+static void parse_ext(void *priv, gnutls_datum_t *msg)
{
if (msg->size != 0) {
fail("error in extension length: %d\n", (int)msg->size);
@@ -290,11 +282,12 @@ static void parse_ext(void *priv, gnutls_datum_t * msg)
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
- if (find_server_extension
- (msg, TLS_EXT_POST_HANDSHAKE, NULL, NULL)) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
+ if (find_server_extension(msg, TLS_EXT_POST_HANDSHAKE, NULL,
+ NULL)) {
fail("Post handshake extension seen in server hello!\n");
}
server_hello_ok = 1;
@@ -357,9 +350,8 @@ static void server(int fd, int err, int type)
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
- if (!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
+ if (!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
fail("server: session flags did not contain GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH\n");
}
@@ -404,8 +396,7 @@ static void server(int fd, int err, int type)
success("server: client/server hello were verified\n");
}
-static
-void start(const char *name, int err, int cli_err, int type)
+static void start(const char *name, int err, int cli_err, int type)
{
int fd[2];
int ret;
@@ -445,7 +436,6 @@ void start(const char *name, int err, int cli_err, int type)
client(fd[1], cli_err);
exit(0);
}
-
}
void doit(void)
@@ -464,12 +454,13 @@ void doit(void)
set_softhsm_conf(CONFIG);
snprintf(buf, sizeof(buf),
- "%s --init-token --slot 0 --label test --so-pin " PIN " --pin "
- PIN, bin);
+ "%s --init-token --slot 0 --label test --so-pin " PIN
+ " --pin " PIN,
+ bin);
system(buf);
start("reauth-require", GNUTLS_E_CERTIFICATE_REQUIRED, GNUTLS_E_SUCCESS,
GNUTLS_CERT_REQUIRE);
start("reauth-request", 0, GNUTLS_E_SUCCESS, GNUTLS_CERT_REQUEST);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/post-handshake-with-cert-ticket.c b/tests/tls13/post-handshake-with-cert-ticket.c
index 2d4f4c3a52..127ca8a17b 100644
--- a/tests/tls13/post-handshake-with-cert-ticket.c
+++ b/tests/tls13/post-handshake-with-cert-ticket.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,21 +35,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "../lib/handshake-defs.h"
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "../lib/handshake-defs.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests whether the certificate seen in Post Handshake Auth
* is found in a resumed session under TLS 1.3.
@@ -68,7 +68,7 @@ static void client_log_func(int level, const char *str)
static unsigned tickets_seen = 0;
static int ticket_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
gnutls_datum *d;
static int counter = 0;
@@ -77,7 +77,8 @@ static int ticket_callback(gnutls_session_t session, unsigned int htype,
assert(htype == GNUTLS_HANDSHAKE_NEW_SESSION_TICKET);
counter++;
- if (counter <= TLS13_TICKETS_TO_SEND) /* ignore the default tickets sent */
+ if (counter <=
+ TLS13_TICKETS_TO_SEND) /* ignore the default tickets sent */
return 0;
d = gnutls_session_get_ptr(session);
@@ -115,30 +116,29 @@ static void client(int fd, unsigned tickets)
assert(gnutls_certificate_allocate_credentials(&x509_cred) >= 0);
- retry:
+retry:
/* Initialize TLS session
*/
- assert(gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH)
- >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
if (try == 0) {
gnutls_session_set_ptr(session, &session_data);
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
- GNUTLS_HOOK_BOTH,
- ticket_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_NEW_SESSION_TICKET,
+ GNUTLS_HOOK_BOTH, ticket_callback);
} else {
- assert(gnutls_session_set_data
- (session, session_data.data, session_data.size) >= 0);
+ assert(gnutls_session_set_data(session, session_data.data,
+ session_data.size) >= 0);
}
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -149,16 +149,15 @@ static void client(int fd, unsigned tickets)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
if (try == 0) {
- assert(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
do {
ret = gnutls_record_recv(session, buf, sizeof(buf));
@@ -176,7 +175,8 @@ static void client(int fd, unsigned tickets)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret != 0)
- fail("client: gnutls_reauth did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("client: gnutls_reauth did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
} else {
assert(gnutls_session_is_resumed(session) != 0);
}
@@ -206,7 +206,7 @@ static void client(int fd, unsigned tickets)
gnutls_global_deinit();
}
-static void compare(const gnutls_datum_t * der, const void *ipem)
+static void compare(const gnutls_datum_t *der, const void *ipem)
{
gnutls_datum_t pem = { (void *)ipem, strlen((char *)ipem) };
gnutls_datum_t new_der;
@@ -217,8 +217,8 @@ static void compare(const gnutls_datum_t * der, const void *ipem)
fail("error: %s\n", gnutls_strerror(ret));
}
- if (der->size != new_der.size
- || memcmp(der->data, new_der.data, der->size) != 0) {
+ if (der->size != new_der.size ||
+ memcmp(der->data, new_der.data, der->size) != 0) {
fail("error in %d: %s\n", __LINE__, "cert don't match");
exit(1);
}
@@ -250,14 +250,14 @@ static void server(int fd, unsigned tickets)
gnutls_certificate_set_x509_key_mem(x509_cred, &server_cert,
&server_key, GNUTLS_X509_FMT_PEM);
- assert(gnutls_init(&session, GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH)
- >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH) >= 0);
assert(gnutls_session_ticket_enable_server(session, &skey) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3", NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -299,13 +299,13 @@ static void server(int fd, unsigned tickets)
/* resume session
*/
- assert(gnutls_init(&session, GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH)
- >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH) >= 0);
assert(gnutls_session_ticket_enable_server(session, &skey) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3", NULL)
- >= 0);
+ assert(gnutls_priority_set_direct(session, "NORMAL:+VERS-TLS1.3",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -381,7 +381,6 @@ static void start(const char *name, unsigned tickets)
client(fd[1], tickets);
exit(0);
}
-
}
void doit(void)
@@ -394,4 +393,4 @@ void doit(void)
start("8 tickets", 8);
start("16 tickets", 16);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/post-handshake-with-cert.c b/tests/tls13/post-handshake-with-cert.c
index 4256594eb1..e6f1c1ad39 100644
--- a/tests/tls13/post-handshake-with-cert.c
+++ b/tests/tls13/post-handshake-with-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "utils.h"
-# define MAX_AUTHS 4
+#define MAX_AUTHS 4
/* This program tests whether the Post Handshake Auth extension is
* present in the client hello, and whether it is missing from server
@@ -69,8 +69,8 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
-# define MAX_APP_DATA 3
+#define MAX_BUF 1024
+#define MAX_APP_DATA 3
static void client(int fd, unsigned send_cert, unsigned max_auths)
{
@@ -91,22 +91,22 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
/* Initialize TLS session
*/
- assert(gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH)
- >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
if (send_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -117,8 +117,7 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -146,11 +145,10 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
for (j = 0; j < MAX_APP_DATA; j++) {
memset(buf, j, sizeof(buf));
do {
- ret =
- gnutls_record_send(session, buf,
- sizeof(buf));
- } while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ ret = gnutls_record_send(session, buf,
+ sizeof(buf));
+ } while (ret == GNUTLS_E_AGAIN ||
+ ret == GNUTLS_E_INTERRUPTED);
assert(ret >= 0);
}
}
@@ -162,7 +160,8 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret != 0)
- fail("client: gnutls_reauth %d did not succeed as expected: %s\n", i, gnutls_strerror(ret));
+ fail("client: gnutls_reauth %d did not succeed as expected: %s\n",
+ i, gnutls_strerror(ret));
}
close(fd);
@@ -177,9 +176,9 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
static unsigned client_hello_ok = 0;
static unsigned server_hello_ok = 0;
-# define TLS_EXT_POST_HANDSHAKE 49
+#define TLS_EXT_POST_HANDSHAKE 49
-static void parse_ext(void *priv, gnutls_datum_t * msg)
+static void parse_ext(void *priv, gnutls_datum_t *msg)
{
if (msg->size != 0) {
fail("error in extension length: %d\n", (int)msg->size);
@@ -188,11 +187,12 @@ static void parse_ext(void *priv, gnutls_datum_t * msg)
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
- if (find_server_extension
- (msg, TLS_EXT_POST_HANDSHAKE, NULL, NULL)) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
+ if (find_server_extension(msg, TLS_EXT_POST_HANDSHAKE, NULL,
+ NULL)) {
fail("Post handshake extension seen in server hello!\n");
}
server_hello_ok = 1;
@@ -255,9 +255,8 @@ static void server(int fd, int err, int type, unsigned max_auths, int child)
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
- if (!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
+ if (!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
fail("server: session flags did not contain GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH\n");
}
@@ -285,18 +284,17 @@ static void server(int fd, int err, int type, unsigned max_auths, int child)
if (ret == GNUTLS_E_GOT_APPLICATION_DATA) {
int ret2;
do {
- ret2 =
- gnutls_record_recv(session, buffer,
- sizeof(buffer));
- } while (ret2 == GNUTLS_E_AGAIN
- || ret2 == GNUTLS_E_INTERRUPTED);
+ ret2 = gnutls_record_recv(session, buffer,
+ sizeof(buffer));
+ } while (ret2 == GNUTLS_E_AGAIN ||
+ ret2 == GNUTLS_E_INTERRUPTED);
if (ret2 < 0)
fail("error receiving app data: %s\n",
gnutls_strerror(ret2));
/* sender memsets the message with the retry attempt */
- assert((uint8_t) buffer[0] == retries);
+ assert((uint8_t)buffer[0] == retries);
assert(retries < MAX_APP_DATA);
}
@@ -323,7 +321,8 @@ static void server(int fd, int err, int type, unsigned max_auths, int child)
gnutls_strerror(err),
gnutls_strerror(ret));
} else if (ret != 0)
- fail("server: gnutls_reauth did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("server: gnutls_reauth did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
}
waitpid(child, NULL, 0);
@@ -347,9 +346,8 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *name, int err, int type, unsigned max_auths,
- unsigned send_cert)
+static void start(const char *name, int err, int type, unsigned max_auths,
+ unsigned send_cert)
{
int fd[2];
int ret;
@@ -385,7 +383,6 @@ void start(const char *name, int err, int type, unsigned max_auths,
client(fd[1], send_cert, max_auths);
exit(0);
}
-
}
void doit(void)
@@ -395,4 +392,4 @@ void doit(void)
GNUTLS_CERT_REQUIRE, 1, 0);
start("reauth-request with no-cert", 0, GNUTLS_CERT_REQUEST, 1, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/post-handshake-with-psk.c b/tests/tls13/post-handshake-with-psk.c
index 6981bee7af..2333bd3ff6 100644
--- a/tests/tls13/post-handshake-with-psk.c
+++ b/tests/tls13/post-handshake-with-psk.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,23 +35,23 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "utils.h"
-# define MAX_AUTHS 4
+#define MAX_AUTHS 4
/* This program tests whether the Post Handshake Auth would work
* under PSK authentication. */
@@ -66,7 +66,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd, unsigned send_cert, unsigned max_auths)
{
@@ -93,22 +93,22 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
/* Initialize TLS session
*/
- assert(gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH)
- >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_CLIENT | GNUTLS_POST_HANDSHAKE_AUTH) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0:+ECDHE-PSK:+PSK",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0:+ECDHE-PSK:+PSK",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
if (send_cert) {
- assert(gnutls_certificate_set_x509_key_mem
- (x509_cred, &cli_ca3_cert, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_key_mem(
+ x509_cred, &cli_ca3_cert, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM) >= 0);
}
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -120,8 +120,7 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
@@ -152,7 +151,8 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
} while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
if (ret != 0)
- fail("client: gnutls_reauth did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("client: gnutls_reauth did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
}
close(fd);
@@ -168,9 +168,9 @@ static void client(int fd, unsigned send_cert, unsigned max_auths)
static unsigned client_hello_ok = 0;
static unsigned server_hello_ok = 0;
-# define TLS_EXT_POST_HANDSHAKE 49
+#define TLS_EXT_POST_HANDSHAKE 49
-static void parse_ext(void *priv, gnutls_datum_t * msg)
+static void parse_ext(void *priv, gnutls_datum_t *msg)
{
if (msg->size != 0) {
fail("error in extension length: %d\n", (int)msg->size);
@@ -179,11 +179,12 @@ static void parse_ext(void *priv, gnutls_datum_t * msg)
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
- if (find_server_extension
- (msg, TLS_EXT_POST_HANDSHAKE, NULL, NULL)) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
+ if (find_server_extension(msg, TLS_EXT_POST_HANDSHAKE, NULL,
+ NULL)) {
fail("Post handshake extension seen in server hello!\n");
}
server_hello_ok = 1;
@@ -202,8 +203,8 @@ static int hellos_callback(gnutls_session_t session, unsigned int htype,
return 0;
}
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -243,16 +244,16 @@ static void server(int fd, int err, int type, unsigned max_auths)
&server_key,
GNUTLS_X509_FMT_PEM) >= 0);
- assert(gnutls_init(&session, GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH)
- >= 0);
+ assert(gnutls_init(&session,
+ GNUTLS_SERVER | GNUTLS_POST_HANDSHAKE_AUTH) >= 0);
gnutls_handshake_set_timeout(session, get_timeout());
gnutls_handshake_set_hook_function(session, GNUTLS_HANDSHAKE_ANY,
GNUTLS_HOOK_BOTH, hellos_callback);
- assert(gnutls_priority_set_direct
- (session, "NORMAL:-VERS-ALL:+VERS-TLS1.3:+PSK:+ECDHE-PSK",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.3:+PSK:+ECDHE-PSK",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_PSK, server_pskcred);
@@ -265,9 +266,8 @@ static void server(int fd, int err, int type, unsigned max_auths)
if (ret != 0)
fail("handshake failed: %s\n", gnutls_strerror(ret));
- if (!
- (gnutls_session_get_flags(session) &
- GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
+ if (!(gnutls_session_get_flags(session) &
+ GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH)) {
fail("server: session flags did not contain GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH\n");
}
@@ -297,7 +297,8 @@ static void server(int fd, int err, int type, unsigned max_auths)
gnutls_strerror(err),
gnutls_strerror(ret));
} else if (ret != 0) {
- fail("server: gnutls_reauth did not succeed as expected: %s\n", gnutls_strerror(ret));
+ fail("server: gnutls_reauth did not succeed as expected: %s\n",
+ gnutls_strerror(ret));
}
if (debug)
@@ -324,9 +325,8 @@ static void ch_handler(int sig)
return;
}
-static
-void start(const char *name, int err, int type, unsigned max_auths,
- unsigned send_cert)
+static void start(const char *name, int err, int type, unsigned max_auths,
+ unsigned send_cert)
{
int fd[2];
int ret;
@@ -363,7 +363,6 @@ void start(const char *name, int err, int type, unsigned max_auths,
client(fd[1], send_cert, max_auths);
exit(0);
}
-
}
void doit(void)
@@ -373,4 +372,4 @@ void doit(void)
GNUTLS_CERT_REQUIRE, 1, 0);
start("reauth-request with no-cert", 0, GNUTLS_CERT_REQUEST, 1, 0);
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/post-handshake-without-cert.c b/tests/tls13/post-handshake-without-cert.c
index 67507d261f..a5a858d194 100644
--- a/tests/tls13/post-handshake-without-cert.c
+++ b/tests/tls13/post-handshake-without-cert.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,21 +35,21 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "utils.h"
/* This program tests whether the Post Handshake Auth extension is missing
* from both hellos, when not enabled by client.
@@ -65,7 +65,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd)
{
@@ -92,10 +92,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
@@ -109,8 +109,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
/* try if gnutls_reauth() would fail as expected */
ret = gnutls_reauth(session, 0);
@@ -129,15 +128,16 @@ static void client(int fd)
static unsigned server_hello_ok = 0;
-# define TLS_EXT_POST_HANDSHAKE 49
+#define TLS_EXT_POST_HANDSHAKE 49
static int hellos_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
- if (find_server_extension
- (msg, TLS_EXT_POST_HANDSHAKE, NULL, NULL)) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
+ if (find_server_extension(msg, TLS_EXT_POST_HANDSHAKE, NULL,
+ NULL)) {
fail("Post handshake extension seen in server hello!\n");
}
server_hello_ok = 1;
@@ -192,7 +192,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -265,4 +265,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/prf-early.c b/tests/tls13/prf-early.c
index a55970cf3c..205b8f44fe 100644
--- a/tests/tls13/prf-early.c
+++ b/tests/tls13/prf-early.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <assert.h>
@@ -34,25 +34,25 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
-# include "cert-common.h"
-# include "utils.h"
-# include "virt-time.h"
+#include "cert-common.h"
+#include "utils.h"
+#include "virt-time.h"
static void terminate(void);
-# define SESSIONS 2
-# define MAX_BUF 5*1024
-# define MSG "Hello TLS"
+#define SESSIONS 2
+#define MAX_BUF 5 * 1024
+#define MSG "Hello TLS"
extern unsigned int _gnutls_global_version;
@@ -73,22 +73,20 @@ static void client_log_func(int level, const char *str)
/* These are global */
static pid_t child;
-static const
-gnutls_datum_t hrnd = { (void *)
- "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hrnd = {
+ (void *)"\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
-static const
-gnutls_datum_t hsrnd = { (void *)
- "\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hsrnd = {
+ (void *)"\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
static int gnutls_rnd_works;
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
gnutls_rnd_works = 1;
@@ -103,7 +101,7 @@ int __attribute__((visibility("protected")))
static gnutls_datum_t session_ticket_key = { NULL, 0 };
-static void dump(const char *name, const uint8_t * data, unsigned data_size)
+static void dump(const char *name, const uint8_t *data, unsigned data_size)
{
unsigned i;
@@ -113,33 +111,40 @@ static void dump(const char *name, const uint8_t * data, unsigned data_size)
fprintf(stderr, "\n");
}
-# define TRY(label_size, label, extra_size, extra, size, exp) \
- { \
- ret = gnutls_prf_early(session, label_size, label, extra_size, extra, size, \
- (void*)key_material); \
- if (ret < 0) { \
- fprintf(stderr, "gnutls_prf_early: error in %d\n", __LINE__); \
- gnutls_perror(ret); \
- exit(1); \
- } \
- if (memcmp(key_material, exp, size) != 0) { \
- fprintf(stderr, "gnutls_prf_early: output doesn't match for '%s'\n", label); \
- dump("got ", key_material, size); \
- dump("expected ", exp, size); \
- exit(1); \
- } \
+#define TRY(label_size, label, extra_size, extra, size, exp) \
+ { \
+ ret = gnutls_prf_early(session, label_size, label, extra_size, \
+ extra, size, (void *)key_material); \
+ if (ret < 0) { \
+ fprintf(stderr, "gnutls_prf_early: error in %d\n", \
+ __LINE__); \
+ gnutls_perror(ret); \
+ exit(1); \
+ } \
+ if (memcmp(key_material, exp, size) != 0) { \
+ fprintf(stderr, \
+ "gnutls_prf_early: output doesn't match for '%s'\n", \
+ label); \
+ dump("got ", key_material, size); \
+ dump("expected ", exp, size); \
+ exit(1); \
+ } \
}
-# define KEY_EXP_VALUE "\xec\xc2\x4a\x6b\x07\x89\xd9\x19\xd9\x73\x6d\xd0\x00\x73\xc9\x7a\xd7\x92\xef\x56\x91\x61\xb4\xff\x5f\xef\x81\xc1\x98\x68\x4e\xdf\xd7\x7e"
-# define HELLO_VALUE "\x4f\x85\x33\x64\x48\xff\x0d\x8b\xd5\x50\x0f\x97\x91\x5b\x7d\x8d\xc9\x05\x91\x45\x4f\xb9\x4b\x4b\xbc\xbf\x58\x84\x1a\x46\xe3"
-# define CONTEXT_VALUE "\x11\x8d\x85\xa8\x91\xe5\x50\x75\x44\x88\x69\xaf\x95\x9a\xb0\x29\xd4\xae\xcd\x11\xcb\x1d\x29\x7c\xe6\x24\xd4\x7c\x95\xdb\x5c"
-# define NULL_CONTEXT_VALUE "\x56\x99\x41\x73\x5e\x73\x34\x7f\x3d\x69\x9f\xc0\x3b\x8b\x86\x33\xc6\xc3\x97\x46\x61\x62\x3f\x55\xab\x39\x60\xa5\xeb\xfe\x37"
+#define KEY_EXP_VALUE \
+ "\xec\xc2\x4a\x6b\x07\x89\xd9\x19\xd9\x73\x6d\xd0\x00\x73\xc9\x7a\xd7\x92\xef\x56\x91\x61\xb4\xff\x5f\xef\x81\xc1\x98\x68\x4e\xdf\xd7\x7e"
+#define HELLO_VALUE \
+ "\x4f\x85\x33\x64\x48\xff\x0d\x8b\xd5\x50\x0f\x97\x91\x5b\x7d\x8d\xc9\x05\x91\x45\x4f\xb9\x4b\x4b\xbc\xbf\x58\x84\x1a\x46\xe3"
+#define CONTEXT_VALUE \
+ "\x11\x8d\x85\xa8\x91\xe5\x50\x75\x44\x88\x69\xaf\x95\x9a\xb0\x29\xd4\xae\xcd\x11\xcb\x1d\x29\x7c\xe6\x24\xd4\x7c\x95\xdb\x5c"
+#define NULL_CONTEXT_VALUE \
+ "\x56\x99\x41\x73\x5e\x73\x34\x7f\x3d\x69\x9f\xc0\x3b\x8b\x86\x33\xc6\xc3\x97\x46\x61\x62\x3f\x55\xab\x39\x60\xa5\xeb\xfe\x37"
static int handshake_callback_called;
static int handshake_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
unsigned char key_material[512];
int ret;
@@ -148,10 +153,10 @@ static int handshake_callback(gnutls_session_t session, unsigned int htype,
handshake_callback_called++;
- TRY(13, "key expansion", 0, NULL, 34, (uint8_t *) KEY_EXP_VALUE);
- TRY(6, "hello", 0, NULL, 31, (uint8_t *) HELLO_VALUE);
- TRY(7, "context", 5, "abcd\xfa", 31, (uint8_t *) CONTEXT_VALUE);
- TRY(12, "null-context", 0, "", 31, (uint8_t *) NULL_CONTEXT_VALUE);
+ TRY(13, "key expansion", 0, NULL, 34, (uint8_t *)KEY_EXP_VALUE);
+ TRY(6, "hello", 0, NULL, 31, (uint8_t *)HELLO_VALUE);
+ TRY(7, "context", 5, "abcd\xfa", 31, (uint8_t *)CONTEXT_VALUE);
+ TRY(12, "null-context", 0, "", 31, (uint8_t *)NULL_CONTEXT_VALUE);
return 0;
}
@@ -184,9 +189,10 @@ static void client(int sds[])
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities, sets %NO_SHUFFLE_EXTENSIONS */
- ret = gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS",
- &err);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS",
+ &err);
if (ret < 0) {
fail("client: priority set failed (%s): %s\n",
gnutls_strerror(ret), err);
@@ -204,18 +210,16 @@ static void client(int sds[])
if (t > 0) {
gnutls_session_set_data(session, session_data.data,
session_data.size);
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_CLIENT_HELLO,
- GNUTLS_HOOK_POST,
- handshake_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_CLIENT_HELLO,
+ GNUTLS_HOOK_POST, handshake_callback);
}
/* Perform the TLS handshake
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
@@ -227,8 +231,8 @@ static void client(int sds[])
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_256_GCM) {
@@ -264,8 +268,7 @@ static void client(int sds[])
} while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
- success
- ("client: Peer has closed the TLS connection\n");
+ success("client: Peer has closed the TLS connection\n");
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
}
@@ -335,9 +338,10 @@ static void server(int sds[])
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA384:-GROUP-ALL:+GROUP-SECP256R1",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA384:-GROUP-ALL:+GROUP-SECP256R1",
+ NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
@@ -359,17 +363,15 @@ static void server(int sds[])
"gnutls_rnd() could not be overridden, skipping prf checks see #584\n");
exit(77);
} else {
- gnutls_handshake_set_hook_function(session,
- GNUTLS_HANDSHAKE_CLIENT_HELLO,
- GNUTLS_HOOK_POST,
- handshake_callback);
+ gnutls_handshake_set_hook_function(
+ session, GNUTLS_HANDSHAKE_CLIENT_HELLO,
+ GNUTLS_HOOK_POST, handshake_callback);
}
}
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(sds[t]);
gnutls_deinit(session);
@@ -382,8 +384,8 @@ static void server(int sds[])
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
if (t == 0) {
if (handshake_callback_called != 0)
@@ -399,12 +401,12 @@ static void server(int sds[])
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
kill(child, SIGTERM);
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -480,4 +482,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/prf.c b/tests/tls13/prf.c
index 877f45867e..d8c6e4e807 100644
--- a/tests/tls13/prf.c
+++ b/tests/tls13/prf.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,18 +33,18 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/crypto.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/crypto.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
static void terminate(void);
@@ -65,22 +65,20 @@ static void client_log_func(int level, const char *str)
/* These are global */
static pid_t child;
-static const
-gnutls_datum_t hrnd = { (void *)
- "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hrnd = {
+ (void *)"\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
-static const
-gnutls_datum_t hsrnd = { (void *)
- "\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+static const gnutls_datum_t hsrnd = {
+ (void *)"\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
32
};
static int gnutls_rnd_works;
int __attribute__((visibility("protected")))
- gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
+gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
{
gnutls_rnd_works = 1;
@@ -93,7 +91,7 @@ int __attribute__((visibility("protected")))
return 0;
}
-static void dump(const char *name, const uint8_t * data, unsigned data_size)
+static void dump(const char *name, const uint8_t *data, unsigned data_size)
{
unsigned i;
@@ -103,44 +101,55 @@ static void dump(const char *name, const uint8_t * data, unsigned data_size)
fprintf(stderr, "\n");
}
-# define TRY(label_size, label, extra_size, extra, size, exp) \
- { \
- ret = gnutls_prf_rfc5705(session, label_size, label, extra_size, extra, size, \
- (void*)key_material); \
- if (ret < 0) { \
- fprintf(stderr, "gnutls_prf_rfc5705: error in %d\n", __LINE__); \
- gnutls_perror(ret); \
- exit(1); \
- } \
- if (memcmp(key_material, exp, size) != 0) { \
- fprintf(stderr, "gnutls_prf_rfc5705: output doesn't match for '%s'\n", label); \
- dump("got ", key_material, size); \
- dump("expected ", exp, size); \
- exit(1); \
- } \
+#define TRY(label_size, label, extra_size, extra, size, exp) \
+ { \
+ ret = gnutls_prf_rfc5705(session, label_size, label, \
+ extra_size, extra, size, \
+ (void *)key_material); \
+ if (ret < 0) { \
+ fprintf(stderr, "gnutls_prf_rfc5705: error in %d\n", \
+ __LINE__); \
+ gnutls_perror(ret); \
+ exit(1); \
+ } \
+ if (memcmp(key_material, exp, size) != 0) { \
+ fprintf(stderr, \
+ "gnutls_prf_rfc5705: output doesn't match for '%s'\n", \
+ label); \
+ dump("got ", key_material, size); \
+ dump("expected ", exp, size); \
+ exit(1); \
+ } \
}
-# define TRY_OLD(label_size, label, size, exp) \
- { \
- ret = gnutls_prf(session, label_size, label, 0, 0, NULL, size, \
- (void*)key_material); \
- if (ret < 0) { \
- fprintf(stderr, "gnutls_prf: error in %d\n", __LINE__); \
- gnutls_perror(ret); \
- exit(1); \
- } \
- if (memcmp(key_material, exp, size) != 0) { \
- fprintf(stderr, "gnutls_prf: output doesn't match for '%s'\n", label); \
- dump("got ", key_material, size); \
- dump("expected ", exp, size); \
- exit(1); \
- } \
+#define TRY_OLD(label_size, label, size, exp) \
+ { \
+ ret = gnutls_prf(session, label_size, label, 0, 0, NULL, size, \
+ (void *)key_material); \
+ if (ret < 0) { \
+ fprintf(stderr, "gnutls_prf: error in %d\n", \
+ __LINE__); \
+ gnutls_perror(ret); \
+ exit(1); \
+ } \
+ if (memcmp(key_material, exp, size) != 0) { \
+ fprintf(stderr, \
+ "gnutls_prf: output doesn't match for '%s'\n", \
+ label); \
+ dump("got ", key_material, size); \
+ dump("expected ", exp, size); \
+ exit(1); \
+ } \
}
-# define KEY_EXP_VALUE "\x28\x70\xa8\x34\xd4\x43\x85\xfd\x55\xe0\x13\x78\x75\xa3\x25\xa7\xfd\x0b\x6b\x68\x5d\x62\x72\x02\xdf\x3d\x79\xca\x55\xab\xea\x24\xf3\x4d"
-# define HELLO_VALUE "\xd8\xcb\x72\x1e\x24\x2d\x79\x11\x41\x38\x05\x2b\x1b\x5d\x60\x12\x30\x0a\xf7\x1e\x23\x90\x4d\x64\xf8\xf5\x23\xea\xbf\xa3\x24"
-# define CONTEXT_VALUE "\xe6\xc0\x57\xbe\xda\x28\x9c\xc7\xf6\x4f\xb6\x18\x92\xce\x10\xf6\xe1\x5e\xab\x10\xc8\xd1\x94\xf8\xac\xc7\x3e\x93\xde\x57\x12"
-# define NULL_CONTEXT_VALUE "\xaf\xea\xd2\x64\xc9\x42\xbd\xe7\xdb\xf0\xd3\x16\x84\x39\xf3\xdb\x5d\x4f\x0e\x5e\x71\x1e\xc0\xd7\x23\xde\x8b\x1e\x80\xa1\xca"
+#define KEY_EXP_VALUE \
+ "\x28\x70\xa8\x34\xd4\x43\x85\xfd\x55\xe0\x13\x78\x75\xa3\x25\xa7\xfd\x0b\x6b\x68\x5d\x62\x72\x02\xdf\x3d\x79\xca\x55\xab\xea\x24\xf3\x4d"
+#define HELLO_VALUE \
+ "\xd8\xcb\x72\x1e\x24\x2d\x79\x11\x41\x38\x05\x2b\x1b\x5d\x60\x12\x30\x0a\xf7\x1e\x23\x90\x4d\x64\xf8\xf5\x23\xea\xbf\xa3\x24"
+#define CONTEXT_VALUE \
+ "\xe6\xc0\x57\xbe\xda\x28\x9c\xc7\xf6\x4f\xb6\x18\x92\xce\x10\xf6\xe1\x5e\xab\x10\xc8\xd1\x94\xf8\xac\xc7\x3e\x93\xde\x57\x12"
+#define NULL_CONTEXT_VALUE \
+ "\xaf\xea\xd2\x64\xc9\x42\xbd\xe7\xdb\xf0\xd3\x16\x84\x39\xf3\xdb\x5d\x4f\x0e\x5e\x71\x1e\xc0\xd7\x23\xde\x8b\x1e\x80\xa1\xca"
static void check_prfs(gnutls_session_t session)
{
unsigned char key_material[512];
@@ -152,25 +161,23 @@ static void check_prfs(gnutls_session_t session)
exit(77);
}
- TRY_OLD(13, "key expansion", 34, (uint8_t *) KEY_EXP_VALUE);
- TRY_OLD(6, "hello", 31, (uint8_t *) HELLO_VALUE);
+ TRY_OLD(13, "key expansion", 34, (uint8_t *)KEY_EXP_VALUE);
+ TRY_OLD(6, "hello", 31, (uint8_t *)HELLO_VALUE);
- TRY(13, "key expansion", 0, NULL, 34, (uint8_t *) KEY_EXP_VALUE);
- TRY(6, "hello", 0, NULL, 31, (uint8_t *) HELLO_VALUE);
- TRY(7, "context", 5, "abcd\xfa", 31, (uint8_t *) CONTEXT_VALUE);
- TRY(12, "null-context", 0, "", 31, (uint8_t *) NULL_CONTEXT_VALUE);
+ TRY(13, "key expansion", 0, NULL, 34, (uint8_t *)KEY_EXP_VALUE);
+ TRY(6, "hello", 0, NULL, 31, (uint8_t *)HELLO_VALUE);
+ TRY(7, "context", 5, "abcd\xfa", 31, (uint8_t *)CONTEXT_VALUE);
+ TRY(12, "null-context", 0, "", 31, (uint8_t *)NULL_CONTEXT_VALUE);
/* Try whether calling gnutls_prf() with non-null context or server-first
* param, will fail */
- ret =
- gnutls_prf(session, 3, (void *)"xxx", 0, 3, (void *)"yyy", 16,
- (void *)key_material);
+ ret = gnutls_prf(session, 3, (void *)"xxx", 0, 3, (void *)"yyy", 16,
+ (void *)key_material);
if (ret != GNUTLS_E_INVALID_REQUEST)
fail("gnutls_prf: succeeded under TLS1.3!\n");
- ret =
- gnutls_prf(session, 3, (void *)"xxx", 1, 0, NULL, 16,
- (void *)key_material);
+ ret = gnutls_prf(session, 3, (void *)"xxx", 1, 0, NULL, 16,
+ (void *)key_material);
if (ret != GNUTLS_E_INVALID_REQUEST)
fail("gnutls_prf: succeeded under TLS1.3!\n");
}
@@ -197,9 +204,10 @@ static void client(int fd)
gnutls_init(&session, GNUTLS_CLIENT);
/* Use default priorities, sets %NO_SHUFFLE_EXTENSIONS */
- ret = gnutls_priority_set_direct(session,
- "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS",
- &err);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NONE:+VERS-TLS1.3:+AES-256-GCM:+AEAD:+SIGN-RSA-PSS-RSAE-SHA384:+GROUP-SECP256R1:%NO_SHUFFLE_EXTENSIONS",
+ &err);
if (ret < 0) {
fail("client: priority set failed (%s): %s\n",
@@ -219,8 +227,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
@@ -232,8 +239,8 @@ static void client(int fd)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_256_GCM) {
@@ -302,18 +309,18 @@ static void server(int fd)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
- ret = gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA384:-GROUP-ALL:+GROUP-SECP256R1",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:-SIGN-ALL:+SIGN-RSA-PSS-RSAE-SHA384:-GROUP-ALL:+GROUP-SECP256R1",
+ NULL);
if (ret < 0) {
fail("server: priority set failed (%s)\n\n",
gnutls_strerror(ret));
terminate();
}
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, serverx509cred);
gnutls_handshake_set_random(session, &hsrnd);
@@ -321,8 +328,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
close(fd);
gnutls_deinit(session);
@@ -335,8 +341,8 @@ static void server(int fd)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
check_prfs(session);
@@ -389,4 +395,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/psk-dumbfw.c b/tests/tls13/psk-dumbfw.c
index ec8c23afce..e884ec4665 100644
--- a/tests/tls13/psk-dumbfw.c
+++ b/tests/tls13/psk-dumbfw.c
@@ -22,7 +22,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,20 +39,20 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <assert.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <assert.h>
+#include <signal.h>
-# include "tls13/ext-parse.h"
+#include "tls13/ext-parse.h"
-# include "utils.h"
+#include "utils.h"
/* Tests whether the pre-shared key extension will always be last
* even if the dumbfw extension is present.
@@ -65,8 +65,8 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd, const char *prio)
{
@@ -131,7 +131,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -142,8 +142,8 @@ static void client(int sd, const char *prio)
gnutls_global_deinit();
}
-static int
-pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
+static int pskfunc(gnutls_session_t session, const char *username,
+ gnutls_datum_t *key)
{
if (debug)
printf("psk: username %s\n", username);
@@ -156,16 +156,15 @@ pskfunc(gnutls_session_t session, const char *username, gnutls_datum_t * key)
return 0;
}
-# define EXT_CLIENTHELLO_PADDING 21
-# define EXT_PRE_SHARED_KEY 41
+#define EXT_CLIENTHELLO_PADDING 21
+#define EXT_PRE_SHARED_KEY 41
struct ctx_st {
unsigned long pos;
void *base;
};
-static
-void check_ext_pos(void *priv, gnutls_datum_t * msg)
+static void check_ext_pos(void *priv, gnutls_datum_t *msg)
{
struct ctx_st *ctx = priv;
@@ -174,23 +173,24 @@ void check_ext_pos(void *priv, gnutls_datum_t * msg)
static int client_hello_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
unsigned long pos_psk;
unsigned long pos_pad;
- if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO && post == GNUTLS_HOOK_POST) {
+ if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO &&
+ post == GNUTLS_HOOK_POST) {
struct ctx_st ctx;
ctx.base = msg->data;
- if (find_client_extension
- (msg, EXT_CLIENTHELLO_PADDING, &ctx, check_ext_pos) == 0)
+ if (find_client_extension(msg, EXT_CLIENTHELLO_PADDING, &ctx,
+ check_ext_pos) == 0)
fail("Could not find dumbfw/client hello padding extension!\n");
pos_pad = ctx.pos;
ctx.base = msg->data;
- if (find_client_extension
- (msg, EXT_PRE_SHARED_KEY, &ctx, check_ext_pos) == 0)
+ if (find_client_extension(msg, EXT_PRE_SHARED_KEY, &ctx,
+ check_ext_pos) == 0)
fail("Could not find psk extension!\n");
pos_psk = ctx.pos;
@@ -252,11 +252,11 @@ static void server(int sd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -286,8 +286,7 @@ static void ch_handler(int sig)
return;
}
-static
-void run_test(const char *prio)
+static void run_test(const char *prio)
{
pid_t child;
int err;
@@ -328,8 +327,8 @@ void run_test(const char *prio)
void doit(void)
{
- run_test
- ("NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+PSK:%DUMBFW:-GROUP-ALL:+GROUP-FFDHE2048");
+ run_test(
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+PSK:%DUMBFW:-GROUP-ALL:+GROUP-FFDHE2048");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/psk-ext.c b/tests/tls13/psk-ext.c
index 25d0a2c0d2..de9da1904a 100644
--- a/tests/tls13/psk-ext.c
+++ b/tests/tls13/psk-ext.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,8 +35,8 @@
/* Tests the PSK-extension decoding part */
-static void decode(const char *test_name, const gnutls_datum_t * raw,
- const gnutls_datum_t * id, const gnutls_datum_t * b,
+static void decode(const char *test_name, const gnutls_datum_t *raw,
+ const gnutls_datum_t *id, const gnutls_datum_t *b,
unsigned idx, int res)
{
int ret;
@@ -49,7 +49,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
ret = _gnutls13_psk_ext_parser_init(&p, raw->data, raw->size);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
fail("%s: _gnutls13_psk_ext_parser_init: %d/%s\n", test_name,
ret, gnutls_strerror(ret));
@@ -62,13 +62,13 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
if (ret < 0) {
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
}
if (i == idx) {
- if (psk.identity.size == id->size
- && memcmp(psk.identity.data, id->data,
- id->size) == 0) {
+ if (psk.identity.size == id->size &&
+ memcmp(psk.identity.data, id->data, id->size) ==
+ 0) {
if (debug)
success("%s: found id\n", test_name);
found = 1;
@@ -87,18 +87,18 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
for (j = 0; j <= i; j++) {
ret = _gnutls13_psk_ext_iter_next_binder(&iter, &binder);
if (ret < 0) {
- if (res == ret) /* expected */
+ if (res == ret) /* expected */
return;
- fail("%s: could not extract binder: %s\n",
- test_name, gnutls_strerror(ret));
+ fail("%s: could not extract binder: %s\n", test_name,
+ gnutls_strerror(ret));
}
}
if (debug)
success("%s: found binder\n", test_name);
- if (binder.size != b->size
- || memcmp(binder.data, b->data, b->size) != 0) {
+ if (binder.size != b->size ||
+ memcmp(binder.data, b->data, b->size) != 0) {
hexprint(binder.data, binder.size);
fail("%s: did not match binder on index %d\n", test_name, idx);
}
@@ -109,103 +109,102 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
struct decode_tests_st {
const char *name;
gnutls_datum_t psk;
- unsigned idx; /* the ID index */
+ unsigned idx; /* the ID index */
gnutls_datum_t id;
gnutls_datum_t binder;
int res;
};
struct decode_tests_st decode_tests[] = {
- {
- .name = "single PSK",
- .psk = {(unsigned char *)
- "\x00\x0a\x00\x04\x6e\x6d\x61\x76\x00\x00\x00\x00\x00\x21\x20\xc4\xda\xe5\x7e\x05\x59\xf7\xae\x9b\xba\x90\xd2\x6e\x12\x68\xf6\xc1\xc7\xb9\x7e\xdc\xed\x9e\x67\x4e\xa5\x91\x2d\x7c\xb4\xf0\xab",
- 47},
- .id = {(unsigned char *)"nmav", 4},
- .binder = {(unsigned char *)
- "\xc4\xda\xe5\x7e\x05\x59\xf7\xae\x9b\xba\x90\xd2\x6e\x12\x68\xf6\xc1\xc7\xb9\x7e\xdc\xed\x9e\x67\x4e\xa5\x91\x2d\x7c\xb4\xf0\xab",
- 32},
- .idx = 0,
- .res = 0},
- {
- .name = "multiple psks id0",
- .psk =
- {(unsigned char *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
- "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
- "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x63"
- "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x20\x71\x83\x89\x3d\xcc"
- "\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53"
- "\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc" "\xca\x52\x16",
- 135},
- .id = {(unsigned char *)"psk1", 4},
- .binder = {(unsigned char *)
- "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
- 32},
- .idx = 0,
- .res = 0},
- {
- .name = "multiple psks id1",
- .psk =
- {(unsigned char *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
- "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
- "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x63"
- "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x20\x71\x83\x89\x3d\xcc"
- "\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53"
- "\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc" "\xca\x52\x16",
- 135},
- .id = {(unsigned char *)"pskid", 6},
- .binder = {(unsigned char *)
- "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
- 32},
- .idx = 1,
- .res = 0},
- {
- .name = "multiple psks id2",
- .psk =
- {(unsigned char *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
- "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
- "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x63"
- "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x20\x71\x83\x89\x3d\xcc"
- "\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53"
- "\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc" "\xca\x52\x16",
- 135},
- .id = {(unsigned char *)"test", 4},
- .binder = {(unsigned char *)
- "\x71\x83\x89\x3d\xcc\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc\xca\x52\x16",
- 32},
- .idx = 2,
- .res = 0},
- {
- .name = "multiple psks id3",
- .psk =
- {(unsigned char *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
- "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
- "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x42"
- "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
- "\x00\x00\x00\x00\x00\x00", 102},
- .id = {(unsigned char *)"test", 4},
- .binder = {NULL, 0},
- .idx = 2,
- .res = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}
+ { .name = "single PSK",
+ .psk = { (unsigned char
+ *)"\x00\x0a\x00\x04\x6e\x6d\x61\x76\x00\x00\x00\x00\x00\x21\x20\xc4\xda\xe5\x7e\x05\x59\xf7\xae\x9b\xba\x90\xd2\x6e\x12\x68\xf6\xc1\xc7\xb9\x7e\xdc\xed\x9e\x67\x4e\xa5\x91\x2d\x7c\xb4\xf0\xab",
+ 47 },
+ .id = { (unsigned char *)"nmav", 4 },
+ .binder = { (unsigned char
+ *)"\xc4\xda\xe5\x7e\x05\x59\xf7\xae\x9b\xba\x90\xd2\x6e\x12\x68\xf6\xc1\xc7\xb9\x7e\xdc\xed\x9e\x67\x4e\xa5\x91\x2d\x7c\xb4\xf0\xab",
+ 32 },
+ .idx = 0,
+ .res = 0 },
+ { .name = "multiple psks id0",
+ .psk = { (unsigned char
+ *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
+ "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
+ "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x63"
+ "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x20\x71\x83\x89\x3d\xcc"
+ "\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53"
+ "\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc"
+ "\xca\x52\x16",
+ 135 },
+ .id = { (unsigned char *)"psk1", 4 },
+ .binder = { (unsigned char
+ *)"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 32 },
+ .idx = 0,
+ .res = 0 },
+ { .name = "multiple psks id1",
+ .psk = { (unsigned char
+ *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
+ "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
+ "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x63"
+ "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x20\x71\x83\x89\x3d\xcc"
+ "\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53"
+ "\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc"
+ "\xca\x52\x16",
+ 135 },
+ .id = { (unsigned char *)"pskid", 6 },
+ .binder = { (unsigned char
+ *)"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 32 },
+ .idx = 1,
+ .res = 0 },
+ { .name = "multiple psks id2",
+ .psk = { (unsigned char
+ *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
+ "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
+ "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x63"
+ "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x20\x71\x83\x89\x3d\xcc"
+ "\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53"
+ "\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc"
+ "\xca\x52\x16",
+ 135 },
+ .id = { (unsigned char *)"test", 4 },
+ .binder = { (unsigned char
+ *)"\x71\x83\x89\x3d\xcc\x46\xad\x83\x18\x98\x59\x46\x0b\xb2\x51\x24\x53\x41\xb4\x35\x04\x22\x90\x02\xac\x5e\xc1\xe7\xbc\xca\x52\x16",
+ 32 },
+ .idx = 2,
+ .res = 0 },
+ { .name = "multiple psks id3",
+ .psk = { (unsigned char
+ *)"\x00\x20\x00\x04\x70\x73\x6b\x31\x00\x00\x00\x00"
+ "\x00\x06\x70\x73\x6b\x69\x64\x00\x00\x00\x00\x00"
+ "\x00\x04\x74\x65\x73\x74\x00\x00\x00\x00\x00\x42"
+ "\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00",
+ 102 },
+ .id = { (unsigned char *)"test", 4 },
+ .binder = { NULL, 0 },
+ .idx = 2,
+ .res = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE }
};
void doit(void)
diff --git a/tests/tls13/psk-ke-modes.c b/tests/tls13/psk-ke-modes.c
index c02c6672d5..75231295bc 100644
--- a/tests/tls13/psk-ke-modes.c
+++ b/tests/tls13/psk-ke-modes.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdbool.h>
@@ -49,8 +49,7 @@
const char *testname = "";
-#define myfail(fmt, ...) \
- fail("%s: "fmt, testname, ##__VA_ARGS__)
+#define myfail(fmt, ...) fail("%s: " fmt, testname, ##__VA_ARGS__)
const char *side = "";
@@ -59,10 +58,10 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static int
-new_session_ticket_callback(gnutls_session_t session, unsigned int htype,
- unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+static int new_session_ticket_callback(gnutls_session_t session,
+ unsigned int htype, unsigned post,
+ unsigned int incoming,
+ const gnutls_datum_t *msg)
{
bool *new_session_ticket_sent = gnutls_session_get_ptr(session);
*new_session_ticket_sent = true;
@@ -70,7 +69,8 @@ new_session_ticket_callback(gnutls_session_t session, unsigned int htype,
}
#define MAX_BUF 1024
-#define MSG "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
+#define MSG \
+ "Hello TLS, and hi and how are you and more data here... and more... and even more and even more more data..."
static void start(const char *name, const char *prio, const char *sprio)
{
@@ -92,8 +92,7 @@ static void start(const char *name, const char *prio, const char *sprio)
/* Init server */
assert(gnutls_certificate_allocate_credentials(&scred) >= 0);
- assert(gnutls_certificate_set_x509_key_mem(scred,
- &server_cert,
+ assert(gnutls_certificate_set_x509_key_mem(scred, &server_cert,
&server_key,
GNUTLS_X509_FMT_PEM) >= 0);
@@ -117,8 +116,8 @@ static void start(const char *name, const char *prio, const char *sprio)
/* Init client */
gnutls_certificate_allocate_credentials(&ccred);
- assert(gnutls_certificate_set_x509_trust_mem
- (ccred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
gnutls_init(&client, GNUTLS_CLIENT);
diff --git a/tests/tls13/rnd-check-rollback-val.c b/tests/tls13/rnd-check-rollback-val.c
index 8958959c48..493bc405cc 100644
--- a/tests/tls13/rnd-check-rollback-val.c
+++ b/tests/tls13/rnd-check-rollback-val.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program checks whether a TLS 1.3 client will detect
* a TLS 1.2 rollback attempt via the server random value.
@@ -64,25 +64,21 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# ifdef TLS12
-# define name "TLS1.2"
-# define RND tls12_rnd
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
-# elif TLS11
-# define name "TLS1.1"
-# define RND tls11_rnd
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.0"
-# else
-# error unknown version to test
-# endif
-
-gnutls_datum_t tls12_rnd = { (void *)"\x44\x4F\x57\x4E\x47\x52\x44\x01",
- 8
-};
-
-gnutls_datum_t tls11_rnd = { (void *)"\x44\x4F\x57\x4E\x47\x52\x44\x00",
- 8
-};
+#ifdef TLS12
+#define name "TLS1.2"
+#define RND tls12_rnd
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
+#elif TLS11
+#define name "TLS1.1"
+#define RND tls11_rnd
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.0"
+#else
+#error unknown version to test
+#endif
+
+gnutls_datum_t tls12_rnd = { (void *)"\x44\x4F\x57\x4E\x47\x52\x44\x01", 8 };
+
+gnutls_datum_t tls11_rnd = { (void *)"\x44\x4F\x57\x4E\x47\x52\x44\x00", 8 };
static void client(int fd)
{
@@ -104,7 +100,7 @@ static void client(int fd)
gnutls_certificate_set_x509_key_mem(x509_cred, &cli_ca3_cert,
&cli_ca3_key, GNUTLS_X509_FMT_PEM);
- retry:
+retry:
/* Initialize TLS session
*/
gnutls_init(&session, GNUTLS_CLIENT);
@@ -129,8 +125,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret < 0) {
fail("error in handshake: %s\n", gnutls_strerror(ret));
@@ -208,15 +203,15 @@ static void server(int fd)
assert(gnutls_session_ticket_key_generate(&skey) >= 0);
- retry:
+retry:
gnutls_init(&session, GNUTLS_SERVER);
gnutls_handshake_set_timeout(session, get_timeout());
- assert(gnutls_priority_set_direct
- (session,
- "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0",
- NULL) >= 0);
+ assert(gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0",
+ NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, x509_cred);
@@ -226,7 +221,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -305,4 +300,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/rnd-rollback-detection.c b/tests/tls13/rnd-rollback-detection.c
index 06f65a9edc..eaa9d62a4b 100644
--- a/tests/tls13/rnd-rollback-detection.c
+++ b/tests/tls13/rnd-rollback-detection.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-# include <assert.h>
-
-# include "cert-common.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+#include <assert.h>
+
+#include "cert-common.h"
+#include "utils.h"
/* This program checks whether a TLS 1.3 client will detect
* a TLS 1.2 rollback attempt via the server random value.
@@ -87,10 +87,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.2 priorities\n");
@@ -104,8 +104,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER) {
fail("unexpected error during rollback: %s\n",
@@ -121,29 +120,27 @@ static void client(int fd)
gnutls_global_deinit();
}
-# ifdef TLS12
-# define RND tls12_rnd
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
-# elif TLS11
-# define RND tls11_rnd
-# define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.0"
-# else
-# error unknown version to test
-# endif
+#ifdef TLS12
+#define RND tls12_rnd
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
+#elif TLS11
+#define RND tls11_rnd
+#define PRIO "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.1:+VERS-TLS1.0"
+#else
+#error unknown version to test
+#endif
gnutls_datum_t tls12_rnd = { (void *)"\x00\x00\x00\x04\x00\x00\x00\x04"
- "\x00\x00\x00\x04\x00\x00\x00\x04"
- "\x00\x00\x00\x04\x00\x00\x00\x04"
- "\x44\x4F\x57\x4E\x47\x52\x44\x01",
- 32
-};
+ "\x00\x00\x00\x04\x00\x00\x00\x04"
+ "\x00\x00\x00\x04\x00\x00\x00\x04"
+ "\x44\x4F\x57\x4E\x47\x52\x44\x01",
+ 32 };
gnutls_datum_t tls11_rnd = { (void *)"\x00\x00\x00\x04\x00\x00\x00\x04"
- "\x00\x00\x00\x04\x00\x00\x00\x04"
- "\x00\x00\x00\x04\x00\x00\x00\x04"
- "\x44\x4F\x57\x4E\x47\x52\x44\x00",
- 32
-};
+ "\x00\x00\x00\x04\x00\x00\x00\x04"
+ "\x00\x00\x00\x04\x00\x00\x00\x04"
+ "\x44\x4F\x57\x4E\x47\x52\x44\x00",
+ 32 };
static void server(int fd)
{
@@ -177,7 +174,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -235,4 +232,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/supported_versions.c b/tests/tls13/supported_versions.c
index fbc270202e..f0f485f695 100644
--- a/tests/tls13/supported_versions.c
+++ b/tests/tls13/supported_versions.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,19 +35,19 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
-# include "cert-common.h"
-# include "utils.h"
+#include "cert-common.h"
+#include "utils.h"
/* This program tests the ProtocolVersion of Client Hello
* and whether the supported_versions extension is present and
@@ -64,7 +64,7 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void client(int fd)
{
@@ -87,10 +87,10 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session,
+ "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:+VERS-TLS1.0",
+ NULL);
if (ret < 0)
fail("cannot set TLS 1.3 priorities\n");
@@ -104,8 +104,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
close(fd);
@@ -119,43 +118,51 @@ static void client(int fd)
static unsigned client_hello_ok = 0;
static unsigned server_hello_ok = 0;
-# define HANDSHAKE_SESSION_ID_POS 34
-# define TLS_EXT_SUPPORTED_VERSIONS 43
-
-# define SKIP16(pos, total) { \
- uint16_t _s; \
- if (pos+2 > total) fail("error\n"); \
- _s = (msg->data[pos] << 8) | msg->data[pos+1]; \
- if ((size_t)(pos+2+_s) > total) fail("error\n"); \
- pos += 2+_s; \
+#define HANDSHAKE_SESSION_ID_POS 34
+#define TLS_EXT_SUPPORTED_VERSIONS 43
+
+#define SKIP16(pos, total) \
+ { \
+ uint16_t _s; \
+ if (pos + 2 > total) \
+ fail("error\n"); \
+ _s = (msg->data[pos] << 8) | msg->data[pos + 1]; \
+ if ((size_t)(pos + 2 + _s) > total) \
+ fail("error\n"); \
+ pos += 2 + _s; \
}
-# define SKIP8(pos, total) { \
- uint8_t _s; \
- if (pos+1 > total) fail("error\n"); \
- _s = msg->data[pos]; \
- if ((size_t)(pos+1+_s) > total) fail("error\n"); \
- pos += 1+_s; \
+#define SKIP8(pos, total) \
+ { \
+ uint8_t _s; \
+ if (pos + 1 > total) \
+ fail("error\n"); \
+ _s = msg->data[pos]; \
+ if ((size_t)(pos + 1 + _s) > total) \
+ fail("error\n"); \
+ pos += 1 + _s; \
}
static int client_hello_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
ssize_t pos;
- if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO && post == GNUTLS_HOOK_POST) {
+ if (htype == GNUTLS_HANDSHAKE_SERVER_HELLO &&
+ post == GNUTLS_HOOK_POST) {
/* check whether TLS 1.3 is negotiated */
pos = 0;
if (msg->size < 2) {
fail("error in server hello size\n");
}
- success("server hello:\n\t%d.%d\n",
- (int)msg->data[pos], (int)msg->data[pos + 1]);
+ success("server hello:\n\t%d.%d\n", (int)msg->data[pos],
+ (int)msg->data[pos + 1]);
if (msg->data[pos] != 0x03 || msg->data[pos + 1] != 0x03) {
- fail("fail expected TLS 1.2 in server hello, got %d.%d\n", (int)msg->data[pos], (int)msg->data[pos + 1]);
+ fail("fail expected TLS 1.2 in server hello, got %d.%d\n",
+ (int)msg->data[pos], (int)msg->data[pos + 1]);
}
server_hello_ok = 1;
@@ -200,9 +207,9 @@ static int client_hello_callback(gnutls_session_t session, unsigned int htype,
if (type != TLS_EXT_SUPPORTED_VERSIONS) {
SKIP16(pos, msg->size);
- } else { /* found */
- ssize_t size =
- (msg->data[pos] << 8) | msg->data[pos + 1];
+ } else { /* found */
+ ssize_t size = (msg->data[pos] << 8) |
+ msg->data[pos + 1];
pos += 2;
size = msg->data[pos];
@@ -228,24 +235,24 @@ static int client_hello_callback(gnutls_session_t session, unsigned int htype,
(int)msg->data[pos + 4],
(int)msg->data[pos + 5]);
- if (msg->data[pos] != 0x03
- || msg->data[pos + 1] != 0x04) {
+ if (msg->data[pos] != 0x03 ||
+ msg->data[pos + 1] != 0x04) {
fail("fail expected TLS 1.3, got %d.%d\n",
(int)msg->data[pos],
(int)msg->data[pos + 1]);
}
pos += 2;
- if (msg->data[pos] != 0x03
- || msg->data[pos + 1] != 0x03) {
+ if (msg->data[pos] != 0x03 ||
+ msg->data[pos + 1] != 0x03) {
fail("fail expected TLS 1.2, got %d.%d\n",
(int)msg->data[pos],
(int)msg->data[pos + 1]);
}
pos += 2;
- if (msg->data[pos] != 0x03
- || msg->data[pos + 1] != 0x01) {
+ if (msg->data[pos] != 0x03 ||
+ msg->data[pos + 1] != 0x01) {
fail("fail expected TLS 1.0, got %d.%d\n",
(int)msg->data[pos],
(int)msg->data[pos + 1]);
@@ -298,7 +305,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -364,4 +371,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tls13/tls12-no-tls13-exts.c b/tests/tls13/tls12-no-tls13-exts.c
index 3f0b6be72b..79179e33e3 100644
--- a/tests/tls13/tls12-no-tls13-exts.c
+++ b/tests/tls13/tls12-no-tls13-exts.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,20 +35,20 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/dtls.h>
-# include <signal.h>
-
-# include "cert-common.h"
-# include "tls13/ext-parse.h"
-# include "utils.h"
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/dtls.h>
+#include <signal.h>
+
+#include "cert-common.h"
+#include "tls13/ext-parse.h"
+#include "utils.h"
/* This program checks whether any TLS 1.3 extensions are
* present when TLS 1.2 is the only protocol supported by
@@ -88,10 +88,8 @@ static void client(int fd)
gnutls_handshake_set_timeout(session, get_timeout());
- ret =
- gnutls_priority_set_direct(session,
- "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.0",
- NULL);
+ ret = gnutls_priority_set_direct(
+ session, "NORMAL:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.0", NULL);
if (ret < 0)
fail("cannot set TLS 1.2 priorities\n");
@@ -105,8 +103,7 @@ static void client(int fd)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
close(fd);
@@ -121,12 +118,13 @@ static unsigned client_hello_ok = 0;
static int client_hello_callback(gnutls_session_t session, unsigned int htype,
unsigned post, unsigned int incoming,
- const gnutls_datum_t * msg)
+ const gnutls_datum_t *msg)
{
if (htype != GNUTLS_HANDSHAKE_CLIENT_HELLO || post != GNUTLS_HOOK_PRE)
return 0;
- if (find_client_extension(msg, TLS_EXT_SUPPORTED_VERSIONS, NULL, NULL)) {
+ if (find_client_extension(msg, TLS_EXT_SUPPORTED_VERSIONS, NULL,
+ NULL)) {
fail("Found TLS 1.3 supported versions extension in TLS 1.2!\n");
}
@@ -176,7 +174,7 @@ static void server(int fd)
do {
ret = gnutls_handshake(session);
- if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
+ if (ret == GNUTLS_E_INTERRUPTED) { /* expected */
break;
}
} while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
@@ -238,4 +236,4 @@ void doit(void)
}
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tlsext-decoding.c b/tests/tlsext-decoding.c
index d5267e031e..bd0de486fb 100644
--- a/tests/tlsext-decoding.c
+++ b/tests/tlsext-decoding.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -39,18 +39,18 @@ int main(void)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
-# include <unistd.h>
-# include <signal.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
static void terminate(void);
static unsigned reduce = 0;
@@ -68,8 +68,8 @@ static void client_log_func(int level, const char *str)
fprintf(stderr, "client|<%d>| %s", level, str);
}
-# define RECORD_PAYLOAD_POS 5
-# define HANDSHAKE_ID_POS (38)
+#define RECORD_PAYLOAD_POS 5
+#define HANDSHAKE_ID_POS (38)
static ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
{
uint8_t *d = (void *)data;
@@ -85,19 +85,16 @@ static ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
isize += 1;
/* skip ciphersuites */
- csize =
- d[RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize + 1] +
- (d[RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize] << 8);
+ csize = d[RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize + 1] +
+ (d[RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize] << 8);
csize += 2;
/* skip compression methods */
- osize =
- d[RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize + csize];
+ osize = d[RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize + csize];
osize += 1;
- pos =
- RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize + csize +
- osize;
+ pos = RECORD_PAYLOAD_POS + HANDSHAKE_ID_POS + isize + csize +
+ osize;
if (reduce) {
if (d[pos + 1] != 0x00) {
@@ -113,7 +110,6 @@ static ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t len)
d[pos] = d[pos] + 1;
d[pos + 1] = 0x00;
}
-
}
}
@@ -154,8 +150,7 @@ static void client(int fd, const char *prio)
*/
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret >= 0) {
fail("client: Handshake succeeded!\n");
@@ -200,9 +195,8 @@ static void server(int fd, const char *prio)
gnutls_certificate_allocate_credentials(&xcred);
- ret = gnutls_certificate_set_x509_key_mem(xcred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_key_mem(
+ xcred, &server_cert, &server_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -220,13 +214,13 @@ static void server(int fd, const char *prio)
do {
ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
+ } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
if (ret != GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH) {
close(fd);
gnutls_deinit(session);
- fail("server: Handshake did not fail with GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH (%s)\n\n", gnutls_strerror(ret));
+ fail("server: Handshake did not fail with GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH (%s)\n\n",
+ gnutls_strerror(ret));
terminate();
}
@@ -292,4 +286,4 @@ void doit(void)
start("NORMAL:-VERS-ALL:+VERS-TLS1.3");
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/tlsfeature-crt.c b/tests/tlsfeature-crt.c
index fbc1f0069a..35b229cbdd 100644
--- a/tests/tlsfeature-crt.c
+++ b/tests/tlsfeature-crt.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -30,23 +30,21 @@
#include "utils.h"
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICBzCCAXCgAwIBAgIMVpjt8TL5Io/frpvkMA0GCSqGSIb3DQEBCwUAMCIxIDAe\n"
- "BgNVBAMTF0dudVRMUyB0ZXN0IGNlcnRpZmljYXRlMB4XDTE2MDExNTEzMDI0MVoX\n"
- "DTMyMDYxOTEzMDI0MVowIjEgMB4GA1UEAxMXR251VExTIHRlc3QgY2VydGlmaWNh\n"
- "dGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANe6XK+jDPAuqSdWqlOOqOt/\n"
- "gXVMa5i+Suq3HvhLw2rE2g0AuOpMEx82FpPecu/GpF6ybrbKCohVdZCW7aZXvAw7\n"
- "dg2XHr3p7H/Tqez7hWSga6BIznd+c5wxE/89yK6lYG7Ztoxamm+2vp9qvafwoDMn\n"
- "9bcdkuWWnHNS1p/WyI6xAgMBAAGjQjBAMBEGCCsGAQUFBwEYBAUwAwIBBTAMBgNV\n"
- "HRMBAf8EAjAAMB0GA1UdDgQWBBRTSzvcXshETAIgvzlIb0z+zSVSEDANBgkqhkiG\n"
- "9w0BAQsFAAOBgQB+VcJuLPL2PMog0HZ8RRbqVvLU5d209ROg3s1oXUBFW8+AV+71\n"
- "CsHg9Xx7vqKVwyKGI9ghds1B44lNPxGH2Sk1v2czjKbzwujo9+kLnDS6i0jyrDdn\n"
- "um4ivpkwmlUFSQVXvENLwe9gTlIgN4+0I9WLcMTCDtHWkcxMRwCm2BMsXw==\n"
- "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICBzCCAXCgAwIBAgIMVpjt8TL5Io/frpvkMA0GCSqGSIb3DQEBCwUAMCIxIDAe\n"
+ "BgNVBAMTF0dudVRMUyB0ZXN0IGNlcnRpZmljYXRlMB4XDTE2MDExNTEzMDI0MVoX\n"
+ "DTMyMDYxOTEzMDI0MVowIjEgMB4GA1UEAxMXR251VExTIHRlc3QgY2VydGlmaWNh\n"
+ "dGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANe6XK+jDPAuqSdWqlOOqOt/\n"
+ "gXVMa5i+Suq3HvhLw2rE2g0AuOpMEx82FpPecu/GpF6ybrbKCohVdZCW7aZXvAw7\n"
+ "dg2XHr3p7H/Tqez7hWSga6BIznd+c5wxE/89yK6lYG7Ztoxamm+2vp9qvafwoDMn\n"
+ "9bcdkuWWnHNS1p/WyI6xAgMBAAGjQjBAMBEGCCsGAQUFBwEYBAUwAwIBBTAMBgNV\n"
+ "HRMBAf8EAjAAMB0GA1UdDgQWBBRTSzvcXshETAIgvzlIb0z+zSVSEDANBgkqhkiG\n"
+ "9w0BAQsFAAOBgQB+VcJuLPL2PMog0HZ8RRbqVvLU5d209ROg3s1oXUBFW8+AV+71\n"
+ "CsHg9Xx7vqKVwyKGI9ghds1B44lNPxGH2Sk1v2czjKbzwujo9+kLnDS6i0jyrDdn\n"
+ "um4ivpkwmlUFSQVXvENLwe9gTlIgN4+0I9WLcMTCDtHWkcxMRwCm2BMsXw==\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
void doit(void)
{
diff --git a/tests/tlsfeature-ext.c b/tests/tlsfeature-ext.c
index 71c0fd022d..31a402dff1 100644
--- a/tests/tlsfeature-ext.c
+++ b/tests/tlsfeature-ext.c
@@ -18,7 +18,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -30,31 +30,31 @@
#include "utils.h"
unsigned char der_feat_long[] =
- "\x30\x82\x01\x80\x02\x01\x00\x02\x01\x01\x02\x01\x02\x02\x01\x03"
- "\x02\x01\x04\x02\x01\x05\x02\x01\x06\x02\x01\x07\x02\x01\x08\x02"
- "\x01\x09\x02\x01\x0A\x02\x01\x0B\x02\x01\x0C\x02\x01\x0D\x02\x01"
- "\x0E\x02\x01\x0F\x02\x01\x10\x02\x01\x11\x02\x01\x12\x02\x01\x13"
- "\x02\x01\x14\x02\x01\x15\x02\x01\x16\x02\x01\x17\x02\x01\x18\x02"
- "\x01\x19\x02\x01\x1A\x02\x01\x1B\x02\x01\x1C\x02\x01\x1D\x02\x01"
- "\x1E\x02\x01\x1F\x02\x01\x20\x02\x01\x21\x02\x01\x22\x02\x01\x23"
- "\x02\x01\x24\x02\x01\x25\x02\x01\x26\x02\x01\x27\x02\x01\x28\x02"
- "\x01\x29\x02\x01\x2A\x02\x01\x2B\x02\x01\x2C\x02\x01\x2D\x02\x01"
- "\x2E\x02\x01\x2F\x02\x01\x30\x02\x01\x31\x02\x01\x32\x02\x01\x33"
- "\x02\x01\x34\x02\x01\x35\x02\x01\x36\x02\x01\x37\x02\x01\x38\x02"
- "\x01\x39\x02\x01\x3A\x02\x01\x3B\x02\x01\x3C\x02\x01\x3D\x02\x01"
- "\x3E\x02\x01\x3F\x02\x01\x40\x02\x01\x41\x02\x01\x42\x02\x01\x43"
- "\x02\x01\x44\x02\x01\x45\x02\x01\x46\x02\x01\x47\x02\x01\x48\x02"
- "\x01\x49\x02\x01\x4A\x02\x01\x4B\x02\x01\x4C\x02\x01\x4D\x02\x01"
- "\x4E\x02\x01\x4F\x02\x01\x50\x02\x01\x51\x02\x01\x52\x02\x01\x53"
- "\x02\x01\x54\x02\x01\x55\x02\x01\x56\x02\x01\x57\x02\x01\x58\x02"
- "\x01\x59\x02\x01\x5A\x02\x01\x5B\x02\x01\x5C\x02\x01\x5D\x02\x01"
- "\x5E\x02\x01\x5F\x02\x01\x60\x02\x01\x61\x02\x01\x62\x02\x01\x63"
- "\x02\x01\x64\x02\x01\x65\x02\x01\x66\x02\x01\x67\x02\x01\x68\x02"
- "\x01\x69\x02\x01\x6A\x02\x01\x6B\x02\x01\x6C\x02\x01\x6D\x02\x01"
- "\x6E\x02\x01\x6F\x02\x01\x70\x02\x01\x71\x02\x01\x72\x02\x01\x73"
- "\x02\x01\x74\x02\x01\x75\x02\x01\x76\x02\x01\x77\x02\x01\x78\x02"
- "\x01\x79\x02\x01\x7A\x02\x01\x7B\x02\x01\x7C\x02\x01\x7D\x02\x01"
- "\x7E\x02\x01\x7F";
+ "\x30\x82\x01\x80\x02\x01\x00\x02\x01\x01\x02\x01\x02\x02\x01\x03"
+ "\x02\x01\x04\x02\x01\x05\x02\x01\x06\x02\x01\x07\x02\x01\x08\x02"
+ "\x01\x09\x02\x01\x0A\x02\x01\x0B\x02\x01\x0C\x02\x01\x0D\x02\x01"
+ "\x0E\x02\x01\x0F\x02\x01\x10\x02\x01\x11\x02\x01\x12\x02\x01\x13"
+ "\x02\x01\x14\x02\x01\x15\x02\x01\x16\x02\x01\x17\x02\x01\x18\x02"
+ "\x01\x19\x02\x01\x1A\x02\x01\x1B\x02\x01\x1C\x02\x01\x1D\x02\x01"
+ "\x1E\x02\x01\x1F\x02\x01\x20\x02\x01\x21\x02\x01\x22\x02\x01\x23"
+ "\x02\x01\x24\x02\x01\x25\x02\x01\x26\x02\x01\x27\x02\x01\x28\x02"
+ "\x01\x29\x02\x01\x2A\x02\x01\x2B\x02\x01\x2C\x02\x01\x2D\x02\x01"
+ "\x2E\x02\x01\x2F\x02\x01\x30\x02\x01\x31\x02\x01\x32\x02\x01\x33"
+ "\x02\x01\x34\x02\x01\x35\x02\x01\x36\x02\x01\x37\x02\x01\x38\x02"
+ "\x01\x39\x02\x01\x3A\x02\x01\x3B\x02\x01\x3C\x02\x01\x3D\x02\x01"
+ "\x3E\x02\x01\x3F\x02\x01\x40\x02\x01\x41\x02\x01\x42\x02\x01\x43"
+ "\x02\x01\x44\x02\x01\x45\x02\x01\x46\x02\x01\x47\x02\x01\x48\x02"
+ "\x01\x49\x02\x01\x4A\x02\x01\x4B\x02\x01\x4C\x02\x01\x4D\x02\x01"
+ "\x4E\x02\x01\x4F\x02\x01\x50\x02\x01\x51\x02\x01\x52\x02\x01\x53"
+ "\x02\x01\x54\x02\x01\x55\x02\x01\x56\x02\x01\x57\x02\x01\x58\x02"
+ "\x01\x59\x02\x01\x5A\x02\x01\x5B\x02\x01\x5C\x02\x01\x5D\x02\x01"
+ "\x5E\x02\x01\x5F\x02\x01\x60\x02\x01\x61\x02\x01\x62\x02\x01\x63"
+ "\x02\x01\x64\x02\x01\x65\x02\x01\x66\x02\x01\x67\x02\x01\x68\x02"
+ "\x01\x69\x02\x01\x6A\x02\x01\x6B\x02\x01\x6C\x02\x01\x6D\x02\x01"
+ "\x6E\x02\x01\x6F\x02\x01\x70\x02\x01\x71\x02\x01\x72\x02\x01\x73"
+ "\x02\x01\x74\x02\x01\x75\x02\x01\x76\x02\x01\x77\x02\x01\x78\x02"
+ "\x01\x79\x02\x01\x7A\x02\x01\x7B\x02\x01\x7C\x02\x01\x7D\x02\x01"
+ "\x7E\x02\x01\x7F";
static gnutls_datum_t der_long = { der_feat_long, sizeof(der_feat_long) - 1 };
diff --git a/tests/trust-store.c b/tests/trust-store.c
index 6490bed273..4f81abcd80 100644
--- a/tests/trust-store.c
+++ b/tests/trust-store.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/trustdb-tofu.c b/tests/trustdb-tofu.c
index f26d388805..b88b849063 100644
--- a/tests/trustdb-tofu.c
+++ b/tests/trustdb-tofu.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,46 +41,48 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char tofu_server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t tofu_server_cert = { tofu_server_cert_pem,
- sizeof(tofu_server_cert_pem)
-};
+ sizeof(tofu_server_cert_pem) };
static char client_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t client_cert = { (void *)client_pem, sizeof(client_pem) };
#define TMP_FILE "mini-tdb.tmp"
#define HOSTS_DIR ".gnutls/"
-#define HOSTS_FILE HOSTS_DIR"known_hosts"
+#define HOSTS_FILE HOSTS_DIR "known_hosts"
-#define SHA1_HASH "\x53\x4b\x3b\xdc\x5e\xc8\x44\x4c\x02\x20\xbf\x39\x48\x6f\x4c\xfe\xcd\x25\x52\x10"
+#define SHA1_HASH \
+ "\x53\x4b\x3b\xdc\x5e\xc8\x44\x4c\x02\x20\xbf\x39\x48\x6f\x4c\xfe\xcd\x25\x52\x10"
void doit(void)
{
@@ -101,33 +103,29 @@ void doit(void)
gnutls_global_set_log_level(2);
// X.509 certificates
- ret =
- gnutls_pem_base64_decode_alloc("CERTIFICATE", &tofu_server_cert,
- &der_cert);
+ ret = gnutls_pem_base64_decode_alloc("CERTIFICATE", &tofu_server_cert,
+ &der_cert);
if (ret < 0) {
fail("base64 decoding\n");
goto fail;
}
- ret =
- gnutls_pem_base64_decode_alloc("CERTIFICATE", &client_cert,
- &der_cert2);
+ ret = gnutls_pem_base64_decode_alloc("CERTIFICATE", &client_cert,
+ &der_cert2);
if (ret < 0) {
fail("base64 decoding\n");
goto fail;
}
// Raw public keys
- ret =
- gnutls_pem_base64_decode_alloc("PUBLIC KEY", &rawpk_public_key1,
- &der_rawpk);
+ ret = gnutls_pem_base64_decode_alloc("PUBLIC KEY", &rawpk_public_key1,
+ &der_rawpk);
if (ret < 0) {
fail("base64 decoding\n");
goto fail;
}
- ret =
- gnutls_pem_base64_decode_alloc("PUBLIC KEY", &rawpk_public_key2,
- &der_rawpk2);
+ ret = gnutls_pem_base64_decode_alloc("PUBLIC KEY", &rawpk_public_key2,
+ &der_rawpk2);
if (ret < 0) {
fail("base64 decoding\n");
goto fail;
@@ -148,9 +146,8 @@ void doit(void)
if (debug)
success("Commitment storage: passed\n");
- ret =
- gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost",
- "https", GNUTLS_CRT_X509, &der_cert, 0);
+ ret = gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost", "https",
+ GNUTLS_CRT_X509, &der_cert, 0);
remove(TMP_FILE);
if (ret != 0) {
@@ -161,7 +158,7 @@ void doit(void)
if (debug)
success("Commitment verification: passed\n");
- /* Verify access to home dir */
+ /* Verify access to home dir */
#ifndef _WIN32
setenv("HOME", getcwd(path, sizeof(path)), 1);
@@ -177,9 +174,8 @@ void doit(void)
if (debug)
success("Commitment storage: passed\n");
- ret =
- gnutls_verify_stored_pubkey(NULL, NULL, "localhost",
- "https", GNUTLS_CRT_X509, &der_cert, 0);
+ ret = gnutls_verify_stored_pubkey(NULL, NULL, "localhost", "https",
+ GNUTLS_CRT_X509, &der_cert, 0);
if (ret != 0) {
fail("commitment verification: %s\n", gnutls_strerror(ret));
@@ -202,19 +198,16 @@ void doit(void)
if (debug)
success("Public key storage (from cert): passed\n");
- ret =
- gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost",
- "https", GNUTLS_CRT_X509, &der_cert, 0);
+ ret = gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost", "https",
+ GNUTLS_CRT_X509, &der_cert, 0);
if (ret != 0) {
fail("pubkey verification (from cert): %s\n",
gnutls_strerror(ret));
goto fail;
}
- ret =
- gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost",
- "https", GNUTLS_CRT_X509,
- &der_cert2, 0);
+ ret = gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost", "https",
+ GNUTLS_CRT_X509, &der_cert2, 0);
if (ret == 0) {
fail("verification succeeded when shouldn't!\n");
goto fail;
@@ -238,20 +231,16 @@ void doit(void)
if (debug)
success("Public key storage (from raw pk): passed\n");
- ret =
- gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost",
- "https", GNUTLS_CRT_RAWPK,
- &der_rawpk, 0);
+ ret = gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost", "https",
+ GNUTLS_CRT_RAWPK, &der_rawpk, 0);
if (ret != 0) {
fail("pubkey verification (from raw pk): %s\n",
gnutls_strerror(ret));
goto fail;
}
- ret =
- gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost",
- "https", GNUTLS_CRT_RAWPK,
- &der_rawpk2, 0);
+ ret = gnutls_verify_stored_pubkey(TMP_FILE, NULL, "localhost", "https",
+ GNUTLS_CRT_RAWPK, &der_rawpk2, 0);
if (ret == 0) {
fail("verification succeeded when shouldn't!\n");
goto fail;
@@ -275,7 +264,7 @@ void doit(void)
gnutls_free(der_rawpk2.data);
return;
- fail:
+fail:
remove(HOSTS_FILE);
remove(TMP_FILE);
rmdir(HOSTS_DIR);
diff --git a/tests/urls.c b/tests/urls.c
index 821f08f868..a2a5cfd450 100644
--- a/tests/urls.c
+++ b/tests/urls.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/tests/utils-adv.c b/tests/utils-adv.c
index 4f915a919a..d439cbb2e4 100644
--- a/tests/utils-adv.c
+++ b/tests/utils-adv.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,14 +41,13 @@ int _gnutls_server_name_set_raw(gnutls_session_t session,
const char *side = NULL;
/* if @host is NULL certificate check is skipped */
-int
-_test_cli_serv(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *serv_prio, const char *cli_prio,
- const char *host,
- void *priv, callback_func * client_cb, callback_func * server_cb,
- unsigned expect_verification_failure,
- unsigned require_cert, int serv_err, int cli_err)
+int _test_cli_serv(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *serv_prio, const char *cli_prio,
+ const char *host, void *priv, callback_func *client_cb,
+ callback_func *server_cb,
+ unsigned expect_verification_failure, unsigned require_cert,
+ int serv_err, int cli_err)
{
int ret;
/* Server stuff. */
@@ -82,14 +81,13 @@ _test_cli_serv(gnutls_certificate_credentials_t server_cred,
if (host) {
if (strncmp(host, "raw:", 4) == 0) {
- assert(_gnutls_server_name_set_raw
- (client, GNUTLS_NAME_DNS, host + 4,
- strlen(host + 4)) >= 0);
+ assert(_gnutls_server_name_set_raw(
+ client, GNUTLS_NAME_DNS, host + 4,
+ strlen(host + 4)) >= 0);
host += 4;
} else {
- assert(gnutls_server_name_set
- (client, GNUTLS_NAME_DNS, host,
- strlen(host)) >= 0);
+ assert(gnutls_server_name_set(client, GNUTLS_NAME_DNS,
+ host, strlen(host)) >= 0);
}
}
@@ -142,9 +140,10 @@ _test_cli_serv(gnutls_certificate_credentials_t server_cred,
if (status != 0) {
gnutls_datum_t t;
- assert(gnutls_certificate_verification_status_print
- (status, GNUTLS_CRT_X509, &t, 0) >= 0);
- fail("could not verify certificate for '%s': %.4x: %s\n", host, status, t.data);
+ assert(gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &t, 0) >= 0);
+ fail("could not verify certificate for '%s': %.4x: %s\n",
+ host, status, t.data);
gnutls_free(t.data);
exit(1);
}
@@ -159,8 +158,8 @@ _test_cli_serv(gnutls_certificate_credentials_t server_cred,
if (status != 0) {
gnutls_datum_t t;
- assert(gnutls_certificate_verification_status_print
- (status, GNUTLS_CRT_X509, &t, 0) >= 0);
+ assert(gnutls_certificate_verification_status_print(
+ status, GNUTLS_CRT_X509, &t, 0) >= 0);
fail("could not verify certificate3: %.4x: %s\n",
status, t.data);
gnutls_free(t.data);
@@ -174,7 +173,7 @@ _test_cli_serv(gnutls_certificate_credentials_t server_cred,
gnutls_bye(server, GNUTLS_SHUT_RDWR);
ret = 0;
- cleanup:
+cleanup:
if (client_cb)
client_cb(client, priv);
if (server_cb)
@@ -187,20 +186,18 @@ _test_cli_serv(gnutls_certificate_credentials_t server_cred,
}
/* An expected to succeed run */
-void
-test_cli_serv(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *prio, const char *host,
- void *priv, callback_func * client_cb, callback_func * server_cb)
+void test_cli_serv(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *prio, const char *host, void *priv,
+ callback_func *client_cb, callback_func *server_cb)
{
_test_cli_serv(server_cred, client_cred, prio, prio, host, priv,
client_cb, server_cb, 0, 0, 0, 0);
}
-int
-test_cli_serv_anon(gnutls_anon_server_credentials_t server_cred,
- gnutls_anon_client_credentials_t client_cred,
- const char *prio)
+int test_cli_serv_anon(gnutls_anon_server_credentials_t server_cred,
+ gnutls_anon_client_credentials_t client_cred,
+ const char *prio)
{
int ret;
/* Server stuff. */
@@ -247,9 +244,9 @@ test_cli_serv_anon(gnutls_anon_server_credentials_t server_cred,
return ret;
}
-int
-test_cli_serv_psk(gnutls_psk_server_credentials_t server_cred,
- gnutls_psk_client_credentials_t client_cred, const char *prio)
+int test_cli_serv_psk(gnutls_psk_server_credentials_t server_cred,
+ gnutls_psk_client_credentials_t client_cred,
+ const char *prio)
{
int ret;
/* Server stuff. */
@@ -296,31 +293,28 @@ test_cli_serv_psk(gnutls_psk_server_credentials_t server_cred,
return ret;
}
-void
-test_cli_serv_cert(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *serv_prio, const char *cli_prio,
- const char *host)
+void test_cli_serv_cert(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *serv_prio, const char *cli_prio,
+ const char *host)
{
_test_cli_serv(server_cred, client_cred, serv_prio, cli_prio, host,
NULL, NULL, NULL, 0, 1, 0, 0);
}
-void
-test_cli_serv_expect(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *serv_prio, const char *cli_prio,
- const char *host, int serv_err, int cli_err)
+void test_cli_serv_expect(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *serv_prio, const char *cli_prio,
+ const char *host, int serv_err, int cli_err)
{
_test_cli_serv(server_cred, client_cred, serv_prio, cli_prio, host,
NULL, NULL, NULL, 0, 0, serv_err, cli_err);
}
/* An expected to fail verification run. Returns verification status */
-unsigned
-test_cli_serv_vf(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *prio, const char *host)
+unsigned test_cli_serv_vf(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *prio, const char *host)
{
return _test_cli_serv(server_cred, client_cred, prio, prio, host, NULL,
NULL, NULL, 1, 0, 0, 0);
diff --git a/tests/utils.c b/tests/utils.c
index 66fc7f7897..00bada578e 100644
--- a/tests/utils.c
+++ b/tests/utils.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -31,12 +31,12 @@
#include <assert.h>
#include <errno.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#else
-# include <windows.h> /* for Sleep */
-# include <winbase.h>
+#include <windows.h> /* for Sleep */
+#include <winbase.h>
#endif
#include <gnutls/gnutls.h>
@@ -52,38 +52,39 @@ int break_on_error = 0;
/* doc/credentials/dhparams/rfc3526-group-14-2048.pem */
const char *pkcs3 =
- "-----BEGIN DH PARAMETERS-----\n"
- "MIIBCAKCAQEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb\n"
- "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft\n"
- "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT\n"
- "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh\n"
- "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq\n"
- "5RXSJhiY+gUQFXKOWoqsqmj//////////wIBAg==\n"
- "-----END DH PARAMETERS-----\n";
+ "-----BEGIN DH PARAMETERS-----\n"
+ "MIIBCAKCAQEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb\n"
+ "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft\n"
+ "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT\n"
+ "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh\n"
+ "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq\n"
+ "5RXSJhiY+gUQFXKOWoqsqmj//////////wIBAg==\n"
+ "-----END DH PARAMETERS-----\n";
/* doc/credentials/dhparams/rfc7919-ffdhe2048.pem */
const char *pkcs3_2048 =
- "-----BEGIN DH PARAMETERS-----\n"
- "MIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz\n"
- "+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a\n"
- "87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7\n"
- "YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi\n"
- "7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD\n"
- "ssbzSibBsu/6iGtCOGEoXJf//////////wIBAg==\n"
- "-----END DH PARAMETERS-----\n";
+ "-----BEGIN DH PARAMETERS-----\n"
+ "MIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz\n"
+ "+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a\n"
+ "87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7\n"
+ "YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi\n"
+ "7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD\n"
+ "ssbzSibBsu/6iGtCOGEoXJf//////////wIBAg==\n"
+ "-----END DH PARAMETERS-----\n";
/* doc/credentials/dhparams/rfc7919-ffdhe3072.pem */
const char *pkcs3_3072 =
- "-----BEGIN DH PARAMETERS-----\n"
- "MIIBiAKCAYEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz\n"
- "+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a\n"
- "87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7\n"
- "YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi\n"
- "7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD\n"
- "ssbzSibBsu/6iGtCOGEfz9zeNVs7ZRkDW7w09N75nAI4YbRvydbmyQd62R0mkff3\n"
- "7lmMsPrBhtkcrv4TCYUTknC0EwyTvEN5RPT9RFLi103TZPLiHnH1S/9croKrnJ32\n"
- "nuhtK8UiNjoNq8Uhl5sN6todv5pC1cRITgq80Gv6U93vPBsg7j/VnXwl5B0rZsYu\n"
- "N///////////AgEC\n" "-----END DH PARAMETERS-----\n";
+ "-----BEGIN DH PARAMETERS-----\n"
+ "MIIBiAKCAYEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz\n"
+ "+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a\n"
+ "87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7\n"
+ "YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi\n"
+ "7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD\n"
+ "ssbzSibBsu/6iGtCOGEfz9zeNVs7ZRkDW7w09N75nAI4YbRvydbmyQd62R0mkff3\n"
+ "7lmMsPrBhtkcrv4TCYUTknC0EwyTvEN5RPT9RFLi103TZPLiHnH1S/9croKrnJ32\n"
+ "nuhtK8UiNjoNq8Uhl5sN6todv5pC1cRITgq80Gv6U93vPBsg7j/VnXwl5B0rZsYu\n"
+ "N///////////AgEC\n"
+ "-----END DH PARAMETERS-----\n";
void _fail(const char *format, ...)
{
@@ -161,8 +162,8 @@ void escapeprint(const char *str, size_t len)
for (i = 0; i < len; i++) {
if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') ||
((str[i] & 0xFF) >= 'a' && (str[i] & 0xFF) <= 'z') ||
- ((str[i] & 0xFF) >= '0' && (str[i] & 0xFF) <= '9')
- || (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.')
+ ((str[i] & 0xFF) >= '0' && (str[i] & 0xFF) <= '9') ||
+ (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.')
printf("%c", (str[i] & 0xFF));
else
printf("\\x%02X", (str[i] & 0xFF));
@@ -208,8 +209,7 @@ void binprint(const void *_str, size_t len)
printf("\t;; ");
for (i = 0; i < len; i++) {
- printf("%d%d%d%d%d%d%d%d ",
- (str[i] & 0xFF) & 0x80 ? 1 : 0,
+ printf("%d%d%d%d%d%d%d%d ", (str[i] & 0xFF) & 0x80 ? 1 : 0,
(str[i] & 0xFF) & 0x40 ? 1 : 0,
(str[i] & 0xFF) & 0x20 ? 1 : 0,
(str[i] & 0xFF) & 0x10 ? 1 : 0,
@@ -237,12 +237,11 @@ int main(int argc, char *argv[])
else if (strcmp(argv[argc - 1], "-h") == 0 ||
strcmp(argv[argc - 1], "-?") == 0 ||
strcmp(argv[argc - 1], "--help") == 0) {
- printf
- ("Usage: %s [-vbh?] [--verbose] [--break-on-error] [--help]\n",
- argv[0]);
+ printf("Usage: %s [-vbh?] [--verbose] [--break-on-error] [--help]\n",
+ argv[0]);
return 1;
}
- while (argc-- > 1) ;
+ while (argc-- > 1);
doit();
diff --git a/tests/utils.h b/tests/utils.h
index 0c228060e9..92c473fa7f 100644
--- a/tests/utils.h
+++ b/tests/utils.h
@@ -21,45 +21,45 @@
*/
#ifndef GNUTLS_TESTS_UTILS_H
-# define GNUTLS_TESTS_UTILS_H
-
-# include <assert.h>
-# include <limits.h>
-# include <stdio.h>
-# include <stdlib.h>
-# include <signal.h>
-# include <string.h>
-# include <stdarg.h>
-# include <unistd.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/pkcs11.h>
-
-# ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-# endif
-
-# ifdef NDEBUG
-# error tests cannot be compiled with NDEBUG defined
-# endif
-
-# ifndef FALLTHROUGH
-# if _GNUTLS_GCC_VERSION >= 70100
-# define FALLTHROUGH __attribute__ ((fallthrough))
-# else
-# define FALLTHROUGH
-# endif
-# endif
+#define GNUTLS_TESTS_UTILS_H
+
+#include <assert.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <string.h>
+#include <stdarg.h>
+#include <unistd.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/pkcs11.h>
+
+#ifndef __attribute__
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
+#define __attribute__(Spec) /* empty */
+#endif
+#endif
+
+#ifdef NDEBUG
+#error tests cannot be compiled with NDEBUG defined
+#endif
+
+#ifndef FALLTHROUGH
+#if _GNUTLS_GCC_VERSION >= 70100
+#define FALLTHROUGH __attribute__((fallthrough))
+#else
+#define FALLTHROUGH
+#endif
+#endif
/* number of elements within an array */
-# define countof(a) (sizeof(a)/sizeof(*(a)))
+#define countof(a) (sizeof(a) / sizeof(*(a)))
inline static int global_init(void)
{
-# ifdef ENABLE_PKCS11
+#ifdef ENABLE_PKCS11
gnutls_pkcs11_init(GNUTLS_PKCS11_FLAG_MANUAL, NULL);
-# endif
+#endif
return gnutls_global_init();
}
@@ -71,22 +71,20 @@ extern const char *pkcs3;
extern const char *pkcs3_2048;
extern const char *pkcs3_3072;
-# define fail(format, ...) \
- _fail("%s:%d: "format, __func__, __LINE__, ##__VA_ARGS__)
+#define fail(format, ...) \
+ _fail("%s:%d: " format, __func__, __LINE__, ##__VA_ARGS__)
-extern void _fail(const char *format, ...)
- __attribute__((format(printf, 1, 2))) __attribute__((__noreturn__));
+extern void _fail(const char *format, ...) __attribute__((format(printf, 1, 2)))
+__attribute__((__noreturn__));
extern void fail_ignore(const char *format, ...)
- __attribute__((format(printf, 1, 2))) __attribute__((__noreturn__));
+ __attribute__((format(printf, 1, 2))) __attribute__((__noreturn__));
extern void success(const char *format, ...)
- __attribute__((format(printf, 1, 2)));
+ __attribute__((format(printf, 1, 2)));
/* assumes test_name is defined */
-# define test_fail(fmt, ...) \
- fail("%s: "fmt, test_name, ##__VA_ARGS__)
+#define test_fail(fmt, ...) fail("%s: " fmt, test_name, ##__VA_ARGS__)
-# define test_success(fmt, ...) \
- success("%s: "fmt, test_name, ##__VA_ARGS__)
+#define test_success(fmt, ...) success("%s: " fmt, test_name, ##__VA_ARGS__)
extern void c_print(const unsigned char *str, size_t len);
extern void escapeprint(const char *str, size_t len);
@@ -95,53 +93,46 @@ extern void binprint(const void *str, size_t len);
int disable_system_calls(void);
void sec_sleep(int sec);
-int
-test_cli_serv_anon(gnutls_anon_server_credentials_t server_cred,
- gnutls_anon_client_credentials_t client_cred,
- const char *prio);
+int test_cli_serv_anon(gnutls_anon_server_credentials_t server_cred,
+ gnutls_anon_client_credentials_t client_cred,
+ const char *prio);
-int
-test_cli_serv_psk(gnutls_psk_server_credentials_t server_cred,
- gnutls_psk_client_credentials_t client_cred,
- const char *prio);
+int test_cli_serv_psk(gnutls_psk_server_credentials_t server_cred,
+ gnutls_psk_client_credentials_t client_cred,
+ const char *prio);
typedef void callback_func(gnutls_session_t, void *priv);
void test_cli_serv(gnutls_certificate_credentials_t server_cred,
gnutls_certificate_credentials_t client_cred,
- const char *prio, const char *host,
- void *priv,
- callback_func * client_cb, callback_func * server_cb);
-
-int
-_test_cli_serv(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *serv_prio, const char *cli_prio,
- const char *host,
- void *priv, callback_func * client_cb, callback_func * server_cb,
- unsigned expect_verification_failure,
- unsigned require_cert, int serv_err, int cli_err);
+ const char *prio, const char *host, void *priv,
+ callback_func *client_cb, callback_func *server_cb);
-void print_dh_params_info(gnutls_session_t);
-
-void
-test_cli_serv_cert(gnutls_certificate_credentials_t server_cred,
+int _test_cli_serv(gnutls_certificate_credentials_t server_cred,
gnutls_certificate_credentials_t client_cred,
const char *serv_prio, const char *cli_prio,
- const char *host);
+ const char *host, void *priv, callback_func *client_cb,
+ callback_func *server_cb,
+ unsigned expect_verification_failure, unsigned require_cert,
+ int serv_err, int cli_err);
+
+void print_dh_params_info(gnutls_session_t);
+
+void test_cli_serv_cert(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *serv_prio, const char *cli_prio,
+ const char *host);
-void
-test_cli_serv_expect(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *serv_prio, const char *cli_prio,
- const char *host, int serv_err, int cli_err);
+void test_cli_serv_expect(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *serv_prio, const char *cli_prio,
+ const char *host, int serv_err, int cli_err);
/* verification failed */
-unsigned
-test_cli_serv_vf(gnutls_certificate_credentials_t server_cred,
- gnutls_certificate_credentials_t client_cred,
- const char *prio, const char *host);
+unsigned test_cli_serv_vf(gnutls_certificate_credentials_t server_cred,
+ gnutls_certificate_credentials_t client_cred,
+ const char *prio, const char *host);
-# define TMPNAME_SIZE 128
+#define TMPNAME_SIZE 128
char *get_tmpname(char s[TMPNAME_SIZE]);
void track_temp_files(void);
void delete_temp_files(void);
@@ -154,7 +145,7 @@ extern void doit(void);
/* calls fail() if status indicates an error */
inline static void _check_wait_status(int status, unsigned sigonly)
{
-# if defined WEXITSTATUS && defined WIFSIGNALED
+#if defined WEXITSTATUS && defined WIFSIGNALED
if (WEXITSTATUS(status) != 0 ||
(WIFSIGNALED(status) && WTERMSIG(status) != SIGTERM)) {
if (WIFSIGNALED(status)) {
@@ -168,7 +159,7 @@ inline static void _check_wait_status(int status, unsigned sigonly)
}
}
}
-# endif
+#endif
}
inline static void check_wait_status(int status)
@@ -211,8 +202,8 @@ inline static unsigned int get_dtls_retransmit_timeout(void)
return (unsigned int)ul;
}
-static inline const char
-*fips_operation_state_to_string(gnutls_fips140_operation_state_t state)
+static inline const char *
+fips_operation_state_to_string(gnutls_fips140_operation_state_t state)
{
switch (state) {
case GNUTLS_FIPS140_OP_INITIAL:
@@ -224,7 +215,7 @@ static inline const char
case GNUTLS_FIPS140_OP_ERROR:
return "ERROR";
default:
- /*NOTREACHED*/ assert(0);
+ /*NOTREACHED*/ assert(0);
return NULL;
}
}
@@ -264,7 +255,8 @@ fips_pop_context(gnutls_fips140_context_t context,
}
/* To use those convenient macros, define fips_context variable. */
-# define FIPS_PUSH_CONTEXT() fips_push_context(fips_context)
-# define FIPS_POP_CONTEXT(state) fips_pop_context(fips_context, GNUTLS_FIPS140_OP_ ## state)
+#define FIPS_PUSH_CONTEXT() fips_push_context(fips_context)
+#define FIPS_POP_CONTEXT(state) \
+ fips_pop_context(fips_context, GNUTLS_FIPS140_OP_##state)
-#endif /* GNUTLS_TESTS_UTILS_H */
+#endif /* GNUTLS_TESTS_UTILS_H */
diff --git a/tests/version-checks.c b/tests/version-checks.c
index 1ef1abaa9c..383b64e7b0 100644
--- a/tests/version-checks.c
+++ b/tests/version-checks.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -60,8 +60,8 @@ static void try(const char *client_prio, int expected)
unsigned dtls = 0;
const char *server_prio = "NORMAL:+VERS-TLS-ALL";
- if (expected >= GNUTLS_DTLS_VERSION_MIN
- && expected <= GNUTLS_DTLS_VERSION_MAX) {
+ if (expected >= GNUTLS_DTLS_VERSION_MIN &&
+ expected <= GNUTLS_DTLS_VERSION_MAX) {
dtls = 1;
/* we do not really do negotiation in that version */
if (expected == GNUTLS_DTLS0_9)
@@ -75,9 +75,8 @@ static void try(const char *client_prio, int expected)
/* Init server */
gnutls_certificate_allocate_credentials(&serverx509cred);
- gnutls_certificate_set_x509_key_mem(serverx509cred,
- &server_cert, &server_key,
- GNUTLS_X509_FMT_PEM);
+ gnutls_certificate_set_x509_key_mem(serverx509cred, &server_cert,
+ &server_key, GNUTLS_X509_FMT_PEM);
if (dtls)
flags |= (GNUTLS_DATAGRAM | GNUTLS_NONBLOCK);
@@ -98,9 +97,8 @@ static void try(const char *client_prio, int expected)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -135,7 +133,9 @@ static void try(const char *client_prio, int expected)
ret = gnutls_protocol_get_version(client);
if (ret != expected) {
- fail("unexpected negotiated protocol %s (expected %s)\n", gnutls_protocol_get_name(ret), gnutls_protocol_get_name(expected));
+ fail("unexpected negotiated protocol %s (expected %s)\n",
+ gnutls_protocol_get_name(ret),
+ gnutls_protocol_get_name(expected));
exit(1);
}
} else {
diff --git a/tests/virt-time.h b/tests/virt-time.h
index c7d4aada96..928737b825 100644
--- a/tests/virt-time.h
+++ b/tests/virt-time.h
@@ -20,20 +20,20 @@
*/
#ifndef GNUTLS_TESTS_VIRT_TIME_H
-# define GNUTLS_TESTS_VIRT_TIME_H
+#define GNUTLS_TESTS_VIRT_TIME_H
-# ifdef HAVE_CONFIG_H
-# include <config.h>
-# endif
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
-# include <time.h>
-# include <gnutls/gnutls.h>
+#include <time.h>
+#include <gnutls/gnutls.h>
/* copied from ../lib/system.h so not to include that header from
* every test program */
typedef void (*gnutls_gettime_func)(struct timespec *);
-extern void _gnutls_global_set_gettime_function(gnutls_gettime_func
- gettime_func);
+extern void
+_gnutls_global_set_gettime_function(gnutls_gettime_func gettime_func);
/* virtualize time in a test. This freezes the time in the test, except for
* the advances due to calls to virt_sleep_sec(). This makes the test
@@ -41,22 +41,24 @@ extern void _gnutls_global_set_gettime_function(gnutls_gettime_func
static time_t _now;
static struct timespec _now_ts;
-# define virt_sec_sleep(s) { \
- _now += s; \
+#define virt_sec_sleep(s) \
+ { \
+ _now += s; \
_now_ts.tv_sec += s; \
}
-# define virt_time_init_at(d) { \
- _now = (d); \
- gnutls_global_set_time_function(mytime); \
- _now_ts.tv_sec = _now; \
- _now_ts.tv_nsec = 0; \
+#define virt_time_init_at(d) \
+ { \
+ _now = (d); \
+ gnutls_global_set_time_function(mytime); \
+ _now_ts.tv_sec = _now; \
+ _now_ts.tv_nsec = 0; \
_gnutls_global_set_gettime_function(mygettime); \
}
-# define virt_time_init() virt_time_init_at(time(0))
+#define virt_time_init() virt_time_init_at(time(0))
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
if (t)
*t = _now;
@@ -70,4 +72,4 @@ static void mygettime(struct timespec *t)
*t = _now_ts;
}
-#endif /* GNUTLS_TESTS_VIRT_TIME_H */
+#endif /* GNUTLS_TESTS_VIRT_TIME_H */
diff --git a/tests/win-certopenstore.c b/tests/win-certopenstore.c
index 1dba3e63db..118982c6f4 100644
--- a/tests/win-certopenstore.c
+++ b/tests/win-certopenstore.c
@@ -25,11 +25,11 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#ifndef _WIN32
-# error "This test shouldn't have been included"
+#error "This test shouldn't have been included"
#endif
#include <windows.h>
diff --git a/tests/windows/cng-windows.c b/tests/windows/cng-windows.c
index 588f641d9e..9db5699195 100644
--- a/tests/windows/cng-windows.c
+++ b/tests/windows/cng-windows.c
@@ -25,12 +25,12 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#ifndef _WIN32
-# include <stdlib.h>
+#include <stdlib.h>
void doit(void)
{
@@ -39,21 +39,21 @@ void doit(void)
#else
-# include <windows.h>
-# include <wincrypt.h>
-# include <winbase.h>
-# include <ncrypt.h>
-# include <string.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/x509.h>
-# include <gnutls/abstract.h>
-# include <gnutls/system-keys.h>
-# include <gnutls/crypto.h>
-# include <stdio.h>
-# include <assert.h>
-# include <utils.h>
-# include "../cert-common.h"
-# include "ncrypt-int.h"
+#include <windows.h>
+#include <wincrypt.h>
+#include <winbase.h>
+#include <ncrypt.h>
+#include <string.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
+#include <gnutls/abstract.h>
+#include <gnutls/system-keys.h>
+#include <gnutls/crypto.h>
+#include <stdio.h>
+#include <assert.h>
+#include <utils.h>
+#include "../cert-common.h"
+#include "ncrypt-int.h"
static void tls_log_func(int level, const char *str)
{
@@ -62,34 +62,28 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha256_hash_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8"
- "\x3b\x2a\xc5\xb9\xe2\x9e\x1b\x16\x1e\x5c"
- "\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b" "\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8"
+ "\x3b\x2a\xc5\xb9\xe2\x9e\x1b\x16\x1e\x5c"
+ "\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b"
+ "\x98\x24",
32
};
const gnutls_datum_t md5sha1_hash_data = {
- (void *)
- "\x5d\x41\x40\x2a\xbc\x4b\x2a\x76\xb9\x71\x9d\x91\x10\x17\xc5\x92"
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\x5d\x41\x40\x2a\xbc\x4b\x2a\x76\xb9\x71\x9d\x91\x10\x17\xc5\x92"
+ "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
36
};
const gnutls_datum_t invalid_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
20
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
-static
-void test_sig(void)
+static void test_sig(void)
{
gnutls_pubkey_t pubkey;
gnutls_privkey_t privkey;
@@ -101,45 +95,40 @@ void test_sig(void)
assert_int_nequal(gnutls_privkey_init(&privkey), 0);
- assert_int_nequal(gnutls_privkey_import_url
- (privkey, "system:win:id=123456", 0), 0);
+ assert_int_nequal(gnutls_privkey_import_url(privkey,
+ "system:win:id=123456", 0),
+ 0);
- assert_int_nequal(gnutls_pubkey_import_x509_raw
- (pubkey, &cert_dat, GNUTLS_X509_FMT_PEM, 0), 0);
+ assert_int_nequal(gnutls_pubkey_import_x509_raw(pubkey, &cert_dat,
+ GNUTLS_X509_FMT_PEM, 0),
+ 0);
assert_int_nequal(gnutls_privkey_sign_hash(privkey, GNUTLS_DIG_SHA256,
0, &sha256_hash_data,
- &signature), 0);
+ &signature),
+ 0);
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- sign_algo, 0,
- &sha256_hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, sign_algo, 0,
+ &sha256_hash_data, &signature);
assert(ret >= 0);
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- sign_algo, 0,
- &invalid_hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, sign_algo, 0,
+ &invalid_hash_data, &signature);
assert(ret == GNUTLS_E_PK_SIG_VERIFY_FAILED);
gnutls_free(signature.data);
signature.data = NULL;
/* test the raw interface (MD5+SHA1)
*/
- ret =
- gnutls_privkey_sign_hash(privkey,
- 0,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- &md5sha1_hash_data, &signature);
+ ret = gnutls_privkey_sign_hash(privkey, 0,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
+ &md5sha1_hash_data, &signature);
assert(ret >= 0);
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- 0,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- &md5sha1_hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, 0,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
+ &md5sha1_hash_data, &signature);
assert(ret >= 0);
gnutls_free(signature.data);
@@ -147,23 +136,18 @@ void test_sig(void)
/* test the raw interface DigestInfo
*/
- ret =
- gnutls_encode_ber_digest_info(GNUTLS_DIG_SHA256, &sha256_hash_data,
- &digest_info);
+ ret = gnutls_encode_ber_digest_info(GNUTLS_DIG_SHA256,
+ &sha256_hash_data, &digest_info);
assert(ret >= 0);
- ret =
- gnutls_privkey_sign_hash(privkey,
- 0,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- &digest_info, &signature);
+ ret = gnutls_privkey_sign_hash(privkey, 0,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
+ &digest_info, &signature);
assert(ret >= 0);
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- 0,
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- &digest_info, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, 0,
+ GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
+ &digest_info, &signature);
assert(ret >= 0);
gnutls_free(signature.data);
diff --git a/tests/windows/crypt32.c b/tests/windows/crypt32.c
index c2296e2f0d..bd98fba23d 100644
--- a/tests/windows/crypt32.c
+++ b/tests/windows/crypt32.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#undef DECLSPEC_IMPORT
@@ -41,43 +41,39 @@
#include "ncrypt-int.h"
#include <utils.h>
-#define VALID_PTR (void*)0x0001
+#define VALID_PTR (void *)0x0001
/* This is dummy crypt32 replacement with stub functions. It pretends
* to load the key store and find a single certificate in the store
* of which it will return some arbitrary but valid values in CertGetCertificateContextProperty.
*/
-__declspec(dllexport)
-HCERTSTORE WINAPI CertOpenSystemStore(HCRYPTPROV_LEGACY hprov,
- LPCSTR szSubsystemProtocol)
+__declspec(dllexport) HCERTSTORE WINAPI
+ CertOpenSystemStore(HCRYPTPROV_LEGACY hprov, LPCSTR szSubsystemProtocol)
{
return VALID_PTR;
}
-__declspec(dllexport)
-HCERTSTORE WINAPI CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwEncodingType,
- HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags,
- const void *pvPara)
+__declspec(dllexport) HCERTSTORE WINAPI
+ CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwEncodingType,
+ HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags,
+ const void *pvPara)
{
return VALID_PTR;
}
-__declspec(dllexport)
-BOOL WINAPI CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
+__declspec(dllexport) BOOL WINAPI
+ CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
{
assert_int_nequal(hCertStore, VALID_PTR);
return 1;
}
-__declspec(dllexport)
-PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore,
- DWORD dwCertEncodingType,
- DWORD dwFindFlags,
- DWORD dwFindType,
- const void *pvFindPara,
- PCCERT_CONTEXT
- pPrevCertContext)
+__declspec(dllexport) PCCERT_CONTEXT WINAPI
+ CertFindCertificateInStore(HCERTSTORE hCertStore,
+ DWORD dwCertEncodingType, DWORD dwFindFlags,
+ DWORD dwFindType, const void *pvFindPara,
+ PCCERT_CONTEXT pPrevCertContext)
{
//CRYPT_HASH_BLOB *blob = (void*)pvFindPara;
@@ -89,10 +85,10 @@ PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore,
return VALID_PTR;
}
-__declspec(dllexport)
-BOOL WINAPI CertGetCertificateContextProperty(PCCERT_CONTEXT pCertContext,
- DWORD dwPropId, void *pvData,
- DWORD * pcbData)
+__declspec(dllexport) BOOL WINAPI
+ CertGetCertificateContextProperty(PCCERT_CONTEXT pCertContext,
+ DWORD dwPropId, void *pvData,
+ DWORD *pcbData)
{
if (dwPropId == CERT_FRIENDLY_NAME_PROP_ID) {
*pcbData = snprintf(pvData, *pcbData, "friendly");
@@ -125,95 +121,91 @@ BOOL WINAPI CertGetCertificateContextProperty(PCCERT_CONTEXT pCertContext,
return 0;
}
-__declspec(dllexport)
-PCCRL_CONTEXT WINAPI CertEnumCRLsInStore(HCERTSTORE hCertStore,
- PCCRL_CONTEXT pPrevCrlContext)
+__declspec(dllexport) PCCRL_CONTEXT WINAPI
+ CertEnumCRLsInStore(HCERTSTORE hCertStore,
+ PCCRL_CONTEXT pPrevCrlContext)
{
return NULL;
}
-__declspec(dllexport)
-BOOL WINAPI CertDeleteCertificateFromStore(PCCERT_CONTEXT pCertContext)
+__declspec(dllexport) BOOL WINAPI
+ CertDeleteCertificateFromStore(PCCERT_CONTEXT pCertContext)
{
return 1;
}
-__declspec(dllexport)
-HCERTSTORE WINAPI PFXImportCertStore(CRYPT_DATA_BLOB * pPFX, LPCWSTR szPassword,
- DWORD dwFlags)
+__declspec(dllexport) HCERTSTORE WINAPI
+ PFXImportCertStore(CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword,
+ DWORD dwFlags)
{
return NULL;
}
-__declspec(dllexport)
-PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore(HCERTSTORE hCertStore,
- PCCERT_CONTEXT
- pPrevCertContext)
+__declspec(dllexport) PCCERT_CONTEXT WINAPI
+ CertEnumCertificatesInStore(HCERTSTORE hCertStore,
+ PCCERT_CONTEXT pPrevCertContext)
{
return NULL;
}
-__declspec(dllexport)
-BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
+__declspec(dllexport) BOOL WINAPI
+ CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
{
return 1;
}
/* These are for CAPI, and are placeholders */
-__declspec(dllexport)
-BOOL WINAPI CryptGetProvParam(HCRYPTPROV hProv, DWORD dwParam,
- BYTE * pbData, DWORD * pdwDataLen, DWORD dwFlags)
+__declspec(dllexport) BOOL WINAPI
+ CryptGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,
+ DWORD *pdwDataLen, DWORD dwFlags)
{
return 0;
}
-__declspec(dllexport)
-BOOL WINAPI CryptAcquireContextW(HCRYPTPROV * phProv, LPCWSTR szContainer,
- LPCWSTR szProvider, DWORD dwProvType,
- DWORD dwFlags)
+__declspec(dllexport) BOOL WINAPI
+ CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR szContainer,
+ LPCWSTR szProvider, DWORD dwProvType,
+ DWORD dwFlags)
{
return 0;
}
-__declspec(dllexport)
-BOOL WINAPI CryptDecrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final,
- DWORD dwFlags, BYTE * pbData, DWORD * pdwDataLen)
+__declspec(dllexport) BOOL WINAPI
+ CryptDecrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final,
+ DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen)
{
return 0;
}
-__declspec(dllexport)
-BOOL WINAPI CryptDestroyHash(HCRYPTHASH hHash)
+__declspec(dllexport) BOOL WINAPI CryptDestroyHash(HCRYPTHASH hHash)
{
return 1;
}
-__declspec(dllexport)
-BOOL WINAPI CryptSignHash(HCRYPTHASH hHash,
- DWORD dwKeySpec,
- LPCTSTR sDescription,
- DWORD dwFlags, BYTE * pbSignature, DWORD * pdwSigLen)
+__declspec(dllexport) BOOL WINAPI
+ CryptSignHash(HCRYPTHASH hHash, DWORD dwKeySpec, LPCTSTR sDescription,
+ DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)
{
return 0;
}
-__declspec(dllexport)
-BOOL WINAPI CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam,
- BYTE * pbData, DWORD * pdwDataLen, DWORD dwFlags)
+__declspec(dllexport) BOOL WINAPI
+ CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData,
+ DWORD *pdwDataLen, DWORD dwFlags)
{
return 0;
}
-__declspec(dllexport)
-BOOL WINAPI CryptSetHashParam(HCRYPTHASH hHash, DWORD dwParam,
- const BYTE * pbData, DWORD dwFlags)
+__declspec(dllexport) BOOL WINAPI
+ CryptSetHashParam(HCRYPTHASH hHash, DWORD dwParam, const BYTE *pbData,
+ DWORD dwFlags)
{
return 0;
}
-__declspec(dllexport)
-BOOL WINAPI CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey,
- DWORD dwFlags, HCRYPTHASH * phHash)
+__declspec(dllexport) BOOL WINAPI
+ CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey,
+ DWORD dwFlags, HCRYPTHASH *phHash)
{
return 0;
}
diff --git a/tests/windows/ncrypt-int.h b/tests/windows/ncrypt-int.h
index a4762bd8cf..abe18d1e47 100644
--- a/tests/windows/ncrypt-int.h
+++ b/tests/windows/ncrypt-int.h
@@ -1 +1 @@
-#define assert_int_nequal(x,y) assert((x)==(y))
+#define assert_int_nequal(x, y) assert((x) == (y))
diff --git a/tests/windows/ncrypt.c b/tests/windows/ncrypt.c
index bc3e630305..b7d1690652 100644
--- a/tests/windows/ncrypt.c
+++ b/tests/windows/ncrypt.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <windows.h>
@@ -46,47 +46,43 @@
#define debug_func() fprintf(stderr, "%s: %d\n", __func__, __LINE__);
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptDeleteKey(NCRYPT_KEY_HANDLE hKey, DWORD dwFlags)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptDeleteKey(NCRYPT_KEY_HANDLE hKey, DWORD dwFlags)
{
debug_func();
return 0;
}
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptOpenStorageProvider(NCRYPT_PROV_HANDLE *
- phProvider,
- LPCWSTR pszProviderName,
- DWORD dwFlags)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptOpenStorageProvider(NCRYPT_PROV_HANDLE *phProvider,
+ LPCWSTR pszProviderName, DWORD dwFlags)
{
debug_func();
*phProvider = 0;
return 0x0000ffff;
}
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptOpenKey(NCRYPT_PROV_HANDLE hProvider,
- NCRYPT_KEY_HANDLE * phKey,
- LPCWSTR pszKeyName, DWORD dwLegacyKeySpec,
- DWORD dwFlags)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptOpenKey(NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey,
+ LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags)
{
gnutls_privkey_t p;
debug_func();
assert_int_nequal(gnutls_privkey_init(&p), 0);
- assert_int_nequal(gnutls_privkey_import_x509_raw
- (p, &key_dat, GNUTLS_X509_FMT_PEM, NULL, 0), 0);
+ assert_int_nequal(gnutls_privkey_import_x509_raw(
+ p, &key_dat, GNUTLS_X509_FMT_PEM, NULL, 0),
+ 0);
- *phKey = (NCRYPT_KEY_HANDLE) p;
+ *phKey = (NCRYPT_KEY_HANDLE)p;
return 1;
}
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptGetProperty(NCRYPT_HANDLE hObject,
- LPCWSTR pszProperty, PBYTE pbOutput,
- DWORD cbOutput, DWORD * pcbResult,
- DWORD dwFlags)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptGetProperty(NCRYPT_HANDLE hObject, LPCWSTR pszProperty,
+ PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult,
+ DWORD dwFlags)
{
debug_func();
//assert_int_nequal(pszProperty, NCRYPT_ALGORITHM_PROPERTY);
@@ -95,20 +91,19 @@ SECURITY_STATUS WINAPI NCryptGetProperty(NCRYPT_HANDLE hObject,
return 1;
}
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptFreeObject(NCRYPT_HANDLE hObject)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptFreeObject(NCRYPT_HANDLE hObject)
{
debug_func();
if (hObject != 0)
- gnutls_privkey_deinit((gnutls_privkey_t) hObject);
+ gnutls_privkey_deinit((gnutls_privkey_t)hObject);
return 1;
}
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptDecrypt(NCRYPT_KEY_HANDLE hKey, PBYTE pbInput,
- DWORD cbInput, VOID * pPaddingInfo,
- PBYTE pbOutput, DWORD cbOutput,
- DWORD * pcbResult, DWORD dwFlags)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptDecrypt(NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput,
+ VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput,
+ DWORD *pcbResult, DWORD dwFlags)
{
gnutls_datum_t c, p;
assert_int_nequal(dwFlags, NCRYPT_PAD_PKCS1_FLAG);
@@ -121,8 +116,9 @@ SECURITY_STATUS WINAPI NCryptDecrypt(NCRYPT_KEY_HANDLE hKey, PBYTE pbInput,
return 1;
}
- assert_int_nequal(gnutls_privkey_decrypt_data
- ((gnutls_privkey_t) hKey, 0, &c, &p), 0);
+ assert_int_nequal(gnutls_privkey_decrypt_data((gnutls_privkey_t)hKey, 0,
+ &c, &p),
+ 0);
*pcbResult = p.size;
memcpy(pbOutput, p.data, p.size);
@@ -131,7 +127,7 @@ SECURITY_STATUS WINAPI NCryptDecrypt(NCRYPT_KEY_HANDLE hKey, PBYTE pbInput,
return 1;
}
-static int StrCmpW(const WCHAR * str1, const WCHAR * str2)
+static int StrCmpW(const WCHAR *str1, const WCHAR *str2)
{
while (*str1 && (*str1 == *str2)) {
str1++;
@@ -140,28 +136,25 @@ static int StrCmpW(const WCHAR * str1, const WCHAR * str2)
return *str1 - *str2;
}
-__declspec(dllexport)
-SECURITY_STATUS WINAPI NCryptSignHash(NCRYPT_KEY_HANDLE hKey,
- VOID * pPaddingInfo, PBYTE pbHashValue,
- DWORD cbHashValue, PBYTE pbSignature,
- DWORD cbSignature, DWORD * pcbResult,
- DWORD dwFlags)
+__declspec(dllexport) SECURITY_STATUS WINAPI
+ NCryptSignHash(NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo,
+ PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature,
+ DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags)
{
BCRYPT_PKCS1_PADDING_INFO *info;
int hash = 0;
- gnutls_privkey_t p = (gnutls_privkey_t) hKey;
+ gnutls_privkey_t p = (gnutls_privkey_t)hKey;
gnutls_datum_t v = { pbHashValue, cbHashValue }, s;
debug_func();
info = pPaddingInfo;
if (info != NULL) {
- if (info->pszAlgId
- && StrCmpW(info->pszAlgId, NCRYPT_SHA1_ALGORITHM) == 0)
+ if (info->pszAlgId &&
+ StrCmpW(info->pszAlgId, NCRYPT_SHA1_ALGORITHM) == 0)
hash = GNUTLS_DIG_SHA1;
- else if (info->pszAlgId
- && StrCmpW(info->pszAlgId,
- NCRYPT_SHA256_ALGORITHM) == 0)
+ else if (info->pszAlgId &&
+ StrCmpW(info->pszAlgId, NCRYPT_SHA256_ALGORITHM) == 0)
hash = GNUTLS_DIG_SHA256;
else if (info->pszAlgId != NULL) {
assert(0);
@@ -176,9 +169,11 @@ SECURITY_STATUS WINAPI NCryptSignHash(NCRYPT_KEY_HANDLE hKey,
assert(p != NULL);
if (info == NULL || info->pszAlgId == NULL) {
- assert_int_nequal(gnutls_privkey_sign_hash
- (p, 0, GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, &v,
- &s), 0);
+ assert_int_nequal(gnutls_privkey_sign_hash(
+ p, 0,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, &v,
+ &s),
+ 0);
} else if (info != NULL) {
assert_int_nequal(gnutls_privkey_sign_hash(p, hash, 0, &v, &s),
0);
diff --git a/tests/x509-cert-callback-legacy.c b/tests/x509-cert-callback-legacy.c
index 0f761ce99b..c227840c6d 100644
--- a/tests/x509-cert-callback-legacy.c
+++ b/tests/x509-cert-callback-legacy.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,11 +44,10 @@ static void tls_log_func(int level, const char *str)
fprintf(stderr, "%s|<%d>| %s", side, level, str);
}
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, gnutls_retr2_st * st)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_retr2_st *st)
{
int ret;
gnutls_x509_crt_t *crts;
@@ -62,10 +61,9 @@ cert_callback(gnutls_session_t session,
st->cert_type = GNUTLS_CRT_X509;
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size, &cli_ca3_cert_chain,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &cli_ca3_cert_chain, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
fail("error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -77,8 +75,8 @@ cert_callback(gnutls_session_t session,
exit(1);
}
- ret =
- gnutls_x509_privkey_import(pkey, &cli_ca3_key, GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(pkey, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -93,11 +91,10 @@ cert_callback(gnutls_session_t session,
return 0;
}
-static int
-server_cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * pk_algos,
- int pk_algos_length, gnutls_retr2_st * st)
+static int server_cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length, gnutls_retr2_st *st)
{
int ret;
gnutls_x509_crt_t *crts;
@@ -106,11 +103,9 @@ server_cert_callback(gnutls_session_t session,
st->cert_type = GNUTLS_CRT_X509;
- ret =
- gnutls_x509_crt_list_import2(&crts, &crts_size,
- &server_ca3_cert_chain,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import2(
+ &crts, &crts_size, &server_ca3_cert_chain, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0) {
fail("error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -122,9 +117,8 @@ server_cert_callback(gnutls_session_t session,
exit(1);
}
- ret =
- gnutls_x509_privkey_import(pkey, &server_ca3_key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(pkey, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("error: %s\n", gnutls_strerror(ret));
exit(1);
@@ -179,9 +173,8 @@ static void start(const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -221,10 +214,9 @@ static void start(const char *prio)
}
gnutls_x509_crt_init(&crt);
- ret =
- gnutls_x509_crt_import(crt,
- &server_ca3_localhost_cert_chain,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt,
+ &server_ca3_localhost_cert_chain,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n",
gnutls_strerror(ret));
@@ -239,8 +231,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_deinit(crt);
- if (scert.size != mcert->size
- || memcmp(scert.data, mcert->data, mcert->size) != 0) {
+ if (scert.size != mcert->size ||
+ memcmp(scert.data, mcert->data, mcert->size) != 0) {
fail("gnutls_certificate_get_ours output doesn't match cert\n");
exit(1);
}
@@ -260,9 +252,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_init(&crt);
- ret =
- gnutls_x509_crt_import(crt, &cli_ca3_cert_chain,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &cli_ca3_cert_chain,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n",
gnutls_strerror(ret));
@@ -277,8 +268,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_deinit(crt);
- if (ccert.size != mcert->size
- || memcmp(ccert.data, mcert->data, mcert->size) != 0) {
+ if (ccert.size != mcert->size ||
+ memcmp(ccert.data, mcert->data, mcert->size) != 0) {
fail("gnutls_certificate_get_ours output doesn't match cert\n");
exit(1);
}
diff --git a/tests/x509-cert-callback-ocsp.c b/tests/x509-cert-callback-ocsp.c
index 4e862d3d5f..370a94f113 100644
--- a/tests/x509-cert-callback-ocsp.c
+++ b/tests/x509-cert-callback-ocsp.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -49,16 +49,16 @@ static gnutls_pcert_st *server_pcert = NULL;
static gnutls_ocsp_data_st ocspdata[2];
#define OCSP_SIZE 16
-#define OCSP_DATA "\xff\xff\xf0\xf0\xff\xff\xf0\xf0\xff\xff\xf0\xf0\xff\xff\xf0\xf0"
-
-static int
-server_cert_callback(gnutls_session_t session,
- const struct gnutls_cert_retr_st *info,
- gnutls_pcert_st ** pcert,
- unsigned int *pcert_length,
- gnutls_ocsp_data_st ** ocsp,
- unsigned int *ocsp_length,
- gnutls_privkey_t * pkey, unsigned int *flags)
+#define OCSP_DATA \
+ "\xff\xff\xf0\xf0\xff\xff\xf0\xf0\xff\xff\xf0\xf0\xff\xff\xf0\xf0"
+
+static int server_cert_callback(gnutls_session_t session,
+ const struct gnutls_cert_retr_st *info,
+ gnutls_pcert_st **pcert,
+ unsigned int *pcert_length,
+ gnutls_ocsp_data_st **ocsp,
+ unsigned int *ocsp_length,
+ gnutls_privkey_t *pkey, unsigned int *flags)
{
int ret;
gnutls_pcert_st *p;
@@ -79,9 +79,9 @@ server_cert_callback(gnutls_session_t session,
ocspdata[1].response.size = OCSP_SIZE;
ocspdata[1].exptime = 0;
- ret = gnutls_x509_crt_list_import2(&certs, &certs_size,
- &server_ca3_localhost_cert_chain,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(
+ &certs, &certs_size, &server_ca3_localhost_cert_chain,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0)
return -1;
ret = gnutls_pcert_import_x509_list(p, certs, &certs_size, 0);
@@ -95,10 +95,8 @@ server_cert_callback(gnutls_session_t session,
if (ret < 0)
return -1;
- ret =
- gnutls_privkey_import_x509_raw(lkey, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ lkey, &server_ca3_key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
return -1;
@@ -163,9 +161,8 @@ static void start(const char *prio)
gnutls_certificate_set_verify_flags(ccred,
GNUTLS_VERIFY_DISABLE_CRL_CHECKS);
- ret =
- gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(ccred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
diff --git a/tests/x509-cert-callback.c b/tests/x509-cert-callback.c
index 8baa22ba95..92ac6ab88a 100644
--- a/tests/x509-cert-callback.c
+++ b/tests/x509-cert-callback.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,12 +47,11 @@ static void tls_log_func(int level, const char *str)
static gnutls_privkey_t g_pkey = NULL;
static gnutls_pcert_st *g_pcert = NULL;
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
int ret;
gnutls_pcert_st *p;
@@ -86,10 +85,8 @@ cert_callback(gnutls_session_t session,
if (ret < 0)
return -1;
- ret =
- gnutls_privkey_import_x509_raw(lkey, &cli_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ lkey, &cli_ca3_key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
return -1;
@@ -102,7 +99,8 @@ cert_callback(gnutls_session_t session,
} else {
*pcert = g_pcert;
*pcert_length = 2;
- if (gnutls_certificate_client_get_request_status(session) == 0) {
+ if (gnutls_certificate_client_get_request_status(session) ==
+ 0) {
fail("gnutls_certificate_client_get_request_status failed\n");
return -1;
}
@@ -115,12 +113,12 @@ cert_callback(gnutls_session_t session,
static gnutls_privkey_t server_pkey = NULL;
static gnutls_pcert_st *server_pcert = NULL;
-static int
-server_cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int server_cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length,
+ gnutls_privkey_t *pkey)
{
int ret;
gnutls_pcert_st *p;
@@ -133,9 +131,9 @@ server_cert_callback(gnutls_session_t session,
if (p == NULL)
return -1;
- ret = gnutls_x509_crt_list_import2(&certs, &certs_size,
- &server_ca3_localhost_cert_chain,
- GNUTLS_X509_FMT_PEM, 0);
+ ret = gnutls_x509_crt_list_import2(
+ &certs, &certs_size, &server_ca3_localhost_cert_chain,
+ GNUTLS_X509_FMT_PEM, 0);
if (ret < 0)
return -1;
ret = gnutls_pcert_import_x509_list(p, certs, &certs_size, 0);
@@ -149,10 +147,8 @@ server_cert_callback(gnutls_session_t session,
if (ret < 0)
return -1;
- ret =
- gnutls_privkey_import_x509_raw(lkey, &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ lkey, &server_ca3_key, GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
return -1;
@@ -211,9 +207,8 @@ static void start(const char *prio)
if (ret < 0)
exit(1);
- ret =
- gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
exit(1);
@@ -254,9 +249,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_init(&crt);
- ret =
- gnutls_x509_crt_import(crt, &server_ca3_localhost_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &server_ca3_localhost_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n",
gnutls_strerror(ret));
@@ -271,8 +265,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_deinit(crt);
- if (scert.size != mcert->size
- || memcmp(scert.data, mcert->data, mcert->size) != 0) {
+ if (scert.size != mcert->size ||
+ memcmp(scert.data, mcert->data, mcert->size) != 0) {
fail("gnutls_certificate_get_ours output doesn't match cert\n");
exit(1);
}
@@ -292,9 +286,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_init(&crt);
- ret =
- gnutls_x509_crt_import(crt, &cli_ca3_cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &cli_ca3_cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0) {
fail("gnutls_x509_crt_import: %s\n",
gnutls_strerror(ret));
@@ -309,8 +302,8 @@ static void start(const char *prio)
}
gnutls_x509_crt_deinit(crt);
- if (ccert.size != mcert->size
- || memcmp(ccert.data, mcert->data, mcert->size) != 0) {
+ if (ccert.size != mcert->size ||
+ memcmp(ccert.data, mcert->data, mcert->size) != 0) {
fail("gnutls_certificate_get_ours output doesn't match cert\n");
exit(1);
}
diff --git a/tests/x509-dn-decode-compat.c b/tests/x509-dn-decode-compat.c
index 9d4d45bace..d6c554ee82 100644
--- a/tests/x509-dn-decode-compat.c
+++ b/tests/x509-dn-decode-compat.c
@@ -22,7 +22,7 @@
/* This checks the old low level DN encoding and decoding routines */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -35,7 +35,7 @@
static char buf[32 * 1024];
-static void decode(const char *test_name, const gnutls_datum_t * raw,
+static void decode(const char *test_name, const gnutls_datum_t *raw,
const char *expected, const char *expected_compat)
{
int ret;
@@ -48,15 +48,15 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (out.size != strlen(expected)) {
- test_fail
- ("The length of the output (%d) doesn't match the expected (%d)\n",
- (int)out.size, (int)strlen(expected));
+ test_fail(
+ "The length of the output (%d) doesn't match the expected (%d)\n",
+ (int)out.size, (int)strlen(expected));
}
if (memcmp(out.data, expected, out.size) != 0) {
- test_fail
- ("The string output (%s) doesn't match the expected (%s)\n",
- (char *)out.data, expected);
+ test_fail(
+ "The string output (%s) doesn't match the expected (%s)\n",
+ (char *)out.data, expected);
}
if (out.data[out.size] != 0) {
@@ -72,15 +72,15 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (out.size != strlen(expected_compat)) {
- test_fail
- ("The length of the output (%d) doesn't match the expected (%d)\n",
- (int)out.size, (int)strlen(expected_compat));
+ test_fail(
+ "The length of the output (%d) doesn't match the expected (%d)\n",
+ (int)out.size, (int)strlen(expected_compat));
}
if (memcmp(out.data, expected_compat, out.size) != 0) {
- test_fail
- ("The string output (%s) doesn't match the expected (%s)\n",
- (char *)out.data, expected_compat);
+ test_fail(
+ "The string output (%s) doesn't match the expected (%s)\n",
+ (char *)out.data, expected_compat);
}
if (out.data[out.size] != 0) {
@@ -99,15 +99,15 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
out.size = bsize;
if (out.size != strlen(expected_compat)) {
- test_fail
- ("The length of the output (%d) doesn't match the expected (%d)\n",
- (int)out.size, (int)strlen(expected_compat));
+ test_fail(
+ "The length of the output (%d) doesn't match the expected (%d)\n",
+ (int)out.size, (int)strlen(expected_compat));
}
if (memcmp(out.data, expected_compat, out.size) != 0) {
- test_fail
- ("The string output (%s) doesn't match the expected (%s)\n",
- (char *)out.data, expected_compat);
+ test_fail(
+ "The string output (%s) doesn't match the expected (%s)\n",
+ (char *)out.data, expected_compat);
}
if (out.data[out.size] != 0) {
@@ -121,48 +121,41 @@ struct tests_st {
const char *name;
gnutls_datum_t raw;
const char *str;
- const char *compat_str; /* GNUTLS_X509_DN_FLAG_COMPAT */
+ const char *compat_str; /* GNUTLS_X509_DN_FLAG_COMPAT */
unsigned can_encode;
};
struct tests_st tests[] = {
{
- .name = "simple DN",
- .str =
- "C=GR,ST=Attiki,O=Koko inc.,OU=sleeping dept.,UID=clauper,CN=Cindy Lauper",
- .compat_str =
- "CN=Cindy Lauper,UID=clauper,OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
- .raw = {(void *)
- "\x30\x7b\x31\x15\x30\x13\x06\x03\x55\x04\x03\x13\x0c\x43\x69\x6e\x64\x79\x20\x4c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x0a\x09\x92\x26\x89\x93\xf2\x2c\x64\x01\x01\x13\x07\x63\x6c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x03\x55\x04\x0b\x13\x0e\x73\x6c\x65\x65\x70\x69\x6e\x67\x20\x64\x65\x70\x74\x2e\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x4b\x6f\x6b\x6f\x20\x69\x6e\x63\x2e\x31\x0f\x30\x0d\x06\x03\x55\x04\x08\x13\x06\x41\x74\x74\x69\x6b\x69\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
- 125},
- },
+ .name = "simple DN",
+ .str = "C=GR,ST=Attiki,O=Koko inc.,OU=sleeping dept.,UID=clauper,CN=Cindy Lauper",
+ .compat_str =
+ "CN=Cindy Lauper,UID=clauper,OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
+ .raw = { (void *)"\x30\x7b\x31\x15\x30\x13\x06\x03\x55\x04\x03\x13\x0c\x43\x69\x6e\x64\x79\x20\x4c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x0a\x09\x92\x26\x89\x93\xf2\x2c\x64\x01\x01\x13\x07\x63\x6c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x03\x55\x04\x0b\x13\x0e\x73\x6c\x65\x65\x70\x69\x6e\x67\x20\x64\x65\x70\x74\x2e\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x4b\x6f\x6b\x6f\x20\x69\x6e\x63\x2e\x31\x0f\x30\x0d\x06\x03\x55\x04\x08\x13\x06\x41\x74\x74\x69\x6b\x69\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
+ 125 },
+ },
{
- .name = "UTF8 DN",
- .str = "C=GR,ST=Αττική,O=Μεγάλη εταιρία,CN=🐨",
- .compat_str =
- "CN=🐨,O=Μεγάλη εταιρία,ST=Αττική,C=GR",
- .raw = {(void *)
- "\x30\x59\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\xf0\x9f\x90\xa8\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x0c\x1b\xce\x9c\xce\xb5\xce\xb3\xce\xac\xce\xbb\xce\xb7\x20\xce\xb5\xcf\x84\xce\xb1\xce\xb9\xcf\x81\xce\xaf\xce\xb1\x31\x15\x30\x13\x06\x03\x55\x04\x08\x0c\x0c\xce\x91\xcf\x84\xcf\x84\xce\xb9\xce\xba\xce\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
- 91},
- },
+ .name = "UTF8 DN",
+ .str = "C=GR,ST=Αττική,O=Μεγάλη εταιρία,CN=🐨",
+ .compat_str = "CN=🐨,O=Μεγάλη εταιρία,ST=Αττική,C=GR",
+ .raw = { (void *)"\x30\x59\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\xf0\x9f\x90\xa8\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x0c\x1b\xce\x9c\xce\xb5\xce\xb3\xce\xac\xce\xbb\xce\xb7\x20\xce\xb5\xcf\x84\xce\xb1\xce\xb9\xcf\x81\xce\xaf\xce\xb1\x31\x15\x30\x13\x06\x03\x55\x04\x08\x0c\x0c\xce\x91\xcf\x84\xcf\x84\xce\xb9\xce\xba\xce\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
+ 91 },
+ },
{
- .name = "combo DN",
- .compat_str = "C=\\,\\ ,OU=\\ X\\ ,CN=\\#XXX",
- .str = "CN=\\#XXX,OU=\\ X\\ ,C=\\,\\ ",
- .raw = {(void *)
- "\x30\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x0b\x13\x04\x20\x20\x58\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\x23\x58\x58\x58",
- 45},
- },
+ .name = "combo DN",
+ .compat_str = "C=\\,\\ ,OU=\\ X\\ ,CN=\\#XXX",
+ .str = "CN=\\#XXX,OU=\\ X\\ ,C=\\,\\ ",
+ .raw = { (void *)"\x30\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x0b\x13\x04\x20\x20\x58\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\x23\x58\x58\x58",
+ 45 },
+ },
{
- .name = "very long DN",
- .compat_str =
- "C=ES,ST=CACERES,L=CACERES,O=DIPUTACION PROVINCIAL DE CACERES,OU=DIPUTACION PROVINCIAL DE CACERES,CN=www.dip-caceres.es,EMAIL=webmaster@dip-caceres.es,2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573",
- .str =
- "2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573,EMAIL=webmaster@dip-caceres.es,CN=www.dip-caceres.es,OU=DIPUTACION PROVINCIAL DE CACERES,O=DIPUTACION PROVINCIAL DE CACERES,L=CACERES,ST=CACERES,C=ES",
- .raw = {(void *)
- "\x30\x82\x31\x29\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0a\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0b\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x77\x77\x77\x2e\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x27\x30\x25\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x18\x77\x65\x62\x6d\x61\x73\x74\x65\x72\x40\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x82\x30\x58\x30\x82\x30\x54\x06\x03\x55\x1d\x11\x13\x82\x30\x4b\x44\x4e\x53\x2e\x31\x3d\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x3d\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x3d\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x3d\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x3d\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x3d\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x3d\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x3d\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x3d\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x3d\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x3d\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x3d\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x3d\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x3d\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x3d\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x3d\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x3d\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x3d\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x3d\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x3d\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x3d\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x3d\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x3d\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x3d\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x3d\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x3d\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x3d\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x3d\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x3d\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x3d\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x3d\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x3d\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x3d\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x3d\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x3d\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x3d\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x3d\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x3d\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x3d\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x3d\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x3d\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x3d\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x38\x3d\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x39\x3d\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x30\x3d\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x31\x3d\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x32\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x33\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x34\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x35\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x36\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x37\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x38\x3d\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x39\x3d\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x30\x3d\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x31\x3d\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x32\x3d\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x33\x3d\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x34\x3d\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x35\x3d\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x36\x3d\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x37\x3d\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x38\x3d\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x39\x3d\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x30\x3d\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x31\x3d\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x32\x3d\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x33\x3d\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x34\x3d\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x35\x3d\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x36\x3d\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x37\x3d\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x38\x3d\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x39\x3d\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x30\x3d\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x31\x3d\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x32\x3d\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x33\x3d\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x35\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x36\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x37\x3d\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x38\x3d\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x39\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x30\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x31\x3d\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x32\x3d\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x33\x3d\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x34\x3d\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x35\x3d\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x36\x3d\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x37\x3d\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x38\x3d\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x39\x3d\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x30\x3d\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x31\x3d\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x32\x3d\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x33\x3d\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x34\x3d\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x35\x3d\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x36\x3d\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x37\x3d\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x38\x3d\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x39\x3d\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x30\x3d\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x31\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x32\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x33\x3d\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x34\x3d\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x35\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x36\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x37\x3d\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x38\x3d\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x39\x3d\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x30\x3d\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x31\x3d\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x32\x3d\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x33\x3d\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x34\x3d\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x35\x3d\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x36\x3d\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x37\x3d\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x38\x3d\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x39\x3d\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x30\x3d\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x31\x3d\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x32\x3d\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x33\x3d\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x34\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x35\x3d\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x36\x3d\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x37\x3d\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x38\x3d\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x39\x3d\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x30\x3d\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x31\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x32\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x33\x3d\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x34\x3d\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x35\x3d\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x36\x3d\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x37\x3d\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x38\x3d\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x39\x3d\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x30\x3d\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x31\x3d\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x32\x3d\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x33\x3d\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x34\x3d\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x35\x3d\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x36\x3d\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x37\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x38\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x39\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x31\x36\x30\x3d\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x31\x3d\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x32\x3d\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x33\x3d\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x34\x3d\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x35\x3d\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x36\x3d\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x37\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x38\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x39\x3d\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x30\x3d\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x31\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x32\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x33\x3d\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x34\x3d\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x35\x3d\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x36\x3d\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x37\x3d\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x38\x3d\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x39\x3d\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x30\x3d\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x31\x3d\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x32\x3d\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x33\x3d\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x35\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x36\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x37\x3d\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x38\x3d\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x39\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x30\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x31\x3d\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x32\x3d\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x33\x3d\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x34\x3d\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x35\x3d\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x36\x3d\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x37\x3d\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x38\x3d\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x39\x3d\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x30\x3d\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x31\x3d\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x32\x3d\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x33\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x34\x3d\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x35\x3d\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x36\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x37\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x38\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x39\x3d\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x30\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x31\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x32\x3d\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x33\x3d\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x34\x3d\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x35\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x36\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x37\x3d\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x38\x3d\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x39\x3d\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x30\x3d\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x31\x3d\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x32\x3d\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x33\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x34\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x35\x3d\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x36\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x37\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x38\x3d\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x39\x3d\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x30\x3d\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x31\x3d\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x32\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x33\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x34\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x35\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x36\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x37\x3d\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x38\x3d\x77\x77\x77\x2e\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x39\x3d\x77\x77\x77\x2e\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x30\x3d\x77\x77\x77\x2e\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x31\x3d\x77\x77\x77\x2e\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x32\x3d\x77\x77\x77\x2e\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x33\x3d\x77\x77\x77\x2e\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x34\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x35\x3d\x77\x77\x77\x2e\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x36\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x37\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x38\x3d\x77\x77\x77\x2e\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x39\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x30\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x31\x3d\x77\x77\x77\x2e\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x32\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x33\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x34\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x35\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x36\x3d\x77\x77\x77\x2e\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x37\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x38\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x39\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x30\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x31\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x32\x3d\x77\x77\x77\x2e\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x33\x3d\x77\x77\x77\x2e\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x34\x3d\x77\x77\x77\x2e\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x35\x3d\x77\x77\x77\x2e\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x36\x3d\x77\x77\x77\x2e\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x37\x3d\x77\x77\x77\x2e\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x38\x3d\x77\x77\x77\x2e\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x39\x3d\x77\x77\x77\x2e\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x30\x3d\x77\x77\x77\x2e\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x31\x3d\x77\x77\x77\x2e\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x32\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x33\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x34\x3d\x77\x77\x77\x2e\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x35\x3d\x77\x77\x77\x2e\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x36\x3d\x77\x77\x77\x2e\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x37\x3d\x77\x77\x77\x2e\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x38\x3d\x77\x77\x77\x2e\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x39\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x30\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x31\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x32\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x33\x3d\x77\x77\x77\x2e\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x34\x3d\x77\x77\x77\x2e\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x35\x3d\x77\x77\x77\x2e\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x38\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x39\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x30\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x31\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x32\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x33\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x34\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x35\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x38\x3d\x77\x77\x77\x2e\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x39\x3d\x77\x77\x77\x2e\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x30\x3d\x77\x77\x77\x2e\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x31\x3d\x77\x77\x77\x2e\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x32\x3d\x77\x77\x77\x2e\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x33\x3d\x77\x77\x77\x2e\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x34\x3d\x77\x77\x77\x2e\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x35\x3d\x77\x77\x77\x2e\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x36\x3d\x77\x77\x77\x2e\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x37\x3d\x77\x77\x77\x2e\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x38\x3d\x77\x77\x77\x2e\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x39\x3d\x77\x77\x77\x2e\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x30\x3d\x77\x77\x77\x2e\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x31\x3d\x77\x77\x77\x2e\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x32\x3d\x77\x77\x77\x2e\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x33\x3d\x77\x77\x77\x2e\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x34\x3d\x77\x77\x77\x2e\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x35\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x36\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x37\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x38\x3d\x77\x77\x77\x2e\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x39\x3d\x77\x77\x77\x2e\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x30\x3d\x77\x77\x77\x2e\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x32\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x33\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x34\x3d\x77\x77\x77\x2e\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x35\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x36\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x37\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x38\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x39\x3d\x77\x77\x77\x2e\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x30\x3d\x77\x77\x77\x2e\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x31\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x32\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x33\x3d\x77\x77\x77\x2e\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x34\x3d\x77\x77\x77\x2e\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x35\x3d\x77\x77\x77\x2e\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x36\x3d\x77\x77\x77\x2e\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x37\x3d\x77\x77\x77\x2e\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x38\x3d\x77\x77\x77\x2e\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x39\x3d\x77\x77\x77\x2e\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x30\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x31\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x32\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x33\x3d\x77\x77\x77\x2e\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x34\x3d\x77\x77\x77\x2e\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x35\x3d\x77\x77\x77\x2e\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x36\x3d\x77\x77\x77\x2e\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x37\x3d\x77\x77\x77\x2e\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x38\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x39\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x30\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x34\x3d\x77\x77\x77\x2e\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x35\x3d\x77\x77\x77\x2e\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x36\x3d\x77\x77\x77\x2e\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x37\x3d\x77\x77\x77\x2e\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x38\x3d\x77\x77\x77\x2e\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x39\x3d\x77\x77\x77\x2e\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x30\x3d\x77\x77\x77\x2e\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x31\x3d\x77\x77\x77\x2e\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x32\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x33\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x34\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x35\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x36\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x37\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x38\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x39\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x30\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x31\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x32\x3d\x77\x77\x77\x2e\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x33\x3d\x77\x77\x77\x2e\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x34\x3d\x77\x77\x77\x2e\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x35\x3d\x77\x77\x77\x2e\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x36\x3d\x77\x77\x77\x2e\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x37\x3d\x77\x77\x77\x2e\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x38\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x39\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x30\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x31\x3d\x77\x77\x77\x2e\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x32\x3d\x77\x77\x77\x2e\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x33\x3d\x77\x77\x77\x2e\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x34\x3d\x77\x77\x77\x2e\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x35\x3d\x77\x77\x77\x2e\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x36\x3d\x77\x77\x77\x2e\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x37\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x38\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x39\x3d\x77\x77\x77\x2e\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x30\x3d\x77\x77\x77\x2e\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x31\x3d\x77\x77\x77\x2e\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x32\x3d\x77\x77\x77\x2e\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x33\x3d\x77\x77\x77\x2e\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x34\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x35\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x36\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x33\x39\x37\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x38\x3d\x77\x77\x77\x2e\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x39\x3d\x77\x77\x77\x2e\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x30\x3d\x77\x77\x77\x2e\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x31\x3d\x77\x77\x77\x2e\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x32\x3d\x77\x77\x77\x2e\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x33\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x34\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x35\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x36\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x37\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x38\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x39\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x30\x3d\x77\x77\x77\x2e\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x31\x3d\x77\x77\x77\x2e\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x32\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x33\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x34\x3d\x77\x77\x77\x2e\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x35\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x36\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x37\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x38\x3d\x77\x77\x77\x2e\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x32\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x33\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x34\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x35\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x36\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x37\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x38\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x31\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x35\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x36\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x37\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x39\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x30\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x31\x3d\x77\x77\x77\x2e\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x35\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x36\x3d\x77\x77\x77\x2e\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x37\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x38\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x39\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x30\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x31\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x32\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x33\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x35\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x36\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x37\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x38\x3d\x77\x77\x77\x2e\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x39\x3d\x77\x77\x77\x2e\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x30\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x31\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x32\x3d\x77\x77\x77\x2e\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x34\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x35\x3d\x77\x77\x77\x2e\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x36\x3d\x77\x77\x77\x2e\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x37\x3d\x77\x77\x77\x2e\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x39\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x30\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73",
- 12589},
- }
+ .name = "very long DN",
+ .compat_str =
+ "C=ES,ST=CACERES,L=CACERES,O=DIPUTACION PROVINCIAL DE CACERES,OU=DIPUTACION PROVINCIAL DE CACERES,CN=www.dip-caceres.es,EMAIL=webmaster@dip-caceres.es,2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573",
+ .str = "2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573,EMAIL=webmaster@dip-caceres.es,CN=www.dip-caceres.es,OU=DIPUTACION PROVINCIAL DE CACERES,O=DIPUTACION PROVINCIAL DE CACERES,L=CACERES,ST=CACERES,C=ES",
+ .raw = { (void *)"\x30\x82\x31\x29\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0a\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0b\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x77\x77\x77\x2e\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x27\x30\x25\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x18\x77\x65\x62\x6d\x61\x73\x74\x65\x72\x40\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x82\x30\x58\x30\x82\x30\x54\x06\x03\x55\x1d\x11\x13\x82\x30\x4b\x44\x4e\x53\x2e\x31\x3d\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x3d\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x3d\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x3d\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x3d\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x3d\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x3d\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x3d\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x3d\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x3d\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x3d\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x3d\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x3d\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x3d\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x3d\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x3d\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x3d\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x3d\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x3d\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x3d\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x3d\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x3d\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x3d\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x3d\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x3d\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x3d\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x3d\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x3d\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x3d\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x3d\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x3d\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x3d\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x3d\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x3d\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x3d\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x3d\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x3d\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x3d\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x3d\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x3d\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x3d\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x3d\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x38\x3d\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x39\x3d\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x30\x3d\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x31\x3d\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x32\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x33\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x34\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x35\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x36\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x37\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x38\x3d\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x39\x3d\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x30\x3d\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x31\x3d\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x32\x3d\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x33\x3d\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x34\x3d\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x35\x3d\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x36\x3d\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x37\x3d\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x38\x3d\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x39\x3d\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x30\x3d\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x31\x3d\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x32\x3d\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x33\x3d\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x34\x3d\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x35\x3d\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x36\x3d\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x37\x3d\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x38\x3d\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x39\x3d\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x30\x3d\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x31\x3d\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x32\x3d\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x33\x3d\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x35\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x36\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x37\x3d\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x38\x3d\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x39\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x30\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x31\x3d\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x32\x3d\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x33\x3d\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x34\x3d\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x35\x3d\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x36\x3d\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x37\x3d\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x38\x3d\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x39\x3d\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x30\x3d\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x31\x3d\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x32\x3d\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x33\x3d\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x34\x3d\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x35\x3d\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x36\x3d\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x37\x3d\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x38\x3d\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x39\x3d\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x30\x3d\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x31\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x32\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x33\x3d\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x34\x3d\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x35\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x36\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x37\x3d\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x38\x3d\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x39\x3d\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x30\x3d\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x31\x3d\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x32\x3d\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x33\x3d\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x34\x3d\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x35\x3d\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x36\x3d\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x37\x3d\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x38\x3d\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x39\x3d\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x30\x3d\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x31\x3d\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x32\x3d\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x33\x3d\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x34\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x35\x3d\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x36\x3d\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x37\x3d\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x38\x3d\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x39\x3d\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x30\x3d\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x31\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x32\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x33\x3d\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x34\x3d\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x35\x3d\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x36\x3d\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x37\x3d\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x38\x3d\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x39\x3d\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x30\x3d\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x31\x3d\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x32\x3d\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x33\x3d\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x34\x3d\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x35\x3d\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x36\x3d\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x37\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x38\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x39\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x31\x36\x30\x3d\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x31\x3d\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x32\x3d\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x33\x3d\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x34\x3d\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x35\x3d\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x36\x3d\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x37\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x38\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x39\x3d\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x30\x3d\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x31\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x32\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x33\x3d\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x34\x3d\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x35\x3d\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x36\x3d\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x37\x3d\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x38\x3d\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x39\x3d\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x30\x3d\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x31\x3d\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x32\x3d\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x33\x3d\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x35\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x36\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x37\x3d\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x38\x3d\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x39\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x30\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x31\x3d\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x32\x3d\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x33\x3d\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x34\x3d\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x35\x3d\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x36\x3d\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x37\x3d\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x38\x3d\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x39\x3d\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x30\x3d\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x31\x3d\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x32\x3d\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x33\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x34\x3d\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x35\x3d\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x36\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x37\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x38\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x39\x3d\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x30\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x31\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x32\x3d\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x33\x3d\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x34\x3d\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x35\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x36\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x37\x3d\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x38\x3d\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x39\x3d\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x30\x3d\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x31\x3d\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x32\x3d\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x33\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x34\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x35\x3d\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x36\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x37\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x38\x3d\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x39\x3d\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x30\x3d\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x31\x3d\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x32\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x33\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x34\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x35\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x36\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x37\x3d\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x38\x3d\x77\x77\x77\x2e\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x39\x3d\x77\x77\x77\x2e\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x30\x3d\x77\x77\x77\x2e\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x31\x3d\x77\x77\x77\x2e\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x32\x3d\x77\x77\x77\x2e\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x33\x3d\x77\x77\x77\x2e\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x34\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x35\x3d\x77\x77\x77\x2e\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x36\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x37\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x38\x3d\x77\x77\x77\x2e\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x39\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x30\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x31\x3d\x77\x77\x77\x2e\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x32\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x33\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x34\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x35\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x36\x3d\x77\x77\x77\x2e\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x37\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x38\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x39\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x30\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x31\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x32\x3d\x77\x77\x77\x2e\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x33\x3d\x77\x77\x77\x2e\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x34\x3d\x77\x77\x77\x2e\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x35\x3d\x77\x77\x77\x2e\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x36\x3d\x77\x77\x77\x2e\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x37\x3d\x77\x77\x77\x2e\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x38\x3d\x77\x77\x77\x2e\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x39\x3d\x77\x77\x77\x2e\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x30\x3d\x77\x77\x77\x2e\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x31\x3d\x77\x77\x77\x2e\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x32\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x33\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x34\x3d\x77\x77\x77\x2e\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x35\x3d\x77\x77\x77\x2e\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x36\x3d\x77\x77\x77\x2e\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x37\x3d\x77\x77\x77\x2e\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x38\x3d\x77\x77\x77\x2e\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x39\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x30\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x31\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x32\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x33\x3d\x77\x77\x77\x2e\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x34\x3d\x77\x77\x77\x2e\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x35\x3d\x77\x77\x77\x2e\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x38\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x39\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x30\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x31\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x32\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x33\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x34\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x35\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x38\x3d\x77\x77\x77\x2e\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x39\x3d\x77\x77\x77\x2e\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x30\x3d\x77\x77\x77\x2e\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x31\x3d\x77\x77\x77\x2e\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x32\x3d\x77\x77\x77\x2e\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x33\x3d\x77\x77\x77\x2e\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x34\x3d\x77\x77\x77\x2e\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x35\x3d\x77\x77\x77\x2e\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x36\x3d\x77\x77\x77\x2e\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x37\x3d\x77\x77\x77\x2e\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x38\x3d\x77\x77\x77\x2e\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x39\x3d\x77\x77\x77\x2e\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x30\x3d\x77\x77\x77\x2e\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x31\x3d\x77\x77\x77\x2e\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x32\x3d\x77\x77\x77\x2e\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x33\x3d\x77\x77\x77\x2e\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x34\x3d\x77\x77\x77\x2e\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x35\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x36\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x37\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x38\x3d\x77\x77\x77\x2e\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x39\x3d\x77\x77\x77\x2e\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x30\x3d\x77\x77\x77\x2e\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x32\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x33\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x34\x3d\x77\x77\x77\x2e\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x35\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x36\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x37\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x38\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x39\x3d\x77\x77\x77\x2e\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x30\x3d\x77\x77\x77\x2e\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x31\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x32\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x33\x3d\x77\x77\x77\x2e\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x34\x3d\x77\x77\x77\x2e\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x35\x3d\x77\x77\x77\x2e\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x36\x3d\x77\x77\x77\x2e\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x37\x3d\x77\x77\x77\x2e\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x38\x3d\x77\x77\x77\x2e\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x39\x3d\x77\x77\x77\x2e\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x30\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x31\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x32\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x33\x3d\x77\x77\x77\x2e\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x34\x3d\x77\x77\x77\x2e\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x35\x3d\x77\x77\x77\x2e\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x36\x3d\x77\x77\x77\x2e\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x37\x3d\x77\x77\x77\x2e\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x38\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x39\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x30\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x34\x3d\x77\x77\x77\x2e\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x35\x3d\x77\x77\x77\x2e\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x36\x3d\x77\x77\x77\x2e\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x37\x3d\x77\x77\x77\x2e\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x38\x3d\x77\x77\x77\x2e\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x39\x3d\x77\x77\x77\x2e\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x30\x3d\x77\x77\x77\x2e\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x31\x3d\x77\x77\x77\x2e\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x32\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x33\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x34\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x35\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x36\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x37\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x38\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x39\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x30\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x31\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x32\x3d\x77\x77\x77\x2e\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x33\x3d\x77\x77\x77\x2e\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x34\x3d\x77\x77\x77\x2e\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x35\x3d\x77\x77\x77\x2e\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x36\x3d\x77\x77\x77\x2e\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x37\x3d\x77\x77\x77\x2e\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x38\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x39\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x30\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x31\x3d\x77\x77\x77\x2e\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x32\x3d\x77\x77\x77\x2e\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x33\x3d\x77\x77\x77\x2e\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x34\x3d\x77\x77\x77\x2e\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x35\x3d\x77\x77\x77\x2e\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x36\x3d\x77\x77\x77\x2e\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x37\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x38\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x39\x3d\x77\x77\x77\x2e\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x30\x3d\x77\x77\x77\x2e\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x31\x3d\x77\x77\x77\x2e\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x32\x3d\x77\x77\x77\x2e\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x33\x3d\x77\x77\x77\x2e\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x34\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x35\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x36\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x33\x39\x37\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x38\x3d\x77\x77\x77\x2e\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x39\x3d\x77\x77\x77\x2e\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x30\x3d\x77\x77\x77\x2e\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x31\x3d\x77\x77\x77\x2e\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x32\x3d\x77\x77\x77\x2e\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x33\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x34\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x35\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x36\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x37\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x38\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x39\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x30\x3d\x77\x77\x77\x2e\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x31\x3d\x77\x77\x77\x2e\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x32\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x33\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x34\x3d\x77\x77\x77\x2e\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x35\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x36\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x37\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x38\x3d\x77\x77\x77\x2e\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x32\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x33\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x34\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x35\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x36\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x37\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x38\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x31\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x35\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x36\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x37\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x39\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x30\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x31\x3d\x77\x77\x77\x2e\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x35\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x36\x3d\x77\x77\x77\x2e\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x37\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x38\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x39\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x30\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x31\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x32\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x33\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x35\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x36\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x37\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x38\x3d\x77\x77\x77\x2e\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x39\x3d\x77\x77\x77\x2e\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x30\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x31\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x32\x3d\x77\x77\x77\x2e\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x34\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x35\x3d\x77\x77\x77\x2e\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x36\x3d\x77\x77\x77\x2e\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x37\x3d\x77\x77\x77\x2e\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x39\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x30\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73",
+ 12589 },
+ }
};
void doit(void)
diff --git a/tests/x509-dn-decode.c b/tests/x509-dn-decode.c
index 18ac58f593..31ebcc4ee0 100644
--- a/tests/x509-dn-decode.c
+++ b/tests/x509-dn-decode.c
@@ -22,7 +22,7 @@
/* This checks the low level DN encoding and decoding routines */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -33,7 +33,7 @@
#include "utils.h"
-static void decode(const char *test_name, const gnutls_datum_t * raw,
+static void decode(const char *test_name, const gnutls_datum_t *raw,
const char *expected, const char *expected_compat)
{
int ret;
@@ -56,15 +56,15 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (out.size != strlen(expected)) {
- test_fail
- ("The length of the output (%d) doesn't match the expected (%d)\n",
- (int)out.size, (int)strlen(expected));
+ test_fail(
+ "The length of the output (%d) doesn't match the expected (%d)\n",
+ (int)out.size, (int)strlen(expected));
}
if (memcmp(out.data, expected, out.size) != 0) {
- test_fail
- ("The string output (%s) doesn't match the expected (%s)\n",
- (char *)out.data, expected);
+ test_fail(
+ "The string output (%s) doesn't match the expected (%s)\n",
+ (char *)out.data, expected);
}
if (out.data[out.size] != 0) {
@@ -80,15 +80,15 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
}
if (out.size != strlen(expected_compat)) {
- test_fail
- ("The length of the output (%d) doesn't match the expected (%d)\n",
- (int)out.size, (int)strlen(expected_compat));
+ test_fail(
+ "The length of the output (%d) doesn't match the expected (%d)\n",
+ (int)out.size, (int)strlen(expected_compat));
}
if (memcmp(out.data, expected_compat, out.size) != 0) {
- test_fail
- ("The string output (%s) doesn't match the expected (%s)\n",
- (char *)out.data, expected_compat);
+ test_fail(
+ "The string output (%s) doesn't match the expected (%s)\n",
+ (char *)out.data, expected_compat);
}
if (out.data[out.size] != 0) {
@@ -101,7 +101,7 @@ static void decode(const char *test_name, const gnutls_datum_t * raw,
return;
}
-static void encode(const char *test_name, const gnutls_datum_t * raw,
+static void encode(const char *test_name, const gnutls_datum_t *raw,
const char *str, int exp_error)
{
int ret;
@@ -145,9 +145,9 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
(unsigned)out.data[i]);
fprintf(stderr, "\n");
}
- test_fail
- ("The length of the output (%d) doesn't match the expected (%d)\n",
- (int)out.size, (int)raw->size);
+ test_fail(
+ "The length of the output (%d) doesn't match the expected (%d)\n",
+ (int)out.size, (int)raw->size);
}
if (memcmp(out.data, raw->data, out.size) != 0) {
@@ -163,7 +163,7 @@ static void encode(const char *test_name, const gnutls_datum_t * raw,
}
gnutls_free(out.data);
- cleanup:
+cleanup:
gnutls_x509_dn_deinit(dn);
return;
@@ -173,48 +173,37 @@ struct tests_st {
const char *name;
gnutls_datum_t raw;
const char *str;
- const char *compat_str; /* GNUTLS_X509_DN_FLAG_COMPAT */
+ const char *compat_str; /* GNUTLS_X509_DN_FLAG_COMPAT */
unsigned can_encode;
};
struct tests_st tests[] = {
- {
- .name = "simple DN",
- .str =
- "C=GR,ST=Attiki,O=Koko inc.,OU=sleeping dept.,UID=clauper,CN=Cindy Lauper",
- .compat_str =
- "CN=Cindy Lauper,UID=clauper,OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
- .raw = {(void *)
- "\x30\x7b\x31\x15\x30\x13\x06\x03\x55\x04\x03\x13\x0c\x43\x69\x6e\x64\x79\x20\x4c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x0a\x09\x92\x26\x89\x93\xf2\x2c\x64\x01\x01\x13\x07\x63\x6c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x03\x55\x04\x0b\x13\x0e\x73\x6c\x65\x65\x70\x69\x6e\x67\x20\x64\x65\x70\x74\x2e\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x4b\x6f\x6b\x6f\x20\x69\x6e\x63\x2e\x31\x0f\x30\x0d\x06\x03\x55\x04\x08\x13\x06\x41\x74\x74\x69\x6b\x69\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
- 125},
- .can_encode = 1},
- {
- .name = "UTF8 DN",
- .str = "C=GR,ST=Αττική,O=Μεγάλη εταιρία,CN=🐨",
- .compat_str =
- "CN=🐨,O=Μεγάλη εταιρία,ST=Αττική,C=GR",
- .raw = {(void *)
- "\x30\x59\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\xf0\x9f\x90\xa8\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x0c\x1b\xce\x9c\xce\xb5\xce\xb3\xce\xac\xce\xbb\xce\xb7\x20\xce\xb5\xcf\x84\xce\xb1\xce\xb9\xcf\x81\xce\xaf\xce\xb1\x31\x15\x30\x13\x06\x03\x55\x04\x08\x0c\x0c\xce\x91\xcf\x84\xcf\x84\xce\xb9\xce\xba\xce\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
- 91},
- .can_encode = 1},
- {
- .name = "combo DN",
- .compat_str = "C=\\,\\ ,OU=\\ X\\ ,CN=\\#XXX",
- .str = "CN=\\#XXX,OU=\\ X\\ ,C=\\,\\ ",
- .raw = {(void *)
- "\x30\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x0b\x13\x04\x20\x20\x58\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\x23\x58\x58\x58",
- 45},
- .can_encode = 1},
- {
- .name = "very long DN",
- .compat_str =
- "C=ES,ST=CACERES,L=CACERES,O=DIPUTACION PROVINCIAL DE CACERES,OU=DIPUTACION PROVINCIAL DE CACERES,CN=www.dip-caceres.es,EMAIL=webmaster@dip-caceres.es,2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573",
- .str =
- "2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573,EMAIL=webmaster@dip-caceres.es,CN=www.dip-caceres.es,OU=DIPUTACION PROVINCIAL DE CACERES,O=DIPUTACION PROVINCIAL DE CACERES,L=CACERES,ST=CACERES,C=ES",
- .raw = {(void *)
- "\x30\x82\x31\x29\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0a\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0b\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x77\x77\x77\x2e\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x27\x30\x25\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x18\x77\x65\x62\x6d\x61\x73\x74\x65\x72\x40\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x82\x30\x58\x30\x82\x30\x54\x06\x03\x55\x1d\x11\x13\x82\x30\x4b\x44\x4e\x53\x2e\x31\x3d\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x3d\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x3d\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x3d\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x3d\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x3d\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x3d\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x3d\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x3d\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x3d\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x3d\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x3d\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x3d\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x3d\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x3d\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x3d\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x3d\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x3d\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x3d\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x3d\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x3d\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x3d\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x3d\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x3d\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x3d\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x3d\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x3d\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x3d\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x3d\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x3d\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x3d\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x3d\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x3d\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x3d\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x3d\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x3d\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x3d\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x3d\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x3d\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x3d\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x3d\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x3d\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x38\x3d\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x39\x3d\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x30\x3d\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x31\x3d\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x32\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x33\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x34\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x35\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x36\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x37\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x38\x3d\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x39\x3d\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x30\x3d\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x31\x3d\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x32\x3d\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x33\x3d\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x34\x3d\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x35\x3d\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x36\x3d\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x37\x3d\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x38\x3d\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x39\x3d\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x30\x3d\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x31\x3d\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x32\x3d\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x33\x3d\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x34\x3d\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x35\x3d\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x36\x3d\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x37\x3d\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x38\x3d\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x39\x3d\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x30\x3d\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x31\x3d\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x32\x3d\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x33\x3d\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x35\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x36\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x37\x3d\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x38\x3d\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x39\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x30\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x31\x3d\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x32\x3d\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x33\x3d\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x34\x3d\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x35\x3d\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x36\x3d\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x37\x3d\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x38\x3d\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x39\x3d\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x30\x3d\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x31\x3d\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x32\x3d\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x33\x3d\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x34\x3d\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x35\x3d\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x36\x3d\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x37\x3d\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x38\x3d\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x39\x3d\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x30\x3d\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x31\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x32\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x33\x3d\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x34\x3d\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x35\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x36\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x37\x3d\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x38\x3d\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x39\x3d\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x30\x3d\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x31\x3d\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x32\x3d\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x33\x3d\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x34\x3d\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x35\x3d\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x36\x3d\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x37\x3d\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x38\x3d\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x39\x3d\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x30\x3d\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x31\x3d\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x32\x3d\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x33\x3d\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x34\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x35\x3d\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x36\x3d\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x37\x3d\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x38\x3d\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x39\x3d\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x30\x3d\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x31\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x32\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x33\x3d\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x34\x3d\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x35\x3d\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x36\x3d\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x37\x3d\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x38\x3d\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x39\x3d\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x30\x3d\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x31\x3d\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x32\x3d\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x33\x3d\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x34\x3d\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x35\x3d\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x36\x3d\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x37\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x38\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x39\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x31\x36\x30\x3d\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x31\x3d\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x32\x3d\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x33\x3d\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x34\x3d\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x35\x3d\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x36\x3d\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x37\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x38\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x39\x3d\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x30\x3d\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x31\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x32\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x33\x3d\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x34\x3d\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x35\x3d\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x36\x3d\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x37\x3d\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x38\x3d\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x39\x3d\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x30\x3d\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x31\x3d\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x32\x3d\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x33\x3d\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x35\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x36\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x37\x3d\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x38\x3d\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x39\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x30\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x31\x3d\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x32\x3d\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x33\x3d\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x34\x3d\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x35\x3d\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x36\x3d\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x37\x3d\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x38\x3d\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x39\x3d\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x30\x3d\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x31\x3d\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x32\x3d\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x33\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x34\x3d\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x35\x3d\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x36\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x37\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x38\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x39\x3d\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x30\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x31\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x32\x3d\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x33\x3d\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x34\x3d\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x35\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x36\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x37\x3d\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x38\x3d\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x39\x3d\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x30\x3d\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x31\x3d\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x32\x3d\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x33\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x34\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x35\x3d\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x36\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x37\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x38\x3d\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x39\x3d\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x30\x3d\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x31\x3d\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x32\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x33\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x34\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x35\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x36\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x37\x3d\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x38\x3d\x77\x77\x77\x2e\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x39\x3d\x77\x77\x77\x2e\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x30\x3d\x77\x77\x77\x2e\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x31\x3d\x77\x77\x77\x2e\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x32\x3d\x77\x77\x77\x2e\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x33\x3d\x77\x77\x77\x2e\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x34\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x35\x3d\x77\x77\x77\x2e\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x36\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x37\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x38\x3d\x77\x77\x77\x2e\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x39\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x30\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x31\x3d\x77\x77\x77\x2e\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x32\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x33\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x34\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x35\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x36\x3d\x77\x77\x77\x2e\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x37\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x38\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x39\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x30\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x31\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x32\x3d\x77\x77\x77\x2e\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x33\x3d\x77\x77\x77\x2e\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x34\x3d\x77\x77\x77\x2e\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x35\x3d\x77\x77\x77\x2e\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x36\x3d\x77\x77\x77\x2e\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x37\x3d\x77\x77\x77\x2e\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x38\x3d\x77\x77\x77\x2e\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x39\x3d\x77\x77\x77\x2e\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x30\x3d\x77\x77\x77\x2e\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x31\x3d\x77\x77\x77\x2e\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x32\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x33\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x34\x3d\x77\x77\x77\x2e\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x35\x3d\x77\x77\x77\x2e\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x36\x3d\x77\x77\x77\x2e\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x37\x3d\x77\x77\x77\x2e\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x38\x3d\x77\x77\x77\x2e\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x39\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x30\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x31\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x32\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x33\x3d\x77\x77\x77\x2e\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x34\x3d\x77\x77\x77\x2e\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x35\x3d\x77\x77\x77\x2e\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x38\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x39\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x30\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x31\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x32\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x33\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x34\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x35\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x38\x3d\x77\x77\x77\x2e\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x39\x3d\x77\x77\x77\x2e\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x30\x3d\x77\x77\x77\x2e\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x31\x3d\x77\x77\x77\x2e\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x32\x3d\x77\x77\x77\x2e\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x33\x3d\x77\x77\x77\x2e\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x34\x3d\x77\x77\x77\x2e\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x35\x3d\x77\x77\x77\x2e\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x36\x3d\x77\x77\x77\x2e\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x37\x3d\x77\x77\x77\x2e\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x38\x3d\x77\x77\x77\x2e\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x39\x3d\x77\x77\x77\x2e\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x30\x3d\x77\x77\x77\x2e\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x31\x3d\x77\x77\x77\x2e\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x32\x3d\x77\x77\x77\x2e\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x33\x3d\x77\x77\x77\x2e\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x34\x3d\x77\x77\x77\x2e\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x35\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x36\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x37\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x38\x3d\x77\x77\x77\x2e\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x39\x3d\x77\x77\x77\x2e\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x30\x3d\x77\x77\x77\x2e\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x32\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x33\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x34\x3d\x77\x77\x77\x2e\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x35\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x36\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x37\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x38\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x39\x3d\x77\x77\x77\x2e\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x30\x3d\x77\x77\x77\x2e\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x31\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x32\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x33\x3d\x77\x77\x77\x2e\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x34\x3d\x77\x77\x77\x2e\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x35\x3d\x77\x77\x77\x2e\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x36\x3d\x77\x77\x77\x2e\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x37\x3d\x77\x77\x77\x2e\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x38\x3d\x77\x77\x77\x2e\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x39\x3d\x77\x77\x77\x2e\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x30\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x31\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x32\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x33\x3d\x77\x77\x77\x2e\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x34\x3d\x77\x77\x77\x2e\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x35\x3d\x77\x77\x77\x2e\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x36\x3d\x77\x77\x77\x2e\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x37\x3d\x77\x77\x77\x2e\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x38\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x39\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x30\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x34\x3d\x77\x77\x77\x2e\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x35\x3d\x77\x77\x77\x2e\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x36\x3d\x77\x77\x77\x2e\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x37\x3d\x77\x77\x77\x2e\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x38\x3d\x77\x77\x77\x2e\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x39\x3d\x77\x77\x77\x2e\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x30\x3d\x77\x77\x77\x2e\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x31\x3d\x77\x77\x77\x2e\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x32\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x33\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x34\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x35\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x36\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x37\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x38\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x39\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x30\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x31\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x32\x3d\x77\x77\x77\x2e\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x33\x3d\x77\x77\x77\x2e\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x34\x3d\x77\x77\x77\x2e\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x35\x3d\x77\x77\x77\x2e\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x36\x3d\x77\x77\x77\x2e\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x37\x3d\x77\x77\x77\x2e\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x38\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x39\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x30\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x31\x3d\x77\x77\x77\x2e\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x32\x3d\x77\x77\x77\x2e\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x33\x3d\x77\x77\x77\x2e\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x34\x3d\x77\x77\x77\x2e\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x35\x3d\x77\x77\x77\x2e\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x36\x3d\x77\x77\x77\x2e\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x37\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x38\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x39\x3d\x77\x77\x77\x2e\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x30\x3d\x77\x77\x77\x2e\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x31\x3d\x77\x77\x77\x2e\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x32\x3d\x77\x77\x77\x2e\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x33\x3d\x77\x77\x77\x2e\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x34\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x35\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x36\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x33\x39\x37\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x38\x3d\x77\x77\x77\x2e\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x39\x3d\x77\x77\x77\x2e\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x30\x3d\x77\x77\x77\x2e\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x31\x3d\x77\x77\x77\x2e\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x32\x3d\x77\x77\x77\x2e\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x33\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x34\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x35\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x36\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x37\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x38\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x39\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x30\x3d\x77\x77\x77\x2e\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x31\x3d\x77\x77\x77\x2e\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x32\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x33\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x34\x3d\x77\x77\x77\x2e\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x35\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x36\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x37\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x38\x3d\x77\x77\x77\x2e\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x32\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x33\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x34\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x35\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x36\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x37\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x38\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x31\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x35\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x36\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x37\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x39\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x30\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x31\x3d\x77\x77\x77\x2e\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x35\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x36\x3d\x77\x77\x77\x2e\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x37\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x38\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x39\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x30\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x31\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x32\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x33\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x35\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x36\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x37\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x38\x3d\x77\x77\x77\x2e\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x39\x3d\x77\x77\x77\x2e\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x30\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x31\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x32\x3d\x77\x77\x77\x2e\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x34\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x35\x3d\x77\x77\x77\x2e\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x36\x3d\x77\x77\x77\x2e\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x37\x3d\x77\x77\x77\x2e\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x39\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x30\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73",
- 12589},
- .can_encode = 1}
+ { .name = "simple DN",
+ .str = "C=GR,ST=Attiki,O=Koko inc.,OU=sleeping dept.,UID=clauper,CN=Cindy Lauper",
+ .compat_str =
+ "CN=Cindy Lauper,UID=clauper,OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
+ .raw = { (void *)"\x30\x7b\x31\x15\x30\x13\x06\x03\x55\x04\x03\x13\x0c\x43\x69\x6e\x64\x79\x20\x4c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x0a\x09\x92\x26\x89\x93\xf2\x2c\x64\x01\x01\x13\x07\x63\x6c\x61\x75\x70\x65\x72\x31\x17\x30\x15\x06\x03\x55\x04\x0b\x13\x0e\x73\x6c\x65\x65\x70\x69\x6e\x67\x20\x64\x65\x70\x74\x2e\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x4b\x6f\x6b\x6f\x20\x69\x6e\x63\x2e\x31\x0f\x30\x0d\x06\x03\x55\x04\x08\x13\x06\x41\x74\x74\x69\x6b\x69\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
+ 125 },
+ .can_encode = 1 },
+ { .name = "UTF8 DN",
+ .str = "C=GR,ST=Αττική,O=Μεγάλη εταιρία,CN=🐨",
+ .compat_str = "CN=🐨,O=Μεγάλη εταιρία,ST=Αττική,C=GR",
+ .raw = { (void *)"\x30\x59\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\xf0\x9f\x90\xa8\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x0c\x1b\xce\x9c\xce\xb5\xce\xb3\xce\xac\xce\xbb\xce\xb7\x20\xce\xb5\xcf\x84\xce\xb1\xce\xb9\xcf\x81\xce\xaf\xce\xb1\x31\x15\x30\x13\x06\x03\x55\x04\x08\x0c\x0c\xce\x91\xcf\x84\xcf\x84\xce\xb9\xce\xba\xce\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x52",
+ 91 },
+ .can_encode = 1 },
+ { .name = "combo DN",
+ .compat_str = "C=\\,\\ ,OU=\\ X\\ ,CN=\\#XXX",
+ .str = "CN=\\#XXX,OU=\\ X\\ ,C=\\,\\ ",
+ .raw = { (void *)"\x30\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x0b\x13\x04\x20\x20\x58\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\x23\x58\x58\x58",
+ 45 },
+ .can_encode = 1 },
+ { .name = "very long DN",
+ .compat_str =
+ "C=ES,ST=CACERES,L=CACERES,O=DIPUTACION PROVINCIAL DE CACERES,OU=DIPUTACION PROVINCIAL DE CACERES,CN=www.dip-caceres.es,EMAIL=webmaster@dip-caceres.es,2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573",
+ .str = "2.5.29.17=#1382304b444e532e313d6162616469612e65732c444e532e323d61626572747572612e65732c444e532e333d616365626f2e65732c444e532e343d61636568756368652e65732c444e532e353d6163656974756e612e65732c444e532e363d61686967616c2e65732c444e532e373d616c61676f6e64656c72696f2e65732c444e532e383d616c636f6c6c6172696e2e65732c444e532e393d6179746f616c62616c612e65732c444e532e31303d6179746f616c63616e746172612e65732c444e532e31313d616c637565736361722e65732c444e532e31323d616c64656163656e74656e6572612e65732c444e532e31333d616c64656164656c63616e6f2e65732c444e532e31343d6c61616c64656164656c6f626973706f2e65732c444e532e31353d616c6465616e7565766164656c61766572612e65732c444e532e31363d616c6465616e7565766164656c63616d696e6f2e65732c444e532e31373d616c64656875656c6164656c6a657274652e65732c444e532e31383d6179746f616c69612e65732c444e532e31393d616c69736564612e65732c444e532e32303d616c6d6172617a2e65732c444e532e32313d616c6d6f686172696e2e65732c444e532e32323d6179746f6172726f796f64656c616c757a2e65732c444e532e32333d6172726f796f6d6f6c696e6f732e65732c444e532e32343d6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e32353d62616e6f7364656d6f6e74656d61796f722e65732c444e532e32363d6261727261646f2e65732c444e532e32373d62656c76697364656d6f6e726f792e65732c444e532e32383d62656e71756572656e6369612e65732c444e532e32393d626572726f63616c656a6f2e65732c444e532e33303d6265727a6f63616e612e65732c444e532e33313d626f686f6e616c646569626f722e65732c444e532e33323d626f74696a612e65732c444e532e33333d62726f7a61732e65732c444e532e33343d636162616e617364656c63617374696c6c6f2e65732c444e532e33353d636162657a6162656c6c6f73612e65732c444e532e33363d636162657a75656c6164656c76616c6c652e65732c444e532e33373d6361627265726f2e65732c444e532e33383d636163686f7272696c6c612e65732c444e532e33393d636164616c736f2e65732c444e532e34303d63616c7a6164696c6c612e65732c444e532e34313d63616d696e6f6d6f726973636f2e65732c444e532e34323d63616d70696c6c6f646564656c6569746f73612e65732c444e532e34333d63616d706f6c756761722e65732c444e532e34343d63616e616d65726f2e65732c444e532e34353d63616e61766572616c2e65732c444e532e34363d63617262616a6f2e65732c444e532e34373d6361726361626f736f2e65732c444e532e34383d63617272617363616c656a6f2e65732c444e532e34393d63617361726465636163657265732e65732c444e532e35303d6361736172646570616c6f6d65726f2e65732c444e532e35313d6361736172657364656c61736875726465732e65732c444e532e35323d63617361736465646f6e616e746f6e696f2e65732c444e532e35333d63617361736465646f6e676f6d657a2e65732c444e532e35343d636173617364656c63617374616e61722e65732c444e532e35353d636173617364656c6d6f6e74652e65732c444e532e35363d636173617364656d696c6c616e2e65732c444e532e35373d636173617364656d697261766574652e65732c444e532e35383d6361736174656a6164612e65732c444e532e35393d636173696c6c61736465636f7269612e65732c444e532e36303d63617374616e6172646569626f722e65732c444e532e36313d6365636c6176696e2e65732c444e532e36323d636564696c6c6f2e65732c444e532e36333d636572657a6f2e65732c444e532e36343d63696c6c65726f732e65732c444e532e36353d636f6c6c61646f2e65732c444e532e36363d636f6e71756973746164656c617369657272612e65732c444e532e36373d636f7269612e65732c444e532e36383d637561636f73646579757374652e65732c444e532e36393d6c6163756d6272652e65732c444e532e37303d64656c6569746f73612e65732c444e532e37313d64657363617267616d617269612e65732c444e532e37323d656c6a61732e65732c444e532e37333d657363757269616c2e65732c444e532e37343d667265736e65646f736f646569626f722e65732c444e532e37353d67616c697374656f2e65732c444e532e37363d6761726369617a2e65732c444e532e37373d6c6167617267616e74612e65732c444e532e37383d67617267616e74616c616f6c6c612e65732c444e532e37393d67617267616e74696c6c612e65732c444e532e38303d67617267756572612e65732c444e532e38313d676172726f76696c6c61736465616c636f6e657461722e65732c444e532e38323d67617276696e2e65732c444e532e38333d676174612e65732c444e532e38343d6179746f656c676f72646f2e65732c444e532e38353d6c616772616e6a612e65732c444e532e38363d6c616772616e6a6164656772616e6164696c6c612e65732c444e532e38373d6179756e74616d69656e746f646567756164616c7570652e65732c444e532e38383d6775696a6f6465636f7269612e65732c444e532e38393d6775696a6f646567616c697374656f2e65732c444e532e39303d6775696a6f64656772616e6164696c6c612e65732c444e532e39313d6775696a6f646573616e7461626172626172612e65732c444e532e39323d6865726775696a75656c612e65732c444e532e39333d6865726e616e706572657a2e65732c444e532e39343d686572726572616465616c63616e746172612e65732c444e532e39353d68657272657275656c612e65732c444e532e39363d6865727661732e65732c444e532e39373d686967756572612e65732c444e532e39383d68696e6f6a616c2e65732c444e532e39393d686f6c67756572612e65732c444e532e3130303d686f796f732e65732c444e532e3130313d6875656c6167612e65732c444e532e3130323d6962616865726e616e646f2e65732c444e532e3130333d6a6172616963656a6f2e65732c444e532e3130343d6a617261697a64656c61766572612e65732c444e532e3130353d6a6172616e64696c6c6164656c61766572612e65732c444e532e3130363d6a6172696c6c612e65732c444e532e3130373d6a657274652e65732c444e532e3130383d6c616472696c6c61722e65732c444e532e3130393d6c6f67726f73616e2e65732c444e532e3131303d6c6f73617264656c61766572612e65732c444e532e3131313d6d6164726967616c656a6f2e65732c444e532e3131323d6d6164726967616c64656c61766572612e65732c444e532e3131333d6d6164726f6e6572612e65732c444e532e3131343d6d616a616461732e65732c444e532e3131353d6d616c706172746964616465636163657265732e65732c444e532e3131363d6d616c706172746964616465706c6173656e6369612e65732c444e532e3131373d6d617263686167617a2e65732c444e532e3131383d6d6174616465616c63616e746172612e65732c444e532e3131393d6d656d6272696f2e65732c444e532e3132303d6d65736173646569626f722e65732c444e532e3132313d6d69616a616461732e65732c444e532e3132323d6d696c6c616e65732e65732c444e532e3132333d6d69726162656c2e65732c444e532e3132343d6d6f686564617364656772616e6164696c6c612e65732c444e532e3132353d6d6f6e726f792e65732c444e532e3132363d6d6f6e74616e6368657a2e65732c444e532e3132373d6d6f6e74656865726d6f736f2e65732c444e532e3132383d6d6f72616c656a612e65732c444e532e3132393d6d6f7263696c6c6f2e65732c444e532e3133303d6e617661636f6e63656a6f2e65732c444e532e3133313d6e6176616c76696c6c6172646569626f722e65732c444e532e3133323d6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3133333d6e6176617364656c6d6164726f6e6f2e65732c444e532e3133343d6e6176617472617369657272612e65732c444e532e3133353d6e6176657a75656c61732e65732c444e532e3133363d6e756e6f6d6f72616c2e65732c444e532e3133373d6f6c6976616465706c6173656e6369612e65732c444e532e3133383d70616c6f6d65726f2e65732c444e532e3133393d70617361726f6e64656c61766572612e65732c444e532e3134303d706564726f736f64656163696d2e65732c444e532e3134313d706572616c65646164656c616d6174612e65732c444e532e3134323d706572616c656461646573616e726f6d616e2e65732c444e532e3134333d706572616c657364656c70756572746f2e65732c444e532e3134343d7065736375657a612e65732c444e532e3134353d6c6170657367612e65732c444e532e3134363d70696564726173616c6261732e65732c444e532e3134373d70696e6f6672616e71756561646f2e65732c444e532e3134383d70696f726e616c2e65732c444e532e3134393d706c6173656e7a75656c612e65732c444e532e3135303d706f7274616a652e65732c444e532e3135313d706f7274657a75656c6f2e65732c444e532e3135323d706f7a75656c6f64657a61727a6f6e2e65732c444e532e3135333d707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3135343d70756572746f646573616e74616372757a2e65732c444e532e3135353d7265626f6c6c61722e65732c444e532e3135363d72696f6c6f626f732e65732c444e532e3135373d726f626c6564696c6c6f6465676174612e65732c444e532e3135383d726f626c6564696c6c6f64656c61766572612e65732c444e532e3135393d726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3136303d726f626c65646f6c6c616e6f2e65732c444e532e3136313d726f6d616e676f72646f2e65732c444e532e3136323d7275616e65732e65732c444e532e3136333d73616c6f72696e6f2e65732c444e532e3136343d73616c7661746965727261646573616e746961676f2e65732c444e532e3136353d73616e6d617274696e646574726576656a6f2e65732c444e532e3136363d6179746f73616e7461616e612e65732c444e532e3136373d73616e74616372757a64656c617369657272612e65732c444e532e3136383d73616e74616372757a646570616e69616775612e65732c444e532e3136393d73616e74616d6172746164656d6167617363612e65732c444e532e3137303d73616e746961676f64656c63616d706f2e65732c444e532e3137313d73616e746962616e657a656c616c746f2e65732c444e532e3137323d73616e746962616e657a656c62616a6f2e65732c444e532e3137333d736175636564696c6c612e65732c444e532e3137343d7365677572616465746f726f2e65732c444e532e3137353d736572726164696c6c612e65732c444e532e3137363d73657272656a6f6e2e65732c444e532e3137373d73696572726164656675656e7465732e65732c444e532e3137383d74616c6176616e2e65732c444e532e3137393d74616c6176657275656c6164656c61766572612e65732c444e532e3138303d74616c617975656c612e65732c444e532e3138313d74656a65646164657469657461722e65732c444e532e3138323d746f72696c2e65732c444e532e3138333d746f726e6176616361732e65732c444e532e3138343d6179746f656c746f726e6f2e65732c444e532e3138353d746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3138363d746f72726563696c6c617364656c6174696573612e65732c444e532e3138373d746f7272656465646f6e6d696775656c2e65732c444e532e3138383d746f727265646573616e74616d617269612e65732c444e532e3138393d746f7272656a6f6e656c727562696f2e65732c444e532e3139303d746f7272656a6f6e63696c6c6f2e65732c444e532e3139313d746f7272656d656e67612e65732c444e532e3139323d746f7272656d6f6368612e65732c444e532e3139333d746f7272656f7267617a2e65732c444e532e3139343d746f7272657175656d6164612e65732c444e532e3139353d76616c64617374696c6c61732e65732c444e532e3139363d76616c646563616e6173646574616a6f2e65732c444e532e3139373d76616c64656675656e7465732e65732c444e532e3139383d76616c646568756e6361722e65732c444e532e3139393d76616c6465696e69676f732e65732c444e532e3230303d76616c64656c6163617361646574616a6f2e65732c444e532e3230313d76616c64656d6f72616c65732e65732c444e532e3230323d76616c64656f626973706f2e65732c444e532e3230333d76616c646573616c6f722e65732c444e532e3230343d76616c72696f2e65732c444e532e3230353d76616c656e6369616465616c63616e746172612e65732c444e532e3230363d76616c766572646564656c61766572612e65732c444e532e3230373d76616c766572646564656c667265736e6f2e65732c444e532e3230383d766567617669616e612e65732c444e532e3230393d7669616e64617264656c61766572612e65732c444e532e3231303d76696c6c6164656c63616d706f2e65732c444e532e3231313d76696c6c6164656c7265792e65732c444e532e3231323d76696c6c616d65736961732e65732c444e532e3231333d76696c6c616d69656c2e65732c444e532e3231343d76696c6c616e7565766164656c617369657272612e65732c444e532e3231353d76696c6c617264656c706564726f736f2e65732c444e532e3231363d76696c6c61726465706c6173656e6369612e65732c444e532e3231373d76696c6c61736275656e61736465676174612e65732c444e532e3231383d7a61727a6164656772616e6164696c6c612e65732c444e532e3231393d7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3232303d7a61727a616c616d61796f722e65732c444e532e3232313d7a6f726974612e65732c444e532e3232323d726f73616c656a6f2e65732c444e532e3232333d766567617669616e612e65732c444e532e3232343d616c61676f6e64656c72696f2e65732c444e532e3232353d7469657461722e65732c444e532e3232363d76616c646573616c6f722e65732c444e532e3232373d6e6176617472617369657272612e65732c444e532e3232383d7269766572616465667265736e65646f73612e65732c444e532e3232393d656c6d73616e67696c2e65732c444e532e3233303d74616a6f73616c6f722e65732c444e532e3233313d76616c6c65616d62726f7a2e65732c444e532e3233323d6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3233333d6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3233343d6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3233353d6d616e636f6d756e6964616464656c61766572612e65732c444e532e3233363d6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3233373d76696c6c7565726361732d69626f7265732d6a6172612e65732c444e532e3233383d7777772e6162616469612e65732c444e532e3233393d7777772e61626572747572612e65732c444e532e3234303d7777772e616365626f2e65732c444e532e3234313d7777772e61636568756368652e65732c444e532e3234323d7777772e6163656974756e612e65732c444e532e3234333d7777772e61686967616c2e65732c444e532e3234343d7777772e616c61676f6e64656c72696f2e65732c444e532e3234353d7777772e616c636f6c6c6172696e2e65732c444e532e3234363d7777772e6179746f616c62616c612e65732c444e532e3234373d7777772e6179746f616c63616e746172612e65732c444e532e3234383d7777772e616c637565736361722e65732c444e532e3234393d7777772e616c64656163656e74656e6572612e65732c444e532e3235303d7777772e616c64656164656c63616e6f2e65732c444e532e3235313d7777772e6c61616c64656164656c6f626973706f2e65732c444e532e3235323d7777772e616c6465616e7565766164656c61766572612e65732c444e532e3235333d7777772e616c6465616e7565766164656c63616d696e6f2e65732c444e532e3235343d7777772e616c64656875656c6164656c6a657274652e65732c444e532e3235353d7777772e6179746f616c69612e65732c444e532e3235363d7777772e616c69736564612e65732c444e532e3235373d7777772e616c6d6172617a2e65732c444e532e3235383d7777772e616c6d6f686172696e2e65732c444e532e3235393d7777772e6179746f6172726f796f64656c616c757a2e65732c444e532e3236303d7777772e6172726f796f6d6f6c696e6f732e65732c444e532e3236313d7777772e6172726f796f6d6f6c696e6f7364656c61766572612e65732c444e532e3236323d7777772e62616e6f7364656d6f6e74656d61796f722e65732c444e532e3236333d7777772e6261727261646f2e65732c444e532e3236343d7777772e62656c76697364656d6f6e726f792e65732c444e532e3236353d7777772e62656e71756572656e6369612e65732c444e532e3236363d7777772e626572726f63616c656a6f2e65732c444e532e3236373d7777772e6265727a6f63616e612e65732c444e532e3236383d7777772e626f686f6e616c646569626f722e65732c444e532e3236393d7777772e626f74696a612e65732c444e532e3237303d7777772e62726f7a61732e65732c444e532e3237313d7777772e636162616e617364656c63617374696c6c6f2e65732c444e532e3237323d7777772e636162657a6162656c6c6f73612e65732c444e532e3237333d7777772e636162657a75656c6164656c76616c6c652e65732c444e532e3237343d7777772e6361627265726f2e65732c444e532e3237353d7777772e636163686f7272696c6c612e65732c444e532e3237363d7777772e636164616c736f2e65732c444e532e3237373d7777772e63616c7a6164696c6c612e65732c444e532e3237383d7777772e63616d696e6f6d6f726973636f2e65732c444e532e3237393d7777772e63616d70696c6c6f646564656c6569746f73612e65732c444e532e3238303d7777772e63616d706f6c756761722e65732c444e532e3238313d7777772e63616e616d65726f2e65732c444e532e3238323d7777772e63616e61766572616c2e65732c444e532e3238333d7777772e63617262616a6f2e65732c444e532e3238343d7777772e6361726361626f736f2e65732c444e532e3238353d7777772e63617272617363616c656a6f2e65732c444e532e3238363d7777772e63617361726465636163657265732e65732c444e532e3238373d7777772e6361736172646570616c6f6d65726f2e65732c444e532e3238383d7777772e6361736172657364656c61736875726465732e65732c444e532e3238393d7777772e63617361736465646f6e616e746f6e696f2e65732c444e532e3239303d7777772e63617361736465646f6e676f6d657a2e65732c444e532e3239313d7777772e636173617364656c63617374616e61722e65732c444e532e3239323d7777772e636173617364656c6d6f6e74652e65732c444e532e3239333d7777772e636173617364656d696c6c616e2e65732c444e532e3239343d7777772e636173617364656d697261766574652e65732c444e532e3239353d7777772e6361736174656a6164612e65732c444e532e3239363d7777772e636173696c6c61736465636f7269612e65732c444e532e3239373d7777772e63617374616e6172646569626f722e65732c444e532e3239383d7777772e6365636c6176696e2e65732c444e532e3239393d7777772e636564696c6c6f2e65732c444e532e3330303d7777772e636572657a6f2e65732c444e532e3330313d7777772e63696c6c65726f732e65732c444e532e3330323d7777772e636f6c6c61646f2e65732c444e532e3330333d7777772e636f6e71756973746164656c617369657272612e65732c444e532e3330343d7777772e636f7269612e65732c444e532e3330353d7777772e637561636f73646579757374652e65732c444e532e3330363d7777772e6c6163756d6272652e65732c444e532e3330373d7777772e64656c6569746f73612e65732c444e532e3330383d7777772e64657363617267616d617269612e65732c444e532e3330393d7777772e656c6a61732e65732c444e532e3331303d7777772e657363757269616c2e65732c444e532e3331313d7777772e667265736e65646f736f646569626f722e65732c444e532e3331323d7777772e67616c697374656f2e65732c444e532e3331333d7777772e6761726369617a2e65732c444e532e3331343d7777772e6c6167617267616e74612e65732c444e532e3331353d7777772e67617267616e74616c616f6c6c612e65732c444e532e3331363d7777772e67617267616e74696c6c612e65732c444e532e3331373d7777772e67617267756572612e65732c444e532e3331383d7777772e676172726f76696c6c61736465616c636f6e657461722e65732c444e532e3331393d7777772e67617276696e2e65732c444e532e3332303d7777772e676174612e65732c444e532e3332313d7777772e6179746f656c676f72646f2e65732c444e532e3332323d7777772e6c616772616e6a612e65732c444e532e3332333d7777772e6c616772616e6a6164656772616e6164696c6c612e65732c444e532e3332343d7777772e6179756e74616d69656e746f646567756164616c7570652e65732c444e532e3332353d7777772e6775696a6f6465636f7269612e65732c444e532e3332363d7777772e6775696a6f646567616c697374656f2e65732c444e532e3332373d7777772e6775696a6f64656772616e6164696c6c612e65732c444e532e3332383d7777772e6775696a6f646573616e7461626172626172612e65732c444e532e3332393d7777772e6865726775696a75656c612e65732c444e532e3333303d7777772e6865726e616e706572657a2e65732c444e532e3333313d7777772e686572726572616465616c63616e746172612e65732c444e532e3333323d7777772e68657272657275656c612e65732c444e532e3333333d7777772e6865727661732e65732c444e532e3333343d7777772e686967756572612e65732c444e532e3333353d7777772e68696e6f6a616c2e65732c444e532e3333363d7777772e686f6c67756572612e65732c444e532e3333373d7777772e686f796f732e65732c444e532e3333383d7777772e6875656c6167612e65732c444e532e3333393d7777772e6962616865726e616e646f2e65732c444e532e3334303d7777772e6a6172616963656a6f2e65732c444e532e3334313d7777772e6a617261697a64656c61766572612e65732c444e532e3334323d7777772e6a6172616e64696c6c6164656c61766572612e65732c444e532e3334333d7777772e6a6172696c6c612e65732c444e532e3334343d7777772e6a657274652e65732c444e532e3334353d7777772e6c616472696c6c61722e65732c444e532e3334363d7777772e6c6f67726f73616e2e65732c444e532e3334373d7777772e6c6f73617264656c61766572612e65732c444e532e3334383d7777772e6d6164726967616c656a6f2e65732c444e532e3334393d7777772e6d6164726967616c64656c61766572612e65732c444e532e3335303d7777772e6d6164726f6e6572612e65732c444e532e3335313d7777772e6d616a616461732e65732c444e532e3335323d7777772e6d616c706172746964616465636163657265732e65732c444e532e3335333d7777772e6d616c706172746964616465706c6173656e6369612e65732c444e532e3335343d7777772e6d617263686167617a2e65732c444e532e3335353d7777772e6d6174616465616c63616e746172612e65732c444e532e3335363d7777772e6d656d6272696f2e65732c444e532e3335373d7777772e6d65736173646569626f722e65732c444e532e3335383d7777772e6d69616a616461732e65732c444e532e3335393d7777772e6d696c6c616e65732e65732c444e532e3336303d7777772e6d69726162656c2e65732c444e532e3336313d7777772e6d6f686564617364656772616e6164696c6c612e65732c444e532e3336323d7777772e6d6f6e726f792e65732c444e532e3336333d7777772e6d6f6e74616e6368657a2e65732c444e532e3336343d7777772e6d6f6e74656865726d6f736f2e65732c444e532e3336353d7777772e6d6f72616c656a612e65732c444e532e3336363d7777772e6d6f7263696c6c6f2e65732c444e532e3336373d7777772e6e617661636f6e63656a6f2e65732c444e532e3336383d7777772e6e6176616c76696c6c6172646569626f722e65732c444e532e3336393d7777772e6e6176616c6d6f72616c64656c616d6174612e65732c444e532e3337303d7777772e6e6176617364656c6d6164726f6e6f2e65732c444e532e3337313d7777772e6e6176617472617369657272612e65732c444e532e3337323d7777772e6e6176657a75656c61732e65732c444e532e3337333d7777772e6e756e6f6d6f72616c2e65732c444e532e3337343d7777772e6f6c6976616465706c6173656e6369612e65732c444e532e3337353d7777772e70616c6f6d65726f2e65732c444e532e3337363d7777772e70617361726f6e64656c61766572612e65732c444e532e3337373d7777772e706564726f736f64656163696d2e65732c444e532e3337383d7777772e706572616c65646164656c616d6174612e65732c444e532e3337393d7777772e706572616c656461646573616e726f6d616e2e65732c444e532e3338303d7777772e706572616c657364656c70756572746f2e65732c444e532e3338313d7777772e7065736375657a612e65732c444e532e3338323d7777772e6c6170657367612e65732c444e532e3338333d7777772e70696564726173616c6261732e65732c444e532e3338343d7777772e70696e6f6672616e71756561646f2e65732c444e532e3338353d7777772e70696f726e616c2e65732c444e532e3338363d7777772e706c6173656e7a75656c612e65732c444e532e3338373d7777772e706f7274616a652e65732c444e532e3338383d7777772e706f7274657a75656c6f2e65732c444e532e3338393d7777772e706f7a75656c6f64657a61727a6f6e2e65732c444e532e3339303d7777772e707565626c6f6e7565766f64656d6972616d6f6e7465732e65732c444e532e3339313d7777772e70756572746f646573616e74616372757a2e65732c444e532e3339323d7777772e7265626f6c6c61722e65732c444e532e3339333d7777772e72696f6c6f626f732e65732c444e532e3339343d7777772e726f626c6564696c6c6f6465676174612e65732c444e532e3339353d7777772e726f626c6564696c6c6f64656c61766572612e65732c444e532e3339363d7777772e726f626c6564696c6c6f64657472756a696c6c6f2c444e532e3339373d7777772e726f626c65646f6c6c616e6f2e65732c444e532e3339383d7777772e726f6d616e676f72646f2e65732c444e532e3339393d7777772e7275616e65732e65732c444e532e3430303d7777772e73616c6f72696e6f2e65732c444e532e3430313d7777772e73616c7661746965727261646573616e746961676f2e65732c444e532e3430323d7777772e73616e6d617274696e646574726576656a6f2e65732c444e532e3430333d7777772e6179746f73616e7461616e612e65732c444e532e3430343d7777772e73616e74616372757a64656c617369657272612e65732c444e532e3430353d7777772e73616e74616372757a646570616e69616775612e65732c444e532e3430363d7777772e73616e74616d6172746164656d6167617363612e65732c444e532e3430373d7777772e73616e746961676f64656c63616d706f2e65732c444e532e3430383d7777772e73616e746962616e657a656c616c746f2e65732c444e532e3430393d7777772e73616e746962616e657a656c62616a6f2e65732c444e532e3431303d7777772e736175636564696c6c612e65732c444e532e3431313d7777772e7365677572616465746f726f2e65732c444e532e3431323d7777772e736572726164696c6c612e65732c444e532e3431333d7777772e73657272656a6f6e2e65732c444e532e3431343d7777772e73696572726164656675656e7465732e65732c444e532e3431353d7777772e74616c6176616e2e65732c444e532e3431363d7777772e74616c6176657275656c6164656c61766572612e65732c444e532e3431373d7777772e74616c617975656c612e65732c444e532e3431383d7777772e74656a65646164657469657461722e65732c444e532e3431393d7777772e746f72696c2e65732c444e532e3432303d7777772e746f726e6176616361732e65732c444e532e3432313d7777772e6179746f656c746f726e6f2e65732c444e532e3432323d7777772e746f72726563696c6c6164656c6f73616e67656c65732e65732c444e532e3432333d7777772e746f72726563696c6c617364656c6174696573612e65732c444e532e3432343d7777772e746f7272656465646f6e6d696775656c2e65732c444e532e3432353d7777772e746f727265646573616e74616d617269612e65732c444e532e3432363d7777772e746f7272656a6f6e656c727562696f2e65732c444e532e3432373d7777772e746f7272656a6f6e63696c6c6f2e65732c444e532e3432383d7777772e746f7272656d656e67612e65732c444e532e3432393d7777772e746f7272656d6f6368612e65732c444e532e3433303d7777772e746f7272656f7267617a2e65732c444e532e3433313d7777772e746f7272657175656d6164612e65732c444e532e3433323d7777772e76616c64617374696c6c61732e65732c444e532e3433333d7777772e76616c646563616e6173646574616a6f2e65732c444e532e3433343d7777772e76616c64656675656e7465732e65732c444e532e3433353d7777772e76616c646568756e6361722e65732c444e532e3433363d7777772e76616c6465696e69676f732e65732c444e532e3433373d7777772e76616c64656c6163617361646574616a6f2e65732c444e532e3433383d7777772e76616c64656d6f72616c65732e65732c444e532e3433393d7777772e76616c64656f626973706f2e65732c444e532e3434303d7777772e76616c646573616c6f722e65732c444e532e3434313d7777772e76616c72696f2e65732c444e532e3434323d7777772e76616c656e6369616465616c63616e746172612e65732c444e532e3434333d7777772e76616c766572646564656c61766572612e65732c444e532e3434343d7777772e76616c766572646564656c667265736e6f2e65732c444e532e3434353d7777772e766567617669616e612e65732c444e532e3434363d7777772e7669616e64617264656c61766572612e65732c444e532e3434373d7777772e76696c6c6164656c63616d706f2e65732c444e532e3434383d7777772e76696c6c6164656c7265792e65732c444e532e3434393d7777772e76696c6c616d65736961732e65732c444e532e3435303d7777772e76696c6c616d69656c2e65732c444e532e3435313d7777772e76696c6c616e7565766164656c617369657272612e65732c444e532e3435323d7777772e76696c6c617264656c706564726f736f2e65732c444e532e3435333d7777772e76696c6c61726465706c6173656e6369612e65732c444e532e3435343d7777772e76696c6c61736275656e61736465676174612e65732c444e532e3435353d7777772e7a61727a6164656772616e6164696c6c612e65732c444e532e3435363d7777772e7a61727a6164656d6f6e74616e6368657a2e65732c444e532e3435373d7777772e7a61727a616c616d61796f722e65732c444e532e3435383d7777772e7a6f726974612e65732c444e532e3435393d7777772e726f73616c656a6f2e65732c444e532e3436303d7777772e766567617669616e612e65732c444e532e3436313d7777772e616c61676f6e64656c72696f2e65732c444e532e3436323d7777772e7469657461722e65732c444e532e3436333d7777772e76616c646573616c6f722e65732c444e532e3436343d7777772e6e6176617472617369657272612e65732c444e532e3436353d7777772e7269766572616465667265736e65646f73612e65732c444e532e3436363d7777772e656c6d73616e67696c2e65732c444e532e3436373d7777772e74616a6f73616c6f722e65732c444e532e3436383d7777772e76616c6c65616d62726f7a2e65732c444e532e3436393d7777772e6d616e636f6d756e6964616476616c6c6564656c616c61676f6e2e65732c444e532e3437303d7777772e6d616e636f6d756e6964616476616c6c6564656c6a657274652e65732c444e532e3437313d7777772e6d616e636f6d756e696461647665676173616c7461732e65732c444e532e3437323d7777772e6d616e636f6d756e6964616464656c61766572612e65732c444e532e3437333d7777772e6d616e636f6d756e696461647a6f6e6163656e74726f2e65732c444e532e3437343d7777772e76696c6c7565726361732d69626f7265732d6a6172612e6573,EMAIL=webmaster@dip-caceres.es,CN=www.dip-caceres.es,OU=DIPUTACION PROVINCIAL DE CACERES,O=DIPUTACION PROVINCIAL DE CACERES,L=CACERES,ST=CACERES,C=ES",
+ .raw = { (void *)"\x30\x82\x31\x29\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0a\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x29\x30\x27\x06\x03\x55\x04\x0b\x13\x20\x44\x49\x50\x55\x54\x41\x43\x49\x4f\x4e\x20\x50\x52\x4f\x56\x49\x4e\x43\x49\x41\x4c\x20\x44\x45\x20\x43\x41\x43\x45\x52\x45\x53\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x77\x77\x77\x2e\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x27\x30\x25\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x18\x77\x65\x62\x6d\x61\x73\x74\x65\x72\x40\x64\x69\x70\x2d\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x31\x82\x30\x58\x30\x82\x30\x54\x06\x03\x55\x1d\x11\x13\x82\x30\x4b\x44\x4e\x53\x2e\x31\x3d\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x3d\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x3d\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x3d\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x3d\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x3d\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x3d\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x3d\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x3d\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x3d\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x3d\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x3d\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x3d\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x3d\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x3d\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x3d\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x3d\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x3d\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x3d\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x3d\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x3d\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x3d\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x3d\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x3d\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x3d\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x3d\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x3d\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x3d\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x3d\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x3d\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x3d\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x3d\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x3d\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x3d\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x3d\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x3d\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x3d\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x3d\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x3d\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x3d\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x3d\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x3d\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x3d\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x3d\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x38\x3d\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x39\x3d\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x30\x3d\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x31\x3d\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x32\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x33\x3d\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x34\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x35\x3d\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x36\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x37\x3d\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x38\x3d\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x35\x39\x3d\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x30\x3d\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x31\x3d\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x32\x3d\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x33\x3d\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x34\x3d\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x35\x3d\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x36\x3d\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x37\x3d\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x38\x3d\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x36\x39\x3d\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x30\x3d\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x31\x3d\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x32\x3d\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x33\x3d\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x34\x3d\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x35\x3d\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x36\x3d\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x37\x3d\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x38\x3d\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x37\x39\x3d\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x30\x3d\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x31\x3d\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x32\x3d\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x33\x3d\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x35\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x36\x3d\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x37\x3d\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x38\x3d\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x38\x39\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x30\x3d\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x31\x3d\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x32\x3d\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x33\x3d\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x34\x3d\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x35\x3d\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x36\x3d\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x37\x3d\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x38\x3d\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x39\x39\x3d\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x30\x3d\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x31\x3d\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x32\x3d\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x33\x3d\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x34\x3d\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x35\x3d\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x36\x3d\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x37\x3d\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x38\x3d\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x30\x39\x3d\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x30\x3d\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x31\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x32\x3d\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x33\x3d\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x34\x3d\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x35\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x36\x3d\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x37\x3d\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x38\x3d\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x31\x39\x3d\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x30\x3d\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x31\x3d\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x32\x3d\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x33\x3d\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x34\x3d\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x35\x3d\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x36\x3d\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x37\x3d\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x38\x3d\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x32\x39\x3d\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x30\x3d\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x31\x3d\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x32\x3d\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x33\x3d\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x34\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x35\x3d\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x36\x3d\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x37\x3d\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x38\x3d\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x33\x39\x3d\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x30\x3d\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x31\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x32\x3d\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x33\x3d\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x34\x3d\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x35\x3d\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x36\x3d\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x37\x3d\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x38\x3d\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x34\x39\x3d\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x30\x3d\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x31\x3d\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x32\x3d\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x33\x3d\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x34\x3d\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x35\x3d\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x36\x3d\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x37\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x38\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x35\x39\x3d\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x31\x36\x30\x3d\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x31\x3d\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x32\x3d\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x33\x3d\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x34\x3d\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x35\x3d\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x36\x3d\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x37\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x38\x3d\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x36\x39\x3d\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x30\x3d\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x31\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x32\x3d\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x33\x3d\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x34\x3d\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x35\x3d\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x36\x3d\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x37\x3d\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x38\x3d\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x37\x39\x3d\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x30\x3d\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x31\x3d\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x32\x3d\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x33\x3d\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x34\x3d\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x35\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x36\x3d\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x37\x3d\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x38\x3d\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x38\x39\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x30\x3d\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x31\x3d\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x32\x3d\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x33\x3d\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x34\x3d\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x35\x3d\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x36\x3d\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x37\x3d\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x38\x3d\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x31\x39\x39\x3d\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x30\x3d\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x31\x3d\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x32\x3d\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x33\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x34\x3d\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x35\x3d\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x36\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x37\x3d\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x38\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x30\x39\x3d\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x30\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x31\x3d\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x32\x3d\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x33\x3d\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x34\x3d\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x35\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x36\x3d\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x37\x3d\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x38\x3d\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x31\x39\x3d\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x30\x3d\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x31\x3d\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x32\x3d\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x33\x3d\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x34\x3d\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x35\x3d\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x36\x3d\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x37\x3d\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x38\x3d\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x32\x39\x3d\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x30\x3d\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x31\x3d\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x32\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x33\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x34\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x35\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x36\x3d\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x37\x3d\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x38\x3d\x77\x77\x77\x2e\x61\x62\x61\x64\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x33\x39\x3d\x77\x77\x77\x2e\x61\x62\x65\x72\x74\x75\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x30\x3d\x77\x77\x77\x2e\x61\x63\x65\x62\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x31\x3d\x77\x77\x77\x2e\x61\x63\x65\x68\x75\x63\x68\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x32\x3d\x77\x77\x77\x2e\x61\x63\x65\x69\x74\x75\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x33\x3d\x77\x77\x77\x2e\x61\x68\x69\x67\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x34\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x35\x3d\x77\x77\x77\x2e\x61\x6c\x63\x6f\x6c\x6c\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x36\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x62\x61\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x37\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x38\x3d\x77\x77\x77\x2e\x61\x6c\x63\x75\x65\x73\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x34\x39\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x63\x65\x6e\x74\x65\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x30\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x64\x65\x6c\x63\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x31\x3d\x77\x77\x77\x2e\x6c\x61\x61\x6c\x64\x65\x61\x64\x65\x6c\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x32\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x33\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x63\x61\x6d\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x34\x3d\x77\x77\x77\x2e\x61\x6c\x64\x65\x68\x75\x65\x6c\x61\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x35\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x6c\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x36\x3d\x77\x77\x77\x2e\x61\x6c\x69\x73\x65\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x37\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x61\x72\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x38\x3d\x77\x77\x77\x2e\x61\x6c\x6d\x6f\x68\x61\x72\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x35\x39\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x61\x72\x72\x6f\x79\x6f\x64\x65\x6c\x61\x6c\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x30\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x31\x3d\x77\x77\x77\x2e\x61\x72\x72\x6f\x79\x6f\x6d\x6f\x6c\x69\x6e\x6f\x73\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x32\x3d\x77\x77\x77\x2e\x62\x61\x6e\x6f\x73\x64\x65\x6d\x6f\x6e\x74\x65\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x33\x3d\x77\x77\x77\x2e\x62\x61\x72\x72\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x34\x3d\x77\x77\x77\x2e\x62\x65\x6c\x76\x69\x73\x64\x65\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x35\x3d\x77\x77\x77\x2e\x62\x65\x6e\x71\x75\x65\x72\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x36\x3d\x77\x77\x77\x2e\x62\x65\x72\x72\x6f\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x37\x3d\x77\x77\x77\x2e\x62\x65\x72\x7a\x6f\x63\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x38\x3d\x77\x77\x77\x2e\x62\x6f\x68\x6f\x6e\x61\x6c\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x36\x39\x3d\x77\x77\x77\x2e\x62\x6f\x74\x69\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x30\x3d\x77\x77\x77\x2e\x62\x72\x6f\x7a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x31\x3d\x77\x77\x77\x2e\x63\x61\x62\x61\x6e\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x32\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x61\x62\x65\x6c\x6c\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x33\x3d\x77\x77\x77\x2e\x63\x61\x62\x65\x7a\x75\x65\x6c\x61\x64\x65\x6c\x76\x61\x6c\x6c\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x34\x3d\x77\x77\x77\x2e\x63\x61\x62\x72\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x35\x3d\x77\x77\x77\x2e\x63\x61\x63\x68\x6f\x72\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x36\x3d\x77\x77\x77\x2e\x63\x61\x64\x61\x6c\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x37\x3d\x77\x77\x77\x2e\x63\x61\x6c\x7a\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x38\x3d\x77\x77\x77\x2e\x63\x61\x6d\x69\x6e\x6f\x6d\x6f\x72\x69\x73\x63\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x37\x39\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x69\x6c\x6c\x6f\x64\x65\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x30\x3d\x77\x77\x77\x2e\x63\x61\x6d\x70\x6f\x6c\x75\x67\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x31\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x32\x3d\x77\x77\x77\x2e\x63\x61\x6e\x61\x76\x65\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x33\x3d\x77\x77\x77\x2e\x63\x61\x72\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x34\x3d\x77\x77\x77\x2e\x63\x61\x72\x63\x61\x62\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x35\x3d\x77\x77\x77\x2e\x63\x61\x72\x72\x61\x73\x63\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x64\x65\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x38\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x72\x65\x73\x64\x65\x6c\x61\x73\x68\x75\x72\x64\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x38\x39\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x61\x6e\x74\x6f\x6e\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x30\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x64\x6f\x6e\x67\x6f\x6d\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x31\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x63\x61\x73\x74\x61\x6e\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x32\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6c\x6d\x6f\x6e\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x33\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x6c\x6c\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x34\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x73\x64\x65\x6d\x69\x72\x61\x76\x65\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x35\x3d\x77\x77\x77\x2e\x63\x61\x73\x61\x74\x65\x6a\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x36\x3d\x77\x77\x77\x2e\x63\x61\x73\x69\x6c\x6c\x61\x73\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x37\x3d\x77\x77\x77\x2e\x63\x61\x73\x74\x61\x6e\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x38\x3d\x77\x77\x77\x2e\x63\x65\x63\x6c\x61\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x32\x39\x39\x3d\x77\x77\x77\x2e\x63\x65\x64\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x30\x3d\x77\x77\x77\x2e\x63\x65\x72\x65\x7a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x31\x3d\x77\x77\x77\x2e\x63\x69\x6c\x6c\x65\x72\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x32\x3d\x77\x77\x77\x2e\x63\x6f\x6c\x6c\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x33\x3d\x77\x77\x77\x2e\x63\x6f\x6e\x71\x75\x69\x73\x74\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x34\x3d\x77\x77\x77\x2e\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x35\x3d\x77\x77\x77\x2e\x63\x75\x61\x63\x6f\x73\x64\x65\x79\x75\x73\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x36\x3d\x77\x77\x77\x2e\x6c\x61\x63\x75\x6d\x62\x72\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x37\x3d\x77\x77\x77\x2e\x64\x65\x6c\x65\x69\x74\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x38\x3d\x77\x77\x77\x2e\x64\x65\x73\x63\x61\x72\x67\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x30\x39\x3d\x77\x77\x77\x2e\x65\x6c\x6a\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x30\x3d\x77\x77\x77\x2e\x65\x73\x63\x75\x72\x69\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x31\x3d\x77\x77\x77\x2e\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x6f\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x32\x3d\x77\x77\x77\x2e\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x33\x3d\x77\x77\x77\x2e\x67\x61\x72\x63\x69\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x34\x3d\x77\x77\x77\x2e\x6c\x61\x67\x61\x72\x67\x61\x6e\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x35\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x61\x6c\x61\x6f\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x36\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x61\x6e\x74\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x37\x3d\x77\x77\x77\x2e\x67\x61\x72\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x38\x3d\x77\x77\x77\x2e\x67\x61\x72\x72\x6f\x76\x69\x6c\x6c\x61\x73\x64\x65\x61\x6c\x63\x6f\x6e\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x31\x39\x3d\x77\x77\x77\x2e\x67\x61\x72\x76\x69\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x30\x3d\x77\x77\x77\x2e\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x32\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x33\x3d\x77\x77\x77\x2e\x6c\x61\x67\x72\x61\x6e\x6a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x34\x3d\x77\x77\x77\x2e\x61\x79\x75\x6e\x74\x61\x6d\x69\x65\x6e\x74\x6f\x64\x65\x67\x75\x61\x64\x61\x6c\x75\x70\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x35\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x63\x6f\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x36\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x61\x6c\x69\x73\x74\x65\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x37\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x38\x3d\x77\x77\x77\x2e\x67\x75\x69\x6a\x6f\x64\x65\x73\x61\x6e\x74\x61\x62\x61\x72\x62\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x32\x39\x3d\x77\x77\x77\x2e\x68\x65\x72\x67\x75\x69\x6a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x30\x3d\x77\x77\x77\x2e\x68\x65\x72\x6e\x61\x6e\x70\x65\x72\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x31\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x32\x3d\x77\x77\x77\x2e\x68\x65\x72\x72\x65\x72\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x33\x3d\x77\x77\x77\x2e\x68\x65\x72\x76\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x34\x3d\x77\x77\x77\x2e\x68\x69\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x35\x3d\x77\x77\x77\x2e\x68\x69\x6e\x6f\x6a\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x36\x3d\x77\x77\x77\x2e\x68\x6f\x6c\x67\x75\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x37\x3d\x77\x77\x77\x2e\x68\x6f\x79\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x38\x3d\x77\x77\x77\x2e\x68\x75\x65\x6c\x61\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x33\x39\x3d\x77\x77\x77\x2e\x69\x62\x61\x68\x65\x72\x6e\x61\x6e\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x30\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x31\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x69\x7a\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x32\x3d\x77\x77\x77\x2e\x6a\x61\x72\x61\x6e\x64\x69\x6c\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x33\x3d\x77\x77\x77\x2e\x6a\x61\x72\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x34\x3d\x77\x77\x77\x2e\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x35\x3d\x77\x77\x77\x2e\x6c\x61\x64\x72\x69\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x36\x3d\x77\x77\x77\x2e\x6c\x6f\x67\x72\x6f\x73\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x37\x3d\x77\x77\x77\x2e\x6c\x6f\x73\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x38\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x34\x39\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x69\x67\x61\x6c\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x30\x3d\x77\x77\x77\x2e\x6d\x61\x64\x72\x6f\x6e\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x63\x61\x63\x65\x72\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6c\x70\x61\x72\x74\x69\x64\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x34\x3d\x77\x77\x77\x2e\x6d\x61\x72\x63\x68\x61\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x35\x3d\x77\x77\x77\x2e\x6d\x61\x74\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x36\x3d\x77\x77\x77\x2e\x6d\x65\x6d\x62\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x37\x3d\x77\x77\x77\x2e\x6d\x65\x73\x61\x73\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x38\x3d\x77\x77\x77\x2e\x6d\x69\x61\x6a\x61\x64\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x35\x39\x3d\x77\x77\x77\x2e\x6d\x69\x6c\x6c\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x30\x3d\x77\x77\x77\x2e\x6d\x69\x72\x61\x62\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x31\x3d\x77\x77\x77\x2e\x6d\x6f\x68\x65\x64\x61\x73\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x32\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x72\x6f\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x33\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x34\x3d\x77\x77\x77\x2e\x6d\x6f\x6e\x74\x65\x68\x65\x72\x6d\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x35\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x61\x6c\x65\x6a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x36\x3d\x77\x77\x77\x2e\x6d\x6f\x72\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x37\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x63\x6f\x6e\x63\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x38\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x76\x69\x6c\x6c\x61\x72\x64\x65\x69\x62\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x36\x39\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x6c\x6d\x6f\x72\x61\x6c\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x30\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x73\x64\x65\x6c\x6d\x61\x64\x72\x6f\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x31\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x32\x3d\x77\x77\x77\x2e\x6e\x61\x76\x65\x7a\x75\x65\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x33\x3d\x77\x77\x77\x2e\x6e\x75\x6e\x6f\x6d\x6f\x72\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x34\x3d\x77\x77\x77\x2e\x6f\x6c\x69\x76\x61\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x35\x3d\x77\x77\x77\x2e\x70\x61\x6c\x6f\x6d\x65\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x36\x3d\x77\x77\x77\x2e\x70\x61\x73\x61\x72\x6f\x6e\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x37\x3d\x77\x77\x77\x2e\x70\x65\x64\x72\x6f\x73\x6f\x64\x65\x61\x63\x69\x6d\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x38\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x6c\x61\x6d\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x37\x39\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x64\x61\x64\x65\x73\x61\x6e\x72\x6f\x6d\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x30\x3d\x77\x77\x77\x2e\x70\x65\x72\x61\x6c\x65\x73\x64\x65\x6c\x70\x75\x65\x72\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x31\x3d\x77\x77\x77\x2e\x70\x65\x73\x63\x75\x65\x7a\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x32\x3d\x77\x77\x77\x2e\x6c\x61\x70\x65\x73\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x33\x3d\x77\x77\x77\x2e\x70\x69\x65\x64\x72\x61\x73\x61\x6c\x62\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x34\x3d\x77\x77\x77\x2e\x70\x69\x6e\x6f\x66\x72\x61\x6e\x71\x75\x65\x61\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x35\x3d\x77\x77\x77\x2e\x70\x69\x6f\x72\x6e\x61\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x36\x3d\x77\x77\x77\x2e\x70\x6c\x61\x73\x65\x6e\x7a\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x37\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x61\x6a\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x38\x3d\x77\x77\x77\x2e\x70\x6f\x72\x74\x65\x7a\x75\x65\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x38\x39\x3d\x77\x77\x77\x2e\x70\x6f\x7a\x75\x65\x6c\x6f\x64\x65\x7a\x61\x72\x7a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x30\x3d\x77\x77\x77\x2e\x70\x75\x65\x62\x6c\x6f\x6e\x75\x65\x76\x6f\x64\x65\x6d\x69\x72\x61\x6d\x6f\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x31\x3d\x77\x77\x77\x2e\x70\x75\x65\x72\x74\x6f\x64\x65\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x32\x3d\x77\x77\x77\x2e\x72\x65\x62\x6f\x6c\x6c\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x33\x3d\x77\x77\x77\x2e\x72\x69\x6f\x6c\x6f\x62\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x34\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x35\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x36\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x69\x6c\x6c\x6f\x64\x65\x74\x72\x75\x6a\x69\x6c\x6c\x6f\x2c\x44\x4e\x53\x2e\x33\x39\x37\x3d\x77\x77\x77\x2e\x72\x6f\x62\x6c\x65\x64\x6f\x6c\x6c\x61\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x38\x3d\x77\x77\x77\x2e\x72\x6f\x6d\x61\x6e\x67\x6f\x72\x64\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x33\x39\x39\x3d\x77\x77\x77\x2e\x72\x75\x61\x6e\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x30\x3d\x77\x77\x77\x2e\x73\x61\x6c\x6f\x72\x69\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x31\x3d\x77\x77\x77\x2e\x73\x61\x6c\x76\x61\x74\x69\x65\x72\x72\x61\x64\x65\x73\x61\x6e\x74\x69\x61\x67\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x32\x3d\x77\x77\x77\x2e\x73\x61\x6e\x6d\x61\x72\x74\x69\x6e\x64\x65\x74\x72\x65\x76\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x33\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x73\x61\x6e\x74\x61\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x34\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x35\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x63\x72\x75\x7a\x64\x65\x70\x61\x6e\x69\x61\x67\x75\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x36\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x61\x6d\x61\x72\x74\x61\x64\x65\x6d\x61\x67\x61\x73\x63\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x37\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x61\x67\x6f\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x38\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x61\x6c\x74\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x30\x39\x3d\x77\x77\x77\x2e\x73\x61\x6e\x74\x69\x62\x61\x6e\x65\x7a\x65\x6c\x62\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x30\x3d\x77\x77\x77\x2e\x73\x61\x75\x63\x65\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x31\x3d\x77\x77\x77\x2e\x73\x65\x67\x75\x72\x61\x64\x65\x74\x6f\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x32\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x33\x3d\x77\x77\x77\x2e\x73\x65\x72\x72\x65\x6a\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x34\x3d\x77\x77\x77\x2e\x73\x69\x65\x72\x72\x61\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x35\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x61\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x36\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x76\x65\x72\x75\x65\x6c\x61\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x37\x3d\x77\x77\x77\x2e\x74\x61\x6c\x61\x79\x75\x65\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x38\x3d\x77\x77\x77\x2e\x74\x65\x6a\x65\x64\x61\x64\x65\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x31\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x6e\x61\x76\x61\x63\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x31\x3d\x77\x77\x77\x2e\x61\x79\x74\x6f\x65\x6c\x74\x6f\x72\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x32\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x64\x65\x6c\x6f\x73\x61\x6e\x67\x65\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x33\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x63\x69\x6c\x6c\x61\x73\x64\x65\x6c\x61\x74\x69\x65\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x34\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x64\x6f\x6e\x6d\x69\x67\x75\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x35\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x64\x65\x73\x61\x6e\x74\x61\x6d\x61\x72\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x36\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x65\x6c\x72\x75\x62\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x37\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6a\x6f\x6e\x63\x69\x6c\x6c\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x38\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x65\x6e\x67\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x32\x39\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6d\x6f\x63\x68\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x30\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x6f\x72\x67\x61\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x31\x3d\x77\x77\x77\x2e\x74\x6f\x72\x72\x65\x71\x75\x65\x6d\x61\x64\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x61\x73\x74\x69\x6c\x6c\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x63\x61\x6e\x61\x73\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x66\x75\x65\x6e\x74\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x35\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x68\x75\x6e\x63\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x36\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x69\x6e\x69\x67\x6f\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x37\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6c\x61\x63\x61\x73\x61\x64\x65\x74\x61\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6d\x6f\x72\x61\x6c\x65\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x33\x39\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x6f\x62\x69\x73\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x30\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x31\x3d\x77\x77\x77\x2e\x76\x61\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x32\x3d\x77\x77\x77\x2e\x76\x61\x6c\x65\x6e\x63\x69\x61\x64\x65\x61\x6c\x63\x61\x6e\x74\x61\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x34\x3d\x77\x77\x77\x2e\x76\x61\x6c\x76\x65\x72\x64\x65\x64\x65\x6c\x66\x72\x65\x73\x6e\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x35\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x36\x3d\x77\x77\x77\x2e\x76\x69\x61\x6e\x64\x61\x72\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x37\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x63\x61\x6d\x70\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x38\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x64\x65\x6c\x72\x65\x79\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x34\x39\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x65\x73\x69\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x30\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6d\x69\x65\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x31\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x6e\x75\x65\x76\x61\x64\x65\x6c\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x32\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x6c\x70\x65\x64\x72\x6f\x73\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x33\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x72\x64\x65\x70\x6c\x61\x73\x65\x6e\x63\x69\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x61\x73\x62\x75\x65\x6e\x61\x73\x64\x65\x67\x61\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x35\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x67\x72\x61\x6e\x61\x64\x69\x6c\x6c\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x36\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x64\x65\x6d\x6f\x6e\x74\x61\x6e\x63\x68\x65\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x37\x3d\x77\x77\x77\x2e\x7a\x61\x72\x7a\x61\x6c\x61\x6d\x61\x79\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x38\x3d\x77\x77\x77\x2e\x7a\x6f\x72\x69\x74\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x35\x39\x3d\x77\x77\x77\x2e\x72\x6f\x73\x61\x6c\x65\x6a\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x30\x3d\x77\x77\x77\x2e\x76\x65\x67\x61\x76\x69\x61\x6e\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x31\x3d\x77\x77\x77\x2e\x61\x6c\x61\x67\x6f\x6e\x64\x65\x6c\x72\x69\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x32\x3d\x77\x77\x77\x2e\x74\x69\x65\x74\x61\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x33\x3d\x77\x77\x77\x2e\x76\x61\x6c\x64\x65\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x34\x3d\x77\x77\x77\x2e\x6e\x61\x76\x61\x74\x72\x61\x73\x69\x65\x72\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x35\x3d\x77\x77\x77\x2e\x72\x69\x76\x65\x72\x61\x64\x65\x66\x72\x65\x73\x6e\x65\x64\x6f\x73\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x36\x3d\x77\x77\x77\x2e\x65\x6c\x6d\x73\x61\x6e\x67\x69\x6c\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x37\x3d\x77\x77\x77\x2e\x74\x61\x6a\x6f\x73\x61\x6c\x6f\x72\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x38\x3d\x77\x77\x77\x2e\x76\x61\x6c\x6c\x65\x61\x6d\x62\x72\x6f\x7a\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x36\x39\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x61\x6c\x61\x67\x6f\x6e\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x30\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x61\x6c\x6c\x65\x64\x65\x6c\x6a\x65\x72\x74\x65\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x31\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x76\x65\x67\x61\x73\x61\x6c\x74\x61\x73\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x32\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x64\x65\x6c\x61\x76\x65\x72\x61\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x33\x3d\x77\x77\x77\x2e\x6d\x61\x6e\x63\x6f\x6d\x75\x6e\x69\x64\x61\x64\x7a\x6f\x6e\x61\x63\x65\x6e\x74\x72\x6f\x2e\x65\x73\x2c\x44\x4e\x53\x2e\x34\x37\x34\x3d\x77\x77\x77\x2e\x76\x69\x6c\x6c\x75\x65\x72\x63\x61\x73\x2d\x69\x62\x6f\x72\x65\x73\x2d\x6a\x61\x72\x61\x2e\x65\x73",
+ 12589 },
+ .can_encode = 1 }
};
struct encode_tests_st {
@@ -226,95 +215,75 @@ struct encode_tests_st {
struct encode_tests_st encode_tests[] = {
{
- .name = "invalid DN",
- .str =
- "CDD=Cindy Lauper,UID=clauper,OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
- .failure = GNUTLS_E_PARSING_ERROR,
- },
- {
- .name = "invalid DN2",
- .str = "CD,O=Koko",
- .failure = GNUTLS_E_PARSING_ERROR,
- },
- {
- .name = "invalid DN3",
- .str = "CN,O=Koko",
- .failure = GNUTLS_E_PARSING_ERROR,
- },
- {
- .name = "DN containing '+'",
- .str =
- "CN=Cindy Lauper,UID=clauper+OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
- .failure = GNUTLS_E_PARSING_ERROR,
- },
- {
- .name = "DN containing unsupported escaped chars",
- .str = "CN=\\CD\\AB\\19",
- .failure = GNUTLS_E_PARSING_ERROR,
- },
- {
- .name = "encode C",
- .str = "C=ES",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53",
- 15},
- .failure = GNUTLS_E_SUCCESS},
- {
- .name = "encode raw C",
- .str = "C=#13024553",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53",
- 15},
- .failure = 0},
- {
- .name = "encode with slash #",
- .str = "C=\\#S",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x23\x53",
- 15},
- .failure = 0},
- {
- .name = "encode with spaces",
- .str = "C=\\ \\ ",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x20\x20",
- 15},
- .failure = 0},
- {
- .name = "encode with comma",
- .str = "C=\\,\\ ",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20",
- 15},
- .failure = 0},
+ .name = "invalid DN",
+ .str = "CDD=Cindy Lauper,UID=clauper,OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
+ .failure = GNUTLS_E_PARSING_ERROR,
+ },
{
- .name = "encode with escaped plus",
- .str = "C=\\+\\ ",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2b\x20",
- 15},
- .failure = 0},
+ .name = "invalid DN2",
+ .str = "CD,O=Koko",
+ .failure = GNUTLS_E_PARSING_ERROR,
+ },
{
- .name = "encode with escaped string",
- .str = "C=\\,\\+\\;\\<\\>\\\\",
- .raw = {(void *)
- "\x30\x11\x31\x0f\x30\x0d\x06\x03\x55\x04\x06\x13\x06\x2c\x2b\x3b\x3c\x3e\x5c",
- 19},
- .failure = 0},
+ .name = "invalid DN3",
+ .str = "CN,O=Koko",
+ .failure = GNUTLS_E_PARSING_ERROR,
+ },
{
- .name = "encode with combo",
- .str = "CN=\\#XXX,OU=\\ X\\ ,C=\\,\\ ",
- .raw = {(void *)
- "\x30\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x0b\x13\x04\x20\x20\x58\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\x23\x58\x58\x58",
- 45},
- .failure = 0},
+ .name = "DN containing '+'",
+ .str = "CN=Cindy Lauper,UID=clauper+OU=sleeping dept.,O=Koko inc.,ST=Attiki,C=GR",
+ .failure = GNUTLS_E_PARSING_ERROR,
+ },
{
- .name = "encode invalid hex raw C",
- .str = "C=#1302455",
- .raw = {(void *)
- "\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53",
- 15},
- .failure = GNUTLS_E_PARSING_ERROR}
+ .name = "DN containing unsupported escaped chars",
+ .str = "CN=\\CD\\AB\\19",
+ .failure = GNUTLS_E_PARSING_ERROR,
+ },
+ { .name = "encode C",
+ .str = "C=ES",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53",
+ 15 },
+ .failure = GNUTLS_E_SUCCESS },
+ { .name = "encode raw C",
+ .str = "C=#13024553",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53",
+ 15 },
+ .failure = 0 },
+ { .name = "encode with slash #",
+ .str = "C=\\#S",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x23\x53",
+ 15 },
+ .failure = 0 },
+ { .name = "encode with spaces",
+ .str = "C=\\ \\ ",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x20\x20",
+ 15 },
+ .failure = 0 },
+ { .name = "encode with comma",
+ .str = "C=\\,\\ ",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20",
+ 15 },
+ .failure = 0 },
+ { .name = "encode with escaped plus",
+ .str = "C=\\+\\ ",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2b\x20",
+ 15 },
+ .failure = 0 },
+ { .name = "encode with escaped string",
+ .str = "C=\\,\\+\\;\\<\\>\\\\",
+ .raw = { (void *)"\x30\x11\x31\x0f\x30\x0d\x06\x03\x55\x04\x06\x13\x06\x2c\x2b\x3b\x3c\x3e\x5c",
+ 19 },
+ .failure = 0 },
+ { .name = "encode with combo",
+ .str = "CN=\\#XXX,OU=\\ X\\ ,C=\\,\\ ",
+ .raw = { (void *)"\x30\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x2c\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x0b\x13\x04\x20\x20\x58\x20\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x0c\x04\x23\x58\x58\x58",
+ 45 },
+ .failure = 0 },
+ { .name = "encode invalid hex raw C",
+ .str = "C=#1302455",
+ .raw = { (void *)"\x30\x0d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53",
+ 15 },
+ .failure = GNUTLS_E_PARSING_ERROR }
};
void doit(void)
diff --git a/tests/x509-dn.c b/tests/x509-dn.c
index 5f0ede618c..bf38dcf957 100644
--- a/tests/x509-dn.c
+++ b/tests/x509-dn.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,22 +37,22 @@
#include "utils.h"
static const char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
static const gnutls_datum_t cert_datum = { (unsigned char *)cert_pem,
- sizeof(cert_pem)
-};
+ sizeof(cert_pem) };
void doit(void)
{
@@ -68,8 +68,7 @@ void doit(void)
if (gnutls_x509_crt_init(&cert) != 0)
fail("cert init failure\n");
- if (gnutls_x509_crt_import(cert, &cert_datum, GNUTLS_X509_FMT_PEM)
- != 0)
+ if (gnutls_x509_crt_import(cert, &cert_datum, GNUTLS_X509_FMT_PEM) != 0)
fail("FAIL: could not import PEM cert\n");
if (gnutls_x509_crt_get_subject(cert, &sdn) != 0)
diff --git a/tests/x509-extensions.c b/tests/x509-extensions.c
index 5494324d8e..0be6716e3e 100644
--- a/tests/x509-extensions.c
+++ b/tests/x509-extensions.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -29,63 +29,64 @@
#include <gnutls/x509-ext.h>
#include "utils.h"
-static char invalid_cert[] = /* v1 certificate with extensions */
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDHjCCAgYCDFQ7zlUDsihSxVF4mDANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQD\n"
- "EwRDQS0wMCIYDzIwMTQxMDEzMTMwNjI5WhgPOTk5OTEyMzEyMzU5NTlaMBMxETAP\n"
- "BgNVBAMTCHNlcnZlci0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n"
- "zoG3/1YtwGHh/5u3ex6xAmwO0/H4gdIy/yiYLxqWcy+HzyMBBZHNXuV7W0z7x+Qo\n"
- "qCGtenWkzIQSgeYKyzdcpPDscZIYOgwHWUFczxgVGdLsBKPSczgqMHpSCLgMgnDM\n"
- "RaN6SNQeTQdftkLt5wdBSzNaxhhPYsCEbopSeZ8250FCLS3gRpoMtYCBiy7cjSJB\n"
- "zv6zmZStXNgTYr8pLwI0nyxPyRdB+TZyqAC6r9W154y51vsqUCGmC0I9hn1A5kkD\n"
- "5057x+Ho1kDwPxOfObdOR+AJSAw/FeGuStzViJY0I68B90sEo/HD+h7mB+CwJ2Yf\n"
- "64/xVdh+D8L65eYkM9z88wIDAQABo3cwdTAMBgNVHRMBAf8EAjAAMBQGA1UdEQQN\n"
- "MAuCCWxvY2FsaG9zdDAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBT7Gk/u95zI\n"
- "JTM89CXJ70IxxqhegDAfBgNVHSMEGDAWgBQ9X77/zddjG9ob2zrR/WuGmxwFGDAN\n"
- "BgkqhkiG9w0BAQsFAAOCAQEAaTrAcTkQ7yqf6afoTkFXZuZ+jJXYNGkubxs8Jo/z\n"
- "srJk/WWVGAKuxiBDumk88Gjm+WXGyIDA7Hq9fhGaklJV2PGRfNVx9No51HXeAToT\n"
- "sHs2XKhk9SdKKR4UJkuX3U2malMlCpmFMtm3EieDVZLxeukhODJQtRa3vGg8QWoz\n"
- "ODlewHSmQiXhnqq52fLCbdVUaBnaRGOIwNZ0FcBWv9n0ZCuhjg9908rUVH9/OjI3\n"
- "AGVZcbN9Jac2ZO8NTxP5vS1hrG2wT9+sVRh1sD5ISZSM4gWdq9sK8d7j+SwOPBWY\n"
- "3dcxQlfvWw2Dt876XYoyUZuKirmASVlMw+hkm1WXM7Svsw==\n"
- "-----END CERTIFICATE-----\n";
+static char invalid_cert[] = /* v1 certificate with extensions */
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDHjCCAgYCDFQ7zlUDsihSxVF4mDANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQD\n"
+ "EwRDQS0wMCIYDzIwMTQxMDEzMTMwNjI5WhgPOTk5OTEyMzEyMzU5NTlaMBMxETAP\n"
+ "BgNVBAMTCHNlcnZlci0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n"
+ "zoG3/1YtwGHh/5u3ex6xAmwO0/H4gdIy/yiYLxqWcy+HzyMBBZHNXuV7W0z7x+Qo\n"
+ "qCGtenWkzIQSgeYKyzdcpPDscZIYOgwHWUFczxgVGdLsBKPSczgqMHpSCLgMgnDM\n"
+ "RaN6SNQeTQdftkLt5wdBSzNaxhhPYsCEbopSeZ8250FCLS3gRpoMtYCBiy7cjSJB\n"
+ "zv6zmZStXNgTYr8pLwI0nyxPyRdB+TZyqAC6r9W154y51vsqUCGmC0I9hn1A5kkD\n"
+ "5057x+Ho1kDwPxOfObdOR+AJSAw/FeGuStzViJY0I68B90sEo/HD+h7mB+CwJ2Yf\n"
+ "64/xVdh+D8L65eYkM9z88wIDAQABo3cwdTAMBgNVHRMBAf8EAjAAMBQGA1UdEQQN\n"
+ "MAuCCWxvY2FsaG9zdDAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBT7Gk/u95zI\n"
+ "JTM89CXJ70IxxqhegDAfBgNVHSMEGDAWgBQ9X77/zddjG9ob2zrR/WuGmxwFGDAN\n"
+ "BgkqhkiG9w0BAQsFAAOCAQEAaTrAcTkQ7yqf6afoTkFXZuZ+jJXYNGkubxs8Jo/z\n"
+ "srJk/WWVGAKuxiBDumk88Gjm+WXGyIDA7Hq9fhGaklJV2PGRfNVx9No51HXeAToT\n"
+ "sHs2XKhk9SdKKR4UJkuX3U2malMlCpmFMtm3EieDVZLxeukhODJQtRa3vGg8QWoz\n"
+ "ODlewHSmQiXhnqq52fLCbdVUaBnaRGOIwNZ0FcBWv9n0ZCuhjg9908rUVH9/OjI3\n"
+ "AGVZcbN9Jac2ZO8NTxP5vS1hrG2wT9+sVRh1sD5ISZSM4gWdq9sK8d7j+SwOPBWY\n"
+ "3dcxQlfvWw2Dt876XYoyUZuKirmASVlMw+hkm1WXM7Svsw==\n"
+ "-----END CERTIFICATE-----\n";
static char pem[] =
- "-----BEGIN CERTIFICATE-----"
- "MIIFdDCCBN2gAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBkzEVMBMGA1UEAxMMQ2lu"
- "ZHkgTGF1cGVyMRcwFQYKCZImiZPyLGQBARMHY2xhdXBlcjERMA8GA1UECxMIQ0Eg"
- "ZGVwdC4xEjAQBgNVBAoTCUtva28gaW5jLjEPMA0GA1UECBMGQXR0aWtpMQswCQYD"
- "VQQGEwJHUjEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25lLm9yZzAiGA8yMDA3MDQy"
- "MTIyMDAwMFoYDzk5OTkxMjMxMjM1OTU5WjCBkzEVMBMGA1UEAxMMQ2luZHkgTGF1"
- "cGVyMRcwFQYKCZImiZPyLGQBARMHY2xhdXBlcjERMA8GA1UECxMIQ0EgZGVwdC4x"
- "EjAQBgNVBAoTCUtva28gaW5jLjEPMA0GA1UECBMGQXR0aWtpMQswCQYDVQQGEwJH"
- "UjEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25lLm9yZzCBnzANBgkqhkiG9w0BAQEF"
- "AAOBjQAwgYkCgYEApcbOdUOEv2SeAicT8QNZ93ktku18L1CkA/EtebmGiwV+OrtE"
- "qq+EzxOYHhxKOPczLXqfctRrbSawMTdwEPtC6didGGV+GUn8BZYEaIMed4a/7fXl"
- "EjsT/jMYnBp6HWmvRwJgeh+56M/byDQwUZY9jJZcALxh3ggPsTYhf6kA4wUCAwEA"
- "AaOCAtAwggLMMBIGA1UdEwEB/wQIMAYBAf8CAQQwagYDVR0RBGMwYYIMd3d3Lm5v"
- "bmUub3JnghN3d3cubW9yZXRoYW5vbmUub3Jnghd3d3cuZXZlbm1vcmV0aGFub25l"
- "Lm9yZ4cEwKgBAYENbm9uZUBub25lLm9yZ4EOd2hlcmVAbm9uZS5vcmcwgfcGA1Ud"
- "IASB7zCB7DB3BgwrBgEEAapsAQpjAQAwZzAwBggrBgEFBQcCAjAkDCJUaGlzIGlz"
- "IGEgbG9uZyBwb2xpY3kgdG8gc3VtbWFyaXplMDMGCCsGAQUFBwIBFidodHRwOi8v"
- "d3d3LmV4YW1wbGUuY29tL2EtcG9saWN5LXRvLXJlYWQwcQYMKwYBBAGqbAEKYwEB"
- "MGEwJAYIKwYBBQUHAgIwGAwWVGhpcyBpcyBhIHNob3J0IHBvbGljeTA5BggrBgEF"
- "BQcCARYtaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hbm90aGVyLXBvbGljeS10by1y"
- "ZWFkMB0GA1UdJQQWMBQGCCsGAQUFBwMDBggrBgEFBQcDCTBYBgNVHR4BAf8ETjBM"
- "oCQwDYILZXhhbXBsZS5jb20wE4ERbm1hdkBAZXhhbXBsZS5uZXShJDASghB0ZXN0"
- "LmV4YW1wbGUuY29tMA6BDC5leGFtcGxlLmNvbTA2BggrBgEFBQcBAQQqMCgwJgYI"
- "KwYBBQUHMAGGGmh0dHA6Ly9teS5vY3NwLnNlcnZlci9vY3NwMA8GA1UdDwEB/wQF"
- "AwMHBgAwHQYDVR0OBBYEFF1ArfDOlECVi36ZlB2SVCLKcjZfMG8GA1UdHwRoMGYw"
- "ZKBioGCGHmh0dHA6Ly93d3cuZ2V0Y3JsLmNybC9nZXRjcmwxL4YeaHR0cDovL3d3"
- "dy5nZXRjcmwuY3JsL2dldGNybDIvhh5odHRwOi8vd3d3LmdldGNybC5jcmwvZ2V0"
- "Y3JsMy8wDQYJKoZIhvcNAQELBQADgYEAdacOt4/Vgc9Y3pSkik3HBifDeK2OtiW0"
- "BZ7xOXqXtL8Uwx6wx/DybZsUbzuR55GLUROYAc3cio5M/0pTwjqmmQ8vuHIt2p8A"
- "2fegFcBbNLX38XxACQh4TDAT/4ftPwOtEol4UR4ItZ1d7faDzDXNpmGE+sp5s6ii"
- "3cIIpInMKE8=" "-----END CERTIFICATE-----";
+ "-----BEGIN CERTIFICATE-----"
+ "MIIFdDCCBN2gAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBkzEVMBMGA1UEAxMMQ2lu"
+ "ZHkgTGF1cGVyMRcwFQYKCZImiZPyLGQBARMHY2xhdXBlcjERMA8GA1UECxMIQ0Eg"
+ "ZGVwdC4xEjAQBgNVBAoTCUtva28gaW5jLjEPMA0GA1UECBMGQXR0aWtpMQswCQYD"
+ "VQQGEwJHUjEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25lLm9yZzAiGA8yMDA3MDQy"
+ "MTIyMDAwMFoYDzk5OTkxMjMxMjM1OTU5WjCBkzEVMBMGA1UEAxMMQ2luZHkgTGF1"
+ "cGVyMRcwFQYKCZImiZPyLGQBARMHY2xhdXBlcjERMA8GA1UECxMIQ0EgZGVwdC4x"
+ "EjAQBgNVBAoTCUtva28gaW5jLjEPMA0GA1UECBMGQXR0aWtpMQswCQYDVQQGEwJH"
+ "UjEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25lLm9yZzCBnzANBgkqhkiG9w0BAQEF"
+ "AAOBjQAwgYkCgYEApcbOdUOEv2SeAicT8QNZ93ktku18L1CkA/EtebmGiwV+OrtE"
+ "qq+EzxOYHhxKOPczLXqfctRrbSawMTdwEPtC6didGGV+GUn8BZYEaIMed4a/7fXl"
+ "EjsT/jMYnBp6HWmvRwJgeh+56M/byDQwUZY9jJZcALxh3ggPsTYhf6kA4wUCAwEA"
+ "AaOCAtAwggLMMBIGA1UdEwEB/wQIMAYBAf8CAQQwagYDVR0RBGMwYYIMd3d3Lm5v"
+ "bmUub3JnghN3d3cubW9yZXRoYW5vbmUub3Jnghd3d3cuZXZlbm1vcmV0aGFub25l"
+ "Lm9yZ4cEwKgBAYENbm9uZUBub25lLm9yZ4EOd2hlcmVAbm9uZS5vcmcwgfcGA1Ud"
+ "IASB7zCB7DB3BgwrBgEEAapsAQpjAQAwZzAwBggrBgEFBQcCAjAkDCJUaGlzIGlz"
+ "IGEgbG9uZyBwb2xpY3kgdG8gc3VtbWFyaXplMDMGCCsGAQUFBwIBFidodHRwOi8v"
+ "d3d3LmV4YW1wbGUuY29tL2EtcG9saWN5LXRvLXJlYWQwcQYMKwYBBAGqbAEKYwEB"
+ "MGEwJAYIKwYBBQUHAgIwGAwWVGhpcyBpcyBhIHNob3J0IHBvbGljeTA5BggrBgEF"
+ "BQcCARYtaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hbm90aGVyLXBvbGljeS10by1y"
+ "ZWFkMB0GA1UdJQQWMBQGCCsGAQUFBwMDBggrBgEFBQcDCTBYBgNVHR4BAf8ETjBM"
+ "oCQwDYILZXhhbXBsZS5jb20wE4ERbm1hdkBAZXhhbXBsZS5uZXShJDASghB0ZXN0"
+ "LmV4YW1wbGUuY29tMA6BDC5leGFtcGxlLmNvbTA2BggrBgEFBQcBAQQqMCgwJgYI"
+ "KwYBBQUHMAGGGmh0dHA6Ly9teS5vY3NwLnNlcnZlci9vY3NwMA8GA1UdDwEB/wQF"
+ "AwMHBgAwHQYDVR0OBBYEFF1ArfDOlECVi36ZlB2SVCLKcjZfMG8GA1UdHwRoMGYw"
+ "ZKBioGCGHmh0dHA6Ly93d3cuZ2V0Y3JsLmNybC9nZXRjcmwxL4YeaHR0cDovL3d3"
+ "dy5nZXRjcmwuY3JsL2dldGNybDIvhh5odHRwOi8vd3d3LmdldGNybC5jcmwvZ2V0"
+ "Y3JsMy8wDQYJKoZIhvcNAQELBQADgYEAdacOt4/Vgc9Y3pSkik3HBifDeK2OtiW0"
+ "BZ7xOXqXtL8Uwx6wx/DybZsUbzuR55GLUROYAc3cio5M/0pTwjqmmQ8vuHIt2p8A"
+ "2fegFcBbNLX38XxACQh4TDAT/4ftPwOtEol4UR4ItZ1d7faDzDXNpmGE+sp5s6ii"
+ "3cIIpInMKE8="
+ "-----END CERTIFICATE-----";
#define MAX_DATA_SIZE 1024
-typedef int (*ext_parse_func)(const gnutls_datum_t * der);
+typedef int (*ext_parse_func)(const gnutls_datum_t *der);
struct ext_handler_st {
const char *oid;
@@ -93,12 +94,12 @@ struct ext_handler_st {
unsigned critical;
};
-static int basic_constraints(const gnutls_datum_t * der)
+static int basic_constraints(const gnutls_datum_t *der)
{
int ret, pathlen;
unsigned ca;
-/*
+ /*
Basic Constraints (critical):
Certificate Authority (CA): TRUE
Path Length Constraint: 4
@@ -122,8 +123,8 @@ static int basic_constraints(const gnutls_datum_t * der)
return 0;
}
-static int cmp_name(unsigned type, gnutls_datum_t * name,
- unsigned expected_type, const char *expected_name)
+static int cmp_name(unsigned type, gnutls_datum_t *name, unsigned expected_type,
+ const char *expected_name)
{
if (type != expected_type) {
fprintf(stderr, "error in %d\n", __LINE__);
@@ -142,7 +143,7 @@ static int cmp_name(unsigned type, gnutls_datum_t * name,
return 0;
}
-static int subject_alt_name(const gnutls_datum_t * der)
+static int subject_alt_name(const gnutls_datum_t *der)
{
int ret;
gnutls_subject_alt_names_t san;
@@ -168,7 +169,7 @@ static int subject_alt_name(const gnutls_datum_t * der)
return ret;
}
-/*
+ /*
Subject Alternative Name (not critical):
DNSname: www.none.org
DNSname: www.morethanone.org
@@ -199,9 +200,8 @@ static int subject_alt_name(const gnutls_datum_t * der)
fprintf(stderr, "error in %d\n", __LINE__);
return ret;
}
- ret =
- cmp_name(type, &name, GNUTLS_SAN_DNSNAME,
- "www.evenmorethanone.org");
+ ret = cmp_name(type, &name, GNUTLS_SAN_DNSNAME,
+ "www.evenmorethanone.org");
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
return ret;
@@ -250,9 +250,9 @@ static int subject_alt_name(const gnutls_datum_t * der)
return 0;
}
-static int ext_key_usage(const gnutls_datum_t * der)
+static int ext_key_usage(const gnutls_datum_t *der)
{
-/*
+ /*
Key Purpose (not critical):
OCSP signing.
*/
@@ -308,7 +308,7 @@ static int ext_key_usage(const gnutls_datum_t * der)
return 0;
}
-static int crt_policies(const gnutls_datum_t * der)
+static int crt_policies(const gnutls_datum_t *der)
{
int ret;
gnutls_x509_policies_t policies;
@@ -332,7 +332,7 @@ static int crt_policies(const gnutls_datum_t * der)
fprintf(stderr, "error in %d\n", __LINE__);
return ret;
}
-/*
+ /*
Certificate Policies (not critical):
1.3.6.1.4.1.5484.1.10.99.1.0
Note: This is a long policy to summarize
@@ -341,8 +341,8 @@ static int crt_policies(const gnutls_datum_t * der)
Note: This is a short policy
URI: http://www.example.com/another-policy-to-read
*/
- if (strcmp(policy.oid, "1.3.6.1.4.1.5484.1.10.99.1.0") != 0
- || policy.qualifiers != 2) {
+ if (strcmp(policy.oid, "1.3.6.1.4.1.5484.1.10.99.1.0") != 0 ||
+ policy.qualifiers != 2) {
fprintf(stderr, "error in %d\n", __LINE__);
return -1;
}
@@ -355,9 +355,9 @@ static int crt_policies(const gnutls_datum_t * der)
if (policy.qualifier[1].type != GNUTLS_X509_QUALIFIER_URI ||
policy.qualifier[1].size !=
- strlen("http://www.example.com/a-policy-to-read")
- || strcmp("http://www.example.com/a-policy-to-read",
- policy.qualifier[1].data) != 0) {
+ strlen("http://www.example.com/a-policy-to-read") ||
+ strcmp("http://www.example.com/a-policy-to-read",
+ policy.qualifier[1].data) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
return -1;
}
@@ -368,8 +368,8 @@ static int crt_policies(const gnutls_datum_t * der)
fprintf(stderr, "error in %d\n", __LINE__);
return ret;
}
- if (strcmp(policy.oid, "1.3.6.1.4.1.5484.1.10.99.1.1") != 0
- || policy.qualifiers != 2) {
+ if (strcmp(policy.oid, "1.3.6.1.4.1.5484.1.10.99.1.1") != 0 ||
+ policy.qualifiers != 2) {
fprintf(stderr, "error in %d\n", __LINE__);
return -1;
}
@@ -382,9 +382,9 @@ static int crt_policies(const gnutls_datum_t * der)
if (policy.qualifier[1].type != GNUTLS_X509_QUALIFIER_URI ||
policy.qualifier[1].size !=
- strlen("http://www.example.com/another-policy-to-read")
- || strcmp("http://www.example.com/another-policy-to-read",
- policy.qualifier[1].data) != 0) {
+ strlen("http://www.example.com/another-policy-to-read") ||
+ strcmp("http://www.example.com/another-policy-to-read",
+ policy.qualifier[1].data) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
return -1;
}
@@ -400,9 +400,9 @@ static int crt_policies(const gnutls_datum_t * der)
return 0;
}
-static int key_usage(const gnutls_datum_t * der)
+static int key_usage(const gnutls_datum_t *der)
{
-/*
+ /*
Key Usage (critical):
Certificate signing.
*/
@@ -423,9 +423,9 @@ static int key_usage(const gnutls_datum_t * der)
return 0;
}
-static int subject_key_id(const gnutls_datum_t * der)
+static int subject_key_id(const gnutls_datum_t *der)
{
-/*
+ /*
Subject Key Identifier (not critical):
5d40adf0ce9440958b7e99941d925422ca72365f
*/
@@ -450,7 +450,7 @@ static int subject_key_id(const gnutls_datum_t * der)
return 0;
}
-static int crl_dist_points(const gnutls_datum_t * der)
+static int crl_dist_points(const gnutls_datum_t *der)
{
int ret;
gnutls_x509_crl_dist_points_t dp = NULL;
@@ -459,7 +459,7 @@ static int crl_dist_points(const gnutls_datum_t * der)
gnutls_datum_t url;
unsigned type;
-/*
+ /*
CRL Distribution points (not critical):
URI: http://www.getcrl.crl/getcrl1/
URI: http://www.getcrl.crl/getcrl2/
@@ -525,7 +525,7 @@ static int crl_dist_points(const gnutls_datum_t * der)
return 0;
}
-static int name_constraints(const gnutls_datum_t * der)
+static int name_constraints(const gnutls_datum_t *der)
{
int ret;
gnutls_x509_name_constraints_t nc = NULL;
@@ -533,7 +533,7 @@ static int name_constraints(const gnutls_datum_t * der)
gnutls_datum_t name;
unsigned type;
-/*
+ /*
Name Constraints (critical):
Permitted:
DNSname: example.com
@@ -621,7 +621,7 @@ static int name_constraints(const gnutls_datum_t * der)
return 0;
}
-static int ext_aia(const gnutls_datum_t * der)
+static int ext_aia(const gnutls_datum_t *der)
{
int ret;
gnutls_x509_aia_t aia = NULL;
@@ -630,7 +630,7 @@ static int ext_aia(const gnutls_datum_t * der)
gnutls_datum_t name;
unsigned type;
-/* Authority Information Access (not critical):
+ /* Authority Information Access (not critical):
Access Method: 1.3.6.1.5.5.7.48.1 (id-ad-ocsp)
Access Location URI: http://my.ocsp.server/ocsp
*/
@@ -675,24 +675,24 @@ static int ext_aia(const gnutls_datum_t * der)
}
struct ext_handler_st handlers[] = {
- {GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS, basic_constraints, 1},
- {GNUTLS_X509EXT_OID_SAN, subject_alt_name, 0},
- {GNUTLS_X509EXT_OID_CRT_POLICY, crt_policies, 0},
- {GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE, ext_key_usage, 0},
- {GNUTLS_X509EXT_OID_KEY_USAGE, key_usage, 1},
- {GNUTLS_X509EXT_OID_SUBJECT_KEY_ID, subject_key_id, 0},
- {GNUTLS_X509EXT_OID_CRL_DIST_POINTS, crl_dist_points, 0},
- {GNUTLS_X509EXT_OID_NAME_CONSTRAINTS, name_constraints, 1},
- {GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS, ext_aia, 0},
- {NULL, NULL}
+ { GNUTLS_X509EXT_OID_BASIC_CONSTRAINTS, basic_constraints, 1 },
+ { GNUTLS_X509EXT_OID_SAN, subject_alt_name, 0 },
+ { GNUTLS_X509EXT_OID_CRT_POLICY, crt_policies, 0 },
+ { GNUTLS_X509EXT_OID_EXTENDED_KEY_USAGE, ext_key_usage, 0 },
+ { GNUTLS_X509EXT_OID_KEY_USAGE, key_usage, 1 },
+ { GNUTLS_X509EXT_OID_SUBJECT_KEY_ID, subject_key_id, 0 },
+ { GNUTLS_X509EXT_OID_CRL_DIST_POINTS, crl_dist_points, 0 },
+ { GNUTLS_X509EXT_OID_NAME_CONSTRAINTS, name_constraints, 1 },
+ { GNUTLS_X509EXT_OID_AUTHORITY_INFO_ACCESS, ext_aia, 0 },
+ { NULL, NULL }
};
void doit(void)
{
int ret;
gnutls_datum_t derCert = { (void *)pem, sizeof(pem) - 1 };
- gnutls_datum_t v1Cert =
- { (void *)invalid_cert, sizeof(invalid_cert) - 1 };
+ gnutls_datum_t v1Cert = { (void *)invalid_cert,
+ sizeof(invalid_cert) - 1 };
gnutls_x509_crt_t cert;
size_t oid_len = MAX_DATA_SIZE;
gnutls_datum_t ext;
@@ -710,7 +710,8 @@ void doit(void)
ret = gnutls_x509_crt_import(cert, &v1Cert, GNUTLS_X509_FMT_PEM);
if (ret >= 0)
- fail("crt_import of v1 cert with extensions should have failed: %d\n", ret);
+ fail("crt_import of v1 cert with extensions should have failed: %d\n",
+ ret);
gnutls_x509_crt_deinit(cert);
ret = gnutls_x509_crt_init(&cert);
@@ -723,9 +724,8 @@ void doit(void)
for (i = 0;; i++) {
oid_len = sizeof(oid);
- ret =
- gnutls_x509_crt_get_extension_info(cert, i, oid, &oid_len,
- &critical);
+ ret = gnutls_x509_crt_get_extension_info(cert, i, oid, &oid_len,
+ &critical);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
if (i != 9) {
fail("unexpected number of extensions: %d\n",
@@ -748,7 +748,8 @@ void doit(void)
/* find the handler for this extension and run it */
for (j = 0;; j++) {
if (handlers[j].oid == NULL) {
- fail("could not find handler for extension %s\n", oid);
+ fail("could not find handler for extension %s\n",
+ oid);
break;
}
diff --git a/tests/x509-server-verify.c b/tests/x509-server-verify.c
index b2685e114d..61f2bb2b06 100644
--- a/tests/x509-server-verify.c
+++ b/tests/x509-server-verify.c
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -69,19 +69,15 @@ static void start(const char *prio)
gnutls_global_set_log_level(2);
assert(gnutls_certificate_allocate_credentials(&serverx509cred) >= 0);
- ret =
- gnutls_certificate_set_x509_key_mem2(serverx509cred,
- &server_ca3_localhost6_cert,
- &server_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_mem2(
+ serverx509cred, &server_ca3_localhost6_cert, &server_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
assert(ret >= 0);
index1 = ret;
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(serverx509cred,
- &ocsp_ca3_localhost6_unknown_pem,
- index1,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ serverx509cred, &ocsp_ca3_localhost6_unknown_pem, index1,
+ GNUTLS_X509_FMT_PEM);
assert(ret >= 0);
assert(gnutls_init(&server, GNUTLS_SERVER) >= 0);
@@ -96,19 +92,15 @@ static void start(const char *prio)
assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
GNUTLS_X509_FMT_PEM) >= 0);
- ret =
- gnutls_certificate_set_x509_key_mem2(clientx509cred,
- &cli_ca3_cert_chain,
- &cli_ca3_key,
- GNUTLS_X509_FMT_PEM, NULL, 0);
+ ret = gnutls_certificate_set_x509_key_mem2(
+ clientx509cred, &cli_ca3_cert_chain, &cli_ca3_key,
+ GNUTLS_X509_FMT_PEM, NULL, 0);
assert(ret >= 0);
index1 = ret;
- ret =
- gnutls_certificate_set_ocsp_status_request_mem(clientx509cred,
- &ocsp_cli_ca3_good_pem,
- index1,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_certificate_set_ocsp_status_request_mem(
+ clientx509cred, &ocsp_cli_ca3_good_pem, index1,
+ GNUTLS_X509_FMT_PEM);
assert(ret >= 0);
assert(gnutls_certificate_set_x509_trust_mem(clientx509cred, &ca3_cert,
@@ -139,8 +131,9 @@ static void start(const char *prio)
if (status == 0)
fail("No CAs present but succeeded!\n");
- assert(gnutls_certificate_set_x509_trust_mem
- (serverx509cred, &ca3_cert, GNUTLS_X509_FMT_PEM) >= 0);
+ assert(gnutls_certificate_set_x509_trust_mem(
+ serverx509cred, &ca3_cert,
+ GNUTLS_X509_FMT_PEM) >= 0);
ret = gnutls_certificate_verify_peers2(server, &status);
if (ret < 0) {
@@ -153,17 +146,15 @@ static void start(const char *prio)
/* under TLS1.3 the client can send OCSP responses too */
if (gnutls_protocol_get_version(server) == GNUTLS_TLS1_3) {
- ret =
- gnutls_ocsp_status_request_is_checked(server,
- GNUTLS_OCSP_SR_IS_AVAIL);
+ ret = gnutls_ocsp_status_request_is_checked(
+ server, GNUTLS_OCSP_SR_IS_AVAIL);
assert(ret >= 0);
ret = gnutls_ocsp_status_request_is_checked(server, 0);
assert(ret >= 0);
} else {
- ret =
- gnutls_ocsp_status_request_is_checked(server,
- GNUTLS_OCSP_SR_IS_AVAIL);
+ ret = gnutls_ocsp_status_request_is_checked(
+ server, GNUTLS_OCSP_SR_IS_AVAIL);
assert(ret == 0);
ret = gnutls_ocsp_status_request_is_checked(server, 0);
diff --git a/tests/x509-upnconstraint.c b/tests/x509-upnconstraint.c
index 24f0078667..61ec078105 100644
--- a/tests/x509-upnconstraint.c
+++ b/tests/x509-upnconstraint.c
@@ -39,64 +39,64 @@ void verify_non_upn_leaf(gnutls_x509_name_constraints_t);
static const char _domaincontroller[] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIEqTCCA5GgAwIBAgITQAAAAAPX0eQxgcZpHAAAAAAAAzANBgkqhkiG9w0BAQsF\n"
- "ADA0MRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xGzAZBgNVBAMTEkV4YW1wbGUgQ29y\n"
- "cCBBRCBDQTAeFw0yMjA0MTIxNjUzMTFaFw0yNzA0MTExNjUzMTFaMCIxIDAeBgNV\n"
- "BAMTF2V4YW1wbGVkYzAxLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC\n"
- "AQ8AMIIBCgKCAQEAtnYFOqZas9U9GX87w2bvyQh6l3fWJ83JHEHAwP11j9dQu/sa\n"
- "qgMYr/OqH+5tCvsDLt9sI35RCuF+6San3P1m56G+iYaawE46UrbHSYC4PyhinOXx\n"
- "X3xXzaxjTDYhz46Fvfmoqa732zPYG3QQplPsjQbRx96iXOSkdWt8g4mbTJ/eyYdG\n"
- "uXt1mlvL+USz5b39trOgSgTC60cdneBrQsBh7o80rHvaprvjTY5mHS7JNHcsr9Hs\n"
- "xjOOq9t3LdWehXYshINZ6ChxaHipbBUF+0CTvwJW8wvQtSV6MYDl+cbS/47OwJG0\n"
- "OXJxFVQofJWNi4/IrTC42d3fyEWA2ZnP898GeQIDAQABo4IBxDCCAcAwPQYJKwYB\n"
- "BAGCNxUHBDAwLgYmKwYBBAGCNxUIg/iOToSq0GWEhZMhhZ3KIoKY1VocgufIbYTY\n"
- "+3sCAWQCAQIwMgYDVR0lBCswKQYHKwYBBQIDBQYKKwYBBAGCNxQCAgYIKwYBBQUH\n"
- "AwEGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDBABgkrBgEEAYI3FQoEMzAxMAkG\n"
- "BysGAQUCAwUwDAYKKwYBBAGCNxQCAjAKBggrBgEFBQcDATAKBggrBgEFBQcDAjAd\n"
- "BgNVHQ4EFgQUjaBu4CsVk5gng+ACWTSqsj1gmVQwNAYDVR0RBC0wK4IXZXhhbXBs\n"
- "ZWRjMDEuZXhhbXBsZS5jb22CEGxkYXAuZXhhbXBsZS5jb20wHwYDVR0jBBgwFoAU\n"
- "aRL34OyTRJUSVVfxMiMjBFHk/WowOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL3Br\n"
- "aS5leGFtcGxlLmNvbS9jZHAvRXhhbXBsZUFEQ0EuY3JsMEYGCCsGAQUFBwEBBDow\n"
- "ODA2BggrBgEFBQcwAoYqaHR0cDovL3BraS5leGFtcGxlLmNvbS9haWEvRXhhbXBs\n"
- "ZUFEQ0EuY2VyMA0GCSqGSIb3DQEBCwUAA4IBAQCKr0WQYujcyUOUZp63i27dMihf\n"
- "z+WKd2G+dyGzmNTabFlZSfquFo+MWmSM04UOEYS45tyFZhWEXXaz4OfilelKy5XI\n"
- "tiZRGDvzNzxfb7GQSWDO1mxLHW2yEH+1Cyu/Km0PRhDl1Vy0DFyrdGh/w7qTM7eG\n"
- "BjD0bBtk9/M58IYlnzx7CM53CRGhPHUygontN1vbWf42gDdu+5d+tnls86gTzuRs\n"
- "su4BReayHU9aFqorWhvxCQhgnLx98Ei2BsJe5nbSzjVA5ZhPcL9WDC76aDPEDaZg\n"
- "GnNu9kZJV/UrCaulu0COhJfNocd/LWXZbUStUCenRX01GHCP+4mNmPLJkVh2\n"
- "-----END CERTIFICATE-----"
+ "MIIEqTCCA5GgAwIBAgITQAAAAAPX0eQxgcZpHAAAAAAAAzANBgkqhkiG9w0BAQsF\n"
+ "ADA0MRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xGzAZBgNVBAMTEkV4YW1wbGUgQ29y\n"
+ "cCBBRCBDQTAeFw0yMjA0MTIxNjUzMTFaFw0yNzA0MTExNjUzMTFaMCIxIDAeBgNV\n"
+ "BAMTF2V4YW1wbGVkYzAxLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC\n"
+ "AQ8AMIIBCgKCAQEAtnYFOqZas9U9GX87w2bvyQh6l3fWJ83JHEHAwP11j9dQu/sa\n"
+ "qgMYr/OqH+5tCvsDLt9sI35RCuF+6San3P1m56G+iYaawE46UrbHSYC4PyhinOXx\n"
+ "X3xXzaxjTDYhz46Fvfmoqa732zPYG3QQplPsjQbRx96iXOSkdWt8g4mbTJ/eyYdG\n"
+ "uXt1mlvL+USz5b39trOgSgTC60cdneBrQsBh7o80rHvaprvjTY5mHS7JNHcsr9Hs\n"
+ "xjOOq9t3LdWehXYshINZ6ChxaHipbBUF+0CTvwJW8wvQtSV6MYDl+cbS/47OwJG0\n"
+ "OXJxFVQofJWNi4/IrTC42d3fyEWA2ZnP898GeQIDAQABo4IBxDCCAcAwPQYJKwYB\n"
+ "BAGCNxUHBDAwLgYmKwYBBAGCNxUIg/iOToSq0GWEhZMhhZ3KIoKY1VocgufIbYTY\n"
+ "+3sCAWQCAQIwMgYDVR0lBCswKQYHKwYBBQIDBQYKKwYBBAGCNxQCAgYIKwYBBQUH\n"
+ "AwEGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIFoDBABgkrBgEEAYI3FQoEMzAxMAkG\n"
+ "BysGAQUCAwUwDAYKKwYBBAGCNxQCAjAKBggrBgEFBQcDATAKBggrBgEFBQcDAjAd\n"
+ "BgNVHQ4EFgQUjaBu4CsVk5gng+ACWTSqsj1gmVQwNAYDVR0RBC0wK4IXZXhhbXBs\n"
+ "ZWRjMDEuZXhhbXBsZS5jb22CEGxkYXAuZXhhbXBsZS5jb20wHwYDVR0jBBgwFoAU\n"
+ "aRL34OyTRJUSVVfxMiMjBFHk/WowOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL3Br\n"
+ "aS5leGFtcGxlLmNvbS9jZHAvRXhhbXBsZUFEQ0EuY3JsMEYGCCsGAQUFBwEBBDow\n"
+ "ODA2BggrBgEFBQcwAoYqaHR0cDovL3BraS5leGFtcGxlLmNvbS9haWEvRXhhbXBs\n"
+ "ZUFEQ0EuY2VyMA0GCSqGSIb3DQEBCwUAA4IBAQCKr0WQYujcyUOUZp63i27dMihf\n"
+ "z+WKd2G+dyGzmNTabFlZSfquFo+MWmSM04UOEYS45tyFZhWEXXaz4OfilelKy5XI\n"
+ "tiZRGDvzNzxfb7GQSWDO1mxLHW2yEH+1Cyu/Km0PRhDl1Vy0DFyrdGh/w7qTM7eG\n"
+ "BjD0bBtk9/M58IYlnzx7CM53CRGhPHUygontN1vbWf42gDdu+5d+tnls86gTzuRs\n"
+ "su4BReayHU9aFqorWhvxCQhgnLx98Ei2BsJe5nbSzjVA5ZhPcL9WDC76aDPEDaZg\n"
+ "GnNu9kZJV/UrCaulu0COhJfNocd/LWXZbUStUCenRX01GHCP+4mNmPLJkVh2\n"
+ "-----END CERTIFICATE-----"
};
static const char _issuingca[] = {
-/* The intermediate CA with name constraints */
+ /* The intermediate CA with name constraints */
"-----BEGIN CERTIFICATE-----\n"
- "MIIE0jCCA7qgAwIBAgITLgAAAAK9f34egj9VJAAAAAAAAjANBgkqhkiG9w0BAQsF\n"
- "ADA2MRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xHTAbBgNVBAMTFEV4YW1wbGUgQ29y\n"
- "cCBSb290IENBMCAXDTIyMDQxMjE2Mzk0M1oYDzIwNjcwNDEyMTY0OTQzWjA0MRUw\n"
- "EwYDVQQKEwxFeGFtcGxlIEluYy4xGzAZBgNVBAMTEkV4YW1wbGUgQ29ycCBBRCBD\n"
- "QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALs2TqehwJfMyrU77MRv\n"
- "4jgwgnsruZMexMGwT6A5oxdjKNhyXnsdiYiH3nFEgrHSCOAxgoCDJYlDLn0jZYdS\n"
- "3j7hMrhzAwHzwUgTrruHaTZ2tShxbfvUAGuuOroSVB4+XzS22RKdgh7g1cv3scWI\n"
- "62M2vfV8iBpehD5xhmqfu2Z9ChNTR32HLHdFdsMFuS+t0Zktszk1qE9AClFa7ttr\n"
- "VKgOyEmjgXlhX/Qld4zgCvxvI/jMPbEKrU2ZFeRV160vGaraAVjF0Oxe9TFH9fLZ\n"
- "E+ERghmfdzzbNOXikgExrsveALNRsbTyIhKmEDRGMN/y12htghHvBamwGDt/gj9q\n"
- "3fECAwEAAaOCAdcwggHTMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRpEvfg\n"
- "7JNElRJVV/EyIyMEUeT9ajAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\n"
- "HQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQlQb5lkuye\n"
- "IfoJIi/ctatOBUANSDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vcGtpLmV4YW1w\n"
- "bGUuY29tL2NkcC9FeGFtcGxlUm9vdC5jcmwwggEEBgNVHR4BAf8EgfkwgfagajAN\n"
- "ggtleGFtcGxlLmNvbTAOggwuZXhhbXBsZS5jb20wCYIHRVhBTVBMRTAeoBwGCisG\n"
- "AQQBgjcUAgOgDgwMQGV4YW1wbGUuY29tMB6gHAYKKwYBBAGCNxQCA6AODAwuZXhh\n"
- "bXBsZS5jb22hgYcwF4IVc3ViZG9tYWluLmV4YW1wbGUuY29tMBiCFi5zdWJkb21h\n"
- "aW4uZXhhbXBsZS5jb20wKKAmBgorBgEEAYI3FAIDoBgMFkBzdWJkb21haW4uZXhh\n"
- "bXBsZS5jb20wKKAmBgorBgEEAYI3FAIDoBgMFi5zdWJkb21haW4uZXhhbXBsZS5j\n"
- "b20wDQYJKoZIhvcNAQELBQADggEBAG+gD/ZNEaoukBt/U+7tGOwx5bTAdNChYZEU\n"
- "Wzt5XoJ0ZgClfgtKk/hmDxPsUEVOzaYEtUrj8V0qJun5YwEzZsZbHAkbkTOcQ2tC\n"
- "5Jv7czs0IYrSCJIgz7PdNSxTaXyCpipzUvSdZxQj3Bjj+MiYiReEwxhAb6bI/D8h\n"
- "HXk9T5iHiw9f7P6ZTBvx5keUjAePO8sc0CtefOIH+tyRY1oEHAzMSDzqhpeZDAtM\n"
- "N93KZkhnx/kmQhqLXhrck9Ubozw++e2iP83bTojTFSodRiKWPtUKOHAlPvIWQURc\n"
- "YP0dQUsv1tMnNjJgA7COp1+mmqfEUVQqmBwRbJ26ve2iwS/SAgI=\n"
- "-----END CERTIFICATE-----"
+ "MIIE0jCCA7qgAwIBAgITLgAAAAK9f34egj9VJAAAAAAAAjANBgkqhkiG9w0BAQsF\n"
+ "ADA2MRUwEwYDVQQKEwxFeGFtcGxlIEluYy4xHTAbBgNVBAMTFEV4YW1wbGUgQ29y\n"
+ "cCBSb290IENBMCAXDTIyMDQxMjE2Mzk0M1oYDzIwNjcwNDEyMTY0OTQzWjA0MRUw\n"
+ "EwYDVQQKEwxFeGFtcGxlIEluYy4xGzAZBgNVBAMTEkV4YW1wbGUgQ29ycCBBRCBD\n"
+ "QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALs2TqehwJfMyrU77MRv\n"
+ "4jgwgnsruZMexMGwT6A5oxdjKNhyXnsdiYiH3nFEgrHSCOAxgoCDJYlDLn0jZYdS\n"
+ "3j7hMrhzAwHzwUgTrruHaTZ2tShxbfvUAGuuOroSVB4+XzS22RKdgh7g1cv3scWI\n"
+ "62M2vfV8iBpehD5xhmqfu2Z9ChNTR32HLHdFdsMFuS+t0Zktszk1qE9AClFa7ttr\n"
+ "VKgOyEmjgXlhX/Qld4zgCvxvI/jMPbEKrU2ZFeRV160vGaraAVjF0Oxe9TFH9fLZ\n"
+ "E+ERghmfdzzbNOXikgExrsveALNRsbTyIhKmEDRGMN/y12htghHvBamwGDt/gj9q\n"
+ "3fECAwEAAaOCAdcwggHTMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRpEvfg\n"
+ "7JNElRJVV/EyIyMEUeT9ajAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\n"
+ "HQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQlQb5lkuye\n"
+ "IfoJIi/ctatOBUANSDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vcGtpLmV4YW1w\n"
+ "bGUuY29tL2NkcC9FeGFtcGxlUm9vdC5jcmwwggEEBgNVHR4BAf8EgfkwgfagajAN\n"
+ "ggtleGFtcGxlLmNvbTAOggwuZXhhbXBsZS5jb20wCYIHRVhBTVBMRTAeoBwGCisG\n"
+ "AQQBgjcUAgOgDgwMQGV4YW1wbGUuY29tMB6gHAYKKwYBBAGCNxQCA6AODAwuZXhh\n"
+ "bXBsZS5jb22hgYcwF4IVc3ViZG9tYWluLmV4YW1wbGUuY29tMBiCFi5zdWJkb21h\n"
+ "aW4uZXhhbXBsZS5jb20wKKAmBgorBgEEAYI3FAIDoBgMFkBzdWJkb21haW4uZXhh\n"
+ "bXBsZS5jb20wKKAmBgorBgEEAYI3FAIDoBgMFi5zdWJkb21haW4uZXhhbXBsZS5j\n"
+ "b20wDQYJKoZIhvcNAQELBQADggEBAG+gD/ZNEaoukBt/U+7tGOwx5bTAdNChYZEU\n"
+ "Wzt5XoJ0ZgClfgtKk/hmDxPsUEVOzaYEtUrj8V0qJun5YwEzZsZbHAkbkTOcQ2tC\n"
+ "5Jv7czs0IYrSCJIgz7PdNSxTaXyCpipzUvSdZxQj3Bjj+MiYiReEwxhAb6bI/D8h\n"
+ "HXk9T5iHiw9f7P6ZTBvx5keUjAePO8sc0CtefOIH+tyRY1oEHAzMSDzqhpeZDAtM\n"
+ "N93KZkhnx/kmQhqLXhrck9Ubozw++e2iP83bTojTFSodRiKWPtUKOHAlPvIWQURc\n"
+ "YP0dQUsv1tMnNjJgA7COp1+mmqfEUVQqmBwRbJ26ve2iwS/SAgI=\n"
+ "-----END CERTIFICATE-----"
};
const unsigned char example3[] = "@example.com";
@@ -118,13 +118,15 @@ void verify_upn_constraints(gnutls_x509_name_constraints_t name_constraints)
}
if (type != GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL) {
- fail("Error permitted constraint 3 is not UPN line: %d Found: %u\n", __LINE__, type);
+ fail("Error permitted constraint 3 is not UPN line: %d Found: %u\n",
+ __LINE__, type);
exit(1);
}
if ((constraint.size != sizeof(example3) - 1) ||
memcmp(constraint.data, example3, sizeof(example3) - 1) != 0) {
- fail("Error permitted constraint 3 was %s expected %s line: %d\n", constraint.data, example3, __LINE__);
+ fail("Error permitted constraint 3 was %s expected %s line: %d\n",
+ constraint.data, example3, __LINE__);
exit(1);
}
@@ -137,13 +139,15 @@ void verify_upn_constraints(gnutls_x509_name_constraints_t name_constraints)
}
if (type != GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL) {
- fail("Error permitted constraint 4 is not UPN line: %d Found: %u\n", __LINE__, type);
+ fail("Error permitted constraint 4 is not UPN line: %d Found: %u\n",
+ __LINE__, type);
exit(1);
}
if ((constraint.size != sizeof(example4) - 1) ||
memcmp(constraint.data, example4, sizeof(example4) - 1) != 0) {
- fail("Error permitted constraint 4 was %s expected %s line: %d\n", constraint.data, example4, __LINE__);
+ fail("Error permitted constraint 4 was %s expected %s line: %d\n",
+ constraint.data, example4, __LINE__);
exit(1);
}
@@ -156,13 +160,15 @@ void verify_upn_constraints(gnutls_x509_name_constraints_t name_constraints)
}
if (type != GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL) {
- fail("Error excluded constraint 2 is not UPN line: %d Found %u\n", __LINE__, type);
+ fail("Error excluded constraint 2 is not UPN line: %d Found %u\n",
+ __LINE__, type);
exit(1);
}
if ((constraint.size != sizeof(subdomain2) - 1) ||
memcmp(constraint.data, subdomain2, sizeof(subdomain2) - 1) != 0) {
- fail("Error excluded constraint 2 was %s expected %s line: %d\n", constraint.data, subdomain2, __LINE__);
+ fail("Error excluded constraint 2 was %s expected %s line: %d\n",
+ constraint.data, subdomain2, __LINE__);
exit(1);
}
@@ -175,13 +181,15 @@ void verify_upn_constraints(gnutls_x509_name_constraints_t name_constraints)
}
if (type != GNUTLS_SAN_OTHERNAME_MSUSERPRINCIPAL) {
- fail("Error excluded constraint 3 is not UPN line: %d Found %u\n", __LINE__, type);
+ fail("Error excluded constraint 3 is not UPN line: %d Found %u\n",
+ __LINE__, type);
exit(1);
}
if ((constraint.size != sizeof(subdomain3) - 1) ||
memcmp(constraint.data, subdomain3, sizeof(subdomain3) - 1) != 0) {
- fail("Error excluded constraint 3 was %s expected %s line: %d\n", constraint.data, subdomain3, __LINE__);
+ fail("Error excluded constraint 3 was %s expected %s line: %d\n",
+ constraint.data, subdomain3, __LINE__);
exit(1);
}
}
@@ -191,8 +199,8 @@ void verify_non_upn_leaf(gnutls_x509_name_constraints_t name_constraints)
// This test specifically checks for resolution of issue 1132
int ret = 0;
gnutls_x509_crt_t domaincontroller;
- gnutls_datum_t domaincontroller_datum = { (void *)_domaincontroller,
- sizeof(_domaincontroller) - 1
+ gnutls_datum_t domaincontroller_datum = {
+ (void *)_domaincontroller, sizeof(_domaincontroller) - 1
};
gnutls_x509_crt_init(&domaincontroller);
@@ -205,11 +213,11 @@ void verify_non_upn_leaf(gnutls_x509_name_constraints_t name_constraints)
exit(1);
}
- ret = gnutls_x509_name_constraints_check_crt(name_constraints,
- GNUTLS_SAN_DNSNAME,
- domaincontroller);
+ ret = gnutls_x509_name_constraints_check_crt(
+ name_constraints, GNUTLS_SAN_DNSNAME, domaincontroller);
if (ret < 0) {
- fail("Error failed to verify leaf cert against constraints line: %d\n", __LINE__);
+ fail("Error failed to verify leaf cert against constraints line: %d\n",
+ __LINE__);
exit(1);
}
@@ -221,8 +229,8 @@ void doit(void)
int ret;
unsigned int critical = 0;
gnutls_x509_crt_t issuingca;
- gnutls_datum_t issuingca_datum =
- { (void *)_issuingca, sizeof(_issuingca) - 1 };
+ gnutls_datum_t issuingca_datum = { (void *)_issuingca,
+ sizeof(_issuingca) - 1 };
gnutls_x509_crt_init(&issuingca);
@@ -243,9 +251,8 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_x509_crt_get_name_constraints(issuingca, name_constraints, 0,
- &critical);
+ ret = gnutls_x509_crt_get_name_constraints(issuingca, name_constraints,
+ 0, &critical);
if (ret < 0) {
// Failure here is potentially a regression to issue 1132 behavior
fail("Error loading constraints line: %d\n", __LINE__);
diff --git a/tests/x509-verify-duplicate.c b/tests/x509-verify-duplicate.c
index 1a2906c817..0cf6abd1f0 100644
--- a/tests/x509-verify-duplicate.c
+++ b/tests/x509-verify-duplicate.c
@@ -20,160 +20,161 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/x509.h>
#include "utils.h"
-#define CHECK(X)\
-{\
- r = X;\
- if (r < 0)\
- fail("error in %d: %s\n", __LINE__, gnutls_strerror(r));\
-}\
+#define CHECK(X) \
+ { \
+ r = X; \
+ if (r < 0) \
+ fail("error in %d: %s\n", __LINE__, \
+ gnutls_strerror(r)); \
+ }
static char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFLzCCBBegAwIBAgISAycvItcPAZ5yClzMOYYcod4cMA0GCSqGSIb3DQEBCwUA\n"
- "MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD\n"
- "EwJSMzAeFw0yMjA4MjMwNjMzMjlaFw0yMjExMjEwNjMzMjhaMBcxFTATBgNVBAMT\n"
- "DHZvaWRwb2ludC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANSt\n"
- "AazUWttuU/swyEdt70bpod6knYDJavnFUwicpT4ZfPh84Y2ci9Ay9oTVR8LzVq+o\n"
- "3FIGxXlBFhCtoGA5k5Soao/JB40+gsY+O8LgcNAdejU78m5W4e2qXq4eu/4tFUCw\n"
- "GkcRmqitnc5Jy0bEM+wCZKa42Lx0+WAhNRd/70yWIbzXOrXDnLgGc221JeYJ4it0\n"
- "ajYcf3AZuSHhL3qsTLLzuYorPqWmDy27psUiDDJOIjxVbBCRL+AY40TsQm7CZZhZ\n"
- "8sCkZU7rIvuDv7nf3QpUsF9Zqk9B3F4tTg0vsVuYeL1XCHGwpVeUS83MsZiLP8Zj\n"
- "XGQTM6GiWuOAZ9JJjrsCAwEAAaOCAlgwggJUMA4GA1UdDwEB/wQEAwIFoDAdBgNV\n"
- "HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4E\n"
- "FgQUlw1h3ZwSMKRwkrQ+F4XT3QV/tn8wHwYDVR0jBBgwFoAUFC6zF7dYVsuuUAlA\n"
- "5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8vcjMu\n"
- "by5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9yZy8w\n"
- "JwYDVR0RBCAwHoIOKi52b2lkcG9pbnQuaW+CDHZvaWRwb2ludC5pbzBMBgNVHSAE\n"
- "RTBDMAgGBmeBDAECATA3BgsrBgEEAYLfEwEBATAoMCYGCCsGAQUFBwIBFhpodHRw\n"
- "Oi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB2\n"
- "AN+lXqtogk8fbK3uuF9OPlrqzaISpGpejjsSwCBEXCpzAAABgsme4hAAAAQDAEcw\n"
- "RQIhAP6sPHv1PJez/VRMw5xmAAkNU/q9ydq1mTgp7j5uBB9AAiAxm+teG9utZCLP\n"
- "TTTv89FHwFV9omfZzDNAiNgg8METHwB3ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4\n"
- "+U1dJlwlXceEAAABgsme4gUAAAQDAEgwRgIhAPKWJ7WeuBUSnDqabTAVLKU+PpzA\n"
- "bJJ9sehaCKW9AicZAiEAqphpC0lF4/iz2Gkxgd/DEkl9SyyAmR/lEJ7cWDMFhz8w\n"
- "DQYJKoZIhvcNAQELBQADggEBAC0aCscObAdTerzGUrDsuQR5FuCTAmvdk3Isqjw1\n"
- "dG3WuiwW1Z4ecpqCdvDSIv3toQDWVk6g/oa3fHDnY0/tu//vCwdneDdjK3gCM6cj\n"
- "/q0cwj+rGFx/bEVz8PR5kc3DOHGKkmHPN1BNxeLBVpk4jxziXryAVbIvxq9JrGTE\n"
- "SfWbWcMkHHw/QzpUfyD3B/GI8qw6XhdaNNkLDEDNV0sCPCuZYc5FBZzU4ExB2vMG\n"
- "QVnPfxzKWmxHs10uxXyRZJlOrrbTGU8gi0vnOQZK290dtLzEyU2sdkic1ZSn+fCo\n"
- "k++37mNDkiTnIQa3olRqHkypWqGfj8OyqU4XBV2Mmu4UATc=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFLzCCBBegAwIBAgISAycvItcPAZ5yClzMOYYcod4cMA0GCSqGSIb3DQEBCwUA\n"
- "MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD\n"
- "EwJSMzAeFw0yMjA4MjMwNjMzMjlaFw0yMjExMjEwNjMzMjhaMBcxFTATBgNVBAMT\n"
- "DHZvaWRwb2ludC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANSt\n"
- "AazUWttuU/swyEdt70bpod6knYDJavnFUwicpT4ZfPh84Y2ci9Ay9oTVR8LzVq+o\n"
- "3FIGxXlBFhCtoGA5k5Soao/JB40+gsY+O8LgcNAdejU78m5W4e2qXq4eu/4tFUCw\n"
- "GkcRmqitnc5Jy0bEM+wCZKa42Lx0+WAhNRd/70yWIbzXOrXDnLgGc221JeYJ4it0\n"
- "ajYcf3AZuSHhL3qsTLLzuYorPqWmDy27psUiDDJOIjxVbBCRL+AY40TsQm7CZZhZ\n"
- "8sCkZU7rIvuDv7nf3QpUsF9Zqk9B3F4tTg0vsVuYeL1XCHGwpVeUS83MsZiLP8Zj\n"
- "XGQTM6GiWuOAZ9JJjrsCAwEAAaOCAlgwggJUMA4GA1UdDwEB/wQEAwIFoDAdBgNV\n"
- "HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4E\n"
- "FgQUlw1h3ZwSMKRwkrQ+F4XT3QV/tn8wHwYDVR0jBBgwFoAUFC6zF7dYVsuuUAlA\n"
- "5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8vcjMu\n"
- "by5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9yZy8w\n"
- "JwYDVR0RBCAwHoIOKi52b2lkcG9pbnQuaW+CDHZvaWRwb2ludC5pbzBMBgNVHSAE\n"
- "RTBDMAgGBmeBDAECATA3BgsrBgEEAYLfEwEBATAoMCYGCCsGAQUFBwIBFhpodHRw\n"
- "Oi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB2\n"
- "AN+lXqtogk8fbK3uuF9OPlrqzaISpGpejjsSwCBEXCpzAAABgsme4hAAAAQDAEcw\n"
- "RQIhAP6sPHv1PJez/VRMw5xmAAkNU/q9ydq1mTgp7j5uBB9AAiAxm+teG9utZCLP\n"
- "TTTv89FHwFV9omfZzDNAiNgg8METHwB3ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4\n"
- "+U1dJlwlXceEAAABgsme4gUAAAQDAEgwRgIhAPKWJ7WeuBUSnDqabTAVLKU+PpzA\n"
- "bJJ9sehaCKW9AicZAiEAqphpC0lF4/iz2Gkxgd/DEkl9SyyAmR/lEJ7cWDMFhz8w\n"
- "DQYJKoZIhvcNAQELBQADggEBAC0aCscObAdTerzGUrDsuQR5FuCTAmvdk3Isqjw1\n"
- "dG3WuiwW1Z4ecpqCdvDSIv3toQDWVk6g/oa3fHDnY0/tu//vCwdneDdjK3gCM6cj\n"
- "/q0cwj+rGFx/bEVz8PR5kc3DOHGKkmHPN1BNxeLBVpk4jxziXryAVbIvxq9JrGTE\n"
- "SfWbWcMkHHw/QzpUfyD3B/GI8qw6XhdaNNkLDEDNV0sCPCuZYc5FBZzU4ExB2vMG\n"
- "QVnPfxzKWmxHs10uxXyRZJlOrrbTGU8gi0vnOQZK290dtLzEyU2sdkic1ZSn+fCo\n"
- "k++37mNDkiTnIQa3olRqHkypWqGfj8OyqU4XBV2Mmu4UATc=\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw\n"
- "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n"
- "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw\n"
- "WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg\n"
- "RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
- "AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP\n"
- "R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx\n"
- "sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm\n"
- "NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg\n"
- "Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG\n"
- "/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC\n"
- "AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB\n"
- "Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA\n"
- "FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw\n"
- "AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw\n"
- "Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB\n"
- "gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W\n"
- "PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl\n"
- "ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz\n"
- "CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm\n"
- "lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4\n"
- "avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2\n"
- "yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O\n"
- "yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids\n"
- "hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+\n"
- "HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv\n"
- "MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX\n"
- "nLRbwHOoq7hHwg==\n"
- "-----END CERTIFICATE-----\n"
- "-----BEGIN CERTIFICATE-----\n"
- "MIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/\n"
- "MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\n"
- "DkRTVCBSb290IENBIFgzMB4XDTIxMDEyMDE5MTQwM1oXDTI0MDkzMDE4MTQwM1ow\n"
- "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n"
- "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwggIiMA0GCSqGSIb3DQEB\n"
- "AQUAA4ICDwAwggIKAoICAQCt6CRz9BQ385ueK1coHIe+3LffOJCMbjzmV6B493XC\n"
- "ov71am72AE8o295ohmxEk7axY/0UEmu/H9LqMZshftEzPLpI9d1537O4/xLxIZpL\n"
- "wYqGcWlKZmZsj348cL+tKSIG8+TA5oCu4kuPt5l+lAOf00eXfJlII1PoOK5PCm+D\n"
- "LtFJV4yAdLbaL9A4jXsDcCEbdfIwPPqPrt3aY6vrFk/CjhFLfs8L6P+1dy70sntK\n"
- "4EwSJQxwjQMpoOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5\n"
- "bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y\n"
- "sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ\n"
- "Xmidf3LWicUGQSk+WT7dJvUkyRGnWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4\n"
- "FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc\n"
- "SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql\n"
- "PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOdwiK1O5tmLOsbdJ1Fu/7xk9TND\n"
- "TwIDAQABo4IBRjCCAUIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\n"
- "SwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5pZGVudHJ1\n"
- "c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTEp7Gkeyxx\n"
- "+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEB\n"
- "ATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQu\n"
- "b3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0LmNvbS9E\n"
- "U1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFHm0WeZ7tuXkAXOACIjIGlj26Ztu\n"
- "MA0GCSqGSIb3DQEBCwUAA4IBAQAKcwBslm7/DlLQrt2M51oGrS+o44+/yQoDFVDC\n"
- "5WxCu2+b9LRPwkSICHXM6webFGJueN7sJ7o5XPWioW5WlHAQU7G75K/QosMrAdSW\n"
- "9MUgNTP52GE24HGNtLi1qoJFlcDyqSMo59ahy2cI2qBDLKobkx/J3vWraV0T9VuG\n"
- "WCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9O\n"
- "he8Y4IWS6wY7bCkjCWDcRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC\n"
- "Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFLzCCBBegAwIBAgISAycvItcPAZ5yClzMOYYcod4cMA0GCSqGSIb3DQEBCwUA\n"
+ "MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD\n"
+ "EwJSMzAeFw0yMjA4MjMwNjMzMjlaFw0yMjExMjEwNjMzMjhaMBcxFTATBgNVBAMT\n"
+ "DHZvaWRwb2ludC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANSt\n"
+ "AazUWttuU/swyEdt70bpod6knYDJavnFUwicpT4ZfPh84Y2ci9Ay9oTVR8LzVq+o\n"
+ "3FIGxXlBFhCtoGA5k5Soao/JB40+gsY+O8LgcNAdejU78m5W4e2qXq4eu/4tFUCw\n"
+ "GkcRmqitnc5Jy0bEM+wCZKa42Lx0+WAhNRd/70yWIbzXOrXDnLgGc221JeYJ4it0\n"
+ "ajYcf3AZuSHhL3qsTLLzuYorPqWmDy27psUiDDJOIjxVbBCRL+AY40TsQm7CZZhZ\n"
+ "8sCkZU7rIvuDv7nf3QpUsF9Zqk9B3F4tTg0vsVuYeL1XCHGwpVeUS83MsZiLP8Zj\n"
+ "XGQTM6GiWuOAZ9JJjrsCAwEAAaOCAlgwggJUMA4GA1UdDwEB/wQEAwIFoDAdBgNV\n"
+ "HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4E\n"
+ "FgQUlw1h3ZwSMKRwkrQ+F4XT3QV/tn8wHwYDVR0jBBgwFoAUFC6zF7dYVsuuUAlA\n"
+ "5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8vcjMu\n"
+ "by5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9yZy8w\n"
+ "JwYDVR0RBCAwHoIOKi52b2lkcG9pbnQuaW+CDHZvaWRwb2ludC5pbzBMBgNVHSAE\n"
+ "RTBDMAgGBmeBDAECATA3BgsrBgEEAYLfEwEBATAoMCYGCCsGAQUFBwIBFhpodHRw\n"
+ "Oi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB2\n"
+ "AN+lXqtogk8fbK3uuF9OPlrqzaISpGpejjsSwCBEXCpzAAABgsme4hAAAAQDAEcw\n"
+ "RQIhAP6sPHv1PJez/VRMw5xmAAkNU/q9ydq1mTgp7j5uBB9AAiAxm+teG9utZCLP\n"
+ "TTTv89FHwFV9omfZzDNAiNgg8METHwB3ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4\n"
+ "+U1dJlwlXceEAAABgsme4gUAAAQDAEgwRgIhAPKWJ7WeuBUSnDqabTAVLKU+PpzA\n"
+ "bJJ9sehaCKW9AicZAiEAqphpC0lF4/iz2Gkxgd/DEkl9SyyAmR/lEJ7cWDMFhz8w\n"
+ "DQYJKoZIhvcNAQELBQADggEBAC0aCscObAdTerzGUrDsuQR5FuCTAmvdk3Isqjw1\n"
+ "dG3WuiwW1Z4ecpqCdvDSIv3toQDWVk6g/oa3fHDnY0/tu//vCwdneDdjK3gCM6cj\n"
+ "/q0cwj+rGFx/bEVz8PR5kc3DOHGKkmHPN1BNxeLBVpk4jxziXryAVbIvxq9JrGTE\n"
+ "SfWbWcMkHHw/QzpUfyD3B/GI8qw6XhdaNNkLDEDNV0sCPCuZYc5FBZzU4ExB2vMG\n"
+ "QVnPfxzKWmxHs10uxXyRZJlOrrbTGU8gi0vnOQZK290dtLzEyU2sdkic1ZSn+fCo\n"
+ "k++37mNDkiTnIQa3olRqHkypWqGfj8OyqU4XBV2Mmu4UATc=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFLzCCBBegAwIBAgISAycvItcPAZ5yClzMOYYcod4cMA0GCSqGSIb3DQEBCwUA\n"
+ "MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD\n"
+ "EwJSMzAeFw0yMjA4MjMwNjMzMjlaFw0yMjExMjEwNjMzMjhaMBcxFTATBgNVBAMT\n"
+ "DHZvaWRwb2ludC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANSt\n"
+ "AazUWttuU/swyEdt70bpod6knYDJavnFUwicpT4ZfPh84Y2ci9Ay9oTVR8LzVq+o\n"
+ "3FIGxXlBFhCtoGA5k5Soao/JB40+gsY+O8LgcNAdejU78m5W4e2qXq4eu/4tFUCw\n"
+ "GkcRmqitnc5Jy0bEM+wCZKa42Lx0+WAhNRd/70yWIbzXOrXDnLgGc221JeYJ4it0\n"
+ "ajYcf3AZuSHhL3qsTLLzuYorPqWmDy27psUiDDJOIjxVbBCRL+AY40TsQm7CZZhZ\n"
+ "8sCkZU7rIvuDv7nf3QpUsF9Zqk9B3F4tTg0vsVuYeL1XCHGwpVeUS83MsZiLP8Zj\n"
+ "XGQTM6GiWuOAZ9JJjrsCAwEAAaOCAlgwggJUMA4GA1UdDwEB/wQEAwIFoDAdBgNV\n"
+ "HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4E\n"
+ "FgQUlw1h3ZwSMKRwkrQ+F4XT3QV/tn8wHwYDVR0jBBgwFoAUFC6zF7dYVsuuUAlA\n"
+ "5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8vcjMu\n"
+ "by5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9yZy8w\n"
+ "JwYDVR0RBCAwHoIOKi52b2lkcG9pbnQuaW+CDHZvaWRwb2ludC5pbzBMBgNVHSAE\n"
+ "RTBDMAgGBmeBDAECATA3BgsrBgEEAYLfEwEBATAoMCYGCCsGAQUFBwIBFhpodHRw\n"
+ "Oi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB2\n"
+ "AN+lXqtogk8fbK3uuF9OPlrqzaISpGpejjsSwCBEXCpzAAABgsme4hAAAAQDAEcw\n"
+ "RQIhAP6sPHv1PJez/VRMw5xmAAkNU/q9ydq1mTgp7j5uBB9AAiAxm+teG9utZCLP\n"
+ "TTTv89FHwFV9omfZzDNAiNgg8METHwB3ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4\n"
+ "+U1dJlwlXceEAAABgsme4gUAAAQDAEgwRgIhAPKWJ7WeuBUSnDqabTAVLKU+PpzA\n"
+ "bJJ9sehaCKW9AicZAiEAqphpC0lF4/iz2Gkxgd/DEkl9SyyAmR/lEJ7cWDMFhz8w\n"
+ "DQYJKoZIhvcNAQELBQADggEBAC0aCscObAdTerzGUrDsuQR5FuCTAmvdk3Isqjw1\n"
+ "dG3WuiwW1Z4ecpqCdvDSIv3toQDWVk6g/oa3fHDnY0/tu//vCwdneDdjK3gCM6cj\n"
+ "/q0cwj+rGFx/bEVz8PR5kc3DOHGKkmHPN1BNxeLBVpk4jxziXryAVbIvxq9JrGTE\n"
+ "SfWbWcMkHHw/QzpUfyD3B/GI8qw6XhdaNNkLDEDNV0sCPCuZYc5FBZzU4ExB2vMG\n"
+ "QVnPfxzKWmxHs10uxXyRZJlOrrbTGU8gi0vnOQZK290dtLzEyU2sdkic1ZSn+fCo\n"
+ "k++37mNDkiTnIQa3olRqHkypWqGfj8OyqU4XBV2Mmu4UATc=\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw\n"
+ "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n"
+ "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw\n"
+ "WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg\n"
+ "RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n"
+ "AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP\n"
+ "R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx\n"
+ "sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm\n"
+ "NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg\n"
+ "Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG\n"
+ "/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC\n"
+ "AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB\n"
+ "Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA\n"
+ "FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw\n"
+ "AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw\n"
+ "Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB\n"
+ "gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W\n"
+ "PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl\n"
+ "ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz\n"
+ "CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm\n"
+ "lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4\n"
+ "avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2\n"
+ "yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O\n"
+ "yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids\n"
+ "hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+\n"
+ "HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv\n"
+ "MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX\n"
+ "nLRbwHOoq7hHwg==\n"
+ "-----END CERTIFICATE-----\n"
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/\n"
+ "MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\n"
+ "DkRTVCBSb290IENBIFgzMB4XDTIxMDEyMDE5MTQwM1oXDTI0MDkzMDE4MTQwM1ow\n"
+ "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n"
+ "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwggIiMA0GCSqGSIb3DQEB\n"
+ "AQUAA4ICDwAwggIKAoICAQCt6CRz9BQ385ueK1coHIe+3LffOJCMbjzmV6B493XC\n"
+ "ov71am72AE8o295ohmxEk7axY/0UEmu/H9LqMZshftEzPLpI9d1537O4/xLxIZpL\n"
+ "wYqGcWlKZmZsj348cL+tKSIG8+TA5oCu4kuPt5l+lAOf00eXfJlII1PoOK5PCm+D\n"
+ "LtFJV4yAdLbaL9A4jXsDcCEbdfIwPPqPrt3aY6vrFk/CjhFLfs8L6P+1dy70sntK\n"
+ "4EwSJQxwjQMpoOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5\n"
+ "bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y\n"
+ "sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ\n"
+ "Xmidf3LWicUGQSk+WT7dJvUkyRGnWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4\n"
+ "FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc\n"
+ "SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql\n"
+ "PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOdwiK1O5tmLOsbdJ1Fu/7xk9TND\n"
+ "TwIDAQABo4IBRjCCAUIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\n"
+ "SwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5pZGVudHJ1\n"
+ "c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTEp7Gkeyxx\n"
+ "+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEB\n"
+ "ATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQu\n"
+ "b3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0LmNvbS9E\n"
+ "U1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFHm0WeZ7tuXkAXOACIjIGlj26Ztu\n"
+ "MA0GCSqGSIb3DQEBCwUAA4IBAQAKcwBslm7/DlLQrt2M51oGrS+o44+/yQoDFVDC\n"
+ "5WxCu2+b9LRPwkSICHXM6webFGJueN7sJ7o5XPWioW5WlHAQU7G75K/QosMrAdSW\n"
+ "9MUgNTP52GE24HGNtLi1qoJFlcDyqSMo59ahy2cI2qBDLKobkx/J3vWraV0T9VuG\n"
+ "WCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9O\n"
+ "he8Y4IWS6wY7bCkjCWDcRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC\n"
+ "Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5\n"
+ "-----END CERTIFICATE-----\n";
void doit(void)
{
int r;
unsigned i, certs_size, out;
- unsigned flags =
- GNUTLS_VERIFY_DO_NOT_ALLOW_SAME | GNUTLS_VERIFY_DISABLE_TIME_CHECKS;
+ unsigned flags = GNUTLS_VERIFY_DO_NOT_ALLOW_SAME |
+ GNUTLS_VERIFY_DISABLE_TIME_CHECKS;
gnutls_x509_trust_list_t tl;
gnutls_x509_crt_t *certs = NULL;
- gnutls_datum_t cert =
- { (unsigned char *)cert_pem, sizeof(cert_pem) - 1 };
+ gnutls_datum_t cert = { (unsigned char *)cert_pem,
+ sizeof(cert_pem) - 1 };
- CHECK(gnutls_x509_crt_list_import2
- (&certs, &certs_size, &cert, GNUTLS_X509_FMT_PEM, 0));
+ CHECK(gnutls_x509_crt_list_import2(&certs, &certs_size, &cert,
+ GNUTLS_X509_FMT_PEM, 0));
CHECK(gnutls_x509_trust_list_init(&tl, 0));
CHECK(gnutls_x509_trust_list_add_cas(tl, certs + certs_size - 1, 1, 0));
- CHECK(gnutls_x509_trust_list_verify_crt
- (tl, certs, certs_size, flags, &out, NULL));
+ CHECK(gnutls_x509_trust_list_verify_crt(tl, certs, certs_size, flags,
+ &out, NULL));
if (out)
fail("Not verified\n");
diff --git a/tests/x509-verify-with-crl.c b/tests/x509-verify-with-crl.c
index 3d9884b768..9b16cf91be 100644
--- a/tests/x509-verify-with-crl.c
+++ b/tests/x509-verify-with-crl.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -37,78 +37,83 @@
*/
static const char _ca[] = {
-/* CRL */
+ /* CRL */
"-----BEGIN CERTIFICATE-----\n"
- "MIIBfTCCASSgAwIBAgIBATAKBggqhkjOPQQDAjAkMQ8wDQYDVQQDEwZWUE4gQ0Ex\n"
- "ETAPBgNVBAoTCEJpZyBDb3JwMCIYDzIwMTQxMTMwMjA1NDQ1WhgPOTk5OTEyMzEy\n"
- "MzU5NTlaMCQxDzANBgNVBAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwWTAT\n"
- "BgcqhkjOPQIBBggqhkjOPQMBBwNCAASvDJl26Hzb47Xi+Wx6uJY0NUD+Bij+PJ9l\n"
- "mmS2wbLaLNyga5aRvf+s7HKq9o+7+CE6E0t8fuCe0j8nLN64iAZlo0MwQTAPBgNV\n"
- "HRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFFJATAcyatKW\n"
- "ionSww8obkh7JKCYMAoGCCqGSM49BAMCA0cAMEQCIDPmWRvQAUbnSrnh79DM46/l\n"
- "My88UjFi2+ZhmIwufLP7AiBB9eeXKUmtWXuXAar0vHNH6edgEcggHgfOOHekukOr\n"
- "hw==\n" "-----END CERTIFICATE-----\n"
+ "MIIBfTCCASSgAwIBAgIBATAKBggqhkjOPQQDAjAkMQ8wDQYDVQQDEwZWUE4gQ0Ex\n"
+ "ETAPBgNVBAoTCEJpZyBDb3JwMCIYDzIwMTQxMTMwMjA1NDQ1WhgPOTk5OTEyMzEy\n"
+ "MzU5NTlaMCQxDzANBgNVBAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwWTAT\n"
+ "BgcqhkjOPQIBBggqhkjOPQMBBwNCAASvDJl26Hzb47Xi+Wx6uJY0NUD+Bij+PJ9l\n"
+ "mmS2wbLaLNyga5aRvf+s7HKq9o+7+CE6E0t8fuCe0j8nLN64iAZlo0MwQTAPBgNV\n"
+ "HRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFFJATAcyatKW\n"
+ "ionSww8obkh7JKCYMAoGCCqGSM49BAMCA0cAMEQCIDPmWRvQAUbnSrnh79DM46/l\n"
+ "My88UjFi2+ZhmIwufLP7AiBB9eeXKUmtWXuXAar0vHNH6edgEcggHgfOOHekukOr\n"
+ "hw==\n"
+ "-----END CERTIFICATE-----\n"
};
gnutls_datum_t ca = { (void *)_ca, sizeof(_ca) - 1 };
static const char _server1[] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIBvzCCAWWgAwIBAgIMVHuEbjXPSvP+nSDXMAoGCCqGSM49BAMCMCQxDzANBgNV\n"
- "BAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwIhgPMjAxNDExMzAyMDU2MTRa\n"
- "GA85OTk5MTIzMTIzNTk1OVowJzERMA8GA1UEAwwIc2VydmVyMQ0xEjAQBgNVBAoT\n"
- "CU15Q29tcGFueTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLViTN5K7scNWH0u\n"
- "wLvlDj6nJdZ76sP+oZoev+gYMyV42JqG/60S2VizrAIcmQA9QFfGlZz2GpE641Gd\n"
- "HiH09dajdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYD\n"
- "VR0PAQH/BAUDAweAADAdBgNVHQ4EFgQUNWE8WZGVgvhyw/56sMSCuyXhBjMwHwYD\n"
- "VR0jBBgwFoAUUkBMBzJq0paKidLDDyhuSHskoJgwCgYIKoZIzj0EAwIDSAAwRQIh\n"
- "AKk+TA7XgvPwo6oDcAWUYgQbnKWEh5xO55nvNf6TVgMrAiAEI+w6IVJbXgtmskIJ\n"
- "gedi4kA4sDjRKtTzfxlIdaZhuA==\n" "-----END CERTIFICATE-----\n"
+ "MIIBvzCCAWWgAwIBAgIMVHuEbjXPSvP+nSDXMAoGCCqGSM49BAMCMCQxDzANBgNV\n"
+ "BAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwIhgPMjAxNDExMzAyMDU2MTRa\n"
+ "GA85OTk5MTIzMTIzNTk1OVowJzERMA8GA1UEAwwIc2VydmVyMQ0xEjAQBgNVBAoT\n"
+ "CU15Q29tcGFueTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLViTN5K7scNWH0u\n"
+ "wLvlDj6nJdZ76sP+oZoev+gYMyV42JqG/60S2VizrAIcmQA9QFfGlZz2GpE641Gd\n"
+ "HiH09dajdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYD\n"
+ "VR0PAQH/BAUDAweAADAdBgNVHQ4EFgQUNWE8WZGVgvhyw/56sMSCuyXhBjMwHwYD\n"
+ "VR0jBBgwFoAUUkBMBzJq0paKidLDDyhuSHskoJgwCgYIKoZIzj0EAwIDSAAwRQIh\n"
+ "AKk+TA7XgvPwo6oDcAWUYgQbnKWEh5xO55nvNf6TVgMrAiAEI+w6IVJbXgtmskIJ\n"
+ "gedi4kA4sDjRKtTzfxlIdaZhuA==\n"
+ "-----END CERTIFICATE-----\n"
};
gnutls_datum_t server1 = { (void *)_server1, sizeof(_server1) - 1 };
static const char _server2[] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIBvzCCAWWgAwIBAgIMVHuEfQn9F35YK44BMAoGCCqGSM49BAMCMCQxDzANBgNV\n"
- "BAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwIhgPMjAxNDExMzAyMDU2Mjla\n"
- "GA85OTk5MTIzMTIzNTk1OVowJzERMA8GA1UEAwwIc2VydmVyMg0xEjAQBgNVBAoT\n"
- "CU15Q29tcGFueTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBfy/l8rtthQYHRA\n"
- "sWoY3E7HHM2eP0RyNrusfh6Okl4TN8D1jlmx3yc+9h4RqIvC6dHhSS/mio8fjZpU\n"
- "aXzv7dujdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYD\n"
- "VR0PAQH/BAUDAweAADAdBgNVHQ4EFgQUee5izg6T1FxiNtJbWBz90d20GVYwHwYD\n"
- "VR0jBBgwFoAUUkBMBzJq0paKidLDDyhuSHskoJgwCgYIKoZIzj0EAwIDSAAwRQIh\n"
- "AKMgl86d4ENyrpqkXR7pN8FN/Pd1Hji6Usnm536zuFjIAiA9RRxtPQXjrk3Sx8QR\n"
- "c0NrnBYRCM24FXMHSWOL1YUb7w==\n" "-----END CERTIFICATE-----\n"
+ "MIIBvzCCAWWgAwIBAgIMVHuEfQn9F35YK44BMAoGCCqGSM49BAMCMCQxDzANBgNV\n"
+ "BAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwIhgPMjAxNDExMzAyMDU2Mjla\n"
+ "GA85OTk5MTIzMTIzNTk1OVowJzERMA8GA1UEAwwIc2VydmVyMg0xEjAQBgNVBAoT\n"
+ "CU15Q29tcGFueTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBfy/l8rtthQYHRA\n"
+ "sWoY3E7HHM2eP0RyNrusfh6Okl4TN8D1jlmx3yc+9h4RqIvC6dHhSS/mio8fjZpU\n"
+ "aXzv7dujdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYD\n"
+ "VR0PAQH/BAUDAweAADAdBgNVHQ4EFgQUee5izg6T1FxiNtJbWBz90d20GVYwHwYD\n"
+ "VR0jBBgwFoAUUkBMBzJq0paKidLDDyhuSHskoJgwCgYIKoZIzj0EAwIDSAAwRQIh\n"
+ "AKMgl86d4ENyrpqkXR7pN8FN/Pd1Hji6Usnm536zuFjIAiA9RRxtPQXjrk3Sx8QR\n"
+ "c0NrnBYRCM24FXMHSWOL1YUb7w==\n"
+ "-----END CERTIFICATE-----\n"
};
gnutls_datum_t server2 = { (void *)_server2, sizeof(_server2) - 1 };
static const char _server3[] = {
"-----BEGIN CERTIFICATE-----\n"
- "MIIBvjCCAWWgAwIBAgIMVHuEhyM4BCuvifY3MAoGCCqGSM49BAMCMCQxDzANBgNV\n"
- "BAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwIhgPMjAxNDExMzAyMDU2Mzla\n"
- "GA85OTk5MTIzMTIzNTk1OVowJzERMA8GA1UEAwwIc2VydmVyMw0xEjAQBgNVBAoT\n"
- "CU15Q29tcGFueTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLKjVDVHPM7sK8Gr\n"
- "+eUTmT1sQSVhUr4znBEkiccPlGTN30m5KoaM1cflRxb+p/pYk6xFfAZW/33XmWON\n"
- "IjwygACjdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYD\n"
- "VR0PAQH/BAUDAweAADAdBgNVHQ4EFgQU3TmVO7uyA1t4+tbbmTbKoXiHP1QwHwYD\n"
- "VR0jBBgwFoAUUkBMBzJq0paKidLDDyhuSHskoJgwCgYIKoZIzj0EAwIDRwAwRAIg\n"
- "RI1GVQ/ol9Es0niE3Ex/X+2a5tEVBOECLO3+Vr6rPs0CIHSxEksboGo8qJzESmjY\n"
- "If7aJsOFgpBmGKWGf+dVDjjg\n" "-----END CERTIFICATE-----\n"
+ "MIIBvjCCAWWgAwIBAgIMVHuEhyM4BCuvifY3MAoGCCqGSM49BAMCMCQxDzANBgNV\n"
+ "BAMTBlZQTiBDQTERMA8GA1UEChMIQmlnIENvcnAwIhgPMjAxNDExMzAyMDU2Mzla\n"
+ "GA85OTk5MTIzMTIzNTk1OVowJzERMA8GA1UEAwwIc2VydmVyMw0xEjAQBgNVBAoT\n"
+ "CU15Q29tcGFueTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLKjVDVHPM7sK8Gr\n"
+ "+eUTmT1sQSVhUr4znBEkiccPlGTN30m5KoaM1cflRxb+p/pYk6xFfAZW/33XmWON\n"
+ "IjwygACjdjB0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYD\n"
+ "VR0PAQH/BAUDAweAADAdBgNVHQ4EFgQU3TmVO7uyA1t4+tbbmTbKoXiHP1QwHwYD\n"
+ "VR0jBBgwFoAUUkBMBzJq0paKidLDDyhuSHskoJgwCgYIKoZIzj0EAwIDRwAwRAIg\n"
+ "RI1GVQ/ol9Es0niE3Ex/X+2a5tEVBOECLO3+Vr6rPs0CIHSxEksboGo8qJzESmjY\n"
+ "If7aJsOFgpBmGKWGf+dVDjjg\n"
+ "-----END CERTIFICATE-----\n"
};
gnutls_datum_t server3 = { (void *)_server3, sizeof(_server3) - 1 };
static const char _crl[] = {
"-----BEGIN X509 CRL-----\n"
- "MIIBJTCBzAIBATAKBggqhkjOPQQDAjAkMQ8wDQYDVQQDEwZWUE4gQ0ExETAPBgNV\n"
- "BAoTCEJpZyBDb3JwGA8yMDE0MTEzMDIxMTkwNFoYDzk5OTkxMjMxMjM1OTU5WjBC\n"
- "MB8CDFR7hnMaGdABn3iWABgPMjAxNDExMzAyMTE5MDRaMB8CDFR7hH0J/Rd+WCuO\n"
- "ARgPMjAxNDExMzAyMTE5MDRaoC8wLTAfBgNVHSMEGDAWgBRSQEwHMmrSloqJ0sMP\n"
- "KG5IeySgmDAKBgNVHRQEAwIBATAKBggqhkjOPQQDAgNIADBFAiEAt3Ks2JNhxuuT\n"
- "nzok7rYbi+p6dWiPj7mWNawba2+xjYwCIGpTiTU1ssn5Fa70j7S+PjmnN4fuyjXh\n"
- "AuXYcsNpjsPz\n" "-----END X509 CRL-----\n"
+ "MIIBJTCBzAIBATAKBggqhkjOPQQDAjAkMQ8wDQYDVQQDEwZWUE4gQ0ExETAPBgNV\n"
+ "BAoTCEJpZyBDb3JwGA8yMDE0MTEzMDIxMTkwNFoYDzk5OTkxMjMxMjM1OTU5WjBC\n"
+ "MB8CDFR7hnMaGdABn3iWABgPMjAxNDExMzAyMTE5MDRaMB8CDFR7hH0J/Rd+WCuO\n"
+ "ARgPMjAxNDExMzAyMTE5MDRaoC8wLTAfBgNVHSMEGDAWgBRSQEwHMmrSloqJ0sMP\n"
+ "KG5IeySgmDAKBgNVHRQEAwIBATAKBggqhkjOPQQDAgNIADBFAiEAt3Ks2JNhxuuT\n"
+ "nzok7rYbi+p6dWiPj7mWNawba2+xjYwCIGpTiTU1ssn5Fa70j7S+PjmnN4fuyjXh\n"
+ "AuXYcsNpjsPz\n"
+ "-----END X509 CRL-----\n"
};
gnutls_datum_t crl = { (void *)_crl, sizeof(_crl) - 1 };
@@ -117,7 +122,7 @@ gnutls_datum_t crl = { (void *)_crl, sizeof(_crl) - 1 };
verifying certificates. To avoid a time bomb, we hard code the
current time. This should work fine on systems where the library
call to time is resolved at run-time. */
-static time_t mytime(time_t * t)
+static time_t mytime(time_t *t)
{
time_t then = 1417381345;
@@ -180,45 +185,40 @@ void doit(void)
exit(1);
}
- ret =
- gnutls_x509_trust_list_add_trust_mem(tl, &ca, NULL,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(tl, &ca, NULL,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret != 1) {
fail("error in %d: (%d) %s\n", __LINE__, ret,
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_add_trust_mem(tl, NULL, &crl,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(tl, NULL, &crl,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 0) {
fail("error in %d: (%d) %s\n", __LINE__, ret,
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &s1, 1, NULL, 0, 0, &status,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(tl, &s1, 1, NULL, 0, 0,
+ &status, NULL);
if (ret < 0 || status != 0) {
fail("error in %d: (status: 0x%x) %s\n", __LINE__, status,
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &s2, 1, NULL, 0, 0, &status,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(tl, &s2, 1, NULL, 0, 0,
+ &status, NULL);
if (ret < 0 || status != (GNUTLS_CERT_INVALID | GNUTLS_CERT_REVOKED)) {
fail("error in %d: (status: 0x%x) %s\n", __LINE__, status,
gnutls_strerror(ret));
exit(1);
}
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &s3, 1, NULL, 0, 0, &status,
- NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(tl, &s3, 1, NULL, 0, 0,
+ &status, NULL);
if (ret < 0 || status != 0) {
fail("error in %d: (status: 0x%x) %s\n", __LINE__, status,
gnutls_strerror(ret));
diff --git a/tests/x509_altname.c b/tests/x509_altname.c
index b8af3c2df0..a33d080e3b 100644
--- a/tests/x509_altname.c
+++ b/tests/x509_altname.c
@@ -19,7 +19,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <stdio.h>
@@ -29,34 +29,35 @@
#include "utils.h"
static char pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIE6zCCA9OgAwIBAgIBdjANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJTRTEf\n"
- "MB0GA1UEChMWU3RvY2tob2xtcyB1bml2ZXJzaXRldDEgMB4GA1UEAxMXU3RvY2to\n"
- "b2xtIFVuaXZlcnNpdHkgQ0EwHhcNMDYwMzIyMDkxNTI4WhcNMDcwMzIyMDkxNTI4\n"
- "WjBDMQswCQYDVQQGEwJTRTEfMB0GA1UEChMWU3RvY2tob2xtcyB1bml2ZXJzaXRl\n"
- "dDETMBEGA1UEAxMKc2lwMS5zdS5zZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC\n"
- "gYEArUzXTD36ZK7CwZJH/faUNTcdaqM7JyiZsfrO703d7cT/bJ3wKxT8trOOh/Ou\n"
- "WwgGFX2+r7ykun3aIUXUuD13Yle/yHqH/4g9vWX7UeFCBlSI0tAxnlqt0QqlPgSd\n"
- "GLHcoO4PPyjon9jj0A/zpJGZHiRUCooo63YqE9MYfr5HBfkCAwEAAaOCAl8wggJb\n"
- "MAsGA1UdDwQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYD\n"
- "VR0OBBYEFDpcXNHMLJ7fc/c72BtZseq4MDXFMH8GA1UdIwR4MHaAFJ4uMLo32VFE\n"
- "yZ2/GCHxvX7utYZIoVukWTBXMQswCQYDVQQGEwJTRTEYMBYGA1UEChMPVW1lYSBV\n"
- "bml2ZXJzaXR5MRMwEQYDVQQLEwpTd1VQS0ktUENBMRkwFwYDVQQDExBTd1VQS0kg\n"
- "UG9saWN5IENBggEQMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jYS5zdS5zZS8y\n"
- "MDA1LTEvY3JsLXYyLmNybDB5BgNVHSAEcjBwMG4GCCqFcCsCAQEBMGIwHwYIKwYB\n"
- "BQUHAgEWE2h0dHA6Ly9jYS5zdS5zZS9DUFMwPwYIKwYBBQUHAgIwMxoxTGltaXRl\n"
- "ZCBMaWFiaWxpdHksIHNlZSBodHRwOi8vd3d3LnN3dXBraS5zdS5zZS9DUDAkBgNV\n"
- "HRIEHTAbgQhjYUBzdS5zZYYPaHR0cDovL2NhLnN1LnNlMIG3BgNVHREEga8wgayC\n"
- "F2luY29taW5ncHJveHkuc2lwLnN1LnNlghhpbmNvbWluZ3Byb3h5MS5zaXAuc3Uu\n"
- "c2WCF291dGdvaW5ncHJveHkuc2lwLnN1LnNlghhvdXRnb2luZ3Byb3h5MS5zaXAu\n"
- "c3Uuc2WCDW91dC5zaXAuc3Uuc2WCE2FwcHNlcnZlci5zaXAuc3Uuc2WCFGFwcHNl\n"
- "cnZlcjEuc2lwLnN1LnNlggpzaXAxLnN1LnNlMA0GCSqGSIb3DQEBBQUAA4IBAQAR\n"
- "FYg7ytcph0E7WmvM44AN/8qru7tRX6aSFWrjLyVr/1Wk4prCK4y5JpfNw5dh9Z8f\n"
- "/gyFsr1iFsb6fS3nJTTd3fVlWRfcNCGIx5g8KuSb3u6f7VznkGOeiRMRESQc1G8B\n"
- "eh0zbdZS7BYO2g9EKlbGST5PwQnc4g9K7pqPyKSNVkzb60Nujg/+qYje7MCcN+ZR\n"
- "nUBo6U2NZ06/QEUFm+uUIhZ8IGM1gLehC7Q3G4+d4c38CDJxQnSPOgWiXuSvhhQm\n"
- "KDsbrKzRaeBRh5eEJbTkA8Dp0Emb0UrkRVhixeg97stxUcATAjdGljJ9MLnuHXnI\n"
- "7ihGdUfg5q/105vpsQpO\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIE6zCCA9OgAwIBAgIBdjANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJTRTEf\n"
+ "MB0GA1UEChMWU3RvY2tob2xtcyB1bml2ZXJzaXRldDEgMB4GA1UEAxMXU3RvY2to\n"
+ "b2xtIFVuaXZlcnNpdHkgQ0EwHhcNMDYwMzIyMDkxNTI4WhcNMDcwMzIyMDkxNTI4\n"
+ "WjBDMQswCQYDVQQGEwJTRTEfMB0GA1UEChMWU3RvY2tob2xtcyB1bml2ZXJzaXRl\n"
+ "dDETMBEGA1UEAxMKc2lwMS5zdS5zZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC\n"
+ "gYEArUzXTD36ZK7CwZJH/faUNTcdaqM7JyiZsfrO703d7cT/bJ3wKxT8trOOh/Ou\n"
+ "WwgGFX2+r7ykun3aIUXUuD13Yle/yHqH/4g9vWX7UeFCBlSI0tAxnlqt0QqlPgSd\n"
+ "GLHcoO4PPyjon9jj0A/zpJGZHiRUCooo63YqE9MYfr5HBfkCAwEAAaOCAl8wggJb\n"
+ "MAsGA1UdDwQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYD\n"
+ "VR0OBBYEFDpcXNHMLJ7fc/c72BtZseq4MDXFMH8GA1UdIwR4MHaAFJ4uMLo32VFE\n"
+ "yZ2/GCHxvX7utYZIoVukWTBXMQswCQYDVQQGEwJTRTEYMBYGA1UEChMPVW1lYSBV\n"
+ "bml2ZXJzaXR5MRMwEQYDVQQLEwpTd1VQS0ktUENBMRkwFwYDVQQDExBTd1VQS0kg\n"
+ "UG9saWN5IENBggEQMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jYS5zdS5zZS8y\n"
+ "MDA1LTEvY3JsLXYyLmNybDB5BgNVHSAEcjBwMG4GCCqFcCsCAQEBMGIwHwYIKwYB\n"
+ "BQUHAgEWE2h0dHA6Ly9jYS5zdS5zZS9DUFMwPwYIKwYBBQUHAgIwMxoxTGltaXRl\n"
+ "ZCBMaWFiaWxpdHksIHNlZSBodHRwOi8vd3d3LnN3dXBraS5zdS5zZS9DUDAkBgNV\n"
+ "HRIEHTAbgQhjYUBzdS5zZYYPaHR0cDovL2NhLnN1LnNlMIG3BgNVHREEga8wgayC\n"
+ "F2luY29taW5ncHJveHkuc2lwLnN1LnNlghhpbmNvbWluZ3Byb3h5MS5zaXAuc3Uu\n"
+ "c2WCF291dGdvaW5ncHJveHkuc2lwLnN1LnNlghhvdXRnb2luZ3Byb3h5MS5zaXAu\n"
+ "c3Uuc2WCDW91dC5zaXAuc3Uuc2WCE2FwcHNlcnZlci5zaXAuc3Uuc2WCFGFwcHNl\n"
+ "cnZlcjEuc2lwLnN1LnNlggpzaXAxLnN1LnNlMA0GCSqGSIb3DQEBBQUAA4IBAQAR\n"
+ "FYg7ytcph0E7WmvM44AN/8qru7tRX6aSFWrjLyVr/1Wk4prCK4y5JpfNw5dh9Z8f\n"
+ "/gyFsr1iFsb6fS3nJTTd3fVlWRfcNCGIx5g8KuSb3u6f7VznkGOeiRMRESQc1G8B\n"
+ "eh0zbdZS7BYO2g9EKlbGST5PwQnc4g9K7pqPyKSNVkzb60Nujg/+qYje7MCcN+ZR\n"
+ "nUBo6U2NZ06/QEUFm+uUIhZ8IGM1gLehC7Q3G4+d4c38CDJxQnSPOgWiXuSvhhQm\n"
+ "KDsbrKzRaeBRh5eEJbTkA8Dp0Emb0UrkRVhixeg97stxUcATAjdGljJ9MLnuHXnI\n"
+ "7ihGdUfg5q/105vpsQpO\n"
+ "-----END CERTIFICATE-----\n";
#define MAX_DATA_SIZE 1024
@@ -83,11 +84,8 @@ void doit(void)
fail("crt_import %d\n", ret);
for (alt_name_count = 0;; ++alt_name_count) {
- ret =
- gnutls_x509_crt_get_issuer_alt_name(cert,
- alt_name_count,
- data, &data_len,
- &critical);
+ ret = gnutls_x509_crt_get_issuer_alt_name(
+ cert, alt_name_count, data, &data_len, &critical);
if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE)
break;
@@ -102,7 +100,8 @@ void doit(void)
}
} else if (GNUTLS_SAN_RFC822NAME == ret) {
if (strcmp(data, "ca@su.se") != 0) {
- fail("unexpected issuer GNUTLS_SAN_RFC822NAME: %s\n", data);
+ fail("unexpected issuer GNUTLS_SAN_RFC822NAME: %s\n",
+ data);
}
} else {
fail("unexpected alt name type: %d\n", ret);
diff --git a/tests/x509cert-ct.c b/tests/x509cert-ct.c
index 559a58366f..7483b1c6b1 100644
--- a/tests/x509cert-ct.c
+++ b/tests/x509cert-ct.c
@@ -22,7 +22,7 @@
/* Parts copied from other tests */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -38,45 +38,46 @@
#include "utils.h"
static char pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIG+jCCBeKgAwIBAgIQPurql+NcbKQ/8rR9djN5DDANBgkqhkiG9w0BAQsFADCB\n"
- "hDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8w\n"
- "HQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTUwMwYDVQQDEyxTeW1hbnRl\n"
- "YyBDbGFzcyAzIFNlY3VyZSBTZXJ2ZXIgU0hBMjU2IFNTTCBDQTAeFw0xNzAzMjAw\n"
- "MDAwMDBaFw0yMDAzMjQyMzU5NTlaMHMxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhO\n"
- "ZXcgWW9yazERMA8GA1UEBwwITmV3IFlvcmsxJzAlBgNVBAoMHkFtZXJpY2FuIENp\n"
- "dmlsIExpYmVydGllcyBVbmlvbjEVMBMGA1UEAwwMd3d3LmFjbHUub3JnMIIBIjAN\n"
- "BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAui9XzdLmI2JH+05y4WAV7jHn2Vyk\n"
- "k+92pm/mdQcfJDyNR6gotaLBvBy9n9SeDj03eGlYUKZ1lgBeHhM17FMWuWoazETl\n"
- "EU2Iq1ugHn3V+Rr2IkQ8f00RcNXRlYCQOiL0WYrrXPHZUNh1aQ4kwFaFGT0iNsKS\n"
- "kGwf56b1goJujqwtLIBzRdHOLzWGCq1Kn/VeDTi2QQyTVQLWsDZzZApUXMyoc1xv\n"
- "go7r1lvHWbJ04up0YwXssC67lw4SKK+/2lZF0Fu0baooHQOlQ5jk0DQhQ6Hsgp/t\n"
- "UYhrv56cVf9MWrBEbVBg79yiyWb+rrXhk9KeMbFFsxNEWiA5TREejEhVXwIDAQAB\n"
- "o4IDdjCCA3IwMgYDVR0RBCswKYIPYWN0aW9uLmFjbHUub3Jnggx3d3cuYWNsdS5v\n"
- "cmeCCGFjbHUub3JnMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgWgMGEGA1UdIARa\n"
- "MFgwVgYGZ4EMAQICMEwwIwYIKwYBBQUHAgEWF2h0dHBzOi8vZC5zeW1jYi5jb20v\n"
- "Y3BzMCUGCCsGAQUFBwICMBkMF2h0dHBzOi8vZC5zeW1jYi5jb20vcnBhMCsGA1Ud\n"
- "HwQkMCIwIKAeoByGGmh0dHA6Ly9zZy5zeW1jYi5jb20vc2cuY3JsMB0GA1UdJQQW\n"
- "MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBTbYiD7fQKJfNI7b8fk\n"
- "MmwFUh2tsTBXBggrBgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zZy5z\n"
- "eW1jZC5jb20wJgYIKwYBBQUHMAKGGmh0dHA6Ly9zZy5zeW1jYi5jb20vc2cuY3J0\n"
- "MIIB9gYKKwYBBAHWeQIEAgSCAeYEggHiAeAAdQDd6x0reg1PpiCLga2BaHB+Lo6d\n"
- "AdVciI09EcTNtuy+zAAAAVrspLZKAAAEAwBGMEQCIEuVHq0xyXfN8XP0Ly8eTEJB\n"
- "3XMAKhaercn0EqjtgNUPAiBN+/pUJ9EwF4yh2hRU1U3KkdzTI+KDerLZCl004ADF\n"
- "cgB3AKS5CZC0GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQAAABWuyktugAAAQD\n"
- "AEgwRgIhAPoMU/iz0Ne4vgM4cQol7zLVS8xEc18natc9EgLpOqvvAiEAtyt6nMg7\n"
- "18/axecg1fk2dcDKCP8EpEJWnabnDRwMb00AdgDuS723dc5guuFCaR+r4Z5mow9+\n"
- "X7By2IMAxHuJeqj9ywAAAVrspLadAAAEAwBHMEUCIH8pZN5die2lOt6i2NS57xxd\n"
- "uo12mGZ4Xt6cPARVZCipAiEAxOGXK63gCml0jZnlBAN/41YMCNF0cCl9rMIRmEOe\n"
- "ffYAdgC8eOHfxfY8aEZJM02hD6FfCXlpIAnAgbTz9pF/Ptm4pQAAAVrspLdAAAAE\n"
- "AwBHMEUCIDtHn+q93n/mGGzdFZb9PImevE3t8yi4FpEKQh3fN+HdAiEA618tN/lR\n"
- "9m8dh0BVfHAJ9o3CAT53sWjO37sFhHPNOT4wDQYJKoZIhvcNAQELBQADggEBALEV\n"
- "pKCM+njCWn74ThjbBEH23rWDYNU3Dl4O5J1U0wJdp4uTvZQbTHlvuAYnQr2WUBX5\n"
- "OOvZdVLKDZJqZ/KJ2TLjBUQGWHylu6kE2PWuOTrJ6eC2UnR8zj0RavELHXuGUmQt\n"
- "p5UESDjGI6IUDfI6IdxIKydnIStQLuKlaGsz3bsD1yc8XfCNjkmxf3DfC2qnnO6q\n"
- "0i2o1SkjCesCqrgPQuVM95vF5I+dRcrk1nHOLCgDLYeoOSFpkPzk5EF7gDrfuLHn\n"
- "a7MqZSlOcbf6XcGmsOPH0SCYLyNiJwuBX2W3fw2rP9adpWniGK5kyIEU6Nrkgc31\n"
- "ESMyYNL3A9igh1jySzg=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIG+jCCBeKgAwIBAgIQPurql+NcbKQ/8rR9djN5DDANBgkqhkiG9w0BAQsFADCB\n"
+ "hDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8w\n"
+ "HQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTUwMwYDVQQDEyxTeW1hbnRl\n"
+ "YyBDbGFzcyAzIFNlY3VyZSBTZXJ2ZXIgU0hBMjU2IFNTTCBDQTAeFw0xNzAzMjAw\n"
+ "MDAwMDBaFw0yMDAzMjQyMzU5NTlaMHMxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhO\n"
+ "ZXcgWW9yazERMA8GA1UEBwwITmV3IFlvcmsxJzAlBgNVBAoMHkFtZXJpY2FuIENp\n"
+ "dmlsIExpYmVydGllcyBVbmlvbjEVMBMGA1UEAwwMd3d3LmFjbHUub3JnMIIBIjAN\n"
+ "BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAui9XzdLmI2JH+05y4WAV7jHn2Vyk\n"
+ "k+92pm/mdQcfJDyNR6gotaLBvBy9n9SeDj03eGlYUKZ1lgBeHhM17FMWuWoazETl\n"
+ "EU2Iq1ugHn3V+Rr2IkQ8f00RcNXRlYCQOiL0WYrrXPHZUNh1aQ4kwFaFGT0iNsKS\n"
+ "kGwf56b1goJujqwtLIBzRdHOLzWGCq1Kn/VeDTi2QQyTVQLWsDZzZApUXMyoc1xv\n"
+ "go7r1lvHWbJ04up0YwXssC67lw4SKK+/2lZF0Fu0baooHQOlQ5jk0DQhQ6Hsgp/t\n"
+ "UYhrv56cVf9MWrBEbVBg79yiyWb+rrXhk9KeMbFFsxNEWiA5TREejEhVXwIDAQAB\n"
+ "o4IDdjCCA3IwMgYDVR0RBCswKYIPYWN0aW9uLmFjbHUub3Jnggx3d3cuYWNsdS5v\n"
+ "cmeCCGFjbHUub3JnMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgWgMGEGA1UdIARa\n"
+ "MFgwVgYGZ4EMAQICMEwwIwYIKwYBBQUHAgEWF2h0dHBzOi8vZC5zeW1jYi5jb20v\n"
+ "Y3BzMCUGCCsGAQUFBwICMBkMF2h0dHBzOi8vZC5zeW1jYi5jb20vcnBhMCsGA1Ud\n"
+ "HwQkMCIwIKAeoByGGmh0dHA6Ly9zZy5zeW1jYi5jb20vc2cuY3JsMB0GA1UdJQQW\n"
+ "MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBTbYiD7fQKJfNI7b8fk\n"
+ "MmwFUh2tsTBXBggrBgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zZy5z\n"
+ "eW1jZC5jb20wJgYIKwYBBQUHMAKGGmh0dHA6Ly9zZy5zeW1jYi5jb20vc2cuY3J0\n"
+ "MIIB9gYKKwYBBAHWeQIEAgSCAeYEggHiAeAAdQDd6x0reg1PpiCLga2BaHB+Lo6d\n"
+ "AdVciI09EcTNtuy+zAAAAVrspLZKAAAEAwBGMEQCIEuVHq0xyXfN8XP0Ly8eTEJB\n"
+ "3XMAKhaercn0EqjtgNUPAiBN+/pUJ9EwF4yh2hRU1U3KkdzTI+KDerLZCl004ADF\n"
+ "cgB3AKS5CZC0GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQAAABWuyktugAAAQD\n"
+ "AEgwRgIhAPoMU/iz0Ne4vgM4cQol7zLVS8xEc18natc9EgLpOqvvAiEAtyt6nMg7\n"
+ "18/axecg1fk2dcDKCP8EpEJWnabnDRwMb00AdgDuS723dc5guuFCaR+r4Z5mow9+\n"
+ "X7By2IMAxHuJeqj9ywAAAVrspLadAAAEAwBHMEUCIH8pZN5die2lOt6i2NS57xxd\n"
+ "uo12mGZ4Xt6cPARVZCipAiEAxOGXK63gCml0jZnlBAN/41YMCNF0cCl9rMIRmEOe\n"
+ "ffYAdgC8eOHfxfY8aEZJM02hD6FfCXlpIAnAgbTz9pF/Ptm4pQAAAVrspLdAAAAE\n"
+ "AwBHMEUCIDtHn+q93n/mGGzdFZb9PImevE3t8yi4FpEKQh3fN+HdAiEA618tN/lR\n"
+ "9m8dh0BVfHAJ9o3CAT53sWjO37sFhHPNOT4wDQYJKoZIhvcNAQELBQADggEBALEV\n"
+ "pKCM+njCWn74ThjbBEH23rWDYNU3Dl4O5J1U0wJdp4uTvZQbTHlvuAYnQr2WUBX5\n"
+ "OOvZdVLKDZJqZ/KJ2TLjBUQGWHylu6kE2PWuOTrJ6eC2UnR8zj0RavELHXuGUmQt\n"
+ "p5UESDjGI6IUDfI6IdxIKydnIStQLuKlaGsz3bsD1yc8XfCNjkmxf3DfC2qnnO6q\n"
+ "0i2o1SkjCesCqrgPQuVM95vF5I+dRcrk1nHOLCgDLYeoOSFpkPzk5EF7gDrfuLHn\n"
+ "a7MqZSlOcbf6XcGmsOPH0SCYLyNiJwuBX2W3fw2rP9adpWniGK5kyIEU6Nrkgc31\n"
+ "ESMyYNL3A9igh1jySzg=\n"
+ "-----END CERTIFICATE-----\n";
static unsigned char ct_extension_der[486] = {
0x04, 0x82, 0x01, 0xe2, 0x01, 0xe0, 0x00, 0x75, 0x00, 0xdd, 0xeb, 0x1d,
@@ -122,7 +123,7 @@ static unsigned char ct_extension_der[486] = {
0x05, 0x84, 0x73, 0xcd, 0x39, 0x3e
};
-static void check_scts(const gnutls_datum_t * ext)
+static void check_scts(const gnutls_datum_t *ext)
{
int ret;
unsigned int i, version;
@@ -138,46 +139,50 @@ static void check_scts(const gnutls_datum_t * ext)
gnutls_sign_algorithm_t sigalg;
gnutls_datum_t sig;
} expected_data[NUM_EXPECTED_SCTS] = {
- {
- .logid =
- "\xdd\xeb\x1d\x2b\x7a\x0d\x4f\xa6\x20\x8b\x81\xad\x81\x68\x70\x7e"
- "\x2e\x8e\x9d\x01\xd5\x5c\x88\x8d\x3d\x11\xc4\xcd\xb6\xec\xbe\xcc",
- .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
- .sig = {
- .size = 70,
- .data = (unsigned char *)
- "\x30\x44\x02\x20\x4b\x95\x1e\xad\x31\xc9\x77\xcd\xf1\x73\xf4\x2f" "\x2f\x1e\x4c\x42\x41\xdd\x73\x00\x2a\x16\x9e\xad\xc9\xf4\x12\xa8" "\xed\x80\xd5\x0f\x02\x20\x4d\xfb\xfa\x54\x27\xd1\x30\x17\x8c\xa1" "\xda\x14\x54\xd5\x4d\xca\x91\xdc\xd3\x23\xe2\x83\x7a\xb2\xd9\x0a" "\x5d\x34\xe0\x00\xc5\x72"}
- },
- {
- .logid =
- "\xa4\xb9\x09\x90\xb4\x18\x58\x14\x87\xbb\x13\xa2\xcc\x67\x70\x0a"
- "\x3c\x35\x98\x04\xf9\x1b\xdf\xb8\xe3\x77\xcd\x0e\xc8\x0d\xdc\x10",
- .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
- .sig = {
- .size = 72,
- .data = (unsigned char *)
- "\x30\x46\x02\x21\x00\xfa\x0c\x53\xf8\xb3\xd0\xd7\xb8\xbe\x03\x38" "\x71\x0a\x25\xef\x32\xd5\x4b\xcc\x44\x73\x5f\x27\x6a\xd7\x3d\x12" "\x02\xe9\x3a\xab\xef\x02\x21\x00\xb7\x2b\x7a\x9c\xc8\x3b\xd7\xcf" "\xda\xc5\xe7\x20\xd5\xf9\x36\x75\xc0\xca\x08\xff\x04\xa4\x42\x56" "\x9d\xa6\xe7\x0d\x1c\x0c\x6f\x4d"}
- },
- {
- .logid =
- "\xee\x4b\xbd\xb7\x75\xce\x60\xba\xe1\x42\x69\x1f\xab\xe1\x9e\x66"
- "\xa3\x0f\x7e\x5f\xb0\x72\xd8\x83\x00\xc4\x7b\x89\x7a\xa8\xfd\xcb",
- .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
- .sig = {
- .size = 71,
- .data = (unsigned char *)
- "\x30\x45\x02\x20\x7f\x29\x64\xde\x5d\x89\xed\xa5\x3a\xde\xa2\xd8" "\xd4\xb9\xef\x1c\x5d\xba\x8d\x76\x98\x66\x78\x5e\xde\x9c\x3c\x04" "\x55\x64\x28\xa9\x02\x21\x00\xc4\xe1\x97\x2b\xad\xe0\x0a\x69\x74" "\x8d\x99\xe5\x04\x03\x7f\xe3\x56\x0c\x08\xd1\x74\x70\x29\x7d\xac" "\xc2\x11\x98\x43\x9e\x7d\xf6"}
- },
- {
- .logid =
- "\xbc\x78\xe1\xdf\xc5\xf6\x3c\x68\x46\x49\x33\x4d\xa1\x0f\xa1\x5f"
- "\x09\x79\x69\x20\x09\xc0\x81\xb4\xf3\xf6\x91\x7f\x3e\xd9\xb8\xa5",
- .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
- .sig = {
- .size = 71,
- .data = (unsigned char *)
- "\x30\x45\x02\x20\x3b\x47\x9f\xea\xbd\xde\x7f\xe6\x18\x6c\xdd\x15" "\x96\xfd\x3c\x89\x9e\xbc\x4d\xed\xf3\x28\xb8\x16\x91\x0a\x42\x1d" "\xdf\x37\xe1\xdd\x02\x21\x00\xeb\x5f\x2d\x37\xf9\x51\xf6\x6f\x1d" "\x87\x40\x55\x7c\x70\x09\xf6\x8d\xc2\x01\x3e\x77\xb1\x68\xce\xdf" "\xbb\x05\x84\x73\xcd\x39\x3e"}
- }
+ { .logid =
+ "\xdd\xeb\x1d\x2b\x7a\x0d\x4f\xa6\x20\x8b\x81\xad\x81\x68\x70\x7e"
+ "\x2e\x8e\x9d\x01\xd5\x5c\x88\x8d\x3d\x11\xc4\xcd\xb6\xec\xbe\xcc",
+ .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
+ .sig = { .size = 70,
+ .data = (unsigned char
+ *)"\x30\x44\x02\x20\x4b\x95\x1e\xad\x31\xc9\x77\xcd\xf1\x73\xf4\x2f"
+ "\x2f\x1e\x4c\x42\x41\xdd\x73\x00\x2a\x16\x9e\xad\xc9\xf4\x12\xa8"
+ "\xed\x80\xd5\x0f\x02\x20\x4d\xfb\xfa\x54\x27\xd1\x30\x17\x8c\xa1"
+ "\xda\x14\x54\xd5\x4d\xca\x91\xdc\xd3\x23\xe2\x83\x7a\xb2\xd9\x0a"
+ "\x5d\x34\xe0\x00\xc5\x72" } },
+ { .logid =
+ "\xa4\xb9\x09\x90\xb4\x18\x58\x14\x87\xbb\x13\xa2\xcc\x67\x70\x0a"
+ "\x3c\x35\x98\x04\xf9\x1b\xdf\xb8\xe3\x77\xcd\x0e\xc8\x0d\xdc\x10",
+ .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
+ .sig = { .size = 72,
+ .data = (unsigned char
+ *)"\x30\x46\x02\x21\x00\xfa\x0c\x53\xf8\xb3\xd0\xd7\xb8\xbe\x03\x38"
+ "\x71\x0a\x25\xef\x32\xd5\x4b\xcc\x44\x73\x5f\x27\x6a\xd7\x3d\x12"
+ "\x02\xe9\x3a\xab\xef\x02\x21\x00\xb7\x2b\x7a\x9c\xc8\x3b\xd7\xcf"
+ "\xda\xc5\xe7\x20\xd5\xf9\x36\x75\xc0\xca\x08\xff\x04\xa4\x42\x56"
+ "\x9d\xa6\xe7\x0d\x1c\x0c\x6f\x4d" } },
+ { .logid =
+ "\xee\x4b\xbd\xb7\x75\xce\x60\xba\xe1\x42\x69\x1f\xab\xe1\x9e\x66"
+ "\xa3\x0f\x7e\x5f\xb0\x72\xd8\x83\x00\xc4\x7b\x89\x7a\xa8\xfd\xcb",
+ .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
+ .sig = { .size = 71,
+ .data = (unsigned char
+ *)"\x30\x45\x02\x20\x7f\x29\x64\xde\x5d\x89\xed\xa5\x3a\xde\xa2\xd8"
+ "\xd4\xb9\xef\x1c\x5d\xba\x8d\x76\x98\x66\x78\x5e\xde\x9c\x3c\x04"
+ "\x55\x64\x28\xa9\x02\x21\x00\xc4\xe1\x97\x2b\xad\xe0\x0a\x69\x74"
+ "\x8d\x99\xe5\x04\x03\x7f\xe3\x56\x0c\x08\xd1\x74\x70\x29\x7d\xac"
+ "\xc2\x11\x98\x43\x9e\x7d\xf6" } },
+ { .logid =
+ "\xbc\x78\xe1\xdf\xc5\xf6\x3c\x68\x46\x49\x33\x4d\xa1\x0f\xa1\x5f"
+ "\x09\x79\x69\x20\x09\xc0\x81\xb4\xf3\xf6\x91\x7f\x3e\xd9\xb8\xa5",
+ .sigalg = GNUTLS_SIGN_ECDSA_SHA256,
+ .sig = { .size = 71,
+ .data = (unsigned char
+ *)"\x30\x45\x02\x20\x3b\x47\x9f\xea\xbd\xde\x7f\xe6\x18\x6c\xdd\x15"
+ "\x96\xfd\x3c\x89\x9e\xbc\x4d\xed\xf3\x28\xb8\x16\x91\x0a\x42\x1d"
+ "\xdf\x37\xe1\xdd\x02\x21\x00\xeb\x5f\x2d\x37\xf9\x51\xf6\x6f\x1d"
+ "\x87\x40\x55\x7c\x70\x09\xf6\x8d\xc2\x01\x3e\x77\xb1\x68\xce\xdf"
+ "\xbb\x05\x84\x73\xcd\x39\x3e" } }
};
ret = gnutls_x509_ext_ct_scts_init(&scts);
@@ -196,15 +201,13 @@ static void check_scts(const gnutls_datum_t * ext)
fail("gnutls_x509_ct_sct_get_version");
if (version != 1)
fail("invalid version");
- if (gnutls_x509_ct_sct_get(scts, i,
- &timestamp,
- &logid, &sigalg, &sig) < 0)
+ if (gnutls_x509_ct_sct_get(scts, i, &timestamp, &logid, &sigalg,
+ &sig) < 0)
fail("gnutls_x509_ct_sct_v1_get");
if (logid.size != EXPECTED_LOGID_SIZE)
fail("Log ID sizes do not match for SCT %d", i);
- if (memcmp
- (logid.data, expected_data[i].logid,
- EXPECTED_LOGID_SIZE) != 0)
+ if (memcmp(logid.data, expected_data[i].logid,
+ EXPECTED_LOGID_SIZE) != 0)
fail("Log IDs do not match for SCT %d", i);
if (sigalg != expected_data[i].sigalg)
fail("Signature algorithms for SCT %d do not match", i);
@@ -269,8 +272,8 @@ void doit(void)
fail("gnutls_x509_crt_get_extension_oid");
if (strcmp(oid, GNUTLS_X509EXT_OID_CT_SCT_V1) == 0) {
- ret =
- gnutls_x509_crt_get_extension_data2(cert, i, &ext);
+ ret = gnutls_x509_crt_get_extension_data2(cert, i,
+ &ext);
if (ret < 0)
fail("gnutls_x509_crt_get_extension_data2");
check_scts(&ext);
diff --git a/tests/x509cert-dntypes.c b/tests/x509cert-dntypes.c
index 291d760455..a2d1dfeac5 100644
--- a/tests/x509cert-dntypes.c
+++ b/tests/x509cert-dntypes.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -42,51 +42,52 @@ static void tls_log_func(int level, const char *str)
* cert uses different ASN.1 types, which is uncommon but allowed */
static unsigned char server_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDZTCCAc2gAwIBAgIUB7aVTQvtbBpOEtKELkBkLViM0eIwDQYJKoZIhvcNAQEL\n"
- "BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAeFw0yMDAzMjYxMDE4NTdaFw0yMTAzMjYx\n"
- "MDE4NTdaMBYxFDASBgNVBAMMC1Rlc3QgY2xpZW50MIIBIjANBgkqhkiG9w0BAQEF\n"
- "AAOCAQ8AMIIBCgKCAQEAviqj5S/xe39agbMnq/oPAQmdIhalB17Ewc3AZlD8n+zQ\n"
- "scPDNvnk4gxSeSXePtXmh0OaGcBKbMAkjiyo2gPBmV3ay34LQuk97nJxE2TUAWMm\n"
- "S8yFwP3yoE+GZ5eYjv+HGQxeAP9uHLjho/jHjVGgUOCVv1QjsKyRx8Tuvy9TH3ON\n"
- "DuMPw3Jmnq0OhLy2+SjU0ug5jxfWJvnfeGoFzRgalmWGyoAQsH9bqha/D44QSen+\n"
- "Zbbt/A4uNIILAENYuHXEfvpmBuZPpocOb6h2huGbp6iHZfdZUHso37UmWT6PXh+2\n"
- "dASPaCpAr3bURBhnEsQM43njb8METZewMeoQxwZC0QIDAQABoy8wLTAMBgNVHRMB\n"
- "Af8EAjAAMB0GA1UdDgQWBBSb3h7ZbajS/2RWx2a7hTVSkur0FDANBgkqhkiG9w0B\n"
- "AQsFAAOCAYEAPfwyvOwNEjIvlifjBVhiWmrtZAS2YaY9jqFnaA2PvYY2FVyC3AMu\n"
- "3BGAorau/4DL3P92/9SlygEmBQpqCq+AJnQRH6WKFT4avAOmw3yc0++st+DhGK0I\n"
- "6Cr69WccVi0Kmxi1XP4dpPDWSuVCOP6rGc3ulgEH83xF4ZL+3qVA9Fihsie3ZZme\n"
- "7mqWOznVO1MZHLDFIUEoRdOSin5bIkl7FPOCZqMsWRM41GuA1h4aX/X5dLeqRW1c\n"
- "mJ5CNRWwPIPcwgqeldFnx07svCv9QseUDaIw+C9vZOlgfIgp0qeYoR6fsD38WcUC\n"
- "eJPsOUwhdhMcw+/PM16iwzd89dI+PCecFY9FeLh9YeihZm0DnG8L0To1Y2ry+WRf\n"
- "w5knR3FReHPcelymvSKZSEG0d/KKHXBeKWgcrCrdnn4ya71eblsNzO3vnxB5k0Zj\n"
- "WcQ3wfeftQKDEIuaRHUP6B4zx2teJWMWvJLcXuavoqo0z3L5EN74RztCpnP9ykSH\n"
- "ZsYWoJ3aelFv\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDZTCCAc2gAwIBAgIUB7aVTQvtbBpOEtKELkBkLViM0eIwDQYJKoZIhvcNAQEL\n"
+ "BQAwEjEQMA4GA1UEAwwHVGVzdCBDQTAeFw0yMDAzMjYxMDE4NTdaFw0yMTAzMjYx\n"
+ "MDE4NTdaMBYxFDASBgNVBAMMC1Rlc3QgY2xpZW50MIIBIjANBgkqhkiG9w0BAQEF\n"
+ "AAOCAQ8AMIIBCgKCAQEAviqj5S/xe39agbMnq/oPAQmdIhalB17Ewc3AZlD8n+zQ\n"
+ "scPDNvnk4gxSeSXePtXmh0OaGcBKbMAkjiyo2gPBmV3ay34LQuk97nJxE2TUAWMm\n"
+ "S8yFwP3yoE+GZ5eYjv+HGQxeAP9uHLjho/jHjVGgUOCVv1QjsKyRx8Tuvy9TH3ON\n"
+ "DuMPw3Jmnq0OhLy2+SjU0ug5jxfWJvnfeGoFzRgalmWGyoAQsH9bqha/D44QSen+\n"
+ "Zbbt/A4uNIILAENYuHXEfvpmBuZPpocOb6h2huGbp6iHZfdZUHso37UmWT6PXh+2\n"
+ "dASPaCpAr3bURBhnEsQM43njb8METZewMeoQxwZC0QIDAQABoy8wLTAMBgNVHRMB\n"
+ "Af8EAjAAMB0GA1UdDgQWBBSb3h7ZbajS/2RWx2a7hTVSkur0FDANBgkqhkiG9w0B\n"
+ "AQsFAAOCAYEAPfwyvOwNEjIvlifjBVhiWmrtZAS2YaY9jqFnaA2PvYY2FVyC3AMu\n"
+ "3BGAorau/4DL3P92/9SlygEmBQpqCq+AJnQRH6WKFT4avAOmw3yc0++st+DhGK0I\n"
+ "6Cr69WccVi0Kmxi1XP4dpPDWSuVCOP6rGc3ulgEH83xF4ZL+3qVA9Fihsie3ZZme\n"
+ "7mqWOznVO1MZHLDFIUEoRdOSin5bIkl7FPOCZqMsWRM41GuA1h4aX/X5dLeqRW1c\n"
+ "mJ5CNRWwPIPcwgqeldFnx07svCv9QseUDaIw+C9vZOlgfIgp0qeYoR6fsD38WcUC\n"
+ "eJPsOUwhdhMcw+/PM16iwzd89dI+PCecFY9FeLh9YeihZm0DnG8L0To1Y2ry+WRf\n"
+ "w5knR3FReHPcelymvSKZSEG0d/KKHXBeKWgcrCrdnn4ya71eblsNzO3vnxB5k0Zj\n"
+ "WcQ3wfeftQKDEIuaRHUP6B4zx2teJWMWvJLcXuavoqo0z3L5EN74RztCpnP9ykSH\n"
+ "ZsYWoJ3aelFv\n"
+ "-----END CERTIFICATE-----\n";
static unsigned char ca_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIID5DCCAkygAwIBAgIUB4lnLAeQ20wlYbqt5ykgvWOPNzgwDQYJKoZIhvcNAQEL\n"
- "BQAwEjEQMA4GA1UEAxMHVGVzdCBDQTAeFw0yMDAzMjYxMDI0MjhaFw0yMDAzMjcx\n"
- "MDI0MjhaMBIxEDAOBgNVBAMTB1Rlc3QgQ0EwggGiMA0GCSqGSIb3DQEBAQUAA4IB\n"
- "jwAwggGKAoIBgQCt9z/noU7qCPquzzgwNvu/rwXyIvxmqdWhpfpBOmVq8wpgUDUU\n"
- "cQ94F65UfTo3EcYXCoDs43E4Wo8KmF5YQM2xK+LrH28XmpL3z+NoQGaZoUVrMWp6\n"
- "rbIeoGZvITaaGn2uEbGT7iRkBUdS4wOjUT13IxpG8cM4d0i0DIsqSlUPnQCfyMqf\n"
- "jsVhO9IQsn7qMo0+2nNCI5JqblEXRvL39hHzJMOsq1NRqZO1Zjt9HCIB7m7Q42Jx\n"
- "e8zm7RzTiBFVKecxb5h4mmt3tUZQ0Kjd94yE6ARSE0rULmO+6H7hgI6sU8vqfSFe\n"
- "DimQ5mPReumBRDcErX+c7bRGPRul41kAB8XvPmAHG8xCepjH8xrgY/FeVBQT74xm\n"
- "MEYQaxdGpa8Azx6MZCrZOI0rzu+zI0CBQGE1h1Xk8HBozrn/G2OOAZcXyzHzq56R\n"
- "Z52zEQYFZmKH9tHTDI6fMfo8clr7esb/wmgEOt/lJYE9IMJrzUh+IwWuowdYaDVj\n"
- "nMrboUBVepmBKSUCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n"
- "rhkYiczAkbCcVfNr67VGGaqilbgwDQYJKoZIhvcNAQELBQADggGBAGYiUTKdYBXk\n"
- "lZFIhZkCc33/lCgJw2mSrdAd+xJmJonRPy3qmYy3HniOmQdRVqResLALubz89VjJ\n"
- "dSeokujFrlNtb4CygojseqTsxWgeZlKjLU3tJ/Xn+DFIiP7k9+WPW7KFIIW0fq61\n"
- "MAI0lKjqpC8sJTlXoJemDw9MW/380nKr+K1YY3arRzsSHEIeA54xOggKEwvgz11A\n"
- "47xT83WoLwFQ4e9LZfCsL/M51lsLHAlJzDKyTTeSxCi/C6kUIzx8QyxHKYgBuNxz\n"
- "8vVLY/YzUv/l5ELYQ9gkAX0vZWdw7pqASUY8yvbzImrWqjFAHeN3zK687Ke9uppS\n"
- "dmjvPwvTK+SKm++NR8YCwb3xqHQHMYHV3lxjlOhaN6rxBW0l4gtvb2FMlhcljiZ+\n"
- "tF2ObVwEs6nqJSGrzubp0os+WmnbVSCaHz9jnRWb68C87mXCZkbA7FTSKJOVuqRM\n"
- "vVTcHQ7jwGQ2/SvikndFQ53zi2j9o/jTOiFv29rEOeHu67UAiFSi2A==\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIID5DCCAkygAwIBAgIUB4lnLAeQ20wlYbqt5ykgvWOPNzgwDQYJKoZIhvcNAQEL\n"
+ "BQAwEjEQMA4GA1UEAxMHVGVzdCBDQTAeFw0yMDAzMjYxMDI0MjhaFw0yMDAzMjcx\n"
+ "MDI0MjhaMBIxEDAOBgNVBAMTB1Rlc3QgQ0EwggGiMA0GCSqGSIb3DQEBAQUAA4IB\n"
+ "jwAwggGKAoIBgQCt9z/noU7qCPquzzgwNvu/rwXyIvxmqdWhpfpBOmVq8wpgUDUU\n"
+ "cQ94F65UfTo3EcYXCoDs43E4Wo8KmF5YQM2xK+LrH28XmpL3z+NoQGaZoUVrMWp6\n"
+ "rbIeoGZvITaaGn2uEbGT7iRkBUdS4wOjUT13IxpG8cM4d0i0DIsqSlUPnQCfyMqf\n"
+ "jsVhO9IQsn7qMo0+2nNCI5JqblEXRvL39hHzJMOsq1NRqZO1Zjt9HCIB7m7Q42Jx\n"
+ "e8zm7RzTiBFVKecxb5h4mmt3tUZQ0Kjd94yE6ARSE0rULmO+6H7hgI6sU8vqfSFe\n"
+ "DimQ5mPReumBRDcErX+c7bRGPRul41kAB8XvPmAHG8xCepjH8xrgY/FeVBQT74xm\n"
+ "MEYQaxdGpa8Azx6MZCrZOI0rzu+zI0CBQGE1h1Xk8HBozrn/G2OOAZcXyzHzq56R\n"
+ "Z52zEQYFZmKH9tHTDI6fMfo8clr7esb/wmgEOt/lJYE9IMJrzUh+IwWuowdYaDVj\n"
+ "nMrboUBVepmBKSUCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\n"
+ "rhkYiczAkbCcVfNr67VGGaqilbgwDQYJKoZIhvcNAQELBQADggGBAGYiUTKdYBXk\n"
+ "lZFIhZkCc33/lCgJw2mSrdAd+xJmJonRPy3qmYy3HniOmQdRVqResLALubz89VjJ\n"
+ "dSeokujFrlNtb4CygojseqTsxWgeZlKjLU3tJ/Xn+DFIiP7k9+WPW7KFIIW0fq61\n"
+ "MAI0lKjqpC8sJTlXoJemDw9MW/380nKr+K1YY3arRzsSHEIeA54xOggKEwvgz11A\n"
+ "47xT83WoLwFQ4e9LZfCsL/M51lsLHAlJzDKyTTeSxCi/C6kUIzx8QyxHKYgBuNxz\n"
+ "8vVLY/YzUv/l5ELYQ9gkAX0vZWdw7pqASUY8yvbzImrWqjFAHeN3zK687Ke9uppS\n"
+ "dmjvPwvTK+SKm++NR8YCwb3xqHQHMYHV3lxjlOhaN6rxBW0l4gtvb2FMlhcljiZ+\n"
+ "tF2ObVwEs6nqJSGrzubp0os+WmnbVSCaHz9jnRWb68C87mXCZkbA7FTSKJOVuqRM\n"
+ "vVTcHQ7jwGQ2/SvikndFQ53zi2j9o/jTOiFv29rEOeHu67UAiFSi2A==\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t server = { server_pem, sizeof(server_pem) - 1 };
const gnutls_datum_t ca = { ca_pem, sizeof(ca_pem) - 1 };
diff --git a/tests/x509cert-invalid.c b/tests/x509cert-invalid.c
index fb2bd845af..0c666e420c 100644
--- a/tests/x509cert-invalid.c
+++ b/tests/x509cert-invalid.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,51 +44,52 @@ static void tls_log_func(int level, const char *str)
/* this has a different signature algorithm in tbsCertificate and signatureAlgorithm.
* the algorithm in signatureAlgorithm is wrong */
static unsigned char inconsistent_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICwzCCAXugAwIBAgIIVOei+gI+zMYwDQYJKoZIhvcNAQELBQAwGTEXMBUGA1UE\n"
- "AxMOR251VExTIFRlc3QgQ0EwIhgPMjAxNTAyMjAyMTExMjJaGA85OTk5MTIzMTIz\n"
- "NTk1OVowFzEVMBMGA1UEAxMMV3Jvbmcgc2lnYWxnMIGfMA0GCSqGSIb3DQEBAQUA\n"
- "A4GNADCBiQKBgQDKivjLpeml2GINsAimC6xwTxj44mLcxS+u69yFXFg2Z/AepUU+\n"
- "IvfqVOeRVgg1WHrh+DZLuoC6kwn7a2afUTzytrITKni+J14ENa/ZcF2MrhSM8WZ1\n"
- "NWrmvUltjkbJQIwyVPuIweRH1ECqSFxVqBT8RwYZ27FzTL8WF1JnlSlKuQIDAQAB\n"
- "o2EwXzAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFK9V\n"
- "bbSoqbHWgZwkzN57nbmAyyTwMB8GA1UdIwQYMBaAFE1Wt2oAWPFnkvSmdVUbjlMB\n"
- "A+/PMA0GCSqGSIb3DQEBBAUAA4IBMQCT2A88WEahnJgfXTjLbThqc/ICOg4dnk61\n"
- "zhaTkgK3is7T8gQrTqEbaVF4qu5gOLN6Z+xluii+ApZKKpKSyYLXS6MS3nJ6xGTi\n"
- "SOqixmPv7qfQnkUvUTagZymnWQ3GxRxjAv65YpmGyti+/TdkYWDQ9R/D/sWPJO8o\n"
- "YrFNw1ZXAaNMg4EhhGZ4likMlww+e5NPfJsJ32AovveTFKqSrvabb4UtrUJTwsC4\n"
- "Bd018g2MEhTkxeTQTqzIL98CoSBJjbbZD/YW13J/3xU590QpHTgni5hAni27IFLr\n"
- "1V+UJAglBs8qYiUzv/GjwbRt8TDzYVjvc+5MvPaGpoTcmdQyi9/L+3s8J6dX3i93\n"
- "TneIXeExwjTmXKL7NG+KQz9/F4FJChRXR6X1zsSB45DzoCoGMmzD\n"
- "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICwzCCAXugAwIBAgIIVOei+gI+zMYwDQYJKoZIhvcNAQELBQAwGTEXMBUGA1UE\n"
+ "AxMOR251VExTIFRlc3QgQ0EwIhgPMjAxNTAyMjAyMTExMjJaGA85OTk5MTIzMTIz\n"
+ "NTk1OVowFzEVMBMGA1UEAxMMV3Jvbmcgc2lnYWxnMIGfMA0GCSqGSIb3DQEBAQUA\n"
+ "A4GNADCBiQKBgQDKivjLpeml2GINsAimC6xwTxj44mLcxS+u69yFXFg2Z/AepUU+\n"
+ "IvfqVOeRVgg1WHrh+DZLuoC6kwn7a2afUTzytrITKni+J14ENa/ZcF2MrhSM8WZ1\n"
+ "NWrmvUltjkbJQIwyVPuIweRH1ECqSFxVqBT8RwYZ27FzTL8WF1JnlSlKuQIDAQAB\n"
+ "o2EwXzAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFK9V\n"
+ "bbSoqbHWgZwkzN57nbmAyyTwMB8GA1UdIwQYMBaAFE1Wt2oAWPFnkvSmdVUbjlMB\n"
+ "A+/PMA0GCSqGSIb3DQEBBAUAA4IBMQCT2A88WEahnJgfXTjLbThqc/ICOg4dnk61\n"
+ "zhaTkgK3is7T8gQrTqEbaVF4qu5gOLN6Z+xluii+ApZKKpKSyYLXS6MS3nJ6xGTi\n"
+ "SOqixmPv7qfQnkUvUTagZymnWQ3GxRxjAv65YpmGyti+/TdkYWDQ9R/D/sWPJO8o\n"
+ "YrFNw1ZXAaNMg4EhhGZ4likMlww+e5NPfJsJ32AovveTFKqSrvabb4UtrUJTwsC4\n"
+ "Bd018g2MEhTkxeTQTqzIL98CoSBJjbbZD/YW13J/3xU590QpHTgni5hAni27IFLr\n"
+ "1V+UJAglBs8qYiUzv/GjwbRt8TDzYVjvc+5MvPaGpoTcmdQyi9/L+3s8J6dX3i93\n"
+ "TneIXeExwjTmXKL7NG+KQz9/F4FJChRXR6X1zsSB45DzoCoGMmzD\n"
+ "-----END CERTIFICATE-----\n";
/* this has a different signature algorithm in tbsCertificate and signatureAlgorithm.
* the algorithm in tbsCertificate is wrong */
static unsigned char inconsistent2_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIC1DCCAYygAwIBAgIIVOem0AaBE/EwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UE\n"
- "AxMOR251VExTIFRlc3QgQ0EwIhgPMjAxNTAyMjAyMTI3NDRaGA85OTk5MTIzMTIz\n"
- "NTk1OVowKDEmMCQGA1UEAxMdSW52YWxpZCB0YnNDZXJ0aWZpY2F0ZSBzaWdhbGcw\n"
- "gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMqK+Mul6aXYYg2wCKYLrHBPGPji\n"
- "YtzFL67r3IVcWDZn8B6lRT4i9+pU55FWCDVYeuH4Nku6gLqTCftrZp9RPPK2shMq\n"
- "eL4nXgQ1r9lwXYyuFIzxZnU1aua9SW2ORslAjDJU+4jB5EfUQKpIXFWoFPxHBhnb\n"
- "sXNMvxYXUmeVKUq5AgMBAAGjYTBfMAwGA1UdEwEB/wQCMAAwDwYDVR0PAQH/BAUD\n"
- "AwegADAdBgNVHQ4EFgQUr1VttKipsdaBnCTM3nuduYDLJPAwHwYDVR0jBBgwFoAU\n"
- "TVa3agBY8WeS9KZ1VRuOUwED788wDQYJKoZIhvcNAQELBQADggExAEsjzyOB8ntk\n"
- "1BW4UhHdDSOZNrR4Ep0y2B3tjoOlXmcQD50WQb7NF/vYGeZN/y+WHEF9OAnneEIi\n"
- "5wRHLnm1jP/bXd5Po3EsaTLmpE7rW99DYlHaNRcF5z+a+qTdj7mRsnUtv6o2ItNT\n"
- "m81yQr0Lw0D31agU9IAzeXZy+Dm6dQnO1GAaHlOJQR1PZIOzOtYxqodla0qxuvga\n"
- "nL+quIR29t8nb7j+n8l1+2WxCUoxEO0wv37t3MQxjXUxzGfo5NDcXqH1364UBzdM\n"
- "rOBPX50B4LUyV5gNdWMIGVSMX3fTE+j3b+60w6NALXDzGoSGLQH48hpi/Mxzqctt\n"
- "gl58/RqS+nTNQ7c6QMhTj+dgaCE/DUGJJf0354dYp7p43nabr+ZtaMPUaGUQ/1UC\n"
- "C5/QFweC23w=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t inconsistent =
- { inconsistent_pem, sizeof(inconsistent_pem) - 1 };
-const gnutls_datum_t inconsistent2 =
- { inconsistent2_pem, sizeof(inconsistent2_pem) - 1 };
-
-static time_t mytime(time_t * t)
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIC1DCCAYygAwIBAgIIVOem0AaBE/EwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UE\n"
+ "AxMOR251VExTIFRlc3QgQ0EwIhgPMjAxNTAyMjAyMTI3NDRaGA85OTk5MTIzMTIz\n"
+ "NTk1OVowKDEmMCQGA1UEAxMdSW52YWxpZCB0YnNDZXJ0aWZpY2F0ZSBzaWdhbGcw\n"
+ "gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMqK+Mul6aXYYg2wCKYLrHBPGPji\n"
+ "YtzFL67r3IVcWDZn8B6lRT4i9+pU55FWCDVYeuH4Nku6gLqTCftrZp9RPPK2shMq\n"
+ "eL4nXgQ1r9lwXYyuFIzxZnU1aua9SW2ORslAjDJU+4jB5EfUQKpIXFWoFPxHBhnb\n"
+ "sXNMvxYXUmeVKUq5AgMBAAGjYTBfMAwGA1UdEwEB/wQCMAAwDwYDVR0PAQH/BAUD\n"
+ "AwegADAdBgNVHQ4EFgQUr1VttKipsdaBnCTM3nuduYDLJPAwHwYDVR0jBBgwFoAU\n"
+ "TVa3agBY8WeS9KZ1VRuOUwED788wDQYJKoZIhvcNAQELBQADggExAEsjzyOB8ntk\n"
+ "1BW4UhHdDSOZNrR4Ep0y2B3tjoOlXmcQD50WQb7NF/vYGeZN/y+WHEF9OAnneEIi\n"
+ "5wRHLnm1jP/bXd5Po3EsaTLmpE7rW99DYlHaNRcF5z+a+qTdj7mRsnUtv6o2ItNT\n"
+ "m81yQr0Lw0D31agU9IAzeXZy+Dm6dQnO1GAaHlOJQR1PZIOzOtYxqodla0qxuvga\n"
+ "nL+quIR29t8nb7j+n8l1+2WxCUoxEO0wv37t3MQxjXUxzGfo5NDcXqH1364UBzdM\n"
+ "rOBPX50B4LUyV5gNdWMIGVSMX3fTE+j3b+60w6NALXDzGoSGLQH48hpi/Mxzqctt\n"
+ "gl58/RqS+nTNQ7c6QMhTj+dgaCE/DUGJJf0354dYp7p43nabr+ZtaMPUaGUQ/1UC\n"
+ "C5/QFweC23w=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t inconsistent = { inconsistent_pem,
+ sizeof(inconsistent_pem) - 1 };
+const gnutls_datum_t inconsistent2 = { inconsistent2_pem,
+ sizeof(inconsistent2_pem) - 1 };
+
+static time_t mytime(time_t *t)
{
time_t then = 1424466893;
diff --git a/tests/x509cert-tl.c b/tests/x509cert-tl.c
index f4b15bad56..2b542461a7 100644
--- a/tests/x509cert-tl.c
+++ b/tests/x509cert-tl.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -44,136 +44,135 @@ static void tls_log_func(int level, const char *str)
}
static unsigned char ca_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
- "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\n"
- "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\n"
- "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\n"
- "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\n"
- "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\n"
- "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
- "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
- "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
- "PfqUpIhz5Bbm7J4=\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIB5zCCAVKgAwIBAgIERiYdJzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTExWhcNMDgwNDE3MTMyOTExWjAZMRcw\n"
+ "FQYDVQQDEw5HbnVUTFMgdGVzdCBDQTCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA\n"
+ "vuyYeh1vfmslnuggeEKgZAVmQ5ltSdUY7H25WGSygKMUYZ0KT74v8C780qtcNt9T\n"
+ "7EPH/N6RvB4BprdssgcQLsthR3XKA84jbjjxNCcaGs33lvOz8A1nf8p3hD+cKfRi\n"
+ "kfYSW2JazLrtCC4yRCas/SPOUxu78of+3HiTfFm/oXUCAwEAAaNDMEEwDwYDVR0T\n"
+ "AQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwQAMB0GA1UdDgQWBBTpPBz7rZJu5gak\n"
+ "Viyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAiaIRqGfp1jPpNeVhABK60SU0KIAy\n"
+ "njuu7kHq5peUgYn8Jd9zNzExBOEp1VOipGsf6G66oQAhDFp2o8zkz7ZH71zR4HEW\n"
+ "KoX6n5Emn6DvcEH/9pAhnGxNHJAoS7czTKv/JDZJhkqHxyrE1fuLsg5Qv25DTw7+\n"
+ "PfqUpIhz5Bbm7J4=\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t ca = { ca_pem, sizeof(ca_pem) };
static unsigned char cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
const gnutls_datum_t cert = { cert_pem, sizeof(cert_pem) };
static unsigned char key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
const gnutls_datum_t key = { key_pem, sizeof(key_pem) };
static unsigned char server_cert_pem[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
- "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
- "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
- "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
- "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
- "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
- "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
- "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
- "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
- "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
- sizeof(server_cert_pem)
-};
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
+ "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
+ "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
+ "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
+ "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
+ "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
+ "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
+ "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
+ "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
+ "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n"
+ "-----END CERTIFICATE-----\n";
+
+const gnutls_datum_t server_cert = { server_cert_pem, sizeof(server_cert_pem) };
static unsigned char server_key_pem[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
- "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
- "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
- "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
- "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
- "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
- "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
- "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
- "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
- "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
- "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
- "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
- "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
+ "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
+ "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
+ "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
+ "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
+ "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
+ "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
+ "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
+ "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
+ "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
+ "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
+ "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
+ "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
+ "-----END RSA PRIVATE KEY-----\n";
static unsigned char cert_der[602] =
- "\x30\x82\x02\x56\x30\x82\x01\xc1\xa0\x03\x02\x01\x02\x02\x04\x46"
- "\x26\x1d\x31\x30\x0b\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05"
- "\x30\x19\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x47\x6e\x75"
- "\x54\x4c\x53\x20\x74\x65\x73\x74\x20\x43\x41\x30\x1e\x17\x0d\x30"
- "\x37\x30\x34\x31\x38\x31\x33\x32\x39\x32\x31\x5a\x17\x0d\x30\x38"
- "\x30\x34\x31\x37\x31\x33\x32\x39\x32\x31\x5a\x30\x37\x31\x1b\x30"
- "\x19\x06\x03\x55\x04\x0a\x13\x12\x47\x6e\x75\x54\x4c\x53\x20\x74"
- "\x65\x73\x74\x20\x73\x65\x72\x76\x65\x72\x31\x18\x30\x16\x06\x03"
- "\x55\x04\x03\x13\x0f\x74\x65\x73\x74\x2e\x67\x6e\x75\x74\x6c\x73"
- "\x2e\x6f\x72\x67\x30\x81\x9c\x30\x0b\x06\x09\x2a\x86\x48\x86\xf7"
- "\x0d\x01\x01\x01\x03\x81\x8c\x00\x30\x81\x88\x02\x81\x80\xd7\xba"
- "\x5c\xaf\xa3\x0c\xf0\x2e\xa9\x27\x56\xaa\x53\x8e\xa8\xeb\x7f\x81"
- "\x75\x4c\x6b\x98\xbe\x4a\xea\xb7\x1e\xf8\x4b\xc3\x6a\xc4\xda\x0d"
- "\x00\xb8\xea\x4c\x13\x1f\x36\x16\x93\xde\x72\xef\xc6\xa4\x5e\xb2"
- "\x6e\xb6\xca\x0a\x88\x55\x75\x90\x96\xed\xa6\x57\xbc\x0c\x3b\x76"
- "\x0d\x97\x1e\xbd\xe9\xec\x7f\xd3\xa9\xec\xfb\x85\x64\xa0\x6b\xa0"
- "\x48\xce\x77\x7e\x73\x9c\x31\x13\xff\x3d\xc8\xae\xa5\x60\x6e\xd9"
- "\xb6\x8c\x5a\x9a\x6f\xb6\xbe\x9f\x6a\xbd\xa7\xf0\xa0\x33\x27\xf5"
- "\xb7\x1d\x92\xe5\x96\x9c\x73\x52\xd6\x9f\xd6\xc8\x8e\xb1\x02\x03"
- "\x01\x00\x01\xa3\x81\x93\x30\x81\x90\x30\x0c\x06\x03\x55\x1d\x13"
- "\x01\x01\xff\x04\x02\x30\x00\x30\x1a\x06\x03\x55\x1d\x11\x04\x13"
- "\x30\x11\x82\x0f\x74\x65\x73\x74\x2e\x67\x6e\x75\x74\x6c\x73\x2e"
- "\x6f\x72\x67\x30\x13\x06\x03\x55\x1d\x25\x04\x0c\x30\x0a\x06\x08"
- "\x2b\x06\x01\x05\x05\x07\x03\x01\x30\x0f\x06\x03\x55\x1d\x0f\x01"
- "\x01\xff\x04\x05\x03\x03\x07\xa0\x00\x30\x1d\x06\x03\x55\x1d\x0e"
- "\x04\x16\x04\x14\xeb\xc7\x45\x6e\xe5\xf8\x25\xca\x8c\x8d\x83\x0d"
- "\x74\xe9\x86\xd4\xdd\x55\xb4\x75\x30\x1f\x06\x03\x55\x1d\x23\x04"
- "\x18\x30\x16\x80\x14\xe9\x3c\x1c\xfb\xad\x92\x6e\xe6\x06\xa4\x56"
- "\x2c\xa2\xe1\xc0\x53\x27\xc8\xf2\x95\x30\x0b\x06\x09\x2a\x86\x48"
- "\x86\xf7\x0d\x01\x01\x05\x03\x81\x81\x00\x68\x51\x0f\x4e\xdf\xbb"
- "\x6f\x3b\xc1\xb8\xe7\xfb\xf9\x09\x9e\x41\xc9\xf6\xf6\x44\xfa\x06"
- "\xcc\xa1\xd5\x11\xc9\x5d\xff\x0a\x4e\x4e\x50\x45\xfc\x29\xea\x88"
- "\x1b\xa7\xde\x09\x41\x67\x0d\x43\xf4\xbb\x60\x31\x47\x82\x50\xf5"
- "\x03\x05\x0d\x05\x15\xf0\x77\x7a\xe2\x52\xc3\x27\xb3\x18\x1e\x48"
- "\x3c\x58\x05\xf2\x58\x6c\x32\xde\xa2\x13\x41\xb2\xa6\x8f\x0c\x96"
- "\xfb\x5d\xa8\xa5\x59\xb3\x10\x29\xf0\x1b\x15\x0f\x1c\x9c\xec\x60"
- "\xac\xe2\x8b\x51\x04\x56\x27\x42\xb7\x1f\x25\xd1\x32\x16\xea\x8d"
- "\xd2\xc8\x69\x08\x82\xbd\x02\xee\x8b\x3a";
-
-const gnutls_datum_t server_key = { server_key_pem,
- sizeof(server_key_pem)
-};
-
-static time_t mytime(time_t * t)
+ "\x30\x82\x02\x56\x30\x82\x01\xc1\xa0\x03\x02\x01\x02\x02\x04\x46"
+ "\x26\x1d\x31\x30\x0b\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05"
+ "\x30\x19\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x47\x6e\x75"
+ "\x54\x4c\x53\x20\x74\x65\x73\x74\x20\x43\x41\x30\x1e\x17\x0d\x30"
+ "\x37\x30\x34\x31\x38\x31\x33\x32\x39\x32\x31\x5a\x17\x0d\x30\x38"
+ "\x30\x34\x31\x37\x31\x33\x32\x39\x32\x31\x5a\x30\x37\x31\x1b\x30"
+ "\x19\x06\x03\x55\x04\x0a\x13\x12\x47\x6e\x75\x54\x4c\x53\x20\x74"
+ "\x65\x73\x74\x20\x73\x65\x72\x76\x65\x72\x31\x18\x30\x16\x06\x03"
+ "\x55\x04\x03\x13\x0f\x74\x65\x73\x74\x2e\x67\x6e\x75\x74\x6c\x73"
+ "\x2e\x6f\x72\x67\x30\x81\x9c\x30\x0b\x06\x09\x2a\x86\x48\x86\xf7"
+ "\x0d\x01\x01\x01\x03\x81\x8c\x00\x30\x81\x88\x02\x81\x80\xd7\xba"
+ "\x5c\xaf\xa3\x0c\xf0\x2e\xa9\x27\x56\xaa\x53\x8e\xa8\xeb\x7f\x81"
+ "\x75\x4c\x6b\x98\xbe\x4a\xea\xb7\x1e\xf8\x4b\xc3\x6a\xc4\xda\x0d"
+ "\x00\xb8\xea\x4c\x13\x1f\x36\x16\x93\xde\x72\xef\xc6\xa4\x5e\xb2"
+ "\x6e\xb6\xca\x0a\x88\x55\x75\x90\x96\xed\xa6\x57\xbc\x0c\x3b\x76"
+ "\x0d\x97\x1e\xbd\xe9\xec\x7f\xd3\xa9\xec\xfb\x85\x64\xa0\x6b\xa0"
+ "\x48\xce\x77\x7e\x73\x9c\x31\x13\xff\x3d\xc8\xae\xa5\x60\x6e\xd9"
+ "\xb6\x8c\x5a\x9a\x6f\xb6\xbe\x9f\x6a\xbd\xa7\xf0\xa0\x33\x27\xf5"
+ "\xb7\x1d\x92\xe5\x96\x9c\x73\x52\xd6\x9f\xd6\xc8\x8e\xb1\x02\x03"
+ "\x01\x00\x01\xa3\x81\x93\x30\x81\x90\x30\x0c\x06\x03\x55\x1d\x13"
+ "\x01\x01\xff\x04\x02\x30\x00\x30\x1a\x06\x03\x55\x1d\x11\x04\x13"
+ "\x30\x11\x82\x0f\x74\x65\x73\x74\x2e\x67\x6e\x75\x74\x6c\x73\x2e"
+ "\x6f\x72\x67\x30\x13\x06\x03\x55\x1d\x25\x04\x0c\x30\x0a\x06\x08"
+ "\x2b\x06\x01\x05\x05\x07\x03\x01\x30\x0f\x06\x03\x55\x1d\x0f\x01"
+ "\x01\xff\x04\x05\x03\x03\x07\xa0\x00\x30\x1d\x06\x03\x55\x1d\x0e"
+ "\x04\x16\x04\x14\xeb\xc7\x45\x6e\xe5\xf8\x25\xca\x8c\x8d\x83\x0d"
+ "\x74\xe9\x86\xd4\xdd\x55\xb4\x75\x30\x1f\x06\x03\x55\x1d\x23\x04"
+ "\x18\x30\x16\x80\x14\xe9\x3c\x1c\xfb\xad\x92\x6e\xe6\x06\xa4\x56"
+ "\x2c\xa2\xe1\xc0\x53\x27\xc8\xf2\x95\x30\x0b\x06\x09\x2a\x86\x48"
+ "\x86\xf7\x0d\x01\x01\x05\x03\x81\x81\x00\x68\x51\x0f\x4e\xdf\xbb"
+ "\x6f\x3b\xc1\xb8\xe7\xfb\xf9\x09\x9e\x41\xc9\xf6\xf6\x44\xfa\x06"
+ "\xcc\xa1\xd5\x11\xc9\x5d\xff\x0a\x4e\x4e\x50\x45\xfc\x29\xea\x88"
+ "\x1b\xa7\xde\x09\x41\x67\x0d\x43\xf4\xbb\x60\x31\x47\x82\x50\xf5"
+ "\x03\x05\x0d\x05\x15\xf0\x77\x7a\xe2\x52\xc3\x27\xb3\x18\x1e\x48"
+ "\x3c\x58\x05\xf2\x58\x6c\x32\xde\xa2\x13\x41\xb2\xa6\x8f\x0c\x96"
+ "\xfb\x5d\xa8\xa5\x59\xb3\x10\x29\xf0\x1b\x15\x0f\x1c\x9c\xec\x60"
+ "\xac\xe2\x8b\x51\x04\x56\x27\x42\xb7\x1f\x25\xd1\x32\x16\xea\x8d"
+ "\xd2\xc8\x69\x08\x82\xbd\x02\xee\x8b\x3a";
+
+const gnutls_datum_t server_key = { server_key_pem, sizeof(server_key_pem) };
+
+static time_t mytime(time_t *t)
{
time_t then = 1207000800;
@@ -228,11 +227,10 @@ static void check_stored_algos(gnutls_x509_crt_t server_crt)
gnutls_pk_get_name(ret));
exit(1);
}
-
}
#define NAME "localhost"
-#define NAME_SIZE (sizeof(NAME)-1)
+#define NAME_SIZE (sizeof(NAME) - 1)
void doit(void)
{
int ret;
@@ -270,16 +268,17 @@ void doit(void)
check_stored_algos(server_crt);
- ret =
- gnutls_x509_crt_get_preferred_hash_algorithm(server_crt, &hash,
- &mand);
+ ret = gnutls_x509_crt_get_preferred_hash_algorithm(server_crt, &hash,
+ &mand);
if (ret < 0) {
- fail("error in gnutls_x509_crt_get_preferred_hash_algorithm: %s\n", gnutls_strerror(ret));
+ fail("error in gnutls_x509_crt_get_preferred_hash_algorithm: %s\n",
+ gnutls_strerror(ret));
exit(1);
}
if (mand != 0 || hash != GNUTLS_DIG_SHA256) {
- fail("gnutls_x509_crt_get_preferred_hash_algorithm returned: %s/%d\n", gnutls_digest_get_name(hash), mand);
+ fail("gnutls_x509_crt_get_preferred_hash_algorithm returned: %s/%d\n",
+ gnutls_digest_get_name(hash), mand);
exit(1);
}
@@ -287,30 +286,23 @@ void doit(void)
if (ret < 0)
fail("gnutls_x509_crt_import");
- ret =
- gnutls_x509_trust_list_add_named_crt(tl, server_crt, NAME,
- NAME_SIZE, 0);
+ ret = gnutls_x509_trust_list_add_named_crt(tl, server_crt, NAME,
+ NAME_SIZE, 0);
if (ret < 0)
fail("gnutls_x509_trust_list_add_named_crt");
- ret =
- gnutls_x509_trust_list_verify_named_crt(tl, server_crt, NAME,
- NAME_SIZE, 0, &status,
- NULL);
+ ret = gnutls_x509_trust_list_verify_named_crt(
+ tl, server_crt, NAME, NAME_SIZE, 0, &status, NULL);
if (ret < 0 || status != 0)
fail("gnutls_x509_trust_list_verify_named_crt: %d\n", __LINE__);
- ret =
- gnutls_x509_trust_list_verify_named_crt(tl, server_crt, NAME,
- NAME_SIZE - 1, 0,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_named_crt(
+ tl, server_crt, NAME, NAME_SIZE - 1, 0, &status, NULL);
if (ret < 0 || status == 0)
fail("gnutls_x509_trust_list_verify_named_crt: %d\n", __LINE__);
- ret =
- gnutls_x509_trust_list_verify_named_crt(tl, server_crt,
- "other", 5, 0, &status,
- NULL);
+ ret = gnutls_x509_trust_list_verify_named_crt(tl, server_crt, "other",
+ 5, 0, &status, NULL);
if (ret < 0 || status == 0)
fail("gnutls_x509_trust_list_verify_named_crt: %d\n", __LINE__);
@@ -318,10 +310,9 @@ void doit(void)
vdata.type = GNUTLS_DT_DNS_HOSTNAME;
vdata.data = (void *)NAME;
vdata.size = NAME_SIZE;
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &server_crt, 1, &vdata, 1,
- GNUTLS_VERIFY_ALLOW_BROKEN,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(tl, &server_crt, 1, &vdata, 1,
+ GNUTLS_VERIFY_ALLOW_BROKEN,
+ &status, NULL);
if (ret < 0 || status != 0)
fail("gnutls_x509_trust_list_verify_crt2 - 1: status: %x\n",
status);
@@ -329,56 +320,48 @@ void doit(void)
vdata.type = GNUTLS_DT_DNS_HOSTNAME;
vdata.data = (void *)NAME;
vdata.size = NAME_SIZE - 2;
- ret =
- gnutls_x509_trust_list_verify_crt2(tl, &server_crt, 1, &vdata, 1,
- 0, &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt2(tl, &server_crt, 1, &vdata, 1,
+ 0, &status, NULL);
if (ret < 0 || status == 0)
fail("gnutls_x509_trust_list_verify_crt2 - 2: status: %x\n",
status);
/* check whether the key verification works */
- ret =
- gnutls_x509_trust_list_add_trust_dir(tl, path, NULL,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_dir(tl, path, NULL,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret != 1)
fail("gnutls_x509_trust_list_add_trust_dir: %d\n", ret);
- ret =
- gnutls_x509_trust_list_verify_crt(tl, &server_crt, 1,
- GNUTLS_VERIFY_ALLOW_BROKEN,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(
+ tl, &server_crt, 1, GNUTLS_VERIFY_ALLOW_BROKEN, &status, NULL);
if (ret < 0 || status != 0)
fail("gnutls_x509_trust_list_verify_crt\n");
/* test convenience functions in verify-high2.c */
data.data = cert_pem;
data.size = strlen((char *)cert_pem);
- ret =
- gnutls_x509_trust_list_add_trust_mem(tl, &data, NULL,
- GNUTLS_X509_FMT_PEM, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(tl, &data, NULL,
+ GNUTLS_X509_FMT_PEM, 0, 0);
if (ret < 1)
fail("gnutls_x509_trust_list_add_trust_mem: %d (%s)\n",
__LINE__, gnutls_strerror(ret));
- ret =
- gnutls_x509_trust_list_remove_trust_mem(tl, &data,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_trust_list_remove_trust_mem(tl, &data,
+ GNUTLS_X509_FMT_PEM);
if (ret < 1)
fail("gnutls_x509_trust_list_add_trust_mem: %d (%s)\n",
__LINE__, gnutls_strerror(ret));
data.data = cert_der;
data.size = sizeof(cert_der);
- ret =
- gnutls_x509_trust_list_add_trust_mem(tl, &data, NULL,
- GNUTLS_X509_FMT_DER, 0, 0);
+ ret = gnutls_x509_trust_list_add_trust_mem(tl, &data, NULL,
+ GNUTLS_X509_FMT_DER, 0, 0);
if (ret < 1)
fail("gnutls_x509_trust_list_add_trust_mem: %d (%s)\n",
__LINE__, gnutls_strerror(ret));
- ret =
- gnutls_x509_trust_list_remove_trust_mem(tl, &data,
- GNUTLS_X509_FMT_DER);
+ ret = gnutls_x509_trust_list_remove_trust_mem(tl, &data,
+ GNUTLS_X509_FMT_DER);
if (ret < 1)
fail("gnutls_x509_trust_list_add_trust_mem: %d (%s)\n",
__LINE__, gnutls_strerror(ret));
@@ -387,9 +370,8 @@ void doit(void)
if (ret < 1)
fail("gnutls_x509_trust_list_add_cas");
- ret =
- gnutls_x509_trust_list_verify_crt(tl, &server_crt, 1, 0,
- &status, NULL);
+ ret = gnutls_x509_trust_list_verify_crt(tl, &server_crt, 1, 0, &status,
+ NULL);
if (ret == 0 && status == 0)
fail("gnutls_x509_trust_list_verify_crt\n");
diff --git a/tests/x509cert.c b/tests/x509cert.c
index 70fc2f34fa..bb13caa17e 100644
--- a/tests/x509cert.c
+++ b/tests/x509cert.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -30,10 +30,10 @@
#include <string.h>
#include <sys/types.h>
#if !defined(_WIN32)
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/wait.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -69,8 +69,8 @@ void doit(void)
gnutls_x509_privkey_t get_key;
gnutls_x509_crt_t *get_crts;
unsigned n_get_crts;
- gnutls_datum_t get_datum, chain_datum[2] =
- { server_ca3_cert, subca3_cert };
+ gnutls_datum_t get_datum,
+ chain_datum[2] = { server_ca3_cert, subca3_cert };
gnutls_x509_trust_list_t trust_list;
gnutls_x509_trust_list_iter_t trust_iter;
gnutls_x509_crt_t get_ca_crt;
@@ -97,31 +97,27 @@ void doit(void)
/* check whether gnutls_x509_crt_list_import will fail if given a single
* certificate */
list_size = LIST_SIZE;
- ret =
- gnutls_x509_crt_list_import(list, &list_size, &ca3_cert,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import(
+ list, &list_size, &ca3_cert, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0)
fail("gnutls_x509_crt_list_import (failed with a single cert)");
gnutls_x509_crt_deinit(list[0]);
list_size = LIST_SIZE;
- ret =
- gnutls_x509_crt_list_import(list, &list_size, &cli_ca3_cert_chain,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import(
+ list, &list_size, &cli_ca3_cert_chain, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0)
fail("gnutls_x509_crt_list_import");
- ret =
- gnutls_certificate_get_issuer(x509_cred, list[list_size - 1],
- &issuer, 0);
+ ret = gnutls_certificate_get_issuer(x509_cred, list[list_size - 1],
+ &issuer, 0);
if (ret < 0)
fail("gnutls_certificate_get_isser");
- ret =
- gnutls_certificate_get_issuer(x509_cred, list[list_size - 1],
- &issuer, GNUTLS_TL_GET_COPY);
+ ret = gnutls_certificate_get_issuer(x509_cred, list[list_size - 1],
+ &issuer, GNUTLS_TL_GET_COPY);
if (ret < 0)
fail("gnutls_certificate_get_isser");
@@ -145,61 +141,56 @@ void doit(void)
if (ret < 0)
fail("gnutls_certificate_get_x509_key");
- ret =
- gnutls_x509_privkey_export2(get_key,
- GNUTLS_X509_FMT_PEM, &get_datum);
+ ret = gnutls_x509_privkey_export2(get_key, GNUTLS_X509_FMT_PEM,
+ &get_datum);
if (ret < 0)
fail("gnutls_x509_privkey_export2");
if (get_datum.size != server_ca3_key.size ||
memcmp(get_datum.data, server_ca3_key.data, get_datum.size) != 0) {
fail("exported key %u vs. %u\n\n%s\n\nvs.\n\n%s",
- get_datum.size, server_ca3_key.size,
- get_datum.data, server_ca3_key.data);
+ get_datum.size, server_ca3_key.size, get_datum.data,
+ server_ca3_key.data);
}
if (strlen((char *)get_datum.data) != get_datum.size) {
- fail("exported key %u vs. %u\n\n%s\n",
- get_datum.size, (unsigned)strlen((char *)get_datum.data),
- get_datum.data);
+ fail("exported key %u vs. %u\n\n%s\n", get_datum.size,
+ (unsigned)strlen((char *)get_datum.data), get_datum.data);
}
gnutls_free(get_datum.data);
buf_size = sizeof(buf);
- ret =
- gnutls_x509_privkey_export(get_key,
- GNUTLS_X509_FMT_PEM, buf, &buf_size);
+ ret = gnutls_x509_privkey_export(get_key, GNUTLS_X509_FMT_PEM, buf,
+ &buf_size);
if (ret < 0)
fail("gnutls_x509_privkey_export");
- if (buf_size != get_datum.size ||
- buf_size != strlen(buf) ||
+ if (buf_size != get_datum.size || buf_size != strlen(buf) ||
memcmp(buf, server_ca3_key.data, buf_size) != 0) {
- fail("exported key %u vs. %u\n\n%s\n\nvs.\n\n%s",
- (int)buf_size, server_ca3_key.size,
- buf, server_ca3_key.data);
+ fail("exported key %u vs. %u\n\n%s\n\nvs.\n\n%s", (int)buf_size,
+ server_ca3_key.size, buf, server_ca3_key.data);
}
- ret =
- gnutls_certificate_get_x509_crt(x509_cred, 0, &get_crts,
- &n_get_crts);
+ ret = gnutls_certificate_get_x509_crt(x509_cred, 0, &get_crts,
+ &n_get_crts);
if (ret < 0)
fail("gnutls_certificate_get_x509_crt");
if (n_get_crts != 2)
fail("gnutls_certificate_get_x509_crt: n_crts != 2");
for (i = 0; i < n_get_crts; i++) {
- ret =
- gnutls_x509_crt_export2(get_crts[i],
- GNUTLS_X509_FMT_PEM, &get_datum);
+ ret = gnutls_x509_crt_export2(get_crts[i], GNUTLS_X509_FMT_PEM,
+ &get_datum);
if (ret < 0)
fail("gnutls_x509_crt_export2");
if (get_datum.size != chain_datum[i].size ||
memcmp(get_datum.data, chain_datum[i].data,
get_datum.size) != 0) {
- fail("exported certificate %u vs. %u\n\n%s\n\nvs.\n\n%s", get_datum.size, chain_datum[i].size, get_datum.data, chain_datum[i].data);
+ fail("exported certificate %u vs. %u\n\n%s\n\nvs.\n\n%s",
+ get_datum.size, chain_datum[i].size,
+ get_datum.data, chain_datum[i].data);
}
gnutls_free(get_datum.data);
@@ -209,20 +200,20 @@ void doit(void)
n_get_ca_crts = 0;
trust_iter = NULL;
- while (gnutls_x509_trust_list_iter_get_ca(trust_list,
- &trust_iter,
+ while (gnutls_x509_trust_list_iter_get_ca(trust_list, &trust_iter,
&get_ca_crt) !=
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
- ret =
- gnutls_x509_crt_export2(get_ca_crt,
- GNUTLS_X509_FMT_PEM, &get_datum);
+ ret = gnutls_x509_crt_export2(get_ca_crt, GNUTLS_X509_FMT_PEM,
+ &get_datum);
if (ret < 0)
fail("gnutls_x509_crt_export2");
if (get_datum.size != ca3_cert.size ||
- memcmp(get_datum.data, ca3_cert.data,
- get_datum.size) != 0) {
- fail("exported CA certificate %u vs. %u\n\n%s\n\nvs.\n\n%s", get_datum.size, ca3_cert.size, get_datum.data, ca3_cert.data);
+ memcmp(get_datum.data, ca3_cert.data, get_datum.size) !=
+ 0) {
+ fail("exported CA certificate %u vs. %u\n\n%s\n\nvs.\n\n%s",
+ get_datum.size, ca3_cert.size, get_datum.data,
+ ca3_cert.data);
}
gnutls_x509_crt_deinit(get_ca_crt);
@@ -248,10 +239,9 @@ void doit(void)
/* test for gnutls_certificate_set_x509_trust */
gnutls_certificate_allocate_credentials(&x509_cred);
list_size = LIST_SIZE;
- ret =
- gnutls_x509_crt_list_import(list, &list_size, &ca3_cert,
- GNUTLS_X509_FMT_PEM,
- GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
+ ret = gnutls_x509_crt_list_import(
+ list, &list_size, &ca3_cert, GNUTLS_X509_FMT_PEM,
+ GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED);
if (ret < 0 || (unsigned int)ret != list_size) {
fail("gnutls_x509_crt_list_import\n");
}
@@ -262,16 +252,15 @@ void doit(void)
}
gnutls_certificate_get_trust_list(x509_cred, &trust_list);
- ret = gnutls_x509_trust_list_iter_get_ca(trust_list,
- &trust_iter, &get_ca_crt);
+ ret = gnutls_x509_trust_list_iter_get_ca(trust_list, &trust_iter,
+ &get_ca_crt);
if (ret < 0) {
fail("gnutls_x509_trust_list_iter_get_ca\n");
}
gnutls_x509_trust_list_iter_deinit(trust_iter);
- ret =
- gnutls_x509_crt_export2(get_ca_crt, GNUTLS_X509_FMT_PEM,
- &get_datum);
+ ret = gnutls_x509_crt_export2(get_ca_crt, GNUTLS_X509_FMT_PEM,
+ &get_datum);
if (ret < 0) {
fail("gnutls_x509_crt_export2\n");
}
diff --git a/tests/x509dn.c b/tests/x509dn.c
index cd2b9234a8..84191a978a 100644
--- a/tests/x509dn.c
+++ b/tests/x509dn.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -40,22 +40,22 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <signal.h>
-# include <assert.h>
-# include <gnutls/gnutls.h>
-# include <gnutls/abstract.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <signal.h>
+#include <assert.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/abstract.h>
-# include "utils.h"
+#include "utils.h"
-# include "ex-session-info.c"
-# include "ex-x509-info.c"
+#include "ex-session-info.c"
+#include "ex-x509-info.c"
pid_t child;
@@ -65,23 +65,23 @@ static void tls_log_func(int level, const char *str)
str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
-# define EXPECT_RDN0 "CA-3"
+#define EXPECT_RDN0 "CA-3"
-static int
-cert_callback(gnutls_session_t session,
- const gnutls_datum_t * req_ca_rdn, int nreqs,
- const gnutls_pk_algorithm_t * sign_algos,
- int sign_algos_length, gnutls_pcert_st ** pcert,
- unsigned int *pcert_length, gnutls_privkey_t * pkey)
+static int cert_callback(gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn, int nreqs,
+ const gnutls_pk_algorithm_t *sign_algos,
+ int sign_algos_length, gnutls_pcert_st **pcert,
+ unsigned int *pcert_length, gnutls_privkey_t *pkey)
{
int result;
gnutls_x509_dn_t dn;
if (nreqs != 1) {
- fail("client: invoked to provide client cert, but %d CAs are requested by server.\n", nreqs);
+ fail("client: invoked to provide client cert, but %d CAs are requested by server.\n",
+ nreqs);
return -1;
}
@@ -105,9 +105,9 @@ cert_callback(gnutls_session_t session,
if (debug)
success("client: got RDN 0.\n");
- if (val.value.size == strlen(EXPECT_RDN0)
- && strncmp((char *)val.value.data,
- EXPECT_RDN0, val.value.size) == 0) {
+ if (val.value.size == strlen(EXPECT_RDN0) &&
+ strncmp((char *)val.value.data, EXPECT_RDN0,
+ val.value.size) == 0) {
if (debug)
success("client: RND 0 correct.\n");
} else {
@@ -182,8 +182,8 @@ static void client(int sd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
if (debug)
@@ -211,7 +211,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -225,7 +225,7 @@ static void client(int sd, const char *prio)
/* This is a sample TLS 1.0 echo server, using X.509 authentication.
*/
-# define MAX_BUF 1024
+#define MAX_BUF 1024
static void server(int sd, const char *prio)
{
@@ -279,8 +279,8 @@ static void server(int sd, const char *prio)
if (debug)
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
if (debug)
@@ -292,11 +292,11 @@ static void server(int sd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%d). Closing...\n", ret);
+ fail("server: Received corrupted data(%d). Closing...\n",
+ ret);
break;
} else if (ret > 0) {
/* echo data back to the client
@@ -319,8 +319,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int sockets[2];
int err;
@@ -364,4 +363,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/x509self.c b/tests/x509self.c
index 86219cd8d6..afc1975280 100644
--- a/tests/x509self.c
+++ b/tests/x509self.c
@@ -23,7 +23,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -41,19 +41,19 @@ int main(int argc, char **argv)
#else
-# include <string.h>
-# include <sys/types.h>
-# include <sys/socket.h>
-# if !defined(_WIN32)
-# include <sys/wait.h>
-# endif
-# include <unistd.h>
-# include <gnutls/gnutls.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#if !defined(_WIN32)
+#include <sys/wait.h>
+#endif
+#include <unistd.h>
+#include <gnutls/gnutls.h>
-# include "utils.h"
+#include "utils.h"
-# include "ex-session-info.c"
-# include "ex-x509-info.c"
+#include "ex-session-info.c"
+#include "ex-x509-info.c"
pid_t child;
@@ -63,8 +63,8 @@ static void tls_log_func(int level, const char *str)
str);
}
-# define MAX_BUF 1024
-# define MSG "Hello TLS"
+#define MAX_BUF 1024
+#define MSG "Hello TLS"
static void client(int sd, const char *prio)
{
@@ -115,16 +115,15 @@ static void client(int sd, const char *prio)
if (debug)
success("client: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
/* see the Getting peer's information example */
if (debug)
print_info(session);
- ret =
- gnutls_credentials_get(session, GNUTLS_CRD_CERTIFICATE,
- (void **)&tst_cred);
+ ret = gnutls_credentials_get(session, GNUTLS_CRD_CERTIFICATE,
+ (void **)&tst_cred);
if (ret < 0) {
fail("client: gnutls_credentials_get failed: %s\n",
gnutls_strerror(ret));
@@ -157,8 +156,7 @@ static void client(int sd, const char *prio)
ret = gnutls_handshake(session);
if (ret == 0) {
if (debug)
- success
- ("client: handshake complete, reading again.\n");
+ success("client: handshake complete, reading again.\n");
ret = gnutls_record_recv(session, buffer, MAX_BUF);
} else {
fail("client: handshake failed.\n");
@@ -184,7 +182,7 @@ static void client(int sd, const char *prio)
gnutls_bye(session, GNUTLS_SHUT_RDWR);
- end:
+end:
close(sd);
@@ -198,8 +196,8 @@ static void client(int sd, const char *prio)
/* This is a sample TLS 1.0 echo server, using X.509 authentication.
*/
-# define MAX_BUF 1024
-# define DH_BITS 1024
+#define MAX_BUF 1024
+#define DH_BITS 1024
static void server(int sd, const char *prio)
{
@@ -251,8 +249,8 @@ static void server(int sd, const char *prio)
if (debug) {
success("server: Handshake was completed\n");
success("server: TLS version is: %s\n",
- gnutls_protocol_get_name
- (gnutls_protocol_get_version(session)));
+ gnutls_protocol_get_name(
+ gnutls_protocol_get_version(session)));
}
/* see the Getting peer's information example */
@@ -267,19 +265,18 @@ static void server(int sd, const char *prio)
if (ret == 0) {
if (debug)
- success
- ("server: Peer has closed the GnuTLS connection\n");
+ success("server: Peer has closed the GnuTLS connection\n");
break;
} else if (ret < 0) {
- fail("server: Received corrupted data(%s). Closing...\n", gnutls_strerror(ret));
+ fail("server: Received corrupted data(%s). Closing...\n",
+ gnutls_strerror(ret));
break;
} else if (ret > 0) {
- gnutls_certificate_server_set_request(session,
- GNUTLS_CERT_REQUEST);
+ gnutls_certificate_server_set_request(
+ session, GNUTLS_CERT_REQUEST);
if (debug)
- success
- ("server: got data, forcing rehandshake.\n");
+ success("server: got data, forcing rehandshake.\n");
ret = gnutls_rehandshake(session);
if (ret < 0) {
@@ -318,8 +315,7 @@ static void server(int sd, const char *prio)
success("server: finished\n");
}
-static
-void start(const char *prio)
+static void start(const char *prio)
{
int sockets[2];
int err;
@@ -363,4 +359,4 @@ void doit(void)
start("NORMAL");
}
-#endif /* _WIN32 */
+#endif /* _WIN32 */
diff --git a/tests/x509sign-verify-common.h b/tests/x509sign-verify-common.h
index fd1ee4de0c..e66ea7f891 100644
--- a/tests/x509sign-verify-common.h
+++ b/tests/x509sign-verify-common.h
@@ -1,5 +1,5 @@
#ifndef GNUTLS_TESTS_X509SIGN_VERIFY_COMMON_H
-# define GNUTLS_TESTS_X509SIGN_VERIFY_COMMON_H
+#define GNUTLS_TESTS_X509SIGN_VERIFY_COMMON_H
static void tls_log_func(int level, const char *str)
{
@@ -8,62 +8,57 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t sha1_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
/* sha1 hash of "hello" string */
const gnutls_datum_t sha256_data = {
- (void *)
- "\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8"
- "\x3b\x2a\xc5\xb9\xe2\x9e\x1b\x16\x1e\x5c"
- "\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b" "\x98\x24",
+ (void *)"\x2c\xf2\x4d\xba\x5f\xb0\xa3\x0e\x26\xe8"
+ "\x3b\x2a\xc5\xb9\xe2\x9e\x1b\x16\x1e\x5c"
+ "\x1f\xa7\x42\x5e\x73\x04\x33\x62\x93\x8b"
+ "\x98\x24",
32
};
/* gost r 34.11-94 hash of "hello" string */
const gnutls_datum_t gostr94_data = {
- (void *)
- "\x92\xea\x6d\xdb\xaf\x40\x02\x0d\xf3\x65"
- "\x1f\x27\x8f\xd7\x15\x12\x17\xa2\x4a\xa8"
- "\xd2\x2e\xbd\x25\x19\xcf\xd4\xd8\x9e\x64" "\x50\xea",
+ (void *)"\x92\xea\x6d\xdb\xaf\x40\x02\x0d\xf3\x65"
+ "\x1f\x27\x8f\xd7\x15\x12\x17\xa2\x4a\xa8"
+ "\xd2\x2e\xbd\x25\x19\xcf\xd4\xd8\x9e\x64"
+ "\x50\xea",
32
};
/* Streebog-256 hash of "hello" string */
const gnutls_datum_t streebog256_data = {
- (void *)
- "\x3f\xb0\x70\x0a\x41\xce\x6e\x41\x41\x3b"
- "\xa7\x64\xf9\x8b\xf2\x13\x5b\xa6\xde\xd5"
- "\x16\xbe\xa2\xfa\xe8\x42\x9c\xc5\xbd\xd4" "\x6d\x6d",
+ (void *)"\x3f\xb0\x70\x0a\x41\xce\x6e\x41\x41\x3b"
+ "\xa7\x64\xf9\x8b\xf2\x13\x5b\xa6\xde\xd5"
+ "\x16\xbe\xa2\xfa\xe8\x42\x9c\xc5\xbd\xd4"
+ "\x6d\x6d",
32
};
/* Streebog-512 hash of "hello" string */
const gnutls_datum_t streebog512_data = {
- (void *)
- "\x8d\xf4\x14\x26\x09\x66\xbe\xb7\xb3\x4d"
- "\x92\x07\x63\x07\x9e\x15\xdf\x1f\x63\x29"
- "\x7e\xb3\xdd\x43\x11\xe8\xb5\x85\xd4\xbf"
- "\x2f\x59\x23\x21\x4f\x1d\xfe\xd3\xfd\xee"
- "\x4a\xaf\x01\x83\x30\xa1\x2a\xcd\xe0\xef"
- "\xcc\x33\x8e\xb5\x29\x22\xf3\xe5\x71\x21" "\x2d\x42\xc8\xde",
+ (void *)"\x8d\xf4\x14\x26\x09\x66\xbe\xb7\xb3\x4d"
+ "\x92\x07\x63\x07\x9e\x15\xdf\x1f\x63\x29"
+ "\x7e\xb3\xdd\x43\x11\xe8\xb5\x85\xd4\xbf"
+ "\x2f\x59\x23\x21\x4f\x1d\xfe\xd3\xfd\xee"
+ "\x4a\xaf\x01\x83\x30\xa1\x2a\xcd\xe0\xef"
+ "\xcc\x33\x8e\xb5\x29\x22\xf3\xe5\x71\x21"
+ "\x2d\x42\xc8\xde",
64
};
const gnutls_datum_t invalid_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
20
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
static void print_keys(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
{
@@ -91,9 +86,11 @@ static void print_keys(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
gnutls_x509_privkey_deinit(xkey);
}
-# define ERR fail("Failure at: %s (%s-%s) (iter: %d)\n", gnutls_sign_get_name(sign_algo), gnutls_pk_get_name(pk), gnutls_digest_get_name(hash), j);
-static
-void test_sig(gnutls_pk_algorithm_t pk, unsigned hash, unsigned bits)
+#define ERR \
+ fail("Failure at: %s (%s-%s) (iter: %d)\n", \
+ gnutls_sign_get_name(sign_algo), gnutls_pk_get_name(pk), \
+ gnutls_digest_get_name(hash), j);
+static void test_sig(gnutls_pk_algorithm_t pk, unsigned hash, unsigned bits)
{
gnutls_pubkey_t pubkey;
gnutls_privkey_t privkey;
@@ -134,52 +131,44 @@ void test_sig(gnutls_pk_algorithm_t pk, unsigned hash, unsigned bits)
if (ret < 0)
ERR;
- ret =
- gnutls_privkey_sign_hash(privkey, hash,
- 0, hash_data, &signature);
+ ret = gnutls_privkey_sign_hash(privkey, hash, 0, hash_data,
+ &signature);
if (ret < 0)
ERR;
- ret =
- gnutls_pubkey_import_privkey(pubkey, privkey,
- GNUTLS_KEY_DIGITAL_SIGNATURE,
- 0);
+ ret = gnutls_pubkey_import_privkey(
+ pubkey, privkey, GNUTLS_KEY_DIGITAL_SIGNATURE, 0);
if (ret < 0)
ERR;
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- sign_algo, vflags,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, sign_algo, vflags,
+ hash_data, &signature);
if (ret < 0) {
print_keys(privkey, pubkey);
ERR;
}
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- sign_algo, vflags,
- &invalid_hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, sign_algo, vflags,
+ &invalid_hash_data,
+ &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED) {
print_keys(privkey, pubkey);
ERR;
}
- sign_algo =
- gnutls_pk_to_sign(gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), hash);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL), hash);
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo, vflags,
- hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, sign_algo, vflags,
+ hash_data, &signature);
if (ret < 0)
ERR;
/* should fail */
- ret =
- gnutls_pubkey_verify_hash2(pubkey, sign_algo, vflags,
- &invalid_hash_data, &signature);
+ ret = gnutls_pubkey_verify_hash2(pubkey, sign_algo, vflags,
+ &invalid_hash_data,
+ &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED) {
print_keys(privkey, pubkey);
ERR;
@@ -190,30 +179,25 @@ void test_sig(gnutls_pk_algorithm_t pk, unsigned hash, unsigned bits)
signature.data = NULL;
if (pk == GNUTLS_PK_RSA) {
- ret =
- gnutls_privkey_sign_hash(privkey,
- hash,
- GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA,
- hash_data, &signature);
+ ret = gnutls_privkey_sign_hash(
+ privkey, hash,
+ GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA, hash_data,
+ &signature);
if (ret < 0)
ERR;
- sign_algo =
- gnutls_pk_to_sign
- (gnutls_pubkey_get_pk_algorithm
- (pubkey, NULL), hash);
-
- ret =
- gnutls_pubkey_verify_hash2(pubkey,
- sign_algo,
- vflags |
- GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
- hash_data, &signature);
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_pubkey_get_pk_algorithm(pubkey, NULL),
+ hash);
+
+ ret = gnutls_pubkey_verify_hash2(
+ pubkey, sign_algo,
+ vflags | GNUTLS_PUBKEY_VERIFY_FLAG_TLS1_RSA,
+ hash_data, &signature);
if (ret < 0) {
print_keys(privkey, pubkey);
ERR;
}
-
}
gnutls_free(signature.data);
gnutls_privkey_deinit(privkey);
@@ -221,4 +205,4 @@ void test_sig(gnutls_pk_algorithm_t pk, unsigned hash, unsigned bits)
}
}
-#endif /* GNUTLS_TESTS_X509SIGN_VERIFY_COMMON_H */
+#endif /* GNUTLS_TESTS_X509SIGN_VERIFY_COMMON_H */
diff --git a/tests/x509sign-verify-ecdsa.c b/tests/x509sign-verify-ecdsa.c
index ad63d6513c..f943b64829 100644
--- a/tests/x509sign-verify-ecdsa.c
+++ b/tests/x509sign-verify-ecdsa.c
@@ -22,18 +22,18 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef _WIN32
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
-# include <unistd.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <unistd.h>
#endif
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
diff --git a/tests/x509sign-verify-error.c b/tests/x509sign-verify-error.c
index 6046e44711..db8c931ed5 100644
--- a/tests/x509sign-verify-error.c
+++ b/tests/x509sign-verify-error.c
@@ -22,7 +22,7 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -47,102 +47,94 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t invalid_hash_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xca\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xb9\xae\xa9\x43\x4d",
20
};
-const gnutls_datum_t raw_data = {
- (void *)"hello",
- 5
-};
+const gnutls_datum_t raw_data = { (void *)"hello", 5 };
static char pem1_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
- "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
- "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
- "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
- "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
- "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
- "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
- "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
- "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
- "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
- "dc8Siq5JojruiMizAf0pA7in\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIICHjCCAYmgAwIBAgIERiYdNzALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTI3WhcNMDgwNDE3MTMyOTI3WjAdMRsw\n"
+ "GQYDVQQDExJHbnVUTFMgdGVzdCBjbGllbnQwgZwwCwYJKoZIhvcNAQEBA4GMADCB\n"
+ "iAKBgLtmQ/Xyxde2jMzF3/WIO7HJS2oOoa0gUEAIgKFPXKPQ+GzP5jz37AR2ExeL\n"
+ "ZIkiW8DdU3w77XwEu4C5KL6Om8aOoKUSy/VXHqLnu7czSZ/ju0quak1o/8kR4jKN\n"
+ "zj2AC41179gAgY8oBAOgIo1hBAf6tjd9IQdJ0glhaZiQo1ipAgMBAAGjdjB0MAwG\n"
+ "A1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDwYDVR0PAQH/BAUDAweg\n"
+ "ADAdBgNVHQ4EFgQUTLkKm/odNON+3svSBxX+odrLaJEwHwYDVR0jBBgwFoAU6Twc\n"
+ "+62SbuYGpFYsouHAUyfI8pUwCwYJKoZIhvcNAQEFA4GBALujmBJVZnvaTXr9cFRJ\n"
+ "jpfc/3X7sLUsMvumcDE01ls/cG5mIatmiyEU9qI3jbgUf82z23ON/acwJf875D3/\n"
+ "U7jyOsBJ44SEQITbin2yUeJMIm1tievvdNXBDfW95AM507ShzP12sfiJkJfjjdhy\n"
+ "dc8Siq5JojruiMizAf0pA7in\n"
+ "-----END CERTIFICATE-----\n";
static char pem1_key[] =
- "-----BEGIN RSA PRIVATE KEY-----\n"
- "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
- "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
- "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
- "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
- "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
- "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
- "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
- "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
- "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
- "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
- "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
- "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
- "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
- "-----END RSA PRIVATE KEY-----\n";
+ "-----BEGIN RSA PRIVATE KEY-----\n"
+ "MIICXAIBAAKBgQC7ZkP18sXXtozMxd/1iDuxyUtqDqGtIFBACIChT1yj0Phsz+Y8\n"
+ "9+wEdhMXi2SJIlvA3VN8O+18BLuAuSi+jpvGjqClEsv1Vx6i57u3M0mf47tKrmpN\n"
+ "aP/JEeIyjc49gAuNde/YAIGPKAQDoCKNYQQH+rY3fSEHSdIJYWmYkKNYqQIDAQAB\n"
+ "AoGADpmARG5CQxS+AesNkGmpauepiCz1JBF/JwnyiX6vEzUh0Ypd39SZztwrDxvF\n"
+ "PJjQaKVljml1zkJpIDVsqvHdyVdse8M+Qn6hw4x2p5rogdvhhIL1mdWo7jWeVJTF\n"
+ "RKB7zLdMPs3ySdtcIQaF9nUAQ2KJEvldkO3m/bRJFEp54k0CQQDYy+RlTmwRD6hy\n"
+ "7UtMjR0H3CSZJeQ8svMCxHLmOluG9H1UKk55ZBYfRTsXniqUkJBZ5wuV1L+pR9EK\n"
+ "ca89a+1VAkEA3UmBelwEv2u9cAU1QjKjmwju1JgXbrjEohK+3B5y0ESEXPAwNQT9\n"
+ "TrDM1m9AyxYTWLxX93dI5QwNFJtmbtjeBQJARSCWXhsoaDRG8QZrCSjBxfzTCqZD\n"
+ "ZXtl807ymCipgJm60LiAt0JLr4LiucAsMZz6+j+quQbSakbFCACB8SLV1QJBAKZQ\n"
+ "YKf+EPNtnmta/rRKKvySsi3GQZZN+Dt3q0r094XgeTsAqrqujVNfPhTMeP4qEVBX\n"
+ "/iVX2cmMTSh3w3z8MaECQEp0XJWDVKOwcTW6Ajp9SowtmiZ3YDYo1LF9igb4iaLv\n"
+ "sWZGfbnU3ryjvkb6YuFjgtzbZDZHWQCo8/cOtOBmPdk=\n"
+ "-----END RSA PRIVATE KEY-----\n";
static char pem2_cert[] =
- "-----BEGIN CERTIFICATE-----\n"
- "MIIDbzCCAtqgAwIBAgIERiYdRTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
- "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTQxWhcNMDgwNDE3MTMyOTQxWjA3MRsw\n"
- "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
- "Lm9yZzCCAbQwggEpBgcqhkjOOAQBMIIBHAKBgLmE9VqBvhoNxYpzjwybL5u2DkvD\n"
- "dBp/ZK2d8yjFoEe8m1dW8ZfVfjcD6fJM9OOLfzCjXS+7oaI3wuo1jx+xX6aiXwHx\n"
- "IzYr5E8vLd2d1TqmOa96UXzSJY6XdM8exXtLdkOBBx8GFLhuWBLhkOI3b9Ib7GjF\n"
- "WOLmMOBqXixjeOwHAhSfVoxIZC/+jap6bZbbBF0W7wilcQKBgGIGfuRcdgi3Rhpd\n"
- "15fUKiH7HzHJ0vT6Odgn0Zv8J12nCqca/FPBL0PCN8iFfz1Mq12BMvsdXh5UERYg\n"
- "xoBa2YybQ/Dda6D0w/KKnDnSHHsP7/ook4/SoSLr3OCKi60oDs/vCYXpNr2LelDV\n"
- "e/clDWxgEcTvcJDP1hvru47GPjqXA4GEAAKBgA+Kh1fy0cLcrN9Liw+Luin34QPk\n"
- "VfqymAfW/RKxgLz1urRQ1H+gDkPnn8l4EV/l5Awsa2qkNdy9VOVgNpox0YpZbmsc\n"
- "ur0uuut8h+/ayN2h66SD5out+vqOW9c3yDI+lsI+9EPafZECD7e8+O+P90EAXpbf\n"
- "DwiW3Oqy6QaCr9Ivo4GTMIGQMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdGVz\n"
- "dC5nbnV0bHMub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
- "gAAwHQYDVR0OBBYEFL/su87Y6HtwVuzz0SuS1tSZClvzMB8GA1UdIwQYMBaAFOk8\n"
- "HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQBCsrnfD1xzh8/Eih1f\n"
- "x+M0lPoX1Re5L2ElHI6DJpHYOBPwf9glwxnet2+avzgUQDUFwUSxOhodpyeaACXD\n"
- "o0gGVpcH8sOBTQ+aTdM37hGkPxoXjtIkR/LgG5nP2H2JRd5TkW8l13JdM4MJFB4W\n"
- "QcDzQ8REwidsfh9uKAluk1c/KQ==\n" "-----END CERTIFICATE-----\n";
+ "-----BEGIN CERTIFICATE-----\n"
+ "MIIDbzCCAtqgAwIBAgIERiYdRTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
+ "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTQxWhcNMDgwNDE3MTMyOTQxWjA3MRsw\n"
+ "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
+ "Lm9yZzCCAbQwggEpBgcqhkjOOAQBMIIBHAKBgLmE9VqBvhoNxYpzjwybL5u2DkvD\n"
+ "dBp/ZK2d8yjFoEe8m1dW8ZfVfjcD6fJM9OOLfzCjXS+7oaI3wuo1jx+xX6aiXwHx\n"
+ "IzYr5E8vLd2d1TqmOa96UXzSJY6XdM8exXtLdkOBBx8GFLhuWBLhkOI3b9Ib7GjF\n"
+ "WOLmMOBqXixjeOwHAhSfVoxIZC/+jap6bZbbBF0W7wilcQKBgGIGfuRcdgi3Rhpd\n"
+ "15fUKiH7HzHJ0vT6Odgn0Zv8J12nCqca/FPBL0PCN8iFfz1Mq12BMvsdXh5UERYg\n"
+ "xoBa2YybQ/Dda6D0w/KKnDnSHHsP7/ook4/SoSLr3OCKi60oDs/vCYXpNr2LelDV\n"
+ "e/clDWxgEcTvcJDP1hvru47GPjqXA4GEAAKBgA+Kh1fy0cLcrN9Liw+Luin34QPk\n"
+ "VfqymAfW/RKxgLz1urRQ1H+gDkPnn8l4EV/l5Awsa2qkNdy9VOVgNpox0YpZbmsc\n"
+ "ur0uuut8h+/ayN2h66SD5out+vqOW9c3yDI+lsI+9EPafZECD7e8+O+P90EAXpbf\n"
+ "DwiW3Oqy6QaCr9Ivo4GTMIGQMAwGA1UdEwEB/wQCMAAwGgYDVR0RBBMwEYIPdGVz\n"
+ "dC5nbnV0bHMub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdDwEB/wQFAwMH\n"
+ "gAAwHQYDVR0OBBYEFL/su87Y6HtwVuzz0SuS1tSZClvzMB8GA1UdIwQYMBaAFOk8\n"
+ "HPutkm7mBqRWLKLhwFMnyPKVMAsGCSqGSIb3DQEBBQOBgQBCsrnfD1xzh8/Eih1f\n"
+ "x+M0lPoX1Re5L2ElHI6DJpHYOBPwf9glwxnet2+avzgUQDUFwUSxOhodpyeaACXD\n"
+ "o0gGVpcH8sOBTQ+aTdM37hGkPxoXjtIkR/LgG5nP2H2JRd5TkW8l13JdM4MJFB4W\n"
+ "QcDzQ8REwidsfh9uKAluk1c/KQ==\n"
+ "-----END CERTIFICATE-----\n";
static char pem2_key[] =
- "-----BEGIN DSA PRIVATE KEY-----\n"
- "MIIBugIBAAKBgQC5hPVagb4aDcWKc48Mmy+btg5Lw3Qaf2StnfMoxaBHvJtXVvGX\n"
- "1X43A+nyTPTji38wo10vu6GiN8LqNY8fsV+mol8B8SM2K+RPLy3dndU6pjmvelF8\n"
- "0iWOl3TPHsV7S3ZDgQcfBhS4blgS4ZDiN2/SG+xoxVji5jDgal4sY3jsBwIVAJ9W\n"
- "jEhkL/6NqnptltsEXRbvCKVxAoGAYgZ+5Fx2CLdGGl3Xl9QqIfsfMcnS9Po52CfR\n"
- "m/wnXacKpxr8U8EvQ8I3yIV/PUyrXYEy+x1eHlQRFiDGgFrZjJtD8N1roPTD8oqc\n"
- "OdIcew/v+iiTj9KhIuvc4IqLrSgOz+8Jhek2vYt6UNV79yUNbGARxO9wkM/WG+u7\n"
- "jsY+OpcCgYAPiodX8tHC3KzfS4sPi7op9+ED5FX6spgH1v0SsYC89bq0UNR/oA5D\n"
- "55/JeBFf5eQMLGtqpDXcvVTlYDaaMdGKWW5rHLq9LrrrfIfv2sjdoeukg+aLrfr6\n"
- "jlvXN8gyPpbCPvRD2n2RAg+3vPjvj/dBAF6W3w8IltzqsukGgq/SLwIUS5/r/2ya\n"
- "AoNBXjeBjgCGMei2m8E=\n" "-----END DSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t cert_dat[] = {
- {(void *)pem1_cert, sizeof(pem1_cert)}
- ,
- {(void *)pem2_cert, sizeof(pem2_cert)}
-};
-
-const gnutls_datum_t key_dat[] = {
- {(void *)pem1_key, sizeof(pem1_key)}
- ,
- {(void *)pem2_key, sizeof(pem2_key)}
-};
+ "-----BEGIN DSA PRIVATE KEY-----\n"
+ "MIIBugIBAAKBgQC5hPVagb4aDcWKc48Mmy+btg5Lw3Qaf2StnfMoxaBHvJtXVvGX\n"
+ "1X43A+nyTPTji38wo10vu6GiN8LqNY8fsV+mol8B8SM2K+RPLy3dndU6pjmvelF8\n"
+ "0iWOl3TPHsV7S3ZDgQcfBhS4blgS4ZDiN2/SG+xoxVji5jDgal4sY3jsBwIVAJ9W\n"
+ "jEhkL/6NqnptltsEXRbvCKVxAoGAYgZ+5Fx2CLdGGl3Xl9QqIfsfMcnS9Po52CfR\n"
+ "m/wnXacKpxr8U8EvQ8I3yIV/PUyrXYEy+x1eHlQRFiDGgFrZjJtD8N1roPTD8oqc\n"
+ "OdIcew/v+iiTj9KhIuvc4IqLrSgOz+8Jhek2vYt6UNV79yUNbGARxO9wkM/WG+u7\n"
+ "jsY+OpcCgYAPiodX8tHC3KzfS4sPi7op9+ED5FX6spgH1v0SsYC89bq0UNR/oA5D\n"
+ "55/JeBFf5eQMLGtqpDXcvVTlYDaaMdGKWW5rHLq9LrrrfIfv2sjdoeukg+aLrfr6\n"
+ "jlvXN8gyPpbCPvRD2n2RAg+3vPjvj/dBAF6W3w8IltzqsukGgq/SLwIUS5/r/2ya\n"
+ "AoNBXjeBjgCGMei2m8E=\n"
+ "-----END DSA PRIVATE KEY-----\n";
+
+const gnutls_datum_t cert_dat[] = { { (void *)pem1_cert, sizeof(pem1_cert) },
+ { (void *)pem2_cert, sizeof(pem2_cert) } };
+
+const gnutls_datum_t key_dat[] = { { (void *)pem1_key, sizeof(pem1_key) },
+ { (void *)pem2_key, sizeof(pem2_key) } };
void _gnutls_lib_simulate_error(void);
void _gnutls_lib_force_operational(void);
@@ -168,10 +160,8 @@ void doit(void)
if (ret < 0)
fail("gnutls_privkey_init\n");
- ret =
- gnutls_privkey_import_x509_raw(privkey, &key_dat[i],
- GNUTLS_X509_FMT_PEM, NULL,
- 0);
+ ret = gnutls_privkey_import_x509_raw(
+ privkey, &key_dat[i], GNUTLS_X509_FMT_PEM, NULL, 0);
if (ret < 0)
fail("gnutls_privkey_import\n");
diff --git a/tests/x509sign-verify-gost.c b/tests/x509sign-verify-gost.c
index 2cb5ebd03e..d01dec27d3 100644
--- a/tests/x509sign-verify-gost.c
+++ b/tests/x509sign-verify-gost.c
@@ -23,18 +23,18 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef _WIN32
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
-# include <unistd.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <unistd.h>
#endif
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
diff --git a/tests/x509sign-verify-rsa.c b/tests/x509sign-verify-rsa.c
index 4d3d4ce433..200c827eef 100644
--- a/tests/x509sign-verify-rsa.c
+++ b/tests/x509sign-verify-rsa.c
@@ -22,18 +22,18 @@
/* Parts copied from GnuTLS example programs. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef _WIN32
-# include <sys/types.h>
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
-# include <unistd.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <unistd.h>
#endif
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
@@ -52,8 +52,8 @@ void doit(void)
gnutls_global_set_log_level(6);
if (gnutls_fips140_mode_enabled()) {
- rsa_size1 = 2048; /* minimum allowed */
- rsa_size2 = 2048; /* minimum allowed */
+ rsa_size1 = 2048; /* minimum allowed */
+ rsa_size2 = 2048; /* minimum allowed */
} else {
rsa_size1 = 512;
rsa_size2 = 1024;
diff --git a/tests/x509sign-verify.c b/tests/x509sign-verify.c
index 8e84fb004d..5da019b262 100644
--- a/tests/x509sign-verify.c
+++ b/tests/x509sign-verify.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <stdio.h>
@@ -28,9 +28,9 @@
#include <string.h>
#include <sys/types.h>
#ifndef _WIN32
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <arpa/inet.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
#endif
#include <unistd.h>
#include <gnutls/gnutls.h>
@@ -49,22 +49,19 @@ static void tls_log_func(int level, const char *str)
/* sha1 hash of "hello" string */
const gnutls_datum_t raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x2c\xd9\xae\xa9\x43\x4d",
20
};
const gnutls_datum_t invalid_raw_data = {
- (void *)
- "\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
- "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
+ (void *)"\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe"
+ "\xde\x0f\x3b\x48\x3c\xd9\xae\xa9\x43\x4d",
20
};
#define tests common_key_tests
-#define testfail(fmt, ...) \
- fail("%s: "fmt, tests[i].name, ##__VA_ARGS__)
+#define testfail(fmt, ...) fail("%s: " fmt, tests[i].name, ##__VA_ARGS__)
void doit(void)
{
@@ -84,8 +81,8 @@ void doit(void)
gnutls_global_set_log_level(6);
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
- if (tests[i].pk == GNUTLS_PK_DSA
- || tests[i].pk == GNUTLS_PK_EDDSA_ED25519)
+ if (tests[i].pk == GNUTLS_PK_DSA ||
+ tests[i].pk == GNUTLS_PK_EDDSA_ED25519)
continue;
success("testing: %s - %s\n", tests[i].name,
@@ -95,18 +92,16 @@ void doit(void)
if (ret < 0)
testfail("gnutls_pubkey_init\n");
- ret =
- gnutls_x509_privkey_import(privkey, &tests[i].key,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_privkey_import(privkey, &tests[i].key,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_privkey_import_x509\n");
signature_size = sizeof(signature_data);
- ret =
- gnutls_x509_privkey_sign_data(privkey, tests[i].digest,
- tests[i].sign_flags,
- &raw_data, signature_data,
- &signature_size);
+ ret = gnutls_x509_privkey_sign_data(privkey, tests[i].digest,
+ tests[i].sign_flags,
+ &raw_data, signature_data,
+ &signature_size);
if (ret < 0)
testfail("gnutls_x509_privkey_sign_data\n");
@@ -114,46 +109,42 @@ void doit(void)
if (ret < 0)
testfail("gnutls_x509_crt_init\n");
- ret =
- gnutls_x509_crt_import(crt, &tests[i].cert,
- GNUTLS_X509_FMT_PEM);
+ ret = gnutls_x509_crt_import(crt, &tests[i].cert,
+ GNUTLS_X509_FMT_PEM);
if (ret < 0)
testfail("gnutls_x509_crt_import\n");
signature.data = (unsigned char *)signature_data;
signature.size = signature_size;
- ret =
- gnutls_x509_crt_verify_data2(crt, tests[i].sigalgo, 0,
- &raw_data, &signature);
+ ret = gnutls_x509_crt_verify_data2(crt, tests[i].sigalgo, 0,
+ &raw_data, &signature);
if (ret < 0)
testfail("gnutls_x509_crt_verify_data2\n");
/* should fail */
- ret =
- gnutls_x509_crt_verify_data2(crt, tests[i].sigalgo, 0,
- &invalid_raw_data, &signature);
+ ret = gnutls_x509_crt_verify_data2(crt, tests[i].sigalgo, 0,
+ &invalid_raw_data,
+ &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_crt_verify_data2-2 (hashed data)\n");
-
- sign_algo =
- gnutls_pk_to_sign(gnutls_x509_crt_get_pk_algorithm
- (crt, NULL), tests[i].digest);
- ret =
- gnutls_x509_crt_verify_data2(crt, sign_algo, 0,
- &raw_data, &signature);
+ testfail(
+ "gnutls_x509_crt_verify_data2-2 (hashed data)\n");
+
+ sign_algo = gnutls_pk_to_sign(
+ gnutls_x509_crt_get_pk_algorithm(crt, NULL),
+ tests[i].digest);
+ ret = gnutls_x509_crt_verify_data2(crt, sign_algo, 0, &raw_data,
+ &signature);
if (ret < 0)
- testfail
- ("gnutls_x509_crt_verify_data2-1 (hashed data)\n");
+ testfail(
+ "gnutls_x509_crt_verify_data2-1 (hashed data)\n");
/* should fail */
- ret =
- gnutls_x509_crt_verify_data2(crt, sign_algo, 0,
- &invalid_raw_data, &signature);
+ ret = gnutls_x509_crt_verify_data2(
+ crt, sign_algo, 0, &invalid_raw_data, &signature);
if (ret != GNUTLS_E_PK_SIG_VERIFY_FAILED)
- testfail
- ("gnutls_x509_crt_verify_data2-2 (hashed data)\n");
+ testfail(
+ "gnutls_x509_crt_verify_data2-2 (hashed data)\n");
gnutls_x509_crt_deinit(crt);
gnutls_x509_privkey_deinit(privkey);
diff --git a/tests/xts-key-check.c b/tests/xts-key-check.c
index 5d510d2937..5ea8076137 100644
--- a/tests/xts-key-check.c
+++ b/tests/xts-key-check.c
@@ -20,7 +20,7 @@
*/
#ifdef HAVE_CONFIG_H
-# include <config.h>
+#include <config.h>
#endif
#include <gnutls/crypto.h>
@@ -65,7 +65,8 @@ static void test_xts_check(gnutls_cipher_algorithm_t alg)
gnutls_cipher_deinit(ctx);
else
fail("cipher initialization should succeed with key1 != key2"
- "\n%s\n", gnutls_strerror(ret));
+ "\n%s\n",
+ gnutls_strerror(ret));
}
void doit(void)